From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from smtp-out1.suse.de (smtp-out1.suse.de [195.135.220.28]) by sourceware.org (Postfix) with ESMTPS id 95F143893662; Tue, 15 Nov 2022 12:49:37 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 95F143893662 Authentication-Results: sourceware.org; dmarc=none (p=none dis=none) header.from=suse.cz Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=suse.cz Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512) (No client certificate requested) by smtp-out1.suse.de (Postfix) with ESMTPS id AF63122A72; Tue, 15 Nov 2022 12:49:36 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.cz; s=susede2_rsa; t=1668516576; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc: mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=emIeP0X9U3mVyq3ZROFA4bZ//SZcBKeDT4EYGAhVsK8=; b=cAiITx6MAWc7ja3eWM00oZ9Pc7mkNTQYO50drzQFxJ3A63iXAYJzxMgCdmh7YUX5OjUO0w JcOz/AEvUQjlah8XvG/tTTauom6EF4C2DUJHUiH/smFgOhG7V/qG+/WtqYe6b0aAlFy2CF oCT0DjkvH7EZByne2LHFtaWh8QnkYHw= DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=suse.cz; s=susede2_ed25519; t=1668516576; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc: mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=emIeP0X9U3mVyq3ZROFA4bZ//SZcBKeDT4EYGAhVsK8=; b=mGzSHAfZCcaWPWUjeoUwAiBzgQDlzTc8UOoEH8Y36CIsjw7MjJVcXi49B8dtieo2Eea4jv o0oXy0ps/qYt2wDA== Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512) (No client certificate requested) by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id 8204313A91; Tue, 15 Nov 2022 12:49:36 +0000 (UTC) Received: from dovecot-director2.suse.de ([192.168.254.65]) by imap2.suse-dmz.suse.de with ESMTPSA id hubtHuCKc2OoTwAAMHmgww (envelope-from ); Tue, 15 Nov 2022 12:49:36 +0000 Content-Type: multipart/mixed; boundary="------------7F0eFLoDD6Z7j0la1vdYwN0p" Message-ID: <6a8c0966-139a-1536-4ef3-ec99542bdf02@suse.cz> Date: Tue, 15 Nov 2022 13:49:36 +0100 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.4.2 Subject: Re: GCC 13.0.0 Status Report (2022-11-14), Stage 3 in effect now Content-Language: en-US To: Jakub Jelinek Cc: Xi Ruoyao , gcc@gcc.gnu.org, fortran@gcc.gnu.org, Richard Biener , gcc-patches@gcc.gnu.org, Lulu Cheng References: From: =?UTF-8?Q?Martin_Li=c5=a1ka?= In-Reply-To: X-Spam-Status: No, score=-10.5 required=5.0 tests=BAYES_00,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,GIT_PATCH_0,GUARANTEED_100_PERCENT,NICE_REPLY_A,SPF_HELO_NONE,SPF_PASS,TXREP autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org List-Id: This is a multi-part message in MIME format. --------------7F0eFLoDD6Z7j0la1vdYwN0p Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit On 11/15/22 11:07, Jakub Jelinek wrote: > On Tue, Nov 15, 2022 at 11:02:53AM +0100, Martin Liška wrote: >>> Is it allowed to merge libsanitizer from LLVM in stage 3? If not I'd >>> like to cherry pick some commits from LLVM [to fix some stupid errors >>> I've made in LoongArch libasan :(]. >> >> I'm sorry but I was really busy with the porting of the documentation to Sphinx. >> >> Anyway, yes, we should make one one libsanitizer merge, but RM should likely >> approve it: Richi, Jakub, do you support it? > > Could you please prepare a patch, so that we can see how much actually > changed and decide based on that whether to go for a merge or cherry-picking > one or more commits? Sure, there it is. There's a minor change in output format that I address in 0003 patch. Apart from that, I was able to run all tests on x86_64-linux-gnu. Patch statistics: 46 files changed, 524 insertions(+), 252 deletions(-) I'm running build on ppc64le and if you're fine, I'm going to finish a proper libsanitizer testing procedure. Martin > I think last merge was done by you at the end of August, so we have > 2.5 months of changes to potentially merge. > > Jakub > --------------7F0eFLoDD6Z7j0la1vdYwN0p Content-Type: text/x-patch; charset=UTF-8; name="0003-asan-update-expected-format-based-on-ASAN.patch" Content-Disposition: attachment; filename="0003-asan-update-expected-format-based-on-ASAN.patch" Content-Transfer-Encoding: base64 RnJvbSBiOWRhOTMzZWM4ODYwZTBjMjE3ZTJmNmZjMDhmMDg2ODdkNDA3MjVmIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBNYXJ0aW4gTGlza2EgPG1saXNrYUBzdXNlLmN6PgpE YXRlOiBUdWUsIDE1IE5vdiAyMDIyIDEyOjAyOjM2ICswMTAwClN1YmplY3Q6IFtQQVRDSCAz LzNdIGFzYW46IHVwZGF0ZSBleHBlY3RlZCBmb3JtYXQgYmFzZWQgb24gQVNBTgoKZ2NjL3Rl c3RzdWl0ZS9DaGFuZ2VMb2c6CgoJKiBjLWMrKy1jb21tb24vYXNhbi9nbG9iYWwtb3ZlcmZs b3ctMS5jOiBVcGRhdGUKCWV4cGVjdGVkIGZvcm1hdC4KCSogYy1jKystY29tbW9uL2FzYW4v aGVhcC1vdmVyZmxvdy0xLmM6IExpa2V3aXNlLgoJKiBjLWMrKy1jb21tb24vYXNhbi9zdHJs ZW4tb3ZlcmZsb3ctMS5jOiBMaWtld2lzZS4KCSogYy1jKystY29tbW9uL2FzYW4vc3RybmNw eS1vdmVyZmxvdy0xLmM6IExpa2V3aXNlLgoJKiBjLWMrKy1jb21tb24vaHdhc2FuL2hlYXAt b3ZlcmZsb3cuYzogTGlrZXdpc2UuCgkqIGcrKy5kZy9hc2FuL2FzYW5fbWVtX3Rlc3QuY2M6 IExpa2V3aXNlLgoJKiBnKysuZGcvYXNhbi9hc2FuX29vYl90ZXN0LmNjOiBMaWtld2lzZS4K CSogZysrLmRnL2FzYW4vYXNhbl9zdHJfdGVzdC5jYzogTGlrZXdpc2UuCgkqIGcrKy5kZy9h c2FuL2FzYW5fdGVzdC5jYzogTGlrZXdpc2UuCgkqIGcrKy5kZy9hc2FuL2xhcmdlLWZ1bmMt dGVzdC0xLkM6IExpa2V3aXNlLgotLS0KIC4uLi9jLWMrKy1jb21tb24vYXNhbi9nbG9iYWwt b3ZlcmZsb3ctMS5jICAgICB8ICAyICstCiAuLi4vYy1jKystY29tbW9uL2FzYW4vaGVhcC1v dmVyZmxvdy0xLmMgICAgICAgfCAgMiArLQogLi4uL2MtYysrLWNvbW1vbi9hc2FuL3N0cmxl bi1vdmVyZmxvdy0xLmMgICAgIHwgIDIgKy0KIC4uLi9jLWMrKy1jb21tb24vYXNhbi9zdHJu Y3B5LW92ZXJmbG93LTEuYyAgICB8ICAyICstCiAuLi4vYy1jKystY29tbW9uL2h3YXNhbi9o ZWFwLW92ZXJmbG93LmMgICAgICAgfCAgMiArLQogZ2NjL3Rlc3RzdWl0ZS9nKysuZGcvYXNh bi9hc2FuX21lbV90ZXN0LmNjICAgIHwgMjAgKysrKystLS0tLS0KIGdjYy90ZXN0c3VpdGUv ZysrLmRnL2FzYW4vYXNhbl9vb2JfdGVzdC5jYyAgICB8IDEyICsrKy0tLS0KIGdjYy90ZXN0 c3VpdGUvZysrLmRnL2FzYW4vYXNhbl9zdHJfdGVzdC5jYyAgICB8ICA0ICstLQogZ2NjL3Rl c3RzdWl0ZS9nKysuZGcvYXNhbi9hc2FuX3Rlc3QuY2MgICAgICAgIHwgMzYgKysrKysrKysr LS0tLS0tLS0tLQogZ2NjL3Rlc3RzdWl0ZS9nKysuZGcvYXNhbi9sYXJnZS1mdW5jLXRlc3Qt MS5DIHwgIDIgKy0KIDEwIGZpbGVzIGNoYW5nZWQsIDQyIGluc2VydGlvbnMoKyksIDQyIGRl bGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2djYy90ZXN0c3VpdGUvYy1jKystY29tbW9uL2Fz YW4vZ2xvYmFsLW92ZXJmbG93LTEuYyBiL2djYy90ZXN0c3VpdGUvYy1jKystY29tbW9uL2Fz YW4vZ2xvYmFsLW92ZXJmbG93LTEuYwppbmRleCBlYzQxMjIzMWJlMC4uYjk3ODAxZGEyYjcg MTAwNjQ0Ci0tLSBhL2djYy90ZXN0c3VpdGUvYy1jKystY29tbW9uL2FzYW4vZ2xvYmFsLW92 ZXJmbG93LTEuYworKysgYi9nY2MvdGVzdHN1aXRlL2MtYysrLWNvbW1vbi9hc2FuL2dsb2Jh bC1vdmVyZmxvdy0xLmMKQEAgLTI1LDUgKzI1LDUgQEAgaW50IG1haW4oKSB7CiAvKiB7IGRn LXNraXAtaWYgImluYWNjdXJhdGUgZGVidWcgaW5mbyIgeyBtaXBzKi0qLSogfSB7ICIqIiB9 IHsgIi1PMCIgfSB9ICovCiAvKiB7IGRnLW91dHB1dCAiUkVBRCBvZiBzaXplIDEgYXQgMHhc WzAtOWEtZlxdKyB0aHJlYWQgVDAuKihcbnxcclxufFxyKSIgfSAqLwogLyogeyBkZy1vdXRw dXQgIiAgICAjMCAweFxbMC05YS1mXF0rICsoaW4gXyptYWluIChcW15cblxyXSpnbG9iYWwt b3ZlcmZsb3ctMS5jOjIwfFxbXlxuXHJdKjowfFxbXlxuXHJdKlxcKzB4XFswLTlhLXpcXSop fFxbKFxdKVxbXlxuXHJdKihcbnxcclxufFxyKS4qIiB9ICovCi0vKiB7IGRnLW91dHB1dCAi MHhcWzAtOWEtZlxdKyBpcyBsb2NhdGVkIDAgYnl0ZXMgdG8gdGhlIHJpZ2h0IG9mIGdsb2Jh bCB2YXJpYWJsZSIgfSAqLworLyogeyBkZy1vdXRwdXQgIjB4XFswLTlhLWZcXSsgaXMgbG9j YXRlZCAwIGJ5dGVzIGFmdGVyIGdsb2JhbCB2YXJpYWJsZSIgfSAqLwogLyogeyBkZy1vdXRw dXQgIi4qWVlZXFteXG5ccl0qIG9mIHNpemUgMTBcW15cblxyXSooXG58XHJcbnxccikiIH0g Ki8KZGlmZiAtLWdpdCBhL2djYy90ZXN0c3VpdGUvYy1jKystY29tbW9uL2FzYW4vaGVhcC1v dmVyZmxvdy0xLmMgYi9nY2MvdGVzdHN1aXRlL2MtYysrLWNvbW1vbi9hc2FuL2hlYXAtb3Zl cmZsb3ctMS5jCmluZGV4IDdlZjA0OGU2MzZmLi43ZDg3NDQ4NTJhZSAxMDA2NDQKLS0tIGEv Z2NjL3Rlc3RzdWl0ZS9jLWMrKy1jb21tb24vYXNhbi9oZWFwLW92ZXJmbG93LTEuYworKysg Yi9nY2MvdGVzdHN1aXRlL2MtYysrLWNvbW1vbi9hc2FuL2hlYXAtb3ZlcmZsb3ctMS5jCkBA IC0yNSw3ICsyNSw3IEBAIGludCBtYWluKGludCBhcmdjLCBjaGFyICoqYXJndikgewogCiAv KiB7IGRnLW91dHB1dCAiUkVBRCBvZiBzaXplIDEgYXQgMHhcWzAtOWEtZlxdKyB0aHJlYWQg VDAuKihcbnxcclxufFxyKSIgfSAqLwogLyogeyBkZy1vdXRwdXQgIiAgICAjMCAweFxbMC05 YS1mXF0rICsoaW4gXyptYWluIChcW15cblxyXSpoZWFwLW92ZXJmbG93LTEuYzoyMXxcW15c blxyXSo6MHxcW15cblxyXSpcXCsweFxbMC05YS16XF0qKXxcWyhcXSkuKihcbnxcclxufFxy KSIgfSAqLwotLyogeyBkZy1vdXRwdXQgIlxbXlxuXHJdKjB4XFswLTlhLWZcXSsgaXMgbG9j YXRlZCAwIGJ5dGVzIHRvIHRoZSByaWdodCBvZiAxMC1ieXRlIHJlZ2lvblxbXlxuXHJdKihc bnxcclxufFxyKSIgfSAqLworLyogeyBkZy1vdXRwdXQgIlxbXlxuXHJdKjB4XFswLTlhLWZc XSsgaXMgbG9jYXRlZCAwIGJ5dGVzIGFmdGVyIDEwLWJ5dGUgcmVnaW9uXFteXG5ccl0qKFxu fFxyXG58XHIpIiB9ICovCiAvKiB7IGRnLW91dHB1dCAiXFteXG5ccl0qYWxsb2NhdGVkIGJ5 IHRocmVhZCBUMCBoZXJlOlxbXlxuXHJdKihcbnxcclxufFxyKSIgfSAqLwogLyogeyBkZy1v dXRwdXQgIiAgICAjMCAweFxbMC05YS1mXF0rICsoaW4gXyooaW50ZXJjZXB0b3JffHdyYXBf fCltYWxsb2N8XFsoXF0pXFteXG5ccl0qKFxufFxyXG58XHIpIiB9ICovCiAvKiB7IGRnLW91 dHB1dCAiICAgICMxIDB4XFswLTlhLWZcXSsgKyhpbiBfKm1haW4gKFxbXlxuXHJdKmhlYXAt b3ZlcmZsb3ctMS5jOjE5fFxbXlxuXHJdKjowfFxbXlxuXHJdKlxcKzB4XFswLTlhLXpcXSop fFxbKFxdKVxbXlxuXHJdKihcbnxcclxufFxyKSIgfSAqLwpkaWZmIC0tZ2l0IGEvZ2NjL3Rl c3RzdWl0ZS9jLWMrKy1jb21tb24vYXNhbi9zdHJsZW4tb3ZlcmZsb3ctMS5jIGIvZ2NjL3Rl c3RzdWl0ZS9jLWMrKy1jb21tb24vYXNhbi9zdHJsZW4tb3ZlcmZsb3ctMS5jCmluZGV4IDg2 YTc5ZmQ1ZDA2Li4zNGMyMGM4ZWQ1MCAxMDA2NDQKLS0tIGEvZ2NjL3Rlc3RzdWl0ZS9jLWMr Ky1jb21tb24vYXNhbi9zdHJsZW4tb3ZlcmZsb3ctMS5jCisrKyBiL2djYy90ZXN0c3VpdGUv Yy1jKystY29tbW9uL2FzYW4vc3RybGVuLW92ZXJmbG93LTEuYwpAQCAtMjEsNCArMjEsNCBA QCBpbnQgbWFpbiAoKSB7CiAKIC8qIHsgZGctb3V0cHV0ICJSRUFEIG9mIHNpemUgMiBhdCAw eFxbMC05YS1mXF0rIHRocmVhZCBUMC4qKFxufFxyXG58XHIpIiB9ICovCiAvKiB7IGRnLW91 dHB1dCAiICAgICMxIDB4XFswLTlhLWZcXSsgKyhpbiBfKm1haW4gKFxbXlxuXHJdKnN0cmxl bi1vdmVyZmxvdy0xLmM6MTl8XFteXG5ccl0qOjApfFxbKFxdKS4qKFxufFxyXG58XHIpIiB9 ICovCi0vKiB7IGRnLW91dHB1dCAiXFteXG5ccl0qMHhcWzAtOWEtZlxdKyBpcyBsb2NhdGVk IDAgYnl0ZXMgdG8gdGhlIHJpZ2h0IG9mIGdsb2JhbCB2YXJpYWJsZSIgfSAqLworLyogeyBk Zy1vdXRwdXQgIlxbXlxuXHJdKjB4XFswLTlhLWZcXSsgaXMgbG9jYXRlZCAwIGJ5dGVzIGFm dGVyIGdsb2JhbCB2YXJpYWJsZSIgfSAqLwpkaWZmIC0tZ2l0IGEvZ2NjL3Rlc3RzdWl0ZS9j LWMrKy1jb21tb24vYXNhbi9zdHJuY3B5LW92ZXJmbG93LTEuYyBiL2djYy90ZXN0c3VpdGUv Yy1jKystY29tbW9uL2FzYW4vc3RybmNweS1vdmVyZmxvdy0xLmMKaW5kZXggM2Q0MzkxNjBi N2UuLjgzNDI4NDcyMmY5IDEwMDY0NAotLS0gYS9nY2MvdGVzdHN1aXRlL2MtYysrLWNvbW1v bi9hc2FuL3N0cm5jcHktb3ZlcmZsb3ctMS5jCisrKyBiL2djYy90ZXN0c3VpdGUvYy1jKyst Y29tbW9uL2FzYW4vc3RybmNweS1vdmVyZmxvdy0xLmMKQEAgLTE2LDcgKzE2LDcgQEAgaW50 IG1haW4oaW50IGFyZ2MsIGNoYXIgKiphcmd2KSB7CiAvKiB7IGRnLW91dHB1dCAiV1JJVEUg b2Ygc2l6ZSBcWzAtOVxdKiBhdCAweFxbMC05YS1mXF0rIHRocmVhZCBUMFxbXlxuXHJdKihc bnxcclxufFxyKSIgfSAqLwogLyogeyBkZy1vdXRwdXQgIiAgICAjMCAweFxbMC05YS1mXF0r ICsoaW4gXyooaW50ZXJjZXB0b3JffHdyYXBffClzdHJuY3B5fFxbKFxdKVxbXlxuXHJdKihc bnxcclxufFxyKSIgfSAqLwogLyogeyBkZy1vdXRwdXQgIiAgICAjMSAweFxbMC05YS1mXF0r ICsoaW4gXyptYWluIChcW15cblxyXSpzdHJuY3B5LW92ZXJmbG93LTEuYzoxMnxcW15cblxy XSo6MHxcW15cblxyXSpcXCsweFxbMC05YS16XF0qKXxcWyhcXSkuKihcbnxcclxufFxyKSIg fSAqLwotLyogeyBkZy1vdXRwdXQgIlxbXlxuXHJdKjB4XFswLTlhLWZcXSsgaXMgbG9jYXRl ZCAwIGJ5dGVzIHRvIHRoZSByaWdodCBvZiA5LWJ5dGUgcmVnaW9uXFteXG5ccl0qKFxufFxy XG58XHIpIiB9ICovCisvKiB7IGRnLW91dHB1dCAiXFteXG5ccl0qMHhcWzAtOWEtZlxdKyBp cyBsb2NhdGVkIDAgYnl0ZXMgYWZ0ZXIgOS1ieXRlIHJlZ2lvblxbXlxuXHJdKihcbnxcclxu fFxyKSIgfSAqLwogLyogeyBkZy1vdXRwdXQgIlxbXlxuXHJdKmFsbG9jYXRlZCBieSB0aHJl YWQgVDAgaGVyZTpcW15cblxyXSooXG58XHJcbnxccikiIH0gKi8KIC8qIHsgZGctb3V0cHV0 ICIgICAgIzAgMHhcWzAtOWEtZlxdKyArKGluIF8qKGludGVyY2VwdG9yX3x3cmFwX3wpbWFs bG9jfFxbKFxdKVxbXlxuXHJdKihcbnxcclxufFxyKSIgfSAqLwogLyogeyBkZy1vdXRwdXQg IiAgICAjMSAweFxbMC05YS1mXF0rICsoaW4gXyptYWluIChcW15cblxyXSpzdHJuY3B5LW92 ZXJmbG93LTEuYzoxMXxcW15cblxyXSo6MHxcW15cblxyXSpcXCsweFxbMC05YS16XF0qKXxc WyhcXSlcW15cblxyXSooXG58XHJcbnxccikiIH0gKi8KZGlmZiAtLWdpdCBhL2djYy90ZXN0 c3VpdGUvYy1jKystY29tbW9uL2h3YXNhbi9oZWFwLW92ZXJmbG93LmMgYi9nY2MvdGVzdHN1 aXRlL2MtYysrLWNvbW1vbi9od2FzYW4vaGVhcC1vdmVyZmxvdy5jCmluZGV4IGJkZGIzOGM4 MWYxLi5hNWEzNzcxNTkyNSAxMDA2NDQKLS0tIGEvZ2NjL3Rlc3RzdWl0ZS9jLWMrKy1jb21t b24vaHdhc2FuL2hlYXAtb3ZlcmZsb3cuYworKysgYi9nY2MvdGVzdHN1aXRlL2MtYysrLWNv bW1vbi9od2FzYW4vaGVhcC1vdmVyZmxvdy5jCkBAIC0yNCw2ICsyNCw2IEBAIGludCBtYWlu KGludCBhcmdjLCBjaGFyICoqYXJndikgewogCiAvKiB7IGRnLW91dHB1dCAiSFdBZGRyZXNz U2FuaXRpemVyOiB0YWctbWlzbWF0Y2ggb24gYWRkcmVzcyAweFxbMC05YS1mXF0qLioiIH0g Ki8KIC8qIHsgZGctb3V0cHV0ICJSRUFEIG9mIHNpemUgMSBhdCAweFxbMC05YS1mXF0qIHRh Z3M6IFxbXFs6eGRpZ2l0OlxdXF1cW1xbOnhkaWdpdDpcXVxdL1xbXFs6eGRpZ2l0OlxdXF1c W1xbOnhkaWdpdDpcXVxdLiogXFwocHRyL21lbVxcKSBpbiB0aHJlYWQgVDAuKiIgfSAqLwot LyogeyBkZy1vdXRwdXQgImxvY2F0ZWQgMCBieXRlcyB0byB0aGUgcmlnaHQgb2YgMTAtYnl0 ZSByZWdpb24uKiIgfSAqLworLyogeyBkZy1vdXRwdXQgImxvY2F0ZWQgMCBieXRlcyBhZnRl ciAxMC1ieXRlIHJlZ2lvbi4qIiB9ICovCiAvKiB7IGRnLW91dHB1dCAiYWxsb2NhdGVkIGhl cmU6LioiIH0gKi8KIC8qIHsgZGctb3V0cHV0ICIjMSAweFxbMC05YS1mXF0rICtpbiBfKm1h aW4gXFteXG5ccl0qaGVhcC1vdmVyZmxvdy5jOjE4IiB9ICovCmRpZmYgLS1naXQgYS9nY2Mv dGVzdHN1aXRlL2crKy5kZy9hc2FuL2FzYW5fbWVtX3Rlc3QuY2MgYi9nY2MvdGVzdHN1aXRl L2crKy5kZy9hc2FuL2FzYW5fbWVtX3Rlc3QuY2MKaW5kZXggNWZjNGFmN2U5ZTMuLjdmNmYz ZjRjMWY4IDEwMDY0NAotLS0gYS9nY2MvdGVzdHN1aXRlL2crKy5kZy9hc2FuL2FzYW5fbWVt X3Rlc3QuY2MKKysrIGIvZ2NjL3Rlc3RzdWl0ZS9nKysuZGcvYXNhbi9hc2FuX21lbV90ZXN0 LmNjCkBAIC0zMSwxOCArMzEsMTggQEAgdm9pZCBNZW1TZXRPT0JUZXN0VGVtcGxhdGUoc2l6 ZV90IGxlbmd0aCkgewogICBNRU1TRVQoYXJyYXkgKyBsZW5ndGgsIDAsIHplcm8pOwogICBN RU1TRVQoYXJyYXkgKyBsZW5ndGggKyAxLCAwLCB6ZXJvKTsKIAotICAvLyB0cnkgdG8gbWVt c2V0IGJ5dGVzIHRvIHRoZSByaWdodCBvZiBhcnJheQorICAvLyB0cnkgdG8gbWVtc2V0IGJ5 dGVzIGFmdGVyIGFycmF5CiAgIEVYUEVDVF9ERUFUSChNRU1TRVQoYXJyYXksIDAsIHNpemUg KyAxKSwKICAgICAgICAgICAgICAgIFJpZ2h0T09CV3JpdGVNZXNzYWdlKDApKTsKICAgRVhQ RUNUX0RFQVRIKE1FTVNFVCgoY2hhciopKGFycmF5ICsgbGVuZ3RoKSAtIDEsIGVsZW1lbnQs IDYpLAogICAgICAgICAgICAgICAgUmlnaHRPT0JXcml0ZU1lc3NhZ2UoMCkpOwogICBFWFBF Q1RfREVBVEgoTUVNU0VUKGFycmF5ICsgMSwgZWxlbWVudCwgc2l6ZSArIHNpemVvZihUKSks CiAgICAgICAgICAgICAgICBSaWdodE9PQldyaXRlTWVzc2FnZSgwKSk7Ci0gIC8vIHdob2xl IGludGVydmFsIGlzIHRvIHRoZSByaWdodAorICAvLyB3aG9sZSBpbnRlcnZhbCBpcyBhZnRl cgogICBFWFBFQ1RfREVBVEgoTUVNU0VUKGFycmF5ICsgbGVuZ3RoICsgMSwgMCwgMTApLAog ICAgICAgICAgICAgICAgUmlnaHRPT0JXcml0ZU1lc3NhZ2Uoc2l6ZW9mKFQpKSk7CiAKLSAg Ly8gdHJ5IHRvIG1lbXNldCBieXRlcyB0byB0aGUgbGVmdCBvZiBhcnJheQorICAvLyB0cnkg dG8gbWVtc2V0IGJ5dGVzIGJlZm9yZSBhcnJheQogICBFWFBFQ1RfREVBVEgoTUVNU0VUKChj aGFyKilhcnJheSAtIDEsIGVsZW1lbnQsIHNpemUpLAogICAgICAgICAgICAgICAgTGVmdE9P QldyaXRlTWVzc2FnZSgxKSk7CiAgIEVYUEVDVF9ERUFUSChNRU1TRVQoKGNoYXIqKWFycmF5 IC0gNSwgMCwgNiksCkBAIC01MiwxMSArNTIsMTEgQEAgdm9pZCBNZW1TZXRPT0JUZXN0VGVt cGxhdGUoc2l6ZV90IGxlbmd0aCkgewogICAgIEVYUEVDVF9ERUFUSChtZW1zZXQoYXJyYXkg LSA1LCBlbGVtZW50LCBzaXplICsgNSAqIHNpemVvZihUKSksCiAgICAgICAgICAgICAgICAg IExlZnRPT0JXcml0ZU1lc3NhZ2UoNSAqIHNpemVvZihUKSkpOwogICB9Ci0gIC8vIHdob2xl IGludGVydmFsIGlzIHRvIHRoZSBsZWZ0CisgIC8vIHdob2xlIGludGVydmFsIGlzIGJlZm9y ZQogICBFWFBFQ1RfREVBVEgoTUVNU0VUKGFycmF5IC0gMiwgMCwgc2l6ZW9mKFQpKSwKICAg ICAgICAgICAgICAgIExlZnRPT0JXcml0ZU1lc3NhZ2UoMiAqIHNpemVvZihUKSkpOwogCi0g IC8vIHRyeSB0byBtZW1zZXQgYnl0ZXMgYm90aCB0byB0aGUgbGVmdCAmIHRvIHRoZSByaWdo dAorICAvLyB0cnkgdG8gbWVtc2V0IGJ5dGVzIGJvdGggYmVmb3JlICYgYWZ0ZXIKICAgRVhQ RUNUX0RFQVRIKE1FTVNFVCgoY2hhciopYXJyYXkgLSAyLCBlbGVtZW50LCBzaXplICsgNCks CiAgICAgICAgICAgICAgICBMZWZ0T09CV3JpdGVNZXNzYWdlKDIpKTsKIApAQCAtMTA4LDcg KzEwOCw3IEBAIFRFU1QoQWRkcmVzc1Nhbml0aXplciwgTGFyZ2VPT0JJbk1lbXNldCkgewog ICAgIC8vIGZwcmludGYoc3RkZXJyLCAiICBsYXJnZSBvb2IgbWVtc2V0OiAlcCAlcCAlemRc biIsIHgxLCB4Miwgc2l6ZSk7CiAgICAgLy8gRG8gYSBtZW1zZXQgb24geDEgd2l0aCBodWdl IG91dC1vZi1ib3VuZCBhY2Nlc3MgdGhhdCB3aWxsIGVuZCB1cCBpbiB4Mi4KICAgICBFWFBF Q1RfREVBVEgoSWRlbnQobWVtc2V0KSh4MSwgMCwgc2l6ZSAqIDIpLAotICAgICAgICAgICAg ICAgICAiaXMgbG9jYXRlZCAwIGJ5dGVzIHRvIHRoZSByaWdodCIpOworICAgICAgICAgICAg ICAgICAiaXMgbG9jYXRlZCAwIGJ5dGVzIGFmdGVyIik7CiAgICAgZGVsZXRlIFtdIHgxOwog ICAgIGRlbGV0ZSBbXSB4MjsKICAgICByZXR1cm47CkBAIC0xMzcsMjUgKzEzNywyNSBAQCB2 b2lkIE1lbVRyYW5zZmVyT09CVGVzdFRlbXBsYXRlKHNpemVfdCBsZW5ndGgpIHsKICAgTTo6 dHJhbnNmZXIoZGVzdCwgc3JjIC0gMSwgemVybyk7CiAgIE06OnRyYW5zZmVyKGRlc3QsIHNy YywgemVybyk7CiAKLSAgLy8gdHJ5IHRvIGNoYW5nZSBtZW0gdG8gdGhlIHJpZ2h0IG9mIGRl c3QKKyAgLy8gdHJ5IHRvIGNoYW5nZSBtZW0gYWZ0ZXIgZGVzdAogICBFWFBFQ1RfREVBVEgo TTo6dHJhbnNmZXIoZGVzdCArIDEsIHNyYywgc2l6ZSksCiAgICAgICAgICAgICAgICBSaWdo dE9PQldyaXRlTWVzc2FnZSgwKSk7CiAgIEVYUEVDVF9ERUFUSChNOjp0cmFuc2ZlcigoY2hh ciopKGRlc3QgKyBsZW5ndGgpIC0gMSwgc3JjLCA1KSwKICAgICAgICAgICAgICAgIFJpZ2h0 T09CV3JpdGVNZXNzYWdlKDApKTsKIAotICAvLyB0cnkgdG8gY2hhbmdlIG1lbSB0byB0aGUg bGVmdCBvZiBkZXN0CisgIC8vIHRyeSB0byBjaGFuZ2UgbWVtIGJlZm9yZSBkZXN0CiAgIEVY UEVDVF9ERUFUSChNOjp0cmFuc2ZlcihkZXN0IC0gMiwgc3JjLCBzaXplKSwKICAgICAgICAg ICAgICAgIExlZnRPT0JXcml0ZU1lc3NhZ2UoMiAqIHNpemVvZihUKSkpOwogICBFWFBFQ1Rf REVBVEgoTTo6dHJhbnNmZXIoKGNoYXIqKWRlc3QgLSAzLCBzcmMsIDQpLAogICAgICAgICAg ICAgICAgTGVmdE9PQldyaXRlTWVzc2FnZSgzKSk7CiAKLSAgLy8gdHJ5IHRvIGFjY2VzcyBt ZW0gdG8gdGhlIHJpZ2h0IG9mIHNyYworICAvLyB0cnkgdG8gYWNjZXNzIG1lbSBhZnRlciBz cmMKICAgRVhQRUNUX0RFQVRIKE06OnRyYW5zZmVyKGRlc3QsIHNyYyArIDIsIHNpemUpLAog ICAgICAgICAgICAgICAgUmlnaHRPT0JSZWFkTWVzc2FnZSgwKSk7CiAgIEVYUEVDVF9ERUFU SChNOjp0cmFuc2ZlcihkZXN0LCAoY2hhciopKHNyYyArIGxlbmd0aCkgLSAzLCA2KSwKICAg ICAgICAgICAgICAgIFJpZ2h0T09CUmVhZE1lc3NhZ2UoMCkpOwogCi0gIC8vIHRyeSB0byBh Y2Nlc3MgbWVtIHRvIHRoZSBsZWZ0IG9mIHNyYworICAvLyB0cnkgdG8gYWNjZXNzIG1lbSBi ZWZvcmUgc3JjCiAgIEVYUEVDVF9ERUFUSChNOjp0cmFuc2ZlcihkZXN0LCBzcmMgLSAxLCBz aXplKSwKICAgICAgICAgICAgICAgIExlZnRPT0JSZWFkTWVzc2FnZShzaXplb2YoVCkpKTsK ICAgRVhQRUNUX0RFQVRIKE06OnRyYW5zZmVyKGRlc3QsIChjaGFyKilzcmMgLSA2LCA3KSwK ZGlmZiAtLWdpdCBhL2djYy90ZXN0c3VpdGUvZysrLmRnL2FzYW4vYXNhbl9vb2JfdGVzdC5j YyBiL2djYy90ZXN0c3VpdGUvZysrLmRnL2FzYW4vYXNhbl9vb2JfdGVzdC5jYwppbmRleCA3 ZDNmNTU3ODVmMC4uMDVmYTcyMjk0ODYgMTAwNjQ0Ci0tLSBhL2djYy90ZXN0c3VpdGUvZysr LmRnL2FzYW4vYXNhbl9vb2JfdGVzdC5jYworKysgYi9nY2MvdGVzdHN1aXRlL2crKy5kZy9h c2FuL2FzYW5fb29iX3Rlc3QuY2MKQEAgLTMzLDcgKzMzLDcgQEAgdm9pZCBPT0JUZXN0KCkg ewogICBmb3IgKGludCBzaXplID0gc2l6ZW9mKFQpOyBzaXplIDwgMjA7IHNpemUgKz0gNSkg ewogICAgIGZvciAoaW50IGkgPSAtNTsgaSA8IDA7IGkrKykgewogICAgICAgY29uc3QgY2hh ciAqc3RyID0KLSAgICAgICAgICAiaXMgbG9jYXRlZC4qJWQgYnl0ZS4qdG8gdGhlIGxlZnQi OworICAgICAgICAgICJpcyBsb2NhdGVkLiolZCBieXRlLipiZWZvcmUiOwogICAgICAgc3By aW50ZihleHBlY3RlZF9zdHIsIHN0ciwgYWJzKGkpKTsKICAgICAgIEVYUEVDVF9ERUFUSChv b2JfdGVzdDxUPihzaXplLCBpKSwgZXhwZWN0ZWRfc3RyKTsKICAgICB9CkBAIC00Myw3ICs0 Myw3IEBAIHZvaWQgT09CVGVzdCgpIHsKIAogICAgIGZvciAoaW50IGkgPSBzaXplIC0gc2l6 ZW9mKFQpICsgMTsgaSA8PSAoaW50KShzaXplICsgMiAqIHNpemVvZihUKSk7IGkrKykgewog ICAgICAgY29uc3QgY2hhciAqc3RyID0KLSAgICAgICAgICAiaXMgbG9jYXRlZC4qJWQgYnl0 ZS4qdG8gdGhlIHJpZ2h0IjsKKyAgICAgICAgICAiaXMgbG9jYXRlZC4qJWQgYnl0ZS4qYWZ0 ZXIiOwogICAgICAgaW50IG9mZiA9IGkgPj0gc2l6ZSA/IChpIC0gc2l6ZSkgOiAwOwogICAg ICAgLy8gd2UgZG9uJ3QgY2F0Y2ggdW5hbGlnbmVkIHBhcnRpYWxseSBPT0IgYWNjZXNzZXMu CiAgICAgICBpZiAoaSAlIHNpemVvZihUKSkgY29udGludWU7CkBAIC01Myw5ICs1Myw5IEBA IHZvaWQgT09CVGVzdCgpIHsKICAgfQogCiAgIEVYUEVDVF9ERUFUSChvb2JfdGVzdDxUPihr TGFyZ2VNYWxsb2MsIC0xKSwKLSAgICAgICAgICAiaXMgbG9jYXRlZC4qMSBieXRlLip0byB0 aGUgbGVmdCIpOworICAgICAgICAgICJpcyBsb2NhdGVkLioxIGJ5dGUuKmJlZm9yZSIpOwog ICBFWFBFQ1RfREVBVEgob29iX3Rlc3Q8VD4oa0xhcmdlTWFsbG9jLCBrTGFyZ2VNYWxsb2Mp LAotICAgICAgICAgICJpcyBsb2NhdGVkLiowIGJ5dGUuKnRvIHRoZSByaWdodCIpOworICAg ICAgICAgICJpcyBsb2NhdGVkLiowIGJ5dGUuKmFmdGVyIik7CiB9CiAKIC8vIFRPRE8oZ2xp ZGVyKTogdGhlIGZvbGxvd2luZyB0ZXN0cyBhcmUgRVhUUkVNRUxZIHNsb3cgb24gRGFyd2lu OgpAQCAtODksNyArODksNyBAQCBURVNUKEFkZHJlc3NTYW5pdGl6ZXIsIE9PQlJpZ2h0VGVz dCkgewogICAgICAgICB9IGVsc2UgewogICAgICAgICAgIGludCBvdXRzaWRlX2J5dGVzID0g b2Zmc2V0ID4gYWxsb2Nfc2l6ZSA/IChvZmZzZXQgLSBhbGxvY19zaXplKSA6IDA7CiAgICAg ICAgICAgY29uc3QgY2hhciAqc3RyID0KLSAgICAgICAgICAgICAgImlzIGxvY2F0ZWQuJWQg KmJ5dGUuKnRvIHRoZSByaWdodCI7CisgICAgICAgICAgICAgICJpcyBsb2NhdGVkLiVkICpi eXRlLiphZnRlciI7CiAgICAgICAgICAgY2hhciBleHBlY3RlZF9zdHJbMTAwXTsKICAgICAg ICAgICBzcHJpbnRmKGV4cGVjdGVkX3N0ciwgc3RyLCBvdXRzaWRlX2J5dGVzKTsKICAgICAg ICAgICBFWFBFQ1RfREVBVEgoYXNhbl93cml0ZV9zaXplZF9hbGlnbmVkKGFkZHIsIGFjY2Vz c19zaXplKSwKQEAgLTEwNiw3ICsxMDYsNyBAQCBURVNUKEFkZHJlc3NTYW5pdGl6ZXIsIExh cmdlT09CUmlnaHRUZXN0KSB7CiAgIGZvciAoc2l6ZV90IGkgPSAxNjsgaSA8PSAyNTY7IGkg Kj0gMikgewogICAgIHNpemVfdCBzaXplID0gbGFyZ2VfcG93ZXJfb2ZfdHdvIC0gaTsKICAg ICBjaGFyICpwID0gSWRlbnQobmV3IGNoYXJbc2l6ZV0pOwotICAgIEVYUEVDVF9ERUFUSChw W3NpemVdID0gMCwgImlzIGxvY2F0ZWQgMCBieXRlcyB0byB0aGUgcmlnaHQiKTsKKyAgICBF WFBFQ1RfREVBVEgocFtzaXplXSA9IDAsICJpcyBsb2NhdGVkIDAgYnl0ZXMgYWZ0ZXIiKTsK ICAgICBkZWxldGUgW10gcDsKICAgfQogfQpkaWZmIC0tZ2l0IGEvZ2NjL3Rlc3RzdWl0ZS9n KysuZGcvYXNhbi9hc2FuX3N0cl90ZXN0LmNjIGIvZ2NjL3Rlc3RzdWl0ZS9nKysuZGcvYXNh bi9hc2FuX3N0cl90ZXN0LmNjCmluZGV4IDIwN2RlNDIyMzE2Li41NmUxMzY5MzBlNCAxMDA2 NDQKLS0tIGEvZ2NjL3Rlc3RzdWl0ZS9nKysuZGcvYXNhbi9hc2FuX3N0cl90ZXN0LmNjCisr KyBiL2djYy90ZXN0c3VpdGUvZysrLmRnL2FzYW4vYXNhbl9zdHJfdGVzdC5jYwpAQCAtMTks NyArMTksNyBAQCBzdGF0aWMgY2hhciBnbG9iYWxfc3RyaW5nW10gPSAiZ2xvYmFsIjsKIHN0 YXRpYyBzaXplX3QgZ2xvYmFsX3N0cmluZ19sZW5ndGggPSA2OwogCiAvLyBJbnB1dCB0byBh IHRlc3QgaXMgYSB6ZXJvLXRlcm1pbmF0ZWQgc3RyaW5nIHN0ciB3aXRoIGdpdmVuIGxlbmd0 aAotLy8gQWNjZXNzZXMgdG8gdGhlIGJ5dGVzIHRvIHRoZSBsZWZ0IGFuZCB0byB0aGUgcmln aHQgb2Ygc3RyCisvLyBBY2Nlc3NlcyB0byB0aGUgYnl0ZXMgdG8gdGhlIGxlZnQgYW5kIGFm dGVyIHN0cgogLy8gYXJlIHByZXN1bWVkIHRvIHByb2R1Y2UgT09CIGVycm9ycwogdm9pZCBT dHJMZW5PT0JUZXN0VGVtcGxhdGUoY2hhciAqc3RyLCBzaXplX3QgbGVuZ3RoLCBib29sIGlz X2dsb2JhbCkgewogICAvLyBOb3JtYWwgc3RybGVuIGNhbGxzCkBAIC0zMCw3ICszMCw3IEBA IHZvaWQgU3RyTGVuT09CVGVzdFRlbXBsYXRlKGNoYXIgKnN0ciwgc2l6ZV90IGxlbmd0aCwg Ym9vbCBpc19nbG9iYWwpIHsKICAgfQogICAvLyBBcmcgb2Ygc3RybGVuIGlzIG5vdCBtYWxs b2NlZCwgT09CIGFjY2VzcwogICBpZiAoIWlzX2dsb2JhbCkgewotICAgIC8vIFdlIGRvbid0 IGluc2VydCBSZWRab25lcyB0byB0aGUgbGVmdCBvZiBnbG9iYWwgdmFyaWFibGVzCisgICAg Ly8gV2UgZG9uJ3QgaW5zZXJ0IFJlZFpvbmVzIGJlZm9yZSBnbG9iYWwgdmFyaWFibGVzCiAg ICAgRVhQRUNUX0RFQVRIKElkZW50KHN0cmxlbihzdHIgLSAxKSksIExlZnRPT0JSZWFkTWVz c2FnZSgxKSk7CiAgICAgRVhQRUNUX0RFQVRIKElkZW50KHN0cmxlbihzdHIgLSA1KSksIExl ZnRPT0JSZWFkTWVzc2FnZSg1KSk7CiAgIH0KZGlmZiAtLWdpdCBhL2djYy90ZXN0c3VpdGUv ZysrLmRnL2FzYW4vYXNhbl90ZXN0LmNjIGIvZ2NjL3Rlc3RzdWl0ZS9nKysuZGcvYXNhbi9h c2FuX3Rlc3QuY2MKaW5kZXggZGJmMWE2YWMwYTUuLjBkOTc2ODAxY2YxIDEwMDY0NAotLS0g YS9nY2MvdGVzdHN1aXRlL2crKy5kZy9hc2FuL2FzYW5fdGVzdC5jYworKysgYi9nY2MvdGVz dHN1aXRlL2crKy5kZy9hc2FuL2FzYW5fdGVzdC5jYwpAQCAtMjg2LDcgKzI4Niw3IEBAIFRF U1QoQWRkcmVzc1Nhbml0aXplciwgU2lnbmFsVGVzdCkgewogCiBzdGF0aWMgdm9pZCBUZXN0 TGFyZ2VNYWxsb2Moc2l6ZV90IHNpemUpIHsKICAgY2hhciBidWZmWzEwMjRdOwotICBzcHJp bnRmKGJ1ZmYsICJpcyBsb2NhdGVkIDEgYnl0ZXMgdG8gdGhlIGxlZnQgb2YgJWx1LWJ5dGUi LCAobG9uZylzaXplKTsKKyAgc3ByaW50ZihidWZmLCAiaXMgbG9jYXRlZCAxIGJ5dGVzIGJl Zm9yZSAlbHUtYnl0ZSIsIChsb25nKXNpemUpOwogICBFWFBFQ1RfREVBVEgoSWRlbnQoKGNo YXIqKW1hbGxvYyhzaXplKSlbLTFdID0gMCwgYnVmZik7CiB9CiAKQEAgLTMwMSw3ICszMDEs NyBAQCBURVNUKEFkZHJlc3NTYW5pdGl6ZXIsIEh1Z2VNYWxsb2NUZXN0KSB7CiAgIGlmIChT QU5JVElaRVJfV09SRFNJWkUgIT0gNjQgfHwgQVNBTl9BVk9JRF9FWFBFTlNJVkVfVEVTVFMp IHJldHVybjsKICAgc2l6ZV90IG5fbWVncyA9IDQxMDA7CiAgIEVYUEVDVF9ERUFUSChJZGVu dCgoY2hhciopbWFsbG9jKG5fbWVncyA8PCAyMCkpWy0xXSA9IDAsCi0gICAgICAgICAgICAg ICAiaXMgbG9jYXRlZCAxIGJ5dGVzIHRvIHRoZSBsZWZ0fCIKKyAgICAgICAgICAgICAgICJp cyBsb2NhdGVkIDEgYnl0ZXMgYmVmb3JlfCIKICAgICAgICAgICAgICAgICJBZGRyZXNzU2Fu aXRpemVyIGZhaWxlZCB0byBhbGxvY2F0ZSIpOwogfQogCkBAIC0zMTYsOSArMzE2LDkgQEAg VEVTVChBZGRyZXNzU2FuaXRpemVyLCBtZW1hbGlnbikgewogICBmb3IgKGludCBhbGlnbiA9 IDE2OyBhbGlnbiA8PSAoMSA8PCAyMyk7IGFsaWduICo9IDIpIHsKICAgICBzaXplX3Qgc2l6 ZSA9IGFsaWduICogNTsKICAgICBFWFBFQ1RfREVBVEgoTWVtYWxpZ25SdW4oYWxpZ24sIHNp emUsIC0xKSwKLSAgICAgICAgICAgICAgICAgImlzIGxvY2F0ZWQgMSBieXRlcyB0byB0aGUg bGVmdCIpOworICAgICAgICAgICAgICAgICAiaXMgbG9jYXRlZCAxIGJ5dGVzIGJlZm9yZSIp OwogICAgIEVYUEVDVF9ERUFUSChNZW1hbGlnblJ1bihhbGlnbiwgc2l6ZSwgc2l6ZSArIDEp LAotICAgICAgICAgICAgICAgICAiaXMgbG9jYXRlZCAxIGJ5dGVzIHRvIHRoZSByaWdodCIp OworICAgICAgICAgICAgICAgICAiaXMgbG9jYXRlZCAxIGJ5dGVzIGFmdGVyIik7CiAgIH0K IH0KICNlbmRpZiAgLy8gU0FOSVRJWkVSX1RFU1RfSEFTX01FTUFMSUdOCkBAIC02OTYsNyAr Njk2LDcgQEAgVEVTVChBZGRyZXNzU2FuaXRpemVyLCBTdG9yZTEyOFRlc3QpIHsKICAgRVhQ RUNUX0RFQVRIKF9tbV9zdG9yZV9zaTEyOCgoX19tMTI4aSopcCwgdmFsdWVfd2lkZSksCiAg ICAgICAgICAgICAgICAiV1JJVEUgb2Ygc2l6ZSAxNiIpOwogICBFWFBFQ1RfREVBVEgoX21t X3N0b3JlX3NpMTI4KChfX20xMjhpKilwLCB2YWx1ZV93aWRlKSwKLSAgICAgICAgICAgICAg ICJsb2NhdGVkIDAgYnl0ZXMgdG8gdGhlIHJpZ2h0IG9mIDEyLWJ5dGUiKTsKKyAgICAgICAg ICAgICAgICJsb2NhdGVkIDAgYnl0ZXMgYWZ0ZXIgMTItYnl0ZSIpOwogICBmcmVlKGEpOwog fQogI2VuZGlmCkBAIC03MDksNyArNzA5LDcgQEAgc3RyaW5nIFJpZ2h0T09CRXJyb3JNZXNz YWdlKGludCBvb2JfZGlzdGFuY2UsIGJvb2wgaXNfd3JpdGUpIHsKICNpZiAhR1RFU1RfVVNF U19TSU1QTEVfUkUKICAgICAgICAgICAiYnVmZmVyLW92ZXJmbG93Liolcy4qIgogI2VuZGlm Ci0gICAgICAgICAgImxvY2F0ZWQgJWQgYnl0ZXMgdG8gdGhlIHJpZ2h0IiwKKyAgICAgICAg ICAibG9jYXRlZCAlZCBieXRlcyBhZnRlciIsCiAjaWYgIUdURVNUX1VTRVNfU0lNUExFX1JF CiAgICAgICAgICAgaXNfd3JpdGUgPyAiV1JJVEUiIDogIlJFQUQiLAogI2VuZGlmCkBAIC03 MzMsNyArNzMzLDcgQEAgc3RyaW5nIExlZnRPT0JFcnJvck1lc3NhZ2UoaW50IG9vYl9kaXN0 YW5jZSwgYm9vbCBpc193cml0ZSkgewogI2lmICFHVEVTVF9VU0VTX1NJTVBMRV9SRQogICAg ICAgICAgIEFTQU5fUENSRV9ET1RBTEwgIiVzLioiCiAjZW5kaWYKLSAgICAgICAgICAibG9j YXRlZCAlZCBieXRlcyB0byB0aGUgbGVmdCIsCisgICAgICAgICAgImxvY2F0ZWQgJWQgYnl0 ZXMgYmVmb3JlIiwKICNpZiAhR1RFU1RfVVNFU19TSU1QTEVfUkUKICAgICAgICAgICBpc193 cml0ZSA/ICJXUklURSIgOiAiUkVBRCIsCiAjZW5kaWYKQEAgLTc1Miw3ICs3NTIsNyBAQCBz dHJpbmcgTGVmdE9PQlJlYWRNZXNzYWdlKGludCBvb2JfZGlzdGFuY2UpIHsKIHN0cmluZyBM ZWZ0T09CQWNjZXNzTWVzc2FnZShpbnQgb29iX2Rpc3RhbmNlKSB7CiAgIGFzc2VydChvb2Jf ZGlzdGFuY2UgPiAwKTsKICAgY2hhciBleHBlY3RlZF9zdHJbMTAwXTsKLSAgc3ByaW50Zihl eHBlY3RlZF9zdHIsICJsb2NhdGVkICVkIGJ5dGVzIHRvIHRoZSBsZWZ0Iiwgb29iX2Rpc3Rh bmNlKTsKKyAgc3ByaW50ZihleHBlY3RlZF9zdHIsICJsb2NhdGVkICVkIGJ5dGVzIGJlZm9y ZSIsIG9vYl9kaXN0YW5jZSk7CiAgIHJldHVybiBzdHJpbmcoZXhwZWN0ZWRfc3RyKTsKIH0K IApAQCAtNzc0LDcgKzc3NCw3IEBAIGNoYXIqIE1hbGxvY0FuZE1lbXNldFN0cmluZyhzaXpl X3Qgc2l6ZSkgewogICBFWFBFQ1RfREVBVEgoUkVBRF9OX0JZVEVTLCAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKICAgICAgICAgICAgICAgIEFTQU5f UENSRV9ET1RBTEwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBc CiAgICAgICAgICAgICAgICAiQWRkcmVzc1Nhbml0aXplcjogaGVhcC1idWZmZXItb3ZlcmZs b3ciICAgICAgICAgICAgICAgICAgXAotICAgICAgICAgICAgICAgIi4qIGlzIGxvY2F0ZWQg MCBieXRlcyB0byB0aGUgcmlnaHQgb2YgMTAtYnl0ZSByZWdpb24iKTsgIFwKKyAgICAgICAg ICAgICAgICIuKiBpcyBsb2NhdGVkIDAgYnl0ZXMgYWZ0ZXIgMTAtYnl0ZSByZWdpb24iKTsg IFwKICAgY2xvc2UoZmQpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBcCiAgIGRlbGV0ZSBbXSB4OyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAogCkBAIC05 NzYsMjMgKzk3NiwyMyBAQCBURVNUKEFkZHJlc3NTYW5pdGl6ZXIsIEdsb2JhbFRlc3QpIHsK ICAgZ2xvYjVbSWRlbnQoNCldID0gMDsKIAogICBFWFBFQ1RfREVBVEgoZ2xvYjVbSWRlbnQo NSldID0gMCwKLSAgICAgICAgICAgICAgICIwIGJ5dGVzIHRvIHRoZSByaWdodCBvZiBnbG9i YWwgdmFyaWFibGUuKmdsb2I1Liogc2l6ZSA1Iik7CisgICAgICAgICAgICAgICAiMCBieXRl cyBhZnRlciBnbG9iYWwgdmFyaWFibGUuKmdsb2I1Liogc2l6ZSA1Iik7CiAgIEVYUEVDVF9E RUFUSChnbG9iNVtJZGVudCg1KzYpXSA9IDAsCi0gICAgICAgICAgICAgICAiNiBieXRlcyB0 byB0aGUgcmlnaHQgb2YgZ2xvYmFsIHZhcmlhYmxlLipnbG9iNS4qIHNpemUgNSIpOworICAg ICAgICAgICAgICAgIjYgYnl0ZXMgYWZ0ZXIgZ2xvYmFsIHZhcmlhYmxlLipnbG9iNS4qIHNp emUgNSIpOwogICBJZGVudChzdGF0aWMxMTApOyAgLy8gYXZvaWQgb3B0aW1pemF0aW9ucwog ICBzdGF0aWMxMTBbSWRlbnQoMCldID0gMDsKICAgc3RhdGljMTEwW0lkZW50KDEwOSldID0g MDsKICAgRVhQRUNUX0RFQVRIKHN0YXRpYzExMFtJZGVudCgxMTApXSA9IDAsCi0gICAgICAg ICAgICAgICAiMCBieXRlcyB0byB0aGUgcmlnaHQgb2YgZ2xvYmFsIHZhcmlhYmxlIik7Cisg ICAgICAgICAgICAgICAiMCBieXRlcyBhZnRlciBnbG9iYWwgdmFyaWFibGUiKTsKICAgRVhQ RUNUX0RFQVRIKHN0YXRpYzExMFtJZGVudCgxMTArNyldID0gMCwKLSAgICAgICAgICAgICAg ICI3IGJ5dGVzIHRvIHRoZSByaWdodCBvZiBnbG9iYWwgdmFyaWFibGUiKTsKKyAgICAgICAg ICAgICAgICI3IGJ5dGVzIGFmdGVyIGdsb2JhbCB2YXJpYWJsZSIpOwogCiAgIElkZW50KGZ1 bmNfc3RhdGljMTUpOyAgLy8gYXZvaWQgb3B0aW1pemF0aW9ucwogICBmdW5jX3N0YXRpYzE1 W0lkZW50KDApXSA9IDA7CiAgIEVYUEVDVF9ERUFUSChmdW5jX3N0YXRpYzE1W0lkZW50KDE1 KV0gPSAwLAotICAgICAgICAgICAgICAgIjAgYnl0ZXMgdG8gdGhlIHJpZ2h0IG9mIGdsb2Jh bCB2YXJpYWJsZSIpOworICAgICAgICAgICAgICAgIjAgYnl0ZXMgYWZ0ZXIgZ2xvYmFsIHZh cmlhYmxlIik7CiAgIEVYUEVDVF9ERUFUSChmdW5jX3N0YXRpYzE1W0lkZW50KDE1ICsgOSld ID0gMCwKLSAgICAgICAgICAgICAgICI5IGJ5dGVzIHRvIHRoZSByaWdodCBvZiBnbG9iYWwg dmFyaWFibGUiKTsKKyAgICAgICAgICAgICAgICI5IGJ5dGVzIGFmdGVyIGdsb2JhbCB2YXJp YWJsZSIpOwogCiAgIElkZW50KGZzMSk7CiAgIElkZW50KGZzMik7CkBAIC0xMDAwLDEyICsx MDAwLDEyIEBAIFRFU1QoQWRkcmVzc1Nhbml0aXplciwgR2xvYmFsVGVzdCkgewogCiAgIC8v IFdlIGRvbid0IGNyZWF0ZSBsZWZ0IHJlZHpvbmVzLCBzbyB0aGlzIGlzIG5vdCAxMDAlIGd1 YXJhbnRlZWQgdG8gZmFpbC4KICAgLy8gQnV0IG1vc3QgbGlrZWx5IHdpbGwuCi0gIEVYUEVD VF9ERUFUSChmczJbSWRlbnQoLTEpXSA9IDAsICJpcyBsb2NhdGVkLipvZiBnbG9iYWwgdmFy aWFibGUiKTsKKyAgRVhQRUNUX0RFQVRIKGZzMltJZGVudCgtMSldID0gMCwgImlzIGxvY2F0 ZWQuKmdsb2JhbCB2YXJpYWJsZSIpOwogCiAgIEVYUEVDVF9ERUFUSChJZGVudChJZGVudChD b25zdEdsb2IpWzhdKSwKLSAgICAgICAgICAgICAgICJpcyBsb2NhdGVkIDEgYnl0ZXMgdG8g dGhlIHJpZ2h0IG9mIC4qQ29uc3RHbG9iIik7CisgICAgICAgICAgICAgICAiaXMgbG9jYXRl ZCAxIGJ5dGVzIGFmdGVyIC4qQ29uc3RHbG9iIik7CiAgIEVYUEVDVF9ERUFUSChJZGVudChJ ZGVudChTdGF0aWNDb25zdEdsb2IpWzVdKSwKLSAgICAgICAgICAgICAgICJpcyBsb2NhdGVk IDIgYnl0ZXMgdG8gdGhlIHJpZ2h0IG9mIC4qU3RhdGljQ29uc3RHbG9iIik7CisgICAgICAg ICAgICAgICAiaXMgbG9jYXRlZCAyIGJ5dGVzIGFmdGVyIC4qU3RhdGljQ29uc3RHbG9iIik7 CiAKICAgLy8gY2FsbCBzdHVmZiBmcm9tIGFub3RoZXIgZmlsZS4KICAgR2xvYmFsc1Rlc3Qo MCk7CmRpZmYgLS1naXQgYS9nY2MvdGVzdHN1aXRlL2crKy5kZy9hc2FuL2xhcmdlLWZ1bmMt dGVzdC0xLkMgYi9nY2MvdGVzdHN1aXRlL2crKy5kZy9hc2FuL2xhcmdlLWZ1bmMtdGVzdC0x LkMKaW5kZXggYWM5ZGViODk4YzguLmE0MzIzNWJhMWNiIDEwMDY0NAotLS0gYS9nY2MvdGVz dHN1aXRlL2crKy5kZy9hc2FuL2xhcmdlLWZ1bmMtdGVzdC0xLkMKKysrIGIvZ2NjL3Rlc3Rz dWl0ZS9nKysuZGcvYXNhbi9sYXJnZS1mdW5jLXRlc3QtMS5DCkBAIC00MCw3ICs0MCw3IEBA IGludCBtYWluKCkgewogLy8geyBkZy1vdXRwdXQgIjB4XFswLTlhLWZcXSsgYXQgcGMgMHhc WzAtOWEtZlxdKyBicCAweFxbMC05YS1mXF0rIHNwIDB4XFswLTlhLWZcXStcW15cblxyXSoo XG58XHJcbnxccikiIH0KIC8vIHsgZGctb3V0cHV0ICJcW15cblxyXSpSRUFEIG9mIHNpemUg NCBhdCAweFxbMC05YS1mXF0rIHRocmVhZCBUMFxbXlxuXHJdKihcbnxcclxufFxyKSIgfQog Ly8geyBkZy1vdXRwdXQgIiAgICAjMCAweFxbMC05YS1mXF0rICsoaW4gXFteXG5ccl0qTGFy Z2VGdW5jdGlvblxbXlxuXHJdKihsYXJnZS1mdW5jLXRlc3QtMS5DOjE4fFxbXlxuXHJdKjow fFxbXlxuXHJdKlxcKzB4XFswLTlhLXpcXSopfFxbKFxdKS4qKFxufFxyXG58XHIpIiB9Ci0v LyB7IGRnLW91dHB1dCAiXFteXG5ccl0qMHhcWzAtOWEtZlxdKyBpcyBsb2NhdGVkIDQ0IGJ5 dGVzIHRvIHRoZSByaWdodCBvZiA0MDAtYnl0ZSByZWdpb24uKihcbnxcclxufFxyKSIgfQor Ly8geyBkZy1vdXRwdXQgIlxbXlxuXHJdKjB4XFswLTlhLWZcXSsgaXMgbG9jYXRlZCA0NCBi eXRlcyBhZnRlciA0MDAtYnl0ZSByZWdpb24uKihcbnxcclxufFxyKSIgfQogLy8geyBkZy1v dXRwdXQgIlxbXlxuXHJdKmFsbG9jYXRlZCBieSB0aHJlYWQgVDAgaGVyZTpcW15cblxyXSoo XG58XHJcbnxccikiIH0KIC8vIHsgZGctb3V0cHV0ICIgICAgIzAoIDB4XFswLTlhLWZcXSsg KyhpbiBfKihpbnRlcmNlcHRvcl98KW1hbGxvY3xcWyhcXSlcW15cblxyXSooXG58XHJcbnxc cikiIH0KIC8vIHsgZGctb3V0cHV0ICIgICAgIzF8KSAweFxbMC05YS1mXF0rICsoaW4gKG9w ZXJhdG9yIG5ld3wod3JhcHwpXypfWm5cW2F3XF1cW21qXF0pfFxbKFxdKVxbXlxuXHJdKihc bnxcclxufFxyKSIgfQotLSAKMi4zOC4xCgo= --------------7F0eFLoDD6Z7j0la1vdYwN0p Content-Type: text/x-patch; charset=UTF-8; name="0002-libsanitizer-Apply-local-patches.patch" Content-Disposition: attachment; filename="0002-libsanitizer-Apply-local-patches.patch" Content-Transfer-Encoding: base64 RnJvbSBkZGZhNzNhZjg1YTdkZDg2NjM5Y2E0MzMzMjc0OThjYmM5Mzc1N2I1IE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBNYXJ0aW4gTGlza2EgPG1saXNrYUBzdXNlLmN6PgpE YXRlOiBUaHUsIDUgTWF5IDIwMjIgMTI6NTI6NDQgKzAyMDAKU3ViamVjdDogW1BBVENIIDIv M10gbGlic2FuaXRpemVyOiBBcHBseSBsb2NhbCBwYXRjaGVzCgotLS0KIGxpYnNhbml0aXpl ci9hc2FuL2FzYW5fZ2xvYmFscy5jcHAgICAgICAgICAgICB8IDE5IC0tLS0tLQogbGlic2Fu aXRpemVyL2FzYW4vYXNhbl9pbnRlcmNlcHRvcnMuaCAgICAgICAgIHwgIDcgKystCiBsaWJz YW5pdGl6ZXIvYXNhbi9hc2FuX21hcHBpbmcuaCAgICAgICAgICAgICAgfCAgMiArLQogLi4u L3Nhbml0aXplcl9saW51eF9saWJjZGVwLmNwcCAgICAgICAgICAgICAgIHwgIDQgKysKIC4u Li9zYW5pdGl6ZXJfY29tbW9uL3Nhbml0aXplcl9tYWMuY3BwICAgICAgICB8IDEyICsrKy0K IGxpYnNhbml0aXplci9zYW5pdGl6ZXJfY29tbW9uL3Nhbml0aXplcl9tYWMuaCB8IDIwICsr KysrKwogLi4uL3Nhbml0aXplcl9wbGF0Zm9ybV9saW1pdHNfbGludXguY3BwICAgICAgIHwg IDUgKy0KIC4uLi9zYW5pdGl6ZXJfcHJvY21hcHNfbWFjLmNwcCAgICAgICAgICAgICAgICB8 IDYyICsrKy0tLS0tLS0tLS0tLS0tLS0KIC4uLi9zYW5pdGl6ZXJfY29tbW9uL3Nhbml0aXpl cl9zdGFja3RyYWNlLmNwcCB8IDE3ICsrKy0tCiBsaWJzYW5pdGl6ZXIvdHNhbi90c2FuX3J0 bF9wcGM2NC5TICAgICAgICAgICAgfCAgMSArCiBsaWJzYW5pdGl6ZXIvdWJzYW4vdWJzYW5f ZmxhZ3MuY3BwICAgICAgICAgICAgfCAgMSArCiBsaWJzYW5pdGl6ZXIvdWJzYW4vdWJzYW5f aGFuZGxlcnMuY3BwICAgICAgICAgfCAxNSArKysrKwogbGlic2FuaXRpemVyL3Vic2FuL3Vi c2FuX2hhbmRsZXJzLmggICAgICAgICAgIHwgIDggKysrCiBsaWJzYW5pdGl6ZXIvdWJzYW4v dWJzYW5fcGxhdGZvcm0uaCAgICAgICAgICAgfCAgMiArCiAxNCBmaWxlcyBjaGFuZ2VkLCA5 NCBpbnNlcnRpb25zKCspLCA4MSBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9saWJzYW5p dGl6ZXIvYXNhbi9hc2FuX2dsb2JhbHMuY3BwIGIvbGlic2FuaXRpemVyL2FzYW4vYXNhbl9n bG9iYWxzLmNwcAppbmRleCBiNzgwMTI4YzlhZC4uOGYzNDkxZjAxOTkgMTAwNjQ0Ci0tLSBh L2xpYnNhbml0aXplci9hc2FuL2FzYW5fZ2xvYmFscy5jcHAKKysrIGIvbGlic2FuaXRpemVy L2FzYW4vYXNhbl9nbG9iYWxzLmNwcApAQCAtMTU0LDIzICsxNTQsNiBAQCBzdGF0aWMgdm9p ZCBDaGVja09EUlZpb2xhdGlvblZpYUluZGljYXRvcihjb25zdCBHbG9iYWwgKmcpIHsKICAg fQogfQogCi0vLyBDaGVjayBPRFIgdmlvbGF0aW9uIGZvciBnaXZlbiBnbG9iYWwgRyBieSBj aGVja2luZyBpZiBpdCdzIGFscmVhZHkgcG9pc29uZWQuCi0vLyBXZSB1c2UgdGhpcyBtZXRo b2QgaW4gY2FzZSBjb21waWxlciBkb2Vzbid0IHVzZSBwcml2YXRlIGFsaWFzZXMgZm9yIGds b2JhbAotLy8gdmFyaWFibGVzLgotc3RhdGljIHZvaWQgQ2hlY2tPRFJWaW9sYXRpb25WaWFQ b2lzb25pbmcoY29uc3QgR2xvYmFsICpnKSB7Ci0gIGlmIChfX2FzYW5fcmVnaW9uX2lzX3Bv aXNvbmVkKGctPmJlZywgZy0+c2l6ZV93aXRoX3JlZHpvbmUpKSB7Ci0gICAgLy8gVGhpcyBj aGVjayBtYXkgbm90IGJlIGVub3VnaDogaWYgdGhlIGZpcnN0IGdsb2JhbCBpcyBtdWNoIGxh cmdlcgotICAgIC8vIHRoZSBlbnRpcmUgcmVkem9uZSBvZiB0aGUgc2Vjb25kIGdsb2JhbCBt YXkgYmUgd2l0aGluIHRoZSBmaXJzdCBnbG9iYWwuCi0gICAgZm9yIChMaXN0T2ZHbG9iYWxz ICpsID0gbGlzdF9vZl9hbGxfZ2xvYmFsczsgbDsgbCA9IGwtPm5leHQpIHsKLSAgICAgIGlm IChnLT5iZWcgPT0gbC0+Zy0+YmVnICYmCi0gICAgICAgICAgKGZsYWdzKCktPmRldGVjdF9v ZHJfdmlvbGF0aW9uID49IDIgfHwgZy0+c2l6ZSAhPSBsLT5nLT5zaXplKSAmJgotICAgICAg ICAgICFJc09EUlZpb2xhdGlvblN1cHByZXNzZWQoZy0+bmFtZSkpCi0gICAgICAgIFJlcG9y dE9EUlZpb2xhdGlvbihnLCBGaW5kUmVnaXN0cmF0aW9uU2l0ZShnKSwKLSAgICAgICAgICAg ICAgICAgICAgICAgICAgIGwtPmcsIEZpbmRSZWdpc3RyYXRpb25TaXRlKGwtPmcpKTsKLSAg ICB9Ci0gIH0KLX0KLQogLy8gQ2xhbmcgcHJvdmlkZXMgdHdvIGRpZmZlcmVudCB3YXlzIGZv ciBnbG9iYWwgdmFyaWFibGVzIHByb3RlY3Rpb246CiAvLyBpdCBjYW4gcG9pc29uIHRoZSBn bG9iYWwgaXRzZWxmIG9yIGl0cyBwcml2YXRlIGFsaWFzLiBJbiBmb3JtZXIKIC8vIGNhc2Ug d2UgbWF5IHBvaXNvbiBzYW1lIHN5bWJvbCBtdWx0aXBsZSB0aW1lcywgdGhhdCBjYW4gaGVs cCB1cyB0bwpAQCAtMjE2LDggKzE5OSw2IEBAIHN0YXRpYyB2b2lkIFJlZ2lzdGVyR2xvYmFs KGNvbnN0IEdsb2JhbCAqZykgewogICAgIC8vIHdoZXJlIHR3byBnbG9iYWxzIHdpdGggdGhl IHNhbWUgbmFtZSBhcmUgZGVmaW5lZCBpbiBkaWZmZXJlbnQgbW9kdWxlcy4KICAgICBpZiAo VXNlT0RSSW5kaWNhdG9yKGcpKQogICAgICAgQ2hlY2tPRFJWaW9sYXRpb25WaWFJbmRpY2F0 b3IoZyk7Ci0gICAgZWxzZQotICAgICAgQ2hlY2tPRFJWaW9sYXRpb25WaWFQb2lzb25pbmco Zyk7CiAgIH0KICAgaWYgKENhblBvaXNvbk1lbW9yeSgpKQogICAgIFBvaXNvblJlZFpvbmVz KCpnKTsKZGlmZiAtLWdpdCBhL2xpYnNhbml0aXplci9hc2FuL2FzYW5faW50ZXJjZXB0b3Jz LmggYi9saWJzYW5pdGl6ZXIvYXNhbi9hc2FuX2ludGVyY2VwdG9ycy5oCmluZGV4IGM0YmYw ODdlYTE3Li45YTZjMjJjNzY0YSAxMDA2NDQKLS0tIGEvbGlic2FuaXRpemVyL2FzYW4vYXNh bl9pbnRlcmNlcHRvcnMuaAorKysgYi9saWJzYW5pdGl6ZXIvYXNhbi9hc2FuX2ludGVyY2Vw dG9ycy5oCkBAIC04MSw3ICs4MSwxMiBAQCB2b2lkIEluaXRpYWxpemVQbGF0Zm9ybUludGVy Y2VwdG9ycygpOwogI2lmIEFTQU5fSEFTX0VYQ0VQVElPTlMgJiYgIVNBTklUSVpFUl9XSU5E T1dTICYmICFTQU5JVElaRVJfU09MQVJJUyAmJiBcCiAgICAgIVNBTklUSVpFUl9ORVRCU0QK ICMgZGVmaW5lIEFTQU5fSU5URVJDRVBUX19fQ1hBX1RIUk9XIDEKLSMgZGVmaW5lIEFTQU5f SU5URVJDRVBUX19fQ1hBX1JFVEhST1dfUFJJTUFSWV9FWENFUFRJT04gMQorIyBpZiAhIGRl ZmluZWQoQVNBTl9IQVNfQ1hBX1JFVEhST1dfUFJJTUFSWV9FWENFUFRJT04pIFwKKyAgICAg fHwgQVNBTl9IQVNfQ1hBX1JFVEhST1dfUFJJTUFSWV9FWENFUFRJT04KKyMgICBkZWZpbmUg QVNBTl9JTlRFUkNFUFRfX19DWEFfUkVUSFJPV19QUklNQVJZX0VYQ0VQVElPTiAxCisjIGVs c2UKKyMgICBkZWZpbmUgQVNBTl9JTlRFUkNFUFRfX19DWEFfUkVUSFJPV19QUklNQVJZX0VY Q0VQVElPTiAwCisjIGVuZGlmCiAjIGlmIGRlZmluZWQoX0dMSUJDWFhfU0pMSl9FWENFUFRJ T05TKSB8fCAoU0FOSVRJWkVSX0lPUyAmJiBkZWZpbmVkKF9fYXJtX18pKQogIyAgZGVmaW5l IEFTQU5fSU5URVJDRVBUX19VTldJTkRfU0pMSl9SQUlTRUVYQ0VQVElPTiAxCiAjIGVsc2UK ZGlmZiAtLWdpdCBhL2xpYnNhbml0aXplci9hc2FuL2FzYW5fbWFwcGluZy5oIGIvbGlic2Fu aXRpemVyL2FzYW4vYXNhbl9tYXBwaW5nLmgKaW5kZXggYzVmOTVjMDdhMjEuLjQ3Y2NmODQ0 NGQzIDEwMDY0NAotLS0gYS9saWJzYW5pdGl6ZXIvYXNhbi9hc2FuX21hcHBpbmcuaAorKysg Yi9saWJzYW5pdGl6ZXIvYXNhbi9hc2FuX21hcHBpbmcuaApAQCAtMTkwLDcgKzE5MCw3IEBA CiAjICBlbGlmIGRlZmluZWQoX19hYXJjaDY0X18pCiAjICAgIGRlZmluZSBBU0FOX1NIQURP V19PRkZTRVRfQ09OU1QgMHgwMDAwMDAxMDAwMDAwMDAwCiAjICBlbGlmIGRlZmluZWQoX19w b3dlcnBjNjRfXykKLSMgICAgZGVmaW5lIEFTQU5fU0hBRE9XX09GRlNFVF9DT05TVCAweDAw MDAxMDAwMDAwMDAwMDAKKyMgICAgZGVmaW5lIEFTQU5fU0hBRE9XX09GRlNFVF9DT05TVCAw eDAwMDAwMjAwMDAwMDAwMDAKICMgIGVsaWYgZGVmaW5lZChfX3MzOTB4X18pCiAjICAgIGRl ZmluZSBBU0FOX1NIQURPV19PRkZTRVRfQ09OU1QgMHgwMDEwMDAwMDAwMDAwMDAwCiAjICBl bGlmIFNBTklUSVpFUl9GUkVFQlNECmRpZmYgLS1naXQgYS9saWJzYW5pdGl6ZXIvc2FuaXRp emVyX2NvbW1vbi9zYW5pdGl6ZXJfbGludXhfbGliY2RlcC5jcHAgYi9saWJzYW5pdGl6ZXIv c2FuaXRpemVyX2NvbW1vbi9zYW5pdGl6ZXJfbGludXhfbGliY2RlcC5jcHAKaW5kZXggZDc0 ODUxYzQzZTEuLjU2ZDIzMTY0M2JhIDEwMDY0NAotLS0gYS9saWJzYW5pdGl6ZXIvc2FuaXRp emVyX2NvbW1vbi9zYW5pdGl6ZXJfbGludXhfbGliY2RlcC5jcHAKKysrIGIvbGlic2FuaXRp emVyL3Nhbml0aXplcl9jb21tb24vc2FuaXRpemVyX2xpbnV4X2xpYmNkZXAuY3BwCkBAIC04 MjIsOSArODIyLDEzIEBAIHUzMiBHZXROdW1iZXJPZkNQVXMoKSB7CiAjZWxpZiBTQU5JVEla RVJfU09MQVJJUwogICByZXR1cm4gc3lzY29uZihfU0NfTlBST0NFU1NPUlNfT05MTik7CiAj ZWxzZQorI2lmIGRlZmluZWQoQ1BVX0NPVU5UKQogICBjcHVfc2V0X3QgQ1BVczsKICAgQ0hF Q0tfRVEoc2NoZWRfZ2V0YWZmaW5pdHkoMCwgc2l6ZW9mKGNwdV9zZXRfdCksICZDUFVzKSwg MCk7CiAgIHJldHVybiBDUFVfQ09VTlQoJkNQVXMpOworI2Vsc2UKKyAgcmV0dXJuIDE7Cisj ZW5kaWYKICNlbmRpZgogfQogCmRpZmYgLS1naXQgYS9saWJzYW5pdGl6ZXIvc2FuaXRpemVy X2NvbW1vbi9zYW5pdGl6ZXJfbWFjLmNwcCBiL2xpYnNhbml0aXplci9zYW5pdGl6ZXJfY29t bW9uL3Nhbml0aXplcl9tYWMuY3BwCmluZGV4IDIzYzRjNjYxOWRlLi5hMjU5MWU5OTZlNyAx MDA2NDQKLS0tIGEvbGlic2FuaXRpemVyL3Nhbml0aXplcl9jb21tb24vc2FuaXRpemVyX21h Yy5jcHAKKysrIGIvbGlic2FuaXRpemVyL3Nhbml0aXplcl9jb21tb24vc2FuaXRpemVyX21h Yy5jcHAKQEAgLTM4LDcgKzM4LDcgQEAKIGV4dGVybiBjaGFyICoqZW52aXJvbjsKICNlbmRp ZgogCi0jaWYgZGVmaW5lZChfX2hhc19pbmNsdWRlKSAmJiBfX2hhc19pbmNsdWRlKDxvcy90 cmFjZS5oPikKKyNpZiBkZWZpbmVkKF9faGFzX2luY2x1ZGUpICYmIF9faGFzX2luY2x1ZGUo PG9zL3RyYWNlLmg+KSAmJiBkZWZpbmVkKF9fQkxPQ0tTX18pCiAjZGVmaW5lIFNBTklUSVpF Ul9PU19UUkFDRSAxCiAjaW5jbHVkZSA8b3MvdHJhY2UuaD4KICNlbHNlCkBAIC03MSw3ICs3 MSwxNSBAQCBleHRlcm4gIkMiIHsKICNpbmNsdWRlIDxtYWNoL21hY2hfdGltZS5oPgogI2lu Y2x1ZGUgPG1hY2gvdm1fc3RhdGlzdGljcy5oPgogI2luY2x1ZGUgPG1hbGxvYy9tYWxsb2Mu aD4KLSNpbmNsdWRlIDxvcy9sb2cuaD4KKyNpZiBkZWZpbmVkKF9faGFzX2J1aWx0aW4pICYm IF9faGFzX2J1aWx0aW4oX19idWlsdGluX29zX2xvZ19mb3JtYXQpCisjIGluY2x1ZGUgPG9z L2xvZy5oPgorI2Vsc2UKKyAgIC8qIFdpdGhvdXQgc3VwcG9ydCBmb3IgX19idWlsdGluX29z X2xvZ19mb3JtYXQsIGZhbGwgYmFjayB0byB0aGUgb2xkZXIKKyAgICAgIG1ldGhvZC4gICov CisjIGRlZmluZSBPU19MT0dfREVGQVVMVCAwCisjIGRlZmluZSBvc19sb2dfZXJyb3IoQSxC LEMpIFwKKyAgYXNsX2xvZyhudWxscHRyLCBudWxscHRyLCBBU0xfTEVWRUxfRVJSLCAiJXMi LCAoQykpOworI2VuZGlmCiAjaW5jbHVkZSA8cHRocmVhZC5oPgogI2luY2x1ZGUgPHB0aHJl YWQvaW50cm9zcGVjdGlvbi5oPgogI2luY2x1ZGUgPHNjaGVkLmg+CmRpZmYgLS1naXQgYS9s aWJzYW5pdGl6ZXIvc2FuaXRpemVyX2NvbW1vbi9zYW5pdGl6ZXJfbWFjLmggYi9saWJzYW5p dGl6ZXIvc2FuaXRpemVyX2NvbW1vbi9zYW5pdGl6ZXJfbWFjLmgKaW5kZXggZjBhOTdkMDk4 ZWUuLjFjZjJlMjk4Y2M5IDEwMDY0NAotLS0gYS9saWJzYW5pdGl6ZXIvc2FuaXRpemVyX2Nv bW1vbi9zYW5pdGl6ZXJfbWFjLmgKKysrIGIvbGlic2FuaXRpemVyL3Nhbml0aXplcl9jb21t b24vc2FuaXRpemVyX21hYy5oCkBAIC0xNCw2ICsxNCwyNiBAQAogCiAjaW5jbHVkZSAic2Fu aXRpemVyX2NvbW1vbi5oIgogI2luY2x1ZGUgInNhbml0aXplcl9wbGF0Zm9ybS5oIgorCisv KiBUQVJHRVRfT1NfT1NYIGlzIG5vdCBwcmVzZW50IGluIFNES3MgYmVmb3JlIERhcndpbjE2 IChtYWNPUyAxMC4xMikgdXNlCisgICBUQVJHRVRfT1NfTUFDICh3ZSBoYXZlIG5vIHN1cHBv cnQgZm9yIGlPUyBpbiBhbnkgZm9ybSBmb3IgdGhlc2UgdmVyc2lvbnMsCisgICBzbyB0aGVy ZSdzIG5vIGFtYmlndWl0eSkuICAqLworI2lmICFkZWZpbmVkKFRBUkdFVF9PU19PU1gpICYm IFRBUkdFVF9PU19NQUMKKyMgZGVmaW5lIFRBUkdFVF9PU19PU1ggMQorI2VuZGlmCisKKy8q IE90aGVyIFRBUkdFVF9PU194eHggYXJlIG5vdCBwcmVzZW50IG9uIGVhcmxpZXIgdmVyc2lv bnMsIGRlZmluZSB0aGVtIHRvCisgICAwICh3ZSBoYXZlIG5vIHN1cHBvcnQgZm9yIHRoZW07 IHRoZXkgYXJlIG5vdCB2YWxpZCB0YXJnZXRzIGFueXdheSkuICAqLworI2lmbmRlZiBUQVJH RVRfT1NfSU9TCisjZGVmaW5lIFRBUkdFVF9PU19JT1MgMAorI2VuZGlmCisjaWZuZGVmIFRB UkdFVF9PU19UVgorI2RlZmluZSBUQVJHRVRfT1NfVFYgMAorI2VuZGlmCisjaWZuZGVmIFRB UkdFVF9PU19XQVRDSAorI2RlZmluZSBUQVJHRVRfT1NfV0FUQ0ggMAorI2VuZGlmCisKICNp ZiBTQU5JVElaRVJfQVBQTEUKICNpbmNsdWRlICJzYW5pdGl6ZXJfcG9zaXguaCIKIApkaWZm IC0tZ2l0IGEvbGlic2FuaXRpemVyL3Nhbml0aXplcl9jb21tb24vc2FuaXRpemVyX3BsYXRm b3JtX2xpbWl0c19saW51eC5jcHAgYi9saWJzYW5pdGl6ZXIvc2FuaXRpemVyX2NvbW1vbi9z YW5pdGl6ZXJfcGxhdGZvcm1fbGltaXRzX2xpbnV4LmNwcAppbmRleCBiZjBmMzU1ODQ3Yy4u YzI3OGM4Nzk3ZjcgMTAwNjQ0Ci0tLSBhL2xpYnNhbml0aXplci9zYW5pdGl6ZXJfY29tbW9u L3Nhbml0aXplcl9wbGF0Zm9ybV9saW1pdHNfbGludXguY3BwCisrKyBiL2xpYnNhbml0aXpl ci9zYW5pdGl6ZXJfY29tbW9uL3Nhbml0aXplcl9wbGF0Zm9ybV9saW1pdHNfbGludXguY3Bw CkBAIC0yNiw3ICsyNiwxMCBAQAogCiAvLyBXaXRoIG9sZCBrZXJuZWxzIChhbmQgZXZlbiBu ZXcga2VybmVscyBvbiBwb3dlcnBjKSBhc20vc3RhdC5oIHVzZXMgdHlwZXMgdGhhdAogLy8g YXJlIG5vdCBkZWZpbmVkIGFueXdoZXJlIGluIHVzZXJzcGFjZSBoZWFkZXJzLiBGYWtlIHRo ZW0uIFRoaXMgc2VlbXMgdG8gd29yawotLy8gZmluZSB3aXRoIG5ld2VyIGhlYWRlcnMsIHRv by4KKy8vIGZpbmUgd2l0aCBuZXdlciBoZWFkZXJzLCB0b28uICBCZXdhcmUgdGhhdCB3aXRo IDxzeXMvc3RhdC5oPiwgc3RydWN0IHN0YXQKKy8vIHRha2VzIHRoZSBmb3JtIG9mIHN0cnVj dCBzdGF0NjQgb24gMzItYml0IHBsYXRmb3JtcyBpZiBfRklMRV9PRkZTRVRfQklUUz02NC4K Ky8vIEFsc28sIGZvciBzb21lIHBsYXRmb3JtcyAoZS5nLiBtaXBzKSB0aGVyZSBhcmUgYWRk aXRpb25hbCBtZW1iZXJzIGluIHRoZQorLy8gPHN5cy9zdGF0Lmg+IHN0cnVjdCBzdGF0OnMu CiAjaW5jbHVkZSA8bGludXgvcG9zaXhfdHlwZXMuaD4KICMgIGlmIGRlZmluZWQoX194ODZf NjRfXykgfHwgZGVmaW5lZChfX21pcHNfXykgfHwgZGVmaW5lZChfX2hleGFnb25fXykKICMg ICAgaW5jbHVkZSA8c3lzL3N0YXQuaD4KZGlmZiAtLWdpdCBhL2xpYnNhbml0aXplci9zYW5p dGl6ZXJfY29tbW9uL3Nhbml0aXplcl9wcm9jbWFwc19tYWMuY3BwIGIvbGlic2FuaXRpemVy L3Nhbml0aXplcl9jb21tb24vc2FuaXRpemVyX3Byb2NtYXBzX21hYy5jcHAKaW5kZXggNGIw ZTY3ODE5NzYuLmJhNDI1OWFjZDQ2IDEwMDY0NAotLS0gYS9saWJzYW5pdGl6ZXIvc2FuaXRp emVyX2NvbW1vbi9zYW5pdGl6ZXJfcHJvY21hcHNfbWFjLmNwcAorKysgYi9saWJzYW5pdGl6 ZXIvc2FuaXRpemVyX2NvbW1vbi9zYW5pdGl6ZXJfcHJvY21hcHNfbWFjLmNwcApAQCAtMTQ2 LDggKzE0NiwxMyBAQCBzdGF0aWMgYm9vbCBJc0R5bGRIZHIoY29uc3QgbWFjaF9oZWFkZXIg KmhkcikgewogLy8gdW50aWwgd2UgaGl0IGEgTWFjaCBoZWFkZXIgbWF0Y2hpbmcgZHlsZCBp bnN0ZWFkLiBUaGVzZSByZWN1cnNlCiAvLyBjYWxscyBhcmUgZXhwZW5zaXZlLCBidXQgdGhl IGZpcnN0IG1lbW9yeSBtYXAgZ2VuZXJhdGlvbiBvY2N1cnMKIC8vIGVhcmx5IGluIHRoZSBw cm9jZXNzLCB3aGVuIGR5bGQgaXMgb25lIG9mIHRoZSBvbmx5IGltYWdlcyBsb2FkZWQsCi0v LyBzbyBpdCB3aWxsIGJlIGhpdCBhZnRlciBvbmx5IGEgZmV3IGl0ZXJhdGlvbnMuICBUaGVz ZSBhc3N1bXB0aW9ucyBkb24ndCBob2xkCi0vLyBvbiBtYWNPUyAxMysgYW55bW9yZSAoZHls ZCBpdHNlbGYgaGFzIG1vdmVkIGludG8gdGhlIHNoYXJlZCBjYWNoZSkuCisvLyBzbyBpdCB3 aWxsIGJlIGhpdCBhZnRlciBvbmx5IGEgZmV3IGl0ZXJhdGlvbnMuICBUaGVzZSBhc3N1bXB0 aW9ucyBkb24ndAorLy8gaG9sZCBvbiBtYWNPUyAxMysgYW55bW9yZSAoZHlsZCBpdHNlbGYg aGFzIG1vdmVkIGludG8gdGhlIHNoYXJlZCBjYWNoZSkuCisKKy8vIEZJWE1FOiBVbmZvcnR1 bmF0ZWx5LCB0aGUgdXBzdHJlYW0gcmV2aXNlZCB2ZXJzaW9uIHRvIGRlYWwgd2l0aCBtYWNP UyAxMysKKy8vIGlzIGluY29tcGF0aWJsZSB3aXRoIEdDQyBhbmQgYWxzbyB1c2VzIEFQSXMg bm90IGF2YWlsYWJsZSBvbiBlYXJsaWVyCisvLyBzeXN0ZW1zIHdoaWNoIHdlIHN1cHBvcnQ7 IGJhY2tlZCBvdXQgZm9yIG5vdy4KKwogc3RhdGljIG1hY2hfaGVhZGVyICpHZXREeWxkSW1h Z2VIZWFkZXJWaWFWTVJlZ2lvbigpIHsKICAgdm1fYWRkcmVzc190IGFkZHJlc3MgPSAwOwog CkBAIC0xNzEsNjQgKzE3NiwxNyBAQCBzdGF0aWMgbWFjaF9oZWFkZXIgKkdldER5bGRJbWFn ZUhlYWRlclZpYVZNUmVnaW9uKCkgewogICB9CiB9CiAKLWV4dGVybiAiQyIgewotc3RydWN0 IGR5bGRfc2hhcmVkX2NhY2hlX2R5bGliX3RleHRfaW5mbyB7Ci0gIHVpbnQ2NF90IHZlcnNp b247ICAvLyBjdXJyZW50IHZlcnNpb24gMgotICAvLyBmb2xsb3dpbmcgZmllbGRzIGFsbCBl eGlzdCBpbiB2ZXJzaW9uIDEKLSAgdWludDY0X3QgbG9hZEFkZHJlc3NVbnNsaWQ7Ci0gIHVp bnQ2NF90IHRleHRTZWdtZW50U2l6ZTsKLSAgdXVpZF90IGR5bGliVXVpZDsKLSAgY29uc3Qg Y2hhciAqcGF0aDsgIC8vIHBvaW50ZXIgaW52YWxpZCBhdCBlbmQgb2YgaXRlcmF0aW9ucwot ICAvLyBmb2xsb3dpbmcgZmllbGRzIGFsbCBleGlzdCBpbiB2ZXJzaW9uIDIKLSAgdWludDY0 X3QgdGV4dFNlZ21lbnRPZmZzZXQ7ICAvLyBvZmZzZXQgZnJvbSBzdGFydCBvZiBjYWNoZQot fTsKLXR5cGVkZWYgc3RydWN0IGR5bGRfc2hhcmVkX2NhY2hlX2R5bGliX3RleHRfaW5mbwot ICAgIGR5bGRfc2hhcmVkX2NhY2hlX2R5bGliX3RleHRfaW5mbzsKLQotZXh0ZXJuIGJvb2wg X2R5bGRfZ2V0X3NoYXJlZF9jYWNoZV91dWlkKHV1aWRfdCB1dWlkKTsKLWV4dGVybiBjb25z dCB2b2lkICpfZHlsZF9nZXRfc2hhcmVkX2NhY2hlX3JhbmdlKHNpemVfdCAqbGVuZ3RoKTsK LWV4dGVybiBpbnQgZHlsZF9zaGFyZWRfY2FjaGVfaXRlcmF0ZV90ZXh0KAotICAgIGNvbnN0 IHV1aWRfdCBjYWNoZVV1aWQsCi0gICAgdm9pZCAoXmNhbGxiYWNrKShjb25zdCBkeWxkX3No YXJlZF9jYWNoZV9keWxpYl90ZXh0X2luZm8gKmluZm8pKTsKLX0gIC8vIGV4dGVybiAiQyIK LQotc3RhdGljIG1hY2hfaGVhZGVyICpHZXREeWxkSW1hZ2VIZWFkZXJWaWFTaGFyZWRDYWNo ZSgpIHsKLSAgdXVpZF90IHV1aWQ7Ci0gIGJvb2wgaGFzQ2FjaGUgPSBfZHlsZF9nZXRfc2hh cmVkX2NhY2hlX3V1aWQodXVpZCk7Ci0gIGlmICghaGFzQ2FjaGUpCi0gICAgcmV0dXJuIG51 bGxwdHI7Ci0KLSAgc2l6ZV90IGNhY2hlTGVuZ3RoOwotICBfX2Jsb2NrIHVwdHIgY2FjaGVT dGFydCA9ICh1cHRyKV9keWxkX2dldF9zaGFyZWRfY2FjaGVfcmFuZ2UoJmNhY2hlTGVuZ3Ro KTsKLSAgQ0hFQ0soY2FjaGVTdGFydCAmJiBjYWNoZUxlbmd0aCk7Ci0KLSAgX19ibG9jayBt YWNoX2hlYWRlciAqZHlsZEhkciA9IG51bGxwdHI7Ci0gIGludCByZXMgPSBkeWxkX3NoYXJl ZF9jYWNoZV9pdGVyYXRlX3RleHQoCi0gICAgICB1dWlkLCBeKGNvbnN0IGR5bGRfc2hhcmVk X2NhY2hlX2R5bGliX3RleHRfaW5mbyAqaW5mbykgewotICAgICAgICBDSEVDS19HRShpbmZv LT52ZXJzaW9uLCAyKTsKLSAgICAgICAgbWFjaF9oZWFkZXIgKmhkciA9Ci0gICAgICAgICAg ICAobWFjaF9oZWFkZXIgKikoY2FjaGVTdGFydCArIGluZm8tPnRleHRTZWdtZW50T2Zmc2V0 KTsKLSAgICAgICAgaWYgKElzRHlsZEhkcihoZHIpKQotICAgICAgICAgIGR5bGRIZHIgPSBo ZHI7Ci0gICAgICB9KTsKLSAgQ0hFQ0tfRVEocmVzLCAwKTsKLQotICByZXR1cm4gZHlsZEhk cjsKLX0KLQogY29uc3QgbWFjaF9oZWFkZXIgKmdldF9keWxkX2hkcigpIHsKICAgaWYgKCFk eWxkX2hkcikgewogICAgIC8vIE9uIG1hY09TIDEzKywgZHlsZCBpdHNlbGYgaGFzIG1vdmVk IGludG8gdGhlIHNoYXJlZCBjYWNoZS4gIExvb2tpbmcgaXQgdXAKICAgICAvLyB2aWEgdm1f cmVnaW9uX3JlY3Vyc2VfNjQoKSBjYXVzZXMgc3BpbnMvaGFuZ3MvY3Jhc2hlcy4KKyAgICAv LyBGSVhNRTogZmluZCBhIHdheSB0byBkbyB0aGlzIGNvbXBhdGlibGUgd2l0aCBHQ0MuCiAg ICAgaWYgKEdldE1hY29zQWxpZ25lZFZlcnNpb24oKSA+PSBNYWNvc1ZlcnNpb24oMTMsIDAp KSB7Ci0gICAgICBkeWxkX2hkciA9IEdldER5bGRJbWFnZUhlYWRlclZpYVNoYXJlZENhY2hl KCk7Ci0gICAgICBpZiAoIWR5bGRfaGRyKSB7CiAgICAgICAgIFZSZXBvcnQoMSwKLSAgICAg ICAgICAgICAgICAiRmFpbGVkIHRvIGxvb2t1cCB0aGUgZHlsZCBpbWFnZSBoZWFkZXIgaW4g dGhlIHNoYXJlZCBjYWNoZSBvbiAiCi0gICAgICAgICAgICAgICAgIm1hY09TIDEzKyAob3Ig bm8gc2hhcmVkIGNhY2hlIGluIHVzZSkuICBGYWxsaW5nIGJhY2sgdG8gIgorICAgICAgICAg ICAgICAgICJsb29raW5nIHVwIHRoZSBkeWxkIGltYWdlIGhlYWRlciBpbiB0aGUgc2hhcmVk IGNhY2hlIG9uICIKKyAgICAgICAgICAgICAgICAibWFjT1MgMTMrIGlzIG5vdCB5ZXQgc3Vw cG9ydGVkLiAgRmFsbGluZyBiYWNrIHRvICIKICAgICAgICAgICAgICAgICAibG9va3VwIHZp YSB2bV9yZWdpb25fcmVjdXJzZV82NCgpLlxuIik7CiAgICAgICAgIGR5bGRfaGRyID0gR2V0 RHlsZEltYWdlSGVhZGVyVmlhVk1SZWdpb24oKTsKLSAgICAgIH0KICAgICB9IGVsc2Ugewog ICAgICAgZHlsZF9oZHIgPSBHZXREeWxkSW1hZ2VIZWFkZXJWaWFWTVJlZ2lvbigpOwogICAg IH0KZGlmZiAtLWdpdCBhL2xpYnNhbml0aXplci9zYW5pdGl6ZXJfY29tbW9uL3Nhbml0aXpl cl9zdGFja3RyYWNlLmNwcCBiL2xpYnNhbml0aXplci9zYW5pdGl6ZXJfY29tbW9uL3Nhbml0 aXplcl9zdGFja3RyYWNlLmNwcAppbmRleCBkMjRmYWU5ODIxMy4uNjYxNDk1ZTIzNDAgMTAw NjQ0Ci0tLSBhL2xpYnNhbml0aXplci9zYW5pdGl6ZXJfY29tbW9uL3Nhbml0aXplcl9zdGFj a3RyYWNlLmNwcAorKysgYi9saWJzYW5pdGl6ZXIvc2FuaXRpemVyX2NvbW1vbi9zYW5pdGl6 ZXJfc3RhY2t0cmFjZS5jcHAKQEAgLTg3LDggKzg3LDggQEAgc3RhdGljIGlubGluZSB1aHdw dHIgKkdldENhbm9uaWNGcmFtZSh1cHRyIGJwLAogICAvLyBOb3BlLCB0aGlzIGRvZXMgbm90 IGxvb2sgcmlnaHQgZWl0aGVyLiBUaGlzIG1lYW5zIHRoZSBmcmFtZSBhZnRlciBuZXh0IGRv ZXMKICAgLy8gbm90IGhhdmUgYSB2YWxpZCBmcmFtZSBwb2ludGVyLCBidXQgd2UgY2FuIHN0 aWxsIGV4dHJhY3QgdGhlIGNhbGxlciBQQy4KICAgLy8gVW5mb3J0dW5hdGVseSwgdGhlcmUg aXMgbm8gd2F5IHRvIGRlY2lkZSBiZXR3ZWVuIEdDQyBhbmQgTExWTSBmcmFtZQotICAvLyBs YXlvdXRzLiBBc3N1bWUgTExWTS4KLSAgcmV0dXJuIGJwX3ByZXY7CisgIC8vIGxheW91dHMu IEFzc3VtZSBHQ0MuCisgIHJldHVybiBicF9wcmV2IC0gMTsKICNlbHNlCiAgIHJldHVybiAo dWh3cHRyKilicDsKICNlbmRpZgpAQCAtMTExLDE0ICsxMTEsMjEgQEAgdm9pZCBCdWZmZXJl ZFN0YWNrVHJhY2U6OlVud2luZEZhc3QodXB0ciBwYywgdXB0ciBicCwgdXB0ciBzdGFja190 b3AsCiAgICAgICAgICBJc0FsaWduZWQoKHVwdHIpZnJhbWUsIHNpemVvZigqZnJhbWUpKSAm JgogICAgICAgICAgc2l6ZSA8IG1heF9kZXB0aCkgewogI2lmZGVmIF9fcG93ZXJwY19fCi0g ICAgLy8gUG93ZXJQQyBBQklzIHNwZWNpZnkgdGhhdCB0aGUgcmV0dXJuIGFkZHJlc3MgaXMg c2F2ZWQgYXQgb2Zmc2V0Ci0gICAgLy8gMTYgb2YgdGhlICpjYWxsZXIncyogc3RhY2sgZnJh bWUuICBUaHVzIHdlIG11c3QgZGVyZWZlcmVuY2UgdGhlCi0gICAgLy8gYmFjayBjaGFpbiB0 byBmaW5kIHRoZSBjYWxsZXIgZnJhbWUgYmVmb3JlIGV4dHJhY3RpbmcgaXQuCisgICAgLy8g UG93ZXJQQyBBQklzIHNwZWNpZnkgdGhhdCB0aGUgcmV0dXJuIGFkZHJlc3MgaXMgc2F2ZWQg b24gdGhlCisgICAgLy8gKmNhbGxlcidzKiBzdGFjayBmcmFtZS4gIFRodXMgd2UgbXVzdCBk ZXJlZmVyZW5jZSB0aGUgYmFjayBjaGFpbgorICAgIC8vIHRvIGZpbmQgdGhlIGNhbGxlciBm cmFtZSBiZWZvcmUgZXh0cmFjdGluZyBpdC4KICAgICB1aHdwdHIgKmNhbGxlcl9mcmFtZSA9 ICh1aHdwdHIqKWZyYW1lWzBdOwogICAgIGlmICghSXNWYWxpZEZyYW1lKCh1cHRyKWNhbGxl cl9mcmFtZSwgc3RhY2tfdG9wLCBib3R0b20pIHx8CiAgICAgICAgICFJc0FsaWduZWQoKHVw dHIpY2FsbGVyX2ZyYW1lLCBzaXplb2YodWh3cHRyKSkpCiAgICAgICBicmVhazsKKyAgICAv LyBGb3IgbW9zdCBBQklzIHRoZSBvZmZzZXQgd2hlcmUgdGhlIHJldHVybiBhZGRyZXNzIGlz IHNhdmVkIGlzIHR3bworICAgIC8vIHJlZ2lzdGVyIHNpemVzLiAgVGhlIGV4Y2VwdGlvbiBp cyB0aGUgU1ZSNCBBQkksIHdoaWNoIHVzZXMgYW4KKyAgICAvLyBvZmZzZXQgb2Ygb25seSBv bmUgcmVnaXN0ZXIgc2l6ZS4KKyNpZmRlZiBfQ0FMTF9TWVNWCisgICAgdWh3cHRyIHBjMSA9 IGNhbGxlcl9mcmFtZVsxXTsKKyNlbHNlCiAgICAgdWh3cHRyIHBjMSA9IGNhbGxlcl9mcmFt ZVsyXTsKKyNlbmRpZgogI2VsaWYgZGVmaW5lZChfX3MzOTBfXykKICAgICB1aHdwdHIgcGMx ID0gZnJhbWVbMTRdOwogI2VsaWYgZGVmaW5lZChfX2xvb25nYXJjaF9fKSB8fCBkZWZpbmVk KF9fcmlzY3YpCmRpZmYgLS1naXQgYS9saWJzYW5pdGl6ZXIvdHNhbi90c2FuX3J0bF9wcGM2 NC5TIGIvbGlic2FuaXRpemVyL3RzYW4vdHNhbl9ydGxfcHBjNjQuUwppbmRleCA4Mjg1ZTIx YWExZS4uOWU1MzNhNzFhOWMgMTAwNjQ0Ci0tLSBhL2xpYnNhbml0aXplci90c2FuL3RzYW5f cnRsX3BwYzY0LlMKKysrIGIvbGlic2FuaXRpemVyL3RzYW4vdHNhbl9ydGxfcHBjNjQuUwpA QCAtMSw1ICsxLDYgQEAKICNpbmNsdWRlICJ0c2FuX3BwY19yZWdzLmgiCiAKKyAgICAgICAg Lm1hY2hpbmUgYWx0aXZlYwogICAgICAgICAuc2VjdGlvbiAudGV4dAogICAgICAgICAuaGlk ZGVuIF9fdHNhbl9zZXRqbXAKICAgICAgICAgLmdsb2JsIF9zZXRqbXAKZGlmZiAtLWdpdCBh L2xpYnNhbml0aXplci91YnNhbi91YnNhbl9mbGFncy5jcHAgYi9saWJzYW5pdGl6ZXIvdWJz YW4vdWJzYW5fZmxhZ3MuY3BwCmluZGV4IDI1Y2VmZDQ2Y2UyLi45YTY2YmQzNzUxOCAxMDA2 NDQKLS0tIGEvbGlic2FuaXRpemVyL3Vic2FuL3Vic2FuX2ZsYWdzLmNwcAorKysgYi9saWJz YW5pdGl6ZXIvdWJzYW4vdWJzYW5fZmxhZ3MuY3BwCkBAIC01MCw2ICs1MCw3IEBAIHZvaWQg SW5pdGlhbGl6ZUZsYWdzKCkgewogICB7CiAgICAgQ29tbW9uRmxhZ3MgY2Y7CiAgICAgY2Yu Q29weUZyb20oKmNvbW1vbl9mbGFncygpKTsKKyAgICBjZi5wcmludF9zdW1tYXJ5ID0gZmFs c2U7CiAgICAgY2YuZXh0ZXJuYWxfc3ltYm9saXplcl9wYXRoID0gR2V0RmxhZygiVUJTQU5f U1lNQk9MSVpFUl9QQVRIIik7CiAgICAgT3ZlcnJpZGVDb21tb25GbGFncyhjZik7CiAgIH0K ZGlmZiAtLWdpdCBhL2xpYnNhbml0aXplci91YnNhbi91YnNhbl9oYW5kbGVycy5jcHAgYi9s aWJzYW5pdGl6ZXIvdWJzYW4vdWJzYW5faGFuZGxlcnMuY3BwCmluZGV4IDQxMDI5MmEwZDUz Li45NzAwNzVlNjlhNiAxMDA2NDQKLS0tIGEvbGlic2FuaXRpemVyL3Vic2FuL3Vic2FuX2hh bmRsZXJzLmNwcAorKysgYi9saWJzYW5pdGl6ZXIvdWJzYW4vdWJzYW5faGFuZGxlcnMuY3Bw CkBAIC04OTQsNiArODk0LDIxIEBAIHZvaWQgX191YnNhbl9oYW5kbGVfY2ZpX2JhZF90eXBl KENGSUNoZWNrRmFpbERhdGEgKkRhdGEsIFZhbHVlSGFuZGxlIFZ0YWJsZSwKIAogfSAgLy8g bmFtZXNwYWNlIF9fdWJzYW4KIAordm9pZCBfX3Vic2FuOjpfX3Vic2FuX2hhbmRsZV9jZmlf YmFkX2ljYWxsKENGSUJhZEljYWxsRGF0YSAqQ2FsbERhdGEsCisgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgVmFsdWVIYW5kbGUgRnVuY3Rpb24pIHsKKyAg R0VUX1JFUE9SVF9PUFRJT05TKGZhbHNlKTsKKyAgQ0ZJQ2hlY2tGYWlsRGF0YSBEYXRhID0g e0NGSVRDS19JQ2FsbCwgQ2FsbERhdGEtPkxvYywgQ2FsbERhdGEtPlR5cGV9OworICBoYW5k bGVDRklCYWRJY2FsbCgmRGF0YSwgRnVuY3Rpb24sIE9wdHMpOworfQorCit2b2lkIF9fdWJz YW46Ol9fdWJzYW5faGFuZGxlX2NmaV9iYWRfaWNhbGxfYWJvcnQoQ0ZJQmFkSWNhbGxEYXRh ICpDYWxsRGF0YSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBWYWx1ZUhhbmRsZSBGdW5jdGlvbikgeworICBHRVRfUkVQT1JUX09QVElPTlMo dHJ1ZSk7CisgIENGSUNoZWNrRmFpbERhdGEgRGF0YSA9IHtDRklUQ0tfSUNhbGwsIENhbGxE YXRhLT5Mb2MsIENhbGxEYXRhLT5UeXBlfTsKKyAgaGFuZGxlQ0ZJQmFkSWNhbGwoJkRhdGEs IEZ1bmN0aW9uLCBPcHRzKTsKKyAgRGllKCk7Cit9CisKIHZvaWQgX191YnNhbjo6X191YnNh bl9oYW5kbGVfY2ZpX2NoZWNrX2ZhaWwoQ0ZJQ2hlY2tGYWlsRGF0YSAqRGF0YSwKICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVmFsdWVIYW5kbGUgVmFs dWUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVwdHIg VmFsaWRWdGFibGUpIHsKZGlmZiAtLWdpdCBhL2xpYnNhbml0aXplci91YnNhbi91YnNhbl9o YW5kbGVycy5oIGIvbGlic2FuaXRpemVyL3Vic2FuL3Vic2FuX2hhbmRsZXJzLmgKaW5kZXgg MjE5ZmIxNWRlNTUuLjlmNDEyMzUzZmMwIDEwMDY0NAotLS0gYS9saWJzYW5pdGl6ZXIvdWJz YW4vdWJzYW5faGFuZGxlcnMuaAorKysgYi9saWJzYW5pdGl6ZXIvdWJzYW4vdWJzYW5faGFu ZGxlcnMuaApAQCAtMjE1LDEyICsyMTUsMjAgQEAgZW51bSBDRklUeXBlQ2hlY2tLaW5kIDog dW5zaWduZWQgY2hhciB7CiAgIENGSVRDS19WTUZDYWxsLAogfTsKIAorc3RydWN0IENGSUJh ZEljYWxsRGF0YSB7CisgIFNvdXJjZUxvY2F0aW9uIExvYzsKKyAgY29uc3QgVHlwZURlc2Ny aXB0b3IgJlR5cGU7Cit9OworCiBzdHJ1Y3QgQ0ZJQ2hlY2tGYWlsRGF0YSB7CiAgIENGSVR5 cGVDaGVja0tpbmQgQ2hlY2tLaW5kOwogICBTb3VyY2VMb2NhdGlvbiBMb2M7CiAgIGNvbnN0 IFR5cGVEZXNjcmlwdG9yICZUeXBlOwogfTsKIAorLy8vIFxicmllZiBIYW5kbGUgY29udHJv bCBmbG93IGludGVncml0eSBmYWlsdXJlIGZvciBpbmRpcmVjdCBmdW5jdGlvbiBjYWxscy4K K1JFQ09WRVJBQkxFKGNmaV9iYWRfaWNhbGwsIENGSUJhZEljYWxsRGF0YSAqRGF0YSwgVmFs dWVIYW5kbGUgRnVuY3Rpb24pCisKIC8vLyBcYnJpZWYgSGFuZGxlIGNvbnRyb2wgZmxvdyBp bnRlZ3JpdHkgZmFpbHVyZXMuCiBSRUNPVkVSQUJMRShjZmlfY2hlY2tfZmFpbCwgQ0ZJQ2hl Y2tGYWlsRGF0YSAqRGF0YSwgVmFsdWVIYW5kbGUgRnVuY3Rpb24sCiAgICAgICAgICAgICB1 cHRyIFZ0YWJsZUlzVmFsaWQpCmRpZmYgLS1naXQgYS9saWJzYW5pdGl6ZXIvdWJzYW4vdWJz YW5fcGxhdGZvcm0uaCBiL2xpYnNhbml0aXplci91YnNhbi91YnNhbl9wbGF0Zm9ybS5oCmlu ZGV4IGQyY2MyZTEwYmQyLi5hZDNlODgzZjBmMyAxMDA2NDQKLS0tIGEvbGlic2FuaXRpemVy L3Vic2FuL3Vic2FuX3BsYXRmb3JtLmgKKysrIGIvbGlic2FuaXRpemVyL3Vic2FuL3Vic2Fu X3BsYXRmb3JtLmgKQEAgLTEyLDYgKzEyLDcgQEAKICNpZm5kZWYgVUJTQU5fUExBVEZPUk1f SAogI2RlZmluZSBVQlNBTl9QTEFURk9STV9ICiAKKyNpZm5kZWYgQ0FOX1NBTklUSVpFX1VC CiAvLyBPdGhlciBwbGF0Zm9ybXMgc2hvdWxkIGJlIGVhc3kgdG8gYWRkLCBhbmQgcHJvYmFi bHkgd29yayBhcy1pcy4KICNpZiBkZWZpbmVkKF9fbGludXhfXykgfHwgZGVmaW5lZChfX0Zy ZWVCU0RfXykgfHwgZGVmaW5lZChfX0FQUExFX18pIHx8ICAgICAgICBcCiAgICAgZGVmaW5l ZChfX05ldEJTRF9fKSB8fCBkZWZpbmVkKF9fRHJhZ29uRmx5X18pIHx8ICAgICAgICAgICAg ICAgICAgICAgICAgICAgXApAQCAtMjEsNSArMjIsNiBAQAogI2Vsc2UKICMgZGVmaW5lIENB Tl9TQU5JVElaRV9VQiAwCiAjZW5kaWYKKyNlbmRpZiAvL0NBTl9TQU5JVElaRV9VQgogCiAj ZW5kaWYKLS0gCjIuMzguMQoK --------------7F0eFLoDD6Z7j0la1vdYwN0p Content-Type: application/gzip; name="0001-libsanitizer-merge-from-upstream-ae59131d3ef311fb4b1.patch.gz" Content-Disposition: attachment; filename*0="0001-libsanitizer-merge-from-upstream-ae59131d3ef311fb4b1.pa"; filename*1="tch.gz" Content-Transfer-Encoding: base64 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 --------------7F0eFLoDD6Z7j0la1vdYwN0p--