Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtp (Exim 4.84_2) (envelope-from ) id 1dCgFS-0006b5-4u for pgadmin-hackers@arkaria.postgresql.org; Mon, 22 May 2017 05:51:18 +0000 Received: from localhost ([127.0.0.1] helo=postgresql.org) by malur.postgresql.org with smtp (Exim 4.84_2) (envelope-from ) id 1dCgFR-00063c-GQ for pgadmin-hackers@arkaria.postgresql.org; Mon, 22 May 2017 05:51:17 +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.84_2) (envelope-from ) id 1dCgFB-0005GL-Ps for pgadmin-hackers@postgresql.org; Mon, 22 May 2017 05:51:01 +0000 Received: from mail-wm0-x232.google.com ([2a00:1450:400c:c09::232]) by magus.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.84_2) (envelope-from ) id 1dCgF7-000424-S3 for pgadmin-hackers@postgresql.org; Mon, 22 May 2017 05:51:01 +0000 Received: by mail-wm0-x232.google.com with SMTP id 123so8935530wmg.1 for ; Sun, 21 May 2017 22:50:57 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=enterprisedb-com.20150623.gappssmtp.com; s=20150623; h=mime-version:from:date:message-id:subject:to; bh=1n8FxhPJAbK0b/9HK1O1YAICFhM2hvGVZoILZVyIzhg=; b=WpNZvEXudmBEyJXOnZTDTmU6VR5+W7ybp/7nw3L5MNUOmQybH4lsOPqwPLGH/tn78x IYb6P79AGDoAj5TOaTficxRS1LTzQ5P+nBWYia40ddpxrOuV/06uTIom07kcVqbOOF0V khnIXP2yQE8w6lbBGMOduQIaNF4xb+BnISe+RUh1Tdn5nnFy11nIEzpaiLvQyUdl4jb2 xk3Szlwbqs7gXjkrbEipgcHbOXzsx7/qnNoXsH+cSe/OvmjSSbL1UxRlIkmn0Y6A3cgq l726JlmV/7WEe79g61yOPJlcnFTZu9eyjx8qDwg0zBmyAd1/ut2kStOsOw25EXB5xtgW jbQw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:from:date:message-id:subject:to; bh=1n8FxhPJAbK0b/9HK1O1YAICFhM2hvGVZoILZVyIzhg=; b=dIFTtfHxqCZF08F17fBdmW9s21gNsiAy5iL1JAmpjTiednJ8CExNSd+2tO+99gUv/4 4pT0p3xZU0Rfm9T0y+GqMZMr7O9pYJ42Y3Q9yb0Cc6OGxjwLVSsrq5771st0z9dqk6xm n4ejejnGOR/++SwDpM/ppwcgasAPTc89J6738P/Vcb/ZHGINGvzQ/BwLEsBGkybGrYL+ hIyNkzwIPwjRzIwN41hJcuq0LG6/dVsFhvtorZgdXPY9iuPfhft1HMNeispwvoN6yq3C l4FV6Fivn+p+9PZwOtb7bpYBMxXHlNYw0FWfy9HCQRH00pSP8BRBZIjG4yMWTp6IQtbO FQMw== X-Gm-Message-State: AODbwcCvalIDrA5NoLuukU4X5oLPOPkXf2sGs69YLHyrsDhu+cZaywUt sUfyZxjHwlmyYp1KIGuD3wNtWX/1nb6Zfhw= X-Received: by 10.223.134.46 with SMTP id 43mr11864940wrv.123.1495432256900; Sun, 21 May 2017 22:50:56 -0700 (PDT) MIME-Version: 1.0 Received: by 10.28.19.138 with HTTP; Sun, 21 May 2017 22:50:26 -0700 (PDT) From: Surinder Kumar Date: Mon, 22 May 2017 11:20:26 +0530 Message-ID: Subject: [pgAdmin4][Patch]: Load module's JS files only when required To: pgadmin-hackers Content-Type: multipart/mixed; boundary="001a1146b7bc75dc39055016748a" X-Pg-Spam-Score: -2.6 (--) List-Archive: List-Help: List-ID: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: X-Mailing-List: pgadmin-hackers Precedence: bulk Sender: pgadmin-hackers-owner@postgresql.org --001a1146b7bc75dc39055016748a Content-Type: multipart/alternative; boundary="001a1146b7bc75dc350550167488" --001a1146b7bc75dc350550167488 Content-Type: text/plain; charset="UTF-8" Hi As per pgAdmin4 design, template JS files can either be preloaded or load when a specific node expands (by adding for e.g.: when: 'server'). The JS files of several modules found to be loaded when pgAdmin4 loads which results in increasing: - the number of http requests - latency(greater request time) - pgAdmin4 load time *Tested on Firefox:* Before applying patch - http requests - 143 - Content size - 3.4 MB - Load time: 4.1s (onload: 524ms) After applying patch - http requests: 68 - Content size: 2.1 MB - Load time: 2.84s (onload: 481ms) Also, I found the http request for gravtar takes much time(depending on internet speed) to load which increases load time. https://secure.gravatar.com/avatar/d30aea269994f01256a99a8e7154a328?s=100&d=retro&r=g Shouldn't the gravatar image be replaced with custom image ? I don't see its any use except displaying for user. *Patch changes:* 1) Load following modules JS when 'servers' node expands: - Roles - FileManager - Backup - Datagrid - Grant wizard - Import/Export, Maintenance & restore - Sqleditor 2) Load Debugger JS when database node expands 3) Load Flotr2 when render function is called in dashboard.js 4) Load BigNumber library when sorting is performed on Statistics tab in backgrid.pgadmin.js 5) Remove 'backgrid.select.all' from dependency list(user_management.js) as it had no use. After applying this patch, Menu items such "Query tool", "Grant wizard" don't appear in Tools menu. I have logged an RM2424 to track this. Please find attached patch and review. Thanks Surinder --001a1146b7bc75dc350550167488 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
Hi<= /div>

As per pgAdmin4 design, t= emplate JS files can either be preloaded or load when a specific node expan= ds (by adding for e.g.: when: 'server').

The JS files of several modules found to be loaded = when pgAdmin4 loads which results in increasing:
  • the number of http requests
  • latency(greater request time)
  • pgAdmin4 load time
Tested on Firefox:

Before ap= plying patch
  • http requests - 143
  • Content size - 3.= 4 MB
  • Load time:=C2=A04.1s (onload: 524ms)
After applying patch
  • http requests: 68
  • Content size: 2.1 MB
  • Load time:=C2=A02.84s (onload: 4= 81ms)

Also, I found the http request for gravt= ar takes much time(depending on internet speed) to load which increases loa= d time.

Shouldn't the gravatar image be r= eplaced with custom image ? I don't see its any use except displaying f= or user.

Patch changes:

1) Load following modules JS when 'servers'= ; node expands:
  • =C2=A0Roles
  • =C2=A0FileManager
  • =C2=A0Backup=
  • =C2=A0Datagrid
  • =C2=A0Grant wizard
  • =C2= =A0Import/Export, Maintenance & restore
  • =C2=A0Sqleditor
2) Load Debu= gger JS when database node expands

3) Load Flotr2 when render function is called in dashboard.js

4) Load BigNumber libra= ry when sorting is performed on Statistics tab in backgrid.pgadmin.js
=

