From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Gregory Heytings Newsgroups: gmane.emacs.bugs Subject: bug#52053: 29.0.50; Nonsensical button "C-x C-f" in scratch buffer Date: Sat, 27 Nov 2021 16:08:57 +0000 Message-ID: <227d35a5bceaf01c97c4@heytings.org> References: <87czmr5gr7.fsf.ref@yahoo.com> <87czmr5gr7.fsf@yahoo.com> <612d659daa29af13c2e5@heytings.org> <83y25c5wn0.fsf@gnu.org> <612d659daabc268505c4@heytings.org> <83pmqo5vmp.fsf@gnu.org> <612d659daad03d6bc73d@heytings.org> <834k805nil.fsf@gnu.org> <612d659daa026d901515@heytings.org> <83v90g467g.fsf@gnu.org> <612d659daa5de288a9f9@heytings.org> <83czmn4ekx.fsf@gnu.org> <227d35a5bc44057cc87b@heytings.org> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="eUPxsTHK82" Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="13498"; mail-complaints-to="usenet@ciao.gmane.io" Cc: luangruo@yahoo.com, larsi@gnus.org, 52053@debbugs.gnu.org To: Eli Zaretskii Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Sat Nov 27 17:10:30 2021 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane-mx.org Original-Received: from lists.gnu.org ([209.51.188.17]) by ciao.gmane.io with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1mr0HV-0003Hb-FS for geb-bug-gnu-emacs@m.gmane-mx.org; Sat, 27 Nov 2021 17:10:29 +0100 Original-Received: from localhost ([::1]:51500 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1mr0HU-0003Oa-EH for geb-bug-gnu-emacs@m.gmane-mx.org; Sat, 27 Nov 2021 11:10:28 -0500 Original-Received: from eggs.gnu.org ([209.51.188.92]:46754) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1mr0H4-0003OD-Dv for bug-gnu-emacs@gnu.org; Sat, 27 Nov 2021 11:10:02 -0500 Original-Received: from debbugs.gnu.org ([209.51.188.43]:51147) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1mr0H4-000258-53 for bug-gnu-emacs@gnu.org; Sat, 27 Nov 2021 11:10:02 -0500 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1mr0H3-0008Tr-US for bug-gnu-emacs@gnu.org; Sat, 27 Nov 2021 11:10:01 -0500 X-Loop: help-debbugs@gnu.org Resent-From: Gregory Heytings Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Sat, 27 Nov 2021 16:10:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 52053 X-GNU-PR-Package: emacs Original-Received: via spool by 52053-submit@debbugs.gnu.org id=B52053.163802934532527 (code B ref 52053); Sat, 27 Nov 2021 16:10:01 +0000 Original-Received: (at 52053) by debbugs.gnu.org; 27 Nov 2021 16:09:05 +0000 Original-Received: from localhost ([127.0.0.1]:34460 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mr0G6-0008SX-BQ for submit@debbugs.gnu.org; Sat, 27 Nov 2021 11:09:04 -0500 Original-Received: from heytings.org ([95.142.160.155]:51692) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mr0G2-0008S3-Az for 52053@debbugs.gnu.org; Sat, 27 Nov 2021 11:09:01 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=heytings.org; s=20210101; t=1638029337; bh=d7PYKIwOspsNYAp4rl38JP3IEV289Od4cCENVDlgffc=; h=Date:From:To:cc:Subject:In-Reply-To:Message-ID:References:From; b=MQrGteQWuoUL8+29Awy+FHKB+q8DRELTQcysaCAJbhmcQOPVnh32oIR+6tngwY8M8 MtT6r0mFPewiISn7m2ixOb8QmuukJ5iBj8trWZSxBS57mcjmHYxxq+GMc1sQ2oHdXV JYUp7KUlvSUkPYe7gwV5Kn6gedEOuE6dsAFsIch8STASz5KrmkQlGe1W44xotftnPg 11GBFuw/do+onsc26NPwq66Mi3hkzga3fU0f7L5Wf6KuprGYaklQVetPmxBsr5kFXC F/eep/rmI6p6+vIbGdPbA8uk/sHk2yyWC3FfpC0pBGeN+pwJBiQ2htjRk8LIUuPf7b ImcUC9a/OjvhQ== In-Reply-To: <227d35a5bc44057cc87b@heytings.org> X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: bug-gnu-emacs@gnu.org List-Id: "Bug reports for GNU Emacs, the Swiss army knife of text editors" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Original-Sender: "bug-gnu-emacs" Xref: news.gmane.io gmane.emacs.bugs:220942 Archived-At: --eUPxsTHK82 Content-Type: text/plain; charset=us-ascii; format=flowed >>> Updated patch attached. >> >> Thanks. This approach is fine by me, but the variable you introduced >> should not be internal, and it probably should be called out in NEWS >> (in the Lisp section), because I believe the intent was to allow other >> callers to use it, even though currently we have only one such caller. > > Thanks for your feedback. Updated (and much larger) patch attached. > Attached. --eUPxsTHK82 Content-Type: text/x-diff; name=Do-not-buttonize-key-bindings-outside-of-Help-buffer.patch Content-Transfer-Encoding: base64 Content-ID: <227d35a5bc03dbb7e021@heytings.org> Content-Description: Content-Disposition: attachment; filename=Do-not-buttonize-key-bindings-outside-of-Help-buffer.patch RnJvbSAwNThjMjY1YWI0OGY4Nzg4YmQ1ZWY5MDFmOWI5MWZlNGEzMDA1MWVm IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQ0KRnJvbTogR3JlZ29yeSBIZXl0 aW5ncyA8Z3JlZ29yeUBoZXl0aW5ncy5vcmc+DQpEYXRlOiBTYXQsIDI3IE5v diAyMDIxIDE1OjU4OjQ2ICswMDAwDQpTdWJqZWN0OiBbUEFUQ0hdIERvIG5v dCBidXR0b25pemUga2V5IGJpbmRpbmdzIG91dHNpZGUgb2YgKkhlbHAqIGJ1 ZmZlcnMNCg0KKiBsaXNwL2hlbHAuZWwgKGhlbHAtYnVmZmVyLXVuZGVyLXBy ZXBhcmF0aW9uKTogTmV3IHZhcmlhYmxlDQp0aGF0IGlzIGJvdW5kIHRvIHQg YnkgY29tbWFuZHMgdGhhdCBjcmVhdGUgYSAqSGVscCogYnVmZmVyLg0KKHN1 YnN0aXR1dGUtY29tbWFuZC1rZXlzKTogVXNlIHRoZSBuZXcgdmFyaWFibGU6 DQpoZWxwLWxpbmsta2V5LXRvLWRvY3VtZW50YXRpb24gaXMgc3VwcG9zZWQg dG8gaGF2ZSBhbiBlZmZlY3QNCm9ubHkgImluICpIZWxwKiBidWZmZXJzIi4g Rml4ZXMgYnVnIzUyMDUzLg0KKHZpZXctbG9zc2FnZSwgZGVzY3JpYmUtYmlu ZGluZ3MsIGRlc2NyaWJlLWtleSk6IEJpbmQgdGhlIG5ldw0KdmFyaWFibGUu DQoNCiogZXRjL05FV1M6IE1lbnRpb24gdGhlIG5ldyB2YXJpYWJsZS4NCg0K KiBsaXNwL2hlbHAtbWFjcm8uZWwgKG1ha2UtaGVscC1zY3JlZW4pOiBCaW5k IHRoZSBuZXcgdmFyaWFibGUuDQoNCiogbGlzcC9oZWxwLWZucy5lbCAoZGVz Y3JpYmUtZnVuY3Rpb24sIGRlc2NyaWJlLXZhcmlhYmxlLA0KZGVzY3JpYmUt ZmFjZSwgZGVzY3JpYmUtc3ltYm9sLCBkZXNjcmliZS1zeW50YXgsDQpkZXNj cmliZS1jYXRlZ29yaWVzLCBkZXNjcmliZS1rZXltYXAsIGRlc2NyaWJlLW1v ZGUsDQpkZXNjcmliZS13aWRnZXQpOiBCaW5kIHRoZSBuZXcgdmFyaWFibGUu DQoNCiogbGlzcC9yZXBlYXQuZWwgKGRlc2NyaWJlLXJlcGVhdC1tYXBzKTog QmluZCB0aGUgbmV3IHZhcmlhYmxlLg0KDQoqIGxpc3AvaW50ZXJuYXRpb25h bC9tdWxlLWRpYWcuZWwgKGRlc2NyaWJlLWNoYXJhY3Rlci1zZXQsDQpkZXNj cmliZS1jb2Rpbmctc3lzdGVtLCBkZXNjcmliZS1mb250LCBkZXNjcmliZS1m b250c2V0LA0KKGxpc3QtZm9udHNldHMpOiBCaW5kIHRoZSBuZXcgdmFyaWFi bGUuDQoNCiogbGlzcC9pbnRlcm5hdGlvbmFsL211bGUtY21kcy5lbCAoZGVz Y3JpYmUtaW5wdXQtbWV0aG9kLA0KZGVzY3JpYmUtbGFuZ3VhZ2UtZW52aXJv bm1lbnQpOiBCaW5kIHRoZSBuZXcgdmFyaWFibGUuDQoNCiogbGlzcC9idXR0 b24uZWwgKGJ1dHRvbi1kZXNjcmliZSk6IEJpbmQgdGhlIG5ldyB2YXJpYWJs ZS4NCg0KKiBsaXNwL2Fwcm9wb3MuZWwgKGFwcm9wb3MtZGVzY3JpYmUtcGxp c3QpOiBCaW5kIHRoZSBuZXcNCnZhcmlhYmxlLg0KLS0tDQogZXRjL05FV1Mg ICAgICAgICAgICAgICAgICAgICAgICB8ICAgMyArDQogbGlzcC9hcHJvcG9z LmVsICAgICAgICAgICAgICAgICB8ICAyMyArLQ0KIGxpc3AvYnV0dG9uLmVs ICAgICAgICAgICAgICAgICAgfCAgIDMgKy0NCiBsaXNwL2hlbHAtZm5zLmVs ICAgICAgICAgICAgICAgIHwgNTQ5ICsrKysrKysrKysrKysrKystLS0tLS0t LS0tLS0tLS0tDQogbGlzcC9oZWxwLW1hY3JvLmVsICAgICAgICAgICAgICB8 ICAgMyArLQ0KIGxpc3AvaGVscC5lbCAgICAgICAgICAgICAgICAgICAgfCAx MDkgKysrKy0tLQ0KIGxpc3AvaW50ZXJuYXRpb25hbC9tdWxlLWNtZHMuZWwg fCAyMTYgKysrKysrLS0tLS0tLQ0KIGxpc3AvaW50ZXJuYXRpb25hbC9tdWxl LWRpYWcuZWwgfCAzNjAgKysrKysrKysrKystLS0tLS0tLS0tDQogbGlzcC9y ZXBlYXQuZWwgICAgICAgICAgICAgICAgICB8ICA1MSArLS0NCiA5IGZpbGVz IGNoYW5nZWQsIDY3NSBpbnNlcnRpb25zKCspLCA2NDIgZGVsZXRpb25zKC0p DQoNCmRpZmYgLS1naXQgYS9ldGMvTkVXUyBiL2V0Yy9ORVdTDQppbmRleCA4 YjdjMmY3ODUwLi5kOWY1MGUyZWFkIDEwMDY0NA0KLS0tIGEvZXRjL05FV1MN CisrKyBiL2V0Yy9ORVdTDQpAQCAtOTc0LDYgKzk3NCw5IEBAIHRoYXQgc2hv dWxkIGJlIGRpc3BsYXllZCwgYW5kIHRoZSB4d2lkZ2V0IHRoYXQgYXNrZWQg dG8gZGlzcGxheSBpdC4NCiBUaGlzIGZ1bmN0aW9uIGlzIHVzZWQgdG8gY29u dHJvbCB3aGVyZSBhbmQgaWYgYW4geHdpZGdldCBzdG9yZXMNCiBjb29raWVz IHNldCBieSB3ZWIgcGFnZXMgb24gZGlzay4NCiANCisqKiBOZXcgdmFyaWFi bGUgJ2hlbHAtYnVmZmVyLXVuZGVyLXByZXBhcmF0aW9uJy4NCitUaGlzIHZh cmlhYmxlIGlzIGJvdW5kIHRvIHQgZHVyaW5nIHRoZSBwcmVwYXJhdGlvbiBv ZiBhICpIZWxwKiBidWZmZXIuDQorDQogDA0KICogQ2hhbmdlcyBpbiBFbWFj cyAyOS4xIG9uIE5vbi1GcmVlIE9wZXJhdGluZyBTeXN0ZW1zDQogDQpkaWZm IC0tZ2l0IGEvbGlzcC9hcHJvcG9zLmVsIGIvbGlzcC9hcHJvcG9zLmVsDQpp bmRleCAwMDkxOWVkOTFiLi42NmE1OTRkNTg4IDEwMDY0NA0KLS0tIGEvbGlz cC9hcHJvcG9zLmVsDQorKysgYi9saXNwL2Fwcm9wb3MuZWwNCkBAIC0xMzIy LDE3ICsxMzIyLDE4IEBAIGFwcm9wb3MtcHJldmlvdXMtc3ltYm9sDQogDQog KGRlZnVuIGFwcm9wb3MtZGVzY3JpYmUtcGxpc3QgKHN5bWJvbCkNCiAgICJE aXNwbGF5IGEgcHJldHR5IGxpc3Rpbmcgb2YgU1lNQk9MJ3MgcGxpc3QuIg0K LSAgKGhlbHAtc2V0dXAteHJlZiAobGlzdCAnYXByb3Bvcy1kZXNjcmliZS1w bGlzdCBzeW1ib2wpDQotCQkgICAoY2FsbGVkLWludGVyYWN0aXZlbHktcCAn aW50ZXJhY3RpdmUpKQ0KLSAgKHdpdGgtaGVscC13aW5kb3cgKGhlbHAtYnVm ZmVyKQ0KLSAgICAoc2V0LWJ1ZmZlciBzdGFuZGFyZC1vdXRwdXQpDQotICAg IChwcmluYyAiU3ltYm9sICIpDQotICAgIChwcmluMSBzeW1ib2wpDQotICAg IChwcmluYyAoc3Vic3RpdHV0ZS1jb21tYW5kLWtleXMgIidzIHBsaXN0IGlz XG4gKCIpKQ0KLSAgICAocHV0LXRleHQtcHJvcGVydHkgKCsgKHBvaW50LW1p bikgNykgKC0gKHBvaW50KSAxNCkNCi0JCSAgICAgICAnZmFjZSAnYXByb3Bv cy1zeW1ib2wpDQotICAgIChpbnNlcnQgKGFwcm9wb3MtZm9ybWF0LXBsaXN0 IHN5bWJvbCAiXG4gICIpKQ0KLSAgICAocHJpbmMgIikiKSkpDQorICAobGV0 ICgoaGVscC1idWZmZXItdW5kZXItcHJlcGFyYXRpb24gdCkpDQorICAgICho ZWxwLXNldHVwLXhyZWYgKGxpc3QgJ2Fwcm9wb3MtZGVzY3JpYmUtcGxpc3Qg c3ltYm9sKQ0KKwkJICAgICAoY2FsbGVkLWludGVyYWN0aXZlbHktcCAnaW50 ZXJhY3RpdmUpKQ0KKyAgICAod2l0aC1oZWxwLXdpbmRvdyAoaGVscC1idWZm ZXIpDQorICAgICAgKHNldC1idWZmZXIgc3RhbmRhcmQtb3V0cHV0KQ0KKyAg ICAgIChwcmluYyAiU3ltYm9sICIpDQorICAgICAgKHByaW4xIHN5bWJvbCkN CisgICAgICAocHJpbmMgKHN1YnN0aXR1dGUtY29tbWFuZC1rZXlzICIncyBw bGlzdCBpc1xuICgiKSkNCisgICAgICAocHV0LXRleHQtcHJvcGVydHkgKCsg KHBvaW50LW1pbikgNykgKC0gKHBvaW50KSAxNCkNCisJCSAgICAgICAgICdm YWNlICdhcHJvcG9zLXN5bWJvbCkNCisgICAgICAoaW5zZXJ0IChhcHJvcG9z LWZvcm1hdC1wbGlzdCBzeW1ib2wgIlxuICAiKSkNCisgICAgICAocHJpbmMg IikiKSkpKQ0KIA0KIA0KIChwcm92aWRlICdhcHJvcG9zKQ0KZGlmZiAtLWdp dCBhL2xpc3AvYnV0dG9uLmVsIGIvbGlzcC9idXR0b24uZWwNCmluZGV4IGUz ZjkxY2I0YTYuLmRkNWE3MWQxMTYgMTAwNjQ0DQotLS0gYS9saXNwL2J1dHRv bi5lbA0KKysrIGIvbGlzcC9idXR0b24uZWwNCkBAIC02MDQsNyArNjA0LDgg QEAgYnV0dG9uLWRlc2NyaWJlDQogYnVmZmVyIHBvc2l0aW9uIHdoZXJlIGEg YnV0dG9uIGlzIHByZXNlbnQuICBJZiBCVVRUT04tT1ItUE9TIGlzIG5pbCwg dGhlDQogYnV0dG9uIGF0IHBvaW50IGlzIHRoZSBidXR0b24gdG8gZGVzY3Jp YmUuIg0KICAgKGludGVyYWN0aXZlICJkIikNCi0gIChsZXQqICgoYnV0dG9u IChjb25kICgoaW50ZWdlci1vci1tYXJrZXItcCBidXR0b24tb3ItcG9zKQ0K KyAgKGxldCogKChoZWxwLWJ1ZmZlci11bmRlci1wcmVwYXJhdGlvbiB0KQ0K KyAgICAgICAgIChidXR0b24gKGNvbmQgKChpbnRlZ2VyLW9yLW1hcmtlci1w IGJ1dHRvbi1vci1wb3MpDQogICAgICAgICAgICAgICAgICAgICAgICAgKGJ1 dHRvbi1hdCBidXR0b24tb3ItcG9zKSkNCiAgICAgICAgICAgICAgICAgICAg ICAgICgobnVsbCBidXR0b24tb3ItcG9zKSAoYnV0dG9uLWF0IChwb2ludCkp KQ0KICAgICAgICAgICAgICAgICAgICAgICAgKChvdmVybGF5cCBidXR0b24t b3ItcG9zKSBidXR0b24tb3ItcG9zKSkpDQpkaWZmIC0tZ2l0IGEvbGlzcC9o ZWxwLWZucy5lbCBiL2xpc3AvaGVscC1mbnMuZWwNCmluZGV4IDE3ZmFiZTRm NjMuLjMyNjk4NDIwZTEgMTAwNjQ0DQotLS0gYS9saXNwL2hlbHAtZm5zLmVs DQorKysgYi9saXNwL2hlbHAtZm5zLmVsDQpAQCAtMjQ5LDcgKzI0OSw4IEBA IGRlc2NyaWJlLWZ1bmN0aW9uDQogICA7OyBjYWxsaW5nIHRoYXQuDQogICAo bGV0ICgoZGVzY3JpYmUtZnVuY3Rpb24tb3JpZy1idWZmZXINCiAgICAgICAg ICAob3IgZGVzY3JpYmUtZnVuY3Rpb24tb3JpZy1idWZmZXINCi0gICAgICAg ICAgICAgKGN1cnJlbnQtYnVmZmVyKSkpKQ0KKyAgICAgICAgICAgICAoY3Vy cmVudC1idWZmZXIpKSkNCisgICAgICAgIChoZWxwLWJ1ZmZlci11bmRlci1w cmVwYXJhdGlvbiB0KSkNCiANCiAgICAgKGhlbHAtc2V0dXAteHJlZg0KICAg ICAgKGxpc3QgKGxhbWJkYSAoZnVuY3Rpb24gYnVmZmVyKQ0KQEAgLTEwNzgs NyArMTA3OSw4IEBAIGRlc2NyaWJlLXZhcmlhYmxlDQogICAgICAgICAgICAg ICAgIChpZiAoc3ltYm9scCB2KSAoc3ltYm9sLW5hbWUgdikpKSkNCiAgICAg IChsaXN0IChpZiAoZXF1YWwgdmFsICIiKQ0KIAkgICAgICAgdiAoaW50ZXJu IHZhbCkpKSkpDQotICAobGV0IChmaWxlLW5hbWUpDQorICAobGV0IChmaWxl LW5hbWUNCisgICAgICAgIChoZWxwLWJ1ZmZlci11bmRlci1wcmVwYXJhdGlv biB0KSkNCiAgICAgKHVubGVzcyAoYnVmZmVyLWxpdmUtcCBidWZmZXIpIChz ZXRxIGJ1ZmZlciAoY3VycmVudC1idWZmZXIpKSkNCiAgICAgKHVubGVzcyAo ZnJhbWUtbGl2ZS1wIGZyYW1lKSAoc2V0cSBmcmFtZSAoc2VsZWN0ZWQtZnJh bWUpKSkNCiAgICAgKGlmIChub3QgKHN5bWJvbHAgdmFyaWFibGUpKQ0KQEAg LTE0NjEsNzcgKzE0NjMsNzggQEAgZGVzY3JpYmUtZmFjZQ0KICAgKGludGVy YWN0aXZlIChsaXN0IChyZWFkLWZhY2UtbmFtZSAiRGVzY3JpYmUgZmFjZSIN CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKG9yIChm YWNlLWF0LXBvaW50IHQpICdkZWZhdWx0KQ0KICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICB0KSkpDQotICAoaGVscC1zZXR1cC14cmVm IChsaXN0ICMnZGVzY3JpYmUtZmFjZSBmYWNlKQ0KLQkJICAgKGNhbGxlZC1p bnRlcmFjdGl2ZWx5LXAgJ2ludGVyYWN0aXZlKSkNCi0gICh1bmxlc3MgZmFj ZQ0KLSAgICAoc2V0cSBmYWNlICdkZWZhdWx0KSkNCi0gIChpZiAobm90IChs aXN0cCBmYWNlKSkNCi0gICAgICAoc2V0cSBmYWNlIChsaXN0IGZhY2UpKSkN Ci0gICh3aXRoLWhlbHAtd2luZG93IChoZWxwLWJ1ZmZlcikNCi0gICAgKHdp dGgtY3VycmVudC1idWZmZXIgc3RhbmRhcmQtb3V0cHV0DQotICAgICAgKGRv bGlzdCAoZiBmYWNlIChidWZmZXItc3RyaW5nKSkNCi0JKGlmIChzdHJpbmdw IGYpIChzZXRxIGYgKGludGVybiBmKSkpDQotCTs7IFdlIG1heSBnZXQgY2Fs bGVkIGZvciBhbm9ueW1vdXMgZmFjZXMgKGkuZS4sIGZhY2VzDQotCTs7IGV4 cHJlc3NlZCB1c2luZyBwcm9wLXZhbHVlIHBsaXN0cykuICBUaG9zZSBjYW4n dCBiZQ0KLQk7OyB1c2VmdWxseSBjdXN0b21pemVkLCBzbyBpZ25vcmUgdGhl bS4NCi0JKHdoZW4gKHN5bWJvbHAgZikNCi0JICAoaW5zZXJ0ICJGYWNlOiAi IChzeW1ib2wtbmFtZSBmKSkNCi0JICAoaWYgKG5vdCAoZmFjZXAgZikpDQot CSAgICAgIChpbnNlcnQgIiAgIHVuZGVmaW5lZCBmYWNlLlxuIikNCi0JICAg IChsZXQgKChjdXN0b21pemUtbGFiZWwgImN1c3RvbWl6ZSB0aGlzIGZhY2Ui KQ0KLQkJICBmaWxlLW5hbWUpDQotCSAgICAgIChpbnNlcnQgKGNvbmNhdCAi ICgiIChwcm9wZXJ0aXplICJzYW1wbGUiICdmb250LWxvY2stZmFjZSBmKSAi KSIpKQ0KLQkgICAgICAocHJpbmMgKGNvbmNhdCAiICgiIGN1c3RvbWl6ZS1s YWJlbCAiKVxuIikpDQotCSAgICAgIDs7IEZJWE1FIG5vdCBzdXJlIGhvdyBt dWNoIG9mIHRoaXMgYmVsb25ncyBoZXJlLCBhbmQNCi0JICAgICAgOzsgaG93 IG11Y2ggaW4gYGZhY2UtZG9jdW1lbnRhdGlvbicuICBUaGUgbGF0dGVyIGlz DQotCSAgICAgIDs7IG5vdCB1c2VkIG11Y2gsIGJ1dCBuZWVkcyB0byByZXR1 cm4gbmlsIGZvcg0KLQkgICAgICA7OyB1bmRvY3VtZW50ZWQgZmFjZXMuDQot CSAgICAgIChsZXQgKChhbGlhcyAoZ2V0IGYgJ2ZhY2UtYWxpYXMpKQ0KLQkJ ICAgIChmYWNlIGYpDQotCQkgICAgb2Jzb2xldGUpDQotCQkod2hlbiBhbGlh cw0KLQkJICAoc2V0cSBmYWNlIGFsaWFzKQ0KLQkJICAoaW5zZXJ0DQotCQkg ICAoZm9ybWF0LW1lc3NhZ2UNCi0gICAgICAgICAgICAgICAgICAgICJcbiAg JXMgaXMgYW4gYWxpYXMgZm9yIHRoZSBmYWNlIGAlcycuXG4lcyINCi0gICAg ICAgICAgICAgICAgICAgIGYgYWxpYXMNCi0gICAgICAgICAgICAgICAgICAg IChpZiAoc2V0cSBvYnNvbGV0ZSAoZ2V0IGYgJ29ic29sZXRlLWZhY2UpKQ0K LSAgICAgICAgICAgICAgICAgICAgICAgIChmb3JtYXQtbWVzc2FnZQ0KLSAg ICAgICAgICAgICAgICAgICAgICAgICAiICBUaGlzIGZhY2UgaXMgb2Jzb2xl dGUlczsgdXNlIGAlcycgaW5zdGVhZC5cbiINCi0gICAgICAgICAgICAgICAg ICAgICAgICAgKGlmIChzdHJpbmdwIG9ic29sZXRlKQ0KLSAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgKGZvcm1hdCAiIHNpbmNlICVzIiBvYnNvbGV0 ZSkNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAiIikNCi0gICAgICAg ICAgICAgICAgICAgICAgICAgYWxpYXMpDQotICAgICAgICAgICAgICAgICAg ICAgICIiKSkpKQ0KLQkJKGluc2VydCAiXG5Eb2N1bWVudGF0aW9uOlxuIg0K LSAgICAgICAgICAgICAgICAgICAgICAgIChzdWJzdGl0dXRlLWNvbW1hbmQt a2V5cw0KLSAgICAgICAgICAgICAgICAgICAgICAgICAob3IgKGZhY2UtZG9j dW1lbnRhdGlvbiBmYWNlKQ0KLSAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIk5vdCBkb2N1bWVudGVkIGFzIGEgZmFjZS4iKSkNCi0JCQkiXG5cbiIp KQ0KLQkgICAgICAod2l0aC1jdXJyZW50LWJ1ZmZlciBzdGFuZGFyZC1vdXRw dXQNCi0JCShzYXZlLWV4Y3Vyc2lvbg0KLQkJICAocmUtc2VhcmNoLWJhY2t3 YXJkDQotCQkgICAoY29uY2F0ICJcXCgiIGN1c3RvbWl6ZS1sYWJlbCAiXFwp IikgbmlsIHQpDQotCQkgIChoZWxwLXhyZWYtYnV0dG9uIDEgJ2hlbHAtY3Vz dG9taXplLWZhY2UgZikpKQ0KLQkgICAgICAoc2V0cSBmaWxlLW5hbWUgKGZp bmQtbGlzcC1vYmplY3QtZmlsZS1uYW1lIGYgJ2RlZmZhY2UpKQ0KLQkgICAg ICAoaWYgKG5vdCBmaWxlLW5hbWUpDQotICAgICAgICAgICAgICAgICAgKHNl dHEgaGVscC1tb2RlLS1jdXJyZW50LWRhdGEgKGxpc3QgOnN5bWJvbCBmKSkN Ci0gICAgICAgICAgICAgICAgKHNldHEgaGVscC1tb2RlLS1jdXJyZW50LWRh dGEgKGxpc3QgOnN5bWJvbCBmDQotICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIDpmaWxlIGZpbGUtbmFtZSkp DQotCQkocHJpbmMgKHN1YnN0aXR1dGUtY29tbWFuZC1rZXlzICJEZWZpbmVk IGluIGAiKSkNCi0JCShwcmluYyAoaGVscC1mbnMtc2hvcnQtZmlsZW5hbWUg ZmlsZS1uYW1lKSkNCi0JCShwcmluYyAoc3Vic3RpdHV0ZS1jb21tYW5kLWtl eXMgIiciKSkNCi0JCTs7IE1ha2UgYSBoeXBlcmxpbmsgdG8gdGhlIGxpYnJh cnkuDQotCQkoc2F2ZS1leGN1cnNpb24NCi0JCSAgKHJlLXNlYXJjaC1iYWNr d2FyZA0KLSAgICAgICAgICAgICAgICAgICAoc3Vic3RpdHV0ZS1jb21tYW5k LWtleXMgImBcXChbXmAnXStcXCknIikgbmlsIHQpDQotCQkgIChoZWxwLXhy ZWYtYnV0dG9uIDEgJ2hlbHAtZmFjZS1kZWYgZiBmaWxlLW5hbWUpKQ0KLQkJ KHByaW5jICIuIikNCi0JCSh0ZXJwcmkpDQotCQkodGVycHJpKSkpKQ0KLQkg ICh0ZXJwcmkpDQotICAgICAgICAgIChoZWxwLWZucy0tcnVuLWRlc2NyaWJl LWZ1bmN0aW9ucw0KLSAgICAgICAgICAgaGVscC1mbnMtZGVzY3JpYmUtZmFj ZS1mdW5jdGlvbnMgZiBmcmFtZSkpKSkpKQ0KKyAgKGxldCAoKGhlbHAtYnVm ZmVyLXVuZGVyLXByZXBhcmF0aW9uIHQpKQ0KKyAgICAoaGVscC1zZXR1cC14 cmVmIChsaXN0ICMnZGVzY3JpYmUtZmFjZSBmYWNlKQ0KKwkJICAgICAoY2Fs bGVkLWludGVyYWN0aXZlbHktcCAnaW50ZXJhY3RpdmUpKQ0KKyAgICAodW5s ZXNzIGZhY2UNCisgICAgICAoc2V0cSBmYWNlICdkZWZhdWx0KSkNCisgICAg KGlmIChub3QgKGxpc3RwIGZhY2UpKQ0KKyAgICAgICAgKHNldHEgZmFjZSAo bGlzdCBmYWNlKSkpDQorICAgICh3aXRoLWhlbHAtd2luZG93IChoZWxwLWJ1 ZmZlcikNCisgICAgICAod2l0aC1jdXJyZW50LWJ1ZmZlciBzdGFuZGFyZC1v dXRwdXQNCisgICAgICAgIChkb2xpc3QgKGYgZmFjZSAoYnVmZmVyLXN0cmlu ZykpDQorCSAgKGlmIChzdHJpbmdwIGYpIChzZXRxIGYgKGludGVybiBmKSkp DQorCSAgOzsgV2UgbWF5IGdldCBjYWxsZWQgZm9yIGFub255bW91cyBmYWNl cyAoaS5lLiwgZmFjZXMNCisJICA7OyBleHByZXNzZWQgdXNpbmcgcHJvcC12 YWx1ZSBwbGlzdHMpLiAgVGhvc2UgY2FuJ3QgYmUNCisJICA7OyB1c2VmdWxs eSBjdXN0b21pemVkLCBzbyBpZ25vcmUgdGhlbS4NCisJICAod2hlbiAoc3lt Ym9scCBmKQ0KKwkgICAgKGluc2VydCAiRmFjZTogIiAoc3ltYm9sLW5hbWUg ZikpDQorCSAgICAoaWYgKG5vdCAoZmFjZXAgZikpDQorCSAgICAgICAgKGlu c2VydCAiICAgdW5kZWZpbmVkIGZhY2UuXG4iKQ0KKwkgICAgICAobGV0ICgo Y3VzdG9taXplLWxhYmVsICJjdXN0b21pemUgdGhpcyBmYWNlIikNCisJCSAg ICBmaWxlLW5hbWUpDQorCSAgICAgICAgKGluc2VydCAoY29uY2F0ICIgKCIg KHByb3BlcnRpemUgInNhbXBsZSIgJ2ZvbnQtbG9jay1mYWNlIGYpICIpIikp DQorCSAgICAgICAgKHByaW5jIChjb25jYXQgIiAoIiBjdXN0b21pemUtbGFi ZWwgIilcbiIpKQ0KKwkgICAgICAgIDs7IEZJWE1FIG5vdCBzdXJlIGhvdyBt dWNoIG9mIHRoaXMgYmVsb25ncyBoZXJlLCBhbmQNCisJICAgICAgICA7OyBo b3cgbXVjaCBpbiBgZmFjZS1kb2N1bWVudGF0aW9uJy4gIFRoZSBsYXR0ZXIg aXMNCisJICAgICAgICA7OyBub3QgdXNlZCBtdWNoLCBidXQgbmVlZHMgdG8g cmV0dXJuIG5pbCBmb3INCisJICAgICAgICA7OyB1bmRvY3VtZW50ZWQgZmFj ZXMuDQorCSAgICAgICAgKGxldCAoKGFsaWFzIChnZXQgZiAnZmFjZS1hbGlh cykpDQorCQkgICAgICAoZmFjZSBmKQ0KKwkJICAgICAgb2Jzb2xldGUpDQor CQkgICh3aGVuIGFsaWFzDQorCQkgICAgKHNldHEgZmFjZSBhbGlhcykNCisJ CSAgICAoaW5zZXJ0DQorCQkgICAgIChmb3JtYXQtbWVzc2FnZQ0KKyAgICAg ICAgICAgICAgICAgICAgICAiXG4gICVzIGlzIGFuIGFsaWFzIGZvciB0aGUg ZmFjZSBgJXMnLlxuJXMiDQorICAgICAgICAgICAgICAgICAgICAgIGYgYWxp YXMNCisgICAgICAgICAgICAgICAgICAgICAgKGlmIChzZXRxIG9ic29sZXRl IChnZXQgZiAnb2Jzb2xldGUtZmFjZSkpDQorICAgICAgICAgICAgICAgICAg ICAgICAgICAoZm9ybWF0LW1lc3NhZ2UNCisgICAgICAgICAgICAgICAgICAg ICAgICAgICAiICBUaGlzIGZhY2UgaXMgb2Jzb2xldGUlczsgdXNlIGAlcycg aW5zdGVhZC5cbiINCisgICAgICAgICAgICAgICAgICAgICAgICAgICAoaWYg KHN0cmluZ3Agb2Jzb2xldGUpDQorICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIChmb3JtYXQgIiBzaW5jZSAlcyIgb2Jzb2xldGUpDQorICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAiIikNCisgICAgICAgICAgICAgICAg ICAgICAgICAgICBhbGlhcykNCisgICAgICAgICAgICAgICAgICAgICAgICAi IikpKSkNCisJCSAgKGluc2VydCAiXG5Eb2N1bWVudGF0aW9uOlxuIg0KKyAg ICAgICAgICAgICAgICAgICAgICAgICAgKHN1YnN0aXR1dGUtY29tbWFuZC1r ZXlzDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgKG9yIChmYWNlLWRv Y3VtZW50YXRpb24gZmFjZSkNCisgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIk5vdCBkb2N1bWVudGVkIGFzIGEgZmFjZS4iKSkNCisJCQkgICJc blxuIikpDQorCSAgICAgICAgKHdpdGgtY3VycmVudC1idWZmZXIgc3RhbmRh cmQtb3V0cHV0DQorCQkgIChzYXZlLWV4Y3Vyc2lvbg0KKwkJICAgIChyZS1z ZWFyY2gtYmFja3dhcmQNCisJCSAgICAgKGNvbmNhdCAiXFwoIiBjdXN0b21p emUtbGFiZWwgIlxcKSIpIG5pbCB0KQ0KKwkJICAgIChoZWxwLXhyZWYtYnV0 dG9uIDEgJ2hlbHAtY3VzdG9taXplLWZhY2UgZikpKQ0KKwkgICAgICAgIChz ZXRxIGZpbGUtbmFtZSAoZmluZC1saXNwLW9iamVjdC1maWxlLW5hbWUgZiAn ZGVmZmFjZSkpDQorCSAgICAgICAgKGlmIChub3QgZmlsZS1uYW1lKQ0KKyAg ICAgICAgICAgICAgICAgICAgKHNldHEgaGVscC1tb2RlLS1jdXJyZW50LWRh dGEgKGxpc3QgOnN5bWJvbCBmKSkNCisgICAgICAgICAgICAgICAgICAoc2V0 cSBoZWxwLW1vZGUtLWN1cnJlbnQtZGF0YSAobGlzdCA6c3ltYm9sIGYNCisg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICA6ZmlsZSBmaWxlLW5hbWUpKQ0KKwkJICAocHJpbmMgKHN1YnN0 aXR1dGUtY29tbWFuZC1rZXlzICJEZWZpbmVkIGluIGAiKSkNCisJCSAgKHBy aW5jIChoZWxwLWZucy1zaG9ydC1maWxlbmFtZSBmaWxlLW5hbWUpKQ0KKwkJ ICAocHJpbmMgKHN1YnN0aXR1dGUtY29tbWFuZC1rZXlzICInIikpDQorCQkg IDs7IE1ha2UgYSBoeXBlcmxpbmsgdG8gdGhlIGxpYnJhcnkuDQorCQkgIChz YXZlLWV4Y3Vyc2lvbg0KKwkJICAgIChyZS1zZWFyY2gtYmFja3dhcmQNCisg ICAgICAgICAgICAgICAgICAgICAoc3Vic3RpdHV0ZS1jb21tYW5kLWtleXMg ImBcXChbXmAnXStcXCknIikgbmlsIHQpDQorCQkgICAgKGhlbHAteHJlZi1i dXR0b24gMSAnaGVscC1mYWNlLWRlZiBmIGZpbGUtbmFtZSkpDQorCQkgIChw cmluYyAiLiIpDQorCQkgICh0ZXJwcmkpDQorCQkgICh0ZXJwcmkpKSkpDQor CSAgICAodGVycHJpKQ0KKyAgICAgICAgICAgIChoZWxwLWZucy0tcnVuLWRl c2NyaWJlLWZ1bmN0aW9ucw0KKyAgICAgICAgICAgICBoZWxwLWZucy1kZXNj cmliZS1mYWNlLWZ1bmN0aW9ucyBmIGZyYW1lKSkpKSkpKQ0KIA0KIChhZGQt aG9vayAnaGVscC1mbnMtZGVzY3JpYmUtZmFjZS1mdW5jdGlvbnMNCiAgICAg ICAgICAgIydoZWxwLWZucy0tZmFjZS1jdXN0b20tdmVyc2lvbi1pbmZvKQ0K QEAgLTE2MDIsNDMgKzE2MDUsNDQgQEAgZGVzY3JpYmUtc3ltYm9sDQogCQkJ CShpZiBmb3VuZCAoc3ltYm9sLW5hbWUgdi1vci1mKSkpKSkNCiAgICAgIChs aXN0IChpZiAoZXF1YWwgdmFsICIiKQ0KIAkgICAgICAgKG9yIHYtb3ItZiAi IikgKGludGVybiB2YWwpKSkpKQ0KLSAgKGlmIChub3QgKHN5bWJvbHAgc3lt Ym9sKSkNCi0gICAgICAodXNlci1lcnJvciAiWW91IGRpZG4ndCBzcGVjaWZ5 IGEgZnVuY3Rpb24gb3IgdmFyaWFibGUiKSkNCi0gICh1bmxlc3MgKGJ1ZmZl ci1saXZlLXAgYnVmZmVyKSAoc2V0cSBidWZmZXIgKGN1cnJlbnQtYnVmZmVy KSkpDQotICAodW5sZXNzIChmcmFtZS1saXZlLXAgZnJhbWUpIChzZXRxIGZy YW1lIChzZWxlY3RlZC1mcmFtZSkpKQ0KLSAgKHdpdGgtY3VycmVudC1idWZm ZXIgKGhlbHAtYnVmZmVyKQ0KLSAgICA7OyBQdXNoIHRoZSBwcmV2aW91cyBp dGVtIG9uIHRoZSBzdGFjayBiZWZvcmUgY2xvYmJlcmluZyB0aGUgb3V0cHV0 IGJ1ZmZlci4NCi0gICAgKGhlbHAtc2V0dXAteHJlZiBuaWwgbmlsKQ0KLSAg ICAobGV0KiAoKGRvY3MNCi0gICAgICAgICAgICAobnJldmVyc2UNCi0gICAg ICAgICAgICAgKGRlbHEgbmlsDQotICAgICAgICAgICAgICAgICAgIChtYXBj YXIgKHBjYXNlLWxhbWJkYSAoYCgsbmFtZSAsdGVzdGZuICxkZXNjZm4pKQ0K LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKHdoZW4gKGZ1bmNhbGwg dGVzdGZuIHN5bWJvbCkNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgOzsgRG9uJ3QgcmVjb3JkIHRoZSBjdXJyZW50IGVudHJ5IGluIHRoZSBz dGFjay4NCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKHNldHEg aGVscC14cmVmLXN0YWNrLWl0ZW0gbmlsKQ0KLSAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAoY29ucyBuYW1lDQotICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIChmdW5jYWxsIGRlc2NmbiBzeW1ib2wgYnVm ZmVyIGZyYW1lKSkpKQ0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgIGRl c2NyaWJlLXN5bWJvbC1iYWNrZW5kcykpKSkNCi0gICAgICAgICAgIChzaW5n bGUgKG51bGwgKGNkciBkb2NzKSkpKQ0KLSAgICAgICh3aGlsZSAoY2RyIGRv Y3MpDQotICAgICAgICAoZ290by1jaGFyIChwb2ludC1taW4pKQ0KLSAgICAg ICAgKGxldCAoKGluaGliaXQtcmVhZC1vbmx5IHQpDQotICAgICAgICAgICAg ICAobmFtZSAoY2FhciBkb2NzKSkgICAgICAgIDtOYW1lIG9mIGRvYyBjdXJy ZW50bHkgYXQgQk9CLg0KLSAgICAgICAgICAgICAgKGRvYyAoY2RyIChjYWRy IGRvY3MpKSkpICA7RG9jIHRvIGFkZCBhdCBCT0IuDQotICAgICAgICAgICh3 aGVuIGRvYw0KLSAgICAgICAgICAgIChpbnNlcnQgZG9jKQ0KLSAgICAgICAg ICAgIChkZWxldGUtcmVnaW9uIChwb2ludCkNCi0gICAgICAgICAgICAgICAg ICAgICAgICAgICAocHJvZ24gKHNraXAtY2hhcnMtYmFja3dhcmQgIiBcdFxu IikgKHBvaW50KSkpDQotICAgICAgICAgICAgKGluc2VydCAiXG5cbiIgKG1h a2Utc2VwYXJhdG9yLWxpbmUpICJcbiIpDQotICAgICAgICAgICAgKHdoZW4g bmFtZQ0KLSAgICAgICAgICAgICAgKGluc2VydCAoc3ltYm9sLW5hbWUgc3lt Ym9sKQ0KLSAgICAgICAgICAgICAgICAgICAgICAiIGlzIGFsc28gYSAiIG5h bWUgIi4iICJcblxuIikpKSkNCi0gICAgICAgIChzZXRxIGRvY3MgKGNkciBk b2NzKSkpDQotICAgICAgKHVubGVzcyBzaW5nbGUNCi0gICAgICAgIDs7IERv bid0IHJlY29yZCB0aGUgYGRlc2NyaWJlLXZhcmlhYmxlJyBpdGVtIGluIHRo ZSBzdGFjay4NCi0gICAgICAgIChzZXRxIGhlbHAteHJlZi1zdGFjay1pdGVt IG5pbCkNCi0gICAgICAgIChoZWxwLXNldHVwLXhyZWYgKGxpc3QgIydkZXNj cmliZS1zeW1ib2wgc3ltYm9sKSBuaWwpKQ0KLSAgICAgIChnb3RvLWNoYXIg KHBvaW50LW1pbikpKSkpDQorICAobGV0ICgoaGVscC1idWZmZXItdW5kZXIt cHJlcGFyYXRpb24gdCkpDQorICAgIChpZiAobm90IChzeW1ib2xwIHN5bWJv bCkpDQorICAgICAgICAodXNlci1lcnJvciAiWW91IGRpZG4ndCBzcGVjaWZ5 IGEgZnVuY3Rpb24gb3IgdmFyaWFibGUiKSkNCisgICAgKHVubGVzcyAoYnVm ZmVyLWxpdmUtcCBidWZmZXIpIChzZXRxIGJ1ZmZlciAoY3VycmVudC1idWZm ZXIpKSkNCisgICAgKHVubGVzcyAoZnJhbWUtbGl2ZS1wIGZyYW1lKSAoc2V0 cSBmcmFtZSAoc2VsZWN0ZWQtZnJhbWUpKSkNCisgICAgKHdpdGgtY3VycmVu dC1idWZmZXIgKGhlbHAtYnVmZmVyKQ0KKyAgICAgIDs7IFB1c2ggdGhlIHBy ZXZpb3VzIGl0ZW0gb24gdGhlIHN0YWNrIGJlZm9yZSBjbG9iYmVyaW5nIHRo ZSBvdXRwdXQgYnVmZmVyLg0KKyAgICAgIChoZWxwLXNldHVwLXhyZWYgbmls IG5pbCkNCisgICAgICAobGV0KiAoKGRvY3MNCisgICAgICAgICAgICAgIChu cmV2ZXJzZQ0KKyAgICAgICAgICAgICAgIChkZWxxIG5pbA0KKyAgICAgICAg ICAgICAgICAgICAgIChtYXBjYXIgKHBjYXNlLWxhbWJkYSAoYCgsbmFtZSAs dGVzdGZuICxkZXNjZm4pKQ0KKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAod2hlbiAoZnVuY2FsbCB0ZXN0Zm4gc3ltYm9sKQ0KKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIDs7IERvbid0IHJlY29yZCB0aGUg Y3VycmVudCBlbnRyeSBpbiB0aGUgc3RhY2suDQorICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgKHNldHEgaGVscC14cmVmLXN0YWNrLWl0ZW0g bmlsKQ0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjb25z IG5hbWUNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAoZnVuY2FsbCBkZXNjZm4gc3ltYm9sIGJ1ZmZlciBmcmFtZSkpKSkNCisg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlc2NyaWJlLXN5bWJvbC1i YWNrZW5kcykpKSkNCisgICAgICAgICAgICAgKHNpbmdsZSAobnVsbCAoY2Ry IGRvY3MpKSkpDQorICAgICAgICAod2hpbGUgKGNkciBkb2NzKQ0KKyAgICAg ICAgICAoZ290by1jaGFyIChwb2ludC1taW4pKQ0KKyAgICAgICAgICAobGV0 ICgoaW5oaWJpdC1yZWFkLW9ubHkgdCkNCisgICAgICAgICAgICAgICAgKG5h bWUgKGNhYXIgZG9jcykpICAgICAgICA7TmFtZSBvZiBkb2MgY3VycmVudGx5 IGF0IEJPQi4NCisgICAgICAgICAgICAgICAgKGRvYyAoY2RyIChjYWRyIGRv Y3MpKSkpICA7RG9jIHRvIGFkZCBhdCBCT0IuDQorICAgICAgICAgICAgKHdo ZW4gZG9jDQorICAgICAgICAgICAgICAoaW5zZXJ0IGRvYykNCisgICAgICAg ICAgICAgIChkZWxldGUtcmVnaW9uIChwb2ludCkNCisgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIChwcm9nbiAoc2tpcC1jaGFycy1iYWNrd2FyZCAi IFx0XG4iKSAocG9pbnQpKSkNCisgICAgICAgICAgICAgIChpbnNlcnQgIlxu XG4iIChtYWtlLXNlcGFyYXRvci1saW5lKSAiXG4iKQ0KKyAgICAgICAgICAg ICAgKHdoZW4gbmFtZQ0KKyAgICAgICAgICAgICAgICAoaW5zZXJ0IChzeW1i b2wtbmFtZSBzeW1ib2wpDQorICAgICAgICAgICAgICAgICAgICAgICAgIiBp cyBhbHNvIGEgIiBuYW1lICIuIiAiXG5cbiIpKSkpDQorICAgICAgICAgIChz ZXRxIGRvY3MgKGNkciBkb2NzKSkpDQorICAgICAgICAodW5sZXNzIHNpbmds ZQ0KKyAgICAgICAgICA7OyBEb24ndCByZWNvcmQgdGhlIGBkZXNjcmliZS12 YXJpYWJsZScgaXRlbSBpbiB0aGUgc3RhY2suDQorICAgICAgICAgIChzZXRx IGhlbHAteHJlZi1zdGFjay1pdGVtIG5pbCkNCisgICAgICAgICAgKGhlbHAt c2V0dXAteHJlZiAobGlzdCAjJ2Rlc2NyaWJlLXN5bWJvbCBzeW1ib2wpIG5p bCkpDQorICAgICAgICAoZ290by1jaGFyIChwb2ludC1taW4pKSkpKSkNCiAN CiA7OzsjIyNhdXRvbG9hZA0KIChkZWZ1biBkZXNjcmliZS1zeW50YXggKCZv cHRpb25hbCBidWZmZXIpDQpAQCAtMTY0NywxNSArMTY1MSwxNiBAQCBkZXNj cmliZS1zeW50YXgNCiBCVUZGRVIgZGVmYXVsdHMgdG8gdGhlIGN1cnJlbnQg YnVmZmVyLiINCiAgIChpbnRlcmFjdGl2ZSkNCiAgIChzZXRxIGJ1ZmZlciAo b3IgYnVmZmVyIChjdXJyZW50LWJ1ZmZlcikpKQ0KLSAgKGhlbHAtc2V0dXAt eHJlZiAobGlzdCAjJ2Rlc2NyaWJlLXN5bnRheCBidWZmZXIpDQotCQkgICAo Y2FsbGVkLWludGVyYWN0aXZlbHktcCAnaW50ZXJhY3RpdmUpKQ0KLSAgKHdp dGgtaGVscC13aW5kb3cgKGhlbHAtYnVmZmVyKQ0KLSAgICAobGV0ICgodGFi bGUgKHdpdGgtY3VycmVudC1idWZmZXIgYnVmZmVyIChzeW50YXgtdGFibGUp KSkpDQotICAgICAgKHdpdGgtY3VycmVudC1idWZmZXIgc3RhbmRhcmQtb3V0 cHV0DQotCShkZXNjcmliZS12ZWN0b3IgdGFibGUgJ2ludGVybmFsLWRlc2Ny aWJlLXN5bnRheC12YWx1ZSkNCi0JKHdoaWxlIChzZXRxIHRhYmxlIChjaGFy LXRhYmxlLXBhcmVudCB0YWJsZSkpDQotCSAgKGluc2VydCAiXG5UaGUgcGFy ZW50IHN5bnRheCB0YWJsZSBpczoiKQ0KLQkgIChkZXNjcmliZS12ZWN0b3Ig dGFibGUgJ2ludGVybmFsLWRlc2NyaWJlLXN5bnRheC12YWx1ZSkpKSkpKQ0K KyAgKGxldCAoKGhlbHAtYnVmZmVyLXVuZGVyLXByZXBhcmF0aW9uIHQpKQ0K KyAgICAoaGVscC1zZXR1cC14cmVmIChsaXN0ICMnZGVzY3JpYmUtc3ludGF4 IGJ1ZmZlcikNCisJCSAgICAgKGNhbGxlZC1pbnRlcmFjdGl2ZWx5LXAgJ2lu dGVyYWN0aXZlKSkNCisgICAgKHdpdGgtaGVscC13aW5kb3cgKGhlbHAtYnVm ZmVyKQ0KKyAgICAgIChsZXQgKCh0YWJsZSAod2l0aC1jdXJyZW50LWJ1ZmZl ciBidWZmZXIgKHN5bnRheC10YWJsZSkpKSkNCisgICAgICAgICh3aXRoLWN1 cnJlbnQtYnVmZmVyIHN0YW5kYXJkLW91dHB1dA0KKwkgIChkZXNjcmliZS12 ZWN0b3IgdGFibGUgJ2ludGVybmFsLWRlc2NyaWJlLXN5bnRheC12YWx1ZSkN CisJICAod2hpbGUgKHNldHEgdGFibGUgKGNoYXItdGFibGUtcGFyZW50IHRh YmxlKSkNCisJICAgIChpbnNlcnQgIlxuVGhlIHBhcmVudCBzeW50YXggdGFi bGUgaXM6IikNCisJICAgIChkZXNjcmliZS12ZWN0b3IgdGFibGUgJ2ludGVy bmFsLWRlc2NyaWJlLXN5bnRheC12YWx1ZSkpKSkpKSkNCiANCiAoZGVmdW4g aGVscC1kZXNjcmliZS1jYXRlZ29yeS1zZXQgKHZhbHVlKQ0KICAgKGluc2Vy dCAoY29uZA0KQEAgLTE2NzIsNTkgKzE2NzcsNjAgQEAgZGVzY3JpYmUtY2F0 ZWdvcmllcw0KIElmIEJVRkZFUiBpcyBub24tbmlsLCB0aGVuIGRlc2NyaWJl IEJVRkZFUidzIGNhdGVnb3J5IHRhYmxlIGluc3RlYWQuDQogQlVGRkVSIHNo b3VsZCBiZSBhIGJ1ZmZlciBvciBhIGJ1ZmZlciBuYW1lLiINCiAgIChpbnRl cmFjdGl2ZSkNCi0gIChzZXRxIGJ1ZmZlciAob3IgYnVmZmVyIChjdXJyZW50 LWJ1ZmZlcikpKQ0KLSAgKGhlbHAtc2V0dXAteHJlZiAobGlzdCAjJ2Rlc2Ny aWJlLWNhdGVnb3JpZXMgYnVmZmVyKQ0KLQkJICAgKGNhbGxlZC1pbnRlcmFj dGl2ZWx5LXAgJ2ludGVyYWN0aXZlKSkNCi0gICh3aXRoLWhlbHAtd2luZG93 IChoZWxwLWJ1ZmZlcikNCi0gICAgKGxldCogKCh0YWJsZSAod2l0aC1jdXJy ZW50LWJ1ZmZlciBidWZmZXIgKGNhdGVnb3J5LXRhYmxlKSkpDQotCSAgIChk b2NzIChjaGFyLXRhYmxlLWV4dHJhLXNsb3QgdGFibGUgMCkpKQ0KLSAgICAg IChpZiAob3IgKG5vdCAodmVjdG9ycCBkb2NzKSkgKC89IChsZW5ndGggZG9j cykgOTUpKQ0KLQkgIChlcnJvciAiSW52YWxpZCBmaXJzdCBleHRyYSBzbG90 IGluIHRoaXMgY2F0ZWdvcnkgdGFibGVcbiIpKQ0KLSAgICAgICh3aXRoLWN1 cnJlbnQtYnVmZmVyIHN0YW5kYXJkLW91dHB1dA0KLSAgICAgICAgKHNldHEt ZGVmYXVsdCBoZWxwLWJ1dHRvbi1jYWNoZSAobWFrZS1tYXJrZXIpKQ0KLQko aW5zZXJ0ICJMZWdlbmQgb2YgY2F0ZWdvcnkgbW5lbW9uaWNzICIpDQotICAg ICAgICAoaW5zZXJ0LWJ1dHRvbiAiKGxvbmdlciBkZXNjcmlwdGlvbnMgYXQg dGhlIGJvdHRvbSkiDQotICAgICAgICAgICAgICAgICAgICAgICAnYWN0aW9u IGhlbHAtYnV0dG9uLWNhY2hlDQotICAgICAgICAgICAgICAgICAgICAgICAn Zm9sbG93LWxpbmsgdA0KLSAgICAgICAgICAgICAgICAgICAgICAgJ2hlbHAt ZWNobyAibW91c2UtMiwgUkVUOiBzaG93IGZ1bGwgbGVnZW5kIikNCi0gICAg ICAgIChpbnNlcnQgIlxuIikNCi0JKGxldCAoKHBvcyAocG9pbnQpKSAoaXRl bXMgMCkgbGluZXMgbikNCi0JICAoZG90aW1lcyAoaSA5NSkNCi0JICAgIChp ZiAoYXJlZiBkb2NzIGkpIChzZXRxIGl0ZW1zICgxKyBpdGVtcykpKSkNCi0J ICAoc2V0cSBsaW5lcyAoMSsgKC8gKDEtIGl0ZW1zKSA0KSkpDQotCSAgKHNl dHEgbiAwKQ0KKyAgKGxldCAoKGhlbHAtYnVmZmVyLXVuZGVyLXByZXBhcmF0 aW9uIHQpKQ0KKyAgICAoc2V0cSBidWZmZXIgKG9yIGJ1ZmZlciAoY3VycmVu dC1idWZmZXIpKSkNCisgICAgKGhlbHAtc2V0dXAteHJlZiAobGlzdCAjJ2Rl c2NyaWJlLWNhdGVnb3JpZXMgYnVmZmVyKQ0KKwkJICAgICAoY2FsbGVkLWlu dGVyYWN0aXZlbHktcCAnaW50ZXJhY3RpdmUpKQ0KKyAgICAod2l0aC1oZWxw LXdpbmRvdyAoaGVscC1idWZmZXIpDQorICAgICAgKGxldCogKCh0YWJsZSAo d2l0aC1jdXJyZW50LWJ1ZmZlciBidWZmZXIgKGNhdGVnb3J5LXRhYmxlKSkp DQorCSAgICAgKGRvY3MgKGNoYXItdGFibGUtZXh0cmEtc2xvdCB0YWJsZSAw KSkpDQorICAgICAgICAoaWYgKG9yIChub3QgKHZlY3RvcnAgZG9jcykpICgv PSAobGVuZ3RoIGRvY3MpIDk1KSkNCisJICAgIChlcnJvciAiSW52YWxpZCBm aXJzdCBleHRyYSBzbG90IGluIHRoaXMgY2F0ZWdvcnkgdGFibGVcbiIpKQ0K KyAgICAgICAgKHdpdGgtY3VycmVudC1idWZmZXIgc3RhbmRhcmQtb3V0cHV0 DQorICAgICAgICAgIChzZXRxLWRlZmF1bHQgaGVscC1idXR0b24tY2FjaGUg KG1ha2UtbWFya2VyKSkNCisJICAoaW5zZXJ0ICJMZWdlbmQgb2YgY2F0ZWdv cnkgbW5lbW9uaWNzICIpDQorICAgICAgICAgIChpbnNlcnQtYnV0dG9uICIo bG9uZ2VyIGRlc2NyaXB0aW9ucyBhdCB0aGUgYm90dG9tKSINCisgICAgICAg ICAgICAgICAgICAgICAgICAgJ2FjdGlvbiBoZWxwLWJ1dHRvbi1jYWNoZQ0K KyAgICAgICAgICAgICAgICAgICAgICAgICAnZm9sbG93LWxpbmsgdA0KKyAg ICAgICAgICAgICAgICAgICAgICAgICAnaGVscC1lY2hvICJtb3VzZS0yLCBS RVQ6IHNob3cgZnVsbCBsZWdlbmQiKQ0KKyAgICAgICAgICAoaW5zZXJ0ICJc biIpDQorCSAgKGxldCAoKHBvcyAocG9pbnQpKSAoaXRlbXMgMCkgbGluZXMg bikNCisJICAgIChkb3RpbWVzIChpIDk1KQ0KKwkgICAgICAoaWYgKGFyZWYg ZG9jcyBpKSAoc2V0cSBpdGVtcyAoMSsgaXRlbXMpKSkpDQorCSAgICAoc2V0 cSBsaW5lcyAoMSsgKC8gKDEtIGl0ZW1zKSA0KSkpDQorCSAgICAoc2V0cSBu IDApDQorCSAgICAoZG90aW1lcyAoaSA5NSkNCisJICAgICAgKGxldCAoKGVs dCAoYXJlZiBkb2NzIGkpKSkNCisJICAgICAgICAod2hlbiBlbHQNCisJCSAg KHN0cmluZy1tYXRjaCAiLioiIGVsdCkNCisJCSAgKHNldHEgZWx0IChtYXRj aC1zdHJpbmcgMCBlbHQpKQ0KKwkJICAoaWYgKD49IChsZW5ndGggZWx0KSAx NykNCisJCSAgICAgIChzZXRxIGVsdCAoY29uY2F0IChzdWJzdHJpbmcgZWx0 IDAgMTQpICIuLi4iKSkpDQorCQkgIChpZiAoPCAocG9pbnQpIChwb2ludC1t YXgpKQ0KKwkJICAgICAgKG1vdmUtdG8tY29sdW1uICgqIDIwICgvIG4gbGlu ZXMpKSB0KSkNCisJCSAgKGluc2VydCAoKyBpID9ccykgPzogZWx0KQ0KKwkJ ICAoaWYgKDwgKHBvaW50KSAocG9pbnQtbWF4KSkNCisJCSAgICAgIChmb3J3 YXJkLWxpbmUgMSkNCisJCSAgICAoaW5zZXJ0ICJcbiIpKQ0KKwkJICAoc2V0 cSBuICgxKyBuKSkNCisJCSAgKGlmICg9ICglIG4gbGluZXMpIDApDQorCQkg ICAgICAoZ290by1jaGFyIHBvcykpKSkpKQ0KKwkgIChnb3RvLWNoYXIgKHBv aW50LW1heCkpDQorCSAgKGluc2VydCAiXG4iDQorCQkgICJjaGFyYWN0ZXIo cylcdGNhdGVnb3J5IG1uZW1vbmljc1xuIg0KKwkJICAiLS0tLS0tLS0tLS0t XHQtLS0tLS0tLS0tLS0tLS0tLS0iKQ0KKwkgIChkZXNjcmliZS12ZWN0b3Ig dGFibGUgJ2hlbHAtZGVzY3JpYmUtY2F0ZWdvcnktc2V0KQ0KKyAgICAgICAg ICAoc2V0LW1hcmtlciBoZWxwLWJ1dHRvbi1jYWNoZSAocG9pbnQpKQ0KKwkg IChpbnNlcnQgIkxlZ2VuZCBvZiBjYXRlZ29yeSBtbmVtb25pY3M6XG4iKQ0K IAkgIChkb3RpbWVzIChpIDk1KQ0KIAkgICAgKGxldCAoKGVsdCAoYXJlZiBk b2NzIGkpKSkNCiAJICAgICAgKHdoZW4gZWx0DQotCQkoc3RyaW5nLW1hdGNo ICIuKiIgZWx0KQ0KLQkJKHNldHEgZWx0IChtYXRjaC1zdHJpbmcgMCBlbHQp KQ0KLQkJKGlmICg+PSAobGVuZ3RoIGVsdCkgMTcpDQotCQkgICAgKHNldHEg ZWx0IChjb25jYXQgKHN1YnN0cmluZyBlbHQgMCAxNCkgIi4uLiIpKSkNCi0J CShpZiAoPCAocG9pbnQpIChwb2ludC1tYXgpKQ0KLQkJICAgIChtb3ZlLXRv LWNvbHVtbiAoKiAyMCAoLyBuIGxpbmVzKSkgdCkpDQotCQkoaW5zZXJ0ICgr IGkgP1xzKSA/OiBlbHQpDQotCQkoaWYgKDwgKHBvaW50KSAocG9pbnQtbWF4 KSkNCi0JCSAgICAoZm9yd2FyZC1saW5lIDEpDQotCQkgIChpbnNlcnQgIlxu IikpDQotCQkoc2V0cSBuICgxKyBuKSkNCi0JCShpZiAoPSAoJSBuIGxpbmVz KSAwKQ0KLQkJICAgIChnb3RvLWNoYXIgcG9zKSkpKSkpDQotCShnb3RvLWNo YXIgKHBvaW50LW1heCkpDQotCShpbnNlcnQgIlxuIg0KLQkJImNoYXJhY3Rl cihzKVx0Y2F0ZWdvcnkgbW5lbW9uaWNzXG4iDQotCQkiLS0tLS0tLS0tLS0t XHQtLS0tLS0tLS0tLS0tLS0tLS0iKQ0KLQkoZGVzY3JpYmUtdmVjdG9yIHRh YmxlICdoZWxwLWRlc2NyaWJlLWNhdGVnb3J5LXNldCkNCi0gICAgICAgIChz ZXQtbWFya2VyIGhlbHAtYnV0dG9uLWNhY2hlIChwb2ludCkpDQotCShpbnNl cnQgIkxlZ2VuZCBvZiBjYXRlZ29yeSBtbmVtb25pY3M6XG4iKQ0KLQkoZG90 aW1lcyAoaSA5NSkNCi0JICAobGV0ICgoZWx0IChhcmVmIGRvY3MgaSkpKQ0K LQkgICAgKHdoZW4gZWx0DQotCSAgICAgIChpZiAoc3RyaW5nLW1hdGNoICJc biIgZWx0KQ0KLQkJICAoc2V0cSBlbHQgKHN1YnN0cmluZyBlbHQgKG1hdGNo LWVuZCAwKSkpKQ0KLQkgICAgICAoaW5zZXJ0ICgrIGkgP1xzKSAiOiAiIGVs dCAiXG4iKSkpKQ0KLQkod2hpbGUgKHNldHEgdGFibGUgKGNoYXItdGFibGUt cGFyZW50IHRhYmxlKSkNCi0JICAoaW5zZXJ0ICJcblRoZSBwYXJlbnQgY2F0 ZWdvcnkgdGFibGUgaXM6IikNCi0JICAoZGVzY3JpYmUtdmVjdG9yIHRhYmxl ICdoZWxwLWRlc2NyaWJlLWNhdGVnb3J5LXNldCkpKSkpKQ0KKwkgICAgICAg IChpZiAoc3RyaW5nLW1hdGNoICJcbiIgZWx0KQ0KKwkJICAgIChzZXRxIGVs dCAoc3Vic3RyaW5nIGVsdCAobWF0Y2gtZW5kIDApKSkpDQorCSAgICAgICAg KGluc2VydCAoKyBpID9ccykgIjogIiBlbHQgIlxuIikpKSkNCisJICAod2hp bGUgKHNldHEgdGFibGUgKGNoYXItdGFibGUtcGFyZW50IHRhYmxlKSkNCisJ ICAgIChpbnNlcnQgIlxuVGhlIHBhcmVudCBjYXRlZ29yeSB0YWJsZSBpczoi KQ0KKwkgICAgKGRlc2NyaWJlLXZlY3RvciB0YWJsZSAnaGVscC1kZXNjcmli ZS1jYXRlZ29yeS1zZXQpKSkpKSkpDQogDQogKGRlZnVuIGhlbHAtZm5zLWZp bmQta2V5bWFwLW5hbWUgKGtleW1hcCkNCiAgICJGaW5kIHRoZSBuYW1lIG9m IHRoZSB2YXJpYWJsZSB3aXRoIHZhbHVlIEtFWU1BUC4NCkBAIC0xNzc4LDcg KzE3ODQsOCBAQCBkZXNjcmliZS1rZXltYXANCiAgICAgICh1bmxlc3MgKGFu ZCBrbSAoa2V5bWFwcCAoc3ltYm9sLXZhbHVlIGttKSkpDQogICAgICAgICh1 c2VyLWVycm9yICJOb3QgYSBrZXltYXA6ICVzIiBrbSkpDQogICAgICAobGlz dCBrbSkpKQ0KLSAgKGxldCAodXNlZC1nZW50ZW1wKQ0KKyAgKGxldCAodXNl ZC1nZW50ZW1wDQorICAgICAgICAoaGVscC1idWZmZXItdW5kZXItcHJlcGFy YXRpb24gdCkpDQogICAgICh1bmxlc3MgKGFuZCAoc3ltYm9scCBrZXltYXAp DQogICAgICAgICAgICAgICAgICAoYm91bmRwIGtleW1hcCkNCiAgICAgICAg ICAgICAgICAgIChrZXltYXBwIChzeW1ib2wtdmFsdWUga2V5bWFwKSkpDQpA QCAtMTg0NCwxMDYgKzE4NTEsMTA3IEBAIGRlc2NyaWJlLW1vZGUNCiBJZiBj YWxsZWQgZnJvbSBMaXNwIHdpdGggYSBub24tbmlsIEJVRkZFUiBhcmd1bWVu dCwgZGlzcGxheQ0KIGRvY3VtZW50YXRpb24gZm9yIHRoZSBtYWpvciBhbmQg bWlub3IgbW9kZXMgb2YgdGhhdCBidWZmZXIuIg0KICAgKGludGVyYWN0aXZl ICJAIikNCi0gICh1bmxlc3MgYnVmZmVyIChzZXRxIGJ1ZmZlciAoY3VycmVu dC1idWZmZXIpKSkNCi0gIChoZWxwLXNldHVwLXhyZWYgKGxpc3QgIydkZXNj cmliZS1tb2RlIGJ1ZmZlcikNCi0JCSAgIChjYWxsZWQtaW50ZXJhY3RpdmVs eS1wICdpbnRlcmFjdGl2ZSkpDQotICA7OyBGb3IgdGhlIHNha2Ugb2YgaGVs cC1kby14cmVmIGFuZCBoZWxwLXhyZWYtZ28tYmFjaywNCi0gIDs7IGRvbid0 IHN3aXRjaCBidWZmZXJzIGJlZm9yZSBjYWxsaW5nIGBoZWxwLWJ1ZmZlcicu DQotICAod2l0aC1oZWxwLXdpbmRvdyAoaGVscC1idWZmZXIpDQotICAgICh3 aXRoLWN1cnJlbnQtYnVmZmVyIGJ1ZmZlcg0KLSAgICAgIChsZXQgKG1pbm9y cykNCi0JOzsgT2xkZXIgcGFja2FnZXMgZG8gbm90IHJlZ2lzdGVyIGluIG1p bm9yLW1vZGUtbGlzdCBidXQgb25seSBpbg0KLQk7OyBtaW5vci1tb2RlLWFs aXN0Lg0KLQkoZG9saXN0ICh4IG1pbm9yLW1vZGUtYWxpc3QpDQotCSAgKHNl dHEgeCAoY2FyIHgpKQ0KLQkgICh1bmxlc3MgKG1lbXEgeCBtaW5vci1tb2Rl LWxpc3QpDQotCSAgICAocHVzaCB4IG1pbm9yLW1vZGUtbGlzdCkpKQ0KLQk7 OyBGaW5kIGVuYWJsZWQgbWlub3IgbW9kZSB3ZSB3aWxsIHdhbnQgdG8gbWVu dGlvbi4NCi0JKGRvbGlzdCAobW9kZSBtaW5vci1tb2RlLWxpc3QpDQotCSAg OzsgRG9jdW1lbnQgYSBtaW5vciBtb2RlIGlmIGl0IGlzIGxpc3RlZCBpbiBt aW5vci1tb2RlLWFsaXN0LA0KLQkgIDs7IG5vbi1uaWwsIGFuZCBoYXMgYSBm dW5jdGlvbiBkZWZpbml0aW9uLg0KLQkgIChsZXQgKChmbW9kZSAob3IgKGdl dCBtb2RlIDptaW5vci1tb2RlLWZ1bmN0aW9uKSBtb2RlKSkpDQotCSAgICAo YW5kIChib3VuZHAgbW9kZSkgKHN5bWJvbC12YWx1ZSBtb2RlKQ0KLQkJIChm Ym91bmRwIGZtb2RlKQ0KLQkJIChsZXQgKChwcmV0dHktbWlub3ItbW9kZQ0K LQkJCShpZiAoc3RyaW5nLW1hdGNoICJcXChcXCgtbWlub3JcXCk/LW1vZGVc XCk/XFwnIg0KLQkJCQkJICAoc3ltYm9sLW5hbWUgZm1vZGUpKQ0KLQkJCSAg ICAoY2FwaXRhbGl6ZQ0KLQkJCSAgICAgKHN1YnN0cmluZyAoc3ltYm9sLW5h bWUgZm1vZGUpDQotCQkJCQkwIChtYXRjaC1iZWdpbm5pbmcgMCkpKQ0KLQkJ CSAgZm1vZGUpKSkNCi0JCSAgIChwdXNoIChsaXN0IGZtb2RlIHByZXR0eS1t aW5vci1tb2RlDQotCQkJICAgICAgIChmb3JtYXQtbW9kZS1saW5lIChhc3Nx IG1vZGUgbWlub3ItbW9kZS1hbGlzdCkpKQ0KLQkJCSBtaW5vcnMpKSkpKQ0K LQk7OyBOYXJyb3dpbmcgaXMgbm90IGEgbWlub3IgbW9kZSwgYnV0IGl0cyBp bmRpY2F0b3IgaXMgcGFydCBvZg0KLQk7OyBtb2RlLWxpbmUtbW9kZXMuDQot CSh3aGVuIChidWZmZXItbmFycm93ZWQtcCkNCi0JICAocHVzaCAnKG5hcnJv dy10by1yZWdpb24gIk5hcnJvdyIgIiBOYXJyb3ciKSBtaW5vcnMpKQ0KLQko c2V0cSBtaW5vcnMNCi0JICAgICAgKHNvcnQgbWlub3JzDQotCQkgICAgKGxh bWJkYSAoYSBiKSAoc3RyaW5nLWxlc3NwIChjYWRyIGEpIChjYWRyIGIpKSkp KQ0KLQkod2hlbiBtaW5vcnMNCi0JICAocHJpbmMgIkVuYWJsZWQgbWlub3Ig bW9kZXM6XG4iKQ0KLQkgIChtYWtlLWxvY2FsLXZhcmlhYmxlICdoZWxwLWJ1 dHRvbi1jYWNoZSkNCi0JICAod2l0aC1jdXJyZW50LWJ1ZmZlciBzdGFuZGFy ZC1vdXRwdXQNCi0JICAgIChkb2xpc3QgKG1vZGUgbWlub3JzKQ0KLQkgICAg ICAobGV0ICgobW9kZS1mdW5jdGlvbiAobnRoIDAgbW9kZSkpDQotCQkgICAg KHByZXR0eS1taW5vci1tb2RlIChudGggMSBtb2RlKSkNCi0JCSAgICAoaW5k aWNhdG9yIChudGggMiBtb2RlKSkpDQotCQkoc2F2ZS1leGN1cnNpb24NCi0J CSAgKGdvdG8tY2hhciAocG9pbnQtbWF4KSkNCi0JCSAgKHByaW5jICJcblxm XG4iKQ0KLQkJICAocHVzaCAocG9pbnQtbWFya2VyKSBoZWxwLWJ1dHRvbi1j YWNoZSkNCi0JCSAgOzsgRG9jdW1lbnQgdGhlIG1pbm9yIG1vZGVzIGZ1bGx5 Lg0KLSAgICAgICAgICAgICAgICAgIChpbnNlcnQtdGV4dC1idXR0b24NCi0g ICAgICAgICAgICAgICAgICAgcHJldHR5LW1pbm9yLW1vZGUgJ3R5cGUgJ2hl bHAtZnVuY3Rpb24NCi0gICAgICAgICAgICAgICAgICAgJ2hlbHAtYXJncyAo bGlzdCBtb2RlLWZ1bmN0aW9uKQ0KLSAgICAgICAgICAgICAgICAgICAnYnV0 dG9uICcodCkpDQotCQkgIChwcmluYyAoZm9ybWF0ICIgbWlub3IgbW9kZSAo JXMpOlxuIg0KLQkJCQkgKGlmICh6ZXJvcCAobGVuZ3RoIGluZGljYXRvcikp DQotCQkJCSAgICAgIm5vIGluZGljYXRvciINCi0JCQkJICAgKGZvcm1hdCAi aW5kaWNhdG9yJXMiDQotCQkJCQkgICBpbmRpY2F0b3IpKSkpDQotCQkgIChw cmluYyAoaGVscC1zcGxpdC1mdW5kb2MgKGRvY3VtZW50YXRpb24gbW9kZS1m dW5jdGlvbikNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIG5pbCAnZG9jKSkpDQotCQkoaW5zZXJ0LWJ1dHRvbiBwcmV0 dHktbWlub3ItbW9kZQ0KLQkJCSAgICAgICAnYWN0aW9uIChjYXIgaGVscC1i dXR0b24tY2FjaGUpDQotCQkJICAgICAgICdmb2xsb3ctbGluayB0DQotCQkJ ICAgICAgICdoZWxwLWVjaG8gIm1vdXNlLTIsIFJFVDogc2hvdyBmdWxsIGlu Zm9ybWF0aW9uIikNCi0JCShuZXdsaW5lKSkpDQotCSAgICAoZm9yd2FyZC1s aW5lIC0xKQ0KLQkgICAgKGZpbGwtcGFyYWdyYXBoIG5pbCkNCi0JICAgIChm b3J3YXJkLWxpbmUgMSkpDQotDQotCSAgKHByaW5jICJcbihJbmZvcm1hdGlv biBhYm91dCB0aGVzZSBtaW5vciBtb2RlcyBmb2xsb3dzIHRoZSBtYWpvciBt b2RlIGluZm8uKVxuXG4iKSkNCi0JOzsgRG9jdW1lbnQgdGhlIG1ham9yIG1v ZGUuDQotCShsZXQgKChtb2RlIG1vZGUtbmFtZSkpDQotCSAgKHdpdGgtY3Vy cmVudC1idWZmZXIgc3RhbmRhcmQtb3V0cHV0DQotICAgICAgICAgICAgKGxl dCAoKHN0YXJ0IChwb2ludCkpKQ0KLSAgICAgICAgICAgICAgKGluc2VydCAo Zm9ybWF0LW1vZGUtbGluZSBtb2RlIG5pbCBuaWwgYnVmZmVyKSkNCi0gICAg ICAgICAgICAgIChhZGQtdGV4dC1wcm9wZXJ0aWVzIHN0YXJ0IChwb2ludCkg JyhmYWNlIGJvbGQpKSkpKQ0KLQkocHJpbmMgIiBtb2RlIikNCi0JKGxldCog KChtb2RlIG1ham9yLW1vZGUpDQotCSAgICAgICAoZmlsZS1uYW1lIChmaW5k LWxpc3Atb2JqZWN0LWZpbGUtbmFtZSBtb2RlIG5pbCkpKQ0KLQkgIChpZiAo bm90IGZpbGUtbmFtZSkNCi0gICAgICAgICAgICAgIChzZXRxIGhlbHAtbW9k ZS0tY3VycmVudC1kYXRhIChsaXN0IDpzeW1ib2wgbW9kZSkpDQotCSAgICAo cHJpbmMgKGZvcm1hdC1tZXNzYWdlICIgZGVmaW5lZCBpbiBgJXMnIg0KLSAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGhlbHAtZm5zLXNo b3J0LWZpbGVuYW1lIGZpbGUtbmFtZSkpKQ0KLQkgICAgOzsgTWFrZSBhIGh5 cGVybGluayB0byB0aGUgbGlicmFyeS4NCisgIChsZXQgKChoZWxwLWJ1ZmZl ci11bmRlci1wcmVwYXJhdGlvbiB0KSkNCisgICAgKHVubGVzcyBidWZmZXIg KHNldHEgYnVmZmVyIChjdXJyZW50LWJ1ZmZlcikpKQ0KKyAgICAoaGVscC1z ZXR1cC14cmVmIChsaXN0ICMnZGVzY3JpYmUtbW9kZSBidWZmZXIpDQorCQkg ICAgIChjYWxsZWQtaW50ZXJhY3RpdmVseS1wICdpbnRlcmFjdGl2ZSkpDQor ICAgIDs7IEZvciB0aGUgc2FrZSBvZiBoZWxwLWRvLXhyZWYgYW5kIGhlbHAt eHJlZi1nby1iYWNrLA0KKyAgICA7OyBkb24ndCBzd2l0Y2ggYnVmZmVycyBi ZWZvcmUgY2FsbGluZyBgaGVscC1idWZmZXInLg0KKyAgICAod2l0aC1oZWxw LXdpbmRvdyAoaGVscC1idWZmZXIpDQorICAgICAgKHdpdGgtY3VycmVudC1i dWZmZXIgYnVmZmVyDQorCShsZXQgKG1pbm9ycykNCisJICA7OyBPbGRlciBw YWNrYWdlcyBkbyBub3QgcmVnaXN0ZXIgaW4gbWlub3ItbW9kZS1saXN0IGJ1 dCBvbmx5IGluDQorCSAgOzsgbWlub3ItbW9kZS1hbGlzdC4NCisJICAoZG9s aXN0ICh4IG1pbm9yLW1vZGUtYWxpc3QpDQorCSAgICAoc2V0cSB4IChjYXIg eCkpDQorCSAgICAodW5sZXNzIChtZW1xIHggbWlub3ItbW9kZS1saXN0KQ0K KwkgICAgICAocHVzaCB4IG1pbm9yLW1vZGUtbGlzdCkpKQ0KKwkgIDs7IEZp bmQgZW5hYmxlZCBtaW5vciBtb2RlIHdlIHdpbGwgd2FudCB0byBtZW50aW9u Lg0KKwkgIChkb2xpc3QgKG1vZGUgbWlub3ItbW9kZS1saXN0KQ0KKwkgICAg OzsgRG9jdW1lbnQgYSBtaW5vciBtb2RlIGlmIGl0IGlzIGxpc3RlZCBpbiBt aW5vci1tb2RlLWFsaXN0LA0KKwkgICAgOzsgbm9uLW5pbCwgYW5kIGhhcyBh IGZ1bmN0aW9uIGRlZmluaXRpb24uDQorCSAgICAobGV0ICgoZm1vZGUgKG9y IChnZXQgbW9kZSA6bWlub3ItbW9kZS1mdW5jdGlvbikgbW9kZSkpKQ0KKwkg ICAgICAoYW5kIChib3VuZHAgbW9kZSkgKHN5bWJvbC12YWx1ZSBtb2RlKQ0K KwkJICAgKGZib3VuZHAgZm1vZGUpDQorCQkgICAobGV0ICgocHJldHR5LW1p bm9yLW1vZGUNCisJCQkgIChpZiAoc3RyaW5nLW1hdGNoICJcXChcXCgtbWlu b3JcXCk/LW1vZGVcXCk/XFwnIg0KKwkJCQkJICAgIChzeW1ib2wtbmFtZSBm bW9kZSkpDQorCQkJICAgICAgKGNhcGl0YWxpemUNCisJCQkgICAgICAgKHN1 YnN0cmluZyAoc3ltYm9sLW5hbWUgZm1vZGUpDQorCQkJCQkgIDAgKG1hdGNo LWJlZ2lubmluZyAwKSkpDQorCQkJICAgIGZtb2RlKSkpDQorCQkgICAgIChw dXNoIChsaXN0IGZtb2RlIHByZXR0eS1taW5vci1tb2RlDQorCQkJCSAoZm9y bWF0LW1vZGUtbGluZSAoYXNzcSBtb2RlIG1pbm9yLW1vZGUtYWxpc3QpKSkN CisJCQkgICBtaW5vcnMpKSkpKQ0KKwkgIDs7IE5hcnJvd2luZyBpcyBub3Qg YSBtaW5vciBtb2RlLCBidXQgaXRzIGluZGljYXRvciBpcyBwYXJ0IG9mDQor CSAgOzsgbW9kZS1saW5lLW1vZGVzLg0KKwkgICh3aGVuIChidWZmZXItbmFy cm93ZWQtcCkNCisJICAgIChwdXNoICcobmFycm93LXRvLXJlZ2lvbiAiTmFy cm93IiAiIE5hcnJvdyIpIG1pbm9ycykpDQorCSAgKHNldHEgbWlub3JzDQor CQkoc29ydCBtaW5vcnMNCisJCSAgICAgIChsYW1iZGEgKGEgYikgKHN0cmlu Zy1sZXNzcCAoY2FkciBhKSAoY2FkciBiKSkpKSkNCisJICAod2hlbiBtaW5v cnMNCisJICAgIChwcmluYyAiRW5hYmxlZCBtaW5vciBtb2RlczpcbiIpDQor CSAgICAobWFrZS1sb2NhbC12YXJpYWJsZSAnaGVscC1idXR0b24tY2FjaGUp DQogCSAgICAod2l0aC1jdXJyZW50LWJ1ZmZlciBzdGFuZGFyZC1vdXRwdXQN Ci0JICAgICAgKHNhdmUtZXhjdXJzaW9uDQotCQkocmUtc2VhcmNoLWJhY2t3 YXJkIChzdWJzdGl0dXRlLWNvbW1hbmQta2V5cyAiYFxcKFteYCddK1xcKSci KQ0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5pbCB0 KQ0KLSAgICAgICAgICAgICAgICAoc2V0cSBoZWxwLW1vZGUtLWN1cnJlbnQt ZGF0YSAobGlzdCA6c3ltYm9sIG1vZGUNCi0gICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOmZpbGUgZmlsZS1u YW1lKSkNCi0gICAgICAgICAgICAgICAgKGhlbHAteHJlZi1idXR0b24gMSAn aGVscC1mdW5jdGlvbi1kZWYgbW9kZSBmaWxlLW5hbWUpKSkpKQ0KLSAgICAg ICAgKGxldCAoKGZ1bmRvYyAoaGVscC1zcGxpdC1mdW5kb2MgKGRvY3VtZW50 YXRpb24gbWFqb3ItbW9kZSkgbmlsICdkb2MpKSkNCi0gICAgICAgICAgKHdp dGgtY3VycmVudC1idWZmZXIgc3RhbmRhcmQtb3V0cHV0DQotICAgICAgICAg ICAgKGluc2VydCAiOlxuIikNCi0gICAgICAgICAgICAoaW5zZXJ0IGZ1bmRv YykNCi0gICAgICAgICAgICAoaW5zZXJ0IChoZWxwLWZucy0tbGlzdC1sb2Nh bC1jb21tYW5kcykpKSkpKSkNCi0gIDs7IEZvciB0aGUgc2FrZSBvZiBJRUxN IGFuZCBtYXliZSBvdGhlcnMNCi0gIG5pbCkNCisJICAgICAgKGRvbGlzdCAo bW9kZSBtaW5vcnMpDQorCQkobGV0ICgobW9kZS1mdW5jdGlvbiAobnRoIDAg bW9kZSkpDQorCQkgICAgICAocHJldHR5LW1pbm9yLW1vZGUgKG50aCAxIG1v ZGUpKQ0KKwkJICAgICAgKGluZGljYXRvciAobnRoIDIgbW9kZSkpKQ0KKwkJ ICAoc2F2ZS1leGN1cnNpb24NCisJCSAgICAoZ290by1jaGFyIChwb2ludC1t YXgpKQ0KKwkJICAgIChwcmluYyAiXG5cZlxuIikNCisJCSAgICAocHVzaCAo cG9pbnQtbWFya2VyKSBoZWxwLWJ1dHRvbi1jYWNoZSkNCisJCSAgICA7OyBE b2N1bWVudCB0aGUgbWlub3IgbW9kZXMgZnVsbHkuDQorICAgICAgICAgICAg ICAgICAgICAoaW5zZXJ0LXRleHQtYnV0dG9uDQorICAgICAgICAgICAgICAg ICAgICAgcHJldHR5LW1pbm9yLW1vZGUgJ3R5cGUgJ2hlbHAtZnVuY3Rpb24N CisgICAgICAgICAgICAgICAgICAgICAnaGVscC1hcmdzIChsaXN0IG1vZGUt ZnVuY3Rpb24pDQorICAgICAgICAgICAgICAgICAgICAgJ2J1dHRvbiAnKHQp KQ0KKwkJICAgIChwcmluYyAoZm9ybWF0ICIgbWlub3IgbW9kZSAoJXMpOlxu Ig0KKwkJCQkgICAoaWYgKHplcm9wIChsZW5ndGggaW5kaWNhdG9yKSkNCisJ CQkJICAgICAgICJubyBpbmRpY2F0b3IiDQorCQkJCSAgICAgKGZvcm1hdCAi aW5kaWNhdG9yJXMiDQorCQkJCQkgICAgIGluZGljYXRvcikpKSkNCisJCSAg ICAocHJpbmMgKGhlbHAtc3BsaXQtZnVuZG9jIChkb2N1bWVudGF0aW9uIG1v ZGUtZnVuY3Rpb24pDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIG5pbCAnZG9jKSkpDQorCQkgIChpbnNlcnQtYnV0 dG9uIHByZXR0eS1taW5vci1tb2RlDQorCQkJCSAnYWN0aW9uIChjYXIgaGVs cC1idXR0b24tY2FjaGUpDQorCQkJCSAnZm9sbG93LWxpbmsgdA0KKwkJCQkg J2hlbHAtZWNobyAibW91c2UtMiwgUkVUOiBzaG93IGZ1bGwgaW5mb3JtYXRp b24iKQ0KKwkJICAobmV3bGluZSkpKQ0KKwkgICAgICAoZm9yd2FyZC1saW5l IC0xKQ0KKwkgICAgICAoZmlsbC1wYXJhZ3JhcGggbmlsKQ0KKwkgICAgICAo Zm9yd2FyZC1saW5lIDEpKQ0KKw0KKwkgICAgKHByaW5jICJcbihJbmZvcm1h dGlvbiBhYm91dCB0aGVzZSBtaW5vciBtb2RlcyBmb2xsb3dzIHRoZSBtYWpv ciBtb2RlIGluZm8uKVxuXG4iKSkNCisJICA7OyBEb2N1bWVudCB0aGUgbWFq b3IgbW9kZS4NCisJICAobGV0ICgobW9kZSBtb2RlLW5hbWUpKQ0KKwkgICAg KHdpdGgtY3VycmVudC1idWZmZXIgc3RhbmRhcmQtb3V0cHV0DQorICAgICAg ICAgICAgICAobGV0ICgoc3RhcnQgKHBvaW50KSkpDQorCQkoaW5zZXJ0IChm b3JtYXQtbW9kZS1saW5lIG1vZGUgbmlsIG5pbCBidWZmZXIpKQ0KKwkJKGFk ZC10ZXh0LXByb3BlcnRpZXMgc3RhcnQgKHBvaW50KSAnKGZhY2UgYm9sZCkp KSkpDQorCSAgKHByaW5jICIgbW9kZSIpDQorCSAgKGxldCogKChtb2RlIG1h am9yLW1vZGUpDQorCQkgKGZpbGUtbmFtZSAoZmluZC1saXNwLW9iamVjdC1m aWxlLW5hbWUgbW9kZSBuaWwpKSkNCisJICAgIChpZiAobm90IGZpbGUtbmFt ZSkNCisJCShzZXRxIGhlbHAtbW9kZS0tY3VycmVudC1kYXRhIChsaXN0IDpz eW1ib2wgbW9kZSkpDQorCSAgICAgIChwcmluYyAoZm9ybWF0LW1lc3NhZ2Ug IiBkZWZpbmVkIGluIGAlcyciDQorICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIChoZWxwLWZucy1zaG9ydC1maWxlbmFtZSBmaWxlLW5h bWUpKSkNCisJICAgICAgOzsgTWFrZSBhIGh5cGVybGluayB0byB0aGUgbGli cmFyeS4NCisJICAgICAgKHdpdGgtY3VycmVudC1idWZmZXIgc3RhbmRhcmQt b3V0cHV0DQorCQkoc2F2ZS1leGN1cnNpb24NCisJCSAgKHJlLXNlYXJjaC1i YWNrd2FyZCAoc3Vic3RpdHV0ZS1jb21tYW5kLWtleXMgImBcXChbXmAnXStc XCknIikNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IG5pbCB0KQ0KKyAgICAgICAgICAgICAgICAgIChzZXRxIGhlbHAtbW9kZS0t Y3VycmVudC1kYXRhIChsaXN0IDpzeW1ib2wgbW9kZQ0KKyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDpm aWxlIGZpbGUtbmFtZSkpDQorICAgICAgICAgICAgICAgICAgKGhlbHAteHJl Zi1idXR0b24gMSAnaGVscC1mdW5jdGlvbi1kZWYgbW9kZSBmaWxlLW5hbWUp KSkpKQ0KKyAgICAgICAgICAobGV0ICgoZnVuZG9jIChoZWxwLXNwbGl0LWZ1 bmRvYyAoZG9jdW1lbnRhdGlvbiBtYWpvci1tb2RlKSBuaWwgJ2RvYykpKQ0K KyAgICAgICAgICAgICh3aXRoLWN1cnJlbnQtYnVmZmVyIHN0YW5kYXJkLW91 dHB1dA0KKyAgICAgICAgICAgICAgKGluc2VydCAiOlxuIikNCisgICAgICAg ICAgICAgIChpbnNlcnQgZnVuZG9jKQ0KKyAgICAgICAgICAgICAgKGluc2Vy dCAoaGVscC1mbnMtLWxpc3QtbG9jYWwtY29tbWFuZHMpKSkpKSkpKQ0KKyAg ICA7OyBGb3IgdGhlIHNha2Ugb2YgSUVMTSBhbmQgbWF5YmUgb3RoZXJzDQor ICAgIG5pbCkNCiANCiAoZGVmdW4gaGVscC1mbnMtLWxpc3QtbG9jYWwtY29t bWFuZHMgKCkNCiAgIChsZXQgKChmdW5jdGlvbnMgbmlsKSkNCkBAIC0xOTk4 LDcgKzIwMDYsOCBAQCBkZXNjcmliZS13aWRnZXQNCiAgICAgICAgICAgICAg KGV2ZW50LWVuZCBrZXkpKQ0KICAgICAgICAgICAgICgoZXEga2V5ID9cQy1n KSAoc2lnbmFsICdxdWl0IG5pbCkpDQogICAgICAgICAgICAgKHQgKHVzZXIt ZXJyb3IgIllvdSBkaWRuJ3Qgc3BlY2lmeSBhIHdpZGdldCIpKSkpKSkNCi0g IChsZXQgKGJ1ZikNCisgIChsZXQgKGJ1Zg0KKyAgICAgICAgKGhlbHAtYnVm ZmVyLXVuZGVyLXByZXBhcmF0aW9uIHQpKQ0KICAgICA7OyBBbGxvdyBkZXNj cmliaW5nIGEgd2lkZ2V0IGluIGEgZGlmZmVyZW50IHdpbmRvdy4NCiAgICAg KHdoZW4gKHBvc25wIHBvcykNCiAgICAgICAoc2V0cSBidWYgKHdpbmRvdy1i dWZmZXIgKHBvc24td2luZG93IHBvcykpDQpkaWZmIC0tZ2l0IGEvbGlzcC9o ZWxwLW1hY3JvLmVsIGIvbGlzcC9oZWxwLW1hY3JvLmVsDQppbmRleCA1ODhl ZmVlNjZiLi5jZDFiNTFlNTdhIDEwMDY0NA0KLS0tIGEvbGlzcC9oZWxwLW1h Y3JvLmVsDQorKysgYi9saXNwL2hlbHAtbWFjcm8uZWwNCkBAIC05Myw3ICs5 Myw4IEBAIG1ha2UtaGVscC1zY3JlZW4NCiAgICAgICJIZWxwIGNvbW1hbmQu Ig0KICAgICAgKGludGVyYWN0aXZlKQ0KICAgICAgKGxldCAoKGxpbmUtcHJv bXB0DQotICAgICAgICAgICAgKHN1YnN0aXR1dGUtY29tbWFuZC1rZXlzICxo ZWxwLWxpbmUpKSkNCisgICAgICAgICAgICAoc3Vic3RpdHV0ZS1jb21tYW5k LWtleXMgLGhlbHAtbGluZSkpDQorICAgICAgICAgICAoaGVscC1idWZmZXIt dW5kZXItcHJlcGFyYXRpb24gdCkpDQogICAgICAgICh3aGVuIHRocmVlLXN0 ZXAtaGVscA0KICAgICAgICAgIChtZXNzYWdlICIlcyIgbGluZS1wcm9tcHQp KQ0KICAgICAgICAobGV0KiAoKGhlbHAtc2NyZWVuICxoZWxwLXRleHQpDQpk aWZmIC0tZ2l0IGEvbGlzcC9oZWxwLmVsIGIvbGlzcC9oZWxwLmVsDQppbmRl eCA5MTIyZDk2MjcxLi4xOTE3ZWY0MjVkIDEwMDY0NA0KLS0tIGEvbGlzcC9o ZWxwLmVsDQorKysgYi9saXNwL2hlbHAuZWwNCkBAIC01MCw2ICs1MCwxMSBA QCBoZWxwLXdpbmRvdy1wb2ludC1tYXJrZXINCiAoZGVmdmFyIGhlbHAtd2lu ZG93LW9sZC1mcmFtZSBuaWwNCiAgICJGcmFtZSBzZWxlY3RlZCBhdCB0aGUg dGltZSBgd2l0aC1oZWxwLXdpbmRvdycgaXMgaW52b2tlZC4iKQ0KIA0KKyhk ZWZ2YXIgaGVscC1idWZmZXItdW5kZXItcHJlcGFyYXRpb24gbmlsDQorICAi V2hldGhlciBhICpIZWxwKiBidWZmZXIgaXMgYmVpbmcgcHJlcGFyZWQuDQor VGhpcyB2YXJpYWJsZSBpcyBib3VuZCB0byB0IGR1cmluZyB0aGUgcHJlcGFy YXRpb24gb2YgYSAqSGVscCoNCitidWZmZXIuIikNCisNCiAoZGVmdmFyIGhl bHAtbWFwDQogICAobGV0ICgobWFwIChtYWtlLXNwYXJzZS1rZXltYXApKSkN CiAgICAgKGRlZmluZS1rZXkgbWFwIChjaGFyLXRvLXN0cmluZyBoZWxwLWNo YXIpICdoZWxwLWZvci1oZWxwKQ0KQEAgLTUyNCwzMCArNTI5LDMxIEBAIHZp ZXctbG9zc2FnZQ0KIA0KIFRvIHJlY29yZCBhbGwgeW91ciBpbnB1dCwgdXNl IGBvcGVuLWRyaWJibGUtZmlsZScuIg0KICAgKGludGVyYWN0aXZlKQ0KLSAg KGhlbHAtc2V0dXAteHJlZiAobGlzdCAjJ3ZpZXctbG9zc2FnZSkNCi0JCSAg IChjYWxsZWQtaW50ZXJhY3RpdmVseS1wICdpbnRlcmFjdGl2ZSkpDQotICAo d2l0aC1oZWxwLXdpbmRvdyAoaGVscC1idWZmZXIpDQotICAgIChwcmluYyAi ICIpDQotICAgIChwcmluYyAobWFwY29uY2F0IChsYW1iZGEgKGtleSkNCi0J CQkoY29uZA0KLQkJCSAoKGFuZCAoY29uc3Aga2V5KSAobnVsbCAoY2FyIGtl eSkpKQ0KLQkJCSAgKGZvcm1hdCAiOzsgJXNcbiIgKGlmIChzeW1ib2xwIChj ZHIga2V5KSkgKGNkciBrZXkpDQotCQkJCQkgICAgICAiYW5vbnltb3VzLWNv bW1hbmQiKSkpDQotCQkJICgob3IgKGludGVnZXJwIGtleSkgKHN5bWJvbHAg a2V5KSAobGlzdHAga2V5KSkNCi0JCQkgIChzaW5nbGUta2V5LWRlc2NyaXB0 aW9uIGtleSkpDQotCQkJICh0DQotCQkJICAocHJpbjEtdG8tc3RyaW5nIGtl eSBuaWwpKSkpDQotCQkgICAgICAocmVjZW50LWtleXMgJ2luY2x1ZGUtY21k cykNCi0JCSAgICAgICIgIikpDQotICAgICh3aXRoLWN1cnJlbnQtYnVmZmVy IHN0YW5kYXJkLW91dHB1dA0KLSAgICAgIChnb3RvLWNoYXIgKHBvaW50LW1p bikpDQotICAgICAgKGxldCAoKGNvbW1lbnQtc3RhcnQgIjs7ICIpDQotICAg ICAgICAgICAgKGNvbW1lbnQtY29sdW1uIDI0KSkNCi0gICAgICAgICh3aGls ZSAobm90IChlb2JwKSkNCi0gICAgICAgICAgKGNvbW1lbnQtaW5kZW50KQ0K LQkgIChmb3J3YXJkLWxpbmUgMSkpKQ0KLSAgICAgIDs7IFNob3cgcG9pbnQg bmVhciB0aGUgZW5kIG9mICJsb3NzYWdlIiwgYXMgd2UgZGlkIGluIEVtYWNz IDI0Lg0KLSAgICAgIChzZXQtbWFya2VyIGhlbHAtd2luZG93LXBvaW50LW1h cmtlciAocG9pbnQpKSkpKQ0KKyAgKGxldCAoKGhlbHAtYnVmZmVyLXVuZGVy LXByZXBhcmF0aW9uIHQpKQ0KKyAgICAoaGVscC1zZXR1cC14cmVmIChsaXN0 ICMndmlldy1sb3NzYWdlKQ0KKwkJICAgICAoY2FsbGVkLWludGVyYWN0aXZl bHktcCAnaW50ZXJhY3RpdmUpKQ0KKyAgICAod2l0aC1oZWxwLXdpbmRvdyAo aGVscC1idWZmZXIpDQorICAgICAgKHByaW5jICIgIikNCisgICAgICAocHJp bmMgKG1hcGNvbmNhdCAobGFtYmRhIChrZXkpDQorCQkJICAoY29uZA0KKwkJ CSAgICgoYW5kIChjb25zcCBrZXkpIChudWxsIChjYXIga2V5KSkpDQorCQkJ ICAgIChmb3JtYXQgIjs7ICVzXG4iIChpZiAoc3ltYm9scCAoY2RyIGtleSkp IChjZHIga2V5KQ0KKwkJCQkJCSJhbm9ueW1vdXMtY29tbWFuZCIpKSkNCisJ CQkgICAoKG9yIChpbnRlZ2VycCBrZXkpIChzeW1ib2xwIGtleSkgKGxpc3Rw IGtleSkpDQorCQkJICAgIChzaW5nbGUta2V5LWRlc2NyaXB0aW9uIGtleSkp DQorCQkJICAgKHQNCisJCQkgICAgKHByaW4xLXRvLXN0cmluZyBrZXkgbmls KSkpKQ0KKwkJCShyZWNlbnQta2V5cyAnaW5jbHVkZS1jbWRzKQ0KKwkJCSIg IikpDQorICAgICAgKHdpdGgtY3VycmVudC1idWZmZXIgc3RhbmRhcmQtb3V0 cHV0DQorCShnb3RvLWNoYXIgKHBvaW50LW1pbikpDQorCShsZXQgKChjb21t ZW50LXN0YXJ0ICI7OyAiKQ0KKyAgICAgICAgICAgICAgKGNvbW1lbnQtY29s dW1uIDI0KSkNCisgICAgICAgICAgKHdoaWxlIChub3QgKGVvYnApKQ0KKyAg ICAgICAgICAgIChjb21tZW50LWluZGVudCkNCisJICAgIChmb3J3YXJkLWxp bmUgMSkpKQ0KKwk7OyBTaG93IHBvaW50IG5lYXIgdGhlIGVuZCBvZiAibG9z c2FnZSIsIGFzIHdlIGRpZCBpbiBFbWFjcyAyNC4NCisJKHNldC1tYXJrZXIg aGVscC13aW5kb3ctcG9pbnQtbWFya2VyIChwb2ludCkpKSkpKQ0KIA0KIAwN CiA7OyBLZXkgYmluZGluZ3MNCkBAIC01NzksMzEgKzU4NSwzMiBAQCBkZXNj cmliZS1iaW5kaW5ncw0KIHRvIGRpc3BsYXkgKGRlZmF1bHQsIHRoZSBjdXJy ZW50IGJ1ZmZlcikuICBCVUZGRVIgY2FuIGJlIGEgYnVmZmVyDQogb3IgYSBi dWZmZXIgbmFtZS4iDQogICAoaW50ZXJhY3RpdmUpDQotICAob3IgYnVmZmVy IChzZXRxIGJ1ZmZlciAoY3VycmVudC1idWZmZXIpKSkNCi0gIChoZWxwLXNl dHVwLXhyZWYgKGxpc3QgIydkZXNjcmliZS1iaW5kaW5ncyBwcmVmaXggYnVm ZmVyKQ0KLQkJICAgKGNhbGxlZC1pbnRlcmFjdGl2ZWx5LXAgJ2ludGVyYWN0 aXZlKSkNCi0gICh3aXRoLWhlbHAtd2luZG93IChoZWxwLWJ1ZmZlcikNCi0g ICAgKHdpdGgtY3VycmVudC1idWZmZXIgKGhlbHAtYnVmZmVyKQ0KLSAgICAg IChkZXNjcmliZS1idWZmZXItYmluZGluZ3MgYnVmZmVyIHByZWZpeCkNCi0N Ci0gICAgICAod2hlbiBkZXNjcmliZS1iaW5kaW5ncy1vdXRsaW5lDQotICAg ICAgICAoc2V0cS1sb2NhbCBvdXRsaW5lLXJlZ2V4cCAiLio6JCIpDQotICAg ICAgICAoc2V0cS1sb2NhbCBvdXRsaW5lLWhlYWRpbmctZW5kLXJlZ2V4cCAi OlxuIikNCi0gICAgICAgIChzZXRxLWxvY2FsIG91dGxpbmUtbGV2ZWwgKGxh bWJkYSAoKSAxKSkNCi0gICAgICAgIChzZXRxLWxvY2FsIG91dGxpbmUtbWlu b3ItbW9kZS1jeWNsZSB0DQotICAgICAgICAgICAgICAgICAgICBvdXRsaW5l LW1pbm9yLW1vZGUtaGlnaGxpZ2h0IHQpDQotICAgICAgICAoc2V0cS1sb2Nh bCBvdXRsaW5lLW1pbm9yLW1vZGUtdXNlLWJ1dHRvbnMgdCkNCi0gICAgICAg IChvdXRsaW5lLW1pbm9yLW1vZGUgMSkNCi0gICAgICAgIChzYXZlLWV4Y3Vy c2lvbg0KLSAgICAgICAgICAoZ290by1jaGFyIChwb2ludC1taW4pKQ0KLSAg ICAgICAgICAobGV0ICgoaW5oaWJpdC1yZWFkLW9ubHkgdCkpDQotICAgICAg ICAgICAgOzsgSGlkZSB0aGUgbG9uZ2VzdCBib2R5Lg0KLSAgICAgICAgICAg ICh3aGVuIChyZS1zZWFyY2gtZm9yd2FyZCAiS2V5IHRyYW5zbGF0aW9ucyIg bmlsIHQpDQotICAgICAgICAgICAgICAob3V0bGluZS1oaWRlLXN1YnRyZWUp KQ0KLSAgICAgICAgICAgIDs7IEhpZGUgXkxzLg0KLSAgICAgICAgICAgICh3 aGlsZSAoc2VhcmNoLWZvcndhcmQgIlxuXGZcbiIgbmlsIHQpDQotICAgICAg ICAgICAgICAocHV0LXRleHQtcHJvcGVydHkgKDErIChtYXRjaC1iZWdpbm5p bmcgMCkpICgxLSAobWF0Y2gtZW5kIDApKQ0KLSAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICdpbnZpc2libGUgdCkpKSkpKSkpDQorICAobGV0 ICgoaGVscC1idWZmZXItdW5kZXItcHJlcGFyYXRpb24gdCkpDQorICAgIChv ciBidWZmZXIgKHNldHEgYnVmZmVyIChjdXJyZW50LWJ1ZmZlcikpKQ0KKyAg ICAoaGVscC1zZXR1cC14cmVmIChsaXN0ICMnZGVzY3JpYmUtYmluZGluZ3Mg cHJlZml4IGJ1ZmZlcikNCisJCSAgICAgKGNhbGxlZC1pbnRlcmFjdGl2ZWx5 LXAgJ2ludGVyYWN0aXZlKSkNCisgICAgKHdpdGgtaGVscC13aW5kb3cgKGhl bHAtYnVmZmVyKQ0KKyAgICAgICh3aXRoLWN1cnJlbnQtYnVmZmVyIChoZWxw LWJ1ZmZlcikNCisJKGRlc2NyaWJlLWJ1ZmZlci1iaW5kaW5ncyBidWZmZXIg cHJlZml4KQ0KKw0KKwkod2hlbiBkZXNjcmliZS1iaW5kaW5ncy1vdXRsaW5l DQorICAgICAgICAgIChzZXRxLWxvY2FsIG91dGxpbmUtcmVnZXhwICIuKjok IikNCisgICAgICAgICAgKHNldHEtbG9jYWwgb3V0bGluZS1oZWFkaW5nLWVu ZC1yZWdleHAgIjpcbiIpDQorICAgICAgICAgIChzZXRxLWxvY2FsIG91dGxp bmUtbGV2ZWwgKGxhbWJkYSAoKSAxKSkNCisgICAgICAgICAgKHNldHEtbG9j YWwgb3V0bGluZS1taW5vci1tb2RlLWN5Y2xlIHQNCisgICAgICAgICAgICAg ICAgICAgICAgb3V0bGluZS1taW5vci1tb2RlLWhpZ2hsaWdodCB0KQ0KKyAg ICAgICAgICAoc2V0cS1sb2NhbCBvdXRsaW5lLW1pbm9yLW1vZGUtdXNlLWJ1 dHRvbnMgdCkNCisgICAgICAgICAgKG91dGxpbmUtbWlub3ItbW9kZSAxKQ0K KyAgICAgICAgICAoc2F2ZS1leGN1cnNpb24NCisgICAgICAgICAgICAoZ290 by1jaGFyIChwb2ludC1taW4pKQ0KKyAgICAgICAgICAgIChsZXQgKChpbmhp Yml0LXJlYWQtb25seSB0KSkNCisgICAgICAgICAgICAgIDs7IEhpZGUgdGhl IGxvbmdlc3QgYm9keS4NCisgICAgICAgICAgICAgICh3aGVuIChyZS1zZWFy Y2gtZm9yd2FyZCAiS2V5IHRyYW5zbGF0aW9ucyIgbmlsIHQpDQorCQkob3V0 bGluZS1oaWRlLXN1YnRyZWUpKQ0KKyAgICAgICAgICAgICAgOzsgSGlkZSBe THMuDQorICAgICAgICAgICAgICAod2hpbGUgKHNlYXJjaC1mb3J3YXJkICJc blxmXG4iIG5pbCB0KQ0KKwkJKHB1dC10ZXh0LXByb3BlcnR5ICgxKyAobWF0 Y2gtYmVnaW5uaW5nIDApKSAoMS0gKG1hdGNoLWVuZCAwKSkNCisgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICdpbnZpc2libGUgdCkpKSkp KSkpKQ0KIA0KIChkZWZ1biB3aGVyZS1pcyAoZGVmaW5pdGlvbiAmb3B0aW9u YWwgaW5zZXJ0KQ0KICAgIlByaW50IG1lc3NhZ2UgbGlzdGluZyBrZXkgc2Vx dWVuY2VzIHRoYXQgaW52b2tlIHRoZSBjb21tYW5kIERFRklOSVRJT04uDQpA QCAtOTA3LDcgKzkxNCw4IEBAIGRlc2NyaWJlLWtleQ0KICAgICAgIChsZXQg KChyYXcgKGlmIChudW1iZXJwIGJ1ZmZlcikgKHRoaXMtc2luZ2xlLWNvbW1h bmQtcmF3LWtleXMpIGJ1ZmZlcikpKQ0KICAgICAgICAgKHNldGYgKGNkYXIg KGxhc3Qga2V5LWxpc3QpKSByYXcpKSkNCiAgICAgKHNldHEgYnVmZmVyIG5p bCkpDQotICAobGV0KiAoKGJ1ZiAob3IgYnVmZmVyIChjdXJyZW50LWJ1ZmZl cikpKQ0KKyAgKGxldCogKChoZWxwLWJ1ZmZlci11bmRlci1wcmVwYXJhdGlv biB0KQ0KKyAgICAgICAgIChidWYgKG9yIGJ1ZmZlciAoY3VycmVudC1idWZm ZXIpKSkNCiAgICAgICAgICAob24tbGluaw0KICAgICAgICAgICAobWFwY2Fy IChsYW1iZGEgKGtyKQ0KICAgICAgICAgICAgICAgICAgICAgKGxldCAoKHJh dyAoY2RyIGtyKSkpDQpAQCAtMTE4MSw2ICsxMTg5LDcgQEAgc3Vic3RpdHV0 ZS1jb21tYW5kLWtleXMNCiAgICAgICAgICAgICAgICAgICAgIChkZWxldGUt Y2hhciAoLSBlbmQtcG9pbnQgKHBvaW50KSkpDQogICAgICAgICAgICAgICAg ICAgICAobGV0ICgoa2V5IChoZWxwLS1rZXktZGVzY3JpcHRpb24tZm9udGlm aWVkIGtleSkpKQ0KICAgICAgICAgICAgICAgICAgICAgICAoaW5zZXJ0IChp ZiAoYW5kIGhlbHAtbGluay1rZXktdG8tZG9jdW1lbnRhdGlvbg0KKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlbHAtYnVmZmVy LXVuZGVyLXByZXBhcmF0aW9uDQogICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgKGZ1bmN0aW9ucCBmdW4pKQ0KICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICA7OyBUaGUgYGZib3VuZHAnIGZpeGVz IGJvb3RzdHJhcC4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgKGlmIChmYm91bmRwICdoZWxwLW1vZGUtLWFkZC1mdW5jdGlvbi1saW5r KQ0KZGlmZiAtLWdpdCBhL2xpc3AvaW50ZXJuYXRpb25hbC9tdWxlLWNtZHMu ZWwgYi9saXNwL2ludGVybmF0aW9uYWwvbXVsZS1jbWRzLmVsDQppbmRleCBi OTIyZjE5MmE5Li45ZjNmMmEyMDg0IDEwMDY0NA0KLS0tIGEvbGlzcC9pbnRl cm5hdGlvbmFsL211bGUtY21kcy5lbA0KKysrIGIvbGlzcC9pbnRlcm5hdGlv bmFsL211bGUtY21kcy5lbA0KQEAgLTE2MzgsMzAgKzE2MzgsMzEgQEAgZGVz Y3JpYmUtaW5wdXQtbWV0aG9kDQogICAoaW50ZXJhY3RpdmUNCiAgICAobGlz dCAocmVhZC1pbnB1dC1tZXRob2QtbmFtZQ0KICAgICAgICAgICAoZm9ybWF0 LXByb21wdCAiRGVzY3JpYmUgaW5wdXQgbWV0aG9kIiBjdXJyZW50LWlucHV0 LW1ldGhvZCkpKSkNCi0gIChpZiAoYW5kIGlucHV0LW1ldGhvZCAoc3ltYm9s cCBpbnB1dC1tZXRob2QpKQ0KLSAgICAgIChzZXRxIGlucHV0LW1ldGhvZCAo c3ltYm9sLW5hbWUgaW5wdXQtbWV0aG9kKSkpDQotICAoaGVscC1zZXR1cC14 cmVmIChsaXN0ICMnZGVzY3JpYmUtaW5wdXQtbWV0aG9kDQotCQkJIChvciBp bnB1dC1tZXRob2QgY3VycmVudC1pbnB1dC1tZXRob2QpKQ0KLQkJICAgKGNh bGxlZC1pbnRlcmFjdGl2ZWx5LXAgJ2ludGVyYWN0aXZlKSkNCi0NCi0gIChp ZiAobnVsbCBpbnB1dC1tZXRob2QpDQotICAgICAgKGRlc2NyaWJlLWN1cnJl bnQtaW5wdXQtbWV0aG9kKQ0KLSAgICAobGV0ICgoY3VycmVudCBjdXJyZW50 LWlucHV0LW1ldGhvZCkpDQotICAgICAgKGNvbmRpdGlvbi1jYXNlIG5pbA0K LQkgIChwcm9nbg0KLQkgICAgKHNhdmUtZXhjdXJzaW9uDQotCSAgICAgIChh Y3RpdmF0ZS1pbnB1dC1tZXRob2QgaW5wdXQtbWV0aG9kKQ0KLQkgICAgICAo ZGVzY3JpYmUtY3VycmVudC1pbnB1dC1tZXRob2QpKQ0KLQkgICAgKGFjdGl2 YXRlLWlucHV0LW1ldGhvZCBjdXJyZW50KSkNCi0JKGVycm9yDQotCSAoYWN0 aXZhdGUtaW5wdXQtbWV0aG9kIGN1cnJlbnQpDQotCSAoaGVscC1zZXR1cC14 cmVmIChsaXN0ICMnZGVzY3JpYmUtaW5wdXQtbWV0aG9kIGlucHV0LW1ldGhv ZCkNCi0JCQkgIChjYWxsZWQtaW50ZXJhY3RpdmVseS1wICdpbnRlcmFjdGl2 ZSkpDQotCSAod2l0aC1vdXRwdXQtdG8tdGVtcC1idWZmZXIgKGhlbHAtYnVm ZmVyKQ0KLQkgICAobGV0ICgoZWx0IChhc3NvYyBpbnB1dC1tZXRob2QgaW5w dXQtbWV0aG9kLWFsaXN0KSkpDQotCSAgICAgKHByaW5jIChmb3JtYXQtbWVz c2FnZQ0KLQkJICAgICAiSW5wdXQgbWV0aG9kOiAlcyAoYCVzJyBpbiBtb2Rl IGxpbmUpIGZvciAlc1xuICAlc1xuIg0KLQkJICAgICBpbnB1dC1tZXRob2Qg KG50aCAzIGVsdCkgKG50aCAxIGVsdCkgKG50aCA0IGVsdCkpKSkpKSkpKSkN CisgIChsZXQgKChoZWxwLWJ1ZmZlci11bmRlci1wcmVwYXJhdGlvbiB0KSkN CisgICAgKGlmIChhbmQgaW5wdXQtbWV0aG9kIChzeW1ib2xwIGlucHV0LW1l dGhvZCkpDQorCShzZXRxIGlucHV0LW1ldGhvZCAoc3ltYm9sLW5hbWUgaW5w dXQtbWV0aG9kKSkpDQorICAgIChoZWxwLXNldHVwLXhyZWYgKGxpc3QgIydk ZXNjcmliZS1pbnB1dC1tZXRob2QNCisJCQkgICAob3IgaW5wdXQtbWV0aG9k IGN1cnJlbnQtaW5wdXQtbWV0aG9kKSkNCisJCSAgICAgKGNhbGxlZC1pbnRl cmFjdGl2ZWx5LXAgJ2ludGVyYWN0aXZlKSkNCisNCisgICAgKGlmIChudWxs IGlucHV0LW1ldGhvZCkNCisJKGRlc2NyaWJlLWN1cnJlbnQtaW5wdXQtbWV0 aG9kKQ0KKyAgICAgIChsZXQgKChjdXJyZW50IGN1cnJlbnQtaW5wdXQtbWV0 aG9kKSkNCisJKGNvbmRpdGlvbi1jYXNlIG5pbA0KKwkgICAgKHByb2duDQor CSAgICAgIChzYXZlLWV4Y3Vyc2lvbg0KKwkJKGFjdGl2YXRlLWlucHV0LW1l dGhvZCBpbnB1dC1tZXRob2QpDQorCQkoZGVzY3JpYmUtY3VycmVudC1pbnB1 dC1tZXRob2QpKQ0KKwkgICAgICAoYWN0aXZhdGUtaW5wdXQtbWV0aG9kIGN1 cnJlbnQpKQ0KKwkgIChlcnJvcg0KKwkgICAoYWN0aXZhdGUtaW5wdXQtbWV0 aG9kIGN1cnJlbnQpDQorCSAgIChoZWxwLXNldHVwLXhyZWYgKGxpc3QgIydk ZXNjcmliZS1pbnB1dC1tZXRob2QgaW5wdXQtbWV0aG9kKQ0KKwkJCSAgICAo Y2FsbGVkLWludGVyYWN0aXZlbHktcCAnaW50ZXJhY3RpdmUpKQ0KKwkgICAo d2l0aC1vdXRwdXQtdG8tdGVtcC1idWZmZXIgKGhlbHAtYnVmZmVyKQ0KKwkg ICAgIChsZXQgKChlbHQgKGFzc29jIGlucHV0LW1ldGhvZCBpbnB1dC1tZXRo b2QtYWxpc3QpKSkNCisJICAgICAgIChwcmluYyAoZm9ybWF0LW1lc3NhZ2UN CisJCSAgICAgICAiSW5wdXQgbWV0aG9kOiAlcyAoYCVzJyBpbiBtb2RlIGxp bmUpIGZvciAlc1xuICAlc1xuIg0KKwkJICAgICAgIGlucHV0LW1ldGhvZCAo bnRoIDMgZWx0KSAobnRoIDEgZWx0KSAobnRoIDQgZWx0KSkpKSkpKSkpKSkN CiANCiAoZGVmdW4gZGVzY3JpYmUtY3VycmVudC1pbnB1dC1tZXRob2QgKCkN CiAgICJEZXNjcmliZSB0aGUgaW5wdXQgbWV0aG9kIGN1cnJlbnRseSBpbiB1 c2UuDQpAQCAtMjE2Miw4OSArMjE2Myw5MCBAQCBkZXNjcmliZS1sYW5ndWFn ZS1lbnZpcm9ubWVudA0KICAgIChsaXN0IChyZWFkLWxhbmd1YWdlLW5hbWUN CiAJICAnZG9jdW1lbnRhdGlvbg0KIAkgIChmb3JtYXQtcHJvbXB0ICJEZXNj cmliZSBsYW5ndWFnZSBlbnZpcm9ubWVudCIgY3VycmVudC1sYW5ndWFnZS1l bnZpcm9ubWVudCkpKSkNCi0gIChpZiAobnVsbCBsYW5ndWFnZS1uYW1lKQ0K LSAgICAgIChzZXRxIGxhbmd1YWdlLW5hbWUgY3VycmVudC1sYW5ndWFnZS1l bnZpcm9ubWVudCkpDQotICAoaWYgKG9yIChudWxsIGxhbmd1YWdlLW5hbWUp DQotCSAgKG51bGwgKGdldC1sYW5ndWFnZS1pbmZvIGxhbmd1YWdlLW5hbWUg J2RvY3VtZW50YXRpb24pKSkNCi0gICAgICAoZXJyb3IgIk5vIGRvY3VtZW50 YXRpb24gZm9yIHRoZSBzcGVjaWZpZWQgbGFuZ3VhZ2UiKSkNCi0gIChpZiAo c3ltYm9scCBsYW5ndWFnZS1uYW1lKQ0KLSAgICAgIChzZXRxIGxhbmd1YWdl LW5hbWUgKHN5bWJvbC1uYW1lIGxhbmd1YWdlLW5hbWUpKSkNCi0gIChkb2xp c3QgKGZlYXR1cmUgKGdldC1sYW5ndWFnZS1pbmZvIGxhbmd1YWdlLW5hbWUg J2ZlYXR1cmVzKSkNCi0gICAgKHJlcXVpcmUgZmVhdHVyZSkpDQotICAobGV0 ICgoZG9jIChnZXQtbGFuZ3VhZ2UtaW5mbyBsYW5ndWFnZS1uYW1lICdkb2N1 bWVudGF0aW9uKSkpDQotICAgIChoZWxwLXNldHVwLXhyZWYgKGxpc3QgIydk ZXNjcmliZS1sYW5ndWFnZS1lbnZpcm9ubWVudCBsYW5ndWFnZS1uYW1lKQ0K LQkJICAgICAoY2FsbGVkLWludGVyYWN0aXZlbHktcCAnaW50ZXJhY3RpdmUp KQ0KLSAgICAod2l0aC1vdXRwdXQtdG8tdGVtcC1idWZmZXIgKGhlbHAtYnVm ZmVyKQ0KLSAgICAgICh3aXRoLWN1cnJlbnQtYnVmZmVyIHN0YW5kYXJkLW91 dHB1dA0KLQkoaW5zZXJ0IGxhbmd1YWdlLW5hbWUgIiBsYW5ndWFnZSBlbnZp cm9ubWVudFxuXG4iKQ0KLQkoaWYgKHN0cmluZ3AgZG9jKQ0KLQkgICAgKGlu c2VydCAoc3Vic3RpdHV0ZS1jb21tYW5kLWtleXMgZG9jKSAiXG5cbiIpKQ0K LQkoY29uZGl0aW9uLWNhc2UgbmlsDQotCSAgICAobGV0ICgoc3RyIChldmFs IChnZXQtbGFuZ3VhZ2UtaW5mbyBsYW5ndWFnZS1uYW1lICdzYW1wbGUtdGV4 dCkpKSkNCi0JICAgICAgKGlmIChzdHJpbmdwIHN0cikNCi0JCSAgKGluc2Vy dCAiU2FtcGxlIHRleHQ6XG4gICINCi0JCQkgIChzdHJpbmctcmVwbGFjZSAi XG4iICJcbiAgIiBzdHIpDQotCQkJICAiXG5cbiIpKSkNCi0JICAoZXJyb3Ig bmlsKSkNCi0JKGxldCAoKGlucHV0LW1ldGhvZCAoZ2V0LWxhbmd1YWdlLWlu Zm8gbGFuZ3VhZ2UtbmFtZSAnaW5wdXQtbWV0aG9kKSkNCi0JICAgICAgKGwg KGNvcHktc2VxdWVuY2UgaW5wdXQtbWV0aG9kLWFsaXN0KSkNCi0JICAgICAg KGZpcnN0IHQpKQ0KLQkgICh3aGVuIChhbmQgaW5wdXQtbWV0aG9kDQotCQkg ICAgIChzZXRxIGlucHV0LW1ldGhvZCAoYXNzb2MgaW5wdXQtbWV0aG9kIGwp KSkNCi0JICAgIChpbnNlcnQgIklucHV0IG1ldGhvZHMgKGRlZmF1bHQgIiAo Y2FyIGlucHV0LW1ldGhvZCkgIilcbiIpDQotCSAgICAoc2V0cSBsIChjb25z IGlucHV0LW1ldGhvZCAoZGVsZXRlIGlucHV0LW1ldGhvZCBsKSkNCi0JCSAg Zmlyc3QgbmlsKSkNCi0JICAoZG9saXN0IChlbHQgbCkNCi0JICAgICh3aGVu IChvciAoZXEgaW5wdXQtbWV0aG9kIGVsdCkNCi0JCSAgICAgIChlcSB0IChj b21wYXJlLXN0cmluZ3MgbGFuZ3VhZ2UtbmFtZSBuaWwgbmlsDQotCQkJCQkg ICAgIChudGggMSBlbHQpIG5pbCBuaWwgdCkpKQ0KLQkgICAgICAod2hlbiBm aXJzdA0KLQkJKGluc2VydCAiSW5wdXQgbWV0aG9kczpcbiIpDQotCQkoc2V0 cSBmaXJzdCBuaWwpKQ0KLQkgICAgICAoaW5zZXJ0ICIgICIgKGNhciBlbHQp KQ0KLQkgICAgICAoc2VhcmNoLWJhY2t3YXJkIChjYXIgZWx0KSkNCi0JICAg ICAgKGhlbHAteHJlZi1idXR0b24gMCAnaGVscC1pbnB1dC1tZXRob2QgKGNh ciBlbHQpKQ0KLQkgICAgICAoZ290by1jaGFyIChwb2ludC1tYXgpKQ0KLQkg ICAgICAoaW5zZXJ0ICIgKFwiIg0KLQkJICAgICAgKGlmIChzdHJpbmdwIChu dGggMyBlbHQpKSAobnRoIDMgZWx0KSAoY2FyIChudGggMyBlbHQpKSkNCi0J CSAgICAgICJcIiBpbiBtb2RlIGxpbmUpXG4iKSkpDQotCSAgKG9yIGZpcnN0 DQotCSAgICAgIChpbnNlcnQgIlxuIikpKQ0KLQkoaW5zZXJ0ICJDaGFyYWN0 ZXIgc2V0czpcbiIpDQotCShsZXQgKChsIChnZXQtbGFuZ3VhZ2UtaW5mbyBs YW5ndWFnZS1uYW1lICdjaGFyc2V0KSkpDQotCSAgKGlmIChudWxsIGwpDQot CSAgICAgIChpbnNlcnQgIiAgbm90aGluZyBzcGVjaWZpYyB0byAiIGxhbmd1 YWdlLW5hbWUgIlxuIikNCi0JICAgICh3aGlsZSBsDQotCSAgICAgIChpbnNl cnQgIiAgIiAoc3ltYm9sLW5hbWUgKGNhciBsKSkpDQotCSAgICAgIChzZWFy Y2gtYmFja3dhcmQgKHN5bWJvbC1uYW1lIChjYXIgbCkpKQ0KLQkgICAgICAo aGVscC14cmVmLWJ1dHRvbiAwICdoZWxwLWNoYXJhY3Rlci1zZXQgKGNhciBs KSkNCi0JICAgICAgKGdvdG8tY2hhciAocG9pbnQtbWF4KSkNCi0JICAgICAg KGluc2VydCAiOiAiIChjaGFyc2V0LWRlc2NyaXB0aW9uIChjYXIgbCkpICJc biIpDQotCSAgICAgIChzZXRxIGwgKGNkciBsKSkpKSkNCi0JKGluc2VydCAi XG4iKQ0KLQkoaW5zZXJ0ICJDb2Rpbmcgc3lzdGVtczpcbiIpDQotCShsZXQg KChsIChnZXQtbGFuZ3VhZ2UtaW5mbyBsYW5ndWFnZS1uYW1lICdjb2Rpbmct c3lzdGVtKSkpDQotCSAgKGlmIChudWxsIGwpDQotCSAgICAgIChpbnNlcnQg IiAgbm90aGluZyBzcGVjaWZpYyB0byAiIGxhbmd1YWdlLW5hbWUgIlxuIikN Ci0JICAgICh3aGlsZSBsDQotCSAgICAgIChpbnNlcnQgIiAgIiAoc3ltYm9s LW5hbWUgKGNhciBsKSkpDQotCSAgICAgIChzZWFyY2gtYmFja3dhcmQgKHN5 bWJvbC1uYW1lIChjYXIgbCkpKQ0KLQkgICAgICAoaGVscC14cmVmLWJ1dHRv biAwICdoZWxwLWNvZGluZy1zeXN0ZW0gKGNhciBsKSkNCi0JICAgICAgKGdv dG8tY2hhciAocG9pbnQtbWF4KSkNCi0JICAgICAgKGluc2VydCAoc3Vic3Rp dHV0ZS1jb21tYW5kLWtleXMgIiAoYCIpDQotCQkgICAgICAoY29kaW5nLXN5 c3RlbS1tbmVtb25pYyAoY2FyIGwpKQ0KLQkJICAgICAgKHN1YnN0aXR1dGUt Y29tbWFuZC1rZXlzICInIGluIG1vZGUgbGluZSk6XG5cdCIpDQotICAgICAg ICAgICAgICAgICAgICAgIChzdWJzdGl0dXRlLWNvbW1hbmQta2V5cw0KLSAg ICAgICAgICAgICAgICAgICAgICAgKGNvZGluZy1zeXN0ZW0tZG9jLXN0cmlu ZyAoY2FyIGwpKSkNCi0JCSAgICAgICJcbiIpDQotCSAgICAgIChsZXQgKChh bGlhc2VzIChjb2Rpbmctc3lzdGVtLWFsaWFzZXMgKGNhciBsKSkpKQ0KLQkJ KHdoZW4gYWxpYXNlcw0KLQkJICAoaW5zZXJ0ICJcdChhbGlhczoiKQ0KLQkJ ICAod2hpbGUgYWxpYXNlcw0KLQkJICAgIChpbnNlcnQgIiAiIChzeW1ib2wt bmFtZSAoY2FyIGFsaWFzZXMpKSkNCi0JCSAgICAoc2V0cSBhbGlhc2VzIChj ZHIgYWxpYXNlcykpKQ0KLQkJICAoaW5zZXJ0ICIpXG4iKSkpDQotCSAgICAg IChzZXRxIGwgKGNkciBsKSkpKSkpKSkpDQorICAobGV0ICgoaGVscC1idWZm ZXItdW5kZXItcHJlcGFyYXRpb24gdCkpDQorICAgIChpZiAobnVsbCBsYW5n dWFnZS1uYW1lKQ0KKwkoc2V0cSBsYW5ndWFnZS1uYW1lIGN1cnJlbnQtbGFu Z3VhZ2UtZW52aXJvbm1lbnQpKQ0KKyAgICAoaWYgKG9yIChudWxsIGxhbmd1 YWdlLW5hbWUpDQorCSAgICAobnVsbCAoZ2V0LWxhbmd1YWdlLWluZm8gbGFu Z3VhZ2UtbmFtZSAnZG9jdW1lbnRhdGlvbikpKQ0KKwkoZXJyb3IgIk5vIGRv Y3VtZW50YXRpb24gZm9yIHRoZSBzcGVjaWZpZWQgbGFuZ3VhZ2UiKSkNCisg ICAgKGlmIChzeW1ib2xwIGxhbmd1YWdlLW5hbWUpDQorCShzZXRxIGxhbmd1 YWdlLW5hbWUgKHN5bWJvbC1uYW1lIGxhbmd1YWdlLW5hbWUpKSkNCisgICAg KGRvbGlzdCAoZmVhdHVyZSAoZ2V0LWxhbmd1YWdlLWluZm8gbGFuZ3VhZ2Ut bmFtZSAnZmVhdHVyZXMpKQ0KKyAgICAgIChyZXF1aXJlIGZlYXR1cmUpKQ0K KyAgICAobGV0ICgoZG9jIChnZXQtbGFuZ3VhZ2UtaW5mbyBsYW5ndWFnZS1u YW1lICdkb2N1bWVudGF0aW9uKSkpDQorICAgICAgKGhlbHAtc2V0dXAteHJl ZiAobGlzdCAjJ2Rlc2NyaWJlLWxhbmd1YWdlLWVudmlyb25tZW50IGxhbmd1 YWdlLW5hbWUpDQorCQkgICAgICAgKGNhbGxlZC1pbnRlcmFjdGl2ZWx5LXAg J2ludGVyYWN0aXZlKSkNCisgICAgICAod2l0aC1vdXRwdXQtdG8tdGVtcC1i dWZmZXIgKGhlbHAtYnVmZmVyKQ0KKwkod2l0aC1jdXJyZW50LWJ1ZmZlciBz dGFuZGFyZC1vdXRwdXQNCisJICAoaW5zZXJ0IGxhbmd1YWdlLW5hbWUgIiBs YW5ndWFnZSBlbnZpcm9ubWVudFxuXG4iKQ0KKwkgIChpZiAoc3RyaW5ncCBk b2MpDQorCSAgICAgIChpbnNlcnQgKHN1YnN0aXR1dGUtY29tbWFuZC1rZXlz IGRvYykgIlxuXG4iKSkNCisJICAoY29uZGl0aW9uLWNhc2UgbmlsDQorCSAg ICAgIChsZXQgKChzdHIgKGV2YWwgKGdldC1sYW5ndWFnZS1pbmZvIGxhbmd1 YWdlLW5hbWUgJ3NhbXBsZS10ZXh0KSkpKQ0KKwkJKGlmIChzdHJpbmdwIHN0 cikNCisJCSAgICAoaW5zZXJ0ICJTYW1wbGUgdGV4dDpcbiAgIg0KKwkJCSAg ICAoc3RyaW5nLXJlcGxhY2UgIlxuIiAiXG4gICIgc3RyKQ0KKwkJCSAgICAi XG5cbiIpKSkNCisJICAgIChlcnJvciBuaWwpKQ0KKwkgIChsZXQgKChpbnB1 dC1tZXRob2QgKGdldC1sYW5ndWFnZS1pbmZvIGxhbmd1YWdlLW5hbWUgJ2lu cHV0LW1ldGhvZCkpDQorCQkobCAoY29weS1zZXF1ZW5jZSBpbnB1dC1tZXRo b2QtYWxpc3QpKQ0KKwkJKGZpcnN0IHQpKQ0KKwkgICAgKHdoZW4gKGFuZCBp bnB1dC1tZXRob2QNCisJCSAgICAgICAoc2V0cSBpbnB1dC1tZXRob2QgKGFz c29jIGlucHV0LW1ldGhvZCBsKSkpDQorCSAgICAgIChpbnNlcnQgIklucHV0 IG1ldGhvZHMgKGRlZmF1bHQgIiAoY2FyIGlucHV0LW1ldGhvZCkgIilcbiIp DQorCSAgICAgIChzZXRxIGwgKGNvbnMgaW5wdXQtbWV0aG9kIChkZWxldGUg aW5wdXQtbWV0aG9kIGwpKQ0KKwkJICAgIGZpcnN0IG5pbCkpDQorCSAgICAo ZG9saXN0IChlbHQgbCkNCisJICAgICAgKHdoZW4gKG9yIChlcSBpbnB1dC1t ZXRob2QgZWx0KQ0KKwkJCShlcSB0IChjb21wYXJlLXN0cmluZ3MgbGFuZ3Vh Z2UtbmFtZSBuaWwgbmlsDQorCQkJCQkgICAgICAgKG50aCAxIGVsdCkgbmls IG5pbCB0KSkpDQorCQkod2hlbiBmaXJzdA0KKwkJICAoaW5zZXJ0ICJJbnB1 dCBtZXRob2RzOlxuIikNCisJCSAgKHNldHEgZmlyc3QgbmlsKSkNCisJCShp bnNlcnQgIiAgIiAoY2FyIGVsdCkpDQorCQkoc2VhcmNoLWJhY2t3YXJkIChj YXIgZWx0KSkNCisJCShoZWxwLXhyZWYtYnV0dG9uIDAgJ2hlbHAtaW5wdXQt bWV0aG9kIChjYXIgZWx0KSkNCisJCShnb3RvLWNoYXIgKHBvaW50LW1heCkp DQorCQkoaW5zZXJ0ICIgKFwiIg0KKwkJCShpZiAoc3RyaW5ncCAobnRoIDMg ZWx0KSkgKG50aCAzIGVsdCkgKGNhciAobnRoIDMgZWx0KSkpDQorCQkJIlwi IGluIG1vZGUgbGluZSlcbiIpKSkNCisJICAgIChvciBmaXJzdA0KKwkJKGlu c2VydCAiXG4iKSkpDQorCSAgKGluc2VydCAiQ2hhcmFjdGVyIHNldHM6XG4i KQ0KKwkgIChsZXQgKChsIChnZXQtbGFuZ3VhZ2UtaW5mbyBsYW5ndWFnZS1u YW1lICdjaGFyc2V0KSkpDQorCSAgICAoaWYgKG51bGwgbCkNCisJCShpbnNl cnQgIiAgbm90aGluZyBzcGVjaWZpYyB0byAiIGxhbmd1YWdlLW5hbWUgIlxu IikNCisJICAgICAgKHdoaWxlIGwNCisJCShpbnNlcnQgIiAgIiAoc3ltYm9s LW5hbWUgKGNhciBsKSkpDQorCQkoc2VhcmNoLWJhY2t3YXJkIChzeW1ib2wt bmFtZSAoY2FyIGwpKSkNCisJCShoZWxwLXhyZWYtYnV0dG9uIDAgJ2hlbHAt Y2hhcmFjdGVyLXNldCAoY2FyIGwpKQ0KKwkJKGdvdG8tY2hhciAocG9pbnQt bWF4KSkNCisJCShpbnNlcnQgIjogIiAoY2hhcnNldC1kZXNjcmlwdGlvbiAo Y2FyIGwpKSAiXG4iKQ0KKwkJKHNldHEgbCAoY2RyIGwpKSkpKQ0KKwkgIChp bnNlcnQgIlxuIikNCisJICAoaW5zZXJ0ICJDb2Rpbmcgc3lzdGVtczpcbiIp DQorCSAgKGxldCAoKGwgKGdldC1sYW5ndWFnZS1pbmZvIGxhbmd1YWdlLW5h bWUgJ2NvZGluZy1zeXN0ZW0pKSkNCisJICAgIChpZiAobnVsbCBsKQ0KKwkJ KGluc2VydCAiICBub3RoaW5nIHNwZWNpZmljIHRvICIgbGFuZ3VhZ2UtbmFt ZSAiXG4iKQ0KKwkgICAgICAod2hpbGUgbA0KKwkJKGluc2VydCAiICAiIChz eW1ib2wtbmFtZSAoY2FyIGwpKSkNCisJCShzZWFyY2gtYmFja3dhcmQgKHN5 bWJvbC1uYW1lIChjYXIgbCkpKQ0KKwkJKGhlbHAteHJlZi1idXR0b24gMCAn aGVscC1jb2Rpbmctc3lzdGVtIChjYXIgbCkpDQorCQkoZ290by1jaGFyIChw b2ludC1tYXgpKQ0KKwkJKGluc2VydCAoc3Vic3RpdHV0ZS1jb21tYW5kLWtl eXMgIiAoYCIpDQorCQkJKGNvZGluZy1zeXN0ZW0tbW5lbW9uaWMgKGNhciBs KSkNCisJCQkoc3Vic3RpdHV0ZS1jb21tYW5kLWtleXMgIicgaW4gbW9kZSBs aW5lKTpcblx0IikNCisJCQkoc3Vic3RpdHV0ZS1jb21tYW5kLWtleXMNCisJ CQkgKGNvZGluZy1zeXN0ZW0tZG9jLXN0cmluZyAoY2FyIGwpKSkNCisJCQki XG4iKQ0KKwkJKGxldCAoKGFsaWFzZXMgKGNvZGluZy1zeXN0ZW0tYWxpYXNl cyAoY2FyIGwpKSkpDQorCQkgICh3aGVuIGFsaWFzZXMNCisJCSAgICAoaW5z ZXJ0ICJcdChhbGlhczoiKQ0KKwkJICAgICh3aGlsZSBhbGlhc2VzDQorCQkg ICAgICAoaW5zZXJ0ICIgIiAoc3ltYm9sLW5hbWUgKGNhciBhbGlhc2VzKSkp DQorCQkgICAgICAoc2V0cSBhbGlhc2VzIChjZHIgYWxpYXNlcykpKQ0KKwkJ ICAgIChpbnNlcnQgIilcbiIpKSkNCisJCShzZXRxIGwgKGNkciBsKSkpKSkp KSkpKQ0KIAwNCiA7OzsgTG9jYWxlcy4NCiANCmRpZmYgLS1naXQgYS9saXNw L2ludGVybmF0aW9uYWwvbXVsZS1kaWFnLmVsIGIvbGlzcC9pbnRlcm5hdGlv bmFsL211bGUtZGlhZy5lbA0KaW5kZXggNWNjNzNlNDM2Ny4uZWZiOTI5NmMx MSAxMDA2NDQNCi0tLSBhL2xpc3AvaW50ZXJuYXRpb25hbC9tdWxlLWRpYWcu ZWwNCisrKyBiL2xpc3AvaW50ZXJuYXRpb25hbC9tdWxlLWRpYWcuZWwNCkBA IC0yOTksNjUgKzI5OSw2NiBAQCBsaXN0LWNoYXJzZXQtY2hhcnMNCiAoZGVm dW4gZGVzY3JpYmUtY2hhcmFjdGVyLXNldCAoY2hhcnNldCkNCiAgICJEaXNw bGF5IGluZm9ybWF0aW9uIGFib3V0IGJ1aWx0LWluIGNoYXJhY3RlciBzZXQg Q0hBUlNFVC4iDQogICAoaW50ZXJhY3RpdmUgKGxpc3QgKHJlYWQtY2hhcnNl dCAiQ2hhcnNldDogIikpKQ0KLSAgKG9yIChjaGFyc2V0cCBjaGFyc2V0KQ0K LSAgICAgIChlcnJvciAiSW52YWxpZCBjaGFyc2V0OiAlUyIgY2hhcnNldCkp DQotICAoaGVscC1zZXR1cC14cmVmIChsaXN0ICMnZGVzY3JpYmUtY2hhcmFj dGVyLXNldCBjaGFyc2V0KQ0KLQkJICAgKGNhbGxlZC1pbnRlcmFjdGl2ZWx5 LXAgJ2ludGVyYWN0aXZlKSkNCi0gICh3aXRoLW91dHB1dC10by10ZW1wLWJ1 ZmZlciAoaGVscC1idWZmZXIpDQotICAgICh3aXRoLWN1cnJlbnQtYnVmZmVy IHN0YW5kYXJkLW91dHB1dA0KLSAgICAgIChpbnNlcnQgIkNoYXJhY3RlciBz ZXQ6ICIgKHN5bWJvbC1uYW1lIGNoYXJzZXQpKQ0KLSAgICAgIChsZXQgKChu YW1lIChnZXQtY2hhcnNldC1wcm9wZXJ0eSBjaGFyc2V0IDpuYW1lKSkpDQot CShpZiAobm90IChlcSBuYW1lIGNoYXJzZXQpKQ0KLQkgICAgKGluc2VydCAi IChhbGlhcyBvZiAiIChzeW1ib2wtbmFtZSBuYW1lKSA/XCkpKSkNCi0gICAg ICAoaW5zZXJ0ICJcblxuIiAoY2hhcnNldC1kZXNjcmlwdGlvbiBjaGFyc2V0 KSAiXG5cbiIpDQotICAgICAgKGluc2VydCAiTnVtYmVyIG9mIGNvbnRhaW5l ZCBjaGFyYWN0ZXJzOiAiKQ0KLSAgICAgIChkb3RpbWVzIChpIChjaGFyc2V0 LWRpbWVuc2lvbiBjaGFyc2V0KSkNCi0JKHVubGVzcyAoPSBpIDApDQotCSAg KGluc2VydCA/eCkpDQotCShpbnNlcnQgKGZvcm1hdCAiJWQiIChjaGFyc2V0 LWNoYXJzIGNoYXJzZXQgKDErIGkpKSkpKQ0KLSAgICAgIChpbnNlcnQgP1xu KQ0KLSAgICAgIChsZXQgKChjaGFyIChjaGFyc2V0LWlzby1maW5hbC1jaGFy IGNoYXJzZXQpKSkNCi0JKHdoZW4gKD4gY2hhciAwKQ0KLQkgIChpbnNlcnQg IkZpbmFsIGNoYXIgb2YgSVNPMjAyMiBkZXNpZ25hdGlvbiBzZXF1ZW5jZTog IikNCi0JICAoaW5zZXJ0IChmb3JtYXQtbWVzc2FnZSAiYCVjJ1xuIiBjaGFy KSkpKQ0KLSAgICAgIChsZXQgKGFsaWFzZXMpDQotCShkb2xpc3QgKGMgY2hh cnNldC1saXN0KQ0KLQkgIChpZiAoYW5kIChub3QgKGVxIGMgY2hhcnNldCkp DQotCQkgICAoZXEgY2hhcnNldCAoZ2V0LWNoYXJzZXQtcHJvcGVydHkgYyA6 bmFtZSkpKQ0KLQkgICAgICAocHVzaCBjIGFsaWFzZXMpKSkNCi0JKGlmIGFs aWFzZXMNCi0JICAgIChpbnNlcnQgIkFsaWFzZXM6ICIgKG1hcGNvbmNhdCAj J3N5bWJvbC1uYW1lIGFsaWFzZXMgIiwgIikgP1xuKSkpDQotDQotICAgICAg KGRvbGlzdCAoZWx0IGAoKDphc2NpaS1jb21wYXRpYmxlLXAgIkFTQ0lJIGNv bXBhdGlibGUuIiBuaWwpDQotCQkgICAgICg6bWFwICJNYXAgZmlsZTogIiBp ZGVudGl0eSkNCi0JCSAgICAgKDp1bmlmeS1tYXAgIlVuaWZpY2F0aW9uIG1h cCBmaWxlOiAiIGlkZW50aXR5KQ0KLQkJICAgICAoOmludmFsaWQtY29kZQ0K LQkJICAgICAgbmlsDQotCQkgICAgICAsKGxhbWJkYSAoYykNCi0JCQkgKGZv cm1hdCAiSW52YWxpZCBjaGFyYWN0ZXI6ICVjIChjb2RlICVkKSIgYyBjKSkp DQotCQkgICAgICg6ZW1hY3MtbXVsZS1pZCAiSWQgaW4gZW1hY3MtbXVsZSBj b2Rpbmcgc3lzdGVtOiAiDQotCQkJCSAgICAgbnVtYmVyLXRvLXN0cmluZykN Ci0JCSAgICAgKDpwYXJlbnRzICJQYXJlbnRzOiAiDQotCQkJICAgICAgIChs YW1iZGEgKHBhcmVudHMpDQotCQkJCSAobWFwY29uY2F0ICwobGFtYmRhIChl bHQpDQotCQkJCQkgICAgICAgKGZvcm1hdCAiJXMiIGVsdCkpDQotCQkJCQkg ICAgcGFyZW50cw0KLQkJCQkJICAgICIsICIpKSkNCi0JCSAgICAgKDpjb2Rl LXNwYWNlICJDb2RlIHNwYWNlOiAiICwobGFtYmRhIChjKQ0KLQkJCQkJCSAg ICAoZm9ybWF0ICIlcyIgYykpKQ0KLQkJICAgICAoOmNvZGUtb2Zmc2V0ICJD b2RlIG9mZnNldDogIiBudW1iZXItdG8tc3RyaW5nKQ0KLQkJICAgICAoOmlz by1yZXZpc2lvbi1udW1iZXIgIklTTyByZXZpc2lvbiBudW1iZXI6ICINCi0J CQkJCSAgIG51bWJlci10by1zdHJpbmcpDQotCQkgICAgICg6c3VwcGxlbWVu dGFyeS1wDQotCQkgICAgICAiVXNlZCBvbmx5IGFzIGEgcGFyZW50IG9yIGEg c3Vic2V0IG9mIHNvbWUgb3RoZXIgY2hhcnNldCwNCisgIChsZXQgKChoZWxw LWJ1ZmZlci11bmRlci1wcmVwYXJhdGlvbiB0KSkNCisgICAgKG9yIChjaGFy c2V0cCBjaGFyc2V0KQ0KKwkoZXJyb3IgIkludmFsaWQgY2hhcnNldDogJVMi IGNoYXJzZXQpKQ0KKyAgICAoaGVscC1zZXR1cC14cmVmIChsaXN0ICMnZGVz Y3JpYmUtY2hhcmFjdGVyLXNldCBjaGFyc2V0KQ0KKwkJICAgICAoY2FsbGVk LWludGVyYWN0aXZlbHktcCAnaW50ZXJhY3RpdmUpKQ0KKyAgICAod2l0aC1v dXRwdXQtdG8tdGVtcC1idWZmZXIgKGhlbHAtYnVmZmVyKQ0KKyAgICAgICh3 aXRoLWN1cnJlbnQtYnVmZmVyIHN0YW5kYXJkLW91dHB1dA0KKwkoaW5zZXJ0 ICJDaGFyYWN0ZXIgc2V0OiAiIChzeW1ib2wtbmFtZSBjaGFyc2V0KSkNCisJ KGxldCAoKG5hbWUgKGdldC1jaGFyc2V0LXByb3BlcnR5IGNoYXJzZXQgOm5h bWUpKSkNCisJICAoaWYgKG5vdCAoZXEgbmFtZSBjaGFyc2V0KSkNCisJICAg ICAgKGluc2VydCAiIChhbGlhcyBvZiAiIChzeW1ib2wtbmFtZSBuYW1lKSA/ XCkpKSkNCisJKGluc2VydCAiXG5cbiIgKGNoYXJzZXQtZGVzY3JpcHRpb24g Y2hhcnNldCkgIlxuXG4iKQ0KKwkoaW5zZXJ0ICJOdW1iZXIgb2YgY29udGFp bmVkIGNoYXJhY3RlcnM6ICIpDQorCShkb3RpbWVzIChpIChjaGFyc2V0LWRp bWVuc2lvbiBjaGFyc2V0KSkNCisJICAodW5sZXNzICg9IGkgMCkNCisJICAg IChpbnNlcnQgP3gpKQ0KKwkgIChpbnNlcnQgKGZvcm1hdCAiJWQiIChjaGFy c2V0LWNoYXJzIGNoYXJzZXQgKDErIGkpKSkpKQ0KKwkoaW5zZXJ0ID9cbikN CisJKGxldCAoKGNoYXIgKGNoYXJzZXQtaXNvLWZpbmFsLWNoYXIgY2hhcnNl dCkpKQ0KKwkgICh3aGVuICg+IGNoYXIgMCkNCisJICAgIChpbnNlcnQgIkZp bmFsIGNoYXIgb2YgSVNPMjAyMiBkZXNpZ25hdGlvbiBzZXF1ZW5jZTogIikN CisJICAgIChpbnNlcnQgKGZvcm1hdC1tZXNzYWdlICJgJWMnXG4iIGNoYXIp KSkpDQorCShsZXQgKGFsaWFzZXMpDQorCSAgKGRvbGlzdCAoYyBjaGFyc2V0 LWxpc3QpDQorCSAgICAoaWYgKGFuZCAobm90IChlcSBjIGNoYXJzZXQpKQ0K KwkJICAgICAoZXEgY2hhcnNldCAoZ2V0LWNoYXJzZXQtcHJvcGVydHkgYyA6 bmFtZSkpKQ0KKwkJKHB1c2ggYyBhbGlhc2VzKSkpDQorCSAgKGlmIGFsaWFz ZXMNCisJICAgICAgKGluc2VydCAiQWxpYXNlczogIiAobWFwY29uY2F0ICMn c3ltYm9sLW5hbWUgYWxpYXNlcyAiLCAiKSA/XG4pKSkNCisNCisJKGRvbGlz dCAoZWx0IGAoKDphc2NpaS1jb21wYXRpYmxlLXAgIkFTQ0lJIGNvbXBhdGli bGUuIiBuaWwpDQorCQkgICAgICAgKDptYXAgIk1hcCBmaWxlOiAiIGlkZW50 aXR5KQ0KKwkJICAgICAgICg6dW5pZnktbWFwICJVbmlmaWNhdGlvbiBtYXAg ZmlsZTogIiBpZGVudGl0eSkNCisJCSAgICAgICAoOmludmFsaWQtY29kZQ0K KwkJCW5pbA0KKwkJCSwobGFtYmRhIChjKQ0KKwkJCSAgIChmb3JtYXQgIklu dmFsaWQgY2hhcmFjdGVyOiAlYyAoY29kZSAlZCkiIGMgYykpKQ0KKwkJICAg ICAgICg6ZW1hY3MtbXVsZS1pZCAiSWQgaW4gZW1hY3MtbXVsZSBjb2Rpbmcg c3lzdGVtOiAiDQorCQkJCSAgICAgICBudW1iZXItdG8tc3RyaW5nKQ0KKwkJ ICAgICAgICg6cGFyZW50cyAiUGFyZW50czogIg0KKwkJCQkgKGxhbWJkYSAo cGFyZW50cykNCisJCQkJICAgKG1hcGNvbmNhdCAsKGxhbWJkYSAoZWx0KQ0K KwkJCQkJCSAoZm9ybWF0ICIlcyIgZWx0KSkNCisJCQkJCSAgICAgIHBhcmVu dHMNCisJCQkJCSAgICAgICIsICIpKSkNCisJCSAgICAgICAoOmNvZGUtc3Bh Y2UgIkNvZGUgc3BhY2U6ICIgLChsYW1iZGEgKGMpDQorCQkJCQkJICAgICAg KGZvcm1hdCAiJXMiIGMpKSkNCisJCSAgICAgICAoOmNvZGUtb2Zmc2V0ICJD b2RlIG9mZnNldDogIiBudW1iZXItdG8tc3RyaW5nKQ0KKwkJICAgICAgICg6 aXNvLXJldmlzaW9uLW51bWJlciAiSVNPIHJldmlzaW9uIG51bWJlcjogIg0K KwkJCQkJICAgICBudW1iZXItdG8tc3RyaW5nKQ0KKwkJICAgICAgICg6c3Vw cGxlbWVudGFyeS1wDQorCQkJIlVzZWQgb25seSBhcyBhIHBhcmVudCBvciBh IHN1YnNldCBvZiBzb21lIG90aGVyIGNoYXJzZXQsDQogb3IgcHJvdmlkZWQg anVzdCBmb3IgYmFja3dhcmQgY29tcGF0aWJpbGl0eS4iIG5pbCkpKQ0KLQko bGV0ICgodmFsIChnZXQtY2hhcnNldC1wcm9wZXJ0eSBjaGFyc2V0IChjYXIg ZWx0KSkpKQ0KLQkgICh3aGVuIHZhbA0KLQkgICAgKGlmIChjYWRyIGVsdCkg KGluc2VydCAoY2FkciBlbHQpKSkNCi0JICAgIChpZiAobnRoIDIgZWx0KQ0K LQkJKGxldCAoKHByaW50LWxlbmd0aCAxMCkgKHByaW50LWxldmVsIDIpKQ0K LQkJICAocHJpbmMgKGZ1bmNhbGwgKG50aCAyIGVsdCkgdmFsKSAoY3VycmVu dC1idWZmZXIpKSkpDQotCSAgICAoaW5zZXJ0ID9cbikpKSkpKSkNCisJICAo bGV0ICgodmFsIChnZXQtY2hhcnNldC1wcm9wZXJ0eSBjaGFyc2V0IChjYXIg ZWx0KSkpKQ0KKwkgICAgKHdoZW4gdmFsDQorCSAgICAgIChpZiAoY2FkciBl bHQpIChpbnNlcnQgKGNhZHIgZWx0KSkpDQorCSAgICAgIChpZiAobnRoIDIg ZWx0KQ0KKwkJICAobGV0ICgocHJpbnQtbGVuZ3RoIDEwKSAocHJpbnQtbGV2 ZWwgMikpDQorCQkgICAgKHByaW5jIChmdW5jYWxsIChudGggMiBlbHQpIHZh bCkgKGN1cnJlbnQtYnVmZmVyKSkpKQ0KKwkgICAgICAoaW5zZXJ0ID9cbikp KSkpKSkpDQogDA0KIDs7OyBDT0RJTkctU1lTVEVNDQogDQpAQCAtNDA2LDg5 ICs0MDcsOTAgQEAgcHJpbnQtZGVzaWduYXRpb24NCiAoZGVmdW4gZGVzY3Jp YmUtY29kaW5nLXN5c3RlbSAoY29kaW5nLXN5c3RlbSkNCiAgICJEaXNwbGF5 IGluZm9ybWF0aW9uIGFib3V0IENPRElORy1TWVNURU0uIg0KICAgKGludGVy YWN0aXZlICJ6RGVzY3JpYmUgY29kaW5nIHN5c3RlbSAoZGVmYXVsdCBjdXJy ZW50IGNob2ljZXMpOiAiKQ0KLSAgKGlmIChudWxsIGNvZGluZy1zeXN0ZW0p DQotICAgICAgKGRlc2NyaWJlLWN1cnJlbnQtY29kaW5nLXN5c3RlbSkNCi0g ICAgKGhlbHAtc2V0dXAteHJlZiAobGlzdCAjJ2Rlc2NyaWJlLWNvZGluZy1z eXN0ZW0gY29kaW5nLXN5c3RlbSkNCi0JCSAgICAgKGNhbGxlZC1pbnRlcmFj dGl2ZWx5LXAgJ2ludGVyYWN0aXZlKSkNCi0gICAgKHdpdGgtb3V0cHV0LXRv LXRlbXAtYnVmZmVyIChoZWxwLWJ1ZmZlcikNCi0gICAgICAocHJpbnQtY29k aW5nLXN5c3RlbS1icmllZmx5IGNvZGluZy1zeXN0ZW0gJ2RvYy1zdHJpbmcp DQotICAgICAgKGxldCAoKHR5cGUgKGNvZGluZy1zeXN0ZW0tdHlwZSBjb2Rp bmctc3lzdGVtKSkNCi0JICAgIDs7IEZpeG1lOiB1c2UgdGhpcw0KLQkgICAg OzsgKGV4dHJhLXNwZWMgKGNvZGluZy1zeXN0ZW0tcGxpc3QgY29kaW5nLXN5 c3RlbSkpDQotCSAgICApDQotCShwcmluYyAiVHlwZTogIikNCi0JKHByaW5j IHR5cGUpDQotCShjb25kICgoZXEgdHlwZSAndW5kZWNpZGVkKQ0KLQkgICAg ICAgKHByaW5jICIgKGRvIGF1dG9tYXRpYyBjb252ZXJzaW9uKSIpKQ0KLQkg ICAgICAoKGVxIHR5cGUgJ3V0Zi04KQ0KLQkgICAgICAgKHByaW5jICIgKFVU Ri04OiBFbWFjcyBpbnRlcm5hbCBtdWx0aWJ5dGUgZm9ybSkiKSkNCi0JICAg ICAgKChlcSB0eXBlICd1dGYtMTYpDQotCSAgICAgICA7OyAocHJpbmMgIiAo VVRGLTE2KSIpDQotCSAgICAgICApDQotCSAgICAgICgoZXEgdHlwZSAnc2hp ZnQtamlzKQ0KLQkgICAgICAgKHByaW5jICIgKFNoaWZ0LUpJUywgTVMtS0FO SkkpIikpDQotCSAgICAgICgoZXEgdHlwZSAnaXNvLTIwMjIpDQotCSAgICAg ICAocHJpbmMgIiAodmFyaWFudCBvZiBJU08tMjAyMilcbiIpDQotCSAgICAg ICAocHJpbmMgIkluaXRpYWwgZGVzaWduYXRpb25zOlxuIikNCi0JICAgICAg IChwcmludC1kZXNpZ25hdGlvbiAoY29kaW5nLXN5c3RlbS1nZXQgY29kaW5n LXN5c3RlbQ0KLQkJCQkJCSAgICAgOmRlc2lnbmF0aW9uKSkNCi0NCi0JICAg ICAgICh3aGVuIChjb2Rpbmctc3lzdGVtLWdldCBjb2Rpbmctc3lzdGVtIDpm bGFncykNCi0JCSAocHJpbmMgIk90aGVyIHNwZWNpZmljYXRpb25zOiBcbiAg IikNCi0JCSAoYXBwbHkgIydwcmludC1saXN0DQotCQkJKGNvZGluZy1zeXN0 ZW0tZ2V0IGNvZGluZy1zeXN0ZW0gOmZsYWdzKSkpKQ0KLQkgICAgICAoKGVx IHR5cGUgJ2NoYXJzZXQpDQotCSAgICAgICAocHJpbmMgIiAoY2hhcnNldCki KSkNCi0JICAgICAgKChlcSB0eXBlICdjY2wpDQotCSAgICAgICAocHJpbmMg IiAoZG8gY29udmVyc2lvbiBieSBDQ0wgcHJvZ3JhbSkiKSkNCi0JICAgICAg KChlcSB0eXBlICdyYXctdGV4dCkNCi0JICAgICAgIChwcmluYyAiICh0ZXh0 IHdpdGggcmFuZG9tIGJpbmFyeSBjaGFyYWN0ZXJzKSIpKQ0KLQkgICAgICAo KGVxIHR5cGUgJ2VtYWNzLW11bGUpDQotCSAgICAgICAocHJpbmMgIiAoRW1h Y3MgMjEgaW50ZXJuYWwgZW5jb2RpbmcpIikpDQotCSAgICAgICgoZXEgdHlw ZSAnYmlnNSkpDQotCSAgICAgICh0IChwcmluYyAiOiBpbnZhbGlkIGNvZGlu Zy1zeXN0ZW0uIikpKQ0KLQkocHJpbmMgIlxuRU9MIHR5cGU6ICIpDQotCShs ZXQgKChlb2wtdHlwZSAoY29kaW5nLXN5c3RlbS1lb2wtdHlwZSBjb2Rpbmct c3lzdGVtKSkpDQotCSAgKGNvbmQgKCh2ZWN0b3JwIGVvbC10eXBlKQ0KLQkJ IChwcmluYyAiQXV0b21hdGljIHNlbGVjdGlvbiBmcm9tOlxuXHQiKQ0KLQkJ IChwcmluYyBlb2wtdHlwZSkNCi0JCSAocHJpbmMgIlxuIikpDQotCQkoKG9y IChudWxsIGVvbC10eXBlKSAoZXEgZW9sLXR5cGUgMCkpIChwcmluYyAiTEZc biIpKQ0KLQkJKChlcSBlb2wtdHlwZSAxKSAocHJpbmMgIkNSTEZcbiIpKQ0K LQkJKChlcSBlb2wtdHlwZSAyKSAocHJpbmMgIkNSXG4iKSkNCi0JCSh0IChw cmluYyAiaW52YWxpZFxuIikpKSkpDQotICAgICAgKGxldCAoKHBvc3RyZWFk IChjb2Rpbmctc3lzdGVtLWdldCBjb2Rpbmctc3lzdGVtIDpwb3N0LXJlYWQt Y29udmVyc2lvbikpKQ0KLQkod2hlbiBwb3N0cmVhZA0KLQkgIChwcmluYyAi QWZ0ZXIgZGVjb2RpbmcgdGV4dCBub3JtYWxseSwiKQ0KLQkgIChwcmluYyAi IHBlcmZvcm0gcG9zdC1jb252ZXJzaW9uIHVzaW5nIHRoZSBmdW5jdGlvbjog IikNCi0JICAocHJpbmMgIlxuICAiKQ0KLQkgIChwcmluYyBwb3N0cmVhZCkN Ci0JICAocHJpbmMgIlxuIikpKQ0KLSAgICAgIChsZXQgKChwcmV3cml0ZSAo Y29kaW5nLXN5c3RlbS1nZXQgY29kaW5nLXN5c3RlbSA6cHJlLXdyaXRlLWNv bnZlcnNpb24pKSkNCi0JKHdoZW4gcHJld3JpdGUNCi0JICAocHJpbmMgIkJl Zm9yZSBlbmNvZGluZyB0ZXh0IG5vcm1hbGx5LCIpDQotCSAgKHByaW5jICIg cGVyZm9ybSBwcmUtY29udmVyc2lvbiB1c2luZyB0aGUgZnVuY3Rpb246ICIp DQotCSAgKHByaW5jICJcbiAgIikNCi0JICAocHJpbmMgcHJld3JpdGUpDQot CSAgKHByaW5jICJcbiIpKSkNCi0gICAgICAod2l0aC1jdXJyZW50LWJ1ZmZl ciBzdGFuZGFyZC1vdXRwdXQNCi0JKGxldCAoKGNoYXJzZXRzIChjb2Rpbmct c3lzdGVtLWNoYXJzZXQtbGlzdCBjb2Rpbmctc3lzdGVtKSkpDQotCSAgKHdo ZW4gKGFuZCAobm90IChlcSAoY29kaW5nLXN5c3RlbS1iYXNlIGNvZGluZy1z eXN0ZW0pICdyYXctdGV4dCkpDQotCQkgICAgIGNoYXJzZXRzKQ0KLQkgICAg KGNvbmQNCi0JICAgICAoKGVxIGNoYXJzZXRzICdpc28tMjAyMikNCi0JICAg ICAgKGluc2VydCAiVGhpcyBjb2Rpbmcgc3lzdGVtIGNhbiBlbmNvZGUgYWxs IElTTyAyMDIyIGNoYXJzZXRzLiIpKQ0KLQkgICAgICgoZXEgY2hhcnNldHMg J2VtYWNzLW11bGUpDQotCSAgICAgIChpbnNlcnQgIlRoaXMgY29kaW5nIHN5 c3RlbSBjYW4gZW5jb2RlIGFsbCBlbWFjcy1tdWxlIGNoYXJzZXRzXA0KKyAg KGxldCAoKGhlbHAtYnVmZmVyLXVuZGVyLXByZXBhcmF0aW9uIHQpKQ0KKyAg ICAoaWYgKG51bGwgY29kaW5nLXN5c3RlbSkNCisJKGRlc2NyaWJlLWN1cnJl bnQtY29kaW5nLXN5c3RlbSkNCisgICAgICAoaGVscC1zZXR1cC14cmVmIChs aXN0ICMnZGVzY3JpYmUtY29kaW5nLXN5c3RlbSBjb2Rpbmctc3lzdGVtKQ0K KwkJICAgICAgIChjYWxsZWQtaW50ZXJhY3RpdmVseS1wICdpbnRlcmFjdGl2 ZSkpDQorICAgICAgKHdpdGgtb3V0cHV0LXRvLXRlbXAtYnVmZmVyIChoZWxw LWJ1ZmZlcikNCisJKHByaW50LWNvZGluZy1zeXN0ZW0tYnJpZWZseSBjb2Rp bmctc3lzdGVtICdkb2Mtc3RyaW5nKQ0KKwkobGV0ICgodHlwZSAoY29kaW5n LXN5c3RlbS10eXBlIGNvZGluZy1zeXN0ZW0pKQ0KKwkgICAgICA7OyBGaXht ZTogdXNlIHRoaXMNCisJICAgICAgOzsgKGV4dHJhLXNwZWMgKGNvZGluZy1z eXN0ZW0tcGxpc3QgY29kaW5nLXN5c3RlbSkpDQorCSAgICAgICkNCisJICAo cHJpbmMgIlR5cGU6ICIpDQorCSAgKHByaW5jIHR5cGUpDQorCSAgKGNvbmQg KChlcSB0eXBlICd1bmRlY2lkZWQpDQorCQkgKHByaW5jICIgKGRvIGF1dG9t YXRpYyBjb252ZXJzaW9uKSIpKQ0KKwkJKChlcSB0eXBlICd1dGYtOCkNCisJ CSAocHJpbmMgIiAoVVRGLTg6IEVtYWNzIGludGVybmFsIG11bHRpYnl0ZSBm b3JtKSIpKQ0KKwkJKChlcSB0eXBlICd1dGYtMTYpDQorCQkgOzsgKHByaW5j ICIgKFVURi0xNikiKQ0KKwkJICkNCisJCSgoZXEgdHlwZSAnc2hpZnQtamlz KQ0KKwkJIChwcmluYyAiIChTaGlmdC1KSVMsIE1TLUtBTkpJKSIpKQ0KKwkJ KChlcSB0eXBlICdpc28tMjAyMikNCisJCSAocHJpbmMgIiAodmFyaWFudCBv ZiBJU08tMjAyMilcbiIpDQorCQkgKHByaW5jICJJbml0aWFsIGRlc2lnbmF0 aW9uczpcbiIpDQorCQkgKHByaW50LWRlc2lnbmF0aW9uIChjb2Rpbmctc3lz dGVtLWdldCBjb2Rpbmctc3lzdGVtDQorCQkJCQkJICAgICAgIDpkZXNpZ25h dGlvbikpDQorDQorCQkgKHdoZW4gKGNvZGluZy1zeXN0ZW0tZ2V0IGNvZGlu Zy1zeXN0ZW0gOmZsYWdzKQ0KKwkJICAgKHByaW5jICJPdGhlciBzcGVjaWZp Y2F0aW9uczogXG4gICIpDQorCQkgICAoYXBwbHkgIydwcmludC1saXN0DQor CQkJICAoY29kaW5nLXN5c3RlbS1nZXQgY29kaW5nLXN5c3RlbSA6ZmxhZ3Mp KSkpDQorCQkoKGVxIHR5cGUgJ2NoYXJzZXQpDQorCQkgKHByaW5jICIgKGNo YXJzZXQpIikpDQorCQkoKGVxIHR5cGUgJ2NjbCkNCisJCSAocHJpbmMgIiAo ZG8gY29udmVyc2lvbiBieSBDQ0wgcHJvZ3JhbSkiKSkNCisJCSgoZXEgdHlw ZSAncmF3LXRleHQpDQorCQkgKHByaW5jICIgKHRleHQgd2l0aCByYW5kb20g YmluYXJ5IGNoYXJhY3RlcnMpIikpDQorCQkoKGVxIHR5cGUgJ2VtYWNzLW11 bGUpDQorCQkgKHByaW5jICIgKEVtYWNzIDIxIGludGVybmFsIGVuY29kaW5n KSIpKQ0KKwkJKChlcSB0eXBlICdiaWc1KSkNCisJCSh0IChwcmluYyAiOiBp bnZhbGlkIGNvZGluZy1zeXN0ZW0uIikpKQ0KKwkgIChwcmluYyAiXG5FT0wg dHlwZTogIikNCisJICAobGV0ICgoZW9sLXR5cGUgKGNvZGluZy1zeXN0ZW0t ZW9sLXR5cGUgY29kaW5nLXN5c3RlbSkpKQ0KKwkgICAgKGNvbmQgKCh2ZWN0 b3JwIGVvbC10eXBlKQ0KKwkJICAgKHByaW5jICJBdXRvbWF0aWMgc2VsZWN0 aW9uIGZyb206XG5cdCIpDQorCQkgICAocHJpbmMgZW9sLXR5cGUpDQorCQkg ICAocHJpbmMgIlxuIikpDQorCQkgICgob3IgKG51bGwgZW9sLXR5cGUpIChl cSBlb2wtdHlwZSAwKSkgKHByaW5jICJMRlxuIikpDQorCQkgICgoZXEgZW9s LXR5cGUgMSkgKHByaW5jICJDUkxGXG4iKSkNCisJCSAgKChlcSBlb2wtdHlw ZSAyKSAocHJpbmMgIkNSXG4iKSkNCisJCSAgKHQgKHByaW5jICJpbnZhbGlk XG4iKSkpKSkNCisJKGxldCAoKHBvc3RyZWFkIChjb2Rpbmctc3lzdGVtLWdl dCBjb2Rpbmctc3lzdGVtIDpwb3N0LXJlYWQtY29udmVyc2lvbikpKQ0KKwkg ICh3aGVuIHBvc3RyZWFkDQorCSAgICAocHJpbmMgIkFmdGVyIGRlY29kaW5n IHRleHQgbm9ybWFsbHksIikNCisJICAgIChwcmluYyAiIHBlcmZvcm0gcG9z dC1jb252ZXJzaW9uIHVzaW5nIHRoZSBmdW5jdGlvbjogIikNCisJICAgIChw cmluYyAiXG4gICIpDQorCSAgICAocHJpbmMgcG9zdHJlYWQpDQorCSAgICAo cHJpbmMgIlxuIikpKQ0KKwkobGV0ICgocHJld3JpdGUgKGNvZGluZy1zeXN0 ZW0tZ2V0IGNvZGluZy1zeXN0ZW0gOnByZS13cml0ZS1jb252ZXJzaW9uKSkp DQorCSAgKHdoZW4gcHJld3JpdGUNCisJICAgIChwcmluYyAiQmVmb3JlIGVu Y29kaW5nIHRleHQgbm9ybWFsbHksIikNCisJICAgIChwcmluYyAiIHBlcmZv cm0gcHJlLWNvbnZlcnNpb24gdXNpbmcgdGhlIGZ1bmN0aW9uOiAiKQ0KKwkg ICAgKHByaW5jICJcbiAgIikNCisJICAgIChwcmluYyBwcmV3cml0ZSkNCisJ ICAgIChwcmluYyAiXG4iKSkpDQorCSh3aXRoLWN1cnJlbnQtYnVmZmVyIHN0 YW5kYXJkLW91dHB1dA0KKwkgIChsZXQgKChjaGFyc2V0cyAoY29kaW5nLXN5 c3RlbS1jaGFyc2V0LWxpc3QgY29kaW5nLXN5c3RlbSkpKQ0KKwkgICAgKHdo ZW4gKGFuZCAobm90IChlcSAoY29kaW5nLXN5c3RlbS1iYXNlIGNvZGluZy1z eXN0ZW0pICdyYXctdGV4dCkpDQorCQkgICAgICAgY2hhcnNldHMpDQorCSAg ICAgIChjb25kDQorCSAgICAgICAoKGVxIGNoYXJzZXRzICdpc28tMjAyMikN CisJCShpbnNlcnQgIlRoaXMgY29kaW5nIHN5c3RlbSBjYW4gZW5jb2RlIGFs bCBJU08gMjAyMiBjaGFyc2V0cy4iKSkNCisJICAgICAgICgoZXEgY2hhcnNl dHMgJ2VtYWNzLW11bGUpDQorCQkoaW5zZXJ0ICJUaGlzIGNvZGluZyBzeXN0 ZW0gY2FuIGVuY29kZSBhbGwgZW1hY3MtbXVsZSBjaGFyc2V0c1wNCiAuIiIi KSkNCi0JICAgICAodA0KLQkgICAgICAoaW5zZXJ0ICJUaGlzIGNvZGluZyBz eXN0ZW0gZW5jb2RlcyB0aGUgZm9sbG93aW5nIGNoYXJzZXRzOlxuICIpDQot CSAgICAgICh3aGlsZSBjaGFyc2V0cw0KLQkJKGluc2VydCAiICIgKHN5bWJv bC1uYW1lIChjYXIgY2hhcnNldHMpKSkNCi0JCShzZWFyY2gtYmFja3dhcmQg KHN5bWJvbC1uYW1lIChjYXIgY2hhcnNldHMpKSkNCi0JCShoZWxwLXhyZWYt YnV0dG9uIDAgJ2hlbHAtY2hhcmFjdGVyLXNldCAoY2FyIGNoYXJzZXRzKSkN Ci0JCShnb3RvLWNoYXIgKHBvaW50LW1heCkpDQotCQkoc2V0cSBjaGFyc2V0 cyAoY2RyIGNoYXJzZXRzKSkpKSkpKSkpKSkNCisJICAgICAgICh0DQorCQko aW5zZXJ0ICJUaGlzIGNvZGluZyBzeXN0ZW0gZW5jb2RlcyB0aGUgZm9sbG93 aW5nIGNoYXJzZXRzOlxuICIpDQorCQkod2hpbGUgY2hhcnNldHMNCisJCSAg KGluc2VydCAiICIgKHN5bWJvbC1uYW1lIChjYXIgY2hhcnNldHMpKSkNCisJ CSAgKHNlYXJjaC1iYWNrd2FyZCAoc3ltYm9sLW5hbWUgKGNhciBjaGFyc2V0 cykpKQ0KKwkJICAoaGVscC14cmVmLWJ1dHRvbiAwICdoZWxwLWNoYXJhY3Rl ci1zZXQgKGNhciBjaGFyc2V0cykpDQorCQkgIChnb3RvLWNoYXIgKHBvaW50 LW1heCkpDQorCQkgIChzZXRxIGNoYXJzZXRzIChjZHIgY2hhcnNldHMpKSkp KSkpKSkpKSkNCiANCiA7OzsjIyNhdXRvbG9hZA0KIChkZWZ1biBkZXNjcmli ZS1jdXJyZW50LWNvZGluZy1zeXN0ZW0tYnJpZWZseSAoKQ0KQEAgLTg0NSw3 ICs4NDcsOCBAQCBkZXNjcmliZS1mb250DQogICAob3IgKGFuZCB3aW5kb3ct c3lzdGVtIChmYm91bmRwICdmb250c2V0LWxpc3QpKQ0KICAgICAgIChlcnJv ciAiTm8gZm9udHMgYmVpbmcgdXNlZCIpKQ0KICAgKGxldCAoKHhyZWYtaXRl bSAobGlzdCAjJ2Rlc2NyaWJlLWZvbnQgZm9udG5hbWUpKQ0KLSAgICAgICAg Zm9udC1pbmZvKQ0KKyAgICAgICAgZm9udC1pbmZvDQorCShoZWxwLWJ1ZmZl ci11bmRlci1wcmVwYXJhdGlvbiB0KSkNCiAgICAgKGlmIChvciAobm90IGZv bnRuYW1lKSAoPSAobGVuZ3RoIGZvbnRuYW1lKSAwKSkNCiAJKHNldHEgZm9u dG5hbWUgKGZhY2UtYXR0cmlidXRlICdkZWZhdWx0IDpmb250KSkpDQogICAg IChzZXRxIGZvbnQtaW5mbyAoZm9udC1pbmZvIGZvbnRuYW1lKSkNCkBAIC0x MDA2LDE0ICsxMDA5LDE1IEBAIGRlc2NyaWJlLWZvbnRzZXQNCiAgICAgICAg KGxpc3QgKGNvbXBsZXRpbmctcmVhZA0KICAgICAgICAgICAgICAgKGZvcm1h dC1wcm9tcHQgIkZvbnRzZXQiICJ1c2VkIGJ5IHRoZSBjdXJyZW50IGZyYW1l IikNCiAJICAgICAgZm9udHNldC1saXN0IG5pbCB0KSkpKSkNCi0gIChpZiAo PSAobGVuZ3RoIGZvbnRzZXQpIDApDQotICAgICAgKHNldHEgZm9udHNldCAo ZmFjZS1hdHRyaWJ1dGUgJ2RlZmF1bHQgOmZvbnRzZXQpKQ0KLSAgICAoc2V0 cSBmb250c2V0IChxdWVyeS1mb250c2V0IGZvbnRzZXQpKSkNCi0gIChoZWxw LXNldHVwLXhyZWYgKGxpc3QgIydkZXNjcmliZS1mb250c2V0IGZvbnRzZXQp DQotCQkgICAoY2FsbGVkLWludGVyYWN0aXZlbHktcCAnaW50ZXJhY3RpdmUp KQ0KLSAgKHdpdGgtb3V0cHV0LXRvLXRlbXAtYnVmZmVyIChoZWxwLWJ1ZmZl cikNCi0gICAgKHdpdGgtY3VycmVudC1idWZmZXIgc3RhbmRhcmQtb3V0cHV0 DQotICAgICAgKHByaW50LWZvbnRzZXQgZm9udHNldCB0KSkpKQ0KKyAgKGxl dCAoKGhlbHAtYnVmZmVyLXVuZGVyLXByZXBhcmF0aW9uIHQpKQ0KKyAgICAo aWYgKD0gKGxlbmd0aCBmb250c2V0KSAwKQ0KKwkoc2V0cSBmb250c2V0IChm YWNlLWF0dHJpYnV0ZSAnZGVmYXVsdCA6Zm9udHNldCkpDQorICAgICAgKHNl dHEgZm9udHNldCAocXVlcnktZm9udHNldCBmb250c2V0KSkpDQorICAgICho ZWxwLXNldHVwLXhyZWYgKGxpc3QgIydkZXNjcmliZS1mb250c2V0IGZvbnRz ZXQpDQorCQkgICAgIChjYWxsZWQtaW50ZXJhY3RpdmVseS1wICdpbnRlcmFj dGl2ZSkpDQorICAgICh3aXRoLW91dHB1dC10by10ZW1wLWJ1ZmZlciAoaGVs cC1idWZmZXIpDQorICAgICAgKHdpdGgtY3VycmVudC1idWZmZXIgc3RhbmRh cmQtb3V0cHV0DQorCShwcmludC1mb250c2V0IGZvbnRzZXQgdCkpKSkpDQog DQogKGRlY2xhcmUtZnVuY3Rpb24gZm9udHNldC1wbGFpbi1uYW1lICJmb250 c2V0IiAoZm9udHNldCkpDQogDQpAQCAtMTAyNCwzOSArMTAyOCw0MSBAQCBs aXN0LWZvbnRzZXRzDQogV2l0aCBwcmVmaXggYXJnLCBhbHNvIGxpc3QgdGhl IGZvbnRzIGNvbnRhaW5lZCBpbiBlYWNoIGZvbnRzZXQ7DQogc2VlIHRoZSBm dW5jdGlvbiBgZGVzY3JpYmUtZm9udHNldCcgZm9yIHRoZSBmb3JtYXQgb2Yg dGhlIGxpc3QuIg0KICAgKGludGVyYWN0aXZlICJQIikNCi0gIChpZiAobm90 IChhbmQgd2luZG93LXN5c3RlbSAoZmJvdW5kcCAnZm9udHNldC1saXN0KSkp DQotICAgICAgKGVycm9yICJObyBmb250c2V0cyBiZWluZyB1c2VkIikNCi0g ICAgKGhlbHAtc2V0dXAteHJlZiAobGlzdCAjJ2xpc3QtZm9udHNldHMgYXJn KQ0KLQkJICAgICAoY2FsbGVkLWludGVyYWN0aXZlbHktcCAnaW50ZXJhY3Rp dmUpKQ0KLSAgICAod2l0aC1vdXRwdXQtdG8tdGVtcC1idWZmZXIgKGhlbHAt YnVmZmVyKQ0KLSAgICAgICh3aXRoLWN1cnJlbnQtYnVmZmVyIHN0YW5kYXJk LW91dHB1dA0KLQk7OyBUaGlzIGNvZGUgaXMgZHVwbGljYXRlZCBuZWFyIHRo ZSBlbmQgb2YgbXVsZS1kaWFnLg0KLQkobGV0ICgoZm9udHNldHMNCi0JICAg ICAgIChzb3J0IChmb250c2V0LWxpc3QpDQotCQkgICAgIChsYW1iZGEgKHgg eSkNCi0JCSAgICAgICAoc3RyaW5nPCAoZm9udHNldC1wbGFpbi1uYW1lIHgp DQotCQkJCShmb250c2V0LXBsYWluLW5hbWUgeSkpKSkpKQ0KLQkgICh3aGls ZSBmb250c2V0cw0KLQkgICAgKGlmIGFyZw0KLQkJKHByaW50LWZvbnRzZXQg KGNhciBmb250c2V0cykgbmlsKQ0KLQkgICAgICAoaW5zZXJ0ICJGb250c2V0 OiAiIChjYXIgZm9udHNldHMpICJcbiIpKQ0KLQkgICAgKHNldHEgZm9udHNl dHMgKGNkciBmb250c2V0cykpKSkpKSkpDQorICAobGV0ICgoaGVscC1idWZm ZXItdW5kZXItcHJlcGFyYXRpb24gdCkpDQorICAgIChpZiAobm90IChhbmQg d2luZG93LXN5c3RlbSAoZmJvdW5kcCAnZm9udHNldC1saXN0KSkpDQorCShl cnJvciAiTm8gZm9udHNldHMgYmVpbmcgdXNlZCIpDQorICAgICAgKGhlbHAt c2V0dXAteHJlZiAobGlzdCAjJ2xpc3QtZm9udHNldHMgYXJnKQ0KKwkJICAg ICAgIChjYWxsZWQtaW50ZXJhY3RpdmVseS1wICdpbnRlcmFjdGl2ZSkpDQor ICAgICAgKHdpdGgtb3V0cHV0LXRvLXRlbXAtYnVmZmVyIChoZWxwLWJ1ZmZl cikNCisJKHdpdGgtY3VycmVudC1idWZmZXIgc3RhbmRhcmQtb3V0cHV0DQor CSAgOzsgVGhpcyBjb2RlIGlzIGR1cGxpY2F0ZWQgbmVhciB0aGUgZW5kIG9m IG11bGUtZGlhZy4NCisJICAobGV0ICgoZm9udHNldHMNCisJCSAoc29ydCAo Zm9udHNldC1saXN0KQ0KKwkJICAgICAgIChsYW1iZGEgKHggeSkNCisJCQkg KHN0cmluZzwgKGZvbnRzZXQtcGxhaW4tbmFtZSB4KQ0KKwkJCQkgIChmb250 c2V0LXBsYWluLW5hbWUgeSkpKSkpKQ0KKwkgICAgKHdoaWxlIGZvbnRzZXRz DQorCSAgICAgIChpZiBhcmcNCisJCSAgKHByaW50LWZvbnRzZXQgKGNhciBm b250c2V0cykgbmlsKQ0KKwkJKGluc2VydCAiRm9udHNldDogIiAoY2FyIGZv bnRzZXRzKSAiXG4iKSkNCisJICAgICAgKHNldHEgZm9udHNldHMgKGNkciBm b250c2V0cykpKSkpKSkpKQ0KIAwNCiA7OzsjIyNhdXRvbG9hZA0KIChkZWZ1 biBsaXN0LWlucHV0LW1ldGhvZHMgKCkNCiAgICJEaXNwbGF5IGluZm9ybWF0 aW9uIGFib3V0IGFsbCBpbnB1dCBtZXRob2RzLiINCiAgIChpbnRlcmFjdGl2 ZSkNCi0gIChoZWxwLXNldHVwLXhyZWYgJyhsaXN0LWlucHV0LW1ldGhvZHMp DQotCQkgICAoY2FsbGVkLWludGVyYWN0aXZlbHktcCAnaW50ZXJhY3RpdmUp KQ0KLSAgKHdpdGgtb3V0cHV0LXRvLXRlbXAtYnVmZmVyIChoZWxwLWJ1ZmZl cikNCi0gICAgKGxpc3QtaW5wdXQtbWV0aG9kcy0xKQ0KLSAgICAod2l0aC1j dXJyZW50LWJ1ZmZlciBzdGFuZGFyZC1vdXRwdXQNCi0gICAgICAoc2F2ZS1l eGN1cnNpb24NCi0JKGdvdG8tY2hhciAocG9pbnQtbWluKSkNCi0JKHdoaWxl IChyZS1zZWFyY2gtZm9yd2FyZA0KLQkJKHN1YnN0aXR1dGUtY29tbWFuZC1r ZXlzICJeICBcXChbXiBdK1xcKSAoYC4qJyBpbiBtb2RlIGxpbmUpJCIpDQot ICAgICAgICAgICAgICAgIG5pbCB0KQ0KLQkgIChoZWxwLXhyZWYtYnV0dG9u IDEgJ2hlbHAtaW5wdXQtbWV0aG9kIChtYXRjaC1zdHJpbmcgMSkpKSkpKSkN CisgIChsZXQgKChoZWxwLWJ1ZmZlci11bmRlci1wcmVwYXJhdGlvbiB0KSkN CisgICAgKGhlbHAtc2V0dXAteHJlZiAnKGxpc3QtaW5wdXQtbWV0aG9kcykN CisJCSAgICAgKGNhbGxlZC1pbnRlcmFjdGl2ZWx5LXAgJ2ludGVyYWN0aXZl KSkNCisgICAgKHdpdGgtb3V0cHV0LXRvLXRlbXAtYnVmZmVyIChoZWxwLWJ1 ZmZlcikNCisgICAgICAobGlzdC1pbnB1dC1tZXRob2RzLTEpDQorICAgICAg KHdpdGgtY3VycmVudC1idWZmZXIgc3RhbmRhcmQtb3V0cHV0DQorCShzYXZl LWV4Y3Vyc2lvbg0KKwkgIChnb3RvLWNoYXIgKHBvaW50LW1pbikpDQorCSAg KHdoaWxlIChyZS1zZWFyY2gtZm9yd2FyZA0KKwkJICAoc3Vic3RpdHV0ZS1j b21tYW5kLWtleXMgIl4gIFxcKFteIF0rXFwpIChgLionIGluIG1vZGUgbGlu ZSkkIikNCisgICAgICAgICAgICAgICAgICBuaWwgdCkNCisJICAgIChoZWxw LXhyZWYtYnV0dG9uIDEgJ2hlbHAtaW5wdXQtbWV0aG9kIChtYXRjaC1zdHJp bmcgMSkpKSkpKSkpDQogDQogKGRlZnVuIGxpc3QtaW5wdXQtbWV0aG9kcy0x ICgpDQogICAoaWYgKG5vdCBpbnB1dC1tZXRob2QtYWxpc3QpDQpkaWZmIC0t Z2l0IGEvbGlzcC9yZXBlYXQuZWwgYi9saXNwL3JlcGVhdC5lbA0KaW5kZXgg NGRjZDM1M2UzNC4uNzlhNTFkOGM5ZiAxMDA2NDQNCi0tLSBhL2xpc3AvcmVw ZWF0LmVsDQorKysgYi9saXNwL3JlcGVhdC5lbA0KQEAgLTUxNSwzMSArNTE1 LDMyIEBAIGRlc2NyaWJlLXJlcGVhdC1tYXBzDQogVXNlZCBpbiBgcmVwZWF0 LW1vZGUnLiINCiAgIChpbnRlcmFjdGl2ZSkNCiAgIChyZXF1aXJlICdoZWxw LWZucykNCi0gIChoZWxwLXNldHVwLXhyZWYgKGxpc3QgIydkZXNjcmliZS1y ZXBlYXQtbWFwcykNCi0gICAgICAgICAgICAgICAgICAgKGNhbGxlZC1pbnRl cmFjdGl2ZWx5LXAgJ2ludGVyYWN0aXZlKSkNCi0gIChsZXQgKChrZXltYXBz IG5pbCkpDQotICAgIChhbGwtY29tcGxldGlvbnMNCi0gICAgICIiIG9iYXJy YXkgKGxhbWJkYSAocykNCi0gICAgICAgICAgICAgICAgICAoYW5kIChjb21t YW5kcCBzKQ0KLSAgICAgICAgICAgICAgICAgICAgICAgKGdldCBzICdyZXBl YXQtbWFwKQ0KLSAgICAgICAgICAgICAgICAgICAgICAgKHB1c2ggcyAoYWxp c3QtZ2V0IChnZXQgcyAncmVwZWF0LW1hcCkga2V5bWFwcykpKSkpDQotICAg ICh3aXRoLWhlbHAtd2luZG93IChoZWxwLWJ1ZmZlcikNCi0gICAgICAod2l0 aC1jdXJyZW50LWJ1ZmZlciBzdGFuZGFyZC1vdXRwdXQNCi0gICAgICAgIChw cmluYyAiQSBsaXN0IG9mIGtleW1hcHMgdXNlZCBieSBjb21tYW5kcyB3aXRo IHRoZSBzeW1ib2wgcHJvcGVydHkgYHJlcGVhdC1tYXAnLlxuXG4iKQ0KLQ0K LSAgICAgICAgKGRvbGlzdCAoa2V5bWFwIChzb3J0IGtleW1hcHMgKGxhbWJk YSAoYSBiKSAoc3RyaW5nLWxlc3NwIChjYXIgYSkgKGNhciBiKSkpKSkNCi0g ICAgICAgICAgKHByaW5jIChmb3JtYXQtbWVzc2FnZSAiYCVzJyBrZXltYXAg aXMgcmVwZWF0YWJsZSBieSB0aGVzZSBjb21tYW5kczpcbiINCi0gICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAoY2FyIGtleW1hcCkpKQ0KLSAg ICAgICAgICAoZG9saXN0IChjb21tYW5kIChzb3J0IChjZHIga2V5bWFwKSAn c3RyaW5nLWxlc3NwKSkNCi0gICAgICAgICAgICAobGV0KiAoKGluZm8gKGhl bHAtZm5zLS1hbmFseXplLWZ1bmN0aW9uIGNvbW1hbmQpKQ0KLSAgICAgICAg ICAgICAgICAgICAobWFwIChsaXN0IChzeW1ib2wtdmFsdWUgKGNhciBrZXlt YXApKSkpDQotICAgICAgICAgICAgICAgICAgIChkZXNjIChtYXBjb25jYXQg KGxhbWJkYSAoa2V5KQ0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgKGZvcm1hdC1tZXNzYWdlICJgJXMnIiAoa2V5LWRlc2NyaXB0 aW9uIGtleSkpKQ0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIChvciAod2hlcmUtaXMtaW50ZXJuYWwgY29tbWFuZCBtYXApDQotICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICh3aGVyZS1p cy1pbnRlcm5hbCAobnRoIDMgaW5mbykgbWFwKSkNCi0gICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAiLCAiKSkpDQotICAgICAgICAgICAg ICAocHJpbmMgKGZvcm1hdC1tZXNzYWdlICIgYCVzJyAoYm91bmQgdG8gJXMp XG4iIGNvbW1hbmQgZGVzYykpKSkNCi0gICAgICAgICAgKHByaW5jICJcbiIp KSkpKSkNCisgIChsZXQgKChoZWxwLWJ1ZmZlci11bmRlci1wcmVwYXJhdGlv biB0KSkNCisgICAgKGhlbHAtc2V0dXAteHJlZiAobGlzdCAjJ2Rlc2NyaWJl LXJlcGVhdC1tYXBzKQ0KKyAgICAgICAgICAgICAgICAgICAgIChjYWxsZWQt aW50ZXJhY3RpdmVseS1wICdpbnRlcmFjdGl2ZSkpDQorICAgIChsZXQgKChr ZXltYXBzIG5pbCkpDQorICAgICAgKGFsbC1jb21wbGV0aW9ucw0KKyAgICAg ICAiIiBvYmFycmF5IChsYW1iZGEgKHMpDQorICAgICAgICAgICAgICAgICAg ICAoYW5kIChjb21tYW5kcCBzKQ0KKyAgICAgICAgICAgICAgICAgICAgICAg ICAoZ2V0IHMgJ3JlcGVhdC1tYXApDQorICAgICAgICAgICAgICAgICAgICAg ICAgIChwdXNoIHMgKGFsaXN0LWdldCAoZ2V0IHMgJ3JlcGVhdC1tYXApIGtl eW1hcHMpKSkpKQ0KKyAgICAgICh3aXRoLWhlbHAtd2luZG93IChoZWxwLWJ1 ZmZlcikNCisgICAgICAgICh3aXRoLWN1cnJlbnQtYnVmZmVyIHN0YW5kYXJk LW91dHB1dA0KKyAgICAgICAgICAocHJpbmMgIkEgbGlzdCBvZiBrZXltYXBz IHVzZWQgYnkgY29tbWFuZHMgd2l0aCB0aGUgc3ltYm9sIHByb3BlcnR5IGBy ZXBlYXQtbWFwJy5cblxuIikNCisNCisgICAgICAgICAgKGRvbGlzdCAoa2V5 bWFwIChzb3J0IGtleW1hcHMgKGxhbWJkYSAoYSBiKSAoc3RyaW5nLWxlc3Nw IChjYXIgYSkgKGNhciBiKSkpKSkNCisgICAgICAgICAgICAocHJpbmMgKGZv cm1hdC1tZXNzYWdlICJgJXMnIGtleW1hcCBpcyByZXBlYXRhYmxlIGJ5IHRo ZXNlIGNvbW1hbmRzOlxuIg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgKGNhciBrZXltYXApKSkNCisgICAgICAgICAgICAoZG9saXN0 IChjb21tYW5kIChzb3J0IChjZHIga2V5bWFwKSAnc3RyaW5nLWxlc3NwKSkN CisgICAgICAgICAgICAgIChsZXQqICgoaW5mbyAoaGVscC1mbnMtLWFuYWx5 emUtZnVuY3Rpb24gY29tbWFuZCkpDQorICAgICAgICAgICAgICAgICAgICAg KG1hcCAobGlzdCAoc3ltYm9sLXZhbHVlIChjYXIga2V5bWFwKSkpKQ0KKyAg ICAgICAgICAgICAgICAgICAgIChkZXNjIChtYXBjb25jYXQgKGxhbWJkYSAo a2V5KQ0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAoZm9ybWF0LW1lc3NhZ2UgImAlcyciIChrZXktZGVzY3JpcHRpb24ga2V5 KSkpDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAo b3IgKHdoZXJlLWlzLWludGVybmFsIGNvbW1hbmQgbWFwKQ0KKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICh3aGVyZS1pcy1p bnRlcm5hbCAobnRoIDMgaW5mbykgbWFwKSkNCisgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICIsICIpKSkNCisgICAgICAgICAgICAg ICAgKHByaW5jIChmb3JtYXQtbWVzc2FnZSAiIGAlcycgKGJvdW5kIHRvICVz KVxuIiBjb21tYW5kIGRlc2MpKSkpDQorICAgICAgICAgICAgKHByaW5jICJc biIpKSkpKSkpDQogDQogKHByb3ZpZGUgJ3JlcGVhdCkNCiANCi0tIA0KMi4z My4wDQoNCg== --eUPxsTHK82--