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 1lUS1i-0005gX-3I for pgadmin-hackers@arkaria.postgresql.org; Thu, 08 Apr 2021 10:36:42 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.92) (envelope-from ) id 1lUS1h-0005J5-1l for pgadmin-hackers@arkaria.postgresql.org; Thu, 08 Apr 2021 10:36:41 +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 1lUS1g-0005Iy-If for pgadmin-hackers@lists.postgresql.org; Thu, 08 Apr 2021 10:36:40 +0000 Received: from mail-lf1-x135.google.com ([2a00:1450:4864:20::135]) by makus.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92) (envelope-from ) id 1lUS1d-0003mB-TP for pgadmin-hackers@postgresql.org; Thu, 08 Apr 2021 10:36:39 +0000 Received: by mail-lf1-x135.google.com with SMTP id w28so3159728lfn.2 for ; Thu, 08 Apr 2021 03:36:37 -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=3MrQOeRrsvUOuM21mV2lG3BZOS1TLYe78kPWC1CiTlQ=; b=Gp/0jMhpUhYijdRhk86mLUKpP+9LY5l+xXs8mJwNAyE53WISJDozN7M2yV+sCjR86y oUb6vbM6p1XJDBz24VhIyumOaB4oCqhU8UPpSfj9awZopA+E8AZ3iLTRj4Saj8UNiOL1 MPr9fiU6osMbPqL3TAyQTnxz0T9FW5YeZhi6p1H4RqsQwZjZH3QgAEFi+vM8GGSfR7XZ kjxxrRV0SiKjr0A2wmGjykA/2QZ58+Xg9SE0i5LCWH1ZDVfUDaBdUtMgkj+cFaYDA2Hj xhrpv2TarwMODpN6OWK4PGWtLXq045uz2NHGHe7EFf8l7JwjxvBv3u0XEa0jBU1BEYwz CQFA== 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=3MrQOeRrsvUOuM21mV2lG3BZOS1TLYe78kPWC1CiTlQ=; b=adPcYIBaADj6EG2UP5tYhvGHbv7VLn95g1ZAgTYk7VRXSxjNxObk6XFxDC0RnldJOa Qf5ze9MaqnBUhqwJ8EFTKtAsRi8J/wDqPCVGHFgFsUa8UhY2nYB9UA1lWYhf4egVZwwd 8DfYFQ0ItKnNV73/2c5KbvjrOQEzz1JYB9KcllwMQAeXOkWKA6NcRdJ6/w3aYZATiPfy 3hNnDXchVsdjuBzKx8KHadaqXSxiXK+UzsF8spVo+agvtC/FJPzTyV5zcQg6ut4aWVeK Q4G6Kzt6ak9qgFjJkPuAuB9ndrYcoa+bdJK66i0g2xYIrRaIsQ+v9T33+bGN2tH6/xIf E3tg== X-Gm-Message-State: AOAM533HNCTFhURM227ohBdjNV45Am+MhFFeS80fct3TChFAEONr3uXp KZucuyen9H/8xytzR0UzJ+iH/JHFQ+pA+g19C+96kQdblYwPV/j7w+ZCXocjX/SReQmkEkkT37h RxJRDskIghpB9JgAPx0ymQtFjWIjX1U0ZRzbu1mEik5vpaQUXYeqc3NZTCGf6MtmZ/JIOlWzDEM MkrIrp9X+wjdUa1Vd8QiGQolBlwSzVg3VZasdlVoEEEKdhnR/AyHFAk9NSksKoJUvuBA== X-Google-Smtp-Source: ABdhPJy5S0cGyzdYpvA+6JplMhHlGgdZn5ckGWuCgmHzjpIEdXBoZN1dtxYIt44m0cyKMBOIhXMzza7kNAKhdlbmtm8= X-Received: by 2002:a19:5008:: with SMTP id e8mr5584226lfb.571.1617878195996; Thu, 08 Apr 2021 03:36:35 -0700 (PDT) MIME-Version: 1.0 From: Aditya Toshniwal Date: Thu, 8 Apr 2021 16:05:59 +0530 Message-ID: Subject: [pgAdmin][patch] Linter for JSX files To: pgadmin-hackers Content-Type: multipart/mixed; boundary="00000000000029b9d705bf739f0d" X-CLOUD-SEC-AV-Info: enterprisedb,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: Archived-At: Precedence: bulk --00000000000029b9d705bf739f0d Content-Type: multipart/alternative; boundary="00000000000029b9d205bf739f0b" --00000000000029b9d205bf739f0b Content-Type: text/plain; charset="UTF-8" Hi Hackers, Attached patch contains the required changes for including JSX files in linter checks. Please review. -- Thanks, Aditya Toshniwal pgAdmin hacker | Sr. Software Engineer | *edbpostgres.com* "Don't Complain about Heat, Plant a TREE" --00000000000029b9d205bf739f0b Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
Hi Hackers,

Attached patch contains the required changes f= or including JSX files in linter checks.
Please review.

