From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Philipp Stephani Newsgroups: gmane.emacs.devel Subject: Re: X selection access in xterm (OSC 52) Date: Wed, 08 Apr 2015 21:04:29 +0000 Message-ID: References: NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: multipart/mixed; boundary=f46d044267329fc60705133ce01f X-Trace: ger.gmane.org 1428527092 4997 80.91.229.3 (8 Apr 2015 21:04:52 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Wed, 8 Apr 2015 21:04:52 +0000 (UTC) Cc: Emacs developers , Yuri Khan To: Stefan Monnier Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Wed Apr 08 23:04:50 2015 Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by plane.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1Yfx9V-0005rO-1R for ged-emacs-devel@m.gmane.org; Wed, 08 Apr 2015 23:04:49 +0200 Original-Received: from localhost ([::1]:54858 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Yfx9U-0006Lk-2e for ged-emacs-devel@m.gmane.org; Wed, 08 Apr 2015 17:04:48 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:44595) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Yfx9F-0006La-Kv for emacs-devel@gnu.org; Wed, 08 Apr 2015 17:04:34 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Yfx9E-0008Ro-PD for emacs-devel@gnu.org; Wed, 08 Apr 2015 17:04:33 -0400 Original-Received: from mail-wg0-x22f.google.com ([2a00:1450:400c:c00::22f]:33911) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Yfx9E-0008Re-Ej for emacs-devel@gnu.org; Wed, 08 Apr 2015 17:04:32 -0400 Original-Received: by wgbdm7 with SMTP id dm7so101167723wgb.1 for ; Wed, 08 Apr 2015 14:04:31 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc:content-type; bh=dh8IqkN/yMkQX//SAHS64y6Lm722QCGqiilPcpb4lng=; b=eHjsGl7bNC+6kn2MjXUtPOkJCj26CgWMn3f9OcFgYIjv6qWi2Ehw68PriavLklc5mK K0HGTcyxEg+bdAxk+jS/aCYUoR7JRQP4ffN5+D0gYUomdFOvTbwOtFpuaFSKnmI0BfYF BuJmYd1blKcCKCDcZuMwV2tRifSbpwg+iYT+c8rvWvW+JxUMjWhVfzGQqn9C/tiwvt+H pwV3aVLKNQ6ZMZZM3WmI8F9ztLVA2tJnEgeQkJjALUy1nCf2cL7zadeVaDvmp8r3C7iO 5PgnCVY8ww7cMGEOtQtgWMhYbTXaKHY8o8gJHij66r6Or57cOrEq4RPlQkfZ3lO7+o3o bTeg== X-Received: by 10.180.83.193 with SMTP id s1mr345821wiy.22.1428527070975; Wed, 08 Apr 2015 14:04:30 -0700 (PDT) In-Reply-To: X-detected-operating-system: by eggs.gnu.org: Error: Malformed IPv6 address (bad octet value). X-Received-From: 2a00:1450:400c:c00::22f X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.14 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.org@gnu.org Original-Sender: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.devel:185175 Archived-At: --f46d044267329fc60705133ce01f Content-Type: multipart/alternative; boundary=f46d044267329fc60405133ce01d --f46d044267329fc60405133ce01d Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Stefan Monnier schrieb am Di., 24. M=C3=A4rz 201= 5 um 22:55 Uhr: > > Sorry for the delay. I've tried implementing this, but I'm a bit at a > loss > > here: If I understand the GUI method code correctly, it only works for > real > > GUIs, not terminal emulators that happen to be GUI > > applications, right? > > No, they work for text terminals as well. > > > At least the window-system variable, which gui-method apparently uses, > > is always nil in my tests with hterm. Should this be something > > like 'xterm? > > No, it will be nil. Of course, it will apply to all terminals, so > you'll then have to check whether the current text terminal is an xterm. > > OK, here's another patch. I've done some lightweight testing, it works in hterm with or without screen. --f46d044267329fc60405133ce01d Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable


Stefan Monnier <monnier@iro.umontreal.ca> sc= hrieb am Di., 24. M=C3=A4rz 2015 um 22:55=C2=A0Uhr:
> Sorry for the delay. I've tried implementing this, but = I'm a bit at a loss
> here: If I understand the GUI method code correctly, it only works for= real
> GUIs, not terminal emulators that happen to be GUI
> applications, right?

No, they work for text terminals as well.

> At least the window-system variable, which gui-method apparently uses,=
> is always nil in my tests with hterm. Should this be something
> like 'xterm?

No, it will be nil.=C2=A0 Of course, it will apply to all terminals, so
you'll then have to check whether the current text terminal is an xterm= .


OK, here's another patch. I've= done some lightweight testing, it works in hterm with or without screen.= =C2=A0
--f46d044267329fc60405133ce01d-- --f46d044267329fc60705133ce01f Content-Type: application/octet-stream; name="0001-Implement-OSC-52-functionality-for-setting-the-X-sel.patch" Content-Disposition: attachment; filename="0001-Implement-OSC-52-functionality-for-setting-the-X-sel.patch" Content-Transfer-Encoding: base64 X-Attachment-Id: 14c9ad8e811f58653741 RnJvbSBhZmZlZjY0NTVjZGNiYjg3OWI1MDYzODU5ZGVlYzM2NDEzMTJiMGZkIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBQaGlsaXBwIFN0ZXBoYW5pIDxwaHN0QGdvb2dsZS5jb20+CkRh dGU6IFdlZCwgOCBBcHIgMjAxNSAxODo1Mzo0NyArMDIwMApTdWJqZWN0OiBbUEFUQ0hdIEltcGxl bWVudCBPU0MtNTIgZnVuY3Rpb25hbGl0eSBmb3Igc2V0dGluZyB0aGUgWCBzZWxlY3Rpb24KCi0t LQogbGlzcC90ZXJtL3h0ZXJtLmVsIHwgOTMgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrLS0tCiAxIGZpbGUgY2hhbmdlZCwgODkgaW5zZXJ0aW9ucygr KSwgNCBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9saXNwL3Rlcm0veHRlcm0uZWwgYi9saXNw L3Rlcm0veHRlcm0uZWwKaW5kZXggNTE5ZjY5MS4uZjRkMWE4NCAxMDA2NDQKLS0tIGEvbGlzcC90 ZXJtL3h0ZXJtLmVsCisrKyBiL2xpc3AvdGVybS94dGVybS5lbApAQCAtMzcsNyArMzcsOCBAQCBJ ZiBhIGxpc3QsIGFzc3VtZSB0aGF0IHRoZSBsaXN0ZWQgZmVhdHVyZXMgYXJlIHN1cHBvcnRlZCwg d2l0aG91dCBjaGVja2luZy4KIAogVGhlIHJlbGV2YW50IGZlYXR1cmVzIGFyZToKICAgbW9kaWZ5 T3RoZXJLZXlzICAtLSBpZiBzdXBwb3J0ZWQsIG1vcmUga2V5IGJpbmRpbmdzIHdvcmsgKGUuZy4s IFwiXFxDLSxcIikKLSAgcmVwb3J0QmFja2dyb3VuZCAtLSBpZiBzdXBwb3J0ZWQsIFh0ZXJtIHJl cG9ydHMgaXRzIGJhY2tncm91bmQgY29sb3IiCisgIHJlcG9ydEJhY2tncm91bmQgLS0gaWYgc3Vw cG9ydGVkLCBYdGVybSByZXBvcnRzIGl0cyBiYWNrZ3JvdW5kIGNvbG9yCisgIHNldFNlbGVjdGlv biAgICAgLS0gaWYgc3VwcG9ydGVkLCBYdGVybSBzYXZlcyB5YW5rZWQgdGV4dCB0byB0aGUgWCBz ZWxlY3Rpb24iCiAgIDp2ZXJzaW9uICIyNC4xIgogICA6Z3JvdXAgJ3h0ZXJtCiAgIDp0eXBlICco Y2hvaWNlIChjb25zdCA6dGFnICJObyIgbmlsKQpAQCAtNDUsNyArNDYsMjQgQEAgVGhlIHJlbGV2 YW50IGZlYXR1cmVzIGFyZToKICAgICAgICAgICAgICAgICAgOzsgTk9URTogSWYgeW91IGFkZCBl bnRyaWVzIGhlcmUsIG1ha2Ugc3VyZSB0byB1cGRhdGUKICAgICAgICAgICAgICAgICAgOzsgYHRl cm1pbmFsLWluaXQteHRlcm0nIGFzIHdlbGwuCiAgICAgICAgICAgICAgICAgIChzZXQgKGNvbnN0 IDp0YWcgIm1vZGlmeU90aGVyS2V5cyBzdXBwb3J0IiBtb2RpZnlPdGhlcktleXMpCi0gICAgICAg ICAgICAgICAgICAgICAgKGNvbnN0IDp0YWcgInJlcG9ydCBiYWNrZ3JvdW5kIiByZXBvcnRCYWNr Z3JvdW5kKSkpKQorICAgICAgICAgICAgICAgICAgICAgIChjb25zdCA6dGFnICJyZXBvcnQgYmFj a2dyb3VuZCIgcmVwb3J0QmFja2dyb3VuZCkKKyAgICAgICAgICAgICAgICAgICAgICAoY29uc3Qg OnRhZyAic2V0IFggc2VsZWN0aW9uIiBzZXRTZWxlY3Rpb24pKSkpCisKKyhkZWZjdXN0b20geHRl cm0tbWF4LWN1dC1sZW5ndGggMTAwMDAwCisgICJNYXhpbXVtIG51bWJlciBvZiBieXRlcyB0byBj dXQgaW50byB4dGVybSB1c2luZyB0aGUgT1NDIDUyIHNlcXVlbmNlLgorCitUaGUgT1NDIDUyIHNl cXVlbmNlIHJlcXVpcmVzIGEgdGVybWluYXRvciBieXRlLiAgU29tZSB0ZXJtaW5hbHMgd2lsbCBp Z25vcmUgb3IKK21pc3RyZWF0IGEgdGVybWluYXRlZCBzZXF1ZW5jZSB0aGF0IGlzIGxvbmdlciB0 aGFuIGEgY2VydGFpbiBzaXplLCB1c3VhbGx5IHRvCitwcm90ZWN0IHVzZXJzIGZyb20gcnVuYXdh eSBzZXF1ZW5jZXMuCisKK1RoaXMgdmFyaWFibGUgYWxsb3dzIHlvdSB0byB0d2VhayB0aGUgbWF4 aW11bSBudW1iZXIgb2YgYnl0ZXMgdGhhdCB3aWxsIGJlIHNlbnQKK3VzaW5nIHRoZSBPU0MgNTIg c2VxdWVuY2UuCisKK0lmIHlvdSBzZWxlY3QgYSByZWdpb24gbGFyZ2VyIHRoYW4gdGhpcyBzaXpl LCBpdCB3b24ndCBiZSBjb3BpZWQgdG8geW91ciBzeXN0ZW0KK2NsaXBib2FyZC4gIFNpbmNlIGNs aXBib2FyZCBkYXRhIGlzIGJhc2UgNjQgZW5jb2RlZCwgdGhlIGFjdHVhbCBudW1iZXIgb2YKK3N0 cmluZyBieXRlcyB0aGF0IGNhbiBiZSBjb3BpZWQgaXMgMy80IG9mIHRoaXMgdmFsdWUuIgorICA6 Z3JvdXAgJ3h0ZXJtCisgIDp0eXBlICdpbnRlZ2VyKQogCiAoZGVmY29uc3QgeHRlcm0tcGFzdGUt ZW5kaW5nLXNlcXVlbmNlICJcZVsyMDF+IgogICAiQ2hhcmFjdGVycyBzZW5kIGJ5IHRoZSB0ZXJt aW5hbCB0byBlbmQgYSBicmFja2V0ZWQgcGFzdGUuIikKQEAgLTYyMCw3ICs2MzgsMTMgQEAgVGhl IHJlbGV2YW50IGZlYXR1cmVzIGFyZToKICAgICAgICAgOzsgaW50cm9kdWNlZCkgb3IgaGlnaGVy LCBpbml0aWFsaXplIHRoZQogICAgICAgICA7OyBtb2RpZnlPdGhlcktleXMgc3VwcG9ydC4KICAg ICAgICAgKHdoZW4gKD49IHZlcnNpb24gMjE2KQotICAgICAgICAgICh0ZXJtaW5hbC1pbml0LXh0 ZXJtLW1vZGlmeS1vdGhlci1rZXlzKSkpKSkpCisgICAgICAgICAgKHRlcm1pbmFsLWluaXQteHRl cm0tbW9kaWZ5LW90aGVyLWtleXMpKQorICAgICAgICA7OyBJbiB2ZXJzaW9uIDIwMyBzdXBwb3J0 IGZvciBhY2Nlc3NpbmcgdGhlIFggc2VsZWN0aW9uIHdhcworICAgICAgICA7OyBhZGRlZC4gIEh0 ZXJtIHJlcG9ydHMgaXRzZWxmIGFzIHZlcnNpb24gMjU2IGFuZCBzdXBwb3J0cyBpdAorICAgICAg ICA7OyBhcyB3ZWxsLiAgZ25vbWUtdGVybWluYWwgZG9lc24ndCBhbmQgaXMgZXhjbHVkZWQgYnkg dGhpcworICAgICAgICA7OyB0ZXN0LgorICAgICAgICAod2hlbiAoPj0gdmVyc2lvbiAyMDMpCisg ICAgICAgICAgKHRlcm1pbmFsLWluaXQteHRlcm0tYWN0aXZhdGUtc2V0LXNlbGVjdGlvbikpKSkp KQogCiAoZGVmdW4geHRlcm0tLXF1ZXJ5IChxdWVyeSBoYW5kbGVycykKICAgIlNlbmQgUVVFUlkg c3RyaW5nIHRvIHRoZSB0ZXJtaW5hbCBhbmQgd2F0Y2ggZm9yIGEgcmVzcG9uc2UuCkBAIC02OTks NyArNzIzLDEwIEBAIFdlIHJ1biB0aGUgZmlyc3QgRlVOQ1RJT04gd2hvc2UgU1RSSU5HIG1hdGNo ZXMgdGhlIGlucHV0IGV2ZW50cy4iCiAgICAgICAgICAgICAgICAgICAgICcoKCJcZV0xMTsiIC4g IHh0ZXJtLS1yZXBvcnQtYmFja2dyb3VuZC1oYW5kbGVyKSkpKQogCiAgICAgKHdoZW4gKG1lbXEg J21vZGlmeU90aGVyS2V5cyB4dGVybS1leHRyYS1jYXBhYmlsaXRpZXMpCi0gICAgICAodGVybWlu YWwtaW5pdC14dGVybS1tb2RpZnktb3RoZXIta2V5cykpKQorICAgICAgKHRlcm1pbmFsLWluaXQt eHRlcm0tbW9kaWZ5LW90aGVyLWtleXMpKQorCisgICAgKHdoZW4gKG1lbXEgJ3NldFNlbGVjdGlv biB4dGVybS1leHRyYS1jYXBhYmlsaXRpZXMpCisgICAgICAodGVybWluYWwtaW5pdC14dGVybS1h Y3RpdmF0ZS1zZXQtc2VsZWN0aW9uKSkpCiAKICAgOzsgVW5jb25kaXRpb25hbGx5IGVuYWJsZSBi cmFja2V0ZWQgcGFzdGUgbW9kZTogdGVybWluYWxzIHRoYXQgZG9uJ3QKICAgOzsgc3VwcG9ydCBp dCBqdXN0IGlnbm9yZSB0aGUgc2VxdWVuY2UuCkBAIC03MTksNiArNzQ2LDY0IEBAIFdlIHJ1biB0 aGUgZmlyc3QgRlVOQ1RJT04gd2hvc2UgU1RSSU5HIG1hdGNoZXMgdGhlIGlucHV0IGV2ZW50cy4i CiAgIChwdXNoICJcZVs/MjAwNGwiICh0ZXJtaW5hbC1wYXJhbWV0ZXIgbmlsICd0dHktbW9kZS1y ZXNldC1zdHJpbmdzKSkKICAgKHB1c2ggIlxlWz8yMDA0aCIgKHRlcm1pbmFsLXBhcmFtZXRlciBu aWwgJ3R0eS1tb2RlLXNldC1zdHJpbmdzKSkpCiAKKyhkZWZ1biB0ZXJtaW5hbC1pbml0LXh0ZXJt LWFjdGl2YXRlLXNldC1zZWxlY3Rpb24gKCkKKyAgIlRlcm1pbmFsIGluaXRpYWxpemF0aW9uIGZv ciBgZ3VpLXNldC1zZWxlY3Rpb24nLiIKKyAgOzsgQWxsIHRleHQgdGVybWluYWxzIGFyZSByZXBy ZXNlbnRlZCBieSB0aGUgbmlsIEdVSSB0eXBlLiAgV2UgbmVlZAorICA7OyB0byBkZXRlY3QgWFRl cm0gYWdhaW4gaW4gYHh0ZXJtLS1zZXQtc2VsZWN0aW9uJyB1c2luZyB0aGUKKyAgOzsgdGVybWlu YWwgcGFyYW1ldGVycy4KKyAgKGd1aS1tZXRob2QtZGVmaW5lIGd1aS1zZXQtc2VsZWN0aW9uIG5p bCAjJ3h0ZXJtLS1zZXQtc2VsZWN0aW9uKSkKKworKGRlZnVuIHh0ZXJtLS1zZXQtc2VsZWN0aW9u ICh0eXBlIGRhdGEpCisgICJDb3B5IERBVEEgdG8gdGhlIFggc2VsZWN0aW9uIHVzaW5nIHRoZSBP U0MgNTIgZXNjYXBlIHNlcXVlbmNlLgorCitUWVBFIHNwZWNpZmllcyB3aGljaCBzZWxlY3Rpb24g dG8gc2V0OyBpdCBtdXN0IGJlIGVpdGhlcgorYFBSSU1BUlknIG9yIGBDTElQQk9BUkQnLiAgREFU QSBtdXN0IGJlIGEgc3RyaW5nLgorCitUaGlzIGNhbiBiZSB1c2VkIGFzIGEgYGd1aS1zZXQtc2Vs ZWN0aW9uJyBtZXRob2QgZm9yCit4dGVybS1jb21wYXRpYmxlIHRlcm1pbmFsIGVtdWxhdG9ycy4g IFRoZW4geW91ciBzeXN0ZW0gY2xpcGJvYXJkCit3aWxsIGJlIHVwZGF0ZWQgd2hlbmV2ZXIgeW91 IGNvcHkgYSByZWdpb24gb2YgdGV4dCBpbiBFbWFjcy4KKworSWYgdGhlIHJlc3VsdGluZyBPU0Mg NTIgc2VxdWVuY2Ugd291bGQgYmUgbG9uZ2VyIHRoYW4KK2B4dGVybS1tYXgtY3V0LWxlbmd0aCcs IHRoZW4gdGhlIFRFWFQgaXMgbm90IHNlbnQgdG8gdGhlIHN5c3RlbQorY2xpcGJvYXJkLgorCitU aGlzIGZ1bmN0aW9uIGVpdGhlciBzZW5kcyBhIHJhdyBPU0MgNTIgc2VxdWVuY2Ugb3Igd3JhcHMg dGhlIE9TQworNTIgaW4gYSBEZXZpY2UgQ29udHJvbCBTdHJpbmcgc2VxdWVuY2UuICBUaGlzIHdh eSwgaXQgd2lsbCB3b3JrCitvbiBhIGJhcmUgdGVybWluYWwgZW11bGF0b3JzIGFzIHdlbGwgYXMg aW5zaWRlIHRoZSBzY3JlZW4KK3Byb2dyYW0uICBXaGVuIGluc2lkZSB0aGUgc2NyZWVuIHByb2dy YW0sIHRoaXMgZnVuY3Rpb24gYWxzbworY2hvcHMgbG9uZyBEQ1Mgc2VxdWVuY2VzIGludG8gbXVs dGlwbGUgc21hbGxlciBvbmVzIHRvIGF2b2lkCitoaXR0aW5nIHNjcmVlbidzIG1heCBEQ1MgbGVu Z3RoLiIKKyAgKGxldCogKChpbml0LWZ1bmN0aW9uICh0ZXJtaW5hbC1wYXJhbWV0ZXIgbmlsICd0 ZXJtaW5hbC1pbml0dGVkKSkKKyAgICAgICAgICh4dGVybSAoZXEgaW5pdC1mdW5jdGlvbiAndGVy bWluYWwtaW5pdC14dGVybSkpCisgICAgICAgICAoc2NyZWVuIChlcSBpbml0LWZ1bmN0aW9uICd0 ZXJtaW5hbC1pbml0LXNjcmVlbikpKQorICAgIDs7IE9ubHkgZG8gc29tZXRoaW5nIGlmIHRoZSBj dXJyZW50IHRlcm1pbmFsIGlzIGFjdHVhbGx5IGFuIFhUZXJtCisgICAgOzsgb3Igc2NyZWVuLgor ICAgICh3aGVuIChvciB4dGVybSBzY3JlZW4pCisgICAgICAobGV0KiAoKGJ5dGVzIChlbmNvZGUt Y29kaW5nLXN0cmluZyBkYXRhICd1dGYtOC11bml4KSkKKyAgICAgICAgICAgICAoYmFzZS02NCAo aWYgc2NyZWVuCisgICAgICAgICAgICAgICAgICAgICAgICAgIChyZXBsYWNlLXJlZ2V4cC1pbi1z dHJpbmcKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICJcbiIgIlxlXFxcZVAiCisgICAgICAg ICAgICAgICAgICAgICAgICAgICAoYmFzZTY0LWVuY29kZS1zdHJpbmcgYnl0ZXMpCisgICAgICAg ICAgICAgICAgICAgICAgICAgICA6Zml4ZWRjYXNlIDpsaXRlcmFsKQorICAgICAgICAgICAgICAg ICAgICAgICAgKGJhc2U2NC1lbmNvZGUtc3RyaW5nIGJ5dGVzIDpuby1saW5lLWJyZWFrKSkpCisg ICAgICAgICAgICAgKGxlbmd0aCAoc3RyaW5nLWJ5dGVzIGJhc2UtNjQpKSkKKyAgICAgICAgKGlm ICg+IGxlbmd0aCB4dGVybS1tYXgtY3V0LWxlbmd0aCkKKyAgICAgICAgICAgIChwcm9nbgorICAg ICAgICAgICAgICAod2FybiAiU2VsZWN0aW9uIHRvbyBsb25nIHRvIHNlbmQgdG8gdGVybWluYWw6 ICVkIGJ5dGVzIiBsZW5ndGgpCisgICAgICAgICAgICAgIChzaXQtZm9yIDIpKQorICAgICAgICAg IChzZW5kLXN0cmluZy10by10ZXJtaW5hbAorICAgICAgICAgICAoY29uY2F0CisgICAgICAgICAg ICAod2hlbiBzY3JlZW4gIlxlUCIpCisgICAgICAgICAgICAiXGVdNTI7IgorICAgICAgICAgICAg KGNvbmQKKyAgICAgICAgICAgICAoKGVxIHR5cGUgJ1BSSU1BUlkpICJwIikKKyAgICAgICAgICAg ICAoKGVxIHR5cGUgJ0NMSVBCT0FSRCkgImMiKQorICAgICAgICAgICAgICh0IChlcnJvciAiSW52 YWxpZCB0eXBlICVTIiB0eXBlKSkpCisgICAgICAgICAgICAiOyIKKyAgICAgICAgICAgIGJhc2Ut NjQKKyAgICAgICAgICAgICJcYSIKKyAgICAgICAgICAgICh3aGVuIHNjcmVlbiAiXGVcXCIpKSkp KSkpKQorCiA7OyBTZXQgdXAgY29sb3JzLCBmb3IgdGhvc2UgdmVyc2lvbnMgb2YgeHRlcm0gdGhh dCBzdXBwb3J0IGl0LgogKGRlZnZhciB4dGVybS1zdGFuZGFyZC1jb2xvcnMKICAgOzsgVGhlIG5h bWVzIGluIHRoZSBjb21tZW50cyB0YWtlbiBmcm9tIFhUZXJtLWNvbC5hZCBpbiB0aGUgeHRlcm0K LS0gCjIuMy41Cgo= --f46d044267329fc60705133ce01f--