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 1kkL7C-0004jg-ST for pgadmin-hackers@arkaria.postgresql.org; Wed, 02 Dec 2020 05:55:47 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.92) (envelope-from ) id 1kkL7A-0007jT-EQ for pgadmin-hackers@arkaria.postgresql.org; Wed, 02 Dec 2020 05:55:44 +0000 Received: from magus.postgresql.org ([2a02:c0:301:0:ffff::29]) by malur.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1kkL7A-0007jM-3C for pgadmin-hackers@lists.postgresql.org; Wed, 02 Dec 2020 05:55:44 +0000 Received: from mail-yb1-xb2b.google.com ([2607:f8b0:4864:20::b2b]) by magus.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92) (envelope-from ) id 1kkL75-00075j-9o for pgadmin-hackers@postgresql.org; Wed, 02 Dec 2020 05:55:42 +0000 Received: by mail-yb1-xb2b.google.com with SMTP id e81so590227ybc.1 for ; Tue, 01 Dec 2020 21:55:38 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=enterprisedb-com.20150623.gappssmtp.com; s=20150623; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=2oygSbrQMnjNYLIBi/yXXQxsf/Y3df+7YmMBmbKaGBU=; b=y5wGokPd4KkKbwtWLsMYhtWPFsAczQArcO71aIdG3kxLzUlnMWhWe0st8SKWnvC1yy x4kHl72erVKgxn2IIBfALQNB0YuXGYO9Td22I0Yz6ur/3jxzahfDl3ym64kh6Y+Ioy1H 2PmnZfauoHvpl1gYXKYHVeVVJFFSIlRXc4jO1K5uMNvuiqBcIknkUPVwvs6uJ3TFZ1vz 4RFw5RXnzc5GcZiKIMzEmbhGhjEYjdQcqWdh/ir1orIVgryMC31Mek57xN3iXaU5W/u5 PoOxXal5TXNXpreXeIu3efDvzdFC0W+Xqaowtnm7PuUUTKrPAbO7cR8wYKg/YP4fRkKy WBBQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=2oygSbrQMnjNYLIBi/yXXQxsf/Y3df+7YmMBmbKaGBU=; b=BfvaBnKuw3oV+F0kAhdL1b4NFRmpypVCUBBQLslUe27DfWY3nn+qwdpYZDaZD3ly8j l0hAdJK98soEFagwRaVhm+ky3Yfnii5Fzd4b5/T49DDxZvDO2aSTT8nXqDEqJY3bAPxl HCdN7UBXhBzcY5aQ0pJU0NXt7ym8uLiW2j6xseTbnL8qPQnSyubDQHIg4icUIIATgbXG tf7mIM6hnufwrSH4nUZP3wy9mriambRTugjRixqTqBXGbZ0EfZuz2EMAfwPYu9+8w1Ki Vtc/pPwTVchNrXcIxDoAYw+75NZ9R1Ihv8oEUzeTI6ptoPz7TWmhUG6XSMhQ7D1ngZ0p LMuA== X-Gm-Message-State: AOAM533BTND6Dmwdccm9Kb6C4/5C5GRVqdlaJ7StU3xCtB7nssIBdtWS YKxehgZXg9cPDgztpHisT8uOzirgLaKwZbRxAF6rqUXvhF2RvBHhtP+iLom1FG30l2j9J50P5ju YHPRW9wOK7dHEc0qZuKPSkR0i68AfFVKVlLUP3hvpqb7QreHCTmEx5EQAeMpi5Rw7iCi0nSOBZk TgO9SgNTcrSGXg542nFU3yZsfbsbY7CX2L91/EZ4FJQ6C9BwgbEoeqLrNzFg== X-Google-Smtp-Source: ABdhPJxx6fzsOxBLzqFB68TvNfDn1Oaog/szNDpWncPOFqqHS6vCEhERZYRt8k/15WaNNe5bdAJ/IiBkmC/xR7XqTlM= X-Received: by 2002:a25:4088:: with SMTP id n130mr1313631yba.483.1606888537021; Tue, 01 Dec 2020 21:55:37 -0800 (PST) MIME-Version: 1.0 References: In-Reply-To: From: Nikhil Mohite Date: Wed, 2 Dec 2020 11:25:26 +0530 Message-ID: Subject: Re: [pgAdmin][RM-5343]: [Code Coverage] Improve API test cases for Debugger To: Akshay Joshi Cc: pgadmin-hackers Content-Type: multipart/mixed; boundary="00000000000071b10a05b574e401" 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: Precedence: bulk --00000000000071b10a05b574e401 Content-Type: multipart/alternative; boundary="00000000000071b10705b574e4ff" --00000000000071b10705b574e4ff Content-Type: text/plain; charset="UTF-8" Hi Akshay, please find the updated patch, sorry for the inconvenience. Regards, Nikhil Mohite. On Wed, Dec 2, 2020 at 11:03 AM Akshay Joshi wrote: > Hi Nikhil > > The patch is not applied, please rebase and send the patch again. > > On Tue, Dec 1, 2020 at 2:48 PM Nikhil Mohite < > nikhil.mohite@enterprisedb.com> wrote: > >> Hi Team, >> >> Please find the attached patch for RM-5343 >> : [Code Coverage] Improve >> API test cases for Debugger. >> also updated implementation to remove dead code and unhandled exceptions. >> >> >> -- >> *Thanks & Regards,* >> *Nikhil Mohite* >> *Software Engineer.* >> *EDB Postgres* >> *Mob.No: +91-7798364578.* >> > > > -- > *Thanks & Regards* > *Akshay Joshi* > *pgAdmin Hacker | Principal Software Architect* > *EDB Postgres * > > *Mobile: +91 976-788-8246* > --00000000000071b10705b574e4ff Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
Hi Akshay,

please find the updated = patch, sorry for the inconvenience.


Regards,
Nikhil Mohite.

On Wed, Dec 2, 2020 at 11:03 AM Aks= hay Joshi <akshay.joshi= @enterprisedb.com> wrote:
Hi Nikhil

The patch is= not applied, please rebase and send the patch again.

On Tue, Dec 1, 2= 020 at 2:48 PM Nikhil Mohite <nikhil.mohite@enterprisedb.com> wrote:
=
Hi= Team,

Please find the attached patch for RM-5343:=C2= =A0[Code Coverage] Improve API test cases for Debugger.
also upda= ted implementation to remove dead code and unhandled exceptions.
=

--
Thanks & Regards,
Nikhil Mohite
Software Engineer.
Mob.No: +91-7798364578.


--
Thank= s & Regards
Akshay Joshi
pgAdmin Hacker | Principal Softw= are Architect
EDB Po= stgres
Mobile: +91 976-788-8246

--00000000000071b10705b574e4ff-- --00000000000071b10a05b574e401 Content-Type: application/octet-stream; name="RM_5343_v2.patch" Content-Disposition: attachment; filename="RM_5343_v2.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_ki6zw43z0 ZGlmZiAtLWdpdCBhL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2Rh dGFiYXNlcy9zY2hlbWFzL2Z1bmN0aW9ucy90ZXN0cy91dGlscy5weSBiL3dlYi9wZ2FkbWluL2Jy b3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy9zY2hlbWFzL2Z1bmN0aW9ucy90 ZXN0cy91dGlscy5weQppbmRleCBhNzM1NzJkLi44ZTEzZjQ2IDEwMDY0NAotLS0gYS93ZWIvcGdh ZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy9kYXRhYmFzZXMvc2NoZW1hcy9mdW5j dGlvbnMvdGVzdHMvdXRpbHMucHkKKysrIGIvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3Jv dXBzL3NlcnZlcnMvZGF0YWJhc2VzL3NjaGVtYXMvZnVuY3Rpb25zL3Rlc3RzL3V0aWxzLnB5CkBA IC0xNDIsNyArMTQyLDggQEAgZGVmIGNyZWF0ZV9wcm9jZWR1cmUoc2VydmVyLCBkYl9uYW1lLCBz Y2hlbWFfbmFtZSwgZnVuY19uYW1lLCBzX3R5cGUsCiAgICAgICAgIHRyYWNlYmFjay5wcmludF9l eGMoZmlsZT1zeXMuc3RkZXJyKQogCiAKLWRlZiBjcmVhdGVfZnVuY3Rpb24oc2VydmVyLCBkYl9u YW1lLCBzY2hlbWFfbmFtZSwgZnVuY19uYW1lLCBhcmdzPU5vbmUpOgorZGVmIGNyZWF0ZV9mdW5j dGlvbihzZXJ2ZXIsIGRiX25hbWUsIHNjaGVtYV9uYW1lLCBmdW5jX25hbWUsIGFyZ3M9Tm9uZSwK KyAgICAgICAgICAgICAgICAgICAgbGFuZz0nc3FsJyk6CiAgICAgIiIiVGhpcyBmdW5jdGlvbiBh ZGQgdGhlIHByb2NlZHVyZSB0byBzY2hlbWEiIiIKICAgICB0cnk6CiAgICAgICAgIGNvbm5lY3Rp b24gPSB1dGlscy5nZXRfZGJfY29ubmVjdGlvbihkYl9uYW1lLApAQCAtMTU4LDkgKzE1OSw5IEBA IGRlZiBjcmVhdGVfZnVuY3Rpb24oc2VydmVyLCBkYl9uYW1lLCBzY2hlbWFfbmFtZSwgZnVuY19u YW1lLCBhcmdzPU5vbmUpOgogICAgICAgICAgICAgYXJncyA9ICcnCiAgICAgICAgIHF1ZXJ5ID0g IkNSRUFURSBGVU5DVElPTiAiICsgc2NoZW1hX25hbWUgKyAiLiIgKyBmdW5jX25hbWUgKyBcCiAg ICAgICAgICAgICAgICAgIih7MH0pIiBcCi0gICAgICAgICAgICAgICAgIiBSRVRVUk5TIGludGVn ZXIgTEFOR1VBR0UgJ3NxbCcgU1RBQkxFIiBcCisgICAgICAgICAgICAgICAgIiBSRVRVUk5TIGlu dGVnZXIgTEFOR1VBR0UgJ3sxfScgU1RBQkxFIiBcCiAgICAgICAgICAgICAgICAgIiBTRUNVUklU WSBERUZJTkVSIEFTICQkIiBcCi0gICAgICAgICAgICAgICAgIiBTRUxFQ1QgMTsgJCQ7Ii5mb3Jt YXQoYXJncykKKyAgICAgICAgICAgICAgICAiIFNFTEVDVCAxOyAkJDsiLmZvcm1hdChhcmdzLCBs YW5nKQogICAgICAgICBwZ19jdXJzb3IuZXhlY3V0ZShxdWVyeSkKICAgICAgICAgY29ubmVjdGlv bi5jb21taXQoKQogICAgICAgICAjIEdldCAnb2lkJyBmcm9tIG5ld2x5IGNyZWF0ZWQgZnVuY3Rp b24KZGlmZiAtLWdpdCBhL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJz L2RhdGFiYXNlcy9zY2hlbWFzL3RhYmxlcy90cmlnZ2Vycy90ZXN0cy91dGlscy5weSBiL3dlYi9w Z2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy9zY2hlbWFzL3Rh Ymxlcy90cmlnZ2Vycy90ZXN0cy91dGlscy5weQppbmRleCBlYmE3NTA4Li4xMzAwNDVmIDEwMDY0 NAotLS0gYS93ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy9kYXRhYmFz ZXMvc2NoZW1hcy90YWJsZXMvdHJpZ2dlcnMvdGVzdHMvdXRpbHMucHkKKysrIGIvd2ViL3BnYWRt aW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJhc2VzL3NjaGVtYXMvdGFibGVz L3RyaWdnZXJzL3Rlc3RzL3V0aWxzLnB5CkBAIC02NCw3ICs2NCw3IEBAIGRlZiBjcmVhdGVfdHJp Z2dlcihzZXJ2ZXIsIGRiX25hbWUsIHNjaGVtYV9uYW1lLCB0YWJsZV9uYW1lLCB0cmlnZ2VyX25h bWUsCiAgICAgICAgICAgICB0cmlnZ2VyX2lkID0gdHJpZ2dlclswXQogICAgICAgICBjb25uZWN0 aW9uLmNsb3NlKCkKICAgICAgICAgcmV0dXJuIHRyaWdnZXJfaWQKLSAgICBleGNlcHQgRXhjZXB0 aW9uOgorICAgIGV4Y2VwdCBFeGNlcHRpb24gYXMgZToKICAgICAgICAgdHJhY2ViYWNrLnByaW50 X2V4YyhmaWxlPXN5cy5zdGRlcnIpCiAgICAgICAgIHJhaXNlCiAKZGlmZiAtLWdpdCBhL3dlYi9w Z2FkbWluL3Rvb2xzL2RlYnVnZ2VyL19faW5pdF9fLnB5IGIvd2ViL3BnYWRtaW4vdG9vbHMvZGVi dWdnZXIvX19pbml0X18ucHkKaW5kZXggNzQ4NDRhMS4uNWNhYzgwOSAxMDA2NDQKLS0tIGEvd2Vi L3BnYWRtaW4vdG9vbHMvZGVidWdnZXIvX19pbml0X18ucHkKKysrIGIvd2ViL3BnYWRtaW4vdG9v bHMvZGVidWdnZXIvX19pbml0X18ucHkKQEAgLTQ0MCw3ICs0NDAsNyBAQCBkZWYgaW5pdF9mdW5j dGlvbihub2RlX3R5cGUsIHNpZCwgZGlkLCBzY2lkLCBmaWQsIHRyaWQ9Tm9uZSk6CiAgICAgICAg IHJldHVybiBlcnJfbXNnCiAKICAgICByZXRfc3RhdHVzID0gc3RhdHVzCi0KKyAgICBtc2cgPSAn JwogICAgICMgQ2hlY2sgdGhhdCB0aGUgZnVuY3Rpb24gaXMgYWN0dWFsbHkgZGVidWdnYWJsZS4u LgogICAgIGlmIHJfc2V0Wydyb3dzJ11bMF06CiAgICAgICAgICMgSWYgZnVuYy9wcm9jIGlzIG5v dCBkZWZpbmVkIGluIHBhY2thZ2UgYm9keQpAQCAtNDc5LDkgKzQ3OSw2IEBAIGRlZiBpbml0X2Z1 bmN0aW9uKG5vZGVfdHlwZSwgc2lkLCBkaWQsIHNjaWQsIGZpZCwgdHJpZD1Ob25lKToKIAogICAg ICAgICAgICAgaWYgaXNfZXJyb3I6CiAgICAgICAgICAgICAgICAgcmV0dXJuIGVycl9tc2cKLSAg ICBlbHNlOgotICAgICAgICByZXRfc3RhdHVzID0gRmFsc2UKLSAgICAgICAgbXNnID0gZ2V0dGV4 dCgiVGhlIGZ1bmN0aW9uL3Byb2NlZHVyZSBjYW5ub3QgYmUgZGVidWdnZWQiKQogCiAgICAgIyBS ZXR1cm4gdGhlIHJlc3BvbnNlIHRoYXQgZnVuY3Rpb24gY2Fubm90IGJlIGRlYnVnLi4uCiAgICAg aWYgbm90IHJldF9zdGF0dXM6CkBAIC0xMTQ2LDc2ICsxMTQzLDY4IEBAIGRlZiBzdGFydF9kZWJ1 Z2dlcl9saXN0ZW5lcih0cmFuc19pZCk6CiAgICAgICAgICAgICBpZiBub3Qgc3RhdHVzOgogICAg ICAgICAgICAgICAgIHJldHVybiBpbnRlcm5hbF9zZXJ2ZXJfZXJyb3IoZXJyb3Jtc2c9cmVzdWx0 KQogICAgICAgICBlbHNlOgotICAgICAgICAgICAgaWYgY29ubi5jb25uZWN0ZWQoKToKLSAgICAg ICAgICAgICAgICAjIEZvciBpbmRpcmVjdCBkZWJ1Z2dpbmcgZmlyc3QgY3JlYXRlIHRoZSBsaXN0 ZW5lciBhbmQgdGhlbgotICAgICAgICAgICAgICAgICMgd2FpdCBmb3IgdGhlIHRhcmdldAorCisg ICAgICAgICAgICBzcWwgPSByZW5kZXJfdGVtcGxhdGUoCisgICAgICAgICAgICAgICAgIi8iLmpv aW4oW3RlbXBsYXRlX3BhdGgsICdjcmVhdGVfbGlzdGVuZXIuc3FsJ10pKQorCisgICAgICAgICAg ICBzdGF0dXMsIHJlcyA9IGV4ZWN1dGVfZGljdF9zZWFyY2hfcGF0aCgKKyAgICAgICAgICAgICAg ICBjb25uLCBzcWwsIGRlX2luc3QuZGVidWdnZXJfZGF0YVsnc2VhcmNoX3BhdGgnXSkKKyAgICAg ICAgICAgIGlmIG5vdCBzdGF0dXM6CisgICAgICAgICAgICAgICAgcmV0dXJuIGludGVybmFsX3Nl cnZlcl9lcnJvcihlcnJvcm1zZz1yZXMpCisKKyAgICAgICAgICAgICMgR2V0IGFuZCBzdG9yZSB0 aGUgc2Vzc2lvbiB2YXJpYWJsZSB3aGljaCBpcyByZXF1aXJlZCB0byBmZXRjaAorICAgICAgICAg ICAgIyBvdGhlciBpbmZvcm1hdGlvbiBkdXJpbmcgZGVidWdnaW5nCisgICAgICAgICAgICBpbnRf c2Vzc2lvbl9pZCA9IHJlc1sncm93cyddWzBdWydwbGRiZ19jcmVhdGVfbGlzdGVuZXInXQorCisg ICAgICAgICAgICAjIEluIEVudGVycHJpc2VEQiB2ZXJzaW9ucyA8PSA5LjEgdGhlCisgICAgICAg ICAgICAjIHBsZGJnX3NldF9nbG9iYWxfYnJlYWtwb2ludCBmdW5jdGlvbiB0b29rIGZpdmUgYXJn dW1lbnRzLAorICAgICAgICAgICAgIyB0aGUgMm5kIGFyZ3VtZW50IGJlaW5nIHRoZSBwYWNrYWdl J3MgT0lELCBpZiBhbnkuIFN0YXJ0aW5nCisgICAgICAgICAgICAjIHdpdGggOS4yLCB0aGUgcGFj a2FnZSBPSUQgYXJndW1lbnQgaXMgZ29uZSwgYW5kIHRoZSBmdW5jdGlvbgorICAgICAgICAgICAg IyB0YWtlcyBmb3VyIGFyZ3VtZW50cyBsaWtlIHRoZSBjb21tdW5pdHkgdmVyc2lvbiBoYXMgYWx3 YXlzCisgICAgICAgICAgICAjIGRvbmUuCisgICAgICAgICAgICBpZiBzZXJ2ZXJfdHlwZSA9PSAn cHBhcycgYW5kIHZlciA8PSA5MDEwMDoKICAgICAgICAgICAgICAgICBzcWwgPSByZW5kZXJfdGVt cGxhdGUoCi0gICAgICAgICAgICAgICAgICAgICIvIi5qb2luKFt0ZW1wbGF0ZV9wYXRoLCAnY3Jl YXRlX2xpc3RlbmVyLnNxbCddKSkKKyAgICAgICAgICAgICAgICAgICAgIi8iLmpvaW4oW3RlbXBs YXRlX3BhdGgsICdhZGRfYnJlYWtwb2ludF9lZGIuc3FsJ10pLAorICAgICAgICAgICAgICAgICAg ICBzZXNzaW9uX2lkPWludF9zZXNzaW9uX2lkLAorICAgICAgICAgICAgICAgICAgICBmdW5jdGlv bl9vaWQ9ZGVfaW5zdC5kZWJ1Z2dlcl9kYXRhWydmdW5jdGlvbl9pZCddCisgICAgICAgICAgICAg ICAgKQogCiAgICAgICAgICAgICAgICAgc3RhdHVzLCByZXMgPSBleGVjdXRlX2RpY3Rfc2VhcmNo X3BhdGgoCiAgICAgICAgICAgICAgICAgICAgIGNvbm4sIHNxbCwgZGVfaW5zdC5kZWJ1Z2dlcl9k YXRhWydzZWFyY2hfcGF0aCddKQogICAgICAgICAgICAgICAgIGlmIG5vdCBzdGF0dXM6CiAgICAg ICAgICAgICAgICAgICAgIHJldHVybiBpbnRlcm5hbF9zZXJ2ZXJfZXJyb3IoZXJyb3Jtc2c9cmVz KQotCi0gICAgICAgICAgICAgICAgIyBHZXQgYW5kIHN0b3JlIHRoZSBzZXNzaW9uIHZhcmlhYmxl IHdoaWNoIGlzIHJlcXVpcmVkIHRvIGZldGNoCi0gICAgICAgICAgICAgICAgIyBvdGhlciBpbmZv cm1hdGlvbiBkdXJpbmcgZGVidWdnaW5nCi0gICAgICAgICAgICAgICAgaW50X3Nlc3Npb25faWQg PSByZXNbJ3Jvd3MnXVswXVsncGxkYmdfY3JlYXRlX2xpc3RlbmVyJ10KLQotICAgICAgICAgICAg ICAgICMgSW4gRW50ZXJwcmlzZURCIHZlcnNpb25zIDw9IDkuMSB0aGUKLSAgICAgICAgICAgICAg ICAjIHBsZGJnX3NldF9nbG9iYWxfYnJlYWtwb2ludCBmdW5jdGlvbiB0b29rIGZpdmUgYXJndW1l bnRzLAotICAgICAgICAgICAgICAgICMgdGhlIDJuZCBhcmd1bWVudCBiZWluZyB0aGUgcGFja2Fn ZSdzIE9JRCwgaWYgYW55LiBTdGFydGluZwotICAgICAgICAgICAgICAgICMgd2l0aCA5LjIsIHRo ZSBwYWNrYWdlIE9JRCBhcmd1bWVudCBpcyBnb25lLCBhbmQgdGhlIGZ1bmN0aW9uCi0gICAgICAg ICAgICAgICAgIyB0YWtlcyBmb3VyIGFyZ3VtZW50cyBsaWtlIHRoZSBjb21tdW5pdHkgdmVyc2lv biBoYXMgYWx3YXlzCi0gICAgICAgICAgICAgICAgIyBkb25lLgotICAgICAgICAgICAgICAgIGlm IHNlcnZlcl90eXBlID09ICdwcGFzJyBhbmQgdmVyIDw9IDkwMTAwOgotICAgICAgICAgICAgICAg ICAgICBzcWwgPSByZW5kZXJfdGVtcGxhdGUoCi0gICAgICAgICAgICAgICAgICAgICAgICAiLyIu am9pbihbdGVtcGxhdGVfcGF0aCwgJ2FkZF9icmVha3BvaW50X2VkYi5zcWwnXSksCi0gICAgICAg ICAgICAgICAgICAgICAgICBzZXNzaW9uX2lkPWludF9zZXNzaW9uX2lkLAotICAgICAgICAgICAg ICAgICAgICAgICAgZnVuY3Rpb25fb2lkPWRlX2luc3QuZGVidWdnZXJfZGF0YVsnZnVuY3Rpb25f aWQnXQotICAgICAgICAgICAgICAgICAgICApCi0KLSAgICAgICAgICAgICAgICAgICAgc3RhdHVz LCByZXMgPSBleGVjdXRlX2RpY3Rfc2VhcmNoX3BhdGgoCi0gICAgICAgICAgICAgICAgICAgICAg ICBjb25uLCBzcWwsIGRlX2luc3QuZGVidWdnZXJfZGF0YVsnc2VhcmNoX3BhdGgnXSkKLSAgICAg ICAgICAgICAgICAgICAgaWYgbm90IHN0YXR1czoKLSAgICAgICAgICAgICAgICAgICAgICAgIHJl dHVybiBpbnRlcm5hbF9zZXJ2ZXJfZXJyb3IoZXJyb3Jtc2c9cmVzKQotICAgICAgICAgICAgICAg IGVsc2U6Ci0gICAgICAgICAgICAgICAgICAgIHNxbCA9IHJlbmRlcl90ZW1wbGF0ZSgKLSAgICAg ICAgICAgICAgICAgICAgICAgICIvIi5qb2luKFt0ZW1wbGF0ZV9wYXRoLCAnYWRkX2JyZWFrcG9p bnRfcGcuc3FsJ10pLAotICAgICAgICAgICAgICAgICAgICAgICAgc2Vzc2lvbl9pZD1pbnRfc2Vz c2lvbl9pZCwKLSAgICAgICAgICAgICAgICAgICAgICAgIGZ1bmN0aW9uX29pZD1kZV9pbnN0LmRl YnVnZ2VyX2RhdGFbJ2Z1bmN0aW9uX2lkJ10KLSAgICAgICAgICAgICAgICAgICAgKQotCi0gICAg ICAgICAgICAgICAgICAgIHN0YXR1cywgcmVzID0gZXhlY3V0ZV9kaWN0X3NlYXJjaF9wYXRoKAot ICAgICAgICAgICAgICAgICAgICAgICAgY29ubiwgc3FsLCBkZV9pbnN0LmRlYnVnZ2VyX2RhdGFb J3NlYXJjaF9wYXRoJ10pCi0gICAgICAgICAgICAgICAgICAgIGlmIG5vdCBzdGF0dXM6Ci0gICAg ICAgICAgICAgICAgICAgICAgICByZXR1cm4gaW50ZXJuYWxfc2VydmVyX2Vycm9yKGVycm9ybXNn PXJlcykKLQotICAgICAgICAgICAgICAgICMgd2FpdCBmb3IgdGhlIHRhcmdldAorICAgICAgICAg ICAgZWxzZToKICAgICAgICAgICAgICAgICBzcWwgPSByZW5kZXJfdGVtcGxhdGUoCi0gICAgICAg ICAgICAgICAgICAgICIvIi5qb2luKFt0ZW1wbGF0ZV9wYXRoLCAnd2FpdF9mb3JfdGFyZ2V0LnNx bCddKSwKLSAgICAgICAgICAgICAgICAgICAgc2Vzc2lvbl9pZD1pbnRfc2Vzc2lvbl9pZAorICAg ICAgICAgICAgICAgICAgICAiLyIuam9pbihbdGVtcGxhdGVfcGF0aCwgJ2FkZF9icmVha3BvaW50 X3BnLnNxbCddKSwKKyAgICAgICAgICAgICAgICAgICAgc2Vzc2lvbl9pZD1pbnRfc2Vzc2lvbl9p ZCwKKyAgICAgICAgICAgICAgICAgICAgZnVuY3Rpb25fb2lkPWRlX2luc3QuZGVidWdnZXJfZGF0 YVsnZnVuY3Rpb25faWQnXQogICAgICAgICAgICAgICAgICkKIAotICAgICAgICAgICAgICAgIHN0 YXR1cywgcmVzID0gZXhlY3V0ZV9hc3luY19zZWFyY2hfcGF0aCgKKyAgICAgICAgICAgICAgICBz dGF0dXMsIHJlcyA9IGV4ZWN1dGVfZGljdF9zZWFyY2hfcGF0aCgKICAgICAgICAgICAgICAgICAg ICAgY29ubiwgc3FsLCBkZV9pbnN0LmRlYnVnZ2VyX2RhdGFbJ3NlYXJjaF9wYXRoJ10pCiAgICAg ICAgICAgICAgICAgaWYgbm90IHN0YXR1czoKICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGlu dGVybmFsX3NlcnZlcl9lcnJvcihlcnJvcm1zZz1yZXMpCiAKLSAgICAgICAgICAgICAgICBkZV9p bnN0LmRlYnVnZ2VyX2RhdGFbJ2V4ZV9jb25uX2lkJ10gPSBcCi0gICAgICAgICAgICAgICAgICAg IGRlX2luc3QuZGVidWdnZXJfZGF0YVsnY29ubl9pZCddCi0gICAgICAgICAgICAgICAgZGVfaW5z dC5kZWJ1Z2dlcl9kYXRhWydyZXN0YXJ0X2RlYnVnJ10gPSAxCi0gICAgICAgICAgICAgICAgZGVf aW5zdC5kZWJ1Z2dlcl9kYXRhWydmcmFtZV9pZCddID0gMAotICAgICAgICAgICAgICAgIGRlX2lu c3QuZGVidWdnZXJfZGF0YVsnc2Vzc2lvbl9pZCddID0gaW50X3Nlc3Npb25faWQKLSAgICAgICAg ICAgICAgICBkZV9pbnN0LnVwZGF0ZV9zZXNzaW9uKCkKLSAgICAgICAgICAgICAgICByZXR1cm4g bWFrZV9qc29uX3Jlc3BvbnNlKAotICAgICAgICAgICAgICAgICAgICBkYXRhPXsnc3RhdHVzJzog c3RhdHVzLCAncmVzdWx0JzogcmVzfQotICAgICAgICAgICAgICAgICkKLSAgICAgICAgICAgIGVs c2U6Ci0gICAgICAgICAgICAgICAgc3RhdHVzID0gRmFsc2UKLSAgICAgICAgICAgICAgICByZXN1 bHQgPSBTRVJWRVJfQ09OTkVDVElPTl9DTE9TRUQKLSAgICAgICAgICAgICAgICByZXR1cm4gbWFr ZV9qc29uX3Jlc3BvbnNlKAotICAgICAgICAgICAgICAgICAgICBkYXRhPXsnc3RhdHVzJzogc3Rh dHVzLCAncmVzdWx0JzogcmVzdWx0fQotICAgICAgICAgICAgICAgICkKKyAgICAgICAgICAgICMg d2FpdCBmb3IgdGhlIHRhcmdldAorICAgICAgICAgICAgc3FsID0gcmVuZGVyX3RlbXBsYXRlKAor ICAgICAgICAgICAgICAgICIvIi5qb2luKFt0ZW1wbGF0ZV9wYXRoLCAnd2FpdF9mb3JfdGFyZ2V0 LnNxbCddKSwKKyAgICAgICAgICAgICAgICBzZXNzaW9uX2lkPWludF9zZXNzaW9uX2lkCisgICAg ICAgICAgICApCisKKyAgICAgICAgICAgIHN0YXR1cywgcmVzID0gZXhlY3V0ZV9hc3luY19zZWFy Y2hfcGF0aCgKKyAgICAgICAgICAgICAgICBjb25uLCBzcWwsIGRlX2luc3QuZGVidWdnZXJfZGF0 YVsnc2VhcmNoX3BhdGgnXSkKKyAgICAgICAgICAgIGlmIG5vdCBzdGF0dXM6CisgICAgICAgICAg ICAgICAgcmV0dXJuIGludGVybmFsX3NlcnZlcl9lcnJvcihlcnJvcm1zZz1yZXMpCisKKyAgICAg ICAgICAgIGRlX2luc3QuZGVidWdnZXJfZGF0YVsnZXhlX2Nvbm5faWQnXSA9IFwKKyAgICAgICAg ICAgICAgICBkZV9pbnN0LmRlYnVnZ2VyX2RhdGFbJ2Nvbm5faWQnXQorICAgICAgICAgICAgZGVf aW5zdC5kZWJ1Z2dlcl9kYXRhWydyZXN0YXJ0X2RlYnVnJ10gPSAxCisgICAgICAgICAgICBkZV9p bnN0LmRlYnVnZ2VyX2RhdGFbJ2ZyYW1lX2lkJ10gPSAwCisgICAgICAgICAgICBkZV9pbnN0LmRl YnVnZ2VyX2RhdGFbJ3Nlc3Npb25faWQnXSA9IGludF9zZXNzaW9uX2lkCisgICAgICAgICAgICBk ZV9pbnN0LnVwZGF0ZV9zZXNzaW9uKCkKKyAgICAgICAgICAgIHJldHVybiBtYWtlX2pzb25fcmVz cG9uc2UoCisgICAgICAgICAgICAgICAgZGF0YT17J3N0YXR1cyc6IHN0YXR1cywgJ3Jlc3VsdCc6 IHJlc30KKyAgICAgICAgICAgICkKICAgICBlbHNlOgogICAgICAgICBzdGF0dXMgPSBGYWxzZQog ICAgICAgICByZXN1bHQgPSBTRVJWRVJfQ09OTkVDVElPTl9DTE9TRUQKQEAgLTE1MTksNiArMTUw OCw3IEBAIGRlZiBzZXRfY2xlYXJfYnJlYWtwb2ludCh0cmFuc19pZCwgbGluZV9ubywgc2V0X3R5 cGUpOgogCiAgICAgICAgIHN0YXR1cywgcmVzdWx0ID0gZXhlY3V0ZV9kaWN0X3NlYXJjaF9wYXRo KAogICAgICAgICAgICAgY29ubiwgc3FsLCBkZV9pbnN0LmRlYnVnZ2VyX2RhdGFbJ3NlYXJjaF9w YXRoJ10pCisgICAgICAgIHJlc3VsdCA9IHJlc3VsdFsncm93cyddCiAgICAgICAgIGlmIG5vdCBz dGF0dXM6CiAgICAgICAgICAgICByZXR1cm4gaW50ZXJuYWxfc2VydmVyX2Vycm9yKGVycm9ybXNn PXJlc3VsdCkKICAgICBlbHNlOgpAQCAtMTUyNiw3ICsxNTE2LDcgQEAgZGVmIHNldF9jbGVhcl9i cmVha3BvaW50KHRyYW5zX2lkLCBsaW5lX25vLCBzZXRfdHlwZSk6CiAgICAgICAgIHJlc3VsdCA9 IFNFUlZFUl9DT05ORUNUSU9OX0NMT1NFRAogCiAgICAgcmV0dXJuIG1ha2VfanNvbl9yZXNwb25z ZSgKLSAgICAgICAgZGF0YT17J3N0YXR1cyc6IHN0YXR1cywgJ3Jlc3VsdCc6IHJlc3VsdFsncm93 cyddfQorICAgICAgICBkYXRhPXsnc3RhdHVzJzogc3RhdHVzLCAncmVzdWx0JzogcmVzdWx0fQog ICAgICkKIAogCkBAIC0xNTgzLDYgKzE1NzMsNyBAQCBkZWYgY2xlYXJfYWxsX2JyZWFrcG9pbnQo dHJhbnNfaWQpOgogICAgICAgICAgICAgICAgICAgICBjb25uLCBzcWwsIGRlX2luc3QuZGVidWdn ZXJfZGF0YVsnc2VhcmNoX3BhdGgnXSkKICAgICAgICAgICAgICAgICBpZiBub3Qgc3RhdHVzOgog ICAgICAgICAgICAgICAgICAgICByZXR1cm4gaW50ZXJuYWxfc2VydmVyX2Vycm9yKGVycm9ybXNn PXJlc3VsdCkKKyAgICAgICAgICAgICAgICByZXN1bHQgPSByZXN1bHRbJ3Jvd3MnXQogICAgICAg ICBlbHNlOgogICAgICAgICAgICAgcmV0dXJuIG1ha2VfanNvbl9yZXNwb25zZShkYXRhPXsnc3Rh dHVzJzogRmFsc2V9KQogICAgIGVsc2U6CkBAIC0xNTkwLDcgKzE1ODEsNyBAQCBkZWYgY2xlYXJf YWxsX2JyZWFrcG9pbnQodHJhbnNfaWQpOgogICAgICAgICByZXN1bHQgPSBTRVJWRVJfQ09OTkVD VElPTl9DTE9TRUQKIAogICAgIHJldHVybiBtYWtlX2pzb25fcmVzcG9uc2UoCi0gICAgICAgIGRh dGE9eydzdGF0dXMnOiBzdGF0dXMsICdyZXN1bHQnOiByZXN1bHRbJ3Jvd3MnXX0KKyAgICAgICAg ZGF0YT17J3N0YXR1cyc6IHN0YXR1cywgJ3Jlc3VsdCc6IHJlc3VsdH0KICAgICApCiAKIApkaWZm IC0tZ2l0IGEvd2ViL3BnYWRtaW4vdG9vbHMvZGVidWdnZXIvc3RhdGljL2pzL2RlYnVnZ2VyLmpz IGIvd2ViL3BnYWRtaW4vdG9vbHMvZGVidWdnZXIvc3RhdGljL2pzL2RlYnVnZ2VyLmpzCmluZGV4 IGQ5ZGEzMGMuLjg2MmVhMzUgMTAwNjQ0Ci0tLSBhL3dlYi9wZ2FkbWluL3Rvb2xzL2RlYnVnZ2Vy L3N0YXRpYy9qcy9kZWJ1Z2dlci5qcworKysgYi93ZWIvcGdhZG1pbi90b29scy9kZWJ1Z2dlci9z dGF0aWMvanMvZGVidWdnZXIuanMKQEAgLTQyOSw3ICs0MjksNyBAQCBkZWZpbmUoWwogICAgICAg ICAgICAgICBwYW5lbCA9IHBnQnJvd3Nlci5kb2NrZXIuYWRkUGFuZWwoCiAgICAgICAgICAgICAg ICAgJ2ZybV9kZWJ1Z2dlcicsIHdjRG9ja2VyLkRPQ0suU1RBQ0tFRCwgZGFzaGJvYXJkUGFuZWxb MF0KICAgICAgICAgICAgICAgKTsKLSAgICAgICAgICAgIHZhciBsYWJlbCA9IHRyZWVJbmZvLmZ1 bmN0aW9uID8gdHJlZUluZm8uZnVuY3Rpb24ubGFiZWwgOiB0cmVlSW5mby5wcm9jZWR1cmUubGFi ZWw7CisgICAgICAgICAgICB2YXIgbGFiZWwgPSB0cmVlSW5mby5mdW5jdGlvbiA/IHRyZWVJbmZv LmZ1bmN0aW9uLmxhYmVsIDogdHJlZUluZm8udHJpZ2dlcl9mdW5jdGlvbiA/IHRyZWVJbmZvLnRy aWdnZXJfZnVuY3Rpb24ubGFiZWwgOiB0cmVlSW5mby50cmlnZ2VyID8gdHJlZUluZm8udHJpZ2dl ci5sYWJlbCA6IHRyZWVJbmZvLnByb2NlZHVyZS5sYWJlbDsKICAgICAgICAgICAgIGRlYnVnZ2Vy VXRpbHMuc2V0RGVidWdnZXJUaXRsZShwYW5lbCwgYnJvd3Nlcl9wcmVmZXJlbmNlcywgbGFiZWws IHRyZWVJbmZvLnNjaGVtYS5sYWJlbCwgdHJlZUluZm8uZGF0YWJhc2UubGFiZWwsIG51bGwsIHBn QnJvd3Nlcik7CiAKICAgICAgICAgICAgIHBhbmVsLmZvY3VzKCk7CkBAIC00NTQsNyArNDU0LDcg QEAgZGVmaW5lKFsKICAgICAgICAgICAgICAgICAgICAgLy8gUmVtb3ZlIHRoZSBsZWFkaW5nIGFu ZCB0cmFpbGluZyB3aGl0ZSBzcGFjZXMuCiAgICAgICAgICAgICAgICAgICAgIHZhbHVlID0gdmFs dWUudHJpbSgpOwogICAgICAgICAgICAgICAgICAgICBsZXQgYnJvd3Nlcl9wcmVmZXJlbmNlcyA9 IHBnQnJvd3Nlci5nZXRfcHJlZmVyZW5jZXNfZm9yX21vZHVsZSgnYnJvd3NlcicpOwotICAgICAg ICAgICAgICAgICAgICB2YXIgbGFiZWwgPSB0cmVlSW5mby5mdW5jdGlvbiA/IHRyZWVJbmZvLmZ1 bmN0aW9uLmxhYmVsIDogdHJlZUluZm8ucHJvY2VkdXJlLmxhYmVsOworICAgICAgICAgICAgICAg ICAgICB2YXIgbGFiZWwgPSB0cmVlSW5mby5mdW5jdGlvbiA/IHRyZWVJbmZvLmZ1bmN0aW9uLmxh YmVsIDogdHJlZUluZm8udHJpZ2dlcl9mdW5jdGlvbiA/IHRyZWVJbmZvLnRyaWdnZXJfZnVuY3Rp b24ubGFiZWwgOiB0cmVlSW5mby50cmlnZ2VyID8gdHJlZUluZm8udHJpZ2dlci5sYWJlbCA6IHRy ZWVJbmZvLnByb2NlZHVyZS5sYWJlbDsKICAgICAgICAgICAgICAgICAgICAgZGVidWdnZXJVdGls cy5zZXREZWJ1Z2dlclRpdGxlKHBhbmVsLCBicm93c2VyX3ByZWZlcmVuY2VzLCBsYWJlbCwgdHJl ZUluZm8uc2NoZW1hLmxhYmVsLCB0cmVlSW5mby5kYXRhYmFzZS5sYWJlbCwgdmFsdWUsIHBnQnJv d3Nlcik7CiAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgfSwKQEAgLTU3Myw3 ICs1NzMsNyBAQCBkZWZpbmUoWwogICAgICAgICAgICAgICAgICAgICBwYW5lbCA9IHBnQnJvd3Nl ci5kb2NrZXIuYWRkUGFuZWwoCiAgICAgICAgICAgICAgICAgICAgICAgJ2ZybV9kZWJ1Z2dlcics IHdjRG9ja2VyLkRPQ0suU1RBQ0tFRCwgZGFzaGJvYXJkUGFuZWxbMF0KICAgICAgICAgICAgICAg ICAgICAgKTsKLSAgICAgICAgICAgICAgICAgIHZhciBsYWJlbCA9IG5ld1RyZWVJbmZvLmZ1bmN0 aW9uID8gbmV3VHJlZUluZm8uZnVuY3Rpb24ubGFiZWwgOiBuZXdUcmVlSW5mby5wcm9jZWR1cmUu bGFiZWw7CisgICAgICAgICAgICAgICAgICB2YXIgbGFiZWwgPSBuZXdUcmVlSW5mby5mdW5jdGlv biA/IG5ld1RyZWVJbmZvLmZ1bmN0aW9uLmxhYmVsIDogbmV3VHJlZUluZm8udHJpZ2dlcl9mdW5j dGlvbiA/IG5ld1RyZWVJbmZvLnRyaWdnZXJfZnVuY3Rpb24ubGFiZWwgOiBuZXdUcmVlSW5mby50 cmlnZ2VyID8gbmV3VHJlZUluZm8udHJpZ2dlci5sYWJlbCA6IG5ld1RyZWVJbmZvLnByb2NlZHVy ZS5sYWJlbDsKICAgICAgICAgICAgICAgICAgIGRlYnVnZ2VyVXRpbHMuc2V0RGVidWdnZXJUaXRs ZShwYW5lbCwgYnJvd3Nlcl9wcmVmZXJlbmNlcywgbGFiZWwsIG5ld1RyZWVJbmZvLnNjaGVtYS5s YWJlbCwgbmV3VHJlZUluZm8uZGF0YWJhc2UubGFiZWwsIG51bGwsIHBnQnJvd3Nlcik7CiAKICAg ICAgICAgICAgICAgICAgIHBhbmVsLmZvY3VzKCk7CkBAIC01OTgsNyArNTk4LDcgQEAgZGVmaW5l KFsKICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gUmVtb3ZlIHRoZSBsZWFkaW5nIGFuZCB0 cmFpbGluZyB3aGl0ZSBzcGFjZXMuCiAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlID0g dmFsdWUudHJpbSgpOwogICAgICAgICAgICAgICAgICAgICAgICAgICBsZXQgYnJvd3Nlcl9wcmVm ZXJlbmNlcyA9IHBnQnJvd3Nlci5nZXRfcHJlZmVyZW5jZXNfZm9yX21vZHVsZSgnYnJvd3Nlcicp OwotICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIgbGFiZWwgPSB0cmVlSW5mby5mdW5jdGlv biA/IHRyZWVJbmZvLmZ1bmN0aW9uLmxhYmVsIDogdHJlZUluZm8ucHJvY2VkdXJlLmxhYmVsOwor ICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIgbGFiZWwgPSB0cmVlSW5mby5mdW5jdGlvbiA/ IHRyZWVJbmZvLmZ1bmN0aW9uLmxhYmVsIDogdHJlZUluZm8udHJpZ2dlcl9mdW5jdGlvbiA/IHRy ZWVJbmZvLnRyaWdnZXJfZnVuY3Rpb24ubGFiZWwgOiB0cmVlSW5mby50cmlnZ2VyID8gdHJlZUlu Zm8udHJpZ2dlci5sYWJlbCA6IHRyZWVJbmZvLnByb2NlZHVyZS5sYWJlbDsKICAgICAgICAgICAg ICAgICAgICAgICAgICAgZGVidWdnZXJVdGlscy5zZXREZWJ1Z2dlclRpdGxlKHBhbmVsLCBicm93 c2VyX3ByZWZlcmVuY2VzLCBsYWJlbCwgdHJlZUluZm8uc2NoZW1hLmxhYmVsLCB0cmVlSW5mby5k YXRhYmFzZS5sYWJlbCwgdmFsdWUsIHBnQnJvd3Nlcik7CiAgICAgICAgICAgICAgICAgICAgICAg ICB9CiAgICAgICAgICAgICAgICAgICAgICAgfSwKZGlmZiAtLWdpdCBhL3dlYi9wZ2FkbWluL3Rv b2xzL2RlYnVnZ2VyL3N0YXRpYy9qcy9kZWJ1Z2dlcl91aS5qcyBiL3dlYi9wZ2FkbWluL3Rvb2xz L2RlYnVnZ2VyL3N0YXRpYy9qcy9kZWJ1Z2dlcl91aS5qcwppbmRleCAxNzAwYjdhLi41M2Y4YTJi IDEwMDY0NAotLS0gYS93ZWIvcGdhZG1pbi90b29scy9kZWJ1Z2dlci9zdGF0aWMvanMvZGVidWdn ZXJfdWkuanMKKysrIGIvd2ViL3BnYWRtaW4vdG9vbHMvZGVidWdnZXIvc3RhdGljL2pzL2RlYnVn Z2VyX3VpLmpzCkBAIC03NzgsNyArNzc4LDcgQEAgZGVmaW5lKFsKICAgICAgICAgICAgICAgICAg ICAgICAgICAgJ2ZybV9kZWJ1Z2dlcicsIHdjRG9ja2VyLkRPQ0suU1RBQ0tFRCwgZGFzaGJvYXJk UGFuZWxbMF0KICAgICAgICAgICAgICAgICAgICAgICAgICk7CiAgICAgICAgICAgICAgICAgICAg ICAgdmFyIGJyb3dzZXJfcHJlZiA9IHBnQnJvd3Nlci5nZXRfcHJlZmVyZW5jZXNfZm9yX21vZHVs ZSgnYnJvd3NlcicpOwotICAgICAgICAgICAgICAgICAgICAgIHZhciBsYWJlbCA9IHRyZWVJbmZv LmZ1bmN0aW9uID8gdHJlZUluZm8uZnVuY3Rpb24ubGFiZWwgOiB0cmVlSW5mby5wcm9jZWR1cmUu bGFiZWw7CisgICAgICAgICAgICAgICAgICAgICAgdmFyIGxhYmVsID0gdHJlZUluZm8uZnVuY3Rp b24gPyB0cmVlSW5mby5mdW5jdGlvbi5sYWJlbCA6IHRyZWVJbmZvLnRyaWdnZXJfZnVuY3Rpb24g PyB0cmVlSW5mby50cmlnZ2VyX2Z1bmN0aW9uLmxhYmVsIDogdHJlZUluZm8udHJpZ2dlciA/IHRy ZWVJbmZvLnRyaWdnZXIubGFiZWwgOiB0cmVlSW5mby5wcm9jZWR1cmUubGFiZWw7CiAgICAgICAg ICAgICAgICAgICAgICAgZGVidWdnZXJVdGlscy5zZXREZWJ1Z2dlclRpdGxlKHBhbmVsLCBicm93 c2VyX3ByZWYsIGxhYmVsLCB0cmVlSW5mby5zY2hlbWEubGFiZWwsIHRyZWVJbmZvLmRhdGFiYXNl LmxhYmVsLCBudWxsLCBwZ0Jyb3dzZXIpOwogICAgICAgICAgICAgICAgICAgICAgIHBhbmVsLmZv Y3VzKCk7CiAKQEAgLTgwMSw3ICs4MDEsNyBAQCBkZWZpbmUoWwogICAgICAgICAgICAgICAgICAg ICAgICAgICAgIGlmKHZhbHVlKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBS ZW1vdmUgdGhlIGxlYWRpbmcgYW5kIHRyYWlsaW5nIHdoaXRlIHNwYWNlcy4KICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIHZhbHVlID0gdmFsdWUudHJpbSgpOwotICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgdmFyIGxhYmVsID0gdHJlZUluZm8uZnVuY3Rpb24gPyB0cmVlSW5mby5m dW5jdGlvbi5sYWJlbCA6IHRyZWVJbmZvLnByb2NlZHVyZS5sYWJlbDsKKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIHZhciBsYWJlbCA9IHRyZWVJbmZvLmZ1bmN0aW9uID8gdHJlZUluZm8u ZnVuY3Rpb24ubGFiZWwgOiB0cmVlSW5mby50cmlnZ2VyX2Z1bmN0aW9uID8gdHJlZUluZm8udHJp Z2dlcl9mdW5jdGlvbi5sYWJlbCA6IHRyZWVJbmZvLnRyaWdnZXIgPyB0cmVlSW5mby50cmlnZ2Vy LmxhYmVsIDogdHJlZUluZm8ucHJvY2VkdXJlLmxhYmVsOwogICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgZGVidWdnZXJVdGlscy5zZXREZWJ1Z2dlclRpdGxlKHBhbmVsLCBzZWxmLnByZWZl cmVuY2VzLCBsYWJlbCwgdHJlZUluZm8uc2NoZW1hLmxhYmVsLCB0cmVlSW5mby5kYXRhYmFzZS5s YWJlbCwgdmFsdWUsIHBnQnJvd3Nlcik7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQog ICAgICAgICAgICAgICAgICAgICAgICAgICB9LApkaWZmIC0tZ2l0IGEvd2ViL3BnYWRtaW4vdG9v bHMvZGVidWdnZXIvdGVzdHMvX19pbml0X18ucHkgYi93ZWIvcGdhZG1pbi90b29scy9kZWJ1Z2dl ci90ZXN0cy9fX2luaXRfXy5weQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5l NjlkZTI5CmRpZmYgLS1naXQgYS93ZWIvcGdhZG1pbi90b29scy9kZWJ1Z2dlci90ZXN0cy9kZWJ1 Z2dlcl90ZXN0X2RhdGEuanNvbiBiL3dlYi9wZ2FkbWluL3Rvb2xzL2RlYnVnZ2VyL3Rlc3RzL2Rl YnVnZ2VyX3Rlc3RfZGF0YS5qc29uCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAu LmJjZDA2MTMKLS0tIC9kZXYvbnVsbAorKysgYi93ZWIvcGdhZG1pbi90b29scy9kZWJ1Z2dlci90 ZXN0cy9kZWJ1Z2dlcl90ZXN0X2RhdGEuanNvbgpAQCAtMCwwICsxLDE3MDMgQEAKK3sKKyAgImlu aXRfZGVidWdnZXJfZm9yX2Z1bmN0aW9uIjogWworICAgIHsKKyAgICAgICJuYW1lIjogIkRlYnVn Z2VyIGluaXRpYWxpemF0aW9uIiwKKyAgICAgICJ1cmwiOiAiL2RlYnVnZ2VyL2luaXQvZnVuY3Rp b24vIiwKKyAgICAgICJpc19wb3NpdGl2ZV90ZXN0IjogdHJ1ZSwKKyAgICAgICJtb2NraW5nX3Jl cXVpcmVkIjogZmFsc2UsCisgICAgICAibm9kZV90eXBlIjogImZ1bmN0aW9uIiwKKyAgICAgICJp bnZhbGlkX25hbWUiOiBmYWxzZSwKKyAgICAgICJhZGRfZXh0ZW5zaW9uIjogdHJ1ZSwKKyAgICAg ICJ0ZXN0X2RhdGEiOiB7fSwKKyAgICAgICJtb2NrX2RhdGEiOiB7fSwKKyAgICAgICJleHBlY3Rl ZF9kYXRhIjogeworICAgICAgICAic3RhdHVzX2NvZGUiOiAyMDAKKyAgICAgIH0KKyAgICB9LAor ICAgIHsKKyAgICAgICJuYW1lIjogIkRlYnVnZ2VyIGluaXRpYWxpemF0aW9uIG5vZGV0eXBlIiwK KyAgICAgICJ1cmwiOiAiL2RlYnVnZ2VyL2luaXQvZnVuY3Rpb24vIiwKKyAgICAgICJpc19wb3Np dGl2ZV90ZXN0IjogZmFsc2UsCisgICAgICAibW9ja2luZ19yZXF1aXJlZCI6IHRydWUsCisgICAg ICAibm9kZV90eXBlIjogImZ1bmN0aW9uIiwKKyAgICAgICJpbnZhbGlkX25hbWUiOiBmYWxzZSwK KyAgICAgICJhZGRfZXh0ZW5zaW9uIjogZmFsc2UsCisgICAgICAidGVzdF9kYXRhIjoge30sCisg ICAgICAibW9ja19kYXRhIjogeworICAgICAgICAiZnVuY3Rpb25fbmFtZSI6ICJwZ2FkbWluLnV0 aWxzLmRyaXZlci5wc3ljb3BnMi5jb25uZWN0aW9uLkNvbm5lY3Rpb24uZXhlY3V0ZV9kaWN0IiwK KyAgICAgICAgInJldHVybl92YWx1ZSI6ICIoRmFsc2UsICdNb2NrZWQgSW50ZXJuYWwgU2VydmVy IEVycm9yIHdoaWxlIGZldGNoaW5nIGZ1bmN0aW9uIGRldGFpbHMgZm9yIGRlYnVnZ2VyLicpIgor ICAgICAgfSwKKyAgICAgICJleHBlY3RlZF9kYXRhIjogeworICAgICAgICAic3RhdHVzX2NvZGUi OiA1MDAKKyAgICAgIH0KKyAgICB9LAorICAgIHsKKyAgICAgICJuYW1lIjogIkRlYnVnZ2VyIGlu aXRpYWxpemF0aW9uOiBGdW5jdGlvbiBpcyBub3QgZm91bmQiLAorICAgICAgInVybCI6ICIvZGVi dWdnZXIvaW5pdC9mdW5jdGlvbi8iLAorICAgICAgImlzX3Bvc2l0aXZlX3Rlc3QiOiBmYWxzZSwK KyAgICAgICJtb2NraW5nX3JlcXVpcmVkIjogdHJ1ZSwKKyAgICAgICJpbnZhbGlkX25hbWUiOiBm YWxzZSwKKyAgICAgICJhZGRfZXh0ZW5zaW9uIjogZmFsc2UsCisgICAgICAibm9kZV90eXBlIjog ImZ1bmN0aW9uIiwKKyAgICAgICJ0ZXN0X2RhdGEiOiB7fSwKKyAgICAgICJtb2NrX2RhdGEiOiB7 CisgICAgICAgICJmdW5jdGlvbl9uYW1lIjogInBnYWRtaW4udXRpbHMuZHJpdmVyLnBzeWNvcGcy LmNvbm5lY3Rpb24uQ29ubmVjdGlvbi5leGVjdXRlX2RpY3QiLAorICAgICAgICAicmV0dXJuX3Zh bHVlIjogIihUcnVlLCB7J3Jvd3MnOiBbXX0pIgorICAgICAgfSwKKyAgICAgICJleHBlY3RlZF9k YXRhIjogeworICAgICAgICAic3RhdHVzX2NvZGUiOiA0MTAKKyAgICAgIH0KKyAgICB9LAorICAg IHsKKyAgICAgICJuYW1lIjogIkRlYnVnZ2VyIGluaXRpYWxpemF0aW9uOiBDaGVjayBGdW5jdGlv biBpcyBkZWJ1Z2dhYmxlIiwKKyAgICAgICJ1cmwiOiAiL2RlYnVnZ2VyL2luaXQvZnVuY3Rpb24v IiwKKyAgICAgICJpc19wb3NpdGl2ZV90ZXN0IjogZmFsc2UsCisgICAgICAibW9ja2luZ19yZXF1 aXJlZCI6IHRydWUsCisgICAgICAiaW52YWxpZF9uYW1lIjogZmFsc2UsCisgICAgICAiYWRkX2V4 dGVuc2lvbiI6IGZhbHNlLAorICAgICAgIm5vZGVfdHlwZSI6ICJmdW5jdGlvbiIsCisgICAgICAi dGVzdF9kYXRhIjoge30sCisgICAgICAibW9ja19kYXRhIjogeworICAgICAgICAiZnVuY3Rpb25f bmFtZSI6ICJwZ2FkbWluLnV0aWxzLmRyaXZlci5wc3ljb3BnMi5jb25uZWN0aW9uLkNvbm5lY3Rp b24uZXhlY3V0ZV9zY2FsYXIiLAorICAgICAgICAicmV0dXJuX3ZhbHVlIjogIihGYWxzZSwgJ01v Y2tlZCBJbnRlcm5hbCBTZXJ2ZXIgRXJyb3Igd2hpbGUgY2hlY2tpbmcgZnVuY3Rpb24gaXMgZGVi dWdnYWJsZS4nKSIKKyAgICAgIH0sCisgICAgICAiZXhwZWN0ZWRfZGF0YSI6IHsKKyAgICAgICAg InN0YXR1c19jb2RlIjogNTAwCisgICAgICB9CisgICAgfSwKKyAgICB7CisgICAgICAibmFtZSI6 ICJEZWJ1Z2dlciBpbml0aWFsaXphdGlvbjogQ2hlY2sgRnVuY3Rpb24gaXMgZGVidWdnYWJsZSBm YWlsIiwKKyAgICAgICJ1cmwiOiAiL2RlYnVnZ2VyL2luaXQvZnVuY3Rpb24vIiwKKyAgICAgICJp c19wb3NpdGl2ZV90ZXN0IjogZmFsc2UsCisgICAgICAibW9ja2luZ19yZXF1aXJlZCI6IHRydWUs CisgICAgICAibW9ja19tdWx0aXBsZV9jYWxscyI6IHRydWUsCisgICAgICAiaW52YWxpZF9uYW1l IjogZmFsc2UsCisgICAgICAiYWRkX2V4dGVuc2lvbiI6IGZhbHNlLAorICAgICAgIm5vZGVfdHlw ZSI6ICJmdW5jdGlvbiIsCisgICAgICAidGVzdF9kYXRhIjoge30sCisgICAgICAibW9ja19kYXRh IjogeworICAgICAgICAiZnVuY3Rpb25fbmFtZSI6ICJwZ2FkbWluLnV0aWxzLmRyaXZlci5wc3lj b3BnMi5jb25uZWN0aW9uLkNvbm5lY3Rpb24uZXhlY3V0ZV9zY2FsYXIiLAorICAgICAgICAicmV0 dXJuX3ZhbHVlIjogIihUcnVlLCAwKSwoRmFsc2UsICdNb2NrZWQgSW50ZXJuYWwgU2VydmVyIEVy cm9yICcpIgorICAgICAgfSwKKyAgICAgICJleHBlY3RlZF9kYXRhIjogeworICAgICAgICAic3Rh dHVzX2NvZGUiOiA1MDAKKyAgICAgIH0KKyAgICB9LAorICAgIHsKKyAgICAgICJuYW1lIjogIkRl YnVnZ2VyIGluaXRpYWxpemF0aW9uOiBDaGVjayBGdW5jdGlvbiBuYW1lIGlzIHZhbGlkIiwKKyAg ICAgICJ1cmwiOiAiL2RlYnVnZ2VyL2luaXQvZnVuY3Rpb24vIiwKKyAgICAgICJpc19wb3NpdGl2 ZV90ZXN0IjogZmFsc2UsCisgICAgICAibW9ja2luZ19yZXF1aXJlZCI6IGZhbHNlLAorICAgICAg ImludmFsaWRfbmFtZSI6IHRydWUsCisgICAgICAiYWRkX2V4dGVuc2lvbiI6IGZhbHNlLAorICAg ICAgIm5vZGVfdHlwZSI6ICJmdW5jdGlvbiIsCisgICAgICAidGVzdF9kYXRhIjoge30sCisgICAg ICAibW9ja19kYXRhIjogeworICAgICAgfSwKKyAgICAgICJleHBlY3RlZF9kYXRhIjogeworICAg ICAgICAic3RhdHVzX2NvZGUiOiA1MDAKKyAgICAgIH0KKyAgICB9LAorICAgIHsKKyAgICAgICJu YW1lIjogIkRlYnVnZ2VyIGluaXRpYWxpemF0aW9uOiBwbGRnZ2FwaSBleHRlbnNpb24gbWlzc2lu Zy4iLAorICAgICAgInVybCI6ICIvZGVidWdnZXIvaW5pdC9mdW5jdGlvbi8iLAorICAgICAgImlz X3Bvc2l0aXZlX3Rlc3QiOiBmYWxzZSwKKyAgICAgICJtb2NraW5nX3JlcXVpcmVkIjogdHJ1ZSwK KyAgICAgICJtb2NrX211bHRpcGxlX2NhbGxzIjogdHJ1ZSwKKyAgICAgICJpbnZhbGlkX25hbWUi OiBmYWxzZSwKKyAgICAgICJhZGRfZXh0ZW5zaW9uIjogZmFsc2UsCisgICAgICAibm9kZV90eXBl IjogImZ1bmN0aW9uIiwKKyAgICAgICJ0ZXN0X2RhdGEiOiB7fSwKKyAgICAgICJtb2NrX2RhdGEi OiB7CisgICAgICAgICJmdW5jdGlvbl9uYW1lIjogInBnYWRtaW4udXRpbHMuZHJpdmVyLnBzeWNv cGcyLmNvbm5lY3Rpb24uQ29ubmVjdGlvbi5leGVjdXRlX3NjYWxhciIsCisgICAgICAgICJyZXR1 cm5fdmFsdWUiOiAiKFRydWUsICcwJyksIChUcnVlLCAnMCcpIgorICAgICAgfSwKKyAgICAgICJl eHBlY3RlZF9kYXRhIjogeworICAgICAgICAic3RhdHVzX2NvZGUiOiA1MDAKKyAgICAgIH0KKyAg ICB9CisgIF0sCisgICJpbml0X2RlYnVnZ2VyX2Zvcl90cmlnZ2VyIjogWworICAgIHsKKyAgICAg ICJuYW1lIjogIkRlYnVnZ2VyIGluaXRpYWxpemF0aW9uIGZvciB0cmlnZ2VyIiwKKyAgICAgICJ1 cmwiOiAiL2RlYnVnZ2VyL2luaXQvdHJpZ2dlci8iLAorICAgICAgImlzX3Bvc2l0aXZlX3Rlc3Qi OiB0cnVlLAorICAgICAgIm1vY2tpbmdfcmVxdWlyZWQiOiBmYWxzZSwKKyAgICAgICJub2RlX3R5 cGUiOiAidHJpZ2dlciIsCisgICAgICAiaW52YWxpZF9uYW1lIjogZmFsc2UsCisgICAgICAiYWRk X2V4dGVuc2lvbiI6IHRydWUsCisgICAgICAidGVzdF9kYXRhIjogeworICAgICAgICAibmFtZSI6 ICJQTEFDRV9IT0xERVIiLAorICAgICAgICAiaXNfcm93X3RyaWdnZXIiOiB0cnVlLAorICAgICAg ICAiZmlyZXMiOiAiQkVGT1JFIiwKKyAgICAgICAgImNvbHVtbnMiOiBbXSwKKyAgICAgICAgInRm dW5jdGlvbiI6ICJQTEFDRV9IT0xERVIiLAorICAgICAgICAiZXZudF9pbnNlcnQiOiB0cnVlCisg ICAgICB9LAorICAgICAgIm1vY2tfZGF0YSI6IHt9LAorICAgICAgImV4cGVjdGVkX2RhdGEiOiB7 CisgICAgICAgICJzdGF0dXNfY29kZSI6IDIwMAorICAgICAgfQorICAgIH0seworICAgICAgIm5h bWUiOiAiRGVidWdnZXIgaW5pdGlhbGl6YXRpb24gZm9yIHRyaWdnZXI6IGZhaWwiLAorICAgICAg InVybCI6ICIvZGVidWdnZXIvaW5pdC90cmlnZ2VyLyIsCisgICAgICAiaXNfcG9zaXRpdmVfdGVz dCI6IGZhbHNlLAorICAgICAgIm1vY2tpbmdfcmVxdWlyZWQiOiB0cnVlLAorICAgICAgIm5vZGVf dHlwZSI6ICJ0cmlnZ2VyIiwKKyAgICAgICJpbnZhbGlkX25hbWUiOiBmYWxzZSwKKyAgICAgICJh ZGRfZXh0ZW5zaW9uIjogZmFsc2UsCisgICAgICAidGVzdF9kYXRhIjogeworICAgICAgICAibmFt ZSI6ICJQTEFDRV9IT0xERVIiLAorICAgICAgICAiaXNfcm93X3RyaWdnZXIiOiB0cnVlLAorICAg ICAgICAiZmlyZXMiOiAiQkVGT1JFIiwKKyAgICAgICAgImNvbHVtbnMiOiBbXSwKKyAgICAgICAg InRmdW5jdGlvbiI6ICJQTEFDRV9IT0xERVIiLAorICAgICAgICAiZXZudF9pbnNlcnQiOiB0cnVl CisgICAgICB9LAorICAgICAgIm1vY2tfZGF0YSI6IHsKKyAgICAgICAgImZ1bmN0aW9uX25hbWUi OiAicGdhZG1pbi51dGlscy5kcml2ZXIucHN5Y29wZzIuY29ubmVjdGlvbi5Db25uZWN0aW9uLmV4 ZWN1dGVfZGljdCIsCisgICAgICAgICJyZXR1cm5fdmFsdWUiOiAiKEZhbHNlLCAnTW9ja2VkIElu dGVybmFsIFNlcnZlciBFcnJvciB3aGlsZSBjaGVja2luZyBkZWJ1Z2dlciBpbml0aWFsaXplIGRp cmVjdC4nKSIKKyAgICAgIH0sCisgICAgICAiZXhwZWN0ZWRfZGF0YSI6IHsKKyAgICAgICAgInN0 YXR1c19jb2RlIjogNTAwCisgICAgICB9CisgICAgfQorICBdLAorICAiaW5pdF9kZWJ1Z2dlcl90 YXJnZXQiOiBbCisgICAgeworICAgICAgIm5hbWUiOiAiRGVidWdnZXIgaW5pdGlhbGl6ZSB0YXJn ZXQgZGlyZWN0IiwKKyAgICAgICJ1cmwiOiAiL2RlYnVnZ2VyL2luaXRpYWxpemVfdGFyZ2V0L2Rp cmVjdC8iLAorICAgICAgImlzX3Bvc2l0aXZlX3Rlc3QiOiB0cnVlLAorICAgICAgIm1vY2tpbmdf cmVxdWlyZWQiOiBmYWxzZSwKKyAgICAgICJub2RlX3R5cGUiOiAidHJpZ2dlciIsCisgICAgICAi dHlwZSI6ICJkaXJlY3QiLAorICAgICAgImludmFsaWRfbmFtZSI6IGZhbHNlLAorICAgICAgImFk ZF9leHRlbnNpb24iOiB0cnVlLAorICAgICAgInRlc3RfZGF0YSI6IHt9LAorICAgICAgIm1vY2tf ZGF0YSI6IHt9LAorICAgICAgImV4cGVjdGVkX2RhdGEiOiB7CisgICAgICAgICJzdGF0dXNfY29k ZSI6IDIwMAorICAgICAgfQorICAgIH0seworICAgICAgIm5hbWUiOiAiRGVidWdnZXIgaW5pdGlh bGl6ZSB0YXJnZXQgZGlyZWN0IG5lZ2F0aXZlIiwKKyAgICAgICJ1cmwiOiAiL2RlYnVnZ2VyL2lu aXRpYWxpemVfdGFyZ2V0L2RpcmVjdC8iLAorICAgICAgImlzX3Bvc2l0aXZlX3Rlc3QiOiBmYWxz ZSwKKyAgICAgICJtb2NraW5nX3JlcXVpcmVkIjogdHJ1ZSwKKyAgICAgICJub2RlX3R5cGUiOiAi dHJpZ2dlciIsCisgICAgICAidHlwZSI6ICJkaXJlY3QiLAorICAgICAgImludmFsaWRfbmFtZSI6 IGZhbHNlLAorICAgICAgImFkZF9leHRlbnNpb24iOiBmYWxzZSwKKyAgICAgICJ0ZXN0X2RhdGEi OiB7fSwKKyAgICAgICJtb2NrX2RhdGEiOiB7CisgICAgICAgICJmdW5jdGlvbl9uYW1lIjogInBn YWRtaW4udXRpbHMuZHJpdmVyLnBzeWNvcGcyLmNvbm5lY3Rpb24uQ29ubmVjdGlvbi5leGVjdXRl X2RpY3QiLAorICAgICAgICAicmV0dXJuX3ZhbHVlIjogIihGYWxzZSwgJ01vY2tlZCBJbnRlcm5h bCBTZXJ2ZXIgRXJyb3Igd2hpbGUgY2hlY2tpbmcgZGVidWdnZXIgaW5pdGlhbGl6ZSBkaXJlY3Qu JykiCisgICAgICB9LAorICAgICAgImV4cGVjdGVkX2RhdGEiOiB7CisgICAgICAgICJzdGF0dXNf Y29kZSI6IDUwMAorICAgICAgfQorICAgIH0sCisgICAgeworICAgICAgIm5hbWUiOiAiRGVidWdn ZXIgaW5pdGlhbGl6ZSB0YXJnZXQgZGlyZWN0IG5lZ2F0aXZlIHZhbGlkYXRlIGRlYnVnZ2VyIiwK KyAgICAgICJ1cmwiOiAiL2RlYnVnZ2VyL2luaXRpYWxpemVfdGFyZ2V0L2RpcmVjdC8iLAorICAg ICAgImlzX3Bvc2l0aXZlX3Rlc3QiOiBmYWxzZSwKKyAgICAgICJtb2NraW5nX3JlcXVpcmVkIjog dHJ1ZSwKKyAgICAgICJub2RlX3R5cGUiOiAidHJpZ2dlciIsCisgICAgICAidHlwZSI6ICJkaXJl Y3QiLAorICAgICAgImludmFsaWRfbmFtZSI6IGZhbHNlLAorICAgICAgImFkZF9leHRlbnNpb24i OiBmYWxzZSwKKyAgICAgICJ0ZXN0X2RhdGEiOiB7fSwKKyAgICAgICJtb2NrX2RhdGEiOiB7Cisg ICAgICAgICJmdW5jdGlvbl9uYW1lIjogInBnYWRtaW4udXRpbHMuZHJpdmVyLnBzeWNvcGcyLmNv bm5lY3Rpb24uQ29ubmVjdGlvbi5leGVjdXRlX3NjYWxhciIsCisgICAgICAgICJyZXR1cm5fdmFs dWUiOiAiKEZhbHNlLCAnTW9ja2VkIEludGVybmFsIFNlcnZlciBFcnJvciB3aGlsZSBjaGVja2lu ZyBkZWJ1Z2dlciBpbml0aWFsaXplIGRpcmVjdC4nKSIKKyAgICAgIH0sCisgICAgICAiZXhwZWN0 ZWRfZGF0YSI6IHsKKyAgICAgICAgInN0YXR1c19jb2RlIjogNTAwCisgICAgICB9CisgICAgfSwK KyAgICB7CisgICAgICAibmFtZSI6ICJEZWJ1Z2dlciBpbml0aWFsaXplIHRhcmdldCBkaXJlY3Qg bmVnYXRpdmUgdmFsaWRhdGUgaW5kaXJlY3QgZGVidWdnZXIiLAorICAgICAgInVybCI6ICIvZGVi dWdnZXIvaW5pdGlhbGl6ZV90YXJnZXQvaW5kaXJlY3QvIiwKKyAgICAgICJpc19wb3NpdGl2ZV90 ZXN0IjogZmFsc2UsCisgICAgICAibW9ja2luZ19yZXF1aXJlZCI6IHRydWUsCisgICAgICAibm9k ZV90eXBlIjogInRyaWdnZXIiLAorICAgICAgInR5cGUiOiAiZGlyZWN0IiwKKyAgICAgICJpbnZh bGlkX25hbWUiOiBmYWxzZSwKKyAgICAgICJhZGRfZXh0ZW5zaW9uIjogZmFsc2UsCisgICAgICAi dGVzdF9kYXRhIjoge30sCisgICAgICAibW9ja19kYXRhIjogeworICAgICAgICAiZnVuY3Rpb25f bmFtZSI6ICJwZ2FkbWluLnV0aWxzLmRyaXZlci5wc3ljb3BnMi5jb25uZWN0aW9uLkNvbm5lY3Rp b24uZXhlY3V0ZV9zY2FsYXIiLAorICAgICAgICAicmV0dXJuX3ZhbHVlIjogIihGYWxzZSwgJ01v Y2tlZCBJbnRlcm5hbCBTZXJ2ZXIgRXJyb3Igd2hpbGUgY2hlY2tpbmcgZGVidWdnZXIgaW5pdGlh bGl6ZSBkaXJlY3QuJykiCisgICAgICB9LAorICAgICAgImV4cGVjdGVkX2RhdGEiOiB7CisgICAg ICAgICJzdGF0dXNfY29kZSI6IDUwMAorICAgICAgfQorICAgIH0sCisgICAgeworICAgICAgIm5h bWUiOiAiRGVidWdnZXIgaW5pdGlhbGl6ZSB0YXJnZXQgZGlyZWN0IG5lZ2F0aXZlIGNvbm5lY3Rp b24gZXJyb3IiLAorICAgICAgInVybCI6ICIvZGVidWdnZXIvaW5pdGlhbGl6ZV90YXJnZXQvaW5k aXJlY3QvIiwKKyAgICAgICJpc19wb3NpdGl2ZV90ZXN0IjogZmFsc2UsCisgICAgICAibW9ja2lu Z19yZXF1aXJlZCI6IHRydWUsCisgICAgICAibm9kZV90eXBlIjogInRyaWdnZXIiLAorICAgICAg InR5cGUiOiAiZGlyZWN0IiwKKyAgICAgICJpbnZhbGlkX25hbWUiOiBmYWxzZSwKKyAgICAgICJh ZGRfZXh0ZW5zaW9uIjogZmFsc2UsCisgICAgICAidGVzdF9kYXRhIjoge30sCisgICAgICAibW9j a19kYXRhIjogeworICAgICAgICAiZnVuY3Rpb25fbmFtZSI6ICJwZ2FkbWluLnV0aWxzLmRyaXZl ci5wc3ljb3BnMi5jb25uZWN0aW9uLkNvbm5lY3Rpb24uY29ubmVjdCIsCisgICAgICAgICJyZXR1 cm5fdmFsdWUiOiAiKEZhbHNlLCAnTW9ja2VkIEludGVybmFsIFNlcnZlciBFcnJvciB3aGlsZSBj aGVja2luZyBkZWJ1Z2dlciBpbml0aWFsaXplIGRpcmVjdC4nKSIKKyAgICAgIH0sCisgICAgICAi ZXhwZWN0ZWRfZGF0YSI6IHsKKyAgICAgICAgInN0YXR1c19jb2RlIjogNTAwCisgICAgICB9Cisg ICAgfSwKKyAgICB7CisgICAgICAibmFtZSI6ICJEZWJ1Z2dlciBpbml0aWFsaXplIHRhcmdldCBp bmRpcmVjdCIsCisgICAgICAidXJsIjogIi9kZWJ1Z2dlci9pbml0aWFsaXplX3RhcmdldC9pbmRp cmVjdC8iLAorICAgICAgImlzX3Bvc2l0aXZlX3Rlc3QiOiB0cnVlLAorICAgICAgIm1vY2tpbmdf cmVxdWlyZWQiOiBmYWxzZSwKKyAgICAgICJub2RlX3R5cGUiOiAidHJpZ2dlciIsCisgICAgICAi dHlwZSI6ICJkaXJlY3QiLAorICAgICAgImludmFsaWRfbmFtZSI6IGZhbHNlLAorICAgICAgImFk ZF9leHRlbnNpb24iOiBmYWxzZSwKKyAgICAgICJ0ZXN0X2RhdGEiOiB7fSwKKyAgICAgICJtb2Nr X2RhdGEiOiB7fSwKKyAgICAgICJleHBlY3RlZF9kYXRhIjogeworICAgICAgICAic3RhdHVzX2Nv ZGUiOiAyMDAKKyAgICAgIH0KKyAgICB9LAorICAgIHsKKyAgICAgICJuYW1lIjogIkRlYnVnZ2Vy IGluaXRpYWxpemUgdGFyZ2V0IGRpcmVjdCB3aXRoIHRyaWdnZXIgaWQiLAorICAgICAgInVybCI6 ICIvZGVidWdnZXIvaW5pdGlhbGl6ZV90YXJnZXQvZGlyZWN0LyIsCisgICAgICAiaXNfcG9zaXRp dmVfdGVzdCI6IHRydWUsCisgICAgICAibW9ja2luZ19yZXF1aXJlZCI6IGZhbHNlLAorICAgICAg Im5vZGVfdHlwZSI6ICJ0cmlnZ2VyIiwKKyAgICAgICJ0eXBlIjogImRpcmVjdCIsCisgICAgICAi aW52YWxpZF9uYW1lIjogZmFsc2UsCisgICAgICAiY3JlYXRlX3RyaWdnZXJfZnVuYyI6IHRydWUs CisgICAgICAiYWRkX2V4dGVuc2lvbiI6IGZhbHNlLAorICAgICAgInRlc3RfZGF0YSI6IHsKKyAg ICAgICAgIm5hbWUiOiAiUExBQ0VfSE9MREVSIiwKKyAgICAgICAgImlzX3Jvd190cmlnZ2VyIjog dHJ1ZSwKKyAgICAgICAgImZpcmVzIjogIkJFRk9SRSIsCisgICAgICAgICJjb2x1bW5zIjogW10s CisgICAgICAgICJ0ZnVuY3Rpb24iOiAiUExBQ0VfSE9MREVSIiwKKyAgICAgICAgImV2bnRfaW5z ZXJ0IjogdHJ1ZQorICAgICAgfSwKKyAgICAgICJtb2NrX2RhdGEiOiB7fSwKKyAgICAgICJleHBl Y3RlZF9kYXRhIjogeworICAgICAgICAic3RhdHVzX2NvZGUiOiAyMDAKKyAgICAgIH0KKyAgICB9 LAorICAgIHsKKyAgICAgICJuYW1lIjogIkRlYnVnZ2VyIGluaXRpYWxpemUgdGFyZ2V0IGRpcmVj dCB3aXRoIHRyaWdnZXIgaWQiLAorICAgICAgInVybCI6ICIvZGVidWdnZXIvaW5pdGlhbGl6ZV90 YXJnZXQvZGlyZWN0LyIsCisgICAgICAiaXNfcG9zaXRpdmVfdGVzdCI6IGZhbHNlLAorICAgICAg Im1vY2tpbmdfcmVxdWlyZWQiOiB0cnVlLAorICAgICAgIm5vZGVfdHlwZSI6ICJ0cmlnZ2VyIiwK KyAgICAgICJpbnZhbGlkX25hbWUiOiBmYWxzZSwKKyAgICAgICJjcmVhdGVfdHJpZ2dlcl9mdW5j IjogdHJ1ZSwKKyAgICAgICJhZGRfZXh0ZW5zaW9uIjogZmFsc2UsCisgICAgICAidHlwZSI6ICJk aXJlY3QiLAorICAgICAgInRlc3RfZGF0YSI6IHsKKyAgICAgICAgIm5hbWUiOiAiUExBQ0VfSE9M REVSIiwKKyAgICAgICAgImlzX3Jvd190cmlnZ2VyIjogdHJ1ZSwKKyAgICAgICAgImZpcmVzIjog IkJFRk9SRSIsCisgICAgICAgICJjb2x1bW5zIjogW10sCisgICAgICAgICJ0ZnVuY3Rpb24iOiAi UExBQ0VfSE9MREVSIiwKKyAgICAgICAgImV2bnRfaW5zZXJ0IjogdHJ1ZQorICAgICAgfSwKKyAg ICAgICJtb2NrX2RhdGEiOiB7CisgICAgICAgICJmdW5jdGlvbl9uYW1lIjogInBnYWRtaW4udXRp bHMuZHJpdmVyLnBzeWNvcGcyLmNvbm5lY3Rpb24uQ29ubmVjdGlvbi5leGVjdXRlX2RpY3QiLAor ICAgICAgICAicmV0dXJuX3ZhbHVlIjogIihGYWxzZSwgJ01vY2tlZCBJbnRlcm5hbCBTZXJ2ZXIg RXJyb3Igd2hpbGUgY2hlY2tpbmcgZGVidWdnZXIgaW5pdGlhbGl6ZSB0YXJnZXQgZGlyZWN0Licp IgorICAgICAgfSwKKyAgICAgICJleHBlY3RlZF9kYXRhIjogeworICAgICAgICAic3RhdHVzX2Nv ZGUiOiA1MDAKKyAgICAgIH0KKyAgICB9LHsKKyAgICAgICJuYW1lIjogIkRlYnVnZ2VyIGluaXRp YWxpemUgdGFyZ2V0IGRpcmVjdCB3aXRoIHRyaWdnZXIgaWQgZmFpbCIsCisgICAgICAidXJsIjog Ii9kZWJ1Z2dlci9pbml0aWFsaXplX3RhcmdldC9kaXJlY3QvIiwKKyAgICAgICJpc19wb3NpdGl2 ZV90ZXN0IjogZmFsc2UsCisgICAgICAibW9ja2luZ19yZXF1aXJlZCI6IHRydWUsCisgICAgICAi bm9kZV90eXBlIjogInRyaWdnZXIiLAorICAgICAgInR5cGUiOiAiZGlyZWN0IiwKKyAgICAgICJp bnZhbGlkX25hbWUiOiBmYWxzZSwKKyAgICAgICJjcmVhdGVfdHJpZ2dlcl9mdW5jIjogdHJ1ZSwK KyAgICAgICJhZGRfZXh0ZW5zaW9uIjogZmFsc2UsCisgICAgICAibW9ja19tdWx0aXBsZSI6IHRy dWUsCisgICAgICAidGVzdF9kYXRhIjogeworICAgICAgICAibmFtZSI6ICJQTEFDRV9IT0xERVIi LAorICAgICAgICAiaXNfcm93X3RyaWdnZXIiOiB0cnVlLAorICAgICAgICAiZmlyZXMiOiAiQkVG T1JFIiwKKyAgICAgICAgImNvbHVtbnMiOiBbXSwKKyAgICAgICAgInRmdW5jdGlvbiI6ICJQTEFD RV9IT0xERVIiLAorICAgICAgICAiZXZudF9pbnNlcnQiOiB0cnVlCisgICAgICB9LAorICAgICAg Im1vY2tfZGF0YSI6IHsKKyAgICAgICAgImZ1bmN0aW9uX25hbWUiOiAicGdhZG1pbi51dGlscy5k cml2ZXIucHN5Y29wZzIuY29ubmVjdGlvbi5Db25uZWN0aW9uLmV4ZWN1dGVfc2NhbGFyIiwKKyAg ICAgICAgInJldHVybl92YWx1ZSI6ICIoVHJ1ZSwgMCksIChGYWxzZSwgJ01vY2tlZCBJbnRlcm5h bCBTZXJ2ZXIgRXJyb3Igd2hpbGUgY2hlY2tpbmcgZGVidWdnZXIgaW5pdGlhbGl6ZSB0YXJnZXQg ZGlyZWN0LicpIgorICAgICAgfSwKKyAgICAgICJleHBlY3RlZF9kYXRhIjogeworICAgICAgICAi c3RhdHVzX2NvZGUiOiA1MDAKKyAgICAgIH0KKyAgICB9LAorICAgIHsKKyAgICAgICJuYW1lIjog IkRlYnVnZ2VyIGluaXRpYWxpemUgdGFyZ2V0IGluZGlyZWN0IHdpdGggdHJpZ2dlciBpZCBmYWls IiwKKyAgICAgICJ1cmwiOiAiL2RlYnVnZ2VyL2luaXRpYWxpemVfdGFyZ2V0L2luZGlyZWN0LyIs CisgICAgICAiaXNfcG9zaXRpdmVfdGVzdCI6IGZhbHNlLAorICAgICAgIm1vY2tpbmdfcmVxdWly ZWQiOiB0cnVlLAorICAgICAgIm5vZGVfdHlwZSI6ICJ0cmlnZ2VyIiwKKyAgICAgICJ0eXBlIjog ImRpcmVjdCIsCisgICAgICAiaW52YWxpZF9uYW1lIjogZmFsc2UsCisgICAgICAiY3JlYXRlX3Ry aWdnZXJfZnVuYyI6IHRydWUsCisgICAgICAiYWRkX2V4dGVuc2lvbiI6IGZhbHNlLAorICAgICAg Im1vY2tfbXVsdGlwbGUiOiBmYWxzZSwKKyAgICAgICJ0ZXN0X2RhdGEiOiB7CisgICAgICAgICJu YW1lIjogIlBMQUNFX0hPTERFUiIsCisgICAgICAgICJpc19yb3dfdHJpZ2dlciI6IHRydWUsCisg ICAgICAgICJmaXJlcyI6ICJCRUZPUkUiLAorICAgICAgICAiY29sdW1ucyI6IFtdLAorICAgICAg ICAidGZ1bmN0aW9uIjogIlBMQUNFX0hPTERFUiIsCisgICAgICAgICJldm50X2luc2VydCI6IHRy dWUKKyAgICAgIH0sCisgICAgICAibW9ja19kYXRhIjogeworICAgICAgICAiZnVuY3Rpb25fbmFt ZSI6ICJwZ2FkbWluLnV0aWxzLmRyaXZlci5wc3ljb3BnMi5jb25uZWN0aW9uLkNvbm5lY3Rpb24u ZXhlY3V0ZV9zY2FsYXIiLAorICAgICAgICAicmV0dXJuX3ZhbHVlIjogIihUcnVlLCB7fSkiCisg ICAgICB9LAorICAgICAgImV4cGVjdGVkX2RhdGEiOiB7CisgICAgICAgICJzdGF0dXNfY29kZSI6 IDUwMAorICAgICAgfQorICAgIH0sCisgICAgeworICAgICAgIm5hbWUiOiAiRGVidWdnZXIgaW5p dGlhbGl6ZSB0YXJnZXQgZGVidWdnZXIgdmVyc2lvbiBub3QgdmFsaWQuIiwKKyAgICAgICJ1cmwi OiAiL2RlYnVnZ2VyL2luaXRpYWxpemVfdGFyZ2V0L2RpcmVjdC8iLAorICAgICAgImlzX3Bvc2l0 aXZlX3Rlc3QiOiBmYWxzZSwKKyAgICAgICJtb2NraW5nX3JlcXVpcmVkIjogdHJ1ZSwKKyAgICAg ICJub2RlX3R5cGUiOiAidHJpZ2dlciIsCisgICAgICAidHlwZSI6ICJkaXJlY3QiLAorICAgICAg ImludmFsaWRfbmFtZSI6IGZhbHNlLAorICAgICAgImNyZWF0ZV90cmlnZ2VyX2Z1bmMiOiB0cnVl LAorICAgICAgImFkZF9leHRlbnNpb24iOiBmYWxzZSwKKyAgICAgICJtb2NrX211bHRpcGxlIjog dHJ1ZSwKKyAgICAgICJ0ZXN0X2RhdGEiOiB7CisgICAgICAgICJuYW1lIjogIlBMQUNFX0hPTERF UiIsCisgICAgICAgICJpc19yb3dfdHJpZ2dlciI6IHRydWUsCisgICAgICAgICJmaXJlcyI6ICJC RUZPUkUiLAorICAgICAgICAiY29sdW1ucyI6IFtdLAorICAgICAgICAidGZ1bmN0aW9uIjogIlBM QUNFX0hPTERFUiIsCisgICAgICAgICJldm50X2luc2VydCI6IHRydWUKKyAgICAgIH0sCisgICAg ICAibW9ja19kYXRhIjogeworICAgICAgICAiZnVuY3Rpb25fbmFtZSI6ICJwZ2FkbWluLnV0aWxz LmRyaXZlci5wc3ljb3BnMi5jb25uZWN0aW9uLkNvbm5lY3Rpb24uZXhlY3V0ZV9zY2FsYXIiLAor ICAgICAgICAicmV0dXJuX3ZhbHVlIjogIihUcnVlLCAnJyksIChUcnVlLCAnJyksIChGYWxzZSwn TW9ja2luZyBpbnZhbGlkIGRlYnVnZ2VyLicpIgorICAgICAgfSwKKyAgICAgICJleHBlY3RlZF9k YXRhIjogeworICAgICAgICAic3RhdHVzX2NvZGUiOiA1MDAKKyAgICAgIH0KKyAgICB9CisgIF0s CisgICJjbG9zZV9kZWJ1Z2dlciI6IFsKKyAgICB7CisgICAgICAibmFtZSI6ICJDbG9zZSBEZWJ1 Z2dlciIsCisgICAgICAidXJsIjogImRlYnVnZ2VyL2Nsb3NlLyIsCisgICAgICAiaXNfcG9zaXRp dmVfdGVzdCI6IHRydWUsCisgICAgICAibW9ja2luZ19yZXF1aXJlZCI6IGZhbHNlLAorICAgICAg Im5vZGVfdHlwZSI6ICJ0cmlnZ2VyIiwKKyAgICAgICJpbnZhbGlkX25hbWUiOiBmYWxzZSwKKyAg ICAgICJhZGRfZXh0ZW5zaW9uIjogdHJ1ZSwKKyAgICAgICJ0ZXN0X2RhdGEiOiB7fSwKKyAgICAg ICJtb2NrX2RhdGEiOiB7fSwKKyAgICAgICJleHBlY3RlZF9kYXRhIjogeworICAgICAgICAic3Rh dHVzX2NvZGUiOiAyMDAKKyAgICAgIH0KKyAgICB9CisgIF0sCisgICJyZXN0YXJ0X2RlYnVnZ2Vy IjogWworICAgIHsKKyAgICAgICJuYW1lIjogIlJlc3RhcnQgRGVidWdnZXI6IERlYnVnZ2VyIG5v dCB0cmlnZ2VyZWQuIiwKKyAgICAgICJ1cmwiOiAiZGVidWdnZXIvcmVzdGFydC8iLAorICAgICAg ImlzX3Bvc2l0aXZlX3Rlc3QiOiB0cnVlLAorICAgICAgIm1vY2tpbmdfcmVxdWlyZWQiOiBmYWxz ZSwKKyAgICAgICJ0eXBlIjogInRyaWdnZXIiLAorICAgICAgImludmFsaWRfbmFtZSI6IGZhbHNl LAorICAgICAgImFkZF9leHRlbnNpb24iOiB0cnVlLAorICAgICAgImluaXRfdGFyZ2V0IjogZmFs c2UsCisgICAgICAidGVzdF9kYXRhIjoge30sCisgICAgICAibW9ja19kYXRhIjoge30sCisgICAg ICAiZXhwZWN0ZWRfZGF0YSI6IHsKKyAgICAgICAgInN0YXR1c19jb2RlIjogMjAwCisgICAgICB9 CisgICAgfSwKKyAgICB7CisgICAgICAibmFtZSI6ICJSZXN0YXJ0IERlYnVnZ2VyOiBEZWJ1Z2dl ciBpbml0aWFsaXplZC4iLAorICAgICAgInVybCI6ICJkZWJ1Z2dlci9yZXN0YXJ0LyIsCisgICAg ICAiaXNfcG9zaXRpdmVfdGVzdCI6IHRydWUsCisgICAgICAibW9ja2luZ19yZXF1aXJlZCI6IGZh bHNlLAorICAgICAgInR5cGUiOiAidHJpZ2dlciIsCisgICAgICAiaW52YWxpZF9uYW1lIjogZmFs c2UsCisgICAgICAiaW5pdF90YXJnZXQiOiB0cnVlLAorICAgICAgImFkZF9leHRlbnNpb24iOiBm YWxzZSwKKyAgICAgICJ0ZXN0X2RhdGEiOiB7fSwKKyAgICAgICJtb2NrX2RhdGEiOiB7fSwKKyAg ICAgICJleHBlY3RlZF9kYXRhIjogeworICAgICAgICAic3RhdHVzX2NvZGUiOiAyMDAKKyAgICAg IH0KKyAgICB9LAorICAgIHsKKyAgICAgICJuYW1lIjogIlJlc3RhcnQgRGVidWdnZXI6IFNlcnZl ciBub3QgY29ubmVjdGVkLiIsCisgICAgICAidXJsIjogImRlYnVnZ2VyL3Jlc3RhcnQvIiwKKyAg ICAgICJpc19wb3NpdGl2ZV90ZXN0IjogZmFsc2UsCisgICAgICAibW9ja2luZ19yZXF1aXJlZCI6 IHRydWUsCisgICAgICAidHlwZSI6ICJ0cmlnZ2VyIiwKKyAgICAgICJpbnZhbGlkX25hbWUiOiBm YWxzZSwKKyAgICAgICJpbml0X3RhcmdldCI6IHRydWUsCisgICAgICAiYWRkX2V4dGVuc2lvbiI6 IGZhbHNlLAorICAgICAgInRlc3RfZGF0YSI6IHt9LAorICAgICAgIm1vY2tfZGF0YSI6IHsKKyAg ICAgICAgImZ1bmN0aW9uX25hbWUiOiAicGdhZG1pbi51dGlscy5kcml2ZXIucHN5Y29wZzIuY29u bmVjdGlvbi5Db25uZWN0aW9uLmNvbm5lY3RlZCIsCisgICAgICAgICJyZXR1cm5fdmFsdWUiOiAi RmFsc2UiCisgICAgICB9LAorICAgICAgImV4cGVjdGVkX2RhdGEiOiB7CisgICAgICAgICJzdGF0 dXNfY29kZSI6IDIwMAorICAgICAgfQorICAgIH0KKyAgXSwKKyAgInN0YXJ0X2xpc3RlbmVyIjog WworICAgIHsKKyAgICAgICJuYW1lIjogIkRlYnVnZ2VyIHN0YXJ0IGxpc3RlbmVyIiwKKyAgICAg ICJ1cmwiOiAiZGVidWdnZXIvc3RhcnRfbGlzdGVuZXIvIiwKKyAgICAgICJpc19wb3NpdGl2ZV90 ZXN0IjogdHJ1ZSwKKyAgICAgICJtb2NraW5nX3JlcXVpcmVkIjogZmFsc2UsCisgICAgICAidHlw ZSI6ICJkaXJlY3QiLAorICAgICAgImludmFsaWRfbmFtZSI6IGZhbHNlLAorICAgICAgImFkZF9l eHRlbnNpb24iOiB0cnVlLAorICAgICAgImluaXRfdGFyZ2V0IjogdHJ1ZSwKKyAgICAgICJ0ZXN0 X2RhdGEiOiB7CisgICAgICAgICJhY2wiOiBbXSwKKyAgICAgICAgImFyZ3VtZW50cyI6IFtdLAor ICAgICAgICAiZnVuY293bmVyIjogIiIsCisgICAgICAgICJsYW5uYW1lIjogInBscGdzcWwiLAor ICAgICAgICAibmFtZSI6ICJ0ZXN0X2Z1bmN0aW9uXyFAIyQlXiYqKCIsCisgICAgICAgICJvcHRp b25zIjogW10sCisgICAgICAgICJwcm9iaW4iOiAiJGxpYmRpci8iLAorICAgICAgICAicHJvbmFt ZXNwYWNlIjogMjIwMCwKKyAgICAgICAgInByb3JldHR5cGVuYW1lIjogImNoYXJhY3RlciB2YXJ5 aW5nIiwKKyAgICAgICAgInByb3Jvd3MiOiAwLAorICAgICAgICAicHJvc3JjIjogImJlZ2luIHNl bGVjdCAnMSc7IGVuZCIsCisgICAgICAgICJzZWNsYWJlbHMiOiBbXSwKKyAgICAgICAgInZhcmlh YmxlcyI6IFtdCisgICAgICB9LAorICAgICAgIm1vY2tfZGF0YSI6IHt9LAorICAgICAgImV4cGVj dGVkX2RhdGEiOiB7CisgICAgICAgICJzdGF0dXNfY29kZSI6IDIwMAorICAgICAgfQorICAgIH0s CisgICAgeworICAgICAgIm5hbWUiOiAiRGVidWdnZXIgc3RhcnQgbGlzdGVuZXIgZmFpbCIsCisg ICAgICAidXJsIjogImRlYnVnZ2VyL3N0YXJ0X2xpc3RlbmVyLyIsCisgICAgICAiaXNfcG9zaXRp dmVfdGVzdCI6IGZhbHNlLAorICAgICAgIm1vY2tpbmdfcmVxdWlyZWQiOiBmYWxzZSwKKyAgICAg ICJ0eXBlIjogImRpcmVjdCIsCisgICAgICAiaW52YWxpZF9uYW1lIjogZmFsc2UsCisgICAgICAi YWRkX2V4dGVuc2lvbiI6IGZhbHNlLAorICAgICAgImluaXRfdGFyZ2V0IjogZmFsc2UsCisgICAg ICAidGVzdF9kYXRhIjogeworICAgICAgICAiYWNsIjogW10sCisgICAgICAgICJhcmd1bWVudHMi OiBbXSwKKyAgICAgICAgImZ1bmNvd25lciI6ICIiLAorICAgICAgICAibGFubmFtZSI6ICJwbHBn c3FsIiwKKyAgICAgICAgIm5hbWUiOiAidGVzdF9mdW5jdGlvbl8hQCMkJV4mKigiLAorICAgICAg ICAib3B0aW9ucyI6IFtdLAorICAgICAgICAicHJvYmluIjogIiRsaWJkaXIvIiwKKyAgICAgICAg InByb25hbWVzcGFjZSI6IDIyMDAsCisgICAgICAgICJwcm9yZXR0eXBlbmFtZSI6ICJjaGFyYWN0 ZXIgdmFyeWluZyIsCisgICAgICAgICJwcm9yb3dzIjogMCwKKyAgICAgICAgInByb3NyYyI6ICJi ZWdpbiBzZWxlY3QgJzEnOyBlbmQiLAorICAgICAgICAic2VjbGFiZWxzIjogW10sCisgICAgICAg ICJ2YXJpYWJsZXMiOiBbXQorICAgICAgfSwKKyAgICAgICJtb2NrX2RhdGEiOiB7fSwKKyAgICAg ICJleHBlY3RlZF9kYXRhIjogeworICAgICAgICAic3RhdHVzX2NvZGUiOiAyMDAKKyAgICAgIH0K KyAgICB9LAorICAgIHsKKyAgICAgICJuYW1lIjogIkRlYnVnZ2VyIHN0YXJ0IGxpc3RlbmVyIGNv bm5lY3Rpb24gZmFpbCIsCisgICAgICAidXJsIjogImRlYnVnZ2VyL3N0YXJ0X2xpc3RlbmVyLyIs CisgICAgICAiaXNfcG9zaXRpdmVfdGVzdCI6IGZhbHNlLAorICAgICAgIm1vY2tpbmdfcmVxdWly ZWQiOiB0cnVlLAorICAgICAgInR5cGUiOiAiZGlyZWN0IiwKKyAgICAgICJpbnZhbGlkX25hbWUi OiBmYWxzZSwKKyAgICAgICJhZGRfZXh0ZW5zaW9uIjogZmFsc2UsCisgICAgICAiaW5pdF90YXJn ZXQiOiB0cnVlLAorICAgICAgInRlc3RfZGF0YSI6IHsKKyAgICAgICAgImFjbCI6IFtdLAorICAg ICAgICAiYXJndW1lbnRzIjogW10sCisgICAgICAgICJmdW5jb3duZXIiOiAiIiwKKyAgICAgICAg Imxhbm5hbWUiOiAicGxwZ3NxbCIsCisgICAgICAgICJuYW1lIjogInRlc3RfZnVuY3Rpb25fIUAj JCVeJiooIiwKKyAgICAgICAgIm9wdGlvbnMiOiBbXSwKKyAgICAgICAgInByb2JpbiI6ICIkbGli ZGlyLyIsCisgICAgICAgICJwcm9uYW1lc3BhY2UiOiAyMjAwLAorICAgICAgICAicHJvcmV0dHlw ZW5hbWUiOiAiY2hhcmFjdGVyIHZhcnlpbmciLAorICAgICAgICAicHJvcm93cyI6IDAsCisgICAg ICAgICJwcm9zcmMiOiAiYmVnaW4gc2VsZWN0ICcxJzsgZW5kIiwKKyAgICAgICAgInNlY2xhYmVs cyI6IFtdLAorICAgICAgICAidmFyaWFibGVzIjogW10KKyAgICAgIH0sCisgICAgICAibW9ja19k YXRhIjogeworICAgICAgICAiZnVuY3Rpb25fbmFtZSI6ICJwZ2FkbWluLnV0aWxzLmRyaXZlci5w c3ljb3BnMi5jb25uZWN0aW9uLkNvbm5lY3Rpb24uY29ubmVjdGVkIiwKKyAgICAgICAgInJldHVy bl92YWx1ZSI6ICJGYWxzZSIKKyAgICAgIH0sCisgICAgICAiZXhwZWN0ZWRfZGF0YSI6IHsKKyAg ICAgICAgInN0YXR1c19jb2RlIjogMjAwCisgICAgICB9CisgICAgfSwKKyAgICB7CisgICAgICAi bmFtZSI6ICJEZWJ1Z2dlciBzdGFydCBsaXN0ZW5lciBpbmRpcmVjdCIsCisgICAgICAidXJsIjog ImRlYnVnZ2VyL3N0YXJ0X2xpc3RlbmVyLyIsCisgICAgICAiaXNfcG9zaXRpdmVfdGVzdCI6IHRy dWUsCisgICAgICAibW9ja2luZ19yZXF1aXJlZCI6IGZhbHNlLAorICAgICAgInR5cGUiOiAiaW5k aXJlY3QiLAorICAgICAgImludmFsaWRfbmFtZSI6IGZhbHNlLAorICAgICAgImFkZF9leHRlbnNp b24iOiBmYWxzZSwKKyAgICAgICJpbml0X3RhcmdldCI6IHRydWUsCisgICAgICAidGVzdF9kYXRh IjogeworICAgICAgICAiYWNsIjogW10sCisgICAgICAgICJhcmd1bWVudHMiOiBbXSwKKyAgICAg ICAgImZ1bmNvd25lciI6ICIiLAorICAgICAgICAibGFubmFtZSI6ICJwbHBnc3FsIiwKKyAgICAg ICAgIm5hbWUiOiAidGVzdF9mdW5jdGlvbl8hQCMkJV4mKigiLAorICAgICAgICAib3B0aW9ucyI6 IFtdLAorICAgICAgICAicHJvYmluIjogIiRsaWJkaXIvIiwKKyAgICAgICAgInByb25hbWVzcGFj ZSI6IDIyMDAsCisgICAgICAgICJwcm9yZXR0eXBlbmFtZSI6ICJjaGFyYWN0ZXIgdmFyeWluZyIs CisgICAgICAgICJwcm9yb3dzIjogMCwKKyAgICAgICAgInByb3NyYyI6ICJiZWdpbiBzZWxlY3Qg JzEnOyBlbmQiLAorICAgICAgICAic2VjbGFiZWxzIjogW10sCisgICAgICAgICJ2YXJpYWJsZXMi OiBbXQorICAgICAgfSwKKyAgICAgICJtb2NrX2RhdGEiOiB7CisgICAgICB9LAorICAgICAgImV4 cGVjdGVkX2RhdGEiOiB7CisgICAgICAgICJzdGF0dXNfY29kZSI6IDIwMAorICAgICAgfQorICAg IH0sCisgICAgeworICAgICAgIm5hbWUiOiAiRGVidWdnZXIgc3RhcnQgbGlzdGVuZXIgaW5kaXJl Y3QgZGlzY29ubmVjdGVkIiwKKyAgICAgICJ1cmwiOiAiZGVidWdnZXIvc3RhcnRfbGlzdGVuZXIv IiwKKyAgICAgICJpc19wb3NpdGl2ZV90ZXN0IjogZmFsc2UsCisgICAgICAibW9ja2luZ19yZXF1 aXJlZCI6IHRydWUsCisgICAgICAidHlwZSI6ICJpbmRpcmVjdCIsCisgICAgICAiaW52YWxpZF9u YW1lIjogZmFsc2UsCisgICAgICAiYWRkX2V4dGVuc2lvbiI6IGZhbHNlLAorICAgICAgImluaXRf dGFyZ2V0IjogdHJ1ZSwKKyAgICAgICJ0ZXN0X2RhdGEiOiB7CisgICAgICAgICJhY2wiOiBbXSwK KyAgICAgICAgImFyZ3VtZW50cyI6IFtdLAorICAgICAgICAiZnVuY293bmVyIjogIiIsCisgICAg ICAgICJsYW5uYW1lIjogInBscGdzcWwiLAorICAgICAgICAibmFtZSI6ICJ0ZXN0X2Z1bmN0aW9u XyFAIyQlXiYqKCIsCisgICAgICAgICJvcHRpb25zIjogW10sCisgICAgICAgICJwcm9iaW4iOiAi JGxpYmRpci8iLAorICAgICAgICAicHJvbmFtZXNwYWNlIjogMjIwMCwKKyAgICAgICAgInByb3Jl dHR5cGVuYW1lIjogImNoYXJhY3RlciB2YXJ5aW5nIiwKKyAgICAgICAgInByb3Jvd3MiOiAwLAor ICAgICAgICAicHJvc3JjIjogImJlZ2luIHNlbGVjdCAnMSc7IGVuZCIsCisgICAgICAgICJzZWNs YWJlbHMiOiBbXSwKKyAgICAgICAgInZhcmlhYmxlcyI6IFtdCisgICAgICB9LAorICAgICAgIm1v Y2tfZGF0YSI6IHsKKyAgICAgICAgImZ1bmN0aW9uX25hbWUiOiAicGdhZG1pbi51dGlscy5kcml2 ZXIucHN5Y29wZzIuY29ubmVjdGlvbi5Db25uZWN0aW9uLmNvbm5lY3RlZCIsCisgICAgICAgICJy ZXR1cm5fdmFsdWUiOiAiRmFsc2UiCisgICAgICB9LAorICAgICAgImV4cGVjdGVkX2RhdGEiOiB7 CisgICAgICAgICJzdGF0dXNfY29kZSI6IDIwMAorICAgICAgfQorICAgIH0KKyAgXSwKKyAgImRl YnVnZ2VyX21lc3NhZ2VzIjogWworICAgIHsKKyAgICAgICJuYW1lIjogIkRlYnVnZ2VyIE1lc3Nh Z2VzIiwKKyAgICAgICJ1cmwiOiAiZGVidWdnZXIvbWVzc2FnZXMvIiwKKyAgICAgICJpc19wb3Np dGl2ZV90ZXN0IjogdHJ1ZSwKKyAgICAgICJtb2NraW5nX3JlcXVpcmVkIjogZmFsc2UsCisgICAg ICAidHlwZSI6ICJpbmRpcmVjdCIsCisgICAgICAiaW52YWxpZF9uYW1lIjogZmFsc2UsCisgICAg ICAiYWRkX2V4dGVuc2lvbiI6IHRydWUsCisgICAgICAiaW5pdF90YXJnZXQiOiB0cnVlLAorICAg ICAgInRlc3RfZGF0YSI6IHsKKyAgICAgICAgImFjbCI6IFtdLAorICAgICAgICAiYXJndW1lbnRz IjogW10sCisgICAgICAgICJmdW5jb3duZXIiOiAiIiwKKyAgICAgICAgImxhbm5hbWUiOiAicGxw Z3NxbCIsCisgICAgICAgICJuYW1lIjogInRlc3RfZnVuY3Rpb25fIUAjJCVeJiooIiwKKyAgICAg ICAgIm9wdGlvbnMiOiBbXSwKKyAgICAgICAgInByb2JpbiI6ICIkbGliZGlyLyIsCisgICAgICAg ICJwcm9uYW1lc3BhY2UiOiAyMjAwLAorICAgICAgICAicHJvcmV0dHlwZW5hbWUiOiAiY2hhcmFj dGVyIHZhcnlpbmciLAorICAgICAgICAicHJvcm93cyI6IDAsCisgICAgICAgICJwcm9zcmMiOiAi YmVnaW4gc2VsZWN0ICcxJzsgZW5kIiwKKyAgICAgICAgInNlY2xhYmVscyI6IFtdLAorICAgICAg ICAidmFyaWFibGVzIjogW10KKyAgICAgIH0sCisgICAgICAibW9ja19kYXRhIjogeworICAgICAg fSwKKyAgICAgICJleHBlY3RlZF9kYXRhIjogeworICAgICAgICAic3RhdHVzX2NvZGUiOiAyMDAK KyAgICAgIH0KKyAgICB9LHsKKyAgICAgICJuYW1lIjogIkRlYnVnZ2VyIE1lc3NhZ2VzOiBjb25u ZWN0aW9uIGZhaWwiLAorICAgICAgInVybCI6ICJkZWJ1Z2dlci9tZXNzYWdlcy8iLAorICAgICAg ImlzX3Bvc2l0aXZlX3Rlc3QiOiBmYWxzZSwKKyAgICAgICJtb2NraW5nX3JlcXVpcmVkIjogdHJ1 ZSwKKyAgICAgICJ0eXBlIjogImluZGlyZWN0IiwKKyAgICAgICJpbnZhbGlkX25hbWUiOiBmYWxz ZSwKKyAgICAgICJhZGRfZXh0ZW5zaW9uIjogZmFsc2UsCisgICAgICAiaW5pdF90YXJnZXQiOiB0 cnVlLAorICAgICAgInRlc3RfZGF0YSI6IHsKKyAgICAgICAgImFjbCI6IFtdLAorICAgICAgICAi YXJndW1lbnRzIjogW10sCisgICAgICAgICJmdW5jb3duZXIiOiAiIiwKKyAgICAgICAgImxhbm5h bWUiOiAicGxwZ3NxbCIsCisgICAgICAgICJuYW1lIjogInRlc3RfZnVuY3Rpb25fIUAjJCVeJioo IiwKKyAgICAgICAgIm9wdGlvbnMiOiBbXSwKKyAgICAgICAgInByb2JpbiI6ICIkbGliZGlyLyIs CisgICAgICAgICJwcm9uYW1lc3BhY2UiOiAyMjAwLAorICAgICAgICAicHJvcmV0dHlwZW5hbWUi OiAiY2hhcmFjdGVyIHZhcnlpbmciLAorICAgICAgICAicHJvcm93cyI6IDAsCisgICAgICAgICJw cm9zcmMiOiAiYmVnaW4gc2VsZWN0ICcxJzsgZW5kIiwKKyAgICAgICAgInNlY2xhYmVscyI6IFtd LAorICAgICAgICAidmFyaWFibGVzIjogW10KKyAgICAgIH0sCisgICAgICAibW9ja19kYXRhIjog eworICAgICAgICAiZnVuY3Rpb25fbmFtZSI6ICJwZ2FkbWluLnV0aWxzLmRyaXZlci5wc3ljb3Bn Mi5jb25uZWN0aW9uLkNvbm5lY3Rpb24uY29ubmVjdGVkIiwKKyAgICAgICAgInJldHVybl92YWx1 ZSI6ICJGYWxzZSIKKyAgICAgIH0sCisgICAgICAiZXhwZWN0ZWRfZGF0YSI6IHsKKyAgICAgICAg InN0YXR1c19jb2RlIjogNTAwCisgICAgICB9CisgICAgfSx7CisgICAgICAibmFtZSI6ICJEZWJ1 Z2dlciBNZXNzYWdlczogZGVidWdnZXIgaW5zdGFjZSBmYWlsIiwKKyAgICAgICJ1cmwiOiAiZGVi dWdnZXIvbWVzc2FnZXMvIiwKKyAgICAgICJpc19wb3NpdGl2ZV90ZXN0IjogZmFsc2UsCisgICAg ICAibW9ja2luZ19yZXF1aXJlZCI6IGZhbHNlLAorICAgICAgInR5cGUiOiAiaW5kaXJlY3QiLAor ICAgICAgImludmFsaWRfbmFtZSI6IGZhbHNlLAorICAgICAgImFkZF9leHRlbnNpb24iOiBmYWxz ZSwKKyAgICAgICJpbml0X3RhcmdldCI6IGZhbHNlLAorICAgICAgInRlc3RfZGF0YSI6IHsKKyAg ICAgICAgImFjbCI6IFtdLAorICAgICAgICAiYXJndW1lbnRzIjogW10sCisgICAgICAgICJmdW5j b3duZXIiOiAiIiwKKyAgICAgICAgImxhbm5hbWUiOiAicGxwZ3NxbCIsCisgICAgICAgICJuYW1l IjogInRlc3RfZnVuY3Rpb25fIUAjJCVeJiooIiwKKyAgICAgICAgIm9wdGlvbnMiOiBbXSwKKyAg ICAgICAgInByb2JpbiI6ICIkbGliZGlyLyIsCisgICAgICAgICJwcm9uYW1lc3BhY2UiOiAyMjAw LAorICAgICAgICAicHJvcmV0dHlwZW5hbWUiOiAiY2hhcmFjdGVyIHZhcnlpbmciLAorICAgICAg ICAicHJvcm93cyI6IDAsCisgICAgICAgICJwcm9zcmMiOiAiYmVnaW4gc2VsZWN0ICcxJzsgZW5k IiwKKyAgICAgICAgInNlY2xhYmVscyI6IFtdLAorICAgICAgICAidmFyaWFibGVzIjogW10KKyAg ICAgIH0sCisgICAgICAibW9ja19kYXRhIjogeworICAgICAgfSwKKyAgICAgICJleHBlY3RlZF9k YXRhIjogeworICAgICAgICAic3RhdHVzX2NvZGUiOiAyMDAKKyAgICAgIH0KKyAgICB9CisgIF0s CisgICJzdGFydF9leGVjdXRpb24iOiBbCisgICAgeworICAgICAgIm5hbWUiOiAiRGVidWdnZXIg U3RhcnQgRXhlY3V0aW9uIiwKKyAgICAgICJ1cmwiOiAiZGVidWdnZXIvc3RhcnRfZXhlY3V0aW9u LyIsCisgICAgICAiaXNfcG9zaXRpdmVfdGVzdCI6IHRydWUsCisgICAgICAibW9ja2luZ19yZXF1 aXJlZCI6IGZhbHNlLAorICAgICAgInR5cGUiOiAiZGlyZWN0IiwKKyAgICAgICJpbnZhbGlkX25h bWUiOiBmYWxzZSwKKyAgICAgICJhZGRfZXh0ZW5zaW9uIjogdHJ1ZSwKKyAgICAgICJpbml0X3Rh cmdldCI6IHRydWUsCisgICAgICAiYWRkX3BvcnRfbm8iOiB0cnVlLAorICAgICAgInRlc3RfZGF0 YSI6IHsKKyAgICAgICAgImFjbCI6IFtdLAorICAgICAgICAiYXJndW1lbnRzIjogW10sCisgICAg ICAgICJmdW5jb3duZXIiOiAiIiwKKyAgICAgICAgImxhbm5hbWUiOiAicGxwZ3NxbCIsCisgICAg ICAgICJuYW1lIjogInRlc3RfZnVuY3Rpb25fIUAjJCVeJiooIiwKKyAgICAgICAgIm9wdGlvbnMi OiBbXSwKKyAgICAgICAgInByb2JpbiI6ICIkbGliZGlyLyIsCisgICAgICAgICJwcm9uYW1lc3Bh Y2UiOiAyMjAwLAorICAgICAgICAicHJvcmV0dHlwZW5hbWUiOiAiY2hhcmFjdGVyIHZhcnlpbmci LAorICAgICAgICAicHJvcm93cyI6IDAsCisgICAgICAgICJwcm9zcmMiOiAiYmVnaW4gc2VsZWN0 ICcxJzsgZW5kIiwKKyAgICAgICAgInNlY2xhYmVscyI6IFtdLAorICAgICAgICAidmFyaWFibGVz IjogW10KKyAgICAgIH0sCisgICAgICAibW9ja19kYXRhIjogeworCisgICAgICB9LAorICAgICAg ImV4cGVjdGVkX2RhdGEiOiB7CisgICAgICAgICJzdGF0dXNfY29kZSI6IDIwMAorICAgICAgfQor ICAgIH0KKyAgXSwKKyAgInBvbGxfZW5kX2V4ZWN1dGlvbl9yZXN1bHQiOiBbCisgICAgeworICAg ICAgIm5hbWUiOiAiRGVidWdnZXIgUG9sbCBFeGVjdXRpb24gUmVzdWx0cy4iLAorICAgICAgInVy bCI6ICJkZWJ1Z2dlci9wb2xsX2VuZF9leGVjdXRpb25fcmVzdWx0LyIsCisgICAgICAiaXNfcG9z aXRpdmVfdGVzdCI6IHRydWUsCisgICAgICAibW9ja2luZ19yZXF1aXJlZCI6IGZhbHNlLAorICAg ICAgInR5cGUiOiAiZGlyZWN0IiwKKyAgICAgICJhZGRfZXh0ZW5zaW9uIjogdHJ1ZSwKKyAgICAg ICJpbml0X3RhcmdldCI6IHRydWUsCisgICAgICAidGVzdF9kYXRhIjogeworICAgICAgICAiYWNs IjogW10sCisgICAgICAgICJhcmd1bWVudHMiOiBbXSwKKyAgICAgICAgImZ1bmNvd25lciI6ICIi LAorICAgICAgICAibGFubmFtZSI6ICJwbHBnc3FsIiwKKyAgICAgICAgIm5hbWUiOiAidGVzdF9m dW5jdGlvbl8hQCMkJV4mKigiLAorICAgICAgICAib3B0aW9ucyI6IFtdLAorICAgICAgICAicHJv YmluIjogIiRsaWJkaXIvIiwKKyAgICAgICAgInByb25hbWVzcGFjZSI6IDIyMDAsCisgICAgICAg ICJwcm9yZXR0eXBlbmFtZSI6ICJjaGFyYWN0ZXIgdmFyeWluZyIsCisgICAgICAgICJwcm9yb3dz IjogMCwKKyAgICAgICAgInByb3NyYyI6ICJiZWdpbiBzZWxlY3QgJzEnOyBlbmQiLAorICAgICAg ICAic2VjbGFiZWxzIjogW10sCisgICAgICAgICJ2YXJpYWJsZXMiOiBbXQorICAgICAgfSwKKyAg ICAgICJtb2NrX2RhdGEiOiB7CisgICAgICB9LAorICAgICAgImV4cGVjdGVkX2RhdGEiOiB7Cisg ICAgICAgICJzdGF0dXNfY29kZSI6IDIwMAorICAgICAgfQorICAgIH0sCisgICAgeworICAgICAg Im5hbWUiOiAiRGVidWdnZXIgUG9sbCBFeGVjdXRpb24gUmVzdWx0czogQ29ubmVjdGlvbiBmYWls IiwKKyAgICAgICJ1cmwiOiAiZGVidWdnZXIvcG9sbF9lbmRfZXhlY3V0aW9uX3Jlc3VsdC8iLAor ICAgICAgImlzX3Bvc2l0aXZlX3Rlc3QiOiBmYWxzZSwKKyAgICAgICJtb2NraW5nX3JlcXVpcmVk IjogdHJ1ZSwKKyAgICAgICJ0eXBlIjogImRpcmVjdCIsCisgICAgICAiYWRkX2V4dGVuc2lvbiI6 IGZhbHNlLAorICAgICAgImluaXRfdGFyZ2V0IjogdHJ1ZSwKKyAgICAgICJ0ZXN0X2RhdGEiOiB7 CisgICAgICAgICJhY2wiOiBbXSwKKyAgICAgICAgImFyZ3VtZW50cyI6IFtdLAorICAgICAgICAi ZnVuY293bmVyIjogIiIsCisgICAgICAgICJsYW5uYW1lIjogInBscGdzcWwiLAorICAgICAgICAi bmFtZSI6ICJ0ZXN0X2Z1bmN0aW9uXyFAIyQlXiYqKCIsCisgICAgICAgICJvcHRpb25zIjogW10s CisgICAgICAgICJwcm9iaW4iOiAiJGxpYmRpci8iLAorICAgICAgICAicHJvbmFtZXNwYWNlIjog MjIwMCwKKyAgICAgICAgInByb3JldHR5cGVuYW1lIjogImNoYXJhY3RlciB2YXJ5aW5nIiwKKyAg ICAgICAgInByb3Jvd3MiOiAwLAorICAgICAgICAicHJvc3JjIjogImJlZ2luIHNlbGVjdCAnMSc7 IGVuZCIsCisgICAgICAgICJzZWNsYWJlbHMiOiBbXSwKKyAgICAgICAgInZhcmlhYmxlcyI6IFtd CisgICAgICB9LAorICAgICAgIm1vY2tfZGF0YSI6IHsKKyAgICAgICAgImZ1bmN0aW9uX25hbWUi OiAicGdhZG1pbi51dGlscy5kcml2ZXIucHN5Y29wZzIuY29ubmVjdGlvbi5Db25uZWN0aW9uLmNv bm5lY3RlZCIsCisgICAgICAgICJyZXR1cm5fdmFsdWUiOiAiRmFsc2UiCisgICAgICB9LAorICAg ICAgImV4cGVjdGVkX2RhdGEiOiB7CisgICAgICAgICJzdGF0dXNfY29kZSI6IDIwMAorICAgICAg fQorICAgIH0sCisgICAgeworICAgICAgIm5hbWUiOiAiRGVidWdnZXIgUG9sbCBFeGVjdXRpb24g UmVzdWx0czogZmFpbCB0byBwb2xsIGRhdGEuIiwKKyAgICAgICJ1cmwiOiAiZGVidWdnZXIvcG9s bF9lbmRfZXhlY3V0aW9uX3Jlc3VsdC8iLAorICAgICAgImlzX3Bvc2l0aXZlX3Rlc3QiOiBmYWxz ZSwKKyAgICAgICJtb2NraW5nX3JlcXVpcmVkIjogdHJ1ZSwKKyAgICAgICJ0eXBlIjogImRpcmVj dCIsCisgICAgICAiYWRkX2V4dGVuc2lvbiI6IGZhbHNlLAorICAgICAgImluaXRfdGFyZ2V0Ijog dHJ1ZSwKKyAgICAgICJ0ZXN0X2RhdGEiOiB7CisgICAgICAgICJhY2wiOiBbXSwKKyAgICAgICAg ImFyZ3VtZW50cyI6IFtdLAorICAgICAgICAiZnVuY293bmVyIjogIiIsCisgICAgICAgICJsYW5u YW1lIjogInBscGdzcWwiLAorICAgICAgICAibmFtZSI6ICJ0ZXN0X2Z1bmN0aW9uXyFAIyQlXiYq KCIsCisgICAgICAgICJvcHRpb25zIjogW10sCisgICAgICAgICJwcm9iaW4iOiAiJGxpYmRpci8i LAorICAgICAgICAicHJvbmFtZXNwYWNlIjogMjIwMCwKKyAgICAgICAgInByb3JldHR5cGVuYW1l IjogImNoYXJhY3RlciB2YXJ5aW5nIiwKKyAgICAgICAgInByb3Jvd3MiOiAwLAorICAgICAgICAi cHJvc3JjIjogImJlZ2luIHNlbGVjdCAnMSc7IGVuZCIsCisgICAgICAgICJzZWNsYWJlbHMiOiBb XSwKKyAgICAgICAgInZhcmlhYmxlcyI6IFtdCisgICAgICB9LAorICAgICAgIm1vY2tfZGF0YSI6 IHsKKyAgICAgICAgImZ1bmN0aW9uX25hbWUiOiAicGdhZG1pbi51dGlscy5kcml2ZXIucHN5Y29w ZzIuY29ubmVjdGlvbi5Db25uZWN0aW9uLnBvbGwiLAorICAgICAgICAicmV0dXJuX3ZhbHVlIjog IihGYWxzZSwgJ01vY2sgaW50ZXJuYWwgc2VydmVyIGVycm9yIHdoaWxlIHBvbGwgZGF0YSBmb3Ig ZGVidWdnZXIuJykiCisgICAgICB9LAorICAgICAgImV4cGVjdGVkX2RhdGEiOiB7CisgICAgICAg ICJzdGF0dXNfY29kZSI6IDIwMAorICAgICAgfQorICAgIH0KKyAgXSwKKyAgImRlYnVnZ2VyX2Rp cmVjdCI6IFsKKyAgICB7CisgICAgICAibmFtZSI6ICJEZWJ1Z2dlciBEaXJlY3Q6IEluaXQgZGVi dWdnZXIgaW4gZGlyZWN0IG1vZGUiLAorICAgICAgInVybCI6ICJkZWJ1Z2dlci9kaXJlY3QvIiwK KyAgICAgICJpc19wb3NpdGl2ZV90ZXN0IjogdHJ1ZSwKKyAgICAgICJtb2NraW5nX3JlcXVpcmVk IjogZmFsc2UsCisgICAgICAidHlwZSI6ICJkaXJlY3QiLAorICAgICAgImFkZF9leHRlbnNpb24i OiB0cnVlLAorICAgICAgImluaXRfdGFyZ2V0IjogdHJ1ZSwKKyAgICAgICJ0ZXN0X2RhdGEiOiB7 CisgICAgICAgICJhY2wiOiBbXSwKKyAgICAgICAgImFyZ3VtZW50cyI6IFtdLAorICAgICAgICAi ZnVuY293bmVyIjogIiIsCisgICAgICAgICJsYW5uYW1lIjogInBscGdzcWwiLAorICAgICAgICAi bmFtZSI6ICJ0ZXN0X2Z1bmN0aW9uXyFAIyQlXiYqKCIsCisgICAgICAgICJvcHRpb25zIjogW10s CisgICAgICAgICJwcm9iaW4iOiAiJGxpYmRpci8iLAorICAgICAgICAicHJvbmFtZXNwYWNlIjog MjIwMCwKKyAgICAgICAgInByb3JldHR5cGVuYW1lIjogImNoYXJhY3RlciB2YXJ5aW5nIiwKKyAg ICAgICAgInByb3Jvd3MiOiAwLAorICAgICAgICAicHJvc3JjIjogImJlZ2luIHNlbGVjdCAnMSc7 IGVuZCIsCisgICAgICAgICJzZWNsYWJlbHMiOiBbXSwKKyAgICAgICAgInZhcmlhYmxlcyI6IFtd CisgICAgICB9LAorICAgICAgIm1vY2tfZGF0YSI6IHsKKyAgICAgIH0sCisgICAgICAiZXhwZWN0 ZWRfZGF0YSI6IHsKKyAgICAgICAgInN0YXR1c19jb2RlIjogMjAwCisgICAgICB9CisgICAgfSwK KyAgICB7CisgICAgICAibmFtZSI6ICJEZWJ1Z2dlciBEaXJlY3Q6IEluaXQgZGVidWdnZXIgaW4g ZGlyZWN0IG1vZGUgZmFpbCIsCisgICAgICAidXJsIjogImRlYnVnZ2VyL2RpcmVjdC8iLAorICAg ICAgImlzX3Bvc2l0aXZlX3Rlc3QiOiBmYWxzZSwKKyAgICAgICJtb2NraW5nX3JlcXVpcmVkIjog ZmFsc2UsCisgICAgICAidHlwZSI6ICJkaXJlY3QiLAorICAgICAgImFkZF9leHRlbnNpb24iOiBm YWxzZSwKKyAgICAgICJpbnZhbGlkX3RyYW5zIjogdHJ1ZSwKKyAgICAgICJpbml0X3RhcmdldCI6 IHRydWUsCisgICAgICAidGVzdF9kYXRhIjogeworICAgICAgICAiYWNsIjogW10sCisgICAgICAg ICJhcmd1bWVudHMiOiBbXSwKKyAgICAgICAgImZ1bmNvd25lciI6ICIiLAorICAgICAgICAibGFu bmFtZSI6ICJwbHBnc3FsIiwKKyAgICAgICAgIm5hbWUiOiAidGVzdF9mdW5jdGlvbl8hQCMkJV4m KigiLAorICAgICAgICAib3B0aW9ucyI6IFtdLAorICAgICAgICAicHJvYmluIjogIiRsaWJkaXIv IiwKKyAgICAgICAgInByb25hbWVzcGFjZSI6IDIyMDAsCisgICAgICAgICJwcm9yZXR0eXBlbmFt ZSI6ICJjaGFyYWN0ZXIgdmFyeWluZyIsCisgICAgICAgICJwcm9yb3dzIjogMCwKKyAgICAgICAg InByb3NyYyI6ICJiZWdpbiBzZWxlY3QgJzEnOyBlbmQiLAorICAgICAgICAic2VjbGFiZWxzIjog W10sCisgICAgICAgICJ2YXJpYWJsZXMiOiBbXQorICAgICAgfSwKKyAgICAgICJtb2NrX2RhdGEi OiB7CisgICAgICAgICJmdW5jdGlvbl9uYW1lIjogIiIsCisgICAgICAgICJyZXR1cm5fdmFsdWUi OiAiIgorICAgICAgfSwKKyAgICAgICJleHBlY3RlZF9kYXRhIjogeworICAgICAgICAic3RhdHVz X2NvZGUiOiAyMDAKKyAgICAgIH0KKyAgICB9LAorICAgIHsKKyAgICAgICJuYW1lIjogIkRlYnVn Z2VyIERpcmVjdDogSW5pdCBkZWJ1Z2dlciBpbiBkaXJlY3Qgd2l0aCBhcmd1bWVudHMiLAorICAg ICAgInVybCI6ICJkZWJ1Z2dlci9kaXJlY3QvIiwKKyAgICAgICJpc19wb3NpdGl2ZV90ZXN0Ijog dHJ1ZSwKKyAgICAgICJtb2NraW5nX3JlcXVpcmVkIjogZmFsc2UsCisgICAgICAidHlwZSI6ICJk aXJlY3QiLAorICAgICAgImFkZF9leHRlbnNpb24iOiB0cnVlLAorICAgICAgImludmFsaWRfdHJh bnMiOiBmYWxzZSwKKyAgICAgICJpbml0X3RhcmdldCI6IHRydWUsCisgICAgICAidGVzdF9kYXRh IjogeworICAgICAgICAiYWNsIjogW10sCisgICAgICAgICJhcmd1bWVudHMiOiBbCisgICAgICAg ICAgeworICAgICAgICAgICAgImFyZ3R5cGUiOiAiY2hhcmFjdGVyIHZhcnlpbmciLAorICAgICAg ICAgICAgImFyZ21vZGUiOiAiSU4iLAorICAgICAgICAgICAgImFyZ25hbWUiOiAicGFyYW0iLAor ICAgICAgICAgICAgImFyZ2RlZnZhbCI6ICInMSciCisgICAgICAgICAgfQorICAgICAgICBdLAor ICAgICAgICAiZnVuY293bmVyIjogIiIsCisgICAgICAgICJsYW5uYW1lIjogInBscGdzcWwiLAor ICAgICAgICAibmFtZSI6ICJ0ZXN0X2Z1bmN0aW9uXyFAIyQlXiYqKCIsCisgICAgICAgICJvcHRp b25zIjogW10sCisgICAgICAgICJwcm9iaW4iOiAiJGxpYmRpci8iLAorICAgICAgICAicHJvbmFt ZXNwYWNlIjogMjIwMCwKKyAgICAgICAgInByb3JldHR5cGVuYW1lIjogImNoYXJhY3RlciB2YXJ5 aW5nIiwKKyAgICAgICAgInByb3Jvd3MiOiAwLAorICAgICAgICAicHJvc3JjIjogImJlZ2luIHNl bGVjdCAnMSc7IGVuZCIsCisgICAgICAgICJzZWNsYWJlbHMiOiBbXSwKKyAgICAgICAgInZhcmlh YmxlcyI6IFtdCisgICAgICB9LAorICAgICAgIm1vY2tfZGF0YSI6IHsKKyAgICAgICAgImZ1bmN0 aW9uX25hbWUiOiAiIiwKKyAgICAgICAgInJldHVybl92YWx1ZSI6ICIiCisgICAgICB9LAorICAg ICAgImV4cGVjdGVkX2RhdGEiOiB7CisgICAgICAgICJzdGF0dXNfY29kZSI6IDIwMAorICAgICAg fQorICAgIH0KKyAgXSwKKyAgImV4ZWN1dGVfcXVlcnkiOiBbCisgICAgeworICAgICAgIm5hbWUi OiAiRGVidWdnZXIgZXhlY3V0ZTogcG9zaXRpdmUiLAorICAgICAgInVybCI6ICJkZWJ1Z2dlci9l eGVjdXRlX3F1ZXJ5LyIsCisgICAgICAiaXNfcG9zaXRpdmVfdGVzdCI6IHRydWUsCisgICAgICAi bW9ja2luZ19yZXF1aXJlZCI6IGZhbHNlLAorICAgICAgInR5cGUiOiAiZGlyZWN0IiwKKyAgICAg ICJxdWVyeV90eXBlIjogIndhaXRfZm9yX2JyZWFrcG9pbnQiLAorICAgICAgImludmFsaWRfbmFt ZSI6IGZhbHNlLAorICAgICAgImFkZF9leHRlbnNpb24iOiB0cnVlLAorICAgICAgImluaXRfdGFy Z2V0IjogdHJ1ZSwKKyAgICAgICJhYm9ydF9kZWJ1Z2dlciI6IHRydWUsCisgICAgICAidGVzdF9k YXRhIjogeworICAgICAgICAiYWNsIjogW10sCisgICAgICAgICJhcmd1bWVudHMiOiBbXSwKKyAg ICAgICAgImZ1bmNvd25lciI6ICIiLAorICAgICAgICAibGFubmFtZSI6ICJwbHBnc3FsIiwKKyAg ICAgICAgIm5hbWUiOiAidGVzdF9mdW5jdGlvbl8hQCMkJV4mKigiLAorICAgICAgICAib3B0aW9u cyI6IFtdLAorICAgICAgICAicHJvYmluIjogIiRsaWJkaXIvIiwKKyAgICAgICAgInByb25hbWVz cGFjZSI6IDIyMDAsCisgICAgICAgICJwcm9yZXR0eXBlbmFtZSI6ICJjaGFyYWN0ZXIgdmFyeWlu ZyIsCisgICAgICAgICJwcm9yb3dzIjogMCwKKyAgICAgICAgInByb3NyYyI6ICJiZWdpbiBzZWxl Y3QgJzEnOyBlbmQiLAorICAgICAgICAic2VjbGFiZWxzIjogW10sCisgICAgICAgICJ2YXJpYWJs ZXMiOiBbXQorICAgICAgfSwKKyAgICAgICJtb2NrX2RhdGEiOiB7CisgICAgICB9LAorICAgICAg ImV4cGVjdGVkX2RhdGEiOiB7CisgICAgICAgICJzdGF0dXNfY29kZSI6IDIwMAorICAgICAgfQor ICAgIH0sCisgICAgeworICAgICAgIm5hbWUiOiAiRGVidWdnZXIgZXhlY3V0ZTogQ29ubmVjdGlv biBmYWlsLiIsCisgICAgICAidXJsIjogImRlYnVnZ2VyL2V4ZWN1dGVfcXVlcnkvIiwKKyAgICAg ICJpc19wb3NpdGl2ZV90ZXN0IjogZmFsc2UsCisgICAgICAibW9ja2luZ19yZXF1aXJlZCI6IHRy dWUsCisgICAgICAidHlwZSI6ICJkaXJlY3QiLAorICAgICAgInF1ZXJ5X3R5cGUiOiAid2FpdF9m b3JfYnJlYWtwb2ludCIsCisgICAgICAiaW52YWxpZF9uYW1lIjogZmFsc2UsCisgICAgICAiYWRk X2V4dGVuc2lvbiI6IGZhbHNlLAorICAgICAgImluaXRfdGFyZ2V0IjogdHJ1ZSwKKyAgICAgICJh Ym9ydF9kZWJ1Z2dlciI6IHRydWUsCisgICAgICAidGVzdF9kYXRhIjogeworICAgICAgICAiYWNs IjogW10sCisgICAgICAgICJhcmd1bWVudHMiOiBbXSwKKyAgICAgICAgImZ1bmNvd25lciI6ICIi LAorICAgICAgICAibGFubmFtZSI6ICJwbHBnc3FsIiwKKyAgICAgICAgIm5hbWUiOiAidGVzdF9m dW5jdGlvbl8hQCMkJV4mKigiLAorICAgICAgICAib3B0aW9ucyI6IFtdLAorICAgICAgICAicHJv YmluIjogIiRsaWJkaXIvIiwKKyAgICAgICAgInByb25hbWVzcGFjZSI6IDIyMDAsCisgICAgICAg ICJwcm9yZXR0eXBlbmFtZSI6ICJjaGFyYWN0ZXIgdmFyeWluZyIsCisgICAgICAgICJwcm9yb3dz IjogMCwKKyAgICAgICAgInByb3NyYyI6ICJiZWdpbiBzZWxlY3QgJzEnOyBlbmQiLAorICAgICAg ICAic2VjbGFiZWxzIjogW10sCisgICAgICAgICJ2YXJpYWJsZXMiOiBbXQorICAgICAgfSwKKyAg ICAgICJtb2NrX2RhdGEiOiB7CisgICAgICAgICJmdW5jdGlvbl9uYW1lIjogInBnYWRtaW4udXRp bHMuZHJpdmVyLnBzeWNvcGcyLmNvbm5lY3Rpb24uQ29ubmVjdGlvbi5jb25uZWN0ZWQiLAorICAg ICAgICAicmV0dXJuX3ZhbHVlIjogIkZhbHNlIgorICAgICAgfSwKKyAgICAgICJleHBlY3RlZF9k YXRhIjogeworICAgICAgICAic3RhdHVzX2NvZGUiOiA1MDAKKyAgICAgIH0KKyAgICB9LAorICAg IHsKKyAgICAgICJuYW1lIjogIkRlYnVnZ2VyIGV4ZWN1dGU6IERlYnVnZ2VyIGluc3RhbmNlIGZh aWwiLAorICAgICAgInVybCI6ICJkZWJ1Z2dlci9leGVjdXRlX3F1ZXJ5LyIsCisgICAgICAiaXNf cG9zaXRpdmVfdGVzdCI6IGZhbHNlLAorICAgICAgIm1vY2tpbmdfcmVxdWlyZWQiOiBmYWxzZSwK KyAgICAgICJ0eXBlIjogImRpcmVjdCIsCisgICAgICAicXVlcnlfdHlwZSI6ICJ3YWl0X2Zvcl9i cmVha3BvaW50IiwKKyAgICAgICJpbnZhbGlkX25hbWUiOiBmYWxzZSwKKyAgICAgICJhZGRfZXh0 ZW5zaW9uIjogZmFsc2UsCisgICAgICAiaW5pdF90YXJnZXQiOiBmYWxzZSwKKyAgICAgICJhYm9y dF9kZWJ1Z2dlciI6IHRydWUsCisgICAgICAidGVzdF9kYXRhIjogeworICAgICAgICAiYWNsIjog W10sCisgICAgICAgICJhcmd1bWVudHMiOiBbXSwKKyAgICAgICAgImZ1bmNvd25lciI6ICIiLAor ICAgICAgICAibGFubmFtZSI6ICJwbHBnc3FsIiwKKyAgICAgICAgIm5hbWUiOiAidGVzdF9mdW5j dGlvbl8hQCMkJV4mKigiLAorICAgICAgICAib3B0aW9ucyI6IFtdLAorICAgICAgICAicHJvYmlu IjogIiRsaWJkaXIvIiwKKyAgICAgICAgInByb25hbWVzcGFjZSI6IDIyMDAsCisgICAgICAgICJw cm9yZXR0eXBlbmFtZSI6ICJjaGFyYWN0ZXIgdmFyeWluZyIsCisgICAgICAgICJwcm9yb3dzIjog MCwKKyAgICAgICAgInByb3NyYyI6ICJiZWdpbiBzZWxlY3QgJzEnOyBlbmQiLAorICAgICAgICAi c2VjbGFiZWxzIjogW10sCisgICAgICAgICJ2YXJpYWJsZXMiOiBbXQorICAgICAgfSwKKyAgICAg ICJtb2NrX2RhdGEiOiB7CisgICAgICB9LAorICAgICAgImV4cGVjdGVkX2RhdGEiOiB7CisgICAg ICAgICJzdGF0dXNfY29kZSI6IDIwMAorICAgICAgfQorICAgIH0sCisgICAgeworICAgICAgIm5h bWUiOiAiRGVidWdnZXIgZXhlY3V0ZTogRGVidWdnZXIgY29udGludWUiLAorICAgICAgInVybCI6 ICJkZWJ1Z2dlci9leGVjdXRlX3F1ZXJ5LyIsCisgICAgICAiaXNfcG9zaXRpdmVfdGVzdCI6IHRy dWUsCisgICAgICAibW9ja2luZ19yZXF1aXJlZCI6IGZhbHNlLAorICAgICAgInR5cGUiOiAiZGly ZWN0IiwKKyAgICAgICJxdWVyeV90eXBlIjogImNvbnRpbnVlIiwKKyAgICAgICJpbnZhbGlkX25h bWUiOiBmYWxzZSwKKyAgICAgICJhZGRfZXh0ZW5zaW9uIjogZmFsc2UsCisgICAgICAiaW5pdF90 YXJnZXQiOiB0cnVlLAorICAgICAgImFib3J0X2RlYnVnZ2VyIjogZmFsc2UsCisgICAgICAidGVz dF9kYXRhIjogeworICAgICAgICAiYWNsIjogW10sCisgICAgICAgICJhcmd1bWVudHMiOiBbXSwK KyAgICAgICAgImZ1bmNvd25lciI6ICIiLAorICAgICAgICAibGFubmFtZSI6ICJwbHBnc3FsIiwK KyAgICAgICAgIm5hbWUiOiAidGVzdF9mdW5jdGlvbl8hQCMkJV4mKigiLAorICAgICAgICAib3B0 aW9ucyI6IFtdLAorICAgICAgICAicHJvYmluIjogIiRsaWJkaXIvIiwKKyAgICAgICAgInByb25h bWVzcGFjZSI6IDIyMDAsCisgICAgICAgICJwcm9yZXR0eXBlbmFtZSI6ICJjaGFyYWN0ZXIgdmFy eWluZyIsCisgICAgICAgICJwcm9yb3dzIjogMCwKKyAgICAgICAgInByb3NyYyI6ICJiZWdpbiBz ZWxlY3QgJzEnOyBlbmQiLAorICAgICAgICAic2VjbGFiZWxzIjogW10sCisgICAgICAgICJ2YXJp YWJsZXMiOiBbXQorICAgICAgfSwKKyAgICAgICJtb2NrX2RhdGEiOiB7CisgICAgICB9LAorICAg ICAgImV4cGVjdGVkX2RhdGEiOiB7CisgICAgICAgICJzdGF0dXNfY29kZSI6IDIwMAorICAgICAg fQorICAgIH0sCisgICAgeworICAgICAgIm5hbWUiOiAiRGVidWdnZXIgZXhlY3V0ZTogRGVidWdn ZXIgcGF0Y2ggZXJyb3IiLAorICAgICAgInVybCI6ICJkZWJ1Z2dlci9leGVjdXRlX3F1ZXJ5LyIs CisgICAgICAiaXNfcG9zaXRpdmVfdGVzdCI6IGZhbHNlLAorICAgICAgIm1vY2tpbmdfcmVxdWly ZWQiOiB0cnVlLAorICAgICAgInR5cGUiOiAiZGlyZWN0IiwKKyAgICAgICJxdWVyeV90eXBlIjog IndhaXRfZm9yX2JyZWFrcG9pbnQiLAorICAgICAgImludmFsaWRfbmFtZSI6IGZhbHNlLAorICAg ICAgImFkZF9leHRlbnNpb24iOiBmYWxzZSwKKyAgICAgICJpbml0X3RhcmdldCI6IHRydWUsCisg ICAgICAiYWJvcnRfZGVidWdnZXIiOiB0cnVlLAorICAgICAgInRlc3RfZGF0YSI6IHsKKyAgICAg ICAgImFjbCI6IFtdLAorICAgICAgICAiYXJndW1lbnRzIjogW10sCisgICAgICAgICJmdW5jb3du ZXIiOiAiIiwKKyAgICAgICAgImxhbm5hbWUiOiAicGxwZ3NxbCIsCisgICAgICAgICJuYW1lIjog InRlc3RfZnVuY3Rpb25fIUAjJCVeJiooIiwKKyAgICAgICAgIm9wdGlvbnMiOiBbXSwKKyAgICAg ICAgInByb2JpbiI6ICIkbGliZGlyLyIsCisgICAgICAgICJwcm9uYW1lc3BhY2UiOiAyMjAwLAor ICAgICAgICAicHJvcmV0dHlwZW5hbWUiOiAiY2hhcmFjdGVyIHZhcnlpbmciLAorICAgICAgICAi cHJvcm93cyI6IDAsCisgICAgICAgICJwcm9zcmMiOiAiYmVnaW4gc2VsZWN0ICcxJzsgZW5kIiwK KyAgICAgICAgInNlY2xhYmVscyI6IFtdLAorICAgICAgICAidmFyaWFibGVzIjogW10KKyAgICAg IH0sCisgICAgICAibW9ja19kYXRhIjogeworICAgICAgICAiZnVuY3Rpb25fbmFtZSI6ICJwZ2Fk bWluLnV0aWxzLmRyaXZlci5wc3ljb3BnMi5jb25uZWN0aW9uLkNvbm5lY3Rpb24uZXhlY3V0ZV9k aWN0IiwKKyAgICAgICAgInJldHVybl92YWx1ZSI6ICIoRmFsc2UsICdNb2NrZWQgSW50ZXJuYWwg U2VydmVyIEVycm9yIHdoaWxlIGZldGNoaW5nIGZ1bmN0aW9uIGRldGFpbHMgZm9yIGRlYnVnZ2Vy LicpIgorICAgICAgfSwKKyAgICAgICJleHBlY3RlZF9kYXRhIjogeworICAgICAgICAic3RhdHVz X2NvZGUiOiA1MDAKKyAgICAgIH0KKyAgICB9LAorICAgIHsKKyAgICAgICJuYW1lIjogIkRlYnVn Z2VyIGV4ZWN1dGU6IERlYnVnZ2VyIGFzeW5jIGZhaWwiLAorICAgICAgInVybCI6ICJkZWJ1Z2dl ci9leGVjdXRlX3F1ZXJ5LyIsCisgICAgICAiaXNfcG9zaXRpdmVfdGVzdCI6IGZhbHNlLAorICAg ICAgIm1vY2tpbmdfcmVxdWlyZWQiOiB0cnVlLAorICAgICAgInR5cGUiOiAiZGlyZWN0IiwKKyAg ICAgICJxdWVyeV90eXBlIjogImNvbnRpbnVlIiwKKyAgICAgICJpbnZhbGlkX25hbWUiOiBmYWxz ZSwKKyAgICAgICJhZGRfZXh0ZW5zaW9uIjogZmFsc2UsCisgICAgICAiaW5pdF90YXJnZXQiOiB0 cnVlLAorICAgICAgImFib3J0X2RlYnVnZ2VyIjogdHJ1ZSwKKyAgICAgICJ0ZXN0X2RhdGEiOiB7 CisgICAgICAgICJhY2wiOiBbXSwKKyAgICAgICAgImFyZ3VtZW50cyI6IFtdLAorICAgICAgICAi ZnVuY293bmVyIjogIiIsCisgICAgICAgICJsYW5uYW1lIjogInBscGdzcWwiLAorICAgICAgICAi bmFtZSI6ICJ0ZXN0X2Z1bmN0aW9uXyFAIyQlXiYqKCIsCisgICAgICAgICJvcHRpb25zIjogW10s CisgICAgICAgICJwcm9iaW4iOiAiJGxpYmRpci8iLAorICAgICAgICAicHJvbmFtZXNwYWNlIjog MjIwMCwKKyAgICAgICAgInByb3JldHR5cGVuYW1lIjogImNoYXJhY3RlciB2YXJ5aW5nIiwKKyAg ICAgICAgInByb3Jvd3MiOiAwLAorICAgICAgICAicHJvc3JjIjogImJlZ2luIHNlbGVjdCAnMSc7 IGVuZCIsCisgICAgICAgICJzZWNsYWJlbHMiOiBbXSwKKyAgICAgICAgInZhcmlhYmxlcyI6IFtd CisgICAgICB9LAorICAgICAgIm1vY2tfZGF0YSI6IHsKKyAgICAgICAgImZ1bmN0aW9uX25hbWUi OiAicGdhZG1pbi51dGlscy5kcml2ZXIucHN5Y29wZzIuY29ubmVjdGlvbi5Db25uZWN0aW9uLmV4 ZWN1dGVfYXN5bmMiLAorICAgICAgICAicmV0dXJuX3ZhbHVlIjogIihGYWxzZSwgJ01vY2tlZCBJ bnRlcm5hbCBTZXJ2ZXIgRXJyb3Igd2hpbGUgZmV0Y2hpbmcgZnVuY3Rpb24gZGV0YWlscyBmb3Ig ZGVidWdnZXIuJykiCisgICAgICB9LAorICAgICAgImV4cGVjdGVkX2RhdGEiOiB7CisgICAgICAg ICJzdGF0dXNfY29kZSI6IDUwMAorICAgICAgfQorICAgIH0KKyAgXSwKKyAgInBvbGxfcmVzdWx0 IjogWworICAgIHsKKyAgICAgICJuYW1lIjogIkRlYnVnZ2VyIHBvbGwgcmVzdWx0IiwKKyAgICAg ICJ1cmwiOiAiZGVidWdnZXIvcG9sbF9yZXN1bHQvIiwKKyAgICAgICJpc19wb3NpdGl2ZV90ZXN0 IjogdHJ1ZSwKKyAgICAgICJtb2NraW5nX3JlcXVpcmVkIjogZmFsc2UsCisgICAgICAidHlwZSI6 ICJpbmRpcmVjdCIsCisgICAgICAiaW52YWxpZF9uYW1lIjogZmFsc2UsCisgICAgICAiYWRkX2V4 dGVuc2lvbiI6IHRydWUsCisgICAgICAiaW5pdF90YXJnZXQiOiB0cnVlLAorICAgICAgInRlc3Rf ZGF0YSI6IHsKKyAgICAgICAgImFjbCI6IFtdLAorICAgICAgICAiYXJndW1lbnRzIjogW10sCisg ICAgICAgICJmdW5jb3duZXIiOiAiIiwKKyAgICAgICAgImxhbm5hbWUiOiAicGxwZ3NxbCIsCisg ICAgICAgICJuYW1lIjogInRlc3RfZnVuY3Rpb25fIUAjJCVeJiooIiwKKyAgICAgICAgIm9wdGlv bnMiOiBbXSwKKyAgICAgICAgInByb2JpbiI6ICIkbGliZGlyLyIsCisgICAgICAgICJwcm9uYW1l c3BhY2UiOiAyMjAwLAorICAgICAgICAicHJvcmV0dHlwZW5hbWUiOiAiY2hhcmFjdGVyIHZhcnlp bmciLAorICAgICAgICAicHJvcm93cyI6IDAsCisgICAgICAgICJwcm9zcmMiOiAiYmVnaW4gc2Vs ZWN0ICcxJzsgZW5kIiwKKyAgICAgICAgInNlY2xhYmVscyI6IFtdLAorICAgICAgICAidmFyaWFi bGVzIjogW10KKyAgICAgIH0sCisgICAgICAibW9ja19kYXRhIjogeworICAgICAgfSwKKyAgICAg ICJleHBlY3RlZF9kYXRhIjogeworICAgICAgICAic3RhdHVzX2NvZGUiOiAyMDAKKyAgICAgIH0K KyAgICB9LHsKKyAgICAgICJuYW1lIjogIkRlYnVnZ2VyIHBvbGwgcmVzdWx0OiBEaXNjb25uZWN0 ZWQiLAorICAgICAgInVybCI6ICJkZWJ1Z2dlci9wb2xsX3Jlc3VsdC8iLAorICAgICAgImlzX3Bv c2l0aXZlX3Rlc3QiOiBmYWxzZSwKKyAgICAgICJtb2NraW5nX3JlcXVpcmVkIjogdHJ1ZSwKKyAg ICAgICJ0eXBlIjogImluZGlyZWN0IiwKKyAgICAgICJpbnZhbGlkX25hbWUiOiBmYWxzZSwKKyAg ICAgICJhZGRfZXh0ZW5zaW9uIjogZmFsc2UsCisgICAgICAiaW5pdF90YXJnZXQiOiB0cnVlLAor ICAgICAgInRlc3RfZGF0YSI6IHsKKyAgICAgICAgImFjbCI6IFtdLAorICAgICAgICAiYXJndW1l bnRzIjogW10sCisgICAgICAgICJmdW5jb3duZXIiOiAiIiwKKyAgICAgICAgImxhbm5hbWUiOiAi cGxwZ3NxbCIsCisgICAgICAgICJuYW1lIjogInRlc3RfZnVuY3Rpb25fIUAjJCVeJiooIiwKKyAg ICAgICAgIm9wdGlvbnMiOiBbXSwKKyAgICAgICAgInByb2JpbiI6ICIkbGliZGlyLyIsCisgICAg ICAgICJwcm9uYW1lc3BhY2UiOiAyMjAwLAorICAgICAgICAicHJvcmV0dHlwZW5hbWUiOiAiY2hh cmFjdGVyIHZhcnlpbmciLAorICAgICAgICAicHJvcm93cyI6IDAsCisgICAgICAgICJwcm9zcmMi OiAiYmVnaW4gc2VsZWN0ICcxJzsgZW5kIiwKKyAgICAgICAgInNlY2xhYmVscyI6IFtdLAorICAg ICAgICAidmFyaWFibGVzIjogW10KKyAgICAgIH0sCisgICAgICAibW9ja19kYXRhIjogeworICAg ICAgICAiZnVuY3Rpb25fbmFtZSI6ICJwZ2FkbWluLnV0aWxzLmRyaXZlci5wc3ljb3BnMi5jb25u ZWN0aW9uLkNvbm5lY3Rpb24uY29ubmVjdGVkIiwKKyAgICAgICAgInJldHVybl92YWx1ZSI6ICJG YWxzZSIKKyAgICAgIH0sCisgICAgICAiZXhwZWN0ZWRfZGF0YSI6IHsKKyAgICAgICAgInN0YXR1 c19jb2RlIjogMjAwCisgICAgICB9CisgICAgfSx7CisgICAgICAibmFtZSI6ICJEZWJ1Z2dlciBw b2xsIHJlc3VsdDogcG9sbCBlcnJvciIsCisgICAgICAidXJsIjogImRlYnVnZ2VyL3BvbGxfcmVz dWx0LyIsCisgICAgICAiaXNfcG9zaXRpdmVfdGVzdCI6IGZhbHNlLAorICAgICAgIm1vY2tpbmdf cmVxdWlyZWQiOiB0cnVlLAorICAgICAgInR5cGUiOiAiaW5kaXJlY3QiLAorICAgICAgImludmFs aWRfbmFtZSI6IGZhbHNlLAorICAgICAgImFkZF9leHRlbnNpb24iOiBmYWxzZSwKKyAgICAgICJp bml0X3RhcmdldCI6IHRydWUsCisgICAgICAidGVzdF9kYXRhIjogeworICAgICAgICAiYWNsIjog W10sCisgICAgICAgICJhcmd1bWVudHMiOiBbXSwKKyAgICAgICAgImZ1bmNvd25lciI6ICIiLAor ICAgICAgICAibGFubmFtZSI6ICJwbHBnc3FsIiwKKyAgICAgICAgIm5hbWUiOiAidGVzdF9mdW5j dGlvbl8hQCMkJV4mKigiLAorICAgICAgICAib3B0aW9ucyI6IFtdLAorICAgICAgICAicHJvYmlu IjogIiRsaWJkaXIvIiwKKyAgICAgICAgInByb25hbWVzcGFjZSI6IDIyMDAsCisgICAgICAgICJw cm9yZXR0eXBlbmFtZSI6ICJjaGFyYWN0ZXIgdmFyeWluZyIsCisgICAgICAgICJwcm9yb3dzIjog MCwKKyAgICAgICAgInByb3NyYyI6ICJiZWdpbiBzZWxlY3QgJzEnOyBlbmQiLAorICAgICAgICAi c2VjbGFiZWxzIjogW10sCisgICAgICAgICJ2YXJpYWJsZXMiOiBbXQorICAgICAgfSwKKyAgICAg ICJtb2NrX2RhdGEiOiB7CisgICAgICAgICJmdW5jdGlvbl9uYW1lIjogInBnYWRtaW4udXRpbHMu ZHJpdmVyLnBzeWNvcGcyLmNvbm5lY3Rpb24uQ29ubmVjdGlvbi5wb2xsIiwKKyAgICAgICAgInJl dHVybl92YWx1ZSI6ICIoRmFsc2UsICdNb2NraW5nIGludGVybmFsIGVycm9yIGZvciBwb2xsIGRl YnVnZ2VyIHJlc3VsdC4nKSIKKyAgICAgIH0sCisgICAgICAiZXhwZWN0ZWRfZGF0YSI6IHsKKyAg ICAgICAgInN0YXR1c19jb2RlIjogMjAwCisgICAgICB9CisgICAgfSx7CisgICAgICAibmFtZSI6 ICJEZWJ1Z2dlciBwb2xsIHJlc3VsdDogRGVidWdnZXIgaW5zdGFuY2UgZmFpbCIsCisgICAgICAi dXJsIjogImRlYnVnZ2VyL3BvbGxfcmVzdWx0LyIsCisgICAgICAiaXNfcG9zaXRpdmVfdGVzdCI6 IGZhbHNlLAorICAgICAgIm1vY2tpbmdfcmVxdWlyZWQiOiB0cnVlLAorICAgICAgInR5cGUiOiAi aW5kaXJlY3QiLAorICAgICAgImludmFsaWRfbmFtZSI6IGZhbHNlLAorICAgICAgImFkZF9leHRl bnNpb24iOiBmYWxzZSwKKyAgICAgICJpbml0X3RhcmdldCI6IGZhbHNlLAorICAgICAgInRlc3Rf ZGF0YSI6IHsKKyAgICAgICAgImFjbCI6IFtdLAorICAgICAgICAiYXJndW1lbnRzIjogW10sCisg ICAgICAgICJmdW5jb3duZXIiOiAiIiwKKyAgICAgICAgImxhbm5hbWUiOiAicGxwZ3NxbCIsCisg ICAgICAgICJuYW1lIjogInRlc3RfZnVuY3Rpb25fIUAjJCVeJiooIiwKKyAgICAgICAgIm9wdGlv bnMiOiBbXSwKKyAgICAgICAgInByb2JpbiI6ICIkbGliZGlyLyIsCisgICAgICAgICJwcm9uYW1l c3BhY2UiOiAyMjAwLAorICAgICAgICAicHJvcmV0dHlwZW5hbWUiOiAiY2hhcmFjdGVyIHZhcnlp bmciLAorICAgICAgICAicHJvcm93cyI6IDAsCisgICAgICAgICJwcm9zcmMiOiAiYmVnaW4gc2Vs ZWN0ICcxJzsgZW5kIiwKKyAgICAgICAgInNlY2xhYmVscyI6IFtdLAorICAgICAgICAidmFyaWFi bGVzIjogW10KKyAgICAgIH0sCisgICAgICAibW9ja19kYXRhIjogeworICAgICAgICAiZnVuY3Rp b25fbmFtZSI6ICJwZ2FkbWluLnV0aWxzLmRyaXZlci5wc3ljb3BnMi5jb25uZWN0aW9uLkNvbm5l Y3Rpb24ucG9sbCIsCisgICAgICAgICJyZXR1cm5fdmFsdWUiOiAiKEZhbHNlLCAnTW9ja2luZyBp bnRlcm5hbCBlcnJvciBmb3IgcG9sbCBkZWJ1Z2dlciByZXN1bHQuJykiCisgICAgICB9LAorICAg ICAgImV4cGVjdGVkX2RhdGEiOiB7CisgICAgICAgICJzdGF0dXNfY29kZSI6IDIwMAorICAgICAg fQorICAgIH0KKyAgXSwKKyAgInNldF9icmVha3BvaW50IjogWworICAgIHsKKyAgICAgICJuYW1l IjogIkRlYnVnZ2VyIFNldCBicmVha3BvaW50IiwKKyAgICAgICJ1cmwiOiAiZGVidWdnZXIvc2V0 X2JyZWFrcG9pbnQvIiwKKyAgICAgICJpc19wb3NpdGl2ZV90ZXN0IjogdHJ1ZSwKKyAgICAgICJt b2NraW5nX3JlcXVpcmVkIjogZmFsc2UsCisgICAgICAidHlwZSI6ICJkaXJlY3QiLAorICAgICAg ImludmFsaWRfbmFtZSI6IGZhbHNlLAorICAgICAgImFkZF9leHRlbnNpb24iOiB0cnVlLAorICAg ICAgImluaXRfdGFyZ2V0IjogdHJ1ZSwKKyAgICAgICJxdWVyeV90eXBlIjogMSwKKyAgICAgICJ0 ZXN0X2RhdGEiOiB7CisgICAgICAgICJhY2wiOiBbXSwKKyAgICAgICAgImFyZ3VtZW50cyI6IFtd LAorICAgICAgICAiZnVuY293bmVyIjogIiIsCisgICAgICAgICJsYW5uYW1lIjogInBscGdzcWwi LAorICAgICAgICAibmFtZSI6ICJ0ZXN0X2Z1bmN0aW9uXyFAIyQlXiYqKCIsCisgICAgICAgICJv cHRpb25zIjogW10sCisgICAgICAgICJwcm9iaW4iOiAiJGxpYmRpci8iLAorICAgICAgICAicHJv bmFtZXNwYWNlIjogMjIwMCwKKyAgICAgICAgInByb3JldHR5cGVuYW1lIjogImNoYXJhY3RlciB2 YXJ5aW5nIiwKKyAgICAgICAgInByb3Jvd3MiOiAwLAorICAgICAgICAicHJvc3JjIjogImJlZ2lu IHNlbGVjdCAnMSc7IGVuZCIsCisgICAgICAgICJzZWNsYWJlbHMiOiBbXSwKKyAgICAgICAgInZh cmlhYmxlcyI6IFtdCisgICAgICB9LAorICAgICAgIm1vY2tfZGF0YSI6IHsKKyAgICAgIH0sCisg ICAgICAiZXhwZWN0ZWRfZGF0YSI6IHsKKyAgICAgICAgInN0YXR1c19jb2RlIjogMjAwCisgICAg ICB9CisgICAgfSwKKyAgICB7CisgICAgICAibmFtZSI6ICJEZWJ1Z2dlciBTZXQgYnJlYWtwb2lu dDogZGVidWdnZXIgaW5zdGFuY2UgZmFpbC4iLAorICAgICAgInVybCI6ICJkZWJ1Z2dlci9zZXRf YnJlYWtwb2ludC8iLAorICAgICAgImlzX3Bvc2l0aXZlX3Rlc3QiOiBmYWxzZSwKKyAgICAgICJt b2NraW5nX3JlcXVpcmVkIjogZmFsc2UsCisgICAgICAidHlwZSI6ICJkaXJlY3QiLAorICAgICAg ImludmFsaWRfbmFtZSI6IGZhbHNlLAorICAgICAgImFkZF9leHRlbnNpb24iOiBmYWxzZSwKKyAg ICAgICJpbml0X3RhcmdldCI6IGZhbHNlLAorICAgICAgInF1ZXJ5X3R5cGUiOiAxLAorICAgICAg InRlc3RfZGF0YSI6IHsKKyAgICAgICAgImFjbCI6IFtdLAorICAgICAgICAiYXJndW1lbnRzIjog W10sCisgICAgICAgICJmdW5jb3duZXIiOiAiIiwKKyAgICAgICAgImxhbm5hbWUiOiAicGxwZ3Nx bCIsCisgICAgICAgICJuYW1lIjogInRlc3RfZnVuY3Rpb25fIUAjJCVeJiooIiwKKyAgICAgICAg Im9wdGlvbnMiOiBbXSwKKyAgICAgICAgInByb2JpbiI6ICIkbGliZGlyLyIsCisgICAgICAgICJw cm9uYW1lc3BhY2UiOiAyMjAwLAorICAgICAgICAicHJvcmV0dHlwZW5hbWUiOiAiY2hhcmFjdGVy IHZhcnlpbmciLAorICAgICAgICAicHJvcm93cyI6IDAsCisgICAgICAgICJwcm9zcmMiOiAiYmVn aW4gc2VsZWN0ICcxJzsgZW5kIiwKKyAgICAgICAgInNlY2xhYmVscyI6IFtdLAorICAgICAgICAi dmFyaWFibGVzIjogW10KKyAgICAgIH0sCisgICAgICAibW9ja19kYXRhIjogeworICAgICAgfSwK KyAgICAgICJleHBlY3RlZF9kYXRhIjogeworICAgICAgICAic3RhdHVzX2NvZGUiOiAyMDAKKyAg ICAgIH0KKyAgICB9LAorICAgIHsKKyAgICAgICJuYW1lIjogIkRlYnVnZ2VyIFNldCBicmVha3Bv aW50OiBTZWFyY2ggcGF0aCBlcnJvci4iLAorICAgICAgInVybCI6ICJkZWJ1Z2dlci9zZXRfYnJl YWtwb2ludC8iLAorICAgICAgImlzX3Bvc2l0aXZlX3Rlc3QiOiBmYWxzZSwKKyAgICAgICJtb2Nr aW5nX3JlcXVpcmVkIjogdHJ1ZSwKKyAgICAgICJ0eXBlIjogImRpcmVjdCIsCisgICAgICAiaW52 YWxpZF9uYW1lIjogZmFsc2UsCisgICAgICAiYWRkX2V4dGVuc2lvbiI6IGZhbHNlLAorICAgICAg ImluaXRfdGFyZ2V0IjogdHJ1ZSwKKyAgICAgICJxdWVyeV90eXBlIjogMSwKKyAgICAgICJ0ZXN0 X2RhdGEiOiB7CisgICAgICAgICJhY2wiOiBbXSwKKyAgICAgICAgImFyZ3VtZW50cyI6IFtdLAor ICAgICAgICAiZnVuY293bmVyIjogIiIsCisgICAgICAgICJsYW5uYW1lIjogInBscGdzcWwiLAor ICAgICAgICAibmFtZSI6ICJ0ZXN0X2Z1bmN0aW9uXyFAIyQlXiYqKCIsCisgICAgICAgICJvcHRp b25zIjogW10sCisgICAgICAgICJwcm9iaW4iOiAiJGxpYmRpci8iLAorICAgICAgICAicHJvbmFt ZXNwYWNlIjogMjIwMCwKKyAgICAgICAgInByb3JldHR5cGVuYW1lIjogImNoYXJhY3RlciB2YXJ5 aW5nIiwKKyAgICAgICAgInByb3Jvd3MiOiAwLAorICAgICAgICAicHJvc3JjIjogImJlZ2luIHNl bGVjdCAnMSc7IGVuZCIsCisgICAgICAgICJzZWNsYWJlbHMiOiBbXSwKKyAgICAgICAgInZhcmlh YmxlcyI6IFtdCisgICAgICB9LAorICAgICAgIm1vY2tfZGF0YSI6IHsKKyAgICAgICAgImZ1bmN0 aW9uX25hbWUiOiAicGdhZG1pbi51dGlscy5kcml2ZXIucHN5Y29wZzIuY29ubmVjdGlvbi5Db25u ZWN0aW9uLmV4ZWN1dGVfZGljdCIsCisgICAgICAgICJyZXR1cm5fdmFsdWUiOiAiKEZhbHNlLCAn TW9ja2VkIEludGVybmFsIFNlcnZlciBFcnJvciB3aGlsZSBmZXRjaGluZyBmdW5jdGlvbiBkZXRh aWxzIGZvciBkZWJ1Z2dlci4nKSIKKyAgICAgIH0sCisgICAgICAiZXhwZWN0ZWRfZGF0YSI6IHsK KyAgICAgICAgInN0YXR1c19jb2RlIjogNTAwCisgICAgICB9CisgICAgfSwKKyAgICB7CisgICAg ICAibmFtZSI6ICJEZWJ1Z2dlciBTZXQgYnJlYWtwb2ludDogQ29ubmVjdGlvbiBlcnJvciIsCisg ICAgICAidXJsIjogImRlYnVnZ2VyL3NldF9icmVha3BvaW50LyIsCisgICAgICAiaXNfcG9zaXRp dmVfdGVzdCI6IGZhbHNlLAorICAgICAgIm1vY2tpbmdfcmVxdWlyZWQiOiB0cnVlLAorICAgICAg InR5cGUiOiAiZGlyZWN0IiwKKyAgICAgICJpbnZhbGlkX25hbWUiOiBmYWxzZSwKKyAgICAgICJh ZGRfZXh0ZW5zaW9uIjogZmFsc2UsCisgICAgICAiaW5pdF90YXJnZXQiOiB0cnVlLAorICAgICAg InF1ZXJ5X3R5cGUiOiAxLAorICAgICAgInRlc3RfZGF0YSI6IHsKKyAgICAgICAgImFjbCI6IFtd LAorICAgICAgICAiYXJndW1lbnRzIjogW10sCisgICAgICAgICJmdW5jb3duZXIiOiAiIiwKKyAg ICAgICAgImxhbm5hbWUiOiAicGxwZ3NxbCIsCisgICAgICAgICJuYW1lIjogInRlc3RfZnVuY3Rp b25fIUAjJCVeJiooIiwKKyAgICAgICAgIm9wdGlvbnMiOiBbXSwKKyAgICAgICAgInByb2JpbiI6 ICIkbGliZGlyLyIsCisgICAgICAgICJwcm9uYW1lc3BhY2UiOiAyMjAwLAorICAgICAgICAicHJv cmV0dHlwZW5hbWUiOiAiY2hhcmFjdGVyIHZhcnlpbmciLAorICAgICAgICAicHJvcm93cyI6IDAs CisgICAgICAgICJwcm9zcmMiOiAiYmVnaW4gc2VsZWN0ICcxJzsgZW5kIiwKKyAgICAgICAgInNl Y2xhYmVscyI6IFtdLAorICAgICAgICAidmFyaWFibGVzIjogW10KKyAgICAgIH0sCisgICAgICAi bW9ja19kYXRhIjogeworICAgICAgICAiZnVuY3Rpb25fbmFtZSI6ICJwZ2FkbWluLnV0aWxzLmRy aXZlci5wc3ljb3BnMi5jb25uZWN0aW9uLkNvbm5lY3Rpb24uY29ubmVjdGVkIiwKKyAgICAgICAg InJldHVybl92YWx1ZSI6ICJGYWxzZSIKKyAgICAgIH0sCisgICAgICAiZXhwZWN0ZWRfZGF0YSI6 IHsKKyAgICAgICAgInN0YXR1c19jb2RlIjogMjAwCisgICAgICB9CisgICAgfSwKKyAgICB7Cisg ICAgICAibmFtZSI6ICJEZWJ1Z2dlciBTZXQgYnJlYWtwb2ludDogQ2xlYXIgYnJlYWtwb2ludC4i LAorICAgICAgInVybCI6ICJkZWJ1Z2dlci9zZXRfYnJlYWtwb2ludC8iLAorICAgICAgImlzX3Bv c2l0aXZlX3Rlc3QiOiBmYWxzZSwKKyAgICAgICJtb2NraW5nX3JlcXVpcmVkIjogZmFsc2UsCisg ICAgICAidHlwZSI6ICJkaXJlY3QiLAorICAgICAgImludmFsaWRfbmFtZSI6IGZhbHNlLAorICAg ICAgImFkZF9leHRlbnNpb24iOiBmYWxzZSwKKyAgICAgICJpbml0X3RhcmdldCI6IHRydWUsCisg ICAgICAicXVlcnlfdHlwZSI6IDIsCisgICAgICAidGVzdF9kYXRhIjogeworICAgICAgICAiYWNs IjogW10sCisgICAgICAgICJhcmd1bWVudHMiOiBbXSwKKyAgICAgICAgImZ1bmNvd25lciI6ICIi LAorICAgICAgICAibGFubmFtZSI6ICJwbHBnc3FsIiwKKyAgICAgICAgIm5hbWUiOiAidGVzdF9m dW5jdGlvbl8hQCMkJV4mKigiLAorICAgICAgICAib3B0aW9ucyI6IFtdLAorICAgICAgICAicHJv YmluIjogIiRsaWJkaXIvIiwKKyAgICAgICAgInByb25hbWVzcGFjZSI6IDIyMDAsCisgICAgICAg ICJwcm9yZXR0eXBlbmFtZSI6ICJjaGFyYWN0ZXIgdmFyeWluZyIsCisgICAgICAgICJwcm9yb3dz IjogMCwKKyAgICAgICAgInByb3NyYyI6ICJiZWdpbiBzZWxlY3QgJzEnOyBlbmQiLAorICAgICAg ICAic2VjbGFiZWxzIjogW10sCisgICAgICAgICJ2YXJpYWJsZXMiOiBbXQorICAgICAgfSwKKyAg ICAgICJtb2NrX2RhdGEiOiB7CisgICAgICB9LAorICAgICAgImV4cGVjdGVkX2RhdGEiOiB7Cisg ICAgICAgICJzdGF0dXNfY29kZSI6IDIwMAorICAgICAgfQorICAgIH0KKyAgXSwKKyAgImNsZWFy X2FsbF9icmVha3BvaW50IjogWworICAgIHsKKyAgICAgICJuYW1lIjogIkRlYnVnZ2VyIENsZWFy IGFsbCBicmVha3BvaW50OiAuIiwKKyAgICAgICJ1cmwiOiAiZGVidWdnZXIvY2xlYXJfYWxsX2Jy ZWFrcG9pbnQvIiwKKyAgICAgICJpc19wb3NpdGl2ZV90ZXN0IjogdHJ1ZSwKKyAgICAgICJtb2Nr aW5nX3JlcXVpcmVkIjogZmFsc2UsCisgICAgICAidHlwZSI6ICJkaXJlY3QiLAorICAgICAgImlu dmFsaWRfbmFtZSI6IGZhbHNlLAorICAgICAgImFkZF9leHRlbnNpb24iOiB0cnVlLAorICAgICAg ImluaXRfdGFyZ2V0IjogdHJ1ZSwKKyAgICAgICJ0ZXN0X2RhdGEiOiB7CisgICAgICAgICJhY2wi OiBbXSwKKyAgICAgICAgImFyZ3VtZW50cyI6IFtdLAorICAgICAgICAiZnVuY293bmVyIjogIiIs CisgICAgICAgICJsYW5uYW1lIjogInBscGdzcWwiLAorICAgICAgICAibmFtZSI6ICJ0ZXN0X2Z1 bmN0aW9uXyFAIyQlXiYqKCIsCisgICAgICAgICJvcHRpb25zIjogW10sCisgICAgICAgICJwcm9i aW4iOiAiJGxpYmRpci8iLAorICAgICAgICAicHJvbmFtZXNwYWNlIjogMjIwMCwKKyAgICAgICAg InByb3JldHR5cGVuYW1lIjogImNoYXJhY3RlciB2YXJ5aW5nIiwKKyAgICAgICAgInByb3Jvd3Mi OiAwLAorICAgICAgICAicHJvc3JjIjogImJlZ2luIHNlbGVjdCAnMSc7IGVuZCIsCisgICAgICAg ICJzZWNsYWJlbHMiOiBbXSwKKyAgICAgICAgInZhcmlhYmxlcyI6IFtdCisgICAgICB9LAorICAg ICAgIm1vY2tfZGF0YSI6IHsKKyAgICAgIH0sCisgICAgICAiZXhwZWN0ZWRfZGF0YSI6IHsKKyAg ICAgICAgInN0YXR1c19jb2RlIjogMjAwCisgICAgICB9CisgICAgfSwKKyAgICB7CisgICAgICAi bmFtZSI6ICJEZWJ1Z2dlciBDbGVhciBhbGwgYnJlYWtwb2ludDogRGVidWdnZXIgaW5zdGFuY2Ug ZXJyb3IuIiwKKyAgICAgICJ1cmwiOiAiZGVidWdnZXIvY2xlYXJfYWxsX2JyZWFrcG9pbnQvIiwK KyAgICAgICJpc19wb3NpdGl2ZV90ZXN0IjogZmFsc2UsCisgICAgICAibW9ja2luZ19yZXF1aXJl ZCI6IGZhbHNlLAorICAgICAgInR5cGUiOiAiZGlyZWN0IiwKKyAgICAgICJpbnZhbGlkX25hbWUi OiBmYWxzZSwKKyAgICAgICJhZGRfZXh0ZW5zaW9uIjogZmFsc2UsCisgICAgICAiaW5pdF90YXJn ZXQiOiBmYWxzZSwKKyAgICAgICJ0ZXN0X2RhdGEiOiB7CisgICAgICAgICJhY2wiOiBbXSwKKyAg ICAgICAgImFyZ3VtZW50cyI6IFtdLAorICAgICAgICAiZnVuY293bmVyIjogIiIsCisgICAgICAg ICJsYW5uYW1lIjogInBscGdzcWwiLAorICAgICAgICAibmFtZSI6ICJ0ZXN0X2Z1bmN0aW9uXyFA IyQlXiYqKCIsCisgICAgICAgICJvcHRpb25zIjogW10sCisgICAgICAgICJwcm9iaW4iOiAiJGxp YmRpci8iLAorICAgICAgICAicHJvbmFtZXNwYWNlIjogMjIwMCwKKyAgICAgICAgInByb3JldHR5 cGVuYW1lIjogImNoYXJhY3RlciB2YXJ5aW5nIiwKKyAgICAgICAgInByb3Jvd3MiOiAwLAorICAg ICAgICAicHJvc3JjIjogImJlZ2luIHNlbGVjdCAnMSc7IGVuZCIsCisgICAgICAgICJzZWNsYWJl bHMiOiBbXSwKKyAgICAgICAgInZhcmlhYmxlcyI6IFtdCisgICAgICB9LAorICAgICAgIm1vY2tf ZGF0YSI6IHsKKyAgICAgIH0sCisgICAgICAiZXhwZWN0ZWRfZGF0YSI6IHsKKyAgICAgICAgInN0 YXR1c19jb2RlIjogMjAwCisgICAgICB9CisgICAgfSwKKyAgICB7CisgICAgICAibmFtZSI6ICJE ZWJ1Z2dlciBDbGVhciBhbGwgYnJlYWtwb2ludDogc2VhcmNoIHBhdGggZXJyb3IuIiwKKyAgICAg ICJ1cmwiOiAiZGVidWdnZXIvY2xlYXJfYWxsX2JyZWFrcG9pbnQvIiwKKyAgICAgICJpc19wb3Np dGl2ZV90ZXN0IjogZmFsc2UsCisgICAgICAibW9ja2luZ19yZXF1aXJlZCI6IHRydWUsCisgICAg ICAidHlwZSI6ICJkaXJlY3QiLAorICAgICAgImludmFsaWRfbmFtZSI6IGZhbHNlLAorICAgICAg ImFkZF9leHRlbnNpb24iOiBmYWxzZSwKKyAgICAgICJpbml0X3RhcmdldCI6IHRydWUsCisgICAg ICAidGVzdF9kYXRhIjogeworICAgICAgICAiYWNsIjogW10sCisgICAgICAgICJhcmd1bWVudHMi OiBbXSwKKyAgICAgICAgImZ1bmNvd25lciI6ICIiLAorICAgICAgICAibGFubmFtZSI6ICJwbHBn c3FsIiwKKyAgICAgICAgIm5hbWUiOiAidGVzdF9mdW5jdGlvbl8hQCMkJV4mKigiLAorICAgICAg ICAib3B0aW9ucyI6IFtdLAorICAgICAgICAicHJvYmluIjogIiRsaWJkaXIvIiwKKyAgICAgICAg InByb25hbWVzcGFjZSI6IDIyMDAsCisgICAgICAgICJwcm9yZXR0eXBlbmFtZSI6ICJjaGFyYWN0 ZXIgdmFyeWluZyIsCisgICAgICAgICJwcm9yb3dzIjogMCwKKyAgICAgICAgInByb3NyYyI6ICJi ZWdpbiBzZWxlY3QgJzEnOyBlbmQiLAorICAgICAgICAic2VjbGFiZWxzIjogW10sCisgICAgICAg ICJ2YXJpYWJsZXMiOiBbXQorICAgICAgfSwKKyAgICAgICJtb2NrX2RhdGEiOiB7CisgICAgICAg ICJmdW5jdGlvbl9uYW1lIjogInBnYWRtaW4udXRpbHMuZHJpdmVyLnBzeWNvcGcyLmNvbm5lY3Rp b24uQ29ubmVjdGlvbi5leGVjdXRlX2RpY3QiLAorICAgICAgICAicmV0dXJuX3ZhbHVlIjogIihG YWxzZSwgJ01vY2tlZCBJbnRlcm5hbCBTZXJ2ZXIgRXJyb3Igd2hpbGUgZmV0Y2hpbmcgZnVuY3Rp b24gZGV0YWlscyBmb3IgZGVidWdnZXIuJykiCisgICAgICB9LAorICAgICAgImV4cGVjdGVkX2Rh dGEiOiB7CisgICAgICAgICJzdGF0dXNfY29kZSI6IDUwMAorICAgICAgfQorICAgIH0sCisgICAg eworICAgICAgIm5hbWUiOiAiRGVidWdnZXIgQ2xlYXIgYWxsIGJyZWFrcG9pbnQ6IENvbm5lY3Rp b24gZXJyb3IuIiwKKyAgICAgICJ1cmwiOiAiZGVidWdnZXIvY2xlYXJfYWxsX2JyZWFrcG9pbnQv IiwKKyAgICAgICJpc19wb3NpdGl2ZV90ZXN0IjogZmFsc2UsCisgICAgICAibW9ja2luZ19yZXF1 aXJlZCI6IHRydWUsCisgICAgICAidHlwZSI6ICJkaXJlY3QiLAorICAgICAgImludmFsaWRfbmFt ZSI6IGZhbHNlLAorICAgICAgImFkZF9leHRlbnNpb24iOiBmYWxzZSwKKyAgICAgICJpbml0X3Rh cmdldCI6IHRydWUsCisgICAgICAidGVzdF9kYXRhIjogeworICAgICAgICAiYWNsIjogW10sCisg ICAgICAgICJhcmd1bWVudHMiOiBbXSwKKyAgICAgICAgImZ1bmNvd25lciI6ICIiLAorICAgICAg ICAibGFubmFtZSI6ICJwbHBnc3FsIiwKKyAgICAgICAgIm5hbWUiOiAidGVzdF9mdW5jdGlvbl8h QCMkJV4mKigiLAorICAgICAgICAib3B0aW9ucyI6IFtdLAorICAgICAgICAicHJvYmluIjogIiRs aWJkaXIvIiwKKyAgICAgICAgInByb25hbWVzcGFjZSI6IDIyMDAsCisgICAgICAgICJwcm9yZXR0 eXBlbmFtZSI6ICJjaGFyYWN0ZXIgdmFyeWluZyIsCisgICAgICAgICJwcm9yb3dzIjogMCwKKyAg ICAgICAgInByb3NyYyI6ICJiZWdpbiBzZWxlY3QgJzEnOyBlbmQiLAorICAgICAgICAic2VjbGFi ZWxzIjogW10sCisgICAgICAgICJ2YXJpYWJsZXMiOiBbXQorICAgICAgfSwKKyAgICAgICJtb2Nr X2RhdGEiOiB7CisgICAgICAgICJmdW5jdGlvbl9uYW1lIjogInBnYWRtaW4udXRpbHMuZHJpdmVy LnBzeWNvcGcyLmNvbm5lY3Rpb24uQ29ubmVjdGlvbi5jb25uZWN0ZWQiLAorICAgICAgICAicmV0 dXJuX3ZhbHVlIjogIkZhbHNlIgorICAgICAgfSwKKyAgICAgICJleHBlY3RlZF9kYXRhIjogewor ICAgICAgICAic3RhdHVzX2NvZGUiOiAyMDAKKyAgICAgIH0KKyAgICB9LAorICAgIHsKKyAgICAg ICJuYW1lIjogIkRlYnVnZ2VyIENsZWFyIGFsbCBicmVha3BvaW50OiBObyBicmVha3BvaW50IHRv IGNsZWFyIiwKKyAgICAgICJ1cmwiOiAiZGVidWdnZXIvY2xlYXJfYWxsX2JyZWFrcG9pbnQvIiwK KyAgICAgICJpc19wb3NpdGl2ZV90ZXN0IjogdHJ1ZSwKKyAgICAgICJtb2NraW5nX3JlcXVpcmVk IjogZmFsc2UsCisgICAgICAidHlwZSI6ICJkaXJlY3QiLAorICAgICAgImludmFsaWRfbmFtZSI6 IGZhbHNlLAorICAgICAgImFkZF9leHRlbnNpb24iOiBmYWxzZSwKKyAgICAgICJpbml0X3Rhcmdl dCI6IHRydWUsCisgICAgICAibm9fYnJlYWtwb2ludCI6IHRydWUsCisgICAgICAidGVzdF9kYXRh IjogeworICAgICAgICAiYWNsIjogW10sCisgICAgICAgICJhcmd1bWVudHMiOiBbXSwKKyAgICAg ICAgImZ1bmNvd25lciI6ICIiLAorICAgICAgICAibGFubmFtZSI6ICJwbHBnc3FsIiwKKyAgICAg ICAgIm5hbWUiOiAidGVzdF9mdW5jdGlvbl8hQCMkJV4mKigiLAorICAgICAgICAib3B0aW9ucyI6 IFtdLAorICAgICAgICAicHJvYmluIjogIiRsaWJkaXIvIiwKKyAgICAgICAgInByb25hbWVzcGFj ZSI6IDIyMDAsCisgICAgICAgICJwcm9yZXR0eXBlbmFtZSI6ICJjaGFyYWN0ZXIgdmFyeWluZyIs CisgICAgICAgICJwcm9yb3dzIjogMCwKKyAgICAgICAgInByb3NyYyI6ICJiZWdpbiBzZWxlY3Qg JzEnOyBlbmQiLAorICAgICAgICAic2VjbGFiZWxzIjogW10sCisgICAgICAgICJ2YXJpYWJsZXMi OiBbXQorICAgICAgfSwKKyAgICAgICJtb2NrX2RhdGEiOiB7CisgICAgICAgICJmdW5jdGlvbl9u YW1lIjogInBnYWRtaW4udXRpbHMuZHJpdmVyLnBzeWNvcGcyLmNvbm5lY3Rpb24uQ29ubmVjdGlv bi5jb25uZWN0ZWQiLAorICAgICAgICAicmV0dXJuX3ZhbHVlIjogIkZhbHNlIgorICAgICAgfSwK KyAgICAgICJleHBlY3RlZF9kYXRhIjogeworICAgICAgICAic3RhdHVzX2NvZGUiOiAyMDAKKyAg ICAgIH0KKyAgICB9CisgIF0sCisgICJnZXRfYXJndW1lbnRzIjogWworICAgIHsKKyAgICAgICJu YW1lIjogIkRlYnVnZ2VyIGdldCBhcmd1bWVudHMuIiwKKyAgICAgICJ1cmwiOiAiZGVidWdnZXIv Z2V0X2FyZ3VtZW50cy8iLAorICAgICAgImlzX3Bvc2l0aXZlX3Rlc3QiOiB0cnVlLAorICAgICAg Im1vY2tpbmdfcmVxdWlyZWQiOiBmYWxzZSwKKyAgICAgICJ0eXBlIjogImRpcmVjdCIsCisgICAg ICAiaW52YWxpZF9uYW1lIjogZmFsc2UsCisgICAgICAiYWRkX2V4dGVuc2lvbiI6IHRydWUsCisg ICAgICAiaW5pdF90YXJnZXQiOiB0cnVlLAorICAgICAgInF1ZXJ5X3R5cGUiOiAxLAorICAgICAg InRlc3RfZGF0YSI6IHsKKyAgICAgICAgImFjbCI6IFtdLAorICAgICAgICAiYXJndW1lbnRzIjog WworICAgICAgICAgIHsKKyAgICAgICAgICAgICJhcmd0eXBlIjogImNoYXJhY3RlciB2YXJ5aW5n IiwKKyAgICAgICAgICAgICJhcmdtb2RlIjogIklOIiwKKyAgICAgICAgICAgICJhcmduYW1lIjog InBhcmFtIiwKKyAgICAgICAgICAgICJhcmdkZWZ2YWwiOiAiJzEnIgorICAgICAgICAgIH0KKyAg ICAgICAgXSwKKyAgICAgICAgImZ1bmNvd25lciI6ICIiLAorICAgICAgICAibGFubmFtZSI6ICJw bHBnc3FsIiwKKyAgICAgICAgIm5hbWUiOiAidGVzdF9mdW5jdGlvbl8hQCMkJV4mKigiLAorICAg ICAgICAib3B0aW9ucyI6IFtdLAorICAgICAgICAicHJvYmluIjogIiRsaWJkaXIvIiwKKyAgICAg ICAgInByb25hbWVzcGFjZSI6IDIyMDAsCisgICAgICAgICJwcm9yZXR0eXBlbmFtZSI6ICJjaGFy YWN0ZXIgdmFyeWluZyIsCisgICAgICAgICJwcm9yb3dzIjogMCwKKyAgICAgICAgInByb3NyYyI6 ICJiZWdpbiBzZWxlY3QgJzEnOyBlbmQiLAorICAgICAgICAic2VjbGFiZWxzIjogW10sCisgICAg ICAgICJ2YXJpYWJsZXMiOiBbXQorICAgICAgfSwKKyAgICAgICJtb2NrX2RhdGEiOiB7CisgICAg ICB9LAorICAgICAgImV4cGVjdGVkX2RhdGEiOiB7CisgICAgICAgICJzdGF0dXNfY29kZSI6IDIw MAorICAgICAgfQorICAgIH1dLAorICAic2V0X2FyZ3VtZW50cyI6IFsKKyAgICB7CisgICAgICAi bmFtZSI6ICJEZWJ1Z2dlciBzZXQgYXJndW1lbnRzLiIsCisgICAgICAidXJsIjogImRlYnVnZ2Vy L3NldF9hcmd1bWVudHMvIiwKKyAgICAgICJpc19wb3NpdGl2ZV90ZXN0IjogdHJ1ZSwKKyAgICAg ICJtb2NraW5nX3JlcXVpcmVkIjogZmFsc2UsCisgICAgICAidHlwZSI6ICJkaXJlY3QiLAorICAg ICAgImludmFsaWRfbmFtZSI6IGZhbHNlLAorICAgICAgImFkZF9leHRlbnNpb24iOiB0cnVlLAor ICAgICAgImluaXRfdGFyZ2V0IjogdHJ1ZSwKKyAgICAgICJxdWVyeV90eXBlIjogMSwKKyAgICAg ICJ0ZXN0X2RhdGEiOiB7CisgICAgICAgICJhY2wiOiBbXSwKKyAgICAgICAgImFyZ3VtZW50cyI6 IFsKKyAgICAgICAgICB7CisgICAgICAgICAgICAiYXJndHlwZSI6ICJjaGFyYWN0ZXIgdmFyeWlu ZyIsCisgICAgICAgICAgICAiYXJnbW9kZSI6ICJJTiIsCisgICAgICAgICAgICAiYXJnbmFtZSI6 ICJwYXJhbSIsCisgICAgICAgICAgICAiYXJnZGVmdmFsIjogIicxJyIKKyAgICAgICAgICB9Cisg ICAgICAgIF0sCisgICAgICAgICJmdW5jb3duZXIiOiAiIiwKKyAgICAgICAgImxhbm5hbWUiOiAi cGxwZ3NxbCIsCisgICAgICAgICJuYW1lIjogInRlc3RfZnVuY3Rpb25fIUAjJCVeJiooIiwKKyAg ICAgICAgIm9wdGlvbnMiOiBbXSwKKyAgICAgICAgInByb2JpbiI6ICIkbGliZGlyLyIsCisgICAg ICAgICJwcm9uYW1lc3BhY2UiOiAyMjAwLAorICAgICAgICAicHJvcmV0dHlwZW5hbWUiOiAiY2hh cmFjdGVyIHZhcnlpbmciLAorICAgICAgICAicHJvcm93cyI6IDAsCisgICAgICAgICJwcm9zcmMi OiAiYmVnaW4gc2VsZWN0ICcxJzsgZW5kIiwKKyAgICAgICAgInNlY2xhYmVscyI6IFtdLAorICAg ICAgICAidmFyaWFibGVzIjogW10KKyAgICAgIH0sCisgICAgICAibW9ja19kYXRhIjogeworICAg ICAgfSwKKyAgICAgICJleHBlY3RlZF9kYXRhIjogeworICAgICAgICAic3RhdHVzX2NvZGUiOiAy MDAKKyAgICAgIH0KKyAgICB9CisgIF0sCisgICJjbGVhcl9hcmd1bWVudHMiOiBbCisgICAgewor ICAgICAgIm5hbWUiOiAiRGVidWdnZXIgc2V0IGFyZ3VtZW50cy4iLAorICAgICAgInVybCI6ICJk ZWJ1Z2dlci9jbGVhcl9hcmd1bWVudHMvIiwKKyAgICAgICJpc19wb3NpdGl2ZV90ZXN0IjogdHJ1 ZSwKKyAgICAgICJtb2NraW5nX3JlcXVpcmVkIjogZmFsc2UsCisgICAgICAidHlwZSI6ICJkaXJl Y3QiLAorICAgICAgImludmFsaWRfbmFtZSI6IGZhbHNlLAorICAgICAgImFkZF9leHRlbnNpb24i OiB0cnVlLAorICAgICAgImluaXRfdGFyZ2V0IjogdHJ1ZSwKKyAgICAgICJxdWVyeV90eXBlIjog MSwKKyAgICAgICJ0ZXN0X2RhdGEiOiB7CisgICAgICAgICJhY2wiOiBbXSwKKyAgICAgICAgImFy Z3VtZW50cyI6IFsKKyAgICAgICAgICB7CisgICAgICAgICAgICAiYXJndHlwZSI6ICJjaGFyYWN0 ZXIgdmFyeWluZyIsCisgICAgICAgICAgICAiYXJnbW9kZSI6ICJJTiIsCisgICAgICAgICAgICAi YXJnbmFtZSI6ICJwYXJhbSIsCisgICAgICAgICAgICAiYXJnZGVmdmFsIjogIicxJyIKKyAgICAg ICAgICB9CisgICAgICAgIF0sCisgICAgICAgICJmdW5jb3duZXIiOiAiIiwKKyAgICAgICAgImxh bm5hbWUiOiAicGxwZ3NxbCIsCisgICAgICAgICJuYW1lIjogInRlc3RfZnVuY3Rpb25fIUAjJCVe JiooIiwKKyAgICAgICAgIm9wdGlvbnMiOiBbXSwKKyAgICAgICAgInByb2JpbiI6ICIkbGliZGly LyIsCisgICAgICAgICJwcm9uYW1lc3BhY2UiOiAyMjAwLAorICAgICAgICAicHJvcmV0dHlwZW5h bWUiOiAiY2hhcmFjdGVyIHZhcnlpbmciLAorICAgICAgICAicHJvcm93cyI6IDAsCisgICAgICAg ICJwcm9zcmMiOiAiYmVnaW4gc2VsZWN0ICcxJzsgZW5kIiwKKyAgICAgICAgInNlY2xhYmVscyI6 IFtdLAorICAgICAgICAidmFyaWFibGVzIjogW10KKyAgICAgIH0sCisgICAgICAibW9ja19kYXRh IjogeworICAgICAgfSwKKyAgICAgICJleHBlY3RlZF9kYXRhIjogeworICAgICAgICAic3RhdHVz X2NvZGUiOiAyMDAKKyAgICAgIH0KKyAgICB9CisgIF0KK30KZGlmZiAtLWdpdCBhL3dlYi9wZ2Fk bWluL3Rvb2xzL2RlYnVnZ2VyL3Rlc3RzL3Rlc3RfY2xvc2VfZGVidWdnZXIucHkgYi93ZWIvcGdh ZG1pbi90b29scy9kZWJ1Z2dlci90ZXN0cy90ZXN0X2Nsb3NlX2RlYnVnZ2VyLnB5Cm5ldyBmaWxl IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmIxZGVkZGMKLS0tIC9kZXYvbnVsbAorKysgYi93 ZWIvcGdhZG1pbi90b29scy9kZWJ1Z2dlci90ZXN0cy90ZXN0X2Nsb3NlX2RlYnVnZ2VyLnB5CkBA IC0wLDAgKzEsNzcgQEAKKyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisjCisjIHBnQWRtaW4gNCAtIFBvc3Rn cmVTUUwgVG9vbHMKKyMKKyMgQ29weXJpZ2h0IChDKSAyMDEzIC0gMjAyMCwgVGhlIHBnQWRtaW4g RGV2ZWxvcG1lbnQgVGVhbQorIyBUaGlzIHNvZnR3YXJlIGlzIHJlbGVhc2VkIHVuZGVyIHRoZSBQ b3N0Z3JlU1FMIExpY2VuY2UKKyMKKyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisKK2ltcG9ydCBqc29uCitp bXBvcnQgdXVpZAorZnJvbSBwZ2FkbWluLnV0aWxzLnJvdXRlIGltcG9ydCBCYXNlVGVzdEdlbmVy YXRvcgorZnJvbSByZWdyZXNzaW9uLnB5dGhvbl90ZXN0X3V0aWxzIGltcG9ydCB0ZXN0X3V0aWxz IGFzIHV0aWxzCitmcm9tIC4gaW1wb3J0IHV0aWxzIGFzIGRlYnVnZ2VyX3V0aWxzCitmcm9tIHVu aXR0ZXN0Lm1vY2sgaW1wb3J0IHBhdGNoCitmcm9tIHJlZ3Jlc3Npb24gaW1wb3J0IHBhcmVudF9u b2RlX2RpY3QKK2Zyb20gcGdhZG1pbi5icm93c2VyLnNlcnZlcl9ncm91cHMuc2VydmVycy5kYXRh YmFzZXMuc2NoZW1hcy5mdW5jdGlvbnMgXAorICAgIC50ZXN0cyBpbXBvcnQgdXRpbHMgYXMgZnVu Y3NfdXRpbHMKK2Zyb20gcGdhZG1pbi5icm93c2VyLnNlcnZlcl9ncm91cHMuc2VydmVycy5kYXRh YmFzZXMudGVzdHMgaW1wb3J0IFwKKyAgICB1dGlscyBhcyBkYl91dGlscworCisKK2NsYXNzIENs b3NlRGVidWdnZXIoQmFzZVRlc3RHZW5lcmF0b3IpOgorICAgICIiIiBUaGlzIGNsYXNzIHdpbGwg Q2xvc2UgdGhlIGRlYnVnZ2VyICIiIgorCisgICAgc2NlbmFyaW9zID0gdXRpbHMuZ2VuZXJhdGVf c2NlbmFyaW9zKCdjbG9zZV9kZWJ1Z2dlcicsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIGRlYnVnZ2VyX3V0aWxzLnRlc3RfY2FzZXMpCisKKyAgICBkZWYgc2V0VXAo c2VsZik6CisgICAgICAgIHN1cGVyKENsb3NlRGVidWdnZXIsIHNlbGYpLnNldFVwKCkKKyAgICAg ICAgc2VsZi5zY2hlbWFfZGF0YSA9IHBhcmVudF9ub2RlX2RpY3RbJ3NjaGVtYSddWy0xXQorICAg ICAgICBzZWxmLnNlcnZlcl9pZCA9IHNlbGYuc2NoZW1hX2RhdGFbJ3NlcnZlcl9pZCddCisgICAg ICAgIHNlbGYuZGJfaWQgPSBzZWxmLnNjaGVtYV9kYXRhWydkYl9pZCddCisgICAgICAgIHNlbGYu c2NoZW1hX2lkID0gc2VsZi5zY2hlbWFfZGF0YVsnc2NoZW1hX2lkJ10KKworICAgICAgICBsb2Nh bF9zZWxmID0gZnVuY3NfdXRpbHMuc2V0X3VwKHNlbGYpCisKKyAgICAgICAgZnVuY19uYW1lID0g InRlc3RfZnVuY3Rpb25fJXMiICUgc3RyKHV1aWQudXVpZDQoKSlbMTo4XQorICAgICAgICBmdW5j dGlvbl9pbmZvID0gZnVuY3NfdXRpbHMuY3JlYXRlX2Z1bmN0aW9uKAorICAgICAgICAgICAgbG9j YWxfc2VsZi5zZXJ2ZXIsIGxvY2FsX3NlbGYuZGJfbmFtZSwgbG9jYWxfc2VsZi5zY2hlbWFfbmFt ZSwKKyAgICAgICAgICAgIGZ1bmNfbmFtZSkKKworICAgICAgICBzZWxmLmZ1bmNfaWQgPSBmdW5j dGlvbl9pbmZvWzBdCisKKyAgICAgICAgaWYgc2VsZi5hZGRfZXh0ZW5zaW9uOgorICAgICAgICAg ICAgZGVidWdnZXJfdXRpbHMuYWRkX2V4dGVuc2lvbihzZWxmLCB1dGlscykKKworICAgICAgICBp bml0X2RlYnVnZ2VyID0gZGVidWdnZXJfdXRpbHMuaW5pdF9kZWJ1Z2dlcl9mdW5jdGlvbihzZWxm KQorICAgICAgICBzZWxmLnRyYW5zX2lkID0ganNvbi5sb2Fkcyhpbml0X2RlYnVnZ2VyLmRhdGEp WydkYXRhJ11bJ3RyYW5zX2lkJ10KKworICAgIGRlZiBjbG9zZV9kZWJ1Z2dlcihzZWxmKToKKyAg ICAgICAgcmV0dXJuIHNlbGYudGVzdGVyLmRlbGV0ZSgKKyAgICAgICAgICAgIHNlbGYudXJsICsg c3RyKHNlbGYudHJhbnNfaWQpLAorICAgICAgICAgICAgY29udGVudF90eXBlPSdhcHBsaWNhdGlv bi9qc29uJykKKworICAgIGRlZiBydW5UZXN0KHNlbGYpOgorICAgICAgICAiIiIKKyAgICAgICAg VGhpcyBmdW5jdGlvbiB3aWxsIGluaXRpYWxpemUgdGhlIGRlYnVnZ2VyIGZvciBmdW5jdGlvbiBh bmQgcHJvY2VkdXJlcy4KKyAgICAgICAgIiIiCisgICAgICAgIGlmIHNlbGYuaXNfcG9zaXRpdmVf dGVzdDoKKyAgICAgICAgICAgIHJlc3BvbnNlID0gc2VsZi5jbG9zZV9kZWJ1Z2dlcigpCisgICAg ICAgIGVsc2U6CisgICAgICAgICAgICBpZiBzZWxmLm1vY2tpbmdfcmVxdWlyZWQ6CisgICAgICAg ICAgICAgICAgd2l0aCBwYXRjaChzZWxmLm1vY2tfZGF0YVsiZnVuY3Rpb25fbmFtZSJdLAorICAg ICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuX3ZhbHVlPWV2YWwoc2VsZi5tb2NrX2RhdGFb InJldHVybl92YWx1ZSJdKSk6CisgICAgICAgICAgICAgICAgICAgIHJlc3BvbnNlID0gc2VsZi5j bG9zZV9kZWJ1Z2dlcigpCisgICAgICAgICAgICBlbHNlOgorICAgICAgICAgICAgICAgIHJlc3Bv bnNlID0gc2VsZi5jbG9zZV9kZWJ1Z2dlcigpCisKKyAgICAgICAgYWN0dWFsX3Jlc3BvbnNlX2Nv ZGUgPSByZXNwb25zZS5zdGF0dXNfY29kZQorICAgICAgICBleHBlY3RlZF9yZXNwb25zZV9jb2Rl ID0gc2VsZi5leHBlY3RlZF9kYXRhWydzdGF0dXNfY29kZSddCisgICAgICAgIHNlbGYuYXNzZXJ0 RXF1YWwoYWN0dWFsX3Jlc3BvbnNlX2NvZGUsIGV4cGVjdGVkX3Jlc3BvbnNlX2NvZGUpCisKKyAg ICBkZWYgdGVhckRvd24oc2VsZik6CisgICAgICAgICIiIlRoaXMgZnVuY3Rpb24gZGVsZXRlIHRo ZSBzZXJ2ZXIgZnJvbSBTUUxpdGUgIiIiCisgICAgICAgIGRlYnVnZ2VyX3V0aWxzLmRlbGV0ZV9m dW5jdGlvbihzZWxmLCB1dGlscykKKyAgICAgICAgZGJfdXRpbHMuZGlzY29ubmVjdF9kYXRhYmFz ZShzZWxmLCBzZWxmLnNlcnZlcl9pZCwgc2VsZi5kYl9pZCkKZGlmZiAtLWdpdCBhL3dlYi9wZ2Fk bWluL3Rvb2xzL2RlYnVnZ2VyL3Rlc3RzL3Rlc3RfZGVidWdnZXJfY2xlYXJfYWxsX2JyZWFrcG9p bnQucHkgYi93ZWIvcGdhZG1pbi90b29scy9kZWJ1Z2dlci90ZXN0cy90ZXN0X2RlYnVnZ2VyX2Ns ZWFyX2FsbF9icmVha3BvaW50LnB5Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAu LjgwNzU3ODIKLS0tIC9kZXYvbnVsbAorKysgYi93ZWIvcGdhZG1pbi90b29scy9kZWJ1Z2dlci90 ZXN0cy90ZXN0X2RlYnVnZ2VyX2NsZWFyX2FsbF9icmVha3BvaW50LnB5CkBAIC0wLDAgKzEsOTIg QEAKKyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjCisjCisjIHBnQWRtaW4gNCAtIFBvc3RncmVTUUwgVG9vbHMK KyMKKyMgQ29weXJpZ2h0IChDKSAyMDEzIC0gMjAyMCwgVGhlIHBnQWRtaW4gRGV2ZWxvcG1lbnQg VGVhbQorIyBUaGlzIHNvZnR3YXJlIGlzIHJlbGVhc2VkIHVuZGVyIHRoZSBQb3N0Z3JlU1FMIExp Y2VuY2UKKyMKKyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisKK2ltcG9ydCBqc29uCisKK2Zyb20gcGdhZG1p bi51dGlscy5yb3V0ZSBpbXBvcnQgQmFzZVRlc3RHZW5lcmF0b3IKK2Zyb20gcmVncmVzc2lvbi5w eXRob25fdGVzdF91dGlscyBpbXBvcnQgdGVzdF91dGlscyBhcyB1dGlscworZnJvbSAuIGltcG9y dCB1dGlscyBhcyBkZWJ1Z2dlcl91dGlscworZnJvbSB1bml0dGVzdC5tb2NrIGltcG9ydCBwYXRj aAorZnJvbSByZWdyZXNzaW9uIGltcG9ydCBwYXJlbnRfbm9kZV9kaWN0Citmcm9tIHBnYWRtaW4u YnJvd3Nlci5zZXJ2ZXJfZ3JvdXBzLnNlcnZlcnMuZGF0YWJhc2VzLnNjaGVtYXMuZnVuY3Rpb25z IFwKKyAgICAudGVzdHMgaW1wb3J0IHV0aWxzIGFzIGZ1bmNzX3V0aWxzCitmcm9tIHBnYWRtaW4u YnJvd3Nlci5zZXJ2ZXJfZ3JvdXBzLnNlcnZlcnMuZGF0YWJhc2VzLnRlc3RzIGltcG9ydCBcCisg ICAgdXRpbHMgYXMgZGJfdXRpbHMKKworCitjbGFzcyBEZWJ1Z2dlckNsZWFyQWxsQnJlYWtwb2lu dChCYXNlVGVzdEdlbmVyYXRvcik6CisgICAgIiIiIFRoaXMgY2xhc3Mgd2lsbCBzZXQgYnJlYWtw b2ludC4iIiIKKworICAgIHNjZW5hcmlvcyA9IHV0aWxzLmdlbmVyYXRlX3NjZW5hcmlvcygnY2xl YXJfYWxsX2JyZWFrcG9pbnQnLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBkZWJ1Z2dlcl91dGlscy50ZXN0X2Nhc2VzKQorCisgICAgZGVmIHNldFVwKHNlbGYpOgor ICAgICAgICBzdXBlcihEZWJ1Z2dlckNsZWFyQWxsQnJlYWtwb2ludCwgc2VsZikuc2V0VXAoKQor ICAgICAgICBzZWxmLnNjaGVtYV9kYXRhID0gcGFyZW50X25vZGVfZGljdFsnc2NoZW1hJ11bLTFd CisgICAgICAgIHNlbGYuc2VydmVyX2lkID0gc2VsZi5zY2hlbWFfZGF0YVsnc2VydmVyX2lkJ10K KyAgICAgICAgc2VsZi5kYl9pZCA9IHNlbGYuc2NoZW1hX2RhdGFbJ2RiX2lkJ10KKyAgICAgICAg c2VsZi5zY2hlbWFfaWQgPSBzZWxmLnNjaGVtYV9kYXRhWydzY2hlbWFfaWQnXQorCisgICAgICAg IGxvY2FsX3NlbGYgPSBmdW5jc191dGlscy5zZXRfdXAoc2VsZikKKworICAgICAgICBzZWxmLnRl c3RfZGF0YVsnZnVuY293bmVyJ10gPSBzZWxmLnNlcnZlclsidXNlcm5hbWUiXQorCisgICAgICAg IGZ1bmN0aW9uX2luZm8gPSBkZWJ1Z2dlcl91dGlscy5jcmVhdGVfZnVuY3Rpb24oc2VsZiwgdXRp bHMpCisKKyAgICAgICAgc2VsZi5mdW5jX2lkID0ganNvbi5sb2FkcyhmdW5jdGlvbl9pbmZvLmRh dGEpWydub2RlJ11bJ19pZCddCisKKyAgICAgICAgaWYgc2VsZi5hZGRfZXh0ZW5zaW9uOgorICAg ICAgICAgICAgZGVidWdnZXJfdXRpbHMuYWRkX2V4dGVuc2lvbihzZWxmLCB1dGlscykKKworICAg ICAgICBpbml0X2RlYnVnZ2VyID0gZGVidWdnZXJfdXRpbHMuaW5pdF9kZWJ1Z2dlcl9mdW5jdGlv bihzZWxmKQorCisgICAgICAgIHNlbGYudHJhbnNfaWQgPSBqc29uLmxvYWRzKGluaXRfZGVidWdn ZXIuZGF0YSlbJ2RhdGEnXVsndHJhbnNfaWQnXQorCisgICAgICAgIGlmIHNlbGYuaW5pdF90YXJn ZXQ6CisgICAgICAgICAgICBkZWJ1Z2dlcl91dGlscy5pbml0aWFsaXplX3RhcmdldChzZWxmLCB1 dGlscykKKworICAgICAgICAgICAgZGVidWdnZXJfdXRpbHMuc3RhcnRfbGlzdGVuZXIoc2VsZikK KyAgICAgICAgICAgIHNlbGYucG9ydF9ubyA9IGRlYnVnZ2VyX3V0aWxzLm1lc3NhZ2VzKHNlbGYp CisgICAgICAgICAgICBkZWJ1Z2dlcl91dGlscy5zdGFydF9leGVjdXRpb24oc2VsZikKKyAgICAg ICAgICAgIGJyZWFrcG9pbnQgPSBkZWJ1Z2dlcl91dGlscy5zZXRfYnJlYWtwb2ludChzZWxmKQor CisgICAgZGVmIGNsZWFyX2FsbF9icmVha3BvaW50KHNlbGYpOgorICAgICAgICBpZiBoYXNhdHRy KHNlbGYsICdub19icmVha3BvaW50JykgYW5kIHNlbGYubm9fYnJlYWtwb2ludDoKKyAgICAgICAg ICAgIGJyZWFrcG9pbnRfZGF0YSA9IHsiYnJlYWtwb2ludF9saXN0IjogJyd9CisgICAgICAgIGVs c2U6CisgICAgICAgICAgICBicmVha3BvaW50X2RhdGEgPSB7ImJyZWFrcG9pbnRfbGlzdCI6IDN9 CisKKyAgICAgICAgcmV0dXJuIHNlbGYudGVzdGVyLnBvc3QoCisgICAgICAgICAgICBzZWxmLnVy bCArIHN0cihzZWxmLnRyYW5zX2lkKSwKKyAgICAgICAgICAgIGRhdGE9YnJlYWtwb2ludF9kYXRh KQorCisgICAgZGVmIHJ1blRlc3Qoc2VsZik6CisgICAgICAgICIiIgorICAgICAgICBUaGlzIGZ1 bmN0aW9uIHdpbGwgaW5pdGlhbGl6ZSB0aGUgZGVidWdnZXIgZm9yIGZ1bmN0aW9uIGFuZCBwcm9j ZWR1cmVzLgorICAgICAgICAiIiIKKyAgICAgICAgaWYgc2VsZi5pc19wb3NpdGl2ZV90ZXN0Ogor ICAgICAgICAgICAgcmVzcG9uc2UgPSBzZWxmLmNsZWFyX2FsbF9icmVha3BvaW50KCkKKyAgICAg ICAgZWxzZToKKyAgICAgICAgICAgIGlmIHNlbGYubW9ja2luZ19yZXF1aXJlZDoKKyAgICAgICAg ICAgICAgICB3aXRoIHBhdGNoKHNlbGYubW9ja19kYXRhWyJmdW5jdGlvbl9uYW1lIl0sCisgICAg ICAgICAgICAgICAgICAgICAgICAgICByZXR1cm5fdmFsdWU9ZXZhbChzZWxmLm1vY2tfZGF0YVsi cmV0dXJuX3ZhbHVlIl0pKToKKyAgICAgICAgICAgICAgICAgICAgcmVzcG9uc2UgPSBzZWxmLmNs ZWFyX2FsbF9icmVha3BvaW50KCkKKyAgICAgICAgICAgIGVsc2U6CisgICAgICAgICAgICAgICAg cmVzcG9uc2UgPSBzZWxmLmNsZWFyX2FsbF9icmVha3BvaW50KCkKKworICAgICAgICBhY3R1YWxf cmVzcG9uc2VfY29kZSA9IHJlc3BvbnNlLnN0YXR1c19jb2RlCisgICAgICAgIGV4cGVjdGVkX3Jl c3BvbnNlX2NvZGUgPSBzZWxmLmV4cGVjdGVkX2RhdGFbJ3N0YXR1c19jb2RlJ10KKyAgICAgICAg c2VsZi5hc3NlcnRFcXVhbChhY3R1YWxfcmVzcG9uc2VfY29kZSwgZXhwZWN0ZWRfcmVzcG9uc2Vf Y29kZSkKKworICAgIGRlZiB0ZWFyRG93bihzZWxmKToKKyAgICAgICAgIiIiVGhpcyBmdW5jdGlv biBkZWxldGUgdGhlIHNlcnZlciBmcm9tIFNRTGl0ZSAiIiIKKyAgICAgICAgIyBkZWJ1Z2dlcl91 dGlscy5hYm9ydF9kZWJ1Z2dlcihzZWxmKQorICAgICAgICBkZWJ1Z2dlcl91dGlscy5jbG9zZV9k ZWJ1Z2dlcihzZWxmKQorICAgICAgICBkZWJ1Z2dlcl91dGlscy5kZWxldGVfZnVuY3Rpb24oc2Vs ZiwgdXRpbHMpCisgICAgICAgIGRiX3V0aWxzLmRpc2Nvbm5lY3RfZGF0YWJhc2Uoc2VsZiwgc2Vs Zi5zZXJ2ZXJfaWQsIHNlbGYuZGJfaWQpCmRpZmYgLS1naXQgYS93ZWIvcGdhZG1pbi90b29scy9k ZWJ1Z2dlci90ZXN0cy90ZXN0X2RlYnVnZ2VyX2NsZWFyX2FyZ3VtZW50cy5weSBiL3dlYi9wZ2Fk bWluL3Rvb2xzL2RlYnVnZ2VyL3Rlc3RzL3Rlc3RfZGVidWdnZXJfY2xlYXJfYXJndW1lbnRzLnB5 Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQyZWQ0MTMKLS0tIC9kZXYvbnVs bAorKysgYi93ZWIvcGdhZG1pbi90b29scy9kZWJ1Z2dlci90ZXN0cy90ZXN0X2RlYnVnZ2VyX2Ns ZWFyX2FyZ3VtZW50cy5weQpAQCAtMCwwICsxLDgzIEBACisjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworIwor IyBwZ0FkbWluIDQgLSBQb3N0Z3JlU1FMIFRvb2xzCisjCisjIENvcHlyaWdodCAoQykgMjAxMyAt IDIwMjAsIFRoZSBwZ0FkbWluIERldmVsb3BtZW50IFRlYW0KKyMgVGhpcyBzb2Z0d2FyZSBpcyBy ZWxlYXNlZCB1bmRlciB0aGUgUG9zdGdyZVNRTCBMaWNlbmNlCisjCisjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IworCitpbXBvcnQganNvbgorCitmcm9tIHBnYWRtaW4udXRpbHMucm91dGUgaW1wb3J0IEJhc2VU ZXN0R2VuZXJhdG9yCitmcm9tIHJlZ3Jlc3Npb24ucHl0aG9uX3Rlc3RfdXRpbHMgaW1wb3J0IHRl c3RfdXRpbHMgYXMgdXRpbHMKK2Zyb20gLiBpbXBvcnQgdXRpbHMgYXMgZGVidWdnZXJfdXRpbHMK K2Zyb20gdW5pdHRlc3QubW9jayBpbXBvcnQgcGF0Y2gKK2Zyb20gcmVncmVzc2lvbiBpbXBvcnQg cGFyZW50X25vZGVfZGljdAorZnJvbSBwZ2FkbWluLmJyb3dzZXIuc2VydmVyX2dyb3Vwcy5zZXJ2 ZXJzLmRhdGFiYXNlcy5zY2hlbWFzLmZ1bmN0aW9ucyBcCisgICAgLnRlc3RzIGltcG9ydCB1dGls cyBhcyBmdW5jc191dGlscworZnJvbSBwZ2FkbWluLmJyb3dzZXIuc2VydmVyX2dyb3Vwcy5zZXJ2 ZXJzLmRhdGFiYXNlcy50ZXN0cyBpbXBvcnQgXAorICAgIHV0aWxzIGFzIGRiX3V0aWxzCisKKwor Y2xhc3MgRGVidWdnZXJDbGVhckFyZ3VtZW50cyhCYXNlVGVzdEdlbmVyYXRvcik6CisgICAgIiIi IFRoaXMgY2xhc3Mgd2lsbCBnZXQgYXJndW1lbnRzLi4iIiIKKworICAgIHNjZW5hcmlvcyA9IHV0 aWxzLmdlbmVyYXRlX3NjZW5hcmlvcygnY2xlYXJfYXJndW1lbnRzJywKKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVidWdnZXJfdXRpbHMudGVzdF9jYXNlcykKKwor ICAgIGRlZiBzZXRVcChzZWxmKToKKyAgICAgICAgc3VwZXIoRGVidWdnZXJDbGVhckFyZ3VtZW50 cywgc2VsZikuc2V0VXAoKQorICAgICAgICBzZWxmLnNjaGVtYV9kYXRhID0gcGFyZW50X25vZGVf ZGljdFsnc2NoZW1hJ11bLTFdCisgICAgICAgIHNlbGYuc2VydmVyX2lkID0gc2VsZi5zY2hlbWFf ZGF0YVsnc2VydmVyX2lkJ10KKyAgICAgICAgc2VsZi5kYl9pZCA9IHNlbGYuc2NoZW1hX2RhdGFb J2RiX2lkJ10KKyAgICAgICAgc2VsZi5zY2hlbWFfaWQgPSBzZWxmLnNjaGVtYV9kYXRhWydzY2hl bWFfaWQnXQorCisgICAgICAgIGxvY2FsX3NlbGYgPSBmdW5jc191dGlscy5zZXRfdXAoc2VsZikK KworICAgICAgICBzZWxmLnRlc3RfZGF0YVsnZnVuY293bmVyJ10gPSBzZWxmLnNlcnZlclsidXNl cm5hbWUiXQorCisgICAgICAgIGZ1bmN0aW9uX2luZm8gPSBkZWJ1Z2dlcl91dGlscy5jcmVhdGVf ZnVuY3Rpb24oc2VsZiwgdXRpbHMpCisKKyAgICAgICAgc2VsZi5mdW5jX2lkID0ganNvbi5sb2Fk cyhmdW5jdGlvbl9pbmZvLmRhdGEpWydub2RlJ11bJ19pZCddCisKKyAgICAgICAgaWYgc2VsZi5h ZGRfZXh0ZW5zaW9uOgorICAgICAgICAgICAgZGVidWdnZXJfdXRpbHMuYWRkX2V4dGVuc2lvbihz ZWxmLCB1dGlscykKKworICAgICAgICBpbml0X2RlYnVnZ2VyID0gZGVidWdnZXJfdXRpbHMuaW5p dF9kZWJ1Z2dlcl9mdW5jdGlvbihzZWxmKQorCisgICAgICAgIHNlbGYudHJhbnNfaWQgPSBqc29u LmxvYWRzKGluaXRfZGVidWdnZXIuZGF0YSlbJ2RhdGEnXVsndHJhbnNfaWQnXQorCisgICAgICAg IGlmIHNlbGYuaW5pdF90YXJnZXQ6CisgICAgICAgICAgICBkZWJ1Z2dlcl91dGlscy5pbml0aWFs aXplX3RhcmdldChzZWxmLCB1dGlscykKKworICAgIGRlZiBjbGVhcl9hcmd1bWVudHMoc2VsZik6 CisgICAgICAgIHJldHVybiBzZWxmLnRlc3Rlci5wb3N0KAorICAgICAgICAgICAgc2VsZi51cmwg KyBzdHIoc2VsZi5zZXJ2ZXJfaWQpICsgJy8nICsgc3RyKHNlbGYuZGJfaWQpICsgJy8nICsKKyAg ICAgICAgICAgIHN0cihzZWxmLnNjaGVtYV9pZCkgKyAnLycgKyBzdHIoc2VsZi5mdW5jX2lkKSwK KyAgICAgICAgICAgIGRhdGE9e30KKyAgICAgICAgKQorCisgICAgZGVmIHJ1blRlc3Qoc2VsZik6 CisgICAgICAgICIiIgorICAgICAgICBUaGlzIGZ1bmN0aW9uIHdpbGwgaW5pdGlhbGl6ZSB0aGUg ZGVidWdnZXIgZm9yIGZ1bmN0aW9uIGFuZCBwcm9jZWR1cmVzLgorICAgICAgICAiIiIKKyAgICAg ICAgaWYgc2VsZi5pc19wb3NpdGl2ZV90ZXN0OgorICAgICAgICAgICAgcmVzcG9uc2UgPSBzZWxm LmNsZWFyX2FyZ3VtZW50cygpCisgICAgICAgIGVsc2U6CisgICAgICAgICAgICBpZiBzZWxmLm1v Y2tpbmdfcmVxdWlyZWQ6CisgICAgICAgICAgICAgICAgd2l0aCBwYXRjaChzZWxmLm1vY2tfZGF0 YVsiZnVuY3Rpb25fbmFtZSJdLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuX3Zh bHVlPWV2YWwoc2VsZi5tb2NrX2RhdGFbInJldHVybl92YWx1ZSJdKSk6CisgICAgICAgICAgICAg ICAgICAgIHJlc3BvbnNlID0gc2VsZi5jbGVhcl9hcmd1bWVudHMoKQorICAgICAgICAgICAgZWxz ZToKKyAgICAgICAgICAgICAgICByZXNwb25zZSA9IHNlbGYuY2xlYXJfYXJndW1lbnRzKCkKKwor ICAgICAgICBhY3R1YWxfcmVzcG9uc2VfY29kZSA9IHJlc3BvbnNlLnN0YXR1c19jb2RlCisgICAg ICAgIGV4cGVjdGVkX3Jlc3BvbnNlX2NvZGUgPSBzZWxmLmV4cGVjdGVkX2RhdGFbJ3N0YXR1c19j b2RlJ10KKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChhY3R1YWxfcmVzcG9uc2VfY29kZSwgZXhw ZWN0ZWRfcmVzcG9uc2VfY29kZSkKKworICAgIGRlZiB0ZWFyRG93bihzZWxmKToKKyAgICAgICAg IiIiVGhpcyBmdW5jdGlvbiBkZWxldGUgdGhlIHNlcnZlciBmcm9tIFNRTGl0ZSAiIiIKKyAgICAg ICAgZGVidWdnZXJfdXRpbHMuY2xvc2VfZGVidWdnZXIoc2VsZikKKyAgICAgICAgZGVidWdnZXJf dXRpbHMuZGVsZXRlX2Z1bmN0aW9uKHNlbGYsIHV0aWxzKQorICAgICAgICBkYl91dGlscy5kaXNj b25uZWN0X2RhdGFiYXNlKHNlbGYsIHNlbGYuc2VydmVyX2lkLCBzZWxmLmRiX2lkKQpkaWZmIC0t Z2l0IGEvd2ViL3BnYWRtaW4vdG9vbHMvZGVidWdnZXIvdGVzdHMvdGVzdF9kZWJ1Z2dlcl9kaXJl Y3QucHkgYi93ZWIvcGdhZG1pbi90b29scy9kZWJ1Z2dlci90ZXN0cy90ZXN0X2RlYnVnZ2VyX2Rp cmVjdC5weQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kMDRiNTA2Ci0tLSAv ZGV2L251bGwKKysrIGIvd2ViL3BnYWRtaW4vdG9vbHMvZGVidWdnZXIvdGVzdHMvdGVzdF9kZWJ1 Z2dlcl9kaXJlY3QucHkKQEAgLTAsMCArMSw4NCBAQAorIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKKyMKKyMg cGdBZG1pbiA0IC0gUG9zdGdyZVNRTCBUb29scworIworIyBDb3B5cmlnaHQgKEMpIDIwMTMgLSAy MDIwLCBUaGUgcGdBZG1pbiBEZXZlbG9wbWVudCBUZWFtCisjIFRoaXMgc29mdHdhcmUgaXMgcmVs ZWFzZWQgdW5kZXIgdGhlIFBvc3RncmVTUUwgTGljZW5jZQorIworIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMK KworaW1wb3J0IGpzb24KKworZnJvbSBwZ2FkbWluLnV0aWxzLnJvdXRlIGltcG9ydCBCYXNlVGVz dEdlbmVyYXRvcgorZnJvbSByZWdyZXNzaW9uLnB5dGhvbl90ZXN0X3V0aWxzIGltcG9ydCB0ZXN0 X3V0aWxzIGFzIHV0aWxzCitmcm9tIC4gaW1wb3J0IHV0aWxzIGFzIGRlYnVnZ2VyX3V0aWxzCitm cm9tIHVuaXR0ZXN0Lm1vY2sgaW1wb3J0IHBhdGNoCitmcm9tIHJlZ3Jlc3Npb24gaW1wb3J0IHBh cmVudF9ub2RlX2RpY3QKK2Zyb20gcGdhZG1pbi5icm93c2VyLnNlcnZlcl9ncm91cHMuc2VydmVy cy5kYXRhYmFzZXMuc2NoZW1hcy5mdW5jdGlvbnMgXAorICAgIC50ZXN0cyBpbXBvcnQgdXRpbHMg YXMgZnVuY3NfdXRpbHMKK2Zyb20gcGdhZG1pbi5icm93c2VyLnNlcnZlcl9ncm91cHMuc2VydmVy cy5kYXRhYmFzZXMudGVzdHMgaW1wb3J0IFwKKyAgICB1dGlscyBhcyBkYl91dGlscworCisKK2Ns YXNzIERlYnVnZ2VyRGlyZWN0KEJhc2VUZXN0R2VuZXJhdG9yKToKKyAgICAiIiIgVGhpcyBjbGFz cyB3aWxsIHN0YXJ0IGRlYnVnZ2VyIGluIGRpcmVjdCBtb2RlLiIiIgorCisgICAgc2NlbmFyaW9z ID0gdXRpbHMuZ2VuZXJhdGVfc2NlbmFyaW9zKCdkZWJ1Z2dlcl9kaXJlY3QnLAorICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZWJ1Z2dlcl91dGlscy50ZXN0X2Nhc2Vz KQorCisgICAgZGVmIHNldFVwKHNlbGYpOgorICAgICAgICBzdXBlcihEZWJ1Z2dlckRpcmVjdCwg c2VsZikuc2V0VXAoKQorICAgICAgICBzZWxmLnNjaGVtYV9kYXRhID0gcGFyZW50X25vZGVfZGlj dFsnc2NoZW1hJ11bLTFdCisgICAgICAgIHNlbGYuc2VydmVyX2lkID0gc2VsZi5zY2hlbWFfZGF0 YVsnc2VydmVyX2lkJ10KKyAgICAgICAgc2VsZi5kYl9pZCA9IHNlbGYuc2NoZW1hX2RhdGFbJ2Ri X2lkJ10KKyAgICAgICAgc2VsZi5zY2hlbWFfaWQgPSBzZWxmLnNjaGVtYV9kYXRhWydzY2hlbWFf aWQnXQorCisgICAgICAgIGxvY2FsX3NlbGYgPSBmdW5jc191dGlscy5zZXRfdXAoc2VsZikKKwor ICAgICAgICBzZWxmLnRlc3RfZGF0YVsnZnVuY293bmVyJ10gPSBzZWxmLnNlcnZlclsidXNlcm5h bWUiXQorCisgICAgICAgIGZ1bmN0aW9uX2luZm8gPSBkZWJ1Z2dlcl91dGlscy5jcmVhdGVfZnVu Y3Rpb24oc2VsZiwgdXRpbHMpCisKKyAgICAgICAgc2VsZi5mdW5jX2lkID0ganNvbi5sb2Fkcyhm dW5jdGlvbl9pbmZvLmRhdGEpWydub2RlJ11bJ19pZCddCisKKyAgICAgICAgaWYgc2VsZi5hZGRf ZXh0ZW5zaW9uOgorICAgICAgICAgICAgZGVidWdnZXJfdXRpbHMuYWRkX2V4dGVuc2lvbihzZWxm LCB1dGlscykKKworICAgICAgICBpbml0X2RlYnVnZ2VyID0gZGVidWdnZXJfdXRpbHMuaW5pdF9k ZWJ1Z2dlcl9mdW5jdGlvbihzZWxmKQorCisgICAgICAgIHNlbGYudHJhbnNfaWQgPSBqc29uLmxv YWRzKGluaXRfZGVidWdnZXIuZGF0YSlbJ2RhdGEnXVsndHJhbnNfaWQnXQorCisgICAgICAgIGlm IHNlbGYuaW5pdF90YXJnZXQ6CisgICAgICAgICAgICBkZWJ1Z2dlcl91dGlscy5pbml0aWFsaXpl X3RhcmdldChzZWxmLCB1dGlscykKKworICAgIGRlZiBkaXJlY3Qoc2VsZik6CisgICAgICAgIGlm IGhhc2F0dHIoc2VsZiwgJ2ludmFsaWRfdHJhbnMnKSBhbmQgc2VsZi5pbnZhbGlkX3RyYW5zOgor ICAgICAgICAgICAgc2VsZi50cmFuc19pZCA9IDAKKworICAgICAgICByZXR1cm4gc2VsZi50ZXN0 ZXIuZ2V0KAorICAgICAgICAgICAgc2VsZi51cmwgKyBzdHIoc2VsZi50cmFuc19pZCksCisgICAg ICAgICAgICBjb250ZW50X3R5cGU9J2FwcGxpY2F0aW9uL2pzb24nKQorCisgICAgZGVmIHJ1blRl c3Qoc2VsZik6CisgICAgICAgICIiIgorICAgICAgICBUaGlzIGZ1bmN0aW9uIHdpbGwgaW5pdGlh bGl6ZSB0aGUgZGVidWdnZXIgZm9yIGZ1bmN0aW9uIGFuZCBwcm9jZWR1cmVzLgorICAgICAgICAi IiIKKyAgICAgICAgaWYgc2VsZi5pc19wb3NpdGl2ZV90ZXN0OgorICAgICAgICAgICAgcmVzcG9u c2UgPSBzZWxmLmRpcmVjdCgpCisgICAgICAgIGVsc2U6CisgICAgICAgICAgICBpZiBzZWxmLm1v Y2tpbmdfcmVxdWlyZWQ6CisgICAgICAgICAgICAgICAgd2l0aCBwYXRjaChzZWxmLm1vY2tfZGF0 YVsiZnVuY3Rpb25fbmFtZSJdLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuX3Zh bHVlPWV2YWwoc2VsZi5tb2NrX2RhdGFbInJldHVybl92YWx1ZSJdKSk6CisgICAgICAgICAgICAg ICAgICAgIHJlc3BvbnNlID0gc2VsZi5kaXJlY3QoKQorICAgICAgICAgICAgZWxzZToKKyAgICAg ICAgICAgICAgICByZXNwb25zZSA9IHNlbGYuZGlyZWN0KCkKKworICAgICAgICBhY3R1YWxfcmVz cG9uc2VfY29kZSA9IHJlc3BvbnNlLnN0YXR1c19jb2RlCisgICAgICAgIGV4cGVjdGVkX3Jlc3Bv bnNlX2NvZGUgPSBzZWxmLmV4cGVjdGVkX2RhdGFbJ3N0YXR1c19jb2RlJ10KKyAgICAgICAgc2Vs Zi5hc3NlcnRFcXVhbChhY3R1YWxfcmVzcG9uc2VfY29kZSwgZXhwZWN0ZWRfcmVzcG9uc2VfY29k ZSkKKworICAgIGRlZiB0ZWFyRG93bihzZWxmKToKKyAgICAgICAgIiIiVGhpcyBmdW5jdGlvbiBk ZWxldGUgdGhlIHNlcnZlciBmcm9tIFNRTGl0ZSAiIiIKKyAgICAgICAgZGVidWdnZXJfdXRpbHMu Y2xvc2VfZGVidWdnZXIoc2VsZikKKyAgICAgICAgZGVidWdnZXJfdXRpbHMuZGVsZXRlX2Z1bmN0 aW9uKHNlbGYsIHV0aWxzKQorICAgICAgICBkYl91dGlscy5kaXNjb25uZWN0X2RhdGFiYXNlKHNl bGYsIHNlbGYuc2VydmVyX2lkLCBzZWxmLmRiX2lkKQpkaWZmIC0tZ2l0IGEvd2ViL3BnYWRtaW4v dG9vbHMvZGVidWdnZXIvdGVzdHMvdGVzdF9kZWJ1Z2dlcl9leGVjdXRlX3F1ZXJ5LnB5IGIvd2Vi L3BnYWRtaW4vdG9vbHMvZGVidWdnZXIvdGVzdHMvdGVzdF9kZWJ1Z2dlcl9leGVjdXRlX3F1ZXJ5 LnB5Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjNhNjQ1MjAKLS0tIC9kZXYv bnVsbAorKysgYi93ZWIvcGdhZG1pbi90b29scy9kZWJ1Z2dlci90ZXN0cy90ZXN0X2RlYnVnZ2Vy X2V4ZWN1dGVfcXVlcnkucHkKQEAgLTAsMCArMSw4NiBAQAorIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKKyMK KyMgcGdBZG1pbiA0IC0gUG9zdGdyZVNRTCBUb29scworIworIyBDb3B5cmlnaHQgKEMpIDIwMTMg LSAyMDIwLCBUaGUgcGdBZG1pbiBEZXZlbG9wbWVudCBUZWFtCisjIFRoaXMgc29mdHdhcmUgaXMg cmVsZWFzZWQgdW5kZXIgdGhlIFBvc3RncmVTUUwgTGljZW5jZQorIworIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMKKworaW1wb3J0IGpzb24KKworZnJvbSBwZ2FkbWluLnV0aWxzLnJvdXRlIGltcG9ydCBCYXNl VGVzdEdlbmVyYXRvcgorZnJvbSByZWdyZXNzaW9uLnB5dGhvbl90ZXN0X3V0aWxzIGltcG9ydCB0 ZXN0X3V0aWxzIGFzIHV0aWxzCitmcm9tIC4gaW1wb3J0IHV0aWxzIGFzIGRlYnVnZ2VyX3V0aWxz Citmcm9tIHVuaXR0ZXN0Lm1vY2sgaW1wb3J0IHBhdGNoCitmcm9tIHJlZ3Jlc3Npb24gaW1wb3J0 IHBhcmVudF9ub2RlX2RpY3QKK2Zyb20gcGdhZG1pbi5icm93c2VyLnNlcnZlcl9ncm91cHMuc2Vy dmVycy5kYXRhYmFzZXMuc2NoZW1hcy5mdW5jdGlvbnMgXAorICAgIC50ZXN0cyBpbXBvcnQgdXRp bHMgYXMgZnVuY3NfdXRpbHMKK2Zyb20gcGdhZG1pbi5icm93c2VyLnNlcnZlcl9ncm91cHMuc2Vy dmVycy5kYXRhYmFzZXMudGVzdHMgaW1wb3J0IFwKKyAgICB1dGlscyBhcyBkYl91dGlscworCisK K2NsYXNzIERlYnVnZ2VyRXhlY3V0ZVF1ZXJ5KEJhc2VUZXN0R2VuZXJhdG9yKToKKyAgICAiIiIg VGhpcyBjbGFzcyB3aWxsIGV4ZWN1dGUgcXVlcnkgaW4gZGVidWdnZXIuIiIiCisKKyAgICBzY2Vu YXJpb3MgPSB1dGlscy5nZW5lcmF0ZV9zY2VuYXJpb3MoJ2V4ZWN1dGVfcXVlcnknLAorICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZWJ1Z2dlcl91dGlscy50ZXN0X2Nh c2VzKQorCisgICAgZGVmIHNldFVwKHNlbGYpOgorICAgICAgICBzdXBlcihEZWJ1Z2dlckV4ZWN1 dGVRdWVyeSwgc2VsZikuc2V0VXAoKQorICAgICAgICBzZWxmLnNjaGVtYV9kYXRhID0gcGFyZW50 X25vZGVfZGljdFsnc2NoZW1hJ11bLTFdCisgICAgICAgIHNlbGYuc2VydmVyX2lkID0gc2VsZi5z Y2hlbWFfZGF0YVsnc2VydmVyX2lkJ10KKyAgICAgICAgc2VsZi5kYl9pZCA9IHNlbGYuc2NoZW1h X2RhdGFbJ2RiX2lkJ10KKyAgICAgICAgc2VsZi5zY2hlbWFfaWQgPSBzZWxmLnNjaGVtYV9kYXRh WydzY2hlbWFfaWQnXQorCisgICAgICAgIGxvY2FsX3NlbGYgPSBmdW5jc191dGlscy5zZXRfdXAo c2VsZikKKworICAgICAgICBzZWxmLnRlc3RfZGF0YVsnZnVuY293bmVyJ10gPSBzZWxmLnNlcnZl clsidXNlcm5hbWUiXQorCisgICAgICAgIGZ1bmN0aW9uX2luZm8gPSBkZWJ1Z2dlcl91dGlscy5j cmVhdGVfZnVuY3Rpb24oc2VsZiwgdXRpbHMpCisgICAgICAgIHNlbGYuZnVuY19pZCA9IGpzb24u bG9hZHMoZnVuY3Rpb25faW5mby5kYXRhKVsnbm9kZSddWydfaWQnXQorCisgICAgICAgIGlmIHNl bGYuYWRkX2V4dGVuc2lvbjoKKyAgICAgICAgICAgIGRlYnVnZ2VyX3V0aWxzLmFkZF9leHRlbnNp b24oc2VsZiwgdXRpbHMpCisKKyAgICAgICAgaW5pdF9kZWJ1Z2dlciA9IGRlYnVnZ2VyX3V0aWxz LmluaXRfZGVidWdnZXJfZnVuY3Rpb24oc2VsZikKKworICAgICAgICBzZWxmLnRyYW5zX2lkID0g anNvbi5sb2Fkcyhpbml0X2RlYnVnZ2VyLmRhdGEpWydkYXRhJ11bJ3RyYW5zX2lkJ10KKworICAg ICAgICBpZiBzZWxmLmluaXRfdGFyZ2V0OgorICAgICAgICAgICAgZGVidWdnZXJfdXRpbHMuaW5p dGlhbGl6ZV90YXJnZXQoc2VsZiwgdXRpbHMpCisgICAgICAgICAgICBkZWJ1Z2dlcl91dGlscy5z dGFydF9saXN0ZW5lcihzZWxmKQorCisgICAgICAgICAgICBzZWxmLnBvcnRfbm8gPSBkZWJ1Z2dl cl91dGlscy5tZXNzYWdlcyhzZWxmKQorICAgICAgICAgICAgZGVidWdnZXJfdXRpbHMuc3RhcnRf ZXhlY3V0aW9uKHNlbGYpCisKKyAgICBkZWYgZXhlY3V0ZV9xdWVyeShzZWxmKToKKyAgICAgICAg cmV0dXJuIHNlbGYudGVzdGVyLmdldCgKKyAgICAgICAgICAgIHNlbGYudXJsICsgc3RyKHNlbGYu dHJhbnNfaWQpICsgJy8nICsgc3RyKHNlbGYucXVlcnlfdHlwZSksCisgICAgICAgICAgICBjb250 ZW50X3R5cGU9J2FwcGxpY2F0aW9uL2pzb24nKQorCisgICAgZGVmIHJ1blRlc3Qoc2VsZik6Cisg ICAgICAgICIiIgorICAgICAgICBUaGlzIGZ1bmN0aW9uIHdpbGwgaW5pdGlhbGl6ZSB0aGUgZGVi dWdnZXIgZm9yIGZ1bmN0aW9uIGFuZCBwcm9jZWR1cmVzLgorICAgICAgICAiIiIKKyAgICAgICAg aWYgc2VsZi5pc19wb3NpdGl2ZV90ZXN0OgorICAgICAgICAgICAgcmVzcG9uc2UgPSBzZWxmLmV4 ZWN1dGVfcXVlcnkoKQorICAgICAgICBlbHNlOgorICAgICAgICAgICAgaWYgc2VsZi5tb2NraW5n X3JlcXVpcmVkOgorICAgICAgICAgICAgICAgIHdpdGggcGF0Y2goc2VsZi5tb2NrX2RhdGFbImZ1 bmN0aW9uX25hbWUiXSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybl92YWx1ZT1l dmFsKHNlbGYubW9ja19kYXRhWyJyZXR1cm5fdmFsdWUiXSkpOgorICAgICAgICAgICAgICAgICAg ICByZXNwb25zZSA9IHNlbGYuZXhlY3V0ZV9xdWVyeSgpCisgICAgICAgICAgICBlbHNlOgorICAg ICAgICAgICAgICAgIHJlc3BvbnNlID0gc2VsZi5leGVjdXRlX3F1ZXJ5KCkKKworICAgICAgICBh Y3R1YWxfcmVzcG9uc2VfY29kZSA9IHJlc3BvbnNlLnN0YXR1c19jb2RlCisgICAgICAgIGV4cGVj dGVkX3Jlc3BvbnNlX2NvZGUgPSBzZWxmLmV4cGVjdGVkX2RhdGFbJ3N0YXR1c19jb2RlJ10KKyAg ICAgICAgc2VsZi5hc3NlcnRFcXVhbChhY3R1YWxfcmVzcG9uc2VfY29kZSwgZXhwZWN0ZWRfcmVz cG9uc2VfY29kZSkKKworICAgIGRlZiB0ZWFyRG93bihzZWxmKToKKyAgICAgICAgIiIiVGhpcyBm dW5jdGlvbiBkZWxldGUgdGhlIHNlcnZlciBmcm9tIFNRTGl0ZSAiIiIKKyAgICAgICAgaWYgaGFz YXR0cihzZWxmLCAnYWJvcnRfZGVidWdnZXInKSBhbmQgc2VsZi5hYm9ydF9kZWJ1Z2dlcjoKKyAg ICAgICAgICAgIGRlYnVnZ2VyX3V0aWxzLmFib3J0X2RlYnVnZ2VyKHNlbGYpCisgICAgICAgIGRl YnVnZ2VyX3V0aWxzLmNsb3NlX2RlYnVnZ2VyKHNlbGYpCisgICAgICAgIGRlYnVnZ2VyX3V0aWxz LmRlbGV0ZV9mdW5jdGlvbihzZWxmLCB1dGlscykKKyAgICAgICAgZGJfdXRpbHMuZGlzY29ubmVj dF9kYXRhYmFzZShzZWxmLCBzZWxmLnNlcnZlcl9pZCwgc2VsZi5kYl9pZCkKZGlmZiAtLWdpdCBh L3dlYi9wZ2FkbWluL3Rvb2xzL2RlYnVnZ2VyL3Rlc3RzL3Rlc3RfZGVidWdnZXJfZ2V0X2FyZ3Vt ZW50cy5weSBiL3dlYi9wZ2FkbWluL3Rvb2xzL2RlYnVnZ2VyL3Rlc3RzL3Rlc3RfZGVidWdnZXJf Z2V0X2FyZ3VtZW50cy5weQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jZTI2 ODRlCi0tLSAvZGV2L251bGwKKysrIGIvd2ViL3BnYWRtaW4vdG9vbHMvZGVidWdnZXIvdGVzdHMv dGVzdF9kZWJ1Z2dlcl9nZXRfYXJndW1lbnRzLnB5CkBAIC0wLDAgKzEsNzEgQEAKKyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjCisjCisjIHBnQWRtaW4gNCAtIFBvc3RncmVTUUwgVG9vbHMKKyMKKyMgQ29weXJp Z2h0IChDKSAyMDEzIC0gMjAyMCwgVGhlIHBnQWRtaW4gRGV2ZWxvcG1lbnQgVGVhbQorIyBUaGlz IHNvZnR3YXJlIGlzIHJlbGVhc2VkIHVuZGVyIHRoZSBQb3N0Z3JlU1FMIExpY2VuY2UKKyMKKyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjCisKK2ltcG9ydCBqc29uCisKK2Zyb20gcGdhZG1pbi51dGlscy5yb3V0 ZSBpbXBvcnQgQmFzZVRlc3RHZW5lcmF0b3IKK2Zyb20gcmVncmVzc2lvbi5weXRob25fdGVzdF91 dGlscyBpbXBvcnQgdGVzdF91dGlscyBhcyB1dGlscworZnJvbSAuIGltcG9ydCB1dGlscyBhcyBk ZWJ1Z2dlcl91dGlscworZnJvbSB1bml0dGVzdC5tb2NrIGltcG9ydCBwYXRjaAorZnJvbSByZWdy ZXNzaW9uIGltcG9ydCBwYXJlbnRfbm9kZV9kaWN0Citmcm9tIHBnYWRtaW4uYnJvd3Nlci5zZXJ2 ZXJfZ3JvdXBzLnNlcnZlcnMuZGF0YWJhc2VzLnNjaGVtYXMuZnVuY3Rpb25zIFwKKyAgICAudGVz dHMgaW1wb3J0IHV0aWxzIGFzIGZ1bmNzX3V0aWxzCitmcm9tIHBnYWRtaW4uYnJvd3Nlci5zZXJ2 ZXJfZ3JvdXBzLnNlcnZlcnMuZGF0YWJhc2VzLnRlc3RzIGltcG9ydCBcCisgICAgdXRpbHMgYXMg ZGJfdXRpbHMKKworCitjbGFzcyBEZWJ1Z2dlckdldEFyZ3VtZW50cyhCYXNlVGVzdEdlbmVyYXRv cik6CisgICAgIiIiIFRoaXMgY2xhc3Mgd2lsbCBnZXQgYXJndW1lbnRzLi4iIiIKKworICAgIHNj ZW5hcmlvcyA9IHV0aWxzLmdlbmVyYXRlX3NjZW5hcmlvcygnZ2V0X2FyZ3VtZW50cycsCisgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlYnVnZ2VyX3V0aWxzLnRlc3Rf Y2FzZXMpCisKKyAgICBkZWYgc2V0VXAoc2VsZik6CisgICAgICAgIHN1cGVyKERlYnVnZ2VyR2V0 QXJndW1lbnRzLCBzZWxmKS5zZXRVcCgpCisgICAgICAgIHNlbGYuc2NoZW1hX2RhdGEgPSBwYXJl bnRfbm9kZV9kaWN0WydzY2hlbWEnXVstMV0KKyAgICAgICAgc2VsZi5zZXJ2ZXJfaWQgPSBzZWxm LnNjaGVtYV9kYXRhWydzZXJ2ZXJfaWQnXQorICAgICAgICBzZWxmLmRiX2lkID0gc2VsZi5zY2hl bWFfZGF0YVsnZGJfaWQnXQorICAgICAgICBzZWxmLnNjaGVtYV9pZCA9IHNlbGYuc2NoZW1hX2Rh dGFbJ3NjaGVtYV9pZCddCisKKyAgICAgICAgbG9jYWxfc2VsZiA9IGZ1bmNzX3V0aWxzLnNldF91 cChzZWxmKQorCisgICAgICAgIHNlbGYudGVzdF9kYXRhWydmdW5jb3duZXInXSA9IHNlbGYuc2Vy dmVyWyJ1c2VybmFtZSJdCisKKyAgICAgICAgZnVuY3Rpb25faW5mbyA9IGRlYnVnZ2VyX3V0aWxz LmNyZWF0ZV9mdW5jdGlvbihzZWxmLCB1dGlscykKKworICAgICAgICBzZWxmLmZ1bmNfaWQgPSBq c29uLmxvYWRzKGZ1bmN0aW9uX2luZm8uZGF0YSlbJ25vZGUnXVsnX2lkJ10KKworICAgIGRlZiBn ZXRfYXJndW1lbnRzKHNlbGYpOgorICAgICAgICByZXR1cm4gc2VsZi50ZXN0ZXIuZ2V0KAorICAg ICAgICAgICAgc2VsZi51cmwgKyBzdHIoc2VsZi5zZXJ2ZXJfaWQpICsgJy8nICsgc3RyKHNlbGYu ZGJfaWQpICsgJy8nICsKKyAgICAgICAgICAgIHN0cihzZWxmLnNjaGVtYV9pZCkgKyAnLycgKyBz dHIoc2VsZi5mdW5jX2lkKSwKKyAgICAgICAgICAgIGNvbnRlbnRfdHlwZT0nYXBwbGljYXRpb24v anNvbicpCisKKyAgICBkZWYgcnVuVGVzdChzZWxmKToKKyAgICAgICAgIiIiCisgICAgICAgIFRo aXMgZnVuY3Rpb24gd2lsbCBpbml0aWFsaXplIHRoZSBkZWJ1Z2dlciBmb3IgZnVuY3Rpb24gYW5k IHByb2NlZHVyZXMuCisgICAgICAgICIiIgorICAgICAgICBpZiBzZWxmLmlzX3Bvc2l0aXZlX3Rl c3Q6CisgICAgICAgICAgICByZXNwb25zZSA9IHNlbGYuZ2V0X2FyZ3VtZW50cygpCisgICAgICAg IGVsc2U6CisgICAgICAgICAgICBpZiBzZWxmLm1vY2tpbmdfcmVxdWlyZWQ6CisgICAgICAgICAg ICAgICAgd2l0aCBwYXRjaChzZWxmLm1vY2tfZGF0YVsiZnVuY3Rpb25fbmFtZSJdLAorICAgICAg ICAgICAgICAgICAgICAgICAgICAgcmV0dXJuX3ZhbHVlPWV2YWwoc2VsZi5tb2NrX2RhdGFbInJl dHVybl92YWx1ZSJdKSk6CisgICAgICAgICAgICAgICAgICAgIHJlc3BvbnNlID0gc2VsZi5nZXRf YXJndW1lbnRzKCkKKyAgICAgICAgICAgIGVsc2U6CisgICAgICAgICAgICAgICAgcmVzcG9uc2Ug PSBzZWxmLmdldF9hcmd1bWVudHMoKQorCisgICAgICAgIGFjdHVhbF9yZXNwb25zZV9jb2RlID0g cmVzcG9uc2Uuc3RhdHVzX2NvZGUKKyAgICAgICAgZXhwZWN0ZWRfcmVzcG9uc2VfY29kZSA9IHNl bGYuZXhwZWN0ZWRfZGF0YVsnc3RhdHVzX2NvZGUnXQorICAgICAgICBzZWxmLmFzc2VydEVxdWFs KGFjdHVhbF9yZXNwb25zZV9jb2RlLCBleHBlY3RlZF9yZXNwb25zZV9jb2RlKQorCisgICAgZGVm IHRlYXJEb3duKHNlbGYpOgorICAgICAgICAiIiJUaGlzIGZ1bmN0aW9uIGRlbGV0ZSB0aGUgc2Vy dmVyIGZyb20gU1FMaXRlICIiIgorICAgICAgICBkZWJ1Z2dlcl91dGlscy5kZWxldGVfZnVuY3Rp b24oc2VsZiwgdXRpbHMpCisgICAgICAgIGRiX3V0aWxzLmRpc2Nvbm5lY3RfZGF0YWJhc2Uoc2Vs Ziwgc2VsZi5zZXJ2ZXJfaWQsIHNlbGYuZGJfaWQpCmRpZmYgLS1naXQgYS93ZWIvcGdhZG1pbi90 b29scy9kZWJ1Z2dlci90ZXN0cy90ZXN0X2RlYnVnZ2VyX3BvbGxfZXhlY3V0aW9uX3Jlc3VsdC5w eSBiL3dlYi9wZ2FkbWluL3Rvb2xzL2RlYnVnZ2VyL3Rlc3RzL3Rlc3RfZGVidWdnZXJfcG9sbF9l eGVjdXRpb25fcmVzdWx0LnB5Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjQ3 ZTlmOTgKLS0tIC9kZXYvbnVsbAorKysgYi93ZWIvcGdhZG1pbi90b29scy9kZWJ1Z2dlci90ZXN0 cy90ZXN0X2RlYnVnZ2VyX3BvbGxfZXhlY3V0aW9uX3Jlc3VsdC5weQpAQCAtMCwwICsxLDg2IEBA CisjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIworIworIyBwZ0FkbWluIDQgLSBQb3N0Z3JlU1FMIFRvb2xzCisj CisjIENvcHlyaWdodCAoQykgMjAxMyAtIDIwMjAsIFRoZSBwZ0FkbWluIERldmVsb3BtZW50IFRl YW0KKyMgVGhpcyBzb2Z0d2FyZSBpcyByZWxlYXNlZCB1bmRlciB0aGUgUG9zdGdyZVNRTCBMaWNl bmNlCisjCisjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworCitpbXBvcnQganNvbgorCitmcm9tIHBnYWRtaW4u dXRpbHMucm91dGUgaW1wb3J0IEJhc2VUZXN0R2VuZXJhdG9yCitmcm9tIHJlZ3Jlc3Npb24ucHl0 aG9uX3Rlc3RfdXRpbHMgaW1wb3J0IHRlc3RfdXRpbHMgYXMgdXRpbHMKK2Zyb20gLiBpbXBvcnQg dXRpbHMgYXMgZGVidWdnZXJfdXRpbHMKK2Zyb20gdW5pdHRlc3QubW9jayBpbXBvcnQgcGF0Y2gK K2Zyb20gcmVncmVzc2lvbiBpbXBvcnQgcGFyZW50X25vZGVfZGljdAorZnJvbSBwZ2FkbWluLmJy b3dzZXIuc2VydmVyX2dyb3Vwcy5zZXJ2ZXJzLmRhdGFiYXNlcy5zY2hlbWFzLmZ1bmN0aW9ucyBc CisgICAgLnRlc3RzIGltcG9ydCB1dGlscyBhcyBmdW5jc191dGlscworZnJvbSBwZ2FkbWluLmJy b3dzZXIuc2VydmVyX2dyb3Vwcy5zZXJ2ZXJzLmRhdGFiYXNlcy50ZXN0cyBpbXBvcnQgXAorICAg IHV0aWxzIGFzIGRiX3V0aWxzCisKKworY2xhc3MgRGVidWdnZXJQb2xsRXhlY3V0aW9uUmVzdWx0 KEJhc2VUZXN0R2VuZXJhdG9yKToKKyAgICAiIiIgVGhpcyBjbGFzcyB3aWxsIHN0YXJ0IGRlYnVn Z2VyIGV4ZWN1dGlvbi4iIiIKKworICAgIHNjZW5hcmlvcyA9IHV0aWxzLmdlbmVyYXRlX3NjZW5h cmlvcygncG9sbF9lbmRfZXhlY3V0aW9uX3Jlc3VsdCcsCisgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIGRlYnVnZ2VyX3V0aWxzLnRlc3RfY2FzZXMpCisKKyAgICBkZWYg c2V0VXAoc2VsZik6CisgICAgICAgIHN1cGVyKERlYnVnZ2VyUG9sbEV4ZWN1dGlvblJlc3VsdCwg c2VsZikuc2V0VXAoKQorICAgICAgICBzZWxmLnNjaGVtYV9kYXRhID0gcGFyZW50X25vZGVfZGlj dFsnc2NoZW1hJ11bLTFdCisgICAgICAgIHNlbGYuc2VydmVyX2lkID0gc2VsZi5zY2hlbWFfZGF0 YVsnc2VydmVyX2lkJ10KKyAgICAgICAgc2VsZi5kYl9pZCA9IHNlbGYuc2NoZW1hX2RhdGFbJ2Ri X2lkJ10KKyAgICAgICAgc2VsZi5zY2hlbWFfaWQgPSBzZWxmLnNjaGVtYV9kYXRhWydzY2hlbWFf aWQnXQorCisgICAgICAgIGxvY2FsX3NlbGYgPSBmdW5jc191dGlscy5zZXRfdXAoc2VsZikKKwor ICAgICAgICBzZWxmLnRlc3RfZGF0YVsnZnVuY293bmVyJ10gPSBzZWxmLnNlcnZlclsidXNlcm5h bWUiXQorCisgICAgICAgIGZ1bmN0aW9uX2luZm8gPSBkZWJ1Z2dlcl91dGlscy5jcmVhdGVfZnVu Y3Rpb24oc2VsZiwgdXRpbHMpCisKKyAgICAgICAgc2VsZi5mdW5jX2lkID0ganNvbi5sb2Fkcyhm dW5jdGlvbl9pbmZvLmRhdGEpWydub2RlJ11bJ19pZCddCisKKyAgICAgICAgaWYgc2VsZi5hZGRf ZXh0ZW5zaW9uOgorICAgICAgICAgICAgZGVidWdnZXJfdXRpbHMuYWRkX2V4dGVuc2lvbihzZWxm LCB1dGlscykKKworICAgICAgICBpbml0X2RlYnVnZ2VyID0gZGVidWdnZXJfdXRpbHMuaW5pdF9k ZWJ1Z2dlcl9mdW5jdGlvbihzZWxmKQorCisgICAgICAgIHNlbGYudHJhbnNfaWQgPSBqc29uLmxv YWRzKGluaXRfZGVidWdnZXIuZGF0YSlbJ2RhdGEnXVsndHJhbnNfaWQnXQorCisgICAgICAgIGlm IHNlbGYuaW5pdF90YXJnZXQ6CisgICAgICAgICAgICBkZWJ1Z2dlcl91dGlscy5pbml0aWFsaXpl X3RhcmdldChzZWxmLCB1dGlscykKKworICAgICAgICAgICAgZGVidWdnZXJfdXRpbHMuc3RhcnRf bGlzdGVuZXIoc2VsZikKKyAgICAgICAgICAgIHNlbGYucG9ydF9ubyA9IGRlYnVnZ2VyX3V0aWxz Lm1lc3NhZ2VzKHNlbGYpCisgICAgICAgICAgICBkZWJ1Z2dlcl91dGlscy5zdGFydF9leGVjdXRp b24oc2VsZikKKworICAgIGRlZiBwb2xsX2V4ZWN1dGlvbl9yZXN1bHQoc2VsZik6CisgICAgICAg IHJldHVybiBzZWxmLnRlc3Rlci5nZXQoCisgICAgICAgICAgICBzZWxmLnVybCArIHN0cihzZWxm LnRyYW5zX2lkKSArICcvJywKKyAgICAgICAgICAgIGNvbnRlbnRfdHlwZT0nYXBwbGljYXRpb24v anNvbicpCisKKyAgICBkZWYgcnVuVGVzdChzZWxmKToKKyAgICAgICAgIiIiCisgICAgICAgIFRo aXMgZnVuY3Rpb24gd2lsbCBpbml0aWFsaXplIHRoZSBkZWJ1Z2dlciBmb3IgZnVuY3Rpb24gYW5k IHByb2NlZHVyZXMuCisgICAgICAgICIiIgorICAgICAgICBpZiBzZWxmLmlzX3Bvc2l0aXZlX3Rl c3Q6CisgICAgICAgICAgICByZXNwb25zZSA9IHNlbGYucG9sbF9leGVjdXRpb25fcmVzdWx0KCkK KyAgICAgICAgZWxzZToKKyAgICAgICAgICAgIGlmIHNlbGYubW9ja2luZ19yZXF1aXJlZDoKKyAg ICAgICAgICAgICAgICB3aXRoIHBhdGNoKHNlbGYubW9ja19kYXRhWyJmdW5jdGlvbl9uYW1lIl0s CisgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm5fdmFsdWU9ZXZhbChzZWxmLm1vY2tf ZGF0YVsicmV0dXJuX3ZhbHVlIl0pKToKKyAgICAgICAgICAgICAgICAgICAgcmVzcG9uc2UgPSBz ZWxmLnBvbGxfZXhlY3V0aW9uX3Jlc3VsdCgpCisgICAgICAgICAgICBlbHNlOgorICAgICAgICAg ICAgICAgIHJlc3BvbnNlID0gc2VsZi5wb2xsX2V4ZWN1dGlvbl9yZXN1bHQoKQorCisgICAgICAg IGFjdHVhbF9yZXNwb25zZV9jb2RlID0gcmVzcG9uc2Uuc3RhdHVzX2NvZGUKKyAgICAgICAgZXhw ZWN0ZWRfcmVzcG9uc2VfY29kZSA9IHNlbGYuZXhwZWN0ZWRfZGF0YVsnc3RhdHVzX2NvZGUnXQor ICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGFjdHVhbF9yZXNwb25zZV9jb2RlLCBleHBlY3RlZF9y ZXNwb25zZV9jb2RlKQorCisgICAgZGVmIHRlYXJEb3duKHNlbGYpOgorICAgICAgICAiIiJUaGlz IGZ1bmN0aW9uIGRlbGV0ZSB0aGUgc2VydmVyIGZyb20gU1FMaXRlICIiIgorICAgICAgICAjIGRl YnVnZ2VyX3V0aWxzLmFib3J0X2RlYnVnZ2VyKHNlbGYpCisgICAgICAgIGRlYnVnZ2VyX3V0aWxz LmNsb3NlX2RlYnVnZ2VyKHNlbGYpCisgICAgICAgIGRlYnVnZ2VyX3V0aWxzLmRlbGV0ZV9mdW5j dGlvbihzZWxmLCB1dGlscykKKyAgICAgICAgZGJfdXRpbHMuZGlzY29ubmVjdF9kYXRhYmFzZShz ZWxmLCBzZWxmLnNlcnZlcl9pZCwgc2VsZi5kYl9pZCkKZGlmZiAtLWdpdCBhL3dlYi9wZ2FkbWlu L3Rvb2xzL2RlYnVnZ2VyL3Rlc3RzL3Rlc3RfZGVidWdnZXJfcG9sbF9yZXN1bHQucHkgYi93ZWIv cGdhZG1pbi90b29scy9kZWJ1Z2dlci90ZXN0cy90ZXN0X2RlYnVnZ2VyX3BvbGxfcmVzdWx0LnB5 Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjNiODk0YTQKLS0tIC9kZXYvbnVs bAorKysgYi93ZWIvcGdhZG1pbi90b29scy9kZWJ1Z2dlci90ZXN0cy90ZXN0X2RlYnVnZ2VyX3Bv bGxfcmVzdWx0LnB5CkBAIC0wLDAgKzEsODMgQEAKKyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisjCisjIHBn QWRtaW4gNCAtIFBvc3RncmVTUUwgVG9vbHMKKyMKKyMgQ29weXJpZ2h0IChDKSAyMDEzIC0gMjAy MCwgVGhlIHBnQWRtaW4gRGV2ZWxvcG1lbnQgVGVhbQorIyBUaGlzIHNvZnR3YXJlIGlzIHJlbGVh c2VkIHVuZGVyIHRoZSBQb3N0Z3JlU1FMIExpY2VuY2UKKyMKKyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisK K2ltcG9ydCBqc29uCisKK2Zyb20gcGdhZG1pbi51dGlscy5yb3V0ZSBpbXBvcnQgQmFzZVRlc3RH ZW5lcmF0b3IKK2Zyb20gcmVncmVzc2lvbi5weXRob25fdGVzdF91dGlscyBpbXBvcnQgdGVzdF91 dGlscyBhcyB1dGlscworZnJvbSAuIGltcG9ydCB1dGlscyBhcyBkZWJ1Z2dlcl91dGlscworZnJv bSB1bml0dGVzdC5tb2NrIGltcG9ydCBwYXRjaAorZnJvbSByZWdyZXNzaW9uIGltcG9ydCBwYXJl bnRfbm9kZV9kaWN0Citmcm9tIHBnYWRtaW4uYnJvd3Nlci5zZXJ2ZXJfZ3JvdXBzLnNlcnZlcnMu ZGF0YWJhc2VzLnNjaGVtYXMuZnVuY3Rpb25zIFwKKyAgICAudGVzdHMgaW1wb3J0IHV0aWxzIGFz IGZ1bmNzX3V0aWxzCitmcm9tIHBnYWRtaW4uYnJvd3Nlci5zZXJ2ZXJfZ3JvdXBzLnNlcnZlcnMu ZGF0YWJhc2VzLnRlc3RzIGltcG9ydCBcCisgICAgdXRpbHMgYXMgZGJfdXRpbHMKKworCitjbGFz cyBEZWJ1Z2dlclBvbGxSZXN1bHQoQmFzZVRlc3RHZW5lcmF0b3IpOgorICAgICIiIiBUaGlzIGNs YXNzIHdpbGwgZXhlY3V0ZSBxdWVyeSBpbiBkZWJ1Z2dlci4iIiIKKworICAgIHNjZW5hcmlvcyA9 IHV0aWxzLmdlbmVyYXRlX3NjZW5hcmlvcygncG9sbF9yZXN1bHQnLAorICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBkZWJ1Z2dlcl91dGlscy50ZXN0X2Nhc2VzKQorCisg ICAgZGVmIHNldFVwKHNlbGYpOgorICAgICAgICBzdXBlcihEZWJ1Z2dlclBvbGxSZXN1bHQsIHNl bGYpLnNldFVwKCkKKyAgICAgICAgc2VsZi5zY2hlbWFfZGF0YSA9IHBhcmVudF9ub2RlX2RpY3Rb J3NjaGVtYSddWy0xXQorICAgICAgICBzZWxmLnNlcnZlcl9pZCA9IHNlbGYuc2NoZW1hX2RhdGFb J3NlcnZlcl9pZCddCisgICAgICAgIHNlbGYuZGJfaWQgPSBzZWxmLnNjaGVtYV9kYXRhWydkYl9p ZCddCisgICAgICAgIHNlbGYuc2NoZW1hX2lkID0gc2VsZi5zY2hlbWFfZGF0YVsnc2NoZW1hX2lk J10KKworICAgICAgICBsb2NhbF9zZWxmID0gZnVuY3NfdXRpbHMuc2V0X3VwKHNlbGYpCisKKyAg ICAgICAgc2VsZi50ZXN0X2RhdGFbJ2Z1bmNvd25lciddID0gc2VsZi5zZXJ2ZXJbInVzZXJuYW1l Il0KKworICAgICAgICBmdW5jdGlvbl9pbmZvID0gZGVidWdnZXJfdXRpbHMuY3JlYXRlX2Z1bmN0 aW9uKHNlbGYsIHV0aWxzKQorCisgICAgICAgIHNlbGYuZnVuY19pZCA9IGpzb24ubG9hZHMoZnVu Y3Rpb25faW5mby5kYXRhKVsnbm9kZSddWydfaWQnXQorCisgICAgICAgIGlmIHNlbGYuYWRkX2V4 dGVuc2lvbjoKKyAgICAgICAgICAgIGRlYnVnZ2VyX3V0aWxzLmFkZF9leHRlbnNpb24oc2VsZiwg dXRpbHMpCisKKyAgICAgICAgaW5pdF9kZWJ1Z2dlciA9IGRlYnVnZ2VyX3V0aWxzLmluaXRfZGVi dWdnZXJfZnVuY3Rpb24oc2VsZikKKworICAgICAgICBzZWxmLnRyYW5zX2lkID0ganNvbi5sb2Fk cyhpbml0X2RlYnVnZ2VyLmRhdGEpWydkYXRhJ11bJ3RyYW5zX2lkJ10KKworICAgICAgICBpZiBz ZWxmLmluaXRfdGFyZ2V0OgorICAgICAgICAgICAgZGVidWdnZXJfdXRpbHMuaW5pdGlhbGl6ZV90 YXJnZXQoc2VsZiwgdXRpbHMpCisKKyAgICAgICAgICAgIGRlYnVnZ2VyX3V0aWxzLnN0YXJ0X2xp c3RlbmVyKHNlbGYpCisKKyAgICBkZWYgZXhlY3V0ZV9xdWVyeShzZWxmKToKKyAgICAgICAgcmV0 dXJuIHNlbGYudGVzdGVyLmdldCgKKyAgICAgICAgICAgIHNlbGYudXJsICsgc3RyKHNlbGYudHJh bnNfaWQpICsgJy8nLAorICAgICAgICAgICAgY29udGVudF90eXBlPSdhcHBsaWNhdGlvbi9qc29u JykKKworICAgIGRlZiBydW5UZXN0KHNlbGYpOgorICAgICAgICAiIiIKKyAgICAgICAgVGhpcyBm dW5jdGlvbiB3aWxsIGluaXRpYWxpemUgdGhlIGRlYnVnZ2VyIGZvciBmdW5jdGlvbiBhbmQgcHJv Y2VkdXJlcy4KKyAgICAgICAgIiIiCisgICAgICAgIGlmIHNlbGYuaXNfcG9zaXRpdmVfdGVzdDoK KyAgICAgICAgICAgIHJlc3BvbnNlID0gc2VsZi5leGVjdXRlX3F1ZXJ5KCkKKyAgICAgICAgZWxz ZToKKyAgICAgICAgICAgIGlmIHNlbGYubW9ja2luZ19yZXF1aXJlZDoKKyAgICAgICAgICAgICAg ICB3aXRoIHBhdGNoKHNlbGYubW9ja19kYXRhWyJmdW5jdGlvbl9uYW1lIl0sCisgICAgICAgICAg ICAgICAgICAgICAgICAgICByZXR1cm5fdmFsdWU9ZXZhbChzZWxmLm1vY2tfZGF0YVsicmV0dXJu X3ZhbHVlIl0pKToKKyAgICAgICAgICAgICAgICAgICAgcmVzcG9uc2UgPSBzZWxmLmV4ZWN1dGVf cXVlcnkoKQorICAgICAgICAgICAgZWxzZToKKyAgICAgICAgICAgICAgICByZXNwb25zZSA9IHNl bGYuZXhlY3V0ZV9xdWVyeSgpCisKKyAgICAgICAgYWN0dWFsX3Jlc3BvbnNlX2NvZGUgPSByZXNw b25zZS5zdGF0dXNfY29kZQorICAgICAgICBleHBlY3RlZF9yZXNwb25zZV9jb2RlID0gc2VsZi5l eHBlY3RlZF9kYXRhWydzdGF0dXNfY29kZSddCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoYWN0 dWFsX3Jlc3BvbnNlX2NvZGUsIGV4cGVjdGVkX3Jlc3BvbnNlX2NvZGUpCisKKyAgICBkZWYgdGVh ckRvd24oc2VsZik6CisgICAgICAgICIiIlRoaXMgZnVuY3Rpb24gZGVsZXRlIHRoZSBzZXJ2ZXIg ZnJvbSBTUUxpdGUgIiIiCisgICAgICAgIGRlYnVnZ2VyX3V0aWxzLmNsb3NlX2RlYnVnZ2VyKHNl bGYpCisgICAgICAgIGRlYnVnZ2VyX3V0aWxzLmRlbGV0ZV9mdW5jdGlvbihzZWxmLCB1dGlscykK KyAgICAgICAgZGJfdXRpbHMuZGlzY29ubmVjdF9kYXRhYmFzZShzZWxmLCBzZWxmLnNlcnZlcl9p ZCwgc2VsZi5kYl9pZCkKZGlmZiAtLWdpdCBhL3dlYi9wZ2FkbWluL3Rvb2xzL2RlYnVnZ2VyL3Rl c3RzL3Rlc3RfZGVidWdnZXJfc2V0X2FyZ3VtZW50cy5weSBiL3dlYi9wZ2FkbWluL3Rvb2xzL2Rl YnVnZ2VyL3Rlc3RzL3Rlc3RfZGVidWdnZXJfc2V0X2FyZ3VtZW50cy5weQpuZXcgZmlsZSBtb2Rl IDEwMDY0NAppbmRleCAwMDAwMDAwLi5kNGVlZjNmCi0tLSAvZGV2L251bGwKKysrIGIvd2ViL3Bn YWRtaW4vdG9vbHMvZGVidWdnZXIvdGVzdHMvdGVzdF9kZWJ1Z2dlcl9zZXRfYXJndW1lbnRzLnB5 CkBAIC0wLDAgKzEsODkgQEAKKyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisjCisjIHBnQWRtaW4gNCAtIFBv c3RncmVTUUwgVG9vbHMKKyMKKyMgQ29weXJpZ2h0IChDKSAyMDEzIC0gMjAyMCwgVGhlIHBnQWRt aW4gRGV2ZWxvcG1lbnQgVGVhbQorIyBUaGlzIHNvZnR3YXJlIGlzIHJlbGVhc2VkIHVuZGVyIHRo ZSBQb3N0Z3JlU1FMIExpY2VuY2UKKyMKKyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisKK2ltcG9ydCBqc29u CisKK2Zyb20gcGdhZG1pbi51dGlscy5yb3V0ZSBpbXBvcnQgQmFzZVRlc3RHZW5lcmF0b3IKK2Zy b20gcmVncmVzc2lvbi5weXRob25fdGVzdF91dGlscyBpbXBvcnQgdGVzdF91dGlscyBhcyB1dGls cworZnJvbSAuIGltcG9ydCB1dGlscyBhcyBkZWJ1Z2dlcl91dGlscworZnJvbSB1bml0dGVzdC5t b2NrIGltcG9ydCBwYXRjaAorZnJvbSByZWdyZXNzaW9uIGltcG9ydCBwYXJlbnRfbm9kZV9kaWN0 Citmcm9tIHBnYWRtaW4uYnJvd3Nlci5zZXJ2ZXJfZ3JvdXBzLnNlcnZlcnMuZGF0YWJhc2VzLnNj aGVtYXMuZnVuY3Rpb25zIFwKKyAgICAudGVzdHMgaW1wb3J0IHV0aWxzIGFzIGZ1bmNzX3V0aWxz Citmcm9tIHBnYWRtaW4uYnJvd3Nlci5zZXJ2ZXJfZ3JvdXBzLnNlcnZlcnMuZGF0YWJhc2VzLnRl c3RzIGltcG9ydCBcCisgICAgdXRpbHMgYXMgZGJfdXRpbHMKKworCitjbGFzcyBEZWJ1Z2dlclNl dEFyZ3VtZW50cyhCYXNlVGVzdEdlbmVyYXRvcik6CisgICAgIiIiIFRoaXMgY2xhc3Mgd2lsbCBn ZXQgYXJndW1lbnRzLi4iIiIKKworICAgIHNjZW5hcmlvcyA9IHV0aWxzLmdlbmVyYXRlX3NjZW5h cmlvcygnc2V0X2FyZ3VtZW50cycsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIGRlYnVnZ2VyX3V0aWxzLnRlc3RfY2FzZXMpCisKKyAgICBkZWYgc2V0VXAoc2VsZik6 CisgICAgICAgIHN1cGVyKERlYnVnZ2VyU2V0QXJndW1lbnRzLCBzZWxmKS5zZXRVcCgpCisgICAg ICAgIHNlbGYuc2NoZW1hX2RhdGEgPSBwYXJlbnRfbm9kZV9kaWN0WydzY2hlbWEnXVstMV0KKyAg ICAgICAgc2VsZi5zZXJ2ZXJfaWQgPSBzZWxmLnNjaGVtYV9kYXRhWydzZXJ2ZXJfaWQnXQorICAg ICAgICBzZWxmLmRiX2lkID0gc2VsZi5zY2hlbWFfZGF0YVsnZGJfaWQnXQorICAgICAgICBzZWxm LnNjaGVtYV9pZCA9IHNlbGYuc2NoZW1hX2RhdGFbJ3NjaGVtYV9pZCddCisKKyAgICAgICAgbG9j YWxfc2VsZiA9IGZ1bmNzX3V0aWxzLnNldF91cChzZWxmKQorCisgICAgICAgIHNlbGYudGVzdF9k YXRhWydmdW5jb3duZXInXSA9IHNlbGYuc2VydmVyWyJ1c2VybmFtZSJdCisKKyAgICAgICAgZnVu Y3Rpb25faW5mbyA9IGRlYnVnZ2VyX3V0aWxzLmNyZWF0ZV9mdW5jdGlvbihzZWxmLCB1dGlscykK KworICAgICAgICBzZWxmLmZ1bmNfaWQgPSBqc29uLmxvYWRzKGZ1bmN0aW9uX2luZm8uZGF0YSlb J25vZGUnXVsnX2lkJ10KKworICAgICAgICBpZiBzZWxmLmFkZF9leHRlbnNpb246CisgICAgICAg ICAgICBkZWJ1Z2dlcl91dGlscy5hZGRfZXh0ZW5zaW9uKHNlbGYsIHV0aWxzKQorCisgICAgICAg IGluaXRfZGVidWdnZXIgPSBkZWJ1Z2dlcl91dGlscy5pbml0X2RlYnVnZ2VyX2Z1bmN0aW9uKHNl bGYpCisKKyAgICAgICAgc2VsZi50cmFuc19pZCA9IGpzb24ubG9hZHMoaW5pdF9kZWJ1Z2dlci5k YXRhKVsnZGF0YSddWyd0cmFuc19pZCddCisKKyAgICAgICAgaWYgc2VsZi5pbml0X3RhcmdldDoK KyAgICAgICAgICAgIGRlYnVnZ2VyX3V0aWxzLmluaXRpYWxpemVfdGFyZ2V0KHNlbGYsIHV0aWxz KQorCisgICAgZGVmIHNldF9hcmd1bWVudHMoc2VsZik6CisgICAgICAgIGFyZ3MgPSB7ImRhdGEi OiBqc29uLmR1bXBzKFsKKyAgICAgICAgICAgIHsic2VydmVyX2lkIjogc2VsZi5zZXJ2ZXJfaWQs ICJkYXRhYmFzZV9pZCI6IHNlbGYuZGJfaWQsCisgICAgICAgICAgICAgInNjaGVtYV9pZCI6IHNl bGYuc2NoZW1hX2lkLCAiZnVuY3Rpb25faWQiOiBzZWxmLmZ1bmNfaWQsCisgICAgICAgICAgICAg ImFyZ19pZCI6IDAsICJpc19udWxsIjogMCwgImlzX2V4cHJlc3Npb24iOiAwLCAidXNlX2RlZmF1 bHQiOiAxfV0pCisgICAgICAgIH0KKworICAgICAgICByZXR1cm4gc2VsZi50ZXN0ZXIucG9zdCgK KyAgICAgICAgICAgIHNlbGYudXJsICsgc3RyKHNlbGYuc2VydmVyX2lkKSArICcvJyArIHN0cihz ZWxmLmRiX2lkKSArICcvJyArCisgICAgICAgICAgICBzdHIoc2VsZi5zY2hlbWFfaWQpICsgJy8n ICsgc3RyKHNlbGYuZnVuY19pZCksCisgICAgICAgICAgICBkYXRhPWFyZ3MKKyAgICAgICAgKQor CisgICAgZGVmIHJ1blRlc3Qoc2VsZik6CisgICAgICAgICIiIgorICAgICAgICBUaGlzIGZ1bmN0 aW9uIHdpbGwgaW5pdGlhbGl6ZSB0aGUgZGVidWdnZXIgZm9yIGZ1bmN0aW9uIGFuZCBwcm9jZWR1 cmVzLgorICAgICAgICAiIiIKKyAgICAgICAgaWYgc2VsZi5pc19wb3NpdGl2ZV90ZXN0OgorICAg ICAgICAgICAgcmVzcG9uc2UgPSBzZWxmLnNldF9hcmd1bWVudHMoKQorICAgICAgICBlbHNlOgor ICAgICAgICAgICAgaWYgc2VsZi5tb2NraW5nX3JlcXVpcmVkOgorICAgICAgICAgICAgICAgIHdp dGggcGF0Y2goc2VsZi5tb2NrX2RhdGFbImZ1bmN0aW9uX25hbWUiXSwKKyAgICAgICAgICAgICAg ICAgICAgICAgICAgIHJldHVybl92YWx1ZT1ldmFsKHNlbGYubW9ja19kYXRhWyJyZXR1cm5fdmFs dWUiXSkpOgorICAgICAgICAgICAgICAgICAgICByZXNwb25zZSA9IHNlbGYuc2V0X2FyZ3VtZW50 cygpCisgICAgICAgICAgICBlbHNlOgorICAgICAgICAgICAgICAgIHJlc3BvbnNlID0gc2VsZi5z ZXRfYXJndW1lbnRzKCkKKworICAgICAgICBhY3R1YWxfcmVzcG9uc2VfY29kZSA9IHJlc3BvbnNl LnN0YXR1c19jb2RlCisgICAgICAgIGV4cGVjdGVkX3Jlc3BvbnNlX2NvZGUgPSBzZWxmLmV4cGVj dGVkX2RhdGFbJ3N0YXR1c19jb2RlJ10KKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChhY3R1YWxf cmVzcG9uc2VfY29kZSwgZXhwZWN0ZWRfcmVzcG9uc2VfY29kZSkKKworICAgIGRlZiB0ZWFyRG93 bihzZWxmKToKKyAgICAgICAgIiIiVGhpcyBmdW5jdGlvbiBkZWxldGUgdGhlIHNlcnZlciBmcm9t IFNRTGl0ZSAiIiIKKyAgICAgICAgZGVidWdnZXJfdXRpbHMuY2xvc2VfZGVidWdnZXIoc2VsZikK KyAgICAgICAgZGVidWdnZXJfdXRpbHMuZGVsZXRlX2Z1bmN0aW9uKHNlbGYsIHV0aWxzKQorICAg ICAgICBkYl91dGlscy5kaXNjb25uZWN0X2RhdGFiYXNlKHNlbGYsIHNlbGYuc2VydmVyX2lkLCBz ZWxmLmRiX2lkKQpkaWZmIC0tZ2l0IGEvd2ViL3BnYWRtaW4vdG9vbHMvZGVidWdnZXIvdGVzdHMv dGVzdF9kZWJ1Z2dlcl9zZXRfYnJlYWtwb2ludC5weSBiL3dlYi9wZ2FkbWluL3Rvb2xzL2RlYnVn Z2VyL3Rlc3RzL3Rlc3RfZGVidWdnZXJfc2V0X2JyZWFrcG9pbnQucHkKbmV3IGZpbGUgbW9kZSAx MDA2NDQKaW5kZXggMDAwMDAwMC4uNDVmNzc1NwotLS0gL2Rldi9udWxsCisrKyBiL3dlYi9wZ2Fk bWluL3Rvb2xzL2RlYnVnZ2VyL3Rlc3RzL3Rlc3RfZGVidWdnZXJfc2V0X2JyZWFrcG9pbnQucHkK QEAgLTAsMCArMSw4OSBAQAorIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKKyMKKyMgcGdBZG1pbiA0IC0gUG9z dGdyZVNRTCBUb29scworIworIyBDb3B5cmlnaHQgKEMpIDIwMTMgLSAyMDIwLCBUaGUgcGdBZG1p biBEZXZlbG9wbWVudCBUZWFtCisjIFRoaXMgc29mdHdhcmUgaXMgcmVsZWFzZWQgdW5kZXIgdGhl IFBvc3RncmVTUUwgTGljZW5jZQorIworIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKKworaW1wb3J0IGpzb24K KworZnJvbSBwZ2FkbWluLnV0aWxzLnJvdXRlIGltcG9ydCBCYXNlVGVzdEdlbmVyYXRvcgorZnJv bSByZWdyZXNzaW9uLnB5dGhvbl90ZXN0X3V0aWxzIGltcG9ydCB0ZXN0X3V0aWxzIGFzIHV0aWxz Citmcm9tIC4gaW1wb3J0IHV0aWxzIGFzIGRlYnVnZ2VyX3V0aWxzCitmcm9tIHVuaXR0ZXN0Lm1v Y2sgaW1wb3J0IHBhdGNoCitmcm9tIHJlZ3Jlc3Npb24gaW1wb3J0IHBhcmVudF9ub2RlX2RpY3QK K2Zyb20gcGdhZG1pbi5icm93c2VyLnNlcnZlcl9ncm91cHMuc2VydmVycy5kYXRhYmFzZXMuc2No ZW1hcy5mdW5jdGlvbnMgXAorICAgIC50ZXN0cyBpbXBvcnQgdXRpbHMgYXMgZnVuY3NfdXRpbHMK K2Zyb20gcGdhZG1pbi5icm93c2VyLnNlcnZlcl9ncm91cHMuc2VydmVycy5kYXRhYmFzZXMudGVz dHMgaW1wb3J0IFwKKyAgICB1dGlscyBhcyBkYl91dGlscworCisKK2NsYXNzIERlYnVnZ2VyU2V0 QnJlYWtwb2ludChCYXNlVGVzdEdlbmVyYXRvcik6CisgICAgIiIiIFRoaXMgY2xhc3Mgd2lsbCBz ZXQgYnJlYWtwb2ludC4iIiIKKworICAgIHNjZW5hcmlvcyA9IHV0aWxzLmdlbmVyYXRlX3NjZW5h cmlvcygnc2V0X2JyZWFrcG9pbnQnLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBkZWJ1Z2dlcl91dGlscy50ZXN0X2Nhc2VzKQorCisgICAgZGVmIHNldFVwKHNlbGYp OgorICAgICAgICBzdXBlcihEZWJ1Z2dlclNldEJyZWFrcG9pbnQsIHNlbGYpLnNldFVwKCkKKyAg ICAgICAgc2VsZi5zY2hlbWFfZGF0YSA9IHBhcmVudF9ub2RlX2RpY3RbJ3NjaGVtYSddWy0xXQor ICAgICAgICBzZWxmLnNlcnZlcl9pZCA9IHNlbGYuc2NoZW1hX2RhdGFbJ3NlcnZlcl9pZCddCisg ICAgICAgIHNlbGYuZGJfaWQgPSBzZWxmLnNjaGVtYV9kYXRhWydkYl9pZCddCisgICAgICAgIHNl bGYuc2NoZW1hX2lkID0gc2VsZi5zY2hlbWFfZGF0YVsnc2NoZW1hX2lkJ10KKworICAgICAgICBs b2NhbF9zZWxmID0gZnVuY3NfdXRpbHMuc2V0X3VwKHNlbGYpCisKKyAgICAgICAgc2VsZi50ZXN0 X2RhdGFbJ2Z1bmNvd25lciddID0gc2VsZi5zZXJ2ZXJbInVzZXJuYW1lIl0KKworICAgICAgICBm dW5jdGlvbl9pbmZvID0gZGVidWdnZXJfdXRpbHMuY3JlYXRlX2Z1bmN0aW9uKHNlbGYsIHV0aWxz KQorCisgICAgICAgIHNlbGYuZnVuY19pZCA9IGpzb24ubG9hZHMoZnVuY3Rpb25faW5mby5kYXRh KVsnbm9kZSddWydfaWQnXQorCisgICAgICAgIGlmIHNlbGYuYWRkX2V4dGVuc2lvbjoKKyAgICAg ICAgICAgIGRlYnVnZ2VyX3V0aWxzLmFkZF9leHRlbnNpb24oc2VsZiwgdXRpbHMpCisKKyAgICAg ICAgaW5pdF9kZWJ1Z2dlciA9IGRlYnVnZ2VyX3V0aWxzLmluaXRfZGVidWdnZXJfZnVuY3Rpb24o c2VsZikKKworICAgICAgICBzZWxmLnRyYW5zX2lkID0ganNvbi5sb2Fkcyhpbml0X2RlYnVnZ2Vy LmRhdGEpWydkYXRhJ11bJ3RyYW5zX2lkJ10KKworICAgICAgICBpZiBzZWxmLmluaXRfdGFyZ2V0 OgorICAgICAgICAgICAgZGVidWdnZXJfdXRpbHMuaW5pdGlhbGl6ZV90YXJnZXQoc2VsZiwgdXRp bHMpCisKKyAgICAgICAgICAgIGRlYnVnZ2VyX3V0aWxzLnN0YXJ0X2xpc3RlbmVyKHNlbGYpCisg ICAgICAgICAgICBzZWxmLnBvcnRfbm8gPSBkZWJ1Z2dlcl91dGlscy5tZXNzYWdlcyhzZWxmKQor ICAgICAgICAgICAgZGVidWdnZXJfdXRpbHMuc3RhcnRfZXhlY3V0aW9uKHNlbGYpCisKKyAgICAg ICAgaWYgc2VsZi5xdWVyeV90eXBlID09IDI6CisgICAgICAgICAgICBkZWJ1Z2dlcl91dGlscy5z ZXRfYnJlYWtwb2ludChzZWxmKQorCisgICAgZGVmIHNldF9icmVha3BvaW50KHNlbGYpOgorICAg ICAgICByZXR1cm4gc2VsZi50ZXN0ZXIuZ2V0KAorICAgICAgICAgICAgc2VsZi51cmwgKyBzdHIo c2VsZi50cmFuc19pZCkgKyAnLzMvJyArIHN0cihzZWxmLnF1ZXJ5X3R5cGUpLAorICAgICAgICAg ICAgY29udGVudF90eXBlPSdhcHBsaWNhdGlvbi9qc29uJykKKworICAgIGRlZiBydW5UZXN0KHNl bGYpOgorICAgICAgICAiIiIKKyAgICAgICAgVGhpcyBmdW5jdGlvbiB3aWxsIGluaXRpYWxpemUg dGhlIGRlYnVnZ2VyIGZvciBmdW5jdGlvbiBhbmQgcHJvY2VkdXJlcy4KKyAgICAgICAgIiIiCisg ICAgICAgIGlmIHNlbGYuaXNfcG9zaXRpdmVfdGVzdDoKKyAgICAgICAgICAgIHJlc3BvbnNlID0g c2VsZi5zZXRfYnJlYWtwb2ludCgpCisgICAgICAgIGVsc2U6CisgICAgICAgICAgICBpZiBzZWxm Lm1vY2tpbmdfcmVxdWlyZWQ6CisgICAgICAgICAgICAgICAgd2l0aCBwYXRjaChzZWxmLm1vY2tf ZGF0YVsiZnVuY3Rpb25fbmFtZSJdLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJu X3ZhbHVlPWV2YWwoc2VsZi5tb2NrX2RhdGFbInJldHVybl92YWx1ZSJdKSk6CisgICAgICAgICAg ICAgICAgICAgIHJlc3BvbnNlID0gc2VsZi5zZXRfYnJlYWtwb2ludCgpCisgICAgICAgICAgICBl bHNlOgorICAgICAgICAgICAgICAgIHJlc3BvbnNlID0gc2VsZi5zZXRfYnJlYWtwb2ludCgpCisK KyAgICAgICAgYWN0dWFsX3Jlc3BvbnNlX2NvZGUgPSByZXNwb25zZS5zdGF0dXNfY29kZQorICAg ICAgICBleHBlY3RlZF9yZXNwb25zZV9jb2RlID0gc2VsZi5leHBlY3RlZF9kYXRhWydzdGF0dXNf Y29kZSddCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoYWN0dWFsX3Jlc3BvbnNlX2NvZGUsIGV4 cGVjdGVkX3Jlc3BvbnNlX2NvZGUpCisKKyAgICBkZWYgdGVhckRvd24oc2VsZik6CisgICAgICAg ICIiIlRoaXMgZnVuY3Rpb24gZGVsZXRlIHRoZSBzZXJ2ZXIgZnJvbSBTUUxpdGUgIiIiCisgICAg ICAgICMgZGVidWdnZXJfdXRpbHMuYWJvcnRfZGVidWdnZXIoc2VsZikKKyAgICAgICAgZGVidWdn ZXJfdXRpbHMuY2xvc2VfZGVidWdnZXIoc2VsZikKKyAgICAgICAgZGVidWdnZXJfdXRpbHMuZGVs ZXRlX2Z1bmN0aW9uKHNlbGYsIHV0aWxzKQorICAgICAgICBkYl91dGlscy5kaXNjb25uZWN0X2Rh dGFiYXNlKHNlbGYsIHNlbGYuc2VydmVyX2lkLCBzZWxmLmRiX2lkKQpkaWZmIC0tZ2l0IGEvd2Vi L3BnYWRtaW4vdG9vbHMvZGVidWdnZXIvdGVzdHMvdGVzdF9pbml0X2RlYnVnZ2VyX2Z1bmN0aW9u LnB5IGIvd2ViL3BnYWRtaW4vdG9vbHMvZGVidWdnZXIvdGVzdHMvdGVzdF9pbml0X2RlYnVnZ2Vy X2Z1bmN0aW9uLnB5Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjgyYzI3ZTEK LS0tIC9kZXYvbnVsbAorKysgYi93ZWIvcGdhZG1pbi90b29scy9kZWJ1Z2dlci90ZXN0cy90ZXN0 X2luaXRfZGVidWdnZXJfZnVuY3Rpb24ucHkKQEAgLTAsMCArMSwxMTMgQEAKKyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjCisjCisjIHBnQWRtaW4gNCAtIFBvc3RncmVTUUwgVG9vbHMKKyMKKyMgQ29weXJpZ2h0 IChDKSAyMDEzIC0gMjAyMCwgVGhlIHBnQWRtaW4gRGV2ZWxvcG1lbnQgVGVhbQorIyBUaGlzIHNv ZnR3YXJlIGlzIHJlbGVhc2VkIHVuZGVyIHRoZSBQb3N0Z3JlU1FMIExpY2VuY2UKKyMKKyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjCisKK2ltcG9ydCBqc29uCitpbXBvcnQgdXVpZAorZnJvbSBwZ2FkbWluLnV0 aWxzLnJvdXRlIGltcG9ydCBCYXNlVGVzdEdlbmVyYXRvcgorZnJvbSByZWdyZXNzaW9uLnB5dGhv bl90ZXN0X3V0aWxzIGltcG9ydCB0ZXN0X3V0aWxzIGFzIHV0aWxzCitmcm9tIC4gaW1wb3J0IHV0 aWxzIGFzIGRlYnVnZ2VyX3V0aWxzCitmcm9tIHVuaXR0ZXN0Lm1vY2sgaW1wb3J0IHBhdGNoCitm cm9tIHJlZ3Jlc3Npb24gaW1wb3J0IHBhcmVudF9ub2RlX2RpY3QKK2Zyb20gcGdhZG1pbi5icm93 c2VyLnNlcnZlcl9ncm91cHMuc2VydmVycy5kYXRhYmFzZXMuc2NoZW1hcy5mdW5jdGlvbnMgXAor ICAgIC50ZXN0cyBpbXBvcnQgdXRpbHMgYXMgZnVuY3NfdXRpbHMKK2Zyb20gcGdhZG1pbi5icm93 c2VyLnNlcnZlcl9ncm91cHMuc2VydmVycy5kYXRhYmFzZXMudGVzdHMgaW1wb3J0IFwKKyAgICB1 dGlscyBhcyBkYl91dGlscworCisKK2NsYXNzIEluaXREZWJ1Z2dlcihCYXNlVGVzdEdlbmVyYXRv cik6CisgICAgIiIiIFRoaXMgY2xhc3Mgd2lsbCBJbml0aWFsaXplIHRoZSBkZWJ1Z2dlciAiIiIK KworICAgIHNjZW5hcmlvcyA9IHV0aWxzLmdlbmVyYXRlX3NjZW5hcmlvcygnaW5pdF9kZWJ1Z2dl cl9mb3JfZnVuY3Rpb24nLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBkZWJ1Z2dlcl91dGlscy50ZXN0X2Nhc2VzKQorCisgICAgZGVmIHNldFVwKHNlbGYpOgorICAg ICAgICBzdXBlcihJbml0RGVidWdnZXIsIHNlbGYpLnNldFVwKCkKKyAgICAgICAgc2VsZi5zY2hl bWFfZGF0YSA9IHBhcmVudF9ub2RlX2RpY3RbJ3NjaGVtYSddWy0xXQorICAgICAgICBzZWxmLnNl cnZlcl9pZCA9IHNlbGYuc2NoZW1hX2RhdGFbJ3NlcnZlcl9pZCddCisgICAgICAgIHNlbGYuZGJf aWQgPSBzZWxmLnNjaGVtYV9kYXRhWydkYl9pZCddCisgICAgICAgIHNlbGYuc2NoZW1hX2lkID0g c2VsZi5zY2hlbWFfZGF0YVsnc2NoZW1hX2lkJ10KKworICAgICAgICBsb2NhbF9zZWxmID0gZnVu Y3NfdXRpbHMuc2V0X3VwKHNlbGYpCisKKyAgICAgICAgaWYgc2VsZi5pbnZhbGlkX25hbWU6Cisg ICAgICAgICAgICBkYl91c2VyID0gc2VsZi5zZXJ2ZXJbInVzZXJuYW1lIl0KKyAgICAgICAgICAg IHNlbGYudGVzdF9kYXRhID0geyJhY2wiOiBbCisgICAgICAgICAgICAgICAgeworICAgICAgICAg ICAgICAgICAgICAiZ3JhbnRlZSI6IGRiX3VzZXIsCisgICAgICAgICAgICAgICAgICAgICJncmFu dG9yIjogZGJfdXNlciwKKyAgICAgICAgICAgICAgICAgICAgInByaXZpbGVnZXMiOgorICAgICAg ICAgICAgICAgICAgICAgICAgWworICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgInByaXZpbGVnZV90eXBlIjogIlgiLAorICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAicHJpdmlsZWdlIjogVHJ1ZSwKKyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIndpdGhfZ3JhbnQiOiBUcnVlCisgICAgICAgICAgICAgICAg ICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgICAgICAgICAgXQorICAgICAgICAgICAgICAg IH0KKyAgICAgICAgICAgIF0sICJhcmd1bWVudHMiOiBbXSwgImZ1bmNvd25lciI6IGRiX3VzZXIs ICJsYW5uYW1lIjogInNxbCIsCisgICAgICAgICAgICAgICAgIm5hbWUiOiAidGVzdF9mdW5jdGlv bl86XyVzIiAlIHN0cih1dWlkLnV1aWQ0KCkpWzE6OF0sCisgICAgICAgICAgICAgICAgIm9wdGlv bnMiOiBbXSwgInByb2xlYWtwcm9vZiI6IFRydWUsICJwcm9uYW1lc3BhY2UiOiAyMjAwLAorICAg ICAgICAgICAgICAgICJwcm9yZXR0eXBlbmFtZSI6ICJpbnRlZ2VyIiwgInByb3NlY2RlZiI6IFRy dWUsCisgICAgICAgICAgICAgICAgInByb3NyYyI6ICJTRUxFQ1QgMTsiLCAicHJvYmluIjogIiRs aWJkaXIvIiwKKyAgICAgICAgICAgICAgICAicHJvdm9sYXRpbGUiOiAicyIsICJzZWNsYWJlbHMi OiBbXSwgInZhcmlhYmxlcyI6IFt7CisgICAgICAgICAgICAgICAgICAgICJuYW1lIjogInNlYXJj aF9wYXRoIiwKKyAgICAgICAgICAgICAgICAgICAgInZhbHVlIjogInB1YmxpYywgcGdfdGVtcCIK KyAgICAgICAgICAgICAgICB9XQorICAgICAgICAgICAgfQorCisgICAgICAgICAgICBmdW5jdGlv bl9pbmZvID0gZGVidWdnZXJfdXRpbHMuY3JlYXRlX2Z1bmN0aW9uKHNlbGYsIHV0aWxzKQorICAg ICAgICAgICAgc2VsZi5mdW5jX2lkID0ganNvbi5sb2FkcyhmdW5jdGlvbl9pbmZvLmRhdGEpWydu b2RlJ11bJ19pZCddCisgICAgICAgIGVsc2U6CisgICAgICAgICAgICBmdW5jX25hbWUgPSAidGVz dF9mdW5jdGlvbl8lcyIgJSBzdHIodXVpZC51dWlkNCgpKVsxOjhdCisgICAgICAgICAgICBmdW5j dGlvbl9pbmZvID0gZnVuY3NfdXRpbHMuY3JlYXRlX2Z1bmN0aW9uKAorICAgICAgICAgICAgICAg IGxvY2FsX3NlbGYuc2VydmVyLCBsb2NhbF9zZWxmLmRiX25hbWUsIGxvY2FsX3NlbGYuc2NoZW1h X25hbWUsCisgICAgICAgICAgICAgICAgZnVuY19uYW1lKQorCisgICAgICAgICAgICBzZWxmLmZ1 bmNfaWQgPSBmdW5jdGlvbl9pbmZvWzBdCisKKyAgICAgICAgaWYgc2VsZi5hZGRfZXh0ZW5zaW9u OgorICAgICAgICAgICAgZGVidWdnZXJfdXRpbHMuYWRkX2V4dGVuc2lvbihzZWxmLCB1dGlscykK KworICAgIGRlZiBpbml0aWFsaXplX2RlYnVnZ2VyKHNlbGYpOgorICAgICAgICBpZiBzZWxmLm5v ZGVfdHlwZSA9PSAnZnVuY3Rpb24nOgorICAgICAgICAgICAgcmV0dXJuIHNlbGYudGVzdGVyLmdl dCgKKyAgICAgICAgICAgICAgICBzZWxmLnVybCArIHN0cihzZWxmLnNlcnZlcl9pZCkgKyAnLycg KyBzdHIoc2VsZi5kYl9pZCkgKworICAgICAgICAgICAgICAgICcvJyArIHN0cihzZWxmLnNjaGVt YV9pZCkgKyAnLycgKyBzdHIoc2VsZi5mdW5jX2lkKSwKKyAgICAgICAgICAgICAgICBjb250ZW50 X3R5cGU9J2FwcGxpY2F0aW9uL2pzb24nKQorCisgICAgZGVmIHJ1blRlc3Qoc2VsZik6CisgICAg ICAgICIiIgorICAgICAgICBUaGlzIGZ1bmN0aW9uIHdpbGwgaW5pdGlhbGl6ZSB0aGUgZGVidWdn ZXIgZm9yIGZ1bmN0aW9uIGFuZCBwcm9jZWR1cmVzLgorICAgICAgICAiIiIKKyAgICAgICAgaWYg c2VsZi5pc19wb3NpdGl2ZV90ZXN0OgorICAgICAgICAgICAgcmVzcG9uc2UgPSBzZWxmLmluaXRp YWxpemVfZGVidWdnZXIoKQorICAgICAgICBlbHNlOgorICAgICAgICAgICAgaWYgc2VsZi5tb2Nr aW5nX3JlcXVpcmVkOgorICAgICAgICAgICAgICAgIGlmIGhhc2F0dHIoc2VsZiwKKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICdtb2NrX211bHRpcGxlX2NhbGxzJykgYW5kIHNlbGYubW9ja19t dWx0aXBsZV9jYWxsczoKKyAgICAgICAgICAgICAgICAgICAgd2l0aCBwYXRjaChzZWxmLm1vY2tf ZGF0YVsiZnVuY3Rpb25fbmFtZSJdLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNp ZGVfZWZmZWN0PWV2YWwoCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYu bW9ja19kYXRhWyJyZXR1cm5fdmFsdWUiXSkpOgorICAgICAgICAgICAgICAgICAgICAgICAgcmVz cG9uc2UgPSBzZWxmLmluaXRpYWxpemVfZGVidWdnZXIoKQorICAgICAgICAgICAgICAgIGVsc2U6 CisgICAgICAgICAgICAgICAgICAgIHdpdGggcGF0Y2goc2VsZi5tb2NrX2RhdGFbImZ1bmN0aW9u X25hbWUiXSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm5fdmFsdWU9ZXZh bCgKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5tb2NrX2RhdGFbInJl dHVybl92YWx1ZSJdKSk6CisgICAgICAgICAgICAgICAgICAgICAgICByZXNwb25zZSA9IHNlbGYu aW5pdGlhbGl6ZV9kZWJ1Z2dlcigpCisgICAgICAgICAgICBlbHNlOgorICAgICAgICAgICAgICAg IHJlc3BvbnNlID0gc2VsZi5pbml0aWFsaXplX2RlYnVnZ2VyKCkKKworICAgICAgICBhY3R1YWxf cmVzcG9uc2VfY29kZSA9IHJlc3BvbnNlLnN0YXR1c19jb2RlCisgICAgICAgIGV4cGVjdGVkX3Jl c3BvbnNlX2NvZGUgPSBzZWxmLmV4cGVjdGVkX2RhdGFbJ3N0YXR1c19jb2RlJ10KKyAgICAgICAg c2VsZi5hc3NlcnRFcXVhbChhY3R1YWxfcmVzcG9uc2VfY29kZSwgZXhwZWN0ZWRfcmVzcG9uc2Vf Y29kZSkKKworICAgIGRlZiB0ZWFyRG93bihzZWxmKToKKyAgICAgICAgIiIiVGhpcyBmdW5jdGlv biBkZWxldGUgdGhlIHNlcnZlciBmcm9tIFNRTGl0ZSAiIiIKKyAgICAgICAgZGVidWdnZXJfdXRp bHMuZGVsZXRlX2Z1bmN0aW9uKHNlbGYsIHV0aWxzKQorICAgICAgICBkYl91dGlscy5kaXNjb25u ZWN0X2RhdGFiYXNlKHNlbGYsIHNlbGYuc2VydmVyX2lkLCBzZWxmLmRiX2lkKQpkaWZmIC0tZ2l0 IGEvd2ViL3BnYWRtaW4vdG9vbHMvZGVidWdnZXIvdGVzdHMvdGVzdF9pbml0X2RlYnVnZ2VyX3Ry aWdnZXIucHkgYi93ZWIvcGdhZG1pbi90b29scy9kZWJ1Z2dlci90ZXN0cy90ZXN0X2luaXRfZGVi dWdnZXJfdHJpZ2dlci5weQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iNDVl OTQ4Ci0tLSAvZGV2L251bGwKKysrIGIvd2ViL3BnYWRtaW4vdG9vbHMvZGVidWdnZXIvdGVzdHMv dGVzdF9pbml0X2RlYnVnZ2VyX3RyaWdnZXIucHkKQEAgLTAsMCArMSw5NSBAQAorIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMKKyMKKyMgcGdBZG1pbiA0IC0gUG9zdGdyZVNRTCBUb29scworIworIyBDb3B5cmln aHQgKEMpIDIwMTMgLSAyMDIwLCBUaGUgcGdBZG1pbiBEZXZlbG9wbWVudCBUZWFtCisjIFRoaXMg c29mdHdhcmUgaXMgcmVsZWFzZWQgdW5kZXIgdGhlIFBvc3RncmVTUUwgTGljZW5jZQorIworIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMKKworaW1wb3J0IGpzb24KK2ltcG9ydCB1dWlkCitmcm9tIHBnYWRtaW4u dXRpbHMucm91dGUgaW1wb3J0IEJhc2VUZXN0R2VuZXJhdG9yCitmcm9tIHJlZ3Jlc3Npb24ucHl0 aG9uX3Rlc3RfdXRpbHMgaW1wb3J0IHRlc3RfdXRpbHMgYXMgdXRpbHMKK2Zyb20gLiBpbXBvcnQg dXRpbHMgYXMgZGVidWdnZXJfdXRpbHMKK2Zyb20gdW5pdHRlc3QubW9jayBpbXBvcnQgcGF0Y2gK K2Zyb20gcmVncmVzc2lvbiBpbXBvcnQgcGFyZW50X25vZGVfZGljdAorCitmcm9tIHBnYWRtaW4u YnJvd3Nlci5zZXJ2ZXJfZ3JvdXBzLnNlcnZlcnMuZGF0YWJhc2VzLnRlc3RzIGltcG9ydCBcCisg ICAgdXRpbHMgYXMgZGJfdXRpbHMKK2Zyb20gcGdhZG1pbi5icm93c2VyLnNlcnZlcl9ncm91cHMu c2VydmVycy5kYXRhYmFzZXMuc2NoZW1hcy5cCisgICAgdGFibGVzLnRlc3RzIGltcG9ydCB1dGls cyBhcyB0YWJsZXNfdXRpbHMKK2Zyb20gcGdhZG1pbi5icm93c2VyLnNlcnZlcl9ncm91cHMuc2Vy dmVycy5kYXRhYmFzZXMudGVzdHMgaW1wb3J0IHV0aWxzIGFzIFwKKyAgICBkYXRhYmFzZV91dGls cworZnJvbSBwZ2FkbWluLmJyb3dzZXIuc2VydmVyX2dyb3Vwcy5zZXJ2ZXJzLmRhdGFiYXNlcy5z Y2hlbWFzLmZ1bmN0aW9ucy50ZXN0cyBcCisgICAgaW1wb3J0IHV0aWxzIGFzIHRyaWdnZXJfZnVu Y3NfdXRpbHMKKworCitjbGFzcyBJbml0RGVidWdnZXIoQmFzZVRlc3RHZW5lcmF0b3IpOgorICAg ICIiIiBUaGlzIGNsYXNzIHdpbGwgSW5pdGlhbGl6ZSB0aGUgZGVidWdnZXIgIiIiCisKKyAgICBz Y2VuYXJpb3MgPSB1dGlscy5nZW5lcmF0ZV9zY2VuYXJpb3MoJ2luaXRfZGVidWdnZXJfZm9yX3Ry aWdnZXInLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZWJ1Z2dl cl91dGlscy50ZXN0X2Nhc2VzKQorCisgICAgZGVmIHNldFVwKHNlbGYpOgorICAgICAgICBzdXBl cihJbml0RGVidWdnZXIsIHNlbGYpLnNldFVwKCkKKyAgICAgICAgc2VsZi5zY2hlbWFfZGF0YSA9 IHBhcmVudF9ub2RlX2RpY3RbJ3NjaGVtYSddWy0xXQorICAgICAgICBzZWxmLnNlcnZlcl9pZCA9 IHNlbGYuc2NoZW1hX2RhdGFbJ3NlcnZlcl9pZCddCisgICAgICAgIHNlbGYuZGJfaWQgPSBzZWxm LnNjaGVtYV9kYXRhWydkYl9pZCddCisgICAgICAgIHNlbGYuZGJfbmFtZSA9IHBhcmVudF9ub2Rl X2RpY3RbImRhdGFiYXNlIl1bLTFdWyJkYl9uYW1lIl0KKyAgICAgICAgc2VsZi5zY2hlbWFfaWQg PSBzZWxmLnNjaGVtYV9kYXRhWydzY2hlbWFfaWQnXQorICAgICAgICBzZWxmLnNjaGVtYV9uYW1l ID0gc2VsZi5zY2hlbWFfZGF0YVsic2NoZW1hX25hbWUiXQorICAgICAgICBkYl9jb24gPSBkYXRh YmFzZV91dGlscy5jb25uZWN0X2RhdGFiYXNlKHNlbGYsIHV0aWxzLlNFUlZFUl9HUk9VUCwKKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLnNlcnZl cl9pZCwgc2VsZi5kYl9pZCkKKyAgICAgICAgaWYgbm90IGRiX2NvblsnZGF0YSddWyJjb25uZWN0 ZWQiXToKKyAgICAgICAgICAgIHJhaXNlIEV4Y2VwdGlvbigiQ291bGQgbm90IGNvbm5lY3QgdG8g ZGF0YWJhc2UgdG8gZGVsZXRlIHRyaWdnZXIuIikKKworICAgICAgICBzZWxmLnRhYmxlX25hbWUg PSAidGFibGVfdHJpZ2dlcl8lcyIgJSAoc3RyKHV1aWQudXVpZDQoKSlbMTo4XSkKKyAgICAgICAg c2VsZi50YWJsZV9pZCA9IHRhYmxlc191dGlscy5jcmVhdGVfdGFibGUoc2VsZi5zZXJ2ZXIsIHNl bGYuZGJfbmFtZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgc2VsZi5zY2hlbWFfbmFtZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgc2VsZi50YWJsZV9uYW1lKQorICAgICAgICBzZWxmLnRyaWdnZXJf ZnVuY19uYW1lID0gInRyaWdnZXJfZnVuY19kZWxldGVfJXMiICUgXAorICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgc3RyKHV1aWQudXVpZDQoKSlbMTo4XQorICAgICAgICBzZWxmLnRy aWdnZXJfZnVuY3Rpb25faWQgPSBcCisgICAgICAgICAgICB0cmlnZ2VyX2Z1bmNzX3V0aWxzLmNy ZWF0ZV90cmlnZ2VyX2Z1bmN0aW9uX3dpdGhfdHJpZ2dlcigKKyAgICAgICAgICAgICAgICBzZWxm LnNlcnZlciwgc2VsZi5kYl9uYW1lLCBzZWxmLnNjaGVtYV9uYW1lLAorICAgICAgICAgICAgICAg IHNlbGYudHJpZ2dlcl9mdW5jX25hbWUpWzBdCisgICAgICAgIHNlbGYudHJpZ2dlcl9uYW1lID0g InRyaWdnZXJfJXMiICUgc3RyKHV1aWQudXVpZDQoKSlbMTo4XQorCisgICAgICAgIHNlbGYudGVz dF9kYXRhWyduYW1lJ10gPSBzZWxmLnRyaWdnZXJfbmFtZQorICAgICAgICBzZWxmLnRlc3RfZGF0 YVsndGZ1bmN0aW9uJ10gPSAiezB9LnsxfSIuZm9ybWF0KHNlbGYuc2NoZW1hX25hbWUsCisgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi50 cmlnZ2VyX2Z1bmNfbmFtZSkKKyAgICAgICAgc2VsZi50cmlnZ2VyX2lkID0gZGVidWdnZXJfdXRp bHMuY3JlYXRlX3RyaWdnZXIoc2VsZiwgdXRpbHMpCisKKyAgICAgICAgaWYgc2VsZi5hZGRfZXh0 ZW5zaW9uOgorICAgICAgICAgICAgZGVidWdnZXJfdXRpbHMuYWRkX2V4dGVuc2lvbihzZWxmLCB1 dGlscykKKworICAgIGRlZiBpbml0aWFsaXplX2RlYnVnZ2VyKHNlbGYpOgorICAgICAgICBpZiBz ZWxmLm5vZGVfdHlwZSA9PSAndHJpZ2dlcic6CisgICAgICAgICAgICByZXR1cm4gc2VsZi50ZXN0 ZXIuZ2V0KAorICAgICAgICAgICAgICAgIHNlbGYudXJsICsgc3RyKHNlbGYuc2VydmVyX2lkKSAr ICcvJyArIHN0cihzZWxmLmRiX2lkKSArCisgICAgICAgICAgICAgICAgJy8nICsgc3RyKHNlbGYu c2NoZW1hX2lkKSArICcvJyArIHN0cihzZWxmLnRhYmxlX2lkKSArCisgICAgICAgICAgICAgICAg Jy8nICsgc3RyKHNlbGYudHJpZ2dlcl9pZCksCisgICAgICAgICAgICAgICAgY29udGVudF90eXBl PSdodG1sL2pzb24nKQorCisgICAgZGVmIHJ1blRlc3Qoc2VsZik6CisgICAgICAgICIiIgorICAg ICAgICBUaGlzIGZ1bmN0aW9uIHdpbGwgaW5pdGlhbGl6ZSB0aGUgZGVidWdnZXIgZm9yIGZ1bmN0 aW9uIGFuZCBwcm9jZWR1cmVzLgorICAgICAgICAiIiIKKyAgICAgICAgaWYgc2VsZi5pc19wb3Np dGl2ZV90ZXN0OgorICAgICAgICAgICAgcmVzcG9uc2UgPSBzZWxmLmluaXRpYWxpemVfZGVidWdn ZXIoKQorICAgICAgICBlbHNlOgorICAgICAgICAgICAgaWYgc2VsZi5tb2NraW5nX3JlcXVpcmVk OgorICAgICAgICAgICAgICAgIHdpdGggcGF0Y2goc2VsZi5tb2NrX2RhdGFbImZ1bmN0aW9uX25h bWUiXSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybl92YWx1ZT1ldmFsKHNlbGYu bW9ja19kYXRhWyJyZXR1cm5fdmFsdWUiXSkpOgorICAgICAgICAgICAgICAgICAgICByZXNwb25z ZSA9IHNlbGYuaW5pdGlhbGl6ZV9kZWJ1Z2dlcigpCisgICAgICAgICAgICBlbHNlOgorICAgICAg ICAgICAgICAgIHJlc3BvbnNlID0gc2VsZi5pbml0aWFsaXplX2RlYnVnZ2VyKCkKKworICAgICAg ICBhY3R1YWxfcmVzcG9uc2VfY29kZSA9IHJlc3BvbnNlLnN0YXR1c19jb2RlCisgICAgICAgIGV4 cGVjdGVkX3Jlc3BvbnNlX2NvZGUgPSBzZWxmLmV4cGVjdGVkX2RhdGFbJ3N0YXR1c19jb2RlJ10K KyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChhY3R1YWxfcmVzcG9uc2VfY29kZSwgZXhwZWN0ZWRf cmVzcG9uc2VfY29kZSkKKworICAgIGRlZiB0ZWFyRG93bihzZWxmKToKKyAgICAgICAgIiIiVGhp cyBmdW5jdGlvbiBkZWxldGUgdGhlIHNlcnZlciBmcm9tIFNRTGl0ZSAiIiIKKyAgICAgICAgZGJf dXRpbHMuZGlzY29ubmVjdF9kYXRhYmFzZShzZWxmLCBzZWxmLnNlcnZlcl9pZCwgc2VsZi5kYl9p ZCkKZGlmZiAtLWdpdCBhL3dlYi9wZ2FkbWluL3Rvb2xzL2RlYnVnZ2VyL3Rlc3RzL3Rlc3RfaW5p dF90YXJnZXQucHkgYi93ZWIvcGdhZG1pbi90b29scy9kZWJ1Z2dlci90ZXN0cy90ZXN0X2luaXRf dGFyZ2V0LnB5Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjEzNDcwYzgKLS0t IC9kZXYvbnVsbAorKysgYi93ZWIvcGdhZG1pbi90b29scy9kZWJ1Z2dlci90ZXN0cy90ZXN0X2lu aXRfdGFyZ2V0LnB5CkBAIC0wLDAgKzEsMTM3IEBACisjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworIworIyBw Z0FkbWluIDQgLSBQb3N0Z3JlU1FMIFRvb2xzCisjCisjIENvcHlyaWdodCAoQykgMjAxMyAtIDIw MjAsIFRoZSBwZ0FkbWluIERldmVsb3BtZW50IFRlYW0KKyMgVGhpcyBzb2Z0d2FyZSBpcyByZWxl YXNlZCB1bmRlciB0aGUgUG9zdGdyZVNRTCBMaWNlbmNlCisjCisjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwor CitpbXBvcnQganNvbgoraW1wb3J0IHV1aWQKK2Zyb20gcGdhZG1pbi51dGlscy5yb3V0ZSBpbXBv cnQgQmFzZVRlc3RHZW5lcmF0b3IKK2Zyb20gcmVncmVzc2lvbi5weXRob25fdGVzdF91dGlscyBp bXBvcnQgdGVzdF91dGlscyBhcyB1dGlscworZnJvbSAuIGltcG9ydCB1dGlscyBhcyBkZWJ1Z2dl cl91dGlscworZnJvbSB1bml0dGVzdC5tb2NrIGltcG9ydCBwYXRjaAorZnJvbSByZWdyZXNzaW9u IGltcG9ydCBwYXJlbnRfbm9kZV9kaWN0Citmcm9tIHBnYWRtaW4uYnJvd3Nlci5zZXJ2ZXJfZ3Jv dXBzLnNlcnZlcnMuZGF0YWJhc2VzLnNjaGVtYXMuZnVuY3Rpb25zIFwKKyAgICAudGVzdHMgaW1w b3J0IHV0aWxzIGFzIGZ1bmNzX3V0aWxzCitmcm9tIHBnYWRtaW4uYnJvd3Nlci5zZXJ2ZXJfZ3Jv dXBzLnNlcnZlcnMuZGF0YWJhc2VzLnRlc3RzIGltcG9ydCBcCisgICAgdXRpbHMgYXMgZGJfdXRp bHMKK2Zyb20gcGdhZG1pbi5icm93c2VyLnNlcnZlcl9ncm91cHMuc2VydmVycy5kYXRhYmFzZXMu c2NoZW1hcy50YWJsZXMudGVzdHNcCisgICAgaW1wb3J0IHV0aWxzIGFzIHRhYmxlc191dGlscwor ZnJvbSBwZ2FkbWluLmJyb3dzZXIuc2VydmVyX2dyb3Vwcy5zZXJ2ZXJzLmRhdGFiYXNlcy5zY2hl bWFzLmZ1bmN0aW9ucy50ZXN0cyBcCisgICAgaW1wb3J0IHV0aWxzIGFzIHRyaWdnZXJfZnVuY3Nf dXRpbHMKKworCitjbGFzcyBJbml0VGFyZ2V0RGVidWdnZXIoQmFzZVRlc3RHZW5lcmF0b3IpOgor ICAgICIiIiBUaGlzIGNsYXNzIHdpbGwgSW5pdGlhbGl6ZSB0aGUgZGVidWdnZXIgIiIiCisKKyAg ICBzY2VuYXJpb3MgPSB1dGlscy5nZW5lcmF0ZV9zY2VuYXJpb3MoJ2luaXRfZGVidWdnZXJfdGFy Z2V0JywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVidWdnZXJf dXRpbHMudGVzdF9jYXNlcykKKworICAgIGRlZiBzZXRVcChzZWxmKToKKyAgICAgICAgc3VwZXIo SW5pdFRhcmdldERlYnVnZ2VyLCBzZWxmKS5zZXRVcCgpCisgICAgICAgIHNlbGYuZGVidWdnZXJf ZXJyb3IgPSAnVGhlIGRlYnVnZ2VyIHBsdWdpbiBpcyBub3QgZW5hYmxlZC4gJyBcCisgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAnUGxlYXNlIGFkZCB0aGUgcGx1Z2luIHRvIHRoZSBzaGFy ZWRfcHJlbG9hZF8nIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdsaWJyYXJpZXMg c2V0dGluZyBpbiB0aGUgcG9zdGdyZXNxbC5jb25mIGZpbGUnIFwKKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICcgYW5kIHJlc3RhcnQgdGhlIGRhdGFiYXNlIHNlcnZlciBmb3IgaW5kaXJl Y3QnIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICcgZGVidWdnaW5nLicKKworICAg ICAgICBzZWxmLnNjaGVtYV9kYXRhID0gcGFyZW50X25vZGVfZGljdFsnc2NoZW1hJ11bLTFdCisg ICAgICAgIHNlbGYuc2VydmVyX2lkID0gc2VsZi5zY2hlbWFfZGF0YVsnc2VydmVyX2lkJ10KKyAg ICAgICAgc2VsZi5kYl9pZCA9IHNlbGYuc2NoZW1hX2RhdGFbJ2RiX2lkJ10KKyAgICAgICAgc2Vs Zi5zY2hlbWFfaWQgPSBzZWxmLnNjaGVtYV9kYXRhWydzY2hlbWFfaWQnXQorCisgICAgICAgIGxv Y2FsX3NlbGYgPSBmdW5jc191dGlscy5zZXRfdXAoc2VsZikKKworICAgICAgICBmdW5jX25hbWUg PSAidGVzdF9mdW5jdGlvbl8lcyIgJSBzdHIodXVpZC51dWlkNCgpKVsxOjhdCisgICAgICAgIGZ1 bmN0aW9uX2luZm8gPSBmdW5jc191dGlscy5jcmVhdGVfZnVuY3Rpb24oCisgICAgICAgICAgICBs b2NhbF9zZWxmLnNlcnZlciwgbG9jYWxfc2VsZi5kYl9uYW1lLCBsb2NhbF9zZWxmLnNjaGVtYV9u YW1lLAorICAgICAgICAgICAgZnVuY19uYW1lKQorCisgICAgICAgIHNlbGYuZnVuY19pZCA9IGZ1 bmN0aW9uX2luZm9bMF0KKworICAgICAgICBpZiBzZWxmLmFkZF9leHRlbnNpb246CisgICAgICAg ICAgICBkZWJ1Z2dlcl91dGlscy5hZGRfZXh0ZW5zaW9uKHNlbGYsIHV0aWxzKQorCisgICAgICAg IGluaXRfZGVidWdnZXIgPSBkZWJ1Z2dlcl91dGlscy5pbml0X2RlYnVnZ2VyX2Z1bmN0aW9uKHNl bGYpCisKKyAgICAgICAgc2VsZi50cmFuc19pZCA9IGpzb24ubG9hZHMoaW5pdF9kZWJ1Z2dlci5k YXRhKVsnZGF0YSddWyd0cmFuc19pZCddCisKKyAgICAgICAgaWYgaGFzYXR0cihzZWxmLCAnY3Jl YXRlX3RyaWdnZXJfZnVuYycpIGFuZCBzZWxmLmNyZWF0ZV90cmlnZ2VyX2Z1bmM6CisgICAgICAg ICAgICBkYl9jb24gPSBkYl91dGlscy5jb25uZWN0X2RhdGFiYXNlKHNlbGYsIHV0aWxzLlNFUlZF Ul9HUk9VUCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg c2VsZi5zZXJ2ZXJfaWQsIHNlbGYuZGJfaWQpCisgICAgICAgICAgICBpZiBub3QgZGJfY29uWydk YXRhJ11bImNvbm5lY3RlZCJdOgorICAgICAgICAgICAgICAgIHJhaXNlIEV4Y2VwdGlvbigKKyAg ICAgICAgICAgICAgICAgICAgIkNvdWxkIG5vdCBjb25uZWN0IHRvIGRhdGFiYXNlIHRvIGRlbGV0 ZSB0cmlnZ2VyLiIpCisKKyAgICAgICAgICAgIHNlbGYudGFibGVfbmFtZSA9ICJ0YWJsZV90cmln Z2VyXyVzIiAlIChzdHIodXVpZC51dWlkNCgpKVsxOjhdKQorICAgICAgICAgICAgc2VsZi50YWJs ZV9pZCA9IHRhYmxlc191dGlscy5jcmVhdGVfdGFibGUoc2VsZi5zZXJ2ZXIsCisgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLmRiX25hbWUs CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBz ZWxmLnNjaGVtYV9uYW1lLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgc2VsZi50YWJsZV9uYW1lKQorCisgICAgICAgICAgICBzZWxmLnRyaWdn ZXJfZnVuY19uYW1lID0gJ3Rlc3RfdHJpZ2dlcl9mdW5jdGlvbl8lcycgJSBzdHIoCisgICAgICAg ICAgICAgICAgdXVpZC51dWlkNCgpKVsxOjhdCisKKyAgICAgICAgICAgIHNlbGYudHJpZ2dlcl9m dW5jdGlvbl9pZCA9IFwKKyAgICAgICAgICAgICAgICB0cmlnZ2VyX2Z1bmNzX3V0aWxzLmNyZWF0 ZV90cmlnZ2VyX2Z1bmN0aW9uX3dpdGhfdHJpZ2dlcigKKyAgICAgICAgICAgICAgICAgICAgc2Vs Zi5zZXJ2ZXIsIHNlbGYuZGJfbmFtZSwgc2VsZi5zY2hlbWFfbmFtZSwKKyAgICAgICAgICAgICAg ICAgICAgc2VsZi50cmlnZ2VyX2Z1bmNfbmFtZSlbMF0KKworICAgICAgICAgICAgc2VsZi50cmln Z2VyX25hbWUgPSAidHJpZ2dlcl8lcyIgJSBzdHIodXVpZC51dWlkNCgpKVsxOjhdCisgICAgICAg ICAgICBzZWxmLnRlc3RfZGF0YVsnbmFtZSddID0gc2VsZi50cmlnZ2VyX25hbWUKKyAgICAgICAg ICAgIHNlbGYudGVzdF9kYXRhWyd0ZnVuY3Rpb24nXSA9ICJ7MH0uezF9Ii5mb3JtYXQoCisgICAg ICAgICAgICAgICAgc2VsZi5zY2hlbWFfbmFtZSwgc2VsZi50cmlnZ2VyX2Z1bmNfbmFtZSkKKwor ICAgICAgICAgICAgc2VsZi50cmlnZ2VyX2lkID0gZGVidWdnZXJfdXRpbHMuY3JlYXRlX3RyaWdn ZXIoc2VsZiwgdXRpbHMpCisKKyAgICBkZWYgaW5pdGlhbGl6ZV90cmFnZXQoc2VsZik6CisgICAg ICAgIGlmIGhhc2F0dHIoc2VsZiwgJ2NyZWF0ZV90cmlnZ2VyX2Z1bmMnKSBhbmQgc2VsZi5jcmVh dGVfdHJpZ2dlcl9mdW5jOgorICAgICAgICAgICAgcmV0dXJuIHNlbGYudGVzdGVyLmdldCgKKyAg ICAgICAgICAgICAgICBzZWxmLnVybCArIHN0cihzZWxmLnRyYW5zX2lkKSArICcvJyArIHN0cihz ZWxmLnNlcnZlcl9pZCkgKworICAgICAgICAgICAgICAgICcvJyArIHN0cihzZWxmLmRiX2lkKSAr ICcvJyArIHN0cihzZWxmLnNjaGVtYV9pZCkgKworICAgICAgICAgICAgICAgICcvJyArIHN0cihz ZWxmLnRhYmxlX2lkKSArICcvJyArCisgICAgICAgICAgICAgICAgc3RyKHNlbGYudHJpZ2dlcl9p ZCksIGNvbnRlbnRfdHlwZT0nYXBwbGljYXRpb24vanNvbicpCisgICAgICAgIGVsc2U6CisgICAg ICAgICAgICByZXR1cm4gc2VsZi50ZXN0ZXIuZ2V0KAorICAgICAgICAgICAgICAgIHNlbGYudXJs ICsgc3RyKHNlbGYudHJhbnNfaWQpICsgJy8nICsgc3RyKHNlbGYuc2VydmVyX2lkKSArCisgICAg ICAgICAgICAgICAgJy8nICsgc3RyKHNlbGYuZGJfaWQpICsgJy8nICsgc3RyKHNlbGYuc2NoZW1h X2lkKSArCisgICAgICAgICAgICAgICAgJy8nICsgc3RyKHNlbGYuZnVuY19pZCksCisgICAgICAg ICAgICAgICAgY29udGVudF90eXBlPSdhcHBsaWNhdGlvbi9qc29uJykKKworICAgIGRlZiBydW5U ZXN0KHNlbGYpOgorICAgICAgICAiIiIKKyAgICAgICAgVGhpcyBmdW5jdGlvbiB3aWxsIGluaXRp YWxpemUgdGhlIGRlYnVnZ2VyIGZvciBmdW5jdGlvbiBhbmQgcHJvY2VkdXJlcy4KKyAgICAgICAg IiIiCisgICAgICAgIGlmIHNlbGYuaXNfcG9zaXRpdmVfdGVzdDoKKyAgICAgICAgICAgIHJlc3Bv bnNlID0gc2VsZi5pbml0aWFsaXplX3RyYWdldCgpCisgICAgICAgIGVsc2U6CisgICAgICAgICAg ICBpZiBzZWxmLm1vY2tpbmdfcmVxdWlyZWQ6CisgICAgICAgICAgICAgICAgaWYgaGFzYXR0cihz ZWxmLCAnbW9ja19tdWx0aXBsZScpIGFuZCBzZWxmLm1vY2tfbXVsdGlwbGU6CisgICAgICAgICAg ICAgICAgICAgIHdpdGggcGF0Y2goc2VsZi5tb2NrX2RhdGFbImZ1bmN0aW9uX25hbWUiXSwKKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaWRlX2VmZmVjdD1ldmFsKAorICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLm1vY2tfZGF0YVsicmV0dXJuX3ZhbHVlIl0p KToKKyAgICAgICAgICAgICAgICAgICAgICAgIHJlc3BvbnNlID0gc2VsZi5pbml0aWFsaXplX3Ry YWdldCgpCisgICAgICAgICAgICAgICAgZWxzZToKKyAgICAgICAgICAgICAgICAgICAgd2l0aCBw YXRjaChzZWxmLm1vY2tfZGF0YVsiZnVuY3Rpb25fbmFtZSJdLAorICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIHJldHVybl92YWx1ZT1ldmFsKAorICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBzZWxmLm1vY2tfZGF0YVsicmV0dXJuX3ZhbHVlIl0pKToKKyAgICAgICAgICAg ICAgICAgICAgICAgIHJlc3BvbnNlID0gc2VsZi5pbml0aWFsaXplX3RyYWdldCgpCisgICAgICAg ICAgICBlbHNlOgorICAgICAgICAgICAgICAgIHJlc3BvbnNlID0gc2VsZi5pbml0aWFsaXplX3Ry YWdldCgpCisKKyAgICAgICAgYWN0dWFsX3Jlc3BvbnNlX2NvZGUgPSByZXNwb25zZS5zdGF0dXNf Y29kZQorICAgICAgICBleHBlY3RlZF9yZXNwb25zZV9jb2RlID0gc2VsZi5leHBlY3RlZF9kYXRh WydzdGF0dXNfY29kZSddCisgICAgICAgIGlmIHJlc3BvbnNlLmpzb25bJ2Vycm9ybXNnJ10gPT0g c2VsZi5kZWJ1Z2dlcl9lcnJvcjoKKyAgICAgICAgICAgIHByaW50KHNlbGYuZGVidWdnZXJfZXJy b3IpCisgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGFjdHVhbF9yZXNwb25zZV9jb2RlLCBh Y3R1YWxfcmVzcG9uc2VfY29kZSkKKyAgICAgICAgZWxzZToKKyAgICAgICAgICAgIHNlbGYuYXNz ZXJ0RXF1YWwoYWN0dWFsX3Jlc3BvbnNlX2NvZGUsIGV4cGVjdGVkX3Jlc3BvbnNlX2NvZGUpCisK KyAgICBkZWYgdGVhckRvd24oc2VsZik6CisgICAgICAgICIiIlRoaXMgZnVuY3Rpb24gZGVsZXRl IHRoZSBzZXJ2ZXIgZnJvbSBTUUxpdGUgIiIiCisgICAgICAgIGRlYnVnZ2VyX3V0aWxzLmNsb3Nl X2RlYnVnZ2VyKHNlbGYpCisgICAgICAgIGRlYnVnZ2VyX3V0aWxzLmRlbGV0ZV9mdW5jdGlvbihz ZWxmLCB1dGlscykKKyAgICAgICAgZGJfdXRpbHMuZGlzY29ubmVjdF9kYXRhYmFzZShzZWxmLCBz ZWxmLnNlcnZlcl9pZCwgc2VsZi5kYl9pZCkKZGlmZiAtLWdpdCBhL3dlYi9wZ2FkbWluL3Rvb2xz L2RlYnVnZ2VyL3Rlc3RzL3Rlc3RfbWVzc2FnZXNfZGVidWdnZXIucHkgYi93ZWIvcGdhZG1pbi90 b29scy9kZWJ1Z2dlci90ZXN0cy90ZXN0X21lc3NhZ2VzX2RlYnVnZ2VyLnB5Cm5ldyBmaWxlIG1v ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjQzN2NiZmQKLS0tIC9kZXYvbnVsbAorKysgYi93ZWIv cGdhZG1pbi90b29scy9kZWJ1Z2dlci90ZXN0cy90ZXN0X21lc3NhZ2VzX2RlYnVnZ2VyLnB5CkBA IC0wLDAgKzEsODAgQEAKKyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisjCisjIHBnQWRtaW4gNCAtIFBvc3Rn cmVTUUwgVG9vbHMKKyMKKyMgQ29weXJpZ2h0IChDKSAyMDEzIC0gMjAyMCwgVGhlIHBnQWRtaW4g RGV2ZWxvcG1lbnQgVGVhbQorIyBUaGlzIHNvZnR3YXJlIGlzIHJlbGVhc2VkIHVuZGVyIHRoZSBQ b3N0Z3JlU1FMIExpY2VuY2UKKyMKKyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisKK2ltcG9ydCBqc29uCitp bXBvcnQgdXVpZAorZnJvbSBwZ2FkbWluLnV0aWxzLnJvdXRlIGltcG9ydCBCYXNlVGVzdEdlbmVy YXRvcgorZnJvbSByZWdyZXNzaW9uLnB5dGhvbl90ZXN0X3V0aWxzIGltcG9ydCB0ZXN0X3V0aWxz IGFzIHV0aWxzCitmcm9tIC4gaW1wb3J0IHV0aWxzIGFzIGRlYnVnZ2VyX3V0aWxzCitmcm9tIHVu aXR0ZXN0Lm1vY2sgaW1wb3J0IHBhdGNoCitmcm9tIHJlZ3Jlc3Npb24gaW1wb3J0IHBhcmVudF9u b2RlX2RpY3QKK2Zyb20gcGdhZG1pbi5icm93c2VyLnNlcnZlcl9ncm91cHMuc2VydmVycy5kYXRh YmFzZXMuc2NoZW1hcy5mdW5jdGlvbnMgXAorICAgIC50ZXN0cyBpbXBvcnQgdXRpbHMgYXMgZnVu Y3NfdXRpbHMKK2Zyb20gcGdhZG1pbi5icm93c2VyLnNlcnZlcl9ncm91cHMuc2VydmVycy5kYXRh YmFzZXMudGVzdHMgaW1wb3J0IFwKKyAgICB1dGlscyBhcyBkYl91dGlscworCisKK2NsYXNzIERl YnVnZ2VyTWVzc2FnZXMoQmFzZVRlc3RHZW5lcmF0b3IpOgorICAgICIiIiBUaGlzIGNsYXNzIHdp bGwgZ2V0IG1lc3NhZ2VzIHRoZSBkZWJ1Z2dlciAiIiIKKworICAgIHNjZW5hcmlvcyA9IHV0aWxz LmdlbmVyYXRlX3NjZW5hcmlvcygnZGVidWdnZXJfbWVzc2FnZXMnLAorICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBkZWJ1Z2dlcl91dGlscy50ZXN0X2Nhc2VzKQorCisg ICAgZGVmIHNldFVwKHNlbGYpOgorICAgICAgICBzdXBlcihEZWJ1Z2dlck1lc3NhZ2VzLCBzZWxm KS5zZXRVcCgpCisgICAgICAgIHNlbGYuc2NoZW1hX2RhdGEgPSBwYXJlbnRfbm9kZV9kaWN0Wydz Y2hlbWEnXVstMV0KKyAgICAgICAgc2VsZi5zZXJ2ZXJfaWQgPSBzZWxmLnNjaGVtYV9kYXRhWydz ZXJ2ZXJfaWQnXQorICAgICAgICBzZWxmLmRiX2lkID0gc2VsZi5zY2hlbWFfZGF0YVsnZGJfaWQn XQorICAgICAgICBzZWxmLnNjaGVtYV9pZCA9IHNlbGYuc2NoZW1hX2RhdGFbJ3NjaGVtYV9pZCdd CisKKyAgICAgICAgbG9jYWxfc2VsZiA9IGZ1bmNzX3V0aWxzLnNldF91cChzZWxmKQorCisgICAg ICAgIHNlbGYudGVzdF9kYXRhWydmdW5jb3duZXInXSA9IHNlbGYuc2VydmVyWyJ1c2VybmFtZSJd CisKKyAgICAgICAgZnVuY3Rpb25faW5mbyA9IGRlYnVnZ2VyX3V0aWxzLmNyZWF0ZV9mdW5jdGlv bihzZWxmLCB1dGlscykKKworICAgICAgICBzZWxmLmZ1bmNfaWQgPSBqc29uLmxvYWRzKGZ1bmN0 aW9uX2luZm8uZGF0YSlbJ25vZGUnXVsnX2lkJ10KKworICAgICAgICBpZiBzZWxmLmFkZF9leHRl bnNpb246CisgICAgICAgICAgICBkZWJ1Z2dlcl91dGlscy5hZGRfZXh0ZW5zaW9uKHNlbGYsIHV0 aWxzKQorCisgICAgICAgIGluaXRfZGVidWdnZXIgPSBkZWJ1Z2dlcl91dGlscy5pbml0X2RlYnVn Z2VyX2Z1bmN0aW9uKHNlbGYpCisgICAgICAgIHNlbGYudHJhbnNfaWQgPSBqc29uLmxvYWRzKGlu aXRfZGVidWdnZXIuZGF0YSlbJ2RhdGEnXVsndHJhbnNfaWQnXQorCisgICAgICAgIGlmIHNlbGYu aW5pdF90YXJnZXQ6CisgICAgICAgICAgICBkZWJ1Z2dlcl91dGlscy5pbml0aWFsaXplX3Rhcmdl dChzZWxmLCB1dGlscykKKworICAgIGRlZiBtZXNzYWdlcyhzZWxmKToKKyAgICAgICAgcmV0dXJu IHNlbGYudGVzdGVyLmdldCgKKyAgICAgICAgICAgIHNlbGYudXJsICsgc3RyKHNlbGYudHJhbnNf aWQpICsgJy8nLAorICAgICAgICAgICAgY29udGVudF90eXBlPSdhcHBsaWNhdGlvbi9qc29uJykK KworICAgIGRlZiBydW5UZXN0KHNlbGYpOgorICAgICAgICAiIiIKKyAgICAgICAgVGhpcyBmdW5j dGlvbiB3aWxsIGluaXRpYWxpemUgdGhlIGRlYnVnZ2VyIGZvciBmdW5jdGlvbiBhbmQgcHJvY2Vk dXJlcy4KKyAgICAgICAgIiIiCisgICAgICAgIGlmIHNlbGYuaXNfcG9zaXRpdmVfdGVzdDoKKyAg ICAgICAgICAgIHJlc3BvbnNlID0gc2VsZi5tZXNzYWdlcygpCisgICAgICAgIGVsc2U6CisgICAg ICAgICAgICBpZiBzZWxmLm1vY2tpbmdfcmVxdWlyZWQ6CisgICAgICAgICAgICAgICAgd2l0aCBw YXRjaChzZWxmLm1vY2tfZGF0YVsiZnVuY3Rpb25fbmFtZSJdLAorICAgICAgICAgICAgICAgICAg ICAgICAgICAgcmV0dXJuX3ZhbHVlPWV2YWwoc2VsZi5tb2NrX2RhdGFbInJldHVybl92YWx1ZSJd KSk6CisgICAgICAgICAgICAgICAgICAgIHJlc3BvbnNlID0gc2VsZi5tZXNzYWdlcygpCisgICAg ICAgICAgICBlbHNlOgorICAgICAgICAgICAgICAgIHJlc3BvbnNlID0gc2VsZi5tZXNzYWdlcygp CisKKyAgICAgICAgYWN0dWFsX3Jlc3BvbnNlX2NvZGUgPSByZXNwb25zZS5zdGF0dXNfY29kZQor ICAgICAgICBleHBlY3RlZF9yZXNwb25zZV9jb2RlID0gc2VsZi5leHBlY3RlZF9kYXRhWydzdGF0 dXNfY29kZSddCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoYWN0dWFsX3Jlc3BvbnNlX2NvZGUs IGV4cGVjdGVkX3Jlc3BvbnNlX2NvZGUpCisKKyAgICBkZWYgdGVhckRvd24oc2VsZik6CisgICAg ICAgICIiIkNsb3NlIGRlYnVnZ2VyIGNvbm5lY3Rpb24uIiIiCisgICAgICAgIGRlYnVnZ2VyX3V0 aWxzLmNsb3NlX2RlYnVnZ2VyKHNlbGYpCisgICAgICAgIGRlYnVnZ2VyX3V0aWxzLmRlbGV0ZV9m dW5jdGlvbihzZWxmLCB1dGlscykKKyAgICAgICAgZGJfdXRpbHMuZGlzY29ubmVjdF9kYXRhYmFz ZShzZWxmLCBzZWxmLnNlcnZlcl9pZCwgc2VsZi5kYl9pZCkKZGlmZiAtLWdpdCBhL3dlYi9wZ2Fk bWluL3Rvb2xzL2RlYnVnZ2VyL3Rlc3RzL3Rlc3RfcmVzdGFydF9kZWJ1Z2dlci5weSBiL3dlYi9w Z2FkbWluL3Rvb2xzL2RlYnVnZ2VyL3Rlc3RzL3Rlc3RfcmVzdGFydF9kZWJ1Z2dlci5weQpuZXcg ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hYjc1MzE1Ci0tLSAvZGV2L251bGwKKysr IGIvd2ViL3BnYWRtaW4vdG9vbHMvZGVidWdnZXIvdGVzdHMvdGVzdF9yZXN0YXJ0X2RlYnVnZ2Vy LnB5CkBAIC0wLDAgKzEsODIgQEAKKyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisjCisjIHBnQWRtaW4gNCAt IFBvc3RncmVTUUwgVG9vbHMKKyMKKyMgQ29weXJpZ2h0IChDKSAyMDEzIC0gMjAyMCwgVGhlIHBn QWRtaW4gRGV2ZWxvcG1lbnQgVGVhbQorIyBUaGlzIHNvZnR3YXJlIGlzIHJlbGVhc2VkIHVuZGVy IHRoZSBQb3N0Z3JlU1FMIExpY2VuY2UKKyMKKyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisKK2ltcG9ydCBq c29uCitpbXBvcnQgdXVpZAorZnJvbSBwZ2FkbWluLnV0aWxzLnJvdXRlIGltcG9ydCBCYXNlVGVz dEdlbmVyYXRvcgorZnJvbSByZWdyZXNzaW9uLnB5dGhvbl90ZXN0X3V0aWxzIGltcG9ydCB0ZXN0 X3V0aWxzIGFzIHV0aWxzCitmcm9tIC4gaW1wb3J0IHV0aWxzIGFzIGRlYnVnZ2VyX3V0aWxzCitm cm9tIHVuaXR0ZXN0Lm1vY2sgaW1wb3J0IHBhdGNoCitmcm9tIHJlZ3Jlc3Npb24gaW1wb3J0IHBh cmVudF9ub2RlX2RpY3QKK2Zyb20gcGdhZG1pbi5icm93c2VyLnNlcnZlcl9ncm91cHMuc2VydmVy cy5kYXRhYmFzZXMuc2NoZW1hcy5mdW5jdGlvbnMgXAorICAgIC50ZXN0cyBpbXBvcnQgdXRpbHMg YXMgZnVuY3NfdXRpbHMKK2Zyb20gcGdhZG1pbi5icm93c2VyLnNlcnZlcl9ncm91cHMuc2VydmVy cy5kYXRhYmFzZXMudGVzdHMgaW1wb3J0IFwKKyAgICB1dGlscyBhcyBkYl91dGlscworCisKK2Ns YXNzIFJlc3RhcnREZWJ1Z2dlcihCYXNlVGVzdEdlbmVyYXRvcik6CisgICAgIiIiIFRoaXMgY2xh c3Mgd2lsbCBSZXN0YXJ0IHRoZSBkZWJ1Z2dlciAiIiIKKworICAgIHNjZW5hcmlvcyA9IHV0aWxz LmdlbmVyYXRlX3NjZW5hcmlvcygncmVzdGFydF9kZWJ1Z2dlcicsCisgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIGRlYnVnZ2VyX3V0aWxzLnRlc3RfY2FzZXMpCisKKyAg ICBkZWYgc2V0VXAoc2VsZik6CisgICAgICAgIHN1cGVyKFJlc3RhcnREZWJ1Z2dlciwgc2VsZiku c2V0VXAoKQorICAgICAgICBzZWxmLnNjaGVtYV9kYXRhID0gcGFyZW50X25vZGVfZGljdFsnc2No ZW1hJ11bLTFdCisgICAgICAgIHNlbGYuc2VydmVyX2lkID0gc2VsZi5zY2hlbWFfZGF0YVsnc2Vy dmVyX2lkJ10KKyAgICAgICAgc2VsZi5kYl9pZCA9IHNlbGYuc2NoZW1hX2RhdGFbJ2RiX2lkJ10K KyAgICAgICAgc2VsZi5zY2hlbWFfaWQgPSBzZWxmLnNjaGVtYV9kYXRhWydzY2hlbWFfaWQnXQor CisgICAgICAgIGxvY2FsX3NlbGYgPSBmdW5jc191dGlscy5zZXRfdXAoc2VsZikKKworICAgICAg ICBmdW5jX25hbWUgPSAidGVzdF9mdW5jdGlvbl8lcyIgJSBzdHIodXVpZC51dWlkNCgpKVsxOjhd CisgICAgICAgIGZ1bmN0aW9uX2luZm8gPSBmdW5jc191dGlscy5jcmVhdGVfZnVuY3Rpb24oCisg ICAgICAgICAgICBsb2NhbF9zZWxmLnNlcnZlciwgbG9jYWxfc2VsZi5kYl9uYW1lLCBsb2NhbF9z ZWxmLnNjaGVtYV9uYW1lLAorICAgICAgICAgICAgZnVuY19uYW1lKQorCisgICAgICAgIHNlbGYu ZnVuY19pZCA9IGZ1bmN0aW9uX2luZm9bMF0KKworICAgICAgICBpZiBzZWxmLmFkZF9leHRlbnNp b246CisgICAgICAgICAgICBkZWJ1Z2dlcl91dGlscy5hZGRfZXh0ZW5zaW9uKHNlbGYsIHV0aWxz KQorCisgICAgICAgIGluaXRfZGVidWdnZXIgPSBkZWJ1Z2dlcl91dGlscy5pbml0X2RlYnVnZ2Vy X2Z1bmN0aW9uKHNlbGYpCisKKyAgICAgICAgc2VsZi50cmFuc19pZCA9IGpzb24ubG9hZHMoaW5p dF9kZWJ1Z2dlci5kYXRhKVsnZGF0YSddWyd0cmFuc19pZCddCisKKyAgICAgICAgaWYgc2VsZi5p bml0X3RhcmdldDoKKyAgICAgICAgICAgIGRlYnVnZ2VyX3V0aWxzLmluaXRpYWxpemVfdGFyZ2V0 KHNlbGYsIHV0aWxzKQorCisgICAgZGVmIHJlc3RhcnRfZGVidWdnZXIoc2VsZik6CisgICAgICAg IHJldHVybiBzZWxmLnRlc3Rlci5nZXQoCisgICAgICAgICAgICBzZWxmLnVybCArIHN0cihzZWxm LnRyYW5zX2lkKSwKKyAgICAgICAgICAgIGNvbnRlbnRfdHlwZT0nYXBwbGljYXRpb24vanNvbicp CisKKyAgICBkZWYgcnVuVGVzdChzZWxmKToKKyAgICAgICAgIiIiCisgICAgICAgIFRoaXMgZnVu Y3Rpb24gd2lsbCBpbml0aWFsaXplIHRoZSBkZWJ1Z2dlciBmb3IgZnVuY3Rpb24gYW5kIHByb2Nl ZHVyZXMuCisgICAgICAgICIiIgorICAgICAgICBpZiBzZWxmLmlzX3Bvc2l0aXZlX3Rlc3Q6Cisg ICAgICAgICAgICByZXNwb25zZSA9IHNlbGYucmVzdGFydF9kZWJ1Z2dlcigpCisgICAgICAgIGVs c2U6CisgICAgICAgICAgICBpZiBzZWxmLm1vY2tpbmdfcmVxdWlyZWQ6CisgICAgICAgICAgICAg ICAgd2l0aCBwYXRjaChzZWxmLm1vY2tfZGF0YVsiZnVuY3Rpb25fbmFtZSJdLAorICAgICAgICAg ICAgICAgICAgICAgICAgICAgcmV0dXJuX3ZhbHVlPWV2YWwoc2VsZi5tb2NrX2RhdGFbInJldHVy bl92YWx1ZSJdKSk6CisgICAgICAgICAgICAgICAgICAgIHJlc3BvbnNlID0gc2VsZi5yZXN0YXJ0 X2RlYnVnZ2VyKCkKKyAgICAgICAgICAgIGVsc2U6CisgICAgICAgICAgICAgICAgcmVzcG9uc2Ug PSBzZWxmLnJlc3RhcnRfZGVidWdnZXIoKQorCisgICAgICAgIGFjdHVhbF9yZXNwb25zZV9jb2Rl ID0gcmVzcG9uc2Uuc3RhdHVzX2NvZGUKKyAgICAgICAgZXhwZWN0ZWRfcmVzcG9uc2VfY29kZSA9 IHNlbGYuZXhwZWN0ZWRfZGF0YVsnc3RhdHVzX2NvZGUnXQorICAgICAgICBzZWxmLmFzc2VydEVx dWFsKGFjdHVhbF9yZXNwb25zZV9jb2RlLCBleHBlY3RlZF9yZXNwb25zZV9jb2RlKQorCisgICAg ZGVmIHRlYXJEb3duKHNlbGYpOgorICAgICAgICAiIiJUaGlzIGZ1bmN0aW9uIGRlbGV0ZSB0aGUg c2VydmVyIGZyb20gU1FMaXRlICIiIgorICAgICAgICBkZWJ1Z2dlcl91dGlscy5jbG9zZV9kZWJ1 Z2dlcihzZWxmKQorICAgICAgICBkZWJ1Z2dlcl91dGlscy5kZWxldGVfZnVuY3Rpb24oc2VsZiwg dXRpbHMpCisgICAgICAgIGRiX3V0aWxzLmRpc2Nvbm5lY3RfZGF0YWJhc2Uoc2VsZiwgc2VsZi5z ZXJ2ZXJfaWQsIHNlbGYuZGJfaWQpCmRpZmYgLS1naXQgYS93ZWIvcGdhZG1pbi90b29scy9kZWJ1 Z2dlci90ZXN0cy90ZXN0X3N0YXJ0X2V4ZWN1dGlvbl9kZWJ1Z2dlci5weSBiL3dlYi9wZ2FkbWlu L3Rvb2xzL2RlYnVnZ2VyL3Rlc3RzL3Rlc3Rfc3RhcnRfZXhlY3V0aW9uX2RlYnVnZ2VyLnB5Cm5l dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjkxZjcxZjIKLS0tIC9kZXYvbnVsbAor KysgYi93ZWIvcGdhZG1pbi90b29scy9kZWJ1Z2dlci90ZXN0cy90ZXN0X3N0YXJ0X2V4ZWN1dGlv bl9kZWJ1Z2dlci5weQpAQCAtMCwwICsxLDg1IEBACisjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworIworIyBw Z0FkbWluIDQgLSBQb3N0Z3JlU1FMIFRvb2xzCisjCisjIENvcHlyaWdodCAoQykgMjAxMyAtIDIw MjAsIFRoZSBwZ0FkbWluIERldmVsb3BtZW50IFRlYW0KKyMgVGhpcyBzb2Z0d2FyZSBpcyByZWxl YXNlZCB1bmRlciB0aGUgUG9zdGdyZVNRTCBMaWNlbmNlCisjCisjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwor CitpbXBvcnQganNvbgoraW1wb3J0IHV1aWQKK2Zyb20gcGdhZG1pbi51dGlscy5yb3V0ZSBpbXBv cnQgQmFzZVRlc3RHZW5lcmF0b3IKK2Zyb20gcmVncmVzc2lvbi5weXRob25fdGVzdF91dGlscyBp bXBvcnQgdGVzdF91dGlscyBhcyB1dGlscworZnJvbSAuIGltcG9ydCB1dGlscyBhcyBkZWJ1Z2dl cl91dGlscworZnJvbSB1bml0dGVzdC5tb2NrIGltcG9ydCBwYXRjaAorZnJvbSByZWdyZXNzaW9u IGltcG9ydCBwYXJlbnRfbm9kZV9kaWN0Citmcm9tIHBnYWRtaW4uYnJvd3Nlci5zZXJ2ZXJfZ3Jv dXBzLnNlcnZlcnMuZGF0YWJhc2VzLnNjaGVtYXMuZnVuY3Rpb25zIFwKKyAgICAudGVzdHMgaW1w b3J0IHV0aWxzIGFzIGZ1bmNzX3V0aWxzCitmcm9tIHBnYWRtaW4uYnJvd3Nlci5zZXJ2ZXJfZ3Jv dXBzLnNlcnZlcnMuZGF0YWJhc2VzLnRlc3RzIGltcG9ydCBcCisgICAgdXRpbHMgYXMgZGJfdXRp bHMKKworCitjbGFzcyBEZWJ1Z2dlclN0YXJ0RXhlY3V0aW9uKEJhc2VUZXN0R2VuZXJhdG9yKToK KyAgICAiIiIgVGhpcyBjbGFzcyB3aWxsIHN0YXJ0IGRlYnVnZ2VyIGV4ZWN1dGlvbi4iIiIKKwor ICAgIHNjZW5hcmlvcyA9IHV0aWxzLmdlbmVyYXRlX3NjZW5hcmlvcygnc3RhcnRfZXhlY3V0aW9u JywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVidWdnZXJfdXRp bHMudGVzdF9jYXNlcykKKworICAgIGRlZiBzZXRVcChzZWxmKToKKyAgICAgICAgc3VwZXIoRGVi dWdnZXJTdGFydEV4ZWN1dGlvbiwgc2VsZikuc2V0VXAoKQorICAgICAgICBzZWxmLnNjaGVtYV9k YXRhID0gcGFyZW50X25vZGVfZGljdFsnc2NoZW1hJ11bLTFdCisgICAgICAgIHNlbGYuc2VydmVy X2lkID0gc2VsZi5zY2hlbWFfZGF0YVsnc2VydmVyX2lkJ10KKyAgICAgICAgc2VsZi5kYl9pZCA9 IHNlbGYuc2NoZW1hX2RhdGFbJ2RiX2lkJ10KKyAgICAgICAgc2VsZi5zY2hlbWFfaWQgPSBzZWxm LnNjaGVtYV9kYXRhWydzY2hlbWFfaWQnXQorCisgICAgICAgIGxvY2FsX3NlbGYgPSBmdW5jc191 dGlscy5zZXRfdXAoc2VsZikKKworICAgICAgICBzZWxmLnRlc3RfZGF0YVsnZnVuY293bmVyJ10g PSBzZWxmLnNlcnZlclsidXNlcm5hbWUiXQorCisgICAgICAgIGZ1bmN0aW9uX2luZm8gPSBkZWJ1 Z2dlcl91dGlscy5jcmVhdGVfZnVuY3Rpb24oc2VsZiwgdXRpbHMpCisKKyAgICAgICAgc2VsZi5m dW5jX2lkID0ganNvbi5sb2FkcyhmdW5jdGlvbl9pbmZvLmRhdGEpWydub2RlJ11bJ19pZCddCisK KyAgICAgICAgaWYgc2VsZi5hZGRfZXh0ZW5zaW9uOgorICAgICAgICAgICAgZGVidWdnZXJfdXRp bHMuYWRkX2V4dGVuc2lvbihzZWxmLCB1dGlscykKKworICAgICAgICBpbml0X2RlYnVnZ2VyID0g ZGVidWdnZXJfdXRpbHMuaW5pdF9kZWJ1Z2dlcl9mdW5jdGlvbihzZWxmKQorCisgICAgICAgIHNl bGYudHJhbnNfaWQgPSBqc29uLmxvYWRzKGluaXRfZGVidWdnZXIuZGF0YSlbJ2RhdGEnXVsndHJh bnNfaWQnXQorCisgICAgICAgIGlmIHNlbGYuaW5pdF90YXJnZXQ6CisgICAgICAgICAgICBkZWJ1 Z2dlcl91dGlscy5pbml0aWFsaXplX3RhcmdldChzZWxmLCB1dGlscykKKworICAgICAgICBkZWJ1 Z2dlcl91dGlscy5zdGFydF9saXN0ZW5lcihzZWxmKQorICAgICAgICBzZWxmLnBvcnRfbm8gPSBk ZWJ1Z2dlcl91dGlscy5tZXNzYWdlcyhzZWxmKQorCisgICAgZGVmIHN0YXJ0X2V4ZWN1dGlvbihz ZWxmKToKKyAgICAgICAgcmV0dXJuIHNlbGYudGVzdGVyLmdldCgKKyAgICAgICAgICAgIHNlbGYu dXJsICsgc3RyKHNlbGYudHJhbnNfaWQpICsgJy8nICsgc3RyKHNlbGYucG9ydF9ubyksCisgICAg ICAgICAgICBjb250ZW50X3R5cGU9J2FwcGxpY2F0aW9uL2pzb24nKQorCisgICAgZGVmIHJ1blRl c3Qoc2VsZik6CisgICAgICAgICIiIgorICAgICAgICBUaGlzIGZ1bmN0aW9uIHdpbGwgaW5pdGlh bGl6ZSB0aGUgZGVidWdnZXIgZm9yIGZ1bmN0aW9uIGFuZCBwcm9jZWR1cmVzLgorICAgICAgICAi IiIKKyAgICAgICAgaWYgc2VsZi5pc19wb3NpdGl2ZV90ZXN0OgorICAgICAgICAgICAgcmVzcG9u c2UgPSBzZWxmLnN0YXJ0X2V4ZWN1dGlvbigpCisgICAgICAgIGVsc2U6CisgICAgICAgICAgICBp ZiBzZWxmLm1vY2tpbmdfcmVxdWlyZWQ6CisgICAgICAgICAgICAgICAgd2l0aCBwYXRjaChzZWxm Lm1vY2tfZGF0YVsiZnVuY3Rpb25fbmFtZSJdLAorICAgICAgICAgICAgICAgICAgICAgICAgICAg cmV0dXJuX3ZhbHVlPWV2YWwoc2VsZi5tb2NrX2RhdGFbInJldHVybl92YWx1ZSJdKSk6CisgICAg ICAgICAgICAgICAgICAgIHJlc3BvbnNlID0gc2VsZi5zdGFydF9leGVjdXRpb24oKQorICAgICAg ICAgICAgZWxzZToKKyAgICAgICAgICAgICAgICByZXNwb25zZSA9IHNlbGYuc3RhcnRfZXhlY3V0 aW9uKCkKKworICAgICAgICBhY3R1YWxfcmVzcG9uc2VfY29kZSA9IHJlc3BvbnNlLnN0YXR1c19j b2RlCisgICAgICAgIGV4cGVjdGVkX3Jlc3BvbnNlX2NvZGUgPSBzZWxmLmV4cGVjdGVkX2RhdGFb J3N0YXR1c19jb2RlJ10KKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChhY3R1YWxfcmVzcG9uc2Vf Y29kZSwgZXhwZWN0ZWRfcmVzcG9uc2VfY29kZSkKKworICAgIGRlZiB0ZWFyRG93bihzZWxmKToK KyAgICAgICAgIiIiVGhpcyBmdW5jdGlvbiBkZWxldGUgdGhlIHNlcnZlciBmcm9tIFNRTGl0ZSAi IiIKKyAgICAgICAgZGVidWdnZXJfdXRpbHMuYWJvcnRfZGVidWdnZXIoc2VsZikKKyAgICAgICAg ZGVidWdnZXJfdXRpbHMuY2xvc2VfZGVidWdnZXIoc2VsZikKKyAgICAgICAgZGVidWdnZXJfdXRp bHMuZGVsZXRlX2Z1bmN0aW9uKHNlbGYsIHV0aWxzKQorICAgICAgICBkYl91dGlscy5kaXNjb25u ZWN0X2RhdGFiYXNlKHNlbGYsIHNlbGYuc2VydmVyX2lkLCBzZWxmLmRiX2lkKQpkaWZmIC0tZ2l0 IGEvd2ViL3BnYWRtaW4vdG9vbHMvZGVidWdnZXIvdGVzdHMvdGVzdF9zdGFydF9saXN0ZW5lcl9k ZWJ1Z2dlci5weSBiL3dlYi9wZ2FkbWluL3Rvb2xzL2RlYnVnZ2VyL3Rlc3RzL3Rlc3Rfc3RhcnRf bGlzdGVuZXJfZGVidWdnZXIucHkKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4u ZjRiMDc5ZQotLS0gL2Rldi9udWxsCisrKyBiL3dlYi9wZ2FkbWluL3Rvb2xzL2RlYnVnZ2VyL3Rl c3RzL3Rlc3Rfc3RhcnRfbGlzdGVuZXJfZGVidWdnZXIucHkKQEAgLTAsMCArMSw4OSBAQAorIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMKKyMKKyMgcGdBZG1pbiA0IC0gUG9zdGdyZVNRTCBUb29scworIworIyBD b3B5cmlnaHQgKEMpIDIwMTMgLSAyMDIwLCBUaGUgcGdBZG1pbiBEZXZlbG9wbWVudCBUZWFtCisj IFRoaXMgc29mdHdhcmUgaXMgcmVsZWFzZWQgdW5kZXIgdGhlIFBvc3RncmVTUUwgTGljZW5jZQor IworIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMKKworaW1wb3J0IGpzb24KK2ltcG9ydCB1dWlkCitmcm9tIHBn YWRtaW4udXRpbHMucm91dGUgaW1wb3J0IEJhc2VUZXN0R2VuZXJhdG9yCitmcm9tIHJlZ3Jlc3Np b24ucHl0aG9uX3Rlc3RfdXRpbHMgaW1wb3J0IHRlc3RfdXRpbHMgYXMgdXRpbHMKK2Zyb20gLiBp bXBvcnQgdXRpbHMgYXMgZGVidWdnZXJfdXRpbHMKK2Zyb20gdW5pdHRlc3QubW9jayBpbXBvcnQg cGF0Y2gKK2Zyb20gcmVncmVzc2lvbiBpbXBvcnQgcGFyZW50X25vZGVfZGljdAorZnJvbSBwZ2Fk bWluLmJyb3dzZXIuc2VydmVyX2dyb3Vwcy5zZXJ2ZXJzLmRhdGFiYXNlcy5zY2hlbWFzLmZ1bmN0 aW9ucyBcCisgICAgLnRlc3RzIGltcG9ydCB1dGlscyBhcyBmdW5jc191dGlscworZnJvbSBwZ2Fk bWluLmJyb3dzZXIuc2VydmVyX2dyb3Vwcy5zZXJ2ZXJzLmRhdGFiYXNlcy50ZXN0cyBpbXBvcnQg XAorICAgIHV0aWxzIGFzIGRiX3V0aWxzCisKKworY2xhc3MgRGVidWdnZXJTdGFydExpc3RlbmVy KEJhc2VUZXN0R2VuZXJhdG9yKToKKyAgICAiIiIgVGhpcyBjbGFzcyB3aWxsIHN0YXJ0IGxpc3Rl biB0aGUgZGVidWdnZXIgIiIiCisKKyAgICBzY2VuYXJpb3MgPSB1dGlscy5nZW5lcmF0ZV9zY2Vu YXJpb3MoJ3N0YXJ0X2xpc3RlbmVyJywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgZGVidWdnZXJfdXRpbHMudGVzdF9jYXNlcykKKworICAgIGRlZiBzZXRVcChzZWxm KToKKyAgICAgICAgc3VwZXIoRGVidWdnZXJTdGFydExpc3RlbmVyLCBzZWxmKS5zZXRVcCgpCisg ICAgICAgIHNlbGYuc2NoZW1hX2RhdGEgPSBwYXJlbnRfbm9kZV9kaWN0WydzY2hlbWEnXVstMV0K KyAgICAgICAgc2VsZi5zZXJ2ZXJfaWQgPSBzZWxmLnNjaGVtYV9kYXRhWydzZXJ2ZXJfaWQnXQor ICAgICAgICBzZWxmLmRiX2lkID0gc2VsZi5zY2hlbWFfZGF0YVsnZGJfaWQnXQorICAgICAgICBz ZWxmLnNjaGVtYV9pZCA9IHNlbGYuc2NoZW1hX2RhdGFbJ3NjaGVtYV9pZCddCisKKyAgICAgICAg bG9jYWxfc2VsZiA9IGZ1bmNzX3V0aWxzLnNldF91cChzZWxmKQorCisgICAgICAgIGlmIHNlbGYu c2VydmVyWyd0eXBlJ10gPT0gJ3BnJzoKKyAgICAgICAgICAgIHNlbGYuc2tpcFRlc3QoJ1NraXBw aW5nIHRlc3QgY2FzZSBmb3IgcGcnKQorCisgICAgICAgIHNlbGYudGVzdF9kYXRhWydmdW5jb3du ZXInXSA9IHNlbGYuc2VydmVyWyJ1c2VybmFtZSJdCisKKyAgICAgICAgZnVuY3Rpb25faW5mbyA9 IGRlYnVnZ2VyX3V0aWxzLmNyZWF0ZV9mdW5jdGlvbihzZWxmLCB1dGlscykKKworICAgICAgICBz ZWxmLmZ1bmNfaWQgPSBqc29uLmxvYWRzKGZ1bmN0aW9uX2luZm8uZGF0YSlbJ25vZGUnXVsnX2lk J10KKworICAgICAgICBpZiBzZWxmLmFkZF9leHRlbnNpb246CisgICAgICAgICAgICBkZWJ1Z2dl cl91dGlscy5hZGRfZXh0ZW5zaW9uKHNlbGYsIHV0aWxzKQorCisgICAgICAgIGluaXRfZGVidWdn ZXIgPSBkZWJ1Z2dlcl91dGlscy5pbml0X2RlYnVnZ2VyX2Z1bmN0aW9uKHNlbGYpCisgICAgICAg IHNlbGYudHJhbnNfaWQgPSBqc29uLmxvYWRzKGluaXRfZGVidWdnZXIuZGF0YSlbJ2RhdGEnXVsn dHJhbnNfaWQnXQorCisgICAgICAgIGlmIHNlbGYuaW5pdF90YXJnZXQ6CisgICAgICAgICAgICBk ZWJ1Z2dlcl91dGlscy5pbml0aWFsaXplX3RhcmdldChzZWxmLCB1dGlscykKKworICAgIGRlZiBz dGFydF9saXN0ZW5lcihzZWxmKToKKyAgICAgICAgaWYgaGFzYXR0cihzZWxmLCAndXBkYXRlX2Rl YnVnZ2VyJykgYW5kIHNlbGYudXBkYXRlX2RlYnVnZ2VyOgorICAgICAgICAgICAgcmV0dXJuIHNl bGYudGVzdGVyLnBvc3QoCisgICAgICAgICAgICAgICAgc2VsZi51cmwgKyBzdHIoc2VsZi50cmFu c19pZCksCisgICAgICAgICAgICAgICAgZGF0YT1qc29uLmR1bXBzKHt9KSwKKyAgICAgICAgICAg ICAgICBjb250ZW50X3R5cGU9J2FwcGxpY2F0aW9uL2pzb24nKQorICAgICAgICBlbHNlOgorICAg ICAgICAgICAgcmV0dXJuIHNlbGYudGVzdGVyLmdldCgKKyAgICAgICAgICAgICAgICBzZWxmLnVy bCArIHN0cihzZWxmLnRyYW5zX2lkKSwKKyAgICAgICAgICAgICAgICBjb250ZW50X3R5cGU9J2Fw cGxpY2F0aW9uL2pzb24nKQorCisgICAgZGVmIHJ1blRlc3Qoc2VsZik6CisgICAgICAgICIiIgor ICAgICAgICBUaGlzIGZ1bmN0aW9uIHdpbGwgaW5pdGlhbGl6ZSB0aGUgZGVidWdnZXIgZm9yIGZ1 bmN0aW9uIGFuZCBwcm9jZWR1cmVzLgorICAgICAgICAiIiIKKyAgICAgICAgaWYgc2VsZi5pc19w b3NpdGl2ZV90ZXN0OgorICAgICAgICAgICAgcmVzcG9uc2UgPSBzZWxmLnN0YXJ0X2xpc3RlbmVy KCkKKyAgICAgICAgZWxzZToKKyAgICAgICAgICAgIGlmIHNlbGYubW9ja2luZ19yZXF1aXJlZDoK KyAgICAgICAgICAgICAgICB3aXRoIHBhdGNoKHNlbGYubW9ja19kYXRhWyJmdW5jdGlvbl9uYW1l Il0sCisgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm5fdmFsdWU9ZXZhbChzZWxmLm1v Y2tfZGF0YVsicmV0dXJuX3ZhbHVlIl0pKToKKyAgICAgICAgICAgICAgICAgICAgcmVzcG9uc2Ug PSBzZWxmLnN0YXJ0X2xpc3RlbmVyKCkKKyAgICAgICAgICAgIGVsc2U6CisgICAgICAgICAgICAg ICAgcmVzcG9uc2UgPSBzZWxmLnN0YXJ0X2xpc3RlbmVyKCkKKworICAgICAgICBhY3R1YWxfcmVz cG9uc2VfY29kZSA9IHJlc3BvbnNlLnN0YXR1c19jb2RlCisgICAgICAgIGV4cGVjdGVkX3Jlc3Bv bnNlX2NvZGUgPSBzZWxmLmV4cGVjdGVkX2RhdGFbJ3N0YXR1c19jb2RlJ10KKyAgICAgICAgc2Vs Zi5hc3NlcnRFcXVhbChhY3R1YWxfcmVzcG9uc2VfY29kZSwgZXhwZWN0ZWRfcmVzcG9uc2VfY29k ZSkKKworICAgIGRlZiB0ZWFyRG93bihzZWxmKToKKyAgICAgICAgIiIiVGhpcyBmdW5jdGlvbiBk ZWxldGUgdGhlIHNlcnZlciBmcm9tIFNRTGl0ZSAiIiIKKyAgICAgICAgZGVidWdnZXJfdXRpbHMu Y2xvc2VfZGVidWdnZXIoc2VsZikKKyAgICAgICAgZGVidWdnZXJfdXRpbHMuZGVsZXRlX2Z1bmN0 aW9uKHNlbGYsIHV0aWxzKQorICAgICAgICBkYl91dGlscy5kaXNjb25uZWN0X2RhdGFiYXNlKHNl bGYsIHNlbGYuc2VydmVyX2lkLCBzZWxmLmRiX2lkKQpkaWZmIC0tZ2l0IGEvd2ViL3BnYWRtaW4v dG9vbHMvZGVidWdnZXIvdGVzdHMvdXRpbHMucHkgYi93ZWIvcGdhZG1pbi90b29scy9kZWJ1Z2dl ci90ZXN0cy91dGlscy5weQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42ZjYw ODJkCi0tLSAvZGV2L251bGwKKysrIGIvd2ViL3BnYWRtaW4vdG9vbHMvZGVidWdnZXIvdGVzdHMv dXRpbHMucHkKQEAgLTAsMCArMSwxNDYgQEAKK2ltcG9ydCBvcworaW1wb3J0IGpzb24KKworCitD VVJSRU5UX1BBVEggPSBvcy5wYXRoLmRpcm5hbWUob3MucGF0aC5yZWFscGF0aChfX2ZpbGVfXykp Cit3aXRoIG9wZW4oQ1VSUkVOVF9QQVRIICsgIi9kZWJ1Z2dlcl90ZXN0X2RhdGEuanNvbiIpIGFz IGRhdGFfZmlsZToKKyAgICB0ZXN0X2Nhc2VzID0ganNvbi5sb2FkKGRhdGFfZmlsZSkKKworCitk ZWYgZGVsZXRlX2Z1bmN0aW9uKHNlbGYsIHV0aWxzKToKKyAgICByZXNwb25zZSA9IHNlbGYudGVz dGVyLmRlbGV0ZSgKKyAgICAgICAgJy9icm93c2VyL2Z1bmN0aW9uL29iai8nICsgc3RyKHV0aWxz LlNFUlZFUl9HUk9VUCkgKyAnLycgKworICAgICAgICBzdHIoc2VsZi5zZXJ2ZXJfaWQpICsgJy8n ICsKKyAgICAgICAgc3RyKHNlbGYuZGJfaWQpICsgJy8nICsKKyAgICAgICAgc3RyKHNlbGYuc2No ZW1hX2lkKSArICcvJyArIHN0cihzZWxmLmZ1bmNfaWQpLAorICAgICAgICBjb250ZW50X3R5cGU9 J2h0bWwvanNvbicKKyAgICApCisKKyAgICBzZWxmLmFzc2VydEVxdWFsKHJlc3BvbnNlLnN0YXR1 c19jb2RlLCAyMDApCisKKworZGVmIGNyZWF0ZV9mdW5jdGlvbihzZWxmLCB1dGlscyk6CisgICAg c2VsZi50ZXN0X2RhdGFbJ3Byb25hbWVzcGFjZSddID0gc2VsZi5zY2hlbWFfaWQKKyAgICBmdW5j dGlvbl91cmwgPSAnYnJvd3Nlci9mdW5jdGlvbi9vYmovezB9L3sxfS97Mn0vezN9LycuZm9ybWF0 KAorICAgICAgICBzdHIodXRpbHMuU0VSVkVSX0dST1VQKSwgc3RyKHNlbGYuc2VydmVyX2lkKSwg c3RyKHNlbGYuZGJfaWQpLAorICAgICAgICBzdHIoc2VsZi5zY2hlbWFfaWQpKQorCisgICAgcmVz cG9uc2UgPSBzZWxmLnRlc3Rlci5wb3N0KAorICAgICAgICBmdW5jdGlvbl91cmwsCisgICAgICAg IGRhdGE9anNvbi5kdW1wcyhzZWxmLnRlc3RfZGF0YSksCisgICAgICAgIGNvbnRlbnRfdHlwZT0n aHRtbC9qc29uJworICAgICkKKyAgICByZXR1cm4gcmVzcG9uc2UKKworCitkZWYgY2xvc2VfZGVi dWdnZXIoc2VsZik6CisgICAgcmVzcG9uc2UgPSBzZWxmLnRlc3Rlci5kZWxldGUoCisgICAgICAg ICdkZWJ1Z2dlci9jbG9zZS8nICsgc3RyKHNlbGYudHJhbnNfaWQpLAorICAgICAgICBjb250ZW50 X3R5cGU9J2FwcGxpY2F0aW9uL2pzb24nKQorCisgICAgc2VsZi5hc3NlcnRFcXVhbChyZXNwb25z ZS5zdGF0dXNfY29kZSwgMjAwKQorCisKK2RlZiBhYm9ydF9kZWJ1Z2dlcihzZWxmKToKKyAgICBy ZXNwb25zZSA9IHNlbGYudGVzdGVyLmdldCgKKyAgICAgICAgJ2RlYnVnZ2VyL2V4ZWN1dGVfcXVl cnkvJyArIHN0cihzZWxmLnRyYW5zX2lkKSArICcvYWJvcnRfdGFyZ2V0JywKKyAgICAgICAgY29u dGVudF90eXBlPSdhcHBsaWNhdGlvbi9qc29uJykKKworICAgIHNlbGYuYXNzZXJ0RXF1YWwocmVz cG9uc2Uuc3RhdHVzX2NvZGUsIDIwMCkKKworCitkZWYgYWRkX2V4dGVuc2lvbihzZWxmLCB1dGls cyk6CisgICAgZXh0ZW5zaW9uX3VybCA9ICcvYnJvd3Nlci9leHRlbnNpb24vb2JqL3swfS97MX0v ezJ9LycuZm9ybWF0KAorICAgICAgICBzdHIodXRpbHMuU0VSVkVSX0dST1VQKSwgc3RyKHNlbGYu c2VydmVyX2lkKSwgc3RyKHNlbGYuZGJfaWQpKQorICAgIGV4dGVuc2lvbl9kYXRhID0geworICAg ICAgICAibmFtZSI6ICJwbGRiZ2FwaSIsCisgICAgICAgICJyZWxvY2F0YWJsZSI6IFRydWUsCisg ICAgICAgICJzY2hlbWEiOiBzZWxmLnNjaGVtYV9uYW1lLAorICAgICAgICAidmVyc2lvbiI6ICIx LjEiCisgICAgfQorICAgIHRyeToKKyAgICAgICAgcmVzcG9uc2UgPSBzZWxmLnRlc3Rlci5wb3N0 KAorICAgICAgICAgICAgZXh0ZW5zaW9uX3VybCwKKyAgICAgICAgICAgIGRhdGE9anNvbi5kdW1w cyhleHRlbnNpb25fZGF0YSksCisgICAgICAgICAgICBjb250ZW50X3R5cGU9J2FwcGxpY2F0aW9u L2pzb24nKQorICAgIGV4Y2VwdCBFeGNlcHRpb24gYXMgZToKKyAgICAgICAgcHJpbnQoJ1VuYWJs ZSB0byBjcmVhdGUgInBsZGJnYXBpIiBleHRlbnNpb24uJykKKworCitkZWYgaW5pdF9kZWJ1Z2dl cl9mdW5jdGlvbihzZWxmKToKKyAgICBmdW5jdGlvbl91cmwgPSAnL2RlYnVnZ2VyL2luaXQvZnVu Y3Rpb24vJworICAgIHJlc3BvbnNlID0gc2VsZi50ZXN0ZXIuZ2V0KAorICAgICAgICBmdW5jdGlv bl91cmwgKyBzdHIoc2VsZi5zZXJ2ZXJfaWQpICsgJy8nICsgc3RyKHNlbGYuZGJfaWQpICsKKyAg ICAgICAgJy8nICsgc3RyKHNlbGYuc2NoZW1hX2lkKSArICcvJyArIHN0cihzZWxmLmZ1bmNfaWQp LAorICAgICAgICBjb250ZW50X3R5cGU9J2FwcGxpY2F0aW9uL2pzb24nKQorCisgICAgc2VsZi5h c3NlcnRFcXVhbChyZXNwb25zZS5zdGF0dXNfY29kZSwgMjAwKQorICAgIHJldHVybiByZXNwb25z ZQorCisKK2RlZiBpbml0aWFsaXplX3RhcmdldChzZWxmLCB1dGlscywgY2xvc2VfZGVidWdnZXJf aW5zdGFuY2U9VHJ1ZSk6CisgICAgdGFyZ2V0X3VybCA9ICcvZGVidWdnZXIvaW5pdGlhbGl6ZV90 YXJnZXQvezB9LycuZm9ybWF0KHNlbGYudHlwZSkKKyAgICByZXNwb25zZSA9IHNlbGYudGVzdGVy LmdldCgKKyAgICAgICAgdGFyZ2V0X3VybCArIHN0cihzZWxmLnRyYW5zX2lkKSArICcvJyArIHN0 cihzZWxmLnNlcnZlcl9pZCkgKworICAgICAgICAnLycgKyBzdHIoc2VsZi5kYl9pZCkgKyAnLycg KyBzdHIoc2VsZi5zY2hlbWFfaWQpICsKKyAgICAgICAgJy8nICsgc3RyKHNlbGYuZnVuY19pZCks CisgICAgICAgIGNvbnRlbnRfdHlwZT0nYXBwbGljYXRpb24vanNvbicpCisKKyAgICBpZiByZXNw b25zZS5zdGF0dXNfY29kZSA9PSAyMDA6CisgICAgICAgIHJldHVybiByZXNwb25zZQorICAgIGVs c2U6CisgICAgICAgIGlmIGNsb3NlX2RlYnVnZ2VyX2luc3RhbmNlOgorICAgICAgICAgICAgY2xv c2VfZGVidWdnZXIoc2VsZikKKworICAgICAgICBkZWxldGVfZnVuY3Rpb24oc2VsZiwgdXRpbHMp CisgICAgICAgIHNlbGYuc2tpcFRlc3QoJ1RoZSBkZWJ1Z2dlciBwbHVnaW4gaXMgbm90IGVuYWJs ZWQuIFBsZWFzZSBhZGQgdGhlICcKKyAgICAgICAgICAgICAgICAgICAgICAncGx1Z2luIHRvIHRo ZSBzaGFyZWRfcHJlbG9hZF9saWJyYXJpZXMgc2V0dGluZyBpbiB0aGUgJworICAgICAgICAgICAg ICAgICAgICAgICdwb3N0Z3Jlc3FsLmNvbmYgZmlsZSBhbmQgcmVzdGFydCB0aGUgZGF0YWJhc2Ug c2VydmVyICcKKyAgICAgICAgICAgICAgICAgICAgICAnZm9yIGluZGlyZWN0IGRlYnVnZ2luZy4n KQorCisKK2RlZiBzdGFydF9saXN0ZW5lcihzZWxmKToKKyAgICByZXNwb25zZSA9IHNlbGYudGVz dGVyLmdldCgKKyAgICAgICAgJ2RlYnVnZ2VyL3N0YXJ0X2xpc3RlbmVyLycgKyBzdHIoc2VsZi50 cmFuc19pZCksCisgICAgICAgIGNvbnRlbnRfdHlwZT0nYXBwbGljYXRpb24vanNvbicpCisKKyAg ICBzZWxmLmFzc2VydEVxdWFsKHJlc3BvbnNlLnN0YXR1c19jb2RlLCAyMDApCisKKworZGVmIGNy ZWF0ZV90cmlnZ2VyKHNlbGYsIHV0aWxzKToKKyAgICByZXNwb25zZSA9IHNlbGYudGVzdGVyLnBv c3QoCisgICAgICAgICJ7MH17MX0vezJ9L3szfS97NH0vezV9LyIuZm9ybWF0KCcvYnJvd3Nlci90 cmlnZ2VyL29iai8nLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1 dGlscy5TRVJWRVJfR1JPVVAsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIHNlbGYuc2VydmVyX2lkLCBzZWxmLmRiX2lkLAorICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBzZWxmLnNjaGVtYV9pZCwgc2VsZi50YWJsZV9pZCksCisgICAgICAg IGRhdGE9anNvbi5kdW1wcyhzZWxmLnRlc3RfZGF0YSksCisgICAgICAgIGNvbnRlbnRfdHlwZT0n aHRtbC9qc29uJworICAgICkKKworICAgIHNlbGYuYXNzZXJ0RXF1YWwocmVzcG9uc2Uuc3RhdHVz X2NvZGUsIDIwMCkKKyAgICByZXR1cm4ganNvbi5sb2FkcyhyZXNwb25zZS5kYXRhKVsnbm9kZSdd WydfaWQnXQorCisKK2RlZiBtZXNzYWdlcyhzZWxmKToKKyAgICByZXNwb25zZSA9IHNlbGYudGVz dGVyLmdldCgKKyAgICAgICAgJ2RlYnVnZ2VyL21lc3NhZ2VzLycgKyBzdHIoc2VsZi50cmFuc19p ZCkgKyAnLycsCisgICAgICAgIGNvbnRlbnRfdHlwZT0nYXBwbGljYXRpb24vanNvbicpCisKKyAg ICByZXR1cm4ganNvbi5sb2FkcyhyZXNwb25zZS5kYXRhKVsnZGF0YSddWydyZXN1bHQnXQorCisK K2RlZiBzdGFydF9leGVjdXRpb24oc2VsZik6CisgICAgcmVzcG9uc2UgPSBzZWxmLnRlc3Rlci5n ZXQoCisgICAgICAgICdkZWJ1Z2dlci9zdGFydF9leGVjdXRpb24vJyArIHN0cihzZWxmLnRyYW5z X2lkKSArICcvJyArIHN0cigKKyAgICAgICAgICAgIHNlbGYucG9ydF9ubyksIGNvbnRlbnRfdHlw ZT0nYXBwbGljYXRpb24vanNvbicpCisKKyAgICBzZWxmLmFzc2VydEVxdWFsKHJlc3BvbnNlLnN0 YXR1c19jb2RlLCAyMDApCisKKworZGVmIHNldF9icmVha3BvaW50KHNlbGYpOgorICAgIHJlc3Bv bnNlID0gc2VsZi50ZXN0ZXIuZ2V0KAorICAgICAgICAiZGVidWdnZXIvc2V0X2JyZWFrcG9pbnQv IiArIHN0cihzZWxmLnRyYW5zX2lkKSArICcvMy8xJywKKyAgICAgICAgY29udGVudF90eXBlPSdh cHBsaWNhdGlvbi9qc29uJykKKworICAgIHNlbGYuYXNzZXJ0RXF1YWwocmVzcG9uc2Uuc3RhdHVz X2NvZGUsIDIwMCkKKyAgICByZXR1cm4gcmVzcG9uc2UK --00000000000071b10a05b574e401--