From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Bastian Beranek Newsgroups: gmane.emacs.bugs Subject: bug#46299: 28.0.50; Value of tab-bar-show not respected in new frames. Date: Thu, 11 Feb 2021 18:34:26 +0100 Message-ID: References: <871rdv4xog.fsf@gmail.com> <87k0rmnbqs.fsf@mail.linkov.net> <87a6sfu0fi.fsf@mail.linkov.net> <87v9b2ifrz.fsf@mail.linkov.net> <55ebad56-b440-198a-653e-1660040d5eae@gmx.at> <38b988fd-2ad6-a596-23a0-1d765249f718@gmx.at> <87tuqjydku.fsf@mail.linkov.net> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="00000000000054485205bb12ef7a" Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="21154"; mail-complaints-to="usenet@ciao.gmane.io" Cc: 46299@debbugs.gnu.org To: Juri Linkov Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Thu Feb 11 18:40:18 2021 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 1lAFww-0005Qe-CJ for geb-bug-gnu-emacs@m.gmane-mx.org; Thu, 11 Feb 2021 18:40:18 +0100 Original-Received: from localhost ([::1]:51242 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1lAFwv-00011A-7I for geb-bug-gnu-emacs@m.gmane-mx.org; Thu, 11 Feb 2021 12:40:17 -0500 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:58198) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1lAFrq-0003zz-Hc for bug-gnu-emacs@gnu.org; Thu, 11 Feb 2021 12:35:03 -0500 Original-Received: from debbugs.gnu.org ([209.51.188.43]:47683) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1lAFrq-00035n-6M for bug-gnu-emacs@gnu.org; Thu, 11 Feb 2021 12:35:02 -0500 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1lAFrp-0007g6-S7 for bug-gnu-emacs@gnu.org; Thu, 11 Feb 2021 12:35:01 -0500 X-Loop: help-debbugs@gnu.org Resent-From: Bastian Beranek Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Thu, 11 Feb 2021 17:35:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 46299 X-GNU-PR-Package: emacs Original-Received: via spool by 46299-submit@debbugs.gnu.org id=B46299.161306489329498 (code B ref 46299); Thu, 11 Feb 2021 17:35:01 +0000 Original-Received: (at 46299) by debbugs.gnu.org; 11 Feb 2021 17:34:53 +0000 Original-Received: from localhost ([127.0.0.1]:59229 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lAFrh-0007fh-1w for submit@debbugs.gnu.org; Thu, 11 Feb 2021 12:34:53 -0500 Original-Received: from mail-qt1-f182.google.com ([209.85.160.182]:36309) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lAFrc-0007fS-DK for 46299@debbugs.gnu.org; Thu, 11 Feb 2021 12:34:51 -0500 Original-Received: by mail-qt1-f182.google.com with SMTP id o21so4749807qtr.3 for <46299@debbugs.gnu.org>; Thu, 11 Feb 2021 09:34:48 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=OssLfc0XL6F+dDhH8co+y26Q6Ja8X5mk5WKJHRlTc6k=; b=jlV88XXChOm2cFDc1MCqb+BGBJbXpTHBkHat3QsxHDW7vuA5AhPrjxMaxovQZtWk5E jdH1J6Ub6CCzqFCt1vf2/KOtMrlFUo3CRx52kntFTWEpev0lkreufLnPspjw+r1PGkx5 vJklB0h2DX7xCr/XmiCWRWOhPV564nnLktyNwFz/z4JfiNyziAqMzIDXsFRz2rATRwaR NGSHGq3QHyNaYVB9ws45NV1yPpofDUfchSeRMVtP5vZdtESjnMoefnitYGpCayWi4cyi 0l0+MCmgKlu4CrsZXet3ekCl4QmkBtVE7hUJctlrmYLed97Dc1s14NnCDKfkNum9/Cqh sDjg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=OssLfc0XL6F+dDhH8co+y26Q6Ja8X5mk5WKJHRlTc6k=; b=uPdRK4Au5DfVaNthyIUJ/r2V62idn/8ck6nUVgv2QIN/+EdoaR2SKutrXn7a130r2m UIh5gti+RRuy/BoY5E7ShH35A7WJTQz2nPDc9tomoqsQkDdSruzsnoh1ibtUHVy4DCqv XKLaFaYlweiblkaXIyh4ZIZ4L9RydkGAoG0W1xc5HNiLdp/ipgAVmPKfLeiYnkdHakT1 wzfZLKof8w8TpS4yC1E6JfOCyGe/1IJyT6BmSoiTJCmrnw9NqPSclsjY9BVnDUrOgz02 MNS50YbM8BXZH3dwslcjp9nXxmUP2ey5LWcBnHOtG3r/xEnDrQ6w5kBqL9Rxt1HdbBgH Ij7g== X-Gm-Message-State: AOAM533DzaqTSFjDSEBCr0qyBZq57hC1aW3jOSJaB2E46jwLZgO0+m58 HnyZMy63oCMnVon+Z0WW7mZhEyARTXQu15yX6tg= X-Google-Smtp-Source: ABdhPJyLAUmUfJmLKZf0i0sTvIVu3IxOo2WFjZwc95pqOtonVHvxOIDbmKytLoWxj9uwPBU/l1jDjMkwqAT2iehpD98= X-Received: by 2002:a05:622a:109:: with SMTP id u9mr8430337qtw.116.1613064882628; Thu, 11 Feb 2021 09:34:42 -0800 (PST) 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" Xref: news.gmane.io gmane.emacs.bugs:199824 Archived-At: --00000000000054485205bb12ef7a Content-Type: text/plain; charset="UTF-8" On Thu, Feb 11, 2021 at 1:14 PM Bastian Beranek wrote: > > Hello Juri, > > I have updated my patch (see v6 attached). Please find my comments inline. > > I have also finished the copyright assignment procedure now. > > On Wed, Feb 10, 2021 at 7:41 PM Juri Linkov wrote: > > I don't know if Martin will agree, but most frame functions > > interpret their optional FRAME argument in such a way that > > if it's nil or omitted, FRAME defaults to the selected frame. > > > > For example, 'set-frame-font' documents this: > > > > If FRAMES is nil, apply the font to the selected frame only. > > If FRAMES is non-nil, it should be a list of frames to act upon, > > or t meaning all existing graphical frames. > > > > and uses such implementation: > > > > (let ((frame-lst (cond ((null frames) > > (list (selected-frame))) > > ((eq frames t) > > (frame-list)) > > (t frames)))) > > (dolist (f frame-lst) > > That's true and I noticed this inconsistency as well. So thanks for > the suggestion, I have updated the patch accordingly. > > On Wed, Feb 10, 2021 at 7:41 PM Juri Linkov wrote: > > > > > Hope this is satisfactory, if not please feel free to adjust as you wish. > > > > Thanks, please see more comments: > > > > > +(defun tab-bar--tab-bar-lines-for-frame (frame) > > > + (if (not tab-bar-mode) > > > + 0 > > > + (cond > > > + ((eq tab-bar-show t) 1) > > > + ((natnump tab-bar-show) > > > + (if (> (length (funcall tab-bar-tabs-function frame)) tab-bar-show) 1 0)) > > > + (t 0)))) > > > > A small optimization: > > > > ((not tab-bar-mode) 0) > > > > could be added as the first condition of the same 'cond'. > > Thanks! Done. > > > > > > :set (lambda (sym val) > > > (set-default sym val) > > > ;; Preload button images > > > + ;; Note: tab-bar-mode updates tab-bar-lines as well. > > > + (tab-bar-mode 1)) > > > > Not sure whether the users would want to enable tab-bar-mode > > unconditionally after customizing tab-bar-show. > > > > Maybe when customized tab-bar-show to nil, only call > > tab-bar--update-tab-bar-lines in all frames? > > Or maybe simply to disable the tab bar with (tab-bar-mode 0) > > when customized to nil? > > I am not sure either. I think the best is to just leave tab-bar-mode > as it is to be honest. All this entanglement doesn't seem very clean > to me. Yes this would mean that the user needs to manually enable > tab-bar-mode after customizing the variable, but on the other hand > tab-bar-mode is on by default, so the user must have switched it off > in his .emacs by choice. So I just added the call the > tab-bar--update-tab-bar-lines for all frames, because this is > necessary for sure. On the other hand I don't fully understand the > comment about 'Preload button images'. I think the images and > keybindings are loaded when tab-bar-mode is switched on and afterwards > whenever a new tab is created in tab-bar-new-to, so it seems > independent of tab-bar-show. When tab-bar-show is customized they are > either already loaded because tab-bar-mode is on, or if it is not they > are not required and will be loaded when tab-bar-mode is activated. I was wrong about the "tab-bar-mode is on by default" part, so maybe I like your suggestion more. I added: diff --git a/lisp/tab-bar.el b/lisp/tab-bar.el index 7afbb96212..93573d8a75 100644 --- a/lisp/tab-bar.el +++ b/lisp/tab-bar.el @@ -276,8 +276,9 @@ tab-bar-show :initialize 'custom-initialize-default :set (lambda (sym val) (set-default sym val) - ;; Recalculate tab-bar-lines for all frames - (tab-bar--update-tab-bar-lines t)) + (if val + (tab-bar-mode 1) + (tab-bar--update-tab-bar-lines t))) :group 'tab-bar :version "27.1") with respect to v6, v7 is attached. > > > > > > @@ -852,16 +867,15 @@ After the tab is created, the hooks in > > > + ;; Switch on tab-bar-mode, since a tab was created > > > + (when tab-bar-show > > > (tab-bar-mode 1)) > > > + > > > + ;; Recalculate tab-bar-lines and update frames > > > + (tab-bar--update-tab-bar-lines (selected-frame)) > > > + (when tab-bar-mode > > > + (tab-bar--load-buttons) > > > + (tab-bar--define-keys)) > > > > Would you agree that here in tab-bar-new-tab-to, the first call of > > tab-bar-mode should already do all these calls: tab-bar--update-tab-bar-lines, > > tab-bar--load-buttons, tab-bar--define-keys? So maybe it should be > > sufficient just to leave these 2 lines here: > > > > (when tab-bar-show > > (tab-bar-mode 1)) > > Yes I agree that tab-bar--update-tab-bar-lines is not needed. It > happens in the line before when tab-bar-show is not nil and doesn't > matter otherwise. I have left these two lines, though: > > (when tab-bar-mode > (tab-bar--load-buttons) > (tab-bar--define-keys)) > > Because I think defining the keys is useful even if tab-bar-show is > nil, so you can switch to another tab using the key bindings even if > you can't see the tab-bar. As for the buttons, I think it makes sense > to load them so that in case tab-bar-show is customized to another > value afterwards they are available directly. --00000000000054485205bb12ef7a Content-Type: text/x-patch; charset="US-ASCII"; name="tab-bar_v7.patch" Content-Disposition: attachment; filename="tab-bar_v7.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_kl155n980 ZGlmZiAtLWdpdCBhL2xpc3AvdGFiLWJhci5lbCBiL2xpc3AvdGFiLWJhci5lbAppbmRleCA2NzIw ZDgyYjQ3Li45MzU3M2Q4YTc1IDEwMDY0NAotLS0gYS9saXNwL3RhYi1iYXIuZWwKKysrIGIvbGlz cC90YWItYmFyLmVsCkBAIC0xMzQsMjEgKzEzNCw0NyBAQCB0YWItYmFyLS1sb2FkLWJ1dHRvbnMK ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDphc2NlbnQgY2VudGVy KSkKICAgICAgICAgICAgICAgICAgICAgICAgICB0YWItYmFyLWNsb3NlLWJ1dHRvbikpKQogCiso ZGVmdW4gdGFiLWJhci0tdGFiLWJhci1saW5lcy1mb3ItZnJhbWUgKGZyYW1lKQorICAiRGV0ZXJt aW5lIGFuZCByZXR1cm4gdGhlIHZhbHVlIG9mIGB0YWItYmFyLWxpbmVzJyBmb3IgRlJBTUUuCitS ZXR1cm4gMCBpZiBgdGFiLWJhci1tb2RlJyBpcyBub3QgZW5hYmxlZC4gIE90aGVyd2lzZSByZXR1 cm4KK2VpdGhlciAxIG9yIDAgZGVwZW5kaW5nIG9uIHRoZSB2YWx1ZSBvZiB0aGUgY3VzdG9taXph YmxlIHZhcmlhYmxlCitgdGFiLWJhci1zaG93Jywgd2hpY2ggc2VlLiIKKyAgKGNvbmQKKyAgICgo bm90IHRhYi1iYXItbW9kZSkgMCkKKyAgICgobm90IHRhYi1iYXItc2hvdykgMCkKKyAgICgoZXEg dGFiLWJhci1zaG93IHQpIDEpCisgICAoKG5hdG51bXAgdGFiLWJhci1zaG93KQorICAgIChpZiAo PiAobGVuZ3RoIChmdW5jYWxsIHRhYi1iYXItdGFicy1mdW5jdGlvbiBmcmFtZSkpIHRhYi1iYXIt c2hvdykgMSAwKSkpKQorCisoZGVmdW4gdGFiLWJhci0tdXBkYXRlLXRhYi1iYXItbGluZXMgKCZv cHRpb25hbCBmcmFtZXMpCisgICJVcGRhdGUgdGhlIGB0YWItYmFyLWxpbmVzJyBwYXJhbWV0ZXIg aW4gZnJhbWVzLgorVXBkYXRlIHRoZSB0YWItYmFyLWxpbmVzIGZyYW1lIHBhcmFtZXRlci4gSWYg dGhlIG9wdGlvbmFsCitwYXJhbWV0ZXIgRlJBTUVTIGlzIG9taXR0ZWQsIHVwZGF0ZSBvbmx5IHRo ZSBjdXJyZW50bHkgc2VsZWN0ZWQKK2ZyYW1lLiAgSWYgaXQgaXMgYHQnLCB1cGRhdGUgYWxsIGZy YW1lcyBhcyB3ZWxsIGFzIHRoZSBkZWZhdWx0Citmb3IgbmV3IGZyYW1lcy4gIE90aGVyd2lzZSBG UkFNRVMgc2hvdWxkIGJlIGEgbGlzdCBvZiBmcmFtZXMgdG8KK3VwZGF0ZS4iCisgIChsZXQgKChm cmFtZS1sc3QgKGNvbmQgKChudWxsIGZyYW1lcykKKyAgICAgICAgICAgICAgICAgICAgICAgICAg KGxpc3QgKHNlbGVjdGVkLWZyYW1lKSkpCisgICAgICAgICAgICAgICAgICAgICAgICAgKChlcSBm cmFtZXMgdCkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgKGZyYW1lLWxpc3QpKQorICAgICAg ICAgICAgICAgICAgICAgICAgICh0IGZyYW1lcykpKSkKKyAgICA7OyBMb29wIG92ZXIgYWxsIGZy YW1lcyBhbmQgdXBkYXRlIGRlZmF1bHQtZnJhbWUtYWxpc3QKKyAgICAoZG9saXN0IChmcmFtZSBm cmFtZS1sc3QpCisgICAgICAoc2V0LWZyYW1lLXBhcmFtZXRlciBmcmFtZSAndGFiLWJhci1saW5l cyAodGFiLWJhci0tdGFiLWJhci1saW5lcy1mb3ItZnJhbWUgZnJhbWUpKSkpCisgICh3aGVuIChl cSBmcmFtZXMgdCkKKyAgICAoc2V0cSBkZWZhdWx0LWZyYW1lLWFsaXN0CisgICAgICAgICAgKGNv bnMgKGNvbnMgJ3RhYi1iYXItbGluZXMgKGlmIChhbmQgdGFiLWJhci1tb2RlIChlcSB0YWItYmFy LXNob3cgdCkpIDEgMCkpCisgICAgICAgICAgICAgICAgKGFzc3EtZGVsZXRlLWFsbCAndGFiLWJh ci1saW5lcyBkZWZhdWx0LWZyYW1lLWFsaXN0KSkpKSkKKwogKGRlZmluZS1taW5vci1tb2RlIHRh Yi1iYXItbW9kZQogICAiVG9nZ2xlIHRoZSB0YWIgYmFyIGluIGFsbCBncmFwaGljYWwgZnJhbWVz IChUYWIgQmFyIG1vZGUpLiIKICAgOmdsb2JhbCB0CiAgIDs7IEl0J3MgZGVmaW5lZCBpbiBDL2N1 cy1zdGFydCwgdGhpcyBzdG9wcyB0aGUgZC1tLW0gbWFjcm8gZGVmaW5pbmcgaXQgYWdhaW4uCiAg IDp2YXJpYWJsZSB0YWItYmFyLW1vZGUKLSAgKGxldCAoKHZhbCAoaWYgdGFiLWJhci1tb2RlIDEg MCkpKQotICAgIChkb2xpc3QgKGZyYW1lIChmcmFtZS1saXN0KSkKLSAgICAgIChzZXQtZnJhbWUt cGFyYW1ldGVyIGZyYW1lICd0YWItYmFyLWxpbmVzIHZhbCkpCi0gICAgOzsgSWYgdGhlIHVzZXIg aGFzIGdpdmVuIGBkZWZhdWx0LWZyYW1lLWFsaXN0JyBhIGB0YWItYmFyLWxpbmVzJwotICAgIDs7 IHBhcmFtZXRlciwgcmVwbGFjZSBpdC4KLSAgICAoaWYgKGFzc3EgJ3RhYi1iYXItbGluZXMgZGVm YXVsdC1mcmFtZS1hbGlzdCkKLSAgICAgICAgKHNldHEgZGVmYXVsdC1mcmFtZS1hbGlzdAotICAg ICAgICAgICAgICAoY29ucyAoY29ucyAndGFiLWJhci1saW5lcyB2YWwpCi0gICAgICAgICAgICAg ICAgICAgIChhc3NxLWRlbGV0ZS1hbGwgJ3RhYi1iYXItbGluZXMKLSAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBkZWZhdWx0LWZyYW1lLWFsaXN0KSkpKSkKKworICA7OyBSZWNh bGN1bGF0ZSB0YWItYmFyLWxpbmVzIGZvciBhbGwgZnJhbWVzCisgICh0YWItYmFyLS11cGRhdGUt dGFiLWJhci1saW5lcyB0KQorCiAgICh3aGVuIHRhYi1iYXItbW9kZQogICAgICh0YWItYmFyLS1s b2FkLWJ1dHRvbnMpKQogICAoaWYgdGFiLWJhci1tb2RlCkBAIC0yNTAsMTcgKzI3Niw5IEBAIHRh Yi1iYXItc2hvdwogICA6aW5pdGlhbGl6ZSAnY3VzdG9tLWluaXRpYWxpemUtZGVmYXVsdAogICA6 c2V0IChsYW1iZGEgKHN5bSB2YWwpCiAgICAgICAgICAoc2V0LWRlZmF1bHQgc3ltIHZhbCkKLSAg ICAgICAgIDs7IFByZWxvYWQgYnV0dG9uIGltYWdlcwotICAgICAgICAgKHRhYi1iYXItbW9kZSAx KQotICAgICAgICAgOzsgVGhlbiBoYW5kbGUgZWFjaCBmcmFtZSBpbmRpdmlkdWFsbHkKLSAgICAg ICAgIChkb2xpc3QgKGZyYW1lIChmcmFtZS1saXN0KSkKLSAgICAgICAgICAgKHNldC1mcmFtZS1w YXJhbWV0ZXIKLSAgICAgICAgICAgIGZyYW1lICd0YWItYmFyLWxpbmVzCi0gICAgICAgICAgICAo aWYgKG9yIChlcSB2YWwgdCkKLSAgICAgICAgICAgICAgICAgICAgKGFuZCAobmF0bnVtcCB2YWwp Ci0gICAgICAgICAgICAgICAgICAgICAgICAgKD4gKGxlbmd0aCAoZnVuY2FsbCB0YWItYmFyLXRh YnMtZnVuY3Rpb24gZnJhbWUpKQotICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbCkpKQot ICAgICAgICAgICAgICAgIDEgMCkpKSkKKyAgICAgICAgIChpZiB2YWwKKyAgICAgICAgICAgICAo dGFiLWJhci1tb2RlIDEpCisgICAgICAgICAgICh0YWItYmFyLS11cGRhdGUtdGFiLWJhci1saW5l cyB0KSkpCiAgIDpncm91cCAndGFiLWJhcgogICA6dmVyc2lvbiAiMjcuMSIpCiAKQEAgLTg1Miwx NiArODcwLDE0IEBAIHRhYi1iYXItbmV3LXRhYi10bwogICAgICAgKHJ1bi1ob29rLXdpdGgtYXJn cyAndGFiLWJhci10YWItcG9zdC1vcGVuLWZ1bmN0aW9ucwogICAgICAgICAgICAgICAgICAgICAg ICAgICAobnRoIHRvLWluZGV4IHRhYnMpKSkKIAotICAgIChjb25kCi0gICAgICgoZXEgdGFiLWJh ci1zaG93IHQpCisgICAgOzsgU3dpdGNoIG9uIHRhYi1iYXItbW9kZSwgc2luY2UgYSB0YWIgd2Fz IGNyZWF0ZWQKKyAgICA7OyBOb3RlOiBUaGlzIGFsc28gdXBkYXRlcyB0YWItYmFyLWxpbmVzCisg ICAgKHdoZW4gdGFiLWJhci1zaG93CiAgICAgICAodGFiLWJhci1tb2RlIDEpKQotICAgICAoKGFu ZCAobmF0bnVtcCB0YWItYmFyLXNob3cpCi0gICAgICAgICAgICg+IChsZW5ndGggKGZ1bmNhbGwg dGFiLWJhci10YWJzLWZ1bmN0aW9uKSkgdGFiLWJhci1zaG93KQotICAgICAgICAgICAoemVyb3Ag KGZyYW1lLXBhcmFtZXRlciBuaWwgJ3RhYi1iYXItbGluZXMpKSkKLSAgICAgIChwcm9nbgotICAg ICAgICAodGFiLWJhci0tbG9hZC1idXR0b25zKQotICAgICAgICAodGFiLWJhci0tZGVmaW5lLWtl eXMpCi0gICAgICAgIChzZXQtZnJhbWUtcGFyYW1ldGVyIG5pbCAndGFiLWJhci1saW5lcyAxKSkp KQorCisgICAgKHdoZW4gdGFiLWJhci1tb2RlCisgICAgICAodGFiLWJhci0tbG9hZC1idXR0b25z KQorICAgICAgKHRhYi1iYXItLWRlZmluZS1rZXlzKSkKIAogICAgIChmb3JjZS1tb2RlLWxpbmUt dXBkYXRlKQogICAgICh1bmxlc3MgdGFiLWJhci1tb2RlCkBAIC05OTYsMTEgKzEwMTIsOCBAQCB0 YWItYmFyLWNsb3NlLXRhYgogICAgICAgICAgICAgICAgIHRhYi1iYXItY2xvc2VkLXRhYnMpCiAg ICAgICAgICAgKHNldC1mcmFtZS1wYXJhbWV0ZXIgbmlsICd0YWJzIChkZWxxIGNsb3NlLXRhYiB0 YWJzKSkpCiAKLSAgICAgICAgKHdoZW4gKGFuZCAobm90ICh6ZXJvcCAoZnJhbWUtcGFyYW1ldGVy IG5pbCAndGFiLWJhci1saW5lcykpKQotICAgICAgICAgICAgICAgICAgIChuYXRudW1wIHRhYi1i YXItc2hvdykKLSAgICAgICAgICAgICAgICAgICAoPD0gKGxlbmd0aCAoZnVuY2FsbCB0YWItYmFy LXRhYnMtZnVuY3Rpb24pKQotICAgICAgICAgICAgICAgICAgICAgICB0YWItYmFyLXNob3cpKQot ICAgICAgICAgIChzZXQtZnJhbWUtcGFyYW1ldGVyIG5pbCAndGFiLWJhci1saW5lcyAwKSkKKyAg ICAgICAgOzsgUmVjYWxjdWxhdGUgdGFiLWJhci1saW5lcyBhbmQgdXBkYXRlIGZyYW1lcworICAg ICAgICAodGFiLWJhci0tdXBkYXRlLXRhYi1iYXItbGluZXMpCiAKICAgICAgICAgKGZvcmNlLW1v ZGUtbGluZS11cGRhdGUpCiAgICAgICAgICh1bmxlc3MgdGFiLWJhci1tb2RlCkBAIC0xMDM2LDEx ICsxMDQ5LDggQEAgdGFiLWJhci1jbG9zZS1vdGhlci10YWJzCiAgICAgICAgICAgKHJ1bi1ob29r LXdpdGgtYXJncyAndGFiLWJhci10YWItcHJlLWNsb3NlLWZ1bmN0aW9ucyAobnRoIGluZGV4IHRh YnMpIG5pbCkpKQogICAgICAgKHNldC1mcmFtZS1wYXJhbWV0ZXIgbmlsICd0YWJzIChsaXN0IChu dGggY3VycmVudC1pbmRleCB0YWJzKSkpCiAKLSAgICAgICh3aGVuIChhbmQgKG5vdCAoemVyb3Ag KGZyYW1lLXBhcmFtZXRlciBuaWwgJ3RhYi1iYXItbGluZXMpKSkKLSAgICAgICAgICAgICAgICAg KG5hdG51bXAgdGFiLWJhci1zaG93KQotICAgICAgICAgICAgICAgICAoPD0gKGxlbmd0aCAoZnVu Y2FsbCB0YWItYmFyLXRhYnMtZnVuY3Rpb24pKQotICAgICAgICAgICAgICAgICAgICAgdGFiLWJh ci1zaG93KSkKLSAgICAgICAgKHNldC1mcmFtZS1wYXJhbWV0ZXIgbmlsICd0YWItYmFyLWxpbmVz IDApKQorICAgICAgOzsgUmVjYWxjdWxhdGUgdGFiLWJhci1saW5lcyBhbmQgdXBkYXRlIGZyYW1l cworICAgICAgKHRhYi1iYXItLXVwZGF0ZS10YWItYmFyLWxpbmVzKQogCiAgICAgICAoZm9yY2Ut bW9kZS1saW5lLXVwZGF0ZSkKICAgICAgICh1bmxlc3MgdGFiLWJhci1tb2RlCg== --00000000000054485205bb12ef7a--