Received: from malur.postgresql.org ([2a02:16a8:dc51::56]) by arkaria.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA384:256) (Exim 4.89) (envelope-from ) id 1fbJXo-0007QU-Pn for pgadmin-hackers@arkaria.postgresql.org; Fri, 06 Jul 2018 05:44:37 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.89) (envelope-from ) id 1fbJXl-0001S6-LN for pgadmin-hackers@arkaria.postgresql.org; Fri, 06 Jul 2018 05:44:33 +0000 Received: from makus.postgresql.org ([2001:4800:1501:1::229]) by malur.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA384:256) (Exim 4.89) (envelope-from ) id 1fbJXl-0001Rw-49 for pgadmin-hackers@lists.postgresql.org; Fri, 06 Jul 2018 05:44:33 +0000 Received: from mail-pl0-x22c.google.com ([2607:f8b0:400e:c01::22c]) by makus.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.89) (envelope-from ) id 1fbJXg-0001m8-G8 for pgadmin-hackers@postgresql.org; Fri, 06 Jul 2018 05:44:31 +0000 Received: by mail-pl0-x22c.google.com with SMTP id bi1-v6so2339476plb.12 for ; Thu, 05 Jul 2018 22:44:28 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=enterprisedb-com.20150623.gappssmtp.com; s=20150623; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc; bh=Mati3CxO+Yqf7kjBt7d32r1YunKwGB2vG/wTtnE3T5A=; b=GGdObVAlaGEAlVk/Z+UzoL3ldvHhn/4iNFqADfxpx3sulnDpKBGD6EHYlBjkNf7K0g P4s7y8NK6NFqPdbFXqgDAV2IX+0u0zRlVXxZaL70aNteEPNYzGNK8E4tQ33M96PpolfM R9tZh1K892x1WyVve9IlavjTPMXIqHC/Z5bwaljVbFfJx44OirVsk4jLXo7NArcHpCGX mTPamG+xTIR170QkzNFqDqF+n4SV9fEh+ybafbJk8f8yEm6z/Ximi1DsjxPPXjx8lNMj Fl8kHQaYbFkz2pia1t3i7xGvbc7PmlS+DBzFaq/KPaR1yCLCsNycQRA86hlulVnHB6Xy sRcg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to:cc; bh=Mati3CxO+Yqf7kjBt7d32r1YunKwGB2vG/wTtnE3T5A=; b=alyPvn3JMBnsWuH+Od21HDucAgatsCDsOlxViCOE3xyR800xrebkDW84q/9+fKMmPW 2EXl6C470eGv7d+PI5HxFwpZTp39HNTQA4b0Oi1bRwLD3AQkZXxRsDknq3SB5rvEEHIk LgEXHfA0WiIFDAAfUCfIoDriouwAkOhh6TDg9IJHHcjwovxMhReqs81VAQZ2FgpG/4M2 MOkRBYM/klAsFaqj0DlPp3ylM+jjdttEyX0XvhfIBjGDxyfZn59RbZ/NOszuonru5Wld ThqJOatdsyTn5QJ5WqbAvL3dFt8171bip6HV8MgO8lEGEzFkstWnr3ZPrdBTpJAkZd5D XAWg== X-Gm-Message-State: APt69E06+AoqffmWrdbGYkxz/dDnHbBGgdIAbCwffU0T6B0aywf8z+N9 /Z+IxIgOKMjZHM4k/Xnv9OVqeC1B2cCin4/gg3G8mw== X-Google-Smtp-Source: AAOMgpf5tDaSxh1ySR4bykr9al/yVsduZGxl2DQ79r7cjttR+8oha9vyqDrB8mjA44qX3zTB2tDjDBSOqBTtbThfQ4g= X-Received: by 2002:a17:902:8209:: with SMTP id x9-v6mr9005916pln.150.1530855866473; Thu, 05 Jul 2018 22:44:26 -0700 (PDT) MIME-Version: 1.0 Received: by 2002:a17:90a:8c86:0:0:0:0 with HTTP; Thu, 5 Jul 2018 22:44:25 -0700 (PDT) In-Reply-To: References: From: Akshay Joshi Date: Fri, 6 Jul 2018 11:14:25 +0530 Message-ID: Subject: Re: [pgAdmin4][Patch]: RM #3397 Add support for JIT stats in EXPLAIN output in PG11 To: Dave Page Cc: pgadmin-hackers Content-Type: multipart/mixed; boundary="0000000000001fcffa05704e28e0" List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Precedence: bulk --0000000000001fcffa05704e28e0 Content-Type: multipart/alternative; boundary="0000000000001fcff805704e28de" --0000000000001fcff805704e28de Content-Type: text/plain; charset="UTF-8" Hi On Thu, Jul 5, 2018 at 7:17 PM, Dave Page wrote: > Hi > > Looks good to me - the only remaining issue is that the button still isn't > the same colours as the zoom ones. I haven't found all the differences, but > there seems to be an 'opacity: 0.5" on the stats area, and the disabled > attribute is still being set. > I have set the disabled attribute, so that the button shouldn't be clickable and because of that there is difference in colour. 'opacity: 0.5' is also there for zoom area. I have fixed the issue by removing disabled attribute and add ' *pointer-events: none*' for the statistics button. Attached is the patch please review it. > > On Thu, Jul 5, 2018 at 11:21 AM, Akshay Joshi < > akshay.joshi@enterprisedb.com> wrote: > >> Hi Dave >> >> As per discussion attached is the modified patch with following review >> comments has been fixed : >> >> - Hide statistics button if not applicable(no statistics to show). >> - Extract 'StatisticsModel' into a separate file and added jasmine >> test for this. >> >> >> >> >> On Tue, Jul 3, 2018 at 6:40 PM, Akshay Joshi < >> akshay.joshi@enterprisedb.com> wrote: >> >>> Hi Dave, >>> >>> Please ignore the previous patch, I have made some more changes related >>> to background colour on enabled/disabled state. >>> Attached is the modified patch. Please review it. >>> >>> On Tue, Jul 3, 2018 at 12:35 PM, Akshay Joshi < >>> akshay.joshi@enterprisedb.com> wrote: >>> >>>> Hi Dave, >>>> >>>> On Mon, Jul 2, 2018 at 4:10 PM, Dave Page wrote: >>>> >>>>> Hi >>>>> >>>>> On Sat, Jun 30, 2018 at 9:15 AM, Akshay Joshi < >>>>> akshay.joshi@enterprisedb.com> wrote: >>>>> >>>>>> Hi Dave >>>>>> >>>>>> On Fri, Jun 29, 2018 at 7:45 PM, Dave Page wrote: >>>>>> >>>>>>> >>>>>>> >>>>>>> On Fri, Jun 29, 2018 at 3:12 PM, Akshay Joshi < >>>>>>> akshay.joshi@enterprisedb.com> wrote: >>>>>>> >>>>>>>> Hi Dave >>>>>>>> >>>>>>>> On Fri, Jun 29, 2018 at 6:56 PM, Dave Page >>>>>>>> wrote: >>>>>>>> >>>>>>>>> Hi >>>>>>>>> >>>>>>>>> On Fri, Jun 29, 2018 at 9:55 AM, Akshay Joshi < >>>>>>>>> akshay.joshi@enterprisedb.com> wrote: >>>>>>>>> >>>>>>>>>> Hi Hackers, >>>>>>>>>> >>>>>>>>>> Attached is the patch to fix the RM #3397 Add support for JIT >>>>>>>>>> stats in EXPLAIN output in PG11. Please review it. >>>>>>>>>> >>>>>>>>> >>>>>>>>> A couple of immediate thoughts: >>>>>>>>> >>>>>>>>> - When the canvas is first rendered, there's a vertical scrollbar >>>>>>>>> now. As soon as I mouseover the new icon, it vanishes and the icon jumps to >>>>>>>>> the right. >>>>>>>>> >>>>>>>> >>>>>>>> Will look into it. Vertical scrollbar comes even if you remove >>>>>>>> my patch and try to hover any image. >>>>>>>> >>>>>>>>> >>>>>>>>> - The icon seems lighter than the other controls on the left. >>>>>>>>> >>>>>>>> >>>>>>>> Same css has been applied, only difference is button is >>>>>>>> disabled. >>>>>>>> >>>>>>>>> >>>>>>>>> - The icon isn't disabled when there is no info to show. >>>>>>>>> >>>>>>>> >>>>>>>> Button is always disabled, I have just change the opacity. >>>>>>>> >>>>>>>>> >>>>>>>>> Thanks. >>>>>>>>> >>>>>>>> >>>>>>> Maybe - but I can still click it and it reacts as if it's active. It >>>>>>> may be lighter to indicate that it's disabled, but its not behaving as >>>>>>> such. >>>>>>> >>>>>> >>>>>> Attached is the modified patch. Please review it. >>>>>> >>>>> >>>>> The button still changes foreground colour on mouseover when >>>>> disabled. I think it needs to be completely non-reactive when disabled. It >>>>> should also be a noticably lighter shade when disabled; right now it seems >>>>> to be darker than the other buttons (see attached). >>>>> >>>> >>>> Attached is the modified patch. Please review it. >>>> >>>>> >>>>> -- >>>>> Dave Page >>>>> Blog: http://pgsnake.blogspot.com >>>>> Twitter: @pgsnake >>>>> >>>>> EnterpriseDB UK: http://www.enterprisedb.com >>>>> The Enterprise PostgreSQL Company >>>>> >>>> >>>> >>>> >>>> -- >>>> *Akshay Joshi* >>>> >>>> *Sr. Software Architect * >>>> >>>> >>>> >>>> *Phone: +91 20-3058-9517Mobile: +91 976-788-8246* >>>> >>> >>> >>> >>> -- >>> *Akshay Joshi* >>> >>> *Sr. Software Architect * >>> >>> >>> >>> *Phone: +91 20-3058-9517Mobile: +91 976-788-8246* >>> >> >> >> >> -- >> *Akshay Joshi* >> >> *Sr. Software Architect * >> >> >> >> *Phone: +91 20-3058-9517Mobile: +91 976-788-8246* >> > > > > -- > Dave Page > Blog: http://pgsnake.blogspot.com > Twitter: @pgsnake > > EnterpriseDB UK: http://www.enterprisedb.com > The Enterprise PostgreSQL Company > -- *Akshay Joshi* *Sr. Software Architect * *Phone: +91 20-3058-9517Mobile: +91 976-788-8246* --0000000000001fcff805704e28de Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
Hi

