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 1fZB2q-0001Dw-9h for pgadmin-hackers@arkaria.postgresql.org; Sat, 30 Jun 2018 08:15:48 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.89) (envelope-from ) id 1fZB2o-0002Sp-G8 for pgadmin-hackers@arkaria.postgresql.org; Sat, 30 Jun 2018 08:15:46 +0000 Received: from magus.postgresql.org ([2a02:c0:301:0:ffff::29]) by malur.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA384:256) (Exim 4.89) (envelope-from ) id 1fZB2o-0002Si-4R for pgadmin-hackers@lists.postgresql.org; Sat, 30 Jun 2018 08:15:46 +0000 Received: from mail-pg0-x232.google.com ([2607:f8b0:400e:c05::232]) by magus.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.89) (envelope-from ) id 1fZB2j-0005U9-7d for pgadmin-hackers@postgresql.org; Sat, 30 Jun 2018 08:15:45 +0000 Received: by mail-pg0-x232.google.com with SMTP id m19-v6so1427832pgv.3 for ; Sat, 30 Jun 2018 01:15:40 -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=ex7gyxmNJ3AIkGMTNtWuSyTY59zzI5mreTpM4ag/KOg=; b=G/eF+ePWSian3WMG8g+XZdwg8B7ooBJaSv9YYn5cH+ZhkaIcvkKNnLcNc8I0q5Ntde vh8AUodUen03Ny7Tz2f1SwfWG3fsAGTh5y+xMUMkw8cGwDzhOYdMSLJmzbcINneGxSnl tHb60TymYuPz9XiC9styMFPHIjfci7NtSUqWQpMp5njcL9vLkVRVUjD8hAjhDVFhHqTW h+vfgNqR5HGznIhnToyycMm0l89eaQPWUPmYx56yVapOQnz4O3CBf6aXPhsq18YQk+kN F/gaWWXMY2/EjM8KoLaLQ3jW0tYcaO0wzxy0f7PC2ZFnoofVxyGP5nqhkdoLc0nDS8WH hpFA== 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=ex7gyxmNJ3AIkGMTNtWuSyTY59zzI5mreTpM4ag/KOg=; b=p7kc8viM2iYLAO9kp8Xn2i2TrlET9pWHOyckuZSjRza+JcNjxp3tgcuLMXceo8asf2 Y1nAYEM9UE4DUQWm3p79zYq+UkFnAHeWHOxuKCt9PKZrmXCr5DYHdhAPXJLm+gHvqQDa JDvHxqQjvIlIbrVoulgNXQiuI4MIh6jcW9tVLDF8Itvx6krt2WG9aoOA7FvucHvw/K0Y Ex8nKVGgjn++viOR9lZ5fJDQDUs8sp0HDTjhk+UOUSQErXqiI1iVLSVKK2WxZxicYen7 5gBXlypKDMWCDr0zzTkVb7aL85cWBlYuCqcS+TPGme0HLcEXoEppL2b4pt/QTPBu+QFX yFLw== X-Gm-Message-State: APt69E0sHP/wo+6nwcWTqAVg7y7VHxH8D8xwndO+9SqpuuQ326Ap0FY+ CQt3mmOx/ERH9kv8L+yb86wMHtVCENsSgiVIYnrayQ== X-Google-Smtp-Source: AAOMgpc4KeFoL5owmfBcZxgZEXiWj4d2OXn0ILIM9g+r0lzr1eUc1cHzHx8HWMT7nOgQdbJu9frdR9FiiTPgC4uple4= X-Received: by 2002:a62:4695:: with SMTP id o21-v6mr11855660pfi.176.1530346537604; Sat, 30 Jun 2018 01:15:37 -0700 (PDT) MIME-Version: 1.0 Received: by 2002:a17:90a:8c86:0:0:0:0 with HTTP; Sat, 30 Jun 2018 01:15:36 -0700 (PDT) In-Reply-To: References: From: Akshay Joshi Date: Sat, 30 Jun 2018 13:45:36 +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="000000000000c21232056fd79117" List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Precedence: bulk --000000000000c21232056fd79117 Content-Type: multipart/alternative; boundary="000000000000c2122e056fd79115" --000000000000c2122e056fd79115 Content-Type: text/plain; charset="UTF-8" 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. > > -- > 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* --000000000000c2122e056fd79115 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
Hi Dave

