Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1vQkFx-00GemA-1N for pgsql-www@arkaria.postgresql.org; Wed, 03 Dec 2025 10:38:46 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.96) (envelope-from ) id 1vQkFw-00Ck2w-1h for pgsql-www@arkaria.postgresql.org; Wed, 03 Dec 2025 10:38:44 +0000 Received: from makus.postgresql.org ([2001:4800:3e1:1::229]) by malur.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1vQkFv-00Ck2k-2p for pgsql-www@lists.postgresql.org; Wed, 03 Dec 2025 10:38:44 +0000 Received: from mail-lf1-x130.google.com ([2a00:1450:4864:20::130]) by makus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.96) (envelope-from ) id 1vQkFt-002uUg-18 for pgsql-www@lists.postgresql.org; Wed, 03 Dec 2025 10:38:43 +0000 Received: by mail-lf1-x130.google.com with SMTP id 2adb3069b0e04-5957ac0efc2so7404619e87.1 for ; Wed, 03 Dec 2025 02:38:41 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=pgadmin.org; s=google; t=1764758319; x=1765363119; darn=lists.postgresql.org; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=551oUnnCeVAeQFYQ/pbtOK30QMUO0aKaT3DoOx/DZ2w=; b=apybNxZepK3b31+nkXfEZe5wrR/LmoUsGyaqP1s5Cq3yOP5gn0S7arX328Rd3sSIZQ tlnqxxC35n0t56LzuT4yb2HKZ/jv/qEdS7WRz5qXQ7asxhAI3xB1IRntpx4j+uzqBOcr YXghb+NrguY1Tz/zrXQM1dR7YBX7WvhV7ssEP2V7rNkSbSQ2tujmvj90scHKEw784ITD R+oP6o7snFJFzGoPB4PGJR+n++T6Shcb1xDR5t5kc2kgLViw1Nneeo7MxOUi5rVeDnyV bY73u8oloMDADfiJv0DQWhna3Q00I9oJAHUfBjbUy3WKgF8fq2O0bpXUgc+tW468DvUZ M10w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1764758319; x=1765363119; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-gg:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=551oUnnCeVAeQFYQ/pbtOK30QMUO0aKaT3DoOx/DZ2w=; b=iQj/y0So4Hbx414Db1+Tj+SU7/hLX7dLX7RQK24eCBff7+ganLYQUpbTTE70GmjV82 YjwpqIlnnWpUPQdsMu/SgqTfItk+NP4nx55uM+H2UO1JQAOwYaJEag9uJnkl6w64DWFO /INPzOoj8Pmhi2EdwjUmPik5R9/5onzLdzhYuA6QxoTtkOLS3fBCraBviohYZ73NNzW+ mOri2MkNxaq41Dm1t1v66e0btqwThhwmkAj5DsCEjkNkCpggDiCW4TpRxjg4s8uPJqaR BUHK8nx0/YO5J+7hWURozT7EzBAUmHfejH8j8CoGNyLmmcykBkTwC7i0Njle9hHEOcPA v7ew== X-Gm-Message-State: AOJu0YwkAZvGREzink0eVuDm/LcicYCnuqU/geq5/YAhAvwGpgk19wC1 0JJvQm26iYcZS6g0Z/y6pnzTvFVa9jDfG/Q5yo2VYBfwHwZSaGNCGPeKwehnNnRIDuPv/cGVn+V mUunppRuG8b+m0UgG/wwqYqsJr9eHr1xSL3++7++zYVmVKRTggO6FRPKM X-Gm-Gg: ASbGncsi9T70Okr2YJF/0lfMf+udEGGBqzs54NZnn5curNDPDYp392zN7Juze2p88AN edDuoL4mZhWOxp7joTiPNsXvr6V2EPl2RHclILUN6fVAM2dS+i/oi+DsrCiYePRUUXJ5tVp/3UT LGbjhZ5eXhTybX8eflGTKC32c/o+D3QSua9o9V+HMKBrSfBAnvQomDShiCVRW4mREN72aPq4tWX xKPK15ChZffGxZrf2Gm3X6h5/qGKG2s7DKjlPFvQPJfc4nTgC87/9HtbIOhtUAGNdNpV2VNXA== X-Google-Smtp-Source: AGHT+IEfnDnojXplyxD2NbXcQjELx84XYk8RxgCos5Us5kuOIRJ5PTuAA8FMRdLmD6NK6F5O7+u0LNjRIbJPZKQiDls= X-Received: by 2002:a05:6512:3049:b0:595:91dc:727c with SMTP id 2adb3069b0e04-597d3fb7271mr830698e87.35.1764758318500; Wed, 03 Dec 2025 02:38:38 -0800 (PST) MIME-Version: 1.0 References: In-Reply-To: From: Dave Page Date: Wed, 3 Dec 2025 10:38:26 +0000 X-Gm-Features: AWmQ_bmq929ekuilvTF7LI0EsBoeD6fCx2rFkYkMgXk_VIIaFOPylU4yKb5bfnA Message-ID: Subject: Re: Copy script button cleanup To: Magnus Hagander Cc: PostgreSQL WWW Content-Type: multipart/mixed; boundary="000000000000b090ed064509d001" List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk --000000000000b090ed064509d001 Content-Type: multipart/alternative; boundary="000000000000b090eb064509d0ff" --000000000000b090eb064509d0ff Content-Type: text/plain; charset="UTF-8" On Tue, 2 Dec 2025 at 14:41, Magnus Hagander wrote: > > > On Tue, 2 Dec 2025 at 12:30, Dave Page wrote: > >> The Copy Script buttons on the Linux package installation pages look >> horrific. See before.png. >> >> The attached patch makes them look much nicer, with proper sizing and an >> icon based button. On click, it briefly changes to a green checkmark to >> show confirmation. See the after screenshots. >> >> I'll apply this in a couple of days if there are no objections. >> >> > LGTM in general and certainly is a lot prettier. > > Can you explain what that "fallback for text based buttons" is? Aren't > they all replaced with icons? > Oh, yeah. That's no longer needed now the patch is complete. I'll remove it. > > Oh, and I'm told you're not supposed to use "var" for variables in js due > to the broken scoping :) > Old habits die hard :-( > > And while you're poking at it, one thing I've really wanted is a "copy > without the sudo parts". But I'm guessing that would be a lot more > complicated than what you're fixing here... > Ask and thou shalt receive. 2 patches attached. Both fix the original issue. One also adds the no sudo button. -- Dave Page pgAdmin: https://www.pgadmin.org PostgreSQL: https://www.postgresql.org pgEdge: https://www.pgedge.com --000000000000b090eb064509d0ff Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable


On Tue, 2 Dec 2= 025 at 14:41, Magnus Hagander <ma= gnus@hagander.net> wrote:


On Tue, 2 Dec 2025 at 12:30, Dave Page <dpage@pgadmin.org> wrot= e:
The Copy Script buttons = on the Linux package installation pages look horrific. See before.png.

The attached patch makes them look much nicer, with pr= oper sizing and an icon based button. On click, it briefly changes to a gre= en checkmark to show confirmation. See the after screenshots.
I'll apply this in a couple of days if there are no objecti= ons.


LGTM in gen= eral and certainly is a lot prettier.

Can you expl= ain what that "fallback for text based buttons" is?=C2=A0 Aren= 9;t they all replaced with icons?

Oh, yeah. That's no longer needed now the patch is complete. I= 'll remove it.
=C2=A0
=

Oh, and I'm told you'= ;re not supposed to use "var" for variables in js due to the brok= en scoping :)

