Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1jMlol-0003uw-6R for pgadmin-hackers@arkaria.postgresql.org; Fri, 10 Apr 2020 05:03:03 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.92) (envelope-from ) id 1jMloi-0006tW-PA for pgadmin-hackers@arkaria.postgresql.org; Fri, 10 Apr 2020 05:03:00 +0000 Received: from makus.postgresql.org ([2001:4800:3e1:1::229]) by malur.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1jMloi-0006tN-A0 for pgadmin-hackers@lists.postgresql.org; Fri, 10 Apr 2020 05:03:00 +0000 Received: from mail-ed1-x531.google.com ([2a00:1450:4864:20::531]) by makus.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92) (envelope-from ) id 1jMlof-0001NL-MZ for pgadmin-hackers@postgresql.org; Fri, 10 Apr 2020 05:02:58 +0000 Received: by mail-ed1-x531.google.com with SMTP id p6so1027786edu.10 for ; Thu, 09 Apr 2020 22:02: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=2mTdt0chzUULyNLfgdxFwJjXMzG2cKibTvGIuub5WHA=; b=v3lld24kWr0CoflZv4qR42pT+7U2Og5gQg1pepHu1BNpmmAASab6AR8cBhe35db+nF 07CEbRgHC3fUFQLhamlDQ56QnUKrc+kJXvoBJax6di74NJJ63Pa4gPANZwrkfZYc064s 7y9F3GoZrqysymXngHFji6D1CX9t3hj6hkhu0tC1XEAelNG25B06lj0TY9PJHa/ScWXK dwrgc02fxxozaWMayMlP+XFFGpwoyshhOJgneDCnZrkSj3sVIoKZ87FhhSEXCg0ATE73 Y6zwYbZ3IRiBXcFtGHcKwtqpTDj1WyIjxtBlaLmL/TsktYiDqWRR6kMPeLzDJSotQW3M M/vQ== 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=2mTdt0chzUULyNLfgdxFwJjXMzG2cKibTvGIuub5WHA=; b=R5BaZcbqacQzF6iDmZ2iCtYPNKMS7FMAkv1L0YgNZlQ19NgITDQmX61BfCehEOW6uB tf8oo+PnllWc6/c7gN6Xae5xKhPNpDG2u8MOs3S2mVgCng02YT9TaNiNTx4oO/zFPFjB u+ZBCKTYoErbkv4ywQ9H6qGSpCWwGACQW7XGk9ban++EyzzuXennfR8xuJV66ipGPqnG VTiwTbNcubUIq8EN5navSN+T6hjQw4vZBkiWxvx+0M0mT2nU+RyB6EdE5bE2HgATxNrj pik8/+lXhvsvdbREzoSLnEBimGlB6NILEMLixV6g2gWSy6Y73AolZmT949HkmyH8Jjuu 8kNg== X-Gm-Message-State: AGi0PuZTAB8/mFuNAZx0ftmiZI3/aJbAab9GctAF6l64n4pSDHRjOdUD pPFTM259Wnhusatb4fboaEUXuWu2Q6Nm/Q7PirZ3pL7dc+nM/JHkpQgpSvv77roY5foM63Jj0+B n42WFe3DuMB8UFR2aZcBjmi0jv9IPp2ybDeBuqiqyiYhiRtfCpld9CNTC+9S+Y/j/e+nDS55qTK qEPr9MrRnFMVzaZCgEu8VOcjWrRlpqbeYTfQQ0L7ZiAIbiwoIcO96Ipw== X-Google-Smtp-Source: APiQypKHuOUUMFIfQCvC5KnO6M1gggPsEocU7TWIJNNeWtsOHlnB+aO8Z5n3B6Q8IJIYkRMFAp7GEcgLwPjK/lrPpXE= X-Received: by 2002:a17:906:d9cf:: with SMTP id qk15mr2301959ejb.55.1586494974048; Thu, 09 Apr 2020 22:02:54 -0700 (PDT) MIME-Version: 1.0 From: Aditya Toshniwal Date: Fri, 10 Apr 2020 10:32:17 +0530 Message-ID: Subject: [pgAdmin][RM5227] Cannot add user To: pgadmin-hackers Content-Type: multipart/mixed; boundary="0000000000005e095b05a2e8a575" X-CLOUD-SEC-AV-Info: edb,google_mail,monitor X-CLOUD-SEC-AV-Sent: true X-Gm-Spam: 0 X-Gm-Phishy: 0 List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Precedence: bulk --0000000000005e095b05a2e8a575 Content-Type: multipart/alternative; boundary="0000000000005e095805a2e8a573" --0000000000005e095805a2e8a573 Content-Type: text/plain; charset="UTF-8" Hi Hackers, Attached is the patch to fix following user management related issues: 1) Unable to add a user when there are many users. The dialog went blank. Fixed. 2) Error message did not have a close button. Fixed. 3) When clicked on the add button, then cursor will focus on the email box of the new row for convenience. 4) When the dialog opens, the cursor will focus on the search text box. 5) By default, "User" role will be selected when adding a new user. Also removed an empty option in the roles dropdown. 6) When the search filter is applied and we try to add an already existing user, the validation is done only on the filtered data and not on all the users data. This is fixed. Please review. -- Thanks and Regards, Aditya Toshniwal pgAdmin Hacker | Sr. Software Engineer | EnterpriseDB India | Pune "Don't Complain about Heat, Plant a TREE" --0000000000005e095805a2e8a573 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
Hi Hackers,

