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.devel Subject: Re: Simple isearch concerns Date: Wed, 07 Apr 2021 17:21:16 +0000 Message-ID: <3ec7e2e58a3733a48ae9@heytings.org> References: <20210403001539.x4rb55dvh46rmhb3.ref@Ergus> <20210403001539.x4rb55dvh46rmhb3@Ergus> <878s5wmsjp.fsf@mail.linkov.net> <87mtubz4ls.fsf@mail.linkov.net> <8735w22s9b.fsf@mail.linkov.net> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="Q50jQKxTiH" Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="24456"; mail-complaints-to="usenet@ciao.gmane.io" Cc: Ergus , emacs-devel@gnu.org To: Juri Linkov Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Wed Apr 07 19:31:41 2021 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 1lUC1k-0006Gi-J6 for ged-emacs-devel@m.gmane-mx.org; Wed, 07 Apr 2021 19:31:40 +0200 Original-Received: from localhost ([::1]:37496 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1lUC1j-0001GN-8S for ged-emacs-devel@m.gmane-mx.org; Wed, 07 Apr 2021 13:31:39 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:40166) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1lUBrr-0004jU-Si for emacs-devel@gnu.org; Wed, 07 Apr 2021 13:21:27 -0400 Original-Received: from heytings.org ([95.142.160.155]:60976) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1lUBrl-0008Gv-9C for emacs-devel@gnu.org; Wed, 07 Apr 2021 13:21:25 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=heytings.org; s=20210101; t=1617816077; bh=tWFw9NfYiSvNFIAxxPXK4Nccm4UvMjoBM7AjZ8WUaZ0=; h=Date:From:To:cc:Subject:In-Reply-To:Message-ID:References:From; b=k8eXgGmeWLucz7aIa5yyJzGlqIsl/eA8bEJulc0pUEc2emnCxJ+dh0dFmm6DX1G2+ 1zlXofLWjfHTmmp8uT7E9sVw3Jqg5PMKeX4T+jb12+A/yumq9oMFMc2PGX9ptJXBKu fwQ/kW2Y/n0fdFBptGQ3bYMUDxHcE2SKkkXWUX/hrbQX6IUFn8Hx4TeTxkDAcUAKIM tDhY6X3HwfVnQ2u6/U7oR/FvTxhh32EfK2FXIDKeJJ842Zio1Fn2SyU6CyrqVrgvIa joQUJ9sWtedepNSXqTqR75Cw1i6EXVLWj9zP7LA6Wh82IK2kWr9Dlf5JUpyaglJHOW QcGxHSJcc5kTw== In-Reply-To: <8735w22s9b.fsf@mail.linkov.net> Received-SPF: pass client-ip=95.142.160.155; envelope-from=gregory@heytings.org; helo=heytings.org 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, SPF_HELO_PASS=-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.23 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" Xref: news.gmane.io gmane.emacs.devel:267545 Archived-At: --Q50jQKxTiH Content-Type: text/plain; format=flowed; charset=us-ascii >> +(put 'beginning-of-buffer 'isearch-match-scroll 'isearch-beginning-of-buffer) >> +(put 'end-of-buffer 'isearch-match-scroll 'isearch-end-of-buffer) >> +(put 'scroll-up-command 'isearch-match-scroll 'isearch-scroll-up) >> +(put 'scroll-down-command 'isearch-match-scroll 'isearch-scroll-down) >> ... >> + ((and isearch-allow-match-scroll >> + (symbolp this-command) >> + (get this-command 'isearch-match-scroll)) >> + (setq this-command (get this-command 'isearch-match-scroll))) > > As noted in another message, this is basically the same as: > > (define-key isearch-mode-map [remap beginning-of-buffer] 'isearch-beginning-of-buffer) > (define-key isearch-mode-map [remap end-of-buffer] 'isearch-end-of-buffer) > (define-key isearch-mode-map [remap scroll-up-command] 'isearch-scroll-up) > (define-key isearch-mode-map [remap scroll-down-command] 'isearch-scroll-down) > I'm not sure I understand what you mean by this. Indeed this can be done that way, too, but in that case it isn't a user option anymore, which can be easily set and toggled. I attach an updated patch, with an improved documentation (including the typo spotted by Howard Melman). --Q50jQKxTiH Content-Type: text/x-diff; name=0001-New-user-option-to-scroll-isearch-matches.patch Content-Transfer-Encoding: base64 Content-ID: <3ec7e2e58aa65a41a434@heytings.org> Content-Description: Content-Disposition: attachment; filename=0001-New-user-option-to-scroll-isearch-matches.patch RnJvbSAzZTFjNWNlZDI5OGY5MDkxYjQ1NTFmM2VhNzMxM2NhMjliM2Y3ODg0 IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQ0KRnJvbTogR3JlZ29yeSBIZXl0 aW5ncyA8Z3JlZ29yeUBoZXl0aW5ncy5vcmc+DQpEYXRlOiBXZWQsIDcgQXBy IDIwMjEgMTc6MTU6MDIgKzAwMDANClN1YmplY3Q6IFtQQVRDSF0gTmV3IHVz ZXIgb3B0aW9uIHRvIHNjcm9sbCBpc2VhcmNoIG1hdGNoZXMNCg0KKiBsaXNw L2lzZWFyY2guZWwgKGlzZWFyY2gtYWxsb3ctbWF0Y2gtc2Nyb2xsKTogTmV3 IHVzZXIgb3B0aW9uLg0KKGlzZWFyY2gtc2Nyb2xsLXVwLCBpc2VhcmNoLXNj cm9sbC1kb3duKTogTmV3IGNvbW1hbmRzIHRvIHNjcm9sbA0KdGhlIGN1cnJl bnQgc2VhcmNoIG1hdGNoLCB0aGF0IGNvbXBsZW1lbnQgdGhlIGV4aXN0aW5n DQppc2VhcmNoLWJlZ2lubmluZy1vZi1idWZmZXIgYW5kIGlzZWFyY2gtZW5k LW9mLWJ1ZmZlciBjb21tYW5kcy4NCihpc2VhcmNoLXByZS1jb21tYW5kLWhv b2spOiBIYW5kbGUgdGhlIG5ldyBvcHRpb24gYW5kIGNvbW1hbmRzLg0KDQoq IGV0Yy9ORVdTOiBNZW50aW9uIHRoZSBuZXcgdXNlciBvcHRpb24uDQoNCiog ZG9jL2VtYWNzL3NlYXJjaC50ZXhpOiBEb2N1bWVudCB0aGUgbmV3IHVzZXIg b3B0aW9uLg0KLS0tDQogZG9jL2VtYWNzL3NlYXJjaC50ZXhpIHwgMjEgKysr KysrKysrKysrKysrKysrKysrDQogZXRjL05FV1MgICAgICAgICAgICAgIHwg IDggKysrKysrKysNCiBsaXNwL2lzZWFyY2guZWwgICAgICAgfCA0MiArKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKy0NCiAzIGZp bGVzIGNoYW5nZWQsIDcwIGluc2VydGlvbnMoKyksIDEgZGVsZXRpb24oLSkN Cg0KZGlmZiAtLWdpdCBhL2RvYy9lbWFjcy9zZWFyY2gudGV4aSBiL2RvYy9l bWFjcy9zZWFyY2gudGV4aQ0KaW5kZXggZjNjNDJiY2VhNy4uMjk5MzM3N2Yw NCAxMDA2NDQNCi0tLSBhL2RvYy9lbWFjcy9zZWFyY2gudGV4aQ0KKysrIGIv ZG9jL2VtYWNzL3NlYXJjaC50ZXhpDQpAQCAtNTg3LDYgKzU4NywxNCBAQCBv ciB0aGUgc2VsZWN0ZWQgd2luZG93IGFuZCBmcmFtZS4gIFRoZSBjb21tYW5k IG11c3Qgbm90IGl0c2VsZiBhdHRlbXB0DQogYW4gaW5jcmVtZW50YWwgc2Vh cmNoLiAgVGhpcyBmZWF0dXJlIGlzIGRpc2FibGVkIGlmDQogQGNvZGV7aXNl YXJjaC1hbGxvdy1zY3JvbGx9IGlzIEBjb2Rle25pbH0gKHdoaWNoIGl0IGlz IGJ5IGRlZmF1bHQpLg0KIA0KK0B2aW5kZXggaXNlYXJjaC1hbGxvdy1tYXRj aC1zY3JvbGwNCisgIExpa2V3aXNlLCBpZiB5b3UgY2hhbmdlIHRoZSB2YXJp YWJsZSBAY29kZXtpc2VhcmNoLWFsbG93LW1hdGNoLXNjcm9sbH0NCit0byBh IG5vbi1AY29kZXtuaWx9IHZhbHVlLCB0aGlzIGVuYWJsZXMgdGhlIHVzZSBv ZiB0aGUga2V5Ym9hcmQgc2Nyb2xsaW5nDQorY29tbWFuZHMgQGtiZHtNLTx9 LCBAa2Jke00tPn0sIEBrYmR7Qy12fSBhbmQgQGtiZHtNLXZ9LCB0byBtb3Zl DQorcmVzcGVjdGl2ZWx5IHRvIHRoZSBmaXJzdCBvY2N1cnJlbmNlIG9mIHRo ZSBjdXJyZW50IHNlYXJjaCBzdHJpbmcgaW4NCit0aGUgYnVmZmVyLCB0aGUg bGFzdCBvbmUsIHRoZSBmaXJzdCBvbmUgYWZ0ZXIgdGhlIGN1cnJlbnQgd2lu ZG93LA0KK2FuZCB0aGUgbGFzdCBvbmUgYmVmb3JlIHRoZSBjdXJyZW50IHdp bmRvdy4NCisNCiBAaXRlbSBNb3Rpb24gQ29tbWFuZHMNCiBAY2luZGV4IG1v dGlvbiBjb21tYW5kcywgZHVyaW5nIGluY3JlbWVudGFsIHNlYXJjaA0KIFdo ZW4gQGNvZGV7aXNlYXJjaC15YW5rLW9uLW1vdmV9IGlzIGN1c3RvbWl6ZWQg dG8gQGNvZGV7c2hpZnR9LA0KQEAgLTU5OCw2ICs2MDYsMTkgQEAgV2hlbiBA Y29kZXtpc2VhcmNoLXlhbmstb24tbW92ZX0gaXMgQGNvZGV7dH0sIHlvdSBj YW4gZXh0ZW5kIHRoZQ0KIHNlYXJjaCBzdHJpbmcgd2l0aG91dCB1c2luZyB0 aGUgc2hpZnQga2V5IGZvciBjdXJzb3IgbW90aW9uIGNvbW1hbmRzLA0KIGJ1 dCBpdCBhcHBsaWVzIG9ubHkgZm9yIGNlcnRhaW4gbW90aW9uIGNvbW1hbmQg dGhhdCBoYXZlIHRoZQ0KIEBjb2Rle2lzZWFyY2gtbW92ZX0gcHJvcGVydHkg b24gdGhlaXIgc3ltYm9scy4NCisNCitAY2luZGV4IG1vdGlvbiBjb21tYW5k cywgZHVyaW5nIGluY3JlbWVudGFsIHNlYXJjaCwgY2hhbmdlDQorICBXaGVu IEBjb2Rle2lzZWFyY2gtYWxsb3ctbWF0Y2gtc2Nyb2xsfSBpcyBub24tQGNv ZGV7bmlsfSwgaXQNCitpcyBhbHNvIHBvc3NpYmxlIHRvIGNoYW5nZSB0aGUg ZWZmZWN0IG9mIG1vdGlvbiBjb21tYW5kcyBkdXJpbmcNCitpbmNyZW1lbnRh bCBzZWFyY2gsIGJ5IG1vZGlmeWluZyB0aGUgQGNvZGV7aXNlYXJjaC1tYXRj aC1zY3JvbGx9DQorcHJvcGVydHkgb2YgdGhlaXIgc3ltYm9scy4gIEZvciBl eGFtcGxlLCB0byBtYWtlIEBrYmR7Qy1mfSBhbmQNCitAa2Jke0MtYn0gbW92 ZSB0byB0aGUgbmV4dCBhbmQgcHJldmlvdXMgbWF0Y2gsIHlvdSBjYW4gcHV0 IHRoZQ0KK2ZvbGxvd2luZyBsaW5lcyBpbiB5b3VyIGluaXQgZmlsZSAoQHB4 cmVme0luaXQgRmlsZX0pOg0KKw0KK0BleGFtcGxlDQorKHB1dCAnZm9yd2Fy ZC1jaGFyICdpc2VhcmNoLW1hdGNoLXNjcm9sbCAnaXNlYXJjaC1yZXBlYXQt Zm9yd2FyZCkNCisocHV0ICdiYWNrd2FyZC1jaGFyICdpc2VhcmNoLW1hdGNo LXNjcm9sbCAnaXNlYXJjaC1yZXBlYXQtYmFja3dhcmQpDQorQGVuZCBleGFt cGxlDQogQGVuZCB0YWJsZQ0KIA0KIEBub2RlIElzZWFyY2ggTWluaWJ1ZmZl cg0KZGlmZiAtLWdpdCBhL2V0Yy9ORVdTIGIvZXRjL05FV1MNCmluZGV4IGQz YTg3NDhkZWQuLjc0MTFlM2RlMTAgMTAwNjQ0DQotLS0gYS9ldGMvTkVXUw0K KysrIGIvZXRjL05FV1MNCkBAIC0zNjcsNiArMzY3LDE0IEBAIHRyeWluZyB0 byBiZSBub24tZGVzdHJ1Y3RpdmUuDQogVGhpcyBjb21tYW5kIG9wZW5zIGEg bmV3IGJ1ZmZlciBjYWxsZWQgIipNZW1vcnkgUmVwb3J0KiIgYW5kIGdpdmVz IGENCiBzdW1tYXJ5IG9mIHdoZXJlIEVtYWNzIGlzIHVzaW5nIG1lbW9yeSBj dXJyZW50bHkuDQogDQorKysrDQorKiogTmV3IHVzZXIgb3B0aW9uICdpc2Vh cmNoLWFsbG93LW1hdGNoLXNjcm9sbCcuDQorV2hlbiB0aGlzIG9wdGlvbiBp cyBzZXQsIHRoZSBjb21tYW5kcyAnYmVnaW5uaW5nLW9mLWJ1ZmZlcicsDQor J2VuZC1vZi1idWZmZXInLCAnc2Nyb2xsLXVwLWNvbW1hbmQnIGFuZCAnc2Ny b2xsLWRvd24tY29tbWFuZCcgbW92ZQ0KK3Jlc3BlY3RpdmVseSB0byB0aGUg Zmlyc3Qgb2NjdXJyZW5jZSBvZiB0aGUgY3VycmVudCBzZWFyY2ggc3RyaW5n DQoraW4gdGhlIGJ1ZmZlciwgdGhlIGxhc3Qgb25lLCB0aGUgZmlyc3Qgb25l IGFmdGVyIHRoZSBjdXJyZW50IHdpbmRvdywNCithbmQgdGhlIGxhc3Qgb25l IGJlZm9yZSB0aGUgY3VycmVudCB3aW5kb3cuDQorDQogKiogT3V0bGluZQ0K IA0KICsrKw0KZGlmZiAtLWdpdCBhL2xpc3AvaXNlYXJjaC5lbCBiL2xpc3Av aXNlYXJjaC5lbA0KaW5kZXggYTgyOGM1NjlhYS4uOTZlZDE3OWM4NCAxMDA2 NDQNCi0tLSBhL2xpc3AvaXNlYXJjaC5lbA0KKysrIGIvbGlzcC9pc2VhcmNo LmVsDQpAQCAtMTk3MCw2ICsxOTcwLDIzIEBAIHR5cGUgXFxbaXNlYXJjaC1y ZXBlYXQtYmFja3dhcmRdIHdpdGggYSBudW1lcmljIGFyZ3VtZW50LiINCiAg ICAgKGdvdG8tY2hhciAocG9pbnQtbWF4KSkNCiAgICAgKGlzZWFyY2gtcmVw ZWF0ICdiYWNrd2FyZCBhcmcpKSkNCiANCisoZGVmdW4gaXNlYXJjaC1zY3Jv bGwtdXAgKCkNCisgICJHbyB0byB0aGUgZmlyc3Qgb2NjdXJyZW5jZSBvZiB0 aGUgY3VycmVudCBzZWFyY2ggc3RyaW5nIGFmdGVyIHdpbmRvdy4NCitNb3Zl IHBvaW50IHRvIHRoZSBlbmQgb2YgdGhlIHdpbmRvdywgYW5kIHNlYXJjaCBm b3J3YXJkLiINCisgIChpbnRlcmFjdGl2ZSkNCisgIChzZXRxIGlzZWFyY2gt anVzdC1zdGFydGVkIHQpDQorICAoZ290by1jaGFyICh3aW5kb3ctZW5kKSkN CisgIChpc2VhcmNoLXJlcGVhdCAnZm9yd2FyZCkpDQorDQorKGRlZnVuIGlz ZWFyY2gtc2Nyb2xsLWRvd24gKCkNCisgICJHbyB0byB0aGUgZmlyc3Qgb2Nj dXJyZW5jZSBvZiB0aGUgY3VycmVudCBzZWFyY2ggc3RyaW5nIGJlZm9yZSB3 aW5kb3cuDQorTW92ZSBwb2ludCB0byB0aGUgYmVnaW5uaW5nIG9mIHRoZSB3 aW5kb3csIHJlY2VudGVyIGl0LCBhbmQgc2VhcmNoIGJhY2t3YXJkLiINCisg IChpbnRlcmFjdGl2ZSkNCisgIChzZXRxIGlzZWFyY2gtanVzdC1zdGFydGVk IHQpDQorICAoZ290by1jaGFyICh3aW5kb3ctc3RhcnQpKQ0KKyAgKHJlY2Vu dGVyIG5pbCB0KQ0KKyAgKGlzZWFyY2gtcmVwZWF0ICdiYWNrd2FyZCkpDQor DQogDA0KIDs7OyBUb2dnbGVzIGZvciBgaXNlYXJjaC1yZWdleHAtZnVuY3Rp b24nIGFuZCBgc2VhcmNoLWRlZmF1bHQtbW9kZScuDQogKGRlZm1hY3JvIGlz ZWFyY2gtZGVmaW5lLW1vZGUtdG9nZ2xlIChtb2RlIGtleSBmdW5jdGlvbiAm b3B0aW9uYWwgZG9jc3RyaW5nICZyZXN0IGJvZHkpDQpAQCAtMjg2OCwxMiAr Mjg4NSwzMCBAQCBJZiBub24tbmlsLCBzY3JvbGxpbmcgY29tbWFuZHMgY2Fu IGJlIHVzZWQgaW4gSXNlYXJjaCBtb2RlLg0KIEhvd2V2ZXIsIHlvdSBjYW5u b3Qgc2Nyb2xsIGZhciBlbm91Z2ggdGhhdCB0aGUgY3VycmVudCBtYXRjaCBp cw0KIG5vIGxvbmdlciB2aXNpYmxlIChpcyBvZmYgc2NyZWVuKS4gIEJ1dCBp ZiB0aGUgdmFsdWUgaXMgYHVubGltaXRlZCcNCiB0aGF0IGxpbWl0YXRpb24g aXMgcmVtb3ZlZCBhbmQgeW91IGNhbiBzY3JvbGwgYW55IGRpc3RhbmNlIG9m ZiBzY3JlZW4uDQotSWYgbmlsLCBzY3JvbGxpbmcgY29tbWFuZHMgZXhpdCBJ c2VhcmNoIG1vZGUuIg0KK0lmIG5pbCwgc2Nyb2xsaW5nIGNvbW1hbmRzIGV4 aXQgSXNlYXJjaCBtb2RlLg0KK1NlZSBhbHNvIHRoZSByZWxhdGVkIG9wdGlv biBgaXNlYXJjaC1hbGxvdy1tYXRjaC1zY3JvbGwnLiINCiAgIDp0eXBlICco Y2hvaWNlIChjb25zdCA6dGFnICJTY3JvbGxpbmcgZXhpdHMgSXNlYXJjaCIg bmlsKQ0KICAgICAgICAgICAgICAgICAgKGNvbnN0IDp0YWcgIlNjcm9sbGlu ZyB3aXRoIGN1cnJlbnQgbWF0Y2ggb24gc2NyZWVuIiB0KQ0KICAgICAgICAg ICAgICAgICAgKGNvbnN0IDp0YWcgIlNjcm9sbGluZyB3aXRoIGN1cnJlbnQg bWF0Y2ggb2ZmIHNjcmVlbiIgdW5saW1pdGVkKSkNCiAgIDpncm91cCAnaXNl YXJjaCkNCiANCisocHV0ICdiZWdpbm5pbmctb2YtYnVmZmVyICdpc2VhcmNo LW1hdGNoLXNjcm9sbCAnaXNlYXJjaC1iZWdpbm5pbmctb2YtYnVmZmVyKQ0K KyhwdXQgJ2VuZC1vZi1idWZmZXIgJ2lzZWFyY2gtbWF0Y2gtc2Nyb2xsICdp c2VhcmNoLWVuZC1vZi1idWZmZXIpDQorKHB1dCAnc2Nyb2xsLXVwLWNvbW1h bmQgJ2lzZWFyY2gtbWF0Y2gtc2Nyb2xsICdpc2VhcmNoLXNjcm9sbC11cCkN CisocHV0ICdzY3JvbGwtZG93bi1jb21tYW5kICdpc2VhcmNoLW1hdGNoLXNj cm9sbCAnaXNlYXJjaC1zY3JvbGwtZG93bikNCisNCisoZGVmY3VzdG9tIGlz ZWFyY2gtYWxsb3ctbWF0Y2gtc2Nyb2xsIG5pbA0KKyAgIldoZXRoZXIgc2Ny b2xsaW5nIHRvIGFub3RoZXIgbWF0Y2ggaXMgYWxsb3dlZCBkdXJpbmcgaW5j cmVtZW50YWwgc2VhcmNoLg0KK0lmIG5vbi1uaWwsIHRoZSBmb3VyIHNjcm9s bGluZyBjb21tYW5kcyBgYmVnaW5uaW5nLW9mLWJ1ZmZlcicsDQorYGVuZC1v Zi1idWZmZXInLCBgc2Nyb2xsLXVwLWNvbW1hbmQnIGFuZCBgc2Nyb2xsLWRv d24tY29tbWFuZCcgbW92ZQ0KK3Jlc3BlY3RpdmVseSB0byB0aGUgZmlyc3Qg Zmlyc3Qgb2NjdXJyZW5jZSBvZiB0aGUgY3VycmVudCBzZWFyY2ggc3RyaW5n IGluDQordGhlIGJ1ZmZlciwgdGhlIGxhc3Qgb25lLCB0aGUgZmlyc3Qgb25l IGFmdGVyIHRoZSBjdXJyZW50IHdpbmRvdywgYW5kIHRoZQ0KK2xhc3Qgb25l IGJlZm9yZSB0aGUgY3VycmVudCB3aW5kb3cuDQorU2VlIGFsc28gdGhlIHJl bGF0ZWQgb3B0aW9uIGBpc2VhcmNoLWFsbG93LXNjcm9sbCcuIg0KKyAgOnR5 cGUgJyhjaG9pY2UgKGNvbnN0IDp0YWcgIk9mZiIgbmlsKQ0KKyAgICAgICAg ICAgICAgICAgKGNvbnN0IDp0YWcgIk9uIiB0KSkNCisgIDpncm91cCAnaXNl YXJjaCkNCisNCiAoZGVmY3VzdG9tIGlzZWFyY2gtYWxsb3ctcHJlZml4IHQN CiAgICJXaGV0aGVyIHByZWZpeCBhcmd1bWVudHMgYXJlIGFsbG93ZWQgZHVy aW5nIGluY3JlbWVudGFsIHNlYXJjaC4NCiBJZiBub24tbmlsLCBlbnRlcmlu ZyBhIHByZWZpeCBhcmd1bWVudCB3aWxsIG5vdCB0ZXJtaW5hdGUgdGhlDQpA QCAtMjk3NSw2ICszMDEwLDExIEBAIFNlZSBtb3JlIGZvciBvcHRpb25zIGlu IGBzZWFyY2gtZXhpdC1vcHRpb24nLiINCiAgICAgIDs7IE9wdGlvbmFsbHkg ZWRpdCB0aGUgc2VhcmNoIHN0cmluZyBpbnN0ZWFkIG9mIGV4aXRpbmcuDQog ICAgICAoKGVxIHNlYXJjaC1leGl0LW9wdGlvbiAnZWRpdCkNCiAgICAgICAo c2V0cSB0aGlzLWNvbW1hbmQgJ2lzZWFyY2gtZWRpdC1zdHJpbmcpKQ0KKyAg ICAgOzsgSGFuZGxlIG1hdGNoIHNjcm9sbGluZyBmdW5jdGlvbnMuDQorICAg ICAoKGFuZCBpc2VhcmNoLWFsbG93LW1hdGNoLXNjcm9sbA0KKyAgICAgICAg ICAgKHN5bWJvbHAgdGhpcy1jb21tYW5kKQ0KKyAgICAgICAgICAgKGdldCB0 aGlzLWNvbW1hbmQgJ2lzZWFyY2gtbWF0Y2gtc2Nyb2xsKSkNCisgICAgICAo c2V0cSB0aGlzLWNvbW1hbmQgKGdldCB0aGlzLWNvbW1hbmQgJ2lzZWFyY2gt bWF0Y2gtc2Nyb2xsKSkpDQogICAgICA7OyBIYW5kbGUgYSBzY3JvbGxpbmcg ZnVuY3Rpb24gb3IgcHJlZml4IGFyZ3VtZW50Lg0KICAgICAgKChvciAoYW5k IGlzZWFyY2gtYWxsb3ctcHJlZml4DQogICAgICAgICAgICAgICAgKG1lbXEg dGhpcy1jb21tYW5kICcodW5pdmVyc2FsLWFyZ3VtZW50IHVuaXZlcnNhbC1h cmd1bWVudC1tb3JlDQotLSANCjIuMzAuMg0KDQo= --Q50jQKxTiH--