Old habits = die hard :-(
=C2=A0
=
And while you're poking at it, one thing I've really= wanted is a "copy without the sudo parts". But I'm guessing = that would be a lot more complicated than what you're fixing here...

Ask and thou shalt receive.
=

2 patches attached. Both fix the original issue. One al= so adds the no sudo button.
=C2=A0
--
--000000000000b090eb064509d0ff-- --000000000000b090ed064509d001 Content-Type: application/octet-stream; name="copy_script_buttons_no_sudo_v1.diff" Content-Disposition: attachment; filename="copy_script_buttons_no_sudo_v1.diff" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_mipvivwd0 ZGlmZiAtLWdpdCBhL21lZGlhL2Nzcy9tYWluLmNzcyBiL21lZGlhL2Nzcy9tYWluLmNzcwppbmRl eCBkZWRlMmI5MC4uNGY0ZTAwN2YgMTAwNjQ0Ci0tLSBhL21lZGlhL2Nzcy9tYWluLmNzcworKysg Yi9tZWRpYS9jc3MvbWFpbi5jc3MKQEAgLTIwMDEsMTAgKzIwMDEsNTMgQEAgYnV0dG9uLmltYWdl YnV0dG9uIHsKICAgcG9zaXRpb246IHJlbGF0aXZlOwogfQogCisucGctc2NyaXB0LWNvbnRhaW5l ciBwcmUuY29kZSB7CisgIHBhZGRpbmctcmlnaHQ6IDRyZW07CisgIG1pbi1oZWlnaHQ6IDNyZW07 CisgIGRpc3BsYXk6IGZsZXg7CisgIGFsaWduLWl0ZW1zOiBjZW50ZXI7Cit9CisKIC5wZy1zY3Jp cHQtY29weS1idG4gewogICBwb3NpdGlvbjogYWJzb2x1dGU7Ci0gIHRvcDogOHB4OwotICByaWdo dDogOHB4OworICB0b3A6IDAuNXJlbTsKKyAgcmlnaHQ6IDAuNXJlbTsKKyAgYmFja2dyb3VuZDog dHJhbnNwYXJlbnQ7CisgIGJvcmRlcjogbm9uZTsKKyAgZm9udC1zaXplOiAxcmVtOworICBwYWRk aW5nOiA0cHggNnB4OworICBjdXJzb3I6IHBvaW50ZXI7CisgIHRyYW5zaXRpb246IGNvbG9yIDAu MnM7Cit9CisKKy5wZy1zY3JpcHQtY29weS1idG4tcm9vdCB7CisgIHJpZ2h0OiAycmVtOworfQor CisucGctc2NyaXB0LWNvcHktYnRuIGkgeworICBjb2xvcjogIzU1NSAhaW1wb3J0YW50OworICBt YXJnaW46IDAgIWltcG9ydGFudDsKKyAgdHJhbnNpdGlvbjogY29sb3IgMC4yczsKK30KKworLnBn LXNjcmlwdC1jb3B5LWJ0bjpob3ZlciBpIHsKKyAgY29sb3I6ICMzMzY3OTEgIWltcG9ydGFudDsK K30KKworLnBnLXNjcmlwdC1jb3B5LWJ0bi5jb3BpZWQgaSB7CisgIGNvbG9yOiAjMjhhNzQ1ICFp bXBvcnRhbnQ7Cit9CisKK1tkYXRhLXRoZW1lPSJkYXJrIl0gLnBnLXNjcmlwdC1jb3B5LWJ0biBp IHsKKyAgY29sb3I6ICNjY2MgIWltcG9ydGFudDsKK30KKworW2RhdGEtdGhlbWU9ImRhcmsiXSAu cGctc2NyaXB0LWNvcHktYnRuOmhvdmVyIGkgeworICBjb2xvcjogI2ZmZiAhaW1wb3J0YW50Owor fQorCitbZGF0YS10aGVtZT0iZGFyayJdIC5wZy1zY3JpcHQtY29weS1idG4uY29waWVkIGkgewor ICBjb2xvcjogIzdkZmY3ZCAhaW1wb3J0YW50OwogfQogCiAubm9iciB7CmRpZmYgLS1naXQgYS9t ZWRpYS9qcy9kb3dubG9hZC5qcyBiL21lZGlhL2pzL2Rvd25sb2FkLmpzCmluZGV4IDYwYmM5ZjZl Li4wM2JiOTliMyAxMDA2NDQKLS0tIGEvbWVkaWEvanMvZG93bmxvYWQuanMKKysrIGIvbWVkaWEv anMvZG93bmxvYWQuanMKQEAgLTIyLDE2ICsyMiwzMSBAQCBmdW5jdGlvbiBzZXR1cEhhbmRsZXJz KCkgewogICAgICAgICAgICAgY29weVNjcmlwdCh0aGlzLCAnc2NyaXB0LWJveCcpOwogICAgICAg ICB9KTsKICAgICB9CisgICAgaWYgKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5LWJ0bi1y b290IikgJiYgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInNjcmlwdC1ib3giKSkgeworICAgICAg ICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnY29weS1idG4tcm9vdCcpLmFkZEV2ZW50TGlzdGVu ZXIoJ2NsaWNrJywgZnVuY3Rpb24gKCkgeworICAgICAgICAgICAgY29weVNjcmlwdCh0aGlzLCAn c2NyaXB0LWJveCcsIHRydWUpOworICAgICAgICB9KTsKKyAgICB9CiAgICAgaWYgKGRvY3VtZW50 LmdldEVsZW1lbnRCeUlkKCJjb3B5LWJ0bjIiKSAmJiBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi c2NyaXB0LWJveDIiKSkgewogICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnY29weS1i dG4yJykuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCBmdW5jdGlvbiAoKSB7CiAgICAgICAgICAg ICBjb3B5U2NyaXB0KHRoaXMsICdzY3JpcHQtYm94MicpOwogICAgICAgICB9KTsKICAgICB9Cisg ICAgaWYgKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5LWJ0bjItcm9vdCIpICYmIGRvY3Vt ZW50LmdldEVsZW1lbnRCeUlkKCJzY3JpcHQtYm94MiIpKSB7CisgICAgICAgIGRvY3VtZW50Lmdl dEVsZW1lbnRCeUlkKCdjb3B5LWJ0bjItcm9vdCcpLmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywg ZnVuY3Rpb24gKCkgeworICAgICAgICAgICAgY29weVNjcmlwdCh0aGlzLCAnc2NyaXB0LWJveDIn LCB0cnVlKTsKKyAgICAgICAgfSk7CisgICAgfQogICAgIGlmIChkb2N1bWVudC5nZXRFbGVtZW50 QnlJZCgiY29weS1idG4zIikgJiYgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInNjcmlwdC1ib3gz IikpIHsKICAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2NvcHktYnRuMycpLmFkZEV2 ZW50TGlzdGVuZXIoJ2NsaWNrJywgZnVuY3Rpb24gKCkgewogICAgICAgICAgICAgY29weVNjcmlw dCh0aGlzLCAnc2NyaXB0LWJveDMnKTsKICAgICAgICAgfSk7CiAgICAgfQorICAgIGlmIChkb2N1 bWVudC5nZXRFbGVtZW50QnlJZCgiY29weS1idG4zLXJvb3QiKSAmJiBkb2N1bWVudC5nZXRFbGVt ZW50QnlJZCgic2NyaXB0LWJveDMiKSkgeworICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJ ZCgnY29weS1idG4zLXJvb3QnKS5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsIGZ1bmN0aW9uICgp IHsKKyAgICAgICAgICAgIGNvcHlTY3JpcHQodGhpcywgJ3NjcmlwdC1ib3gzJywgdHJ1ZSk7Cisg ICAgICAgIH0pOworICAgIH0KIH0KIAogZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigiRE9NQ29u dGVudExvYWRlZCIsIHNldHVwSGFuZGxlcnMpOwpkaWZmIC0tZ2l0IGEvbWVkaWEvanMvbWFpbi5q cyBiL21lZGlhL2pzL21haW4uanMKaW5kZXggMzM1ZWZiMmEuLmZhYTQ1OGQzIDEwMDY0NAotLS0g YS9tZWRpYS9qcy9tYWluLmpzCisrKyBiL21lZGlhL2pzL21haW4uanMKQEAgLTM0LDMxICszNCwz NyBAQCB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigiaGFzaGNoYW5nZSIsIHNoaWZ0V2luZG93KTsK IC8qIENvcHkgYSBzY3JpcHQgZnJvbSBhbiBIVE1MIGVsZW1lbnQgdG8gdGhlIGNsaXBib2FyZCwK ICAqIHJlbW92aW5nIGNvbW1lbnRzIGFuZCBibGFuayBsaW5lcy4KICAqIEFyZ3VtZW50czoKLSAq ICAgdHJpZ2dlcjogVGhlIGJ1dHRvbiBjYWxsaW5nIHRoZSBmdW5jdGlvbiwgd2hvc2UgbGFiZWwg d2lsbCBiZSB1cGRhdGVkCisgKiAgIHRyaWdnZXI6IFRoZSBidXR0b24gY2FsbGluZyB0aGUgZnVu Y3Rpb24sIHdob3NlIGljb24gd2lsbCBiZSB1cGRhdGVkCiAgKiAgIGVsZW06IFRoZSBlbGVtZW50 IGNvbnRhaW5pbmcgdGhlIHNjcmlwdCB0byBjb3B5CisgKiAgIHN0cmlwU3VkbzogSWYgdHJ1ZSwg cmVtb3ZlICdzdWRvICcgZnJvbSB0aGUgc3RhcnQgb2YgbGluZXMKICAqLwogCi1mdW5jdGlvbiBj b3B5U2NyaXB0KHRyaWdnZXIsIGVsZW0pIHsKLSAgICB2YXIgcmF3ID0gZG9jdW1lbnQuZ2V0RWxl bWVudEJ5SWQoZWxlbSkuaW5uZXJIVE1MOworZnVuY3Rpb24gY29weVNjcmlwdCh0cmlnZ2VyLCBl bGVtLCBzdHJpcFN1ZG8gPSBmYWxzZSkgeworICAgIGNvbnN0IHJhdyA9IGRvY3VtZW50LmdldEVs ZW1lbnRCeUlkKGVsZW0pLmlubmVySFRNTDsKIAogICAgIC8vIENyZWF0ZSBhIHNjcmF0Y2ggZGl2 IHRvIGNvcHkgZnJvbQotICAgIHZhciBzY3JhdGNoID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgi ZGl2Iik7CisgICAgY29uc3Qgc2NyYXRjaCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIp OwogICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoc2NyYXRjaCk7CiAKICAgICAvLyBDb3B5 IHRoZSBjb250ZW50cyBvZiB0aGUgc2NyaXB0IGJveCBpbnRvIHRoZSBzY3JhdGNoIGRpdiwgcmVt b3ZpbmcKLSAgICAvLyBjb21tZW50cyBhbmQgYmxhbmsgbGluZXMKLSAgICB2YXIgbGluZXMgPSBy YXcuc3BsaXQoIlxuIik7Ci0gICAgdmFyIG91dHB1dCA9ICcnOwotICAgIGZvciAodmFyIGwgPSAw OyBsIDwgbGluZXMubGVuZ3RoOyBsKyspIHsKLSAgICAgICAgaWYgKGxpbmVzW2xdWzBdICE9ICcj JyAmJiBsaW5lc1tsXS50cmltKCkgIT0gJycpCi0gICAgICAgICAgICBvdXRwdXQgKz0gbGluZXNb bF0gKyAnPGJyIC8+JzsKKyAgICAvLyBjb21tZW50cyBhbmQgYmxhbmsgbGluZXMsIGFuZCBvcHRp b25hbGx5IHN0cmlwcGluZyBzdWRvCisgICAgY29uc3QgbGluZXMgPSByYXcuc3BsaXQoIlxuIik7 CisgICAgbGV0IG91dHB1dCA9ICcnOworICAgIGZvciAobGV0IGwgPSAwOyBsIDwgbGluZXMubGVu Z3RoOyBsKyspIHsKKyAgICAgICAgaWYgKGxpbmVzW2xdWzBdICE9ICcjJyAmJiBsaW5lc1tsXS50 cmltKCkgIT0gJycpIHsKKyAgICAgICAgICAgIGxldCBsaW5lID0gbGluZXNbbF07CisgICAgICAg ICAgICBpZiAoc3RyaXBTdWRvKSB7CisgICAgICAgICAgICAgICAgbGluZSA9IGxpbmUucmVwbGFj ZSgvXihccyopc3VkbyAvLCAnJDEnKTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIG91dHB1 dCArPSBsaW5lICsgJzxiciAvPic7CisgICAgICAgIH0KICAgICB9CiAgICAgc2NyYXRjaC5pbm5l ckhUTUwgPSBvdXRwdXQudHJpbSgpOwogCiAgICAgLy8gUGVyZm9ybSB0aGUgY29weQogICAgIGlm KGRvY3VtZW50LmJvZHkuY3JlYXRlVGV4dFJhbmdlKSB7CiAgICAgICAgIC8vIElFIDExCi0gICAg ICAgIHZhciByYW5nZSA9IGRvY3VtZW50LmJvZHkuY3JlYXRlVGV4dFJhbmdlKCk7CisgICAgICAg IGNvbnN0IHJhbmdlID0gZG9jdW1lbnQuYm9keS5jcmVhdGVUZXh0UmFuZ2UoKTsKICAgICAgICAg cmFuZ2UubW92ZVRvRWxlbWVudFRleHQoc2NyYXRjaCk7CiAgICAgICAgIHJhbmdlLnNlbGVjdCgp OwogICAgICAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIpOwpAQCAtNjYsOCArNzIsOCBA QCBmdW5jdGlvbiBjb3B5U2NyaXB0KHRyaWdnZXIsIGVsZW0pIHsKICAgICB9CiAgICAgZWxzZSBp Zih3aW5kb3cuZ2V0U2VsZWN0aW9uKSB7CiAgICAgICAgIC8vIFNhbmUgYnJvd3NlcnMKLSAgICAg ICAgdmFyIHNlbGVjdGlvbiA9IHdpbmRvdy5nZXRTZWxlY3Rpb24oKTsKLSAgICAgICAgdmFyIHJh bmdlID0gZG9jdW1lbnQuY3JlYXRlUmFuZ2UoKTsKKyAgICAgICAgY29uc3Qgc2VsZWN0aW9uID0g d2luZG93LmdldFNlbGVjdGlvbigpOworICAgICAgICBjb25zdCByYW5nZSA9IGRvY3VtZW50LmNy ZWF0ZVJhbmdlKCk7CiAgICAgICAgIHJhbmdlLnNlbGVjdE5vZGVDb250ZW50cyhzY3JhdGNoKTsK ICAgICAgICAgc2VsZWN0aW9uLnJlbW92ZUFsbFJhbmdlcygpOwogICAgICAgICBzZWxlY3Rpb24u YWRkUmFuZ2UocmFuZ2UpOwpAQCAtNzksMTEgKzg1LDE2IEBAIGZ1bmN0aW9uIGNvcHlTY3JpcHQo dHJpZ2dlciwgZWxlbSkgewogICAgIHNjcmF0Y2gucGFyZW50Tm9kZS5yZW1vdmVDaGlsZChzY3Jh dGNoKTsKIAogICAgIC8vIEluZGljYXRlIHRvIHRoZSB1c2VyIHRoYXQgdGhlIHNjcmlwdCB3YXMg Y29waWVkCi0gICAgdmFyIGxhYmVsID0gdHJpZ2dlci5pbm5lckhUTUw7Ci0gICAgdHJpZ2dlci5p bm5lckhUTUwgPSAnQ29waWVkISc7CisgICAgY29uc3QgaWNvbiA9IHRyaWdnZXIucXVlcnlTZWxl Y3RvcignaScpOworICAgIGNvbnN0IG9yaWdpbmFsQ2xhc3MgPSBzdHJpcFN1ZG8gPyAnZmEtdGVy bWluYWwnIDogJ2ZhLWNvcHknOworICAgIGljb24uY2xhc3NMaXN0LnJlbW92ZShvcmlnaW5hbENs YXNzKTsKKyAgICBpY29uLmNsYXNzTGlzdC5hZGQoJ2ZhLWNoZWNrJyk7CisgICAgdHJpZ2dlci5j bGFzc0xpc3QuYWRkKCdjb3BpZWQnKTsKIAogICAgIHNldFRpbWVvdXQoZnVuY3Rpb24oKSB7Ci0g ICAgICAgIHRyaWdnZXIuaW5uZXJIVE1MID0gbGFiZWw7CisgICAgICAgIGljb24uY2xhc3NMaXN0 LnJlbW92ZSgnZmEtY2hlY2snKTsKKyAgICAgICAgaWNvbi5jbGFzc0xpc3QuYWRkKG9yaWdpbmFs Q2xhc3MpOworICAgICAgICB0cmlnZ2VyLmNsYXNzTGlzdC5yZW1vdmUoJ2NvcGllZCcpOwogICAg IH0sIDMwMDApOwogfQogCmRpZmYgLS1naXQgYS90ZW1wbGF0ZXMvZG93bmxvYWRzL2pzL3l1bS5q cyBiL3RlbXBsYXRlcy9kb3dubG9hZHMvanMveXVtLmpzCmluZGV4IDMwZTdiNTFhLi4xZmY1NGFl ZCAxMDA2NDQKLS0tIGEvdGVtcGxhdGVzL2Rvd25sb2Fkcy9qcy95dW0uanMKKysrIGIvdGVtcGxh dGVzL2Rvd25sb2Fkcy9qcy95dW0uanMKQEAgLTE1MSw2ICsxNTEsNyBAQCBmdW5jdGlvbiB2ZXJD aGFuZ2VkKCkgewogCiAgIGlmICghdmVyIHx8IHZlciA9PT0gIi0xIikgewogICAgICBkb2N1bWVu dC5nZXRFbGVtZW50QnlJZCgnY29weS1idG4nKS5zdHlsZS5kaXNwbGF5ID0gJ25vbmUnOworICAg ICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnY29weS1idG4tcm9vdCcpLnN0eWxlLmRpc3BsYXkg PSAnbm9uZSc7CiAgICAgIHNjcmlwdEJveC5pbm5lckhUTUwgPSAnU2VsZWN0IHBsYXRmb3JtLCBh cmNoaXRlY3R1cmUsIGFuZCB2ZXJzaW9uIGFib3ZlJzsKICAgICAgcmV0dXJuOwogICB9CkBAIC0x ODQsNiArMTg1LDcgQEAgZnVuY3Rpb24gdmVyQ2hhbmdlZCgpIHsKICAgfQogCiAgIGRvY3VtZW50 LmdldEVsZW1lbnRCeUlkKCdjb3B5LWJ0bicpLnN0eWxlLmRpc3BsYXkgPSAnYmxvY2snOworICBk b2N1bWVudC5nZXRFbGVtZW50QnlJZCgnY29weS1idG4tcm9vdCcpLnN0eWxlLmRpc3BsYXkgPSAn YmxvY2snOwogfQogCiAvKiBFdmVudCBoYW5kbGVycyAqLwpAQCAtMTkxLDYgKzE5Myw5IEBAIGZ1 bmN0aW9uIHNldHVwSGFuZGxlcnMoKSB7CiAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2Nv cHktYnRuJykuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCBmdW5jdGlvbiAoKSB7CiAgICAgICAg IGNvcHlTY3JpcHQodGhpcywgJ3NjcmlwdC1ib3gnKTsKICAgICB9KTsKKyAgICBkb2N1bWVudC5n ZXRFbGVtZW50QnlJZCgnY29weS1idG4tcm9vdCcpLmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywg ZnVuY3Rpb24gKCkgeworICAgICAgICBjb3B5U2NyaXB0KHRoaXMsICdzY3JpcHQtYm94JywgdHJ1 ZSk7CisgICAgfSk7CiAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3ZlcnNpb24nKS5hZGRF dmVudExpc3RlbmVyKCdjaGFuZ2UnLCB2ZXJDaGFuZ2VkKTsKICAgICBkb2N1bWVudC5nZXRFbGVt ZW50QnlJZCgncGxhdGZvcm0nKS5hZGRFdmVudExpc3RlbmVyKCdjaGFuZ2UnLCBwbGF0Q2hhbmdl ZCk7CiAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2FyY2gnKS5hZGRFdmVudExpc3RlbmVy KCdjaGFuZ2UnLCBhcmNoQ2hhbmdlZCk7CmRpZmYgLS1naXQgYS90ZW1wbGF0ZXMvcGFnZXMvZG93 bmxvYWQvbGludXgvZGViaWFuLmh0bWwgYi90ZW1wbGF0ZXMvcGFnZXMvZG93bmxvYWQvbGludXgv ZGViaWFuLmh0bWwKaW5kZXggYTExZTdhMGYuLjdjZjkxZDJhIDEwMDY0NAotLS0gYS90ZW1wbGF0 ZXMvcGFnZXMvZG93bmxvYWQvbGludXgvZGViaWFuLmh0bWwKKysrIGIvdGVtcGxhdGVzL3BhZ2Vz L2Rvd25sb2FkL2xpbnV4L2RlYmlhbi5odG1sCkBAIC01OCw3ICs1OCw4IEBAIEF1dG9tYXRlZCBy ZXBvc2l0b3J5IGNvbmZpZ3VyYXRpb246CiA8ZGl2IGNsYXNzPSJwZy1zY3JpcHQtY29udGFpbmVy Ij4KICAgICA8cHJlIGlkPSJzY3JpcHQtYm94IiBjbGFzcz0iY29kZSI+c3VkbyBhcHQgaW5zdGFs bCAteSBwb3N0Z3Jlc3FsLWNvbW1vbgogc3VkbyAvdXNyL3NoYXJlL3Bvc3RncmVzcWwtY29tbW9u L3BnZGcvYXB0LnBvc3RncmVzcWwub3JnLnNoPC9wcmU+Ci0gICAgPGJ1dHRvbiBpZD0iY29weS1i dG4iIGNsYXNzPSJwZy1zY3JpcHQtY29weS1idG4iPkNvcHkgU2NyaXB0PC9idXR0b24+CisgICAg PGJ1dHRvbiBpZD0iY29weS1idG4tcm9vdCIgY2xhc3M9InBnLXNjcmlwdC1jb3B5LWJ0biBwZy1z Y3JpcHQtY29weS1idG4tcm9vdCIgdGl0bGU9IkNvcHkgdG8gY2xpcGJvYXJkICh3aXRob3V0IHN1 ZG8sIGZvciByb290KSI+PGkgY2xhc3M9ImZhcyBmYS10ZXJtaW5hbCI+PC9pPjwvYnV0dG9uPgor ICAgIDxidXR0b24gaWQ9ImNvcHktYnRuIiBjbGFzcz0icGctc2NyaXB0LWNvcHktYnRuIiB0aXRs ZT0iQ29weSB0byBjbGlwYm9hcmQiPjxpIGNsYXNzPSJmYXIgZmEtY29weSI+PC9pPjwvYnV0dG9u PgogPC9kaXY+CiAKIDxwPgpAQCAtNzcsMTQgKzc4LDE2IEBAIHN1ZG8gc2ggLWMgImVjaG8gJ2Rl YiBbc2lnbmVkLWJ5PS91c3Ivc2hhcmUvcG9zdGdyZXNxbC1jb21tb24vcGdkZy9hcHQucG9zdGdy ZXNxCiAKICMgVXBkYXRlIHRoZSBwYWNrYWdlIGxpc3RzOgogc3VkbyBhcHQgdXBkYXRlPC9wcmU+ Ci0gICAgPGJ1dHRvbiBpZD0iY29weS1idG4yIiBjbGFzcz0icGctc2NyaXB0LWNvcHktYnRuIj5D b3B5IFNjcmlwdDwvYnV0dG9uPgorICAgIDxidXR0b24gaWQ9ImNvcHktYnRuMi1yb290IiBjbGFz cz0icGctc2NyaXB0LWNvcHktYnRuIHBnLXNjcmlwdC1jb3B5LWJ0bi1yb290IiB0aXRsZT0iQ29w eSB0byBjbGlwYm9hcmQgKHdpdGhvdXQgc3VkbywgZm9yIHJvb3QpIj48aSBjbGFzcz0iZmFzIGZh LXRlcm1pbmFsIj48L2k+PC9idXR0b24+CisgICAgPGJ1dHRvbiBpZD0iY29weS1idG4yIiBjbGFz cz0icGctc2NyaXB0LWNvcHktYnRuIiB0aXRsZT0iQ29weSB0byBjbGlwYm9hcmQiPjxpIGNsYXNz PSJmYXIgZmEtY29weSI+PC9pPjwvYnV0dG9uPgogPC9kaXY+CiAKIEluc3RhbGwgUG9zdGdyZVNR TDogKHJlcGxhY2UgIjE4IiBieSB0aGUgdmVyc2lvbiB5b3Ugd2FudCkKIAogPGRpdiBjbGFzcz0i cGctc2NyaXB0LWNvbnRhaW5lciI+CiAgICAgPHByZSBpZD0ic2NyaXB0LWJveDMiIGNsYXNzPSJj b2RlIj5zdWRvIGFwdCBpbnN0YWxsIHBvc3RncmVzcWwtMTg8L3ByZT4KLSAgICA8YnV0dG9uIGlk PSJjb3B5LWJ0bjMiIGNsYXNzPSJwZy1zY3JpcHQtY29weS1idG4iPkNvcHkgU2NyaXB0PC9idXR0 b24+CisgICAgPGJ1dHRvbiBpZD0iY29weS1idG4zLXJvb3QiIGNsYXNzPSJwZy1zY3JpcHQtY29w eS1idG4gcGctc2NyaXB0LWNvcHktYnRuLXJvb3QiIHRpdGxlPSJDb3B5IHRvIGNsaXBib2FyZCAo d2l0aG91dCBzdWRvLCBmb3Igcm9vdCkiPjxpIGNsYXNzPSJmYXMgZmEtdGVybWluYWwiPjwvaT48 L2J1dHRvbj4KKyAgICA8YnV0dG9uIGlkPSJjb3B5LWJ0bjMiIGNsYXNzPSJwZy1zY3JpcHQtY29w eS1idG4iIHRpdGxlPSJDb3B5IHRvIGNsaXBib2FyZCI+PGkgY2xhc3M9ImZhciBmYS1jb3B5Ij48 L2k+PC9idXR0b24+CiA8L2Rpdj4KIAogPHA+CmRpZmYgLS1naXQgYS90ZW1wbGF0ZXMvcGFnZXMv ZG93bmxvYWQvbGludXgvcmVkaGF0Lmh0bWwgYi90ZW1wbGF0ZXMvcGFnZXMvZG93bmxvYWQvbGlu dXgvcmVkaGF0Lmh0bWwKaW5kZXggZTM1MmRjY2IuLjVhNzVkMGMxIDEwMDY0NAotLS0gYS90ZW1w bGF0ZXMvcGFnZXMvZG93bmxvYWQvbGludXgvcmVkaGF0Lmh0bWwKKysrIGIvdGVtcGxhdGVzL3Bh Z2VzL2Rvd25sb2FkL2xpbnV4L3JlZGhhdC5odG1sCkBAIC02MCw3ICs2MCw4IEBAIFRvIHVzZSB0 aGUgUG9zdGdyZVNRTCBZdW0gUmVwb3NpdG9yeSwgZm9sbG93IHRoZXNlIHN0ZXBzOgogICA8bGk+ Q29weSwgcGFzdGUgYW5kIHJ1biB0aGUgcmVsZXZhbnQgcGFydHMgb2YgdGhlIHNldHVwIHNjcmlw dDoKICAgICA8ZGl2IGNsYXNzPSJwZy1zY3JpcHQtY29udGFpbmVyIj4KICAgICAgICAgPHByZSBp ZD0ic2NyaXB0LWJveCIgY2xhc3M9ImNvZGUiPjwvcHJlPgotICAgICAgICA8YnV0dG9uIGlkPSJj b3B5LWJ0biIgY2xhc3M9InBnLXNjcmlwdC1jb3B5LWJ0biI+Q29weSBTY3JpcHQ8L2J1dHRvbj4K KyAgICAgICAgPGJ1dHRvbiBpZD0iY29weS1idG4tcm9vdCIgY2xhc3M9InBnLXNjcmlwdC1jb3B5 LWJ0biBwZy1zY3JpcHQtY29weS1idG4tcm9vdCIgdGl0bGU9IkNvcHkgdG8gY2xpcGJvYXJkICh3 aXRob3V0IHN1ZG8sIGZvciByb290KSI+PGkgY2xhc3M9ImZhcyBmYS10ZXJtaW5hbCI+PC9pPjwv YnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5LWJ0biIgY2xhc3M9InBnLXNjcmlwdC1j b3B5LWJ0biIgdGl0bGU9IkNvcHkgdG8gY2xpcGJvYXJkIj48aSBjbGFzcz0iZmFyIGZhLWNvcHki PjwvaT48L2J1dHRvbj4KICAgICA8L2Rpdj4KICAgPC9saT4KIDwvb2w+CmRpZmYgLS1naXQgYS90 ZW1wbGF0ZXMvcGFnZXMvZG93bmxvYWQvbGludXgvdWJ1bnR1Lmh0bWwgYi90ZW1wbGF0ZXMvcGFn ZXMvZG93bmxvYWQvbGludXgvdWJ1bnR1Lmh0bWwKaW5kZXggZDJmMTIzZmEuLjE1MGEyZjFkIDEw MDY0NAotLS0gYS90ZW1wbGF0ZXMvcGFnZXMvZG93bmxvYWQvbGludXgvdWJ1bnR1Lmh0bWwKKysr IGIvdGVtcGxhdGVzL3BhZ2VzL2Rvd25sb2FkL2xpbnV4L3VidW50dS5odG1sCkBAIC01Nyw3ICs1 Nyw4IEBAIEF1dG9tYXRlZCByZXBvc2l0b3J5IGNvbmZpZ3VyYXRpb246CiA8ZGl2IGNsYXNzPSJw Zy1zY3JpcHQtY29udGFpbmVyIj4KICAgICA8cHJlIGlkPSJzY3JpcHQtYm94IiBjbGFzcz0iY29k ZSI+c3VkbyBhcHQgaW5zdGFsbCAteSBwb3N0Z3Jlc3FsLWNvbW1vbgogc3VkbyAvdXNyL3NoYXJl L3Bvc3RncmVzcWwtY29tbW9uL3BnZGcvYXB0LnBvc3RncmVzcWwub3JnLnNoPC9wcmU+Ci0gICAg PGJ1dHRvbiBpZD0iY29weS1idG4iIGNsYXNzPSJwZy1zY3JpcHQtY29weS1idG4iPkNvcHkgU2Ny aXB0PC9idXR0b24+CisgICAgPGJ1dHRvbiBpZD0iY29weS1idG4tcm9vdCIgY2xhc3M9InBnLXNj cmlwdC1jb3B5LWJ0biBwZy1zY3JpcHQtY29weS1idG4tcm9vdCIgdGl0bGU9IkNvcHkgdG8gY2xp cGJvYXJkICh3aXRob3V0IHN1ZG8sIGZvciByb290KSI+PGkgY2xhc3M9ImZhcyBmYS10ZXJtaW5h bCI+PC9pPjwvYnV0dG9uPgorICAgIDxidXR0b24gaWQ9ImNvcHktYnRuIiBjbGFzcz0icGctc2Ny aXB0LWNvcHktYnRuIiB0aXRsZT0iQ29weSB0byBjbGlwYm9hcmQiPjxpIGNsYXNzPSJmYXIgZmEt Y29weSI+PC9pPjwvYnV0dG9uPgogPC9kaXY+CiAKIDxwPgpAQCAtNzYsMTQgKzc3LDE2IEBAIHN1 ZG8gc2ggLWMgImVjaG8gJ2RlYiBbc2lnbmVkLWJ5PS91c3Ivc2hhcmUvcG9zdGdyZXNxbC1jb21t b24vcGdkZy9hcHQucG9zdGdyZXNxCiAKICMgVXBkYXRlIHRoZSBwYWNrYWdlIGxpc3RzOgogc3Vk byBhcHQgdXBkYXRlPC9wcmU+Ci0gICAgPGJ1dHRvbiBpZD0iY29weS1idG4yIiBjbGFzcz0icGct c2NyaXB0LWNvcHktYnRuIj5Db3B5IFNjcmlwdDwvYnV0dG9uPgorICAgIDxidXR0b24gaWQ9ImNv cHktYnRuMi1yb290IiBjbGFzcz0icGctc2NyaXB0LWNvcHktYnRuIHBnLXNjcmlwdC1jb3B5LWJ0 bi1yb290IiB0aXRsZT0iQ29weSB0byBjbGlwYm9hcmQgKHdpdGhvdXQgc3VkbywgZm9yIHJvb3Qp Ij48aSBjbGFzcz0iZmFzIGZhLXRlcm1pbmFsIj48L2k+PC9idXR0b24+CisgICAgPGJ1dHRvbiBp ZD0iY29weS1idG4yIiBjbGFzcz0icGctc2NyaXB0LWNvcHktYnRuIiB0aXRsZT0iQ29weSB0byBj bGlwYm9hcmQiPjxpIGNsYXNzPSJmYXIgZmEtY29weSI+PC9pPjwvYnV0dG9uPgogPC9kaXY+CiAK IEluc3RhbGwgUG9zdGdyZVNRTDogKHJlcGxhY2UgIjE4IiBieSB0aGUgdmVyc2lvbiB5b3Ugd2Fu dCkKIAogPGRpdiBjbGFzcz0icGctc2NyaXB0LWNvbnRhaW5lciI+CiAgICAgPHByZSBpZD0ic2Ny aXB0LWJveDMiIGNsYXNzPSJjb2RlIj5zdWRvIGFwdCBpbnN0YWxsIHBvc3RncmVzcWwtMTg8L3By ZT4KLSAgICA8YnV0dG9uIGlkPSJjb3B5LWJ0bjMiIGNsYXNzPSJwZy1zY3JpcHQtY29weS1idG4i PkNvcHkgU2NyaXB0PC9idXR0b24+CisgICAgPGJ1dHRvbiBpZD0iY29weS1idG4zLXJvb3QiIGNs YXNzPSJwZy1zY3JpcHQtY29weS1idG4gcGctc2NyaXB0LWNvcHktYnRuLXJvb3QiIHRpdGxlPSJD b3B5IHRvIGNsaXBib2FyZCAod2l0aG91dCBzdWRvLCBmb3Igcm9vdCkiPjxpIGNsYXNzPSJmYXMg ZmEtdGVybWluYWwiPjwvaT48L2J1dHRvbj4KKyAgICA8YnV0dG9uIGlkPSJjb3B5LWJ0bjMiIGNs YXNzPSJwZy1zY3JpcHQtY29weS1idG4iIHRpdGxlPSJDb3B5IHRvIGNsaXBib2FyZCI+PGkgY2xh c3M9ImZhciBmYS1jb3B5Ij48L2k+PC9idXR0b24+CiA8L2Rpdj4KIAogPHA+Cg== --000000000000b090ed064509d001 Content-Type: application/octet-stream; name="copy_script_buttons_v2.diff" Content-Disposition: attachment; filename="copy_script_buttons_v2.diff" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_mipvivwj1 ZGlmZiAtLWdpdCBhL21lZGlhL2Nzcy9tYWluLmNzcyBiL21lZGlhL2Nzcy9tYWluLmNzcwppbmRl eCBkZWRlMmI5MC4uMzRlMDRjYjUgMTAwNjQ0Ci0tLSBhL21lZGlhL2Nzcy9tYWluLmNzcworKysg Yi9tZWRpYS9jc3MvbWFpbi5jc3MKQEAgLTIwMDEsMTAgKzIwMDEsNDkgQEAgYnV0dG9uLmltYWdl YnV0dG9uIHsKICAgcG9zaXRpb246IHJlbGF0aXZlOwogfQogCisucGctc2NyaXB0LWNvbnRhaW5l ciBwcmUuY29kZSB7CisgIHBhZGRpbmctcmlnaHQ6IDIuNXJlbTsKKyAgbWluLWhlaWdodDogM3Jl bTsKKyAgZGlzcGxheTogZmxleDsKKyAgYWxpZ24taXRlbXM6IGNlbnRlcjsKK30KKwogLnBnLXNj cmlwdC1jb3B5LWJ0biB7CiAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKLSAgdG9wOiA4cHg7Ci0gIHJp Z2h0OiA4cHg7CisgIHRvcDogMC41cmVtOworICByaWdodDogMC41cmVtOworICBiYWNrZ3JvdW5k OiB0cmFuc3BhcmVudDsKKyAgYm9yZGVyOiBub25lOworICBmb250LXNpemU6IDFyZW07CisgIHBh ZGRpbmc6IDRweCA2cHg7CisgIGN1cnNvcjogcG9pbnRlcjsKKyAgdHJhbnNpdGlvbjogY29sb3Ig MC4yczsKK30KKworLnBnLXNjcmlwdC1jb3B5LWJ0biBpIHsKKyAgY29sb3I6ICM1NTUgIWltcG9y dGFudDsKKyAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7CisgIHRyYW5zaXRpb246IGNvbG9yIDAuMnM7 Cit9CisKKy5wZy1zY3JpcHQtY29weS1idG46aG92ZXIgaSB7CisgIGNvbG9yOiAjMzM2NzkxICFp bXBvcnRhbnQ7Cit9CisKKy5wZy1zY3JpcHQtY29weS1idG4uY29waWVkIGkgeworICBjb2xvcjog IzI4YTc0NSAhaW1wb3J0YW50OworfQorCitbZGF0YS10aGVtZT0iZGFyayJdIC5wZy1zY3JpcHQt Y29weS1idG4gaSB7CisgIGNvbG9yOiAjY2NjICFpbXBvcnRhbnQ7Cit9CisKK1tkYXRhLXRoZW1l PSJkYXJrIl0gLnBnLXNjcmlwdC1jb3B5LWJ0bjpob3ZlciBpIHsKKyAgY29sb3I6ICNmZmYgIWlt cG9ydGFudDsKK30KKworW2RhdGEtdGhlbWU9ImRhcmsiXSAucGctc2NyaXB0LWNvcHktYnRuLmNv cGllZCBpIHsKKyAgY29sb3I6ICM3ZGZmN2QgIWltcG9ydGFudDsKIH0KIAogLm5vYnIgewpkaWZm IC0tZ2l0IGEvbWVkaWEvanMvbWFpbi5qcyBiL21lZGlhL2pzL21haW4uanMKaW5kZXggMzM1ZWZi MmEuLjRkMThkYjg3IDEwMDY0NAotLS0gYS9tZWRpYS9qcy9tYWluLmpzCisrKyBiL21lZGlhL2pz L21haW4uanMKQEAgLTM5LDE3ICszOSwxNyBAQCB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigiaGFz aGNoYW5nZSIsIHNoaWZ0V2luZG93KTsKICAqLwogCiBmdW5jdGlvbiBjb3B5U2NyaXB0KHRyaWdn ZXIsIGVsZW0pIHsKLSAgICB2YXIgcmF3ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoZWxlbSku aW5uZXJIVE1MOworICAgIGNvbnN0IHJhdyA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGVsZW0p LmlubmVySFRNTDsKIAogICAgIC8vIENyZWF0ZSBhIHNjcmF0Y2ggZGl2IHRvIGNvcHkgZnJvbQot ICAgIHZhciBzY3JhdGNoID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7CisgICAgY29u c3Qgc2NyYXRjaCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpOwogICAgIGRvY3VtZW50 LmJvZHkuYXBwZW5kQ2hpbGQoc2NyYXRjaCk7CiAKICAgICAvLyBDb3B5IHRoZSBjb250ZW50cyBv ZiB0aGUgc2NyaXB0IGJveCBpbnRvIHRoZSBzY3JhdGNoIGRpdiwgcmVtb3ZpbmcKICAgICAvLyBj b21tZW50cyBhbmQgYmxhbmsgbGluZXMKLSAgICB2YXIgbGluZXMgPSByYXcuc3BsaXQoIlxuIik7 Ci0gICAgdmFyIG91dHB1dCA9ICcnOwotICAgIGZvciAodmFyIGwgPSAwOyBsIDwgbGluZXMubGVu Z3RoOyBsKyspIHsKKyAgICBjb25zdCBsaW5lcyA9IHJhdy5zcGxpdCgiXG4iKTsKKyAgICBsZXQg b3V0cHV0ID0gJyc7CisgICAgZm9yIChsZXQgbCA9IDA7IGwgPCBsaW5lcy5sZW5ndGg7IGwrKykg ewogICAgICAgICBpZiAobGluZXNbbF1bMF0gIT0gJyMnICYmIGxpbmVzW2xdLnRyaW0oKSAhPSAn JykKICAgICAgICAgICAgIG91dHB1dCArPSBsaW5lc1tsXSArICc8YnIgLz4nOwogICAgIH0KQEAg LTU4LDcgKzU4LDcgQEAgZnVuY3Rpb24gY29weVNjcmlwdCh0cmlnZ2VyLCBlbGVtKSB7CiAgICAg Ly8gUGVyZm9ybSB0aGUgY29weQogICAgIGlmKGRvY3VtZW50LmJvZHkuY3JlYXRlVGV4dFJhbmdl KSB7CiAgICAgICAgIC8vIElFIDExCi0gICAgICAgIHZhciByYW5nZSA9IGRvY3VtZW50LmJvZHku Y3JlYXRlVGV4dFJhbmdlKCk7CisgICAgICAgIGNvbnN0IHJhbmdlID0gZG9jdW1lbnQuYm9keS5j cmVhdGVUZXh0UmFuZ2UoKTsKICAgICAgICAgcmFuZ2UubW92ZVRvRWxlbWVudFRleHQoc2NyYXRj aCk7CiAgICAgICAgIHJhbmdlLnNlbGVjdCgpOwogICAgICAgICBkb2N1bWVudC5leGVjQ29tbWFu ZCgiQ29weSIpOwpAQCAtNjYsOCArNjYsOCBAQCBmdW5jdGlvbiBjb3B5U2NyaXB0KHRyaWdnZXIs IGVsZW0pIHsKICAgICB9CiAgICAgZWxzZSBpZih3aW5kb3cuZ2V0U2VsZWN0aW9uKSB7CiAgICAg ICAgIC8vIFNhbmUgYnJvd3NlcnMKLSAgICAgICAgdmFyIHNlbGVjdGlvbiA9IHdpbmRvdy5nZXRT ZWxlY3Rpb24oKTsKLSAgICAgICAgdmFyIHJhbmdlID0gZG9jdW1lbnQuY3JlYXRlUmFuZ2UoKTsK KyAgICAgICAgY29uc3Qgc2VsZWN0aW9uID0gd2luZG93LmdldFNlbGVjdGlvbigpOworICAgICAg ICBjb25zdCByYW5nZSA9IGRvY3VtZW50LmNyZWF0ZVJhbmdlKCk7CiAgICAgICAgIHJhbmdlLnNl bGVjdE5vZGVDb250ZW50cyhzY3JhdGNoKTsKICAgICAgICAgc2VsZWN0aW9uLnJlbW92ZUFsbFJh bmdlcygpOwogICAgICAgICBzZWxlY3Rpb24uYWRkUmFuZ2UocmFuZ2UpOwpAQCAtNzksMTEgKzc5 LDE1IEBAIGZ1bmN0aW9uIGNvcHlTY3JpcHQodHJpZ2dlciwgZWxlbSkgewogICAgIHNjcmF0Y2gu cGFyZW50Tm9kZS5yZW1vdmVDaGlsZChzY3JhdGNoKTsKIAogICAgIC8vIEluZGljYXRlIHRvIHRo ZSB1c2VyIHRoYXQgdGhlIHNjcmlwdCB3YXMgY29waWVkCi0gICAgdmFyIGxhYmVsID0gdHJpZ2dl ci5pbm5lckhUTUw7Ci0gICAgdHJpZ2dlci5pbm5lckhUTUwgPSAnQ29waWVkISc7CisgICAgY29u c3QgaWNvbiA9IHRyaWdnZXIucXVlcnlTZWxlY3RvcignaScpOworICAgIGljb24uY2xhc3NMaXN0 LnJlbW92ZSgnZmEtY29weScpOworICAgIGljb24uY2xhc3NMaXN0LmFkZCgnZmEtY2hlY2snKTsK KyAgICB0cmlnZ2VyLmNsYXNzTGlzdC5hZGQoJ2NvcGllZCcpOwogCiAgICAgc2V0VGltZW91dChm dW5jdGlvbigpIHsKLSAgICAgICAgdHJpZ2dlci5pbm5lckhUTUwgPSBsYWJlbDsKKyAgICAgICAg aWNvbi5jbGFzc0xpc3QucmVtb3ZlKCdmYS1jaGVjaycpOworICAgICAgICBpY29uLmNsYXNzTGlz dC5hZGQoJ2ZhLWNvcHknKTsKKyAgICAgICAgdHJpZ2dlci5jbGFzc0xpc3QucmVtb3ZlKCdjb3Bp ZWQnKTsKICAgICB9LCAzMDAwKTsKIH0KIApkaWZmIC0tZ2l0IGEvdGVtcGxhdGVzL3BhZ2VzL2Rv d25sb2FkL2xpbnV4L2RlYmlhbi5odG1sIGIvdGVtcGxhdGVzL3BhZ2VzL2Rvd25sb2FkL2xpbnV4 L2RlYmlhbi5odG1sCmluZGV4IGExMWU3YTBmLi42OTAxZWIzOCAxMDA2NDQKLS0tIGEvdGVtcGxh dGVzL3BhZ2VzL2Rvd25sb2FkL2xpbnV4L2RlYmlhbi5odG1sCisrKyBiL3RlbXBsYXRlcy9wYWdl cy9kb3dubG9hZC9saW51eC9kZWJpYW4uaHRtbApAQCAtNTgsNyArNTgsNyBAQCBBdXRvbWF0ZWQg cmVwb3NpdG9yeSBjb25maWd1cmF0aW9uOgogPGRpdiBjbGFzcz0icGctc2NyaXB0LWNvbnRhaW5l ciI+CiAgICAgPHByZSBpZD0ic2NyaXB0LWJveCIgY2xhc3M9ImNvZGUiPnN1ZG8gYXB0IGluc3Rh bGwgLXkgcG9zdGdyZXNxbC1jb21tb24KIHN1ZG8gL3Vzci9zaGFyZS9wb3N0Z3Jlc3FsLWNvbW1v bi9wZ2RnL2FwdC5wb3N0Z3Jlc3FsLm9yZy5zaDwvcHJlPgotICAgIDxidXR0b24gaWQ9ImNvcHkt YnRuIiBjbGFzcz0icGctc2NyaXB0LWNvcHktYnRuIj5Db3B5IFNjcmlwdDwvYnV0dG9uPgorICAg IDxidXR0b24gaWQ9ImNvcHktYnRuIiBjbGFzcz0icGctc2NyaXB0LWNvcHktYnRuIiB0aXRsZT0i Q29weSB0byBjbGlwYm9hcmQiPjxpIGNsYXNzPSJmYXIgZmEtY29weSI+PC9pPjwvYnV0dG9uPgog PC9kaXY+CiAKIDxwPgpAQCAtNzcsMTQgKzc3LDE0IEBAIHN1ZG8gc2ggLWMgImVjaG8gJ2RlYiBb c2lnbmVkLWJ5PS91c3Ivc2hhcmUvcG9zdGdyZXNxbC1jb21tb24vcGdkZy9hcHQucG9zdGdyZXNx CiAKICMgVXBkYXRlIHRoZSBwYWNrYWdlIGxpc3RzOgogc3VkbyBhcHQgdXBkYXRlPC9wcmU+Ci0g ICAgPGJ1dHRvbiBpZD0iY29weS1idG4yIiBjbGFzcz0icGctc2NyaXB0LWNvcHktYnRuIj5Db3B5 IFNjcmlwdDwvYnV0dG9uPgorICAgIDxidXR0b24gaWQ9ImNvcHktYnRuMiIgY2xhc3M9InBnLXNj cmlwdC1jb3B5LWJ0biIgdGl0bGU9IkNvcHkgdG8gY2xpcGJvYXJkIj48aSBjbGFzcz0iZmFyIGZh LWNvcHkiPjwvaT48L2J1dHRvbj4KIDwvZGl2PgogCiBJbnN0YWxsIFBvc3RncmVTUUw6IChyZXBs YWNlICIxOCIgYnkgdGhlIHZlcnNpb24geW91IHdhbnQpCiAKIDxkaXYgY2xhc3M9InBnLXNjcmlw dC1jb250YWluZXIiPgogICAgIDxwcmUgaWQ9InNjcmlwdC1ib3gzIiBjbGFzcz0iY29kZSI+c3Vk byBhcHQgaW5zdGFsbCBwb3N0Z3Jlc3FsLTE4PC9wcmU+Ci0gICAgPGJ1dHRvbiBpZD0iY29weS1i dG4zIiBjbGFzcz0icGctc2NyaXB0LWNvcHktYnRuIj5Db3B5IFNjcmlwdDwvYnV0dG9uPgorICAg IDxidXR0b24gaWQ9ImNvcHktYnRuMyIgY2xhc3M9InBnLXNjcmlwdC1jb3B5LWJ0biIgdGl0bGU9 IkNvcHkgdG8gY2xpcGJvYXJkIj48aSBjbGFzcz0iZmFyIGZhLWNvcHkiPjwvaT48L2J1dHRvbj4K IDwvZGl2PgogCiA8cD4KZGlmZiAtLWdpdCBhL3RlbXBsYXRlcy9wYWdlcy9kb3dubG9hZC9saW51 eC9yZWRoYXQuaHRtbCBiL3RlbXBsYXRlcy9wYWdlcy9kb3dubG9hZC9saW51eC9yZWRoYXQuaHRt bAppbmRleCBlMzUyZGNjYi4uNzIxNWEwODMgMTAwNjQ0Ci0tLSBhL3RlbXBsYXRlcy9wYWdlcy9k b3dubG9hZC9saW51eC9yZWRoYXQuaHRtbAorKysgYi90ZW1wbGF0ZXMvcGFnZXMvZG93bmxvYWQv bGludXgvcmVkaGF0Lmh0bWwKQEAgLTYwLDcgKzYwLDcgQEAgVG8gdXNlIHRoZSBQb3N0Z3JlU1FM IFl1bSBSZXBvc2l0b3J5LCBmb2xsb3cgdGhlc2Ugc3RlcHM6CiAgIDxsaT5Db3B5LCBwYXN0ZSBh bmQgcnVuIHRoZSByZWxldmFudCBwYXJ0cyBvZiB0aGUgc2V0dXAgc2NyaXB0OgogICAgIDxkaXYg Y2xhc3M9InBnLXNjcmlwdC1jb250YWluZXIiPgogICAgICAgICA8cHJlIGlkPSJzY3JpcHQtYm94 IiBjbGFzcz0iY29kZSI+PC9wcmU+Ci0gICAgICAgIDxidXR0b24gaWQ9ImNvcHktYnRuIiBjbGFz cz0icGctc2NyaXB0LWNvcHktYnRuIj5Db3B5IFNjcmlwdDwvYnV0dG9uPgorICAgICAgICA8YnV0 dG9uIGlkPSJjb3B5LWJ0biIgY2xhc3M9InBnLXNjcmlwdC1jb3B5LWJ0biIgdGl0bGU9IkNvcHkg dG8gY2xpcGJvYXJkIj48aSBjbGFzcz0iZmFyIGZhLWNvcHkiPjwvaT48L2J1dHRvbj4KICAgICA8 L2Rpdj4KICAgPC9saT4KIDwvb2w+CmRpZmYgLS1naXQgYS90ZW1wbGF0ZXMvcGFnZXMvZG93bmxv YWQvbGludXgvdWJ1bnR1Lmh0bWwgYi90ZW1wbGF0ZXMvcGFnZXMvZG93bmxvYWQvbGludXgvdWJ1 bnR1Lmh0bWwKaW5kZXggZDJmMTIzZmEuLjcyMjY2MTZhIDEwMDY0NAotLS0gYS90ZW1wbGF0ZXMv cGFnZXMvZG93bmxvYWQvbGludXgvdWJ1bnR1Lmh0bWwKKysrIGIvdGVtcGxhdGVzL3BhZ2VzL2Rv d25sb2FkL2xpbnV4L3VidW50dS5odG1sCkBAIC01Nyw3ICs1Nyw3IEBAIEF1dG9tYXRlZCByZXBv c2l0b3J5IGNvbmZpZ3VyYXRpb246CiA8ZGl2IGNsYXNzPSJwZy1zY3JpcHQtY29udGFpbmVyIj4K ICAgICA8cHJlIGlkPSJzY3JpcHQtYm94IiBjbGFzcz0iY29kZSI+c3VkbyBhcHQgaW5zdGFsbCAt eSBwb3N0Z3Jlc3FsLWNvbW1vbgogc3VkbyAvdXNyL3NoYXJlL3Bvc3RncmVzcWwtY29tbW9uL3Bn ZGcvYXB0LnBvc3RncmVzcWwub3JnLnNoPC9wcmU+Ci0gICAgPGJ1dHRvbiBpZD0iY29weS1idG4i IGNsYXNzPSJwZy1zY3JpcHQtY29weS1idG4iPkNvcHkgU2NyaXB0PC9idXR0b24+CisgICAgPGJ1 dHRvbiBpZD0iY29weS1idG4iIGNsYXNzPSJwZy1zY3JpcHQtY29weS1idG4iIHRpdGxlPSJDb3B5 IHRvIGNsaXBib2FyZCI+PGkgY2xhc3M9ImZhciBmYS1jb3B5Ij48L2k+PC9idXR0b24+CiA8L2Rp dj4KIAogPHA+CkBAIC03NiwxNCArNzYsMTQgQEAgc3VkbyBzaCAtYyAiZWNobyAnZGViIFtzaWdu ZWQtYnk9L3Vzci9zaGFyZS9wb3N0Z3Jlc3FsLWNvbW1vbi9wZ2RnL2FwdC5wb3N0Z3Jlc3EKIAog IyBVcGRhdGUgdGhlIHBhY2thZ2UgbGlzdHM6CiBzdWRvIGFwdCB1cGRhdGU8L3ByZT4KLSAgICA8 YnV0dG9uIGlkPSJjb3B5LWJ0bjIiIGNsYXNzPSJwZy1zY3JpcHQtY29weS1idG4iPkNvcHkgU2Ny aXB0PC9idXR0b24+CisgICAgPGJ1dHRvbiBpZD0iY29weS1idG4yIiBjbGFzcz0icGctc2NyaXB0 LWNvcHktYnRuIiB0aXRsZT0iQ29weSB0byBjbGlwYm9hcmQiPjxpIGNsYXNzPSJmYXIgZmEtY29w eSI+PC9pPjwvYnV0dG9uPgogPC9kaXY+CiAKIEluc3RhbGwgUG9zdGdyZVNRTDogKHJlcGxhY2Ug IjE4IiBieSB0aGUgdmVyc2lvbiB5b3Ugd2FudCkKIAogPGRpdiBjbGFzcz0icGctc2NyaXB0LWNv bnRhaW5lciI+CiAgICAgPHByZSBpZD0ic2NyaXB0LWJveDMiIGNsYXNzPSJjb2RlIj5zdWRvIGFw dCBpbnN0YWxsIHBvc3RncmVzcWwtMTg8L3ByZT4KLSAgICA8YnV0dG9uIGlkPSJjb3B5LWJ0bjMi IGNsYXNzPSJwZy1zY3JpcHQtY29weS1idG4iPkNvcHkgU2NyaXB0PC9idXR0b24+CisgICAgPGJ1 dHRvbiBpZD0iY29weS1idG4zIiBjbGFzcz0icGctc2NyaXB0LWNvcHktYnRuIiB0aXRsZT0iQ29w eSB0byBjbGlwYm9hcmQiPjxpIGNsYXNzPSJmYXIgZmEtY29weSI+PC9pPjwvYnV0dG9uPgogPC9k aXY+CiAKIDxwPgo= --000000000000b090ed064509d001--