From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Jim Porter Newsgroups: gmane.emacs.bugs Subject: bug#71284: 30.0.50; [PATCH] Add support for outline-minor-mode to Eshell Date: Thu, 30 May 2024 22:18:44 -0700 Message-ID: <048207b3-4d91-34cd-8e2d-ccf41b7bd832@gmail.com> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="------------G0odIboxDBBa1onWGXhV44nR" Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="40894"; mail-complaints-to="usenet@ciao.gmane.io" Cc: juri@linkov.net To: 71284@debbugs.gnu.org Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Fri May 31 07:22:17 2024 Return-path: Envelope-to: geb-bug-gnu-emacs@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 1sCuiV-000ASg-KD for geb-bug-gnu-emacs@m.gmane-mx.org; Fri, 31 May 2024 07:22:15 +0200 Original-Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1sCui9-0005Ij-S0; Fri, 31 May 2024 01:21:53 -0400 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 1sCui8-0005IY-BF for bug-gnu-emacs@gnu.org; Fri, 31 May 2024 01:21:52 -0400 Original-Received: from debbugs.gnu.org ([2001:470:142:5::43]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1sCui8-0005R2-2f for bug-gnu-emacs@gnu.org; Fri, 31 May 2024 01:21:52 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1sCuiI-0005qy-Kc for bug-gnu-emacs@gnu.org; Fri, 31 May 2024 01:22:02 -0400 X-Loop: help-debbugs@gnu.org Resent-From: Jim Porter Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Fri, 31 May 2024 05:22:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: report 71284 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: patch X-Debbugs-Original-To: bug-gnu-emacs@gnu.org Original-Received: via spool by submit@debbugs.gnu.org id=B.171713288322447 (code B ref -1); Fri, 31 May 2024 05:22:02 +0000 Original-Received: (at submit) by debbugs.gnu.org; 31 May 2024 05:21:23 +0000 Original-Received: from localhost ([127.0.0.1]:52961 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1sCuha-0005pv-Po for submit@debbugs.gnu.org; Fri, 31 May 2024 01:21:22 -0400 Original-Received: from lists.gnu.org ([209.51.188.17]:60522) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1sCuhU-0005pU-Nb for submit@debbugs.gnu.org; Fri, 31 May 2024 01:21:17 -0400 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 1sCufC-0004B3-6B for bug-gnu-emacs@gnu.org; Fri, 31 May 2024 01:18:50 -0400 Original-Received: from mail-pg1-x52f.google.com ([2607:f8b0:4864:20::52f]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1sCuf9-0004ch-Cp for bug-gnu-emacs@gnu.org; Fri, 31 May 2024 01:18:49 -0400 Original-Received: by mail-pg1-x52f.google.com with SMTP id 41be03b00d2f7-6c3b5c5e32cso257173a12.1 for ; Thu, 30 May 2024 22:18:46 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1717132726; x=1717737526; darn=gnu.org; h=subject:from:cc:to:content-language:mime-version:date:message-id :from:to:cc:subject:date:message-id:reply-to; bh=0r8Nqdjt0Md+NJA/cVVP12qCyL7R5E+whyTtbZv6ARQ=; b=h28JI7JGxcHzuXUpketGg3c0zLcuf7b24SPAL+39zOgYEU+xvTAfPbEdGXd3CJ3kSc dFRUsQcGwL0O6TkK3YnhiSV6Wb5vn5xzOs24mP6sK+mdLQ6tJbXT+GegTjhYE0pUOZ0Y JfBprrLc13QuTXX1JXql/M+rKvZvLkxGgBPP073bfGXYMolb9hsKUFsAo78tdM8D8Aix lEvkQXWA671hO0L+GQSSGJyV7YgJLS+/3YAx87QEzL+IaiO0Dl7YfqWkmU9WFsM4Ql+L miL8cCehM/h7J+GFYS4CNLno8qfMa24faq9ZUhZ339dPejPIhBhIRU76Edp01iQIK93J //yQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1717132726; x=1717737526; h=subject:from:cc:to:content-language:mime-version:date:message-id :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=0r8Nqdjt0Md+NJA/cVVP12qCyL7R5E+whyTtbZv6ARQ=; b=l2MOO5JIKETIGE9HTN4aS//z6TyEqAWzRkWg1+kq0KRIklU6xFOA9llAQJNzllFdbC d9D+Cwn3/FvoCVASBQyMpbfmMxq5FlZcVR29j8pPhkIV+o2Q/cWSN2UezLkNIQZpdM2v JfcqVkJ15iQhZ9rhHmrhqP8RQO19tD3WjepsGfF4bsnT0ptWPXCzqQCnjrlelE5j4VrZ z/aHe64zwWyM4ceUoLK10Gsc3djQqR3n8GO2rH//aW3JP8P5X9kZxoZEg32CHw48KpDC tYtP6G9ECi93gV5URQz6OucHjRS2TVFe/E+U951MUc55f2I1jITrtanDMzlx81E23XOg mlCQ== X-Gm-Message-State: AOJu0YzqAHjSW47SxirgoO7qqdMUxrkFzQITIAhn8kjk6L0YFq8EuhCj VSDDIzGfLt6cibUGDoqeCvB5V71HDnXMiftmTmGcy7aUVqa1/PcP8OR/ZQ== X-Google-Smtp-Source: AGHT+IFovhK6+lXqAiwkUu1hL2npIprxPoxDd31llIB5S7D8ePSMPVy8csYdjgtIJXvQPozydZUspA== X-Received: by 2002:a05:6a20:72a0:b0:1af:fff9:30dd with SMTP id adf61e73a8af0-1b26f188c59mr1236721637.35.1717132725341; Thu, 30 May 2024 22:18:45 -0700 (PDT) Original-Received: from [192.168.1.2] (syn-023-240-098-037.res.spectrum.com. [23.240.98.37]) by smtp.googlemail.com with ESMTPSA id d9443c01a7336-1f63232ddddsm7209425ad.15.2024.05.30.22.18.44 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Thu, 30 May 2024 22:18:44 -0700 (PDT) X-Mozilla-News-Host: news://news.gmane.io:119 Content-Language: en-US Received-SPF: pass client-ip=2607:f8b0:4864:20::52f; envelope-from=jporterbugs@gmail.com; helo=mail-pg1-x52f.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, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: bug-gnu-emacs@gnu.org List-Id: "Bug reports for GNU Emacs, the Swiss army knife of text editors" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Original-Sender: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Xref: news.gmane.io gmane.emacs.bugs:286251 Archived-At: This is a multi-part message in MIME format. --------------G0odIboxDBBa1onWGXhV44nR Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit This patch adds support for outline-minor-mode to Eshell. When enabled, this will just add outline buttons to the prompt (as the top level), and one to the start of the output (as level 2). The Eshell side is hopefully fairly straightforward, but the outline.el part probably warrants a close review. The changes in outline.el are all there to support outline headings that are just a newline and nothing else. This is important for both the output (you might call a command that prints a newline as the first character), and the prompt (the first character of your prompt could be a newline as a way of separating the prompt from the output just above it).[1] Mainly, the changes in outline.el are about checking to see if the character *before* point is invisible (i.e. part of a collapsed node). This way, if point is at the beginning of the output, and you collapse that node, outline.el still considers you to be on a heading. (Without these changes, cycling a node doesn't work correctly.) I'm open to adding regression tests here since the logic is pretty subtle, but I didn't see any existing ones for outline.el and it's not immediately obvious the best way to test its behavior. Let me know if anyone has ideas though. [1] In the prompt case, a different way to solve this would be to treat the start of the heading as the first non-empty line. That doesn't work for output though since *all* lines could be empty. --------------G0odIboxDBBa1onWGXhV44nR Content-Type: text/plain; charset=UTF-8; name="0001-Add-support-for-outline-minor-mode-in-Eshell.patch" Content-Disposition: attachment; filename="0001-Add-support-for-outline-minor-mode-in-Eshell.patch" Content-Transfer-Encoding: base64 RnJvbSBmMTBiODg3Zjk0NWQwNTdhNTBhMDZlZmNjZmM5ZDhjMWU2NzYyZjBlIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBKaW0gUG9ydGVyIDxqcG9ydGVyYnVnc0BnbWFpbC5j b20+CkRhdGU6IFRodSwgMzAgTWF5IDIwMjQgMTQ6MzE6NTUgLTA3MDAKU3ViamVjdDogW1BB VENIXSBBZGQgc3VwcG9ydCBmb3Igb3V0bGluZS1taW5vci1tb2RlIGluIEVzaGVsbAoKKiBs aXNwL291dGxpbmUuZWwgKG91dGxpbmUtYmFjay10by1oZWFkaW5nKTogU2tpcCBwYXN0IGlu dmlzaWJsZSB0ZXh0Lgoob3V0bGluZS1vbi1oZWFkaW5nLXApOiBDaGVjayBmb3IgaW52aXNp YmlsaXR5IG9mIHRoZSBjaGFyYWN0ZXIgKmJlZm9yZSoKcG9pbnQ7IHRoYXQgd2F5LCB0aGlz IHJldHVybnMgbm9uLW5pbCBpZiBhdCB0aGUgZW5kIHRoZSBmaXJzdCBsaW5lIG9mIGEKY29s bGFwc2VkIHNlY3Rpb24uCihvdXRsaW5lLWZsYWctcmVnaW9uKTogU2V0IHRoZSBvdXRsaW5l IGJ1dHRvbiBhcyBuZWVkZWQuCihvdXRsaW5lLWVuZC1vZi1zdWJ0cmVlKTogQWxsb3cgZm9y IHN0b3BwaW5nIGF0IGVtcHR5IGxpbmVzLgoKKiBsaXNwL2VzaGVsbC9lbS1wcm9tcHQuZWwg KGVzaGVsbC1vdXRsaW5lLXNlYXJjaCkKKGVzaGVsbC1vdXRsaW5lLWxldmVsKTogTmV3IGZ1 bmN0aW9ucy4uLgooZXNoZWxsLXByb21wdC1pbml0aWFsaXplKTogLi4uIHVzZSB0aGVtLgoK KiBkb2MvbWlzYy9lc2hlbGwudGV4aSAoQnVncyBhbmQgaWRlYXMpOiBSZW1vdmUgaW1wbGVt ZW50ZWQgaWRlYS4KCiogZXRjL05FV1M6IEFubm91bmNlIHRoaXMgY2hhbmdlLgotLS0KIGRv Yy9taXNjL2VzaGVsbC50ZXhpICAgICB8ICA2IC0tLS0tLQogZXRjL05FV1MgICAgICAgICAg ICAgICAgIHwgIDMgKysrCiBsaXNwL2VzaGVsbC9lbS1wcm9tcHQuZWwgfCA0NSArKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKystCiBsaXNwL291dGxpbmUuZWwgICAg ICAgICAgfCAyOSArKysrKysrKysrKysrKysrKystLS0tLS0tLQogNCBmaWxlcyBjaGFuZ2Vk LCA2NyBpbnNlcnRpb25zKCspLCAxNiBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kb2Mv bWlzYy9lc2hlbGwudGV4aSBiL2RvYy9taXNjL2VzaGVsbC50ZXhpCmluZGV4IDg3M2QxNGFm ZjMyLi4wNzFhMmU1OTE5MSAxMDA2NDQKLS0tIGEvZG9jL21pc2MvZXNoZWxsLnRleGkKKysr IGIvZG9jL21pc2MvZXNoZWxsLnRleGkKQEAgLTI5NjcsMTIgKzI5NjcsNiBAQCBCdWdzIGFu ZCBpZGVhcwogCiBAaXRlbSBTdXBwb3J0IHpzaCdzIGBgUGFyYW1ldGVyIEV4cGFuc2lvbicn IHN5bnRheCwgaS5lLiwgQHNhbXB7JEB7QHZhcntuYW1lfTotQHZhcnt2YWx9QH19CiAKLUBp dGVtIENyZWF0ZSBhIG1vZGUgQGNvZGV7ZXNoZWxsLWJyb3dzZX0KLQotSXQgd291bGQgdHJl YXQgdGhlIEVzaGVsbCBidWZmZXIgYXMgYW4gb3V0bGluZS4gIENvbGxhcHNpbmcgdGhlIG91 dGxpbmUKLWhpZGVzIGFsbCBvZiB0aGUgb3V0cHV0IHRleHQuICBDb2xsYXBzaW5nIGFnYWlu IHdvdWxkIHNob3cgb25seSB0aGUKLWZpcnN0IGNvbW1hbmQgcnVuIGluIGVhY2ggZGlyZWN0 b3J5Ci0KIEBpdGVtIEFsbG93IG90aGVyIHJldmlzaW9ucyBvZiBhIGZpbGUgdG8gYmUgcmVm ZXJlbmNlZCB1c2luZyBAc2FtcHtmaWxlQHtyZXZAfX0KIAogVGhpcyB3b3VsZCBiZSBleHBh bmRlZCBieSBAY29kZXtlc2hlbGwtZXhwYW5kLWZpbGUtbmFtZX0gKHNlZSBhYm92ZSkuCmRp ZmYgLS1naXQgYS9ldGMvTkVXUyBiL2V0Yy9ORVdTCmluZGV4IDNjNjcyZmZlZDhmLi5iNWQ0 YzljZmU2ZSAxMDA2NDQKLS0tIGEvZXRjL05FV1MKKysrIGIvZXRjL05FV1MKQEAgLTg3Nyw2 ICs4NzcsOSBAQCBjYW4gbWFrZSBpdCBleGVjdXRhYmxlIGxpa2Ugb3RoZXIgc2hlbGwgc2Ny aXB0czoKIAogICAgICMhL3Vzci9iaW4vZW52IC1TIGVtYWNzIC0tYmF0Y2ggLWYgZXNoZWxs LWJhdGNoLWZpbGUKIAorLS0tCisqKiogRXNoZWxsIG5vdyBzdXBwb3J0cyAnb3V0bGluZS1t aW5vci1tb2RlJy4KKwogKysrCiAqKiogTmV3IGJ1aWx0aW4gRXNoZWxsIGNvbW1hbmQgJ2Nv bXBpbGUnLgogVGhpcyBjb21tYW5kIHJ1bnMgYW5vdGhlciBjb21tYW5kLCBzZW5kaW5nIGl0 cyBvdXRwdXQgdG8gYSBjb21waWxhdGlvbgpkaWZmIC0tZ2l0IGEvbGlzcC9lc2hlbGwvZW0t cHJvbXB0LmVsIGIvbGlzcC9lc2hlbGwvZW0tcHJvbXB0LmVsCmluZGV4IGI2NTU2ZDI5NTQ0 Li4yZTYzN2FjYzA1ZiAxMDA2NDQKLS0tIGEvbGlzcC9lc2hlbGwvZW0tcHJvbXB0LmVsCisr KyBiL2xpc3AvZXNoZWxsL2VtLXByb21wdC5lbApAQCAtMTA3LDYgKzEwNyw0NSBAQCBlc2hl bGwtcHJvbXB0LXJlcGVhdC1tYXAKIAogOzs7IEZ1bmN0aW9uczoKIAorKGRlZnVuIGVzaGVs bC1vdXRsaW5lLXNlYXJjaCAoJm9wdGlvbmFsIGJvdW5kIG1vdmUgYmFja3dhcmQgbG9va2lu Zy1hdCkKKyAgIlNlYXJjaCBmb3Igb3V0bGluZSBoZWFkaW5ncy4gIFNlZSBgb3V0bGluZS1z ZWFyY2gtZnVuY3Rpb24nLiIKKyAgKGxldCAoKHZhbHVlICcocHJvbXB0IGNvbW1hbmQtb3V0 cHV0KSkpCisgICAgKGlmIGxvb2tpbmctYXQKKyAgICAgICAgKHdoZW4gKGFuZCAobWVtcSAo Z2V0LXRleHQtcHJvcGVydHkgKHBvaW50KSAnZmllbGQpIHZhbHVlKQorICAgICAgICAgICAg ICAgICAgICg9IChmaWVsZC1iZWdpbm5pbmcgKHBvaW50KSkgKHBvaW50KSkpCisgICAgICAg ICAgKHNldC1tYXRjaC1kYXRhIChsaXN0IChwb3MtYm9sKSAocG9zLWVvbCkpKQorICAgICAg ICAgIHQpCisgICAgICA7OyBHbyB0byB0aGUgZW5kIHdoZW4gaW4gdGhlIG1pZGRsZSBvZiBo ZWFkaW5nLgorICAgICAgKHdoZW4gKGFuZCAobm90IGJhY2t3YXJkKQorICAgICAgICAgICAg ICAgICAobWVtcSAoZ2V0LXRleHQtcHJvcGVydHkgKHBvaW50KSAnZmllbGQpIHZhbHVlKQor ICAgICAgICAgICAgICAgICAoLz0gKHBvaW50KSAoZmllbGQtYmVnaW5uaW5nIChwb2ludCkp KSkKKyAgICAgICAgKGdvdG8tY2hhciAoZmllbGQtZW5kIChwb2ludCkpKSkKKyAgICAgIDs7 IFNlYXJjaCBmb3Igb3VyIHdhbnRlZCBmaWVsZHMuCisgICAgICAoaWYtbGV0ICgocHJvcC1t YXRjaAorICAgICAgICAgICAgICAgIChmdW5jYWxsIChpZiBiYWNrd2FyZCAjJ3RleHQtcHJv cGVydHktc2VhcmNoLWJhY2t3YXJkCisgICAgICAgICAgICAgICAgICAgICAgICAgICAjJ3Rl eHQtcHJvcGVydHktc2VhcmNoLWZvcndhcmQpCisgICAgICAgICAgICAgICAgICAgICAgICAg J2ZpZWxkIHZhbHVlIChsYW1iZGEgKGxpc3QgZWx0KSAobWVtcSBlbHQgbGlzdCkpKSkKKyAg ICAgICAgICAgICAgIDs7IGJlZyBhbmQgZW5kIHNob3VsZCBvbmx5IGluY2x1ZGUgdGhlIGZp cnN0IGxpbmUgb2YgdGhlIGZpZWxkLgorICAgICAgICAgICAgICAgKGJlZyAocHJvcC1tYXRj aC1iZWdpbm5pbmcgcHJvcC1tYXRjaCkpCisgICAgICAgICAgICAgICAoZW5kIChzYXZlLWV4 Y3Vyc2lvbiAoZ290by1jaGFyIGJlZykgKHBvcy1lb2wpKSkKKyAgICAgICAgICAgICAgICgo b3IgKG51bGwgYm91bmQpIChpZiBiYWNrd2FyZCAoPj0gYmVnIGJvdW5kKSAoPD0gZW5kIGJv dW5kKSkpKQorICAgICAgICAgICAgICAgKChzYXZlLWV4Y3Vyc2lvbgorICAgICAgICAgICAg ICAgICAgKGdvdG8tY2hhciBiZWcpCisgICAgICAgICAgICAgICAgICAoPSAoZmllbGQtYmVn aW5uaW5nIChwb2ludCkgKHBvcy1ib2wpKSkpKSkKKyAgICAgICAgICAocHJvZ24KKyAgICAg ICAgICAgIChnb3RvLWNoYXIgKGlmIGJhY2t3YXJkIGJlZyBlbmQpKQorICAgICAgICAgICAg KHNldC1tYXRjaC1kYXRhIChsaXN0IGJlZyBlbmQpKQorICAgICAgICAgICAgdCkKKyAgICAg ICAgKHdoZW4gbW92ZSAoZ290by1jaGFyIChvciBib3VuZCAoaWYgYmFja3dhcmQgKHBvaW50 LW1pbikgKHBvaW50LW1heCkpKSkpCisgICAgICAgIG5pbCkpKSkKKworKGRlZnVuIGVzaGVs bC1vdXRsaW5lLWxldmVsICgpCisgICJHZXQgdGhlIG91dGxpbmUgbGV2ZWwgYXQgcG9pbnQu IgorICAocGNhc2UgKGdldC10ZXh0LXByb3BlcnR5IChwb2ludCkgJ2ZpZWxkKQorICAgICgn cHJvbXB0IDEpCisgICAgKCdjb21tYW5kLW91dHB1dCAyKQorICAgIChfIChlcnJvciAiTm90 IGF0IGFuIG91dGxpbmUgaGVhZGluZyIpKSkpCisKIChkZWZpbmUtbWlub3ItbW9kZSBlc2hl bGwtcHJvbXB0LW1vZGUKICAgIk1pbm9yIG1vZGUgZm9yIGVzaGVsbC1wcm9tcHQgbW9kdWxl LgogCkBAIC0xMTcsNyArMTU2LDExIEBAIGVzaGVsbC1wcm9tcHQtaW5pdGlhbGl6ZQogICAi SW5pdGlhbGl6ZSB0aGUgcHJvbXB0aW5nIGNvZGUuIgogICAodW5sZXNzIGVzaGVsbC1ub24t aW50ZXJhY3RpdmUtcAogICAgIChhZGQtaG9vayAnZXNoZWxsLXBvc3QtY29tbWFuZC1ob29r ICdlc2hlbGwtZW1pdC1wcm9tcHQgbmlsIHQpCi0gICAgKGVzaGVsbC1wcm9tcHQtbW9kZSkp KQorICAgIChlc2hlbGwtcHJvbXB0LW1vZGUpCisKKyAgICAoc2V0cS1sb2NhbCBvdXRsaW5l LXNlYXJjaC1mdW5jdGlvbiAjJ2VzaGVsbC1vdXRsaW5lLXNlYXJjaAorICAgICAgICAgICAg ICAgIG91dGxpbmUtbGV2ZWwgIydlc2hlbGwtb3V0bGluZS1sZXZlbAorICAgICAgICAgICAg ICAgIG91dGxpbmUtbWlub3ItbW9kZS11c2UtYnV0dG9ucyAnaW4tbWFyZ2lucykpKQogCiAo ZGVmdW4gZXNoZWxsLWVtaXQtcHJvbXB0ICgpCiAgICJFbWl0IGEgcHJvbXB0IGlmIGVzaGVs bCBpcyBiZWluZyB1c2VkIGludGVyYWN0aXZlbHkuIgpkaWZmIC0tZ2l0IGEvbGlzcC9vdXRs aW5lLmVsIGIvbGlzcC9vdXRsaW5lLmVsCmluZGV4IDQwYTc1NzAxY2JmLi5iNzk5ODQwOTJl OSAxMDA2NDQKLS0tIGEvbGlzcC9vdXRsaW5lLmVsCisrKyBiL2xpc3Avb3V0bGluZS5lbApA QCAtNjg3LDYgKzY4NywxMSBAQCBvdXRsaW5lLWJhY2stdG8taGVhZGluZwogICAiTW92ZSB0 byBwcmV2aW91cyBoZWFkaW5nIGxpbmUsIG9yIGJlZyBvZiB0aGlzIGxpbmUgaWYgaXQncyBh IGhlYWRpbmcuCiBPbmx5IHZpc2libGUgaGVhZGluZyBsaW5lcyBhcmUgY29uc2lkZXJlZCwg dW5sZXNzIElOVklTSUJMRS1PSyBpcyBub24tbmlsLiIKICAgKGZvcndhcmQtbGluZSAwKQor ICAod2hlbiAoYW5kIChub3QgaW52aXNpYmxlLW9rKQorICAgICAgICAgICAgICg+IChwb2lu dCkgKHBvaW50LW1pbikpCisgICAgICAgICAgICAgKGdldC1jaGFyLXByb3BlcnR5ICgxLSAo cG9pbnQpKSAnaW52aXNpYmxlKSkKKyAgICA7OyBTa2lwIGJhY2t3YXJkcyBwYXN0IGFueSBp bnZpc2libGUgdGV4dC4KKyAgICAoZ290by1jaGFyIChwcmV2aW91cy1zaW5nbGUtY2hhci1w cm9wZXJ0eS1jaGFuZ2UgKHBvaW50KSAnaW52aXNpYmxlKSkpCiAgIChvciAob3V0bGluZS1v bi1oZWFkaW5nLXAgaW52aXNpYmxlLW9rKQogICAgICAgKGxldCAoZm91bmQpCiAJKHNhdmUt ZXhjdXJzaW9uCkBAIC03MDYsNyArNzExLDkgQEAgb3V0bGluZS1vbi1oZWFkaW5nLXAKIElm IElOVklTSUJMRS1PSyBpcyBub24tbmlsLCBhbiBpbnZpc2libGUgaGVhZGluZyBsaW5lIGlz IG9rIHRvby4iCiAgIChzYXZlLWV4Y3Vyc2lvbgogICAgIChmb3J3YXJkLWxpbmUgMCkKLSAg ICAoYW5kIChib2xwKSAob3IgaW52aXNpYmxlLW9rIChub3QgKG91dGxpbmUtaW52aXNpYmxl LXApKSkKKyAgICAoYW5kIChib2xwKSAob3IgaW52aXNpYmxlLW9rCisgICAgICAgICAgICAg ICAgICAgIChib2JwKQorICAgICAgICAgICAgICAgICAgICAobm90IChvdXRsaW5lLWludmlz aWJsZS1wICgxLSAocG9pbnQpKSkpKQogCSAoaWYgb3V0bGluZS1zZWFyY2gtZnVuY3Rpb24K ICAgICAgICAgICAgICAoZnVuY2FsbCBvdXRsaW5lLXNlYXJjaC1mdW5jdGlvbiBuaWwgbmls IG5pbCB0KQogICAgICAgICAgICAobG9va2luZy1hdCBvdXRsaW5lLXJlZ2V4cCkpKSkpCkBA IC0xMDA0LDYgKzEwMTEsMTEgQEAgb3V0bGluZS1mbGFnLXJlZ2lvbgogICAgIChsZXQgKChv IChtYWtlLW92ZXJsYXkgZnJvbSB0byBuaWwgJ2Zyb250LWFkdmFuY2UpKSkKICAgICAgIChv dmVybGF5LXB1dCBvICdldmFwb3JhdGUgdCkKICAgICAgIChvdmVybGF5LXB1dCBvICdpbnZp c2libGUgJ291dGxpbmUpCisgICAgICAodW5sZXNzIChlcSBvdXRsaW5lLW1pbm9yLW1vZGUt dXNlLWJ1dHRvbnMgJ2luc2VydCkKKyAgICAgICAgOzsgU2V0IHVwIHRoZSBidXR0b24gb24g dGhpcyBvdmVybGF5IHRvby4gIFRoaXMgZW5zdXJlcyB0aGF0IHRoZQorICAgICAgICA7OyBi dXR0b24gaXMgdmlzaWJsZSBldmVuIGlmIHRoZSBmaXJzdCBsaW5lIG9mIHRoZSByZWdpb24g aXMKKyAgICAgICAgOzsgZW1wdHkuCisgICAgICAgIChvdmVybGF5LXB1dCBvICdiZWZvcmUt c3RyaW5nIChudGggMSBvdXRsaW5lLS1idXR0b24taWNvbnMpKSkKICAgICAgIChvdmVybGF5 LXB1dCBvICdpc2VhcmNoLW9wZW4taW52aXNpYmxlCiAJCSAgIChvciBvdXRsaW5lLWlzZWFy Y2gtb3Blbi1pbnZpc2libGUtZnVuY3Rpb24KIAkJICAgICAgICMnb3V0bGluZS1pc2VhcmNo LW9wZW4taW52aXNpYmxlKSkpKQpAQCAtMTI2NCwxNCArMTI3NiwxMyBAQCBvdXRsaW5lLWVu ZC1vZi1zdWJ0cmVlCiAJCShvciBmaXJzdCAoPiAoZnVuY2FsbCBvdXRsaW5lLWxldmVsKSBs ZXZlbCkpKQogICAgICAgKHNldHEgZmlyc3QgbmlsKQogICAgICAgKG91dGxpbmUtbmV4dC1o ZWFkaW5nKSkKLSAgICAoaWYgKGFuZCAoYm9scCkgKG5vdCAoZW9scCkpKQotCTs7IFdlIHN0 b3BwZWQgYXQgYSBub25lbXB0eSBsaW5lICh0aGUgbmV4dCBoZWFkaW5nKS4KLQkocHJvZ24K LQkgIDs7IEdvIHRvIGVuZCBvZiBsaW5lIGJlZm9yZSBoZWFkaW5nCi0JICAoZm9yd2FyZC1j aGFyIC0xKQotICAgICAgICAgIChpZiAoYW5kIG91dGxpbmUtYmxhbmstbGluZSAoYm9scCkp Ci0gCSAgICAgIDs7IGxlYXZlIGJsYW5rIGxpbmUgYmVmb3JlIGhlYWRpbmcKLSAJICAgICAg KGZvcndhcmQtY2hhciAtMSkpKSkpKQorICAgICh3aGVuIChib2xwKQorICAgICAgOzsgV2Ug c3RvcHBlZCBhdCB0aGUgbmV4dCBoZWFkaW5nLiAgR28gdG8gZW5kIG9mIGxpbmUgYmVmb3Jl CisgICAgICA7OyBoZWFkaW5nLgorICAgICAgKGZvcndhcmQtY2hhciAtMSkKKyAgICAgICh3 aGVuIChhbmQgb3V0bGluZS1ibGFuay1saW5lIChib2xwKSkKKyAgICAgICAgOzsgTGVhdmUg YmxhbmsgbGluZSBiZWZvcmUgaGVhZGluZy4KKyAgICAgICAgKGZvcndhcmQtY2hhciAtMSkp KSkpCiAMCiAoZGVmdW4gb3V0bGluZS1zaG93LWJyYW5jaGVzICgpCiAgICJTaG93IGFsbCBz dWJoZWFkaW5ncyBvZiB0aGlzIGhlYWRpbmcsIGJ1dCBub3QgdGhlaXIgYm9kaWVzLiIKLS0g CjIuMjUuMQoK --------------G0odIboxDBBa1onWGXhV44nR--