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 20:09:38 +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_z4hrPIzRyWYWtzeHeDAHIblL2eHMjYZnIwGReM5qI" Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="40247"; 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 21:10:20 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 1p5uYc-000A9p-Vf for geb-bug-gnu-emacs@m.gmane-mx.org; Thu, 15 Dec 2022 21:10:19 +0100 Original-Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1p5uYQ-0005LC-0Z; Thu, 15 Dec 2022 15:10:06 -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 1p5uYN-0005Hl-Dq for bug-gnu-emacs@gnu.org; Thu, 15 Dec 2022 15:10:03 -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 1p5uYN-0004ra-2x for bug-gnu-emacs@gnu.org; Thu, 15 Dec 2022 15:10:03 -0500 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1p5uYM-000384-HS for bug-gnu-emacs@gnu.org; Thu, 15 Dec 2022 15:10: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 20:10: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.167113499712018 (code B ref 60025); Thu, 15 Dec 2022 20:10:02 +0000 Original-Received: (at 60025) by debbugs.gnu.org; 15 Dec 2022 20:09:57 +0000 Original-Received: from localhost ([127.0.0.1]:44665 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1p5uYG-00037k-Sn for submit@debbugs.gnu.org; Thu, 15 Dec 2022 15:09:57 -0500 Original-Received: from mail-4022.proton.ch ([185.70.40.22]:62083) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1p5uYD-00037c-9o for 60025@debbugs.gnu.org; Thu, 15 Dec 2022 15:09:55 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=rjt.dev; s=protonmail2; t=1671134985; x=1671394185; bh=ZR5iliEZAdM7Phe5QQqDLzMiQEX64p6VV6dZVh0xV68=; 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=IApB9WwFLSQWvuDnPKG7tr33uWCFBvmQ5yruCO9g/UOuE3K/iLUK8f9lehqaLJBre wzpbUmKijpkSy0x1YI7VCnURi7zTXe6N5XNhar9hZ95UHi8x3kTn6fY2NB8vXUMd86 r4af0PfTkB06LQLFdsAa/BfaTrK9CgiLAcZYV1HPq9umAm1MV8UDfCrdPYLcomLGLX LeWibSd3K1qU+tAOKHvT3VRqNOutNnldX5uatQGa/GJ37mYpGbIe4SpAZ43gtZBA6V 1L/32N2llSoAdT5vI48y8sAMFhzdTeldjbjwM6drFiOq2ZOPbS8gPah9yEimK861Eh ouQZHDB24vOhQ== In-Reply-To: <87y1r8zbe7.fsf@thornhill.no> 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:251146 Archived-At: This is a multi-part message in MIME format. --b1_z4hrPIzRyWYWtzeHeDAHIblL2eHMjYZnIwGReM5qI Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable On Thursday, December 15th, 2022 at 14:59, Theodor Thornhill wrote: > Randy Taylor dev@rjt.dev writes: >=20 > > Patch OK to install otherwise? >=20 >=20 > Sure :-) >=20 > Theo Thanks. Yuan, I've attached the latest and greatest patch (same as the one a few th= reads up but no need to make you hunt for it ;)). Ready to install whenever= , unless anyone has any other comments. --b1_z4hrPIzRyWYWtzeHeDAHIblL2eHMjYZnIwGReM5qI 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 RnJvbSAyMTRhMWI2NDY2M2M0M2Q5YmE3ZmZhNzQ4YjVkNzczMTZmYmMyYjEyIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBSYW5keSBUYXlsb3IgPGRldkByanQuZGV2PgpEYXRlOiBTdW4s IDExIERlYyAyMDIyIDE4OjQxOjE2IC0wNTAwClN1YmplY3Q6IFtQQVRDSF0gQWRkIGdvLXRzLW1v ZGUgYW5kIGdvLW1vZC10cy1tb2RlIChCdWcjNjAwMjUpCgoqIGFkbWluL25vdGVzL3RyZWUtc2l0 dGVyL2J1aWxkLW1vZHVsZS9iYXRjaC5zaDoKKiBhZG1pbi9ub3Rlcy90cmVlLXNpdHRlci9idWls ZC1tb2R1bGUvYnVpbGQuc2g6IEFkZCBnby1tb2Qgc3VwcG9ydC4KKiBldGMvTkVXUzogTWVudGlv biB0aGVtLgoqIGxpc3AvcHJvZ21vZGVzL2VnbG90LmVsIChlZ2xvdC1zZXJ2ZXItcHJvZ3JhbXMp OiBBZGQgdGhlbS4KKiBsaXNwL3Byb2dtb2Rlcy9nby10cy1tb2RlLmVsOiBOZXcgbWFqb3IgbW9k ZXMgd2l0aAp0cmVlLXNpdHRlciBzdXBwb3J0LgotLS0KIGFkbWluL25vdGVzL3RyZWUtc2l0dGVy L2J1aWxkLW1vZHVsZS9iYXRjaC5zaCB8ICAgMSArCiBhZG1pbi9ub3Rlcy90cmVlLXNpdHRlci9i dWlsZC1tb2R1bGUvYnVpbGQuc2ggfCAgIDUgKwogZXRjL05FV1MgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIHwgICA4ICsKIGxpc3AvcHJvZ21vZGVzL2VnbG90LmVsICAgICAg ICAgICAgICAgICAgICAgICB8ICAgMyArLQogbGlzcC9wcm9nbW9kZXMvZ28tdHMtbW9kZS5lbCAg ICAgICAgICAgICAgICAgIHwgMzU0ICsrKysrKysrKysrKysrKysrKwogNSBmaWxlcyBjaGFuZ2Vk LCAzNzAgaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbigtKQogY3JlYXRlIG1vZGUgMTAwNjQ0IGxp c3AvcHJvZ21vZGVzL2dvLXRzLW1vZGUuZWwKCmRpZmYgLS1naXQgYS9hZG1pbi9ub3Rlcy90cmVl LXNpdHRlci9idWlsZC1tb2R1bGUvYmF0Y2guc2ggYi9hZG1pbi9ub3Rlcy90cmVlLXNpdHRlci9i dWlsZC1tb2R1bGUvYmF0Y2guc2gKaW5kZXggZTdlZjQ1Y2Y1Ny4uYzUwYjlkZjM3ZSAxMDA3NTUK LS0tIGEvYWRtaW4vbm90ZXMvdHJlZS1zaXR0ZXIvYnVpbGQtbW9kdWxlL2JhdGNoLnNoCisrKyBi L2FkbWluL25vdGVzL3RyZWUtc2l0dGVyL2J1aWxkLW1vZHVsZS9iYXRjaC5zaApAQCAtOSw2ICs5 LDcgQEAgbGFuZ3VhZ2VzPQogICAgICdjLXNoYXJwJwogICAgICdkb2NrZXJmaWxlJwogICAgICdn bycKKyAgICAnZ28tbW9kJwogICAgICdodG1sJwogICAgICdqYXZhc2NyaXB0JwogICAgICdqc29u JwpkaWZmIC0tZ2l0IGEvYWRtaW4vbm90ZXMvdHJlZS1zaXR0ZXIvYnVpbGQtbW9kdWxlL2J1aWxk LnNoIGIvYWRtaW4vbm90ZXMvdHJlZS1zaXR0ZXIvYnVpbGQtbW9kdWxlL2J1aWxkLnNoCmluZGV4 IDQxOTVlYTU4YzMuLjZkMjIxMjdiZDEgMTAwNzU1Ci0tLSBhL2FkbWluL25vdGVzL3RyZWUtc2l0 dGVyL2J1aWxkLW1vZHVsZS9idWlsZC5zaAorKysgYi9hZG1pbi9ub3Rlcy90cmVlLXNpdHRlci9i dWlsZC1tb2R1bGUvYnVpbGQuc2gKQEAgLTI2LDYgKzI2LDExIEBAIGdyYW1tYXJkaXI9CiAgICAg ImNtYWtlIikKICAgICAgICAgb3JnPSJ1eWhhIgogICAgICAgICA7OworICAgICJnby1tb2QiKQor ICAgICAgICAjIFRoZSBwYXJzZXIgaXMgY2FsbGVkICJnb21vZCIuCisgICAgICAgIGxhbmc9Imdv bW9kIgorICAgICAgICBuYW1lc3BhY2U9ImNhbWRlbmNoZWVrIgorICAgICAgICA7OwogICAgICJ0 eXBlc2NyaXB0IikKICAgICAgICAgc291cmNlZGlyPSJ0cmVlLXNpdHRlci10eXBlc2NyaXB0L3R5 cGVzY3JpcHQvc3JjIgogICAgICAgICBncmFtbWFyZGlyPSJ0cmVlLXNpdHRlci10eXBlc2NyaXB0 L3R5cGVzY3JpcHQiCmRpZmYgLS1naXQgYS9ldGMvTkVXUyBiL2V0Yy9ORVdTCmluZGV4IDZmMGQx ZjY1YmYuLjEyMTcwN2UyZDIgMTAwNjQ0Ci0tLSBhL2V0Yy9ORVdTCisrKyBiL2V0Yy9ORVdTCkBA IC0zMDgxLDYgKzMwODEsMTQgQEAgQSBtYWpvciBtb2RlIGJhc2VkIG9uIHRoZSB0cmVlLXNpdHRl ciBsaWJyYXJ5IGZvciBlZGl0aW5nIGZpbGVzCiB3cml0dGVuIGluIFRPTUwsIGEgZm9ybWF0IGZv ciB3cml0aW5nIGNvbmZpZ3VyYXRpb24gZmlsZXMuICBJdCBpcwogYXV0by1lbmFibGVkIGZvciBm aWxlcyB3aXRoIHRoZSAiLnRvbWwiIGV4dGVuc2lvbi4KIAorKioqIE5ldyBtYWpvciBtb2RlICdn by10cy1tb2RlJy4KK0EgbWFqb3IgbW9kZSBiYXNlZCBvbiB0aGUgdHJlZS1zaXR0ZXIgbGlicmFy eSBmb3IgZWRpdGluZyBwcm9ncmFtcyBpbgordGhlIEdvIGxhbmd1YWdlLiAgSXQgaXMgYXV0by1l bmFibGVkIGZvciBmaWxlcyB3aXRoIHRoZSAiLmdvIiBleHRlbnNpb24uCisKKyoqKiBOZXcgbWFq b3IgbW9kZSAnZ28tbW9kLXRzLW1vZGUnLgorQSBtYWpvciBtb2RlIGJhc2VkIG9uIHRoZSB0cmVl LXNpdHRlciBsaWJyYXJ5IGZvciBlZGl0aW5nICJnby5tb2QiCitmaWxlcy4gIEl0IGlzIGF1dG8t ZW5hYmxlZCBmb3IgZmlsZXMgd2hpY2ggYXJlIG5hbWVkICJnby5tb2QiLgorCiAMCiAqIEluY29t cGF0aWJsZSBMaXNwIENoYW5nZXMgaW4gRW1hY3MgMjkuMQogCmRpZmYgLS1naXQgYS9saXNwL3By b2dtb2Rlcy9lZ2xvdC5lbCBiL2xpc3AvcHJvZ21vZGVzL2VnbG90LmVsCmluZGV4IDljNWEzNjFk ZjcuLjAyYmI2YmI2NjUgMTAwNjQ0Ci0tLSBhL2xpc3AvcHJvZ21vZGVzL2VnbG90LmVsCisrKyBi L2xpc3AvcHJvZ21vZGVzL2VnbG90LmVsCkBAIC0yMTEsNyArMjExLDggQEAgZWdsb3Qtc2VydmVy LXByb2dyYW1zCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChlbG0tbW9kZSAuICgi ZWxtLWxhbmd1YWdlLXNlcnZlciIpKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAo bWludC1tb2RlIC4gKCJtaW50IiAibHMiKSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgKGtvdGxpbi1tb2RlIC4gKCJrb3RsaW4tbGFuZ3VhZ2Utc2VydmVyIikpCi0gICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICgoZ28tbW9kZSBnby1kb3QtbW9kLW1vZGUgZ28tZG90LXdv cmstbW9kZSkgLiAoImdvcGxzIikpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgo Z28tbW9kZSBnby1kb3QtbW9kLW1vZGUgZ28tZG90LXdvcmstbW9kZSBnby10cy1tb2RlIGdvLW1v ZC10cy1tb2RlKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLiAoImdvcGxzIikp CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoUi1tb2RlIGVzcy1yLW1vZGUpIC4g KCJSIiAiLS1zbGF2ZSIgIi1lIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAibGFuZ3VhZ2VzZXJ2ZXI6OnJ1bigpIikpCiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICgoamF2YS1tb2RlIGphdmEtdHMtbW9kZSkgLiAoImpkdGxz IikpCmRpZmYgLS1naXQgYS9saXNwL3Byb2dtb2Rlcy9nby10cy1tb2RlLmVsIGIvbGlzcC9wcm9n bW9kZXMvZ28tdHMtbW9kZS5lbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw Li4xMjRkOWIwNDRhCi0tLSAvZGV2L251bGwKKysrIGIvbGlzcC9wcm9nbW9kZXMvZ28tdHMtbW9k ZS5lbApAQCAtMCwwICsxLDM1NCBAQAorOzs7IGdvLXRzLW1vZGUuZWwgLS0tIHRyZWUtc2l0dGVy IHN1cHBvcnQgZm9yIEdvICAtKi0gbGV4aWNhbC1iaW5kaW5nOiB0OyAtKi0KKworOzsgQ29weXJp Z2h0IChDKSAyMDIyIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgorCis7OyBBdXRob3Ig ICAgIDogUmFuZHkgVGF5bG9yIDxkZXZAcmp0LmRldj4KKzs7IE1haW50YWluZXIgOiBSYW5keSBU YXlsb3IgPGRldkByanQuZGV2PgorOzsgQ3JlYXRlZCAgICA6IERlY2VtYmVyIDIwMjIKKzs7IEtl eXdvcmRzICAgOiBnbyBsYW5ndWFnZXMgdHJlZS1zaXR0ZXIKKworOzsgVGhpcyBmaWxlIGlzIHBh cnQgb2YgR05VIEVtYWNzLgorCis7OyBHTlUgRW1hY3MgaXMgZnJlZSBzb2Z0d2FyZTogeW91IGNh biByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorOzsgaXQgdW5kZXIgdGhlIHRlcm1zIG9m IHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKKzs7IHRoZSBG cmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2Us IG9yCis7OyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorCis7OyBHTlUgRW1h Y3MgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKzs7 IGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJh bnR5IG9mCis7OyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBV UlBPU0UuICBTZWUgdGhlCis7OyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBk ZXRhaWxzLgorCis7OyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUg R2VuZXJhbCBQdWJsaWMgTGljZW5zZQorOzsgYWxvbmcgd2l0aCBHTlUgRW1hY3MuICBJZiBub3Qs IHNlZSA8aHR0cHM6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LgorCis7OzsgQ29tbWVudGFyeToK Kzs7CisKKzs7OyBDb2RlOgorCisocmVxdWlyZSAndHJlZXNpdCkKKyhldmFsLXdoZW4tY29tcGls ZSAocmVxdWlyZSAncngpKQorCisoZGVjbGFyZS1mdW5jdGlvbiB0cmVlc2l0LXBhcnNlci1jcmVh dGUgInRyZWVzaXQuYyIpCisoZGVjbGFyZS1mdW5jdGlvbiB0cmVlc2l0LWluZHVjZS1zcGFyc2Ut dHJlZSAidHJlZXNpdC5jIikKKyhkZWNsYXJlLWZ1bmN0aW9uIHRyZWVzaXQtbm9kZS1jaGlsZCAi dHJlZXNpdC5jIikKKyhkZWNsYXJlLWZ1bmN0aW9uIHRyZWVzaXQtbm9kZS1jaGlsZC1ieS1maWVs ZC1uYW1lICJ0cmVlc2l0LmMiKQorKGRlY2xhcmUtZnVuY3Rpb24gdHJlZXNpdC1ub2RlLXN0YXJ0 ICJ0cmVlc2l0LmMiKQorKGRlY2xhcmUtZnVuY3Rpb24gdHJlZXNpdC1ub2RlLXR5cGUgInRyZWVz aXQuYyIpCisKKyhkZWZjdXN0b20gZ28tdHMtbW9kZS1pbmRlbnQtb2Zmc2V0IDQKKyAgIk51bWJl ciBvZiBzcGFjZXMgZm9yIGVhY2ggaW5kZW50YXRpb24gc3RlcCBpbiBgZ28tdHMtbW9kZScuIgor ICA6dmVyc2lvbiAiMjkuMSIKKyAgOnR5cGUgJ2ludGVnZXIKKyAgOnNhZmUgJ2ludGVnZXJwCisg IDpncm91cCAnZ28pCisKKyhkZWZ2YXIgZ28tdHMtbW9kZS0tc3ludGF4LXRhYmxlCisgIChsZXQg KCh0YWJsZSAobWFrZS1zeW50YXgtdGFibGUpKSkKKyAgICAobW9kaWZ5LXN5bnRheC1lbnRyeSA/ KyAgICIuIiAgICAgIHRhYmxlKQorICAgIChtb2RpZnktc3ludGF4LWVudHJ5ID8tICAgIi4iICAg ICAgdGFibGUpCisgICAgKG1vZGlmeS1zeW50YXgtZW50cnkgPz0gICAiLiIgICAgICB0YWJsZSkK KyAgICAobW9kaWZ5LXN5bnRheC1lbnRyeSA/JSAgICIuIiAgICAgIHRhYmxlKQorICAgIChtb2Rp Znktc3ludGF4LWVudHJ5ID8mICAgIi4iICAgICAgdGFibGUpCisgICAgKG1vZGlmeS1zeW50YXgt ZW50cnkgP3wgICAiLiIgICAgICB0YWJsZSkKKyAgICAobW9kaWZ5LXN5bnRheC1lbnRyeSA/XiAg ICIuIiAgICAgIHRhYmxlKQorICAgIChtb2RpZnktc3ludGF4LWVudHJ5ID8hICAgIi4iICAgICAg dGFibGUpCisgICAgKG1vZGlmeS1zeW50YXgtZW50cnkgPzwgICAiLiIgICAgICB0YWJsZSkKKyAg ICAobW9kaWZ5LXN5bnRheC1lbnRyeSA/PiAgICIuIiAgICAgIHRhYmxlKQorICAgIChtb2RpZnkt c3ludGF4LWVudHJ5ID9cXCAgIlxcIiAgICAgdGFibGUpCisgICAgKG1vZGlmeS1zeW50YXgtZW50 cnkgPy8gICAiLiAxMjRiIiB0YWJsZSkKKyAgICAobW9kaWZ5LXN5bnRheC1lbnRyeSA/KiAgICIu IDIzIiAgIHRhYmxlKQorICAgIChtb2RpZnktc3ludGF4LWVudHJ5ID9cbiAgIj4gYiIgICAgdGFi bGUpCisgICAgdGFibGUpCisgICJTeW50YXggdGFibGUgZm9yIGBnby10cy1tb2RlJy4iKQorCiso ZGVmdmFyIGdvLXRzLW1vZGUtLWluZGVudC1ydWxlcworICBgKChnbworICAgICAoKG5vZGUtaXMg IikiKSBwYXJlbnQtYm9sIDApCisgICAgICgobm9kZS1pcyAiXSIpIHBhcmVudC1ib2wgMCkKKyAg ICAgKChub2RlLWlzICJ9IikgcGFyZW50LWJvbCAwKQorICAgICAoKG5vZGUtaXMgImxhYmVsZWRf c3RhdGVtZW50Iikgbm8taW5kZW50KQorICAgICAoKHBhcmVudC1pcyAiYXJndW1lbnRfbGlzdCIp IHBhcmVudC1ib2wgZ28tdHMtbW9kZS1pbmRlbnQtb2Zmc2V0KQorICAgICAoKHBhcmVudC1pcyAi YmxvY2siKSBwYXJlbnQtYm9sIGdvLXRzLW1vZGUtaW5kZW50LW9mZnNldCkKKyAgICAgKChwYXJl bnQtaXMgImNvbnN0X2RlY2xhcmF0aW9uIikgcGFyZW50LWJvbCBnby10cy1tb2RlLWluZGVudC1v ZmZzZXQpCisgICAgICgocGFyZW50LWlzICJkZWZhdWx0X2Nhc2UiKSBwYXJlbnQtYm9sIGdvLXRz LW1vZGUtaW5kZW50LW9mZnNldCkKKyAgICAgKChwYXJlbnQtaXMgImV4cHJlc3Npb25fY2FzZSIp IHBhcmVudC1ib2wgZ28tdHMtbW9kZS1pbmRlbnQtb2Zmc2V0KQorICAgICAoKHBhcmVudC1pcyAi ZXhwcmVzc2lvbl9zd2l0Y2hfc3RhdGVtZW50IikgcGFyZW50LWJvbCAwKQorICAgICAoKHBhcmVu dC1pcyAiZmllbGRfZGVjbGFyYXRpb25fbGlzdCIpIHBhcmVudC1ib2wgZ28tdHMtbW9kZS1pbmRl bnQtb2Zmc2V0KQorICAgICAoKHBhcmVudC1pcyAiaW1wb3J0X3NwZWNfbGlzdCIpIHBhcmVudC1i b2wgZ28tdHMtbW9kZS1pbmRlbnQtb2Zmc2V0KQorICAgICAoKHBhcmVudC1pcyAibGFiZWxlZF9z dGF0ZW1lbnQiKSBwYXJlbnQtYm9sIGdvLXRzLW1vZGUtaW5kZW50LW9mZnNldCkKKyAgICAgKChw YXJlbnQtaXMgImxpdGVyYWxfdmFsdWUiKSBwYXJlbnQtYm9sIGdvLXRzLW1vZGUtaW5kZW50LW9m ZnNldCkKKyAgICAgKChwYXJlbnQtaXMgInR5cGVfc3BlYyIpIHBhcmVudC1ib2wgZ28tdHMtbW9k ZS1pbmRlbnQtb2Zmc2V0KQorICAgICAoKHBhcmVudC1pcyAidmFyX2RlY2xhcmF0aW9uIikgcGFy ZW50LWJvbCBnby10cy1tb2RlLWluZGVudC1vZmZzZXQpCisgICAgIChuby1ub2RlIHBhcmVudC1i b2wgMCkpKQorICAiVHJlZS1zaXR0ZXIgaW5kZW50IHJ1bGVzIGZvciBgZ28tdHMtbW9kZScuIikK KworKGRlZnZhciBnby10cy1tb2RlLS1rZXl3b3JkcworICAnKCJicmVhayIgImNhc2UiICJjaGFu IiAiY29uc3QiICJjb250aW51ZSIgImRlZmF1bHQiICJkZWZlciIgImVsc2UiCisgICAgImZhbGx0 aHJvdWdoIiAiZm9yIiAiZnVuYyIgImdvIiAiZ290byIgImlmIiAiaW1wb3J0IiAiaW50ZXJmYWNl IiAibWFwIgorICAgICJwYWNrYWdlIiAicmFuZ2UiICJyZXR1cm4iICJzZWxlY3QiICJzdHJ1Y3Qi ICJzd2l0Y2giICJ0eXBlIiAidmFyIikKKyAgIkdvIGtleXdvcmRzIGZvciB0cmVlLXNpdHRlciBm b250LWxvY2tpbmcuIikKKworKGRlZnZhciBnby10cy1tb2RlLS1vcGVyYXRvcnMKKyAgJygiKyIg IiYiICIrPSIgIiY9IiAiJiYiICI9PSIgIiE9IiAiLSIgInwiICItPSIgInw9IiAifHwiICI8IiAi PD0iCisgICAgIioiICJeIiAiKj0iICJePSIgIjwtIiAiPiIgIj49IiAiLyIgIjw8IiAiLz0iICI8 PD0iICIrKyIgIj0iICI6PSIgIiUiCisgICAgIj4+IiAiJT0iICI+Pj0iICItLSIgIiEiICAiLi4u IiAgIiZeIiAiJl49IiAifiIpCisgICJHbyBvcGVyYXRvcnMgZm9yIHRyZWUtc2l0dGVyIGZvbnQt bG9ja2luZy4iKQorCisoZGVmdmFyIGdvLXRzLW1vZGUtLWZvbnQtbG9jay1zZXR0aW5ncworICAo dHJlZXNpdC1mb250LWxvY2stcnVsZXMKKyAgIDpsYW5ndWFnZSAnZ28KKyAgIDpmZWF0dXJlICdi cmFja2V0CisgICAnKChbIigiICIpIiAiWyIgIl0iICJ7IiAifSJdKSBAZm9udC1sb2NrLWJyYWNr ZXQtZmFjZSkKKworICAgOmxhbmd1YWdlICdnbworICAgOmZlYXR1cmUgJ2NvbW1lbnQKKyAgICco KGNvbW1lbnQpIEBmb250LWxvY2stY29tbWVudC1mYWNlKQorCisgICA6bGFuZ3VhZ2UgJ2dvCisg ICA6ZmVhdHVyZSAnY29uc3RhbnQKKyAgICcoWyhmYWxzZSkgKGlvdGEpIChuaWwpICh0cnVlKV0g QGZvbnQtbG9jay1jb25zdGFudC1mYWNlCisgICAgIChjb25zdF9kZWNsYXJhdGlvbgorICAgICAg KGNvbnN0X3NwZWMgbmFtZTogKGlkZW50aWZpZXIpIEBmb250LWxvY2stY29uc3RhbnQtZmFjZSkp KQorCisgICA6bGFuZ3VhZ2UgJ2dvCisgICA6ZmVhdHVyZSAnZGVsaW1pdGVyCisgICAnKChbIiwi ICIuIiAiOyIgIjoiXSkgQGZvbnQtbG9jay1kZWxpbWl0ZXItZmFjZSkKKworICAgOmxhbmd1YWdl ICdnbworICAgOmZlYXR1cmUgJ2Z1bmN0aW9uCisgICAnKChjYWxsX2V4cHJlc3Npb24KKyAgICAg IGZ1bmN0aW9uOiAoaWRlbnRpZmllcikgQGZvbnQtbG9jay1mdW5jdGlvbi1uYW1lLWZhY2UpCisg ICAgIChjYWxsX2V4cHJlc3Npb24KKyAgICAgIGZ1bmN0aW9uOiAoc2VsZWN0b3JfZXhwcmVzc2lv bgorICAgICAgICAgICAgICAgICBmaWVsZDogKGZpZWxkX2lkZW50aWZpZXIpIEBmb250LWxvY2st ZnVuY3Rpb24tbmFtZS1mYWNlKSkKKyAgICAgKGZ1bmN0aW9uX2RlY2xhcmF0aW9uCisgICAgICBu YW1lOiAoaWRlbnRpZmllcikgQGZvbnQtbG9jay1mdW5jdGlvbi1uYW1lLWZhY2UpCisgICAgICht ZXRob2RfZGVjbGFyYXRpb24KKyAgICAgIG5hbWU6IChmaWVsZF9pZGVudGlmaWVyKSBAZm9udC1s b2NrLWZ1bmN0aW9uLW5hbWUtZmFjZSkpCisKKyAgIDpsYW5ndWFnZSAnZ28KKyAgIDpmZWF0dXJl ICdrZXl3b3JkCisgICBgKFssQGdvLXRzLW1vZGUtLWtleXdvcmRzXSBAZm9udC1sb2NrLWtleXdv cmQtZmFjZSkKKworICAgOmxhbmd1YWdlICdnbworICAgOmZlYXR1cmUgJ2xhYmVsCisgICAnKChs YWJlbF9uYW1lKSBAZm9udC1sb2NrLWNvbnN0YW50LWZhY2UpCisKKyAgIDpsYW5ndWFnZSAnZ28K KyAgIDpmZWF0dXJlICdudW1iZXIKKyAgICcoWyhmbG9hdF9saXRlcmFsKQorICAgICAgKGltYWdp bmFyeV9saXRlcmFsKQorICAgICAgKGludF9saXRlcmFsKV0gQGZvbnQtbG9jay1udW1iZXItZmFj ZSkKKworICAgOmxhbmd1YWdlICdnbworICAgOmZlYXR1cmUgJ3N0cmluZworICAgJyhbKGludGVy cHJldGVkX3N0cmluZ19saXRlcmFsKQorICAgICAgKHJhd19zdHJpbmdfbGl0ZXJhbCkKKyAgICAg IChydW5lX2xpdGVyYWwpXSBAZm9udC1sb2NrLXN0cmluZy1mYWNlKQorCisgICA6bGFuZ3VhZ2Ug J2dvCisgICA6ZmVhdHVyZSAndHlwZQorICAgJyhbKHBhY2thZ2VfaWRlbnRpZmllcikgKHR5cGVf aWRlbnRpZmllcildIEBmb250LWxvY2stdHlwZS1mYWNlKQorCisgICA6bGFuZ3VhZ2UgJ2dvCisg ICA6ZmVhdHVyZSAndmFyaWFibGUKKyAgICcoKGlkZW50aWZpZXIpIEBmb250LWxvY2stdmFyaWFi bGUtbmFtZS1mYWNlKQorCisgICA6bGFuZ3VhZ2UgJ2dvCisgICA6ZmVhdHVyZSAnZXNjYXBlLXNl cXVlbmNlCisgICA6b3ZlcnJpZGUgdAorICAgJygoZXNjYXBlX3NlcXVlbmNlKSBAZm9udC1sb2Nr LWVzY2FwZS1mYWNlKQorCisgICA6bGFuZ3VhZ2UgJ2dvCisgICA6ZmVhdHVyZSAncHJvcGVydHkK KyAgIDpvdmVycmlkZSB0CisgICAnKChmaWVsZF9pZGVudGlmaWVyKSBAZm9udC1sb2NrLXByb3Bl cnR5LWZhY2UKKyAgICAgKGtleWVkX2VsZW1lbnQgKF8gKGlkZW50aWZpZXIpIEBmb250LWxvY2st cHJvcGVydHktZmFjZSkpKQorCisgICA6bGFuZ3VhZ2UgJ2dvCisgICA6ZmVhdHVyZSAnZXJyb3IK KyAgIDpvdmVycmlkZSB0CisgICAnKChFUlJPUikgQGZvbnQtbG9jay13YXJuaW5nLWZhY2UpKQor ICAiVHJlZS1zaXR0ZXIgZm9udC1sb2NrIHNldHRpbmdzIGZvciBgZ28tdHMtbW9kZScuIikKKwor KGRlZnVuIGdvLXRzLW1vZGUtLWltZW51ICgpCisgICJSZXR1cm4gSW1lbnUgYWxpc3QgZm9yIHRo ZSBjdXJyZW50IGJ1ZmZlci4iCisgIChsZXQqICgobm9kZSAodHJlZXNpdC1idWZmZXItcm9vdC1u b2RlKSkKKyAgICAgICAgIChmdW5jLXRyZWUgKHRyZWVzaXQtaW5kdWNlLXNwYXJzZS10cmVlCisg ICAgICAgICAgICAgICAgICAgICBub2RlICJmdW5jdGlvbl9kZWNsYXJhdGlvbiIgbmlsIDEwMDAp KQorICAgICAgICAgKHR5cGUtdHJlZSAodHJlZXNpdC1pbmR1Y2Utc3BhcnNlLXRyZWUKKyAgICAg ICAgICAgICAgICAgICAgIG5vZGUgInR5cGVfc3BlYyIgbmlsIDEwMDApKQorICAgICAgICAgKGZ1 bmMtaW5kZXggKGdvLXRzLW1vZGUtLWltZW51LTEgZnVuYy10cmVlKSkKKyAgICAgICAgICh0eXBl LWluZGV4IChnby10cy1tb2RlLS1pbWVudS0xIHR5cGUtdHJlZSkpKQorICAgIChhcHBlbmQKKyAg ICAgKHdoZW4gZnVuYy1pbmRleCBgKCgiRnVuY3Rpb24iIC4gLGZ1bmMtaW5kZXgpKSkKKyAgICAg KHdoZW4gdHlwZS1pbmRleCBgKCgiVHlwZSIgLiAsdHlwZS1pbmRleCkpKSkpKQorCisoZGVmdW4g Z28tdHMtbW9kZS0taW1lbnUtMSAobm9kZSkKKyAgIkhlbHBlciBmb3IgYGdvLXRzLW1vZGUtLWlt ZW51Jy4KK0ZpbmQgc3RyaW5nIHJlcHJlc2VudGF0aW9uIGZvciBOT0RFIGFuZCBzZXQgbWFya2Vy LCB0aGVuIHJlY3Vyc2UKK3RoZSBzdWJ0cmVlcy4iCisgIChsZXQqICgodHMtbm9kZSAoY2FyIG5v ZGUpKQorICAgICAgICAgKGNoaWxkcmVuIChjZHIgbm9kZSkpCisgICAgICAgICAoc3VidHJlZXMg KG1hcGNhbiAjJ2dvLXRzLW1vZGUtLWltZW51LTEKKyAgICAgICAgICAgICAgICAgICAgICAgICAg IGNoaWxkcmVuKSkKKyAgICAgICAgIChuYW1lICh3aGVuIHRzLW5vZGUKKyAgICAgICAgICAgICAg ICAgKHRyZWVzaXQtbm9kZS10ZXh0CisgICAgICAgICAgICAgICAgICAocGNhc2UgKHRyZWVzaXQt bm9kZS10eXBlIHRzLW5vZGUpCisgICAgICAgICAgICAgICAgICAgICgiZnVuY3Rpb25fZGVjbGFy YXRpb24iCisgICAgICAgICAgICAgICAgICAgICAodHJlZXNpdC1ub2RlLWNoaWxkLWJ5LWZpZWxk LW5hbWUgdHMtbm9kZSAibmFtZSIpKQorICAgICAgICAgICAgICAgICAgICAoInR5cGVfc3BlYyIK KyAgICAgICAgICAgICAgICAgICAgICh0cmVlc2l0LW5vZGUtY2hpbGQtYnktZmllbGQtbmFtZSB0 cy1ub2RlICJuYW1lIikpKSkpKQorICAgICAgICAgKG1hcmtlciAod2hlbiB0cy1ub2RlCisgICAg ICAgICAgICAgICAgICAgKHNldC1tYXJrZXIgKG1ha2UtbWFya2VyKQorICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICh0cmVlc2l0LW5vZGUtc3RhcnQgdHMtbm9kZSkpKSkpCisgICAgKGNv bmQKKyAgICAgKChvciAobnVsbCB0cy1ub2RlKSAobnVsbCBuYW1lKSkgc3VidHJlZXMpCisgICAg IChzdWJ0cmVlcworICAgICAgYCgoLG5hbWUgLChjb25zIG5hbWUgbWFya2VyKSAsQHN1YnRyZWVz KSkpCisgICAgICh0CisgICAgICBgKCgsbmFtZSAuICxtYXJrZXIpKSkpKSkKKworOzs7IyMjYXV0 b2xvYWQKKyhhZGQtdG8tbGlzdCAnYXV0by1tb2RlLWFsaXN0ICcoIlxcLmdvXFwnIiAuIGdvLXRz LW1vZGUpKQorCis7OzsjIyNhdXRvbG9hZAorKGRlZmluZS1kZXJpdmVkLW1vZGUgZ28tdHMtbW9k ZSBwcm9nLW1vZGUgIkdvIgorICAiTWFqb3IgbW9kZSBmb3IgZWRpdGluZyBHbywgcG93ZXJlZCBi eSB0cmVlLXNpdHRlci4iCisgIDpncm91cCAnZ28KKyAgOnN5bnRheC10YWJsZSBnby10cy1tb2Rl LS1zeW50YXgtdGFibGUKKworICAod2hlbiAodHJlZXNpdC1yZWFkeS1wICdnbykKKyAgICAodHJl ZXNpdC1wYXJzZXItY3JlYXRlICdnbykKKworICAgIDs7IENvbW1lbnRzLgorICAgIChzZXRxLWxv Y2FsIGNvbW1lbnQtc3RhcnQgIi8vICIpCisgICAgKHNldHEtbG9jYWwgY29tbWVudC1lbmQgIiIp CisgICAgKHNldHEtbG9jYWwgY29tbWVudC1zdGFydC1za2lwIChyeCAiLy8iICgqIChzeW50YXgg d2hpdGVzcGFjZSkpKSkKKworICAgIDs7IEltZW51LgorICAgIChzZXRxLWxvY2FsIGltZW51LWNy ZWF0ZS1pbmRleC1mdW5jdGlvbiAjJ2dvLXRzLW1vZGUtLWltZW51KQorICAgIChzZXRxLWxvY2Fs IHdoaWNoLWZ1bmMtZnVuY3Rpb25zIG5pbCkKKworICAgIDs7IEluZGVudC4KKyAgICAoc2V0cS1s b2NhbCBpbmRlbnQtdGFicy1tb2RlIHQKKyAgICAgICAgICAgICAgICB0cmVlc2l0LXNpbXBsZS1p bmRlbnQtcnVsZXMgZ28tdHMtbW9kZS0taW5kZW50LXJ1bGVzKQorCisgICAgOzsgRm9udC1sb2Nr LgorICAgIChzZXRxLWxvY2FsIHRyZWVzaXQtZm9udC1sb2NrLXNldHRpbmdzIGdvLXRzLW1vZGUt LWZvbnQtbG9jay1zZXR0aW5ncykKKyAgICAoc2V0cS1sb2NhbCB0cmVlc2l0LWZvbnQtbG9jay1m ZWF0dXJlLWxpc3QKKyAgICAgICAgICAgICAgICAnKCggY29tbWVudCkKKyAgICAgICAgICAgICAg ICAgICgga2V5d29yZCBzdHJpbmcgdHlwZSkKKyAgICAgICAgICAgICAgICAgICggY29uc3RhbnQg ZXNjYXBlLXNlcXVlbmNlIGZ1bmN0aW9uIGxhYmVsIG51bWJlcgorICAgICAgICAgICAgICAgICAg ICBwcm9wZXJ0eSB2YXJpYWJsZSkKKyAgICAgICAgICAgICAgICAgICggYnJhY2tldCBkZWxpbWl0 ZXIgZXJyb3Igb3BlcmF0b3IpKSkKKworICAgICh0cmVlc2l0LW1ham9yLW1vZGUtc2V0dXApKSkK KworOzsgZ28ubW9kIHN1cHBvcnQuCisKKyhkZWZ2YXIgZ28tbW9kLXRzLW1vZGUtLXN5bnRheC10 YWJsZQorICAobGV0ICgodGFibGUgKG1ha2Utc3ludGF4LXRhYmxlKSkpCisgICAgKG1vZGlmeS1z eW50YXgtZW50cnkgPy8gICAiLiAxMjRiIiB0YWJsZSkKKyAgICAobW9kaWZ5LXN5bnRheC1lbnRy eSA/XG4gICI+IGIiICAgIHRhYmxlKQorICAgIHRhYmxlKQorICAiU3ludGF4IHRhYmxlIGZvciBg Z28tbW9kLXRzLW1vZGUnLiIpCisKKyhkZWZ2YXIgZ28tbW9kLXRzLW1vZGUtLWluZGVudC1ydWxl cworICBgKChnb21vZAorICAgICAoKG5vZGUtaXMgIikiKSBwYXJlbnQtYm9sIDApCisgICAgICgo cGFyZW50LWlzICJleGNsdWRlX2RpcmVjdGl2ZSIpIHBhcmVudC1ib2wgZ28tdHMtbW9kZS1pbmRl bnQtb2Zmc2V0KQorICAgICAoKHBhcmVudC1pcyAibW9kdWxlX2RpcmVjdGl2ZSIpIHBhcmVudC1i b2wgZ28tdHMtbW9kZS1pbmRlbnQtb2Zmc2V0KQorICAgICAoKHBhcmVudC1pcyAicmVwbGFjZV9k aXJlY3RpdmUiKSBwYXJlbnQtYm9sIGdvLXRzLW1vZGUtaW5kZW50LW9mZnNldCkKKyAgICAgKChw YXJlbnQtaXMgInJlcXVpcmVfZGlyZWN0aXZlIikgcGFyZW50LWJvbCBnby10cy1tb2RlLWluZGVu dC1vZmZzZXQpCisgICAgICgocGFyZW50LWlzICJyZXRyYWN0X2RpcmVjdGl2ZSIpIHBhcmVudC1i b2wgZ28tdHMtbW9kZS1pbmRlbnQtb2Zmc2V0KQorICAgICAoKGdvLW1vZC10cy1tb2RlLS1pbi1k aXJlY3RpdmUtcCkgbm8taW5kZW50IGdvLXRzLW1vZGUtaW5kZW50LW9mZnNldCkKKyAgICAgKG5v LW5vZGUgbm8taW5kZW50IDApKSkKKyAgIlRyZWUtc2l0dGVyIGluZGVudCBydWxlcyBmb3IgYGdv LW1vZC10cy1tb2RlJy4iKQorCisoZGVmdW4gZ28tbW9kLXRzLW1vZGUtLWluLWRpcmVjdGl2ZS1w ICgpCisgICJSZXR1cm4gbm9uLW5pbCBpZiBpbnNpZGUgYSBkaXJlY3RpdmUuCitXaGVuIGVudGVy aW5nIGFuIGVtcHR5IGRpcmVjdGl2ZSBvciBhZGRpbmcgYSBuZXcgZW50cnkgdG8gb25lLCBubyBu b2RlCit3aWxsIGJlIHByZXNlbnQgbWVhbmluZyBub25lIG9mIHRoZSBpbmRlbnRhdGlvbiBydWxl cyB3aWxsIG1hdGNoLAorYmVjYXVzZSB0aGVyZSBpcyBubyBwYXJlbnQgdG8gbWF0Y2ggYWdhaW5z dC4gIFRoaXMgZnVuY3Rpb24gZGV0ZXJtaW5lcword2hhdCB0aGUgcGFyZW50IG9mIHRoZSBub2Rl IHdvdWxkIGJlIGlmIGl0IHdlcmUgYSBub2RlLiIKKyAgKGxhbWJkYSAobm9kZSBfIF8gJnJlc3Qg XykKKyAgICAodW5sZXNzICh0cmVlc2l0LW5vZGUtdHlwZSBub2RlKQorICAgICAgKHNhdmUtZXhj dXJzaW9uCisgICAgICAgIChiYWNrd2FyZC11cC1saXN0KQorICAgICAgICAoYmFjay10by1pbmRl bnRhdGlvbikKKyAgICAgICAgKHBjYXNlICh0cmVlc2l0LW5vZGUtdHlwZSAodHJlZXNpdC1ub2Rl LWF0IChwb2ludCkpKQorICAgICAgICAgICgiZXhjbHVkZSIgdCkKKyAgICAgICAgICAoIm1vZHVs ZSIgdCkKKyAgICAgICAgICAoInJlcGxhY2UiIHQpCisgICAgICAgICAgKCJyZXF1aXJlIiB0KQor ICAgICAgICAgICgicmV0cmFjdCIgdCkpKSkpKQorCisoZGVmdmFyIGdvLW1vZC10cy1tb2RlLS1r ZXl3b3JkcworICAnKCJleGNsdWRlIiAiZ28iICJtb2R1bGUiICJyZXBsYWNlIiAicmVxdWlyZSIg InJldHJhY3QiKQorICAiZ28ubW9kIGtleXdvcmRzIGZvciB0cmVlLXNpdHRlciBmb250LWxvY2tp bmcuIikKKworKGRlZnZhciBnby1tb2QtdHMtbW9kZS0tZm9udC1sb2NrLXNldHRpbmdzCisgICh0 cmVlc2l0LWZvbnQtbG9jay1ydWxlcworICAgOmxhbmd1YWdlICdnb21vZAorICAgOmZlYXR1cmUg J2JyYWNrZXQKKyAgICcoKFsiKCIgIikiXSkgQGZvbnQtbG9jay1icmFja2V0LWZhY2UpCisKKyAg IDpsYW5ndWFnZSAnZ29tb2QKKyAgIDpmZWF0dXJlICdjb21tZW50CisgICAnKChjb21tZW50KSBA Zm9udC1sb2NrLWNvbW1lbnQtZmFjZSkKKworICAgOmxhbmd1YWdlICdnb21vZAorICAgOmZlYXR1 cmUgJ2tleXdvcmQKKyAgIGAoWyxAZ28tbW9kLXRzLW1vZGUtLWtleXdvcmRzXSBAZm9udC1sb2Nr LWtleXdvcmQtZmFjZSkKKworICAgOmxhbmd1YWdlICdnb21vZAorICAgOmZlYXR1cmUgJ251bWJl cgorICAgJyhbKGdvX3ZlcnNpb24pICh2ZXJzaW9uKV0gQGZvbnQtbG9jay1udW1iZXItZmFjZSkK KworICAgOmxhbmd1YWdlICdnb21vZAorICAgOmZlYXR1cmUgJ29wZXJhdG9yCisgICAnKChbIj0+ Il0pIEBmb250LWxvY2stb3BlcmF0b3ItZmFjZSkKKworICAgOmxhbmd1YWdlICdnb21vZAorICAg OmZlYXR1cmUgJ2Vycm9yCisgICA6b3ZlcnJpZGUgdAorICAgJygoRVJST1IpIEBmb250LWxvY2st d2FybmluZy1mYWNlKSkKKyAgIlRyZWUtc2l0dGVyIGZvbnQtbG9jayBzZXR0aW5ncyBmb3IgYGdv LW1vZC10cy1tb2RlJy4iKQorCis7OzsjIyNhdXRvbG9hZAorKGFkZC10by1saXN0ICdhdXRvLW1v ZGUtYWxpc3QgJygiL2dvXFwubW9kXFwnIiAuIGdvLW1vZC10cy1tb2RlKSkKKworOzs7IyMjYXV0 b2xvYWQKKyhkZWZpbmUtZGVyaXZlZC1tb2RlIGdvLW1vZC10cy1tb2RlIHByb2ctbW9kZSAiR28g TW9kIgorICAiTWFqb3IgbW9kZSBmb3IgZWRpdGluZyBnby5tb2QgZmlsZXMsIHBvd2VyZWQgYnkg dHJlZS1zaXR0ZXIuIgorICA6Z3JvdXAgJ2dvCisgIDpzeW50YXgtdGFibGUgZ28tbW9kLXRzLW1v ZGUtLXN5bnRheC10YWJsZQorCisgICh3aGVuICh0cmVlc2l0LXJlYWR5LXAgJ2dvbW9kKQorICAg ICh0cmVlc2l0LXBhcnNlci1jcmVhdGUgJ2dvbW9kKQorCisgICAgOzsgQ29tbWVudHMuCisgICAg KHNldHEtbG9jYWwgY29tbWVudC1zdGFydCAiLy8gIikKKyAgICAoc2V0cS1sb2NhbCBjb21tZW50 LWVuZCAiIikKKyAgICAoc2V0cS1sb2NhbCBjb21tZW50LXN0YXJ0LXNraXAgKHJ4ICIvLyIgKCog KHN5bnRheCB3aGl0ZXNwYWNlKSkpKQorCisgICAgOzsgSW5kZW50LgorICAgIChzZXRxLWxvY2Fs IGluZGVudC10YWJzLW1vZGUgdAorICAgICAgICAgICAgICAgIHRyZWVzaXQtc2ltcGxlLWluZGVu dC1ydWxlcyBnby1tb2QtdHMtbW9kZS0taW5kZW50LXJ1bGVzKQorCisgICAgOzsgRm9udC1sb2Nr LgorICAgIChzZXRxLWxvY2FsIHRyZWVzaXQtZm9udC1sb2NrLXNldHRpbmdzIGdvLW1vZC10cy1t b2RlLS1mb250LWxvY2stc2V0dGluZ3MpCisgICAgKHNldHEtbG9jYWwgdHJlZXNpdC1mb250LWxv Y2stZmVhdHVyZS1saXN0CisgICAgICAgICAgICAgICAgJygoY29tbWVudCkKKyAgICAgICAgICAg ICAgICAgIChrZXl3b3JkKQorICAgICAgICAgICAgICAgICAgKG51bWJlcikKKyAgICAgICAgICAg ICAgICAgIChicmFja2V0IGVycm9yIG9wZXJhdG9yKSkpCisKKyAgICAodHJlZXNpdC1tYWpvci1t b2RlLXNldHVwKSkpCisKKyhwcm92aWRlICdnby10cy1tb2RlKQorCis7OzsgZ28tdHMtbW9kZS5l bCBlbmRzIGhlcmUKLS0gCjIuMzkuMAoK --b1_z4hrPIzRyWYWtzeHeDAHIblL2eHMjYZnIwGReM5qI--