From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: =?UTF-8?Q?Jo=C3=A3o_Paulo_Labegalini_de_Carvalho?= Newsgroups: gmane.emacs.devel Subject: Re: Initial fontification in sh-mode with tree-sittter Date: Wed, 16 Nov 2022 08:57:17 -0700 Message-ID: References: <6C8B0F8E-DF61-4BC3-B0D0-56DBB66BE637@gmail.com> <7AE71CCA-6F18-4DE6-8608-7D9B3E9E52FB@gmail.com> <9BA853EA-8B7F-41A0-A174-D86DF5CE7788@gmail.com> <83sfj3cfl0.fsf@gnu.org> <03309451-1AEB-458C-88FD-9715CECC27A2@gmail.com> <83mt9bc9ke.fsf@gnu.org> <8335b19ndr.fsf@gnu.org> <39ECD413-BD10-4BF3-90AC-36F02276607E@gmail.com> <8A2361BB-1081-4550-AC29-B9E99BFC2FB8@gmail.com> <42DBD4F5-71D9-434E-B7B4-4E0FF89F934F@gmail.com> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="000000000000a2f05f05ed9887e4" Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="30421"; mail-complaints-to="usenet@ciao.gmane.io" Cc: Eli Zaretskii , emacs-devel@gnu.org To: Yuan Fu Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Wed Nov 16 16:58:15 2022 Return-path: Envelope-to: ged-emacs-devel@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 1ovKnn-0007hA-5D for ged-emacs-devel@m.gmane-mx.org; Wed, 16 Nov 2022 16:58:15 +0100 Original-Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ovKnD-0000oZ-1l; Wed, 16 Nov 2022 10:57:39 -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 1ovKn8-0000nw-9D for emacs-devel@gnu.org; Wed, 16 Nov 2022 10:57:34 -0500 Original-Received: from mail-ej1-x635.google.com ([2a00:1450:4864:20::635]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1ovKn6-0004se-Ay; Wed, 16 Nov 2022 10:57:34 -0500 Original-Received: by mail-ej1-x635.google.com with SMTP id gv23so12430518ejb.3; Wed, 16 Nov 2022 07:57:31 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=tHjk67fWgse6jOqfREDmADOFueg4YzmONFIVtfu+Tgw=; b=l8ya+YyF3I98e0f9pNQLEZypmDEgp1vcF8ORDN5YogD8ZyDgGrcJQlZAJOr7w9luXy GwbpdsFVUjMJ15Yo6wgF4xch3xmL4np+2yLrnnwSAAySBymE5LdwDkV7W72faFFp0WPs ImUQGYeNUivyXhqYmoOXPbxG02I6tmZeMfyQWp9kE5Kc89jqM2uWfVG/NiRwWQnAZNxk q+TWJuIu+GT4ejCBYqYKmFhmycxTeBBgfkz63N7FUN8paDLVtpljw/+cGZo9p940kiGb FgTx29mfoOydCGJMvv67kwQyJ4+wkXPwuOaK8BU17vxoCjAtMz0VOmm/lljk0ReciJop quAw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=tHjk67fWgse6jOqfREDmADOFueg4YzmONFIVtfu+Tgw=; b=z1REKVSDWtFkry8MrcZRrCxLIglP/hJiGam1fpzLXG1U0ACxu3CfIy7A66Fl/eodt8 6XAMd5Mvda3Cx4ln9Xey3BEMN3WUBdza/SUsyoIJyVRVIYmewi1Am30ysAEqssIfXLho hbGlIuwUyKV3WZ35nKMpYOKfCDCs3b9WgsmlYuV+oXWaTz8MzQsXC5N9Fp59RoBAyWHF JiaE0bPsk2fTaoAQmpQIeJIaDTlbnMeo7T68wZTENeGE3Poby/Ixzg24kD6zu3y96QeD wrKsKw23aHV94Fxmsz0gRDLNsOCitenTvIcswqOPQms0IKIumP4SpsFf0i82WuEoM4oQ 7fcw== X-Gm-Message-State: ANoB5pm2txEigBBEufvchkj9Czzmq6oLMQInkQDcsAqutGd0QV5tNjnV q0hkPNEuDdSxFWUp2EWMAp0WJTGg8+DVeZ8KVHg= X-Google-Smtp-Source: AA0mqf5dL7zXwVBGOG9pQjUHjHPtT8CaXtTkI6MgDVVUSFAhWBU3kKdiSRMbiuBDvWTCycuDfgOxFcLeMiPLdOh4nt8= X-Received: by 2002:a17:906:1542:b0:7ae:27ed:e90e with SMTP id c2-20020a170906154200b007ae27ede90emr17926816ejd.224.1668614249961; Wed, 16 Nov 2022 07:57:29 -0800 (PST) In-Reply-To: Received-SPF: pass client-ip=2a00:1450:4864:20::635; envelope-from=jaopaulolc@gmail.com; helo=mail-ej1-x635.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Original-Sender: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Xref: news.gmane.io gmane.emacs.devel:299945 Archived-At: --000000000000a2f05f05ed9887e4 Content-Type: multipart/alternative; boundary="000000000000a2f05a05ed9887e2" --000000000000a2f05a05ed9887e2 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable > +(provide 'sh-mode) > +;;; sh-mode.el ends here > > Is there any particular reason why you changed sh-script to sh-mode? > Good catch. That must have been the result of an unintended replace-string. Here is the patch without that silly change. (It might not be that silly, as other progmodes are named -mode? But that can be a separate patch)= . --=20 Jo=C3=A3o Paulo L. de Carvalho Ph.D Computer Science | IC-UNICAMP | Campinas , SP - Brazil Postdoctoral Research Fellow | University of Alberta | Edmonton, AB - Canad= a joao.carvalho@ic.unicamp.br joao.carvalho@ualberta.ca --000000000000a2f05a05ed9887e2 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
=C2=A0
+(provide 'sh-mode)=
+;;; sh-mode.el ends here

Is there any particular reason why you changed sh-script to sh-mode?

Good catch. That must have been t= he result of an unintended replace-string.

Here is the patch without= that silly change. (It might not be that silly, as other progmodes are nam= ed <lang>-mode? But that can be a separate patch).

--
Jo=C3=A3o Paulo L. de Ca= rvalho
Ph.D Computer Science | =C2=A0IC-UNICAMP | Campinas , SP - Brazil=
Postdoctoral Research Fellow | University of Alberta | Edmonton, AB - C= anada
--000000000000a2f05a05ed9887e2-- --000000000000a2f05f05ed9887e4 Content-Type: text/x-patch; charset="US-ASCII"; name="0001-Initial-fontification-in-sh-mode-with-tree-sitter.patch" Content-Disposition: attachment; filename="0001-Initial-fontification-in-sh-mode-with-tree-sitter.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_lajts5ps0 RnJvbSAyZGNiYzA3YjkxMDBiZjc2MGZiYThhNTk0NzUyZjM0ZTc1MGQ5NTRkIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiA9P1VURi04P3E/Sm89QzM9QTNvPTIwUD0yRT0yMEw9MkU9MjBk ZT0yMENhcnZhbGhvPz0KIDxqYW9wYXVsb2xjQGdtYWlsLmNvbT4KRGF0ZTogVGh1LCAyNyBPY3Qg MjAyMiAxNTo0NTo1NiAtMDYwMApTdWJqZWN0OiBbUEFUQ0hdIEluaXRpYWwgZm9udGlmaWNhdGlv biBpbiBzaC1tb2RlIHdpdGggdHJlZS1zaXR0ZXIKCi0tLQogbGlzcC9wcm9nbW9kZXMvc2gtc2Ny aXB0LmVsIHwgMTQ4ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKy0tLQogMSBmaWxl IGNoYW5nZWQsIDEzOSBpbnNlcnRpb25zKCspLCA5IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBh L2xpc3AvcHJvZ21vZGVzL3NoLXNjcmlwdC5lbCBiL2xpc3AvcHJvZ21vZGVzL3NoLXNjcmlwdC5l bAppbmRleCA1NThiNjJiMjBhLi5jNmE4Mjg1NDhkIDEwMDY0NAotLS0gYS9saXNwL3Byb2dtb2Rl cy9zaC1zY3JpcHQuZWwKKysrIGIvbGlzcC9wcm9nbW9kZXMvc2gtc2NyaXB0LmVsCkBAIC0xNDgs NiArMTQ4LDcgQEAKICAgKHJlcXVpcmUgJ2xldC1hbGlzdCkKICAgKHJlcXVpcmUgJ3N1YnIteCkp CiAocmVxdWlyZSAnZXhlY3V0YWJsZSkKKyhyZXF1aXJlICd0cmVlc2l0KQogCiAoYXV0b2xvYWQg J2NvbWludC1jb21wbGV0aW9uLWF0LXBvaW50ICJjb21pbnQiKQogKGF1dG9sb2FkICdjb21pbnQt ZmlsZW5hbWUtY29tcGxldGlvbiAiY29taW50IikKQEAgLTE1MzQsMTMgKzE1MzUsNiBAQCBzaC1t b2RlCiAgIDs7IHdlIGNhbid0IGxvb2sgaWYgcHJldmlvdXMgbGluZSBlbmRlZCB3aXRoIGBcJwog ICAoc2V0cS1sb2NhbCBjb21pbnQtcHJvbXB0LXJlZ2V4cCAiXlsgXHRdKiIpCiAgIChzZXRxLWxv Y2FsIGltZW51LWNhc2UtZm9sZC1zZWFyY2ggbmlsKQotICAoc2V0cSBmb250LWxvY2stZGVmYXVs dHMKLQlgKChzaC1mb250LWxvY2sta2V5d29yZHMKLQkgICBzaC1mb250LWxvY2sta2V5d29yZHMt MSBzaC1mb250LWxvY2sta2V5d29yZHMtMikKLQkgIG5pbCBuaWwKLQkgICgoPy8gLiAidyIpICg/ fiAuICJ3IikgKD8uIC4gInciKSAoPy0gLiAidyIpICg/XyAuICJ3IikpIG5pbAotCSAgKGZvbnQt bG9jay1zeW50YWN0aWMtZmFjZS1mdW5jdGlvbgotCSAgIC4gLCMnc2gtZm9udC1sb2NrLXN5bnRh Y3RpYy1mYWNlLWZ1bmN0aW9uKSkpCiAgIChzZXRxLWxvY2FsIHN5bnRheC1wcm9wZXJ0aXplLWZ1 bmN0aW9uICMnc2gtc3ludGF4LXByb3BlcnRpemUtZnVuY3Rpb24pCiAgIChhZGQtaG9vayAnc3lu dGF4LXByb3BlcnRpemUtZXh0ZW5kLXJlZ2lvbi1mdW5jdGlvbnMKICAgICAgICAgICAgICMnc3lu dGF4LXByb3BlcnRpemUtbXVsdGlsaW5lICdhcHBlbmQgJ2xvY2FsKQpAQCAtMTU4Nyw3ICsxNTgx LDI3IEBAIHNoLW1vZGUKICAgIG5pbCBuaWwpCiAgIChhZGQtaG9vayAnZmx5bWFrZS1kaWFnbm9z dGljLWZ1bmN0aW9ucyAjJ3NoLXNoZWxsY2hlY2stZmx5bWFrZSBuaWwgdCkKICAgKGFkZC1ob29r ICdoYWNrLWxvY2FsLXZhcmlhYmxlcy1ob29rCi0gICAgIydzaC1hZnRlci1oYWNrLWxvY2FsLXZh cmlhYmxlcyBuaWwgdCkpCisgICAgIydzaC1hZnRlci1oYWNrLWxvY2FsLXZhcmlhYmxlcyBuaWwg dCkKKworICAoY29uZAorICAgOzsgVHJlZS1zaXR0ZXIKKyAgICgodHJlZXNpdC1yZWFkeS1wICdz aC1tb2RlICdiYXNoKQorICAgIChzZXRxLWxvY2FsIHRyZWVzaXQtZm9udC1sb2NrLWZlYXR1cmUt bGlzdAorICAgICAgICAgICAgICAgICcoKGNvbW1lbnRzIGZ1bmN0aW9ucyBzdHJpbmdzIGhlcmVk b2NzKQorICAgICAgICAgICAgICAgICAgKHZhcmlhYmxlcyBrZXl3b3JkcyBjb21tYW5kcyBkZWNs LWNvbW1hbmRzKQorICAgICAgICAgICAgICAgICAgKGNvbnN0YW50cyBvcGVyYXRvcnMgYnVpbHRp bi12YXJpYWJsZXMpKSkKKyAgICAoc2V0cS1sb2NhbCB0cmVlc2l0LWZvbnQtbG9jay1zZXR0aW5n cworICAgICAgICAgICAgICAgIHNoLW1vZGUtLXRyZWVzaXQtc2V0dGluZ3MpCisgICAgKHRyZWVz aXQtbWFqb3ItbW9kZS1zZXR1cCkpCisgICA7OyBFbGlzcC4KKyAgICh0CisgICAgKHNldHEgZm9u dC1sb2NrLWRlZmF1bHRzCisgICAgICAgICAgYCgoc2gtZm9udC1sb2NrLWtleXdvcmRzCisgICAg ICAgICAgICAgc2gtZm9udC1sb2NrLWtleXdvcmRzLTEgc2gtZm9udC1sb2NrLWtleXdvcmRzLTIp CisgICAgICAgICAgICBuaWwgbmlsCisgICAgICAgICAgICAoKD8vIC4gInciKSAoP34gLiAidyIp ICg/LiAuICJ3IikgKD8tIC4gInciKSAoP18gLiAidyIpKSBuaWwKKyAgICAgICAgICAgIChmb250 LWxvY2stc3ludGFjdGljLWZhY2UtZnVuY3Rpb24KKyAgICAgICAgICAgICAuICwjJ3NoLWZvbnQt bG9jay1zeW50YWN0aWMtZmFjZS1mdW5jdGlvbikpKSkpKQogCiA7OzsjIyNhdXRvbG9hZAogKGRl ZmFsaWFzICdzaGVsbC1zY3JpcHQtbW9kZSAnc2gtbW9kZSkKQEAgLTMxOTEsNiArMzIwNSwxMjIg QEAgc2gtc2hlbGxjaGVjay1mbHltYWtlCiAgICAgICAocHJvY2Vzcy1zZW5kLXJlZ2lvbiBzaC0t c2hlbGxjaGVjay1wcm9jZXNzIChwb2ludC1taW4pIChwb2ludC1tYXgpKQogICAgICAgKHByb2Nl c3Mtc2VuZC1lb2Ygc2gtLXNoZWxsY2hlY2stcHJvY2VzcykpKSkKIAotKHByb3ZpZGUgJ3NoLXNj cmlwdCkKKzs7OyBUcmVlLXNpdHRlciBmb250LWxvY2sKKworKGRlZnZhciBzaC1tb2RlLS10cmVl c2l0LW9wZXJhdG9ycworICAnKCJ8IiAifCYiICJ8fCIgIiYmIiAiPiIgIj4+IiAiPCIgIjw8IiAi PDwtIiAiPDw8IiAiPT0iICIhPSIgIjsiCisgICAgIjs7IiAiOyYiICI7OyYiKQorICAiTGlzdCBv ZiBgc2gtbW9kZScgb3BlcmF0b3IgdG8gZm9udGlmeSIpCisKKyhkZWZ2YXIgc2gtbW9kZS0tdHJl ZXNpdC1rZXl3b3JkcworICAnKCJjYXNlIiAiZG8iICJkb25lIiAiZWxpZiIgImVsc2UiICJlc2Fj IiAiZXhwb3J0IiAiZmkiICJmb3IiCisgICAgImZ1bmN0aW9uIiAiaWYiICJpbiIgInVuc2V0IiAi d2hpbGUiICJ0aGVuIikKKyAgIk1pbmltYWwgbGlzdCBvZiBrZXl3b3JkcyB0aGF0IGJlbG9uZyB0 byB0cmVlLXNpdHRlci1iYXNoJ3MgZ3JhbW1hci4KKworU29tZSByZXNlcnZlZCB3b3JkcyBhcmUg bm90IHJlY29nbml6ZSB0byBrZWVwIHRoZSBncmFtbWFyCitzaW1wbGVyLiBUaG9zZSBhcmUgaWRl bnRpZmllZCB3aXRoIHJlZ2V4LWJhc2VkIGZpbHRlcmVkIHF1ZXJpZXMuCisKK1NlZSBgc2gtbW9k ZS0tdHJlZXNpdC1vdGhlci1rZXl3b3JkcycgYW5kCitgc2gtbW9kZS0tdHJlZXNpdC1zZXR0aW5n cycpLiIpCisKKyhkZWZ1biBzaC1tb2RlLS10cmVlc2l0LW90aGVyLWtleXdvcmRzICgpCisgICJS ZXR1cm5zIGEgbGlzdCBgb3RoZXJzJyBvZiBrZXkvcmVzZXJ2ZWQgd29yZHMgdG8gYmUgZm9udGlm aWVkIHdpdGgKK3JlZ2V4LWJhc2VkIHF1ZXJpZXMgYXMgdGhleSBhcmUgbm90IHBhcnQgb2YgdHJl ZS1zaXR0ZXItYmFzaCdzCitncmFtbWFyLgorCitTZWUgYHNoLW1vZGUtLXRyZWVzaXQtb3RoZXIt a2V5d29yZHMnIGFuZAorYHNoLW1vZGUtLXRyZWVzaXQtc2V0dGluZ3MnKS4iCisgIChsZXQgKCht aW5pbWFsIHNoLW1vZGUtLXRyZWVzaXQta2V5d29yZHMpCisgICAgICAgIChhbGwgKGFwcGVuZCAo c2gtZmVhdHVyZSBzaC1sZWFkaW5nLWtleXdvcmRzKQorICAgICAgICAgICAgICAgICAgICAgKHNo LWZlYXR1cmUgc2gtb3RoZXIta2V5d29yZHMpKSkKKyAgICAgICAgKG90aGVycykpCisgICAgKGRv bGlzdCAoa2V5d29yZCBhbGwgb3RoZXJzKQorICAgICAgKGlmIChub3QgKG1lbWJlciBrZXl3b3Jk IG1pbmltYWwpKQorICAgICAgICAgIChzZXRxIG90aGVycyAoY29ucyBrZXl3b3JkIG90aGVycykp KSkpKQorCisoZGVmdW4gc2gtbW9kZS0tdHJlZXNpdC1mb250aWZ5LWRlY2wtY29tbWFuZCAobm9k ZSBvdmVycmlkZSBfc3RhcnQgX2VuZCkKKyAgIkZvbnRpZmllcyBvbmx5IHRoZSBuYW1lIG9mIGRl Y2xhcmF0aW9uX2NvbW1hbmQgbm9kZXMuCisKK1RoaXMgaXMgdXNlZCBpbnN0ZWFkIG9mIGBmb250 LWxvY2stYnVpbHRpb24tZmFjZScgZGlyZWN0bHkgYmVjYXVzZQorb3RoZXJ3aXNlIHRoZSB3aG9s ZSBjb21tYW5kLCBpbmNsdWRpbmcgdGhlIHZhcmlhYmxlIGFzc2lnbm1lbnQgcGFydCwKK2lzIGZv bnRpZmllZCB3aXRoIHdpdGggYGZvbnQtbG9jay1idWlsdGluLWZhY2UnLiBBbiBhbHRlcm5hdGl2 ZSB0bwordGhpcyB3b3VsZCBiZSB0byBkZWNsYXJhdGlvbl9jb21tYW5kIHRvIGhhdmUgYSBgbmFt ZTonIGZpZWxkLiIKKyAgKGxldCogKChtYXliZS1kZWNsLWNtZCAodHJlZXNpdC1ub2RlLXBhcmVu dCBub2RlKSkKKyAgICAgICAgIChub2RlLXR5cGUgKHRyZWVzaXQtbm9kZS10eXBlIG1heWJlLWRl Y2wtY21kKSkpCisgICAgKHdoZW4gKHN0cmluZz0gbm9kZS10eXBlICJkZWNsYXJhdGlvbl9jb21t YW5kIikKKyAgICAgIChsZXQqICgobmFtZS1ub2RlIChjYXIgKHRyZWVzaXQtbm9kZS1jaGlsZHJl biBtYXliZS1kZWNsLWNtZCkpKQorICAgICAgICAgICAgIChuYW1lLWJlZyAodHJlZXNpdC1ub2Rl LXN0YXJ0IG5hbWUtbm9kZSkpCisgICAgICAgICAgICAgKG5hbWUtZW5kICh0cmVlc2l0LW5vZGUt ZW5kIG5hbWUtbm9kZSkpKQorICAgICAgICAocHV0LXRleHQtcHJvcGVydHkgbmFtZS1iZWcKKyAg ICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWUtZW5kCisgICAgICAgICAgICAgICAgICAgICAg ICAgICAnZmFjZQorICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1sb2NrLWJ1aWx0aW4t ZmFjZSkpKSkpCisKKyhkZWZ2YXIgc2gtbW9kZS0tdHJlZXNpdC1zZXR0aW5ncworICAodHJlZXNp dC1mb250LWxvY2stcnVsZXMKKyAgIDpmZWF0dXJlICdjb21tZW50cworICAgOmxhbmd1YWdlICdi YXNoCisgICAnKChjb21tZW50KSBAZm9udC1sb2NrLWNvbW1lbnQtZmFjZSkKKyAgIDpmZWF0dXJl ICdmdW5jdGlvbnMKKyAgIDpsYW5ndWFnZSAnYmFzaAorICAgJygoZnVuY3Rpb25fZGVmaW5pdGlv biBuYW1lOiAod29yZCkgQGZvbnQtbG9jay1mdW5jdGlvbi1uYW1lLWZhY2UpKQorICAgOmZlYXR1 cmUgJ3N0cmluZ3MKKyAgIDpsYW5ndWFnZSAnYmFzaAorICAgJyhbKHN0cmluZykgKHJhd19zdHJp bmcpXSBAZm9udC1sb2NrLXN0cmluZy1mYWNlKQorICAgOmZlYXR1cmUgJ2hlcmVkb2NzCisgICA6 bGFuZ3VhZ2UgJ2Jhc2gKKyAgICcoWyhoZXJlZG9jX3N0YXJ0KSAoaGVyZWRvY19ib2R5KV0gQHNo LWhlcmVkb2MpCisgICA6ZmVhdHVyZSAndmFyaWFibGVzCisgICA6bGFuZ3VhZ2UgJ2Jhc2gKKyAg ICcoKHZhcmlhYmxlX25hbWUpIEBmb250LWxvY2stdmFyaWFibGUtbmFtZS1mYWNlKQorICAgOmZl YXR1cmUgJ2tleXdvcmRzCisgICA6bGFuZ3VhZ2UgJ2Jhc2gKKyAgIGAoOzsga2V5d29yZHMKKyAg ICAgWyAsQHNoLW1vZGUtLXRyZWVzaXQta2V5d29yZHMgXSBAZm9udC1sb2NrLWtleXdvcmQtZmFj ZQorICAgICA7OyByZXNlcnZlZCB3b3JkcworICAgICAoY29tbWFuZF9uYW1lCisgICAgICAoKHdv cmQpIEBmb250LWxvY2sta2V5d29yZC1mYWNlCisgICAgICAgKDptYXRjaAorICAgICAgICAsKHJ4 LXRvLXN0cmluZworICAgICAgICAgICAgYChzZXEgYm9sCisgICAgICAgICAgICAgICAgICAob3Ig LEAoc2gtbW9kZS0tdHJlZXNpdC1vdGhlci1rZXl3b3JkcykpCisgICAgICAgICAgICAgICAgICBl b2wpKQorICAgICAgICBAZm9udC1sb2NrLWtleXdvcmQtZmFjZSkpKSkKKyAgIDpmZWF0dXJlICdj b21tYW5kcworICAgOmxhbmd1YWdlICdiYXNoCisgICBgKDs7IGZ1bmN0aW9uL25vbi1idWlsdGlu IGNvbW1hbmQgY2FsbHMKKyAgICAgKGNvbW1hbmRfbmFtZSAod29yZCkgQGZvbnQtbG9jay1mdW5j dGlvbi1uYW1lLWZhY2UpCisgICAgIDs7IGJ1aWx0aW4gY29tbWFuZHMKKyAgICAgKGNvbW1hbmRf bmFtZQorICAgICAgKCh3b3JkKSBAZm9udC1sb2NrLWJ1aWx0aW4tZmFjZQorICAgICAgICg6bWF0 Y2ggLChsZXQgKChidWlsdGlucworICAgICAgICAgICAgICAgICAgICAgICAoc2gtZmVhdHVyZSBz aC1idWlsdGlucykpKQorICAgICAgICAgICAgICAgICAgKHJ4LXRvLXN0cmluZworICAgICAgICAg ICAgICAgICAgIGAoc2VxIGJvbAorICAgICAgICAgICAgICAgICAgICAgICAgIChvciAsQGJ1aWx0 aW5zKQorICAgICAgICAgICAgICAgICAgICAgICAgIGVvbCkpKQorICAgICAgICAgICAgICAgQGZv bnQtbG9jay1idWlsdGluLWZhY2UpKSkpCisgICA6ZmVhdHVyZSAnZGVjbC1jb21tYW5kcworICAg Omxhbmd1YWdlICdiYXNoCisgICAnKDs7IGRlY2xhcmF0aW9uIGNvbW1hbmRzCisgICAgIChkZWNs YXJhdGlvbl9jb21tYW5kIF8gQHNoLW1vZGUtLXRyZWVzaXQtZm9udGlmeS1kZWNsLWNvbW1hbmQp KQorICAgOmZlYXR1cmUgJ2NvbnN0YW50cworICAgOmxhbmd1YWdlICdiYXNoCisgICAnKChjYXNl X2l0ZW0gdmFsdWU6ICh3b3JkKSBAZm9udC1sb2NrLWNvbnN0YW50LWZhY2UpCisgICAgIChmaWxl X2Rlc2NyaXB0b3IpIEBmb250LWxvY2stY29uc3RhbnQtZmFjZSkKKyAgIDpmZWF0dXJlICdvcGVy YXRvcnMKKyAgIDpsYW5ndWFnZSAnYmFzaAorICAgYChbICxAc2gtbW9kZS0tdHJlZXNpdC1vcGVy YXRvcnMgXSBAZm9udC1sb2NrLWJ1aWx0aW4tZmFjZSkKKyAgIDpmZWF0dXJlICdidWlsdGluLXZh cmlhYmxlcworICAgOmxhbmd1YWdlICdiYXNoCisgICBgKCgoc3BlY2lhbF92YXJpYWJsZV9uYW1l KSBAZm9udC1sb2NrLWJ1aWx0aW4tZmFjZQorICAgICAgKDptYXRjaCAsKGxldCAoKGJ1aWx0aW4t dmFycyAoc2gtZmVhdHVyZSBzaC12YXJpYWJsZXMpKSkKKyAgICAgICAgICAgICAgICAgKHJ4LXRv LXN0cmluZworICAgICAgICAgICAgICAgICAgYChzZXEgYm9sCisgICAgICAgICAgICAgICAgICAg ICAgICAob3IgLEBidWlsdGluLXZhcnMpCisgICAgICAgICAgICAgICAgICAgICAgICBlb2wpKSkK KyAgICAgICAgICAgICAgQGZvbnQtbG9jay1idWlsdGluLWZhY2UpKSkpCisgICJUcmVlLXNpdHRl ciBmb250LWxvY2sgc2V0dGluZ3MgZm9yIGBzaC1tb2RlJy4iKQogCisocHJvdmlkZSAnc2gtc2Ny aXB0KQogOzs7IHNoLXNjcmlwdC5lbCBlbmRzIGhlcmUKLS0gCjIuMzEuMQoK --000000000000a2f05f05ed9887e4--