From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Dmitry Gutov Newsgroups: gmane.emacs.bugs Subject: bug#60186: 29.0.60; ruby-mode indentation of multi-line expressions Date: Thu, 22 Dec 2022 23:21:15 +0200 Message-ID: <60e207e0-7378-ad9f-3ef0-99df1c139939@yandex.ru> References: <4e44df18-207c-c7ca-0588-7285f3008dfb@yandex.ru> <358bbd65-9375-04c8-f0a2-24a4383f142e@yandex.ru> <2b4a91e1-bad1-382f-dd64-abf171efb404@yandex.ru> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="------------iahvROq0xSQd6gVEaEvMk7eT" Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="37030"; mail-complaints-to="usenet@ciao.gmane.io" User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.4.2 Cc: 60186@debbugs.gnu.org To: Aaron Jensen Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Thu Dec 22 22:22:22 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 1p8T1C-0009SU-N3 for geb-bug-gnu-emacs@m.gmane-mx.org; Thu, 22 Dec 2022 22:22:22 +0100 Original-Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1p8T0u-0000Hq-GG; Thu, 22 Dec 2022 16:22:04 -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 1p8T0s-0000Hf-Sw for bug-gnu-emacs@gnu.org; Thu, 22 Dec 2022 16:22: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 1p8T0s-0001gp-Ht for bug-gnu-emacs@gnu.org; Thu, 22 Dec 2022 16:22:02 -0500 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1p8T0s-0005y6-DK for bug-gnu-emacs@gnu.org; Thu, 22 Dec 2022 16:22:02 -0500 X-Loop: help-debbugs@gnu.org Resent-From: Dmitry Gutov Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Thu, 22 Dec 2022 21:22:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 60186 X-GNU-PR-Package: emacs Original-Received: via spool by 60186-submit@debbugs.gnu.org id=B60186.167174408922909 (code B ref 60186); Thu, 22 Dec 2022 21:22:02 +0000 Original-Received: (at 60186) by debbugs.gnu.org; 22 Dec 2022 21:21:29 +0000 Original-Received: from localhost ([127.0.0.1]:36324 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1p8T0K-0005xR-7X for submit@debbugs.gnu.org; Thu, 22 Dec 2022 16:21:28 -0500 Original-Received: from mail-wm1-f47.google.com ([209.85.128.47]:44015) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1p8T0F-0005xH-U4 for 60186@debbugs.gnu.org; Thu, 22 Dec 2022 16:21:27 -0500 Original-Received: by mail-wm1-f47.google.com with SMTP id k22-20020a05600c1c9600b003d1ee3a6289so2236022wms.2 for <60186@debbugs.gnu.org>; Thu, 22 Dec 2022 13:21:23 -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 :user-agent:mime-version:date:message-id:sender:from:to:cc:subject :date:message-id:reply-to; bh=MPeytowz2hJIt4NQZXTrY+6DfQ+cAZ2YbGdPZCEcQ7w=; b=XV1hg4f95s6lBxCfrlUZSOZ3VmWaBNRgfEnP95FOhIz454PPdIBWnbC4cmUpp+4W5k 9NNgTmX8ioTSqtMwpLlHZqjIslnTIbGuXTooxjda4DmdWdR1l5viTxFxWfmBFZu9xkjF uvcoAAUaJyEki99aXKl3cdKNa+jG1pNzN+/dxbGXkVNfS6r0hkSA2q5D6GK2143g+JAY oryZJtLhyLfCCmH9M9rA3P2iYBRSQwWb0SfX3hYW1kfSOVOmohKEjJ5KjOakLiXsZK5t i2sIu79C6diPFDhJVUd7QmFayTT6lCeCrdAlJt1rsXw1Xanwc2w1YAsuQwJcVlZAVicg lJbw== 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 :user-agent:mime-version:date:message-id:sender:x-gm-message-state :from:to:cc:subject:date:message-id:reply-to; bh=MPeytowz2hJIt4NQZXTrY+6DfQ+cAZ2YbGdPZCEcQ7w=; b=MXtkIIcpYkwtYvXgCEVybGayS0tKJPF5JlNxyF/Q9ilquLedJPcR8yJlqsotdCugWK FZkxRn/N1YbZwWlqshfLEjoJql9n6021dzyD1RG6K/VntImhWXrWb75VEjE3er/rnYOD 0+E0Pqu6Pmf6FaMxL89MN/HGCxgYjbVYIMl1FnaNLyf6qTUly1Fbw5dE3oud44MozTCN cQZkEuhK/vt0Nh6889QC3pukmGS+vpExuTB1F3ILc1S4ZH4hqZuTX/6qaF8c1YXJ3YJ8 ghQljaSJcbNe1k0GFmaHcT9e3KLVaa0dcDEOB0wtwai094aJKaAz1b+DHPMIKtdTXZ53 SS0w== X-Gm-Message-State: AFqh2kp9rcJzuE9FxnqyyVTRslEnX3eAxVxynOG63y5nViY6ckWApGQM 14SOrPmfd6EmWNVN6QS1wks= X-Google-Smtp-Source: AMrXdXv4dd7DEojSzap/S1CIjAFSSyTWSW95k0+rDs6pS510CUbpmNbYRgK6CbmSJLorRH1BAlKbDQ== X-Received: by 2002:a05:600c:1d8e:b0:3d6:e23:76a2 with SMTP id p14-20020a05600c1d8e00b003d60e2376a2mr5205208wms.34.1671744077968; Thu, 22 Dec 2022 13:21:17 -0800 (PST) Original-Received: from [192.168.0.2] ([46.251.119.176]) by smtp.googlemail.com with ESMTPSA id r9-20020a05600c35c900b003d96bdddd3dsm1375496wmq.15.2022.12.22.13.21.16 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Thu, 22 Dec 2022 13:21:17 -0800 (PST) Content-Language: en-US In-Reply-To: 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:251687 Archived-At: This is a multi-part message in MIME format. --------------iahvROq0xSQd6gVEaEvMk7eT Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit On 22/12/2022 04:31, Aaron Jensen wrote: > On Wed, Dec 21, 2022 at 5:48 PM Dmitry Gutov wrote: >> See this new patch instead. >> >> The code is messier than I'd like it to be, but it seems to handle all >> of the cases mentioned so far and more (including the >> dots-at-indentation style, thanks). > > Looks good, for the things I mentioned. I found one more case: > > x.foo do > foo > end.bar do > bar > end > > Should be: > > x.foo do > foo > end.bar do > bar > end Hm, this one breaks the approach I used with the last patch (which was to count lines from the beginning of the statement). Let's see if blocks can just be aligned to the indentation of its opener's line. > I can't vouch for writing in this style, but it should only get one > indentation increase in this instance, rather than, I believe. > > Interestingly enough, I found a bug with enh-ruby-mode that ruby-mode > now indents correctly: > > x = > bar( > y > ).map do |i| > i > end Cool. It seems I broke it for the default indent algo, however. ;-( In the previous patch. See the new one attached. BTW, I'm surprised you haven't mentioned the case of parenless calls: foo bar, baz, tee IUUC the Rails core has decided to forgo this indentation style. Not sure about the statistics across other popular projects. --------------iahvROq0xSQd6gVEaEvMk7eT Content-Type: text/x-patch; charset=UTF-8; name="ruby-simplified-indent-v4.diff" Content-Disposition: attachment; filename="ruby-simplified-indent-v4.diff" Content-Transfer-Encoding: base64 ZGlmZiAtLWdpdCBhL2xpc3AvcHJvZ21vZGVzL3J1YnktbW9kZS5lbCBiL2xpc3AvcHJvZ21v ZGVzL3J1YnktbW9kZS5lbAppbmRleCAxZjNlOWI2YWU3Yi4uNTQyYzhhYzAyZjEgMTAwNjQ0 Ci0tLSBhL2xpc3AvcHJvZ21vZGVzL3J1YnktbW9kZS5lbAorKysgYi9saXNwL3Byb2dtb2Rl cy9ydWJ5LW1vZGUuZWwKQEAgLTI4NSw2ICsyODUsMTEgQEAgcnVieS1tZXRob2QtcGFyYW1z LWluZGVudAogICA6c2FmZSAobGFtYmRhICh2YWwpIChvciAobWVtcSB2YWwgJyh0IG5pbCkp IChudW1iZXJwIHZhbCkpKQogICA6dmVyc2lvbiAiMjkuMSIpCiAKKyhkZWZjdXN0b20gcnVi eS1pbmRlbnQtc2ltcGxpZmllZCBuaWwKKyAgIkZvbyBiYXIuIgorICA6dHlwZSAnYm9vbGVh bgorICA6c2FmZSAnYm9vbGVhbnApCisKIChkZWZjdXN0b20gcnVieS1kZWVwLWFyZ2xpc3Qg dAogICAiRGVlcCBpbmRlbnQgbGlzdHMgaW4gcGFyZW50aGVzaXMgd2hlbiBub24tbmlsLgog QWxzbyBpZ25vcmVzIHNwYWNlcyBhZnRlciBwYXJlbnRoZXNpcyB3aGVuIGBzcGFjZScuCkBA IC00MTYsNiArNDIxLDcgQEAgcnVieS1zbWllLWdyYW1tYXIKICAgICAgJygocmlnaHQgIj0i KQogICAgICAgIChyaWdodCAiKz0iICItPSIgIio9IiAiLz0iICIlPSIgIioqPSIgIiY9IiAi fD0iICJePSIKICAgICAgICAgICAgICAgIjw8PSIgIj4+PSIgIiYmPSIgInx8PSIpCisgICAg ICAgKHJpZ2h0ICI/IikKICAgICAgICAobm9uYXNzb2MgIi4uIiAiLi4uIikKICAgICAgICAo bGVmdCAiJiYiICJ8fCIpCiAgICAgICAgKG5vbmFzc29jICI8PT4iKQpAQCAtNjA4LDEwICs2 MTQsMTAgQEAgcnVieS1zbWllLS1iYWNrd2FyZC10b2tlbgogICAgICAgICAgICJkZWY9IikK ICAgICAgICAgICh0IHRvaykpKSkpKSkKIAotKGRlZnVuIHJ1Ynktc21pZS0taW5kZW50LXRv LXN0bXQgKCkKKyhkZWZ1biBydWJ5LXNtaWUtLWluZGVudC10by1zdG10ICgmb3B0aW9uYWwg b2Zmc2V0KQogICAoc2F2ZS1leGN1cnNpb24KICAgICAoc21pZS1iYWNrd2FyZC1zZXhwICI7 IikKLSAgICAoY29ucyAnY29sdW1uIChzbWllLWluZGVudC12aXJ0dWFsKSkpKQorICAgIChj b25zICdjb2x1bW4gKCsgKHNtaWUtaW5kZW50LXZpcnR1YWwpIChvciBvZmZzZXQgMCkpKSkp CiAKIChkZWZ1biBydWJ5LXNtaWUtLWluZGVudC10by1zdG10LXAgKGtleXdvcmQpCiAgIChv ciAoZXEgdCBydWJ5LWFsaWduLXRvLXN0bXQta2V5d29yZHMpCkBAIC02NDIsNyArNjQ4LDkg QEAgcnVieS1zbWllLXJ1bGVzCiAgICAgICAgICAgICAgIChmb3J3YXJkLWNvbW1lbnQgLTEp CiAgICAgICAgICAgICAgIChub3QgKGVxIChwcmVjZWRpbmctY2hhcikgPzopKSkpCiAgICAg ICAgOzsgQ3VybHkgYmxvY2sgb3BlbmVyLgotICAgICAgIChydWJ5LXNtaWUtLWluZGVudC10 by1zdG10KSkKKyAgICAgICAoaWYgcnVieS1pbmRlbnQtc2ltcGxpZmllZAorICAgICAgICAg ICAoY29ucyAnY29sdW1uIChjdXJyZW50LWluZGVudGF0aW9uKSkKKyAgICAgICAgIChydWJ5 LXNtaWUtLWluZGVudC10by1zdG10KSkpCiAgICAgICAoKHNtaWUtcnVsZS1oYW5naW5nLXAp CiAgICAgICAgOzsgVHJlYXQgcHVyZWx5IHN5bnRhY3RpYyBibG9jay1jb25zdHJ1Y3RzIGFz IGJlaW5nIHBhcnQgb2YgdGhlaXIgcGFyZW50LAogICAgICAgIDs7IHdoZW4gdGhlIG9wZW5p bmcgdG9rZW4gaXMgaGFuZ2luZyBhbmQgdGhlIHBhcmVudCBpcyBub3QgYW4KQEAgLTY4Myw3 ICs2OTEsMTAgQEAgcnVieS1zbWllLXJ1bGVzCiAgICAgICAgICAgIChza2lwLWNoYXJzLWZv cndhcmQgIiBcdCIpCiAgICAgICAgICAgIChjb25zICdjb2x1bW4gKGN1cnJlbnQtY29sdW1u KSkpCiAgICAgICAgKHNtaWUtcnVsZS1wYXJlbnQgKG9yIHJ1YnktbWV0aG9kLXBhcmFtcy1p bmRlbnQgMCkpKSkKLSAgICAoJyg6YmVmb3JlIC4gImRvIikgKHJ1Ynktc21pZS0taW5kZW50 LXRvLXN0bXQpKQorICAgICgnKDpiZWZvcmUgLiAiZG8iKQorICAgICAoaWYgcnVieS1pbmRl bnQtc2ltcGxpZmllZAorICAgICAgICAgKGNvbnMgJ2NvbHVtbiAoY3VycmVudC1pbmRlbnRh dGlvbikpCisgICAgICAgKHJ1Ynktc21pZS0taW5kZW50LXRvLXN0bXQpKSkKICAgICAoJyg6 YmVmb3JlIC4gIi4iKQogICAgICAoaWYgKHNtaWUtcnVsZS1zaWJsaW5nLXApCiAgICAgICAg ICAod2hlbiBydWJ5LWFsaWduLWNoYWluZWQtY2FsbHMKQEAgLTY5Niw4ICs3MDcsMTAgQEAg cnVieS1zbWllLXJ1bGVzCiAgICAgICAgICAgICAgICAgICAgKG5vdCAoc21pZS1ydWxlLWJv bHApKSkpKQogICAgICAgICAgICAoY29ucyAnY29sdW1uIChjdXJyZW50LWNvbHVtbikpKQog ICAgICAgIChzbWllLWJhY2t3YXJkLXNleHAgIi4iKQotICAgICAgIChjb25zICdjb2x1bW4g KCsgKGN1cnJlbnQtY29sdW1uKQotICAgICAgICAgICAgICAgICAgICAgICAgcnVieS1pbmRl bnQtbGV2ZWwpKSkpCisgICAgICAgKGlmIHJ1YnktaW5kZW50LXNpbXBsaWZpZWQKKyAgICAg ICAgICAgKHJ1Ynktc21pZS0taW5kZW50LXRvLXN0bXQgcnVieS1pbmRlbnQtbGV2ZWwpCisg ICAgICAgICAoY29ucyAnY29sdW1uICgrIChjdXJyZW50LWNvbHVtbikKKyAgICAgICAgICAg ICAgICAgICAgICAgICAgcnVieS1pbmRlbnQtbGV2ZWwpKSkpKQogICAgIChgKDpiZWZvcmUg LiAsKG9yICJlbHNlIiAidGhlbiIgImVsc2lmIiAicmVzY3VlIiAiZW5zdXJlIikpCiAgICAg IChzbWllLXJ1bGUtcGFyZW50KSkKICAgICAoYCg6YmVmb3JlIC4gLChvciAid2hlbiIgImlu IikpCkBAIC03MTAsMTQgKzcyMywxNiBAQCBydWJ5LXNtaWUtcnVsZXMKICAgICAgICAgICAg ICAgICAgICAgICI8PD0iICI+Pj0iICImJj0iICJ8fD0iICJhbmQiICJvciIpKQogICAgICAo YW5kIChzbWllLXJ1bGUtcGFyZW50LXAgIjsiIG5pbCkKICAgICAgICAgICAoc21pZS1pbmRl bnQtLWhhbmdpbmctcCkKLSAgICAgICAgICBydWJ5LWluZGVudC1sZXZlbCkpCisgICAgICAg ICAgKGlmIHJ1YnktaW5kZW50LXNpbXBsaWZpZWQKKyAgICAgICAgICAgICAgKHJ1Ynktc21p ZS0taW5kZW50LXRvLXN0bXQgcnVieS1pbmRlbnQtbGV2ZWwpCisgICAgICAgICAgICBydWJ5 LWluZGVudC1sZXZlbCkpKQogICAgIChgKDpiZWZvcmUgLiAiPSIpCiAgICAgIChzYXZlLWV4 Y3Vyc2lvbgogICAgICAgKGFuZCAoc21pZS1ydWxlLXBhcmVudC1wICIgQCAiKQogICAgICAg ICAgICAoZ290by1jaGFyIChudGggMSAoc21pZS1pbmRlbnQtLXBhcmVudCkpKQogICAgICAg ICAgICAoc21pZS1ydWxlLXByZXYtcCAiZGVmPSIpCiAgICAgICAgICAgIChjb25zICdjb2x1 bW4gKCsgKGN1cnJlbnQtY29sdW1uKSBydWJ5LWluZGVudC1sZXZlbCAtMykpKSkpCi0gICAg KGAoOmFmdGVyIC4gLChvciAiPyIgIjoiKSkgcnVieS1pbmRlbnQtbGV2ZWwpCisgICAgKGAo OmFmdGVyIC4gLChvciAiPyIgIjoiKSkgKHVubGVzcyBydWJ5LWluZGVudC1zaW1wbGlmaWVk IHJ1YnktaW5kZW50LWxldmVsKSkKICAgICAoYCg6YmVmb3JlIC4gLChndWFyZCAobWVtcSAo aW50ZXJuLXNvZnQgdG9rZW4pIHJ1YnktYWxpZ25hYmxlLWtleXdvcmRzKSkpCiAgICAgICh3 aGVuIChub3QgKHJ1YnktLWF0LWluZGVudGF0aW9uLXApKQogICAgICAgIChpZiAocnVieS1z bWllLS1pbmRlbnQtdG8tc3RtdC1wIHRva2VuKQpAQCAtNzI1LDcgKzc0MCwxNyBAQCBydWJ5 LXNtaWUtcnVsZXMKICAgICAgICAgIChjb25zICdjb2x1bW4gKGN1cnJlbnQtY29sdW1uKSkp KSkKICAgICAoJyg6YmVmb3JlIC4gIml1d3UtbW9kIikKICAgICAgKHNtaWUtcnVsZS1wYXJl bnQgcnVieS1pbmRlbnQtbGV2ZWwpKQotICAgICkpCisgICAgKGAoOmJlZm9yZSAuICxfKQor ICAgICAod2hlbiAoYW5kIHJ1YnktaW5kZW50LXNpbXBsaWZpZWQKKyAgICAgICAgICAgICAg ICAobm90IChvciAobWVtYmVyIHRva2VuICcoIiwiKSkKKyAgICAgICAgICAgICAgICAgICAg ICAgICAoc21pZS1ydWxlLXByZXYtcCAiOyIpKSkpCisgICAgICAgKGxldCogKChzdG10LWJl ZyAoc2F2ZS1leGN1cnNpb24KKyAgICAgICAgICAgICAgICAgICAgICAgICAgKHNtaWUtYmFj a3dhcmQtc2V4cCAiOyIpCisgICAgICAgICAgICAgICAgICAgICAgICAgIChwb2ludCkpKQor ICAgICAgICAgICAgICAobmxzICgxLSAoY291bnQtbGluZXMgc3RtdC1iZWcgKHBvaW50KSkp KSkKKyAgICAgICAgICh3aGVuIChzbWllLWluZGVudC0taGFuZ2luZy1wKQorICAgICAgICAg ICAoY2wtaW5jZiBubHMpKQorICAgICAgICAgKHJ1Ynktc21pZS0taW5kZW50LXRvLXN0bXQg KGlmICg+IG5scyAwKSBydWJ5LWluZGVudC1sZXZlbCAwKSkpKSkpKQogCiAoZGVmdW4gcnVi eS0tYXQtaW5kZW50YXRpb24tcCAoJm9wdGlvbmFsIHBvaW50KQogICAoc2F2ZS1leGN1cnNp b24KZGlmZiAtLWdpdCBhL3Rlc3QvbGlzcC9wcm9nbW9kZXMvcnVieS1tb2RlLXJlc291cmNl cy9ydWJ5LWluZGVudC1zaW1wbGlmaWVkLnJiIGIvdGVzdC9saXNwL3Byb2dtb2Rlcy9ydWJ5 LW1vZGUtcmVzb3VyY2VzL3J1YnktaW5kZW50LXNpbXBsaWZpZWQucmIKbmV3IGZpbGUgbW9k ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAuLjlmMWZiMGVkZDgwCi0tLSAvZGV2L251bGwK KysrIGIvdGVzdC9saXNwL3Byb2dtb2Rlcy9ydWJ5LW1vZGUtcmVzb3VyY2VzL3J1YnktaW5k ZW50LXNpbXBsaWZpZWQucmIKQEAgLTAsMCArMSw2MiBAQAorNCArCisgIDUgKworICA2ICsK KyAgNworCitmb28gPSBvYmouYmFyIHsgfG18IHRlZShtKSB9ICsKKyAgb2JqLnF1eCB7IHxt fCBodW0obSkgfQorCitmb28uCisgIGJhcgorICAuYmF6CisKK3F1eCA9IGZvby5mZWUgPwor ICBiYXIgOgorICB0ZWUKKworZm9vMiA9CisgIHN1YmplY3QuCisgIHVwZGF0ZSgKKyAgICAy CisgICkKKworbTEgPSBmb28KKyAgLmFzZGFzZAorICAucHJvYyBkbyB8KiphcmdzfAorICAg IHAoKiphcmdzKQorICBlbmQKKworbTIgPSBmb28KKyAgLmFzZGFzZAorICAucHJvYyB7IHwq KmFyZ3N8CisgICAgcCgqKmFyZ3MpCisgIH0KKworYmFyLmZvbyBkbworICBiYXIKK2VuZAor CitiYXIuZm9vKHRlZSkgZG8KKyAgYmFyCitlbmQKKworYmFyLmZvbyh0ZWUpIHsKKyAgYmFy Cit9CisKKyMgRW5kbGVzcyBtZXRob2RzLgorY2xhc3MgQmFyCisgIGRlZiBmb28oYWJjKSA9 IGJhciArCisgICAgYmF6CitlbmQKKworeC5mb28gZG8KKyAgZm9vCitlbmQuYmFyIGRvCisg IGJhcgorZW5kCisKKyMgTG9jYWwgVmFyaWFibGVzOgorIyBydWJ5LW1ldGhvZC1wYXJhbXMt aW5kZW50OiB0CisjIHJ1YnktaW5kZW50LXNpbXBsaWZpZWQ6IHQKKyMgRW5kOgpkaWZmIC0t Z2l0IGEvdGVzdC9saXNwL3Byb2dtb2Rlcy9ydWJ5LW1vZGUtcmVzb3VyY2VzL3J1YnkucmIg Yi90ZXN0L2xpc3AvcHJvZ21vZGVzL3J1YnktbW9kZS1yZXNvdXJjZXMvcnVieS5yYgppbmRl eCA2YTY5ZDlkYjc4YS4uZDBlZThmOGY1MmIgMTAwNjQ0Ci0tLSBhL3Rlc3QvbGlzcC9wcm9n bW9kZXMvcnVieS1tb2RlLXJlc291cmNlcy9ydWJ5LnJiCisrKyBiL3Rlc3QvbGlzcC9wcm9n bW9kZXMvcnVieS1tb2RlLXJlc291cmNlcy9ydWJ5LnJiCkBAIC0yMjYsNiArMjI2LDcgQEAg ZGVmIGJlZ2luCiAKIGZvby4KICAgYmFyCisgIC5iYXoKIAogIyBodHRwczovL2dpdGh1Yi5j b20vcmFpbHMvcmFpbHMvYmxvYi8xN2Y1ZDhlMDYyOTA5ZjFmY2FlMjUzNTE4MzRkOGU4OTk2 N2I2NDVlL2FjdGl2ZXN1cHBvcnQvbGliL2FjdGl2ZV9zdXBwb3J0L3RpbWVfd2l0aF96b25l LnJiI0wyMDYKIGZvbyAjIGNvbW1lbnQgaW50ZW5kZWQgdG8gY29uZnVzZSB0aGUgdG9rZW5p emVyCkBAIC0zODAsNiArMzgxLDE4IEBAIGRlZiBiYXIKICAgaSArIDEKIGVuZAogCittMSA9 IGZvbworICAgICAgIC5hc2Rhc2QKKyAgICAgICAucHJvYyBkbyB8KiphcmdzfAorICBwKCoq YXJncykKK2VuZAorCittMiA9IGZvbworICAgICAgIC5hc2Rhc2QKKyAgICAgICAucHJvYyB7 IHwqKmFyZ3N8CisgIHAoKiphcmdzKQorfQorCiBiYXIuZm9vIGRvCiAgIGJhcgogZW5kCkBA IC0zOTgsNiArNDExLDEyIEBAIGRlZiBiYXIKICAgZW5kCiBlbmQKIAoreC5mb28gZG8KKyAg Zm9vCitlbmQuYmFyIGRvCisgIGJhcgorZW5kCisKIGZvbyB8CiAgIGJhcgogCkBAIC01NDEs NCArNTYwLDUgQEAgZGVmIGJhei5mdWxsX25hbWUgPSAiI3tiYXJ9IDMiCiAKICMgTG9jYWwg VmFyaWFibGVzOgogIyBydWJ5LW1ldGhvZC1wYXJhbXMtaW5kZW50OiB0CisjIHJ1YnktaW5k ZW50LXNpbXBsaWZpZWQ6IG5pbAogIyBFbmQ6CmRpZmYgLS1naXQgYS90ZXN0L2xpc3AvcHJv Z21vZGVzL3J1YnktbW9kZS10ZXN0cy5lbCBiL3Rlc3QvbGlzcC9wcm9nbW9kZXMvcnVieS1t b2RlLXRlc3RzLmVsCmluZGV4IDU2MGY3ODAyODVhLi40YTg2NDkyYjEzNyAxMDA2NDQKLS0t IGEvdGVzdC9saXNwL3Byb2dtb2Rlcy9ydWJ5LW1vZGUtdGVzdHMuZWwKKysrIGIvdGVzdC9s aXNwL3Byb2dtb2Rlcy9ydWJ5LW1vZGUtdGVzdHMuZWwKQEAgLTk1Nyw2ICs5NTcsNyBAQCBy dWJ5LWRlZnRlc3QtaW5kZW50CiAKIChydWJ5LWRlZnRlc3QtaW5kZW50ICJydWJ5LnJiIikK IChydWJ5LWRlZnRlc3QtaW5kZW50ICJydWJ5LW1ldGhvZC1wYXJhbXMtaW5kZW50LnJiIikK KyhydWJ5LWRlZnRlc3QtaW5kZW50ICJydWJ5LWluZGVudC1zaW1wbGlmaWVkLnJiIikKIAog KGVydC1kZWZ0ZXN0IHJ1YnktLXRlc3QtY2hhaW5lZC1pbmRlbnRhdGlvbiAoKQogICAod2l0 aC10ZW1wLWJ1ZmZlcgo= --------------iahvROq0xSQd6gVEaEvMk7eT--