5) Remove 'backgrid.select= .all' from dependency list(user_management.js) as it had no use.
<= div class=3D"gmail_default" style=3D"font-size:small">
After applying this patch, Men= u items such "Query tool", "Grant wizard" don't app= ear in Tools menu.
I have logged an RM2424 to track this.

Please find attached patch and review.

Thanks
Surinder







--001a1146b7bc75dc350550167488-- --001a1146b7bc75dc39055016748a Content-Type: application/octet-stream; name="load_module_js_when_required.patch" Content-Disposition: attachment; filename="load_module_js_when_required.patch" Content-Transfer-Encoding: base64 X-Attachment-Id: f_j2zpooii0 ZGlmZiAtLWdpdCBhL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vw cy9zZXJ2ZXJzL3JvbGVzL19faW5pdF9fLnB5IGIvd2ViL3BnYWRtaW4vYnJv d3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvcm9sZXMvX19pbml0X18ucHkK aW5kZXggZGE4ZDA2YS4uN2NkYmUzOSAxMDA2NDQKLS0tIGEvd2ViL3BnYWRt aW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvcm9sZXMvX19pbml0 X18ucHkKKysrIGIvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBz L3NlcnZlcnMvcm9sZXMvX19pbml0X18ucHkKQEAgLTksNyArOSw3IEBACiBp bXBvcnQgcmUKIGZyb20gZnVuY3Rvb2xzIGltcG9ydCB3cmFwcwogCi1pbXBv cnQgcGdhZG1pbi5icm93c2VyLnNlcnZlcl9ncm91cHMgYXMgc2cKK2ltcG9y dCBwZ2FkbWluLmJyb3dzZXIuc2VydmVyX2dyb3Vwcy5zZXJ2ZXJzIGFzIHNl cnZlcnMKIGltcG9ydCBzaW1wbGVqc29uIGFzIGpzb24KIGZyb20gZmxhc2sg aW1wb3J0IHJlbmRlcl90ZW1wbGF0ZSwgcmVxdWVzdCwganNvbmlmeSwgY3Vy cmVudF9hcHAKIGZyb20gZmxhc2tfYmFiZWwgaW1wb3J0IGdldHRleHQgYXMg XwpAQCAtNTUsNyArNTUsNyBAQCBjbGFzcyBSb2xlTW9kdWxlKENvbGxlY3Rp b25Ob2RlTW9kdWxlKToKICAgICAgICAgTG9hZCB0aGUgbW9kdWxlIHNjcmlw dCBmb3Igc2VydmVyLCB3aGVuIGFueSBvZiB0aGUgc2VydmVyLWdyb3VwIG5v ZGUgaXMKICAgICAgICAgaW5pdGlhbGl6ZWQuCiAgICAgICAgICIiIgotICAg ICAgICByZXR1cm4gc2cuU2VydmVyR3JvdXBNb2R1bGUuTk9ERV9UWVBFCisg ICAgICAgIHJldHVybiBzZXJ2ZXJzLlNlcnZlck1vZHVsZS5OT0RFX1RZUEUK IAogICAgIEBwcm9wZXJ0eQogICAgIGRlZiBjc3NzbmlwcGV0cyhzZWxmKToK ZGlmZiAtLWdpdCBhL3dlYi9wZ2FkbWluL2Rhc2hib2FyZC90ZW1wbGF0ZXMv ZGFzaGJvYXJkL2pzL2Rhc2hib2FyZC5qcyBiL3dlYi9wZ2FkbWluL2Rhc2hi b2FyZC90ZW1wbGF0ZXMvZGFzaGJvYXJkL2pzL2Rhc2hib2FyZC5qcwppbmRl eCAzNWVkMTAyLi4yOTEwMjljIDEwMDY0NAotLS0gYS93ZWIvcGdhZG1pbi9k YXNoYm9hcmQvdGVtcGxhdGVzL2Rhc2hib2FyZC9qcy9kYXNoYm9hcmQuanMK KysrIGIvd2ViL3BnYWRtaW4vZGFzaGJvYXJkL3RlbXBsYXRlcy9kYXNoYm9h cmQvanMvZGFzaGJvYXJkLmpzCkBAIC0xLDYgKzEsNiBAQAogZGVmaW5lKFsK LSAgICAncmVxdWlyZScsICdqcXVlcnknLCAncGdhZG1pbicsICd1bmRlcnNj b3JlJywgJ2JhY2tib25lJywgJ3NvdXJjZXMvZ2V0dGV4dCcsICdmbG90cjIn LCAnd2Nkb2NrZXInLAotICAgICdwZ2FkbWluLmJyb3dzZXInLCAnYm9vdHN0 cmFwJworICAgICdyZXF1aXJlJywgJ2pxdWVyeScsICdwZ2FkbWluJywgJ3Vu ZGVyc2NvcmUnLCAnYmFja2JvbmUnLAorICAgICdzb3VyY2VzL2dldHRleHQn LCAnd2Nkb2NrZXInLCAncGdhZG1pbi5icm93c2VyJywgJ2Jvb3RzdHJhcCcK ICAgICBdLAogZnVuY3Rpb24ociwgJCwgcGdBZG1pbiwgXywgQmFja2JvbmUs IGdldHRleHQpIHsKIApAQCAtMTgxLDcgKzE4MSwxMSBAQCBmdW5jdGlvbihy LCAkLCBwZ0FkbWluLCBfLCBCYWNrYm9uZSwgZ2V0dGV4dCkgewogICAgICAg ICAgICAgdmFyIGRpdiA9IGRhc2hib2FyZFBhbmVsLmxheW91dCgpLnNjZW5l KCkuZmluZCgnLnBnLXBhbmVsLWNvbnRlbnQnKTsKICAgICAgICAgICAgIGlm ICgkKGRpdikuZmluZChjb250YWluZXIpLmxlbmd0aCkgeyAvLyBFeGlzdHM/ CiAgICAgICAgICAgICAgICAgaWYgKGNvbnRhaW5lci5jbGllbnRIZWlnaHQg PiAwICYmIGNvbnRhaW5lci5jbGllbnRXaWR0aCA+IDApIHsgLy8gTm90IGhp ZGRlbj8KKyAgICAgICAgICAgICAgICAgIC8vIExvYWQgZmxvdHIyIG9ubHkg d2hlbiByZXF1aXJlZAorICAgICAgICAgICAgICAgICAgdmFyIEZsb3RyMiA9 ICdmbG90cjInOworICAgICAgICAgICAgICAgICAgcmVxdWlyZShbRmxvdHIy XSwgZnVuY3Rpb24oRmxvdHIpewogICAgICAgICAgICAgICAgICAgICBGbG90 ci5kcmF3KGNvbnRhaW5lciwgZGF0YXNldCwgb3B0aW9ucyk7CisgICAgICAg ICAgICAgICAgICB9KQogICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAg IH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgcmV0dXJuOwpkaWZmIC0tZ2l0 IGEvd2ViL3BnYWRtaW4vbWlzYy9maWxlX21hbmFnZXIvX19pbml0X18ucHkg Yi93ZWIvcGdhZG1pbi9taXNjL2ZpbGVfbWFuYWdlci9fX2luaXRfXy5weQpp bmRleCA4NWQ3ZmI0Li4yNTA1Yjc5IDEwMDY0NAotLS0gYS93ZWIvcGdhZG1p bi9taXNjL2ZpbGVfbWFuYWdlci9fX2luaXRfXy5weQorKysgYi93ZWIvcGdh ZG1pbi9taXNjL2ZpbGVfbWFuYWdlci9fX2luaXRfXy5weQpAQCAtMTI1LDcg KzEyNSw3IEBAIGNsYXNzIEZpbGVNYW5hZ2VyTW9kdWxlKFBnQWRtaW5Nb2R1 bGUpOgogICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICduYW1lJzog J3BnYWRtaW4uZmlsZV9tYW5hZ2VyJywKICAgICAgICAgICAgICAgICAncGF0 aCc6IHVybF9mb3IoJ2ZpbGVfbWFuYWdlci5pbmRleCcpICsgJ2ZpbGVfbWFu YWdlcicsCi0gICAgICAgICAgICAgICAgJ3doZW4nOiBOb25lCisgICAgICAg ICAgICAgICAgJ3doZW4nOiAnc2VydmVyJwogICAgICAgICAgICAgfSwKICAg ICAgICAgXQogCmRpZmYgLS1naXQgYS93ZWIvcGdhZG1pbi9zdGF0aWMvanMv YmFja2dyaWQucGdhZG1pbi5qcyBiL3dlYi9wZ2FkbWluL3N0YXRpYy9qcy9i YWNrZ3JpZC5wZ2FkbWluLmpzCmluZGV4IDY0ZjBjYjYuLmRhNTA1N2UgMTAw NjQ0Ci0tLSBhL3dlYi9wZ2FkbWluL3N0YXRpYy9qcy9iYWNrZ3JpZC5wZ2Fk bWluLmpzCisrKyBiL3dlYi9wZ2FkbWluL3N0YXRpYy9qcy9iYWNrZ3JpZC5w Z2FkbWluLmpzCkBAIC0yLDEzICsyLDEzIEBACiAgIC8vIFNldCB1cCBCYWNr Zm9ybSBhcHByb3ByaWF0ZWx5IGZvciB0aGUgZW52aXJvbm1lbnQuIFN0YXJ0 IHdpdGggQU1ELgogICBpZiAodHlwZW9mIGRlZmluZSA9PT0gJ2Z1bmN0aW9u JyAmJiBkZWZpbmUuYW1kKSB7CiAgICAgZGVmaW5lKFsKLSAgICAgICd1bmRl cnNjb3JlJywgJ2pxdWVyeScsICdiYWNrYm9uZScsICdiYWNrZm9ybScsICdi YWNrZ3JpZCcsICdhbGVydGlmeScsCi0gICAgICAnbW9tZW50JywgJ2JpZ251 bWJlcicsICdib290c3RyYXAuZGF0ZXRpbWVwaWNrZXInCisgICAgICAncmVx dWlyZScsICd1bmRlcnNjb3JlJywgJ2pxdWVyeScsICdiYWNrYm9uZScsICdi YWNrZm9ybScsICdiYWNrZ3JpZCcsCisgICAgICAnYWxlcnRpZnknLCAnbW9t ZW50JywgJ2Jvb3RzdHJhcC5kYXRldGltZXBpY2tlcicKICAgICBdLAotICAg ICBmdW5jdGlvbihfLCAkLCBCYWNrYm9uZSwgQmFja2Zvcm0sIEJhY2tncmlk LCBBbGVydGlmeSwgbW9tZW50LCBCaWdOdW1iZXIpIHsKKyAgICAgZnVuY3Rp b24ocmVxdWlyZSwgXywgJCwgQmFja2JvbmUsIEJhY2tmb3JtLCBCYWNrZ3Jp ZCwgQWxlcnRpZnksIG1vbWVudCkgewogICAgICAgLy8gRXhwb3J0IGdsb2Jh bCBldmVuIGluIEFNRCBjYXNlIGluIGNhc2UgdGhpcyBzY3JpcHQgaXMgbG9h ZGVkIHdpdGgKICAgICAgIC8vIG90aGVycyB0aGF0IG1heSBzdGlsbCBleHBl Y3QgYSBnbG9iYWwgQmFja2Zvcm0uCi0gICAgICByZXR1cm4gZmFjdG9yeShy b290LCBfLCAkLCBCYWNrYm9uZSwgQmFja2Zvcm0sIEFsZXJ0aWZ5LCBtb21l bnQsIEJpZ051bWJlcik7CisgICAgICByZXR1cm4gZmFjdG9yeShyb290LCBy ZXF1aXJlLCBfLCAkLCBCYWNrYm9uZSwgQmFja2Zvcm0sIEFsZXJ0aWZ5LCBt b21lbnQpOwogICAgIH0pOwogCiAgIC8vIE5leHQgZm9yIE5vZGUuanMgb3Ig Q29tbW9uSlMuIGpRdWVyeSBtYXkgbm90IGJlIG5lZWRlZCBhcyBhIG1vZHVs ZS4KQEAgLTI1LDcgKzI1LDcgQEAKICAgfSBlbHNlIHsKICAgICBmYWN0b3J5 KHJvb3QsIHJvb3QuXywgKHJvb3QualF1ZXJ5IHx8IHJvb3QuWmVwdG8gfHwg cm9vdC5lbmRlciB8fCByb290LiQpLCByb290LkJhY2tib25lLCByb290LkJh Y2tmb3JtKTsKICAgfQotfSAodGhpcywgZnVuY3Rpb24ocm9vdCwgXywgJCwg QmFja2JvbmUsIEJhY2tmb3JtLCBBbGVydGlmeSwgbW9tZW50LCBCaWdOdW1i ZXIpIHsKK30gKHRoaXMsIGZ1bmN0aW9uKHJvb3QsIHJlcXVpcmUsIF8sICQs IEJhY2tib25lLCBCYWNrZm9ybSwgQWxlcnRpZnksIG1vbWVudCkgewogICAv KgogICAgICAqIEFkZCBtZWNoYW5pc20gaW4gYmFja2dyaWQgdG8gcmVuZGVy IGRpZmZlcmVudCB0eXBlcyBvZiBjZWxscyBpbgogICAgICAqIHNhbWUgY29s dW1uOwpAQCAtNTYsMTA2ICs1NiwxMTIgQEAKICAgICogY29udmVydCBpdCBp bnRvIEJpZ051bWJlciBvYmplY3QgYW5kIG1ha2UgY29tcGFyaXNvbiB0byBw ZXJmb3JtIHNvcnRpbmcuCiAgICAqLwogCi0gIF8uZXh0ZW5kKEJhY2tncmlk LkJvZHkucHJvdG90eXBlLCB7Ci0gICAgc29ydDogZnVuY3Rpb24gKGNvbHVt biwgZGlyZWN0aW9uKSB7Ci0KLSAgICAgIGlmICghXy5jb250YWlucyhbImFz Y2VuZGluZyIsICJkZXNjZW5kaW5nIiwgbnVsbF0sIGRpcmVjdGlvbikpIHsK LSAgICAgICAgdGhyb3cgbmV3IFJhbmdlRXJyb3IoJ2RpcmVjdGlvbiBtdXN0 IGJlIG9uZSBvZiAiYXNjZW5kaW5nIiwgImRlc2NlbmRpbmciIG9yIGBudWxs YCcpOwotICAgICAgfQorICAgIF8uZXh0ZW5kKEJhY2tncmlkLkJvZHkucHJv dG90eXBlLCB7CisgICAgICBCaWdOdW1iZXI6IHVuZGVmaW5lZCwKKyAgICAg IHNvcnQ6IGZ1bmN0aW9uIChjb2x1bW4sIGRpcmVjdGlvbikgeworICAgICAg ICAgICAgLy8gTG9hZCBiaWdudW1iZXIgb25seSB3aGVuIHJlcXVpcmVkCisg ICAgICAgIHZhciBCaWdudW1iZXIgPSAnYmlnbnVtYmVyJywKKyAgICAgICAg ICBzZWxmID0gdGhpczsKKworICAgICAgICByZXF1aXJlKFtCaWdudW1iZXJd LCBmdW5jdGlvbihCaWdOdW1iZXIpeworICAgICAgICAgIEJpZ051bWJlciA9 IEJpZ051bWJlcjsKKyAgICAgICAgICBpZiAoIV8uY29udGFpbnMoWyJhc2Nl bmRpbmciLCAiZGVzY2VuZGluZyIsIG51bGxdLCBkaXJlY3Rpb24pKSB7Cisg ICAgICAgICAgICB0aHJvdyBuZXcgUmFuZ2VFcnJvcignZGlyZWN0aW9uIG11 c3QgYmUgb25lIG9mICJhc2NlbmRpbmciLCAiZGVzY2VuZGluZyIgb3IgYG51 bGxgJyk7CisgICAgICAgICAgfQogCi0gICAgICBpZiAoXy5pc1N0cmluZyhj b2x1bW4pKSBjb2x1bW4gPSB0aGlzLmNvbHVtbnMuZmluZFdoZXJlKHtuYW1l OiBjb2x1bW59KTsKKyAgICAgICAgICBpZiAoXy5pc1N0cmluZyhjb2x1bW4p KSBjb2x1bW4gPSBzZWxmLmNvbHVtbnMuZmluZFdoZXJlKHtuYW1lOiBjb2x1 bW59KTsKIAotICAgICAgdmFyIGNvbGxlY3Rpb24gPSB0aGlzLmNvbGxlY3Rp b247CisgICAgICAgICAgdmFyIGNvbGxlY3Rpb24gPSBzZWxmLmNvbGxlY3Rp b247CiAKLSAgICAgIHZhciBvcmRlcjsKLSAgICAgIGlmIChkaXJlY3Rpb24g PT09ICJhc2NlbmRpbmciKSBvcmRlciA9IC0xOwotICAgICAgZWxzZSBpZiAo ZGlyZWN0aW9uID09PSAiZGVzY2VuZGluZyIpIG9yZGVyID0gMTsKLSAgICAg IGVsc2Ugb3JkZXIgPSBudWxsOworICAgICAgICAgIHZhciBvcmRlcjsKKyAg ICAgICAgICBpZiAoZGlyZWN0aW9uID09PSAiYXNjZW5kaW5nIikgb3JkZXIg PSAtMTsKKyAgICAgICAgICBlbHNlIGlmIChkaXJlY3Rpb24gPT09ICJkZXNj ZW5kaW5nIikgb3JkZXIgPSAxOworICAgICAgICAgIGVsc2Ugb3JkZXIgPSBu dWxsOwogCi0gICAgICAvLyBHZXQgY29sdW1uIHR5cGUgYW5kIHBhc3MgaXQg dG8gY29tcGFyYXRvci4KLSAgICAgIHZhciBjb2xfdHlwZSA9IGNvbHVtbi5n ZXQoJ2NlbGwnKS5wcm90b3R5cGUuY2xhc3NOYW1lIHx8ICdzdHJpbmctY2Vs bCcsCi0gICAgICAgICAgY29tcGFyYXRvciA9IHRoaXMubWFrZUNvbXBhcmF0 b3IoY29sdW1uLmdldCgibmFtZSIpLCBvcmRlciwKLSAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9yZGVyID8KLSAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbHVtbi5zb3J0 VmFsdWUoKSA6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBmdW5jdGlvbiAobW9kZWwpIHsKLSAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG1vZGVsLmNpZC5y ZXBsYWNlKCdjJywgJycpICogMTsKLSAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIH0sIGNvbF90eXBlKTsKKyAgICAgICAgICAv LyBHZXQgY29sdW1uIHR5cGUgYW5kIHBhc3MgaXQgdG8gY29tcGFyYXRvci4K KyAgICAgICAgICB2YXIgY29sX3R5cGUgPSBjb2x1bW4uZ2V0KCdjZWxsJyku cHJvdG90eXBlLmNsYXNzTmFtZSB8fCAnc3RyaW5nLWNlbGwnLAorICAgICAg ICAgICAgICBjb21wYXJhdG9yID0gc2VsZi5tYWtlQ29tcGFyYXRvcihjb2x1 bW4uZ2V0KCJuYW1lIiksIG9yZGVyLAorICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIG9yZGVyID8KKyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2x1bW4uc29y dFZhbHVlKCkgOgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIGZ1bmN0aW9uIChtb2RlbCkgeworICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG1v ZGVsLmNpZC5yZXBsYWNlKCdjJywgJycpICogMTsKKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCBjb2xfdHlwZSk7 CiAKLSAgICAgIGlmIChCYWNrYm9uZS5QYWdlYWJsZUNvbGxlY3Rpb24gJiYK LSAgICAgICAgICBjb2xsZWN0aW9uIGluc3RhbmNlb2YgQmFja2JvbmUuUGFn ZWFibGVDb2xsZWN0aW9uKSB7CisgICAgICAgICAgaWYgKEJhY2tib25lLlBh Z2VhYmxlQ29sbGVjdGlvbiAmJgorICAgICAgICAgICAgICBjb2xsZWN0aW9u IGluc3RhbmNlb2YgQmFja2JvbmUuUGFnZWFibGVDb2xsZWN0aW9uKSB7CiAK LSAgICAgICAgY29sbGVjdGlvbi5zZXRTb3J0aW5nKG9yZGVyICYmIGNvbHVt bi5nZXQoIm5hbWUiKSwgb3JkZXIsCi0gICAgICAgICAgICAgICAgICAgICAg ICAgICAgICB7c29ydFZhbHVlOiBjb2x1bW4uc29ydFZhbHVlKCl9KTsKKyAg ICAgICAgICAgIGNvbGxlY3Rpb24uc2V0U29ydGluZyhvcmRlciAmJiBjb2x1 bW4uZ2V0KCJuYW1lIiksIG9yZGVyLAorICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIHtzb3J0VmFsdWU6IGNvbHVtbi5zb3J0VmFsdWUoKX0p OwogCi0gICAgICAgIGlmIChjb2xsZWN0aW9uLmZ1bGxDb2xsZWN0aW9uKSB7 Ci0gICAgICAgICAgLy8gSWYgb3JkZXIgaXMgbnVsbCwgcGFnZWFibGUgd2ls bCByZW1vdmUgdGhlIGNvbXBhcmF0b3Igb24gYm90aCBzaWRlcywKLSAgICAg ICAgICAvLyBpbiB0aGlzIGNhc2UgdGhlIGRlZmF1bHQgaW5zZXJ0aW9uIG9y ZGVyIGNvbXBhcmF0b3IgbmVlZHMgdG8gYmUKLSAgICAgICAgICAvLyBhdHRh Y2hlZCB0byBnZXQgYmFjayB0byB0aGUgb3JkZXIgYmVmb3JlIHNvcnRpbmcu Ci0gICAgICAgICAgaWYgKGNvbGxlY3Rpb24uZnVsbENvbGxlY3Rpb24uY29t cGFyYXRvciA9PSBudWxsKSB7Ci0gICAgICAgICAgICBjb2xsZWN0aW9uLmZ1 bGxDb2xsZWN0aW9uLmNvbXBhcmF0b3IgPSBjb21wYXJhdG9yOworICAgICAg ICAgICAgaWYgKGNvbGxlY3Rpb24uZnVsbENvbGxlY3Rpb24pIHsKKyAgICAg ICAgICAgICAgLy8gSWYgb3JkZXIgaXMgbnVsbCwgcGFnZWFibGUgd2lsbCBy ZW1vdmUgdGhlIGNvbXBhcmF0b3Igb24gYm90aCBzaWRlcywKKyAgICAgICAg ICAgICAgLy8gaW4gdGhpcyBjYXNlIHRoZSBkZWZhdWx0IGluc2VydGlvbiBv cmRlciBjb21wYXJhdG9yIG5lZWRzIHRvIGJlCisgICAgICAgICAgICAgIC8v IGF0dGFjaGVkIHRvIGdldCBiYWNrIHRvIHRoZSBvcmRlciBiZWZvcmUgc29y dGluZy4KKyAgICAgICAgICAgICAgaWYgKGNvbGxlY3Rpb24uZnVsbENvbGxl Y3Rpb24uY29tcGFyYXRvciA9PSBudWxsKSB7CisgICAgICAgICAgICAgICAg Y29sbGVjdGlvbi5mdWxsQ29sbGVjdGlvbi5jb21wYXJhdG9yID0gY29tcGFy YXRvcjsKKyAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICBjb2xsZWN0 aW9uLmZ1bGxDb2xsZWN0aW9uLnNvcnQoKTsKKyAgICAgICAgICAgICAgY29s bGVjdGlvbi50cmlnZ2VyKCJiYWNrZ3JpZDpzb3J0ZWQiLCBjb2x1bW4sIGRp cmVjdGlvbiwgY29sbGVjdGlvbik7CisgICAgICAgICAgICB9CisgICAgICAg ICAgICBlbHNlIGNvbGxlY3Rpb24uZmV0Y2goe3Jlc2V0OiB0cnVlLCBzdWNj ZXNzOiBmdW5jdGlvbiAoKSB7CisgICAgICAgICAgICAgIGNvbGxlY3Rpb24u dHJpZ2dlcigiYmFja2dyaWQ6c29ydGVkIiwgY29sdW1uLCBkaXJlY3Rpb24s IGNvbGxlY3Rpb24pOworICAgICAgICAgICAgfX0pOworICAgICAgICAgIH0K KyAgICAgICAgICBlbHNlIHsKKyAgICAgICAgICAgIGNvbGxlY3Rpb24uY29t cGFyYXRvciA9IGNvbXBhcmF0b3I7CisgICAgICAgICAgICBjb2xsZWN0aW9u LnNvcnQoKTsKKyAgICAgICAgICAgIGNvbGxlY3Rpb24udHJpZ2dlcigiYmFj a2dyaWQ6c29ydGVkIiwgY29sdW1uLCBkaXJlY3Rpb24sIGNvbGxlY3Rpb24p OwogICAgICAgICAgIH0KLSAgICAgICAgICBjb2xsZWN0aW9uLmZ1bGxDb2xs ZWN0aW9uLnNvcnQoKTsKLSAgICAgICAgICBjb2xsZWN0aW9uLnRyaWdnZXIo ImJhY2tncmlkOnNvcnRlZCIsIGNvbHVtbiwgZGlyZWN0aW9uLCBjb2xsZWN0 aW9uKTsKLSAgICAgICAgfQotICAgICAgICBlbHNlIGNvbGxlY3Rpb24uZmV0 Y2goe3Jlc2V0OiB0cnVlLCBzdWNjZXNzOiBmdW5jdGlvbiAoKSB7Ci0gICAg ICAgICAgY29sbGVjdGlvbi50cmlnZ2VyKCJiYWNrZ3JpZDpzb3J0ZWQiLCBj b2x1bW4sIGRpcmVjdGlvbiwgY29sbGVjdGlvbik7Ci0gICAgICAgIH19KTsK LSAgICAgIH0KLSAgICAgIGVsc2UgewotICAgICAgICBjb2xsZWN0aW9uLmNv bXBhcmF0b3IgPSBjb21wYXJhdG9yOwotICAgICAgICBjb2xsZWN0aW9uLnNv cnQoKTsKLSAgICAgICAgY29sbGVjdGlvbi50cmlnZ2VyKCJiYWNrZ3JpZDpz b3J0ZWQiLCBjb2x1bW4sIGRpcmVjdGlvbiwgY29sbGVjdGlvbik7Ci0gICAg ICB9Ci0KLSAgICAgIGNvbHVtbi5zZXQoImRpcmVjdGlvbiIsIGRpcmVjdGlv bik7CiAKLSAgICAgIHJldHVybiB0aGlzOwotICAgIH0sCi0gICAgbWFrZUNv bXBhcmF0b3I6IGZ1bmN0aW9uIChhdHRyLCBvcmRlciwgZnVuYywgdHlwZSkg eworICAgICAgICAgIGNvbHVtbi5zZXQoImRpcmVjdGlvbiIsIGRpcmVjdGlv bik7CiAKLSAgICAgIHJldHVybiBmdW5jdGlvbiAobGVmdCwgcmlnaHQpIHsK LSAgICAgICAgLy8gZXh0cmFjdCB0aGUgdmFsdWVzIGZyb20gdGhlIG1vZGVs cworICAgICAgICAgIHJldHVybiBzZWxmOworICAgICAgICB9KTsKKyAgICAg IH0sCisgICAgICBtYWtlQ29tcGFyYXRvcjogZnVuY3Rpb24gKGF0dHIsIG9y ZGVyLCBmdW5jLCB0eXBlKSB7CisgICAgICAgIHJldHVybiBmdW5jdGlvbiAo bGVmdCwgcmlnaHQpIHsKKyAgICAgICAgICAvLyBleHRyYWN0IHRoZSB2YWx1 ZXMgZnJvbSB0aGUgbW9kZWxzCisKKyAgICAgICAgICB2YXIgbCA9IGZ1bmMo bGVmdCwgYXR0ciksIHIgPSBmdW5jKHJpZ2h0LCBhdHRyKSwgdDsKKworICAg ICAgICAgIHZhciB0eXBlcyA9IFsnbnVtYmVyLWNlbGwnLCAnaW50ZWdlci1j ZWxsJ107CisgICAgICAgICAgICBpZiAoXy5pbmNsdWRlKHR5cGVzLCB0eXBl KSkgeworICAgICAgICAgICAgdmFyIF9sLCBfcjsKKyAgICAgICAgICAgIC8v IE5hTiBpZiBpbnZhbGlkIG51bWJlcgorICAgICAgICAgICAgdHJ5IHsKKyAg ICAgICAgICAgICAgX2wgPSBuZXcgQmlnTnVtYmVyKGwpOworICAgICAgICAg ICAgfSBjYXRjaChlcnIpIHsKKyAgICAgICAgICAgICAgX2wgPSBOYU47Cisg ICAgICAgICAgICB9CiAKLSAgICAgICAgdmFyIGwgPSBmdW5jKGxlZnQsIGF0 dHIpLCByID0gZnVuYyhyaWdodCwgYXR0ciksIHQ7CisgICAgICAgICAgICB0 cnkgeworICAgICAgICAgICAgICBfciA9IG5ldyBCaWdOdW1iZXIocik7Cisg ICAgICAgICAgICB9IGNhdGNoKGVycikgeworICAgICAgICAgICAgICBfciA9 IE5hTjsKKyAgICAgICAgICAgIH0KIAotICAgICAgICB2YXIgdHlwZXMgPSBb J251bWJlci1jZWxsJywgJ2ludGVnZXItY2VsbCddOwotICAgICAgICBpZiAo Xy5pbmNsdWRlKHR5cGVzLCB0eXBlKSkgewotICAgICAgICAgIHZhciBfbCwg X3I7Ci0gICAgICAgICAgLy8gTmFOIGlmIGludmFsaWQgbnVtYmVyCi0gICAg ICAgICAgdHJ5IHsKLSAgICAgICAgICAgIF9sID0gbmV3IEJpZ051bWJlcihs KTsKLSAgICAgICAgICB9IGNhdGNoKGVycikgewotICAgICAgICAgICAgX2wg PSBOYU47Ci0gICAgICAgICAgfQorICAgICAgICAgICAgLy8gaWYgZGVzY2Vu ZGluZyBvcmRlciwgc3dhcCBsZWZ0IGFuZCByaWdodAorICAgICAgICAgICAg aWYgKG9yZGVyID09PSAxKSB0ID0gX2wsIF9sID0gX3IsIF9yID0gdDsKIAot ICAgICAgICAgIHRyeSB7Ci0gICAgICAgICAgICBfciA9IG5ldyBCaWdOdW1i ZXIocik7Ci0gICAgICAgICAgfSBjYXRjaChlcnIpIHsKLSAgICAgICAgICAg IF9yID0gTmFOOworICAgICAgICAgICAgaWYgKF9sLmVxKF9yKSkgIC8vIElm IGJvdGggYXJlIGVxdWFscworICAgICAgICAgICAgICByZXR1cm4gMDsKKyAg ICAgICAgICAgIGVsc2UgaWYgKF9sLmx0KF9yKSkgLy8gSWYgbGVmdCBpcyBs ZXNzIHRoYW4gcmlnaHQKKyAgICAgICAgICAgICAgcmV0dXJuIC0xOworICAg ICAgICAgICAgZWxzZQorICAgICAgICAgICAgICByZXR1cm4gMTsKICAgICAg ICAgICB9CisgICAgICAgICAgICBlbHNlIHsKKyAgICAgICAgICAgIC8vIGlm IGRlc2NlbmRpbmcgb3JkZXIsIHN3YXAgbGVmdCBhbmQgcmlnaHQKKyAgICAg ICAgICAgIGlmIChvcmRlciA9PT0gMSkgdCA9IGwsIGwgPSByLCByID0gdDsK IAotICAgICAgICAgIC8vIGlmIGRlc2NlbmRpbmcgb3JkZXIsIHN3YXAgbGVm dCBhbmQgcmlnaHQKLSAgICAgICAgICBpZiAob3JkZXIgPT09IDEpIHQgPSBf bCwgX2wgPSBfciwgX3IgPSB0OwotCi0gICAgICAgICAgaWYgKF9sLmVxKF9y KSkgIC8vIElmIGJvdGggYXJlIGVxdWFscwotICAgICAgICAgICAgcmV0dXJu IDA7Ci0gICAgICAgICAgZWxzZSBpZiAoX2wubHQoX3IpKSAvLyBJZiBsZWZ0 IGlzIGxlc3MgdGhhbiByaWdodAotICAgICAgICAgICAgcmV0dXJuIC0xOwot ICAgICAgICAgIGVsc2UKKyAgICAgICAgICAgICAvLyBjb21wYXJlIGFzIHVz dWFsCisgICAgICAgICAgICBpZiAobCA9PT0gcikgcmV0dXJuIDA7CisgICAg ICAgICAgICBlbHNlIGlmIChsIDwgcikgcmV0dXJuIC0xOwogICAgICAgICAg ICAgcmV0dXJuIDE7Ci0gICAgICAgIH0KLSAgICAgICAgZWxzZSB7Ci0gICAg ICAgICAgLy8gaWYgZGVzY2VuZGluZyBvcmRlciwgc3dhcCBsZWZ0IGFuZCBy aWdodAotICAgICAgICAgIGlmIChvcmRlciA9PT0gMSkgdCA9IGwsIGwgPSBy LCByID0gdDsKLQotICAgICAgICAgICAvLyBjb21wYXJlIGFzIHVzdWFsCi0g ICAgICAgICAgaWYgKGwgPT09IHIpIHJldHVybiAwOwotICAgICAgICAgIGVs c2UgaWYgKGwgPCByKSByZXR1cm4gLTE7Ci0gICAgICAgICAgcmV0dXJuIDE7 Ci0gICAgICAgIH0KLSAgICAgIH07Ci0gICAgfQotICB9KTsKKyAgICAgICAg ICB9CisgICAgICAgIH07CisgICAgICB9CisgICAgfSk7CiAKICAgXy5leHRl bmQoQmFja2dyaWQuUm93LnByb3RvdHlwZSwgewogICAgIG1ha2VDZWxsOiBm dW5jdGlvbiAoY29sdW1uKSB7CmRpZmYgLS1naXQgYS93ZWIvcGdhZG1pbi90 b29scy9iYWNrdXAvX19pbml0X18ucHkgYi93ZWIvcGdhZG1pbi90b29scy9i YWNrdXAvX19pbml0X18ucHkKaW5kZXggOWMwNTM3YS4uZTQ1YTVjZSAxMDA2 NDQKLS0tIGEvd2ViL3BnYWRtaW4vdG9vbHMvYmFja3VwL19faW5pdF9fLnB5 CisrKyBiL3dlYi9wZ2FkbWluL3Rvb2xzL2JhY2t1cC9fX2luaXRfXy5weQpA QCAtNDksNyArNDksNyBAQCBjbGFzcyBCYWNrdXBNb2R1bGUoUGdBZG1pbk1v ZHVsZSk6CiAgICAgICAgIHJldHVybiBbewogICAgICAgICAgICAgJ25hbWUn OiAncGdhZG1pbi50b29scy5iYWNrdXAnLAogICAgICAgICAgICAgJ3BhdGgn OiB1cmxfZm9yKCdiYWNrdXAuaW5kZXgnKSArICdiYWNrdXAnLAotICAgICAg ICAgICAgJ3doZW4nOiBOb25lCisgICAgICAgICAgICAnd2hlbic6ICdzZXJ2 ZXInCiAgICAgICAgIH1dCiAKICAgICBkZWYgc2hvd19zeXN0ZW1fb2JqZWN0 cyhzZWxmKToKZGlmZiAtLWdpdCBhL3dlYi9wZ2FkbWluL3Rvb2xzL2RhdGFn cmlkL19faW5pdF9fLnB5IGIvd2ViL3BnYWRtaW4vdG9vbHMvZGF0YWdyaWQv X19pbml0X18ucHkKaW5kZXggZjQ2MjlmYy4uOGRhNGRlMyAxMDA2NDQKLS0t IGEvd2ViL3BnYWRtaW4vdG9vbHMvZGF0YWdyaWQvX19pbml0X18ucHkKKysr IGIvd2ViL3BnYWRtaW4vdG9vbHMvZGF0YWdyaWQvX19pbml0X18ucHkKQEAg LTQzLDcgKzQzLDcgQEAgY2xhc3MgRGF0YUdyaWRNb2R1bGUoUGdBZG1pbk1v ZHVsZSk6CiAgICAgICAgIHJldHVybiBbewogICAgICAgICAgICAgJ25hbWUn OiAncGdhZG1pbi5kYXRhZ3JpZCcsCiAgICAgICAgICAgICAncGF0aCc6IHVy bF9mb3IoJ2RhdGFncmlkLmluZGV4JykgKyAiZGF0YWdyaWQiLAotICAgICAg ICAgICAgJ3doZW4nOiBOb25lCisgICAgICAgICAgICAnd2hlbic6ICdzZXJ2 ZXInCiAgICAgICAgIH1dCiAKICAgICBkZWYgZ2V0X3BhbmVscyhzZWxmKToK ZGlmZiAtLWdpdCBhL3dlYi9wZ2FkbWluL3Rvb2xzL2RlYnVnZ2VyL19faW5p dF9fLnB5IGIvd2ViL3BnYWRtaW4vdG9vbHMvZGVidWdnZXIvX19pbml0X18u cHkKaW5kZXggMmMwZGJjNC4uZTYyODhiMSAxMDA2NDQKLS0tIGEvd2ViL3Bn YWRtaW4vdG9vbHMvZGVidWdnZXIvX19pbml0X18ucHkKKysrIGIvd2ViL3Bn YWRtaW4vdG9vbHMvZGVidWdnZXIvX19pbml0X18ucHkKQEAgLTU1LDcgKzU1 LDcgQEAgY2xhc3MgRGVidWdnZXJNb2R1bGUoUGdBZG1pbk1vZHVsZSk6CiAg ICAgICAgICAgICBzY3JpcHRzLmFwcGVuZCh7CiAgICAgICAgICAgICAgICAg J25hbWUnOiBuYW1lLAogICAgICAgICAgICAgICAgICdwYXRoJzogdXJsX2Zv cignZGVidWdnZXIuaW5kZXgnKSArIHNjcmlwdCwKLSAgICAgICAgICAgICAg ICAnd2hlbic6IE5vbmUKKyAgICAgICAgICAgICAgICAnd2hlbic6ICdkYXRh YmFzZScKICAgICAgICAgICAgIH0pCiAKICAgICAgICAgcmV0dXJuIHNjcmlw dHMKZGlmZiAtLWdpdCBhL3dlYi9wZ2FkbWluL3Rvb2xzL2dyYW50X3dpemFy ZC9fX2luaXRfXy5weSBiL3dlYi9wZ2FkbWluL3Rvb2xzL2dyYW50X3dpemFy ZC9fX2luaXRfXy5weQppbmRleCA5YzZmNDdlLi42NjFjOWZmIDEwMDY0NAot LS0gYS93ZWIvcGdhZG1pbi90b29scy9ncmFudF93aXphcmQvX19pbml0X18u cHkKKysrIGIvd2ViL3BnYWRtaW4vdG9vbHMvZ3JhbnRfd2l6YXJkL19faW5p dF9fLnB5CkBAIC02NiwxMiArNjYsMTIgQEAgY2xhc3MgR3JhbnRXaXphcmRN b2R1bGUoUGdBZG1pbk1vZHVsZSk6CiAgICAgICAgIHNjcmlwdHMuYXBwZW5k KHsKICAgICAgICAgICAgICduYW1lJzogJ3BnYWRtaW4udG9vbHMuZ3JhbnRf d2l6YXJkJywKICAgICAgICAgICAgICdwYXRoJzogdXJsX2ZvcignZ3JhbnRf d2l6YXJkLmluZGV4JykgKyAnZ3JhbnRfd2l6YXJkJywKLSAgICAgICAgICAg ICd3aGVuJzogTm9uZQorICAgICAgICAgICAgJ3doZW4nOiAnc2VydmVyJwog ICAgICAgICB9KQogICAgICAgICBzY3JpcHRzLmFwcGVuZCh7CiAgICAgICAg ICAgICAnbmFtZSc6ICdwZ2FkbWluLmJyb3dzZXIud2l6YXJkJywKICAgICAg ICAgICAgICdwYXRoJzogdXJsX2ZvcignYnJvd3Nlci5zdGF0aWMnLCBmaWxl bmFtZT0nanMvd2l6YXJkJyksCi0gICAgICAgICAgICAnd2hlbic6IE5vbmUK KyAgICAgICAgICAgICd3aGVuJzogJ3NlcnZlcicKICAgICAgICAgfSkKICAg ICAgICAgcmV0dXJuIHNjcmlwdHMKIApAQCAtMTUwLDcgKzE1MCw2IEBAIGRl ZiBzY3JpcHQoKToKICAgICAgICAgc3RhdHVzPTIwMCwKICAgICAgICAgbWlt ZXR5cGU9ImFwcGxpY2F0aW9uL2phdmFzY3JpcHQiKQogCi0KIEBibHVlcHJp bnQucm91dGUoCiAgICAgJy9hY2wvPGludDpnaWQ+LzxpbnQ6c2lkPi88aW50 OmRpZD4vJywgbWV0aG9kcz0oJ0dFVCcsICdQT1NUJykpCiBAbG9naW5fcmVx dWlyZWQKZGlmZiAtLWdpdCBhL3dlYi9wZ2FkbWluL3Rvb2xzL2ltcG9ydF9l eHBvcnQvX19pbml0X18ucHkgYi93ZWIvcGdhZG1pbi90b29scy9pbXBvcnRf ZXhwb3J0L19faW5pdF9fLnB5CmluZGV4IDRjMWFjMDQuLjRiYmZkZTggMTAw NjQ0Ci0tLSBhL3dlYi9wZ2FkbWluL3Rvb2xzL2ltcG9ydF9leHBvcnQvX19p bml0X18ucHkKKysrIGIvd2ViL3BnYWRtaW4vdG9vbHMvaW1wb3J0X2V4cG9y dC9fX2luaXRfXy5weQpAQCAtNDgsNyArNDgsNyBAQCBjbGFzcyBJbXBvcnRF eHBvcnRNb2R1bGUoUGdBZG1pbk1vZHVsZSk6CiAgICAgICAgICAgICBzY3Jp cHRzLmFwcGVuZCh7CiAgICAgICAgICAgICAgICAgJ25hbWUnOiBuYW1lLAog ICAgICAgICAgICAgICAgICdwYXRoJzogdXJsX2ZvcignaW1wb3J0X2V4cG9y dC5pbmRleCcpICsgc2NyaXB0LAotICAgICAgICAgICAgICAgICd3aGVuJzog Tm9uZQorICAgICAgICAgICAgICAgICd3aGVuJzogJ2RhdGFiYXNlJwogICAg ICAgICAgICAgfSkKIAogICAgICAgICByZXR1cm4gc2NyaXB0cwpkaWZmIC0t Z2l0IGEvd2ViL3BnYWRtaW4vdG9vbHMvbWFpbnRlbmFuY2UvX19pbml0X18u cHkgYi93ZWIvcGdhZG1pbi90b29scy9tYWludGVuYW5jZS9fX2luaXRfXy5w eQppbmRleCBjMTI5MDZlLi5hNDU4NmQ0IDEwMDY0NAotLS0gYS93ZWIvcGdh ZG1pbi90b29scy9tYWludGVuYW5jZS9fX2luaXRfXy5weQorKysgYi93ZWIv cGdhZG1pbi90b29scy9tYWludGVuYW5jZS9fX2luaXRfXy5weQpAQCAtNTAs NyArNTAsNyBAQCBjbGFzcyBNYWludGVuYW5jZU1vZHVsZShQZ0FkbWluTW9k dWxlKToKICAgICAgICAgICAgIHNjcmlwdHMuYXBwZW5kKHsKICAgICAgICAg ICAgICAgICAnbmFtZSc6IG5hbWUsCiAgICAgICAgICAgICAgICAgJ3BhdGgn OiB1cmxfZm9yKCdtYWludGVuYW5jZS5pbmRleCcpICsgc2NyaXB0LAotICAg ICAgICAgICAgICAgICd3aGVuJzogTm9uZQorICAgICAgICAgICAgICAgICd3 aGVuJzogJ2RhdGFiYXNlJwogICAgICAgICAgICAgfSkKIAogICAgICAgICBy ZXR1cm4gc2NyaXB0cwpkaWZmIC0tZ2l0IGEvd2ViL3BnYWRtaW4vdG9vbHMv cmVzdG9yZS9fX2luaXRfXy5weSBiL3dlYi9wZ2FkbWluL3Rvb2xzL3Jlc3Rv cmUvX19pbml0X18ucHkKaW5kZXggYjZiZjU2NC4uMTJkNjc3NyAxMDA2NDQK LS0tIGEvd2ViL3BnYWRtaW4vdG9vbHMvcmVzdG9yZS9fX2luaXRfXy5weQor KysgYi93ZWIvcGdhZG1pbi90b29scy9yZXN0b3JlL19faW5pdF9fLnB5CkBA IC00OCw3ICs0OCw3IEBAIGNsYXNzIFJlc3RvcmVNb2R1bGUoUGdBZG1pbk1v ZHVsZSk6CiAgICAgICAgIHJldHVybiBbewogICAgICAgICAgICAgJ25hbWUn OiAncGdhZG1pbi50b29scy5yZXN0b3JlJywKICAgICAgICAgICAgICdwYXRo JzogdXJsX2ZvcigncmVzdG9yZS5pbmRleCcpICsgJ3Jlc3RvcmUnLAotICAg ICAgICAgICAgJ3doZW4nOiBOb25lCisgICAgICAgICAgICAnd2hlbic6ICdk YXRhYmFzZScKICAgICAgICAgfV0KIAogCmRpZmYgLS1naXQgYS93ZWIvcGdh ZG1pbi90b29scy9zcWxlZGl0b3IvX19pbml0X18ucHkgYi93ZWIvcGdhZG1p bi90b29scy9zcWxlZGl0b3IvX19pbml0X18ucHkKaW5kZXggODI4Y2I5OS4u ZjVhODkzNyAxMDA2NDQKLS0tIGEvd2ViL3BnYWRtaW4vdG9vbHMvc3FsZWRp dG9yL19faW5pdF9fLnB5CisrKyBiL3dlYi9wZ2FkbWluL3Rvb2xzL3NxbGVk aXRvci9fX2luaXRfXy5weQpAQCAtNjcsNyArNjcsNyBAQCBjbGFzcyBTcWxF ZGl0b3JNb2R1bGUoUGdBZG1pbk1vZHVsZSk6CiAgICAgICAgIHJldHVybiBb ewogICAgICAgICAgICAgJ25hbWUnOiAncGdhZG1pbi5zcWxlZGl0b3InLAog ICAgICAgICAgICAgJ3BhdGgnOiB1cmxfZm9yKCdzcWxlZGl0b3IuaW5kZXgn KSArICJzcWxlZGl0b3IiLAotICAgICAgICAgICAgJ3doZW4nOiBOb25lCisg ICAgICAgICAgICAnd2hlbic6ICdzZXJ2ZXInCiAgICAgICAgIH1dCiAKICAg ICBkZWYgZ2V0X3BhbmVscyhzZWxmKToKZGlmZiAtLWdpdCBhL3dlYi9wZ2Fk bWluL3Rvb2xzL3VzZXJfbWFuYWdlbWVudC90ZW1wbGF0ZXMvdXNlcl9tYW5h Z2VtZW50L2pzL3VzZXJfbWFuYWdlbWVudC5qcyBiL3dlYi9wZ2FkbWluL3Rv b2xzL3VzZXJfbWFuYWdlbWVudC90ZW1wbGF0ZXMvdXNlcl9tYW5hZ2VtZW50 L2pzL3VzZXJfbWFuYWdlbWVudC5qcwppbmRleCBjOGM5MWM3Li4yNTFhNmM4 IDEwMDY0NAotLS0gYS93ZWIvcGdhZG1pbi90b29scy91c2VyX21hbmFnZW1l bnQvdGVtcGxhdGVzL3VzZXJfbWFuYWdlbWVudC9qcy91c2VyX21hbmFnZW1l bnQuanMKKysrIGIvd2ViL3BnYWRtaW4vdG9vbHMvdXNlcl9tYW5hZ2VtZW50 L3RlbXBsYXRlcy91c2VyX21hbmFnZW1lbnQvanMvdXNlcl9tYW5hZ2VtZW50 LmpzCkBAIC0xLDcgKzEsNyBAQAogZGVmaW5lKFsKICAgICAgICdqcXVlcnkn LCAndW5kZXJzY29yZScsICd1bmRlcnNjb3JlLnN0cmluZycsICdhbGVydGlm eScsCiAgICAgICAncGdhZG1pbi5icm93c2VyJywgJ2JhY2tib25lJywgJ2Jh Y2tncmlkJywgJ2JhY2tmb3JtJywgJ3BnYWRtaW4uYnJvd3Nlci5ub2RlJywK LSAgICAgICdiYWNrZ3JpZC5zZWxlY3QuYWxsJywgJ2JhY2tncmlkLmZpbHRl cicKKyAgICAgICdiYWNrZ3JpZC5maWx0ZXInCiAgICAgICBdLAogCiAgIC8v IFRoaXMgZGVmaW5lcyBCYWNrdXAgZGlhbG9nCg== --001a1146b7bc75dc39055016748a Content-Type: text/plain Content-Disposition: inline Content-Transfer-Encoding: 8bit MIME-Version: 1.0 -- Sent via pgadmin-hackers mailing list (pgadmin-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgadmin-hackers --001a1146b7bc75dc39055016748a--