Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.89) (envelope-from ) id 1gmBcE-0007Fs-DF for pgadmin-hackers@arkaria.postgresql.org; Wed, 23 Jan 2019 06:02:22 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.89) (envelope-from ) id 1gmBcD-0005m2-1x for pgadmin-hackers@arkaria.postgresql.org; Wed, 23 Jan 2019 06:02:21 +0000 Received: from makus.postgresql.org ([2001:4800:3e1:1::229]) by malur.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.89) (envelope-from ) id 1gmBcC-0005kA-K8 for pgadmin-hackers@lists.postgresql.org; Wed, 23 Jan 2019 06:02:20 +0000 Received: from mail-lj1-x243.google.com ([2a00:1450:4864:20::243]) by makus.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.89) (envelope-from ) id 1gmBc8-0003r1-JH for pgadmin-hackers@postgresql.org; Wed, 23 Jan 2019 06:02:19 +0000 Received: by mail-lj1-x243.google.com with SMTP id s5-v6so800024ljd.12 for ; Tue, 22 Jan 2019 22:02:16 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=enterprisedb-com.20150623.gappssmtp.com; s=20150623; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=9/+ovUG7F8SyeVGB0mWr1jB1eT4ZqsZyIq2iY84ulUM=; b=lBd4C7xwe9UCXMKumUDsuTvU6f4RHynKC1Z6a7/fWikyWl2sgLTDcRh6rd+bsd6uRQ PvopkFBxNmRD9jasY0/lsN4i03Tk90XsS5/hh31GkJWbSXGrYk9hPd2H+hhEyH0y5+Te mFqdr+ockc95kpzTUnhwOCtwUSkUhOgG9XQI0K2tDsnOzteDPUJsbOY6RxVvPFNXKTsE MYpCgjdtXuF6uTvMThK4lmFd0eYYt737amZTT1kkDPRRiUQfgtBXk3uDRuJGLounNzqq Hc++eS6rXcgLb+w+zFV012omWPzBMMt0c68/FXvmwh2lZnh2gXCovhIGkgFL9wrmYMvB FJ3A== 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=9/+ovUG7F8SyeVGB0mWr1jB1eT4ZqsZyIq2iY84ulUM=; b=ml2GFv3f2qtRwA2+gqxD9X9Yqrw9iGYXdeU+JRx8j9z8KZbWw51t1jrf6E2VLVO3B7 OcJdQi9svGhYdnqrAZMzyN/azSlGSHgInmffB9OpzRbqG2XVH/7x/FewP6040TDqACe7 6fnGBKt3f/1x+S7OMS/UylN+V3pBBjfxDU9eqwSMiJKoB0jcmfVRR2RIa6ZTqfdQYQJU OKU859kKhFf2QgmJCy339D2hmHX4gWQbVqLLep1rLoOMPGkNWpicwaviWcWj/x2+UwTP qsER8khVZ5rmJAyot6P7m1BAiEaPr0csYMMdbAjh+MRBWTxT5u7TjoANG2IIlLEBXju1 uVgw== X-Gm-Message-State: AJcUukcNd6QMPgFuy3E/uV2uoDBDM0r3MmQeb8zNVT98i9e0YXKFkOK5 575nZWC9+z1AAvJX9DRq4gS8yB08uwWXF/ixWjXdIw== X-Google-Smtp-Source: ALg8bN61VFiJ0YLfWP1hbqUuhMqzlghtgOgIxdhc3N6xbqqMhKHQYNaM3ArSHnWFxaKeYq4f9CfKZB4LrUZ+xPVYj68= X-Received: by 2002:a2e:9d17:: with SMTP id t23-v6mr721112lji.57.1548223333946; Tue, 22 Jan 2019 22:02:13 -0800 (PST) MIME-Version: 1.0 References: In-Reply-To: From: Aditya Toshniwal Date: Wed, 23 Jan 2019 11:32:02 +0530 Message-ID: Subject: Re: [pgAdmin4][RM3849] Ask to save unsaved query changes stopped working To: Akshay Joshi Cc: Dave Page , pgadmin-hackers Content-Type: multipart/mixed; boundary="000000000000da8e1d058019d518" List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Precedence: bulk --000000000000da8e1d058019d518 Content-Type: multipart/alternative; boundary="000000000000da8e19058019d516" --000000000000da8e19058019d516 Content-Type: text/plain; charset="UTF-8" Hi Hackers, PFA revised patch as per review. On Wed, Jan 23, 2019 at 11:20 AM Akshay Joshi wrote: > Hi Aditya > > Found one issue you have remove the function "*disable_tree_state_save*" from > "*web/regression/python_test_utils/test_utils.py*" and move that code > into "*set_preference*" function and it is called from " > *web/regression/runtests.py*" which is conditional, so please correct > that behaviour. > > On Tue, Jan 22, 2019 at 6:28 PM Aditya Toshniwal < > aditya.toshniwal@enterprisedb.com> wrote: > >> Hi Hackers, >> >> Attached is the revised patch. The warning occurrence is configurable >> from Preferences > Browser > Display. >> >> Kindly review. >> >> On Tue, Jan 22, 2019 at 5:38 PM Dave Page >> wrote: >> >>> On Tue, Jan 22, 2019 at 12:01 PM Aditya Toshniwal >>> wrote: >>> > >>> > >>> > >>> > On Tue, Jan 22, 2019 at 5:27 PM Dave Page >>> wrote: >>> >> >>> >> On Tue, Jan 22, 2019 at 11:54 AM Aditya Toshniwal >>> >> wrote: >>> >> > >>> >> > Any suggestions on preferences name/desc ? >>> >> >>> >> Name: "Confirm on close" >>> >> Desc: "Confirm closure of the browser or browser tab is intended >>> >> before proceeding." >>> > >>> > It also warns on refresh. >>> >>> Name: "Confirm on close or refresh" >>> Desc: "Confirm closure or refresh of the browser or browser tab is >>> intended before proceeding." >>> >>> >> >>> >> >>> >> >>> >> > On Tue, Jan 22, 2019 at 3:01 PM Dave Page < >>> dave.page@enterprisedb.com> wrote: >>> >> >> >>> >> >> Hi >>> >> >> >>> >> >> On Tue, Jan 22, 2019 at 6:27 AM Akshay Joshi >>> >> >> wrote: >>> >> >> > >>> >> >> > Hi Aditya >>> >> >> > >>> >> >> > Below are my review comments: >>> >> >> > >>> >> >> > You have added new config parameter >>> "DISABLE_BEFOREUNLOAD_MESSAGE" to make this request configurable, should it >>> be the part of preferences setting instead of configuration? @Dave can you >>> please comment on this. >>> >> >> >>> >> >> That does seem like something that should be a per-user preference, >>> >> >> not a global config option. >>> >> >> >>> >> >> > Name "DISABLE_BEFOREUNLOAD_MESSAGE" is not clear as users >>> perspective, can you please change it to some meaningful name. >>> >> >> > >>> >> >> > Apart from that code looks good to me. >>> >> >> > >>> >> >> > On Mon, Jan 21, 2019 at 1:24 PM Aditya Toshniwal < >>> aditya.toshniwal@enterprisedb.com> wrote: >>> >> >> >> >>> >> >> >> Hi Hackers, >>> >> >> >> >>> >> >> >> Attached is the patch to throw alert warning when user reloads >>> or closes the browser. >>> >> >> >> >>> >> >> >> Kindly review. >>> >> >> >> >>> >> >> >> -- >>> >> >> >> Thanks and Regards, >>> >> >> >> Aditya Toshniwal >>> >> >> >> Software Engineer | EnterpriseDB Software Solutions | Pune >>> >> >> >> "Don't Complain about Heat, Plant a tree" >>> >> >> > >>> >> >> > >>> >> >> > >>> >> >> > -- >>> >> >> > Akshay Joshi >>> >> >> > Sr. Software Architect >>> >> >> > >>> >> >> > >>> >> >> > Phone: +91 20-3058-9517 >>> >> >> > Mobile: +91 976-788-8246 >>> >> >> >>> >> >> >>> >> >> >>> >> >> -- >>> >> >> Dave Page >>> >> >> VP, Chief Architect, Tools & Installers >>> >> >> EnterpriseDB: http://www.enterprisedb.com >>> >> >> The Enterprise PostgreSQL Company >>> >> >> >>> >> >> Blog: http://pgsnake.blogspot.com >>> >> >> Twitter: @pgsnake >>> >> > >>> >> > >>> >> > >>> >> > -- >>> >> > Thanks and Regards, >>> >> > Aditya Toshniwal >>> >> > Software Engineer | EnterpriseDB Software Solutions | Pune >>> >> > "Don't Complain about Heat, Plant a tree" >>> >> >>> >> >>> >> >>> >> -- >>> >> Dave Page >>> >> VP, Chief Architect, Tools & Installers >>> >> EnterpriseDB: http://www.enterprisedb.com >>> >> The Enterprise PostgreSQL Company >>> >> >>> >> Blog: http://pgsnake.blogspot.com >>> >> Twitter: @pgsnake >>> > >>> > >>> > >>> > -- >>> > Thanks and Regards, >>> > Aditya Toshniwal >>> > Software Engineer | EnterpriseDB Software Solutions | Pune >>> > "Don't Complain about Heat, Plant a tree" >>> >>> >>> >>> -- >>> Dave Page >>> VP, Chief Architect, Tools & Installers >>> EnterpriseDB: http://www.enterprisedb.com >>> The Enterprise PostgreSQL Company >>> >>> Blog: http://pgsnake.blogspot.com >>> Twitter: @pgsnake >>> >> >> >> -- >> Thanks and Regards, >> Aditya Toshniwal >> Software Engineer | EnterpriseDB Software Solutions | Pune >> "Don't Complain about Heat, Plant a tree" >> > > > -- > *Akshay Joshi* > > *Sr. Software Architect * > > > > *Phone: +91 20-3058-9517Mobile: +91 976-788-8246* > -- Thanks and Regards, Aditya Toshniwal Software Engineer | EnterpriseDB Software Solutions | Pune "Don't Complain about Heat, Plant a tree" --000000000000da8e19058019d516 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
Hi Hackers,

