From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mgamail.intel.com (mgamail.intel.com [134.134.136.31]) by sourceware.org (Postfix) with ESMTPS id BED35385DC10 for ; Wed, 16 Aug 2023 21:54:43 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org BED35385DC10 Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=intel.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=intel.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1692222883; x=1723758883; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=R//yhFRp4dJo8Fb4BLfUyJek49FvCoanlsJv2hXYa9E=; b=N6yCdcr/KWQRhKWB1agdX02L8FGQHPxHM1ZcIu5Lxd1gOCKrNOuxHG7o xWPGFXb0V3Wcfy+luLbQI8mdQ5DeUVZm8hhgq3wAH+j3XX02Ls5ej3oRY bk1qwdasgZx1cb2ntNx5l2iRcz1Tf0XPancyrJRb4+CmaMh7+yHGctXaG iWQqyv8kcW0pmubd6C5uG2FHe4g7lLRzoxED496otHsonJ4JZyZntdX8F LhS8E47tuX74ylV3DfHYWTv14BkTnqTzCc8yVBuNcxBwa35k1DSyF3iEn Bcni36h8ZcbLpwqRWDC8JNnebbWppXvAw26g77H1mKkYVFgjbcPzOj51g w==; X-IronPort-AV: E=McAfee;i="6600,9927,10803"; a="436548114" X-IronPort-AV: E=Sophos;i="6.01,178,1684825200"; d="scan'208";a="436548114" Received: from fmsmga003.fm.intel.com ([10.253.24.29]) by orsmga104.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 16 Aug 2023 14:54:42 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10803"; a="824380788" X-IronPort-AV: E=Sophos;i="6.01,178,1684825200"; d="scan'208";a="824380788" Received: from abijaz-mobl2.ger.corp.intel.com (HELO localhost) ([10.249.40.204]) by fmsmga003-auth.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 16 Aug 2023 14:54:40 -0700 From: Abdul Basit Ijaz To: gdb-patches@sourceware.org Cc: abdul.b.ijaz@intel.com, JiniSusan.George@amd.com, tom@tromey.com, eliz@gnu.org, blarsen@redhat.com Subject: [PATCH v5 4/4] gdb: Skip trampoline frames in the stack for printing or finish command. Date: Wed, 16 Aug 2023 23:53:49 +0200 Message-Id: <20230816215349.6198-5-abdul.b.ijaz@intel.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20230816215349.6198-1-abdul.b.ijaz@intel.com> References: <20230816215349.6198-1-abdul.b.ijaz@intel.com> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 X-Spam-Status: No, score=-10.2 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,GIT_PATCH_0,KAM_SHORT,SPF_HELO_NONE,SPF_NONE,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: QmVmb3JlIHRoZSBjaGFuZ2UsIEdEQiBwcmludHMgdGhlIGZyYW1lcyBpbmRpY2F0ZWQgYnkgdGhl IGNvbXBpbGVyIHdpdGggRElFCiJEV19BVF90cmFtcG9saW5lIiBpbiB0aGUgYmFja3RyYWNlIGFu ZCBmaW5pc2ggY29tbWFuZCwgYnV0IGZvciBiZXR0ZXIgdXNlcgpleHBlcmllbmNlLCBhbGwgc3Vj aCBmcmFtZXMgY2FuIGJlIGhpZGRlbiBmcm9tIHRoZSB1c2VyLiAgU28sIGFmdGVyIHRoaXMKY2hh bmdlLCBub3cgc3VjaCBmcmFtZXMgYXJlIG5vdCBwcmludGVkIGFueSBtb3JlIGluIHRoZSBiYWNr dHJhY2UgY29tbWFuZAphbmQgYWxzbyB0aGUgJ2ZpbmlzaCcgY29tbWFuZCBza2lwcyB0aGUgdHJh bXBvbGluZSBjYWxscy4KClNvIGZhciwgdGhpcyBESUUgaXMgYWRkZWQgdG8gRFdBUkYgb25seSBi eSB0aGUgSUZYIGNvbXBpbGVyLCBzbwpnZGIuZm9ydHJhbi9taXhlZC1sYW5nLXN0YWNrIHRlc3Qg dXNlZCB0byBmYWlsIGZvciB0aGlzIGNvbXBpbGVyIGJlY2F1c2Ugb2YKdGhlc2UgZXh0cmEgdHJh bXBvbGluZSBmcmFtZXMgaW4gdGhlIGJhY2t0cmFjZS4gIEFmdGVyIHRoZSBjb21taXQsIHRob3Nl CnRyYW1wb2xpbmUgZnJhbWVzIGFyZSBmaWx0ZXJlZCBzbyB0ZXN0IGlzIHVwZGF0ZWQgYWNjb3Jk aW5nbHkgdG8gaGFuZGxlIHRoZQpmcmFtZSBsZXZlbCBvZiB0aGUgZmlsdGVyZWQgZnJhbWVzLgoK QmFja3RyYWNlIG91dHB1dCBpbiB0aGlzIHRlc3QgYmVmb3JlIHRoZSBjaGFuZ2U6CgpidCAtZnJh bWUtYXJndW1lbnRzIGFsbAouLi4KLi4uCihnZGIpIEZBSUw6IGdkYi5mb3J0cmFuL21peGVkLWxh bmctc3RhY2suZXhwOiBsYW5nPWF1dG86IGJ0IC1mcmFtZS1hcmd1bWVudHMgYWxsCgpOb3csIGFm dGVyIHRoZSBjaGFuZ2U6CmJ0IC1mcmFtZS1hcmd1bWVudHMgYWxsCi4uLgouLi4KKGdkYikgUEFT UzogZ2RiLmZvcnRyYW4vbWl4ZWQtbGFuZy1zdGFjay5leHA6IGxhbmc9YXV0bzogYnQgLWZyYW1l LWFyZ3VtZW50cyBhbGwKCkJlbG93IGlzIHRoZSBleGFtcGxlIHdoZXJlIElGWCBlbWl0cyBEV19h dF90cmFtcG9saW5lIGZvciBmdW5jdGlvbnMgZmlyc3QKYW5kIHNlY29uZCB0cmFtcG9saW5lIGNh bGxzIGFzIGZvbGxvd2luZzoKCkY5MCByZXByb2R1Y2VyIGluZm86CmZ1bmN0aW9uIHNlY29uZCAo eCwgeSkgcmVzdWx0KHopCiAgaW50ZWdlciwgaW50ZW50KGluKSA6OiB4LCB5CiAgaW50ZWdlciA6 OiB6CiAgeiA9IHggKiB5ICEgYnJlYWtwdC1iYWNrdHJhY2UKZW5kIGZ1bmN0aW9uIHNlY29uZAoK ZnVuY3Rpb24gZmlyc3QgKG51bTEsIG51bTIpIHJlc3VsdCh0b3RhbCkKICBpbnRlZ2VyLCBpbnRl bnQoaW4pIDo6IG51bTEsIG51bTIKICBpbnRlZ2VyICA6OiB0b3RhbAogIHRvdGFsID0gc2Vjb25k IChudW0xICsgNCwgbnVtMiAqIDMpICEgZmlyc3QtYnJlYWtwdAogIHRvdGFsID0gdG90YWwgKyAz MAplbmQgZnVuY3Rpb24gZmlyc3QKClJlbGF0ZWQgRHdhcmY6CgoweDAwMDAwMTNmOiAgIERXX1RB R19zdWJwcm9ncmFtCiAgICAgICAgICAgICAgICBEV19BVF9sb3dfcGMgICAgKDB4MDAwMDAwMDAw MDQwNDM1MCkKICAgICAgICAgICAgICAgIERXX0FUX2hpZ2hfcGMgICAoMHgwMDAwMDAwMDAwNDA0 MzVmKQogICAgICAgICAgICAgICAgRFdfQVRfZnJhbWVfYmFzZSAgICAgICAgKERXX09QX3JlZzYg UkJQKQogICAgICAgICAgICAgICAgRFdfQVRfbGlua2FnZV9uYW1lICAgICAgKCJzZWNvbmRfLnQ3 NHAudDc1cCIpCiAgICAgICAgICAgICAgICBEV19BVF9uYW1lICAgICAgKCJzZWNvbmRfLnQ3NHAu dDc1cCIpCiAgICAgICAgICAgICAgICBEV19BVF90cmFtcG9saW5lICAgICAgICAoInNlY29uZF8i KQoKMHgwMDAwMDE1YTogICBEV19UQUdfc3VicHJvZ3JhbQogICAgICAgICAgICAgICAgRFdfQVRf bG93X3BjICAgICgweDAwMDAwMDAwMDA0MDQ0YTApCiAgICAgICAgICAgICAgICBEV19BVF9oaWdo X3BjICAgKDB4MDAwMDAwMDAwMDQwNDRhZikKICAgICAgICAgICAgICAgIERXX0FUX2ZyYW1lX2Jh c2UgICAgICAgIChEV19PUF9yZWc2IFJCUCkKICAgICAgICAgICAgICAgIERXX0FUX2xpbmthZ2Vf bmFtZSAgICAgICgiZmlyc3RfLnQxMDRwLnQxMDVwIikKICAgICAgICAgICAgICAgIERXX0FUX25h bWUgICAgICAoImZpcnN0Xy50MTA0cC50MTA1cCIpCiAgICAgICAgICAgICAgICBEV19BVF90cmFt cG9saW5lICAgICAgICAoImZpcnN0XyIpCgpCZWZvcmUgdGhpcyBjaGFuZ2UgYXQgbGluZSB3aXRo IGNvbW1lbnQgJ2JyZWFrcHQtYmFja3RyYWNlJzoKKGdkYikgYmFja3RyYWNlIDMKKGdkYikgZmlu aXNoClJ1biB0aWxsIGV4aXQgZnJvbSAjMCAgc2Vjb25kICh4PTIwLCB5PTkpIGF0IHRlc3QuZjkw OjQKc2Vjb25kXy50NzRwLnQ3NXAgKCkgYXQgdGVzdC5mOTA6MTAKMTAgICAgICAgIHRvdGFsID0g c2Vjb25kIChudW0xICsgNCwgbnVtMiAqIDMpICEgZmlyc3QtYnJlYWtwdApWYWx1ZSByZXR1cm5l ZCBpcyAkMSA9IDE4MAoKQWZ0ZXIgdGhlIGNoYW5nZToKKGdkYikgYmFja3RyYWNlIDMKKGdkYikg ZmluaXNoClJ1biB0aWxsIGV4aXQgZnJvbSAjMCAgc2Vjb25kICh4PTIwLCB5PTkpIGF0IHRlc3Qu ZjkwOjQKMHgwMDAwMDAwMDAwNDA0MzMzIGluIGZpcnN0IChudW0xPTE2LCBudW0yPTMpIGF0IHRl c3QuZjkwOjEwCjEwICAgICAgICB0b3RhbCA9IHNlY29uZCAobnVtMSArIDQsIG51bTIgKiAzKSAh IGZpcnN0LWJyZWFrcHQKVmFsdWUgcmV0dXJuZWQgaXMgJDEgPSAxODAKCk5ldyB0ZXN0IGZ1bmMt dHJhbXBvbGluZSBpcyBhbHNvIGFkZGVkIHRvIHRlc3QgdGhpcyBpbiBib3RoIGJhY2t0cmFjZSBh bmQKZmluaXNoIGNvbW1hbmRzIGZvciBJbnRlbChSKSBGb3J0cmFuIENvbXBpbGVyLgoKMjAyMy0w OC0xNiBBYmR1bCBCYXNpdCBJamF6IDxhYmR1bC5iLmlqYXpAaW50ZWwuY29tPgotLS0KIGdkYi9k b2MvZ2RiLnRleGluZm8gICAgICAgICAgICAgICAgICAgICAgICAgICB8IDM1ICsrKysrKy0tLS0K IGdkYi9pbmZjbWQuYyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IDEzICsrKysK IGdkYi9pbmZydW4uYyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IDE2ICsrKy0t CiBnZGIvaW5mcnVuLmggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgNiArKwog Z2RiL3B5dGhvbi9weS1mcmFtZS5jICAgICAgICAgICAgICAgICAgICAgICAgIHwgMTUgKysrKwog Z2RiL3N0YWNrLmMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgIDggKysrCiBn ZGIvc3ltdGFiLmMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAxMiArKysrCiBn ZGIvc3ltdGFiLmggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgNSArKwogZ2Ri L3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi9mdW5jLXRyYW1wb2xpbmUuZXhwIHwgNjkgKysrKysrKysr KysrKysrKysrKwogZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi9mdW5jLXRyYW1wb2xpbmUuZjkw IHwgMzkgKysrKysrKysrKysKIC4uLi9nZGIuZm9ydHJhbi9taXhlZC1sYW5nLXN0YWNrLmV4cCAg ICAgICAgICB8IDEwICsrLQogMTEgZmlsZXMgY2hhbmdlZCwgMjA5IGluc2VydGlvbnMoKyksIDE5 IGRlbGV0aW9ucygtKQogY3JlYXRlIG1vZGUgMTAwNjQ0IGdkYi90ZXN0c3VpdGUvZ2RiLmZvcnRy YW4vZnVuYy10cmFtcG9saW5lLmV4cAogY3JlYXRlIG1vZGUgMTAwNjQ0IGdkYi90ZXN0c3VpdGUv Z2RiLmZvcnRyYW4vZnVuYy10cmFtcG9saW5lLmY5MAoKZGlmZiAtLWdpdCBhL2dkYi9kb2MvZ2Ri LnRleGluZm8gYi9nZGIvZG9jL2dkYi50ZXhpbmZvCmluZGV4IGFiZWJhZDA0NjMyLi5jOTZmYzBj YTY4OCAxMDA2NDQKLS0tIGEvZ2RiL2RvYy9nZGIudGV4aW5mbworKysgYi9nZGIvZG9jL2dkYi50 ZXhpbmZvCkBAIC02NDAxLDIzICs2NDAxLDM0IEBAIHNvLWNhbGxlZCBAZGZue3RyYW1wb2xpbmUg ZnVuY3Rpb25zfSwgd2hpY2ggd3JhcCB0aGUgYWN0dWFsIGZ1bmN0aW9uIGNhbGwKICh0aGUgdGFy Z2V0IG9mIHRoZSB0cmFtcG9saW5lKS4gIFRoZSBjb21waWxlciBtaWdodCBtYXJrIHN1Y2ggYSB0 cmFtcG9saW5lIGluCiBpdHMgZGVidWcgaW5mb3JtYXRpb24uICBPZnRlbiwgc3VjaCB0cmFtcG9s aW5lcyBkbyBub3QgaGF2ZSBhbnkgc291cmNlIGxpbmUKIGluZm9ybWF0aW9uIGFzc29jaWF0ZWQg d2l0aCB0aGVtIHdoaWNoIHdpbGwgbGVhZCB0aGUgQGNvZGV7c3RlcH0gY29tbWFuZCB0bwotYmVo YXZlIGxpa2UgYSBAY29kZXtuZXh0fSBhbmQgc2tpcCB0aGUgZnVuY3Rpb24gY2FsbCBjb21wbGV0 ZWx5LgorYmVoYXZlIGxpa2UgYSBAY29kZXtuZXh0fSBhbmQgc2tpcCB0aGUgZnVuY3Rpb24gY2Fs bCBjb21wbGV0ZWx5LiAgU2ltaWxhcmx5LAordGhlIEBjb2Rle2ZpbmlzaH0gY29tbWFuZCB3aWxs IHJldHVybiB0byBzb21lIHRyYW1wb2xpbmUgZnJhbWUgZW50cnkgaW5zdGVhZAorb2YgcmV0dXJu aW5nIHRvIHRoZSBjYWxsIHNpdGUuCiAKIFRoZSBkZWZhdWx0IGlzIEBjb2Rle3NldCBza2lwLXRy YW1wb2xpbmUtZnVuY3Rpb25zIG9ufSBhbmQgaXQgd2lsbCBjYXVzZSB0aGUKLUBjb2Rle3N0ZXB9 IGNvbW1hbmQgdG8gdHJlYXQgdGhlc2UgdHJhbXBvbGluZXMgZGlmZmVyZW50bHkuICBXaGVuIGlz c3VpbmcgYQotQGNvZGV7c3RlcH0gYXQgdGhlIGNhbGwgc2l0ZSBvZiBhIHRyYW1wb2xpbmUgZnVu Y3Rpb24gaWYKLUBjb2Rle3NraXAtdHJhbXBvbGluZS1mdW5jdGlvbnN9IGlzIHNldCBAdmFsdWV7 R0RCTn0gd2lsbCBhdHRlbXB0IHRvIGRldGVybWluZQorQGNvZGV7c3RlcH0gYW5kIHRoZSBAY29k ZXtmaW5pc2h9IGNvbW1hbmQgdG8gdHJlYXQgdGhlc2UgdHJhbXBvbGluZXMKK2RpZmZlcmVudGx5 LgorCitXaGVuIGlzc3VpbmcgYSBAY29kZXtzdGVwfSBhdCB0aGUgY2FsbCBzaXRlIG9mIGEgdHJh bXBvbGluZSBmdW5jdGlvbiwgaWYKK0Bjb2Rle3NraXAtdHJhbXBvbGluZS1mdW5jdGlvbnN9IGlz IHNldCwgQHZhbHVle0dEQk59IHdpbGwgYXR0ZW1wdCB0byBkZXRlcm1pbmUKIHRoZSB0YXJnZXQg b2YgdGhlIHRyYW1wb2xpbmUgYW5kIHRoZW4gc3RlcCB0aHJvdWdoIHRoZSB0cmFtcG9saW5lIHN0 b3BwaW5nIGF0CiB0aGUgdGFyZ2V0LiAgSWYgdGhlIHRhcmdldCBjb3VsZCBub3QgYmUgZm91bmQg b3Igd2FzIG5vdCBnaXZlbiBpbiB0aGUgZGVidWcKIGluZm8sIEB2YWx1ZXtHREJOfSB3aWxsIHNp bXBseSBjb250aW51ZSBleGVjdXRpb24gdW50aWwgaXQgbGVhdmVzIHRoZQotdHJhbXBvbGluZSBj b2RlIGFnYWluLCBldmVuIGlmIHRoZSB0cmFtcG9saW5lIGhhcyBubyBsaW5lIGluZm8gYXNzb2Np YXRlZCB3aXRoCi1pdC4gIFdoZW4gcmV0dXJuaW5nIGZyb20gYSB0YXJnZXQgZnVuY3Rpb24gY2Fs bCBhbmQgc3RlcHBpbmcgYmFjayBpbnRvIHRoZQotdHJhbXBvbGluZSwgQHZhbHVle0dEQk59IHdp bGwgYWdhaW4gc3RlcCB0aHJvdWdoIHRoZSB0cmFtcG9saW5lIHRvd2FyZHMgdGhlCi1jYWxsIHNp dGUuICBBZGRpdGlvbmFsbHksIGV2ZW4gaWYgc3RvcHBlZCBpbiBhIHRyYW1wb2xpbmUgZnVuY3Rp b24gd2l0aCBzb3VyY2UKLWxpbmUgaW5mb3JtYXRpb24sIGlzc3VpbmcgYSBAY29kZXtzdGVwfSB3 aWxsIHByb21wdCBAdmFsdWV7R0RCTn0gdG8gcmVzdW1lCi1leGVjdXRpb24gdW50aWwgbGVhdmlu ZyB0aGUgdHJhbXBvbGluZSByZWdpb24gYWdhaW4uICBUaGUgQGNvZGV7c3RlcGl9IGNvbW1hbmQK LWlzIG5vdCBhZmZlY3RlZCBieSB0aGUgc2V0dGluZyB3aGljaCBpcyBlbmFibGVkIGJ5IGRlZmF1 bHQuICBDdXJyZW50bHksIG9ubHkKLURXQVJGIHRyYW1wb2xpbmVzIG1hcmtlZCB2aWEgRFdfQVRf dHJhbXBvbGluZSBhcmUgc3VwcG9ydGVkIGJ5IHRoaXMuCit0cmFtcG9saW5lIGNvZGUgYWdhaW4s IGV2ZW4gaWYgdGhlIHRyYW1wb2xpbmUgaGFzIG5vIGxpbmUgaW5mbyBhc3NvY2lhdGVkCit3aXRo IGl0LiAgV2hlbiByZXR1cm5pbmcgZnJvbSBhIHRhcmdldCBmdW5jdGlvbiBjYWxsIGFuZCBzdGVw cGluZyBiYWNrIGludG8KK3RoZSB0cmFtcG9saW5lLCBAdmFsdWV7R0RCTn0gd2lsbCBhZ2FpbiBz dGVwIHRocm91Z2ggdGhlIHRyYW1wb2xpbmUgdG93YXJkcwordGhlIGNhbGwgc2l0ZS4gIEFkZGl0 aW9uYWxseSwgZXZlbiBpZiBzdG9wcGVkIGluIGEgdHJhbXBvbGluZSBmdW5jdGlvbiB3aXRoCitz b3VyY2UgbGluZSBpbmZvcm1hdGlvbiwgaXNzdWluZyBhIEBjb2Rle3N0ZXB9IHdpbGwgcHJvbXB0 IEB2YWx1ZXtHREJOfSB0bworcmVzdW1lIGV4ZWN1dGlvbiB1bnRpbCBsZWF2aW5nIHRoZSB0cmFt cG9saW5lIHJlZ2lvbiBhZ2Fpbi4gIFRoZSBAY29kZXtzdGVwaX0KK2NvbW1hbmQgaXMgbm90IGFm ZmVjdGVkIGJ5IHRoZSBzZXR0aW5nIHdoaWNoIGlzIGVuYWJsZWQgYnkgZGVmYXVsdC4KKworV2hl biBpc3N1aW5nIGEgQGNvZGV7ZmluaXNofSBjb21tYW5kIGF0IHRoZSB0YXJnZXQgb2YgYSB0cmFt cG9saW5lIGZ1bmN0aW9uLCBpZgorQGNvZGV7c2tpcC10cmFtcG9saW5lLWZ1bmN0aW9uc30gaXMg c2V0LCBAdmFsdWV7R0RCTn0gd2lsbCBpZ25vcmUgYWxsIHRoZQordHJhbXBvbGluZSBmcmFtZXMg YW5kIHdpbGwgcmVhY2ggdGhlIGZpcnN0IG5vbi10cmFtcG9saW5lIGZyYW1lIHRvIHJldHVybiB0 bwordGhlIGNhbGwgc2l0ZSBvZiB0aGUgY3VycmVudCBmdW5jdGlvbi4KKworQ3VycmVudGx5LCBv bmx5IERXQVJGIHRyYW1wb2xpbmVzIG1hcmtlZCB2aWEgRFdfQVRfdHJhbXBvbGluZSBhcmUgc3Vw cG9ydGVkIGJ5Cit0aGlzLgogCiBAaXRlbSBzZXQgc2tpcC10cmFtcG9saW5lLWZ1bmN0aW9ucyBv ZmYKIENhdXNlcyB0aGUgQGNvZGV7c3RlcH0gY29tbWFuZCB0byBjb21wbGV0ZWx5IGlnbm9yZSBh bnkgdHJhbXBvbGluZSBpbmZvcm1hdGlvbgpkaWZmIC0tZ2l0IGEvZ2RiL2luZmNtZC5jIGIvZ2Ri L2luZmNtZC5jCmluZGV4IDE1NzAyZjg0ODk0Li43OTNkYjZmODU2NiAxMDA2NDQKLS0tIGEvZ2Ri L2luZmNtZC5jCisrKyBiL2dkYi9pbmZjbWQuYwpAQCAtMTg1Myw2ICsxODUzLDE5IEBAIGZpbmlz aF9jb21tYW5kIChjb25zdCBjaGFyICphcmcsIGludCBmcm9tX3R0eSkKICAgaWYgKGZyYW1lID09 IDApCiAgICAgZXJyb3IgKF8oIlwiZmluaXNoXCIgbm90IG1lYW5pbmdmdWwgaW4gdGhlIG91dGVy bW9zdCBmcmFtZS4iKSk7CiAKKyAgaWYgKHNraXBfdHJhbXBvbGluZV9mdW5jdGlvbnMpCisgICAg eworICAgICAgZm9yIChpbnQgaSA9IDA7CisJICAgKGkgPCBNQVhfVFJBTVBPTElORV9DSEFJTl9T SVpFICYmIChmcmFtZSAhPSBudWxscHRyKQorCSAgICAmJiBpbl90cmFtcG9saW5lX2ZyYW1lIChm cmFtZSkpOyArK2kpCisJZnJhbWUgPSBnZXRfcHJldl9mcmFtZSAoZnJhbWUpOworCisgICAgICBp ZiAoZnJhbWUgPT0gbnVsbHB0cikKKwllcnJvciAoXygiXCJmaW5pc2hcIiBub3QgbWVhbmluZ2Z1 bCBpbiB0aGUgb3V0ZXJtb3N0IG5vbi10cmFtcG9saW5lIFwKK2ZyYW1lLiAgQ29uc2lkZXIgcnVu bmluZyBcInNldCBza2lwLXRyYW1wb2xpbmUtZnVuY3Rpb25zIG9mZlwiLCB0byBzdG9wIGluIFwK K3RyYW1wb2xpbmUgZnJhbWVzIGZvciB0aGUgXCJmaW5pc2hcIiBjb21tYW5kLiIpKTsKKyAgICB9 CisKICAgY2xlYXJfcHJvY2VlZF9zdGF0dXMgKDApOwogCiAgIHRwID0gaW5mZXJpb3JfdGhyZWFk ICgpOwpkaWZmIC0tZ2l0IGEvZ2RiL2luZnJ1bi5jIGIvZ2RiL2luZnJ1bi5jCmluZGV4IGIyNTk3 NjgxZTAwLi44ZDE5MzI4NmU4MSAxMDA2NDQKLS0tIGEvZ2RiL2luZnJ1bi5jCisrKyBiL2dkYi9p bmZydW4uYwpAQCAtMTg4LDcgKzE4OCw3IEBAIHN0YXRpYyBib29sIGRldGFjaF9mb3JrID0gdHJ1 ZTsKICAgIERXX0FUX3RyYW1wb2xpbmUgYnkgdGhlIGNvbXBpbGVyLiAgSWYgZmFsc2UsIEdEQiB3 aWxsIGlnbm9yZSB0aGUKICAgIGF0dHJpYnV0ZS4gICovCiAKLXN0YXRpYyBib29sIHNraXBfdHJh bXBvbGluZV9mdW5jdGlvbnMgPSB0cnVlOworYm9vbCBza2lwX3RyYW1wb2xpbmVfZnVuY3Rpb25z ID0gdHJ1ZTsKIAogYm9vbCBkZWJ1Z19pbmZydW4gPSBmYWxzZTsKIHN0YXRpYyB2b2lkCkBAIC03 NTcyLDYgKzc1NzIsMTQgQEAgcHJvY2Vzc19ldmVudF9zdG9wX3Rlc3QgKHN0cnVjdCBleGVjdXRp b25fY29udHJvbF9zdGF0ZSAqZWNzKQogCSAga2VlcF9nb2luZyAoZWNzKTsKIAkgIHJldHVybjsK IAl9CisgICAgICBlbHNlIGlmIChza2lwX3RyYW1wb2xpbmVfZnVuY3Rpb25zICYmIGluX3RyYW1w b2xpbmVfZnVuY3Rpb24gKHN0b3BfcGMpKQorCXsKKwkgIC8qIFdoaWxlIHJldmVyc2Ugc3RlcHBp bmcgaWYgd2UgYXJlIGluIGEgZnVuY3Rpb24gY2FsbCB0cmFtcG9saW5lCisJICAgICB3ZSB3aWxs IGp1c3QgY29udGludWUgc2luZ2xlIHN0ZXAgaW4gdGhlIGhvcGUgb2YgbGVhdmluZyB0aGUKKwkg ICAgIHRyYW1wb2xpbmUgYWdhaW4gc29vbi4gICovCisJICBrZWVwX2dvaW5nIChlY3MpOworCSAg cmV0dXJuOworCX0KICAgICB9CiAKICAgLyogVGhpcyBhbHdheXMgcmV0dXJucyB0aGUgc2FsIGZv ciB0aGUgaW5uZXItbW9zdCBmcmFtZSB3aGVuIHdlIGFyZSBpbiBhCkBAIC0xMDIyNCw5ICsxMDIz Miw5IEBAIE9wdGlvbnMgYXJlICdmb3J3YXJkJyBvciAncmV2ZXJzZScuIiksCiAJCQkgICZza2lw X3RyYW1wb2xpbmVfZnVuY3Rpb25zLCBfKCJcCiBTZXQgd2hldGhlciBnZGIgYXR0ZW1wdHMgdG8g aGlkZSB0cmFtcG9saW5lcyBtYXJrZWQgaW4gdGhlIGRlYnVnIGluZm8uIiksIF8oIlwKIFNob3cg d2hldGhlciBnZGIgYXR0ZW1wdHMgdG8gaGlkZSB0cmFtcG9saW5lcyBtYXJrZWQgaW4gdGhlIGRl YnVnIGluZm8uIiksIF8oIlwKLUlmIG9uLCB3aGlsZSBzdGVwcGluZyBnZGIgd2lsbCBza2lwIHRo cm91Z2ggZnVuY3Rpb25zIGFuZCBpbmxpbmVkIGZ1bmN0aW9uc1xuXAotbWFya2VkIGFzIHRyYW1w b2xpbmVzIGJ5IHRoZSBjb21waWxlci4gIElmIG9mZiwgZ2RiIHdpbGwgaWdub3JlIHN1Y2ggZnVu Y3Rpb25cblwKLXRyYW1wb2xpbmVzLiIpLAorSWYgb24sIHRoZSBzdGVwIGFuZCBmaW5pc2ggY29t bWFuZHMgd2lsbCBza2lwIHRocm91Z2ggZnVuY3Rpb25zIGFuZCBpbmxpbmVkXG5cCitmdW5jdGlv bnMgbWFya2VkIGFzIHRyYW1wb2xpbmVzIGJ5IHRoZSBjb21waWxlci4gIElmIG9mZiwgZ2RiIHdp bGwgaWdub3JlXG5cCitzdWNoIGZ1bmN0aW9uIHRyYW1wb2xpbmVzLiIpLAogCQkJICBudWxscHRy LCBzaG93X3NraXBfdHJhbXBvbGluZV9mdW5jdGlvbnMsICZzZXRsaXN0LAogCQkJICAmc2hvd2xp c3QpOwogCmRpZmYgLS1naXQgYS9nZGIvaW5mcnVuLmggYi9nZGIvaW5mcnVuLmgKaW5kZXggZDRh NmI3ODkyYjUuLmZlYjVmNDQxNGVjIDEwMDY0NAotLS0gYS9nZGIvaW5mcnVuLmgKKysrIGIvZ2Ri L2luZnJ1bi5oCkBAIC0xMDYsNiArMTA2LDEyIEBAIGV4dGVybiBib29sIG5vbl9zdG9wOwogICAg c3RhcnRpbmcgYW4gaW5mZXJpb3IuICAqLwogZXh0ZXJuIGJvb2wgZGlzYWJsZV9yYW5kb21pemF0 aW9uOwogCisvKiBJZiBzZXQgKGRlZmF1bHQpIEdEQiB3aWxsIHN0ZXAgdGhyb3VnaCBmdW5jdGlv bnMvaW5saW5lZCBzdWJyb3V0aW5lcyBtYXJrZWQKKyAgIERXX0FUX3RyYW1wb2xpbmUgYnkgdGhl IGNvbXBpbGVyLiAgSWYgZmFsc2UsIEdEQiB3aWxsIGlnbm9yZSB0aGUKKyAgIGF0dHJpYnV0ZS4g ICovCisKK2V4dGVybiBib29sIHNraXBfdHJhbXBvbGluZV9mdW5jdGlvbnM7CisKIC8qIFJldHVy bnMgYSB1bmlxdWUgaWRlbnRpZmllciBmb3IgdGhlIGN1cnJlbnQgc3RvcC4gIFRoaXMgY2FuIGJl IHVzZWQKICAgIHRvIHRlbGwgd2hldGhlciBhIGNvbW1hbmQgaGFzIHByb2NlZWRlZCB0aGUgaW5m ZXJpb3IgcGFzdCB0aGUKICAgIGN1cnJlbnQgbG9jYXRpb24uICAqLwpkaWZmIC0tZ2l0IGEvZ2Ri L3B5dGhvbi9weS1mcmFtZS5jIGIvZ2RiL3B5dGhvbi9weS1mcmFtZS5jCmluZGV4IDFhNTVlNTE0 ZTM5Li5iMmRiZmQ0MWZjNiAxMDA2NDQKLS0tIGEvZ2RiL3B5dGhvbi9weS1mcmFtZS5jCisrKyBi L2dkYi9weXRob24vcHktZnJhbWUuYwpAQCAtNzEsNiArNzEsMjAgQEAgZnJhbWVfb2JqZWN0X3Rv X2ZyYW1lX2luZm8gKFB5T2JqZWN0ICpvYmopCiAgIGlmIChmcmFtZV9vYmotPmZyYW1lX2lkX2lz X25leHQpCiAgICAgZnJhbWUgPSBnZXRfcHJldl9mcmFtZSAoZnJhbWUpOwogCisgIGlmIChza2lw X3RyYW1wb2xpbmVfZnVuY3Rpb25zKQorICAgIHsKKyAgICAgIGZvciAoaW50IGkgPSAwOworCSAg IChpIDwgTUFYX1RSQU1QT0xJTkVfQ0hBSU5fU0laRSAmJiAoZnJhbWUgIT0gbnVsbHB0cikKKwkg ICAgJiYgaW5fdHJhbXBvbGluZV9mcmFtZSAoZnJhbWUpKTsgKytpKQorCXsKKwkgIGZyYW1lID0g Z2V0X3ByZXZfZnJhbWUgKGZyYW1lKTsKKwkgIGlmIChmcmFtZSA9PSAgbnVsbHB0cikKKwkgICAg ZXJyb3IgKF8oIlNraXBwaW5nIHRyYW1wb2xpbmUgZnJhbWVzIGlzIG5vdCBtZWFuaW5nZnVsLiAg Q29uc2lkZXIgXAorcnVubmluZyBcInNldCBza2lwLXRyYW1wb2xpbmUtZnVuY3Rpb25zIG9mZlwi LCB0byBzdG9wIGluIHRyYW1wb2xpbmUgXAorZnJhbWVzLiIpKTsKKwl9CisgICAgfQorCiAgIHJl dHVybiBmcmFtZTsKIH0KIApAQCAtNjYyLDYgKzY3Niw3IEBAIGdkYnB5X3NlbGVjdGVkX2ZyYW1l IChQeU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MpCiAgIHJldHVybiBmcmFtZV9pbmZvX3Rv X2ZyYW1lX29iamVjdCAoZnJhbWUpOwogfQogCisKIC8qIEltcGxlbWVudGF0aW9uIG9mIGdkYi5z dG9wX3JlYXNvbl9zdHJpbmcgKEludGVnZXIpIC0+IFN0cmluZy4KICAgIFJldHVybiBhIHN0cmlu ZyBleHBsYWluaW5nIHRoZSB1bndpbmQgc3RvcCByZWFzb24uICAqLwogCmRpZmYgLS1naXQgYS9n ZGIvc3RhY2suYyBiL2dkYi9zdGFjay5jCmluZGV4IDAwMmJmNTgwNjM0Li45MTVhYzM5OGUwOSAx MDA2NDQKLS0tIGEvZ2RiL3N0YWNrLmMKKysrIGIvZ2RiL3N0YWNrLmMKQEAgLTIwNTQsNiArMjA1 NCwxNCBAQCBiYWNrdHJhY2VfY29tbWFuZF8xIChjb25zdCBmcmFtZV9wcmludF9vcHRpb25zICZm cF9vcHRzLAogCXsKIAkgIFFVSVQ7CiAKKwkgIGlmIChpbl90cmFtcG9saW5lX2ZyYW1lIChmaSkp CisJICAgIHsKKwkgICAgICAvKiBUcmFtcG9saW5lIGZyYW1lcyBhcmUgbm90IHByaW50ZWQgc28g dGhleSBhcmUgbm90IGNvdW50ZWQgaW4KKwkJIHRoZSBiYWNrdHJhY2UgbGltaXQuICAqLworCSAg ICAgIGNvdW50Kys7CisJICAgICAgY29udGludWU7CisJICAgIH0KKwogCSAgLyogRG9uJ3QgdXNl IHByaW50X3N0YWNrX2ZyYW1lOyBpZiBhbiBlcnJvcigpIG9jY3VycyBpdCBwcm9iYWJseQogCSAg ICAgbWVhbnMgZnVydGhlciBhdHRlbXB0cyB0byBiYWNrdHJhY2Ugd291bGQgZmFpbCAob24gdGhl IG90aGVyCiAJICAgICBoYW5kLCBwZXJoYXBzIHRoZSBjb2RlIGRvZXMgb3IgY291bGQgYmUgZml4 ZWQgdG8gbWFrZSBzdXJlCmRpZmYgLS1naXQgYS9nZGIvc3ltdGFiLmMgYi9nZGIvc3ltdGFiLmMK aW5kZXggODU1ZjliNDFlYzcuLjNlYzRhZDZkYWMyIDEwMDY0NAotLS0gYS9nZGIvc3ltdGFiLmMK KysrIGIvZ2RiL3N5bXRhYi5jCkBAIC00MDY2LDYgKzQwNjYsMTggQEAgaW5fdHJhbXBvbGluZV9m dW5jdGlvbiAoQ09SRV9BRERSIHBjKQogCiAvKiBTZWUgc3ltdGFiLmguICAqLwogCitib29sCitp bl90cmFtcG9saW5lX2ZyYW1lIChmcmFtZV9pbmZvX3B0ciBmaSkKK3sKKyAgQ09SRV9BRERSIHBj OworICBpZiAoZ2V0X2ZyYW1lX3BjX2lmX2F2YWlsYWJsZSAoZmksICZwYykpCisgICAgcmV0dXJu IGluX3RyYW1wb2xpbmVfZnVuY3Rpb24gKHBjKTsKKworICByZXR1cm4gZmFsc2U7Cit9CisKKy8q IFNlZSBzeW10YWIuaC4gICovCisKIENPUkVfQUREUgogZmluZF9mdW5jdGlvbl90cmFtcG9saW5l X3RhcmdldCAoQ09SRV9BRERSIHBjKQogewpkaWZmIC0tZ2l0IGEvZ2RiL3N5bXRhYi5oIGIvZ2Ri L3N5bXRhYi5oCmluZGV4IGZjMmQ4MmU2NTY3Li5mMDJiMzg0MGYwMCAxMDA2NDQKLS0tIGEvZ2Ri L3N5bXRhYi5oCisrKyBiL2dkYi9zeW10YWIuaApAQCAtMjMxNyw2ICsyMzE3LDExIEBAIGV4dGVy biBDT1JFX0FERFIgZmluZF9zb2xpYl90cmFtcG9saW5lX3RhcmdldCAoZnJhbWVfaW5mb19wdHIs IENPUkVfQUREUik7CiAKIGV4dGVybiBib29sIGluX3RyYW1wb2xpbmVfZnVuY3Rpb24gKENPUkVf QUREUiBwYyk7CiAKKy8qIFJldHVybiB3aGV0aGVyIG9yIG5vdCB0aGUgcGMgb2YgY3VycmVudCBm cmFtZSBpcyB3aXRoaW4gYSBibG9jayB0aGF0IGJlbG9uZ3MKKyAgIHRvIGEgZnVuY3Rpb24gdGhh dCBpcyBtYXJrZWQgYXMgYSB0cmFtcG9saW5lIGJ5IHRoZSBjb21waWxlci4gICovCisKK2V4dGVy biBib29sIGluX3RyYW1wb2xpbmVfZnJhbWUgKGZyYW1lX2luZm9fcHRyKTsKKwogLyogRmluZCB0 aGUgdGFyZ2V0IG9mIGEgdHJhbXBvbGluZSBmdW5jdGlvbiBtYXJrZWQgdmlhIHRoZSBEV19BVF90 cmFtcG9saW5lCiAgICBhdHRyaWJ1dGUgYW5kIHJldHVybiBpdHMgYWRkcmVzcy4gIFJldHVybnMg MCBpZiB0aGUgcGMgaXMgbm90IGNvbnRhaW5lZAogICAgaW4gYSB0cmFtcG9saW5lIGZ1bmN0aW9u IChpbmxpbmVkIG9yIG5vdCkuICBJZiBEV19BVF90cmFtcG9saW5lCmRpZmYgLS1naXQgYS9nZGIv dGVzdHN1aXRlL2dkYi5mb3J0cmFuL2Z1bmMtdHJhbXBvbGluZS5leHAgYi9nZGIvdGVzdHN1aXRl L2dkYi5mb3J0cmFuL2Z1bmMtdHJhbXBvbGluZS5leHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k ZXggMDAwMDAwMDAwMDAuLjNiYzRkMWMwNzE0Ci0tLSAvZGV2L251bGwKKysrIGIvZ2RiL3Rlc3Rz dWl0ZS9nZGIuZm9ydHJhbi9mdW5jLXRyYW1wb2xpbmUuZXhwCkBAIC0wLDAgKzEsNjkgQEAKKyMg Q29weXJpZ2h0IDIwMjMgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCisKKyMgVGhpcyBw cm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBt b2RpZnkKKyMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGlj ZW5zZSBhcyBwdWJsaXNoZWQgYnkKKyMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0 aGVyIHZlcnNpb24gMyBvZiB0aGUgTGljZW5zZSwgb3IKKyMgKGF0IHlvdXIgb3B0aW9uKSBhbnkg bGF0ZXIgdmVyc2lvbi4KKyMKKyMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBo b3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisjIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsg d2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisjIE1FUkNIQU5UQUJJTElUWSBv ciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKKyMgR05VIEdlbmVy YWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyMKKyMgWW91IHNob3VsZCBoYXZl IHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKyMgYWxv bmcgd2l0aCB0aGlzIHByb2dyYW0uICBJZiBub3QsIHNlZSA8aHR0cDovL3d3dy5nbnUub3JnL2xp Y2Vuc2VzLz4gLgorCisjIFRlc3QgZmluaXNoIGFuZCBiYWNrdHJhY2UgY29tbWFuZHMgZm9yIGZ1 bmN0aW9ucyB3aXRoIHRyYW1wb2xpbmUKKyMgY2FsbHMuICBBbHNvIGNoZWNrcyBpZiB0cmFtcG9s aW5lIGZyYW1lcyBhcmUgZmlsdGVyZWQgd2hpbGUgcHJpbnRpbmcKKyMgc3RhY2sgYW5kIGZpbmlz aCBjb21tYW5kIHJldHVybnMgdG8gcmVhbCBmdW5jdGlvbi4KKworcmVxdWlyZSBhbGxvd19mb3J0 cmFuX3Rlc3RzCisKK2lmIHshW3Rlc3RfY29tcGlsZXJfaW5mbyB7aWZ4LSp9IGY5MF19IHsKKyAg ICB1bnRlc3RlZCAiVGVzdCBpcyBvbmx5IGFwcGxpY2FibGUgZm9yIElGWCB3aGVyZVwKKwkgICAg IGNvbXBpbGVyIGVtaXRzIHRyYW1wb2xpbmUgRElFIGluIER3YXJmIgorICAgIHJldHVybiAtMQor fQorCitzdGFuZGFyZF90ZXN0ZmlsZSAiLmY5MCIKK2xvYWRfbGliIGZvcnRyYW4uZXhwCisKK2lm IHtbcHJlcGFyZV9mb3JfdGVzdGluZyAiZmFpbGVkIHRvIHByZXBhcmUiICR7dGVzdGZpbGV9ICR7 c3JjZmlsZX0gXAorICAgIHtkZWJ1ZyBmOTB9XX0geworICAgIHJldHVybiAtMQorfQorCitpZiB7 IVtmb3J0cmFuX3J1bnRvX21haW5dfSB7CisgICAgcmV0dXJuIC0xCit9CisKK3NldCBpbm5lcl9s b2MgW2dkYl9nZXRfbGluZV9udW1iZXIgInNlY29uZC1icmVha3B0Il0KK3NldCBtaWRkbGVfbG9j IFtnZGJfZ2V0X2xpbmVfbnVtYmVyICJmaXJzdC1icmVha3B0Il0KK3NldCBvdXRlcl9sb2MgW2dk Yl9nZXRfbGluZV9udW1iZXIgIm1haW4tb3V0ZXItbG9jIl0KK3NldCBmaWxsICJcW15cclxuXF0q IgorCitzZXQgaW5uZXJfZGVzYyAgInNlY29uZCBcXCh4PTIwLCB5PTlcXCkgYXQgJHtmaWxsfSRz cmNmaWxlOiRpbm5lcl9sb2MiCitzZXQgbWlkZGxlX2Rlc2MgImZpcnN0IFxcKG51bTE9MTYsIG51 bTI9M1xcKSBhdCAke2ZpbGx9JHNyY2ZpbGU6JG1pZGRsZV9sb2MiCitzZXQgb3V0ZXJfZGVzYyAg Ii4qIGF0IC4qJHNyY2ZpbGU6JG91dGVyX2xvYyIKKworIyBTZXQgYnJlYWtwb2ludCBpbnNpZGUg dGhlIGlubmVybW9zdCBmdW5jdGlvbiAnc2Vjb25kJy4KK2dkYl9icmVha3BvaW50ICIkc3JjZmls ZTokaW5uZXJfbG9jIgorZ2RiX2NvbnRpbnVlX3RvX2JyZWFrcG9pbnQgImlubmVybW9zdC1ib2R5 IiAiLiokc3JjZmlsZTokaW5uZXJfbG9jLioiCisKKyMgTGltaXQgdGhlIGJhY2t0cmFjZSB0byAz IGZyYW1lcyBhbmQgZW5zdXJlIGJvdGggZnJhbWVzIGZvciBmaXJzdAorIyBhbmQgc2Vjb25kIGZ1 bmN0aW9uIGFyZSBzaG93biBvbmx5IGFuZCB0cmFtcG9saW5lIGZyYW1lcyBhcmUgZmlsdGVyZWQu CitnZGJfdGVzdCAiYmFja3RyYWNlIDMiIFttdWx0aV9saW5lIFwKKyAgICAiIyRkZWNpbWFsLiog JGlubmVyX2Rlc2MiIFwKKyAgICAiIyRkZWNpbWFsLiogJG1pZGRsZV9kZXNjIiBcCisgICAgIiMk ZGVjaW1hbC4qICRvdXRlcl9kZXNjLioiXSBcCisiYmFja3RyYWNlLCB0ZXN0IHRyYW1wb2xpbmUg ZnJhbWVzIGFyZSBmaWx0ZXJlZCIKKworIyBGaW5pc2ggdGhlIGZ1bmN0aW9uIGNhbGxzLiAgTm9y bWFsbHkgd2UgZXhwZWN0IHRvIHNlZSBhICJWYWx1ZQorIyByZXR1cm5lZCBpcyAuLi4iIGxpbmUu CitzZXQgdmFsdWVfcmV0dXJuZWQgIihcclxuVmFsdWUgcmV0dXJuZWQgaXMgJHZhbG51bV9yZSA9 IDE4MCkiCisKK2dkYl90ZXN0ICJmaW5pc2giIFttdWx0aV9saW5lIFwKKyAgICAiUnVuIHRpbGwg ZXhpdCBmcm9tICMwICRmaWxsIHNlY29uZCBcXCh4PTIwLCB5PTlcXCkgJGZpbGwiIFwKKyAgICAi JHtmaWxsfWZpcnN0IFxcKG51bTE9MTYsIG51bTI9M1xcKSR7ZmlsbH0iIFwKKyAgICAiJHtmaWxs fSR7dmFsdWVfcmV0dXJuZWR9Il0gXAorICAgICJmaW5pc2ggdGhlIGlubmVybW9zdCBmcmFtZSIK ZGlmZiAtLWdpdCBhL2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vZnVuYy10cmFtcG9saW5lLmY5 MCBiL2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vZnVuYy10cmFtcG9saW5lLmY5MApuZXcgZmls ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMC4uNjUyNzMzYjQ0ZmQKLS0tIC9kZXYvbnVs bAorKysgYi9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL2Z1bmMtdHJhbXBvbGluZS5mOTAKQEAg LTAsMCArMSwzOSBAQAorISBDb3B5cmlnaHQgMjAyMyBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24s IEluYy4KKyEKKyEgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0 cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKyEgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUg R2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKKyEgdGhlIEZyZWUgU29mdHdh cmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUgTGljZW5zZSwgb3IKKyEgKGF0 IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyEKKyEgVGhpcyBwcm9ncmFtIGlzIGRp c3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCishIGJ1dCBXSVRI T1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCish IE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNl ZSB0aGUKKyEgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyEK KyEgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVi bGljIExpY2Vuc2UKKyEgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW0uICBJZiBub3QsIHNlZSA8aHR0 cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4gLgorCishIFNvdXJjZSBjb2RlIGZvciBmdW5jLXRy YW1wb2xpbmUuZXhwLgorCitpbnRlZ2VyKGtpbmQ9NCkgZnVuY3Rpb24gc2Vjb25kKHgsIHkpCisg IGludGVnZXIoa2luZD00KSwgaW50ZW50KGluKSA6OiB4CisgIGludGVnZXIoa2luZD00KSwgaW50 ZW50KGluKSA6OiB5CisKKyAgc2Vjb25kID0geCAqIHkgISBzZWNvbmQtYnJlYWtwdAorZW5kIGZ1 bmN0aW9uCisKK2ludGVnZXIoa2luZD00KSBmdW5jdGlvbiBmaXJzdChudW0xLCBudW0yKQorICBp bnRlZ2VyKGtpbmQ9NCksIGludGVudChpbikgOjogbnVtMQorICBpbnRlZ2VyKGtpbmQ9NCksIGlu dGVudChpbikgOjogbnVtMgorCisgIGZpcnN0ID0gc2Vjb25kIChudW0xICsgNCwgbnVtMiAqIDMp ICEgZmlyc3QtYnJlYWtwdAorZW5kIGZ1bmN0aW9uCisKK3Byb2dyYW0gZnVuY190cmFtcG9saW5l CisgIGludGVnZXIoa2luZD00KSA6OiB0b3RhbAorCisgIHRvdGFsID0gZmlyc3QoMTYsIDMpICEg bWFpbi1vdXRlci1sb2MKKworICB3cml0ZSgqLCopICAiUmVzdWx0IGlzICIsIHRvdGFsLCAiXG4i CisgICEgRXhwZWN0ZWQ6IDE4MAorZW5kIHByb2dyYW0gZnVuY190cmFtcG9saW5lCmRpZmYgLS1n aXQgYS9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL21peGVkLWxhbmctc3RhY2suZXhwIGIvZ2Ri L3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi9taXhlZC1sYW5nLXN0YWNrLmV4cAppbmRleCA1ZmMzNmY3 Yjk1Yi4uNzFhMTcxZWRjZjAgMTAwNjQ0Ci0tLSBhL2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4v bWl4ZWQtbGFuZy1zdGFjay5leHAKKysrIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi9taXhl ZC1sYW5nLXN0YWNrLmV4cApAQCAtNDEsNyArNDEsNyBAQCBzZXQgaGF2ZV9pbmRleCBbZXhlY19o YXNfaW5kZXhfc2VjdGlvbiAkYmluZmlsZV0KICMgdmFsdWUgdG8gcGFzcyB0byBHREIncyAnc2V0 IGxhbmd1YWdlIC4uLicgY29tbWFuZC4KIHByb2MgcnVuX3Rlc3RzIHsgbGFuZyB9IHsKICAgICB3 aXRoX3Rlc3RfcHJlZml4ICJsYW5nPSR7bGFuZ30iIHsKLQlnbG9iYWwgYmluZmlsZSBoZXggaGF2 ZV9pbmRleAorCWdsb2JhbCBiaW5maWxlIGhleCBoYXZlX2luZGV4IGRlY2ltYWwKIAogCWNsZWFu X3Jlc3RhcnQgJHtiaW5maWxlfQogCkBAIC02Myw2ICs2MywxMCBAQCBwcm9jIHJ1bl90ZXN0cyB7 IGxhbmcgfSB7CiAJc2V0IGVfYXJnICJcWydcIlxdYWJjZGVmXFsnXCJcXSIKIAlzZXQgMWJfYXJn cyAiXFteXHJcblxdKyRlX2FyZ1xbXlxyXG5cXSsiCiAJc2V0IDFnX2FyZ3MgIm9iaj1cW15cclxu XF0rIgorCSMgR2VuZXJpYyBkZWNpbWFsIG51bWJlciBpcyBjaGVja2VkIGluIHJlZ2V4IGZvciBG cmFtZSAjOCBhbmQgIzkgdG8KKwkjIGhhbmRsZSBmaWx0ZXJlZCB0cmFtcG9saW5lIGZyYW1lcy4g IFNpbmNlIEZyYW1lIzggYW5kIEZyYW1lIzEwIGFyZQorCSMgc2V0IHRvIHRyYW1wb2xpbmUgaW4g RFdBUkYgYnkgSW50ZWzCriBGb3J0cmFuIENvbXBpbGVyIChpZngpLCB0aGV5CisJIyBhcmUgbm90 IHNob3duIGJ5IHRoZSBiYWNrdHJhY2UgY29tbWFuZC4KIAlzZXQgYnRfc3RhY2sgXAogCSAgICBb bXVsdGlfbGluZSBcCiAJCSAiIzBcXHMrYnJlYWtwdCBcXChcXCkgYXQgXFteXHJcblxdKyIgXApA QCAtNzMsOCArNzcsOCBAQCBwcm9jIHJ1bl90ZXN0cyB7IGxhbmcgfSB7CiAJCSAiIzVcXHMrJGhl eCBpbiBtaXhlZF9mdW5jXzFkIFxcKFxbXlxyXG5cXStcXCkgYXQgXFteXHJcblxdKyIgXAogCQkg IiM2XFxzKyRoZXggaW4gbWl4ZWRfZnVuY18xYyBcXChcW15cclxuXF0rXFwpIGF0IFxbXlxyXG5c XSsiIFwKIAkJICIjN1xccyskaGV4IGluIG1peGVkX2Z1bmNfMWIgXFwoJDFiX2FyZ3NcXCkgYXQg XFteXHJcblxdKyIgXAotCQkgIiM4XFxzKyRoZXggaW4gbWl4ZWRfZnVuY18xYSBcXChcXCkgYXQg XFteXHJcblxdKyIgXAotCQkgIiM5XFxzKyRoZXggaW4gbWl4ZWRfc3RhY2tfbWFpbiBcXChcXCkg YXQgXFteXHJcblxdKyIgXQorCQkgIiMkZGVjaW1hbFxccyskaGV4IGluIG1peGVkX2Z1bmNfMWEg XFwoXFwpIGF0IFxbXlxyXG5cXSsiIFwKKwkJICIjJGRlY2ltYWxcXHMrJGhleCBpbiBtaXhlZF9z dGFja19tYWluIFxcKFxcKSBhdCBcW15cclxuXF0rIiBdCiAJc2V0IG1haW5fYXJncyAiYXJnYz0x LCBhcmd2PSR7aGV4fSggXFteXHJcblxdKyk/IgogCXNldCBidF9zdGFja19rZmFpbCBcCiAJICAg IFttdWx0aV9saW5lIFwKLS0gCjIuMzQuMQoKSW50ZWwgRGV1dHNjaGxhbmQgR21iSApSZWdpc3Rl cmVkIEFkZHJlc3M6IEFtIENhbXBlb24gMTAsIDg1NTc5IE5ldWJpYmVyZywgR2VybWFueQpUZWw6 ICs0OSA4OSA5OSA4ODUzLTAsIHd3dy5pbnRlbC5kZSA8aHR0cDovL3d3dy5pbnRlbC5kZT4KTWFu YWdpbmcgRGlyZWN0b3JzOiBDaHJpc3RpbiBFaXNlbnNjaG1pZCwgU2hhcm9uIEhlY2ssIFRpZmZh bnkgRG9vbiBTaWx2YSAgCkNoYWlycGVyc29uIG9mIHRoZSBTdXBlcnZpc29yeSBCb2FyZDogTmlj b2xlIExhdQpSZWdpc3RlcmVkIE9mZmljZTogTXVuaWNoCkNvbW1lcmNpYWwgUmVnaXN0ZXI6IEFt dHNnZXJpY2h0IE11ZW5jaGVuIEhSQiAxODY5MjgK