On Thu, Jul 5, 2018 at 7:17 PM, Dave Page <dpage@pgadmin.org> wrote:
Hi

Looks go= od to me - the only remaining issue is that the button still isn't the = same colours as the zoom ones. I haven't found all the differences, but= there seems to be an 'opacity: 0.5" on the stats area, and the di= sabled attribute is still being set.=C2=A0
=C2=A0 =C2=A0 I have set the disabled attribute, so that the bu= tton shouldn't be clickable and because of that there is difference in colour. &= #39;opacity: 0.5' is also there for zoom area. I have fixed the issue b= y removing disabled attribute and add '
pointer-events:=
 none
' for the statistics button. Attached is the patch pleas= e review it.=C2=A0 =C2=A0 =C2=A0

On Thu, Jul 5, 2018 at 11:21 AM, Akshay Joshi <akshay.joshi@enterprisedb.com> wrote:
Hi Dave

As per discus= sion attached is the modified patch with following review comments has been= fixed :
  • Hide statistics button if not applicable(no stat= istics to show).
  • Extract 'StatisticsModel' into a separate = file and added jasmine test for this.=C2=A0=C2=A0

<= /div>


On Tue, Jul 3, 2018 at 6:40 PM, Akshay Joshi <akshay.joshi@enterprisedb.com> wrote:
Hi Dave,

Please ignore= the previous patch, I have made some more changes related to background co= lour on enabled/disabled state.=C2=A0
Attached is the modif= ied patch. Please review it.=C2=A0 =C2=A0

On Tue, Jul 3, 2018 at 12:35 PM, Akshay Joshi <akshay.joshi@enterprisedb.com> wrote:
Hi Dave,

On Mon, Jul 2, 2018 at 4:10 PM, D= ave Page <dpage@pgadmin.org> wrote:
Hi

On Sat, Jun 30, 2018 at 9:15 AM, Akshay Joshi <akshay.joshi@enterprisedb.com> wrote:
Hi Dave
On Fri, Jun 29, 2018 at 7:45 PM, Dave Pag= e <dpage@pgadmin.org> wrote:


On Fri, Jun 29, 2018 at 3:12 PM, Akshay Joshi <ak= shay.joshi@enterprisedb.com> wrote:
Hi Dave

On Fri, Jun 29, 2018 at 6:56 PM, Dave Page <dpa= ge@pgadmin.org> wrote:
Hi

On Fri, Jun 29, 2018 at 9:55 AM, Akshay Joshi <akshay.josh= i@enterprisedb.com> wrote:
Hi Hackers,

Attached is the patch = to fix the RM #3397=C2=A0Add support for JIT stats in EXPL= AIN output in PG11. Please review it.

A couple of immediate thoughts:

- Wh= en the canvas is first rendered, there's a vertical scrollbar now. As s= oon as I mouseover the new icon, it vanishes and the icon jumps to the righ= t.

=C2=A0 = =C2=A0 =C2=A0Will look into it. Vertical scrollbar comes even if you remove= my patch and try to hover any image.=C2=A0

- The icon seems lighter than the other controls= on the left.

=C2=A0 =C2=A0 =C2=A0Same css has been applied, only difference is button = is disabled.=C2=A0

- The icon isn't disabled when there is no info to show.
<= /div>

=C2=A0 =C2=A0 =C2=A0Butt= on is always disabled, I have just change the opacity.=C2=A0 =C2=A0=C2=A0