PFA revised patch as per review.
On Wed, = Jan 23, 2019 at 11:20 AM Akshay Joshi <akshay.joshi@enterprisedb.com> wrote:
Hi = Aditya=C2=A0

Found one issue you have remove the functio= n "disable_tree_state_save"=C2=A0from "web/regress= ion/python_test_utils/test_utils.py" and move that code into "= ;set_preference" function and it is called from "web/re= gression/runtests.py" which is conditional, so please correct that= behaviour.=C2=A0

On Tue, Jan 22, 2019 at 6:28 PM Aditya Toshniwal &= lt;a= ditya.toshniwal@enterprisedb.com> wrote:
Hi Hackers,

Attached is t= he revised patch. The warning occurrence is configurable from Preferences &= gt; Browser > Display.

Kindly review.

On Tue, Jan 22, 2019 at 5:38 PM Dav= e Page <= dave.page@enterprisedb.com> wrote:
On Tue, Jan 22, 2019 at 12:01 PM Aditya Toshniwal=
<= aditya.toshniwal@enterprisedb.com> wrote:
>
>
>
> On Tue, Jan 22, 2019 at 5:27 PM Dave Page <dave.page@enterprisedb.com> = wrote:
>>
>> On Tue, Jan 22, 2019 at 11:54 AM Aditya Toshniwal
>> <aditya.toshniwal@enterprisedb.com> wrote:
>> >
>> > Any suggestions on preferences name/desc ?
>>
>> Name: "Confirm on close"
>> Desc: "Confirm closure of the browser or browser tab is inten= ded
>> before proceeding."
>
> It also warns on refresh.

