From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp0.migadu.com ([2001:41d0:303:e16b::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms13.migadu.com with LMTPS id YCWlJewyZWd0LAEAqHPOHw:P1 (envelope-from ) for ; Fri, 20 Dec 2024 09:03:56 +0000 Received: from aspmx1.migadu.com ([2001:41d0:303:e16b::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp0.migadu.com with LMTPS id YCWlJewyZWd0LAEAqHPOHw (envelope-from ) for ; Fri, 20 Dec 2024 10:03:40 +0100 X-Envelope-To: larch@yhetil.org Authentication-Results: aspmx1.migadu.com; dkim=pass header.d=gmx.at header.s=s31663417 header.b="fbKzY/fp"; spf=pass (aspmx1.migadu.com: domain of "emacs-orgmode-bounces+larch=yhetil.org@gnu.org" designates 209.51.188.17 as permitted sender) smtp.mailfrom="emacs-orgmode-bounces+larch=yhetil.org@gnu.org"; dmarc=pass (policy=quarantine) header.from=gmx.at ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=yhetil.org; s=key1; t=1734685420; h=from:from:sender:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type:in-reply-to:in-reply-to: references:references:list-id:list-help:list-unsubscribe: list-subscribe:list-post:dkim-signature; bh=8t2XV+8ToyjaFUYPUJNkm5FSVc4712QZMv+UbUXvwK0=; b=A0vxouJLuXydvxVNZkzpvswDVKTwSQQenSBJi/lnlqlP5vJ4ecxarkA5TGLN3fMx4CpSTG RWHYNcYXgCaAEaBVMgw3ThTTvNfduEZriSuvwUw8lb6aG+K+zR1atiKuCw1RJwV7ssHBOS S5R4CcvtUrq1sHKOydR2OjbRpnLWc8EMk0uXgkSX1hThGZa6aebqwonwSyTIesuXZjshqE dZApCIytXzRoJKu9o182D6Ihzo6/LkR8TSxF8aA+nQ4/mJBrC5YU9tYYhQC+EjvYYZ+/QB JQccDdhrD45xiwVzjiJsLlvrcBm7UVPqH1iUH5tyPh64DMwC3fX1wXYhTHRrSA== ARC-Authentication-Results: i=1; aspmx1.migadu.com; dkim=pass header.d=gmx.at header.s=s31663417 header.b="fbKzY/fp"; spf=pass (aspmx1.migadu.com: domain of "emacs-orgmode-bounces+larch=yhetil.org@gnu.org" designates 209.51.188.17 as permitted sender) smtp.mailfrom="emacs-orgmode-bounces+larch=yhetil.org@gnu.org"; dmarc=pass (policy=quarantine) header.from=gmx.at ARC-Seal: i=1; s=key1; d=yhetil.org; t=1734685420; a=rsa-sha256; cv=none; b=LuaA5/X5gZeQF0vRr4mBaCw/hgZBSr37ORWDfIgzJfYFiuVWk1tR8/WuzHR288idcQCWvc wuJMakahmxh3OYOcAAvZ/5UybHoIhNkTfMU2+nIky16UiYijLWkqr8NQBY61gaEjAdpK1P b3YBgGJGWtDzweBJeQYwguoNOGh/9ArEHBUTfBjnbLvsg6/2J7I9CEuNBHpovvh1Vu0Pe5 yLB/lfzCMyf/0u7Ir19rfLF/9NpGR9qAqjO6ZED4e13X80lmBNA5SjDgbU5v0acBQETfGD TtZvwmUWi6ZvoXnYvA5L3NoHLtvR6KGHmRd570RkRAaFlpVgYaaCJMI0AdzfRQ== Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by aspmx1.migadu.com (Postfix) with ESMTPS id 4FFB452F78 for ; Fri, 20 Dec 2024 10:03:40 +0100 (CET) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1tOYuO-0008FG-ML; Fri, 20 Dec 2024 04:02:56 -0500 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 1tOYuL-0008BO-Av; Fri, 20 Dec 2024 04:02:55 -0500 Received: from mout.gmx.net ([212.227.15.19]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1tOYuJ-0003dB-3t; Fri, 20 Dec 2024 04:02:52 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmx.at; s=s31663417; t=1734685352; x=1735290152; i=rudalics@gmx.at; bh=8t2XV+8ToyjaFUYPUJNkm5FSVc4712QZMv+UbUXvwK0=; h=X-UI-Sender-Class:Content-Type:Message-ID:Date:MIME-Version: Subject:To:Cc:References:From:In-Reply-To:cc: content-transfer-encoding:content-type:date:from:message-id: mime-version:reply-to:subject:to; b=fbKzY/fpVI19UT4exSW9+zDuJOa6ziROvUkUSOtpDHCQRJv92/CCVgh3qBNt+aLI HnTlTTZVVdsLTpeRlKdOJA+AJvM0tUjYdHxCeMt8JNPBbPJuYLpAs5mO8HyAc4uZR WBNYEir+1vT47gJ3L8aLtTykk4z2KZ/SuHvcLuTQeDXozSQ77NvL/DRU4XIP8r25G x+PM2QHET3OJDNKI0YqAvQya+JNBXkGNNVY67cpGKizFrkaCmL3aD6KjmQrAEZXJV pz9hsTtPGGflXrlqBaG/TPCGP9goSCt05WTHXxU4wjc2UxLwbOjSKbYIy5VhOn1pi r7pQJLe4syltzGUPAg== X-UI-Sender-Class: 724b4f7f-cbec-4199-ad4e-598c01a50d3a Received: from [192.168.31.113] ([213.142.96.6]) by mail.gmx.net (mrgmx005 [212.227.17.190]) with ESMTPSA (Nemesis) id 1MgesQ-1u3ON13rae-00lsda; Fri, 20 Dec 2024 10:02:32 +0100 Content-Type: multipart/mixed; boundary="------------fLuG8y91QlVRMMjgtVFUoVLj" Message-ID: Date: Fri, 20 Dec 2024 10:02:28 +0100 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: May we have a variant of display-buffer-reuse-window that considers indirect buffers? To: Ihor Radchenko Cc: Juri Linkov , =?UTF-8?Q?S=C3=A9bastien_Gendre?= , Org Mode List , emacs-devel@gnu.org References: <878qtycdmi.fsf@k-7.ch> <87msgx7yo5.fsf@localhost> <87ttb42i1b.fsf@mail.linkov.net> <87r067cxi6.fsf@localhost> <87y10e6uyf.fsf@localhost> <9d81cb95-8d46-4c51-8daa-d7c8fb44413a@gmx.at> <87o7187t44.fsf@localhost> <4a276720-259e-458a-a0ea-53cdd24e8ee6@gmx.at> <87cyhn7efy.fsf@localhost> Content-Language: en-US From: martin rudalics In-Reply-To: <87cyhn7efy.fsf@localhost> X-Provags-ID: V03:K1:8mNoX3VSE/OqlU8xa4kx2pH0BfeDUFMcf8Q4/aSRtO5s3PTZBG7 qUMLsdPYRSN5sQJwOWvF1RO+3fPU56i2eXjg6qZGpCmRYc2SW1oEoI+cagCO/K3C140VRwC +AhOYVV2mBLBCYwadGMHaYz9f8ULdGOThCSztDMzicMw7H562yJVnv+2fqR5RXp2aQYXxZ9 0T+1CmTkDwhmLNvfTDsXg== UI-OutboundReport: notjunk:1;M01:P0:tdstm1d2NDk=;YRbzrcVnLDu5xQk7qDigbuvsvIF 8tr8dlFu7ryK+pxzKCgRvfeh7k0ZZiue8DUi/zd8KLreyE83o2sl35dzmHghq0RtEh0PZRUh7 77++1n3GN5Rq7hkoB9Igj+50HEPUSWg/BHo6nVMx6d9CQG9ekWzE/4O59Tvovs/imVpYhCtEB xKz5qFxQYCyqSulxeH52EclWfyvWRNlh7UaR5Hw7wZJ6OJaPM5xzbLIeBbW9rMsLPanNAmPcn xwr/+5Cfa+w9gDd04ryWXNnwHBy9iGfqReZqDxHRLnMJqeVd2KTUE3hk7iR9MCenX22M9b2vY Sg+pJYJeNbwnANOSeqbFmdzhekyduec9UC7/lK6cTdWjxgewW7t5qNO+lHxxWznWOj7S81OPH EmolupKhxosPbjFm7xh9D81kmu03nlPGG324VfEpcRcMmEgqcB41+eicr3pMPdXYAVVsI0Up2 ejITgwFQuCAbrLGf00CyVZ79iWLpGwd9Kms0SWTTWzBKr7H0m6SVUxJgATu7sUtNCuLhk8iaS 13M6SPQXs8Nyj8Er76P9FxBbTN2kLxeXwU95axFghToRoec8fnOKgC0sZI0BQ9EipVIVa81IH lY1v8H1E+SpszzJUMQbr39ZwnK8nwI7uuPbFm5uJdquTS6zQex/6K1y5oqIKKk8y4oaqe9PpT u71kFQI62scoY/iD5D2eg1FgJ49o9EWlejE5y9YnFl/YOnhoD0Am6OoAeygDzt0+fmF3aQWIx 4UeYcIUoHVS5x0FudMyjxlgsyHqy8PtL3vzALQb/EFqCFv4AKdRinWGB7Akll/ZrAW8s1nyQe lzxdppo6c8t5VLaEswLCY7T3cpTwVjAm7cbvU2wz5DOgexPLdoCNPU0eWaNEu7R9EXyLWX8Kp RYai830K+mN/ilsZgnLlybRW+Ig15/pdtqzlL9FeYdGvGReSEh19cqDO6qCeLU3A7TQ/OAImu HIc7GZF107PiyB0Gq3KtzF4RfErGuqQmOXv2pIG9VFway5L5ylOz17nFh41ZS6YPxCcn60eq4 Yl3KnLE3rmtNdTpT3RGQMwu9ShLaJN0S17LqVRB7u1OixK3cFCAmLvAuFF6oCTONcMT8Mcn58 gUF2917rLZnnBpA3rXg9T2O7BrUQ/m Received-SPF: pass client-ip=212.227.15.19; envelope-from=rudalics@gmx.at; helo=mout.gmx.net X-Spam_score_int: -38 X-Spam_score: -3.9 X-Spam_bar: --- X-Spam_report: (-3.9 / 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, RCVD_IN_DNSWL_LOW=-0.7, RCVD_IN_MSPIKE_H2=-1.116, RCVD_IN_VALIDITY_CERTIFIED_BLOCKED=0.001, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: emacs-orgmode@gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "General discussions about Org-mode." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-orgmode-bounces+larch=yhetil.org@gnu.org Sender: emacs-orgmode-bounces+larch=yhetil.org@gnu.org X-Migadu-Country: US X-Migadu-Flow: FLOW_IN X-Migadu-Scanner: mx13.migadu.com X-Migadu-Spam-Score: -1.64 X-Spam-Score: -1.64 X-Migadu-Queue-Id: 4FFB452F78 X-TUID: iQHZAFm/SeNy This is a multi-part message in MIME format. --------------fLuG8y91QlVRMMjgtVFUoVLj Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit >> Hmmm... This is not really what 'display-buffer' is supposed to do. I >> have to disguise the fact that we wanted to display BUFFER. I attach a >> new patch. > > Now, when you said that, it does feel not right indeed. > > What I was concerned about is the situation my request originated from: > > 1. Org displays a *narrowed* indirect buffer > 2. User requests to jump to a heading in base buffer of that indirect > buffer > 3. Changing the buffer (even in the same window - with your patch) will > suddenly change the narrowing state. > > That said, it is not a problem `display-buffer' is supposed to solve > anyway. The modified `get-buffer-window-list' from your patch may also > be used in the above scenario before deciding which buffer we want to > change to. > > So, I'd myself vote for the first version of the patch if looking from > more general Emacs perspective. I attach a version which does both. With (reuse-indirect . buffer) it leaves the window's buffer alone. With any other value it puts BUFFER into the window. Run it for a while and when you think it's useful I'll install it. martin --------------fLuG8y91QlVRMMjgtVFUoVLj Content-Type: text/x-patch; charset=UTF-8; name="display-indirect-buffer.diff" Content-Disposition: attachment; filename="display-indirect-buffer.diff" Content-Transfer-Encoding: base64 ZGlmZiAtLWdpdCBhL2xpc3Avd2luZG93LmVsIGIvbGlzcC93aW5kb3cuZWwKaW5kZXggZTlk NTc2NTJlYzYuLjUxNzhlMzAyMjM4IDEwMDY0NAotLS0gYS9saXNwL3dpbmRvdy5lbAorKysg Yi9saXNwL3dpbmRvdy5lbApAQCAtMjYxNSw3ICsyNjE1LDM2IEBAIGdldC1sYXJnZXN0LXdp bmRvdwogCSAgKHNldHEgYmVzdC13aW5kb3cgd2luZG93KSkpKQogICAgIGJlc3Qtd2luZG93 KSkKIAotKGRlZnVuIGdldC1idWZmZXItd2luZG93LWxpc3QgKCZvcHRpb25hbCBidWZmZXIt b3ItbmFtZSBtaW5pYnVmIGFsbC1mcmFtZXMpCisoZGVmdW4gd2luZG93LWluZGlyZWN0LWJ1 ZmZlci1wICgmb3B0aW9uYWwgd2luZG93IGJ1ZmZlci1vci1uYW1lKQorICAiUmV0dXJuIG5v bi1uaWwgaWYgc3BlY2lmaWVkIFdJTkRPVyBpcyBpbmRpcmVjdGx5IHJlbGF0ZWQgdG8gQlVG RkVSLU9SLU5BTUUuCitXSU5ET1cgbXVzdCBiZSBhIGxpdmUgd2luZG93IGFuZCBkZWZhdWx0 cyB0byB0aGUgc2VsZWN0ZWQgd2luZG93LgorQlVGRkVSLU9SLU5BTUUgbWF5IGJlIGEgYnVm ZmVyIG9yIHRoZSBuYW1lIG9mIGFuIGV4aXN0aW5nIGJ1ZmZlciBhbmQKK2RlZmF1bHRzIHRv IHRoZSBjdXJyZW50IGJ1ZmZlci4KKworV0lOT0RXIGlzIGluZGlyZWN0bHkgcmVsYXRlZCB0 byBCVUZGRVItT1ItTkFNRSBpZiBvbmUgb2YgdGhlIGZvbGxvd2luZworY29uZGl0aW9ucyBo b2xkOgorCistIEJVRkZFUi1PUi1OQU1FIHNwZWNpZmllcyBhbiBpbmRpcmVjdCBidWZmZXIg YW5kIFdJTkRPVydzIGJ1ZmZlciBpcyBpdHMKKyAgYmFzZSBidWZmZXIuCisKKy0gV0lORE9X J3MgYnVmZmVyIGlzIGFuIGluZGlyZWN0IGJ1ZmZlciB3aG9zZSBiYXNlIGJ1ZmZlciBpcyB0 aGUgYnVmZmVyCisgIHNwZWNpZmllZCBieSBCVUZGRVItT1ItTkFNRS4KKworLSBCb3RoLCBX SU5ET1cncyBidWZmZXIgYW5kIHRoZSBidWZmZXIgc3BlY2lmaWVkIGJ5IEJVRkZFUi1PUi1O QU1FLCBhcmUKKyAgaW5kaXJlY3QgYnVmZmVyJ3Mgc2hhcmluZyB0aGUgc2FtZSBiYXNlIGJ1 ZmZlci4KKworUmV0dXJuIG5pbCBpZiBub25lIG9mIHRoZSBhYm92ZSBob2xkcy4iCisgIChs ZXQqICgod2luZG93ICh3aW5kb3ctbm9ybWFsaXplLXdpbmRvdyB3aW5kb3cgdCkpCisJICh3 aW5kb3ctYnVmZmVyICh3aW5kb3ctYnVmZmVyIHdpbmRvdykpCisJICh3aW5kb3ctYmFzZS1i dWZmZXIgKGJ1ZmZlci1iYXNlLWJ1ZmZlciB3aW5kb3ctYnVmZmVyKSkKKwkgKGJ1ZmZlciAo d2luZG93LW5vcm1hbGl6ZS1idWZmZXIgYnVmZmVyLW9yLW5hbWUpKQorCSAoYnVmZmVyLWJh c2UtYnVmZmVyIChidWZmZXItYmFzZS1idWZmZXIgYnVmZmVyKSkpCisgICAgKG9yIChlcSBi dWZmZXItYmFzZS1idWZmZXIgd2luZG93LWJ1ZmZlcikKKwkoZXEgd2luZG93LWJhc2UtYnVm ZmVyIGJ1ZmZlcikKKwkoYW5kIGJ1ZmZlci1iYXNlLWJ1ZmZlcgorCSAgICAgKGVxIGJ1ZmZl ci1iYXNlLWJ1ZmZlciB3aW5kb3ctYmFzZS1idWZmZXIpKSkpKQorCisoZGVmdW4gZ2V0LWJ1 ZmZlci13aW5kb3ctbGlzdCAoJm9wdGlvbmFsIGJ1ZmZlci1vci1uYW1lIG1pbmlidWYgYWxs LWZyYW1lcyBpbmRpcmVjdCkKICAgIlJldHVybiBsaXN0IG9mIGFsbCB3aW5kb3dzIGRpc3Bs YXlpbmcgQlVGRkVSLU9SLU5BTUUsIG9yIG5pbCBpZiBub25lLgogQlVGRkVSLU9SLU5BTUUg bWF5IGJlIGEgYnVmZmVyIG9yIHRoZSBuYW1lIG9mIGFuIGV4aXN0aW5nIGJ1ZmZlcgogYW5k IGRlZmF1bHRzIHRvIHRoZSBjdXJyZW50IGJ1ZmZlci4gIElmIHRoZSBzZWxlY3RlZCB3aW5k b3cgZGlzcGxheXMKQEAgLTI2NDQsMTIgKzI2NzMsMjMgQEAgZ2V0LWJ1ZmZlci13aW5kb3ct bGlzdAogLSBBIGZyYW1lIG1lYW5zIGNvbnNpZGVyIGFsbCB3aW5kb3dzIG9uIHRoYXQgZnJh bWUgb25seS4KIAogQW55dGhpbmcgZWxzZSBtZWFucyBjb25zaWRlciBhbGwgd2luZG93cyBv biB0aGUgc2VsZWN0ZWQgZnJhbWUKLWFuZCBubyBvdGhlcnMuIgorYW5kIG5vIG90aGVycy4K KworSU5ESVJFQ1Qgbm9uLW5pbCBtZWFucyB0byBhcHBlbmQgdG8gdGhlIGxpc3Qgb2Ygd2lu ZG93cyBzaG93aW5nCitCVUZGRVItT1ItTkFNRSBhIGxpc3Qgb2YgYWxsIHdpbmRvd3MgdGhh dCBhcmUgaW5kaXJlY3RseSByZWxhdGVkIHRvCitCVUZGRVItT1ItTkFNRSwgdGhhdCBpcywg d2luZG93cyBmb3Igd2hpY2ggYHdpbmRvdy1pbmRpcmVjdC1idWZmZXItcCcKK3dpdGggdGhl IHdpbmRvdyBhbmQgdGhlIGJ1ZmZlciBzcGVjaWZpZWQgYnkgQlVGRkVSLU9SLU5BTUUgYXMg YXJndW1lbnRzCityZXR1cm5zIG5vbi1uaWwuIgogICAobGV0ICgoYnVmZmVyICh3aW5kb3ct bm9ybWFsaXplLWJ1ZmZlciBidWZmZXItb3ItbmFtZSkpCisJKHdpbmRvdy1saXN0ICh3aW5k b3ctbGlzdC0xIChzZWxlY3RlZC13aW5kb3cpIG1pbmlidWYgYWxsLWZyYW1lcykpCiAJd2lu ZG93cykKLSAgICAoZG9saXN0ICh3aW5kb3cgKHdpbmRvdy1saXN0LTEgKHNlbGVjdGVkLXdp bmRvdykgbWluaWJ1ZiBhbGwtZnJhbWVzKSkKKyAgICAoZG9saXN0ICh3aW5kb3cgd2luZG93 LWxpc3QpCiAgICAgICAod2hlbiAoZXEgKHdpbmRvdy1idWZmZXIgd2luZG93KSBidWZmZXIp CiAJKHNldHEgd2luZG93cyAoY29ucyB3aW5kb3cgd2luZG93cykpKSkKKyAgICAod2hlbiBp bmRpcmVjdAorICAgICAgKGRvbGlzdCAod2luZG93IHdpbmRvdy1saXN0KQorCSh3aGVuICh3 aW5kb3ctaW5kaXJlY3QtYnVmZmVyLXAgd2luZG93IGJ1ZmZlcikKKwkgIChzZXRxIHdpbmRv d3MgKGNvbnMgd2luZG93IHdpbmRvd3MpKSkpKQogICAgIChucmV2ZXJzZSB3aW5kb3dzKSkp CiAKIChkZWZ1biBtaW5pYnVmZmVyLXdpbmRvdy1hY3RpdmUtcCAod2luZG93KQpAQCAtODIz NSwzNSArODI3NSw1NyBAQCBkaXNwbGF5LWJ1ZmZlci1yZXVzZS13aW5kb3cKIGV2ZW50IHRo YXQgYSB3aW5kb3cgb24gYW5vdGhlciBmcmFtZSBpcyBjaG9zZW4sIGF2b2lkIHJhaXNpbmcK IHRoYXQgZnJhbWUuCiAKK0lmIEFMSVNUIGhhcyBhIG5vbi1uaWwgYHJldXNlLWluZGlyZWN0 JyBlbnRyeSBhbmQgbm8gd2luZG93IHNob3dpbmcKK0JVRkZFUiBoYXMgYmVlbiBmb3VuZCwg dHJ5IHRvIGZpbmQgYSB3aW5kb3cgdGhhdCBpcyBpbmRpcmVjdGx5IHJlbGF0ZWQKK3RvIEJV RkZFUiBhbmQgcmV0dXJuIHRoYXQgd2luZG93LiAgVGhpcyB3b3VsZCBiZSBhIHdpbmRvdyBm b3Igd2hpY2gKK2B3aW5kb3ctaW5kaXJlY3QtYnVmZmVyLXAnIHdpdGggdGhlIHdpbmRvdyBh bmQgQlVGRkVSIGFzIGFyZ3VtZW50cworcmV0dXJucyBub24tbmlsLiAgSWYgYSBzdWl0YWJs ZSB3aW5kb3cgaGFzIGJlZW4gZm91bmQgYW5kIHRoZSBjZHIgb2YgdGhlCitlbnRyeSBlcXVh bHMgdGhlIHN5bWJvbCBgYnVmZmVyJywgZG8gbm90IHJlcGxhY2UgdGhlIGJ1ZmZlciBvZiB0 aGUKK2Nob3NlbiB3aW5kb3cgd2l0aCBCVUZGRVIgYnV0IHJldHVybiB0aGUgd2luZG93IHdp dGggaXRzIG9sZCBidWZmZXIgaW4KK3BsYWNlLiAgT3RoZXJ3aXNlLCBwdXQgQlVGRkVSIGlu dG8gdGhlIGNob3NlbiB3aW5kb3cgYW5kIHJldHVybiB0aGUKK3dpbmRvdy4KKwogVGhpcyBp cyBhbiBhY3Rpb24gZnVuY3Rpb24gZm9yIGJ1ZmZlciBkaXNwbGF5LCBzZWUgSW5mbwogbm9k ZSBgKGVsaXNwKSBCdWZmZXIgRGlzcGxheSBBY3Rpb24gRnVuY3Rpb25zJy4gIEl0IHNob3Vs ZCBiZQogY2FsbGVkIG9ubHkgYnkgYGRpc3BsYXktYnVmZmVyJyBvciBhIGZ1bmN0aW9uIGRp cmVjdGx5IG9yCiBpbmRpcmVjdGx5IGNhbGxlZCBieSB0aGUgbGF0dGVyLiIKLSAgKGxldCog KChhbGlzdC1lbnRyeSAoYXNzcSAncmV1c2FibGUtZnJhbWVzIGFsaXN0KSkKLQkgKGZyYW1l cyAoY29uZCAoYWxpc3QtZW50cnkgKGNkciBhbGlzdC1lbnRyeSkpCisgIChsZXQqICgocmV1 c2FibGUtZnJhbWVzIChhc3NxICdyZXVzYWJsZS1mcmFtZXMgYWxpc3QpKQorCSAocmV1c2Ut aW5kaXJlY3QgKGFzc3EgJ3JldXNlLWluZGlyZWN0IGFsaXN0KSkKKwkgKGZyYW1lcyAoY29u ZCAocmV1c2FibGUtZnJhbWVzIChjZHIgcmV1c2FibGUtZnJhbWVzKSkKIAkJICAgICAgICgo d2luZG93LS1wb3AtdXAtZnJhbWVzIGFsaXN0KQogCQkJMCkKIAkJICAgICAgIChkaXNwbGF5 LWJ1ZmZlci1yZXVzZS1mcmFtZXMgMCkKIAkJICAgICAgICh0IChsYXN0LW5vbm1pbmlidWZm ZXItZnJhbWUpKSkpCi0JICh3aW5kb3cgKGlmIChhbmQgKGVxIGJ1ZmZlciAod2luZG93LWJ1 ZmZlcikpCi0JCQkgIChub3QgKGNkciAoYXNzcSAnaW5oaWJpdC1zYW1lLXdpbmRvdyBhbGlz dCkpKSkKLQkJICAgICAoc2VsZWN0ZWQtd2luZG93KQotICAgICAgICAgICAgICAgICAgIDs7 IFByZWZlcmFibHkgdXNlIGEgd2luZG93IG9uIHRoZSBzZWxlY3RlZCBmcmFtZSwKLSAgICAg ICAgICAgICAgICAgICA7OyBpZiBzdWNoIGEgd2luZG93IGV4aXN0cyAoQnVnIzM2NjgwKS4K LSAgICAgICAgICAgICAgICAgICAobGV0KiAoKHdpbmRvd3MgKGRlbHEgKHNlbGVjdGVkLXdp bmRvdykKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGdldC1i dWZmZXItd2luZG93LWxpc3QKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIGJ1ZmZlciAnbm9taW5pIGZyYW1lcykpKQotICAgICAgICAgICAgICAgICAgICAg ICAgICAoZmlyc3QgKGNhciB3aW5kb3dzKSkKLSAgICAgICAgICAgICAgICAgICAgICAgICAg KHRoaXMtZnJhbWUgKHNlbGVjdGVkLWZyYW1lKSkpCi0gICAgICAgICAgICAgICAgICAgICAo Y29uZAotICAgICAgICAgICAgICAgICAgICAgICgoZXEgKHdpbmRvdy1mcmFtZSBmaXJzdCkg dGhpcy1mcmFtZSkKLSAgICAgICAgICAgICAgICAgICAgICAgZmlyc3QpCi0gICAgICAgICAg ICAgICAgICAgICAgKChjYXRjaCAnZm91bmQKLSAgICAgICAgICAgICAgICAgICAgICAgICAo ZG9saXN0IChuZXh0IChjZHIgd2luZG93cykpCi0gICAgICAgICAgICAgICAgICAgICAgICAg ICAod2hlbiAoZXEgKHdpbmRvdy1mcmFtZSBuZXh0KSB0aGlzLWZyYW1lKQotICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAodGhyb3cgJ2ZvdW5kIG5leHQpKSkpKQotICAgICAgICAg ICAgICAgICAgICAgICh0IGZpcnN0KSkpKSkpCisJIChpbmhpYml0LXNhbWUgKGNkciAoYXNz cSAnaW5oaWJpdC1zYW1lLXdpbmRvdyBhbGlzdCkpKQorCSAod2luZG93CisJICA7OyBBdm9p ZCBjYWxsaW5nICdnZXQtYnVmZmVyLXdpbmRvdy1saXN0JyBpZiB0aGUgc2VsZWN0ZWQKKwkg IDs7IHdpbmRvdyBhbHJlYWR5IHNob3dzIEJVRkZFUiBhbmQgY2FuIGJlIHVzZWQuCisJICAo aWYgKGFuZCAoZXEgYnVmZmVyICh3aW5kb3ctYnVmZmVyKSkgKG5vdCBpbmhpYml0LXNhbWUp KQorCSAgICAgIChzZWxlY3RlZC13aW5kb3cpCisgICAgICAgICAgICA7OyBQcmVmZXJhYmx5 IHVzZSBhIHdpbmRvdyBvbiB0aGUgc2VsZWN0ZWQgZnJhbWUsCisgICAgICAgICAgICA7OyBp ZiBzdWNoIGEgd2luZG93IGV4aXN0cyAoQnVnIzM2NjgwKS4KKyAgICAgICAgICAgIChsZXQq ICgod2luZG93cy1yYXcKKwkJICAgIChnZXQtYnVmZmVyLXdpbmRvdy1saXN0CisgICAgICAg ICAgICAgICAgICAgICBidWZmZXIgJ25vbWluaSBmcmFtZXMgcmV1c2UtaW5kaXJlY3QpKQor CQkgICAod2luZG93cyAoaWYgaW5oaWJpdC1zYW1lCisJCQkJKGRlbHEgKHNlbGVjdGVkLXdp bmRvdykgd2luZG93cy1yYXcpCisJCQkgICAgICB3aW5kb3dzLXJhdykpCisgICAgICAgICAg ICAgICAgICAgKGZpcnN0IChjYXIgd2luZG93cykpCisgICAgICAgICAgICAgICAgICAgKHRo aXMtZnJhbWUgKHNlbGVjdGVkLWZyYW1lKSkpCisgICAgICAgICAgICAgIChjb25kCisgICAg ICAgICAgICAgICAoKGVxICh3aW5kb3ctZnJhbWUgZmlyc3QpIHRoaXMtZnJhbWUpCisgICAg ICAgICAgICAgICAgZmlyc3QpCisgICAgICAgICAgICAgICAoKGNhdGNoICdmb3VuZAorICAg ICAgICAgICAgICAgICAgKGRvbGlzdCAobmV4dCAoY2RyIHdpbmRvd3MpKQorICAgICAgICAg ICAgICAgICAgICAod2hlbiAoZXEgKHdpbmRvdy1mcmFtZSBuZXh0KSB0aGlzLWZyYW1lKQor ICAgICAgICAgICAgICAgICAgICAgICh0aHJvdyAnZm91bmQgbmV4dCkpKSkpCisgICAgICAg ICAgICAgICAodCBmaXJzdCkpKSkpKQogICAgICh3aGVuICh3aW5kb3ctbGl2ZS1wIHdpbmRv dykKKyAgICAgICh3aGVuIChhbmQgKGVxIChjZHIgcmV1c2UtaW5kaXJlY3QpICdidWZmZXIp CisJCSAobm90IChlcSAod2luZG93LWJ1ZmZlciB3aW5kb3cpIGJ1ZmZlcikpKQorCTs7IFBy ZXRlbmQgd2Ugd2VyZSBhc2tpbmcgZm9yIGEgd2luZG93IHNob3dpbmcgdGhlIGJ1ZmZlciBv ZgorCTs7IHRoYXQgd2luZG93LgorCShzZXRxIGJ1ZmZlciAod2luZG93LWJ1ZmZlciB3aW5k b3cpKSkKICAgICAgIChwcm9nMSAod2luZG93LS1kaXNwbGF5LWJ1ZmZlciBidWZmZXIgd2lu ZG93ICdyZXVzZSBhbGlzdCkKIAkodW5sZXNzIChjZHIgKGFzc3EgJ2luaGliaXQtc3dpdGNo LWZyYW1lIGFsaXN0KSkKIAkgICh3aW5kb3ctLW1heWJlLXJhaXNlLWZyYW1lICh3aW5kb3ct ZnJhbWUgd2luZG93KSkpKSkpKQo= --------------fLuG8y91QlVRMMjgtVFUoVLj--