From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Randy Taylor Newsgroups: gmane.emacs.bugs Subject: bug#60025: [PATCH] Add go-ts-mode and go-mod-ts-mode Date: Thu, 15 Dec 2022 22:22:59 +0000 Message-ID: References: <87zgbpznfa.fsf@thornhill.no> <7fPZo7wRGoWPnr5djOSL0gsOE-Q15-l2y-INvJ7z5QXOpXmV_ct4soqgJTYtHZ6EReO3ROGRS_VYnKkYNH6j1CghKfMbRXMmanEB-eaANjk=@rjt.dev> <87y1r9w2sx.fsf@thornhill.no> <87y1r8zbe7.fsf@thornhill.no> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="b1_PSne8v89CFs2pD0oxdxGxIx7KoWsnsVARq7EqFgwgE" Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="1555"; mail-complaints-to="usenet@ciao.gmane.io" Cc: Eli Zaretskii , Theodor Thornhill , 60025@debbugs.gnu.org To: Yuan Fu Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Thu Dec 15 23:24:17 2022 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 1p5weG-0000BV-MD for geb-bug-gnu-emacs@m.gmane-mx.org; Thu, 15 Dec 2022 23:24:16 +0100 Original-Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1p5we4-0007Et-L7; Thu, 15 Dec 2022 17:24:04 -0500 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1p5we2-0007EG-Eq for bug-gnu-emacs@gnu.org; Thu, 15 Dec 2022 17:24:02 -0500 Original-Received: from debbugs.gnu.org ([209.51.188.43]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1p5we2-0001qU-5p for bug-gnu-emacs@gnu.org; Thu, 15 Dec 2022 17:24:02 -0500 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1p5we2-0004aX-1U for bug-gnu-emacs@gnu.org; Thu, 15 Dec 2022 17:24:02 -0500 X-Loop: help-debbugs@gnu.org Resent-From: Randy Taylor Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Thu, 15 Dec 2022 22:24:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 60025 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: patch Original-Received: via spool by 60025-submit@debbugs.gnu.org id=B60025.167114299717621 (code B ref 60025); Thu, 15 Dec 2022 22:24:02 +0000 Original-Received: (at 60025) by debbugs.gnu.org; 15 Dec 2022 22:23:17 +0000 Original-Received: from localhost ([127.0.0.1]:45277 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1p5wdI-0004a9-Nn for submit@debbugs.gnu.org; Thu, 15 Dec 2022 17:23:17 -0500 Original-Received: from mail-4022.proton.ch ([185.70.40.22]:41377) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1p5wdG-0004a3-0N for 60025@debbugs.gnu.org; Thu, 15 Dec 2022 17:23:15 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=rjt.dev; s=protonmail2; t=1671142987; x=1671402187; bh=bjwtf2PKQZWk7qlvKMB2yhQfx3XX4STHMGiQ/66gKQo=; h=Date:To:From:Cc:Subject:Message-ID:In-Reply-To:References: Feedback-ID:From:To:Cc:Date:Subject:Reply-To:Feedback-ID: Message-ID:BIMI-Selector; b=aBAWzJTCszKHJDyKF+11Fqt368On3MNrXAmXTIoxNw1iFaiJJV3/BKleI2bSPbI0h ItUIrdYTKeeY1xBsxM8r3Pl27a6c2Fn28X36LPDm8aYvpOfHa/3DFAHBXC6gRbOOla UG7uDKeeTWmJJLINWC1x4163PfQagYpKBGTuijguSm/2N6VxzaOF0YPkJDJLsrddqD IzfZQl0m3aAbyhlie4sZyluiM1WSndeGYWM82oRuxh+Ok+S63VvJA1XU94f9pT8ozk Hk/4yPjFcfmBtPtKf6V/bWgCDDpgSHfCd5nXAObkZwtlAquy2kwJ2Vhx37x+48PSCz T92Aj/DUpa7Fg== In-Reply-To: Feedback-ID: 44397038:user:proton 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-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Xref: news.gmane.io gmane.emacs.bugs:251157 Archived-At: This is a multi-part message in MIME format. --b1_PSne8v89CFs2pD0oxdxGxIx7KoWsnsVARq7EqFgwgE Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable On Thursday, December 15th, 2022 at 15:09, Randy Taylor wrote= : >=20 > On Thursday, December 15th, 2022 at 14:59, Theodor Thornhill theo@thornhi= ll.no wrote: >=20 > > Randy Taylor dev@rjt.dev writes: > >=20 > > > Patch OK to install otherwise? > >=20 > > Sure :-) > >=20 > > Theo >=20 >=20 > Thanks. >=20 > Yuan, I've attached the latest and greatest patch (same as the one a few = threads up but no need to make you hunt for it ;)). Ready to install whenev= er, unless anyone has any other comments. Sorry, THIS attached patch is the latest and greatest patch. build.sh was c= hanged recently renaming namespace to org, so I made that adjustment. --b1_PSne8v89CFs2pD0oxdxGxIx7KoWsnsVARq7EqFgwgE Content-Type: text/x-patch; name=0001-Add-go-ts-mode-and-go-mod-ts-mode-Bug-60025.patch Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename=0001-Add-go-ts-mode-and-go-mod-ts-mode-Bug-60025.patch RnJvbSAzYTQzMjdmYzMzMWM1ZDk4NzY3MzRhNGJlMjEwNjY4YmI1OTU3MTE5IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBSYW5keSBUYXlsb3IgPGRldkByanQuZGV2PgpEYXRlOiBTdW4s IDExIERlYyAyMDIyIDE4OjQxOjE2IC0wNTAwClN1YmplY3Q6IFtQQVRDSF0gQWRkIGdvLXRzLW1v ZGUgYW5kIGdvLW1vZC10cy1tb2RlIChCdWcjNjAwMjUpCgoqIGFkbWluL25vdGVzL3RyZWUtc2l0 dGVyL2J1aWxkLW1vZHVsZS9iYXRjaC5zaDoKKiBhZG1pbi9ub3Rlcy90cmVlLXNpdHRlci9idWls ZC1tb2R1bGUvYnVpbGQuc2g6IEFkZCBnby1tb2Qgc3VwcG9ydC4KKiBldGMvTkVXUzogTWVudGlv biB0aGVtLgoqIGxpc3AvcHJvZ21vZGVzL2VnbG90LmVsIChlZ2xvdC1zZXJ2ZXItcHJvZ3JhbXMp OiBBZGQgdGhlbS4KKiBsaXNwL3Byb2dtb2Rlcy9nby10cy1tb2RlLmVsOiBOZXcgbWFqb3IgbW9k ZXMgd2l0aAp0cmVlLXNpdHRlciBzdXBwb3J0LgotLS0KIGFkbWluL25vdGVzL3RyZWUtc2l0dGVy L2J1aWxkLW1vZHVsZS9iYXRjaC5zaCB8ICAgMSArCiBhZG1pbi9ub3Rlcy90cmVlLXNpdHRlci9i dWlsZC1tb2R1bGUvYnVpbGQuc2ggfCAgIDUgKwogZXRjL05FV1MgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIHwgICA4ICsKIGxpc3AvcHJvZ21vZGVzL2VnbG90LmVsICAgICAg ICAgICAgICAgICAgICAgICB8ICAgMyArLQogbGlzcC9wcm9nbW9kZXMvZ28tdHMtbW9kZS5lbCAg ICAgICAgICAgICAgICAgIHwgMzU0ICsrKysrKysrKysrKysrKysrKwogNSBmaWxlcyBjaGFuZ2Vk LCAzNzAgaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbigtKQogY3JlYXRlIG1vZGUgMTAwNjQ0IGxp c3AvcHJvZ21vZGVzL2dvLXRzLW1vZGUuZWwKCmRpZmYgLS1naXQgYS9hZG1pbi9ub3Rlcy90cmVl LXNpdHRlci9idWlsZC1tb2R1bGUvYmF0Y2guc2ggYi9hZG1pbi9ub3Rlcy90cmVlLXNpdHRlci9i dWlsZC1tb2R1bGUvYmF0Y2guc2gKaW5kZXggZTdlZjQ1Y2Y1Ny4uYzUwYjlkZjM3ZSAxMDA3NTUK LS0tIGEvYWRtaW4vbm90ZXMvdHJlZS1zaXR0ZXIvYnVpbGQtbW9kdWxlL2JhdGNoLnNoCisrKyBi L2FkbWluL25vdGVzL3RyZWUtc2l0dGVyL2J1aWxkLW1vZHVsZS9iYXRjaC5zaApAQCAtOSw2ICs5 LDcgQEAgbGFuZ3VhZ2VzPQogICAgICdjLXNoYXJwJwogICAgICdkb2NrZXJmaWxlJwogICAgICdn bycKKyAgICAnZ28tbW9kJwogICAgICdodG1sJwogICAgICdqYXZhc2NyaXB0JwogICAgICdqc29u JwpkaWZmIC0tZ2l0IGEvYWRtaW4vbm90ZXMvdHJlZS1zaXR0ZXIvYnVpbGQtbW9kdWxlL2J1aWxk LnNoIGIvYWRtaW4vbm90ZXMvdHJlZS1zaXR0ZXIvYnVpbGQtbW9kdWxlL2J1aWxkLnNoCmluZGV4 IDQxOTVlYTU4YzMuLmI2YzgzZWE5YjkgMTAwNzU1Ci0tLSBhL2FkbWluL25vdGVzL3RyZWUtc2l0 dGVyL2J1aWxkLW1vZHVsZS9idWlsZC5zaAorKysgYi9hZG1pbi9ub3Rlcy90cmVlLXNpdHRlci9i dWlsZC1tb2R1bGUvYnVpbGQuc2gKQEAgLTI2LDYgKzI2LDExIEBAIGdyYW1tYXJkaXI9CiAgICAg ImNtYWtlIikKICAgICAgICAgb3JnPSJ1eWhhIgogICAgICAgICA7OworICAgICJnby1tb2QiKQor ICAgICAgICAjIFRoZSBwYXJzZXIgaXMgY2FsbGVkICJnb21vZCIuCisgICAgICAgIGxhbmc9Imdv bW9kIgorICAgICAgICBvcmc9ImNhbWRlbmNoZWVrIgorICAgICAgICA7OwogICAgICJ0eXBlc2Ny aXB0IikKICAgICAgICAgc291cmNlZGlyPSJ0cmVlLXNpdHRlci10eXBlc2NyaXB0L3R5cGVzY3Jp cHQvc3JjIgogICAgICAgICBncmFtbWFyZGlyPSJ0cmVlLXNpdHRlci10eXBlc2NyaXB0L3R5cGVz Y3JpcHQiCmRpZmYgLS1naXQgYS9ldGMvTkVXUyBiL2V0Yy9ORVdTCmluZGV4IDcwMWU0MTRmZGIu LmRkMTFiM2MyNzEgMTAwNjQ0Ci0tLSBhL2V0Yy9ORVdTCisrKyBiL2V0Yy9ORVdTCkBAIC0zMDgx LDYgKzMwODEsMTQgQEAgQSBtYWpvciBtb2RlIGJhc2VkIG9uIHRoZSB0cmVlLXNpdHRlciBsaWJy YXJ5IGZvciBlZGl0aW5nIGZpbGVzCiB3cml0dGVuIGluIFRPTUwsIGEgZm9ybWF0IGZvciB3cml0 aW5nIGNvbmZpZ3VyYXRpb24gZmlsZXMuICBJdCBpcwogYXV0by1lbmFibGVkIGZvciBmaWxlcyB3 aXRoIHRoZSAiLnRvbWwiIGV4dGVuc2lvbi4KIAorKioqIE5ldyBtYWpvciBtb2RlICdnby10cy1t b2RlJy4KK0EgbWFqb3IgbW9kZSBiYXNlZCBvbiB0aGUgdHJlZS1zaXR0ZXIgbGlicmFyeSBmb3Ig ZWRpdGluZyBwcm9ncmFtcyBpbgordGhlIEdvIGxhbmd1YWdlLiAgSXQgaXMgYXV0by1lbmFibGVk IGZvciBmaWxlcyB3aXRoIHRoZSAiLmdvIiBleHRlbnNpb24uCisKKyoqKiBOZXcgbWFqb3IgbW9k ZSAnZ28tbW9kLXRzLW1vZGUnLgorQSBtYWpvciBtb2RlIGJhc2VkIG9uIHRoZSB0cmVlLXNpdHRl ciBsaWJyYXJ5IGZvciBlZGl0aW5nICJnby5tb2QiCitmaWxlcy4gIEl0IGlzIGF1dG8tZW5hYmxl ZCBmb3IgZmlsZXMgd2hpY2ggYXJlIG5hbWVkICJnby5tb2QiLgorCiAMCiAqIEluY29tcGF0aWJs ZSBMaXNwIENoYW5nZXMgaW4gRW1hY3MgMjkuMQogCmRpZmYgLS1naXQgYS9saXNwL3Byb2dtb2Rl cy9lZ2xvdC5lbCBiL2xpc3AvcHJvZ21vZGVzL2VnbG90LmVsCmluZGV4IDljNWEzNjFkZjcuLjAy YmI2YmI2NjUgMTAwNjQ0Ci0tLSBhL2xpc3AvcHJvZ21vZGVzL2VnbG90LmVsCisrKyBiL2xpc3Av cHJvZ21vZGVzL2VnbG90LmVsCkBAIC0yMTEsNyArMjExLDggQEAgZWdsb3Qtc2VydmVyLXByb2dy YW1zCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChlbG0tbW9kZSAuICgiZWxtLWxh bmd1YWdlLXNlcnZlciIpKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAobWludC1t b2RlIC4gKCJtaW50IiAibHMiKSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGtv dGxpbi1tb2RlIC4gKCJrb3RsaW4tbGFuZ3VhZ2Utc2VydmVyIikpCi0gICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICgoZ28tbW9kZSBnby1kb3QtbW9kLW1vZGUgZ28tZG90LXdvcmstbW9k ZSkgLiAoImdvcGxzIikpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoZ28tbW9k ZSBnby1kb3QtbW9kLW1vZGUgZ28tZG90LXdvcmstbW9kZSBnby10cy1tb2RlIGdvLW1vZC10cy1t b2RlKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLiAoImdvcGxzIikpCiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoUi1tb2RlIGVzcy1yLW1vZGUpIC4gKCJSIiAi LS1zbGF2ZSIgIi1lIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAibGFuZ3VhZ2VzZXJ2ZXI6OnJ1bigpIikpCiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICgoamF2YS1tb2RlIGphdmEtdHMtbW9kZSkgLiAoImpkdGxzIikpCmRp ZmYgLS1naXQgYS9saXNwL3Byb2dtb2Rlcy9nby10cy1tb2RlLmVsIGIvbGlzcC9wcm9nbW9kZXMv Z28tdHMtbW9kZS5lbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwLi4xMjRk OWIwNDRhCi0tLSAvZGV2L251bGwKKysrIGIvbGlzcC9wcm9nbW9kZXMvZ28tdHMtbW9kZS5lbApA QCAtMCwwICsxLDM1NCBAQAorOzs7IGdvLXRzLW1vZGUuZWwgLS0tIHRyZWUtc2l0dGVyIHN1cHBv cnQgZm9yIEdvICAtKi0gbGV4aWNhbC1iaW5kaW5nOiB0OyAtKi0KKworOzsgQ29weXJpZ2h0IChD KSAyMDIyIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgorCis7OyBBdXRob3IgICAgIDog UmFuZHkgVGF5bG9yIDxkZXZAcmp0LmRldj4KKzs7IE1haW50YWluZXIgOiBSYW5keSBUYXlsb3Ig PGRldkByanQuZGV2PgorOzsgQ3JlYXRlZCAgICA6IERlY2VtYmVyIDIwMjIKKzs7IEtleXdvcmRz ICAgOiBnbyBsYW5ndWFnZXMgdHJlZS1zaXR0ZXIKKworOzsgVGhpcyBmaWxlIGlzIHBhcnQgb2Yg R05VIEVtYWNzLgorCis7OyBHTlUgRW1hY3MgaXMgZnJlZSBzb2Z0d2FyZTogeW91IGNhbiByZWRp c3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorOzsgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBH TlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKKzs7IHRoZSBGcmVlIFNv ZnR3YXJlIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yCis7 OyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorCis7OyBHTlUgRW1hY3MgaXMg ZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKzs7IGJ1dCBX SVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9m Cis7OyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0Uu ICBTZWUgdGhlCis7OyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxz LgorCis7OyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJh bCBQdWJsaWMgTGljZW5zZQorOzsgYWxvbmcgd2l0aCBHTlUgRW1hY3MuICBJZiBub3QsIHNlZSA8 aHR0cHM6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LgorCis7OzsgQ29tbWVudGFyeToKKzs7CisK Kzs7OyBDb2RlOgorCisocmVxdWlyZSAndHJlZXNpdCkKKyhldmFsLXdoZW4tY29tcGlsZSAocmVx dWlyZSAncngpKQorCisoZGVjbGFyZS1mdW5jdGlvbiB0cmVlc2l0LXBhcnNlci1jcmVhdGUgInRy ZWVzaXQuYyIpCisoZGVjbGFyZS1mdW5jdGlvbiB0cmVlc2l0LWluZHVjZS1zcGFyc2UtdHJlZSAi dHJlZXNpdC5jIikKKyhkZWNsYXJlLWZ1bmN0aW9uIHRyZWVzaXQtbm9kZS1jaGlsZCAidHJlZXNp dC5jIikKKyhkZWNsYXJlLWZ1bmN0aW9uIHRyZWVzaXQtbm9kZS1jaGlsZC1ieS1maWVsZC1uYW1l ICJ0cmVlc2l0LmMiKQorKGRlY2xhcmUtZnVuY3Rpb24gdHJlZXNpdC1ub2RlLXN0YXJ0ICJ0cmVl c2l0LmMiKQorKGRlY2xhcmUtZnVuY3Rpb24gdHJlZXNpdC1ub2RlLXR5cGUgInRyZWVzaXQuYyIp CisKKyhkZWZjdXN0b20gZ28tdHMtbW9kZS1pbmRlbnQtb2Zmc2V0IDQKKyAgIk51bWJlciBvZiBz cGFjZXMgZm9yIGVhY2ggaW5kZW50YXRpb24gc3RlcCBpbiBgZ28tdHMtbW9kZScuIgorICA6dmVy c2lvbiAiMjkuMSIKKyAgOnR5cGUgJ2ludGVnZXIKKyAgOnNhZmUgJ2ludGVnZXJwCisgIDpncm91 cCAnZ28pCisKKyhkZWZ2YXIgZ28tdHMtbW9kZS0tc3ludGF4LXRhYmxlCisgIChsZXQgKCh0YWJs ZSAobWFrZS1zeW50YXgtdGFibGUpKSkKKyAgICAobW9kaWZ5LXN5bnRheC1lbnRyeSA/KyAgICIu IiAgICAgIHRhYmxlKQorICAgIChtb2RpZnktc3ludGF4LWVudHJ5ID8tICAgIi4iICAgICAgdGFi bGUpCisgICAgKG1vZGlmeS1zeW50YXgtZW50cnkgPz0gICAiLiIgICAgICB0YWJsZSkKKyAgICAo bW9kaWZ5LXN5bnRheC1lbnRyeSA/JSAgICIuIiAgICAgIHRhYmxlKQorICAgIChtb2RpZnktc3lu dGF4LWVudHJ5ID8mICAgIi4iICAgICAgdGFibGUpCisgICAgKG1vZGlmeS1zeW50YXgtZW50cnkg P3wgICAiLiIgICAgICB0YWJsZSkKKyAgICAobW9kaWZ5LXN5bnRheC1lbnRyeSA/XiAgICIuIiAg ICAgIHRhYmxlKQorICAgIChtb2RpZnktc3ludGF4LWVudHJ5ID8hICAgIi4iICAgICAgdGFibGUp CisgICAgKG1vZGlmeS1zeW50YXgtZW50cnkgPzwgICAiLiIgICAgICB0YWJsZSkKKyAgICAobW9k aWZ5LXN5bnRheC1lbnRyeSA/PiAgICIuIiAgICAgIHRhYmxlKQorICAgIChtb2RpZnktc3ludGF4 LWVudHJ5ID9cXCAgIlxcIiAgICAgdGFibGUpCisgICAgKG1vZGlmeS1zeW50YXgtZW50cnkgPy8g ICAiLiAxMjRiIiB0YWJsZSkKKyAgICAobW9kaWZ5LXN5bnRheC1lbnRyeSA/KiAgICIuIDIzIiAg IHRhYmxlKQorICAgIChtb2RpZnktc3ludGF4LWVudHJ5ID9cbiAgIj4gYiIgICAgdGFibGUpCisg ICAgdGFibGUpCisgICJTeW50YXggdGFibGUgZm9yIGBnby10cy1tb2RlJy4iKQorCisoZGVmdmFy IGdvLXRzLW1vZGUtLWluZGVudC1ydWxlcworICBgKChnbworICAgICAoKG5vZGUtaXMgIikiKSBw YXJlbnQtYm9sIDApCisgICAgICgobm9kZS1pcyAiXSIpIHBhcmVudC1ib2wgMCkKKyAgICAgKChu b2RlLWlzICJ9IikgcGFyZW50LWJvbCAwKQorICAgICAoKG5vZGUtaXMgImxhYmVsZWRfc3RhdGVt ZW50Iikgbm8taW5kZW50KQorICAgICAoKHBhcmVudC1pcyAiYXJndW1lbnRfbGlzdCIpIHBhcmVu dC1ib2wgZ28tdHMtbW9kZS1pbmRlbnQtb2Zmc2V0KQorICAgICAoKHBhcmVudC1pcyAiYmxvY2si KSBwYXJlbnQtYm9sIGdvLXRzLW1vZGUtaW5kZW50LW9mZnNldCkKKyAgICAgKChwYXJlbnQtaXMg ImNvbnN0X2RlY2xhcmF0aW9uIikgcGFyZW50LWJvbCBnby10cy1tb2RlLWluZGVudC1vZmZzZXQp CisgICAgICgocGFyZW50LWlzICJkZWZhdWx0X2Nhc2UiKSBwYXJlbnQtYm9sIGdvLXRzLW1vZGUt aW5kZW50LW9mZnNldCkKKyAgICAgKChwYXJlbnQtaXMgImV4cHJlc3Npb25fY2FzZSIpIHBhcmVu dC1ib2wgZ28tdHMtbW9kZS1pbmRlbnQtb2Zmc2V0KQorICAgICAoKHBhcmVudC1pcyAiZXhwcmVz c2lvbl9zd2l0Y2hfc3RhdGVtZW50IikgcGFyZW50LWJvbCAwKQorICAgICAoKHBhcmVudC1pcyAi ZmllbGRfZGVjbGFyYXRpb25fbGlzdCIpIHBhcmVudC1ib2wgZ28tdHMtbW9kZS1pbmRlbnQtb2Zm c2V0KQorICAgICAoKHBhcmVudC1pcyAiaW1wb3J0X3NwZWNfbGlzdCIpIHBhcmVudC1ib2wgZ28t dHMtbW9kZS1pbmRlbnQtb2Zmc2V0KQorICAgICAoKHBhcmVudC1pcyAibGFiZWxlZF9zdGF0ZW1l bnQiKSBwYXJlbnQtYm9sIGdvLXRzLW1vZGUtaW5kZW50LW9mZnNldCkKKyAgICAgKChwYXJlbnQt aXMgImxpdGVyYWxfdmFsdWUiKSBwYXJlbnQtYm9sIGdvLXRzLW1vZGUtaW5kZW50LW9mZnNldCkK KyAgICAgKChwYXJlbnQtaXMgInR5cGVfc3BlYyIpIHBhcmVudC1ib2wgZ28tdHMtbW9kZS1pbmRl bnQtb2Zmc2V0KQorICAgICAoKHBhcmVudC1pcyAidmFyX2RlY2xhcmF0aW9uIikgcGFyZW50LWJv bCBnby10cy1tb2RlLWluZGVudC1vZmZzZXQpCisgICAgIChuby1ub2RlIHBhcmVudC1ib2wgMCkp KQorICAiVHJlZS1zaXR0ZXIgaW5kZW50IHJ1bGVzIGZvciBgZ28tdHMtbW9kZScuIikKKworKGRl ZnZhciBnby10cy1tb2RlLS1rZXl3b3JkcworICAnKCJicmVhayIgImNhc2UiICJjaGFuIiAiY29u c3QiICJjb250aW51ZSIgImRlZmF1bHQiICJkZWZlciIgImVsc2UiCisgICAgImZhbGx0aHJvdWdo IiAiZm9yIiAiZnVuYyIgImdvIiAiZ290byIgImlmIiAiaW1wb3J0IiAiaW50ZXJmYWNlIiAibWFw IgorICAgICJwYWNrYWdlIiAicmFuZ2UiICJyZXR1cm4iICJzZWxlY3QiICJzdHJ1Y3QiICJzd2l0 Y2giICJ0eXBlIiAidmFyIikKKyAgIkdvIGtleXdvcmRzIGZvciB0cmVlLXNpdHRlciBmb250LWxv Y2tpbmcuIikKKworKGRlZnZhciBnby10cy1tb2RlLS1vcGVyYXRvcnMKKyAgJygiKyIgIiYiICIr PSIgIiY9IiAiJiYiICI9PSIgIiE9IiAiLSIgInwiICItPSIgInw9IiAifHwiICI8IiAiPD0iCisg ICAgIioiICJeIiAiKj0iICJePSIgIjwtIiAiPiIgIj49IiAiLyIgIjw8IiAiLz0iICI8PD0iICIr KyIgIj0iICI6PSIgIiUiCisgICAgIj4+IiAiJT0iICI+Pj0iICItLSIgIiEiICAiLi4uIiAgIiZe IiAiJl49IiAifiIpCisgICJHbyBvcGVyYXRvcnMgZm9yIHRyZWUtc2l0dGVyIGZvbnQtbG9ja2lu Zy4iKQorCisoZGVmdmFyIGdvLXRzLW1vZGUtLWZvbnQtbG9jay1zZXR0aW5ncworICAodHJlZXNp dC1mb250LWxvY2stcnVsZXMKKyAgIDpsYW5ndWFnZSAnZ28KKyAgIDpmZWF0dXJlICdicmFja2V0 CisgICAnKChbIigiICIpIiAiWyIgIl0iICJ7IiAifSJdKSBAZm9udC1sb2NrLWJyYWNrZXQtZmFj ZSkKKworICAgOmxhbmd1YWdlICdnbworICAgOmZlYXR1cmUgJ2NvbW1lbnQKKyAgICcoKGNvbW1l bnQpIEBmb250LWxvY2stY29tbWVudC1mYWNlKQorCisgICA6bGFuZ3VhZ2UgJ2dvCisgICA6ZmVh dHVyZSAnY29uc3RhbnQKKyAgICcoWyhmYWxzZSkgKGlvdGEpIChuaWwpICh0cnVlKV0gQGZvbnQt bG9jay1jb25zdGFudC1mYWNlCisgICAgIChjb25zdF9kZWNsYXJhdGlvbgorICAgICAgKGNvbnN0 X3NwZWMgbmFtZTogKGlkZW50aWZpZXIpIEBmb250LWxvY2stY29uc3RhbnQtZmFjZSkpKQorCisg ICA6bGFuZ3VhZ2UgJ2dvCisgICA6ZmVhdHVyZSAnZGVsaW1pdGVyCisgICAnKChbIiwiICIuIiAi OyIgIjoiXSkgQGZvbnQtbG9jay1kZWxpbWl0ZXItZmFjZSkKKworICAgOmxhbmd1YWdlICdnbwor ICAgOmZlYXR1cmUgJ2Z1bmN0aW9uCisgICAnKChjYWxsX2V4cHJlc3Npb24KKyAgICAgIGZ1bmN0 aW9uOiAoaWRlbnRpZmllcikgQGZvbnQtbG9jay1mdW5jdGlvbi1uYW1lLWZhY2UpCisgICAgIChj YWxsX2V4cHJlc3Npb24KKyAgICAgIGZ1bmN0aW9uOiAoc2VsZWN0b3JfZXhwcmVzc2lvbgorICAg ICAgICAgICAgICAgICBmaWVsZDogKGZpZWxkX2lkZW50aWZpZXIpIEBmb250LWxvY2stZnVuY3Rp b24tbmFtZS1mYWNlKSkKKyAgICAgKGZ1bmN0aW9uX2RlY2xhcmF0aW9uCisgICAgICBuYW1lOiAo aWRlbnRpZmllcikgQGZvbnQtbG9jay1mdW5jdGlvbi1uYW1lLWZhY2UpCisgICAgIChtZXRob2Rf ZGVjbGFyYXRpb24KKyAgICAgIG5hbWU6IChmaWVsZF9pZGVudGlmaWVyKSBAZm9udC1sb2NrLWZ1 bmN0aW9uLW5hbWUtZmFjZSkpCisKKyAgIDpsYW5ndWFnZSAnZ28KKyAgIDpmZWF0dXJlICdrZXl3 b3JkCisgICBgKFssQGdvLXRzLW1vZGUtLWtleXdvcmRzXSBAZm9udC1sb2NrLWtleXdvcmQtZmFj ZSkKKworICAgOmxhbmd1YWdlICdnbworICAgOmZlYXR1cmUgJ2xhYmVsCisgICAnKChsYWJlbF9u YW1lKSBAZm9udC1sb2NrLWNvbnN0YW50LWZhY2UpCisKKyAgIDpsYW5ndWFnZSAnZ28KKyAgIDpm ZWF0dXJlICdudW1iZXIKKyAgICcoWyhmbG9hdF9saXRlcmFsKQorICAgICAgKGltYWdpbmFyeV9s aXRlcmFsKQorICAgICAgKGludF9saXRlcmFsKV0gQGZvbnQtbG9jay1udW1iZXItZmFjZSkKKwor ICAgOmxhbmd1YWdlICdnbworICAgOmZlYXR1cmUgJ3N0cmluZworICAgJyhbKGludGVycHJldGVk X3N0cmluZ19saXRlcmFsKQorICAgICAgKHJhd19zdHJpbmdfbGl0ZXJhbCkKKyAgICAgIChydW5l X2xpdGVyYWwpXSBAZm9udC1sb2NrLXN0cmluZy1mYWNlKQorCisgICA6bGFuZ3VhZ2UgJ2dvCisg ICA6ZmVhdHVyZSAndHlwZQorICAgJyhbKHBhY2thZ2VfaWRlbnRpZmllcikgKHR5cGVfaWRlbnRp ZmllcildIEBmb250LWxvY2stdHlwZS1mYWNlKQorCisgICA6bGFuZ3VhZ2UgJ2dvCisgICA6ZmVh dHVyZSAndmFyaWFibGUKKyAgICcoKGlkZW50aWZpZXIpIEBmb250LWxvY2stdmFyaWFibGUtbmFt ZS1mYWNlKQorCisgICA6bGFuZ3VhZ2UgJ2dvCisgICA6ZmVhdHVyZSAnZXNjYXBlLXNlcXVlbmNl CisgICA6b3ZlcnJpZGUgdAorICAgJygoZXNjYXBlX3NlcXVlbmNlKSBAZm9udC1sb2NrLWVzY2Fw ZS1mYWNlKQorCisgICA6bGFuZ3VhZ2UgJ2dvCisgICA6ZmVhdHVyZSAncHJvcGVydHkKKyAgIDpv dmVycmlkZSB0CisgICAnKChmaWVsZF9pZGVudGlmaWVyKSBAZm9udC1sb2NrLXByb3BlcnR5LWZh Y2UKKyAgICAgKGtleWVkX2VsZW1lbnQgKF8gKGlkZW50aWZpZXIpIEBmb250LWxvY2stcHJvcGVy dHktZmFjZSkpKQorCisgICA6bGFuZ3VhZ2UgJ2dvCisgICA6ZmVhdHVyZSAnZXJyb3IKKyAgIDpv dmVycmlkZSB0CisgICAnKChFUlJPUikgQGZvbnQtbG9jay13YXJuaW5nLWZhY2UpKQorICAiVHJl ZS1zaXR0ZXIgZm9udC1sb2NrIHNldHRpbmdzIGZvciBgZ28tdHMtbW9kZScuIikKKworKGRlZnVu IGdvLXRzLW1vZGUtLWltZW51ICgpCisgICJSZXR1cm4gSW1lbnUgYWxpc3QgZm9yIHRoZSBjdXJy ZW50IGJ1ZmZlci4iCisgIChsZXQqICgobm9kZSAodHJlZXNpdC1idWZmZXItcm9vdC1ub2RlKSkK KyAgICAgICAgIChmdW5jLXRyZWUgKHRyZWVzaXQtaW5kdWNlLXNwYXJzZS10cmVlCisgICAgICAg ICAgICAgICAgICAgICBub2RlICJmdW5jdGlvbl9kZWNsYXJhdGlvbiIgbmlsIDEwMDApKQorICAg ICAgICAgKHR5cGUtdHJlZSAodHJlZXNpdC1pbmR1Y2Utc3BhcnNlLXRyZWUKKyAgICAgICAgICAg ICAgICAgICAgIG5vZGUgInR5cGVfc3BlYyIgbmlsIDEwMDApKQorICAgICAgICAgKGZ1bmMtaW5k ZXggKGdvLXRzLW1vZGUtLWltZW51LTEgZnVuYy10cmVlKSkKKyAgICAgICAgICh0eXBlLWluZGV4 IChnby10cy1tb2RlLS1pbWVudS0xIHR5cGUtdHJlZSkpKQorICAgIChhcHBlbmQKKyAgICAgKHdo ZW4gZnVuYy1pbmRleCBgKCgiRnVuY3Rpb24iIC4gLGZ1bmMtaW5kZXgpKSkKKyAgICAgKHdoZW4g dHlwZS1pbmRleCBgKCgiVHlwZSIgLiAsdHlwZS1pbmRleCkpKSkpKQorCisoZGVmdW4gZ28tdHMt bW9kZS0taW1lbnUtMSAobm9kZSkKKyAgIkhlbHBlciBmb3IgYGdvLXRzLW1vZGUtLWltZW51Jy4K K0ZpbmQgc3RyaW5nIHJlcHJlc2VudGF0aW9uIGZvciBOT0RFIGFuZCBzZXQgbWFya2VyLCB0aGVu IHJlY3Vyc2UKK3RoZSBzdWJ0cmVlcy4iCisgIChsZXQqICgodHMtbm9kZSAoY2FyIG5vZGUpKQor ICAgICAgICAgKGNoaWxkcmVuIChjZHIgbm9kZSkpCisgICAgICAgICAoc3VidHJlZXMgKG1hcGNh biAjJ2dvLXRzLW1vZGUtLWltZW51LTEKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIGNoaWxk cmVuKSkKKyAgICAgICAgIChuYW1lICh3aGVuIHRzLW5vZGUKKyAgICAgICAgICAgICAgICAgKHRy ZWVzaXQtbm9kZS10ZXh0CisgICAgICAgICAgICAgICAgICAocGNhc2UgKHRyZWVzaXQtbm9kZS10 eXBlIHRzLW5vZGUpCisgICAgICAgICAgICAgICAgICAgICgiZnVuY3Rpb25fZGVjbGFyYXRpb24i CisgICAgICAgICAgICAgICAgICAgICAodHJlZXNpdC1ub2RlLWNoaWxkLWJ5LWZpZWxkLW5hbWUg dHMtbm9kZSAibmFtZSIpKQorICAgICAgICAgICAgICAgICAgICAoInR5cGVfc3BlYyIKKyAgICAg ICAgICAgICAgICAgICAgICh0cmVlc2l0LW5vZGUtY2hpbGQtYnktZmllbGQtbmFtZSB0cy1ub2Rl ICJuYW1lIikpKSkpKQorICAgICAgICAgKG1hcmtlciAod2hlbiB0cy1ub2RlCisgICAgICAgICAg ICAgICAgICAgKHNldC1tYXJrZXIgKG1ha2UtbWFya2VyKQorICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICh0cmVlc2l0LW5vZGUtc3RhcnQgdHMtbm9kZSkpKSkpCisgICAgKGNvbmQKKyAg ICAgKChvciAobnVsbCB0cy1ub2RlKSAobnVsbCBuYW1lKSkgc3VidHJlZXMpCisgICAgIChzdWJ0 cmVlcworICAgICAgYCgoLG5hbWUgLChjb25zIG5hbWUgbWFya2VyKSAsQHN1YnRyZWVzKSkpCisg ICAgICh0CisgICAgICBgKCgsbmFtZSAuICxtYXJrZXIpKSkpKSkKKworOzs7IyMjYXV0b2xvYWQK KyhhZGQtdG8tbGlzdCAnYXV0by1tb2RlLWFsaXN0ICcoIlxcLmdvXFwnIiAuIGdvLXRzLW1vZGUp KQorCis7OzsjIyNhdXRvbG9hZAorKGRlZmluZS1kZXJpdmVkLW1vZGUgZ28tdHMtbW9kZSBwcm9n LW1vZGUgIkdvIgorICAiTWFqb3IgbW9kZSBmb3IgZWRpdGluZyBHbywgcG93ZXJlZCBieSB0cmVl LXNpdHRlci4iCisgIDpncm91cCAnZ28KKyAgOnN5bnRheC10YWJsZSBnby10cy1tb2RlLS1zeW50 YXgtdGFibGUKKworICAod2hlbiAodHJlZXNpdC1yZWFkeS1wICdnbykKKyAgICAodHJlZXNpdC1w YXJzZXItY3JlYXRlICdnbykKKworICAgIDs7IENvbW1lbnRzLgorICAgIChzZXRxLWxvY2FsIGNv bW1lbnQtc3RhcnQgIi8vICIpCisgICAgKHNldHEtbG9jYWwgY29tbWVudC1lbmQgIiIpCisgICAg KHNldHEtbG9jYWwgY29tbWVudC1zdGFydC1za2lwIChyeCAiLy8iICgqIChzeW50YXggd2hpdGVz cGFjZSkpKSkKKworICAgIDs7IEltZW51LgorICAgIChzZXRxLWxvY2FsIGltZW51LWNyZWF0ZS1p bmRleC1mdW5jdGlvbiAjJ2dvLXRzLW1vZGUtLWltZW51KQorICAgIChzZXRxLWxvY2FsIHdoaWNo LWZ1bmMtZnVuY3Rpb25zIG5pbCkKKworICAgIDs7IEluZGVudC4KKyAgICAoc2V0cS1sb2NhbCBp bmRlbnQtdGFicy1tb2RlIHQKKyAgICAgICAgICAgICAgICB0cmVlc2l0LXNpbXBsZS1pbmRlbnQt cnVsZXMgZ28tdHMtbW9kZS0taW5kZW50LXJ1bGVzKQorCisgICAgOzsgRm9udC1sb2NrLgorICAg IChzZXRxLWxvY2FsIHRyZWVzaXQtZm9udC1sb2NrLXNldHRpbmdzIGdvLXRzLW1vZGUtLWZvbnQt bG9jay1zZXR0aW5ncykKKyAgICAoc2V0cS1sb2NhbCB0cmVlc2l0LWZvbnQtbG9jay1mZWF0dXJl LWxpc3QKKyAgICAgICAgICAgICAgICAnKCggY29tbWVudCkKKyAgICAgICAgICAgICAgICAgICgg a2V5d29yZCBzdHJpbmcgdHlwZSkKKyAgICAgICAgICAgICAgICAgICggY29uc3RhbnQgZXNjYXBl LXNlcXVlbmNlIGZ1bmN0aW9uIGxhYmVsIG51bWJlcgorICAgICAgICAgICAgICAgICAgICBwcm9w ZXJ0eSB2YXJpYWJsZSkKKyAgICAgICAgICAgICAgICAgICggYnJhY2tldCBkZWxpbWl0ZXIgZXJy b3Igb3BlcmF0b3IpKSkKKworICAgICh0cmVlc2l0LW1ham9yLW1vZGUtc2V0dXApKSkKKworOzsg Z28ubW9kIHN1cHBvcnQuCisKKyhkZWZ2YXIgZ28tbW9kLXRzLW1vZGUtLXN5bnRheC10YWJsZQor ICAobGV0ICgodGFibGUgKG1ha2Utc3ludGF4LXRhYmxlKSkpCisgICAgKG1vZGlmeS1zeW50YXgt ZW50cnkgPy8gICAiLiAxMjRiIiB0YWJsZSkKKyAgICAobW9kaWZ5LXN5bnRheC1lbnRyeSA/XG4g ICI+IGIiICAgIHRhYmxlKQorICAgIHRhYmxlKQorICAiU3ludGF4IHRhYmxlIGZvciBgZ28tbW9k LXRzLW1vZGUnLiIpCisKKyhkZWZ2YXIgZ28tbW9kLXRzLW1vZGUtLWluZGVudC1ydWxlcworICBg KChnb21vZAorICAgICAoKG5vZGUtaXMgIikiKSBwYXJlbnQtYm9sIDApCisgICAgICgocGFyZW50 LWlzICJleGNsdWRlX2RpcmVjdGl2ZSIpIHBhcmVudC1ib2wgZ28tdHMtbW9kZS1pbmRlbnQtb2Zm c2V0KQorICAgICAoKHBhcmVudC1pcyAibW9kdWxlX2RpcmVjdGl2ZSIpIHBhcmVudC1ib2wgZ28t dHMtbW9kZS1pbmRlbnQtb2Zmc2V0KQorICAgICAoKHBhcmVudC1pcyAicmVwbGFjZV9kaXJlY3Rp dmUiKSBwYXJlbnQtYm9sIGdvLXRzLW1vZGUtaW5kZW50LW9mZnNldCkKKyAgICAgKChwYXJlbnQt aXMgInJlcXVpcmVfZGlyZWN0aXZlIikgcGFyZW50LWJvbCBnby10cy1tb2RlLWluZGVudC1vZmZz ZXQpCisgICAgICgocGFyZW50LWlzICJyZXRyYWN0X2RpcmVjdGl2ZSIpIHBhcmVudC1ib2wgZ28t dHMtbW9kZS1pbmRlbnQtb2Zmc2V0KQorICAgICAoKGdvLW1vZC10cy1tb2RlLS1pbi1kaXJlY3Rp dmUtcCkgbm8taW5kZW50IGdvLXRzLW1vZGUtaW5kZW50LW9mZnNldCkKKyAgICAgKG5vLW5vZGUg bm8taW5kZW50IDApKSkKKyAgIlRyZWUtc2l0dGVyIGluZGVudCBydWxlcyBmb3IgYGdvLW1vZC10 cy1tb2RlJy4iKQorCisoZGVmdW4gZ28tbW9kLXRzLW1vZGUtLWluLWRpcmVjdGl2ZS1wICgpCisg ICJSZXR1cm4gbm9uLW5pbCBpZiBpbnNpZGUgYSBkaXJlY3RpdmUuCitXaGVuIGVudGVyaW5nIGFu IGVtcHR5IGRpcmVjdGl2ZSBvciBhZGRpbmcgYSBuZXcgZW50cnkgdG8gb25lLCBubyBub2RlCit3 aWxsIGJlIHByZXNlbnQgbWVhbmluZyBub25lIG9mIHRoZSBpbmRlbnRhdGlvbiBydWxlcyB3aWxs IG1hdGNoLAorYmVjYXVzZSB0aGVyZSBpcyBubyBwYXJlbnQgdG8gbWF0Y2ggYWdhaW5zdC4gIFRo aXMgZnVuY3Rpb24gZGV0ZXJtaW5lcword2hhdCB0aGUgcGFyZW50IG9mIHRoZSBub2RlIHdvdWxk IGJlIGlmIGl0IHdlcmUgYSBub2RlLiIKKyAgKGxhbWJkYSAobm9kZSBfIF8gJnJlc3QgXykKKyAg ICAodW5sZXNzICh0cmVlc2l0LW5vZGUtdHlwZSBub2RlKQorICAgICAgKHNhdmUtZXhjdXJzaW9u CisgICAgICAgIChiYWNrd2FyZC11cC1saXN0KQorICAgICAgICAoYmFjay10by1pbmRlbnRhdGlv bikKKyAgICAgICAgKHBjYXNlICh0cmVlc2l0LW5vZGUtdHlwZSAodHJlZXNpdC1ub2RlLWF0IChw b2ludCkpKQorICAgICAgICAgICgiZXhjbHVkZSIgdCkKKyAgICAgICAgICAoIm1vZHVsZSIgdCkK KyAgICAgICAgICAoInJlcGxhY2UiIHQpCisgICAgICAgICAgKCJyZXF1aXJlIiB0KQorICAgICAg ICAgICgicmV0cmFjdCIgdCkpKSkpKQorCisoZGVmdmFyIGdvLW1vZC10cy1tb2RlLS1rZXl3b3Jk cworICAnKCJleGNsdWRlIiAiZ28iICJtb2R1bGUiICJyZXBsYWNlIiAicmVxdWlyZSIgInJldHJh Y3QiKQorICAiZ28ubW9kIGtleXdvcmRzIGZvciB0cmVlLXNpdHRlciBmb250LWxvY2tpbmcuIikK KworKGRlZnZhciBnby1tb2QtdHMtbW9kZS0tZm9udC1sb2NrLXNldHRpbmdzCisgICh0cmVlc2l0 LWZvbnQtbG9jay1ydWxlcworICAgOmxhbmd1YWdlICdnb21vZAorICAgOmZlYXR1cmUgJ2JyYWNr ZXQKKyAgICcoKFsiKCIgIikiXSkgQGZvbnQtbG9jay1icmFja2V0LWZhY2UpCisKKyAgIDpsYW5n dWFnZSAnZ29tb2QKKyAgIDpmZWF0dXJlICdjb21tZW50CisgICAnKChjb21tZW50KSBAZm9udC1s b2NrLWNvbW1lbnQtZmFjZSkKKworICAgOmxhbmd1YWdlICdnb21vZAorICAgOmZlYXR1cmUgJ2tl eXdvcmQKKyAgIGAoWyxAZ28tbW9kLXRzLW1vZGUtLWtleXdvcmRzXSBAZm9udC1sb2NrLWtleXdv cmQtZmFjZSkKKworICAgOmxhbmd1YWdlICdnb21vZAorICAgOmZlYXR1cmUgJ251bWJlcgorICAg JyhbKGdvX3ZlcnNpb24pICh2ZXJzaW9uKV0gQGZvbnQtbG9jay1udW1iZXItZmFjZSkKKworICAg Omxhbmd1YWdlICdnb21vZAorICAgOmZlYXR1cmUgJ29wZXJhdG9yCisgICAnKChbIj0+Il0pIEBm b250LWxvY2stb3BlcmF0b3ItZmFjZSkKKworICAgOmxhbmd1YWdlICdnb21vZAorICAgOmZlYXR1 cmUgJ2Vycm9yCisgICA6b3ZlcnJpZGUgdAorICAgJygoRVJST1IpIEBmb250LWxvY2std2Fybmlu Zy1mYWNlKSkKKyAgIlRyZWUtc2l0dGVyIGZvbnQtbG9jayBzZXR0aW5ncyBmb3IgYGdvLW1vZC10 cy1tb2RlJy4iKQorCis7OzsjIyNhdXRvbG9hZAorKGFkZC10by1saXN0ICdhdXRvLW1vZGUtYWxp c3QgJygiL2dvXFwubW9kXFwnIiAuIGdvLW1vZC10cy1tb2RlKSkKKworOzs7IyMjYXV0b2xvYWQK KyhkZWZpbmUtZGVyaXZlZC1tb2RlIGdvLW1vZC10cy1tb2RlIHByb2ctbW9kZSAiR28gTW9kIgor ICAiTWFqb3IgbW9kZSBmb3IgZWRpdGluZyBnby5tb2QgZmlsZXMsIHBvd2VyZWQgYnkgdHJlZS1z aXR0ZXIuIgorICA6Z3JvdXAgJ2dvCisgIDpzeW50YXgtdGFibGUgZ28tbW9kLXRzLW1vZGUtLXN5 bnRheC10YWJsZQorCisgICh3aGVuICh0cmVlc2l0LXJlYWR5LXAgJ2dvbW9kKQorICAgICh0cmVl c2l0LXBhcnNlci1jcmVhdGUgJ2dvbW9kKQorCisgICAgOzsgQ29tbWVudHMuCisgICAgKHNldHEt bG9jYWwgY29tbWVudC1zdGFydCAiLy8gIikKKyAgICAoc2V0cS1sb2NhbCBjb21tZW50LWVuZCAi IikKKyAgICAoc2V0cS1sb2NhbCBjb21tZW50LXN0YXJ0LXNraXAgKHJ4ICIvLyIgKCogKHN5bnRh eCB3aGl0ZXNwYWNlKSkpKQorCisgICAgOzsgSW5kZW50LgorICAgIChzZXRxLWxvY2FsIGluZGVu dC10YWJzLW1vZGUgdAorICAgICAgICAgICAgICAgIHRyZWVzaXQtc2ltcGxlLWluZGVudC1ydWxl cyBnby1tb2QtdHMtbW9kZS0taW5kZW50LXJ1bGVzKQorCisgICAgOzsgRm9udC1sb2NrLgorICAg IChzZXRxLWxvY2FsIHRyZWVzaXQtZm9udC1sb2NrLXNldHRpbmdzIGdvLW1vZC10cy1tb2RlLS1m b250LWxvY2stc2V0dGluZ3MpCisgICAgKHNldHEtbG9jYWwgdHJlZXNpdC1mb250LWxvY2stZmVh dHVyZS1saXN0CisgICAgICAgICAgICAgICAgJygoY29tbWVudCkKKyAgICAgICAgICAgICAgICAg IChrZXl3b3JkKQorICAgICAgICAgICAgICAgICAgKG51bWJlcikKKyAgICAgICAgICAgICAgICAg IChicmFja2V0IGVycm9yIG9wZXJhdG9yKSkpCisKKyAgICAodHJlZXNpdC1tYWpvci1tb2RlLXNl dHVwKSkpCisKKyhwcm92aWRlICdnby10cy1tb2RlKQorCis7OzsgZ28tdHMtbW9kZS5lbCBlbmRz IGhlcmUKLS0gCjIuMzkuMAoK --b1_PSne8v89CFs2pD0oxdxGxIx7KoWsnsVARq7EqFgwgE--