Name: "Confirm on close or refresh"
Desc: "Confirm closure or refresh of the browser or browser tab is
intended before proceeding."

>>
>>
>>
>> > On Tue, Jan 22, 2019 at 3:01 PM Dave Page <dave.page@enterprisedb.com= > wrote:
>> >>
>> >> Hi
>> >>
>> >> On Tue, Jan 22, 2019 at 6:27 AM Akshay Joshi
>> >> <akshay.joshi@enterprisedb.com> wrote:
>> >> >
>> >> > Hi Aditya
>> >> >
>> >> > Below are my review comments:
>> >> >
>> >> > You have added new config parameter "DISABLE_BE= FOREUNLOAD_MESSAGE" to make this request configurable, should it be th= e part of preferences setting instead of configuration? @Dave can you pleas= e comment on this.
>> >>
>> >> That does seem like something that should be a per-user p= reference,
>> >> not a global config option.
>> >>
>> >> > Name "DISABLE_BEFOREUNLOAD_MESSAGE" is not= clear as users perspective, can you please change it to some meaningful na= me.
>> >> >
>> >> > Apart from that code looks good to me.
>> >> >
>> >> > On Mon, Jan 21, 2019 at 1:24 PM Aditya Toshniwal <= ;adi= tya.toshniwal@enterprisedb.com> wrote:
>> >> >>
>> >> >> Hi Hackers,
>> >> >>
>> >> >> Attached is the patch to throw alert warning whe= n user reloads or closes the browser.
>> >> >>
>> >> >> Kindly review.
>> >> >>
>> >> >> --
>> >> >> Thanks and Regards,
>> >> >> Aditya Toshniwal
>> >> >> Software Engineer | EnterpriseDB Software Soluti= ons | Pune
>> >> >> "Don't Complain about Heat, Plant a tre= e"
>> >> >
>> >> >
>> >> >
>> >> > --
>> >> > Akshay Joshi
>> >> > Sr. Software Architect
>> >> >
>> >> >
>> >> > Phone: +91 20-3058-9517
>> >> > Mobile: +91 976-788-8246
>> >>
>> >>
>> >>
>> >> --
>> >> Dave Page
>> >> VP, Chief Architect, Tools & Installers
>> >> EnterpriseDB: http://www.enterprisedb.com
>> >> The Enterprise PostgreSQL Company
>> >>
>> >> Blog: http://pgsnake.blogspot.com
>> >> Twitter: @pgsnake
>> >
>> >
>> >
>> > --
>> > Thanks and Regards,
>> > Aditya Toshniwal
>> > Software Engineer | EnterpriseDB Software Solutions | Pune >> > "Don't Complain about Heat, Plant a tree"
>>
>>
>>
>> --
>> Dave Page
>> VP, Chief Architect, Tools & Installers
>> EnterpriseDB: http://www.enterprisedb.com
>> The Enterprise PostgreSQL Company
>>
>> Blog: http://pgsnake.blogspot.com
>> Twitter: @pgsnake
>
>
>
> --
> Thanks and Regards,
> Aditya Toshniwal
> Software Engineer | EnterpriseDB Software Solutions | Pune
> "Don't Complain about Heat, Plant a tree"



