From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mgamail.intel.com (mgamail.intel.com [198.175.65.19]) by sourceware.org (Postfix) with ESMTPS id 66B0B3865C10 for ; Fri, 24 May 2024 15:41:31 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 66B0B3865C10 Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=intel.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=intel.com ARC-Filter: OpenARC Filter v1.0.0 sourceware.org 66B0B3865C10 Authentication-Results: server2.sourceware.org; arc=none smtp.remote-ip=198.175.65.19 ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1716565297; cv=none; b=MOM5CeFpeSZnpJiOY1b4UXNPii/OczinY9NtArCx946wXGc14Uy0d6RY2clCF5R3A+4Ogq6ht5thAQCpu/zAPjFDea/yh7sXwkpp9qWsOUO76FjmonromRXhfxAK8Hf0Sl5p2Fb8h3D6DJ1VO2HvvCavKoMLUU0Eg2rVPtBtQrg= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1716565297; c=relaxed/simple; bh=aktX5xlPW0gb8RHdei+bPHuYHZ0GszHJH54KDjbONs8=; h=DKIM-Signature:From:To:Subject:Date:Message-Id:MIME-Version; b=AzEDDiBB2XHgjOcgzv/NLOjsc0w3nQiokv7/KpOMndh/fyivxn7y2Vu7yTv2bPOalN/UqUb9OdC5MnilLkGQCVGbMxzjmwHymE4mWlrY6xx8YrIDo2LiyiKNrfeE4sgs2gefm3SnyRTYJfuA9V6sqgqG6akVfLwqw/4ui3B2Csw= ARC-Authentication-Results: i=1; server2.sourceware.org DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1716565291; x=1748101291; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=aktX5xlPW0gb8RHdei+bPHuYHZ0GszHJH54KDjbONs8=; b=QvT/3UE0aoy0tTfT6YdLhrM88o3KGMW4AzVfCGf3QMrWR2hGN4KiTUGW lMZuNgJBUcM4DqDCOCAMtWBYjo+RPDdMnx50JBGuhTH1pw2ncJFJKPT+q hiIKjTglWgcYs+jsRxUjYeVEh2UzJze5hVKo9ySb7cCpruvDSrT69cj27 UcUV0AgaDkc9mel0AAiuKxBq+qcv93mtMGC/8EqL6qY9Wziw8ZagEW7Oh hNdGGVRz6PzE59Az9/g3g+N+xGvs6Rf9Yb9airXwNr5koAYMYhXJf7aTW pS+/4HQlaZCBR2HC4CWqiwGkFZGD6raTmw8yxUSQDxu0w6QubYITdGAbW A==; X-CSE-ConnectionGUID: 2e9BM7srSICkSxnmL/yylA== X-CSE-MsgGUID: L5Ati9xdQbee7e5bmVFbcA== X-IronPort-AV: E=McAfee;i="6600,9927,11082"; a="12795788" X-IronPort-AV: E=Sophos;i="6.08,185,1712646000"; d="scan'208";a="12795788" Received: from orviesa006.jf.intel.com ([10.64.159.146]) by orvoesa111.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 24 May 2024 08:41:30 -0700 X-CSE-ConnectionGUID: xJTEgPQ1Q2yBSCODcxuU6g== X-CSE-MsgGUID: h796Hk18TNC4o26Veh9Alg== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="6.08,185,1712646000"; d="scan'208";a="34558136" Received: from abijaz-mobl2.ger.corp.intel.com (HELO localhost) ([10.94.253.168]) by orviesa006-auth.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 24 May 2024 08:41:29 -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 Subject: [PATCH v8 04/10] gdb: Skip trampoline frames for the backtrace command. Date: Fri, 24 May 2024 17:40:26 +0200 Message-Id: <20240524154032.12652-5-abdul.b.ijaz@intel.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20240524154032.12652-1-abdul.b.ijaz@intel.com> References: <20240524154032.12652-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.7 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: RnJvbTogIklqYXosIEFiZHVsIEIiIDxhYmR1bC5iLmlqYXpAaW50ZWwuY29tPgoKVGhpcyBjaGFu Z2UgZmlsdGVycyB0cmFtcG9saW5lIGZ1bmN0aW9ucyB3aGVuIHRoZSBvcHRpb24KJ3NraXAtdHJh bXBvbGluZS1mdW5jdGlvbnMnIGlzIHNldCB0byAnb24nIGZvciB0aGUgYmFja3RyYWNlIGNvbW1h bmQuCkJlZm9yZSB0aGUgY2hhbmdlLCBHREIgcHJpbnRzIHRoZSBmcmFtZXMgaW5kaWNhdGVkIGJ5 IHRoZSBjb21waWxlciB3aXRoCkRJRSAiRFdfQVRfdHJhbXBvbGluZSIgaW4gdGhlIGJhY2t0cmFj ZSwgYnV0IGZvciBiZXR0ZXIgdXNlciBleHBlcmllbmNlLAphbGwgc3VjaCBmcmFtZXMgY2FuIGJl IGhpZGRlbiBmcm9tIHRoZSB1c2VyLgoKVGhlIHRlc3QgJ2dkYi5mb3J0cmFuL21peGVkLWxhbmct c3RhY2snIHRlc3QgdXNlZCB0byBmYWlsIGZvciB0aGUgSUZYCmNvbXBpbGVyIGJlY2F1c2Ugb2Yg ZXh0cmEgdHJhbXBvbGluZSBmcmFtZXMgaW4gdGhlIGJhY2t0cmFjZS4gIEFmdGVyIHRoZQpjb21t aXQsIHRob3NlIHRyYW1wb2xpbmUgZnJhbWVzIGFyZSBmaWx0ZXJlZCBhbmQgdGVzdCBpcyB1cGRh dGVkIGFjY29yZGluZ2x5LgoKRXh0cmEgdHJhbXBvbGluZSBmcmFtZXM6CgpidCAtZnJhbWUtYXJn dW1lbnRzIGFsbAonJycKXCM4ICAweDAwMDAwMDAwMDA0MDU1MzUgaW4gbWl4ZWRfZnVuY18xYl8u dDg2cC50ODdwLnQ4OHAudDg5cC50OTBwLnQ5MXAudDN2ICgpClwjMTAgMHgwMDAwMDAwMDAwNDA1 NDM5IGluIG1peGVkX2Z1bmNfMWFfLnZvaWQgKCkgYXQgbWl4ZWQtbGFuZy1zdGFjay5mOTA6MzMK JycnCihnZGIpIEZBSUw6IGdkYi5mb3J0cmFuL21peGVkLWxhbmctc3RhY2suZXhwOiBsYW5nPWF1 dG86IGJ0IC1mcmFtZS1hcmd1bWVudHMgYWxsCgpJbiB0aGlzIGV4YW1wbGUgdGhlIElGWCBjb21w aWxlciBlbWl0cyAiRFdfQVRfdHJhbXBvbGluZSIgdGFnIGZvciB0aGUgJ2ZpcnN0JwphbmQgJ3Nl Y29uZCcgdHJhbXBvbGluZSBmdW5jdGlvbnMgbGlrZSBmb2xsb3dpbmc6CgpmdW5jdGlvbiBzZWNv bmQgKHgsIHkpIHJlc3VsdCh6KQogIGludGVnZXIsIGludGVudChpbikgOjogeCwgeQogIGludGVn ZXIgOjogegogIHogPSB4ICogeSAhIGJyZWFrcHQtYmFja3RyYWNlCmVuZCBmdW5jdGlvbiBzZWNv bmQKCmZ1bmN0aW9uIGZpcnN0IChudW0xLCBudW0yKSByZXN1bHQodG90YWwpCiAgaW50ZWdlciwg aW50ZW50KGluKSA6OiBudW0xLCBudW0yCiAgaW50ZWdlciAgOjogdG90YWwKICB0b3RhbCA9IHNl Y29uZCAobnVtMSArIDQsIG51bTIgKiAzKSAhIGZpcnN0LWJyZWFrcHQKICB0b3RhbCA9IHRvdGFs ICsgMzAKZW5kIGZ1bmN0aW9uIGZpcnN0CgpSZWxhdGVkIER3YXJmOgoKMHgwMDAwMDEzZjogICBE V19UQUdfc3VicHJvZ3JhbQogICAgICAgICAgICAgICAgRFdfQVRfbG93X3BjICAgICgweDAwMDAw MDAwMDA0MDQzNTApCiAgICAgICAgICAgICAgICBEV19BVF9oaWdoX3BjICAgKDB4MDAwMDAwMDAw MDQwNDM1ZikKICAgICAgICAgICAgICAgIERXX0FUX2ZyYW1lX2Jhc2UgICAgICAgIChEV19PUF9y ZWc2IFJCUCkKICAgICAgICAgICAgICAgIERXX0FUX2xpbmthZ2VfbmFtZSAgICAgICgic2Vjb25k Xy50NzRwLnQ3NXAiKQogICAgICAgICAgICAgICAgRFdfQVRfbmFtZSAgICAgICgic2Vjb25kXy50 NzRwLnQ3NXAiKQogICAgICAgICAgICAgICAgRFdfQVRfdHJhbXBvbGluZSAgICAgICAgKCJzZWNv bmRfIikKCjB4MDAwMDAxNWE6ICAgRFdfVEFHX3N1YnByb2dyYW0KICAgICAgICAgICAgICAgIERX X0FUX2xvd19wYyAgICAoMHgwMDAwMDAwMDAwNDA0NGEwKQogICAgICAgICAgICAgICAgRFdfQVRf aGlnaF9wYyAgICgweDAwMDAwMDAwMDA0MDQ0YWYpCiAgICAgICAgICAgICAgICBEV19BVF9mcmFt ZV9iYXNlICAgICAgICAoRFdfT1BfcmVnNiBSQlApCiAgICAgICAgICAgICAgICBEV19BVF9saW5r YWdlX25hbWUgICAgICAoImZpcnN0Xy50MTA0cC50MTA1cCIpCiAgICAgICAgICAgICAgICBEV19B VF9uYW1lICAgICAgKCJmaXJzdF8udDEwNHAudDEwNXAiKQogICAgICAgICAgICAgICAgRFdfQVRf dHJhbXBvbGluZSAgICAgICAgKCJmaXJzdF8iKQoKQmVmb3JlIHRoaXMgY2hhbmdlLCB0aGUgYmFj a3RyYWNlIGNvbW1hbmQgb3V0cHV0IGxvb2tzIGxpa2U6CgonJycKKGdkYikgYmFja3RyYWNlIDMK XCMwICBzZWNvbmQgKHg9MjAsIHk9OSkgYXQgdGVzdC5mOTA6NApcIzEgIDB4MDAwMDAwMDAwMDQw NTIwOSBpbiBzZWNvbmRfLnQ3NHAudDc1cCAoKSBhdCB0ZXN0LmY5MDoxMgpcIzIgIDB4MDAwMDAw MDAwMDQwNTFlMyBpbiBmaXJzdCAobnVtMT0xNiwgbnVtMj0zKSBhdCB0ZXN0LmY5MDoxMAooZ2Ri KSBiYWNrdHJhY2UgLTMKXCMyICAweDAwMDAwMDAwMDA0MDUxZTMgaW4gZmlyc3QgKG51bTE9MTYs IG51bTI9MykgYXQgdGVzdC5mOTA6MTAKXCMzICAweDAwMDAwMDAwMDA0MDUzMDkgaW4gZmlyc3Rf LnQ5NXAudDk2cCAoKSBhdCB0ZXN0LmY5MDoyMQpcIzQgIDB4MDAwMDAwMDAwMDQwNTIzNCBpbiBm dW5jX3RyYW1wb2xpbmUgKCkgYXQgdGVzdC5mOTA6MTcKJycnCgpBZnRlciB0aGUgY2hhbmdlOgon JycKKGdkYikgYmFja3RyYWNlIDMKXCMwICBzZWNvbmQgKHg9MjAsIHk9OSkgYXQgdGVzdC5mOTA6 NApcIzIgIDB4MDAwMDAwMDAwMDQwNTFlMyBpbiBmaXJzdCAobnVtMT0xNiwgbnVtMj0zKSBhdCB0 ZXN0LmY5MDoxMApcIzQgIDB4MDAwMDAwMDAwMDQwNTIzNCBpbiBmdW5jX3RyYW1wb2xpbmUgKCkg YXQgdGVzdC5mOTA6MTcKCihnZGIpIGJhY2t0cmFjZSAtMwpcIzIgIDB4MDAwMDAwMDAwMDQwNTFl MyBpbiBmaXJzdCAobnVtMT0xNiwgbnVtMj0zKSBhdCB0ZXN0LmY5MDoxMApcIzQgIDB4MDAwMDAw MDAwMDQwNTIzNCBpbiBmdW5jX3RyYW1wb2xpbmUgKCkgYXQgdGVzdC5mOTA6MTcKJycnCgpUaGUg dGVzdCBnZGIuZm9ydHJhbi9mdW5jLXRyYW1wb2xpbmUuZXhwIGlzIGFkZGVkIGZvciB0ZXN0aW5n IHRoZSBjaGFuZ2UuCgoyMDI0LTA1LTI0IEFiZHVsIEJhc2l0IElqYXogPGFiZHVsLmIuaWphekBp bnRlbC5jb20+Ci0tLQogZ2RiL05FV1MgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIHwgIDUgKy0KIGdkYi9kb2MvZ2RiLnRleGluZm8gICAgICAgICAgICAgICAgICAgICAgICAg ICB8ICA2ICsrCiBnZGIvaW5mcnVuLmMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg fCAgNiArLQogZ2RiL2luZnJ1bi5oICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwg IDYgKysKIGdkYi9zdGFjay5jICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICA4 ICsrCiBnZGIvc3ltdGFiLmMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAxMiAr KysKIGdkYi9zeW10YWIuaCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICA1ICsr CiBnZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL2Z1bmMtdHJhbXBvbGluZS5leHAgfCA3NyArKysr KysrKysrKysrKysrKysrCiBnZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL2Z1bmMtdHJhbXBvbGlu ZS5mOTAgfCAzOSArKysrKysrKysrCiAuLi4vZ2RiLmZvcnRyYW4vbWl4ZWQtbGFuZy1zdGFjay5l eHAgICAgICAgICAgfCAxMCArKy0KIDEwIGZpbGVzIGNoYW5nZWQsIDE2NiBpbnNlcnRpb25zKCsp LCA4IGRlbGV0aW9ucygtKQogY3JlYXRlIG1vZGUgMTAwNjQ0IGdkYi90ZXN0c3VpdGUvZ2RiLmZv cnRyYW4vZnVuYy10cmFtcG9saW5lLmV4cAogY3JlYXRlIG1vZGUgMTAwNjQ0IGdkYi90ZXN0c3Vp dGUvZ2RiLmZvcnRyYW4vZnVuYy10cmFtcG9saW5lLmY5MAoKZGlmZiAtLWdpdCBhL2dkYi9ORVdT IGIvZ2RiL05FV1MKaW5kZXggYjQzNTU1M2QyM2EuLjU4YzgxMjAzYTdlIDEwMDY0NAotLS0gYS9n ZGIvTkVXUworKysgYi9nZGIvTkVXUwpAQCAtOTE3LDggKzkxNyw5IEBAIHNob3cgc2tpcC10cmFt cG9saW5lLWZ1bmN0aW9ucwogICBUaGlzIHNldHRpbmcgaXMgJ29uJyBieSBkZWZhdWx0LiAgV2hl biAnb24nIGl0IGNvbnRyb2xzIHdoZXRoZXIgR0RCIHdpbGwKICAgcmVjb2duaXplIGZ1bmN0aW9u IGNhbGxzIHRoYXQgaGF2ZSBiZWVuIG1hcmtlZCBhcyB0cmFtcG9saW5lcyBpbiB0aGUgZGVidWcK ICAgaW5mby4gIEl0IGltcHJvdmVzIHN0ZXBwaW5nIGJlaGF2aW9yIGluIHRoYXQgaXQgc3RlcHMg b3ZlciB0aGUgdHJhbXBvbGluZQotICBjb2RlIGFuZCBoaWRlcyBpdCBmcm9tIHRoZSB1c2VyLiAg Q3VycmVudGx5LCBvbmx5IERXQVJGIHRyYW1wb2xpbmVzIGFyZQotICBzdXBwb3J0ZWQuCisgIGNv ZGUgYW5kIGhpZGVzIGl0IGZyb20gdGhlIHVzZXIuICBJdCBpbXByb3ZlcyB0aGUgcHJpbnRpbmcg b2YgdGhlIHN0YWNrIGJ5CisgIGhpZGluZyB0cmFtcG9saW5lIGZ1bmN0aW9ucyBmcm9tIHRoZSBi YWNrdHJhY2UuICBDdXJyZW50bHksIG9ubHkgRFdBUkYKKyAgdHJhbXBvbGluZXMgYXJlIHN1cHBv cnRlZC4KIAogICBJZiB0aGlzIGlzIHR1cm5lZCBvZmYsIEdEQiB3aWxsIGhhbmRsZSBAZGZue3Ry YW1wb2xpbmUgZnVuY3Rpb25zfSB0aGUgc2FtZQogICBhcyBhbnkgb3RoZXIgZnVuY3Rpb24uCmRp ZmYgLS1naXQgYS9nZGIvZG9jL2dkYi50ZXhpbmZvIGIvZ2RiL2RvYy9nZGIudGV4aW5mbwppbmRl eCBmYjhiMjI0ZWU5NC4uZTczN2RmODY5ODggMTAwNjQ0Ci0tLSBhL2dkYi9kb2MvZ2RiLnRleGlu Zm8KKysrIGIvZ2RiL2RvYy9nZGIudGV4aW5mbwpAQCAtNjUzNSw2ICs2NTM1LDEyIEBAIGV4ZWN1 dGlvbiB1bnRpbCBsZWF2aW5nIHRoZSB0cmFtcG9saW5lIHJlZ2lvbi4gIFRoZSBAY29kZXtzdGVw aX0gY29tbWFuZAogaXMgbm90IGFmZmVjdGVkIGJ5IHRoZSBzZXR0aW5nIHdoaWNoIGlzIGVuYWJs ZWQgYnkgZGVmYXVsdC4gIEN1cnJlbnRseSwgb25seQogRFdBUkYgdHJhbXBvbGluZXMgbWFya2Vk IHZpYSBEV19BVF90cmFtcG9saW5lIGFyZSBzdXBwb3J0ZWQgYnkgdGhpcy4KIAorV2hlbiBpc3N1 aW5nIGEgQGNvZGV7YmFja3RyYWNlfSwgaWYgQGNvZGV7c2tpcC10cmFtcG9saW5lLWZ1bmN0aW9u c30gaXMgc2V0LAorQHZhbHVle0dEQk59IHdpbGwgc2tpcCB0cmFtcG9saW5lIGZyYW1lcyB3aGls ZSBwcmludGluZyB0aGUgc3RhY2suCisKK0N1cnJlbnRseSwgb25seSBEV0FSRiB0cmFtcG9saW5l cyBtYXJrZWQgdmlhIERXX0FUX3RyYW1wb2xpbmUgYXJlIHN1cHBvcnRlZCBieQordGhpcy4KKwog QGl0ZW0gc2V0IHNraXAtdHJhbXBvbGluZS1mdW5jdGlvbnMgb2ZmCiBDYXVzZXMgQHZhbHVle0dE Qk59IHRvIGNvbXBsZXRlbHkgaWdub3JlIGFueSB0cmFtcG9saW5lIGluZm9ybWF0aW9uIGEgY29t cGlsZXIKIG1pZ2h0IGhhdmUgZW1pdHRlZCBpbiBpdHMgZGVidWcgaW5mby4gIFRyYW1wb2xpbmVz IHdpbGwgYmUgdHJlYXRlZCBsaWtlIGFueQpkaWZmIC0tZ2l0IGEvZ2RiL2luZnJ1bi5jIGIvZ2Ri L2luZnJ1bi5jCmluZGV4IDBlNzlhYTcyMDFlLi5mYWI5OGE5NmJhNiAxMDA2NDQKLS0tIGEvZ2Ri L2luZnJ1bi5jCisrKyBiL2dkYi9pbmZydW4uYwpAQCAtMTkxLDcgKzE5MSw3IEBAIHN0YXRpYyBi b29sIGRldGFjaF9mb3JrID0gdHJ1ZTsKICAgIERXX0FUX3RyYW1wb2xpbmUgYnkgdGhlIGNvbXBp bGVyLiAgSWYgZmFsc2UsIEdEQiB3aWxsIGlnbm9yZSB0aGUKICAgIGF0dHJpYnV0ZS4gICovCiAK LXN0YXRpYyBib29sIHNraXBfdHJhbXBvbGluZV9mdW5jdGlvbnMgPSB0cnVlOworYm9vbCBza2lw X3RyYW1wb2xpbmVfZnVuY3Rpb25zID0gdHJ1ZTsKIAogYm9vbCBkZWJ1Z19pbmZydW4gPSBmYWxz ZTsKIHN0YXRpYyB2b2lkCkBAIC0xMDc5Myw4ICsxMDc5Myw4IEBAIE9wdGlvbnMgYXJlICdmb3J3 YXJkJyBvciAncmV2ZXJzZScuIiksCiAJCQkgICZza2lwX3RyYW1wb2xpbmVfZnVuY3Rpb25zLCBf KCJcCiBTZXQgd2hldGhlciBnZGIgYXR0ZW1wdHMgdG8gaGlkZSB0cmFtcG9saW5lcyBtYXJrZWQg aW4gdGhlIGRlYnVnIGluZm8uIiksIF8oIlwKIFNob3cgd2hldGhlciBnZGIgYXR0ZW1wdHMgdG8g aGlkZSB0cmFtcG9saW5lcyBtYXJrZWQgaW4gdGhlIGRlYnVnIGluZm8uIiksIF8oIlwKLUlmIG9u LCB3aGlsZSBzdGVwcGluZyBnZGIgd2lsbCBza2lwIHRocm91Z2ggZnVuY3Rpb25zIGFuZCBpbmxp bmVkIGZ1bmN0aW9uc1xuXAotbWFya2VkIGFzIHRyYW1wb2xpbmVzIGJ5IHRoZSBjb21waWxlci4g IElmIG9mZiwgZ2RiIHdpbGwgdHJlYXQgdHJhbXBvbGluZXMgYXNcblwKK0lmIG9uLCBnZGIgd2ls bCBza2lwIHRocm91Z2ggZnVuY3Rpb25zIGFuZCBpbmxpbmVkIGZ1bmN0aW9ucyBtYXJrZWQgYXNc blwKK3RyYW1wb2xpbmVzIGJ5IHRoZSBjb21waWxlci4gIElmIG9mZiwgZ2RiIHdpbGwgdHJlYXQg dHJhbXBvbGluZXMgYXNcblwKIG5vcm1hbCBmdW5jdGlvbnMuIiksCiAJCQkgIG51bGxwdHIsIHNo b3dfc2tpcF90cmFtcG9saW5lX2Z1bmN0aW9ucywgJnNldGxpc3QsCiAJCQkgICZzaG93bGlzdCk7 CmRpZmYgLS1naXQgYS9nZGIvaW5mcnVuLmggYi9nZGIvaW5mcnVuLmgKaW5kZXggZWExZWMxMzRj N2MuLmZiZTg4YWQ0NTk1IDEwMDY0NAotLS0gYS9nZGIvaW5mcnVuLmgKKysrIGIvZ2RiL2luZnJ1 bi5oCkBAIC0xMDcsNiArMTA3LDEyIEBAIGV4dGVybiBib29sIG5vbl9zdG9wOwogICAgc3RhcnRp bmcgYW4gaW5mZXJpb3IuICAqLwogZXh0ZXJuIGJvb2wgZGlzYWJsZV9yYW5kb21pemF0aW9uOwog CisvKiBJZiBzZXQgKGRlZmF1bHQpIEdEQiB3aWxsIHN0ZXAgdGhyb3VnaCBmdW5jdGlvbnMvaW5s aW5lZCBzdWJyb3V0aW5lcyBtYXJrZWQKKyAgIERXX0FUX3RyYW1wb2xpbmUgYnkgdGhlIGNvbXBp bGVyLiAgSWYgZmFsc2UsIEdEQiB3aWxsIGlnbm9yZSB0aGUKKyAgIGF0dHJpYnV0ZS4gICovCisK K2V4dGVybiBib29sIHNraXBfdHJhbXBvbGluZV9mdW5jdGlvbnM7CisKIC8qIFJldHVybnMgYSB1 bmlxdWUgaWRlbnRpZmllciBmb3IgdGhlIGN1cnJlbnQgc3RvcC4gIFRoaXMgY2FuIGJlIHVzZWQK ICAgIHRvIHRlbGwgd2hldGhlciBhIGNvbW1hbmQgaGFzIHByb2NlZWRlZCB0aGUgaW5mZXJpb3Ig cGFzdCB0aGUKICAgIGN1cnJlbnQgbG9jYXRpb24uICAqLwpkaWZmIC0tZ2l0IGEvZ2RiL3N0YWNr LmMgYi9nZGIvc3RhY2suYwppbmRleCBjMjMyM2UxNzI2ZC4uZGU4YjQwNDM2NWYgMTAwNjQ0Ci0t LSBhL2dkYi9zdGFjay5jCisrKyBiL2dkYi9zdGFjay5jCkBAIC0yMDYwLDYgKzIwNjAsMTQgQEAg YmFja3RyYWNlX2NvbW1hbmRfMSAoY29uc3QgZnJhbWVfcHJpbnRfb3B0aW9ucyAmZnBfb3B0cywK IAl7CiAJICBRVUlUOwogCisJICBpZiAoc2tpcF90cmFtcG9saW5lX2Z1bmN0aW9ucyAmJiBpbl90 cmFtcG9saW5lX2ZyYW1lIChmaSkpCisJICAgIHsKKwkgICAgICAvKiBUcmFtcG9saW5lIGZyYW1l cyBhcmUgbm90IHByaW50ZWQgc28gdGhleSBhcmUgbm90IGNvdW50ZWQgaW4KKwkJIHRoZSBiYWNr dHJhY2UgbGltaXQuICAqLworCSAgICAgIGNvdW50Kys7CisJICAgICAgY29udGludWU7CisJICAg IH0KKwogCSAgLyogRG9uJ3QgdXNlIHByaW50X3N0YWNrX2ZyYW1lOyBpZiBhbiBlcnJvcigpIG9j Y3VycyBpdCBwcm9iYWJseQogCSAgICAgbWVhbnMgZnVydGhlciBhdHRlbXB0cyB0byBiYWNrdHJh Y2Ugd291bGQgZmFpbCAob24gdGhlIG90aGVyCiAJICAgICBoYW5kLCBwZXJoYXBzIHRoZSBjb2Rl IGRvZXMgb3IgY291bGQgYmUgZml4ZWQgdG8gbWFrZSBzdXJlCmRpZmYgLS1naXQgYS9nZGIvc3lt dGFiLmMgYi9nZGIvc3ltdGFiLmMKaW5kZXggNWVhYzJlZTg1MzUuLjEwMjcxNDNhMTEwIDEwMDY0 NAotLS0gYS9nZGIvc3ltdGFiLmMKKysrIGIvZ2RiL3N5bXRhYi5jCkBAIC00MzAxLDYgKzQzMDEs MTggQEAgaW5fdHJhbXBvbGluZV9mdW5jdGlvbiAoQ09SRV9BRERSIHBjKQogCiAvKiBTZWUgc3lt dGFiLmguICAqLwogCitib29sCitpbl90cmFtcG9saW5lX2ZyYW1lIChmcmFtZV9pbmZvX3B0ciBm aSkKK3sKKyAgQ09SRV9BRERSIHBjOworICBpZiAoZ2V0X2ZyYW1lX3BjX2lmX2F2YWlsYWJsZSAo ZmksICZwYykpCisgICAgcmV0dXJuIGluX3RyYW1wb2xpbmVfZnVuY3Rpb24gKHBjKTsKKworICBy ZXR1cm4gZmFsc2U7Cit9CisKKy8qIFNlZSBzeW10YWIuaC4gICovCisKIENPUkVfQUREUgogZmlu ZF9mdW5jdGlvbl90cmFtcG9saW5lX3RhcmdldCAoQ09SRV9BRERSIHBjKQogewpkaWZmIC0tZ2l0 IGEvZ2RiL3N5bXRhYi5oIGIvZ2RiL3N5bXRhYi5oCmluZGV4IGM2MDQ4NWRjNmQzLi4yMzQxNzFl ZDQwNCAxMDA2NDQKLS0tIGEvZ2RiL3N5bXRhYi5oCisrKyBiL2dkYi9zeW10YWIuaApAQCAtMjM1 OSw2ICsyMzU5LDExIEBAIGV4dGVybiBDT1JFX0FERFIgZmluZF9zb2xpYl90cmFtcG9saW5lX3Rh cmdldCAoY29uc3QgZnJhbWVfaW5mb19wdHIgJiwgQ09SRV9BRERSCiAKIGV4dGVybiBib29sIGlu X3RyYW1wb2xpbmVfZnVuY3Rpb24gKENPUkVfQUREUiBwYyk7CiAKKy8qIFJldHVybiB3aGV0aGVy IG9yIG5vdCB0aGUgcGMgb2YgdGhlIGN1cnJlbnQgZnJhbWUgaXMgd2l0aGluIGEgYmxvY2sgdGhh dAorICAgYmVsb25ncyB0byBhIGZ1bmN0aW9uIHRoYXQgaXMgbWFya2VkIGFzIGEgdHJhbXBvbGlu ZSBieSB0aGUgY29tcGlsZXIuICAqLworCitleHRlcm4gYm9vbCBpbl90cmFtcG9saW5lX2ZyYW1l IChmcmFtZV9pbmZvX3B0cik7CisKIC8qIEZpbmQgdGhlIHRhcmdldCBvZiBhIHRyYW1wb2xpbmUg ZnVuY3Rpb24gbWFya2VkIHZpYSB0aGUgRFdfQVRfdHJhbXBvbGluZQogICAgYXR0cmlidXRlIGFu ZCByZXR1cm4gaXRzIGFkZHJlc3MuICBSZXR1cm5zIDAgaWYgdGhlIHBjIGlzIG5vdCBjb250YWlu ZWQKICAgIGluIGEgdHJhbXBvbGluZSBmdW5jdGlvbiAoaW5saW5lZCBvciBub3QpLiAgSWYgRFdf QVRfdHJhbXBvbGluZQpkaWZmIC0tZ2l0IGEvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi9mdW5j LXRyYW1wb2xpbmUuZXhwIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi9mdW5jLXRyYW1wb2xp bmUuZXhwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwLi5iZmEwMDAyY2Yw ZQotLS0gL2Rldi9udWxsCisrKyBiL2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vZnVuYy10cmFt cG9saW5lLmV4cApAQCAtMCwwICsxLDc3IEBACisjIENvcHlyaWdodCAyMDI0IEZyZWUgU29mdHdh cmUgRm91bmRhdGlvbiwgSW5jLgorCisjIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5 b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CisjIGl0IHVuZGVyIHRoZSB0ZXJt cyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CisjIHRo ZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vu c2UsIG9yCisjIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisjCisjIFRoaXMg cHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVs LAorIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3 YXJyYW50eSBvZgorIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFS IFBVUlBPU0UuICBTZWUgdGhlCisjIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3Jl IGRldGFpbHMuCisjCisjIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdO VSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisjIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiAgSWYg bm90LCBzZWUgPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+IC4KKworIyBUZXN0ICJiYWNr dHJhY2UiIGFuZCAiYmFja3RyYWNlIC1uIiBjb21tYW5kcyBmb3IgZnVuY3Rpb25zIHdpdGggdHJh bXBvbGluZQorIyBjYWxscy4KKworcmVxdWlyZSBhbGxvd19mb3J0cmFuX3Rlc3RzCisKK2lmIHsh W3Rlc3RfY29tcGlsZXJfaW5mbyB7aWZ4LSp9IGY5MF19IHsKKyAgICB1bnRlc3RlZCAiVGhpcyB0 ZXN0IGlzIG9ubHkgYXBwbGljYWJsZSBmb3IgSUZYLCB3aGljaCBlbWl0cyB0aGVcCisJdHJhbXBv bGluZSBESUUgaW4gRHdhcmYuIgorICAgIHJldHVybiAtMQorfQorCitzdGFuZGFyZF90ZXN0Zmls ZSAiLmY5MCIKK2xvYWRfbGliIGZvcnRyYW4uZXhwCisKKyMgSW5pdGlhbGl6ZSB0aGUgdGVzdCBi eSBydW5uaW5nIHRoZSBwcm9ncmFtIHRvIHRoZSBpbm5lcm1vc3QKKyMgZnVuY3Rpb24gbmFtZSAi c2Vjb25kIi4KKworcHJvYyBpbml0X3Rlc3Qge30geworICAgIGdsb2JhbCBiaW5maWxlIHNyY2Zp bGUgaW5uZXJfbG9jCisKKyAgICBjbGVhbl9yZXN0YXJ0ICR7YmluZmlsZX0KKyAgICBpZiB7IVtm b3J0cmFuX3J1bnRvX21haW5dfSB7CisJcmV0dXJuIC0xCisgICAgfQorCisgICAgIyBTZXQgYnJl YWtwb2ludCBpbnNpZGUgdGhlIGlubmVybW9zdCBmdW5jdGlvbiAnc2Vjb25kJy4KKyAgICBnZGJf YnJlYWtwb2ludCAiJHNyY2ZpbGU6JGlubmVyX2xvYyIKKyAgICBnZGJfY29udGludWVfdG9fYnJl YWtwb2ludCAiaW5uZXJtb3N0LWJvZHkiICIuKiRzcmNmaWxlOiRpbm5lcl9sb2MuKiIKK30KKwor aWYge1tidWlsZF9leGVjdXRhYmxlICJmYWlsZWQgdG8gcHJlcGFyZSIgJHt0ZXN0ZmlsZX0gJHtz cmNmaWxlfSBcCisgICAge2RlYnVnIGY5MH1dfSB7CisgICAgcmV0dXJuIC0xCit9CisKK3NldCBp bm5lcl9sb2MgW2dkYl9nZXRfbGluZV9udW1iZXIgInNlY29uZC1icmVha3B0Il0KK3NldCBtaWRk bGVfbG9jIFtnZGJfZ2V0X2xpbmVfbnVtYmVyICJmaXJzdC1icmVha3B0Il0KK3NldCBvdXRlcl9s b2MgW2dkYl9nZXRfbGluZV9udW1iZXIgIm1haW4tb3V0ZXItbG9jIl0KK3NldCBmaWxsICJcW15c clxuXF0qIgorCitzZXQgaW5uZXJfZGVzYyAgInNlY29uZCBcXCh4PTIwLCB5PTlcXCkgYXQgJHtm aWxsfSRzcmNmaWxlOiRpbm5lcl9sb2MiCitzZXQgbWlkZGxlX2Rlc2MgImZpcnN0IFxcKG51bTE9 MTYsIG51bTI9M1xcKSBhdCAke2ZpbGx9JHNyY2ZpbGU6JG1pZGRsZV9sb2MiCitzZXQgb3V0ZXJf ZGVzYyAgIi4qIGF0IC4qJHNyY2ZpbGU6JG91dGVyX2xvYyIKKword2l0aF90ZXN0X3ByZWZpeCAi YmFja3RyYWNlIiB7CisgICAgaW5pdF90ZXN0CisKKyAgICAjIExpbWl0IHRoZSBiYWNrdHJhY2Ug dG8gMyBmcmFtZXMgYW5kIGVuc3VyZSBib3RoIGZyYW1lcyBmb3IgZmlyc3QKKyAgICAjIGFuZCBz ZWNvbmQgZnVuY3Rpb24gYXJlIHNob3duIG9ubHkgYW5kIHRyYW1wb2xpbmUgZnJhbWVzIGFyZSBm aWx0ZXJlZC4KKyAgICBnZGJfdGVzdCAiYmFja3RyYWNlIDMiIFttdWx0aV9saW5lIFwKKwkiIyRk ZWNpbWFsLiogJGlubmVyX2Rlc2MiIFwKKwkiIyRkZWNpbWFsLiogJG1pZGRsZV9kZXNjIiBcCisJ IiMkZGVjaW1hbC4qICRvdXRlcl9kZXNjLioiXQorfQorCit3aXRoX3Rlc3RfcHJlZml4ICJiYWNr dHJhY2Ugb3V0ZXJmcmFtZXMiIHsKKyAgICBpbml0X3Rlc3QKKworICAgIGdkYl90ZXN0ICJiYWNr dHJhY2UgLTMiIFttdWx0aV9saW5lIFwKKwkiIyRkZWNpbWFsLiogJG1pZGRsZV9kZXNjIiBcCisJ IiMkZGVjaW1hbC4qICRvdXRlcl9kZXNjLioiXQorfQpkaWZmIC0tZ2l0IGEvZ2RiL3Rlc3RzdWl0 ZS9nZGIuZm9ydHJhbi9mdW5jLXRyYW1wb2xpbmUuZjkwIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9y dHJhbi9mdW5jLXRyYW1wb2xpbmUuZjkwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw MDAwMDAwLi4xMGViM2Y1MTg4ZgotLS0gL2Rldi9udWxsCisrKyBiL2dkYi90ZXN0c3VpdGUvZ2Ri LmZvcnRyYW4vZnVuYy10cmFtcG9saW5lLmY5MApAQCAtMCwwICsxLDM5IEBACishIENvcHlyaWdo dCAyMDI0IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgorIQorISBUaGlzIHByb2dyYW0g aXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQor ISBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFz IHB1Ymxpc2hlZCBieQorISB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVy c2lvbiAzIG9mIHRoZSBMaWNlbnNlLCBvcgorISAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2 ZXJzaW9uLgorIQorISBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhh dCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyEgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0 IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyEgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5F U1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQorISBHTlUgR2VuZXJhbCBQdWJs aWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorIQorISBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2 ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorISBhbG9uZyB3aXRo IHRoaXMgcHJvZ3JhbS4gIElmIG5vdCwgc2VlIDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMv PiAuCisKKyEgU291cmNlIGNvZGUgZm9yIGZ1bmMtdHJhbXBvbGluZS5leHAuCisKK2ludGVnZXIo a2luZD00KSBmdW5jdGlvbiBzZWNvbmQoeCwgeSkKKyAgaW50ZWdlcihraW5kPTQpLCBpbnRlbnQo aW4pIDo6IHgKKyAgaW50ZWdlcihraW5kPTQpLCBpbnRlbnQoaW4pIDo6IHkKKworICBzZWNvbmQg PSB4ICogeSAhIHNlY29uZC1icmVha3B0CitlbmQgZnVuY3Rpb24KKworaW50ZWdlcihraW5kPTQp IGZ1bmN0aW9uIGZpcnN0KG51bTEsIG51bTIpCisgIGludGVnZXIoa2luZD00KSwgaW50ZW50KGlu KSA6OiBudW0xCisgIGludGVnZXIoa2luZD00KSwgaW50ZW50KGluKSA6OiBudW0yCisKKyAgZmly c3QgPSBzZWNvbmQgKG51bTEgKyA0LCBudW0yICogMykgISBmaXJzdC1icmVha3B0CitlbmQgZnVu Y3Rpb24KKworcHJvZ3JhbSBmdW5jX3RyYW1wb2xpbmUKKyAgaW50ZWdlcihraW5kPTQpIDo6IHRv dGFsCisKKyAgdG90YWwgPSBmaXJzdCgxNiwgMykgISBtYWluLW91dGVyLWxvYworCisgIHdyaXRl KCosKikgICJSZXN1bHQgaXMgIiwgdG90YWwsICJcbiIKKyAgISBFeHBlY3RlZDogMTgwCitlbmQg cHJvZ3JhbSBmdW5jX3RyYW1wb2xpbmUKZGlmZiAtLWdpdCBhL2dkYi90ZXN0c3VpdGUvZ2RiLmZv cnRyYW4vbWl4ZWQtbGFuZy1zdGFjay5leHAgYi9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL21p eGVkLWxhbmctc3RhY2suZXhwCmluZGV4IGVlZjg0ZGEwZTQ0Li40NTkxODgwY2E3YiAxMDA2NDQK LS0tIGEvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi9taXhlZC1sYW5nLXN0YWNrLmV4cAorKysg Yi9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL21peGVkLWxhbmctc3RhY2suZXhwCkBAIC00MSw3 ICs0MSw3IEBAIHNldCBoYXZlX2luZGV4IFtleGVjX2hhc19pbmRleF9zZWN0aW9uICRiaW5maWxl XQogIyB2YWx1ZSB0byBwYXNzIHRvIEdEQidzICdzZXQgbGFuZ3VhZ2UgLi4uJyBjb21tYW5kLgog cHJvYyBydW5fdGVzdHMgeyBsYW5nIH0gewogICAgIHdpdGhfdGVzdF9wcmVmaXggImxhbmc9JHts YW5nfSIgewotCWdsb2JhbCBiaW5maWxlIGhleCBoYXZlX2luZGV4CisJZ2xvYmFsIGJpbmZpbGUg aGV4IGhhdmVfaW5kZXggZGVjaW1hbAogCiAJY2xlYW5fcmVzdGFydCAke2JpbmZpbGV9CiAKQEAg LTYzLDYgKzYzLDEwIEBAIHByb2MgcnVuX3Rlc3RzIHsgbGFuZyB9IHsKIAlzZXQgZV9hcmcgIlxb J1wiXF1hYmNkZWZcWydcIlxdIgogCXNldCAxYl9hcmdzICJcW15cclxuXF0rJGVfYXJnXFteXHJc blxdKyIKIAlzZXQgMWdfYXJncyAib2JqPVxbXlxyXG5cXSsiCisJIyBHZW5lcmljIGRlY2ltYWwg bnVtYmVyIGlzIGNoZWNrZWQgaW4gcmVnZXggZm9yIEZyYW1lICM4IGFuZCAjOSB0bworCSMgaGFu ZGxlIGZpbHRlcmVkIHRyYW1wb2xpbmUgZnJhbWVzLiAgU2luY2UgRnJhbWUjOCBhbmQgRnJhbWUj MTAgYXJlCisJIyBzZXQgdG8gdHJhbXBvbGluZSBpbiBEV0FSRiBieSBJbnRlbMKuIEZvcnRyYW4g Q29tcGlsZXIgKGlmeCksIHRoZXkKKwkjIGFyZSBub3Qgc2hvd24gYnkgdGhlIGJhY2t0cmFjZSBj b21tYW5kLgogCXNldCBidF9zdGFjayBcCiAJICAgIFttdWx0aV9saW5lIFwKIAkJICIjMFxccyti cmVha3B0IFxcKFxcKSBhdCBcW15cclxuXF0rIiBcCkBAIC03Myw4ICs3Nyw4IEBAIHByb2MgcnVu X3Rlc3RzIHsgbGFuZyB9IHsKIAkJICIjNVxccyskaGV4IGluIG1peGVkX2Z1bmNfMWQgXFwoXFte XHJcblxdK1xcKSBhdCBcW15cclxuXF0rIiBcCiAJCSAiIzZcXHMrJGhleCBpbiBtaXhlZF9mdW5j XzFjIFxcKFxbXlxyXG5cXStcXCkgYXQgXFteXHJcblxdKyIgXAogCQkgIiM3XFxzKyRoZXggaW4g bWl4ZWRfZnVuY18xYiBcXCgkMWJfYXJnc1xcKSBhdCBcW15cclxuXF0rIiBcCi0JCSAiIzhcXHMr JGhleCBpbiBtaXhlZF9mdW5jXzFhIFxcKFxcKSBhdCBcW15cclxuXF0rIiBcCi0JCSAiIzlcXHMr JGhleCBpbiBtaXhlZF9zdGFja19tYWluIFxcKFxcKSBhdCBcW15cclxuXF0rIiBdCisJCSAiIyRk ZWNpbWFsXFxzKyRoZXggaW4gbWl4ZWRfZnVuY18xYSBcXChcXCkgYXQgXFteXHJcblxdKyIgXAor CQkgIiMkZGVjaW1hbFxccyskaGV4IGluIG1peGVkX3N0YWNrX21haW4gXFwoXFwpIGF0IFxbXlxy XG5cXSsiIF0KIAlzZXQgbWFpbl9hcmdzICJhcmdjPTEsIGFyZ3Y9JHtoZXh9KCBcW15cclxuXF0r KT8iCiAJc2V0IGJ0X3N0YWNrX2tmYWlsIFwKIAkgICAgW211bHRpX2xpbmUgXAotLSAKMi4zNC4x CgpJbnRlbCBEZXV0c2NobGFuZCBHbWJIDQpSZWdpc3RlcmVkIEFkZHJlc3M6IEFtIENhbXBlb24g MTAsIDg1NTc5IE5ldWJpYmVyZywgR2VybWFueQ0KVGVsOiArNDkgODkgOTkgODg1My0wLCB3d3cu aW50ZWwuZGUNCk1hbmFnaW5nIERpcmVjdG9yczogU2VhbiBGZW5uZWxseSwgSmVmZnJleSBTY2hu ZWlkZXJtYW4sIFRpZmZhbnkgRG9vbiBTaWx2YQ0KQ2hhaXJwZXJzb24gb2YgdGhlIFN1cGVydmlz b3J5IEJvYXJkOiBOaWNvbGUgTGF1DQpSZWdpc3RlcmVkIE9mZmljZTogTXVuaWNoDQpDb21tZXJj aWFsIFJlZ2lzdGVyOiBBbXRzZ2VyaWNodCBNdWVuY2hlbiBIUkIgMTg2OTI4Cg==