--
Thanks,
Aditya Toshni= wal
pgAdmin hacker=C2=A0| Sr. Software Engineer | = edbpostgres.com
"Don't Complain about Heat, Plant a TREE"<= /div>
--00000000000029b9d205bf739f0b-- --00000000000029b9d705bf739f0d Content-Type: application/octet-stream; name="linter_jsx.patch" Content-Disposition: attachment; filename="linter_jsx.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_kn8qvau10 ZGlmZiAtLWdpdCBhL3dlYi8uZXNsaW50cmMuanMgYi93ZWIvLmVzbGludHJjLmpzCmluZGV4IGNl ODljN2IwZS4uZGM1NTMxOTQ4IDEwMDY0NAotLS0gYS93ZWIvLmVzbGludHJjLmpzCisrKyBiL3dl Yi8uZXNsaW50cmMuanMKQEAgLTI5LDYgKzI5LDcgQEAgbW9kdWxlLmV4cG9ydHMgPSB7CiAgICAg J2JhYmVsT3B0aW9ucyc6IHsKICAgICAgICdwbHVnaW5zJzogWwogICAgICAgICAnQGJhYmVsL3Bs dWdpbi1zeW50YXgtanN4JywKKyAgICAgICAgJ0BiYWJlbC9wbHVnaW4tcHJvcG9zYWwtY2xhc3Mt cHJvcGVydGllcycsCiAgICAgICBdLAogICAgIH0sCiAgIH0sCmRpZmYgLS1naXQgYS93ZWIvcGFj a2FnZS5qc29uIGIvd2ViL3BhY2thZ2UuanNvbgppbmRleCBhMjNhNGRiMzEuLjNiZWZjOWFlZCAx MDA2NDQKLS0tIGEvd2ViL3BhY2thZ2UuanNvbgorKysgYi93ZWIvcGFja2FnZS5qc29uCkBAIC0x MjgsNyArMTI4LDcgQEAKICAgICAid2t4IjogIl4wLjUuMCIKICAgfSwKICAgInNjcmlwdHMiOiB7 Ci0gICAgImxpbnRlciI6ICJ5YXJuIGVzbGludCAtLW5vLWVzbGludHJjIC1jIC5lc2xpbnRyYy5q cyAtLWV4dCAuanMgLiIsCisgICAgImxpbnRlciI6ICJ5YXJuIGVzbGludCAtLW5vLWVzbGludHJj IC1jIC5lc2xpbnRyYy5qcyAtLWV4dCAuanMgIC0tZXh0IC5qc3ggLiIsCiAgICAgIndlYnBhY2tl ciI6ICJ5YXJuIHJ1biB3ZWJwYWNrIC0tY29uZmlnIHdlYnBhY2suY29uZmlnLmpzIC0tcHJvZ3Jl c3MiLAogICAgICJ3ZWJwYWNrZXI6d2F0Y2giOiAieWFybiBydW4gd2VicGFjayAtLWNvbmZpZyB3 ZWJwYWNrLmNvbmZpZy5qcyAtLXByb2dyZXNzIC0td2F0Y2giLAogICAgICJidW5kbGU6d2F0Y2gi OiAieWFybiBydW4gbGludGVyICYmIHlhcm4gcnVuIHdlYnBhY2tlcjp3YXRjaCIsCmRpZmYgLS1n aXQgYS93ZWIvcGdhZG1pbi9kYXNoYm9hcmQvc3RhdGljL2pzL0dyYXBocy5qc3ggYi93ZWIvcGdh ZG1pbi9kYXNoYm9hcmQvc3RhdGljL2pzL0dyYXBocy5qc3gKaW5kZXggN2Q5NDVkNGQzLi5kZDZi MWM5OGEgMTAwNjQ0Ci0tLSBhL3dlYi9wZ2FkbWluL2Rhc2hib2FyZC9zdGF0aWMvanMvR3JhcGhz LmpzeAorKysgYi93ZWIvcGdhZG1pbi9kYXNoYm9hcmQvc3RhdGljL2pzL0dyYXBocy5qc3gKQEAg LTI1MCw2ICsyNTAsNyBAQCBHcmFwaHMucHJvcFR5cGVzID0gewogICAgIFByb3BUeXBlcy5zdHJp bmcuaXNSZXF1aXJlZCwKICAgICBQcm9wVHlwZXMubnVtYmVyLmlzUmVxdWlyZWQsCiAgIF0pLAor ICBwYWdlVmlzaWJsZTogUHJvcFR5cGVzLmJvb2wsCiAgIGVuYWJsZVBvbGw6IFByb3BUeXBlcy5i b29sLAogfTsKIApAQCAtMzMwLDQwICszMzEsNDAgQEAgZXhwb3J0IGZ1bmN0aW9uIEdyYXBoc1dy YXBwZXIocHJvcHMpIHsKIAogICByZXR1cm4gKAogICAgIDw+Ci0gICAgPERhc2hib2FyZFJvdz4K LSAgICAgIDxEYXNoYm9hcmRSb3dDb2wgYnJlYWtwb2ludD0nbWQnIHBhcnRzPXs2fT4KLSAgICAg ICAgPENoYXJ0Q29udGFpbmVyIGlkPSdzZXNzaW9ucy1ncmFwaCcgdGl0bGU9e3Byb3BzLmlzRGF0 YWJhc2UgPyAgZ2V0dGV4dCgnRGF0YWJhc2Ugc2Vzc2lvbnMnKSA6IGdldHRleHQoJ1NlcnZlciBz ZXNzaW9ucycpfSBsZWdlbmRSZWY9e3Nlc3Npb25TdGF0c0xlZ2VuZFJlZn0gZXJyb3JNc2c9e3By b3BzLmVycm9yTXNnfT4KLSAgICAgICAgICA8TGluZUNoYXJ0IG9wdGlvbnM9e29wdGlvbnN9IGRh dGE9e3Byb3BzLnNlc3Npb25TdGF0c30gdXBkYXRlT3B0aW9ucz17dXBkYXRlT3B0aW9uc30KLSAg ICAgICAgICAgIG9uSW5pdD17b25Jbml0Q2FsbGJhY2soc2Vzc2lvblN0YXRzTGVnZW5kUmVmKX0v PgotICAgICAgICA8L0NoYXJ0Q29udGFpbmVyPgotICAgICAgPC9EYXNoYm9hcmRSb3dDb2w+Ci0g ICAgICA8RGFzaGJvYXJkUm93Q29sIGJyZWFrcG9pbnQ9J21kJyBwYXJ0cz17Nn0+Ci0gICAgICAg IDxDaGFydENvbnRhaW5lciBpZD0ndHBzLWdyYXBoJyB0aXRsZT17Z2V0dGV4dCgnVHJhbnNhY3Rp b25zIHBlciBzZWNvbmQnKX0gbGVnZW5kUmVmPXt0cHNTdGF0c0xlZ2VuZFJlZn0gZXJyb3JNc2c9 e3Byb3BzLmVycm9yTXNnfT4KLSAgICAgICAgICA8TGluZUNoYXJ0IG9wdGlvbnM9e29wdGlvbnN9 IGRhdGE9e3Byb3BzLnRwc1N0YXRzfSB1cGRhdGVPcHRpb25zPXt1cGRhdGVPcHRpb25zfQotICAg ICAgICAgICAgb25Jbml0PXtvbkluaXRDYWxsYmFjayh0cHNTdGF0c0xlZ2VuZFJlZil9Lz4KLSAg ICAgICAgPC9DaGFydENvbnRhaW5lcj4KLSAgICAgIDwvRGFzaGJvYXJkUm93Q29sPgotICAgIDwv RGFzaGJvYXJkUm93PgotICAgIDxEYXNoYm9hcmRSb3c+Ci0gICAgICA8RGFzaGJvYXJkUm93Q29s IGJyZWFrcG9pbnQ9J21kJyBwYXJ0cz17NH0+Ci0gICAgICAgIDxDaGFydENvbnRhaW5lciBpZD0n dGktZ3JhcGgnIHRpdGxlPXtnZXR0ZXh0KCdUdXBsZXMgaW4nKX0gbGVnZW5kUmVmPXt0aVN0YXRz TGVnZW5kUmVmfSBlcnJvck1zZz17cHJvcHMuZXJyb3JNc2d9PgotICAgICAgICAgIDxMaW5lQ2hh cnQgb3B0aW9ucz17b3B0aW9uc30gZGF0YT17cHJvcHMudGlTdGF0c30gdXBkYXRlT3B0aW9ucz17 dXBkYXRlT3B0aW9uc30KLSAgICAgICAgICAgIG9uSW5pdD17b25Jbml0Q2FsbGJhY2sodGlTdGF0 c0xlZ2VuZFJlZil9Lz4KLSAgICAgICAgPC9DaGFydENvbnRhaW5lcj4KLSAgICAgIDwvRGFzaGJv YXJkUm93Q29sPgotICAgICAgPERhc2hib2FyZFJvd0NvbCBicmVha3BvaW50PSdtZCcgcGFydHM9 ezR9PgotICAgICAgICA8Q2hhcnRDb250YWluZXIgaWQ9J3RvLWdyYXBoJyB0aXRsZT17Z2V0dGV4 dCgnVHVwbGVzIG91dCcpfSBsZWdlbmRSZWY9e3RvU3RhdHNMZWdlbmRSZWZ9IGVycm9yTXNnPXtw cm9wcy5lcnJvck1zZ30+Ci0gICAgICAgICAgPExpbmVDaGFydCBvcHRpb25zPXtvcHRpb25zfSBk YXRhPXtwcm9wcy50b1N0YXRzfSB1cGRhdGVPcHRpb25zPXt1cGRhdGVPcHRpb25zfQotICAgICAg ICAgICAgb25Jbml0PXtvbkluaXRDYWxsYmFjayh0b1N0YXRzTGVnZW5kUmVmKX0vPgotICAgICAg ICA8L0NoYXJ0Q29udGFpbmVyPgotICAgICAgPC9EYXNoYm9hcmRSb3dDb2w+Ci0gICAgICA8RGFz aGJvYXJkUm93Q29sIGJyZWFrcG9pbnQ9J21kJyBwYXJ0cz17NH0+Ci0gICAgICAgIDxDaGFydENv bnRhaW5lciBpZD0nYmlvLWdyYXBoJyB0aXRsZT17Z2V0dGV4dCgnQmxvY2sgSS9PJyl9IGxlZ2Vu ZFJlZj17YmlvU3RhdHNMZWdlbmRSZWZ9IGVycm9yTXNnPXtwcm9wcy5lcnJvck1zZ30+Ci0gICAg ICAgICAgPExpbmVDaGFydCBvcHRpb25zPXtvcHRpb25zfSBkYXRhPXtwcm9wcy5iaW9TdGF0c30g dXBkYXRlT3B0aW9ucz17dXBkYXRlT3B0aW9uc30KLSAgICAgICAgICAgIG9uSW5pdD17b25Jbml0 Q2FsbGJhY2soYmlvU3RhdHNMZWdlbmRSZWYpfS8+Ci0gICAgICAgIDwvQ2hhcnRDb250YWluZXI+ Ci0gICAgICA8L0Rhc2hib2FyZFJvd0NvbD4KLSAgICA8L0Rhc2hib2FyZFJvdz4KKyAgICAgIDxE YXNoYm9hcmRSb3c+CisgICAgICAgIDxEYXNoYm9hcmRSb3dDb2wgYnJlYWtwb2ludD0nbWQnIHBh cnRzPXs2fT4KKyAgICAgICAgICA8Q2hhcnRDb250YWluZXIgaWQ9J3Nlc3Npb25zLWdyYXBoJyB0 aXRsZT17cHJvcHMuaXNEYXRhYmFzZSA/ICBnZXR0ZXh0KCdEYXRhYmFzZSBzZXNzaW9ucycpIDog Z2V0dGV4dCgnU2VydmVyIHNlc3Npb25zJyl9IGxlZ2VuZFJlZj17c2Vzc2lvblN0YXRzTGVnZW5k UmVmfSBlcnJvck1zZz17cHJvcHMuZXJyb3JNc2d9PgorICAgICAgICAgICAgPExpbmVDaGFydCBv cHRpb25zPXtvcHRpb25zfSBkYXRhPXtwcm9wcy5zZXNzaW9uU3RhdHN9IHVwZGF0ZU9wdGlvbnM9 e3VwZGF0ZU9wdGlvbnN9CisgICAgICAgICAgICAgIG9uSW5pdD17b25Jbml0Q2FsbGJhY2soc2Vz c2lvblN0YXRzTGVnZW5kUmVmKX0vPgorICAgICAgICAgIDwvQ2hhcnRDb250YWluZXI+CisgICAg ICAgIDwvRGFzaGJvYXJkUm93Q29sPgorICAgICAgICA8RGFzaGJvYXJkUm93Q29sIGJyZWFrcG9p bnQ9J21kJyBwYXJ0cz17Nn0+CisgICAgICAgICAgPENoYXJ0Q29udGFpbmVyIGlkPSd0cHMtZ3Jh cGgnIHRpdGxlPXtnZXR0ZXh0KCdUcmFuc2FjdGlvbnMgcGVyIHNlY29uZCcpfSBsZWdlbmRSZWY9 e3Rwc1N0YXRzTGVnZW5kUmVmfSBlcnJvck1zZz17cHJvcHMuZXJyb3JNc2d9PgorICAgICAgICAg ICAgPExpbmVDaGFydCBvcHRpb25zPXtvcHRpb25zfSBkYXRhPXtwcm9wcy50cHNTdGF0c30gdXBk YXRlT3B0aW9ucz17dXBkYXRlT3B0aW9uc30KKyAgICAgICAgICAgICAgb25Jbml0PXtvbkluaXRD YWxsYmFjayh0cHNTdGF0c0xlZ2VuZFJlZil9Lz4KKyAgICAgICAgICA8L0NoYXJ0Q29udGFpbmVy PgorICAgICAgICA8L0Rhc2hib2FyZFJvd0NvbD4KKyAgICAgIDwvRGFzaGJvYXJkUm93PgorICAg ICAgPERhc2hib2FyZFJvdz4KKyAgICAgICAgPERhc2hib2FyZFJvd0NvbCBicmVha3BvaW50PSdt ZCcgcGFydHM9ezR9PgorICAgICAgICAgIDxDaGFydENvbnRhaW5lciBpZD0ndGktZ3JhcGgnIHRp dGxlPXtnZXR0ZXh0KCdUdXBsZXMgaW4nKX0gbGVnZW5kUmVmPXt0aVN0YXRzTGVnZW5kUmVmfSBl cnJvck1zZz17cHJvcHMuZXJyb3JNc2d9PgorICAgICAgICAgICAgPExpbmVDaGFydCBvcHRpb25z PXtvcHRpb25zfSBkYXRhPXtwcm9wcy50aVN0YXRzfSB1cGRhdGVPcHRpb25zPXt1cGRhdGVPcHRp b25zfQorICAgICAgICAgICAgICBvbkluaXQ9e29uSW5pdENhbGxiYWNrKHRpU3RhdHNMZWdlbmRS ZWYpfS8+CisgICAgICAgICAgPC9DaGFydENvbnRhaW5lcj4KKyAgICAgICAgPC9EYXNoYm9hcmRS b3dDb2w+CisgICAgICAgIDxEYXNoYm9hcmRSb3dDb2wgYnJlYWtwb2ludD0nbWQnIHBhcnRzPXs0 fT4KKyAgICAgICAgICA8Q2hhcnRDb250YWluZXIgaWQ9J3RvLWdyYXBoJyB0aXRsZT17Z2V0dGV4 dCgnVHVwbGVzIG91dCcpfSBsZWdlbmRSZWY9e3RvU3RhdHNMZWdlbmRSZWZ9IGVycm9yTXNnPXtw cm9wcy5lcnJvck1zZ30+CisgICAgICAgICAgICA8TGluZUNoYXJ0IG9wdGlvbnM9e29wdGlvbnN9 IGRhdGE9e3Byb3BzLnRvU3RhdHN9IHVwZGF0ZU9wdGlvbnM9e3VwZGF0ZU9wdGlvbnN9CisgICAg ICAgICAgICAgIG9uSW5pdD17b25Jbml0Q2FsbGJhY2sodG9TdGF0c0xlZ2VuZFJlZil9Lz4KKyAg ICAgICAgICA8L0NoYXJ0Q29udGFpbmVyPgorICAgICAgICA8L0Rhc2hib2FyZFJvd0NvbD4KKyAg ICAgICAgPERhc2hib2FyZFJvd0NvbCBicmVha3BvaW50PSdtZCcgcGFydHM9ezR9PgorICAgICAg ICAgIDxDaGFydENvbnRhaW5lciBpZD0nYmlvLWdyYXBoJyB0aXRsZT17Z2V0dGV4dCgnQmxvY2sg SS9PJyl9IGxlZ2VuZFJlZj17YmlvU3RhdHNMZWdlbmRSZWZ9IGVycm9yTXNnPXtwcm9wcy5lcnJv ck1zZ30+CisgICAgICAgICAgICA8TGluZUNoYXJ0IG9wdGlvbnM9e29wdGlvbnN9IGRhdGE9e3By b3BzLmJpb1N0YXRzfSB1cGRhdGVPcHRpb25zPXt1cGRhdGVPcHRpb25zfQorICAgICAgICAgICAg ICBvbkluaXQ9e29uSW5pdENhbGxiYWNrKGJpb1N0YXRzTGVnZW5kUmVmKX0vPgorICAgICAgICAg IDwvQ2hhcnRDb250YWluZXI+CisgICAgICAgIDwvRGFzaGJvYXJkUm93Q29sPgorICAgICAgPC9E YXNoYm9hcmRSb3c+CiAgICAgPC8+CiAgICk7CiB9CmRpZmYgLS1naXQgYS93ZWIvcGdhZG1pbi9z dGF0aWMvanMvY2hhcnRqcy9pbmRleC5qc3ggYi93ZWIvcGdhZG1pbi9zdGF0aWMvanMvY2hhcnRq cy9pbmRleC5qc3gKaW5kZXggMDIyZTYzODc1Li5kZDg4YjJhYmEgMTAwNjQ0Ci0tLSBhL3dlYi9w Z2FkbWluL3N0YXRpYy9qcy9jaGFydGpzL2luZGV4LmpzeAorKysgYi93ZWIvcGdhZG1pbi9zdGF0 aWMvanMvY2hhcnRqcy9pbmRleC5qc3gKQEAgLTgxLDggKzgxLDEwIEBAIGV4cG9ydCBkZWZhdWx0 IGZ1bmN0aW9uIEJhc2VDaGFydCh7dHlwZT0nbGluZScsIGlkLCBvcHRpb25zLCBkYXRhLCByZWRy YXc9ZmFsc2UsCiAKIEJhc2VDaGFydC5wcm9wVHlwZXMgPSB7CiAgIHR5cGU6IFByb3BUeXBlcy5z dHJpbmcuaXNSZXF1aXJlZCwKKyAgaWQ6IFByb3BUeXBlcy5zdHJpbmcsCiAgIGRhdGE6IFByb3BU eXBlcy5vYmplY3QuaXNSZXF1aXJlZCwKICAgb3B0aW9uczogUHJvcFR5cGVzLm9iamVjdCwKKyAg cmVkcmF3OiBQcm9wVHlwZXMuYm9vbCwKICAgdXBkYXRlT3B0aW9uczogUHJvcFR5cGVzLm9iamVj dCwKICAgb25Jbml0OiBQcm9wVHlwZXMuZnVuYywKICAgb25VcGRhdGU6IFByb3BUeXBlcy5mdW5j LApkaWZmIC0tZ2l0IGEvd2ViL3BnYWRtaW4vdG9vbHMvZXJkL3N0YXRpYy9qcy9lcmRfdG9vbC9s aW5rcy9PbmVUb01hbnlMaW5rLmpzeCBiL3dlYi9wZ2FkbWluL3Rvb2xzL2VyZC9zdGF0aWMvanMv ZXJkX3Rvb2wvbGlua3MvT25lVG9NYW55TGluay5qc3gKaW5kZXggMDEyMTgwNGQ4Li5jZDRlMzBh OGMgMTAwNjQ0Ci0tLSBhL3dlYi9wZ2FkbWluL3Rvb2xzL2VyZC9zdGF0aWMvanMvZXJkX3Rvb2wv bGlua3MvT25lVG9NYW55TGluay5qc3gKKysrIGIvd2ViL3BnYWRtaW4vdG9vbHMvZXJkL3N0YXRp Yy9qcy9lcmRfdG9vbC9saW5rcy9PbmVUb01hbnlMaW5rLmpzeApAQCAtMTgsNiArMTgsNyBAQCBp bXBvcnQgewogfSBmcm9tICdAcHJvamVjdHN0b3JtL3JlYWN0LWRpYWdyYW1zJzsKIGltcG9ydCB7 UG9pbnR9IGZyb20gJ0Bwcm9qZWN0c3Rvcm0vZ2VvbWV0cnknOwogaW1wb3J0IF8gZnJvbSAnbG9k YXNoJzsKK2ltcG9ydCBQcm9wVHlwZXMgZnJvbSAncHJvcC10eXBlcyc7CiAKIGV4cG9ydCBjb25z dCBPbmVUb01hbnlNb2RlbCA9IHsKICAgbG9jYWxfdGFibGVfdWlkOiB1bmRlZmluZWQsCkBAIC04 NCw3ICs4NSw3IEBAIGNvbnN0IEN1c3RvbUxpbmtFbmRXaWRnZXQgPSBwcm9wcyA9PiB7CiAgICAg ICAgICAgPHBvbHlsaW5lIGNsYXNzTmFtZT0ic3ZnLWxpbmstZWxlIiBwb2ludHM9Ii04LDAgMCwx NSAwLDAgMCwzMCAwLDE1IDgsMCIgZmlsbD0ibm9uZSIgc3Ryb2tlV2lkdGg9e3Byb3BzLndpZHRo fSAvPgogICAgICAgICA8Lz4KICAgICAgICk7Ci0gICAgfSBlbHNlIGlmICh0eXBlID09ICdvbmUn KSB7CisgICAgfSBlbHNlIGlmIChpdHlwZSA9PSAnb25lJykgewogICAgICAgcmV0dXJuICgKICAg ICAgICAgPHBvbHlsaW5lIGNsYXNzTmFtZT0ic3ZnLWxpbmstZWxlIiBwb2ludHM9Ii04LDE1IDAs MTUgMCwwIDAsMzAgMCwxNSA4LDE1IiBmaWxsPSJub25lIiBzdHJva2VXaWR0aD17cHJvcHMud2lk dGh9IC8+CiAgICAgICApOwpAQCAtMTAyLDYgKzEwMywxNSBAQCBjb25zdCBDdXN0b21MaW5rRW5k V2lkZ2V0ID0gcHJvcHMgPT4gewogICApOwogfTsKIAorQ3VzdG9tTGlua0VuZFdpZGdldC5wcm9w VHlwZXMgPSB7CisgIHBvaW50OiBQcm9wVHlwZXMuaW5zdGFuY2VPZihQb2ludE1vZGVsKS5pc1Jl cXVpcmVkLAorICByb3RhdGlvbjogUHJvcFR5cGVzLm51bWJlci5pc1JlcXVpcmVkLAorICB0eDog UHJvcFR5cGVzLm51bWJlci5pc1JlcXVpcmVkLAorICB0eTogUHJvcFR5cGVzLm51bWJlci5pc1Jl cXVpcmVkLAorICB0eXBlOiBQcm9wVHlwZXMub25lT2YoWydtYW55JywgJ29uZSddKS5pc1JlcXVp cmVkLAorICB3aWR0aDogUHJvcFR5cGVzLm51bWJlciwKK307CisKIGV4cG9ydCBjbGFzcyBPbmVU b01hbnlMaW5rV2lkZ2V0IGV4dGVuZHMgUmlnaHRBbmdsZUxpbmtXaWRnZXQgewogICBjb25zdHJ1 Y3Rvcihwcm9wcykgewogICAgIHN1cGVyKHByb3BzKTsKQEAgLTI0Myw3ICsyNTMsNyBAQCBleHBv cnQgY2xhc3MgT25lVG9NYW55TGlua1dpZGdldCBleHRlbmRzIFJpZ2h0QW5nbGVMaW5rV2lkZ2V0 IHsKICAgICAgICAgICAgICAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcignbW91c2V1cCcsIHRo aXMuaGFuZGxlVXApOwogICAgICAgICAgICAgICB9CiAgICAgICAgICAgICB9LAotICAgICAgICAg ICAgb25Nb3VzZUVudGVyOiAoZXZlbnQpID0+IHsKKyAgICAgICAgICAgIG9uTW91c2VFbnRlcjog KCkgPT4gewogICAgICAgICAgICAgICB0aGlzLnNldFN0YXRlKHsgc2VsZWN0ZWQ6IHRydWUgfSk7 CiAgICAgICAgICAgICAgIHRoaXMucHJvcHMubGluay5sYXN0SG92ZXJJbmRleE9mUGF0aCA9IGo7 CiAgICAgICAgICAgICB9LApkaWZmIC0tZ2l0IGEvd2ViL3BnYWRtaW4vdG9vbHMvZXJkL3N0YXRp Yy9qcy9lcmRfdG9vbC9ub2Rlcy9UYWJsZU5vZGUuanN4IGIvd2ViL3BnYWRtaW4vdG9vbHMvZXJk L3N0YXRpYy9qcy9lcmRfdG9vbC9ub2Rlcy9UYWJsZU5vZGUuanN4CmluZGV4IDk1YTYyNGQ4MS4u YzRjNjJiNGI0IDEwMDY0NAotLS0gYS93ZWIvcGdhZG1pbi90b29scy9lcmQvc3RhdGljL2pzL2Vy ZF90b29sL25vZGVzL1RhYmxlTm9kZS5qc3gKKysrIGIvd2ViL3BnYWRtaW4vdG9vbHMvZXJkL3N0 YXRpYy9qcy9lcmRfdG9vbC9ub2Rlcy9UYWJsZU5vZGUuanN4CkBAIC04LDcgKzgsNyBAQAogLy8v Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v Ly8KIAogaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JzsKLWltcG9ydCB7IERlZmF1bHROb2RlTW9k ZWwsIFBvcnRXaWRnZXQgfSBmcm9tICdAcHJvamVjdHN0b3JtL3JlYWN0LWRpYWdyYW1zJzsKK2lt cG9ydCB7IERlZmF1bHROb2RlTW9kZWwsIERpYWdyYW1FbmdpbmUsIFBvcnRXaWRnZXQgfSBmcm9t ICdAcHJvamVjdHN0b3JtL3JlYWN0LWRpYWdyYW1zJzsKIGltcG9ydCB7IEFic3RyYWN0UmVhY3RG YWN0b3J5IH0gZnJvbSAnQHByb2plY3RzdG9ybS9yZWFjdC1jYW52YXMtY29yZSc7CiBpbXBvcnQg XyBmcm9tICdsb2Rhc2gnOwogaW1wb3J0IHsgSWNvbkJ1dHRvbiwgRGV0YWlsc1RvZ2dsZUJ1dHRv biB9IGZyb20gJy4uL3VpX2NvbXBvbmVudHMvVG9vbEJhcic7CkBAIC0xNyw2ICsxNyw3IEBAIGlt cG9ydCBUYWJsZUljb24gZnJvbSAndG9wL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2Rh dGFiYXNlcy9zY2hlbWFzL3RhYmxlCiBpbXBvcnQgUHJpbWFyeUtleUljb24gZnJvbSAndG9wL2Jy b3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy9zY2hlbWFzL3RhYmxlcy9jb25z dHJhaW50cy9pbmRleF9jb25zdHJhaW50L3N0YXRpYy9pbWcvcHJpbWFyeV9rZXkuc3ZnJzsKIGlt cG9ydCBGb3JlaWduS2V5SWNvbiBmcm9tICd0b3AvYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZl cnMvZGF0YWJhc2VzL3NjaGVtYXMvdGFibGVzL2NvbnN0cmFpbnRzL2ZvcmVpZ25fa2V5L3N0YXRp Yy9pbWcvZm9yZWlnbl9rZXkuc3ZnJzsKIGltcG9ydCBDb2x1bW5JY29uIGZyb20gJ3RvcC9icm93 c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy9kYXRhYmFzZXMvc2NoZW1hcy90YWJsZXMvY29sdW1u cy9zdGF0aWMvaW1nL2NvbHVtbi5zdmcnOworaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5 cGVzJzsKIAogY29uc3QgVFlQRSA9ICd0YWJsZSc7CiAKQEAgLTEyNyw2ICsxMjgsMTEgQEAgZnVu Y3Rpb24gUm93SWNvbih7aWNvbn0pIHsKICAgKTsKIH0KIAorUm93SWNvbi5wcm9wVHlwZXMgPSB7 CisgIGljb246IFByb3BUeXBlcy5hbnkuaXNSZXF1aXJlZCwKK307CisKKwogZXhwb3J0IGNsYXNz IFRhYmxlTm9kZVdpZGdldCBleHRlbmRzIFJlYWN0LkNvbXBvbmVudCB7CiAgIGNvbnN0cnVjdG9y KHByb3BzKSB7CiAgICAgc3VwZXIocHJvcHMpOwpAQCAtMjA2LDYgKzIxMiwxMSBAQCBleHBvcnQg Y2xhc3MgVGFibGVOb2RlV2lkZ2V0IGV4dGVuZHMgUmVhY3QuQ29tcG9uZW50IHsKICAgfQogfQog CitUYWJsZU5vZGVXaWRnZXQucHJvcFR5cGVzID0geworICBub2RlOiBQcm9wVHlwZXMuaW5zdGFu Y2VPZihUYWJsZU5vZGVNb2RlbCksCisgIGVuZ2luZTogUHJvcFR5cGVzLmluc3RhbmNlT2YoRGlh Z3JhbUVuZ2luZSksCit9OworCiBleHBvcnQgY2xhc3MgVGFibGVOb2RlRmFjdG9yeSBleHRlbmRz IEFic3RyYWN0UmVhY3RGYWN0b3J5IHsKICAgY29uc3RydWN0b3IoKSB7CiAgICAgc3VwZXIoVFlQ RSk7CmRpZmYgLS1naXQgYS93ZWIvcGdhZG1pbi90b29scy9lcmQvc3RhdGljL2pzL2VyZF90b29s L3VpX2NvbXBvbmVudHMvQm9keVdpZGdldC5qc3ggYi93ZWIvcGdhZG1pbi90b29scy9lcmQvc3Rh dGljL2pzL2VyZF90b29sL3VpX2NvbXBvbmVudHMvQm9keVdpZGdldC5qc3gKaW5kZXggYjc5MjUy OTkyLi4wNWE1NWZjYTYgMTAwNjQ0Ci0tLSBhL3dlYi9wZ2FkbWluL3Rvb2xzL2VyZC9zdGF0aWMv anMvZXJkX3Rvb2wvdWlfY29tcG9uZW50cy9Cb2R5V2lkZ2V0LmpzeAorKysgYi93ZWIvcGdhZG1p bi90b29scy9lcmQvc3RhdGljL2pzL2VyZF90b29sL3VpX2NvbXBvbmVudHMvQm9keVdpZGdldC5q c3gKQEAgLTI5Miw3ICsyOTIsNyBAQCBleHBvcnQgZGVmYXVsdCBjbGFzcyBCb2R5V2lkZ2V0IGV4 dGVuZHMgUmVhY3QuQ29tcG9uZW50IHsKIAogICBjbG9zZVBhbmVsKCkgewogICAgIHdpbmRvdy5v bmJlZm9yZXVubG9hZCA9IG51bGw7Ci0gICAgdGhpcy5wcm9wcy5wYW5lbC5vZmYod2NEb2NrZXIu RVZFTlQuQ0xPU0lORyk7CisgICAgdGhpcy5wcm9wcy5wYW5lbC5vZmYod2luZG93LndjRG9ja2Vy LkVWRU5ULkNMT1NJTkcpOwogICAgIHRoaXMucHJvcHMucGdXaW5kb3cucGdBZG1pbi5Ccm93c2Vy LmRvY2tlci5yZW1vdmVQYW5lbCh0aGlzLnByb3BzLnBhbmVsKTsKICAgfQogCkBAIC01NTUsMTYg KzU1NSwxNiBAQCBleHBvcnQgZGVmYXVsdCBjbGFzcyBCb2R5V2lkZ2V0IGV4dGVuZHMgUmVhY3Qu Q29tcG9uZW50IHsKICAgICBsZXQgbm9kZXNSZWN0ID0gdGhpcy5kaWFncmFtLmdldEVuZ2luZSgp LmdldEJvdW5kaW5nTm9kZXNSZWN0KHRoaXMuZGlhZ3JhbS5nZXRNb2RlbCgpLmdldE5vZGVzKCks IDEwKTsKICAgICBsZXQgY2FudmFzUmVjdCA9IHRoaXMuY2FudmFzRWxlLmdldEJvdW5kaW5nQ2xp ZW50UmVjdCgpOwogICAgIGxldCBjYW52YXNUb3BMZWZ0UG9pbnQgPSB7Ci0gICAgICAgIHg6IGNh bnZhc1JlY3QubGVmdCwKLSAgICAgICAgeTogY2FudmFzUmVjdC50b3AKKyAgICAgIHg6IGNhbnZh c1JlY3QubGVmdCwKKyAgICAgIHk6IGNhbnZhc1JlY3QudG9wCiAgICAgfTsKICAgICBsZXQgbm9k ZUxheWVyVG9wTGVmdFBvaW50ID0gewotICAgICAgICB4OiBjYW52YXNUb3BMZWZ0UG9pbnQueCAr IHRoaXMuZGlhZ3JhbS5nZXRNb2RlbCgpLmdldE9mZnNldFgoKSwKLSAgICAgICAgeTogY2FudmFz VG9wTGVmdFBvaW50LnkgKyB0aGlzLmRpYWdyYW0uZ2V0TW9kZWwoKS5nZXRPZmZzZXRZKCkKKyAg ICAgIHg6IGNhbnZhc1RvcExlZnRQb2ludC54ICsgdGhpcy5kaWFncmFtLmdldE1vZGVsKCkuZ2V0 T2Zmc2V0WCgpLAorICAgICAgeTogY2FudmFzVG9wTGVmdFBvaW50LnkgKyB0aGlzLmRpYWdyYW0u Z2V0TW9kZWwoKS5nZXRPZmZzZXRZKCkKICAgICB9OwogICAgIGxldCBub2Rlc1JlY3RUb3BMZWZ0 UG9pbnQgPSB7Ci0gICAgICAgIHg6IG5vZGVMYXllclRvcExlZnRQb2ludC54ICsgbm9kZXNSZWN0 LmdldFRvcExlZnQoKS54LAotICAgICAgICB5OiBub2RlTGF5ZXJUb3BMZWZ0UG9pbnQueSArIG5v ZGVzUmVjdC5nZXRUb3BMZWZ0KCkueQorICAgICAgeDogbm9kZUxheWVyVG9wTGVmdFBvaW50Lngg KyBub2Rlc1JlY3QuZ2V0VG9wTGVmdCgpLngsCisgICAgICB5OiBub2RlTGF5ZXJUb3BMZWZ0UG9p bnQueSArIG5vZGVzUmVjdC5nZXRUb3BMZWZ0KCkueQogICAgIH07CiAgICAgbGV0IHByZXZUcmFu c2Zvcm0gPSB0aGlzLmNhbnZhc0VsZS5xdWVyeVNlbGVjdG9yKCdkaXYnKS5zdHlsZS50cmFuc2Zv cm07CiAgICAgdGhpcy5jYW52YXNFbGUuY2hpbGROb2Rlcy5mb3JFYWNoKChlbGUpPT57CkBAIC01 NzksMzcgKzU3OSwzNyBAQCBleHBvcnQgZGVmYXVsdCBjbGFzcyBCb2R5V2lkZ2V0IGV4dGVuZHMg UmVhY3QuQ29tcG9uZW50IHsKICAgICAvKiBodG1sMmNhbnZhcyBpZ25vcmVzIENTUyBzdHlsZXMs IHNldCB0aGUgQ1NTIHN0eWxlcyB0byBpbmxpbmUgKi8KICAgICBjb25zdCBzZXRTdmdJbmxpbmVT dHlsZXMgPSAodGFyZ2V0RWxlbSkgPT4gewogICAgICAgY29uc3QgdHJhbnNmb3JtUHJvcGVydGll cyA9IFsKLSAgICAgICAgICAnZmlsbCcsCi0gICAgICAgICAgJ2NvbG9yJywKLSAgICAgICAgICAn Zm9udC1zaXplJywKLSAgICAgICAgICAnc3Ryb2tlJywKLSAgICAgICAgICAnZm9udCcKKyAgICAg ICAgJ2ZpbGwnLAorICAgICAgICAnY29sb3InLAorICAgICAgICAnZm9udC1zaXplJywKKyAgICAg ICAgJ3N0cm9rZScsCisgICAgICAgICdmb250JwogICAgICAgXTsKLSAgICAgIGxldCBzdmdFbGVt cyA9IEFycmF5LmZyb20odGFyZ2V0RWxlbS5nZXRFbGVtZW50c0J5VGFnTmFtZSgic3ZnIikpOwor ICAgICAgbGV0IHN2Z0VsZW1zID0gQXJyYXkuZnJvbSh0YXJnZXRFbGVtLmdldEVsZW1lbnRzQnlU YWdOYW1lKCdzdmcnKSk7CiAgICAgICBmb3IgKGxldCBzdmdFbGUgb2Ygc3ZnRWxlbXMpIHsKLSAg ICAgICAgICBzdmdFbGUuc2V0QXR0cmlidXRlKCd3aWR0aCcsIHN2Z0VsZS5jbGllbnRXaWR0aCk7 Ci0gICAgICAgICAgc3ZnRWxlLnNldEF0dHJpYnV0ZSgnaGVpZ2h0Jywgc3ZnRWxlLmNsaWVudEhl aWdodCk7Ci0gICAgICAgICAgLyogV3JhcCB0aGUgU1ZHIGluIGEgZGl2IHRhZyBzbyB0aGF0IHRy YW5zZm9ybXMgYXJlIGNvbnNpc3RlbnQgd2l0aCBodG1sICovCi0gICAgICAgICAgbGV0IHdyYXAg PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTsKLSAgICAgICAgICB3cmFwLnNldEF0dHJp YnV0ZSgnc3R5bGUnLCBzdmdFbGUuZ2V0QXR0cmlidXRlKCdzdHlsZScpKTsKLSAgICAgICAgICBz dmdFbGUuc2V0QXR0cmlidXRlKCdzdHlsZScsIG51bGwpOwotICAgICAgICAgIHN2Z0VsZS5wYXJl bnROb2RlLmFwcGVuZENoaWxkKHdyYXApOwotICAgICAgICAgIHdyYXAuYXBwZW5kQ2hpbGQoc3Zn RWxlKTsKLSAgICAgICAgICByZWN1cnNlRWxlbWVudENoaWxkcmVuKHN2Z0VsZSk7CisgICAgICAg IHN2Z0VsZS5zZXRBdHRyaWJ1dGUoJ3dpZHRoJywgc3ZnRWxlLmNsaWVudFdpZHRoKTsKKyAgICAg ICAgc3ZnRWxlLnNldEF0dHJpYnV0ZSgnaGVpZ2h0Jywgc3ZnRWxlLmNsaWVudEhlaWdodCk7Cisg ICAgICAgIC8qIFdyYXAgdGhlIFNWRyBpbiBhIGRpdiB0YWcgc28gdGhhdCB0cmFuc2Zvcm1zIGFy ZSBjb25zaXN0ZW50IHdpdGggaHRtbCAqLworICAgICAgICBsZXQgd3JhcCA9IGRvY3VtZW50LmNy ZWF0ZUVsZW1lbnQoJ2RpdicpOworICAgICAgICB3cmFwLnNldEF0dHJpYnV0ZSgnc3R5bGUnLCBz dmdFbGUuZ2V0QXR0cmlidXRlKCdzdHlsZScpKTsKKyAgICAgICAgc3ZnRWxlLnNldEF0dHJpYnV0 ZSgnc3R5bGUnLCBudWxsKTsKKyAgICAgICAgc3ZnRWxlLnBhcmVudE5vZGUuYXBwZW5kQ2hpbGQo d3JhcCk7CisgICAgICAgIHdyYXAuYXBwZW5kQ2hpbGQoc3ZnRWxlKTsKKyAgICAgICAgcmVjdXJz ZUVsZW1lbnRDaGlsZHJlbihzdmdFbGUpOwogICAgICAgfQogICAgICAgZnVuY3Rpb24gcmVjdXJz ZUVsZW1lbnRDaGlsZHJlbihub2RlKSB7Ci0gICAgICAgICAgaWYgKCFub2RlLnN0eWxlKQotICAg ICAgICAgICAgICByZXR1cm47CisgICAgICAgIGlmICghbm9kZS5zdHlsZSkKKyAgICAgICAgICBy ZXR1cm47CiAKLSAgICAgICAgICBsZXQgc3R5bGVzID0gZ2V0Q29tcHV0ZWRTdHlsZShub2RlKTsK LSAgICAgICAgICBmb3IgKGxldCB0cmFuc2Zvcm1Qcm9wZXJ0eSBvZiB0cmFuc2Zvcm1Qcm9wZXJ0 aWVzKSB7Ci0gICAgICAgICAgICAgIG5vZGUuc3R5bGVbdHJhbnNmb3JtUHJvcGVydHldID0gc3R5 bGVzW3RyYW5zZm9ybVByb3BlcnR5XTsKLSAgICAgICAgICB9Ci0gICAgICAgICAgZm9yIChsZXQg Y2hpbGQgb2YgQXJyYXkuZnJvbShub2RlLmNoaWxkTm9kZXMpKSB7Ci0gICAgICAgICAgICAgIHJl Y3Vyc2VFbGVtZW50Q2hpbGRyZW4oY2hpbGQpOwotICAgICAgICAgIH0KKyAgICAgICAgbGV0IHN0 eWxlcyA9IGdldENvbXB1dGVkU3R5bGUobm9kZSk7CisgICAgICAgIGZvciAobGV0IHRyYW5zZm9y bVByb3BlcnR5IG9mIHRyYW5zZm9ybVByb3BlcnRpZXMpIHsKKyAgICAgICAgICBub2RlLnN0eWxl W3RyYW5zZm9ybVByb3BlcnR5XSA9IHN0eWxlc1t0cmFuc2Zvcm1Qcm9wZXJ0eV07CisgICAgICAg IH0KKyAgICAgICAgZm9yIChsZXQgY2hpbGQgb2YgQXJyYXkuZnJvbShub2RlLmNoaWxkTm9kZXMp KSB7CisgICAgICAgICAgcmVjdXJzZUVsZW1lbnRDaGlsZHJlbihjaGlsZCk7CisgICAgICAgIH0K ICAgICAgIH0KLSAgICB9CisgICAgfTsKIAogICAgIHNldFRpbWVvdXQoKCk9PnsKICAgICAgIGh0 bWwyY2FudmFzKHRoaXMuY2FudmFzRWxlLCB7CkBAIC03MjAsNyArNzIwLDcgQEAgZXhwb3J0IGRl ZmF1bHQgY2xhc3MgQm9keVdpZGdldCBleHRlbmRzIFJlYWN0LkNvbXBvbmVudCB7CiAgICAgfQog ICB9CiAKLSAgb25Ob3RlQ2xpY2soZSkgeworICBvbk5vdGVDbGljaygpIHsKICAgICBsZXQgbm90 ZU5vZGUgPSB0aGlzLmRpYWdyYW0uZ2V0U2VsZWN0ZWROb2RlcygpWzBdOwogICAgIHRoaXMuc2hv d05vdGUobm90ZU5vZGUpOwogICB9CkBAIC04MTAsNjUgKzgxMCw2NSBAQCBleHBvcnQgZGVmYXVs dCBjbGFzcyBCb2R5V2lkZ2V0IGV4dGVuZHMgUmVhY3QuQ29tcG9uZW50IHsKICAgcmVuZGVyKCkg ewogICAgIHJldHVybiAoCiAgICAgICA8PgotICAgICAgPFRvb2xCYXIgaWQ9ImJ0bi10b29sYmFy Ij4KLSAgICAgICAgPEJ1dHRvbkdyb3VwPgotICAgICAgICAgIDxJY29uQnV0dG9uIGlkPSJvcGVu LWZpbGUiIGljb249ImZhIGZhLWZvbGRlci1vcGVuIiBvbkNsaWNrPXt0aGlzLm9uTG9hZERpYWdy YW19IHRpdGxlPXtnZXR0ZXh0KCdMb2FkIGZyb20gZmlsZScpfQotICAgICAgICAgICAgc2hvcnRj dXQ9e3RoaXMuc3RhdGUucHJlZmVyZW5jZXMub3Blbl9wcm9qZWN0fS8+Ci0gICAgICAgICAgPElj b25CdXR0b24gaWQ9InNhdmUtZXJkIiBpY29uPSJmYSBmYS1zYXZlIiBvbkNsaWNrPXsoKT0+e3Ro aXMub25TYXZlRGlhZ3JhbSgpO319IHRpdGxlPXtnZXR0ZXh0KCdTYXZlIHByb2plY3QnKX0KLSAg ICAgICAgICAgIHNob3J0Y3V0PXt0aGlzLnN0YXRlLnByZWZlcmVuY2VzLnNhdmVfcHJvamVjdH0g ZGlzYWJsZWQ9eyF0aGlzLnN0YXRlLmRpcnR5fS8+Ci0gICAgICAgICAgPEljb25CdXR0b24gaWQ9 InNhdmUtYXMtZXJkIiBpY29uPSJmYSBmYS1zaGFyZS1zcXVhcmUiIG9uQ2xpY2s9e3RoaXMub25T YXZlQXNEaWFncmFtfSB0aXRsZT17Z2V0dGV4dCgnU2F2ZSBhcycpfQotICAgICAgICAgICAgc2hv cnRjdXQ9e3RoaXMuc3RhdGUucHJlZmVyZW5jZXMuc2F2ZV9wcm9qZWN0X2FzfS8+Ci0gICAgICAg IDwvQnV0dG9uR3JvdXA+Ci0gICAgICAgIDxCdXR0b25Hcm91cD4KLSAgICAgICAgICA8SWNvbkJ1 dHRvbiBpZD0ic2F2ZS1zcWwiIGljb249ImZhIGZhLWZpbGUtY29kZSIgb25DbGljaz17dGhpcy5v blNRTENsaWNrfSB0aXRsZT17Z2V0dGV4dCgnR2VuZXJhdGUgU1FMJyl9Ci0gICAgICAgICAgICBz aG9ydGN1dD17dGhpcy5zdGF0ZS5wcmVmZXJlbmNlcy5nZW5lcmF0ZV9zcWx9Lz4KLSAgICAgICAg ICA8SWNvbkJ1dHRvbiBpZD0ic2F2ZS1pbWFnZSIgaWNvbj0iZmEgZmEtZmlsZS1pbWFnZSIgb25D bGljaz17dGhpcy5vbkltYWdlQ2xpY2t9IHRpdGxlPXtnZXR0ZXh0KCdEb3dubG9hZCBpbWFnZScp fQotICAgICAgICAgICAgc2hvcnRjdXQ9e3RoaXMuc3RhdGUucHJlZmVyZW5jZXMuZG93bmxvYWRf aW1hZ2V9Lz4KLSAgICAgICAgPC9CdXR0b25Hcm91cD4KLSAgICAgICAgPEJ1dHRvbkdyb3VwPgot ICAgICAgICAgIDxJY29uQnV0dG9uIGlkPSJhZGQtbm9kZSIgaWNvbj0iZmEgZmEtcGx1cy1zcXVh cmUiIG9uQ2xpY2s9e3RoaXMub25BZGROZXdOb2RlfSB0aXRsZT17Z2V0dGV4dCgnQWRkIHRhYmxl Jyl9Ci0gICAgICAgICAgICBzaG9ydGN1dD17dGhpcy5zdGF0ZS5wcmVmZXJlbmNlcy5hZGRfdGFi bGV9Lz4KLSAgICAgICAgICA8SWNvbkJ1dHRvbiBpZD0iZWRpdC1ub2RlIiBpY29uPSJmYSBmYS1w ZW5jaWwtYWx0IiBvbkNsaWNrPXt0aGlzLm9uRWRpdE5vZGV9IHRpdGxlPXtnZXR0ZXh0KCdFZGl0 IHRhYmxlJyl9Ci0gICAgICAgICAgICBzaG9ydGN1dD17dGhpcy5zdGF0ZS5wcmVmZXJlbmNlcy5l ZGl0X3RhYmxlfSBkaXNhYmxlZD17IXRoaXMuc3RhdGUuc2luZ2xlX25vZGVfc2VsZWN0ZWQgfHwg dGhpcy5zdGF0ZS5zaW5nbGVfbGlua19zZWxlY3RlZH0vPgotICAgICAgICAgIDxJY29uQnV0dG9u IGlkPSJjbG9uZS1ub2RlIiBpY29uPSJmYSBmYS1jbG9uZSIgb25DbGljaz17dGhpcy5vbkNsb25l Tm9kZX0gdGl0bGU9e2dldHRleHQoJ0Nsb25lIHRhYmxlJyl9Ci0gICAgICAgICAgICBzaG9ydGN1 dD17dGhpcy5zdGF0ZS5wcmVmZXJlbmNlcy5jbG9uZV90YWJsZX0gZGlzYWJsZWQ9eyF0aGlzLnN0 YXRlLnNpbmdsZV9ub2RlX3NlbGVjdGVkIHx8IHRoaXMuc3RhdGUuc2luZ2xlX2xpbmtfc2VsZWN0 ZWR9Lz4KLSAgICAgICAgICA8SWNvbkJ1dHRvbiBpZD0iZGVsZXRlLW5vZGUiIGljb249ImZhIGZh LXRyYXNoLWFsdCIgb25DbGljaz17dGhpcy5vbkRlbGV0ZU5vZGV9IHRpdGxlPXtnZXR0ZXh0KCdE cm9wIHRhYmxlL2xpbmsnKX0KLSAgICAgICAgICAgIHNob3J0Y3V0PXt0aGlzLnN0YXRlLnByZWZl cmVuY2VzLmRyb3BfdGFibGV9IGRpc2FibGVkPXshdGhpcy5zdGF0ZS5hbnlfaXRlbV9zZWxlY3Rl ZH0vPgotICAgICAgICA8L0J1dHRvbkdyb3VwPgotICAgICAgICA8QnV0dG9uR3JvdXA+Ci0gICAg ICAgICAgPEljb25CdXR0b24gaWQ9ImFkZC1vbmV0b21hbnkiIHRleHQ9IjFNIiBvbkNsaWNrPXt0 aGlzLm9uT25lVG9NYW55Q2xpY2t9IHRpdGxlPXtnZXR0ZXh0KCdPbmUtdG8tTWFueSBsaW5rJyl9 Ci0gICAgICAgICAgICBzaG9ydGN1dD17dGhpcy5zdGF0ZS5wcmVmZXJlbmNlcy5vbmVfdG9fbWFu eX0gZGlzYWJsZWQ9eyF0aGlzLnN0YXRlLnNpbmdsZV9ub2RlX3NlbGVjdGVkIHx8IHRoaXMuc3Rh dGUuc2luZ2xlX2xpbmtfc2VsZWN0ZWR9Lz4KLSAgICAgICAgICA8SWNvbkJ1dHRvbiBpZD0iYWRk LW1hbnl0b21hbnkiIHRleHQ9Ik1NIiBvbkNsaWNrPXt0aGlzLm9uTWFueVRvTWFueUNsaWNrfSB0 aXRsZT17Z2V0dGV4dCgnTWFueS10by1NYW55IGxpbmsnKX0KLSAgICAgICAgICAgIHNob3J0Y3V0 PXt0aGlzLnN0YXRlLnByZWZlcmVuY2VzLm1hbnlfdG9fbWFueX0gZGlzYWJsZWQ9eyF0aGlzLnN0 YXRlLnNpbmdsZV9ub2RlX3NlbGVjdGVkIHx8IHRoaXMuc3RhdGUuc2luZ2xlX2xpbmtfc2VsZWN0 ZWR9Lz4KLSAgICAgICAgPC9CdXR0b25Hcm91cD4KLSAgICAgICAgPEJ1dHRvbkdyb3VwPgotICAg ICAgICAgIDxJY29uQnV0dG9uIGlkPSJhZGQtbm90ZSIgaWNvbj0iZmEgZmEtc3RpY2t5LW5vdGUi IG9uQ2xpY2s9e3RoaXMub25Ob3RlQ2xpY2t9IHRpdGxlPXtnZXR0ZXh0KCdBZGQvRWRpdCBub3Rl Jyl9Ci0gICAgICAgICAgICBzaG9ydGN1dD17dGhpcy5zdGF0ZS5wcmVmZXJlbmNlcy5hZGRfZWRp dF9ub3RlfSBkaXNhYmxlZD17IXRoaXMuc3RhdGUuc2luZ2xlX25vZGVfc2VsZWN0ZWQgfHwgdGhp cy5zdGF0ZS5zaW5nbGVfbGlua19zZWxlY3RlZH0vPgotICAgICAgICAgIDxJY29uQnV0dG9uIGlk PSJhdXRvLWFsaWduIiBpY29uPSJmYSBmYS1tYWdpYyIgb25DbGljaz17dGhpcy5vbkF1dG9EaXN0 cmlidXRlfSB0aXRsZT17Z2V0dGV4dCgnQXV0byBhbGlnbicpfQotICAgICAgICAgICAgc2hvcnRj dXQ9e3RoaXMuc3RhdGUucHJlZmVyZW5jZXMuYXV0b19hbGlnbn0gLz4KLSAgICAgICAgICA8RGV0 YWlsc1RvZ2dsZUJ1dHRvbiBpZD0ibW9yZS1kZXRhaWxzIiBvbkNsaWNrPXt0aGlzLm9uRGV0YWls c1RvZ2dsZX0gc2hvd0RldGFpbHM9e3RoaXMuc3RhdGUuc2hvd19kZXRhaWxzfQotICAgICAgICAg ICAgc2hvcnRjdXQ9e3RoaXMuc3RhdGUucHJlZmVyZW5jZXMuc2hvd19kZXRhaWxzfSAvPgotICAg ICAgICA8L0J1dHRvbkdyb3VwPgotICAgICAgICA8QnV0dG9uR3JvdXA+Ci0gICAgICAgICAgPElj b25CdXR0b24gaWQ9Inpvb20tdG8tZml0IiBpY29uPSJmYSBmYS1jb21wcmVzcyIgb25DbGljaz17 dGhpcy5kaWFncmFtLnpvb21Ub0ZpdH0gdGl0bGU9e2dldHRleHQoJ1pvb20gdG8gZml0Jyl9Ci0g ICAgICAgICAgICBzaG9ydGN1dD17dGhpcy5zdGF0ZS5wcmVmZXJlbmNlcy56b29tX3RvX2ZpdH0v PgotICAgICAgICAgIDxJY29uQnV0dG9uIGlkPSJ6b29tLWluIiBpY29uPSJmYSBmYS1zZWFyY2gt cGx1cyIgb25DbGljaz17dGhpcy5kaWFncmFtLnpvb21Jbn0gdGl0bGU9e2dldHRleHQoJ1pvb20g aW4nKX0KLSAgICAgICAgICAgIHNob3J0Y3V0PXt0aGlzLnN0YXRlLnByZWZlcmVuY2VzLnpvb21f aW59Lz4KLSAgICAgICAgICA8SWNvbkJ1dHRvbiBpZD0iem9vbS1vdXQiIGljb249ImZhIGZhLXNl YXJjaC1taW51cyIgb25DbGljaz17dGhpcy5kaWFncmFtLnpvb21PdXR9IHRpdGxlPXtnZXR0ZXh0 KCdab29tIG91dCcpfQotICAgICAgICAgICAgc2hvcnRjdXQ9e3RoaXMuc3RhdGUucHJlZmVyZW5j ZXMuem9vbV9vdXR9Lz4KLSAgICAgICAgPC9CdXR0b25Hcm91cD4KLSAgICAgICAgPEJ1dHRvbkdy b3VwPgotICAgICAgICAgIDxJY29uQnV0dG9uIGlkPSJoZWxwIiBpY29uPSJmYSBmYS1xdWVzdGlv biIgb25DbGljaz17dGhpcy5vbkhlbHBDbGlja30gdGl0bGU9e2dldHRleHQoJ0hlbHAnKX0gLz4K LSAgICAgICAgPC9CdXR0b25Hcm91cD4KLSAgICAgIDwvVG9vbEJhcj4KLSAgICAgIDxDb25uZWN0 aW9uQmFyIHN0YXR1c0lkPSJidG4tY29ubi1zdGF0dXMiIHN0YXR1cz17dGhpcy5zdGF0ZS5jb25u X3N0YXR1c30gYmdjb2xvcj17dGhpcy5wcm9wcy5wYXJhbXMuYmdjb2xvcn0KLSAgICAgICAgZmdj b2xvcj17dGhpcy5wcm9wcy5wYXJhbXMuZmdjb2xvcn0gdGl0bGU9e3RoaXMucHJvcHMucGFyYW1z LnRpdGxlfS8+Ci0gICAgICA8RmxvYXRpbmdOb3RlIG9wZW49e3RoaXMuc3RhdGUubm90ZV9vcGVu fSBvbkNsb3NlPXt0aGlzLm9uTm90ZUNsb3NlfQotICAgICAgICByZWZlcmVuY2U9e3RoaXMubm90 ZVJlZkVsZX0gbm90ZU5vZGU9e3RoaXMuc3RhdGUubm90ZV9ub2RlfSBhcHBlbmRUbz17dGhpcy5k aWFncmFtQ29udGFpbmVyUmVmLmN1cnJlbnR9IHJvd3M9ezh9Lz4KLSAgICAgIDxkaXYgY2xhc3NO YW1lPSJkaWFncmFtLWNvbnRhaW5lciIgcmVmPXt0aGlzLmRpYWdyYW1Db250YWluZXJSZWZ9Pgot ICAgICAgICA8TG9hZGVyIG1lc3NhZ2U9e3RoaXMuc3RhdGUubG9hZGluZ19tc2d9IGF1dG9FbGxp cHNpcz17dHJ1ZX0vPgotICAgICAgICA8Q2FudmFzV2lkZ2V0IGNsYXNzTmFtZT0iZGlhZ3JhbS1j YW52YXMgZmxleC1ncm93LTEiIHJlZj17KGVsZSk9Pnt0aGlzLmNhbnZhc0VsZSA9IGVsZT8ucmVm Py5jdXJyZW50O319IGVuZ2luZT17dGhpcy5kaWFncmFtLmdldEVuZ2luZSgpfSAvPgotICAgICAg PC9kaXY+CisgICAgICAgIDxUb29sQmFyIGlkPSJidG4tdG9vbGJhciI+CisgICAgICAgICAgPEJ1 dHRvbkdyb3VwPgorICAgICAgICAgICAgPEljb25CdXR0b24gaWQ9Im9wZW4tZmlsZSIgaWNvbj0i ZmEgZmEtZm9sZGVyLW9wZW4iIG9uQ2xpY2s9e3RoaXMub25Mb2FkRGlhZ3JhbX0gdGl0bGU9e2dl dHRleHQoJ0xvYWQgZnJvbSBmaWxlJyl9CisgICAgICAgICAgICAgIHNob3J0Y3V0PXt0aGlzLnN0 YXRlLnByZWZlcmVuY2VzLm9wZW5fcHJvamVjdH0vPgorICAgICAgICAgICAgPEljb25CdXR0b24g aWQ9InNhdmUtZXJkIiBpY29uPSJmYSBmYS1zYXZlIiBvbkNsaWNrPXsoKT0+e3RoaXMub25TYXZl RGlhZ3JhbSgpO319IHRpdGxlPXtnZXR0ZXh0KCdTYXZlIHByb2plY3QnKX0KKyAgICAgICAgICAg ICAgc2hvcnRjdXQ9e3RoaXMuc3RhdGUucHJlZmVyZW5jZXMuc2F2ZV9wcm9qZWN0fSBkaXNhYmxl ZD17IXRoaXMuc3RhdGUuZGlydHl9Lz4KKyAgICAgICAgICAgIDxJY29uQnV0dG9uIGlkPSJzYXZl LWFzLWVyZCIgaWNvbj0iZmEgZmEtc2hhcmUtc3F1YXJlIiBvbkNsaWNrPXt0aGlzLm9uU2F2ZUFz RGlhZ3JhbX0gdGl0bGU9e2dldHRleHQoJ1NhdmUgYXMnKX0KKyAgICAgICAgICAgICAgc2hvcnRj dXQ9e3RoaXMuc3RhdGUucHJlZmVyZW5jZXMuc2F2ZV9wcm9qZWN0X2FzfS8+CisgICAgICAgICAg PC9CdXR0b25Hcm91cD4KKyAgICAgICAgICA8QnV0dG9uR3JvdXA+CisgICAgICAgICAgICA8SWNv bkJ1dHRvbiBpZD0ic2F2ZS1zcWwiIGljb249ImZhIGZhLWZpbGUtY29kZSIgb25DbGljaz17dGhp cy5vblNRTENsaWNrfSB0aXRsZT17Z2V0dGV4dCgnR2VuZXJhdGUgU1FMJyl9CisgICAgICAgICAg ICAgIHNob3J0Y3V0PXt0aGlzLnN0YXRlLnByZWZlcmVuY2VzLmdlbmVyYXRlX3NxbH0vPgorICAg ICAgICAgICAgPEljb25CdXR0b24gaWQ9InNhdmUtaW1hZ2UiIGljb249ImZhIGZhLWZpbGUtaW1h Z2UiIG9uQ2xpY2s9e3RoaXMub25JbWFnZUNsaWNrfSB0aXRsZT17Z2V0dGV4dCgnRG93bmxvYWQg aW1hZ2UnKX0KKyAgICAgICAgICAgICAgc2hvcnRjdXQ9e3RoaXMuc3RhdGUucHJlZmVyZW5jZXMu ZG93bmxvYWRfaW1hZ2V9Lz4KKyAgICAgICAgICA8L0J1dHRvbkdyb3VwPgorICAgICAgICAgIDxC dXR0b25Hcm91cD4KKyAgICAgICAgICAgIDxJY29uQnV0dG9uIGlkPSJhZGQtbm9kZSIgaWNvbj0i ZmEgZmEtcGx1cy1zcXVhcmUiIG9uQ2xpY2s9e3RoaXMub25BZGROZXdOb2RlfSB0aXRsZT17Z2V0 dGV4dCgnQWRkIHRhYmxlJyl9CisgICAgICAgICAgICAgIHNob3J0Y3V0PXt0aGlzLnN0YXRlLnBy ZWZlcmVuY2VzLmFkZF90YWJsZX0vPgorICAgICAgICAgICAgPEljb25CdXR0b24gaWQ9ImVkaXQt bm9kZSIgaWNvbj0iZmEgZmEtcGVuY2lsLWFsdCIgb25DbGljaz17dGhpcy5vbkVkaXROb2RlfSB0 aXRsZT17Z2V0dGV4dCgnRWRpdCB0YWJsZScpfQorICAgICAgICAgICAgICBzaG9ydGN1dD17dGhp cy5zdGF0ZS5wcmVmZXJlbmNlcy5lZGl0X3RhYmxlfSBkaXNhYmxlZD17IXRoaXMuc3RhdGUuc2lu Z2xlX25vZGVfc2VsZWN0ZWQgfHwgdGhpcy5zdGF0ZS5zaW5nbGVfbGlua19zZWxlY3RlZH0vPgor ICAgICAgICAgICAgPEljb25CdXR0b24gaWQ9ImNsb25lLW5vZGUiIGljb249ImZhIGZhLWNsb25l IiBvbkNsaWNrPXt0aGlzLm9uQ2xvbmVOb2RlfSB0aXRsZT17Z2V0dGV4dCgnQ2xvbmUgdGFibGUn KX0KKyAgICAgICAgICAgICAgc2hvcnRjdXQ9e3RoaXMuc3RhdGUucHJlZmVyZW5jZXMuY2xvbmVf dGFibGV9IGRpc2FibGVkPXshdGhpcy5zdGF0ZS5zaW5nbGVfbm9kZV9zZWxlY3RlZCB8fCB0aGlz LnN0YXRlLnNpbmdsZV9saW5rX3NlbGVjdGVkfS8+CisgICAgICAgICAgICA8SWNvbkJ1dHRvbiBp ZD0iZGVsZXRlLW5vZGUiIGljb249ImZhIGZhLXRyYXNoLWFsdCIgb25DbGljaz17dGhpcy5vbkRl bGV0ZU5vZGV9IHRpdGxlPXtnZXR0ZXh0KCdEcm9wIHRhYmxlL2xpbmsnKX0KKyAgICAgICAgICAg ICAgc2hvcnRjdXQ9e3RoaXMuc3RhdGUucHJlZmVyZW5jZXMuZHJvcF90YWJsZX0gZGlzYWJsZWQ9 eyF0aGlzLnN0YXRlLmFueV9pdGVtX3NlbGVjdGVkfS8+CisgICAgICAgICAgPC9CdXR0b25Hcm91 cD4KKyAgICAgICAgICA8QnV0dG9uR3JvdXA+CisgICAgICAgICAgICA8SWNvbkJ1dHRvbiBpZD0i YWRkLW9uZXRvbWFueSIgdGV4dD0iMU0iIG9uQ2xpY2s9e3RoaXMub25PbmVUb01hbnlDbGlja30g dGl0bGU9e2dldHRleHQoJ09uZS10by1NYW55IGxpbmsnKX0KKyAgICAgICAgICAgICAgc2hvcnRj dXQ9e3RoaXMuc3RhdGUucHJlZmVyZW5jZXMub25lX3RvX21hbnl9IGRpc2FibGVkPXshdGhpcy5z dGF0ZS5zaW5nbGVfbm9kZV9zZWxlY3RlZCB8fCB0aGlzLnN0YXRlLnNpbmdsZV9saW5rX3NlbGVj dGVkfS8+CisgICAgICAgICAgICA8SWNvbkJ1dHRvbiBpZD0iYWRkLW1hbnl0b21hbnkiIHRleHQ9 Ik1NIiBvbkNsaWNrPXt0aGlzLm9uTWFueVRvTWFueUNsaWNrfSB0aXRsZT17Z2V0dGV4dCgnTWFu eS10by1NYW55IGxpbmsnKX0KKyAgICAgICAgICAgICAgc2hvcnRjdXQ9e3RoaXMuc3RhdGUucHJl ZmVyZW5jZXMubWFueV90b19tYW55fSBkaXNhYmxlZD17IXRoaXMuc3RhdGUuc2luZ2xlX25vZGVf c2VsZWN0ZWQgfHwgdGhpcy5zdGF0ZS5zaW5nbGVfbGlua19zZWxlY3RlZH0vPgorICAgICAgICAg IDwvQnV0dG9uR3JvdXA+CisgICAgICAgICAgPEJ1dHRvbkdyb3VwPgorICAgICAgICAgICAgPElj b25CdXR0b24gaWQ9ImFkZC1ub3RlIiBpY29uPSJmYSBmYS1zdGlja3ktbm90ZSIgb25DbGljaz17 dGhpcy5vbk5vdGVDbGlja30gdGl0bGU9e2dldHRleHQoJ0FkZC9FZGl0IG5vdGUnKX0KKyAgICAg ICAgICAgICAgc2hvcnRjdXQ9e3RoaXMuc3RhdGUucHJlZmVyZW5jZXMuYWRkX2VkaXRfbm90ZX0g ZGlzYWJsZWQ9eyF0aGlzLnN0YXRlLnNpbmdsZV9ub2RlX3NlbGVjdGVkIHx8IHRoaXMuc3RhdGUu c2luZ2xlX2xpbmtfc2VsZWN0ZWR9Lz4KKyAgICAgICAgICAgIDxJY29uQnV0dG9uIGlkPSJhdXRv LWFsaWduIiBpY29uPSJmYSBmYS1tYWdpYyIgb25DbGljaz17dGhpcy5vbkF1dG9EaXN0cmlidXRl fSB0aXRsZT17Z2V0dGV4dCgnQXV0byBhbGlnbicpfQorICAgICAgICAgICAgICBzaG9ydGN1dD17 dGhpcy5zdGF0ZS5wcmVmZXJlbmNlcy5hdXRvX2FsaWdufSAvPgorICAgICAgICAgICAgPERldGFp bHNUb2dnbGVCdXR0b24gaWQ9Im1vcmUtZGV0YWlscyIgb25DbGljaz17dGhpcy5vbkRldGFpbHNU b2dnbGV9IHNob3dEZXRhaWxzPXt0aGlzLnN0YXRlLnNob3dfZGV0YWlsc30KKyAgICAgICAgICAg ICAgc2hvcnRjdXQ9e3RoaXMuc3RhdGUucHJlZmVyZW5jZXMuc2hvd19kZXRhaWxzfSAvPgorICAg ICAgICAgIDwvQnV0dG9uR3JvdXA+CisgICAgICAgICAgPEJ1dHRvbkdyb3VwPgorICAgICAgICAg ICAgPEljb25CdXR0b24gaWQ9Inpvb20tdG8tZml0IiBpY29uPSJmYSBmYS1jb21wcmVzcyIgb25D bGljaz17dGhpcy5kaWFncmFtLnpvb21Ub0ZpdH0gdGl0bGU9e2dldHRleHQoJ1pvb20gdG8gZml0 Jyl9CisgICAgICAgICAgICAgIHNob3J0Y3V0PXt0aGlzLnN0YXRlLnByZWZlcmVuY2VzLnpvb21f dG9fZml0fS8+CisgICAgICAgICAgICA8SWNvbkJ1dHRvbiBpZD0iem9vbS1pbiIgaWNvbj0iZmEg ZmEtc2VhcmNoLXBsdXMiIG9uQ2xpY2s9e3RoaXMuZGlhZ3JhbS56b29tSW59IHRpdGxlPXtnZXR0 ZXh0KCdab29tIGluJyl9CisgICAgICAgICAgICAgIHNob3J0Y3V0PXt0aGlzLnN0YXRlLnByZWZl cmVuY2VzLnpvb21faW59Lz4KKyAgICAgICAgICAgIDxJY29uQnV0dG9uIGlkPSJ6b29tLW91dCIg aWNvbj0iZmEgZmEtc2VhcmNoLW1pbnVzIiBvbkNsaWNrPXt0aGlzLmRpYWdyYW0uem9vbU91dH0g dGl0bGU9e2dldHRleHQoJ1pvb20gb3V0Jyl9CisgICAgICAgICAgICAgIHNob3J0Y3V0PXt0aGlz LnN0YXRlLnByZWZlcmVuY2VzLnpvb21fb3V0fS8+CisgICAgICAgICAgPC9CdXR0b25Hcm91cD4K KyAgICAgICAgICA8QnV0dG9uR3JvdXA+CisgICAgICAgICAgICA8SWNvbkJ1dHRvbiBpZD0iaGVs cCIgaWNvbj0iZmEgZmEtcXVlc3Rpb24iIG9uQ2xpY2s9e3RoaXMub25IZWxwQ2xpY2t9IHRpdGxl PXtnZXR0ZXh0KCdIZWxwJyl9IC8+CisgICAgICAgICAgPC9CdXR0b25Hcm91cD4KKyAgICAgICAg PC9Ub29sQmFyPgorICAgICAgICA8Q29ubmVjdGlvbkJhciBzdGF0dXNJZD0iYnRuLWNvbm4tc3Rh dHVzIiBzdGF0dXM9e3RoaXMuc3RhdGUuY29ubl9zdGF0dXN9IGJnY29sb3I9e3RoaXMucHJvcHMu cGFyYW1zLmJnY29sb3J9CisgICAgICAgICAgZmdjb2xvcj17dGhpcy5wcm9wcy5wYXJhbXMuZmdj b2xvcn0gdGl0bGU9e3RoaXMucHJvcHMucGFyYW1zLnRpdGxlfS8+CisgICAgICAgIDxGbG9hdGlu Z05vdGUgb3Blbj17dGhpcy5zdGF0ZS5ub3RlX29wZW59IG9uQ2xvc2U9e3RoaXMub25Ob3RlQ2xv c2V9CisgICAgICAgICAgcmVmZXJlbmNlPXt0aGlzLm5vdGVSZWZFbGV9IG5vdGVOb2RlPXt0aGlz LnN0YXRlLm5vdGVfbm9kZX0gYXBwZW5kVG89e3RoaXMuZGlhZ3JhbUNvbnRhaW5lclJlZi5jdXJy ZW50fSByb3dzPXs4fS8+CisgICAgICAgIDxkaXYgY2xhc3NOYW1lPSJkaWFncmFtLWNvbnRhaW5l ciIgcmVmPXt0aGlzLmRpYWdyYW1Db250YWluZXJSZWZ9PgorICAgICAgICAgIDxMb2FkZXIgbWVz c2FnZT17dGhpcy5zdGF0ZS5sb2FkaW5nX21zZ30gYXV0b0VsbGlwc2lzPXt0cnVlfS8+CisgICAg ICAgICAgPENhbnZhc1dpZGdldCBjbGFzc05hbWU9ImRpYWdyYW0tY2FudmFzIGZsZXgtZ3Jvdy0x IiByZWY9eyhlbGUpPT57dGhpcy5jYW52YXNFbGUgPSBlbGU/LnJlZj8uY3VycmVudDt9fSBlbmdp bmU9e3RoaXMuZGlhZ3JhbS5nZXRFbmdpbmUoKX0gLz4KKyAgICAgICAgPC9kaXY+CiAgICAgICA8 Lz4KICAgICApOwogICB9CkBAIC04OTIsNCArODkyLDUgQEAgQm9keVdpZGdldC5wcm9wVHlwZXMg PSB7CiAgIHBnV2luZG93OiBQcm9wVHlwZXMub2JqZWN0LmlzUmVxdWlyZWQsCiAgIHBnQWRtaW46 IFByb3BUeXBlcy5vYmplY3QuaXNSZXF1aXJlZCwKICAgYWxlcnRpZnk6IFByb3BUeXBlcy5vYmpl Y3QuaXNSZXF1aXJlZCwKKyAgcGFuZWw6IFByb3BUeXBlcy5vYmplY3QsCiB9OwpkaWZmIC0tZ2l0 IGEvd2ViL3BnYWRtaW4vdG9vbHMvZXJkL3N0YXRpYy9qcy9lcmRfdG9vbC91aV9jb21wb25lbnRz L1Rvb2xCYXIuanN4IGIvd2ViL3BnYWRtaW4vdG9vbHMvZXJkL3N0YXRpYy9qcy9lcmRfdG9vbC91 aV9jb21wb25lbnRzL1Rvb2xCYXIuanN4CmluZGV4IGZlNDI4MGFmMy4uNjU1YTRhZWU5IDEwMDY0 NAotLS0gYS93ZWIvcGdhZG1pbi90b29scy9lcmQvc3RhdGljL2pzL2VyZF90b29sL3VpX2NvbXBv bmVudHMvVG9vbEJhci5qc3gKKysrIGIvd2ViL3BnYWRtaW4vdG9vbHMvZXJkL3N0YXRpYy9qcy9l cmRfdG9vbC91aV9jb21wb25lbnRzL1Rvb2xCYXIuanN4CkBAIC0yOCw2ICsyOCw3IEBAIGNvbnN0 IEJhc2VJY29uQnV0dG9uID0gZm9yd2FyZFJlZigocHJvcHMsIHJlZik9PnsKICAgICA8L2J1dHRv bj4KICAgKTsKIH0pOworQmFzZUljb25CdXR0b24uZGlzcGxheU5hbWUgPSAnQmFzZUljb25CdXR0 b24nOwogCiBCYXNlSWNvbkJ1dHRvbi5wcm9wVHlwZXMgPSB7CiAgIGljb246IFByb3BUeXBlcy5z dHJpbmcsCkBAIC04OCw2ICs4OSw3IEBAIGV4cG9ydCBjb25zdCBJY29uQnV0dG9uID0gZm9yd2Fy ZFJlZigocHJvcHMsIHJlZikgPT4gewogICAgIHJldHVybiA8QmFzZUljb25CdXR0b24gcmVmPXty ZWZ9IGNsYXNzTmFtZT0nYnRuIGJ0bi1zbSBidG4tcHJpbWFyeS1pY29uJyB7Li4ub3RoZXJQcm9w c30vPjsKICAgfQogfSk7CitJY29uQnV0dG9uLmRpc3BsYXlOYW1lID0gJ0ljb25CdXR0b24nOwog CiBJY29uQnV0dG9uLnByb3BUeXBlcyA9IHsKICAgdGl0bGU6IFByb3BUeXBlcy5zdHJpbmcsCkBA IC0xMjAsNiArMTIyLDEwIEBAIGV4cG9ydCBmdW5jdGlvbiBCdXR0b25Hcm91cCh7Y2xhc3NOYW1l LCBjaGlsZHJlbn0pIHsKIAogQnV0dG9uR3JvdXAucHJvcFR5cGVzID0gewogICBjbGFzc05hbWU6 IFByb3BUeXBlcy5zdHJpbmcsCisgIGNoaWxkcmVuOiBQcm9wVHlwZXMub25lT2ZUeXBlKFsKKyAg ICBQcm9wVHlwZXMuYXJyYXlPZihQcm9wVHlwZXMubm9kZSksCisgICAgUHJvcFR5cGVzLm5vZGUK KyAgXSksCiB9OwogCiAvKiBUb29sYmFyIGNvbnRhaW5lciAqLwpAQCAtMTMxLDYgKzEzNywxMCBA QCBleHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBUb29sQmFyKHtpZCwgY2hpbGRyZW59KSB7CiAgICk7 CiB9CiAKLUJ1dHRvbkdyb3VwLnByb3BUeXBlcyA9IHsKK1Rvb2xCYXIucHJvcFR5cGVzID0gewog ICBpZDogUHJvcFR5cGVzLnN0cmluZywKKyAgY2hpbGRyZW46IFByb3BUeXBlcy5vbmVPZlR5cGUo WworICAgIFByb3BUeXBlcy5hcnJheU9mKFByb3BUeXBlcy5ub2RlKSwKKyAgICBQcm9wVHlwZXMu bm9kZQorICBdKSwKIH07Cg== --00000000000029b9d705bf739f0d--