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: [PATCH] icomplete-vertical Date: Tue, 06 Apr 2021 13:50:33 +0000 Message-ID: References: <87h7kkwcy1.fsf@posteo.net> <83tuokb0uk.fsf@gnu.org> <87o8er3i8z.fsf@posteo.net> <87blar3glt.fsf@posteo.net> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="WIjFlQZWd7" Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="35864"; mail-complaints-to="usenet@ciao.gmane.io" Cc: Philip Kaludercic , Eli Zaretskii , emacs-devel@gnu.org To: Stefan Monnier Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Tue Apr 06 15:51:54 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 1lTm7W-0009AT-CH for ged-emacs-devel@m.gmane-mx.org; Tue, 06 Apr 2021 15:51:54 +0200 Original-Received: from localhost ([::1]:57344 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1lTm7T-0002CH-I6 for ged-emacs-devel@m.gmane-mx.org; Tue, 06 Apr 2021 09:51:52 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:59370) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1lTm6M-0001cg-DY for emacs-devel@gnu.org; Tue, 06 Apr 2021 09:50:42 -0400 Original-Received: from heytings.org ([95.142.160.155]:59180) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1lTm6G-0005pQ-KS; Tue, 06 Apr 2021 09:50:42 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=heytings.org; s=20210101; t=1617717034; bh=RJL4RYGhPpr1rC4YhxmPq9cNb7l2Y3yP5TE8vm9FzSw=; h=Date:From:To:cc:Subject:In-Reply-To:Message-ID:References:From; b=g0HnnGTPiSsUAUGu73XtSFdApZpqV0wl46XuVYY7hP9XfPnvFjlikC97rkFdmlsIv 3qbCdbSt88kDeBA3brTqlg8+tAIk9LIxzV0ay72wcCQtk4x5xOGeEpKkI7tL6qsDNZ gnv3fWyLSFRz+xUwMR9nhnzhI9x9AOf7Q5IjsCl+AElmVGHAh8BCT2vozxGzAR0iTy t7MCmdtbgE2bbzzjfdZy2ruzmL3w7p7aWA/tvtEYmmfcfGLMTdLsoT1XdnAfN5Nan+ 2S0EgisC0sgpYAsas1jkkPIo4DQD55modeLq4R2WS9iMN+93CiQ1AxNKYpR3HEOHF+ ggyYVFszLLmUw== In-Reply-To: Content-ID: 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:267471 Archived-At: --WIjFlQZWd7 Content-Type: text/plain; charset=us-ascii; format=flowed Content-ID: >> As I said, it's meant to be a derived minor mode, much like >> lisp-data-mode is derived from prog-mode. > > FWIW, we don't have a notion of "derived minor-mode" yet. > Yes, which is why I tried to "emulate" it. I think it makes sense. But it's not the point under discussion. >> Using a user option would do the same thing as the minor mode, except >> that the changes would be scattered through the existing code. > > I don't see how. I'd imagine a code like: > Thank you, that makes perfect sense indeed. Thanks a lot also for your other comments, which I included in the attached revised patch. The only thing I wasn't sure is whether it was intentional that you removed the :group 'icomplete from the minor mode tags, I think it wasn't, so it's still there. --WIjFlQZWd7 Content-Type: text/x-diff; name=0001-Add-an-icomplete-vertical-minor-mode.patch Content-Transfer-Encoding: base64 Content-ID: Content-Description: Content-Disposition: attachment; filename=0001-Add-an-icomplete-vertical-minor-mode.patch RnJvbSBjNTkzYmExMDJmMTZiY2QyZmFkNjhhZTFjOWI1YTBjODczYjNjNzg4 IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQ0KRnJvbTogR3JlZ29yeSBIZXl0 aW5ncyA8Z3JlZ29yeUBoZXl0aW5ncy5vcmc+DQpEYXRlOiBUdWUsIDYgQXBy IDIwMjEgMTM6NDQ6MDQgKzAwMDANClN1YmplY3Q6IFtQQVRDSF0gQWRkIGFu IGljb21wbGV0ZS12ZXJ0aWNhbCBtaW5vciBtb2RlDQoNCiogbGlzcC9pY29t cGxldGUuZWwgKGljb21wbGV0ZS12ZXJ0aWNhbC1tb2RlKTogTmV3IG1pbm9y IG1vZGUuDQooaWNvbXBsZXRlLS12ZXJ0aWNhbC1yZWZvcm1hdC1jb21wbGV0 aW9ucywNCmljb21wbGV0ZS0tdmVydGljYWwtbWluaWJ1ZmZlci1zZXR1cCk6 IEF1eGlsaWFyeSBmdW5jdGlvbnMgZm9yIHRoZQ0KbmV3IG1pbm9yIG1vZGUu DQooaWNvbXBsZXRlLWNvbXBsZXRpb25zLWZpbHRlci1ob29rKTogTmV3IGhv b2sgdG8gZmlsdGVyIHRoZQ0KY29tcGxldGlvbiBjYW5kaWRhdGVzIHJldHVy bmVkIGJ5ICdpY29tcGxldGUtY29tcGxldGlvbnMnLg0KKGljb21wbGV0ZS1j b21wbGV0aW9ucyk6IFVzZSB0aGUgbmV3IGhvb2suDQoNCiogZXRjL05FV1M6 IE1lbnRpb24gdGhlIG5ldyBtaW5vciBtb2RlLg0KDQoqIGRvYy9lbWFjcy9i dWZmZXJzLnRleGk6IERvY3VtZW50IHRoZSBuZXcgbWlub3IgbW9kZS4NCi0t LQ0KIGRvYy9lbWFjcy9idWZmZXJzLnRleGkgfCAgNiArKy0NCiBldGMvTkVX UyAgICAgICAgICAgICAgIHwgMTIgKysrKysrDQogbGlzcC9pY29tcGxldGUu ZWwgICAgICB8IDgzICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrLS0tLQ0KIDMgZmlsZXMgY2hhbmdlZCwgOTMgaW5zZXJ0aW9ucygr KSwgOCBkZWxldGlvbnMoLSkNCg0KZGlmZiAtLWdpdCBhL2RvYy9lbWFjcy9i dWZmZXJzLnRleGkgYi9kb2MvZW1hY3MvYnVmZmVycy50ZXhpDQppbmRleCAz YTE2NmU0MDRhLi4wMGU3M2Q4MDBhIDEwMDY0NA0KLS0tIGEvZG9jL2VtYWNz L2J1ZmZlcnMudGV4aQ0KKysrIGIvZG9jL2VtYWNzL2J1ZmZlcnMudGV4aQ0K QEAgLTcxOCw2ICs3MTgsNyBAQCBydWxlIG9yIGFub3RoZXIgaXMgZWFzaWVy IGZvciB5b3UgdG8gcmVtZW1iZXIgYW5kIGFwcGx5IHF1aWNrbHkuDQogQHN1 YnNlY3Rpb24gRmFzdCBtaW5pYnVmZmVyIHNlbGVjdGlvbg0KIA0KIEBmaW5k ZXggaWNvbXBsZXRlLW1vZGUNCitAZmluZGV4IGljb21wbGV0ZS12ZXJ0aWNh bC1tb2RlDQogQGNpbmRleCBJY29tcGxldGUgbW9kZQ0KIA0KICAgSWNvbXBs ZXRlIGdsb2JhbCBtaW5vciBtb2RlIHByb3ZpZGVzIGEgY29udmVuaWVudCB3 YXkgdG8gcXVpY2tseSBzZWxlY3QgYW4NCkBAIC03NDAsNyArNzQxLDEwIEBA IG9mIGRpcmVjdG9yaWVzLg0KIA0KICAgVG8gZW5hYmxlIEljb21wbGV0ZSBt b2RlLCB0eXBlIEBrYmR7TS14IGljb21wbGV0ZS1tb2RlfSwgb3IgY3VzdG9t aXplDQogdGhlIHZhcmlhYmxlIEBjb2Rle2ljb21wbGV0ZS1tb2RlfSB0byBA Y29kZXt0fSAoQHB4cmVme0Vhc3kNCi1DdXN0b21pemF0aW9ufSkuDQorQ3Vz dG9taXphdGlvbn0pLiAgVGhpcyB3aWxsIGRpc3BsYXkgdGhlIGxpc3Qgb2Yg cG9zc2libGUgY29tcGxldGlvbnMNCitvbiB0aGUgc2FtZSBsaW5lIGFzIHRo ZSBwcm9tcHQuICBUbyBkaXNwbGF5IHRoZSBjb21wbGV0aW9uIGNhbmRpZGF0 ZXMNCit2ZXJ0aWNhbGx5IHVuZGVyIHRoZSBwcm9tcHQgaW5zdGVhZCwgdHlw ZSBAa2Jke00teCBpY29tcGxldGUtdmVydGljYWwtbW9kZX0sDQorb3IgY3Vz dG9taXplIHRoZSB2YXJpYWJsZSBAY29kZXtpY29tcGxldGUtdmVydGljYWwt bW9kZX0gdG8gQGNvZGV7dH0uDQogDQogQGZpbmRleCBmaWRvLW1vZGUNCiBA Y2luZGV4IGZpZG8gbW9kZQ0KZGlmZiAtLWdpdCBhL2V0Yy9ORVdTIGIvZXRj L05FV1MNCmluZGV4IGM4NDAwYmE4YzIuLjVkMWU1ZTM1OTkgMTAwNjQ0DQot LS0gYS9ldGMvTkVXUw0KKysrIGIvZXRjL05FV1MNCkBAIC00NzcsNiArNDc3 LDE4IEBAIGRvY3VtZW50ZWQuDQogU01JRSBpcyBub3cgYWx3YXlzIGVuYWJs ZWQgYW5kICdydWJ5LXVzZS1zbWllJyBvbmx5IGNvbnRyb2xzIHdoZXRoZXIN CiBpbmRlbnRhdGlvbiBpcyBkb25lIHVzaW5nIFNNSUUgb3Igd2l0aCB0aGUg b2xkIGFkLWhvYyBjb2RlLg0KIA0KKyoqIEljb21wbGV0ZQ0KKw0KKysrKw0K KyoqKiBOZXcgbWlub3IgbW9kZSBJY29tcGxldGUtVmVydGljYWwgbW9kZS4N CitUaGlzIG1vZGUgaXMgYmFzZWQgb24gYW5kIGlkZW50aWNhbCB0byBJY29t cGxldGUsIGV4Y2VwdCB0aGF0IGl0IGRpc3BsYXlzDQordGhlIGxpc3Qgb2Yg Y29tcGxldGlvbnMgY2FuZGlkYXRlcyB2ZXJ0aWNhbGx5Lg0KKw0KKysrKw0K KyoqKiBOZXcgdXNlciBvcHRpb24gJ2ljb21wbGV0ZS1jb21wbGV0aW9ucy1m aWx0ZXItaG9vaycuDQorVGhpcyBob29rIGlzIGludGVuZGVkIHRvIGJlIHVz ZWQgZm9yIGZpbHRlcmluZyB0aGUgY29tcGxldGlvbiBjYW5kaWRhdGUNCits aXN0IHJldHVybmVkIGJ5ICdpY29tcGxldGUtY29tcGxldGlvbnMnLg0KKw0K IC0tLQ0KICoqIFNwZWNpZmljIHdhcm5pbmdzIGNhbiBub3cgYmUgZGlzYWJs ZWQgZnJvbSB0aGUgd2FybmluZyBidWZmZXIuDQogV2hlbiBhIHdhcm5pbmcg aXMgZGlzcGxheWVkIHRvIHRoZSB1c2VyLCB0aGUgcmVzdWx0aW5nIGJ1ZmZl ciBub3cgaGFzDQpkaWZmIC0tZ2l0IGEvbGlzcC9pY29tcGxldGUuZWwgYi9s aXNwL2ljb21wbGV0ZS5lbA0KaW5kZXggZGE1ODljMDA2NC4uZGM5ZTg4Zjk3 YyAxMDA2NDQNCi0tLSBhL2xpc3AvaWNvbXBsZXRlLmVsDQorKysgYi9saXNw L2ljb21wbGV0ZS5lbA0KQEAgLTE0MCw2ICsxNDAsMjUgQEAgaWNvbXBsZXRp b24gaXMgb2NjdXJyaW5nLiINCiAgIDp0eXBlICdob29rDQogICA6Z3JvdXAg J2ljb21wbGV0ZSkNCiANCisoZGVmdmFyIGljb21wbGV0ZS1jdXJyZW50LWNv bXBsZXRpb25zIG5pbA0KKyAgIkN1cnJlbnQgY29tcGxldGlvbiBjYW5kaWRh dGUgbGlzdC4iKQ0KKw0KKyhkZWZjdXN0b20gaWNvbXBsZXRlLWNvbXBsZXRp b25zLWZpbHRlci1ob29rIG5pbA0KKyAgIkZpbHRlciB0aGUgY29tcGxldGlv biBjYW5kaWRhdGUgbGlzdCByZXR1cm5lZCBieSBgaWNvbXBsZXRlLWNvbXBs ZXRpb25zJy4NCisNCitUaGlzIHJvb2sgaXMgcnVuIGFmdGVyIEljb21wbGV0 ZSBoYXMgc3RvcmVkIHRoZSBjb21wbGV0aW9uIGNhbmRpZGF0ZSBsaXN0DQor aW4gYGljb21wbGV0ZS1jdXJyZW50LWNvbXBsZXRpb25zJy4gIEl0IGlzIGlu dGVuZGVkIHRvIGZpbHRlciB0aGF0IGxpc3QuDQorRm9yIGluc3RhbmNlOg0K Kw0KKyAgIChhZGQtaG9vayBcXD0naWNvbXBsZXRlLWNvbXBsZXRpb25zLWZp bHRlci1ob29rDQorICAgICAgICAgICAgIChsYW1iZGEgKCkNCisgICAgICAg ICAgICAgICAoc2V0cSBpY29tcGxldGUtY3VycmVudC1jb21wbGV0aW9ucw0K KyAgICAgICAgICAgICAgICAgICAgIChzdWJzdHJpbmctbm8tcHJvcGVydGll cyBpY29tcGxldGUtY3VycmVudC1jb21wbGV0aW9ucykpKSkNCisNCit3aWxs IHJlbW92ZSBhbGwgdGV4dCBwcm9wZXJ0aWVzIGZyb20gdGhlIGNvbXBsZXRp b24gY2FuZGlkYXRlcy4iDQorICA6dHlwZSAnaG9vaw0KKyAgOmdyb3VwICdp Y29tcGxldGUNCisgIDp2ZXJzaW9uICIyOC4xIikNCiANCiA7OztfKiBJbml0 aWFsaXphdGlvbg0KIA0KQEAgLTU2Miw2ICs1ODEsNTMgQEAgVXN1YWxseSBy dW4gYnkgaW5jbHVzaW9uIGluIGBtaW5pYnVmZmVyLXNldHVwLWhvb2snLiIN CiAgICAgICAgICAgICAgICAgIChjb21wbGV0aW9uLS1jYWNoZS1hbGwtc29y dGVkLWNvbXBsZXRpb25zIGJlZyBlbmQgKGNvbnMgY29tcCBhbGwpKSkpDQog ICAgICAgIGZpbmFsbHkgcmV0dXJuIGFsbCkpKQ0KIA0KKyhkZWZ1biBpY29t cGxldGUtLXZlcnRpY2FsLXJlZm9ybWF0LWNvbXBsZXRpb25zICgpDQorICAi UmVmb3JtYXQgdGhlIGNvbXBsZXRpb24gY2FuZGlkYXRlcyByZXR1cm5lZCBi eSBgaWNvbXBsZXRlLWNvbXBsZXRpb25zJy4iDQorICAoc2F2ZS1tYXRjaC1k YXRhDQorICAgIChzZXRxIGljb21wbGV0ZS1jdXJyZW50LWNvbXBsZXRpb25z DQorICAgICAgICAgIChpZiAoc3RyaW5nLW1hdGNoICJeXFwoKC4qKVxcfFxc Wy4qXFxdXFwpP3tcXChcXCg/Oi5cXHxcblxcKStcXCl9Ig0KKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICBpY29tcGxldGUtY3VycmVudC1jb21wbGV0 aW9ucykNCisgICAgICAgICAgICAgIChmb3JtYXQgIiVzIFxuJXMiDQorICAg ICAgICAgICAgICAgICAgICAgIChvciAobWF0Y2gtc3RyaW5nIDEgaWNvbXBs ZXRlLWN1cnJlbnQtY29tcGxldGlvbnMpICIiKQ0KKyAgICAgICAgICAgICAg ICAgICAgICAobWF0Y2gtc3RyaW5nIDIgaWNvbXBsZXRlLWN1cnJlbnQtY29t cGxldGlvbnMpKQ0KKyAgICAgICAgICAgIGljb21wbGV0ZS1jdXJyZW50LWNv bXBsZXRpb25zKSkpKQ0KKw0KKyhkZWZ1biBpY29tcGxldGUtLXZlcnRpY2Fs LW1pbmlidWZmZXItc2V0dXAgKCkNCisgICJTZXR1cCB0aGUgbWluaWJ1ZmZl ciBmb3IgdmVydGljYWwgZGlzcGxheSBvZiBjb21wbGV0aW9uIGNhbmRpZGF0 ZXMuIg0KKyAgKHNldHEtbG9jYWwgcmVkaXNwbGF5LWFkaG9jLXNjcm9sbC1p bi1yZXNpemUtbWluaS13aW5kb3dzIG5pbCkpDQorDQorKGRlZnZhciBpY29t cGxldGUtLXZlcnRpY2FsLXNhdmVkLXZhbHVlcyBuaWwpDQorDQorOzs7IyMj YXV0b2xvYWQNCisoZGVmaW5lLW1pbm9yLW1vZGUgaWNvbXBsZXRlLXZlcnRp Y2FsLW1vZGUNCisgICJUb2dnbGUgdGhlIHVzZSBvZiB2ZXJ0aWNhbCBkaXNw bGF5IGluIGBpY29tcGxldGUtbW9kZScuDQorDQorQXMgbWFueSBjb21wbGV0 aW9uIGNhbmRpZGF0ZXMgYXMgcG9zc2libGUgYXJlIGRpc3BsYXllZCwgZGVw ZW5kaW5nIG9uDQordGhlIHZhbHVlIG9mIGBtYXgtbWluaS13aW5kb3ctaGVp Z2h0JywgYW5kIHRoZSB3YXkgdGhlIG1pbmktd2luZG93IGlzDQorcmVzaXpl ZCBkZXBlbmRzIG9uIGByZXNpemUtbWluaS13aW5kb3dzJy4iDQorICA6Z2xv YmFsIHQNCisgIDpncm91cCAnaWNvbXBsZXRlDQorICAod2hlbiBpY29tcGxl dGUtLXZlcnRpY2FsLXNhdmVkLXZhbHVlcw0KKyAgICAoZXZhbCBgKHNldHEg LEBpY29tcGxldGUtLXZlcnRpY2FsLXNhdmVkLXZhbHVlcykpDQorICAgIChz ZXRxIGljb21wbGV0ZS0tdmVydGljYWwtc2F2ZWQtdmFsdWVzIG5pbCkpDQor ICAocmVtb3ZlLWhvb2sgJ2ljb21wbGV0ZS1taW5pYnVmZmVyLXNldHVwLWhv b2sNCisgICAgICAgICAgICAgICAjJ2ljb21wbGV0ZS0tdmVydGljYWwtbWlu aWJ1ZmZlci1zZXR1cCkNCisgIChyZW1vdmUtaG9vayAnaWNvbXBsZXRlLWNv bXBsZXRpb25zLWZpbHRlci1ob29rDQorICAgICAgICAgICAgICAgIydpY29t cGxldGUtLXZlcnRpY2FsLXJlZm9ybWF0LWNvbXBsZXRpb25zKQ0KKyAgKHdo ZW4gaWNvbXBsZXRlLXZlcnRpY2FsLW1vZGUNCisgICAgKHNldHEgaWNvbXBs ZXRlLS12ZXJ0aWNhbC1zYXZlZC12YWx1ZXMNCisgICAgICAgICAgKGxpc3Qg J2ljb21wbGV0ZS1zZXBhcmF0b3IgaWNvbXBsZXRlLXNlcGFyYXRvcg0KKyAg ICAgICAgICAgICAgICAnaWNvbXBsZXRlLWhpZGUtY29tbW9uLXByZWZpeCBp Y29tcGxldGUtaGlkZS1jb21tb24tcHJlZml4DQorICAgICAgICAgICAgICAg ICdpY29tcGxldGUtcHJvc3BlY3RzLWhlaWdodCBpY29tcGxldGUtcHJvc3Bl Y3RzLWhlaWdodCkpDQorICAgIChzZXRxIGljb21wbGV0ZS1zZXBhcmF0b3Ig IlxuIikNCisgICAgKHNldHEgaWNvbXBsZXRlLWhpZGUtY29tbW9uLXByZWZp eCBuaWwpDQorICAgIDs7IEFzayBgaWNvbXBsZXRlLWNvbXBsZXRpb25zJyB0 byByZXR1cm4gZW5vdWdoIGNvbXBsZXRpb25zIGNhbmRpZGF0ZXMuDQorICAg IChzZXRxIGljb21wbGV0ZS1wcm9zcGVjdHMtaGVpZ2h0IDI1KQ0KKyAgICAo YWRkLWhvb2sgJ2ljb21wbGV0ZS1taW5pYnVmZmVyLXNldHVwLWhvb2sNCisg ICAgICAgICAgICAgICMnaWNvbXBsZXRlLS12ZXJ0aWNhbC1taW5pYnVmZmVy LXNldHVwKQ0KKyAgICAoYWRkLWhvb2sgJ2ljb21wbGV0ZS1jb21wbGV0aW9u cy1maWx0ZXItaG9vaw0KKyAgICAgICAgICAgICAgIydpY29tcGxldGUtLXZl cnRpY2FsLXJlZm9ybWF0LWNvbXBsZXRpb25zKSkpDQorDQogDA0KIA0KIA0K QEAgLTc4MiwxMyArODQ4LDE2IEBAIG1hdGNoZXMgZXhpc3QuIg0KICAgICAg ICAgOzsgUmVzdG9yZSB0aGUgYmFzZS1zaXplIGluZm8sIHNpbmNlIGNvbXBs ZXRpb24tYWxsLXNvcnRlZC1jb21wbGV0aW9ucw0KICAgICAgICAgOzsgaXMg Y2FjaGVkLg0KICAgICAgICAgKGlmIGxhc3QgKHNldGNkciBsYXN0IGJhc2Ut c2l6ZSkpDQotCShpZiBwcm9zcGVjdHMNCi0JICAgIChjb25jYXQgZGV0ZXJt DQotCQkgICAgInsiDQotCQkgICAgKG1hcGNvbmNhdCAnaWRlbnRpdHkgcHJv c3BlY3RzIGljb21wbGV0ZS1zZXBhcmF0b3IpDQotCQkgICAgKGFuZCBsaW1p dCAoY29uY2F0IGljb21wbGV0ZS1zZXBhcmF0b3IgZWxsaXBzaXMpKQ0KLQkJ ICAgICJ9IikNCi0JICAoY29uY2F0IGRldGVybSAiIFtNYXRjaGVkXSIpKSkp KSkNCisgICAgICAgIChzZXRxIGljb21wbGV0ZS1jdXJyZW50LWNvbXBsZXRp b25zDQorCSAgICAgIChpZiBwcm9zcGVjdHMNCisJICAgICAgICAgIChjb25j YXQgZGV0ZXJtDQorCQkgICAgICAgICAgInsiDQorCQkgICAgICAgICAgKG1h cGNvbmNhdCAnaWRlbnRpdHkgcHJvc3BlY3RzIGljb21wbGV0ZS1zZXBhcmF0 b3IpDQorCQkgICAgICAgICAgKGFuZCBsaW1pdCAoY29uY2F0IGljb21wbGV0 ZS1zZXBhcmF0b3IgZWxsaXBzaXMpKQ0KKwkJICAgICAgICAgICJ9IikNCisJ ICAgICAgICAoY29uY2F0IGRldGVybSAiIFtNYXRjaGVkXSIpKSkNCisgICAg ICAgIChydW4taG9va3MgJ2ljb21wbGV0ZS1jb21wbGV0aW9ucy1maWx0ZXIt aG9vaykNCisgICAgICAgIGljb21wbGV0ZS1jdXJyZW50LWNvbXBsZXRpb25z KSkpKQ0KIA0KIDs7OyBJc3dpdGNoYiBjb21wYXRpYmlsaXR5DQogDQotLSAN CjIuMzAuMg0KDQo= --WIjFlQZWd7--