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#55204: [PATCH] 29.0.50; Improve quoting consistency in Eshell predicates/modifiers Date: Sat, 30 Apr 2022 21:50:42 -0700 Message-ID: References: <155d0ab6-fe59-940d-23ad-34a6d066fc46@gmail.com> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="------------CED9CFCAADC168C98EC8A324" Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="8315"; mail-complaints-to="usenet@ciao.gmane.io" To: 55204@debbugs.gnu.org Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Sun May 01 06:51:38 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 1nl1YY-00020Q-Hq for geb-bug-gnu-emacs@m.gmane-mx.org; Sun, 01 May 2022 06:51:38 +0200 Original-Received: from localhost ([::1]:56654 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1nl1YX-0003Vv-0W for geb-bug-gnu-emacs@m.gmane-mx.org; Sun, 01 May 2022 00:51:37 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:38704) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nl1Xy-0003Vh-NM for bug-gnu-emacs@gnu.org; Sun, 01 May 2022 00:51:02 -0400 Original-Received: from debbugs.gnu.org ([209.51.188.43]:37222) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1nl1Xy-0002KF-E2 for bug-gnu-emacs@gnu.org; Sun, 01 May 2022 00:51:02 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1nl1Xy-0000HC-By for bug-gnu-emacs@gnu.org; Sun, 01 May 2022 00:51: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: Sun, 01 May 2022 04:51:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 55204 X-GNU-PR-Package: emacs Original-Received: via spool by 55204-submit@debbugs.gnu.org id=B55204.16513806531045 (code B ref 55204); Sun, 01 May 2022 04:51:02 +0000 Original-Received: (at 55204) by debbugs.gnu.org; 1 May 2022 04:50:53 +0000 Original-Received: from localhost ([127.0.0.1]:59352 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1nl1Xo-0000Gm-0s for submit@debbugs.gnu.org; Sun, 01 May 2022 00:50:53 -0400 Original-Received: from mail-pj1-f44.google.com ([209.85.216.44]:38812) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1nl1Xl-0000GW-9M for 55204@debbugs.gnu.org; Sun, 01 May 2022 00:50:50 -0400 Original-Received: by mail-pj1-f44.google.com with SMTP id cx11-20020a17090afd8b00b001d9fe5965b3so11773062pjb.3 for <55204@debbugs.gnu.org>; Sat, 30 Apr 2022 21:50:49 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=subject:from:to:references:message-id:date:mime-version:in-reply-to :content-language; bh=OuhTcax4/K+UmzwFC2mVFGRPUwC1t9XcAw+obGVmWOU=; b=EPka2LscllPQT/xZtEB2u7gmdDPHsVgaYHzICTVDUgtcq2ePa8kCCZmGlwJk6szxyX u1ARcPddLBVFVtgMndYLw7g0wTbcP4lYA73brrITJfcTtRlu1Mg9QnQyoEW9ADUsTEqh 4L5dSsbq/2RBfbGOFBh5sUPjup0kOpGP98jSDplBVjqwauH0yy8bdAVR6FGloCgP0S/g /4LmUY+5ipO+vbFjE+mPxeyfXK9Y+9eHzx6YAzOuC4SX+ck37hG9FgCubJJydWGfhK3K W52A75eun0qqBm1FEvBpSi6xZKAi6SPfEmZvGwIp/II/QUGvCEQr1xQl/mdUcd5lDpp/ 8KEg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:subject:from:to:references:message-id:date :mime-version:in-reply-to:content-language; bh=OuhTcax4/K+UmzwFC2mVFGRPUwC1t9XcAw+obGVmWOU=; b=qEC4ZfNlGSRBmyaSadkREDxtkJNCVMSUQ1ytl3/sRQzjCueBJU5j57R7EVLAUEl2pq ARrcSdWB1R4ejF8iw/mnpzfWK655mTZI3XQn7fAr6vJc628SvOAVi/vEvvMP/oon0Zee UdPTyFSiYaJv0ZO9yiflBz+46DoNxM1W+VNx8n8i3MLvykh+IPDwyz24SYNNDw/tp8mV +bSEDKJkYBD/hxnIu55VFzv3AlRB90SMlsbaPC/NCcAuv15IR/B6v68A39IwixOV1Ztm c1Ua/PbZ1kyKeulIln91uDrW8gM2tBL7AcOs6bpG/VYgUqbMPZXZh3zst6rIyyM0zomI EFZg== X-Gm-Message-State: AOAM530x9ficqusvkJKa/FCGzIdUkOUXcUpw8zIBxK1vYmKjoW/vPqgp i+5LbieDM0b++Vmb/hY+JQwAFGCbYLs= X-Google-Smtp-Source: ABdhPJwMhe0ccCT80J5kcFW4jgxS2O0tyQxzjD+lI+qqJjjaumIuIi1ewKyV/nWrWFrY3a0GDGBf/w== X-Received: by 2002:a17:90a:b307:b0:1bd:37f3:f0fc with SMTP id d7-20020a17090ab30700b001bd37f3f0fcmr11995323pjr.132.1651380643063; Sat, 30 Apr 2022 21:50:43 -0700 (PDT) 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 e18-20020a170902ef5200b0015e8d4eb1e2sm2264515plx.44.2022.04.30.21.50.42 for <55204@debbugs.gnu.org> (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Sat, 30 Apr 2022 21:50:42 -0700 (PDT) In-Reply-To: <155d0ab6-fe59-940d-23ad-34a6d066fc46@gmail.com> Content-Language: en-US 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" Xref: news.gmane.io gmane.emacs.bugs:231085 Archived-At: This is a multi-part message in MIME format. --------------CED9CFCAADC168C98EC8A324 Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 8bit See the attached patches. Some comments about the patch below. On 4/30/2022 9:37 PM, Jim Porter wrote: > Currently, there are some inconsistencies with how string parameters > should be quoted in Eshell argument predicates/modifiers (hereafter just > "predicates"). First, the possible delimiters for a given predicate vary > based on which predicate is used. Currently, the allowed delimiters are: > > Any non-digit character: >   u (user) >   g (group) >   a (access time) >   m (modification time) >   c (change time) > Any character: >   :i (include) >   :x (exclude) >   :s (substitute) > "'" or "/": >   :j (join) >   :S (split) To resolve this, I've standardized on using the following delimiter pairs: "...", '...', /.../, |...|, (...), [...], <...>, and {...}. This is a smaller valid set than what's was allowed for some of the above predicates, but is still considerably more than what was actually documented (just '...' and /.../). I've updated the manual to list the accepted delimiters, but maybe we should add more to the list. However, since some predicates take an *optional* string parameter, it's best not to be too loose with acceptable delimiters so that there isn't confusion; this is already a problem with "/", since that could be a string delimiter *or* a predicate meaning "match directories", but it'd be too hard to change either of those at this point. (Users can avoid this issue by being careful about the order they write their predicates in.) I'm not sure if this change warrants a NEWS entry. On the one hand, it's just a bug fix, but on the other hand, it's an incompatible change. On the third(?) hand, it was never documented, and I'm not sure if anyone would have guessed that you can use, say, alphabetic characters as string delimiters in predicates. --------------CED9CFCAADC168C98EC8A324 Content-Type: text/plain; charset=UTF-8; name="0001-Use-a-common-set-of-string-delimiters-for-all-Eshell.patch" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename*0="0001-Use-a-common-set-of-string-delimiters-for-all-Eshell.pa"; filename*1="tch" RnJvbSBjZTJmY2RjZDlhZjdkYjc0NTc2MGU0MTc5YTY2MWQ1ZWQxODZlYTA0IE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBKaW0gUG9ydGVyIDxqcG9ydGVyYnVnc0BnbWFpbC5j b20+CkRhdGU6IFN1biwgMjcgTWFyIDIwMjIgMjI6Mjg6NDAgLTA3MDAKU3ViamVjdDogW1BB VENIIDEvM10gVXNlIGEgY29tbW9uIHNldCBvZiBzdHJpbmcgZGVsaW1pdGVycyBmb3IgYWxs IEVzaGVsbAogcHJlZGljYXRlcy9tb2RpZmllcnMKCiogbGlzcC9lc2hlbGwvZW0tcHJlZC5l bCAoZXNoZWxsLXByZWQtZGVsaW1pdGVyLXBhaXJzKTogTmV3IHZhcmlhYmxlLgooZXNoZWxs LWdldC1jb21wYXJpc29uLW1vZGlmaWVyLWFyZ3VtZW50KQooZXNoZWxsLWdldC1udW1lcmlj LW1vZGlmaWVyLWFyZ3VtZW50KQooZXNoZWxsLWdldC1kZWxpbWl0ZWQtbW9kaWZpZXItYXJn dW1lbnQpOiBOZXcgZnVuY3Rpb25zLi4uCihlc2hlbGwtcHJlZC11c2VyLW9yLWdyb3VwLCBl c2hlbGwtcHJlZC1maWxlLXRpbWUpCihlc2hlbGwtcHJlZC1maWxlLWxpbmtzLCBlc2hlbGwt cHJlZC1maWxlLXNpemUpCihlc2hlbGwtcHJlZC1zdWJzdGl0dXRlLCBlc2hlbGwtam9pbi1t ZW1lYmVycywgZXNoZWxsLXNwbGl0LW1lbWJlcnMpOgouLi4gYW5kIHVzZSB0aGVtIGhlcmUu Cihlc2hlbGwtaW5jbHVkZS1tZW1iZXJzKTogUGFzcyAnbW9kLWNoYXInIGFuZCB1c2UKJ2Vz aGVsbC1nZXQtZGVsaW1pdGVkLW1vZGlmaWVyLWFyZ3VtZW50Jy4KKGVzaGVsbC1wcmVkLWZp bGUtdHlwZSwgZXNoZWxsLXByZWQtZmlsZS1tb2RlKTogVXNlICd3aGVuLWxldCcuCihlc2hl bGwtbW9kaWZpZXItYWxpc3QpOiBQYXNzIG1vZGlmaWVyIGNoYXIgdG8KJ2VzaGVsbC1pbmNs dWRlLW1lbWJlcnMnLgoKKiB0ZXN0L2xpc3AvZXNoZWxsL2VtLXByZWQtdGVzdHMuZWwKKGVt LXByZWQtdGVzdC9wcmVkaWNhdGUtZGVsaW1pdGVycyk6IE5ldyB0ZXN0LgooZW0tcHJlZC10 ZXN0L3ByZWRpY2F0ZS11aWQsIGVtLXByZWQtdGVzdC9wcmVkaWNhdGUtZ2lkLAplbS1wcmVk LXRlc3QvbW9kaWZpZXItaW5jbHVkZSwgZW0tcHJlZC10ZXN0L21vZGlmaWVyLWV4Y2x1ZGUp OiBSZW1vdmUKY2FzZXMgY292ZXJlZCBieSAnZW0tcHJlZC10ZXN0L3ByZWRpY2F0ZS1kZWxp bWl0ZXJzJy4KKGVtLXByZWQtdGVzdC9tb2RpZmllci1zdWJzdGl0dXRlKTogQWRkIHRlc3Qg Y2FzZXMgZm9yIG5ldyBkZWxpbWl0ZXIKc3R5bGVzLgoKKiBkb2MvbWlzYy9lc2hlbGwudGV4 aSAoQXJndW1lbnQgUHJlZGljYXRpb24gYW5kIE1vZGlmaWNhdGlvbik6CkV4cGxhaW4gaG93 IHN0cmluZyBwYXJhbWV0ZXJzIGFyZSBkZWxpbWl0ZWQuCihBcmd1bWVudCBNb2RpZmllcnMp OiBEb2N1bWVudCBzb21lIHNwZWNpYWwgZGVsaW1pdGVyIGJlaGF2aW9yIHdpdGgKdGhlICdz L1BBVFRFUk4vUkVQTEFDRS8nIG1vZGlmaWVyIChidWcjNTUyMDQpLgotLS0KIGRvYy9taXNj L2VzaGVsbC50ZXhpICAgICAgICAgICAgICB8ICAxMiArKwogbGlzcC9lc2hlbGwvZW0tcHJl ZC5lbCAgICAgICAgICAgIHwgMjczICsrKysrKysrKysrKysrLS0tLS0tLS0tLS0tLS0tLQog dGVzdC9saXNwL2VzaGVsbC9lbS1wcmVkLXRlc3RzLmVsIHwgIDMzICsrLS0KIDMgZmlsZXMg Y2hhbmdlZCwgMTYwIGluc2VydGlvbnMoKyksIDE1OCBkZWxldGlvbnMoLSkKCmRpZmYgLS1n aXQgYS9kb2MvbWlzYy9lc2hlbGwudGV4aSBiL2RvYy9taXNjL2VzaGVsbC50ZXhpCmluZGV4 IGU1MzkyMDYxNjYuLmEzZWQ5MjJjZjIgMTAwNjQ0Ci0tLSBhL2RvYy9taXNjL2VzaGVsbC50 ZXhpCisrKyBiL2RvYy9taXNjL2VzaGVsbC50ZXhpCkBAIC0xMTkxLDYgKzExOTEsMTMgQEAg QXJndW1lbnQgUHJlZGljYXRpb24gYW5kIE1vZGlmaWNhdGlvbgogaW4gdGhlIGN1cnJlbnQg ZGlyZWN0b3J5IGFuZCBAc2FtcHsqKF5AQDpVXnUwKX0gZXhwYW5kcyB0byBhbGwKIG5vbi1z eW1saW5rcyBub3Qgb3duZWQgYnkgQGNvZGV7cm9vdH0sIHVwcGVyLWNhc2VkLgogCitTb21l IHByZWRpY2F0ZXMgYW5kIG1vZGlmaWVycyBhY2NlcHQgc3RyaW5nIHBhcmFtZXRlcnMsIHN1 Y2ggYXMKK0BzYW1weyoodSdAdmFye3VzZXJ9Jyl9LCB3aGljaCBtYXRjaGVzIGFsbCBmaWxl cyBvd25lZCBieSBAdmFye3VzZXJ9LgorVGhlc2UgcGFyYW1ldGVycyBtdXN0IGJlIHN1cnJv dW5kZWQgYnkgZGVsaW1pdGVyczsgeW91IGNhbiB1c2UgYW55IG9mCit0aGUgZm9sbG93aW5n IHBhaXJzIG9mIGRlbGltaXRlcnM6IEBjb2RleyIgQGRvdHN7fSAifSwgQGNvZGV7JyBAZG90 c3t9CisnfSwgQGNvZGV7LyBAZG90c3t9IC99LCBAY29kZXt8IEBkb3Rze30gfH0sIEBjb2Rl eyggQGRvdHN7fSApfSwKK0Bjb2Rle1sgQGRvdHN7fSBdfSwgQGNvZGV7PCBAZG90c3t9ID59 LCBvciBAY29kZXtAeyBAZG90c3t9IEB9fS4KKwogWW91IGNhbiBjdXN0b21pemUgdGhlIHN5 bnRheCBhbmQgYmVoYXZpb3Igb2YgcHJlZGljYXRlcyBhbmQgbW9kaWZpZXJzCiBpbiBFc2hl bGwgdmlhIHRoZSBDdXN0b21pemUgZ3JvdXAgYGBlc2hlbGwtcHJlZCcnIChAcHhyZWZ7RWFz eQogQ3VzdG9taXphdGlvbiwgLCAsIGVtYWNzLCBUaGUgR05VIEVtYWNzIE1hbnVhbH0pLgpA QCAtMTM3OSw2ICsxMzg2LDExIEBAIEFyZ3VtZW50IE1vZGlmaWVycwogUmVwbGFjZXMgdGhl IGZpcnN0IGluc3RhbmNlIG9mIHRoZSByZWd1bGFyIGV4cHJlc3Npb24gQHZhcntwYXR0ZXJu fQogd2l0aCBAdmFye3JlcGxhY2V9LiAgU2lnbmFscyBhbiBlcnJvciBpZiBubyBtYXRjaCBp cyBmb3VuZC4KIAorQXMgd2l0aCBvdGhlciBtb2RpZmllcnMgdGFraW5nIHN0cmluZyBwYXJh bWV0ZXJzLCB5b3UgY2FuIHVzZQorZGlmZmVyZW50IGRlbGltaXRlcnMgdG8gc2VwYXJhdGUg QHZhcntwYXR0ZXJufSBhbmQgQHZhcntyZXBsYWNlfSwgc3VjaAorYXMgQHNhbXB7cydAZG90 c3t9J0Bkb3Rze30nfSwgQHNhbXB7c1tAZG90c3t9XVtAZG90c3t9XX0sIG9yIGV2ZW4KK0Bz YW1we3NbQGRvdHN7fV0vQGRvdHN7fS99LgorCiBAaXRlbSBncy9AdmFye3BhdHRlcm59L0B2 YXJ7cmVwbGFjZX0vCiBSZXBsYWNlcyBhbGwgaW5zdGFuY2VzIG9mIHRoZSByZWd1bGFyIGV4 cHJlc3Npb24gQHZhcntwYXR0ZXJufSB3aXRoCiBAdmFye3JlcGxhY2V9LgpkaWZmIC0tZ2l0 IGEvbGlzcC9lc2hlbGwvZW0tcHJlZC5lbCBiL2xpc3AvZXNoZWxsL2VtLXByZWQuZWwKaW5k ZXggZWI1MTA5YjgyZC4uNTk0NTYzNTU0ZCAxMDA2NDQKLS0tIGEvbGlzcC9lc2hlbGwvZW0t cHJlZC5lbAorKysgYi9saXNwL2VzaGVsbC9lbS1wcmVkLmVsCkBAIC0xMTYsOCArMTE2LDgg QEAgZXNoZWxsLW1vZGlmaWVyLWFsaXN0CiAgICAgKD9VIC4gKGxhbWJkYSAobHN0KSAobWFw Y2FyICMndXBjYXNlIGxzdCkpKQogICAgICg/QyAuIChsYW1iZGEgKGxzdCkgKG1hcGNhciAj J2NhcGl0YWxpemUgbHN0KSkpCiAgICAgKD9oIC4gKGxhbWJkYSAobHN0KSAobWFwY2FyICMn ZmlsZS1uYW1lLWRpcmVjdG9yeSBsc3QpKSkKLSAgICAoP2kgLiAoZXNoZWxsLWluY2x1ZGUt bWVtYmVycykpCi0gICAgKD94IC4gKGVzaGVsbC1pbmNsdWRlLW1lbWJlcnMgdCkpCisgICAg KD9pIC4gKGVzaGVsbC1pbmNsdWRlLW1lbWJlcnMgP2kpKQorICAgICg/eCAuIChlc2hlbGwt aW5jbHVkZS1tZW1iZXJzID94IHQpKQogICAgICg/ciAuIChsYW1iZGEgKGxzdCkgKG1hcGNh ciAjJ2ZpbGUtbmFtZS1zYW5zLWV4dGVuc2lvbiBsc3QpKSkKICAgICAoP2UgLiAobGFtYmRh IChsc3QpIChtYXBjYXIgIydmaWxlLW5hbWUtZXh0ZW5zaW9uIGxzdCkpKQogICAgICg/dCAu IChsYW1iZGEgKGxzdCkgKG1hcGNhciAjJ2ZpbGUtbmFtZS1ub25kaXJlY3RvcnkgbHN0KSkp CkBAIC0yMTksNiArMjE5LDIwIEBAIGVzaGVsbC1tb2RpZmllci1oZWxwLXN0cmluZwogRVhB TVBMRVM6CiAgICouYyg6bykgIHNvcnRlZCBsaXN0IG9mIC5jIGZpbGVzIikKIAorKGRlZnZh ciBlc2hlbGwtcHJlZC1kZWxpbWl0ZXItcGFpcnMKKyAgJygoP1woIC4gP1wpKQorICAgICg/ XFsgLiA/XF0pCisgICAgKD9cPCAuID9cPikKKyAgICAoP1x7IC4gP1x9KQorICAgICg/XCcg LiA/XCcpCisgICAgKD9cIiAuID9cIikKKyAgICAoPy8gIC4gPy8pCisgICAgKD98ICAuID98 KSkKKyAgIkEgbGlzdCBvZiBkZWxpbWl0ZXIgcGFpcnMgdGhhdCBjYW4gYmUgdXNlZCBpbiBh cmd1bWVudCBwcmVkaWNhdGVzL21vZGlmaWVycy4KK0VhY2ggZWxlbWVudCBpcyBvZiB0aGUg Zm9ybSAoT1BFTiAuIENMT1NFKSwgd2hlcmUgT1BFTiBhbmQgQ0xPU0UKK2FyZSBjaGFyYWN0 ZXJzIHJlcHJlc2VudGluZyB0aGUgb3BlbmluZyBhbmQgY2xvc2luZyBkZWxpbWl0ZXIsCity ZXNwZWN0aXZlbHkuIikKKwogKGRlZnZhci1rZXltYXAgZXNoZWxsLXByZWQtbW9kZS1tYXAK ICAgIkMtYyBNLXEiICMnZXNoZWxsLWRpc3BsYXktcHJlZGljYXRlLWhlbHAKICAgIkMtYyBN LW0iICMnZXNoZWxsLWRpc3BsYXktbW9kaWZpZXItaGVscCkKQEAgLTM2NCwzOCArMzc4LDY4 IEBAIGVzaGVsbC1hZGQtcHJlZC1mdW5jCiAgICAgICAgICAgICAgICAgIChsYW1iZGEgKGZp bGUpIChmdW5jYWxsIHByZWQgKGZpbGUtdHJ1ZW5hbWUgZmlsZSkpKSkpKQogICAoY29ucyBw cmVkIGZ1bmNzKSkKIAorKGRlZnVuIGVzaGVsbC1nZXQtY29tcGFyaXNvbi1tb2RpZmllci1h cmd1bWVudCAoJm9wdGlvbmFsIGZ1bmN0aW9ucykKKyAgIlN0YXJ0aW5nIGF0IHBvaW50LCBn ZXQgdGhlIGNvbXBhcmlzb24gbW9kaWZpZXIgYXJndW1lbnQsIGlmIGFueS4KK1RoZXNlIGFy ZSB0aGUgLS8rIGNoYXJhY3RlcnMsIGNvcnJlc3BvbmRpbmcgdG8gYDwnIGFuZCBgPicsCity ZXNwZWN0aXZlbHkuICBJZiBubyBjb21wYXJpc29uIG1vZGlmaWVyIGlzIGF0IHBvaW50LCBy ZXR1cm4gYD0nLgorCitGVU5DVElPTlMsIGlmIG5vbi1uaWwsIGlzIGEgbGlzdCBvZiBjb21w YXJpc29uIGZ1bmN0aW9ucywKK3NwZWNpZmllZCBhcyAoTEVTUy1USEFOIEdSRUFURVItVEhB TiBFUVVBTC1UTykuIgorICAobGV0ICgoZnVuY3Rpb25zIChvciBmdW5jdGlvbnMgKGxpc3Qg Iyc8ICMnPiAjJz0pKSkpCisgICAgKGlmIChtZW1xIChjaGFyLWFmdGVyKSAnKD8tID8rKSkK KyAgICAgICAgKHByb2cxCisgICAgICAgICAgICAoaWYgKGVxIChjaGFyLWFmdGVyKSA/LSkg KG50aCAwIGZ1bmN0aW9ucykgKG50aCAxIGZ1bmN0aW9ucykpCisgICAgICAgICAgKGZvcndh cmQtY2hhcikpCisgICAgICAobnRoIDIgZnVuY3Rpb25zKSkpKQorCisoZGVmdW4gZXNoZWxs LWdldC1udW1lcmljLW1vZGlmaWVyLWFyZ3VtZW50ICgpCisgICJTdGFydGluZyBhdCBwb2lu dCwgZ2V0IHRoZSBudW1lcmljIG1vZGlmaWVyIGFyZ3VtZW50LCBpZiBhbnkuCitJZiBhIG51 bWJlciBpcyBmb3VuZCwgdXBkYXRlIHBvaW50IHRvIGp1c3QgYWZ0ZXIgdGhlIG51bWJlci4i CisgICh3aGVuIChsb29raW5nLWF0ICJbMC05XSsiKQorICAgIChwcm9nMQorCShzdHJpbmct dG8tbnVtYmVyIChtYXRjaC1zdHJpbmcgMCkpCisgICAgICAoZ290by1jaGFyIChtYXRjaC1l bmQgMCkpKSkpCisKKyhkZWZ1biBlc2hlbGwtZ2V0LWRlbGltaXRlZC1tb2RpZmllci1hcmd1 bWVudCAoJm9wdGlvbmFsIGNoYWluZWQtcCkKKyAgIlN0YXJ0aW5nIGF0IHBvaW50LCBnZXQg dGhlIGRlbGltaXRlZCBtb2RpZmllciBhcmd1bWVudCwgaWYgYW55LgorSWYgdGhlIGNoYXJh Y3RlciBhZnRlciBwb2ludCBpcyBhIHByZWRpY2F0ZS9tb2RpZmllcgorZGVsaW1pdGVyIChz ZWUgYGVzaGVsbC1wcmVkLWRlbGltaXRlci1wYWlycycsIHJlYWQgdGhlIHZhbHVlIG9mCit0 aGUgYXJndW1lbnQgYW5kIHVwZGF0ZSBwb2ludCB0byBiZSBqdXN0IGFmdGVyIHRoZSBjbG9z aW5nCitkZWxpbWl0ZXIuCisKK0lmIENIQUlORUQtUCBpcyB0cnVlLCB0aGVuIGFub3RoZXIg ZGVsaW1pdGVkIG1vZGlmaWVyIGFyZ3VtZW50Cit3aWxsIGltbWVkaWF0ZWx5IGZvbGxvdyB0 aGlzIG9uZS4gIEluIHRoaXMgY2FzZSwgd2hlbiB0aGUgb3BlbmluZworYW5kIGNsb3Npbmcg ZGVsaW1pdGVycyBhcmUgdGhlIHNhbWUsIHVwZGF0ZSBwb2ludCB0byBiZSBqdXN0CitiZWZv cmUgdGhlIGNsb3NpbmcgZGVsaW1pdGVyLiBUaGlzIGFsbG93cyBtb2RpZmllcnMgbGlrZQor YDpzL21hdGNoL3JlcGwnIHRvIHdvcmsgYXMgZXhwZWN0ZWQuIgorICAod2hlbi1sZXQqICgo b3BlbiAoY2hhci1hZnRlcikpCisgICAgICAgICAgICAgIChjbG9zZSAoY2RyIChhc3NvYyBv cGVuIGVzaGVsbC1wcmVkLWRlbGltaXRlci1wYWlycykpKQorICAgICAgICAgICAgICAoZW5k IChlc2hlbGwtZmluZC1kZWxpbWl0ZXIgb3BlbiBjbG9zZSBuaWwgbmlsIHQpKSkKKyAgICAo cHJvZzEKKyAgICAgICAgKGJ1ZmZlci1zdWJzdHJpbmctbm8tcHJvcGVydGllcyAoMSsgKHBv aW50KSkgZW5kKQorICAgICAgKGdvdG8tY2hhciAoaWYgKGFuZCBjaGFpbmVkLXAgKGVxIG9w ZW4gY2xvc2UpKQorICAgICAgICAgICAgICAgICAgICAgZW5kCisgICAgICAgICAgICAgICAg ICAgKDErIGVuZCkpKSkpKQorCiAoZGVmdW4gZXNoZWxsLXByZWQtdXNlci1vci1ncm91cCAo bW9kLWNoYXIgbW9kLXR5cGUgYXR0ci1pbmRleCBnZXQtaWQtZnVuYykKICAgIlJldHVybiBh IHByZWRpY2F0ZSB0byB0ZXN0IHdoZXRoZXIgYSBmaWxlIG1hdGNoIGEgZ2l2ZW4gdXNlci9n cm91cCBpZC4iCi0gIChsZXQgKHVnaWQgb3BlbiBjbG9zZSBlbmQpCi0gICAgKGlmIChsb29r aW5nLWF0ICJbMC05XSsiKQotCShwcm9nbgotCSAgKHNldHEgdWdpZCAoc3RyaW5nLXRvLW51 bWJlciAobWF0Y2gtc3RyaW5nIDApKSkKLQkgIChnb3RvLWNoYXIgKG1hdGNoLWVuZCAwKSkp Ci0gICAgICAoc2V0cSBvcGVuIChjaGFyLWFmdGVyKSkKLSAgICAgIChpZiAoc2V0cSBjbG9z ZSAobWVtcSBvcGVuICcoP1woID9cWyA/XDwgP1x7KSkpCi0JICAoc2V0cSBjbG9zZSAoY2Fy IChsYXN0ICcoP1wpID9cXSA/XD4gP1x9KQotCQkJCSAobGVuZ3RoIGNsb3NlKSkpKQotCShz ZXRxIGNsb3NlIG9wZW4pKQotICAgICAgKGZvcndhcmQtY2hhcikKLSAgICAgIChzZXRxIGVu ZCAoZXNoZWxsLWZpbmQtZGVsaW1pdGVyIG9wZW4gY2xvc2UpKQotICAgICAgKHVubGVzcyBl bmQKLQkoZXJyb3IgIk1hbGZvcm1lZCAlcyBuYW1lIHN0cmluZyBmb3IgbW9kaWZpZXIgYCVj JyIKLQkgICAgICAgbW9kLXR5cGUgbW9kLWNoYXIpKQotICAgICAgKHNldHEgdWdpZAotCSAg ICAoZnVuY2FsbCBnZXQtaWQtZnVuYyAoYnVmZmVyLXN1YnN0cmluZyAocG9pbnQpIGVuZCkp KQotICAgICAgKGdvdG8tY2hhciAoMSsgZW5kKSkpCisgIChsZXQgKCh1Z2lkIChlc2hlbGwt Z2V0LW51bWVyaWMtbW9kaWZpZXItYXJndW1lbnQpKSkKKyAgICAodW5sZXNzIHVnaWQKKyAg ICAgIChsZXQgKCh1Z25hbWUgKG9yIChlc2hlbGwtZ2V0LWRlbGltaXRlZC1tb2RpZmllci1h cmd1bWVudCkKKyAgICAgICAgICAgICAgICAgICAgICAgIChlcnJvciAiTWFsZm9ybWVkICVz IG5hbWUgc3RyaW5nIGZvciBtb2RpZmllciBgJWMnIgorICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIG1vZC10eXBlIG1vZC1jaGFyKSkpKQorICAgICAgICAoc2V0cSB1Z2lkIChm dW5jYWxsIGdldC1pZC1mdW5jIHVnbmFtZSkpKSkKICAgICAodW5sZXNzIHVnaWQKICAgICAg IChlcnJvciAiVW5rbm93biAlcyBuYW1lIHNwZWNpZmllZCBmb3IgbW9kaWZpZXIgYCVjJyIK IAkgICAgIG1vZC10eXBlIG1vZC1jaGFyKSkKICAgICAobGFtYmRhIChmaWxlKQotICAgICAg KGxldCAoKGF0dHJzIChmaWxlLWF0dHJpYnV0ZXMgZmlsZSkpKQotCShpZiBhdHRycwotCSAg ICAoPSAobnRoIGF0dHItaW5kZXggYXR0cnMpIHVnaWQpKSkpKSkKKyAgICAgICh3aGVuLWxl dCAoKGF0dHJzIChmaWxlLWF0dHJpYnV0ZXMgZmlsZSkpKQorCSg9IChudGggYXR0ci1pbmRl eCBhdHRycykgdWdpZCkpKSkpCiAKIChkZWZ1biBlc2hlbGwtcHJlZC1maWxlLXRpbWUgKG1v ZC1jaGFyIG1vZC10eXBlIGF0dHItaW5kZXgpCiAgICJSZXR1cm4gYSBwcmVkaWNhdGUgdG8g dGVzdCB3aGV0aGVyIGEgZmlsZSBtYXRjaGVzIGEgY2VydGFpbiB0aW1lLiIKICAgKGxldCog KChxdWFudHVtIDg2NDAwKQotCSBxdWFsIHdoZW4gb3BlbiBjbG9zZSBlbmQpCisJIHF1YWwg d2hlbikKICAgICAod2hlbiAobWVtcSAoY2hhci1hZnRlcikgJyg/TSA/dyA/aCA/bSA/cykp CiAgICAgICAoc2V0cSBxdWFudHVtIChjaGFyLWFmdGVyKSkKICAgICAgIChjb25kCkBAIC00 MTAsMzYgKzQ1NCwyMSBAQCBlc2hlbGwtcHJlZC1maWxlLXRpbWUKICAgICAgICAoKGVxIHF1 YW50dW0gP3MpCiAJKHNldHEgcXVhbnR1bSAxKSkpCiAgICAgICAoZm9yd2FyZC1jaGFyKSkK LSAgICAod2hlbiAobWVtcSAoY2hhci1hZnRlcikgJyg/KyA/LSkpCi0gICAgICAoc2V0cSBx dWFsIChjaGFyLWFmdGVyKSkKLSAgICAgIChmb3J3YXJkLWNoYXIpKQotICAgIChpZiAobG9v a2luZy1hdCAiWzAtOV0rIikKLQkocHJvZ24KLQkgIChzZXRxIHdoZW4gKHRpbWUtc2luY2Ug KCogKHN0cmluZy10by1udW1iZXIgKG1hdGNoLXN0cmluZyAwKSkKLQkJCQkgICAgcXVhbnR1 bSkpKQotCSAgKGdvdG8tY2hhciAobWF0Y2gtZW5kIDApKSkKLSAgICAgIChzZXRxIG9wZW4g KGNoYXItYWZ0ZXIpKQotICAgICAgKGlmIChzZXRxIGNsb3NlIChtZW1xIG9wZW4gJyg/XCgg P1xbID9cPCA/XHspKSkKLQkgIChzZXRxIGNsb3NlIChjYXIgKGxhc3QgJyg/XCkgP1xdID9c PiA/XH0pCi0JCQkJIChsZW5ndGggY2xvc2UpKSkpCi0JKHNldHEgY2xvc2Ugb3BlbikpCi0g ICAgICAoZm9yd2FyZC1jaGFyKQotICAgICAgKHNldHEgZW5kIChlc2hlbGwtZmluZC1kZWxp bWl0ZXIgb3BlbiBjbG9zZSkpCi0gICAgICAodW5sZXNzIGVuZAotCShlcnJvciAiTWFsZm9y bWVkICVzIHRpbWUgbW9kaWZpZXIgYCVjJyIgbW9kLXR5cGUgbW9kLWNoYXIpKQotICAgICAg KGxldCogKChmaWxlIChidWZmZXItc3Vic3RyaW5nIChwb2ludCkgZW5kKSkKLQkgICAgIChh dHRycyAoZmlsZS1hdHRyaWJ1dGVzIGZpbGUpKSkKLQkodW5sZXNzIGF0dHJzCi0JICAoZXJy b3IgIkNhbm5vdCBzdGF0IGZpbGUgYCVzJyIgZmlsZSkpCi0JKHNldHEgd2hlbiAobnRoIGF0 dHItaW5kZXggYXR0cnMpKSkKLSAgICAgIChnb3RvLWNoYXIgKDErIGVuZCkpKQotICAgIChs ZXQgKChmIChjb25kICgoZXEgcXVhbCA/LSkgIyd0aW1lLWxlc3MtcCkKLSAgICAgICAgICAg ICAgICAgICAgICgoZXEgcXVhbCA/KykgKGxhbWJkYSAoYSBiKSAodGltZS1sZXNzLXAgYiBh KSkpCi0gICAgICAgICAgICAgICAgICAgICAoIyd0aW1lLWVxdWFsLXApKSkpCi0gICAgICAo bGFtYmRhIChmaWxlKQotCShsZXQgKChhdHRycyAoZmlsZS1hdHRyaWJ1dGVzIGZpbGUpKSkK LQkgIChpZiBhdHRycwotICAgICAgICAgICAgICAoZnVuY2FsbCBmIHdoZW4gKG50aCBhdHRy LWluZGV4IGF0dHJzKSkpKSkpKSkKKyAgICAoc2V0cSBxdWFsIChlc2hlbGwtZ2V0LWNvbXBh cmlzb24tbW9kaWZpZXItYXJndW1lbnQKKyAgICAgICAgICAgICAgICAobGlzdCAjJ3RpbWUt bGVzcy1wCisgICAgICAgICAgICAgICAgICAgICAgKGxhbWJkYSAoYSBiKSAodGltZS1sZXNz LXAgYiBhKSkKKyAgICAgICAgICAgICAgICAgICAgICAjJ3RpbWUtZXF1YWwtcCkpKQorICAg IChpZi1sZXQgKChudW1iZXIgKGVzaGVsbC1nZXQtbnVtZXJpYy1tb2RpZmllci1hcmd1bWVu dCkpKQorICAgICAgICAoc2V0cSB3aGVuICh0aW1lLXNpbmNlICgqIG51bWJlciBxdWFudHVt KSkpCisgICAgICAobGV0KiAoKGZpbGUgKG9yIChlc2hlbGwtZ2V0LWRlbGltaXRlZC1tb2Rp Zmllci1hcmd1bWVudCkKKyAgICAgICAgICAgICAgICAgICAgICAgKGVycm9yICJNYWxmb3Jt ZWQgJXMgdGltZSBtb2RpZmllciBgJWMnIgorICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgbW9kLXR5cGUgbW9kLWNoYXIpKSkKKyAgICAgICAgICAgICAoYXR0cnMgKG9yIChmaWxl LWF0dHJpYnV0ZXMgZmlsZSkKKyAgICAgICAgICAgICAgICAgICAgICAgIChlcnJvciAiQ2Fu bm90IHN0YXQgZmlsZSBgJXMnIiBmaWxlKSkpKQorICAgICAgICAoc2V0cSB3aGVuIChudGgg YXR0ci1pbmRleCBhdHRycykpKSkKKyAgICAobGFtYmRhIChmaWxlKQorICAgICAgKHdoZW4t bGV0ICgoYXR0cnMgKGZpbGUtYXR0cmlidXRlcyBmaWxlKSkpCisgICAgICAgIChmdW5jYWxs IHF1YWwgd2hlbiAobnRoIGF0dHItaW5kZXggYXR0cnMpKSkpKSkKIAogKGRlZnVuIGVzaGVs bC1wcmVkLWZpbGUtdHlwZSAodHlwZSkKICAgIlJldHVybiBhIHRlc3Qgd2hpY2ggdGVzdHMg dGhhdCB0aGUgZmlsZSBpcyBvZiBhIGNlcnRhaW4gVFlQRS4KQEAgLTQ1NCwzNiArNDgzLDIz IEBAIGVzaGVsbC1wcmVkLWZpbGUtdHlwZQogCQkgJyg/YiA/YykKIAkgICAgICAgKGxpc3Qg dHlwZSkpKSkKICAgICAobGFtYmRhIChmaWxlKQotICAgICAgKGxldCAoKGF0dHJzIChlc2hl bGwtZmlsZS1hdHRyaWJ1dGVzIChkaXJlY3RvcnktZmlsZS1uYW1lIGZpbGUpKSkpCi0JKGlm IGF0dHJzCi0JICAgIChtZW1xIChhcmVmIChmaWxlLWF0dHJpYnV0ZS1tb2RlcyBhdHRycykg MCkgc2V0KSkpKSkpCisgICAgICAod2hlbi1sZXQgKChhdHRycyAoZXNoZWxsLWZpbGUtYXR0 cmlidXRlcyAoZGlyZWN0b3J5LWZpbGUtbmFtZSBmaWxlKSkpKQorCShtZW1xIChhcmVmIChm aWxlLWF0dHJpYnV0ZS1tb2RlcyBhdHRycykgMCkgc2V0KSkpKSkKIAogKGRlZnN1YnN0IGVz aGVsbC1wcmVkLWZpbGUtbW9kZSAobW9kZSkKICAgIlJldHVybiBhIHRlc3Qgd2hpY2ggdGVz dHMgdGhhdCBNT0RFIHBlcnRhaW5zIHRvIHRoZSBmaWxlLiIKICAgKGxhbWJkYSAoZmlsZSkK LSAgICAobGV0ICgobW9kZXMgKGZpbGUtbW9kZXMgZmlsZSAnbm9mb2xsb3cpKSkKLSAgICAg IChpZiBtb2RlcwotCSAgKG5vdCAoemVyb3AgKGxvZ2FuZCBtb2RlIG1vZGVzKSkpKSkpKQor ICAgICh3aGVuLWxldCAoKG1vZGVzIChmaWxlLW1vZGVzIGZpbGUgJ25vZm9sbG93KSkpCisg ICAgICAobm90ICh6ZXJvcCAobG9nYW5kIG1vZGUgbW9kZXMpKSkpKSkKIAogKGRlZnVuIGVz aGVsbC1wcmVkLWZpbGUtbGlua3MgKCkKICAgIlJldHVybiBhIHByZWRpY2F0ZSB0byB0ZXN0 IHdoZXRoZXIgYSBmaWxlIGhhcyBhIGdpdmVuIG51bWJlciBvZiBsaW5rcy4iCi0gIChsZXQg KHF1YWwgYW1vdW50KQotICAgICh3aGVuIChtZW1xIChjaGFyLWFmdGVyKSAnKD8tID8rKSkK LSAgICAgIChzZXRxIHF1YWwgKGNoYXItYWZ0ZXIpKQotICAgICAgKGZvcndhcmQtY2hhcikp Ci0gICAgKHVubGVzcyAobG9va2luZy1hdCAiWzAtOV0rIikKLSAgICAgIChlcnJvciAiSW52 YWxpZCBmaWxlIGxpbmsgY291bnQgbW9kaWZpZXIgYGwnIikpCi0gICAgKHNldHEgYW1vdW50 IChzdHJpbmctdG8tbnVtYmVyIChtYXRjaC1zdHJpbmcgMCkpKQotICAgIChnb3RvLWNoYXIg KG1hdGNoLWVuZCAwKSkKLSAgICAobGV0ICgoZiAoaWYgKGVxIHF1YWwgPy0pCi0JCSAjJzwK LQkgICAgICAgKGlmIChlcSBxdWFsID8rKQotCQkgICAjJz4KLQkJICMnPSkpKSkKLSAgICAg IChsYW1iZGEgKGZpbGUpCi0JKGxldCAoKGF0dHJzIChlc2hlbGwtZmlsZS1hdHRyaWJ1dGVz IGZpbGUpKSkKLQkgIChpZiBhdHRycwotCSAgICAgIChmdW5jYWxsIGYgKGZpbGUtYXR0cmli dXRlLWxpbmstbnVtYmVyIGF0dHJzKSBhbW91bnQpKSkpKSkpCisgIChsZXQgKChxdWFsIChl c2hlbGwtZ2V0LWNvbXBhcmlzb24tbW9kaWZpZXItYXJndW1lbnQpKQorICAgICAgICAoYW1v dW50IChvciAoZXNoZWxsLWdldC1udW1lcmljLW1vZGlmaWVyLWFyZ3VtZW50KQorICAgICAg ICAgICAgICAgICAgICAoZXJyb3IgIkludmFsaWQgZmlsZSBsaW5rIGNvdW50IG1vZGlmaWVy IGBsJyIpKSkpCisgICAgKGxhbWJkYSAoZmlsZSkKKyAgICAgICh3aGVuLWxldCAoKGF0dHJz IChlc2hlbGwtZmlsZS1hdHRyaWJ1dGVzIGZpbGUpKSkKKwkgIChmdW5jYWxsIHF1YWwgKGZp bGUtYXR0cmlidXRlLWxpbmstbnVtYmVyIGF0dHJzKSBhbW91bnQpKSkpKQogCiAoZGVmdW4g ZXNoZWxsLXByZWQtZmlsZS1zaXplICgpCiAgICJSZXR1cm4gYSBwcmVkaWNhdGUgdG8gdGVz dCB3aGV0aGVyIGEgZmlsZSBpcyBvZiBhIGdpdmVuIHNpemUuIgpAQCAtNDk4LDg1ICs1MTQs NTIgQEAgZXNoZWxsLXByZWQtZmlsZS1zaXplCiAgICAgICAgKChlcSBxdWFsID9wKQogCShz ZXRxIHF1YW50dW0gNTEyKSkpCiAgICAgICAoZm9yd2FyZC1jaGFyKSkKLSAgICAod2hlbiAo bWVtcSAoY2hhci1hZnRlcikgJyg/LSA/KykpCi0gICAgICAoc2V0cSBxdWFsIChjaGFyLWFm dGVyKSkKLSAgICAgIChmb3J3YXJkLWNoYXIpKQotICAgICh1bmxlc3MgKGxvb2tpbmctYXQg IlswLTldKyIpCi0gICAgICAoZXJyb3IgIkludmFsaWQgZmlsZSBzaXplIG1vZGlmaWVyIGBM JyIpKQotICAgIChzZXRxIGFtb3VudCAoKiAoc3RyaW5nLXRvLW51bWJlciAobWF0Y2gtc3Ry aW5nIDApKSBxdWFudHVtKSkKLSAgICAoZ290by1jaGFyIChtYXRjaC1lbmQgMCkpCi0gICAg KGxldCAoKGYgKGlmIChlcSBxdWFsID8tKQotCQkgIyc8Ci0JICAgICAgIChpZiAoZXEgcXVh bCA/KykKLQkJICAgIyc+Ci0JCSAjJz0pKSkpCi0gICAgICAobGFtYmRhIChmaWxlKQotCShs ZXQgKChhdHRycyAoZXNoZWxsLWZpbGUtYXR0cmlidXRlcyBmaWxlKSkpCi0JICAoaWYgYXR0 cnMKLQkgICAgICAoZnVuY2FsbCBmIChmaWxlLWF0dHJpYnV0ZS1zaXplIGF0dHJzKSBhbW91 bnQpKSkpKSkpCisgICAgKHNldHEgcXVhbCAoZXNoZWxsLWdldC1jb21wYXJpc29uLW1vZGlm aWVyLWFyZ3VtZW50KSkKKyAgICAoc2V0cSBhbW91bnQgKCogKG9yIChlc2hlbGwtZ2V0LW51 bWVyaWMtbW9kaWZpZXItYXJndW1lbnQpCisgICAgICAgICAgICAgICAgICAgICAgICAoZXJy b3IgIkludmFsaWQgZmlsZSBzaXplIG1vZGlmaWVyIGBMJyIpKQorICAgICAgICAgICAgICAg ICAgICBxdWFudHVtKSkKKyAgICAobGFtYmRhIChmaWxlKQorICAgICAgKHdoZW4tbGV0ICgo YXR0cnMgKGVzaGVsbC1maWxlLWF0dHJpYnV0ZXMgZmlsZSkpKQorCShmdW5jYWxsIHF1YWwg KGZpbGUtYXR0cmlidXRlLXNpemUgYXR0cnMpIGFtb3VudCkpKSkpCiAKIChkZWZ1biBlc2hl bGwtcHJlZC1zdWJzdGl0dXRlICgmb3B0aW9uYWwgcmVwZWF0KQogICAiUmV0dXJuIGEgbW9k aWZpZXIgZnVuY3Rpb24gdGhhdCB3aWxsIHN1YnN0aXR1dGUgbWF0Y2hlcy4iCi0gIChsZXQg KChkZWxpbSAoY2hhci1hZnRlcikpCi0JbWF0Y2ggcmVwbGFjZSBlbmQpCi0gICAgKGZvcndh cmQtY2hhcikKLSAgICAoc2V0cSBlbmQgKGVzaGVsbC1maW5kLWRlbGltaXRlciBkZWxpbSBk ZWxpbSBuaWwgbmlsIHQpCi0JICBtYXRjaCAoYnVmZmVyLXN1YnN0cmluZy1uby1wcm9wZXJ0 aWVzIChwb2ludCkgZW5kKSkKLSAgICAoZ290by1jaGFyICgxKyBlbmQpKQotICAgIChzZXRx IGVuZCAoZXNoZWxsLWZpbmQtZGVsaW1pdGVyIGRlbGltIGRlbGltIG5pbCBuaWwgdCkKLQkg IHJlcGxhY2UgKGJ1ZmZlci1zdWJzdHJpbmctbm8tcHJvcGVydGllcyAocG9pbnQpIGVuZCkp Ci0gICAgKGdvdG8tY2hhciAoMSsgZW5kKSkKLSAgICAoaWYgcmVwZWF0Ci0JKGxhbWJkYSAo bHN0KQotCSAgKG1hcGNhcgotICAgICAgICAgICAobGFtYmRhIChzdHIpCi0gICAgICAgICAg ICAgKHJlcGxhY2UtcmVnZXhwLWluLXN0cmluZyBtYXRjaCByZXBsYWNlIHN0ciB0KSkKLSAg ICAgICAgICAgbHN0KSkKLSAgICAgIChsYW1iZGEgKGxzdCkKLQkobWFwY2FyCi0gICAgICAg ICAobGFtYmRhIChzdHIpCi0gICAgICAgICAgIChpZiAoc3RyaW5nLW1hdGNoIG1hdGNoIHN0 cikKLSAgICAgICAgICAgICAgIChyZXBsYWNlLW1hdGNoIHJlcGxhY2UgdCBuaWwgc3RyKQot ICAgICAgICAgICAgIChlcnJvciAoY29uY2F0IHN0ciAiOiBzdWJzdGl0dXRpb24gZmFpbGVk IikpKSkKLSAgICAgICAgIGxzdCkpKSkpCi0KLShkZWZ1biBlc2hlbGwtaW5jbHVkZS1tZW1i ZXJzICgmb3B0aW9uYWwgaW52ZXJ0LXApCi0gICJJbmNsdWRlIG9ubHkgTGlzcCBtZW1iZXJz IG1hdGNoaW5nIGEgcmVnZXhwLiIKLSAgKGxldCAoKGRlbGltIChjaGFyLWFmdGVyKSkKLQly ZWdleHAgZW5kKQotICAgIChmb3J3YXJkLWNoYXIpCi0gICAgKHNldHEgZW5kIChlc2hlbGwt ZmluZC1kZWxpbWl0ZXIgZGVsaW0gZGVsaW0gbmlsIG5pbCB0KQotCSAgcmVnZXhwIChidWZm ZXItc3Vic3RyaW5nLW5vLXByb3BlcnRpZXMgKHBvaW50KSBlbmQpKQotICAgIChnb3RvLWNo YXIgKDErIGVuZCkpCi0gICAgKGxldCAoKHByZWRpY2F0ZXMKLQkgICAobGlzdCAoaWYgaW52 ZXJ0LXAKLQkJICAgICAobGFtYmRhIChlbGVtKSAobm90IChzdHJpbmctbWF0Y2ggcmVnZXhw IGVsZW0pKSkKLQkJICAgKGxhbWJkYSAoZWxlbSkgKHN0cmluZy1tYXRjaCByZWdleHAgZWxl bSkpKSkpKQotICAgICAgKGxhbWJkYSAobHN0KQotCShlc2hlbGwtd2lubm93LWxpc3QgbHN0 IG5pbCBwcmVkaWNhdGVzKSkpKSkKKyAgKGxldCogKChtYXRjaCAob3IgKGVzaGVsbC1nZXQt ZGVsaW1pdGVkLW1vZGlmaWVyLWFyZ3VtZW50IHQpCisgICAgICAgICAgICAgICAgICAgIChl cnJvciAiTWFsZm9ybWVkIHBhdHRlcm4gc3RyaW5nIGZvciBtb2RpZmllciBgcyciKSkpCisg ICAgICAgICAocmVwbGFjZSAob3IgKGVzaGVsbC1nZXQtZGVsaW1pdGVkLW1vZGlmaWVyLWFy Z3VtZW50KQorICAgICAgICAgICAgICAgICAgICAgIChlcnJvciAiTWFsZm9ybWVkIHJlcGxh Y2Ugc3RyaW5nIGZvciBtb2RpZmllciBgcyciKSkpCisgICAgICAgICAoZnVuY3Rpb24gKGlm IHJlcGVhdAorICAgICAgICAgICAgICAgICAgICAgICAobGFtYmRhIChzdHIpCisgICAgICAg ICAgICAgICAgICAgICAgICAgKHJlcGxhY2UtcmVnZXhwLWluLXN0cmluZyBtYXRjaCByZXBs YWNlIHN0ciB0KSkKKyAgICAgICAgICAgICAgICAgICAgIChsYW1iZGEgKHN0cikKKyAgICAg ICAgICAgICAgICAgICAgICAgKGlmIChzdHJpbmctbWF0Y2ggbWF0Y2ggc3RyKQorICAgICAg ICAgICAgICAgICAgICAgICAgICAgKHJlcGxhY2UtbWF0Y2ggcmVwbGFjZSB0IG5pbCBzdHIp CisgICAgICAgICAgICAgICAgICAgICAgICAgKGVycm9yIChjb25jYXQgc3RyICI6IHN1YnN0 aXR1dGlvbiBmYWlsZWQiKSkpKSkpKQorICAgIChsYW1iZGEgKGxzdCkgKG1hcGNhciBmdW5j dGlvbiBsc3QpKSkpCisKKyhkZWZ1biBlc2hlbGwtaW5jbHVkZS1tZW1iZXJzIChtb2QtY2hh ciAmb3B0aW9uYWwgaW52ZXJ0LXApCisgICJJbmNsdWRlIG9ubHkgTGlzcCBtZW1iZXJzIG1h dGNoaW5nIGEgcmVnZXhwLgorSWYgSU5WRVJULVAgaXMgbm9uLW5pbCwgaW5jbHVkZSBvbmx5 IG1lbWJlcnMgbm90IG1hdGNoaW5nIGEgcmVnZXhwLiIKKyAgKGxldCogKChyZWdleHAgKG9y IChlc2hlbGwtZ2V0LWRlbGltaXRlZC1tb2RpZmllci1hcmd1bWVudCkKKyAgICAgICAgICAg ICAgICAgICAgIChlcnJvciAiTWFsZm9ybWVkIHBhdHRlcm4gc3RyaW5nIGZvciBtb2RpZmll ciBgJWMnIgorICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1vZC1jaGFyKSkpCisgICAg ICAgICAocHJlZGljYXRlcworCSAgKGxpc3QgKGlmIGludmVydC1wCisJCSAgICAobGFtYmRh IChlbGVtKSAobm90IChzdHJpbmctbWF0Y2ggcmVnZXhwIGVsZW0pKSkKKwkJICAobGFtYmRh IChlbGVtKSAoc3RyaW5nLW1hdGNoIHJlZ2V4cCBlbGVtKSkpKSkpCisgICAgKGxhbWJkYSAo bHN0KQorICAgICAgKGVzaGVsbC13aW5ub3ctbGlzdCBsc3QgbmlsIHByZWRpY2F0ZXMpKSkp CiAKIChkZWZ1biBlc2hlbGwtam9pbi1tZW1iZXJzICgpCiAgICJSZXR1cm4gYSBtb2RpZmll ciBmdW5jdGlvbiB0aGF0IGpvaW4gbWF0Y2hlcy4iCi0gIChsZXQgKChkZWxpbSAoY2hhci1h ZnRlcikpCi0Jc3RyIGVuZCkKLSAgICAoaWYgKG5vdCAobWVtcSBkZWxpbSAnKD8nID8vKSkp Ci0JKHNldHEgc3RyICIgIikKLSAgICAgIChmb3J3YXJkLWNoYXIpCi0gICAgICAoc2V0cSBl bmQgKGVzaGVsbC1maW5kLWRlbGltaXRlciBkZWxpbSBkZWxpbSBuaWwgbmlsIHQpCi0JICAg IHN0ciAoYnVmZmVyLXN1YnN0cmluZy1uby1wcm9wZXJ0aWVzIChwb2ludCkgZW5kKSkKLSAg ICAgIChnb3RvLWNoYXIgKDErIGVuZCkpKQorICAobGV0ICgoc3RyIChvciAoZXNoZWxsLWdl dC1kZWxpbWl0ZWQtbW9kaWZpZXItYXJndW1lbnQpCisgICAgICAgICAgICAgICAgICIgIikp KQogICAgIChsYW1iZGEgKGxzdCkKICAgICAgIChtYXBjb25jYXQgIydpZGVudGl0eSBsc3Qg c3RyKSkpKQogCiAoZGVmdW4gZXNoZWxsLXNwbGl0LW1lbWJlcnMgKCkKICAgIlJldHVybiBh IG1vZGlmaWVyIGZ1bmN0aW9uIHRoYXQgc3BsaXRzIG1lbWJlcnMuIgotICAobGV0ICgoZGVs aW0gKGNoYXItYWZ0ZXIpKQotCXNlcCBlbmQpCi0gICAgKHdoZW4gKG1lbXEgZGVsaW0gJyg/ JyA/LykpCi0gICAgICAoZm9yd2FyZC1jaGFyKQotICAgICAgKHNldHEgZW5kIChlc2hlbGwt ZmluZC1kZWxpbWl0ZXIgZGVsaW0gZGVsaW0gbmlsIG5pbCB0KQotCSAgICBzZXAgKGJ1ZmZl ci1zdWJzdHJpbmctbm8tcHJvcGVydGllcyAocG9pbnQpIGVuZCkpCi0gICAgICAoZ290by1j aGFyICgxKyBlbmQpKSkKKyAgKGxldCAoKHNlcCAoZXNoZWxsLWdldC1kZWxpbWl0ZWQtbW9k aWZpZXItYXJndW1lbnQpKSkKICAgICAobGFtYmRhIChsc3QpCiAgICAgICAobWFwY2FyCiAg ICAgICAgKGxhbWJkYSAoc3RyKQpkaWZmIC0tZ2l0IGEvdGVzdC9saXNwL2VzaGVsbC9lbS1w cmVkLXRlc3RzLmVsIGIvdGVzdC9saXNwL2VzaGVsbC9lbS1wcmVkLXRlc3RzLmVsCmluZGV4 IDdmODhhYzQ0NzUuLjRkMmFmMzkyOTIgMTAwNjQ0Ci0tLSBhL3Rlc3QvbGlzcC9lc2hlbGwv ZW0tcHJlZC10ZXN0cy5lbAorKysgYi90ZXN0L2xpc3AvZXNoZWxsL2VtLXByZWQtdGVzdHMu ZWwKQEAgLTI2LDYgKzI2LDcgQEAKIChyZXF1aXJlICdlcnQpCiAocmVxdWlyZSAnZXNoLW1v ZGUpCiAocmVxdWlyZSAnZXNoZWxsKQorKHJlcXVpcmUgJ2VtLXByZWQpCiAKIChyZXF1aXJl ICdlc2hlbGwtdGVzdHMtaGVscGVycwogICAgICAgICAgKGV4cGFuZC1maWxlLW5hbWUgImVz aGVsbC10ZXN0cy1oZWxwZXJzIgpAQCAtMjU0LDggKzI1NSw2IEBAIGVtLXByZWQtdGVzdC9w cmVkaWNhdGUtdWlkCiAgICAgICAoY2wtbGV0ZiAoKChzeW1ib2wtZnVuY3Rpb24gJ2VzaGVs bC11c2VyLWlkKQogICAgICAgICAgICAgICAgICAobGFtYmRhIChuYW1lKSAoc2VxLXBvc2l0 aW9uIHVzZXItbmFtZXMgbmFtZSkpKSkKICAgICAgICAgKHNob3VsZCAoZXF1YWwgKGVzaGVs bC1ldmFsLXByZWRpY2F0ZSBmaWxlcyAidSdvbmUnIikKLSAgICAgICAgICAgICAgICAgICAg ICAgJygiL2Zha2UvdWlkPTEiKSkpCi0gICAgICAgIChzaG91bGQgKGVxdWFsIChlc2hlbGwt ZXZhbC1wcmVkaWNhdGUgZmlsZXMgInV7b25lfSIpCiAgICAgICAgICAgICAgICAgICAgICAg ICcoIi9mYWtlL3VpZD0xIikpKSkpKSkKIAogKGVydC1kZWZ0ZXN0IGVtLXByZWQtdGVzdC9w cmVkaWNhdGUtZ2lkICgpCkBAIC0yNjgsOCArMjY3LDYgQEAgZW0tcHJlZC10ZXN0L3ByZWRp Y2F0ZS1naWQKICAgICAgIChjbC1sZXRmICgoKHN5bWJvbC1mdW5jdGlvbiAnZXNoZWxsLWdy b3VwLWlkKQogICAgICAgICAgICAgICAgICAobGFtYmRhIChuYW1lKSAoc2VxLXBvc2l0aW9u IGdyb3VwLW5hbWVzIG5hbWUpKSkpCiAgICAgICAgIChzaG91bGQgKGVxdWFsIChlc2hlbGwt ZXZhbC1wcmVkaWNhdGUgZmlsZXMgImcnb25lJyIpCi0gICAgICAgICAgICAgICAgICAgICAg ICcoIi9mYWtlL2dpZD0xIikpKQotICAgICAgICAoc2hvdWxkIChlcXVhbCAoZXNoZWxsLWV2 YWwtcHJlZGljYXRlIGZpbGVzICJne29uZX0iKQogICAgICAgICAgICAgICAgICAgICAgICAn KCIvZmFrZS9naWQ9MSIpKSkpKSkpCiAKIChkZWZtYWNybyBlbS1wcmVkLXRlc3QtLXRpbWUt ZGVmdGVzdCAobmFtZSBmaWxlLWF0dHJpYnV0ZSBwcmVkaWNhdGUKQEAgLTQzMCw2ICs0Mjcs OCBAQCBlbS1wcmVkLXRlc3QvbW9kaWZpZXItc3Vic3RpdHV0ZQogICAiVGVzdCB0aGF0IFwi OnMvUEFUL1JFUC9cIiByZXBsYWNlcyBQQVQgd2l0aCBSRVAgb25jZS4iCiAgIChzaG91bGQg KGVxdWFsIChlc2hlbGwtZXZhbC1wcmVkaWNhdGUgImJhciIgIjpzL2EvKi8iKSAiYipyIikp CiAgIChzaG91bGQgKGVxdWFsIChlc2hlbGwtZXZhbC1wcmVkaWNhdGUgImJhciIgIjpzfGF8 KnwiKSAiYipyIikpCisgIChzaG91bGQgKGVxdWFsIChlc2hlbGwtZXZhbC1wcmVkaWNhdGUg ImJhciIgIjpze2F9eyp9IikgImIqciIpKQorICAoc2hvdWxkIChlcXVhbCAoZXNoZWxsLWV2 YWwtcHJlZGljYXRlICJiYXIiICI6c3thfScqJyIpICJiKnIiKSkKICAgKHNob3VsZCAoZXF1 YWwgKGVzaGVsbC1ldmFsLXByZWRpY2F0ZSAnKCJmb28iICJiYXIiICJiYXoiKSAiOnMvW2Fv XS8qLyIpCiAgICAgICAgICAgICAgICAgICcoImYqbyIgImIqciIgImIqeiIpKSkKICAgKHNo b3VsZCAoZXF1YWwgKGVzaGVsbC1ldmFsLXByZWRpY2F0ZSAnKCJmb28iICJiYXIiICJiYXoi KSAiOnN8W2FvXXwqfCIpCkBAIC00NTAsMjMgKzQ0OSwxNSBAQCBlbS1wcmVkLXRlc3QvbW9k aWZpZXItZ2xvYmFsLXN1YnN0aXR1dGUKIChlcnQtZGVmdGVzdCBlbS1wcmVkLXRlc3QvbW9k aWZpZXItaW5jbHVkZSAoKQogICAiVGVzdCB0aGF0IFwiOmkvUEFUL1wiIGZpbHRlcnMgZWxl bWVudHMgdG8gaW5jbHVkZSBvbmx5IG9uZXMgbWF0Y2hpbmcgUEFULiIKICAgKHNob3VsZCAo ZXF1YWwgKGVzaGVsbC1ldmFsLXByZWRpY2F0ZSAiZm9vIiAiOmkvYS8iKSBuaWwpKQotICAo c2hvdWxkIChlcXVhbCAoZXNoZWxsLWV2YWwtcHJlZGljYXRlICJmb28iICI6aXxhfCIpIG5p bCkpCiAgIChzaG91bGQgKGVxdWFsIChlc2hlbGwtZXZhbC1wcmVkaWNhdGUgImJhciIgIjpp L2EvIikgImJhciIpKQotICAoc2hvdWxkIChlcXVhbCAoZXNoZWxsLWV2YWwtcHJlZGljYXRl ICJiYXIiICI6aXxhfCIpICJiYXIiKSkKICAgKHNob3VsZCAoZXF1YWwgKGVzaGVsbC1ldmFs LXByZWRpY2F0ZSAnKCJmb28iICJiYXIiICJiYXoiKSAiOmkvYS8iKQotICAgICAgICAgICAg ICAgICAnKCJiYXIiICJiYXoiKSkpCi0gIChzaG91bGQgKGVxdWFsIChlc2hlbGwtZXZhbC1w cmVkaWNhdGUgJygiZm9vIiAiYmFyIiAiYmF6IikgIjppfGF8IikKICAgICAgICAgICAgICAg ICAgJygiYmFyIiAiYmF6IikpKSkKIAogKGVydC1kZWZ0ZXN0IGVtLXByZWQtdGVzdC9tb2Rp Zmllci1leGNsdWRlICgpCiAgICJUZXN0IHRoYXQgXCI6eC9QQVQvXCIgZmlsdGVycyBlbGVt ZW50cyB0byBleGNsdWRlIGFueSBtYXRjaGluZyBQQVQuIgogICAoc2hvdWxkIChlcXVhbCAo ZXNoZWxsLWV2YWwtcHJlZGljYXRlICJmb28iICI6eC9hLyIpICJmb28iKSkKLSAgKHNob3Vs ZCAoZXF1YWwgKGVzaGVsbC1ldmFsLXByZWRpY2F0ZSAiZm9vIiAiOnh8YXwiKSAiZm9vIikp CiAgIChzaG91bGQgKGVxdWFsIChlc2hlbGwtZXZhbC1wcmVkaWNhdGUgImJhciIgIjp4L2Ev IikgbmlsKSkKLSAgKHNob3VsZCAoZXF1YWwgKGVzaGVsbC1ldmFsLXByZWRpY2F0ZSAiYmFy IiAiOnh8YXwiKSBuaWwpKQogICAoc2hvdWxkIChlcXVhbCAoZXNoZWxsLWV2YWwtcHJlZGlj YXRlICcoImZvbyIgImJhciIgImJheiIpICI6eC9hLyIpCi0gICAgICAgICAgICAgICAgICco ImZvbyIpKSkKLSAgKHNob3VsZCAoZXF1YWwgKGVzaGVsbC1ldmFsLXByZWRpY2F0ZSAnKCJm b28iICJiYXIiICJiYXoiKSAiOnh8YXwiKQogICAgICAgICAgICAgICAgICAnKCJmb28iKSkp KQogCiAoZXJ0LWRlZnRlc3QgZW0tcHJlZC10ZXN0L21vZGlmaWVyLXNwbGl0ICgpCkBAIC01 MTYsNyArNTA3LDcgQEAgZW0tcHJlZC10ZXN0L21vZGlmaWVyLXJldmVyc2UKICAgICAgICAg ICAgICAgICAgJygiYmF6IiAiYmFyIiAiZm9vIikpKSkKIAogDAotOzsgQ29tYmluYXRpb25z Cis7OyBNaXNjZWxsYW5lb3VzCiAKIChlcnQtZGVmdGVzdCBlbS1wcmVkLXRlc3QvY29tYmlu ZS1wcmVkaWNhdGUtYW5kLW1vZGlmaWVyICgpCiAgICJUZXN0IGNvbWJpbmF0aW9uIG9mIHBy ZWRpY2F0ZXMgYW5kIG1vZGlmaWVycy4iCkBAIC01MjYsNCArNTE3LDIwIEBAIGVtLXByZWQt dGVzdC9jb21iaW5lLXByZWRpY2F0ZS1hbmQtbW9kaWZpZXIKICAgICAgIChzaG91bGQgKGVx dWFsIChlc2hlbGwtZXZhbC1wcmVkaWNhdGUgZmlsZXMgIi46ZTp1IikKICAgICAgICAgICAg ICAgICAgICAgICcoImVsIiAidHh0IikpKSkpKQogCisoZXJ0LWRlZnRlc3QgZW0tcHJlZC10 ZXN0L3ByZWRpY2F0ZS1kZWxpbWl0ZXJzICgpCisgICJUZXN0IHZhcmlvdXMgZGVsaW1pdGVy IHBhaXJzIHdpdGggcHJlZGljYXRlcyBhbmQgbW9kaWZpZXJzLiIKKyAgKGRvbGlzdCAoZGVs aW1zIGVzaGVsbC1wcmVkLWRlbGltaXRlci1wYWlycykKKyAgICAoZXNoZWxsLXdpdGgtZmls ZS1hdHRyaWJ1dGVzLWZyb20tbmFtZQorICAgICAobGV0ICgoZmlsZXMgJygiL2Zha2UvdWlk PTEiICIvZmFrZS91aWQ9MiIpKQorICAgICAgICAgICAodXNlci1uYW1lcyAnKCJyb290IiAi b25lIiAidHdvIikpKQorICAgICAgIChjbC1sZXRmICgoKHN5bWJvbC1mdW5jdGlvbiAnZXNo ZWxsLXVzZXItaWQpCisgICAgICAgICAgICAgICAgICAobGFtYmRhIChuYW1lKSAoc2VxLXBv c2l0aW9uIHVzZXItbmFtZXMgbmFtZSkpKSkKKyAgICAgICAgIChzaG91bGQgKGVxdWFsIChl c2hlbGwtZXZhbC1wcmVkaWNhdGUKKyAgICAgICAgICAgICAgICAgICAgICAgICBmaWxlcyAo Zm9ybWF0ICJ1JWNvbmUlYyIgKGNhciBkZWxpbXMpIChjZHIgZGVsaW1zKSkpCisgICAgICAg ICAgICAgICAgICAgICAgICAnKCIvZmFrZS91aWQ9MSIpKSkpKSkKKyAgICAoc2hvdWxkIChl cXVhbCAoZXNoZWxsLWV2YWwtcHJlZGljYXRlCisgICAgICAgICAgICAgICAgICAgICcoImZv byIgImJhciIgImJheiIpCisgICAgICAgICAgICAgICAgICAgIChmb3JtYXQgIjpqJWMtJWMi IChjYXIgZGVsaW1zKSAoY2RyIGRlbGltcykpKQorICAgICAgICAgICAgICAgICAgICJmb28t YmFyLWJheiIpKSkpCisKIDs7IGVtLXByZWQtdGVzdHMuZWwgZW5kcyBoZXJlCi0tIAoyLjI1 LjEKCg== --------------CED9CFCAADC168C98EC8A324 Content-Type: text/plain; charset=UTF-8; name="0002-Handle-escaped-characters-in-Eshell-argument-predica.patch" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename*0="0002-Handle-escaped-characters-in-Eshell-argument-predica.pa"; filename*1="tch" RnJvbSA0NDA4YmU3NWJhN2U3Y2MwZTFiYjdhNTY0MzhmMzAwY2VkM2RiNTZiIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBKaW0gUG9ydGVyIDxqcG9ydGVyYnVnc0BnbWFpbC5j b20+CkRhdGU6IFR1ZSwgMjYgQXByIDIwMjIgMjE6NTE6MjMgLTA3MDAKU3ViamVjdDogW1BB VENIIDIvM10gSGFuZGxlIGVzY2FwZWQgY2hhcmFjdGVycyBpbiBFc2hlbGwgYXJndW1lbnQK IHByZWRpY2F0ZXMvbW9kaWZpZXJzCgoqIGxpc3AvZXNoZWxsL2VtLXByZWQuZWwgKGVzaGVs bC1nZXQtZGVsaW1pdGVkLW1vZGlmaWVyLWFyZ3VtZW50KToKVW5lc2NhcGUgZXNjYXBlZCBj aGFyYWN0ZXJzLgoKKiB0ZXN0L2xpc3AvZXNoZWxsL2VtLXByZWQtdGVzdHMuZWwgKGVtLXBy ZWQtdGVzdC9wcmVkaWNhdGUtZXNjYXBpbmcpOgpOZXcgdGVzdCAoYnVnIzU1MjA0KS4KLS0t CiBsaXNwL2VzaGVsbC9lbS1wcmVkLmVsICAgICAgICAgICAgfCAgNCArKystCiB0ZXN0L2xp c3AvZXNoZWxsL2VtLXByZWQtdGVzdHMuZWwgfCAxMiArKysrKysrKysrKysKIDIgZmlsZXMg Y2hhbmdlZCwgMTUgaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbigtKQoKZGlmZiAtLWdpdCBh L2xpc3AvZXNoZWxsL2VtLXByZWQuZWwgYi9saXNwL2VzaGVsbC9lbS1wcmVkLmVsCmluZGV4 IDU5NDU2MzU1NGQuLmQ3Mzk3NmQzNDYgMTAwNjQ0Ci0tLSBhL2xpc3AvZXNoZWxsL2VtLXBy ZWQuZWwKKysrIGIvbGlzcC9lc2hlbGwvZW0tcHJlZC5lbApAQCAtNDE2LDcgKzQxNiw5IEBA IGVzaGVsbC1nZXQtZGVsaW1pdGVkLW1vZGlmaWVyLWFyZ3VtZW50CiAgICAgICAgICAgICAg IChjbG9zZSAoY2RyIChhc3NvYyBvcGVuIGVzaGVsbC1wcmVkLWRlbGltaXRlci1wYWlycykp KQogICAgICAgICAgICAgICAoZW5kIChlc2hlbGwtZmluZC1kZWxpbWl0ZXIgb3BlbiBjbG9z ZSBuaWwgbmlsIHQpKSkKICAgICAocHJvZzEKLSAgICAgICAgKGJ1ZmZlci1zdWJzdHJpbmct bm8tcHJvcGVydGllcyAoMSsgKHBvaW50KSkgZW5kKQorICAgICAgICAocmVwbGFjZS1yZWdl eHAtaW4tc3RyaW5nCisgICAgICAgICAocngtdG8tc3RyaW5nIGAoc2VxICJcXCIgKGdyb3Vw IChvciAiXFwiICxvcGVuICxjbG9zZSkpKSkgIlxcMSIKKyAgICAgICAgIChidWZmZXItc3Vi c3RyaW5nLW5vLXByb3BlcnRpZXMgKDErIChwb2ludCkpIGVuZCkpCiAgICAgICAoZ290by1j aGFyIChpZiAoYW5kIGNoYWluZWQtcCAoZXEgb3BlbiBjbG9zZSkpCiAgICAgICAgICAgICAg ICAgICAgICBlbmQKICAgICAgICAgICAgICAgICAgICAoMSsgZW5kKSkpKSkpCmRpZmYgLS1n aXQgYS90ZXN0L2xpc3AvZXNoZWxsL2VtLXByZWQtdGVzdHMuZWwgYi90ZXN0L2xpc3AvZXNo ZWxsL2VtLXByZWQtdGVzdHMuZWwKaW5kZXggNGQyYWYzOTI5Mi4uM2I1MDU0M2Q2OSAxMDA2 NDQKLS0tIGEvdGVzdC9saXNwL2VzaGVsbC9lbS1wcmVkLXRlc3RzLmVsCisrKyBiL3Rlc3Qv bGlzcC9lc2hlbGwvZW0tcHJlZC10ZXN0cy5lbApAQCAtNTMzLDQgKzUzMywxNiBAQCBlbS1w cmVkLXRlc3QvcHJlZGljYXRlLWRlbGltaXRlcnMKICAgICAgICAgICAgICAgICAgICAgKGZv cm1hdCAiOmolYy0lYyIgKGNhciBkZWxpbXMpIChjZHIgZGVsaW1zKSkpCiAgICAgICAgICAg ICAgICAgICAgImZvby1iYXItYmF6IikpKSkKIAorKGVydC1kZWZ0ZXN0IGVtLXByZWQtdGVz dC9wcmVkaWNhdGUtZXNjYXBpbmcgKCkKKyAgIlRlc3Qgc3RyaW5nIGVzY2FwaW5nIGluIHBy ZWRpY2F0ZSBhbmQgbW9kaWZpZXIgcGFyYW1ldGVycy4iCisgIDs7IEVzY2FwaW5nIHRoZSBk ZWxpbWl0ZXIgc2hvdWxkIHJlbW92ZSB0aGUgYmFja3NsYXNoLgorICAoc2hvdWxkIChlcXVh bCAoZXNoZWxsLWV2YWwtcHJlZGljYXRlICcoImZvbyIgImJhciIgImJheiIpICI6aidcXCcn IikKKyAgICAgICAgICAgICAgICAgImZvbydiYXInYmF6IikpCisgIDs7IEVzY2FwaW5nIGEg YmFja2xhc2ggc2hvdWxkIHJlbW92ZSB0aGUgZmlyc3QgYmFja3NsYXNoLgorICAoc2hvdWxk IChlcXVhbCAoZXNoZWxsLWV2YWwtcHJlZGljYXRlICcoImZvbyIgImJhciIgImJheiIpICI6 aidcXFxcJyIpCisgICAgICAgICAgICAgICAgICJmb29cXGJhclxcYmF6IikpCisgIDs7IEVz Y2FwaW5nIGEgZGlmZmVyZW50IGNoYXJhY3RlciBzaG91bGQga2VlcCB0aGUgYmFja3NsYXNo LgorICAoc2hvdWxkIChlcXVhbCAoZXNoZWxsLWV2YWwtcHJlZGljYXRlICcoImZvbyIgImJh ciIgImJheiIpICI6aidcXFwiJyIpCisgICAgICAgICAgICAgICAgICJmb29cXFwiYmFyXFxc ImJheiIpKSkKKwogOzsgZW0tcHJlZC10ZXN0cy5lbCBlbmRzIGhlcmUKLS0gCjIuMjUuMQoK --------------CED9CFCAADC168C98EC8A324 Content-Type: text/plain; charset=UTF-8; name="0003-Handle-escaped-characters-in-Eshell-special-referenc.patch" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename*0="0003-Handle-escaped-characters-in-Eshell-special-referenc.pa"; filename*1="tch" RnJvbSA3MDA3NzNlMWM5ODhkYTk4NWNiYmJhZTliODhiYWQyOWYwOGFlM2MwIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBKaW0gUG9ydGVyIDxqcG9ydGVyYnVnc0BnbWFpbC5j b20+CkRhdGU6IFR1ZSwgMjYgQXByIDIwMjIgMjE6NTM6MDAgLTA3MDAKU3ViamVjdDogW1BB VENIIDMvM10gSGFuZGxlIGVzY2FwZWQgY2hhcmFjdGVycyBpbiBFc2hlbGwgc3BlY2lhbCBy ZWZlcmVuY2VzCiAoZS5nLiBidWZmZXJzKQoKKiBsaXNwL2VzaGVsbC9lc2gtYXJnLmVsIChl c2hlbGwtcGFyc2Utc3BlY2lhbC1yZWZlcmVuY2UpOiBVbmVzY2FwZQplc2NhcGVkIGNoYXJh Y3RlcnMuCgoqIHRlc3QvbGlzcC9lc2hlbGwvZXNoZWxsLXRlc3RzLWhlbHBlcnMuZWwgKHdp dGgtdGVtcC1lc2hlbGwpOiBSZXN0b3JlCmN1cnJlbnQgYnVmZmVyIGFmdGVyIGV2YWx1YXRp bmcgQk9EWS4KCiogdGVzdC9saXNwL2VzaGVsbC9lc2hlbGwtdGVzdHMuZWwgKGVzaGVsbC10 ZXN0L3JlZGlyZWN0LWJ1ZmZlcikKKGVzaGVsbC10ZXN0L3JlZGlyZWN0LWJ1ZmZlci1lc2Nh cGVkKTogTmV3IHRlc3RzIChidWcjNTUyMDQpLgotLS0KIGxpc3AvZXNoZWxsL2VzaC1hcmcu ZWwgICAgICAgICAgICAgICAgICAgfCAgNCArKystCiB0ZXN0L2xpc3AvZXNoZWxsL2VzaGVs bC10ZXN0cy1oZWxwZXJzLmVsIHwgMjMgKysrKysrKysrKysrLS0tLS0tLS0tLS0KIHRlc3Qv bGlzcC9lc2hlbGwvZXNoZWxsLXRlc3RzLmVsICAgICAgICAgfCAxOSArKysrKysrKysrKysr KysrKysrCiAzIGZpbGVzIGNoYW5nZWQsIDM0IGluc2VydGlvbnMoKyksIDEyIGRlbGV0aW9u cygtKQoKZGlmZiAtLWdpdCBhL2xpc3AvZXNoZWxsL2VzaC1hcmcuZWwgYi9saXNwL2VzaGVs bC9lc2gtYXJnLmVsCmluZGV4IGVlM2Y5MDdmODUuLjM5NWFhODdmZjAgMTAwNjQ0Ci0tLSBh L2xpc3AvZXNoZWxsL2VzaC1hcmcuZWwKKysrIGIvbGlzcC9lc2hlbGwvZXNoLWFyZy5lbApA QCAtNDAxLDcgKzQwMSw5IEBAIGVzaGVsbC1wYXJzZS1zcGVjaWFsLXJlZmVyZW5jZQogICAg ICAgICAoaWYgKGVzaGVsbC1hcmctZGVsaW1pdGVyICgxKyBlbmQpKQogICAgICAgICAgICAg KHByb2cxCiAgICAgICAgICAgICAgICAgKGxpc3QgKGlmIGJ1ZmZlci1wICdnZXQtYnVmZmVy LWNyZWF0ZSAnZ2V0LXByb2Nlc3MpCi0gICAgICAgICAgICAgICAgICAgICAgKGJ1ZmZlci1z dWJzdHJpbmctbm8tcHJvcGVydGllcyAocG9pbnQpIGVuZCkpCisgICAgICAgICAgICAgICAg ICAgICAgKHJlcGxhY2UtcmVnZXhwLWluLXN0cmluZworICAgICAgICAgICAgICAgICAgICAg ICAocnggIlxcIiAoZ3JvdXAgKG9yICJcXCIgIjwiICI+IikpKSAiXFwxIgorICAgICAgICAg ICAgICAgICAgICAgICAoYnVmZmVyLXN1YnN0cmluZy1uby1wcm9wZXJ0aWVzIChwb2ludCkg ZW5kKSkpCiAgICAgICAgICAgICAgIChnb3RvLWNoYXIgKDErIGVuZCkpKQogICAgICAgICAg IChpZ25vcmUgKGdvdG8tY2hhciBoZXJlKSkpKSkpKQogCmRpZmYgLS1naXQgYS90ZXN0L2xp c3AvZXNoZWxsL2VzaGVsbC10ZXN0cy1oZWxwZXJzLmVsIGIvdGVzdC9saXNwL2VzaGVsbC9l c2hlbGwtdGVzdHMtaGVscGVycy5lbAppbmRleCBmOTQ0MTk0YTJiLi40YWQ3NmNhNjk3IDEw MDY0NAotLS0gYS90ZXN0L2xpc3AvZXNoZWxsL2VzaGVsbC10ZXN0cy1oZWxwZXJzLmVsCisr KyBiL3Rlc3QvbGlzcC9lc2hlbGwvZXNoZWxsLXRlc3RzLWhlbHBlcnMuZWwKQEAgLTM4LDE3 ICszOCwxOCBAQCBlc2hlbGwtdGVzdC0tbWF4LXN1YnByb2Nlc3MtdGltZQogCiAoZGVmbWFj cm8gd2l0aC10ZW1wLWVzaGVsbCAoJnJlc3QgYm9keSkKICAgIkV2YWx1YXRlIEJPRFkgaW4g YSB0ZW1wb3JhcnkgRXNoZWxsIGJ1ZmZlci4iCi0gIGAoZXJ0LXdpdGgtdGVtcC1kaXJlY3Rv cnkgZXNoZWxsLWRpcmVjdG9yeS1uYW1lCi0gICAgIChsZXQqICg7OyBXZSB3YW50IG5vIGhp c3RvcnkgZmlsZSwgc28gcHJldmVudCBFc2hlbGwgZnJvbSBmYWxsaW5nCi0gICAgICAgICAg ICA7OyBiYWNrIG9uICRISVNURklMRS4KLSAgICAgICAgICAgIChwcm9jZXNzLWVudmlyb25t ZW50IChjb25zICJISVNURklMRSIgcHJvY2Vzcy1lbnZpcm9ubWVudCkpCi0gICAgICAgICAg ICAoZXNoZWxsLWhpc3RvcnktZmlsZS1uYW1lIG5pbCkKLSAgICAgICAgICAgIChlc2hlbGwt YnVmZmVyIChlc2hlbGwgdCkpKQotICAgICAgICh1bndpbmQtcHJvdGVjdAotICAgICAgICAg ICAod2l0aC1jdXJyZW50LWJ1ZmZlciBlc2hlbGwtYnVmZmVyCi0gICAgICAgICAgICAgLEBi b2R5KQotICAgICAgICAgKGxldCAoa2lsbC1idWZmZXItcXVlcnktZnVuY3Rpb25zKQotICAg ICAgICAgICAoa2lsbC1idWZmZXIgZXNoZWxsLWJ1ZmZlcikpKSkpKQorICBgKHNhdmUtY3Vy cmVudC1idWZmZXIKKyAgICAgKGVydC13aXRoLXRlbXAtZGlyZWN0b3J5IGVzaGVsbC1kaXJl Y3RvcnktbmFtZQorICAgICAgIChsZXQqICg7OyBXZSB3YW50IG5vIGhpc3RvcnkgZmlsZSwg c28gcHJldmVudCBFc2hlbGwgZnJvbSBmYWxsaW5nCisgICAgICAgICAgICAgIDs7IGJhY2sg b24gJEhJU1RGSUxFLgorICAgICAgICAgICAgICAocHJvY2Vzcy1lbnZpcm9ubWVudCAoY29u cyAiSElTVEZJTEUiIHByb2Nlc3MtZW52aXJvbm1lbnQpKQorICAgICAgICAgICAgICAoZXNo ZWxsLWhpc3RvcnktZmlsZS1uYW1lIG5pbCkKKyAgICAgICAgICAgICAgKGVzaGVsbC1idWZm ZXIgKGVzaGVsbCB0KSkpCisgICAgICAgICAodW53aW5kLXByb3RlY3QKKyAgICAgICAgICAg ICAod2l0aC1jdXJyZW50LWJ1ZmZlciBlc2hlbGwtYnVmZmVyCisgICAgICAgICAgICAgICAs QGJvZHkpCisgICAgICAgICAgIChsZXQgKGtpbGwtYnVmZmVyLXF1ZXJ5LWZ1bmN0aW9ucykK KyAgICAgICAgICAgICAoa2lsbC1idWZmZXIgZXNoZWxsLWJ1ZmZlcikpKSkpKSkKIAogKGRl ZnVuIGVzaGVsbC13YWl0LWZvci1zdWJwcm9jZXNzICgmb3B0aW9uYWwgYWxsKQogICAiV2Fp dCB1bnRpbCB0aGVyZSBpcyBubyBpbnRlcmFjdGl2ZSBzdWJwcm9jZXNzIHJ1bm5pbmcgaW4g RXNoZWxsLgpkaWZmIC0tZ2l0IGEvdGVzdC9saXNwL2VzaGVsbC9lc2hlbGwtdGVzdHMuZWwg Yi90ZXN0L2xpc3AvZXNoZWxsL2VzaGVsbC10ZXN0cy5lbAppbmRleCBiY2MyZGMzMjBiLi43 Y2RlYjAxN2U0IDEwMDY0NAotLS0gYS90ZXN0L2xpc3AvZXNoZWxsL2VzaGVsbC10ZXN0cy5l bAorKysgYi90ZXN0L2xpc3AvZXNoZWxsL2VzaGVsbC10ZXN0cy5lbApAQCAtMTE0LDYgKzEx NCwyNSBAQCBlc2hlbGwtdGVzdC9waXBlLWhlYWRwcm9jLXN0ZGluCiAgICAoZXNoZWxsLXdh aXQtZm9yLXN1YnByb2Nlc3MpCiAgICAoZXNoZWxsLW1hdGNoLXJlc3VsdCAiT0xMRUhcbiIp KSkKIAorKGVydC1kZWZ0ZXN0IGVzaGVsbC10ZXN0L3JlZGlyZWN0LWJ1ZmZlciAoKQorICAi Q2hlY2sgdGhhdCBwaXBpbmcgdG8gYSBidWZmZXIgd29ya3MiCisgICh3aXRoLXRlbXAtYnVm ZmVyCisgICAgKHJlbmFtZS1idWZmZXIgImVzaGVsbC10ZW1wLWJ1ZmZlciIgdCkKKyAgICAo bGV0ICgoYnVmbmFtZSAoYnVmZmVyLW5hbWUpKSkKKyAgICAgICh3aXRoLXRlbXAtZXNoZWxs CisgICAgICAgKGVzaGVsbC1pbnNlcnQtY29tbWFuZCAoZm9ybWF0ICJlY2hvIGhpID4gIzwl cz4iIGJ1Zm5hbWUpKSkKKyAgICAgIChzaG91bGQgKGVxdWFsIChidWZmZXItc3RyaW5nKSAi aGkiKSkpKSkKKworKGVydC1kZWZ0ZXN0IGVzaGVsbC10ZXN0L3JlZGlyZWN0LWJ1ZmZlci1l c2NhcGVkICgpCisgICJDaGVjayB0aGF0IHBpcGluZyB0byBhIGJ1ZmZlciB3aXRoIGVzY2Fw ZWQgY2hhcmFjdGVycyB3b3JrcyIKKyAgKHdpdGgtdGVtcC1idWZmZXIKKyAgICAocmVuYW1l LWJ1ZmZlciAiZXNoZWxsXFx0ZW1wXFxidWZmZXIiIHQpCisgICAgKGxldCAoKGJ1Zm5hbWUg KGJ1ZmZlci1uYW1lKSkpCisgICAgICAod2l0aC10ZW1wLWVzaGVsbAorICAgICAgIChlc2hl bGwtaW5zZXJ0LWNvbW1hbmQgKGZvcm1hdCAiZWNobyBoaSA+ICM8JXM+IgorICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoc3RyaW5nLXJlcGxhY2UgIlxcIiAiXFxc XCIgYnVmbmFtZSkpKSkKKyAgICAgIChzaG91bGQgKGVxdWFsIChidWZmZXItc3RyaW5nKSAi aGkiKSkpKSkKKwogKGVydC1kZWZ0ZXN0IGVzaGVsbC10ZXN0L2luc2lkZS1lbWFjcy12YXIg KCkKICAgIlRlc3QgcHJlc2VuY2Ugb2YgXCJJTlNJREVfRU1BQ1NcIiBpbiBzdWJwcm9jZXNz ZXMiCiAgICh3aXRoLXRlbXAtZXNoZWxsCi0tIAoyLjI1LjEKCg== --------------CED9CFCAADC168C98EC8A324--