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#59622: 29.0.50; [PATCH] Regression in Eshell's handling of escaped newlines Date: Sun, 4 Dec 2022 17:35:30 -0800 Message-ID: <3d78b158-5fde-d4c0-0e9a-cb05e09bed6e@gmail.com> References: <90faf628-390d-1094-2fcb-e6a23ac46da8@gmail.com> <83v8mrbpf7.fsf@gnu.org> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="------------TC6QX9tIk40xSUC5C1qq6bVf" Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="29033"; mail-complaints-to="usenet@ciao.gmane.io" Cc: 59622@debbugs.gnu.org To: Eli Zaretskii Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Mon Dec 05 02:36:20 2022 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 1p20P5-0007NG-Ex for geb-bug-gnu-emacs@m.gmane-mx.org; Mon, 05 Dec 2022 02:36:19 +0100 Original-Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1p20Oq-0001R5-VN; Sun, 04 Dec 2022 20:36:05 -0500 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 1p20Oo-0001QM-Oc for bug-gnu-emacs@gnu.org; Sun, 04 Dec 2022 20:36:02 -0500 Original-Received: from debbugs.gnu.org ([209.51.188.43]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1p20Oo-0002b2-E7 for bug-gnu-emacs@gnu.org; Sun, 04 Dec 2022 20:36:02 -0500 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1p20On-0005ix-PJ for bug-gnu-emacs@gnu.org; Sun, 04 Dec 2022 20:36:01 -0500 X-Loop: help-debbugs@gnu.org Resent-From: Jim Porter Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Mon, 05 Dec 2022 01:36:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 59622 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: patch Original-Received: via spool by 59622-submit@debbugs.gnu.org id=B59622.167020414221993 (code B ref 59622); Mon, 05 Dec 2022 01:36:01 +0000 Original-Received: (at 59622) by debbugs.gnu.org; 5 Dec 2022 01:35:42 +0000 Original-Received: from localhost ([127.0.0.1]:60947 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1p20OT-0005if-Sf for submit@debbugs.gnu.org; Sun, 04 Dec 2022 20:35:42 -0500 Original-Received: from mail-pj1-f41.google.com ([209.85.216.41]:39870) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1p20OQ-0005iY-4q for 59622@debbugs.gnu.org; Sun, 04 Dec 2022 20:35:40 -0500 Original-Received: by mail-pj1-f41.google.com with SMTP id e7-20020a17090a77c700b00216928a3917so13353489pjs.4 for <59622@debbugs.gnu.org>; Sun, 04 Dec 2022 17:35:38 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=in-reply-to:from:references:cc:to:content-language:subject :mime-version:date:message-id:from:to:cc:subject:date:message-id :reply-to; bh=qDMYOau5esuSTN00CXrME7tic6PTLWWhy4qM61Y2Grk=; b=NoFFZGHqELppp1UepivSmB5pUKBuSbsU/Z6LHh4Sw4nTVj61JT9aVanMNL/1jovqB/ 2WWf8ikKjGg60VGXoRrrFi6jYAbQlK5wwiKJJLQFqGsDXn/BWYID5WMDszzEtbsMnjnt RIZarId52Lf759jdiBFF9YLF6XXG785dEiY+8KOBbofVoNGeoTt9FDrgtvfKPxPk/5V7 Yx/Fsy6oqAUFGE/Yi5GJ+S5sq9KexbPEH68wqME1j+7GZ/4RXO7R9qsGTgBUBJ6AcpYS jZs+WUXoKLDoZ+3LKF8yEFO3KkrcH75BXDQOj+/JlMXI5h1rmY7wp/dxK8vVu1C1jmWW RcJA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=in-reply-to:from:references:cc:to:content-language:subject :mime-version:date:message-id:x-gm-message-state:from:to:cc:subject :date:message-id:reply-to; bh=qDMYOau5esuSTN00CXrME7tic6PTLWWhy4qM61Y2Grk=; b=0xQT1Tk8gtxPGVD7y16kgsZqTXASpWmsKLmH2iTFphPT7DfFwgpE8h1X7k0h3dzuGr dAV5mXuVNG5Vq6845ILUTu3iTKfpFbRH/UbkiVpJ/9iY80CjEOYH1ol+o4xK6STafQoS +0dNyp2VmR+xfxAMfmHeHGa6GnY9pSoC/27RzGsAIZ5KZXVLck9L5bNd9oUVMiggj2kw QY/Rs9XhM5U9UcOjT651vrpdENO043qIVLsVdooM/dm8DVqLctskaI0tyE8sJl13K9sM QmMUwbXKOgRA+nJFDPJokSaemlCiQj9LWrUMzHFPrOKunw9g9v5lEKg7KQo60fORjKCC dS5w== X-Gm-Message-State: ANoB5plNp4eFTjdGjWdWcMbfEjLaLX10h7j4MfLVgpPVykWEOqHozv+G OS9prDOeVr+3wgergGYsOq0mB0Obc1s= X-Google-Smtp-Source: AA0mqf4079NfwR0VSCtL+o5cBfxJ5kbkfwSbo4nta41akyAtXAGUMF4fTPn1m3wQWIuskjDZEQ+z5Q== X-Received: by 2002:a17:90a:8c82:b0:218:77d2:8c30 with SMTP id b2-20020a17090a8c8200b0021877d28c30mr82623849pjo.226.1670204132096; Sun, 04 Dec 2022 17:35:32 -0800 (PST) Original-Received: from [192.168.1.2] (cpe-76-168-148-233.socal.res.rr.com. [76.168.148.233]) by smtp.googlemail.com with ESMTPSA id o6-20020a170902d4c600b0018853dd8832sm1499243plg.4.2022.12.04.17.35.30 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Sun, 04 Dec 2022 17:35:31 -0800 (PST) Content-Language: en-US In-Reply-To: <83v8mrbpf7.fsf@gnu.org> 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:249983 Archived-At: This is a multi-part message in MIME format. --------------TC6QX9tIk40xSUC5C1qq6bVf Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit On 12/3/2022 11:26 PM, Eli Zaretskii wrote: >> Date: Sat, 3 Dec 2022 17:41:50 -0800 >> From: Jim Porter >> >> Eli, since this is a regression from Emacs 28 (likely fallout from one >> of my changes to fix some longstanding bugs with quotes in Eshell), >> would my current patch be ok on the release branch? > > Yes, but please do try to make it as safe as is feasible. Thanks. How does this look? I just simplified the change in 'eshell-parse-backslash' so that the only difference is an extra conditional (plus whitespace changes). --------------TC6QX9tIk40xSUC5C1qq6bVf Content-Type: text/plain; charset=UTF-8; name="0001-Treat-escaped-newlines-in-Eshell-as-the-empty-string.patch" Content-Disposition: attachment; filename*0="0001-Treat-escaped-newlines-in-Eshell-as-the-empty-string.pa"; filename*1="tch" Content-Transfer-Encoding: base64 RnJvbSA2NmQ1NGQ3OGQxYmRlY2QwMmYwM2Q3M2FlZTI5MTY1NWExYTA5N2MzIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBKaW0gUG9ydGVyIDxqcG9ydGVyYnVnc0BnbWFpbC5j b20+CkRhdGU6IFNhdCwgMjYgTm92IDIwMjIgMTE6NTI6MTggLTA4MDAKU3ViamVjdDogW1BB VENIXSBUcmVhdCBlc2NhcGVkIG5ld2xpbmVzIGluIEVzaGVsbCBhcyB0aGUgZW1wdHkgc3Ry aW5nCgpEbyBub3QgbWVyZ2UgdG8gbWFzdGVyLiAgKFRoaXMgaXMgZml4ZWQgaW4gYSBzbGln aHRseSBjbGVhbmVyIHdheQp0aGVyZS4pCgoqIGxpc3AvZXNoZWxsL2VzaC1hcmcuZWwgKGVz aGVsbC1wYXJzZS1hcmd1bWVudCk6IEhhbmRsZQonZXNoZWxsLWVtcHR5LXRva2VuJyBhcyB0 aGUgcmVzdWx0IG9mIGFuIGFyZ3VtZW50LXBhcnNpbmcgaG9vay4KKGVzaGVsbC1wYXJzZS1h cmd1bWVudC1ob29rKTogRG9jdW1lbnQgJ2VzaGVsbC1lbXB0eS10b2tlbicuCihlc2hlbGwt cGFyc2UtYmFja3NsYXNoKTogUmV0dXJuICdlc2hlbGwtZW1wdHktdG9rZW4nIHdoZW4KZW5j b3VudGVyaW5nIGFuIGVzY2FwZWQgbmV3bGluZS4KCiogdGVzdC9saXNwL2VzaGVsbC9lc2hl bGwtdGVzdHMuZWwgKGVzaGVsbC10ZXN0L2VzY2FwZS1ub25zcGVjaWFsKQooZXNoZWxsLXRl c3QvZXNjYXBlLW5vbnNwZWNpYWwtdW5pY29kZSkKKGVzaGVsbC10ZXN0L2VzY2FwZS1ub25z cGVjaWFsLXF1b3RlZCkKKGVzaGVsbC10ZXN0L2VzY2FwZS1zcGVjaWFsLXF1b3RlZCk6IE1v dmUgZnJvbSBoZXJlLi4uCgoqIHRlc3QvbGlzcC9lc2hlbGwvZXNoLWFyZy10ZXN0cy5lbCAo ZXNoLWFyZy10ZXN0L2VzY2FwZS9ub25zcGVjaWFsKQooZXNoLWFyZy10ZXN0L2VzY2FwZS9u b25zcGVjaWFsLXVuaWNvZGUpCihlc2gtYXJnLXRlc3QvZXNjYXBlLXF1b3RlZC9ub25zcGVj aWFsKQooZXNoLWFyZy10ZXN0L2VzY2FwZS1xdW90ZWQvc3BlY2lhbCk6IC4uLiB0byBoZXJl LgooZXNoLWFyZy10ZXN0L2VzY2FwZS9zcGVjaWFsLCBlc2gtYXJnLXRlc3QvZXNjYXBlL25l d2xpbmUpCihlc2gtYXJnLXRlc3QvZXNjYXBlLXF1b3RlZC9uZXdsaW5lKTogTmV3IHRlc3Rz LgoKKiBkb2MvbWlzYy9lc2hlbGwudGV4aSAoQXJndW1lbnRzKTogRXhwbGFpbiBlc2NhcGlu ZyBsb2dpYyBpbiBtb3JlCmRldGFpbCAoYnVnIzU5NjIyKS4KLS0tCiBkb2MvbWlzYy9lc2hl bGwudGV4aSAgICAgICAgICAgICAgfCAgMjMgKysrKysrKwogbGlzcC9lc2hlbGwvZXNoLWFy Zy5lbCAgICAgICAgICAgIHwgIDQzICsrKysrKystLS0tLQogdGVzdC9saXNwL2VzaGVsbC9l c2gtYXJnLXRlc3RzLmVsIHwgMTA1ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKwog dGVzdC9saXNwL2VzaGVsbC9lc2hlbGwtdGVzdHMuZWwgIHwgIDMxIC0tLS0tLS0tLQogNCBm aWxlcyBjaGFuZ2VkLCAxNTMgaW5zZXJ0aW9ucygrKSwgNDkgZGVsZXRpb25zKC0pCiBjcmVh dGUgbW9kZSAxMDA2NDQgdGVzdC9saXNwL2VzaGVsbC9lc2gtYXJnLXRlc3RzLmVsCgpkaWZm IC0tZ2l0IGEvZG9jL21pc2MvZXNoZWxsLnRleGkgYi9kb2MvbWlzYy9lc2hlbGwudGV4aQpp bmRleCBlNmRkY2YxMWRmYS4uNjdkOGY4ZjgxZGYgMTAwNjQ0Ci0tLSBhL2RvYy9taXNjL2Vz aGVsbC50ZXhpCisrKyBiL2RvYy9taXNjL2VzaGVsbC50ZXhpCkBAIC0yNjMsNiArMjYzLDI5 IEBAIEFyZ3VtZW50cwogY2hhcmFjdGVycyBsaWtlIHBpcGUgKEBjb2Rle3x9KSwgd2hpY2gg Y291bGQgYmUgcGFydCBvZiByZW1vdGUgZmlsZQogbmFtZXMuCiAKK1doZW4geW91IGVzY2Fw ZSBhIGNoYXJhY3RlciB3aXRoIEBjb2Rle1x9IG91dHNpZGUgb2YgcXVvdGVzLCB0aGUKK3Jl c3VsdCBpcyB0aGUgbGl0ZXJhbCBjaGFyYWN0ZXIgaW1tZWRpYXRlbHkgZm9sbG93aW5nIGl0 LCBzbworQHNhbXB7XCQxMH0gbWVhbnMgdGhlIGxpdGVyYWwgc3RyaW5nIEBjb2RleyQxMH0u ICBJbnNpZGUgb2YKK2RvdWJsZSBxdW90ZXMsIHRoZSByZXN1bHQgaXMgdGhlIGxpdGVyYWwg Y2hhcmFjdGVyIGZvbGxvd2luZyBpdCBpZgordGhhdCBjaGFyYWN0ZXIgaXMgc3BlY2lhbCwg b3IgdGhlIGZ1bGwgQGNvZGV7XEB2YXJ7Y319IHNlcXVlbmNlCitvdGhlcndpc2U7IGluc2lk ZSBkb3VibGUtcXVvdGVzLCBAY29kZXtcfSwgQGNvZGV7In0sIGFuZCBAY29kZXskfSBhcmUK K2NvbnNpZGVyZWQgc3BlY2lhbC4KKworQWRkaXRpb25hbGx5LCB3aGVuIGVzY2FwaW5nIGEg bmV3bGluZSwgdGhlIHdob2xlIGVzY2FwZSBzZXF1ZW5jZSBpcworcmVtb3ZlZCBieSB0aGUg cGFyc2VyLiAgVGhpcyBsZXRzIHlvdSBjb250aW51ZSBjb21tYW5kcyBhY3Jvc3MKK211bHRp cGxlIGxpbmVzOgorCitAZXhhbXBsZQorfiAkIGVjaG8gImZvb1wKK2JhciIKK2Zvb2Jhcgor QGVuZCBleGFtcGxlCisKK0luc2lkZSBhcG9zdHJvcGhlcywgZXNjYXBpbmcgd29ya3MgZGlm ZmVyZW50bHkuICBBbGwgY2hhcmFjdGVycworYmV0d2VlbiB0aGUgYXBvc3Ryb3BoZXMgaGF2 ZSB0aGVpciBsaXRlcmFsIG1lYW5pbmcgZXhjZXB0IEBjb2Rleyd9LAord2hpY2ggZW5kcyB0 aGUgcXVvdGVkIHN0cmluZy4gIFRvIGluc2VydCBhIGxpdGVyYWwgYXBvc3Ryb3BoZSwgeW91 IGNhbgordXNlIEBjb2RleycnfS4KKwogV2hlbiB1c2luZyBleHBhbnNpb25zIChAcHhyZWZ7 RXhwYW5zaW9ufSkgaW4gYW4gRXNoZWxsIGNvbW1hbmQsIHRoZQogcmVzdWx0IG1heSBwb3Rl bnRpYWxseSBiZSBvZiBhbnkgZGF0YSB0eXBlLiAgVG8gZW5zdXJlIHRoYXQgdGhlIHJlc3Vs dAogaXMgYWx3YXlzIGEgc3RyaW5nLCB0aGUgZXhwYW5zaW9uIGNhbiBiZSBzdXJyb3VuZGVk IGJ5IGRvdWJsZSBxdW90ZXMuCmRpZmYgLS1naXQgYS9saXNwL2VzaGVsbC9lc2gtYXJnLmVs IGIvbGlzcC9lc2hlbGwvZXNoLWFyZy5lbAppbmRleCBmODdjYzJmMjBhYS4uNDhhYzNlMmJk NGQgMTAwNjQ0Ci0tLSBhL2xpc3AvZXNoZWxsL2VzaC1hcmcuZWwKKysrIGIvbGlzcC9lc2hl bGwvZXNoLWFyZy5lbApAQCAtMTQ2LDkgKzE0NiwxMCBAQCBlc2hlbGwtcGFyc2UtYXJndW1l bnQtaG9vawogV2hlbiBlYWNoIGZ1bmN0aW9uIG9uIHRoaXMgaG9vayBpcyBjYWxsZWQsIHBv aW50IHdpbGwgYmUgYXQgdGhlCiBjdXJyZW50IHBvc2l0aW9uIHdpdGhpbiB0aGUgYXJndW1l bnQgbGlzdC4gIFRoZSBmdW5jdGlvbiBzaG91bGQgZWl0aGVyCiByZXR1cm4gbmlsLCBtZWFu aW5nIHRoYXQgaXQgZGlkIG5vIGFyZ3VtZW50IHBhcnNpbmcsIG9yIGl0IHNob3VsZAotcmV0 dXJuIHRoZSByZXN1bHQgb2YgdGhlIHBhcnNlIGFzIGEgc2V4cC4gIEl0IGlzIGFsc28gcmVz cG9uc2libGUgZm9yCi1tb3ZpbmcgdGhlIHBvaW50IGZvcndhcmQgdG8gcmVmbGVjdCB0aGUg YW1vdW50IG9mIGlucHV0IHRleHQgdGhhdCB3YXMKLXBhcnNlZC4KK3JldHVybiB0aGUgcmVz dWx0IG9mIHRoZSBwYXJzZSBhcyBhIHNleHAuICBJZiB0aGUgZnVuY3Rpb24gZGlkIGRvCith cmd1bWVudCBwYXJzaW5nLCBidXQgdGhlIHJlc3VsdCB3YXMgbm90aGluZyBhdCBhbGwsIGl0 IHNob3VsZCByZXR1cm4KK2Blc2hlbGwtZW1wdHktdG9rZW4nLiAgVGhlIGZ1bmN0aW9uIGlz IGFsc28gcmVzcG9uc2libGUgZm9yIG1vdmluZyB0aGUKK3BvaW50IGZvcndhcmQgdG8gcmVm bGVjdCB0aGUgYW1vdW50IG9mIGlucHV0IHRleHQgdGhhdCB3YXMgcGFyc2VkLgogCiBJZiB0 aGUgaG9vayBkZXRlcm1pbmVzIHRoYXQgaXQgaGFzIHJlYWNoZWQgdGhlIGVuZCBvZiBhbiBh cmd1bWVudCwgaXQKIHNob3VsZCBjYWxsIGBlc2hlbGwtZmluaXNoLWFyZycgdG8gY29tcGxl dGUgcHJvY2Vzc2luZyBvZiB0aGUgY3VycmVudApAQCAtMzI1LDEzICszMjYsMTQgQEAgZXNo ZWxsLXBhcnNlLWFyZ3VtZW50CiAJCSAgIChwcm9nMQogCQkgICAgICAgKGNoYXItdG8tc3Ry aW5nIChjaGFyLWFmdGVyKSkKIAkJICAgICAoZm9yd2FyZC1jaGFyKSkpKSkKLQkgIChpZiAo bm90IGVzaGVsbC1jdXJyZW50LWFyZ3VtZW50KQotCSAgICAgIChzZXRxIGVzaGVsbC1jdXJy ZW50LWFyZ3VtZW50IHJlc3VsdCkKLQkgICAgKHVubGVzcyBlc2hlbGwtYXJnLWxpc3RpZmll ZAotCSAgICAgIChzZXRxIGVzaGVsbC1jdXJyZW50LWFyZ3VtZW50Ci0JCSAgICAobGlzdCBl c2hlbGwtY3VycmVudC1hcmd1bWVudCkKLQkJICAgIGVzaGVsbC1hcmctbGlzdGlmaWVkIHQp KQotCSAgICAobmNvbmMgZXNoZWxsLWN1cnJlbnQtYXJndW1lbnQgKGxpc3QgcmVzdWx0KSkp KSkpCisgICAgICAgICAgKHVubGVzcyAoZXEgcmVzdWx0ICdlc2hlbGwtZW1wdHktdG9rZW4p CisgICAgICAgICAgICAoaWYgKG5vdCBlc2hlbGwtY3VycmVudC1hcmd1bWVudCkKKyAgICAg ICAgICAgICAgICAoc2V0cSBlc2hlbGwtY3VycmVudC1hcmd1bWVudCByZXN1bHQpCisgICAg ICAgICAgICAgICh1bmxlc3MgZXNoZWxsLWFyZy1saXN0aWZpZWQKKyAgICAgICAgICAgICAg ICAoc2V0cSBlc2hlbGwtY3VycmVudC1hcmd1bWVudAorICAgICAgICAgICAgICAgICAgICAg IChsaXN0IGVzaGVsbC1jdXJyZW50LWFyZ3VtZW50KQorICAgICAgICAgICAgICAgICAgICAg IGVzaGVsbC1hcmctbGlzdGlmaWVkIHQpKQorICAgICAgICAgICAgICAobmNvbmMgZXNoZWxs LWN1cnJlbnQtYXJndW1lbnQgKGxpc3QgcmVzdWx0KSkpKSkpKQogICAgICh3aGVuIChhbmQg b3V0ZXIgZXNoZWxsLWN1cnJlbnQtYXJndW1lbnQpCiAgICAgICAoYWRkLXRleHQtcHJvcGVy dGllcyBhcmctYmVnaW4gKDErIGFyZy1iZWdpbikKIAkJCSAgICcoYXJnLWJlZ2luIHQgcmVh ci1ub25zdGlja3kKQEAgLTM3NSwxNSArMzc3LDIwIEBAIGVzaGVsbC1wYXJzZS1iYWNrc2xh c2gKICAgICAod2hlbiAoZXNoZWxsLWxvb2tpbmctYXQtYmFja3NsYXNoLXJldHVybiAocG9p bnQpKQogCSh0aHJvdyAnZXNoZWxsLWluY29tcGxldGUgP1xcKSkKICAgICAoZm9yd2FyZC1j aGFyIDIpIDsgTW92ZSBvbmUgY2hhciBwYXN0IHRoZSBiYWNrc2xhc2guCi0gICAgOzsgSWYg dGhlIGNoYXIgaXMgaW4gYSBxdW90ZSwgYmFja3NsYXNoIG9ubHkgaGFzIHNwZWNpYWwgbWVh bmluZwotICAgIDs7IGlmIGl0IGlzIGVzY2FwaW5nIGEgc3BlY2lhbCBjaGFyLgotICAgIChp ZiBlc2hlbGwtY3VycmVudC1xdW90ZWQKLSAgICAgICAgKGlmIChtZW1xIChjaGFyLWJlZm9y ZSkgZXNoZWxsLXNwZWNpYWwtY2hhcnMtaW5zaWRlLXF1b3RpbmcpCisgICAgKGlmIChlcSAo Y2hhci1iZWZvcmUpID9cbikKKyAgICAgICAgOzsgRXNjYXBlZCBuZXdsaW5lcyBhcmUgZXh0 cmEtc3BlY2lhbDogdGhleSBleHBhbmQgdG8gYW4gZW1wdHkKKyAgICAgICAgOzsgdG9rZW4g dG8gYWxsb3cgZm9yIGNvbnRpbnVpbmcgRXNoZWxsIGNvbW1hbmRzIGFjcm9zcworICAgICAg ICA7OyBtdWx0aXBsZSBsaW5lcy4KKyAgICAgICAgJ2VzaGVsbC1lbXB0eS10b2tlbgorICAg ICAgOzsgSWYgdGhlIGNoYXIgaXMgaW4gYSBxdW90ZSwgYmFja3NsYXNoIG9ubHkgaGFzIHNw ZWNpYWwgbWVhbmluZworICAgICAgOzsgaWYgaXQgaXMgZXNjYXBpbmcgYSBzcGVjaWFsIGNo YXIuCisgICAgICAoaWYgZXNoZWxsLWN1cnJlbnQtcXVvdGVkCisgICAgICAgICAgKGlmICht ZW1xIChjaGFyLWJlZm9yZSkgZXNoZWxsLXNwZWNpYWwtY2hhcnMtaW5zaWRlLXF1b3Rpbmcp CisgICAgICAgICAgICAgIChsaXN0ICdlc2hlbGwtZXNjYXBlLWFyZyAoY2hhci10by1zdHJp bmcgKGNoYXItYmVmb3JlKSkpCisgICAgICAgICAgICAoY29uY2F0ICJcXCIgKGNoYXItdG8t c3RyaW5nIChjaGFyLWJlZm9yZSkpKSkKKyAgICAgICAgKGlmIChtZW1xIChjaGFyLWJlZm9y ZSkgZXNoZWxsLXNwZWNpYWwtY2hhcnMtb3V0c2lkZS1xdW90aW5nKQogICAgICAgICAgICAg KGxpc3QgJ2VzaGVsbC1lc2NhcGUtYXJnIChjaGFyLXRvLXN0cmluZyAoY2hhci1iZWZvcmUp KSkKLSAgICAgICAgICAoY29uY2F0ICJcXCIgKGNoYXItdG8tc3RyaW5nIChjaGFyLWJlZm9y ZSkpKSkKLSAgICAgIChpZiAobWVtcSAoY2hhci1iZWZvcmUpIGVzaGVsbC1zcGVjaWFsLWNo YXJzLW91dHNpZGUtcXVvdGluZykKLSAgICAgICAgICAobGlzdCAnZXNoZWxsLWVzY2FwZS1h cmcgKGNoYXItdG8tc3RyaW5nIChjaGFyLWJlZm9yZSkpKQotICAgICAgICAoY2hhci10by1z dHJpbmcgKGNoYXItYmVmb3JlKSkpKSkpCisgICAgICAgICAgKGNoYXItdG8tc3RyaW5nIChj aGFyLWJlZm9yZSkpKSkpKSkKIAogKGRlZnVuIGVzaGVsbC1wYXJzZS1saXRlcmFsLXF1b3Rl ICgpCiAgICJQYXJzZSBhIGxpdGVyYWxseSBxdW90ZWQgc3RyaW5nLiAgTm90aGluZyBoYXMg c3BlY2lhbCBtZWFuaW5nISIKZGlmZiAtLWdpdCBhL3Rlc3QvbGlzcC9lc2hlbGwvZXNoLWFy Zy10ZXN0cy5lbCBiL3Rlc3QvbGlzcC9lc2hlbGwvZXNoLWFyZy10ZXN0cy5lbApuZXcgZmls ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMC4uNzdmOTQwNGQ0YzcKLS0tIC9kZXYv bnVsbAorKysgYi90ZXN0L2xpc3AvZXNoZWxsL2VzaC1hcmctdGVzdHMuZWwKQEAgLTAsMCAr MSwxMDUgQEAKKzs7OyBlc2gtYXJnLXRlc3RzLmVsIC0tLSBlc2gtYXJnIHRlc3Qgc3VpdGUg IC0qLSBsZXhpY2FsLWJpbmRpbmc6dCAtKi0KKworOzsgQ29weXJpZ2h0IChDKSAyMDIyIEZy ZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgorCis7OyBUaGlzIGZpbGUgaXMgcGFydCBv ZiBHTlUgRW1hY3MuCisKKzs7IEdOVSBFbWFjcyBpcyBmcmVlIHNvZnR3YXJlOiB5b3UgY2Fu IHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5Cis7OyBpdCB1bmRlciB0aGUgdGVybXMg b2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQorOzsg dGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUg TGljZW5zZSwgb3IKKzs7IChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisK Kzs7IEdOVSBFbWFjcyBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwg YmUgdXNlZnVsLAorOzsgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4g dGhlIGltcGxpZWQgd2FycmFudHkgb2YKKzs7IE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNT IEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKKzs7IEdOVSBHZW5lcmFsIFB1 YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisKKzs7IFlvdSBzaG91bGQgaGF2ZSBy ZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCis7OyBh bG9uZyB3aXRoIEdOVSBFbWFjcy4gIElmIG5vdCwgc2VlIDxodHRwczovL3d3dy5nbnUub3Jn L2xpY2Vuc2VzLz4uCisKKzs7OyBDb21tZW50YXJ5OgorCis7OyBUZXN0cyBmb3IgRXNoZWxs J3MgYXJndW1lbnQgaGFuZGxpbmcuCisKKzs7OyBDb2RlOgorCisocmVxdWlyZSAnZXJ0KQor KHJlcXVpcmUgJ2VzaC1tb2RlKQorKHJlcXVpcmUgJ2VzaGVsbCkKKworKHJlcXVpcmUgJ2Vz aGVsbC10ZXN0cy1oZWxwZXJzCisgICAgICAgICAoZXhwYW5kLWZpbGUtbmFtZSAiZXNoZWxs LXRlc3RzLWhlbHBlcnMiCisgICAgICAgICAgICAgICAgICAgICAgICAgICAoZmlsZS1uYW1l LWRpcmVjdG9yeSAob3IgbG9hZC1maWxlLW5hbWUKKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZWZhdWx0LWRpcmVjdG9yeSkpKSkKKwor KGRlZnZhciBlc2hlbGwtdGVzdC12YWx1ZSBuaWwpCisKKzs7OyBUZXN0czoKKworKGVydC1k ZWZ0ZXN0IGVzaC1hcmctdGVzdC9lc2NhcGUvbm9uc3BlY2lhbCAoKQorICAiVGVzdCB0aGF0 IFwiXFxjXCIgYW5kIFwiY1wiIGFyZSBlcXVpdmFsZW50IHdoZW4gXCJjXCIgaXMgbm90IGEK K3NwZWNpYWwgY2hhcmFjdGVyLiIKKyAgKHdpdGgtdGVtcC1lc2hlbGwKKyAgIChlc2hlbGwt bWF0Y2gtY29tbWFuZC1vdXRwdXQgImVjaG8gaGVcXGxsbyIKKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgImhlbGxvXG4iKSkpCisKKyhlcnQtZGVmdGVzdCBlc2gtYXJnLXRl c3QvZXNjYXBlL25vbnNwZWNpYWwtdW5pY29kZSAoKQorICAiVGVzdCB0aGF0IFwiXFxjXCIg YW5kIFwiY1wiIGFyZSBlcXVpdmFsZW50IHdoZW4gXCJjXCIgaXMgYQordW5pY29kZSBjaGFy YWN0ZXIgKHVuaWNvZGUgY2hhcmFjdGVycyBhcmUgbm9uc3BlY2lhbCBieQorZGVmaW5pdGlv bikuIgorICAod2l0aC10ZW1wLWVzaGVsbAorICAgKGVzaGVsbC1tYXRjaC1jb21tYW5kLW91 dHB1dCAiZWNobyBWaWRcXMOpb3MiCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICJWaWTDqW9zXG4iKSkpCisKKyhlcnQtZGVmdGVzdCBlc2gtYXJnLXRlc3QvZXNjYXBlL3Nw ZWNpYWwgKCkKKyAgIlRlc3QgdGhhdCB0aGUgYmFja3NsYXNoIGlzIG5vdCBwcmVzZXJ2ZWQg Zm9yIGVzY2FwZWQgc3BlY2lhbAorY2hhcnMuIgorICAod2l0aC10ZW1wLWVzaGVsbAorICAg KGVzaGVsbC1tYXRjaC1jb21tYW5kLW91dHB1dCAiZWNobyBoZVxcXFxsbG8iCisgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIDs7IEJhY2tzbGFzaGVzIGFyZSBkb3VibGVkIGZv ciByZWdleHAuCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJoZVxcXFxsbG9c biIpKSkKKworKGVydC1kZWZ0ZXN0IGVzaC1hcmctdGVzdC9lc2NhcGUvbmV3bGluZSAoKQor ICAiVGVzdCB0aGF0IGFuIGVzY2FwZWQgbmV3bGluZSBpcyBlcXVpdmFsZW50IHRvIHRoZSBl bXB0eSBzdHJpbmcuCitXaGVuIG5ld2xpbmVzIGFyZSAqbm9uc3BlY2lhbCosIGFuIGVzY2Fw ZWQgbmV3bGluZSBzaG91bGQgYmUKK3RyZWF0ZWQgYXMganVzdCBhIG5ld2xpbmUuIgorICAo d2l0aC10ZW1wLWVzaGVsbAorICAgKGVzaGVsbC1tYXRjaC1jb21tYW5kLW91dHB1dCAiZWNo byBoaVxcXG50aGVyZSIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImhpdGhl cmVcbiIpKSkKKworKGVydC1kZWZ0ZXN0IGVzaC1hcmctdGVzdC9lc2NhcGUvbmV3bGluZS1j b25kaXRpb25hbCAoKQorICAiVGVzdCBpbnZvY2F0aW9uIG9mIGFuIGlmL2Vsc2Ugc3RhdGVt ZW50IHVzaW5nIGxpbmUgY29udGludWF0aW9ucy4iCisgIChsZXQgKChlc2hlbGwtdGVzdC12 YWx1ZSB0KSkKKyAgICAoZXNoZWxsLWNvbW1hbmQtcmVzdWx0LWVxdWFsCisgICAgICJpZiAk ZXNoZWxsLXRlc3QtdmFsdWUgXFxcbntlY2hvIHllc30gXFxcbntlY2hvIG5vfSIKKyAgICAg InllcyIpKQorICAobGV0ICgoZXNoZWxsLXRlc3QtdmFsdWUgbmlsKSkKKyAgICAoZXNoZWxs LWNvbW1hbmQtcmVzdWx0LWVxdWFsCisgICAgICJpZiAkZXNoZWxsLXRlc3QtdmFsdWUgXFxc bntlY2hvIHllc30gXFxcbntlY2hvIG5vfSIKKyAgICAgIm5vIikpKQorCisoZXJ0LWRlZnRl c3QgZXNoLWFyZy10ZXN0L2VzY2FwZS1xdW90ZWQvbm9uc3BlY2lhbCAoKQorICAiVGVzdCB0 aGF0IHRoZSBiYWNrc2xhc2ggaXMgcHJlc2VydmVkIGZvciBlc2NhcGVkIG5vbnNwZWNpYWwK K2NoYXJzLiIKKyAgKHdpdGgtdGVtcC1lc2hlbGwKKyAgIChlc2hlbGwtbWF0Y2gtY29tbWFu ZC1vdXRwdXQgImVjaG8gXCJoXFxpXCIiCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIDs7IEJhY2tzbGFzaGVzIGFyZSBkb3VibGVkIGZvciByZWdleHAuCisgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICJoXFxcXGlcbiIpKSkKKworKGVydC1kZWZ0ZXN0IGVz aC1hcmctdGVzdC9lc2NhcGUtcXVvdGVkL3NwZWNpYWwgKCkKKyAgIlRlc3QgdGhhdCB0aGUg YmFja3NsYXNoIGlzIG5vdCBwcmVzZXJ2ZWQgZm9yIGVzY2FwZWQgc3BlY2lhbAorY2hhcnMu IgorICAod2l0aC10ZW1wLWVzaGVsbAorICAgKGVzaGVsbC1tYXRjaC1jb21tYW5kLW91dHB1 dCAiZWNobyBcIlxcXCJoaVxcXFxcIiIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgOzsgQmFja3NsYXNoZXMgYXJlIGRvdWJsZWQgZm9yIHJlZ2V4cC4KKyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIlxcXCJoaVxcXFxcbiIpKSkKKworKGVydC1kZWZ0ZXN0 IGVzaC1hcmctdGVzdC9lc2NhcGUtcXVvdGVkL25ld2xpbmUgKCkKKyAgIlRlc3QgdGhhdCBh biBlc2NhcGVkIG5ld2xpbmUgaXMgZXF1aXZhbGVudCB0byB0aGUgZW1wdHkgc3RyaW5nLgor V2hlbiBuZXdsaW5lcyBhcmUgKm5vbnNwZWNpYWwqLCBhbiBlc2NhcGVkIG5ld2xpbmUgc2hv dWxkIGJlCit0cmVhdGVkIGxpdGVyYWxseSwgYXMgYSBiYWNrc2xhc2ggYW5kIGEgbmV3bGlu ZS4iCisgICh3aXRoLXRlbXAtZXNoZWxsCisgICAoZXNoZWxsLW1hdGNoLWNvbW1hbmQtb3V0 cHV0ICJlY2hvIFwiaGlcXFxudGhlcmVcIiIKKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgImhpdGhlcmVcbiIpKSkKKworOzsgZXNoLWFyZy10ZXN0cy5lbCBlbmRzIGhlcmUK ZGlmZiAtLWdpdCBhL3Rlc3QvbGlzcC9lc2hlbGwvZXNoZWxsLXRlc3RzLmVsIGIvdGVzdC9s aXNwL2VzaGVsbC9lc2hlbGwtdGVzdHMuZWwKaW5kZXggZDUxMTIxNDZjMmQuLmM2N2FjNjdm ZDM2IDEwMDY0NAotLS0gYS90ZXN0L2xpc3AvZXNoZWxsL2VzaGVsbC10ZXN0cy5lbAorKysg Yi90ZXN0L2xpc3AvZXNoZWxsL2VzaGVsbC10ZXN0cy5lbApAQCAtMTA1LDM3ICsxMDUsNiBA QCBlc2hlbGwtdGVzdC9saXNwLXJlc2V0LWluLXBpcGVsaW5lCiAgICAgIChmb3JtYXQgdGVt cGxhdGUgImZvcm1hdCBcIiVzXCIgZXNoZWxsLWluLXBpcGVsaW5lLXAiKQogICAgICAibmls IikpKQogCi0oZXJ0LWRlZnRlc3QgZXNoZWxsLXRlc3QvZXNjYXBlLW5vbnNwZWNpYWwgKCkK LSAgIlRlc3QgdGhhdCBcIlxcY1wiIGFuZCBcImNcIiBhcmUgZXF1aXZhbGVudCB3aGVuIFwi Y1wiIGlzIG5vdCBhCi1zcGVjaWFsIGNoYXJhY3Rlci4iCi0gICh3aXRoLXRlbXAtZXNoZWxs Ci0gICAoZXNoZWxsLW1hdGNoLWNvbW1hbmQtb3V0cHV0ICJlY2hvIGhlXFxsbG8iCi0gICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICJoZWxsb1xuIikpKQotCi0oZXJ0LWRlZnRl c3QgZXNoZWxsLXRlc3QvZXNjYXBlLW5vbnNwZWNpYWwtdW5pY29kZSAoKQotICAiVGVzdCB0 aGF0IFwiXFxjXCIgYW5kIFwiY1wiIGFyZSBlcXVpdmFsZW50IHdoZW4gXCJjXCIgaXMgYQot dW5pY29kZSBjaGFyYWN0ZXIgKHVuaWNvZGUgY2hhcmFjdGVycyBhcmUgbm9uc3BlY2lhbCBi eQotZGVmaW5pdGlvbikuIgotICAod2l0aC10ZW1wLWVzaGVsbAotICAgKGVzaGVsbC1tYXRj aC1jb21tYW5kLW91dHB1dCAiZWNobyBWaWRcXMOpb3MiCi0gICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICJWaWTDqW9zXG4iKSkpCi0KLShlcnQtZGVmdGVzdCBlc2hlbGwtdGVz dC9lc2NhcGUtbm9uc3BlY2lhbC1xdW90ZWQgKCkKLSAgIlRlc3QgdGhhdCB0aGUgYmFja3Ns YXNoIGlzIHByZXNlcnZlZCBmb3IgZXNjYXBlZCBub25zcGVjaWFsCi1jaGFycyIKLSAgKHdp dGgtdGVtcC1lc2hlbGwKLSAgIChlc2hlbGwtbWF0Y2gtY29tbWFuZC1vdXRwdXQgImVjaG8g XCJoXFxpXCIiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDs7IEJhY2tzbGFz aGVzIGFyZSBkb3VibGVkIGZvciByZWdleHAuCi0gICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICJoXFxcXGlcbiIpKSkKLQotKGVydC1kZWZ0ZXN0IGVzaGVsbC10ZXN0L2VzY2Fw ZS1zcGVjaWFsLXF1b3RlZCAoKQotICAiVGVzdCB0aGF0IHRoZSBiYWNrc2xhc2ggaXMgbm90 IHByZXNlcnZlZCBmb3IgZXNjYXBlZCBzcGVjaWFsCi1jaGFycyIKLSAgKHdpdGgtdGVtcC1l c2hlbGwKLSAgIChlc2hlbGwtbWF0Y2gtY29tbWFuZC1vdXRwdXQgImVjaG8gXCJcXFwiaGlc XFxcXCIiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDs7IEJhY2tzbGFzaGVz IGFyZSBkb3VibGVkIGZvciByZWdleHAuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICJcXFwiaGlcXFxcXG4iKSkpCi0KIChlcnQtZGVmdGVzdCBlc2hlbGwtdGVzdC9jb21t YW5kLXJ1bm5pbmctcCAoKQogICAiTW9kZWxpbmUgc2hvdWxkIHNob3cgbm8gY29tbWFuZCBy dW5uaW5nIgogICAod2l0aC10ZW1wLWVzaGVsbAotLSAKMi4yNS4xCgo= --------------TC6QX9tIk40xSUC5C1qq6bVf--