On Fri, Jun 29, 2018 at 7:45 PM, Dave Page <dpage@pgadmin.org&g= t; wrote:


On = Fri, Jun 29, 2018 at 3:12 PM, Akshay Joshi <akshay.joshi@enter= prisedb.com> wrote:
Hi Dave

On Fri, Jun 29, 2018 at 6:56 PM, Dave Page <= ;dpage@pgadmin.org> wrote:
Hi<= div class=3D"gmail_extra">
On Fri, Jun = 29, 2018 at 9:55 AM, Akshay Joshi <akshay.joshi@enterprisedb.c= om> wrote:
Hi Hackers,

Attached is the patch to fix the RM #3= 397=C2=A0Add 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.

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

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

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

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

=C2=A0 =C2=A0 =C2= =A0Button 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 react= s as if it's active. It may be lighter to indicate that it's disabl= ed, but its not behaving as such.=C2=A0

=C2=A0 =C2=A0 Attached is the modified patch. Please r= eview it.=C2=A0=C2=A0
=

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

Enterpris= eDB UK: http://ww= w.enterprisedb.com
The Enterprise PostgreSQL Company



--
Akshay Joshi
Sr. Software Architect
=

<= /font>

Phone: +91 20-3058-9517
Mob= ile: +91 976-788-8246
--000000000000c2122e056fd79115-- --000000000000c21232056fd79117 Content-Type: application/octet-stream; name="RM_3397_v2.patch" Content-Disposition: attachment; filename="RM_3397_v2.patch" Content-Transfer-Encoding: base64 X-Attachment-Id: f_jj14t8sg0 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 NDlmODUuLjM4YmIzMjIgMTAwNjQ0Ci0tLSBhL3dlYi9wZ2FkbWluL21pc2Mvc3RhdGljL2V4cGxh aW4vY3NzL2V4cGxhaW4uY3NzCisrKyBiL3dlYi9wZ2FkbWluL21pc2Mvc3RhdGljL2V4cGxhaW4v Y3NzL2V4cGxhaW4uY3NzCkBAIC0xNyw2ICsxNywxOCBAQAogICAgb3BhY2l0eTogMTsKIH0KIAor LnBnLWV4cGxhaW4tc3RhdHMtYXJlYSB7CisgICAgcG9zaXRpb246IGFic29sdXRlOworICAgIHRv cDogNXB4OworICAgIHJpZ2h0OiAyNXB4OworfQorCisucGctZXhwbGFpbi1zdGF0cy1idG4gewor ICAgIHRvcDogNXB4OworICAgIG1pbi13aWR0aDogMjVweDsKKyAgICBib3JkZXI6IDFweCBzb2xp ZCB0cmFuc3BhcmVudDsKK30KKwogLmV4cGxhaW4tdG9vbHRpcCB7CiAgIGRpc3BsYXk6IHRhYmxl LWNlbGw7CiAgIHRleHQtYWxpZ246IGxlZnQ7CkBAIC0zNyw4ICs0OSw2IEBAIHRkLmV4cGxhaW4t dG9vbHRpcC12YWwgewogCiAucGdhZG1pbi1leHBsYWluLXRvb2x0aXAgewogICBwb3NpdGlvbjog YWJzb2x1dGU7Ci0gIHBhZGRpbmc6NXB4OwotICBib3JkZXI6IDFweCBzb2xpZCB3aGl0ZTsKICAg b3BhY2l0eTowOwogICBjb2xvcjogY29ybnNpbGs7CiAgIGJhY2tncm91bmQtY29sb3I6ICMwMTAx MjU7CkBAIC01NSw0ICs2NSw0IEBAIHRkLmV4cGxhaW4tdG9vbHRpcC12YWwgewogICBoZWlnaHQ6 IDEwMCU7CiAgIHdpZHRoOiAxMDAlOwogICBvdmVyZmxvdzogYXV0bzsKLX0KXCBObyBuZXdsaW5l IGF0IGVuZCBvZiBmaWxlCit9CmRpZmYgLS1naXQgYS93ZWIvcGdhZG1pbi9taXNjL3N0YXRpYy9l eHBsYWluL2pzL2V4cGxhaW4uanMgYi93ZWIvcGdhZG1pbi9taXNjL3N0YXRpYy9leHBsYWluL2pz L2V4cGxhaW4uanMKaW5kZXggZTAyODc3NC4uMDRjYzdmOCAxMDA2NDQKLS0tIGEvd2ViL3BnYWRt aW4vbWlzYy9zdGF0aWMvZXhwbGFpbi9qcy9leHBsYWluLmpzCisrKyBiL3dlYi9wZ2FkbWluL21p c2Mvc3RhdGljL2V4cGxhaW4vanMvZXhwbGFpbi5qcwpAQCAtNjE1LDYgKzYxNSw5IEBAIGRlZmlu ZSgncGdhZG1pbi5taXNjLmV4cGxhaW4nLCBbCiAgICAgICAgIH0pOwogICAgICAgICB0b29sVGlw Q29udGFpbmVyLmNzcygnbGVmdCcsIHRvb2xUaXBYKTsKICAgICAgICAgdG9vbFRpcENvbnRhaW5l ci5jc3MoJ3RvcCcsIHRvb2xUaXBZKTsKKworICAgICAgICAkKCcucGdhZG1pbi1leHBsYWluLXRv b2x0aXAnKS5jc3MoJ3BhZGRpbmcnLCAnNXB4Jyk7CisgICAgICAgICQoJy5wZ2FkbWluLWV4cGxh aW4tdG9vbHRpcCcpLmNzcygnYm9yZGVyJywgJzFweCBzb2xpZCB3aGl0ZScpOwogICAgICAgfSk7 CiAKICAgICAgIC8vIFJlbW92ZSB0b29sdGlwIHdoZW4gbW91c2UgaXMgb3V0IGZyb20gbm9kZSdz IGFyZWEKQEAgLTY4Nyw2ICs2OTAsODUgQEAgZGVmaW5lKCdwZ2FkbWluLm1pc2MuZXhwbGFpbics IFsKICAgICB9LAogICB9KTsKIAorICAvLyBCYWNrYm9uZSBtb2RlbCBmb3Igb3RoZXIgc3RhdGlz dGljcworICB2YXIgU3RhdHNNb2RlbCA9IEJhY2tib25lLk1vZGVsLmV4dGVuZCh7CisgICAgZGVm YXVsdHM6IHsKKyAgICAgIEpJVDogW10sCisgICAgICBUcmlnZ2VyczogW10sCisgICAgfSwKKyAg ICBzZXRfc3RhdGlzdGljczogZnVuY3Rpb24oeHBvcywgeXBvcywgZ3JhcGhDb250YWluZXIsIHRv b2xUaXBDb250YWluZXIpIHsKKyAgICAgIHZhciBqaXRfc3RhdHMgPSB0aGlzLmdldCgnSklUJyks CisgICAgICAgIHRyaWdnZXJzX3N0YXRzID0gdGhpcy5nZXQoJ1RyaWdnZXJzJyk7CisgICAgICAk KCcucGctZXhwbGFpbi1zdGF0cy1hcmVhJykub24oJ21vdXNlb3ZlcicsICgpID0+IHsKKworICAg ICAgICAvLyBFbXB0eSB0aGUgdG9vbHRpcCBjb250ZW50IGlmIGl0IGhhcyBhbnkgYW5kIGFkZCBu ZXcgZGF0YQorICAgICAgICB0b29sVGlwQ29udGFpbmVyLmVtcHR5KCk7CisgICAgICAgIGlmIChP YmplY3Qua2V5cyhqaXRfc3RhdHMpLmxlbmd0aCA9PSAwICYmCisgICAgICAgICAgT2JqZWN0Lmtl eXModHJpZ2dlcnNfc3RhdHMpLmxlbmd0aCA9PSAwKSB7CisgICAgICAgICAgcmV0dXJuOworICAg ICAgICB9CisKKyAgICAgICAgdmFyIHRvb2x0aXAgPSAkKCc8dGFibGU+PC90YWJsZT4nLCB7Cisg ICAgICAgICAgY2xhc3M6ICdwZ2FkbWluLXRvb2x0aXAtdGFibGUnLAorICAgICAgICB9KS5hcHBl bmRUbyh0b29sVGlwQ29udGFpbmVyKTsKKworICAgICAgICBpZiAoT2JqZWN0LmtleXMoaml0X3N0 YXRzKS5sZW5ndGggPiAwKXsKKyAgICAgICAgICB0b29sdGlwLmFwcGVuZCgnPHRyPjx0ZCBjbGFz cz0ibGFiZWwgZXhwbGFpbi10b29sdGlwIj5KSVQ6PC90ZD48L3RyPicpOworICAgICAgICAgIF8u ZWFjaChqaXRfc3RhdHMsIGZ1bmN0aW9uKHZhbHVlLCBrZXkpIHsKKyAgICAgICAgICAgIHRvb2x0 aXAuYXBwZW5kKCc8dHI+PHRkIGNsYXNzPSJsYWJlbCBleHBsYWluLXRvb2x0aXAiPiZuYnNwJm5i c3AnCisgICAgICAgICAgICArIGtleSArICc8L3RkPjx0ZCBjbGFzcz0ibGFiZWwgZXhwbGFpbi10 b29sdGlwLXZhbCI+JworICAgICAgICAgICAgKyB2YWx1ZSArICc8L3RkPjwvdHI+Jyk7CisgICAg ICAgICAgfSk7CisgICAgICAgIH0KKworICAgICAgICBpZiAoT2JqZWN0LmtleXModHJpZ2dlcnNf c3RhdHMpLmxlbmd0aCA+IDApeworICAgICAgICAgIHRvb2x0aXAuYXBwZW5kKCc8dHI+PHRkIGNs YXNzPSJsYWJlbCBleHBsYWluLXRvb2x0aXAiPlRyaWdnZXJzOjwvdGQ+PC90cj4nKTsKKyAgICAg ICAgICBfLmVhY2godHJpZ2dlcnNfc3RhdHMsIGZ1bmN0aW9uKHRyaWdnZXJzLCBrZXlfaWQpIHsK KyAgICAgICAgICAgIGlmICh0cmlnZ2VycyBpbnN0YW5jZW9mIE9iamVjdCkgeworICAgICAgICAg ICAgICBfLmVhY2godHJpZ2dlcnMsIGZ1bmN0aW9uKHZhbHVlLCBrZXkpIHsKKyAgICAgICAgICAg ICAgICBpZiAoa2V5ID09PSAnVHJpZ2dlciBOYW1lJykgeworICAgICAgICAgICAgICAgICAgdG9v bHRpcC5hcHBlbmQoJzx0cj48dGQgY2xhc3M9ImxhYmVsIGV4cGxhaW4tdG9vbHRpcCI+Jm5ic3A7 Jm5ic3A7JworICAgICAgICAgICAgICAgICAgKyBrZXkgKyAnPC90ZD48dGQgY2xhc3M9ImxhYmVs IGV4cGxhaW4tdG9vbHRpcC12YWwiPicKKyAgICAgICAgICAgICAgICAgICsgdmFsdWUgKyAnPC90 ZD48L3RyPicpOworICAgICAgICAgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICAgICAgICB0 b29sdGlwLmFwcGVuZCgnPHRyPjx0ZCBjbGFzcz0ibGFiZWwgZXhwbGFpbi10b29sdGlwIj4mbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsnCisgICAgICAgICAgICAgICAgICArIGtleSArICc8L3RkPjx0 ZCBjbGFzcz0ibGFiZWwgZXhwbGFpbi10b29sdGlwLXZhbCI+JworICAgICAgICAgICAgICAgICAg KyB2YWx1ZSArICc8L3RkPjwvdHI+Jyk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAg ICB9KTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIGVsc2UgeworICAgICAgICAgICAgICB0 b29sdGlwLmFwcGVuZCgnPHRyPjx0ZCBjbGFzcz0ibGFiZWwgZXhwbGFpbi10b29sdGlwIj4mbmJz cDsmbmJzcDsnCisgICAgICAgICAgICAgICsga2V5X2lkICsgJzwvdGQ+PHRkIGNsYXNzPSJsYWJl bCBleHBsYWluLXRvb2x0aXAtdmFsIj4nCisgICAgICAgICAgICAgICsgdHJpZ2dlcnMgKyAnPC90 ZD48L3RyPicpOworICAgICAgICAgICAgfQorICAgICAgICAgIH0pOworICAgICAgICB9CisKKyAg ICAgICAgLy8gU2hvdyB0b29sVGlwIGF0IHJlc3BlY3RpdmUgeCx5IGNvb3JkaW5hdGVzCisgICAg ICAgIHRvb2xUaXBDb250YWluZXIuY3NzKHsKKyAgICAgICAgICAnb3BhY2l0eSc6ICcwLjgnLAor ICAgICAgICAgICdsZWZ0JzogJycsCisgICAgICAgICAgJ3JpZ2h0JzogJzY1cHgnLAorICAgICAg ICAgICd0b3AnOiAnMTVweCcsCisgICAgICAgIH0pOworCisgICAgICAgICQoJy5wZ2FkbWluLWV4 cGxhaW4tdG9vbHRpcCcpLmNzcygncGFkZGluZycsICc1cHgnKTsKKyAgICAgICAgJCgnLnBnYWRt aW4tZXhwbGFpbi10b29sdGlwJykuY3NzKCdib3JkZXInLCAnMXB4IHNvbGlkIHdoaXRlJyk7Cisg ICAgICB9KTsKKworICAgICAgLy8gUmVtb3ZlIHRvb2x0aXAgd2hlbiBtb3VzZSBpcyBvdXQgZnJv bSBub2RlJ3MgYXJlYQorICAgICAgJCgnLnBnLWV4cGxhaW4tc3RhdHMtYXJlYScpLm9uKCdtb3Vz ZW91dCcsICgpID0+IHsKKyAgICAgICAgdG9vbFRpcENvbnRhaW5lci5lbXB0eSgpOworICAgICAg ICB0b29sVGlwQ29udGFpbmVyLmNzcyh7CisgICAgICAgICAgJ29wYWNpdHknOiAnMCcsCisgICAg ICAgICAgJ2xlZnQnOiAwLAorICAgICAgICAgICd0b3AnOiAwLAorICAgICAgICB9KTsKKyAgICAg IH0pOworICAgIH0sCisgIH0pOworCiAgIC8vIE1haW4gYmFja2JvbmUgbW9kZWwgdG8gc3RvcmUg SlNPTiBvYmplY3QKICAgdmFyIE1haW5QbGFuTW9kZWwgPSBCYWNrYm9uZS5Nb2RlbC5leHRlbmQo ewogICAgIGRlZmF1bHRzOiB7CkBAIC02OTYsNiArNzc4LDcgQEAgZGVmaW5lKCdwZ2FkbWluLm1p c2MuZXhwbGFpbicsIFsKICAgICB9LAogICAgIGluaXRpYWxpemU6IGZ1bmN0aW9uKCkgewogICAg ICAgdGhpcy5zZXQoJ1BsYW4nLCBuZXcgUGxhbk1vZGVsKCkpOworICAgICAgdGhpcy5zZXQoJ1N0 YXRpc3RpY3MnLCBuZXcgU3RhdHNNb2RlbCgpKTsKICAgICB9LAogCiAgICAgLy8gUGFyc2UgdGhl IEpTT04gZGF0YSBhbmQgZmV0Y2ggaXRzIGNoaWxkcmVuIHBsYW5zCkBAIC03MTgsNiArODAxLDE3 IEBAIGRlZmluZSgncGdhZG1pbi5taXNjLmV4cGxhaW4nLCBbCiAgICAgICAgIGRlbGV0ZSBkYXRh WydQbGFuJ107CiAgICAgICB9CiAKKyAgICAgIHZhciBzdGF0cyA9IHRoaXMuZ2V0KCdTdGF0aXN0 aWNzJyk7CisgICAgICBpZiAoZGF0YSAmJiAnSklUJyBpbiBkYXRhKSB7CisgICAgICAgIHN0YXRz LnNldCgnSklUJywgZGF0YVsnSklUJ10pOworICAgICAgICBkZWxldGUgZGF0YSBbJ0pJVCddOwor ICAgICAgfQorCisgICAgICBpZiAoZGF0YSAmJiAnVHJpZ2dlcnMnIGluIGRhdGEpIHsKKyAgICAg ICAgc3RhdHMuc2V0KCdUcmlnZ2VycycsIGRhdGFbJ1RyaWdnZXJzJ10pOworICAgICAgICBkZWxl dGUgZGF0YSBbJ1RyaWdnZXJzJ107CisgICAgICB9CisKICAgICAgIHJldHVybiBkYXRhOwogICAg IH0sCiAgICAgdG9KU09OOiBmdW5jdGlvbigpIHsKQEAgLTc0NSw2ICs4MzksMTAgQEAgZGVmaW5l KCdwZ2FkbWluLm1pc2MuZXhwbGFpbicsIFsKICAgICAgIHBsYW4uZHJhdygKICAgICAgICAgZywg eHBvcywgeXBvcywgdW5kZWZpbmVkLCB1bmRlZmluZWQsIGdyYXBoQ29udGFpbmVyLCB0b29sVGlw Q29udGFpbmVyCiAgICAgICApOworCisgICAgICAvL1NldCB0aGUgU3RhdGlzdGljcyBhcyB0b29s dGlwCisgICAgICB2YXIgc3RhdHMgPSB0aGlzLmdldCgnU3RhdGlzdGljcycpOworICAgICAgc3Rh dHMuc2V0X3N0YXRpc3RpY3MoeHBvcywgeXBvcywgZ3JhcGhDb250YWluZXIsIHRvb2xUaXBDb250 YWluZXIpOwogICAgIH0sCiAgIH0pOwogCkBAIC03ODQsNiArODgyLDIyIEBAIGRlZmluZSgncGdh ZG1pbi5taXNjLmV4cGxhaW4nLCBbCiAgICAgICAgICAgICBjbGFzczogJ2ZhIGZhLXNlYXJjaC1t aW51cycsCiAgICAgICAgICAgfSkpOwogCisgICAgICB2YXIgc3RhdHNBcmVhID0gJCgnPGRpdj48 L2Rpdj4nLCB7CisgICAgICAgIGNsYXNzOiAncGctZXhwbGFpbi1zdGF0cy1hcmVhIGJ0bi1ncm91 cCcsCisgICAgICAgIHJvbGU6ICdncm91cCcsCisgICAgICB9KS5hcHBlbmRUbyhjb250YWluZXIp OworCisgICAgICAkKCc8YnV0dG9uPjwvYnV0dG9uPicsIHsKKyAgICAgICAgaWQ6ICdidG4tZXhw bGFpbi1zdGF0cycsCisgICAgICAgIGNsYXNzOiAnYnRuIHBnLWV4cGxhaW4tc3RhdHMtYnRuIGJh ZGdlJywKKyAgICAgICAgdGl0bGU6ICdTdGF0aXN0aWNzJywKKyAgICAgICAgdGFiaW5kZXg6IDAs CisgICAgICAgIGRpc2FibGVkOiAnZGlzYWJsZWQnLAorICAgICAgfSkuYXBwZW5kVG8oc3RhdHNB cmVhKS5hcHBlbmQoCisgICAgICAgICQoJzxpPjwvaT4nLCB7CisgICAgICAgICAgY2xhc3M6ICdm YSBmYS1saW5lLWNoYXJ0JywKKyAgICAgICAgfSkpOworCiAgICAgICAvLyBNYWluIGRpdiB0byBi ZSBkcmF3biBhbGwgaW1hZ2VzIG9uCiAgICAgICB2YXIgcGxhbkRpdiA9ICQoJzxkaXY+PC9kaXY+ JywgewogICAgICAgICAgIGNsYXNzOiAncGdhZG1pbi1leHBsYWluLWNvbnRhaW5lcicsCg== --000000000000c21232056fd79117--