From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from simark.ca by simark.ca with LMTP id qAu6FIddBWbUdhkAWB0awg (envelope-from ) for ; Thu, 28 Mar 2024 08:07:35 -0400 Authentication-Results: simark.ca; dkim=pass (2048-bit key; unprotected) header.d=intel.com header.i=@intel.com header.a=rsa-sha256 header.s=Intel header.b=HMi4/yf9; dkim-atps=neutral Received: by simark.ca (Postfix, from userid 112) id 4DC2C1E0C0; Thu, 28 Mar 2024 08:07:35 -0400 (EDT) Received: from server2.sourceware.org (server2.sourceware.org [8.43.85.97]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (prime256v1) server-digest SHA256) (No client certificate requested) by simark.ca (Postfix) with ESMTPS id 3821E1E030 for ; Thu, 28 Mar 2024 08:07:33 -0400 (EDT) Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id E29A2385842C for ; Thu, 28 Mar 2024 12:07:32 +0000 (GMT) Received: from mgamail.intel.com (mgamail.intel.com [198.175.65.15]) by sourceware.org (Postfix) with ESMTPS id 752D33858435 for ; Thu, 28 Mar 2024 12:06:21 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 752D33858435 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 752D33858435 Authentication-Results: server2.sourceware.org; arc=none smtp.remote-ip=198.175.65.15 ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1711627585; cv=none; b=qjOXvsyWTbNMj4kJhCtJNq7o83+cmqUJwuBDkDxi7YjRthNy5mZjZ4IlXISM0PeFJ/15VQUdGjsXEjxCXX1V2YHY8mqUcHaYA7lta5XPSnu42E7uvbjezAejOyT15bb1ExhA3jUS5J3BZaQFTv0xbC6NYZjygWjEqU3aS6v6wtM= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1711627585; c=relaxed/simple; bh=a+t5F2XpqgoZqnIy7Agtf0x0hw28TZlXEw8uALJpTvw=; h=DKIM-Signature:From:To:Subject:Date:Message-Id:MIME-Version; b=FF2eJGT4Z6k8osJLCiNqme0pE7pmpTC7HA6Ougo8n47i4bR3POu4O/y1CCYVhO1P3QyRvyN9JY2z0lyqmhXSjh3305GmGwrlv0ovjkzyTge1nNLZiufIrK+iBELjfmaqosReDTKaZSTIOUj7l5wZlm8zU54FGO654zJKKczSJRw= 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=1711627581; x=1743163581; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=a+t5F2XpqgoZqnIy7Agtf0x0hw28TZlXEw8uALJpTvw=; b=HMi4/yf9atICZxayBMKHzlaDF5Q9tsfugvYfgW7Ozd3f5P7FlOr52ofx Y+KsSO6WnGDrHCVoVTe/FVbTfpHeM/s2zd0ic4AXMGmwPAjXkyZElk6a6 2OdpytP5/HCKDN+/9iGqHNaoIQEcBbYUshlMjhwOOjjo3ZulEwe8Cwzdj C70LSkjhCs5V2JrCZuZ1CWrCA0iGGjIwe7BUQElft44SoFHYuPLcLEd7/ k+leW5RwVNlsOfPc/TRoCoxxG6Fum8+8JzuX9eaiVNBw8z6We9qkNNmWN y+TDyBj0g6ueBUEUqszVBHzLXaGgU7IKI52Il7d1ZzZE1UrFqs4wY1Az7 A==; X-CSE-ConnectionGUID: l/fvv2eNRfCasc3uTvQBUQ== X-CSE-MsgGUID: T8bwAsTrQESMilEEZjyi+A== X-IronPort-AV: E=McAfee;i="6600,9927,11026"; a="10582671" X-IronPort-AV: E=Sophos;i="6.07,161,1708416000"; d="scan'208";a="10582671" Received: from orviesa007.jf.intel.com ([10.64.159.147]) by orvoesa107.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 28 Mar 2024 05:06:20 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="6.07,161,1708416000"; d="scan'208";a="17035576" Received: from abijaz-mobl2.ger.corp.intel.com (HELO localhost) ([10.246.42.1]) by orviesa007-auth.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 28 Mar 2024 05:06:19 -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 v6 04/10] gdb: Skip trampoline frames for the backtrace command. Date: Thu, 28 Mar 2024 13:05:22 +0100 Message-Id: <20240328120528.30382-5-abdul.b.ijaz@intel.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20240328120528.30382-1-abdul.b.ijaz@intel.com> References: <20240328120528.30382-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, RCVD_IN_DNSWL_LOW, 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 X-BeenThere: gdb-patches@sourceware.org X-Mailman-Version: 2.1.30 Precedence: list List-Id: Gdb-patches mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: gdb-patches-bounces+public-inbox=simark.ca@sourceware.org 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 IHRoZSBjaGFuZ2UuCgoyMDI0LTAzLTI4IEFiZHVsIEJhc2l0IElqYXogPGFiZHVsLmIuaWphekBp bnRlbC5jb20+Ci0tLQogZ2RiL05FV1MgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIHwgIDUgKy0KIGdkYi9kb2MvZ2RiLnRleGluZm8gICAgICAgICAgICAgICAgICAgICAgICAg ICB8ICA2ICsrCiBnZGIvaW5mcnVuLmMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg fCAgOCArLQogZ2RiL2luZnJ1bi5oICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwg IDYgKysKIGdkYi9zdGFjay5jICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICA4 ICsrCiBnZGIvc3ltdGFiLmMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAxMiAr KysKIGdkYi9zeW10YWIuaCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICA1ICsr CiBnZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL2Z1bmMtdHJhbXBvbGluZS5leHAgfCA3NyArKysr KysrKysrKysrKysrKysrCiBnZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL2Z1bmMtdHJhbXBvbGlu ZS5mOTAgfCAzOSArKysrKysrKysrCiAuLi4vZ2RiLmZvcnRyYW4vbWl4ZWQtbGFuZy1zdGFjay5l eHAgICAgICAgICAgfCAxMCArKy0KIDEwIGZpbGVzIGNoYW5nZWQsIDE2NyBpbnNlcnRpb25zKCsp LCA5IGRlbGV0aW9ucygtKQogY3JlYXRlIG1vZGUgMTAwNjQ0IGdkYi90ZXN0c3VpdGUvZ2RiLmZv cnRyYW4vZnVuYy10cmFtcG9saW5lLmV4cAogY3JlYXRlIG1vZGUgMTAwNjQ0IGdkYi90ZXN0c3Vp dGUvZ2RiLmZvcnRyYW4vZnVuYy10cmFtcG9saW5lLmY5MAoKZGlmZiAtLWdpdCBhL2dkYi9ORVdT IGIvZ2RiL05FV1MKaW5kZXggZGEwZDkzNmZmNzAuLjAyNWYyZTFhMTdlIDEwMDY0NAotLS0gYS9n ZGIvTkVXUworKysgYi9nZGIvTkVXUwpAQCAtODk3LDggKzg5Nyw5IEBAIHNob3cgc2tpcC10cmFt cG9saW5lLWZ1bmN0aW9ucwogICBUaGlzIHNldHRpbmcgaXMgJ29uJyBieSBkZWZhdWx0LiAgV2hl biAnb24nIGl0IGNvbnRyb2xzIHdoZXRoZXIgR0RCIHdpbGwKICAgcmVjb2duaXplIGZ1bmN0aW9u IGNhbGxzIHRoYXQgaGF2ZSBiZWVuIG1hcmtlZCBhcyB0cmFtcG9saW5lcyBpbiB0aGUgZGVidWcK ICAgaW5mby4gIEl0IGltcHJvdmVzIHN0ZXBwaW5nIGJlaGF2aW9yIGluIHRoYXQgaXQgc3RlcHMg b3ZlciB0aGUgdHJhbXBvbGluZQotICBjb2RlIGFuZCBoaWRlcyBpdCBmcm9tIHRoZSB1c2VyLiAg Q3VycmVudGx5LCBvbmx5IERXQVJGIHRyYW1wb2xpbmVzIGFyZQotICBzdXBwb3J0ZWQuCisgIGNv ZGUgYW5kIGhpZGVzIGl0IGZyb20gdGhlIHVzZXIuICBJdCBpbXByb3ZlcyB0aGUgcHJpbnRpbmcg b2YgdGhlIHN0YWNrIGJ5CisgIGhpZGluZyB0cmFtcG9saW5lIGZ1bmN0aW9ucyBmcm9tIHRoZSBi YWNrdHJhY2UuICBDdXJyZW50bHksIG9ubHkgRFdBUkYKKyAgdHJhbXBvbGluZXMgYXJlIHN1cHBv cnRlZC4KIAogICBJZiB0aGlzIGlzIHR1cm5lZCBvZmYsIEdEQiBnZGIgd2lsbCBoYW5kbGUgdHJh bXBvbGluZSBmdW5jdGlvbnMgdGhlIHNhbWUKICAgYXMgYW55IG90aGVyIGZ1bmN0aW9uLgpkaWZm IC0tZ2l0IGEvZ2RiL2RvYy9nZGIudGV4aW5mbyBiL2dkYi9kb2MvZ2RiLnRleGluZm8KaW5kZXgg MTlmZWNkMDA0ODAuLjYxMTdmNmU4ODlmIDEwMDY0NAotLS0gYS9nZGIvZG9jL2dkYi50ZXhpbmZv CisrKyBiL2dkYi9kb2MvZ2RiLnRleGluZm8KQEAgLTY0NzIsNiArNjQ3MiwxMiBAQCBleGVjdXRp b24gdW50aWwgbGVhdmluZyB0aGUgdHJhbXBvbGluZSByZWdpb24uICBUaGUgQGNvZGV7c3RlcGl9 IGNvbW1hbmQKIGlzIG5vdCBhZmZlY3RlZCBieSB0aGUgc2V0dGluZyB3aGljaCBpcyBlbmFibGVk IGJ5IGRlZmF1bHQuICBDdXJyZW50bHksIG9ubHkKIERXQVJGIHRyYW1wb2xpbmVzIG1hcmtlZCB2 aWEgRFdfQVRfdHJhbXBvbGluZSBhcmUgc3VwcG9ydGVkIGJ5IHRoaXMuCiAKK1doZW4gaXNzdWlu ZyBhIEBjb2Rle2JhY2t0cmFjZX0sIGlmIEBjb2Rle3NraXAtdHJhbXBvbGluZS1mdW5jdGlvbnN9 IGlzIHNldCwKK0B2YWx1ZXtHREJOfSB3aWxsIHNraXAgdHJhbXBvbGluZSBmcmFtZXMgd2hpbGUg cHJpbnRpbmcgdGhlIHN0YWNrLgorCitDdXJyZW50bHksIG9ubHkgRFdBUkYgdHJhbXBvbGluZXMg bWFya2VkIHZpYSBEV19BVF90cmFtcG9saW5lIGFyZSBzdXBwb3J0ZWQgYnkKK3RoaXMuCisKIEBp dGVtIHNldCBza2lwLXRyYW1wb2xpbmUtZnVuY3Rpb25zIG9mZgogQ2F1c2VzIEB2YWx1ZXtHREJO fSB0byBjb21wbGV0ZWx5IGlnbm9yZSBhbnkgdHJhbXBvbGluZSBpbmZvcm1hdGlvbiBhIGNvbXBp bGVyCiBtaWdodCBoYXZlIGVtaXR0ZWQgaW4gaXRzIGRlYnVnIGluZm8uICBUcmFtcG9saW5lcyB3 aWxsIGJlIHRyZWF0ZWQgbGlrZSBhbnkKZGlmZiAtLWdpdCBhL2dkYi9pbmZydW4uYyBiL2dkYi9p bmZydW4uYwppbmRleCBhNjY5Nzk4ZjViOC4uMWM1NzExYjhjNDEgMTAwNjQ0Ci0tLSBhL2dkYi9p bmZydW4uYworKysgYi9nZGIvaW5mcnVuLmMKQEAgLTE5MSw3ICsxOTEsNyBAQCBzdGF0aWMgYm9v bCBkZXRhY2hfZm9yayA9IHRydWU7CiAgICBEV19BVF90cmFtcG9saW5lIGJ5IHRoZSBjb21waWxl ci4gIElmIGZhbHNlLCBHREIgd2lsbCBpZ25vcmUgdGhlCiAgICBhdHRyaWJ1dGUuICAqLwogCi1z dGF0aWMgYm9vbCBza2lwX3RyYW1wb2xpbmVfZnVuY3Rpb25zID0gdHJ1ZTsKK2Jvb2wgc2tpcF90 cmFtcG9saW5lX2Z1bmN0aW9ucyA9IHRydWU7CiAKIGJvb2wgZGVidWdfaW5mcnVuID0gZmFsc2U7 CiBzdGF0aWMgdm9pZApAQCAtMTA4MDksOSArMTA4MDksOSBAQCBPcHRpb25zIGFyZSAnZm9yd2Fy ZCcgb3IgJ3JldmVyc2UnLiIpLAogCQkJICAmc2tpcF90cmFtcG9saW5lX2Z1bmN0aW9ucywgXygi XAogU2V0IHdoZXRoZXIgZ2RiIGF0dGVtcHRzIHRvIGhpZGUgdHJhbXBvbGluZXMgbWFya2VkIGlu IHRoZSBkZWJ1ZyBpbmZvLiIpLCBfKCJcCiBTaG93IHdoZXRoZXIgZ2RiIGF0dGVtcHRzIHRvIGhp ZGUgdHJhbXBvbGluZXMgbWFya2VkIGluIHRoZSBkZWJ1ZyBpbmZvLiIpLCBfKCJcCi1JZiBvbiwg d2hpbGUgc3RlcHBpbmcgZ2RiIHdpbGwgc2tpcCB0aHJvdWdoIGZ1bmN0aW9ucyBhbmQgaW5saW5l ZCBmdW5jdGlvbnNcblwKLW1hcmtlZCBhcyB0cmFtcG9saW5lcyBieSB0aGUgY29tcGlsZXIuICBJ ZiBvZmYsIGdkYiB3aWxsIGlnbm9yZSBzdWNoIGZ1bmN0aW9uXG5cCi10cmFtcG9saW5lcy4iKSwK K0lmIG9uLCBnZGIgd2lsbCBza2lwIHRocm91Z2ggZnVuY3Rpb25zIGFuZCBpbmxpbmVkIGZ1bmN0 aW9ucyBtYXJrZWQgYXNcblwKK3RyYW1wb2xpbmVzIGJ5IHRoZSBjb21waWxlci4gIElmIG9mZiwg Z2RiIHdpbGwgaGFuZGxlIHRyYW1wb2xpbmUgZnVuY3Rpb25zXG5cCit0aGUgc2FtZSB3YXkgYXMg YW55IG90aGVyIGZ1bmN0aW9uLiIpLAogCQkJICBudWxscHRyLCBzaG93X3NraXBfdHJhbXBvbGlu ZV9mdW5jdGlvbnMsICZzZXRsaXN0LAogCQkJICAmc2hvd2xpc3QpOwogCmRpZmYgLS1naXQgYS9n ZGIvaW5mcnVuLmggYi9nZGIvaW5mcnVuLmgKaW5kZXggZWExZWMxMzRjN2MuLmZiZTg4YWQ0NTk1 IDEwMDY0NAotLS0gYS9nZGIvaW5mcnVuLmgKKysrIGIvZ2RiL2luZnJ1bi5oCkBAIC0xMDcsNiAr MTA3LDEyIEBAIGV4dGVybiBib29sIG5vbl9zdG9wOwogICAgc3RhcnRpbmcgYW4gaW5mZXJpb3Iu ICAqLwogZXh0ZXJuIGJvb2wgZGlzYWJsZV9yYW5kb21pemF0aW9uOwogCisvKiBJZiBzZXQgKGRl ZmF1bHQpIEdEQiB3aWxsIHN0ZXAgdGhyb3VnaCBmdW5jdGlvbnMvaW5saW5lZCBzdWJyb3V0aW5l cyBtYXJrZWQKKyAgIERXX0FUX3RyYW1wb2xpbmUgYnkgdGhlIGNvbXBpbGVyLiAgSWYgZmFsc2Us IEdEQiB3aWxsIGlnbm9yZSB0aGUKKyAgIGF0dHJpYnV0ZS4gICovCisKK2V4dGVybiBib29sIHNr aXBfdHJhbXBvbGluZV9mdW5jdGlvbnM7CisKIC8qIFJldHVybnMgYSB1bmlxdWUgaWRlbnRpZmll ciBmb3IgdGhlIGN1cnJlbnQgc3RvcC4gIFRoaXMgY2FuIGJlIHVzZWQKICAgIHRvIHRlbGwgd2hl dGhlciBhIGNvbW1hbmQgaGFzIHByb2NlZWRlZCB0aGUgaW5mZXJpb3IgcGFzdCB0aGUKICAgIGN1 cnJlbnQgbG9jYXRpb24uICAqLwpkaWZmIC0tZ2l0IGEvZ2RiL3N0YWNrLmMgYi9nZGIvc3RhY2su YwppbmRleCA5YzY3OTIyMjcwOC4uNmEyNTA1NDY3M2YgMTAwNjQ0Ci0tLSBhL2dkYi9zdGFjay5j CisrKyBiL2dkYi9zdGFjay5jCkBAIC0yMDY1LDYgKzIwNjUsMTQgQEAgYmFja3RyYWNlX2NvbW1h bmRfMSAoY29uc3QgZnJhbWVfcHJpbnRfb3B0aW9ucyAmZnBfb3B0cywKIAl7CiAJICBRVUlUOwog CisJICBpZiAoc2tpcF90cmFtcG9saW5lX2Z1bmN0aW9ucyAmJiBpbl90cmFtcG9saW5lX2ZyYW1l IChmaSkpCisJICAgIHsKKwkgICAgICAvKiBUcmFtcG9saW5lIGZyYW1lcyBhcmUgbm90IHByaW50 ZWQgc28gdGhleSBhcmUgbm90IGNvdW50ZWQgaW4KKwkJIHRoZSBiYWNrdHJhY2UgbGltaXQuICAq LworCSAgICAgIGNvdW50Kys7CisJICAgICAgY29udGludWU7CisJICAgIH0KKwogCSAgLyogRG9u J3QgdXNlIHByaW50X3N0YWNrX2ZyYW1lOyBpZiBhbiBlcnJvcigpIG9jY3VycyBpdCBwcm9iYWJs eQogCSAgICAgbWVhbnMgZnVydGhlciBhdHRlbXB0cyB0byBiYWNrdHJhY2Ugd291bGQgZmFpbCAo b24gdGhlIG90aGVyCiAJICAgICBoYW5kLCBwZXJoYXBzIHRoZSBjb2RlIGRvZXMgb3IgY291bGQg YmUgZml4ZWQgdG8gbWFrZSBzdXJlCmRpZmYgLS1naXQgYS9nZGIvc3ltdGFiLmMgYi9nZGIvc3lt dGFiLmMKaW5kZXggODMxYTU4YTlhZmYuLjhmNTA5NjYzZDlmIDEwMDY0NAotLS0gYS9nZGIvc3lt dGFiLmMKKysrIGIvZ2RiL3N5bXRhYi5jCkBAIC00MjIwLDYgKzQyMjAsMTggQEAgaW5fdHJhbXBv bGluZV9mdW5jdGlvbiAoQ09SRV9BRERSIHBjKQogCiAvKiBTZWUgc3ltdGFiLmguICAqLwogCiti b29sCitpbl90cmFtcG9saW5lX2ZyYW1lIChmcmFtZV9pbmZvX3B0ciBmaSkKK3sKKyAgQ09SRV9B RERSIHBjOworICBpZiAoZ2V0X2ZyYW1lX3BjX2lmX2F2YWlsYWJsZSAoZmksICZwYykpCisgICAg cmV0dXJuIGluX3RyYW1wb2xpbmVfZnVuY3Rpb24gKHBjKTsKKworICByZXR1cm4gZmFsc2U7Cit9 CisKKy8qIFNlZSBzeW10YWIuaC4gICovCisKIENPUkVfQUREUgogZmluZF9mdW5jdGlvbl90cmFt cG9saW5lX3RhcmdldCAoQ09SRV9BRERSIHBjKQogewpkaWZmIC0tZ2l0IGEvZ2RiL3N5bXRhYi5o IGIvZ2RiL3N5bXRhYi5oCmluZGV4IGM2MDQ4NWRjNmQzLi4yMzQxNzFlZDQwNCAxMDA2NDQKLS0t IGEvZ2RiL3N5bXRhYi5oCisrKyBiL2dkYi9zeW10YWIuaApAQCAtMjM1OSw2ICsyMzU5LDExIEBA IGV4dGVybiBDT1JFX0FERFIgZmluZF9zb2xpYl90cmFtcG9saW5lX3RhcmdldCAoY29uc3QgZnJh bWVfaW5mb19wdHIgJiwgQ09SRV9BRERSCiAKIGV4dGVybiBib29sIGluX3RyYW1wb2xpbmVfZnVu Y3Rpb24gKENPUkVfQUREUiBwYyk7CiAKKy8qIFJldHVybiB3aGV0aGVyIG9yIG5vdCB0aGUgcGMg b2YgdGhlIGN1cnJlbnQgZnJhbWUgaXMgd2l0aGluIGEgYmxvY2sgdGhhdAorICAgYmVsb25ncyB0 byBhIGZ1bmN0aW9uIHRoYXQgaXMgbWFya2VkIGFzIGEgdHJhbXBvbGluZSBieSB0aGUgY29tcGls ZXIuICAqLworCitleHRlcm4gYm9vbCBpbl90cmFtcG9saW5lX2ZyYW1lIChmcmFtZV9pbmZvX3B0 cik7CisKIC8qIEZpbmQgdGhlIHRhcmdldCBvZiBhIHRyYW1wb2xpbmUgZnVuY3Rpb24gbWFya2Vk IHZpYSB0aGUgRFdfQVRfdHJhbXBvbGluZQogICAgYXR0cmlidXRlIGFuZCByZXR1cm4gaXRzIGFk ZHJlc3MuICBSZXR1cm5zIDAgaWYgdGhlIHBjIGlzIG5vdCBjb250YWluZWQKICAgIGluIGEgdHJh bXBvbGluZSBmdW5jdGlvbiAoaW5saW5lZCBvciBub3QpLiAgSWYgRFdfQVRfdHJhbXBvbGluZQpk aWZmIC0tZ2l0IGEvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi9mdW5jLXRyYW1wb2xpbmUuZXhw IGIvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi9mdW5jLXRyYW1wb2xpbmUuZXhwCm5ldyBmaWxl IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwLi5iZmEwMDAyY2YwZQotLS0gL2Rldi9udWxs CisrKyBiL2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vZnVuYy10cmFtcG9saW5lLmV4cApAQCAt MCwwICsxLDc3IEBACisjIENvcHlyaWdodCAyMDI0IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwg SW5jLgorCisjIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJp YnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CisjIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdl bmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CisjIHRoZSBGcmVlIFNvZnR3YXJl IEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yCisjIChhdCB5 b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisjCisjIFRoaXMgcHJvZ3JhbSBpcyBkaXN0 cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorIyBidXQgV0lUSE9V VCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorIyBN RVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUg dGhlCisjIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisjCisj IFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1Ymxp YyBMaWNlbnNlCisjIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiAgSWYgbm90LCBzZWUgPGh0dHA6 Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+IC4KKworIyBUZXN0ICJiYWNrdHJhY2UiIGFuZCAiYmFj a3RyYWNlIC1uIiBjb21tYW5kcyBmb3IgZnVuY3Rpb25zIHdpdGggdHJhbXBvbGluZQorIyBjYWxs cy4KKworcmVxdWlyZSBhbGxvd19mb3J0cmFuX3Rlc3RzCisKK2lmIHshW3Rlc3RfY29tcGlsZXJf aW5mbyB7aWZ4LSp9IGY5MF19IHsKKyAgICB1bnRlc3RlZCAiVGhpcyB0ZXN0IGlzIG9ubHkgYXBw bGljYWJsZSBmb3IgSUZYLCB3aGljaCBlbWl0cyB0aGVcCisJdHJhbXBvbGluZSBESUUgaW4gRHdh cmYuIgorICAgIHJldHVybiAtMQorfQorCitzdGFuZGFyZF90ZXN0ZmlsZSAiLmY5MCIKK2xvYWRf bGliIGZvcnRyYW4uZXhwCisKKyMgSW5pdGlhbGl6ZSB0aGUgdGVzdCBieSBydW5uaW5nIHRoZSBw cm9ncmFtIHRvIHRoZSBpbm5lcm1vc3QKKyMgZnVuY3Rpb24gbmFtZSAic2Vjb25kIi4KKworcHJv YyBpbml0X3Rlc3Qge30geworICAgIGdsb2JhbCBiaW5maWxlIHNyY2ZpbGUgaW5uZXJfbG9jCisK KyAgICBjbGVhbl9yZXN0YXJ0ICR7YmluZmlsZX0KKyAgICBpZiB7IVtmb3J0cmFuX3J1bnRvX21h aW5dfSB7CisJcmV0dXJuIC0xCisgICAgfQorCisgICAgIyBTZXQgYnJlYWtwb2ludCBpbnNpZGUg dGhlIGlubmVybW9zdCBmdW5jdGlvbiAnc2Vjb25kJy4KKyAgICBnZGJfYnJlYWtwb2ludCAiJHNy Y2ZpbGU6JGlubmVyX2xvYyIKKyAgICBnZGJfY29udGludWVfdG9fYnJlYWtwb2ludCAiaW5uZXJt b3N0LWJvZHkiICIuKiRzcmNmaWxlOiRpbm5lcl9sb2MuKiIKK30KKworaWYge1tidWlsZF9leGVj dXRhYmxlICJmYWlsZWQgdG8gcHJlcGFyZSIgJHt0ZXN0ZmlsZX0gJHtzcmNmaWxlfSBcCisgICAg e2RlYnVnIGY5MH1dfSB7CisgICAgcmV0dXJuIC0xCit9CisKK3NldCBpbm5lcl9sb2MgW2dkYl9n ZXRfbGluZV9udW1iZXIgInNlY29uZC1icmVha3B0Il0KK3NldCBtaWRkbGVfbG9jIFtnZGJfZ2V0 X2xpbmVfbnVtYmVyICJmaXJzdC1icmVha3B0Il0KK3NldCBvdXRlcl9sb2MgW2dkYl9nZXRfbGlu ZV9udW1iZXIgIm1haW4tb3V0ZXItbG9jIl0KK3NldCBmaWxsICJcW15cclxuXF0qIgorCitzZXQg aW5uZXJfZGVzYyAgInNlY29uZCBcXCh4PTIwLCB5PTlcXCkgYXQgJHtmaWxsfSRzcmNmaWxlOiRp bm5lcl9sb2MiCitzZXQgbWlkZGxlX2Rlc2MgImZpcnN0IFxcKG51bTE9MTYsIG51bTI9M1xcKSBh dCAke2ZpbGx9JHNyY2ZpbGU6JG1pZGRsZV9sb2MiCitzZXQgb3V0ZXJfZGVzYyAgIi4qIGF0IC4q JHNyY2ZpbGU6JG91dGVyX2xvYyIKKword2l0aF90ZXN0X3ByZWZpeCAiYmFja3RyYWNlIiB7Cisg ICAgaW5pdF90ZXN0CisKKyAgICAjIExpbWl0IHRoZSBiYWNrdHJhY2UgdG8gMyBmcmFtZXMgYW5k IGVuc3VyZSBib3RoIGZyYW1lcyBmb3IgZmlyc3QKKyAgICAjIGFuZCBzZWNvbmQgZnVuY3Rpb24g YXJlIHNob3duIG9ubHkgYW5kIHRyYW1wb2xpbmUgZnJhbWVzIGFyZSBmaWx0ZXJlZC4KKyAgICBn ZGJfdGVzdCAiYmFja3RyYWNlIDMiIFttdWx0aV9saW5lIFwKKwkiIyRkZWNpbWFsLiogJGlubmVy X2Rlc2MiIFwKKwkiIyRkZWNpbWFsLiogJG1pZGRsZV9kZXNjIiBcCisJIiMkZGVjaW1hbC4qICRv dXRlcl9kZXNjLioiXQorfQorCit3aXRoX3Rlc3RfcHJlZml4ICJiYWNrdHJhY2Ugb3V0ZXJmcmFt ZXMiIHsKKyAgICBpbml0X3Rlc3QKKworICAgIGdkYl90ZXN0ICJiYWNrdHJhY2UgLTMiIFttdWx0 aV9saW5lIFwKKwkiIyRkZWNpbWFsLiogJG1pZGRsZV9kZXNjIiBcCisJIiMkZGVjaW1hbC4qICRv dXRlcl9kZXNjLioiXQorfQpkaWZmIC0tZ2l0IGEvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi9m dW5jLXRyYW1wb2xpbmUuZjkwIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi9mdW5jLXRyYW1w b2xpbmUuZjkwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwLi4xMGViM2Y1 MTg4ZgotLS0gL2Rldi9udWxsCisrKyBiL2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vZnVuYy10 cmFtcG9saW5lLmY5MApAQCAtMCwwICsxLDM5IEBACishIENvcHlyaWdodCAyMDI0IEZyZWUgU29m dHdhcmUgRm91bmRhdGlvbiwgSW5jLgorIQorISBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2Fy ZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorISBpdCB1bmRlciB0aGUg dGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQor ISB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZSBM aWNlbnNlLCBvcgorISAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorIQorISBU aGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVz ZWZ1bCwKKyEgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxp ZWQgd2FycmFudHkgb2YKKyEgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElD VUxBUiBQVVJQT1NFLiAgU2VlIHRoZQorISBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3Ig bW9yZSBkZXRhaWxzLgorIQorISBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRo ZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorISBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbS4g IElmIG5vdCwgc2VlIDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPiAuCisKKyEgU291cmNl IGNvZGUgZm9yIGZ1bmMtdHJhbXBvbGluZS5leHAuCisKK2ludGVnZXIoa2luZD00KSBmdW5jdGlv biBzZWNvbmQoeCwgeSkKKyAgaW50ZWdlcihraW5kPTQpLCBpbnRlbnQoaW4pIDo6IHgKKyAgaW50 ZWdlcihraW5kPTQpLCBpbnRlbnQoaW4pIDo6IHkKKworICBzZWNvbmQgPSB4ICogeSAhIHNlY29u ZC1icmVha3B0CitlbmQgZnVuY3Rpb24KKworaW50ZWdlcihraW5kPTQpIGZ1bmN0aW9uIGZpcnN0 KG51bTEsIG51bTIpCisgIGludGVnZXIoa2luZD00KSwgaW50ZW50KGluKSA6OiBudW0xCisgIGlu dGVnZXIoa2luZD00KSwgaW50ZW50KGluKSA6OiBudW0yCisKKyAgZmlyc3QgPSBzZWNvbmQgKG51 bTEgKyA0LCBudW0yICogMykgISBmaXJzdC1icmVha3B0CitlbmQgZnVuY3Rpb24KKworcHJvZ3Jh bSBmdW5jX3RyYW1wb2xpbmUKKyAgaW50ZWdlcihraW5kPTQpIDo6IHRvdGFsCisKKyAgdG90YWwg PSBmaXJzdCgxNiwgMykgISBtYWluLW91dGVyLWxvYworCisgIHdyaXRlKCosKikgICJSZXN1bHQg aXMgIiwgdG90YWwsICJcbiIKKyAgISBFeHBlY3RlZDogMTgwCitlbmQgcHJvZ3JhbSBmdW5jX3Ry YW1wb2xpbmUKZGlmZiAtLWdpdCBhL2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vbWl4ZWQtbGFu Zy1zdGFjay5leHAgYi9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL21peGVkLWxhbmctc3RhY2su ZXhwCmluZGV4IGVlZjg0ZGEwZTQ0Li40NTkxODgwY2E3YiAxMDA2NDQKLS0tIGEvZ2RiL3Rlc3Rz dWl0ZS9nZGIuZm9ydHJhbi9taXhlZC1sYW5nLXN0YWNrLmV4cAorKysgYi9nZGIvdGVzdHN1aXRl L2dkYi5mb3J0cmFuL21peGVkLWxhbmctc3RhY2suZXhwCkBAIC00MSw3ICs0MSw3IEBAIHNldCBo YXZlX2luZGV4IFtleGVjX2hhc19pbmRleF9zZWN0aW9uICRiaW5maWxlXQogIyB2YWx1ZSB0byBw YXNzIHRvIEdEQidzICdzZXQgbGFuZ3VhZ2UgLi4uJyBjb21tYW5kLgogcHJvYyBydW5fdGVzdHMg eyBsYW5nIH0gewogICAgIHdpdGhfdGVzdF9wcmVmaXggImxhbmc9JHtsYW5nfSIgewotCWdsb2Jh bCBiaW5maWxlIGhleCBoYXZlX2luZGV4CisJZ2xvYmFsIGJpbmZpbGUgaGV4IGhhdmVfaW5kZXgg ZGVjaW1hbAogCiAJY2xlYW5fcmVzdGFydCAke2JpbmZpbGV9CiAKQEAgLTYzLDYgKzYzLDEwIEBA IHByb2MgcnVuX3Rlc3RzIHsgbGFuZyB9IHsKIAlzZXQgZV9hcmcgIlxbJ1wiXF1hYmNkZWZcWydc IlxdIgogCXNldCAxYl9hcmdzICJcW15cclxuXF0rJGVfYXJnXFteXHJcblxdKyIKIAlzZXQgMWdf YXJncyAib2JqPVxbXlxyXG5cXSsiCisJIyBHZW5lcmljIGRlY2ltYWwgbnVtYmVyIGlzIGNoZWNr ZWQgaW4gcmVnZXggZm9yIEZyYW1lICM4IGFuZCAjOSB0bworCSMgaGFuZGxlIGZpbHRlcmVkIHRy YW1wb2xpbmUgZnJhbWVzLiAgU2luY2UgRnJhbWUjOCBhbmQgRnJhbWUjMTAgYXJlCisJIyBzZXQg dG8gdHJhbXBvbGluZSBpbiBEV0FSRiBieSBJbnRlbMKuIEZvcnRyYW4gQ29tcGlsZXIgKGlmeCks IHRoZXkKKwkjIGFyZSBub3Qgc2hvd24gYnkgdGhlIGJhY2t0cmFjZSBjb21tYW5kLgogCXNldCBi dF9zdGFjayBcCiAJICAgIFttdWx0aV9saW5lIFwKIAkJICIjMFxccyticmVha3B0IFxcKFxcKSBh dCBcW15cclxuXF0rIiBcCkBAIC03Myw4ICs3Nyw4IEBAIHByb2MgcnVuX3Rlc3RzIHsgbGFuZyB9 IHsKIAkJICIjNVxccyskaGV4IGluIG1peGVkX2Z1bmNfMWQgXFwoXFteXHJcblxdK1xcKSBhdCBc W15cclxuXF0rIiBcCiAJCSAiIzZcXHMrJGhleCBpbiBtaXhlZF9mdW5jXzFjIFxcKFxbXlxyXG5c XStcXCkgYXQgXFteXHJcblxdKyIgXAogCQkgIiM3XFxzKyRoZXggaW4gbWl4ZWRfZnVuY18xYiBc XCgkMWJfYXJnc1xcKSBhdCBcW15cclxuXF0rIiBcCi0JCSAiIzhcXHMrJGhleCBpbiBtaXhlZF9m dW5jXzFhIFxcKFxcKSBhdCBcW15cclxuXF0rIiBcCi0JCSAiIzlcXHMrJGhleCBpbiBtaXhlZF9z dGFja19tYWluIFxcKFxcKSBhdCBcW15cclxuXF0rIiBdCisJCSAiIyRkZWNpbWFsXFxzKyRoZXgg aW4gbWl4ZWRfZnVuY18xYSBcXChcXCkgYXQgXFteXHJcblxdKyIgXAorCQkgIiMkZGVjaW1hbFxc cyskaGV4IGluIG1peGVkX3N0YWNrX21haW4gXFwoXFwpIGF0IFxbXlxyXG5cXSsiIF0KIAlzZXQg bWFpbl9hcmdzICJhcmdjPTEsIGFyZ3Y9JHtoZXh9KCBcW15cclxuXF0rKT8iCiAJc2V0IGJ0X3N0 YWNrX2tmYWlsIFwKIAkgICAgW211bHRpX2xpbmUgXAotLSAKMi4zNC4xCgpJbnRlbCBEZXV0c2No bGFuZCBHbWJIClJlZ2lzdGVyZWQgQWRkcmVzczogQW0gQ2FtcGVvbiAxMCwgODU1NzkgTmV1Ymli ZXJnLCBHZXJtYW55ClRlbDogKzQ5IDg5IDk5IDg4NTMtMCwgd3d3LmludGVsLmRlIDxodHRwOi8v d3d3LmludGVsLmRlPgpNYW5hZ2luZyBEaXJlY3RvcnM6IENocmlzdGluIEVpc2Vuc2NobWlkLCBT aGFyb24gSGVjaywgVGlmZmFueSBEb29uIFNpbHZhICAKQ2hhaXJwZXJzb24gb2YgdGhlIFN1cGVy dmlzb3J5IEJvYXJkOiBOaWNvbGUgTGF1ClJlZ2lzdGVyZWQgT2ZmaWNlOiBNdW5pY2gKQ29tbWVy Y2lhbCBSZWdpc3RlcjogQW10c2dlcmljaHQgTXVlbmNoZW4gSFJCIDE4NjkyOAo=