X-Authentication-Warning: delorie.com: mail set sender to djgpp-bounces using -f X-Recipient: djgpp AT delorie DOT com X-Original-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=in-reply-to:from:references:to:content-language:subject:user-agent :mime-version:date:message-id:from:to:cc:subject:date:message-id :reply-to; bh=3/lXqZxOzX9Qb51P2zXaT1p4yuhJ7TaUzVNYXX4uUK0=; b=WBOakP4963gcVy/fBD9+zFIHafp6qKyKDEa4Wna7ftioUtu6zKIlRea2mFcYyUnsjQ pGz2q86SYHkKIKX7pIykmUFulkvQMjjghB7fBGw0KTuZdiGDItEO1pCRDZKtevQ2+2Tg QOS6eyodISVCE8eX09HpydLA1R6YW0T+fTfeIjIIuhBl6VEuq0IBPTFFxLqcpo6mjd5d bNYHHVvVWFio8pEGSlZ5Zmal/moGSFC9n7d3VX/Y4u/JY9FUmLOft8KjGSYbvalcUwTo 8TU3u2vBIOUGtESjULtXNR/oOoOWsJAxehQCExu7sJIbZy+BlhWHJVCBDics1p37o2ZE FFKg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=in-reply-to:from:references:to:content-language:subject:user-agent :mime-version:date:message-id:x-gm-message-state:from:to:cc:subject :date:message-id:reply-to; bh=3/lXqZxOzX9Qb51P2zXaT1p4yuhJ7TaUzVNYXX4uUK0=; b=iCIogjgIJWIChtCz5YwuMyYaN6rh5OYFmHvJh6BQmM4uKYFAq2J9JxITVKHG0h/j8s XoN0+23hAEkbQac7GChqKVp8X0BUee06Wd2t4jl6YXjY7aeTzL/sHVJlsEqvQ8sHNFWB KifDiqeJqeJZoPE4e3kN6DH6edqbgKDaYyTDUsQq7yNjmLgB/95sWN6h7QpDirPqHro4 5Uss6b4a2ZUeeX4aEcH9mMVUn+Ow8+Wb1Kia2ONcjTZl8XPv5ScheUwvCHd7Uq2oZgRp oA6ff6MtEuo9vUPVtu4CaCahT4K1/i+jehKhoh+ithCJUoq6EzECLR1xfXlqd9ugxAEv dKRg== X-Gm-Message-State: AO0yUKVi986RrcWmi/byxWTpHI20zSQ9em4+hM9N9S+pWvQK4TVqfBd3 mxZiINXP5Dzt3zRGhdJ4zAYmbYXEvKwMWQ== X-Google-Smtp-Source: AK7set+mggmMLJjRrx2SReG1t+HAXhRB5gFaTb8INi5jE1wg66AeH8cE9SX/NFi3kzBaf9jcFvGCiw== X-Received: by 2002:a17:907:1c9c:b0:880:5ab7:cb76 with SMTP id nb28-20020a1709071c9c00b008805ab7cb76mr724819ejc.33.1674844370307; Fri, 27 Jan 2023 10:32:50 -0800 (PST) Content-Type: multipart/mixed; boundary="------------PjP4sI0Ch0EHakINpZROBTIh" Message-ID: Date: Fri, 27 Jan 2023 19:32:49 +0100 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:102.0) Gecko/20100101 Thunderbird/102.6.1 Subject: Re: DXE3 with std::vector Content-Language: en-US To: djgpp AT delorie DOT com References: <3b8f674c-bca3-c679-952e-f8ba5af196e7 AT gmail DOT com> <500850be-fd64-3f82-a1e1-929903084e9b AT gmail DOT com> <3d9271ae-266d-ee7b-853b-984857ced1c8 AT gmail DOT com> From: "J.W. Jagersma (jwjagersma AT gmail DOT com) [via djgpp AT delorie DOT com]" In-Reply-To: Reply-To: djgpp AT delorie DOT com Errors-To: nobody AT delorie DOT com X-Mailing-List: djgpp AT delorie DOT com X-Unsubscribes-To: listserv AT delorie DOT com Precedence: bulk This is a multi-part message in MIME format. --------------PjP4sI0Ch0EHakINpZROBTIh Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit On 2023-01-27 19:10, Ozkan Sezer (sezeroz AT gmail DOT com) [via djgpp AT delorie DOT com] wrote: >>>> Thanks. It builds fine for me with the patched dxe3gen, no warnings, >>>> both with and without -lgcc. >>> >>> Well, it does not for me, which _is_ a problem. My toolchain is based on >>> gcc-3.4.6 and binutils-2.26.1. >> >> If you comment out the line with "remove(TEMP_O_FILE)", then run >> dxe3gen again, what does "objdump -h dxe_tmp.o" (or -x) show? > > Here you go: > h0.txt and x0.txt are outputs of -h and -x before the patch. > h1.txt and x1.txt are outputs of -h and -x after the patch. Ah, I see now. gcc 3 inserts the wrong linker script. From the specs file you posted earlier: %{!T*:-Tdjgpp-x.djl} %{T*} This means, if no -T option is given, it uses -Tdjgpp-x.djl. Weirdly the -T option is not documented for gcc 3.4.6, that is why I assumed it had to be wrapped via -Wl. New patch attached, this should work then. --------------PjP4sI0Ch0EHakINpZROBTIh Content-Type: text/plain; charset=UTF-8; name="dxe3gen-v2.patch" Content-Disposition: attachment; filename="dxe3gen-v2.patch" Content-Transfer-Encoding: base64 ZGlmZiAtLWdpdCBhL3NyYy9keGUvZHhlM2dlbi5jIGIvc3JjL2R4ZS9keGUzZ2VuLmMKaW5k ZXggYTYxZDFhMWUuLjRhMjZiNGUyIDEwMDY0NAotLS0gYS9zcmMvZHhlL2R4ZTNnZW4uYwor KysgYi9zcmMvZHhlL2R4ZTNnZW4uYwpAQCAtMTcwLDE1ICsxNzAsOSBAQAogI2lmbmRlZiBE WEVfQ0MKICNkZWZpbmUgRFhFX0NDICAiZ2NjIgogI2VuZGlmCi0jaWZuZGVmIERYRV9BUwot I2RlZmluZSBEWEVfQVMgICJhcyIKLSNlbmRpZgogI2lmbmRlZiBEWEVfQVIKICNkZWZpbmUg RFhFX0FSICAiYXIiCiAjZW5kaWYKLSNpZm5kZWYgRFhFX0xECi0jZGVmaW5lIERYRV9MRCAg ImxkIgotI2VuZGlmCiAjaWZuZGVmIERYRV9TQwogI2RlZmluZSBEWEVfU0MgICJkeGUubGQi CiAjZW5kaWYKQEAgLTIwNCw3ICsxOTgsNyBAQAogI2RlZmluZSBJU19TTEFTSChwYXRoKSAg ICAgICAgICAoKChwYXRoKSA9PSAnLycpIHx8ICgocGF0aCkgPT0gJ1xcJykpCiAjZGVmaW5l IElTX0RJUl9TRVBBUkFUT1IocGF0aCkgIChJU19TTEFTSChwYXRoKSB8fCAoKHBhdGgpID09 ICc6JykpCiAKLSNkZWZpbmUgTlVNQkVSX09GX0xJTktFUl9BUkdTICAgICAgICAgICAgIDEw CisjZGVmaW5lIE5VTUJFUl9PRl9MSU5LRVJfQVJHUyAgICAgICAgICAgICA3CiAjZGVmaW5l IE5VTUJFUl9PRl9BRERJVElPTkFMX0xPQURFRF9MSUJTICAwCiAKICNkZWZpbmUgSVNfVkFM SURfQ0lFKGlkKSAgICAgICAgKChpZCkgPT0gMCkKQEAgLTMxMSwzNiArMzA1LDEzIEBAIHN0 YXRpYyBzdHJ1Y3QKIH07CiAKIAotc3RhdGljIGNoYXIgKmxpYmRpcjsKIC8qIGJ1aWxkIHRv b2xzICovCiBzdGF0aWMgY2hhciAqZHhlX2NjOyAvKiBkZWZhdWx0OiAiZ2NjIiAqLwotc3Rh dGljIGNoYXIgKmR4ZV9hczsgLyogZGVmYXVsdDogImFzIiAqLwogc3RhdGljIGNoYXIgKmR4 ZV9hcjsgLyogZGVmYXVsdDogImFyIiAqLwotc3RhdGljIGNoYXIgKmR4ZV9sZDsgLyogZGVm YXVsdDogImxkIiAqLwogLyogbGlua2VyIHNjcmlwdCAqLwogc3RhdGljIGNoYXIgKmR4ZV9z YzsgLyogZGVmYXVsdDogImR4ZS5sZCIgKi8KIAogCi0vKiBEZXNjOiByZXBsYWNlcyBiYWNr c2xhc2ggd2l0aCBzbGFzaCBpbiBhIHBhdGgKLSAqCi0gKiBJbiAgOiBwYXRoIHN0cmluZwot ICogT3V0IDogcGF0aCBzdHJpbmcKLSAqCi0gKiBOb3RlOiAtCi0gKi8KLXN0YXRpYyB2b2lk IGNhbm9uaWNhbGl6ZV9wYXRoKGNoYXIgKnBhdGgpCi17Ci0gIGlmIChwYXRoKQotICB7Ci0g ICAgY2hhciAqc2NhbjsKLQotICAgIGZvciAoc2NhbiA9IHBhdGg7ICpzY2FuOyBzY2FuKysp Ci0gICAgICBpZiAoKnNjYW4gPT0gJ1xcJykKLSAgICAgICAgKnNjYW4gPSAnLyc7Ci0gIH0K LX0KLQotCiAKIC8qIERlc2M6IHJlbW92ZSB0ZW1wb3JhcnkgZmlsZXMKICAqCkBAIC0zNTMs NiArMzI0LDcgQEAgc3RhdGljIHZvaWQgZXhpdF9jbGVhbnVwKHZvaWQpCiB7CiAgIHJlbW92 ZShURU1QX09fRklMRSk7CiAgIHJlbW92ZShURU1QX1NfRklMRSk7CisgIHJlbW92ZShURU1Q X0JBU0UiLmV4ZSIpOyAvKiBwcm9kdWNlZCBieSBzdHViaWZ5ICovCiB9CiAKIApAQCAtNDQ1 LDIzICs0MTcsOCBAQCBzdGF0aWMgdm9pZCBwcm9jZXNzX2Vudih2b2lkKQogICBjb25zdCBj aGFyICplOwogCiAgIGR4ZV9jYyA9IChlID0gZ2V0ZW52KCJEWEVfQ0MiKSkgPyBzdHJkdXAo ZSkgOiBzdHJkdXAoRFhFX0NDKTsKLSAgZHhlX2FzID0gKGUgPSBnZXRlbnYoIkRYRV9BUyIp KSA/IHN0cmR1cChlKSA6IHN0cmR1cChEWEVfQVMpOwogICBkeGVfYXIgPSAoZSA9IGdldGVu digiRFhFX0FSIikpID8gc3RyZHVwKGUpIDogc3RyZHVwKERYRV9BUik7Ci0gIGR4ZV9sZCA9 IChlID0gZ2V0ZW52KCJEWEVfTEQiKSkgPyBzdHJkdXAoZSkgOiBzdHJkdXAoRFhFX0xEKTsK ICAgZHhlX3NjID0gKGUgPSBnZXRlbnYoIkRYRV9TQyIpKSA/IHN0cmR1cChlKSA6IHN0cmR1 cChEWEVfU0MpOwotCi0gIGlmICgoZSA9IGdldGVudigiRFhFX0xEX0xJQlJBUllfUEFUSCIp KSkKLSAgICBsaWJkaXIgPSBzdHJkdXAoZSk7Ci0gIGVsc2UgaWYgKChlID0gZ2V0ZW52KCJE SkRJUiIpKSkKLSAgewotICAgIHNpemVfdCBzeiA9IHN0cmxlbihlKSArIDVVOwotICAgIGxp YmRpciA9IG1hbGxvYyhzeik7Ci0gICAgc3RyY3B5KGxpYmRpciwgZSk7Ci0gICAgc3RyY2F0 KGxpYmRpciwgIi9saWIiKTsKLSAgICBjYW5vbmljYWxpemVfcGF0aChsaWJkaXIpOwotICB9 Ci0gIGVsc2UKLSAgICBsaWJkaXIgPSBOVUxMOwogfQogCiAKQEAgLTQ3NiwyMiArNDMzLDEz IEBAIHN0YXRpYyB2b2lkIHByb2Nlc3NfYXJncyhpbnQgYXJnYywgY2hhciAqYXJndltdLCBj b25zdCBjaGFyICpuZXdfYXJndltdKQogewogICBpbnQgaSwgbmV3X2FyZ2MgPSBOVU1CRVJf T0ZfTElOS0VSX0FSR1M7CiAKLSAgaWYgKCFsaWJkaXIpCi0gIHsKLSAgICBmcHJpbnRmKHN0 ZGVyciwgIkVycm9yOiBuZWl0aGVyIERYRV9MRF9MSUJSQVJZX1BBVEggbm9yIERKRElSIGFy ZSBzZXQgaW4gZW52aXJvbm1lbnRcbiIpOwotICAgIGV4aXQoMSk7Ci0gIH0KLQotICBuZXdf YXJndlswXSA9IGR4ZV9sZDsKLSAgbmV3X2FyZ3ZbMV0gPSAiLVgiOwotICBuZXdfYXJndlsy XSA9ICItUyI7Ci0gIG5ld19hcmd2WzNdID0gIi1yIjsKLSAgbmV3X2FyZ3ZbNF0gPSAiLW8i OwotICBuZXdfYXJndls1XSA9IFRFTVBfT19GSUxFOwotICBuZXdfYXJndls2XSA9ICItTCI7 Ci0gIG5ld19hcmd2WzddID0gbGliZGlyOwotICBuZXdfYXJndls4XSA9ICItVCI7Ci0gIG5l d19hcmd2WzldID0gZHhlX3NjOworICBuZXdfYXJndlswXSA9IGR4ZV9jYzsKKyAgbmV3X2Fy Z3ZbMV0gPSAiLW5vc3RkbGliIjsKKyAgbmV3X2FyZ3ZbMl0gPSAiLVdsLC1YLC1TLC1yIjsK KyAgbmV3X2FyZ3ZbM10gPSAiLW8iOworICBuZXdfYXJndls0XSA9IFRFTVBfT19GSUxFOwor ICBuZXdfYXJndls1XSA9ICItVCI7CisgIG5ld19hcmd2WzZdID0gZHhlX3NjOwogCiAgIGlm ICghc3RyY21wKGJhc2VfbmFtZShhcmd2WzBdKSwgImR4ZWdlbiIpKQogICAgIC8qIGludm9r ZWQgYXMgYGR4ZWdlbicgKi8KQEAgLTU4OCwxMyArNTM2LDE5IEBAIHN0YXRpYyB2b2lkIHBy b2Nlc3NfYXJncyhpbnQgYXJnYywgY2hhciAqYXJndltdLCBjb25zdCBjaGFyICpuZXdfYXJn dltdKQogICAgICAgZWxzZQogICAgICAgewogICAgICAgICBjaGFyICpkb3QgPSBzdHJyY2hy KGFyZ3ZbaV0sICcuJyk7Ci0gICAgICAgIG5ld19hcmd2W25ld19hcmdjKytdID0gYXJndltp XTsKICAgICAgICAgaWYgKGRvdCkKICAgICAgICAgewogICAgICAgICAgIGlmICghc3RyY2Fz ZWNtcChkb3QsICIubyIpIHx8ICFzdHJjYXNlY21wKGRvdCwgIi5hIikpCiAgICAgICAgICAg ICBvcHQub2JqY291bnQrKzsKICAgICAgICAgICBlbHNlIGlmICghc3RyY2FzZWNtcChkb3Qs ICIuZHhlIikgfHwgIXN0cmNhc2VjbXAoZG90LCAiLnNvIikpCiAgICAgICAgICAgICBvcHQu ZHhlZmlsZSA9IGFyZ3ZbaV07CisgICAgICAgICAgbmV3X2FyZ3ZbbmV3X2FyZ2MrK10gPSBh cmd2W2ldOworICAgICAgICB9CisgICAgICAgIGVsc2UKKyAgICAgICAgeworICAgICAgICAg IGNoYXIgKmFyZyA9IChjaGFyICopbWFsbG9jKHN0cmxlbihhcmd2W2ldKSArIDVVKTsKKyAg ICAgICAgICBzcHJpbnRmKGFyZywgIi1XbCwlcyIsIGFyZ3ZbaV0pOworICAgICAgICAgIG5l d19hcmd2W25ld19hcmdjKytdID0gYXJnOwogICAgICAgICB9CiAgICAgICB9CiAgICAgfQpA QCAtMTQ3Niw3ICsxNDMwLDcgQEAgc3RhdGljIGludCBtYWtlX2ltcGxpYih2b2lkKQogICBh dGV4aXQoZXhpdF9jbGVhbnVwKTsKIAogICAvKiBBbGxyaWdodCwgbm93IHJ1biB0aGUgYXNz ZW1ibGVyIG9uIHRoZSByZXN1bHRpbmcgZmlsZSAqLwotICBzcHJpbnRmKGNtZGJ1ZiwgIiVz IC1vICVzICVzIiwgZHhlX2FzLCBURU1QX09fRklMRSwgVEVNUF9TX0ZJTEUpOworICBzcHJp bnRmKGNtZGJ1ZiwgIiVzIC1jIC1vICVzICVzIiwgZHhlX2NjLCBURU1QX09fRklMRSwgVEVN UF9TX0ZJTEUpOwogICBpZiAoKHJ2ID0gc3lzdGVtKGNtZGJ1ZikpICE9IDApCiAgIHsKICAg ICBpZiAocnYgPT0gLTEpCmRpZmYgLS1naXQgYS9zcmMvZHhlL2R4ZWdlbi50eGkgYi9zcmMv ZHhlL2R4ZWdlbi50eGkKaW5kZXggMjZkOWRlOGQuLjQxZmE2ZjViIDEwMDY0NAotLS0gYS9z cmMvZHhlL2R4ZWdlbi50eGkKKysrIGIvc3JjL2R4ZS9keGVnZW4udHhpCkBAIC02MCwxNSAr NjAsMTIgQEAgVXNhZ2U6IEBrYmR7ZHhlM2dlbiBbLW8gb3V0cHV0LmR4ZV0gW29wdGlvbnNd IFtvYmplY3QtZmlsZXNdIFtsZC1vcHRpb25zXX0KIGR4ZTNnZW4gcmVzcG9uZHMgdG8gdGhl IGZvbGxvd2luZyBlbnZpcm9ubWVudCB2YXJpYWJsZXM6CiAKIERYRV9DQzogQyBjb21waWxl ciBuYW1lLiBJZiBub3Qgc2V0LCBkZWZhdWx0cyB0byBnY2MgZm9yIG5hdGl2ZSBidWlsZAot ZW52aXJvbm1lbnRzLCBhbmQgaTU4Ni1wYy1tc2Rvc2RqZ3BwLWdjYyBmb3IgY3Jvc3MtYnVp bGQgZW52aXJvbm1sZW50cy4KLURYRV9BUzogQXNzZW1ibGVyIG5hbWUuIElmIG5vdCBzZXQs IGRlZmF1bHRzIHRvIGFzIGZvciBuYXRpdmUgYnVpbGQKLWVudmlyb25tZW50cywgYW5kIGk1 ODYtcGMtbXNkb3NkamdwcC1hcyBmb3IgY3Jvc3MtYnVpbGQgZW52aXJvbm1sZW50cy4KK2Vu dmlyb25tZW50cywgYW5kIGk1ODYtcGMtbXNkb3NkamdwcC1nY2MgZm9yIGNyb3NzLWJ1aWxk IGVudmlyb25tZW50cy4KK1RoaXMgaXMgdXNlZCB0byBpbnZva2UgdGhlIGxpbmtlciBhbmQg YXNzZW1ibGVyLgogRFhFX0FSOiBBcmNoaXZlciBuYW1lLiBJZiBub3Qgc2V0LCBkZWZhdWx0 cyB0byBhciBmb3IgbmF0aXZlIGJ1aWxkCi1lbnZpcm9ubWVudHMsIGFuZCBpNTg2LXBjLW1z ZG9zZGpncHAtYXIgZm9yIGNyb3NzLWJ1aWxkIGVudmlyb25tbGVudHMuCi1EWEVfTEQ6IExp bmtlciBuYW1lLiBJZiBub3Qgc2V0LCBkZWZhdWx0cyB0byBsZCBmb3IgbmF0aXZlIGJ1aWxk Ci1lbnZpcm9ubWVudHMsIGFuZCBpNTg2LXBjLW1zZG9zZGpncHAtbGQgZm9yIGNyb3NzLWJ1 aWxkIGVudmlyb25tbGVudHMuCitlbnZpcm9ubWVudHMsIGFuZCBpNTg2LXBjLW1zZG9zZGpn cHAtYXIgZm9yIGNyb3NzLWJ1aWxkIGVudmlyb25tZW50cy4KIERYRV9TQzogUGF0aCB0byBs aW5rZXIgc2NyaXB0IG5hbWUuIElmIG5vdCBzZXQsIGRlZmF1bHRzIHRvIGR4ZS5sZC4KLVBh c3NlZCBpbnRlcm5hbGx5IHRvIGxkLCBsaWtlICdsZCAtVCBkeGUubGQnCitQYXNzZWQgaW50 ZXJuYWxseSB0byB0aGUgbGlua2VyLCBsaWtlICdnY2MgLVdsLC1ULGR4ZS5sZCcKIEBlbmQg ZXhhbXBsZQogCiBAY29tbWFuZHtkeGUzZ2VufSBpcyBhIHV0aWxpdHkgd2hpY2ggYWxsb3dz IHlvdSB0byBjcmVhdGUgZmlsZXMgd2hpY2ggY29udGFpbgpkaWZmIC0tZ2l0IGEvc3JjL2R4 ZS9tYWtlZmlsZSBiL3NyYy9keGUvbWFrZWZpbGUKaW5kZXggY2Y3MTU4NjcuLjZiZGZmOGJh IDEwMDY0NAotLS0gYS9zcmMvZHhlL21ha2VmaWxlCisrKyBiL3NyYy9keGUvbWFrZWZpbGUK QEAgLTM0LDcgKzM0LDcgQEAgJChCSU4pL2R4ZTNyZXMuZXhlIDogJChDKSBkeGUzcmVzLm8g JChMKQogCiBDUk9TU19DQyA9ICQod29yZCAxLCQoQ1JPU1NfR0NDKSkKICQoSE9TVEJJTikv ZHhlZ2VuLmV4ZSA6IGR4ZTNnZW4uYyBpbml0MS5oIGluaXQyLmggaW5pdDMuaCBpbml0NC5o IGluaXQ1LmggZmluaTEuaCBmaW5pMi5oIGZpbmkzLmggZmluaTQuaCBmaW5pNS5oCi0JJChH Q0MpIC1ERFhFX0xEPVwiJChDUk9TU19MRClcIiAtRERYRV9DQz1cIiQoQ1JPU1NfQ0MpXCIg LUREWEVfQVI9XCIkKENST1NTX0FSKVwiIC1ERFhFX0FTPVwiJChDUk9TU19BUylcIiBkeGUz Z2VuLmMgLW8gJEAKKwkkKEdDQykgLUREWEVfQ0M9XCIkKENST1NTX0NDKVwiIC1ERFhFX0FS PVwiJChDUk9TU19BUilcIiBkeGUzZ2VuLmMgLW8gJEAKIAogY2xlYW4gOjoKIAlALSQoTUlT Qykgcm0gKi5vICouaCAkKEhPU1RCSU4pL2R4ZWdlbi5leGUKZGlmZiAtLWdpdCBhL3NyYy9k eGUvbWFrZWZpbGUuZHhlIGIvc3JjL2R4ZS9tYWtlZmlsZS5keGUKaW5kZXggZjUyMzIzZTEu LmYzNjc2OTg1IDEwMDY0NAotLS0gYS9zcmMvZHhlL21ha2VmaWxlLmR4ZQorKysgYi9zcmMv ZHhlL21ha2VmaWxlLmR4ZQpAQCAtMiw3ICsyLDcgQEAKIAogIyBTdGFuZGFsb25lIG1ha2Vm aWxlIGZvciBidWlsZGluZyBkeGUzZ2VuIGFuZCBkeGUzcmVzIGZvciB1bml4aXNoIGhvc3Rz CiAKLUNST1NTX1BSRUZJWD0gaTU4Ni1wYy1tc2Rvc2RqZ3BwLQorQ1JPU1NfUFJFRklYID89 IGk1ODYtcGMtbXNkb3NkamdwcC0KIENST1NTX0NDICAgID0gJChDUk9TU19QUkVGSVgpZ2Nj CiBDUk9TU19BUiAgICA9ICQoQ1JPU1NfUFJFRklYKWFyCiBDUk9TU19BUyAgICA9ICQoQ1JP U1NfUFJFRklYKWFzCkBAIC0zMiw3ICszMiw3IEBAIGZpbmk0Lmg6IGZpbmk0Lm8gYmluMmgu ZXhlCiBmaW5pNS5oOiBmaW5pNS5vIGJpbjJoLmV4ZQogCiBkeGUzZ2VuOiBkeGUzZ2VuLmMg aW5pdDEuaCBpbml0Mi5oIGluaXQzLmggaW5pdDQuaCBpbml0NS5oIGZpbmkxLmggZmluaTIu aCBmaW5pMy5oIGZpbmk0LmggZmluaTUuaAotCSQoQ0MpIC1PMiAtV2FsbCAtRERYRV9MRD1c IiQoQ1JPU1NfTEQpXCIgLUREWEVfQ0M9XCIkKENST1NTX0NDKVwiIC1ERFhFX0FSPVwiJChD Uk9TU19BUilcIiAtRERYRV9BUz1cIiQoQ1JPU1NfQVMpXCIgZHhlM2dlbi5jIC1vICRACisJ JChDQykgLU8yIC1XYWxsIC1ERFhFX0NDPVwiJChDUk9TU19DQylcIiAtRERYRV9BUj1cIiQo Q1JPU1NfQVIpXCIgZHhlM2dlbi5jIC1vICRACiAKIGR4ZWdlbjogZHhlM2dlbgogCWxuIC1z IGR4ZTNnZW4gZHhlZ2VuCg== --------------PjP4sI0Ch0EHakINpZROBTIh--