--
Dave Page
VP, Chief Architect, Tools & Installers
EnterpriseDB: http://www.enterprisedb.com
The Enterprise PostgreSQL Company

Blog: http://pgsnake.blogspot.com
Twitter: @pgsnake


--
Thanks and Regards,=
Aditya Toshniwal
Software Enginee= r |=C2=A0EnterpriseDB Software Solutions |=C2=A0Pune
"Don&#= 39;t Complain about Heat, Plant a tree"


--
<= div>Akshay Joshi
Sr. Software Architect


Phone: +91 20-3058-9517
Mobile: +91 976-788-8246=


--
Thanks and Rega= rds,
Aditya Toshniwa= l
Softw= are Engineer |=C2=A0EnterpriseDB Software Solutions |=C2=A0Pune
&q= uot;Don't Complain about Heat, Plant a tree"
--000000000000da8e19058019d516-- --000000000000da8e1d058019d518 Content-Type: application/octet-stream; name="RM3849_v3.patch" Content-Disposition: attachment; filename="RM3849_v3.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_jr8s6ud50 ZGlmZiAtLWdpdCBhL3dlYi9wZ2FkbWluL2Jyb3dzZXIvcmVnaXN0ZXJfYnJvd3Nlcl9wcmVmZXJl bmNlcy5weSBiL3dlYi9wZ2FkbWluL2Jyb3dzZXIvcmVnaXN0ZXJfYnJvd3Nlcl9wcmVmZXJlbmNl cy5weQppbmRleCA1YmVlODE3ZS4uYzdlYTgxMjYgMTAwNjQ0Ci0tLSBhL3dlYi9wZ2FkbWluL2Jy b3dzZXIvcmVnaXN0ZXJfYnJvd3Nlcl9wcmVmZXJlbmNlcy5weQorKysgYi93ZWIvcGdhZG1pbi9i cm93c2VyL3JlZ2lzdGVyX2Jyb3dzZXJfcHJlZmVyZW5jZXMucHkKQEAgLTM4LDYgKzM4LDE2IEBA IGRlZiByZWdpc3Rlcl9icm93c2VyX3ByZWZlcmVuY2VzKHNlbGYpOgogICAgICAgICApCiAgICAg KQogCisgICAgc2VsZi5wcmVmZXJlbmNlLnJlZ2lzdGVyKAorICAgICAgICAnZGlzcGxheScsICdj b25maXJtX29uX3JlZnJlc2hfY2xvc2UnLAorICAgICAgICBnZXR0ZXh0KCJDb25maXJtIG9uIGNs b3NlIG9yIHJlZnJlc2ggPyIpLCAnYm9vbGVhbicsCisgICAgICAgIFRydWUsIGNhdGVnb3J5X2xh YmVsPWdldHRleHQoJ0Rpc3BsYXknKSwKKyAgICAgICAgaGVscF9zdHI9Z2V0dGV4dCgKKyAgICAg ICAgICAgICdDb25maXJtIGNsb3N1cmUgb3IgcmVmcmVzaCBvZiB0aGUgYnJvd3NlciBvciBicm93 c2VyIHRhYiBpcyAnCisgICAgICAgICAgICAnaW50ZW5kZWQgYmVmb3JlIHByb2NlZWRpbmcuJwor ICAgICAgICApCisgICAgKQorCiAgICAgc2VsZi50YWJsZV9yb3dfY291bnRfdGhyZXNob2xkID0g c2VsZi5wcmVmZXJlbmNlLnJlZ2lzdGVyKAogICAgICAgICAncHJvcGVydGllcycsICd0YWJsZV9y b3dfY291bnRfdGhyZXNob2xkJywKICAgICAgICAgZ2V0dGV4dCgiQ291bnQgcm93cyBpZiBlc3Rp bWF0ZWQgbGVzcyB0aGFuIiksICdpbnRlZ2VyJywgMjAwMCwKZGlmZiAtLWdpdCBhL3dlYi9wZ2Fk bWluL2Jyb3dzZXIvc3RhdGljL2pzL2Jyb3dzZXIuanMgYi93ZWIvcGdhZG1pbi9icm93c2VyL3N0 YXRpYy9qcy9icm93c2VyLmpzCmluZGV4IGNjMmVhMDU2Li4yYWNjZDE4MiAxMDA2NDQKLS0tIGEv d2ViL3BnYWRtaW4vYnJvd3Nlci9zdGF0aWMvanMvYnJvd3Nlci5qcworKysgYi93ZWIvcGdhZG1p bi9icm93c2VyL3N0YXRpYy9qcy9icm93c2VyLmpzCkBAIC0xOTkxLDEwICsxOTkxLDE4IEBAIGRl ZmluZSgncGdhZG1pbi5icm93c2VyJywgWwogICAgIHBnQWRtaW4uQnJvd3Nlci5lZGl0b3Jfc2hv cnRjdXRfa2V5cy5UYWIgPSAnaW5zZXJ0U29mdFRhYic7CiAgIH0KIAotICAkKHdpbmRvdykub24o J2JlZm9yZXVubG9hZCcsIGZ1bmN0aW9uKCkgewotICAgIGxldCBwcmVmID0gcGdCcm93c2VyLmdl dF9wcmVmZXJlbmNlKCdicm93c2VyJywgJ2Jyb3dzZXJfdHJlZV9zdGF0ZV9zYXZlX2ludGVydmFs Jyk7Ci0gICAgaWYgKCFfLmlzVW5kZWZpbmVkKHByZWYpICYmIHByZWYudmFsdWUgIT09IC0xKQor ICAkKHdpbmRvdykub24oJ2JlZm9yZXVubG9hZCcsIGZ1bmN0aW9uKGUpIHsKKyAgICBsZXQgdHJl ZV9zYXZlX2ludGVydmFsID0gcGdCcm93c2VyLmdldF9wcmVmZXJlbmNlKCdicm93c2VyJywgJ2Jy b3dzZXJfdHJlZV9zdGF0ZV9zYXZlX2ludGVydmFsJyksCisgICAgICBjb25maXJtX29uX3JlZnJl c2hfY2xvc2UgPSBwZ0Jyb3dzZXIuZ2V0X3ByZWZlcmVuY2UoJ2Jyb3dzZXInLCAnY29uZmlybV9v bl9yZWZyZXNoX2Nsb3NlJyk7CisgICAgaWYgKCFfLmlzVW5kZWZpbmVkKHRyZWVfc2F2ZV9pbnRl cnZhbCkgJiYgdHJlZV9zYXZlX2ludGVydmFsLnZhbHVlICE9PSAtMSkKICAgICAgIHBnQWRtaW4u QnJvd3Nlci5icm93c2VyVHJlZVN0YXRlLnNhdmVfc3RhdGUoKTsKKworICAgIGlmKGNvbmZpcm1f b25fcmVmcmVzaF9jbG9zZS52YWx1ZSkgeworICAgICAgLyogVGhpcyBtZXNzYWdlIHdpbGwgbm90 IGJlIGRpc3BsYXllZCBpbiBDaHJvbWUsIEZpcmVmb3gsIFNhZmFyaSBhcyB0aGV5IGhhdmUgZGlz YWJsZWQgaXQqLworICAgICAgbGV0IG1zZyA9IFMoZ2V0dGV4dCgnQXJlIHlvdSBzdXJlIHlvdSB3 YW50IHRvIGNsb3NlIHRoZSAlcyBicm93c2VyPycpKS5zcHJpbnRmKHBnQnJvd3Nlci51dGlscy5h cHBfbmFtZSkudmFsdWUoKTsKKyAgICAgIGUub3JpZ2luYWxFdmVudC5yZXR1cm5WYWx1ZSA9IG1z ZzsKKyAgICAgIHJldHVybiBtc2c7CisgICAgfQogICB9KTsKIAogICByZXR1cm4gcGdBZG1pbi5C cm93c2VyOwpkaWZmIC0tZ2l0IGEvd2ViL3JlZ3Jlc3Npb24vcHl0aG9uX3Rlc3RfdXRpbHMvdGVz dF91dGlscy5weSBiL3dlYi9yZWdyZXNzaW9uL3B5dGhvbl90ZXN0X3V0aWxzL3Rlc3RfdXRpbHMu cHkKaW5kZXggYjc1ZTE4YTAuLjcxNjMxOTJjIDEwMDY0NAotLS0gYS93ZWIvcmVncmVzc2lvbi9w eXRob25fdGVzdF91dGlscy90ZXN0X3V0aWxzLnB5CisrKyBiL3dlYi9yZWdyZXNzaW9uL3B5dGhv bl90ZXN0X3V0aWxzL3Rlc3RfdXRpbHMucHkKQEAgLTY0Niw1OCArNjQ2LDc3IEBAIGRlZiBnZXRf ZGJfc2VydmVyKHNpZCk6CiAgICAgcmV0dXJuIGNvbm5lY3Rpb24KIAogCi1kZWYgc2V0X3ByZWZl cmVuY2UoZGVmYXVsdF9iaW5hcnlfcGF0aCk6CitkZWYgY29uZmlndXJlX3ByZWZlcmVuY2VzKGRl ZmF1bHRfYmluYXJ5X3BhdGg9Tm9uZSk6CiAgICAgY29ubiA9IHNxbGl0ZTMuY29ubmVjdChjb25m aWcuVEVTVF9TUUxJVEVfUEFUSCkKICAgICBjdXIgPSBjb25uLmN1cnNvcigpCi0gICAgcGVyZiA9 IFByZWZlcmVuY2VzLm1vZHVsZSgncGF0aHMnKQotICAgIHNlcnZlcl90eXBlcyA9IGRlZmF1bHRf YmluYXJ5X3BhdGgua2V5cygpCi0KLSAgICBmb3Igc2VydmVyIGluIHNlcnZlcl90eXBlczoKLSAg ICAgICAgcGF0aF9wcmVmID0gcGVyZi5wcmVmZXJlbmNlKCd7MH1fYmluX2RpcicuZm9ybWF0KHNl cnZlcikpCi0gICAgICAgIHVzZXJfcHJlZiA9IGN1ci5leGVjdXRlKAotICAgICAgICAgICAgJ1NF TEVDVCBwaWQsIHVpZCBGUk9NIHVzZXJfcHJlZmVyZW5jZXMgJwotICAgICAgICAgICAgJ3doZXJl IHBpZD0lcycgJSBwYXRoX3ByZWYucGlkCi0gICAgICAgICkKIAotICAgICAgICB1c2VyX3ByZWZf ZGF0YSA9IHVzZXJfcHJlZi5mZXRjaG9uZSgpCi0gICAgICAgIGlmIHVzZXJfcHJlZl9kYXRhOgot ICAgICAgICAgICAgY3VyLmV4ZWN1dGUoCi0gICAgICAgICAgICAgICAgJ1VQREFURSB1c2VyX3By ZWZlcmVuY2VzIFNFVCB2YWx1ZSA9ID8gV0hFUkUgcGlkID0gPycsCi0gICAgICAgICAgICAgICAg KGRlZmF1bHRfYmluYXJ5X3BhdGhbc2VydmVyXSwgcGF0aF9wcmVmLnBpZCkKLSAgICAgICAgICAg ICkKLSAgICAgICAgZWxzZToKLSAgICAgICAgICAgIHBhcmFtcyA9IChwYXRoX3ByZWYucGlkLCAx LCBkZWZhdWx0X2JpbmFyeV9wYXRoW3NlcnZlcl0pCi0gICAgICAgICAgICBjdXIuZXhlY3V0ZSgK LSAgICAgICAgICAgICAgICAnSU5TRVJUIElOVE8gdXNlcl9wcmVmZXJlbmNlcyhwaWQsIHVpZCwg dmFsdWUpJwotICAgICAgICAgICAgICAgICcgVkFMVUVTICg/LD8sPyknLCBwYXJhbXMKKyAgICBp ZiBkZWZhdWx0X2JpbmFyeV9wYXRoIGlzIG5vdCBOb25lOgorICAgICAgICBwYXRoc19wcmVmID0g UHJlZmVyZW5jZXMubW9kdWxlKCdwYXRocycpCisgICAgICAgIHNlcnZlcl90eXBlcyA9IGRlZmF1 bHRfYmluYXJ5X3BhdGgua2V5cygpCisgICAgICAgIGZvciBzZXJ2ZXIgaW4gc2VydmVyX3R5cGVz OgorICAgICAgICAgICAgcHJlZl9iaW5fcGF0aCA9IHBhdGhzX3ByZWYucHJlZmVyZW5jZSgnezB9 X2Jpbl9kaXInLmZvcm1hdChzZXJ2ZXIpKQorICAgICAgICAgICAgdXNlcl9wcmVmID0gY3VyLmV4 ZWN1dGUoCisgICAgICAgICAgICAgICAgJ1NFTEVDVCBwaWQsIHVpZCBGUk9NIHVzZXJfcHJlZmVy ZW5jZXMgJworICAgICAgICAgICAgICAgICd3aGVyZSBwaWQ9JXMnICUgcHJlZl9iaW5fcGF0aC5w aWQKICAgICAgICAgICAgICkKIAotICAgIGNvbm4uY29tbWl0KCkKLSAgICBjb25uLmNsb3NlKCkK KyAgICAgICAgICAgIHVzZXJfcHJlZl9kYXRhID0gdXNlcl9wcmVmLmZldGNob25lKCkKKyAgICAg ICAgICAgIGlmIHVzZXJfcHJlZl9kYXRhOgorICAgICAgICAgICAgICAgIGN1ci5leGVjdXRlKAor ICAgICAgICAgICAgICAgICAgICAnVVBEQVRFIHVzZXJfcHJlZmVyZW5jZXMgU0VUIHZhbHVlID0g PyBXSEVSRSBwaWQgPSA/JywKKyAgICAgICAgICAgICAgICAgICAgKGRlZmF1bHRfYmluYXJ5X3Bh dGhbc2VydmVyXSwgcHJlZl9iaW5fcGF0aC5waWQpCisgICAgICAgICAgICAgICAgKQorICAgICAg ICAgICAgZWxzZToKKyAgICAgICAgICAgICAgICBwYXJhbXMgPSAocHJlZl9iaW5fcGF0aC5waWQs IDEsIGRlZmF1bHRfYmluYXJ5X3BhdGhbc2VydmVyXSkKKyAgICAgICAgICAgICAgICBjdXIuZXhl Y3V0ZSgKKyAgICAgICAgICAgICAgICAgICAgJ0lOU0VSVCBJTlRPIHVzZXJfcHJlZmVyZW5jZXMo cGlkLCB1aWQsIHZhbHVlKScKKyAgICAgICAgICAgICAgICAgICAgJyBWQUxVRVMgKD8sPyw/KScs IHBhcmFtcworICAgICAgICAgICAgICAgICkKIAorICAgIGJyb3dzZXJfcHJlZiA9IFByZWZlcmVu Y2VzLm1vZHVsZSgnYnJvd3NlcicpCiAKLWRlZiBkaXNhYmxlX3RyZWVfc3RhdGVfc2F2ZSgpOgot ICAgIGNvbm4gPSBzcWxpdGUzLmNvbm5lY3QoY29uZmlnLlRFU1RfU1FMSVRFX1BBVEgpCi0gICAg Y3VyID0gY29ubi5jdXJzb3IoKQotICAgIHByZWYgPSBQcmVmZXJlbmNlcy5tb2R1bGUoJ2Jyb3dz ZXInKVwKLSAgICAgICAgLnByZWZlcmVuY2UoJ2Jyb3dzZXJfdHJlZV9zdGF0ZV9zYXZlX2ludGVy dmFsJykKKyAgICAjIERpc2FibGUgdHJlZSBzdGF0ZSBzYXZlIGZvciB0ZXN0cworICAgIHByZWZf dHJlZV9zdGF0ZV9zYXZlX2ludGVydmFsID0gXAorICAgICAgICBicm93c2VyX3ByZWYucHJlZmVy ZW5jZSgnYnJvd3Nlcl90cmVlX3N0YXRlX3NhdmVfaW50ZXJ2YWwnKQorCisgICAgdXNlcl9wcmVm ID0gY3VyLmV4ZWN1dGUoCisgICAgICAgICdTRUxFQ1QgcGlkLCB1aWQgRlJPTSB1c2VyX3ByZWZl cmVuY2VzICcKKyAgICAgICAgJ3doZXJlIHBpZD0/JywgKHByZWZfdHJlZV9zdGF0ZV9zYXZlX2lu dGVydmFsLnBpZCwpCisgICAgKQorCisgICAgaWYgbGVuKHVzZXJfcHJlZi5mZXRjaGFsbCgpKSA9 PSAwOgorICAgICAgICBjdXIuZXhlY3V0ZSgKKyAgICAgICAgICAgICdJTlNFUlQgSU5UTyB1c2Vy X3ByZWZlcmVuY2VzKHBpZCwgdWlkLCB2YWx1ZSknCisgICAgICAgICAgICAnIFZBTFVFUyAoPyw/ LD8pJywgKHByZWZfdHJlZV9zdGF0ZV9zYXZlX2ludGVydmFsLnBpZCwgMSwgLTEpCisgICAgICAg ICkKKyAgICBlbHNlOgorICAgICAgICBjdXIuZXhlY3V0ZSgKKyAgICAgICAgICAgICdVUERBVEUg dXNlcl9wcmVmZXJlbmNlcycKKyAgICAgICAgICAgICcgU0VUIFZBTFVFID0gPycKKyAgICAgICAg ICAgICcgV0hFUkUgUElEID0gPycsICgtMSwgcHJlZl90cmVlX3N0YXRlX3NhdmVfaW50ZXJ2YWwu cGlkKQorICAgICAgICApCisKKyAgICAjIERpc2FibGUgcmVsb2FkIHdhcm5pbmcgb24gYnJvd3Nl cgorICAgIHByZWZfY29uZmlybV9vbl9yZWZyZXNoX2Nsb3NlID0gXAorICAgICAgICBicm93c2Vy X3ByZWYucHJlZmVyZW5jZSgnY29uZmlybV9vbl9yZWZyZXNoX2Nsb3NlJykKIAogICAgIHVzZXJf cHJlZiA9IGN1ci5leGVjdXRlKAogICAgICAgICAnU0VMRUNUIHBpZCwgdWlkIEZST00gdXNlcl9w cmVmZXJlbmNlcyAnCi0gICAgICAgICd3aGVyZSBwaWQ9PycsIChwcmVmLnBpZCwpCisgICAgICAg ICd3aGVyZSBwaWQ9PycsIChwcmVmX2NvbmZpcm1fb25fcmVmcmVzaF9jbG9zZS5waWQsKQogICAg ICkKIAogICAgIGlmIGxlbih1c2VyX3ByZWYuZmV0Y2hhbGwoKSkgPT0gMDoKICAgICAgICAgY3Vy LmV4ZWN1dGUoCiAgICAgICAgICAgICAnSU5TRVJUIElOVE8gdXNlcl9wcmVmZXJlbmNlcyhwaWQs IHVpZCwgdmFsdWUpJwotICAgICAgICAgICAgJyBWQUxVRVMgKD8sPyw/KScsIChwcmVmLnBpZCwg MSwgLTEpCisgICAgICAgICAgICAnIFZBTFVFUyAoPyw/LD8pJywgKHByZWZfY29uZmlybV9vbl9y ZWZyZXNoX2Nsb3NlLnBpZCwgMSwgJ0ZhbHNlJykKICAgICAgICAgKQogICAgIGVsc2U6CiAgICAg ICAgIGN1ci5leGVjdXRlKAogICAgICAgICAgICAgJ1VQREFURSB1c2VyX3ByZWZlcmVuY2VzJwog ICAgICAgICAgICAgJyBTRVQgVkFMVUUgPSA/JwotICAgICAgICAgICAgJyBXSEVSRSBQSUQgPSA/ JywgKC0xLCBwcmVmLnBpZCkKKyAgICAgICAgICAgICcgV0hFUkUgUElEID0gPycsICgnRmFsc2Un LCBwcmVmX2NvbmZpcm1fb25fcmVmcmVzaF9jbG9zZS5waWQpCiAgICAgICAgICkKKwogICAgIGNv bm4uY29tbWl0KCkKICAgICBjb25uLmNsb3NlKCkKIApkaWZmIC0tZ2l0IGEvd2ViL3JlZ3Jlc3Np b24vcnVudGVzdHMucHkgYi93ZWIvcmVncmVzc2lvbi9ydW50ZXN0cy5weQppbmRleCAwMjg0NzUz Yy4uYjAyMzcwM2QgMTAwNjQ0Ci0tLSBhL3dlYi9yZWdyZXNzaW9uL3J1bnRlc3RzLnB5CisrKyBi L3dlYi9yZWdyZXNzaW9uL3J1bnRlc3RzLnB5CkBAIC00MTUsMTIgKzQxNSw5IEBAIGlmIF9fbmFt ZV9fID09ICdfX21haW5fXyc6CiAgICAgICAgICAgICB0ZXN0X3V0aWxzLmRyb3BfZGF0YWJhc2Uo Y29ubmVjdGlvbiwgdGVzdF9kYl9uYW1lKQogICAgICAgICAgICAgIyBDcmVhdGUgZGF0YWJhc2UK ICAgICAgICAgICAgIHRlc3RfdXRpbHMuY3JlYXRlX2RhdGFiYXNlKHNlcnZlciwgdGVzdF9kYl9u YW1lKQotCi0gICAgICAgICAgICBpZiBzZXJ2ZXJbJ2RlZmF1bHRfYmluYXJ5X3BhdGhzJ10gaXMg bm90IE5vbmU6Ci0gICAgICAgICAgICAgICAgdGVzdF91dGlscy5zZXRfcHJlZmVyZW5jZShzZXJ2 ZXJbJ2RlZmF1bHRfYmluYXJ5X3BhdGhzJ10pCi0KLSAgICAgICAgICAgICMgRGlzYWJsZSB0cmVl IHN0YXRlIHNhdmluZwotICAgICAgICAgICAgdGVzdF91dGlscy5kaXNhYmxlX3RyZWVfc3RhdGVf c2F2ZSgpCisgICAgICAgICAgICAjIENvbmZpZ3VyZSBwcmVmZXJlbmNlcyBmb3IgdGhlIHRlc3Qg Y2FzZXMKKyAgICAgICAgICAgIHRlc3RfdXRpbHMuY29uZmlndXJlX3ByZWZlcmVuY2VzKAorICAg ICAgICAgICAgICAgIGRlZmF1bHRfYmluYXJ5X3BhdGg9c2VydmVyWydkZWZhdWx0X2JpbmFyeV9w YXRocyddKQogCiAgICAgICAgICAgICBzdWl0ZSA9IGdldF9zdWl0ZSh0ZXN0X21vZHVsZV9saXN0 LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VydmVyLAo= --000000000000da8e1d058019d518--