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 1jVYnJ-000343-BE for pgadmin-hackers@arkaria.postgresql.org; Mon, 04 May 2020 10:57:54 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.92) (envelope-from ) id 1jVYnH-00046C-Gt for pgadmin-hackers@arkaria.postgresql.org; Mon, 04 May 2020 10:57:51 +0000 Received: from makus.postgresql.org ([2001:4800:3e1:1::229]) by malur.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1jVYnG-000465-F5 for pgadmin-hackers@lists.postgresql.org; Mon, 04 May 2020 10:57:51 +0000 Received: from mail-ot1-x329.google.com ([2607:f8b0:4864:20::329]) by makus.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92) (envelope-from ) id 1jVYnD-0001EZ-3P for pgadmin-hackers@postgresql.org; Mon, 04 May 2020 10:57:49 +0000 Received: by mail-ot1-x329.google.com with SMTP id g19so8485486otk.5 for ; Mon, 04 May 2020 03:57:46 -0700 (PDT) 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=baJPRzCT2hrcNgQkkoubXF/ht3MkCy7Rgj64NS1eFCk=; b=u4bTLKV7jAzt9tRYHi2NsDovuHLOrZf9amkozzCSXDy/TzDWcWh+YGjydlN+3iUwXT kLrky2AoOR9Npml0YG5argR54ViJ5xzZ7oHUIxpEJn/lSxmq7OkAt9eVeZ7ydh5znlxG butA4zp98Vj1dYUXI0SuVn3Yr2PLFVnB/Y9F+vyz1ozyhpVdP37fDz53DLVTUgmxquKE fCFf9DDIs31bWvKDxEoQkRH8veLCza7F208MskJrhabpTz7Z8i5H77Gya6KuW6Cm/nU8 KHFbE37thSAzw03SE7YXgsFj52RAZOssPvv64rqKx/+TCO4ZraBHbH1H0CG70grJ+EwL /cyA== 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=baJPRzCT2hrcNgQkkoubXF/ht3MkCy7Rgj64NS1eFCk=; b=CXPVgYBmDtZD1duHXI35zkHaTEWlp9re8ycC2JVP4oHfA0a7o9jd26aqX/gRbJXrya dJ+OWCcKM1JzMIVw29yGJ01cjJ7aWMSL7XEy9Ydzb+LItKeS8bJ2LKCbIIpvNPOMnL5O jhHKOkhsQHXMfVYasfVd6urXWApxAZe+HgzznZfSPyAC22lODimyEgrWb3Y15PM3ZSEU Q56oPnkmfDrdGP1WEEvtQi7vJDyCX55yTZOgyR/KRn76OChxus5EZvOf338rCUERzZwd jhuj+FQsIxubXoTSO39OOq7DV5Q49qU/84A1FHC40dHyLs44IfD+rpc9Q926cWv+dq0m PS+A== X-Gm-Message-State: AGi0PuaeW9XTohLI+yn7XsNxlTk5PXGY1gSWyXReES2f6GwRqCE7gOzz KOBdkgRta22m2YTCnz6r45VNRMZq9HSfCk/KQMtVx3plktBYiKBymC8O1ngS3dLY6JYiU8J6aCH KgnqGaTstBdwDgTnHiAH1Q8UZ7SWmwURpIho/jwAShfDCCXFYFO8y34XJhmgCbRh6lWIdffFGE2 4pr4157OX8Bn/EQGPCx0kI8f+xF+zNd9UBnRxDDYWhaGjFiPtbWBZh6pkVNg== X-Google-Smtp-Source: APiQypKIp1wDY96BU+EHCXSm23uwuVx108nilqIMYw7SXcOD70QCZnm2O0xxWac1o5t5nXmrB3n0OcmfHipbL25p9os= X-Received: by 2002:a9d:77d5:: with SMTP id w21mr13338218otl.5.1588589866120; Mon, 04 May 2020 03:57:46 -0700 (PDT) MIME-Version: 1.0 References: In-Reply-To: From: Yogesh Mahajan Date: Mon, 4 May 2020 16:27:10 +0530 Message-ID: Subject: Re: [pgAdmin 4 - Housekeeping #5255] Implement Selenium Grid using multi-threading & solenoid using current test framework To: Akshay Joshi , pgadmin-hackers Cc: Shubham Agarwal , navnath gadakh Content-Type: multipart/mixed; boundary="000000000000aaca0a05a4d0665f" 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 --000000000000aaca0a05a4d0665f Content-Type: multipart/alternative; boundary="000000000000aaca0805a4d0665d" --000000000000aaca0805a4d0665d Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Hi Akshay, Please find the updated patch. Thanks, Yogesh Mahajan QA - Team EnterpriseDB Corporation Phone: +91-9741705709 On Mon, May 4, 2020 at 2:51 PM Akshay Joshi wrote: > Hi Yogesh > > The patch is not applied to the master branch. Can you please rebase and > send the patch again. > > On Fri, May 1, 2020 at 12:28 PM Yogesh Mahajan < > yogesh.mahajan@enterprisedb.com> wrote: > >> Hi, >> >> Please find updated patch modified according to review comments - >> Patch implements below things - >> 1.Enable the current framework to provide option to execute Feature test= s >> in parallel on selenium grid set up. >> - Addition of new switch to start parallel features tests. >> - New parameters with respect to selenoid in test_config.json.in >> - Addition of new script to check solenoid updates. >> >> >> >> Thanks, >> Yogesh Mahajan >> QA - Team >> EnterpriseDB Corporation >> >> Phone: +91-9741705709 >> >> >> On Tue, Apr 21, 2020 at 1:18 PM Shubham Agarwal < >> shubham.agarwal@enterprisedb.com> wrote: >> >>> Hi Yogesh, >>> Below are the review comments- >>> >>> 1. runtests.py >>> a. The exception traceback logic at line number 653 in runtests.py >>> is not correct since it is particular to the thread >>> but there is much more code in that block which can throw some exceptio= n. >>> b. line number 447 -> The drop_database function will only try to drop >>> the database with the name which is newly created >>> at 431 line number, its probability is 1% instead of this you can write >>> a logic so that it will drop all the database which starts with name >>> =E2=80=98acceptance_test_db'. >>> c. line 584 - Why we are including resql test case execution in GUI >>> execution logic. >>> d. Change the function name run_test as script name is also >>> runtests.py >>> >>> 2. test_utils.py >>> a. Remove the headless chrome code from get_remote_webdriver() in >>> test_utils.py since we are using solenoid and it is not required >>> anymore. >>> b. Create separate functions to instantiate the firefox driver and >>> chrome driver logic since the same code is used in multiple files. >>> c. launch_url_in_browser() -> you can simplify the definition of the >>> function like: >>> retry =3D 60 >>> =EF=BB=BF *while *retry > 0: >>> try: >>> driver.get(url) >>> except WebDriverException: >>> retry -=3D 1 >>> 3. Execution logs are not printing as per the logic some time, I ran th= e >>> suite for two servers and attached are the execution logs. >>> 4. Readme - >>> Please provide the Valid selenoid URL to be provided in the >>> test_config.json, with all the steps mentioned in the readme it is not >>> clear. >>> Revisit the readme and write the missing steps. >>> 5. copy_selected_query_results_feature_tests.py- >>> Create the function to avoid duplicate code. The code for pasting the >>> values is repeating 8 times in the test code. >>> 6. Provide the valid docstring in newly introduced functions and also >>> valid comments while calling it. for ex.- _update_preference() function= is >>> introduced in pg_utilities_backup_restrore_test.py but from the functio= n >>> name, it is not clear what preferences are going to update in it. >>> 7. test_index_constraint_add test case is failing due to the latest >>> change, please merge and update this test case >>> >>> On Thu, Apr 16, 2020 at 2:41 PM navnath gadakh < >>> navnath.gadakh@enterprisedb.com> wrote: >>> >>>> Hi, >>>> I think I am not the right person to review this patch now as I alread= y >>>> reviewed this code offline in the last week. I know the approached Yog= esh >>>> has followed, also given some review comments on it. >>>> Someone else please review it. >>>> >>>> Thanks! >>>> >>>> On Mon, Apr 13, 2020 at 2:49 PM Akshay Joshi < >>>> akshay.joshi@enterprisedb.com> wrote: >>>> >>>>> Hi Navnath >>>>> >>>>> Can you please review it? >>>>> >>>>> On Mon, Apr 13, 2020 at 2:40 PM Yogesh Mahajan < >>>>> yogesh.mahajan@enterprisedb.com> wrote: >>>>> >>>>>> Hi, >>>>>> >>>>>> Please find the attached patch for running *features tests* using >>>>>> solenoid(selenium grid + docker). >>>>>> KIndly review. >>>>>> To sun feature tests in parallel, required prerequisites can be >>>>>> checked in '~/web/regression/README' file. >>>>>> Also detailed instructions are added in the same file. >>>>>> After applying the patch, any existing process for execution of >>>>>> API/Features tests remains the same. >>>>>> >>>>>> >>>>>> Thanks, >>>>>> Yogesh Mahajan >>>>>> QA - Team >>>>>> EnterpriseDB Corporation >>>>>> >>>>>> Phone: +91-9741705709 >>>>>> >>>>> >>>>> >>>>> -- >>>>> *Thanks & Regards* >>>>> *Akshay Joshi* >>>>> >>>>> *Sr. Software Architect* >>>>> *EnterpriseDB Software India Private Limited* >>>>> *Mobile: +91 976-788-8246* >>>>> >>>> >>>> >>>> -- >>>> Regards, >>>> Navnath Gadakh >>>> >>> >>> >>> -- >>> Thanks & Regards, >>> Shubham Agarwal >>> EnterpriseDB Corporation >>> >>> The Postgres Database Company >>> >> > > -- > *Thanks & Regards* > *Akshay Joshi* > > *Sr. Software Architect* > *EnterpriseDB Software India Private Limited* > *Mobile: +91 976-788-8246* > --000000000000aaca0805a4d0665d Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
Hi Akshay,

Please find the updated patc= h.

Thanks,
Yogesh Mahajan
QA - Team
EnterpriseDB Corporation

Phone: +9= 1-9741705709


On Mon, May 4, 20= 20 at 2:51 PM Akshay Joshi <akshay.joshi@enterprisedb.com> wrote:
Hi=C2=A0Yogesh

The patch is not applie= d to the master branch. Can you please rebase and send the patch again.

On Fri, May 1, 2020 at 12:28 PM Yogesh Mahajan <yogesh.mahajan@enterprisedb.= com> wrote:
Hi,

<= /div>
Please find updated patch modified according to review comments= =C2=A0-=C2=A0
Patch implements below things=C2=A0-=C2=A0
1.Enable the current framework to provide option to execute Feature tests= in parallel =C2=A0on selenium grid set up.
=C2=A0 =C2=A0- Additi= on of new switch to start parallel features tests.
=C2=A0 =C2=A0-= New parameters with respect to selenoid in test_config.json.in
=C2=A0 =C2=A0- = Addition of new script to check solenoid=C2=A0updates.

=


Thanks,
Yogesh Mahajan
QA - Team
EnterpriseD= B Corporation

Phone: +91-9741705709

On Tue, Apr 21, 2020 at 1:18 PM Shubham Agarwal <shubham.agarwal@enter= prisedb.com> wrote:
Hi Yogesh,
Below are the review comments-

1. runtests.py
=C2=A0 =C2=A0 a. The= exception traceback logic at line number 653 in runtests.py is not correct= since it is particular to the thread
but there is much more code in that block which can throw some exc= eption.
b. line number 447 -> The drop_databas= e function will only try to drop the database with the name which is newly = created
at 431 line number, it= s probability is 1% instead of this you can write a logic so that it will d= rop all the database which starts with name =E2=80=98acceptance_test_db'= ;.
=C2=A0 c. lin= e 584 -=C2=A0Why we are including resql test case execution in GUI executio= n logic.
=C2=A0 =C2=A0 d.= =C2=A0Change the function na= me run_test as script name is also runtests.py

2. test_utils.py
Remove the headl= ess chrome code from get_remote_webdriver() in test_utils.py since we are u= sing solenoid and it is not required anymore.=
=C2=A0 =C2=A0 b. Create separate functions to instantiate the firefox driver a= nd chrome driver logic since the same code is used in multiple files.
c. launch_url_in_browser() -> you can simplify the definit= ion of the function like:
=C2=A0 =C2=A0=C2=A0<= /span>retry =3D 60
=EF=BB=BF=C2=A0 =C2=A0 =C2=A0 =C2=A0 while=C2=A0retry > 0:
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 try:
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0= =C2=A0 =C2=A0 =C2=A0 driver.get(url)=C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 =C2=A0 except WebDriverException:
=C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0retry -=3D 1
3. Execution logs are not printing as per the logic some ti= me, I ran the suite for two servers and attached are the execution logs.
4. Readme -<= /div>
Please provide the Valid selenoid U= RL to be provided in the test_config.json, with all the steps mentioned in = the readme it is not clear.
Revisit the readme and write the missing steps.
<= div>5. copy_selected_query_results_feature_tests= .py-
Create the funct= ion to avoid duplicate code. The code for pasting the values is repeating 8= times in the test code.
6. Provide the valid docstring in newly introduced functions and also vali= d comments while calling it. for ex.- _update_preference() function is
introduced in pg_utilitie= s_backup_restrore_test.py but from the function name, it is not clear what = preferences are going to update in it.
7. test_index_constraint_add test case is failing due to the latest change, p= lease merge and update this test case

On Thu, Apr 16, 2020 at 2:41 PM navn= ath gadakh <navnath.gadakh@enterprisedb.com> wrote:
Hi,
I think I am not the right = person to review this patch now as I already reviewed this code offline in = the last week. I know the=C2=A0approached Yogesh has followed, also given s= ome review comments on it.

Thanks= !

On Mon, Apr 13, 2020 at 2:49 PM Akshay Joshi <akshay.joshi@enterpri= sedb.com> wrote:
<= font face=3D"arial, sans-serif">Hi Navnath

Can you = please review it?

On Mon, Apr 13, 2020 at 2:40 PM Yogesh Mahajan = <yo= gesh.mahajan@enterprisedb.com> wrote:
Hi,

Please find the attached=C2=A0patch for running f= eatures tests using solenoid(selenium=C2=A0grid + docker).
=
KIndly review.
To sun feature tests in parallel, required prer= equisites can be checked in '~/web/regression/README' file.<= /div>
Also detailed=C2=A0instructions = are added in the same=C2=A0file.
After applying the patch, any existing process for execution of API= /Features=C2=A0tests remains the same.

Thanks,
Yog= esh Mahajan
QA - Team
EnterpriseDB Corporatio= n

Phone: +91-9741705709


--
Thanks & Regards=
A= kshay Joshi
Sr. Software Architect
EnterpriseDB Software India Private Limited
Mobile: +91 976-788-8246


--
Regards,
Navnath = Gadakh


--
Thanks & Regards,
Shubham Agarwal
EnterpriseDB Corporation

The Postgres Database Company


--
Thanks & Regards
Akshay Joshi
<= font color=3D"#3333FF">Sr. Software Architect=
<= font color=3D"#000000" face=3D"arial, sans-serif">EnterpriseDB Software = India Private Limited
Mobile: +91 976-788-8246=
--000000000000aaca0805a4d0665d-- --000000000000aaca0a05a4d0665f Content-Type: application/octet-stream; name="Selenium_Grid_Implementation_ver3.0.patch" Content-Disposition: attachment; filename="Selenium_Grid_Implementation_ver3.0.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_k9sdd6uh0 ZGlmZiAtLWdpdCBhL3Rvb2xzL3JlcXVpcmVtZW50cy50eHQgYi90b29scy9yZXF1aXJlbWVudHMu dHh0CmluZGV4IDg3ZWNjMmEuLjI4MDQwMTIgMTAwNjQ0Ci0tLSBhL3Rvb2xzL3JlcXVpcmVtZW50 cy50eHQKKysrIGIvdG9vbHMvcmVxdWlyZW1lbnRzLnR4dApAQCAtMSwzICsxLDQgQEAKIHJlcXVl c3RzPj0yLjIxLjAKIHJlcXVlc3RzW3NlY3VyaXR5XT49Mi4yMS4wCiBzYWZldHk9PTEuOC41Citw eWpxPT0yLjQuMApkaWZmIC0tZ2l0IGEvdG9vbHMvdXBkYXRlX3NlbGVub2lkX2Jyb3dzZXJzLnB5 IGIvdG9vbHMvdXBkYXRlX3NlbGVub2lkX2Jyb3dzZXJzLnB5Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0 CmluZGV4IDAwMDAwMDAuLmFjNGQ5MDUKLS0tIC9kZXYvbnVsbAorKysgYi90b29scy91cGRhdGVf c2VsZW5vaWRfYnJvd3NlcnMucHkKQEAgLTAsMCArMSwyNjUgQEAKKyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj CisjCisjIHBnQWRtaW4gNCAtIFBvc3RncmVTUUwgVG9vbHMKKyMKKyMgQ29weXJpZ2h0IChDKSAy MDEzIC0gMjAyMCwgVGhlIHBnQWRtaW4gRGV2ZWxvcG1lbnQgVGVhbQorIyBUaGlzIHNvZnR3YXJl IGlzIHJlbGVhc2VkIHVuZGVyIHRoZSBQb3N0Z3JlU1FMIExpY2VuY2UKKyMKKyMgIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIworIyBVcGRhdGVzIGJyb3dzZXIgaW1hZ2VzKHNlbGVub2lkLWRvY2tlcikgZGVwZW5k aW5nIG9uIGFyZ3VtZW50cyBwYXNzZWQgd2hpbGUKKyMgcnVubmluZyB0aGlzIHNjcmlwdC4KKwor aW1wb3J0IGFyZ3BhcnNlCitpbXBvcnQgb3MKK2ltcG9ydCBzdWJwcm9jZXNzCitpbXBvcnQgc3lz CitpbXBvcnQgdHJhY2ViYWNrCitpbXBvcnQgcmVxdWVzdHMKK2ltcG9ydCBweWpxCitpbXBvcnQg anNvbgorCisKK2RlZiByZWFkX2NvbW1hbmRfbGluZSgpOgorICAgICIiIlJlYWQgdGhlIGNvbW1h bmQgbGluZSBhcmd1bWVudHMuCisgICAgUmV0dXJuczoKKyAgICAgICAgQXJndW1lbnRQYXJzZXI6 IFRoZSBwYXJzZWQgYXJndW1lbnRzIG9iamVjdAorCisgICAgIiIiCisgICAgcGFyc2VyID0gYXJn cGFyc2UuQXJndW1lbnRQYXJzZXIoCisgICAgICAgIGRlc2NyaXB0aW9uPSdHZXQgbGF0ZXN0IGJy b3dzZXIgaW1hZ2VzKGNocm9tZSAmIGZpcmVmb3gpIGZvciBzZWxlbm9pZC4nCisgICAgICAgICAg ICAgICAgICAgICdlLmcuIC0gLS1jaHJvbWUgL3Vzci9iaW4vZ29vZ2xlLWNocm9tZSAtLWZpcmVm b3ggJworICAgICAgICAgICAgICAgICAgICAnL3Vzci9iaW4vZmlyZWZveCcpCisgICAgcGFyc2Vy LmFkZF9hcmd1bWVudCgiLS1jaHJvbWUiLCBtZXRhdmFyPSJDSFJPTUUiLAorICAgICAgICAgICAg ICAgICAgICAgICAgaGVscD0idGhlIENocm9tZSBleGVjdXRhYmxlIHBhdGgiKQorICAgIHBhcnNl ci5hZGRfYXJndW1lbnQoIi0tZmlyZWZveCIsIG1ldGF2YXI9IkZJUkVGT1giLAorICAgICAgICAg ICAgICAgICAgICAgICAgaGVscD0idGhlIGZpcmVmb3ggZXhlY3V0YWJsZSBwYXRoIikKKyAgICBh cmdzX3ZhbCA9IHBhcnNlci5wYXJzZV9hcmdzKCkKKyAgICByZXR1cm4gYXJnc192YWwKKworCitk ZWYgZ2V0X2Jyb3dzZXJfdmVyc2lvbihicm93c2VyX25hbWUsIGV4ZWN1dGFibGVfcGF0aCk6Cisg ICAgIiIiCisgICAgRnVuY3Rpb24gcmV0dXJucyBicm93c2VyIHZlcnNpb24gZm9yIHNwZWNpZmll ZCBicm93c2VyIHVzaW5nIGV4ZWN1dGFibGUKKyAgICBwYXRoIHBhc3NlZCBpbiBhcmd1bWVudHMu CisgICAgOnBhcmFtIGJyb3dzZXJfbmFtZToKKyAgICA6cGFyYW0gZXhlY3V0YWJsZV9wYXRoOiBl LmcuIC91c3IvYmluL2ZpcmVmb3gKKyAgICA6cmV0dXJuOiBicm93c2VyIHZlcnNpb24KKyAgICAi IiIKKyAgICAjIE9uIExpbnV4L01hYyB3ZSBydW4gdGhlIGJyb3dzZXIgZXhlY3V0YWJsZSB3aXRo IHRoZSAtLXZlcnNpb24gZmxhZywKKyAgICAjIHRoZW4gcGFyc2UgdGhlIG91dHB1dC4KKyAgICBi cm93c2VyX3ZlcnNpb25fdmFsID0gTm9uZQorICAgIHRyeToKKyAgICAgICAgcmVzdWx0ID0gc3Vi cHJvY2Vzcy5Qb3BlbihbZXhlY3V0YWJsZV9wYXRoLCAnLS12ZXJzaW9uJ10sCisgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgc3Rkb3V0PXN1YnByb2Nlc3MuUElQRSkKKyAgICBleGNl cHQgRmlsZU5vdEZvdW5kRXJyb3I6CisgICAgICAgIHByaW50KCdUaGUgc3BlY2lmaWVkIGJyb3dz ZXIgZXhlY3V0YWJsZSBjb3VsZCBub3QgYmUgZm91bmQuJykKKyAgICAgICAgc3lzLmV4aXQoMSkK KworICAgIHZlcnNpb25fc3RyID0gcmVzdWx0LnN0ZG91dC5yZWFkKCkuZGVjb2RlKCJ1dGYtOCIp CisKKyAgICBpZiBicm93c2VyX25hbWUubG93ZXIoKSA9PSAiY2hyb21lIjoKKyAgICAgICAgIyBD aGVjayBmb3IgJ0Nocm9tJyBub3QgJ0Nocm9tZScgaW4gY2FzZSB0aGUgdXNlciBpcyB1c2luZyBD aHJvbWl1bS4KKyAgICAgICAgaWYgIkNocm9tIiBub3QgaW4gdmVyc2lvbl9zdHI6CisgICAgICAg ICAgICBwcmludCgnVGhlIHNwZWNpZmllZCBDaHJvbWUgZXhlY3V0YWJsZSBvdXRwdXQgYW4gdW5l eHBlY3RlZCAnCisgICAgICAgICAgICAgICAgICAndmVyc2lvbiBzdHJpbmc6IHt9LicuZm9ybWF0 KHZlcnNpb25fc3RyKSkKKyAgICAgICAgICAgIHN5cy5leGl0KDEpCisgICAgICAgICMgT24gc29t ZSBsaW51eCBkaXN0cm8gYGNocm9tZS0tdmVyc2lvbmAgZ2l2ZXMgb3V0cHV0IGxpa2UKKyAgICAg ICAgIyAnR29vZ2xlIENocm9tZSA4MC4wLjM5ODcuMTMyIHVua25vd25cbicKKyAgICAgICAgIyBz byB3ZSBuZWVkIHRvIGNoZWNrIGFuZCByZW1vdmUgdGhlIHVua25vd24gc3RyaW5nIGZyb20gdGhl IHZlcnNpb24KKyAgICAgICAgaWYgdmVyc2lvbl9zdHIuZW5kc3dpdGgoInVua25vd25cbiIpOgor ICAgICAgICAgICAgdmVyc2lvbl9zdHIgPSB2ZXJzaW9uX3N0ci5zdHJpcCgidW5rbm93blxuIiku c3RyaXAoKQorCisgICAgICAgIGNocm9tZV92ZXJzaW9uID0gJy4nLmpvaW4odmVyc2lvbl9zdHIu c3BsaXQoKVstMV0uc3BsaXQoJy4nKVs6LTJdKQorCisgICAgICAgICMgTWFrZSBzdXJlIGJyb3dz ZXIgdmVyc2lvbiBoYXMgb25seSAxIGRlY2ltYWwgcG9pbnQKKyAgICAgICAgaWYgY2hyb21lX3Zl cnNpb24uY291bnQoJy4nKSAhPSAxOgorICAgICAgICAgICAgcHJpbnQoJ1RoZSBzcGVjaWZpZWQg Q2hyb21lIGV4ZWN1dGFibGUgb3V0cHV0IGFuIHVuZXhwZWN0ZWQgJworICAgICAgICAgICAgICAg ICAgJ3ZlcnNpb24gc3RyaW5nOiB7fS4nLmZvcm1hdCh2ZXJzaW9uX3N0cikpCisgICAgICAgICAg ICBzeXMuZXhpdCgxKQorICAgICAgICBicm93c2VyX3ZlcnNpb25fdmFsID0gY2hyb21lX3ZlcnNp b24KKyAgICBlbGlmIGJyb3dzZXJfbmFtZS5sb3dlcigpID09ICJmaXJlZm94IjoKKyAgICAgICAg aWYgIkZpcmVmb3giIG5vdCBpbiB2ZXJzaW9uX3N0cjoKKyAgICAgICAgICAgIHByaW50KCdUaGUg c3BlY2lmaWVkIEZpcmVmb3ggZXhlY3V0YWJsZSBvdXRwdXQgYW4gdW5leHBlY3RlZCAnCisgICAg ICAgICAgICAgICAgICAndmVyc2lvbiBzdHJpbmc6IHt9LicuZm9ybWF0KHZlcnNpb25fc3RyKSkK KyAgICAgICAgICAgIHN5cy5leGl0KDEpCisKKyAgICAgICAgIyBmaXJlZm94IC0tdmVyc2lvbiBn aXZlcyBvdXRwdXQgbGlrZQorICAgICAgICAjICdSdW5uaW5nIHdpdGhvdXQgYTExeSBzdXBwb3J0 IQorICAgICAgICAjIE1vemlsbGEgRmlyZWZveCA2OC43LjBlc3InCisgICAgICAgIGZpcmVmb3hf dmVyc2lvbiA9ICcuJy5qb2luKAorICAgICAgICAgICAgdmVyc2lvbl9zdHIuc3BsaXQoKVstMV0u c3BsaXQoJy4nKVs6LTJdKSArICcuMCcKKworICAgICAgICAjIE1ha2Ugc3VyZSBicm93c2VyIHZl cnNpb24gaGFzIG9ubHkgMSBkZWNpbWFsIHBvaW50CisgICAgICAgIGlmIGZpcmVmb3hfdmVyc2lv bi5jb3VudCgnLicpICE9IDE6CisgICAgICAgICAgICBwcmludCgnVGhlIHNwZWNpZmllZCBDaHJv bWUgZXhlY3V0YWJsZSBvdXRwdXQgYW4gdW5leHBlY3RlZCAnCisgICAgICAgICAgICAgICAgICAn dmVyc2lvbiBzdHJpbmc6IHt9LicuZm9ybWF0KHZlcnNpb25fc3RyKSkKKyAgICAgICAgICAgIHN5 cy5leGl0KDEpCisgICAgICAgIGJyb3dzZXJfdmVyc2lvbl92YWwgPSBmaXJlZm94X3ZlcnNpb24K KyAgICBlbHNlOgorICAgICAgICBwcmludCgiezB9IGlzIG5vdCByZWNvZ25pc2VkICIuZm9ybWF0 KGJyb3dzZXJfbmFtZSkpCisgICAgICAgIHN5cy5leGl0KDEpCisgICAgcmV0dXJuIGJyb3dzZXJf dmVyc2lvbl92YWwKKworCitkZWYgY2hlY2tfYW5kX2Rvd25sb2FkX3ZuY19icm93c2VyX2ltYWdl KGJyb3dzZXJfbmFtZSwgYnJvd3Nlcl92ZXJzaW9uKToKKyAgICAiIiIKKyAgICBGdW5jdGlvbiBj aGVja3MgcHJlc2VuY2UgZm9yIHZuYyBpbWFnZXMgZm9yIHBhc3NlZCBicm93c2VyCisgICAgYXQg ZG9ja2VyLmlvL3NlbGVub2lkLyByZWdpc3RyeQorICAgIDpwYXJhbSBicm93c2VyX25hbWU6Cisg ICAgOnBhcmFtIGJyb3dzZXJfdmVyc2lvbjoKKyAgICA6cmV0dXJuOnRydWUgaWYgYnJvd3NlciBp bWFnZSBpcyBhdmFpbGFibGUgJiBkb3dubG9hZGVkIGVsc2UgZmFsc2UKKyAgICAiIiIKKyAgICBy ZXMgPSByZXF1ZXN0cy5nZXQoCisgICAgICAgICdodHRwczovL3JlZ2lzdHJ5Lmh1Yi5kb2NrZXIu Y29tL3YyL3JlcG9zaXRvcmllcy9zZWxlbm9pZC92bmNfJyArCisgICAgICAgIGJyb3dzZXJfbmFt ZSArICcvdGFncy8nKQorICAgIHJlcyA9IHJlcy5qc29uKCkKKyAgICB2ZXJzaW9uX3RhZyA9IHB5 anEuYWxsKCcuWyJyZXN1bHRzIl1bXVsibmFtZSJdJywgcmVzKQorICAgIHZuY19pbWFnZV9hdmFp bGFibGUgPSBGYWxzZQorICAgIGltYWdlX25hbWUgPSAndm5jXycgKyBicm93c2VyX25hbWUgKyAn OicgKyBicm93c2VyX3ZlcnNpb24KKworICAgIGZvciBpZHgsIHRhZyBpbiBlbnVtZXJhdGUodmVy c2lvbl90YWcpOgorICAgICAgICBpZiBicm93c2VyX3ZlcnNpb24gPT0gdGFnOgorICAgICAgICAg ICAgY29tbWFuZCA9ICdkb2NrZXIgcHVsbCBzZWxlbm9pZC92bmNfJyArIGJyb3dzZXJfbmFtZSAr ICc6JyBcCisgICAgICAgICAgICAgICAgICAgICAgKyBicm93c2VyX3ZlcnNpb24KKyAgICAgICAg ICAgIHByaW50KCcgVk5DIGltYWdlIGlzIGF2YWlsYWJsZSAmIGRvd25sb2FkaW5nIG5vdy4uLiB7 MH0nLmZvcm1hdCgKKyAgICAgICAgICAgICAgICBjb21tYW5kKSkKKyAgICAgICAgICAgIHRyeToK KyAgICAgICAgICAgICAgICBzdWJwcm9jZXNzLmNhbGwoW2NvbW1hbmRdLCBzaGVsbD1UcnVlLCBz dGRvdXQ9c3VicHJvY2Vzcy5QSVBFKQorICAgICAgICAgICAgICAgIHZuY19pbWFnZV9hdmFpbGFi bGUgPSBUcnVlCisgICAgICAgICAgICBleGNlcHQgRXhjZXB0aW9uOgorICAgICAgICAgICAgICAg IHRyYWNlYmFjay5wcmludF9leGMoZmlsZT1zeXMuc3RkZXJyKQorICAgICAgICAgICAgICAgIHBy aW50KAorICAgICAgICAgICAgICAgICAgICAnezB9fSBJbWFnZSBmb3VuZCBidXQgY291bGQgbm90 IGRvd25sb2FkLicuZm9ybWF0KGNvbW1hbmQpKQorICAgICAgICAgICAgICAgIHN5cy5leGl0KDEp CisgICAgICAgICAgICBicmVhaworICAgICAgICBlbGlmIGlkeCA9PSBsZW4odmVyc2lvbl90YWcp OgorICAgICAgICAgICAgcHJpbnQoInswfSBJbWFnZSBpcyBub3QgYXZhaWxhYmxlLiIuZm9ybWF0 KGltYWdlX25hbWUpKQorICAgICAgICAgICAgdm5jX2ltYWdlX2F2YWlsYWJsZSA9IEZhbHNlCisg ICAgICAgIGVsc2U6CisgICAgICAgICAgICBwYXNzCisgICAgcmV0dXJuIHZuY19pbWFnZV9hdmFp bGFibGUKKworCitkZWYgcmVsb2FkX3NlbGVub2lkX2NvbmZpZygpOgorICAgICIiIgorICAgIEZ1 bmN0aW9uIHJ1bnMgY29tbWFuZCB0byByZWZyZXNoIHNlbGVub2lkIGNvbmZpZ3VyYXRpb24KKyAg ICA6cmV0dXJuOiB0cnVlIGlmIGNvbW1hbmQgZXhlY3V0aW9uIGZvciBzZWxlbm9pZCByZWxvYWQg aXMgc3VjY2Vzc2Z1bAorICAgIGVsc2UgZmFsc2UKKyAgICAiIiIKKyAgICBjb21tYW5kID0gJ2Rv Y2tlciBraWxsIC1zIEhVUCBzZWxlbm9pZCcKKyAgICByZWxvYWRfc3VjY2Vzc2Z1bCA9IEZhbHNl CisgICAgdHJ5OgorICAgICAgICBzdWJwcm9jZXNzLmNhbGwoW2NvbW1hbmRdLCBzaGVsbD1UcnVl LCBzdGRvdXQ9c3VicHJvY2Vzcy5QSVBFKQorICAgICAgICBwcmludCgiIFNlbGVub2lkIENvbmZp Z3VyYXRpb24gaXMgcmVsb2FkZWQuIikKKyAgICAgICAgcmVsb2FkX3N1Y2Nlc3NmdWwgPSBUcnVl CisgICAgZXhjZXB0IEV4Y2VwdGlvbjoKKyAgICAgICAgdHJhY2ViYWNrLnByaW50X2V4YyhmaWxl PXN5cy5zdGRlcnIpCisgICAgICAgIHByaW50KCdFcnJvciB3aGlsZSByZWxvYWRpbmcgc2VsZW5v aWQgY29uZmlndXJhdGlvbi4nKQorICAgICAgICBzeXMuZXhpdCgxKQorICAgIHJldHVybiByZWxv YWRfc3VjY2Vzc2Z1bAorCisKK2RlZiBlZGl0X2Jyb3dzZXJzX2pzb24oYnJvd3Nlcl9uYW1lLCBi cm93c2VyX3ZlcnNpb24pOgorICAgICIiIgorICAgIEZ1bmN0aW9uIGVkaXRzIGJyb3dzZXJzLmpz b24gd2hpY2ggaXMgdXNlZCBieSBzZWxlbm9pZCB0bworICAgIGxvYWQgYnJvd3NlciBjb25maWd1 cmF0aW9uLgorICAgIERlZmF1bHQgcGF0aCBmb3IgdGhpcyBmaWxlIGlzCisgICAgInVzZXJfaG9t ZV9kaXIgKyAnLy5hZXJva3ViZS9zZWxlbm9pZC9icm93c2Vycy5qc29uJyIKKyAgICBDdXJyZW50 bHkgdGhpcyBpcyBoYXJkY29kZWQsIG1pZ2h0IG5lZWQgdG8gbW9kaWZ5CisgICAgaWYgd2Ugd2Fu dCB0byBwYXNzIGN1c3RvbWl6ZSBicm93c2Vycy5qc29uCisgICAgOnBhcmFtIGJyb3dzZXJfbmFt ZToKKyAgICA6cGFyYW0gYnJvd3Nlcl92ZXJzaW9uOgorICAgIDpyZXR1cm46CisgICAgIiIiCisg ICAgZmlsZV9lZGl0ZWQgPSBUcnVlCisgICAgIyBSZWFkIGV4aXN0aW5nIGJyb3dzZXJzLmpzb24K KyAgICBqc29uX2ZpbGUgPSBvcGVuKGZpbGVfcGF0aCwgJ3InKQorICAgIGV4aXN0aW5nX2RhdGEg PSBqc29uLmxvYWQoanNvbl9maWxlKQorICAgIHVwZGF0ZWRfZGF0YSA9IE5vbmUKKworICAgICMg VXBkYXRlIGRhdGEgZm9yIG5ldyBicm93c2VyIGltYWdlcworICAgIGlmIGJyb3dzZXJfbmFtZS5s b3dlcigpID09ICdjaHJvbWUnOgorICAgICAgICB2ZXJzaW9uX2RhdGEgPSBleGlzdGluZ19kYXRh WydjaHJvbWUnXVsndmVyc2lvbnMnXQorICAgICAgICBpZiBicm93c2VyX3ZlcnNpb24gaW4gdmVy c2lvbl9kYXRhLmtleXMoKToKKyAgICAgICAgICAgIHByaW50KCIgezB9OnsxfSBpcyBhbHJlYWR5 IHVwZGF0ZWQgaW4gYnJvd3NlcnMuanNvbi4iLmZvcm1hdCgKKyAgICAgICAgICAgICAgICBicm93 c2VyX25hbWUsIGJyb3dzZXJfdmVyc2lvbikpCisgICAgICAgICAgICBmaWxlX2VkaXRlZCA9IFRy dWUKKyAgICAgICAgZWxzZToKKyAgICAgICAgICAgIGRhdGFfdG9faW5zZXJ0ID0gZGljdCgKKyAg ICAgICAgICAgICAgICB7YnJvd3Nlcl92ZXJzaW9uOiB7CisgICAgICAgICAgICAgICAgICAgICdp bWFnZSc6ICdzZWxlbm9pZC92bmNfY2hyb21lOicgKyBicm93c2VyX3ZlcnNpb24sCisgICAgICAg ICAgICAgICAgICAgICdwb3J0JzogJzQ0NDQnLCAncGF0aCc6ICcvJ319KQorICAgICAgICAgICAg KGV4aXN0aW5nX2RhdGFbJ2Nocm9tZSddWyd2ZXJzaW9ucyddKS51cGRhdGUoZGF0YV90b19pbnNl cnQpCisgICAgICAgICAgICB1cGRhdGVkX2RhdGEgPSBleGlzdGluZ19kYXRhCisgICAgICAgICAg ICBwcmludCh1cGRhdGVkX2RhdGEpCisKKyAgICBlbGlmIGJyb3dzZXJfbmFtZS5sb3dlcigpID09 ICdmaXJlZm94JzoKKyAgICAgICAgdmVyc2lvbl9kYXRhID0gZXhpc3RpbmdfZGF0YVsnZmlyZWZv eCddWyd2ZXJzaW9ucyddCisgICAgICAgIGlmIGJyb3dzZXJfdmVyc2lvbiBpbiB2ZXJzaW9uX2Rh dGEua2V5cygpOgorICAgICAgICAgICAgcHJpbnQoIiB7MH06ezF9IGlzIGFscmVhZHkgdXBkYXRl ZCBpbiBicm93c2Vycy5qc29uLiIuZm9ybWF0KAorICAgICAgICAgICAgICAgIGJyb3dzZXJfbmFt ZSwgYnJvd3Nlcl92ZXJzaW9uKSkKKyAgICAgICAgICAgIGZpbGVfZWRpdGVkID0gVHJ1ZQorICAg ICAgICBlbHNlOgorICAgICAgICAgICAgZGF0YV90b19pbnNlcnQgPSBkaWN0KAorICAgICAgICAg ICAgICAgIHticm93c2VyX3ZlcnNpb246IHsKKyAgICAgICAgICAgICAgICAgICAgJ2ltYWdlJzog J3NlbGVub2lkL3ZuY19maXJlZm94OicgKyBicm93c2VyX3ZlcnNpb24sCisgICAgICAgICAgICAg ICAgICAgICdwb3J0JzogJzQ0NDQnLCAncGF0aCc6ICcvJ319KQorICAgICAgICAgICAgKGV4aXN0 aW5nX2RhdGFbJ2ZpcmVmb3gnXVsndmVyc2lvbnMnXSkudXBkYXRlKGRhdGFfdG9faW5zZXJ0KQor ICAgICAgICAgICAgdXBkYXRlZF9kYXRhID0gZXhpc3RpbmdfZGF0YQorICAgIGVsc2U6CisgICAg ICAgIHByaW50KCJCcm93c2VyIHZlcnNpb24gbm90IG1hdGNoZWQiKQorICAgICAgICBmaWxlX2Vk aXRlZCA9IEZhbHNlCisKKyAgICAjIFdyaXRlIHVwZGF0ZWQgZGF0YSBpbiBicm93c2Vycy5qc29u CisgICAgaWYgdXBkYXRlZF9kYXRhIGlzIG5vdCBOb25lOgorICAgICAgICBqc29uX2ZpbGUgPSBv cGVuKGZpbGVfcGF0aCwgJ3cnKQorICAgICAgICBqc29uLmR1bXAodXBkYXRlZF9kYXRhLCBqc29u X2ZpbGUpCisgICAgICAgIHByaW50KCIgJ2Jyb3dzZXJzLmpzb24nIGlzIHVwZGF0ZWQgZm9yIHsw fSB7MX0iLmZvcm1hdCgKKyAgICAgICAgICAgIGJyb3dzZXJfbmFtZSwgYnJvd3Nlcl92ZXJzaW9u KSkKKworICAgICAgICBmaWxlX2VkaXRlZCA9IFRydWUKKyAgICByZXR1cm4gZmlsZV9lZGl0ZWQK KworCisjIE1haW4gUHJvZ3JhbSBzdGFydHMgaGVyZQorIyBSZWFkIGNvbW1hbmQgbGluZSBhcmd1 bWVudHMgJiBnZXQgbGlzdCBvZiBicm93c2VyX25hbWUsIGV4ZWN1dGFibGUgcGF0aC4KK2FyZ3Mg PSB2YXJzKHJlYWRfY29tbWFuZF9saW5lKCkpCisKKyMgR2V0IHBhdGggcGF0aCBmb3IgYnJvd3Nl cnMuanNvbgordXNlcl9ob21lX2RpciA9IG9zLmdldGVudigiSE9NRSIpCitmaWxlX3BhdGggPSB1 c2VyX2hvbWVfZGlyICsgJy8uYWVyb2t1YmUvc2VsZW5vaWQvYnJvd3NlcnMuanNvbicKK3ByaW50 KCIqKioqKiBVcGRhdGluZyAnezB9JyBmb3IgbmV3IGJyb3dzZXIgdmVyc2lvbnMuKioqKioiLmZv cm1hdChmaWxlX3BhdGgpKQorCisjIEl0ZXJhdGUgb3ZlciBhcmd1bWVudHMgcGFzc2VkCitmb3Ig YnJvd3NlciwgZXhlY3V0YWJsZV9wYXRoIGluIGFyZ3MuaXRlbXMoKToKKyAgICBpZiBleGVjdXRh YmxlX3BhdGggaXMgbm90IE5vbmU6CisgICAgICAgICMgR2V0IGJyb3dzZXIgbmFtZQorICAgICAg ICBicm93c2VyX25hbWUgPSBicm93c2VyCisgICAgICAgICMgR2V0IGJyb3dzZXIgdmVyc2lvbgor ICAgICAgICBicm93c2VyX3ZlcnNpb24gPSBnZXRfYnJvd3Nlcl92ZXJzaW9uKGJyb3dzZXIsIGV4 ZWN1dGFibGVfcGF0aCkKKyAgICAgICAgcHJpbnQoCisgICAgICAgICAgICAiIEJyb3dzZXIgdmVy c2lvbiBmb3IgezB9IGlzIHsxfSBpbiBjdXJyZW50IGV4ZWN1dGFibGUgcGF0aCAiLgorICAgICAg ICAgICAgZm9ybWF0KGJyb3dzZXJfbmFtZSwgYnJvd3Nlcl92ZXJzaW9uKSkKKworICAgICAgICAj IERvd25sb2FkIHZuYyBicm93c2VyIGltYWdlLgorICAgICAgICBkb3dubG9hZF9uZXdfaW1hZ2Ug PSBjaGVja19hbmRfZG93bmxvYWRfdm5jX2Jyb3dzZXJfaW1hZ2UoCisgICAgICAgICAgICBicm93 c2VyX25hbWUsIGJyb3dzZXJfdmVyc2lvbikKKworICAgICAgICAjIElmIGJyb3dzZXIgdm5jIGlt YWdlIGlzIGF2YWlsYWJsZSwgdGhlbiBlZGl0IGJyb3dzZXJzLmpzb24KKyAgICAgICAgaWYgZG93 bmxvYWRfbmV3X2ltYWdlOgorICAgICAgICAgICAgaWYgZWRpdF9icm93c2Vyc19qc29uKGJyb3dz ZXJfbmFtZSwgYnJvd3Nlcl92ZXJzaW9uKToKKyAgICAgICAgICAgICAgICBwcmludCgKKyAgICAg ICAgICAgICAgICAgICAgIiBGaWxlICdicm93c2Vycy5qc29uJyBpcyB1cGRhdGVkIGZvciB7MH0g LSB7MX0gXG4iLmZvcm1hdCgKKyAgICAgICAgICAgICAgICAgICAgICAgIGJyb3dzZXJfbmFtZSwg YnJvd3Nlcl92ZXJzaW9uKSkKKyAgICAgICAgICAgIGVsc2U6CisgICAgICAgICAgICAgICAgcHJp bnQoCisgICAgICAgICAgICAgICAgICAgICIgRmlsZSAnYnJvd3NlcnMuanNvbicgY2FuIE5PVCBi ZSB1cGRhdGVkIGZvciB7MH0gLSB7MX0gXG4iCisgICAgICAgICAgICAgICAgICAgIC5mb3JtYXQo YnJvd3Nlcl9uYW1lLCBicm93c2VyX3ZlcnNpb24pKQorICAgICAgICBlbHNlOgorICAgICAgICAg ICAgcHJpbnQoIiBCcm93c2VyIGltYWdlIGlzIG5vdCBhdmFpbGFibGUgZm9yIHswfSwgezF9Ii5m b3JtYXQoCisgICAgICAgICAgICAgICAgYnJvd3Nlcl9uYW1lLCBicm93c2VyX3ZlcnNpb24pKQor CisjIFJlbG9hZCBzZWxlbm9pZCBjb25maWd1cmF0aW9uCitpZiByZWxvYWRfc2VsZW5vaWRfY29u ZmlnKCk6CisgICAgcHJpbnQoCisgICAgICAgICIqKioqKiBVcGRhdGVkICd7MH0nIGZvciBuZXcg YnJvd3NlciB2ZXJzaW9ucy4qKioqKiIuZm9ybWF0KGZpbGVfcGF0aCkpCmRpZmYgLS1naXQgYS93 ZWIvY29uZmlnLnB5IGIvd2ViL2NvbmZpZy5weQppbmRleCA3Zjc0YTdkLi4zOTc4ZjRmIDEwMDY0 NAotLS0gYS93ZWIvY29uZmlnLnB5CisrKyBiL3dlYi9jb25maWcucHkKQEAgLTU2Miw2ICs1NjIs MTggQEAgdHJ5OgogZXhjZXB0IEltcG9ydEVycm9yOgogICAgIHBhc3MKIAorIyBPdmVycmlkZSBE RUZBVUxUX1NFUlZFIHZhbHVlIGZyb20gZW52aXJvbm1lbnQgdmFyaWFibGUuCitpZiAnUEdBRE1J Tl9DT05GSUdfREVGQVVMVF9TRVJWRVInIGluIG9zLmVudmlyb246CisgICAgREVGQVVMVF9TRVJW RVIgPSBvcy5lbnZpcm9uWydQR0FETUlOX0NPTkZJR19ERUZBVUxUX1NFUlZFUiddCisKKyMgU1VQ UE9SVF9TU0hfVFVOTkVMIGNhbiBiZSBvdmVycmlkZSBpbiBsb2NhbCBjb25maWcgZmlsZSBhbmQg aWYgdGhhdAorIyBzZXR0aW5nIGlzIEZhbHNlIGluIGxvY2FsIGNvbmZpZyB0aGVuIHdlIHNob3Vs ZCBub3QgY2hlY2sgdGhlIFB5dGhvbiB2ZXJzaW9uLgoraWYgKFNVUFBPUlRfU1NIX1RVTk5FTCBp cyBUcnVlIGFuZAorICAgICgoc3lzLnZlcnNpb25faW5mb1swXSA9PSAyIGFuZCBzeXMudmVyc2lv bl9pbmZvWzFdIDwgNykgb3IKKyAgICAgKHN5cy52ZXJzaW9uX2luZm9bMF0gPT0gMyBhbmQgc3lz LnZlcnNpb25faW5mb1sxXSA8IDQpKSk6CisgICAgU1VQUE9SVF9TU0hfVFVOTkVMID0gRmFsc2UK KyAgICBBTExPV19TQVZFX1RVTk5FTF9QQVNTV09SRCA9IEZhbHNlCisKICMgRGlzYWJsZSBVU0VS X0lOQUNUSVZJVFlfVElNRU9VVCB3aGVuIFNFUlZFUl9NT0RFPUZhbHNlCiBpZiBub3QgU0VSVkVS X01PREU6CiAgICAgVVNFUl9JTkFDVElWSVRZX1RJTUVPVVQgPSAwCmRpZmYgLS1naXQgYS93ZWIv cGdhZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy9kYXRhYmFzZXMvc2NoZW1hcy90 YWJsZXMvY29uc3RyYWludHMvaW5kZXhfY29uc3RyYWludC90ZXN0cy90ZXN0X2luZGV4X2NvbnN0 cmFpbnRfYWRkLnB5IGIvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMv ZGF0YWJhc2VzL3NjaGVtYXMvdGFibGVzL2NvbnN0cmFpbnRzL2luZGV4X2NvbnN0cmFpbnQvdGVz dHMvdGVzdF9pbmRleF9jb25zdHJhaW50X2FkZC5weQppbmRleCBmMTI3MDYzLi44ODUyNmNhIDEw MDY0NAotLS0gYS93ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy9kYXRh YmFzZXMvc2NoZW1hcy90YWJsZXMvY29uc3RyYWludHMvaW5kZXhfY29uc3RyYWludC90ZXN0cy90 ZXN0X2luZGV4X2NvbnN0cmFpbnRfYWRkLnB5CisrKyBiL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2Vy dmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy9zY2hlbWFzL3RhYmxlcy9jb25zdHJhaW50cy9p bmRleF9jb25zdHJhaW50L3Rlc3RzL3Rlc3RfaW5kZXhfY29uc3RyYWludF9hZGQucHkKQEAgLTQ0 LDMxICs0NCwzMCBAQCBjbGFzcyBJbmRleENvbnN0cmFpbnRBZGRUZXN0Q2FzZShCYXNlVGVzdEdl bmVyYXRvcik6CiAgICAgICAgICBkaWN0KHVybD0nL2Jyb3dzZXIvdW5pcXVlX2NvbnN0cmFpbnQv b2JqLycsIGRhdGE9dW5pcXVlX2tleV9kYXRhKSkKICAgICBdCiAKLSAgICBAY2xhc3NtZXRob2QK LSAgICBkZWYgc2V0VXBDbGFzcyhjbHMpOgotICAgICAgICBjbHMuZGJfbmFtZSA9IHBhcmVudF9u b2RlX2RpY3RbImRhdGFiYXNlIl1bLTFdWyJkYl9uYW1lIl0KKyAgICBkZWYgc2V0VXAoc2VsZik6 CisgICAgICAgIHNlbGYuZGJfbmFtZSA9IHBhcmVudF9ub2RlX2RpY3RbImRhdGFiYXNlIl1bLTFd WyJkYl9uYW1lIl0KICAgICAgICAgc2NoZW1hX2luZm8gPSBwYXJlbnRfbm9kZV9kaWN0WyJzY2hl bWEiXVstMV0KLSAgICAgICAgY2xzLnNlcnZlcl9pZCA9IHNjaGVtYV9pbmZvWyJzZXJ2ZXJfaWQi XQotICAgICAgICBjbHMuZGJfaWQgPSBzY2hlbWFfaW5mb1siZGJfaWQiXQotICAgICAgICBkYl9j b24gPSBkYXRhYmFzZV91dGlscy5jb25uZWN0X2RhdGFiYXNlKGNscywgdXRpbHMuU0VSVkVSX0dS T1VQLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNs cy5zZXJ2ZXJfaWQsIGNscy5kYl9pZCkKKyAgICAgICAgc2VsZi5zZXJ2ZXJfaWQgPSBzY2hlbWFf aW5mb1sic2VydmVyX2lkIl0KKyAgICAgICAgc2VsZi5kYl9pZCA9IHNjaGVtYV9pbmZvWyJkYl9p ZCJdCisgICAgICAgIGRiX2NvbiA9IGRhdGFiYXNlX3V0aWxzLmNvbm5lY3RfZGF0YWJhc2Uoc2Vs ZiwgdXRpbHMuU0VSVkVSX0dST1VQLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIHNlbGYuc2VydmVyX2lkLCBzZWxmLmRiX2lkKQogICAgICAgICBpZiBu b3QgZGJfY29uWydkYXRhJ11bImNvbm5lY3RlZCJdOgogICAgICAgICAgICAgcmFpc2UgRXhjZXB0 aW9uKCJDb3VsZCBub3QgY29ubmVjdCB0byBkYXRhYmFzZSB0byBhZGQgYSAiCiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgImluZGV4IGNvbnN0cmFpbnQocHJpbWFyeSBrZXkgb3IgdW5pcXVl IGtleSkuIikKLSAgICAgICAgY2xzLnNjaGVtYV9pZCA9IHNjaGVtYV9pbmZvWyJzY2hlbWFfaWQi XQotICAgICAgICBjbHMuc2NoZW1hX25hbWUgPSBzY2hlbWFfaW5mb1sic2NoZW1hX25hbWUiXQot ICAgICAgICBzY2hlbWFfcmVzcG9uc2UgPSBzY2hlbWFfdXRpbHMudmVyaWZ5X3NjaGVtYXMoY2xz LnNlcnZlciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIGNscy5kYl9uYW1lLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgY2xzLnNjaGVtYV9uYW1lKQorICAgICAgICBzZWxmLnNjaGVtYV9p ZCA9IHNjaGVtYV9pbmZvWyJzY2hlbWFfaWQiXQorICAgICAgICBzZWxmLnNjaGVtYV9uYW1lID0g c2NoZW1hX2luZm9bInNjaGVtYV9uYW1lIl0KKyAgICAgICAgc2NoZW1hX3Jlc3BvbnNlID0gc2No ZW1hX3V0aWxzLnZlcmlmeV9zY2hlbWFzKHNlbGYuc2VydmVyLAorICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5kYl9uYW1lLAorICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5zY2hl bWFfbmFtZSkKICAgICAgICAgaWYgbm90IHNjaGVtYV9yZXNwb25zZToKICAgICAgICAgICAgIHJh aXNlIEV4Y2VwdGlvbigiQ291bGQgbm90IGZpbmQgdGhlIHNjaGVtYSB0byBhZGQgYSBpbmRleCAi CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImNvbnN0cmFpbnQocHJpbWFyeSBrZXkgb3Ig dW5pcXVlIGtleSkuIikKLSAgICAgICAgY2xzLnRhYmxlX25hbWUgPSAidGFibGVfaW5kZXhjb25z dHJhaW50XyVzIiAlIFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAoc3RyKHV1aWQudXVpZDQo KSlbMTo4XSkKLSAgICAgICAgY2xzLnRhYmxlX2lkID0gdGFibGVzX3V0aWxzLmNyZWF0ZV90YWJs ZShjbHMuc2VydmVyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIGNscy5kYl9uYW1lLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIGNscy5zY2hlbWFfbmFtZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBjbHMudGFibGVfbmFtZSkKKyAgICAgICAgc2VsZi50YWJs ZV9uYW1lID0gInRhYmxlX2luZGV4Y29uc3RyYWludF8lcyIgJSBcCisgICAgICAgICAgICAgICAg ICAgICAgICAgIChzdHIodXVpZC51dWlkNCgpKVsxOjhdKQorICAgICAgICBzZWxmLnRhYmxlX2lk ID0gdGFibGVzX3V0aWxzLmNyZWF0ZV90YWJsZShzZWxmLnNlcnZlciwKKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5kYl9uYW1lLAorICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLnNjaGVtYV9u YW1lLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBz ZWxmLnRhYmxlX25hbWUpCiAKICAgICBkZWYgcnVuVGVzdChzZWxmKToKICAgICAgICAgIiIiVGhp cyBmdW5jdGlvbiB3aWxsIGFkZCBpbmRleCBjb25zdHJhaW50KHByaW1hcnkga2V5IG9yIHVuaXF1 ZSBrZXkpCkBAIC04MSwxMCArODAsOSBAQCBjbGFzcyBJbmRleENvbnN0cmFpbnRBZGRUZXN0Q2Fz ZShCYXNlVGVzdEdlbmVyYXRvcik6CiAgICAgICAgICAgICBjb250ZW50X3R5cGU9J2h0bWwvanNv bicpCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWxzKHJlc3BvbnNlLnN0YXR1c19jb2RlLCAyMDAp CiAKLSAgICBAY2xhc3NtZXRob2QKLSAgICBkZWYgdGVhckRvd25DbGFzcyhjbHMpOgorICAgIGRl ZiB0ZWFyRG93bihzZWxmKToKICAgICAgICAgIyBEaXNjb25uZWN0IHRoZSBkYXRhYmFzZQotICAg ICAgICBkYXRhYmFzZV91dGlscy5kaXNjb25uZWN0X2RhdGFiYXNlKGNscywgY2xzLnNlcnZlcl9p ZCwgY2xzLmRiX2lkKQorICAgICAgICBkYXRhYmFzZV91dGlscy5kaXNjb25uZWN0X2RhdGFiYXNl KHNlbGYsIHNlbGYuc2VydmVyX2lkLCBzZWxmLmRiX2lkKQogCiAKIGNsYXNzIENvbnN0cmFpbnRz VXNpbmdJbmRleEFkZFRlc3RDYXNlKEJhc2VUZXN0R2VuZXJhdG9yKToKQEAgLTExNywzMCArMTE1 LDI4IEBAIGNsYXNzIENvbnN0cmFpbnRzVXNpbmdJbmRleEFkZFRlc3RDYXNlKEJhc2VUZXN0R2Vu ZXJhdG9yKToKICAgICAgICAgIGRpY3QodXJsPScvYnJvd3Nlci91bmlxdWVfY29uc3RyYWludC9v YmovJywgZGF0YT11bmlxdWVfa2V5X2RhdGEpKQogICAgIF0KIAotICAgIEBjbGFzc21ldGhvZAot ICAgIGRlZiBzZXRVcENsYXNzKGNscyk6Ci0gICAgICAgIGNscy5kYl9uYW1lID0gcGFyZW50X25v ZGVfZGljdFsiZGF0YWJhc2UiXVstMV1bImRiX25hbWUiXQorICAgIGRlZiBzZXRVcChzZWxmKToK KyAgICAgICAgc2VsZi5kYl9uYW1lID0gcGFyZW50X25vZGVfZGljdFsiZGF0YWJhc2UiXVstMV1b ImRiX25hbWUiXQogICAgICAgICBzY2hlbWFfaW5mbyA9IHBhcmVudF9ub2RlX2RpY3RbInNjaGVt YSJdWy0xXQotICAgICAgICBjbHMuc2VydmVyX2lkID0gc2NoZW1hX2luZm9bInNlcnZlcl9pZCJd Ci0gICAgICAgIGNscy5kYl9pZCA9IHNjaGVtYV9pbmZvWyJkYl9pZCJdCi0gICAgICAgIGRiX2Nv biA9IGRhdGFiYXNlX3V0aWxzLmNvbm5lY3RfZGF0YWJhc2UoY2xzLCB1dGlscy5TRVJWRVJfR1JP VVAsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xz LnNlcnZlcl9pZCwgY2xzLmRiX2lkKQorICAgICAgICBzZWxmLnNlcnZlcl9pZCA9IHNjaGVtYV9p bmZvWyJzZXJ2ZXJfaWQiXQorICAgICAgICBzZWxmLmRiX2lkID0gc2NoZW1hX2luZm9bImRiX2lk Il0KKyAgICAgICAgZGJfY29uID0gZGF0YWJhc2VfdXRpbHMuY29ubmVjdF9kYXRhYmFzZShzZWxm LCB1dGlscy5TRVJWRVJfR1JPVVAsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgc2VsZi5zZXJ2ZXJfaWQsIHNlbGYuZGJfaWQpCiAgICAgICAgIGlmIG5v dCBkYl9jb25bJ2RhdGEnXVsiY29ubmVjdGVkIl06CiAgICAgICAgICAgICByYWlzZSBFeGNlcHRp b24oIkNvdWxkIG5vdCBjb25uZWN0IHRvIGRhdGFiYXNlIHRvIGFkZCBhICIKICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAiY29uc3RyYWludCB1c2luZyBpbmRleC4iKQotICAgICAgICBjbHMu c2NoZW1hX2lkID0gc2NoZW1hX2luZm9bInNjaGVtYV9pZCJdCi0gICAgICAgIGNscy5zY2hlbWFf bmFtZSA9IHNjaGVtYV9pbmZvWyJzY2hlbWFfbmFtZSJdCi0gICAgICAgIHNjaGVtYV9yZXNwb25z ZSA9IHNjaGVtYV91dGlscy52ZXJpZnlfc2NoZW1hcyhjbHMuc2VydmVyLAotICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xzLmRiX25hbWUsCi0g ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbHMu c2NoZW1hX25hbWUpCisgICAgICAgIHNlbGYuc2NoZW1hX2lkID0gc2NoZW1hX2luZm9bInNjaGVt YV9pZCJdCisgICAgICAgIHNlbGYuc2NoZW1hX25hbWUgPSBzY2hlbWFfaW5mb1sic2NoZW1hX25h bWUiXQorICAgICAgICBzY2hlbWFfcmVzcG9uc2UgPSBzY2hlbWFfdXRpbHMudmVyaWZ5X3NjaGVt YXMoc2VsZi5zZXJ2ZXIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBzZWxmLmRiX25hbWUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLnNjaGVtYV9uYW1lKQogICAgICAgICBpZiBu b3Qgc2NoZW1hX3Jlc3BvbnNlOgogICAgICAgICAgICAgcmFpc2UgRXhjZXB0aW9uKCJDb3VsZCBu b3QgZmluZCB0aGUgc2NoZW1hIHRvIGFkZCBhIGluZGV4ICIKICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAiY29uc3RyYWludChwcmltYXJ5IGtleSBvciB1bmlxdWUga2V5KS4iKQotICAgICAg ICBjbHMudGFibGVfbmFtZSA9ICJ0YWJsZV9jb25zdHJhaW50XyVzIiAlIChzdHIodXVpZC51dWlk NCgpKVsxOjhdKQotICAgICAgICBjbHMudGFibGVfaWQgPSB0YWJsZXNfdXRpbHMuY3JlYXRlX3Rh YmxlKGNscy5zZXJ2ZXIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgY2xzLmRiX25hbWUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgY2xzLnNjaGVtYV9uYW1lLAotICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIGNscy50YWJsZV9uYW1lKQorICAgICAgICBzZWxmLnRh YmxlX25hbWUgPSAidGFibGVfY29uc3RyYWludF8lcyIgJSAoc3RyKHV1aWQudXVpZDQoKSlbMTo4 XSkKKyAgICAgICAgc2VsZi50YWJsZV9pZCA9IHRhYmxlc191dGlscy5jcmVhdGVfdGFibGUoc2Vs Zi5zZXJ2ZXIsIHNlbGYuZGJfbmFtZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgc2VsZi5zY2hlbWFfbmFtZSwKKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi50YWJsZV9uYW1lKQogCiAgICAgZGVm IHJ1blRlc3Qoc2VsZik6CiAgICAgICAgICIiIlRoaXMgZnVuY3Rpb24gd2lsbCBhZGQgaW5kZXgg Y29uc3RyYWludChwcmltYXJ5IGtleSBvciB1bmlxdWUga2V5KQpAQCAtMTU4LDcgKzE1NCw2IEBA IGNsYXNzIENvbnN0cmFpbnRzVXNpbmdJbmRleEFkZFRlc3RDYXNlKEJhc2VUZXN0R2VuZXJhdG9y KToKICAgICAgICAgICAgIGNvbnRlbnRfdHlwZT0naHRtbC9qc29uJykKICAgICAgICAgc2VsZi5h c3NlcnRFcXVhbHMocmVzcG9uc2Uuc3RhdHVzX2NvZGUsIDIwMCkKIAotICAgIEBjbGFzc21ldGhv ZAotICAgIGRlZiB0ZWFyRG93bkNsYXNzKGNscyk6CisgICAgZGVmIHRlYXJEb3duKHNlbGYpOgog ICAgICAgICAjIERpc2Nvbm5lY3QgdGhlIGRhdGFiYXNlCi0gICAgICAgIGRhdGFiYXNlX3V0aWxz LmRpc2Nvbm5lY3RfZGF0YWJhc2UoY2xzLCBjbHMuc2VydmVyX2lkLCBjbHMuZGJfaWQpCisgICAg ICAgIGRhdGFiYXNlX3V0aWxzLmRpc2Nvbm5lY3RfZGF0YWJhc2Uoc2VsZiwgc2VsZi5zZXJ2ZXJf aWQsIHNlbGYuZGJfaWQpCmRpZmYgLS1naXQgYS93ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9n cm91cHMvc2VydmVycy9kYXRhYmFzZXMvc2NoZW1hcy90YWJsZXMvY29uc3RyYWludHMvaW5kZXhf Y29uc3RyYWludC90ZXN0cy90ZXN0X2luZGV4X2NvbnN0cmFpbnRfZGVsZXRlLnB5IGIvd2ViL3Bn YWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJhc2VzL3NjaGVtYXMvdGFi bGVzL2NvbnN0cmFpbnRzL2luZGV4X2NvbnN0cmFpbnQvdGVzdHMvdGVzdF9pbmRleF9jb25zdHJh aW50X2RlbGV0ZS5weQppbmRleCA3ZWVhNWU5Li5mMzVhMDBiIDEwMDY0NAotLS0gYS93ZWIvcGdh ZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy9kYXRhYmFzZXMvc2NoZW1hcy90YWJs ZXMvY29uc3RyYWludHMvaW5kZXhfY29uc3RyYWludC90ZXN0cy90ZXN0X2luZGV4X2NvbnN0cmFp bnRfZGVsZXRlLnB5CisrKyBiL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2 ZXJzL2RhdGFiYXNlcy9zY2hlbWFzL3RhYmxlcy9jb25zdHJhaW50cy9pbmRleF9jb25zdHJhaW50 L3Rlc3RzL3Rlc3RfaW5kZXhfY29uc3RyYWludF9kZWxldGUucHkKQEAgLTM4LDMxICszOCwzMCBA QCBjbGFzcyBJbmRleENvbnN0cmFpbnREZWxldGVUZXN0Q2FzZShCYXNlVGVzdEdlbmVyYXRvcik6 CiAgICAgICAgICAgICAgIHR5cGU9IlVOSVFVRSIpKQogICAgIF0KIAotICAgIEBjbGFzc21ldGhv ZAotICAgIGRlZiBzZXRVcENsYXNzKGNscyk6Ci0gICAgICAgIGNscy5kYl9uYW1lID0gcGFyZW50 X25vZGVfZGljdFsiZGF0YWJhc2UiXVstMV1bImRiX25hbWUiXQorICAgIGRlZiBzZXRVcChzZWxm KToKKyAgICAgICAgc2VsZi5kYl9uYW1lID0gcGFyZW50X25vZGVfZGljdFsiZGF0YWJhc2UiXVst MV1bImRiX25hbWUiXQogICAgICAgICBzY2hlbWFfaW5mbyA9IHBhcmVudF9ub2RlX2RpY3RbInNj aGVtYSJdWy0xXQotICAgICAgICBjbHMuc2VydmVyX2lkID0gc2NoZW1hX2luZm9bInNlcnZlcl9p ZCJdCi0gICAgICAgIGNscy5kYl9pZCA9IHNjaGVtYV9pbmZvWyJkYl9pZCJdCi0gICAgICAgIGRi X2NvbiA9IGRhdGFiYXNlX3V0aWxzLmNvbm5lY3RfZGF0YWJhc2UoY2xzLCB1dGlscy5TRVJWRVJf R1JPVVAsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg Y2xzLnNlcnZlcl9pZCwgY2xzLmRiX2lkKQorICAgICAgICBzZWxmLnNlcnZlcl9pZCA9IHNjaGVt YV9pbmZvWyJzZXJ2ZXJfaWQiXQorICAgICAgICBzZWxmLmRiX2lkID0gc2NoZW1hX2luZm9bImRi X2lkIl0KKyAgICAgICAgZGJfY29uID0gZGF0YWJhc2VfdXRpbHMuY29ubmVjdF9kYXRhYmFzZShz ZWxmLCB1dGlscy5TRVJWRVJfR1JPVVAsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgc2VsZi5zZXJ2ZXJfaWQsIHNlbGYuZGJfaWQpCiAgICAgICAgIGlm IG5vdCBkYl9jb25bJ2RhdGEnXVsiY29ubmVjdGVkIl06CiAgICAgICAgICAgICByYWlzZSBFeGNl cHRpb24oIkNvdWxkIG5vdCBjb25uZWN0IHRvIGRhdGFiYXNlIHRvIGFkZCBhICIKICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAiaW5kZXggY29uc3RyYWludChwcmltYXJ5IGtleSBvciB1bmlx dWUga2V5KS4iKQotICAgICAgICBjbHMuc2NoZW1hX2lkID0gc2NoZW1hX2luZm9bInNjaGVtYV9p ZCJdCi0gICAgICAgIGNscy5zY2hlbWFfbmFtZSA9IHNjaGVtYV9pbmZvWyJzY2hlbWFfbmFtZSJd Ci0gICAgICAgIHNjaGVtYV9yZXNwb25zZSA9IHNjaGVtYV91dGlscy52ZXJpZnlfc2NoZW1hcyhj bHMuc2VydmVyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgY2xzLmRiX25hbWUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBjbHMuc2NoZW1hX25hbWUpCisgICAgICAgIHNlbGYuc2NoZW1h X2lkID0gc2NoZW1hX2luZm9bInNjaGVtYV9pZCJdCisgICAgICAgIHNlbGYuc2NoZW1hX25hbWUg PSBzY2hlbWFfaW5mb1sic2NoZW1hX25hbWUiXQorICAgICAgICBzY2hlbWFfcmVzcG9uc2UgPSBz Y2hlbWFfdXRpbHMudmVyaWZ5X3NjaGVtYXMoc2VsZi5zZXJ2ZXIsCisgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLmRiX25hbWUsCisgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLnNj aGVtYV9uYW1lKQogICAgICAgICBpZiBub3Qgc2NoZW1hX3Jlc3BvbnNlOgogICAgICAgICAgICAg cmFpc2UgRXhjZXB0aW9uKCJDb3VsZCBub3QgZmluZCB0aGUgc2NoZW1hIHRvIGFkZCBhIGluZGV4 ICIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiY29uc3RyYWludChwcmltYXJ5IGtleSBv ciB1bmlxdWUga2V5KS4iKQotICAgICAgICBjbHMudGFibGVfbmFtZSA9ICJ0YWJsZV9pbmRleGNv bnN0cmFpbnRfJXMiICUgXAotICAgICAgICAgICAgICAgICAgICAgICAgIChzdHIodXVpZC51dWlk NCgpKVsxOjhdKQotICAgICAgICBjbHMudGFibGVfaWQgPSB0YWJsZXNfdXRpbHMuY3JlYXRlX3Rh YmxlKGNscy5zZXJ2ZXIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgY2xzLmRiX25hbWUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgY2xzLnNjaGVtYV9uYW1lLAotICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIGNscy50YWJsZV9uYW1lKQorICAgICAgICBzZWxmLnRh YmxlX25hbWUgPSAidGFibGVfaW5kZXhjb25zdHJhaW50XyVzIiAlIFwKKyAgICAgICAgICAgICAg ICAgICAgICAgICAgKHN0cih1dWlkLnV1aWQ0KCkpWzE6OF0pCisgICAgICAgIHNlbGYudGFibGVf aWQgPSB0YWJsZXNfdXRpbHMuY3JlYXRlX3RhYmxlKHNlbGYuc2VydmVyLAorICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLmRiX25hbWUsCisgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYuc2NoZW1h X25hbWUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IHNlbGYudGFibGVfbmFtZSkKIAogICAgIGRlZiBydW5UZXN0KHNlbGYpOgogICAgICAgICAiIiJU aGlzIGZ1bmN0aW9uIHdpbGwgZGVsZXRlIGluZGV4IGNvbnN0cmFpbnQocHJpbWFyeSBrZXkgb3IK QEAgLTgxLDcgKzgwLDYgQEAgY2xhc3MgSW5kZXhDb25zdHJhaW50RGVsZXRlVGVzdENhc2UoQmFz ZVRlc3RHZW5lcmF0b3IpOgogICAgICAgICApCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWxzKHJl c3BvbnNlLnN0YXR1c19jb2RlLCAyMDApCiAKLSAgICBAY2xhc3NtZXRob2QKLSAgICBkZWYgdGVh ckRvd25DbGFzcyhjbHMpOgorICAgIGRlZiB0ZWFyRG93bihzZWxmKToKICAgICAgICAgIyBEaXNj b25uZWN0IHRoZSBkYXRhYmFzZQotICAgICAgICBkYXRhYmFzZV91dGlscy5kaXNjb25uZWN0X2Rh dGFiYXNlKGNscywgY2xzLnNlcnZlcl9pZCwgY2xzLmRiX2lkKQorICAgICAgICBkYXRhYmFzZV91 dGlscy5kaXNjb25uZWN0X2RhdGFiYXNlKHNlbGYsIHNlbGYuc2VydmVyX2lkLCBzZWxmLmRiX2lk KQpkaWZmIC0tZ2l0IGEvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMv ZGF0YWJhc2VzL3NjaGVtYXMvdGFibGVzL2NvbnN0cmFpbnRzL2luZGV4X2NvbnN0cmFpbnQvdGVz dHMvdGVzdF9pbmRleF9jb25zdHJhaW50X2dldC5weSBiL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2Vy dmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy9zY2hlbWFzL3RhYmxlcy9jb25zdHJhaW50cy9p bmRleF9jb25zdHJhaW50L3Rlc3RzL3Rlc3RfaW5kZXhfY29uc3RyYWludF9nZXQucHkKaW5kZXgg YzA4YzJhYy4uZjgzOGEyZiAxMDA2NDQKLS0tIGEvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJf Z3JvdXBzL3NlcnZlcnMvZGF0YWJhc2VzL3NjaGVtYXMvdGFibGVzL2NvbnN0cmFpbnRzL2luZGV4 X2NvbnN0cmFpbnQvdGVzdHMvdGVzdF9pbmRleF9jb25zdHJhaW50X2dldC5weQorKysgYi93ZWIv cGdhZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy9kYXRhYmFzZXMvc2NoZW1hcy90 YWJsZXMvY29uc3RyYWludHMvaW5kZXhfY29uc3RyYWludC90ZXN0cy90ZXN0X2luZGV4X2NvbnN0 cmFpbnRfZ2V0LnB5CkBAIC0zOCwzMSArMzgsMzAgQEAgY2xhc3MgSW5kZXhDb25zdHJhaW50R2V0 VGVzdENhc2UoQmFzZVRlc3RHZW5lcmF0b3IpOgogICAgICAgICAgICAgICB0eXBlPSJVTklRVUUi KSkKICAgICBdCiAKLSAgICBAY2xhc3NtZXRob2QKLSAgICBkZWYgc2V0VXBDbGFzcyhjbHMpOgot ICAgICAgICBjbHMuZGJfbmFtZSA9IHBhcmVudF9ub2RlX2RpY3RbImRhdGFiYXNlIl1bLTFdWyJk Yl9uYW1lIl0KKyAgICBkZWYgc2V0VXAoc2VsZik6CisgICAgICAgIHNlbGYuZGJfbmFtZSA9IHBh cmVudF9ub2RlX2RpY3RbImRhdGFiYXNlIl1bLTFdWyJkYl9uYW1lIl0KICAgICAgICAgc2NoZW1h X2luZm8gPSBwYXJlbnRfbm9kZV9kaWN0WyJzY2hlbWEiXVstMV0KLSAgICAgICAgY2xzLnNlcnZl cl9pZCA9IHNjaGVtYV9pbmZvWyJzZXJ2ZXJfaWQiXQotICAgICAgICBjbHMuZGJfaWQgPSBzY2hl bWFfaW5mb1siZGJfaWQiXQotICAgICAgICBkYl9jb24gPSBkYXRhYmFzZV91dGlscy5jb25uZWN0 X2RhdGFiYXNlKGNscywgdXRpbHMuU0VSVkVSX0dST1VQLAotICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNscy5zZXJ2ZXJfaWQsIGNscy5kYl9pZCkKKyAg ICAgICAgc2VsZi5zZXJ2ZXJfaWQgPSBzY2hlbWFfaW5mb1sic2VydmVyX2lkIl0KKyAgICAgICAg c2VsZi5kYl9pZCA9IHNjaGVtYV9pbmZvWyJkYl9pZCJdCisgICAgICAgIGRiX2NvbiA9IGRhdGFi YXNlX3V0aWxzLmNvbm5lY3RfZGF0YWJhc2Uoc2VsZiwgdXRpbHMuU0VSVkVSX0dST1VQLAorICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYuc2VydmVy X2lkLCBzZWxmLmRiX2lkKQogICAgICAgICBpZiBub3QgZGJfY29uWydkYXRhJ11bImNvbm5lY3Rl ZCJdOgogICAgICAgICAgICAgcmFpc2UgRXhjZXB0aW9uKCJDb3VsZCBub3QgY29ubmVjdCB0byBk YXRhYmFzZSB0byBhZGQgYSAiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImluZGV4IGNv bnN0cmFpbnQocHJpbWFyeSBrZXkgb3IgdW5pcXVlIGtleSkuIikKLSAgICAgICAgY2xzLnNjaGVt YV9pZCA9IHNjaGVtYV9pbmZvWyJzY2hlbWFfaWQiXQotICAgICAgICBjbHMuc2NoZW1hX25hbWUg PSBzY2hlbWFfaW5mb1sic2NoZW1hX25hbWUiXQotICAgICAgICBzY2hlbWFfcmVzcG9uc2UgPSBz Y2hlbWFfdXRpbHMudmVyaWZ5X3NjaGVtYXMoY2xzLnNlcnZlciwKLSAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNscy5kYl9uYW1lLAotICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xzLnNjaGVt YV9uYW1lKQorICAgICAgICBzZWxmLnNjaGVtYV9pZCA9IHNjaGVtYV9pbmZvWyJzY2hlbWFfaWQi XQorICAgICAgICBzZWxmLnNjaGVtYV9uYW1lID0gc2NoZW1hX2luZm9bInNjaGVtYV9uYW1lIl0K KyAgICAgICAgc2NoZW1hX3Jlc3BvbnNlID0gc2NoZW1hX3V0aWxzLnZlcmlmeV9zY2hlbWFzKHNl bGYuc2VydmVyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgc2VsZi5kYl9uYW1lLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgc2VsZi5zY2hlbWFfbmFtZSkKICAgICAgICAgaWYgbm90IHNj aGVtYV9yZXNwb25zZToKICAgICAgICAgICAgIHJhaXNlIEV4Y2VwdGlvbigiQ291bGQgbm90IGZp bmQgdGhlIHNjaGVtYSB0byBhZGQgYSBpbmRleCAiCiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgImNvbnN0cmFpbnQocHJpbWFyeSBrZXkgb3IgdW5pcXVlIGtleSkuIikKLSAgICAgICAgY2xz LnRhYmxlX25hbWUgPSAidGFibGVfaW5kZXhjb25zdHJhaW50XyVzIiAlIFwKLSAgICAgICAgICAg ICAgICAgICAgICAgICAoc3RyKHV1aWQudXVpZDQoKSlbMTo4XSkKLSAgICAgICAgY2xzLnRhYmxl X2lkID0gdGFibGVzX3V0aWxzLmNyZWF0ZV90YWJsZShjbHMuc2VydmVyLAotICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNscy5kYl9uYW1lLAotICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNscy5zY2hlbWFfbmFt ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbHMu dGFibGVfbmFtZSkKKyAgICAgICAgc2VsZi50YWJsZV9uYW1lID0gInRhYmxlX2luZGV4Y29uc3Ry YWludF8lcyIgJSBcCisgICAgICAgICAgICAgICAgICAgICAgICAgIChzdHIodXVpZC51dWlkNCgp KVsxOjhdKQorICAgICAgICBzZWxmLnRhYmxlX2lkID0gdGFibGVzX3V0aWxzLmNyZWF0ZV90YWJs ZShzZWxmLnNlcnZlciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgc2VsZi5kYl9uYW1lLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBzZWxmLnNjaGVtYV9uYW1lLAorICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLnRhYmxlX25hbWUpCiAKICAgICBkZWYg cnVuVGVzdChzZWxmKToKICAgICAgICAgIiIiVGhpcyBmdW5jdGlvbiB3aWxsIGZldGNoIHRoZSBp bmRleCBjb25zdHJhaW50KHByaW1hcnkga2V5IG9yCkBAIC04MSw3ICs4MCw2IEBAIGNsYXNzIElu ZGV4Q29uc3RyYWludEdldFRlc3RDYXNlKEJhc2VUZXN0R2VuZXJhdG9yKToKICAgICAgICAgKQog ICAgICAgICBzZWxmLmFzc2VydEVxdWFscyhyZXNwb25zZS5zdGF0dXNfY29kZSwgMjAwKQogCi0g ICAgQGNsYXNzbWV0aG9kCi0gICAgZGVmIHRlYXJEb3duQ2xhc3MoY2xzKToKKyAgICBkZWYgdGVh ckRvd24oc2VsZik6CiAgICAgICAgICMgRGlzY29ubmVjdCB0aGUgZGF0YWJhc2UKLSAgICAgICAg ZGF0YWJhc2VfdXRpbHMuZGlzY29ubmVjdF9kYXRhYmFzZShjbHMsIGNscy5zZXJ2ZXJfaWQsIGNs cy5kYl9pZCkKKyAgICAgICAgZGF0YWJhc2VfdXRpbHMuZGlzY29ubmVjdF9kYXRhYmFzZShzZWxm LCBzZWxmLnNlcnZlcl9pZCwgc2VsZi5kYl9pZCkKZGlmZiAtLWdpdCBhL3dlYi9wZ2FkbWluL2Jy b3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy9zY2hlbWFzL3RhYmxlcy9jb25z dHJhaW50cy9pbmRleF9jb25zdHJhaW50L3Rlc3RzL3Rlc3RfaW5kZXhfY29uc3RyYWludF9wdXQu cHkgYi93ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy9kYXRhYmFzZXMv c2NoZW1hcy90YWJsZXMvY29uc3RyYWludHMvaW5kZXhfY29uc3RyYWludC90ZXN0cy90ZXN0X2lu ZGV4X2NvbnN0cmFpbnRfcHV0LnB5CmluZGV4IDg3Mjg5YTYuLjZiZGY3MDMgMTAwNjQ0Ci0tLSBh L3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy9zY2hl bWFzL3RhYmxlcy9jb25zdHJhaW50cy9pbmRleF9jb25zdHJhaW50L3Rlc3RzL3Rlc3RfaW5kZXhf Y29uc3RyYWludF9wdXQucHkKKysrIGIvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBz L3NlcnZlcnMvZGF0YWJhc2VzL3NjaGVtYXMvdGFibGVzL2NvbnN0cmFpbnRzL2luZGV4X2NvbnN0 cmFpbnQvdGVzdHMvdGVzdF9pbmRleF9jb25zdHJhaW50X3B1dC5weQpAQCAtNDAsMzEgKzQwLDMw IEBAIGNsYXNzIEluZGV4Q29uc3RyYWludFVwZGF0ZVRlc3RDYXNlKEJhc2VUZXN0R2VuZXJhdG9y KToKICAgICAgICAgICAgICAgdHlwZT0iVU5JUVVFIiwgZGF0YT1kYXRhKSkKICAgICBdCiAKLSAg ICBAY2xhc3NtZXRob2QKLSAgICBkZWYgc2V0VXBDbGFzcyhjbHMpOgotICAgICAgICBjbHMuZGJf bmFtZSA9IHBhcmVudF9ub2RlX2RpY3RbImRhdGFiYXNlIl1bLTFdWyJkYl9uYW1lIl0KKyAgICBk ZWYgc2V0VXAoc2VsZik6CisgICAgICAgIHNlbGYuZGJfbmFtZSA9IHBhcmVudF9ub2RlX2RpY3Rb ImRhdGFiYXNlIl1bLTFdWyJkYl9uYW1lIl0KICAgICAgICAgc2NoZW1hX2luZm8gPSBwYXJlbnRf bm9kZV9kaWN0WyJzY2hlbWEiXVstMV0KLSAgICAgICAgY2xzLnNlcnZlcl9pZCA9IHNjaGVtYV9p bmZvWyJzZXJ2ZXJfaWQiXQotICAgICAgICBjbHMuZGJfaWQgPSBzY2hlbWFfaW5mb1siZGJfaWQi XQotICAgICAgICBkYl9jb24gPSBkYXRhYmFzZV91dGlscy5jb25uZWN0X2RhdGFiYXNlKGNscywg dXRpbHMuU0VSVkVSX0dST1VQLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIGNscy5zZXJ2ZXJfaWQsIGNscy5kYl9pZCkKKyAgICAgICAgc2VsZi5zZXJ2 ZXJfaWQgPSBzY2hlbWFfaW5mb1sic2VydmVyX2lkIl0KKyAgICAgICAgc2VsZi5kYl9pZCA9IHNj aGVtYV9pbmZvWyJkYl9pZCJdCisgICAgICAgIGRiX2NvbiA9IGRhdGFiYXNlX3V0aWxzLmNvbm5l Y3RfZGF0YWJhc2Uoc2VsZiwgdXRpbHMuU0VSVkVSX0dST1VQLAorICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYuc2VydmVyX2lkLCBzZWxmLmRiX2lk KQogICAgICAgICBpZiBub3QgZGJfY29uWydkYXRhJ11bImNvbm5lY3RlZCJdOgogICAgICAgICAg ICAgcmFpc2UgRXhjZXB0aW9uKCJDb3VsZCBub3QgY29ubmVjdCB0byBkYXRhYmFzZSB0byBhZGQg YSAiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImluZGV4IGNvbnN0cmFpbnQocHJpbWFy eSBrZXkgb3IgdW5pcXVlIGtleSkuIikKLSAgICAgICAgY2xzLnNjaGVtYV9pZCA9IHNjaGVtYV9p bmZvWyJzY2hlbWFfaWQiXQotICAgICAgICBjbHMuc2NoZW1hX25hbWUgPSBzY2hlbWFfaW5mb1si c2NoZW1hX25hbWUiXQotICAgICAgICBzY2hlbWFfcmVzcG9uc2UgPSBzY2hlbWFfdXRpbHMudmVy aWZ5X3NjaGVtYXMoY2xzLnNlcnZlciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIGNscy5kYl9uYW1lLAotICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xzLnNjaGVtYV9uYW1lKQorICAgICAg ICBzZWxmLnNjaGVtYV9pZCA9IHNjaGVtYV9pbmZvWyJzY2hlbWFfaWQiXQorICAgICAgICBzZWxm LnNjaGVtYV9uYW1lID0gc2NoZW1hX2luZm9bInNjaGVtYV9uYW1lIl0KKyAgICAgICAgc2NoZW1h X3Jlc3BvbnNlID0gc2NoZW1hX3V0aWxzLnZlcmlmeV9zY2hlbWFzKHNlbGYuc2VydmVyLAorICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5k Yl9uYW1lLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgc2VsZi5zY2hlbWFfbmFtZSkKICAgICAgICAgaWYgbm90IHNjaGVtYV9yZXNwb25zZToK ICAgICAgICAgICAgIHJhaXNlIEV4Y2VwdGlvbigiQ291bGQgbm90IGZpbmQgdGhlIHNjaGVtYSB0 byBhZGQgYSBpbmRleCAiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImNvbnN0cmFpbnQo cHJpbWFyeSBrZXkgb3IgdW5pcXVlIGtleSkuIikKLSAgICAgICAgY2xzLnRhYmxlX25hbWUgPSAi dGFibGVfaW5kZXhjb25zdHJhaW50XyVzIiAlIFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAo c3RyKHV1aWQudXVpZDQoKSlbMTo4XSkKLSAgICAgICAgY2xzLnRhYmxlX2lkID0gdGFibGVzX3V0 aWxzLmNyZWF0ZV90YWJsZShjbHMuc2VydmVyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIGNscy5kYl9uYW1lLAotICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNscy5zY2hlbWFfbmFtZSwKLSAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbHMudGFibGVfbmFtZSkKKyAg ICAgICAgc2VsZi50YWJsZV9uYW1lID0gInRhYmxlX2luZGV4Y29uc3RyYWludF8lcyIgJSBcCisg ICAgICAgICAgICAgICAgICAgICAgICAgIChzdHIodXVpZC51dWlkNCgpKVsxOjhdKQorICAgICAg ICBzZWxmLnRhYmxlX2lkID0gdGFibGVzX3V0aWxzLmNyZWF0ZV90YWJsZShzZWxmLnNlcnZlciwK KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5k Yl9uYW1lLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBzZWxmLnNjaGVtYV9uYW1lLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBzZWxmLnRhYmxlX25hbWUpCiAKICAgICBkZWYgcnVuVGVzdChzZWxmKToK ICAgICAgICAgIiIiVGhpcyBmdW5jdGlvbiB3aWxsIHVwZGF0ZSBpbmRleCBjb25zdHJhaW50KHBy aW1hcnkga2V5IG9yCkBAIC04NCw3ICs4Myw2IEBAIGNsYXNzIEluZGV4Q29uc3RyYWludFVwZGF0 ZVRlc3RDYXNlKEJhc2VUZXN0R2VuZXJhdG9yKToKICAgICAgICAgICAgIGZvbGxvd19yZWRpcmVj dHM9VHJ1ZSkKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbHMocmVzcG9uc2Uuc3RhdHVzX2NvZGUs IDIwMCkKIAotICAgIEBjbGFzc21ldGhvZAotICAgIGRlZiB0ZWFyRG93bkNsYXNzKGNscyk6Cisg ICAgZGVmIHRlYXJEb3duKHNlbGYpOgogICAgICAgICAjIERpc2Nvbm5lY3QgdGhlIGRhdGFiYXNl Ci0gICAgICAgIGRhdGFiYXNlX3V0aWxzLmRpc2Nvbm5lY3RfZGF0YWJhc2UoY2xzLCBjbHMuc2Vy dmVyX2lkLCBjbHMuZGJfaWQpCisgICAgICAgIGRhdGFiYXNlX3V0aWxzLmRpc2Nvbm5lY3RfZGF0 YWJhc2Uoc2VsZiwgc2VsZi5zZXJ2ZXJfaWQsIHNlbGYuZGJfaWQpCmRpZmYgLS1naXQgYS93ZWIv cGdhZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy9kYXRhYmFzZXMvc2NoZW1hcy90 YWJsZXMvdGVzdHMvdGVzdF90YWJsZV9wYXJhbWV0ZXJzLnB5IGIvd2ViL3BnYWRtaW4vYnJvd3Nl ci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJhc2VzL3NjaGVtYXMvdGFibGVzL3Rlc3RzL3Rl c3RfdGFibGVfcGFyYW1ldGVycy5weQppbmRleCBiYmVkMjY5Li4wMjIwM2QyIDEwMDY0NAotLS0g YS93ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy9kYXRhYmFzZXMvc2No ZW1hcy90YWJsZXMvdGVzdHMvdGVzdF90YWJsZV9wYXJhbWV0ZXJzLnB5CisrKyBiL3dlYi9wZ2Fk bWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy9zY2hlbWFzL3RhYmxl cy90ZXN0cy90ZXN0X3RhYmxlX3BhcmFtZXRlcnMucHkKQEAgLTQ2LDggKzQ2LDkgQEAgY2xhc3Mg VGFibGVVcGRhdGVQYXJhbWV0ZXJUZXN0Q2FzZShCYXNlVGVzdEdlbmVyYXRvcik6CiAgICAgICAg ICApCiAgICAgXQogCi0gICAgQGNsYXNzbWV0aG9kCi0gICAgZGVmIHNldFVwQ2xhc3Moc2VsZik6 CisgICAgdGFibGVfbmFtZSA9ICJ0ZXN0X3RhYmxlX3BhcmFtZXRlcnNfJXMiICUgKHN0cih1dWlk LnV1aWQ0KCkpWzE6OF0pCisKKyAgICBkZWYgc2V0VXAoc2VsZik6CiAgICAgICAgIHNlbGYuZGJf bmFtZSA9IHBhcmVudF9ub2RlX2RpY3RbImRhdGFiYXNlIl1bLTFdWyJkYl9uYW1lIl0KICAgICAg ICAgc2NoZW1hX2luZm8gPSBwYXJlbnRfbm9kZV9kaWN0WyJzY2hlbWEiXVstMV0KICAgICAgICAg c2VsZi5zZXJ2ZXJfaWQgPSBzY2hlbWFfaW5mb1sic2VydmVyX2lkIl0KQEAgLTYzLDEyICs2NCwx NCBAQCBjbGFzcyBUYWJsZVVwZGF0ZVBhcmFtZXRlclRlc3RDYXNlKEJhc2VUZXN0R2VuZXJhdG9y KToKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IHNlbGYuc2NoZW1hX25hbWUpCiAgICAgICAgIGlmIG5vdCBzY2hlbWFfcmVzcG9uc2U6CiAgICAg ICAgICAgICByYWlzZSBFeGNlcHRpb24oIkNvdWxkIG5vdCBmaW5kIHRoZSBzY2hlbWEgdG8gYWRk IGEgdGFibGUuIikKLSAgICAgICAgc2VsZi50YWJsZV9uYW1lID0gInRlc3RfdGFibGVfcGFyYW1l dGVyc18lcyIgJSAoc3RyKHV1aWQudXVpZDQoKSlbMTo4XSkKIAotICAgICAgICBzZWxmLnRhYmxl X2lkID0gdGFibGVzX3V0aWxzLmNyZWF0ZV90YWJsZSgKLSAgICAgICAgICAgIHNlbGYuc2VydmVy LCBzZWxmLmRiX25hbWUsCi0gICAgICAgICAgICBzZWxmLnNjaGVtYV9uYW1lLAotICAgICAgICAg ICAgc2VsZi50YWJsZV9uYW1lKQorICAgICAgICBzZWxmLnRhYmxlX2lkID0gdGFibGVzX3V0aWxz LmdldF90YWJsZV9pZChzZWxmLnNlcnZlciwgc2VsZi5kYl9uYW1lLAorICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLnRhYmxlX25hbWUpCisgICAg ICAgIGlmIHNlbGYudGFibGVfaWQgaXMgTm9uZToKKyAgICAgICAgICAgIHNlbGYudGFibGVfaWQg PSB0YWJsZXNfdXRpbHMuY3JlYXRlX3RhYmxlKAorICAgICAgICAgICAgICAgIHNlbGYuc2VydmVy LCBzZWxmLmRiX25hbWUsCisgICAgICAgICAgICAgICAgc2VsZi5zY2hlbWFfbmFtZSwKKyAgICAg ICAgICAgICAgICBzZWxmLnRhYmxlX25hbWUpCiAKICAgICBkZWYgcnVuVGVzdChzZWxmKToKICAg ICAgICAgIiIiVGhpcyBmdW5jdGlvbiB3aWxsIGZldGNoIGFkZGVkIHRhYmxlIHVuZGVyIHNjaGVt YSBub2RlLiIiIgpAQCAtMTMwLDcgKzEzMyw2IEBAIGNsYXNzIFRhYmxlVXBkYXRlUGFyYW1ldGVy VGVzdENhc2UoQmFzZVRlc3RHZW5lcmF0b3IpOgogICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBmb2xsb3dfcmVkaXJlY3RzPVRydWUpCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWxz KHJlc3BvbnNlLnN0YXR1c19jb2RlLCAyMDApCiAKLSAgICBAY2xhc3NtZXRob2QKLSAgICBkZWYg dGVhckRvd25DbGFzcyhzZWxmKToKKyAgICBkZWYgdGVhckRvd24oc2VsZik6CiAgICAgICAgICMg RGlzY29ubmVjdCB0aGUgZGF0YWJhc2UKICAgICAgICAgZGF0YWJhc2VfdXRpbHMuZGlzY29ubmVj dF9kYXRhYmFzZShzZWxmLCBzZWxmLnNlcnZlcl9pZCwgc2VsZi5kYl9pZCkKZGlmZiAtLWdpdCBh L3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy9zY2hl bWFzL3RhYmxlcy90ZXN0cy91dGlscy5weSBiL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dy b3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy9zY2hlbWFzL3RhYmxlcy90ZXN0cy91dGlscy5weQppbmRl eCAwYTI5NjNhLi44ZTVmNjY1IDEwMDY0NAotLS0gYS93ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZl cl9ncm91cHMvc2VydmVycy9kYXRhYmFzZXMvc2NoZW1hcy90YWJsZXMvdGVzdHMvdXRpbHMucHkK KysrIGIvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJhc2Vz L3NjaGVtYXMvdGFibGVzL3Rlc3RzL3V0aWxzLnB5CkBAIC00ODMsMyArNDgzLDI2IEBAIGRlZiBn ZXRfaGFzaF9wYXJ0aXRpb25zX2RhdGEoZGF0YSk6CiAgICAgICAgICAgfV0KICAgICBkYXRhWydw YXJ0aXRpb25fa2V5cyddID0gXAogICAgICAgICBbeydrZXlfdHlwZSc6ICdjb2x1bW4nLCAncHRf Y29sdW1uJzogJ2VtcG5vJ31dCisKKworZGVmIGdldF90YWJsZV9pZChzZXJ2ZXIsIGRiX25hbWUs IHRhYmxlX25hbWUpOgorICAgIHRyeToKKyAgICAgICAgY29ubmVjdGlvbiA9IHV0aWxzLmdldF9k Yl9jb25uZWN0aW9uKGRiX25hbWUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBzZXJ2ZXJbJ3VzZXJuYW1lJ10sCisgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBzZXJ2ZXJbJ2RiX3Bhc3N3b3JkJ10sCisgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZXJ2ZXJbJ2hvc3QnXSwKKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlcnZlclsncG9ydCddLAorICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VydmVyWydzc2xtb2Rl J10pCisgICAgICAgIHBnX2N1cnNvciA9IGNvbm5lY3Rpb24uY3Vyc29yKCkKKyAgICAgICAgcGdf Y3Vyc29yLmV4ZWN1dGUoInNlbGVjdCBvaWQgZnJvbSBwZ19jbGFzcyB3aGVyZSByZWxuYW1lPScl cyciICUKKyAgICAgICAgICAgICAgICAgICAgICAgICAgdGFibGVfbmFtZSkKKyAgICAgICAgdGFi bGUgPSBwZ19jdXJzb3IuZmV0Y2hvbmUoKQorICAgICAgICBpZiB0YWJsZToKKyAgICAgICAgICAg IHRhYmxlX2lkID0gdGFibGVbMF0KKyAgICAgICAgZWxzZToKKyAgICAgICAgICAgIHRhYmxlX2lk ID0gTm9uZQorICAgICAgICBjb25uZWN0aW9uLmNsb3NlKCkKKyAgICAgICAgcmV0dXJuIHRhYmxl X2lkCisgICAgZXhjZXB0IEV4Y2VwdGlvbjoKKyAgICAgICAgdHJhY2ViYWNrLnByaW50X2V4Yyhm aWxlPXN5cy5zdGRlcnIpCisgICAgICAgIHJhaXNlCmRpZmYgLS1naXQgYS93ZWIvcGdhZG1pbi9i cm93c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy9kYXRhYmFzZXMvc2NoZW1hcy92aWV3cy90ZXN0 cy90ZXN0X212aWV3c19wYXJhbWV0ZXJzLnB5IGIvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJf Z3JvdXBzL3NlcnZlcnMvZGF0YWJhc2VzL3NjaGVtYXMvdmlld3MvdGVzdHMvdGVzdF9tdmlld3Nf cGFyYW1ldGVycy5weQppbmRleCBjODQyNzZlLi4xZjYzZWY1IDEwMDY0NAotLS0gYS93ZWIvcGdh ZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy9kYXRhYmFzZXMvc2NoZW1hcy92aWV3 cy90ZXN0cy90ZXN0X212aWV3c19wYXJhbWV0ZXJzLnB5CisrKyBiL3dlYi9wZ2FkbWluL2Jyb3dz ZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy9zY2hlbWFzL3ZpZXdzL3Rlc3RzL3Rl c3RfbXZpZXdzX3BhcmFtZXRlcnMucHkKQEAgLTQ1LDggKzQ1LDkgQEAgY2xhc3MgTVZpZXdzVXBk YXRlUGFyYW1ldGVyVGVzdENhc2UoQmFzZVRlc3RHZW5lcmF0b3IpOgogICAgICAgICAgKQogICAg IF0KIAotICAgIEBjbGFzc21ldGhvZAotICAgIGRlZiBzZXRVcENsYXNzKHNlbGYpOgorICAgIG1f dmlld19uYW1lID0gInRlc3RfbXZpZXdfcHV0XyVzIiAlIChzdHIodXVpZC51dWlkNCgpKVsxOjhd KQorCisgICAgZGVmIHNldFVwKHNlbGYpOgogICAgICAgICBzZWxmLmRiX25hbWUgPSBwYXJlbnRf bm9kZV9kaWN0WyJkYXRhYmFzZSJdWy0xXVsiZGJfbmFtZSJdCiAgICAgICAgIHNjaGVtYV9pbmZv ID0gcGFyZW50X25vZGVfZGljdFsic2NoZW1hIl1bLTFdCiAgICAgICAgIHNlbGYuc2VydmVyX2lk ID0gc2NoZW1hX2luZm9bInNlcnZlcl9pZCJdCkBAIC03MCwxNyArNzEsMTkgQEAgY2xhc3MgTVZp ZXdzVXBkYXRlUGFyYW1ldGVyVGVzdENhc2UoQmFzZVRlc3RHZW5lcmF0b3IpOgogICAgICAgICBp ZiBub3Qgc2NoZW1hX3Jlc3BvbnNlOgogICAgICAgICAgICAgcmFpc2UgRXhjZXB0aW9uKCJDb3Vs ZCBub3QgZmluZCB0aGUgc2NoZW1hIHRvIHVwZGF0ZSBhIG12aWV3LiIpCiAKLSAgICAgICAgc2Vs Zi5tX3ZpZXdfbmFtZSA9ICJ0ZXN0X212aWV3X3B1dF8lcyIgJSAoc3RyKHV1aWQudXVpZDQoKSlb MTo4XSkKLSAgICAgICAgbV92aWV3X3NxbCA9ICJDUkVBVEUgTUFURVJJQUxJWkVEIFZJRVcgJXMu JXMgVEFCTEVTUEFDRSBwZ19kZWZhdWx0ICIgXAotICAgICAgICAgICAgICAgICAgICAgIkFTIFNF TEVDVCAndGVzdF9wZ2FkbWluJyBXSVRIIE5PIERBVEE7QUxURVIgVEFCTEUgIiBcCi0gICAgICAg ICAgICAgICAgICAgICAiJXMuJXMgT1dORVIgVE8gJXMiCi0KLSAgICAgICAgc2VsZi5tX3ZpZXdf aWQgPSB2aWV3c191dGlscy5jcmVhdGVfdmlldyhzZWxmLnNlcnZlciwKLSAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLmRiX25hbWUsCi0gICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5zY2hlbWFfbmFt ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtX3Zp ZXdfc3FsLAorICAgICAgICBzZWxmLm1fdmlld19pZCA9IHZpZXdzX3V0aWxzLmdldF92aWV3X2lk KHNlbGYuc2VydmVyLCBzZWxmLmRiX25hbWUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgc2VsZi5tX3ZpZXdfbmFtZSkKIAorICAgICAgICBpZiBzZWxm Lm1fdmlld19pZCBpcyBOb25lOgorICAgICAgICAgICAgbV92aWV3X3NxbCA9ICJDUkVBVEUgTUFU RVJJQUxJWkVEIFZJRVcgJXMuJXMgVEFCTEVTUEFDRSAiIFwKKyAgICAgICAgICAgICAgICAgICAg ICAgICAicGdfZGVmYXVsdCBBUyBTRUxFQ1QgJ3Rlc3RfcGdhZG1pbicgV0lUSCBOTyAiIFwKKyAg ICAgICAgICAgICAgICAgICAgICAgICAiREFUQTtBTFRFUiBUQUJMRSAlcy4lcyBPV05FUiBUTyAl cyIKKyAgICAgICAgICAgIHNlbGYubV92aWV3X2lkID0gdmlld3NfdXRpbHMuY3JlYXRlX3ZpZXco c2VsZi5zZXJ2ZXIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIHNlbGYuZGJfbmFtZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgc2VsZi5zY2hlbWFfbmFtZSwKKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbV92aWV3X3NxbCwKKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5tX3ZpZXdf bmFtZSkKKwogICAgIGRlZiBydW5UZXN0KHNlbGYpOgogICAgICAgICAiIiJUaGlzIGZ1bmN0aW9u IHdpbGwgdXBkYXRlIHRoZSB2aWV3L212aWV3IHVuZGVyIHNjaGVtYSBub2RlLiIiIgogICAgICAg ICBtdmlld19yZXNwb25zZSA9IHZpZXdzX3V0aWxzLnZlcmlmeV92aWV3KHNlbGYuc2VydmVyLCBz ZWxmLmRiX25hbWUsCkBAIC0xNDEsNyArMTQ0LDYgQEAgY2xhc3MgTVZpZXdzVXBkYXRlUGFyYW1l dGVyVGVzdENhc2UoQmFzZVRlc3RHZW5lcmF0b3IpOgogICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBmb2xsb3dfcmVkaXJlY3RzPVRydWUpCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1 YWxzKHJlc3BvbnNlLnN0YXR1c19jb2RlLCAyMDApCiAKLSAgICBAY2xhc3NtZXRob2QKLSAgICBk ZWYgdGVhckRvd25DbGFzcyhzZWxmKToKKyAgICBkZWYgdGVhckRvd24oc2VsZik6CiAgICAgICAg ICMgRGlzY29ubmVjdCB0aGUgZGF0YWJhc2UKICAgICAgICAgZGF0YWJhc2VfdXRpbHMuZGlzY29u bmVjdF9kYXRhYmFzZShzZWxmLCBzZWxmLnNlcnZlcl9pZCwgc2VsZi5kYl9pZCkKZGlmZiAtLWdp dCBhL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy9z Y2hlbWFzL3ZpZXdzL3Rlc3RzL3Rlc3RfbXZpZXdzX3JlZnJlc2gucHkgYi93ZWIvcGdhZG1pbi9i cm93c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy9kYXRhYmFzZXMvc2NoZW1hcy92aWV3cy90ZXN0 cy90ZXN0X212aWV3c19yZWZyZXNoLnB5CmluZGV4IGI2YzBiYWQuLjNiNDA1NWYgMTAwNjQ0Ci0t LSBhL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy9z Y2hlbWFzL3ZpZXdzL3Rlc3RzL3Rlc3RfbXZpZXdzX3JlZnJlc2gucHkKKysrIGIvd2ViL3BnYWRt aW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJhc2VzL3NjaGVtYXMvdmlld3Mv dGVzdHMvdGVzdF9tdmlld3NfcmVmcmVzaC5weQpAQCAtNDgsOCArNDgsNyBAQCBjbGFzcyBNVmll d3NVcGRhdGVQYXJhbWV0ZXJUZXN0Q2FzZShCYXNlVGVzdEdlbmVyYXRvcik6CiAgICAgICAgICAp LAogICAgIF0KIAotICAgIEBjbGFzc21ldGhvZAotICAgIGRlZiBzZXRVcENsYXNzKHNlbGYpOgor ICAgIGRlZiBzZXRVcChzZWxmKToKICAgICAgICAgc2VsZi5kYl9uYW1lID0gcGFyZW50X25vZGVf ZGljdFsiZGF0YWJhc2UiXVstMV1bImRiX25hbWUiXQogICAgICAgICBzY2hlbWFfaW5mbyA9IHBh cmVudF9ub2RlX2RpY3RbInNjaGVtYSJdWy0xXQogICAgICAgICBzZWxmLnNlcnZlcl9pZCA9IHNj aGVtYV9pbmZvWyJzZXJ2ZXJfaWQiXQpAQCAtMTQzLDcgKzE0Miw2IEBAIGNsYXNzIE1WaWV3c1Vw ZGF0ZVBhcmFtZXRlclRlc3RDYXNlKEJhc2VUZXN0R2VuZXJhdG9yKToKICAgICAgICAgICAgICAg ICAjIE9uIHN1Y2Nlc3Mgd2UgZ2V0IGpvYl9pZCBmcm9tIHNlcnZlcgogICAgICAgICAgICAgICAg IHNlbGYuYXNzZXJ0VHJ1ZSgnam9iX2lkJyBpbiByZXNwb25zZS5qc29uWydkYXRhJ10pCiAKLSAg ICBAY2xhc3NtZXRob2QKLSAgICBkZWYgdGVhckRvd25DbGFzcyhzZWxmKToKKyAgICBkZWYgdGVh ckRvd24oc2VsZik6CiAgICAgICAgICMgRGlzY29ubmVjdCB0aGUgZGF0YWJhc2UKICAgICAgICAg ZGF0YWJhc2VfdXRpbHMuZGlzY29ubmVjdF9kYXRhYmFzZShzZWxmLCBzZWxmLnNlcnZlcl9pZCwg c2VsZi5kYl9pZCkKZGlmZiAtLWdpdCBhL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vw cy9zZXJ2ZXJzL2RhdGFiYXNlcy9zY2hlbWFzL3ZpZXdzL3Rlc3RzL3V0aWxzLnB5IGIvd2ViL3Bn YWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJhc2VzL3NjaGVtYXMvdmll d3MvdGVzdHMvdXRpbHMucHkKaW5kZXggZDYxODBjNC4uNzYxOWVlNiAxMDA2NDQKLS0tIGEvd2Vi L3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJhc2VzL3NjaGVtYXMv dmlld3MvdGVzdHMvdXRpbHMucHkKKysrIGIvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3Jv dXBzL3NlcnZlcnMvZGF0YWJhc2VzL3NjaGVtYXMvdmlld3MvdGVzdHMvdXRpbHMucHkKQEAgLTg2 LDMgKzg2LDI4IEBAIGRlZiB2ZXJpZnlfdmlldyhzZXJ2ZXIsIGRiX25hbWUsIHZpZXdfbmFtZSk6 CiAgICAgZXhjZXB0IEV4Y2VwdGlvbjoKICAgICAgICAgdHJhY2ViYWNrLnByaW50X2V4YyhmaWxl PXN5cy5zdGRlcnIpCiAgICAgICAgIHJhaXNlCisKKworZGVmIGdldF92aWV3X2lkKHNlcnZlciwg ZGJfbmFtZSwgdmlld19uYW1lKToKKyAgICB0cnk6CisgICAgICAgIGNvbm5lY3Rpb24gPSB1dGls cy5nZXRfZGJfY29ubmVjdGlvbihkYl9uYW1lLAorICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgc2VydmVyWyd1c2VybmFtZSddLAorICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VydmVyWydkYl9wYXNzd29yZCddLAorICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VydmVyWydob3N0J10sCisg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZXJ2ZXJbJ3BvcnQn XSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlcnZlclsn c3NsbW9kZSddKQorICAgICAgICBvbGRfaXNvbGF0aW9uX2xldmVsID0gY29ubmVjdGlvbi5pc29s YXRpb25fbGV2ZWwKKyAgICAgICAgY29ubmVjdGlvbi5zZXRfaXNvbGF0aW9uX2xldmVsKDApCisg ICAgICAgIHBnX2N1cnNvciA9IGNvbm5lY3Rpb24uY3Vyc29yKCkKKyAgICAgICAgIyBHZXQgJ29p ZCcgZnJvbSBuZXdseSBjcmVhdGVkIHZpZXcKKyAgICAgICAgcGdfY3Vyc29yLmV4ZWN1dGUoInNl bGVjdCBvaWQgZnJvbSBwZ19jbGFzcyB3aGVyZSByZWxuYW1lPSclcyciICUKKyAgICAgICAgICAg ICAgICAgICAgICAgICAgdmlld19uYW1lKQorICAgICAgICB2aWV3ID0gcGdfY3Vyc29yLmZldGNo b25lKCkKKyAgICAgICAgdmlld19pZCA9IE5vbmUKKyAgICAgICAgaWYgdmlldzoKKyAgICAgICAg ICAgIHZpZXdfaWQgPSB2aWV3WzBdCisgICAgICAgIGNvbm5lY3Rpb24uY2xvc2UoKQorICAgICAg ICByZXR1cm4gdmlld19pZAorICAgIGV4Y2VwdCBFeGNlcHRpb246CisgICAgICAgIHRyYWNlYmFj ay5wcmludF9leGMoZmlsZT1zeXMuc3RkZXJyKQorICAgICAgICByYWlzZQpkaWZmIC0tZ2l0IGEv d2ViL3BnYWRtaW4vZmVhdHVyZV90ZXN0cy9jb3B5X3NlbGVjdGVkX3F1ZXJ5X3Jlc3VsdHNfZmVh dHVyZV90ZXN0LnB5IGIvd2ViL3BnYWRtaW4vZmVhdHVyZV90ZXN0cy9jb3B5X3NlbGVjdGVkX3F1 ZXJ5X3Jlc3VsdHNfZmVhdHVyZV90ZXN0LnB5CmluZGV4IDcwOTFmZmEuLjFmM2JkNjUgMTAwNjQ0 Ci0tLSBhL3dlYi9wZ2FkbWluL2ZlYXR1cmVfdGVzdHMvY29weV9zZWxlY3RlZF9xdWVyeV9yZXN1 bHRzX2ZlYXR1cmVfdGVzdC5weQorKysgYi93ZWIvcGdhZG1pbi9mZWF0dXJlX3Rlc3RzL2NvcHlf c2VsZWN0ZWRfcXVlcnlfcmVzdWx0c19mZWF0dXJlX3Rlc3QucHkKQEAgLTgsNyArOCw2IEBACiAj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIwogCiBmcm9tIF9fZnV0dXJlX18gaW1wb3J0IHByaW50X2Z1bmN0aW9u Ci1pbXBvcnQgcHlwZXJjbGlwCiBpbXBvcnQgcmFuZG9tCiAKIGZyb20gc2VsZW5pdW0ud2ViZHJp dmVyIGltcG9ydCBBY3Rpb25DaGFpbnMKQEAgLTYwLDggKzU5LDE4IEBAIGNsYXNzIENvcHlTZWxl Y3RlZFF1ZXJ5UmVzdWx0c0ZlYXR1cmVUZXN0KEJhc2VGZWF0dXJlVGVzdCk6CiAgICAgICAgIHNl bGYuX21vdXNldXBfb3V0c2lkZV9ncmlkX3N0aWxsX21ha2VzX2Ffc2VsZWN0aW9uKCkKICAgICAg ICAgc2VsZi5fY29waWVzX3Jvd3Nfd2l0aF9oZWFkZXIoKQogCisgICAgZGVmIHBhc3RlX3ZhbHVl c190b19zY3JhdGNoX3BhZChzZWxmKToKKyAgICAgICAgc2VsZi5wYWdlLmRyaXZlci5zd2l0Y2hf dG8uZGVmYXVsdF9jb250ZW50KCkKKyAgICAgICAgc2VsZi5wYWdlLmRyaXZlci5zd2l0Y2hfdG9f ZnJhbWUoCisgICAgICAgICAgICBzZWxmLnBhZ2UuZHJpdmVyLmZpbmRfZWxlbWVudF9ieV90YWdf bmFtZSgiaWZyYW1lIikpCisgICAgICAgIHNjcmF0Y2hfcGFkX2VsZSA9IHNlbGYucGFnZS5maW5k X2J5X2Nzc19zZWxlY3RvcigKKyAgICAgICAgICAgIFF1ZXJ5VG9vbExvY2F0b3JzLnNjcmF0Y2hf cGFkX2NzcykKKyAgICAgICAgc2VsZi5wYWdlLnBhc3RlX3ZhbHVlcyhzY3JhdGNoX3BhZF9lbGUp CisgICAgICAgIGNsaXBib2FyZF90ZXh0ID0gc2NyYXRjaF9wYWRfZWxlLmdldF9hdHRyaWJ1dGUo InZhbHVlIikKKyAgICAgICAgc2NyYXRjaF9wYWRfZWxlLmNsZWFyKCkKKyAgICAgICAgcmV0dXJu IGNsaXBib2FyZF90ZXh0CisKICAgICBkZWYgX2NvcGllc19yb3dzKHNlbGYpOgotICAgICAgICBw eXBlcmNsaXAuY29weSgib2xkIGNsaXBib2FyZCBjb250ZW50cyIpCiAgICAgICAgIGZpcnN0X3Jv dyA9IHNlbGYucGFnZS5maW5kX2J5X3hwYXRoKAogICAgICAgICAgICAgUXVlcnlUb29sTG9jYXRv cnMub3V0cHV0X3Jvd194cGF0aC5mb3JtYXQoMSkpCiAgICAgICAgIGZpcnN0X3Jvdy5jbGljaygp CkBAIC03MCwxNCArNzksMTQgQEAgY2xhc3MgQ29weVNlbGVjdGVkUXVlcnlSZXN1bHRzRmVhdHVy ZVRlc3QoQmFzZUZlYXR1cmVUZXN0KToKICAgICAgICAgICAgIFF1ZXJ5VG9vbExvY2F0b3JzLmNv cHlfYnV0dG9uX2NzcykKICAgICAgICAgY29weV9idXR0b24uY2xpY2soKQogCisgICAgICAgIGNs aXBib2FyZF90ZXh0ID0gc2VsZi5wYXN0ZV92YWx1ZXNfdG9fc2NyYXRjaF9wYWQoKQogICAgICAg ICBzZWxmLmFzc2VydEVxdWFsKCciU29tZS1OYW1lIlx0Nlx0InNvbWUgaW5mbyInLAotICAgICAg ICAgICAgICAgICAgICAgICAgIHB5cGVyY2xpcC5wYXN0ZSgpKQorICAgICAgICAgICAgICAgICAg ICAgICAgIGNsaXBib2FyZF90ZXh0KQogCiAgICAgZGVmIF9jb3BpZXNfcm93c193aXRoX2hlYWRl cihzZWxmKToKICAgICAgICAgc2VsZi5wYWdlLmZpbmRfYnlfY3NzX3NlbGVjdG9yKCcjYnRuLWNv cHktcm93LWRyb3Bkb3duJykuY2xpY2soKQogICAgICAgICBzZWxmLnBhZ2UuZmluZF9ieV9jc3Nf c2VsZWN0b3IoJ2EjYnRuLWNvcHktd2l0aC1oZWFkZXInKS5jbGljaygpCiAKLSAgICAgICAgcHlw ZXJjbGlwLmNvcHkoIm9sZCBjbGlwYm9hcmQgY29udGVudHMiKQogICAgICAgICBzZWxlY3RfYWxs ID0gc2VsZi5wYWdlLmZpbmRfYnlfeHBhdGgoCiAgICAgICAgICAgICBRdWVyeVRvb2xMb2NhdG9y cy5zZWxlY3RfYWxsX2NvbHVtbikKICAgICAgICAgc2VsZWN0X2FsbC5jbGljaygpCkBAIC04Niwx MyArOTUsMTQgQEAgY2xhc3MgQ29weVNlbGVjdGVkUXVlcnlSZXN1bHRzRmVhdHVyZVRlc3QoQmFz ZUZlYXR1cmVUZXN0KToKICAgICAgICAgICAgIFF1ZXJ5VG9vbExvY2F0b3JzLmNvcHlfYnV0dG9u X2NzcykKICAgICAgICAgY29weV9idXR0b24uY2xpY2soKQogCisgICAgICAgIGNsaXBib2FyZF90 ZXh0ID0gc2VsZi5wYXN0ZV92YWx1ZXNfdG9fc2NyYXRjaF9wYWQoKQorCiAgICAgICAgIHNlbGYu YXNzZXJ0RXF1YWwoIiIiXCJzb21lX2NvbHVtbiJcdCJ2YWx1ZSJcdCJkZXRhaWxzIgogXCJTb21l LU5hbWUiXHQ2XHQic29tZSBpbmZvIgogXCJTb21lLU90aGVyLU5hbWUiXHQyMlx0InNvbWUgb3Ro ZXIgaW5mbyIKLVwiWWV0LUFub3RoZXItTmFtZSJcdDE0XHQiY29vbCBpbmZvXCIiIiIsIHB5cGVy Y2xpcC5wYXN0ZSgpKQorXCJZZXQtQW5vdGhlci1OYW1lIlx0MTRcdCJjb29sIGluZm9cIiIiIiwg Y2xpcGJvYXJkX3RleHQpCiAKICAgICBkZWYgX2NvcGllc19jb2x1bW5zKHNlbGYpOgotICAgICAg ICBweXBlcmNsaXAuY29weSgib2xkIGNsaXBib2FyZCBjb250ZW50cyIpCiAgICAgICAgIGNvbHVt biA9IHNlbGYucGFnZS5maW5kX2J5X2Nzc19zZWxlY3RvcigKICAgICAgICAgICAgIFF1ZXJ5VG9v bExvY2F0b3JzLm91dHB1dF9jb2x1bW5faGVhZGVyX2Nzcy5mb3JtYXQoJ3NvbWVfY29sdW1uJykp CiAgICAgICAgIGNvbHVtbi5jbGljaygpCkBAIC0xMDEsMTQgKzExMSwxNSBAQCBjbGFzcyBDb3B5 U2VsZWN0ZWRRdWVyeVJlc3VsdHNGZWF0dXJlVGVzdChCYXNlRmVhdHVyZVRlc3QpOgogICAgICAg ICAgICAgUXVlcnlUb29sTG9jYXRvcnMuY29weV9idXR0b25fY3NzKQogICAgICAgICBjb3B5X2J1 dHRvbi5jbGljaygpCiAKKyAgICAgICAgY2xpcGJvYXJkX3RleHQgPSBzZWxmLnBhc3RlX3ZhbHVl c190b19zY3JhdGNoX3BhZCgpCisKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCgKICAgICAgICAg ICAgICIiIlwiU29tZS1OYW1lIgogIlNvbWUtT3RoZXItTmFtZSIKICJZZXQtQW5vdGhlci1OYW1l XCIiIiIsCi0gICAgICAgICAgICBweXBlcmNsaXAucGFzdGUoKSkKKyAgICAgICAgICAgIGNsaXBi b2FyZF90ZXh0KQogCiAgICAgZGVmIF9jb3BpZXNfcm93X3VzaW5nX2tleWJvYXJkX3Nob3J0Y3V0 KHNlbGYpOgotICAgICAgICBweXBlcmNsaXAuY29weSgib2xkIGNsaXBib2FyZCBjb250ZW50cyIp CiAgICAgICAgIGZpcnN0X3JvdyA9IHNlbGYucGFnZS5maW5kX2J5X3hwYXRoKAogICAgICAgICAg ICAgUXVlcnlUb29sTG9jYXRvcnMub3V0cHV0X3Jvd194cGF0aC5mb3JtYXQoMSkpCiAgICAgICAg IGZpcnN0X3Jvdy5jbGljaygpCkBAIC0xMTYsMTEgKzEyNywxMiBAQCBjbGFzcyBDb3B5U2VsZWN0 ZWRRdWVyeVJlc3VsdHNGZWF0dXJlVGVzdChCYXNlRmVhdHVyZVRlc3QpOgogICAgICAgICBBY3Rp b25DaGFpbnMoc2VsZi5wYWdlLmRyaXZlcikua2V5X2Rvd24oCiAgICAgICAgICAgICBLZXlzLkNP TlRST0wpLnNlbmRfa2V5cygnYycpLmtleV91cChLZXlzLkNPTlRST0wpLnBlcmZvcm0oKQogCisg ICAgICAgIGNsaXBib2FyZF90ZXh0ID0gc2VsZi5wYXN0ZV92YWx1ZXNfdG9fc2NyYXRjaF9wYWQo KQorCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoJyJTb21lLU5hbWUiXHQ2XHQic29tZSBpbmZv IicsCi0gICAgICAgICAgICAgICAgICAgICAgICAgcHlwZXJjbGlwLnBhc3RlKCkpCisgICAgICAg ICAgICAgICAgICAgICAgICAgY2xpcGJvYXJkX3RleHQpCiAKICAgICBkZWYgX2NvcGllc19jb2x1 bW5fdXNpbmdfa2V5Ym9hcmRfc2hvcnRjdXQoc2VsZik6Ci0gICAgICAgIHB5cGVyY2xpcC5jb3B5 KCJvbGQgY2xpcGJvYXJkIGNvbnRlbnRzIikKICAgICAgICAgY29sdW1uID0gc2VsZi5wYWdlLmZp bmRfYnlfY3NzX3NlbGVjdG9yKAogICAgICAgICAgICAgUXVlcnlUb29sTG9jYXRvcnMub3V0cHV0 X2NvbHVtbl9oZWFkZXJfY3NzLmZvcm1hdCgnc29tZV9jb2x1bW4nKSkKICAgICAgICAgY29sdW1u LmNsaWNrKCkKQEAgLTEyOCwxNSArMTQwLDE1IEBAIGNsYXNzIENvcHlTZWxlY3RlZFF1ZXJ5UmVz dWx0c0ZlYXR1cmVUZXN0KEJhc2VGZWF0dXJlVGVzdCk6CiAgICAgICAgIEFjdGlvbkNoYWlucyhz ZWxmLnBhZ2UuZHJpdmVyKS5rZXlfZG93bigKICAgICAgICAgICAgIEtleXMuQ09OVFJPTCkuc2Vu ZF9rZXlzKCdjJykua2V5X3VwKEtleXMuQ09OVFJPTCkucGVyZm9ybSgpCiAKKyAgICAgICAgY2xp cGJvYXJkX3RleHQgPSBzZWxmLnBhc3RlX3ZhbHVlc190b19zY3JhdGNoX3BhZCgpCisKICAgICAg ICAgc2VsZi5hc3NlcnRFcXVhbCgKICAgICAgICAgICAgICIiIlwiU29tZS1OYW1lIgogIlNvbWUt T3RoZXItTmFtZSIKICJZZXQtQW5vdGhlci1OYW1lXCIiIiIsCi0gICAgICAgICAgICBweXBlcmNs aXAucGFzdGUoKSkKKyAgICAgICAgICAgIGNsaXBib2FyZF90ZXh0KQogCiAgICAgZGVmIF9jb3Bp ZXNfcmVjdGFuZ3VsYXJfc2VsZWN0aW9uKHNlbGYpOgotICAgICAgICBweXBlcmNsaXAuY29weSgi b2xkIGNsaXBib2FyZCBjb250ZW50cyIpCi0KICAgICAgICAgdG9wX2xlZnRfY2VsbCA9IFwKICAg ICAgICAgICAgIHNlbGYucGFnZS5maW5kX2J5X3hwYXRoKAogICAgICAgICAgICAgICAgIFF1ZXJ5 VG9vbExvY2F0b3JzLm91dHB1dF9jb2x1bW5fZGF0YV94cGF0aC4KQEAgLTE1NCwxMiArMTY2LDEy IEBAIGNsYXNzIENvcHlTZWxlY3RlZFF1ZXJ5UmVzdWx0c0ZlYXR1cmVUZXN0KEJhc2VGZWF0dXJl VGVzdCk6CiAgICAgICAgICAgICBzZWxmLnBhZ2UuZHJpdmVyCiAgICAgICAgICkua2V5X2Rvd24o S2V5cy5DT05UUk9MKS5zZW5kX2tleXMoJ2MnKS5rZXlfdXAoS2V5cy5DT05UUk9MKS5wZXJmb3Jt KCkKIAorICAgICAgICBjbGlwYm9hcmRfdGV4dCA9IHNlbGYucGFzdGVfdmFsdWVzX3RvX3NjcmF0 Y2hfcGFkKCkKKwogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKAotICAgICAgICAgICAgJyJTb21l LU90aGVyLU5hbWUiXHQyMlxuIllldC1Bbm90aGVyLU5hbWUiXHQxNCcsIHB5cGVyY2xpcC5wYXN0 ZSgpKQorICAgICAgICAgICAgJyJTb21lLU90aGVyLU5hbWUiXHQyMlxuIllldC1Bbm90aGVyLU5h bWUiXHQxNCcsIGNsaXBib2FyZF90ZXh0KQogCiAgICAgZGVmIF9zaGlmdF9yZXNpemVzX3JlY3Rh bmd1bGFyX3NlbGVjdGlvbihzZWxmKToKLSAgICAgICAgcHlwZXJjbGlwLmNvcHkoIm9sZCBjbGlw Ym9hcmQgY29udGVudHMiKQotCiAgICAgICAgIHRvcF9sZWZ0X2NlbGwgPSBzZWxmLnBhZ2UuZmlu ZF9ieV94cGF0aCgKICAgICAgICAgICAgIFF1ZXJ5VG9vbExvY2F0b3JzLm91dHB1dF9jb2x1bW5f ZGF0YV94cGF0aC4KICAgICAgICAgICAgIGZvcm1hdCgnU29tZS1PdGhlci1OYW1lJykKQEAgLTE4 MCwxMiArMTkyLDEyIEBAIGNsYXNzIENvcHlTZWxlY3RlZFF1ZXJ5UmVzdWx0c0ZlYXR1cmVUZXN0 KEJhc2VGZWF0dXJlVGVzdCk6CiAgICAgICAgICAgICBLZXlzLkNPTlRST0wKICAgICAgICAgKS5z ZW5kX2tleXMoJ2MnKS5rZXlfdXAoS2V5cy5DT05UUk9MKS5wZXJmb3JtKCkKIAorICAgICAgICBj bGlwYm9hcmRfdGV4dCA9IHNlbGYucGFzdGVfdmFsdWVzX3RvX3NjcmF0Y2hfcGFkKCkKKwogICAg ICAgICBzZWxmLmFzc2VydEVxdWFsKCIiIlwiU29tZS1PdGhlci1OYW1lIlx0MjJcdCJzb21lIG90 aGVyIGluZm8iCi0iWWV0LUFub3RoZXItTmFtZSJcdDE0XHQiY29vbCBpbmZvXCIiIiIsIHB5cGVy Y2xpcC5wYXN0ZSgpKQorIllldC1Bbm90aGVyLU5hbWUiXHQxNFx0ImNvb2wgaW5mb1wiIiIiLCBj bGlwYm9hcmRfdGV4dCkKIAogICAgIGRlZiBfc2hpZnRfcmVzaXplc19jb2x1bW5fc2VsZWN0aW9u KHNlbGYpOgotICAgICAgICBweXBlcmNsaXAuY29weSgib2xkIGNsaXBib2FyZCBjb250ZW50cyIp Ci0KICAgICAgICAgY29sdW1uID0gc2VsZi5wYWdlLmZpbmRfYnlfY3NzX3NlbGVjdG9yKAogICAg ICAgICAgICAgUXVlcnlUb29sTG9jYXRvcnMub3V0cHV0X2NvbHVtbl9oZWFkZXJfY3NzLmZvcm1h dCgndmFsdWUnKQogICAgICAgICApCkBAIC0xOTcsMTMgKzIwOSwxMyBAQCBjbGFzcyBDb3B5U2Vs ZWN0ZWRRdWVyeVJlc3VsdHNGZWF0dXJlVGVzdChCYXNlRmVhdHVyZVRlc3QpOgogICAgICAgICBB Y3Rpb25DaGFpbnMoc2VsZi5wYWdlLmRyaXZlcikua2V5X2Rvd24oCiAgICAgICAgICAgICBLZXlz LkNPTlRST0wpLnNlbmRfa2V5cygnYycpLmtleV91cChLZXlzLkNPTlRST0wpLnBlcmZvcm0oKQog CisgICAgICAgIGNsaXBib2FyZF90ZXh0ID0gc2VsZi5wYXN0ZV92YWx1ZXNfdG9fc2NyYXRjaF9w YWQoKQorCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoCiAgICAgICAgICAgICAnIlNvbWUtTmFt ZSJcdDZcbiJTb21lLU90aGVyLU5hbWUiXHQyMlxuIllldC1Bbm90aGVyLU5hbWUiXHQxNCcsCi0g ICAgICAgICAgICBweXBlcmNsaXAucGFzdGUoKSkKKyAgICAgICAgICAgIGNsaXBib2FyZF90ZXh0 KQogCiAgICAgZGVmIF9tb3VzZXVwX291dHNpZGVfZ3JpZF9zdGlsbF9tYWtlc19hX3NlbGVjdGlv bihzZWxmKToKLSAgICAgICAgcHlwZXJjbGlwLmNvcHkoIm9sZCBjbGlwYm9hcmQgY29udGVudHMi KQotCiAgICAgICAgIGJvdHRvbV9yaWdodF9jZWxsID0gc2VsZi5wYWdlLmZpbmRfYnlfeHBhdGgo CiAgICAgICAgICAgICBRdWVyeVRvb2xMb2NhdG9ycy5vdXRwdXRfY29sdW1uX2RhdGFfeHBhdGgu Zm9ybWF0KCdjb29sIGluZm8nKQogICAgICAgICApCkBAIC0yMTgsNyArMjMwLDkgQEAgY2xhc3Mg Q29weVNlbGVjdGVkUXVlcnlSZXN1bHRzRmVhdHVyZVRlc3QoQmFzZUZlYXR1cmVUZXN0KToKICAg ICAgICAgQWN0aW9uQ2hhaW5zKHNlbGYucGFnZS5kcml2ZXIpLmtleV9kb3duKAogICAgICAgICAg ICAgS2V5cy5DT05UUk9MKS5zZW5kX2tleXMoJ2MnKS5rZXlfdXAoS2V5cy5DT05UUk9MKS5wZXJm b3JtKCkKIAotICAgICAgICBzZWxmLmFzc2VydEluKCciY29vbCBpbmZvIicsIHB5cGVyY2xpcC5w YXN0ZSgpKQorICAgICAgICBjbGlwYm9hcmRfdGV4dCA9IHNlbGYucGFzdGVfdmFsdWVzX3RvX3Nj cmF0Y2hfcGFkKCkKKworICAgICAgICBzZWxmLmFzc2VydEluKCciY29vbCBpbmZvIicsIGNsaXBi b2FyZF90ZXh0KQogCiAgICAgZGVmIGFmdGVyKHNlbGYpOgogICAgICAgICBzZWxmLnBhZ2UuY2xv c2VfcXVlcnlfdG9vbCgpCmRpZmYgLS1naXQgYS93ZWIvcGdhZG1pbi9mZWF0dXJlX3Rlc3RzL2Zp bGVfbWFuYWdlcl90ZXN0LnB5IGIvd2ViL3BnYWRtaW4vZmVhdHVyZV90ZXN0cy9maWxlX21hbmFn ZXJfdGVzdC5weQppbmRleCA2ZDAxMjg2Li4zM2Y4NmFkIDEwMDY0NAotLS0gYS93ZWIvcGdhZG1p bi9mZWF0dXJlX3Rlc3RzL2ZpbGVfbWFuYWdlcl90ZXN0LnB5CisrKyBiL3dlYi9wZ2FkbWluL2Zl YXR1cmVfdGVzdHMvZmlsZV9tYW5hZ2VyX3Rlc3QucHkKQEAgLTM4LDcgKzM4LDggQEAgY2xhc3Mg Q2hlY2tGaWxlTWFuYWdlckZlYXR1cmVUZXN0KEJhc2VGZWF0dXJlVGVzdCk6CiAKICAgICAgICAg c2VsZi5wYWdlLmFkZF9zZXJ2ZXIoc2VsZi5zZXJ2ZXIpCiAgICAgICAgIHNlbGYud2FpdCA9IFdl YkRyaXZlcldhaXQoc2VsZi5wYWdlLmRyaXZlciwgMTApCi0gICAgICAgIHNlbGYuWFNTX0ZJTEUg PSAnL3RtcC88aW1nIHNyYz14IG9ubW91c2VvdmVyPWFsZXJ0KCIxIik+LnNxbCcKKyAgICAgICAg c2VsZi5YU1NfRklMRSA9ICcvdG1wLzxpbWcgc3JjPXggJyArIHNlbGYuc2VydmVyWyduYW1lJ11b OjEzXSBcCisgICAgICAgICAgICAgICAgICAgICAgICArICc9YWxlcnQoIjEiKT4uc3FsJwogICAg ICAgICAjIFJlbW92ZSBhbnkgcHJldmlvdXMgZmlsZQogICAgICAgICBpZiBvcy5wYXRoLmlzZmls ZShzZWxmLlhTU19GSUxFKToKICAgICAgICAgICAgIG9zLnJlbW92ZShzZWxmLlhTU19GSUxFKQpA QCAtNjcsNyArNjgsNyBAQCBjbGFzcyBDaGVja0ZpbGVNYW5hZ2VyRmVhdHVyZVRlc3QoQmFzZUZl YXR1cmVUZXN0KToKICAgICAgICAgc2VsZi5wYWdlLm9wZW5fcXVlcnlfdG9vbCgpCiAKICAgICBk ZWYgX2NyZWF0ZV9uZXdfZmlsZShzZWxmKToKLSAgICAgICAgc2VsZi5wYWdlLmZpbmRfYnlfY3Nz X3NlbGVjdG9yKFF1ZXJ5VG9vbExvY2F0b3JzLmJ0bl9zYXZlX2ZpbGUpXAorICAgICAgICBzZWxm LnBhZ2UuZmluZF9ieV9jc3Nfc2VsZWN0b3IoUXVlcnlUb29sTG9jYXRvcnMuYnRuX3NhdmVfZmls ZSkgXAogICAgICAgICAgICAgLmNsaWNrKCkKICAgICAgICAgIyBTZXQgdGhlIFhTUyB2YWx1ZSBp biBpbnB1dAogICAgICAgICBzZWxmLnBhZ2UuZmluZF9ieV9jc3Nfc2VsZWN0b3IoJy5jaGFuZ2Vf ZmlsZV90eXBlcycpCkBAIC0xMTIsOCArMTEzLDggQEAgY2xhc3MgQ2hlY2tGaWxlTWFuYWdlckZl YXR1cmVUZXN0KEJhc2VGZWF0dXJlVGVzdCk6CiAgICAgICAgIHNlbGYucGFnZS53YWl0X2Zvcl9x dWVyeV90b29sX2xvYWRpbmdfaW5kaWNhdG9yX3RvX2Rpc2FwcGVhcigpCiAgICAgICAgIHNlbGYu X2NoZWNrX2VzY2FwZWRfY2hhcmFjdGVycygKICAgICAgICAgICAgIGNvbnRlbnRzLAotICAgICAg ICAgICAgJyZsdDtpbWcgc3JjPXggb25tb3VzZW92ZXI9YWxlcnQoIjEiKSZndDsuc3FsJywKLSAg ICAgICAgICAgICdGaWxlIG1hbmFnZXInCisgICAgICAgICAgICAnJmx0O2ltZyBzcmM9eCAnICsg c2VsZi5zZXJ2ZXJbJ25hbWUnXVs6MTNdICsKKyAgICAgICAgICAgICc9YWxlcnQoIjEiKSZndDsu c3FsJywgJ0ZpbGUgbWFuYWdlcicKICAgICAgICAgKQogCiAgICAgZGVmIF9jaGVja19lc2NhcGVk X2NoYXJhY3RlcnMoc2VsZiwgc291cmNlX2NvZGUsIHN0cmluZ190b19maW5kLCBzb3VyY2UpOgpk aWZmIC0tZ2l0IGEvd2ViL3BnYWRtaW4vZmVhdHVyZV90ZXN0cy9rZXlib2FyZF9zaG9ydGN1dF90 ZXN0LnB5IGIvd2ViL3BnYWRtaW4vZmVhdHVyZV90ZXN0cy9rZXlib2FyZF9zaG9ydGN1dF90ZXN0 LnB5CmluZGV4IGVhMzgxYjQuLmY2OGU1MzAgMTAwNjQ0Ci0tLSBhL3dlYi9wZ2FkbWluL2ZlYXR1 cmVfdGVzdHMva2V5Ym9hcmRfc2hvcnRjdXRfdGVzdC5weQorKysgYi93ZWIvcGdhZG1pbi9mZWF0 dXJlX3Rlc3RzL2tleWJvYXJkX3Nob3J0Y3V0X3Rlc3QucHkKQEAgLTk0LDI0ICs5NCwzMyBAQCBj bGFzcyBLZXlib2FyZFNob3J0Y3V0RmVhdHVyZVRlc3QoQmFzZUZlYXR1cmVUZXN0KToKICAgICAg ICAgICAgIE5hdk1lbnVMb2NhdG9ycy5wcmVmZXJlbmNlX21lbnVfaXRlbV9jc3MpCiAgICAgICAg IHByZWZfbWVudV9pdGVtLmNsaWNrKCkKIAotICAgICAgICAjIFdhaXQgdGlsbCB0aGUgcHJlZmVy ZW5jZSBkaWFsb2d1ZSBib3ggaXMgZGlzcGxheWVkIGJ5IGNoZWNraW5nIHRoZQotICAgICAgICAj IHZpc2liaWxpdHkgb2YgU2hvdyBTeXN0ZW0gT2JqZWN0IGxhYmVsCi0gICAgICAgIHNlbGYud2Fp dC51bnRpbChFQy5wcmVzZW5jZV9vZl9lbGVtZW50X2xvY2F0ZWQoCi0gICAgICAgICAgICAoQnku WFBBVEgsIE5hdk1lbnVMb2NhdG9ycy5zaG93X3N5c3RlbV9vYmplY3RzX3ByZWZfbGFiZWxfeHBh dGgpKQotICAgICAgICApCi0KLSAgICAgICAgbWF4aW1pemVfYnV0dG9uID0gc2VsZi5wYWdlLmZp bmRfYnlfY3NzX3NlbGVjdG9yKAotICAgICAgICAgICAgTmF2TWVudUxvY2F0b3JzLm1heGltaXpl X3ByZWZfZGlhbG9ndWVfY3NzKQotICAgICAgICBtYXhpbWl6ZV9idXR0b24uY2xpY2soKQotCiAg ICAgICAgIGJyb3dzZXJfbm9kZSA9IHNlbGYucGFnZS5maW5kX2J5X3hwYXRoKAogICAgICAgICAg ICAgTmF2TWVudUxvY2F0b3JzLnNwZWNpZmllZF9wcmVmZXJlbmNlX3RyZWVfbm9kZS5mb3JtYXQo J0Jyb3dzZXInKSkKICAgICAgICAgaWYgc2VsZi5wYWdlLmZpbmRfYnlfeHBhdGgoCiAgICAgICAg ICAgICBOYXZNZW51TG9jYXRvcnMuc3BlY2lmaWVkX3ByZWZfbm9kZV9leHBfc3RhdHVzLgogICAg ICAgICAgICAgICAgIGZvcm1hdCgnQnJvd3NlcicpKS5nZXRfYXR0cmlidXRlKCdhcmlhLWV4cGFu ZGVkJykgPT0gJ2ZhbHNlJzoKLQogICAgICAgICAgICAgQWN0aW9uQ2hhaW5zKHNlbGYuZHJpdmVy KS5kb3VibGVfY2xpY2soYnJvd3Nlcl9ub2RlKS5wZXJmb3JtKCkKIAorICAgICAgICBkaXNwbGF5 X25vZGUgPSBzZWxmLnBhZ2UuZmluZF9ieV94cGF0aCgKKyAgICAgICAgICAgIE5hdk1lbnVMb2Nh dG9ycy5zcGVjaWZpZWRfc3ViX25vZGVfb2ZfcHJlZl90cmVlX25vZGUuZm9ybWF0KAorICAgICAg ICAgICAgICAgICdCcm93c2VyJywgJ0Rpc3BsYXknKSkKKyAgICAgICAgYXR0ZW1wdCA9IDUKKyAg ICAgICAgd2hpbGUgYXR0ZW1wdCA+IDA6CisgICAgICAgICAgICBkaXNwbGF5X25vZGUuY2xpY2so KQorICAgICAgICAgICAgIyBBZnRlciBjbGlja2luZyB0aGUgZWxlbWVudCBnZXRzIGxvYWRlZCBp biB0byB0aGUgZG9tIGJ1dCBzdGlsbAorICAgICAgICAgICAgIyBub3QgdmlzaWJsZSwgaGVuY2Ug c2xlZXBpbmcgZm9yIGEgc2VjLgorICAgICAgICAgICAgdGltZS5zbGVlcCgxKQorICAgICAgICAg ICAgaWYgc2VsZi5wYWdlLndhaXRfZm9yX2VsZW1lbnRfdG9fYmVfdmlzaWJsZSgKKyAgICAgICAg ICAgICAgICBzZWxmLmRyaXZlciwKKyAgICAgICAgICAgICAgICAgICAgTmF2TWVudUxvY2F0b3Jz LnNob3dfc3lzdGVtX29iamVjdHNfcHJlZl9sYWJlbF94cGF0aCwgMyk6CisgICAgICAgICAgICAg ICAgYnJlYWsKKyAgICAgICAgICAgIGVsc2U6CisgICAgICAgICAgICAgICAgYXR0ZW1wdCAtPSAx CisKKyAgICAgICAgbWF4aW1pemVfYnV0dG9uID0gc2VsZi5wYWdlLmZpbmRfYnlfY3NzX3NlbGVj dG9yKAorICAgICAgICAgICAgTmF2TWVudUxvY2F0b3JzLm1heGltaXplX3ByZWZfZGlhbG9ndWVf Y3NzKQorICAgICAgICBtYXhpbWl6ZV9idXR0b24uY2xpY2soKQorCiAgICAgICAgIGtleWJvYXJk X25vZGUgPSBzZWxmLnBhZ2UuZmluZF9ieV94cGF0aCgKICAgICAgICAgICAgIE5hdk1lbnVMb2Nh dG9ycy5zcGVjaWZpZWRfc3ViX25vZGVfb2ZfcHJlZl90cmVlX25vZGUuZm9ybWF0KAogICAgICAg ICAgICAgICAgICdCcm93c2VyJywgJ0tleWJvYXJkIHNob3J0Y3V0cycpKQpkaWZmIC0tZ2l0IGEv d2ViL3BnYWRtaW4vZmVhdHVyZV90ZXN0cy9wZ19kYXRhdHlwZV92YWxpZGF0aW9uX3Rlc3QucHkg Yi93ZWIvcGdhZG1pbi9mZWF0dXJlX3Rlc3RzL3BnX2RhdGF0eXBlX3ZhbGlkYXRpb25fdGVzdC5w eQppbmRleCBkYmE0ZWFkLi5iYWNjYzcwIDEwMDY0NAotLS0gYS93ZWIvcGdhZG1pbi9mZWF0dXJl X3Rlc3RzL3BnX2RhdGF0eXBlX3ZhbGlkYXRpb25fdGVzdC5weQorKysgYi93ZWIvcGdhZG1pbi9m ZWF0dXJlX3Rlc3RzL3BnX2RhdGF0eXBlX3ZhbGlkYXRpb25fdGVzdC5weQpAQCAtOTIsNiArOTIs MTggQEAgY2xhc3MgUEdEYXRheXBlRmVhdHVyZVRlc3QoQmFzZUZlYXR1cmVUZXN0KToKIAogICAg ICAgICB3YWl0ID0gV2ViRHJpdmVyV2FpdChzZWxmLnBhZ2UuZHJpdmVyLCAxMCkKIAorICAgICAg ICBicm93c2VyX25vZGUgPSBzZWxmLnBhZ2UuZmluZF9ieV94cGF0aCgKKyAgICAgICAgICAgIE5h dk1lbnVMb2NhdG9ycy5zcGVjaWZpZWRfcHJlZmVyZW5jZV90cmVlX25vZGUuZm9ybWF0KCdCcm93 c2VyJykpCisgICAgICAgIGlmIHNlbGYucGFnZS5maW5kX2J5X3hwYXRoKAorICAgICAgICAgICAg TmF2TWVudUxvY2F0b3JzLnNwZWNpZmllZF9wcmVmX25vZGVfZXhwX3N0YXR1cy4KKyAgICAgICAg ICAgICAgICBmb3JtYXQoJ0Jyb3dzZXInKSkuZ2V0X2F0dHJpYnV0ZSgnYXJpYS1leHBhbmRlZCcp ID09ICdmYWxzZSc6CisgICAgICAgICAgICBBY3Rpb25DaGFpbnMoc2VsZi5kcml2ZXIpLmRvdWJs ZV9jbGljayhicm93c2VyX25vZGUpLnBlcmZvcm0oKQorCisgICAgICAgIHNlbGYucGFnZS5yZXRy eV9jbGljaygKKyAgICAgICAgICAgIChCeS5YUEFUSCwgTmF2TWVudUxvY2F0b3JzLnNwZWNpZmll ZF9zdWJfbm9kZV9vZl9wcmVmX3RyZWVfbm9kZS4KKyAgICAgICAgICAgICBmb3JtYXQoJ0Jyb3dz ZXInLCAnRGlzcGxheScpKSwKKyAgICAgICAgICAgIChCeS5YUEFUSCwgTmF2TWVudUxvY2F0b3Jz LnNob3dfc3lzdGVtX29iamVjdHNfcHJlZl9sYWJlbF94cGF0aCkpCisKICAgICAgICAgIyBXYWl0 IHRpbGwgdGhlIHByZWZlcmVuY2UgZGlhbG9ndWUgYm94IGlzIGRpc3BsYXllZCBieSBjaGVja2lu ZyB0aGUKICAgICAgICAgIyB2aXNpYmlsaXR5IG9mIFNob3cgU3lzdGVtIE9iamVjdCBsYWJlbAog ICAgICAgICB3YWl0LnVudGlsKEVDLnByZXNlbmNlX29mX2VsZW1lbnRfbG9jYXRlZCgKZGlmZiAt LWdpdCBhL3dlYi9wZ2FkbWluL2ZlYXR1cmVfdGVzdHMvcGdfdXRpbGl0aWVzX2JhY2t1cF9yZXN0 b3JlX3Rlc3QucHkgYi93ZWIvcGdhZG1pbi9mZWF0dXJlX3Rlc3RzL3BnX3V0aWxpdGllc19iYWNr dXBfcmVzdG9yZV90ZXN0LnB5CmluZGV4IDFkNmQ3YTQuLjRjZjkyODIgMTAwNjQ0Ci0tLSBhL3dl Yi9wZ2FkbWluL2ZlYXR1cmVfdGVzdHMvcGdfdXRpbGl0aWVzX2JhY2t1cF9yZXN0b3JlX3Rlc3Qu cHkKKysrIGIvd2ViL3BnYWRtaW4vZmVhdHVyZV90ZXN0cy9wZ191dGlsaXRpZXNfYmFja3VwX3Jl c3RvcmVfdGVzdC5weQpAQCAtMTgsNiArMTgsNyBAQCBmcm9tIHJlZ3Jlc3Npb24ucHl0aG9uX3Rl c3RfdXRpbHMgaW1wb3J0IHRlc3RfdXRpbHMKIGZyb20gcmVncmVzc2lvbi5weXRob25fdGVzdF91 dGlscyBpbXBvcnQgdGVzdF9ndWlfaGVscGVyCiBmcm9tIHJlZ3Jlc3Npb24uZmVhdHVyZV91dGls cy5sb2NhdG9ycyBpbXBvcnQgTmF2TWVudUxvY2F0b3JzCiBmcm9tIHJlZ3Jlc3Npb24uZmVhdHVy ZV91dGlscy50cmVlX2FyZWFfbG9jYXRvcnMgaW1wb3J0IFRyZWVBcmVhTG9jYXRvcnMKK2Zyb20g c2VsZW5pdW0ud2ViZHJpdmVyIGltcG9ydCBBY3Rpb25DaGFpbnMKIAogCiBjbGFzcyBQR1V0aWxp dGllc0JhY2t1cEZlYXR1cmVUZXN0KEJhc2VGZWF0dXJlVGVzdCk6CkBAIC01Niw2ICs1Nyw3IEBA IGNsYXNzIFBHVXRpbGl0aWVzQmFja3VwRmVhdHVyZVRlc3QoQmFzZUZlYXR1cmVUZXN0KToKICAg ICAgICAgICAgIHNlbGYuc2VydmVyWydzc2xtb2RlJ10KICAgICAgICAgKQogICAgICAgICB0ZXN0 X3V0aWxzLmRyb3BfZGF0YWJhc2UoY29ubmVjdGlvbiwgc2VsZi5kYXRhYmFzZV9uYW1lKQorICAg ICAgICBzZWxmLl91cGRhdGVfcHJlZmVyZW5jZXMoKQogICAgICAgICBkYl9pZCA9IHRlc3RfdXRp bHMuY3JlYXRlX2RhdGFiYXNlKHNlbGYuc2VydmVyLCBzZWxmLmRhdGFiYXNlX25hbWUpCiAgICAg ICAgIGlmIG5vdCBkYl9pZDoKICAgICAgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShGYWxzZSwgIkRh dGFiYXNlIHt9IGlzIG5vdCAiCkBAIC0xMzAsNyArMTMyLDcgQEAgY2xhc3MgUEdVdGlsaXRpZXNC YWNrdXBGZWF0dXJlVGVzdChCYXNlRmVhdHVyZVRlc3QpOgogICAgICAgICAgICAgc2VsZi5fY2hl Y2tfZGV0YWlsZWRfd2luZG93X2Zvcl94c3MoJ0JhY2t1cCcpCiAgICAgICAgIGVsc2U6CiAgICAg ICAgICAgICBjb21tYW5kID0gc2VsZi5wYWdlLmZpbmRfYnlfY3NzX3NlbGVjdG9yKAotICAgICAg ICAgICAgICAgIE5hdk1lbnVMb2NhdG9ycy5wcm9jZXNzX3dhdGNoZXJfZGV0YWlsZWRfY29tbWFu ZF9jYW52YXNfY3NzKS5cCisgICAgICAgICAgICAgICAgTmF2TWVudUxvY2F0b3JzLnByb2Nlc3Nf d2F0Y2hlcl9kZXRhaWxlZF9jb21tYW5kX2NhbnZhc19jc3MpLiBcCiAgICAgICAgICAgICAgICAg dGV4dAogCiAgICAgICAgICAgICBzZWxmLmFzc2VydEluKHNlbGYuc2VydmVyWyduYW1lJ10sIHN0 cihjb21tYW5kKSkKQEAgLTE5OSw3ICsyMDEsNyBAQCBjbGFzcyBQR1V0aWxpdGllc0JhY2t1cEZl YXR1cmVUZXN0KEJhc2VGZWF0dXJlVGVzdCk6CiAgICAgICAgICAgICBzZWxmLl9jaGVja19kZXRh aWxlZF93aW5kb3dfZm9yX3hzcygnUmVzdG9yZScpCiAgICAgICAgIGVsc2U6CiAgICAgICAgICAg ICBjb21tYW5kID0gc2VsZi5wYWdlLmZpbmRfYnlfY3NzX3NlbGVjdG9yKAotICAgICAgICAgICAg ICAgIE5hdk1lbnVMb2NhdG9ycy5wcm9jZXNzX3dhdGNoZXJfZGV0YWlsZWRfY29tbWFuZF9jYW52 YXNfY3NzKS5cCisgICAgICAgICAgICAgICAgTmF2TWVudUxvY2F0b3JzLnByb2Nlc3Nfd2F0Y2hl cl9kZXRhaWxlZF9jb21tYW5kX2NhbnZhc19jc3MpLiBcCiAgICAgICAgICAgICAgICAgdGV4dAog CiAgICAgICAgICAgICBzZWxmLmFzc2VydEluKHNlbGYuc2VydmVyWyduYW1lJ10sIHN0cihjb21t YW5kKSkKQEAgLTI0MiwzICsyNDQsNzQgQEAgY2xhc3MgUEdVdGlsaXRpZXNCYWNrdXBGZWF0dXJl VGVzdChCYXNlRmVhdHVyZVRlc3QpOgogICAgICAgICAjIEZvciBYU1Mgd2UgbmVlZCB0byBzZWFy Y2ggYWdhaW5zdCBlbGVtZW50J3MgaHRtbCBjb2RlCiAgICAgICAgIGFzc2VydCBzb3VyY2VfY29k ZS5maW5kKHN0cmluZ190b19maW5kKSAhPSAtIFwKICAgICAgICAgICAgIDEsICJ7MH0gbWlnaHQg YmUgdnVsbmVyYWJsZSB0byBYU1MgIi5mb3JtYXQoc291cmNlKQorCisgICAgZGVmIF91cGRhdGVf cHJlZmVyZW5jZXMoc2VsZik6CisgICAgICAgICIiIgorICAgICAgICBGdW5jdGlvbiB1cGRhdGVz IHByZWZlcmVuY2VzIGZvciBiaW5hcnkgcGF0aC4KKyAgICAgICAgIiIiCisgICAgICAgIGZpbGVf bWVudSA9IHNlbGYucGFnZS5maW5kX2J5X2Nzc19zZWxlY3RvcigKKyAgICAgICAgICAgIE5hdk1l bnVMb2NhdG9ycy5maWxlX21lbnVfY3NzKQorICAgICAgICBmaWxlX21lbnUuY2xpY2soKQorCisg ICAgICAgIHByZWZfbWVudV9pdGVtID0gc2VsZi5wYWdlLmZpbmRfYnlfY3NzX3NlbGVjdG9yKAor ICAgICAgICAgICAgTmF2TWVudUxvY2F0b3JzLnByZWZlcmVuY2VfbWVudV9pdGVtX2NzcykKKyAg ICAgICAgcHJlZl9tZW51X2l0ZW0uY2xpY2soKQorCisgICAgICAgIHdhaXQgPSBXZWJEcml2ZXJX YWl0KHNlbGYucGFnZS5kcml2ZXIsIDEwKQorCisgICAgICAgICMgV2FpdCB0aWxsIHRoZSBwcmVm ZXJlbmNlIGRpYWxvZ3VlIGJveCBpcyBkaXNwbGF5ZWQgYnkgY2hlY2tpbmcgdGhlCisgICAgICAg ICMgdmlzaWJpbGl0eSBvZiBTaG93IFN5c3RlbSBPYmplY3QgbGFiZWwKKyAgICAgICAgd2FpdC51 bnRpbChFQy5wcmVzZW5jZV9vZl9lbGVtZW50X2xvY2F0ZWQoCisgICAgICAgICAgICAoQnkuWFBB VEgsIE5hdk1lbnVMb2NhdG9ycy5zaG93X3N5c3RlbV9vYmplY3RzX3ByZWZfbGFiZWxfeHBhdGgp KQorICAgICAgICApCisKKyAgICAgICAgbWF4aW1pemVfYnV0dG9uID0gc2VsZi5wYWdlLmZpbmRf YnlfY3NzX3NlbGVjdG9yKAorICAgICAgICAgICAgTmF2TWVudUxvY2F0b3JzLm1heGltaXplX3By ZWZfZGlhbG9ndWVfY3NzKQorICAgICAgICBtYXhpbWl6ZV9idXR0b24uY2xpY2soKQorCisgICAg ICAgIHBhdGggPSBzZWxmLnBhZ2UuZmluZF9ieV94cGF0aCgKKyAgICAgICAgICAgIE5hdk1lbnVM b2NhdG9ycy5zcGVjaWZpZWRfcHJlZmVyZW5jZV90cmVlX25vZGUuZm9ybWF0KCdQYXRocycpKQor ICAgICAgICBpZiBzZWxmLnBhZ2UuZmluZF9ieV94cGF0aCgKKyAgICAgICAgICAgIE5hdk1lbnVM b2NhdG9ycy5zcGVjaWZpZWRfcHJlZl9ub2RlX2V4cF9zdGF0dXMuZm9ybWF0KCdQYXRocycpKS4g XAorICAgICAgICAgICAgICAgIGdldF9hdHRyaWJ1dGUoJ2FyaWEtZXhwYW5kZWQnKSA9PSAnZmFs c2UnOgorICAgICAgICAgICAgQWN0aW9uQ2hhaW5zKHNlbGYuZHJpdmVyKS5kb3VibGVfY2xpY2so cGF0aCkucGVyZm9ybSgpCisKKyAgICAgICAgYmluYXJ5X3BhdGggPSBzZWxmLnBhZ2UuZmluZF9i eV94cGF0aCgKKyAgICAgICAgICAgIE5hdk1lbnVMb2NhdG9ycy5zcGVjaWZpZWRfc3ViX25vZGVf b2ZfcHJlZl90cmVlX25vZGUuZm9ybWF0KAorICAgICAgICAgICAgICAgICdQYXRocycsICdCaW5h cnkgcGF0aHMnKSkKKyAgICAgICAgYmluYXJ5X3BhdGguY2xpY2soKQorCisgICAgICAgIGRlZmF1 bHRfYmluYXJ5X3BhdGggPSBzZWxmLnNlcnZlclsnZGVmYXVsdF9iaW5hcnlfcGF0aHMnXQorICAg ICAgICBpZiBkZWZhdWx0X2JpbmFyeV9wYXRoIGlzIG5vdCBOb25lOgorICAgICAgICAgICAgc2Vy dmVyX3R5cGVzID0gZGVmYXVsdF9iaW5hcnlfcGF0aC5rZXlzKCkKKyAgICAgICAgICAgIGZvciBz ZXJ2IGluIHNlcnZlcl90eXBlczoKKyAgICAgICAgICAgICAgICBpZiBzZXJ2ID09ICdwZyc6Cisg ICAgICAgICAgICAgICAgICAgIHBhdGhfaW5wdXQgPSBzZWxmLnBhZ2UuZmluZF9ieV94cGF0aCgK KyAgICAgICAgICAgICAgICAgICAgICAgICIvL2xhYmVsW3RleHQoKT0nUG9zdGdyZVNRTCBCaW5h cnkgIgorICAgICAgICAgICAgICAgICAgICAgICAgIlBhdGgnXS9mb2xsb3dpbmctc2libGluZzo6 ZGl2Ly9pbnB1dCIpCisgICAgICAgICAgICAgICAgICAgIHBhdGhfaW5wdXQuY2xlYXIoKQorICAg ICAgICAgICAgICAgICAgICBwYXRoX2lucHV0LmNsaWNrKCkKKyAgICAgICAgICAgICAgICAgICAg cGF0aF9pbnB1dC5zZW5kX2tleXMoZGVmYXVsdF9iaW5hcnlfcGF0aFsncGcnXSkKKyAgICAgICAg ICAgICAgICBlbGlmIHNlcnYgPT0gJ2dwZGInOgorICAgICAgICAgICAgICAgICAgICBwYXRoX2lu cHV0ID0gc2VsZi5wYWdlLmZpbmRfYnlfeHBhdGgoCisgICAgICAgICAgICAgICAgICAgICAgICAi Ly9sYWJlbFt0ZXh0KCk9J0dyZWVucGx1bSBEYXRhYmFzZSBCaW5hcnkgIgorICAgICAgICAgICAg ICAgICAgICAgICAgIlBhdGgnXS9mb2xsb3dpbmctc2libGluZzo6ZGl2Ly9pbnB1dCIpCisgICAg ICAgICAgICAgICAgICAgIHBhdGhfaW5wdXQuY2xlYXIoKQorICAgICAgICAgICAgICAgICAgICBw YXRoX2lucHV0LmNsaWNrKCkKKyAgICAgICAgICAgICAgICAgICAgcGF0aF9pbnB1dC5zZW5kX2tl eXMoZGVmYXVsdF9iaW5hcnlfcGF0aFsnZ3BkYiddKQorICAgICAgICAgICAgICAgIGVsaWYgc2Vy diA9PSAncHBhcyc6CisgICAgICAgICAgICAgICAgICAgIHBhdGhfaW5wdXQgPSBzZWxmLnBhZ2Uu ZmluZF9ieV94cGF0aCgKKyAgICAgICAgICAgICAgICAgICAgICAgICIvL2xhYmVsW3RleHQoKT0n RURCIEFkdmFuY2VkIFNlcnZlciBCaW5hcnkgIgorICAgICAgICAgICAgICAgICAgICAgICAgIlBh dGgnXS9mb2xsb3dpbmctc2libGluZzo6ZGl2Ly9pbnB1dCIpCisgICAgICAgICAgICAgICAgICAg IHBhdGhfaW5wdXQuY2xlYXIoKQorICAgICAgICAgICAgICAgICAgICBwYXRoX2lucHV0LmNsaWNr KCkKKyAgICAgICAgICAgICAgICAgICAgcGF0aF9pbnB1dC5zZW5kX2tleXMoZGVmYXVsdF9iaW5h cnlfcGF0aFsncHBhcyddKQorICAgICAgICAgICAgICAgIGVsc2U6CisgICAgICAgICAgICAgICAg ICAgIHByaW50KCdCaW5hcnkgcGF0aCBLZXkgaXMgSW5jb3JyZWN0JykKKworICAgICAgICAjIHNh dmUgYW5kIGNsb3NlIHRoZSBwcmVmZXJlbmNlIGRpYWxvZy4KKyAgICAgICAgc2VsZi5wYWdlLmNs aWNrX21vZGFsKCdTYXZlJykKKworICAgICAgICBzZWxmLnBhZ2Uud2FpdF9mb3JfZWxlbWVudF90 b19kaXNhcHBlYXIoCisgICAgICAgICAgICBsYW1iZGEgZHJpdmVyOiBkcml2ZXIuZmluZF9lbGVt ZW50X2J5X2Nzc19zZWxlY3RvcigiLmFqcy1tb2RhbCIpCisgICAgICAgICkKZGlmZiAtLWdpdCBh L3dlYi9wZ2FkbWluL2ZlYXR1cmVfdGVzdHMvcXVlcnlfdG9vbF9qb3VybmV5X3Rlc3QucHkgYi93 ZWIvcGdhZG1pbi9mZWF0dXJlX3Rlc3RzL3F1ZXJ5X3Rvb2xfam91cm5leV90ZXN0LnB5CmluZGV4 IDJkN2M0ZWYuLmRkYjRlM2MgMTAwNjQ0Ci0tLSBhL3dlYi9wZ2FkbWluL2ZlYXR1cmVfdGVzdHMv cXVlcnlfdG9vbF9qb3VybmV5X3Rlc3QucHkKKysrIGIvd2ViL3BnYWRtaW4vZmVhdHVyZV90ZXN0 cy9xdWVyeV90b29sX2pvdXJuZXlfdGVzdC5weQpAQCAtOSw3ICs5LDYgQEAKIAogZnJvbSBfX2Z1 dHVyZV9fIGltcG9ydCBwcmludF9mdW5jdGlvbgogaW1wb3J0IHN5cwotaW1wb3J0IHB5cGVyY2xp cAogaW1wb3J0IHJhbmRvbQogCiBmcm9tIHNlbGVuaXVtLndlYmRyaXZlciBpbXBvcnQgQWN0aW9u Q2hhaW5zCkBAIC05MCw3ICs4OSw2IEBAIGNsYXNzIFF1ZXJ5VG9vbEpvdXJuZXlUZXN0KEJhc2VG ZWF0dXJlVGVzdCk6CiAgICAgICAgIHByaW50KCIgT0suIiwgZmlsZT1zeXMuc3RkZXJyKQogCiAg ICAgZGVmIF90ZXN0X2NvcGllc19yb3dzKHNlbGYpOgotICAgICAgICBweXBlcmNsaXAuY29weSgi b2xkIGNsaXBib2FyZCBjb250ZW50cyIpCiAgICAgICAgIHNlbGYucGFnZS5kcml2ZXIuc3dpdGNo X3RvLmRlZmF1bHRfY29udGVudCgpCiAgICAgICAgIHNlbGYucGFnZS5kcml2ZXIuc3dpdGNoX3Rv X2ZyYW1lKAogICAgICAgICAgICAgc2VsZi5wYWdlLmRyaXZlci5maW5kX2VsZW1lbnRfYnlfdGFn X25hbWUoImlmcmFtZSIpKQpAQCAtMTAzLDEyICsxMDEsMjEgQEAgY2xhc3MgUXVlcnlUb29sSm91 cm5leVRlc3QoQmFzZUZlYXR1cmVUZXN0KToKICAgICAgICAgICAgIFF1ZXJ5VG9vbExvY2F0b3Jz LmNvcHlfYnV0dG9uX2NzcykKICAgICAgICAgY29weV9yb3cuY2xpY2soKQogCisgICAgICAgIHNl bGYucGFnZS5kcml2ZXIuc3dpdGNoX3RvLmRlZmF1bHRfY29udGVudCgpCisgICAgICAgIHNlbGYu cGFnZS5kcml2ZXIuc3dpdGNoX3RvX2ZyYW1lKAorICAgICAgICAgICAgc2VsZi5wYWdlLmRyaXZl ci5maW5kX2VsZW1lbnRfYnlfdGFnX25hbWUoImlmcmFtZSIpKQorCisgICAgICAgIHNjcmF0Y2hf cGFkX2VsZSA9IHNlbGYucGFnZS5maW5kX2J5X2Nzc19zZWxlY3RvcigKKyAgICAgICAgICAgIFF1 ZXJ5VG9vbExvY2F0b3JzLnNjcmF0Y2hfcGFkX2NzcykKKyAgICAgICAgc2VsZi5wYWdlLnBhc3Rl X3ZhbHVlcyhzY3JhdGNoX3BhZF9lbGUpCisgICAgICAgIGNsaXBib2FyZF90ZXh0ID0gc2NyYXRj aF9wYWRfZWxlLmdldF9hdHRyaWJ1dGUoInZhbHVlIikKKwogICAgICAgICBzZWxmLmFzc2VydEVx dWFsKCciU29tZS1OYW1lIlx0Nlx0InNvbWUgaW5mbyInLAotICAgICAgICAgICAgICAgICAgICAg ICAgIHB5cGVyY2xpcC5wYXN0ZSgpKQorICAgICAgICAgICAgICAgICAgICAgICAgIGNsaXBib2Fy ZF90ZXh0KQogCi0gICAgZGVmIF90ZXN0X2NvcGllc19jb2x1bW5zKHNlbGYpOgotICAgICAgICBw eXBlcmNsaXAuY29weSgib2xkIGNsaXBib2FyZCBjb250ZW50cyIpCisgICAgICAgIHNjcmF0Y2hf cGFkX2VsZS5jbGVhcigpCiAKKyAgICBkZWYgX3Rlc3RfY29waWVzX2NvbHVtbnMoc2VsZik6CiAg ICAgICAgIHNlbGYucGFnZS5kcml2ZXIuc3dpdGNoX3RvLmRlZmF1bHRfY29udGVudCgpCiAgICAg ICAgIHNlbGYucGFnZS5kcml2ZXIuc3dpdGNoX3RvX2ZyYW1lKAogICAgICAgICAgICAgc2VsZi5w YWdlLmRyaXZlci5maW5kX2VsZW1lbnRfYnlfdGFnX25hbWUoImlmcmFtZSIpKQpAQCAtMTIxLDkg KzEyOCwyMCBAQCBjbGFzcyBRdWVyeVRvb2xKb3VybmV5VGVzdChCYXNlRmVhdHVyZVRlc3QpOgog ICAgICAgICAgICAgUXVlcnlUb29sTG9jYXRvcnMuY29weV9idXR0b25fY3NzKQogICAgICAgICBj b3B5X2J0bi5jbGljaygpCiAKLSAgICAgICAgc2VsZi5hc3NlcnRUcnVlKCciU29tZS1OYW1lIicg aW4gcHlwZXJjbGlwLnBhc3RlKCkpCi0gICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZSgnIlNvbWUtT3Ro ZXItTmFtZSInIGluIHB5cGVyY2xpcC5wYXN0ZSgpKQotICAgICAgICBzZWxmLmFzc2VydFRydWUo JyJZZXQtQW5vdGhlci1OYW1lIicgaW4gcHlwZXJjbGlwLnBhc3RlKCkpCisgICAgICAgIHNlbGYu cGFnZS5kcml2ZXIuc3dpdGNoX3RvLmRlZmF1bHRfY29udGVudCgpCisgICAgICAgIHNlbGYucGFn ZS5kcml2ZXIuc3dpdGNoX3RvX2ZyYW1lKAorICAgICAgICAgICAgc2VsZi5wYWdlLmRyaXZlci5m aW5kX2VsZW1lbnRfYnlfdGFnX25hbWUoImlmcmFtZSIpKQorCisgICAgICAgIHNjcmF0Y2hfcGFk X2VsZSA9IHNlbGYucGFnZS5maW5kX2J5X2Nzc19zZWxlY3RvcigKKyAgICAgICAgICAgIFF1ZXJ5 VG9vbExvY2F0b3JzLnNjcmF0Y2hfcGFkX2NzcykKKyAgICAgICAgc2VsZi5wYWdlLnBhc3RlX3Zh bHVlcyhzY3JhdGNoX3BhZF9lbGUpCisKKyAgICAgICAgY2xpcGJvYXJkX3RleHQgPSBzY3JhdGNo X3BhZF9lbGUuZ2V0X2F0dHJpYnV0ZSgidmFsdWUiKQorCisgICAgICAgIHNlbGYuYXNzZXJ0VHJ1 ZSgnIlNvbWUtTmFtZSInIGluIGNsaXBib2FyZF90ZXh0KQorICAgICAgICBzZWxmLmFzc2VydFRy dWUoJyJTb21lLU90aGVyLU5hbWUiJyBpbiBjbGlwYm9hcmRfdGV4dCkKKyAgICAgICAgc2VsZi5h c3NlcnRUcnVlKCciWWV0LUFub3RoZXItTmFtZSInIGluIGNsaXBib2FyZF90ZXh0KQorICAgICAg ICBzY3JhdGNoX3BhZF9lbGUuY2xlYXIoKQogCiAgICAgZGVmIF90ZXN0X2hpc3RvcnlfdGFiKHNl bGYpOgogICAgICAgICBzZWxmLnBhZ2UuY2xlYXJfcXVlcnlfdG9vbCgpCkBAIC0zNzAsMTAgKzM4 OCwxMCBAQCBjbGFzcyBRdWVyeVRvb2xKb3VybmV5VGVzdChCYXNlRmVhdHVyZVRlc3QpOgogICAg ICAgICAgICAgc2VsZi5wYWdlLmZpbmRfYnlfY3NzX3NlbGVjdG9yKAogICAgICAgICAgICAgICAg IFF1ZXJ5VG9vbExvY2F0b3JzLmJ0bl9jbGVhcl9kcm9wZG93bikKICAgICAgICAgKQotICAgICAg ICBBY3Rpb25DaGFpbnMoc2VsZi5kcml2ZXIpXAorICAgICAgICBBY3Rpb25DaGFpbnMoc2VsZi5k cml2ZXIpIFwKICAgICAgICAgICAgIC5tb3ZlX3RvX2VsZW1lbnQoCi0gICAgICAgICAgICAgICAg c2VsZi5wYWdlLmZpbmRfYnlfY3NzX3NlbGVjdG9yKAotICAgICAgICAgICAgICAgICAgICBRdWVy eVRvb2xMb2NhdG9ycy5idG5fY2xlYXJfaGlzdG9yeSkpLnBlcmZvcm0oKQorICAgICAgICAgICAg c2VsZi5wYWdlLmZpbmRfYnlfY3NzX3NlbGVjdG9yKAorICAgICAgICAgICAgICAgIFF1ZXJ5VG9v bExvY2F0b3JzLmJ0bl9jbGVhcl9oaXN0b3J5KSkucGVyZm9ybSgpCiAgICAgICAgIHNlbGYucGFn ZS5jbGlja19lbGVtZW50KAogICAgICAgICAgICAgc2VsZi5wYWdlLmZpbmRfYnlfY3NzX3NlbGVj dG9yKFF1ZXJ5VG9vbExvY2F0b3JzLmJ0bl9jbGVhcl9oaXN0b3J5KQogICAgICAgICApCmRpZmYg LS1naXQgYS93ZWIvcGdhZG1pbi9mZWF0dXJlX3Rlc3RzL3ZpZXdfZGF0YV9kbWxfcXVlcmllcy5w eSBiL3dlYi9wZ2FkbWluL2ZlYXR1cmVfdGVzdHMvdmlld19kYXRhX2RtbF9xdWVyaWVzLnB5Cmlu ZGV4IDNmNTNkODYuLjIxOTIxY2MgMTAwNjQ0Ci0tLSBhL3dlYi9wZ2FkbWluL2ZlYXR1cmVfdGVz dHMvdmlld19kYXRhX2RtbF9xdWVyaWVzLnB5CisrKyBiL3dlYi9wZ2FkbWluL2ZlYXR1cmVfdGVz dHMvdmlld19kYXRhX2RtbF9xdWVyaWVzLnB5CkBAIC0xMzEsMTMgKzEzMSwxNSBAQCBDUkVBVEUg VEFCTEUgcHVibGljLm5vbmludHBrZXkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIHNlbGYudGVzdF9kYiwgJ3B1YmxpYycpCiAKICAgICAgICAgc2VsZi5fbG9hZF9j b25maWdfZGF0YSgndGFibGVfaW5zZXJ0X3VwZGF0ZV9jYXNlcycpCisgICAgICAgIGRhdGFfbG9j YWwgPSBjb25maWdfZGF0YQogICAgICAgICAjIGl0ZXJhdGUgb24gYm90aCB0YWJsZXMKICAgICAg ICAgZm9yIGNudCBpbiAoMSwgMik6Ci0gICAgICAgICAgICBzZWxmLl9wZXJmb3JtX3Rlc3RfZm9y X3RhYmxlKCdkZWZhdWx0c197MH0nLmZvcm1hdChzdHIoY250KSkpCi0KKyAgICAgICAgICAgIHNl bGYuX3BlcmZvcm1fdGVzdF9mb3JfdGFibGUoJ2RlZmF1bHRzX3swfScuZm9ybWF0KHN0cihjbnQp KSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YV9sb2NhbCkK ICAgICAgICAgIyB0ZXN0IG5vbmludCBwa2V5IHRhYmxlCiAgICAgICAgIHNlbGYuX2xvYWRfY29u ZmlnX2RhdGEoJ3RhYmxlX2luc2VydF91cGRhdGVfbm9uaW50JykKLSAgICAgICAgc2VsZi5fcGVy Zm9ybV90ZXN0X2Zvcl90YWJsZSgnbm9uaW50cGtleScpCisgICAgICAgIGRhdGFfbG9jYWwgPSBj b25maWdfZGF0YQorICAgICAgICBzZWxmLl9wZXJmb3JtX3Rlc3RfZm9yX3RhYmxlKCdub25pbnRw a2V5JywgZGF0YV9sb2NhbCkKIAogICAgIGRlZiBhZnRlcihzZWxmKToKICAgICAgICAgc2VsZi5w YWdlLnJlbW92ZV9zZXJ2ZXIoc2VsZi5zZXJ2ZXIpCkBAIC0xNjcsNyArMTY5LDcgQEAgQ1JFQVRF IFRBQkxFIHB1YmxpYy5ub25pbnRwa2V5CiAgICAgICAgIGdsb2JhbCBjb25maWdfZGF0YQogICAg ICAgICBjb25maWdfZGF0YSA9IGNvbmZpZ19kYXRhX2pzb25bY29uZmlnX2tleV0KIAotICAgIGRl ZiBfcGVyZm9ybV90ZXN0X2Zvcl90YWJsZShzZWxmLCB0YWJsZV9uYW1lKToKKyAgICBkZWYgX3Bl cmZvcm1fdGVzdF9mb3JfdGFibGUoc2VsZiwgdGFibGVfbmFtZSwgY29uZmlnX2RhdGFfbG9jYWwp OgogICAgICAgICBzZWxmLnBhZ2UuY2xpY2tfYV90cmVlX25vZGUoCiAgICAgICAgICAgICB0YWJs ZV9uYW1lLAogICAgICAgICAgICAgVHJlZUFyZWFMb2NhdG9ycy5zdWJfbm9kZXNfb2ZfdGFibGVz X25vZGUpCkBAIC0xNzYsMjAgKzE3OCwyMSBAQCBDUkVBVEUgVEFCTEUgcHVibGljLm5vbmludHBr ZXkKIAogICAgICAgICBzZWxmLnBhZ2Uud2FpdF9mb3JfcXVlcnlfdG9vbF9sb2FkaW5nX2luZGlj YXRvcl90b19kaXNhcHBlYXIoKQogICAgICAgICAjIFJ1biB0ZXN0IHRvIGluc2VydCBhIG5ldyBy b3cgaW4gdGFibGUgd2l0aCBkZWZhdWx0IHZhbHVlcwotICAgICAgICBzZWxmLl9hZGRfcm93KCkK KyAgICAgICAgc2VsZi5fYWRkX3Jvdyhjb25maWdfZGF0YV9sb2NhbCkKICAgICAgICAgc2VsZi5f dmVyaWZ5X3Jvd19kYXRhKHJvd19oZWlnaHQ9MCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIGNvbmZpZ19jaGVja19kYXRhPWNvbmZpZ19kYXRhWydhZGQnXSkKKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIGNvbmZpZ19jaGVja19kYXRhPWNvbmZpZ19kYXRhX2xvY2FsWydhZGQn XSkKIAogICAgICAgICAjIFJ1biB0ZXN0IHRvIGNvcHkvcGFzdGUgYSByb3cKLSAgICAgICAgc2Vs Zi5fY29weV9wYXN0ZV9yb3coKQorICAgICAgICBzZWxmLl9jb3B5X3Bhc3RlX3Jvdyhjb25maWdf ZGF0YV9sb2NhbCkKIAotICAgICAgICBzZWxmLl91cGRhdGVfcm93KCkKKyAgICAgICAgc2VsZi5f dXBkYXRlX3Jvdyhjb25maWdfZGF0YV9sb2NhbCkKICAgICAgICAgc2VsZi5wYWdlLmNsaWNrX3Rh YigiTWVzc2FnZXMiKQogICAgICAgICBzZWxmLl92ZXJpZnlfbWVzc3NhZ2VzKCIiKQogICAgICAg ICBzZWxmLnBhZ2UuY2xpY2tfdGFiKCJEYXRhIE91dHB1dCIpCiAgICAgICAgIHVwZGF0ZWRfcm93 X2RhdGEgPSB7Ci0gICAgICAgICAgICBpOiBjb25maWdfZGF0YVsndXBkYXRlJ11baV0gaWYgaSBp biBjb25maWdfZGF0YVsndXBkYXRlJ10gZWxzZSB2YWwKLSAgICAgICAgICAgIGZvciBpLCB2YWwg aW4gY29uZmlnX2RhdGFbJ2FkZCddLml0ZW1zKCkKKyAgICAgICAgICAgIGk6IGNvbmZpZ19kYXRh X2xvY2FsWyd1cGRhdGUnXVtpXSBpZiBpIGluIGNvbmZpZ19kYXRhX2xvY2FsWworICAgICAgICAg ICAgICAgICd1cGRhdGUnXSBlbHNlIHZhbAorICAgICAgICAgICAgZm9yIGksIHZhbCBpbiBjb25m aWdfZGF0YV9sb2NhbFsnYWRkJ10uaXRlbXMoKQogICAgICAgICB9CiAgICAgICAgIHNlbGYuX3Zl cmlmeV9yb3dfZGF0YShyb3dfaGVpZ2h0PTAsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBjb25maWdfY2hlY2tfZGF0YT11cGRhdGVkX3Jvd19kYXRhKQpAQCAtMjIxLDcgKzIyNCw2IEBA IENSRUFURSBUQUJMRSBwdWJsaWMubm9uaW50cGtleQogICAgICAgICBSZXR1cm5zOiBOb25lCiAK ICAgICAgICAgIiIiCi0KICAgICAgICAgc2VsZi53YWl0LnVudGlsKEVDLnZpc2liaWxpdHlfb2Zf ZWxlbWVudF9sb2NhdGVkKAogICAgICAgICAgICAgKEJ5LlhQQVRILCB4cGF0aCkpLCBDaGVja0Zv clZpZXdEYXRhVGVzdC5USU1FT1VUX1NUUklORwogICAgICAgICApCkBAIC0yMzgsNyArMjQwLDcg QEAgQ1JFQVRFIFRBQkxFIHB1YmxpYy5ub25pbnRwa2V5CiAgICAgICAgICAgICBpZiB2YWx1ZSA9 PSAnY2xlYXInOgogICAgICAgICAgICAgICAgIGNlbGxfZWwuZmluZF9lbGVtZW50X2J5X2Nzc19z ZWxlY3RvcignaW5wdXQnKS5jbGVhcigpCiAgICAgICAgICAgICBlbHNlOgotICAgICAgICAgICAg ICAgIEFjdGlvbkNoYWlucyhzZWxmLmRyaXZlcikuc2VuZF9rZXlzKHZhbHVlKS5cCisgICAgICAg ICAgICAgICAgQWN0aW9uQ2hhaW5zKHNlbGYuZHJpdmVyKS5zZW5kX2tleXModmFsdWUpLiBcCiAg ICAgICAgICAgICAgICAgICAgIHNlbmRfa2V5cyhLZXlzLkVOVEVSKS5wZXJmb3JtKCkKICAgICAg ICAgZWxpZiBjZWxsX3R5cGUgaW4gWyd0ZXh0JywgJ2pzb24nLCAndGV4dFtdJywgJ2Jvb2xlYW5b XSddOgogICAgICAgICAgICAgdGV4dF9hcmVhX2VsZSA9IHNlbGYucGFnZS5maW5kX2J5X2Nzc19z ZWxlY3RvcigKQEAgLTI5MCw3ICsyOTIsNyBAQCBDUkVBVEUgVEFCTEUgcHVibGljLm5vbmludHBr ZXkKICAgICAgICAgICAgIHNlbGYucGFnZS5kcml2ZXIuZmluZF9lbGVtZW50X2J5X3RhZ19uYW1l KCdpZnJhbWUnKQogICAgICAgICApCiAKLSAgICBkZWYgX2NvcHlfcGFzdGVfcm93KHNlbGYpOgor ICAgIGRlZiBfY29weV9wYXN0ZV9yb3coc2VsZiwgY29uZmlnX2RhdGFfbCk6CiAgICAgICAgIHJv dzBfY2VsbDBfeHBhdGggPSBDaGVja0ZvclZpZXdEYXRhVGVzdC5fZ2V0X2NlbGxfeHBhdGgoInIw IiwgMSkKIAogICAgICAgICBzZWxmLnBhZ2UuZmluZF9ieV94cGF0aChyb3cwX2NlbGwwX3hwYXRo KS5jbGljaygpCkBAIC0zMDAsMTIgKzMwMiwxMiBAQCBDUkVBVEUgVEFCTEUgcHVibGljLm5vbmlu dHBrZXkKICAgICAgICAgICAgIFF1ZXJ5VG9vbExvY2F0b3JzLnBhc3RlX2J1dHRvbl9jc3MpLmNs aWNrKCkKIAogICAgICAgICAjIFVwZGF0ZSBwcmltYXJ5IGtleSBvZiBjb3BpZWQgY2VsbAotICAg ICAgICBzZWxmLl9hZGRfdXBkYXRlX3NhdmVfcm93KGNvbmZpZ19kYXRhWydjb3B5J10sIHJvdz0y KQorICAgICAgICBzZWxmLl9hZGRfdXBkYXRlX3NhdmVfcm93KGNvbmZpZ19kYXRhX2xbJ2NvcHkn XSwgcm93PTIpCiAKICAgICAgICAgIyBWZXJpZnkgcm93IDEgYW5kIHJvdyAyIGRhdGEKICAgICAg ICAgdXBkYXRlZF9yb3dfZGF0YSA9IHsKLSAgICAgICAgICAgIGk6IGNvbmZpZ19kYXRhWydjb3B5 J11baV0gaWYgaSBpbiBjb25maWdfZGF0YVsnY29weSddIGVsc2UgdmFsCi0gICAgICAgICAgICBm b3IgaSwgdmFsIGluIGNvbmZpZ19kYXRhWydhZGQnXS5pdGVtcygpCisgICAgICAgICAgICBpOiBj b25maWdfZGF0YV9sWydjb3B5J11baV0gaWYgaSBpbiBjb25maWdfZGF0YV9sWydjb3B5J10gZWxz ZSB2YWwKKyAgICAgICAgICAgIGZvciBpLCB2YWwgaW4gY29uZmlnX2RhdGFfbFsnYWRkJ10uaXRl bXMoKQogICAgICAgICB9CiAgICAgICAgIHNlbGYuX3ZlcmlmeV9yb3dfZGF0YShyb3dfaGVpZ2h0 PTI1LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uZmlnX2NoZWNrX2RhdGE9dXBk YXRlZF9yb3dfZGF0YSkKQEAgLTMyOSwxMSArMzMxLDExIEBAIENSRUFURSBUQUJMRSBwdWJsaWMu bm9uaW50cGtleQogICAgICAgICAjIHNhdmUgYWpheCBpcyBjb21wbGV0ZWQuCiAgICAgICAgIHRp bWUuc2xlZXAoMikKIAotICAgIGRlZiBfYWRkX3JvdyhzZWxmKToKLSAgICAgICAgc2VsZi5fYWRk X3VwZGF0ZV9zYXZlX3Jvdyhjb25maWdfZGF0YVsnYWRkJ10sIDEpCisgICAgZGVmIF9hZGRfcm93 KHNlbGYsIGNvbmZpZ19kYXRhX2wpOgorICAgICAgICBzZWxmLl9hZGRfdXBkYXRlX3NhdmVfcm93 KGNvbmZpZ19kYXRhX2xbJ2FkZCddLCAxKQogCi0gICAgZGVmIF91cGRhdGVfcm93KHNlbGYpOgot ICAgICAgICBzZWxmLl9hZGRfdXBkYXRlX3NhdmVfcm93KGNvbmZpZ19kYXRhWyd1cGRhdGUnXSwg MSkKKyAgICBkZWYgX3VwZGF0ZV9yb3coc2VsZiwgY29uZmlnX2RhdGFfbCk6CisgICAgICAgIHNl bGYuX2FkZF91cGRhdGVfc2F2ZV9yb3coY29uZmlnX2RhdGFfbFsndXBkYXRlJ10sIDEpCiAKICAg ICBkZWYgX3ZlcmlmeV9tZXNzc2FnZXMoc2VsZiwgdGV4dCk6CiAgICAgICAgIG1lc3NhZ2VzX2Vs ZSA9IHNlbGYucGFnZS5maW5kX2J5X2Nzc19zZWxlY3RvcigKZGlmZiAtLWdpdCBhL3dlYi9wZ2Fk bWluL2ZlYXR1cmVfdGVzdHMveHNzX2NoZWNrc19wYW5lbHNfYW5kX3F1ZXJ5X3Rvb2xfdGVzdC5w eSBiL3dlYi9wZ2FkbWluL2ZlYXR1cmVfdGVzdHMveHNzX2NoZWNrc19wYW5lbHNfYW5kX3F1ZXJ5 X3Rvb2xfdGVzdC5weQppbmRleCA5ZWZhZDhhLi42OWMzY2JhIDEwMDY0NAotLS0gYS93ZWIvcGdh ZG1pbi9mZWF0dXJlX3Rlc3RzL3hzc19jaGVja3NfcGFuZWxzX2FuZF9xdWVyeV90b29sX3Rlc3Qu cHkKKysrIGIvd2ViL3BnYWRtaW4vZmVhdHVyZV90ZXN0cy94c3NfY2hlY2tzX3BhbmVsc19hbmRf cXVlcnlfdG9vbF90ZXN0LnB5CkBAIC0yMTEsMTcgKzIxMSwyMyBAQCBjbGFzcyBDaGVja0Zvclhz c0ZlYXR1cmVUZXN0KEJhc2VGZWF0dXJlVGVzdCk6CiAgICAgICAgICAgICAiUXVlcnkgdG9vbCAo SGlzdG9yeSBFbnRyeSkiCiAgICAgICAgICkKIAotICAgICAgICAjIENoZWNrIGZvciBoaXN0b3J5 IGRldGFpbHMgbWVzc2FnZQotICAgICAgICBoaXN0b3J5X2VsZSA9IHNlbGYuZHJpdmVyXAotICAg ICAgICAgICAgLmZpbmRfZWxlbWVudF9ieV9jc3Nfc2VsZWN0b3IoIi5xdWVyeS1kZXRhaWwgLmNv bnRlbnQtdmFsdWUiKQotCi0gICAgICAgIHNvdXJjZV9jb2RlID0gaGlzdG9yeV9lbGUuZ2V0X2F0 dHJpYnV0ZSgnaW5uZXJIVE1MJykKKyAgICAgICAgcmV0cnkgPSAyCisgICAgICAgIHdoaWxlIHJl dHJ5ID4gMDoKKyAgICAgICAgICAgIHRyeToKKyAgICAgICAgICAgICAgICBoaXN0b3J5X2VsZSA9 IHNlbGYuZHJpdmVyIFwKKyAgICAgICAgICAgICAgICAgICAgLmZpbmRfZWxlbWVudF9ieV9jc3Nf c2VsZWN0b3IoCisgICAgICAgICAgICAgICAgICAgICAgICAiLnF1ZXJ5LWRldGFpbCAuY29udGVu dC12YWx1ZSIpCisgICAgICAgICAgICAgICAgc291cmNlX2NvZGUgPSBoaXN0b3J5X2VsZS5nZXRf YXR0cmlidXRlKCdpbm5lckhUTUwnKQorICAgICAgICAgICAgICAgIGJyZWFrCisgICAgICAgICAg ICBleGNlcHQgU3RhbGVFbGVtZW50UmVmZXJlbmNlRXhjZXB0aW9uOgorICAgICAgICAgICAgICAg IHJldHJ5IC09IDEKIAogICAgICAgICBzZWxmLl9jaGVja19lc2NhcGVkX2NoYXJhY3RlcnMoCiAg ICAgICAgICAgICBzb3VyY2VfY29kZSwKICAgICAgICAgICAgICcmbHQ7c2NyaXB0Jmd0O2FsZXJ0 KDEpJmx0Oy9zY3JpcHQmZ3Q7JywKICAgICAgICAgICAgICJRdWVyeSB0b29sIChIaXN0b3J5IERl dGFpbHMtTWVzc2FnZSkiCiAgICAgICAgICkKKwogICAgICAgICByZXRyeSA9IDIKICAgICAgICAg d2hpbGUgcmV0cnkgPiAwOgogICAgICAgICAgICAgdHJ5OgpkaWZmIC0tZ2l0IGEvd2ViL3BnYWRt aW4vdXRpbHMvcm91dGUucHkgYi93ZWIvcGdhZG1pbi91dGlscy9yb3V0ZS5weQppbmRleCBhODAz MTBlLi5mYWZmNTJhIDEwMDY0NAotLS0gYS93ZWIvcGdhZG1pbi91dGlscy9yb3V0ZS5weQorKysg Yi93ZWIvcGdhZG1pbi91dGlscy9yb3V0ZS5weQpAQCAtMTIwLDkgKzEyMCw4IEBAIGNsYXNzIEJh c2VUZXN0R2VuZXJhdG9yKHVuaXR0ZXN0LlRlc3RDYXNlKToKICAgICAgICAgICAgICAgICAgICAg c2VsZi5za2lwVGVzdCgnY2Fubm90IHJ1biBpbjogJXMnICUKICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBzZXJ2ZXJfY29uWydkYXRhJ11bJ3R5cGUnXSkKIAotICAgIEBjbGFzc21l dGhvZAotICAgIGRlZiBzZXRUZXN0U2VydmVyKGNscywgc2VydmVyKToKLSAgICAgICAgY2xzLnNl cnZlciA9IHNlcnZlcgorICAgIGRlZiBzZXRUZXN0U2VydmVyKHNlbGYsIHNlcnZlcik6CisgICAg ICAgIHNlbGYuc2VydmVyID0gc2VydmVyCiAKICAgICBAYWJzdHJhY3RtZXRob2QKICAgICBkZWYg cnVuVGVzdChzZWxmKToKQEAgLTEzNywxNyArMTM2LDE0IEBAIGNsYXNzIEJhc2VUZXN0R2VuZXJh dG9yKHVuaXR0ZXN0LlRlc3RDYXNlKToKICAgICBkZWYgc2V0VGVzdENsaWVudChjbHMsIHRlc3Rf Y2xpZW50KToKICAgICAgICAgY2xzLnRlc3RlciA9IHRlc3RfY2xpZW50CiAKLSAgICBAY2xhc3Nt ZXRob2QKLSAgICBkZWYgc2V0RHJpdmVyKGNscywgZHJpdmVyKToKLSAgICAgICAgY2xzLmRyaXZl ciA9IGRyaXZlcgorICAgIGRlZiBzZXREcml2ZXIoc2VsZiwgZHJpdmVyKToKKyAgICAgICAgc2Vs Zi5kcml2ZXIgPSBkcml2ZXIKIAotICAgIEBjbGFzc21ldGhvZAotICAgIGRlZiBzZXRTZXJ2ZXJJ bmZvcm1hdGlvbihjbHMsIHNlcnZlcl9pbmZvcm1hdGlvbik6Ci0gICAgICAgIGNscy5zZXJ2ZXJf aW5mb3JtYXRpb24gPSBzZXJ2ZXJfaW5mb3JtYXRpb24KKyAgICBkZWYgc2V0U2VydmVySW5mb3Jt YXRpb24oc2VsZiwgc2VydmVyX2luZm9ybWF0aW9uKToKKyAgICAgICAgc2VsZi5zZXJ2ZXJfaW5m b3JtYXRpb24gPSBzZXJ2ZXJfaW5mb3JtYXRpb24KIAotICAgIEBjbGFzc21ldGhvZAotICAgIGRl ZiBzZXRUZXN0RGF0YWJhc2VOYW1lKGNscywgZGF0YWJhc2VfbmFtZSk6Ci0gICAgICAgIGNscy50 ZXN0X2RiID0gZGF0YWJhc2VfbmFtZQorICAgIGRlZiBzZXRUZXN0RGF0YWJhc2VOYW1lKHNlbGYs IGRhdGFiYXNlX25hbWUpOgorICAgICAgICBzZWxmLnRlc3RfZGIgPSBkYXRhYmFzZV9uYW1lCiAK ICAgICBAY2xhc3NtZXRob2QKICAgICBkZWYgc2V0UmVTUUxNb2R1bGVMaXN0KGNscywgbW9kdWxl X2xpc3QpOgpkaWZmIC0tZ2l0IGEvd2ViL3JlZ3Jlc3Npb24vUkVBRE1FIGIvd2ViL3JlZ3Jlc3Np b24vUkVBRE1FCmluZGV4IDQ2YWRmY2MuLmE3NjQ1NjUgMTAwNjQ0Ci0tLSBhL3dlYi9yZWdyZXNz aW9uL1JFQURNRQorKysgYi93ZWIvcmVncmVzc2lvbi9SRUFETUUKQEAgLTE0MSw2ICsxNDEsNTkg QEAgUHl0aG9uIFRlc3RzOgogICBhbmQgcmVnaXN0ZXJlZCBhdXRvbWF0aWNhbGx5IGJ5IGl0cyBt b2R1bGUgbmFtZSBpbgogICAncGdhZG1pbjQvd2ViL3BnYWRtaW4vdXRpbHMvdGVzdC5weScgZmls ZS4KIAorLSBUbyBydW4gRmVhdHVyZSBUZXN0cyBpbiBwYXJhbGxlbCB1c2luZyBzZWxlbm9pZChn cmlkICsgZG9ja2VyKSwgc2VsZW5vaWQKKyAgbmVlZCB0byBiZSBpbnN0YWxsZWQuIFN0ZXBzIHRv IGluc3RhbGwgc2VsZW5vaWQgLQorCisgIC0gSW5zdGFsbCAmIFN0YXJ0IGRvY2tlcgorICAgICR5 dW0gLXkgaW5zdGFsbCBkb2NrZXIgZG9ja2VyLXJlZ2lzdHJ5CisgICAgJHZpIC9ldGMvc3lzY29u ZmlnL2RvY2tlciAgICMgaW4gT1BUSU9OUyBhZGQg4oCYLS1zZWxpbnV4LWVuYWJsZWQ9ZmFsc2Xi gJkKKyAgICAkc3lzdGVtY3RsIGVuYWJsZSBkb2NrZXIuc2VydmljZQorICAgICRzeXN0ZW1jdGwg c3RhcnQgZG9ja2VyLnNlcnZpY2UKKyAgICAkc3lzdGVtY3RsIHN0YXR1cyBkb2NrZXIuc2Vydmlj ZQorCisgIC0gSW5zdGFsbCAmIFN0YXJ0IFNlbGVub2lkCisgICAgJGN1cmwgLXMgaHR0cHM6Ly9h ZXJva3ViZS5jb20vY20vYmFzaCB8IGJhc2gKKyAgICAkLi9jbSBzZWxlbm9pZCBzdGFydCAtLXZu YyAtLWFyZ3MgIi1saW1pdCAzIC1jcHUgMS41IC1tZW0gMS41ZyIKKyAgICAkLi9jbSBzZWxlbm9p ZC11aSBzdGFydAorICAgIENoZWNrIHNlbGVub2lkIHN0YXR1cyAtCisgICAgaHR0cDovLzxJUCBh ZGRyZXNzIG9mIFNlbGVub2lkIEluc3RhbGxlZCBtYWNoaW5lPjo0NDQ0L3N0YXR1cworICAgICAg ICAgICAgLSBTaG91bGQgc2hvdyBqc29uIHdpdGggYnJvd3NlcnMgZGV0YWlscworICAgIGh0dHA6 Ly88SVAgYWRkcmVzcyBvZiBTZWxlbm9pZCBJbnN0YWxsZWQgbWFjaGluZT46ODA4MC8jLworICAg ICAgICAgICAgLSBDYXBhYmlsaXRpZXMgc2hvd3MgYXZhaWxhYmxlIGJyb3dzZXIKKyAgICBOb3Rl IDogSW4gLS1hcmdzICItbGltaXQgMyAtY3B1IDEuNSAtbWVtIDEuNWciCisgICAgICAgICAgICAg ICAgLWxpbWl0IDMgOmxpbWl0cyBtYXhpbXVtIHBhcmFsbGVsIHNlc3Npb25zKGRvY2tlcnMpIGlu IHNlbGVub2lkLAorICAgICAgICAgICAgICAgIC1jcHUgOmxpbWl0IG1lbW9yeSBhbmQgQ1BVIHVz YWdlLAorICAgICAgICAgICAgICAgIC1tZW0gOmxpbWl0IG1lbW9yeSBwZXIgc2Vzc2lvbi4KKyAg ICAgICAgICAgR2VuZXJhbGx5IG1heCBwYXJhbGxlbCBzZXNzaW9uIGlzIHRoZSBudW1iZXIgb2Yg Y29yZXMgKiAxLjUg4oCTIDIKKyAgICAgICAgICAgWW91IGNhbiBsaXN0IGF2YWlsYWJsZSBmbGFn cyBieSB1c2luZyAuL2NtIHNlbGVub2lkIGFyZ3MKKyAgICBBZGRpdGlvbmFsIEluZm9ybWF0aW9u IGFib3V0IHRvb2wKKyAgICAgICAgICAgIC0gaHR0cHM6Ly9hZXJva3ViZS5jb20vc2VsZW5vaWQv bGF0ZXN0LworCisgIC0gVXBkYXRlICd0ZXN0X2NvbmZpZy5qc29uJyB3aXRoIHNlbGVub2lkIHJl bGF0ZWQgaW5mbyBsaWtlCisgICAgcGdBZG1pbl9kZWZhdWx0X3NlcnZlciAtCisgICAgICAgIEl0 IGlzIHRoZSBJUCBhZGRyZXNzIGZvciB0aGUgbWFjaGluZSB3aGVyZSBwZ2FkbWluIHNvdXJjZSBj b2RlIGlzCisgICAgICAgIHByZXNlbnQuCisgICAgICAgIFlvdSBjYW4gZ2V0IGl0IG9uIGxpbnV4 IHJ1bm5pbmcgY29tbWFuZCAgJ2lmY29uZmlnIHwgZ3JlcCBpbmV0JworICAgICAgICBlLmcuIC0g MTkyLjE2OC4xNDMuMTIxCisgICAgbWF4X3BhcmFsbGVsX3Nlc3Npb25zIC0KKyAgICAgICAgVGhp cyBpcyBvdGhlciB3YXkgdG8gY29udHJvbCBudW1iZXIgb2YgdGVzdHMgdG8gYmUgcnVuIGluIHBh cmFsbGVsLgorICAgICAgICBUaGlzIHNob3VsZCBiZSBlcXVhbCBvciBsZXNzIHRoYW4gbGltaXQg c3BlY2lmaWVkIHdoaWxlIHNldHRpbmcgdXAKKyAgICAgICAgc2VsZW5vaWQKKyAgICBjcm9zc19C cm93c2VycyAtCisgICAgICAgIExpc3Qgb2YgYnJvd3NlciBuYW1lICYgdmVyc2lvbiBlbmNsb3Nl ZCBpbiB7fSBvbiB3aGljaCB0ZXN0cyB0byBiZQorICAgICAgICBleGVjdXRlZC4KKyAgICAgICAg TWFrZSBzdXJlIGxpc3QgY29udGFpbnMgdGhvc2UgYnJvd3NlcnMgJiB2ZXJzaW9ucyBvbmx5IHdo aWNoIGFyZSBzaG93bgorICAgICAgICBpbiBjYXBhYmlsaXRpZXMgdGFiIHdoaWxlIGluIHNlbGVu b2lkIHN0YXR1cyB3ZWItcGFnZS4KKyAgICAgICAgSWYgdmVyc2lvbiBpcyBtZW50aW9uIGFzIG51 bGwsIHRoZW4gbGF0ZXN0IHZlcnNpb24gYXZhaWxhYmxlIGluCisgICAgICAgIHNlbGVub2lvZCBz ZXJ2ZXIgd2lsbCBiZSB1c2VkIGZvciBleGVjdXRpb24KKyAgICAgICAgZS5nLiAtIFsgeyJuYW1l IjogIkNocm9tZSIsInZlcnNpb24iOiAiODAuMCJ9LAorICAgICAgICAgICAgICAgICB7Im5hbWUi OiAiRmlyZWZveCIsInZlcnNpb24iOiAiNzQuMCJ9XQorICAgIHNlbGVub2lkIHVybCAtCisgICAg ICAgIFVybCBmb3JtZWQgYXMgYmVsb3cgLQorICAgICAgICBodHRwOi8vPElQIGFkZHJlc3Mgb2Yg U2VsZW5vaWQgSW5zdGFsbGVkIG1hY2hpbmU+OjQ0NDQvd2QvaHViLworICAgICAgICBlLmcuIC0g c2VsZW5vaWRfdXJsIjogImh0dHA6Ly8xOTIuMTY4LjE0My4xMjE6NDQ0NC93ZC9odWIiCisKKwog LSBDaGFuZ2UgdG8gdGhlIHJlZ3Jlc3Npb24gdGVzdCBkaXJlY3Rvcnk6CiAgICAgIHJ1biAnY2Qg d2ViL3JlZ3Jlc3Npb24nCiAKQEAgLTE5MCw5ICsyNDMsMTQgQEAgUHl0aG9uIFRlc3RzOgogICAg ICBFeGFtcGxlIDIpICBFeGVjdXRlIG9ubHkgcmV2ZXJzZSBlbmdpbmVlcmVkIFNRTCB0ZXN0IGZy YW1ld29yayBmb3Igc29tZSBtb2R1bGVzCiAgICAgICAgICBydW4gJ3B5dGhvbiBydW50ZXN0cy5w eSAtLXBrZyByZXNxbCAtLW1vZHVsZXMgc2VxdWVuY2VzLGZ1bmN0aW9ucycKIAorCiAgICAgIEV4 YW1wbGUgMykgRXhjbHVkZSByZXZlcnNlIGVuZ2luZWVyZWQgU1FMIHRlc3QgZnJhbWV3b3JrIGZv ciBhbGwgbW9kdWxlcwogICAgICAgICAgcnVuICdweXRob24gcnVudGVzdHMucHkgLS1leGNsdWRl IHJlc3FsJwogCistIEV4ZWN1dGUgdWkgc2VsZW5pdW0gdGVzdHMgaW4gcGFyYWxsZWwgdXNpbmcg c2VsZW5vaWQoc2VsZW5pdW0gZ3JpZCArIGRvY2tlcikKKyAgICAgRXhhbXBsZSA6IC0tcGtnIGZl YXR1cmVfdGVzdHMgLS1wYXJhbGxlbAorCisKIENvZGUgQ292ZXJhZ2U6CiAtLS0tLS0tLS0tLS0t LS0KIApkaWZmIC0tZ2l0IGEvd2ViL3JlZ3Jlc3Npb24vZmVhdHVyZV91dGlscy9hcHBfc3RhcnRl ci5weSBiL3dlYi9yZWdyZXNzaW9uL2ZlYXR1cmVfdXRpbHMvYXBwX3N0YXJ0ZXIucHkKaW5kZXgg ZmU0YzQ0MS4uN2RlMTBiMiAxMDA2NDQKLS0tIGEvd2ViL3JlZ3Jlc3Npb24vZmVhdHVyZV91dGls cy9hcHBfc3RhcnRlci5weQorKysgYi93ZWIvcmVncmVzc2lvbi9mZWF0dXJlX3V0aWxzL2FwcF9z dGFydGVyLnB5CkBAIC02MSwxMSArNjEsMTYgQEAgY2xhc3MgQXBwU3RhcnRlcjoKICAgICAgICAg ICAgICAgICAgICAgcmFpc2UgRXhjZXB0aW9uKCdVbmFibGUgdG8gc3RhcnQgcHl0aG9uIHNlcnZl ciBldmVuIGFmdGVyICcKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdyZXRy eWluZyA2MCB0aW1lcy4nKQogCi0gICAgICAgIGxhdW5jaF9icm93c2VyKDApCisgICAgICAgIGlm IHNlbGYuZHJpdmVyIGlzIG5vdCBOb25lOgorICAgICAgICAgICAgbGF1bmNoX2Jyb3dzZXIoMCkK KyAgICAgICAgZWxzZToKKyAgICAgICAgICAgIHJldHVybiAiaHR0cDovLyIgKyBzZWxmLmFwcF9j b25maWcuREVGQVVMVF9TRVJWRVIgKyAiOiIgXAorICAgICAgICAgICAgICAgICAgICsgcmFuZG9t X3NlcnZlcl9wb3J0CiAKICAgICBkZWYgc3RvcF9hcHAoc2VsZik6CiAgICAgICAgICIiIiBUaGlz IGZ1bmN0aW9uIHN0b3AgdGhlIHN0YXJ0ZWQgYXBwIGJ5IGtpbGxpbmcgcHJvY2VzcyAiIiIKLSAg ICAgICAgc2VsZi5kcml2ZXIucXVpdCgpCisgICAgICAgIGlmIHNlbGYuZHJpdmVyIGlzIG5vdCBO b25lOgorICAgICAgICAgICAgc2VsZi5kcml2ZXIucXVpdCgpCiAgICAgICAgICMgb3Mua2lsbHBn IHN1cHBvcnRlZCBpbiBNYWMgYW5kIFVuaXggYXMgdGhpcyBmdW5jdGlvbiBub3Qgc3VwcG9ydGVk IGluCiAgICAgICAgICMgV2luZG93cwogICAgICAgICB0cnk6CmRpZmYgLS1naXQgYS93ZWIvcmVn cmVzc2lvbi9mZWF0dXJlX3V0aWxzL2xvY2F0b3JzLnB5IGIvd2ViL3JlZ3Jlc3Npb24vZmVhdHVy ZV91dGlscy9sb2NhdG9ycy5weQppbmRleCBiODE2OWZhLi40NzU2MjMxIDEwMDY0NAotLS0gYS93 ZWIvcmVncmVzc2lvbi9mZWF0dXJlX3V0aWxzL2xvY2F0b3JzLnB5CisrKyBiL3dlYi9yZWdyZXNz aW9uL2ZlYXR1cmVfdXRpbHMvbG9jYXRvcnMucHkKQEAgLTE3Miw2ICsxNzIsOCBAQCBjbGFzcyBR dWVyeVRvb2xMb2NhdG9yczoKIAogICAgIG5ld19yb3dfeHBhdGggPSAiLy9kaXZbY29udGFpbnMo QGNsYXNzLCAnbmV3LXJvdycpXSIKIAorICAgIHNjcmF0Y2hfcGFkX2NzcyA9ICIuc3FsLXNjcmF0 Y2ggPiB0ZXh0YXJlYSIKKwogICAgIGNvcHlfYnV0dG9uX2NzcyA9ICIjYnRuLWNvcHktcm93Igog CiAgICAgcGFzdGVfYnV0dG9uX2NzcyA9ICIjYnRuLXBhc3RlLXJvdyIKQEAgLTIxNyw5ICsyMTks OSBAQCBjbGFzcyBRdWVyeVRvb2xMb2NhdG9yczoKICAgICBidG5fY29tbWl0ID0gIiNidG4tY29t bWl0IgogCiAgICAgc2hvd19xdWVyeV9pbnRlcm5hbGx5X2J0biA9IFwKLSAgICAgICAgIi8vZGl2 W2xhYmVsW25vcm1hbGl6ZS1zcGFjZSgiIFwKLSAgICAgICAgInRleHQoKSk9J1Nob3cgcXVlcmll cyBnZW5lcmF0ZWQgaW50ZXJuYWxseSBieSBwZ0FkbWluPyddXSIgXAotICAgICAgICAiLy9kaXZb Y29udGFpbnMoQGNsYXNzLCd0b2dnbGUgYnRuJyldIgorICAgICAgICAiLy9kaXZbbGFiZWxbY29u dGFpbnMobm9ybWFsaXplLXNwYWNlKHRleHQoKSksIiBcCisgICAgICAgICInU2hvdyBxdWVyaWVz IGdlbmVyYXRlZCBpbnRlcm5hbGx5IGJ5JyldXS8vIiBcCisgICAgICAgICJkaXZbY29udGFpbnMo QGNsYXNzLCd0b2dnbGUgYnRuJyldIgogCiAgICAgZWRpdGFibGVfY29sdW1uX2ljb25feHBhdGgg PSAiLy9kaXZbY29udGFpbnMoQGNsYXNzLCIgXAogICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIiAnZWRpdGFibGUtY29sdW1uLWhlYWRlci1pY29uJyldIiBcCmRpZmYgLS1naXQgYS93 ZWIvcmVncmVzc2lvbi9mZWF0dXJlX3V0aWxzL3BnYWRtaW5fcGFnZS5weSBiL3dlYi9yZWdyZXNz aW9uL2ZlYXR1cmVfdXRpbHMvcGdhZG1pbl9wYWdlLnB5CmluZGV4IGQ3ZThmZTMuLmQxMGI5ZWIg MTAwNjQ0Ci0tLSBhL3dlYi9yZWdyZXNzaW9uL2ZlYXR1cmVfdXRpbHMvcGdhZG1pbl9wYWdlLnB5 CisrKyBiL3dlYi9yZWdyZXNzaW9uL2ZlYXR1cmVfdXRpbHMvcGdhZG1pbl9wYWdlLnB5CkBAIC04 OCwxMSArODgsMTcgQEAgY2xhc3MgUGdhZG1pblBhZ2U6CiAgICAgICAgICAgICAoQnkuQ1NTX1NF TEVDVE9SLCAiYnV0dG9uW3R5cGU9J3NhdmUnXS5idG4uYnRuLXByaW1hcnkiKSkpCiAgICAgICAg IHNlbGYuZmluZF9ieV9jc3Nfc2VsZWN0b3IoImJ1dHRvblt0eXBlPSdzYXZlJ10uYnRuLmJ0bi1w cmltYXJ5IikuXAogICAgICAgICAgICAgY2xpY2soKQotCi0gICAgICAgIFdlYkRyaXZlcldhaXQo c2VsZi5kcml2ZXIsIDEwKS51bnRpbCgKLSAgICAgICAgICAgIEVDLnZpc2liaWxpdHlfb2ZfZWxl bWVudF9sb2NhdGVkKAotICAgICAgICAgICAgICAgIChCeS5YUEFUSCwKLSAgICAgICAgICAgICAg ICAgIi8vKltAaWQ9J3RyZWUnXS8vKlsuPSciICsgc2VydmVyX2NvbmZpZ1snbmFtZSddICsgIidd IikpKQorICAgICAgICB0cnk6CisgICAgICAgICAgICBXZWJEcml2ZXJXYWl0KHNlbGYuZHJpdmVy LCAxMCkudW50aWwoCisgICAgICAgICAgICAgICAgRUMudmlzaWJpbGl0eV9vZl9lbGVtZW50X2xv Y2F0ZWQoCisgICAgICAgICAgICAgICAgICAgIChCeS5YUEFUSCwKKyAgICAgICAgICAgICAgICAg ICAgICIvLypbQGlkPSd0cmVlJ10vLypbLj0nIiArIHNlcnZlcl9jb25maWdbJ25hbWUnXSArICIn XSIpKSkKKyAgICAgICAgZXhjZXB0IFRpbWVvdXRFeGNlcHRpb246CisgICAgICAgICAgICBzZWxm LnRvZ2dsZV9vcGVuX3NlcnZlcnNfZ3JvdXAoKQorICAgICAgICAgICAgV2ViRHJpdmVyV2FpdChz ZWxmLmRyaXZlciwgMTApLnVudGlsKAorICAgICAgICAgICAgICAgIEVDLnZpc2liaWxpdHlfb2Zf ZWxlbWVudF9sb2NhdGVkKAorICAgICAgICAgICAgICAgICAgICAoQnkuWFBBVEgsCisgICAgICAg ICAgICAgICAgICAgICAiLy8qW0BpZD0ndHJlZSddLy8qWy49JyIgKyBzZXJ2ZXJfY29uZmlnWydu YW1lJ10gKyAiJ10iKSkpCiAKICAgICBkZWYgb3Blbl9xdWVyeV90b29sKHNlbGYpOgogICAgICAg ICBzZWxmLmRyaXZlci5maW5kX2VsZW1lbnRfYnlfbGlua190ZXh0KCJUb29scyIpLmNsaWNrKCkK QEAgLTkxMCw3ICs5MTYsMTEgQEAgY2xhc3MgUGdhZG1pblBhZ2U6CiAgICAgICAgICAgICAgICAg ICAgIHJldHVybiBlbGVtZW50CiAgICAgICAgICAgICBleGNlcHQgKE5vU3VjaEVsZW1lbnRFeGNl cHRpb24sIFdlYkRyaXZlckV4Y2VwdGlvbik6CiAgICAgICAgICAgICAgICAgcmV0dXJuIEZhbHNl Ci0KKyAgICAgICAgdGltZS5zbGVlcCgxKQorICAgICAgICBzZWxmLmRyaXZlci5zd2l0Y2hfdG8u ZGVmYXVsdF9jb250ZW50KCkKKyAgICAgICAgc2VsZi5kcml2ZXIuc3dpdGNoX3RvX2ZyYW1lKAor ICAgICAgICAgICAgc2VsZi5kcml2ZXIuZmluZF9lbGVtZW50X2J5X3RhZ19uYW1lKCJpZnJhbWUi KSkKKyAgICAgICAgc2VsZi5maW5kX2J5X3hwYXRoKCIvL2FbdGV4dCgpPSdRdWVyeSBFZGl0b3In XSIpLmNsaWNrKCkKICAgICAgICAgY29kZW1pcnJvcl9lbGUgPSBXZWJEcml2ZXJXYWl0KAogICAg ICAgICAgICAgc2VsZi5kcml2ZXIsIHRpbWVvdXQ9c2VsZi50aW1lb3V0LCBwb2xsX2ZyZXF1ZW5j eT0wLjAxKVwKICAgICAgICAgICAgIC51bnRpbChmaW5kX2NvZGVtaXJyb3IsCkBAIC0xMTYxLDMg KzExNzEsMjcgQEAgY2xhc3MgUGdhZG1pblBhZ2U6CiAgICAgICAgICAgICBleGNlcHQgRXhjZXB0 aW9uOgogICAgICAgICAgICAgICAgIGF0dGVtcHQgKz0gMQogICAgICAgICByZXR1cm4gY2xpY2tf c3RhdHVzCisKKyAgICBkZWYgcGFzdGVfdmFsdWVzKHNlbGYsIGVsPU5vbmUpOgorICAgICAgICAi IiIKKyAgICAgICAgRnVuY3Rpb24gcGFzdGUgdmFsdWVzIGluIHNjcmF0Y2ggcGFkCisgICAgICAg IDpwYXJhbSBlbDoKKyAgICAgICAgIiIiCisgICAgICAgIGFjdGlvbnMgPSBBY3Rpb25DaGFpbnMo c2VsZi5kcml2ZXIpCisgICAgICAgIGlmIGVsOgorICAgICAgICAgICAgZWwuY2xpY2soKQorICAg ICAgICAgICAgYWN0aW9ucy5rZXlfZG93bihLZXlzLlNISUZUKQorICAgICAgICAgICAgYWN0aW9u cy5zZW5kX2tleXMoS2V5cy5JTlNFUlQpCisgICAgICAgICAgICBhY3Rpb25zLmtleV91cChLZXlz LlNISUZUKQorICAgICAgICAgICAgYWN0aW9ucy5wZXJmb3JtKCkKKworICAgIGRlZiB3YWl0X2Zv cl9lbGVtZW50X3RvX2JlX3Zpc2libGUoc2VsZiwgZHJpdmVyLCB4cGF0aCwgdGltZV92YWx1ZT0y MCk6CisgICAgICAgICIiIlRoaXMgd2lsbCB3YWl0IHVudGlsIGFuIGVsZW1lbnQgaXMgdmlzaWJs ZSBvbiBwYWdlIiIiCisgICAgICAgIGVsZW1lbnRfbG9jYXRlZF9zdGF0dXMgPSBGYWxzZQorICAg ICAgICB0cnk6CisgICAgICAgICAgICBpZiBXZWJEcml2ZXJXYWl0KGRyaXZlciwgdGltZV92YWx1 ZSkudW50aWwoCisgICAgICAgICAgICAgICAgICAgIEVDLnZpc2liaWxpdHlfb2ZfZWxlbWVudF9s b2NhdGVkKChCeS5YUEFUSCwgeHBhdGgpKSk6CisgICAgICAgICAgICAgICAgZWxlbWVudF9sb2Nh dGVkX3N0YXR1cyA9IFRydWUKKyAgICAgICAgZXhjZXB0IFRpbWVvdXRFeGNlcHRpb246CisgICAg ICAgICAgICBlbGVtZW50X2xvY2F0ZWRfc3RhdHVzID0gRmFsc2UKKyAgICAgICAgcmV0dXJuIGVs ZW1lbnRfbG9jYXRlZF9zdGF0dXMKZGlmZiAtLWdpdCBhL3dlYi9yZWdyZXNzaW9uL3B5dGhvbl90 ZXN0X3V0aWxzL3Rlc3RfdXRpbHMucHkgYi93ZWIvcmVncmVzc2lvbi9weXRob25fdGVzdF91dGls cy90ZXN0X3V0aWxzLnB5CmluZGV4IDk3MWZjMjQuLmU5NGE4YjkgMTAwNjQ0Ci0tLSBhL3dlYi9y ZWdyZXNzaW9uL3B5dGhvbl90ZXN0X3V0aWxzL3Rlc3RfdXRpbHMucHkKKysrIGIvd2ViL3JlZ3Jl c3Npb24vcHl0aG9uX3Rlc3RfdXRpbHMvdGVzdF91dGlscy5weQpAQCAtOCw2ICs4LDggQEAKICMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjCiAKIGZyb20gX19mdXR1cmVfXyBpbXBvcnQgcHJpbnRfZnVuY3Rpb24K KworaW1wb3J0IGZpbGVpbnB1dAogaW1wb3J0IHRyYWNlYmFjawogaW1wb3J0IG9zCiBpbXBvcnQg c3lzCkBAIC0xNiw3ICsxOCwxNyBAQCBpbXBvcnQgcHN5Y29wZzIKIGltcG9ydCBzcWxpdGUzCiBp bXBvcnQgc2h1dGlsCiBmcm9tIGZ1bmN0b29scyBpbXBvcnQgcGFydGlhbAorCitmcm9tIHNlbGVu aXVtLndlYmRyaXZlci5zdXBwb3J0LndhaXQgaW1wb3J0IFdlYkRyaXZlcldhaXQKIGZyb20gdGVz dHRvb2xzLnRlc3RjYXNlIGltcG9ydCBjbG9uZV90ZXN0X3dpdGhfbmV3X2lkCitpbXBvcnQgcmUK K2ltcG9ydCB0aW1lCitmcm9tIHNlbGVuaXVtLmNvbW1vbi5leGNlcHRpb25zIGltcG9ydCBXZWJE cml2ZXJFeGNlcHRpb24KK2ltcG9ydCB1cmxsaWIucmVxdWVzdCBhcyB1cmxsaWIKK2ltcG9ydCBq c29uCitmcm9tIHNlbGVuaXVtIGltcG9ydCB3ZWJkcml2ZXIKK2Zyb20gc2VsZW5pdW0ud2ViZHJp dmVyLmNocm9tZS5vcHRpb25zIGltcG9ydCBPcHRpb25zCitmcm9tIHNlbGVuaXVtLndlYmRyaXZl ci5zdXBwb3J0IGltcG9ydCBleHBlY3RlZF9jb25kaXRpb25zIGFzIGVjCiAKIGltcG9ydCBjb25m aWcKIGltcG9ydCByZWdyZXNzaW9uCkBAIC0xMjE2LDMgKzEyMjgsMjQ3IEBAIGRlZiBjcmVhdGVf ZXhwZWN0ZWRfb3V0cHV0KHBhcmFtZXRlcnMsIGFjdHVhbF9kYXRhKToKICAgICAgICAgICAgIGFj dHVhbF9kYXRhLnJlbW92ZSh2YWx1ZSkKICAgICAgICAgICAgIGJyZWFrCiAgICAgcmV0dXJuIGV4 cGVjdGVkX291dHB1dAorCisKK2RlZiBpc19wYXJhbGxlbF91aV90ZXN0cyhhcmdzKToKKyAgICAi IiIKKyAgICBUaGlzIGZ1bmN0aW9uIGNoZWNrcyBmb3IgY292ZXJhZ2UgYXJncyBleGlzdHMgaW4g Y29tbWFuZCBsaW5lIGFyZ3MKKyAgICA6cmV0dXJuOiBib29sZWFuCisgICAgIiIiCisgICAgaWYg InBhcmFsbGVsIiBpbiBhcmdzIGFuZCBhcmdzWyJwYXJhbGxlbCJdOgorICAgICAgICByZXR1cm4g VHJ1ZQorICAgIHJldHVybiBGYWxzZQorCisKK2RlZiBnZXRfc2VsZW5pdW1fZ3JpZF9zdGF0dXNf YW5kX2Jyb3dzZXJfbGlzdChzZWxybm9pZF91cmwpOgorICAgICIiIgorICAgIFRoaXMgZnVuY3Rp b24gY2hlY2tzIHNlbGVub2lkIHN0YXR1cyBmb3IgZ2l2ZW4gdXJsCisgICAgOnBhcmFtIHNlbHJu b2lkX3VybDoKKyAgICA6cmV0dXJuOiBzdGF0dXMgb2Ygc2VsZW5vaWQgJiBsaXN0IG9mIGJyb3dz ZXJzIGF2YWlsYWJsZSB3aXRoIHNlbGVub2lkIGlmCisgICAgc3RhdHVzIGlzIHVwCisgICAgIiIi CisgICAgc2VsZW5vaWRfc3RhdHVzID0gRmFsc2UKKyAgICBicm93c2VyX2xpc3QgPSBbXQorICAg IHRyeToKKyAgICAgICAgc2VsZW5vaWRfc3RhdHVzID0gZ2V0X3NlbGVuaXVtX2dyaWRfc3RhdHVz X2pzb24oc2Vscm5vaWRfdXJsKQorCisgICAgICAgICMgc2VsZW5vaWRfc3RhdHVzID0gdXJsbGli LnVybG9wZW4oCisgICAgICAgICMgICAgICJodHRwOi8vIiArIHJlLnNwbGl0KCcvJywgKHJlLnNw bGl0KCcvLycsIHNlbHJub2lkX3VybCwgMSlbMV0pKVsKKyAgICAgICAgIyAgICAgICAgIDBdICsg Ii9zdGF0dXMiLCB0aW1lb3V0PTEwKQorICAgICAgICAjIHNlbGVub2lkX3N0YXR1cyA9IGpzb24u bG9hZChzZWxlbm9pZF9zdGF0dXMpCisgICAgICAgICMgaWYgaXNpbnN0YW5jZShzZWxlbm9pZF9z dGF0dXMsIGRpY3QpOgorICAgICAgICAjICAgICBhdmFpbGFibGVfYnJvd3NlcnMgPSBzZWxlbm9p ZF9zdGF0dXNbImJyb3dzZXJzIl0KKyAgICAgICAgIyAgICAgc2VsZW5vaWRfc3RhdHVzID0gVHJ1 ZQorCisgICAgICAgIGlmIHNlbGVub2lkX3N0YXR1czoKKyAgICAgICAgICAgIGF2YWlsYWJsZV9i cm93c2VycyA9IHNlbGVub2lkX3N0YXR1c1siYnJvd3NlcnMiXQorICAgICAgICAgICAgbGlzdF9v Zl9icm93c2VycyA9IHRlc3Rfc2V0dXAuY29uZmlnX2RhdGFbJ3NlbGVub2lkX2luZm8nXVsKKyAg ICAgICAgICAgICAgICAnY3Jvc3NfQnJvd3NlcnMnXQorCisgICAgICAgICAgICBmb3IgYnJvd3Nl ciBpbiBsaXN0X29mX2Jyb3dzZXJzOgorICAgICAgICAgICAgICAgIGlmIGJyb3dzZXJbIm5hbWUi XS5sb3dlcigpIGluIGF2YWlsYWJsZV9icm93c2Vycy5rZXlzKCk6CisgICAgICAgICAgICAgICAg ICAgIHZlcnNpb25zID0gYXZhaWxhYmxlX2Jyb3dzZXJzWyhicm93c2VyWyJuYW1lIl0ubG93ZXIo KSldCisgICAgICAgICAgICAgICAgICAgIGlmIGJyb3dzZXJbInZlcnNpb24iXSBpcyBOb25lOgor ICAgICAgICAgICAgICAgICAgICAgICAgcHJpbnQoIlNwZWNpZmllZCB2ZXJzaW9uIGlzIE5vbmUu IEhlbmNlIHdpbGwgdXNlICIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsYXRlc3Qg dmVyc2lvbiBhdmFpbGFibGUgd2l0aCBzZWxlbm9pZCBzZXJ2ZXIiKQorICAgICAgICAgICAgICAg ICAgICAgICAgYnJvd3Nlcl9saXN0LmFwcGVuZChicm93c2VyKQorICAgICAgICAgICAgICAgICAg ICBlbGlmIGJyb3dzZXJbInZlcnNpb24iXSBpbiB2ZXJzaW9ucy5rZXlzKCk6CisgICAgICAgICAg ICAgICAgICAgICAgICBicm93c2VyX2xpc3QuYXBwZW5kKGJyb3dzZXIpCisgICAgICAgICAgICAg ICAgICAgIGVsc2U6CisgICAgICAgICAgICAgICAgICAgICAgICBwcmludCgKKyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAiQXZhaWxhYmxlIHswfSB2ZXJzaW9ucyB7MX0iLmZvcm1hdCgKKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJvd3NlclsibmFtZSJdLCB2ZXJzaW9ucy5r ZXlzKCkpKQorICAgICAgICAgICAgICAgICAgICAgICAgcHJpbnQoIlNwZWNpZmllZCBWZXJzaW9u ID0gezB9Ii5mb3JtYXQoCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJvd3NlclsidmVy c2lvbiJdKSkKKyAgICAgICAgICAgICAgICBlbHNlOgorICAgICAgICAgICAgICAgICAgICBwcmlu dCgiezB9IGlzIE5PVCBhdmFpbGFibGUiLmZvcm1hdChicm93c2VyWyJuYW1lIl0pKQorICAgIGV4 Y2VwdCBFeGNlcHRpb24gYXMgZToKKyAgICAgICAgcHJpbnQoc3RyKGUpKQorICAgICAgICBwcmlu dCgiVW5hYmxlIHRvIGZpbmQgU2VsZW5vaWQgU3RhdHVzIikKKworICAgIHJldHVybiBzZWxlbm9p ZF9zdGF0dXMsIGJyb3dzZXJfbGlzdAorCisKK2RlZiBpc19mZWF0dXJlX3Rlc3RfaW5jbHVkZWQo YXJndW1lbnRzKToKKyAgICAiIiIKKyAgICA6cGFyYW0gYXJndW1lbnRzOiBoaXMgaXMgY29tbWFu ZCBsaW5lIGFyZ3VtZW50cyBmb3IgbW9kdWxlIG5hbWUgdG8KKyAgICB3aGljaCB0ZXN0IHN1aXRl IHdpbGwgcnVuCisgICAgOnJldHVybjogYm9vbGVhbiB2YWx1ZSB3aGV0aGVyIHRvIGV4ZWN1dGUg ZmVhdHVyZSB0ZXN0cyBvciBOT1QgJgorICAgIGJyb3dzZXIgbmFtZSBpZiBmZWF0dXJlX3Rlc3Rf dG9iZV9pbmNsdWRlZCA9IFRydWUKKyAgICAiIiIKKyAgICBleGNsdWRlX3BrZ3MgPSBbXQorICAg IGlmIGFyZ3VtZW50c1snZXhjbHVkZSddIGlzIG5vdCBOb25lOgorICAgICAgICBleGNsdWRlX3Br Z3MgKz0gYXJndW1lbnRzWydleGNsdWRlJ10uc3BsaXQoJywnKQorCisgICAgZmVhdHVyZV90ZXN0 X3RvYmVfaW5jbHVkZWQgPSAnZmVhdHVyZV90ZXN0cycgbm90IGluIGV4Y2x1ZGVfcGtncyBhbmQg XAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGFyZ3VtZW50c1sncGtnJ10gaXMg Tm9uZSBvciBhcmd1bWVudHNbCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg J3BrZyddID09ICJhbGwiIG9yCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXJn dW1lbnRzWydwa2cnXSA9PSAiZmVhdHVyZV90ZXN0cyIpCisgICAgcmV0dXJuIGZlYXR1cmVfdGVz dF90b2JlX2luY2x1ZGVkCisKKworZGVmIGxhdW5jaF91cmxfaW5fYnJvd3Nlcihkcml2ZXJfaW5z dGFuY2UsIHVybCwgdGl0bGU9J3BnQWRtaW4gNCcsIHRpbWVvdXQ9NDApOgorICAgICIiIgorICAg IEZ1bmN0aW9uIGxhdW5jaGVzIHVybHMgaW4gc3BlY2lmaWVkIGRyaXZlciBpbnN0YW5jZQorICAg IDpwYXJhbSBkcml2ZXJfaW5zdGFuY2U6YnJvd3NlciBpbnN0YW5jZQorICAgIDpwYXJhbSB1cmw6 dXJsIHRvIGJlIGxhdW5jaGVkCisgICAgOnBhcmFtIHRpdGxlOndlYi1wYWdlIHRpbGUgb24gc3Vj Y2Vzc2Z1bCBsYXVuY2ggZGVmYXVsdCBpcyAncGdBZG1pbiA0JworICAgIDpwYXJhbSB0aW1lb3V0 OmluIHNlY29uZHMgZm9yIGdldHRpbmcgc3BlY2lmaWVkIHRpdGxlIGRlZmF1bHQgaXMgMjBzZWMK KyAgICA6cmV0dXJuOgorICAgICIiIgorICAgIGNvdW50ID0gdGltZW91dCAvIDEwCisgICAgd2hp bGUgY291bnQgPiAwOgorICAgICAgICB0cnk6CisgICAgICAgICAgICBkcml2ZXJfaW5zdGFuY2Uu Z2V0KHVybCkKKyAgICAgICAgICAgIHdhaXQgPSBXZWJEcml2ZXJXYWl0KGRyaXZlcl9pbnN0YW5j ZSwgMTApCisgICAgICAgICAgICB3YWl0LnVudGlsKGVjLnRpdGxlX2lzKHRpdGxlKSkKKyAgICAg ICAgICAgIGJyZWFrCisgICAgICAgIGV4Y2VwdCBXZWJEcml2ZXJFeGNlcHRpb24gYXMgZToKKyAg ICAgICAgICAgIGNvdW50IC09IDEKKyAgICAgICAgICAgIGlmIGNvdW50ID09IDA6CisgICAgICAg ICAgICAgICAgcmFpc2UgRXhjZXB0aW9uKAorICAgICAgICAgICAgICAgICAgICAnV2ViLXBhZ2Ug dGl0bGUgZGlkIG5vdCBtYXRjaCB0byB7MH0gXG4nLmZvcm1hdCh0aXRsZSkpCisKKworZGVmIGdl dF9yZW1vdGVfd2ViZHJpdmVyKGh1Yl91cmwsIGJyb3dzZXIsIGJyb3dzZXJfdmVyLCB0ZXN0X25h bWUpOgorICAgICIiIgorICAgIFRoaXMgZnVuY3Rpb25zIHJldHVybnMgcmVtb3RlIHdlYi1kcml2 ZXIgaW5zdGFuY2UgY3JlYXRlZCBpbiBzZWxlbm9pZAorICAgIG1hY2hpbmUuCisgICAgOnBhcmFt IGh1Yl91cmwKKyAgICA6cGFyYW0gYnJvd3NlcjogYnJvd3NlciBuYW1lCisgICAgOnBhcmFtIGJy b3dzZXJfdmVyOiB2ZXJzaW9uIGZvciBicm93c2VyCisgICAgOnBhcmFtIHRlc3RfbmFtZTogdGVz dCBuYW1lCisgICAgOnJldHVybjogcmVtb3RlIHdlYi1kcml2ZXIgaW5zdGFuY2UgZm9yIHNwZWNp ZmllZCBicm93c2VyCisgICAgIiIiCisgICAgdGVzdF9uYW1lID0gYnJvd3NlciArIGJyb3dzZXJf dmVyICsgIl8iICsgdGVzdF9uYW1lICsgIi0iICsgdGltZS5zdHJmdGltZSgKKyAgICAgICAgIiVt XyVkXyV5XyVIXyVNXyVTIiwgdGltZS5sb2NhbHRpbWUoKSkKKyAgICBkcml2ZXJfbG9jYWwgPSBO b25lCisKKyAgICBkZXNpcmVkX2NhcGFiaWxpdGllcyA9IHsKKyAgICAgICAgInZlcnNpb24iOiBi cm93c2VyX3ZlciwKKyAgICAgICAgImVuYWJsZVZOQyI6IFRydWUsCisgICAgICAgICJlbmFibGVW aWRlbyI6IFRydWUsCisgICAgICAgICJlbmFibGVMb2ciOiBUcnVlLAorICAgICAgICAidmlkZW9O YW1lIjogdGVzdF9uYW1lICsgIi5tcDQiLAorICAgICAgICAibG9nTmFtZSI6IHRlc3RfbmFtZSAr ICIubG9nIiwKKyAgICAgICAgIm5hbWUiOiB0ZXN0X25hbWUsCisgICAgICAgICJ0aW1lWm9uZSI6 ICJBc2lhL0tvbGthdGEiCisgICAgfQorCisgICAgaWYgYnJvd3NlciA9PSAnZmlyZWZveCc6Cisg ICAgICAgIHByb2ZpbGUgPSB3ZWJkcml2ZXIuRmlyZWZveFByb2ZpbGUoKQorICAgICAgICBwcm9m aWxlLnNldF9wcmVmZXJlbmNlKCJkb20uZGlzYWJsZV9iZWZvcmV1bmxvYWQiLCBUcnVlKQorICAg ICAgICBkZXNpcmVkX2NhcGFiaWxpdGllc1siYnJvd3Nlck5hbWUiXSA9ICJmaXJlZm94IgorICAg ICAgICBkZXNpcmVkX2NhcGFiaWxpdGllc1sicmVxdWlyZVdpbmRvd0ZvY3VzIl0gPSBUcnVlCisg ICAgICAgIGRlc2lyZWRfY2FwYWJpbGl0aWVzWyJlbmFibGVQZXJzaXN0ZW50SG92ZXIiXSA9IEZh bHNlCisgICAgICAgIGRyaXZlcl9sb2NhbCA9IHdlYmRyaXZlci5SZW1vdGUoCisgICAgICAgICAg ICBjb21tYW5kX2V4ZWN1dG9yPWh1Yl91cmwsCisgICAgICAgICAgICBkZXNpcmVkX2NhcGFiaWxp dGllcz1kZXNpcmVkX2NhcGFiaWxpdGllcywgYnJvd3Nlcl9wcm9maWxlPXByb2ZpbGUpCisgICAg ZWxpZiBicm93c2VyID09ICdjaHJvbWUnOgorICAgICAgICBvcHRpb25zID0gT3B0aW9ucygpCisg ICAgICAgIG9wdGlvbnMuYWRkX2FyZ3VtZW50KCItLXdpbmRvdy1zaXplPTEyODAsMTAyNCIpCisg ICAgICAgIGRlc2lyZWRfY2FwYWJpbGl0aWVzWyJicm93c2VyTmFtZSJdID0gImNocm9tZSIKKyAg ICAgICAgZHJpdmVyX2xvY2FsID0gd2ViZHJpdmVyLlJlbW90ZSgKKyAgICAgICAgICAgIGNvbW1h bmRfZXhlY3V0b3I9aHViX3VybCwKKyAgICAgICAgICAgIGRlc2lyZWRfY2FwYWJpbGl0aWVzPWRl c2lyZWRfY2FwYWJpbGl0aWVzLCBvcHRpb25zPW9wdGlvbnMpCisgICAgZWxzZToKKyAgICAgICAg cHJpbnQoIlNwZWNpZmllZCBicm93c2VyIGRvZXMgbm90IGV4aXN0LiIpCisKKyAgICAjIG1heGlt aXplIGJyb3dzZXIgd2luZG93CisgICAgZHJpdmVyX2xvY2FsLm1heGltaXplX3dpbmRvdygpCisK KyAgICAjIGRyaXZlcl9sb2NhbC5pbXBsaWNpdGx5X3dhaXQoMikKKyAgICByZXR1cm4gZHJpdmVy X2xvY2FsCisKKworZGVmIGdldF9wYXJhbGxlbF9zZXF1ZW50aWFsX21vZHVsZV9saXN0KG1vZHVs ZV9saXN0KToKKyAgICAiIiIKKyAgICBGdW5jdGlvbnMgc2VncmVnYXRlIHBhcmFsbGVsICYgc2Vx dWVudGlhbCBtb2R1bGVzCisgICAgOnBhcmFtIG1vZHVsZV9saXN0OiBDb21wbGV0ZSBsaXN0IG9m IG1vZHVsZXMKKyAgICA6cmV0dXJuOiBwYXJhbGxlbCAmIHNlcXVlbnRpYWwgbW9kdWxlIGxpc3Rz CisgICAgIiIiCisgICAgIyBsaXN0IG9mIGZpbGVzIGNvbnNpc3RpbmcgdGVzdHMgdGhhdCBuZWVk cyB0byBiZQorICAgICMgZXhlY3V0ZWQgc2VxdWVudGlhbGx5CisgICAgc2VxdWVudGlhbF90ZXN0 c19maWxlID0gWworICAgICAgICAncGdhZG1pbi5mZWF0dXJlX3Rlc3RzLnBnX3V0aWxpdGllc19i YWNrdXBfcmVzdG9yZV90ZXN0JywKKyAgICAgICAgJ3BnYWRtaW4uZmVhdHVyZV90ZXN0cy5wZ191 dGlsaXRpZXNfbWFpbnRlbmFuY2VfdGVzdCcsCisgICAgICAgICdwZ2FkbWluLmZlYXR1cmVfdGVz dHMua2V5Ym9hcmRfc2hvcnRjdXRfdGVzdCddCisKKyAgICAjICBsaXN0IG9mIHRlc3RzIGNhbiBi ZSBleGVjdXRlZCBpbiBwYXJhbGxlbAorICAgIHBhcmFsbGVsX3Rlc3RzID0gbGlzdChtb2R1bGVf bGlzdCkKKyAgICBmb3IgbW9kdWxlIGluIG1vZHVsZV9saXN0OgorICAgICAgICBpZiBzdHIobW9k dWxlWzBdKSBpbiBzZXF1ZW50aWFsX3Rlc3RzX2ZpbGU6CisgICAgICAgICAgICBwYXJhbGxlbF90 ZXN0cy5yZW1vdmUobW9kdWxlKQorCisgICAgIyAgbGlzdCBvZiB0ZXN0cyBjYW4gYmUgZXhlY3V0 ZWQgaW4gc2VxdWVudGlhbGx5CisgICAgc2VxdWVudGlhbF90ZXN0cyA9IGxpc3QoCisgICAgICAg IGZpbHRlcihsYW1iZGEgaTogaSBub3QgaW4gcGFyYWxsZWxfdGVzdHMsCisgICAgICAgICAgICAg ICBtb2R1bGVfbGlzdCkpCisKKyAgICAjIHJldHVybiBwYXJhbGxlbCAmIHNlcXVlbnRpYWwgbGlz dHMKKyAgICByZXR1cm4gcGFyYWxsZWxfdGVzdHMsIHNlcXVlbnRpYWxfdGVzdHMKKworCitkZWYg Z2V0X2Jyb3dzZXJfZGV0YWlscyhicm93c2VyX2luZm9fZGljdCwgdXJsKToKKyAgICAiIiIKKyAg ICBGdW5jdGlvbiBleHRyYWN0cyBicm93c2VyIG5hbWUgJiB2ZXJzaW9uIGZyb20gYnJvd3NlciBp bmZvIGRpY3QKKyAgICBpbiB0ZXN0X2NvbmZpZy5qc29uCisgICAgOnBhcmFtIGJyb3dzZXJfaW5m b19kaWN0OgorICAgIDpyZXR1cm46IGJyb3dzZXIgbmFtZSAmIHZlcnNpb24KKyAgICAiIiIKKyAg ICBicm93c2VyX25hbWUgPSBicm93c2VyX2luZm9fZGljdFsibmFtZSJdLmxvd2VyKCkKKyAgICBi cm93c2VyX3ZlcnNpb24gPSBicm93c2VyX2luZm9fZGljdFsidmVyc2lvbiJdCisgICAgaWYgYnJv d3Nlcl92ZXJzaW9uIGlzIE5vbmU6CisgICAgICAgIHNlbGVub2lkX3N0YXR1cyA9IGdldF9zZWxl bml1bV9ncmlkX3N0YXR1c19qc29uKHVybCkKKyAgICAgICAgdmVyc2lvbnMgPSBzZWxlbm9pZF9z dGF0dXNbImJyb3dzZXJzIl1bYnJvd3Nlcl9uYW1lXQorICAgICAgICBicm93c2VyX3ZlcnNpb24g PSBtYXgodmVyc2lvbnMpCisgICAgcmV0dXJuIGJyb3dzZXJfbmFtZSwgYnJvd3Nlcl92ZXJzaW9u CisKKworZGVmIHByaW50X3Rlc3Rfc3VtbWFyeShjb21wbGV0ZV9tb2R1bGVfbGlzdCwgcGFyYWxs ZWxfdGVzdGxpc3QsCisgICAgICAgICAgICAgICAgICAgICAgIHNlcXVlbnRpYWxfdGVzdHNfbGlz dCwgYnJvd3Nlcl9uYW1lLCBicm93c2VyX3ZlcnNpb24pOgorICAgICIiIgorICAgIFByaW50cyB0 ZXN0IHN1bW1hcnkgYWJvdXQgdG90YWwsIHBhcmFsbGVsLCBzZXF1ZW50aWFsLCBicm93c2VyIG5h bWUsCisgICAgYnJvd3NlciB2ZXJzaW9uIGluZm9ybWF0aW9uCisgICAgOnBhcmFtIGNvbXBsZXRl X21vZHVsZV9saXN0OgorICAgIDpwYXJhbSBwYXJhbGxlbF90ZXN0bGlzdDoKKyAgICA6cGFyYW0g c2VxdWVudGlhbF90ZXN0c19saXN0OgorICAgIDpwYXJhbSBicm93c2VyX25hbWU6CisgICAgOnBh cmFtIGJyb3dzZXJfdmVyc2lvbjoKKyAgICAiIiIKKyAgICBwcmludCgKKyAgICAgICAgIj09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09IiwKKyAgICAgICAgZmlsZT1zeXMuc3RkZXJyCisgICAgKQorICAgIHByaW50KAorICAgICAg ICAiVG90YWwgVGVzdHMgIyB7MH1cblBhcmFsbGVsIFRlc3RzICMgezF9LCAiCisgICAgICAgICJT ZXF1ZW50aWFsIFRlc3RzICMgezJ9Ii5mb3JtYXQoCisgICAgICAgICAgICBsZW4oY29tcGxldGVf bW9kdWxlX2xpc3QpLCBsZW4ocGFyYWxsZWxfdGVzdGxpc3QpLAorICAgICAgICAgICAgbGVuKHNl cXVlbnRpYWxfdGVzdHNfbGlzdCkpLAorICAgICAgICBmaWxlPXN5cy5zdGRlcnIpCisgICAgcHJp bnQoIkJyb3dzZXI6IFtOYW1lOnswfSwgVmVyc2lvbjogezF9XSIuZm9ybWF0KAorICAgICAgICBi cm93c2VyX25hbWUuY2FwaXRhbGl6ZSgpLCBicm93c2VyX3ZlcnNpb24pLAorICAgICAgICBmaWxl PXN5cy5zdGRlcnIpCisgICAgcHJpbnQoCisgICAgICAgICI9PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuIiwKKyAgICAgICAg ZmlsZT1zeXMuc3RkZXJyCisgICAgKQorCisKK2RlZiBnZXRfc2VsZW5pdW1fZ3JpZF9zdGF0dXNf anNvbihzZWxlbm9pZF91cmwpOgorICAgICIiIgorICAgIEZ1bmN0aW9ucyByZXR1cm5zIGpzb24g cmVzcG9uc2UgcmVjZWl2ZWQgZnJvbSBzZWxlbm9pZCBzZXJ2ZXIKKyAgICA6cGFyYW0gc2VsZW5v aWRfdXJsOgorICAgIDpyZXR1cm46CisgICAgIiIiCisgICAgdHJ5OgorICAgICAgICBzZWxlbm9p ZF9zdGF0dXMgPSB1cmxsaWIudXJsb3BlbigKKyAgICAgICAgICAgICJodHRwOi8vIiArIHJlLnNw bGl0KCcvJywgKHJlLnNwbGl0KCcvLycsIHNlbGVub2lkX3VybCwgMSlbMV0pKVsKKyAgICAgICAg ICAgICAgICAwXSArICIvc3RhdHVzIiwgdGltZW91dD0xMCkKKyAgICAgICAgc2VsZW5vaWRfc3Rh dHVzID0ganNvbi5sb2FkKHNlbGVub2lkX3N0YXR1cykKKyAgICAgICAgaWYgaXNpbnN0YW5jZShz ZWxlbm9pZF9zdGF0dXMsIGRpY3QpOgorICAgICAgICAgICAgcmV0dXJuIHNlbGVub2lkX3N0YXR1 cworICAgIGV4Y2VwdCBFeGNlcHRpb24gYXMgZToKKyAgICAgICAgcHJpbnQoc3RyKGUpKQorICAg ICAgICBwcmludCgiVW5hYmxlIHRvIGZpbmQgU2VsZW5vaWQgU3RhdHVzIikKKyAgICAgICAgcmV0 dXJuIE5vbmUKZGlmZiAtLWdpdCBhL3dlYi9yZWdyZXNzaW9uL3J1bnRlc3RzLnB5IGIvd2ViL3Jl Z3Jlc3Npb24vcnVudGVzdHMucHkKaW5kZXggNDgwYWFhZC4uMmY0ZGRiYSAxMDA2NDQKLS0tIGEv d2ViL3JlZ3Jlc3Npb24vcnVudGVzdHMucHkKKysrIGIvd2ViL3JlZ3Jlc3Npb24vcnVudGVzdHMu cHkKQEAgLTIxLDcgKzIxLDggQEAgaW1wb3J0IHRyYWNlYmFjawogaW1wb3J0IGpzb24KIGltcG9y dCByYW5kb20KIGltcG9ydCBjb3ZlcmFnZQotCitpbXBvcnQgdGhyZWFkaW5nCitpbXBvcnQgdGlt ZQogaW1wb3J0IHVuaXR0ZXN0CiAKIGlmIHN5cy52ZXJzaW9uX2luZm8gPCAoMywgNCk6CkBAIC0x MzYsNyArMTM3LDcgQEAgc2NlbmFyaW9zLmFwcGx5X3NjZW5hcmlvID0gdGVzdF91dGlscy5hcHBs eV9zY2VuYXJpbwogCiAKIGRlZiBnZXRfc3VpdGUobW9kdWxlX2xpc3QsIHRlc3Rfc2VydmVyLCB0 ZXN0X2FwcF9jbGllbnQsIHNlcnZlcl9pbmZvcm1hdGlvbiwKLSAgICAgICAgICAgICAgdGVzdF9k Yl9uYW1lKToKKyAgICAgICAgICAgICAgdGVzdF9kYl9uYW1lLCBkcml2ZXJfcGFzc2VkKToKICAg ICAiIiIKICAgICAgVGhpcyBmdW5jdGlvbiBhZGQgdGhlIHRlc3RzIHRvIHRlc3Qgc3VpdGUgYW5k IHJldHVybiBtb2RpZmllZCB0ZXN0IHN1aXRlCiAgICAgICB2YXJpYWJsZS4KQEAgLTE2Niw3ICsx NjcsNyBAQCBkZWYgZ2V0X3N1aXRlKG1vZHVsZV9saXN0LCB0ZXN0X3NlcnZlciwgdGVzdF9hcHBf Y2xpZW50LCBzZXJ2ZXJfaW5mb3JtYXRpb24sCiAgICAgICAgIG9iai5zZXRBcHAoYXBwKQogICAg ICAgICBvYmouc2V0VGVzdENsaWVudCh0ZXN0X2FwcF9jbGllbnQpCiAgICAgICAgIG9iai5zZXRU ZXN0U2VydmVyKHRlc3Rfc2VydmVyKQotICAgICAgICBvYmouc2V0RHJpdmVyKGRyaXZlcikKKyAg ICAgICAgb2JqLnNldERyaXZlcihkcml2ZXJfcGFzc2VkKQogICAgICAgICBvYmouc2V0U2VydmVy SW5mb3JtYXRpb24oc2VydmVyX2luZm9ybWF0aW9uKQogICAgICAgICBvYmouc2V0VGVzdERhdGFi YXNlTmFtZSh0ZXN0X2RiX25hbWUpCiAgICAgICAgIHNjZW5hcmlvID0gc2NlbmFyaW9zLmdlbmVy YXRlX3NjZW5hcmlvcyhvYmopCkBAIC0yMDcsNTcgKzIwOCw2MiBAQCBkZWYgZ2V0X3Rlc3RfbW9k dWxlcyhhcmd1bWVudHMpOgogICAgICAgICBleGNsdWRlX3BrZ3MgKz0gYXJndW1lbnRzWydleGNs dWRlJ10uc3BsaXQoJywnKQogCiAgICAgaWYgJ2ZlYXR1cmVfdGVzdHMnIG5vdCBpbiBleGNsdWRl X3BrZ3MgYW5kIFwKLSAgICAgICAgICAgIChhcmd1bWVudHNbJ3BrZyddIGlzIE5vbmUgb3IgYXJn dW1lbnRzWydwa2cnXSA9PSAiYWxsIiBvcgotICAgICAgICAgICAgIGFyZ3VtZW50c1sncGtnJ10g PT0gImZlYXR1cmVfdGVzdHMiKToKLQotICAgICAgICBmcm9tIHNlbGVuaXVtIGltcG9ydCB3ZWJk cml2ZXIKLSAgICAgICAgZnJvbSBzZWxlbml1bS53ZWJkcml2ZXIuY2hyb21lLm9wdGlvbnMgaW1w b3J0IE9wdGlvbnMKLSAgICAgICAgZnJvbSBzZWxlbml1bS53ZWJkcml2ZXIuY29tbW9uLmRlc2ly ZWRfY2FwYWJpbGl0aWVzIGltcG9ydCBcCi0gICAgICAgICAgICBEZXNpcmVkQ2FwYWJpbGl0aWVz Ci0KLSAgICAgICAgZGVmYXVsdF9icm93c2VyID0gJ2Nocm9tZScKLQotICAgICAgICAjIENoZWNr IGRlZmF1bHQgYnJvd3NlciBwcm92aWRlZCB0aHJvdWdoIGNvbW1hbmQgbGluZS4gSWYgcHJvdmlk ZWQKLSAgICAgICAgIyB0aGVuIHVzZSB0aGF0IGJyb3dzZXIgYXMgZGVmYXVsdCBicm93c2VyIGVs c2UgY2hlY2sgZm9yIHRoZSBzZXR0aW5nCi0gICAgICAgICMgcHJvdmlkZWQgaW4gdGVzdF9jb25m aWcuanNvbiBmaWxlLgotICAgICAgICBpZiAoCi0gICAgICAgICAgICAnZGVmYXVsdF9icm93c2Vy JyBpbiBhcmd1bWVudHMgYW5kCi0gICAgICAgICAgICBhcmd1bWVudHNbJ2RlZmF1bHRfYnJvd3Nl ciddIGlzIG5vdCBOb25lCi0gICAgICAgICk6Ci0gICAgICAgICAgICBkZWZhdWx0X2Jyb3dzZXIg PSBhcmd1bWVudHNbJ2RlZmF1bHRfYnJvd3NlciddLmxvd2VyKCkKLSAgICAgICAgZWxpZiAoCi0g ICAgICAgICAgICB0ZXN0X3NldHVwLmNvbmZpZ19kYXRhIGFuZAotICAgICAgICAgICAgImRlZmF1 bHRfYnJvd3NlciIgaW4gdGVzdF9zZXR1cC5jb25maWdfZGF0YQotICAgICAgICApOgotICAgICAg ICAgICAgZGVmYXVsdF9icm93c2VyID0gdGVzdF9zZXR1cC5jb25maWdfZGF0YVsnZGVmYXVsdF9i cm93c2VyJ10ubG93ZXIoKQotCi0gICAgICAgIGlmIGRlZmF1bHRfYnJvd3NlciA9PSAnZmlyZWZv eCc6Ci0gICAgICAgICAgICBjYXAgPSBEZXNpcmVkQ2FwYWJpbGl0aWVzLkZJUkVGT1gKLSAgICAg ICAgICAgIGNhcFsncmVxdWlyZVdpbmRvd0ZvY3VzJ10gPSBUcnVlCi0gICAgICAgICAgICBjYXBb J2VuYWJsZVBlcnNpc3RlbnRIb3ZlciddID0gRmFsc2UKLSAgICAgICAgICAgIHByb2ZpbGUgPSB3 ZWJkcml2ZXIuRmlyZWZveFByb2ZpbGUoKQotICAgICAgICAgICAgcHJvZmlsZS5zZXRfcHJlZmVy ZW5jZSgiZG9tLmRpc2FibGVfYmVmb3JldW5sb2FkIiwgVHJ1ZSkKLSAgICAgICAgICAgIGRyaXZl ciA9IHdlYmRyaXZlci5GaXJlZm94KGNhcGFiaWxpdGllcz1jYXAsCi0gICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBmaXJlZm94X3Byb2ZpbGU9cHJvZmlsZSkKLSAgICAgICAg ICAgIGRyaXZlci5pbXBsaWNpdGx5X3dhaXQoMSkKLSAgICAgICAgZWxzZToKLSAgICAgICAgICAg IG9wdGlvbnMgPSBPcHRpb25zKCkKLSAgICAgICAgICAgIGlmIHRlc3Rfc2V0dXAuY29uZmlnX2Rh dGE6Ci0gICAgICAgICAgICAgICAgaWYgJ2hlYWRsZXNzX2Nocm9tZScgaW4gdGVzdF9zZXR1cC5j b25maWdfZGF0YToKLSAgICAgICAgICAgICAgICAgICAgaWYgdGVzdF9zZXR1cC5jb25maWdfZGF0 YVsnaGVhZGxlc3NfY2hyb21lJ106Ci0gICAgICAgICAgICAgICAgICAgICAgICBvcHRpb25zLmFk ZF9hcmd1bWVudCgiLS1oZWFkbGVzcyIpCi0gICAgICAgICAgICBvcHRpb25zLmFkZF9hcmd1bWVu dCgiLS1uby1zYW5kYm94IikKLSAgICAgICAgICAgIG9wdGlvbnMuYWRkX2FyZ3VtZW50KCItLWRp c2FibGUtc2V0dWlkLXNhbmRib3giKQotICAgICAgICAgICAgb3B0aW9ucy5hZGRfYXJndW1lbnQo Ii0td2luZG93LXNpemU9MTI4MCwxMDI0IikKLSAgICAgICAgICAgIG9wdGlvbnMuYWRkX2FyZ3Vt ZW50KCItLWRpc2FibGUtaW5mb2JhcnMiKQotICAgICAgICAgICAgb3B0aW9ucy5hZGRfZXhwZXJp bWVudGFsX29wdGlvbigndzNjJywgRmFsc2UpCi0gICAgICAgICAgICBkcml2ZXIgPSB3ZWJkcml2 ZXIuQ2hyb21lKGNocm9tZV9vcHRpb25zPW9wdGlvbnMpCi0KLSAgICAgICAgIyBtYXhpbWl6ZSBi cm93c2VyIHdpbmRvdwotICAgICAgICBkcml2ZXIubWF4aW1pemVfd2luZG93KCkKLQotICAgICAg ICBhcHBfc3RhcnRlciA9IEFwcFN0YXJ0ZXIoZHJpdmVyLCBjb25maWcpCi0gICAgICAgIGFwcF9z dGFydGVyLnN0YXJ0X2FwcCgpCisgICAgICAgIChhcmd1bWVudHNbJ3BrZyddIGlzIE5vbmUgb3Ig YXJndW1lbnRzWydwa2cnXSA9PSAiYWxsIiBvcgorICAgICAgICAgYXJndW1lbnRzWydwa2cnXSA9 PSAiZmVhdHVyZV90ZXN0cyIpOgorCisgICAgICAgIGlmIGFyZ3VtZW50c1sncGtnJ10gPT0gImZl YXR1cmVfdGVzdHMiOgorICAgICAgICAgICAgZXhjbHVkZV9wa2dzLmV4dGVuZChbJ3Jlc3FsJ10p CisKKyAgICAgICAgaWYgbm90IHRlc3RfdXRpbHMuaXNfcGFyYWxsZWxfdWlfdGVzdHMoYXJncyk6 CisgICAgICAgICAgICBmcm9tIHNlbGVuaXVtIGltcG9ydCB3ZWJkcml2ZXIKKyAgICAgICAgICAg IGZyb20gc2VsZW5pdW0ud2ViZHJpdmVyLmNocm9tZS5vcHRpb25zIGltcG9ydCBPcHRpb25zCisg ICAgICAgICAgICBmcm9tIHNlbGVuaXVtLndlYmRyaXZlci5jb21tb24uZGVzaXJlZF9jYXBhYmls aXRpZXMgaW1wb3J0IFwKKyAgICAgICAgICAgICAgICBEZXNpcmVkQ2FwYWJpbGl0aWVzCisKKyAg ICAgICAgICAgIGRlZmF1bHRfYnJvd3NlciA9ICdjaHJvbWUnCisKKyAgICAgICAgICAgICMgQ2hl Y2sgZGVmYXVsdCBicm93c2VyIHByb3ZpZGVkIHRocm91Z2ggY29tbWFuZCBsaW5lLiBJZiBwcm92 aWRlZAorICAgICAgICAgICAgIyB0aGVuIHVzZSB0aGF0IGJyb3dzZXIgYXMgZGVmYXVsdCBicm93 c2VyIGVsc2UgY2hlY2sgZm9yIHRoZQorICAgICAgICAgICAgIyBzZXR0aW5nIHByb3ZpZGVkIGlu IHRlc3RfY29uZmlnLmpzb24gZmlsZS4KKyAgICAgICAgICAgIGlmICgKKyAgICAgICAgICAgICAg ICAnZGVmYXVsdF9icm93c2VyJyBpbiBhcmd1bWVudHMgYW5kCisgICAgICAgICAgICAgICAgYXJn dW1lbnRzWydkZWZhdWx0X2Jyb3dzZXInXSBpcyBub3QgTm9uZQorICAgICAgICAgICAgKToKKyAg ICAgICAgICAgICAgICBkZWZhdWx0X2Jyb3dzZXIgPSBhcmd1bWVudHNbJ2RlZmF1bHRfYnJvd3Nl ciddLmxvd2VyKCkKKyAgICAgICAgICAgIGVsaWYgKAorICAgICAgICAgICAgICAgIHRlc3Rfc2V0 dXAuY29uZmlnX2RhdGEgYW5kCisgICAgICAgICAgICAgICAgImRlZmF1bHRfYnJvd3NlciIgaW4g dGVzdF9zZXR1cC5jb25maWdfZGF0YQorICAgICAgICAgICAgKToKKyAgICAgICAgICAgICAgICBk ZWZhdWx0X2Jyb3dzZXIgPSB0ZXN0X3NldHVwLmNvbmZpZ19kYXRhWworICAgICAgICAgICAgICAg ICAgICAnZGVmYXVsdF9icm93c2VyJ10ubG93ZXIoKQorCisgICAgICAgICAgICBpZiBkZWZhdWx0 X2Jyb3dzZXIgPT0gJ2ZpcmVmb3gnOgorICAgICAgICAgICAgICAgIGNhcCA9IERlc2lyZWRDYXBh YmlsaXRpZXMuRklSRUZPWAorICAgICAgICAgICAgICAgIGNhcFsncmVxdWlyZVdpbmRvd0ZvY3Vz J10gPSBUcnVlCisgICAgICAgICAgICAgICAgY2FwWydlbmFibGVQZXJzaXN0ZW50SG92ZXInXSA9 IEZhbHNlCisgICAgICAgICAgICAgICAgcHJvZmlsZSA9IHdlYmRyaXZlci5GaXJlZm94UHJvZmls ZSgpCisgICAgICAgICAgICAgICAgcHJvZmlsZS5zZXRfcHJlZmVyZW5jZSgiZG9tLmRpc2FibGVf YmVmb3JldW5sb2FkIiwgVHJ1ZSkKKyAgICAgICAgICAgICAgICBkcml2ZXIgPSB3ZWJkcml2ZXIu RmlyZWZveChjYXBhYmlsaXRpZXM9Y2FwLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIGZpcmVmb3hfcHJvZmlsZT1wcm9maWxlKQorICAgICAgICAgICAgICAgIGRy aXZlci5pbXBsaWNpdGx5X3dhaXQoMSkKKyAgICAgICAgICAgIGVsc2U6CisgICAgICAgICAgICAg ICAgb3B0aW9ucyA9IE9wdGlvbnMoKQorICAgICAgICAgICAgICAgIGlmIHRlc3Rfc2V0dXAuY29u ZmlnX2RhdGE6CisgICAgICAgICAgICAgICAgICAgIGlmICdoZWFkbGVzc19jaHJvbWUnIGluIHRl c3Rfc2V0dXAuY29uZmlnX2RhdGE6CisgICAgICAgICAgICAgICAgICAgICAgICBpZiB0ZXN0X3Nl dHVwLmNvbmZpZ19kYXRhWydoZWFkbGVzc19jaHJvbWUnXToKKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICBvcHRpb25zLmFkZF9hcmd1bWVudCgiLS1oZWFkbGVzcyIpCisgICAgICAgICAgICAg ICAgb3B0aW9ucy5hZGRfYXJndW1lbnQoIi0tbm8tc2FuZGJveCIpCisgICAgICAgICAgICAgICAg b3B0aW9ucy5hZGRfYXJndW1lbnQoIi0tZGlzYWJsZS1zZXR1aWQtc2FuZGJveCIpCisgICAgICAg ICAgICAgICAgb3B0aW9ucy5hZGRfYXJndW1lbnQoIi0td2luZG93LXNpemU9MTI4MCwxMDI0IikK KyAgICAgICAgICAgICAgICBvcHRpb25zLmFkZF9hcmd1bWVudCgiLS1kaXNhYmxlLWluZm9iYXJz IikKKyAgICAgICAgICAgICAgICBvcHRpb25zLmFkZF9leHBlcmltZW50YWxfb3B0aW9uKCd3M2Mn LCBGYWxzZSkKKyAgICAgICAgICAgICAgICBkcml2ZXIgPSB3ZWJkcml2ZXIuQ2hyb21lKGNocm9t ZV9vcHRpb25zPW9wdGlvbnMpCisKKyAgICAgICAgICAgICMgbWF4aW1pemUgYnJvd3NlciB3aW5k b3cKKyAgICAgICAgICAgIGRyaXZlci5tYXhpbWl6ZV93aW5kb3coKQorCisgICAgICAgICAgICBh cHBfc3RhcnRlciA9IEFwcFN0YXJ0ZXIoZHJpdmVyLCBjb25maWcpCisgICAgICAgICAgICBhcHBf c3RhcnRlci5zdGFydF9hcHAoKQogCiAgICAgaGFuZGxlX2NsZWFudXAgPSB0ZXN0X3V0aWxzLmdl dF9jbGVhbnVwX2hhbmRsZXIodGVzdF9jbGllbnQsIGFwcF9zdGFydGVyKQogICAgICMgUmVnaXN0 ZXIgY2xlYW51cCBmdW5jdGlvbiB0byBjbGVhbnVwIG9uIGV4aXQKQEAgLTMxOSw2ICszMjUsOSBA QCBkZWYgYWRkX2FyZ3VtZW50cygpOgogICAgICAgICAnLS1tb2R1bGVzJywKICAgICAgICAgaGVs cD0nRXhlY3V0ZXMgdGhlIGZlYXR1cmUgdGVzdCBmb3Igc3BlY2lmaWMgbW9kdWxlcyBpbiBwa2cn CiAgICAgKQorICAgIHBhcnNlci5hZGRfYXJndW1lbnQoJy0tcGFyYWxsZWwnLCBuYXJncz0nPycs IGNvbnN0PVRydWUsCisgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPWJvb2wsIGRlZmF1bHQ9 RmFsc2UsCisgICAgICAgICAgICAgICAgICAgICAgICBoZWxwPSdFbmFibGUgcGFyYWxsZWwgRmVh dHVyZSBUZXN0cycpCiAgICAgYXJnID0gcGFyc2VyLnBhcnNlX2FyZ3MoKQogCiAgICAgcmV0dXJu IGFyZwpAQCAtNDA0LDYgKzQxMywyMTIgQEAgY2xhc3MgU3RyZWFtVG9Mb2dnZXIob2JqZWN0KToK ICAgICAgICAgcGFzcwogCiAKK2RlZiBleGVjdXRlX3Rlc3QodGVzdF9tb2R1bGVfbGlzdF9wYXNz ZWQsIHNlcnZlcl9wYXNzZWQsIGRyaXZlcl9wYXNzZWQpOgorICAgICIiIgorICAgIEZ1bmN0aW9u IGV4ZWN1dGVzIGFjdHVhbGx5IHRlc3QKKyAgICA6cGFyYW0gdGVzdF9tb2R1bGVfbGlzdF9wYXNz ZWQ6CisgICAgOnBhcmFtIHNlcnZlcl9wYXNzZWQ6CisgICAgOnBhcmFtIGRyaXZlcl9wYXNzZWQ6 CisgICAgOnJldHVybjoKKyAgICAiIiIKKyAgICB0cnk6CisgICAgICAgIHByaW50KCJcbj09PT09 PT09PT09PT1SdW5uaW5nIHRoZSB0ZXN0IGNhc2VzIGZvciAnJXMnID09PT09PT09PT09PT0iCisg ICAgICAgICAgICAgICUgc2VydmVyX3Bhc3NlZFsnbmFtZSddLCBmaWxlPXN5cy5zdGRlcnIpCisg ICAgICAgICMgQ3JlYXRlIHRlc3Qgc2VydmVyCisgICAgICAgIHNlcnZlcl9pbmZvcm1hdGlvbiA9 IFwKKyAgICAgICAgICAgIHRlc3RfdXRpbHMuY3JlYXRlX3BhcmVudF9zZXJ2ZXJfbm9kZShzZXJ2 ZXJfcGFzc2VkKQorCisgICAgICAgICMgQ3JlYXRlIHRlc3QgZGF0YWJhc2Ugd2l0aCByYW5kb20g bnVtYmVyIHRvIGF2b2lkIGNvbmZsaWN0IGluCisgICAgICAgICMgcGFyYWxsZWwgZXhlY3V0aW9u IG9uIGRpZmZlcmVudCBwbGF0Zm9ybXMuIFRoaXMgZGF0YWJhc2Ugd2lsbCBiZQorICAgICAgICAj IHVzZWQgYWNyb3NzIGFsbCBmZWF0dXJlIHRlc3RzLgorICAgICAgICB0ZXN0X2RiX25hbWUgPSAi YWNjZXB0YW5jZV90ZXN0X2RiIiArIFwKKyAgICAgICAgICAgICAgICAgICAgICAgc3RyKHJhbmRv bS5yYW5kaW50KDEwMDAwLCA2NTUzNSkpCisgICAgICAgIGNvbm5lY3Rpb24gPSB0ZXN0X3V0aWxz LmdldF9kYl9jb25uZWN0aW9uKAorICAgICAgICAgICAgc2VydmVyX3Bhc3NlZFsnZGInXSwKKyAg ICAgICAgICAgIHNlcnZlcl9wYXNzZWRbJ3VzZXJuYW1lJ10sCisgICAgICAgICAgICBzZXJ2ZXJf cGFzc2VkWydkYl9wYXNzd29yZCddLAorICAgICAgICAgICAgc2VydmVyX3Bhc3NlZFsnaG9zdCdd LAorICAgICAgICAgICAgc2VydmVyX3Bhc3NlZFsncG9ydCddLAorICAgICAgICAgICAgc2VydmVy X3Bhc3NlZFsnc3NsbW9kZSddCisgICAgICAgICkKKworICAgICAgICAjIEFkZCB0aGUgc2VydmVy IHZlcnNpb24gaW4gc2VydmVyIGluZm9ybWF0aW9uCisgICAgICAgIHNlcnZlcl9pbmZvcm1hdGlv blsnc2VydmVyX3ZlcnNpb24nXSA9IGNvbm5lY3Rpb24uc2VydmVyX3ZlcnNpb24KKyAgICAgICAg c2VydmVyX2luZm9ybWF0aW9uWyd0eXBlJ10gPSBzZXJ2ZXJfcGFzc2VkWyd0eXBlJ10KKworICAg ICAgICAjIERyb3AgdGhlIGRhdGFiYXNlIGlmIGFscmVhZHkgZXhpc3RzLgorICAgICAgICB0ZXN0 X3V0aWxzLmRyb3BfZGF0YWJhc2UoY29ubmVjdGlvbiwgdGVzdF9kYl9uYW1lKQorCisgICAgICAg ICMgQ3JlYXRlIGRhdGFiYXNlCisgICAgICAgIHRlc3RfdXRpbHMuY3JlYXRlX2RhdGFiYXNlKHNl cnZlcl9wYXNzZWQsIHRlc3RfZGJfbmFtZSkKKworICAgICAgICAjIENvbmZpZ3VyZSBwcmVmZXJl bmNlcyBmb3IgdGhlIHRlc3QgY2FzZXMKKyAgICAgICAgdGVzdF91dGlscy5jb25maWd1cmVfcHJl ZmVyZW5jZXMoCisgICAgICAgICAgICBkZWZhdWx0X2JpbmFyeV9wYXRoPXNlcnZlcl9wYXNzZWRb J2RlZmF1bHRfYmluYXJ5X3BhdGhzJ10pCisKKyAgICAgICAgIyBHZXQgdW5pdCB0ZXN0IHN1aXQK KyAgICAgICAgc3VpdGUgPSBnZXRfc3VpdGUodGVzdF9tb2R1bGVfbGlzdF9wYXNzZWQsCisgICAg ICAgICAgICAgICAgICAgICAgICAgIHNlcnZlcl9wYXNzZWQsCisgICAgICAgICAgICAgICAgICAg ICAgICAgIHRlc3RfY2xpZW50LAorICAgICAgICAgICAgICAgICAgICAgICAgICBzZXJ2ZXJfaW5m b3JtYXRpb24sIHRlc3RfZGJfbmFtZSwgZHJpdmVyX3Bhc3NlZCkKKworICAgICAgICAjIFJ1biB1 bml0IHRlc3Qgc3VpdCBjcmVhdGVkCisgICAgICAgIHRlc3RzID0gdW5pdHRlc3QuVGV4dFRlc3RS dW5uZXIoc3RyZWFtPXN5cy5zdGRlcnIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgZGVzY3JpcHRpb25zPVRydWUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgdmVyYm9zaXR5PTIpLnJ1bihzdWl0ZSkKKworICAgICAgICAjIHByb2Nlc3Np bmcgcmVzdWx0cworICAgICAgICByYW5fdGVzdHMsIGZhaWxlZF9jYXNlcywgc2tpcHBlZF9jYXNl cywgcGFzc2VkX2Nhc2VzID0gXAorICAgICAgICAgICAgZ2V0X3Rlc3RzX3Jlc3VsdCh0ZXN0cykK KworICAgICAgICAjIFRoaXMgaXMgcmVxdWlyZWQgd2hlbiBzb21lIHRlc3RzIGFyZSBydW5uaW5n IHBhcmFsbGVsCisgICAgICAgICMgJiBzb21lIHNlcXVlbnRpYWwgaW4gY2FzZSBvZiBwYXJhbGxl bCB1aSB0ZXN0cworICAgICAgICBpZiB0aHJlYWRpbmcuY3VycmVudF90aHJlYWQoKS5nZXROYW1l KCkgPT0gInNlcXVlbnRpYWxfdGVzdHMiOgorICAgICAgICAgICAgdHJ5OgorICAgICAgICAgICAg ICAgIGlmIHRlc3RfcmVzdWx0W3NlcnZlcl9wYXNzZWRbJ25hbWUnXV1bMF0gaXMgbm90IE5vbmU6 CisgICAgICAgICAgICAgICAgICAgIHJhbl90ZXN0cyA9IHRlc3RfcmVzdWx0W3NlcnZlcl9wYXNz ZWRbJ25hbWUnXV1bMF0gKyBcCisgICAgICAgICAgICAgICAgICAgICAgICByYW5fdGVzdHMKKyAg ICAgICAgICAgICAgICAgICAgZmFpbGVkX2Nhc2VzLnVwZGF0ZSh0ZXN0X3Jlc3VsdFtzZXJ2ZXJf cGFzc2VkWyduYW1lJ11dWzFdKQorICAgICAgICAgICAgICAgICAgICBza2lwcGVkX2Nhc2VzLnVw ZGF0ZSh0ZXN0X3Jlc3VsdFtzZXJ2ZXJfcGFzc2VkWyduYW1lJ11dWzJdKQorICAgICAgICAgICAg ICAgICAgICBwYXNzZWRfY2FzZXMudXBkYXRlKHRlc3RfcmVzdWx0W3NlcnZlcl9wYXNzZWRbJ25h bWUnXV1bM10pCisgICAgICAgICAgICAgICAgdGVzdF9yZXN1bHRbc2VydmVyX3Bhc3NlZFsnbmFt ZSddXSA9IFtyYW5fdGVzdHMsIGZhaWxlZF9jYXNlcywKKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNraXBwZWRfY2FzZXMsCisgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYXNzZWRfY2FzZXNd CisgICAgICAgICAgICBleGNlcHQgS2V5RXJyb3I6CisgICAgICAgICAgICAgICAgcGFzcworCisg ICAgICAgICMgQWRkIGZpbmFsIHJlc3VsdHMgc2VydmVyIHdpc2UgaW4gdGVzdF9yZXN1bHQgZGlj dAorICAgICAgICB0ZXN0X3Jlc3VsdFtzZXJ2ZXJfcGFzc2VkWyduYW1lJ11dID0gW3Jhbl90ZXN0 cywgZmFpbGVkX2Nhc2VzLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIHNraXBwZWRfY2FzZXMsIHBhc3NlZF9jYXNlc10KKworICAgICAgICAjIFNldCBlbXB0 eSBsaXN0IGZvciAncGFzc2VkJyBwYXJhbWV0ZXIgZm9yIGVhY2ggdGVzdFJ1bi4KKyAgICAgICAg IyBTbyB0aGF0IGl0IHdpbGwgbm90IGFwcGVuZCBzYW1lIHRlc3QgY2FzZSBuYW1lCisgICAgICAg IHVuaXR0ZXN0LnJlc3VsdC5UZXN0UmVzdWx0LnBhc3NlZCA9IFtdCisKKyAgICAgICAgIyBEcm9w IHRoZSB0ZXN0aW5nIGRhdGFiYXNlIGNyZWF0ZWQgaW5pdGlhbGx5CisgICAgICAgIGlmIGNvbm5l Y3Rpb246CisgICAgICAgICAgICB0ZXN0X3V0aWxzLmRyb3BfZGF0YWJhc2UoY29ubmVjdGlvbiwg dGVzdF9kYl9uYW1lKQorICAgICAgICAgICAgY29ubmVjdGlvbi5jbG9zZSgpCisKKyAgICAgICAg IyBEZWxldGUgdGVzdCBzZXJ2ZXIKKyAgICAgICAgdGVzdF91dGlscy5kZWxldGVfdGVzdF9zZXJ2 ZXIodGVzdF9jbGllbnQpCisgICAgZXhjZXB0IEV4Y2VwdGlvbiBhcyBleGM6CisgICAgICAgIHRy YWNlYmFjay5wcmludF9leGMoZmlsZT1zeXMuc3RkZXJyKQorICAgICAgICBwcmludChzdHIoZXhj KSkKKyAgICAgICAgcHJpbnQoIkV4Y2VwdGlvbiBpbiB7MH0iLmZvcm1hdCh0aHJlYWRpbmcuY3Vy cmVudF90aHJlYWQoKS5pZGVudCkpCisgICAgZmluYWxseToKKyAgICAgICAgIyBEZWxldGUgd2Vi LWRyaXZlciBpbnN0YW5jZQorICAgICAgICB0aHJlYWRfbmFtZSA9ICJwYXJhbGxlbF90ZXN0cyIg KyBzZXJ2ZXJfcGFzc2VkWyduYW1lJ10KKyAgICAgICAgaWYgdGhyZWFkaW5nLmN1cnJlbnRUaHJl YWQoKS5nZXROYW1lKCkgPT0gdGhyZWFkX25hbWU6CisgICAgICAgICAgICBkcml2ZXJfcGFzc2Vk LnF1aXQoKQorICAgICAgICAgICAgdGltZS5zbGVlcCgyMCkKKworICAgICAgICAjIFByaW50IGlu Zm8gYWJvdXQgY29tcGxldGVkIHRlc3RzCisgICAgICAgIHByaW50KAorICAgICAgICAgICAgIlxu PT09PT09PT09PT09PUNvbXBsZXRlZCB0aGUgdGVzdCBjYXNlcyBmb3IgJyVzJz09PT09PT09PT09 PT0iCisgICAgICAgICAgICAlIHNlcnZlcl9wYXNzZWRbJ25hbWUnXSwgZmlsZT1zeXMuc3RkZXJy KQorCisKK2RlZiBydW5fcGFyYWxsZWxfdGVzdHModXJsX2NsaWVudCwgc2VydmVyc19kZXRhaWxz LCBwYXJhbGxlbF90ZXN0c19saXN0cywKKyAgICAgICAgICAgICAgICAgICAgICAgbmFtZV9vZl9i cm93c2VyLCB2ZXJzaW9uX29mX2Jyb3dzZXIsIG1heF90aHJlYWRfY291bnQpOgorICAgICIiIgor ICAgIEZ1bmN0aW9uIHVzZWQgdG8gcnVuIHRlc3RzIGluIHBhcmFsbGVsCisgICAgOnBhcmFtIHVy bF9jbGllbnQ6CisgICAgOnBhcmFtIHNlcnZlcnNfZGV0YWlsczoKKyAgICA6cGFyYW0gcGFyYWxs ZWxfdGVzdHNfbGlzdHM6CisgICAgOnBhcmFtIG5hbWVfb2ZfYnJvd3NlcjoKKyAgICA6cGFyYW0g dmVyc2lvbl9vZl9icm93c2VyOgorICAgIDpwYXJhbSBtYXhfdGhyZWFkX2NvdW50OgorICAgICIi IgorICAgIGRyaXZlcl9vYmplY3QgPSBOb25lCisgICAgdHJ5OgorICAgICAgICAjIFRocmVhZCBs aXN0CisgICAgICAgIHRocmVhZHNfbGlzdCA9IFtdCisgICAgICAgICMgQ3JlYXRlIHRocmVhZCBm b3IgZWFjaCBzZXJ2ZXIKKyAgICAgICAgZm9yIHNlciBpbiBzZXJ2ZXJzX2RldGFpbHM6CisgICAg ICAgICAgICAjIExvZ2ljIHRvIGFkZCBuZXcgdGhyZWFkcworICAgICAgICAgICAgd2hpbGUgVHJ1 ZToKKyAgICAgICAgICAgICAgICAjIElmIGFjdGl2ZSB0aHJlYWQgY291bnQgPD0gbWF4X3RocmVh ZF9jb3VudCwgYWRkIG5ldyB0aHJlYWQKKyAgICAgICAgICAgICAgICBpZiB0aHJlYWRpbmcuYWN0 aXZlQ291bnQoKSA8PSBtYXhfdGhyZWFkX2NvdW50OgorICAgICAgICAgICAgICAgICAgICAjIEdl dCByZW1vdGUgd2ViLWRyaXZlciBpbnN0YW5jZSBhdCBzZXJ2ZXIgbGV2ZWwKKyAgICAgICAgICAg ICAgICAgICAgZHJpdmVyX29iamVjdCA9IFwKKyAgICAgICAgICAgICAgICAgICAgICAgIHRlc3Rf dXRpbHMuZ2V0X3JlbW90ZV93ZWJkcml2ZXIoaHViX3VybCwKKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmFtZV9vZl9icm93c2VyLAorICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2ZXJz aW9uX29mX2Jyb3dzZXIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIHNlclsnbmFtZSddKQorICAgICAgICAgICAgICAgICAgICAjIExhdW5j aCBjbGllbnQgdXJsIGluIGJyb3dzZXIKKyAgICAgICAgICAgICAgICAgICAgdGVzdF91dGlscy5s YXVuY2hfdXJsX2luX2Jyb3dzZXIoZHJpdmVyX29iamVjdCwgdXJsX2NsaWVudCkKKworICAgICAg ICAgICAgICAgICAgICAjIEFkZCBuYW1lIGZvciB0aHJlYWQKKyAgICAgICAgICAgICAgICAgICAg dGhyZWFkX25hbWUgPSAicGFyYWxsZWxfdGVzdHMiICsgc2VyWyduYW1lJ10KKworICAgICAgICAg ICAgICAgICAgICAjIFN0YXJ0IHRocmVhZAorICAgICAgICAgICAgICAgICAgICB0ID0gdGhyZWFk aW5nLlRocmVhZCh0YXJnZXQ9ZXhlY3V0ZV90ZXN0LCBuYW1lPXRocmVhZF9uYW1lLAorICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhcmdzPShwYXJhbGxlbF90ZXN0c19s aXN0cywgc2VyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBkcml2ZXJfb2JqZWN0KSkKKyAgICAgICAgICAgICAgICAgICAgdGhyZWFkc19saXN0LmFwcGVu ZCh0KQorICAgICAgICAgICAgICAgICAgICB0LnN0YXJ0KCkKKyAgICAgICAgICAgICAgICAgICAg dGltZS5zbGVlcCgzKQorICAgICAgICAgICAgICAgICAgICBicmVhaworICAgICAgICAgICAgICAg ICMgZWxzZSBzbGVlcCBmb3IgMTAgc2Vjb25kcworICAgICAgICAgICAgICAgIGVsc2U6CisgICAg ICAgICAgICAgICAgICAgIHRpbWUuc2xlZXAoMTApCisKKyAgICAgICAgIyBTdGFydCB0aHJlYWRz IGluIHBhcmFsbGVsCisgICAgICAgIGZvciB0IGluIHRocmVhZHNfbGlzdDoKKyAgICAgICAgICAg IHQuam9pbigpCisgICAgZXhjZXB0IEV4Y2VwdGlvbiBhcyBleGM6CisgICAgICAgICMgUHJpbnQg ZXhjZXB0aW9uIHN0YWNrIHRyYWNlCisgICAgICAgIHRyYWNlYmFjay5wcmludF9leGMoZmlsZT1z eXMuc3RkZXJyKQorICAgICAgICBwcmludChzdHIoZXhjKSkKKyAgICAgICAgIyBDbGVhbiBkcml2 ZXIgb2JqZWN0IGNyZWF0ZWQKKyAgICAgICAgaWYgZHJpdmVyX29iamVjdCBpcyBub3QgTm9uZToK KyAgICAgICAgICAgIGRyaXZlcl9vYmplY3QucXVpdCgpCisKKworZGVmIHJ1bl9zZXF1ZW50aWFs X3Rlc3RzKHVybF9jbGllbnQsIHNlcnZlcnNfZGV0YWlscywgc2VxdWVudGlhbF90ZXN0c19saXN0 cywKKyAgICAgICAgICAgICAgICAgICAgICAgICBuYW1lX29mX2Jyb3dzZXIsIHZlcnNpb25fb2Zf YnJvd3Nlcik6CisgICAgIiIiCisgICAgRnVuY3Rpb24gaXMgdXNlZCB0byBleGVjdXRlIHRlc3Rz IHRoYXQgbmVlZHMgdG8gYmUgcnVuIGluIHNlcXVlbnRpYWwKKyAgICBtYW5uZXIuCisgICAgOnBh cmFtIHVybF9jbGllbnQ6CisgICAgOnBhcmFtIHNlcnZlcnNfZGV0YWlsczoKKyAgICA6cGFyYW0g c2VxdWVudGlhbF90ZXN0c19saXN0czoKKyAgICA6cGFyYW0gbmFtZV9vZl9icm93c2VyOgorICAg IDpwYXJhbSB2ZXJzaW9uX29mX2Jyb3dzZXI6CisgICAgOnJldHVybjoKKyAgICAiIiIKKyAgICBk cml2ZXJfb2JqZWN0ID0gTm9uZQorICAgIHRyeToKKyAgICAgICAgIyBHZXQgcmVtb3RlIHdlYi1k cml2ZXIgaW5zdGFuY2UKKyAgICAgICAgZHJpdmVyX29iamVjdCA9IHRlc3RfdXRpbHMuZ2V0X3Jl bW90ZV93ZWJkcml2ZXIoaHViX3VybCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgbmFtZV9vZl9icm93c2VyLAorICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2ZXJzaW9uX29mX2Jyb3dz ZXIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICJTZXF1ZW50aWFsX1Rlc3RzIikKKworICAgICAgICAjIExhdW5jaCBjbGllbnQgdXJsIGlu IGJyb3dzZXIKKyAgICAgICAgdGVzdF91dGlscy5sYXVuY2hfdXJsX2luX2Jyb3dzZXIoZHJpdmVy X29iamVjdCwgdXJsX2NsaWVudCkKKworICAgICAgICAjIEFkZCBuYW1lIGZvciB0aHJlYWQKKyAg ICAgICAgdGhyZWFkX25hbWUgPSAic2VxdWVudGlhbF90ZXN0cyIKKworICAgICAgICAjIFN0YXJ0 IHRocmVhZAorICAgICAgICBmb3Igc2VyIGluIHNlcnZlcnNfZGV0YWlsczoKKyAgICAgICAgICAg IHQgPSB0aHJlYWRpbmcuVGhyZWFkKHRhcmdldD1leGVjdXRlX3Rlc3QsCisgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBuYW1lPXRocmVhZF9uYW1lLAorICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgYXJncz0oc2VxdWVudGlhbF90ZXN0c19saXN0cywgc2VyLAorICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZHJpdmVyX29iamVjdCkpCisgICAgICAg ICAgICB0LnN0YXJ0KCkKKyAgICAgICAgICAgIHQuam9pbigpCisgICAgZXhjZXB0IEV4Y2VwdGlv biBhcyBleGM6CisgICAgICAgICMgUHJpbnQgZXhjZXB0aW9uIHN0YWNrIHRyYWNlCisgICAgICAg IHRyYWNlYmFjay5wcmludF9leGMoZmlsZT1zeXMuc3RkZXJyKQorICAgICAgICBwcmludChzdHIo ZXhjKSkKKyAgICBmaW5hbGx5OgorICAgICAgICAjIENsZWFuIGRyaXZlciBvYmplY3QgY3JlYXRl ZAorICAgICAgICBkcml2ZXJfb2JqZWN0LnF1aXQoKQorCisKIGlmIF9fbmFtZV9fID09ICdfX21h aW5fXyc6CiAgICAgIyBGYWlsdXJlIGRldGVjdGVkPwogICAgIGZhaWx1cmUgPSBGYWxzZQpAQCAt NDIzLDcgKzYzOCw4IEBAIGlmIF9fbmFtZV9fID09ICdfX21haW5fXyc6CiAgICAgZmggPSBsb2dn aW5nLkZpbGVIYW5kbGVyKENVUlJFTlRfUEFUSCArICcvJyArCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICdyZWdyZXNzaW9uLmxvZycsICd3JywgJ3V0Zi04JykKICAgICBmaC5zZXRMZXZl bChsb2dnaW5nLkRFQlVHKQotICAgIGZoLnNldEZvcm1hdHRlcihsb2dnaW5nLkZvcm1hdHRlcihj b25maWcuRklMRV9MT0dfRk9STUFUKSkKKyAgICBmaC5zZXRGb3JtYXR0ZXIobG9nZ2luZy5Gb3Jt YXR0ZXIoJ1slKHRocmVhZClkXSAnICsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgY29uZmlnLkZJTEVfTE9HX0ZPUk1BVCkpCiAKICAgICBsb2dnZXIgPSBsb2dnaW5nLmdl dExvZ2dlcigpCiAgICAgbG9nZ2VyLmFkZEhhbmRsZXIoZmgpCkBAIC00NTEsNjkgKzY2Nyw5NyBA QCBpZiBfX25hbWVfXyA9PSAnX19tYWluX18nOgogICAgICAgICBjb3YgPSBjb3ZlcmFnZS5Db3Zl cmFnZShjb25maWdfZmlsZT1DT1ZFUkFHRV9DT05GSUdfRklMRSkKICAgICAgICAgY292LnN0YXJ0 KCkKIAotICAgIHRyeToKLSAgICAgICAgZm9yIHNlcnZlciBpbiBzZXJ2ZXJzX2luZm86Ci0gICAg ICAgICAgICBwcmludCgiXG49PT09PT09PT09PT09UnVubmluZyB0aGUgdGVzdCBjYXNlcyBmb3Ig JyVzJz09PT09PT09PT09PT0iCi0gICAgICAgICAgICAgICAgICAlIHNlcnZlclsnbmFtZSddLCBm aWxlPXN5cy5zdGRlcnIpCi0gICAgICAgICAgICAjIENyZWF0ZSB0ZXN0IHNlcnZlcgotICAgICAg ICAgICAgc2VydmVyX2luZm9ybWF0aW9uID0gdGVzdF91dGlscy5jcmVhdGVfcGFyZW50X3NlcnZl cl9ub2RlKHNlcnZlcikKLQotICAgICAgICAgICAgIyBDcmVhdGUgdGVzdCBkYXRhYmFzZSB3aXRo IHJhbmRvbSBudW1iZXIgdG8gYXZvaWQgY29uZmxpY3QgaW4KLSAgICAgICAgICAgICMgcGFyYWxs ZWwgZXhlY3V0aW9uIG9uIGRpZmZlcmVudCBwbGF0Zm9ybXMuIFRoaXMgZGF0YWJhc2Ugd2lsbCBi ZQotICAgICAgICAgICAgIyB1c2VkIGFjcm9zcyBhbGwgZmVhdHVyZSB0ZXN0cy4KLSAgICAgICAg ICAgIHRlc3RfZGJfbmFtZSA9ICJhY2NlcHRhbmNlX3Rlc3RfZGIiICsgXAotICAgICAgICAgICAg ICAgICAgICAgICAgICAgc3RyKHJhbmRvbS5yYW5kaW50KDEwMDAwLCA2NTUzNSkpCi0gICAgICAg ICAgICBjb25uZWN0aW9uID0gdGVzdF91dGlscy5nZXRfZGJfY29ubmVjdGlvbigKLSAgICAgICAg ICAgICAgICBzZXJ2ZXJbJ2RiJ10sCi0gICAgICAgICAgICAgICAgc2VydmVyWyd1c2VybmFtZSdd LAotICAgICAgICAgICAgICAgIHNlcnZlclsnZGJfcGFzc3dvcmQnXSwKLSAgICAgICAgICAgICAg ICBzZXJ2ZXJbJ2hvc3QnXSwKLSAgICAgICAgICAgICAgICBzZXJ2ZXJbJ3BvcnQnXSwKLSAgICAg ICAgICAgICAgICBzZXJ2ZXJbJ3NzbG1vZGUnXQotICAgICAgICAgICAgKQotCi0gICAgICAgICAg ICAjIEFkZCB0aGUgc2VydmVyIHZlcnNpb24gaW4gc2VydmVyIGluZm9ybWF0aW9uCi0gICAgICAg ICAgICBzZXJ2ZXJfaW5mb3JtYXRpb25bJ3NlcnZlcl92ZXJzaW9uJ10gPSBjb25uZWN0aW9uLnNl cnZlcl92ZXJzaW9uCi0gICAgICAgICAgICBzZXJ2ZXJfaW5mb3JtYXRpb25bJ3R5cGUnXSA9IHNl cnZlclsndHlwZSddCi0KLSAgICAgICAgICAgICMgRHJvcCB0aGUgZGF0YWJhc2UgaWYgYWxyZWFk eSBleGlzdHMuCi0gICAgICAgICAgICB0ZXN0X3V0aWxzLmRyb3BfZGF0YWJhc2UoY29ubmVjdGlv biwgdGVzdF9kYl9uYW1lKQotICAgICAgICAgICAgIyBDcmVhdGUgZGF0YWJhc2UKLSAgICAgICAg ICAgIHRlc3RfdXRpbHMuY3JlYXRlX2RhdGFiYXNlKHNlcnZlciwgdGVzdF9kYl9uYW1lKQotICAg ICAgICAgICAgIyBDb25maWd1cmUgcHJlZmVyZW5jZXMgZm9yIHRoZSB0ZXN0IGNhc2VzCi0gICAg ICAgICAgICB0ZXN0X3V0aWxzLmNvbmZpZ3VyZV9wcmVmZXJlbmNlcygKLSAgICAgICAgICAgICAg ICBkZWZhdWx0X2JpbmFyeV9wYXRoPXNlcnZlclsnZGVmYXVsdF9iaW5hcnlfcGF0aHMnXSkKLQot ICAgICAgICAgICAgc3VpdGUgPSBnZXRfc3VpdGUodGVzdF9tb2R1bGVfbGlzdCwKLSAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIHNlcnZlciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIHRlc3RfY2xpZW50LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VydmVyX2lu Zm9ybWF0aW9uLCB0ZXN0X2RiX25hbWUpCi0gICAgICAgICAgICB0ZXN0cyA9IHVuaXR0ZXN0LlRl eHRUZXN0UnVubmVyKHN0cmVhbT1zeXMuc3RkZXJyLAotICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbnM9VHJ1ZSwKLSAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgdmVyYm9zaXR5PTIpLnJ1bihzdWl0ZSkKLQotICAg ICAgICAgICAgcmFuX3Rlc3RzLCBmYWlsZWRfY2FzZXMsIHNraXBwZWRfY2FzZXMsIHBhc3NlZF9j YXNlcyA9IFwKLSAgICAgICAgICAgICAgICBnZXRfdGVzdHNfcmVzdWx0KHRlc3RzKQotICAgICAg ICAgICAgdGVzdF9yZXN1bHRbc2VydmVyWyduYW1lJ11dID0gW3Jhbl90ZXN0cywgZmFpbGVkX2Nh c2VzLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNraXBwZWRf Y2FzZXMsIHBhc3NlZF9jYXNlc10KLQotICAgICAgICAgICAgIyBTZXQgZW1wdHkgbGlzdCBmb3Ig J3Bhc3NlZCcgcGFyYW1ldGVyIGZvciBlYWNoIHRlc3RSdW4uCi0gICAgICAgICAgICAjIFNvIHRo YXQgaXQgd2lsbCBub3QgYXBwZW5kIHNhbWUgdGVzdCBjYXNlIG5hbWUKLSAgICAgICAgICAgIHVu aXR0ZXN0LnJlc3VsdC5UZXN0UmVzdWx0LnBhc3NlZCA9IFtdCi0KLSAgICAgICAgICAgIGlmIGxl bihmYWlsZWRfY2FzZXMpID4gMDoKLSAgICAgICAgICAgICAgICBmYWlsdXJlID0gVHJ1ZQotCi0g ICAgICAgICAgICAjIERyb3AgdGhlIHRlc3RpbmcgZGF0YWJhc2UgY3JlYXRlZCBpbml0aWFsbHkK LSAgICAgICAgICAgIGlmIGNvbm5lY3Rpb246Ci0gICAgICAgICAgICAgICAgdGVzdF91dGlscy5k cm9wX2RhdGFiYXNlKGNvbm5lY3Rpb24sIHRlc3RfZGJfbmFtZSkKLSAgICAgICAgICAgICAgICBj b25uZWN0aW9uLmNsb3NlKCkKLQotICAgICAgICAgICAgIyBEZWxldGUgdGVzdCBzZXJ2ZXIKLSAg ICAgICAgICAgIHRlc3RfdXRpbHMuZGVsZXRlX3Rlc3Rfc2VydmVyKHRlc3RfY2xpZW50KQotICAg IGV4Y2VwdCBTeXN0ZW1FeGl0OgotICAgICAgICBpZiBoYW5kbGVfY2xlYW51cDoKLSAgICAgICAg ICAgIGhhbmRsZV9jbGVhbnVwKCkKKyAgICAjIENoZWNrIGlmIGZlYXR1cmUgdGVzdHMgaW5jbHVk ZWQgJiBwYXJhbGxlbCB0ZXN0cyBzd2l0Y2ggcGFzc2VkCisgICAgaWYgdGVzdF91dGlscy5pc19m ZWF0dXJlX3Rlc3RfaW5jbHVkZWQoYXJncykgYW5kIFwKKyAgICAgICAgICAgIHRlc3RfdXRpbHMu aXNfcGFyYWxsZWxfdWlfdGVzdHMoYXJncyk6CisKKyAgICAgICAgIyBHZXQgc2VsZW5pdW0gaW5m byBkaWN0IGh1YiB1cmwKKyAgICAgICAgc2VsZW5vaWRfaW5mbyA9IHRlc3Rfc2V0dXAuY29uZmln X2RhdGFbJ3NlbGVub2lkX2luZm8nXQorCisgICAgICAgICMgU2V0IERFRkFVTFRfU0VSVkVSIHZh bHVlCisgICAgICAgIGRlZmF1bHRfc2VydmVyID0gc2VsZW5vaWRfaW5mb1sncGdBZG1pbl9kZWZh dWx0X3NlcnZlciddCisgICAgICAgIG9zLmVudmlyb25bIlBHQURNSU5fQ09ORklHX0RFRkFVTFRf U0VSVkVSIl0gPSBzdHIoZGVmYXVsdF9zZXJ2ZXIpCisgICAgICAgIGNvbmZpZy5ERUZBVUxUX1NF UlZFUiA9IHN0cihkZWZhdWx0X3NlcnZlcikKKworICAgICAgICAjIEdldCBodWIgdXJsCisgICAg ICAgIGh1Yl91cmwgPSBzZWxlbm9pZF9pbmZvWydzZWxlbm9pZF91cmwnXQorICAgICAgICAjIEdl dCBzZWxlbml1bSBncmlkIHN0YXR1cyAmIGxpc3Qgb2YgYXZhaWxhYmxlIGJyb3dzZXIgb3V0IHBh c3NlZAorICAgICAgICBzZWxlbml1bV9ncmlkX3N0YXR1cywgbGlzdF9vZl9icm93c2VycyBcCisg ICAgICAgICAgICA9IHRlc3RfdXRpbHMuZ2V0X3NlbGVuaXVtX2dyaWRfc3RhdHVzX2FuZF9icm93 c2VyX2xpc3QoaHViX3VybCkKKworICAgICAgICAjIEV4ZWN1dGUgdGVzdHMgaWYgc2VsZW5pdW0t Z3JpZCBpcyB1cAorICAgICAgICBpZiBzZWxlbml1bV9ncmlkX3N0YXR1cyBhbmQgbGVuKGxpc3Rf b2ZfYnJvd3NlcnMpID4gMDoKKworICAgICAgICAgICAgYXBwX3N0YXJ0ZXJfbG9jYWwgPSBOb25l CisgICAgICAgICAgICB0cnk6CisgICAgICAgICAgICAgICAgIyBydW4gYWNyb3NzIGJyb3dzZXJz CisgICAgICAgICAgICAgICAgZm9yIGJyb3dzZXJfaW5mbyBpbiBsaXN0X29mX2Jyb3dzZXJzOgor ICAgICAgICAgICAgICAgICAgICAjIGJyb3dzZXIgaW5mbworICAgICAgICAgICAgICAgICAgICBi cm93c2VyX25hbWUsIGJyb3dzZXJfdmVyc2lvbiA9IFwKKyAgICAgICAgICAgICAgICAgICAgICAg IHRlc3RfdXRpbHMuZ2V0X2Jyb3dzZXJfZGV0YWlscyhicm93c2VyX2luZm8sIGh1Yl91cmwpCisK KyAgICAgICAgICAgICAgICAgICAgIyB0ZXN0cyBsaXN0cyBjYW4gYmUgZXhlY3V0ZWQgaW4gcGFy YWxsZWwgJiBzZXF1ZW50aWFsbHkKKyAgICAgICAgICAgICAgICAgICAgcGFyYWxsZWxfdGVzdHMs IHNlcXVlbnRpYWxfdGVzdHMgPSBcCisgICAgICAgICAgICAgICAgICAgICAgICB0ZXN0X3V0aWxz LmdldF9wYXJhbGxlbF9zZXF1ZW50aWFsX21vZHVsZV9saXN0KAorICAgICAgICAgICAgICAgICAg ICAgICAgICAgIHRlc3RfbW9kdWxlX2xpc3QpCisKKyAgICAgICAgICAgICAgICAgICAgIyBQcmlu dCB0ZXN0IHN1bW1hcnkKKyAgICAgICAgICAgICAgICAgICAgdGVzdF91dGlscy5wcmludF90ZXN0 X3N1bW1hcnkodGVzdF9tb2R1bGVfbGlzdCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgcGFyYWxsZWxfdGVzdHMsCisgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlcXVlbnRpYWxfdGVzdHMsCisgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyb3dzZXJfbmFtZSwK KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJvd3Nl cl92ZXJzaW9uKQorCisgICAgICAgICAgICAgICAgICAgICMgQ3JlYXRlIGFwcCBmb3JtIHNvdXJj ZSBjb2RlCisgICAgICAgICAgICAgICAgICAgIGFwcF9zdGFydGVyX2xvY2FsID0gQXBwU3RhcnRl cihOb25lLCBjb25maWcpCisgICAgICAgICAgICAgICAgICAgIGNsaWVudF91cmwgPSBhcHBfc3Rh cnRlcl9sb2NhbC5zdGFydF9hcHAoKQorCisgICAgICAgICAgICAgICAgICAgICMgUnVubmluZyBQ YXJhbGxlbCB0ZXN0cworICAgICAgICAgICAgICAgICAgICBpZiBsZW4ocGFyYWxsZWxfdGVzdHMp ID4gMDoKKyAgICAgICAgICAgICAgICAgICAgICAgIHBhcmFsbGVsX3Nlc3Npb25zID0gaW50KHNl bGVub2lkX2luZm9bCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ21heF9wYXJhbGxlbF9z ZXNzaW9ucyddKQorCisgICAgICAgICAgICAgICAgICAgICAgICBydW5fcGFyYWxsZWxfdGVzdHMo Y2xpZW50X3VybCwgc2VydmVyc19pbmZvLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIHBhcmFsbGVsX3Rlc3RzLCBicm93c2VyX25hbWUsCisgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJvd3Nlcl92ZXJzaW9uLCBwYXJhbGxlbF9z ZXNzaW9ucykKKworICAgICAgICAgICAgICAgICAgICAjIFdhaXQgdGlsbCBhbGwgdGhyZWFkcyBz dGFydGVkIGluIHBhcmFsbGVsIGFyZSBmaW5pc2hlZAorICAgICAgICAgICAgICAgICAgICB3aGls ZSBUcnVlOgorICAgICAgICAgICAgICAgICAgICAgICAgdHJ5OgorICAgICAgICAgICAgICAgICAg ICAgICAgICAgIGlmIHRocmVhZGluZy5hY3RpdmVDb3VudCgpIDw9IDE6CisgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIGJyZWFrCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgZWxz ZToKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGltZS5zbGVlcCgxMCkKKyAgICAg ICAgICAgICAgICAgICAgICAgIGV4Y2VwdCBFeGNlcHRpb24gYXMgZToKKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICB0cmFjZWJhY2sucHJpbnRfZXhjKGZpbGU9c3lzLnN0ZGVycikKKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICBwcmludChzdHIoZSkpCisKKyAgICAgICAgICAgICAgICAg ICAgIyBTZXF1ZW50aWFsIFRlc3RzCisgICAgICAgICAgICAgICAgICAgIGlmIGxlbihzZXF1ZW50 aWFsX3Rlc3RzKSA+IDA6CisgICAgICAgICAgICAgICAgICAgICAgICBydW5fc2VxdWVudGlhbF90 ZXN0cyhjbGllbnRfdXJsLCBzZXJ2ZXJzX2luZm8sCisgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBzZXF1ZW50aWFsX3Rlc3RzLCBicm93c2VyX25hbWUsCisgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBicm93c2VyX3ZlcnNpb24p CisKKyAgICAgICAgICAgICAgICAgICAgIyBDbGVhbiB1cCBlbnZpcm9ubWVudAorICAgICAgICAg ICAgICAgICAgICBpZiBhcHBfc3RhcnRlcl9sb2NhbDoKKyAgICAgICAgICAgICAgICAgICAgICAg IGFwcF9zdGFydGVyX2xvY2FsLnN0b3BfYXBwKCkKKyAgICAgICAgICAgIGV4Y2VwdCBTeXN0ZW1F eGl0OgorICAgICAgICAgICAgICAgIGlmIGFwcF9zdGFydGVyX2xvY2FsOgorICAgICAgICAgICAg ICAgICAgICBhcHBfc3RhcnRlcl9sb2NhbC5zdG9wX2FwcCgpCisgICAgICAgICAgICAgICAgaWYg aGFuZGxlX2NsZWFudXA6CisgICAgICAgICAgICAgICAgICAgIGhhbmRsZV9jbGVhbnVwKCkKKyAg ICAgICAgICAgICMgUGF1c2UgYmVmb3JlIHByaW50aW5nIHJlc3VsdCBpbiBvcmRlciBub3QgdG8g bWl4IG91dHB1dAorICAgICAgICAgICAgdGltZS5zbGVlcCgzKQorICAgIGVsc2U6CisgICAgICAg IHRyeToKKyAgICAgICAgICAgIGZvciBzZXJ2ZXIgaW4gc2VydmVyc19pbmZvOgorICAgICAgICAg ICAgICAgIHRocmVhZCA9IHRocmVhZGluZy5UaHJlYWQodGFyZ2V0PWV4ZWN1dGVfdGVzdCwgYXJn cz0oCisgICAgICAgICAgICAgICAgICAgIHRlc3RfbW9kdWxlX2xpc3QsIHNlcnZlciwgZHJpdmVy KSkKKyAgICAgICAgICAgICAgICB0aHJlYWQuc3RhcnQoKQorICAgICAgICAgICAgICAgIHRocmVh ZC5qb2luKCkKKyAgICAgICAgZXhjZXB0IFN5c3RlbUV4aXQ6CisgICAgICAgICAgICBpZiBoYW5k bGVfY2xlYW51cDoKKyAgICAgICAgICAgICAgICBoYW5kbGVfY2xlYW51cCgpCiAKICAgICBwcmlu dCgKICAgICAgICAgIlxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09IgpAQCAtNTQzLDYgKzc4Nyw5IEBAIGlmIF9fbmFtZV9fID09 ICdfX21haW5fXyc6CiAgICAgICAgIHRvdGFsX3Bhc3NlZF9jYXNlcyA9IGludCgKICAgICAgICAg ICAgIHRlc3RfcmVzdWx0W3NlcnZlcl9yZXNdWzBdKSAtIHRvdGFsX2ZhaWxlZCAtIHRvdGFsX3Nr aXBwZWQKIAorICAgICAgICBpZiBsZW4oZmFpbGVkX2Nhc2VzKSA+IDA6CisgICAgICAgICAgICBm YWlsdXJlID0gVHJ1ZQorCiAgICAgICAgIHByaW50KAogICAgICAgICAgICAgIiVzOlxuXG5cdCVz IHRlc3QlcyBwYXNzZWRcblx0JXMgdGVzdCVzIGZhaWxlZCVzJXMiCiAgICAgICAgICAgICAiXG5c dCVzIHRlc3QlcyBza2lwcGVkJXMlc1xuIiAlCmRpZmYgLS1naXQgYS93ZWIvcmVncmVzc2lvbi90 ZXN0X2NvbmZpZy5qc29uLmluIGIvd2ViL3JlZ3Jlc3Npb24vdGVzdF9jb25maWcuanNvbi5pbgpp bmRleCBhZjA2MWI5Li5iYmQwZTFlIDEwMDY0NAotLS0gYS93ZWIvcmVncmVzc2lvbi90ZXN0X2Nv bmZpZy5qc29uLmluCisrKyBiL3dlYi9yZWdyZXNzaW9uL3Rlc3RfY29uZmlnLmpzb24uaW4KQEAg LTEsNiArMSwxMCBAQAogewogICAiaGVhZGxlc3NfY2hyb21lIjogZmFsc2UsCiAgICJkZWZhdWx0 X2Jyb3dzZXIiOiAiQ2hyb21lIiwKKyAgInNlbGVub2lkX2luZm8iOnsicGdBZG1pbl9kZWZhdWx0 X3NlcnZlciI6ImlwIGFkZHJlc3Mgb2YgbWFjaGluZSB3aGVyZSBzb3VyY2UgY29kZSBleGVjdXRl ZCIsCisgICAgICAgICAgICAgICAgICAgICJtYXhfcGFyYWxsZWxfc2Vzc2lvbnMiOiAiMyIsCisg ICAgICAgICAgICAgICAgICAgICJjcm9zc19Ccm93c2VycyI6IFt7Im5hbWUiOiAiYnJvd3Nlcl9u YW1lIiwidmVyc2lvbiI6ICJicm93c2VyX3ZlcnNpb24ifV0sCisgICAgICAgICAgICAgICAgICAg ICJzZWxlbm9pZF91cmwiOiAiU2VsZW5vaWQgVXJsIn0sCiAgICJwZ0FkbWluNF9sb2dpbl9jcmVk ZW50aWFscyI6IHsKICAgICAibmV3X3Bhc3N3b3JkIjogIk5FV1BBU1NXT1JEIiwKICAgICAibG9n aW5fcGFzc3dvcmQiOiAiUEFTU1dPUkQiLApkaWZmIC0tZ2l0IGEvd2ViL3lhcm4ubG9jayBiL3dl Yi95YXJuLmxvY2sKaW5kZXggMTUxZTk4Yy4uNjk2OTg0OCAxMDA2NDQKLS0tIGEvd2ViL3lhcm4u bG9jaworKysgYi93ZWIveWFybi5sb2NrCkBAIC0yOSwxMiArMjksMTIgQEAKICAgICBzZW12ZXIg Il41LjQuMSIKICAgICBzb3VyY2UtbWFwICJeMC41LjAiCiAKLSJAYmFiZWwvZ2VuZXJhdG9yQF43 LjYuNCIsICJAYmFiZWwvZ2VuZXJhdG9yQF43LjkuMCI6Ci0gIHZlcnNpb24gIjcuOS40IgotICBy ZXNvbHZlZCAiaHR0cHM6Ly9yZWdpc3RyeS55YXJucGtnLmNvbS9AYmFiZWwvZ2VuZXJhdG9yLy0v Z2VuZXJhdG9yLTcuOS40LnRneiMxMjQ0MWU5MGMzYjNjNDE1OWNkZWNmMzEyMDc1YmYxYThjZTJk YmNlIgotICBpbnRlZ3JpdHkgc2hhNTEyLXJqUDhhaGFEeS9vdWhydkNvVTFFNW1xYWl0V3J4d3VO R1UrZHkxRXBhb0s0OGpaYXk0TWRrc2tLR0lNSExaTmV3ZzhzQXNxcEdTUkVKd1AwekgzWVFBPT0K KyJAYmFiZWwvZ2VuZXJhdG9yQF43LjYuNCIsICJAYmFiZWwvZ2VuZXJhdG9yQF43LjkuNSI6Cisg IHZlcnNpb24gIjcuOS41IgorICByZXNvbHZlZCAiaHR0cHM6Ly9yZWdpc3RyeS55YXJucGtnLmNv bS9AYmFiZWwvZ2VuZXJhdG9yLy0vZ2VuZXJhdG9yLTcuOS41LnRneiMyN2YwOTE3NzQxYWNjNDFl NmVhYWNlZDZkNjhmOTZjM2ZhOWFmYWY5IgorICBpbnRlZ3JpdHkgc2hhNTEyLUdiTkl4VkIzWkpl M3RMZURtMUhTbjJBaHVEL21WY3lMRHBndExYYTV0cGxtV3JKZEYvZWx4QjU2WE5xQ3VENnN6eU5r RGk2d3VvS1hsbjNRZUJtQ0hRPT0KICAgZGVwZW5kZW5jaWVzOgotICAgICJAYmFiZWwvdHlwZXMi ICJeNy45LjAiCisgICAgIkBiYWJlbC90eXBlcyIgIl43LjkuNSIKICAgICBqc2VzYyAiXjIuNS4x IgogICAgIGxvZGFzaCAiXjQuMTcuMTMiCiAgICAgc291cmNlLW1hcCAiXjAuNS4wIgpAQCAtODAs MTQgKzgwLDE0IEBACiAgICAgIkBiYWJlbC90cmF2ZXJzZSIgIl43LjguMyIKICAgICAiQGJhYmVs L3R5cGVzIiAiXjcuOC4zIgogCi0iQGJhYmVsL2hlbHBlci1mdW5jdGlvbi1uYW1lQF43LjguMyI6 Ci0gIHZlcnNpb24gIjcuOC4zIgotICByZXNvbHZlZCAiaHR0cHM6Ly9yZWdpc3RyeS55YXJucGtn LmNvbS9AYmFiZWwvaGVscGVyLWZ1bmN0aW9uLW5hbWUvLS9oZWxwZXItZnVuY3Rpb24tbmFtZS03 LjguMy50Z3ojZWVlYjY2NWEwMWIxZjExMDY4ZTlmYjg2YWQ1NmExY2IxYTgyNGNjYSIKLSAgaW50 ZWdyaXR5IHNoYTUxMi1CQ3hnWDFCQzJoRC9vQmxJRlVnT0NRRE9QVjhuU0lOeEN3TTNvOTN4UDRQ OUZxNmFWNXNndjJjT09JVERNdENmUSszUHZIcDNsNjg5WFp2QU05UXlPQT09CisiQGJhYmVsL2hl bHBlci1mdW5jdGlvbi1uYW1lQF43LjguMyIsICJAYmFiZWwvaGVscGVyLWZ1bmN0aW9uLW5hbWVA XjcuOS41IjoKKyAgdmVyc2lvbiAiNy45LjUiCisgIHJlc29sdmVkICJodHRwczovL3JlZ2lzdHJ5 Lnlhcm5wa2cuY29tL0BiYWJlbC9oZWxwZXItZnVuY3Rpb24tbmFtZS8tL2hlbHBlci1mdW5jdGlv bi1uYW1lLTcuOS41LnRneiMyYjUzODIwZDM1Mjc1MTIwZTE4NzRhODJlNWFhYmUxMzc2OTIwYTVj IgorICBpbnRlZ3JpdHkgc2hhNTEyLUpWY1FaZVhNNTlDZDFxYW5EVXh2OWZnSnB0M05lS1VhcUJx VUV2Zm1RK0JDT0txMnhVZ2FXWlcyaHIwZGtieUpnZXpZdXBsRW9oNWtubXJuUzY4ZWZ3PT0KICAg ZGVwZW5kZW5jaWVzOgogICAgICJAYmFiZWwvaGVscGVyLWdldC1mdW5jdGlvbi1hcml0eSIgIl43 LjguMyIKICAgICAiQGJhYmVsL3RlbXBsYXRlIiAiXjcuOC4zIgotICAgICJAYmFiZWwvdHlwZXMi ICJeNy44LjMiCisgICAgIkBiYWJlbC90eXBlcyIgIl43LjkuNSIKIAogIkBiYWJlbC9oZWxwZXIt Z2V0LWZ1bmN0aW9uLWFyaXR5QF43LjguMyI6CiAgIHZlcnNpb24gIjcuOC4zIgpAQCAtMTg1LDEw ICsxODUsMTAgQEAKICAgZGVwZW5kZW5jaWVzOgogICAgICJAYmFiZWwvdHlwZXMiICJeNy44LjMi CiAKLSJAYmFiZWwvaGVscGVyLXZhbGlkYXRvci1pZGVudGlmaWVyQF43LjkuMCI6Ci0gIHZlcnNp b24gIjcuOS4wIgotICByZXNvbHZlZCAiaHR0cHM6Ly9yZWdpc3RyeS55YXJucGtnLmNvbS9AYmFi ZWwvaGVscGVyLXZhbGlkYXRvci1pZGVudGlmaWVyLy0vaGVscGVyLXZhbGlkYXRvci1pZGVudGlm aWVyLTcuOS4wLnRneiNhZDUzNTYyYTdmYzI5YjNiOWE5MWJiZjdkMTAzOTdmZDE0NjM0NmVkIgot ICBpbnRlZ3JpdHkgc2hhNTEyLTZHOGJRS2pPaCtvZjRQVi9UaERtL3JScWxVNytJR29KdW9mcGFn VTVHbEVsMjlWdjBSR3FxdDg2WkdSVjhadVNPWTNvKzh5WGw1eTc4MlNNY0c3U0h3PT0KKyJAYmFi ZWwvaGVscGVyLXZhbGlkYXRvci1pZGVudGlmaWVyQF43LjkuMCIsICJAYmFiZWwvaGVscGVyLXZh bGlkYXRvci1pZGVudGlmaWVyQF43LjkuNSI6CisgIHZlcnNpb24gIjcuOS41IgorICByZXNvbHZl ZCAiaHR0cHM6Ly9yZWdpc3RyeS55YXJucGtnLmNvbS9AYmFiZWwvaGVscGVyLXZhbGlkYXRvci1p ZGVudGlmaWVyLy0vaGVscGVyLXZhbGlkYXRvci1pZGVudGlmaWVyLTcuOS41LnRneiM5MDk3N2E4 ZTZmYmY2YjQzMWE3ZGMzMTc1MmVlZTIzM2JmMDUyZDgwIgorICBpbnRlZ3JpdHkgc2hhNTEyLS84 YXJMS1VGcTg4Mnc0dFdHajlKWXpScEFsWmdpV1VKK2R0dGVOVERxclJCejlJZ3VjazlSbjN5a3VC RG9Vd2gyVE80dFNBSmxyeERVT1hXa2xKZTRnPT0KIAogIkBiYWJlbC9oZWxwZXItd3JhcC1mdW5j dGlvbkBeNy44LjMiOgogICB2ZXJzaW9uICI3LjguMyIKQEAgLTI0OSwxMiArMjQ5LDEzIEBACiAg ICAgIkBiYWJlbC9wbHVnaW4tc3ludGF4LWpzb24tc3RyaW5ncyIgIl43LjguMCIKIAogIkBiYWJl bC9wbHVnaW4tcHJvcG9zYWwtb2JqZWN0LXJlc3Qtc3ByZWFkQF43LjYuMiI6Ci0gIHZlcnNpb24g IjcuOS4wIgotICByZXNvbHZlZCAiaHR0cHM6Ly9yZWdpc3RyeS55YXJucGtnLmNvbS9AYmFiZWwv cGx1Z2luLXByb3Bvc2FsLW9iamVjdC1yZXN0LXNwcmVhZC8tL3BsdWdpbi1wcm9wb3NhbC1vYmpl Y3QtcmVzdC1zcHJlYWQtNy45LjAudGd6I2EyODk5MzY5OWZjMTNkZjE2NTk5NTM2MjY5Mzk2MmJh NmIwNjFkNmYiCi0gIGludGVncml0eSBzaGE1MTItVWdxQnY2YmpxNGZEYjh1a3U5Zit3Y20xSjdZ eEo1blQ3V08vakJyMGNsMFBMS2I3dDFPNlJOUjFrWmJqZ3gyTFF0c0RJOWh3b1FWbW4weWhYZVF5 b3c9PQorICB2ZXJzaW9uICI3LjkuNSIKKyAgcmVzb2x2ZWQgImh0dHBzOi8vcmVnaXN0cnkueWFy bnBrZy5jb20vQGJhYmVsL3BsdWdpbi1wcm9wb3NhbC1vYmplY3QtcmVzdC1zcHJlYWQvLS9wbHVn aW4tcHJvcG9zYWwtb2JqZWN0LXJlc3Qtc3ByZWFkLTcuOS41LnRneiMzZmQ2NTkxMTMwNmQ4NzQ2 MDE0ZWMwZDBjZjc4ZjBlMzlhMTQ5MTE2IgorICBpbnRlZ3JpdHkgc2hhNTEyLVZQMm9YdkFmN0tD WVR0aGJVSHdCbGV3YmwxSXEwNTlmNnNlSkdzeE1pemFDZGdISWVjek9yN0ZCcUVMaFNxZmtJbDA0 Rmk4b2t6V3psNjNVS2JRbW1nPT0KICAgZGVwZW5kZW5jaWVzOgogICAgICJAYmFiZWwvaGVscGVy LXBsdWdpbi11dGlscyIgIl43LjguMyIKICAgICAiQGJhYmVsL3BsdWdpbi1zeW50YXgtb2JqZWN0 LXJlc3Qtc3ByZWFkIiAiXjcuOC4wIgorICAgICJAYmFiZWwvcGx1Z2luLXRyYW5zZm9ybS1wYXJh bWV0ZXJzIiAiXjcuOS41IgogCiAiQGJhYmVsL3BsdWdpbi1wcm9wb3NhbC1vcHRpb25hbC1jYXRj aC1iaW5kaW5nQF43LjIuMCI6CiAgIHZlcnNpb24gIjcuOC4zIgpAQCAtMzM5LDEzICszNDAsMTMg QEAKICAgICBsb2Rhc2ggIl40LjE3LjEzIgogCiAiQGJhYmVsL3BsdWdpbi10cmFuc2Zvcm0tY2xh c3Nlc0BeNy41LjUiOgotICB2ZXJzaW9uICI3LjkuMiIKLSAgcmVzb2x2ZWQgImh0dHBzOi8vcmVn aXN0cnkueWFybnBrZy5jb20vQGJhYmVsL3BsdWdpbi10cmFuc2Zvcm0tY2xhc3Nlcy8tL3BsdWdp bi10cmFuc2Zvcm0tY2xhc3Nlcy03LjkuMi50Z3ojODYwM2ZjM2NjNDQ5ZTMxZmRiZGJjMjU3ZjY3 NzE3NTM2YTExYWY4ZCIKLSAgaW50ZWdyaXR5IHNoYTUxMi1UQzJwM2JQenNmdlNzcUJabzBrSm51 ZWxub0s5TzN3ZWxrVXBxU3FCUXVCRjZSNU1OMnJ5c29wcmk4a052dGxHSWIyam1VTzdpMTVJb29B WkpqWnVNUT09CisgIHZlcnNpb24gIjcuOS41IgorICByZXNvbHZlZCAiaHR0cHM6Ly9yZWdpc3Ry eS55YXJucGtnLmNvbS9AYmFiZWwvcGx1Z2luLXRyYW5zZm9ybS1jbGFzc2VzLy0vcGx1Z2luLXRy YW5zZm9ybS1jbGFzc2VzLTcuOS41LnRneiM4MDA1OTdkZGI4YWVmYzJjMjkzZWQyNzQ1OWMxZmNj OTM1YTI2YzJjIgorICBpbnRlZ3JpdHkgc2hhNTEyLXgya1pvSXVMQy8vTzVpQTdQRXZlY0IxMDVv N1RMelpvOG9mQlZoUDc5TitETzNqYVgrS1lmd3c5VFFjZkJFWkQwbmlrTnlZY0dCMUlLdFJxMzZy ZG1nPT0KICAgZGVwZW5kZW5jaWVzOgogICAgICJAYmFiZWwvaGVscGVyLWFubm90YXRlLWFzLXB1 cmUiICJeNy44LjMiCiAgICAgIkBiYWJlbC9oZWxwZXItZGVmaW5lLW1hcCIgIl43LjguMyIKLSAg ICAiQGJhYmVsL2hlbHBlci1mdW5jdGlvbi1uYW1lIiAiXjcuOC4zIgorICAgICJAYmFiZWwvaGVs cGVyLWZ1bmN0aW9uLW5hbWUiICJeNy45LjUiCiAgICAgIkBiYWJlbC9oZWxwZXItb3B0aW1pc2Ut Y2FsbC1leHByZXNzaW9uIiAiXjcuOC4zIgogICAgICJAYmFiZWwvaGVscGVyLXBsdWdpbi11dGls cyIgIl43LjguMyIKICAgICAiQGJhYmVsL2hlbHBlci1yZXBsYWNlLXN1cGVycyIgIl43LjguNiIK QEAgLTM2MCw5ICszNjEsOSBAQAogICAgICJAYmFiZWwvaGVscGVyLXBsdWdpbi11dGlscyIgIl43 LjguMyIKIAogIkBiYWJlbC9wbHVnaW4tdHJhbnNmb3JtLWRlc3RydWN0dXJpbmdAXjcuNi4wIjoK LSAgdmVyc2lvbiAiNy44LjgiCi0gIHJlc29sdmVkICJodHRwczovL3JlZ2lzdHJ5Lnlhcm5wa2cu Y29tL0BiYWJlbC9wbHVnaW4tdHJhbnNmb3JtLWRlc3RydWN0dXJpbmcvLS9wbHVnaW4tdHJhbnNm b3JtLWRlc3RydWN0dXJpbmctNy44LjgudGd6I2ZhZGIyYmM4ZTkwY2NhZjU2NThkZTZmOGQ0ZDIy ZmY2MjcyYTJmNGIiCi0gIGludGVncml0eSBzaGE1MTItZVJKdTRWczJybXR0RkNkaFBVTTNiVjBZ by94UFNkUHc2TUw5S0hzL2JqQjRiTEE1SFhsYnZZWFBPRDV5QVNvZEdvZCtrcmpZeDIxeG0xUW1M OGRDSlE9PQorICB2ZXJzaW9uICI3LjkuNSIKKyAgcmVzb2x2ZWQgImh0dHBzOi8vcmVnaXN0cnku eWFybnBrZy5jb20vQGJhYmVsL3BsdWdpbi10cmFuc2Zvcm0tZGVzdHJ1Y3R1cmluZy8tL3BsdWdp bi10cmFuc2Zvcm0tZGVzdHJ1Y3R1cmluZy03LjkuNS50Z3ojNzJjOTdjZjVmMzg2MDRhZWEzYWJm M2I5MzViMGUxN2IxZGI3NmE1MCIKKyAgaW50ZWdyaXR5IHNoYTUxMi1qM09Fc0dlbDhuSEwvaXVz di9tUmQ1ZllaM0RyT3hXQzgyeDBvZ21kTi92SGZBUDRNWXcrQUZLWWFueldsa3ROd2lrS3ZselVW Ly9hZkJXNUZUcDE3UT09CiAgIGRlcGVuZGVuY2llczoKICAgICAiQGJhYmVsL2hlbHBlci1wbHVn aW4tdXRpbHMiICJeNy44LjMiCiAKQEAgLTQ3NywxMCArNDc4LDEwIEBACiAgICAgIkBiYWJlbC9o ZWxwZXItcGx1Z2luLXV0aWxzIiAiXjcuOC4zIgogICAgICJAYmFiZWwvaGVscGVyLXJlcGxhY2Ut c3VwZXJzIiAiXjcuOC4zIgogCi0iQGJhYmVsL3BsdWdpbi10cmFuc2Zvcm0tcGFyYW1ldGVyc0Be Ny40LjQiOgotICB2ZXJzaW9uICI3LjkuMyIKLSAgcmVzb2x2ZWQgImh0dHBzOi8vcmVnaXN0cnku eWFybnBrZy5jb20vQGJhYmVsL3BsdWdpbi10cmFuc2Zvcm0tcGFyYW1ldGVycy8tL3BsdWdpbi10 cmFuc2Zvcm0tcGFyYW1ldGVycy03LjkuMy50Z3ojMzAyOGQwY2MyMGRkYzczMzE2NmM2ZTljODUz NDU1OWNlZTA5ZjU0YSIKLSAgaW50ZWdyaXR5IHNoYTUxMi1menJRRlFocDdtSWhPem1PdFBpS2Zm dkNZUVNLMTBOUjh0NkJCejJ5UGJlVUhiOU9MVzhSWkd0Z0RSQm44ejJoR2N3dktETDN2QzdvalBU TE54bXFFZz09CisiQGJhYmVsL3BsdWdpbi10cmFuc2Zvcm0tcGFyYW1ldGVyc0BeNy40LjQiLCAi QGJhYmVsL3BsdWdpbi10cmFuc2Zvcm0tcGFyYW1ldGVyc0BeNy45LjUiOgorICB2ZXJzaW9uICI3 LjkuNSIKKyAgcmVzb2x2ZWQgImh0dHBzOi8vcmVnaXN0cnkueWFybnBrZy5jb20vQGJhYmVsL3Bs dWdpbi10cmFuc2Zvcm0tcGFyYW1ldGVycy8tL3BsdWdpbi10cmFuc2Zvcm0tcGFyYW1ldGVycy03 LjkuNS50Z3ojMTczYjI2NTc0NmY1ZTE1YjJhZmU1MjdlZWRhNjViNzM2MjNhMDc5NSIKKyAgaW50 ZWdyaXR5IHNoYTUxMi0wKzFGaEhuTWZqNmxJSWhWdlM0S0dRSmV1aGUxR0kvL2g1dXB0SzRQdkx0 K0JHQnhzb1VKYmQzL0lXMDAyeWsvLzZzWlBsRmdzRzFoWTZPSExjeTZrQT09CiAgIGRlcGVuZGVu Y2llczoKICAgICAiQGJhYmVsL2hlbHBlci1nZXQtZnVuY3Rpb24tYXJpdHkiICJeNy44LjMiCiAg ICAgIkBiYWJlbC9oZWxwZXItcGx1Z2luLXV0aWxzIiAiXjcuOC4zIgpAQCAtNjI0LDI2ICs2MjUs MjYgQEAKICAgICAiQGJhYmVsL3R5cGVzIiAiXjcuOC42IgogCiAiQGJhYmVsL3RyYXZlcnNlQF43 LjYuMyIsICJAYmFiZWwvdHJhdmVyc2VAXjcuOC4zIiwgIkBiYWJlbC90cmF2ZXJzZUBeNy44LjYi LCAiQGJhYmVsL3RyYXZlcnNlQF43LjkuMCI6Ci0gIHZlcnNpb24gIjcuOS4wIgotICByZXNvbHZl ZCAiaHR0cHM6Ly9yZWdpc3RyeS55YXJucGtnLmNvbS9AYmFiZWwvdHJhdmVyc2UvLS90cmF2ZXJz ZS03LjkuMC50Z3ojZDM4ODJjMjgzMGU1MTNmNGZlNGNlYzlmZTc2ZWExY2M3ODc0Nzg5MiIKLSAg aW50ZWdyaXR5IHNoYTUxMi1qQVpRajAra240V1RITzVkVVprWktoYkZycVpFN0s1TEFRNUp5c01u bXZHaWord09kcis4bFdxUGVXMEJjRjR3RndyRVhYdGRHTzd3Y1Y2WVBKY2Yzdz09CisgIHZlcnNp b24gIjcuOS41IgorICByZXNvbHZlZCAiaHR0cHM6Ly9yZWdpc3RyeS55YXJucGtnLmNvbS9AYmFi ZWwvdHJhdmVyc2UvLS90cmF2ZXJzZS03LjkuNS50Z3ojNmU3YzU2YjQ0ZTJhYzcwMTFhOTQ4YzIx ZTI4M2RkZDlkOWRiOTdhMiIKKyAgaW50ZWdyaXR5IHNoYTUxMi1jNGdIM2pzdlN1R1VlemxQNnJ6 U0o2amY4ZllqTGozaHNNWlJ4L25YMGgrZm1ITjB3K2VrdWJSckhQcW5NZWMwbWV5Y0EybndDc0o3 ZEM4SVBlbTJGUT09CiAgIGRlcGVuZGVuY2llczoKICAgICAiQGJhYmVsL2NvZGUtZnJhbWUiICJe Ny44LjMiCi0gICAgIkBiYWJlbC9nZW5lcmF0b3IiICJeNy45LjAiCi0gICAgIkBiYWJlbC9oZWxw ZXItZnVuY3Rpb24tbmFtZSIgIl43LjguMyIKKyAgICAiQGJhYmVsL2dlbmVyYXRvciIgIl43Ljku NSIKKyAgICAiQGJhYmVsL2hlbHBlci1mdW5jdGlvbi1uYW1lIiAiXjcuOS41IgogICAgICJAYmFi ZWwvaGVscGVyLXNwbGl0LWV4cG9ydC1kZWNsYXJhdGlvbiIgIl43LjguMyIKICAgICAiQGJhYmVs L3BhcnNlciIgIl43LjkuMCIKLSAgICAiQGJhYmVsL3R5cGVzIiAiXjcuOS4wIgorICAgICJAYmFi ZWwvdHlwZXMiICJeNy45LjUiCiAgICAgZGVidWcgIl40LjEuMCIKICAgICBnbG9iYWxzICJeMTEu MS4wIgogICAgIGxvZGFzaCAiXjQuMTcuMTMiCiAKLSJAYmFiZWwvdHlwZXNAXjcuNi4zIiwgIkBi YWJlbC90eXBlc0BeNy44LjMiLCAiQGJhYmVsL3R5cGVzQF43LjguNiIsICJAYmFiZWwvdHlwZXNA XjcuOS4wIjoKLSAgdmVyc2lvbiAiNy45LjAiCi0gIHJlc29sdmVkICJodHRwczovL3JlZ2lzdHJ5 Lnlhcm5wa2cuY29tL0BiYWJlbC90eXBlcy8tL3R5cGVzLTcuOS4wLnRneiMwMGIwNjRjM2RmODNh ZDMyYjJkYmY1ZmYwNzMxMmIxNWM3ZjFlZmI1IgotICBpbnRlZ3JpdHkgc2hhNTEyLUJTOUpLZlhr enpKbDhSbHVXNEpHa256cGlVVjdacnZUYXlNNnlmcUxUVkJFbkZ0eW93VklPdTZycXhSZDVjVk82 eUdvV2Y0VDh1OGRnSzlvQitHQ25nPT0KKyJAYmFiZWwvdHlwZXNAXjcuNi4zIiwgIkBiYWJlbC90 eXBlc0BeNy44LjMiLCAiQGJhYmVsL3R5cGVzQF43LjguNiIsICJAYmFiZWwvdHlwZXNAXjcuOS4w IiwgIkBiYWJlbC90eXBlc0BeNy45LjUiOgorICB2ZXJzaW9uICI3LjkuNSIKKyAgcmVzb2x2ZWQg Imh0dHBzOi8vcmVnaXN0cnkueWFybnBrZy5jb20vQGJhYmVsL3R5cGVzLy0vdHlwZXMtNy45LjUu dGd6Izg5MjMxZjgyOTE1YThhNTY2YTcwM2IzYjIwMTMzZjczZGE2Yjk0NDQiCisgIGludGVncml0 eSBzaGE1MTItWGpudk5xZW5rODE4cjV6TWFiYStzTFFqbmJkYTMxVWZVVVJ2M2VpMHFQUXc0dStq MmpNeUo1YjExeThaSFlUUlNJM05uSW5Ra2trUlQ0ZkxxcVBkSGc9PQogICBkZXBlbmRlbmNpZXM6 Ci0gICAgIkBiYWJlbC9oZWxwZXItdmFsaWRhdG9yLWlkZW50aWZpZXIiICJeNy45LjAiCisgICAg IkBiYWJlbC9oZWxwZXItdmFsaWRhdG9yLWlkZW50aWZpZXIiICJeNy45LjUiCiAgICAgbG9kYXNo ICJeNC4xNy4xMyIKICAgICB0by1mYXN0LXByb3BlcnRpZXMgIl4yLjAuMCIKIApAQCAtNjYwLDkg KzY2MSw5IEBACiAgIGludGVncml0eSBzaGE1MTItT05oYUtQSXVmenpybE5icXRXRkZkK2psbmVt WDZsSkFncTlaZWladFM3STFQSWYvbGE3Q1c0bTgzclRYUm5WbnNNYlcyazU2cEdZdTdBVUZKRDlQ b3c9PQogCiAiQHR5cGVzL25vZGVAKiI6Ci0gIHZlcnNpb24gIjEzLjExLjAiCi0gIHJlc29sdmVk ICJodHRwczovL3JlZ2lzdHJ5Lnlhcm5wa2cuY29tL0B0eXBlcy9ub2RlLy0vbm9kZS0xMy4xMS4w LnRneiMzOTBlYTIwMjUzOWM2MWM4ZmE2YmE0NDI4YjU3ZTA1YmMzNmRjNDdiIgotICBpbnRlZ3Jp dHkgc2hhNTEyLXVNNG1ubXNJSVBLL3llTys0MkYyUlFoR1VJczM5SzJSRm11Z2NKQU5wcFhlNkox bnZIODdQdnpQWllwemE3WGhoczhZbjl5SUFWZExaODR6NjErMHhRPT0KKyAgdmVyc2lvbiAiMTMu MTEuMSIKKyAgcmVzb2x2ZWQgImh0dHBzOi8vcmVnaXN0cnkueWFybnBrZy5jb20vQHR5cGVzL25v ZGUvLS9ub2RlLTEzLjExLjEudGd6IzQ5YTJhODNkZjlkMjZkYWFjZWFkMzBkMGNjYzg3NjJiMTI4 ZDUzYzciCisgIGludGVncml0eSBzaGE1MTItZVdRR1AzcXR4d0w4RkduZVJyQzVEd3JKTEdONC9k SDFjbE5UdUxmTjgxSENyeFZ0eFJqeWdEVFVvWko1QVNsREVlbzBwcFlGUWpRSWxYaHRYcE9uNmc9 PQogCiAiQHR5cGVzL3FAXjEuNS4xIjoKICAgdmVyc2lvbiAiMS41LjIiCkBAIC04MzcsNiArODM4 LDExIEBAIEpTT05TdHJlYW1AXjEuMC4zOgogICAgIGpzb25wYXJzZSAiXjEuMi4wIgogICAgIHRo cm91Z2ggIj49Mi4yLjcgPDMiCiAKK2FiYnJldkAxOgorICB2ZXJzaW9uICIxLjEuMSIKKyAgcmVz b2x2ZWQgImh0dHBzOi8vcmVnaXN0cnkueWFybnBrZy5jb20vYWJicmV2Ly0vYWJicmV2LTEuMS4x LnRneiNmOGYyYzg4N2FkMTBiZjY3ZjYzNGYwMDViNjk4N2ZlZDMxNzlhYWM4IgorICBpbnRlZ3Jp dHkgc2hhNTEyLW5uZTkvSWlRL2h6SWhZNnBkRG5iQnR6N0RqUFRLclkwMFAvenZQU201cE9Ga2w2 eHVHckduWG4vVnRUTk5mTnRBZlo5LzFSdGVoa3N6VTlxY1RpaTBRPT0KKwogYWNjZXB0c0B+MS4z LjQsIGFjY2VwdHNAfjEuMy43OgogICB2ZXJzaW9uICIxLjMuNyIKICAgcmVzb2x2ZWQgImh0dHBz Oi8vcmVnaXN0cnkueWFybnBrZy5jb20vYWNjZXB0cy8tL2FjY2VwdHMtMS4zLjcudGd6IzUzMWJj NzI2NTE3YTNiMmI0MWY4NTAwMjFjNmNjMTVlYWFiNTA3Y2QiCkBAIC05NzMsNyArOTc5LDcgQEAg YW55bWF0Y2hAfjMuMS4xOgogICAgIG5vcm1hbGl6ZS1wYXRoICJeMy4wLjAiCiAgICAgcGljb21h dGNoICJeMi4wLjQiCiAKLWFwcm9iYUBeMS4xLjE6CithcHJvYmFAXjEuMC4zLCBhcHJvYmFAXjEu MS4xOgogICB2ZXJzaW9uICIxLjIuMCIKICAgcmVzb2x2ZWQgImh0dHBzOi8vcmVnaXN0cnkueWFy bnBrZy5jb20vYXByb2JhLy0vYXByb2JhLTEuMi4wLnRneiM2ODAyZTYyNjRlZmQxOGM3OTBhMWIw ZDUxN2YwZjI2MjdiZjJjOTRhIgogICBpbnRlZ3JpdHkgc2hhNTEyLVk5SjZaalh0b1loOFJuWFZD TU9VL3R0RG1rMWFCanVucTl2TzB0YTV4ODVXRFFpUWZVRjlzSVBCSVRkYmlpSVZjQm8wM0hpM2pN eGlnQnRzZGRsWFJ3PT0KQEAgLTk5MCw2ICs5OTYsMTQgQEAgYXJjaGl2ZS10eXBlQF40LjAuMDoK ICAgZGVwZW5kZW5jaWVzOgogICAgIGZpbGUtdHlwZSAiXjQuMi4wIgogCithcmUtd2UtdGhlcmUt eWV0QH4xLjEuMjoKKyAgdmVyc2lvbiAiMS4xLjUiCisgIHJlc29sdmVkICJodHRwczovL3JlZ2lz dHJ5Lnlhcm5wa2cuY29tL2FyZS13ZS10aGVyZS15ZXQvLS9hcmUtd2UtdGhlcmUteWV0LTEuMS41 LnRneiM0YjM1YzI5NDRmMDYyYThiZmNkYTY2NDEwNzYwMzUwZmU5ZGRmYzIxIgorICBpbnRlZ3Jp dHkgc2hhNTEyLTVoWWRBa1psY0c4dE9MdWpWRFRnQ1QrdVBYMFZucEFIMjhnV3NMZnpwWFltN3dQ Nm1wNVEvZ1l5UjdZUTBjS1ZKY1hKbmwzajJrcEJhbjEzUHRRZjZ3PT0KKyAgZGVwZW5kZW5jaWVz OgorICAgIGRlbGVnYXRlcyAiXjEuMC4wIgorICAgIHJlYWRhYmxlLXN0cmVhbSAiXjIuMC42Igor CiBhcmdwYXJzZUBeMS4wLjYsIGFyZ3BhcnNlQF4xLjAuNzoKICAgdmVyc2lvbiAiMS4wLjEwIgog ICByZXNvbHZlZCAiaHR0cHM6Ly9yZWdpc3RyeS55YXJucGtnLmNvbS9hcmdwYXJzZS8tL2FyZ3Bh cnNlLTEuMC4xMC50Z3ojYmNkNjc5MWVhNWFlMDk3MjVlMTdlNWFkOTg4MTM0Y2Q0MGIzZDkxMSIK QEAgLTEwOTQsMTIgKzExMDgsMTIgQEAgYXRvYkBeMi4xLjI6CiAgIGludGVncml0eSBzaGE1MTIt V202dWtvYU9HSmkvNzNwL2NsMkd2TGpUSTVKTTFrL08xNGlzRDczWU1MOFN0ckgvNy9sUkZnbWc4 bklDWmdEM2JaWnZqd0NHeHRNT0Qzd1dOQXU4Y2c9PQogCiBhdXRvcHJlZml4ZXJAXjkuNi40Ogot ICB2ZXJzaW9uICI5LjcuNSIKLSAgcmVzb2x2ZWQgImh0dHBzOi8vcmVnaXN0cnkueWFybnBrZy5j b20vYXV0b3ByZWZpeGVyLy0vYXV0b3ByZWZpeGVyLTkuNy41LnRneiM4ZGYxMGI5ZmY5YjU4MTRh OGQ0MTFhNWNmYmFiOWM3OTNjMzkyMzc2IgotICBpbnRlZ3JpdHkgc2hhNTEyLVVSbzZadnQ3Vllp Zm9tZUFmSmxNRm5ZRGhvdzFyazJidWZ3a2JhbVBFQXRRRmNMMTFtb0xrNFBuUjduOXZsdTdNK0Jr WEFaa0hGQTBtSWNZN3RqUUZnPT0KKyAgdmVyc2lvbiAiOS43LjYiCisgIHJlc29sdmVkICJodHRw czovL3JlZ2lzdHJ5Lnlhcm5wa2cuY29tL2F1dG9wcmVmaXhlci8tL2F1dG9wcmVmaXhlci05Ljcu Ni50Z3ojNjNhYzViYmMwY2U3OTM0ZTY5OTcyMDdkNWJiMDBkNjhmYTgyOTNhNCIKKyAgaW50ZWdy aXR5IHNoYTUxMi1GN2NZcGJON3VWVmhBQ1pUZWVJZWVhbHdkR002d010ZldBUlZMVHk1eG1LdGdW ZEJOSnZiRFJvQ0szWU8xb3Jjczdndi9Ld1lsYjNpWHd1OVVnOUJrUT09CiAgIGRlcGVuZGVuY2ll czoKLSAgICBicm93c2Vyc2xpc3QgIl40LjExLjAiCi0gICAgY2FuaXVzZS1saXRlICJeMS4wLjMw MDAxMDM2IgorICAgIGJyb3dzZXJzbGlzdCAiXjQuMTEuMSIKKyAgICBjYW5pdXNlLWxpdGUgIl4x LjAuMzAwMDEwMzkiCiAgICAgY2hhbGsgIl4yLjQuMiIKICAgICBub3JtYWxpemUtcmFuZ2UgIl4w LjEuMiIKICAgICBudW0yZnJhY3Rpb24gIl4xLjIuMiIKQEAgLTE4ODIsNjEgKzE4OTYsNyBAQCBi cm93c2VyaWZ5LXpsaWJAXjAuMi4wLCBicm93c2VyaWZ5LXpsaWJAfjAuMi4wOgogICBkZXBlbmRl bmNpZXM6CiAgICAgcGFrbyAifjEuMC41IgogCi1icm93c2VyaWZ5QF4xNi4xLjA6Ci0gIHZlcnNp b24gIjE2LjUuMSIKLSAgcmVzb2x2ZWQgImh0dHBzOi8vcmVnaXN0cnkueWFybnBrZy5jb20vYnJv d3NlcmlmeS8tL2Jyb3dzZXJpZnktMTYuNS4xLnRneiMzYzEzYzk3NDM2ODAyOTMwZDVjM2FlMjg2 NThkZGMzM2JmZDM3ZGMyIgotICBpbnRlZ3JpdHkgc2hhNTEyLUVRWDBoNTlQcCswR3RTUmI1ckw2 T1RmcnR0bHp2K3V5YVVWbEs2R1gzdzExU1EwaktQS3lqQy81NFJoUFIyaWIyS21mY0VMTTA2ZThG eGNJNVhOVTJBPT0KLSAgZGVwZW5kZW5jaWVzOgotICAgIEpTT05TdHJlYW0gIl4xLjAuMyIKLSAg ICBhc3NlcnQgIl4xLjQuMCIKLSAgICBicm93c2VyLXBhY2sgIl42LjAuMSIKLSAgICBicm93c2Vy LXJlc29sdmUgIl4xLjExLjAiCi0gICAgYnJvd3NlcmlmeS16bGliICJ+MC4yLjAiCi0gICAgYnVm ZmVyICJ+NS4yLjEiCi0gICAgY2FjaGVkLXBhdGgtcmVsYXRpdmUgIl4xLjAuMCIKLSAgICBjb25j YXQtc3RyZWFtICJeMS42LjAiCi0gICAgY29uc29sZS1icm93c2VyaWZ5ICJeMS4xLjAiCi0gICAg Y29uc3RhbnRzLWJyb3dzZXJpZnkgIn4xLjAuMCIKLSAgICBjcnlwdG8tYnJvd3NlcmlmeSAiXjMu MC4wIgotICAgIGRlZmluZWQgIl4xLjAuMCIKLSAgICBkZXBzLXNvcnQgIl4yLjAuMCIKLSAgICBk b21haW4tYnJvd3NlciAiXjEuMi4wIgotICAgIGR1cGxleGVyMiAifjAuMS4yIgotICAgIGV2ZW50 cyAiXjIuMC4wIgotICAgIGdsb2IgIl43LjEuMCIKLSAgICBoYXMgIl4xLjAuMCIKLSAgICBodG1s ZXNjYXBlICJeMS4xLjAiCi0gICAgaHR0cHMtYnJvd3NlcmlmeSAiXjEuMC4wIgotICAgIGluaGVy aXRzICJ+Mi4wLjEiCi0gICAgaW5zZXJ0LW1vZHVsZS1nbG9iYWxzICJeNy4wLjAiCi0gICAgbGFi ZWxlZC1zdHJlYW0tc3BsaWNlciAiXjIuMC4wIgotICAgIG1rZGlycC1jbGFzc2ljICJeMC41LjIi Ci0gICAgbW9kdWxlLWRlcHMgIl42LjAuMCIKLSAgICBvcy1icm93c2VyaWZ5ICJ+MC4zLjAiCi0g ICAgcGFyZW50cyAiXjEuMC4xIgotICAgIHBhdGgtYnJvd3NlcmlmeSAifjAuMC4wIgotICAgIHBy b2Nlc3MgIn4wLjExLjAiCi0gICAgcHVueWNvZGUgIl4xLjMuMiIKLSAgICBxdWVyeXN0cmluZy1l czMgIn4wLjIuMCIKLSAgICByZWFkLW9ubHktc3RyZWFtICJeMi4wLjAiCi0gICAgcmVhZGFibGUt c3RyZWFtICJeMi4wLjIiCi0gICAgcmVzb2x2ZSAiXjEuMS40IgotICAgIHNoYXN1bSAiXjEuMC4w IgotICAgIHNoZWxsLXF1b3RlICJeMS42LjEiCi0gICAgc3RyZWFtLWJyb3dzZXJpZnkgIl4yLjAu MCIKLSAgICBzdHJlYW0taHR0cCAiXjMuMC4wIgotICAgIHN0cmluZ19kZWNvZGVyICJeMS4xLjEi Ci0gICAgc3ViYXJnICJeMS4wLjAiCi0gICAgc3ludGF4LWVycm9yICJeMS4xLjEiCi0gICAgdGhy b3VnaDIgIl4yLjAuMCIKLSAgICB0aW1lcnMtYnJvd3NlcmlmeSAiXjEuMC4xIgotICAgIHR0eS1i cm93c2VyaWZ5ICIwLjAuMSIKLSAgICB1cmwgIn4wLjExLjAiCi0gICAgdXRpbCAifjAuMTAuMSIK LSAgICB2bS1icm93c2VyaWZ5ICJeMS4wLjAiCi0gICAgeHRlbmQgIl40LjAuMCIKLQotYnJvd3Nl cmlmeUB+MTYuMi4zOgorYnJvd3NlcmlmeUBeMTYuMS4wLCBicm93c2VyaWZ5QH4xNi4yLjM6CiAg IHZlcnNpb24gIjE2LjIuMyIKICAgcmVzb2x2ZWQgImh0dHBzOi8vcmVnaXN0cnkueWFybnBrZy5j b20vYnJvd3NlcmlmeS8tL2Jyb3dzZXJpZnktMTYuMi4zLnRneiM3ZWU2ZTY1NGJhNGY5MmJjZTZh YjM1OTljMzQ4NWIxY2M3YTBhZDBiIgogICBpbnRlZ3JpdHkgc2hhNTEyLXpRdC9HZDErVytJWSto L3hYMk5ZTVc0b3JRV2hxU3d5Vit4c2JseWNUdHBPdUIyN2gxZlpoaE5RdWlwSjR0NzlvaHc0UDRt TWVtMGpwL1prSVNRdGpRPT0KQEAgLTE5OTAsNyArMTk1MCw3IEBAIGJyb3dzZXJpZnlAfjE2LjIu MzoKICAgICB2bS1icm93c2VyaWZ5ICJeMS4wLjAiCiAgICAgeHRlbmQgIl40LjAuMCIKIAotYnJv d3NlcnNsaXN0QF40LjAuMCwgYnJvd3NlcnNsaXN0QF40LjExLjAsIGJyb3dzZXJzbGlzdEBeNC42 LjAsIGJyb3dzZXJzbGlzdEBeNC44LjM6Citicm93c2Vyc2xpc3RAXjQuMC4wLCBicm93c2Vyc2xp c3RAXjQuMTEuMSwgYnJvd3NlcnNsaXN0QF40LjYuMCwgYnJvd3NlcnNsaXN0QF40LjguMzoKICAg dmVyc2lvbiAiNC4xMS4xIgogICByZXNvbHZlZCAiaHR0cHM6Ly9yZWdpc3RyeS55YXJucGtnLmNv bS9icm93c2Vyc2xpc3QvLS9icm93c2Vyc2xpc3QtNC4xMS4xLnRneiM5MmY4NTVlZTg4ZDZlMDUw ZTdlNzMxMWQ5ODc5OTIwMTRmMWExZjFiIgogICBpbnRlZ3JpdHkgc2hhNTEyLURDVHIza0RyS0VZ Tnc2SmI5SEZ4VkxRTmF1ZTh6KzBaZlJCUmptQ3VuS0RFWEVCYWpLRGoyWStVZWxnK1BpMjlPbnZh U0d3ak9zblJ5TkVrWHpIZzVnPT0KQEAgLTIwNTAsMTQgKzIwMTAsNiBAQCBidWZmZXJAXjUuMC4y LCBidWZmZXJAXjUuMi4xOgogICAgIGJhc2U2NC1qcyAiXjEuMC4yIgogICAgIGllZWU3NTQgIl4x LjEuNCIKIAotYnVmZmVyQH41LjIuMToKLSAgdmVyc2lvbiAiNS4yLjEiCi0gIHJlc29sdmVkICJo dHRwczovL3JlZ2lzdHJ5Lnlhcm5wa2cuY29tL2J1ZmZlci8tL2J1ZmZlci01LjIuMS50Z3ojZGQ1 N2ZhMGYxMDlhYzU5YzYwMjQ3OTA0NGRjYTdiOGIzZDBiNzFkNiIKLSAgaW50ZWdyaXR5IHNoYTUx Mi1jK0tvMGxvRGFGZnVQV2lMMDJsczlYZDNHTzNjUFZtVW9iUTZ0M3JYTlVrMzA0dTZoR3ErOE4v a0ZpK1FFSUtoekszdXdvbFZoTHpzem1mTG1NTG5xZz09Ci0gIGRlcGVuZGVuY2llczoKLSAgICBi YXNlNjQtanMgIl4xLjAuMiIKLSAgICBpZWVlNzU0ICJeMS4xLjQiCi0KIGJ1aWx0aW4tc3RhdHVz LWNvZGVzQF4zLjAuMDoKICAgdmVyc2lvbiAiMy4wLjAiCiAgIHJlc29sdmVkICJodHRwczovL3Jl Z2lzdHJ5Lnlhcm5wa2cuY29tL2J1aWx0aW4tc3RhdHVzLWNvZGVzLy0vYnVpbHRpbi1zdGF0dXMt Y29kZXMtMy4wLjAudGd6Izg1OTgyODc4ZTIxYjk4ZTFjNjY0MjVlMDNkMDE3NDc4OGY1NjllZTgi CkBAIC0yMjAzLDEwICsyMTU1LDEwIEBAIGNhbml1c2UtYXBpQF4zLjAuMDoKICAgICBsb2Rhc2gu bWVtb2l6ZSAiXjQuMS4yIgogICAgIGxvZGFzaC51bmlxICJeNC41LjAiCiAKLWNhbml1c2UtbGl0 ZUBeMS4wLjAsIGNhbml1c2UtbGl0ZUBeMS4wLjMwMDAxMDM2LCBjYW5pdXNlLWxpdGVAXjEuMC4z MDAwMTAzODoKLSAgdmVyc2lvbiAiMS4wLjMwMDAxMDM5IgotICByZXNvbHZlZCAiaHR0cHM6Ly9y ZWdpc3RyeS55YXJucGtnLmNvbS9jYW5pdXNlLWxpdGUvLS9jYW5pdXNlLWxpdGUtMS4wLjMwMDAx MDM5LnRneiNiMzgxNGExYzM4ZmZlYjIzNTY3ZjgzMjM1MDBjMDk1MjZhNTc3YmJlIgotICBpbnRl Z3JpdHkgc2hhNTEyLVNlemJXQ1RUMzRleUZvV0hneDhVV3NvN1l0dnRNN29vc21Gb1hiQ2tkQzZx SnpSZkJUZVRnRTlSRXRLdGl1S1h1TXdXVFpFdmRuRk5HQXlWTW9ydjhRPT0KK2Nhbml1c2UtbGl0 ZUBeMS4wLjAsIGNhbml1c2UtbGl0ZUBeMS4wLjMwMDAxMDM4LCBjYW5pdXNlLWxpdGVAXjEuMC4z MDAwMTAzOToKKyAgdmVyc2lvbiAiMS4wLjMwMDAxMDQwIgorICByZXNvbHZlZCAiaHR0cHM6Ly9y ZWdpc3RyeS55YXJucGtnLmNvbS9jYW5pdXNlLWxpdGUvLS9jYW5pdXNlLWxpdGUtMS4wLjMwMDAx MDQwLnRneiMxMDNmYzhlNmViMWQ3Mzk3ZTk1MTM0Y2QwZTk5Njc0MzM1M2Q1OGVhIgorICBpbnRl Z3JpdHkgc2hhNTEyLUVwMHRFUGVJNXdDdm1KTnJYakUzZXRnZkkrbGtsMWZURFU2WTNaSDFtaHJq a1BsVkk5VzRwY0tiTW8rQlFMcEVXS1ZZWXAyRW1ZYVJzcXBQQzNrN2xRPT0KIAogY2F3QF4yLjAu MCwgY2F3QF4yLjAuMToKICAgdmVyc2lvbiAiMi4wLjEiCkBAIC0yMjQ4LDIyICsyMjAwLDcgQEAg Y2hlY2stdHlwZXNAXjguMC4zOgogICByZXNvbHZlZCAiaHR0cHM6Ly9yZWdpc3RyeS55YXJucGtn LmNvbS9jaGVjay10eXBlcy8tL2NoZWNrLXR5cGVzLTguMC4zLnRneiMzMzU2Y2NhMTljODg5NTQ0 ZjJkN2E5NWVkNDljZTUwOGEwZWNmNTUyIgogICBpbnRlZ3JpdHkgc2hhNTEyLVlwZUtabmdVbUc2 NXJMdWRKNHRhVTdWTGtPQ1RNaE5sL3U0Y3ROQzU2TFFTL3pKVHlOSDBMcnR3bTF0ZlRzYkxsd3Zs ZnNBMmQxYzh2Q2YvS2gyS3dRPT0KIAotImNob2tpZGFyQD49Mi4wLjAgPDQuMC4wIiwgY2hva2lk YXJAXjMuMC4wOgotICB2ZXJzaW9uICIzLjMuMSIKLSAgcmVzb2x2ZWQgImh0dHBzOi8vcmVnaXN0 cnkueWFybnBrZy5jb20vY2hva2lkYXIvLS9jaG9raWRhci0zLjMuMS50Z3ojYzg0ZTViM2QxOGQ5 YTRkNzc1NThmZWY0NjZiMWJmMTZiYmViMzQ1MCIKLSAgaW50ZWdyaXR5IHNoYTUxMi00UVlDRVdP Y0szT0pyeHd2eXlBT3hGdWhwdk9WQ1lrcjMzTFBmRk5CakFEL3czc0V6V3NwMkJVT2tJNGw5Ykh2 V2lvQWQwcmM2TmxIVU9FYVdrVGVxZz09Ci0gIGRlcGVuZGVuY2llczoKLSAgICBhbnltYXRjaCAi fjMuMS4xIgotICAgIGJyYWNlcyAifjMuMC4yIgotICAgIGdsb2ItcGFyZW50ICJ+NS4xLjAiCi0g ICAgaXMtYmluYXJ5LXBhdGggIn4yLjEuMCIKLSAgICBpcy1nbG9iICJ+NC4wLjEiCi0gICAgbm9y bWFsaXplLXBhdGggIn4zLjAuMCIKLSAgICByZWFkZGlycCAifjMuMy4wIgotICBvcHRpb25hbERl cGVuZGVuY2llczoKLSAgICBmc2V2ZW50cyAifjIuMS4yIgotCi1jaG9raWRhckBeMi4xLjEsIGNo b2tpZGFyQF4yLjEuODoKKyJjaG9raWRhckA+PTIuMC4wIDw0LjAuMCIsIGNob2tpZGFyQF4yLjEu MSwgY2hva2lkYXJAXjIuMS44OgogICB2ZXJzaW9uICIyLjEuOCIKICAgcmVzb2x2ZWQgImh0dHBz Oi8vcmVnaXN0cnkueWFybnBrZy5jb20vY2hva2lkYXIvLS9jaG9raWRhci0yLjEuOC50Z3ojODA0 YjNhN2I2YTk5MzU4YzNjNWM2MWU3MWQ4NzI4ZjA0MWNmZjkxNyIKICAgaW50ZWdyaXR5IHNoYTUx Mi1abVpVYXpmT3pmME52ZTdkdWlDS0QyM1BGU0NzNEpQb1l5Y2NqVUZGM2FRa1FhZHFCaGZ6aGpr d0JIMm1OT0c5Y1RCd2hhbU0zN0VJc0lrWnczblJnZz09CkBAIC0yMjgyLDYgKzIyMTksMjEgQEAg Y2hva2lkYXJAXjIuMS4xLCBjaG9raWRhckBeMi4xLjg6CiAgIG9wdGlvbmFsRGVwZW5kZW5jaWVz OgogICAgIGZzZXZlbnRzICJeMS4yLjciCiAKK2Nob2tpZGFyQF4zLjAuMDoKKyAgdmVyc2lvbiAi My4zLjEiCisgIHJlc29sdmVkICJodHRwczovL3JlZ2lzdHJ5Lnlhcm5wa2cuY29tL2Nob2tpZGFy Ly0vY2hva2lkYXItMy4zLjEudGd6I2M4NGU1YjNkMThkOWE0ZDc3NTU4ZmVmNDY2YjFiZjE2YmJl YjM0NTAiCisgIGludGVncml0eSBzaGE1MTItNFFZQ0VXT2NLM09Kcnh3dnl5QU94RnVocHZPVkNZ a3IzM0xQZkZOQmpBRC93M3NFeldzcDJCVU9rSTRsOWJIdldpb0FkMHJjNk5sSFVPRWFXa1RlcWc9 PQorICBkZXBlbmRlbmNpZXM6CisgICAgYW55bWF0Y2ggIn4zLjEuMSIKKyAgICBicmFjZXMgIn4z LjAuMiIKKyAgICBnbG9iLXBhcmVudCAifjUuMS4wIgorICAgIGlzLWJpbmFyeS1wYXRoICJ+Mi4x LjAiCisgICAgaXMtZ2xvYiAifjQuMC4xIgorICAgIG5vcm1hbGl6ZS1wYXRoICJ+My4wLjAiCisg ICAgcmVhZGRpcnAgIn4zLjMuMCIKKyAgb3B0aW9uYWxEZXBlbmRlbmNpZXM6CisgICAgZnNldmVu dHMgIn4yLjEuMiIKKwogY2hvd25yQF4xLjEuMSwgY2hvd25yQF4xLjEuMjoKICAgdmVyc2lvbiAi MS4xLjQiCiAgIHJlc29sdmVkICJodHRwczovL3JlZ2lzdHJ5Lnlhcm5wa2cuY29tL2Nob3duci8t L2Nob3duci0xLjEuNC50Z3ojNmZjOWQ3YjQyZDMyYTU4MzU5NjMzNzY2NmU3ZDA4MDg0ZGEyY2M2 YiIKQEAgLTIzNjMsNiArMjMxNSwxMSBAQCBjb2FAXjIuMC4yOgogICAgIGNoYWxrICJeMi40LjEi CiAgICAgcSAiXjEuMS4yIgogCitjb2RlLXBvaW50LWF0QF4xLjAuMDoKKyAgdmVyc2lvbiAiMS4x LjAiCisgIHJlc29sdmVkICJodHRwczovL3JlZ2lzdHJ5Lnlhcm5wa2cuY29tL2NvZGUtcG9pbnQt YXQvLS9jb2RlLXBvaW50LWF0LTEuMS4wLnRneiMwZDA3MGI0ZDA0M2E1YmVhMzNhMmYxYTQwZTJl ZGIzZDlhNGNjZjc3IgorICBpbnRlZ3JpdHkgc2hhMS1EUWNMVFFRNlcrb3pvdkdrRGk3YlBacE16 M2M9CisKIGNvZGVtaXJyb3JAXjUuNTAuMDoKICAgdmVyc2lvbiAiNS41Mi4yIgogICByZXNvbHZl ZCAiaHR0cHM6Ly9yZWdpc3RyeS55YXJucGtnLmNvbS9jb2RlbWlycm9yLy0vY29kZW1pcnJvci01 LjUyLjIudGd6I2MyOWUxZjcxNzlmODVlYjBkZDE3YzA1ODZmYTgxMGU0ODM4ZmY1ODQiCkBAIC0y MzgzLDE2ICsyMzQwLDExIEBAIGNvbG9yLWNvbnZlcnRAXjEuOS4wLCBjb2xvci1jb252ZXJ0QF4x LjkuMToKICAgZGVwZW5kZW5jaWVzOgogICAgIGNvbG9yLW5hbWUgIjEuMS4zIgogCi1jb2xvci1u YW1lQDEuMS4zOgorY29sb3ItbmFtZUAxLjEuMywgY29sb3ItbmFtZUBeMS4wLjA6CiAgIHZlcnNp b24gIjEuMS4zIgogICByZXNvbHZlZCAiaHR0cHM6Ly9yZWdpc3RyeS55YXJucGtnLmNvbS9jb2xv ci1uYW1lLy0vY29sb3ItbmFtZS0xLjEuMy50Z3ojYTdkMDU1OGJkODljNDJmNzk1ZGQ0MjMyOGY3 NDA4MzFjYTUzYmMyNSIKICAgaW50ZWdyaXR5IHNoYTEtcDlCVmk5aWNRdmVWM1VJeWozUUlNY3BU dkNVPQogCi1jb2xvci1uYW1lQF4xLjAuMDoKLSAgdmVyc2lvbiAiMS4xLjQiCi0gIHJlc29sdmVk ICJodHRwczovL3JlZ2lzdHJ5Lnlhcm5wa2cuY29tL2NvbG9yLW5hbWUvLS9jb2xvci1uYW1lLTEu MS40LnRneiNjMmEwOWE4N2FjYmRlNjk1NDNkZTZmNjNmYTM5OTVjODI2YzUzNmEyIgotICBpbnRl Z3JpdHkgc2hhNTEyLWRPeSszQXVXM2Eyd05iWkhJdU1acFRjZ2pHdUxVL3VCTC91YmNaRjlPWGJE bzhmZjRPOHlWcDVCZjBlZlM4dUVvWW81cTRGeDdkWTlPZ1FHWGdBc1FBPT0KLQogY29sb3Itc3Ry aW5nQF4xLjUuMjoKICAgdmVyc2lvbiAiMS41LjMiCiAgIHJlc29sdmVkICJodHRwczovL3JlZ2lz dHJ5Lnlhcm5wa2cuY29tL2NvbG9yLXN0cmluZy8tL2NvbG9yLXN0cmluZy0xLjUuMy50Z3ojYzli YmM1ZjAxYjU4YjU0OTJmM2Q2ODU3NDU5Y2I2NTkwY2UyMDRjYyIKQEAgLTI1MDQsNiArMjQ1Niwx MSBAQCBjb25zb2xlLWJyb3dzZXJpZnlAXjEuMS4wOgogICByZXNvbHZlZCAiaHR0cHM6Ly9yZWdp c3RyeS55YXJucGtnLmNvbS9jb25zb2xlLWJyb3dzZXJpZnkvLS9jb25zb2xlLWJyb3dzZXJpZnkt MS4yLjAudGd6IzY3MDYzY2VmNTdjZWI2Y2Y0OTkzYTJhYjNhNTU4NDBhZThjNDkzMzYiCiAgIGlu dGVncml0eSBzaGE1MTItWk1rWU8vTGtGMTdRdkNQcU0wZ3h3OHlVemlnQU9aT1NXU0hnOTFGSDZv clM3dmNFajVkVlpUaWROMmZRMTR5QlNkZzk3UnFoU053TFVYSW5kNTJPVEE9PQogCitjb25zb2xl LWNvbnRyb2wtc3RyaW5nc0BeMS4wLjAsIGNvbnNvbGUtY29udHJvbC1zdHJpbmdzQH4xLjEuMDoK KyAgdmVyc2lvbiAiMS4xLjAiCisgIHJlc29sdmVkICJodHRwczovL3JlZ2lzdHJ5Lnlhcm5wa2cu Y29tL2NvbnNvbGUtY29udHJvbC1zdHJpbmdzLy0vY29uc29sZS1jb250cm9sLXN0cmluZ3MtMS4x LjAudGd6IzNkN2NmNDQ2NGRiNjQ0NmVhNjQ0YmY0YjM5NTA3Zjk4NTEwMDhlOGUiCisgIGludGVn cml0eSBzaGExLVBYejBSazIyUkc2bVJMOUxPVkIvbUZFQWpvND0KKwogY29uc29sZS1zdHJlYW1A XjAuMS4xOgogICB2ZXJzaW9uICIwLjEuMSIKICAgcmVzb2x2ZWQgImh0dHBzOi8vcmVnaXN0cnku eWFybnBrZy5jb20vY29uc29sZS1zdHJlYW0vLS9jb25zb2xlLXN0cmVhbS0wLjEuMS50Z3ojYTA5 NWZlMDdiMjA0NjU5NTVmMmZhZmQyOGI1ZDcyYmNjZDk0OWQ0NCIKQEAgLTI1MjYsMTQgKzI0ODMs NyBAQCBjb250ZW50LXR5cGVAfjEuMC40OgogICByZXNvbHZlZCAiaHR0cHM6Ly9yZWdpc3RyeS55 YXJucGtnLmNvbS9jb250ZW50LXR5cGUvLS9jb250ZW50LXR5cGUtMS4wLjQudGd6I2UxMzhjYzc1 ZTA0MGM3MjdiMTk2NmZlNWU1ZjhjOWFlZTI1NmZlM2IiCiAgIGludGVncml0eSBzaGE1MTItaElQ M0VFUHM4dEI5QVQxTCtOVXF0d09BcHM0bWsyWm9iODlNV1hNSGpIV2c5bWlsRi9qNG9zbm5RTFhC Q0JGQmsvdHZJRy90VWM5bU9VSmlQQmhQWEE9PQogCi1jb252ZXJ0LXNvdXJjZS1tYXBAXjEuMS4w LCBjb252ZXJ0LXNvdXJjZS1tYXBAXjEuMS4zOgotICB2ZXJzaW9uICIxLjcuMCIKLSAgcmVzb2x2 ZWQgImh0dHBzOi8vcmVnaXN0cnkueWFybnBrZy5jb20vY29udmVydC1zb3VyY2UtbWFwLy0vY29u dmVydC1zb3VyY2UtbWFwLTEuNy4wLnRneiMxN2EyY2I4ODJkN2Y3N2QzNDkwNTg1ZTJjZTZjNTI0 NDI0YTNhNDQyIgotICBpbnRlZ3JpdHkgc2hhNTEyLTRGSmtYektYRURCMXNuQ0ZabExQNGdwQzNK SUxpY0NwR2J6RzlmOUc3dEdxR0N6RVRRMmhXUHJjaW5BOW9VNHd0ZjJiaVVhRUg1MDY1VW5NZVIz M29BPT0KLSAgZGVwZW5kZW5jaWVzOgotICAgIHNhZmUtYnVmZmVyICJ+NS4xLjEiCi0KLWNvbnZl cnQtc291cmNlLW1hcEB+MS4xLjA6Citjb252ZXJ0LXNvdXJjZS1tYXBAXjEuMS4wLCBjb252ZXJ0 LXNvdXJjZS1tYXBAXjEuMS4zLCBjb252ZXJ0LXNvdXJjZS1tYXBAfjEuMS4wOgogICB2ZXJzaW9u ICIxLjEuMyIKICAgcmVzb2x2ZWQgImh0dHBzOi8vcmVnaXN0cnkueWFybnBrZy5jb20vY29udmVy dC1zb3VyY2UtbWFwLy0vY29udmVydC1zb3VyY2UtbWFwLTEuMS4zLnRneiM0ODI5Yzg3N2U5ZmU0 OWIzMTYxZjNiZjM2NzM4ODhlMjA0Njk5ODYwIgogICBpbnRlZ3JpdHkgc2hhMS1TQ25JZCtuK1Ni TVdIenZ6WnppSTRnUnBtR0E9CkBAIC0yNjAyLDkgKzI1NTIsOSBAQCBjb3JlLWpzQF4yLjQuMDoK ICAgaW50ZWdyaXR5IHNoYTUxMi01d2pucGFULzNkVitYQjRib3JFc25BWVFjaG4wMFhTZ1RBV0tE a0VxditLOEtldmpiem1vZks2aGZKOVRaSWxwajJOMHhRcGF6eTdQaVJRaVdIcXpXZz09CiAKIGNv cmUtanNAXjMuMi4xLCBjb3JlLWpzQF4zLjYuNDoKLSAgdmVyc2lvbiAiMy42LjQiCi0gIHJlc29s dmVkICJodHRwczovL3JlZ2lzdHJ5Lnlhcm5wa2cuY29tL2NvcmUtanMvLS9jb3JlLWpzLTMuNi40 LnRneiM0NDBhODM1MzZiNDU4MTE0YjljYjJhYzE1ODBiYTM3N2RjNDcwNjQ3IgotICBpbnRlZ3Jp dHkgc2hhNTEyLTRwYURHU2NOZ1pQMklYWGlsYWZmTDlYNzk2OFJ1dndsa0szeFd0WlJWcWdkOFNZ TmlWS1JKdmtGZDFhcXFFdVBmTjdFNjhaSEVwOWhEajZsSGo0SHl3PT0KKyAgdmVyc2lvbiAiMy42 LjUiCisgIHJlc29sdmVkICJodHRwczovL3JlZ2lzdHJ5Lnlhcm5wa2cuY29tL2NvcmUtanMvLS9j b3JlLWpzLTMuNi41LnRneiM3Mzk1ZGMyNzNhZjM3ZmIyZTUwZTliZDNkOWZlODQxMjg1MjMxZDFh IgorICBpbnRlZ3JpdHkgc2hhNTEyLXZaVkVFd1pvSXNJK3ZQRXVvRjlJcWY1SDcvTTNlZVFxV2xR bllhOEZTS0tlUHVZVGY1TVdueGI1U0RBekNhNjBiM0pCUlM1ZzliK0RxN2IxeS9SQ3JBPT0KIAog Y29yZS11dGlsLWlzQH4xLjAuMDoKICAgdmVyc2lvbiAiMS4wLjIiCkBAIC0yODk2LDcgKzI4NDYs NyBAQCBkZWJ1Z0A9My4xLjAsIGRlYnVnQH4zLjEuMDoKICAgZGVwZW5kZW5jaWVzOgogICAgIG1z ICIyLjAuMCIKIAotZGVidWdAXjMuMC4wLCBkZWJ1Z0BeMy4yLjY6CitkZWJ1Z0BeMy4yLjY6CiAg IHZlcnNpb24gIjMuMi42IgogICByZXNvbHZlZCAiaHR0cHM6Ly9yZWdpc3RyeS55YXJucGtnLmNv bS9kZWJ1Zy8tL2RlYnVnLTMuMi42LnRneiNlODNkMTdkZTE2ZDhhN2VmYjc3MTdlZGJlNWZiMTAx MzVlZWU2MjliIgogICBpbnRlZ3JpdHkgc2hhNTEyLW1lbCtqZjducnRFbDVQbjFReDQ2ekFSWEtE cEJidnplenNlN3A3THFJTm1kb0lrOFBZUDVTeVNheEVtWXY2VFowSnlFS0ExaHNDSWQ2REloZ0lU dFdRPT0KQEAgLTI5ODAsNiArMjkzMCwxMSBAQCBkZWNvbXByZXNzQF40LjAuMCwgZGVjb21wcmVz c0BeNC4yLjA6CiAgICAgcGlmeSAiXjIuMy4wIgogICAgIHN0cmlwLWRpcnMgIl4yLjAuMCIKIAor ZGVlcC1leHRlbmRAXjAuNi4wOgorICB2ZXJzaW9uICIwLjYuMCIKKyAgcmVzb2x2ZWQgImh0dHBz Oi8vcmVnaXN0cnkueWFybnBrZy5jb20vZGVlcC1leHRlbmQvLS9kZWVwLWV4dGVuZC0wLjYuMC50 Z3ojYzRmYTdjOTU0MDRhMTdhOWMzZThjYTdlMTUzNzMxMmI3MzYzMzBhYyIKKyAgaW50ZWdyaXR5 IHNoYTUxMi1MT0h4SU9hUFlkSGxKUnRDUWZESVZadGZ3L3VmTTgrclZqNjQ5UklIemNtL3ZHd1FS WEZ0Nk9QcUlGV3NtMlhFTXJOSUV0V1I2NHNZMUxFS0QydkFPQT09CisKIGRlZXAtaXNAfjAuMS4z OgogICB2ZXJzaW9uICIwLjEuMyIKICAgcmVzb2x2ZWQgImh0dHBzOi8vcmVnaXN0cnkueWFybnBr Zy5jb20vZGVlcC1pcy8tL2RlZXAtaXMtMC4xLjMudGd6I2IzNjlkNmZiNWRiYzEzZWVjZjUyNGY5 MWIwNzBmZWVkYzM1N2NmMzQiCkBAIC0zMDE5LDYgKzI5NzQsMTEgQEAgZGVmaW5lZEBeMS4wLjA6 CiAgIHJlc29sdmVkICJodHRwczovL3JlZ2lzdHJ5Lnlhcm5wa2cuY29tL2RlZmluZWQvLS9kZWZp bmVkLTEuMC4wLnRneiNjOThkOWJjZWY3NTY3NDE4OGUxMTA5NjkxNTExOTllMzliMWZhNjkzIgog ICBpbnRlZ3JpdHkgc2hhMS15WTJienZkV2RCaU9FUWxwRlJHWjQ1c2ZwcE09CiAKK2RlbGVnYXRl c0BeMS4wLjA6CisgIHZlcnNpb24gIjEuMC4wIgorICByZXNvbHZlZCAiaHR0cHM6Ly9yZWdpc3Ry eS55YXJucGtnLmNvbS9kZWxlZ2F0ZXMvLS9kZWxlZ2F0ZXMtMS4wLjAudGd6Izg0YzZlMTU5Yjgx OTA0ZmRjYTU5YTBlZjQ0Y2Q4NzBkMzEyNTBmOWEiCisgIGludGVncml0eSBzaGExLWhNYmhXYmda QlAzS1dhRHZSTTJIRFRFbEQ1bz0KKwogZGVwZEB+MS4xLjI6CiAgIHZlcnNpb24gIjEuMS4yIgog ICByZXNvbHZlZCAiaHR0cHM6Ly9yZWdpc3RyeS55YXJucGtnLmNvbS9kZXBkLy0vZGVwZC0xLjEu Mi50Z3ojOWJjZDUyZTE0YzA5Nzc2M2U3NDliMjc0YzQzNDZlZDJlNTYwYjVhOSIKQEAgLTMwNTIs NiArMzAxMiwxMSBAQCBkZXRlY3QtZmlsZUBeMS4wLjA6CiAgIHJlc29sdmVkICJodHRwczovL3Jl Z2lzdHJ5Lnlhcm5wa2cuY29tL2RldGVjdC1maWxlLy0vZGV0ZWN0LWZpbGUtMS4wLjAudGd6I2Yw ZDY2ZDAzNjcyYTgyNWNiMWI3M2JkYjNmZTYyMzEwYzhlNTUyYjciCiAgIGludGVncml0eSBzaGEx LThOWnRBMmNxZ2x5eHR6dmJQK1lqRU1qbFVyYz0KIAorZGV0ZWN0LWxpYmNAXjEuMC4yOgorICB2 ZXJzaW9uICIxLjAuMyIKKyAgcmVzb2x2ZWQgImh0dHBzOi8vcmVnaXN0cnkueWFybnBrZy5jb20v ZGV0ZWN0LWxpYmMvLS9kZXRlY3QtbGliYy0xLjAuMy50Z3ojZmExMzdjNGJkNjk4ZWRmNTVjZDVj ZDAyYWM1NTlmOTFhNGM0YmE5YiIKKyAgaW50ZWdyaXR5IHNoYTEtK2hOOFM5YVk3ZlZjMWMwQ3JG V2ZrYVRFdXBzPQorCiBkZXRlY3RpdmVAXjUuMi4wOgogICB2ZXJzaW9uICI1LjIuMCIKICAgcmVz b2x2ZWQgImh0dHBzOi8vcmVnaXN0cnkueWFybnBrZy5jb20vZGV0ZWN0aXZlLy0vZGV0ZWN0aXZl LTUuMi4wLnRneiNmZWIyYTc3ZTg1YjkwNGVjZGVhNDU5YWQ4OTdjYzkwYTk5YmQyYTdiIgpAQCAt MzIyMCw5ICszMTg1LDkgQEAgZWpzQF4zLjAuMDoKICAgaW50ZWdyaXR5IHNoYTUxMi1JbmNtVXBu MXlOODRoeTJzaGIwUE9KODBGV3JmR05ZMGN4TzlmNHYrL3NHN3FjQnZBdFZXVUExSWR6WS84RVlV bU9WaG9LSlZkSmpOZDNBWmNueE9qQT09CiAKIGVsZWN0cm9uLXRvLWNocm9taXVtQF4xLjMuMzkw OgotICB2ZXJzaW9uICIxLjMuMzk3IgotICByZXNvbHZlZCAiaHR0cHM6Ly9yZWdpc3RyeS55YXJu cGtnLmNvbS9lbGVjdHJvbi10by1jaHJvbWl1bS8tL2VsZWN0cm9uLXRvLWNocm9taXVtLTEuMy4z OTcudGd6I2RiNjQwYzJlNjdiMDhkNTkwYTUwNGMyMGI1NjkwNDUzN2FhMmJhZmEiCi0gIGludGVn cml0eSBzaGE1MTItemNVZDFwLzd5elRTZFdrQ1RycUd2Ym5FT0FTeTk2ZDBSSkwvbGM1QkRKb08y M1ozRy9WSGQweUlQYmd1RFU5bjhRTlVUQ2lnTE83b0VkdE9iN2ZwMkE9PQorICB2ZXJzaW9uICIx LjMuNDAyIgorICByZXNvbHZlZCAiaHR0cHM6Ly9yZWdpc3RyeS55YXJucGtnLmNvbS9lbGVjdHJv bi10by1jaHJvbWl1bS8tL2VsZWN0cm9uLXRvLWNocm9taXVtLTEuMy40MDIudGd6IzlhZDkzYzBj OGVhMmU1NzE0MzE3MzllMGQ3NmJkNmJjOTc4OGE4NDYiCisgIGludGVncml0eSBzaGE1MTItZ2FD RGZYN0lVSDBzM0ptQmlIQ0RQcnZWY2RuVFRQMXI0V0xKYzJkSGtZWWJMbVhaMlhIaUpDY0dROUJh bGY5MWFLVHZ1Q0tDeXUySmpKWVJ5a29JMXc9PQogCiBlbGxpcHRpY0BeNi4wLjA6CiAgIHZlcnNp b24gIjYuNS4yIgpAQCAtMzk0MSwyMCArMzkwNiwxMyBAQCBmbHVzaC13cml0ZS1zdHJlYW1AXjEu MC4wOgogICAgIGluaGVyaXRzICJeMi4wLjMiCiAgICAgcmVhZGFibGUtc3RyZWFtICJeMi4zLjYi CiAKLWZvbGxvdy1yZWRpcmVjdHNAMS41LjEwOgorZm9sbG93LXJlZGlyZWN0c0AxLjUuMTAsIGZv bGxvdy1yZWRpcmVjdHNAXjEuMC4wOgogICB2ZXJzaW9uICIxLjUuMTAiCiAgIHJlc29sdmVkICJo dHRwczovL3JlZ2lzdHJ5Lnlhcm5wa2cuY29tL2ZvbGxvdy1yZWRpcmVjdHMvLS9mb2xsb3ctcmVk aXJlY3RzLTEuNS4xMC50Z3ojN2I3YTlmOWFlYTJmZGZmMzY3ODZhOTRmZjY0M2VkMDdmNGZmNWUy YSIKICAgaW50ZWdyaXR5IHNoYTUxMi0wVjVsNENpenp2cXQ1RDQ0YVRYYkZaeitGdHlYVjF2ckRO NnFyZWx4dGZZUUtXMEtPMFcyVC9oa0U4eHZHYS81NDBMa1psa2FVak80YWlsWVRGdEhWUT09CiAg IGRlcGVuZGVuY2llczoKICAgICBkZWJ1ZyAiPTMuMS4wIgogCi1mb2xsb3ctcmVkaXJlY3RzQF4x LjAuMDoKLSAgdmVyc2lvbiAiMS4xMS4wIgotICByZXNvbHZlZCAiaHR0cHM6Ly9yZWdpc3RyeS55 YXJucGtnLmNvbS9mb2xsb3ctcmVkaXJlY3RzLy0vZm9sbG93LXJlZGlyZWN0cy0xLjExLjAudGd6 I2FmYTE0ZjA4YmExMmE1Mjk2MzE0MGZlNDMyMTI2NTg4OTdiYzBlY2IiCi0gIGludGVncml0eSBz aGE1MTItS1ptMFYrbGw4UGZCckt3TXpkbzVEMTNiMWJ1cjlJcTlaZC9STW1Bb1FRY2wyUHh4Rm1s OGN4WFBhYVBZVmJWMFJqTmpxMUNVN3pJekFPcXRVUHVkbUE9PQotICBkZXBlbmRlbmNpZXM6Ci0g ICAgZGVidWcgIl4zLjAuMCIKLQogZm9udC1hd2Vzb21lQF40LjcuMDoKICAgdmVyc2lvbiAiNC43 LjAiCiAgIHJlc29sdmVkICJodHRwczovL3JlZ2lzdHJ5Lnlhcm5wa2cuY29tL2ZvbnQtYXdlc29t ZS8tL2ZvbnQtYXdlc29tZS00LjcuMC50Z3ojOGZhOGNmMDQxMWExYTMxYWZkMDdiMDZkMjkwMmJi OWZjODE1YTEzMyIKQEAgLTQwMTEsNiArMzk2OSwxMyBAQCBmcy1leHRyYUBeNy4wLjE6CiAgICAg anNvbmZpbGUgIl40LjAuMCIKICAgICB1bml2ZXJzYWxpZnkgIl4wLjEuMCIKIAorZnMtbWluaXBh c3NAXjEuMi41OgorICB2ZXJzaW9uICIxLjIuNyIKKyAgcmVzb2x2ZWQgImh0dHBzOi8vcmVnaXN0 cnkueWFybnBrZy5jb20vZnMtbWluaXBhc3MvLS9mcy1taW5pcGFzcy0xLjIuNy50Z3ojY2NmZjg1 NzA4NDFlN2ZlNDI2NTY5M2RhODg5MzZjNTVhZWQ3ZjdjNyIKKyAgaW50ZWdyaXR5IHNoYTUxMi1H V1NTSkdGeTRlOUdVZUNjYklrRUQrYmdBb0Z5ajdYRjFtVjhybWEzUVc0TklxWDlLeXg3OU4vUEY2 MUg1dWRPVjNhWTFJYU1MczZwR2JINzFubENUQT09CisgIGRlcGVuZGVuY2llczoKKyAgICBtaW5p cGFzcyAiXjIuNi4wIgorCiBmcy1taW5pcGFzc0BeMi4wLjA6CiAgIHZlcnNpb24gIjIuMS4wIgog ICByZXNvbHZlZCAiaHR0cHM6Ly9yZWdpc3RyeS55YXJucGtnLmNvbS9mcy1taW5pcGFzcy8tL2Zz LW1pbmlwYXNzLTIuMS4wLnRneiM3ZjUwMzZmZGJmMTJjNjNjMTY5MTkwY2JlNDE5OWM4NTIyNzFm OWZiIgpAQCAtNDA1Niw2ICs0MDIxLDIwIEBAIGZ1bmN0aW9uYWwtcmVkLWJsYWNrLXRyZWVAXjEu MC4xOgogICByZXNvbHZlZCAiaHR0cHM6Ly9yZWdpc3RyeS55YXJucGtnLmNvbS9mdW5jdGlvbmFs LXJlZC1ibGFjay10cmVlLy0vZnVuY3Rpb25hbC1yZWQtYmxhY2stdHJlZS0xLjAuMS50Z3ojMWIw YWIzYmQ1NTNiMmEwZDYzOTlkMjljMGUzZWEwYjI1MjA3ODMyNyIKICAgaW50ZWdyaXR5IHNoYTEt R3dxenZWVTdLZzFqbWRLY0RqNmdzbElIZ3ljPQogCitnYXVnZUB+Mi43LjM6CisgIHZlcnNpb24g IjIuNy40IgorICByZXNvbHZlZCAiaHR0cHM6Ly9yZWdpc3RyeS55YXJucGtnLmNvbS9nYXVnZS8t L2dhdWdlLTIuNy40LnRneiMyYzAzNDA1Yzc1MzhjMzlkN2ViMzdiMzE3MDIyZTMyNWZiMDE4YmY3 IgorICBpbnRlZ3JpdHkgc2hhMS1MQU5BWEhVNHc1MStzM3N4Y0NMakpmc0JpL2M9CisgIGRlcGVu ZGVuY2llczoKKyAgICBhcHJvYmEgIl4xLjAuMyIKKyAgICBjb25zb2xlLWNvbnRyb2wtc3RyaW5n cyAiXjEuMC4wIgorICAgIGhhcy11bmljb2RlICJeMi4wLjAiCisgICAgb2JqZWN0LWFzc2lnbiAi XjQuMS4wIgorICAgIHNpZ25hbC1leGl0ICJeMy4wLjAiCisgICAgc3RyaW5nLXdpZHRoICJeMS4w LjEiCisgICAgc3RyaXAtYW5zaSAiXjMuMC4xIgorICAgIHdpZGUtYWxpZ24gIl4xLjEuMCIKKwog Z2VvbWV0cnktaW50ZXJmYWNlc0BeMS4xLjQ6CiAgIHZlcnNpb24gIjEuMS40IgogICByZXNvbHZl ZCAiaHR0cHM6Ly9yZWdpc3RyeS55YXJucGtnLmNvbS9nZW9tZXRyeS1pbnRlcmZhY2VzLy0vZ2Vv bWV0cnktaW50ZXJmYWNlcy0xLjEuNC50Z3ojOWU4MmFmNjcwMGNhNjM5YTY3NTI5OWYwOGUxZjVm YmM0YTc5ZDQ4ZCIKQEAgLTQzMjEsNiArNDMwMCwxMSBAQCBoYXMtdG8tc3RyaW5nLXRhZy14QF4x LjIuMDoKICAgZGVwZW5kZW5jaWVzOgogICAgIGhhcy1zeW1ib2wtc3VwcG9ydC14ICJeMS40LjEi CiAKK2hhcy11bmljb2RlQF4yLjAuMDoKKyAgdmVyc2lvbiAiMi4wLjEiCisgIHJlc29sdmVkICJo dHRwczovL3JlZ2lzdHJ5Lnlhcm5wa2cuY29tL2hhcy11bmljb2RlLy0vaGFzLXVuaWNvZGUtMi4w LjEudGd6I2UwZTZmZTZhMjhjZjUxMTM4ODU1ZTA4NmQxNjkxZTc3MWRlMmE4YjkiCisgIGludGVn cml0eSBzaGExLTRPYithaWpQVVJPSVZlQ0cwV2tlZHgzaXFMaz0KKwogaGFzLXZhbHVlQF4wLjMu MToKICAgdmVyc2lvbiAiMC4zLjEiCiAgIHJlc29sdmVkICJodHRwczovL3JlZ2lzdHJ5Lnlhcm5w a2cuY29tL2hhcy12YWx1ZS8tL2hhcy12YWx1ZS0wLjMuMS50Z3ojN2IxZjU4YmFkYTYyY2E4Mjdl YzBhMjA3ODAyNTY1NDg0NTk5NWUxZiIKQEAgLTQ0MzYsNyArNDQyMCw3IEBAIGh0dHAtY2FjaGUt c2VtYW50aWNzQDMuOC4xOgogICByZXNvbHZlZCAiaHR0cHM6Ly9yZWdpc3RyeS55YXJucGtnLmNv bS9odHRwLWNhY2hlLXNlbWFudGljcy8tL2h0dHAtY2FjaGUtc2VtYW50aWNzLTMuOC4xLnRneiMz OWIwZTE2YWRkOWI2MDViZjBhOWVmM2Q5ZGFhZjQ4NDNiNGNhY2QyIgogICBpbnRlZ3JpdHkgc2hh NTEyLTVhaTJpa3N5VjhaWG1uWmhISDRyV1BveHhpc3RFZXhTaTU5MzZ6SVExYm5OVFc1Vm5BODVC NlAvVnBYaVJNMDE3SWdSdmIya0tvMWEvL3krMHdTcDN3PT0KIAotaHR0cC1lcnJvcnNAMS43LjI6 CitodHRwLWVycm9yc0AxLjcuMiwgaHR0cC1lcnJvcnNAfjEuNy4yOgogICB2ZXJzaW9uICIxLjcu MiIKICAgcmVzb2x2ZWQgImh0dHBzOi8vcmVnaXN0cnkueWFybnBrZy5jb20vaHR0cC1lcnJvcnMv LS9odHRwLWVycm9ycy0xLjcuMi50Z3ojNGY1MDI5Y2YxMzIzOWYzMTAzNmU1YjJlNTUyOTJiY2Zi Y2M4NWM4ZiIKICAgaW50ZWdyaXR5IHNoYTUxMi11VVFCdDNIL2NTSVZmY2g2aTFFdVBOeS9Zc1JT T1VCWFRWZloreVI3WmplejNxakJ6Nmk5K2k0empOYW9xY29GVkk0bFFKNXBsZzYzVHZHZlJTRENS Zz09CkBAIC00NDQ3LDE3ICs0NDMxLDYgQEAgaHR0cC1lcnJvcnNAMS43LjI6CiAgICAgc3RhdHVz ZXMgIj49IDEuNS4wIDwgMiIKICAgICB0b2lkZW50aWZpZXIgIjEuMC4wIgogCi1odHRwLWVycm9y c0B+MS43LjI6Ci0gIHZlcnNpb24gIjEuNy4zIgotICByZXNvbHZlZCAiaHR0cHM6Ly9yZWdpc3Ry eS55YXJucGtnLmNvbS9odHRwLWVycm9ycy8tL2h0dHAtZXJyb3JzLTEuNy4zLnRneiM2YzYxOWU0 ZjljNjAzMDhjMzg1MTk0OThjMTRmYmIxMGFhY2ViYjA2IgotICBpbnRlZ3JpdHkgc2hhNTEyLVpU VFgwTVdyc1EyWkFoQTFjZWpBd0RMeWNGc2Q3STduVnRua1QzT2wwYXFvZGFLVyswQ1RaRFExdUJ2 NXdocHRDbmM4ZThIZVJSSnhSczBrbW0vUWZ3PT0KLSAgZGVwZW5kZW5jaWVzOgotICAgIGRlcGQg In4xLjEuMiIKLSAgICBpbmhlcml0cyAiMi4wLjQiCi0gICAgc2V0cHJvdG90eXBlb2YgIjEuMS4x IgotICAgIHN0YXR1c2VzICI+PSAxLjUuMCA8IDIiCi0gICAgdG9pZGVudGlmaWVyICIxLjAuMCIK LQogaHR0cC1wcm94eUBeMS4xMy4wOgogICB2ZXJzaW9uICIxLjE4LjAiCiAgIHJlc29sdmVkICJo dHRwczovL3JlZ2lzdHJ5Lnlhcm5wa2cuY29tL2h0dHAtcHJveHkvLS9odHRwLXByb3h5LTEuMTgu MC50Z3ojZGJlNTVmNjNlNzVhMzQ3ZGI3ZjNkOTk5NzRmMjY5MmEzMTRhNmEzYSIKQEAgLTQ0ODMs NyArNDQ1Niw3IEBAIGljb25mb250LXdlYnBhY2stcGx1Z2luQF40LjIuMToKICAgICBzdmdpY29u czJzdmdmb250ICI5LjEuMSIKICAgICB0dGYyd29mZiAiMi4wLjEiCiAKLWljb252LWxpdGVAMC40 LjI0LCBpY29udi1saXRlQF4wLjQuMjQ6CitpY29udi1saXRlQDAuNC4yNCwgaWNvbnYtbGl0ZUBe MC40LjI0LCBpY29udi1saXRlQF4wLjQuNDoKICAgdmVyc2lvbiAiMC40LjI0IgogICByZXNvbHZl ZCAiaHR0cHM6Ly9yZWdpc3RyeS55YXJucGtnLmNvbS9pY29udi1saXRlLy0vaWNvbnYtbGl0ZS0w LjQuMjQudGd6IzIwMjJiNGIyNWZiZGRjMjFkMmY1MjQ5NzRhNDc0YWFmZTczMzkwOGIiCiAgIGlu dGVncml0eSBzaGE1MTItdjNNWG5aQWN2bnl3a1RVRVpvbUlBY3RsZTdSWFhlZWRPUjMxd3dsN1Zs eW9YTzRRaTlhcnZTZW5OUVduZTFUY1J3aENMMUh3TEkyMWJFcWRwajgvckE9PQpAQCAtNDUxMiw2 ICs0NDg1LDEzIEBAIGlmZXJyQF4wLjEuNToKICAgcmVzb2x2ZWQgImh0dHBzOi8vcmVnaXN0cnku eWFybnBrZy5jb20vaWZlcnIvLS9pZmVyci0wLjEuNS50Z3ojYzYwZWVkNjllNmQ4ZmRiNmIzMTA0 YTFmY2JjYTFjMTkyZGM1YjUwMSIKICAgaW50ZWdyaXR5IHNoYTEteGc3dGFlYlkvYmF6RUVvZnk4 b2NHUzNGdFFFPQogCitpZ25vcmUtd2Fsa0BeMy4wLjE6CisgIHZlcnNpb24gIjMuMC4zIgorICBy ZXNvbHZlZCAiaHR0cHM6Ly9yZWdpc3RyeS55YXJucGtnLmNvbS9pZ25vcmUtd2Fsay8tL2lnbm9y ZS13YWxrLTMuMC4zLnRneiMwMTdlMjQ0NzE4NGJmZWFkZTdjMjM4ZTRhZWZkZDFlOGY5NWIxZTM3 IgorICBpbnRlZ3JpdHkgc2hhNTEyLW03bzZ4dU9hVDFhcWhlWUhLZjhXNko1cFlIODVaSTl3MDc3 ZXJPekxqZTNKc0IxZ2thZmtBaEhIWTE5ZHFqdWxnSVpIRm0zMkNwNXVOWmdjUXFkSkt3PT0KKyAg ZGVwZW5kZW5jaWVzOgorICAgIG1pbmltYXRjaCAiXjMuMC40IgorCiBpZ25vcmVAXjMuMy41Ogog ICB2ZXJzaW9uICIzLjMuMTAiCiAgIHJlc29sdmVkICJodHRwczovL3JlZ2lzdHJ5Lnlhcm5wa2cu Y29tL2lnbm9yZS8tL2lnbm9yZS0zLjMuMTAudGd6IzBhOTdmYjg3Njk4NmU4MDgxYzYzMTE2MGY4 ZjlmMzg5MTU3ZjAwNDMiCkBAIC00NzAxLDcgKzQ2ODEsNyBAQCBpbmZsaWdodEBeMS4wLjQ6CiAg ICAgb25jZSAiXjEuMy4wIgogICAgIHdyYXBweSAiMSIKIAotaW5oZXJpdHNAMiwgaW5oZXJpdHNA Mi4wLjQsIGluaGVyaXRzQF4yLjAuMSwgaW5oZXJpdHNAXjIuMC4zLCBpbmhlcml0c0B+Mi4wLjEs IGluaGVyaXRzQH4yLjAuMzoKK2luaGVyaXRzQDIsIGluaGVyaXRzQF4yLjAuMSwgaW5oZXJpdHNA XjIuMC4zLCBpbmhlcml0c0B+Mi4wLjEsIGluaGVyaXRzQH4yLjAuMzoKICAgdmVyc2lvbiAiMi4w LjQiCiAgIHJlc29sdmVkICJodHRwczovL3JlZ2lzdHJ5Lnlhcm5wa2cuY29tL2luaGVyaXRzLy0v aW5oZXJpdHMtMi4wLjQudGd6IzBmYTJjNjRmOTMyOTE3YzM0MzNhMGRlZDU1MzYzYWFlMzc0MTZi N2MiCiAgIGludGVncml0eSBzaGE1MTItay92R2FYNC9ZbGEzV3p5TUN2VFFPWFllSUh2cU9LdG5x QmR1elRIcHpwUVp6QXNrS01oWjJLK0VuQmlTTTl6R1NvSUZlTXBYS3hhNGRZZVpJUXFld1E9PQpA QCAtNDcxNiw3ICs0Njk2LDcgQEAgaW5oZXJpdHNAMi4wLjM6CiAgIHJlc29sdmVkICJodHRwczov L3JlZ2lzdHJ5Lnlhcm5wa2cuY29tL2luaGVyaXRzLy0vaW5oZXJpdHMtMi4wLjMudGd6IzYzM2My YzgzZTNkYTQyYTUwMmY1MjQ2NjAyMjQ4MGY0MjA4MjYxZGUiCiAgIGludGVncml0eSBzaGExLVl6 d3NnK1BhUXFVQzlTUm1BaVNBOUNDQ1lkND0KIAotaW5pQF4xLjMuNCwgaW5pQF4xLjMuNToKK2lu aUBeMS4zLjQsIGluaUBeMS4zLjUsIGluaUB+MS4zLjA6CiAgIHZlcnNpb24gIjEuMy41IgogICBy ZXNvbHZlZCAiaHR0cHM6Ly9yZWdpc3RyeS55YXJucGtnLmNvbS9pbmkvLS9pbmktMS4zLjUudGd6 I2VlZTI1ZjU2ZGIxYzllYzYwODVlMGMyMjc3ODA4M2Y1OTZhYmY5MjciCiAgIGludGVncml0eSBz aGE1MTItUlpZNWh1SUtDTVJXRFVxWmxFaTcyZi9sbVhLTXZ1c3pjTUJkdWxpUTNubldieDlYL1pC UU83RGlqTUVZUzlFaEhCYjJxYWNSVU10Qzdzdkx3ZTBsY3c9PQpAQCAtNDk0OCw2ICs0OTI4LDEz IEBAIGlzLWZpbml0ZUBeMS4wLjA6CiAgIHJlc29sdmVkICJodHRwczovL3JlZ2lzdHJ5Lnlhcm5w a2cuY29tL2lzLWZpbml0ZS8tL2lzLWZpbml0ZS0xLjEuMC50Z3ojOTA0MTM1Yzc3ZmI0MmMwNjQx ZDZhYTFiY2RiYzRkYWE4ZGEwODJmMyIKICAgaW50ZWdyaXR5IHNoYTUxMi1jZHlNdHFYL0JPcXFO QkJpS2xJVmt5dE5IbTQ5TXRNbFl5bjF6eHp2SktXbUZNbEd6bStyeTVCQmZZeWVZOVltTktiUlNv L283T1g5dzlhbGUwd2czdz09CiAKK2lzLWZ1bGx3aWR0aC1jb2RlLXBvaW50QF4xLjAuMDoKKyAg dmVyc2lvbiAiMS4wLjAiCisgIHJlc29sdmVkICJodHRwczovL3JlZ2lzdHJ5Lnlhcm5wa2cuY29t L2lzLWZ1bGx3aWR0aC1jb2RlLXBvaW50Ly0vaXMtZnVsbHdpZHRoLWNvZGUtcG9pbnQtMS4wLjAu dGd6I2VmOWUzMTM4NmYwMzFhN2YwZDY0M2FmODJmZGU1MGM0NTdlZjAwY2IiCisgIGludGVncml0 eSBzaGExLTc1NHhPRzhER244TlpEcjRMOTVReEZmdkFNcz0KKyAgZGVwZW5kZW5jaWVzOgorICAg IG51bWJlci1pcy1uYW4gIl4xLjAuMCIKKwogaXMtZnVsbHdpZHRoLWNvZGUtcG9pbnRAXjIuMC4w OgogICB2ZXJzaW9uICIyLjAuMCIKICAgcmVzb2x2ZWQgImh0dHBzOi8vcmVnaXN0cnkueWFybnBr Zy5jb20vaXMtZnVsbHdpZHRoLWNvZGUtcG9pbnQvLS9pcy1mdWxsd2lkdGgtY29kZS1wb2ludC0y LjAuMC50Z3ojYTNiMzBhNWM0ZjE5OTE4MzE2N2FhYWI5M2JlZWZhZTNkZGZiNjU0ZiIKQEAgLTUx MzMsMTIgKzUxMjAsNyBAQCBpc3VybEBeMS4wLjAtYWxwaGE1OgogICAgIGhhcy10by1zdHJpbmct dGFnLXggIl4xLjIuMCIKICAgICBpcy1vYmplY3QgIl4xLjAuMSIKIAotamFzbWluZS1jb3JlQF4z LjM6Ci0gIHZlcnNpb24gIjMuNS4wIgotICByZXNvbHZlZCAiaHR0cHM6Ly9yZWdpc3RyeS55YXJu cGtnLmNvbS9qYXNtaW5lLWNvcmUvLS9qYXNtaW5lLWNvcmUtMy41LjAudGd6IzEzMmMyM2U2NDVh Zjk2ZDg1YzhiY2ExM2M4NzU4YjE4NDI5ZmMxZTQiCi0gIGludGVncml0eSBzaGE1MTItbkNlQWl3 MzdNSU1BOXc5SVhzbzdiUmFMbCtjL2VmM3dueHNvU0FsWXJ6UytPdDB6VEc2blU4Ry9jSWZHa3Fw a2pYMndOYUlXOVJGRzBUd0lGbkc2YkE9PQotCi1qYXNtaW5lLWNvcmVAfjMuMy4wOgoramFzbWlu ZS1jb3JlQF4zLjMsIGphc21pbmUtY29yZUB+My4zLjA6CiAgIHZlcnNpb24gIjMuMy4wIgogICBy ZXNvbHZlZCAiaHR0cHM6Ly9yZWdpc3RyeS55YXJucGtnLmNvbS9qYXNtaW5lLWNvcmUvLS9qYXNt aW5lLWNvcmUtMy4zLjAudGd6I2RlYTFjZGM2MzRiYzkzYzdlMGQ0YWQyNzE4NWRmMzBmYTk3MWIx MGUiCiAgIGludGVncml0eSBzaGE1MTItMy94U21HL2QzNWhmODBCRU42Nlk2ZzlDYTVsL0lzZGVn L2o2enZiVFlsVHplS2luem1hVE00cDlhbTVrWXFPbUUwNUQ3czF0OEZHanpkU25iVWJjZUE9PQpA QCAtNTE4NCwxNiArNTE2NiwxNiBAQCBqcy1zdHJpbmctZXNjYXBlQF4xLjAuMDoKICAgcmVzb2x2 ZWQgImh0dHBzOi8vcmVnaXN0cnkueWFybnBrZy5jb20vanMtc3RyaW5nLWVzY2FwZS8tL2pzLXN0 cmluZy1lc2NhcGUtMS4wLjEudGd6I2UyNjI1YmFkYmMwZDY3Yzc1MzNlOWVkYzEwNjhjNTg3YWU0 MTM3ZWYiCiAgIGludGVncml0eSBzaGExLTRtSmJyYndOWjhkVFBwN2NFR2pGaDY1Qk4rOD0KIAot ImpzLXRva2Vuc0BeMy4wLjAgfHwgXjQuMC4wIiwganMtdG9rZW5zQF40LjAuMDoKLSAgdmVyc2lv biAiNC4wLjAiCi0gIHJlc29sdmVkICJodHRwczovL3JlZ2lzdHJ5Lnlhcm5wa2cuY29tL2pzLXRv a2Vucy8tL2pzLXRva2Vucy00LjAuMC50Z3ojMTkyMDNmYjU5OTkxZGY5OGUzYTI4NzA1MGQ0NjQ3 Y2RlYWYzMjQ5OSIKLSAgaW50ZWdyaXR5IHNoYTUxMi1SZEpVZmxjRTNjVXpLaU1xUWdzQ3UwNkZQ dTlVZElKTzBiZVliUGhITjRrNmFwZ0p0aWZjb0N0VDliY3hPcFlCdHBEMmtDTTZTYnpnNENhdXNX L1BLUT09Ci0KLWpzLXRva2Vuc0BeMy4wLjI6CisianMtdG9rZW5zQF4zLjAuMCB8fCBeNC4wLjAi LCBqcy10b2tlbnNAXjMuMC4yOgogICB2ZXJzaW9uICIzLjAuMiIKICAgcmVzb2x2ZWQgImh0dHBz Oi8vcmVnaXN0cnkueWFybnBrZy5jb20vanMtdG9rZW5zLy0vanMtdG9rZW5zLTMuMC4yLnRneiM5 ODY2ZGYzOTUxMDIxMzBlMzhmN2Y5OTZiY2ViNjU0NDMyMDljMjViIgogICBpbnRlZ3JpdHkgc2hh MS1tR2JmT1ZFQ0V3NDQ5L21Xdk90bFJESUp3bHM9CiAKK2pzLXRva2Vuc0BeNC4wLjA6CisgIHZl cnNpb24gIjQuMC4wIgorICByZXNvbHZlZCAiaHR0cHM6Ly9yZWdpc3RyeS55YXJucGtnLmNvbS9q cy10b2tlbnMvLS9qcy10b2tlbnMtNC4wLjAudGd6IzE5MjAzZmI1OTk5MWRmOThlM2EyODcwNTBk NDY0N2NkZWFmMzI0OTkiCisgIGludGVncml0eSBzaGE1MTItUmRKVWZsY0UzY1V6S2lNcVFnc0N1 MDZGUHU5VWRJSk8wYmVZYlBoSE40azZhcGdKdGlmY29DdFQ5YmN4T3BZQnRwRDJrQ002U2J6ZzRD YXVzVy9QS1E9PQorCiBqcy15YW1sQF4zLjEyLjAsIGpzLXlhbWxAXjMuMTMuMToKICAgdmVyc2lv biAiMy4xMy4xIgogICByZXNvbHZlZCAiaHR0cHM6Ly9yZWdpc3RyeS55YXJucGtnLmNvbS9qcy15 YW1sLy0vanMteWFtbC0zLjEzLjEudGd6I2FmZjE1MWIzMGJmZGZhOGU0OWUwNWRhMjJlNzQxNWU5 ZGZhMzc4NDciCkBAIC01ODYyLDYgKzU4NDQsMTQgQEAgbWluaXBhc3MtcGlwZWxpbmVAXjEuMi4y OgogICBkZXBlbmRlbmNpZXM6CiAgICAgbWluaXBhc3MgIl4zLjAuMCIKIAorbWluaXBhc3NAXjIu Ni4wLCBtaW5pcGFzc0BeMi44LjYsIG1pbmlwYXNzQF4yLjkuMDoKKyAgdmVyc2lvbiAiMi45LjAi CisgIHJlc29sdmVkICJodHRwczovL3JlZ2lzdHJ5Lnlhcm5wa2cuY29tL21pbmlwYXNzLy0vbWlu aXBhc3MtMi45LjAudGd6I2U3MTM3NjJlN2QzZTMyZmVkODAzMTE1Y2Y5M2UwNGJjYTlmY2M5YTYi CisgIGludGVncml0eSBzaGE1MTItd3hmVWpnOVdlYkgrQ1VEWC9DZGJSbGg1U21mWml5L2hwa3hh UkkxNlk5VzU2UGE3NXNXZ2QvcnZGaWxTZ3JhdUQ5TnlGeW1QLytKRlYzS3d6SXNKZWc9PQorICBk ZXBlbmRlbmNpZXM6CisgICAgc2FmZS1idWZmZXIgIl41LjEuMiIKKyAgICB5YWxsaXN0ICJeMy4w LjAiCisKIG1pbmlwYXNzQF4zLjAuMCwgbWluaXBhc3NAXjMuMS4xOgogICB2ZXJzaW9uICIzLjEu MSIKICAgcmVzb2x2ZWQgImh0dHBzOi8vcmVnaXN0cnkueWFybnBrZy5jb20vbWluaXBhc3MvLS9t aW5pcGFzcy0zLjEuMS50Z3ojNzYwN2NlNzc4NDcyYTE4NWFkNmQ4OTA4MmFhMjA3MGY3OWNlZGNk NSIKQEAgLTU4NjksNiArNTg1OSwxMyBAQCBtaW5pcGFzc0BeMy4wLjAsIG1pbmlwYXNzQF4zLjEu MToKICAgZGVwZW5kZW5jaWVzOgogICAgIHlhbGxpc3QgIl40LjAuMCIKIAorbWluaXpsaWJAXjEu Mi4xOgorICB2ZXJzaW9uICIxLjMuMyIKKyAgcmVzb2x2ZWQgImh0dHBzOi8vcmVnaXN0cnkueWFy bnBrZy5jb20vbWluaXpsaWIvLS9taW5pemxpYi0xLjMuMy50Z3ojMjI5MGRlOTY4MThhMzRjMjk1 NTFjOGE4ZDMwMTIxNmJkNjVhODYxZCIKKyAgaW50ZWdyaXR5IHNoYTUxMi02WllNT0VubVZzZENl VEpWRTBXOVpEK3BWbkU4aDlIbWEvaU93d1JEc2RRb2VQcG9YNTYvOEI2ejNQOVZOd3BwSnVCS05S dUZEUk5ScVJXZXhUOUc5UT09CisgIGRlcGVuZGVuY2llczoKKyAgICBtaW5pcGFzcyAiXjIuOS4w IgorCiBtaXNzaXNzaXBwaUBeMy4wLjA6CiAgIHZlcnNpb24gIjMuMC4wIgogICByZXNvbHZlZCAi aHR0cHM6Ly9yZWdpc3RyeS55YXJucGtnLmNvbS9taXNzaXNzaXBwaS8tL21pc3Npc3NpcHBpLTMu MC4wLnRneiNlYTBhMzI5MWY5N2UwYjVlODc3NmIzNjNkNWYwYTEyZDk0YzY3MDIyIgpAQCAtNTg5 MywxMSArNTg5MCw2IEBAIG1peGluLWRlZXBAXjEuMi4wOgogICAgIGZvci1pbiAiXjEuMC4yIgog ICAgIGlzLWV4dGVuZGFibGUgIl4xLjAuMSIKIAotbWtkaXJwLWNsYXNzaWNAXjAuNS4yOgotICB2 ZXJzaW9uICIwLjUuMiIKLSAgcmVzb2x2ZWQgImh0dHBzOi8vcmVnaXN0cnkueWFybnBrZy5jb20v bWtkaXJwLWNsYXNzaWMvLS9ta2RpcnAtY2xhc3NpYy0wLjUuMi50Z3ojNTRjNDQxY2U0Yzk2Y2Q3 NzkwZTEwYjQxYTg3YWE1MTA2OGVjYWIyYiIKLSAgaW50ZWdyaXR5IHNoYTUxMi1lamRuRFFjUjc1 Z3drbm1Ndy90eDAyQXVSczhqQ3RxRm9GcURaTWppTnhzdTg1c1JJSlZYREtIdUxZdlVVUFJCVXRW MkZwU1phOWJMMUJVYTNCZFIyZz09Ci0KIG1rZGlycEBeMC41LjAsIG1rZGlycEBeMC41LjEsIG1r ZGlycEBeMC41LjMsIG1rZGlycEB+MC41LjE6CiAgIHZlcnNpb24gIjAuNS41IgogICByZXNvbHZl ZCAiaHR0cHM6Ly9yZWdpc3RyeS55YXJucGtnLmNvbS9ta2RpcnAvLS9ta2RpcnAtMC41LjUudGd6 I2Q5MWNlZmQ2MmQxNDM2Y2EwZjQxNjIwZTI1MTI4OGQ0MjAwOTlkZWYiCkBAIC02MDI1LDYgKzYw MTcsMTUgQEAgbmVhdGVxdWFsQF4xLjAuMDoKICAgZGVwZW5kZW5jaWVzOgogICAgIHZhcnN0cmVh bSAiXjAuMy4yIgogCituZWVkbGVAXjIuMi4xOgorICB2ZXJzaW9uICIyLjMuMyIKKyAgcmVzb2x2 ZWQgImh0dHBzOi8vcmVnaXN0cnkueWFybnBrZy5jb20vbmVlZGxlLy0vbmVlZGxlLTIuMy4zLnRn eiNhMDQxYWQxZDA0YTg3MWIwZWJiNjY2ZjQwYmFhZjFmYjQ3ODY3MTE3IgorICBpbnRlZ3JpdHkg c2hhNTEyLUVrWTBHZVNxODdyV3AxaG9xL3NIL3duVFdnRlZoWWxuSWtiSjBZSkZmUmdFRmx6MlJy YUNqQnBGUSt2ckVnRWRwMFRoZnlIQURta0NoRWhjYjdQS3l3PT0KKyAgZGVwZW5kZW5jaWVzOgor ICAgIGRlYnVnICJeMy4yLjYiCisgICAgaWNvbnYtbGl0ZSAiXjAuNC40IgorICAgIHNheCAiXjEu Mi40IgorCiBuZWdvdGlhdG9yQDAuNi4yOgogICB2ZXJzaW9uICIwLjYuMiIKICAgcmVzb2x2ZWQg Imh0dHBzOi8vcmVnaXN0cnkueWFybnBrZy5jb20vbmVnb3RpYXRvci8tL25lZ290aWF0b3ItMC42 LjIudGd6I2ZlYWNmN2NjZjUyNWE3N2FlOTYzNDQzNmE2NDg4M2ZmZWNhMzQ2ZmIiCkBAIC02MDY5 LDExICs2MDcwLDM1IEBAIG5vZGUtbGlicy1icm93c2VyQF4yLjIuMToKICAgICB1dGlsICJeMC4x MS4wIgogICAgIHZtLWJyb3dzZXJpZnkgIl4xLjAuMSIKIAorbm9kZS1wcmUtZ3lwQCo6CisgIHZl cnNpb24gIjAuMTQuMCIKKyAgcmVzb2x2ZWQgImh0dHBzOi8vcmVnaXN0cnkueWFybnBrZy5jb20v bm9kZS1wcmUtZ3lwLy0vbm9kZS1wcmUtZ3lwLTAuMTQuMC50Z3ojOWEwNTk2NTMzYjg3NzI4OWJj YWQ0ZTE0Mzk4MmNhM2Q5MDRkZGM4MyIKKyAgaW50ZWdyaXR5IHNoYTUxMi0rQ3ZEQzdadHRVL3NT dDlyRmppeC9QMDVpUzQzcUhDT09HemNyM1J5OTliWEc3Vlg5NTMrdkZ5RXVwaC90ZnFvWXU4ZHR0 QmtFODZKU0tCTzJPemN4QT09CisgIGRlcGVuZGVuY2llczoKKyAgICBkZXRlY3QtbGliYyAiXjEu MC4yIgorICAgIG1rZGlycCAiXjAuNS4xIgorICAgIG5lZWRsZSAiXjIuMi4xIgorICAgIG5vcHQg Il40LjAuMSIKKyAgICBucG0tcGFja2xpc3QgIl4xLjEuNiIKKyAgICBucG1sb2cgIl40LjAuMiIK KyAgICByYyAiXjEuMi43IgorICAgIHJpbXJhZiAiXjIuNi4xIgorICAgIHNlbXZlciAiXjUuMy4w IgorICAgIHRhciAiXjQuNC4yIgorCiBub2RlLXJlbGVhc2VzQF4xLjEuNTM6CiAgIHZlcnNpb24g IjEuMS41MyIKICAgcmVzb2x2ZWQgImh0dHBzOi8vcmVnaXN0cnkueWFybnBrZy5jb20vbm9kZS1y ZWxlYXNlcy8tL25vZGUtcmVsZWFzZXMtMS4xLjUzLnRneiMyZDgyMWJmYTQ5OWVkN2M1ZGZmYzVl MmYyOGM4OGU3OGEwOGVlM2Y0IgogICBpbnRlZ3JpdHkgc2hhNTEyLXdwOHp5UVZ3ZWYyaHBaL2RK SDdTZlNySVBENllvSno2QkRRRHBHRWtjQTBzM0xwQVFveEJJWW1mSXE2UUFoQzFEaHdzeUNnVGFU VGNPTndYOHF6Q3VRPT0KIAorbm9wdEBeNC4wLjE6CisgIHZlcnNpb24gIjQuMC4zIgorICByZXNv bHZlZCAiaHR0cHM6Ly9yZWdpc3RyeS55YXJucGtnLmNvbS9ub3B0Ly0vbm9wdC00LjAuMy50Z3oj YTM3NWNhZDlkMDJmZDkyMTI3OGQ5NTRjMjI1NGQ1YWE1N2UxNWU0OCIKKyAgaW50ZWdyaXR5IHNo YTUxMi1DdmFHd1ZNenRTTUpMT2VYUHJlejdmeWZPYmRacU5VSzFjUEFFekxIclR5Ykl1YTlwTWRt bVBSNVl3dGZOZnRJT012M0RQVWhGYXhzWk1OVFFPMjBLZz09CisgIGRlcGVuZGVuY2llczoKKyAg ICBhYmJyZXYgIjEiCisgICAgb3NlbnYgIl4wLjEuNCIKKwogbm9ybWFsaXplLXBhY2thZ2UtZGF0 YUBeMi4zLjIsIG5vcm1hbGl6ZS1wYWNrYWdlLWRhdGFAXjIuMy40OgogICB2ZXJzaW9uICIyLjUu MCIKICAgcmVzb2x2ZWQgImh0dHBzOi8vcmVnaXN0cnkueWFybnBrZy5jb20vbm9ybWFsaXplLXBh Y2thZ2UtZGF0YS8tL25vcm1hbGl6ZS1wYWNrYWdlLWRhdGEtMi41LjAudGd6I2U2NmRiMTgzOGIy MDBjMWRmYzIzMzIyNWQxMmNiMzY1MjBlMjM0YTgiCkBAIC02MTE1LDYgKzYxNDAsMTMgQEAgbm9y bWFsaXplLXVybEBeMy4wLjA6CiAgIHJlc29sdmVkICJodHRwczovL3JlZ2lzdHJ5Lnlhcm5wa2cu Y29tL25vcm1hbGl6ZS11cmwvLS9ub3JtYWxpemUtdXJsLTMuMy4wLnRneiNiMmUxYzRkYzRmN2M2 ZDU3NzQzZGY3MzNhNGY1OTc4ZDE4NjUwNTU5IgogICBpbnRlZ3JpdHkgc2hhNTEyLVUrSkppN2R1 RjFvK3UycHluYnAyelhEVzIvUEFEZ0MzMGYwR3NIWnRSaCtIT2NYSG53MTM3VHJObHl4eFJ2V1c1 ZmpLZDNiY0xIUHhvZld1Q2phZVpnPT0KIAorbnBtLWJ1bmRsZWRAXjEuMC4xOgorICB2ZXJzaW9u ICIxLjEuMSIKKyAgcmVzb2x2ZWQgImh0dHBzOi8vcmVnaXN0cnkueWFybnBrZy5jb20vbnBtLWJ1 bmRsZWQvLS9ucG0tYnVuZGxlZC0xLjEuMS50Z3ojMWVkZDU3MDg2NWE5NGNkYjFiYzgyMjA3NzVl Mjk0NjZjOWZiMjM0YiIKKyAgaW50ZWdyaXR5IHNoYTUxMi1ncWtmZ0dlUGhUcEFFZ1VzR0VnY3Ex cnFQWEErdHYvYVZCbGdFemZYd0ExeWlVSkY3eHRFdDNDdFZ3T2pOWVFPVmtuRGswRjIwdzU4Rm5t M0V0RzBmQT09CisgIGRlcGVuZGVuY2llczoKKyAgICBucG0tbm9ybWFsaXplLXBhY2thZ2UtYmlu ICJeMS4wLjEiCisKIG5wbS1jb25mQF4xLjEuMDoKICAgdmVyc2lvbiAiMS4xLjMiCiAgIHJlc29s dmVkICJodHRwczovL3JlZ2lzdHJ5Lnlhcm5wa2cuY29tL25wbS1jb25mLy0vbnBtLWNvbmYtMS4x LjMudGd6IzI1NmNjNDdiZDBlMjE4YzI1OWM0ZTk1NTBiZjQxM2JjMjE5MmFmZjkiCkBAIC02MTIz LDYgKzYxNTUsMjAgQEAgbnBtLWNvbmZAXjEuMS4wOgogICAgIGNvbmZpZy1jaGFpbiAiXjEuMS4x MSIKICAgICBwaWZ5ICJeMy4wLjAiCiAKK25wbS1ub3JtYWxpemUtcGFja2FnZS1iaW5AXjEuMC4x OgorICB2ZXJzaW9uICIxLjAuMSIKKyAgcmVzb2x2ZWQgImh0dHBzOi8vcmVnaXN0cnkueWFybnBr Zy5jb20vbnBtLW5vcm1hbGl6ZS1wYWNrYWdlLWJpbi8tL25wbS1ub3JtYWxpemUtcGFja2FnZS1i aW4tMS4wLjEudGd6IzZlNzlhNDFmMjNmZDIzNWMwNjIzMjE4MjI4ZGE3ZDljMjNiOGY2ZTIiCisg IGludGVncml0eSBzaGE1MTItRVBmYWZsNkpMNS9yVStvdDZQM2dSU0NwUERXNVZtSXpYOTU5T2Ix K3lTRlV1dVlIV0hla1hwd2RVWmNLUDVDK0RTNEdFdGRKbHV3Qmpuc05EbCtmU0E9PQorCitucG0t cGFja2xpc3RAXjEuMS42OgorICB2ZXJzaW9uICIxLjQuOCIKKyAgcmVzb2x2ZWQgImh0dHBzOi8v cmVnaXN0cnkueWFybnBrZy5jb20vbnBtLXBhY2tsaXN0Ly0vbnBtLXBhY2tsaXN0LTEuNC44LnRn eiM1NmVlNmNjMTM1YjlmOThhZDNkNTFjMWM5NWRhMjJiYmI5YjJlZjNlIgorICBpbnRlZ3JpdHkg c2hhNTEyLTUrQVpnd3J1NUlldkY1WmRuRmdsQjV3TmxIRzFBT091dzI4V2hVcTgvOGVtaEJtTHY2 alg1Ynk0V0pDaDdsVzB1U1laWVM2RFhxSXN5WlZJWFJaVTlBPT0KKyAgZGVwZW5kZW5jaWVzOgor ICAgIGlnbm9yZS13YWxrICJeMy4wLjEiCisgICAgbnBtLWJ1bmRsZWQgIl4xLjAuMSIKKyAgICBu cG0tbm9ybWFsaXplLXBhY2thZ2UtYmluICJeMS4wLjEiCisKIG5wbS1ydW4tcGF0aEBeMi4wLjA6 CiAgIHZlcnNpb24gIjIuMC4yIgogICByZXNvbHZlZCAiaHR0cHM6Ly9yZWdpc3RyeS55YXJucGtn LmNvbS9ucG0tcnVuLXBhdGgvLS9ucG0tcnVuLXBhdGgtMi4wLjIudGd6IzM1YTkyMzJkZmEzNWQ3 MDY3YjRjYjJkZGYyMzU3YjE4NzE1MzZjNWYiCkBAIC02MTMwLDYgKzYxNzYsMTYgQEAgbnBtLXJ1 bi1wYXRoQF4yLjAuMDoKICAgZGVwZW5kZW5jaWVzOgogICAgIHBhdGgta2V5ICJeMi4wLjAiCiAK K25wbWxvZ0BeNC4wLjI6CisgIHZlcnNpb24gIjQuMS4yIgorICByZXNvbHZlZCAiaHR0cHM6Ly9y ZWdpc3RyeS55YXJucGtnLmNvbS9ucG1sb2cvLS9ucG1sb2ctNC4xLjIudGd6IzA4YTdmMmE4YmY3 MzQ2MDQ3NzlhOWVmYTRhZDVjYzcxN2FiYjk1NGIiCisgIGludGVncml0eSBzaGE1MTItMnVVcWF6 dUtsVGFTSS9kQzhBemljVWNrNytJckVhT25OL2UwamQzWHR0MUtjR3B3eDMwdjUwbUw3b1B5ci9o OWJMM0U0YVpjY1Z3cHdQKzVXOVZqa2c9PQorICBkZXBlbmRlbmNpZXM6CisgICAgYXJlLXdlLXRo ZXJlLXlldCAifjEuMS4yIgorICAgIGNvbnNvbGUtY29udHJvbC1zdHJpbmdzICJ+MS4xLjAiCisg ICAgZ2F1Z2UgIn4yLjcuMyIKKyAgICBzZXQtYmxvY2tpbmcgIn4yLjAuMCIKKwogbnRoLWNoZWNr QF4xLjAuMjoKICAgdmVyc2lvbiAiMS4wLjIiCiAgIHJlc29sdmVkICJodHRwczovL3JlZ2lzdHJ5 Lnlhcm5wa2cuY29tL250aC1jaGVjay8tL250aC1jaGVjay0xLjAuMi50Z3ojYjJiZDI5NWMzN2Uz ZGQ1OGEzYmYwNzAwMzc2NjYzYmE0ZDljZjA1YyIKQEAgLTYxNDcsNiArNjIwMywxMSBAQCBudW0y ZnJhY3Rpb25AXjEuMi4yOgogICByZXNvbHZlZCAiaHR0cHM6Ly9yZWdpc3RyeS55YXJucGtnLmNv bS9udW0yZnJhY3Rpb24vLS9udW0yZnJhY3Rpb24tMS4yLjIudGd6IzZmNjgyYjZhMDI3YTRlOWRk ZmE0NTY0Y2QyNTg5ZDFkNGU2NjllZGUiCiAgIGludGVncml0eSBzaGExLWIyZ3JhZ0o2VHAzZnBG Wk0wbGlkSFU1bW50ND0KIAorbnVtYmVyLWlzLW5hbkBeMS4wLjA6CisgIHZlcnNpb24gIjEuMC4x IgorICByZXNvbHZlZCAiaHR0cHM6Ly9yZWdpc3RyeS55YXJucGtnLmNvbS9udW1iZXItaXMtbmFu Ly0vbnVtYmVyLWlzLW5hbi0xLjAuMS50Z3ojMDk3YjYwMmI1MzQyMmE1MjJjMWFmYjg3OTAzMTgz MzY5NDFhMDExZCIKKyAgaW50ZWdyaXR5IHNoYTEtQ1h0Z0sxTkNLbElzR3Z1SGtER0ROcFFhQVIw PQorCiBvYmplY3QtYXNzaWduQF40LjAuMSwgb2JqZWN0LWFzc2lnbkBeNC4xLjAsIG9iamVjdC1h c3NpZ25AXjQuMS4xOgogICB2ZXJzaW9uICI0LjEuMSIKICAgcmVzb2x2ZWQgImh0dHBzOi8vcmVn aXN0cnkueWFybnBrZy5jb20vb2JqZWN0LWFzc2lnbi8tL29iamVjdC1hc3NpZ24tNC4xLjEudGd6 IzIxMDlhZGM3OTY1ODg3Y2ZjMDVjYmJkNDQyY2FjOGJmYmIzNjA4NjMiCkBAIC02MjkzLDYgKzYz NTQsMTEgQEAgb3MtZmlsdGVyLW9iakBeMi4wLjA6CiAgIGRlcGVuZGVuY2llczoKICAgICBhcmNo ICJeMi4xLjAiCiAKK29zLWhvbWVkaXJAXjEuMC4wOgorICB2ZXJzaW9uICIxLjAuMiIKKyAgcmVz b2x2ZWQgImh0dHBzOi8vcmVnaXN0cnkueWFybnBrZy5jb20vb3MtaG9tZWRpci8tL29zLWhvbWVk aXItMS4wLjIudGd6I2ZmYmM0OTg4MzM2ZTBlODMzZGUwYzE2OGM3ZWYxNTIxMjFhYTdmYjMiCisg IGludGVncml0eSBzaGExLS83eEppRE51RG9NOTRNRm94KzhWSVNHcWY3TT0KKwogb3MtbG9jYWxl QF4zLjEuMDoKICAgdmVyc2lvbiAiMy4xLjAiCiAgIHJlc29sdmVkICJodHRwczovL3JlZ2lzdHJ5 Lnlhcm5wa2cuY29tL29zLWxvY2FsZS8tL29zLWxvY2FsZS0zLjEuMC50Z3ojYTgwMmE2ZWUxN2Yy NGMxMDQ4M2FiOTkzNTcxOWNlZjRlZDE2YmYxYSIKQEAgLTYzMDcsMTEgKzYzNzMsMTkgQEAgb3Mt c2hpbUBeMC4xLjM6CiAgIHJlc29sdmVkICJodHRwczovL3JlZ2lzdHJ5Lnlhcm5wa2cuY29tL29z LXNoaW0vLS9vcy1zaGltLTAuMS4zLnRneiM2YjYyYzM3OTFjZjc5MDllYTM1ZWQ0NmUxNzY1OGJi NDE3Y2IzOTE3IgogICBpbnRlZ3JpdHkgc2hhMS1hMkxEZVJ6M2tKNmpYdFJ1RjJXTHRCZkxPUmM9 CiAKLW9zLXRtcGRpckB+MS4wLjI6Citvcy10bXBkaXJAXjEuMC4wLCBvcy10bXBkaXJAfjEuMC4y OgogICB2ZXJzaW9uICIxLjAuMiIKICAgcmVzb2x2ZWQgImh0dHBzOi8vcmVnaXN0cnkueWFybnBr Zy5jb20vb3MtdG1wZGlyLy0vb3MtdG1wZGlyLTEuMC4yLnRneiNiYmU2NzQwNmM3OWFhODVjNWNm ZWM3NjZmZTU3MzQ1NTVkZmExMjc0IgogICBpbnRlZ3JpdHkgc2hhMS11K1owQnNlYXFGeGMvc2Rt L2xjMFZWMzZFblE9CiAKK29zZW52QF4wLjEuNDoKKyAgdmVyc2lvbiAiMC4xLjUiCisgIHJlc29s dmVkICJodHRwczovL3JlZ2lzdHJ5Lnlhcm5wa2cuY29tL29zZW52Ly0vb3NlbnYtMC4xLjUudGd6 Izg1Y2RmYWZhZWIyOGU4Njc3ZjQxNmUyODc1OTJiNWYzZjQ5ZWE0MTAiCisgIGludGVncml0eSBz aGE1MTItMENXY0NFQ2RNVmMyUnczVTV3OVpqcVg2Z2E2dWJrMXhEVkt4dEJRUEs3d2lzLzBGMnI5 VDZrNHlkR1loZWNsN1lVQnhCVnhoTDVvaXNQc054QVBlMmc9PQorICBkZXBlbmRlbmNpZXM6Cisg ICAgb3MtaG9tZWRpciAiXjEuMC4wIgorICAgIG9zLXRtcGRpciAiXjEuMC4wIgorCiBvdXRwaXBl QF4xLjEuMDoKICAgdmVyc2lvbiAiMS4xLjEiCiAgIHJlc29sdmVkICJodHRwczovL3JlZ2lzdHJ5 Lnlhcm5wa2cuY29tL291dHBpcGUvLS9vdXRwaXBlLTEuMS4xLnRneiM1MGNmODYxNjM2NWU4N2Uw MzFlMjlhNWVjOTMzOWEzZGE0NzI1ZmEyIgpAQCAtNzIxOCw2ICs3MjkyLDE2IEBAIHJhdy1sb2Fk ZXJAXjEuMC4wOgogICAgIGxvYWRlci11dGlscyAiXjEuMS4wIgogICAgIHNjaGVtYS11dGlscyAi XjEuMC4wIgogCityY0BeMS4yLjc6CisgIHZlcnNpb24gIjEuMi44IgorICByZXNvbHZlZCAiaHR0 cHM6Ly9yZWdpc3RyeS55YXJucGtnLmNvbS9yYy8tL3JjLTEuMi44LnRneiNjZDkyNGJmNTIwMGEw NzViODNjMTg4Y2Q2YjllMjExYjdmYzBkM2VkIgorICBpbnRlZ3JpdHkgc2hhNTEyLXkzYkdncUtq M1FCZHhMYkxrb21sb2hrdnNBOGdkQWlVUWxTQkpuQmhmbitCUHhnNGJjNjJkOFRjQlcxNXdhdkRm Z2V4Q2djY2NraGNadnl3eVFZUE93PT0KKyAgZGVwZW5kZW5jaWVzOgorICAgIGRlZXAtZXh0ZW5k ICJeMC42LjAiCisgICAgaW5pICJ+MS4zLjAiCisgICAgbWluaW1pc3QgIl4xLjIuMCIKKyAgICBz dHJpcC1qc29uLWNvbW1lbnRzICJ+Mi4wLjEiCisKIHJlYWQtb25seS1zdHJlYW1AXjIuMC4wOgog ICB2ZXJzaW9uICIyLjAuMCIKICAgcmVzb2x2ZWQgImh0dHBzOi8vcmVnaXN0cnkueWFybnBrZy5j b20vcmVhZC1vbmx5LXN0cmVhbS8tL3JlYWQtb25seS1zdHJlYW0tMi4wLjAudGd6IzI3MjRmZDZh ODExM2Q3Mzc2NGFjMjg4ZDQzODYyNzBjMWRiZjE3ZjAiCkBAIC03MjQyLDcgKzczMjYsNyBAQCBy ZWFkLXBrZ0BeMS4wLjA6CiAgICAgbm9ybWFsaXplLXBhY2thZ2UtZGF0YSAiXjIuMy4yIgogICAg IHBhdGgtdHlwZSAiXjEuMC4wIgogCi0icmVhZGFibGUtc3RyZWFtQDEgfHwgMiIsIHJlYWRhYmxl LXN0cmVhbUBeMi4wLjAsIHJlYWRhYmxlLXN0cmVhbUBeMi4wLjEsIHJlYWRhYmxlLXN0cmVhbUBe Mi4wLjIsIHJlYWRhYmxlLXN0cmVhbUBeMi4xLjUsIHJlYWRhYmxlLXN0cmVhbUBeMi4yLjIsIHJl YWRhYmxlLXN0cmVhbUBeMi4zLjAsIHJlYWRhYmxlLXN0cmVhbUBeMi4zLjMsIHJlYWRhYmxlLXN0 cmVhbUBeMi4zLjUsIHJlYWRhYmxlLXN0cmVhbUBeMi4zLjYsIHJlYWRhYmxlLXN0cmVhbUB+Mi4z LjY6CisicmVhZGFibGUtc3RyZWFtQDEgfHwgMiIsIHJlYWRhYmxlLXN0cmVhbUBeMi4wLjAsIHJl YWRhYmxlLXN0cmVhbUBeMi4wLjEsIHJlYWRhYmxlLXN0cmVhbUBeMi4wLjIsIHJlYWRhYmxlLXN0 cmVhbUBeMi4wLjYsIHJlYWRhYmxlLXN0cmVhbUBeMi4xLjUsIHJlYWRhYmxlLXN0cmVhbUBeMi4y LjIsIHJlYWRhYmxlLXN0cmVhbUBeMi4zLjAsIHJlYWRhYmxlLXN0cmVhbUBeMi4zLjMsIHJlYWRh YmxlLXN0cmVhbUBeMi4zLjUsIHJlYWRhYmxlLXN0cmVhbUBeMi4zLjYsIHJlYWRhYmxlLXN0cmVh bUB+Mi4zLjY6CiAgIHZlcnNpb24gIjIuMy43IgogICByZXNvbHZlZCAiaHR0cHM6Ly9yZWdpc3Ry eS55YXJucGtnLmNvbS9yZWFkYWJsZS1zdHJlYW0vLS9yZWFkYWJsZS1zdHJlYW0tMi4zLjcudGd6 IzFlY2ExY2Y3MTFhZWY4MTRjMDRmNjIyNTJhMzZhNjJmNmNiMjNiNTciCiAgIGludGVncml0eSBz aGE1MTItRWJobzhLNGpJYkhBeG51eGk3bzQyT3JaZ0YvWlROY3NaajZuUkt5VW1raExGcThDSEl0 cC9meTZoUVp1Wm1QL24zeVo5VkJVYnA0enovbVg4aG1ZUHc9PQpAQCAtNzI2NSwxNSArNzM0OSw2 IEBAIHJlYWRhYmxlLXN0cmVhbUBeMS4wLjMzOgogICAgIGlzYXJyYXkgIjAuMC4xIgogICAgIHN0 cmluZ19kZWNvZGVyICJ+MC4xMC54IgogCi1yZWFkYWJsZS1zdHJlYW1AXjMuMC42OgotICB2ZXJz aW9uICIzLjYuMCIKLSAgcmVzb2x2ZWQgImh0dHBzOi8vcmVnaXN0cnkueWFybnBrZy5jb20vcmVh ZGFibGUtc3RyZWFtLy0vcmVhZGFibGUtc3RyZWFtLTMuNi4wLnRneiMzMzdiYmRhM2FkYzA3MDZi ZDNlMDI0NDI2YTI4NmQ0YjRiMmM5MTk4IgotICBpbnRlZ3JpdHkgc2hhNTEyLUJWaUh5N0xLZVR6 NG9ObmtjTEorbFZTTDZ2cGlGZVg2L2Qzb1NIOHpDVzdVeFAyb25jaGsrdlRHQjE0M3h1RmpIUzNk ZVRna0tvWFh5bVhxeW1pSWRBPT0KLSAgZGVwZW5kZW5jaWVzOgotICAgIGluaGVyaXRzICJeMi4w LjMiCi0gICAgc3RyaW5nX2RlY29kZXIgIl4xLjEuMSIKLSAgICB1dGlsLWRlcHJlY2F0ZSAiXjEu MC4xIgotCiByZWFkZGlycEBeMi4yLjE6CiAgIHZlcnNpb24gIjIuMi4xIgogICByZXNvbHZlZCAi aHR0cHM6Ly9yZWdpc3RyeS55YXJucGtnLmNvbS9yZWFkZGlycC8tL3JlYWRkaXJwLTIuMi4xLnRn eiMwZTg3NjIyYTMzMjVhYTMzZTg5MjI4NWNhZjhiNGU4NDY1MjlhNTI1IgpAQCAtNzUyNiw3ICs3 NjAxLDcgQEAgcmltcmFmQDIuNi4zOgogICBkZXBlbmRlbmNpZXM6CiAgICAgZ2xvYiAiXjcuMS4z IgogCi1yaW1yYWZAXjIuNS40LCByaW1yYWZAXjIuNi4wLCByaW1yYWZAXjIuNi4zLCByaW1yYWZA XjIuNy4xOgorcmltcmFmQF4yLjUuNCwgcmltcmFmQF4yLjYuMCwgcmltcmFmQF4yLjYuMSwgcmlt cmFmQF4yLjYuMywgcmltcmFmQF4yLjcuMToKICAgdmVyc2lvbiAiMi43LjEiCiAgIHJlc29sdmVk ICJodHRwczovL3JlZ2lzdHJ5Lnlhcm5wa2cuY29tL3JpbXJhZi8tL3JpbXJhZi0yLjcuMS50Z3oj MzU3OTdmMTNhN2ZkYWRjNTY2MTQyYzI5ZDRmMDdjY2FkNDgzZTNlYyIKICAgaW50ZWdyaXR5IHNo YTUxMi11V2piYUtJSzNUMU9TVnB0elg3Tmw2UHZRM3FBR3RLRXRWUmpSdWF6amZMM0J4NWVJNDA5 VlpTcWdORCs0VU5ubXpMVmRQajlGcUZKTlBxQlpGdmU0dz09CkBAIC03NTgwLDEyICs3NjU1LDEy IEBAIHJ4anNAXjYuNC4wOgogICBkZXBlbmRlbmNpZXM6CiAgICAgdHNsaWIgIl4xLjkuMCIKIAot c2FmZS1idWZmZXJANS4xLjIsIHNhZmUtYnVmZmVyQH41LjEuMCwgc2FmZS1idWZmZXJAfjUuMS4x Ogorc2FmZS1idWZmZXJANS4xLjIsIHNhZmUtYnVmZmVyQF41LjEuMiwgc2FmZS1idWZmZXJAfjUu MS4wLCBzYWZlLWJ1ZmZlckB+NS4xLjE6CiAgIHZlcnNpb24gIjUuMS4yIgogICByZXNvbHZlZCAi aHR0cHM6Ly9yZWdpc3RyeS55YXJucGtnLmNvbS9zYWZlLWJ1ZmZlci8tL3NhZmUtYnVmZmVyLTUu MS4yLnRneiM5OTFlYzY5ZDI5NmUwMzEzNzQ3ZDU5YmRmZDJiNzQ1YzM1Zjg4MjhkIgogICBpbnRl Z3JpdHkgc2hhNTEyLUdkMlVaQkpEa1hsWTdHYkp4ZnNFOC9udktrVUVVMUczOGMxc2lONlFQNmE5 UFQ5TW1IQjhHbnBzY1NtTUpTb0Y4TE9JcnQ4dWQvd1B0b2p5czRHNitnPT0KIAotc2FmZS1idWZm ZXJAXjUuMC4xLCBzYWZlLWJ1ZmZlckBeNS4xLjAsIHNhZmUtYnVmZmVyQF41LjEuMSwgc2FmZS1i dWZmZXJAXjUuMS4yLCBzYWZlLWJ1ZmZlckB+NS4yLjA6CitzYWZlLWJ1ZmZlckBeNS4wLjEsIHNh ZmUtYnVmZmVyQF41LjEuMCwgc2FmZS1idWZmZXJAXjUuMS4xLCBzYWZlLWJ1ZmZlckB+NS4yLjA6 CiAgIHZlcnNpb24gIjUuMi4wIgogICByZXNvbHZlZCAiaHR0cHM6Ly9yZWdpc3RyeS55YXJucGtn LmNvbS9zYWZlLWJ1ZmZlci8tL3NhZmUtYnVmZmVyLTUuMi4wLnRneiNiNzRkYWVjNDliMTE0OGY4 OGM2NGI2OGQ0OWIxZTgxNWMxZjJmNTE5IgogICBpbnRlZ3JpdHkgc2hhNTEyLWZaRXdVR2JWbDdr b3VaczFqQ2RNTGR0OTVoZEl2MFplSGc2TDdxUGVjaU1aaForL2dkZXNXNHdnVEFSa3JGV0Vwc3Bq RUFUQXpVR1BHOE4yakppd2JnPT0KQEAgLTc3MjUsNyArNzgwMCw3IEBAIHNlcnZlLXN0YXRpY0Ax LjE0LjE6CiAgICAgcGFyc2V1cmwgIn4xLjMuMyIKICAgICBzZW5kICIwLjE3LjEiCiAKLXNldC1i bG9ja2luZ0BeMi4wLjA6CitzZXQtYmxvY2tpbmdAXjIuMC4wLCBzZXQtYmxvY2tpbmdAfjIuMC4w OgogICB2ZXJzaW9uICIyLjAuMCIKICAgcmVzb2x2ZWQgImh0dHBzOi8vcmVnaXN0cnkueWFybnBr Zy5jb20vc2V0LWJsb2NraW5nLy0vc2V0LWJsb2NraW5nLTIuMC4wLnRneiMwNDVmOTc4MmQwMTFh ZTlhNjgwM2RkZDM4MmIyNDM5MmIzZDg5MGY3IgogICBpbnRlZ3JpdHkgc2hhMS1CRitYZ3RBUnJw cG9BOTNUZ3JKRGtyUFlrUGM9CkBAIC04MTI4LDE2ICs4MjAzLDYgQEAgc3RyZWFtLWh0dHBAXjIu MC4wLCBzdHJlYW0taHR0cEBeMi43LjI6CiAgICAgdG8tYXJyYXlidWZmZXIgIl4xLjAuMCIKICAg ICB4dGVuZCAiXjQuMC4wIgogCi1zdHJlYW0taHR0cEBeMy4wLjA6Ci0gIHZlcnNpb24gIjMuMS4w IgotICByZXNvbHZlZCAiaHR0cHM6Ly9yZWdpc3RyeS55YXJucGtnLmNvbS9zdHJlYW0taHR0cC8t L3N0cmVhbS1odHRwLTMuMS4wLnRneiMyMmZiMzNmZTliNDA1NmI0ZWNjZjU4YmQ4ZjQwMGM0Yjk5 M2ZmZTU3IgotICBpbnRlZ3JpdHkgc2hhNTEyLWN1QjZSZ083QnFDNEZCWXptbnZob2I1RG8zd0lk SXNYQWdHeWNISm5XKzk4MWdIcW9ZY1l6OWxxakpyazhXWFJkZGJ3UHVxUFlSbCtiYWc2bVl2NGx3 PT0KLSAgZGVwZW5kZW5jaWVzOgotICAgIGJ1aWx0aW4tc3RhdHVzLWNvZGVzICJeMy4wLjAiCi0g ICAgaW5oZXJpdHMgIl4yLjAuMSIKLSAgICByZWFkYWJsZS1zdHJlYW0gIl4zLjAuNiIKLSAgICB4 dGVuZCAiXjQuMC4wIgotCiBzdHJlYW0tc2hpZnRAXjEuMC4wOgogICB2ZXJzaW9uICIxLjAuMSIK ICAgcmVzb2x2ZWQgImh0dHBzOi8vcmVnaXN0cnkueWFybnBrZy5jb20vc3RyZWFtLXNoaWZ0Ly0v c3RyZWFtLXNoaWZ0LTEuMC4xLnRneiNkNzA4ODI4MTU1OWFiMjc3ODQyNDI3OWIwODc3ZGEzYzM5 MmQ1YTNkIgpAQCAtODE2Nyw2ICs4MjMyLDE1IEBAIHN0cmljdC11cmktZW5jb2RlQF4xLjAuMDoK ICAgcmVzb2x2ZWQgImh0dHBzOi8vcmVnaXN0cnkueWFybnBrZy5jb20vc3RyaWN0LXVyaS1lbmNv ZGUvLS9zdHJpY3QtdXJpLWVuY29kZS0xLjEuMC50Z3ojMjc5YjIyNWRmMWQ1ODJiMWY1NGU2NWFk ZGQ0MzUyZTE4ZmFhMDcxMyIKICAgaW50ZWdyaXR5IHNoYTEtSjVzaVhmSFZnckgxVG1XdDNVTlM0 WStxQnhNPQogCitzdHJpbmctd2lkdGhAXjEuMC4xLCAic3RyaW5nLXdpZHRoQF4xLjAuMiB8fCAy IjoKKyAgdmVyc2lvbiAiMS4wLjIiCisgIHJlc29sdmVkICJodHRwczovL3JlZ2lzdHJ5Lnlhcm5w a2cuY29tL3N0cmluZy13aWR0aC8tL3N0cmluZy13aWR0aC0xLjAuMi50Z3ojMTE4YmRmNWI4Y2Rj NTFhMmE3ZTcwZDIxMWUwN2UyYjBiOWIxMDdkMyIKKyAgaW50ZWdyaXR5IHNoYTEtRVl2Zlc0emNV YUtuNXcwaEhnZmlzTG14QjlNPQorICBkZXBlbmRlbmNpZXM6CisgICAgY29kZS1wb2ludC1hdCAi XjEuMC4wIgorICAgIGlzLWZ1bGx3aWR0aC1jb2RlLXBvaW50ICJeMS4wLjAiCisgICAgc3RyaXAt YW5zaSAiXjMuMC4wIgorCiBzdHJpbmctd2lkdGhAXjIuMS4wOgogICB2ZXJzaW9uICIyLjEuMSIK ICAgcmVzb2x2ZWQgImh0dHBzOi8vcmVnaXN0cnkueWFybnBrZy5jb20vc3RyaW5nLXdpZHRoLy0v c3RyaW5nLXdpZHRoLTIuMS4xLnRneiNhYjkzZjI3YThkYzEzZDI4Y2FjODE1YzQ2MjE0M2E2ZDkw MTJhZTllIgpAQCAtODE5NSw5ICs4MjY5LDkgQEAgc3RyaW5nLnByb3RvdHlwZS5jb2RlcG9pbnRh dEBeMC4yLjA6CiAgIGludGVncml0eSBzaGE1MTItMmNCVkNqNkk0SU92RW5qZ08vaFdxWGpxQkdz WSt6d1BtSGwxMlNyazlJWFNaNTZKd3dteSs2NlhPNUl1dC9vUVZSN3Q1aWhZZExCMEdNYTRhbEVV Y2c9PQogCiBzdHJpbmcucHJvdG90eXBlLnRyaW1lbmRAXjEuMC4wOgotICB2ZXJzaW9uICIxLjAu MCIKLSAgcmVzb2x2ZWQgImh0dHBzOi8vcmVnaXN0cnkueWFybnBrZy5jb20vc3RyaW5nLnByb3Rv dHlwZS50cmltZW5kLy0vc3RyaW5nLnByb3RvdHlwZS50cmltZW5kLTEuMC4wLnRneiNlZTQ5N2Zk Mjk3Njg2NDZkODRiZTJjOWI4MTllMjkyNDM5NjE0MzczIgotICBpbnRlZ3JpdHkgc2hhNTEyLUVF Sm5HcWEveE5mSWcwNVN4aVBTcVJTN1M5cXdEaFl0czFUU0xSMUJRZllVZlBlMXN0b2ZnR0t2d0VS SzkrOXlmK1BwZkJNbHBCYUNIdWNYR1BRZlVBPT0KKyAgdmVyc2lvbiAiMS4wLjEiCisgIHJlc29s dmVkICJodHRwczovL3JlZ2lzdHJ5Lnlhcm5wa2cuY29tL3N0cmluZy5wcm90b3R5cGUudHJpbWVu ZC8tL3N0cmluZy5wcm90b3R5cGUudHJpbWVuZC0xLjAuMS50Z3ojODU4MTJhNmI4NDdhYzAwMjI3 MGY1ODA4MTQ2MDY0Yzk5NWZiNjkxMyIKKyAgaW50ZWdyaXR5IHNoYTUxMi1MUlB4RlVhVHRwcVlz VGVOS2FGT3czUjRieEl6V09uYlE4MzdRZkJ5bG84akl4dGNiSy9BL3NNVjdRK09BVi92V28rN3My NXBPRTEwS1lTamFTTzA2Zz09CiAgIGRlcGVuZGVuY2llczoKICAgICBkZWZpbmUtcHJvcGVydGll cyAiXjEuMS4zIgogICAgIGVzLWFic3RyYWN0ICJeMS4xNy41IgpAQCAtODIyMSw5ICs4Mjk1LDkg QEAgc3RyaW5nLnByb3RvdHlwZS50cmltcmlnaHRAXjIuMS4xOgogICAgIHN0cmluZy5wcm90b3R5 cGUudHJpbWVuZCAiXjEuMC4wIgogCiBzdHJpbmcucHJvdG90eXBlLnRyaW1zdGFydEBeMS4wLjA6 Ci0gIHZlcnNpb24gIjEuMC4wIgotICByZXNvbHZlZCAiaHR0cHM6Ly9yZWdpc3RyeS55YXJucGtn LmNvbS9zdHJpbmcucHJvdG90eXBlLnRyaW1zdGFydC8tL3N0cmluZy5wcm90b3R5cGUudHJpbXN0 YXJ0LTEuMC4wLnRneiNhZmU1OTZhN2NlOWRlOTA1NDk2OTE5NDA2Yzk3MzQ4NDVmMDFhMmYyIgot ICBpbnRlZ3JpdHkgc2hhNTEyLWlDUDhnMDFORllpaUJPbndHMVhjM1daTHlvbytSdUJ5bXdJbFdu Y1NoWERESllXTjZEYm5NM29kc2xCSmRnQ2RSbHE5NEI1czYzTldBWmxjbjJDUzR3PT0KKyAgdmVy c2lvbiAiMS4wLjEiCisgIHJlc29sdmVkICJodHRwczovL3JlZ2lzdHJ5Lnlhcm5wa2cuY29tL3N0 cmluZy5wcm90b3R5cGUudHJpbXN0YXJ0Ly0vc3RyaW5nLnByb3RvdHlwZS50cmltc3RhcnQtMS4w LjEudGd6IzE0YWY2ZDlmMzRiMDUzZjdjZmM4OWI3MmY4ZjJlZTE0YjkwMzlhNTQiCisgIGludGVn cml0eSBzaGE1MTItWHhabitRcHZyQkkxRk9jZzZkSXB4VVBnV0NQdU5Ydk1ENzJhYVJhVVF2MWVE NGUvUXk4aS9oRlRlMEJVbUQ2MHAvUUE2YmgxYXZtdVBUZk5qcVZXUnc9PQogICBkZXBlbmRlbmNp ZXM6CiAgICAgZGVmaW5lLXByb3BlcnRpZXMgIl4xLjEuMyIKICAgICBlcy1hYnN0cmFjdCAiXjEu MTcuNSIKQEAgLTgyNDcsNyArODMyMSw3IEBAIHN0cmluZ19kZWNvZGVyQH4xLjEuMToKICAgZGVw ZW5kZW5jaWVzOgogICAgIHNhZmUtYnVmZmVyICJ+NS4xLjAiCiAKLXN0cmlwLWFuc2lAXjMuMC4w Ogorc3RyaXAtYW5zaUBeMy4wLjAsIHN0cmlwLWFuc2lAXjMuMC4xOgogICB2ZXJzaW9uICIzLjAu MSIKICAgcmVzb2x2ZWQgImh0dHBzOi8vcmVnaXN0cnkueWFybnBrZy5jb20vc3RyaXAtYW5zaS8t L3N0cmlwLWFuc2ktMy4wLjEudGd6IzZhMzg1ZmI4ODUzZDk1MmQ1ZmYwNWQwZThhYWY5NDI3OGRj NjNkY2YiCiAgIGludGVncml0eSBzaGExLWFqaGZ1SVU5bFMxZjhGME9pcStVSjQzR1BjOD0KQEAg LTgyOTQsNyArODM2OCw3IEBAIHN0cmlwLWluZGVudEBeMS4wLjE6CiAgIGRlcGVuZGVuY2llczoK ICAgICBnZXQtc3RkaW4gIl40LjAuMSIKIAotc3RyaXAtanNvbi1jb21tZW50c0BeMi4wLjE6Citz dHJpcC1qc29uLWNvbW1lbnRzQF4yLjAuMSwgc3RyaXAtanNvbi1jb21tZW50c0B+Mi4wLjE6CiAg IHZlcnNpb24gIjIuMC4xIgogICByZXNvbHZlZCAiaHR0cHM6Ly9yZWdpc3RyeS55YXJucGtnLmNv bS9zdHJpcC1qc29uLWNvbW1lbnRzLy0vc3RyaXAtanNvbi1jb21tZW50cy0yLjAuMS50Z3ojM2M1 MzE5NDJlOTA4YzI2OTdjMGVjMzQ0ODU4YzI4NmM3Y2EwYTYwYSIKICAgaW50ZWdyaXR5IHNoYTEt UEZNWlF1a0l3bWw4RHNORWhZd29iSHlncGdvPQpAQCAtODQ1Nyw2ICs4NTMxLDE5IEBAIHRhci1z dHJlYW1AXjEuNS4yOgogICAgIHRvLWJ1ZmZlciAiXjEuMS4xIgogICAgIHh0ZW5kICJeNC4wLjAi CiAKK3RhckBeNC40LjI6CisgIHZlcnNpb24gIjQuNC4xMyIKKyAgcmVzb2x2ZWQgImh0dHBzOi8v cmVnaXN0cnkueWFybnBrZy5jb20vdGFyLy0vdGFyLTQuNC4xMy50Z3ojNDNiMzY0YmM1Mjg4OGQ1 NTUyOTg2MzdiMTBkNjA3OTAyNTRhYjUyNSIKKyAgaW50ZWdyaXR5IHNoYTUxMi13MlZ3U3JCb0hh NUJzU3lIK0t4RXFlUUJBbGxIaGNjeU1GVkh0R3RkTXBGNFc3SVJXZlpqRmlRY2VKUENoT2VUc1NE VlVwRVIyVDhGQTkzcHIwTCtRQT09CisgIGRlcGVuZGVuY2llczoKKyAgICBjaG93bnIgIl4xLjEu MSIKKyAgICBmcy1taW5pcGFzcyAiXjEuMi41IgorICAgIG1pbmlwYXNzICJeMi44LjYiCisgICAg bWluaXpsaWIgIl4xLjIuMSIKKyAgICBta2RpcnAgIl4wLjUuMCIKKyAgICBzYWZlLWJ1ZmZlciAi XjUuMS4yIgorICAgIHlhbGxpc3QgIl4zLjAuMyIKKwogdGVtcC1kaXJAXjEuMC4wOgogICB2ZXJz aW9uICIxLjAuMCIKICAgcmVzb2x2ZWQgImh0dHBzOi8vcmVnaXN0cnkueWFybnBrZy5jb20vdGVt cC1kaXIvLS90ZW1wLWRpci0xLjAuMC50Z3ojMGE3YzBlYTI2ZDNhMzlhZmE3ZTBlYmVhOWMxZmMw YmM0ZGFhMDExZCIKQEAgLTg1MjEsOSArODYwOCw5IEBAIHRlcnNlci13ZWJwYWNrLXBsdWdpbkBe Mi4yLjI6CiAgICAgd2VicGFjay1zb3VyY2VzICJeMS40LjMiCiAKIHRlcnNlckBeNC4xLjIsIHRl cnNlckBeNC40LjMsIHRlcnNlckBeNC42LjI6Ci0gIHZlcnNpb24gIjQuNi4xMCIKLSAgcmVzb2x2 ZWQgImh0dHBzOi8vcmVnaXN0cnkueWFybnBrZy5jb20vdGVyc2VyLy0vdGVyc2VyLTQuNi4xMC50 Z3ojOTBmNWJkMDY5ZmY0NTZkZGJjOTUwM2IxOGU1MmY5YzQ5M2QzYjdjMiIKLSAgaW50ZWdyaXR5 IHNoYTUxMi1xYkYvM1VPbzExSGdnc2JzcW0yaFBhNitMNHc3YmtyKzA5Rk5zZUVlOHhyY1ZEM0FQ R0xGcUUrT3oxWktBeGpZbkZzajgwckxPZmdBdEowTE5KanRUQT09CisgIHZlcnNpb24gIjQuNi4x MSIKKyAgcmVzb2x2ZWQgImh0dHBzOi8vcmVnaXN0cnkueWFybnBrZy5jb20vdGVyc2VyLy0vdGVy c2VyLTQuNi4xMS50Z3ojMTJmZjk5ZmRkNjJhMjZkZTJhODJmNTA4NTE1NDA3ZWI2Y2NkOGE5ZiIK KyAgaW50ZWdyaXR5IHNoYTUxMi03NllubTdPWFVHNXhoT3BibGh5dEU3WDU4b2VOU21DOHhuTmhq V1ZvOENrc0hpdDBVMGtPNGhmTmJQcnJZd293TFdGZ00ybjlMMTc2Vk54MlFhSG10QT09CiAgIGRl cGVuZGVuY2llczoKICAgICBjb21tYW5kZXIgIl4yLjIwLjAiCiAgICAgc291cmNlLW1hcCAifjAu Ni4xIgpAQCAtODcyNCw5ICs4ODExLDkgQEAgdW1kQF4zLjAuMDoKICAgaW50ZWdyaXR5IHNoYTUx Mi00SWNHU3VmaEZzaHZMTmNNQ1Y4MFVuUVZsWjVwTU9DOG12TlBGb3Jxd0E0K2x6WVF1ZXRURVNM RFFrZUxtaWhxOGJSY25wYlFhNDhXYjhMaDE2L3hvdz09CiAKIHVuYnppcDItc3RyZWFtQF4xLjAu OToKLSAgdmVyc2lvbiAiMS40LjAiCi0gIHJlc29sdmVkICJodHRwczovL3JlZ2lzdHJ5Lnlhcm5w a2cuY29tL3VuYnppcDItc3RyZWFtLy0vdW5iemlwMi1zdHJlYW0tMS40LjAudGd6IzA5N2NhN2Ix OGI1YjcxZTZjOGJjOGU1MTRhMGYxODg0YTEyZDZlYjEiCi0gIGludGVncml0eSBzaGE1MTIta1Z4 N0NEQXNkQlNXVmY0MDRNdzdvSTlpMDl3NS9tVFQvUnVrK1JXYTY0UExZS3ZzQXVjTExGSHZRdG52 amVBRE00Wml6eHJ2RzVTSG5GNFRlNFQyQ2c9PQorICB2ZXJzaW9uICIxLjQuMSIKKyAgcmVzb2x2 ZWQgImh0dHBzOi8vcmVnaXN0cnkueWFybnBrZy5jb20vdW5iemlwMi1zdHJlYW0vLS91bmJ6aXAy LXN0cmVhbS0xLjQuMS50Z3ojMTUxYjEwNGFmODUzZGYzZWZkYWExMzVkOGIxZWNhODUwYTQ0YjQy NiIKKyAgaW50ZWdyaXR5IHNoYTUxMi1zZ0RZZlNEUE1zQTRIcjIvdzd2T2xySkJsd3pteWFrazEr aFc4T2JMdnhTcDBMQTM2TGNMMlhJdEd2T1QzT1NibG9oU2Rldk11VDhGUWpMc3F5eTRzQT09CiAg IGRlcGVuZGVuY2llczoKICAgICBidWZmZXIgIl41LjIuMSIKICAgICB0aHJvdWdoICJeMi4zLjgi CkBAIC04ODkzLDcgKzg5ODAsNyBAQCB1c2VyYWdlbnRAMi4zLjA6CiAgICAgbHJ1LWNhY2hlICI0 LjEueCIKICAgICB0bXAgIjAuMC54IgogCi11dGlsLWRlcHJlY2F0ZUBeMS4wLjEsIHV0aWwtZGVw cmVjYXRlQH4xLjAuMToKK3V0aWwtZGVwcmVjYXRlQH4xLjAuMToKICAgdmVyc2lvbiAiMS4wLjIi CiAgIHJlc29sdmVkICJodHRwczovL3JlZ2lzdHJ5Lnlhcm5wa2cuY29tL3V0aWwtZGVwcmVjYXRl Ly0vdXRpbC1kZXByZWNhdGUtMS4wLjIudGd6IzQ1MGQ0ZGM5ZmE3MGRlNzMyNzYyZmJkMmQ0YTI4 OTgxNDE5YTBjY2YiCiAgIGludGVncml0eSBzaGExLVJRMU55ZnB3M25Nbll2dlMxS0tKZ1VHYURN OD0KQEAgLTkxMjcsNiArOTIxNCwxMyBAQCB3aGljaEBeMS4yLjEsIHdoaWNoQF4xLjIuMTQsIHdo aWNoQF4xLjIuOSwgd2hpY2hAXjEuMy4xOgogICBkZXBlbmRlbmNpZXM6CiAgICAgaXNleGUgIl4y LjAuMCIKIAord2lkZS1hbGlnbkBeMS4xLjA6CisgIHZlcnNpb24gIjEuMS4zIgorICByZXNvbHZl ZCAiaHR0cHM6Ly9yZWdpc3RyeS55YXJucGtnLmNvbS93aWRlLWFsaWduLy0vd2lkZS1hbGlnbi0x LjEuMy50Z3ojYWUwNzRlNmJkYzBjMTRhNDMxZTgwNGU2MjQ1NDljNjMzYjAwMDQ1NyIKKyAgaW50 ZWdyaXR5IHNoYTUxMi1RR2tPUWM4WEw2QnQ1UHduc0V4S0JQdU1LQnhuR3hXV1czZlU1NVh0NGZl SG96TVVoZFVNYUJDazI5MHFwbS93RzV1L1JTS3p3ZEFDNGk1MVlpZ2loQT09CisgIGRlcGVuZGVu Y2llczoKKyAgICBzdHJpbmctd2lkdGggIl4xLjAuMiB8fCAyIgorCiB3a3hAXjAuNC42OgogICB2 ZXJzaW9uICIwLjQuOCIKICAgcmVzb2x2ZWQgImh0dHBzOi8vcmVnaXN0cnkueWFybnBrZy5jb20v d2t4Ly0vd2t4LTAuNC44LnRneiNhMDkyY2YwODhkMTEyNjgzZmRjNzE4MmZkMzE0OTNiMmM1ODIw MDAzIgpAQCAtOTIxMyw3ICs5MzA3LDcgQEAgeWFsbGlzdEBeMi4xLjI6CiAgIHJlc29sdmVkICJo dHRwczovL3JlZ2lzdHJ5Lnlhcm5wa2cuY29tL3lhbGxpc3QvLS95YWxsaXN0LTIuMS4yLnRneiMx YzExZjkyMThmMDc2MDg5YTQ3ZGQ1MTJmOTNjNjY5OWE2YTgxZDUyIgogICBpbnRlZ3JpdHkgc2hh MS1IQkg1SVk4SFlJbWtmZFVTK1R4bW1hYW9IVkk9CiAKLXlhbGxpc3RAXjMuMC4yOgoreWFsbGlz dEBeMy4wLjAsIHlhbGxpc3RAXjMuMC4yLCB5YWxsaXN0QF4zLjAuMzoKICAgdmVyc2lvbiAiMy4x LjEiCiAgIHJlc29sdmVkICJodHRwczovL3JlZ2lzdHJ5Lnlhcm5wa2cuY29tL3lhbGxpc3QvLS95 YWxsaXN0LTMuMS4xLnRneiNkYmI3ZGFmOWJmZDhiYWM5YWI0NWViZjYwMmI4Y2JhZDBkNWQwOGZk IgogICBpbnRlZ3JpdHkgc2hhNTEyLWE0VUdRYVdQSDU5bU9YVVluQUcyZXduY1FTNGk0RjQzVHYz Sm9BTStzMlZEQW1TOU5zSzhHcERNTHJDSFBrc0ZUN2gzSzZUT29VTm4ycGI3Um9YeDRnPT0K --000000000000aaca0a05a4d0665f--