From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mgamail.intel.com (unknown [192.55.52.43]) by sourceware.org (Postfix) with ESMTPS id 50AB73858C5E for ; Tue, 1 Aug 2023 22:48:48 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 50AB73858C5E 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=1690930128; x=1722466128; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=OWz6fbcXvyAlhquvKVKAmQwAe+0E8nEZ7YdY+8CJDjw=; b=FZVpG0EbCt9xWuOseY/74RG4oSbsrsSbII5FSn+OD7YexVtgu3YBdqHS wWZpDZMGPGABfavypnFmwHOykrWotZSh8ecLOVNFDurSgJY7+U5kuQXup nPZjfYzms/WqcfQXEgLFGLoObKkyWtnoENFvrSPH30goJBwT7eBU052M/ P3XjGSQr3jiDFzq31B7vPNUtrNrpMNJ0U2FirTQcu6Q9pEy95PSqlMiAJ JXCv4SP7tA2LGqbC7it2tQO8Js7lmccR0d1Xo9KJql2XEp9dlftL++P3q 204jw+tj+8EldCr+szIChQUb+Fu14Bvlpfk7D+XBiGrWOtcWxfDtA6iqZ Q==; X-IronPort-AV: E=McAfee;i="6600,9927,10789"; a="455797596" X-IronPort-AV: E=Sophos;i="6.01,248,1684825200"; d="scan'208";a="455797596" Received: from fmsmga008.fm.intel.com ([10.253.24.58]) by fmsmga105.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 01 Aug 2023 15:48:47 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10789"; a="794366889" X-IronPort-AV: E=Sophos;i="6.01,248,1684825200"; d="scan'208";a="794366889" Received: from abijaz-mobl2.ger.corp.intel.com (HELO localhost) ([10.252.63.85]) by fmsmga008-auth.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 01 Aug 2023 15:48:45 -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 v4 4/4] gdb: Skip trampoline frames in the stack for printing or finish command. Date: Wed, 2 Aug 2023 00:47:44 +0200 Message-Id: <20230801224744.24433-5-abdul.b.ijaz@intel.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20230801224744.24433-1-abdul.b.ijaz@intel.com> References: <20230801224744.24433-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.9 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,T_SCC_BODY_TEXT_LINE 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 bWUtYXJndW1lbnRzIGFsbAonJycKJycnCihnZGIpIEZBSUw6IGdkYi5mb3J0cmFuL21peGVkLWxh bmctc3RhY2suZXhwOiBsYW5nPWF1dG86IGJ0IC1mcmFtZS1hcmd1bWVudHMgYWxsCgpOb3csIGFm dGVyIHRoZSBjaGFuZ2U6CmJ0IC1mcmFtZS1hcmd1bWVudHMgYWxsCicnJwonJycKKGdkYikgUEFT 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 OC0wMSBBYmR1bCBCYXNpdCBJamF6IDxhYmR1bC5iLmlqYXpAaW50ZWwuY29tPgotLS0KIGdkYi9k b2MvZ2RiLnRleGluZm8gICAgICAgICAgICAgICAgICAgICAgICAgICB8IDM1ICsrKysrKy0tLS0K IGdkYi9pbmZjbWQuYyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IDEzICsrKysK IGdkYi9pbmZydW4uYyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICA4ICstLQog Z2RiL2luZnJ1bi5oICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgIDYgKysKIGdk Yi9zdGFjay5jICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICA4ICsrKwogZ2Ri L3N5bXRhYi5jICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgMTIgKysrKwogZ2Ri L3N5bXRhYi5oICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgIDUgKysKIGdkYi90 ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vZnVuYy10cmFtcG9saW5lLmV4cCB8IDY5ICsrKysrKysrKysr KysrKysrKysKIGdkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vZnVuYy10cmFtcG9saW5lLmY5MCB8 IDM5ICsrKysrKysrKysrCiAuLi4vZ2RiLmZvcnRyYW4vbWl4ZWQtbGFuZy1zdGFjay5leHAgICAg ICAgICAgfCAxMCArKy0KIDEwIGZpbGVzIGNoYW5nZWQsIDE4NiBpbnNlcnRpb25zKCspLCAxOSBk ZWxldGlvbnMoLSkKIGNyZWF0ZSBtb2RlIDEwMDY0NCBnZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFu L2Z1bmMtdHJhbXBvbGluZS5leHAKIGNyZWF0ZSBtb2RlIDEwMDY0NCBnZGIvdGVzdHN1aXRlL2dk Yi5mb3J0cmFuL2Z1bmMtdHJhbXBvbGluZS5mOTAKCmRpZmYgLS1naXQgYS9nZGIvZG9jL2dkYi50 ZXhpbmZvIGIvZ2RiL2RvYy9nZGIudGV4aW5mbwppbmRleCA1OWE5M2Y3Mjg5NS4uZTM5ZGIyZTMx NTYgMTAwNjQ0Ci0tLSBhL2dkYi9kb2MvZ2RiLnRleGluZm8KKysrIGIvZ2RiL2RvYy9nZGIudGV4 aW5mbwpAQCAtNjQwMSwyMyArNjQwMSwzNCBAQCBzby1jYWxsZWQgQGRmbnt0cmFtcG9saW5lIGZ1 bmN0aW9uc30sIHdoaWNoIHdyYXAgdGhlIGFjdHVhbCBmdW5jdGlvbiBjYWxsCiAodGhlIHRhcmdl dCBvZiB0aGUgdHJhbXBvbGluZSkuICBUaGUgY29tcGlsZXIgbWlnaHQgbWFyayBzdWNoIGEgdHJh bXBvbGluZSBpbgogaXRzIGRlYnVnIGluZm9ybWF0aW9uLiAgT2Z0ZW4sIHN1Y2ggdHJhbXBvbGlu ZXMgZG8gbm90IGhhdmUgYW55IHNvdXJjZSBsaW5lCiBpbmZvcm1hdGlvbiBhc3NvY2lhdGVkIHdp dGggdGhlbSB3aGljaCB3aWxsIGxlYWQgdGhlIEBjb2Rle3N0ZXB9IGNvbW1hbmQgdG8KLWJlaGF2 ZSBsaWtlIGEgQGNvZGV7bmV4dH0gYW5kIHNraXAgdGhlIGZ1bmN0aW9uIGNhbGwgY29tcGxldGVs eS4KK2JlaGF2ZSBsaWtlIGEgQGNvZGV7bmV4dH0gYW5kIHNraXAgdGhlIGZ1bmN0aW9uIGNhbGwg Y29tcGxldGVseS4gIFNpbWlsYXJseSwKK3RoZSBAY29kZXtmaW5pc2h9IGNvbW1hbmQgd2lsbCBy ZXR1cm4gdG8gc29tZSB0cmFtcG9saW5lIGZyYW1lIGVudHJ5IGluc3RlYWQKK29mIHJldHVybmlu ZyB0byB0aGUgY2FsbCBzaXRlLgogCiBUaGUgZGVmYXVsdCBpcyBAY29kZXtzZXQgc2tpcC10cmFt cG9saW5lLWZ1bmN0aW9ucyBvbn0gYW5kIGl0IHdpbGwgY2F1c2UgdGhlCi1AY29kZXtzdGVwfSBj b21tYW5kIHRvIHRyZWF0IHRoZXNlIHRyYW1wb2xpbmVzIGRpZmZlcmVudGx5LiAgV2hlbiBpc3N1 aW5nIGEKLUBjb2Rle3N0ZXB9IGF0IHRoZSBjYWxsIHNpdGUgb2YgYSB0cmFtcG9saW5lIGZ1bmN0 aW9uIGlmCi1AY29kZXtza2lwLXRyYW1wb2xpbmUtZnVuY3Rpb25zfSBpcyBzZXQgQHZhbHVle0dE Qk59IHdpbGwgYXR0ZW1wdCB0byBkZXRlcm1pbmUKK0Bjb2Rle3N0ZXB9IGFuZCB0aGUgQGNvZGV7 ZmluaXNofSBjb21tYW5kIHRvIHRyZWF0IHRoZXNlIHRyYW1wb2xpbmVzCitkaWZmZXJlbnRseS4K KworV2hlbiBpc3N1aW5nIGEgQGNvZGV7c3RlcH0gYXQgdGhlIGNhbGwgc2l0ZSBvZiBhIHRyYW1w b2xpbmUgZnVuY3Rpb24sIGlmCitAY29kZXtza2lwLXRyYW1wb2xpbmUtZnVuY3Rpb25zfSBpcyBz ZXQsIEB2YWx1ZXtHREJOfSB3aWxsIGF0dGVtcHQgdG8gZGV0ZXJtaW5lCiB0aGUgdGFyZ2V0IG9m IHRoZSB0cmFtcG9saW5lIGFuZCB0aGVuIHN0ZXAgdGhyb3VnaCB0aGUgdHJhbXBvbGluZSBzdG9w cGluZyBhdAogdGhlIHRhcmdldC4gIElmIHRoZSB0YXJnZXQgY291bGQgbm90IGJlIGZvdW5kIG9y IHdhcyBub3QgZ2l2ZW4gaW4gdGhlIGRlYnVnCiBpbmZvLCBAdmFsdWV7R0RCTn0gd2lsbCBzaW1w bHkgY29udGludWUgZXhlY3V0aW9uIHVudGlsIGl0IGxlYXZlcyB0aGUKLXRyYW1wb2xpbmUgY29k ZSBhZ2FpbiwgZXZlbiBpZiB0aGUgdHJhbXBvbGluZSBoYXMgbm8gbGluZSBpbmZvIGFzc29jaWF0 ZWQgd2l0aAotaXQuICBXaGVuIHJldHVybmluZyBmcm9tIGEgdGFyZ2V0IGZ1bmN0aW9uIGNhbGwg YW5kIHN0ZXBwaW5nIGJhY2sgaW50byB0aGUKLXRyYW1wb2xpbmUsIEB2YWx1ZXtHREJOfSB3aWxs IGFnYWluIHN0ZXAgdGhyb3VnaCB0aGUgdHJhbXBvbGluZSB0b3dhcmRzIHRoZQotY2FsbCBzaXRl LiAgQWRkaXRpb25hbGx5LCBldmVuIGlmIHN0b3BwZWQgaW4gYSB0cmFtcG9saW5lIGZ1bmN0aW9u IHdpdGggc291cmNlCi1saW5lIGluZm9ybWF0aW9uLCBpc3N1aW5nIGEgQGNvZGV7c3RlcH0gd2ls bCBwcm9tcHQgQHZhbHVle0dEQk59IHRvIHJlc3VtZQotZXhlY3V0aW9uIHVudGlsIGxlYXZpbmcg dGhlIHRyYW1wb2xpbmUgcmVnaW9uIGFnYWluLiAgVGhlIEBjb2Rle3N0ZXBpfSBjb21tYW5kCi1p cyBub3QgYWZmZWN0ZWQgYnkgdGhlIHNldHRpbmcgd2hpY2ggaXMgZW5hYmxlZCBieSBkZWZhdWx0 LiAgQ3VycmVudGx5LCBvbmx5Ci1EV0FSRiB0cmFtcG9saW5lcyBtYXJrZWQgdmlhIERXX0FUX3Ry YW1wb2xpbmUgYXJlIHN1cHBvcnRlZCBieSB0aGlzLgordHJhbXBvbGluZSBjb2RlIGFnYWluLCBl dmVuIGlmIHRoZSB0cmFtcG9saW5lIGhhcyBubyBsaW5lIGluZm8gYXNzb2NpYXRlZAord2l0aCBp dC4gIFdoZW4gcmV0dXJuaW5nIGZyb20gYSB0YXJnZXQgZnVuY3Rpb24gY2FsbCBhbmQgc3RlcHBp bmcgYmFjayBpbnRvCit0aGUgdHJhbXBvbGluZSwgQHZhbHVle0dEQk59IHdpbGwgYWdhaW4gc3Rl cCB0aHJvdWdoIHRoZSB0cmFtcG9saW5lIHRvd2FyZHMKK3RoZSBjYWxsIHNpdGUuICBBZGRpdGlv bmFsbHksIGV2ZW4gaWYgc3RvcHBlZCBpbiBhIHRyYW1wb2xpbmUgZnVuY3Rpb24gd2l0aAorc291 cmNlIGxpbmUgaW5mb3JtYXRpb24sIGlzc3VpbmcgYSBAY29kZXtzdGVwfSB3aWxsIHByb21wdCBA dmFsdWV7R0RCTn0gdG8KK3Jlc3VtZSBleGVjdXRpb24gdW50aWwgbGVhdmluZyB0aGUgdHJhbXBv bGluZSByZWdpb24gYWdhaW4uICBUaGUgQGNvZGV7c3RlcGl9Citjb21tYW5kIGlzIG5vdCBhZmZl Y3RlZCBieSB0aGUgc2V0dGluZyB3aGljaCBpcyBlbmFibGVkIGJ5IGRlZmF1bHQuCisKK1doZW4g aXNzdWluZyBhIEBjb2Rle2ZpbmlzaH0gY29tbWFuZCBhdCB0aGUgdGFyZ2V0IG9mIGEgdHJhbXBv bGluZSBmdW5jdGlvbiwgaWYKK0Bjb2Rle3NraXAtdHJhbXBvbGluZS1mdW5jdGlvbnN9IGlzIHNl dCwgQHZhbHVle0dEQk59IHdpbGwgaWdub3JlIGFsbCB0aGUKK3RyYW1wb2xpbmUgZnJhbWVzIGFu ZCB3aWxsIHJlYWNoIHRoZSBmaXJzdCBub24tdHJhbXBvbGluZSBmcmFtZSB0byByZXR1cm4gdG8K K3RoZSBjYWxsIHNpdGUgb2YgdGhlIGN1cnJlbnQgZnVuY3Rpb24uCisKK0N1cnJlbnRseSwgb25s eSBEV0FSRiB0cmFtcG9saW5lcyBtYXJrZWQgdmlhIERXX0FUX3RyYW1wb2xpbmUgYXJlIHN1cHBv cnRlZCBieQordGhpcy4KIAogQGl0ZW0gc2V0IHNraXAtdHJhbXBvbGluZS1mdW5jdGlvbnMgb2Zm CiBDYXVzZXMgdGhlIEBjb2Rle3N0ZXB9IGNvbW1hbmQgdG8gY29tcGxldGVseSBpZ25vcmUgYW55 IHRyYW1wb2xpbmUgaW5mb3JtYXRpb24KZGlmZiAtLWdpdCBhL2dkYi9pbmZjbWQuYyBiL2dkYi9p bmZjbWQuYwppbmRleCAxNTcwMmY4NDg5NC4uZTY0YWM1ZGZlNDMgMTAwNjQ0Ci0tLSBhL2dkYi9p bmZjbWQuYworKysgYi9nZGIvaW5mY21kLmMKQEAgLTE4NTMsNiArMTg1MywxOSBAQCBmaW5pc2hf Y29tbWFuZCAoY29uc3QgY2hhciAqYXJnLCBpbnQgZnJvbV90dHkpCiAgIGlmIChmcmFtZSA9PSAw KQogICAgIGVycm9yIChfKCJcImZpbmlzaFwiIG5vdCBtZWFuaW5nZnVsIGluIHRoZSBvdXRlcm1v c3QgZnJhbWUuIikpOwogCisgIGlmIChza2lwX3RyYW1wb2xpbmVfZnVuY3Rpb25zKQorICAgIHsK KyAgICAgIGZvciAoaW50IGkgPSAwOyBpIDwgTUFYX1RSQU1QT0xJTkVfQ0hBSU5fU0laRQorCQkg ICAgICAmJiAoZnJhbWUgIT0gbnVsbHB0cikKKwkJICAgICAgJiYgaW5fdHJhbXBvbGluZV9mcmFt ZSAoZnJhbWUpOyArK2kpCisJZnJhbWUgPSBnZXRfcHJldl9mcmFtZSAoZnJhbWUpOworCisgICAg ICBpZiAoZnJhbWUgPT0gbnVsbHB0cikKKwllcnJvciAoXygiXCJmaW5pc2hcIiBub3QgbWVhbmlu Z2Z1bCBpbiB0aGUgb3V0ZXJtb3N0IG5vbi10cmFtcG9saW5lIFwKK2ZyYW1lLiAgQ29uc2lkZXIg cnVubmluZyBcInNldCBza2lwLXRyYW1wb2xpbmUtZnVuY3Rpb25zIG9mZlwiLCB0byBzdG9wIGlu IFwKK3RyYW1wb2xpbmUgZnJhbWVzIGZvciB0aGUgXCJmaW5pc2hcIiBjb21tYW5kLiIpKTsKKyAg ICB9CisKICAgY2xlYXJfcHJvY2VlZF9zdGF0dXMgKDApOwogCiAgIHRwID0gaW5mZXJpb3JfdGhy ZWFkICgpOwpkaWZmIC0tZ2l0IGEvZ2RiL2luZnJ1bi5jIGIvZ2RiL2luZnJ1bi5jCmluZGV4IDBl ZjljNzZkM2M2Li40MmU5NjU1NmU2NiAxMDA2NDQKLS0tIGEvZ2RiL2luZnJ1bi5jCisrKyBiL2dk Yi9pbmZydW4uYwpAQCAtMTg4LDcgKzE4OCw3IEBAIHN0YXRpYyBib29sIGRldGFjaF9mb3JrID0g dHJ1ZTsKICAgIERXX0FUX3RyYW1wb2xpbmUgYnkgdGhlIGNvbXBpbGVyLiAgSWYgZmFsc2UsIEdE QiB3aWxsIGlnbm9yZSB0aGUKICAgIGF0dHJpYnV0ZS4gICovCiAKLXN0YXRpYyBib29sIHNraXBf dHJhbXBvbGluZV9mdW5jdGlvbnMgPSB0cnVlOworYm9vbCBza2lwX3RyYW1wb2xpbmVfZnVuY3Rp b25zID0gdHJ1ZTsKIAogYm9vbCBkZWJ1Z19pbmZydW4gPSBmYWxzZTsKIHN0YXRpYyB2b2lkCkBA IC0xMDIxMSw5ICsxMDIxMSw5IEBAIE9wdGlvbnMgYXJlICdmb3J3YXJkJyBvciAncmV2ZXJzZScu IiksCiAJCQkgICZza2lwX3RyYW1wb2xpbmVfZnVuY3Rpb25zLCBfKCJcCiBTZXQgd2hldGhlciBn ZGIgYXR0ZW1wdHMgdG8gaGlkZSB0cmFtcG9saW5lcyBtYXJrZWQgaW4gdGhlIGRlYnVnIGluZm8u IiksIF8oIlwKIFNob3cgd2hldGhlciBnZGIgYXR0ZW1wdHMgdG8gaGlkZSB0cmFtcG9saW5lcyBt YXJrZWQgaW4gdGhlIGRlYnVnIGluZm8uIiksIF8oIlwKLUlmIG9uLCB3aGlsZSBzdGVwcGluZyBn ZGIgd2lsbCBza2lwIHRocm91Z2ggZnVuY3Rpb25zIGFuZCBpbmxpbmVkIGZ1bmN0aW9uc1xuXAot bWFya2VkIGFzIHRyYW1wb2xpbmVzIGJ5IHRoZSBjb21waWxlci4gIElmIG9mZiwgZ2RiIHdpbGwg aWdub3JlIHN1Y2ggZnVuY3Rpb25cblwKLXRyYW1wb2xpbmVzLiIpLAorSWYgb24sIHRoZSBzdGVw IGFuZCBmaW5pc2ggY29tbWFuZHMgd2lsbCBza2lwIHRocm91Z2ggZnVuY3Rpb25zIGFuZCBpbmxp bmVkXG5cCitmdW5jdGlvbnMgbWFya2VkIGFzIHRyYW1wb2xpbmVzIGJ5IHRoZSBjb21waWxlci4g IElmIG9mZiwgZ2RiIHdpbGwgaWdub3JlXG5cCitzdWNoIGZ1bmN0aW9uIHRyYW1wb2xpbmVzLiIp LAogCQkJICBudWxscHRyLCBzaG93X3NraXBfdHJhbXBvbGluZV9mdW5jdGlvbnMsICZzZXRsaXN0 LAogCQkJICAmc2hvd2xpc3QpOwogCmRpZmYgLS1naXQgYS9nZGIvaW5mcnVuLmggYi9nZGIvaW5m cnVuLmgKaW5kZXggZDRhNmI3ODkyYjUuLmZlYjVmNDQxNGVjIDEwMDY0NAotLS0gYS9nZGIvaW5m cnVuLmgKKysrIGIvZ2RiL2luZnJ1bi5oCkBAIC0xMDYsNiArMTA2LDEyIEBAIGV4dGVybiBib29s IG5vbl9zdG9wOwogICAgc3RhcnRpbmcgYW4gaW5mZXJpb3IuICAqLwogZXh0ZXJuIGJvb2wgZGlz YWJsZV9yYW5kb21pemF0aW9uOwogCisvKiBJZiBzZXQgKGRlZmF1bHQpIEdEQiB3aWxsIHN0ZXAg dGhyb3VnaCBmdW5jdGlvbnMvaW5saW5lZCBzdWJyb3V0aW5lcyBtYXJrZWQKKyAgIERXX0FUX3Ry YW1wb2xpbmUgYnkgdGhlIGNvbXBpbGVyLiAgSWYgZmFsc2UsIEdEQiB3aWxsIGlnbm9yZSB0aGUK KyAgIGF0dHJpYnV0ZS4gICovCisKK2V4dGVybiBib29sIHNraXBfdHJhbXBvbGluZV9mdW5jdGlv bnM7CisKIC8qIFJldHVybnMgYSB1bmlxdWUgaWRlbnRpZmllciBmb3IgdGhlIGN1cnJlbnQgc3Rv cC4gIFRoaXMgY2FuIGJlIHVzZWQKICAgIHRvIHRlbGwgd2hldGhlciBhIGNvbW1hbmQgaGFzIHBy b2NlZWRlZCB0aGUgaW5mZXJpb3IgcGFzdCB0aGUKICAgIGN1cnJlbnQgbG9jYXRpb24uICAqLwpk aWZmIC0tZ2l0IGEvZ2RiL3N0YWNrLmMgYi9nZGIvc3RhY2suYwppbmRleCAwMDJiZjU4MDYzNC4u OTE1YWMzOThlMDkgMTAwNjQ0Ci0tLSBhL2dkYi9zdGFjay5jCisrKyBiL2dkYi9zdGFjay5jCkBA IC0yMDU0LDYgKzIwNTQsMTQgQEAgYmFja3RyYWNlX2NvbW1hbmRfMSAoY29uc3QgZnJhbWVfcHJp bnRfb3B0aW9ucyAmZnBfb3B0cywKIAl7CiAJICBRVUlUOwogCisJICBpZiAoaW5fdHJhbXBvbGlu ZV9mcmFtZSAoZmkpKQorCSAgICB7CisJICAgICAgLyogVHJhbXBvbGluZSBmcmFtZXMgYXJlIG5v dCBwcmludGVkIHNvIHRoZXkgYXJlIG5vdCBjb3VudGVkIGluCisJCSB0aGUgYmFja3RyYWNlIGxp bWl0LiAgKi8KKwkgICAgICBjb3VudCsrOworCSAgICAgIGNvbnRpbnVlOworCSAgICB9CisKIAkg IC8qIERvbid0IHVzZSBwcmludF9zdGFja19mcmFtZTsgaWYgYW4gZXJyb3IoKSBvY2N1cnMgaXQg cHJvYmFibHkKIAkgICAgIG1lYW5zIGZ1cnRoZXIgYXR0ZW1wdHMgdG8gYmFja3RyYWNlIHdvdWxk IGZhaWwgKG9uIHRoZSBvdGhlcgogCSAgICAgaGFuZCwgcGVyaGFwcyB0aGUgY29kZSBkb2VzIG9y IGNvdWxkIGJlIGZpeGVkIHRvIG1ha2Ugc3VyZQpkaWZmIC0tZ2l0IGEvZ2RiL3N5bXRhYi5jIGIv Z2RiL3N5bXRhYi5jCmluZGV4IDc0NWZkN2Q1ZDI1Li5mMzk2YWNhNzhjMyAxMDA2NDQKLS0tIGEv Z2RiL3N5bXRhYi5jCisrKyBiL2dkYi9zeW10YWIuYwpAQCAtNDA2Niw2ICs0MDY2LDE4IEBAIGlu X3RyYW1wb2xpbmVfZnVuY3Rpb24gKENPUkVfQUREUiBwYykKIAogLyogU2VlIHN5bXRhYi5oLiAg Ki8KIAorYm9vbAoraW5fdHJhbXBvbGluZV9mcmFtZSAoZnJhbWVfaW5mb19wdHIgZmkpCit7Cisg IENPUkVfQUREUiBwYzsKKyAgaWYgKGdldF9mcmFtZV9wY19pZl9hdmFpbGFibGUgKGZpLCAmcGMp KQorICAgIHJldHVybiBpbl90cmFtcG9saW5lX2Z1bmN0aW9uIChwYyk7CisKKyAgcmV0dXJuIGZh bHNlOworfQorCisvKiBTZWUgc3ltdGFiLmguICAqLworCiBDT1JFX0FERFIKIGZpbmRfZnVuY3Rp b25fdHJhbXBvbGluZV90YXJnZXQgKENPUkVfQUREUiBwYykKIHsKZGlmZiAtLWdpdCBhL2dkYi9z eW10YWIuaCBiL2dkYi9zeW10YWIuaAppbmRleCBmYzJkODJlNjU2Ny4uZjAyYjM4NDBmMDAgMTAw NjQ0Ci0tLSBhL2dkYi9zeW10YWIuaAorKysgYi9nZGIvc3ltdGFiLmgKQEAgLTIzMTcsNiArMjMx NywxMSBAQCBleHRlcm4gQ09SRV9BRERSIGZpbmRfc29saWJfdHJhbXBvbGluZV90YXJnZXQgKGZy YW1lX2luZm9fcHRyLCBDT1JFX0FERFIpOwogCiBleHRlcm4gYm9vbCBpbl90cmFtcG9saW5lX2Z1 bmN0aW9uIChDT1JFX0FERFIgcGMpOwogCisvKiBSZXR1cm4gd2hldGhlciBvciBub3QgdGhlIHBj IG9mIGN1cnJlbnQgZnJhbWUgaXMgd2l0aGluIGEgYmxvY2sgdGhhdCBiZWxvbmdzCisgICB0byBh IGZ1bmN0aW9uIHRoYXQgaXMgbWFya2VkIGFzIGEgdHJhbXBvbGluZSBieSB0aGUgY29tcGlsZXIu ICAqLworCitleHRlcm4gYm9vbCBpbl90cmFtcG9saW5lX2ZyYW1lIChmcmFtZV9pbmZvX3B0cik7 CisKIC8qIEZpbmQgdGhlIHRhcmdldCBvZiBhIHRyYW1wb2xpbmUgZnVuY3Rpb24gbWFya2VkIHZp YSB0aGUgRFdfQVRfdHJhbXBvbGluZQogICAgYXR0cmlidXRlIGFuZCByZXR1cm4gaXRzIGFkZHJl c3MuICBSZXR1cm5zIDAgaWYgdGhlIHBjIGlzIG5vdCBjb250YWluZWQKICAgIGluIGEgdHJhbXBv bGluZSBmdW5jdGlvbiAoaW5saW5lZCBvciBub3QpLiAgSWYgRFdfQVRfdHJhbXBvbGluZQpkaWZm IC0tZ2l0IGEvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi9mdW5jLXRyYW1wb2xpbmUuZXhwIGIv Z2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi9mdW5jLXRyYW1wb2xpbmUuZXhwCm5ldyBmaWxlIG1v ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwLi4zYmM0ZDFjMDcxNAotLS0gL2Rldi9udWxsCisr KyBiL2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vZnVuYy10cmFtcG9saW5lLmV4cApAQCAtMCww ICsxLDY5IEBACisjIENvcHlyaWdodCAyMDIzIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5j LgorCisjIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0 ZSBpdCBhbmQvb3IgbW9kaWZ5CisjIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVy YWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CisjIHRoZSBGcmVlIFNvZnR3YXJlIEZv dW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yCisjIChhdCB5b3Vy IG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisjCisjIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmli dXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorIyBidXQgV0lUSE9VVCBB TlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorIyBNRVJD SEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhl CisjIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisjCisjIFlv dSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBM aWNlbnNlCisjIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiAgSWYgbm90LCBzZWUgPGh0dHA6Ly93 d3cuZ251Lm9yZy9saWNlbnNlcy8+IC4KKworIyBUZXN0IGZpbmlzaCBhbmQgYmFja3RyYWNlIGNv bW1hbmRzIGZvciBmdW5jdGlvbnMgd2l0aCB0cmFtcG9saW5lCisjIGNhbGxzLiAgQWxzbyBjaGVj a3MgaWYgdHJhbXBvbGluZSBmcmFtZXMgYXJlIGZpbHRlcmVkIHdoaWxlIHByaW50aW5nCisjIHN0 YWNrIGFuZCBmaW5pc2ggY29tbWFuZCByZXR1cm5zIHRvIHJlYWwgZnVuY3Rpb24uCisKK3JlcXVp cmUgYWxsb3dfZm9ydHJhbl90ZXN0cworCitpZiB7IVt0ZXN0X2NvbXBpbGVyX2luZm8ge2lmeC0q fSBmOTBdfSB7CisgICAgdW50ZXN0ZWQgIlRlc3QgaXMgb25seSBhcHBsaWNhYmxlIGZvciBJRlgg d2hlcmVcCisJICAgICBjb21waWxlciBlbWl0cyB0cmFtcG9saW5lIERJRSBpbiBEd2FyZiIKKyAg ICByZXR1cm4gLTEKK30KKworc3RhbmRhcmRfdGVzdGZpbGUgIi5mOTAiCitsb2FkX2xpYiBmb3J0 cmFuLmV4cAorCitpZiB7W3ByZXBhcmVfZm9yX3Rlc3RpbmcgImZhaWxlZCB0byBwcmVwYXJlIiAk e3Rlc3RmaWxlfSAke3NyY2ZpbGV9IFwKKyAgICB7ZGVidWcgZjkwfV19IHsKKyAgICByZXR1cm4g LTEKK30KKworaWYgeyFbZm9ydHJhbl9ydW50b19tYWluXX0geworICAgIHJldHVybiAtMQorfQor CitzZXQgaW5uZXJfbG9jIFtnZGJfZ2V0X2xpbmVfbnVtYmVyICJzZWNvbmQtYnJlYWtwdCJdCitz ZXQgbWlkZGxlX2xvYyBbZ2RiX2dldF9saW5lX251bWJlciAiZmlyc3QtYnJlYWtwdCJdCitzZXQg b3V0ZXJfbG9jIFtnZGJfZ2V0X2xpbmVfbnVtYmVyICJtYWluLW91dGVyLWxvYyJdCitzZXQgZmls bCAiXFteXHJcblxdKiIKKworc2V0IGlubmVyX2Rlc2MgICJzZWNvbmQgXFwoeD0yMCwgeT05XFwp IGF0ICR7ZmlsbH0kc3JjZmlsZTokaW5uZXJfbG9jIgorc2V0IG1pZGRsZV9kZXNjICJmaXJzdCBc XChudW0xPTE2LCBudW0yPTNcXCkgYXQgJHtmaWxsfSRzcmNmaWxlOiRtaWRkbGVfbG9jIgorc2V0 IG91dGVyX2Rlc2MgICIuKiBhdCAuKiRzcmNmaWxlOiRvdXRlcl9sb2MiCisKKyMgU2V0IGJyZWFr cG9pbnQgaW5zaWRlIHRoZSBpbm5lcm1vc3QgZnVuY3Rpb24gJ3NlY29uZCcuCitnZGJfYnJlYWtw b2ludCAiJHNyY2ZpbGU6JGlubmVyX2xvYyIKK2dkYl9jb250aW51ZV90b19icmVha3BvaW50ICJp bm5lcm1vc3QtYm9keSIgIi4qJHNyY2ZpbGU6JGlubmVyX2xvYy4qIgorCisjIExpbWl0IHRoZSBi YWNrdHJhY2UgdG8gMyBmcmFtZXMgYW5kIGVuc3VyZSBib3RoIGZyYW1lcyBmb3IgZmlyc3QKKyMg YW5kIHNlY29uZCBmdW5jdGlvbiBhcmUgc2hvd24gb25seSBhbmQgdHJhbXBvbGluZSBmcmFtZXMg YXJlIGZpbHRlcmVkLgorZ2RiX3Rlc3QgImJhY2t0cmFjZSAzIiBbbXVsdGlfbGluZSBcCisgICAg IiMkZGVjaW1hbC4qICRpbm5lcl9kZXNjIiBcCisgICAgIiMkZGVjaW1hbC4qICRtaWRkbGVfZGVz YyIgXAorICAgICIjJGRlY2ltYWwuKiAkb3V0ZXJfZGVzYy4qIl0gXAorImJhY2t0cmFjZSwgdGVz dCB0cmFtcG9saW5lIGZyYW1lcyBhcmUgZmlsdGVyZWQiCisKKyMgRmluaXNoIHRoZSBmdW5jdGlv biBjYWxscy4gIE5vcm1hbGx5IHdlIGV4cGVjdCB0byBzZWUgYSAiVmFsdWUKKyMgcmV0dXJuZWQg aXMgLi4uIiBsaW5lLgorc2V0IHZhbHVlX3JldHVybmVkICIoXHJcblZhbHVlIHJldHVybmVkIGlz ICR2YWxudW1fcmUgPSAxODApIgorCitnZGJfdGVzdCAiZmluaXNoIiBbbXVsdGlfbGluZSBcCisg ICAgIlJ1biB0aWxsIGV4aXQgZnJvbSAjMCAkZmlsbCBzZWNvbmQgXFwoeD0yMCwgeT05XFwpICRm aWxsIiBcCisgICAgIiR7ZmlsbH1maXJzdCBcXChudW0xPTE2LCBudW0yPTNcXCkke2ZpbGx9IiBc CisgICAgIiR7ZmlsbH0ke3ZhbHVlX3JldHVybmVkfSJdIFwKKyAgICAiZmluaXNoIHRoZSBpbm5l cm1vc3QgZnJhbWUiCmRpZmYgLS1naXQgYS9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL2Z1bmMt dHJhbXBvbGluZS5mOTAgYi9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL2Z1bmMtdHJhbXBvbGlu ZS5mOTAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAuLjY1MjczM2I0NGZk Ci0tLSAvZGV2L251bGwKKysrIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi9mdW5jLXRyYW1w b2xpbmUuZjkwCkBAIC0wLDAgKzEsMzkgQEAKKyEgQ29weXJpZ2h0IDIwMjMgRnJlZSBTb2Z0d2Fy ZSBGb3VuZGF0aW9uLCBJbmMuCishCishIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5 b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CishIGl0IHVuZGVyIHRoZSB0ZXJt cyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CishIHRo ZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vu c2UsIG9yCishIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCishCishIFRoaXMg cHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVs LAorISBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3 YXJyYW50eSBvZgorISBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFS IFBVUlBPU0UuICBTZWUgdGhlCishIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3Jl IGRldGFpbHMuCishCishIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdO VSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCishIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiAgSWYg bm90LCBzZWUgPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+IC4KKworISBTb3VyY2UgY29k ZSBmb3IgZnVuYy10cmFtcG9saW5lLmV4cC4KKworaW50ZWdlcihraW5kPTQpIGZ1bmN0aW9uIHNl Y29uZCh4LCB5KQorICBpbnRlZ2VyKGtpbmQ9NCksIGludGVudChpbikgOjogeAorICBpbnRlZ2Vy KGtpbmQ9NCksIGludGVudChpbikgOjogeQorCisgIHNlY29uZCA9IHggKiB5ICEgc2Vjb25kLWJy ZWFrcHQKK2VuZCBmdW5jdGlvbgorCitpbnRlZ2VyKGtpbmQ9NCkgZnVuY3Rpb24gZmlyc3QobnVt MSwgbnVtMikKKyAgaW50ZWdlcihraW5kPTQpLCBpbnRlbnQoaW4pIDo6IG51bTEKKyAgaW50ZWdl cihraW5kPTQpLCBpbnRlbnQoaW4pIDo6IG51bTIKKworICBmaXJzdCA9IHNlY29uZCAobnVtMSAr IDQsIG51bTIgKiAzKSAhIGZpcnN0LWJyZWFrcHQKK2VuZCBmdW5jdGlvbgorCitwcm9ncmFtIGZ1 bmNfdHJhbXBvbGluZQorICBpbnRlZ2VyKGtpbmQ9NCkgOjogdG90YWwKKworICB0b3RhbCA9IGZp cnN0KDE2LCAzKSAhIG1haW4tb3V0ZXItbG9jCisKKyAgd3JpdGUoKiwqKSAgIlJlc3VsdCBpcyAi LCB0b3RhbCwgIlxuIgorICAhIEV4cGVjdGVkOiAxODAKK2VuZCBwcm9ncmFtIGZ1bmNfdHJhbXBv bGluZQpkaWZmIC0tZ2l0IGEvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi9taXhlZC1sYW5nLXN0 YWNrLmV4cCBiL2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vbWl4ZWQtbGFuZy1zdGFjay5leHAK aW5kZXggNWZjMzZmN2I5NWIuLjcxYTE3MWVkY2YwIDEwMDY0NAotLS0gYS9nZGIvdGVzdHN1aXRl L2dkYi5mb3J0cmFuL21peGVkLWxhbmctc3RhY2suZXhwCisrKyBiL2dkYi90ZXN0c3VpdGUvZ2Ri LmZvcnRyYW4vbWl4ZWQtbGFuZy1zdGFjay5leHAKQEAgLTQxLDcgKzQxLDcgQEAgc2V0IGhhdmVf aW5kZXggW2V4ZWNfaGFzX2luZGV4X3NlY3Rpb24gJGJpbmZpbGVdCiAjIHZhbHVlIHRvIHBhc3Mg dG8gR0RCJ3MgJ3NldCBsYW5ndWFnZSAuLi4nIGNvbW1hbmQuCiBwcm9jIHJ1bl90ZXN0cyB7IGxh bmcgfSB7CiAgICAgd2l0aF90ZXN0X3ByZWZpeCAibGFuZz0ke2xhbmd9IiB7Ci0JZ2xvYmFsIGJp bmZpbGUgaGV4IGhhdmVfaW5kZXgKKwlnbG9iYWwgYmluZmlsZSBoZXggaGF2ZV9pbmRleCBkZWNp bWFsCiAKIAljbGVhbl9yZXN0YXJ0ICR7YmluZmlsZX0KIApAQCAtNjMsNiArNjMsMTAgQEAgcHJv YyBydW5fdGVzdHMgeyBsYW5nIH0gewogCXNldCBlX2FyZyAiXFsnXCJcXWFiY2RlZlxbJ1wiXF0i CiAJc2V0IDFiX2FyZ3MgIlxbXlxyXG5cXSskZV9hcmdcW15cclxuXF0rIgogCXNldCAxZ19hcmdz ICJvYmo9XFteXHJcblxdKyIKKwkjIEdlbmVyaWMgZGVjaW1hbCBudW1iZXIgaXMgY2hlY2tlZCBp biByZWdleCBmb3IgRnJhbWUgIzggYW5kICM5IHRvCisJIyBoYW5kbGUgZmlsdGVyZWQgdHJhbXBv bGluZSBmcmFtZXMuICBTaW5jZSBGcmFtZSM4IGFuZCBGcmFtZSMxMCBhcmUKKwkjIHNldCB0byB0 cmFtcG9saW5lIGluIERXQVJGIGJ5IEludGVswq4gRm9ydHJhbiBDb21waWxlciAoaWZ4KSwgdGhl eQorCSMgYXJlIG5vdCBzaG93biBieSB0aGUgYmFja3RyYWNlIGNvbW1hbmQuCiAJc2V0IGJ0X3N0 YWNrIFwKIAkgICAgW211bHRpX2xpbmUgXAogCQkgIiMwXFxzK2JyZWFrcHQgXFwoXFwpIGF0IFxb XlxyXG5cXSsiIFwKQEAgLTczLDggKzc3LDggQEAgcHJvYyBydW5fdGVzdHMgeyBsYW5nIH0gewog CQkgIiM1XFxzKyRoZXggaW4gbWl4ZWRfZnVuY18xZCBcXChcW15cclxuXF0rXFwpIGF0IFxbXlxy XG5cXSsiIFwKIAkJICIjNlxccyskaGV4IGluIG1peGVkX2Z1bmNfMWMgXFwoXFteXHJcblxdK1xc KSBhdCBcW15cclxuXF0rIiBcCiAJCSAiIzdcXHMrJGhleCBpbiBtaXhlZF9mdW5jXzFiIFxcKCQx Yl9hcmdzXFwpIGF0IFxbXlxyXG5cXSsiIFwKLQkJICIjOFxccyskaGV4IGluIG1peGVkX2Z1bmNf MWEgXFwoXFwpIGF0IFxbXlxyXG5cXSsiIFwKLQkJICIjOVxccyskaGV4IGluIG1peGVkX3N0YWNr X21haW4gXFwoXFwpIGF0IFxbXlxyXG5cXSsiIF0KKwkJICIjJGRlY2ltYWxcXHMrJGhleCBpbiBt aXhlZF9mdW5jXzFhIFxcKFxcKSBhdCBcW15cclxuXF0rIiBcCisJCSAiIyRkZWNpbWFsXFxzKyRo ZXggaW4gbWl4ZWRfc3RhY2tfbWFpbiBcXChcXCkgYXQgXFteXHJcblxdKyIgXQogCXNldCBtYWlu X2FyZ3MgImFyZ2M9MSwgYXJndj0ke2hleH0oIFxbXlxyXG5cXSspPyIKIAlzZXQgYnRfc3RhY2tf a2ZhaWwgXAogCSAgICBbbXVsdGlfbGluZSBcCi0tIAoyLjM0LjEKCkludGVsIERldXRzY2hsYW5k IEdtYkgKUmVnaXN0ZXJlZCBBZGRyZXNzOiBBbSBDYW1wZW9uIDEwLCA4NTU3OSBOZXViaWJlcmcs IEdlcm1hbnkKVGVsOiArNDkgODkgOTkgODg1My0wLCB3d3cuaW50ZWwuZGUgPGh0dHA6Ly93d3cu aW50ZWwuZGU+Ck1hbmFnaW5nIERpcmVjdG9yczogQ2hyaXN0aW4gRWlzZW5zY2htaWQsIFNoYXJv biBIZWNrLCBUaWZmYW55IERvb24gU2lsdmEgIApDaGFpcnBlcnNvbiBvZiB0aGUgU3VwZXJ2aXNv cnkgQm9hcmQ6IE5pY29sZSBMYXUKUmVnaXN0ZXJlZCBPZmZpY2U6IE11bmljaApDb21tZXJjaWFs IFJlZ2lzdGVyOiBBbXRzZ2VyaWNodCBNdWVuY2hlbiBIUkIgMTg2OTI4Cg==