From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga03.intel.com (mga03.intel.com [134.134.136.65]) by sourceware.org (Postfix) with ESMTPS id 510EE384645E for ; Mon, 5 Jun 2023 11:05:16 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 510EE384645E 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=1685963116; x=1717499116; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=0bX1cCt92s11rxouVAIFn7LiBTA44K9hLkh0jgz3LWA=; b=RgD2NNbABB4C58HzBqNn8NPveuvdH5oCbFwFT+sEAqTmf5c33xh+IHH7 sVZq8DReOFeOotPUCrI7ys5wRvN27BSZWUuEVLuiuWnfDyazunTZLstjL H4u6L/9q0/X8s8yotPW5QGiQDfEJJjSFbSHF6ELBRMhjsB9FiRnboReNF KJfaNe3CYxwg/EQwb1AP5HBMEKcQ4e/5UJLpYi4m5hjEV30YLLNS95e8t fFfpaM2aa57muq8eCgHemcMxIpbmc7NYBNbO0zpzEO1jKVmZgrOurUI7p K/trPsgrgldq5UkK26vDwKGcHLL7sz8QCb4dyp7y6l6TGLCmj9WdntVo0 w==; X-IronPort-AV: E=McAfee;i="6600,9927,10731"; a="359653647" X-IronPort-AV: E=Sophos;i="6.00,217,1681196400"; d="scan'208";a="359653647" Received: from orsmga001.jf.intel.com ([10.7.209.18]) by orsmga103.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 05 Jun 2023 04:05:14 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10731"; a="741683150" X-IronPort-AV: E=Sophos;i="6.00,217,1681196400"; d="scan'208";a="741683150" Received: from labpc2030.iul.intel.com (HELO localhost) ([172.28.48.46]) by orsmga001-auth.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 05 Jun 2023 04:05:13 -0700 From: Abdul Basit Ijaz To: gdb-patches@sourceware.org Cc: abdul.b.ijaz@intel.com, JiniSusan.George@amd.com, tom@tromey.com Subject: [PATCH v2 4/4] gdb: Skip trampoline frames in the stack for printing or finish command. Date: Mon, 5 Jun 2023 13:04:10 +0200 Message-Id: <20230605110410.3078-5-abdul.b.ijaz@intel.com> X-Mailer: git-send-email 2.39.1 In-Reply-To: <20230605110410.3078-1-abdul.b.ijaz@intel.com> References: <20230605110410.3078-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,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 Ni0wNSBBYmR1bCBCYXNpdCBJamF6IDxhYmR1bC5iLmlqYXpAaW50ZWwuY29tPgotLS0KIGdkYi9k b2MvZ2RiLnRleGluZm8gICAgICAgICAgICAgICAgICAgICAgICAgICB8IDQwICsrKysrKystLS0t CiBnZGIvaW5mY21kLmMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAxNCArKysr CiBnZGIvaW5mcnVuLmMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgOCArLS0K IGdkYi9pbmZydW4uaCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICA2ICsrCiBn ZGIvc3RhY2suYyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgOCArKysKIGdk Yi9zeW10YWIuYyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IDEyICsrKysKIGdk Yi9zeW10YWIuaCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICA1ICsrCiBnZGIv dGVzdHN1aXRlL2dkYi5mb3J0cmFuL2Z1bmMtdHJhbXBvbGluZS5leHAgfCA2OSArKysrKysrKysr KysrKysrKysrCiBnZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL2Z1bmMtdHJhbXBvbGluZS5mOTAg fCAzOSArKysrKysrKysrKwogLi4uL2dkYi5mb3J0cmFuL21peGVkLWxhbmctc3RhY2suZXhwICAg ICAgICAgIHwgMTAgKystCiAxMCBmaWxlcyBjaGFuZ2VkLCAxODkgaW5zZXJ0aW9ucygrKSwgMjIg ZGVsZXRpb25zKC0pCiBjcmVhdGUgbW9kZSAxMDA2NDQgZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJh bi9mdW5jLXRyYW1wb2xpbmUuZXhwCiBjcmVhdGUgbW9kZSAxMDA2NDQgZ2RiL3Rlc3RzdWl0ZS9n ZGIuZm9ydHJhbi9mdW5jLXRyYW1wb2xpbmUuZjkwCgpkaWZmIC0tZ2l0IGEvZ2RiL2RvYy9nZGIu dGV4aW5mbyBiL2dkYi9kb2MvZ2RiLnRleGluZm8KaW5kZXggNDRhYmEwM2ZjNDQuLjYyNzMzNWE3 OGE3IDEwMDY0NAotLS0gYS9nZGIvZG9jL2dkYi50ZXhpbmZvCisrKyBiL2dkYi9kb2MvZ2RiLnRl eGluZm8KQEAgLTYzNzYsMjMgKzYzNzYsMzMgQEAgc28tY2FsbGVkIHRyYW1wb2xpbmUgZnVuY3Rp b25zLCB3aGljaCB3cmFwIHRoZSBhY3R1YWwgZnVuY3Rpb24gY2FsbCAodGhlCiB0YXJnZXQgb2Yg dGhlIHRyYW1wb2xpbmUpLiAgVGhlIGNvbXBpbGVyIG1pZ2h0IG1hcmsgc3VjaCBhIHRyYW1wb2xp bmUgaW4gaXRzCiBkZWJ1ZyBpbmZvcm1hdGlvbi4gIE9mdGVuLCBzdWNoIHRyYW1wb2xpbmVzIGRv IG5vdCBoYXZlIGFueSBzb3VyY2UgbGluZQogaW5mb3JtYXRpb24gYXNzb2NpYXRlZCB3aXRoIHRo ZW0gd2hpY2ggd2lsbCBsZWFkIHRoZSBAY29kZXtzdGVwfSBjb21tYW5kIHRvCi1iZWhhdmUgbGlr ZSBhIEBjb2Rle25leHR9IGFuZCBza2lwIHRoZSBmdW5jdGlvbiBjYWxsIGNvbXBsZXRlbHkuCiti ZWhhdmUgbGlrZSBhIEBjb2Rle25leHR9IGFuZCBza2lwIHRoZSBmdW5jdGlvbiBjYWxsIGNvbXBs ZXRlbHkuICBTaW1pbGFybHksCit0aGUgQGNvZGV7ZmluaXNofSBjb21tYW5kIHdpbGwgcmV0dXJu IHRvIHNvbWUgdHJhbXBvbGluZSBmcmFtZSBlbnRyeSBpbnN0ZWFkCitvZiByZXR1cm5pbmcgdG8g dGhlIGNhbGwgc2l0ZS4KIAogVGhlIEBjb2Rle3NldCBza2lwLXRyYW1wb2xpbmUtZnVuY3Rpb25z IG9ufSBjb21tYW5kIHdpbGwgY2F1c2UgdGhlIEBjb2Rle3N0ZXB9Ci1jb21tYW5kIHRvIHRyZWF0 IHRoZXNlIHRyYW1wb2xpbmVzIGRpZmZlcmVudGx5LiAgV2hlbiBpc3N1aW5nIGEgQGNvZGV7c3Rl cH0gYXQKLXRoZSBjYWxsIHNpdGUgb2YgYSB0cmFtcG9saW5lIGZ1bmN0aW9uIGlmIEBjb2Rle3Nr aXAtdHJhbXBvbGluZS1mdW5jdGlvbnN9IGlzCi1zZXQgQHZhbHVle0dEQk59IHdpbGwgYXR0ZW1w dCB0byBkZXRlcm1pbmUgdGhlIHRhcmdldCBvZiB0aGUgdHJhbXBvbGluZSBhbmQKLXRoZW4gc3Rl cCB0aHJvdWdoIHRoZSB0cmFtcG9saW5lIHN0b3BwaW5nIGF0IHRoZSB0YXJnZXQuICBJZiB0aGUg dGFyZ2V0IGNvdWxkCi1ub3QgYmUgZm91bmQgb3Igd2FzIG5vdCBnaXZlbiBpbiB0aGUgZGVidWcg aW5mbywgQHZhbHVle0dEQk59IHdpbGwgc2ltcGx5Ci1jb250aW51ZSBleGVjdXRpb24gdW50aWwg aXQgbGVhdmVzIHRoZSB0cmFtcG9saW5lIGNvZGUgYWdhaW4sIGV2ZW4gaWYgdGhlCi10cmFtcG9s aW5lIGhhcyBubyBsaW5lIGluZm8gYXNzb2NpYXRlZCB3aXRoIGl0LiAgV2hlbiByZXR1cm5pbmcg ZnJvbSBhIHRhcmdldAotZnVuY3Rpb24gY2FsbCBhbmQgc3RlcHBpbmcgYmFjayBpbnRvIHRoZSB0 cmFtcG9saW5lLCBAdmFsdWV7R0RCTn0gd2lsbCBhZ2Fpbgotc3RlcCB0aHJvdWdoIHRoZSB0cmFt cG9saW5lIHRvd2FyZHMgdGhlIGNhbGwgc2l0ZS4KLUFkZGl0aW9uYWxseSwgZXZlbiBpZiBzdG9w cGVkIGluIGEgdHJhbXBvbGluZSBmdW5jdGlvbiB3aXRoIHNvdXJjZSBsaW5lCi1pbmZvcm1hdGlv biwgaXNzdWluZyBhIEBjb2Rle3N0ZXB9IHdpbGwgcHJvbXB0IEB2YWx1ZXtHREJOfSB0byByZXN1 bWUgZXhlY3V0aW9uCi11bnRpbCBsZWF2aW5nIHRoZSB0cmFtcG9saW5lIHJlZ2lvbiBhZ2Fpbi4g IFRoZSBAY29kZXtzdGVwaX0gY29tbWFuZCBpcyBub3QKLWFmZmVjdGVkIGJ5IHRoZSBzZXR0aW5n IHdoaWNoIGlzIGVuYWJsZWQgYnkgZGVmYXVsdC4gIEN1cnJlbnRseSwgb25seQotRFdBUkYgdHJh bXBvbGluZXMgbWFya2VkIHZpYSBEV19BVF90cmFtcG9saW5lIGFyZSBzdXBwb3J0ZWQgYnkgdGhp cy4KK2FuZCB0aGUgQGNvZGV7ZmluaXNofSBjb21tYW5kIHRvIHRyZWF0IHRoZXNlIHRyYW1wb2xp bmVzIGRpZmZlcmVudGx5LgorCitXaGVuIGlzc3VpbmcgYSBAY29kZXtzdGVwfSBhdCB0aGUgY2Fs bCBzaXRlIG9mIGEgdHJhbXBvbGluZSBmdW5jdGlvbiwgaWYKK0Bjb2Rle3NraXAtdHJhbXBvbGlu ZS1mdW5jdGlvbnN9IGlzIHNldCwgQHZhbHVle0dEQk59IHdpbGwgYXR0ZW1wdCB0byBkZXRlcm1p bmUKK3RoZSB0YXJnZXQgb2YgdGhlIHRyYW1wb2xpbmUgYW5kIHRoZW4gc3RlcCB0aHJvdWdoIHRo ZSB0cmFtcG9saW5lIHN0b3BwaW5nIGF0Cit0aGUgdGFyZ2V0LiAgSWYgdGhlIHRhcmdldCBjb3Vs ZCBub3QgYmUgZm91bmQgb3Igd2FzIG5vdCBnaXZlbiBpbiB0aGUgZGVidWcKK2luZm8sIEB2YWx1 ZXtHREJOfSB3aWxsIHNpbXBseSBjb250aW51ZSBleGVjdXRpb24gdW50aWwgaXQgbGVhdmVzIHRo ZQordHJhbXBvbGluZSBjb2RlIGFnYWluLCBldmVuIGlmIHRoZSB0cmFtcG9saW5lIGhhcyBubyBs aW5lIGluZm8gYXNzb2NpYXRlZAord2l0aCBpdC4gIFdoZW4gcmV0dXJuaW5nIGZyb20gYSB0YXJn ZXQgZnVuY3Rpb24gY2FsbCBhbmQgc3RlcHBpbmcgYmFjayBpbnRvCit0aGUgdHJhbXBvbGluZSwg QHZhbHVle0dEQk59IHdpbGwgYWdhaW4gc3RlcCB0aHJvdWdoIHRoZSB0cmFtcG9saW5lIHRvd2Fy ZHMKK3RoZSBjYWxsIHNpdGUuICBBZGRpdGlvbmFsbHksIGV2ZW4gaWYgc3RvcHBlZCBpbiBhIHRy YW1wb2xpbmUgZnVuY3Rpb24gd2l0aAorc291cmNlIGxpbmUgaW5mb3JtYXRpb24sIGlzc3Vpbmcg YSBAY29kZXtzdGVwfSB3aWxsIHByb21wdCBAdmFsdWV7R0RCTn0gdG8KK3Jlc3VtZSBleGVjdXRp b24gdW50aWwgbGVhdmluZyB0aGUgdHJhbXBvbGluZSByZWdpb24gYWdhaW4uICBUaGUgQGNvZGV7 c3RlcGl9Citjb21tYW5kIGlzIG5vdCBhZmZlY3RlZCBieSB0aGUgc2V0dGluZyB3aGljaCBpcyBl bmFibGVkIGJ5IGRlZmF1bHQuCisKK1doZW4gaXNzdWluZyBhIEBjb2Rle2ZpbmlzaH0gY29tbWFu ZCBhdCB0aGUgdGFyZ2V0IG9mIGEgdHJhbXBvbGluZSBmdW5jdGlvbiwgaWYKK0Bjb2Rle3NraXAt dHJhbXBvbGluZS1mdW5jdGlvbnN9IGlzIHNldCwgQHZhbHVle0dEQk59IHdpbGwgaWdub3JlIGFs bCB0aGUKK3RyYW1wb2xpbmUgZnJhbWVzIGFuZCB3aWxsIHJlYWNoIHRoZSBmaXJzdCBub24tdHJh bXBvbGluZSBmcmFtZSB0byByZXR1cm4gdG8KK3RoZSBjYWxsIHNpdGUgb2YgdGhlIGN1cnJlbnQg ZnVuY3Rpb24uCisKK0N1cnJlbnRseSwgb25seSBEV0FSRiB0cmFtcG9saW5lcyBtYXJrZWQgdmlh IERXX0FUX3RyYW1wb2xpbmUgYXJlIHN1cHBvcnRlZCBieQordGhpcy4KIAogQGl0ZW0gc2V0IHNr aXAtdHJhbXBvbGluZS1mdW5jdGlvbnMgb2ZmCiBDYXVzZXMgdGhlIEBjb2Rle3N0ZXB9IGNvbW1h bmQgdG8gY29tcGxldGVseSBpZ25vcmUgYW55IHRyYW1wb2xpbmUgaW5mb3JtYXRpb24KZGlmZiAt LWdpdCBhL2dkYi9pbmZjbWQuYyBiL2dkYi9pbmZjbWQuYwppbmRleCA5NzhjMDdmMTc2ZC4uYmYw MjIwNzJkZjUgMTAwNjQ0Ci0tLSBhL2dkYi9pbmZjbWQuYworKysgYi9nZGIvaW5mY21kLmMKQEAg LTE4NDAsNiArMTg0MCwyMCBAQCBmaW5pc2hfY29tbWFuZCAoY29uc3QgY2hhciAqYXJnLCBpbnQg ZnJvbV90dHkpCiAgIGZyYW1lID0gZ2V0X3ByZXZfZnJhbWUgKGdldF9zZWxlY3RlZF9mcmFtZSAo XygiTm8gc2VsZWN0ZWQgZnJhbWUuIikpKTsKICAgaWYgKGZyYW1lID09IDApCiAgICAgZXJyb3Ig KF8oIlwiZmluaXNoXCIgbm90IG1lYW5pbmdmdWwgaW4gdGhlIG91dGVybW9zdCBmcmFtZS4iKSk7 CisKKyAgaWYgKHNraXBfdHJhbXBvbGluZV9mdW5jdGlvbnMpCisgICAgeworICAgICAgZm9yIChp bnQgaSA9IDA7IGkgPCBNQVhfVFJBTVBPTElORV9DSEFJTl9TSVpFCisJCSAgICAgICYmIChmcmFt ZSAhPSBudWxscHRyKQorCQkgICAgICAmJiBpbl90cmFtcG9saW5lX2ZyYW1lIChmcmFtZSk7ICsr aSkKKwlmcmFtZSA9IGdldF9wcmV2X2ZyYW1lIChmcmFtZSk7CisKKyAgICAgIGlmIChmcmFtZSA9 PSBudWxscHRyKQorCWVycm9yIChfKCJcImZpbmlzaFwiIG5vdCBtZWFuaW5nZnVsIGluIHRoZSBv dXRlcm1vc3Qgbm9uLXRyYW1wb2xpbmUgXAorZnJhbWUuICBDb25zaWRlciBydW5uaW5nIFwic2V0 IHNraXAtdHJhbXBvbGluZS1mdW5jdGlvbnMgb2ZmXCIsIHRvIHN0b3AgaW4gXAordHJhbXBvbGlu ZSBmcmFtZXMgZm9yIHRoZSBcImZpbmlzaFwiIGNvbW1hbmQuIikpOworICAgIH0KKwogICBmcmFt ZS5wcmVwYXJlX3JlaW5mbGF0ZSAoKTsKIAogICBjbGVhcl9wcm9jZWVkX3N0YXR1cyAoMCk7CmRp ZmYgLS1naXQgYS9nZGIvaW5mcnVuLmMgYi9nZGIvaW5mcnVuLmMKaW5kZXggMjc4MzkzMTkyYTQu LjFkMGM0M2FlMTY2IDEwMDY0NAotLS0gYS9nZGIvaW5mcnVuLmMKKysrIGIvZ2RiL2luZnJ1bi5j CkBAIC0xNjUsNyArMTY1LDcgQEAgc3RhdGljIGJvb2wgZGV0YWNoX2ZvcmsgPSB0cnVlOwogICAg RFdfQVRfdHJhbXBvbGluZSBieSB0aGUgY29tcGlsZXIuICBJZiBmYWxzZSwgR0RCIHdpbGwgaWdu b3JlIHRoZQogICAgYXR0cmlidXRlLiAgKi8KIAotc3RhdGljIGJvb2wgc2tpcF90cmFtcG9saW5l X2Z1bmN0aW9ucyA9IHRydWU7Citib29sIHNraXBfdHJhbXBvbGluZV9mdW5jdGlvbnMgPSB0cnVl OwogCiBib29sIGRlYnVnX2luZnJ1biA9IGZhbHNlOwogc3RhdGljIHZvaWQKQEAgLTk5MTYsOSAr OTkxNiw5IEBAIE9wdGlvbnMgYXJlICdmb3J3YXJkJyBvciAncmV2ZXJzZScuIiksCiAJCQkgICZz a2lwX3RyYW1wb2xpbmVfZnVuY3Rpb25zLCBfKCJcCiBTZXQgd2hldGhlciBnZGIgYXR0ZW1wdHMg dG8gaGlkZSB0cmFtcG9saW5lcyBtYXJrZWQgaW4gdGhlIGRlYnVnIGluZm8uIiksIF8oIlwKIFNo b3cgd2hldGhlciBnZGIgYXR0ZW1wdHMgdG8gaGlkZSB0cmFtcG9saW5lcyBtYXJrZWQgaW4gdGhl IGRlYnVnIGluZm8uIiksIF8oIlwKLUlmIG9uLCB3aGlsZSBzdGVwcGluZyBnZGIgd2lsbCBza2lw IHRocm91Z2ggZnVuY3Rpb25zIGFuZCBpbmxpbmVkIGZ1bmN0aW9uc1xuXAotbWFya2VkIGFzIHRy YW1wb2xpbmVzIGJ5IHRoZSBjb21waWxlci4gIElmIG9mZiwgZ2RiIHdpbGwgaWdub3JlIHN1Y2gg ZnVuY3Rpb25cblwKLXRyYW1wb2xpbmVzLiIpLAorSWYgb24sIHRoZSBzdGVwIGFuZCBmaW5pc2gg Y29tbWFuZHMgd2lsbCBza2lwIHRocm91Z2ggZnVuY3Rpb25zIGFuZCBpbmxpbmVkXG5cCitmdW5j dGlvbnMgbWFya2VkIGFzIHRyYW1wb2xpbmVzIGJ5IHRoZSBjb21waWxlci4gIElmIG9mZiwgZ2Ri IHdpbGwgaWdub3JlXG5cCitzdWNoIGZ1bmN0aW9uIHRyYW1wb2xpbmVzLiIpLAogCQkJICBudWxs cHRyLCBzaG93X3NraXBfdHJhbXBvbGluZV9mdW5jdGlvbnMsICZzZXRsaXN0LAogCQkJICAmc2hv d2xpc3QpOwogCmRpZmYgLS1naXQgYS9nZGIvaW5mcnVuLmggYi9nZGIvaW5mcnVuLmgKaW5kZXgg NTVkZDA2NzI4OTUuLjA3ZGFiYWEwZmJiIDEwMDY0NAotLS0gYS9nZGIvaW5mcnVuLmgKKysrIGIv Z2RiL2luZnJ1bi5oCkBAIC0xMDYsNiArMTA2LDEyIEBAIGV4dGVybiBib29sIG5vbl9zdG9wOwog ICAgc3RhcnRpbmcgYW4gaW5mZXJpb3IuICAqLwogZXh0ZXJuIGJvb2wgZGlzYWJsZV9yYW5kb21p emF0aW9uOwogCisvKiBJZiBzZXQgKGRlZmF1bHQpIEdEQiB3aWxsIHN0ZXAgdGhyb3VnaCBmdW5j dGlvbnMvaW5saW5lZCBzdWJyb3V0aW5lcyBtYXJrZWQKKyAgIERXX0FUX3RyYW1wb2xpbmUgYnkg dGhlIGNvbXBpbGVyLiAgSWYgZmFsc2UsIEdEQiB3aWxsIGlnbm9yZSB0aGUKKyAgIGF0dHJpYnV0 ZS4gICovCisKK2V4dGVybiBib29sIHNraXBfdHJhbXBvbGluZV9mdW5jdGlvbnM7CisKIC8qIFJl dHVybnMgYSB1bmlxdWUgaWRlbnRpZmllciBmb3IgdGhlIGN1cnJlbnQgc3RvcC4gIFRoaXMgY2Fu IGJlIHVzZWQKICAgIHRvIHRlbGwgd2hldGhlciBhIGNvbW1hbmQgaGFzIHByb2NlZWRlZCB0aGUg aW5mZXJpb3IgcGFzdCB0aGUKICAgIGN1cnJlbnQgbG9jYXRpb24uICAqLwpkaWZmIC0tZ2l0IGEv Z2RiL3N0YWNrLmMgYi9nZGIvc3RhY2suYwppbmRleCAwZmQ3OTc4MzZkYy4uMTkxNzk4NjJhM2Yg MTAwNjQ0Ci0tLSBhL2dkYi9zdGFjay5jCisrKyBiL2dkYi9zdGFjay5jCkBAIC0yMDc3LDYgKzIw NzcsMTQgQEAgYmFja3RyYWNlX2NvbW1hbmRfMSAoY29uc3QgZnJhbWVfcHJpbnRfb3B0aW9ucyAm ZnBfb3B0cywKIAkgIFFVSVQ7CiAJICBmaS5wcmVwYXJlX3JlaW5mbGF0ZSAoKTsKIAorCSAgaWYg KGluX3RyYW1wb2xpbmVfZnJhbWUgKGZpKSkKKwkgICAgeworCSAgICAgIC8qIFRyYW1wb2xpbmUg ZnJhbWVzIGFyZSBub3QgcHJpbnRlZCBzbyB0aGV5IGFyZSBub3QgY291bnRlZCBpbgorCQkgdGhl IGJhY2t0cmFjZSBsaW1pdC4gICovCisJICAgICAgY291bnQrKzsKKwkgICAgICBjb250aW51ZTsK KwkgICAgfQorCiAJICAvKiBEb24ndCB1c2UgcHJpbnRfc3RhY2tfZnJhbWU7IGlmIGFuIGVycm9y KCkgb2NjdXJzIGl0IHByb2JhYmx5CiAJICAgICBtZWFucyBmdXJ0aGVyIGF0dGVtcHRzIHRvIGJh Y2t0cmFjZSB3b3VsZCBmYWlsIChvbiB0aGUgb3RoZXIKIAkgICAgIGhhbmQsIHBlcmhhcHMgdGhl IGNvZGUgZG9lcyBvciBjb3VsZCBiZSBmaXhlZCB0byBtYWtlIHN1cmUKZGlmZiAtLWdpdCBhL2dk Yi9zeW10YWIuYyBiL2dkYi9zeW10YWIuYwppbmRleCAxZjU5YTVkYTU0ZS4uMDFiMTg3OTQ4YWMg MTAwNjQ0Ci0tLSBhL2dkYi9zeW10YWIuYworKysgYi9nZGIvc3ltdGFiLmMKQEAgLTQwODIsNiAr NDA4MiwxOCBAQCBpbl90cmFtcG9saW5lX2Z1bmN0aW9uIChDT1JFX0FERFIgcGMpCiAKIC8qIFNl ZSBzeW10YWIuaC4gICovCiAKK2Jvb2wKK2luX3RyYW1wb2xpbmVfZnJhbWUgKGZyYW1lX2luZm9f cHRyIGZpKQoreworICBDT1JFX0FERFIgcGM7CisgIGlmIChnZXRfZnJhbWVfcGNfaWZfYXZhaWxh YmxlIChmaSwgJnBjKSkKKyAgICByZXR1cm4gaW5fdHJhbXBvbGluZV9mdW5jdGlvbiAocGMpOwor CisgIHJldHVybiBmYWxzZTsKK30KKworLyogU2VlIHN5bXRhYi5oLiAgKi8KKwogQ09SRV9BRERS CiBmaW5kX2Z1bmN0aW9uX3RyYW1wb2xpbmVfdGFyZ2V0IChDT1JFX0FERFIgcGMpCiB7CmRpZmYg LS1naXQgYS9nZGIvc3ltdGFiLmggYi9nZGIvc3ltdGFiLmgKaW5kZXggMzI4NDAwZmVhMDQuLjU5 MGMzYTIwOGQ1IDEwMDY0NAotLS0gYS9nZGIvc3ltdGFiLmgKKysrIGIvZ2RiL3N5bXRhYi5oCkBA IC0yMjYwLDYgKzIyNjAsMTEgQEAgZXh0ZXJuIENPUkVfQUREUiBmaW5kX3NvbGliX3RyYW1wb2xp bmVfdGFyZ2V0IChmcmFtZV9pbmZvX3B0ciwgQ09SRV9BRERSKTsKIAogZXh0ZXJuIGJvb2wgaW5f dHJhbXBvbGluZV9mdW5jdGlvbiAoQ09SRV9BRERSIHBjKTsKIAorLyogUmV0dXJuIHdoZXRoZXIg b3Igbm90IHRoZSBwYyBvZiBjdXJyZW50IGZyYW1lIGlzIHdpdGhpbiBhIGJsb2NrIHRoYXQgYmVs b25ncworICAgdG8gYSBmdW5jdGlvbiB0aGF0IGlzIG1hcmtlZCBhcyBhIHRyYW1wb2xpbmUgYnkg dGhlIGNvbXBpbGVyLiAgKi8KKworZXh0ZXJuIGJvb2wgaW5fdHJhbXBvbGluZV9mcmFtZSAoZnJh bWVfaW5mb19wdHIpOworCiAvKiBGaW5kIHRoZSB0YXJnZXQgb2YgYSB0cmFtcG9saW5lIGZ1bmN0 aW9uIG1hcmtlZCB2aWEgdGhlIERXX0FUX3RyYW1wb2xpbmUKICAgIGF0dHJpYnV0ZSBhbmQgcmV0 dXJuIGl0cyBhZGRyZXNzLiAgUmV0dXJucyAwIGlmIHRoZSBwYyBpcyBub3QgY29udGFpbmVkCiAg ICBpbiBhIHRyYW1wb2xpbmUgZnVuY3Rpb24gKGlubGluZWQgb3Igbm90KS4gIElmIERXX0FUX3Ry YW1wb2xpbmUKZGlmZiAtLWdpdCBhL2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vZnVuYy10cmFt cG9saW5lLmV4cCBiL2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vZnVuYy10cmFtcG9saW5lLmV4 cApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMC4uM2JjNGQxYzA3MTQKLS0t IC9kZXYvbnVsbAorKysgYi9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL2Z1bmMtdHJhbXBvbGlu ZS5leHAKQEAgLTAsMCArMSw2OSBAQAorIyBDb3B5cmlnaHQgMjAyMyBGcmVlIFNvZnR3YXJlIEZv dW5kYXRpb24sIEluYy4KKworIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNh biByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorIyBpdCB1bmRlciB0aGUgdGVybXMgb2Yg dGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQorIyB0aGUgRnJl ZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZSBMaWNlbnNlLCBv cgorIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorIworIyBUaGlzIHByb2dy YW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyMg YnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFu dHkgb2YKKyMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQ T1NFLiAgU2VlIHRoZQorIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRh aWxzLgorIworIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2Vu ZXJhbCBQdWJsaWMgTGljZW5zZQorIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbS4gIElmIG5vdCwg c2VlIDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPiAuCisKKyMgVGVzdCBmaW5pc2ggYW5k IGJhY2t0cmFjZSBjb21tYW5kcyBmb3IgZnVuY3Rpb25zIHdpdGggdHJhbXBvbGluZQorIyBjYWxs cy4gIEFsc28gY2hlY2tzIGlmIHRyYW1wb2xpbmUgZnJhbWVzIGFyZSBmaWx0ZXJlZCB3aGlsZSBw cmludGluZworIyBzdGFjayBhbmQgZmluaXNoIGNvbW1hbmQgcmV0dXJucyB0byByZWFsIGZ1bmN0 aW9uLgorCityZXF1aXJlIGFsbG93X2ZvcnRyYW5fdGVzdHMKKworaWYgeyFbdGVzdF9jb21waWxl cl9pbmZvIHtpZngtKn0gZjkwXX0geworICAgIHVudGVzdGVkICJUZXN0IGlzIG9ubHkgYXBwbGlj YWJsZSBmb3IgSUZYIHdoZXJlXAorCSAgICAgY29tcGlsZXIgZW1pdHMgdHJhbXBvbGluZSBESUUg aW4gRHdhcmYiCisgICAgcmV0dXJuIC0xCit9CisKK3N0YW5kYXJkX3Rlc3RmaWxlICIuZjkwIgor bG9hZF9saWIgZm9ydHJhbi5leHAKKworaWYge1twcmVwYXJlX2Zvcl90ZXN0aW5nICJmYWlsZWQg dG8gcHJlcGFyZSIgJHt0ZXN0ZmlsZX0gJHtzcmNmaWxlfSBcCisgICAge2RlYnVnIGY5MH1dfSB7 CisgICAgcmV0dXJuIC0xCit9CisKK2lmIHshW2ZvcnRyYW5fcnVudG9fbWFpbl19IHsKKyAgICBy ZXR1cm4gLTEKK30KKworc2V0IGlubmVyX2xvYyBbZ2RiX2dldF9saW5lX251bWJlciAic2Vjb25k LWJyZWFrcHQiXQorc2V0IG1pZGRsZV9sb2MgW2dkYl9nZXRfbGluZV9udW1iZXIgImZpcnN0LWJy ZWFrcHQiXQorc2V0IG91dGVyX2xvYyBbZ2RiX2dldF9saW5lX251bWJlciAibWFpbi1vdXRlci1s b2MiXQorc2V0IGZpbGwgIlxbXlxyXG5cXSoiCisKK3NldCBpbm5lcl9kZXNjICAic2Vjb25kIFxc KHg9MjAsIHk9OVxcKSBhdCAke2ZpbGx9JHNyY2ZpbGU6JGlubmVyX2xvYyIKK3NldCBtaWRkbGVf ZGVzYyAiZmlyc3QgXFwobnVtMT0xNiwgbnVtMj0zXFwpIGF0ICR7ZmlsbH0kc3JjZmlsZTokbWlk ZGxlX2xvYyIKK3NldCBvdXRlcl9kZXNjICAiLiogYXQgLiokc3JjZmlsZTokb3V0ZXJfbG9jIgor CisjIFNldCBicmVha3BvaW50IGluc2lkZSB0aGUgaW5uZXJtb3N0IGZ1bmN0aW9uICdzZWNvbmQn LgorZ2RiX2JyZWFrcG9pbnQgIiRzcmNmaWxlOiRpbm5lcl9sb2MiCitnZGJfY29udGludWVfdG9f YnJlYWtwb2ludCAiaW5uZXJtb3N0LWJvZHkiICIuKiRzcmNmaWxlOiRpbm5lcl9sb2MuKiIKKwor IyBMaW1pdCB0aGUgYmFja3RyYWNlIHRvIDMgZnJhbWVzIGFuZCBlbnN1cmUgYm90aCBmcmFtZXMg Zm9yIGZpcnN0CisjIGFuZCBzZWNvbmQgZnVuY3Rpb24gYXJlIHNob3duIG9ubHkgYW5kIHRyYW1w b2xpbmUgZnJhbWVzIGFyZSBmaWx0ZXJlZC4KK2dkYl90ZXN0ICJiYWNrdHJhY2UgMyIgW211bHRp X2xpbmUgXAorICAgICIjJGRlY2ltYWwuKiAkaW5uZXJfZGVzYyIgXAorICAgICIjJGRlY2ltYWwu KiAkbWlkZGxlX2Rlc2MiIFwKKyAgICAiIyRkZWNpbWFsLiogJG91dGVyX2Rlc2MuKiJdIFwKKyJi YWNrdHJhY2UsIHRlc3QgdHJhbXBvbGluZSBmcmFtZXMgYXJlIGZpbHRlcmVkIgorCisjIEZpbmlz aCB0aGUgZnVuY3Rpb24gY2FsbHMuICBOb3JtYWxseSB3ZSBleHBlY3QgdG8gc2VlIGEgIlZhbHVl CisjIHJldHVybmVkIGlzIC4uLiIgbGluZS4KK3NldCB2YWx1ZV9yZXR1cm5lZCAiKFxyXG5WYWx1 ZSByZXR1cm5lZCBpcyAkdmFsbnVtX3JlID0gMTgwKSIKKworZ2RiX3Rlc3QgImZpbmlzaCIgW211 bHRpX2xpbmUgXAorICAgICJSdW4gdGlsbCBleGl0IGZyb20gIzAgJGZpbGwgc2Vjb25kIFxcKHg9 MjAsIHk9OVxcKSAkZmlsbCIgXAorICAgICIke2ZpbGx9Zmlyc3QgXFwobnVtMT0xNiwgbnVtMj0z XFwpJHtmaWxsfSIgXAorICAgICIke2ZpbGx9JHt2YWx1ZV9yZXR1cm5lZH0iXSBcCisgICAgImZp bmlzaCB0aGUgaW5uZXJtb3N0IGZyYW1lIgpkaWZmIC0tZ2l0IGEvZ2RiL3Rlc3RzdWl0ZS9nZGIu Zm9ydHJhbi9mdW5jLXRyYW1wb2xpbmUuZjkwIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi9m dW5jLXRyYW1wb2xpbmUuZjkwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw Li42NTI3MzNiNDRmZAotLS0gL2Rldi9udWxsCisrKyBiL2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRy YW4vZnVuYy10cmFtcG9saW5lLmY5MApAQCAtMCwwICsxLDM5IEBACishIENvcHlyaWdodCAyMDIz IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgorIQorISBUaGlzIHByb2dyYW0gaXMgZnJl ZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorISBpdCB1 bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxp c2hlZCBieQorISB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAz IG9mIHRoZSBMaWNlbnNlLCBvcgorISAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9u LgorIQorISBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3 aWxsIGJlIHVzZWZ1bCwKKyEgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4g dGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyEgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9S IEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQorISBHTlUgR2VuZXJhbCBQdWJsaWMgTGlj ZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorIQorISBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBj b3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorISBhbG9uZyB3aXRoIHRoaXMg cHJvZ3JhbS4gIElmIG5vdCwgc2VlIDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPiAuCisK KyEgU291cmNlIGNvZGUgZm9yIGZ1bmMtdHJhbXBvbGluZS5leHAuCisKK2ludGVnZXIoa2luZD00 KSBmdW5jdGlvbiBzZWNvbmQoeCwgeSkKKyAgaW50ZWdlcihraW5kPTQpLCBpbnRlbnQoaW4pIDo6 IHgKKyAgaW50ZWdlcihraW5kPTQpLCBpbnRlbnQoaW4pIDo6IHkKKworICBzZWNvbmQgPSB4ICog eSAhIHNlY29uZC1icmVha3B0CitlbmQgZnVuY3Rpb24KKworaW50ZWdlcihraW5kPTQpIGZ1bmN0 aW9uIGZpcnN0KG51bTEsIG51bTIpCisgIGludGVnZXIoa2luZD00KSwgaW50ZW50KGluKSA6OiBu dW0xCisgIGludGVnZXIoa2luZD00KSwgaW50ZW50KGluKSA6OiBudW0yCisKKyAgZmlyc3QgPSBz ZWNvbmQgKG51bTEgKyA0LCBudW0yICogMykgISBmaXJzdC1icmVha3B0CitlbmQgZnVuY3Rpb24K KworcHJvZ3JhbSBmdW5jX3RyYW1wb2xpbmUKKyAgaW50ZWdlcihraW5kPTQpIDo6IHRvdGFsCisK KyAgdG90YWwgPSBmaXJzdCgxNiwgMykgISBtYWluLW91dGVyLWxvYworCisgIHdyaXRlKCosKikg ICJSZXN1bHQgaXMgIiwgdG90YWwsICJcbiIKKyAgISBFeHBlY3RlZDogMTgwCitlbmQgcHJvZ3Jh bSBmdW5jX3RyYW1wb2xpbmUKZGlmZiAtLWdpdCBhL2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4v bWl4ZWQtbGFuZy1zdGFjay5leHAgYi9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL21peGVkLWxh bmctc3RhY2suZXhwCmluZGV4IDZhYjNmOGFkZWJhLi41ZjlkNDA5MDlhYSAxMDA2NDQKLS0tIGEv Z2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi9taXhlZC1sYW5nLXN0YWNrLmV4cAorKysgYi9nZGIv dGVzdHN1aXRlL2dkYi5mb3J0cmFuL21peGVkLWxhbmctc3RhY2suZXhwCkBAIC00MSw3ICs0MSw3 IEBAIHNldCBoYXZlX2luZGV4IFtleGVjX2hhc19pbmRleF9zZWN0aW9uICRiaW5maWxlXQogIyB2 YWx1ZSB0byBwYXNzIHRvIEdEQidzICdzZXQgbGFuZ3VhZ2UgLi4uJyBjb21tYW5kLgogcHJvYyBy dW5fdGVzdHMgeyBsYW5nIH0gewogICAgIHdpdGhfdGVzdF9wcmVmaXggImxhbmc9JHtsYW5nfSIg ewotCWdsb2JhbCBiaW5maWxlIGhleCBoYXZlX2luZGV4CisJZ2xvYmFsIGJpbmZpbGUgaGV4IGhh dmVfaW5kZXggZGVjaW1hbAogCiAJY2xlYW5fcmVzdGFydCAke2JpbmZpbGV9CiAKQEAgLTYzLDYg KzYzLDEwIEBAIHByb2MgcnVuX3Rlc3RzIHsgbGFuZyB9IHsKIAlzZXQgZV9hcmcgIlxbJ1wiXF1h YmNkZWZcWydcIlxdIgogCXNldCAxYl9hcmdzICJcW15cclxuXF0rJGVfYXJnXFteXHJcblxdKyIK IAlzZXQgMWdfYXJncyAib2JqPVxbXlxyXG5cXSsiCisJIyBHZW5lcmljIGRlY2ltYWwgbnVtYmVy IGlzIGNoZWNrZWQgaW4gcmVnZXggZm9yIEZyYW1lICM4IGFuZCAjOSB0bworCSMgaGFuZGxlIGZp bHRlcmVkIHRyYW1wb2xpbmUgZnJhbWVzLiAgU2luY2UgRnJhbWUjOCBhbmQgRnJhbWUjMTAgYXJl CisJIyBzZXQgdG8gdHJhbXBvbGluZSBpbiBEV0FSRiBieSBJbnRlbMKuIEZvcnRyYW4gQ29tcGls ZXIgKGlmeCksIHRoZXkKKwkjIGFyZSBub3Qgc2hvd24gYnkgdGhlIGJhY2t0cmFjZSBjb21tYW5k LgogCXNldCBidF9zdGFjayBcCiAJICAgIFttdWx0aV9saW5lIFwKIAkJICIjMFxccyticmVha3B0 IFxcKFxcKSBhdCBcW15cclxuXF0rIiBcCkBAIC03Myw4ICs3Nyw4IEBAIHByb2MgcnVuX3Rlc3Rz IHsgbGFuZyB9IHsKIAkJICIjNVxccyskaGV4IGluIG1peGVkX2Z1bmNfMWQgXFwoXFteXHJcblxd K1xcKSBhdCBcW15cclxuXF0rIiBcCiAJCSAiIzZcXHMrJGhleCBpbiBtaXhlZF9mdW5jXzFjIFxc KFxbXlxyXG5cXStcXCkgYXQgXFteXHJcblxdKyIgXAogCQkgIiM3XFxzKyRoZXggaW4gbWl4ZWRf ZnVuY18xYiBcXCgkMWJfYXJnc1xcKSBhdCBcW15cclxuXF0rIiBcCi0JCSAiIzhcXHMrJGhleCBp biBtaXhlZF9mdW5jXzFhIFxcKFxcKSBhdCBcW15cclxuXF0rIiBcCi0JCSAiIzlcXHMrJGhleCBp biBtaXhlZF9zdGFja19tYWluIFxcKFxcKSBhdCBcW15cclxuXF0rIiBdCisJCSAiIyRkZWNpbWFs XFxzKyRoZXggaW4gbWl4ZWRfZnVuY18xYSBcXChcXCkgYXQgXFteXHJcblxdKyIgXAorCQkgIiMk ZGVjaW1hbFxccyskaGV4IGluIG1peGVkX3N0YWNrX21haW4gXFwoXFwpIGF0IFxbXlxyXG5cXSsi IF0KIAlzZXQgbWFpbl9hcmdzICJhcmdjPTEsIGFyZ3Y9JHtoZXh9KCBcW15cclxuXF0rKT8iCiAJ c2V0IGJ0X3N0YWNrX2tmYWlsIFwKIAkgICAgW211bHRpX2xpbmUgXAotLSAKMi4zOS4xCgpJbnRl bCBEZXV0c2NobGFuZCBHbWJIClJlZ2lzdGVyZWQgQWRkcmVzczogQW0gQ2FtcGVvbiAxMCwgODU1 NzkgTmV1YmliZXJnLCBHZXJtYW55ClRlbDogKzQ5IDg5IDk5IDg4NTMtMCwgd3d3LmludGVsLmRl IDxodHRwOi8vd3d3LmludGVsLmRlPgpNYW5hZ2luZyBEaXJlY3RvcnM6IENocmlzdGluIEVpc2Vu c2NobWlkLCBTaGFyb24gSGVjaywgVGlmZmFueSBEb29uIFNpbHZhICAKQ2hhaXJwZXJzb24gb2Yg dGhlIFN1cGVydmlzb3J5IEJvYXJkOiBOaWNvbGUgTGF1ClJlZ2lzdGVyZWQgT2ZmaWNlOiBNdW5p Y2gKQ29tbWVyY2lhbCBSZWdpc3RlcjogQW10c2dlcmljaHQgTXVlbmNoZW4gSFJCIDE4NjkyOAo=