Thanks.=C2=A0
=
Maybe - but I can still click it and it reacts as if = it's active. It may be lighter to indicate that it's disabled, but = its not behaving as such.=C2=A0
=C2=A0 =C2=A0 Attached is the modified patch. Please re= view it.=C2=A0=C2=A0

The button still changes foreground colour on mouseover when disab= led.=C2=A0 I think it needs to be completely non-reactive when disabled. It= should also be a noticably lighter shade when disabled; right now it seems= to be darker than the other buttons (see attached).

=C2=A0 =C2=A0Attached is the modified pat= ch. Please review it.=C2=A0

--
Dave Page
Blog: http://pgsnake.blogspot.com
Twitter: @pgsnake

Ent= erpriseDB UK: htt= p://www.enterprisedb.com
The Enterprise PostgreSQL Company



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


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



--
Akshay= Joshi
Sr. Software Architect


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



--
=
Akshay Joshi


Phone: +91 20-3058-9517
Mobile: +91 976-788-8246<= /span>



--
=
Dave Page
Blog: http://pgsnake.blogspot.com
Twitter: @pgsnake

E= nterpriseDB UK: h= ttp://www.enterprisedb.com
The Enterprise PostgreSQL Company



--
=
= Akshay Jo= shi
Sr. Software Architect
<= font color=3D"#3333FF">
=
=
Phone: +91 20-3058-9517
Mobil= e: +91 976-788-8246
--0000000000001fcff805704e28de-- --0000000000001fcffa05704e28e0 Content-Type: application/octet-stream; name="RM_3397_v6.patch" Content-Disposition: attachment; filename="RM_3397_v6.patch" Content-Transfer-Encoding: base64 X-Attachment-Id: f_jj9jztmy0 ZGlmZiAtLWdpdCBhL3dlYi9wZ2FkbWluL2ZlYXR1cmVfdGVzdHMvcXVlcnlfdG9vbF90ZXN0cy5w eSBiL3dlYi9wZ2FkbWluL2ZlYXR1cmVfdGVzdHMvcXVlcnlfdG9vbF90ZXN0cy5weQppbmRleCBh YzQ2M2QzLi4yMjZiMzIzIDEwMDY0NAotLS0gYS93ZWIvcGdhZG1pbi9mZWF0dXJlX3Rlc3RzL3F1 ZXJ5X3Rvb2xfdGVzdHMucHkKKysrIGIvd2ViL3BnYWRtaW4vZmVhdHVyZV90ZXN0cy9xdWVyeV90 b29sX3Rlc3RzLnB5CkBAIC0xMDQsNiArMTA0LDE2IEBAIGNsYXNzIFF1ZXJ5VG9vbEZlYXR1cmVU ZXN0KEJhc2VGZWF0dXJlVGVzdCk6CiAgICAgICAgIHNlbGYuX3F1ZXJ5X3Rvb2xfbm90aWZ5X3N0 YXRlbWVudHMoKQogICAgICAgICBzZWxmLl9jbGVhcl9xdWVyeV90b29sKCkKIAorICAgICAgICAj IGV4cGxhaW4gcXVlcnkgd2l0aCBKSVQgc3RhdHMKKyAgICAgICAgcHJpbnQoIkV4cGxhaW4gcXVl cnkgd2l0aCBKSVQgc3RhdHMuLi4gIiwKKyAgICAgICAgICAgICAgZmlsZT1zeXMuc3RkZXJyLCBl bmQ9IiIpCisgICAgICAgIGlmIHNlbGYuX3N1cHBvcnRlZF9qaXRfb25fc2VydmVyKCk6CisgICAg ICAgICAgICBzZWxmLl9xdWVyeV90b29sX2V4cGxhaW5fY2hlY2tfaml0X3N0YXRzKCkKKyAgICAg ICAgICAgIHByaW50KCJPSy4iLCBmaWxlPXN5cy5zdGRlcnIpCisgICAgICAgICAgICBzZWxmLl9j bGVhcl9xdWVyeV90b29sKCkKKyAgICAgICAgZWxzZToKKyAgICAgICAgICAgIHByaW50KCJTa2lw cGVkLiIsIGZpbGU9c3lzLnN0ZGVycikKKwogICAgIGRlZiBhZnRlcihzZWxmKToKICAgICAgICAg c2VsZi5wYWdlLnJlbW92ZV9zZXJ2ZXIoc2VsZi5zZXJ2ZXIpCiAgICAgICAgIGNvbm5lY3Rpb24g PSB0ZXN0X3V0aWxzLmdldF9kYl9jb25uZWN0aW9uKApAQCAtNjYwLDkgKzY3MCw2MiBAQCBTRUxF Q1QgMSwgcGdfc2xlZXAoMzAwKSIiIgogICAgICAgICAgICAgd2FpdC51bnRpbChXYWl0Rm9yQW55 RWxlbWVudFdpdGhUZXh0KAogICAgICAgICAgICAgICAgIChCeS5DU1NfU0VMRUNUT1IsICd0ZC5w YXlsb2FkJyksICJIZWxsbyIpKQogICAgICAgICAgICAgcHJpbnQoIk9LLiIsIGZpbGU9c3lzLnN0 ZGVycikKKyAgICAgICAgICAgIHNlbGYuX2NsZWFyX3F1ZXJ5X3Rvb2woKQogICAgICAgICBlbHNl OgogICAgICAgICAgICAgcHJpbnQoIlNraXBwZWQuIiwgZmlsZT1zeXMuc3RkZXJyKQogCisgICAg ZGVmIF9zdXBwb3J0ZWRfaml0X29uX3NlcnZlcihzZWxmKToKKyAgICAgICAgY29ubmVjdGlvbiA9 IHRlc3RfdXRpbHMuZ2V0X2RiX2Nvbm5lY3Rpb24oCisgICAgICAgICAgICBzZWxmLnNlcnZlclsn ZGInXSwKKyAgICAgICAgICAgIHNlbGYuc2VydmVyWyd1c2VybmFtZSddLAorICAgICAgICAgICAg c2VsZi5zZXJ2ZXJbJ2RiX3Bhc3N3b3JkJ10sCisgICAgICAgICAgICBzZWxmLnNlcnZlclsnaG9z dCddLAorICAgICAgICAgICAgc2VsZi5zZXJ2ZXJbJ3BvcnQnXSwKKyAgICAgICAgICAgIHNlbGYu c2VydmVyWydzc2xtb2RlJ10KKyAgICAgICAgKQorCisgICAgICAgIHBnX2N1cnNvciA9IGNvbm5l Y3Rpb24uY3Vyc29yKCkKKyAgICAgICAgcGdfY3Vyc29yLmV4ZWN1dGUoJ3NlbGVjdCB2ZXJzaW9u KCknKQorICAgICAgICB2ZXJzaW9uX3N0cmluZyA9IHBnX2N1cnNvci5mZXRjaG9uZSgpCisKKyAg ICAgICAgaXNfZWRiID0gRmFsc2UKKyAgICAgICAgaWYgbGVuKHZlcnNpb25fc3RyaW5nKSA+IDA6 CisgICAgICAgICAgICBpc19lZGIgPSAnRW50ZXJwcmlzZURCJyBpbiB2ZXJzaW9uX3N0cmluZ1sw XQorCisgICAgICAgIGNvbm5lY3Rpb24uY2xvc2UoKQorCisgICAgICAgIHJldHVybiBjb25uZWN0 aW9uLnNlcnZlcl92ZXJzaW9uID49IDExMDAwMCBhbmQgbm90IGlzX2VkYgorCisgICAgZGVmIF9x dWVyeV90b29sX2V4cGxhaW5fY2hlY2tfaml0X3N0YXRzKHNlbGYpOgorICAgICAgICB3YWl0ID0g V2ViRHJpdmVyV2FpdChzZWxmLnBhZ2UuZHJpdmVyLCAxMCkKKworICAgICAgICBzZWxmLnBhZ2Uu ZmlsbF9jb2RlbWlycm9yX2FyZWFfd2l0aCgiU0VUIGppdF9hYm92ZV9jb3N0PTEwOyIpCisgICAg ICAgIHNlbGYucGFnZS5maW5kX2J5X2lkKCJidG4tZmxhc2giKS5jbGljaygpCisgICAgICAgIHNl bGYucGFnZS53YWl0X2Zvcl9xdWVyeV90b29sX2xvYWRpbmdfaW5kaWNhdG9yX3RvX2Rpc2FwcGVh cigpCisgICAgICAgIHNlbGYuX2NsZWFyX3F1ZXJ5X3Rvb2woKQorCisgICAgICAgIHNlbGYucGFn ZS5maWxsX2NvZGVtaXJyb3JfYXJlYV93aXRoKCJTRUxFQ1QgY291bnQoKikgRlJPTSBwZ19jbGFz czsiKQorICAgICAgICBxdWVyeV9vcCA9IHNlbGYucGFnZS5maW5kX2J5X2lkKCJidG4tcXVlcnkt ZHJvcGRvd24iKQorICAgICAgICBxdWVyeV9vcC5jbGljaygpCisgICAgICAgIEFjdGlvbkNoYWlu cyhzZWxmLmRyaXZlcikubW92ZV90b19lbGVtZW50KAorICAgICAgICAgICAgcXVlcnlfb3AuZmlu ZF9lbGVtZW50X2J5X3hwYXRoKAorICAgICAgICAgICAgICAgICIvL2xpW2NvbnRhaW5zKC4sJ0V4 cGxhaW4gT3B0aW9ucycpXSIpKS5wZXJmb3JtKCkKKworICAgICAgICBzZWxmLnBhZ2UuZmluZF9i eV9pZCgiYnRuLWV4cGxhaW4tdmVyYm9zZSIpLmNsaWNrKCkKKyAgICAgICAgc2VsZi5wYWdlLmZp bmRfYnlfaWQoImJ0bi1leHBsYWluLWNvc3RzIikuY2xpY2soKQorICAgICAgICBzZWxmLnBhZ2Uu ZmluZF9ieV9pZCgiYnRuLWV4cGxhaW4tYW5hbHl6ZSIpLmNsaWNrKCkKKworICAgICAgICBzZWxm LnBhZ2Uud2FpdF9mb3JfcXVlcnlfdG9vbF9sb2FkaW5nX2luZGljYXRvcl90b19kaXNhcHBlYXIo KQorICAgICAgICBzZWxmLnBhZ2UuY2xpY2tfdGFiKCdEYXRhIE91dHB1dCcpCisKKyAgICAgICAg Y2FudmFzID0gd2FpdC51bnRpbChFQy5wcmVzZW5jZV9vZl9lbGVtZW50X2xvY2F0ZWQoCisgICAg ICAgICAgICAoQnkuQ1NTX1NFTEVDVE9SLCAiI2RhdGFncmlkIC5zbGljay12aWV3cG9ydCAuZ3Jp ZC1jYW52YXMiKSkKKyAgICAgICAgKQorICAgICAgICAjIFNlYXJjaCBmb3IgJ091dHB1dCcgd29y ZCBpbiByZXN1bHQgKHZlcmJvc2Ugb3B0aW9uKQorICAgICAgICBjYW52YXMuZmluZF9lbGVtZW50 X2J5X3hwYXRoKCIvLypbY29udGFpbnMoc3RyaW5nKCksICdKSVQnKV0iKQorCisgICAgICAgIHNl bGYuX2NsZWFyX3F1ZXJ5X3Rvb2woKQorCiAKIGNsYXNzIFdhaXRGb3JBbnlFbGVtZW50V2l0aFRl eHQob2JqZWN0KToKICAgICBkZWYgX19pbml0X18oc2VsZiwgbG9jYXRvciwgdGV4dCk6CmRpZmYg LS1naXQgYS93ZWIvcGdhZG1pbi9taXNjL3N0YXRpYy9leHBsYWluL2Nzcy9leHBsYWluLmNzcyBi L3dlYi9wZ2FkbWluL21pc2Mvc3RhdGljL2V4cGxhaW4vY3NzL2V4cGxhaW4uY3NzCmluZGV4IGQ1 NDlmODUuLjk4YTA3NzUgMTAwNjQ0Ci0tLSBhL3dlYi9wZ2FkbWluL21pc2Mvc3RhdGljL2V4cGxh aW4vY3NzL2V4cGxhaW4uY3NzCisrKyBiL3dlYi9wZ2FkbWluL21pc2Mvc3RhdGljL2V4cGxhaW4v Y3NzL2V4cGxhaW4uY3NzCkBAIC0xNyw2ICsxNywyNCBAQAogICAgb3BhY2l0eTogMTsKIH0KIAor LnBnLWV4cGxhaW4tc3RhdHMtYXJlYSB7CisgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKKyAgdG9wOiA1 cHg7CisgIHJpZ2h0OiAyNXB4OworICBvcGFjaXR5OiAwLjU7Cit9CisKKy5wZy1leHBsYWluLXN0 YXRzLWJ0biB7CisgIHRvcDogNXB4OworICBtaW4td2lkdGg6IDI1cHg7CisgIGJvcmRlcjogMXB4 IHNvbGlkIHRyYW5zcGFyZW50OworICBwb2ludGVyLWV2ZW50czogbm9uZTsKK30KKworLnBnLWV4 cGxhaW4tc3RhdHMtYXJlYTpob3ZlciB7CisgIG9wYWNpdHk6IDE7Cit9CisKIC5leHBsYWluLXRv b2x0aXAgewogICBkaXNwbGF5OiB0YWJsZS1jZWxsOwogICB0ZXh0LWFsaWduOiBsZWZ0OwpAQCAt MzcsOCArNTUsNiBAQCB0ZC5leHBsYWluLXRvb2x0aXAtdmFsIHsKIAogLnBnYWRtaW4tZXhwbGFp bi10b29sdGlwIHsKICAgcG9zaXRpb246IGFic29sdXRlOwotICBwYWRkaW5nOjVweDsKLSAgYm9y ZGVyOiAxcHggc29saWQgd2hpdGU7CiAgIG9wYWNpdHk6MDsKICAgY29sb3I6IGNvcm5zaWxrOwog ICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDEwMTI1OwpAQCAtNTUsNCArNzEsNCBAQCB0ZC5leHBsYWlu LXRvb2x0aXAtdmFsIHsKICAgaGVpZ2h0OiAxMDAlOwogICB3aWR0aDogMTAwJTsKICAgb3ZlcmZs b3c6IGF1dG87Ci19ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQorfQpkaWZmIC0tZ2l0IGEv d2ViL3BnYWRtaW4vbWlzYy9zdGF0aWMvZXhwbGFpbi9qcy9leHBsYWluLmpzIGIvd2ViL3BnYWRt aW4vbWlzYy9zdGF0aWMvZXhwbGFpbi9qcy9leHBsYWluLmpzCmluZGV4IGUwMjg3NzQuLmUyN2Q4 MTAgMTAwNjQ0Ci0tLSBhL3dlYi9wZ2FkbWluL21pc2Mvc3RhdGljL2V4cGxhaW4vanMvZXhwbGFp bi5qcworKysgYi93ZWIvcGdhZG1pbi9taXNjL3N0YXRpYy9leHBsYWluL2pzL2V4cGxhaW4uanMK QEAgLTEsNyArMSw3IEBACiBkZWZpbmUoJ3BnYWRtaW4ubWlzYy5leHBsYWluJywgWwogICAnc291 cmNlcy91cmxfZm9yJywgJ2pxdWVyeScsICd1bmRlcnNjb3JlJywgJ3VuZGVyc2NvcmUuc3RyaW5n JywKLSAgJ3NvdXJjZXMvcGdhZG1pbicsICdiYWNrYm9uZScsICdzbmFwc3ZnJywKLV0sIGZ1bmN0 aW9uKHVybF9mb3IsICQsIF8sIFMsIHBnQWRtaW4sIEJhY2tib25lLCBTbmFwKSB7CisgICdzb3Vy Y2VzL3BnYWRtaW4nLCAnYmFja2JvbmUnLCAnc25hcHN2ZycsICdleHBsYWluX3N0YXRpc3RpY3Mn LAorXSwgZnVuY3Rpb24odXJsX2ZvciwgJCwgXywgUywgcGdBZG1pbiwgQmFja2JvbmUsIFNuYXAs IFN0YXRpc3RpY3NNb2RlbCkgewogCiAgIHBnQWRtaW4gPSBwZ0FkbWluIHx8IHdpbmRvdy5wZ0Fk bWluIHx8IHt9OwogCkBAIC02MTUsNiArNjE1LDkgQEAgZGVmaW5lKCdwZ2FkbWluLm1pc2MuZXhw bGFpbicsIFsKICAgICAgICAgfSk7CiAgICAgICAgIHRvb2xUaXBDb250YWluZXIuY3NzKCdsZWZ0 JywgdG9vbFRpcFgpOwogICAgICAgICB0b29sVGlwQ29udGFpbmVyLmNzcygndG9wJywgdG9vbFRp cFkpOworCisgICAgICAgICQoJy5wZ2FkbWluLWV4cGxhaW4tdG9vbHRpcCcpLmNzcygncGFkZGlu ZycsICc1cHgnKTsKKyAgICAgICAgJCgnLnBnYWRtaW4tZXhwbGFpbi10b29sdGlwJykuY3NzKCdi b3JkZXInLCAnMXB4IHNvbGlkIHdoaXRlJyk7CiAgICAgICB9KTsKIAogICAgICAgLy8gUmVtb3Zl IHRvb2x0aXAgd2hlbiBtb3VzZSBpcyBvdXQgZnJvbSBub2RlJ3MgYXJlYQpAQCAtNjk2LDYgKzY5 OSw3IEBAIGRlZmluZSgncGdhZG1pbi5taXNjLmV4cGxhaW4nLCBbCiAgICAgfSwKICAgICBpbml0 aWFsaXplOiBmdW5jdGlvbigpIHsKICAgICAgIHRoaXMuc2V0KCdQbGFuJywgbmV3IFBsYW5Nb2Rl bCgpKTsKKyAgICAgIHRoaXMuc2V0KCdTdGF0aXN0aWNzJywgbmV3IFN0YXRpc3RpY3NNb2RlbCgp KTsKICAgICB9LAogCiAgICAgLy8gUGFyc2UgdGhlIEpTT04gZGF0YSBhbmQgZmV0Y2ggaXRzIGNo aWxkcmVuIHBsYW5zCkBAIC03MTgsNiArNzIyLDE3IEBAIGRlZmluZSgncGdhZG1pbi5taXNjLmV4 cGxhaW4nLCBbCiAgICAgICAgIGRlbGV0ZSBkYXRhWydQbGFuJ107CiAgICAgICB9CiAKKyAgICAg IHZhciBzdGF0aXN0aWNzID0gdGhpcy5nZXQoJ1N0YXRpc3RpY3MnKTsKKyAgICAgIGlmIChkYXRh ICYmICdKSVQnIGluIGRhdGEpIHsKKyAgICAgICAgc3RhdGlzdGljcy5zZXQoJ0pJVCcsIGRhdGFb J0pJVCddKTsKKyAgICAgICAgZGVsZXRlIGRhdGEgWydKSVQnXTsKKyAgICAgIH0KKworICAgICAg aWYgKGRhdGEgJiYgJ1RyaWdnZXJzJyBpbiBkYXRhKSB7CisgICAgICAgIHN0YXRpc3RpY3Muc2V0 KCdUcmlnZ2VycycsIGRhdGFbJ1RyaWdnZXJzJ10pOworICAgICAgICBkZWxldGUgZGF0YSBbJ1Ry aWdnZXJzJ107CisgICAgICB9CisKICAgICAgIHJldHVybiBkYXRhOwogICAgIH0sCiAgICAgdG9K U09OOiBmdW5jdGlvbigpIHsKQEAgLTc0NSw2ICs3NjAsMTAgQEAgZGVmaW5lKCdwZ2FkbWluLm1p c2MuZXhwbGFpbicsIFsKICAgICAgIHBsYW4uZHJhdygKICAgICAgICAgZywgeHBvcywgeXBvcywg dW5kZWZpbmVkLCB1bmRlZmluZWQsIGdyYXBoQ29udGFpbmVyLCB0b29sVGlwQ29udGFpbmVyCiAg ICAgICApOworCisgICAgICAvL1NldCB0aGUgU3RhdGlzdGljcyBhcyB0b29sdGlwCisgICAgICB2 YXIgc3RhdGlzdGljcyA9IHRoaXMuZ2V0KCdTdGF0aXN0aWNzJyk7CisgICAgICBzdGF0aXN0aWNz LnNldF9zdGF0aXN0aWNzKHRvb2xUaXBDb250YWluZXIpOwogICAgIH0sCiAgIH0pOwogCkBAIC03 ODQsNiArODAzLDIxIEBAIGRlZmluZSgncGdhZG1pbi5taXNjLmV4cGxhaW4nLCBbCiAgICAgICAg ICAgICBjbGFzczogJ2ZhIGZhLXNlYXJjaC1taW51cycsCiAgICAgICAgICAgfSkpOwogCisgICAg ICB2YXIgc3RhdHNBcmVhID0gJCgnPGRpdj48L2Rpdj4nLCB7CisgICAgICAgIGNsYXNzOiAncGct ZXhwbGFpbi1zdGF0cy1hcmVhIGJ0bi1ncm91cCBoaWRkZW4nLAorICAgICAgICByb2xlOiAnZ3Jv dXAnLAorICAgICAgfSkuYXBwZW5kVG8oY29udGFpbmVyKTsKKworICAgICAgJCgnPGJ1dHRvbj48 L2J1dHRvbj4nLCB7CisgICAgICAgIGlkOiAnYnRuLWV4cGxhaW4tc3RhdHMnLAorICAgICAgICBj bGFzczogJ2J0biBwZy1leHBsYWluLXN0YXRzLWJ0biBiYWRnZScsCisgICAgICAgIHRpdGxlOiAn U3RhdGlzdGljcycsCisgICAgICAgIHRhYmluZGV4OiAwLAorICAgICAgfSkuYXBwZW5kVG8oc3Rh dHNBcmVhKS5hcHBlbmQoCisgICAgICAgICQoJzxpPjwvaT4nLCB7CisgICAgICAgICAgY2xhc3M6 ICdmYSBmYS1saW5lLWNoYXJ0JywKKyAgICAgICAgfSkpOworCiAgICAgICAvLyBNYWluIGRpdiB0 byBiZSBkcmF3biBhbGwgaW1hZ2VzIG9uCiAgICAgICB2YXIgcGxhbkRpdiA9ICQoJzxkaXY+PC9k aXY+JywgewogICAgICAgICAgIGNsYXNzOiAncGdhZG1pbi1leHBsYWluLWNvbnRhaW5lcicsCmRp ZmYgLS1naXQgYS93ZWIvcGdhZG1pbi9taXNjL3N0YXRpYy9leHBsYWluL2pzL2V4cGxhaW5fc3Rh dGlzdGljcy5qcyBiL3dlYi9wZ2FkbWluL21pc2Mvc3RhdGljL2V4cGxhaW4vanMvZXhwbGFpbl9z dGF0aXN0aWNzLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjM2OWE2NzEK LS0tIC9kZXYvbnVsbAorKysgYi93ZWIvcGdhZG1pbi9taXNjL3N0YXRpYy9leHBsYWluL2pzL2V4 cGxhaW5fc3RhdGlzdGljcy5qcwpAQCAtMCwwICsxLDkwIEBACitpbXBvcnQgJCBmcm9tICdqcXVl cnknOworaW1wb3J0IEJhY2tib25lIGZyb20gJ2JhY2tib25lJzsKKworLy8gQmFja2JvbmUgbW9k ZWwgZm9yIG90aGVyIHN0YXRpc3RpY3MKK2xldCBTdGF0aXN0aWNzTW9kZWwgPSBCYWNrYm9uZS5N b2RlbC5leHRlbmQoeworICBkZWZhdWx0czogeworICAgIEpJVDogW10sCisgICAgVHJpZ2dlcnM6 IFtdLAorICB9LAorCisgIHNldF9zdGF0aXN0aWNzOiBmdW5jdGlvbih0b29sVGlwQ29udGFpbmVy KSB7CisgICAgdmFyIGppdF9zdGF0cyA9IHRoaXMuZ2V0KCdKSVQnKSwKKyAgICAgIHRyaWdnZXJz X3N0YXRzID0gdGhpcy5nZXQoJ1RyaWdnZXJzJyk7CisKKyAgICBpZiAoT2JqZWN0LmtleXMoaml0 X3N0YXRzKS5sZW5ndGggPiAwIHx8CisgICAgICAgIE9iamVjdC5rZXlzKHRyaWdnZXJzX3N0YXRz KS5sZW5ndGggPiAwKSB7CisgICAgICAkKCcucGctZXhwbGFpbi1zdGF0cy1hcmVhJykucmVtb3Zl Q2xhc3MoJ2hpZGRlbicpOworICAgIH0KKworICAgICQoJy5wZy1leHBsYWluLXN0YXRzLWFyZWEn KS5vbignbW91c2VvdmVyJywgKCkgPT4geworCisgICAgICAvLyBFbXB0eSB0aGUgdG9vbHRpcCBj b250ZW50IGlmIGl0IGhhcyBhbnkgYW5kIGFkZCBuZXcgZGF0YQorICAgICAgdG9vbFRpcENvbnRh aW5lci5lbXB0eSgpOworICAgICAgaWYgKE9iamVjdC5rZXlzKGppdF9zdGF0cykubGVuZ3RoID09 IDAgJiYKKyAgICAgICAgT2JqZWN0LmtleXModHJpZ2dlcnNfc3RhdHMpLmxlbmd0aCA9PSAwKSB7 CisgICAgICAgIHJldHVybjsKKyAgICAgIH0KKworICAgICAgdmFyIHRvb2x0aXAgPSAkKCc8dGFi bGU+PC90YWJsZT4nLCB7CisgICAgICAgIGNsYXNzOiAncGdhZG1pbi10b29sdGlwLXRhYmxlJywK KyAgICAgIH0pLmFwcGVuZFRvKHRvb2xUaXBDb250YWluZXIpOworCisgICAgICBpZiAoT2JqZWN0 LmtleXMoaml0X3N0YXRzKS5sZW5ndGggPiAwKXsKKyAgICAgICAgdG9vbHRpcC5hcHBlbmQoJzx0 cj48dGQgY2xhc3M9ImxhYmVsIGV4cGxhaW4tdG9vbHRpcCI+SklUOjwvdGQ+PC90cj4nKTsKKyAg ICAgICAgXy5lYWNoKGppdF9zdGF0cywgZnVuY3Rpb24odmFsdWUsIGtleSkgeworICAgICAgICAg IHRvb2x0aXAuYXBwZW5kKCc8dHI+PHRkIGNsYXNzPSJsYWJlbCBleHBsYWluLXRvb2x0aXAiPiZu YnNwJm5ic3AnCisgICAgICAgICAgKyBrZXkgKyAnPC90ZD48dGQgY2xhc3M9ImxhYmVsIGV4cGxh aW4tdG9vbHRpcC12YWwiPicKKyAgICAgICAgICArIHZhbHVlICsgJzwvdGQ+PC90cj4nKTsKKyAg ICAgICAgfSk7CisgICAgICB9CisKKyAgICAgIGlmIChPYmplY3Qua2V5cyh0cmlnZ2Vyc19zdGF0 cykubGVuZ3RoID4gMCl7CisgICAgICAgIHRvb2x0aXAuYXBwZW5kKCc8dHI+PHRkIGNsYXNzPSJs YWJlbCBleHBsYWluLXRvb2x0aXAiPlRyaWdnZXJzOjwvdGQ+PC90cj4nKTsKKyAgICAgICAgXy5l YWNoKHRyaWdnZXJzX3N0YXRzLCBmdW5jdGlvbih0cmlnZ2Vycywga2V5X2lkKSB7CisgICAgICAg ICAgaWYgKHRyaWdnZXJzIGluc3RhbmNlb2YgT2JqZWN0KSB7CisgICAgICAgICAgICBfLmVhY2go dHJpZ2dlcnMsIGZ1bmN0aW9uKHZhbHVlLCBrZXkpIHsKKyAgICAgICAgICAgICAgaWYgKGtleSA9 PT0gJ1RyaWdnZXIgTmFtZScpIHsKKyAgICAgICAgICAgICAgICB0b29sdGlwLmFwcGVuZCgnPHRy Pjx0ZCBjbGFzcz0ibGFiZWwgZXhwbGFpbi10b29sdGlwIj4mbmJzcDsmbmJzcDsnCisgICAgICAg ICAgICAgICAgKyBrZXkgKyAnPC90ZD48dGQgY2xhc3M9ImxhYmVsIGV4cGxhaW4tdG9vbHRpcC12 YWwiPicKKyAgICAgICAgICAgICAgICArIHZhbHVlICsgJzwvdGQ+PC90cj4nKTsKKyAgICAgICAg ICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgICAgICB0b29sdGlwLmFwcGVuZCgnPHRyPjx0ZCBj bGFzcz0ibGFiZWwgZXhwbGFpbi10b29sdGlwIj4mbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsnCisg ICAgICAgICAgICAgICAgKyBrZXkgKyAnPC90ZD48dGQgY2xhc3M9ImxhYmVsIGV4cGxhaW4tdG9v bHRpcC12YWwiPicKKyAgICAgICAgICAgICAgICArIHZhbHVlICsgJzwvdGQ+PC90cj4nKTsKKyAg ICAgICAgICAgICAgfQorICAgICAgICAgICAgfSk7CisgICAgICAgICAgfQorICAgICAgICAgIGVs c2UgeworICAgICAgICAgICAgdG9vbHRpcC5hcHBlbmQoJzx0cj48dGQgY2xhc3M9ImxhYmVsIGV4 cGxhaW4tdG9vbHRpcCI+Jm5ic3A7Jm5ic3A7JworICAgICAgICAgICAgKyBrZXlfaWQgKyAnPC90 ZD48dGQgY2xhc3M9ImxhYmVsIGV4cGxhaW4tdG9vbHRpcC12YWwiPicKKyAgICAgICAgICAgICsg dHJpZ2dlcnMgKyAnPC90ZD48L3RyPicpOworICAgICAgICAgIH0KKyAgICAgICAgfSk7CisgICAg ICB9CisKKyAgICAgIC8vIFNob3cgdG9vbFRpcCBhdCByZXNwZWN0aXZlIHgseSBjb29yZGluYXRl cworICAgICAgdG9vbFRpcENvbnRhaW5lci5jc3MoeworICAgICAgICAnb3BhY2l0eSc6ICcwLjgn LAorICAgICAgICAnbGVmdCc6ICcnLAorICAgICAgICAncmlnaHQnOiAnNjVweCcsCisgICAgICAg ICd0b3AnOiAnMTVweCcsCisgICAgICB9KTsKKworICAgICAgJCgnLnBnYWRtaW4tZXhwbGFpbi10 b29sdGlwJykuY3NzKCdwYWRkaW5nJywgJzVweCcpOworICAgICAgJCgnLnBnYWRtaW4tZXhwbGFp bi10b29sdGlwJykuY3NzKCdib3JkZXInLCAnMXB4IHNvbGlkIHdoaXRlJyk7CisgICAgfSk7CisK KyAgICAvLyBSZW1vdmUgdG9vbHRpcCB3aGVuIG1vdXNlIGlzIG91dCBmcm9tIG5vZGUncyBhcmVh CisgICAgJCgnLnBnLWV4cGxhaW4tc3RhdHMtYXJlYScpLm9uKCdtb3VzZW91dCcsICgpID0+IHsK KyAgICAgIHRvb2xUaXBDb250YWluZXIuZW1wdHkoKTsKKyAgICAgIHRvb2xUaXBDb250YWluZXIu Y3NzKHsKKyAgICAgICAgJ29wYWNpdHknOiAnMCcsCisgICAgICAgICdsZWZ0JzogMCwKKyAgICAg ICAgJ3RvcCc6IDAsCisgICAgICB9KTsKKyAgICB9KTsKKyAgfSwKK30pOworCittb2R1bGUuZXhw b3J0cyA9IFN0YXRpc3RpY3NNb2RlbDsKZGlmZiAtLWdpdCBhL3dlYi9yZWdyZXNzaW9uL2phdmFz Y3JpcHQvbWlzYy9leHBsYWluL2V4cGxhaW5fc3RhdGlzdGljc19zcGVjLmpzIGIvd2ViL3JlZ3Jl c3Npb24vamF2YXNjcmlwdC9taXNjL2V4cGxhaW4vZXhwbGFpbl9zdGF0aXN0aWNzX3NwZWMuanMK bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMGIyZWM2NwotLS0gL2Rldi9udWxs CisrKyBiL3dlYi9yZWdyZXNzaW9uL2phdmFzY3JpcHQvbWlzYy9leHBsYWluL2V4cGxhaW5fc3Rh dGlzdGljc19zcGVjLmpzCkBAIC0wLDAgKzEsODcgQEAKK2ltcG9ydCBTdGF0aXN0aWNzTW9kZWwg ZnJvbSAnLi4vLi4vLi4vLi4vcGdhZG1pbi9taXNjL3N0YXRpYy9leHBsYWluL2pzL2V4cGxhaW5f c3RhdGlzdGljcyc7CitpbXBvcnQgJCBmcm9tICdqcXVlcnknOworCitkZXNjcmliZSgnRXhwbGFp blN0YXRpc3RpY3MnLCAoKSA9PiB7CisgIGxldCBzdGF0c01vZGVsOworICBsZXQgc3RhdHNEaXY7 CisgIGxldCB0b29sdGlwQ29udGFpbmVyOworCisgIGJlZm9yZUVhY2goZnVuY3Rpb24oKSB7Cisg ICAgc3RhdHNNb2RlbCA9IG5ldyBTdGF0aXN0aWNzTW9kZWwoKTsKKyAgICBzdGF0c0RpdiA9ICc8 ZGl2IGNsYXNzPSJwZy1leHBsYWluLXN0YXRzLWFyZWEgYnRuLWdyb3VwIGhpZGRlbiI+PC9kaXY+ JzsKKyAgICB0b29sdGlwQ29udGFpbmVyID0gJCgnPGRpdj48L2Rpdj4nLCB7CisgICAgICBpZDog J3Rvb2xUaXAnLAorICAgICAgY2xhc3M6ICdwZ2FkbWluLWV4cGxhaW4tdG9vbHRpcCcsCisgICAg fSk7CisgIH0pOworCisgIGRlc2NyaWJlKCdObyBTdGF0aXN0aWNzJywgKCkgPT4geworICAgIGl0 KCdTdGF0aXN0aWNzIGJ1dHRvbiBzaG91bGQgYmUgaGlkZGVuJywgKCkgPT4geworICAgICAgJCgn Ym9keScpLmFwcGVuZChzdGF0c0Rpdik7CisKKyAgICAgIHN0YXRzTW9kZWwuc2V0KCdKSVQnLCBb XSk7CisgICAgICBzdGF0c01vZGVsLnNldCgnVHJpZ2dlcnMnLCBbXSk7CisgICAgICBzdGF0c01v ZGVsLnNldF9zdGF0aXN0aWNzKHRvb2x0aXBDb250YWluZXIpOworCisgICAgICBleHBlY3QoJCgn LnBnLWV4cGxhaW4tc3RhdHMtYXJlYScpLmhhc0NsYXNzKCdoaWRkZW4nKSkudG9CZSh0cnVlKTsK KyAgICB9KTsKKyAgfSk7CisKKyAgZGVzY3JpYmUoJ0pJVCBTdGF0aXN0aWNzJywgKCkgPT4gewor ICAgIGJlZm9yZUVhY2goZnVuY3Rpb24oKSB7CisgICAgICAkKCdib2R5JykuYXBwZW5kKHN0YXRz RGl2KTsKKyAgICAgIHN0YXRzTW9kZWwuc2V0KCdKSVQnLCBbeydjb3N0JzogJzEwMCd9XSk7Cisg ICAgICBzdGF0c01vZGVsLnNldCgnVHJpZ2dlcnMnLCBbXSk7CisgICAgICBzdGF0c01vZGVsLnNl dF9zdGF0aXN0aWNzKHRvb2x0aXBDb250YWluZXIpOworICAgIH0pOworCisgICAgaXQoJ1N0YXRp c3RpY3MgYnV0dG9uIHNob3VsZCBiZSB2aXNpYmxlJywgKCkgPT4geworICAgICAgZXhwZWN0KCQo Jy5wZy1leHBsYWluLXN0YXRzLWFyZWEnKS5oYXNDbGFzcygnaGlkZGVuJykpLnRvQmUoZmFsc2Up OworICAgIH0pOworCisgICAgaXQoJ01vdXNlIG92ZXIgZXZlbnQgc2hvdWxkIGJlIHRyaWdnZXIn LCAoKSA9PiB7CisgICAgICAvLyBUcmlnZ2VyIG1vdXNlIG92ZXIgZXZlbnQKKyAgICAgIHZhciBo b3ZlckV2ZW50ID0gbmV3ICQuRXZlbnQoJ21vdXNlb3ZlcicpOworICAgICAgJCgnLnBnLWV4cGxh aW4tc3RhdHMtYXJlYScpLnRyaWdnZXIoaG92ZXJFdmVudCk7CisKKyAgICAgIGV4cGVjdCh0b29s dGlwQ29udGFpbmVyLmNzcygnb3BhY2l0eScpKS50b0JlKCcwLjgnKTsKKyAgICB9KTsKKworICAg IGl0KCdNb3VzZSBvdXQgZXZlbnQgc2hvdWxkIGJlIHRyaWdnZXInLCAoKSA9PiB7CisgICAgICAv LyBUcmlnZ2VyIG1vdXNlIG91dCBldmVudAorICAgICAgdmFyIGhvdmVyRXZlbnQgPSBuZXcgJC5F dmVudCgnbW91c2VvdXQnKTsKKyAgICAgICQoJy5wZy1leHBsYWluLXN0YXRzLWFyZWEnKS50cmln Z2VyKGhvdmVyRXZlbnQpOworCisgICAgICBleHBlY3QodG9vbHRpcENvbnRhaW5lci5jc3MoJ29w YWNpdHknKSkudG9CZSgnMCcpOworICAgIH0pOworICB9KTsKKworICBkZXNjcmliZSgnVHJpZ2dl cnMgU3RhdGlzdGljcycsICgpID0+IHsKKyAgICBiZWZvcmVFYWNoKGZ1bmN0aW9uKCkgeworICAg ICAgJCgnYm9keScpLmFwcGVuZChzdGF0c0Rpdik7CisgICAgICBzdGF0c01vZGVsLnNldCgnSklU JywgW10pOworICAgICAgc3RhdHNNb2RlbC5zZXQoJ1RyaWdnZXJzJywgW3snbmFtZSc6ICd0ZXN0 X3RyaWdnZXInfV0pOworICAgICAgc3RhdHNNb2RlbC5zZXRfc3RhdGlzdGljcyh0b29sdGlwQ29u dGFpbmVyKTsKKyAgICB9KTsKKworICAgIGl0KCdTdGF0aXN0aWNzIGJ1dHRvbiBzaG91bGQgYmUg dmlzaWJsZScsICgpID0+IHsKKyAgICAgIGV4cGVjdCgkKCcucGctZXhwbGFpbi1zdGF0cy1hcmVh JykuaGFzQ2xhc3MoJ2hpZGRlbicpKS50b0JlKGZhbHNlKTsKKyAgICB9KTsKKworICAgIGl0KCdN b3VzZSBvdmVyIGV2ZW50IHNob3VsZCBiZSB0cmlnZ2VyJywgKCkgPT4geworICAgICAgLy8gVHJp Z2dlciBtb3VzZSBvdmVyIGV2ZW50CisgICAgICB2YXIgaG92ZXJFdmVudCA9IG5ldyAkLkV2ZW50 KCdtb3VzZW92ZXInKTsKKyAgICAgICQoJy5wZy1leHBsYWluLXN0YXRzLWFyZWEnKS50cmlnZ2Vy KGhvdmVyRXZlbnQpOworCisgICAgICBleHBlY3QodG9vbHRpcENvbnRhaW5lci5jc3MoJ29wYWNp dHknKSkudG9CZSgnMC44Jyk7CisgICAgfSk7CisKKyAgICBpdCgnTW91c2Ugb3V0IGV2ZW50IHNo b3VsZCBiZSB0cmlnZ2VyJywgKCkgPT4geworICAgICAgLy8gVHJpZ2dlciBtb3VzZSBvdXQgZXZl bnQKKyAgICAgIHZhciBob3ZlckV2ZW50ID0gbmV3ICQuRXZlbnQoJ21vdXNlb3V0Jyk7CisgICAg ICAkKCcucGctZXhwbGFpbi1zdGF0cy1hcmVhJykudHJpZ2dlcihob3ZlckV2ZW50KTsKKworICAg ICAgZXhwZWN0KHRvb2x0aXBDb250YWluZXIuY3NzKCdvcGFjaXR5JykpLnRvQmUoJzAnKTsKKyAg ICB9KTsKKyAgfSk7Cit9KTsK --0000000000001fcffa05704e28e0--