Attached is the patch to fix following user ma= nagement related issues:
1) Unable to add a user when there are many users.= The dialog went blank. Fixed.
2) Error message did not have a close button= . Fixed.
3) When clicked on the add button, then cursor will focus on the e= mail box of the new row for convenience.
4) When the dialog opens, the curs= or will focus on the search text box.
5) By default, "User" role = will be selected when adding=C2=A0a new user. Also removed an empty option = in the roles dropdown.
6) When the search filter is applied and we try = to add an already existing user, the validation is done only on the filtere= d data and not on all the users data. This is fixed.

Please review.<= /div>

--
<= div dir=3D"ltr">
Thanks and Regards,=
Aditya Toshniwal<= /div>
pgAdmin Hacker | Sr.= Software Engineer |=C2=A0EnterpriseDB India |=C2=A0Pune
"Don't Complain about He= at, Plant a TREE"
--0000000000005e095805a2e8a573-- --0000000000005e095b05a2e8a575 Content-Type: application/octet-stream; name="RM5227.patch" Content-Disposition: attachment; filename="RM5227.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_k8tq2ma70 ZGlmZiAtLWdpdCBhL3dlYi9wZ2FkbWluL3N0YXRpYy9qcy9iYWNrZ3JpZC5wZ2FkbWluLmpzIGIv d2ViL3BnYWRtaW4vc3RhdGljL2pzL2JhY2tncmlkLnBnYWRtaW4uanMKaW5kZXggYTU4MzNjNGU4 Li43NzI5YTAyZWUgMTAwNjQ0Ci0tLSBhL3dlYi9wZ2FkbWluL3N0YXRpYy9qcy9iYWNrZ3JpZC5w Z2FkbWluLmpzCisrKyBiL3dlYi9wZ2FkbWluL3N0YXRpYy9qcy9iYWNrZ3JpZC5wZ2FkbWluLmpz CkBAIC05MDksMTIgKzkwOSw2IEBAIGRlZmluZShbCiAgICAgICBpZiAoIV8uaXNBcnJheShvcHRp b25WYWx1ZXMpKQogICAgICAgICB0aHJvdyBuZXcgVHlwZUVycm9yKCdvcHRpb25WYWx1ZXMgbXVz dCBiZSBhbiBhcnJheScpOwogCi0gICAgICAvKgotICAgICAgICogQWRkIGVtcHR5IG9wdGlvbiBh cyBTZWxlY3QyIHJlcXVpcmVzIGFueSBlbXB0eSAnPG9wdGlvbj48b3B0aW9uPicgZm9yCi0gICAg ICAgKiBzb21lIG9mIGl0cyBmdW5jdGlvbmFsaXR5IHRvIHdvcmsuCi0gICAgICAgKi8KLSAgICAg IG9wdGlvblZhbHVlcy51bnNoaWZ0KHRoaXMuZGVmYXVsdHMub3B0KTsKLQogICAgICAgdmFyIG9w dGlvblRleHQgPSBudWxsLAogICAgICAgICBvcHRpb25WYWx1ZSA9IG51bGwsCiAgICAgICAgIHNl bGYgPSB0aGlzLApAQCAtOTIzLDYgKzkxNyw3IEBAIGRlZmluZShbCiAgICAgICAgICAgb3Blbk9u RW50ZXI6IGZhbHNlLAogICAgICAgICAgIG11bHRpcGxlOiBmYWxzZSwKICAgICAgICAgICBzaG93 T25TY3JvbGw6IHRydWUsCisgICAgICAgICAgZmlyc3RfZW1wdHk6IHRydWUsCiAgICAgICAgIH0s IHNlbGYuZGVmYXVsdHMuc2VsZWN0MiwKICAgICAgICAgKGNvbC5zZWxlY3QyIHx8IHt9KQogICAg ICAgICApLApAQCAtOTMyLDYgKzkyNywxMyBAQCBkZWZpbmUoWwogICAgICAgICBtdWx0aXBsZTog c2VsZWN0Ml9vcHRzLm11bHRpcGxlLAogICAgICAgfSkpLmFwcGVuZFRvKHNlbGYuJGVsKTsKIAor ICAgICAgLyoKKyAgICAgICAqIEFkZCBlbXB0eSBvcHRpb24gYXMgU2VsZWN0MiByZXF1aXJlcyBh bnkgZW1wdHkgJzxvcHRpb24+PG9wdGlvbj4nIGZvcgorICAgICAgICogc29tZSBvZiBpdHMgZnVu Y3Rpb25hbGl0eSB0byB3b3JrLgorICAgICAgICovCisgICAgICBpZihzZWxlY3QyX29wdHMuZmly c3RfZW1wdHkpIHsKKyAgICAgICAgb3B0aW9uVmFsdWVzLnVuc2hpZnQodGhpcy5kZWZhdWx0cy5v cHQpOworICAgICAgfQogICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBvcHRpb25WYWx1ZXMubGVu Z3RoOyBpKyspIHsKICAgICAgICAgdmFyIG9wdCA9IG9wdGlvblZhbHVlc1tpXTsKIApAQCAtMTk3 OCwxMSArMTk4MCwxMyBAQCBkZWZpbmUoWwogICAgICAgdGhpcy4kY3VzdG9tU2VhcmNoQm94ID0g JGVsOwogICAgICAgdGhpcy4kY3VzdG9tU2VhcmNoQm94LmF0dHIoJ3R5cGUnLCdzZWFyY2gnKTsK ICAgICAgIHRoaXMuJGN1c3RvbVNlYXJjaEJveC5vbigna2V5ZG93bicsIHRoaXMuc2VhcmNoLmJp bmQodGhpcykpOworICAgICAgcmV0dXJuIHRoaXM7CiAgICAgfSwKIAogICAgIHVuc2V0Q3VzdG9t U2VhcmNoQm94OiBmdW5jdGlvbigpIHsKICAgICAgIHRoaXMuJGN1c3RvbVNlYXJjaEJveC5vZmYo J2tleWRvd24nLCB0aGlzLnNlYXJjaC5iaW5kKHRoaXMpKTsKICAgICAgIHRoaXMuJGN1c3RvbVNl YXJjaEJveCA9IG51bGw7CisgICAgICByZXR1cm4gdGhpczsKICAgICB9LAogICB9KTsKIApkaWZm IC0tZ2l0IGEvd2ViL3BnYWRtaW4vc3RhdGljL3Njc3MvX2JhY2tncmlkLm92ZXJyaWRlcy5zY3Nz IGIvd2ViL3BnYWRtaW4vc3RhdGljL3Njc3MvX2JhY2tncmlkLm92ZXJyaWRlcy5zY3NzCmluZGV4 IDRmODdjYzFiZS4uNmI3ZWFkYTI4IDEwMDY0NAotLS0gYS93ZWIvcGdhZG1pbi9zdGF0aWMvc2Nz cy9fYmFja2dyaWQub3ZlcnJpZGVzLnNjc3MKKysrIGIvd2ViL3BnYWRtaW4vc3RhdGljL3Njc3Mv X2JhY2tncmlkLm92ZXJyaWRlcy5zY3NzCkBAIC0xLDkgKzEsMTIgQEAKIC5iYWNrZ3JpZCB0aCwg LmJhY2tncmlkIHRkIHsKLSAgZm9udC13ZWlnaHQ6IG5vcm1hbCFpbXBvcnRhbnQ7CiAgIHRleHQt YWxpZ246IGxlZnQ7CiAgIGxpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQtYmFzZTsKIH0KIAorLmJh Y2tncmlkIHRkIHsKKyAgZm9udC13ZWlnaHQ6IG5vcm1hbCFpbXBvcnRhbnQ7Cit9CisKIC5iYWNr Z3JpZC50YWJsZSB0aC5zb3J0YWJsZSA+IGJ1dHRvbiB7CiAgIHdpZHRoOiAxMDAlOwogICB0ZXh0 LWFsaWduOiBsZWZ0OwpAQCAtMTEyLDYgKzExNSwxMCBAQAogICAgIHdoaXRlLXNwYWNlOiBwcmUt d3JhcDsKIH0KIAorLmJhY2tncmlkID4gdGhlYWQgPiB0aC5yZW5kZXJhYmxlIHsKKyAgZm9udC13 ZWlnaHQ6IGJvbGQ7Cit9CisKIHRhYmxlLmJhY2tncmlkIHsKICAgcG9zaXRpb246IGluaXRpYWw7 CiB9CmRpZmYgLS1naXQgYS93ZWIvcGdhZG1pbi90b29scy91c2VyX21hbmFnZW1lbnQvc3RhdGlj L2pzL3VzZXJfbWFuYWdlbWVudC5qcyBiL3dlYi9wZ2FkbWluL3Rvb2xzL3VzZXJfbWFuYWdlbWVu dC9zdGF0aWMvanMvdXNlcl9tYW5hZ2VtZW50LmpzCmluZGV4IDJmYmUxZGQ1OS4uZTJhMDU4NTMw IDEwMDY0NAotLS0gYS93ZWIvcGdhZG1pbi90b29scy91c2VyX21hbmFnZW1lbnQvc3RhdGljL2pz L3VzZXJfbWFuYWdlbWVudC5qcworKysgYi93ZWIvcGdhZG1pbi90b29scy91c2VyX21hbmFnZW1l bnQvc3RhdGljL2pzL3VzZXJfbWFuYWdlbWVudC5qcwpAQCAtMTAsMTEgKzEwLDExIEBACiBkZWZp bmUoWwogICAnc291cmNlcy9nZXR0ZXh0JywgJ3NvdXJjZXMvdXJsX2ZvcicsICdqcXVlcnknLCAn dW5kZXJzY29yZScsICdwZ2FkbWluLmFsZXJ0aWZ5anMnLAogICAncGdhZG1pbi5icm93c2VyJywg J2JhY2tib25lJywgJ2JhY2tncmlkJywgJ2JhY2tmb3JtJywgJ3BnYWRtaW4uYnJvd3Nlci5ub2Rl JywgJ3BnYWRtaW4uYmFja2Zvcm0nLAotICAncGdhZG1pbi51c2VyX21hbmFnZW1lbnQuY3VycmVu dF91c2VyJywKKyAgJ3BnYWRtaW4udXNlcl9tYW5hZ2VtZW50LmN1cnJlbnRfdXNlcicsICdzb3Vy Y2VzL3V0aWxzJywKICAgJ2JhY2tncmlkLnNlbGVjdC5hbGwnLCAnYmFja2dyaWQuZmlsdGVyJywK IF0sIGZ1bmN0aW9uKAogICBnZXR0ZXh0LCB1cmxfZm9yLCAkLCBfLCBhbGVydGlmeSwgcGdCcm93 c2VyLCBCYWNrYm9uZSwgQmFja2dyaWQsIEJhY2tmb3JtLAotICBwZ05vZGUsIHBnQmFja2Zvcm0s IHVzZXJJbmZvCisgIHBnTm9kZSwgcGdCYWNrZm9ybSwgdXNlckluZm8sIGNvbW1vblV0aWxzLAog KSB7CiAKICAgLy8gaWYgbW9kdWxlIGlzIGFscmVhZHkgaW5pdGlhbGl6ZWQsIHJlZmVyIHRvIHRo YXQuCkBAIC0yODMsNyArMjgzLDcgQEAgZGVmaW5lKFsKICAgICAgICAgICAgIHVzZXJuYW1lOiB1 bmRlZmluZWQsCiAgICAgICAgICAgICBlbWFpbDogdW5kZWZpbmVkLAogICAgICAgICAgICAgYWN0 aXZlOiB0cnVlLAotICAgICAgICAgICAgcm9sZTogdW5kZWZpbmVkLAorICAgICAgICAgICAgcm9s ZTogJzInLAogICAgICAgICAgICAgbmV3UGFzc3dvcmQ6IHVuZGVmaW5lZCwKICAgICAgICAgICAg IGNvbmZpcm1QYXNzd29yZDogdW5kZWZpbmVkLAogICAgICAgICAgICAgYXV0aF9zb3VyY2U6ICdp bnRlcm5hbCcsCkBAIC0zNjEsNiArMzYxLDcgQEAgZGVmaW5lKFsKICAgICAgICAgICAgIHNlbGVj dDI6IHsKICAgICAgICAgICAgICAgYWxsb3dDbGVhcjogZmFsc2UsCiAgICAgICAgICAgICAgIG9w ZW5PbkVudGVyOiBmYWxzZSwKKyAgICAgICAgICAgICAgZmlyc3RfZW1wdHk6IGZhbHNlLAogICAg ICAgICAgICAgfSwKICAgICAgICAgICAgIG9wdGlvbnM6IGZ1bmN0aW9uKGNvbnRyb2xPckNlbGwp IHsKICAgICAgICAgICAgICAgdmFyIG9wdGlvbnMgPSBbXTsKQEAgLTM5OCw2ICszOTksNyBAQCBk ZWZpbmUoWwogICAgICAgICAgICAgdHlwZTogJ3N3aXRjaCcsCiAgICAgICAgICAgICBjZWxsOiAn c3dpdGNoJywKICAgICAgICAgICAgIGNlbGxIZWFkZXJDbGFzc2VzOiAnd2lkdGhfcGVyY2VudF8x MCcsCisgICAgICAgICAgICBzb3J0YWJsZTogZmFsc2UsCiAgICAgICAgICAgICBlZGl0YWJsZTog ZnVuY3Rpb24obSkgewogICAgICAgICAgICAgICBpZiAobSBpbnN0YW5jZW9mIEJhY2tib25lLkNv bGxlY3Rpb24pIHsKICAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKQEAgLTQxNyw2ICs0MTks NyBAQCBkZWZpbmUoWwogICAgICAgICAgICAgY2VsbDogUGFzc3dvcmREZXBDZWxsLAogICAgICAg ICAgICAgY2VsbEhlYWRlckNsYXNzZXM6ICd3aWR0aF9wZXJjZW50XzIwJywKICAgICAgICAgICAg IGRlcHM6IFsnYXV0aF9zb3VyY2UnXSwKKyAgICAgICAgICAgIHNvcnRhYmxlOiBmYWxzZSwKICAg ICAgICAgICAgIGVkaXRhYmxlOiBmdW5jdGlvbihtKSB7CiAgICAgICAgICAgICAgIGlmIChtLmdl dCgnYXV0aF9zb3VyY2UnKSA9PSAnaW50ZXJuYWwnKSB7CiAgICAgICAgICAgICAgICAgcmV0dXJu IHRydWU7CkBAIC00MzMsNiArNDM2LDcgQEAgZGVmaW5lKFsKICAgICAgICAgICAgIGNlbGw6IFBh c3N3b3JkRGVwQ2VsbCwKICAgICAgICAgICAgIGNlbGxIZWFkZXJDbGFzc2VzOiAnd2lkdGhfcGVy Y2VudF8yMCcsCiAgICAgICAgICAgICBkZXBzOiBbJ2F1dGhfc291cmNlJ10sCisgICAgICAgICAg ICBzb3J0YWJsZTogZmFsc2UsCiAgICAgICAgICAgICBlZGl0YWJsZTogZnVuY3Rpb24obSkgewog ICAgICAgICAgICAgICBpZiAobS5nZXQoJ2F1dGhfc291cmNlJykgPT0gJ2ludGVybmFsJykgewog ICAgICAgICAgICAgICAgIHJldHVybiB0cnVlOwpAQCAtNDU5LDcgKzQ2Myw3IEBAIGRlZmluZShb CiAgICAgICAgICAgICAgICk7CiAgICAgICAgICAgICAgIHRoaXMuZXJyb3JNb2RlbC5zZXQoJ2Vt YWlsJywgZXJybXNnKTsKICAgICAgICAgICAgICAgcmV0dXJuIGVycm1zZzsKLSAgICAgICAgICAg IH0gZWxzZSBpZiAoISF0aGlzLmdldCgnZW1haWwnKSAmJiB0aGlzLmNvbGxlY3Rpb24ud2hlcmUo eworICAgICAgICAgICAgfSBlbHNlIGlmICghIXRoaXMuZ2V0KCdlbWFpbCcpICYmIHRoaXMuY29s bGVjdGlvbi5ub25GaWx0ZXIud2hlcmUoewogICAgICAgICAgICAgICAnZW1haWwnOiB0aGlzLmdl dCgnZW1haWwnKSwgJ2F1dGhfc291cmNlJzogJ2ludGVybmFsJywKICAgICAgICAgICAgIH0pLmxl bmd0aCA+IDEpIHsKICAgICAgICAgICAgICAgZXJybXNnID0gZ2V0dGV4dCgnVGhlIGVtYWlsIGFk ZHJlc3MgJXMgYWxyZWFkeSBleGlzdHMuJywKQEAgLTczOSw3ICs3NDMsNyBAQCBkZWZpbmUoWwog ICAgICAgICAgICAgICAgICAgJyAgICAgICAgPGRpdiBjbGFzcz0icHItMiI+ICcsCiAgICAgICAg ICAgICAgICAgICAnICAgICAgICAgIDxpIGNsYXNzPSJmYSBmYS1leGNsYW1hdGlvbi10cmlhbmds ZSB0ZXh0LWRhbmdlciIgYXJpYS1oaWRkZW49InRydWUiPjwvaT4gJywKICAgICAgICAgICAgICAg ICAgICcgICAgICAgIDwvZGl2PiAnLAotICAgICAgICAgICAgICAgICAgJyAgICAgICAgPGRpdiBj bGFzcz0iYWxlcnQtdGV4dCIgcm9sZT0ic3RhdHVzPjwvZGl2PiAnLAorICAgICAgICAgICAgICAg ICAgJyAgICAgICAgPGRpdiBjbGFzcz0iYWxlcnQtdGV4dCIgcm9sZT0ic3RhdHVzIj48L2Rpdj4g JywKICAgICAgICAgICAgICAgICAgICcgICAgICAgIDxkaXYgY2xhc3M9Im1sLWF1dG8gY2xvc2Ut ZXJyb3ItYmFyIj4gJywKICAgICAgICAgICAgICAgICAgICcgICAgICAgICAgPGEgY2xhc3M9ImNs b3NlLWVycm9yIGZhIGZhLXRpbWVzIHRleHQtZGFuZ2VyIj48L2E+ICcsCiAgICAgICAgICAgICAg ICAgICAnICAgICAgICA8L2Rpdj4gJywKQEAgLTc3Myw2ICs3NzcsNyBAQCBkZWZpbmUoWwogICAg ICAgICAgICAgICAgICAgICB2YXIgc2VsZiA9IHRoaXM7CiAgICAgICAgICAgICAgICAgICAgIHNl bGYuY2hhbmdlZFVzZXIgPSBudWxsOwogICAgICAgICAgICAgICAgICAgICBzZWxmLmludmFsaWRV c2VycyA9IHt9OworICAgICAgICAgICAgICAgICAgICBzZWxmLm5vbkZpbHRlciA9IHRoaXM7CiAK ICAgICAgICAgICAgICAgICAgICAgc2VsZi5vbignYWRkJywgc2VsZi5vbk1vZGVsQWRkKTsKICAg ICAgICAgICAgICAgICAgICAgc2VsZi5vbigncmVtb3ZlJywgc2VsZi5vbk1vZGVsUmVtb3ZlKTsK QEAgLTg2NCwxNCArODY5LDE0IEBAIGRlZmluZShbCiAgICAgICAgICAgICAgICAgfSksCiAgICAg ICAgICAgICAgICAgdXNlckNvbGxlY3Rpb24gPSB0aGlzLnVzZXJDb2xsZWN0aW9uID0gbmV3IFVz ZXJDb2xsZWN0aW9uKCksCiAgICAgICAgICAgICAgICAgaGVhZGVyID0KLSAgICAgICAgICAgICAg ICAgIGA8ZGl2IGNsYXNzPSJuYXZ0YWItaW5saW5lLWNvbnRyb2xzIj4KKyAgICAgICAgICAgICAg ICAgIGA8ZGl2IGNsYXNzPSJuYXZ0YWItaW5saW5lLWNvbnRyb2xzIHBnYWRtaW4tY29udHJvbHMi PgogICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJpbnB1dC1ncm91cCI+CiAgICAgICAg ICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iaW5wdXQtZ3JvdXAtcHJlcGVuZCI+CiAgICAgICAg ICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iaW5wdXQtZ3JvdXAtdGV4dCBmYSBmYS1zZWFy Y2giIGlkPSJsYWJlbFNlYXJjaCI+PC9zcGFuPgogICAgICAgICAgICAgICAgICAgICAgICAgPC9k aXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJzZWFyY2giIGNsYXNz PSJmb3JtLWNvbnRyb2wiIGlkPSJ0eHRHcmlkU2VhcmNoIiBwbGFjZWhvbGRlcj0iYCArIGdldHRl eHQoJ1NlYXJjaCcpICsgYCIgYXJpYS1sYWJlbD0iU2VhcmNoIiBhcmlhLWRlc2NyaWJlZGJ5PSJs YWJlbFNlYXJjaCIgLz4KICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgotICAgICAgICAg ICAgICAgICAgICAgICAgPGJ1dHRvbiBpZD0iYnRuX3JlZnJlc2giIHR5cGU9ImJ1dHRvbiIgY2xh c3M9ImJ0biBidG4tc2Vjb25kYXJ5IGJ0bi1uYXZ0YWItaW5saW5lIGFkZCIgdGl0bGU9IkFkZCI+ CisgICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIGlkPSJidG5fYWRkIiB0eXBlPSJidXR0 b24iIGNsYXNzPSJidG4gYnRuLXNlY29uZGFyeSBidG4tbmF2dGFiLWlubGluZSBhZGQiIHRpdGxl PSJBZGQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZmEgZmEtcGx1 cyAiPjwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPgogICAgICAgICAg ICAgICAgICAgICAgIDwvZGl2PgpAQCAtOTM1LDcgKzk0MCw3IEBAIGRlZmluZShbCiAgICAgICAg ICAgICAgIHRoaXMuZWxlbWVudHMuY29udGVudC5hcHBlbmRDaGlsZCh0aGlzLiRjb250ZW50WzBd KTsKIAogICAgICAgICAgICAgICAvLyBSZW5kZXIgU2VhcmNoIEZpbHRlcgotICAgICAgICAgICAg ICB1c2VyRmlsdGVyKHVzZXJDb2xsZWN0aW9uKS5zZXRDdXN0b21TZWFyY2hCb3goJCgnI3R4dEdy aWRTZWFyY2gnKSk7CisgICAgICAgICAgICAgIHVzZXJDb2xsZWN0aW9uLm5vbkZpbHRlciA9IHVz ZXJGaWx0ZXIodXNlckNvbGxlY3Rpb24pLnNldEN1c3RvbVNlYXJjaEJveCgkKCcjdHh0R3JpZFNl YXJjaCcpKS5zaGFkb3dDb2xsZWN0aW9uOwogICAgICAgICAgICAgICB1c2VyQ29sbGVjdGlvbi5m ZXRjaCgpOwogCiAgICAgICAgICAgICAgIHRoaXMuJGNvbnRlbnQuZmluZCgnYS5jbG9zZS1lcnJv cicpLm9uKCdjbGljaycsKCkgPT4gewpAQCAtOTQ1LDQ3ICs5NTAsMzMgQEAgZGVmaW5lKFsKIAog ICAgICAgICAgICAgICB0aGlzLiRjb250ZW50LmZpbmQoJ2J1dHRvbi5hZGQnKS5maXJzdCgpLm9u KCdjbGljaycsKGUpID0+IHsKICAgICAgICAgICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7Ci0g ICAgICAgICAgICAgICAgdmFyIGNhbkFkZFJvdyA9IHRydWU7Ci0KLSAgICAgICAgICAgICAgICBp ZiAoY2FuQWRkUm93KSB7Ci0gICAgICAgICAgICAgICAgICAvLyBUaGVyZSBzaG91bGQgYmUgb25s eSBvbmUgZW1wdHkgcm93LgotCi0gICAgICAgICAgICAgICAgICB2YXIgaXNFbXB0eSA9IGZhbHNl LAotICAgICAgICAgICAgICAgICAgICB1bnNhdmVkTW9kZWwgPSBudWxsOwotCi0gICAgICAgICAg ICAgICAgICB1c2VyQ29sbGVjdGlvbi5lYWNoKGZ1bmN0aW9uKG1vZGVsKSB7Ci0gICAgICAgICAg ICAgICAgICAgIGlmICghaXNFbXB0eSkgewotICAgICAgICAgICAgICAgICAgICAgIGlzRW1wdHkg PSBtb2RlbC5pc05ldygpOwotICAgICAgICAgICAgICAgICAgICAgIHVuc2F2ZWRNb2RlbCA9IG1v ZGVsOwotICAgICAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgICB9KTsKLSAgICAg ICAgICAgICAgICAgIHZhciBpZHg7Ci0KLSAgICAgICAgICAgICAgICAgIGlmIChpc0VtcHR5KSB7 Ci0gICAgICAgICAgICAgICAgICAgIGlkeCA9IHVzZXJDb2xsZWN0aW9uLmluZGV4T2YodW5zYXZl ZE1vZGVsKTsKLSAgICAgICAgICAgICAgICAgICAgdmFyIHJvdyA9IHZpZXcuYm9keS5yb3dzW2lk eF0uJGVsOwotCisgICAgICAgICAgICAgICAgLy8gVGhlcmUgc2hvdWxkIGJlIG9ubHkgb25lIGVt cHR5IHJvdy4KKyAgICAgICAgICAgICAgICBmb3IoY29uc3QgW2lkeCwgbW9kZWxdIG9mIHVzZXJD b2xsZWN0aW9uLm1vZGVscy5lbnRyaWVzKCkpIHsKKyAgICAgICAgICAgICAgICAgIGlmKG1vZGVs LmlzTmV3KCkpIHsKKyAgICAgICAgICAgICAgICAgICAgbGV0IHJvdyA9IHZpZXcuYm9keS5yb3dz W2lkeF0uJGVsOwogICAgICAgICAgICAgICAgICAgICByb3cuYWRkQ2xhc3MoJ25ldycpOwotICAg ICAgICAgICAgICAgICAgICAkKHJvdykucGdNYWtlVmlzaWJsZSgnYmFja2Zvcm0tdGFiJyk7Cisg ICAgICAgICAgICAgICAgICAgICQocm93KS5wZ01ha2VWaXNpYmxlKCdiYWNrZ3JpZCcpOworICAg ICAgICAgICAgICAgICAgICAkKHJvdykuZmluZCgnLmVtYWlsJykudHJpZ2dlcignY2xpY2snKTsK ICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgICAgICAgICAgICAgfQor ICAgICAgICAgICAgICAgIH0KIAotICAgICAgICAgICAgICAgICAgJCh2aWV3LmJvZHkuJGVsLmZp bmQoJCgndHIubmV3JykpKS5yZW1vdmVDbGFzcygnbmV3Jyk7Ci0gICAgICAgICAgICAgICAgICB2 YXIgbSA9IG5ldyhVc2VyTW9kZWwpKG51bGwsIHsKLSAgICAgICAgICAgICAgICAgICAgaGFuZGxl cjogdXNlckNvbGxlY3Rpb24sCi0gICAgICAgICAgICAgICAgICAgIHRvcDogdXNlckNvbGxlY3Rp b24sCi0gICAgICAgICAgICAgICAgICAgIGNvbGxlY3Rpb246IHVzZXJDb2xsZWN0aW9uLAotICAg ICAgICAgICAgICAgICAgfSk7Ci0gICAgICAgICAgICAgICAgICB1c2VyQ29sbGVjdGlvbi5hZGQo bSk7Ci0KLSAgICAgICAgICAgICAgICAgIGlkeCA9IHVzZXJDb2xsZWN0aW9uLmluZGV4T2YobSk7 Ci0gICAgICAgICAgICAgICAgICB2YXIgbmV3Um93ID0gdmlldy5ib2R5LnJvd3NbaWR4XS4kZWw7 CisgICAgICAgICAgICAgICAgJCh2aWV3LmJvZHkuJGVsLmZpbmQoJCgndHIubmV3JykpKS5yZW1v dmVDbGFzcygnbmV3Jyk7CisgICAgICAgICAgICAgICAgdmFyIG0gPSBuZXcoVXNlck1vZGVsKShu dWxsLCB7CisgICAgICAgICAgICAgICAgICBoYW5kbGVyOiB1c2VyQ29sbGVjdGlvbiwKKyAgICAg ICAgICAgICAgICAgIHRvcDogdXNlckNvbGxlY3Rpb24sCisgICAgICAgICAgICAgICAgICBjb2xs ZWN0aW9uOiB1c2VyQ29sbGVjdGlvbiwKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAg ICAgICB1c2VyQ29sbGVjdGlvbi5hZGQobSk7CiAKLSAgICAgICAgICAgICAgICAgIG5ld1Jvdy5h ZGRDbGFzcygnbmV3Jyk7Ci0gICAgICAgICAgICAgICAgICAkKG5ld1JvdykucGdNYWtlVmlzaWJs ZSgnYmFja2Zvcm0tdGFiJyk7Ci0gICAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAg ICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIHZhciBuZXdSb3cgPSB2aWV3LmJvZHkucm93 c1t1c2VyQ29sbGVjdGlvbi5pbmRleE9mKG0pXS4kZWw7CisgICAgICAgICAgICAgICAgbmV3Um93 LmFkZENsYXNzKCduZXcnKTsKKyAgICAgICAgICAgICAgICAkKG5ld1JvdykucGdNYWtlVmlzaWJs ZSgnYmFja2dyaWQnKTsKKyAgICAgICAgICAgICAgICAkKG5ld1JvdykuZmluZCgnLmVtYWlsJyku dHJpZ2dlcignY2xpY2snKTsKKyAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAg ICAgICAgIH0pOworCisgICAgICAgICAgICAgIGNvbW1vblV0aWxzLmZpbmRBbmRTZXRGb2N1cyh0 aGlzLiRjb250ZW50KTsKICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICBjYWxsYmFjazogZnVu Y3Rpb24oZSkgewogICAgICAgICAgICAgICBpZiAoZS5idXR0b24uZWxlbWVudC5uYW1lID09ICdk aWFsb2dfaGVscCcpIHsK --0000000000005e095b05a2e8a575--