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 1l0PCI-0004Wp-F1 for pgadmin-hackers@arkaria.postgresql.org; Fri, 15 Jan 2021 13:31:27 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.92) (envelope-from ) id 1l0PCH-0004SP-C9 for pgadmin-hackers@arkaria.postgresql.org; Fri, 15 Jan 2021 13:31:25 +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 1l0PCG-0004SB-28 for pgadmin-hackers@lists.postgresql.org; Fri, 15 Jan 2021 13:31:25 +0000 Received: from mail-lf1-x132.google.com ([2a00:1450:4864:20::132]) by makus.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92) (envelope-from ) id 1l0PC9-0007tS-Nq for pgadmin-hackers@postgresql.org; Fri, 15 Jan 2021 13:31:23 +0000 Received: by mail-lf1-x132.google.com with SMTP id v67so13150107lfa.0 for ; Fri, 15 Jan 2021 05:31:17 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=enterprisedb-com.20150623.gappssmtp.com; s=20150623; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=C/2xp2AZ3HuyBAV86GeZLKl1z4Lb4lCX6H4IxUQsb8g=; b=md4vgFtPqMqxbOKDTEJvUBMzXA93favNX3TnAlwmLuld2gswHgeGqDYQvWwqYMazGA De39eo7IJJPtV6OaRBQEwU2aI+jYH62a6HsDO6t+DYBENcSJucMSdozvPMCh+tHRaLl4 eBb6oDmRYuABje3chtOOckVfWLQcUsd3PX1uFlbDAoGligFK3mRkF12IddzyLfiTdqBI XQHhdjYYkkmaE3JPQaK6A3MmdaQj0WU92Z4JHVG/39/gqp9+ixzidnwJnq5j3zUI2PCQ oxPrd7hifmvHMiZ+MGnLCMt3l68l88NbkiYq6pe+yYzhGbSmzoP8WbOjLREiJjZWVyr7 j+uw== 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=C/2xp2AZ3HuyBAV86GeZLKl1z4Lb4lCX6H4IxUQsb8g=; b=FjfVdbWrVSoFV+g611bzH7g23k2cxh98NlEfbKo0FyjL7NLe/rMIiODhw1ZJj/AhiY UuP6LPhqKbes95UbikYzjy4BR+XbkNWdGn8qda/gUu2kkWYct6nITJtpjYNHPDlczYJg zNBl20o4v19gk2dkKT/wQxGewHCWmdob7UDmE6QuOnu1y8k3SvdUd4RiZZrC3+9cj5kN Wil7pypCd8sms+vOpvkGf6RzFb3nUF3WX6Sx50kIWjw1YhctwXairvFXxMLZLbeO0apR oqT3DwWM+6RhAAGKircR5SuyJIt9J0soEBbLn8mSU2G8ZA2hkLqKT5C7hGcmQS/2aP66 5FHw== X-Gm-Message-State: AOAM532eGr6NoO8LtKEk54G70utnUPq+WZgEmyU1p4CdUWCTC2YleoTq ZvaEQDjA2PbUa4f6th3e094PdT9ww4K2hQG8Uol6cuHFlVKFnWt+FIrKAdE+F7znvn3qKPoTIXg 6wA/EvYu8dyW4RrsnsTmCbKRybr2ahtF1ZReIIpwaus1pLOGF2J+ANAUptq+jD5roNr0qrJDztZ p/d7by5zqbV9ZH2eq247ZzZBiY5U7czLPI6iKnmfWQ2Qokl/7No9IJ2pavXnz/Se4PCQ== X-Google-Smtp-Source: ABdhPJxdI90iV/vWuYNHQdq1r+J0TsAWcdzfb/dfEntkdBohxkayrjyc/7cc7g/qFgwcqK4o+0Z144ghbFhTMW9Y9LY= X-Received: by 2002:a05:6512:74e:: with SMTP id c14mr5648382lfs.529.1610717475532; Fri, 15 Jan 2021 05:31:15 -0800 (PST) MIME-Version: 1.0 References: In-Reply-To: From: Aditya Toshniwal Date: Fri, 15 Jan 2021 19:00:37 +0530 Message-ID: Subject: Re: [pgAdmin][RM1802] ERD Tool (Beta) To: Khushboo Vashi Cc: Akshay Joshi , pgadmin-hackers Content-Type: multipart/mixed; boundary="000000000000f6bf1f05b8f0621e" 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 --000000000000f6bf1f05b8f0621e Content-Type: multipart/alternative; boundary="000000000000f6bf1d05b8f0621c" --000000000000f6bf1d05b8f0621c Content-Type: text/plain; charset="UTF-8" Hi, I've fixed the issues. You can find the comments inline. I've also added PropTypes for the components for increased validation. On Tue, Jan 12, 2021 at 12:18 PM Khushboo Vashi < khushboo.vashi@enterprisedb.com> wrote: > Hi Aditya, > > The functionalities and the code looks good to me, however some of the comments as below: > > > - Correct the comments at some places (3 occurrences found in /erd/__init__.py) which mention Schema diff instead of ERD. > > Some comments in the JS/JSX file regarding components/functions (For example, IconButton (forwardRef), Bodywidget etc.) would > > be great help as we all are new to React. > > Done. Added comments to the components. > > - Remove the unused imports (for ex bad_request) in /erd/__init__.py > > Removed. > > - Remove commented code > > # req_args = request.args > # if ('recreate' in req_args and > # req_args['recreate'] == '1'): > # connect = False > > Removed. > > - TableNode.jsx, below two lines can be combined. > > import { PortModelAlignment, DefaultNodeModel } from > '@projectstorm/react-diagrams'; > import { PortWidget } from '@projectstorm/react-diagrams'; > > Done. > > - onImageClick function in BodyWidget.jsx is no use I think, so it should be removed. > > I wanted to keep the code as it will be used in future. Anyway, I've removed the code. > > - I got some console errors while adding/editing tables. Refer to the attached screenshot. > > I tried but I didn't get any. Looking at the screenshot, the error is from the underlying library. Can't do much in this. > > - In the column Edit Mode, while deleting the primary key, it gives the error, which does not go away with any further modifications. > > Fixed. > > - While generating the SQL, if the server is disconnected, a proper error message should be thrown, right now some server side error is coming. > > It will show connection lost error now. Fixed. > > - Please remove ... from the menu title (New ERD Project(Beta)...) as it is not opening a dialog. > > Done. > > - For large data sets, generate ERD hangs. > > It shows the spinner and waits for the response to come from the back end. I've used the existing table fetching code which is used at other places. I'll create an RM to improve the back end code for fetching the tables data which will help the schema diff tool as well. > > - Opening the ERD panel in a new window is not working, it opens in the same tab even if you have set the Preference "Open in new browser tab" to True. > > Fixed. Added the setting in "Tab settings". > > - No shortcut is provided to open the ERD Tool. > > A shortcut is helpful if we are using it frequently. ERD tool won't be used that frequently. We already have a limited number of keys available for shortcuts. I think we should roll out without shortcut for now. If there is a user demand for it then we can think of adding it. > > - SonarQube fixes required. > > Fixed. > > - > > *Suggestion:* > > While removal of the FK link, If any of the table is selected, it is being deleted with FK link. > Either we should warn the user OR make 2 different buttons for FK removal and table removal as the user may be confused if the selected table is also removed with the FK. > > I've added a confirmation dialog which will show the number of tables and links selected. This way user will know what he has selected before deleting. > *Observations:* > > Lodash has been used in this module in place of Underscore, though the > dependency is already introduced by another module, > but we have mentioned it in the package.json file, which is somewhat not > convincing to me. > Lodash is more advanced than Underscore but we should pick anyone as it > will be easy to manage. > > TL;DR; we cannot. lodash is a peer dependency for react-diagrams (and some existing modules in pgAdmin) so it will come to package.json without choice. We cannot remove underscore because it is a dependency of backbone. Underscore is outdated, and I cannot migrate the complete pgAdmin code. So, I decided to go with 100/0 method. All the new codes will use lodash only as we'll phase out underscore with time. Just like jQuery vs ReactJS. > > > Table dialog code is duplicate of the table node, as it was difficult to > extend it because it was attached to the tree. > So, we need to keep in mind that while implementing React in pgAdmin, the > nodes should be properly detached from the tree itself, so we can reuse it. > > Yes. I agree. We need to separate out data source from UI going forward with React. > > Thanks, > Khushboo > > > On Mon, Dec 28, 2020 at 10:53 AM Khushboo Vashi < > khushboo.vashi@enterprisedb.com> wrote: > >> >> >> On Fri, Dec 25, 2020 at 4:34 PM Akshay Joshi < >> akshay.joshi@enterprisedb.com> wrote: >> >>> Hi Khushboo, >>> >>> Can you please review it? >>> >>> On it. >> >>> On Fri, Dec 25, 2020 at 3:31 PM Aditya Toshniwal < >>> aditya.toshniwal@enterprisedb.com> wrote: >>> >>>> Hi Hackers, >>>> >>>> Attached patch introduces ERD Tool(Beta) to pgAdmin. Below are the >>>> details: >>>> 1) Create a diagram from scratch or generate for an existing DB. >>>> 2) Generate "Create" DDL from the diagram. >>>> 3) Save the diagram and resume it later. >>>> 4) Supports basic table fields, one-to-many relationships, many-to-many >>>> relationships, adding notes. >>>> 5) Test cases added with 75-80% test coverage. >>>> >>>> Please review. >>>> >>>> -- >>>> Thanks, >>>> Aditya Toshniwal >>>> pgAdmin hacker | Sr. Software Engineer | *edbpostgres.com* >>>> >>>> "Don't Complain about Heat, Plant a TREE" >>>> >>> >>> >>> -- >>> *Thanks & Regards* >>> *Akshay Joshi* >>> *pgAdmin Hacker | Principal Software Architect* >>> *EDB Postgres * >>> >>> *Mobile: +91 976-788-8246* >>> >> -- Thanks, Aditya Toshniwal pgAdmin hacker | Sr. Software Engineer | *edbpostgres.com* "Don't Complain about Heat, Plant a TREE" --000000000000f6bf1d05b8f0621c Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
Hi,

I'v= e fixed the issues. You can find the comments inline.
I've also added PropTypes for the components for increa= sed validation.

On Tue, Jan 12, 2021 at 12:18 PM Khushboo V= ashi <khushboo.vashi@enterprisedb.com> wrote:
Hi Aditya,=
The =
functionalities and the code looks good to me, however some of the comments=
 as below:
  • Correct the comments at some places (3 occurrences f= ound in /erd/__init__.py) whic= h mention Schema diff instead of ERD.
Some co=
mments in the JS/JSX file regarding components/functions (For example, Icon=
Button (forwardRef), Bodywidget etc.) would
be great help as we all are n=
ew to React. 
Done. Adde= d comments to the components.
  • Remove the unused imports = (for ex bad_request) in /erd/__init__.py
=
Removed.=C2=A0
  • Remove commented code
# req_args =3D request.args# if ('recreate' in req_args and
# =C2=A0 =C2=A0 req_args['= recreate'] =3D=3D '1'):
# =C2=A0 =C2=A0 connect =3D False
Removed.=C2=A0
<= blockquote class=3D"gmail_quote" style=3D"margin:0px 0px 0px 0.8ex;border-l= eft:1px solid rgb(204,204,204);padding-left:1ex">
  • TableNode.jsx, below= two lines can be combined.
import { PortModelAlignment, DefaultNodeModel } from '@projectstorm/= react-diagrams';
import { PortWidget } from '@projectstorm/react= -diagrams';
Done.= =C2=A0
  • onImageClick function in BodyWidget.jsx is no use I thin= k, so it should be removed.
=
I wanted to keep the code as it will be used in future. Anyway, I've r= emoved the code.
    <= li>I got some console errors while adding/= editing tables. Refer to the attached screenshot.
I tried but I didn't get any. Looking at the scr= eenshot, the error is from the underlying library. Can't do much in thi= s.=C2=A0
  • In the column Edit Mode, while deleting the pri= mary key, it gives the error, which does not go away with any further modif= ications.
Fixed.= =C2=A0
  • While generating the SQL, if the server is disconnected,= a proper error message should be thrown, right now some server side error = is coming.
It will show co= nnection lost error now. Fixed.=C2=A0
  • Please remove ..= . from the menu title (New ERD Project(Beta)...) as it is not opening a dia= log.
Done.=C2=A0
  • For large data sets, generate ERD hangs.
It shows the spinner and waits for the response to c= ome from the back end. I've used the existing table fetching code which= is used at other places. I'll create an RM to improve the back end cod= e for fetching the tables data which will help the schema diff tool as well= .
  • Opening the ERD panel in a new window is not working= , it opens in the same tab even if you have set the Preference "Open i= n new browser tab" to True.
Fixed. Added the setting in "Tab settings".
  • No shortcut is provided to open the ERD Tool.
A shortcut is helpful if we are using it frequently.= ERD tool won't be used that frequently.=C2=A0We already have a limi= ted number of keys available for shortcuts. I think we should roll out with= out shortcut for now. If there is a user demand for it then we can think of= adding it.
<= div dir=3D"ltr">
  • SonarQube fixes required.
Fixed.=C2=A0
  • <= /ul>
Suggestion:
While removal of the FK link, If an= y of the table is selected, it is being deleted with FK link.
<= div style=3D"color:rgb(0,0,0)">Either we s= hould warn the user OR make 2 different buttons for FK removal and table re= moval as the user may be confused if the selected table is also removed wit= h the FK.
=
I'= ;ve added a confirmation dialog which will show the number of tables and li= nks selected. This way user will know what he has selected before deleting.=
Observations:
<= /div>
= Lodash has been used in this module in pla= ce of Underscore, though the dependency is already introduced by another mo= dule,
but we have mentioned it in the package.json file, which is somewh= at not convincing to me.
Lodash is more advanced than Underscore but we = should pick anyone as it will be easy to manage.
TL;DR; we cannot.
lodash is a peer dependency= for react-diagrams (and some existing modules in pgAdmin) so it will come = to package.json without choice. We cannot remove underscore because it is a= dependency of backbone. Underscore is outdated, and I cannot migrate the c= omplete pgAdmin code.=C2=A0So, I decided to go with 100/0 method. All th= e new codes will use lodash only as we'll phase out underscore with tim= e. Just like jQuery vs ReactJS.


Table dialog code is duplicate= of the table node, as it was difficult to extend it because it was attache= d to the tree.
So, we need to keep in mind that while implementing React= in pgAdmin, the nodes should be properly detached from the tree itself, so= we can reuse it.
Yes. I agree. = We need to separate out data source from UI going forward=C2=A0with Reac= t.

Thanks,
Khushboo


On Mon, Dec 28, 2020 at 10:53 = AM Khushboo Vashi <khushboo.vashi@enterprisedb.com> wrote:


On Fri, Dec 25, 20= 20 at 4:34 PM Akshay Joshi <akshay.joshi@enterprisedb.com> wrote:
Hi Khushboo,

Can = you please review it?
On it.=C2=A0
On Fri, Dec 25, 2020 at 3:31 PM Aditya Toshniwal <aditya.toshniwal@e= nterprisedb.com> wrote:

=
Attached patch introduces ERD T= ool(Beta) to pgAdmin. Below are the details:
1) Create a diagram from scratch or generate for an exi= sting DB.
2) Generate &qu= ot;Create" DDL from the diagram.
3) Save the diagram and resume it later.
4) Supports basic table fields, one-to-many re= lationships, many-to-many relationships, adding notes.
5) Test cases added with 75-80% test coverage= .

<= font face=3D"arial, sans-serif">Please review.

--=
Thanks,
Aditya Toshniwal
<= /font>
pgAdmin hacker= =C2=A0| Sr. Software Engineer | edbpostgres.com


--


--
Thanks,
Aditya Toshniwal=
pgAdmin hacker=C2=A0| Sr. Software Engineer | edbpostgres.com
&quo= t;Don't Complain about Heat, Plant a TREE"
--000000000000f6bf1d05b8f0621c-- --000000000000f6bf1f05b8f0621e Content-Type: application/octet-stream; name="RM1802_v2.patch" Content-Disposition: attachment; filename="RM1802_v2.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_kjybkgq50 ZGlmZiAtLWdpdCBhL3dlYi8uZXNsaW50cmMuanMgYi93ZWIvLmVzbGludHJjLmpzCmluZGV4IDFm ZGQwN2ZiZi4uOWI3NWNkODA5IDEwMDY0NAotLS0gYS93ZWIvLmVzbGludHJjLmpzCisrKyBiL3dl Yi8uZXNsaW50cmMuanMKQEAgLTE4LDYgKzE4LDcgQEAgbW9kdWxlLmV4cG9ydHMgPSB7CiAgICAg J2VzbGludDpyZWNvbW1lbmRlZCcsCiAgICAgJ3BsdWdpbjpyZWFjdC9yZWNvbW1lbmRlZCcsCiAg IF0sCisgICdwYXJzZXInOiAnYmFiZWwtZXNsaW50JywKICAgJ3BhcnNlck9wdGlvbnMnOiB7CiAg ICAgJ2VjbWFWZXJzaW9uJzogMjAxOCwKICAgICAnZWNtYUZlYXR1cmVzJzogewpkaWZmIC0tZ2l0 IGEvd2ViL3BhY2thZ2UuanNvbiBiL3dlYi9wYWNrYWdlLmpzb24KaW5kZXggYjc3Nzc2NTY5Li5j MWNjNWM0OTIgMTAwNjQ0Ci0tLSBhL3dlYi9wYWNrYWdlLmpzb24KKysrIGIvd2ViL3BhY2thZ2Uu anNvbgpAQCAtNywxMiArNywxNSBAQAogICBdLAogICAibGljZW5zZSI6ICJQb3N0Z3JlU1FMIiwK ICAgImRldkRlcGVuZGVuY2llcyI6IHsKLSAgICAiQGJhYmVsL2NvcmUiOiAifjcuNi4wIiwKLSAg ICAiQGJhYmVsL3ByZXNldC1lbnYiOiAifjcuNi4wIiwKKyAgICAiQGJhYmVsL2NvcmUiOiAiXjcu MTAuMiIsCisgICAgIkBiYWJlbC9wbHVnaW4tcHJvcG9zYWwtb2JqZWN0LXJlc3Qtc3ByZWFkIjog Il43LjkuNiIsCisgICAgIkBiYWJlbC9wcmVzZXQtZW52IjogIl43LjEwLjIiLAorICAgICJAZW1v dGlvbi9jb3JlIjogIl4xMC4wLjE0IiwKKyAgICAiQGVtb3Rpb24vc3R5bGVkIjogIl4xMC4wLjE0 IiwKICAgICAiYXV0b3ByZWZpeGVyIjogIl45LjYuNCIsCiAgICAgImF4aW9zLW1vY2stYWRhcHRl ciI6ICJeMS4xNy4wIiwKLSAgICAiYmFiZWwtbG9hZGVyIjogIn44LjAuNSIsCi0gICAgImJhYmVs LXBsdWdpbi10cmFuc2Zvcm0tb2JqZWN0LXJlc3Qtc3ByZWFkIjogIl43LjAuMC1iZXRhLjMiLAor ICAgICJiYWJlbC1lc2xpbnQiOiAiXjEwLjEuMCIsCisgICAgImJhYmVsLWxvYWRlciI6ICJeOC4x LjAiLAogICAgICJjb3B5LXdlYnBhY2stcGx1Z2luIjogIl41LjEuMCIsCiAgICAgImNvcmUtanMi OiAiXjMuMi4xIiwKICAgICAiY3Jvc3MtZW52IjogIl41LjIuMCIsCkBAIC00MSw3ICs0NCw4IEBA CiAgICAgInBvcHBlci5qcyI6ICJeMS4xNC43IiwKICAgICAicG9zdGNzcy1sb2FkZXIiOiAiXjMu MC4wIiwKICAgICAicHJvcC10eXBlcyI6ICJeMTUuNy4yIiwKLSAgICAicmF3LWxvYWRlciI6ICJe MS4wLjAiLAorICAgICJyYXctbG9hZGVyIjogIl4zLjEuMCIsCisgICAgInJlc2l6ZS1vYnNlcnZl ci1wb2x5ZmlsbCI6ICJeMS41LjEiLAogICAgICJzYXNzIjogIl4xLjI0LjQiLAogICAgICJzYXNz LWxvYWRlciI6ICJeNy4xLjAiLAogICAgICJzYXNzLXJlc291cmNlcy1sb2FkZXIiOiAiXjIuMC4w IiwKQEAgLTUwLDcgKzU0LDcgQEAKICAgICAidXJsLWxvYWRlciI6ICJeMS4xLjIiLAogICAgICJ3 ZWJwYWNrIjogIl40LjQxLjIiLAogICAgICJ3ZWJwYWNrLWJ1bmRsZS1hbmFseXplciI6ICJeMy41 LjEiLAotICAgICJ3ZWJwYWNrLWNsaSI6ICJeMy4yLjMiLAorICAgICJ3ZWJwYWNrLWNsaSI6ICJe My4zLjExIiwKICAgICAid2VicGFjay1yZXF1aXJlLWZyb20iOiAiXjEuOC4wIiwKICAgICAieWFy bi1hdWRpdC1odG1sIjogIl4xLjEuMCIKICAgfSwKQEAgLTU4LDEyICs2MiwxMiBAQAogICAgICJA YmFiZWwvcGx1Z2luLXByb3Bvc2FsLWNsYXNzLXByb3BlcnRpZXMiOiAiXjcuMTAuNCIsCiAgICAg IkBiYWJlbC9wcmVzZXQtcmVhY3QiOiAiXjcuMTAuNCIsCiAgICAgIkBmb3J0YXdlc29tZS9mb250 YXdlc29tZS1mcmVlIjogIl41LjE0LjAiLAorICAgICJAcHJvamVjdHN0b3JtL3JlYWN0LWRpYWdy YW1zIjogIl42LjMuMCIsCiAgICAgIkBzaW1vbndlcC9waWNrciI6ICJeMS41LjEiLAorICAgICJA dGlwcHlqcy9yZWFjdCI6ICJeNC4yLjAiLAogICAgICJhY2l0cmVlIjogImdpdCtodHRwczovL2dp dGh1Yi5jb20vaW1zdXJpbmRlcjkwL2pxdWVyeS1hY2lUcmVlLmdpdCNyYy43IiwKICAgICAiYWxl cnRpZnlqcyI6ICJnaXQraHR0cHM6Ly9naXRodWIuY29tL0VudGVycHJpc2VEQi9BbGVydGlmeUpT LyM3MmMxZDc5NGY1YjZkNGVjMTNhNjhkMTIzYzA4ZjE5MDIxYWZlMjYzIiwKICAgICAiYXhpb3Mi OiAiXjAuMTguMSIsCi0gICAgImJhYmVsLXBsdWdpbi10cmFuc2Zvcm0tZXMyMDE1LW1vZHVsZXMt YW1kIjogIl42LjI0LjEiLAotICAgICJiYWJlbC1wcmVzZXQtZXMyMDE1LXdpdGhvdXQtc3RyaWN0 IjogIn4wLjAuNCIsCiAgICAgImJhYmVsaWZ5IjogIn4xMC4wLjAiLAogICAgICJiYWNrYm9uZSI6 ICIxLjQuMCIsCiAgICAgImJhY2tmb3JtIjogIl4wLjIuMCIsCkBAIC03NSwxMiArNzksMTcgQEAK ICAgICAiYm9vdHN0cmFwNC10b2dnbGUiOiAiMy40LjAiLAogICAgICJib3dzZXIiOiAiMi4xLjIi LAogICAgICJicm93c2VyaWZ5IjogIn4xNi4yLjMiLAorICAgICJjYW52ZyI6ICJeMy4wLjciLAog ICAgICJjaGFydC5qcyI6ICJeMi45LjMiLAorICAgICJjbG9zZXN0IjogIl4wLjAuMSIsCiAgICAg ImNvZGVtaXJyb3IiOiAiXjUuNTQuMCIsCiAgICAgImNzcy1sb2FkZXIiOiAiMi4xLjAiLAogICAg ICJjc3NuYW5vIjogIl40LjEuMTAiLAorICAgICJkYWdyZSI6ICJeMC44LjQiLAogICAgICJkcm9w em9uZSI6ICJeNS41LjEiLAogICAgICJleHBvcnRzLWxvYWRlciI6ICJ+MC43LjAiLAorICAgICJo dG1sLXRvLWltYWdlIjogIl4wLjEuMSIsCisgICAgImh0bWwyY2FudmFzIjogIl4xLjAuMC1yYy43 IiwKICAgICAiaW1tdXRhYmlsaXR5LWhlbHBlciI6ICJeMy4wLjAiLAogICAgICJpbXBvcnRzLWxv YWRlciI6ICJeMC44LjAiLAogICAgICJpcC1hZGRyZXNzIjogIl41LjguOSIsCkBAIC05MSwxMSAr MTAwLDE3IEBACiAgICAgImpzb24tYmlnbnVtYmVyIjogIl4xLjAuMSIsCiAgICAgImthcm1hLWNv dmVyYWdlIjogIl4yLjAuMyIsCiAgICAgImxlYWZsZXQiOiAiXjEuNS4xIiwKKyAgICAibG9kYXNo IjogIjQuKiIsCisgICAgIm1sLW1hdHJpeCI6ICJeNi41LjAiLAogICAgICJtb21lbnQiOiAiXjIu MjQuMCIsCiAgICAgIm1vbWVudC10aW1lem9uZSI6ICJeMC41LjIzIiwKICAgICAibW91c2V0cmFw IjogIl4xLjYuMyIsCisgICAgInBhdGhmaW5kaW5nIjogIl4wLjQuMTgiLAorICAgICJwYXRocy1q cyI6ICJeMC40LjkiLAorICAgICJyYWYiOiAiXjMuNC4xIiwKICAgICAicmVhY3QiOiAiXjE2LjEz LjEiLAogICAgICJyZWFjdC1kb20iOiAiXjE2LjEzLjEiLAorICAgICJyZWFjdC10by1wcmludCI6 ICJeMi4xMC4zIiwKICAgICAicmVxdWlyZWpzIjogIn4yLjMuNiIsCiAgICAgInNlbGVjdDIiOiAi XjQuMC42LXJjLjEiLAogICAgICJzaGltLWxvYWRlciI6ICJeMS4wLjEiLApkaWZmIC0tZ2l0IGEv d2ViL3BnYWRtaW4vYnJvd3Nlci9fX2luaXRfXy5weSBiL3dlYi9wZ2FkbWluL2Jyb3dzZXIvX19p bml0X18ucHkKaW5kZXggMWJhZTI4ZjljLi4wYjlhZjJjYTEgMTAwNjQ0Ci0tLSBhL3dlYi9wZ2Fk bWluL2Jyb3dzZXIvX19pbml0X18ucHkKKysrIGIvd2ViL3BnYWRtaW4vYnJvd3Nlci9fX2luaXRf Xy5weQpAQCAtNzY3LDYgKzc2Nyw3IEBAIGRlZiB1dGlscygpOgogICAgICAgICAgICAgZWRpdG9y X2luc2VydF9wYWlyX2JyYWNrZXRzPWluc2VydF9wYWlyX2JyYWNrZXRzLAogICAgICAgICAgICAg ZWRpdG9yX2luZGVudF93aXRoX3RhYnM9ZWRpdG9yX2luZGVudF93aXRoX3RhYnMsCiAgICAgICAg ICAgICBhcHBfbmFtZT1jb25maWcuQVBQX05BTUUsCisgICAgICAgICAgICBhcHBfdmVyc2lvbl9p bnQ9Y29uZmlnLkFQUF9WRVJTSU9OX0lOVCwKICAgICAgICAgICAgIHBnX2xpYnBxX3ZlcnNpb249 cGdfbGlicHFfdmVyc2lvbiwKICAgICAgICAgICAgIHN1cHBvcnRfc3NoX3R1bm5lbD1jb25maWcu U1VQUE9SVF9TU0hfVFVOTkVMLAogICAgICAgICAgICAgbG9nb3V0X3VybD1fZ2V0X2xvZ291dF91 cmwoKQpkaWZmIC0tZ2l0IGEvd2ViL3BnYWRtaW4vYnJvd3Nlci9yZWdpc3Rlcl9icm93c2VyX3By ZWZlcmVuY2VzLnB5IGIvd2ViL3BnYWRtaW4vYnJvd3Nlci9yZWdpc3Rlcl9icm93c2VyX3ByZWZl cmVuY2VzLnB5CmluZGV4IDY0MGEwNTQ2OC4uM2IzMzViZTEyIDEwMDY0NAotLS0gYS93ZWIvcGdh ZG1pbi9icm93c2VyL3JlZ2lzdGVyX2Jyb3dzZXJfcHJlZmVyZW5jZXMucHkKKysrIGIvd2ViL3Bn YWRtaW4vYnJvd3Nlci9yZWdpc3Rlcl9icm93c2VyX3ByZWZlcmVuY2VzLnB5CkBAIC00OTcsNyAr NDk3LDggQEAgZGVmIHJlZ2lzdGVyX2Jyb3dzZXJfcHJlZmVyZW5jZXMoc2VsZik6CiAgICAgICAg IGNhdGVnb3J5X2xhYmVsPVBSRUZfTEFCRUxfT1BUSU9OUywKICAgICAgICAgb3B0aW9ucz1beyds YWJlbCc6IGdldHRleHQoJ1F1ZXJ5IFRvb2wnKSwgJ3ZhbHVlJzogJ3F0J30sCiAgICAgICAgICAg ICAgICAgIHsnbGFiZWwnOiBnZXR0ZXh0KCdEZWJ1Z2dlcicpLCAndmFsdWUnOiAnZGVidWdnZXIn fSwKLSAgICAgICAgICAgICAgICAgeydsYWJlbCc6IGdldHRleHQoJ1NjaGVtYSBEaWZmJyksICd2 YWx1ZSc6ICdzY2hlbWFfZGlmZid9XSwKKyAgICAgICAgICAgICAgICAgeydsYWJlbCc6IGdldHRl eHQoJ1NjaGVtYSBEaWZmJyksICd2YWx1ZSc6ICdzY2hlbWFfZGlmZid9LAorICAgICAgICAgICAg ICAgICB7J2xhYmVsJzogZ2V0dGV4dCgnRVJEIFRvb2wnKSwgJ3ZhbHVlJzogJ2VyZF90b29sJ31d LAogICAgICAgICBoZWxwX3N0cj1nZXR0ZXh0KCdTZWxlY3QgUXVlcnkgVG9vbCwgRGVidWdnZXIs IG9yIFNjaGVtYSBEaWZmIGZyb20gJwogICAgICAgICAgICAgICAgICAgICAgICAgICd0aGUgZHJv cC1kb3duIHRvIHNldCBvcGVuIGluIG5ldyBicm93c2VyIHRhYiBmb3IgJwogICAgICAgICAgICAg ICAgICAgICAgICAgICd0aGF0IHBhcnRpY3VsYXIgbW9kdWxlLicpLApkaWZmIC0tZ2l0IGEvd2Vi L3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJhc2VzL3NjaGVtYXMv dGFibGVzL19faW5pdF9fLnB5IGIvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3Nl cnZlcnMvZGF0YWJhc2VzL3NjaGVtYXMvdGFibGVzL19faW5pdF9fLnB5CmluZGV4IDQ1MGQ4YzVh Yi4uZDZkNGVhZTk3IDEwMDY0NAotLS0gYS93ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9ncm91 cHMvc2VydmVycy9kYXRhYmFzZXMvc2NoZW1hcy90YWJsZXMvX19pbml0X18ucHkKKysrIGIvd2Vi L3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJhc2VzL3NjaGVtYXMv dGFibGVzL19faW5pdF9fLnB5CkBAIC0yMSw3ICsyMSw2IEBAIGZyb20gcGdhZG1pbi5icm93c2Vy LnNlcnZlcl9ncm91cHMuc2VydmVycy51dGlscyBpbXBvcnQgcGFyc2VfcHJpdl90b19kYgogZnJv bSBwZ2FkbWluLnV0aWxzLmFqYXggaW1wb3J0IG1ha2VfanNvbl9yZXNwb25zZSwgaW50ZXJuYWxf c2VydmVyX2Vycm9yLCBcCiAgICAgbWFrZV9yZXNwb25zZSBhcyBhamF4X3Jlc3BvbnNlLCBnb25l CiBmcm9tIC51dGlscyBpbXBvcnQgQmFzZVRhYmxlVmlldwotZnJvbSBwZ2FkbWluLnV0aWxzLnBy ZWZlcmVuY2VzIGltcG9ydCBQcmVmZXJlbmNlcwogZnJvbSBwZ2FkbWluLnRvb2xzLnNjaGVtYV9k aWZmLm5vZGVfcmVnaXN0cnkgaW1wb3J0IFNjaGVtYURpZmZSZWdpc3RyeQogZnJvbSBwZ2FkbWlu LmJyb3dzZXIuc2VydmVyX2dyb3Vwcy5zZXJ2ZXJzLmRhdGFiYXNlcy5zY2hlbWFzLnRhYmxlcy5c CiAgICAgY29uc3RyYWludHMuZm9yZWlnbl9rZXkgaW1wb3J0IHV0aWxzIGFzIGZrZXlfdXRpbHMK QEAgLTEzNCw4ICsxMzMsNyBAQCBjbGFzcyBUYWJsZU1vZHVsZShTY2hlbWFDaGlsZE1vZHVsZSk6 CiBibHVlcHJpbnQgPSBUYWJsZU1vZHVsZShfX25hbWVfXykKIAogCi1jbGFzcyBUYWJsZVZpZXco QmFzZVRhYmxlVmlldywgRGF0YVR5cGVSZWFkZXIsIFZhY3V1bVNldHRpbmdzLAotICAgICAgICAg ICAgICAgIFNjaGVtYURpZmZUYWJsZUNvbXBhcmUpOgorY2xhc3MgVGFibGVWaWV3KEJhc2VUYWJs ZVZpZXcsIERhdGFUeXBlUmVhZGVyLCBTY2hlbWFEaWZmVGFibGVDb21wYXJlKToKICAgICAiIiIK ICAgICBUaGlzIGNsYXNzIGlzIHJlc3BvbnNpYmxlIGZvciBnZW5lcmF0aW5nIHJvdXRlcyBmb3Ig VGFibGUgbm9kZQogCkBAIC01ODksNyArNTg3LDcgQEAgY2xhc3MgVGFibGVWaWV3KEJhc2VUYWJs ZVZpZXcsIERhdGFUeXBlUmVhZGVyLCBWYWN1dW1TZXR0aW5ncywKICAgICAgICAgUmV0dXJuczoK ICAgICAgICAgICAgIEpTT04gb2Ygc2VsZWN0ZWQgdGFibGUgbm9kZQogICAgICAgICAiIiIKLSAg ICAgICAgc3RhdHVzLCByZXMgPSBzZWxmLl9mZXRjaF9wcm9wZXJ0aWVzKGRpZCwgc2NpZCwgdGlk KQorICAgICAgICBzdGF0dXMsIHJlcyA9IHNlbGYuX2ZldGNoX3RhYmxlX3Byb3BlcnRpZXMoZGlk LCBzY2lkLCB0aWQpCiAgICAgICAgIGlmIG5vdCBzdGF0dXM6CiAgICAgICAgICAgICByZXR1cm4g cmVzCiAgICAgICAgIGlmIG5vdCByZXNbJ3Jvd3MnXToKQEAgLTU5OSw4NiArNTk3LDYgQEAgY2xh c3MgVGFibGVWaWV3KEJhc2VUYWJsZVZpZXcsIERhdGFUeXBlUmVhZGVyLCBWYWN1dW1TZXR0aW5n cywKICAgICAgICAgICAgIGdpZCwgc2lkLCBkaWQsIHNjaWQsIHRpZCwgcmVzPXJlcwogICAgICAg ICApCiAKLSAgICBAc3RhdGljbWV0aG9kCi0gICAgZGVmIF9jaGVja19ybHNwb2xpY3lfc3VwcG9y dChyZXMpOgotICAgICAgICAiIiIKLSAgICAgICAgVGhpcyBmdW5jdGlvbiBpcyB1c2VkIHRvIGNo ZWNrIHdoZXRoZXIgJ3Jsc3BvbGljeScgaW4gcmVzcG9uc2UKLSAgICAgICAgYXMgaXQgc3VwcG9y dGVkIGZvciB2ZXJzaW9uIDkuNSBhbmQgYWJvdmUKLSAgICAgICAgOnBhcmFtIHJlczoKLSAgICAg ICAgOnJldHVybjoKLSAgICAgICAgIiIiCi0gICAgICAgIGlmICdybHNwb2xpY3knIGluIHJlc1sn cm93cyddWzBdOgotICAgICAgICAgICAgIyBTZXQgdGhlIHZhbHVlIG9mIHJscyBwb2xpY3kKLSAg ICAgICAgICAgIGlmIHJlc1sncm93cyddWzBdWydybHNwb2xpY3knXSA9PSAidHJ1ZSI6Ci0gICAg ICAgICAgICAgICAgcmVzWydyb3dzJ11bMF1bJ3Jsc3BvbGljeSddID0gVHJ1ZQotCi0gICAgICAg ICAgICAjIFNldCB0aGUgdmFsdWUgb2YgZm9yY2UgcmxzIHBvbGljeSBmb3IgdGFibGUgb3duZXIK LSAgICAgICAgICAgIGlmIHJlc1sncm93cyddWzBdWydmb3JjZXJsc3BvbGljeSddID09ICJ0cnVl IjoKLSAgICAgICAgICAgICAgICByZXNbJ3Jvd3MnXVswXVsnZm9yY2VybHNwb2xpY3knXSA9IFRy dWUKLQotICAgIGRlZiBfZmV0Y2hfcHJvcGVydGllcyhzZWxmLCBkaWQsIHNjaWQsIHRpZCk6Ci0g ICAgICAgICIiIgotICAgICAgICBUaGlzIGZ1bmN0aW9uIGlzIHVzZWQgdG8gZmV0Y2ggdGhlIHBy b3BlcnRpZXMgb2YgdGhlIHNwZWNpZmllZCBvYmplY3QKLSAgICAgICAgOnBhcmFtIGRpZDoKLSAg ICAgICAgOnBhcmFtIHNjaWQ6Ci0gICAgICAgIDpwYXJhbSB0aWQ6Ci0gICAgICAgIDpyZXR1cm46 Ci0gICAgICAgICIiIgotICAgICAgICBzcWwgPSByZW5kZXJfdGVtcGxhdGUoCi0gICAgICAgICAg ICAiLyIuam9pbihbc2VsZi50YWJsZV90ZW1wbGF0ZV9wYXRoLCBzZWxmLl9QUk9QRVJUSUVTX1NR TF0pLAotICAgICAgICAgICAgZGlkPWRpZCwgc2NpZD1zY2lkLCB0aWQ9dGlkLAotICAgICAgICAg ICAgZGF0bGFzdHN5c29pZD1zZWxmLmRhdGxhc3RzeXNvaWQKLSAgICAgICAgKQotICAgICAgICBz dGF0dXMsIHJlcyA9IHNlbGYuY29ubi5leGVjdXRlX2RpY3Qoc3FsKQotICAgICAgICBpZiBub3Qg c3RhdHVzOgotICAgICAgICAgICAgcmV0dXJuIEZhbHNlLCBpbnRlcm5hbF9zZXJ2ZXJfZXJyb3Io ZXJyb3Jtc2c9cmVzKQotCi0gICAgICAgIGVsaWYgbGVuKHJlc1sncm93cyddKSA9PSAwOgotICAg ICAgICAgICAgcmV0dXJuIEZhbHNlLCBnb25lKAotICAgICAgICAgICAgICAgIGdldHRleHQoc2Vs Zi5ub3RfZm91bmRfZXJyb3JfbXNnKCkpKQotCi0gICAgICAgICMgVXBkYXRlIGF1dG92YWN1dW0g cHJvcGVydGllcwotICAgICAgICBzZWxmLnVwZGF0ZV9hdXRvdmFjdXVtX3Byb3BlcnRpZXMocmVz Wydyb3dzJ11bMF0pCi0KLSAgICAgICAgIyBXZSB3aWxsIGNoZWNrIHRoZSB0aHJlc2hvbGQgc2V0 IGJ5IHVzZXIgYmVmb3JlIGV4ZWN1dGluZwotICAgICAgICAjIHRoZSBxdWVyeSBiZWNhdXNlIHRo YXQgY2FuIGNhdXNlIHBlcmZvcm1hbmNlIGlzc3VlcwotICAgICAgICAjIHdpdGggbGFyZ2UgcmVz dWx0IHNldAotICAgICAgICBwcmVmID0gUHJlZmVyZW5jZXMubW9kdWxlKCdicm93c2VyJykKLSAg ICAgICAgdGFibGVfcm93X2NvdW50X3ByZWYgPSBwcmVmLnByZWZlcmVuY2UoJ3RhYmxlX3Jvd19j b3VudF90aHJlc2hvbGQnKQotICAgICAgICB0YWJsZV9yb3dfY291bnRfdGhyZXNob2xkID0gdGFi bGVfcm93X2NvdW50X3ByZWYuZ2V0KCkKLSAgICAgICAgZXN0aW1hdGVkX3Jvd19jb3VudCA9IGlu dChyZXNbJ3Jvd3MnXVswXS5nZXQoJ3JlbHR1cGxlcycsIDApKQotCi0gICAgICAgICMgQ2hlY2sg d2hldGhlciAncmxzcG9saWN5JyBpbiByZXNwb25zZSBhcyBpdCBzdXBwb3J0ZWQgZm9yCi0gICAg ICAgICMgdmVyc2lvbiA5LjUgYW5kIGFib3ZlCi0gICAgICAgIFRhYmxlVmlldy5fY2hlY2tfcmxz cG9saWN5X3N1cHBvcnQocmVzKQotCi0gICAgICAgICMgSWYgZXN0aW1hdGVkIHJvd3MgYXJlIGdy ZWF0ZXIgdGhhbiB0aHJlc2hvbGQgdGhlbgotICAgICAgICBpZiBlc3RpbWF0ZWRfcm93X2NvdW50 IGFuZCBcCi0gICAgICAgICAgICAgICAgZXN0aW1hdGVkX3Jvd19jb3VudCA+IHRhYmxlX3Jvd19j b3VudF90aHJlc2hvbGQ6Ci0gICAgICAgICAgICByZXNbJ3Jvd3MnXVswXVsncm93c19jbnQnXSA9 IHN0cih0YWJsZV9yb3dfY291bnRfdGhyZXNob2xkKSArICcrJwotCi0gICAgICAgICMgSWYgZXN0 aW1hdGVkIHJvd3MgaXMgbG93ZXIgdGhhbiB0aHJlc2hvbGQgdGhlbiBjYWxjdWxhdGUgdGhlIGNv dW50Ci0gICAgICAgIGVsaWYgZXN0aW1hdGVkX3Jvd19jb3VudCBhbmQgXAotICAgICAgICAgICAg ICAgIHRhYmxlX3Jvd19jb3VudF90aHJlc2hvbGQgPj0gZXN0aW1hdGVkX3Jvd19jb3VudDoKLSAg ICAgICAgICAgIHNxbCA9IHJlbmRlcl90ZW1wbGF0ZSgKLSAgICAgICAgICAgICAgICAiLyIuam9p bigKLSAgICAgICAgICAgICAgICAgICAgW3NlbGYudGFibGVfdGVtcGxhdGVfcGF0aCwgJ2dldF90 YWJsZV9yb3dfY291bnQuc3FsJ10KLSAgICAgICAgICAgICAgICApLCBkYXRhPXJlc1sncm93cydd WzBdCi0gICAgICAgICAgICApCi0KLSAgICAgICAgICAgIHN0YXR1cywgY291bnQgPSBzZWxmLmNv bm4uZXhlY3V0ZV9zY2FsYXIoc3FsKQotCi0gICAgICAgICAgICBpZiBub3Qgc3RhdHVzOgotICAg ICAgICAgICAgICAgIHJldHVybiBGYWxzZSwgaW50ZXJuYWxfc2VydmVyX2Vycm9yKGVycm9ybXNn PWNvdW50KQotCi0gICAgICAgICAgICByZXNbJ3Jvd3MnXVswXVsncm93c19jbnQnXSA9IGNvdW50 Ci0KLSAgICAgICAgIyBJZiBlc3RpbWF0ZWRfcm93X2NvdW50IGlzIHplcm8gdGhlbiBzZXQgdGhl IHJvdyBjb3VudCB3aXRoIHNhbWUKLSAgICAgICAgZWxpZiBub3QgZXN0aW1hdGVkX3Jvd19jb3Vu dDoKLSAgICAgICAgICAgIHJlc1sncm93cyddWzBdWydyb3dzX2NudCddID0gZXN0aW1hdGVkX3Jv d19jb3VudAotCi0gICAgICAgIHJldHVybiBUcnVlLCByZXMKLQogICAgIEBCYXNlVGFibGVWaWV3 LmNoZWNrX3ByZWNvbmRpdGlvbgogICAgIGRlZiB0eXBlcyhzZWxmLCBnaWQsIHNpZCwgZGlkLCBz Y2lkLCB0aWQ9Tm9uZSwgY2xpZD1Ob25lKToKICAgICAgICAgIiIiCkBAIC02ODYsMTIgKzYwNCw4 IEBAIGNsYXNzIFRhYmxlVmlldyhCYXNlVGFibGVWaWV3LCBEYXRhVHlwZVJlYWRlciwgVmFjdXVt U2V0dGluZ3MsCiAgICAgICAgICAgICBUaGlzIGZ1bmN0aW9uIHdpbGwgcmV0dXJuIGxpc3Qgb2Yg dHlwZXMgYXZhaWxhYmxlIGZvciBjb2x1bW4gbm9kZQogICAgICAgICAgICAgZm9yIG5vZGUtYWph eC1jb250cm9sCiAgICAgICAgICIiIgotICAgICAgICBjb25kaXRpb24gPSByZW5kZXJfdGVtcGxh dGUoCi0gICAgICAgICAgICAiLyIuam9pbihbCi0gICAgICAgICAgICAgICAgc2VsZi50YWJsZV90 ZW1wbGF0ZV9wYXRoLCAnZ2V0X3R5cGVzX3doZXJlX2NvbmRpdGlvbi5zcWwnCi0gICAgICAgICAg ICBdKSwKLSAgICAgICAgICAgIHNob3dfc3lzdGVtX29iamVjdHM9c2VsZi5ibHVlcHJpbnQuc2hv d19zeXN0ZW1fb2JqZWN0cwotICAgICAgICApCisgICAgICAgIGNvbmRpdGlvbiA9IHNlbGYuZ2V0 X3R5cGVzX2NvbmRpdGlvbl9zcWwoCisgICAgICAgICAgICBzZWxmLmJsdWVwcmludC5zaG93X3N5 c3RlbV9vYmplY3RzKQogCiAgICAgICAgIHN0YXR1cywgdHlwZXMgPSBzZWxmLmdldF90eXBlcyhz ZWxmLmNvbm4sIGNvbmRpdGlvbiwgVHJ1ZSwgc2lkKQogCkBAIC0xMDczLDcgKzk4Nyw3IEBAIGNs YXNzIFRhYmxlVmlldyhCYXNlVGFibGVWaWV3LCBEYXRhVHlwZVJlYWRlciwgVmFjdXVtU2V0dGlu Z3MsCiAgICAgICAgICAgICAgICAgZGF0YVtrXSA9IHYKIAogICAgICAgICB0cnk6Ci0gICAgICAg ICAgICBzdGF0dXMsIHJlcyA9IHNlbGYuX2ZldGNoX3Byb3BlcnRpZXMoZGlkLCBzY2lkLCB0aWQp CisgICAgICAgICAgICBzdGF0dXMsIHJlcyA9IHNlbGYuX2ZldGNoX3RhYmxlX3Byb3BlcnRpZXMo ZGlkLCBzY2lkLCB0aWQpCiAgICAgICAgICAgICBpZiBub3Qgc3RhdHVzOgogICAgICAgICAgICAg ICAgIHJldHVybiByZXMKIApAQCAtMTMxNCw3ICsxMjI4LDcgQEAgY2xhc3MgVGFibGVWaWV3KEJh c2VUYWJsZVZpZXcsIERhdGFUeXBlUmVhZGVyLCBWYWN1dW1TZXR0aW5ncywKICAgICAgICAgcmVz ID0gTm9uZQogCiAgICAgICAgIGlmIHRpZCBpcyBub3QgTm9uZToKLSAgICAgICAgICAgIHN0YXR1 cywgcmVzID0gc2VsZi5fZmV0Y2hfcHJvcGVydGllcyhkaWQsIHNjaWQsIHRpZCkKKyAgICAgICAg ICAgIHN0YXR1cywgcmVzID0gc2VsZi5fZmV0Y2hfdGFibGVfcHJvcGVydGllcyhkaWQsIHNjaWQs IHRpZCkKICAgICAgICAgICAgIGlmIG5vdCBzdGF0dXM6CiAgICAgICAgICAgICAgICAgcmV0dXJu IHJlcwogCkBAIC0xMzc4LDcgKzEyOTIsNyBAQCBjbGFzcyBUYWJsZVZpZXcoQmFzZVRhYmxlVmll dywgRGF0YVR5cGVSZWFkZXIsIFZhY3V1bVNldHRpbmdzLAogICAgICAgICAiIiIKICAgICAgICAg bWFpbl9zcWwgPSBbXQogCi0gICAgICAgIHN0YXR1cywgcmVzID0gc2VsZi5fZmV0Y2hfcHJvcGVy dGllcyhkaWQsIHNjaWQsIHRpZCkKKyAgICAgICAgc3RhdHVzLCByZXMgPSBzZWxmLl9mZXRjaF90 YWJsZV9wcm9wZXJ0aWVzKGRpZCwgc2NpZCwgdGlkKQogICAgICAgICBpZiBub3Qgc3RhdHVzOgog ICAgICAgICAgICAgcmV0dXJuIHJlcwogCkBAIC0xNjY1LDU3ICsxNTc5LDEyIEBAIGNsYXNzIFRh YmxlVmlldyhCYXNlVGFibGVWaWV3LCBEYXRhVHlwZVJlYWRlciwgVmFjdXVtU2V0dGluZ3MsCiAg ICAgICAgIDpyZXR1cm46IFRhYmxlIGRhdGFzZXQKICAgICAgICAgIiIiCiAKLSAgICAgICAgaWYg dGlkOgotICAgICAgICAgICAgc3RhdHVzLCBkYXRhID0gc2VsZi5fZmV0Y2hfcHJvcGVydGllcyhk aWQsIHNjaWQsIHRpZCkKLQotICAgICAgICAgICAgaWYgbm90IHN0YXR1czoKLSAgICAgICAgICAg ICAgICBjdXJyZW50X2FwcC5sb2dnZXIuZXJyb3IoZGF0YSkKLSAgICAgICAgICAgICAgICByZXR1 cm4gRmFsc2UKLQotICAgICAgICAgICAgZGF0YSA9IHN1cGVyKFRhYmxlVmlldywgc2VsZikucHJv cGVydGllcygKLSAgICAgICAgICAgICAgICAwLCBzaWQsIGRpZCwgc2NpZCwgdGlkLCByZXM9ZGF0 YSwgcmV0dXJuX2FqYXhfcmVzcG9uc2U9RmFsc2UKLSAgICAgICAgICAgICkKLQotICAgICAgICAg ICAgcmV0dXJuIGRhdGEKLQotICAgICAgICBlbHNlOgotICAgICAgICAgICAgcmVzID0gZGljdCgp Ci0gICAgICAgICAgICBzcWwgPSByZW5kZXJfdGVtcGxhdGUoIi8iLmpvaW4oW3NlbGYudGFibGVf dGVtcGxhdGVfcGF0aCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgc2VsZi5fTk9ERVNfU1FMXSksIHNjaWQ9c2NpZCkKLSAgICAgICAgICAgIHN0YXR1cywgdGFi bGVzID0gc2VsZi5jb25uLmV4ZWN1dGVfMmRhcnJheShzcWwpCi0gICAgICAgICAgICBpZiBub3Qg c3RhdHVzOgotICAgICAgICAgICAgICAgIGN1cnJlbnRfYXBwLmxvZ2dlci5lcnJvcih0YWJsZXMp Ci0gICAgICAgICAgICAgICAgcmV0dXJuIEZhbHNlCi0KLSAgICAgICAgICAgIGZvciByb3cgaW4g dGFibGVzWydyb3dzJ106Ci0gICAgICAgICAgICAgICAgc3RhdHVzLCBkYXRhID0gc2VsZi5fZmV0 Y2hfcHJvcGVydGllcyhkaWQsIHNjaWQsIHJvd1snb2lkJ10pCi0KLSAgICAgICAgICAgICAgICBp ZiBzdGF0dXM6Ci0gICAgICAgICAgICAgICAgICAgIGRhdGEgPSBzdXBlcihUYWJsZVZpZXcsIHNl bGYpLnByb3BlcnRpZXMoCi0gICAgICAgICAgICAgICAgICAgICAgICAwLCBzaWQsIGRpZCwgc2Np ZCwgcm93WydvaWQnXSwgcmVzPWRhdGEsCi0gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm5f YWpheF9yZXNwb25zZT1GYWxzZQotICAgICAgICAgICAgICAgICAgICApCi0KLSAgICAgICAgICAg ICAgICAgICAgIyBHZXQgc3ViIG1vZHVsZSBkYXRhIG9mIGEgc3BlY2lmaWVkIHRhYmxlIGZvciBv YmplY3QKLSAgICAgICAgICAgICAgICAgICAgIyBjb21wYXJpc29uCi0gICAgICAgICAgICAgICAg ICAgIHNlbGYuX2dldF9zdWJfbW9kdWxlX2RhdGFfZm9yX2NvbXBhcmUoc2lkLCBkaWQsIHNjaWQs IGRhdGEsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgcm93KQotICAgICAgICAgICAgICAgICAgICByZXNbcm93WyduYW1lJ11dID0gZGF0 YQotCi0gICAgICAgICAgICByZXR1cm4gcmVzCisgICAgICAgIHN0YXR1cywgcmVzID0gQmFzZVRh YmxlVmlldy5mZXRjaF90YWJsZXMoc2VsZiwgc2lkLCBkaWQsIHNjaWQsIHRpZCkKKyAgICAgICAg aWYgbm90IHN0YXR1czoKKyAgICAgICAgICAgIGN1cnJlbnRfYXBwLmxvZ2dlci5lcnJvcihyZXMp CisgICAgICAgICAgICByZXR1cm4gRmFsc2UKIAotICAgIGRlZiBfZ2V0X3N1Yl9tb2R1bGVfZGF0 YV9mb3JfY29tcGFyZShzZWxmLCBzaWQsIGRpZCwgc2NpZCwgZGF0YSwgcm93KToKLSAgICAgICAg IyBHZXQgc3ViIG1vZHVsZSBkYXRhIG9mIGEgc3BlY2lmaWVkIHRhYmxlIGZvciBvYmplY3QKLSAg ICAgICAgIyBjb21wYXJpc29uCi0gICAgICAgIGZvciBtb2R1bGUgaW4gc2VsZi50YWJsZXNfc3Vi X21vZHVsZXM6Ci0gICAgICAgICAgICBtb2R1bGVfdmlldyA9IFNjaGVtYURpZmZSZWdpc3RyeS5n ZXRfbm9kZV92aWV3KG1vZHVsZSkKLSAgICAgICAgICAgIGlmIG1vZHVsZV92aWV3LmJsdWVwcmlu dC5zZXJ2ZXJfdHlwZSBpcyBOb25lIG9yIFwKLSAgICAgICAgICAgICAgICBzZWxmLm1hbmFnZXIu c2VydmVyX3R5cGUgaW4gXAotICAgICAgICAgICAgICAgICAgICBtb2R1bGVfdmlldy5ibHVlcHJp bnQuc2VydmVyX3R5cGU6Ci0gICAgICAgICAgICAgICAgc3ViX2RhdGEgPSBtb2R1bGVfdmlldy5m ZXRjaF9vYmplY3RzX3RvX2NvbXBhcmUoCi0gICAgICAgICAgICAgICAgICAgIHNpZD1zaWQsIGRp ZD1kaWQsIHNjaWQ9c2NpZCwgdGlkPXJvd1snb2lkJ10sCi0gICAgICAgICAgICAgICAgICAgIG9p ZD1Ob25lKQotICAgICAgICAgICAgICAgIGRhdGFbbW9kdWxlXSA9IHN1Yl9kYXRhCisgICAgICAg IHJldHVybiByZXMKIAogICAgIGRlZiBnZXRfc3VibW9kdWxlX3RlbXBsYXRlX3BhdGgoc2VsZiwg bW9kdWxlX25hbWUpOgogICAgICAgICAiIiIKZGlmZiAtLWdpdCBhL3dlYi9wZ2FkbWluL2Jyb3dz ZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy9zY2hlbWFzL3RhYmxlcy9jb25zdHJh aW50cy9mb3JlaWduX2tleS91dGlscy5weSBiL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dy b3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy9zY2hlbWFzL3RhYmxlcy9jb25zdHJhaW50cy9mb3JlaWdu X2tleS91dGlscy5weQppbmRleCBjYWU2YzE1N2MuLjNlOTllNTY5OCAxMDA2NDQKLS0tIGEvd2Vi L3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJhc2VzL3NjaGVtYXMv dGFibGVzL2NvbnN0cmFpbnRzL2ZvcmVpZ25fa2V5L3V0aWxzLnB5CisrKyBiL3dlYi9wZ2FkbWlu L2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy9zY2hlbWFzL3RhYmxlcy9j b25zdHJhaW50cy9mb3JlaWduX2tleS91dGlscy5weQpAQCAtMzE4LDIyICszMTgsMjMgQEAgZGVm IF9nZXRfc3FsX2Zvcl9jcmVhdGVfZmtfY29uc3QoZGF0YSwgY29ubiwgdGVtcGxhdGVfcGF0aCk6 CiAgICAgICAgICBsZW4oZGF0YVsnY29sdW1ucyddKSA8IDEpOgogICAgICAgICByZXR1cm4gVHJ1 ZSwgJy0tIGRlZmluaXRpb24gaW5jb21wbGV0ZScsIG5hbWUsICcnCiAKLSAgICBpZiBkYXRhWydh dXRvaW5kZXgnXSBhbmQgXAorICAgIGlmIGRhdGEuZ2V0KCdhdXRvaW5kZXgnLCBGYWxzZSkgYW5k IFwKICAgICAgICAgICAgICgnY292ZXJpbmdpbmRleCcgbm90IGluIGRhdGEgb3IgZGF0YVsnY292 ZXJpbmdpbmRleCddID09ICcnKToKICAgICAgICAgcmV0dXJuIFRydWUsICctLSBkZWZpbml0aW9u IGluY29tcGxldGUnLCBuYW1lLCAnJwogCi0gICAgIyBHZXQgdGhlIHBhcmVudCBzY2hlbWEgYW5k IHRhYmxlLgotICAgIHNjaGVtYSwgdGFibGUgPSBnZXRfcGFyZW50KGNvbm4sCi0gICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgZGF0YVsnY29sdW1ucyddWzBdWydyZWZlcmVuY2VzJ10pCisg ICAgaWYgJ3JlZmVyZW5jZXMnIGluIGRhdGFbJ2NvbHVtbnMnXVswXToKKyAgICAgICAgIyBHZXQg dGhlIHBhcmVudCBzY2hlbWEgYW5kIHRhYmxlLgorICAgICAgICBzY2hlbWEsIHRhYmxlID0gZ2V0 X3BhcmVudChjb25uLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhWydj b2x1bW5zJ11bMF1bJ3JlZmVyZW5jZXMnXSkKIAotICAgICMgQmVsb3cgaGFuZGxpbmcgd2lsbCBi ZSB1c2VkIGluIFNjaGVtYSBkaWZmIGluIGNhc2UKLSAgICAjIG9mIGRpZmZlcmVudCBkYXRhYmFz ZSBjb21wYXJpc29uCi0gICAgX2NoZWNrc19mb3Jfc2NoZW1hX2RpZmYodGFibGUsIHNjaGVtYSwg ZGF0YSkKKyAgICAgICAgIyBCZWxvdyBoYW5kbGluZyB3aWxsIGJlIHVzZWQgaW4gU2NoZW1hIGRp ZmYgaW4gY2FzZQorICAgICAgICAjIG9mIGRpZmZlcmVudCBkYXRhYmFzZSBjb21wYXJpc29uCisg ICAgICAgIF9jaGVja3NfZm9yX3NjaGVtYV9kaWZmKHRhYmxlLCBzY2hlbWEsIGRhdGEpCiAKICAg ICBzcWwgPSByZW5kZXJfdGVtcGxhdGUoIi8iLmpvaW4oW3RlbXBsYXRlX3BhdGgsICdjcmVhdGUu c3FsJ10pLAogICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhPWRhdGEsIGNvbm49Y29ubikK IAotICAgIGlmIGRhdGFbJ2F1dG9pbmRleCddOgorICAgIGlmIGRhdGEuZ2V0KCdhdXRvaW5kZXgn LCBGYWxzZSk6CiAgICAgICAgIHNxbCArPSByZW5kZXJfdGVtcGxhdGUoCiAgICAgICAgICAgICAi LyIuam9pbihbdGVtcGxhdGVfcGF0aCwgJ2NyZWF0ZV9pbmRleC5zcWwnXSksCiAgICAgICAgICAg ICBkYXRhPWRhdGEsIGNvbm49Y29ubikKZGlmZiAtLWdpdCBhL3dlYi9wZ2FkbWluL2Jyb3dzZXIv c2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy9zY2hlbWFzL3RhYmxlcy9wYXJ0aXRpb25z L19faW5pdF9fLnB5IGIvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMv ZGF0YWJhc2VzL3NjaGVtYXMvdGFibGVzL3BhcnRpdGlvbnMvX19pbml0X18ucHkKaW5kZXggMWE3 MmQ4YWIzLi5kNzAwY2NmZjIgMTAwNjQ0Ci0tLSBhL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVy X2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy9zY2hlbWFzL3RhYmxlcy9wYXJ0aXRpb25zL19faW5p dF9fLnB5CisrKyBiL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2Rh dGFiYXNlcy9zY2hlbWFzL3RhYmxlcy9wYXJ0aXRpb25zL19faW5pdF9fLnB5CkBAIC0xNzUsOCAr MTc1LDcgQEAgY2xhc3MgUGFydGl0aW9uc01vZHVsZShDb2xsZWN0aW9uTm9kZU1vZHVsZSk6CiBi bHVlcHJpbnQgPSBQYXJ0aXRpb25zTW9kdWxlKF9fbmFtZV9fKQogCiAKLWNsYXNzIFBhcnRpdGlv bnNWaWV3KEJhc2VUYWJsZVZpZXcsIERhdGFUeXBlUmVhZGVyLCBWYWN1dW1TZXR0aW5ncywKLSAg ICAgICAgICAgICAgICAgICAgIFNjaGVtYURpZmZPYmplY3RDb21wYXJlKToKK2NsYXNzIFBhcnRp dGlvbnNWaWV3KEJhc2VUYWJsZVZpZXcsIERhdGFUeXBlUmVhZGVyLCBTY2hlbWFEaWZmT2JqZWN0 Q29tcGFyZSk6CiAgICAgIiIiCiAgICAgVGhpcyBjbGFzcyBpcyByZXNwb25zaWJsZSBmb3IgZ2Vu ZXJhdGluZyByb3V0ZXMgZm9yIFBhcnRpdGlvbiBub2RlCiAKZGlmZiAtLWdpdCBhL3dlYi9wZ2Fk bWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy9zY2hlbWFzL3RhYmxl cy90ZW1wbGF0ZXMvZm9yZWlnbl9rZXkvc3FsL2RlZmF1bHQvY3JlYXRlLnNxbCBiL3dlYi9wZ2Fk bWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy9zY2hlbWFzL3RhYmxl cy90ZW1wbGF0ZXMvZm9yZWlnbl9rZXkvc3FsL2RlZmF1bHQvY3JlYXRlLnNxbAppbmRleCAyMmZk NzlhOWMuLmM4ZGQ5NmY4MiAxMDA2NDQKLS0tIGEvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJf Z3JvdXBzL3NlcnZlcnMvZGF0YWJhc2VzL3NjaGVtYXMvdGFibGVzL3RlbXBsYXRlcy9mb3JlaWdu X2tleS9zcWwvZGVmYXVsdC9jcmVhdGUuc3FsCisrKyBiL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2Vy dmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy9zY2hlbWFzL3RhYmxlcy90ZW1wbGF0ZXMvZm9y ZWlnbl9rZXkvc3FsL2RlZmF1bHQvY3JlYXRlLnNxbApAQCAtMiwyMSArMiwyMSBAQCBBTFRFUiBU QUJMRSB7eyBjb25ufHF0SWRlbnQoZGF0YS5zY2hlbWEsIGRhdGEudGFibGUpIH19CiAgICAgQURE eyUgaWYgZGF0YS5uYW1lICV9IENPTlNUUkFJTlQge3sgY29ubnxxdElkZW50KGRhdGEubmFtZSkg fX17JSBlbmRpZiV9IEZPUkVJR04gS0VZICh7JSBmb3IgY29sdW1ub2JqIGluIGRhdGEuY29sdW1u cyAlfXslIGlmIGxvb3AuaW5kZXggIT0gMSAlfQogLCB7JSBlbmRpZiAlfXt7IGNvbm58cXRJZGVu dChjb2x1bW5vYmoubG9jYWxfY29sdW1uKX19eyUgZW5kZm9yICV9KQogICAgIFJFRkVSRU5DRVMg e3sgY29ubnxxdElkZW50KGRhdGEucmVtb3RlX3NjaGVtYSwgZGF0YS5yZW1vdGVfdGFibGUpIH19 ICh7JSBmb3IgY29sdW1ub2JqIGluIGRhdGEuY29sdW1ucyAlfXslIGlmIGxvb3AuaW5kZXggIT0g MSAlfQotLCB7JSBlbmRpZiAlfXt7IGNvbm58cXRJZGVudChjb2x1bW5vYmoucmVmZXJlbmNlZCl9 fXslIGVuZGZvciAlfSkgeyUgaWYgZGF0YS5jb25mbWF0Y2h0eXBlICV9TUFUQ0ggRlVMTHslIGVs c2UgJX1NQVRDSCBTSU1QTEV7JSBlbmRpZiV9CissIHslIGVuZGlmICV9e3sgY29ubnxxdElkZW50 KGNvbHVtbm9iai5yZWZlcmVuY2VkKX19eyUgZW5kZm9yICV9KXslIGlmIGRhdGEuY29uZm1hdGNo dHlwZSBpcyBkZWZpbmVkICV9IHslIGlmIGRhdGEuY29uZm1hdGNodHlwZSAlfU1BVENIIEZVTEx7 JSBlbHNlICV9TUFUQ0ggU0lNUExFeyUgZW5kaWYlfXslIGVuZGlmJX17JSBpZiBkYXRhLmNvbmZ1 cGR0eXBlIGlzIGRlZmluZWQgJX0KIAogICAgIE9OIFVQREFURXslIGlmIGRhdGEuY29uZnVwZHR5 cGUgID09ICdhJyAlfQogIE5PIEFDVElPTnslIGVsaWYgZGF0YS5jb25mdXBkdHlwZSAgPT0gJ3In ICV9CiAgUkVTVFJJQ1R7JSBlbGlmIGRhdGEuY29uZnVwZHR5cGUgID09ICdjJyAlfQogIENBU0NB REV7JSBlbGlmIGRhdGEuY29uZnVwZHR5cGUgID09ICduJyAlfQogIFNFVCBOVUxMeyUgZWxpZiBk YXRhLmNvbmZ1cGR0eXBlICA9PSAnZCcgJX0KLSBTRVQgREVGQVVMVHslIGVuZGlmICV9CisgU0VU IERFRkFVTFR7JSBlbmRpZiAlfXslIGVuZGlmICV9eyUgaWYgZGF0YS5jb25mZGVsdHlwZSBpcyBk ZWZpbmVkICV9CiAKICAgICBPTiBERUxFVEV7JSBpZiBkYXRhLmNvbmZkZWx0eXBlICA9PSAnYScg JX0KICBOTyBBQ1RJT057JSBlbGlmIGRhdGEuY29uZmRlbHR5cGUgID09ICdyJyAlfQogIFJFU1RS SUNUeyUgZWxpZiBkYXRhLmNvbmZkZWx0eXBlICA9PSAnYycgJX0KICBDQVNDQURFeyUgZWxpZiBk YXRhLmNvbmZkZWx0eXBlICA9PSAnbicgJX0KICBTRVQgTlVMTHslIGVsaWYgZGF0YS5jb25mZGVs dHlwZSAgPT0gJ2QnICV9Ci0gU0VUIERFRkFVTFR7JSBlbmRpZiAlfQorIFNFVCBERUZBVUxUeyUg ZW5kaWYgJX17JSBlbmRpZiAlfQogeyUgaWYgZGF0YS5jb25kZWZlcnJhYmxlICV9CiAKICAgICBE RUZFUlJBQkxFeyUgaWYgZGF0YS5jb25kZWZlcnJlZCAlfQpkaWZmIC0tZ2l0IGEvd2ViL3BnYWRt aW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJhc2VzL3NjaGVtYXMvdGFibGVz L3V0aWxzLnB5IGIvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0 YWJhc2VzL3NjaGVtYXMvdGFibGVzL3V0aWxzLnB5CmluZGV4IDY2YmVhODEyOC4uMWU1MDFiMWNi IDEwMDY0NAotLS0gYS93ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy9k YXRhYmFzZXMvc2NoZW1hcy90YWJsZXMvdXRpbHMucHkKKysrIGIvd2ViL3BnYWRtaW4vYnJvd3Nl ci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJhc2VzL3NjaGVtYXMvdGFibGVzL3V0aWxzLnB5 CkBAIC00NSw5ICs0NSwxMyBAQCBmcm9tIHBnYWRtaW4uYnJvd3Nlci5zZXJ2ZXJfZ3JvdXBzLnNl cnZlcnMuZGF0YWJhc2VzLnNjaGVtYXMudGFibGVzLlwKIGZyb20gcGdhZG1pbi5icm93c2VyLnNl cnZlcl9ncm91cHMuc2VydmVycy5kYXRhYmFzZXMuc2NoZW1hcy4gXAogICAgIHRhYmxlcy5yb3df c2VjdXJpdHlfcG9saWNpZXMgaW1wb3J0IFwKICAgICB1dGlscyBhcyByb3dfc2VjdXJpdHlfcG9s aWNpZXNfdXRpbHMKK2Zyb20gcGdhZG1pbi51dGlscy5wcmVmZXJlbmNlcyBpbXBvcnQgUHJlZmVy ZW5jZXMKK2Zyb20gcGdhZG1pbi5icm93c2VyLnNlcnZlcl9ncm91cHMuc2VydmVycy5kYXRhYmFz ZXMuc2NoZW1hcy51dGlscyBcCisgICAgaW1wb3J0IFZhY3V1bVNldHRpbmdzCitmcm9tIHBnYWRt aW4udG9vbHMuc2NoZW1hX2RpZmYubm9kZV9yZWdpc3RyeSBpbXBvcnQgU2NoZW1hRGlmZlJlZ2lz dHJ5CiAKIAotY2xhc3MgQmFzZVRhYmxlVmlldyhQR0NoaWxkTm9kZVZpZXcsIEJhc2VQYXJ0aXRp b25UYWJsZSk6CitjbGFzcyBCYXNlVGFibGVWaWV3KFBHQ2hpbGROb2RlVmlldywgQmFzZVBhcnRp dGlvblRhYmxlLCBWYWN1dW1TZXR0aW5ncyk6CiAgICAgIiIiCiAgICAgVGhpcyBjbGFzcyBpcyBi YXNlIGNsYXNzIGZvciB0YWJsZXMgYW5kIHBhcnRpdGlvbmVkIHRhYmxlcy4KIApAQCAtMTAxLDcg KzEwNSwxMSBAQCBjbGFzcyBCYXNlVGFibGVWaWV3KFBHQ2hpbGROb2RlVmlldywgQmFzZVBhcnRp dGlvblRhYmxlKToKICAgICAgICAgICAgIGRyaXZlciA9IGdldF9kcml2ZXIoUEdfREVGQVVMVF9E UklWRVIpCiAgICAgICAgICAgICBkaWQgPSBrd2FyZ3NbJ2RpZCddCiAgICAgICAgICAgICBzZWxm Lm1hbmFnZXIgPSBkcml2ZXIuY29ubmVjdGlvbl9tYW5hZ2VyKGt3YXJnc1snc2lkJ10pCi0gICAg ICAgICAgICBzZWxmLmNvbm4gPSBzZWxmLm1hbmFnZXIuY29ubmVjdGlvbihkaWQ9a3dhcmdzWydk aWQnXSkKKyAgICAgICAgICAgIGlmICJjb25uX2lkIiBpbiBrd2FyZ3M6CisgICAgICAgICAgICAg ICAgc2VsZi5jb25uID0gc2VsZi5tYW5hZ2VyLmNvbm5lY3Rpb24oCisgICAgICAgICAgICAgICAg ICAgIGRpZD1rd2FyZ3NbJ2RpZCddLCBjb25uX2lkPWt3YXJnc1snY29ubl9pZCddKQorICAgICAg ICAgICAgZWxzZToKKyAgICAgICAgICAgICAgICBzZWxmLmNvbm4gPSBzZWxmLm1hbmFnZXIuY29u bmVjdGlvbihkaWQ9a3dhcmdzWydkaWQnXSkKICAgICAgICAgICAgIHNlbGYucXRJZGVudCA9IGRy aXZlci5xdElkZW50CiAgICAgICAgICAgICBzZWxmLnF0VHlwZUlkZW50ID0gZHJpdmVyLnF0VHlw ZUlkZW50CiAgICAgICAgICAgICAjIFdlIG5lZWQgZGF0bGFzdHN5c29pZCB0byBjaGVjayBpZiBj dXJyZW50IHRhYmxlIGlzIHN5c3RlbSB0YWJsZQpAQCAtNDQyLDYgKzQ1MCwxNjEgQEAgY2xhc3Mg QmFzZVRhYmxlVmlldyhQR0NoaWxkTm9kZVZpZXcsIEJhc2VQYXJ0aXRpb25UYWJsZSk6CiAgICAg ICAgICAgICBzdGF0dXM9MjAwCiAgICAgICAgICkKIAorICAgIGRlZiBnZXRfdHlwZXNfY29uZGl0 aW9uX3NxbChzZWxmLCBzaG93X3N5c3RlbV9vYmplY3RzKToKKyAgICAgICAgY29uZGl0aW9uID0g cmVuZGVyX3RlbXBsYXRlKAorICAgICAgICAgICAgIi8iLmpvaW4oWworICAgICAgICAgICAgICAg IHNlbGYudGFibGVfdGVtcGxhdGVfcGF0aCwgJ2dldF90eXBlc193aGVyZV9jb25kaXRpb24uc3Fs JworICAgICAgICAgICAgXSksCisgICAgICAgICAgICBzaG93X3N5c3RlbV9vYmplY3RzPXNob3df c3lzdGVtX29iamVjdHMKKyAgICAgICAgKQorCisgICAgICAgIHJldHVybiBjb25kaXRpb24KKwor ICAgIGRlZiBmZXRjaF90YWJsZXMoc2VsZiwgc2lkLCBkaWQsIHNjaWQsIHRpZD1Ob25lKToKKyAg ICAgICAgIiIiCisgICAgICAgIFRoaXMgZnVuY3Rpb24gd2lsbCBmZXRjaCB0aGUgbGlzdCBvZiBh bGwgdGhlIHRhYmxlcworICAgICAgICBhbmQgd2lsbCBiZSB1c2VkIGJ5IHNjaGVtYSBkaWZmLgor CisgICAgICAgIDpwYXJhbSBzaWQ6IFNlcnZlciBJZAorICAgICAgICA6cGFyYW0gZGlkOiBEYXRh YmFzZSBJZAorICAgICAgICA6cGFyYW0gc2NpZDogU2NoZW1hIElkCisgICAgICAgIDpwYXJhbSB0 aWQ6IFRhYmxlIElkCisgICAgICAgIDpyZXR1cm46IFRhYmxlIGRhdGFzZXQKKyAgICAgICAgIiIi CisKKyAgICAgICAgaWYgdGlkOgorICAgICAgICAgICAgc3RhdHVzLCBkYXRhID0gc2VsZi5fZmV0 Y2hfdGFibGVfcHJvcGVydGllcyhkaWQsIHNjaWQsIHRpZCkKKworICAgICAgICAgICAgaWYgbm90 IHN0YXR1czoKKyAgICAgICAgICAgICAgICByZXR1cm4gRmFsc2UsIGRhdGEKKworICAgICAgICAg ICAgZGF0YSA9IEJhc2VUYWJsZVZpZXcucHJvcGVydGllcygKKyAgICAgICAgICAgICAgICBzZWxm LCAwLCBzaWQsIGRpZCwgc2NpZCwgdGlkLCByZXM9ZGF0YSwKKyAgICAgICAgICAgICAgICByZXR1 cm5fYWpheF9yZXNwb25zZT1GYWxzZQorICAgICAgICAgICAgKQorCisgICAgICAgICAgICByZXR1 cm4gVHJ1ZSwgZGF0YQorCisgICAgICAgIGVsc2U6CisgICAgICAgICAgICByZXMgPSBkaWN0KCkK KyAgICAgICAgICAgIHNxbCA9IHJlbmRlcl90ZW1wbGF0ZSgiLyIuam9pbihbc2VsZi50YWJsZV90 ZW1wbGF0ZV9wYXRoLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBzZWxmLl9OT0RFU19TUUxdKSwgc2NpZD1zY2lkKQorICAgICAgICAgICAgc3RhdHVzLCB0YWJs ZXMgPSBzZWxmLmNvbm4uZXhlY3V0ZV8yZGFycmF5KHNxbCkKKyAgICAgICAgICAgIGlmIG5vdCBz dGF0dXM6CisgICAgICAgICAgICAgICAgcmV0dXJuIEZhbHNlLCB0YWJsZXMKKworICAgICAgICAg ICAgZm9yIHJvdyBpbiB0YWJsZXNbJ3Jvd3MnXToKKyAgICAgICAgICAgICAgICBzdGF0dXMsIGRh dGEgPSBcCisgICAgICAgICAgICAgICAgICAgIHNlbGYuX2ZldGNoX3RhYmxlX3Byb3BlcnRpZXMo ZGlkLCBzY2lkLCByb3dbJ29pZCddKQorCisgICAgICAgICAgICAgICAgaWYgc3RhdHVzOgorICAg ICAgICAgICAgICAgICAgICBkYXRhID0gQmFzZVRhYmxlVmlldy5wcm9wZXJ0aWVzKAorICAgICAg ICAgICAgICAgICAgICAgICAgc2VsZiwgMCwgc2lkLCBkaWQsIHNjaWQsIHJvd1snb2lkJ10sIHJl cz1kYXRhLAorICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuX2FqYXhfcmVzcG9uc2U9RmFs c2UKKyAgICAgICAgICAgICAgICAgICAgKQorCisgICAgICAgICAgICAgICAgICAgICMgR2V0IHN1 YiBtb2R1bGUgZGF0YSBvZiBhIHNwZWNpZmllZCB0YWJsZSBmb3Igb2JqZWN0CisgICAgICAgICAg ICAgICAgICAgICMgY29tcGFyaXNvbgorICAgICAgICAgICAgICAgICAgICBCYXNlVGFibGVWaWV3 Ll9nZXRfc3ViX21vZHVsZV9kYXRhX2Zvcl9jb21wYXJlKAorICAgICAgICAgICAgICAgICAgICAg ICAgc2VsZiwgc2lkLCBkaWQsIHNjaWQsIGRhdGEsIHJvdykKKyAgICAgICAgICAgICAgICAgICAg cmVzW3Jvd1snbmFtZSddXSA9IGRhdGEKKyAgICAgICAgICAgICAgICAgICAgcmVzW3Jvd1snbmFt ZSddXSA9IGRhdGEKKworICAgICAgICAgICAgcmV0dXJuIFRydWUsIHJlcworCisgICAgZGVmIF9n ZXRfc3ViX21vZHVsZV9kYXRhX2Zvcl9jb21wYXJlKHNlbGYsIHNpZCwgZGlkLCBzY2lkLCBkYXRh LCByb3cpOgorICAgICAgICAjIEdldCBzdWIgbW9kdWxlIGRhdGEgb2YgYSBzcGVjaWZpZWQgdGFi bGUgZm9yIG9iamVjdAorICAgICAgICAjIGNvbXBhcmlzb24KKyAgICAgICAgZm9yIG1vZHVsZSBp biBzZWxmLnRhYmxlc19zdWJfbW9kdWxlczoKKyAgICAgICAgICAgIG1vZHVsZV92aWV3ID0gU2No ZW1hRGlmZlJlZ2lzdHJ5LmdldF9ub2RlX3ZpZXcobW9kdWxlKQorICAgICAgICAgICAgaWYgbW9k dWxlX3ZpZXcuYmx1ZXByaW50LnNlcnZlcl90eXBlIGlzIE5vbmUgb3IgXAorICAgICAgICAgICAg ICAgIHNlbGYubWFuYWdlci5zZXJ2ZXJfdHlwZSBpbiBcCisgICAgICAgICAgICAgICAgICAgIG1v ZHVsZV92aWV3LmJsdWVwcmludC5zZXJ2ZXJfdHlwZToKKyAgICAgICAgICAgICAgICBzdWJfZGF0 YSA9IG1vZHVsZV92aWV3LmZldGNoX29iamVjdHNfdG9fY29tcGFyZSgKKyAgICAgICAgICAgICAg ICAgICAgc2lkPXNpZCwgZGlkPWRpZCwgc2NpZD1zY2lkLCB0aWQ9cm93WydvaWQnXSwKKyAgICAg ICAgICAgICAgICAgICAgb2lkPU5vbmUpCisgICAgICAgICAgICAgICAgZGF0YVttb2R1bGVdID0g c3ViX2RhdGEKKworICAgIEBzdGF0aWNtZXRob2QKKyAgICBkZWYgX2NoZWNrX3Jsc3BvbGljeV9z dXBwb3J0KHJlcyk6CisgICAgICAgICIiIgorICAgICAgICBUaGlzIGZ1bmN0aW9uIGlzIHVzZWQg dG8gY2hlY2sgd2hldGhlciAncmxzcG9saWN5JyBpbiByZXNwb25zZQorICAgICAgICBhcyBpdCBz dXBwb3J0ZWQgZm9yIHZlcnNpb24gOS41IGFuZCBhYm92ZQorICAgICAgICA6cGFyYW0gcmVzOgor ICAgICAgICA6cmV0dXJuOgorICAgICAgICAiIiIKKyAgICAgICAgaWYgJ3Jsc3BvbGljeScgaW4g cmVzWydyb3dzJ11bMF06CisgICAgICAgICAgICAjIFNldCB0aGUgdmFsdWUgb2YgcmxzIHBvbGlj eQorICAgICAgICAgICAgaWYgcmVzWydyb3dzJ11bMF1bJ3Jsc3BvbGljeSddID09ICJ0cnVlIjoK KyAgICAgICAgICAgICAgICByZXNbJ3Jvd3MnXVswXVsncmxzcG9saWN5J10gPSBUcnVlCisKKyAg ICAgICAgICAgICMgU2V0IHRoZSB2YWx1ZSBvZiBmb3JjZSBybHMgcG9saWN5IGZvciB0YWJsZSBv d25lcgorICAgICAgICAgICAgaWYgcmVzWydyb3dzJ11bMF1bJ2ZvcmNlcmxzcG9saWN5J10gPT0g InRydWUiOgorICAgICAgICAgICAgICAgIHJlc1sncm93cyddWzBdWydmb3JjZXJsc3BvbGljeSdd ID0gVHJ1ZQorCisgICAgZGVmIF9mZXRjaF90YWJsZV9wcm9wZXJ0aWVzKHNlbGYsIGRpZCwgc2Np ZCwgdGlkKToKKyAgICAgICAgIiIiCisgICAgICAgIFRoaXMgZnVuY3Rpb24gaXMgdXNlZCB0byBm ZXRjaCB0aGUgcHJvcGVydGllcyBvZiB0aGUgc3BlY2lmaWVkIG9iamVjdAorICAgICAgICA6cGFy YW0gZGlkOgorICAgICAgICA6cGFyYW0gc2NpZDoKKyAgICAgICAgOnBhcmFtIHRpZDoKKyAgICAg ICAgOnJldHVybjoKKyAgICAgICAgIiIiCisgICAgICAgIHNxbCA9IHJlbmRlcl90ZW1wbGF0ZSgK KyAgICAgICAgICAgICIvIi5qb2luKFtzZWxmLnRhYmxlX3RlbXBsYXRlX3BhdGgsIHNlbGYuX1BS T1BFUlRJRVNfU1FMXSksCisgICAgICAgICAgICBkaWQ9ZGlkLCBzY2lkPXNjaWQsIHRpZD10aWQs CisgICAgICAgICAgICBkYXRsYXN0c3lzb2lkPXNlbGYuZGF0bGFzdHN5c29pZAorICAgICAgICAp CisgICAgICAgIHN0YXR1cywgcmVzID0gc2VsZi5jb25uLmV4ZWN1dGVfZGljdChzcWwpCisgICAg ICAgIGlmIG5vdCBzdGF0dXM6CisgICAgICAgICAgICByZXR1cm4gRmFsc2UsIGludGVybmFsX3Nl cnZlcl9lcnJvcihlcnJvcm1zZz1yZXMpCisKKyAgICAgICAgZWxpZiBsZW4ocmVzWydyb3dzJ10p ID09IDA6CisgICAgICAgICAgICByZXR1cm4gRmFsc2UsIGdvbmUoCisgICAgICAgICAgICAgICAg Z2V0dGV4dChzZWxmLm5vdF9mb3VuZF9lcnJvcl9tc2coKSkpCisKKyAgICAgICAgIyBVcGRhdGUg YXV0b3ZhY3V1bSBwcm9wZXJ0aWVzCisgICAgICAgIHNlbGYudXBkYXRlX2F1dG92YWN1dW1fcHJv cGVydGllcyhyZXNbJ3Jvd3MnXVswXSkKKworICAgICAgICAjIFdlIHdpbGwgY2hlY2sgdGhlIHRo cmVzaG9sZCBzZXQgYnkgdXNlciBiZWZvcmUgZXhlY3V0aW5nCisgICAgICAgICMgdGhlIHF1ZXJ5 IGJlY2F1c2UgdGhhdCBjYW4gY2F1c2UgcGVyZm9ybWFuY2UgaXNzdWVzCisgICAgICAgICMgd2l0 aCBsYXJnZSByZXN1bHQgc2V0CisgICAgICAgIHByZWYgPSBQcmVmZXJlbmNlcy5tb2R1bGUoJ2Jy b3dzZXInKQorICAgICAgICB0YWJsZV9yb3dfY291bnRfcHJlZiA9IHByZWYucHJlZmVyZW5jZSgn dGFibGVfcm93X2NvdW50X3RocmVzaG9sZCcpCisgICAgICAgIHRhYmxlX3Jvd19jb3VudF90aHJl c2hvbGQgPSB0YWJsZV9yb3dfY291bnRfcHJlZi5nZXQoKQorICAgICAgICBlc3RpbWF0ZWRfcm93 X2NvdW50ID0gaW50KHJlc1sncm93cyddWzBdLmdldCgncmVsdHVwbGVzJywgMCkpCisKKyAgICAg ICAgIyBDaGVjayB3aGV0aGVyICdybHNwb2xpY3knIGluIHJlc3BvbnNlIGFzIGl0IHN1cHBvcnRl ZCBmb3IKKyAgICAgICAgIyB2ZXJzaW9uIDkuNSBhbmQgYWJvdmUKKyAgICAgICAgQmFzZVRhYmxl Vmlldy5fY2hlY2tfcmxzcG9saWN5X3N1cHBvcnQocmVzKQorCisgICAgICAgICMgSWYgZXN0aW1h dGVkIHJvd3MgYXJlIGdyZWF0ZXIgdGhhbiB0aHJlc2hvbGQgdGhlbgorICAgICAgICBpZiBlc3Rp bWF0ZWRfcm93X2NvdW50IGFuZCBcCisgICAgICAgICAgICAgICAgZXN0aW1hdGVkX3Jvd19jb3Vu dCA+IHRhYmxlX3Jvd19jb3VudF90aHJlc2hvbGQ6CisgICAgICAgICAgICByZXNbJ3Jvd3MnXVsw XVsncm93c19jbnQnXSA9IHN0cih0YWJsZV9yb3dfY291bnRfdGhyZXNob2xkKSArICcrJworCisg ICAgICAgICMgSWYgZXN0aW1hdGVkIHJvd3MgaXMgbG93ZXIgdGhhbiB0aHJlc2hvbGQgdGhlbiBj YWxjdWxhdGUgdGhlIGNvdW50CisgICAgICAgIGVsaWYgZXN0aW1hdGVkX3Jvd19jb3VudCBhbmQg XAorICAgICAgICAgICAgICAgIHRhYmxlX3Jvd19jb3VudF90aHJlc2hvbGQgPj0gZXN0aW1hdGVk X3Jvd19jb3VudDoKKyAgICAgICAgICAgIHNxbCA9IHJlbmRlcl90ZW1wbGF0ZSgKKyAgICAgICAg ICAgICAgICAiLyIuam9pbigKKyAgICAgICAgICAgICAgICAgICAgW3NlbGYudGFibGVfdGVtcGxh dGVfcGF0aCwgJ2dldF90YWJsZV9yb3dfY291bnQuc3FsJ10KKyAgICAgICAgICAgICAgICApLCBk YXRhPXJlc1sncm93cyddWzBdCisgICAgICAgICAgICApCisKKyAgICAgICAgICAgIHN0YXR1cywg Y291bnQgPSBzZWxmLmNvbm4uZXhlY3V0ZV9zY2FsYXIoc3FsKQorCisgICAgICAgICAgICBpZiBu b3Qgc3RhdHVzOgorICAgICAgICAgICAgICAgIHJldHVybiBGYWxzZSwgaW50ZXJuYWxfc2VydmVy X2Vycm9yKGVycm9ybXNnPWNvdW50KQorCisgICAgICAgICAgICByZXNbJ3Jvd3MnXVswXVsncm93 c19jbnQnXSA9IGNvdW50CisKKyAgICAgICAgIyBJZiBlc3RpbWF0ZWRfcm93X2NvdW50IGlzIHpl cm8gdGhlbiBzZXQgdGhlIHJvdyBjb3VudCB3aXRoIHNhbWUKKyAgICAgICAgZWxpZiBub3QgZXN0 aW1hdGVkX3Jvd19jb3VudDoKKyAgICAgICAgICAgIHJlc1sncm93cyddWzBdWydyb3dzX2NudCdd ID0gZXN0aW1hdGVkX3Jvd19jb3VudAorCisgICAgICAgIHJldHVybiBUcnVlLCByZXMKKwogICAg IGRlZiBfZm9ybWF0X2NvbHVtbl9saXN0KHNlbGYsIGRhdGEpOgogICAgICAgICAjIE5vdyB3ZSBo YXZlIGFsbCBsaXMgb2YgY29sdW1ucyB3aGljaCB3ZSBuZWVkCiAgICAgICAgICMgdG8gaW5jbHVk ZSBpbiBvdXIgY3JlYXRlIGRlZmluaXRpb24sIExldCdzIGZvcm1hdCB0aGVtCmRpZmYgLS1naXQg YS93ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy9kYXRhYmFzZXMvc2No ZW1hcy91dGlscy5weSBiL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJz L2RhdGFiYXNlcy9zY2hlbWFzL3V0aWxzLnB5CmluZGV4IDI5N2YwNTE5NC4uZGI0NTVjZDY0IDEw MDY0NAotLS0gYS93ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy9kYXRh YmFzZXMvc2NoZW1hcy91dGlscy5weQorKysgYi93ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9n cm91cHMvc2VydmVycy9kYXRhYmFzZXMvc2NoZW1hcy91dGlscy5weQpAQCAtMTEwLDEzICsxMTAs MTUgQEAgY2xhc3MgRGF0YVR5cGVSZWFkZXI6CiAgICAgICAgICIiIgogICAgICAgICAjIENoZWNr IGlmIHRlbXBsYXRlIHBhdGggaXMgYWxyZWFkeSBzZXQgb3Igbm90CiAgICAgICAgICMgaWYgbm90 IHRoZW4gd2Ugd2lsbCBzZXQgdGhlIHRlbXBsYXRlIHBhdGggaGVyZQorICAgICAgICBtYW5hZ2Vy ID0gY29ubi5tYW5hZ2VyIGlmIG5vdCBoYXNhdHRyKHNlbGYsICdtYW5hZ2VyJykgXAorICAgICAg ICAgICAgZWxzZSBzZWxmLm1hbmFnZXIKICAgICAgICAgaWYgbm90IGhhc2F0dHIoc2VsZiwgJ2Rh dGFfdHlwZV90ZW1wbGF0ZV9wYXRoJyk6CiAgICAgICAgICAgICBzZWxmLmRhdGFfdHlwZV90ZW1w bGF0ZV9wYXRoID0gJ2RhdGF0eXBlL3NxbC8nICsgKAogICAgICAgICAgICAgICAgICcjezB9I3sx fSMnLmZvcm1hdCgKLSAgICAgICAgICAgICAgICAgICAgc2VsZi5tYW5hZ2VyLnNlcnZlcl90eXBl LAotICAgICAgICAgICAgICAgICAgICBzZWxmLm1hbmFnZXIudmVyc2lvbgotICAgICAgICAgICAg ICAgICkgaWYgc2VsZi5tYW5hZ2VyLnNlcnZlcl90eXBlID09ICdncGRiJyBlbHNlCi0gICAgICAg ICAgICAgICAgJyN7MH0jJy5mb3JtYXQoc2VsZi5tYW5hZ2VyLnZlcnNpb24pCisgICAgICAgICAg ICAgICAgICAgIG1hbmFnZXIuc2VydmVyX3R5cGUsCisgICAgICAgICAgICAgICAgICAgIG1hbmFn ZXIudmVyc2lvbgorICAgICAgICAgICAgICAgICkgaWYgbWFuYWdlci5zZXJ2ZXJfdHlwZSA9PSAn Z3BkYicgZWxzZQorICAgICAgICAgICAgICAgICcjezB9IycuZm9ybWF0KG1hbmFnZXIudmVyc2lv bikKICAgICAgICAgICAgICkKICAgICAgICAgc3FsID0gcmVuZGVyX3RlbXBsYXRlKAogICAgICAg ICAgICAgIi8iLmpvaW4oW3NlbGYuZGF0YV90eXBlX3RlbXBsYXRlX3BhdGgsICdnZXRfdHlwZXMu c3FsJ10pLApAQCAtNzAxLDMgKzcwMywyMyBAQCBkZWYgZ2V0X3NjaGVtYShzaWQsIGRpZCwgc2Np ZCk6CiAgICAgKQogCiAgICAgcmV0dXJuIHN0YXR1cywgc2NoZW1hX25hbWUKKworCitkZWYgZ2V0 X3NjaGVtYXMoY29ubiwgc2hvd19zeXN0ZW1fb2JqZWN0cz1GYWxzZSk6CisgICAgIiIiCisgICAg VGhpcyBmdW5jdGlvbiB3aWxsIHJldHVybiB0aGUgc2NoZW1hcy4KKyAgICAiIiIKKworICAgIHZl ciA9IGNvbm4ubWFuYWdlci52ZXJzaW9uCisgICAgc2VydmVyX3R5cGUgPSBjb25uLm1hbmFnZXIu c2VydmVyX3R5cGUKKworICAgIFNRTCA9IHJlbmRlcl90ZW1wbGF0ZSgKKyAgICAgICAgIi8iLmpv aW4oWydzY2hlbWFzJywKKyAgICAgICAgICAgICAgICAgICd7MH0vI3sxfSMnLmZvcm1hdChzZXJ2 ZXJfdHlwZSwgdmVyKSwKKyAgICAgICAgICAgICAgICAgICdzcWwvbm9kZXMuc3FsJ10pLAorICAg ICAgICBzaG93X3N5c29iaj1zaG93X3N5c3RlbV9vYmplY3RzLAorICAgICAgICBzY2hlbWFfcmVz dHJpY3Rpb25zPU5vbmUKKyAgICApCisKKyAgICBzdGF0dXMsIHJzZXQgPSBjb25uLmV4ZWN1dGVf MmRhcnJheShTUUwpCisgICAgcmV0dXJuIHN0YXR1cywgcnNldApkaWZmIC0tZ2l0IGEvd2ViL3Bn YWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJhc2VzL3N0YXRpYy9qcy9k YXRhYmFzZS5qcyBiL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2Rh dGFiYXNlcy9zdGF0aWMvanMvZGF0YWJhc2UuanMKaW5kZXggNmE5N2RkNWJhLi5iOTM3NDkzZjcg MTAwNjQ0Ci0tLSBhL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2Rh dGFiYXNlcy9zdGF0aWMvanMvZGF0YWJhc2UuanMKKysrIGIvd2ViL3BnYWRtaW4vYnJvd3Nlci9z ZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJhc2VzL3N0YXRpYy9qcy9kYXRhYmFzZS5qcwpAQCAt ODIsNiArODIsMTAgQEAgZGVmaW5lKCdwZ2FkbWluLm5vZGUuZGF0YWJhc2UnLCBbCiAgICAgICAg ICAgYXBwbGllczogWydvYmplY3QnLCAnY29udGV4dCddLCBjYWxsYmFjazogJ2Rpc2Nvbm5lY3Rf ZGF0YWJhc2UnLAogICAgICAgICAgIGNhdGVnb3J5OiAnZHJvcCcsIHByaW9yaXR5OiA1LCBsYWJl bDogZ2V0dGV4dCgnRGlzY29ubmVjdCBEYXRhYmFzZS4uLicpLAogICAgICAgICAgIGljb246ICdm YSBmYS11bmxpbmsnLCBlbmFibGUgOiAnaXNfY29ubmVjdGVkJywKKyAgICAgICAgfSx7CisgICAg ICAgICAgbmFtZTogJ2dlbmVyYXRlX2VyZCcsIG5vZGU6ICdkYXRhYmFzZScsIG1vZHVsZTogdGhp cywKKyAgICAgICAgICBhcHBsaWVzOiBbJ29iamVjdCcsICdjb250ZXh0J10sIGNhbGxiYWNrOiAn Z2VuZXJhdGVfZXJkJywKKyAgICAgICAgICBjYXRlZ29yeTogJ2VyZCcsIHByaW9yaXR5OiA1LCBs YWJlbDogZ2V0dGV4dCgnR2VuZXJhdGUgRVJEKEJldGEpLi4uJyksCiAgICAgICAgIH1dKTsKIAog ICAgICAgICBfLmJpbmRBbGwodGhpcywgJ2Nvbm5lY3Rpb25fbG9zdCcpOwpAQCAtMjM2LDYgKzI0 MCwxNSBAQCBkZWZpbmUoJ3BnYWRtaW4ubm9kZS5kYXRhYmFzZScsIFsKICAgICAgICAgICByZXR1 cm4gZmFsc2U7CiAgICAgICAgIH0sCiAKKyAgICAgICAgLyogR2VuZXJhdGUgdGhlIEVSRCAqLwor ICAgICAgICBnZW5lcmF0ZV9lcmQ6IGZ1bmN0aW9uKGFyZ3MpIHsKKyAgICAgICAgICB2YXIgaW5w dXQgPSBhcmdzIHx8IHt9LAorICAgICAgICAgICAgdCA9IHBnQnJvd3Nlci50cmVlLAorICAgICAg ICAgICAgaSA9IGlucHV0Lml0ZW0gfHwgdC5zZWxlY3RlZCgpLAorICAgICAgICAgICAgZCA9IGkg JiYgaS5sZW5ndGggPT0gMSA/IHQuaXRlbURhdGEoaSkgOiB1bmRlZmluZWQ7CisgICAgICAgICAg cGdCcm93c2VyLmVyZC5zaG93RXJkVG9vbChkLCBpLCB0cnVlKTsKKyAgICAgICAgfSwKKwogICAg ICAgICAvKiBDb25uZWN0IHRoZSBkYXRhYmFzZSAoaWYgbm90IGNvbm5lY3RlZCksIGJlZm9yZSBv cGVuaW5nIHRoaXMgbm9kZSAqLwogICAgICAgICBiZWZvcmVvcGVuOiBmdW5jdGlvbihpdGVtLCBk YXRhKSB7CiAgICAgICAgICAgaWYoIWRhdGEgfHwgZGF0YS5fdHlwZSAhPSAnZGF0YWJhc2UnIHx8 IGRhdGEubGFiZWwgPT0gJ3RlbXBsYXRlMCcpIHsKZGlmZiAtLWdpdCBhL3dlYi9wZ2FkbWluL2Jy b3dzZXIvdGVtcGxhdGVzL2Jyb3dzZXIvanMvdXRpbHMuanMgYi93ZWIvcGdhZG1pbi9icm93c2Vy L3RlbXBsYXRlcy9icm93c2VyL2pzL3V0aWxzLmpzCmluZGV4IDc5ZmNjYWEwMy4uOGQzNWJmZDI1 IDEwMDY0NAotLS0gYS93ZWIvcGdhZG1pbi9icm93c2VyL3RlbXBsYXRlcy9icm93c2VyL2pzL3V0 aWxzLmpzCisrKyBiL3dlYi9wZ2FkbWluL2Jyb3dzZXIvdGVtcGxhdGVzL2Jyb3dzZXIvanMvdXRp bHMuanMKQEAgLTY4LDYgKzY4LDcgQEAgZGVmaW5lKCdwZ2FkbWluLmJyb3dzZXIudXRpbHMnLAog ICAgIGJyYWNlTWF0Y2hpbmc6ICd7eyBlZGl0b3JfYnJhY2VfbWF0Y2hpbmcgfX0nID09ICdUcnVl JywKICAgICBpc19pbmRlbnRfd2l0aF90YWJzOiAne3sgZWRpdG9yX2luZGVudF93aXRoX3RhYnMg fX0nID09ICdUcnVlJywKICAgICBhcHBfbmFtZTogJ3t7IGFwcF9uYW1lIH19JywKKyAgICBhcHBf dmVyc2lvbl9pbnQ6ICd7eyBhcHBfdmVyc2lvbl9pbnR9fScsCiAgICAgcGdfbGlicHFfdmVyc2lv bjoge3twZ19saWJwcV92ZXJzaW9ufGV9fSwKICAgICBzdXBwb3J0X3NzaF90dW5uZWw6ICd7eyBz dXBwb3J0X3NzaF90dW5uZWwgfX0nID09ICdUcnVlJywKICAgICBsb2dvdXRfdXJsOiAne3tsb2dv dXRfdXJsfX0nLApkaWZmIC0tZ2l0IGEvd2ViL3BnYWRtaW4vc3RhdGljL2J1bmRsZS9icm93c2Vy LmpzIGIvd2ViL3BnYWRtaW4vc3RhdGljL2J1bmRsZS9icm93c2VyLmpzCmluZGV4IDE5NTQ5YTEz Ny4uMTQxNDBhMmZkIDEwMDY0NAotLS0gYS93ZWIvcGdhZG1pbi9zdGF0aWMvYnVuZGxlL2Jyb3dz ZXIuanMKKysrIGIvd2ViL3BnYWRtaW4vc3RhdGljL2J1bmRsZS9icm93c2VyLmpzCkBAIC0xMCw2 ICsxMCw3IEBACiBkZWZpbmUoJ2J1bmRsZWRfYnJvd3NlcicsWwogICAncGdhZG1pbi5icm93c2Vy JywKICAgJ3NvdXJjZXMvYnJvd3Nlci9pbmRleCcsCisgICd0b3AvdG9vbHMvZXJkL3N0YXRpYy9q cy9pbmRleCcsCiBdLCBmdW5jdGlvbihwZ0Jyb3dzZXIpIHsKICAgcGdCcm93c2VyLmluaXQoKTsK IH0pOwpkaWZmIC0tZ2l0IGEvd2ViL3BnYWRtaW4vc3RhdGljL2pzL2JhY2tmb3JtLnBnYWRtaW4u anMgYi93ZWIvcGdhZG1pbi9zdGF0aWMvanMvYmFja2Zvcm0ucGdhZG1pbi5qcwppbmRleCAyNDI5 NWM3NDcuLmY3ZDk4MGJkZiAxMDA2NDQKLS0tIGEvd2ViL3BnYWRtaW4vc3RhdGljL2pzL2JhY2tm b3JtLnBnYWRtaW4uanMKKysrIGIvd2ViL3BnYWRtaW4vc3RhdGljL2pzL2JhY2tmb3JtLnBnYWRt aW4uanMKQEAgLTE0NjUsNiArMTQ2NSwxMCBAQCBkZWZpbmUoWwogICAgICAgICAgICAgICBjb2xs ZWN0aW9uOiBjb2xsZWN0aW9uLAogICAgICAgICAgICAgICBub2RlX2luZm86IHNlbGYubW9kZWwu bm9kZV9pbmZvLAogICAgICAgICAgICAgfSk7CisKKyAgICAgICAgICAgIGlmKGRhdGEuYmVmb3Jl QWRkKSB7CisgICAgICAgICAgICAgIG0gPSBkYXRhLmJlZm9yZUFkZC5hcHBseShzZWxmLCBbbV0p OworICAgICAgICAgICAgfQogICAgICAgICAgICAgY29sbGVjdGlvbi5hZGQobSk7CiAKICAgICAg ICAgICAgIHZhciBpZHggPSBjb2xsZWN0aW9uLmluZGV4T2YobSksCmRpZmYgLS1naXQgYS93ZWIv cGdhZG1pbi9zdGF0aWMvanMvYmFja2dyaWQucGdhZG1pbi5qcyBiL3dlYi9wZ2FkbWluL3N0YXRp Yy9qcy9iYWNrZ3JpZC5wZ2FkbWluLmpzCmluZGV4IGY5NGU3ODI4Yy4uNjc1NzI1ZTA3IDEwMDY0 NAotLS0gYS93ZWIvcGdhZG1pbi9zdGF0aWMvanMvYmFja2dyaWQucGdhZG1pbi5qcworKysgYi93 ZWIvcGdhZG1pbi9zdGF0aWMvanMvYmFja2dyaWQucGdhZG1pbi5qcwpAQCAtMTAsMTAgKzEwLDEw IEBACiBkZWZpbmUoWwogICAnc291cmNlcy9nZXR0ZXh0JywgJ3VuZGVyc2NvcmUnLCAnanF1ZXJ5 JywgJ2JhY2tib25lJywgJ2JhY2tmb3JtJywgJ2JhY2tncmlkJywgJ2FsZXJ0aWZ5JywKICAgJ21v bWVudCcsICdiaWdudW1iZXInLCAnY29kZW1pcnJvcicsICdzb3VyY2VzL3V0aWxzJywgJ3NvdXJj ZXMva2V5Ym9hcmRfc2hvcnRjdXRzJywgJ3NvdXJjZXMvc2VsZWN0Mi9jb25maWd1cmVfc2hvd19v bl9zY3JvbGwnLAotICAnYm9vdHN0cmFwLmRhdGV0aW1lcGlja2VyJywgJ2JhY2tncmlkLmZpbHRl cicsICdib290c3RyYXAudG9nZ2xlJywKKyAgJ3NvdXJjZXMvd2luZG93JywgJ2Jvb3RzdHJhcC5k YXRldGltZXBpY2tlcicsICdiYWNrZ3JpZC5maWx0ZXInLCAnYm9vdHN0cmFwLnRvZ2dsZScsCiBd LCBmdW5jdGlvbigKICAgZ2V0dGV4dCwgXywgJCwgQmFja2JvbmUsIEJhY2tmb3JtLCBCYWNrZ3Jp ZCwgQWxlcnRpZnksIG1vbWVudCwgQmlnTnVtYmVyLCBDb2RlTWlycm9yLAotICBjb21tb25VdGls cywga2V5Ym9hcmRTaG9ydGN1dHMsIGNvbmZpZ3VyZV9zaG93X29uX3Njcm9sbAorICBjb21tb25V dGlscywga2V5Ym9hcmRTaG9ydGN1dHMsIGNvbmZpZ3VyZV9zaG93X29uX3Njcm9sbCwgcGdXaW5k b3cKICkgewogICAvKgogICAgKiBBZGQgbWVjaGFuaXNtIGluIGJhY2tncmlkIHRvIHJlbmRlciBk aWZmZXJlbnQgdHlwZXMgb2YgY2VsbHMgaW4KQEAgLTQzLDcgKzQzLDcgQEAgZGVmaW5lKFsKICAg Ly8gYmluZCBzaG9ydGN1dCBpbiBjZWxsIGVkaXQgbW9kZQogICBfLmV4dGVuZChCYWNrZ3JpZC5J bnB1dENlbGxFZGl0b3IucHJvdG90eXBlLmV2ZW50cywgewogICAgICdrZXlkb3duJzogZnVuY3Rp b24oZSkgewotICAgICAgbGV0IHByZWZlcmVuY2VzID0gcGdCcm93c2VyLmdldF9wcmVmZXJlbmNl c19mb3JfbW9kdWxlKCdicm93c2VyJyk7CisgICAgICBsZXQgcHJlZmVyZW5jZXMgPSBwZ1dpbmRv dy5kZWZhdWx0LnBnQWRtaW4uQnJvd3Nlci5nZXRfcHJlZmVyZW5jZXNfZm9yX21vZHVsZSgnYnJv d3NlcicpOwogICAgICAgaWYocHJlZmVyZW5jZXMgJiYga2V5Ym9hcmRTaG9ydGN1dHMudmFsaWRh dGVTaG9ydGN1dEtleXMocHJlZmVyZW5jZXMuYWRkX2dyaWRfcm93LGUpKSB7CiAgICAgICAgIHBn QnJvd3Nlci5rZXlib2FyZE5hdmlnYXRpb24uYmluZEFkZEdyaWRSb3coKTsKICAgICAgIH0gZWxz ZSB7CkBAIC0zMjMsNyArMzIzLDcgQEAgZGVmaW5lKFsKICAgICAgICAgfSwKICAgICAgICAgZXZl bnRzOiB7CiAgICAgICAgICAgJ2tleWRvd24nOiBmdW5jdGlvbiAoZXZlbnQpIHsKLSAgICAgICAg ICAgIGxldCBwcmVmZXJlbmNlcyA9IHBnQnJvd3Nlci5nZXRfcHJlZmVyZW5jZXNfZm9yX21vZHVs ZSgnYnJvd3NlcicpOworICAgICAgICAgICAgbGV0IHByZWZlcmVuY2VzID0gcGdXaW5kb3cuZGVm YXVsdC5wZ0FkbWluLkJyb3dzZXIuZ2V0X3ByZWZlcmVuY2VzX2Zvcl9tb2R1bGUoJ2Jyb3dzZXIn KTsKICAgICAgICAgICAgIGlmKHByZWZlcmVuY2VzICYmIGtleWJvYXJkU2hvcnRjdXRzLnZhbGlk YXRlU2hvcnRjdXRLZXlzKHByZWZlcmVuY2VzLmFkZF9ncmlkX3JvdyxldmVudCkpIHsKICAgICAg ICAgICAgICAgcGdCcm93c2VyLmtleWJvYXJkTmF2aWdhdGlvbi5iaW5kQWRkR3JpZFJvdygpOwog ICAgICAgICAgICAgfQpAQCAtNzY0LDcgKzc2NCw3IEBAIGRlZmluZShbCiAgICAgfSwKIAogICAg IG9uS2V5RG93bjogZnVuY3Rpb24oZSkgewotICAgICAgbGV0IHByZWZlcmVuY2VzID0gcGdCcm93 c2VyLmdldF9wcmVmZXJlbmNlc19mb3JfbW9kdWxlKCdicm93c2VyJyk7CisgICAgICBsZXQgcHJl ZmVyZW5jZXMgPSBwZ1dpbmRvdy5kZWZhdWx0LnBnQWRtaW4uQnJvd3Nlci5nZXRfcHJlZmVyZW5j ZXNfZm9yX21vZHVsZSgnYnJvd3NlcicpOwogICAgICAgaWYoa2V5Ym9hcmRTaG9ydGN1dHMudmFs aWRhdGVTaG9ydGN1dEtleXMocHJlZmVyZW5jZXMuYWRkX2dyaWRfcm93LGUpKSB7CiAgICAgICAg IHBnQnJvd3Nlci5rZXlib2FyZE5hdmlnYXRpb24uYmluZEFkZEdyaWRSb3coKTsKICAgICAgIH0K ZGlmZiAtLWdpdCBhL3dlYi9wZ2FkbWluL3N0YXRpYy9qcy9jdXN0b21fcHJvcF90eXBlcy5qcyBi L3dlYi9wZ2FkbWluL3N0YXRpYy9qcy9jdXN0b21fcHJvcF90eXBlcy5qcwpuZXcgZmlsZSBtb2Rl IDEwMDY0NAppbmRleCAwMDAwMDAwMDAuLjRlNGY0NWI5YgotLS0gL2Rldi9udWxsCisrKyBiL3dl Yi9wZ2FkbWluL3N0YXRpYy9qcy9jdXN0b21fcHJvcF90eXBlcy5qcwpAQCAtMCwwICsxLDEwIEBA CitpbXBvcnQgUHJvcFR5cGVzIGZyb20gJ3Byb3AtdHlwZXMnOworCitjb25zdCBDdXN0b21Qcm9w VHlwZXMgPSB7CisgIHJlZjogUHJvcFR5cGVzLm9uZU9mVHlwZShbCisgICAgUHJvcFR5cGVzLmZ1 bmMsCisgICAgUHJvcFR5cGVzLnNoYXBlKHsgY3VycmVudDogUHJvcFR5cGVzLmluc3RhbmNlT2Yo RWxlbWVudCkgfSksCisgIF0pLAorfTsKKworZXhwb3J0IGRlZmF1bHQgQ3VzdG9tUHJvcFR5cGVz OwpkaWZmIC0tZ2l0IGEvd2ViL3BnYWRtaW4vc3RhdGljL3Njc3MvX2Jvb3RzdHJhcC5vdmVycmlk ZXMuc2NzcyBiL3dlYi9wZ2FkbWluL3N0YXRpYy9zY3NzL19ib290c3RyYXAub3ZlcnJpZGVzLnNj c3MKaW5kZXggMjljNGE0MzNjLi4wZDRkNjhmMjQgMTAwNjQ0Ci0tLSBhL3dlYi9wZ2FkbWluL3N0 YXRpYy9zY3NzL19ib290c3RyYXAub3ZlcnJpZGVzLnNjc3MKKysrIGIvd2ViL3BnYWRtaW4vc3Rh dGljL3Njc3MvX2Jvb3RzdHJhcC5vdmVycmlkZXMuc2NzcwpAQCAtMTgxLDYgKzE4MSwxNSBAQCBs ZWdlbmQgewogICAgIH0KIH0KIAorLmJ0bi13YXJuaW5nIHsKKyAgQGluY2x1ZGUgYnV0dG9uLXZh cmlhbnQoJGNvbG9yLXdhcm5pbmcsICRjb2xvci13YXJuaW5nLWZnKTsKKyAgYm9yZGVyLWNvbG9y OiAkY29sb3Itd2FybmluZzsKKyAgQGluY2x1ZGUgaG92ZXIoKSB7CisgICAgY29sb3I6ICRjb2xv ci13YXJuaW5nLWZnICFpbXBvcnRhbnQ7CisgICAgYm9yZGVyLWNvbG9yOiAkY29sb3Itd2Fybmlu ZyAhaW1wb3J0YW50OworICB9Cit9CisKIAogLmZvcm0tZ3JvdXAgZmllbGRzZXQgewogCWJhY2tn cm91bmQtY29sb3I6ICRjb2xvci1ncmF5LWxpZ2h0ZXI7CkBAIC0zNzAsNiArMzc5LDExIEBAIHRk LnN3aXRjaC1jZWxsID4gZGl2LnRvZ2dsZSB7CiAgIGxpbmUtaGVpZ2h0OiAwLjdyZW07CiB9CiAK Ky5idG4teHMgeworICBAZXh0ZW5kIC5idG4tc207CisgIHBhZGRpbmc6IDAuMTI1cmVtIDAuMjVy ZW0gIWltcG9ydGFudDsKK30KKwogLmJ0bi10b29sYmFyIHsKICAgbWluLXdpZHRoOiAxMDAlOwog fQpkaWZmIC0tZ2l0IGEvd2ViL3BnYWRtaW4vc3RhdGljL3Njc3MvX3BnYWRtaW4uc3R5bGUuc2Nz cyBiL3dlYi9wZ2FkbWluL3N0YXRpYy9zY3NzL19wZ2FkbWluLnN0eWxlLnNjc3MKaW5kZXggZmFk ZDcxYjdiLi5mOGYyYmNmOTkgMTAwNjQ0Ci0tLSBhL3dlYi9wZ2FkbWluL3N0YXRpYy9zY3NzL19w Z2FkbWluLnN0eWxlLnNjc3MKKysrIGIvd2ViL3BnYWRtaW4vc3RhdGljL3Njc3MvX3BnYWRtaW4u c3R5bGUuc2NzcwpAQCAtODg2LDYgKzg4NiwxMiBAQCB0YWJsZS50YWJsZS1ub291dGVyLWJvcmRl ciB7CiAgICAgICBib3JkZXItYm90dG9tOiAkdGFibGUtYm9yZGVyLXdpZHRoIHNvbGlkIHRyYW5z cGFyZW50OwogICAgIH0KICAgfQorCisgICYudGFibGUtbm9oZWFkZXIgeworICAgICYgPiB0Ym9k eSB0cjpmaXJzdC1vZi10eXBlIHRkIHsKKyAgICAgIGJvcmRlci10b3A6IG5vbmUgIWltcG9ydGFu dDsKKyAgICB9CisgIH0KIH0KIAogdGFibGUudGFibGUtYm90dG9tLWJvcmRlciB7CmRpZmYgLS1n aXQgYS93ZWIvcGdhZG1pbi9zdGF0aWMvc2Nzcy9fdGlwcHkub3ZlcnJpZGVzLnNjc3MgYi93ZWIv cGdhZG1pbi9zdGF0aWMvc2Nzcy9fdGlwcHkub3ZlcnJpZGVzLnNjc3MKbmV3IGZpbGUgbW9kZSAx MDA2NDQKaW5kZXggMDAwMDAwMDAwLi45NzUwNDM0YjcKLS0tIC9kZXYvbnVsbAorKysgYi93ZWIv cGdhZG1pbi9zdGF0aWMvc2Nzcy9fdGlwcHkub3ZlcnJpZGVzLnNjc3MKQEAgLTAsMCArMSw5IEBA CitAaW1wb3J0ICJ+bm9kZV9tb2R1bGVzL3RpcHB5LmpzL2Rpc3QvdGlwcHkuY3NzIjsKKworLnRp cHB5LWJveCB7CisgIGJhY2tncm91bmQtY29sb3I6ICRwb3BvdmVyLWJnOworICBjb2xvcjogJHBv cG92ZXItYm9keS1jb2xvcjsKKyAgLnRpcHB5LWFycm93IHsKKyAgICBjb2xvcjogJHBvcG92ZXIt Ymc7CisgIH0KK30KZGlmZiAtLWdpdCBhL3dlYi9wZ2FkbWluL3N0YXRpYy9zY3NzL3BnYWRtaW4u c2NzcyBiL3dlYi9wZ2FkbWluL3N0YXRpYy9zY3NzL3BnYWRtaW4uc2NzcwppbmRleCAxOWU3OWFk ZjIuLmNjNzUxYjc3ZSAxMDA2NDQKLS0tIGEvd2ViL3BnYWRtaW4vc3RhdGljL3Njc3MvcGdhZG1p bi5zY3NzCisrKyBiL3dlYi9wZ2FkbWluL3N0YXRpYy9zY3NzL3BnYWRtaW4uc2NzcwpAQCAtMTMs NyArMTMsNiBAQCAkdGhlbWUtY29sb3JzOiAoCiB9CiAKIEBpbXBvcnQgIm5vZGVfbW9kdWxlcy9i b290c3RyYXAvc2Nzcy9ib290c3RyYXAiOwotCiBAaW1wb3J0ICd3ZWJjYWJpbi5wZ2FkbWluJzsK IEBpbXBvcnQgJ2Jvb3RzdHJhcC5vdmVycmlkZXMnOwogQGltcG9ydCAnYmFja2dyaWQub3ZlcnJp ZGVzJzsKQEAgLTI3LDMgKzI2LDQgQEAgJHRoZW1lLWNvbG9yczogKAogQGltcG9ydCAncGdhZG1p bi5zdHlsZSc7CiBAaW1wb3J0ICdib290c3RyYXA0LXRvZ2dsZS5vdmVycmlkZXMnOwogQGltcG9y dCAncGlja3Iub3ZlcnJpZGVzJzsKK0BpbXBvcnQgJ3RpcHB5Lm92ZXJyaWRlcyc7CmRpZmYgLS1n aXQgYS93ZWIvcGdhZG1pbi9zdGF0aWMvc2Nzcy9yZXNvdXJjZXMvX2RlZmF1bHQudmFyaWFibGVz LnNjc3MgYi93ZWIvcGdhZG1pbi9zdGF0aWMvc2Nzcy9yZXNvdXJjZXMvX2RlZmF1bHQudmFyaWFi bGVzLnNjc3MKaW5kZXggOWQ5MTM3ODhkLi5iNzFjODZhNGMgMTAwNjQ0Ci0tLSBhL3dlYi9wZ2Fk bWluL3N0YXRpYy9zY3NzL3Jlc291cmNlcy9fZGVmYXVsdC52YXJpYWJsZXMuc2NzcworKysgYi93 ZWIvcGdhZG1pbi9zdGF0aWMvc2Nzcy9yZXNvdXJjZXMvX2RlZmF1bHQudmFyaWFibGVzLnNjc3MK QEAgLTExMSw4ICsxMTEsOCBAQCAkZHJvcGRvd24tc3BhY2VyOiAuMTI1cmVtOyAvL25vLWNoYW5n ZQogJGRyb3Bkb3duLWxpbmstZGlzYWJsZWQtY29sb3I6ICR0ZXh0LW11dGVkOwogJG5hdi1kaXZp ZGVyLW1hcmdpbi15OiAuMjVyZW07CiAKLSRwb3BvdmVyLWJnOiAkY29sb3ItZ3JheS1kYXJrICFk ZWZhdWx0OwotJHBvcG92ZXItYm9keS1jb2xvcjogJHdoaXRlICFkZWZhdWx0OworJHBvcG92ZXIt Ymc6ICRjb2xvci1mZyAhZGVmYXVsdDsKKyRwb3BvdmVyLWJvZHktY29sb3I6ICRjb2xvci1iZyAh ZGVmYXVsdDsKICRwb3BvdmVyLWJvcmRlci1jb2xvcjogJGRyb3Bkb3duLWJvcmRlci1jb2xvcjsK ICRwb3BvdmVyLWJveC1zaGFkb3c6ICRkcm9wZG93bi1ib3gtc2hhZG93OwogCkBAIC0zNDksMyAr MzQ5LDE2IEBAICRncmlkLWhvdmVyLWZnLWNvbG9yOiAkY29sb3ItZmcgIWRlZmF1bHQ7CiAKICRi dG4tY29waWVkLWNvbG9yLWZnOiAkYWN0aXZlLWNvbG9yICFkZWZhdWx0OwogCisvKiogRVJEICoq LworJGVyZC1yb3ctcGFkZGluZzogMC4yNXJlbTsKKyRlcmQtbm9kZS1ib3JkZXItY29sb3I6ICRi b3JkZXItY29sb3IgIWRlZmF1bHQ7CiskZXJkLWNhbnZhcy1iZzogJGNvbG9yLWJnICFkZWZhdWx0 OworJGVyZC1jYW52YXMtZ3JpZDogJGNvbG9yLWdyYXkgIWRlZmF1bHQ7CiskZXJkLWxpbmstY29s b3I6ICRjb2xvci1mZyAhZGVmYXVsdDsKKyRlcmQtbGluay1zZWxlY3RlZC1jb2xvcjogJGNvbG9y LWZnICFkZWZhdWx0OworCisKK0BmdW5jdGlvbiB1cmwtZnJpZW5kbHktY29sb3VyKCRjb2xvdXIp IHsKKyAgQHJldHVybiAnJTIzJyArIHN0ci1zbGljZSgnI3skY29sb3VyfScsIDIsIC0xKQorfQor JGVyZC1iZy1ncmlkOiB1cmwoImRhdGE6aW1hZ2Uvc3ZnK3htbCwgJTNDc3ZnIHdpZHRoPScxMDAl MjUnIHZpZXdCb3g9JzAgMCA0NSA0NScgc3R5bGU9J2JhY2tncm91bmQtY29sb3I6I3t1cmwtZnJp ZW5kbHktY29sb3VyKCRlcmQtY2FudmFzLWJnKX0nIGhlaWdodD0nMTAwJTI1JyB4bWxucz0naHR0 cDovL3d3dy53My5vcmcvMjAwMC9zdmcnJTNFJTNDZGVmcyUzRSUzQ3BhdHRlcm4gaWQ9J3NtYWxs R3JpZCcgd2lkdGg9JzE1JyBoZWlnaHQ9JzE1JyBwYXR0ZXJuVW5pdHM9J3VzZXJTcGFjZU9uVXNl JyUzRSUzQ3BhdGggZD0nTSAxNSAwIEwgMCAwIDAgMTUnIGZpbGw9J25vbmUnIHN0cm9rZT0nI3t1 cmwtZnJpZW5kbHktY29sb3VyKCRlcmQtY2FudmFzLWdyaWQpfScgc3Ryb2tlLXdpZHRoPScwLjUn LyUzRSUzQy9wYXR0ZXJuJTNFJTNDcGF0dGVybiBpZD0nZ3JpZCcgd2lkdGg9JzQ1JyBoZWlnaHQ9 JzQ1JyBwYXR0ZXJuVW5pdHM9J3VzZXJTcGFjZU9uVXNlJyUzRSUzQ3JlY3Qgd2lkdGg9JzEwMCcg aGVpZ2h0PScxMDAnIGZpbGw9J3VybCglMjNzbWFsbEdyaWQpJy8lM0UlM0NwYXRoIGQ9J00gMTAw IDAgTCAwIDAgMCAxMDAnIGZpbGw9J25vbmUnIHN0cm9rZT0nI3t1cmwtZnJpZW5kbHktY29sb3Vy KCRlcmQtY2FudmFzLWdyaWQpfScgc3Ryb2tlLXdpZHRoPScxJy8lM0UlM0MvcGF0dGVybiUzRSUz Qy9kZWZzJTNFJTNDcmVjdCB3aWR0aD0nMTAwJTI1JyBoZWlnaHQ9JzEwMCUyNScgZmlsbD0ndXJs KCUyM2dyaWQpJyAvJTNFJTNDL3N2ZyUzRSUwQSIpOwpkaWZmIC0tZ2l0IGEvd2ViL3BnYWRtaW4v c3RhdGljL3Njc3MvcmVzb3VyY2VzL2RhcmsvX3RoZW1lLnZhcmlhYmxlcy5zY3NzIGIvd2ViL3Bn YWRtaW4vc3RhdGljL3Njc3MvcmVzb3VyY2VzL2RhcmsvX3RoZW1lLnZhcmlhYmxlcy5zY3NzCmlu ZGV4IDEyOWI5YTIxNC4uZDhjYTY1YjUwIDEwMDY0NAotLS0gYS93ZWIvcGdhZG1pbi9zdGF0aWMv c2Nzcy9yZXNvdXJjZXMvZGFyay9fdGhlbWUudmFyaWFibGVzLnNjc3MKKysrIGIvd2ViL3BnYWRt aW4vc3RhdGljL3Njc3MvcmVzb3VyY2VzL2RhcmsvX3RoZW1lLnZhcmlhYmxlcy5zY3NzCkBAIC0x MjEsMyArMTIxLDExIEBAICRjb2xvci1zdWNjZXNzLWhvdmVyLWZnOiAkY29sb3ItZmc7CiAkZGF0 YWdyaWQtc2VsZWN0ZWQtY29sb3I6ICRjb2xvci1wcmltYXJ5LWZnOwogCiAkc2VsZWN0Mi1wbGFj ZWhvbGRlcjogIzk5OTsKKworLyogRVJEICovCiskZXJkLXJvdy1wYWRkaW5nOiAwLjI1cmVtOwor JGVyZC1ub2RlLWJvcmRlci1jb2xvcjogJGJvcmRlci1jb2xvcjsKKyRlcmQtY2FudmFzLWJnOiAk Y29sb3ItZ3JheS1saWdodDsKKyRlcmQtY2FudmFzLWdyaWQ6ICM0NDQ5NTI7CiskZXJkLWxpbmst Y29sb3I6ICRjb2xvci1mZzsKKyRlcmQtbGluay1zZWxlY3RlZC1jb2xvcjogJGNvbG9yLWZnOwpk aWZmIC0tZ2l0IGEvd2ViL3BnYWRtaW4vdG9vbHMvZGF0YWdyaWQvc3RhdGljL2pzL2RhdGFncmlk X3BhbmVsX3RpdGxlLmpzIGIvd2ViL3BnYWRtaW4vdG9vbHMvZGF0YWdyaWQvc3RhdGljL2pzL2Rh dGFncmlkX3BhbmVsX3RpdGxlLmpzCmluZGV4IDU5OGVkNTJiNC4uNDZkYjZhNzBhIDEwMDY0NAot LS0gYS93ZWIvcGdhZG1pbi90b29scy9kYXRhZ3JpZC9zdGF0aWMvanMvZGF0YWdyaWRfcGFuZWxf dGl0bGUuanMKKysrIGIvd2ViL3BnYWRtaW4vdG9vbHMvZGF0YWdyaWQvc3RhdGljL2pzL2RhdGFn cmlkX3BhbmVsX3RpdGxlLmpzCkBAIC0yMCwxNiArMjAsMTcgQEAgZnVuY3Rpb24gaXNTZXJ2ZXJJ bmZvcm1hdGlvbkF2YWlsYWJsZShwYXJlbnREYXRhKSB7CiAgIHJldHVybiBwYXJlbnREYXRhLnNl cnZlciA9PT0gdW5kZWZpbmVkOwogfQogCi1leHBvcnQgZnVuY3Rpb24gZ2V0UGFuZWxUaXRsZShw Z0Jyb3dzZXIsIHNlbGVjdGVkX2l0ZW09bnVsbCwgY3VzdG9tX3RpdGxlPW51bGwpIHsKK2V4cG9y dCBmdW5jdGlvbiBnZXRQYW5lbFRpdGxlKHBnQnJvd3Nlciwgc2VsZWN0ZWRfaXRlbT1udWxsLCBj dXN0b21fdGl0bGU9bnVsbCwgcGFyZW50RGF0YT1udWxsKSB7CiAgIHZhciBwcmVmZXJlbmNlcyA9 IHBnQnJvd3Nlci5nZXRfcHJlZmVyZW5jZXNfZm9yX21vZHVsZSgnYnJvd3NlcicpOwotICBpZihz ZWxlY3RlZF9pdGVtID09IG51bGwpIHsKKyAgaWYoc2VsZWN0ZWRfaXRlbSA9PSBudWxsICYmIHBh cmVudERhdGEgPT0gbnVsbCkgewogICAgIHNlbGVjdGVkX2l0ZW0gPSBwZ0Jyb3dzZXIudHJlZU1l bnUuc2VsZWN0ZWQoKTsKICAgfQogCi0gIGNvbnN0IHBhcmVudERhdGEgPSBnZXRUcmVlTm9kZUhp ZXJhcmNoeUZyb21JZGVudGlmaWVyCi0gICAgLmNhbGwocGdCcm93c2VyLCBzZWxlY3RlZF9pdGVt KTsKLSAgaWYgKGlzU2VydmVySW5mb3JtYXRpb25BdmFpbGFibGUocGFyZW50RGF0YSkpIHsKLSAg ICByZXR1cm47CisgIGlmKHBhcmVudERhdGEgPT0gbnVsbCkgeworICAgIHBhcmVudERhdGEgPSBn ZXRUcmVlTm9kZUhpZXJhcmNoeUZyb21JZGVudGlmaWVyLmNhbGwocGdCcm93c2VyLCBzZWxlY3Rl ZF9pdGVtKTsKKyAgICBpZiAoaXNTZXJ2ZXJJbmZvcm1hdGlvbkF2YWlsYWJsZShwYXJlbnREYXRh KSkgeworICAgICAgcmV0dXJuOworICAgIH0KICAgfQogCiAgIGNvbnN0IGRiX2xhYmVsID0gZ2V0 RGF0YWJhc2VMYWJlbChwYXJlbnREYXRhKTsKZGlmZiAtLWdpdCBhL3dlYi9wZ2FkbWluL3Rvb2xz L2RhdGFncmlkL3N0YXRpYy9qcy9zaG93X3F1ZXJ5X3Rvb2wuanMgYi93ZWIvcGdhZG1pbi90b29s cy9kYXRhZ3JpZC9zdGF0aWMvanMvc2hvd19xdWVyeV90b29sLmpzCmluZGV4IDkwMTMxZGQ0MC4u ODY3YjczOWQ4IDEwMDY0NAotLS0gYS93ZWIvcGdhZG1pbi90b29scy9kYXRhZ3JpZC9zdGF0aWMv anMvc2hvd19xdWVyeV90b29sLmpzCisrKyBiL3dlYi9wZ2FkbWluL3Rvb2xzL2RhdGFncmlkL3N0 YXRpYy9qcy9zaG93X3F1ZXJ5X3Rvb2wuanMKQEAgLTE4LDcgKzE4LDcgQEAgZnVuY3Rpb24gaGFz RGF0YWJhc2VJbmZvcm1hdGlvbihwYXJlbnREYXRhKSB7CiAgIHJldHVybiBwYXJlbnREYXRhLmRh dGFiYXNlOwogfQogCi1mdW5jdGlvbiBnZW5lcmF0ZVVybCh0cmFuc19pZCwgdGl0bGUsIHBhcmVu dERhdGEpIHsKK2Z1bmN0aW9uIGdlbmVyYXRlVXJsKHRyYW5zX2lkLCB0aXRsZSwgcGFyZW50RGF0 YSwgc3FsSWQpIHsKICAgbGV0IHVybF9lbmRwb2ludCA9IHVybF9mb3IoJ2RhdGFncmlkLnBhbmVs JywgewogICAgICd0cmFuc19pZCc6IHRyYW5zX2lkLAogICB9KTsKQEAgLTMyLDYgKzMyLDEwIEBA IGZ1bmN0aW9uIGdlbmVyYXRlVXJsKHRyYW5zX2lkLCB0aXRsZSwgcGFyZW50RGF0YSkgewogICAg IHVybF9lbmRwb2ludCArPSBgJmRpZD0ke3BhcmVudERhdGEuZGF0YWJhc2UuX2lkfWA7CiAgIH0K IAorICBpZihzcWxJZCkgeworICAgIHVybF9lbmRwb2ludCArPSBgJnNxbF9pZD0ke3NxbElkfWA7 CisgIH0KKwogICByZXR1cm4gdXJsX2VuZHBvaW50OwogfQogCkBAIC04NSw2ICs4OSwyNSBAQCBl eHBvcnQgZnVuY3Rpb24gZ2VuZXJhdGVTY3JpcHQocGFyZW50RGF0YSwgZGF0YWdyaWQsIGFsZXJ0 aWZ5KSB7CiAgIGxhdW5jaERhdGFHcmlkKGRhdGFncmlkLCB0cmFuc0lkLCB1cmxfZW5kcG9pbnQs IHF1ZXJ5VG9vbFRpdGxlLCAnJywgYWxlcnRpZnkpOwogfQogCitleHBvcnQgZnVuY3Rpb24gc2hv d0VSRFNxbFRvb2wocGFyZW50RGF0YSwgZXJkU3FsSWQsIHF1ZXJ5VG9vbFRpdGxlLCBkYXRhZ3Jp ZCwgYWxlcnRpZnkpIHsKKyAgY29uc3QgdHJhbnNJZCA9IGdldFJhbmRvbUludCgxLCA5OTk5OTk5 KTsKKyAgcGFyZW50RGF0YSA9IHsKKyAgICBzZXJ2ZXJfZ3JvdXA6IHsKKyAgICAgIF9pZDogcGFy ZW50RGF0YS5zZ2lkLAorICAgIH0sCisgICAgc2VydmVyOiB7CisgICAgICBfaWQ6IHBhcmVudERh dGEuc2lkLAorICAgICAgc2VydmVyX3R5cGU6IHBhcmVudERhdGEuc3R5cGUsCisgICAgfSwKKyAg ICBkYXRhYmFzZTogeworICAgICAgX2lkOiBwYXJlbnREYXRhLmRpZCwKKyAgICB9LAorICB9Owor CisgIGNvbnN0IGdyaWRVcmwgPSBnZW5lcmF0ZVVybCh0cmFuc0lkLCBxdWVyeVRvb2xUaXRsZSwg cGFyZW50RGF0YSwgZXJkU3FsSWQpOworICBsYXVuY2hEYXRhR3JpZChkYXRhZ3JpZCwgdHJhbnNJ ZCwgZ3JpZFVybCwgcXVlcnlUb29sVGl0bGUsICcnLCBhbGVydGlmeSk7Cit9CisKIGV4cG9ydCBm dW5jdGlvbiBsYXVuY2hEYXRhR3JpZChkYXRhZ3JpZCwgdHJhbnNJZCwgZ3JpZFVybCwgcXVlcnlU b29sVGl0bGUsIHNVUkwsIGFsZXJ0aWZ5KSB7CiAgIGxldCByZXRWYWwgPSBkYXRhZ3JpZC5sYXVu Y2hfZ3JpZCh0cmFuc0lkLCBncmlkVXJsLCB0cnVlLCBxdWVyeVRvb2xUaXRsZSwgc1VSTCk7CiAK ZGlmZiAtLWdpdCBhL3dlYi9wZ2FkbWluL3Rvb2xzL2VyZC9fX2luaXRfXy5weSBiL3dlYi9wZ2Fk bWluL3Rvb2xzL2VyZC9fX2luaXRfXy5weQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw MDAwMDAuLjM4MGRjMTJlYwotLS0gL2Rldi9udWxsCisrKyBiL3dlYi9wZ2FkbWluL3Rvb2xzL2Vy ZC9fX2luaXRfXy5weQpAQCAtMCwwICsxLDU1MyBAQAorIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKKyMKKyMg cGdBZG1pbiA0IC0gUG9zdGdyZVNRTCBUb29scworIworIyBDb3B5cmlnaHQgKEMpIDIwMTMgLSAy MDIwLCBUaGUgcGdBZG1pbiBEZXZlbG9wbWVudCBUZWFtCisjIFRoaXMgc29mdHdhcmUgaXMgcmVs ZWFzZWQgdW5kZXIgdGhlIFBvc3RncmVTUUwgTGljZW5jZQorIworIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMK KworIiIiQSBibHVlcHJpbnQgbW9kdWxlIGltcGxlbWVudGluZyB0aGUgZXJkIHRvb2wuIiIiCitp bXBvcnQgc2ltcGxlanNvbiBhcyBqc29uCisKK2Zyb20gZmxhc2sgaW1wb3J0IHVybF9mb3IsIHJl cXVlc3QKK2Zyb20gZmxhc2sgaW1wb3J0IHJlbmRlcl90ZW1wbGF0ZSwgY3VycmVudF9hcHAgYXMg YXBwCitmcm9tIGZsYXNrX3NlY3VyaXR5IGltcG9ydCBsb2dpbl9yZXF1aXJlZAorZnJvbSBmbGFz a19iYWJlbGV4IGltcG9ydCBnZXR0ZXh0Citmcm9tIHdlcmt6ZXVnLnVzZXJhZ2VudHMgaW1wb3J0 IFVzZXJBZ2VudAorZnJvbSBwZ2FkbWluLnV0aWxzIGltcG9ydCBQZ0FkbWluTW9kdWxlLCBcCisg ICAgU0hPUlRDVVRfRklFTERTIGFzIHNob3J0Y3V0X2ZpZWxkcworZnJvbSBwZ2FkbWluLnV0aWxz LmFqYXggaW1wb3J0IG1ha2VfanNvbl9yZXNwb25zZSwgYmFkX3JlcXVlc3QsIFwKKyAgICBpbnRl cm5hbF9zZXJ2ZXJfZXJyb3IKK2Zyb20gcGdhZG1pbi5tb2RlbCBpbXBvcnQgU2VydmVyCitmcm9t IGNvbmZpZyBpbXBvcnQgUEdfREVGQVVMVF9EUklWRVIKK2Zyb20gcGdhZG1pbi51dGlscy5kcml2 ZXIgaW1wb3J0IGdldF9kcml2ZXIKK2Zyb20gcGdhZG1pbi5icm93c2VyLnV0aWxzIGltcG9ydCB1 bmRlcnNjb3JlX3VuZXNjYXBlCitmcm9tIHBnYWRtaW4uYnJvd3Nlci5zZXJ2ZXJfZ3JvdXBzLnNl cnZlcnMuZGF0YWJhc2VzLnNjaGVtYXMudXRpbHMgXAorICAgIGltcG9ydCBnZXRfc2NoZW1hcwor ZnJvbSBwZ2FkbWluLmJyb3dzZXIuc2VydmVyX2dyb3Vwcy5zZXJ2ZXJzLmRhdGFiYXNlcy5zY2hl bWFzLnRhYmxlcy4gXAorICAgIGNvbnN0cmFpbnRzLmZvcmVpZ25fa2V5IGltcG9ydCB1dGlscyBh cyBma2V5X3V0aWxzCitmcm9tIHBnYWRtaW4udXRpbHMuY29uc3RhbnRzIGltcG9ydCBQUkVGX0xB QkVMX0tFWUJPQVJEX1NIT1JUQ1VUUywgXAorICAgIFBSRUZfTEFCRUxfRElTUExBWQorZnJvbSAu dXRpbHMgaW1wb3J0IEVSREhlbHBlcgorZnJvbSBwZ2FkbWluLnV0aWxzLmV4Y2VwdGlvbiBpbXBv cnQgQ29ubmVjdGlvbkxvc3QKKworTU9EVUxFX05BTUUgPSAnZXJkJworCisKK2NsYXNzIEVSRE1v ZHVsZShQZ0FkbWluTW9kdWxlKToKKyAgICAiIiIKKyAgICBjbGFzcyBFUkRNb2R1bGUoUGdBZG1p bk1vZHVsZSkKKworICAgICAgICBBIG1vZHVsZSBjbGFzcyBmb3IgRVJEIGRlcml2ZWQgZnJvbSBQ Z0FkbWluTW9kdWxlLgorICAgICIiIgorCisgICAgTEFCRUwgPSBnZXR0ZXh0KCJFUkQgdG9vbCIp CisKKyAgICBkZWYgZ2V0X293bl9tZW51aXRlbXMoc2VsZik6CisgICAgICAgIHJldHVybiB7fQor CisgICAgZGVmIGdldF9vd25famF2YXNjcmlwdHMoc2VsZik6CisgICAgICAgIHJldHVybiBbewor ICAgICAgICAgICAgJ25hbWUnOiAncGdhZG1pbi5lcmQnLAorICAgICAgICAgICAgJ3BhdGgnOiB1 cmxfZm9yKCdlcmQuaW5kZXgnKSArICJlcmQiLAorICAgICAgICAgICAgJ3doZW4nOiBOb25lCisg ICAgICAgIH1dCisKKyAgICBkZWYgZ2V0X3BhbmVscyhzZWxmKToKKyAgICAgICAgcmV0dXJuIFtd CisKKyAgICBkZWYgZ2V0X2V4cG9zZWRfdXJsX2VuZHBvaW50cyhzZWxmKToKKyAgICAgICAgIiIi CisgICAgICAgIFJldHVybnM6CisgICAgICAgICAgICBsaXN0OiBVUkwgZW5kcG9pbnRzCisgICAg ICAgICIiIgorICAgICAgICByZXR1cm4gWworICAgICAgICAgICAgJ2VyZC5wYW5lbCcsCisgICAg ICAgICAgICAnZXJkLmluaXRpYWxpemUnLAorICAgICAgICAgICAgJ2VyZC5wcmVxdWlzaXRlJywK KyAgICAgICAgICAgICdlcmQuc3FsJywKKyAgICAgICAgICAgICdlcmQudGFibGVzJywKKyAgICAg ICAgICAgICdlcmQuY2xvc2UnCisgICAgICAgIF0KKworICAgIGRlZiByZWdpc3Rlcl9wcmVmZXJl bmNlcyhzZWxmKToKKyAgICAgICAgc2VsZi5wcmVmZXJlbmNlLnJlZ2lzdGVyKAorICAgICAgICAg ICAgJ2tleWJvYXJkX3Nob3J0Y3V0cycsCisgICAgICAgICAgICAnb3Blbl9wcm9qZWN0JywKKyAg ICAgICAgICAgIGdldHRleHQoJ09wZW4gcHJvamVjdCcpLAorICAgICAgICAgICAgJ2tleWJvYXJk c2hvcnRjdXQnLAorICAgICAgICAgICAgeworICAgICAgICAgICAgICAgICdhbHQnOiBGYWxzZSwK KyAgICAgICAgICAgICAgICAnc2hpZnQnOiBGYWxzZSwKKyAgICAgICAgICAgICAgICAnY29udHJv bCc6IFRydWUsCisgICAgICAgICAgICAgICAgJ2tleSc6IHsKKyAgICAgICAgICAgICAgICAgICAg J2tleV9jb2RlJzogNzksCisgICAgICAgICAgICAgICAgICAgICdjaGFyJzogJ28nCisgICAgICAg ICAgICAgICAgfQorICAgICAgICAgICAgfSwKKyAgICAgICAgICAgIGNhdGVnb3J5X2xhYmVsPVBS RUZfTEFCRUxfS0VZQk9BUkRfU0hPUlRDVVRTLAorICAgICAgICAgICAgZmllbGRzPXNob3J0Y3V0 X2ZpZWxkcworICAgICAgICApCisKKyAgICAgICAgc2VsZi5wcmVmZXJlbmNlLnJlZ2lzdGVyKAor ICAgICAgICAgICAgJ2tleWJvYXJkX3Nob3J0Y3V0cycsCisgICAgICAgICAgICAnc2F2ZV9wcm9q ZWN0JywKKyAgICAgICAgICAgIGdldHRleHQoJ1NhdmUgcHJvamVjdCcpLAorICAgICAgICAgICAg J2tleWJvYXJkc2hvcnRjdXQnLAorICAgICAgICAgICAgeworICAgICAgICAgICAgICAgICdhbHQn OiBGYWxzZSwKKyAgICAgICAgICAgICAgICAnc2hpZnQnOiBGYWxzZSwKKyAgICAgICAgICAgICAg ICAnY29udHJvbCc6IFRydWUsCisgICAgICAgICAgICAgICAgJ2tleSc6IHsKKyAgICAgICAgICAg ICAgICAgICAgJ2tleV9jb2RlJzogODMsCisgICAgICAgICAgICAgICAgICAgICdjaGFyJzogJ3Mn CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwKKyAgICAgICAgICAgIGNhdGVnb3J5 X2xhYmVsPVBSRUZfTEFCRUxfS0VZQk9BUkRfU0hPUlRDVVRTLAorICAgICAgICAgICAgZmllbGRz PXNob3J0Y3V0X2ZpZWxkcworICAgICAgICApCisKKyAgICAgICAgc2VsZi5wcmVmZXJlbmNlLnJl Z2lzdGVyKAorICAgICAgICAgICAgJ2tleWJvYXJkX3Nob3J0Y3V0cycsCisgICAgICAgICAgICAn c2F2ZV9wcm9qZWN0X2FzJywKKyAgICAgICAgICAgIGdldHRleHQoJ1NhdmUgcHJvamVjdCBhcycp LAorICAgICAgICAgICAgJ2tleWJvYXJkc2hvcnRjdXQnLAorICAgICAgICAgICAgeworICAgICAg ICAgICAgICAgICdhbHQnOiBGYWxzZSwKKyAgICAgICAgICAgICAgICAnc2hpZnQnOiBUcnVlLAor ICAgICAgICAgICAgICAgICdjb250cm9sJzogVHJ1ZSwKKyAgICAgICAgICAgICAgICAna2V5Jzog eworICAgICAgICAgICAgICAgICAgICAna2V5X2NvZGUnOiA4MywKKyAgICAgICAgICAgICAgICAg ICAgJ2NoYXInOiAncycKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LAorICAgICAg ICAgICAgY2F0ZWdvcnlfbGFiZWw9UFJFRl9MQUJFTF9LRVlCT0FSRF9TSE9SVENVVFMsCisgICAg ICAgICAgICBmaWVsZHM9c2hvcnRjdXRfZmllbGRzCisgICAgICAgICkKKworICAgICAgICBzZWxm LnByZWZlcmVuY2UucmVnaXN0ZXIoCisgICAgICAgICAgICAna2V5Ym9hcmRfc2hvcnRjdXRzJywK KyAgICAgICAgICAgICdnZW5lcmF0ZV9zcWwnLAorICAgICAgICAgICAgZ2V0dGV4dCgnR2VuZXJh dGUgU1FMJyksCisgICAgICAgICAgICAna2V5Ym9hcmRzaG9ydGN1dCcsCisgICAgICAgICAgICB7 CisgICAgICAgICAgICAgICAgJ2FsdCc6IFRydWUsCisgICAgICAgICAgICAgICAgJ3NoaWZ0Jzog RmFsc2UsCisgICAgICAgICAgICAgICAgJ2NvbnRyb2wnOiBUcnVlLAorICAgICAgICAgICAgICAg ICdrZXknOiB7CisgICAgICAgICAgICAgICAgICAgICdrZXlfY29kZSc6IDgzLAorICAgICAgICAg ICAgICAgICAgICAnY2hhcic6ICdzJworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0s CisgICAgICAgICAgICBjYXRlZ29yeV9sYWJlbD1QUkVGX0xBQkVMX0tFWUJPQVJEX1NIT1JUQ1VU UywKKyAgICAgICAgICAgIGZpZWxkcz1zaG9ydGN1dF9maWVsZHMKKyAgICAgICAgKQorCisgICAg ICAgIHNlbGYucHJlZmVyZW5jZS5yZWdpc3RlcigKKyAgICAgICAgICAgICdrZXlib2FyZF9zaG9y dGN1dHMnLAorICAgICAgICAgICAgJ2FkZF90YWJsZScsCisgICAgICAgICAgICBnZXR0ZXh0KCdB ZGQgdGFibGUnKSwKKyAgICAgICAgICAgICdrZXlib2FyZHNob3J0Y3V0JywKKyAgICAgICAgICAg IHsKKyAgICAgICAgICAgICAgICAnYWx0JzogVHJ1ZSwKKyAgICAgICAgICAgICAgICAnc2hpZnQn OiBGYWxzZSwKKyAgICAgICAgICAgICAgICAnY29udHJvbCc6IFRydWUsCisgICAgICAgICAgICAg ICAgJ2tleSc6IHsKKyAgICAgICAgICAgICAgICAgICAgJ2tleV9jb2RlJzogNjUsCisgICAgICAg ICAgICAgICAgICAgICdjaGFyJzogJ2EnCisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAg fSwKKyAgICAgICAgICAgIGNhdGVnb3J5X2xhYmVsPVBSRUZfTEFCRUxfS0VZQk9BUkRfU0hPUlRD VVRTLAorICAgICAgICAgICAgZmllbGRzPXNob3J0Y3V0X2ZpZWxkcworICAgICAgICApCisKKyAg ICAgICAgc2VsZi5wcmVmZXJlbmNlLnJlZ2lzdGVyKAorICAgICAgICAgICAgJ2tleWJvYXJkX3No b3J0Y3V0cycsCisgICAgICAgICAgICAnZWRpdF90YWJsZScsCisgICAgICAgICAgICBnZXR0ZXh0 KCdFZGl0IHRhYmxlJyksCisgICAgICAgICAgICAna2V5Ym9hcmRzaG9ydGN1dCcsCisgICAgICAg ICAgICB7CisgICAgICAgICAgICAgICAgJ2FsdCc6IFRydWUsCisgICAgICAgICAgICAgICAgJ3No aWZ0JzogRmFsc2UsCisgICAgICAgICAgICAgICAgJ2NvbnRyb2wnOiBUcnVlLAorICAgICAgICAg ICAgICAgICdrZXknOiB7CisgICAgICAgICAgICAgICAgICAgICdrZXlfY29kZSc6IDY5LAorICAg ICAgICAgICAgICAgICAgICAnY2hhcic6ICdlJworICAgICAgICAgICAgICAgIH0KKyAgICAgICAg ICAgIH0sCisgICAgICAgICAgICBjYXRlZ29yeV9sYWJlbD1QUkVGX0xBQkVMX0tFWUJPQVJEX1NI T1JUQ1VUUywKKyAgICAgICAgICAgIGZpZWxkcz1zaG9ydGN1dF9maWVsZHMKKyAgICAgICAgKQor CisgICAgICAgIHNlbGYucHJlZmVyZW5jZS5yZWdpc3RlcigKKyAgICAgICAgICAgICdrZXlib2Fy ZF9zaG9ydGN1dHMnLAorICAgICAgICAgICAgJ2Nsb25lX3RhYmxlJywKKyAgICAgICAgICAgIGdl dHRleHQoJ0Nsb25lIHRhYmxlJyksCisgICAgICAgICAgICAna2V5Ym9hcmRzaG9ydGN1dCcsCisg ICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgJ2FsdCc6IFRydWUsCisgICAgICAgICAgICAg ICAgJ3NoaWZ0JzogRmFsc2UsCisgICAgICAgICAgICAgICAgJ2NvbnRyb2wnOiBUcnVlLAorICAg ICAgICAgICAgICAgICdrZXknOiB7CisgICAgICAgICAgICAgICAgICAgICdrZXlfY29kZSc6IDY3 LAorICAgICAgICAgICAgICAgICAgICAnY2hhcic6ICdjJworICAgICAgICAgICAgICAgIH0KKyAg ICAgICAgICAgIH0sCisgICAgICAgICAgICBjYXRlZ29yeV9sYWJlbD1QUkVGX0xBQkVMX0tFWUJP QVJEX1NIT1JUQ1VUUywKKyAgICAgICAgICAgIGZpZWxkcz1zaG9ydGN1dF9maWVsZHMKKyAgICAg ICAgKQorCisgICAgICAgIHNlbGYucHJlZmVyZW5jZS5yZWdpc3RlcigKKyAgICAgICAgICAgICdr ZXlib2FyZF9zaG9ydGN1dHMnLAorICAgICAgICAgICAgJ2Ryb3BfdGFibGUnLAorICAgICAgICAg ICAgZ2V0dGV4dCgnRHJvcCB0YWJsZScpLAorICAgICAgICAgICAgJ2tleWJvYXJkc2hvcnRjdXQn LAorICAgICAgICAgICAgeworICAgICAgICAgICAgICAgICdhbHQnOiBUcnVlLAorICAgICAgICAg ICAgICAgICdzaGlmdCc6IEZhbHNlLAorICAgICAgICAgICAgICAgICdjb250cm9sJzogVHJ1ZSwK KyAgICAgICAgICAgICAgICAna2V5JzogeworICAgICAgICAgICAgICAgICAgICAna2V5X2NvZGUn OiA2OCwKKyAgICAgICAgICAgICAgICAgICAgJ2NoYXInOiAnZCcKKyAgICAgICAgICAgICAgICB9 CisgICAgICAgICAgICB9LAorICAgICAgICAgICAgY2F0ZWdvcnlfbGFiZWw9UFJFRl9MQUJFTF9L RVlCT0FSRF9TSE9SVENVVFMsCisgICAgICAgICAgICBmaWVsZHM9c2hvcnRjdXRfZmllbGRzCisg ICAgICAgICkKKworICAgICAgICBzZWxmLnByZWZlcmVuY2UucmVnaXN0ZXIoCisgICAgICAgICAg ICAna2V5Ym9hcmRfc2hvcnRjdXRzJywKKyAgICAgICAgICAgICdhZGRfZWRpdF9ub3RlJywKKyAg ICAgICAgICAgIGdldHRleHQoJ0FkZC9FZGl0IG5vdGUnKSwKKyAgICAgICAgICAgICdrZXlib2Fy ZHNob3J0Y3V0JywKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAnYWx0JzogVHJ1ZSwK KyAgICAgICAgICAgICAgICAnc2hpZnQnOiBGYWxzZSwKKyAgICAgICAgICAgICAgICAnY29udHJv bCc6IFRydWUsCisgICAgICAgICAgICAgICAgJ2tleSc6IHsKKyAgICAgICAgICAgICAgICAgICAg J2tleV9jb2RlJzogNzgsCisgICAgICAgICAgICAgICAgICAgICdjaGFyJzogJ24nCisgICAgICAg ICAgICAgICAgfQorICAgICAgICAgICAgfSwKKyAgICAgICAgICAgIGNhdGVnb3J5X2xhYmVsPVBS RUZfTEFCRUxfS0VZQk9BUkRfU0hPUlRDVVRTLAorICAgICAgICAgICAgZmllbGRzPXNob3J0Y3V0 X2ZpZWxkcworICAgICAgICApCisKKyAgICAgICAgc2VsZi5wcmVmZXJlbmNlLnJlZ2lzdGVyKAor ICAgICAgICAgICAgJ2tleWJvYXJkX3Nob3J0Y3V0cycsCisgICAgICAgICAgICAnb25lX3RvX21h bnknLAorICAgICAgICAgICAgZ2V0dGV4dCgnT25lIHRvIG1hbnkgbGluaycpLAorICAgICAgICAg ICAgJ2tleWJvYXJkc2hvcnRjdXQnLAorICAgICAgICAgICAgeworICAgICAgICAgICAgICAgICdh bHQnOiBUcnVlLAorICAgICAgICAgICAgICAgICdzaGlmdCc6IEZhbHNlLAorICAgICAgICAgICAg ICAgICdjb250cm9sJzogVHJ1ZSwKKyAgICAgICAgICAgICAgICAna2V5JzogeworICAgICAgICAg ICAgICAgICAgICAna2V5X2NvZGUnOiA3OSwKKyAgICAgICAgICAgICAgICAgICAgJ2NoYXInOiAn bycKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LAorICAgICAgICAgICAgY2F0ZWdv cnlfbGFiZWw9UFJFRl9MQUJFTF9LRVlCT0FSRF9TSE9SVENVVFMsCisgICAgICAgICAgICBmaWVs ZHM9c2hvcnRjdXRfZmllbGRzCisgICAgICAgICkKKworICAgICAgICBzZWxmLnByZWZlcmVuY2Uu cmVnaXN0ZXIoCisgICAgICAgICAgICAna2V5Ym9hcmRfc2hvcnRjdXRzJywKKyAgICAgICAgICAg ICdtYW55X3RvX21hbnknLAorICAgICAgICAgICAgZ2V0dGV4dCgnTWFueSB0byBtYW55IGxpbmsn KSwKKyAgICAgICAgICAgICdrZXlib2FyZHNob3J0Y3V0JywKKyAgICAgICAgICAgIHsKKyAgICAg ICAgICAgICAgICAnYWx0JzogVHJ1ZSwKKyAgICAgICAgICAgICAgICAnc2hpZnQnOiBGYWxzZSwK KyAgICAgICAgICAgICAgICAnY29udHJvbCc6IFRydWUsCisgICAgICAgICAgICAgICAgJ2tleSc6 IHsKKyAgICAgICAgICAgICAgICAgICAgJ2tleV9jb2RlJzogNzcsCisgICAgICAgICAgICAgICAg ICAgICdjaGFyJzogJ20nCisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwKKyAgICAg ICAgICAgIGNhdGVnb3J5X2xhYmVsPVBSRUZfTEFCRUxfS0VZQk9BUkRfU0hPUlRDVVRTLAorICAg ICAgICAgICAgZmllbGRzPXNob3J0Y3V0X2ZpZWxkcworICAgICAgICApCisKKyAgICAgICAgc2Vs Zi5wcmVmZXJlbmNlLnJlZ2lzdGVyKAorICAgICAgICAgICAgJ2tleWJvYXJkX3Nob3J0Y3V0cycs CisgICAgICAgICAgICAnYXV0b19hbGlnbicsCisgICAgICAgICAgICBnZXR0ZXh0KCdBdXRvIGFs aWduJyksCisgICAgICAgICAgICAna2V5Ym9hcmRzaG9ydGN1dCcsCisgICAgICAgICAgICB7Cisg ICAgICAgICAgICAgICAgJ2FsdCc6IFRydWUsCisgICAgICAgICAgICAgICAgJ3NoaWZ0JzogRmFs c2UsCisgICAgICAgICAgICAgICAgJ2NvbnRyb2wnOiBUcnVlLAorICAgICAgICAgICAgICAgICdr ZXknOiB7CisgICAgICAgICAgICAgICAgICAgICdrZXlfY29kZSc6IDc2LAorICAgICAgICAgICAg ICAgICAgICAnY2hhcic6ICdsJworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sCisg ICAgICAgICAgICBjYXRlZ29yeV9sYWJlbD1QUkVGX0xBQkVMX0tFWUJPQVJEX1NIT1JUQ1VUUywK KyAgICAgICAgICAgIGZpZWxkcz1zaG9ydGN1dF9maWVsZHMKKyAgICAgICAgKQorCisgICAgICAg IHNlbGYucHJlZmVyZW5jZS5yZWdpc3RlcigKKyAgICAgICAgICAgICdrZXlib2FyZF9zaG9ydGN1 dHMnLAorICAgICAgICAgICAgJ3pvb21fdG9fZml0JywKKyAgICAgICAgICAgIGdldHRleHQoJ1pv b20gdG8gZml0JyksCisgICAgICAgICAgICAna2V5Ym9hcmRzaG9ydGN1dCcsCisgICAgICAgICAg ICB7CisgICAgICAgICAgICAgICAgJ2FsdCc6IFRydWUsCisgICAgICAgICAgICAgICAgJ3NoaWZ0 JzogVHJ1ZSwKKyAgICAgICAgICAgICAgICAnY29udHJvbCc6IEZhbHNlLAorICAgICAgICAgICAg ICAgICdrZXknOiB7CisgICAgICAgICAgICAgICAgICAgICdrZXlfY29kZSc6IDcwLAorICAgICAg ICAgICAgICAgICAgICAnY2hhcic6ICdmJworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAg IH0sCisgICAgICAgICAgICBjYXRlZ29yeV9sYWJlbD1QUkVGX0xBQkVMX0tFWUJPQVJEX1NIT1JU Q1VUUywKKyAgICAgICAgICAgIGZpZWxkcz1zaG9ydGN1dF9maWVsZHMKKyAgICAgICAgKQorCisg ICAgICAgIHNlbGYucHJlZmVyZW5jZS5yZWdpc3RlcigKKyAgICAgICAgICAgICdrZXlib2FyZF9z aG9ydGN1dHMnLAorICAgICAgICAgICAgJ3pvb21faW4nLAorICAgICAgICAgICAgZ2V0dGV4dCgn Wm9vbSBpbicpLAorICAgICAgICAgICAgJ2tleWJvYXJkc2hvcnRjdXQnLAorICAgICAgICAgICAg eworICAgICAgICAgICAgICAgICdhbHQnOiBUcnVlLAorICAgICAgICAgICAgICAgICdzaGlmdCc6 IFRydWUsCisgICAgICAgICAgICAgICAgJ2NvbnRyb2wnOiBGYWxzZSwKKyAgICAgICAgICAgICAg ICAna2V5JzogeworICAgICAgICAgICAgICAgICAgICAna2V5X2NvZGUnOiAxODcsCisgICAgICAg ICAgICAgICAgICAgICdjaGFyJzogJysnCisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAg fSwKKyAgICAgICAgICAgIGNhdGVnb3J5X2xhYmVsPVBSRUZfTEFCRUxfS0VZQk9BUkRfU0hPUlRD VVRTLAorICAgICAgICAgICAgZmllbGRzPXNob3J0Y3V0X2ZpZWxkcworICAgICAgICApCisKKyAg ICAgICAgc2VsZi5wcmVmZXJlbmNlLnJlZ2lzdGVyKAorICAgICAgICAgICAgJ2tleWJvYXJkX3No b3J0Y3V0cycsCisgICAgICAgICAgICAnem9vbV9vdXQnLAorICAgICAgICAgICAgZ2V0dGV4dCgn Wm9vbSBvdXQnKSwKKyAgICAgICAgICAgICdrZXlib2FyZHNob3J0Y3V0JywKKyAgICAgICAgICAg IHsKKyAgICAgICAgICAgICAgICAnYWx0JzogVHJ1ZSwKKyAgICAgICAgICAgICAgICAnc2hpZnQn OiBUcnVlLAorICAgICAgICAgICAgICAgICdjb250cm9sJzogRmFsc2UsCisgICAgICAgICAgICAg ICAgJ2tleSc6IHsKKyAgICAgICAgICAgICAgICAgICAgJ2tleV9jb2RlJzogMTg5LAorICAgICAg ICAgICAgICAgICAgICAnY2hhcic6ICctJworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAg IH0sCisgICAgICAgICAgICBjYXRlZ29yeV9sYWJlbD1QUkVGX0xBQkVMX0tFWUJPQVJEX1NIT1JU Q1VUUywKKyAgICAgICAgICAgIGZpZWxkcz1zaG9ydGN1dF9maWVsZHMKKyAgICAgICAgKQorCisK K2JsdWVwcmludCA9IEVSRE1vZHVsZShNT0RVTEVfTkFNRSwgX19uYW1lX18sIHN0YXRpY191cmxf cGF0aD0nL3N0YXRpYycpCisKKworQGJsdWVwcmludC5yb3V0ZSgKKyAgICAnL3BhbmVsLzxpbnQ6 dHJhbnNfaWQ+JywKKyAgICBtZXRob2RzPVsiUE9TVCJdLAorICAgIGVuZHBvaW50PSdwYW5lbCcK KykKK0Bsb2dpbl9yZXF1aXJlZAorZGVmIHBhbmVsKHRyYW5zX2lkKToKKyAgICAiIiIKKyAgICBU aGlzIG1ldGhvZCBjYWxscyBpbmRleC5odG1sIHRvIHJlbmRlciB0aGUgZXJkIHRvb2wuCisKKyAg ICBBcmdzOgorICAgICAgICBwYW5lbF90aXRsZTogVGl0bGUgb2YgdGhlIHBhbmVsCisgICAgIiIi CisKKyAgICBwYXJhbXMgPSB7CisgICAgICAgICd0cmFuc19pZCc6IHRyYW5zX2lkLAorICAgICAg ICAndGl0bGUnOiByZXF1ZXN0LmZvcm1bJ3RpdGxlJ10KKyAgICB9CisgICAgaWYgcmVxdWVzdC5h cmdzOgorICAgICAgICBwYXJhbXMudXBkYXRlKHtrOiB2IGZvciBrLCB2IGluIHJlcXVlc3QuYXJn cy5pdGVtcygpfSkKKworICAgIGlmICdnZW4nIGluIHBhcmFtczoKKyAgICAgICAgcGFyYW1zWydn ZW4nXSA9IFRydWUgaWYgcGFyYW1zWydnZW4nXSA9PSAndHJ1ZScgZWxzZSBGYWxzZQorCisgICAg Y2xvc2VfdXJsID0gcmVxdWVzdC5mb3JtWydjbG9zZV91cmwnXQorCisgICAgIyBXZSBuZWVkIGNs aWVudCBPUyBpbmZvcm1hdGlvbiB0byByZW5kZXIgY29ycmVjdCBLZXlib2FyZCBzaG9ydGN1dHMK KyAgICB1c2VyX2FnZW50ID0gVXNlckFnZW50KHJlcXVlc3QuaGVhZGVycy5nZXQoJ1VzZXItQWdl bnQnKSkKKworICAgICIiIgorICAgIEFuaW1hdGlvbnMgYW5kIHRyYW5zaXRpb25zIGFyZSBub3Qg YXV0b21hdGljYWxseSBHUFUgYWNjZWxlcmF0ZWQgYW5kIGJ5CisgICAgZGVmYXVsdCB1c2UgYnJv d3NlcidzIHNsb3cgcmVuZGVyaW5nIGVuZ2luZS4gV2UgbmVlZCB0byBzZXQgJ3RyYW5zbGF0ZTNk JworICAgIHZhbHVlIG9mICctd2Via2l0LXRyYW5zZm9ybScgcHJvcGVydHkgaW4gb3JkZXIgdG8g dXNlIEdQVS4gQWZ0ZXIgYXBwbHlpbmcKKyAgICB0aGlzIHByb3BlcnR5IHVuZGVyIGxpbnV4LCBX ZWJraXQgY2FsY3VsYXRlcyB3cm9uZyBwb3NpdGlvbiBvZiB0aGUKKyAgICBlbGVtZW50cyBzbyBw YW5lbCBjb250ZW50cyBhcmUgbm90IHZpc2libGUuIFRvIG1ha2UgaXQgd29yaywgd2UgbmVlZCB0 bworICAgIGV4cGxpY2l0bHkgc2V0ICctd2Via2l0LXRyYW5zZm9ybScgcHJvcGVydHkgdG8gJ25v bmUnIGZvciAuYWpzLW5vdGlmaWVyLAorICAgIC5hanMtbWVzc2FnZSwgLmFqcy1tb2RhbCBjbGFz c2VzLgorCisgICAgVGhpcyBpc3N1ZSBpcyBvbmx5IHdpdGggbGludXggcnVudGltZSBhcHBsaWNh dGlvbiBhbmQgb2JzZXJ2ZWQgaW4gUXVlcnkKKyAgICB0b29sIGFuZCBkZWJ1Z2dlci4gV2hlbiB3 ZSBvcGVuICdPcGVuIEZpbGUnIGRpYWxvZyB0aGVuIHdob2xlIFF1ZXJ5IHRvb2wKKyAgICBwYW5l bCBjb250ZW50IGlzIG5vdCB2aXNpYmxlIHRob3VnaCBpdCBjb250YWlucyBIVE1MIGVsZW1lbnQg aW4gYmFjayBlbmQuCisKKyAgICBUaGUgcG9ydCBudW1iZXIgc2hvdWxkIGhhdmUgYWxyZWFkeSBi ZWVuIHNldCBieSB0aGUgcnVudGltZSBpZiB3ZSdyZQorICAgIHJ1bm5pbmcgaW4gZGVza3RvcCBt b2RlLgorICAgICIiIgorICAgIGlzX2xpbnV4X3BsYXRmb3JtID0gRmFsc2UKKworICAgIGZyb20g c3lzIGltcG9ydCBwbGF0Zm9ybSBhcyBfcGxhdGZvcm0KKyAgICBpZiAibGludXgiIGluIF9wbGF0 Zm9ybToKKyAgICAgICAgaXNfbGludXhfcGxhdGZvcm0gPSBUcnVlCisKKyAgICBzID0gU2VydmVy LnF1ZXJ5LmZpbHRlcl9ieShpZD1wYXJhbXNbJ3NpZCddKS5maXJzdCgpCisKKyAgICBwYXJhbXMu dXBkYXRlKHsKKyAgICAgICAgJ2JnY29sb3InOiBzLmJnY29sb3IsCisgICAgICAgICdmZ2NvbG9y Jzogcy5mZ2NvbG9yLAorICAgICAgICAnY2xpZW50X3BsYXRmb3JtJzogdXNlcl9hZ2VudC5wbGF0 Zm9ybSwKKyAgICAgICAgJ2lzX2Rlc2t0b3BfbW9kZSc6IGFwcC5QR0FETUlOX1JVTlRJTUUsCisg ICAgICAgICdpc19saW51eCc6IGlzX2xpbnV4X3BsYXRmb3JtCisgICAgfSkKKworICAgIHJldHVy biByZW5kZXJfdGVtcGxhdGUoCisgICAgICAgICJlcmQvaW5kZXguaHRtbCIsCisgICAgICAgIHRp dGxlPXVuZGVyc2NvcmVfdW5lc2NhcGUocGFyYW1zWyd0aXRsZSddKSwKKyAgICAgICAgY2xvc2Vf dXJsPWNsb3NlX3VybCwKKyAgICAgICAgcGFyYW1zPWpzb24uZHVtcHMocGFyYW1zKSwKKyAgICAp CisKKworQGJsdWVwcmludC5yb3V0ZSgKKyAgICAnL2luaXRpYWxpemUvPGludDp0cmFuc19pZD4v PGludDpzZ2lkPi88aW50OnNpZD4vPGludDpkaWQ+JywKKyAgICBtZXRob2RzPVsiUE9TVCJdLCBl bmRwb2ludD0naW5pdGlhbGl6ZScKKykKK0Bsb2dpbl9yZXF1aXJlZAorZGVmIGluaXRpYWxpemVf ZXJkKHRyYW5zX2lkLCBzZ2lkLCBzaWQsIGRpZCk6CisgICAgIiIiCisgICAgVGhpcyBtZXRob2Qg aXMgcmVzcG9uc2libGUgZm9yIGluc3RhbnRpYXRpbmcgYW5kIGluaXRpYWxpemluZworICAgIHRo ZSBlcmQgdG9vbCBvYmplY3QuIEl0IHdpbGwgYWxzbyBjcmVhdGUgYSB1bmlxdWUKKyAgICB0cmFu c2FjdGlvbiBpZCBhbmQgc3RvcmUgdGhlIGluZm9ybWF0aW9uIGludG8gc2Vzc2lvbiB2YXJpYWJs ZS4KKworICAgIEFyZ3M6CisgICAgICAgIHNnaWQ6IFNlcnZlciBncm91cCBJZAorICAgICAgICBz aWQ6IFNlcnZlciBJZAorICAgICAgICBkaWQ6IERhdGFiYXNlIElkCisgICAgIiIiCisgICAgIyBS ZWFkIHRoZSBkYXRhIGlmIHByZXNlbnQuIFNraXBwaW5nIHJlYWQgbWF5IGNhdXNlIGNvbm5lY3Rp b24KKyAgICAjIHJlc2V0IGVycm9yIGlmIGRhdGEgaXMgc2VudCBmcm9tIHRoZSBjbGllbnQKKyAg ICBpZiByZXF1ZXN0LmRhdGE6CisgICAgICAgIF8gPSByZXF1ZXN0LmRhdGEKKworICAgIGNvbm4g PSBfZ2V0X2Nvbm5lY3Rpb24oc2lkLCBkaWQsIHRyYW5zX2lkKQorCisgICAgcmV0dXJuIG1ha2Vf anNvbl9yZXNwb25zZSgKKyAgICAgICAgZGF0YT17CisgICAgICAgICAgICAnY29ubklkJzogc3Ry KHRyYW5zX2lkKSwKKyAgICAgICAgICAgICdzZXJ2ZXJWZXJzaW9uJzogY29ubi5tYW5hZ2VyLnZl cnNpb24sCisgICAgICAgIH0KKyAgICApCisKKworZGVmIF9nZXRfY29ubmVjdGlvbihzaWQsIGRp ZCwgdHJhbnNfaWQpOgorICAgICIiIgorICAgIEdldCB0aGUgY29ubmVjdGlvbiBvYmplY3Qgb2Yg RVJELgorICAgIDpwYXJhbSBzaWQ6CisgICAgOnBhcmFtIGRpZDoKKyAgICA6cGFyYW0gdHJhbnNf aWQ6CisgICAgOnJldHVybjoKKyAgICAiIiIKKyAgICBtYW5hZ2VyID0gZ2V0X2RyaXZlcihQR19E RUZBVUxUX0RSSVZFUikuY29ubmVjdGlvbl9tYW5hZ2VyKHNpZCkKKyAgICB0cnk6CisgICAgICAg IGNvbm4gPSBtYW5hZ2VyLmNvbm5lY3Rpb24oZGlkPWRpZCwgY29ubl9pZD10cmFuc19pZCwKKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhdXRvX3JlY29ubmVjdD1UcnVlLAorICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVzZV9iaW5hcnlfcGxhY2Vob2xkZXI9VHJ1 ZSkKKyAgICAgICAgc3RhdHVzLCBtc2cgPSBjb25uLmNvbm5lY3QoKQorICAgICAgICBpZiBub3Qg c3RhdHVzOgorICAgICAgICAgICAgYXBwLmxvZ2dlci5lcnJvcihtc2cpCisgICAgICAgICAgICBy YWlzZSBDb25uZWN0aW9uTG9zdChzaWQsIGNvbm4uZGIsIHRyYW5zX2lkKQorCisgICAgICAgIHJl dHVybiBjb25uCisgICAgZXhjZXB0IEV4Y2VwdGlvbiBhcyBlOgorICAgICAgICBhcHAubG9nZ2Vy LmVycm9yKGUpCisgICAgICAgIHJhaXNlCisKKworQGJsdWVwcmludC5yb3V0ZSgnL3ByZXF1aXNp dGUvPGludDp0cmFuc19pZD4vPGludDpzZ2lkPi88aW50OnNpZD4vPGludDpkaWQ+JywKKyAgICAg ICAgICAgICAgICAgbWV0aG9kcz1bIkdFVCJdLAorICAgICAgICAgICAgICAgICBlbmRwb2ludD0n cHJlcXVpc2l0ZScpCitAbG9naW5fcmVxdWlyZWQKK2RlZiBwcmVxdWlzaXRlKHRyYW5zX2lkLCBz Z2lkLCBzaWQsIGRpZCk6CisgICAgY29ubiA9IF9nZXRfY29ubmVjdGlvbihzaWQsIGRpZCwgdHJh bnNfaWQpCisgICAgaGVscGVyID0gRVJESGVscGVyKHRyYW5zX2lkLCBzaWQsIGRpZCkKKyAgICBz dGF0dXMsIGNvbF90eXBlcyA9IGhlbHBlci5nZXRfdHlwZXMoKQorCisgICAgaWYgbm90IHN0YXR1 czoKKyAgICAgICAgcmV0dXJuIGludGVybmFsX3NlcnZlcl9lcnJvcihlcnJvcm1zZz1jb2xfdHlw ZXMpCisKKyAgICBzdGF0dXMsIHNjaGVtYXMgPSBnZXRfc2NoZW1hcyhjb25uLCBzaG93X3N5c3Rl bV9vYmplY3RzPUZhbHNlKQorCisgICAgaWYgbm90IHN0YXR1czoKKyAgICAgICAgcmV0dXJuIGlu dGVybmFsX3NlcnZlcl9lcnJvcihlcnJvcm1zZz1zY2hlbWFzKQorCisgICAgcmV0dXJuIG1ha2Vf anNvbl9yZXNwb25zZSgKKyAgICAgICAgZGF0YT17CisgICAgICAgICAgICAnY29sX3R5cGVzJzog Y29sX3R5cGVzLAorICAgICAgICAgICAgJ3NjaGVtYXMnOiBzY2hlbWFzWydyb3dzJ10KKyAgICAg ICAgfSwKKyAgICAgICAgc3RhdHVzPTIwMAorICAgICkKKworCitAYmx1ZXByaW50LnJvdXRlKCcv c3FsLzxpbnQ6dHJhbnNfaWQ+LzxpbnQ6c2dpZD4vPGludDpzaWQ+LzxpbnQ6ZGlkPicsCisgICAg ICAgICAgICAgICAgIG1ldGhvZHM9WyJQT1NUIl0sCisgICAgICAgICAgICAgICAgIGVuZHBvaW50 PSdzcWwnKQorQGxvZ2luX3JlcXVpcmVkCitkZWYgc3FsKHRyYW5zX2lkLCBzZ2lkLCBzaWQsIGRp ZCk6CisgICAgZGF0YSA9IGpzb24ubG9hZHMocmVxdWVzdC5kYXRhLCBlbmNvZGluZz0ndXRmLTgn KQorICAgIGhlbHBlciA9IEVSREhlbHBlcih0cmFuc19pZCwgc2lkLCBkaWQpCisgICAgY29ubiA9 IF9nZXRfY29ubmVjdGlvbihzaWQsIGRpZCwgdHJhbnNfaWQpCisKKyAgICBzcWwgPSAnJworICAg IGZvciB0YWJfa2V5LCB0YWJfZGF0YSBpbiBkYXRhLmdldCgnbm9kZXMnLCB7fSkuaXRlbXMoKToK KyAgICAgICAgc3FsICs9ICdcblxuJyArIGhlbHBlci5nZXRfdGFibGVfc3FsKHRhYl9kYXRhKQor CisgICAgZm9yIGxpbmtfa2V5LCBsaW5rX2RhdGEgaW4gZGF0YS5nZXQoJ2xpbmtzJywge30pLml0 ZW1zKCk6CisgICAgICAgIGxpbmtfc3FsLCBuYW1lID0gZmtleV91dGlscy5nZXRfc3FsKGNvbm4s IGxpbmtfZGF0YSwgTm9uZSkKKyAgICAgICAgc3FsICs9ICdcblxuJyArIGxpbmtfc3FsCisKKyAg ICByZXR1cm4gbWFrZV9qc29uX3Jlc3BvbnNlKAorICAgICAgICBkYXRhPXNxbCwKKyAgICAgICAg c3RhdHVzPTIwMAorICAgICkKKworCitAYmx1ZXByaW50LnJvdXRlKCcvdGFibGVzLzxpbnQ6dHJh bnNfaWQ+LzxpbnQ6c2dpZD4vPGludDpzaWQ+LzxpbnQ6ZGlkPicsCisgICAgICAgICAgICAgICAg IG1ldGhvZHM9WyJHRVQiXSwKKyAgICAgICAgICAgICAgICAgZW5kcG9pbnQ9J3RhYmxlcycpCitA bG9naW5fcmVxdWlyZWQKK2RlZiB0YWJsZXModHJhbnNfaWQsIHNnaWQsIHNpZCwgZGlkKToKKyAg ICBoZWxwZXIgPSBFUkRIZWxwZXIodHJhbnNfaWQsIHNpZCwgZGlkKQorICAgIHN0YXR1cywgdGFi bGVzID0gaGVscGVyLmdldF9hbGxfdGFibGVzKCkKKworICAgIGlmIG5vdCBzdGF0dXM6CisgICAg ICAgIHJldHVybiBpbnRlcm5hbF9zZXJ2ZXJfZXJyb3IoZXJyb3Jtc2c9dGFibGVzKQorCisgICAg cmV0dXJuIG1ha2VfanNvbl9yZXNwb25zZSgKKyAgICAgICAgZGF0YT10YWJsZXMsCisgICAgICAg IHN0YXR1cz0yMDAKKyAgICApCisKKworQGJsdWVwcmludC5yb3V0ZSgnL2Nsb3NlLzxpbnQ6dHJh bnNfaWQ+LzxpbnQ6c2dpZD4vPGludDpzaWQ+LzxpbnQ6ZGlkPicsCisgICAgICAgICAgICAgICAg IG1ldGhvZHM9WyJERUxFVEUiXSwKKyAgICAgICAgICAgICAgICAgZW5kcG9pbnQ9J2Nsb3NlJykK K0Bsb2dpbl9yZXF1aXJlZAorZGVmIGNsb3NlKHRyYW5zX2lkLCBzZ2lkLCBzaWQsIGRpZCk6Cisg ICAgbWFuYWdlciA9IGdldF9kcml2ZXIoCisgICAgICAgIFBHX0RFRkFVTFRfRFJJVkVSKS5jb25u ZWN0aW9uX21hbmFnZXIoc2lkKQorICAgIGlmIG1hbmFnZXIgaXMgbm90IE5vbmU6CisgICAgICAg IGNvbm4gPSBtYW5hZ2VyLmNvbm5lY3Rpb24oZGlkPWRpZCwgY29ubl9pZD10cmFuc19pZCkKKwor ICAgICAgICAjIFJlbGVhc2UgdGhlIGNvbm5lY3Rpb24KKyAgICAgICAgaWYgY29ubi5jb25uZWN0 ZWQoKToKKyAgICAgICAgICAgIGNvbm4uY2FuY2VsX3RyYW5zYWN0aW9uKHRyYW5zX2lkLCBkaWQ9 ZGlkKQorICAgICAgICAgICAgbWFuYWdlci5yZWxlYXNlKGRpZD1kaWQsIGNvbm5faWQ9dHJhbnNf aWQpCisgICAgcmV0dXJuIG1ha2VfanNvbl9yZXNwb25zZShkYXRhPXsnc3RhdHVzJzogVHJ1ZX0p CmRpZmYgLS1naXQgYS93ZWIvcGdhZG1pbi90b29scy9lcmQvc3RhdGljL2pzL2VyZF9tb2R1bGUu anMgYi93ZWIvcGdhZG1pbi90b29scy9lcmQvc3RhdGljL2pzL2VyZF9tb2R1bGUuanMKbmV3IGZp bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwLi42YWEyMmE4NjkKLS0tIC9kZXYvbnVsbAor KysgYi93ZWIvcGdhZG1pbi90b29scy9lcmQvc3RhdGljL2pzL2VyZF9tb2R1bGUuanMKQEAgLTAs MCArMSwyMTUgQEAKKy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v Ly8vLy8vLy8vLy8vLy8vLy8KKy8vCisvLyBwZ0FkbWluIDQgLSBQb3N0Z3JlU1FMIFRvb2xzCisv LworLy8gQ29weXJpZ2h0IChDKSAyMDEzIC0gMjAyMCwgVGhlIHBnQWRtaW4gRGV2ZWxvcG1lbnQg VGVhbQorLy8gVGhpcyBzb2Z0d2FyZSBpcyByZWxlYXNlZCB1bmRlciB0aGUgUG9zdGdyZVNRTCBM aWNlbmNlCisvLworLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v Ly8vLy8vLy8vLy8vLy8vLy8KKworaW1wb3J0IEFsZXJ0aWZ5IGZyb20gJ3BnYWRtaW4uYWxlcnRp Znlqcyc7CitpbXBvcnQge2dldFRyZWVOb2RlSGllcmFyY2h5RnJvbUlkZW50aWZpZXJ9IGZyb20g J3NvdXJjZXMvdHJlZS9wZ2FkbWluX3RyZWVfbm9kZSc7CitpbXBvcnQge2dldFBhbmVsVGl0bGV9 IGZyb20gJ3Rvb2xzL2RhdGFncmlkL3N0YXRpYy9qcy9kYXRhZ3JpZF9wYW5lbF90aXRsZSc7Citp bXBvcnQge2dldFJhbmRvbUludH0gZnJvbSAnc291cmNlcy91dGlscyc7CisKKworZXhwb3J0IGZ1 bmN0aW9uIHNldFBhbmVsVGl0bGUoZXJkVG9vbFBhbmVsLCBwYW5lbFRpdGxlKSB7CisgIGVyZFRv b2xQYW5lbC50aXRsZSgnPHNwYW4gdGl0bGU9IicrcGFuZWxUaXRsZSsnIj4nK3BhbmVsVGl0bGUr Jzwvc3Bhbj4nKTsKK30KKworZXhwb3J0IGZ1bmN0aW9uIGluaXRpYWxpemUoZ2V0dGV4dCwgdXJs X2ZvciwgJCwgXywgcGdBZG1pbiwgY3NyZlRva2VuLCBwZ0Jyb3dzZXIsIHdjRG9ja2VyKSB7Cisg IC8qIFJldHVybiBiYWNrLCB0aGlzIGhhcyBiZWVuIGNhbGxlZCBtb3JlIHRoYW4gb25jZSAqLwor ICBpZiAocGdCcm93c2VyLmVyZCkKKyAgICByZXR1cm4gcGdCcm93c2VyLmVyZDsKKworICBwZ0Jy b3dzZXIuZXJkID0geworICAgIGluaXQ6IGZ1bmN0aW9uKCkgeworICAgICAgaWYgKHRoaXMuaW5p dGlhbGl6ZWQpCisgICAgICAgIHJldHVybjsKKworICAgICAgdGhpcy5pbml0aWFsaXplZCA9IHRy dWU7CisgICAgICBjc3JmVG9rZW4uc2V0UEdDU1JGVG9rZW4ocGdBZG1pbi5jc3JmX3Rva2VuX2hl YWRlciwgcGdBZG1pbi5jc3JmX3Rva2VuKTsKKworCisgICAgICAvLyBEZWZpbmUgdGhlIG5vZGVz IG9uIHdoaWNoIHRoZSBtZW51cyB0byBiZSBhcHBlYXIKKyAgICAgIHZhciBtZW51cyA9IFt7Cisg ICAgICAgIG5hbWU6ICdlcmQnLAorICAgICAgICBtb2R1bGU6IHRoaXMsCisgICAgICAgIGFwcGxp ZXM6IFsndG9vbHMnXSwKKyAgICAgICAgY2FsbGJhY2s6ICdzaG93RXJkVG9vbCcsCisgICAgICAg IHByaW9yaXR5OiAxLAorICAgICAgICBsYWJlbDogZ2V0dGV4dCgnTmV3IEVSRCBwcm9qZWN0KEJl dGEpJyksCisgICAgICAgIGVuYWJsZTogdGhpcy5lcmRUb29sRW5hYmxlZCwKKyAgICAgIH1dOwor CisgICAgICBwZ0Jyb3dzZXIuYWRkX21lbnVzKG1lbnVzKTsKKworICAgICAgLy8gQ3JlYXRpbmcg YSBuZXcgcGdCcm93c2VyIGZyYW1lIHRvIHNob3cgdGhlIGRhdGEuCisgICAgICB2YXIgZXJkRnJh bWVUeXBlID0gbmV3IHBnQnJvd3Nlci5GcmFtZSh7CisgICAgICAgIG5hbWU6ICdmcm1fZXJkdG9v bCcsCisgICAgICAgIHNob3dUaXRsZTogdHJ1ZSwKKyAgICAgICAgaXNDbG9zZWFibGU6IHRydWUs CisgICAgICAgIGlzUHJpdmF0ZTogdHJ1ZSwKKyAgICAgICAgdXJsOiAnYWJvdXQ6YmxhbmsnLAor ICAgICAgfSk7CisKKyAgICAgIGxldCBzZWxmID0gdGhpczsKKyAgICAgIC8qIENhY2hlIG1heSB0 YWtlIHRpbWUgdG8gbG9hZCBmb3IgdGhlIGZpcnN0IHRpbWUKKyAgICAgICAqIEtlZXAgdHJ5aW5n IHRpbGwgYXZhaWxhYmxlCisgICAgICAgKi8KKyAgICAgIGxldCBjYWNoZUludGVydmFsSWQgPSBz ZXRJbnRlcnZhbChmdW5jdGlvbigpIHsKKyAgICAgICAgaWYocGdCcm93c2VyLnByZWZlcmVuY2Vf dmVyc2lvbigpID4gMCkgeworICAgICAgICAgIHNlbGYucHJlZmVyZW5jZXMgPSBwZ0Jyb3dzZXIu Z2V0X3ByZWZlcmVuY2VzX2Zvcl9tb2R1bGUoJ2VyZCcpOworICAgICAgICAgIGNsZWFySW50ZXJ2 YWwoY2FjaGVJbnRlcnZhbElkKTsKKyAgICAgICAgfQorICAgICAgfSwwKTsKKworICAgICAgcGdC cm93c2VyLm9uUHJlZmVyZW5jZXNDaGFuZ2UoJ2VyZCcsIGZ1bmN0aW9uKCkgeworICAgICAgICBz ZWxmLnByZWZlcmVuY2VzID0gcGdCcm93c2VyLmdldF9wcmVmZXJlbmNlc19mb3JfbW9kdWxlKCdl cmQnKTsKKyAgICAgIH0pOworCisgICAgICAvLyBMb2FkIHRoZSBuZXdseSBjcmVhdGVkIGZyYW1l CisgICAgICBlcmRGcmFtZVR5cGUubG9hZChwZ0Jyb3dzZXIuZG9ja2VyKTsKKyAgICAgIHJldHVy biB0aGlzOworICAgIH0sCisKKyAgICBlcmRUb29sRW5hYmxlZDogZnVuY3Rpb24ob2JqKSB7Cisg ICAgICAvKiBTYW1lIGFzIHF1ZXJ5IHRvb2wgKi8KKyAgICAgIHZhciBpc0VuYWJsZWQgPSAoKCkg PT4geworICAgICAgICBpZiAoIV8uaXNVbmRlZmluZWQob2JqKSAmJiAhXy5pc051bGwob2JqKSkg eworICAgICAgICAgIGlmIChfLmluZGV4T2YocGdBZG1pbi51bnN1cHBvcnRlZF9ub2Rlcywgb2Jq Ll90eXBlKSA9PSAtMSkgeworICAgICAgICAgICAgaWYgKG9iai5fdHlwZSA9PSAnZGF0YWJhc2Un ICYmIG9iai5hbGxvd0Nvbm4pIHsKKyAgICAgICAgICAgICAgcmV0dXJuIHRydWU7CisgICAgICAg ICAgICB9IGVsc2UgaWYgKG9iai5fdHlwZSAhPSAnZGF0YWJhc2UnKSB7CisgICAgICAgICAgICAg IHJldHVybiB0cnVlOworICAgICAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgICAgcmV0dXJu IGZhbHNlOworICAgICAgICAgICAgfQorICAgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICBy ZXR1cm4gZmFsc2U7CisgICAgICAgICAgfQorICAgICAgICB9IGVsc2UgeworICAgICAgICAgIHJl dHVybiBmYWxzZTsKKyAgICAgICAgfQorICAgICAgfSkoKTsKKyAgICAgIHJldHVybiBpc0VuYWJs ZWQ7CisgICAgfSwKKworICAgIC8vIENhbGxiYWNrIHRvIGRyYXcgc2NoZW1hIGRpZmYgZm9yIG9i amVjdHMKKyAgICBzaG93RXJkVG9vbDogZnVuY3Rpb24oZGF0YSwgYWNpVHJlZUlkZW50aWZpZXIs IGdlbj1mYWxzZSkgeworICAgICAgY29uc3Qgbm9kZSA9IHBnQnJvd3Nlci50cmVlTWVudS5maW5k Tm9kZUJ5RG9tRWxlbWVudChhY2lUcmVlSWRlbnRpZmllcik7CisgICAgICBpZiAobm9kZSA9PT0g dW5kZWZpbmVkIHx8ICFub2RlLmdldERhdGEoKSkgeworICAgICAgICBBbGVydGlmeS5hbGVydCgK KyAgICAgICAgICBnZXR0ZXh0KCdFUkQgRXJyb3InKSwKKyAgICAgICAgICBnZXR0ZXh0KCdObyBv YmplY3Qgc2VsZWN0ZWQuJykKKyAgICAgICAgKTsKKyAgICAgICAgcmV0dXJuOworICAgICAgfQor CisgICAgICBjb25zdCBwYXJlbnREYXRhID0gZ2V0VHJlZU5vZGVIaWVyYXJjaHlGcm9tSWRlbnRp Zmllci5jYWxsKAorICAgICAgICBwZ0Jyb3dzZXIsCisgICAgICAgIGFjaVRyZWVJZGVudGlmaWVy CisgICAgICApOworCisgICAgICBpZihfLmlzVW5kZWZpbmVkKHBhcmVudERhdGEuZGF0YWJhc2Up KSB7CisgICAgICAgIEFsZXJ0aWZ5LmFsZXJ0KAorICAgICAgICAgIGdldHRleHQoJ0VSRCBFcnJv cicpLAorICAgICAgICAgIGdldHRleHQoJ1BsZWFzZSBzZWxlY3QgYSBkYXRhYmFzZS9kYXRhYmFz ZSBvYmplY3QuJykKKyAgICAgICAgKTsKKyAgICAgICAgcmV0dXJuOworICAgICAgfQorCisgICAg ICBjb25zdCB0cmFuc0lkID0gZ2V0UmFuZG9tSW50KDEsIDk5OTk5OTkpOworICAgICAgY29uc3Qg cGFuZWxUaXRsZSA9IGdldFBhbmVsVGl0bGUocGdCcm93c2VyLCBhY2lUcmVlSWRlbnRpZmllcik7 CisgICAgICBjb25zdCBbcGFuZWxVcmwsIHBhbmVsQ2xvc2VVcmxdID0gdGhpcy5nZXRQYW5lbFVy bHModHJhbnNJZCwgcGFuZWxUaXRsZSwgcGFyZW50RGF0YSwgZ2VuKTsKKworICAgICAgbGV0IGVy ZFRvb2xGb3JtID0gYAorICAgICAgICA8Zm9ybSBpZD0iZXJkVG9vbEZvcm0iIGFjdGlvbj0iJHtw YW5lbFVybH0iIG1ldGhvZD0icG9zdCI+CisgICAgICAgICAgPGlucHV0IGlkPSJ0aXRsZSIgbmFt ZT0idGl0bGUiIGhpZGRlbiAvPgorICAgICAgICAgIDxpbnB1dCBuYW1lPSJjbG9zZV91cmwiIHZh bHVlPSIke3BhbmVsQ2xvc2VVcmx9IiBoaWRkZW4gLz4KKyAgICAgICAgPC9mb3JtPgorICAgICAg ICA8c2NyaXB0PgorICAgICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ0aXRsZSIpLnZh bHVlID0gIiR7Xy5lc2NhcGUocGFuZWxUaXRsZSl9IjsKKyAgICAgICAgICBkb2N1bWVudC5nZXRF bGVtZW50QnlJZCgiZXJkVG9vbEZvcm0iKS5zdWJtaXQoKTsKKyAgICAgICAgPC9zY3JpcHQ+Cisg ICAgICBgOworCisgICAgICB2YXIgb3Blbl9uZXdfdGFiID0gcGdCcm93c2VyLmdldF9wcmVmZXJl bmNlc19mb3JfbW9kdWxlKCdicm93c2VyJykubmV3X2Jyb3dzZXJfdGFiX29wZW47CisgICAgICBp ZiAob3Blbl9uZXdfdGFiICYmIG9wZW5fbmV3X3RhYi5pbmNsdWRlcygnZXJkX3Rvb2wnKSkgewor ICAgICAgICB2YXIgbmV3V2luID0gd2luZG93Lm9wZW4oJycsICdfYmxhbmsnKTsKKyAgICAgICAg bmV3V2luLmRvY3VtZW50LndyaXRlKGVyZFRvb2xGb3JtKTsKKyAgICAgICAgbmV3V2luLmRvY3Vt ZW50LnRpdGxlID0gcGFuZWxUaXRsZTsKKyAgICAgIH0gZWxzZSB7CisgICAgICAgIC8qIE9uIHN1 Y2Nlc3NmdWxseSBpbml0aWFsaXphdGlvbiBmaW5kIHRoZSBkYXNoYm9hcmQgcGFuZWwsCisgICAg ICAgICAqIGNyZWF0ZSBuZXcgcGFuZWwgYW5kIGFkZCBpdCB0byB0aGUgZGFzaGJvYXJkIHBhbmVs LgorICAgICAgICAgKi8KKyAgICAgICAgdmFyIHByb3BlcnRpZXNQYW5lbCA9IHBnQnJvd3Nlci5k b2NrZXIuZmluZFBhbmVscygncHJvcGVydGllcycpOworICAgICAgICB2YXIgZXJkVG9vbFBhbmVs ID0gcGdCcm93c2VyLmRvY2tlci5hZGRQYW5lbCgnZnJtX2VyZHRvb2wnLCB3Y0RvY2tlci5ET0NL LlNUQUNLRUQsIHByb3BlcnRpZXNQYW5lbFswXSk7CisKKyAgICAgICAgLy8gU2V0IHBhbmVsIHRp dGxlIGFuZCBpY29uCisgICAgICAgIHNldFBhbmVsVGl0bGUoZXJkVG9vbFBhbmVsLCAnVW50aXRs ZWQnKTsKKyAgICAgICAgZXJkVG9vbFBhbmVsLmljb24oJ2ZhIGZhLXNpdGVtYXAnKTsKKyAgICAg ICAgZXJkVG9vbFBhbmVsLmZvY3VzKCk7CisKKyAgICAgICAgLy8gTGlzdGVuIG9uIHRoZSBwYW5l bCBjbG9zZWQgZXZlbnQuCisgICAgICAgIGVyZFRvb2xQYW5lbC5vbih3Y0RvY2tlci5FVkVOVC5D TE9TRUQsIGZ1bmN0aW9uKCkgeworICAgICAgICAgICQuYWpheCh7CisgICAgICAgICAgICB1cmw6 IHBhbmVsQ2xvc2VVcmwsCisgICAgICAgICAgICBtZXRob2Q6ICdERUxFVEUnLAorICAgICAgICAg IH0pOworICAgICAgICB9KTsKKworICAgICAgICB2YXIgb3BlbkVyZFRvb2xVUkwgPSBmdW5jdGlv bihqKSB7CisgICAgICAgICAgLy8gYWRkIHNwaW5uZXIgZWxlbWVudAorICAgICAgICAgIGxldCAk c3Bpbm5lcl9lbCA9CisgICAgICAgICAgICAkKGA8ZGl2IGNsYXNzPSJwZy1zcC1jb250YWluZXIi PgorICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0icGctc3AtY29udGVudCI+CisgICAgICAg ICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0icm93Ij4KKyAgICAgICAgICAgICAgICAgICAgICAg ICAgPGRpdiBjbGFzcz0iY29sLTEyIHBnLXNwLWljb24iPjwvZGl2PgorICAgICAgICAgICAgICAg ICAgICAgIDwvZGl2PgorICAgICAgICAgICAgICAgICAgPC9kaXY+CisgICAgICAgICAgICAgIDwv ZGl2PmApLmFwcGVuZFRvKCQoaikuZGF0YSgnZW1iZWRkZWRGcmFtZScpLiRjb250YWluZXIpOwor CisgICAgICAgICAgbGV0IGluaXRfcG9sbGVyX2lkID0gc2V0SW50ZXJ2YWwoZnVuY3Rpb24oKSB7 CisgICAgICAgICAgICB2YXIgZnJhbWVJbml0aWFsaXplZCA9ICQoaikuZGF0YSgnZnJhbWVJbml0 aWFsaXplZCcpOworICAgICAgICAgICAgaWYgKGZyYW1lSW5pdGlhbGl6ZWQpIHsKKyAgICAgICAg ICAgICAgY2xlYXJJbnRlcnZhbChpbml0X3BvbGxlcl9pZCk7CisgICAgICAgICAgICAgIHZhciBm cmFtZSA9ICQoaikuZGF0YSgnZW1iZWRkZWRGcmFtZScpOworICAgICAgICAgICAgICBpZiAoZnJh bWUpIHsKKyAgICAgICAgICAgICAgICBmcmFtZS5vbkxvYWRlZCgoKT0+eworICAgICAgICAgICAg ICAgICAgJHNwaW5uZXJfZWwucmVtb3ZlKCk7CisgICAgICAgICAgICAgICAgfSk7CisgICAgICAg ICAgICAgICAgZnJhbWUub3BlbkhUTUwoZXJkVG9vbEZvcm0pOworICAgICAgICAgICAgICB9Cisg ICAgICAgICAgICB9CisgICAgICAgICAgfSwgMTAwKTsKKyAgICAgICAgfTsKKworICAgICAgICBv cGVuRXJkVG9vbFVSTChlcmRUb29sUGFuZWwpOworICAgICAgfQorICAgIH0sCisKKyAgICBnZXRQ YW5lbFVybHM6IGZ1bmN0aW9uKHRyYW5zSWQsIHBhbmVsVGl0bGUsIHBhcmVudERhdGEsIGdlbikg eworICAgICAgbGV0IG9wZW5VcmwgPSB1cmxfZm9yKCdlcmQucGFuZWwnLCB7CisgICAgICAgIHRy YW5zX2lkOiB0cmFuc0lkLAorICAgICAgfSk7CisKKyAgICAgIG9wZW5VcmwgKz0gYD9zZ2lkPSR7 cGFyZW50RGF0YS5zZXJ2ZXJfZ3JvdXAuX2lkfWAKKyAgICAgICAgK2Amc2lkPSR7cGFyZW50RGF0 YS5zZXJ2ZXIuX2lkfWAKKyAgICAgICAgK2Amc2VydmVyX3R5cGU9JHtwYXJlbnREYXRhLnNlcnZl ci5zZXJ2ZXJfdHlwZX1gCisgICAgICAgICtgJmRpZD0ke3BhcmVudERhdGEuZGF0YWJhc2UuX2lk fWAKKyAgICAgICAgK2AmZ2VuPSR7Z2VufWA7CisKKyAgICAgIGxldCBjbG9zZVVybCA9IHVybF9m b3IoJ2VyZC5jbG9zZScsIHsKKyAgICAgICAgdHJhbnNfaWQ6IHRyYW5zSWQsCisgICAgICAgIHNn aWQ6IHBhcmVudERhdGEuc2VydmVyX2dyb3VwLl9pZCwKKyAgICAgICAgc2lkOiBwYXJlbnREYXRh LnNlcnZlci5faWQsCisgICAgICAgIGRpZDogcGFyZW50RGF0YS5kYXRhYmFzZS5faWQsCisgICAg ICB9KTsKKworICAgICAgcmV0dXJuIFtvcGVuVXJsLCBjbG9zZVVybF07CisgICAgfSwKKyAgfTsK KworICByZXR1cm4gcGdCcm93c2VyLmVyZDsKK30KZGlmZiAtLWdpdCBhL3dlYi9wZ2FkbWluL3Rv b2xzL2VyZC9zdGF0aWMvanMvZXJkX3Rvb2wvRVJEQ29yZS5qcyBiL3dlYi9wZ2FkbWluL3Rvb2xz L2VyZC9zdGF0aWMvanMvZXJkX3Rvb2wvRVJEQ29yZS5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NApp bmRleCAwMDAwMDAwMDAuLjVjYmVjNDk3NAotLS0gL2Rldi9udWxsCisrKyBiL3dlYi9wZ2FkbWlu L3Rvb2xzL2VyZC9zdGF0aWMvanMvZXJkX3Rvb2wvRVJEQ29yZS5qcwpAQCAtMCwwICsxLDM5NSBA QAorLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v Ly8vLy8vLworLy8KKy8vIHBnQWRtaW4gNCAtIFBvc3RncmVTUUwgVG9vbHMKKy8vCisvLyBDb3B5 cmlnaHQgKEMpIDIwMTMgLSAyMDIwLCBUaGUgcGdBZG1pbiBEZXZlbG9wbWVudCBUZWFtCisvLyBU aGlzIHNvZnR3YXJlIGlzIHJlbGVhc2VkIHVuZGVyIHRoZSBQb3N0Z3JlU1FMIExpY2VuY2UKKy8v CisvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v Ly8vLy8vLworCisvKgorICogVGhlIEVSRENvcmUgaXMgdGhlIG1pZGRsZXdhcmUgYmV0d2VlbiB0 aGUgY2FudmFzIGVuZ2luZSBhbmQgdGhlIFVJIERPTS4KKyAqLworaW1wb3J0IGNyZWF0ZUVuZ2lu ZSBmcm9tICdAcHJvamVjdHN0b3JtL3JlYWN0LWRpYWdyYW1zJzsKK2ltcG9ydCB7RGFncmVFbmdp bmUsIFBhdGhGaW5kaW5nTGlua0ZhY3RvcnksIFBvcnRNb2RlbEFsaWdubWVudH0gZnJvbSAnQHBy b2plY3RzdG9ybS9yZWFjdC1kaWFncmFtcyc7CitpbXBvcnQgeyBab29tQ2FudmFzQWN0aW9uIH0g ZnJvbSAnQHByb2plY3RzdG9ybS9yZWFjdC1jYW52YXMtY29yZSc7CisKK2ltcG9ydCB7VGFibGVO b2RlRmFjdG9yeSwgVGFibGVOb2RlTW9kZWwgfSBmcm9tICcuL25vZGVzL1RhYmxlTm9kZSc7Citp bXBvcnQge09uZVRvTWFueUxpbmtGYWN0b3J5LCBPbmVUb01hbnlMaW5rTW9kZWwgfSBmcm9tICcu L2xpbmtzL09uZVRvTWFueUxpbmsnOworaW1wb3J0IHsgT25lVG9NYW55UG9ydEZhY3RvcnkgfSBm cm9tICcuL3BvcnRzL09uZVRvTWFueVBvcnQnOworaW1wb3J0IEVSRE1vZGVsIGZyb20gJy4vRVJE TW9kZWwnOworCitleHBvcnQgZGVmYXVsdCBjbGFzcyBFUkRDb3JlIHsKKyAgY29uc3RydWN0b3Io KSB7CisgICAgdGhpcy5fY2FjaGUgPSB7fTsKKyAgICB0aGlzLnRhYmxlX2NvdW50ZXIgPSAxOwor ICAgIHRoaXMubm9kZV9wb3NpdGlvbl91cGRhdGluZyA9IGZhbHNlOworICAgIHRoaXMubGlua19w b3NpdGlvbl91cGRhdGluZyA9IGZhbHNlOworICAgIHRoaXMuaW5pdGlhbGl6ZUVuZ2luZSgpOwor ICAgIHRoaXMuaW5pdGlhbGl6ZU1vZGVsKCk7CisgICAgdGhpcy5jb21wdXRlVGFibGVDb3VudGVy KCk7CisgIH0KKworICBpbml0aWFsaXplRW5naW5lKCkgeworICAgIHRoaXMuZW5naW5lID0gY3Jl YXRlRW5naW5lKHsKKyAgICAgIHJlZ2lzdGVyRGVmYXVsdERlbGV0ZUl0ZW1zQWN0aW9uOiBmYWxz ZSwKKyAgICAgIHJlZ2lzdGVyRGVmYXVsdFpvb21DYW52YXNBY3Rpb246IGZhbHNlLAorICAgIH0p OworICAgIHRoaXMuZGFncmVfZW5naW5lID0gbmV3IERhZ3JlRW5naW5lKHsKKyAgICAgIGdyYXBo OiB7CisgICAgICAgIG1hcmdpbng6IDUsCisgICAgICAgIG1hcmdpbnk6IDUsCisgICAgICB9LAor ICAgICAgaW5jbHVkZUxpbmtzOiB0cnVlLAorICAgIH0pOworCisgICAgdGhpcy5lbmdpbmUuZ2V0 Tm9kZUZhY3RvcmllcygpLnJlZ2lzdGVyRmFjdG9yeShuZXcgVGFibGVOb2RlRmFjdG9yeSgpKTsK KyAgICB0aGlzLmVuZ2luZS5nZXRMaW5rRmFjdG9yaWVzKCkucmVnaXN0ZXJGYWN0b3J5KG5ldyBP bmVUb01hbnlMaW5rRmFjdG9yeSgpKTsKKyAgICB0aGlzLmVuZ2luZS5nZXRQb3J0RmFjdG9yaWVz KCkucmVnaXN0ZXJGYWN0b3J5KG5ldyBPbmVUb01hbnlQb3J0RmFjdG9yeSgpKTsKKyAgICB0aGlz LnJlZ2lzdGVyS2V5QWN0aW9uKG5ldyBab29tQ2FudmFzQWN0aW9uKHtpbnZlcnNlWm9vbTogdHJ1 ZX0pKTsKKyAgfQorCisgIGluaXRpYWxpemVNb2RlbChkYXRhLCBjYWxsYmFjaz0oKT0+e30pIHsK KyAgICBsZXQgbW9kZWwgPSBuZXcgRVJETW9kZWwoKTsKKyAgICBpZihkYXRhKSB7CisgICAgICBt b2RlbC5kZXNlcmlhbGl6ZU1vZGVsKGRhdGEsIHRoaXMuZW5naW5lKTsKKyAgICB9CisKKyAgICBj b25zdCByZWdpc3Rlck5vZGVFdmVudHMgPSAobm9kZSkgPT4geworICAgICAgbm9kZS5yZWdpc3Rl ckxpc3RlbmVyKHsKKyAgICAgICAgZXZlbnREaWRGaXJlOiAoZSkgPT4geworICAgICAgICAgIGlm KGUuZnVuY3Rpb24gPT09ICdzZWxlY3Rpb25DaGFuZ2VkJykgeworICAgICAgICAgICAgdGhpcy5m aXJlRXZlbnQoe30sICdub2Rlc1NlbGVjdGlvbkNoYW5nZWQnLCB0cnVlKTsKKyAgICAgICAgICB9 CisgICAgICAgICAgZWxzZSBpZihlLmZ1bmN0aW9uID09PSAnc2hvd05vdGUnKSB7CisgICAgICAg ICAgICB0aGlzLmZpcmVFdmVudCh7bm9kZTogZS5lbnRpdHl9LCAnc2hvd05vdGUnLCB0cnVlKTsK KyAgICAgICAgICB9CisgICAgICAgICAgZWxzZSBpZihlLmZ1bmN0aW9uID09PSAnZWRpdE5vZGUn KSB7CisgICAgICAgICAgICB0aGlzLmZpcmVFdmVudCh7bm9kZTogZS5lbnRpdHl9LCAnZWRpdE5v ZGUnLCB0cnVlKTsKKyAgICAgICAgICB9CisgICAgICAgICAgZWxzZSBpZihlLmZ1bmN0aW9uID09 PSAnbm9kZVVwZGF0ZWQnKSB7CisgICAgICAgICAgICB0aGlzLmZpcmVFdmVudCh7fSwgJ25vZGVz VXBkYXRlZCcsIHRydWUpOworICAgICAgICAgIH0KKyAgICAgICAgICBlbHNlIGlmKGUuZnVuY3Rp b24gPT09ICdwb3NpdGlvbkNoYW5nZWQnKSB7CisgICAgICAgICAgICAvKiBFYXQgdXAgdGhlIGV4 Y2Vzc2l2ZSBwb3NpdGlvbkNoYW5nZWQgZXZlbnRzIGlmIG5vZGUgaXMgZHJhZ2dlZCBjb250aW51 b3NseSAqLworICAgICAgICAgICAgaWYoIXRoaXMubm9kZV9wb3NpdGlvbl91cGRhdGluZykgewor ICAgICAgICAgICAgICB0aGlzLm5vZGVfcG9zaXRpb25fdXBkYXRpbmcgPSB0cnVlOworICAgICAg ICAgICAgICB0aGlzLmZpcmVFdmVudCh7fSwgJ25vZGVzVXBkYXRlZCcsIHRydWUpOworICAgICAg ICAgICAgICBzZXRUaW1lb3V0KCgpPT57CisgICAgICAgICAgICAgICAgdGhpcy5ub2RlX3Bvc2l0 aW9uX3VwZGF0aW5nID0gZmFsc2U7CisgICAgICAgICAgICAgIH0sIDUwMCk7CisgICAgICAgICAg ICB9CisgICAgICAgICAgfQorICAgICAgICB9LAorICAgICAgfSk7CisgICAgfTsKKworICAgIGNv bnN0IHJlZ2lzdGVyTGlua0V2ZW50cyA9IChsaW5rKSA9PiB7CisgICAgICBsaW5rLnJlZ2lzdGVy TGlzdGVuZXIoeworICAgICAgICBldmVudERpZEZpcmU6IChlKSA9PiB7CisgICAgICAgICAgaWYo ZS5mdW5jdGlvbiA9PT0gJ3NlbGVjdGlvbkNoYW5nZWQnKSB7CisgICAgICAgICAgICB0aGlzLmZp cmVFdmVudCh7fSwgJ2xpbmtzU2VsZWN0aW9uQ2hhbmdlZCcsIHRydWUpOworICAgICAgICAgIH0K KyAgICAgICAgICBlbHNlIGlmKGUuZnVuY3Rpb24gPT09ICdwb3NpdGlvbkNoYW5nZWQnKSB7Cisg ICAgICAgICAgICAvKiBwb3NpdGlvbkNoYW5nZWQgaXMgdHJpZ2dlcmVkIG1hbnVhbGx5IGluIExp bmsgKi8KKyAgICAgICAgICAgIC8qIEVhdCB1cCB0aGUgZXhjZXNzaXZlIHBvc2l0aW9uQ2hhbmdl ZCBldmVudHMgaWYgbGluayBpcyBkcmFnZ2VkIGNvbnRpbnVvc2x5ICovCisgICAgICAgICAgICBp ZighdGhpcy5saW5rX3Bvc2l0aW9uX3VwZGF0aW5nKSB7CisgICAgICAgICAgICAgIHRoaXMubGlu a19wb3NpdGlvbl91cGRhdGluZyA9IHRydWU7CisgICAgICAgICAgICAgIHRoaXMuZmlyZUV2ZW50 KHt9LCAnbGlua3NVcGRhdGVkJywgdHJ1ZSk7CisgICAgICAgICAgICAgIHNldFRpbWVvdXQoKCk9 PnsKKyAgICAgICAgICAgICAgICB0aGlzLmxpbmtfcG9zaXRpb25fdXBkYXRpbmcgPSBmYWxzZTsK KyAgICAgICAgICAgICAgfSwgNTAwKTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICB9CisgICAg ICAgIH0sCisgICAgICB9KTsKKyAgICB9OworCisgICAgLyogUmVnaXN0ZXIgZXZlbnRzIGZvciBk ZXNlcmlhbGl6ZWQgZGF0YSAqLworICAgIG1vZGVsLmdldE5vZGVzKCkuZm9yRWFjaChub2RlID0+ IHsKKyAgICAgIHJlZ2lzdGVyTm9kZUV2ZW50cyhub2RlKTsKKyAgICB9KTsKKyAgICBtb2RlbC5n ZXRMaW5rcygpLmZvckVhY2gobGluayA9PiB7CisgICAgICByZWdpc3RlckxpbmtFdmVudHMobGlu ayk7CisgICAgfSk7CisKKyAgICAvKiBMaXN0ZW4gYW5kIHJlZ2lzdGVyIGV2ZW50cyBmb3IgbmV3 IGRhdGEgKi8KKyAgICBtb2RlbC5yZWdpc3Rlckxpc3RlbmVyKHsKKyAgICAgICdub2Rlc1VwZGF0 ZWQnOiAoZSk9PnsKKyAgICAgICAgaWYoZS5pc0NyZWF0ZWQpIHsKKyAgICAgICAgICByZWdpc3Rl ck5vZGVFdmVudHMoZS5ub2RlKTsKKyAgICAgICAgfQorICAgICAgfSwKKyAgICAgICdsaW5rc1Vw ZGF0ZWQnOiAoZSk9PnsKKyAgICAgICAgaWYoZS5pc0NyZWF0ZWQpIHsKKyAgICAgICAgICByZWdp c3RlckxpbmtFdmVudHMoZS5saW5rKTsKKyAgICAgICAgfQorICAgICAgfSwKKyAgICB9KTsKKwor ICAgIG1vZGVsLnNldEdyaWRTaXplKDE1KTsKKyAgICB0aGlzLmVuZ2luZS5zZXRNb2RlbChtb2Rl bCk7CisgICAgY2FsbGJhY2soKTsKKyAgfQorCisgIGNvbXB1dGVUYWJsZUNvdW50ZXIoKSB7Cisg ICAgLyogU29tZSBpbnRlbGlnZW5jZSBjYW4gYmUgYWRkZWQgdG8gc2V0IHRoZSBjb3VudGVyICov CisgICAgdGhpcy50YWJsZV9jb3VudGVyID0gMTsKKyAgfQorCisgIHNldENhY2hlKGRhdGEsIHZh bHVlKSB7CisgICAgaWYodHlwZW9mKGRhdGEpID09ICdzdHJpbmcnKSB7CisgICAgICB0aGlzLl9j YWNoZVtkYXRhXSA9IHZhbHVlOworICAgIH0gZWxzZSB7CisgICAgICB0aGlzLl9jYWNoZSA9IHsK KyAgICAgICAgLi4udGhpcy5fY2FjaGUsCisgICAgICAgIC4uLmRhdGEsCisgICAgICB9OworICAg IH0KKyAgfQorCisgIGdldENhY2hlKGtleSkgeworICAgIHJldHVybiBrZXkgPyB0aGlzLl9jYWNo ZVtrZXldOiB0aGlzLl9jYWNoZTsKKyAgfQorCisgIHJlZ2lzdGVyTW9kZWxFdmVudChldmVudE5h bWUsIGNhbGxiYWNrKSB7CisgICAgdGhpcy5nZXRNb2RlbCgpLnJlZ2lzdGVyTGlzdGVuZXIoewor ICAgICAgW2V2ZW50TmFtZV06IGNhbGxiYWNrLAorICAgIH0pOworICB9CisKKyAgZ2V0TmV4dFRh YmxlTmFtZSgpIHsKKyAgICBsZXQgbmV3VGFibGVOYW1lID0gYG5ld3RhYmxlJHt0aGlzLnRhYmxl X2NvdW50ZXJ9YDsKKyAgICB0aGlzLnRhYmxlX2NvdW50ZXIrKzsKKyAgICByZXR1cm4gbmV3VGFi bGVOYW1lOworICB9CisKKyAgZ2V0RW5naW5lKCkge3JldHVybiB0aGlzLmVuZ2luZTt9CisKKyAg Z2V0TW9kZWwoKSB7cmV0dXJuIHRoaXMuZ2V0RW5naW5lKCkuZ2V0TW9kZWwoKTt9CisKKyAgZ2V0 TmV3Tm9kZShpbml0RGF0YSkgeworICAgIHJldHVybiB0aGlzLmdldEVuZ2luZSgpLmdldE5vZGVG YWN0b3JpZXMoKS5nZXRGYWN0b3J5KCd0YWJsZScpLmdlbmVyYXRlTW9kZWwoeworICAgICAgaW5p dGlhbENvbmZpZzogeworICAgICAgICBvdGhlckluZm86IHsKKyAgICAgICAgICBkYXRhOmluaXRE YXRhLAorICAgICAgICB9LAorICAgICAgfSwKKyAgICB9KTsKKyAgfQorCisgIGdldE5ld0xpbmso dHlwZSwgaW5pdERhdGEpIHsKKyAgICByZXR1cm4gdGhpcy5nZXRFbmdpbmUoKS5nZXRMaW5rRmFj dG9yaWVzKCkuZ2V0RmFjdG9yeSh0eXBlKS5nZW5lcmF0ZU1vZGVsKHsKKyAgICAgIGluaXRpYWxD b25maWc6IHsKKyAgICAgICAgZGF0YTppbml0RGF0YSwKKyAgICAgIH0sCisgICAgfSk7CisgIH0K KworICBnZXROZXdQb3J0KHR5cGUsIGluaXREYXRhLCBpbml0T3B0aW9ucykgeworICAgIHJldHVy biB0aGlzLmdldEVuZ2luZSgpLmdldFBvcnRGYWN0b3JpZXMoKS5nZXRGYWN0b3J5KHR5cGUpLmdl bmVyYXRlTW9kZWwoeworICAgICAgaW5pdGlhbENvbmZpZzogeworICAgICAgICBkYXRhOmluaXRE YXRhLAorICAgICAgICBvcHRpb25zOmluaXRPcHRpb25zLAorICAgICAgfSwKKyAgICB9KTsKKyAg fQorCisgIGFkZE5vZGUoZGF0YSwgcG9zaXRpb249WzUwLCA1MF0pIHsKKyAgICBsZXQgbmV3Tm9k ZSA9IHRoaXMuZ2V0TmV3Tm9kZShkYXRhKTsKKyAgICB0aGlzLmNsZWFyU2VsZWN0aW9uKCk7Cisg ICAgbmV3Tm9kZS5zZXRQb3NpdGlvbihwb3NpdGlvblswXSwgcG9zaXRpb25bMV0pOworICAgIHRo aXMuZ2V0TW9kZWwoKS5hZGROb2RlKG5ld05vZGUpOworICAgIHJldHVybiBuZXdOb2RlOworICB9 CisKKyAgYWRkTGluayhkYXRhLCB0eXBlKSB7CisgICAgbGV0IHRhYmxlTm9kZXNEaWN0ID0gdGhp cy5nZXRNb2RlbCgpLmdldE5vZGVzRGljdCgpOworICAgIGxldCBzb3VyY2VOb2RlID0gdGFibGVO b2Rlc0RpY3RbZGF0YS5yZWZlcmVuY2VkX3RhYmxlX3VpZF07CisgICAgbGV0IHRhcmdldE5vZGUg PSB0YWJsZU5vZGVzRGljdFtkYXRhLmxvY2FsX3RhYmxlX3VpZF07CisKKyAgICBsZXQgcG9ydE5h bWUgPSBzb3VyY2VOb2RlLmdldFBvcnROYW1lKGRhdGEucmVmZXJlbmNlZF9jb2x1bW5fYXR0bnVt KTsKKyAgICBsZXQgc291cmNlUG9ydCA9IHNvdXJjZU5vZGUuZ2V0UG9ydChwb3J0TmFtZSk7Cisg ICAgLyogQ3JlYXRlIHRoZSBwb3J0IGlmIG5vdCB0aGVyZSAqLworICAgIGlmKCFzb3VyY2VQb3J0 KSB7CisgICAgICBzb3VyY2VQb3J0ID0gc291cmNlTm9kZS5hZGRQb3J0KHRoaXMuZ2V0TmV3UG9y dCh0eXBlLCBudWxsLCB7bmFtZTpwb3J0TmFtZSwgYWxpZ25tZW50OlBvcnRNb2RlbEFsaWdubWVu dC5SSUdIVH0pKTsKKyAgICB9CisKKyAgICBwb3J0TmFtZSA9IHRhcmdldE5vZGUuZ2V0UG9ydE5h bWUoZGF0YS5sb2NhbF9jb2x1bW5fYXR0bnVtKTsKKyAgICBsZXQgdGFyZ2V0UG9ydCA9IHRhcmdl dE5vZGUuZ2V0UG9ydChwb3J0TmFtZSk7CisgICAgLyogQ3JlYXRlIHRoZSBwb3J0IGlmIG5vdCB0 aGVyZSAqLworICAgIGlmKCF0YXJnZXRQb3J0KSB7CisgICAgICB0YXJnZXRQb3J0ID0gdGFyZ2V0 Tm9kZS5hZGRQb3J0KHRoaXMuZ2V0TmV3UG9ydCh0eXBlLCBudWxsLCB7bmFtZTpwb3J0TmFtZSwg YWxpZ25tZW50OlBvcnRNb2RlbEFsaWdubWVudC5SSUdIVH0pKTsKKyAgICB9CisKKyAgICAvKiBM aW5rIHRoZSBwb3J0cyAqLworICAgIGxldCBuZXdMaW5rID0gdGhpcy5nZXROZXdMaW5rKHR5cGUs IGRhdGEpOworICAgIG5ld0xpbmsuc2V0U291cmNlUG9ydChzb3VyY2VQb3J0KTsKKyAgICBuZXdM aW5rLnNldFRhcmdldFBvcnQodGFyZ2V0UG9ydCk7CisgICAgdGhpcy5nZXRNb2RlbCgpLmFkZExp bmsobmV3TGluayk7CisgICAgcmV0dXJuIG5ld0xpbms7CisgIH0KKworICBzZXJpYWxpemUodmVy c2lvbikgeworICAgIHJldHVybiB7CisgICAgICB2ZXJzaW9uOiB2ZXJzaW9ufHwwLAorICAgICAg ZGF0YTogdGhpcy5nZXRNb2RlbCgpLnNlcmlhbGl6ZSgpLAorICAgIH07CisgIH0KKworICBkZXNl cmlhbGl6ZShqc29uX2RhdGEpIHsKKyAgICBpZihqc29uX2RhdGEudmVyc2lvbikgeworICAgICAg dGhpcy5pbml0aWFsaXplTW9kZWwoanNvbl9kYXRhLmRhdGEpOworICAgIH0KKyAgfQorCisgIHNl cmlhbGl6ZURhdGEoKSB7CisgICAgbGV0IG5vZGVzID0ge30sIGxpbmtzID0ge307CisgICAgbGV0 IG5vZGVzRGljdCA9IHRoaXMuZ2V0TW9kZWwoKS5nZXROb2Rlc0RpY3QoKTsKKworICAgIE9iamVj dC5rZXlzKG5vZGVzRGljdCkuZm9yRWFjaCgoaWQpPT57CisgICAgICBub2Rlc1tpZF0gPSBub2Rl c0RpY3RbaWRdLnNlcmlhbGl6ZURhdGEoKTsKKyAgICB9KTsKKworICAgIHRoaXMuZ2V0TW9kZWwo KS5nZXRMaW5rcygpLm1hcCgobGluayk9PnsKKyAgICAgIGxpbmtzW2xpbmsuZ2V0SUQoKV0gPSBs aW5rLnNlcmlhbGl6ZURhdGEobm9kZXNEaWN0KTsKKyAgICB9KTsKKworICAgIC8qIFNlcGFyYXRl IHRoZSBsaW5rcyBmcm9tIG5vZGVzIHNvIHRoYXQgd2UgZG9uJ3QgaGF2ZSBhbnkgZGVwZW5kYW5j eSBpc3N1ZXMgKi8KKyAgICByZXR1cm4geworICAgICAgJ25vZGVzJzogbm9kZXMsCisgICAgICAn bGlua3MnOiBsaW5rcywKKyAgICB9OworICB9CisKKyAgZGVzZXJpYWxpemVEYXRhKGRhdGEpewor ICAgIGxldCBvaWRVaWRNYXAgPSB7fTsKKyAgICBsZXQgdWlkRmtzID0gW107CisgICAgZGF0YS5m b3JFYWNoKChub2RlKT0+eworICAgICAgbGV0IG5ld0RhdGEgPSB7CisgICAgICAgIG5hbWU6IG5v ZGUubmFtZSwKKyAgICAgICAgc2NoZW1hOiBub2RlLnNjaGVtYSwKKyAgICAgICAgZGVzY3JpcHRp b246IG5vZGUuZGVzY3JpcHRpb24sCisgICAgICAgIGNvbHVtbnM6IG5vZGUuY29sdW1ucywKKyAg ICAgICAgcHJpbWFyeV9rZXk6IG5vZGUucHJpbWFyeV9rZXksCisgICAgICB9OworICAgICAgbGV0 IG5ld05vZGUgPSB0aGlzLmFkZE5vZGUobmV3RGF0YSk7CisgICAgICBvaWRVaWRNYXBbbm9kZS5v aWRdID0gbmV3Tm9kZS5nZXRJRCgpOworICAgICAgaWYobm9kZS5mb3JlaWduX2tleSkgeworICAg ICAgICBub2RlLmZvcmVpZ25fa2V5LmZvckVhY2goKGFfZmspPT57CisgICAgICAgICAgdWlkRmtz LnB1c2goeworICAgICAgICAgICAgdWlkOiBuZXdOb2RlLmdldElEKCksCisgICAgICAgICAgICBk YXRhOiBhX2ZrLmNvbHVtbnNbMF0sCisgICAgICAgICAgfSk7CisgICAgICAgIH0pOworICAgICAg fQorICAgIH0pOworCisgICAgLyogTGV0cyB1c2UgdGhlIG9pZFVpZE1hcCBmb3IgY3JlYXRpbmcg dGhlIGxpbmtzICovCisgICAgdWlkRmtzLmZvckVhY2goKGZrRGF0YSk9PnsKKyAgICAgIGxldCB0 YWJsZU5vZGVzRGljdCA9IHRoaXMuZ2V0TW9kZWwoKS5nZXROb2Rlc0RpY3QoKTsKKyAgICAgIGxl dCBuZXdEYXRhID0geworICAgICAgICBsb2NhbF90YWJsZV91aWQ6IGZrRGF0YS51aWQsCisgICAg ICAgIGxvY2FsX2NvbHVtbl9hdHRudW06IHVuZGVmaW5lZCwKKyAgICAgICAgcmVmZXJlbmNlZF90 YWJsZV91aWQ6IG9pZFVpZE1hcFtma0RhdGEuZGF0YS5yZWZlcmVuY2VzXSwKKyAgICAgICAgcmVm ZXJlbmNlZF9jb2x1bW5fYXR0bnVtOiB1bmRlZmluZWQsCisgICAgICB9OworCisgICAgICBsZXQg c291cmNlTm9kZSA9IHRhYmxlTm9kZXNEaWN0W25ld0RhdGEucmVmZXJlbmNlZF90YWJsZV91aWRd OworICAgICAgbGV0IHRhcmdldE5vZGUgPSB0YWJsZU5vZGVzRGljdFtuZXdEYXRhLmxvY2FsX3Rh YmxlX3VpZF07CisKKyAgICAgIG5ld0RhdGEubG9jYWxfY29sdW1uX2F0dG51bSA9IF8uZmluZCh0 YXJnZXROb2RlLmdldENvbHVtbnMoKSwgKGNvbCk9PmNvbC5uYW1lPT1ma0RhdGEuZGF0YS5sb2Nh bF9jb2x1bW4pLmF0dG51bTsKKyAgICAgIG5ld0RhdGEucmVmZXJlbmNlZF9jb2x1bW5fYXR0bnVt ID0gXy5maW5kKHNvdXJjZU5vZGUuZ2V0Q29sdW1ucygpLCAoY29sKT0+Y29sLm5hbWU9PWZrRGF0 YS5kYXRhLnJlZmVyZW5jZWQpLmF0dG51bTsKKworICAgICAgdGhpcy5hZGRMaW5rKG5ld0RhdGEs ICdvbmV0b21hbnknKTsKKyAgICB9KTsKKyAgICBzZXRUaW1lb3V0KHRoaXMuZGFncmVEaXN0cmli dXRlTm9kZXMuYmluZCh0aGlzKSwgMCk7CisgIH0KKworICByZXBhaW50KCkgeworICAgIHRoaXMu Z2V0RW5naW5lKCkucmVwYWludENhbnZhcygpOworICB9CisKKyAgY2xlYXJTZWxlY3Rpb24oKSB7 CisgICAgdGhpcy5nZXRFbmdpbmUoKQorICAgICAgLmdldE1vZGVsKCkKKyAgICAgIC5jbGVhclNl bGVjdGlvbigpOworICB9CisKKyAgZ2V0Tm9kZXNEYXRhKCkgeworICAgIHJldHVybiB0aGlzLmdl dEVuZ2luZSgpLmdldE1vZGVsKCkuZ2V0Tm9kZXMoKS5tYXAoKG5vZGUpPT57CisgICAgICByZXR1 cm4gbm9kZS5nZXREYXRhKCk7CisgICAgfSk7CisgIH0KKworICBnZXRTZWxlY3RlZE5vZGVzKCkg eworICAgIHJldHVybiB0aGlzLmdldEVuZ2luZSgpCisgICAgICAuZ2V0TW9kZWwoKQorICAgICAg LmdldFNlbGVjdGVkRW50aXRpZXMoKQorICAgICAgLmZpbHRlcihlbnRpdHkgPT4gZW50aXR5IGlu c3RhbmNlb2YgVGFibGVOb2RlTW9kZWwpOworICB9CisKKyAgZ2V0U2VsZWN0ZWRMaW5rcygpIHsK KyAgICByZXR1cm4gdGhpcy5nZXRFbmdpbmUoKQorICAgICAgLmdldE1vZGVsKCkKKyAgICAgIC5n ZXRTZWxlY3RlZEVudGl0aWVzKCkKKyAgICAgIC5maWx0ZXIoZW50aXR5ID0+IGVudGl0eSBpbnN0 YW5jZW9mIE9uZVRvTWFueUxpbmtNb2RlbCk7CisgIH0KKworICBkYWdyZURpc3RyaWJ1dGVOb2Rl cygpIHsKKyAgICB0aGlzLmRhZ3JlX2VuZ2luZS5yZWRpc3RyaWJ1dGUodGhpcy5nZXRNb2RlbCgp KTsKKyAgICB0aGlzLmdldEVuZ2luZSgpCisgICAgICAuZ2V0TGlua0ZhY3RvcmllcygpCisgICAg ICAuZ2V0RmFjdG9yeShQYXRoRmluZGluZ0xpbmtGYWN0b3J5Lk5BTUUpCisgICAgICAuY2FsY3Vs YXRlUm91dGluZ01hdHJpeCgpOworICAgIHRoaXMucmVwYWludCgpOworICB9CisKKyAgem9vbUlu KCkgeworICAgIGxldCBtb2RlbCA9IHRoaXMuZ2V0RW5naW5lKCkuZ2V0TW9kZWwoKTsKKyAgICBp Zihtb2RlbCl7CisgICAgICBtb2RlbC5zZXRab29tTGV2ZWwobW9kZWwuZ2V0Wm9vbUxldmVsKCkg KyAyNSk7CisgICAgICB0aGlzLnJlcGFpbnQoKTsKKyAgICB9CisgIH0KKworICB6b29tT3V0KCkg eworICAgIGxldCBtb2RlbCA9IHRoaXMuZ2V0RW5naW5lKCkuZ2V0TW9kZWwoKTsKKyAgICBpZiht b2RlbCkgeworICAgICAgbW9kZWwuc2V0Wm9vbUxldmVsKG1vZGVsLmdldFpvb21MZXZlbCgpIC0g MjUpOworICAgICAgdGhpcy5yZXBhaW50KCk7CisgICAgfQorICB9CisKKyAgem9vbVRvRml0KCkg eworICAgIHRoaXMuZ2V0RW5naW5lKCkuem9vbVRvRml0KCk7CisgIH0KKworICAvLyBTYW1wbGUg Y2FsbDogdGhpcy5maXJlQWN0aW9uKHsgdHlwZTogJ2tleWRvd24nLCBjdHJsS2V5OiB0cnVlLCBj b2RlOiAnS2V5TicgfSk7CisgIGZpcmVBY3Rpb24oZXZlbnQpIHsKKyAgICB0aGlzLmdldEVuZ2lu ZSgpLmdldEFjdGlvbkV2ZW50QnVzKCkuZmlyZUFjdGlvbih7CisgICAgICBldmVudDogeworICAg ICAgICAuLi5ldmVudCwKKyAgICAgICAga2V5OiAnJywKKyAgICAgICAgcHJldmVudERlZmF1bHQ6 ICgpID0+IHt9LAorICAgICAgICBzdG9wUHJvcGFnYXRpb246ICgpID0+IHt9LAorICAgICAgfSwK KyAgICB9KTsKKyAgfQorCisgIGZpcmVFdmVudChkYXRhLCBldmVudE5hbWUsIG1vZGVsPWZhbHNl KSB7CisgICAgaWYobW9kZWwpIHsKKyAgICAgIHRoaXMuZ2V0RW5naW5lKCkuZ2V0TW9kZWwoKS5m aXJlRXZlbnQoZGF0YSwgZXZlbnROYW1lKTsKKyAgICB9IGVsc2UgeworICAgICAgdGhpcy5nZXRF bmdpbmUoKS5maXJlRXZlbnQoZGF0YSwgZXZlbnROYW1lKTsKKyAgICB9CisgIH0KKworICByZWdp c3RlcktleUFjdGlvbihhY3Rpb24pIHsKKyAgICB0aGlzLmdldEVuZ2luZSgpLmdldEFjdGlvbkV2 ZW50QnVzKCkucmVnaXN0ZXJBY3Rpb24oYWN0aW9uKTsKKyAgfQorCisgIGRlcmVnaXN0ZXJLZXlB Y3Rpb24oYWN0aW9uKSB7CisgICAgdGhpcy5nZXRFbmdpbmUoKS5nZXRBY3Rpb25FdmVudEJ1cygp LmRlcmVnaXN0ZXJBY3Rpb24oYWN0aW9uKTsKKyAgfQorfQpkaWZmIC0tZ2l0IGEvd2ViL3BnYWRt aW4vdG9vbHMvZXJkL3N0YXRpYy9qcy9lcmRfdG9vbC9FUkRNb2RlbC5qcyBiL3dlYi9wZ2FkbWlu L3Rvb2xzL2VyZC9zdGF0aWMvanMvZXJkX3Rvb2wvRVJETW9kZWwuanMKbmV3IGZpbGUgbW9kZSAx MDA2NDQKaW5kZXggMDAwMDAwMDAwLi5hZTczZGI4YWMKLS0tIC9kZXYvbnVsbAorKysgYi93ZWIv cGdhZG1pbi90b29scy9lcmQvc3RhdGljL2pzL2VyZF90b29sL0VSRE1vZGVsLmpzCkBAIC0wLDAg KzEsMjEgQEAKKy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v Ly8vLy8vLy8vLy8vLy8KKy8vCisvLyBwZ0FkbWluIDQgLSBQb3N0Z3JlU1FMIFRvb2xzCisvLwor Ly8gQ29weXJpZ2h0IChDKSAyMDEzIC0gMjAyMCwgVGhlIHBnQWRtaW4gRGV2ZWxvcG1lbnQgVGVh bQorLy8gVGhpcyBzb2Z0d2FyZSBpcyByZWxlYXNlZCB1bmRlciB0aGUgUG9zdGdyZVNRTCBMaWNl bmNlCisvLworLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v Ly8vLy8vLy8vLy8vLy8KKworaW1wb3J0IHsgRGlhZ3JhbU1vZGVsIH0gZnJvbSAnQHByb2plY3Rz dG9ybS9yZWFjdC1kaWFncmFtcyc7CitpbXBvcnQgXyBmcm9tICdsb2Rhc2gnOworCitleHBvcnQg ZGVmYXVsdCBjbGFzcyBFUkRNb2RlbCBleHRlbmRzIERpYWdyYW1Nb2RlbCB7CisgIGNvbnN0cnVj dG9yKG9wdGlvbnMpIHsKKyAgICBzdXBlcihvcHRpb25zKTsKKyAgfQorCisgIGdldE5vZGVzRGlj dCgpIHsKKyAgICByZXR1cm4gXy5mcm9tUGFpcnModGhpcy5nZXROb2RlcygpLm1hcChub2RlID0+ IFtub2RlLmdldElEKCksIG5vZGVdKSk7CisgIH0KK30KZGlmZiAtLWdpdCBhL3dlYi9wZ2FkbWlu L3Rvb2xzL2VyZC9zdGF0aWMvanMvZXJkX3Rvb2wvZGlhbG9ncy9EaWFsb2dXcmFwcGVyLmpzIGIv d2ViL3BnYWRtaW4vdG9vbHMvZXJkL3N0YXRpYy9qcy9lcmRfdG9vbC9kaWFsb2dzL0RpYWxvZ1dy YXBwZXIuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwLi45YjZlNTRmYTkK LS0tIC9kZXYvbnVsbAorKysgYi93ZWIvcGdhZG1pbi90b29scy9lcmQvc3RhdGljL2pzL2VyZF90 b29sL2RpYWxvZ3MvRGlhbG9nV3JhcHBlci5qcwpAQCAtMCwwICsxLDE1OCBAQAorLy8vLy8vLy8v Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLworLy8K Ky8vIHBnQWRtaW4gNCAtIFBvc3RncmVTUUwgVG9vbHMKKy8vCisvLyBDb3B5cmlnaHQgKEMpIDIw MTMgLSAyMDIwLCBUaGUgcGdBZG1pbiBEZXZlbG9wbWVudCBUZWFtCisvLyBUaGlzIHNvZnR3YXJl IGlzIHJlbGVhc2VkIHVuZGVyIHRoZSBQb3N0Z3JlU1FMIExpY2VuY2UKKy8vCisvLy8vLy8vLy8v Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLworCitp bXBvcnQgZ2V0dGV4dCBmcm9tICdzb3VyY2VzL2dldHRleHQnOworaW1wb3J0ICogYXMgY29tbW9u VXRpbHMgZnJvbSAnc291cmNlcy91dGlscyc7CisKK2V4cG9ydCBkZWZhdWx0IGNsYXNzIERpYWxv Z1dyYXBwZXIgeworICBjb25zdHJ1Y3RvcihkaWFsb2dDb250YWluZXJTZWxlY3RvciwgZGlhbG9n VGl0bGUsIHR5cGVPZkRpYWxvZywKKyAgICBqcXVlcnksIHBnQnJvd3NlciwgYWxlcnRpZnksIGJh Y2tmb3JtLCBiYWNrZ3JpZCkgeworCisgICAgdGhpcy5kaWFsb2dDb250YWluZXJTZWxlY3RvciA9 IGRpYWxvZ0NvbnRhaW5lclNlbGVjdG9yOworICAgIHRoaXMuZGlhbG9nVGl0bGUgPSBkaWFsb2dU aXRsZTsKKyAgICB0aGlzLmpxdWVyeSA9IGpxdWVyeTsKKyAgICB0aGlzLnBnQnJvd3NlciA9IHBn QnJvd3NlcjsKKyAgICB0aGlzLmFsZXJ0aWZ5ID0gYWxlcnRpZnk7CisgICAgdGhpcy5iYWNrZm9y bSA9IGJhY2tmb3JtOworICAgIHRoaXMuYmFja2dyaWQgPSBiYWNrZ3JpZDsKKyAgICB0aGlzLnR5 cGVPZkRpYWxvZyA9IHR5cGVPZkRpYWxvZzsKKyAgfQorCisgIG1haW4odGl0bGUsIGRpYWxvZ01v ZGVsLCBva0NhbGxiYWNrKSB7CisgICAgdGhpcy5zZXQoJ3RpdGxlJywgdGl0bGUpOworICAgIHRo aXMuZGlhbG9nTW9kZWwgPSBkaWFsb2dNb2RlbDsKKyAgICB0aGlzLm9rQ2FsbGJhY2sgPSBva0Nh bGxiYWNrOworICB9CisKKyAgYnVpbGQoKSB7CisgICAgdGhpcy5hbGVydGlmeS5wZ0RpYWxvZ0J1 aWxkLmFwcGx5KHRoaXMpOworICB9CisKKyAgZGlzYWJsZU9LQnV0dG9uKCkgeworICAgIHRoaXMu X19pbnRlcm5hbC5idXR0b25zWzFdLmVsZW1lbnQuZGlzYWJsZWQgPSB0cnVlOworICB9CisKKyAg ZW5hYmxlT0tCdXR0b24oKSB7CisgICAgdGhpcy5fX2ludGVybmFsLmJ1dHRvbnNbMV0uZWxlbWVu dC5kaXNhYmxlZCA9IGZhbHNlOworICB9CisKKyAgZm9jdXNPbkRpYWxvZyhhbGVydGlmeURpYWxv ZykgeworICAgIGxldCBiYWNrZm9ybV90YWIgPSB0aGlzLmpxdWVyeShhbGVydGlmeURpYWxvZy5l bGVtZW50cy5ib2R5KS5maW5kKCcuYmFja2Zvcm0tdGFiJyk7CisgICAgYmFja2Zvcm1fdGFiLmF0 dHIoJ3RhYmluZGV4JywgLTEpOworICAgIHRoaXMucGdCcm93c2VyLmtleWJvYXJkTmF2aWdhdGlv bi5nZXREaWFsb2dUYWJOYXZpZ2F0b3IodGhpcy5qcXVlcnkoYWxlcnRpZnlEaWFsb2cuZWxlbWVu dHMuZGlhbG9nKSk7CisgICAgbGV0IGNvbnRhaW5lciA9IGJhY2tmb3JtX3RhYi5maW5kKCcudGFi LWNvbnRlbnQ6Zmlyc3QgPiAudGFiLXBhbmUuYWN0aXZlOmZpcnN0Jyk7CisKKyAgICBpZihjb250 YWluZXIubGVuZ3RoID09PSAwICYmIGFsZXJ0aWZ5RGlhbG9nLmVsZW1lbnRzLmNvbnRlbnQuaW5u ZXJIVE1MKSB7CisgICAgICBjb250YWluZXIgPSB0aGlzLmpxdWVyeShhbGVydGlmeURpYWxvZy5l bGVtZW50cy5jb250ZW50KTsKKyAgICB9CisgICAgY29tbW9uVXRpbHMuZmluZEFuZFNldEZvY3Vz KGNvbnRhaW5lcik7CisgIH0KKworICBzZXR1cCgpIHsKKyAgICByZXR1cm4geworICAgICAgYnV0 dG9uczogW3sKKyAgICAgICAgdGV4dDogZ2V0dGV4dCgnQ2FuY2VsJyksCisgICAgICAgIGtleTog MjcsCisgICAgICAgIGNsYXNzTmFtZTogJ2J0biBidG4tc2Vjb25kYXJ5IGZhIGZhLWxnIGZhLXRp bWVzIHBnLWFsZXJ0aWZ5LWJ1dHRvbicsCisgICAgICAgICdkYXRhLWJ0bi1uYW1lJzogJ2NhbmNl bCcsCisgICAgICB9LCB7CisgICAgICAgIHRleHQ6IGdldHRleHQoJ09LJyksCisgICAgICAgIGtl eTogMTMsCisgICAgICAgIGNsYXNzTmFtZTogJ2J0biBidG4tcHJpbWFyeSBmYSBmYS1sZyBmYS1z YXZlIHBnLWFsZXJ0aWZ5LWJ1dHRvbicsCisgICAgICAgICdkYXRhLWJ0bi1uYW1lJzogJ29rJywK KyAgICAgIH1dLAorICAgICAgLy8gU2V0IG9wdGlvbnMgZm9yIGRpYWxvZworICAgICAgb3B0aW9u czogeworICAgICAgICB0aXRsZTogdGhpcy5kaWFsb2dUaXRsZSwKKyAgICAgICAgLy9kaXNhYmxl IGJvdGggcGFkZGluZyBhbmQgb3ZlcmZsb3cgY29udHJvbC4KKyAgICAgICAgcGFkZGluZzogITEs CisgICAgICAgIG92ZXJmbG93OiAhMSwKKyAgICAgICAgbW9kZWw6IDAsCisgICAgICAgIHJlc2l6 YWJsZTogdHJ1ZSwKKyAgICAgICAgbWF4aW1pemFibGU6IHRydWUsCisgICAgICAgIHBpbm5hYmxl OiBmYWxzZSwKKyAgICAgICAgY2xvc2FibGVCeURpbW1lcjogZmFsc2UsCisgICAgICAgIG1vZGFs OiBmYWxzZSwKKyAgICAgIH0sCisgICAgfTsKKyAgfQorCisgIHByZXBhcmUoKSB7CisgICAgY29u c3QgJGNvbnRhaW5lciA9IHRoaXMuanF1ZXJ5KHRoaXMuZGlhbG9nQ29udGFpbmVyU2VsZWN0b3Ip OworICAgIGNvbnN0IGRpYWxvZyA9IHRoaXMuY3JlYXRlRGlhbG9nKCRjb250YWluZXIpOworICAg IGRpYWxvZy5yZW5kZXIoKTsKKyAgICB0aGlzLmVsZW1lbnRzLmNvbnRlbnQuaW5uZXJIVE1MID0g Jyc7CisgICAgdGhpcy5lbGVtZW50cy5jb250ZW50LmFwcGVuZENoaWxkKCRjb250YWluZXIuZ2V0 KDApKTsKKyAgICB0aGlzLmpxdWVyeSh0aGlzLmVsZW1lbnRzLmJvZHkuY2hpbGROb2Rlc1swXSku YWRkQ2xhc3MoCisgICAgICAnYWxlcnRpZnlfdG9vbHNfZGlhbG9nX3Byb3BlcnRpZXMgb2JqX3By b3BlcnRpZXMnCisgICAgKTsKKyAgICBjb25zdCBzdGF0dXNCYXIgPSB0aGlzLmpxdWVyeSgKKyAg ICAgICc8ZGl2IGNsYXNzPVwncGctcHJvcC1zdGF0dXMtYmFyIHBnLXByb3Atc3RhdHVzLWJhci1h YnNvbHV0ZSBwZy1lbC14cy0xMiBkLW5vbmVcJz4nICsKKyAgICAgICcgIDxkaXYgY2xhc3M9ImVy cm9yLWluLWZvb3RlciI+ICcgKworICAgICAgJyAgICA8ZGl2IGNsYXNzPSJkLWZsZXggcHgtMiBw eS0xIj4gJyArCisgICAgICAnICAgICAgPGRpdiBjbGFzcz0icHItMiI+ICcgKworICAgICAgJyAg ICAgICAgPGkgY2xhc3M9ImZhIGZhLWV4Y2xhbWF0aW9uLXRyaWFuZ2xlIHRleHQtZGFuZ2VyIiBh cmlhLWhpZGRlbj0idHJ1ZSI+PC9pPiAnICsKKyAgICAgICcgICAgICA8L2Rpdj4gJyArCisgICAg ICAnICAgICAgPGRpdiBjbGFzcz0iYWxlcnQtdGV4dCIgcm9sZT0iYWxlcnQiPjwvZGl2PiAnICsK KyAgICAgICcgICAgICAgPGRpdiBjbGFzcz0ibWwtYXV0byBjbG9zZS1lcnJvci1iYXIiPiAnICsK KyAgICAgICcgICAgICAgICAgPGEgYXJpYS1sYWJlbD0iJyArIGdldHRleHQoJ0Nsb3NlIGVycm9y IGJhcicpICsgJyIgY2xhc3M9ImNsb3NlLWVycm9yIGZhIGZhLXRpbWVzIHRleHQtZGFuZ2VyIj48 L2E+ICcgKworICAgICAgJyAgICAgICAgPC9kaXY+ICcgKworICAgICAgJyAgICA8L2Rpdj4gJyAr CisgICAgICAnICA8L2Rpdj4gJyArCisgICAgICAnPC9kaXY+JykuYXBwZW5kVG8oJGNvbnRhaW5l cik7CisKKyAgICBzdGF0dXNCYXIuZmluZCgnLmNsb3NlLWVycm9yJykub24oJ2NsaWNrJywgKCk9 PnsKKyAgICAgIHN0YXR1c0Jhci5hZGRDbGFzcygnZC1ub25lJyk7CisgICAgfSk7CisKKyAgICB2 YXIgb25TZXNzaW9uSW52YWxpZCA9IChtc2cpID0+IHsKKyAgICAgIHN0YXR1c0Jhci5maW5kKCcu YWxlcnQtdGV4dCcpLnRleHQobXNnKTsKKyAgICAgIHN0YXR1c0Jhci5yZW1vdmVDbGFzcygnZC1u b25lJyk7CisgICAgICB0aGlzLmRpc2FibGVPS0J1dHRvbigpOworICAgICAgcmV0dXJuIHRydWU7 CisgICAgfTsKKworICAgIHZhciBvblNlc3Npb25WYWxpZGF0ZWQgPSAoKSA9PiB7CisgICAgICBz dGF0dXNCYXIuZmluZCgnLmFsZXJ0LXRleHQnKS50ZXh0KCcnKTsKKyAgICAgIHN0YXR1c0Jhci5h ZGRDbGFzcygnZC1ub25lJyk7CisgICAgICB0aGlzLmVuYWJsZU9LQnV0dG9uKCk7CisgICAgICBy ZXR1cm4gdHJ1ZTsKKyAgICB9OworCisgICAgdGhpcy5kaWFsb2dNb2RlbC5vbigncGdhZG1pbi1z ZXNzaW9uOnZhbGlkJywgb25TZXNzaW9uVmFsaWRhdGVkKTsKKyAgICB0aGlzLmRpYWxvZ01vZGVs Lm9uKCdwZ2FkbWluLXNlc3Npb246aW52YWxpZCcsIG9uU2Vzc2lvbkludmFsaWQpOworICAgIHRo aXMuZGlhbG9nTW9kZWwuc3RhcnROZXdTZXNzaW9uKCk7CisgICAgdGhpcy5kaXNhYmxlT0tCdXR0 b24oKTsKKyAgICB0aGlzLmZvY3VzT25EaWFsb2codGhpcyk7CisgIH0KKworICBjYWxsYmFjayhl dmVudCkgeworICAgIGlmICh0aGlzLndhc09rQnV0dG9uUHJlc3NlZChldmVudCkpIHsKKyAgICAg IHRoaXMub2tDYWxsYmFjayh0aGlzLnZpZXcubW9kZWwudG9KU09OKHRydWUpKTsKKyAgICB9Cisg IH0KKworICBjcmVhdGVEaWFsb2coJGNvbnRhaW5lcikgeworICAgIGxldCBmaWVsZHMgPSB0aGlz LmJhY2tmb3JtLmdlbmVyYXRlVmlld1NjaGVtYSgKKyAgICAgIG51bGwsIHRoaXMuZGlhbG9nTW9k ZWwsICdjcmVhdGUnLCBudWxsLCBudWxsLCB0cnVlLCBudWxsCisgICAgKTsKKworICAgIHRoaXMu dmlldyA9IG5ldyB0aGlzLmJhY2tmb3JtLkRpYWxvZyh7CisgICAgICBlbDogJGNvbnRhaW5lciwK KyAgICAgIG1vZGVsOiB0aGlzLmRpYWxvZ01vZGVsLAorICAgICAgc2NoZW1hOiBmaWVsZHMsCisg ICAgfSk7CisKKyAgICByZXR1cm4gdGhpcy52aWV3OworICB9CisKKyAgd2FzT2tCdXR0b25QcmVz c2VkKGV2ZW50KSB7CisgICAgcmV0dXJuIGV2ZW50LmJ1dHRvblsnZGF0YS1idG4tbmFtZSddID09 PSAnb2snOworICB9Cit9CmRpZmYgLS1naXQgYS93ZWIvcGdhZG1pbi90b29scy9lcmQvc3RhdGlj L2pzL2VyZF90b29sL2RpYWxvZ3MvTWFueVRvTWFueURpYWxvZy5qcyBiL3dlYi9wZ2FkbWluL3Rv b2xzL2VyZC9zdGF0aWMvanMvZXJkX3Rvb2wvZGlhbG9ncy9NYW55VG9NYW55RGlhbG9nLmpzCm5l dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMC4uYWJlYzc5ZjVlCi0tLSAvZGV2L251 bGwKKysrIGIvd2ViL3BnYWRtaW4vdG9vbHMvZXJkL3N0YXRpYy9qcy9lcmRfdG9vbC9kaWFsb2dz L01hbnlUb01hbnlEaWFsb2cuanMKQEAgLTAsMCArMSwxNDAgQEAKKy8vLy8vLy8vLy8vLy8vLy8v Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KKy8vCisvLyBwZ0Fk bWluIDQgLSBQb3N0Z3JlU1FMIFRvb2xzCisvLworLy8gQ29weXJpZ2h0IChDKSAyMDEzIC0gMjAy MCwgVGhlIHBnQWRtaW4gRGV2ZWxvcG1lbnQgVGVhbQorLy8gVGhpcyBzb2Z0d2FyZSBpcyByZWxl YXNlZCB1bmRlciB0aGUgUG9zdGdyZVNRTCBMaWNlbmNlCisvLworLy8vLy8vLy8vLy8vLy8vLy8v Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KKworaW1wb3J0IGdl dHRleHQgZnJvbSAnc291cmNlcy9nZXR0ZXh0JzsKK2ltcG9ydCBCYWNrZm9ybSBmcm9tICdzb3Vy Y2VzL2JhY2tmb3JtLnBnYWRtaW4nOworaW1wb3J0IEFsZXJ0aWZ5IGZyb20gJ3BnYWRtaW4uYWxl cnRpZnlqcyc7CitpbXBvcnQgJCBmcm9tICdqcXVlcnknOworCitpbXBvcnQgRGlhbG9nV3JhcHBl ciBmcm9tICcuL0RpYWxvZ1dyYXBwZXInOworaW1wb3J0IF8gZnJvbSAnbG9kYXNoJzsKKworZXhw b3J0IGRlZmF1bHQgY2xhc3MgTWFueVRvTWFueURpYWxvZyB7CisgIGNvbnN0cnVjdG9yKHBnQnJv d3NlcikgeworICAgIHRoaXMucGdCcm93c2VyID0gcGdCcm93c2VyOworICB9CisKKyAgZGlhbG9n TmFtZSgpIHsKKyAgICByZXR1cm4gJ21hbnl0b21hbnlfZGlhbG9nJzsKKyAgfQorCisgIGdldERh dGFNb2RlbChhdHRyaWJ1dGVzLCB0YWJsZU5vZGVzRGljdCkgeworICAgIGNvbnN0IHBhcnNlQ29s dW1ucyA9IChjb2x1bW5zKT0+eworICAgICAgcmV0dXJuIGNvbHVtbnMubWFwKChjb2wpPT57Cisg ICAgICAgIHJldHVybiB7CisgICAgICAgICAgdmFsdWU6IGNvbC5hdHRudW0sIGxhYmVsOiBjb2wu bmFtZSwKKyAgICAgICAgfTsKKyAgICAgIH0pOworICAgIH07CisKKyAgICBsZXQgZGlhbG9nTW9k ZWwgPSB0aGlzLnBnQnJvd3Nlci5EYXRhTW9kZWwuZXh0ZW5kKHsKKyAgICAgIGRlZmF1bHRzOiB7 CisgICAgICAgIGxlZnRfdGFibGVfdWlkOiB1bmRlZmluZWQsCisgICAgICAgIGxlZnRfdGFibGVf Y29sdW1uX2F0dG51bTogdW5kZWZpbmVkLAorICAgICAgICByaWdodF90YWJsZV91aWQ6IHVuZGVm aW5lZCwKKyAgICAgICAgcmlnaHRfdGFibGVfY29sdW1uX2F0dG51bTogdW5kZWZpbmVkLAorICAg ICAgfSwKKyAgICAgIHNjaGVtYTogW3sKKyAgICAgICAgaWQ6ICdsZWZ0X3RhYmxlX3VpZCcsIGxh YmVsOiBnZXR0ZXh0KCdMZWZ0IFRhYmxlJyksCisgICAgICAgIHR5cGU6ICdzZWxlY3QyJywgcmVh ZG9ubHk6IHRydWUsCisgICAgICAgIG9wdGlvbnM6ICgpPT57CisgICAgICAgICAgbGV0IHJldE9w dHMgPSBbXTsKKyAgICAgICAgICBfLmZvckVhY2godGFibGVOb2Rlc0RpY3QsIChub2RlLCB1aWQp PT57CisgICAgICAgICAgICBsZXQgW3NjaGVtYSwgbmFtZV0gPSBub2RlLmdldFNjaGVtYVRhYmxl TmFtZSgpOworICAgICAgICAgICAgcmV0T3B0cy5wdXNoKHt2YWx1ZTogdWlkLCBsYWJlbDogYCgk e3NjaGVtYX0pICR7bmFtZX1gfSk7CisgICAgICAgICAgfSk7CisgICAgICAgICAgcmV0dXJuIHJl dE9wdHM7CisgICAgICAgIH0sCisgICAgICB9LCB7CisgICAgICAgIGlkOiAnbGVmdF90YWJsZV9j b2x1bW5fYXR0bnVtJywgbGFiZWw6IGdldHRleHQoJ0xlZnQgdGFibGUgQ29sdW1uJyksCisgICAg ICAgIHR5cGU6ICdzZWxlY3QyJywgZGlzYWJsZWQ6IGZhbHNlLCBmaXJzdF9lbXB0eTogZmFsc2Us CisgICAgICAgIGVkaXRhYmxlOiB0cnVlLCBvcHRpb25zOiAodmlldyk9PnsKKyAgICAgICAgICBy ZXR1cm4gcGFyc2VDb2x1bW5zKHRhYmxlTm9kZXNEaWN0W3ZpZXcubW9kZWwuZ2V0KCdsZWZ0X3Rh YmxlX3VpZCcpXS5nZXRDb2x1bW5zKCkpOworICAgICAgICB9LAorICAgICAgfSx7CisgICAgICAg IGlkOiAncmlnaHRfdGFibGVfdWlkJywgbGFiZWw6IGdldHRleHQoJ1JpZ2h0IFRhYmxlJyksCisg ICAgICAgIHR5cGU6ICdzZWxlY3QyJywgZGlzYWJsZWQ6IGZhbHNlLAorICAgICAgICBlZGl0YWJs ZTogdHJ1ZSwgb3B0aW9uczogKHZpZXcpPT57CisgICAgICAgICAgbGV0IHJldE9wdHMgPSBbXTsK KyAgICAgICAgICBfLmZvckVhY2godGFibGVOb2Rlc0RpY3QsIChub2RlLCB1aWQpPT57CisgICAg ICAgICAgICBpZih1aWQgPT09IHZpZXcubW9kZWwuZ2V0KCdsZWZ0X3RhYmxlX3VpZCcpKSB7Cisg ICAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIGxldCBbc2No ZW1hLCBuYW1lXSA9IG5vZGUuZ2V0U2NoZW1hVGFibGVOYW1lKCk7CisgICAgICAgICAgICByZXRP cHRzLnB1c2goe3ZhbHVlOiB1aWQsIGxhYmVsOiBgKCR7c2NoZW1hfSkgJHtuYW1lfWB9KTsKKyAg ICAgICAgICB9KTsKKyAgICAgICAgICByZXR1cm4gcmV0T3B0czsKKyAgICAgICAgfSwKKyAgICAg IH0seworICAgICAgICBpZDogJ3JpZ2h0X3RhYmxlX2NvbHVtbl9hdHRudW0nLCBsYWJlbDogZ2V0 dGV4dCgnUmlnaHQgdGFibGUgQ29sdW1uJyksCisgICAgICAgIHR5cGU6ICdzZWxlY3QyJywgZGlz YWJsZWQ6IGZhbHNlLCBkZXBzOiBbJ3JpZ2h0X3RhYmxlX3VpZCddLAorICAgICAgICBlZGl0YWJs ZTogdHJ1ZSwgb3B0aW9uczogKHZpZXcpPT57CisgICAgICAgICAgaWYodmlldy5tb2RlbC5nZXQo J3JpZ2h0X3RhYmxlX3VpZCcpKSB7CisgICAgICAgICAgICByZXR1cm4gcGFyc2VDb2x1bW5zKHRh YmxlTm9kZXNEaWN0W3ZpZXcubW9kZWwuZ2V0KCdyaWdodF90YWJsZV91aWQnKV0uZ2V0Q29sdW1u cygpKTsKKyAgICAgICAgICB9CisgICAgICAgICAgcmV0dXJuIFtdOworICAgICAgICB9LAorICAg ICAgfV0sCisgICAgICB2YWxpZGF0ZTogZnVuY3Rpb24oa2V5cykgeworICAgICAgICB2YXIgbXNn ID0gdW5kZWZpbmVkOworCisgICAgICAgIC8vIE5vdGhpbmcgdG8gdmFsaWRhdGUKKyAgICAgICAg aWYgKGtleXMgJiYga2V5cy5sZW5ndGggPT0gMCkgeworICAgICAgICAgIHRoaXMuZXJyb3JNb2Rl bC5jbGVhcigpOworICAgICAgICAgIHJldHVybiBudWxsOworICAgICAgICB9IGVsc2UgeworICAg ICAgICAgIHRoaXMuZXJyb3JNb2RlbC5jbGVhcigpOworICAgICAgICB9CisKKyAgICAgICAgaWYg KF8uaXNVbmRlZmluZWQodGhpcy5nZXQoJ2xlZnRfdGFibGVfY29sdW1uX2F0dG51bScpKSB8fCB0 aGlzLmdldCgnbGVmdF90YWJsZV9jb2x1bW5fYXR0bnVtJykgPT0gJycpIHsKKyAgICAgICAgICBt c2cgPSBnZXR0ZXh0KCdTZWxlY3QgdGhlIGxlZnQgdGFibGUgY29sdW1uLicpOworICAgICAgICAg IHRoaXMuZXJyb3JNb2RlbC5zZXQoJ2xlZnRfdGFibGVfY29sdW1uX2F0dG51bScsIG1zZyk7Cisg ICAgICAgICAgcmV0dXJuIG1zZzsKKyAgICAgICAgfQorICAgICAgICBpZiAoXy5pc1VuZGVmaW5l ZCh0aGlzLmdldCgncmlnaHRfdGFibGVfdWlkJykpIHx8IHRoaXMuZ2V0KCdyaWdodF90YWJsZV91 aWQnKSA9PSAnJykgeworICAgICAgICAgIG1zZyA9IGdldHRleHQoJ1NlbGVjdCB0aGUgcmlnaHQg dGFibGUuJyk7CisgICAgICAgICAgdGhpcy5lcnJvck1vZGVsLnNldCgncmlnaHRfdGFibGVfdWlk JywgbXNnKTsKKyAgICAgICAgICByZXR1cm4gbXNnOworICAgICAgICB9CisgICAgICAgIGlmIChf LmlzVW5kZWZpbmVkKHRoaXMuZ2V0KCdyaWdodF90YWJsZV9jb2x1bW5fYXR0bnVtJykpIHx8IHRo aXMuZ2V0KCdyaWdodF90YWJsZV9jb2x1bW5fYXR0bnVtJykgPT0gJycpIHsKKyAgICAgICAgICBt c2cgPSBnZXR0ZXh0KCdTZWxlY3QgdGhlIHJpZ2h0IHRhYmxlIGNvbHVtbi4nKTsKKyAgICAgICAg ICB0aGlzLmVycm9yTW9kZWwuc2V0KCdyaWdodF90YWJsZV9jb2x1bW5fYXR0bnVtJywgbXNnKTsK KyAgICAgICAgICByZXR1cm4gbXNnOworICAgICAgICB9CisgICAgICB9LAorICAgIH0pOworCisg ICAgcmV0dXJuIG5ldyBkaWFsb2dNb2RlbChhdHRyaWJ1dGVzKTsKKyAgfQorCisgIGNyZWF0ZU9y R2V0RGlhbG9nKHRpdGxlKSB7CisgICAgY29uc3QgZGlhbG9nTmFtZSA9IHRoaXMuZGlhbG9nTmFt ZSgpOworCisgICAgaWYgKCFBbGVydGlmeVtkaWFsb2dOYW1lXSkgeworICAgICAgQWxlcnRpZnku ZGlhbG9nKGRpYWxvZ05hbWUsICgpID0+IHsKKyAgICAgICAgcmV0dXJuIG5ldyBEaWFsb2dXcmFw cGVyKAorICAgICAgICAgIGA8ZGl2IGNsYXNzPSIke2RpYWxvZ05hbWV9Ij48L2Rpdj5gLAorICAg ICAgICAgIHRpdGxlLAorICAgICAgICAgIG51bGwsCisgICAgICAgICAgJCwKKyAgICAgICAgICB0 aGlzLnBnQnJvd3NlciwKKyAgICAgICAgICBBbGVydGlmeSwKKyAgICAgICAgICBCYWNrZm9ybQor ICAgICAgICApOworICAgICAgfSk7CisgICAgfQorICAgIHJldHVybiBBbGVydGlmeVtkaWFsb2dO YW1lXTsKKyAgfQorCisgIHNob3codGl0bGUsIGF0dHJpYnV0ZXMsIHRhYmxlc0RhdGEsIHNWZXJz aW9uLCBjYWxsYmFjaykgeworICAgIGxldCBkaWFsb2dUaXRsZSA9IHRpdGxlIHx8IGdldHRleHQo J1Vua25vd24nKTsKKyAgICBjb25zdCBkaWFsb2cgPSB0aGlzLmNyZWF0ZU9yR2V0RGlhbG9nKCdt YW55dG9tYW55X2RpYWxvZycpOworICAgIGRpYWxvZyhkaWFsb2dUaXRsZSwgdGhpcy5nZXREYXRh TW9kZWwoYXR0cmlidXRlcywgdGFibGVzRGF0YSksIGNhbGxiYWNrKS5yZXNpemVUbyh0aGlzLnBn QnJvd3Nlci5zdGRXLnNtLCB0aGlzLnBnQnJvd3Nlci5zdGRILm1kKTsKKyAgfQorfQpkaWZmIC0t Z2l0IGEvd2ViL3BnYWRtaW4vdG9vbHMvZXJkL3N0YXRpYy9qcy9lcmRfdG9vbC9kaWFsb2dzL09u ZVRvTWFueURpYWxvZy5qcyBiL3dlYi9wZ2FkbWluL3Rvb2xzL2VyZC9zdGF0aWMvanMvZXJkX3Rv b2wvZGlhbG9ncy9PbmVUb01hbnlEaWFsb2cuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg MDAwMDAwMDAwLi4wZjRhOWNlM2UKLS0tIC9kZXYvbnVsbAorKysgYi93ZWIvcGdhZG1pbi90b29s cy9lcmQvc3RhdGljL2pzL2VyZF90b29sL2RpYWxvZ3MvT25lVG9NYW55RGlhbG9nLmpzCkBAIC0w LDAgKzEsMTQwIEBACisvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v Ly8vLy8vLy8vLy8vLy8vLy8vCisvLworLy8gcGdBZG1pbiA0IC0gUG9zdGdyZVNRTCBUb29scwor Ly8KKy8vIENvcHlyaWdodCAoQykgMjAxMyAtIDIwMjAsIFRoZSBwZ0FkbWluIERldmVsb3BtZW50 IFRlYW0KKy8vIFRoaXMgc29mdHdhcmUgaXMgcmVsZWFzZWQgdW5kZXIgdGhlIFBvc3RncmVTUUwg TGljZW5jZQorLy8KKy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v Ly8vLy8vLy8vLy8vLy8vLy8vCisKK2ltcG9ydCBnZXR0ZXh0IGZyb20gJ3NvdXJjZXMvZ2V0dGV4 dCc7CitpbXBvcnQgQmFja2Zvcm0gZnJvbSAnc291cmNlcy9iYWNrZm9ybS5wZ2FkbWluJzsKK2lt cG9ydCBBbGVydGlmeSBmcm9tICdwZ2FkbWluLmFsZXJ0aWZ5anMnOworaW1wb3J0ICQgZnJvbSAn anF1ZXJ5JzsKKworaW1wb3J0IERpYWxvZ1dyYXBwZXIgZnJvbSAnLi9EaWFsb2dXcmFwcGVyJzsK K2ltcG9ydCBfIGZyb20gJ2xvZGFzaCc7CisKK2V4cG9ydCBkZWZhdWx0IGNsYXNzIE9uZVRvTWFu eURpYWxvZyB7CisgIGNvbnN0cnVjdG9yKHBnQnJvd3NlcikgeworICAgIHRoaXMucGdCcm93c2Vy ID0gcGdCcm93c2VyOworICB9CisKKyAgZGlhbG9nTmFtZSgpIHsKKyAgICByZXR1cm4gJ29uZXRv bWFueV9kaWFsb2cnOworICB9CisKKyAgZ2V0RGF0YU1vZGVsKGF0dHJpYnV0ZXMsIHRhYmxlTm9k ZXNEaWN0KSB7CisgICAgY29uc3QgcGFyc2VDb2x1bW5zID0gKGNvbHVtbnMpPT57CisgICAgICBy ZXR1cm4gY29sdW1ucy5tYXAoKGNvbCk9PnsKKyAgICAgICAgcmV0dXJuIHsKKyAgICAgICAgICB2 YWx1ZTogY29sLmF0dG51bSwgbGFiZWw6IGNvbC5uYW1lLAorICAgICAgICB9OworICAgICAgfSk7 CisgICAgfTsKKworICAgIGxldCBkaWFsb2dNb2RlbCA9IHRoaXMucGdCcm93c2VyLkRhdGFNb2Rl bC5leHRlbmQoeworICAgICAgZGVmYXVsdHM6IHsKKyAgICAgICAgbG9jYWxfdGFibGVfdWlkOiB1 bmRlZmluZWQsCisgICAgICAgIGxvY2FsX2NvbHVtbl9hdHRudW06IHVuZGVmaW5lZCwKKyAgICAg ICAgcmVmZXJlbmNlZF90YWJsZV91aWQ6IHVuZGVmaW5lZCwKKyAgICAgICAgcmVmZXJlbmNlZF9j b2x1bW5fYXR0bnVtOiB1bmRlZmluZWQsCisgICAgICB9LAorICAgICAgc2NoZW1hOiBbeworICAg ICAgICBpZDogJ2xvY2FsX3RhYmxlX3VpZCcsIGxhYmVsOiBnZXR0ZXh0KCdMb2NhbCBUYWJsZScp LAorICAgICAgICB0eXBlOiAnc2VsZWN0MicsIHJlYWRvbmx5OiB0cnVlLAorICAgICAgICBvcHRp b25zOiAoKT0+eworICAgICAgICAgIGxldCByZXRPcHRzID0gW107CisgICAgICAgICAgXy5mb3JF YWNoKHRhYmxlTm9kZXNEaWN0LCAobm9kZSwgdWlkKT0+eworICAgICAgICAgICAgbGV0IFtzY2hl bWEsIG5hbWVdID0gbm9kZS5nZXRTY2hlbWFUYWJsZU5hbWUoKTsKKyAgICAgICAgICAgIHJldE9w dHMucHVzaCh7dmFsdWU6IHVpZCwgbGFiZWw6IGAoJHtzY2hlbWF9KSAke25hbWV9YH0pOworICAg ICAgICAgIH0pOworICAgICAgICAgIHJldHVybiByZXRPcHRzOworICAgICAgICB9LAorICAgICAg fSwgeworICAgICAgICBpZDogJ2xvY2FsX2NvbHVtbl9hdHRudW0nLCBsYWJlbDogZ2V0dGV4dCgn TG9jYWwgQ29sdW1uJyksCisgICAgICAgIHR5cGU6ICdzZWxlY3QyJywgZGlzYWJsZWQ6IGZhbHNl LCBmaXJzdF9lbXB0eTogZmFsc2UsCisgICAgICAgIGVkaXRhYmxlOiB0cnVlLCBvcHRpb25zOiAo dmlldyk9PnsKKyAgICAgICAgICByZXR1cm4gcGFyc2VDb2x1bW5zKHRhYmxlTm9kZXNEaWN0W3Zp ZXcubW9kZWwuZ2V0KCdsb2NhbF90YWJsZV91aWQnKV0uZ2V0Q29sdW1ucygpKTsKKyAgICAgICAg fSwKKyAgICAgIH0seworICAgICAgICBpZDogJ3JlZmVyZW5jZWRfdGFibGVfdWlkJywgbGFiZWw6 IGdldHRleHQoJ1JlZmVyZW5jZWQgVGFibGUnKSwKKyAgICAgICAgdHlwZTogJ3NlbGVjdDInLCBk aXNhYmxlZDogZmFsc2UsCisgICAgICAgIGVkaXRhYmxlOiB0cnVlLCBvcHRpb25zOiAodmlldyk9 PnsKKyAgICAgICAgICBsZXQgcmV0T3B0cyA9IFtdOworICAgICAgICAgIF8uZm9yRWFjaCh0YWJs ZU5vZGVzRGljdCwgKG5vZGUsIHVpZCk9PnsKKyAgICAgICAgICAgIGlmKHVpZCA9PT0gdmlldy5t b2RlbC5nZXQoJ2xvY2FsX3RhYmxlX3VpZCcpKSB7CisgICAgICAgICAgICAgIHJldHVybjsKKyAg ICAgICAgICAgIH0KKyAgICAgICAgICAgIGxldCBbc2NoZW1hLCBuYW1lXSA9IG5vZGUuZ2V0U2No ZW1hVGFibGVOYW1lKCk7CisgICAgICAgICAgICByZXRPcHRzLnB1c2goe3ZhbHVlOiB1aWQsIGxh YmVsOiBgKCR7c2NoZW1hfSkgJHtuYW1lfWB9KTsKKyAgICAgICAgICB9KTsKKyAgICAgICAgICBy ZXR1cm4gcmV0T3B0czsKKyAgICAgICAgfSwKKyAgICAgIH0seworICAgICAgICBpZDogJ3JlZmVy ZW5jZWRfY29sdW1uX2F0dG51bScsIGxhYmVsOiBnZXR0ZXh0KCdSZWZlcmVuY2VkIENvbHVtbicp LAorICAgICAgICB0eXBlOiAnc2VsZWN0MicsIGRpc2FibGVkOiBmYWxzZSwgZGVwczogWydyZWZl cmVuY2VkX3RhYmxlX3VpZCddLAorICAgICAgICBlZGl0YWJsZTogdHJ1ZSwgb3B0aW9uczogKHZp ZXcpPT57CisgICAgICAgICAgaWYodmlldy5tb2RlbC5nZXQoJ3JlZmVyZW5jZWRfdGFibGVfdWlk JykpIHsKKyAgICAgICAgICAgIHJldHVybiBwYXJzZUNvbHVtbnModGFibGVOb2Rlc0RpY3Rbdmll dy5tb2RlbC5nZXQoJ3JlZmVyZW5jZWRfdGFibGVfdWlkJyldLmdldENvbHVtbnMoKSk7CisgICAg ICAgICAgfQorICAgICAgICAgIHJldHVybiBbXTsKKyAgICAgICAgfSwKKyAgICAgIH1dLAorICAg ICAgdmFsaWRhdGU6IGZ1bmN0aW9uKGtleXMpIHsKKyAgICAgICAgdmFyIG1zZyA9IHVuZGVmaW5l ZDsKKworICAgICAgICAvLyBOb3RoaW5nIHRvIHZhbGlkYXRlCisgICAgICAgIGlmIChrZXlzICYm IGtleXMubGVuZ3RoID09IDApIHsKKyAgICAgICAgICB0aGlzLmVycm9yTW9kZWwuY2xlYXIoKTsK KyAgICAgICAgICByZXR1cm4gbnVsbDsKKyAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICB0aGlz LmVycm9yTW9kZWwuY2xlYXIoKTsKKyAgICAgICAgfQorCisgICAgICAgIGlmIChfLmlzVW5kZWZp bmVkKHRoaXMuZ2V0KCdsb2NhbF9jb2x1bW5fYXR0bnVtJykpIHx8IHRoaXMuZ2V0KCdsb2NhbF9j b2x1bW5fYXR0bnVtJykgPT0gJycpIHsKKyAgICAgICAgICBtc2cgPSBnZXR0ZXh0KCdTZWxlY3Qg dGhlIGxvY2FsIGNvbHVtbi4nKTsKKyAgICAgICAgICB0aGlzLmVycm9yTW9kZWwuc2V0KCdsb2Nh bF9jb2x1bW5fYXR0bnVtJywgbXNnKTsKKyAgICAgICAgICByZXR1cm4gbXNnOworICAgICAgICB9 CisgICAgICAgIGlmIChfLmlzVW5kZWZpbmVkKHRoaXMuZ2V0KCdyZWZlcmVuY2VkX3RhYmxlX3Vp ZCcpKSB8fCB0aGlzLmdldCgncmVmZXJlbmNlZF90YWJsZV91aWQnKSA9PSAnJykgeworICAgICAg ICAgIG1zZyA9IGdldHRleHQoJ1NlbGVjdCB0aGUgcmVmZXJlbmNlZCB0YWJsZS4nKTsKKyAgICAg ICAgICB0aGlzLmVycm9yTW9kZWwuc2V0KCdyZWZlcmVuY2VkX3RhYmxlX3VpZCcsIG1zZyk7Cisg ICAgICAgICAgcmV0dXJuIG1zZzsKKyAgICAgICAgfQorICAgICAgICBpZiAoXy5pc1VuZGVmaW5l ZCh0aGlzLmdldCgncmVmZXJlbmNlZF9jb2x1bW5fYXR0bnVtJykpIHx8IHRoaXMuZ2V0KCdyZWZl cmVuY2VkX2NvbHVtbl9hdHRudW0nKSA9PSAnJykgeworICAgICAgICAgIG1zZyA9IGdldHRleHQo J1NlbGVjdCB0aGUgcmVmZXJlbmNlZCB0YWJsZSBjb2x1bW4uJyk7CisgICAgICAgICAgdGhpcy5l cnJvck1vZGVsLnNldCgncmVmZXJlbmNlZF9jb2x1bW5fYXR0bnVtJywgbXNnKTsKKyAgICAgICAg ICByZXR1cm4gbXNnOworICAgICAgICB9CisgICAgICB9LAorICAgIH0pOworCisgICAgcmV0dXJu IG5ldyBkaWFsb2dNb2RlbChhdHRyaWJ1dGVzKTsKKyAgfQorCisgIGNyZWF0ZU9yR2V0RGlhbG9n KHRpdGxlKSB7CisgICAgY29uc3QgZGlhbG9nTmFtZSA9IHRoaXMuZGlhbG9nTmFtZSgpOworCisg ICAgaWYgKCFBbGVydGlmeVtkaWFsb2dOYW1lXSkgeworICAgICAgQWxlcnRpZnkuZGlhbG9nKGRp YWxvZ05hbWUsICgpID0+IHsKKyAgICAgICAgcmV0dXJuIG5ldyBEaWFsb2dXcmFwcGVyKAorICAg ICAgICAgIGA8ZGl2IGNsYXNzPSIke2RpYWxvZ05hbWV9Ij48L2Rpdj5gLAorICAgICAgICAgIHRp dGxlLAorICAgICAgICAgIG51bGwsCisgICAgICAgICAgJCwKKyAgICAgICAgICB0aGlzLnBnQnJv d3NlciwKKyAgICAgICAgICBBbGVydGlmeSwKKyAgICAgICAgICBCYWNrZm9ybQorICAgICAgICAp OworICAgICAgfSk7CisgICAgfQorICAgIHJldHVybiBBbGVydGlmeVtkaWFsb2dOYW1lXTsKKyAg fQorCisgIHNob3codGl0bGUsIGF0dHJpYnV0ZXMsIHRhYmxlc0RhdGEsIHNWZXJzaW9uLCBjYWxs YmFjaykgeworICAgIGxldCBkaWFsb2dUaXRsZSA9IHRpdGxlIHx8IGdldHRleHQoJ1Vua25vd24n KTsKKyAgICBjb25zdCBkaWFsb2cgPSB0aGlzLmNyZWF0ZU9yR2V0RGlhbG9nKCdvbmV0b21hbnlf ZGlhbG9nJyk7CisgICAgZGlhbG9nKGRpYWxvZ1RpdGxlLCB0aGlzLmdldERhdGFNb2RlbChhdHRy aWJ1dGVzLCB0YWJsZXNEYXRhKSwgY2FsbGJhY2spLnJlc2l6ZVRvKHRoaXMucGdCcm93c2VyLnN0 ZFcuc20sIHRoaXMucGdCcm93c2VyLnN0ZEgubWQpOworICB9Cit9CmRpZmYgLS1naXQgYS93ZWIv cGdhZG1pbi90b29scy9lcmQvc3RhdGljL2pzL2VyZF90b29sL2RpYWxvZ3MvVGFibGVEaWFsb2cu anMgYi93ZWIvcGdhZG1pbi90b29scy9lcmQvc3RhdGljL2pzL2VyZF90b29sL2RpYWxvZ3MvVGFi bGVEaWFsb2cuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwLi4xYjZiYjk5 YjcKLS0tIC9kZXYvbnVsbAorKysgYi93ZWIvcGdhZG1pbi90b29scy9lcmQvc3RhdGljL2pzL2Vy ZF90b29sL2RpYWxvZ3MvVGFibGVEaWFsb2cuanMKQEAgLTAsMCArMSw3MzkgQEAKKy8vLy8vLy8v Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KKy8v CisvLyBwZ0FkbWluIDQgLSBQb3N0Z3JlU1FMIFRvb2xzCisvLworLy8gQ29weXJpZ2h0IChDKSAy MDEzIC0gMjAyMCwgVGhlIHBnQWRtaW4gRGV2ZWxvcG1lbnQgVGVhbQorLy8gVGhpcyBzb2Z0d2Fy ZSBpcyByZWxlYXNlZCB1bmRlciB0aGUgUG9zdGdyZVNRTCBMaWNlbmNlCisvLworLy8vLy8vLy8v Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KKwor aW1wb3J0IGdldHRleHQgZnJvbSAnc291cmNlcy9nZXR0ZXh0JzsKK2ltcG9ydCBCYWNrZ3JpZCBm cm9tICdzb3VyY2VzL2JhY2tncmlkLnBnYWRtaW4nOworaW1wb3J0IEJhY2tmb3JtIGZyb20gJ3Nv dXJjZXMvYmFja2Zvcm0ucGdhZG1pbic7CitpbXBvcnQgQWxlcnRpZnkgZnJvbSAncGdhZG1pbi5h bGVydGlmeWpzJzsKK2ltcG9ydCAkIGZyb20gJ2pxdWVyeSc7CitpbXBvcnQgXyBmcm9tICdsb2Rh c2gnOworCitpbXBvcnQgRGlhbG9nV3JhcHBlciBmcm9tICcuL0RpYWxvZ1dyYXBwZXInOworCitl eHBvcnQgZnVuY3Rpb24gdHJhbnNmb3JtVG9TdXBwb3J0ZWQoZGF0YSkgeworICAvKiBUYWJsZSBm aWVsZHMgKi8KKyAgZGF0YSA9IF8ucGljayhkYXRhLCBbJ29pZCcsICduYW1lJywgJ3NjaGVtYScs ICdkZXNjcmlwdGlvbicsICdjb2x1bW5zJywgJ3ByaW1hcnlfa2V5JywgJ2ZvcmVpZ25fa2V5J10p OworCisgIC8qIENvbHVtbnMgKi8KKyAgZGF0YVsnY29sdW1ucyddID0gZGF0YVsnY29sdW1ucydd Lm1hcCgoY29sdW1uKT0+eworICAgIHJldHVybiBfLnBpY2soY29sdW1uLFsKKyAgICAgICduYW1l JywnZGVzY3JpcHRpb24nLCdhdHRvd25lcicsJ2F0dG51bScsJ2NsdHlwZScsJ21pbl92YWxfYXR0 bGVuJywnbWluX3ZhbF9hdHRwcmVjaXNpb24nLCdtYXhfdmFsX2F0dGxlbicsCisgICAgICAnbWF4 X3ZhbF9hdHRwcmVjaXNpb24nLCAnaXNfcHJpbWFyeV9rZXknLCdhdHRub3RudWxsJywnYXR0bGVu JywnYXR0cHJlY2lzaW9uJywnYXR0aWRlbnRpdHknLCdjb2xjb25zdHlwZScsCisgICAgICAnc2Vx aW5jcmVtZW50Jywnc2Vxc3RhcnQnLCdzZXFtaW4nLCdzZXFtYXgnLCdzZXFjYWNoZScsJ3NlcWN5 Y2xlJywKKyAgICBdKTsKKyAgfSk7CisKKyAgLyogUHJpbWFyeSBrZXkgKi8KKyAgZGF0YVsncHJp bWFyeV9rZXknXSA9IGRhdGFbJ3ByaW1hcnlfa2V5J10ubWFwKChwcmltYXJ5X2tleSk9PnsKKyAg ICBwcmltYXJ5X2tleSA9IF8ucGljayhwcmltYXJ5X2tleSwgWydjb2x1bW5zJ10pOworICAgIHBy aW1hcnlfa2V5Wydjb2x1bW5zJ10gPSBwcmltYXJ5X2tleVsnY29sdW1ucyddLm1hcCgoY29sdW1u KT0+eworICAgICAgcmV0dXJuIF8ucGljayhjb2x1bW4sIFsnY29sdW1uJ10pOworICAgIH0pOwor ICAgIHJldHVybiBwcmltYXJ5X2tleTsKKyAgfSk7CisKKyAgcmV0dXJuIGRhdGE7Cit9CisKK2V4 cG9ydCBkZWZhdWx0IGNsYXNzIFRhYmxlRGlhbG9nIHsKKyAgY29uc3RydWN0b3IocGdCcm93c2Vy KSB7CisgICAgdGhpcy5wZ0Jyb3dzZXIgPSBwZ0Jyb3dzZXI7CisgIH0KKworICBkaWFsb2dOYW1l KCkgeworICAgIHJldHVybiAnZW50aXR5X2RpYWxvZyc7CisgIH0KKworICBnZXREYXRhTW9kZWwo YXR0cmlidXRlcywgY29sVHlwZXMsIHNjaGVtYXMsIHNWZXJzaW9uKSB7CisgICAgbGV0IGRpYWxv Z09iaiA9IHRoaXM7CisgICAgbGV0IGNvbHVtbnNNb2RlbCA9IHRoaXMucGdCcm93c2VyLkRhdGFN b2RlbC5leHRlbmQoeworICAgICAgaWRBdHRyaWJ1dGU6ICdhdHRudW0nLAorICAgICAgZGVmYXVs dHM6IHsKKyAgICAgICAgbmFtZTogdW5kZWZpbmVkLAorICAgICAgICBkZXNjcmlwdGlvbjogdW5k ZWZpbmVkLAorICAgICAgICBhdHRvd25lcjogdW5kZWZpbmVkLAorICAgICAgICBhdHRudW06IHVu ZGVmaW5lZCwKKyAgICAgICAgY2x0eXBlOiB1bmRlZmluZWQsCisgICAgICAgIG1pbl92YWxfYXR0 bGVuOiB1bmRlZmluZWQsCisgICAgICAgIG1pbl92YWxfYXR0cHJlY2lzaW9uOiB1bmRlZmluZWQs CisgICAgICAgIG1heF92YWxfYXR0bGVuOiB1bmRlZmluZWQsCisgICAgICAgIG1heF92YWxfYXR0 cHJlY2lzaW9uOiB1bmRlZmluZWQsCisgICAgICAgIGlzX3ByaW1hcnlfa2V5OiBmYWxzZSwKKyAg ICAgICAgYXR0bm90bnVsbDogZmFsc2UsCisgICAgICAgIGF0dGxlbjogbnVsbCwKKyAgICAgICAg YXR0cHJlY2lzaW9uOiBudWxsLAorICAgICAgICBhdHRpZGVudGl0eTogJ2EnLAorICAgICAgICBj b2xjb25zdHlwZTogJ24nLAorICAgICAgICBzZXFpbmNyZW1lbnQ6IHVuZGVmaW5lZCwKKyAgICAg ICAgc2Vxc3RhcnQ6IHVuZGVmaW5lZCwKKyAgICAgICAgc2VxbWluOiB1bmRlZmluZWQsCisgICAg ICAgIHNlcW1heDogdW5kZWZpbmVkLAorICAgICAgICBzZXFjYWNoZTogdW5kZWZpbmVkLAorICAg ICAgICBzZXFjeWNsZTogdW5kZWZpbmVkLAorICAgICAgfSwKKyAgICAgIGluaXRpYWxpemU6IGZ1 bmN0aW9uKGF0dHJzKSB7CisgICAgICAgIGlmIChfLnNpemUoYXR0cnMpICE9PSAwKSB7CisgICAg ICAgICAgdGhpcy5zZXQoeworICAgICAgICAgICAgJ29sZF9hdHRpZGVudGl0eSc6IHRoaXMuZ2V0 KCdhdHRpZGVudGl0eScpLAorICAgICAgICAgIH0sIHtzaWxlbnQ6IHRydWV9KTsKKyAgICAgICAg fQorICAgICAgICBkaWFsb2dPYmoucGdCcm93c2VyLkRhdGFNb2RlbC5wcm90b3R5cGUuaW5pdGlh bGl6ZS5hcHBseSh0aGlzLCBhcmd1bWVudHMpOworCisgICAgICAgIGlmKCF0aGlzLmdldCgnY2x0 eXBlJykgJiYgY29sVHlwZXMubGVuZ3RoID4gMCkgeworICAgICAgICAgIHRoaXMuc2V0KHsKKyAg ICAgICAgICAgICdjbHR5cGUnOiBjb2xUeXBlc1swXVsndmFsdWUnXSwKKyAgICAgICAgICB9LCB7 c2lsZW50OiB0cnVlfSk7CisgICAgICAgIH0KKyAgICAgIH0sCisgICAgICBzY2hlbWE6IFt7Cisg ICAgICAgIGlkOiAnbmFtZScsIGxhYmVsOiBnZXR0ZXh0KCdOYW1lJyksIGNlbGw6ICdzdHJpbmcn LAorICAgICAgICB0eXBlOiAndGV4dCcsIGRpc2FibGVkOiBmYWxzZSwKKyAgICAgICAgY2VsbEhl YWRlckNsYXNzZXM6ICd3aWR0aF9wZXJjZW50XzMwJywKKyAgICAgICAgZWRpdGFibGU6IHRydWUs CisgICAgICB9LCB7CisgICAgICAgIC8vIE5lZWQgdG8gc2hvdyB0aGlzIGZpZWxkIG9ubHkgd2hl biBjcmVhdGluZyBuZXcgdGFibGUKKyAgICAgICAgLy8gW2luIFN1Yk5vZGUgY29udHJvbF0KKyAg ICAgICAgaWQ6ICdpc19wcmltYXJ5X2tleScsIGxhYmVsOiBnZXR0ZXh0KCdQcmltYXJ5IGtleT8n KSwKKyAgICAgICAgY2VsbDogQmFja2dyaWQuRXh0ZW5zaW9uLlRhYmxlQ2hpbGRTd2l0Y2hDZWxs LCB0eXBlOiAnc3dpdGNoJywKKyAgICAgICAgZGVwczogWyduYW1lJ10sIGNlbGxIZWFkZXJDbGFz c2VzOiAnd2lkdGhfcGVyY2VudF81JywKKyAgICAgICAgb3B0aW9uczogeworICAgICAgICAgIG9u VGV4dDogZ2V0dGV4dCgnWWVzJyksIG9mZlRleHQ6IGdldHRleHQoJ05vJyksCisgICAgICAgICAg b25Db2xvcjogJ3N1Y2Nlc3MnLCBvZmZDb2xvcjogJ3Rlcm5hcnknLAorICAgICAgICB9LAorICAg ICAgICB2aXNpYmxlOiBmdW5jdGlvbiAoKSB7CisgICAgICAgICAgcmV0dXJuIHRydWU7CisgICAg ICAgIH0sCisgICAgICAgIGRpc2FibGVkOiBmYWxzZSwKKyAgICAgICAgZWRpdGFibGU6IHRydWUs CisgICAgICB9LCB7CisgICAgICAgIGlkOiAnZGVzY3JpcHRpb24nLCBsYWJlbDogZ2V0dGV4dCgn Q29tbWVudCcpLCBjZWxsOiAnc3RyaW5nJywgdHlwZTogJ211bHRpbGluZScsCisgICAgICB9LCB7 CisgICAgICAgIGlkOiAnY2x0eXBlJywgbGFiZWw6IGdldHRleHQoJ0RhdGEgdHlwZScpLAorICAg ICAgICBjZWxsOiAnc2VsZWN0MicsCisgICAgICAgIHR5cGU6ICdzZWxlY3QyJywgZGlzYWJsZWQ6 IGZhbHNlLAorICAgICAgICBjb250cm9sOiAnc2VsZWN0MicsCisgICAgICAgIGNlbGxIZWFkZXJD bGFzc2VzOiAnd2lkdGhfcGVyY2VudF8zMCcsCisgICAgICAgIHNlbGVjdDI6IHsgYWxsb3dDbGVh cjogZmFsc2UsIGZpcnN0X2VtcHR5OiBmYWxzZSB9LCBncm91cDogZ2V0dGV4dCgnRGVmaW5pdGlv bicpLAorICAgICAgICBvcHRpb25zOiBmdW5jdGlvbiAoKSB7CisgICAgICAgICAgcmV0dXJuIGNv bFR5cGVzOworICAgICAgICB9LAorICAgICAgfSwgeworICAgICAgICBpZDogJ2F0dGxlbicsIGxh YmVsOiBnZXR0ZXh0KCdMZW5ndGgvUHJlY2lzaW9uJyksIGNlbGw6IEJhY2tncmlkLkV4dGVuc2lv bi5JbnRlZ2VyRGVwQ2VsbCwKKyAgICAgICAgZGVwczogWydjbHR5cGUnXSwgdHlwZTogJ2ludCcs IGdyb3VwOiBnZXR0ZXh0KCdEZWZpbml0aW9uJyksIGNlbGxIZWFkZXJDbGFzc2VzOiAnd2lkdGhf cGVyY2VudF8yMCcsCisgICAgICAgIGRpc2FibGVkOiBmdW5jdGlvbiAobSkgeworICAgICAgICAg IHZhciBvZl90eXBlID0gbS5nZXQoJ2NsdHlwZScpLAorICAgICAgICAgICAgZmxhZyA9IHRydWU7 CisgICAgICAgICAgXy5lYWNoKGNvbFR5cGVzLCBmdW5jdGlvbiAobykgeworICAgICAgICAgICAg aWYgKG9mX3R5cGUgPT0gby52YWx1ZSkgeworICAgICAgICAgICAgICBpZiAoby5sZW5ndGgpIHsK KyAgICAgICAgICAgICAgICBtLnNldCgnbWluX3ZhbF9hdHRsZW4nLCBvLm1pbl92YWwsIHsgc2ls ZW50OiB0cnVlIH0pOworICAgICAgICAgICAgICAgIG0uc2V0KCdtYXhfdmFsX2F0dGxlbicsIG8u bWF4X3ZhbCwgeyBzaWxlbnQ6IHRydWUgfSk7CisgICAgICAgICAgICAgICAgZmxhZyA9IGZhbHNl OworICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9CisgICAgICAgICAgfSk7CisKKyAgICAg ICAgICBmbGFnICYmIHNldFRpbWVvdXQoZnVuY3Rpb24gKCkgeworICAgICAgICAgICAgaWYgKG0u Z2V0KCdhdHRsZW4nKSkgeworICAgICAgICAgICAgICBtLnNldCgnYXR0bGVuJywgbnVsbCk7Cisg ICAgICAgICAgICB9CisgICAgICAgICAgfSwgMTApOworCisgICAgICAgICAgcmV0dXJuIGZsYWc7 CisgICAgICAgIH0sCisgICAgICAgIGVkaXRhYmxlOiBmdW5jdGlvbiAobSkgeworICAgICAgICAg IHZhciBvZl90eXBlID0gbS5nZXQoJ2NsdHlwZScpLAorICAgICAgICAgICAgZmxhZyA9IGZhbHNl OworICAgICAgICAgIF8uZWFjaChjb2xUeXBlcywgZnVuY3Rpb24gKG8pIHsKKyAgICAgICAgICAg IGlmIChvZl90eXBlID09IG8udmFsdWUpIHsKKyAgICAgICAgICAgICAgaWYgKG8ubGVuZ3RoKSB7 CisgICAgICAgICAgICAgICAgbS5zZXQoJ21pbl92YWxfYXR0bGVuJywgby5taW5fdmFsLCB7IHNp bGVudDogdHJ1ZSB9KTsKKyAgICAgICAgICAgICAgICBtLnNldCgnbWF4X3ZhbF9hdHRsZW4nLCBv Lm1heF92YWwsIHsgc2lsZW50OiB0cnVlIH0pOworICAgICAgICAgICAgICAgIGZsYWcgPSB0cnVl OworICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9CisgICAgICAgICAgfSk7CisKKyAgICAg ICAgICAhZmxhZyAmJiBzZXRUaW1lb3V0KGZ1bmN0aW9uICgpIHsKKyAgICAgICAgICAgIGlmICht LmdldCgnYXR0bGVuJykpIHsKKyAgICAgICAgICAgICAgbS5zZXQoJ2F0dGxlbicsIG51bGwpOwor ICAgICAgICAgICAgfQorICAgICAgICAgIH0sIDEwKTsKKworICAgICAgICAgIHJldHVybiBmbGFn OworICAgICAgICB9LAorICAgICAgfSwgeworICAgICAgICBpZDogJ2F0dHByZWNpc2lvbicsIGxh YmVsOiBnZXR0ZXh0KCdTY2FsZScpLCBjZWxsOiBCYWNrZ3JpZC5FeHRlbnNpb24uSW50ZWdlckRl cENlbGwsCisgICAgICAgIGRlcHM6IFsnY2x0eXBlJ10sIHR5cGU6ICdpbnQnLCBncm91cDogZ2V0 dGV4dCgnRGVmaW5pdGlvbicpLCBjZWxsSGVhZGVyQ2xhc3NlczogJ3dpZHRoX3BlcmNlbnRfMjAn LAorICAgICAgICBkaXNhYmxlZDogZnVuY3Rpb24gKG0pIHsKKyAgICAgICAgICB2YXIgb2ZfdHlw ZSA9IG0uZ2V0KCdjbHR5cGUnKSwKKyAgICAgICAgICAgIGZsYWcgPSB0cnVlOworICAgICAgICAg IF8uZWFjaChjb2xUeXBlcywgZnVuY3Rpb24gKG8pIHsKKyAgICAgICAgICAgIGlmIChvZl90eXBl ID09IG8udmFsdWUpIHsKKyAgICAgICAgICAgICAgaWYgKG8ucHJlY2lzaW9uKSB7CisgICAgICAg ICAgICAgICAgbS5zZXQoJ21pbl92YWxfYXR0cHJlY2lzaW9uJywgMCwgeyBzaWxlbnQ6IHRydWUg fSk7CisgICAgICAgICAgICAgICAgbS5zZXQoJ21heF92YWxfYXR0cHJlY2lzaW9uJywgby5tYXhf dmFsLCB7IHNpbGVudDogdHJ1ZSB9KTsKKyAgICAgICAgICAgICAgICBmbGFnID0gZmFsc2U7Cisg ICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0KKyAgICAgICAgICB9KTsKKworICAgICAgICAg IGZsYWcgJiYgc2V0VGltZW91dChmdW5jdGlvbiAoKSB7CisgICAgICAgICAgICBpZiAobS5nZXQo J2F0dHByZWNpc2lvbicpKSB7CisgICAgICAgICAgICAgIG0uc2V0KCdhdHRwcmVjaXNpb24nLCBu dWxsKTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICB9LCAxMCk7CisgICAgICAgICAgcmV0dXJu IGZsYWc7CisgICAgICAgIH0sCisgICAgICAgIGVkaXRhYmxlOiBmdW5jdGlvbiAobSkgeworICAg ICAgICAgIGlmICghY29sVHlwZXMpIHsKKyAgICAgICAgICAgIC8vIGRhdGF0eXBlcyBub3QgbG9h ZGVkIHlldCwgbWF5IGJlIHRoaXMgY2FsbCBpcyBmcm9tIENhbGxCeU5lZWQgZnJvbSBiYWNrZ3Jp ZCBjZWxsIGluaXRpYWxpemUuCisgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICAgICAgICB9 CisKKyAgICAgICAgICB2YXIgb2ZfdHlwZSA9IG0uZ2V0KCdjbHR5cGUnKSwKKyAgICAgICAgICAg IGZsYWcgPSBmYWxzZTsKKyAgICAgICAgICBfLmVhY2goY29sVHlwZXMsIGZ1bmN0aW9uIChvKSB7 CisgICAgICAgICAgICBpZiAob2ZfdHlwZSA9PSBvLnZhbHVlKSB7CisgICAgICAgICAgICAgIGlm IChvLnByZWNpc2lvbikgeworICAgICAgICAgICAgICAgIG0uc2V0KCdtaW5fdmFsX2F0dHByZWNp c2lvbicsIDAsIHsgc2lsZW50OiB0cnVlIH0pOworICAgICAgICAgICAgICAgIG0uc2V0KCdtYXhf dmFsX2F0dHByZWNpc2lvbicsIG8ubWF4X3ZhbCwgeyBzaWxlbnQ6IHRydWUgfSk7CisgICAgICAg ICAgICAgICAgZmxhZyA9IHRydWU7CisgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0KKyAg ICAgICAgICB9KTsKKworICAgICAgICAgICFmbGFnICYmIHNldFRpbWVvdXQoZnVuY3Rpb24gKCkg eworICAgICAgICAgICAgaWYgKG0uZ2V0KCdhdHRwcmVjaXNpb24nKSkgeworICAgICAgICAgICAg ICBtLnNldCgnYXR0cHJlY2lzaW9uJywgbnVsbCk7CisgICAgICAgICAgICB9CisgICAgICAgICAg fSwgMTApOworCisgICAgICAgICAgcmV0dXJuIGZsYWc7CisgICAgICAgIH0sCisgICAgICB9LCB7 CisgICAgICAgIGlkOiAnYXR0bm90bnVsbCcsIGxhYmVsOiBnZXR0ZXh0KCdOb3QgTlVMTD8nKSwg Y2VsbDogJ3N3aXRjaCcsCisgICAgICAgIHR5cGU6ICdzd2l0Y2gnLCBjZWxsSGVhZGVyQ2xhc3Nl czogJ3dpZHRoX3BlcmNlbnRfMjAnLAorICAgICAgICBncm91cDogZ2V0dGV4dCgnQ29uc3RyYWlu dHMnKSwKKyAgICAgICAgb3B0aW9uczogeyBvblRleHQ6IGdldHRleHQoJ1llcycpLCBvZmZUZXh0 OiBnZXR0ZXh0KCdObycpLCBvbkNvbG9yOiAnc3VjY2VzcycsIG9mZkNvbG9yOiAndGVybmFyeScg fSwKKyAgICAgICAgZGlzYWJsZWQ6IGZ1bmN0aW9uKG0pIHsKKyAgICAgICAgICBpZiAobS5nZXQo J2NvbGNvbnN0eXBlJykgPT0gJ2knKSB7CisgICAgICAgICAgICBzZXRUaW1lb3V0KGZ1bmN0aW9u ICgpIHsKKyAgICAgICAgICAgICAgbS5zZXQoJ2F0dG5vdG51bGwnLCB0cnVlKTsKKyAgICAgICAg ICAgIH0sIDEwKTsKKyAgICAgICAgICB9CisgICAgICAgICAgcmV0dXJuIGZhbHNlOworICAgICAg ICB9LAorICAgICAgfSwgeworICAgICAgICBpZDogJ2NvbGNvbnN0eXBlJywKKyAgICAgICAgbGFi ZWw6IGdldHRleHQoJ1R5cGUnKSwKKyAgICAgICAgY2VsbDogJ3N0cmluZycsCisgICAgICAgIHR5 cGU6ICdyYWRpb01vZGVybicsCisgICAgICAgIGNvbnRyb2xzQ2xhc3NOYW1lOiAncGdhZG1pbi1j b250cm9scyBjb2wtMTIgY29sLXNtLTknLAorICAgICAgICBjb250cm9sTGFiZWxDbGFzc05hbWU6 ICdjb250cm9sLWxhYmVsIGNvbC1zbS0zIGNvbC0xMicsCisgICAgICAgIGdyb3VwOiBnZXR0ZXh0 KCdDb25zdHJhaW50cycpLAorICAgICAgICBvcHRpb25zOiBmdW5jdGlvbigpIHsKKyAgICAgICAg ICB2YXIgb3B0X2FycmF5ID0gWworICAgICAgICAgICAgeydsYWJlbCc6IGdldHRleHQoJ05PTkUn KSwgJ3ZhbHVlJzogJ24nfSwKKyAgICAgICAgICAgIHsnbGFiZWwnOiBnZXR0ZXh0KCdJREVOVElU WScpLCAndmFsdWUnOiAnaSd9LAorICAgICAgICAgIF07CisKKyAgICAgICAgICBpZiAoc1ZlcnNp b24gPj0gMTIwMDAwKSB7CisgICAgICAgICAgICBvcHRfYXJyYXkucHVzaCh7CisgICAgICAgICAg ICAgICdsYWJlbCc6IGdldHRleHQoJ0dFTkVSQVRFRCcpLAorICAgICAgICAgICAgICAndmFsdWUn OiAnZycsCisgICAgICAgICAgICB9KTsKKyAgICAgICAgICB9CisKKyAgICAgICAgICByZXR1cm4g b3B0X2FycmF5OworICAgICAgICB9LAorICAgICAgICBkaXNhYmxlZDogZmFsc2UsCisgICAgICAg IHZpc2libGU6IGZ1bmN0aW9uKCkgeworICAgICAgICAgIGlmIChzVmVyc2lvbiA+PSAxMDAwMDAp IHsKKyAgICAgICAgICAgIHJldHVybiB0cnVlOworICAgICAgICAgIH0KKyAgICAgICAgICByZXR1 cm4gZmFsc2U7CisgICAgICAgIH0sCisgICAgICB9LCB7CisgICAgICAgIGlkOiAnYXR0aWRlbnRp dHknLCBsYWJlbDogZ2V0dGV4dCgnSWRlbnRpdHknKSwgY29udHJvbDogJ3NlbGVjdDInLAorICAg ICAgICBjZWxsOiAnc2VsZWN0MicsCisgICAgICAgIHNlbGVjdDI6IHtwbGFjZWhvbGRlcjogJ1Nl bGVjdCBpZGVudGl0eScsIGFsbG93Q2xlYXI6IGZhbHNlLCB3aWR0aDogJzEwMCUnfSwKKyAgICAg ICAgZ3JvdXA6IGdldHRleHQoJ0NvbnN0cmFpbnRzJyksCisgICAgICAgICdvcHRpb25zJzogWwor ICAgICAgICAgIHtsYWJlbDogZ2V0dGV4dCgnQUxXQVlTJyksIHZhbHVlOiAnYSd9LAorICAgICAg ICAgIHtsYWJlbDogZ2V0dGV4dCgnQlkgREVGQVVMVCcpLCB2YWx1ZTogJ2QnfSwKKyAgICAgICAg XSwKKyAgICAgICAgZGVwczogWydjb2xjb25zdHlwZSddLAorICAgICAgICB2aXNpYmxlOiBmdW5j dGlvbihtKSB7CisgICAgICAgICAgaWYgKHNWZXJzaW9uID49IDEwMDAwMCAmJiBtLmlzVHlwZUlk ZW50aXR5KG0pKSB7CisgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICAgICAgICB9CisgICAg ICAgICAgcmV0dXJuIGZhbHNlOworICAgICAgICB9LAorICAgICAgICBkaXNhYmxlZDogZnVuY3Rp b24oKSB7CisgICAgICAgICAgcmV0dXJuIGZhbHNlOworICAgICAgICB9LAorICAgICAgfSwgewor ICAgICAgICBpZDogJ3NlcWluY3JlbWVudCcsIGxhYmVsOiBnZXR0ZXh0KCdJbmNyZW1lbnQnKSwg dHlwZTogJ2ludCcsCisgICAgICAgIG1vZGU6IFsncHJvcGVydGllcycsICdjcmVhdGUnLCAnZWRp dCddLCBncm91cDogZ2V0dGV4dCgnQ29uc3RyYWludHMnKSwKKyAgICAgICAgbWluOiAxLCBkZXBz OiBbJ2F0dGlkZW50aXR5JywgJ2NvbGNvbnN0eXBlJ10sIGRpc2FibGVkOiAnaXNJZGVudGl0eUNv bHVtbicsCisgICAgICAgIHZpc2libGU6ICdpc1R5cGVJZGVudGl0eScsCisgICAgICB9LHsKKyAg ICAgICAgaWQ6ICdzZXFzdGFydCcsIGxhYmVsOiBnZXR0ZXh0KCdTdGFydCcpLCB0eXBlOiAnaW50 JywKKyAgICAgICAgbW9kZTogWydwcm9wZXJ0aWVzJywgJ2NyZWF0ZScsICdlZGl0J10sIGdyb3Vw OiBnZXR0ZXh0KCdDb25zdHJhaW50cycpLAorICAgICAgICBkaXNhYmxlZDogZnVuY3Rpb24obSkg eworICAgICAgICAgIGxldCBpc0lkZW50aXR5ID0gbS5nZXQoJ2F0dGlkZW50aXR5Jyk7CisgICAg ICAgICAgaWYoIV8uaXNVbmRlZmluZWQoaXNJZGVudGl0eSkgJiYgIV8uaXNOdWxsKGlzSWRlbnRp dHkpICYmICFfLmlzRW1wdHkoaXNJZGVudGl0eSkpCisgICAgICAgICAgICByZXR1cm4gZmFsc2U7 CisgICAgICAgICAgcmV0dXJuIHRydWU7CisgICAgICAgIH0sIGRlcHM6IFsnYXR0aWRlbnRpdHkn LCAnY29sY29uc3R5cGUnXSwKKyAgICAgICAgdmlzaWJsZTogJ2lzVHlwZUlkZW50aXR5JywKKyAg ICAgIH0seworICAgICAgICBpZDogJ3NlcW1pbicsIGxhYmVsOiBnZXR0ZXh0KCdNaW5pbXVtJyks IHR5cGU6ICdpbnQnLAorICAgICAgICBtb2RlOiBbJ3Byb3BlcnRpZXMnLCAnY3JlYXRlJywgJ2Vk aXQnXSwgZ3JvdXA6IGdldHRleHQoJ0NvbnN0cmFpbnRzJyksCisgICAgICAgIGRlcHM6IFsnYXR0 aWRlbnRpdHknLCAnY29sY29uc3R5cGUnXSwgZGlzYWJsZWQ6ICdpc0lkZW50aXR5Q29sdW1uJywK KyAgICAgICAgdmlzaWJsZTogJ2lzVHlwZUlkZW50aXR5JywKKyAgICAgIH0seworICAgICAgICBp ZDogJ3NlcW1heCcsIGxhYmVsOiBnZXR0ZXh0KCdNYXhpbXVtJyksIHR5cGU6ICdpbnQnLAorICAg ICAgICBtb2RlOiBbJ3Byb3BlcnRpZXMnLCAnY3JlYXRlJywgJ2VkaXQnXSwgZ3JvdXA6IGdldHRl eHQoJ0NvbnN0cmFpbnRzJyksCisgICAgICAgIGRlcHM6IFsnYXR0aWRlbnRpdHknLCAnY29sY29u c3R5cGUnXSwgZGlzYWJsZWQ6ICdpc0lkZW50aXR5Q29sdW1uJywKKyAgICAgICAgdmlzaWJsZTog J2lzVHlwZUlkZW50aXR5JywKKyAgICAgIH0seworICAgICAgICBpZDogJ3NlcWNhY2hlJywgbGFi ZWw6IGdldHRleHQoJ0NhY2hlJyksIHR5cGU6ICdpbnQnLAorICAgICAgICBtb2RlOiBbJ3Byb3Bl cnRpZXMnLCAnY3JlYXRlJywgJ2VkaXQnXSwgZ3JvdXA6IGdldHRleHQoJ0NvbnN0cmFpbnRzJyks CisgICAgICAgIG1pbjogMSwgZGVwczogWydhdHRpZGVudGl0eScsICdjb2xjb25zdHlwZSddLCBk aXNhYmxlZDogJ2lzSWRlbnRpdHlDb2x1bW4nLAorICAgICAgICB2aXNpYmxlOiAnaXNUeXBlSWRl bnRpdHknLAorICAgICAgfSx7CisgICAgICAgIGlkOiAnc2VxY3ljbGUnLCBsYWJlbDogZ2V0dGV4 dCgnQ3ljbGVkJyksIHR5cGU6ICdzd2l0Y2gnLAorICAgICAgICBtb2RlOiBbJ3Byb3BlcnRpZXMn LCAnY3JlYXRlJywgJ2VkaXQnXSwgZ3JvdXA6IGdldHRleHQoJ0NvbnN0cmFpbnRzJyksCisgICAg ICAgIGRlcHM6IFsnYXR0aWRlbnRpdHknLCAnY29sY29uc3R5cGUnXSwgZGlzYWJsZWQ6ICdpc0lk ZW50aXR5Q29sdW1uJywKKyAgICAgICAgdmlzaWJsZTogJ2lzVHlwZUlkZW50aXR5JywKKyAgICAg IH1dLAorICAgICAgdmFsaWRhdGU6IGZ1bmN0aW9uKGtleXMpIHsKKyAgICAgICAgdmFyIG1zZyA9 IHVuZGVmaW5lZDsKKworICAgICAgICAvLyBOb3RoaW5nIHRvIHZhbGlkYXRlCisgICAgICAgIGlm IChrZXlzICYmIGtleXMubGVuZ3RoID09IDApIHsKKyAgICAgICAgICB0aGlzLmVycm9yTW9kZWwu Y2xlYXIoKTsKKyAgICAgICAgICByZXR1cm4gbnVsbDsKKyAgICAgICAgfSBlbHNlIHsKKyAgICAg ICAgICB0aGlzLmVycm9yTW9kZWwuY2xlYXIoKTsKKyAgICAgICAgfQorCisgICAgICAgIGlmIChf LmlzVW5kZWZpbmVkKHRoaXMuZ2V0KCduYW1lJykpCisgICAgICAgICAgICB8fCBTdHJpbmcodGhp cy5nZXQoJ25hbWUnKSkucmVwbGFjZSgvXlxzK3xccyskL2csICcnKSA9PSAnJykgeworICAgICAg ICAgIG1zZyA9IGdldHRleHQoJ0NvbHVtbiBuYW1lIGNhbm5vdCBiZSBlbXB0eS4nKTsKKyAgICAg ICAgICB0aGlzLmVycm9yTW9kZWwuc2V0KCduYW1lJywgbXNnKTsKKyAgICAgICAgICByZXR1cm4g bXNnOworICAgICAgICB9CisKKyAgICAgICAgaWYgKF8uaXNVbmRlZmluZWQodGhpcy5nZXQoJ2Ns dHlwZScpKQorICAgICAgICAgICAgfHwgU3RyaW5nKHRoaXMuZ2V0KCdjbHR5cGUnKSkucmVwbGFj ZSgvXlxzK3xccyskL2csICcnKSA9PSAnJykgeworICAgICAgICAgIG1zZyA9IGdldHRleHQoJ0Nv bHVtbiB0eXBlIGNhbm5vdCBiZSBlbXB0eS4nKTsKKyAgICAgICAgICB0aGlzLmVycm9yTW9kZWwu c2V0KCdjbHR5cGUnLCBtc2cpOworICAgICAgICAgIHJldHVybiBtc2c7CisgICAgICAgIH0KKwor ICAgICAgICBpZiAoIV8uaXNVbmRlZmluZWQodGhpcy5nZXQoJ2NsdHlwZScpKQorICAgICAgICAg ICAgICAmJiAhXy5pc1VuZGVmaW5lZCh0aGlzLmdldCgnYXR0bGVuJykpCisgICAgICAgICAgICAg ICYmICFfLmlzTnVsbCh0aGlzLmdldCgnYXR0bGVuJykpCisgICAgICAgICAgICAgICYmIHRoaXMu Z2V0KCdhdHRsZW4nKSAhPT0gJycpIHsKKyAgICAgICAgICAvLyBWYWxpZGF0aW9uIGZvciBMZW5n dGggZmllbGQKKyAgICAgICAgICBpZiAodGhpcy5nZXQoJ2F0dGxlbicpIDwgdGhpcy5nZXQoJ21p bl92YWxfYXR0bGVuJykpCisgICAgICAgICAgICBtc2cgPSBnZXR0ZXh0KCdMZW5ndGgvUHJlY2lz aW9uIHNob3VsZCBub3QgYmUgbGVzcyB0aGFuOiAnKSArIHRoaXMuZ2V0KCdtaW5fdmFsX2F0dGxl bicpOworICAgICAgICAgIGlmICh0aGlzLmdldCgnYXR0bGVuJykgPiB0aGlzLmdldCgnbWF4X3Zh bF9hdHRsZW4nKSkKKyAgICAgICAgICAgIG1zZyA9IGdldHRleHQoJ0xlbmd0aC9QcmVjaXNpb24g c2hvdWxkIG5vdCBiZSBncmVhdGVyIHRoYW46ICcpICsgdGhpcy5nZXQoJ21heF92YWxfYXR0bGVu Jyk7CisgICAgICAgICAgLy8gSWYgd2UgaGF2ZSBhbnkgZXJyb3Igc2V0IHRoZW4gdGhyb3cgaXQg dG8gdXNlcgorICAgICAgICAgIGlmKG1zZykgeworICAgICAgICAgICAgdGhpcy5lcnJvck1vZGVs LnNldCgnYXR0bGVuJywgbXNnKTsKKyAgICAgICAgICAgIHJldHVybiBtc2c7CisgICAgICAgICAg fQorICAgICAgICB9CisKKyAgICAgICAgaWYgKCFfLmlzVW5kZWZpbmVkKHRoaXMuZ2V0KCdjbHR5 cGUnKSkKKyAgICAgICAgICAgICAgJiYgIV8uaXNVbmRlZmluZWQodGhpcy5nZXQoJ2F0dHByZWNp c2lvbicpKQorICAgICAgICAgICAgICAmJiAhXy5pc051bGwodGhpcy5nZXQoJ2F0dHByZWNpc2lv bicpKQorICAgICAgICAgICAgICAmJiB0aGlzLmdldCgnYXR0cHJlY2lzaW9uJykgIT09ICcnKSB7 CisgICAgICAgICAgLy8gVmFsaWRhdGlvbiBmb3IgcHJlY2lzaW9uIGZpZWxkCisgICAgICAgICAg aWYgKHRoaXMuZ2V0KCdhdHRwcmVjaXNpb24nKSA8IHRoaXMuZ2V0KCdtaW5fdmFsX2F0dHByZWNp c2lvbicpKQorICAgICAgICAgICAgbXNnID0gZ2V0dGV4dCgnU2NhbGUgc2hvdWxkIG5vdCBiZSBs ZXNzIHRoYW46ICcpICsgdGhpcy5nZXQoJ21pbl92YWxfYXR0cHJlY2lzaW9uJyk7CisgICAgICAg ICAgaWYgKHRoaXMuZ2V0KCdhdHRwcmVjaXNpb24nKSA+IHRoaXMuZ2V0KCdtYXhfdmFsX2F0dHBy ZWNpc2lvbicpKQorICAgICAgICAgICAgbXNnID0gZ2V0dGV4dCgnU2NhbGUgc2hvdWxkIG5vdCBi ZSBncmVhdGVyIHRoYW46ICcpICsgdGhpcy5nZXQoJ21heF92YWxfYXR0cHJlY2lzaW9uJyk7Cisg ICAgICAgICAgLy8gSWYgd2UgaGF2ZSBhbnkgZXJyb3Igc2V0IHRoZW4gdGhyb3cgaXQgdG8gdXNl cgorICAgICAgICAgIGlmKG1zZykgeworICAgICAgICAgICAgdGhpcy5lcnJvck1vZGVsLnNldCgn YXR0cHJlY2lzaW9uJywgbXNnKTsKKyAgICAgICAgICAgIHJldHVybiBtc2c7CisgICAgICAgICAg fQorICAgICAgICB9CisKKyAgICAgICAgdmFyIG1pbmltdW0gPSB0aGlzLmdldCgnc2VxbWluJyks CisgICAgICAgICAgbWF4aW11bSA9IHRoaXMuZ2V0KCdzZXFtYXgnKSwKKyAgICAgICAgICBzdGFy dCA9IHRoaXMuZ2V0KCdzZXFzdGFydCcpOworCisgICAgICAgIGlmICghdGhpcy5pc05ldygpICYm IHRoaXMuZ2V0KCdjb2xjb25zdHlwZScpID09ICdpJyAmJgorICAgICAgICAgICh0aGlzLmdldCgn b2xkX2F0dGlkZW50aXR5JykgPT0gJ2EnIHx8IHRoaXMuZ2V0KCdvbGRfYXR0aWRlbnRpdHknKSA9 PSAnZCcpICYmCisgICAgICAgICAgKHRoaXMuZ2V0KCdhdHRpZGVudGl0eScpID09ICdhJyB8fCB0 aGlzLmdldCgnYXR0aWRlbnRpdHknKSA9PSAnZCcpKSB7CisgICAgICAgICAgaWYgKF8uaXNVbmRl ZmluZWQodGhpcy5nZXQoJ3NlcWluY3JlbWVudCcpKQorICAgICAgICAgICAgfHwgU3RyaW5nKHRo aXMuZ2V0KCdzZXFpbmNyZW1lbnQnKSkucmVwbGFjZSgvXlxzK3xccyskL2csICcnKSA9PSAnJykg eworICAgICAgICAgICAgbXNnID0gZ2V0dGV4dCgnSW5jcmVtZW50IHZhbHVlIGNhbm5vdCBiZSBl bXB0eS4nKTsKKyAgICAgICAgICAgIHRoaXMuZXJyb3JNb2RlbC5zZXQoJ3NlcWluY3JlbWVudCcs IG1zZyk7CisgICAgICAgICAgICByZXR1cm4gbXNnOworICAgICAgICAgIH0gZWxzZSB7CisgICAg ICAgICAgICB0aGlzLmVycm9yTW9kZWwudW5zZXQoJ3NlcWluY3JlbWVudCcpOworICAgICAgICAg IH0KKworICAgICAgICAgIGlmIChfLmlzVW5kZWZpbmVkKHRoaXMuZ2V0KCdzZXFtaW4nKSkKKyAg ICAgICAgICAgIHx8IFN0cmluZyh0aGlzLmdldCgnc2VxbWluJykpLnJlcGxhY2UoL15ccyt8XHMr JC9nLCAnJykgPT0gJycpIHsKKyAgICAgICAgICAgIG1zZyA9IGdldHRleHQoJ01pbmltdW0gdmFs dWUgY2Fubm90IGJlIGVtcHR5LicpOworICAgICAgICAgICAgdGhpcy5lcnJvck1vZGVsLnNldCgn c2VxbWluJywgbXNnKTsKKyAgICAgICAgICAgIHJldHVybiBtc2c7CisgICAgICAgICAgfSBlbHNl IHsKKyAgICAgICAgICAgIHRoaXMuZXJyb3JNb2RlbC51bnNldCgnc2VxbWluJyk7CisgICAgICAg ICAgfQorCisgICAgICAgICAgaWYgKF8uaXNVbmRlZmluZWQodGhpcy5nZXQoJ3NlcW1heCcpKQor ICAgICAgICAgICAgfHwgU3RyaW5nKHRoaXMuZ2V0KCdzZXFtYXgnKSkucmVwbGFjZSgvXlxzK3xc cyskL2csICcnKSA9PSAnJykgeworICAgICAgICAgICAgbXNnID0gZ2V0dGV4dCgnTWF4aW11bSB2 YWx1ZSBjYW5ub3QgYmUgZW1wdHkuJyk7CisgICAgICAgICAgICB0aGlzLmVycm9yTW9kZWwuc2V0 KCdzZXFtYXgnLCBtc2cpOworICAgICAgICAgICAgcmV0dXJuIG1zZzsKKyAgICAgICAgICB9IGVs c2UgeworICAgICAgICAgICAgdGhpcy5lcnJvck1vZGVsLnVuc2V0KCdzZXFtYXgnKTsKKyAgICAg ICAgICB9CisKKyAgICAgICAgICBpZiAoXy5pc1VuZGVmaW5lZCh0aGlzLmdldCgnc2VxY2FjaGUn KSkKKyAgICAgICAgICAgIHx8IFN0cmluZyh0aGlzLmdldCgnc2VxY2FjaGUnKSkucmVwbGFjZSgv XlxzK3xccyskL2csICcnKSA9PSAnJykgeworICAgICAgICAgICAgbXNnID0gZ2V0dGV4dCgnQ2Fj aGUgdmFsdWUgY2Fubm90IGJlIGVtcHR5LicpOworICAgICAgICAgICAgdGhpcy5lcnJvck1vZGVs LnNldCgnc2VxY2FjaGUnLCBtc2cpOworICAgICAgICAgICAgcmV0dXJuIG1zZzsKKyAgICAgICAg ICB9IGVsc2UgeworICAgICAgICAgICAgdGhpcy5lcnJvck1vZGVsLnVuc2V0KCdzZXFjYWNoZScp OworICAgICAgICAgIH0KKyAgICAgICAgfQorICAgICAgICB2YXIgbWluX2x0ID0gZ2V0dGV4dCgn TWluaW11bSB2YWx1ZSBtdXN0IGJlIGxlc3MgdGhhbiBtYXhpbXVtIHZhbHVlLicpLAorICAgICAg ICAgIHN0YXJ0X2x0ID0gZ2V0dGV4dCgnU3RhcnQgdmFsdWUgY2Fubm90IGJlIGxlc3MgdGhhbiBt aW5pbXVtIHZhbHVlLicpLAorICAgICAgICAgIHN0YXJ0X2d0ID0gZ2V0dGV4dCgnU3RhcnQgdmFs dWUgY2Fubm90IGJlIGdyZWF0ZXIgdGhhbiBtYXhpbXVtIHZhbHVlLicpOworCisgICAgICAgIGlm IChfLmlzRW1wdHkobWluaW11bSkgfHwgXy5pc0VtcHR5KG1heGltdW0pKQorICAgICAgICAgIHJl dHVybiBudWxsOworCisgICAgICAgIGlmICgobWluaW11bSA9PSAwICYmIG1heGltdW0gPT0gMCkg fHwKKyAgICAgICAgICAgIChwYXJzZUludChtaW5pbXVtLCAxMCkgPj0gcGFyc2VJbnQobWF4aW11 bSwgMTApKSkgeworICAgICAgICAgIHRoaXMuZXJyb3JNb2RlbC5zZXQoJ3NlcW1pbicsIG1pbl9s dCk7CisgICAgICAgICAgcmV0dXJuIG1pbl9sdDsKKyAgICAgICAgfSBlbHNlIHsKKyAgICAgICAg ICB0aGlzLmVycm9yTW9kZWwudW5zZXQoJ3NlcW1pbicpOworICAgICAgICB9CisKKyAgICAgICAg aWYgKHN0YXJ0ICYmIG1pbmltdW0gJiYgcGFyc2VJbnQoc3RhcnQpIDwgcGFyc2VJbnQobWluaW11 bSkpIHsKKyAgICAgICAgICB0aGlzLmVycm9yTW9kZWwuc2V0KCdzZXFzdGFydCcsIHN0YXJ0X2x0 KTsKKyAgICAgICAgICByZXR1cm4gc3RhcnRfbHQ7CisgICAgICAgIH0gZWxzZSB7CisgICAgICAg ICAgdGhpcy5lcnJvck1vZGVsLnVuc2V0KCdzZXFzdGFydCcpOworICAgICAgICB9CisKKyAgICAg ICAgaWYgKHN0YXJ0ICYmIG1heGltdW0gJiYgcGFyc2VJbnQoc3RhcnQpID4gcGFyc2VJbnQobWF4 aW11bSkpIHsKKyAgICAgICAgICB0aGlzLmVycm9yTW9kZWwuc2V0KCdzZXFzdGFydCcsIHN0YXJ0 X2d0KTsKKyAgICAgICAgICByZXR1cm4gc3RhcnRfZ3Q7CisgICAgICAgIH0gZWxzZSB7CisgICAg ICAgICAgdGhpcy5lcnJvck1vZGVsLnVuc2V0KCdzZXFzdGFydCcpOworICAgICAgICB9CisKKyAg ICAgICAgcmV0dXJuIG51bGw7CisgICAgICB9LAorICAgICAgLy8gQ2hlY2sgd2hldGhlciB0aGUg Y29sdW1uIGlzIGlkZW50aXR5IGNvbHVtbiBvciBub3QKKyAgICAgIGlzSWRlbnRpdHlDb2x1bW46 IGZ1bmN0aW9uKG0pIHsKKyAgICAgICAgbGV0IGlzSWRlbnRpdHkgPSBtLmdldCgnYXR0aWRlbnRp dHknKTsKKyAgICAgICAgaWYoIV8uaXNVbmRlZmluZWQoaXNJZGVudGl0eSkgJiYgIV8uaXNOdWxs KGlzSWRlbnRpdHkpICYmICFfLmlzRW1wdHkoaXNJZGVudGl0eSkpCisgICAgICAgICAgcmV0dXJu IGZhbHNlOworICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICAgIH0sCisgICAgICAvLyBDaGVjayB3 aGV0aGVyIHRoZSBjb2x1bW4gaXMgYSBpZGVudGl0eSBjb2x1bW4KKyAgICAgIGlzVHlwZUlkZW50 aXR5OiBmdW5jdGlvbihtKSB7CisgICAgICAgIGxldCBjb2xjb25zdHlwZSA9IG0uZ2V0KCdjb2xj b25zdHlwZScpOworICAgICAgICBpZiAoIV8uaXNVbmRlZmluZWQoY29sY29uc3R5cGUpICYmICFf LmlzTnVsbChjb2xjb25zdHlwZSkgJiYgY29sY29uc3R5cGUgPT0gJ2knKSB7CisgICAgICAgICAg cmV0dXJuIHRydWU7CisgICAgICAgIH0KKyAgICAgICAgcmV0dXJuIGZhbHNlOworICAgICAgfSwK KyAgICAgIC8vIENoZWNrIHdoZXRoZXIgdGhlIGNvbHVtbiBpcyBhIGdlbmVyYXRlZCBjb2x1bW4K KyAgICAgIGlzVHlwZUdlbmVyYXRlZDogZnVuY3Rpb24obSkgeworICAgICAgICBsZXQgY29sY29u c3R5cGUgPSBtLmdldCgnY29sY29uc3R5cGUnKTsKKyAgICAgICAgaWYgKCFfLmlzVW5kZWZpbmVk KGNvbGNvbnN0eXBlKSAmJiAhXy5pc051bGwoY29sY29uc3R5cGUpICYmIGNvbGNvbnN0eXBlID09 ICdnJykgeworICAgICAgICAgIHJldHVybiB0cnVlOworICAgICAgICB9CisgICAgICAgIHJldHVy biBmYWxzZTsKKyAgICAgIH0sCisgICAgfSk7CisKKyAgICBjb25zdCBmb3JtYXRTY2hlbWFJdGVt ID0gZnVuY3Rpb24ob3B0KSB7CisgICAgICBpZiAoIW9wdC5pZCkgeworICAgICAgICByZXR1cm4g b3B0LnRleHQ7CisgICAgICB9CisKKyAgICAgIHZhciBvcHRpbWFnZSA9ICQob3B0LmVsZW1lbnQp LmRhdGEoJ2ltYWdlJyk7CisKKyAgICAgIGlmICghb3B0aW1hZ2UpIHsKKyAgICAgICAgcmV0dXJu IG9wdC50ZXh0OworICAgICAgfSBlbHNlIHsKKyAgICAgICAgcmV0dXJuICQoJzxzcGFuPjwvc3Bh bj4nKS5hcHBlbmQoCisgICAgICAgICAgJCgnPHNwYW4+PC9zcGFuPicsIHsKKyAgICAgICAgICAg IGNsYXNzOiAnd2NUYWJJY29uICcgKyBvcHRpbWFnZSwKKyAgICAgICAgICB9KQorICAgICAgICAp LmFwcGVuZCgkKCc8c3Bhbj48L3NwYW4+JykudGV4dChvcHQudGV4dCkpOworICAgICAgfQorICAg IH07CisKKyAgICBsZXQgZGlhbG9nTW9kZWwgPSB0aGlzLnBnQnJvd3Nlci5EYXRhTW9kZWwuZXh0 ZW5kKHsKKyAgICAgIGRlZmF1bHRzOiB7CisgICAgICAgIG5hbWU6IHVuZGVmaW5lZCwKKyAgICAg ICAgc2NoZW1hOiB1bmRlZmluZWQsCisgICAgICAgIGRlc2NyaXB0aW9uOiB1bmRlZmluZWQsCisg ICAgICAgIGNvbHVtbnM6IFtdLAorICAgICAgICBwcmltYXJ5X2tleTogW10sCisgICAgICB9LAor ICAgICAgaW5pdGlhbGl6ZTogZnVuY3Rpb24oKSB7CisgICAgICAgIGRpYWxvZ09iai5wZ0Jyb3dz ZXIuRGF0YU1vZGVsLnByb3RvdHlwZS5pbml0aWFsaXplLmFwcGx5KHRoaXMsIGFyZ3VtZW50cyk7 CisKKyAgICAgICAgaWYoIXRoaXMuZ2V0KCdzY2hlbWEnKSAmJiBzY2hlbWFzLmxlbmd0aCA+IDAp IHsKKyAgICAgICAgICB0aGlzLnNldCh7CisgICAgICAgICAgICAnc2NoZW1hJzogc2NoZW1hc1sw XVsnbmFtZSddLAorICAgICAgICAgIH0sIHtzaWxlbnQ6IHRydWV9KTsKKyAgICAgICAgfQorICAg ICAgfSwKKyAgICAgIHNjaGVtYTogW3sKKyAgICAgICAgaWQ6ICduYW1lJywgbGFiZWw6IGdldHRl eHQoJ05hbWUnKSwgdHlwZTogJ3RleHQnLCBkaXNhYmxlZDogZmFsc2UsCisgICAgICB9LHsKKyAg ICAgICAgaWQ6ICdzY2hlbWEnLCBsYWJlbDogZ2V0dGV4dCgnU2NoZW1hJyksIHR5cGU6ICd0ZXh0 JywKKyAgICAgICAgY29udHJvbDogJ3NlbGVjdDInLCBzZWxlY3QyOiB7CisgICAgICAgICAgYWxs b3dDbGVhcjogZmFsc2UsIGZpcnN0X2VtcHR5OiBmYWxzZSwKKyAgICAgICAgICB0ZW1wbGF0ZVJl c3VsdDogZm9ybWF0U2NoZW1hSXRlbSwKKyAgICAgICAgICB0ZW1wbGF0ZVNlbGVjdGlvbjogZm9y bWF0U2NoZW1hSXRlbSwKKyAgICAgICAgfSwKKyAgICAgICAgb3B0aW9uczogZnVuY3Rpb24gKCkg eworICAgICAgICAgIHJldHVybiBzY2hlbWFzLm1hcCgoc2NoZW1hKT0+eworICAgICAgICAgICAg cmV0dXJuIHsKKyAgICAgICAgICAgICAgJ3ZhbHVlJzogc2NoZW1hWyduYW1lJ10sCisgICAgICAg ICAgICAgICdpbWFnZSc6ICdpY29uLXNjaGVtYScsCisgICAgICAgICAgICAgICdsYWJlbCc6IHNj aGVtYVsnbmFtZSddLAorICAgICAgICAgICAgfTsKKyAgICAgICAgICB9KTsKKyAgICAgICAgfSwK KyAgICAgICAgZmlsdGVyOiBmdW5jdGlvbihkKSB7CisgICAgICAgICAgLy8gSWYgc2NoZW1hIG5h bWUgc3RhcnQgd2l0aCBwZ18qIHRoZW4gd2UgbmVlZCB0byBleGNsdWRlIHRoZW0KKyAgICAgICAg ICBpZihkICYmIGQubGFiZWwubWF0Y2goL15wZ18vKSkKKyAgICAgICAgICB7CisgICAgICAgICAg ICByZXR1cm4gZmFsc2U7CisgICAgICAgICAgfQorICAgICAgICAgIHJldHVybiB0cnVlOworICAg ICAgICB9LAorICAgICAgfSx7CisgICAgICAgIGlkOiAnZGVzY3JpcHRpb24nLCBsYWJlbDogZ2V0 dGV4dCgnQ29tbWVudCcpLCB0eXBlOiAnbXVsdGlsaW5lJywKKyAgICAgIH0seworICAgICAgICBp ZDogJ2NvbHVtbnMnLCBsYWJlbDogZ2V0dGV4dCgnQ29sdW1ucycpLCB0eXBlOiAnY29sbGVjdGlv bicsIG1vZGU6IFsnY3JlYXRlJ10sCisgICAgICAgIGdyb3VwOiBnZXR0ZXh0KCdDb2x1bW5zJyks CisgICAgICAgIG1vZGVsOiBjb2x1bW5zTW9kZWwsCisgICAgICAgIHN1Ym5vZGU6IGNvbHVtbnNN b2RlbCwKKyAgICAgICAgZGlzYWJsZWQ6IGZhbHNlLAorICAgICAgICB1bmlxdWVDb2wgOiBbJ25h bWUnXSwKKyAgICAgICAgY29sdW1ucyA6IFsnbmFtZScgLCAnY2x0eXBlJywgJ2F0dGxlbicsICdh dHRwcmVjaXNpb24nLCAnYXR0bm90bnVsbCcsICdpc19wcmltYXJ5X2tleSddLAorICAgICAgICBj b250cm9sOiBCYWNrZm9ybS5VbmlxdWVDb2xDb2xsZWN0aW9uQ29udHJvbC5leHRlbmQoeworICAg ICAgICAgIGluaXRpYWxpemU6IGZ1bmN0aW9uKCkgeworCisgICAgICAgICAgICBCYWNrZm9ybS5V bmlxdWVDb2xDb2xsZWN0aW9uQ29udHJvbC5wcm90b3R5cGUuaW5pdGlhbGl6ZS5hcHBseSh0aGlz LCBhcmd1bWVudHMpOworICAgICAgICAgICAgdmFyIHNlbGYgPSB0aGlzLAorICAgICAgICAgICAg ICBjb2xsZWN0aW9uID0gc2VsZi5tb2RlbC5nZXQoc2VsZi5maWVsZC5nZXQoJ25hbWUnKSk7CisK KyAgICAgICAgICAgIGlmKGNvbGxlY3Rpb24uaXNFbXB0eSgpKSB7CisgICAgICAgICAgICAgIHNl bGYubGFzdF9hdHRudW0gPSAtMTsKKyAgICAgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICAg IHZhciBsYXN0Q29sID0gY29sbGVjdGlvbi5tYXgoZnVuY3Rpb24oY29sKSB7CisgICAgICAgICAg ICAgICAgcmV0dXJuIGNvbC5nZXQoJ2F0dG51bScpOworICAgICAgICAgICAgICB9KTsKKyAgICAg ICAgICAgICAgc2VsZi5sYXN0X2F0dG51bSA9IGxhc3RDb2wuZ2V0KCdhdHRudW0nKTsKKyAgICAg ICAgICAgIH0KKworICAgICAgICAgICAgY29sbGVjdGlvbi5vbignY2hhbmdlOmlzX3ByaW1hcnlf a2V5JywgZnVuY3Rpb24obSkgeworICAgICAgICAgICAgICB2YXIgcHJpbWFyeV9rZXlfY29sbCA9 IHNlbGYubW9kZWwuZ2V0KCdwcmltYXJ5X2tleScpLAorICAgICAgICAgICAgICAgIGNvbHVtbl9u YW1lID0gbS5nZXQoJ25hbWUnKSwKKyAgICAgICAgICAgICAgICBwcmltYXJ5X2tleSwgcHJpbWFy eV9rZXlfY29sdW1uX2NvbGw7CisKKyAgICAgICAgICAgICAgaWYobS5nZXQoJ2lzX3ByaW1hcnlf a2V5JykpIHsKKyAgICAgICAgICAgICAgICAvLyBBZGQgY29sdW1uIHRvIHByaW1hcnkga2V5Lgor ICAgICAgICAgICAgICAgIGlmIChwcmltYXJ5X2tleV9jb2xsLmxlbmd0aCA8IDEpIHsKKyAgICAg ICAgICAgICAgICAgIHByaW1hcnlfa2V5ID0gbmV3IChwcmltYXJ5X2tleV9jb2xsLm1vZGVsKSh7 fSwgeworICAgICAgICAgICAgICAgICAgICB0b3A6IHNlbGYubW9kZWwsCisgICAgICAgICAgICAg ICAgICAgIGNvbGxlY3Rpb246IHByaW1hcnlfa2V5X2NvbGwsCisgICAgICAgICAgICAgICAgICAg IGhhbmRsZXI6IHByaW1hcnlfa2V5X2NvbGwsCisgICAgICAgICAgICAgICAgICB9KTsKKyAgICAg ICAgICAgICAgICAgIHByaW1hcnlfa2V5X2NvbGwuYWRkKHByaW1hcnlfa2V5KTsKKyAgICAgICAg ICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgICAgICAgcHJpbWFyeV9rZXkgPSBwcmltYXJ5 X2tleV9jb2xsLmZpcnN0KCk7CisgICAgICAgICAgICAgICAgfQorCisgICAgICAgICAgICAgICAg cHJpbWFyeV9rZXlfY29sdW1uX2NvbGwgPSBwcmltYXJ5X2tleS5nZXQoJ2NvbHVtbnMnKTsKKyAg ICAgICAgICAgICAgICB2YXIgcHJpbWFyeV9rZXlfY29sdW1uX2V4aXN0ID0gcHJpbWFyeV9rZXlf Y29sdW1uX2NvbGwud2hlcmUoe2NvbHVtbjpjb2x1bW5fbmFtZX0pOworCisgICAgICAgICAgICAg ICAgaWYgKHByaW1hcnlfa2V5X2NvbHVtbl9leGlzdC5sZW5ndGggPT0gMCkgeworICAgICAgICAg ICAgICAgICAgdmFyIHByaW1hcnlfa2V5X2NvbHVtbiA9IG5ldyAoCisgICAgICAgICAgICAgICAg ICAgIHByaW1hcnlfa2V5X2NvbHVtbl9jb2xsLm1vZGVsCisgICAgICAgICAgICAgICAgICApKHtj b2x1bW46IGNvbHVtbl9uYW1lfSwgeworICAgICAgICAgICAgICAgICAgICBzaWxlbnQ6IHRydWUs CisgICAgICAgICAgICAgICAgICAgIHRvcDogc2VsZi5tb2RlbCwKKyAgICAgICAgICAgICAgICAg ICAgY29sbGVjdGlvbjogcHJpbWFyeV9rZXlfY29sbCwKKyAgICAgICAgICAgICAgICAgICAgaGFu ZGxlcjogcHJpbWFyeV9rZXlfY29sbCwKKyAgICAgICAgICAgICAgICAgIH0pOworCisgICAgICAg ICAgICAgICAgICBwcmltYXJ5X2tleV9jb2x1bW5fY29sbC5hZGQocHJpbWFyeV9rZXlfY29sdW1u KTsKKyAgICAgICAgICAgICAgICB9CisKKyAgICAgICAgICAgICAgICBwcmltYXJ5X2tleV9jb2x1 bW5fY29sbC50cmlnZ2VyKAorICAgICAgICAgICAgICAgICAgJ3BnYWRtaW46bXVsdGljb2x1bW46 dXBkYXRlZCcsIHByaW1hcnlfa2V5X2NvbHVtbl9jb2xsCisgICAgICAgICAgICAgICAgKTsKKyAg ICAgICAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgICAgICAvLyByZW1vdmUgY29sdW1uIGZy b20gcHJpbWFyeSBrZXkuCisgICAgICAgICAgICAgICAgaWYgKHByaW1hcnlfa2V5X2NvbGwubGVu Z3RoID4gMCkgeworICAgICAgICAgICAgICAgICAgcHJpbWFyeV9rZXkgPSBwcmltYXJ5X2tleV9j b2xsLmZpcnN0KCk7CisgICAgICAgICAgICAgICAgICAvLyBEbyBub3QgYWx0ZXIgZXhpc3Rpbmcg cHJpbWFyeSBrZXkgY29sdW1ucy4KKyAgICAgICAgICAgICAgICAgIGlmICghXy5pc1VuZGVmaW5l ZChwcmltYXJ5X2tleS5nZXQoJ29pZCcpKSkgeworICAgICAgICAgICAgICAgICAgICByZXR1cm47 CisgICAgICAgICAgICAgICAgICB9CisKKyAgICAgICAgICAgICAgICAgIHByaW1hcnlfa2V5X2Nv bHVtbl9jb2xsID0gcHJpbWFyeV9rZXkuZ2V0KCdjb2x1bW5zJyk7CisgICAgICAgICAgICAgICAg ICB2YXIgcmVtb3ZlZENvbHMgPSBwcmltYXJ5X2tleV9jb2x1bW5fY29sbC53aGVyZSh7Y29sdW1u OmNvbHVtbl9uYW1lfSk7CisgICAgICAgICAgICAgICAgICBpZiAocmVtb3ZlZENvbHMubGVuZ3Ro ID4gMCkgeworICAgICAgICAgICAgICAgICAgICBwcmltYXJ5X2tleV9jb2x1bW5fY29sbC5yZW1v dmUocmVtb3ZlZENvbHMpOworICAgICAgICAgICAgICAgICAgICBfLmVhY2gocmVtb3ZlZENvbHMs IGZ1bmN0aW9uKGxvY2FsX21vZGVsKSB7CisgICAgICAgICAgICAgICAgICAgICAgbG9jYWxfbW9k ZWwuZGVzdHJveSgpOworICAgICAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgICAgICAg ICAgaWYgKHByaW1hcnlfa2V5X2NvbHVtbl9jb2xsLmxlbmd0aCA9PSAwKSB7CisgICAgICAgICAg ICAgICAgICAgICAgLyogSWRlYWxseSBhYm92ZSBsaW5lIG9mIGNvZGUgc2hvdWxkIGJlICJwcmlt YXJ5X2tleV9jb2xsLnJlc2V0KCkiLgorICAgICAgICAgICAgICAgICAgICAgICAqIEJ1dCBvdXIg Y3VzdG9tIERhdGFDb2xsZWN0aW9uIChleHRlbmRlZCBmcm9tIEJhY2tib25lIGNvbGxlY3Rpb24g aW4gZGF0YW1vZGVsLmpzKQorICAgICAgICAgICAgICAgICAgICAgICAqIGRvZXMgbm90IHJlc3Bv bmQgdG8gcmVzZXQgZXZlbnQsIGl0IG9ubHkgc3VwcG9ydHMgYWRkLCByZW1vdmUsIGNoYW5nZSBl dmVudHMuCisgICAgICAgICAgICAgICAgICAgICAgICogQW5kIGhlbmNlIG5vIGN1c3RvbSBldmVu dCBsaXN0ZW5lcnMvdmFsaWRhdG9ycyBnZXQgY2FsbGVkIGZvciByZXNldCBldmVudC4KKyAgICAg ICAgICAgICAgICAgICAgICAgKi8KKyAgICAgICAgICAgICAgICAgICAgICBwcmltYXJ5X2tleV9j b2xsLnJlbW92ZShwcmltYXJ5X2tleV9jb2xsLmZpcnN0KCkpOworICAgICAgICAgICAgICAgICAg ICB9CisgICAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgICBwcmltYXJ5X2tleV9j b2x1bW5fY29sbC50cmlnZ2VyKCdwZ2FkbWluOm11bHRpY29sdW1uOnVwZGF0ZWQnLCBwcmltYXJ5 X2tleV9jb2x1bW5fY29sbCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICB9Cisg ICAgICAgICAgICB9KTsKKworICAgICAgICAgICAgY29sbGVjdGlvbi5vbignY2hhbmdlOm5hbWUn LCBmdW5jdGlvbihtKSB7CisgICAgICAgICAgICAgIGxldCBwcmltYXJ5X2tleSA9IHNlbGYubW9k ZWwuZ2V0KCdwcmltYXJ5X2tleScpLmZpcnN0KCk7CisgICAgICAgICAgICAgIGlmKHByaW1hcnlf a2V5KSB7CisgICAgICAgICAgICAgICAgbGV0IHVwZGF0ZWRDb2xzID0gcHJpbWFyeV9rZXkuZ2V0 KCdjb2x1bW5zJykud2hlcmUoCisgICAgICAgICAgICAgICAgICB7Y29sdW1uOiBtLnByZXZpb3Vz KCduYW1lJyl9CisgICAgICAgICAgICAgICAgKTsKKyAgICAgICAgICAgICAgICBpZiAodXBkYXRl ZENvbHMubGVuZ3RoID4gMCkgeworICAgICAgICAgICAgICAgICAgLyoKKyAgICAgICAgICAgICAg ICAgICogVGFibGUgY29sdW1uIG5hbWUgaGFzIGNoYW5nZWQgc28gdXBkYXRlCisgICAgICAgICAg ICAgICAgICAqIGNvbHVtbiBuYW1lIGluIHByaW1hcnkga2V5IGFzIHdlbGwuCisgICAgICAgICAg ICAgICAgICAqLworICAgICAgICAgICAgICAgICAgdXBkYXRlZENvbHNbMF0uc2V0KAorICAgICAg ICAgICAgICAgICAgICB7J2NvbHVtbic6IG0uZ2V0KCduYW1lJyl9LAorICAgICAgICAgICAgICAg ICAgICB7c2lsZW50OiB0cnVlfSk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICB9 CisgICAgICAgICAgICB9KTsKKworICAgICAgICAgICAgY29sbGVjdGlvbi5vbigncmVtb3ZlJywg ZnVuY3Rpb24obSkgeworICAgICAgICAgICAgICBsZXQgcHJpbWFyeV9rZXkgPSBzZWxmLm1vZGVs LmdldCgncHJpbWFyeV9rZXknKS5maXJzdCgpOworICAgICAgICAgICAgICBpZihwcmltYXJ5X2tl eSkgeworICAgICAgICAgICAgICAgIGxldCByZW1vdmVkQ29scyA9IHByaW1hcnlfa2V5LmdldCgn Y29sdW1ucycpLndoZXJlKAorICAgICAgICAgICAgICAgICAge2NvbHVtbjogbS5nZXQoJ25hbWUn KX0KKyAgICAgICAgICAgICAgICApOworCisgICAgICAgICAgICAgICAgcHJpbWFyeV9rZXkuZ2V0 KCdjb2x1bW5zJykucmVtb3ZlKHJlbW92ZWRDb2xzKTsKKyAgICAgICAgICAgICAgfQorICAgICAg ICAgICAgfSk7CisgICAgICAgICAgfSwKKyAgICAgICAgfSksCisgICAgICAgIGNhbkFkZDogdHJ1 ZSwKKyAgICAgICAgY2FuRWRpdDogdHJ1ZSwgY2FuRGVsZXRlOiB0cnVlLAorICAgICAgICAvLyBG b3IgZWFjaCByb3cgZWRpdC9kZWxldGUgYnV0dG9uIGVuYWJsZS9kaXNhYmxlCisgICAgICAgIGNh bkVkaXRSb3c6IHRydWUsCisgICAgICAgIGNhbkRlbGV0ZVJvdzogdHJ1ZSwKKyAgICAgICAgYWxs b3dNdWx0aXBsZUVtcHR5Um93OiBmYWxzZSwKKyAgICAgICAgYmVmb3JlQWRkOiBmdW5jdGlvbihu ZXdNb2RlbCkgeworICAgICAgICAgIHRoaXMubGFzdF9hdHRudW0rKzsKKyAgICAgICAgICBuZXdN b2RlbC5zZXQoJ2F0dG51bScsIHRoaXMubGFzdF9hdHRudW0pOworICAgICAgICAgIHJldHVybiBu ZXdNb2RlbDsKKyAgICAgICAgfSwKKyAgICAgIH0seworICAgICAgICAvLyBIZXJlIHdlIHdpbGwg Y3JlYXRlIHRhYiBjb250cm9sIGZvciBjb25zdHJhaW50cworICAgICAgICAvLyBXZSB3aWxsIGhp ZGUgdGhlIHRhYiBmb3IgRVJECisgICAgICAgIHR5cGU6ICduZXN0ZWQnLCBjb250cm9sOiAndGFi JywgZ3JvdXA6IGdldHRleHQoJ0NvbnN0cmFpbnRzJyksIG1vZGU6IFsncHJvcGVydGllcyddLAor ICAgICAgICBzY2hlbWE6IFt7CisgICAgICAgICAgaWQ6ICdwcmltYXJ5X2tleScsIGxhYmVsOiAn JywKKyAgICAgICAgICBtb2RlbDogdGhpcy5wZ0Jyb3dzZXIuTm9kZXNbJ3ByaW1hcnlfa2V5J10u bW9kZWwuZXh0ZW5kKHsKKyAgICAgICAgICAgIHZhbGlkYXRlOiAoKT0+e30sCisgICAgICAgICAg fSksCisgICAgICAgICAgc3Vibm9kZTogdGhpcy5wZ0Jyb3dzZXIuTm9kZXNbJ3ByaW1hcnlfa2V5 J10ubW9kZWwuZXh0ZW5kKHsKKyAgICAgICAgICAgIHZhbGlkYXRlOiAoKT0+e30sCisgICAgICAg ICAgfSksCisgICAgICAgICAgZWRpdGFibGU6IGZhbHNlLCB0eXBlOiAnY29sbGVjdGlvbicsCisg ICAgICAgIH0sCisgICAgICAgIF0sCisgICAgICB9XSwKKyAgICAgIHZhbGlkYXRlOiBmdW5jdGlv bigpIHsKKyAgICAgICAgdmFyIG1zZywKKyAgICAgICAgICBuYW1lID0gdGhpcy5nZXQoJ25hbWUn KSwKKyAgICAgICAgICBzY2hlbWEgPSB0aGlzLmdldCgnc2NoZW1hJyk7CisKKyAgICAgICAgaWYg KAorICAgICAgICAgIF8uaXNVbmRlZmluZWQobmFtZSkgfHwgXy5pc051bGwobmFtZSkgfHwKKyAg ICAgICAgICAgIFN0cmluZyhuYW1lKS5yZXBsYWNlKC9eXHMrfFxzKyQvZywgJycpID09ICcnCisg ICAgICAgICkgeworICAgICAgICAgIG1zZyA9IGdldHRleHQoJ1RhYmxlIG5hbWUgY2Fubm90IGJl IGVtcHR5LicpOworICAgICAgICAgIHRoaXMuZXJyb3JNb2RlbC5zZXQoJ25hbWUnLCBtc2cpOwor ICAgICAgICAgIHJldHVybiBtc2c7CisgICAgICAgIH0KKyAgICAgICAgdGhpcy5lcnJvck1vZGVs LnVuc2V0KCduYW1lJyk7CisgICAgICAgIGlmICgKKyAgICAgICAgICBfLmlzVW5kZWZpbmVkKHNj aGVtYSkgfHwgXy5pc051bGwoc2NoZW1hKSB8fAorICAgICAgICAgICAgU3RyaW5nKHNjaGVtYSku cmVwbGFjZSgvXlxzK3xccyskL2csICcnKSA9PSAnJworICAgICAgICApIHsKKyAgICAgICAgICBt c2cgPSBnZXR0ZXh0KCdUYWJsZSBzY2hlbWEgY2Fubm90IGJlIGVtcHR5LicpOworICAgICAgICAg IHRoaXMuZXJyb3JNb2RlbC5zZXQoJ3NjaGVtYScsIG1zZyk7CisgICAgICAgICAgcmV0dXJuIG1z ZzsKKyAgICAgICAgfQorICAgICAgICB0aGlzLmVycm9yTW9kZWwudW5zZXQoJ3NjaGVtYScpOwor ICAgICAgICByZXR1cm4gbnVsbDsKKyAgICAgIH0sCisgICAgfSk7CisKKyAgICByZXR1cm4gbmV3 IGRpYWxvZ01vZGVsKGF0dHJpYnV0ZXMpOworICB9CisKKyAgY3JlYXRlT3JHZXREaWFsb2codHlw ZSkgeworICAgIGNvbnN0IGRpYWxvZ05hbWUgPSB0aGlzLmRpYWxvZ05hbWUoKTsKKworICAgIGlm ICghQWxlcnRpZnlbZGlhbG9nTmFtZV0pIHsKKyAgICAgIEFsZXJ0aWZ5LmRpYWxvZyhkaWFsb2dO YW1lLCAoKSA9PiB7CisgICAgICAgIHJldHVybiBuZXcgRGlhbG9nV3JhcHBlcigKKyAgICAgICAg ICBgPGRpdiBjbGFzcz0iJHtkaWFsb2dOYW1lfSI+PC9kaXY+YCwKKyAgICAgICAgICBudWxsLAor ICAgICAgICAgIHR5cGUsCisgICAgICAgICAgJCwKKyAgICAgICAgICB0aGlzLnBnQnJvd3NlciwK KyAgICAgICAgICBBbGVydGlmeSwKKyAgICAgICAgICBCYWNrZm9ybQorICAgICAgICApOworICAg ICAgfSk7CisgICAgfQorICAgIHJldHVybiBBbGVydGlmeVtkaWFsb2dOYW1lXTsKKyAgfQorCisg IHNob3codGl0bGUsIGF0dHJpYnV0ZXMsIGNvbFR5cGVzLCBzY2hlbWFzLCBzVmVyc2lvbiwgY2Fs bGJhY2spIHsKKyAgICBsZXQgZGlhbG9nVGl0bGUgPSB0aXRsZSB8fCBnZXR0ZXh0KCdVbmtub3du Jyk7CisgICAgY29uc3QgZGlhbG9nID0gdGhpcy5jcmVhdGVPckdldERpYWxvZygndGFibGVfZGlh bG9nJyk7CisgICAgZGlhbG9nKGRpYWxvZ1RpdGxlLCB0aGlzLmdldERhdGFNb2RlbChhdHRyaWJ1 dGVzLCBjb2xUeXBlcywgc2NoZW1hcywgc1ZlcnNpb24pLCBjYWxsYmFjaykucmVzaXplVG8odGhp cy5wZ0Jyb3dzZXIuc3RkVy5tZCwgdGhpcy5wZ0Jyb3dzZXIuc3RkSC5tZCk7CisgIH0KK30KZGlm ZiAtLWdpdCBhL3dlYi9wZ2FkbWluL3Rvb2xzL2VyZC9zdGF0aWMvanMvZXJkX3Rvb2wvZGlhbG9n cy9pbmRleC5qcyBiL3dlYi9wZ2FkbWluL3Rvb2xzL2VyZC9zdGF0aWMvanMvZXJkX3Rvb2wvZGlh bG9ncy9pbmRleC5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAuLmViMGFi MTMzNgotLS0gL2Rldi9udWxsCisrKyBiL3dlYi9wZ2FkbWluL3Rvb2xzL2VyZC9zdGF0aWMvanMv ZXJkX3Rvb2wvZGlhbG9ncy9pbmRleC5qcwpAQCAtMCwwICsxLDMyIEBACisvLy8vLy8vLy8vLy8v Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCisvLworLy8g cGdBZG1pbiA0IC0gUG9zdGdyZVNRTCBUb29scworLy8KKy8vIENvcHlyaWdodCAoQykgMjAxMyAt IDIwMjAsIFRoZSBwZ0FkbWluIERldmVsb3BtZW50IFRlYW0KKy8vIFRoaXMgc29mdHdhcmUgaXMg cmVsZWFzZWQgdW5kZXIgdGhlIFBvc3RncmVTUUwgTGljZW5jZQorLy8KKy8vLy8vLy8vLy8vLy8v Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCisKK2ltcG9y dCBUYWJsZURpYWxvZywge3RyYW5zZm9ybVRvU3VwcG9ydGVkIGFzIHRyYW5zZm9ybVRvU3VwcG9y dGVkVGFibGV9IGZyb20gJy4vVGFibGVEaWFsb2cnOworaW1wb3J0IE9uZVRvTWFueURpYWxvZyBm cm9tICcuL09uZVRvTWFueURpYWxvZyc7CitpbXBvcnQgTWFueVRvTWFueURpYWxvZyBmcm9tICcu L01hbnlUb01hbnlEaWFsb2cnOworaW1wb3J0IHBnQnJvd3NlciBmcm9tICd0b3AvYnJvd3Nlci9z dGF0aWMvanMvYnJvd3Nlcic7CitpbXBvcnQgJ3NvdXJjZXMvYmFja2dyaWQucGdhZG1pbic7Citp bXBvcnQgJ3NvdXJjZXMvYmFja2Zvcm0ucGdhZG1pbic7CisKK2V4cG9ydCBkZWZhdWx0IGZ1bmN0 aW9uIGdldERpYWxvZyhkaWFsb2dOYW1lKSB7CisgIGlmKGRpYWxvZ05hbWUgPT09ICdlbnRpdHlf ZGlhbG9nJykgeworICAgIHJldHVybiBuZXcgVGFibGVEaWFsb2cocGdCcm93c2VyKTsKKyAgfSBl bHNlIGlmKGRpYWxvZ05hbWUgPT09ICdvbmV0b21hbnlfZGlhbG9nJykgeworICAgIHJldHVybiBu ZXcgT25lVG9NYW55RGlhbG9nKHBnQnJvd3Nlcik7CisgIH0gZWxzZSBpZihkaWFsb2dOYW1lID09 PSAnbWFueXRvbWFueV9kaWFsb2cnKSB7CisgICAgcmV0dXJuIG5ldyBNYW55VG9NYW55RGlhbG9n KHBnQnJvd3Nlcik7CisgIH0KK30KKworZXhwb3J0IGZ1bmN0aW9uIHRyYW5zZm9ybVRvU3VwcG9y dGVkKHR5cGUsIGRhdGEpIHsKKyAgaWYodHlwZSA9PSAndGFibGUnKSB7CisgICAgcmV0dXJuIHRy YW5zZm9ybVRvU3VwcG9ydGVkVGFibGUoZGF0YSk7CisgIH0KKyAgcmV0dXJuIGRhdGE7Cit9CmRp ZmYgLS1naXQgYS93ZWIvcGdhZG1pbi90b29scy9lcmQvc3RhdGljL2pzL2VyZF90b29sL2luZGV4 LmpzIGIvd2ViL3BnYWRtaW4vdG9vbHMvZXJkL3N0YXRpYy9qcy9lcmRfdG9vbC9pbmRleC5qcwpu ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAuLjFiZDRjM2JjNgotLS0gL2Rldi9u dWxsCisrKyBiL3dlYi9wZ2FkbWluL3Rvb2xzL2VyZC9zdGF0aWMvanMvZXJkX3Rvb2wvaW5kZXgu anMKQEAgLTAsMCArMSwzMCBAQAorLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLworLy8KKy8vIHBnQWRtaW4gNCAtIFBvc3RncmVTUUwg VG9vbHMKKy8vCisvLyBDb3B5cmlnaHQgKEMpIDIwMTMgLSAyMDIwLCBUaGUgcGdBZG1pbiBEZXZl bG9wbWVudCBUZWFtCisvLyBUaGlzIHNvZnR3YXJlIGlzIHJlbGVhc2VkIHVuZGVyIHRoZSBQb3N0 Z3JlU1FMIExpY2VuY2UKKy8vCisvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLworCitpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnOwor aW1wb3J0IFJlYWN0RE9NIGZyb20gJ3JlYWN0LWRvbSc7CitpbXBvcnQgQm9keVdpZGdldCBmcm9t ICcuL3VpX2NvbXBvbmVudHMvQm9keVdpZGdldCc7CitpbXBvcnQgZ2V0RGlhbG9nLCB7dHJhbnNm b3JtVG9TdXBwb3J0ZWR9IGZyb20gJy4vZGlhbG9ncyc7CitpbXBvcnQgQWxlcnRpZnkgZnJvbSAn cGdhZG1pbi5hbGVydGlmeWpzJzsKK2ltcG9ydCBwZ1dpbmRvdyBmcm9tICdzb3VyY2VzL3dpbmRv dyc7CisKK2V4cG9ydCBkZWZhdWx0IGNsYXNzIEVSRFRvb2wgeworICBjb25zdHJ1Y3Rvcihjb250 YWluZXIsIHBhcmFtcykgeworICAgIHRoaXMuY29udGFpbmVyID0gZG9jdW1lbnQucXVlcnlTZWxl Y3Rvcihjb250YWluZXIpOworICAgIHRoaXMucGFyYW1zID0gcGFyYW1zOworICB9CisKKyAgcmVu ZGVyKCkgeworICAgIC8qIE1vdW50IHRoZSBSZWFjdCBFUkQgdG9vbCB0byB0aGUgY29udGFpbmVy ICovCisgICAgUmVhY3RET00ucmVuZGVyKAorICAgICAgPEJvZHlXaWRnZXQgcGFyYW1zPXt0aGlz LnBhcmFtc30gZ2V0RGlhbG9nPXtnZXREaWFsb2d9IHRyYW5zZm9ybVRvU3VwcG9ydGVkPXt0cmFu c2Zvcm1Ub1N1cHBvcnRlZH0gcGdBZG1pbj17cGdXaW5kb3cucGdBZG1pbn0gYWxlcnRpZnk9e0Fs ZXJ0aWZ5fSAvPiwKKyAgICAgIHRoaXMuY29udGFpbmVyCisgICAgKTsKKyAgfQorfQpkaWZmIC0t Z2l0IGEvd2ViL3BnYWRtaW4vdG9vbHMvZXJkL3N0YXRpYy9qcy9lcmRfdG9vbC9saW5rcy9PbmVU b01hbnlMaW5rLmpzeCBiL3dlYi9wZ2FkbWluL3Rvb2xzL2VyZC9zdGF0aWMvanMvZXJkX3Rvb2wv bGlua3MvT25lVG9NYW55TGluay5qc3gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw MDAwLi5mN2JlZDJmNjMKLS0tIC9kZXYvbnVsbAorKysgYi93ZWIvcGdhZG1pbi90b29scy9lcmQv c3RhdGljL2pzL2VyZF90b29sL2xpbmtzL09uZVRvTWFueUxpbmsuanN4CkBAIC0wLDAgKzEsMjg4 IEBACisvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v Ly8vLy8vLy8vCisvLworLy8gcGdBZG1pbiA0IC0gUG9zdGdyZVNRTCBUb29scworLy8KKy8vIENv cHlyaWdodCAoQykgMjAxMyAtIDIwMjAsIFRoZSBwZ0FkbWluIERldmVsb3BtZW50IFRlYW0KKy8v IFRoaXMgc29mdHdhcmUgaXMgcmVsZWFzZWQgdW5kZXIgdGhlIFBvc3RncmVTUUwgTGljZW5jZQor Ly8KKy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v Ly8vLy8vLy8vCisKK2ltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7CitpbXBvcnQgeworICAgIFJp Z2h0QW5nbGVMaW5rTW9kZWwsCisgICAgUmlnaHRBbmdsZUxpbmtXaWRnZXQsCisgICAgRGVmYXVs dExpbmtGYWN0b3J5LAorICAgIFBvcnRNb2RlbEFsaWdubWVudCwKKyAgICBMaW5rV2lkZ2V0LAor ICAgIFBvaW50TW9kZWwKK30gZnJvbSAnQHByb2plY3RzdG9ybS9yZWFjdC1kaWFncmFtcyc7Citp bXBvcnQge1BvaW50fSBmcm9tICdAcHJvamVjdHN0b3JtL2dlb21ldHJ5JzsKK2ltcG9ydCBfIGZy b20gJ2xvZGFzaCc7CisKK2V4cG9ydCBjb25zdCBPbmVUb01hbnlNb2RlbCA9IHsKKyAgbG9jYWxf dGFibGVfdWlkOiB1bmRlZmluZWQsCisgIGxvY2FsX2NvbHVtbl9hdHRudW06IHVuZGVmaW5lZCwK KyAgcmVmZXJlbmNlZF90YWJsZV91aWQ6IHVuZGVmaW5lZCwKKyAgcmVmZXJlbmNlZF9jb2x1bW5f YXR0bnVtOiB1bmRlZmluZWQsCit9CisKK2V4cG9ydCBjbGFzcyBPbmVUb01hbnlMaW5rTW9kZWwg ZXh0ZW5kcyBSaWdodEFuZ2xlTGlua01vZGVsIHsKKyAgY29uc3RydWN0b3Ioe2RhdGEsIC4uLm9w dGlvbnN9KSB7CisgICAgc3VwZXIoeworICAgICAgdHlwZTogJ29uZXRvbWFueScsCisgICAgICB3 aWR0aDogMSwKKyAgICAgIGNsYXNzOiAnbGluay1vbmV0b21hbnknLAorICAgICAgbG9ja2VkOiB0 cnVlLAorICAgICAgLi4ub3B0aW9ucworICAgIH0pOworCisgICAgdGhpcy5fZGF0YSA9IHsKKyAg ICAgIC4uLmRhdGEsCisgICAgfTsKKyAgfQorCisgIGdldERhdGEoKSB7CisgICAgcmV0dXJuIHRo aXMuX2RhdGE7CisgIH0KKworICBzZXREYXRhKGRhdGEpIHsKKyAgICB0aGlzLl9kYXRhID0gZGF0 YTsKKyAgfQorCisgIHNlcmlhbGl6ZURhdGEobm9kZXNEaWN0KSB7CisgICAgbGV0IGRhdGEgPSB0 aGlzLmdldERhdGEoKTsKKyAgICBsZXQgdGFyZ2V0ID0gbm9kZXNEaWN0W2RhdGFbJ2xvY2FsX3Rh YmxlX3VpZCddXS5nZXREYXRhKCk7CisgICAgbGV0IHNvdXJjZSA9IG5vZGVzRGljdFtkYXRhWydy ZWZlcmVuY2VkX3RhYmxlX3VpZCddXS5nZXREYXRhKCk7CisgICAgcmV0dXJuIHsKKyAgICAgICdz Y2hlbWEnOiB0YXJnZXQuc2NoZW1hLAorICAgICAgJ3RhYmxlJzogdGFyZ2V0Lm5hbWUsCisgICAg ICAncmVtb3RlX3NjaGVtYSc6IHNvdXJjZS5zY2hlbWEsCisgICAgICAncmVtb3RlX3RhYmxlJzog c291cmNlLm5hbWUsCisgICAgICAnY29sdW1ucyc6IFt7CisgICAgICAgICdsb2NhbF9jb2x1bW4n OiBfLmZpbmQodGFyZ2V0LmNvbHVtbnMsIChjb2wpPT5kYXRhLmxvY2FsX2NvbHVtbl9hdHRudW0g PT0gY29sLmF0dG51bSkubmFtZSwKKyAgICAgICAgJ3JlZmVyZW5jZWQnOiBfLmZpbmQoc291cmNl LmNvbHVtbnMsIChjb2wpPT5kYXRhLnJlZmVyZW5jZWRfY29sdW1uX2F0dG51bSA9PSBjb2wuYXR0 bnVtKS5uYW1lLAorICAgICAgfV0sCisgICAgfQorICB9CisKKyAgc2VyaWFsaXplKCkgeworICAg IHJldHVybiB7CisgICAgICAuLi5zdXBlci5zZXJpYWxpemUoKSwKKyAgICAgIGRhdGE6IHRoaXMu Z2V0RGF0YSgpCisgICAgfTsKKyAgfQorfQorCitjb25zdCBDdXN0b21MaW5rRW5kV2lkZ2V0ID0g cHJvcHMgPT4geworICBjb25zdCB7IHBvaW50LCByb3RhdGlvbiwgdHgsIHR5LCB0eXBlIH0gPSBw cm9wczsKKworICBjb25zdCBzdmdGb3JUeXBlID0gKGl0eXBlKSA9PiB7CisgICAgaWYoaXR5cGUg PT0gJ21hbnknKSB7CisgICAgICByZXR1cm4gKAorICAgICAgICA8PgorICAgICAgICAgIDxjaXJj bGUgY2xhc3NOYW1lPSJzdmctbGluay1lbGUgc3ZnLW90b20tY2lyY2xlIiBjeD0iMCIgY3k9IjE2 IiByPXtwcm9wcy53aWR0aCoxLjc1fSBzdHJva2VXaWR0aD17cHJvcHMud2lkdGh9IC8+CisgICAg ICAgICAgPHBvbHlsaW5lIGNsYXNzTmFtZT0ic3ZnLWxpbmstZWxlIiBwb2ludHM9Ii04LDAgMCwx NSAwLDAgMCwzMCAwLDE1IDgsMCIgZmlsbD0ibm9uZSIgc3Ryb2tlV2lkdGg9e3Byb3BzLndpZHRo fSAvPgorICAgICAgICA8Lz4KKyAgICAgICkKKyAgICB9IGVsc2UgaWYgKHR5cGUgPT0gJ29uZScp IHsKKyAgICAgIHJldHVybiAoCisgICAgICAgIDxwb2x5bGluZSBjbGFzc05hbWU9InN2Zy1saW5r LWVsZSIgcG9pbnRzPSItOCwxNSAwLDE1IDAsMCAwLDMwIDAsMTUgOCwxNSIgZmlsbD0ibm9uZSIg c3Ryb2tlV2lkdGg9e3Byb3BzLndpZHRofSAvPgorICAgICAgKQorICAgIH0KKyAgfQorCisgIHJl dHVybiAoCisgICAgPGcgdHJhbnNmb3JtPXsndHJhbnNsYXRlKCcgKyBwb2ludC5nZXRQb3NpdGlv bigpLnggKyAnLCAnICsgcG9pbnQuZ2V0UG9zaXRpb24oKS55ICsgJyknfT4KKyAgICAgIDxnIHRy YW5zZm9ybT17J3RyYW5zbGF0ZSgnK3R4KycsJyt0eSsnKSd9PgorICAgICAgICA8ZyBzdHlsZT17 eyB0cmFuc2Zvcm06ICdyb3RhdGUoJyArIHJvdGF0aW9uICsgJ2RlZyknIH19PgorICAgICAgICAg IHtzdmdGb3JUeXBlKHR5cGUpfQorICAgICAgICA8L2c+CisgICAgICA8L2c+CisgICAgPC9nPgor ICApOworfTsKKworZXhwb3J0IGNsYXNzIE9uZVRvTWFueUxpbmtXaWRnZXQgZXh0ZW5kcyBSaWdo dEFuZ2xlTGlua1dpZGdldCB7CisgIGNvbnN0cnVjdG9yKHByb3BzKSB7CisgICAgc3VwZXIocHJv cHMpOworICB9CisKKyAgZW5kUG9pbnRUcmFuc2xhdGlvbihhbGlnbm1lbnQsIG9mZnNldCkgewor ICAgIGxldCBkZWdyZWUgPSAwOworICAgIGxldCB0eCA9IDAsIHR5ID0gMDsKKyAgICBzd2l0Y2go YWxpZ25tZW50KSB7CisgICAgICBjYXNlIFBvcnRNb2RlbEFsaWdubWVudC5CT1RUT006CisgICAg ICAgIHR5ID0gLW9mZnNldDsKKyAgICAgICAgYnJlYWs7CisgICAgICBjYXNlIFBvcnRNb2RlbEFs aWdubWVudC5MRUZUOgorICAgICAgICBkZWdyZWUgPSA5MDsKKyAgICAgICAgdHggPSBvZmZzZXQK KyAgICAgICAgYnJlYWs7CisgICAgICBjYXNlIFBvcnRNb2RlbEFsaWdubWVudC5UT1A6CisgICAg ICAgIGRlZ3JlZSA9IDE4MDsKKyAgICAgICAgdHkgPSBvZmZzZXQ7CisgICAgICAgIGJyZWFrOwor ICAgICAgY2FzZSBQb3J0TW9kZWxBbGlnbm1lbnQuUklHSFQ6CisgICAgICAgIGRlZ3JlZSA9IC05 MDsKKyAgICAgICAgdHggPSAtb2Zmc2V0OworICAgICAgICBicmVhazsKKyAgICB9CisgICAgcmV0 dXJuIFtkZWdyZWUsIHR4LCB0eV07CisgIH0KKworICBhZGRDdXN0b21XaWRnZXRQb2ludCh0eXBl LCBlbmRwb2ludCwgcG9pbnQpIHsKKyAgICBsZXQgb2Zmc2V0ID0gMzA7CisgICAgY29uc3QgW3Jv dGF0aW9uLCB0eCwgdHldID0gdGhpcy5lbmRQb2ludFRyYW5zbGF0aW9uKGVuZHBvaW50Lm9wdGlv bnMuYWxpZ25tZW50LCBvZmZzZXQpOworICAgIGlmKCFwb2ludCkgeworICAgICAgcG9pbnQgPSB0 aGlzLnByb3BzLmxpbmsucG9pbnQoCisgICAgICAgIGVuZHBvaW50LmdldFgoKS10eCwgZW5kcG9p bnQuZ2V0WSgpLXR5LCB7J29uZSc6IDEsICdtYW55JzogMn1bdHlwZV0KKyAgICAgICk7CisgICAg fSBlbHNlIHsKKyAgICAgIHBvaW50LnNldFBvc2l0aW9uKGVuZHBvaW50LmdldFgoKS10eCwgZW5k cG9pbnQuZ2V0WSgpLXR5KTsKKyAgICB9CisKKyAgICByZXR1cm4geworICAgICAgdHlwZTogdHlw ZSwKKyAgICAgIHBvaW50OiBwb2ludCwKKyAgICAgIHJvdGF0aW9uOiByb3RhdGlvbiwKKyAgICAg IHR4OiB0eCwKKyAgICAgIHR5OiB0eQorICAgIH0KKyAgfQorCisgIGdlbmVyYXRlQ3VzdG9tRW5k V2lkZ2V0KHt0eXBlLCBwb2ludCwgcm90YXRpb24sIHR4LCB0eX0pIHsKKyAgICByZXR1cm4gKAor ICAgICAgPEN1c3RvbUxpbmtFbmRXaWRnZXQKKyAgICAgICAga2V5PXtwb2ludC5nZXRJRCgpfQor ICAgICAgICBwb2ludD17cG9pbnR9CisgICAgICAgIHJvdGF0aW9uPXtyb3RhdGlvbn0KKyAgICAg ICAgdHg9e3R4fQorICAgICAgICB0eT17dHl9CisgICAgICAgIHR5cGU9e3R5cGV9CisgICAgICAg IGNvbG9yU2VsZWN0ZWQ9e3RoaXMucHJvcHMubGluay5nZXRPcHRpb25zKCkuc2VsZWN0ZWRDb2xv cn0KKyAgICAgICAgY29sb3I9e3RoaXMucHJvcHMubGluay5nZXRPcHRpb25zKCkuY29sb3J9Cisg ICAgICAgIHdpZHRoPXt0aGlzLnByb3BzLndpZHRofQorICAgICAgLz4KKyAgICApOworICB9CisK KyAgZHJhZ2dpbmdFdmVudChldmVudCwgaW5kZXgpIHsKKyAgICBsZXQgcG9pbnRzID0gdGhpcy5w cm9wcy5saW5rLmdldFBvaW50cygpOworICAgIC8vIGdldCBtb3ZpbmcgZGlmZmVyZW5jZS4gSW5k ZXggKyAxIHdpbGwgd29yayBiZWNhdXNlIGxpbmtzIGluZGV4ZXMgaGFzCisgICAgLy8gbGVuZ3Ro ID0gcG9pbnRzLmxlbmdodCAtIDEKKyAgICBsZXQgZHggPSBNYXRoLmFicyhwb2ludHNbaW5kZXhd LmdldFgoKSAtIHBvaW50c1tpbmRleCArIDFdLmdldFgoKSk7CisgICAgbGV0IGR5ID0gTWF0aC5h YnMocG9pbnRzW2luZGV4XS5nZXRZKCkgLSBwb2ludHNbaW5kZXggKyAxXS5nZXRZKCkpOworCisg ICAgLy8gbW92aW5nIHdpdGggeSBkaXJlY3Rpb24KKyAgICBpZiAoZHggPT09IDApIHsKKyAgICAg IHRoaXMuY2FsY3VsYXRlUG9zaXRpb25zKHBvaW50cywgZXZlbnQsIGluZGV4LCAneCcpOworICAg IH0gZWxzZSBpZiAoZHkgPT09IDApIHsKKyAgICAgIHRoaXMuY2FsY3VsYXRlUG9zaXRpb25zKHBv aW50cywgZXZlbnQsIGluZGV4LCAneScpOworICAgIH0KKyAgICB0aGlzLnByb3BzLmxpbmsuc2V0 Rmlyc3RBbmRMYXN0UGF0aHNEaXJlY3Rpb24oKTsKKyAgfQorCisgIGhhbmRsZU1vdmUgPSBmdW5j dGlvbihldmVudCkgeworICAgIHRoaXMucHJvcHMubGluay5nZXRUYXJnZXRQb3J0KCkKKyAgICB0 aGlzLmRyYWdnaW5nRXZlbnQoZXZlbnQsIHRoaXMuZHJhZ2dpbmdfaW5kZXgpOworICAgIHRoaXMu cHJvcHMubGluay5maXJlRXZlbnQoe30sICdwb3NpdGlvbkNoYW5nZWQnKTsKKyAgfS5iaW5kKHRo aXMpOworCisgIHJlbmRlcigpIHsKKyAgICAvL2Vuc3VyZSBpZCBpcyBwcmVzZW50IGZvciBhbGwg cG9pbnRzIG9uIHRoZSBwYXRoCisgICAgbGV0IHBvaW50cyA9IHRoaXMucHJvcHMubGluay5nZXRQ b2ludHMoKTsKKyAgICBsZXQgcGF0aHMgPSBbXTsKKworICAgIGxldCBvbmVQb2ludCA9IHRoaXMu YWRkQ3VzdG9tV2lkZ2V0UG9pbnQoJ29uZScsIHRoaXMucHJvcHMubGluay5nZXRTb3VyY2VQb3J0 KCksIHBvaW50c1swXSk7CisgICAgbGV0IG1hbnlQb2ludCA9IHRoaXMuYWRkQ3VzdG9tV2lkZ2V0 UG9pbnQoJ21hbnknLCB0aGlzLnByb3BzLmxpbmsuZ2V0VGFyZ2V0UG9ydCgpLCBwb2ludHNbcG9p bnRzLmxlbmd0aC0xXSk7CisKKyAgICBpZiAoIXRoaXMuc3RhdGUuY2FuRHJhZyAmJiBwb2ludHMu bGVuZ3RoID4gMikgeworICAgICAgLy8gVGhvc2UgcG9pbnRzIGFuZCBpdHMgcG9zaXRpb24gb25s eSB3aWxsIGJlIG1vdmVkCisgICAgICBmb3IgKGxldCBpID0gMTsgaSA8IHBvaW50cy5sZW5ndGg7 IGkgKz0gcG9pbnRzLmxlbmd0aCAtIDIpIHsKKyAgICAgICAgaWYgKGkgLSAxID09PSAwKSB7Cisg ICAgICAgICAgaWYgKHRoaXMucHJvcHMubGluay5nZXRGaXJzdFBhdGhYZGlyZWN0aW9uKCkpIHsK KyAgICAgICAgICAgIHBvaW50c1tpXS5zZXRQb3NpdGlvbihwb2ludHNbaV0uZ2V0WCgpLCBwb2lu dHNbaSAtIDFdLmdldFkoKSk7CisgICAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgIHBvaW50 c1tpXS5zZXRQb3NpdGlvbihwb2ludHNbaSAtIDFdLmdldFgoKSwgcG9pbnRzW2ldLmdldFkoKSk7 CisgICAgICAgICAgfQorICAgICAgICB9IGVsc2UgeworICAgICAgICAgIGlmICh0aGlzLnByb3Bz LmxpbmsuZ2V0TGFzdFBhdGhYZGlyZWN0aW9uKCkpIHsKKyAgICAgICAgICAgIHBvaW50c1tpIC0g MV0uc2V0UG9zaXRpb24ocG9pbnRzW2kgLSAxXS5nZXRYKCksIHBvaW50c1tpXS5nZXRZKCkpOwor ICAgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICBwb2ludHNbaSAtIDFdLnNldFBvc2l0aW9u KHBvaW50c1tpXS5nZXRYKCksIHBvaW50c1tpIC0gMV0uZ2V0WSgpKTsKKyAgICAgICAgICB9Cisg ICAgICAgIH0KKyAgICAgIH0KKyAgICB9CisKKyAgICAvLyBJZiB0aGVyZSBpcyBleGlzdGluZyBs aW5rIHdoaWNoIGhhcyB0d28gcG9pbnRzIGFkZCBvbmUKKyAgICBpZiAocG9pbnRzLmxlbmd0aCA9 PT0gMiAmJiAhdGhpcy5zdGF0ZS5jYW5EcmFnKSB7CisgICAgICB0aGlzLnByb3BzLmxpbmsuYWRk UG9pbnQoCisgICAgICAgIG5ldyBQb2ludE1vZGVsKHsKKyAgICAgICAgICBsaW5rOiB0aGlzLnBy b3BzLmxpbmssCisgICAgICAgICAgcG9zaXRpb246IG5ldyBQb2ludChvbmVQb2ludC5wb2ludC5n ZXRYKCksIG1hbnlQb2ludC5wb2ludC5nZXRZKCkpCisgICAgICAgIH0pCisgICAgICApOworICAg IH0KKworICAgIHBhdGhzLnB1c2godGhpcy5nZW5lcmF0ZUN1c3RvbUVuZFdpZGdldChvbmVQb2lu dCkpOworICAgIGZvciAobGV0IGogPSAwOyBqIDwgcG9pbnRzLmxlbmd0aCAtIDE7IGorKykgewor ICAgICAgcGF0aHMucHVzaCgKKyAgICAgICAgdGhpcy5nZW5lcmF0ZUxpbmsoCisgICAgICAgICAg TGlua1dpZGdldC5nZW5lcmF0ZUxpbmVQYXRoKHBvaW50c1tqXSwgcG9pbnRzW2ogKyAxXSksCisg ICAgICAgICAgeworICAgICAgICAgICAgJ2RhdGEtbGlua2lkJzogdGhpcy5wcm9wcy5saW5rLmdl dElEKCksCisgICAgICAgICAgICAnZGF0YS1wb2ludCc6IGosCisgICAgICAgICAgICBvbk1vdXNl RG93bjogKGV2ZW50KSA9PiB7CisgICAgICAgICAgICAgIGlmIChldmVudC5idXR0b24gPT09IDAp IHsKKyAgICAgICAgICAgICAgICB0aGlzLnNldFN0YXRlKHsgY2FuRHJhZzogdHJ1ZSB9KTsKKyAg ICAgICAgICAgICAgICB0aGlzLmRyYWdnaW5nX2luZGV4ID0gajsKKyAgICAgICAgICAgICAgICAv LyBSZWdpc3RlciBtb3VzZSBtb3ZlIGV2ZW50IHRvIHRyYWNrIG1vdXNlIHBvc2l0aW9uCisgICAg ICAgICAgICAgICAgLy8gT24gbW91c2UgdXAgdGhlc2UgZXZlbnRzIGFyZSB1bnJlZ2lzdGVyZWQg Y2hlY2sgInRoaXMuaGFuZGxlVXAiCisgICAgICAgICAgICAgICAgd2luZG93LmFkZEV2ZW50TGlz dGVuZXIoJ21vdXNlbW92ZScsIHRoaXMuaGFuZGxlTW92ZSk7CisgICAgICAgICAgICAgICAgd2lu ZG93LmFkZEV2ZW50TGlzdGVuZXIoJ21vdXNldXAnLCB0aGlzLmhhbmRsZVVwKTsKKyAgICAgICAg ICAgICAgfQorICAgICAgICAgICAgfSwKKyAgICAgICAgICAgIG9uTW91c2VFbnRlcjogKGV2ZW50 KSA9PiB7CisgICAgICAgICAgICAgIHRoaXMuc2V0U3RhdGUoeyBzZWxlY3RlZDogdHJ1ZSB9KTsK KyAgICAgICAgICAgICAgdGhpcy5wcm9wcy5saW5rLmxhc3RIb3ZlckluZGV4T2ZQYXRoID0gajsK KyAgICAgICAgICAgIH0KKyAgICAgICAgICB9LAorICAgICAgICAgIGoKKyAgICAgICAgKQorICAg ICAgKTsKKyAgICB9CisgICAgcGF0aHMucHVzaCh0aGlzLmdlbmVyYXRlQ3VzdG9tRW5kV2lkZ2V0 KG1hbnlQb2ludCkpOworCisKKyAgICB0aGlzLnJlZlBhdGhzID0gW107CisgICAgcmV0dXJuIDxn IGRhdGEtZGVmYXVsdC1saW5rLXRlc3Q9e3RoaXMucHJvcHMubGluay5nZXRPcHRpb25zKCkudGVz dE5hbWV9PntwYXRoc308L2c+OworICB9Cit9CisKK2V4cG9ydCBjbGFzcyBPbmVUb01hbnlMaW5r RmFjdG9yeSBleHRlbmRzIERlZmF1bHRMaW5rRmFjdG9yeSB7CisgIGNvbnN0cnVjdG9yKCkgewor ICAgIHN1cGVyKCdvbmV0b21hbnknKTsKKyAgfQorCisgIGdlbmVyYXRlTW9kZWwoZXZlbnQpIHsK KyAgICByZXR1cm4gbmV3IE9uZVRvTWFueUxpbmtNb2RlbChldmVudC5pbml0aWFsQ29uZmlnKTsK KyAgfQorCisgIGdlbmVyYXRlUmVhY3RXaWRnZXQoZXZlbnQpIHsKKyAgICByZXR1cm4gPE9uZVRv TWFueUxpbmtXaWRnZXQgY29sb3I9JyNmZmYnIHdpZHRoPXsxfSBzbW9vdGg9e3RydWV9IGxpbms9 e2V2ZW50Lm1vZGVsfSBkaWFncmFtRW5naW5lPXt0aGlzLmVuZ2luZX0gZmFjdG9yeT17dGhpc30g Lz47CisgIH0KKworICBnZW5lcmF0ZUxpbmtTZWdtZW50KG1vZGVsLCBzZWxlY3RlZCwgcGF0aCkg eworICAgIHJldHVybiAoCisgICAgICA8cGF0aAorICAgICAgICBjbGFzc05hbWU9eydzdmctbGlu ay1lbGUgcGF0aCAnICsgKHNlbGVjdGVkID8gJ3NlbGVjdGVkJyA6ICcnKX0KKyAgICAgICAgc3Ry b2tlPXttb2RlbC5nZXRPcHRpb25zKCkuY29sb3J9CisgICAgICAgIHNlbGVjdGVkPXtzZWxlY3Rl ZH0KKyAgICAgICAgc3Ryb2tlV2lkdGg9e21vZGVsLmdldE9wdGlvbnMoKS53aWR0aH0KKyAgICAg ICAgZD17cGF0aH0KKyAgICAgID4KKyAgICAgIDwvcGF0aD4KKyAgICApOworICB9Cit9CmRpZmYg LS1naXQgYS93ZWIvcGdhZG1pbi90b29scy9lcmQvc3RhdGljL2pzL2VyZF90b29sL25vZGVzL1Rh YmxlTm9kZS5qc3ggYi93ZWIvcGdhZG1pbi90b29scy9lcmQvc3RhdGljL2pzL2VyZF90b29sL25v ZGVzL1RhYmxlTm9kZS5qc3gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwLi4y MDE2YWY1OTgKLS0tIC9kZXYvbnVsbAorKysgYi93ZWIvcGdhZG1pbi90b29scy9lcmQvc3RhdGlj L2pzL2VyZF90b29sL25vZGVzL1RhYmxlTm9kZS5qc3gKQEAgLTAsMCArMSwyMDIgQEAKKy8vLy8v Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8K Ky8vCisvLyBwZ0FkbWluIDQgLSBQb3N0Z3JlU1FMIFRvb2xzCisvLworLy8gQ29weXJpZ2h0IChD KSAyMDEzIC0gMjAyMCwgVGhlIHBnQWRtaW4gRGV2ZWxvcG1lbnQgVGVhbQorLy8gVGhpcyBzb2Z0 d2FyZSBpcyByZWxlYXNlZCB1bmRlciB0aGUgUG9zdGdyZVNRTCBMaWNlbmNlCisvLworLy8vLy8v Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8K KworaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JzsKK2ltcG9ydCB7IERlZmF1bHROb2RlTW9kZWws IFBvcnRXaWRnZXQgfSBmcm9tICdAcHJvamVjdHN0b3JtL3JlYWN0LWRpYWdyYW1zJzsKK2ltcG9y dCB7IEFic3RyYWN0UmVhY3RGYWN0b3J5IH0gZnJvbSAnQHByb2plY3RzdG9ybS9yZWFjdC1jYW52 YXMtY29yZSc7CitpbXBvcnQgXyBmcm9tICdsb2Rhc2gnOworaW1wb3J0IHsgSWNvbkJ1dHRvbiwg RGV0YWlsc1RvZ2dsZUJ1dHRvbiB9IGZyb20gJy4uL3VpX2NvbXBvbmVudHMvVG9vbEJhcic7CisK K2NvbnN0IFRZUEUgPSAndGFibGUnOworCitleHBvcnQgY2xhc3MgVGFibGVOb2RlTW9kZWwgZXh0 ZW5kcyBEZWZhdWx0Tm9kZU1vZGVsIHsKKyAgY29uc3RydWN0b3Ioe290aGVySW5mbywgLi4ub3B0 aW9uc30pIHsKKyAgICBzdXBlcih7CisgICAgICAuLi5vcHRpb25zLAorICAgICAgdHlwZTogVFlQ RQorICAgIH0pOworCisgICAgdGhpcy5fbm90ZSA9IG90aGVySW5mby5ub3RlIHx8ICcnOworCisg ICAgdGhpcy5fZGF0YSA9IHsKKyAgICAgIGNvbHVtbnM6IFtdLAorICAgICAgLi4ub3RoZXJJbmZv LmRhdGEsCisgICAgfTsKKyAgfQorCisgIGdldFBvcnROYW1lKGF0dG51bSkgeworICAgIHJldHVy biBgY29sbC1wb3J0LSR7YXR0bnVtfWA7CisgIH0KKworICBzZXROb3RlKG5vdGUpIHsKKyAgICB0 aGlzLl9ub3RlID0gbm90ZTsKKyAgfQorCisgIGdldE5vdGUoKSB7CisgICAgcmV0dXJuIHRoaXMu X25vdGU7CisgIH0KKworICBhZGRDb2x1bW4oY29sKSB7CisgICAgdGhpcy5fZGF0YS5jb2x1bW5z LnB1c2goY29sKTsKKyAgfQorCisgIGdldENvbHVtbkF0KGF0dG51bSkgeworICAgIHJldHVybiBf LmZpbmQodGhpcy5nZXRDb2x1bW5zKCksIChjb2wpPT5jb2wuYXR0bnVtPT1hdHRudW0pOworICB9 CisKKyAgZ2V0Q29sdW1ucygpIHsKKyAgICByZXR1cm4gdGhpcy5fZGF0YS5jb2x1bW5zOworICB9 CisKKyAgc2V0TmFtZShuYW1lKSB7CisgICAgdGhpcy5fZGF0YVsnbmFtZSddID0gbmFtZTsKKyAg fQorCisgIGNsb25lRGF0YShuYW1lKSB7CisgICAgbGV0IG5ld0RhdGEgPSB7CisgICAgICAuLi50 aGlzLmdldERhdGEoKQorICAgIH07CisgICAgaWYobmFtZSkgeworICAgICAgbmV3RGF0YVsnbmFt ZSddID0gbmFtZQorICAgIH0KKyAgICByZXR1cm4gbmV3RGF0YTsKKyAgfQorCisgIHNldERhdGEo ZGF0YSkgeworICAgIGxldCBzZWxmID0gdGhpczsKKyAgICAvKiBSZW1vdmUgdGhlIGxpbmtzIGlm IGNvbHVtbiBkcm9wcGVkICovCisgICAgXy5kaWZmZXJlbmNlV2l0aCh0aGlzLl9kYXRhLmNvbHVt bnMsIGRhdGEuY29sdW1ucywgZnVuY3Rpb24oZXhpc3RpbmcsIGluY29taW5nKSB7CisgICAgICBy ZXR1cm4gZXhpc3RpbmcuYXR0bnVtID09IGluY29taW5nLmF0dG51bTsKKyAgICB9KS5mb3JFYWNo KChjb2wpPT57CisgICAgICBsZXQgZXhpc3RQb3J0ID0gc2VsZi5nZXRQb3J0KHNlbGYuZ2V0UG9y dE5hbWUoY29sLmF0dG51bSkpOworICAgICAgaWYoZXhpc3RQb3J0KSB7CisgICAgICAgIGV4aXN0 UG9ydC5yZW1vdmVBbGxMaW5rcygpOworICAgICAgICBzZWxmLnJlbW92ZVBvcnQoZXhpc3RQb3J0 KTsKKyAgICAgIH0KKyAgICB9KTsKKyAgICB0aGlzLl9kYXRhID0gZGF0YTsKKyAgICB0aGlzLmZp cmVFdmVudCh7fSwgJ25vZGVVcGRhdGVkJyk7CisgIH0KKworICBnZXREYXRhKCkgeworICAgIHJl dHVybiB0aGlzLl9kYXRhOworICB9CisKKyAgZ2V0U2NoZW1hVGFibGVOYW1lKCkgeworICAgIHJl dHVybiBbdGhpcy5fZGF0YS5zY2hlbWEsIHRoaXMuX2RhdGEubmFtZV07CisgIH0KKworICByZW1v dmUoKSB7CisgICAgT2JqZWN0LnZhbHVlcyh0aGlzLmdldFBvcnRzKCkpLmZvckVhY2goKHBvcnQp PT57CisgICAgICBwb3J0LnJlbW92ZUFsbExpbmtzKCk7CisgICAgfSk7CisgICAgc3VwZXIucmVt b3ZlKCk7CisgIH0KKworICBzZXJpYWxpemVEYXRhKCkgeworICAgIHJldHVybiB0aGlzLmdldERh dGEoKTsKKyAgfQorCisgIHNlcmlhbGl6ZSgpIHsKKyAgICByZXR1cm4geworICAgICAgLi4uc3Vw ZXIuc2VyaWFsaXplKCksCisgICAgICBvdGhlckluZm86IHsKKyAgICAgICAgZGF0YTogdGhpcy5n ZXREYXRhKCksCisgICAgICAgIG5vdGU6IHRoaXMuZ2V0Tm90ZSgpLAorICAgICAgfQorICAgIH07 CisgIH0KK30KKworZXhwb3J0IGNsYXNzIFRhYmxlTm9kZVdpZGdldCBleHRlbmRzIFJlYWN0LkNv bXBvbmVudCB7CisgIGNvbnN0cnVjdG9yKHByb3BzKSB7CisgICAgc3VwZXIocHJvcHMpOworCisg ICAgdGhpcy5zdGF0ZSA9IHsKKyAgICAgIHNob3dfZGV0YWlsczogdHJ1ZQorICAgIH0KKworICAg IHRoaXMucHJvcHMubm9kZS5yZWdpc3Rlckxpc3RlbmVyKHsKKyAgICAgIHRvZ2dsZURldGFpbHM6 IChldmVudCkgPT4geworICAgICAgICB0aGlzLnNldFN0YXRlKHtzaG93X2RldGFpbHM6IGV2ZW50 LnNob3dfZGV0YWlsc30pOworICAgICAgfSwKKyAgICB9KTsKKyAgfQorCisgIGdlbmVyYXRlQ29s dW1uKGNvbCkgeworICAgIGxldCBwb3J0ID0gdGhpcy5wcm9wcy5ub2RlLmdldFBvcnQodGhpcy5w cm9wcy5ub2RlLmdldFBvcnROYW1lKGNvbC5hdHRudW0pKTsKKyAgICByZXR1cm4gKAorICAgICAg PGRpdiBjbGFzc05hbWU9J2QtZmxleCBjb2wtcm93JyBrZXk9e2NvbC5hdHRudW19PgorICAgICAg ICA8ZGl2IGNsYXNzTmFtZT0nZC1mbGV4IGNvbC1yb3ctZGF0YSc+CisgICAgICAgICAgPGRpdj48 c3BhbiBjbGFzc05hbWU9eyd3Y1RhYkljb24gJyArIChjb2wuaXNfcHJpbWFyeV9rZXk/J2ljb24t cHJpbWFyeV9rZXknOidpY29uLWNvbHVtbicpfT48L3NwYW4+PC9kaXY+CisgICAgICAgICAgPGRp dj4KKyAgICAgICAgICAgIDxzcGFuIGNsYXNzTmFtZT0nY29sLW5hbWUnPntjb2wubmFtZX08L3Nw YW4+Jm5ic3A7CisgICAgICAgICAgICB7dGhpcy5zdGF0ZS5zaG93X2RldGFpbHMgJiYKKyAgICAg ICAgICAgIDxzcGFuIGNsYXNzTmFtZT0nY29sLWRhdGF0eXBlJz57Y29sLmNsdHlwZX17Y29sLmF0 dGxlbiA/ICgnKCcrIGNvbC5hdHRsZW4gKyAoY29sLmF0dHByZWNpc2lvbiA/ICcsJytjb2wuYXR0 cHJlY2lzaW9uIDogJycpICsnKScpIDogJyd9PC9zcGFuPn0KKyAgICAgICAgICA8L2Rpdj4KKyAg ICAgICAgPC9kaXY+CisgICAgICAgIDxkaXYgY2xhc3NOYW1lPSJtbC1hdXRvIGNvbC1yb3ctcG9y dCI+e3RoaXMuZ2VuZXJhdGVQb3J0KHBvcnQpfTwvZGl2PgorICAgICAgPC9kaXY+CisgICAgKQor ICB9CisKKyAgZ2VuZXJhdGVQb3J0ID0gcG9ydCA9PiB7CisgICAgaWYocG9ydCkgeworICAgICAg cmV0dXJuICgKKyAgICAgICAgPFBvcnRXaWRnZXQgZW5naW5lPXt0aGlzLnByb3BzLmVuZ2luZX0g cG9ydD17cG9ydH0ga2V5PXtwb3J0LmdldElEKCl9IGNsYXNzTmFtZT17InBvcnQtIiArIHBvcnQu b3B0aW9ucy5hbGlnbm1lbnR9IC8+CisgICAgICApOworICAgIH0KKyAgICByZXR1cm4gPD48Lz47 CisgIH07CisKKyAgdG9nZ2xlU2hvd0RldGFpbHMgPSAoZSkgPT4geworICAgIGUucHJldmVudERl ZmF1bHQoKTsKKyAgICB0aGlzLnNldFN0YXRlKChwcmV2U3RhdGUpPT4oe3Nob3dfZGV0YWlsczog IXByZXZTdGF0ZS5zaG93X2RldGFpbHN9KSk7CisgIH0KKworICByZW5kZXIoKSB7CisgICAgbGV0 IG5vZGVfZGF0YSA9IHRoaXMucHJvcHMubm9kZS5nZXREYXRhKCk7CisgICAgcmV0dXJuICgKKyAg ICAgIDxkaXYgY2xhc3NOYW1lPXsidGFibGUtbm9kZSAiICsgKHRoaXMucHJvcHMubm9kZS5pc1Nl bGVjdGVkKCkgPyAnc2VsZWN0ZWQnOiAnJykgfSBvbkRvdWJsZUNsaWNrPXsoKT0+e3RoaXMucHJv cHMubm9kZS5maXJlRXZlbnQoe30sICdlZGl0Tm9kZScpfX0+CisgICAgICAgIDxkaXYgY2xhc3NO YW1lPSJ0YWJsZS10b29sYmFyIj4KKyAgICAgICAgICA8RGV0YWlsc1RvZ2dsZUJ1dHRvbiBjbGFz c05hbWU9J2J0bi14cycgc2hvd0RldGFpbHM9e3RoaXMuc3RhdGUuc2hvd19kZXRhaWxzfSBvbkNs aWNrPXt0aGlzLnRvZ2dsZVNob3dEZXRhaWxzfSBvbkRvdWJsZUNsaWNrPXsoZSk9PntlLnN0b3BQ cm9wYWdhdGlvbigpO319IC8+CisgICAgICAgICAge3RoaXMucHJvcHMubm9kZS5nZXROb3RlKCkg JiYKKyAgICAgICAgICAgIDxJY29uQnV0dG9uIGljb249ImZhciBmYS1zdGlja3ktbm90ZSIgY2xh c3NOYW1lPSJidG4teHMgYnRuLXdhcm5pbmcgbWwtYXV0byIgb25DbGljaz17KCk9PnsKKyAgICAg ICAgICAgICAgdGhpcy5wcm9wcy5ub2RlLmZpcmVFdmVudCh7fSwgJ3Nob3dOb3RlJykKKyAgICAg ICAgICAgIH19IHRpdGxlPSJDaGVjayBub3RlIiAvPn0KKyAgICAgICAgPC9kaXY+CisgICAgICAg IDxkaXYgY2xhc3NOYW1lPSJ0YWJsZS1zY2hlbWEiPgorICAgICAgICAgIDxzcGFuIGNsYXNzTmFt ZT0id2NUYWJJY29uIGljb24tc2NoZW1hIj48L3NwYW4+CisgICAgICAgICAge25vZGVfZGF0YS5z Y2hlbWF9CisgICAgICAgIDwvZGl2PgorICAgICAgICA8ZGl2IGNsYXNzTmFtZT0idGFibGUtbmFt ZSI+CisgICAgICAgICAgPHNwYW4gY2xhc3NOYW1lPSJ3Y1RhYkljb24gaWNvbi10YWJsZSI+PC9z cGFuPgorICAgICAgICAgIHtub2RlX2RhdGEubmFtZX0KKyAgICAgICAgPC9kaXY+CisgICAgICAg IDxkaXYgY2xhc3NOYW1lPSJ0YWJsZS1jb2xzIj4KKyAgICAgICAgICB7Xy5tYXAobm9kZV9kYXRh LmNvbHVtbnMsIChjb2wpPT50aGlzLmdlbmVyYXRlQ29sdW1uKGNvbCkpfQorICAgICAgICA8L2Rp dj4KKyAgICAgIDwvZGl2PgorICAgICk7CisgIH0KK30KKworZXhwb3J0IGNsYXNzIFRhYmxlTm9k ZUZhY3RvcnkgZXh0ZW5kcyBBYnN0cmFjdFJlYWN0RmFjdG9yeSB7CisgIGNvbnN0cnVjdG9yKCkg eworICAgIHN1cGVyKFRZUEUpOworICB9CisKKyAgZ2VuZXJhdGVNb2RlbChldmVudCkgeworICAg IHJldHVybiBuZXcgVGFibGVOb2RlTW9kZWwoZXZlbnQuaW5pdGlhbENvbmZpZyk7CisgIH0KKwor ICBnZW5lcmF0ZVJlYWN0V2lkZ2V0KGV2ZW50KSB7CisgICAgcmV0dXJuIDxUYWJsZU5vZGVXaWRn ZXQgZW5naW5lPXt0aGlzLmVuZ2luZX0gbm9kZT17ZXZlbnQubW9kZWx9IC8+OworICB9Cit9CmRp ZmYgLS1naXQgYS93ZWIvcGdhZG1pbi90b29scy9lcmQvc3RhdGljL2pzL2VyZF90b29sL3BvcnRz L09uZVRvTWFueVBvcnQuanMgYi93ZWIvcGdhZG1pbi90b29scy9lcmQvc3RhdGljL2pzL2VyZF90 b29sL3BvcnRzL09uZVRvTWFueVBvcnQuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw MDAwMDAwLi42ZjZlMmMwZjIKLS0tIC9kZXYvbnVsbAorKysgYi93ZWIvcGdhZG1pbi90b29scy9l cmQvc3RhdGljL2pzL2VyZF90b29sL3BvcnRzL09uZVRvTWFueVBvcnQuanMKQEAgLTAsMCArMSw0 MyBAQAorLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v Ly8vLy8vLy8vLworLy8KKy8vIHBnQWRtaW4gNCAtIFBvc3RncmVTUUwgVG9vbHMKKy8vCisvLyBD b3B5cmlnaHQgKEMpIDIwMTMgLSAyMDIwLCBUaGUgcGdBZG1pbiBEZXZlbG9wbWVudCBUZWFtCisv LyBUaGlzIHNvZnR3YXJlIGlzIHJlbGVhc2VkIHVuZGVyIHRoZSBQb3N0Z3JlU1FMIExpY2VuY2UK Ky8vCisvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v Ly8vLy8vLy8vLworCitpbXBvcnQgeyBQb3J0TW9kZWwgfSBmcm9tICdAcHJvamVjdHN0b3JtL3Jl YWN0LWRpYWdyYW1zLWNvcmUnOworaW1wb3J0IHtPbmVUb01hbnlMaW5rTW9kZWx9IGZyb20gJy4u L2xpbmtzL09uZVRvTWFueUxpbmsnOworaW1wb3J0IHsgQWJzdHJhY3RNb2RlbEZhY3RvcnkgfSBm cm9tICdAcHJvamVjdHN0b3JtL3JlYWN0LWNhbnZhcy1jb3JlJzsKKworY29uc3QgVFlQRSA9ICdv bmV0b21hbnknOworCitleHBvcnQgZGVmYXVsdCBjbGFzcyBPbmVUb01hbnlQb3J0TW9kZWwgZXh0 ZW5kcyBQb3J0TW9kZWwgeworICBjb25zdHJ1Y3Rvcih7b3B0aW9uc30pIHsKKyAgICBzdXBlcih7 CisgICAgICAuLi5vcHRpb25zLAorICAgICAgdHlwZTogVFlQRSwKKyAgICB9KTsKKyAgfQorCisg IHJlbW92ZUFsbExpbmtzKCkgeworICAgIE9iamVjdC52YWx1ZXModGhpcy5nZXRMaW5rcygpKS5m b3JFYWNoKChsaW5rKT0+eworICAgICAgbGluay5yZW1vdmUoKTsKKyAgICB9KTsKKyAgfQorCisg IGNyZWF0ZUxpbmtNb2RlbCgpIHsKKyAgICByZXR1cm4gbmV3IE9uZVRvTWFueUxpbmtNb2RlbCh7 fSk7CisgIH0KK30KKworZXhwb3J0IGNsYXNzIE9uZVRvTWFueVBvcnRGYWN0b3J5IGV4dGVuZHMg QWJzdHJhY3RNb2RlbEZhY3RvcnkgeworICBjb25zdHJ1Y3RvcigpIHsKKyAgICBzdXBlcihUWVBF KTsKKyAgfQorCisgIGdlbmVyYXRlTW9kZWwoZXZlbnQpIHsKKyAgICByZXR1cm4gbmV3IE9uZVRv TWFueVBvcnRNb2RlbChldmVudC5pbml0aWFsQ29uZmlnfHx7fSk7CisgIH0KK30KZGlmZiAtLWdp dCBhL3dlYi9wZ2FkbWluL3Rvb2xzL2VyZC9zdGF0aWMvanMvZXJkX3Rvb2wvdWlfY29tcG9uZW50 cy9Cb2R5V2lkZ2V0LmpzeCBiL3dlYi9wZ2FkbWluL3Rvb2xzL2VyZC9zdGF0aWMvanMvZXJkX3Rv b2wvdWlfY29tcG9uZW50cy9Cb2R5V2lkZ2V0LmpzeApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl eCAwMDAwMDAwMDAuLmFmOTI3MWQyMQotLS0gL2Rldi9udWxsCisrKyBiL3dlYi9wZ2FkbWluL3Rv b2xzL2VyZC9zdGF0aWMvanMvZXJkX3Rvb2wvdWlfY29tcG9uZW50cy9Cb2R5V2lkZ2V0LmpzeApA QCAtMCwwICsxLDY4MSBAQAorLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLworLy8KKy8vIHBnQWRtaW4gNCAtIFBvc3RncmVTUUwgVG9v bHMKKy8vCisvLyBDb3B5cmlnaHQgKEMpIDIwMTMgLSAyMDIwLCBUaGUgcGdBZG1pbiBEZXZlbG9w bWVudCBUZWFtCisvLyBUaGlzIHNvZnR3YXJlIGlzIHJlbGVhc2VkIHVuZGVyIHRoZSBQb3N0Z3Jl U1FMIExpY2VuY2UKKy8vCisvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLworCitpbXBvcnQgKiBhcyBSZWFjdCBmcm9tICdyZWFjdCc7 CitpbXBvcnQgeyBDYW52YXNXaWRnZXQgfSBmcm9tICdAcHJvamVjdHN0b3JtL3JlYWN0LWNhbnZh cy1jb3JlJzsKK2ltcG9ydCBheGlvcyBmcm9tICdheGlvcyc7CitpbXBvcnQgeyBBY3Rpb24sIElu cHV0VHlwZSB9IGZyb20gJ0Bwcm9qZWN0c3Rvcm0vcmVhY3QtY2FudmFzLWNvcmUnOworaW1wb3J0 IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJzsKKworaW1wb3J0IEVSRENvcmUgZnJvbSAnLi4v RVJEQ29yZSc7CitpbXBvcnQgVG9vbEJhciwge0ljb25CdXR0b24sIERldGFpbHNUb2dnbGVCdXR0 b24sIEJ1dHRvbkdyb3VwfSBmcm9tICcuL1Rvb2xCYXInOworaW1wb3J0IENvbm5lY3Rpb25CYXIs IHsgU1RBVFVTIGFzIENPTk5FQ1RfU1RBVFVTIH0gZnJvbSAnLi9Db25uZWN0aW9uQmFyJzsKK2lt cG9ydCBMb2FkZXIgZnJvbSAnLi9Mb2FkZXInOworaW1wb3J0IEZsb2F0aW5nTm90ZSBmcm9tICcu L0Zsb2F0aW5nTm90ZSc7CitpbXBvcnQge3NldFBhbmVsVGl0bGV9IGZyb20gJy4uLy4uL2VyZF9t b2R1bGUnOworaW1wb3J0IGdldHRleHQgZnJvbSAnc291cmNlcy9nZXR0ZXh0JzsKK2ltcG9ydCB1 cmxfZm9yIGZyb20gJ3NvdXJjZXMvdXJsX2Zvcic7CitpbXBvcnQge3Nob3dFUkRTcWxUb29sfSBm cm9tICd0b29scy9kYXRhZ3JpZC9zdGF0aWMvanMvc2hvd19xdWVyeV90b29sJzsKKworLyogQ3Vz dG9tIHJlYWN0LWRpYWdyYW0gYWN0aW9uIGZvciBrZXlib2FyZCBldmVudHMgKi8KK2V4cG9ydCBj bGFzcyBLZXlib2FyZFNob3J0Y3V0QWN0aW9uIGV4dGVuZHMgQWN0aW9uIHsKKyAgY29uc3RydWN0 b3Ioc2hvcnRjdXRfaGFuZGxlcnM9W10pIHsKKyAgICAgIHN1cGVyKHsKKyAgICAgICAgICB0eXBl OiBJbnB1dFR5cGUuS0VZX0RPV04sCisgICAgICAgICAgZmlyZTogKHsgZXZlbnQgfSk9PnsKKyAg ICAgICAgICAgIHRoaXMuY2FsbEhhbmRsZXIoZXZlbnQpOworICAgICAgICAgIH0KKyAgICAgIH0p OworICAgICAgdGhpcy5zaG9ydGN1dHMgPSB7fTsKKworICAgICAgZm9yKGxldCBpPTA7IGk8c2hv cnRjdXRfaGFuZGxlcnMubGVuZ3RoOyBpKyspeworICAgICAgICBsZXQgW2tleSwgaGFuZGxlcl0g PSBzaG9ydGN1dF9oYW5kbGVyc1tpXTsKKyAgICAgICAgdGhpcy5zaG9ydGN1dHNbdGhpcy5zaG9y dGN1dEtleShrZXkuYWx0LCBrZXkuY29udHJvbCwga2V5LnNoaWZ0LCBmYWxzZSwga2V5LmtleS5r ZXlfY29kZSldID0gaGFuZGxlcjsKKyAgICAgIH0KKyAgfQorCisgIHNob3J0Y3V0S2V5KGFsdEtl eSwgY3RybEtleSwgc2hpZnRLZXksIG1ldGFLZXksIGtleUNvZGUpIHsKKyAgICByZXR1cm4gYCR7 YWx0S2V5fToke2N0cmxLZXl9OiR7c2hpZnRLZXl9OiR7bWV0YUtleX06JHtrZXlDb2RlfWA7Cisg IH0KKworICBjYWxsSGFuZGxlcihldmVudCkgeworICAgIGxldCBoYW5kbGVyID0gdGhpcy5zaG9y dGN1dHNbdGhpcy5zaG9ydGN1dEtleShldmVudC5hbHRLZXksIGV2ZW50LmN0cmxLZXksIGV2ZW50 LnNoaWZ0S2V5LCBldmVudC5tZXRhS2V5LCBldmVudC5rZXlDb2RlKV07CisgICAgaWYoaGFuZGxl cikgeworICAgICAgaGFuZGxlcigpOworICAgIH0KKyAgfQorfQorCisvKiBUaGUgbWFpbiBib2R5 IGNvbnRhaW5lciBmb3IgdGhlIEVSRCAqLworZXhwb3J0IGRlZmF1bHQgY2xhc3MgQm9keVdpZGdl dCBleHRlbmRzIFJlYWN0LkNvbXBvbmVudCB7CisgIGNvbnN0cnVjdG9yKCkgeworICAgIHN1cGVy KCk7CisgICAgdGhpcy5zdGF0ZSA9IHsKKyAgICAgIGNvbm5fc3RhdHVzOiBDT05ORUNUX1NUQVRV Uy5ESVNDT05ORUNURUQsCisgICAgICBzZXJ2ZXJfdmVyc2lvbjogbnVsbCwKKyAgICAgIGFueV9p dGVtX3NlbGVjdGVkOiBmYWxzZSwKKyAgICAgIHNpbmdsZV9ub2RlX3NlbGVjdGVkOiBmYWxzZSwK KyAgICAgIHNpbmdsZV9saW5rX3NlbGVjdGVkOiBmYWxzZSwKKyAgICAgIGNvbGxfdHlwZXM6IFtd LAorICAgICAgbG9hZGluZ19tc2c6IG51bGwsCisgICAgICBub3RlX29wZW46IGZhbHNlLAorICAg ICAgbm90ZV9ub2RlOiBudWxsLAorICAgICAgY3VycmVudF9maWxlOiBudWxsLAorICAgICAgZGly dHk6IGZhbHNlLAorICAgICAgc2hvd19kZXRhaWxzOiB0cnVlLAorICAgICAgcHJlZmVyZW5jZXM6 IHt9LAorICAgIH0KKyAgICB0aGlzLmRpYWdyYW0gPSBuZXcgRVJEQ29yZSgpOworICAgIHRoaXMu ZmlsZUlucHV0UmVmID0gUmVhY3QuY3JlYXRlUmVmKCk7CisgICAgdGhpcy5kaWFncmFtQ29udGFp bmVyUmVmID0gUmVhY3QuY3JlYXRlUmVmKCk7CisgICAgdGhpcy5jYW52YXNFbGUgPSBudWxsOwor ICAgIHRoaXMubm90ZVJlZkVsZSA9IG51bGw7CisgICAgdGhpcy5ub3RlTm9kZSA9IG51bGw7Cisg ICAgdGhpcy5rZXlib2FyZEFjdGlvbk9iaiA9IG51bGw7CisKKyAgICB0aGlzLm9uTG9hZERpYWdy YW0gPSB0aGlzLm9uTG9hZERpYWdyYW0uYmluZCh0aGlzKTsKKyAgICB0aGlzLm9uU2F2ZURpYWdy YW0gPSB0aGlzLm9uU2F2ZURpYWdyYW0uYmluZCh0aGlzKTsKKyAgICB0aGlzLm9uU2F2ZUFzRGlh Z3JhbSA9IHRoaXMub25TYXZlQXNEaWFncmFtLmJpbmQodGhpcyk7CisgICAgdGhpcy5vblNRTENs aWNrID0gdGhpcy5vblNRTENsaWNrLmJpbmQodGhpcyk7CisgICAgdGhpcy5vbkFkZE5ld05vZGUg PSB0aGlzLm9uQWRkTmV3Tm9kZS5iaW5kKHRoaXMpOworICAgIHRoaXMub25FZGl0Tm9kZSA9IHRo aXMub25FZGl0Tm9kZS5iaW5kKHRoaXMpOworICAgIHRoaXMub25DbG9uZU5vZGUgPSB0aGlzLm9u Q2xvbmVOb2RlLmJpbmQodGhpcyk7CisgICAgdGhpcy5vbkRlbGV0ZU5vZGUgPSB0aGlzLm9uRGVs ZXRlTm9kZS5iaW5kKHRoaXMpOworICAgIHRoaXMub25Ob3RlQ2xpY2sgPSB0aGlzLm9uTm90ZUNs aWNrLmJpbmQodGhpcyk7CisgICAgdGhpcy5vbk5vdGVDbG9zZSA9IHRoaXMub25Ob3RlQ2xvc2Uu YmluZCh0aGlzKTsKKyAgICB0aGlzLm9uT25lVG9NYW55Q2xpY2sgPSB0aGlzLm9uT25lVG9NYW55 Q2xpY2suYmluZCh0aGlzKTsKKyAgICB0aGlzLm9uTWFueVRvTWFueUNsaWNrID0gdGhpcy5vbk1h bnlUb01hbnlDbGljay5iaW5kKHRoaXMpOworICAgIHRoaXMub25BdXRvRGlzdHJpYnV0ZSA9IHRo aXMub25BdXRvRGlzdHJpYnV0ZS5iaW5kKHRoaXMpOworICAgIHRoaXMub25EZXRhaWxzVG9nZ2xl ID0gdGhpcy5vbkRldGFpbHNUb2dnbGUuYmluZCh0aGlzKTsKKyAgICB0aGlzLm9uSGVscENsaWNr ID0gdGhpcy5vbkhlbHBDbGljay5iaW5kKHRoaXMpOworICAgIHRoaXMuZGlhZ3JhbS56b29tVG9G aXQgPSB0aGlzLmRpYWdyYW0uem9vbVRvRml0LmJpbmQodGhpcy5kaWFncmFtKTsKKyAgICB0aGlz LmRpYWdyYW0uem9vbUluID0gdGhpcy5kaWFncmFtLnpvb21Jbi5iaW5kKHRoaXMuZGlhZ3JhbSk7 CisgICAgdGhpcy5kaWFncmFtLnpvb21PdXQgPSB0aGlzLmRpYWdyYW0uem9vbU91dC5iaW5kKHRo aXMuZGlhZ3JhbSk7CisgIH0KKworICByZWdpc3Rlck1vZGVsRXZlbnRzKCkgeworICAgIGxldCBk aWFncmFtRXZlbnRzID0geworICAgICAgJ29mZnNldFVwZGF0ZWQnOiAoZXZlbnQpPT57CisgICAg ICAgIHRoaXMucmVhbGlnbkdyaWQoe2JhY2tncm91bmRQb3NpdGlvbjogYCR7ZXZlbnQub2Zmc2V0 WH1weCAke2V2ZW50Lm9mZnNldFl9cHhgfSk7CisgICAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlv bigpOworICAgICAgfSwKKyAgICAgICd6b29tVXBkYXRlZCc6IChldmVudCk9PnsKKyAgICAgICAg bGV0IHsgZ3JpZFNpemUgfSA9IHRoaXMuZGlhZ3JhbS5nZXRNb2RlbCgpLmdldE9wdGlvbnMoKTsK KyAgICAgICAgbGV0IGJnU2l6ZSA9IGdyaWRTaXplKmV2ZW50Lnpvb20vMTAwOworICAgICAgICB0 aGlzLnJlYWxpZ25HcmlkKHtiYWNrZ3JvdW5kU2l6ZTogYCR7YmdTaXplKjN9cHggJHtiZ1NpemUq M31weGB9KTsKKyAgICAgIH0sCisgICAgICAnbm9kZXNTZWxlY3Rpb25DaGFuZ2VkJzogKCk9PnsK KyAgICAgICAgdGhpcy5zZXRTdGF0ZSh7CisgICAgICAgICAgc2luZ2xlX25vZGVfc2VsZWN0ZWQ6 IHRoaXMuZGlhZ3JhbS5nZXRTZWxlY3RlZE5vZGVzKCkubGVuZ3RoID09IDEsCisgICAgICAgICAg YW55X2l0ZW1fc2VsZWN0ZWQ6IHRoaXMuZGlhZ3JhbS5nZXRTZWxlY3RlZE5vZGVzKCkubGVuZ3Ro ID4gMCB8fCB0aGlzLmRpYWdyYW0uZ2V0U2VsZWN0ZWRMaW5rcygpLmxlbmd0aCA+IDAsCisgICAg ICAgIH0pOworICAgICAgfSwKKyAgICAgICdsaW5rc1NlbGVjdGlvbkNoYW5nZWQnOiAoKT0+ewor ICAgICAgICB0aGlzLnNldFN0YXRlKHsKKyAgICAgICAgICBzaW5nbGVfbGlua19zZWxlY3RlZDog dGhpcy5kaWFncmFtLmdldFNlbGVjdGVkTGlua3MoKS5sZW5ndGggPT0gMSwKKyAgICAgICAgICBh bnlfaXRlbV9zZWxlY3RlZDogdGhpcy5kaWFncmFtLmdldFNlbGVjdGVkTm9kZXMoKS5sZW5ndGgg PiAwIHx8IHRoaXMuZGlhZ3JhbS5nZXRTZWxlY3RlZExpbmtzKCkubGVuZ3RoID4gMCwKKyAgICAg ICAgfSk7CisgICAgICB9LAorICAgICAgJ2xpbmtzVXBkYXRlZCc6ICgpID0+IHsKKyAgICAgICAg dGhpcy5zZXRTdGF0ZSh7ZGlydHk6IHRydWV9KTsKKyAgICAgIH0sCisgICAgICAnbm9kZXNVcGRh dGVkJzogKCk9PnsKKyAgICAgICAgdGhpcy5zZXRTdGF0ZSh7ZGlydHk6IHRydWV9KTsKKyAgICAg IH0sCisgICAgICAnc2hvd05vdGUnOiAoZXZlbnQpPT57CisgICAgICAgIHRoaXMuc2hvd05vdGUo ZXZlbnQubm9kZSk7CisgICAgICB9LAorICAgICAgJ2VkaXROb2RlJzogKGV2ZW50KSA9PiB7Cisg ICAgICAgIHRoaXMuYWRkRWRpdE5vZGUoZXZlbnQubm9kZSk7CisgICAgICB9CisgICAgfTsKKyAg ICBPYmplY3Qua2V5cyhkaWFncmFtRXZlbnRzKS5mb3JFYWNoKGV2ZW50TmFtZSA9PiB7CisgICAg ICB0aGlzLmRpYWdyYW0ucmVnaXN0ZXJNb2RlbEV2ZW50KGV2ZW50TmFtZSwgZGlhZ3JhbUV2ZW50 c1tldmVudE5hbWVdKTsKKyAgICB9KTsKKyAgfQorCisgIHJlZ2lzdGVyS2V5Ym9hcmRTaG9ydGN1 dHMoKSB7CisgICAgLyogRmlyc3QgZGVyZWdpc3RlciB0byBhdm9pZCBkb3VibGUgZXZlbnRzICov CisgICAgdGhpcy5rZXlib2FyZEFjdGlvbk9iaiAmJiB0aGlzLmRpYWdyYW0uZGVyZWdpc3Rlcktl eUFjdGlvbih0aGlzLmtleWJvYXJkQWN0aW9uT2JqKTsKKworICAgIHRoaXMua2V5Ym9hcmRBY3Rp b25PYmogPSBuZXcgS2V5Ym9hcmRTaG9ydGN1dEFjdGlvbihbCisgICAgICBbdGhpcy5zdGF0ZS5w cmVmZXJlbmNlcy5vcGVuX3Byb2plY3QsIHRoaXMub25Mb2FkRGlhZ3JhbV0sCisgICAgICBbdGhp cy5zdGF0ZS5wcmVmZXJlbmNlcy5zYXZlX3Byb2plY3QsIHRoaXMub25TYXZlRGlhZ3JhbV0sCisg ICAgICBbdGhpcy5zdGF0ZS5wcmVmZXJlbmNlcy5zYXZlX3Byb2plY3RfYXMsIHRoaXMub25TYXZl QXNEaWFncmFtXSwKKyAgICAgIFt0aGlzLnN0YXRlLnByZWZlcmVuY2VzLmdlbmVyYXRlX3NxbCwg dGhpcy5vblNRTENsaWNrXSwKKyAgICAgIFt0aGlzLnN0YXRlLnByZWZlcmVuY2VzLmFkZF90YWJs ZSwgdGhpcy5vbkFkZE5ld05vZGVdLAorICAgICAgW3RoaXMuc3RhdGUucHJlZmVyZW5jZXMuZWRp dF90YWJsZSwgdGhpcy5vbkVkaXROb2RlXSwKKyAgICAgIFt0aGlzLnN0YXRlLnByZWZlcmVuY2Vz LmNsb25lX3RhYmxlLCB0aGlzLm9uQ2xvbmVOb2RlXSwKKyAgICAgIFt0aGlzLnN0YXRlLnByZWZl cmVuY2VzLmRyb3BfdGFibGUsIHRoaXMub25EZWxldGVOb2RlXSwKKyAgICAgIFt0aGlzLnN0YXRl LnByZWZlcmVuY2VzLmFkZF9lZGl0X25vdGUsIHRoaXMub25Ob3RlQ2xpY2tdLAorICAgICAgW3Ro aXMuc3RhdGUucHJlZmVyZW5jZXMub25lX3RvX21hbnksIHRoaXMub25PbmVUb01hbnlDbGlja10s CisgICAgICBbdGhpcy5zdGF0ZS5wcmVmZXJlbmNlcy5tYW55X3RvX21hbnksIHRoaXMub25NYW55 VG9NYW55Q2xpY2tdLAorICAgICAgW3RoaXMuc3RhdGUucHJlZmVyZW5jZXMuYXV0b19hbGlnbiwg dGhpcy5vbkF1dG9EaXN0cmlidXRlXSwKKyAgICAgIFt0aGlzLnN0YXRlLnByZWZlcmVuY2VzLnpv b21fdG9fZml0LCB0aGlzLmRpYWdyYW0uem9vbVRvRml0XSwKKyAgICAgIFt0aGlzLnN0YXRlLnBy ZWZlcmVuY2VzLnpvb21faW4sIHRoaXMuZGlhZ3JhbS56b29tSW5dLAorICAgICAgW3RoaXMuc3Rh dGUucHJlZmVyZW5jZXMuem9vbV9vdXQsIHRoaXMuZGlhZ3JhbS56b29tT3V0XQorICAgIF0pOwor CisgICAgdGhpcy5kaWFncmFtLnJlZ2lzdGVyS2V5QWN0aW9uKHRoaXMua2V5Ym9hcmRBY3Rpb25P YmopOworICB9CisKKyAgaGFuZGxlQXhpb3NDYXRjaChlcnIpIHsKKyAgICBsZXQgYWxlcnQgPSB0 aGlzLnByb3BzLmFsZXJ0aWZ5LmFsZXJ0KCkuc2V0KCd0aXRsZScsIGdldHRleHQoJ0Vycm9yJykp OworICAgIGlmIChlcnIucmVzcG9uc2UpIHsKKyAgICAgIC8vIGNsaWVudCByZWNlaXZlZCBhbiBl cnJvciByZXNwb25zZSAoNXh4LCA0eHgpCisgICAgICBhbGVydC5zZXQoJ21lc3NhZ2UnLCBgJHtl cnIucmVzcG9uc2Uuc3RhdHVzVGV4dH0gLSAke2Vyci5yZXNwb25zZS5kYXRhLmVycm9ybXNnfWAp LnNob3coKTsKKyAgICAgIGNvbnNvbGUuZXJyb3IoJ3Jlc3BvbnNlIGVycm9yJywgZXJyLnJlc3Bv bnNlKTsKKyAgICB9IGVsc2UgaWYgKGVyci5yZXF1ZXN0KSB7CisgICAgICAvLyBjbGllbnQgbmV2 ZXIgcmVjZWl2ZWQgYSByZXNwb25zZSwgb3IgcmVxdWVzdCBuZXZlciBsZWZ0CisgICAgICBhbGVy dC5zZXQoJ21lc3NhZ2UnLCBnZXR0ZXh0KCdDbGllbnQgZXJyb3InKSArICc6JyArIGVycikuc2hv dygpOworICAgICAgY29uc29sZS5lcnJvcignY2xpZW50IGVyb3InLCBlcnIpOworICAgIH0gZWxz ZSB7CisgICAgICBhbGVydC5zZXQoJ21lc3NhZ2UnLCBlcnIubWVzc2FnZSkuc2hvdygpOworICAg ICAgY29uc29sZS5lcnJvcignb3RoZXIgZXJyb3InLCBlcnIpOworICAgIH0KKyAgfQorCisgIGFz eW5jIGNvbXBvbmVudERpZE1vdW50KCkgeworICAgIHRoaXMuc2V0TG9hZGluZygnUHJlcGFyaW5n Jyk7CisgICAgdGhpcy5zZXRUaXRsZSh0aGlzLnN0YXRlLmN1cnJlbnRfZmlsZSk7CisgICAgdGhp cy5zZXRTdGF0ZSh7CisgICAgICBwcmVmZXJlbmNlczogdGhpcy5wcm9wcy5wZ0FkbWluLkJyb3dz ZXIuZ2V0X3ByZWZlcmVuY2VzX2Zvcl9tb2R1bGUoJ2VyZCcpCisgICAgfSwgdGhpcy5yZWdpc3Rl cktleWJvYXJkU2hvcnRjdXRzKTsKKyAgICB0aGlzLnJlZ2lzdGVyTW9kZWxFdmVudHMoKTsKKyAg ICB0aGlzLnJlYWxpZ25HcmlkKHsKKyAgICAgIGJhY2tncm91bmRTaXplOiAnNDVweCA0NXB4JywK KyAgICAgIGJhY2tncm91bmRQb3NpdGlvbjogJzBweCAwcHgnLAorICAgIH0pOworCisgICAgdGhp cy5wcm9wcy5wZ0FkbWluLkJyb3dzZXIuRXZlbnRzLm9uKCdwZ2FkbWluLXN0b3JhZ2U6ZmluaXNo X2J0bjpzZWxlY3RfZmlsZScsIHRoaXMub3BlbkZpbGUsIHRoaXMpOworICAgIHRoaXMucHJvcHMu cGdBZG1pbi5Ccm93c2VyLkV2ZW50cy5vbigncGdhZG1pbi1zdG9yYWdlOmZpbmlzaF9idG46Y3Jl YXRlX2ZpbGUnLCB0aGlzLnNhdmVGaWxlLCB0aGlzKTsKKyAgICB0aGlzLnByb3BzLnBnQWRtaW4u QnJvd3Nlci5vblByZWZlcmVuY2VzQ2hhbmdlKCdlcmQnLCAoKSA9PiB7CisgICAgICB0aGlzLnNl dFN0YXRlKHsKKyAgICAgICAgcHJlZmVyZW5jZXM6IHRoaXMucHJvcHMucGdBZG1pbi5Ccm93c2Vy LmdldF9wcmVmZXJlbmNlc19mb3JfbW9kdWxlKCdlcmQnKQorICAgICAgfSwgKCk9PnRoaXMucmVn aXN0ZXJLZXlib2FyZFNob3J0Y3V0cygpKTsKKyAgICB9KTsKKworICAgIGxldCBkb25lID0gYXdh aXQgdGhpcy5pbml0Q29ubmVjdGlvbigpOworICAgIGlmKCFkb25lKSByZXR1cm47CisKKyAgICBk b25lID0gYXdhaXQgdGhpcy5sb2FkUHJlcXVpc2l0ZURhdGEoKTsKKyAgICBpZighZG9uZSkgcmV0 dXJuOworCisgICAgaWYodGhpcy5wcm9wcy5wYXJhbXMuZ2VuKSB7CisgICAgICBhd2FpdCB0aGlz LmxvYWRUYWJsZXNEYXRhKCk7CisgICAgfQorICB9CisKKyAgY29tcG9uZW50RGlkVXBkYXRlKCkg eworICAgIGlmKHRoaXMuc3RhdGUuZGlydHkpIHsKKyAgICAgIHRoaXMuc2V0VGl0bGUodGhpcy5z dGF0ZS5jdXJyZW50X2ZpbGUsIHRydWUpOworICAgIH0KKyAgfQorCisgIGdldERpYWxvZyhkaWFs b2dOYW1lKSB7CisgICAgaWYoZGlhbG9nTmFtZSA9PT0gJ2VudGl0eV9kaWFsb2cnKSB7CisgICAg ICByZXR1cm4gKHRpdGxlLCBhdHRyaWJ1dGVzLCBjYWxsYmFjayk9PnsKKyAgICAgICAgICB0aGlz LnByb3BzLmdldERpYWxvZyhkaWFsb2dOYW1lKS5zaG93KAorICAgICAgICAgICAgdGl0bGUsIGF0 dHJpYnV0ZXMsIHRoaXMuZGlhZ3JhbS5nZXRDYWNoZSgnY29sVHlwZXMnKSwgdGhpcy5kaWFncmFt LmdldENhY2hlKCdzY2hlbWFzJyksIHRoaXMuc3RhdGUuc2VydmVyX3ZlcnNpb24sIGNhbGxiYWNr CisgICAgICAgICAgKTsKKyAgICAgIH07CisgICAgfSBlbHNlIGlmKGRpYWxvZ05hbWUgPT09ICdv bmV0b21hbnlfZGlhbG9nJyB8fCBkaWFsb2dOYW1lID09PSAnbWFueXRvbWFueV9kaWFsb2cnKSB7 CisgICAgICByZXR1cm4gKHRpdGxlLCBhdHRyaWJ1dGVzLCBjYWxsYmFjayk9PnsKKyAgICAgICAg ICB0aGlzLnByb3BzLmdldERpYWxvZyhkaWFsb2dOYW1lKS5zaG93KAorICAgICAgICAgICAgICB0 aXRsZSwgYXR0cmlidXRlcywgdGhpcy5kaWFncmFtLmdldE1vZGVsKCkuZ2V0Tm9kZXNEaWN0KCks IHRoaXMuc3RhdGUuc2VydmVyX3ZlcnNpb24sIGNhbGxiYWNrCisgICAgICAgICAgKTsKKyAgICAg IH07CisgICAgfQorICB9CisKKyAgc2V0TG9hZGluZyhtZXNzYWdlKSB7CisgICAgdGhpcy5zZXRT dGF0ZSh7bG9hZGluZ19tc2c6IG1lc3NhZ2V9KTsKKyAgfQorCisgIHJlYWxpZ25HcmlkKHtiYWNr Z3JvdW5kU2l6ZSwgYmFja2dyb3VuZFBvc2l0aW9ufSkgeworICAgIGlmKGJhY2tncm91bmRTaXpl KSB7CisgICAgICB0aGlzLmNhbnZhc0VsZS5zdHlsZS5iYWNrZ3JvdW5kU2l6ZSA9IGJhY2tncm91 bmRTaXplOworICAgIH0KKyAgICBpZihiYWNrZ3JvdW5kUG9zaXRpb24pIHsKKyAgICAgIHRoaXMu Y2FudmFzRWxlLnN0eWxlLmJhY2tncm91bmRQb3NpdGlvbiA9IGJhY2tncm91bmRQb3NpdGlvbjsK KyAgICB9CisgIH0KKworICBhZGRFZGl0Tm9kZShub2RlKSB7CisgICAgbGV0IGRpYWxvZyA9IHRo aXMuZ2V0RGlhbG9nKCdlbnRpdHlfZGlhbG9nJyk7CisgICAgaWYobm9kZSkgeworICAgICAgbGV0 IFtzY2hlbWEsIHRhYmxlXSA9IG5vZGUuZ2V0U2NoZW1hVGFibGVOYW1lKCk7CisgICAgICBkaWFs b2coXy5lc2NhcGUoYFRhYmxlOiAke3RhYmxlfSAoJHtzY2hlbWF9KWApLCBub2RlLmdldERhdGEo KSwgKG5ld0RhdGEpPT57CisgICAgICAgIG5vZGUuc2V0RGF0YShuZXdEYXRhKTsKKyAgICAgICAg dGhpcy5kaWFncmFtLnJlcGFpbnQoKTsKKyAgICAgIH0pOworICAgIH0gZWxzZSB7CisgICAgICBk aWFsb2coJ05ldyB0YWJsZScsIHtuYW1lOiB0aGlzLmRpYWdyYW0uZ2V0TmV4dFRhYmxlTmFtZSgp fSwgKG5ld0RhdGEpPT57CisgICAgICAgIGxldCBuZXdOb2RlID0gdGhpcy5kaWFncmFtLmFkZE5v ZGUobmV3RGF0YSk7CisgICAgICAgIG5ld05vZGUuc2V0U2VsZWN0ZWQodHJ1ZSk7CisgICAgICB9 KTsKKyAgICB9CisgIH0KKworICBvbkVkaXROb2RlKCkgeworICAgIGNvbnN0IHNlbGVjdGVkID0g dGhpcy5kaWFncmFtLmdldFNlbGVjdGVkTm9kZXMoKTsKKyAgICBpZihzZWxlY3RlZC5sZW5ndGgg PT0gMSkgeworICAgICAgdGhpcy5hZGRFZGl0Tm9kZShzZWxlY3RlZFswXSk7CisgICAgfQorICB9 CisKKyAgb25BZGROZXdOb2RlKCkgeworICAgIHRoaXMuYWRkRWRpdE5vZGUoKTsKKyAgfQorCisg IG9uQ2xvbmVOb2RlKCkgeworICAgIGNvbnN0IHNlbGVjdGVkID0gdGhpcy5kaWFncmFtLmdldFNl bGVjdGVkTm9kZXMoKTsKKyAgICBpZihzZWxlY3RlZC5sZW5ndGggPT0gMSkgeworICAgICAgbGV0 IG5ld0RhdGEgPSBzZWxlY3RlZFswXS5jbG9uZURhdGEodGhpcy5kaWFncmFtLmdldE5leHRUYWJs ZU5hbWUoKSk7CisgICAgICBsZXQge3gsIHl9ID0gc2VsZWN0ZWRbMF0uZ2V0UG9zaXRpb24oKTsK KyAgICAgIGxldCBuZXdOb2RlID0gdGhpcy5kaWFncmFtLmFkZE5vZGUobmV3RGF0YSwgW3grMjAs IHkrMjBdKTsKKyAgICAgIG5ld05vZGUuc2V0U2VsZWN0ZWQodHJ1ZSk7CisgICAgfQorICB9CisK KyAgb25EZWxldGVOb2RlKCkgeworICAgIHRoaXMucHJvcHMuYWxlcnRpZnkuY29uZmlybSgKKyAg ICAgIGdldHRleHQoJ0RlbGV0ZSA/JyksCisgICAgICBnZXR0ZXh0KCdZb3UgaGF2ZSBzZWxlY3Rl ZCAlcyB0YWJsZXMgYW5kICVzIGxpbmtzLicsIHRoaXMuZGlhZ3JhbS5nZXRTZWxlY3RlZE5vZGVz KCkubGVuZ3RoLCB0aGlzLmRpYWdyYW0uZ2V0U2VsZWN0ZWRMaW5rcygpLmxlbmd0aCkKKyAgICAg ICAgKyAnPGJyIC8+JyArIGdldHRleHQoJ0FyZSB5b3Ugc3VyZSB5b3Ugd2FudCB0byBkZWxldGUg PycpLAorICAgICAgICAoKSA9PiB7CisgICAgICAgICAgdGhpcy5kaWFncmFtLmdldFNlbGVjdGVk Tm9kZXMoKS5mb3JFYWNoKChub2RlKT0+eworICAgICAgICAgICAgbm9kZS5zZXRTZWxlY3RlZChm YWxzZSk7CisgICAgICAgICAgICBub2RlLnJlbW92ZSgpOworICAgICAgICAgIH0pOworICAgICAg ICAgIHRoaXMuZGlhZ3JhbS5nZXRTZWxlY3RlZExpbmtzKCkuZm9yRWFjaCgobGluayk9PnsKKyAg ICAgICAgICAgIGxpbmsuZ2V0VGFyZ2V0UG9ydCgpLnJlbW92ZSgpOworICAgICAgICAgICAgbGlu ay5nZXRTb3VyY2VQb3J0KCkucmVtb3ZlKCk7CisgICAgICAgICAgICBsaW5rLnNldFNlbGVjdGVk KGZhbHNlKTsKKyAgICAgICAgICAgIGxpbmsucmVtb3ZlKCk7CisgICAgICAgICAgfSk7CisgICAg ICAgICAgdGhpcy5kaWFncmFtLnJlcGFpbnQoKTsKKyAgICAgICAgfSwKKyAgICAgICAgKCkgPT4g e30KKyAgICApOworICB9CisKKyAgb25BdXRvRGlzdHJpYnV0ZSgpIHsKKyAgICB0aGlzLmRpYWdy YW0uZGFncmVEaXN0cmlidXRlTm9kZXMoKTsKKyAgfQorCisgIG9uRGV0YWlsc1RvZ2dsZSgpIHsK KyAgICB0aGlzLnNldFN0YXRlKChwcmV2U3RhdGUpPT4oeworICAgICAgc2hvd19kZXRhaWxzOiAh cHJldlN0YXRlLnNob3dfZGV0YWlscworICAgIH0pLCAoKT0+eworICAgICAgdGhpcy5kaWFncmFt LmdldE1vZGVsKCkuZ2V0Tm9kZXMoKS5mb3JFYWNoKChub2RlKT0+eworICAgICAgICBub2RlLmZp cmVFdmVudCh7c2hvd19kZXRhaWxzOiB0aGlzLnN0YXRlLnNob3dfZGV0YWlsc30sICd0b2dnbGVE ZXRhaWxzJyk7CisgICAgICB9KQorICAgIH0pOworICB9CisKKyAgb25IZWxwQ2xpY2soKSB7Cisg ICAgbGV0IHVybCA9IHVybF9mb3IoJ2hlbHAuc3RhdGljJywgeydmaWxlbmFtZSc6ICdlcmQuaHRt bCd9KTsKKyAgICB3aW5kb3cub3Blbih1cmwsICdwZ2FkbWluX2hlbHAnKTsKKyAgfQorCisgIG9u TG9hZERpYWdyYW0oKSB7CisgICAgdmFyIHBhcmFtcyA9IHsKKyAgICAgICdzdXBwb3J0ZWRfdHlw ZXMnOiBbJ3BnZXJkJ10sIC8vIGZpbGUgdHlwZXMgYWxsb3dlZAorICAgICAgJ2RpYWxvZ190eXBl JzogJ3NlbGVjdF9maWxlJywgLy8gb3BlbiBzZWxlY3QgZmlsZSBkaWFsb2cKKyAgICB9OworICAg IHRoaXMucHJvcHMucGdBZG1pbi5GaWxlTWFuYWdlci5pbml0KCk7CisgICAgdGhpcy5wcm9wcy5w Z0FkbWluLkZpbGVNYW5hZ2VyLnNob3dfZGlhbG9nKHBhcmFtcyk7CisgIH0KKworICBvcGVuRmls ZShmaWxlTmFtZSkgeworICAgIGF4aW9zLnBvc3QodXJsX2Zvcignc3FsZWRpdG9yLmxvYWRfZmls ZScpLCB7CisgICAgICAnZmlsZV9uYW1lJzogZGVjb2RlVVJJKGZpbGVOYW1lKQorICAgIH0pLnRo ZW4oKHJlcyk9PnsKKyAgICAgIHRoaXMuc2V0U3RhdGUoeworICAgICAgICBjdXJyZW50X2ZpbGU6 IGZpbGVOYW1lLAorICAgICAgICBkaXJ0eTogZmFsc2UsCisgICAgICB9KTsKKyAgICAgIHRoaXMu c2V0VGl0bGUoZmlsZU5hbWUpOworICAgICAgdGhpcy5kaWFncmFtLmRlc2VyaWFsaXplKHJlcy5k YXRhKTsKKyAgICAgIHRoaXMucmVnaXN0ZXJNb2RlbEV2ZW50cygpOworICAgIH0pLmNhdGNoKChl cnIpPT57CisgICAgICB0aGlzLmhhbmRsZUF4aW9zQ2F0Y2goZXJyKTsKKyAgICB9KTsKKyAgfQor CisgIG9uU2F2ZURpYWdyYW0oaXNTYXZlQXM9ZmFsc2UpIHsKKyAgICBpZih0aGlzLnN0YXRlLmN1 cnJlbnRfZmlsZSAmJiAhaXNTYXZlQXMpIHsKKyAgICAgIHRoaXMuc2F2ZUZpbGUodGhpcy5zdGF0 ZS5jdXJyZW50X2ZpbGUpOworICAgIH0gZWxzZSB7CisgICAgICB2YXIgcGFyYW1zID0geworICAg ICAgICAnc3VwcG9ydGVkX3R5cGVzJzogWydwZ2VyZCddLAorICAgICAgICAnZGlhbG9nX3R5cGUn OiAnY3JlYXRlX2ZpbGUnLAorICAgICAgICAnZGlhbG9nX3RpdGxlJzogJ1NhdmUgRmlsZScsCisg ICAgICAgICdidG5fcHJpbWFyeSc6ICdTYXZlJywKKyAgICAgIH07CisgICAgICB0aGlzLnByb3Bz LnBnQWRtaW4uRmlsZU1hbmFnZXIuaW5pdCgpOworICAgICAgdGhpcy5wcm9wcy5wZ0FkbWluLkZp bGVNYW5hZ2VyLnNob3dfZGlhbG9nKHBhcmFtcyk7CisgICAgfQorICB9CisKKyAgb25TYXZlQXNE aWFncmFtKCkgeworICAgIHRoaXMub25TYXZlRGlhZ3JhbSh0cnVlKTsKKyAgfQorCisgIHNhdmVG aWxlKGZpbGVOYW1lKSB7CisgICAgYXhpb3MucG9zdCh1cmxfZm9yKCdzcWxlZGl0b3Iuc2F2ZV9m aWxlJyksIHsKKyAgICAgICdmaWxlX25hbWUnOiBkZWNvZGVVUkkoZmlsZU5hbWUpLAorICAgICAg J2ZpbGVfY29udGVudCc6IEpTT04uc3RyaW5naWZ5KHRoaXMuZGlhZ3JhbS5zZXJpYWxpemUodGhp cy5wcm9wcy5wZ0FkbWluLkJyb3dzZXIudXRpbHMuYXBwX3ZlcnNpb25faW50KSkKKyAgICB9KS50 aGVuKCgpPT57CisgICAgICB0aGlzLnByb3BzLmFsZXJ0aWZ5LnN1Y2Nlc3MoZ2V0dGV4dCgnUHJv amVjdCBzYXZlZCBzdWNjZXNzZnVsbHkuJykpOworICAgICAgdGhpcy5zZXRTdGF0ZSh7CisgICAg ICAgIGN1cnJlbnRfZmlsZTogZmlsZU5hbWUsCisgICAgICAgIGRpcnR5OiBmYWxzZSwKKyAgICAg IH0pOworICAgICAgdGhpcy5zZXRUaXRsZShmaWxlTmFtZSk7CisgICAgfSkuY2F0Y2goKGVycik9 PnsKKyAgICAgIHRoaXMuaGFuZGxlQXhpb3NDYXRjaChlcnIpOworICAgIH0pOworICB9CisKKyAg Z2V0Q3VycmVudFByb2plY3ROYW1lKHBhdGgpIHsKKyAgICBsZXQgY3VyclBhdGggPSBwYXRoIHx8 IHRoaXMuc3RhdGUuY3VycmVudF9maWxlIHx8ICdVbnRpdGxlZCc7CisgICAgcmV0dXJuIGN1cnJQ YXRoLnNwbGl0KCdcXCcpLnBvcCgpLnNwbGl0KCcvJykucG9wKCk7CisgIH0KKworICBzZXRUaXRs ZSh0aXRsZSwgZGlydHk9ZmFsc2UpIHsKKyAgICBpZih0aXRsZSA9PT0gbnVsbCB8fCB0aXRsZSA9 PT0gJycpIHsKKyAgICAgIHRpdGxlID0gJ1VudGl0bGVkJzsKKyAgICB9CisgICAgdGl0bGUgPSB0 aGlzLmdldEN1cnJlbnRQcm9qZWN0TmFtZSh0aXRsZSkgKyAoZGlydHkgPyAnKic6ICcnKTsKKyAg ICBpZiAodGhpcy5uZXdfYnJvd3Nlcl90YWIpIHsKKyAgICAgIHdpbmRvdy5kb2N1bWVudC50aXRs ZSA9IHRpdGxlOworICAgIH0gZWxzZSB7CisgICAgICBfLmVhY2godGhpcy5wcm9wcy5wZ0FkbWlu LkJyb3dzZXIuZG9ja2VyLmZpbmRQYW5lbHMoJ2ZybV9lcmR0b29sJyksIGZ1bmN0aW9uKHApIHsK KyAgICAgICAgaWYgKHAuaXNWaXNpYmxlKCkpIHsKKyAgICAgICAgICBzZXRQYW5lbFRpdGxlKHAs IHRpdGxlKTsKKyAgICAgICAgfQorICAgICAgfSk7CisgICAgfQorICB9CisKKyAgb25TUUxDbGlj aygpIHsKKyAgICBsZXQgc2NyaXB0SGVhZGVyID0gZ2V0dGV4dCgnLS0gVGhpcyBzY3JpcHQgd2Fz IGdlbmVyYXRlZCBieSBhIGJldGEgdmVyc2lvbiBvZiB0aGUgRVJEIHRvb2wgaW4gcGdBZG1pbiA0 LlxuJyk7CisgICAgc2NyaXB0SGVhZGVyICs9IGdldHRleHQoJy0tIFBsZWFzZSBsb2cgYW4gaXNz dWUgYXQgaHR0cHM6Ly9yZWRtaW5lLnBvc3RncmVzcWwub3JnL3Byb2plY3RzL3BnYWRtaW40L2lz c3Vlcy9uZXcgaWYgeW91IGZpbmQgYW55IGJ1Z3MsIGluY2x1ZGluZyByZXByb2R1Y3Rpb24gc3Rl cHMuXG4nKTsKKworICAgIGxldCB1cmwgPSB1cmxfZm9yKCdlcmQuc3FsJywgeworICAgICAgdHJh bnNfaWQ6IHRoaXMucHJvcHMucGFyYW1zLnRyYW5zX2lkLAorICAgICAgc2dpZDogdGhpcy5wcm9w cy5wYXJhbXMuc2dpZCwKKyAgICAgIHNpZDogdGhpcy5wcm9wcy5wYXJhbXMuc2lkLAorICAgICAg ZGlkOiB0aGlzLnByb3BzLnBhcmFtcy5kaWQKKyAgICB9KTsKKworICAgIHRoaXMuc2V0TG9hZGlu ZyhnZXR0ZXh0KCdQcmVwYXJpbmcgdGhlIFNRTC4uLicpKTsKKyAgICBheGlvcy5wb3N0KHVybCwg dGhpcy5kaWFncmFtLnNlcmlhbGl6ZURhdGEoKSkKKyAgICAgIC50aGVuKChyZXNwKT0+eworICAg ICAgICBsZXQgc3FsU2NyaXB0ID0gcmVzcC5kYXRhLmRhdGE7CisgICAgICAgIHNxbFNjcmlwdCA9 IHNjcmlwdEhlYWRlciArICdCRUdJTjtcbicgKyBzcWxTY3JpcHQgKyAnXG5FTkQ7JzsKKworICAg ICAgICBsZXQgcGFyZW50RGF0YSA9IHsKKyAgICAgICAgICBzZ2lkOiB0aGlzLnByb3BzLnBhcmFt cy5zZ2lkLAorICAgICAgICAgIHNpZDogdGhpcy5wcm9wcy5wYXJhbXMuc2lkLAorICAgICAgICAg IGRpZDogdGhpcy5wcm9wcy5wYXJhbXMuZGlkLAorICAgICAgICAgIHN0eXBlOiB0aGlzLnByb3Bz LnBhcmFtcy5zZXJ2ZXJfdHlwZSwKKyAgICAgICAgfQorCisgICAgICAgIGxldCBzcWxJZCA9IGBl cmQke3RoaXMucHJvcHMucGFyYW1zLnRyYW5zX2lkfWA7CisgICAgICAgIGxvY2FsU3RvcmFnZS5z ZXRJdGVtKHNxbElkLCBzcWxTY3JpcHQpOworICAgICAgICBzaG93RVJEU3FsVG9vbChwYXJlbnRE YXRhLCBzcWxJZCwgdGhpcy5wcm9wcy5wYXJhbXMudGl0bGUsIHRoaXMucHJvcHMucGdBZG1pbi5E YXRhR3JpZCwgdGhpcy5wcm9wcy5hbGVydGlmeSk7CisgICAgICB9KQorICAgICAgLmNhdGNoKChl cnJvcik9PnsKKyAgICAgICAgdGhpcy5oYW5kbGVBeGlvc0NhdGNoKGVycm9yKTsKKyAgICAgIH0p CisgICAgICAudGhlbigoKT0+eworICAgICAgICB0aGlzLnNldExvYWRpbmcobnVsbCk7CisgICAg ICB9KQorICB9CisKKyAgb25PbmVUb01hbnlDbGljaygpIHsKKyAgICBsZXQgZGlhbG9nID0gdGhp cy5nZXREaWFsb2coJ29uZXRvbWFueV9kaWFsb2cnKTsKKyAgICBsZXQgaW5pdERhdGEgPSB7bG9j YWxfdGFibGVfdWlkOiB0aGlzLmRpYWdyYW0uZ2V0U2VsZWN0ZWROb2RlcygpWzBdLmdldElEKCl9 OworICAgIGRpYWxvZygnT25lIHRvIG1hbnkgcmVsYXRpb24nLCBpbml0RGF0YSwgKG5ld0RhdGEp PT57CisgICAgICBsZXQgbmV3TGluayA9IHRoaXMuZGlhZ3JhbS5hZGRMaW5rKG5ld0RhdGEsICdv bmV0b21hbnknKTsKKyAgICAgIHRoaXMuZGlhZ3JhbS5jbGVhclNlbGVjdGlvbigpOworICAgICAg bmV3TGluay5zZXRTZWxlY3RlZCh0cnVlKTsKKyAgICAgIHRoaXMuZGlhZ3JhbS5yZXBhaW50KCk7 CisgICAgfSk7CisgIH0KKworICBvbk1hbnlUb01hbnlDbGljaygpIHsKKyAgICBsZXQgZGlhbG9n ID0gdGhpcy5nZXREaWFsb2coJ21hbnl0b21hbnlfZGlhbG9nJyk7CisgICAgbGV0IGluaXREYXRh ID0ge2xlZnRfdGFibGVfdWlkOiB0aGlzLmRpYWdyYW0uZ2V0U2VsZWN0ZWROb2RlcygpWzBdLmdl dElEKCl9OworICAgIGRpYWxvZygnTWFueSB0byBtYW55IHJlbGF0aW9uJywgaW5pdERhdGEsIChu ZXdEYXRhKT0+eworICAgICAgbGV0IG5vZGVzID0gdGhpcy5kaWFncmFtLmdldE1vZGVsKCkuZ2V0 Tm9kZXNEaWN0KCk7CisgICAgICBsZXQgbGVmdF90YWJsZSA9IG5vZGVzW25ld0RhdGEubGVmdF90 YWJsZV91aWRdOworICAgICAgbGV0IHJpZ2h0X3RhYmxlID0gbm9kZXNbbmV3RGF0YS5yaWdodF90 YWJsZV91aWRdOworICAgICAgbGV0IHRhYmxlRGF0YSA9IHsKKyAgICAgICAgbmFtZTogYCR7bGVm dF90YWJsZS5nZXREYXRhKCkubmFtZX1fJHtyaWdodF90YWJsZS5nZXREYXRhKCkubmFtZX1gLAor ICAgICAgICBzY2hlbWE6IGxlZnRfdGFibGUuZ2V0RGF0YSgpLnNjaGVtYSwKKyAgICAgICAgY29s dW1uczogW3sKKyAgICAgICAgICAuLi5sZWZ0X3RhYmxlLmdldENvbHVtbkF0KG5ld0RhdGEubGVm dF90YWJsZV9jb2x1bW5fYXR0bnVtKSwKKyAgICAgICAgICAnbmFtZSc6IGAke2xlZnRfdGFibGUu Z2V0RGF0YSgpLm5hbWV9XyR7bGVmdF90YWJsZS5nZXRDb2x1bW5BdChuZXdEYXRhLmxlZnRfdGFi bGVfY29sdW1uX2F0dG51bSkubmFtZX1gLAorICAgICAgICAgICdpc19wcmltYXJ5X2tleSc6IGZh bHNlLAorICAgICAgICAgICdhdHRudW0nOiAwLAorICAgICAgICB9LHsKKyAgICAgICAgICAuLi5y aWdodF90YWJsZS5nZXRDb2x1bW5BdChuZXdEYXRhLnJpZ2h0X3RhYmxlX2NvbHVtbl9hdHRudW0p LAorICAgICAgICAgICduYW1lJzogYCR7cmlnaHRfdGFibGUuZ2V0RGF0YSgpLm5hbWV9XyR7cmln aHRfdGFibGUuZ2V0Q29sdW1uQXQobmV3RGF0YS5yaWdodF90YWJsZV9jb2x1bW5fYXR0bnVtKS5u YW1lfWAsCisgICAgICAgICAgJ2lzX3ByaW1hcnlfa2V5JzogZmFsc2UsCisgICAgICAgICAgJ2F0 dG51bSc6IDEsCisgICAgICAgIH1dCisgICAgICB9CisgICAgICBsZXQgbmV3Tm9kZSA9IHRoaXMu ZGlhZ3JhbS5hZGROb2RlKHRhYmxlRGF0YSk7CisgICAgICB0aGlzLmRpYWdyYW0uY2xlYXJTZWxl Y3Rpb24oKTsKKyAgICAgIG5ld05vZGUuc2V0U2VsZWN0ZWQodHJ1ZSk7CisKKyAgICAgIGxldCBs aW5rRGF0YSA9IHsKKyAgICAgICAgbG9jYWxfdGFibGVfdWlkOiBuZXdOb2RlLmdldElEKCksCisg ICAgICAgIGxvY2FsX2NvbHVtbl9hdHRudW06IG5ld05vZGUuZ2V0Q29sdW1ucygpWzBdLmF0dG51 bSwKKyAgICAgICAgcmVmZXJlbmNlZF90YWJsZV91aWQ6IG5ld0RhdGEubGVmdF90YWJsZV91aWQs CisgICAgICAgIHJlZmVyZW5jZWRfY29sdW1uX2F0dG51bSA6IG5ld0RhdGEubGVmdF90YWJsZV9j b2x1bW5fYXR0bnVtLAorICAgICAgfQorICAgICAgdGhpcy5kaWFncmFtLmFkZExpbmsobGlua0Rh dGEsICdvbmV0b21hbnknKTsKKworICAgICAgbGlua0RhdGEgPSB7CisgICAgICAgIGxvY2FsX3Rh YmxlX3VpZDogbmV3Tm9kZS5nZXRJRCgpLAorICAgICAgICBsb2NhbF9jb2x1bW5fYXR0bnVtOiBu ZXdOb2RlLmdldENvbHVtbnMoKVsxXS5hdHRudW0sCisgICAgICAgIHJlZmVyZW5jZWRfdGFibGVf dWlkOiBuZXdEYXRhLnJpZ2h0X3RhYmxlX3VpZCwKKyAgICAgICAgcmVmZXJlbmNlZF9jb2x1bW5f YXR0bnVtIDogbmV3RGF0YS5yaWdodF90YWJsZV9jb2x1bW5fYXR0bnVtLAorICAgICAgfQorCisg ICAgICB0aGlzLmRpYWdyYW0uYWRkTGluayhsaW5rRGF0YSwgJ29uZXRvbWFueScpOworCisgICAg ICB0aGlzLmRpYWdyYW0ucmVwYWludCgpOworICAgIH0pOworICB9CisKKyAgc2hvd05vdGUobm90 ZU5vZGUpIHsKKyAgICBpZihub3RlTm9kZSkgeworICAgICAgdGhpcy5ub3RlUmVmRWxlID0gdGhp cy5kaWFncmFtLmdldEVuZ2luZSgpLmdldE5vZGVFbGVtZW50KG5vdGVOb2RlKTsKKyAgICAgIHRo aXMuc2V0U3RhdGUoeworICAgICAgICBub3RlX25vZGU6IG5vdGVOb2RlLAorICAgICAgICBub3Rl X29wZW46IHRydWUKKyAgICAgIH0pOworICAgIH0KKyAgfQorCisgIG9uTm90ZUNsaWNrKGUpIHsK KyAgICBsZXQgbm90ZU5vZGUgPSB0aGlzLmRpYWdyYW0uZ2V0U2VsZWN0ZWROb2RlcygpWzBdOwor ICAgIHRoaXMuc2hvd05vdGUobm90ZU5vZGUpOworICB9CisKKyAgb25Ob3RlQ2xvc2UodXBkYXRl ZCkgeworICAgIHRoaXMuc2V0U3RhdGUoe25vdGVfb3BlbjogZmFsc2V9KTsKKyAgICB1cGRhdGVk ICYmIHRoaXMuZGlhZ3JhbS5maXJlRXZlbnQoe30sICdub2Rlc1VwZGF0ZWQnLCB0cnVlKTsKKyAg fQorCisgIGFzeW5jIGluaXRDb25uZWN0aW9uKCkgeworICAgIHRoaXMuc2V0TG9hZGluZyhnZXR0 ZXh0KCdJbml0aWFsaXppbmcgY29ubmVjdGlvbi4uLicpKTsKKyAgICB0aGlzLnNldFN0YXRlKHtj b25uX3N0YXR1czogQ09OTkVDVF9TVEFUVVMuQ09OTkVDVElOR30pOworCisgICAgbGV0IGluaXRV cmwgPSB1cmxfZm9yKCdlcmQuaW5pdGlhbGl6ZScsIHsKKyAgICAgIHRyYW5zX2lkOiB0aGlzLnBy b3BzLnBhcmFtcy50cmFuc19pZCwKKyAgICAgIHNnaWQ6IHRoaXMucHJvcHMucGFyYW1zLnNnaWQs CisgICAgICBzaWQ6IHRoaXMucHJvcHMucGFyYW1zLnNpZCwKKyAgICAgIGRpZDogdGhpcy5wcm9w cy5wYXJhbXMuZGlkCisgICAgfSk7CisKKyAgICB0cnkgeworICAgICAgbGV0IHJlc3BvbnNlID0g YXdhaXQgYXhpb3MucG9zdChpbml0VXJsKTsKKyAgICAgIHRoaXMuc2V0U3RhdGUoeworICAgICAg ICBjb25uX3N0YXR1czogQ09OTkVDVF9TVEFUVVMuQ09OTkVDVEVELAorICAgICAgICBzZXJ2ZXJf dmVyc2lvbjogcmVzcG9uc2UuZGF0YS5kYXRhLnNlcnZlclZlcnNpb24KKyAgICAgIH0pOworICAg ICAgcmV0dXJuIHRydWU7CisgICAgfSBjYXRjaCAoZXJyb3IpIHsKKyAgICAgIHRoaXMuc2V0U3Rh dGUoe2Nvbm5fc3RhdHVzOiBDT05ORUNUX1NUQVRVUy5GQUlMRUR9KTsKKyAgICAgIHRoaXMuaGFu ZGxlQXhpb3NDYXRjaChlcnJvcik7CisgICAgICByZXR1cm4gZmFsc2U7CisgICAgfSBmaW5hbGx5 IHsKKyAgICAgIHRoaXMuc2V0TG9hZGluZyhudWxsKTsKKyAgICB9CisgIH0KKworICAvKiBHZXQg YWxsIHByZXF1aXNpdGUgaW4gb25lIGNvbm4gc2luY2UKKyAgICogd2UgaGF2ZSBvbmx5IG9uZSBj b25uZWN0aW9uCisgICAqLworICBhc3luYyBsb2FkUHJlcXVpc2l0ZURhdGEoKSB7CisgICAgdGhp cy5zZXRMb2FkaW5nKGdldHRleHQoJ0ZldGNoaW5nIHJlcXVpcmVkIGRhdGEuLi4nKSk7CisgICAg bGV0IHVybCA9IHVybF9mb3IoJ2VyZC5wcmVxdWlzaXRlJywgeworICAgICAgdHJhbnNfaWQ6IHRo aXMucHJvcHMucGFyYW1zLnRyYW5zX2lkLAorICAgICAgc2dpZDogdGhpcy5wcm9wcy5wYXJhbXMu c2dpZCwKKyAgICAgIHNpZDogdGhpcy5wcm9wcy5wYXJhbXMuc2lkLAorICAgICAgZGlkOiB0aGlz LnByb3BzLnBhcmFtcy5kaWQKKyAgICB9KTsKKworICAgIHRyeSB7CisgICAgICBsZXQgcmVzcG9u c2UgPSBhd2FpdCBheGlvcy5nZXQodXJsKTsKKyAgICAgIGxldCBkYXRhID0gcmVzcG9uc2UuZGF0 YS5kYXRhOworICAgICAgdGhpcy5kaWFncmFtLnNldENhY2hlKCdjb2xUeXBlcycsIGRhdGFbJ2Nv bF90eXBlcyddKTsKKyAgICAgIHRoaXMuZGlhZ3JhbS5zZXRDYWNoZSgnc2NoZW1hcycsIGRhdGFb J3NjaGVtYXMnXSk7CisgICAgICByZXR1cm4gdHJ1ZTsKKyAgICB9IGNhdGNoIChlcnJvcikgewor ICAgICAgdGhpcy5oYW5kbGVBeGlvc0NhdGNoKGVycm9yKTsKKyAgICAgIHJldHVybiBmYWxzZTsK KyAgICB9IGZpbmFsbHkgeworICAgICAgdGhpcy5zZXRMb2FkaW5nKG51bGwpOworICAgIH0KKyAg fQorCisgIGFzeW5jIGxvYWRUYWJsZXNEYXRhKCkgeworICAgIHRoaXMuc2V0TG9hZGluZyhnZXR0 ZXh0KCdGZXRjaGluZyBzY2hlbWEgZGF0YS4uLicpKTsKKyAgICBsZXQgdXJsID0gdXJsX2Zvcign ZXJkLnRhYmxlcycsIHsKKyAgICAgIHRyYW5zX2lkOiB0aGlzLnByb3BzLnBhcmFtcy50cmFuc19p ZCwKKyAgICAgIHNnaWQ6IHRoaXMucHJvcHMucGFyYW1zLnNnaWQsCisgICAgICBzaWQ6IHRoaXMu cHJvcHMucGFyYW1zLnNpZCwKKyAgICAgIGRpZDogdGhpcy5wcm9wcy5wYXJhbXMuZGlkCisgICAg fSk7CisKKyAgICB0cnkgeworICAgICAgbGV0IHJlc3BvbnNlID0gYXdhaXQgYXhpb3MuZ2V0KHVy bCk7CisgICAgICBsZXQgdGFibGVzID0gcmVzcG9uc2UuZGF0YS5kYXRhLm1hcCgodGFibGUpPT57 CisgICAgICAgIHJldHVybiB0aGlzLnByb3BzLnRyYW5zZm9ybVRvU3VwcG9ydGVkKCd0YWJsZScs IHRhYmxlKTsKKyAgICAgIH0pOworICAgICAgdGhpcy5kaWFncmFtLmRlc2VyaWFsaXplRGF0YSh0 YWJsZXMpOworICAgICAgcmV0dXJuIHRydWU7CisgICAgfSBjYXRjaCAoZXJyb3IpIHsKKyAgICAg IHRoaXMuaGFuZGxlQXhpb3NDYXRjaChlcnJvcik7CisgICAgICByZXR1cm4gZmFsc2U7CisgICAg fSBmaW5hbGx5IHsKKyAgICAgIHRoaXMuc2V0TG9hZGluZyhudWxsKTsKKyAgICB9CisgIH0KKwor ICByZW5kZXIoKSB7CisgICAgcmV0dXJuICgKKyAgICAgIDw+CisgICAgICA8VG9vbEJhciBpZD0i YnRuLXRvb2xiYXIiPgorICAgICAgICA8QnV0dG9uR3JvdXA+CisgICAgICAgICAgPEljb25CdXR0 b24gaWQ9Im9wZW4tZmlsZSIgaWNvbj0iZmEgZmEtZm9sZGVyLW9wZW4iIG9uQ2xpY2s9e3RoaXMu b25Mb2FkRGlhZ3JhbX0gdGl0bGU9e2dldHRleHQoJ0xvYWQgZnJvbSBmaWxlJyl9CisgICAgICAg ICAgICBzaG9ydGN1dD17dGhpcy5zdGF0ZS5wcmVmZXJlbmNlcy5vcGVuX3Byb2plY3R9Lz4KKyAg ICAgICAgICA8SWNvbkJ1dHRvbiBpZD0ic2F2ZS1lcmQiIGljb249ImZhIGZhLXNhdmUiIG9uQ2xp Y2s9eygpPT57dGhpcy5vblNhdmVEaWFncmFtKCl9fSB0aXRsZT17Z2V0dGV4dCgnU2F2ZSBwcm9q ZWN0Jyl9CisgICAgICAgICAgICBzaG9ydGN1dD17dGhpcy5zdGF0ZS5wcmVmZXJlbmNlcy5zYXZl X3Byb2plY3R9IGRpc2FibGVkPXshdGhpcy5zdGF0ZS5kaXJ0eX0vPgorICAgICAgICAgIDxJY29u QnV0dG9uIGlkPSJzYXZlLWFzLWVyZCIgaWNvbj0iZmEgZmEtc2hhcmUtc3F1YXJlIiBvbkNsaWNr PXt0aGlzLm9uU2F2ZUFzRGlhZ3JhbX0gdGl0bGU9e2dldHRleHQoJ1NhdmUgYXMnKX0KKyAgICAg ICAgICAgIHNob3J0Y3V0PXt0aGlzLnN0YXRlLnByZWZlcmVuY2VzLnNhdmVfcHJvamVjdF9hc30v PgorICAgICAgICA8L0J1dHRvbkdyb3VwPgorICAgICAgICA8QnV0dG9uR3JvdXA+CisgICAgICAg ICAgPEljb25CdXR0b24gaWQ9InNhdmUtc3FsIiBpY29uPSJmYSBmYS1maWxlLWNvZGUiIG9uQ2xp Y2s9e3RoaXMub25TUUxDbGlja30gdGl0bGU9e2dldHRleHQoJ0dlbmVyYXRlIFNRTCcpfQorICAg ICAgICAgICAgc2hvcnRjdXQ9e3RoaXMuc3RhdGUucHJlZmVyZW5jZXMuZ2VuZXJhdGVfc3FsfS8+ CisgICAgICAgIDwvQnV0dG9uR3JvdXA+CisgICAgICAgIDxCdXR0b25Hcm91cD4KKyAgICAgICAg ICA8SWNvbkJ1dHRvbiBpZD0iYWRkLW5vZGUiIGljb249ImZhIGZhLXBsdXMtc3F1YXJlIiBvbkNs aWNrPXt0aGlzLm9uQWRkTmV3Tm9kZX0gdGl0bGU9e2dldHRleHQoJ0FkZCB0YWJsZScpfQorICAg ICAgICAgICAgc2hvcnRjdXQ9e3RoaXMuc3RhdGUucHJlZmVyZW5jZXMuYWRkX3RhYmxlfS8+Cisg ICAgICAgICAgPEljb25CdXR0b24gaWQ9ImVkaXQtbm9kZSIgaWNvbj0iZmEgZmEtcGVuY2lsLWFs dCIgb25DbGljaz17dGhpcy5vbkVkaXROb2RlfSB0aXRsZT17Z2V0dGV4dCgnRWRpdCB0YWJsZScp fQorICAgICAgICAgICAgc2hvcnRjdXQ9e3RoaXMuc3RhdGUucHJlZmVyZW5jZXMuZWRpdF90YWJs ZX0gZGlzYWJsZWQ9eyF0aGlzLnN0YXRlLnNpbmdsZV9ub2RlX3NlbGVjdGVkIHx8IHRoaXMuc3Rh dGUuc2luZ2xlX2xpbmtfc2VsZWN0ZWR9Lz4KKyAgICAgICAgICA8SWNvbkJ1dHRvbiBpZD0iY2xv bmUtbm9kZSIgaWNvbj0iZmEgZmEtY2xvbmUiIG9uQ2xpY2s9e3RoaXMub25DbG9uZU5vZGV9IHRp dGxlPXtnZXR0ZXh0KCdDbG9uZSB0YWJsZScpfQorICAgICAgICAgICAgc2hvcnRjdXQ9e3RoaXMu c3RhdGUucHJlZmVyZW5jZXMuY2xvbmVfdGFibGV9IGRpc2FibGVkPXshdGhpcy5zdGF0ZS5zaW5n bGVfbm9kZV9zZWxlY3RlZCB8fCB0aGlzLnN0YXRlLnNpbmdsZV9saW5rX3NlbGVjdGVkfS8+Cisg ICAgICAgICAgPEljb25CdXR0b24gaWQ9ImRlbGV0ZS1ub2RlIiBpY29uPSJmYSBmYS10cmFzaC1h bHQiIG9uQ2xpY2s9e3RoaXMub25EZWxldGVOb2RlfSB0aXRsZT17Z2V0dGV4dCgnRHJvcCB0YWJs ZS9saW5rJyl9CisgICAgICAgICAgICBzaG9ydGN1dD17dGhpcy5zdGF0ZS5wcmVmZXJlbmNlcy5k cm9wX3RhYmxlfSBkaXNhYmxlZD17IXRoaXMuc3RhdGUuYW55X2l0ZW1fc2VsZWN0ZWR9Lz4KKyAg ICAgICAgPC9CdXR0b25Hcm91cD4KKyAgICAgICAgPEJ1dHRvbkdyb3VwPgorICAgICAgICAgIDxJ Y29uQnV0dG9uIGlkPSJhZGQtbm90ZSIgaWNvbj0iZmEgZmEtc3RpY2t5LW5vdGUiIG9uQ2xpY2s9 e3RoaXMub25Ob3RlQ2xpY2t9IHRpdGxlPXtnZXR0ZXh0KCdBZGQvRWRpdCBub3RlJyl9CisgICAg ICAgICAgICBzaG9ydGN1dD17dGhpcy5zdGF0ZS5wcmVmZXJlbmNlcy5hZGRfZWRpdF9ub3RlfSBk aXNhYmxlZD17IXRoaXMuc3RhdGUuc2luZ2xlX25vZGVfc2VsZWN0ZWQgfHwgdGhpcy5zdGF0ZS5z aW5nbGVfbGlua19zZWxlY3RlZH0vPgorICAgICAgICAgIDxJY29uQnV0dG9uIGlkPSJhZGQtb25l dG9tYW55IiB0ZXh0PSIxTSIgb25DbGljaz17dGhpcy5vbk9uZVRvTWFueUNsaWNrfSB0aXRsZT17 Z2V0dGV4dCgnT25lLXRvLU1hbnkgbGluaycpfQorICAgICAgICAgICAgc2hvcnRjdXQ9e3RoaXMu c3RhdGUucHJlZmVyZW5jZXMub25lX3RvX21hbnl9IGRpc2FibGVkPXshdGhpcy5zdGF0ZS5zaW5n bGVfbm9kZV9zZWxlY3RlZCB8fCB0aGlzLnN0YXRlLnNpbmdsZV9saW5rX3NlbGVjdGVkfS8+Cisg ICAgICAgICAgPEljb25CdXR0b24gaWQ9ImFkZC1tYW55dG9tYW55IiB0ZXh0PSJNTSIgb25DbGlj az17dGhpcy5vbk1hbnlUb01hbnlDbGlja30gdGl0bGU9e2dldHRleHQoJ01hbnktdG8tTWFueSBs aW5rJyl9CisgICAgICAgICAgICBzaG9ydGN1dD17dGhpcy5zdGF0ZS5wcmVmZXJlbmNlcy5tYW55 X3RvX21hbnl9IGRpc2FibGVkPXshdGhpcy5zdGF0ZS5zaW5nbGVfbm9kZV9zZWxlY3RlZCB8fCB0 aGlzLnN0YXRlLnNpbmdsZV9saW5rX3NlbGVjdGVkfS8+CisgICAgICAgIDwvQnV0dG9uR3JvdXA+ CisgICAgICAgIDxCdXR0b25Hcm91cD4KKyAgICAgICAgICA8SWNvbkJ1dHRvbiBpZD0iYXV0by1h bGlnbiIgaWNvbj0iZmEgZmEtbWFnaWMiIG9uQ2xpY2s9e3RoaXMub25BdXRvRGlzdHJpYnV0ZX0g dGl0bGU9e2dldHRleHQoJ0F1dG8gYWxpZ24nKX0KKyAgICAgICAgICAgIHNob3J0Y3V0PXt0aGlz LnN0YXRlLnByZWZlcmVuY2VzLmF1dG9fYWxpZ259IC8+CisgICAgICAgICAgPERldGFpbHNUb2dn bGVCdXR0b24gaWQ9Im1vcmUtZGV0YWlscyIgb25DbGljaz17dGhpcy5vbkRldGFpbHNUb2dnbGV9 IHNob3dEZXRhaWxzPXt0aGlzLnN0YXRlLnNob3dfZGV0YWlsc30gLz4KKyAgICAgICAgPC9CdXR0 b25Hcm91cD4KKyAgICAgICAgPEJ1dHRvbkdyb3VwPgorICAgICAgICAgIDxJY29uQnV0dG9uIGlk PSJ6b29tLXRvLWZpdCIgaWNvbj0iZmEgZmEtY29tcHJlc3MiIG9uQ2xpY2s9e3RoaXMuZGlhZ3Jh bS56b29tVG9GaXR9IHRpdGxlPXtnZXR0ZXh0KCdab29tIHRvIGZpdCcpfQorICAgICAgICAgICAg c2hvcnRjdXQ9e3RoaXMuc3RhdGUucHJlZmVyZW5jZXMuem9vbV90b19maXR9Lz4KKyAgICAgICAg ICA8SWNvbkJ1dHRvbiBpZD0iem9vbS1pbiIgaWNvbj0iZmEgZmEtc2VhcmNoLXBsdXMiIG9uQ2xp Y2s9e3RoaXMuZGlhZ3JhbS56b29tSW59IHRpdGxlPXtnZXR0ZXh0KCdab29tIGluJyl9CisgICAg ICAgICAgICBzaG9ydGN1dD17dGhpcy5zdGF0ZS5wcmVmZXJlbmNlcy56b29tX2lufS8+CisgICAg ICAgICAgPEljb25CdXR0b24gaWQ9Inpvb20tb3V0IiBpY29uPSJmYSBmYS1zZWFyY2gtbWludXMi IG9uQ2xpY2s9e3RoaXMuZGlhZ3JhbS56b29tT3V0fSB0aXRsZT17Z2V0dGV4dCgnWm9vbSBvdXQn KX0KKyAgICAgICAgICAgIHNob3J0Y3V0PXt0aGlzLnN0YXRlLnByZWZlcmVuY2VzLnpvb21fb3V0 fS8+CisgICAgICAgIDwvQnV0dG9uR3JvdXA+CisgICAgICAgIDxCdXR0b25Hcm91cD4KKyAgICAg ICAgICA8SWNvbkJ1dHRvbiBpZD0iaGVscCIgaWNvbj0iZmEgZmEtcXVlc3Rpb24iIG9uQ2xpY2s9 e3RoaXMub25IZWxwQ2xpY2t9IHRpdGxlPXtnZXR0ZXh0KCdIZWxwJyl9IC8+CisgICAgICAgIDwv QnV0dG9uR3JvdXA+CisgICAgICA8L1Rvb2xCYXI+CisgICAgICA8Q29ubmVjdGlvbkJhciBzdGF0 dXNJZD0iYnRuLWNvbm4tc3RhdHVzIiBzdGF0dXM9e3RoaXMuc3RhdGUuY29ubl9zdGF0dXN9IGJn Y29sb3I9e3RoaXMucHJvcHMucGFyYW1zLmJnY29sb3J9CisgICAgICAgIGZnY29sb3I9e3RoaXMu cHJvcHMucGFyYW1zLmZnY29sb3J9IHRpdGxlPXt0aGlzLnByb3BzLnBhcmFtcy50aXRsZX0vPgor ICAgICAgPEZsb2F0aW5nTm90ZSBvcGVuPXt0aGlzLnN0YXRlLm5vdGVfb3Blbn0gb25DbG9zZT17 dGhpcy5vbk5vdGVDbG9zZX0KKyAgICAgICAgcmVmZXJlbmNlPXt0aGlzLm5vdGVSZWZFbGV9IG5v dGVOb2RlPXt0aGlzLnN0YXRlLm5vdGVfbm9kZX0gYXBwZW5kVG89e3RoaXMuZGlhZ3JhbUNvbnRh aW5lclJlZi5jdXJyZW50fSByb3dzPXs4fS8+CisgICAgICA8ZGl2IGNsYXNzTmFtZT0iZGlhZ3Jh bS1jb250YWluZXIiIHJlZj17dGhpcy5kaWFncmFtQ29udGFpbmVyUmVmfT4KKyAgICAgICAgPExv YWRlciBtZXNzYWdlPXt0aGlzLnN0YXRlLmxvYWRpbmdfbXNnfSBhdXRvRWxsaXBzaXM9e3RydWV9 Lz4KKyAgICAgICAgPENhbnZhc1dpZGdldCBjbGFzc05hbWU9ImRpYWdyYW0tY2FudmFzIGZsZXgt Z3Jvdy0xIiByZWY9eyhlbGUpPT57dGhpcy5jYW52YXNFbGUgPSBlbGU/LnJlZj8uY3VycmVudH19 IGVuZ2luZT17dGhpcy5kaWFncmFtLmdldEVuZ2luZSgpfSAvPgorICAgICAgPC9kaXY+CisgICAg ICA8Lz4KKyAgICApOworICB9Cit9CisKKworQm9keVdpZGdldC5wcm9wVHlwZXMgPSB7CisgIHBh cmFtczpQcm9wVHlwZXMuc2hhcGUoeworICAgIHRyYW5zX2lkOiBQcm9wVHlwZXMubnVtYmVyLmlz UmVxdWlyZWQsCisgICAgc2dpZDogUHJvcFR5cGVzLm9uZU9mVHlwZShbUHJvcFR5cGVzLm51bWJl ciwgUHJvcFR5cGVzLnN0cmluZ10pLmlzUmVxdWlyZWQsCisgICAgc2lkOiBQcm9wVHlwZXMub25l T2ZUeXBlKFtQcm9wVHlwZXMubnVtYmVyLCBQcm9wVHlwZXMuc3RyaW5nXSkuaXNSZXF1aXJlZCwK KyAgICBkaWQ6IFByb3BUeXBlcy5vbmVPZlR5cGUoW1Byb3BUeXBlcy5udW1iZXIsIFByb3BUeXBl cy5zdHJpbmddKS5pc1JlcXVpcmVkLAorICAgIHNlcnZlcl90eXBlOiBQcm9wVHlwZXMuc3RyaW5n LmlzUmVxdWlyZWQsCisgICAgdGl0bGU6IFByb3BUeXBlcy5zdHJpbmcuaXNSZXF1aXJlZCwKKyAg ICBiZ2NvbG9yOiBQcm9wVHlwZXMuc3RyaW5nLAorICAgIGZnY29sb3I6IFByb3BUeXBlcy5zdHJp bmcsCisgICAgZ2VuOiBQcm9wVHlwZXMuYm9vbC5pc1JlcXVpcmVkCisgIH0pLAorICBnZXREaWFs b2c6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsCisgIHRyYW5zZm9ybVRvU3VwcG9ydGVkOiBQ cm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLAorICBwZ0FkbWluOiBQcm9wVHlwZXMub2JqZWN0Lmlz UmVxdWlyZWQsCisgIGFsZXJ0aWZ5OiBQcm9wVHlwZXMub2JqZWN0LmlzUmVxdWlyZWQKK307CmRp ZmYgLS1naXQgYS93ZWIvcGdhZG1pbi90b29scy9lcmQvc3RhdGljL2pzL2VyZF90b29sL3VpX2Nv bXBvbmVudHMvQ29ubmVjdGlvbkJhci5qc3ggYi93ZWIvcGdhZG1pbi90b29scy9lcmQvc3RhdGlj L2pzL2VyZF90b29sL3VpX2NvbXBvbmVudHMvQ29ubmVjdGlvbkJhci5qc3gKbmV3IGZpbGUgbW9k ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwLi4yMmRmNzJlM2MKLS0tIC9kZXYvbnVsbAorKysgYi93 ZWIvcGdhZG1pbi90b29scy9lcmQvc3RhdGljL2pzL2VyZF90b29sL3VpX2NvbXBvbmVudHMvQ29u bmVjdGlvbkJhci5qc3gKQEAgLTAsMCArMSw1NyBAQAorLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLworLy8KKy8vIHBnQWRtaW4gNCAt IFBvc3RncmVTUUwgVG9vbHMKKy8vCisvLyBDb3B5cmlnaHQgKEMpIDIwMTMgLSAyMDIwLCBUaGUg cGdBZG1pbiBEZXZlbG9wbWVudCBUZWFtCisvLyBUaGlzIHNvZnR3YXJlIGlzIHJlbGVhc2VkIHVu ZGVyIHRoZSBQb3N0Z3JlU1FMIExpY2VuY2UKKy8vCisvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLworCitpbXBvcnQgUmVhY3QgZnJv bSAncmVhY3QnOworaW1wb3J0IGdldHRleHQgZnJvbSAnc291cmNlcy9nZXR0ZXh0JzsKK2ltcG9y dCBQcm9wVHlwZXMgZnJvbSAncHJvcC10eXBlcyc7CisKK2V4cG9ydCBjb25zdCBTVEFUVVMgPSB7 CisgIENPTk5FQ1RFRDogMSwKKyAgRElTQ09OTkVDVEVEOiAyLAorICBDT05ORUNUSU5HOiAzLAor ICBGQUlMRUQ6IDQsCit9CisKKy8qIFRoZSBjb25uZWN0aW9uIGJhciBjb21wb25lbnQgKi8KK2V4 cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIENvbm5lY3Rpb25CYXIoe3N0YXR1c0lkLCBzdGF0dXMsIGJn Y29sb3IsIGZnY29sb3IsIHRpdGxlfSkgeworICByZXR1cm4gKAorICAgIDxkaXYgY2xhc3NOYW1l PSJjb25uZWN0aW9uX3N0YXR1c193cmFwcGVyIGQtZmxleCI+CisgICAgICA8ZGl2IGlkPXtzdGF0 dXNJZH0KKyAgICAgICAgcm9sZT0ic3RhdHVzIgorICAgICAgICBjbGFzc05hbWU9ImNvbm5lY3Rp b25fc3RhdHVzIGQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyIGFsaWduLWl0ZW1zLWNlbnRl ciIgZGF0YS1jb250YWluZXI9ImJvZHkiCisgICAgICAgIGRhdGEtdG9nZ2xlPSJwb3BvdmVyIiBk YXRhLXBsYWNlbWVudD0iYm90dG9tIgorICAgICAgICBkYXRhLWNvbnRlbnQ9IiIKKyAgICAgICAg ZGF0YS1wYW5lbC12aXNpYmxlPSJ2aXNpYmxlIgorICAgICAgICB0YWJJbmRleD0iMCI+CisgICAg ICAgIDxzcGFuIGNsYXNzTmFtZT17J3BnLWZvbnQtaWNvbiBkLWZsZXggbS1hdXRvICcKKyAgICAg ICAgICAgICsgKHN0YXR1cyA9PSBTVEFUVVMuQ09OTkVDVEVEID8gJ2ljb24tcXVlcnktdG9vbC1j b25uZWN0ZWQnIDogJycpCisgICAgICAgICAgICArIChzdGF0dXMgPT0gKFNUQVRVUy5ESVNDT05O RUNURUQgfHwgU1RBVFVTLkZBSUxFRCkgPyAnaWNvbi1xdWVyeS10b29sLWRpc2Nvbm5lY3RlZCAn IDogJycpCisgICAgICAgICAgICArIChzdGF0dXMgPT0gU1RBVFVTLkNPTk5FQ1RJTkcgPyAnb2J0 YWluaW5nLWNvbm4nIDogJycpfQorICAgICAgICAgIGFyaWEtaGlkZGVuPSJ0cnVlIiB0aXRsZT0i IiByb2xlPSJpbWciPgorICAgICAgICA8L3NwYW4+CisgICAgICA8L2Rpdj4KKyAgICAgIDxkaXYg Y2xhc3NOYW1lPSJjb25uZWN0aW9uLWluZm8gYnRuLWdyb3VwIiByb2xlPSJncm91cCIgYXJpYS1s YWJlbD0iIj4KKyAgICAgICAgPGRpdiBjbGFzc05hbWU9ImVkaXRvci10aXRsZSIKKyAgICAgICAg ICBzdHlsZT17e2JhY2tncm91bmRDb2xvcjogYmdjb2xvciwgY29sb3I6IGZnY29sb3J9fT4KKyAg ICAgICAgICAgIHtzdGF0dXMgPT0gU1RBVFVTLkNPTk5FQ1RJTkcgPyAnKCcgKyBnZXR0ZXh0KCdP YnRhaW5pbmcgY29ubmVjdGlvbi4uLicpICsgJykgJyA6ICcnfQorICAgICAgICAgICAge3N0YXR1 cyA9PSBTVEFUVVMuRkFJTEVEID8gJygnICsgZ2V0dGV4dCgnQ29ubmVjdGlvbiBmYWlsZWQnKSAr ICcpICcgOiAnJ30KKyAgICAgICAgICAgIHt0aXRsZX0KKyAgICAgICAgPC9kaXY+CisgICAgICA8 L2Rpdj4KKyAgICA8L2Rpdj4KKyAgKQorfQorCitDb25uZWN0aW9uQmFyLnByb3BUeXBlcyA9IHsK KyAgc3RhdHVzSWQ6IFByb3BUeXBlcy5zdHJpbmcuaXNSZXF1aXJlZCwKKyAgc3RhdHVzOiBQcm9w VHlwZXMub25lT2YoT2JqZWN0LnZhbHVlcyhTVEFUVVMpKS5pc1JlcXVpcmVkLAorICBiZ2NvbG9y OiBQcm9wVHlwZXMuc3RyaW5nLAorICBmZ2NvbG9yOiBQcm9wVHlwZXMuc3RyaW5nLAorICB0aXRs ZTogUHJvcFR5cGVzLnN0cmluZy5pc1JlcXVpcmVkLAorfTsKZGlmZiAtLWdpdCBhL3dlYi9wZ2Fk bWluL3Rvb2xzL2VyZC9zdGF0aWMvanMvZXJkX3Rvb2wvdWlfY29tcG9uZW50cy9GbG9hdGluZ05v dGUuanN4IGIvd2ViL3BnYWRtaW4vdG9vbHMvZXJkL3N0YXRpYy9qcy9lcmRfdG9vbC91aV9jb21w b25lbnRzL0Zsb2F0aW5nTm90ZS5qc3gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw MDAwLi5hNjZjYzRkMGIKLS0tIC9kZXYvbnVsbAorKysgYi93ZWIvcGdhZG1pbi90b29scy9lcmQv c3RhdGljL2pzL2VyZF90b29sL3VpX2NvbXBvbmVudHMvRmxvYXRpbmdOb3RlLmpzeApAQCAtMCww ICsxLDcxIEBACisvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v Ly8vLy8vLy8vLy8vLy8vCisvLworLy8gcGdBZG1pbiA0IC0gUG9zdGdyZVNRTCBUb29scworLy8K Ky8vIENvcHlyaWdodCAoQykgMjAxMyAtIDIwMjAsIFRoZSBwZ0FkbWluIERldmVsb3BtZW50IFRl YW0KKy8vIFRoaXMgc29mdHdhcmUgaXMgcmVsZWFzZWQgdW5kZXIgdGhlIFBvc3RncmVTUUwgTGlj ZW5jZQorLy8KKy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v Ly8vLy8vLy8vLy8vLy8vCisKK2ltcG9ydCBSZWFjdCwgeyB1c2VFZmZlY3QsIHVzZVN0YXRlIH0g ZnJvbSAncmVhY3QnOworaW1wb3J0IFRpcHB5IGZyb20gJ0B0aXBweWpzL3JlYWN0JzsKK2ltcG9y dCBnZXR0ZXh0IGZyb20gJ3NvdXJjZXMvZ2V0dGV4dCc7CitpbXBvcnQgUHJvcFR5cGVzIGZyb20g J3Byb3AtdHlwZXMnOworaW1wb3J0IHsgVGFibGVOb2RlTW9kZWwgfSBmcm9tICcuLi9ub2Rlcy9U YWJsZU5vZGUnOworaW1wb3J0IEN1c3RvbVByb3BUeXBlcyBmcm9tICdzb3VyY2VzL2N1c3RvbV9w cm9wX3R5cGVzJzsKKworLyogVGhlIG5vdGUgY29tcG9uZW50IG9mIEVSRC4gSXQgdXNlcyB0aXBw eSB0byBjcmVhdGUgdGhlIGZsb2F0aW5nIG5vdGUgKi8KK2V4cG9ydCBkZWZhdWx0IGZ1bmN0aW9u IEZsb2F0aW5nTm90ZSh7b3Blbiwgb25DbG9zZSwgcmVmZXJlbmNlLCByb3dzLCBub3RlTm9kZSwg Li4udGlwcHlQcm9wc30pIHsKKyAgY29uc3QgdGV4dFJlZiA9IFJlYWN0LnVzZVJlZihudWxsKTsK KyAgY29uc3QgW3RleHQsIHNldFRleHRdID0gdXNlU3RhdGUoJycpOworICBjb25zdCBbaGVhZGVy LCBzZXRIZWFkZXJdID0gdXNlU3RhdGUoJycpOworICB1c2VFZmZlY3QoKCk9PnsKKyAgICBpZihu b3RlTm9kZSkgeworICAgICAgc2V0VGV4dChub3RlTm9kZS5nZXROb3RlKCkpOworICAgICAgbGV0 IFtzY2hlbWEsIG5hbWVdID0gbm90ZU5vZGUuZ2V0U2NoZW1hVGFibGVOYW1lKCk7CisgICAgICBz ZXRIZWFkZXIoYCR7bmFtZX0gKCR7c2NoZW1hfSlgKTsKKyAgICB9CisKKyAgICBpZihvcGVuKSB7 CisgICAgICB0ZXh0UmVmPy5jdXJyZW50LmZvY3VzKCk7CisgICAgICB0ZXh0UmVmPy5jdXJyZW50 LmRpc3BhdGNoRXZlbnQobmV3IEtleWJvYXJkRXZlbnQoJ2tleXByZXNzJykpOworICAgIH0KKyAg fSwgW25vdGVOb2RlLCBvcGVuXSk7CisKKyAgcmV0dXJuICgKKyAgICA8VGlwcHkgcmVuZGVyPXso YXR0cnMpPT4oCisgICAgICA8ZGl2IGNsYXNzTmFtZT0iZmxvYXRpbmctbm90ZSIgey4uLmF0dHJz fT4KKyAgICAgICAgPGRpdiBjbGFzc05hbWU9Im5vdGUtaGVhZGVyIj57Z2V0dGV4dCgnTm90ZScp fTo8L2Rpdj4KKyAgICAgICAgPGRpdiBjbGFzc05hbWU9Im5vdGUtYm9keSI+CisgICAgICAgICAg PGRpdiBjbGFzc05hbWU9InAtMSI+e2hlYWRlcn08L2Rpdj4KKyAgICAgICAgICA8dGV4dGFyZWEg cmVmPXt0ZXh0UmVmfSBjbGFzc05hbWU9InBnLXRleHRhcmVhIiB2YWx1ZT17dGV4dH0gcm93cz17 cm93c30gb25DaGFuZ2U9eyhlKT0+c2V0VGV4dChlLnRhcmdldC52YWx1ZSl9PjwvdGV4dGFyZWE+ CisgICAgICAgICAgPGRpdiBjbGFzc05hbWU9InBnX2J1dHRvbnMiPgorICAgICAgICAgICAgPGJ1 dHRvbiBjbGFzc05hbWU9ImJ0biBidG4tcHJpbWFyeSBsb25nX3RleHRfZWRpdG9yIHBnLWFsZXJ0 aWZ5LWJ1dHRvbiIgZGF0YS1sYWJlbD0iT0siCisgICAgICAgICAgICAgIG9uQ2xpY2s9eygpPT57 CisgICAgICAgICAgICAgICAgbGV0IHVwZGF0ZWQgPSAobm90ZU5vZGUuZ2V0Tm90ZSgpICE9IHRl eHQpOworICAgICAgICAgICAgICAgIG5vdGVOb2RlLnNldE5vdGUodGV4dCk7CisgICAgICAgICAg ICAgICAgaWYob25DbG9zZSkgb25DbG9zZSh1cGRhdGVkKTsKKyAgICAgICAgICAgICAgfX0+Cisg ICAgICAgICAgICAgIDxzcGFuIGNsYXNzTmFtZT0iZmEgZmEtY2hlY2sgcGctYWxlcnRpZnktYnV0 dG9uIj48L3NwYW4+Jm5ic3A7e2dldHRleHQoJ09LJyl9CisgICAgICAgICAgICA8L2J1dHRvbj4K KyAgICAgICAgICA8L2Rpdj4KKyAgICAgICAgPC9kaXY+CisgICAgICA8L2Rpdj4KKyAgICAgICl9 CisgICAgICB2aXNpYmxlPXtvcGVufQorICAgICAgaW50ZXJhY3RpdmU9e3RydWV9CisgICAgICBh bmltYXRpb249e2ZhbHNlfQorICAgICAgcmVmZXJlbmNlPXtyZWZlcmVuY2V9CisgICAgICBwbGFj ZW1lbnQ9J2F1dG8tZW5kJworICAgICAgey4uLnRpcHB5UHJvcHN9CisgICAgLz4KKyAgKTsKK30K KworRmxvYXRpbmdOb3RlLnByb3BUeXBlcyA9IHsKKyAgb3BlbjogUHJvcFR5cGVzLmJvb2wuaXNS ZXF1aXJlZCwKKyAgb25DbG9zZTogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCwKKyAgcmVmZXJl bmNlOiBDdXN0b21Qcm9wVHlwZXMucmVmLAorICByb3dzOiBQcm9wVHlwZXMubnVtYmVyLAorICBu b3RlTm9kZTogUHJvcFR5cGVzLm9iamVjdCwKK307CmRpZmYgLS1naXQgYS93ZWIvcGdhZG1pbi90 b29scy9lcmQvc3RhdGljL2pzL2VyZF90b29sL3VpX2NvbXBvbmVudHMvTG9hZGVyLmpzeCBiL3dl Yi9wZ2FkbWluL3Rvb2xzL2VyZC9zdGF0aWMvanMvZXJkX3Rvb2wvdWlfY29tcG9uZW50cy9Mb2Fk ZXIuanN4Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMC4uMTkzNGRiMmZlCi0t LSAvZGV2L251bGwKKysrIGIvd2ViL3BnYWRtaW4vdG9vbHMvZXJkL3N0YXRpYy9qcy9lcmRfdG9v bC91aV9jb21wb25lbnRzL0xvYWRlci5qc3gKQEAgLTAsMCArMSwzNCBAQAorLy8vLy8vLy8vLy8v Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLworLy8KKy8v IHBnQWRtaW4gNCAtIFBvc3RncmVTUUwgVG9vbHMKKy8vCisvLyBDb3B5cmlnaHQgKEMpIDIwMTMg LSAyMDIwLCBUaGUgcGdBZG1pbiBEZXZlbG9wbWVudCBUZWFtCisvLyBUaGlzIHNvZnR3YXJlIGlz IHJlbGVhc2VkIHVuZGVyIHRoZSBQb3N0Z3JlU1FMIExpY2VuY2UKKy8vCisvLy8vLy8vLy8vLy8v Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLworCitpbXBv cnQgUmVhY3QgZnJvbSAncmVhY3QnOworaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVz JzsKKworLyogVGhlIGxvYWRlci9zcGlubmVyIGNvbXBvbmVudCAqLworZXhwb3J0IGRlZmF1bHQg ZnVuY3Rpb24gTG9hZGVyKHttZXNzYWdlLCBhdXRvRWxsaXBzaXM9ZmFsc2V9KSB7CisgIGlmKG1l c3NhZ2UgfHwgbWVzc2FnZSA9PSAnJykgeworICAgIHJldHVybiAoCisgICAgICA8ZGl2IGNsYXNz TmFtZT0icGctc3AtY29udGFpbmVyIj4KKyAgICAgICAgPGRpdiBjbGFzc05hbWU9InBnLXNwLWNv bnRlbnQiPgorICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPSJyb3ciPgorICAgICAgICAgICAgPGRp diBjbGFzc05hbWU9ImNvbC0xMiBwZy1zcC1pY29uIj48L2Rpdj4KKyAgICAgICAgICA8L2Rpdj4K KyAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT0icm93Ij48ZGl2IGNsYXNzTmFtZT0iY29sLTEyIHBn LXNwLXRleHQiPnttZXNzYWdlfXthdXRvRWxsaXBzaXMgPyAnLi4uJzonJ308L2Rpdj48L2Rpdj4K KyAgICAgICAgPC9kaXY+CisgICAgICA8L2Rpdj4KKyAgICApOworICB9IGVsc2UgeworICAgIHJl dHVybiBudWxsOworICB9Cit9CisKK0xvYWRlci5wcm9wVHlwZXMgPSB7CisgIG1lc3NhZ2U6IFBy b3BUeXBlcy5zdHJpbmcsCisgIGF1dG9FbGxpcHNpczogUHJvcFR5cGVzLmJvb2wsCit9OwpkaWZm IC0tZ2l0IGEvd2ViL3BnYWRtaW4vdG9vbHMvZXJkL3N0YXRpYy9qcy9lcmRfdG9vbC91aV9jb21w b25lbnRzL1Rvb2xCYXIuanN4IGIvd2ViL3BnYWRtaW4vdG9vbHMvZXJkL3N0YXRpYy9qcy9lcmRf dG9vbC91aV9jb21wb25lbnRzL1Rvb2xCYXIuanN4Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4 IDAwMDAwMDAwMC4uNmUwMjVkM2EzCi0tLSAvZGV2L251bGwKKysrIGIvd2ViL3BnYWRtaW4vdG9v bHMvZXJkL3N0YXRpYy9qcy9lcmRfdG9vbC91aV9jb21wb25lbnRzL1Rvb2xCYXIuanN4CkBAIC0w LDAgKzEsMTM2IEBACisvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v Ly8vLy8vLy8vLy8vLy8vLy8vCisvLworLy8gcGdBZG1pbiA0IC0gUG9zdGdyZVNRTCBUb29scwor Ly8KKy8vIENvcHlyaWdodCAoQykgMjAxMyAtIDIwMjAsIFRoZSBwZ0FkbWluIERldmVsb3BtZW50 IFRlYW0KKy8vIFRoaXMgc29mdHdhcmUgaXMgcmVsZWFzZWQgdW5kZXIgdGhlIFBvc3RncmVTUUwg TGljZW5jZQorLy8KKy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v Ly8vLy8vLy8vLy8vLy8vLy8vCisKK2ltcG9ydCBSZWFjdCwgeyBmb3J3YXJkUmVmIH0gZnJvbSAn cmVhY3QnOworaW1wb3J0IFRpcHB5IGZyb20gJ0B0aXBweWpzL3JlYWN0JzsKK2ltcG9ydCB7aXNN YWN9IGZyb20gJ3NvdXJjZXMva2V5Ym9hcmRfc2hvcnRjdXRzJzsKK2ltcG9ydCBnZXR0ZXh0IGZy b20gJ3NvdXJjZXMvZ2V0dGV4dCc7CitpbXBvcnQgUHJvcFR5cGVzIGZyb20gJ3Byb3AtdHlwZXMn OworaW1wb3J0IEN1c3RvbVByb3BUeXBlcyBmcm9tICdzb3VyY2VzL2N1c3RvbV9wcm9wX3R5cGVz JzsKKworLyogVGhlIGJhc2UgaWNvbiBidXR0b24uCitSZWFjdCBkb2VzIG5vdCBwYXNzIHJlZiBw cm9wIHRvIGNoaWxkIGNvbXBvbmVudCBoaWVyYXJjaHkuCitVc2UgZm9yd2FyZFJlZiBmb3IgdGhl IHNhbWUKKyovCitjb25zdCBCYXNlSWNvbkJ1dHRvbiA9IGZvcndhcmRSZWYoKHByb3BzLCByZWYp PT57CisgIGNvbnN0IHtpY29uLCB0ZXh0LCBjbGFzc05hbWUsIC4uLm90aGVyUHJvcHN9ID0gcHJv cHM7CisKKyAgcmV0dXJuKAorICAgIDxidXR0b24gcmVmPXtyZWZ9IGNsYXNzTmFtZT17Y2xhc3NO YW1lfSB7Li4ub3RoZXJQcm9wc30+CisgICAgICB7aWNvbiAmJiA8c3BhbiBjbGFzc05hbWU9e2Ak e2ljb259IHNxbC1pY29uLWxnYH0gYXJpYS1oaWRkZW49InRydWUiIHJvbGU9ImltZyI+PC9zcGFu Pn0KKyAgICAgIHt0ZXh0ICYmIDxzcGFuIGNsYXNzTmFtZT0idGV4dC1pY29uIj57dGV4dH08L3Nw YW4+fQorICAgIDwvYnV0dG9uPgorICApOworfSk7CisKK0Jhc2VJY29uQnV0dG9uLnByb3BUeXBl cyA9IHsKKyAgaWNvbjogUHJvcFR5cGVzLnN0cmluZywKKyAgdGV4dDogUHJvcFR5cGVzLnN0cmlu ZywKKyAgY2xhc3NOYW1lOiBQcm9wVHlwZXMuc3RyaW5nLAorICByZWY6IEN1c3RvbVByb3BUeXBl cy5yZWYsCit9CisKKworLyogVGhlIHRvb2x0aXAgY29udGVudCB0byBzaG93IHNob3J0Y3V0IGRl dGFpbHMgKi8KK2V4cG9ydCBmdW5jdGlvbiBTaG9ydGN1dCh7c2hvcnRjdXR9KSB7CisgIGxldCBr ZXlzID0gW107CisgIHNob3J0Y3V0LmFsdCAmJiBrZXlzLnB1c2goKGlzTWFjKCkgPyAnT3B0aW9u JyA6ICdBbHQnKSk7CisgIHNob3J0Y3V0LmNvbnRyb2wgJiYga2V5cy5wdXNoKCdDdHJsJyk7Cisg IHNob3J0Y3V0LnNoaWZ0ICYmIGtleXMucHVzaCgnU2hpZnQnKTsKKyAga2V5cy5wdXNoKHNob3J0 Y3V0LmtleS5jaGFyLnRvVXBwZXJDYXNlKCkpOworICByZXR1cm4gKAorICAgIDxkaXYgc3R5bGU9 e3tqdXN0aWZ5Q29udGVudDogJ2NlbnRlcicsIG1hcmdpblRvcDogJzAuMTI1cmVtJ319IGNsYXNz TmFtZT0iZC1mbGV4Ij4KKyAgICAgIHtrZXlzLm1hcCgoa2V5LCBpKT0+eworICAgICAgICByZXR1 cm4gPGRpdiBrZXk9e2l9IGNsYXNzTmFtZT0ic2hvcnRjdXQta2V5Ij57a2V5fTwvZGl2PgorICAg ICAgfSl9CisgICAgPC9kaXY+CisgICkKK30KKworY29uc3Qgc2hvcnRjdXRQcm9wVHlwZSA9IFBy b3BUeXBlcy5zaGFwZSh7CisgIGFsdDogUHJvcFR5cGVzLmJvb2wsCisgIGNvbnRyb2w6IFByb3BU eXBlcy5ib29sLAorICBzaGlmdDogUHJvcFR5cGVzLmJvb2wsCisgIGtleTogUHJvcFR5cGVzLnNo YXBlKHsKKyAgICBjaGFyOiBQcm9wVHlwZXMuc3RyaW5nLAorICB9KSwKK30pOworCitTaG9ydGN1 dC5wcm9wVHlwZXMgPSB7CisgIHNob3J0Y3V0OiBzaG9ydGN1dFByb3BUeXBlLAorfTsKKworLyog VGhlIGljb24gYnV0dG9uIGNvbXBvbmVudCB3aGljaCBjYW4gaGF2ZSBhIHRvb2x0aXAgYmFzZWQg b24gcHJvcHMuCitSZWFjdCBkb2VzIG5vdCBwYXNzIHJlZiBwcm9wIHRvIGNoaWxkIGNvbXBvbmVu dCBoaWVyYXJjaHkuCitVc2UgZm9yd2FyZFJlZiBmb3IgdGhlIHNhbWUKKyovCitleHBvcnQgY29u c3QgSWNvbkJ1dHRvbiA9IGZvcndhcmRSZWYoKHByb3BzLCByZWYpID0+IHsKKyAgY29uc3Qge3Rp dGxlLCBzaG9ydGN1dCwgY2xhc3NOYW1lLCAuLi5vdGhlclByb3BzfSA9IHByb3BzOworCisgIGlm ICh0aXRsZSkgeworICAgIHJldHVybiAoCisgICAgICA8VGlwcHkgY29udGVudD17CisgICAgICAg IDw+CisgICAgICAgICAgezxkaXYgc3R5bGU9e3t0ZXh0QWxpZ246ICdjZW50ZXInfX0+e3RpdGxl fTwvZGl2Pn0KKyAgICAgICAgICB7c2hvcnRjdXQgJiYgPFNob3J0Y3V0IHNob3J0Y3V0PXtzaG9y dGN1dH0gLz59CisgICAgICAgIDwvPgorICAgICAgfT4KKyAgICAgICAgPEJhc2VJY29uQnV0dG9u IHJlZj17cmVmfSBjbGFzc05hbWU9eydidG4gYnRuLXNtIGJ0bi1wcmltYXJ5LWljb24gJyArIChj bGFzc05hbWUgfHwgJycpfSB7Li4ub3RoZXJQcm9wc30vPgorICAgICAgPC9UaXBweT4KKyAgICAp OworICB9IGVsc2UgeworICAgIHJldHVybiA8QmFzZUljb25CdXR0b24gcmVmPXtyZWZ9IGNsYXNz TmFtZT0nYnRuIGJ0bi1zbSBidG4tcHJpbWFyeS1pY29uJyB7Li4ub3RoZXJQcm9wc30vPgorICB9 Cit9KTsKKworSWNvbkJ1dHRvbi5wcm9wVHlwZXMgPSB7CisgIHRpdGxlOiBQcm9wVHlwZXMuc3Ry aW5nLAorICBzaG9ydGN1dDogc2hvcnRjdXRQcm9wVHlwZSwKKyAgY2xhc3NOYW1lOiBQcm9wVHlw ZXMuc3RyaW5nLAorfQorCisvKiBUb2dnbGUgYnV0dG9uLCBpY29uIGNoYW5nZXMgYmFzZWQgb24g dmFsdWUgKi8KK2V4cG9ydCBmdW5jdGlvbiBEZXRhaWxzVG9nZ2xlQnV0dG9uKHtzaG93RGV0YWls cywgLi4ucHJvcHN9KSB7CisgIHJldHVybiAoCisgICAgPEljb25CdXR0b24KKyAgICAgIGljb249 e3Nob3dEZXRhaWxzID8gJ2ZhciBmYS1leWUnIDogJ2ZhcyBmYS1sb3ctdmlzaW9uJ30KKyAgICAg IHRpdGxlPXtzaG93RGV0YWlscyA/IGdldHRleHQoJ1Nob3cgZmV3ZXIgZGV0YWlscycpIDogZ2V0 dGV4dCgiU2hvdyBtb3JlIGRldGFpbHMiKSB9CisgICAgICB7Li4ucHJvcHN9IC8+CisgICk7Cit9 CisKK0RldGFpbHNUb2dnbGVCdXR0b24ucHJvcFR5cGVzID0geworICBzaG93RGV0YWlsczogUHJv cFR5cGVzLmJvb2wsCit9CisKKy8qIEJ1dHRvbiBncm91cCBjb250YWluZXIgKi8KK2V4cG9ydCBm dW5jdGlvbiBCdXR0b25Hcm91cCh7Y2xhc3NOYW1lLCBjaGlsZHJlbn0pIHsKKyAgcmV0dXJuICgK KyAgICA8ZGl2IGNsYXNzTmFtZT17J2J0bi1ncm91cCBtci0xICcgKyAoY2xhc3NOYW1lID8gY2xh c3NOYW1lIDogJycpfSByb2xlPSJncm91cCIgYXJpYS1sYWJlbD0ic2F2ZSBncm91cCI+CisgICAg ICB7Y2hpbGRyZW59CisgICAgPC9kaXY+CisgICkKK30KKworQnV0dG9uR3JvdXAucHJvcFR5cGVz ID0geworICBjbGFzc05hbWU6IFByb3BUeXBlcy5zdHJpbmcsCit9CisKKy8qIFRvb2xiYXIgY29u dGFpbmVyICovCitleHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBUb29sQmFyKHtpZCwgY2hpbGRyZW59 KSB7CisgIHJldHVybiAoCisgICAgPGRpdiBpZD17aWR9IGNsYXNzTmFtZT0iZWRpdG9yLXRvb2xi YXIgZC1mbGV4IiByb2xlPSJ0b29sYmFyIiBhcmlhLWxhYmVsPSIiPgorICAgICAge2NoaWxkcmVu fQorICAgIDwvZGl2PgorICApCit9CisKK0J1dHRvbkdyb3VwLnByb3BUeXBlcyA9IHsKKyAgaWQ6 IFByb3BUeXBlcy5zdHJpbmcsCit9CmRpZmYgLS1naXQgYS93ZWIvcGdhZG1pbi90b29scy9lcmQv c3RhdGljL2pzL2VyZF90b29sX2hvb2suanMgYi93ZWIvcGdhZG1pbi90b29scy9lcmQvc3RhdGlj L2pzL2VyZF90b29sX2hvb2suanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw Li5mY2U3NjI3MGMKLS0tIC9kZXYvbnVsbAorKysgYi93ZWIvcGdhZG1pbi90b29scy9lcmQvc3Rh dGljL2pzL2VyZF90b29sX2hvb2suanMKQEAgLTAsMCArMSwzNSBAQAorLy8vLy8vLy8vLy8vLy8v Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLworLy8KKy8vIHBn QWRtaW4gNCAtIFBvc3RncmVTUUwgVG9vbHMKKy8vCisvLyBDb3B5cmlnaHQgKEMpIDIwMTMgLSAy MDIwLCBUaGUgcGdBZG1pbiBEZXZlbG9wbWVudCBUZWFtCisvLyBUaGlzIHNvZnR3YXJlIGlzIHJl bGVhc2VkIHVuZGVyIHRoZSBQb3N0Z3JlU1FMIExpY2VuY2UKKy8vCisvLy8vLy8vLy8vLy8vLy8v Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLworCitkZWZpbmUo WworICAnc291cmNlcy9wZ2FkbWluJywgJ3BnYWRtaW4udG9vbHMuZXJkL2VyZF90b29sJywgJ3Bn YWRtaW4uYnJvd3NlcicsCisgICdwZ2FkbWluLmJyb3dzZXIuc2VydmVyLnByaXZpbGVnZScsICdw Z2FkbWluLm5vZGUuZGF0YWJhc2UnLCAncGdhZG1pbi5ub2RlLnByaW1hcnlfa2V5JywKKyAgJ3Bn YWRtaW4ubm9kZS5mb3JlaWduX2tleScsICdwZ2FkbWluLmJyb3dzZXIuZGF0YW1vZGVsJywgJ3Bn YWRtaW4uZmlsZV9tYW5hZ2VyJywKK10sIGZ1bmN0aW9uKAorICBwZ0FkbWluLCBFUkRUb29sTW9k dWxlCispIHsKKyAgdmFyIHBnVG9vbHMgPSBwZ0FkbWluLlRvb2xzID0gcGdBZG1pbi5Ub29scyB8 fCB7fTsKKyAgdmFyIEVSRFRvb2wgPSBFUkRUb29sTW9kdWxlLmRlZmF1bHQ7CisKKyAgLyogUmV0 dXJuIGJhY2ssIHRoaXMgaGFzIGJlZW4gY2FsbGVkIG1vcmUgdGhhbiBvbmNlICovCisgIGlmIChw Z1Rvb2xzLkVSRFRvb2xIb29rKQorICAgIHJldHVybiBwZ1Rvb2xzLkVSRFRvb2xIb29rOworCisg IHBnVG9vbHMuRVJEVG9vbEhvb2sgPSB7CisgICAgbG9hZDogZnVuY3Rpb24ocGFyYW1zKSB7Cisg ICAgICAvKiBDcmVhdGUgdGhlIEVSRCBUb29sIG9iamVjdCBhbmQgcmVuZGVyIGl0ICovCisgICAg ICBsZXQgZXJkT2JqID0gbmV3IEVSRFRvb2woJyNlcmQtdG9vbC1jb250YWluZXInLCBwYXJhbXMp OworICAgICAgZXJkT2JqLnJlbmRlcigpOworICAgIH0sCisgIH07CisKKyAgcmV0dXJuIHBnVG9v bHMuRVJEVG9vbEhvb2s7Cit9KTsKKworCmRpZmYgLS1naXQgYS93ZWIvcGdhZG1pbi90b29scy9l cmQvc3RhdGljL2pzL2luZGV4LmpzIGIvd2ViL3BnYWRtaW4vdG9vbHMvZXJkL3N0YXRpYy9qcy9p bmRleC5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAuLmI5NjhhNTIyMwot LS0gL2Rldi9udWxsCisrKyBiL3dlYi9wZ2FkbWluL3Rvb2xzL2VyZC9zdGF0aWMvanMvaW5kZXgu anMKQEAgLTAsMCArMSwyMyBAQAorLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLworLy8KKy8vIHBnQWRtaW4gNCAtIFBvc3RncmVTUUwg VG9vbHMKKy8vCisvLyBDb3B5cmlnaHQgKEMpIDIwMTMgLSAyMDIwLCBUaGUgcGdBZG1pbiBEZXZl bG9wbWVudCBUZWFtCisvLyBUaGlzIHNvZnR3YXJlIGlzIHJlbGVhc2VkIHVuZGVyIHRoZSBQb3N0 Z3JlU1FMIExpY2VuY2UKKy8vCisvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLworaW1wb3J0IGdldHRleHQgZnJvbSAnc291cmNlcy9n ZXR0ZXh0JzsKK2ltcG9ydCB1cmxfZm9yIGZyb20gJ3NvdXJjZXMvdXJsX2Zvcic7CitpbXBvcnQg JCBmcm9tICdqcXVlcnknOworaW1wb3J0IF8gZnJvbSAndW5kZXJzY29yZSc7CitpbXBvcnQgcGdB ZG1pbiBmcm9tICdzb3VyY2VzL3BnYWRtaW4nOworaW1wb3J0IHBnQnJvd3NlciBmcm9tICd0b3Av YnJvd3Nlci9zdGF0aWMvanMvYnJvd3Nlcic7CitpbXBvcnQgKiBhcyBjc3JmVG9rZW4gZnJvbSAn c291cmNlcy9jc3JmJzsKK2ltcG9ydCB7aW5pdGlhbGl6ZX0gZnJvbSAnLi9lcmRfbW9kdWxlJzsK K3ZhciB3Y0RvY2tlciA9IHdpbmRvdy53Y0RvY2tlcjsKKworbGV0IHBnQnJvd3Nlck91dCA9IGlu aXRpYWxpemUoZ2V0dGV4dCwgdXJsX2ZvciwgJCwgXywgcGdBZG1pbiwgY3NyZlRva2VuLCBwZ0Jy b3dzZXIsIHdjRG9ja2VyKTsKKworbW9kdWxlLmV4cG9ydHMgPSB7CisgIHBnQnJvd3NlcjogcGdC cm93c2VyT3V0LAorfTsKZGlmZiAtLWdpdCBhL3dlYi9wZ2FkbWluL3Rvb2xzL2VyZC9zdGF0aWMv c2Nzcy9fZXJkLnNjc3MgYi93ZWIvcGdhZG1pbi90b29scy9lcmQvc3RhdGljL3Njc3MvX2VyZC5z Y3NzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMC4uNzMzZGQ1M2M2Ci0tLSAv ZGV2L251bGwKKysrIGIvd2ViL3BnYWRtaW4vdG9vbHMvZXJkL3N0YXRpYy9zY3NzL19lcmQuc2Nz cwpAQCAtMCwwICsxLDE4OSBAQAorLnNob3J0Y3V0LWtleSB7CisgIHBhZGRpbmc6IDAgMC4yNXJl bTsKKyAgYm9yZGVyOiAxcHggc29saWQgJGJvcmRlci1jb2xvcjsKKyAgbWFyZ2luLXJpZ2h0OiAw LjEyNXJlbTsKKyAgYm9yZGVyLXJhZGl1czogJGJ0bi1ib3JkZXItcmFkaXVzOworfQorCisjZXJk LXRvb2wtY29udGFpbmVyIHsKKwl3aWR0aDogMTAwJTsKKwloZWlnaHQ6IDEwMCU7CisKKyAgLmZp bGUtaW5wdXQtaGlkZGVuIHsKKyAgICBoZWlnaHQ6IDA7CisgICAgd2lkdGg6IDA7CisgICAgdmlz aWJpbGl0eTogaGlkZGVuOworICB9CisKKyAgLnRleHQtaWNvbiB7CisgICAgZm9udC13ZWlnaHQ6 IGJvbGQ7CisgIH0KKworICAuZXJkLWhpbnQtYmFyIHsKKyAgICBiYWNrZ3JvdW5kOiAkc3FsLWd1 dHRlcnMtYmc7CisgICAgcGFkZGluZzogMC4yNXJlbSAwLjVyZW07CisgIH0KKworICAuZGlhZ3Jh bS1jb250YWluZXIgeworICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKKyAgICB3aWR0aDogMTAwJTsK KyAgICBoZWlnaHQ6IDEwMCU7CisgIH0KKworICAuZmxvYXRpbmctbm90ZSB7CisgICAgd2lkdGg6 IDI1MHB4OworICAgIGJvcmRlcjogJHBhbmVsLWJvcmRlcjsKKyAgICBib3JkZXItcmFkaXVzOiAk cGFuZWwtYm9yZGVyLXJhZGl1czsKKyAgICBib3gtc2hhZG93OiAkZGlhbG9nLWJveC1zaGFkb3c7 CisgICAgYmFja2dyb3VuZC1jb2xvcjogJGFsZXJ0LWRpYWxvZy1ib2R5LWJnICFpbXBvcnRhbnQ7 CisgICAgY29sb3I6ICRjb2xvci1mZyAhaW1wb3J0YW50OworCisgICAgLm5vdGUtaGVhZGVyIHsK KyAgICAgIHBhZGRpbmc6IDAuMjVyZW0gMC41cmVtOworICAgICAgYmFja2dyb3VuZC1jb2xvcjog JGFsZXJ0LWhlYWRlci1iZzsKKyAgICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1iYXNlOworICAg ICAgZm9udC13ZWlnaHQ6IGJvbGQ7CisgICAgICBjb2xvcjogJGFsZXJ0LWhlYWRlci1mZzsKKyAg ICAgIG92ZXJmbG93OiBoaWRkZW47CisgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwOworICAgICAg dGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7CisgICAgICBib3JkZXItcmFkaXVzOiAwcmVtOworICAg ICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogJHBhbmVsLWJvcmRlci1yYWRpdXM7CisgICAgICBi b3JkZXItdG9wLXJpZ2h0LXJhZGl1czogJHBhbmVsLWJvcmRlci1yYWRpdXM7CisgICAgICBib3Jk ZXItYm90dG9tOiBub25lOworICAgICAgbWFyZ2luOiAtJGFsZXJ0aWZ5LWJvcmRlcnJlbW92ZS1t YXJnaW47IC8vLTI0cHggaXMgZGVmYXVsdCBieSBhbGVydGlmeQorICAgICAgbWFyZ2luLWJvdHRv bTogMHB4OworICAgIH0KKworICAgIC5ub3RlLWJvZHkgeworICAgICAgJiB0ZXh0YXJlYSB7Cisg ICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICBib3JkZXI6IG5vbmU7CisgICAgICAgIGJvcmRl ci1ib3R0b206ICRib3JkZXItd2lkdGggc29saWQgJGVyZC1ub2RlLWJvcmRlci1jb2xvcjsKKyAg ICAgICAgYm9yZGVyLXRvcDogJGJvcmRlci13aWR0aCBzb2xpZCAkZXJkLW5vZGUtYm9yZGVyLWNv bG9yOworICAgICAgfQorCisgICAgICAmIC5wZ19idXR0b25zIHsKKyAgICAgICAgcGFkZGluZzog MC4yNXJlbTsKKyAgICAgIH0KKyAgICB9CisgIH0KKworICAuZGlhZ3JhbS1jYW52YXN7CisgICAg d2lkdGg6IDEwMCU7CisgICAgaGVpZ2h0OiAxMDAlOworICAgIGNvbG9yOiAkY29sb3ItZmc7Cisg ICAgZm9udC1mYW1pbHk6IHNhbnMtc2VyaWY7CisgICAgYmFja2dyb3VuZC1pbWFnZTogJGVyZC1i Zy1ncmlkOworICAgIGN1cnNvcjogdW5zZXQ7CisKKyAgICAudGFibGUtbm9kZSB7CisgICAgICBi YWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtYmc7CisgICAgICBib3JkZXI6ICRib3JkZXItd2lkdGgg c29saWQgJGVyZC1ub2RlLWJvcmRlci1jb2xvcjsKKyAgICAgIGJvcmRlci1yYWRpdXM6ICRpbnB1 dC1ib3JkZXItcmFkaXVzOworICAgICAgcG9zaXRpb246IHJlbGF0aXZlOworICAgICAgd2lkdGg6 IDE3NXB4OworICAgICAgZm9udC1zaXplOiAwLjhlbTsKKworICAgICAgJi5zZWxlY3RlZCB7Cisg ICAgICAgIGJvcmRlci1jb2xvcjogJGlucHV0LWZvY3VzLWJvcmRlci1jb2xvcjsKKyAgICAgICAg Ym94LXNoYWRvdzogJGlucHV0LWJ0bi1mb2N1cy1ib3gtc2hhZG93OworICAgICAgfQorCisgICAg ICAudGFibGUtdG9vbGJhciB7CisgICAgICAgIGJhY2tncm91bmQ6ICRlZGl0b3ItdG9vbGJhci1i ZzsKKyAgICAgICAgYm9yZGVyLWJvdHRvbTogJGJvcmRlci13aWR0aCBzb2xpZCAkZXJkLW5vZGUt Ym9yZGVyLWNvbG9yOworICAgICAgICBwYWRkaW5nOiAwLjEyNXJlbTsKKyAgICAgICAgYm9yZGVy LXRvcC1sZWZ0LXJhZGl1czogaW5oZXJpdDsKKyAgICAgICAgYm9yZGVyLXRvcC1yaWdodC1yYWRp dXM6IGluaGVyaXQ7CisgICAgICAgIGRpc3BsYXk6IGZsZXg7CisKKyAgICAgICAgLmJ0biB7Cisg ICAgICAgICAgJjpub3QoOmZpcnN0LW9mLXR5cGUpIHsKKyAgICAgICAgICAgIG1hcmdpbi1sZWZ0 OiAwLjEyNXJlbTsKKyAgICAgICAgICB9CisgICAgICAgIH0KKyAgICAgIH0KKworICAgICAgLnRh YmxlLXNjaGVtYSB7CisgICAgICAgIGJvcmRlci1ib3R0b206ICRib3JkZXItd2lkdGggc29saWQg JGVyZC1ub2RlLWJvcmRlci1jb2xvcjsKKyAgICAgICAgcGFkZGluZzogJGVyZC1yb3ctcGFkZGlu ZzsKKyAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7CisgICAgICB9CisKKyAgICAgIC50YWJsZS1u YW1lIHsKKyAgICAgICAgYm9yZGVyLWJvdHRvbTogJGJvcmRlci13aWR0aCoyIHNvbGlkICRlcmQt bm9kZS1ib3JkZXItY29sb3I7CisgICAgICAgIHBhZGRpbmc6ICRlcmQtcm93LXBhZGRpbmc7Cisg ICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkOworICAgICAgfQorCisgICAgICAudGFibGUtY29scyB7 CisgICAgICAgIC5jb2wtcm93IHsKKyAgICAgICAgICBib3JkZXItYm90dG9tOiAkYm9yZGVyLXdp ZHRoIHNvbGlkICRlcmQtbm9kZS1ib3JkZXItY29sb3I7CisgICAgICAgICAgLmNvbC1yb3ctZGF0 YSB7CisgICAgICAgICAgICBwYWRkaW5nOiAkZXJkLXJvdy1wYWRkaW5nOworICAgICAgICAgICAg d2lkdGg6IDEwMCU7CisKKyAgICAgICAgICAgIC5jb2wtbmFtZSB7CisgICAgICAgICAgICAgIHdv cmQtYnJlYWs6IGJyZWFrLWFsbDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICB9CisgICAgICAg ICAgLmNvbC1yb3ctcG9ydCB7CisgICAgICAgICAgICBwYWRkaW5nOiAwOworICAgICAgICAgICAg bWluLWhlaWdodDogMDsKKyAgICAgICAgICB9CisgICAgICAgIH0KKyAgICAgIH0KKyAgICB9CisK KyAgICAuc3ZnLWxpbmstZWxlIHsKKyAgICAgIHN0cm9rZTogJGVyZC1saW5rLWNvbG9yOworICAg IH0KKworICAgIC5zdmctbGluay1lbGUucGF0aCB7CisgICAgICBwb2ludGVyLWV2ZW50czogYWxs OworICAgIH0KKworICAgIEBrZXlmcmFtZXMgc3ZnLWxpbmstZWxlLXNlbGVjdGVkIHsKKyAgICAg IGZyb20geyBzdHJva2UtZGFzaG9mZnNldDogMjQ7IH0gdG8geyBzdHJva2UtZGFzaG9mZnNldDog MDsgfQorICAgIH0KKworICAgIC5zdmctbGluay1lbGUuc2VsZWN0ZWQgeworICAgICAgc3Ryb2tl OiAkZXJkLWxpbmstc2VsZWN0ZWQtY29sb3I7CisgICAgICBzdHJva2UtZGFzaGFycmF5OiAxMCwg MjsKKyAgICAgIGFuaW1hdGlvbjogc3ZnLWxpbmstZWxlLXNlbGVjdGVkIDFzIGxpbmVhciBpbmZp bml0ZTsKKyAgICB9CisKKyAgICAuc3ZnLWxpbmstZWxlLnN2Zy1vdG9tLWNpcmNsZSB7CisgICAg ICBmaWxsOiAkZXJkLWxpbmstY29sb3I7CisgICAgfQorCisgICAgLmN1c3RvbS1ub2RlLWNvbG9y eworICAgICAgcG9zaXRpb246IGFic29sdXRlOworICAgICAgdG9wOiA1MCU7CisgICAgICBsZWZ0 OiA1MCU7CisgICAgICB3aWR0aDogMjBweDsKKyAgICAgIGhlaWdodDogMjBweDsKKyAgICAgIHRy YW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpOworICAgICAgYm9yZGVyLXJhZGl1czogMTBw eDsKKyAgICB9CisKKyAgICAuY2lyY2xlLXBvcnR7CisgICAgICB3aWR0aDogMTJweDsKKyAgICAg IGhlaWdodDogMTJweDsKKyAgICAgIG1hcmdpbjogMnB4OworICAgICAgYm9yZGVyLXJhZGl1czog NHB4OworICAgICAgYmFja2dyb3VuZDogZGFya2dyYXk7CisgICAgICBjdXJzb3I6IHBvaW50ZXI7 CisgICAgfQorCisgICAgLmNpcmNsZS1wb3J0OmhvdmVyeworICAgICAgYmFja2dyb3VuZDogbWVk aXVtcHVycGxlOworICAgIH0KKworICAgIC5wb3J0IHsKKyAgICAgIGRpc3BsYXk6IGlubGluZS1i bG9jazsKKyAgICAgIG1hcmdpbjogYXV0bzsKKyAgICB9CisgIH0KK30KZGlmZiAtLWdpdCBhL3dl Yi9wZ2FkbWluL3Rvb2xzL2VyZC90ZW1wbGF0ZXMvZXJkL2luZGV4Lmh0bWwgYi93ZWIvcGdhZG1p bi90b29scy9lcmQvdGVtcGxhdGVzL2VyZC9pbmRleC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0 CmluZGV4IDAwMDAwMDAwMC4uMTBhMDg5NmY1Ci0tLSAvZGV2L251bGwKKysrIGIvd2ViL3BnYWRt aW4vdG9vbHMvZXJkL3RlbXBsYXRlcy9lcmQvaW5kZXguaHRtbApAQCAtMCwwICsxLDU1IEBACit7 JSBleHRlbmRzICJiYXNlLmh0bWwiICV9Cit7JSBibG9jayB0aXRsZSAlfXt7dGl0bGV9fXslIGVu ZGJsb2NrICV9CisKK3slIGJsb2NrIGNzc19saW5rICV9Cis8bGluayB0eXBlPSJ0ZXh0L2NzcyIg cmVsPSJzdHlsZXNoZWV0IiBocmVmPSJ7eyB1cmxfZm9yKCdicm93c2VyLmJyb3dzZXJfY3NzJyl9 fSIvPgoreyUgZW5kYmxvY2sgJX0KK3slIGJsb2NrIGJvZHkgJX0KKzxzdHlsZT4KKyAgICBib2R5 IHtwYWRkaW5nOiAwcHg7fQorICAgIHslIGlmIGlzX2Rlc2t0b3BfbW9kZSBhbmQgaXNfbGludXgg JX0KKyAgICAuYWxlcnRpZnkgLmFqcy1kaW1tZXIsLmFsZXJ0aWZ5IC5hanMtbW9kYWx7LXdlYmtp dC10cmFuc2Zvcm06IG5vbmU7fQorICAgIC5hbGVydGlmeS1ub3RpZmllcnstd2Via2l0LXRyYW5z Zm9ybTogbm9uZTt9CisgICAgLmFsZXJ0aWZ5LW5vdGlmaWVyIC5hanMtbWVzc2FnZXstd2Via2l0 LXRyYW5zZm9ybTogbm9uZTt9CisgICAgLmFsZXJ0aWZ5IC5hanMtZGlhbG9nLmFqcy1zaGFrZXst d2Via2l0LWFuaW1hdGlvbi1uYW1lOiBub25lO30KKyAgICAuc3FsLWVkaXRvci1idXN5LWljb24u ZmEtcHVsc2V7LXdlYmtpdC1hbmltYXRpb246IG5vbmU7fQorICAgIHslIGVuZGlmICV9Cis8L3N0 eWxlPgorPGRpdiBpZD0iZXJkLXRvb2wtY29udGFpbmVyIiBjbGFzcz0iZC1mbGV4IGZsZXgtY29s dW1uIj4KKzwvZGl2PgoreyUgZW5kYmxvY2sgJX0KK3slIGJsb2NrIGluaXRfc2NyaXB0ICV9Cisg ICAgdHJ5IHsKKyAgICAgICAgcmVxdWlyZSgKKyAgICAgICAgICAgIFsnc291cmNlcy9nZW5lcmF0 ZWQvYnJvd3Nlcl9ub2RlcycsICdzb3VyY2VzL2dlbmVyYXRlZC9jb2RlbWlycm9yJ10sCisgICAg ICAgICAgICBmdW5jdGlvbigpIHsKKyAgICAgICAgICAgICAgICByZXF1aXJlKFsnc291cmNlcy9n ZW5lcmF0ZWQvZXJkX3Rvb2wnXSwgZnVuY3Rpb24oZXJkVG9vbEhvb2spIHsKKyAgICAgICAgICAg ICAgICB2YXIgZXJkVG9vbEhvb2sgPSBlcmRUb29sSG9vayB8fCBwZ0FkbWluLlRvb2xzLkVSRFRv b2xIb29rOworICAgICAgICAgICAgICAgIGVyZFRvb2xIb29rLmxvYWQoe3sgcGFyYW1zfHNhZmUg fX0pOworCisgICAgICAgICAgICAgICAgaWYod2luZG93Lm9wZW5lcikgeworICAgICAgICAgICAg ICAgICAgICAkKHdpbmRvdykub24oJ3VubG9hZCcsIGZ1bmN0aW9uKGV2KSB7CisgICAgICAgICAg ICAgICAgICAgICAgICAkLmFqYXgoeworICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1ldGhv ZDogJ0RFTEVURScsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgdXJsOiAne3tjbG9zZV91 cmx9fScKKyAgICAgICAgICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgICAgICAgICB9 KTsKKyAgICAgICAgICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgICAgICAgICAkKHdpbmRv dykub24oJ2JlZm9yZXVubG9hZCcsIGZ1bmN0aW9uKGV2KSB7CisgICAgICAgICAgICAgICAgICAg ICAgICAkLmFqYXgoeworICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1ldGhvZDogJ0RFTEVU RScsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgdXJsOiAne3tjbG9zZV91cmx9fScKKyAg ICAgICAgICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgICAgICAgICB9KTsKKyAgICAg ICAgICAgICAgICB9CisgICAgICAgICAgICB9LCBmdW5jdGlvbigpIHsKKyAgICAgICAgICAgICAg ICBjb25zb2xlLmxvZyhhcmd1bWVudHMpOworICAgICAgICAgICAgfSk7CisgICAgICAgIH0sCisg ICAgICAgIGZ1bmN0aW9uKCkgeworICAgICAgICAgICAgY29uc29sZS5sb2coYXJndW1lbnRzKTsK KyAgICAgICAgfSk7CisgICAgfSBjYXRjaCAoZXJyKSB7CisgICAgICAgIGNvbnNvbGUubG9nKGVy cik7CisgICAgfQoreyUgZW5kYmxvY2sgJX0KZGlmZiAtLWdpdCBhL3dlYi9wZ2FkbWluL3Rvb2xz L2VyZC90ZXN0cy9fX2luaXRfXy5weSBiL3dlYi9wZ2FkbWluL3Rvb2xzL2VyZC90ZXN0cy9fX2lu aXRfXy5weQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAuLjhjOGM0ODZjYwot LS0gL2Rldi9udWxsCisrKyBiL3dlYi9wZ2FkbWluL3Rvb2xzL2VyZC90ZXN0cy9fX2luaXRfXy5w eQpAQCAtMCwwICsxLDE1IEBACisjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworIworIyBwZ0FkbWluIDQgLSBQ b3N0Z3JlU1FMIFRvb2xzCisjCisjIENvcHlyaWdodCAoQykgMjAxMyAtIDIwMjAsIFRoZSBwZ0Fk bWluIERldmVsb3BtZW50IFRlYW0KKyMgVGhpcyBzb2Z0d2FyZSBpcyByZWxlYXNlZCB1bmRlciB0 aGUgUG9zdGdyZVNRTCBMaWNlbmNlCisjCisjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworCitmcm9tIHBnYWRt aW4udXRpbHMucm91dGUgaW1wb3J0IEJhc2VUZXN0R2VuZXJhdG9yCisKKworY2xhc3MgRVJER2Vu ZXJhdGVUZXN0Q2FzZShCYXNlVGVzdEdlbmVyYXRvcik6CisgICAgZGVmIHJ1blRlc3Qoc2VsZik6 CisgICAgICAgIHJldHVybgpkaWZmIC0tZ2l0IGEvd2ViL3BnYWRtaW4vdG9vbHMvZXJkL3Rlc3Rz L3NxbC8xMl9wbHVzL3Rlc3Rfc3FsX291dHB1dC5zcWwgYi93ZWIvcGdhZG1pbi90b29scy9lcmQv dGVzdHMvc3FsLzEyX3BsdXMvdGVzdF9zcWxfb3V0cHV0LnNxbApuZXcgZmlsZSBtb2RlIDEwMDY0 NAppbmRleCAwMDAwMDAwMDAuLmUzZDZhYjc2MgotLS0gL2Rldi9udWxsCisrKyBiL3dlYi9wZ2Fk bWluL3Rvb2xzL2VyZC90ZXN0cy9zcWwvMTJfcGx1cy90ZXN0X3NxbF9vdXRwdXQuc3FsCkBAIC0w LDAgKzEsMjUgQEAKKworCitDUkVBVEUgVEFCTEUgcHVibGljLm5ld3RhYmxlMQorKAorICAgIGlk IGludGVnZXIsCisgICAgY29sMSBjaGFyYWN0ZXIgdmFyeWluZyg1MCksCisgICAgUFJJTUFSWSBL RVkgKGlkKQorKTsKKworQ1JFQVRFIFRBQkxFIHB1YmxpYy5uZXd0YWJsZTIKKygKKyAgICB0YWJs ZTFfaWQgaW50ZWdlciwKKyAgICBjb2wyIGNoYXJhY3RlciB2YXJ5aW5nKDUwKSwKKyAgICBQUklN QVJZIEtFWSAoaWQpCispOworCitDUkVBVEUgVEFCTEUgcHVibGljLm5ld3RhYmxlMworKAorKQor OworCitBTFRFUiBUQUJMRSBwdWJsaWMubmV3dGFibGUyCisgICAgQUREIEZPUkVJR04gS0VZICh0 YWJsZTFfaWQpCisgICAgUkVGRVJFTkNFUyBwdWJsaWMubmV3dGFibGUxIChpZCkKKyAgICBOT1Qg VkFMSUQ7CmRpZmYgLS1naXQgYS93ZWIvcGdhZG1pbi90b29scy9lcmQvdGVzdHMvc3FsL2RlZmF1 bHQvdGVzdF9zcWxfb3V0cHV0LnNxbCBiL3dlYi9wZ2FkbWluL3Rvb2xzL2VyZC90ZXN0cy9zcWwv ZGVmYXVsdC90ZXN0X3NxbF9vdXRwdXQuc3FsCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw MDAwMDAwMC4uMzMwZTgxNDQzCi0tLSAvZGV2L251bGwKKysrIGIvd2ViL3BnYWRtaW4vdG9vbHMv ZXJkL3Rlc3RzL3NxbC9kZWZhdWx0L3Rlc3Rfc3FsX291dHB1dC5zcWwKQEAgLTAsMCArMSwzNCBA QAorCisKK0NSRUFURSBUQUJMRSBwdWJsaWMubmV3dGFibGUxCisoCisgICAgaWQgaW50ZWdlciwK KyAgICBjb2wxIGNoYXJhY3RlciB2YXJ5aW5nKDUwKSwKKyAgICBQUklNQVJZIEtFWSAoaWQpCisp CitXSVRIICgKKyAgICBPSURTID0gRkFMU0UKKyk7CisKK0NSRUFURSBUQUJMRSBwdWJsaWMubmV3 dGFibGUyCisoCisgICAgdGFibGUxX2lkIGludGVnZXIsCisgICAgY29sMiBjaGFyYWN0ZXIgdmFy eWluZyg1MCksCisgICAgUFJJTUFSWSBLRVkgKGlkKQorKQorV0lUSCAoCisgICAgT0lEUyA9IEZB TFNFCispOworCitDUkVBVEUgVEFCTEUgcHVibGljLm5ld3RhYmxlMworKAorKQorCitXSVRIICgK KyAgICBPSURTID0gRkFMU0UKKyk7CisKK0FMVEVSIFRBQkxFIHB1YmxpYy5uZXd0YWJsZTIKKyAg ICBBREQgRk9SRUlHTiBLRVkgKHRhYmxlMV9pZCkKKyAgICBSRUZFUkVOQ0VTIHB1YmxpYy5uZXd0 YWJsZTEgKGlkKQorICAgIE5PVCBWQUxJRDsKZGlmZiAtLWdpdCBhL3dlYi9wZ2FkbWluL3Rvb2xz L2VyZC90ZXN0cy90ZXN0X2Nsb3NlLnB5IGIvd2ViL3BnYWRtaW4vdG9vbHMvZXJkL3Rlc3RzL3Rl c3RfY2xvc2UucHkKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwLi4wMDhkZGFi MzkKLS0tIC9kZXYvbnVsbAorKysgYi93ZWIvcGdhZG1pbi90b29scy9lcmQvdGVzdHMvdGVzdF9j bG9zZS5weQpAQCAtMCwwICsxLDU1IEBACisjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworIworIyBwZ0FkbWlu IDQgLSBQb3N0Z3JlU1FMIFRvb2xzCisjCisjIENvcHlyaWdodCAoQykgMjAxMyAtIDIwMjAsIFRo ZSBwZ0FkbWluIERldmVsb3BtZW50IFRlYW0KKyMgVGhpcyBzb2Z0d2FyZSBpcyByZWxlYXNlZCB1 bmRlciB0aGUgUG9zdGdyZVNRTCBMaWNlbmNlCisjCisjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworCitpbXBv cnQganNvbgorCitmcm9tIHBnYWRtaW4udXRpbHMucm91dGUgaW1wb3J0IEJhc2VUZXN0R2VuZXJh dG9yCitmcm9tIHJlZ3Jlc3Npb24ucHl0aG9uX3Rlc3RfdXRpbHMgaW1wb3J0IHRlc3RfdXRpbHMg YXMgdXRpbHMKK2Zyb20gcmVncmVzc2lvbiBpbXBvcnQgcGFyZW50X25vZGVfZGljdAorZnJvbSBy ZWdyZXNzaW9uLnRlc3Rfc2V0dXAgaW1wb3J0IGNvbmZpZ19kYXRhCitmcm9tIHBnYWRtaW4uYnJv d3Nlci5zZXJ2ZXJfZ3JvdXBzLnNlcnZlcnMuZGF0YWJhc2VzLnRlc3RzIGltcG9ydCB1dGlscyBh cyBcCisgICAgZGF0YWJhc2VfdXRpbHMKKworCitjbGFzcyBFUkRDbG9zZShCYXNlVGVzdEdlbmVy YXRvcik6CisKKyAgICBkZWYgc2V0VXAoc2VsZik6CisgICAgICAgIHNlbGYuZGJfbmFtZSA9ICJl cmR0ZXN0ZGIiCisgICAgICAgIHNlbGYuc2lkID0gcGFyZW50X25vZGVfZGljdFsic2VydmVyIl1b LTFdWyJzZXJ2ZXJfaWQiXQorICAgICAgICBzZWxmLmRpZCA9IHV0aWxzLmNyZWF0ZV9kYXRhYmFz ZShzZWxmLnNlcnZlciwgc2VsZi5kYl9uYW1lKQorICAgICAgICBzZWxmLnNnaWQgPSBjb25maWdf ZGF0YVsic2VydmVyX2dyb3VwIl0KKworICAgIGRlZiBydW5UZXN0KHNlbGYpOgorICAgICAgICBk Yl9jb24gPSBkYXRhYmFzZV91dGlscy5jb25uZWN0X2RhdGFiYXNlKHNlbGYsCisgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5zZ2lkLAorICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYuc2lkLAorICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYuZGlkKQor CisgICAgICAgIGlmIG5vdCBkYl9jb25bImluZm8iXSA9PSAiRGF0YWJhc2UgY29ubmVjdGVkLiI6 CisgICAgICAgICAgICByYWlzZSBFeGNlcHRpb24oIkNvdWxkIG5vdCBjb25uZWN0IHRvIGRhdGFi YXNlIHRvIGFkZCB0aGUgc2NoZW1hLiIpCisKKyAgICAgICAgdXJsID0gJy9lcmQvaW5pdGlhbGl6 ZS97dHJhbnNfaWR9L3tzZ2lkfS97c2lkfS97ZGlkfScuZm9ybWF0KAorICAgICAgICAgICAgdHJh bnNfaWQ9MTIzMzQ0LCBzZ2lkPXNlbGYuc2dpZCwgc2lkPXNlbGYuc2lkLCBkaWQ9c2VsZi5kaWQp CisKKyAgICAgICAgcmVzcG9uc2UgPSBzZWxmLnRlc3Rlci5wb3N0KHVybCkKKyAgICAgICAgc2Vs Zi5hc3NlcnRFcXVhbChyZXNwb25zZS5zdGF0dXNfY29kZSwgMjAwKQorCisgICAgICAgIHVybCA9 ICcvZXJkL2Nsb3NlL3t0cmFuc19pZH0ve3NnaWR9L3tzaWR9L3tkaWR9Jy5mb3JtYXQoCisgICAg ICAgICAgICB0cmFuc19pZD0xMjMzNDQsIHNnaWQ9c2VsZi5zZ2lkLCBzaWQ9c2VsZi5zaWQsIGRp ZD1zZWxmLmRpZCkKKworICAgICAgICByZXNwb25zZSA9IHNlbGYudGVzdGVyLmRlbGV0ZSh1cmwp CisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocmVzcG9uc2Uuc3RhdHVzX2NvZGUsIDIwMCkKKwor ICAgIGRlZiB0ZWFyRG93bihzZWxmKToKKyAgICAgICAgY29ubmVjdGlvbiA9IHV0aWxzLmdldF9k Yl9jb25uZWN0aW9uKHNlbGYuc2VydmVyWydkYiddLAorICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgc2VsZi5zZXJ2ZXJbJ3VzZXJuYW1lJ10sCisgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLnNlcnZlclsnZGJfcGFzc3dv cmQnXSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYu c2VydmVyWydob3N0J10sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBzZWxmLnNlcnZlclsncG9ydCddKQorICAgICAgICB1dGlscy5kcm9wX2RhdGFiYXNlKGNv bm5lY3Rpb24sIHNlbGYuZGJfbmFtZSkKZGlmZiAtLWdpdCBhL3dlYi9wZ2FkbWluL3Rvb2xzL2Vy ZC90ZXN0cy90ZXN0X2luaXRpYWxpemUucHkgYi93ZWIvcGdhZG1pbi90b29scy9lcmQvdGVzdHMv dGVzdF9pbml0aWFsaXplLnB5Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMC4u ZDU4NmJiM2I2Ci0tLSAvZGV2L251bGwKKysrIGIvd2ViL3BnYWRtaW4vdG9vbHMvZXJkL3Rlc3Rz L3Rlc3RfaW5pdGlhbGl6ZS5weQpAQCAtMCwwICsxLDU0IEBACisjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwor IworIyBwZ0FkbWluIDQgLSBQb3N0Z3JlU1FMIFRvb2xzCisjCisjIENvcHlyaWdodCAoQykgMjAx MyAtIDIwMjAsIFRoZSBwZ0FkbWluIERldmVsb3BtZW50IFRlYW0KKyMgVGhpcyBzb2Z0d2FyZSBp cyByZWxlYXNlZCB1bmRlciB0aGUgUG9zdGdyZVNRTCBMaWNlbmNlCisjCisjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIworCitpbXBvcnQganNvbgorCitmcm9tIHBnYWRtaW4udXRpbHMucm91dGUgaW1wb3J0IEJh c2VUZXN0R2VuZXJhdG9yCitmcm9tIHJlZ3Jlc3Npb24ucHl0aG9uX3Rlc3RfdXRpbHMgaW1wb3J0 IHRlc3RfdXRpbHMgYXMgdXRpbHMKK2Zyb20gcmVncmVzc2lvbiBpbXBvcnQgcGFyZW50X25vZGVf ZGljdAorZnJvbSByZWdyZXNzaW9uLnRlc3Rfc2V0dXAgaW1wb3J0IGNvbmZpZ19kYXRhCitmcm9t IHBnYWRtaW4uYnJvd3Nlci5zZXJ2ZXJfZ3JvdXBzLnNlcnZlcnMuZGF0YWJhc2VzLnRlc3RzIGlt cG9ydCB1dGlscyBhcyBcCisgICAgZGF0YWJhc2VfdXRpbHMKKworCitjbGFzcyBFUkRJbml0aWFs aXplKEJhc2VUZXN0R2VuZXJhdG9yKToKKworICAgIGRlZiBzZXRVcChzZWxmKToKKyAgICAgICAg c2VsZi5kYl9uYW1lID0gImVyZHRlc3RkYiIKKyAgICAgICAgc2VsZi5zaWQgPSBwYXJlbnRfbm9k ZV9kaWN0WyJzZXJ2ZXIiXVstMV1bInNlcnZlcl9pZCJdCisgICAgICAgIHNlbGYuZGlkID0gdXRp bHMuY3JlYXRlX2RhdGFiYXNlKHNlbGYuc2VydmVyLCBzZWxmLmRiX25hbWUpCisgICAgICAgIHNl bGYuc2dpZCA9IGNvbmZpZ19kYXRhWyJzZXJ2ZXJfZ3JvdXAiXQorCisgICAgZGVmIHJ1blRlc3Qo c2VsZik6CisgICAgICAgIGRiX2NvbiA9IGRhdGFiYXNlX3V0aWxzLmNvbm5lY3RfZGF0YWJhc2Uo c2VsZiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBz ZWxmLnNnaWQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgc2VsZi5zaWQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgc2VsZi5kaWQpCisKKyAgICAgICAgaWYgbm90IGRiX2NvblsiaW5mbyJdID09ICJEYXRh YmFzZSBjb25uZWN0ZWQuIjoKKyAgICAgICAgICAgIHJhaXNlIEV4Y2VwdGlvbigiQ291bGQgbm90 IGNvbm5lY3QgdG8gZGF0YWJhc2UgdG8gYWRkIHRoZSBzY2hlbWEuIikKKworICAgICAgICB1cmwg PSAnL2VyZC9pbml0aWFsaXplL3t0cmFuc19pZH0ve3NnaWR9L3tzaWR9L3tkaWR9Jy5mb3JtYXQo CisgICAgICAgICAgICB0cmFuc19pZD0xMjMzNDQsIHNnaWQ9c2VsZi5zZ2lkLCBzaWQ9c2VsZi5z aWQsIGRpZD1zZWxmLmRpZCkKKworICAgICAgICByZXNwb25zZSA9IHNlbGYudGVzdGVyLnBvc3Qo dXJsKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHJlc3BvbnNlLnN0YXR1c19jb2RlLCAyMDAp CisgICAgICAgIHJlc3BvbnNlX2RhdGEgPSBqc29uLmxvYWRzKHJlc3BvbnNlLmRhdGEuZGVjb2Rl KCd1dGYtOCcpKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHJlc3BvbnNlX2RhdGFbJ2RhdGEn XSwgeworICAgICAgICAgICAgJ2Nvbm5JZCc6ICcxMjMzNDQnLAorICAgICAgICAgICAgJ3NlcnZl clZlcnNpb24nOiBzZWxmLnNlcnZlcl9pbmZvcm1hdGlvblsnc2VydmVyX3ZlcnNpb24nXSwKKyAg ICAgICAgfSkKKworICAgIGRlZiB0ZWFyRG93bihzZWxmKToKKyAgICAgICAgY29ubmVjdGlvbiA9 IHV0aWxzLmdldF9kYl9jb25uZWN0aW9uKHNlbGYuc2VydmVyWydkYiddLAorICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5zZXJ2ZXJbJ3VzZXJuYW1lJ10s CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLnNlcnZl clsnZGJfcGFzc3dvcmQnXSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIHNlbGYuc2VydmVyWydob3N0J10sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBzZWxmLnNlcnZlclsncG9ydCddKQorICAgICAgICB1dGlscy5kcm9w X2RhdGFiYXNlKGNvbm5lY3Rpb24sIHNlbGYuZGJfbmFtZSkKZGlmZiAtLWdpdCBhL3dlYi9wZ2Fk bWluL3Rvb2xzL2VyZC90ZXN0cy90ZXN0X3BhbmVsLnB5IGIvd2ViL3BnYWRtaW4vdG9vbHMvZXJk L3Rlc3RzL3Rlc3RfcGFuZWwucHkKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw Li5hZDQ0ZDAwNGEKLS0tIC9kZXYvbnVsbAorKysgYi93ZWIvcGdhZG1pbi90b29scy9lcmQvdGVz dHMvdGVzdF9wYW5lbC5weQpAQCAtMCwwICsxLDQ0IEBACisjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworIwor IyBwZ0FkbWluIDQgLSBQb3N0Z3JlU1FMIFRvb2xzCisjCisjIENvcHlyaWdodCAoQykgMjAxMyAt IDIwMjAsIFRoZSBwZ0FkbWluIERldmVsb3BtZW50IFRlYW0KKyMgVGhpcyBzb2Z0d2FyZSBpcyBy ZWxlYXNlZCB1bmRlciB0aGUgUG9zdGdyZVNRTCBMaWNlbmNlCisjCisjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IworCitpbXBvcnQganNvbgorCitmcm9tIHBnYWRtaW4udXRpbHMucm91dGUgaW1wb3J0IEJhc2VU ZXN0R2VuZXJhdG9yCitmcm9tIHJlZ3Jlc3Npb24ucHl0aG9uX3Rlc3RfdXRpbHMgaW1wb3J0IHRl c3RfdXRpbHMgYXMgdXRpbHMKK2Zyb20gcmVncmVzc2lvbiBpbXBvcnQgcGFyZW50X25vZGVfZGlj dAorZnJvbSByZWdyZXNzaW9uLnRlc3Rfc2V0dXAgaW1wb3J0IGNvbmZpZ19kYXRhCitmcm9tIHBn YWRtaW4uYnJvd3Nlci5zZXJ2ZXJfZ3JvdXBzLnNlcnZlcnMuZGF0YWJhc2VzLnRlc3RzIGltcG9y dCB1dGlscyBhcyBcCisgICAgZGF0YWJhc2VfdXRpbHMKKworCitjbGFzcyBFUkRQYW5lbChCYXNl VGVzdEdlbmVyYXRvcik6CisKKyAgICBkZWYgc2V0VXAoc2VsZik6CisgICAgICAgIHNlbGYuZGJf bmFtZSA9ICJlcmR0ZXN0ZGIiCisgICAgICAgIHNlbGYuc2lkID0gcGFyZW50X25vZGVfZGljdFsi c2VydmVyIl1bLTFdWyJzZXJ2ZXJfaWQiXQorICAgICAgICBzZWxmLmRpZCA9IHV0aWxzLmNyZWF0 ZV9kYXRhYmFzZShzZWxmLnNlcnZlciwgc2VsZi5kYl9uYW1lKQorICAgICAgICBzZWxmLnNnaWQg PSBjb25maWdfZGF0YVsic2VydmVyX2dyb3VwIl0KKworICAgIGRlZiBydW5UZXN0KHNlbGYpOgor ICAgICAgICB1cmwgPSAnL2VyZC9wYW5lbC97dHJhbnNfaWR9P3NnaWQ9e3NnaWR9JnNpZD17c2lk fSZzZXJ2ZXJfdHlwZT1wZycgXAorICAgICAgICAgICAgICAnJmRpZD17ZGlkfSZnZW49ZmFsc2Un LlwKKyAgICAgICAgICAgIGZvcm1hdCh0cmFuc19pZD0xMjMzNDQsIHNnaWQ9c2VsZi5zZ2lkLCBz aWQ9c2VsZi5zaWQsIGRpZD1zZWxmLmRpZCkKKworICAgICAgICByZXNwb25zZSA9IHNlbGYudGVz dGVyLnBvc3QoCisgICAgICAgICAgICB1cmwsIGRhdGE9eyJ0aXRsZSI6ICJwYW5lbF90aXRsZSIs ICJjbG9zZV91cmwiOiAidGhlL2Nsb3NlL3VybCJ9LAorICAgICAgICAgICAgY29udGVudF90eXBl PSJhcHBsaWNhdGlvbi94LXd3dy1mb3JtLXVybGVuY29kZWQiKQorICAgICAgICBzZWxmLmFzc2Vy dEVxdWFsKHJlc3BvbnNlLnN0YXR1c19jb2RlLCAyMDApCisKKyAgICBkZWYgdGVhckRvd24oc2Vs Zik6CisgICAgICAgIGNvbm5lY3Rpb24gPSB1dGlscy5nZXRfZGJfY29ubmVjdGlvbihzZWxmLnNl cnZlclsnZGInXSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IHNlbGYuc2VydmVyWyd1c2VybmFtZSddLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgc2VsZi5zZXJ2ZXJbJ2RiX3Bhc3N3b3JkJ10sCisgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLnNlcnZlclsnaG9zdCddLAorICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5zZXJ2ZXJbJ3Bv cnQnXSkKKyAgICAgICAgdXRpbHMuZHJvcF9kYXRhYmFzZShjb25uZWN0aW9uLCBzZWxmLmRiX25h bWUpCmRpZmYgLS1naXQgYS93ZWIvcGdhZG1pbi90b29scy9lcmQvdGVzdHMvdGVzdF9wcmVxdWlz aXRlLnB5IGIvd2ViL3BnYWRtaW4vdG9vbHMvZXJkL3Rlc3RzL3Rlc3RfcHJlcXVpc2l0ZS5weQpu ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAuLmZlZDZhMDY1MgotLS0gL2Rldi9u dWxsCisrKyBiL3dlYi9wZ2FkbWluL3Rvb2xzL2VyZC90ZXN0cy90ZXN0X3ByZXF1aXNpdGUucHkK QEAgLTAsMCArMSw1MiBAQAorIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKKyMKKyMgcGdBZG1pbiA0IC0gUG9z dGdyZVNRTCBUb29scworIworIyBDb3B5cmlnaHQgKEMpIDIwMTMgLSAyMDIwLCBUaGUgcGdBZG1p biBEZXZlbG9wbWVudCBUZWFtCisjIFRoaXMgc29mdHdhcmUgaXMgcmVsZWFzZWQgdW5kZXIgdGhl IFBvc3RncmVTUUwgTGljZW5jZQorIworIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKKworaW1wb3J0IGpzb24K KworZnJvbSBwZ2FkbWluLnV0aWxzLnJvdXRlIGltcG9ydCBCYXNlVGVzdEdlbmVyYXRvcgorZnJv bSByZWdyZXNzaW9uLnB5dGhvbl90ZXN0X3V0aWxzIGltcG9ydCB0ZXN0X3V0aWxzIGFzIHV0aWxz Citmcm9tIHJlZ3Jlc3Npb24gaW1wb3J0IHBhcmVudF9ub2RlX2RpY3QKK2Zyb20gcmVncmVzc2lv bi50ZXN0X3NldHVwIGltcG9ydCBjb25maWdfZGF0YQorZnJvbSBwZ2FkbWluLmJyb3dzZXIuc2Vy dmVyX2dyb3Vwcy5zZXJ2ZXJzLmRhdGFiYXNlcy50ZXN0cyBpbXBvcnQgdXRpbHMgYXMgXAorICAg IGRhdGFiYXNlX3V0aWxzCisKKworY2xhc3MgRVJEUHJlcXVpc2l0ZShCYXNlVGVzdEdlbmVyYXRv cik6CisKKyAgICBkZWYgc2V0VXAoc2VsZik6CisgICAgICAgIHNlbGYuZGJfbmFtZSA9ICJlcmR0 ZXN0ZGIiCisgICAgICAgIHNlbGYuc2lkID0gcGFyZW50X25vZGVfZGljdFsic2VydmVyIl1bLTFd WyJzZXJ2ZXJfaWQiXQorICAgICAgICBzZWxmLmRpZCA9IHV0aWxzLmNyZWF0ZV9kYXRhYmFzZShz ZWxmLnNlcnZlciwgc2VsZi5kYl9uYW1lKQorICAgICAgICBzZWxmLnNnaWQgPSBjb25maWdfZGF0 YVsic2VydmVyX2dyb3VwIl0KKworICAgIGRlZiBydW5UZXN0KHNlbGYpOgorICAgICAgICBkYl9j b24gPSBkYXRhYmFzZV91dGlscy5jb25uZWN0X2RhdGFiYXNlKHNlbGYsCisgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5zZ2lkLAorICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYuc2lkLAorICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYuZGlkKQorCisg ICAgICAgIGlmIG5vdCBkYl9jb25bImluZm8iXSA9PSAiRGF0YWJhc2UgY29ubmVjdGVkLiI6Cisg ICAgICAgICAgICByYWlzZSBFeGNlcHRpb24oIkNvdWxkIG5vdCBjb25uZWN0IHRvIGRhdGFiYXNl IHRvIGFkZCB0aGUgc2NoZW1hLiIpCisKKyAgICAgICAgdXJsID0gJy9lcmQvcHJlcXVpc2l0ZS97 dHJhbnNfaWR9L3tzZ2lkfS97c2lkfS97ZGlkfScuZm9ybWF0KAorICAgICAgICAgICAgdHJhbnNf aWQ9MTIzMzQ0LCBzZ2lkPXNlbGYuc2dpZCwgc2lkPXNlbGYuc2lkLCBkaWQ9c2VsZi5kaWQpCisK KyAgICAgICAgcmVzcG9uc2UgPSBzZWxmLnRlc3Rlci5nZXQodXJsKQorICAgICAgICBzZWxmLmFz c2VydEVxdWFsKHJlc3BvbnNlLnN0YXR1c19jb2RlLCAyMDApCisgICAgICAgIHJlc3BvbnNlX2Rh dGEgPSBqc29uLmxvYWRzKHJlc3BvbnNlLmRhdGEuZGVjb2RlKCd1dGYtOCcpKQorICAgICAgICBz ZWxmLmFzc2VydEluKCdjb2xfdHlwZXMnLCByZXNwb25zZV9kYXRhWydkYXRhJ10pCisgICAgICAg IHNlbGYuYXNzZXJ0SW4oJ3NjaGVtYXMnLCByZXNwb25zZV9kYXRhWydkYXRhJ10pCisKKyAgICBk ZWYgdGVhckRvd24oc2VsZik6CisgICAgICAgIGNvbm5lY3Rpb24gPSB1dGlscy5nZXRfZGJfY29u bmVjdGlvbihzZWxmLnNlcnZlclsnZGInXSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIHNlbGYuc2VydmVyWyd1c2VybmFtZSddLAorICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5zZXJ2ZXJbJ2RiX3Bhc3N3b3JkJ10s CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLnNlcnZl clsnaG9zdCddLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg c2VsZi5zZXJ2ZXJbJ3BvcnQnXSkKKyAgICAgICAgdXRpbHMuZHJvcF9kYXRhYmFzZShjb25uZWN0 aW9uLCBzZWxmLmRiX25hbWUpCmRpZmYgLS1naXQgYS93ZWIvcGdhZG1pbi90b29scy9lcmQvdGVz dHMvdGVzdF9zcWwucHkgYi93ZWIvcGdhZG1pbi90b29scy9lcmQvdGVzdHMvdGVzdF9zcWwucHkK bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwLi4xNzI3OTVjNjEKLS0tIC9kZXYv bnVsbAorKysgYi93ZWIvcGdhZG1pbi90b29scy9lcmQvdGVzdHMvdGVzdF9zcWwucHkKQEAgLTAs MCArMSw5MCBAQAorIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKKyMKKyMgcGdBZG1pbiA0IC0gUG9zdGdyZVNR TCBUb29scworIworIyBDb3B5cmlnaHQgKEMpIDIwMTMgLSAyMDIwLCBUaGUgcGdBZG1pbiBEZXZl bG9wbWVudCBUZWFtCisjIFRoaXMgc29mdHdhcmUgaXMgcmVsZWFzZWQgdW5kZXIgdGhlIFBvc3Rn cmVTUUwgTGljZW5jZQorIworIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKKworaW1wb3J0IGpzb24KKworZnJv bSBwZ2FkbWluLnV0aWxzLnJvdXRlIGltcG9ydCBCYXNlVGVzdEdlbmVyYXRvcgorZnJvbSByZWdy ZXNzaW9uLnB5dGhvbl90ZXN0X3V0aWxzIGltcG9ydCB0ZXN0X3V0aWxzIGFzIHV0aWxzCitmcm9t IHJlZ3Jlc3Npb24gaW1wb3J0IHBhcmVudF9ub2RlX2RpY3QKK2Zyb20gcmVncmVzc2lvbi50ZXN0 X3NldHVwIGltcG9ydCBjb25maWdfZGF0YQorZnJvbSBwZ2FkbWluLmJyb3dzZXIuc2VydmVyX2dy b3Vwcy5zZXJ2ZXJzLmRhdGFiYXNlcy50ZXN0cyBpbXBvcnQgdXRpbHMgYXMgXAorICAgIGRhdGFi YXNlX3V0aWxzCitmcm9tIHBnYWRtaW4udXRpbHMudmVyc2lvbmVkX3RlbXBsYXRlX2xvYWRlciBp bXBvcnQgXAorICAgIGdldF92ZXJzaW9uX21hcHBpbmdfZGlyZWN0b3JpZXMKK2Zyb20gb3MgaW1w b3J0IHBhdGgKKworCitjbGFzcyBFUkRTcWwoQmFzZVRlc3RHZW5lcmF0b3IpOgorCisgICAgZGVm IHNldFVwKHNlbGYpOgorICAgICAgICBzZWxmLmRiX25hbWUgPSAiZXJkdGVzdGRiIgorICAgICAg ICBzZWxmLnNpZCA9IHBhcmVudF9ub2RlX2RpY3RbInNlcnZlciJdWy0xXVsic2VydmVyX2lkIl0K KyAgICAgICAgc2VsZi5kaWQgPSB1dGlscy5jcmVhdGVfZGF0YWJhc2Uoc2VsZi5zZXJ2ZXIsIHNl bGYuZGJfbmFtZSkKKyAgICAgICAgc2VsZi5zZ2lkID0gY29uZmlnX2RhdGFbInNlcnZlcl9ncm91 cCJdCisgICAgICAgIHNlbGYubWF4RGlmZiA9IE5vbmUKKworICAgIGRlZiBnZXRfZXhwZWN0ZWRf c3FsKHNlbGYpOgorICAgICAgICBzcWxfYmFzZV9wYXRoID0gcGF0aC5qb2luKAorICAgICAgICAg ICAgcGF0aC5kaXJuYW1lKHBhdGgucmVhbHBhdGgoX19maWxlX18pKSwgJ3NxbCcpCisKKyAgICAg ICAgIyBJdGVyYXRlIHRoZSB2ZXJzaW9uIG1hcHBpbmcgZGlyZWN0b3JpZXMuCisgICAgICAgIGZv ciB2ZXJzaW9uX21hcHBpbmcgaW4gXAorICAgICAgICAgICAgICAgIGdldF92ZXJzaW9uX21hcHBp bmdfZGlyZWN0b3JpZXMoc2VsZi5zZXJ2ZXJbJ3R5cGUnXSk6CisgICAgICAgICAgICBpZiB2ZXJz aW9uX21hcHBpbmdbJ251bWJlciddID4gXAorICAgICAgICAgICAgICAgICAgICBzZWxmLnNlcnZl cl9pbmZvcm1hdGlvblsnc2VydmVyX3ZlcnNpb24nXToKKyAgICAgICAgICAgICAgICBjb250aW51 ZQorCisgICAgICAgICAgICBjb21wbGV0ZV9wYXRoID0gcGF0aC5qb2luKAorICAgICAgICAgICAg ICAgIHNxbF9iYXNlX3BhdGgsIHZlcnNpb25fbWFwcGluZ1snbmFtZSddKQorCisgICAgICAgICAg ICBpZiBub3QgcGF0aC5leGlzdHMoY29tcGxldGVfcGF0aCk6CisgICAgICAgICAgICAgICAgY29t cGxldGVfcGF0aCA9IHBhdGguam9pbihzcWxfYmFzZV9wYXRoLCAnZGVmYXVsdCcpCisgICAgICAg ICAgICBicmVhaworCisgICAgICAgIGRhdGFfc3FsID0gJycKKyAgICAgICAgd2l0aCBvcGVuKHBh dGguam9pbihjb21wbGV0ZV9wYXRoLCAndGVzdF9zcWxfb3V0cHV0LnNxbCcpKSBhcyBmcDoKKyAg ICAgICAgICAgIGRhdGFfc3FsID0gZnAucmVhZCgpCisKKyAgICAgICAgcmV0dXJuIGRhdGFfc3Fs CisKKyAgICBkZWYgcnVuVGVzdChzZWxmKToKKyAgICAgICAgZGJfY29uID0gZGF0YWJhc2VfdXRp bHMuY29ubmVjdF9kYXRhYmFzZShzZWxmLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIHNlbGYuc2dpZCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBzZWxmLnNpZCwKKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLmRpZCkKKworICAgICAgICBpZiBub3QgZGJf Y29uWyJpbmZvIl0gPT0gIkRhdGFiYXNlIGNvbm5lY3RlZC4iOgorICAgICAgICAgICAgcmFpc2Ug RXhjZXB0aW9uKCJDb3VsZCBub3QgY29ubmVjdCB0byBkYXRhYmFzZSB0byBhZGQgdGhlIHNjaGVt YS4iKQorCisgICAgICAgIHVybCA9ICcvZXJkL3NxbC97dHJhbnNfaWR9L3tzZ2lkfS97c2lkfS97 ZGlkfScuZm9ybWF0KAorICAgICAgICAgICAgdHJhbnNfaWQ9MTIzMzQ0LCBzZ2lkPXNlbGYuc2dp ZCwgc2lkPXNlbGYuc2lkLCBkaWQ9c2VsZi5kaWQpCisKKyAgICAgICAgY3Vycl9kaXIgPSBwYXRo LmRpcm5hbWUoX19maWxlX18pCisKKyAgICAgICAgZGF0YV9qc29uID0gTm9uZQorICAgICAgICB3 aXRoIG9wZW4ocGF0aC5qb2luKGN1cnJfZGlyLCAndGVzdF9zcWxfaW5wdXRfZGF0YS5qc29uJykp IGFzIGZwOgorICAgICAgICAgICAgZGF0YV9qc29uID0gZnAucmVhZCgpCisKKyAgICAgICAgcmVz cG9uc2UgPSBzZWxmLnRlc3Rlci5wb3N0KHVybCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIGRhdGE9ZGF0YV9qc29uLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgY29udGVudF90eXBlPSdodG1sL2pzb24nKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFs KHJlc3BvbnNlLnN0YXR1c19jb2RlLCAyMDApCisKKyAgICAgICAgZGF0YV9zcWwgPSBzZWxmLmdl dF9leHBlY3RlZF9zcWwoKQorCisgICAgICAgIHJlc3Bfc3FsID0ganNvbi5sb2FkcyhyZXNwb25z ZS5kYXRhLmRlY29kZSgndXRmLTgnKSlbJ2RhdGEnXQorICAgICAgICBzZWxmLmFzc2VydEVxdWFs KHJlc3Bfc3FsLCBkYXRhX3NxbCkKKworICAgIGRlZiB0ZWFyRG93bihzZWxmKToKKyAgICAgICAg Y29ubmVjdGlvbiA9IHV0aWxzLmdldF9kYl9jb25uZWN0aW9uKHNlbGYuc2VydmVyWydkYiddLAor ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5zZXJ2ZXJb J3VzZXJuYW1lJ10sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBzZWxmLnNlcnZlclsnZGJfcGFzc3dvcmQnXSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIHNlbGYuc2VydmVyWydob3N0J10sCisgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLnNlcnZlclsncG9ydCddKQorICAgICAg ICB1dGlscy5kcm9wX2RhdGFiYXNlKGNvbm5lY3Rpb24sIHNlbGYuZGJfbmFtZSkKZGlmZiAtLWdp dCBhL3dlYi9wZ2FkbWluL3Rvb2xzL2VyZC90ZXN0cy90ZXN0X3NxbF9pbnB1dF9kYXRhLmpzb24g Yi93ZWIvcGdhZG1pbi90b29scy9lcmQvdGVzdHMvdGVzdF9zcWxfaW5wdXRfZGF0YS5qc29uCm5l dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMC4uM2M4MTgyZTY4Ci0tLSAvZGV2L251 bGwKKysrIGIvd2ViL3BnYWRtaW4vdG9vbHMvZXJkL3Rlc3RzL3Rlc3Rfc3FsX2lucHV0X2RhdGEu anNvbgpAQCAtMCwwICsxLDEwNiBAQAoreworICAibm9kZXMiOiB7CisgICAgIjFkOWRjNTZlLWU0 ZjktNDhiOS04ODliLTYwODRlYzY0NDZiZiI6IHsKKyAgICAgICJjb2x1bW5zIjogWworICAgICAg ICB7CisgICAgICAgICAgIm5hbWUiOiAiaWQiLAorICAgICAgICAgICJhdHRudW0iOiAwLAorICAg ICAgICAgICJjbHR5cGUiOiAiaW50ZWdlciIsCisgICAgICAgICAgImlzX3ByaW1hcnlfa2V5Ijog dHJ1ZSwKKyAgICAgICAgICAiYXR0bm90bnVsbCI6IGZhbHNlLAorICAgICAgICAgICJhdHRsZW4i OiBudWxsLAorICAgICAgICAgICJhdHRwcmVjaXNpb24iOiBudWxsLAorICAgICAgICAgICJhdHRp ZGVudGl0eSI6ICJhIiwKKyAgICAgICAgICAiY29sY29uc3R5cGUiOiAibiIKKyAgICAgICAgfSwK KyAgICAgICAgeworICAgICAgICAgICJuYW1lIjogImNvbDEiLAorICAgICAgICAgICJhdHRudW0i OiAxLAorICAgICAgICAgICJjbHR5cGUiOiAiY2hhcmFjdGVyIHZhcnlpbmciLAorICAgICAgICAg ICJtaW5fdmFsX2F0dGxlbiI6IDEsCisgICAgICAgICAgIm1heF92YWxfYXR0bGVuIjogMjE0NzQ4 MzY0NywKKyAgICAgICAgICAiaXNfcHJpbWFyeV9rZXkiOiBmYWxzZSwKKyAgICAgICAgICAiYXR0 bm90bnVsbCI6IGZhbHNlLAorICAgICAgICAgICJhdHRsZW4iOiA1MCwKKyAgICAgICAgICAiYXR0 cHJlY2lzaW9uIjogbnVsbCwKKyAgICAgICAgICAiYXR0aWRlbnRpdHkiOiAiYSIsCisgICAgICAg ICAgImNvbGNvbnN0eXBlIjogIm4iCisgICAgICAgIH0KKyAgICAgIF0sCisgICAgICAibmFtZSI6 ICJuZXd0YWJsZTEiLAorICAgICAgInNjaGVtYSI6ICJwdWJsaWMiLAorICAgICAgInByaW1hcnlf a2V5IjogWworICAgICAgICB7CisgICAgICAgICAgImNvbHVtbnMiOiBbCisgICAgICAgICAgICB7 CisgICAgICAgICAgICAgICJjb2x1bW4iOiAiaWQiCisgICAgICAgICAgICB9CisgICAgICAgICAg XSwKKyAgICAgICAgICAiaW5jbHVkZSI6IFtdCisgICAgICAgIH0KKyAgICAgIF0KKyAgICB9LAor ICAgICJjNGZlZTRhZC1jZjMyLTRmYzYtYmI4Ny05OGI4OTZiY2FiNjAiOiB7CisgICAgICAibmFt ZSI6ICJuZXd0YWJsZTIiLAorICAgICAgInNjaGVtYSI6ICJwdWJsaWMiLAorICAgICAgImNvbHVt bnMiOiBbCisgICAgICAgIHsKKyAgICAgICAgICAibmFtZSI6ICJ0YWJsZTFfaWQiLAorICAgICAg ICAgICJhdHRudW0iOiAwLAorICAgICAgICAgICJjbHR5cGUiOiAiaW50ZWdlciIsCisgICAgICAg ICAgImlzX3ByaW1hcnlfa2V5IjogZmFsc2UsCisgICAgICAgICAgImF0dG5vdG51bGwiOiBmYWxz ZSwKKyAgICAgICAgICAiYXR0bGVuIjogbnVsbCwKKyAgICAgICAgICAiYXR0cHJlY2lzaW9uIjog bnVsbCwKKyAgICAgICAgICAiYXR0aWRlbnRpdHkiOiAiYSIsCisgICAgICAgICAgImNvbGNvbnN0 eXBlIjogIm4iLAorICAgICAgICAgICJvbGRfYXR0aWRlbnRpdHkiOiAiYSIKKyAgICAgICAgfSwK KyAgICAgICAgeworICAgICAgICAgICJuYW1lIjogImNvbDIiLAorICAgICAgICAgICJhdHRudW0i OiAxLAorICAgICAgICAgICJjbHR5cGUiOiAiY2hhcmFjdGVyIHZhcnlpbmciLAorICAgICAgICAg ICJtaW5fdmFsX2F0dGxlbiI6IDEsCisgICAgICAgICAgIm1heF92YWxfYXR0bGVuIjogMjE0NzQ4 MzY0NywKKyAgICAgICAgICAiaXNfcHJpbWFyeV9rZXkiOiBmYWxzZSwKKyAgICAgICAgICAiYXR0 bm90bnVsbCI6IGZhbHNlLAorICAgICAgICAgICJhdHRsZW4iOiA1MCwKKyAgICAgICAgICAiYXR0 cHJlY2lzaW9uIjogbnVsbCwKKyAgICAgICAgICAiYXR0aWRlbnRpdHkiOiAiYSIsCisgICAgICAg ICAgImNvbGNvbnN0eXBlIjogIm4iLAorICAgICAgICAgICJvbGRfYXR0aWRlbnRpdHkiOiAiYSIK KyAgICAgICAgfQorICAgICAgXSwKKyAgICAgICJwcmltYXJ5X2tleSI6IFsKKyAgICAgICAgewor ICAgICAgICAgICJjb2x1bW5zIjogWworICAgICAgICAgICAgeworICAgICAgICAgICAgICAiY29s dW1uIjogImlkIgorICAgICAgICAgICAgfQorICAgICAgICAgIF0sCisgICAgICAgICAgImluY2x1 ZGUiOiBbXQorICAgICAgICB9CisgICAgICBdCisgICAgfSwKKyAgICAiZjAwMWE3NzAtZDZmYS00 NTcyLWI4OGItMTFkZDVlMzhkMzBjIjogeworICAgICAgImNvbHVtbnMiOiBbXSwKKyAgICAgICJu YW1lIjogIm5ld3RhYmxlMyIsCisgICAgICAic2NoZW1hIjogInB1YmxpYyIsCisgICAgICAicHJp bWFyeV9rZXkiOiBbXQorICAgIH0KKyAgfSwKKyAgImxpbmtzIjogeworICAgICI5OThkZTE5YS1j YWEwLTQzMWUtOWNmNy05NzgyN2YwMTAyMmIiOiB7CisgICAgICAic2NoZW1hIjogInB1YmxpYyIs CisgICAgICAidGFibGUiOiAibmV3dGFibGUyIiwKKyAgICAgICJyZW1vdGVfc2NoZW1hIjogInB1 YmxpYyIsCisgICAgICAicmVtb3RlX3RhYmxlIjogIm5ld3RhYmxlMSIsCisgICAgICAiY29sdW1u cyI6IFsKKyAgICAgICAgeworICAgICAgICAgICJsb2NhbF9jb2x1bW4iOiAidGFibGUxX2lkIiwK KyAgICAgICAgICAicmVmZXJlbmNlZCI6ICJpZCIKKyAgICAgICAgfQorICAgICAgXQorICAgIH0K KyAgfQorfQpkaWZmIC0tZ2l0IGEvd2ViL3BnYWRtaW4vdG9vbHMvZXJkL3Rlc3RzL3Rlc3RfdGFi bGVzLnB5IGIvd2ViL3BnYWRtaW4vdG9vbHMvZXJkL3Rlc3RzL3Rlc3RfdGFibGVzLnB5Cm5ldyBm aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMC4uYjhkZTExNjQ2Ci0tLSAvZGV2L251bGwK KysrIGIvd2ViL3BnYWRtaW4vdG9vbHMvZXJkL3Rlc3RzL3Rlc3RfdGFibGVzLnB5CkBAIC0wLDAg KzEsNzkgQEAKKyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisjCisjIHBnQWRtaW4gNCAtIFBvc3RncmVTUUwg VG9vbHMKKyMKKyMgQ29weXJpZ2h0IChDKSAyMDEzIC0gMjAyMCwgVGhlIHBnQWRtaW4gRGV2ZWxv cG1lbnQgVGVhbQorIyBUaGlzIHNvZnR3YXJlIGlzIHJlbGVhc2VkIHVuZGVyIHRoZSBQb3N0Z3Jl U1FMIExpY2VuY2UKKyMKKyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisKK2ltcG9ydCBqc29uCitpbXBvcnQg dXVpZAorCitmcm9tIHBnYWRtaW4udXRpbHMucm91dGUgaW1wb3J0IEJhc2VUZXN0R2VuZXJhdG9y Citmcm9tIHJlZ3Jlc3Npb24ucHl0aG9uX3Rlc3RfdXRpbHMgaW1wb3J0IHRlc3RfdXRpbHMgYXMg dXRpbHMKK2Zyb20gcmVncmVzc2lvbiBpbXBvcnQgcGFyZW50X25vZGVfZGljdAorZnJvbSByZWdy ZXNzaW9uLnRlc3Rfc2V0dXAgaW1wb3J0IGNvbmZpZ19kYXRhCitmcm9tIHBnYWRtaW4uYnJvd3Nl ci5zZXJ2ZXJfZ3JvdXBzLnNlcnZlcnMuZGF0YWJhc2VzLnRlc3RzIGltcG9ydCB1dGlscyBhcyBc CisgICAgZGF0YWJhc2VfdXRpbHMKK2Zyb20gcGdhZG1pbi5icm93c2VyLnNlcnZlcl9ncm91cHMu c2VydmVycy5kYXRhYmFzZXMuc2NoZW1hcy50YWJsZXMudGVzdHMgXAorICAgIGltcG9ydCB1dGls cyBhcyB0YWJsZXNfdXRpbHMKK2Zyb20gcGdhZG1pbi5icm93c2VyLnNlcnZlcl9ncm91cHMuc2Vy dmVycy5kYXRhYmFzZXMuc2NoZW1hcy50ZXN0cyBpbXBvcnQgXAorICAgIHV0aWxzIGFzIHNjaGVt YV91dGlscworCisKK2NsYXNzIEVSRFRhYmxlcyhCYXNlVGVzdEdlbmVyYXRvcik6CisKKyAgICBk ZWYgZHJvcERCKHNlbGYpOgorICAgICAgICBjb25uZWN0aW9uID0gdXRpbHMuZ2V0X2RiX2Nvbm5l Y3Rpb24oc2VsZi5zZXJ2ZXJbJ2RiJ10sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBzZWxmLnNlcnZlclsndXNlcm5hbWUnXSwKKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYuc2VydmVyWydkYl9wYXNzd29yZCddLAor ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5zZXJ2ZXJb J2hvc3QnXSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNl bGYuc2VydmVyWydwb3J0J10pCisgICAgICAgIHV0aWxzLmRyb3BfZGF0YWJhc2UoY29ubmVjdGlv biwgc2VsZi5kYl9uYW1lKQorCisgICAgZGVmIHNldFVwKHNlbGYpOgorICAgICAgICBzZWxmLmRi X25hbWUgPSAiZXJkdGVzdGRiIgorICAgICAgICBzZWxmLnNpZCA9IHBhcmVudF9ub2RlX2RpY3Rb InNlcnZlciJdWy0xXVsic2VydmVyX2lkIl0KKyAgICAgICAgc2VsZi5kaWQgPSB1dGlscy5jcmVh dGVfZGF0YWJhc2Uoc2VsZi5zZXJ2ZXIsIHNlbGYuZGJfbmFtZSkKKworICAgICAgICB0cnk6Cisg ICAgICAgICAgICBzZWxmLnNnaWQgPSBjb25maWdfZGF0YVsic2VydmVyX2dyb3VwIl0KKyAgICAg ICAgICAgIHNlbGYudGFibGVzID0gWworICAgICAgICAgICAgICAgIFsiZXJkMSIsICJ0YWJsZV8x Il0sIFsiZXJkMiIsICJ0YWJsZV8yIl0KKyAgICAgICAgICAgIF0KKworICAgICAgICAgICAgZm9y IHRhYiBpbiBzZWxmLnRhYmxlczoKKyAgICAgICAgICAgICAgICBjb25uZWN0aW9uID0gdXRpbHMu Z2V0X2RiX2Nvbm5lY3Rpb24oCisgICAgICAgICAgICAgICAgICAgIHNlbGYuZGJfbmFtZSwgc2Vs Zi5zZXJ2ZXJbJ3VzZXJuYW1lJ10sCisgICAgICAgICAgICAgICAgICAgIHNlbGYuc2VydmVyWydk Yl9wYXNzd29yZCddLCBzZWxmLnNlcnZlclsnaG9zdCddLAorICAgICAgICAgICAgICAgICAgICBz ZWxmLnNlcnZlclsncG9ydCddKQorICAgICAgICAgICAgICAgIHNjaGVtYV91dGlscy5jcmVhdGVf c2NoZW1hKGNvbm5lY3Rpb24sIHRhYlswXSkKKyAgICAgICAgICAgICAgICB0YWJsZXNfdXRpbHMu Y3JlYXRlX3RhYmxlKHNlbGYuc2VydmVyLCBzZWxmLmRiX25hbWUsIHRhYlswXSwKKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRhYlsxXSkKKyAgICAgICAgICAgICAg ICBjb25uZWN0aW9uLmNsb3NlKCkKKyAgICAgICAgZXhjZXB0IEV4Y2VwdGlvbiBhcyBfOgorICAg ICAgICAgICAgc2VsZi5kcm9wREIoKQorICAgICAgICAgICAgcmFpc2UKKworICAgIGRlZiBydW5U ZXN0KHNlbGYpOgorICAgICAgICBkYl9jb24gPSBkYXRhYmFzZV91dGlscy5jb25uZWN0X2RhdGFi YXNlKHNlbGYsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgc2VsZi5zZ2lkLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIHNlbGYuc2lkLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIHNlbGYuZGlkKQorCisgICAgICAgIGlmIG5vdCBkYl9jb25bImluZm8iXSA9PSAi RGF0YWJhc2UgY29ubmVjdGVkLiI6CisgICAgICAgICAgICByYWlzZSBFeGNlcHRpb24oIkNvdWxk IG5vdCBjb25uZWN0IHRvIGRhdGFiYXNlIHRvIGFkZCB0aGUgc2NoZW1hLiIpCisKKyAgICAgICAg dXJsID0gJy9lcmQvdGFibGVzL3t0cmFuc19pZH0ve3NnaWR9L3tzaWR9L3tkaWR9Jy5mb3JtYXQo CisgICAgICAgICAgICB0cmFuc19pZD0xMjMzNDQsIHNnaWQ9c2VsZi5zZ2lkLCBzaWQ9c2VsZi5z aWQsIGRpZD1zZWxmLmRpZCkKKworICAgICAgICByZXNwb25zZSA9IHNlbGYudGVzdGVyLmdldCh1 cmwpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocmVzcG9uc2Uuc3RhdHVzX2NvZGUsIDIwMCkK KworICAgICAgICByZXNwb25zZSA9IGpzb24ubG9hZHMocmVzcG9uc2UuZGF0YS5kZWNvZGUoJ3V0 Zi04JykpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc2VsZi50YWJsZXMsIFtbdGFiWydzY2hl bWEnXSwgdGFiWyduYW1lJ11dCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBmb3IgdGFiIGluIHJlc3BvbnNlWydkYXRhJ11dKQorCisgICAgZGVmIHRlYXJEb3duKHNlbGYp OgorICAgICAgICBzZWxmLmRyb3BEQigpCmRpZmYgLS1naXQgYS93ZWIvcGdhZG1pbi90b29scy9l cmQvdXRpbHMucHkgYi93ZWIvcGdhZG1pbi90b29scy9lcmQvdXRpbHMucHkKbmV3IGZpbGUgbW9k ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwLi4xOTk5YTcxZTUKLS0tIC9kZXYvbnVsbAorKysgYi93 ZWIvcGdhZG1pbi90b29scy9lcmQvdXRpbHMucHkKQEAgLTAsMCArMSw3MSBAQAorIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMKKyMKKyMgcGdBZG1pbiA0IC0gUG9zdGdyZVNRTCBUb29scworIworIyBDb3B5cmln aHQgKEMpIDIwMTMgLSAyMDIwLCBUaGUgcGdBZG1pbiBEZXZlbG9wbWVudCBUZWFtCisjIFRoaXMg c29mdHdhcmUgaXMgcmVsZWFzZWQgdW5kZXIgdGhlIFBvc3RncmVTUUwgTGljZW5jZQorIworIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMKKworZnJvbSBwZ2FkbWluLmJyb3dzZXIuc2VydmVyX2dyb3Vwcy5zZXJ2 ZXJzLmRhdGFiYXNlcy5zY2hlbWFzLnRhYmxlcy51dGlscyBcCisgICAgaW1wb3J0IEJhc2VUYWJs ZVZpZXcKK2Zyb20gcGdhZG1pbi5icm93c2VyLnNlcnZlcl9ncm91cHMuc2VydmVycy5kYXRhYmFz ZXMuc2NoZW1hcy51dGlscyBcCisgICAgaW1wb3J0IGdldF9zY2hlbWFzCitmcm9tIHBnYWRtaW4u YnJvd3Nlci5zZXJ2ZXJfZ3JvdXBzLnNlcnZlcnMuZGF0YWJhc2VzLnNjaGVtYXMudXRpbHMgXAor ICAgIGltcG9ydCBEYXRhVHlwZVJlYWRlcgorCisKK2NsYXNzIEVSRFRhYmxlVmlldyhCYXNlVGFi bGVWaWV3LCBEYXRhVHlwZVJlYWRlcik6CisgICAgZGVmIF9faW5pdF9fKHNlbGYpOgorICAgICAg ICBzdXBlcihCYXNlVGFibGVWaWV3LCBzZWxmKS5fX2luaXRfXyhjbWQ9J2VyZCcpCisKKyAgICBA QmFzZVRhYmxlVmlldy5jaGVja19wcmVjb25kaXRpb24KKyAgICBkZWYgc3FsKHNlbGYsIGNvbm5f aWQ9Tm9uZSwgZGlkPU5vbmUsIHNpZD1Ob25lLCBkYXRhPXt9KToKKyAgICAgICAgcmV0dXJuIEJh c2VUYWJsZVZpZXcuZ2V0X3NxbChzZWxmLCBkaWQsIE5vbmUsIE5vbmUsIGRhdGEsIE5vbmUpCisK KyAgICBAQmFzZVRhYmxlVmlldy5jaGVja19wcmVjb25kaXRpb24KKyAgICBkZWYgZ2V0X3R5cGVz KHNlbGYsIGNvbm5faWQ9Tm9uZSwgZGlkPU5vbmUsIHNpZD1Ob25lKToKKyAgICAgICAgY29uZGl0 aW9uID0gc2VsZi5nZXRfdHlwZXNfY29uZGl0aW9uX3NxbChGYWxzZSkKKyAgICAgICAgcmV0dXJu IERhdGFUeXBlUmVhZGVyLmdldF90eXBlcyhzZWxmLCBzZWxmLmNvbm4sIGNvbmRpdGlvbiwgVHJ1 ZSkKKworICAgIEBCYXNlVGFibGVWaWV3LmNoZWNrX3ByZWNvbmRpdGlvbgorICAgIGRlZiBmZXRj aF9hbGxfdGFibGVzKHNlbGYsIGNvbm5faWQ9Tm9uZSwgZGlkPU5vbmUsIHNpZD1Ob25lKToKKyAg ICAgICAgc3RhdHVzLCBzY2hlbWFzID0gZ2V0X3NjaGVtYXMoc2VsZi5jb25uLCBzaG93X3N5c3Rl bV9vYmplY3RzPUZhbHNlKQorICAgICAgICBpZiBub3Qgc3RhdHVzOgorICAgICAgICAgICAgcmV0 dXJuIHN0YXR1cywgc2NoZW1hcworCisgICAgICAgIGFsbF90YWJsZXMgPSBbXQorICAgICAgICBm b3Igcm93IGluIHNjaGVtYXNbJ3Jvd3MnXToKKyAgICAgICAgICAgIHN0YXR1cywgcmVzID0gXAor ICAgICAgICAgICAgICAgIEJhc2VUYWJsZVZpZXcuZmV0Y2hfdGFibGVzKHNlbGYsIHNpZCwgZGlk LCByb3dbJ29pZCddKQorICAgICAgICAgICAgaWYgbm90IHN0YXR1czoKKyAgICAgICAgICAgICAg ICByZXR1cm4gc3RhdHVzLCByZXMKKworICAgICAgICAgICAgYWxsX3RhYmxlcy5leHRlbmQocmVz LnZhbHVlcygpKQorCisgICAgICAgIHJldHVybiBUcnVlLCBhbGxfdGFibGVzCisKKworY2xhc3Mg RVJESGVscGVyOgorICAgIGRlZiBfX2luaXRfXyhzZWxmLCBjb25uX2lkLCBzaWQsIGRpZCk6Cisg ICAgICAgIHNlbGYuY29ubl9pZCA9IGNvbm5faWQKKyAgICAgICAgc2VsZi5kaWQgPSBkaWQKKyAg ICAgICAgc2VsZi5zaWQgPSBzaWQKKyAgICAgICAgc2VsZi50YWJsZV92aWV3ID0gRVJEVGFibGVW aWV3KCkKKyAgICAgICAgc2VsZi5saW5rX3ZpZXcgPSBOb25lCisKKyAgICBkZWYgZ2V0X3R5cGVz KHNlbGYpOgorICAgICAgICByZXR1cm4gc2VsZi50YWJsZV92aWV3LmdldF90eXBlcygKKyAgICAg ICAgICAgIGNvbm5faWQ9c2VsZi5jb25uX2lkLCBkaWQ9c2VsZi5kaWQsIHNpZD1zZWxmLnNpZCkK KworICAgIGRlZiBnZXRfdGFibGVfc3FsKHNlbGYsIGRhdGEpOgorICAgICAgICBTUUwsIG5hbWUg PSBzZWxmLnRhYmxlX3ZpZXcuc3FsKAorICAgICAgICAgICAgY29ubl9pZD1zZWxmLmNvbm5faWQs IGRpZD1zZWxmLmRpZCwgc2lkPXNlbGYuc2lkLAorICAgICAgICAgICAgZGF0YT1kYXRhKQorICAg ICAgICByZXR1cm4gU1FMCisKKyAgICBkZWYgZ2V0X2FsbF90YWJsZXMoc2VsZik6CisgICAgICAg IHN0YXR1cywgcmVzID0gc2VsZi50YWJsZV92aWV3LmZldGNoX2FsbF90YWJsZXMoCisgICAgICAg ICAgICBjb25uX2lkPXNlbGYuY29ubl9pZCwgZGlkPXNlbGYuZGlkLCBzaWQ9c2VsZi5zaWQpCisK KyAgICAgICAgcmV0dXJuIHN0YXR1cywgcmVzCmRpZmYgLS1naXQgYS93ZWIvcGdhZG1pbi90b29s cy9zcWxlZGl0b3Ivc3RhdGljL2pzL3NxbGVkaXRvci5qcyBiL3dlYi9wZ2FkbWluL3Rvb2xzL3Nx bGVkaXRvci9zdGF0aWMvanMvc3FsZWRpdG9yLmpzCmluZGV4IDYxMjYxMmMzMC4uNDgzNjRmNmM1 IDEwMDY0NAotLS0gYS93ZWIvcGdhZG1pbi90b29scy9zcWxlZGl0b3Ivc3RhdGljL2pzL3NxbGVk aXRvci5qcworKysgYi93ZWIvcGdhZG1pbi90b29scy9zcWxlZGl0b3Ivc3RhdGljL2pzL3NxbGVk aXRvci5qcwpAQCAtMjY1MSw2ICsyNjUxLDEyIEBAIGRlZmluZSgndG9vbHMucXVlcnl0b29sJywg WwogICAgICAgICAgICAgICAgIH0KIAogICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICB9IGVs c2UgaWYodXJsX3BhcmFtcy5zcWxfaWQpIHsKKyAgICAgICAgICAgIGxldCBzcWxWYWx1ZSA9IGxv Y2FsU3RvcmFnZS5nZXRJdGVtKHVybF9wYXJhbXMuc3FsX2lkKTsKKyAgICAgICAgICAgIGxvY2Fs U3RvcmFnZS5yZW1vdmVJdGVtKHVybF9wYXJhbXMuc3FsX2lkKTsKKyAgICAgICAgICAgIGlmKHNx bFZhbHVlKSB7CisgICAgICAgICAgICAgIHNlbGYuZ3JpZFZpZXcucXVlcnlfdG9vbF9vYmouc2V0 VmFsdWUoc3FsVmFsdWUpOworICAgICAgICAgICAgfQogICAgICAgICAgIH0KICAgICAgICAgfQog ICAgICAgICBlbHNlIHsKQEAgLTI2NjgsNyArMjY3NCw3IEBAIGRlZmluZSgndG9vbHMucXVlcnl0 b29sJywgWwogICAgICAgfSwKIAogICAgICAgc2V0X3ZhbHVlX3RvX2VkaXRvcjogZnVuY3Rpb24o cXVlcnkpIHsKLSAgICAgICAgaWYgKHRoaXMuZ3JpZFZpZXcgJiYgdGhpcy5ncmlkVmlldy5xdWVy eV90b29sX29iaiAmJiAhXy5pc1VuZGVmaW5lZChxdWVyeSkpIHsKKyAgICAgICAgaWYgKHRoaXMu Z3JpZFZpZXcgJiYgdGhpcy5ncmlkVmlldy5xdWVyeV90b29sX29iaiAmJiAhXy5pc1VuZGVmaW5l ZChxdWVyeSkgJiYgcXVlcnkgIT0gJycpIHsKICAgICAgICAgICB0aGlzLmdyaWRWaWV3LnF1ZXJ5 X3Rvb2xfb2JqLnNldFZhbHVlKHF1ZXJ5KTsKICAgICAgICAgfQogICAgICAgfSwKZGlmZiAtLWdp dCBhL3dlYi9wZ2FkbWluL3V0aWxzL2NzcmYucHkgYi93ZWIvcGdhZG1pbi91dGlscy9jc3JmLnB5 CmluZGV4IDEyYTk0YTU0MS4uMjNhYmZmZmFmIDEwMDY0NAotLS0gYS93ZWIvcGdhZG1pbi91dGls cy9jc3JmLnB5CisrKyBiL3dlYi9wZ2FkbWluL3V0aWxzL2NzcmYucHkKQEAgLTM2LDcgKzM2LDgg QEAgY2xhc3MgX1BHQ1NSRlByb3RlY3QoQ1NSRlByb3RlY3QpOgogICAgICAgICAgICAgJ3BnYWRt aW4udG9vbHMuZGVidWdnZXIuZGlyZWN0X25ldycsCiAgICAgICAgICAgICAncGdhZG1pbi50b29s cy5zY2hlbWFfZGlmZi5wYW5lbCcsCiAgICAgICAgICAgICAncGdhZG1pbi50b29scy5zY2hlbWFf ZGlmZi5kZGxfY29tcGFyZScsCi0gICAgICAgICAgICAncGdhZG1pbi5hdXRoZW50aWNhdGUubG9n aW4nCisgICAgICAgICAgICAncGdhZG1pbi5hdXRoZW50aWNhdGUubG9naW4nLAorICAgICAgICAg ICAgJ3BnYWRtaW4udG9vbHMuZXJkLnBhbmVsJywKICAgICAgICAgXQogCiAgICAgICAgIGZvciBl eGVtcHQgaW4gZXhlbXB0X3ZpZXdzOgpkaWZmIC0tZ2l0IGEvd2ViL3JlZ3Jlc3Npb24vamF2YXNj cmlwdC9lcmQvZXJkX2NvcmVfc3BlYy5qcyBiL3dlYi9yZWdyZXNzaW9uL2phdmFzY3JpcHQvZXJk L2VyZF9jb3JlX3NwZWMuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwLi5j NDg4ZmZkZjIKLS0tIC9kZXYvbnVsbAorKysgYi93ZWIvcmVncmVzc2lvbi9qYXZhc2NyaXB0L2Vy ZC9lcmRfY29yZV9zcGVjLmpzCkBAIC0wLDAgKzEsMzgyIEBACisvLy8vLy8vLy8vLy8vLy8vLy8v Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCisvLworLy8gcGdBZG1p biA0IC0gUG9zdGdyZVNRTCBUb29scworLy8KKy8vIENvcHlyaWdodCAoQykgMjAxMyAtIDIwMjAs IFRoZSBwZ0FkbWluIERldmVsb3BtZW50IFRlYW0KKy8vIFRoaXMgc29mdHdhcmUgaXMgcmVsZWFz ZWQgdW5kZXIgdGhlIFBvc3RncmVTUUwgTGljZW5jZQorLy8KKy8vLy8vLy8vLy8vLy8vLy8vLy8v Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCitpbXBvcnQgRVJEQ29y ZSBmcm9tICdwZ2FkbWluLnRvb2xzLmVyZC9lcmRfdG9vbC9FUkRDb3JlJzsKK2ltcG9ydCAqIGFz IGNyZWF0ZUVuZ2luZUxpYiBmcm9tICdAcHJvamVjdHN0b3JtL3JlYWN0LWRpYWdyYW1zJzsKK2lt cG9ydCBURVNUX1RBQkxFU19EQVRBIGZyb20gJy4vdGVzdF90YWJsZXMnOworCitkZXNjcmliZSgn RVJEQ29yZScsICgpPT57CisgIGxldCBlbGVGYWN0b3J5ID0gamFzbWluZS5jcmVhdGVTcHlPYmoo J25vZGVGYWN0b3JpZXMnLCB7CisgICAgJ3JlZ2lzdGVyRmFjdG9yeSc6IG51bGwsCisgICAgJ2dl dEZhY3RvcnknOiBqYXNtaW5lLmNyZWF0ZVNweU9iaignZ2V0RmFjdG9yeScsIFsnZ2VuZXJhdGVN b2RlbCcsICdjYWxjdWxhdGVSb3V0aW5nTWF0cml4J10pLAorICB9KTsKKyAgbGV0IGVyZEVuZ2lu ZSA9IGphc21pbmUuY3JlYXRlU3B5T2JqKCdlbmdpbmUnLCB7CisgICAgJ2dldE5vZGVGYWN0b3Jp ZXMnOiBlbGVGYWN0b3J5LAorICAgICdnZXRMaW5rRmFjdG9yaWVzJzogZWxlRmFjdG9yeSwKKyAg ICAnZ2V0UG9ydEZhY3Rvcmllcyc6IGVsZUZhY3RvcnksCisgICAgJ2dldEFjdGlvbkV2ZW50QnVz JzogamFzbWluZS5jcmVhdGVTcHlPYmooJ2FjdGlvbkJ1cycsIFsnZmlyZUFjdGlvbicsICdkZXJl Z2lzdGVyQWN0aW9uJywgJ3JlZ2lzdGVyQWN0aW9uJ10pLAorICAgICdzZXRNb2RlbCc6IG51bGws CisgICAgJ2dldE1vZGVsJzogamFzbWluZS5jcmVhdGVTcHlPYmooJ21vZGVsT2JqJywgeworICAg ICAgJ2FkZE5vZGUnOiBudWxsLAorICAgICAgJ2NsZWFyU2VsZWN0aW9uJzogbnVsbCwKKyAgICAg ICdnZXROb2Rlc0RpY3QnOiBudWxsLAorICAgICAgJ2dldExpbmtzJzogbnVsbCwKKyAgICAgICdz ZXJpYWxpemUnOiAoKT0+KHsKKyAgICAgICAgJ2RhdGEnOiAnc2VyaWFsaXplZCcsCisgICAgICB9 KSwKKyAgICAgICdhZGRMaW5rJzogbnVsbCwKKyAgICAgICdnZXROb2Rlcyc6IG51bGwsCisgICAg ICAnc2V0Wm9vbUxldmVsJzogbnVsbCwKKyAgICAgICdnZXRab29tTGV2ZWwnOiBudWxsLAorICAg ICAgJ2ZpcmVFdmVudCc6IG51bGwsCisgICAgICAncmVnaXN0ZXJMaXN0ZW5lcic6IG51bGwsCisg ICAgfSksCisgICAgJ3JlcGFpbnRDYW52YXMnOiBudWxsLAorICAgICd6b29tVG9GaXQnOiBudWxs LAorICAgICdmaXJlRXZlbnQnOiBudWxsLAorICB9KTsKKworICBiZWZvcmVBbGwoKCk9PnsKKyAg ICBzcHlPbihjcmVhdGVFbmdpbmVMaWIsICdkZWZhdWx0JykuYW5kLnJldHVyblZhbHVlKGVyZEVu Z2luZSk7CisgIH0pOworCisgIGl0KCdpbml0aWFsaXphdGlvbicsICgpPT57CisgICAgc3B5T24o RVJEQ29yZS5wcm90b3R5cGUsICdpbml0aWFsaXplRW5naW5lJykuYW5kLmNhbGxUaHJvdWdoKCk7 CisgICAgc3B5T24oRVJEQ29yZS5wcm90b3R5cGUsICdpbml0aWFsaXplTW9kZWwnKS5hbmQuY2Fs bFRocm91Z2goKTsKKyAgICBzcHlPbihFUkRDb3JlLnByb3RvdHlwZSwgJ2NvbXB1dGVUYWJsZUNv dW50ZXInKS5hbmQuY2FsbFRocm91Z2goKTsKKyAgICBsZXQgZXJkQ29yZU9iaiA9IG5ldyBFUkRD b3JlKCk7CisgICAgZXhwZWN0KGVyZENvcmVPYmouaW5pdGlhbGl6ZUVuZ2luZSkudG9IYXZlQmVl bkNhbGxlZCgpOworICAgIGV4cGVjdChlcmRDb3JlT2JqLmluaXRpYWxpemVNb2RlbCkudG9IYXZl QmVlbkNhbGxlZCgpOworICAgIGV4cGVjdChlcmRDb3JlT2JqLmNvbXB1dGVUYWJsZUNvdW50ZXIp LnRvSGF2ZUJlZW5DYWxsZWQoKTsKKyAgfSk7CisKKyAgZGVzY3JpYmUoJ2Z1bmN0aW9ucycsICgp PT57CisgICAgbGV0IGVyZENvcmVPYmo7CisKKyAgICBiZWZvcmVBbGwoKCk9PnsKKyAgICAgIGVy ZENvcmVPYmogPSBuZXcgRVJEQ29yZSgpOworICAgIH0pOworCisgICAgZGVzY3JpYmUoJ2NhY2hl IGNoZWNrJywgKCk9PnsKKyAgICAgIGl0KCdmb3Igc2luZ2xlIHZhbHVlJywgKCk9PnsKKyAgICAg ICAgZXJkQ29yZU9iai5zZXRDYWNoZSgna2V5MScsICd2YWx1ZTEnKTsKKyAgICAgICAgZXhwZWN0 KGVyZENvcmVPYmouZ2V0Q2FjaGUoJ2tleTEnKSkudG9FcXVhbCgndmFsdWUxJyk7CisgICAgICB9 KTsKKworICAgICAgaXQoJ2ZvciBtdWx0aXBsZSB2YWx1ZScsICgpPT57CisgICAgICAgIGVyZENv cmVPYmouc2V0Q2FjaGUoeydrZXkxJzogJ3ZhbHVlbTEnLCAna2V5Mic6ICd2YWx1ZW0yJ30pOwor ICAgICAgICBleHBlY3QoZXJkQ29yZU9iai5nZXRDYWNoZSgna2V5MScpKS50b0VxdWFsKCd2YWx1 ZW0xJyk7CisgICAgICAgIGV4cGVjdChlcmRDb3JlT2JqLmdldENhY2hlKCdrZXkyJykpLnRvRXF1 YWwoJ3ZhbHVlbTInKTsKKyAgICAgIH0pOworICAgIH0pOworCisgICAgaXQoJ3JlZ2lzdGVyTW9k ZWxFdmVudCcsICgpPT57CisgICAgICBsZXQgZm4gPSAoKT0+e307CisgICAgICBlcmRDb3JlT2Jq LnJlZ2lzdGVyTW9kZWxFdmVudCgnc29tZUV2ZW50JywgZm4pOworICAgICAgZXhwZWN0KGVyZENv cmVPYmouZ2V0TW9kZWwoKS5yZWdpc3Rlckxpc3RlbmVyKS50b0hhdmVCZWVuQ2FsbGVkV2l0aCh7 CisgICAgICAgICdzb21lRXZlbnQnOiBmbiwKKyAgICAgIH0pOworICAgIH0pOworCisgICAgaXQo J2dldE5leHRUYWJsZU5hbWUnLCAoKT0+eworICAgICAgZXhwZWN0KGVyZENvcmVPYmouZ2V0TmV4 dFRhYmxlTmFtZSgpKS50b0VxdWFsKCduZXd0YWJsZTEnKTsKKyAgICAgIGV4cGVjdChlcmRDb3Jl T2JqLmdldE5leHRUYWJsZU5hbWUoKSkudG9FcXVhbCgnbmV3dGFibGUyJyk7CisgICAgfSk7CisK KyAgICBpdCgnZ2V0RW5naW5lJywgKCk9PnsKKyAgICAgIGV4cGVjdChlcmRDb3JlT2JqLmdldEVu Z2luZSgpKS50b0JlKGVyZEVuZ2luZSk7CisgICAgfSk7CisKKyAgICBpdCgnZ2V0TmV3Tm9kZScs ICgpPT57CisgICAgICBsZXQgZGF0YSA9IHtuYW1lOiAndGFibGUxJ307CisgICAgICBlcmRDb3Jl T2JqLmdldE5ld05vZGUoZGF0YSk7CisKKyAgICAgIGV4cGVjdChlcmRFbmdpbmUuZ2V0Tm9kZUZh Y3RvcmllcygpLmdldEZhY3RvcnkoKS5nZW5lcmF0ZU1vZGVsKS50b0hhdmVCZWVuQ2FsbGVkV2l0 aCh7CisgICAgICAgIGluaXRpYWxDb25maWc6IHsKKyAgICAgICAgICBvdGhlckluZm86IHsKKyAg ICAgICAgICAgIGRhdGE6ZGF0YSwKKyAgICAgICAgICB9LAorICAgICAgICB9LAorICAgICAgfSk7 CisgICAgfSk7CisKKyAgICBpdCgnZ2V0TmV3TGluaycsICgpPT57CisgICAgICBsZXQgZGF0YSA9 IHtuYW1lOiAnbGluazEnfTsKKyAgICAgIGVyZENvcmVPYmouZ2V0TmV3TGluaygnbGlua3R5cGUn LCBkYXRhKTsKKworICAgICAgZXhwZWN0KGVyZEVuZ2luZS5nZXRMaW5rRmFjdG9yaWVzKCkuZ2V0 RmFjdG9yeSkudG9IYXZlQmVlbkNhbGxlZFdpdGgoJ2xpbmt0eXBlJyk7CisgICAgICBleHBlY3Qo ZXJkRW5naW5lLmdldExpbmtGYWN0b3JpZXMoKS5nZXRGYWN0b3J5KCkuZ2VuZXJhdGVNb2RlbCku dG9IYXZlQmVlbkNhbGxlZFdpdGgoeworICAgICAgICBpbml0aWFsQ29uZmlnOiB7CisgICAgICAg ICAgZGF0YTogZGF0YSwKKyAgICAgICAgfSwKKyAgICAgIH0pOworICAgIH0pOworCisgICAgaXQo J2dldE5ld1BvcnQnLCAoKT0+eworICAgICAgbGV0IGRhdGEgPSB7bmFtZTogJ2xpbmsxJ307Cisg ICAgICBsZXQgb3B0aW9ucyA9IHtvcHQxOiAndmFsMSd9OworICAgICAgZXJkQ29yZU9iai5nZXRO ZXdQb3J0KCdwb3J0dHlwZScsIGRhdGEsIG9wdGlvbnMpOworCisgICAgICBleHBlY3QoZXJkRW5n aW5lLmdldFBvcnRGYWN0b3JpZXMoKS5nZXRGYWN0b3J5KS50b0hhdmVCZWVuQ2FsbGVkV2l0aCgn cG9ydHR5cGUnKTsKKyAgICAgIGV4cGVjdChlcmRFbmdpbmUuZ2V0UG9ydEZhY3RvcmllcygpLmdl dEZhY3RvcnkoKS5nZW5lcmF0ZU1vZGVsKS50b0hhdmVCZWVuQ2FsbGVkV2l0aCh7CisgICAgICAg IGluaXRpYWxDb25maWc6IHsKKyAgICAgICAgICBkYXRhOmRhdGEsCisgICAgICAgICAgb3B0aW9u czpvcHRpb25zLAorICAgICAgICB9LAorICAgICAgfSk7CisgICAgfSk7CisKKyAgICBpdCgnYWRk Tm9kZScsICgpPT57CisgICAgICBsZXQgbmV3Tm9kZSA9IGphc21pbmUuY3JlYXRlU3B5T2JqKCdu ZXdOb2RlJywgWydzZXRQb3NpdGlvbiddKTsKKyAgICAgIHNweU9uKGVyZENvcmVPYmosICdnZXRO ZXdOb2RlJykuYW5kLnJldHVyblZhbHVlKG5ld05vZGUpOworICAgICAgc3B5T24oZXJkQ29yZU9i aiwgJ2NsZWFyU2VsZWN0aW9uJyk7CisKKyAgICAgIGxldCBkYXRhID0ge25hbWU6ICdsaW5rMSd9 OworCisgICAgICAvKiBXaXRob3V0IHBvc2l0aW9uICovCisgICAgICBlcmRDb3JlT2JqLmFkZE5v ZGUoZGF0YSk7CisgICAgICBleHBlY3QoZXJkQ29yZU9iai5nZXROZXdOb2RlKS50b0hhdmVCZWVu Q2FsbGVkV2l0aChkYXRhKTsKKyAgICAgIGV4cGVjdChlcmRFbmdpbmUuZ2V0TW9kZWwoKS5hZGRO b2RlKS50b0hhdmVCZWVuQ2FsbGVkV2l0aChuZXdOb2RlKTsKKyAgICAgIGV4cGVjdChlcmRDb3Jl T2JqLmNsZWFyU2VsZWN0aW9uKS50b0hhdmVCZWVuQ2FsbGVkKCk7CisKKyAgICAgIC8qIFdpdGgg cG9zaXRpb24gKi8KKyAgICAgIGVyZENvcmVPYmouYWRkTm9kZShkYXRhLCBbMTA4LCAxMDhdKTsK KyAgICAgIGV4cGVjdChlcmRDb3JlT2JqLmdldE5ld05vZGUoKS5zZXRQb3NpdGlvbikudG9IYXZl QmVlbkNhbGxlZFdpdGgoMTA4LCAxMDgpOworICAgIH0pOworCisKKyAgICBpdCgnYWRkTGluaycs ICgpPT57CisgICAgICBsZXQgbm9kZXNEaWN0ID0geworICAgICAgICAnaWQxJzogeworICAgICAg ICAgIHNlcmlhbGl6ZURhdGE6IGZ1bmN0aW9uKCl7IHJldHVybiB7CisgICAgICAgICAgICAnbmFt ZSc6ICd0YWJsZTEnLAorICAgICAgICAgIH07fSwKKyAgICAgICAgICBnZXRQb3J0TmFtZTogZnVu Y3Rpb24oYXR0bnVtKSB7CisgICAgICAgICAgICByZXR1cm4gYHBvcnQtJHthdHRudW19YDsKKyAg ICAgICAgICB9LAorICAgICAgICAgIGdldFBvcnQ6IGZ1bmN0aW9uKCkgeworICAgICAgICAgICAg cmV0dXJuIG51bGw7CisgICAgICAgICAgfSwKKyAgICAgICAgICBhZGRQb3J0OiBqYXNtaW5lLmNy ZWF0ZVNweSgnYWRkUG9ydCcpLmFuZC5jYWxsRmFrZSgob2JqKT0+b2JqKSwKKyAgICAgICAgfSwK KyAgICAgICAgJ2lkMic6IHsKKyAgICAgICAgICBzZXJpYWxpemVEYXRhOiBmdW5jdGlvbigpeyBy ZXR1cm4geworICAgICAgICAgICAgJ25hbWUnOiAndGFibGUyJywKKyAgICAgICAgICB9O30sCisg ICAgICAgICAgZ2V0UG9ydE5hbWU6IGZ1bmN0aW9uKGF0dG51bSkgeworICAgICAgICAgICAgcmV0 dXJuIGBwb3J0LSR7YXR0bnVtfWA7CisgICAgICAgICAgfSwKKyAgICAgICAgICBnZXRQb3J0OiBm dW5jdGlvbigpIHsKKyAgICAgICAgICAgIHJldHVybiBudWxsOworICAgICAgICAgIH0sCisgICAg ICAgICAgYWRkUG9ydDogamFzbWluZS5jcmVhdGVTcHkoJ2FkZFBvcnQnKS5hbmQuY2FsbEZha2Uo KG9iaik9Pm9iaiksCisgICAgICAgIH0sCisgICAgICB9OworICAgICAgbGV0IGxpbmsgPSBqYXNt aW5lLmNyZWF0ZVNweU9iaignbGluaycsIFsnc2V0U291cmNlUG9ydCcsICdzZXRUYXJnZXRQb3J0 J10pOworICAgICAgc3B5T24oZXJkRW5naW5lLmdldE1vZGVsKCksICdnZXROb2Rlc0RpY3QnKS5h bmQucmV0dXJuVmFsdWUobm9kZXNEaWN0KTsKKyAgICAgIHNweU9uKGVyZENvcmVPYmosICdnZXRO ZXdMaW5rJykuYW5kLmNhbGxGYWtlKGZ1bmN0aW9uKCkgeworICAgICAgICByZXR1cm4gbGluazsK KyAgICAgIH0pOworICAgICAgc3B5T24oZXJkQ29yZU9iaiwgJ2dldE5ld1BvcnQnKS5hbmQuY2Fs bEZha2UoZnVuY3Rpb24odHlwZSwgaW5pdERhdGEsIG9wdGlvbnMpIHsKKyAgICAgICAgcmV0dXJu IHsKKyAgICAgICAgICBuYW1lOiBvcHRpb25zLm5hbWUsCisgICAgICAgIH07CisgICAgICB9KTsK KworICAgICAgZXJkQ29yZU9iai5hZGRMaW5rKHsKKyAgICAgICAgJ3JlZmVyZW5jZWRfY29sdW1u X2F0dG51bSc6IDEsCisgICAgICAgICdyZWZlcmVuY2VkX3RhYmxlX3VpZCc6ICdpZDEnLAorICAg ICAgICAnbG9jYWxfY29sdW1uX2F0dG51bSc6IDMsCisgICAgICAgICdsb2NhbF90YWJsZV91aWQn OiAnaWQyJywKKyAgICAgIH0sICdvbmV0b21hbnknKTsKKworICAgICAgZXhwZWN0KG5vZGVzRGlj dFsnaWQxJ10uYWRkUG9ydCkudG9IYXZlQmVlbkNhbGxlZFdpdGgoe25hbWU6ICdwb3J0LTEnfSk7 CisgICAgICBleHBlY3Qobm9kZXNEaWN0WydpZDInXS5hZGRQb3J0KS50b0hhdmVCZWVuQ2FsbGVk V2l0aCh7bmFtZTogJ3BvcnQtMyd9KTsKKyAgICAgIGV4cGVjdChsaW5rLnNldFNvdXJjZVBvcnQp LnRvSGF2ZUJlZW5DYWxsZWRXaXRoKHtuYW1lOiAncG9ydC0xJ30pOworICAgICAgZXhwZWN0KGxp bmsuc2V0VGFyZ2V0UG9ydCkudG9IYXZlQmVlbkNhbGxlZFdpdGgoe25hbWU6ICdwb3J0LTMnfSk7 CisKKyAgICB9KTsKKworICAgIGl0KCdzZXJpYWxpemUnLCAoKT0+eworICAgICAgbGV0IHJldFZh bCA9IGVyZENvcmVPYmouc2VyaWFsaXplKCk7CisgICAgICBleHBlY3QocmV0VmFsLmhhc093blBy b3BlcnR5KCd2ZXJzaW9uJykpLnRvQmVUcnV0aHkoKTsKKyAgICAgIGV4cGVjdChyZXRWYWwuaGFz T3duUHJvcGVydHkoJ2RhdGEnKSkudG9CZVRydXRoeSgpOworICAgICAgZXhwZWN0KGVyZEVuZ2lu ZS5nZXRNb2RlbCgpLnNlcmlhbGl6ZSkudG9IYXZlQmVlbkNhbGxlZCgpOworICAgIH0pOworCisg ICAgaXQoJ2Rlc2VyaWFsaXplJywgKCk9PnsKKyAgICAgIGxldCBkZXNlcmlhbFZhbHVlID0gewor ICAgICAgICAndmVyc2lvbic6IDEyMywKKyAgICAgICAgJ2RhdGEnOiB7CisgICAgICAgICAgJ2tl eSc6ICdzZXJpYWxpemVkJywKKyAgICAgICAgfSwKKyAgICAgIH07CisgICAgICBzcHlPbihlcmRD b3JlT2JqLCAnaW5pdGlhbGl6ZU1vZGVsJyk7CisgICAgICBlcmRDb3JlT2JqLmRlc2VyaWFsaXpl KGRlc2VyaWFsVmFsdWUpOworICAgICAgZXhwZWN0KGVyZENvcmVPYmouaW5pdGlhbGl6ZU1vZGVs KS50b0hhdmVCZWVuQ2FsbGVkV2l0aChkZXNlcmlhbFZhbHVlLmRhdGEpOworICAgIH0pOworCisg ICAgaXQoJ3NlcmlhbGl6ZURhdGEnLCAoKT0+eworICAgICAgc3B5T24oZXJkRW5naW5lLmdldE1v ZGVsKCksICdnZXROb2Rlc0RpY3QnKS5hbmQucmV0dXJuVmFsdWUoeworICAgICAgICAnaWQxJzog eworICAgICAgICAgIHNlcmlhbGl6ZURhdGE6IGZ1bmN0aW9uKCl7IHJldHVybiB7CisgICAgICAg ICAgICAnbmFtZSc6ICd0YWJsZTEnLAorICAgICAgICAgIH07fSwKKyAgICAgICAgfSwKKyAgICAg ICAgJ2lkMic6IHsKKyAgICAgICAgICBzZXJpYWxpemVEYXRhOiBmdW5jdGlvbigpeyByZXR1cm4g eworICAgICAgICAgICAgJ25hbWUnOiAndGFibGUyJywKKyAgICAgICAgICB9O30sCisgICAgICAg IH0sCisgICAgICB9KTsKKyAgICAgIHNweU9uKGVyZEVuZ2luZS5nZXRNb2RlbCgpLCAnZ2V0TGlu a3MnKS5hbmQucmV0dXJuVmFsdWUoWworICAgICAgICB7CisgICAgICAgICAgc2VyaWFsaXplRGF0 YTogIGZ1bmN0aW9uKCl7IHJldHVybiB7CisgICAgICAgICAgICAnbmFtZSc6ICdsaW5rMScsCisg ICAgICAgICAgfTt9LAorICAgICAgICAgIGdldElEOiAgZnVuY3Rpb24oKXsgcmV0dXJuICdsaWQx JzsgfSwKKyAgICAgICAgfSwKKyAgICAgICAgeworICAgICAgICAgIHNlcmlhbGl6ZURhdGE6ICBm dW5jdGlvbigpeyByZXR1cm4geworICAgICAgICAgICAgJ25hbWUnOiAnbGluazInLAorICAgICAg ICAgIH07fSwKKyAgICAgICAgICBnZXRJRDogIGZ1bmN0aW9uKCl7IHJldHVybiAnbGlkMic7IH0s CisgICAgICAgIH0sCisgICAgICBdKTsKKyAgICAgIGV4cGVjdChKU09OLnN0cmluZ2lmeShlcmRD b3JlT2JqLnNlcmlhbGl6ZURhdGEoKSkpLnRvRXF1YWwoSlNPTi5zdHJpbmdpZnkoeworICAgICAg ICBub2RlczogeworICAgICAgICAgICdpZDEnOiB7J25hbWUnOiAndGFibGUxJ30sCisgICAgICAg ICAgJ2lkMic6IHsnbmFtZSc6ICd0YWJsZTInfSwKKyAgICAgICAgfSwKKyAgICAgICAgbGlua3M6 IHsKKyAgICAgICAgICAnbGlkMSc6IHsnbmFtZSc6ICdsaW5rMSd9LAorICAgICAgICAgICdsaWQy JzogeyduYW1lJzogJ2xpbmsyJ30sCisgICAgICAgIH0sCisgICAgICB9KSk7CisgICAgfSk7CisK KyAgICBpdCgnZGVzZXJpYWxpemVEYXRhJywgKGRvbmUpPT57CisgICAgICBsZXQgbm9kZXNEaWN0 ID0ge307CisgICAgICBURVNUX1RBQkxFU19EQVRBLmZvckVhY2goKHRhYmxlKT0+eworICAgICAg ICBub2Rlc0RpY3RbYGlkLSR7dGFibGUubmFtZX1gXSA9IHsKKyAgICAgICAgICBnZXRDb2x1bW5z OiBmdW5jdGlvbigpIHsKKyAgICAgICAgICAgIHJldHVybiB0YWJsZS5jb2x1bW5zOworICAgICAg ICAgIH0sCisgICAgICAgICAgZ2V0UG9ydE5hbWU6IGZ1bmN0aW9uKGF0dG51bSkgeworICAgICAg ICAgICAgcmV0dXJuIGBwb3J0LSR7YXR0bnVtfWA7CisgICAgICAgICAgfSwKKyAgICAgICAgICBn ZXRQb3J0OiBmdW5jdGlvbihuYW1lKSB7CisgICAgICAgICAgICByZXR1cm4geyduYW1lJzogbmFt ZX07CisgICAgICAgICAgfSwKKyAgICAgICAgICBhZGRQb3J0OiBmdW5jdGlvbigpIHsKKworICAg ICAgICAgIH0sCisgICAgICAgIH07CisgICAgICB9KTsKKyAgICAgIHNweU9uKGVyZEVuZ2luZS5n ZXRNb2RlbCgpLCAnZ2V0Tm9kZXNEaWN0JykuYW5kLnJldHVyblZhbHVlKG5vZGVzRGljdCk7CisK KyAgICAgIHNweU9uKGVyZENvcmVPYmosICdnZXROZXdMaW5rJykuYW5kLmNhbGxGYWtlKGZ1bmN0 aW9uKCkgeworICAgICAgICByZXR1cm4geworICAgICAgICAgIHNldFNvdXJjZVBvcnQ6IGZ1bmN0 aW9uKCkge30sCisgICAgICAgICAgc2V0VGFyZ2V0UG9ydDogZnVuY3Rpb24oKSB7fSwKKyAgICAg ICAgfTsKKyAgICAgIH0pOworICAgICAgc3B5T24oZXJkQ29yZU9iaiwgJ2dldE5ld1BvcnQnKS5h bmQucmV0dXJuVmFsdWUoe2lkOiAnaWQnfSk7CisgICAgICBzcHlPbihlcmRDb3JlT2JqLCAnYWRk Tm9kZScpLmFuZC5jYWxsRmFrZShmdW5jdGlvbihkYXRhKSB7CisgICAgICAgIHJldHVybiB7Cisg ICAgICAgICAgZ2V0SUQ6IGZ1bmN0aW9uKCkgeworICAgICAgICAgICAgcmV0dXJuIGBpZC0ke2Rh dGEubmFtZX1gOworICAgICAgICAgIH0sCisgICAgICAgIH07CisgICAgICB9KTsKKyAgICAgIHNw eU9uKGVyZENvcmVPYmosICdhZGRMaW5rJyk7CisgICAgICBzcHlPbihlcmRDb3JlT2JqLCAnZGFn cmVEaXN0cmlidXRlTm9kZXMnKTsKKworICAgICAgZXJkQ29yZU9iai5kZXNlcmlhbGl6ZURhdGEo VEVTVF9UQUJMRVNfREFUQSk7CisgICAgICBleHBlY3QoZXJkQ29yZU9iai5hZGROb2RlKS50b0hh dmVCZWVuQ2FsbGVkVGltZXMoVEVTVF9UQUJMRVNfREFUQS5sZW5ndGgpOworICAgICAgZXhwZWN0 KGVyZENvcmVPYmouYWRkTGluaykudG9IYXZlQmVlbkNhbGxlZFRpbWVzKDEpOworCisgICAgICBz ZXRUaW1lb3V0KCgpPT57CisgICAgICAgIGV4cGVjdChlcmRDb3JlT2JqLmRhZ3JlRGlzdHJpYnV0 ZU5vZGVzKS50b0hhdmVCZWVuQ2FsbGVkKCk7CisgICAgICAgIGRvbmUoKTsKKyAgICAgIH0sIDEw KTsKKyAgICB9KTsKKworICAgIGl0KCdjbGVhclNlbGVjdGlvbicsICgpPT57CisgICAgICBlcmRD b3JlT2JqLmNsZWFyU2VsZWN0aW9uKCk7CisgICAgICBleHBlY3QoZXJkRW5naW5lLmdldE1vZGVs KCkuY2xlYXJTZWxlY3Rpb24pLnRvSGF2ZUJlZW5DYWxsZWQoKTsKKyAgICB9KTsKKworICAgIGl0 KCdyZXBhaW50JywgKCk9PnsKKyAgICAgIGVyZENvcmVPYmoucmVwYWludCgpOworICAgICAgZXhw ZWN0KGVyZEVuZ2luZS5yZXBhaW50Q2FudmFzKS50b0hhdmVCZWVuQ2FsbGVkKCk7CisgICAgfSk7 CisKKyAgICBpdCgnZ2V0Tm9kZXNEYXRhJywgKCk9PnsKKyAgICAgIHNweU9uKGVyZEVuZ2luZS5n ZXRNb2RlbCgpLCAnZ2V0Tm9kZXMnKS5hbmQucmV0dXJuVmFsdWUoWworICAgICAgICB7Z2V0RGF0 YTogZnVuY3Rpb24gKCkge3JldHVybiB7bmFtZTonbm9kZTEnfTt9fSwKKyAgICAgICAge2dldERh dGE6IGZ1bmN0aW9uICgpIHtyZXR1cm4ge25hbWU6J25vZGUyJ307fX0sCisgICAgICBdKTsKKyAg ICAgIGV4cGVjdChKU09OLnN0cmluZ2lmeShlcmRDb3JlT2JqLmdldE5vZGVzRGF0YSgpKSkudG9F cXVhbChKU09OLnN0cmluZ2lmeShbCisgICAgICAgIHtuYW1lOidub2RlMSd9LCB7bmFtZTonbm9k ZTInfSwKKyAgICAgIF0pKTsKKyAgICB9KTsKKworICAgIGl0KCdkYWdyZURpc3RyaWJ1dGVOb2Rl cycsICgpPT57CisgICAgICBzcHlPbihlcmRDb3JlT2JqLmRhZ3JlX2VuZ2luZSwgJ3JlZGlzdHJp YnV0ZScpOworICAgICAgZXJkQ29yZU9iai5kYWdyZURpc3RyaWJ1dGVOb2RlcygpOworICAgICAg ZXhwZWN0KGVyZEVuZ2luZS5nZXRMaW5rRmFjdG9yaWVzKCkuZ2V0RmFjdG9yeSgpLmNhbGN1bGF0 ZVJvdXRpbmdNYXRyaXgpLnRvSGF2ZUJlZW5DYWxsZWQoKTsKKyAgICAgIGV4cGVjdChlcmRDb3Jl T2JqLmRhZ3JlX2VuZ2luZS5yZWRpc3RyaWJ1dGUpLnRvSGF2ZUJlZW5DYWxsZWRXaXRoKGVyZEVu Z2luZS5nZXRNb2RlbCgpKTsKKyAgICB9KTsKKworICAgIGl0KCd6b29tSW4nLCAoKT0+eworICAg ICAgc3B5T24oZXJkRW5naW5lLmdldE1vZGVsKCksICdnZXRab29tTGV2ZWwnKS5hbmQucmV0dXJu VmFsdWUoMTAwKTsKKyAgICAgIHNweU9uKGVyZENvcmVPYmosICdyZXBhaW50Jyk7CisgICAgICBl cmRDb3JlT2JqLnpvb21JbigpOworICAgICAgZXhwZWN0KGVyZEVuZ2luZS5nZXRNb2RlbCgpLnNl dFpvb21MZXZlbCkudG9IYXZlQmVlbkNhbGxlZFdpdGgoMTI1KTsKKyAgICAgIGV4cGVjdChlcmRD b3JlT2JqLnJlcGFpbnQpLnRvSGF2ZUJlZW5DYWxsZWQoKTsKKyAgICB9KTsKKworICAgIGl0KCd6 b29tT3V0JywgKCk9PnsKKyAgICAgIHNweU9uKGVyZEVuZ2luZS5nZXRNb2RlbCgpLCAnZ2V0Wm9v bUxldmVsJykuYW5kLnJldHVyblZhbHVlKDEwMCk7CisgICAgICBzcHlPbihlcmRDb3JlT2JqLCAn cmVwYWludCcpOworICAgICAgZXJkQ29yZU9iai56b29tT3V0KCk7CisgICAgICBleHBlY3QoZXJk RW5naW5lLmdldE1vZGVsKCkuc2V0Wm9vbUxldmVsKS50b0hhdmVCZWVuQ2FsbGVkV2l0aCg3NSk7 CisgICAgICBleHBlY3QoZXJkQ29yZU9iai5yZXBhaW50KS50b0hhdmVCZWVuQ2FsbGVkKCk7Cisg ICAgfSk7CisKKyAgICBpdCgnem9vbVRvRml0JywgKCk9PnsKKyAgICAgIGVyZENvcmVPYmouem9v bVRvRml0KCk7CisgICAgICBleHBlY3QoZXJkRW5naW5lLnpvb21Ub0ZpdCkudG9IYXZlQmVlbkNh bGxlZCgpOworICAgIH0pOworCisgICAgaXQoJ2ZpcmVBY3Rpb24nLCAoKT0+eworICAgICAgZXJk Q29yZU9iai5maXJlQWN0aW9uKHtrZXk6ICd4eXonfSk7CisgICAgICBleHBlY3QoZXJkRW5naW5l LmdldEFjdGlvbkV2ZW50QnVzKCkuZmlyZUFjdGlvbikudG9IYXZlQmVlbkNhbGxlZCgpOworICAg IH0pOworCisgICAgaXQoJ2ZpcmVFdmVudCcsICgpPT57CisgICAgICBlcmRDb3JlT2JqLmZpcmVF dmVudCh7a2V5OiAneHl6J30sICdzb21lZXZlbnQnLCBmYWxzZSk7CisgICAgICBleHBlY3QoZXJk RW5naW5lLmZpcmVFdmVudCkudG9IYXZlQmVlbkNhbGxlZFdpdGgoe2tleTogJ3h5eid9LCAnc29t ZWV2ZW50Jyk7CisKKyAgICAgIGVyZENvcmVPYmouZmlyZUV2ZW50KHtrZXk6ICd4eXonfSwgJ3Nv bWVldmVudCcsIHRydWUpOworICAgICAgZXhwZWN0KGVyZEVuZ2luZS5nZXRNb2RlbCgpLmZpcmVF dmVudCkudG9IYXZlQmVlbkNhbGxlZFdpdGgoe2tleTogJ3h5eid9LCAnc29tZWV2ZW50Jyk7Cisg ICAgfSk7CisKKyAgICBpdCgncmVnaXN0ZXJLZXlBY3Rpb24nLCAoKT0+eworICAgICAgZXJkQ29y ZU9iai5yZWdpc3RlcktleUFjdGlvbih7a2V5OiAneHl6J30pOworICAgICAgZXhwZWN0KGVyZEVu Z2luZS5nZXRBY3Rpb25FdmVudEJ1cygpLnJlZ2lzdGVyQWN0aW9uKS50b0hhdmVCZWVuQ2FsbGVk V2l0aCh7a2V5OiAneHl6J30pOworICAgIH0pOworCisgICAgaXQoJ2RlcmVnaXN0ZXJLZXlBY3Rp b24nLCAoKT0+eworICAgICAgbGV0IGFjdGlvbiA9IHtrZXk6ICd4eXonfTsKKyAgICAgIGVyZENv cmVPYmouZGVyZWdpc3RlcktleUFjdGlvbihhY3Rpb24pOworICAgICAgZXhwZWN0KGVyZEVuZ2lu ZS5nZXRBY3Rpb25FdmVudEJ1cygpLmRlcmVnaXN0ZXJBY3Rpb24pLnRvSGF2ZUJlZW5DYWxsZWRX aXRoKHtrZXk6ICd4eXonfSk7CisgICAgfSk7CisgIH0pOworfSk7CmRpZmYgLS1naXQgYS93ZWIv cmVncmVzc2lvbi9qYXZhc2NyaXB0L2VyZC9lcmRfbW9kZWxfc3BlYy5qcyBiL3dlYi9yZWdyZXNz aW9uL2phdmFzY3JpcHQvZXJkL2VyZF9tb2RlbF9zcGVjLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0 CmluZGV4IDAwMDAwMDAwMC4uY2ZkY2MwOTgzCi0tLSAvZGV2L251bGwKKysrIGIvd2ViL3JlZ3Jl c3Npb24vamF2YXNjcmlwdC9lcmQvZXJkX21vZGVsX3NwZWMuanMKQEAgLTAsMCArMSwzNCBAQAor Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v Ly8vLworLy8KKy8vIHBnQWRtaW4gNCAtIFBvc3RncmVTUUwgVG9vbHMKKy8vCisvLyBDb3B5cmln aHQgKEMpIDIwMTMgLSAyMDIwLCBUaGUgcGdBZG1pbiBEZXZlbG9wbWVudCBUZWFtCisvLyBUaGlz IHNvZnR3YXJlIGlzIHJlbGVhc2VkIHVuZGVyIHRoZSBQb3N0Z3JlU1FMIExpY2VuY2UKKy8vCisv Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v Ly8vLworaW1wb3J0IEVSRE1vZGVsIGZyb20gJ3BnYWRtaW4udG9vbHMuZXJkL2VyZF90b29sL0VS RE1vZGVsJzsKKworZGVzY3JpYmUoJ0VSRE1vZGVsJywgKCk9PnsKKyAgaXQoJ2dldE5vZGVzRGlj dCcsICgpPT57CisgICAgbGV0IG1vZGVsID0gbmV3IEVSRE1vZGVsKCk7CisKKyAgICBzcHlPbiht b2RlbCwgJ2dldE5vZGVzJykuYW5kLnJldHVyblZhbHVlKFsKKyAgICAgIHsKKyAgICAgICAgbmFt ZTogJ3Rlc3QxJywKKyAgICAgICAgZ2V0SUQ6IGZ1bmN0aW9uKCkgeworICAgICAgICAgIHJldHVy biAnaWQxJzsKKyAgICAgICAgfSwKKyAgICAgIH0sCisgICAgICB7CisgICAgICAgIG5hbWU6ICd0 ZXN0MicsCisgICAgICAgIGdldElEOiBmdW5jdGlvbigpIHsKKyAgICAgICAgICByZXR1cm4gJ2lk Mic7CisgICAgICAgIH0sCisgICAgICB9LAorICAgIF0pOworICAgIGV4cGVjdChKU09OLnN0cmlu Z2lmeShtb2RlbC5nZXROb2Rlc0RpY3QoKSkpLnRvQmUoSlNPTi5zdHJpbmdpZnkoeworICAgICAg J2lkMSc6IHtuYW1lOiAndGVzdDEnfSwKKyAgICAgICdpZDInOiB7bmFtZTogJ3Rlc3QyJ30sCisg ICAgfSkpOworICB9KTsKK30pOwpkaWZmIC0tZ2l0IGEvd2ViL3JlZ3Jlc3Npb24vamF2YXNjcmlw dC9lcmQva2V5Ym9hcmRfc2hvcnRjdXRfYWN0aW9uX3NwZWMuanMgYi93ZWIvcmVncmVzc2lvbi9q YXZhc2NyaXB0L2VyZC9rZXlib2FyZF9zaG9ydGN1dF9hY3Rpb25fc3BlYy5qcwpuZXcgZmlsZSBt b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAuLjMxMzQ3OTVlYQotLS0gL2Rldi9udWxsCisrKyBi L3dlYi9yZWdyZXNzaW9uL2phdmFzY3JpcHQvZXJkL2tleWJvYXJkX3Nob3J0Y3V0X2FjdGlvbl9z cGVjLmpzCkBAIC0wLDAgKzEsNjEgQEAKKy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KKy8vCisvLyBwZ0FkbWluIDQgLSBQb3N0Z3Jl U1FMIFRvb2xzCisvLworLy8gQ29weXJpZ2h0IChDKSAyMDEzIC0gMjAyMCwgVGhlIHBnQWRtaW4g RGV2ZWxvcG1lbnQgVGVhbQorLy8gVGhpcyBzb2Z0d2FyZSBpcyByZWxlYXNlZCB1bmRlciB0aGUg UG9zdGdyZVNRTCBMaWNlbmNlCisvLworLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KK2ltcG9ydCB7S2V5Ym9hcmRTaG9ydGN1dEFj dGlvbn0gZnJvbSAncGdhZG1pbi50b29scy5lcmQvZXJkX3Rvb2wvdWlfY29tcG9uZW50cy9Cb2R5 V2lkZ2V0JzsKKworZGVzY3JpYmUoJ0tleWJvYXJkU2hvcnRjdXRBY3Rpb24nLCAoKT0+eworICBs ZXQga2V5QWN0aW9uID0gbnVsbDsKKyAgbGV0IGtleTEgPSB7CisgICAgYWx0OiB0cnVlLAorICAg IGNvbnRyb2w6IHRydWUsCisgICAgc2hpZnQ6IGZhbHNlLAorICAgIGtleTogeworICAgICAga2V5 X2NvZGU6IDY1LAorICAgIH0sCisgIH07CisgIGxldCBrZXkyID0geworICAgIGFsdDogZmFsc2Us CisgICAgY29udHJvbDogdHJ1ZSwKKyAgICBzaGlmdDogZmFsc2UsCisgICAga2V5OiB7CisgICAg ICBrZXlfY29kZTogNjYsCisgICAgfSwKKyAgfTsKKyAgbGV0IGhhbmRsZXIxID0gamFzbWluZS5j cmVhdGVTcHkoJ2hhbmRsZXIxJyk7CisgIGxldCBoYW5kbGVyMiA9IGphc21pbmUuY3JlYXRlU3B5 KCdoYW5kbGVyMicpOworCisgIGJlZm9yZUFsbCgoKT0+eworICAgIHNweU9uKEtleWJvYXJkU2hv cnRjdXRBY3Rpb24ucHJvdG90eXBlLCAnc2hvcnRjdXRLZXknKS5hbmQuY2FsbFRocm91Z2goKTsK KyAgICBrZXlBY3Rpb24gPSBuZXcgS2V5Ym9hcmRTaG9ydGN1dEFjdGlvbihbCisgICAgICBba2V5 MSwgaGFuZGxlcjFdLAorICAgICAgW2tleTIsIGhhbmRsZXIyXSwKKyAgICBdKTsKKyAgfSk7CisK KyAgaXQoJ2luaXQnLCAoKT0+eworICAgIGV4cGVjdChPYmplY3Qua2V5cyhrZXlBY3Rpb24uc2hv cnRjdXRzKS5sZW5ndGgpLnRvQmUoMik7CisgIH0pOworCisgIGl0KCdzaG9ydGN1dEtleScsICgp PT57CisgICAgZXhwZWN0KGtleUFjdGlvbi5zaG9ydGN1dEtleSh0cnVlLCB0cnVlLCB0cnVlLCB0 cnVlLCA2NSkpLnRvQmUoJ3RydWU6dHJ1ZTp0cnVlOnRydWU6NjUnKTsKKyAgICBleHBlY3Qoa2V5 QWN0aW9uLnNob3J0Y3V0S2V5KHRydWUsIGZhbHNlLCB0cnVlLCB0cnVlLCA2NSkpLnRvQmUoJ3Ry dWU6ZmFsc2U6dHJ1ZTp0cnVlOjY1Jyk7CisgICAgZXhwZWN0KGtleUFjdGlvbi5zaG9ydGN1dEtl eSh0cnVlLCB0cnVlLCBmYWxzZSwgdHJ1ZSwgNjUpKS50b0JlKCd0cnVlOnRydWU6ZmFsc2U6dHJ1 ZTo2NScpOworICAgIGV4cGVjdChrZXlBY3Rpb24uc2hvcnRjdXRLZXkodHJ1ZSwgdHJ1ZSwgdHJ1 ZSwgZmFsc2UsIDY1KSkudG9CZSgndHJ1ZTp0cnVlOnRydWU6ZmFsc2U6NjUnKTsKKyAgICBleHBl Y3Qoa2V5QWN0aW9uLnNob3J0Y3V0S2V5KGZhbHNlLCB0cnVlLCB0cnVlLCB0cnVlLCA2NSkpLnRv QmUoJ2ZhbHNlOnRydWU6dHJ1ZTp0cnVlOjY1Jyk7CisgIH0pOworCisgIGl0KCdjYWxsSGFuZGxl cicsICgpPT57CisgICAgbGV0IGtleUV2ZW50ID0ge2FsdEtleToga2V5MS5hbHQsIGN0cmxLZXk6 IGtleTEuY29udHJvbCwgc2hpZnRLZXk6IGtleTEuc2hpZnQsIG1ldGFLZXk6IGZhbHNlLCBrZXlD b2RlOmtleTEua2V5LmtleV9jb2RlfTsKKyAgICBrZXlBY3Rpb24uY2FsbEhhbmRsZXIoa2V5RXZl bnQpOworICAgIGV4cGVjdChoYW5kbGVyMSkudG9IYXZlQmVlbkNhbGxlZCgpOworCisgICAga2V5 RXZlbnQgPSB7YWx0S2V5OiBrZXkyLmFsdCwgY3RybEtleToga2V5Mi5jb250cm9sLCBzaGlmdEtl eToga2V5Mi5zaGlmdCwgbWV0YUtleTogZmFsc2UsIGtleUNvZGU6a2V5Mi5rZXkua2V5X2NvZGV9 OworICAgIGtleUFjdGlvbi5jYWxsSGFuZGxlcihrZXlFdmVudCk7CisgICAgZXhwZWN0KGhhbmRs ZXIyKS50b0hhdmVCZWVuQ2FsbGVkKCk7CisgIH0pOworfSk7CmRpZmYgLS1naXQgYS93ZWIvcmVn cmVzc2lvbi9qYXZhc2NyaXB0L2VyZC9vbmV0b21hbnlfbGlua19zcGVjLmpzIGIvd2ViL3JlZ3Jl c3Npb24vamF2YXNjcmlwdC9lcmQvb25ldG9tYW55X2xpbmtfc3BlYy5qcwpuZXcgZmlsZSBtb2Rl IDEwMDY0NAppbmRleCAwMDAwMDAwMDAuLmE3NTkwZGI2NAotLS0gL2Rldi9udWxsCisrKyBiL3dl Yi9yZWdyZXNzaW9uL2phdmFzY3JpcHQvZXJkL29uZXRvbWFueV9saW5rX3NwZWMuanMKQEAgLTAs MCArMSwxMzMgQEAKK2ltcG9ydCBqYXNtaW5lRW56eW1lIGZyb20gJ2phc21pbmUtZW56eW1lJzsK K2ltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7CitpbXBvcnQge21vdW50fSBmcm9tICdlbnp5bWUn OworaW1wb3J0ICcuLi9oZWxwZXIvZW56eW1lLmhlbHBlcic7CitpbXBvcnQgeworICBSaWdodEFu Z2xlTGlua01vZGVsLAorfSBmcm9tICdAcHJvamVjdHN0b3JtL3JlYWN0LWRpYWdyYW1zJzsKKwor aW1wb3J0IE9uZVRvTWFueVBvcnRNb2RlbCBmcm9tICdwZ2FkbWluLnRvb2xzLmVyZC9lcmRfdG9v bC9wb3J0cy9PbmVUb01hbnlQb3J0JzsKK2ltcG9ydCB7T25lVG9NYW55TGlua01vZGVsLCBPbmVU b01hbnlMaW5rV2lkZ2V0LCBPbmVUb01hbnlMaW5rRmFjdG9yeX0gZnJvbSAncGdhZG1pbi50b29s cy5lcmQvZXJkX3Rvb2wvbGlua3MvT25lVG9NYW55TGluayc7CisKKworZGVzY3JpYmUoJ0VSRCBP bmVUb01hbnlMaW5rTW9kZWwnLCAoKT0+eworICBsZXQgbW9kZWxPYmogPSBudWxsOworICBiZWZv cmVBbGwoKCk9PnsKKyAgICBzcHlPbihSaWdodEFuZ2xlTGlua01vZGVsLnByb3RvdHlwZSwgJ3Nl cmlhbGl6ZScpLmFuZC5yZXR1cm5WYWx1ZSh7J2tleSc6ICd2YWx1ZSd9KTsKKyAgfSk7CisgIGJl Zm9yZUVhY2goKCk9PnsKKyAgICBtb2RlbE9iaiA9IG5ldyBPbmVUb01hbnlMaW5rTW9kZWwoewor ICAgICAgZGF0YTogeworICAgICAgICBsb2NhbF90YWJsZV91aWQ6ICdpZDEnLAorICAgICAgICBs b2NhbF9jb2x1bW5fYXR0bnVtOiAwLAorICAgICAgICByZWZlcmVuY2VkX3RhYmxlX3VpZDogJ2lk MicsCisgICAgICAgIHJlZmVyZW5jZWRfY29sdW1uX2F0dG51bTogMSwKKyAgICAgIH0sCisgICAg fSk7CisgIH0pOworCisgIGl0KCdpbml0JywgKCk9PnsKKyAgICBleHBlY3QobW9kZWxPYmouZ2V0 RGF0YSgpKS50b0VxdWFsKHsKKyAgICAgIGxvY2FsX3RhYmxlX3VpZDogJ2lkMScsCisgICAgICBs b2NhbF9jb2x1bW5fYXR0bnVtOiAwLAorICAgICAgcmVmZXJlbmNlZF90YWJsZV91aWQ6ICdpZDIn LAorICAgICAgcmVmZXJlbmNlZF9jb2x1bW5fYXR0bnVtOiAxLAorICAgIH0pOworICB9KTsKKwor ICBpdCgnc2V0RGF0YScsICgpPT57CisgICAgbW9kZWxPYmouc2V0RGF0YSh7CisgICAgICBsb2Nh bF9jb2x1bW5fYXR0bnVtOiAyLAorICAgICAgcmVmZXJlbmNlZF9jb2x1bW5fYXR0bnVtOiA0LAor ICAgIH0pOworICAgIGV4cGVjdChtb2RlbE9iai5nZXREYXRhKCkpLnRvRXF1YWwoeworICAgICAg bG9jYWxfY29sdW1uX2F0dG51bTogMiwKKyAgICAgIHJlZmVyZW5jZWRfY29sdW1uX2F0dG51bTog NCwKKyAgICB9KTsKKyAgfSk7CisKKyAgaXQoJ3NlcmlhbGl6ZURhdGEnLCAoKT0+eworICAgIGxl dCBub2Rlc0RpY3QgPSB7CisgICAgICAnaWQxJzogeworICAgICAgICBnZXREYXRhOiBmdW5jdGlv bigpeyByZXR1cm4geworICAgICAgICAgICduYW1lJzogJ3RhYmxlMScsCisgICAgICAgICAgJ3Nj aGVtYSc6ICdlcmQxJywKKyAgICAgICAgICAnY29sdW1ucyc6IFsKKyAgICAgICAgICAgIHsnbmFt ZSc6ICdjb2wxMScsIGF0dG51bTogMH0sCisgICAgICAgICAgICB7J25hbWUnOiAnY29sMTInLCBh dHRudW06IDF9LAorICAgICAgICAgIF0sCisgICAgICAgIH07fSwKKyAgICAgIH0sCisgICAgICAn aWQyJzogeworICAgICAgICBnZXREYXRhOiBmdW5jdGlvbigpeyByZXR1cm4geworICAgICAgICAg ICduYW1lJzogJ3RhYmxlMicsCisgICAgICAgICAgJ3NjaGVtYSc6ICdlcmQyJywKKyAgICAgICAg ICAnY29sdW1ucyc6IFsKKyAgICAgICAgICAgIHsnbmFtZSc6ICdjb2wyMScsIGF0dG51bTogMH0s CisgICAgICAgICAgICB7J25hbWUnOiAnY29sMjInLCBhdHRudW06IDF9LAorICAgICAgICAgIF0s CisgICAgICAgIH07fSwKKyAgICAgIH0sCisgICAgfTsKKworICAgIGV4cGVjdChtb2RlbE9iai5z ZXJpYWxpemVEYXRhKG5vZGVzRGljdCkpLnRvRXF1YWwoeworICAgICAgJ3NjaGVtYSc6ICdlcmQx JywKKyAgICAgICd0YWJsZSc6ICd0YWJsZTEnLAorICAgICAgJ3JlbW90ZV9zY2hlbWEnOiAnZXJk MicsCisgICAgICAncmVtb3RlX3RhYmxlJzogJ3RhYmxlMicsCisgICAgICAnY29sdW1ucyc6IFt7 CisgICAgICAgICdsb2NhbF9jb2x1bW4nOiAnY29sMTEnLAorICAgICAgICAncmVmZXJlbmNlZCc6 ICdjb2wyMicsCisgICAgICB9XSwKKyAgICB9KTsKKyAgfSk7CisKKyAgaXQoJ3NlcmlhbGl6ZScs ICgpPT57CisgICAgbGV0IHJldFZhbCA9IG1vZGVsT2JqLnNlcmlhbGl6ZSgpOworICAgIGV4cGVj dChSaWdodEFuZ2xlTGlua01vZGVsLnByb3RvdHlwZS5zZXJpYWxpemUpLnRvSGF2ZUJlZW5DYWxs ZWQoKTsKKyAgICBleHBlY3QocmV0VmFsKS50b0VxdWFsKHsKKyAgICAgIGtleTogJ3ZhbHVlJywK KyAgICAgIGRhdGE6IHsKKyAgICAgICAgbG9jYWxfdGFibGVfdWlkOiAnaWQxJywKKyAgICAgICAg bG9jYWxfY29sdW1uX2F0dG51bTogMCwKKyAgICAgICAgcmVmZXJlbmNlZF90YWJsZV91aWQ6ICdp ZDInLAorICAgICAgICByZWZlcmVuY2VkX2NvbHVtbl9hdHRudW06IDEsCisgICAgICB9LAorICAg IH0pOworICB9KTsKK30pOworCitkZXNjcmliZSgnRVJEIE9uZVRvTWFueUxpbmtXaWRnZXQnLCAo KT0+eworICBsZXQgbGlua0ZhY3RvcnkgPSBuZXcgT25lVG9NYW55TGlua0ZhY3RvcnkoKTsKKyAg bGV0IGVuZ2luZSA9IHsKKyAgICBnZXRGYWN0b3J5Rm9yTGluazogKCk9PmxpbmtGYWN0b3J5LAor ICB9OworICBsZXQgbGluayA9IG51bGw7CisKKyAgYmVmb3JlRWFjaCgoKT0+eworICAgIGphc21p bmVFbnp5bWUoKTsKKworICAgIGxpbmsgPSBuZXcgT25lVG9NYW55TGlua01vZGVsKHsKKyAgICAg IGNvbG9yOiAnIzAwMCcsCisgICAgICBkYXRhOiB7CisgICAgICAgIGxvY2FsX3RhYmxlX3VpZDog J2lkMScsCisgICAgICAgIGxvY2FsX2NvbHVtbl9hdHRudW06IDAsCisgICAgICAgIHJlZmVyZW5j ZWRfdGFibGVfdWlkOiAnaWQyJywKKyAgICAgICAgcmVmZXJlbmNlZF9jb2x1bW5fYXR0bnVtOiAx LAorICAgICAgfSwKKyAgICB9KTsKKyAgICBsaW5rLnNldFNvdXJjZVBvcnQobmV3IE9uZVRvTWFu eVBvcnRNb2RlbCh7b3B0aW9uczoge319KSk7CisgICAgbGluay5zZXRUYXJnZXRQb3J0KG5ldyBP bmVUb01hbnlQb3J0TW9kZWwoe29wdGlvbnM6IHt9fSkpOworICB9KTsKKworICBpdCgncmVuZGVy JywgKCk9PnsKKyAgICBsZXQgbGlua1dpZGdldCA9IG1vdW50KAorICAgICAgPHN2Zz48T25lVG9N YW55TGlua1dpZGdldCBsaW5rPXtsaW5rfSBkaWFncmFtRW5naW5lPXtlbmdpbmV9IGZhY3Rvcnk9 e2xpbmtGYWN0b3J5fSAvPjwvc3ZnPgorICAgICk7CisKKyAgICBsZXQgcGF0aHMgPSBsaW5rV2lk Z2V0LmZpbmQoJ2cgZycpOworICAgIGV4cGVjdChwYXRocy5hdCgwKS5maW5kKCdwb2x5bGluZScp Lmxlbmd0aCkudG9CZSgxKTsKKyAgICBleHBlY3QocGF0aHMuYXQocGF0aHMubGVuZ3RoLTEpLmZp bmQoJ3BvbHlsaW5lJykubGVuZ3RoKS50b0JlKDEpOworICAgIGV4cGVjdChwYXRocy5hdChwYXRo cy5sZW5ndGgtMSkuZmluZCgnY2lyY2xlJykubGVuZ3RoKS50b0JlKDEpOworICB9KTsKK30pOwpk aWZmIC0tZ2l0IGEvd2ViL3JlZ3Jlc3Npb24vamF2YXNjcmlwdC9lcmQvb25ldG9tYW55X3BvcnRf c3BlYy5qcyBiL3dlYi9yZWdyZXNzaW9uL2phdmFzY3JpcHQvZXJkL29uZXRvbWFueV9wb3J0X3Nw ZWMuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwLi4wYWQ0ODMxZWYKLS0t IC9kZXYvbnVsbAorKysgYi93ZWIvcmVncmVzc2lvbi9qYXZhc2NyaXB0L2VyZC9vbmV0b21hbnlf cG9ydF9zcGVjLmpzCkBAIC0wLDAgKzEsMjEgQEAKK2ltcG9ydCB7IFBvcnRNb2RlbCB9IGZyb20g J0Bwcm9qZWN0c3Rvcm0vcmVhY3QtZGlhZ3JhbXMtY29yZSc7CitpbXBvcnQgT25lVG9NYW55UG9y dE1vZGVsIGZyb20gJ3BnYWRtaW4udG9vbHMuZXJkL2VyZF90b29sL3BvcnRzL09uZVRvTWFueVBv cnQnOworaW1wb3J0IHtPbmVUb01hbnlMaW5rTW9kZWx9IGZyb20gJ3BnYWRtaW4udG9vbHMuZXJk L2VyZF90b29sL2xpbmtzL09uZVRvTWFueUxpbmsnOworCitkZXNjcmliZSgnRVJEIE9uZVRvTWFu eVBvcnRNb2RlbCcsICgpPT57CisgIGl0KCdyZW1vdmVBbGxMaW5rcycsICgpPT57CisgICAgbGV0 IGxpbmsxID0gamFzbWluZS5jcmVhdGVTcHlPYmooJ2xpbmsxJywgWydyZW1vdmUnXSk7CisgICAg bGV0IGxpbmsyID0gamFzbWluZS5jcmVhdGVTcHlPYmooJ2xpbmsyJywgWydyZW1vdmUnXSk7Cisg ICAgc3B5T24oUG9ydE1vZGVsLnByb3RvdHlwZSwgJ2dldExpbmtzJykuYW5kLnJldHVyblZhbHVl KFtsaW5rMSwgbGluazJdKTsKKworICAgIGxldCBwb3J0T2JqID0gbmV3IE9uZVRvTWFueVBvcnRN b2RlbCh7b3B0aW9uczoge319KTsKKyAgICBwb3J0T2JqLnJlbW92ZUFsbExpbmtzKCk7CisgICAg ZXhwZWN0KGxpbmsxLnJlbW92ZSkudG9IYXZlQmVlbkNhbGxlZCgpOworICAgIGV4cGVjdChsaW5r Mi5yZW1vdmUpLnRvSGF2ZUJlZW5DYWxsZWQoKTsKKyAgfSk7CisKKyAgaXQoJ2NyZWF0ZUxpbmtN b2RlbCcsICgpPT57CisgICAgbGV0IHBvcnRPYmogPSBuZXcgT25lVG9NYW55UG9ydE1vZGVsKHtv cHRpb25zOiB7fX0pOworICAgIGV4cGVjdChwb3J0T2JqLmNyZWF0ZUxpbmtNb2RlbCgpKS50b0Jl SW5zdGFuY2VPZihPbmVUb01hbnlMaW5rTW9kZWwpOworICB9KTsKK30pOwpkaWZmIC0tZ2l0IGEv d2ViL3JlZ3Jlc3Npb24vamF2YXNjcmlwdC9lcmQvdGFibGVfbm9kZV9zcGVjLmpzIGIvd2ViL3Jl Z3Jlc3Npb24vamF2YXNjcmlwdC9lcmQvdGFibGVfbm9kZV9zcGVjLmpzCm5ldyBmaWxlIG1vZGUg MTAwNjQ0CmluZGV4IDAwMDAwMDAwMC4uZDhlZGNkYjQ0Ci0tLSAvZGV2L251bGwKKysrIGIvd2Vi L3JlZ3Jlc3Npb24vamF2YXNjcmlwdC9lcmQvdGFibGVfbm9kZV9zcGVjLmpzCkBAIC0wLDAgKzEs MzA1IEBACitpbXBvcnQgamFzbWluZUVuenltZSBmcm9tICdqYXNtaW5lLWVuenltZSc7CitpbXBv cnQgUmVhY3QgZnJvbSAncmVhY3QnOworaW1wb3J0IHttb3VudH0gZnJvbSAnZW56eW1lJzsKK2lt cG9ydCAnLi4vaGVscGVyL2VuenltZS5oZWxwZXInOworaW1wb3J0IHsgRGVmYXVsdE5vZGVNb2Rl bCB9IGZyb20gJ0Bwcm9qZWN0c3Rvcm0vcmVhY3QtZGlhZ3JhbXMnOworCitpbXBvcnQge1RhYmxl Tm9kZU1vZGVsLCBUYWJsZU5vZGVXaWRnZXR9IGZyb20gJ3BnYWRtaW4udG9vbHMuZXJkL2VyZF90 b29sL25vZGVzL1RhYmxlTm9kZSc7CitpbXBvcnQgeyBJY29uQnV0dG9uLCBEZXRhaWxzVG9nZ2xl QnV0dG9uIH0gZnJvbSAncGdhZG1pbi50b29scy5lcmQvZXJkX3Rvb2wvdWlfY29tcG9uZW50cy9U b29sQmFyJzsKKworCitkZXNjcmliZSgnRVJEIFRhYmxlTm9kZU1vZGVsJywgKCk9PnsKKyAgbGV0 IG1vZGVsT2JqID0gbnVsbDsKKyAgYmVmb3JlQWxsKCgpPT57CisgICAgc3B5T24oRGVmYXVsdE5v ZGVNb2RlbC5wcm90b3R5cGUsICdzZXJpYWxpemUnKS5hbmQucmV0dXJuVmFsdWUoeydrZXknOiAn dmFsdWUnfSk7CisgIH0pOworICBiZWZvcmVFYWNoKCgpPT57CisgICAgbW9kZWxPYmogPSBuZXcg VGFibGVOb2RlTW9kZWwoeworICAgICAgY29sb3I6ICcjMDAwJywKKyAgICAgIG90aGVySW5mbzog eworICAgICAgICBub3RlOiAnc29tZSBub3RlJywKKyAgICAgICAgZGF0YTogeworICAgICAgICAg IG5hbWU6ICd0YWJsZTEnLAorICAgICAgICAgIHNjaGVtYTogJ2VyZCcsCisgICAgICAgIH0sCisg ICAgICB9LAorICAgIH0pOworICB9KTsKKworICBpdCgnaW5pdCcsICgpPT57CisgICAgZXhwZWN0 KG1vZGVsT2JqLmdldERhdGEoKSkudG9FcXVhbCh7CisgICAgICBjb2x1bW5zOiBbXSwKKyAgICAg IG5hbWU6ICd0YWJsZTEnLAorICAgICAgc2NoZW1hOiAnZXJkJywKKyAgICB9KTsKKyAgICBleHBl Y3QobW9kZWxPYmouZ2V0Tm90ZSgpKS50b0JlKCdzb21lIG5vdGUnKTsKKyAgICBleHBlY3QobW9k ZWxPYmouZ2V0Q29sdW1ucygpKS50b0VxdWFsKFtdKTsKKyAgfSk7CisKKyAgaXQoJ2dldFBvcnRO YW1lJywgKCk9PnsKKyAgICBleHBlY3QobW9kZWxPYmouZ2V0UG9ydE5hbWUoMikpLnRvQmUoJ2Nv bGwtcG9ydC0yJyk7CisgIH0pOworCisgIGl0KCdzZXROb3RlJywgKCk9PnsKKyAgICBtb2RlbE9i ai5zZXROb3RlKCdzb21lIG5vdGUgdG8gdGVzdCcpOworICAgIGV4cGVjdChtb2RlbE9iai5nZXRO b3RlKCkpLnRvQmUoJ3NvbWUgbm90ZSB0byB0ZXN0Jyk7CisgIH0pOworCisgIGl0KCdhZGRDb2x1 bW4nLCAoKT0+eworICAgIG1vZGVsT2JqLmFkZENvbHVtbih7bmFtZTogJ2NvbDEnLCBub3RfbnVs bDpmYWxzZSwgYXR0bnVtOiAwfSk7CisgICAgZXhwZWN0KG1vZGVsT2JqLmdldENvbHVtbnMoKSku dG9FcXVhbChbe25hbWU6ICdjb2wxJywgbm90X251bGw6ZmFsc2UsIGF0dG51bTogMH1dKTsKKyAg fSk7CisKKyAgaXQoJ2dldENvbHVtbkF0JywgKCk9PnsKKyAgICBtb2RlbE9iai5hZGRDb2x1bW4o e25hbWU6ICdjb2wxJywgbm90X251bGw6ZmFsc2UsIGF0dG51bTogMH0pOworICAgIG1vZGVsT2Jq LmFkZENvbHVtbih7bmFtZTogJ2NvbDInLCBub3RfbnVsbDpmYWxzZSwgYXR0bnVtOiAxfSk7Cisg ICAgZXhwZWN0KG1vZGVsT2JqLmdldENvbHVtbkF0KDApKS50b0VxdWFsKHtuYW1lOiAnY29sMScs IG5vdF9udWxsOmZhbHNlLCBhdHRudW06IDB9KTsKKyAgICBleHBlY3QobW9kZWxPYmouZ2V0Q29s dW1uQXQoMSkpLnRvRXF1YWwoe25hbWU6ICdjb2wyJywgbm90X251bGw6ZmFsc2UsIGF0dG51bTog MX0pOworICAgIGV4cGVjdChtb2RlbE9iai5nZXRDb2x1bW5BdCgyKSkudG9CZVVuZGVmaW5lZCgp OworICB9KTsKKworICBpdCgnc2V0TmFtZScsICgpPT57CisgICAgbW9kZWxPYmouc2V0TmFtZSgn Y2hhbmdlZE5hbWUnKTsKKyAgICBleHBlY3QobW9kZWxPYmouZ2V0RGF0YSgpLm5hbWUpLnRvQmUo J2NoYW5nZWROYW1lJyk7CisgIH0pOworCisgIGl0KCdjbG9uZURhdGEnLCAoKT0+eworICAgIG1v ZGVsT2JqLmFkZENvbHVtbih7bmFtZTogJ2NvbDEnLCBub3RfbnVsbDpmYWxzZSwgYXR0bnVtOiAw fSk7CisgICAgZXhwZWN0KG1vZGVsT2JqLmNsb25lRGF0YSgnY2xvbmVkTm9kZScpKS50b0VxdWFs KHsKKyAgICAgIG5hbWU6ICdjbG9uZWROb2RlJywKKyAgICAgIHNjaGVtYTogJ2VyZCcsCisgICAg ICBjb2x1bW5zOiBbe25hbWU6ICdjb2wxJywgbm90X251bGw6ZmFsc2UsIGF0dG51bTogMH1dLAor ICAgIH0pOworICB9KTsKKworICBkZXNjcmliZSgnc2V0RGF0YScsICgpPT57CisgICAgbGV0IGV4 aXN0UG9ydCA9IGphc21pbmUuY3JlYXRlU3B5T2JqKCdwb3J0JywgWydyZW1vdmVBbGxMaW5rcydd KTsKKworICAgIGJlZm9yZUVhY2goKCk9PnsKKyAgICAgIG1vZGVsT2JqLl9kYXRhLmNvbHVtbnMg PSBbCisgICAgICAgIHtuYW1lOiAnY29sMScsIG5vdF9udWxsOmZhbHNlLCBhdHRudW06IDB9LAor ICAgICAgICB7bmFtZTogJ2NvbDInLCBub3RfbnVsbDpmYWxzZSwgYXR0bnVtOiAxfSwKKyAgICAg ICAge25hbWU6ICdjb2wzJywgbm90X251bGw6ZmFsc2UsIGF0dG51bTogMn0sCisgICAgICBdOwor CisgICAgICBzcHlPbihtb2RlbE9iaiwgJ2dldFBvcnQnKS5hbmQuY2FsbEZha2UoKHBvcnROYW1l KT0+eworICAgICAgICAvKiBJZiBuZXcgcG9ydCBhZGRlZCB0aGVyZSB3aWxsIG5vdCBiZSBhbnkg cG9ydCAqLworICAgICAgICBpZihwb3J0TmFtZSAhPT0gJ2NvbGwtcG9ydC0zJykgeworICAgICAg ICAgIHJldHVybiBleGlzdFBvcnQ7CisgICAgICAgIH0KKyAgICAgIH0pOworICAgICAgc3B5T24o bW9kZWxPYmosICdyZW1vdmVQb3J0Jyk7CisgICAgICBzcHlPbihtb2RlbE9iaiwgJ2dldFBvcnRO YW1lJyk7CisgICAgfSk7CisKKyAgICBpdCgnYWRkIGNvbHVtbnMnLCAoKT0+eworICAgICAgZXhp c3RQb3J0LnJlbW92ZUFsbExpbmtzLmNhbGxzLnJlc2V0KCk7CisgICAgICBtb2RlbE9iai5zZXRE YXRhKHsKKyAgICAgICAgbmFtZTogJ25vbmFtZScsCisgICAgICAgIHNjaGVtYTogJ2VyZCcsCisg ICAgICAgIGNvbHVtbnM6IFsKKyAgICAgICAgICB7bmFtZTogJ2NvbDEnLCBub3RfbnVsbDpmYWxz ZSwgYXR0bnVtOiAwfSwKKyAgICAgICAgICB7bmFtZTogJ2NvbDInLCBub3RfbnVsbDpmYWxzZSwg YXR0bnVtOiAxfSwKKyAgICAgICAgICB7bmFtZTogJ2NvbDMnLCBub3RfbnVsbDpmYWxzZSwgYXR0 bnVtOiAyfSwKKyAgICAgICAgICB7bmFtZTogJ2NvbDQnLCBub3RfbnVsbDpmYWxzZSwgYXR0bnVt OiAzfSwKKyAgICAgICAgXSwKKyAgICAgIH0pOworICAgICAgZXhwZWN0KG1vZGVsT2JqLmdldERh dGEoKSkudG9FcXVhbCh7CisgICAgICAgIG5hbWU6ICdub25hbWUnLAorICAgICAgICBzY2hlbWE6 ICdlcmQnLAorICAgICAgICBjb2x1bW5zOiBbCisgICAgICAgICAge25hbWU6ICdjb2wxJywgbm90 X251bGw6ZmFsc2UsIGF0dG51bTogMH0sCisgICAgICAgICAge25hbWU6ICdjb2wyJywgbm90X251 bGw6ZmFsc2UsIGF0dG51bTogMX0sCisgICAgICAgICAge25hbWU6ICdjb2wzJywgbm90X251bGw6 ZmFsc2UsIGF0dG51bTogMn0sCisgICAgICAgICAge25hbWU6ICdjb2w0Jywgbm90X251bGw6ZmFs c2UsIGF0dG51bTogM30sCisgICAgICAgIF0sCisgICAgICB9KTsKKyAgICAgIGV4cGVjdChleGlz dFBvcnQucmVtb3ZlQWxsTGlua3MpLm5vdC50b0hhdmVCZWVuQ2FsbGVkKCk7CisgICAgfSk7CisK KyAgICBpdCgndXBkYXRlIGNvbHVtbnMnLCAoKT0+eworICAgICAgZXhpc3RQb3J0LnJlbW92ZUFs bExpbmtzLmNhbGxzLnJlc2V0KCk7CisgICAgICBtb2RlbE9iai5zZXREYXRhKHsKKyAgICAgICAg bmFtZTogJ25vbmFtZScsCisgICAgICAgIHNjaGVtYTogJ2VyZCcsCisgICAgICAgIGNvbHVtbnM6 IFsKKyAgICAgICAgICB7bmFtZTogJ2NvbDEnLCBub3RfbnVsbDpmYWxzZSwgYXR0bnVtOiAwfSwK KyAgICAgICAgICB7bmFtZTogJ2NvbDJ1cGRhdGVkJywgbm90X251bGw6ZmFsc2UsIGF0dG51bTog MX0sCisgICAgICAgICAge25hbWU6ICdjb2wzJywgbm90X251bGw6dHJ1ZSwgYXR0bnVtOiAyfSwK KyAgICAgICAgXSwKKyAgICAgIH0pOworICAgICAgZXhwZWN0KG1vZGVsT2JqLmdldERhdGEoKSku dG9FcXVhbCh7CisgICAgICAgIG5hbWU6ICdub25hbWUnLAorICAgICAgICBzY2hlbWE6ICdlcmQn LAorICAgICAgICBjb2x1bW5zOiBbCisgICAgICAgICAge25hbWU6ICdjb2wxJywgbm90X251bGw6 ZmFsc2UsIGF0dG51bTogMH0sCisgICAgICAgICAge25hbWU6ICdjb2wydXBkYXRlZCcsIG5vdF9u dWxsOmZhbHNlLCBhdHRudW06IDF9LAorICAgICAgICAgIHtuYW1lOiAnY29sMycsIG5vdF9udWxs OnRydWUsIGF0dG51bTogMn0sCisgICAgICAgIF0sCisgICAgICB9KTsKKyAgICAgIGV4cGVjdChl eGlzdFBvcnQucmVtb3ZlQWxsTGlua3MpLm5vdC50b0hhdmVCZWVuQ2FsbGVkKCk7CisgICAgfSk7 CisKKyAgICBpdCgncmVtb3ZlIGNvbHVtbnMnLCAoKT0+eworICAgICAgZXhpc3RQb3J0LnJlbW92 ZUFsbExpbmtzLmNhbGxzLnJlc2V0KCk7CisgICAgICBtb2RlbE9iai5zZXREYXRhKHsKKyAgICAg ICAgbmFtZTogJ25vbmFtZScsCisgICAgICAgIHNjaGVtYTogJ2VyZCcsCisgICAgICAgIGNvbHVt bnM6IFsKKyAgICAgICAgICB7bmFtZTogJ2NvbDInLCBub3RfbnVsbDpmYWxzZSwgYXR0bnVtOiAx fSwKKyAgICAgICAgICB7bmFtZTogJ2NvbDMnLCBub3RfbnVsbDpmYWxzZSwgYXR0bnVtOiAyfSwK KyAgICAgICAgXSwKKyAgICAgIH0pOworICAgICAgZXhwZWN0KG1vZGVsT2JqLmdldERhdGEoKSku dG9FcXVhbCh7CisgICAgICAgIG5hbWU6ICdub25hbWUnLAorICAgICAgICBzY2hlbWE6ICdlcmQn LAorICAgICAgICBjb2x1bW5zOiBbCisgICAgICAgICAge25hbWU6ICdjb2wyJywgbm90X251bGw6 ZmFsc2UsIGF0dG51bTogMX0sCisgICAgICAgICAge25hbWU6ICdjb2wzJywgbm90X251bGw6ZmFs c2UsIGF0dG51bTogMn0sCisgICAgICAgIF0sCisgICAgICB9KTsKKworICAgICAgZXhwZWN0KG1v ZGVsT2JqLmdldFBvcnROYW1lKS50b0hhdmVCZWVuQ2FsbGVkV2l0aCgwKTsKKyAgICAgIGV4cGVj dChleGlzdFBvcnQucmVtb3ZlQWxsTGlua3MpLnRvSGF2ZUJlZW5DYWxsZWQoKTsKKyAgICAgIGV4 cGVjdChtb2RlbE9iai5yZW1vdmVQb3J0KS50b0hhdmVCZWVuQ2FsbGVkV2l0aChleGlzdFBvcnQp OworICAgIH0pOworICB9KTsKKworICBpdCgnZ2V0U2NoZW1hVGFibGVOYW1lJywgKCk9PnsKKyAg ICBleHBlY3QobW9kZWxPYmouZ2V0U2NoZW1hVGFibGVOYW1lKCkpLnRvRXF1YWwoWydlcmQnLCAn dGFibGUxJ10pOworICB9KTsKKworICBpdCgnc2VyaWFsaXplRGF0YScsICgpPT57CisgICAgbW9k ZWxPYmouYWRkQ29sdW1uKHtuYW1lOiAnY29sMScsIG5vdF9udWxsOmZhbHNlLCBhdHRudW06IDB9 KTsKKyAgICBleHBlY3QobW9kZWxPYmouc2VyaWFsaXplRGF0YSgpKS50b0VxdWFsKHsKKyAgICAg IG5hbWU6ICd0YWJsZTEnLAorICAgICAgc2NoZW1hOiAnZXJkJywKKyAgICAgIGNvbHVtbnM6IFt7 bmFtZTogJ2NvbDEnLCBub3RfbnVsbDpmYWxzZSwgYXR0bnVtOiAwfV0sCisgICAgfSk7CisgIH0p OworCisgIGl0KCdzZXJpYWxpemUnLCAoKT0+eworICAgIGxldCByZXRWYWwgPSBtb2RlbE9iai5z ZXJpYWxpemUoKTsKKyAgICBleHBlY3QoRGVmYXVsdE5vZGVNb2RlbC5wcm90b3R5cGUuc2VyaWFs aXplKS50b0hhdmVCZWVuQ2FsbGVkKCk7CisgICAgZXhwZWN0KHJldFZhbCkudG9FcXVhbCh7Cisg ICAgICBrZXk6ICd2YWx1ZScsCisgICAgICBvdGhlckluZm86ICB7CisgICAgICAgIGRhdGE6IHsK KyAgICAgICAgICBjb2x1bW5zOiBbXSwKKyAgICAgICAgICBuYW1lOiAndGFibGUxJywKKyAgICAg ICAgICBzY2hlbWE6ICdlcmQnLAorICAgICAgICB9LAorICAgICAgICBub3RlOiAnc29tZSBub3Rl JywKKyAgICAgIH0sCisgICAgfSk7CisgIH0pOworfSk7CisKK2Rlc2NyaWJlKCdFUkQgVGFibGVO b2RlV2lkZ2V0JywgKCk9PnsKKyAgbGV0IG5vZGUgPSBudWxsOworCisgIGJlZm9yZUVhY2goKCk9 PnsKKyAgICBqYXNtaW5lRW56eW1lKCk7CisKKyAgICBub2RlID0gbmV3IFRhYmxlTm9kZU1vZGVs KHsKKyAgICAgIGNvbG9yOiAnIzAwMCcsCisgICAgICBvdGhlckluZm86IHsKKyAgICAgICAgbm90 ZTogJ3NvbWUgbm90ZScsCisgICAgICAgIGRhdGE6IHsKKyAgICAgICAgICBuYW1lOiAndGFibGUx JywKKyAgICAgICAgICBzY2hlbWE6ICdlcmQnLAorICAgICAgICAgIGNvbHVtbnM6IFt7CisgICAg ICAgICAgICBhdHRudW06IDAsCisgICAgICAgICAgICBpc19wcmltYXJ5X2tleTogdHJ1ZSwKKyAg ICAgICAgICAgIG5hbWU6ICdpZCcsCisgICAgICAgICAgICBjbHR5cGU6ICdpbnRlZ2VyJywKKyAg ICAgICAgICAgIGF0dGxlbjogbnVsbCwKKyAgICAgICAgICAgIGF0dHByZWNpc2lvbjogbnVsbCwK KyAgICAgICAgICB9LCB7CisgICAgICAgICAgICBhdHRudW06IDEsCisgICAgICAgICAgICBpc19w cmltYXJ5X2tleTogZmFsc2UsCisgICAgICAgICAgICBuYW1lOiAnYW1vdW50JywKKyAgICAgICAg ICAgIGNsdHlwZTogJ251bWJlcicsCisgICAgICAgICAgICBhdHRsZW46IDEwLAorICAgICAgICAg ICAgYXR0cHJlY2lzaW9uOiA1LAorICAgICAgICAgIH0sIHsKKyAgICAgICAgICAgIGF0dG51bTog MiwKKyAgICAgICAgICAgIGlzX3ByaW1hcnlfa2V5OiBmYWxzZSwKKyAgICAgICAgICAgIG5hbWU6 ICdkZXNjJywKKyAgICAgICAgICAgIGNsdHlwZTogJ2NoYXJhY3RlciB2YXJyeWluZycsCisgICAg ICAgICAgICBhdHRsZW46IDUwLAorICAgICAgICAgICAgYXR0cHJlY2lzaW9uOiBudWxsLAorICAg ICAgICAgIH1dLAorICAgICAgICB9LAorICAgICAgfSwKKyAgICB9KTsKKyAgfSk7CisKKyAgaXQo J3JlbmRlcicsICgpPT57CisgICAgbGV0IG5vZGVXaWRnZXQgPSBtb3VudCg8VGFibGVOb2RlV2lk Z2V0IG5vZGU9e25vZGV9Lz4pOworICAgIGV4cGVjdChub2RlV2lkZ2V0LmdldERPTU5vZGUoKS5j bGFzc05hbWUpLnRvQmUoJ3RhYmxlLW5vZGUgJyk7CisgICAgZXhwZWN0KG5vZGVXaWRnZXQuZmlu ZCgnLnRhYmxlLW5vZGUgLnRhYmxlLXRvb2xiYXInKS5sZW5ndGgpLnRvQmUoMSk7CisgICAgZXhw ZWN0KG5vZGVXaWRnZXQuZmluZCgnLnRhYmxlLW5vZGUgLnRhYmxlLXNjaGVtYScpLnRleHQoKSku dG9CZSgnZXJkJyk7CisgICAgZXhwZWN0KG5vZGVXaWRnZXQuZmluZCgnLnRhYmxlLW5vZGUgLnRh YmxlLW5hbWUnKS50ZXh0KCkpLnRvQmUoJ3RhYmxlMScpOworICAgIGV4cGVjdChub2RlV2lkZ2V0 LmZpbmQoJy50YWJsZS1ub2RlIC50YWJsZS1jb2xzJykubGVuZ3RoKS50b0JlKDEpOworICAgIGV4 cGVjdChub2RlV2lkZ2V0LmZpbmQoRGV0YWlsc1RvZ2dsZUJ1dHRvbikubGVuZ3RoKS50b0JlKDEp OworICAgIGV4cGVjdChub2RlV2lkZ2V0LmZpbmQoSWNvbkJ1dHRvbikuZmluZFdoZXJlKG4gPT4g bi5wcm9wKCd0aXRsZScpPT0nQ2hlY2sgbm90ZScpLmxlbmd0aCkudG9CZSgxKTsKKyAgfSk7CisK KyAgaXQoJ25vZGUgc2VsZWN0ZWQnLCAoKT0+eworICAgIHNweU9uKG5vZGUsICdpc1NlbGVjdGVk JykuYW5kLnJldHVyblZhbHVlKHRydWUpOworICAgIGxldCBub2RlV2lkZ2V0ID0gbW91bnQoPFRh YmxlTm9kZVdpZGdldCBub2RlPXtub2RlfS8+KTsKKyAgICBleHBlY3Qobm9kZVdpZGdldC5nZXRE T01Ob2RlKCkuY2xhc3NOYW1lKS50b0JlKCd0YWJsZS1ub2RlIHNlbGVjdGVkJyk7CisgIH0pOwor CisgIGl0KCdyZW1vdmUgbm90ZScsICgpPT57CisgICAgbm9kZS5zZXROb3RlKCcnKTsKKyAgICBs ZXQgbm9kZVdpZGdldCA9IG1vdW50KDxUYWJsZU5vZGVXaWRnZXQgbm9kZT17bm9kZX0vPik7Cisg ICAgZXhwZWN0KG5vZGVXaWRnZXQuZmluZChJY29uQnV0dG9uKS5maW5kV2hlcmUobiA9PiBuLnBy b3AoJ3RpdGxlJyk9PSdDaGVjayBub3RlJykubGVuZ3RoKS50b0JlKDApOworICB9KTsKKworICBk ZXNjcmliZSgnZ2VuZXJhdGVDb2x1bW4nLCAoKT0+eworICAgIGxldCBub2RlV2lkZ2V0ID0gbnVs bDsKKworICAgIGJlZm9yZUVhY2goKCk9PnsKKyAgICAgIG5vZGVXaWRnZXQgPSBtb3VudCg8VGFi bGVOb2RlV2lkZ2V0IG5vZGU9e25vZGV9Lz4pOworICAgIH0pOworCisgICAgaXQoJ2NvdW50Jywg KCk9PnsKKyAgICAgIGV4cGVjdChub2RlV2lkZ2V0LmZpbmQoJy50YWJsZS1ub2RlIC50YWJsZS1j b2xzIC5jb2wtcm93JykubGVuZ3RoKS50b0JlKDMpOworICAgIH0pOworCisgICAgaXQoJ2ljb25z JywgKCk9PnsKKyAgICAgIGxldCBjb2xzID0gbm9kZVdpZGdldC5maW5kKCcudGFibGUtbm9kZSAu dGFibGUtY29scyAuY29sLXJvdy1kYXRhJyk7CisgICAgICBleHBlY3QoY29scy5hdCgwKS5maW5k KCcud2NUYWJJY29uJykuaGFzQ2xhc3MoJ2ljb24tcHJpbWFyeV9rZXknKSkudG9CZVRydWUoKTsK KyAgICAgIGV4cGVjdChjb2xzLmF0KDEpLmZpbmQoJy53Y1RhYkljb24nKS5oYXNDbGFzcygnaWNv bi1jb2x1bW4nKSkudG9CZVRydWUoKTsKKyAgICAgIGV4cGVjdChjb2xzLmF0KDIpLmZpbmQoJy53 Y1RhYkljb24nKS5oYXNDbGFzcygnaWNvbi1jb2x1bW4nKSkudG9CZVRydWUoKTsKKyAgICB9KTsK KworICAgIGl0KCdjb2x1bW4gbmFtZXMnLCAoKT0+eworICAgICAgbGV0IGNvbHMgPSBub2RlV2lk Z2V0LmZpbmQoJy50YWJsZS1ub2RlIC50YWJsZS1jb2xzIC5jb2wtcm93LWRhdGEnKTsKKyAgICAg IGV4cGVjdChjb2xzLmF0KDApLmZpbmQoJy5jb2wtbmFtZScpLnRleHQoKSkudG9CZSgnaWQnKTsK KyAgICAgIGV4cGVjdChjb2xzLmF0KDEpLmZpbmQoJy5jb2wtbmFtZScpLnRleHQoKSkudG9CZSgn YW1vdW50Jyk7CisgICAgICBleHBlY3QoY29scy5hdCgyKS5maW5kKCcuY29sLW5hbWUnKS50ZXh0 KCkpLnRvQmUoJ2Rlc2MnKTsKKyAgICB9KTsKKworICAgIGl0KCdkYXRhIHR5cGVzJywgKCk9PnsK KyAgICAgIGxldCBjb2xzID0gbm9kZVdpZGdldC5maW5kKCcudGFibGUtbm9kZSAudGFibGUtY29s cyAuY29sLXJvdy1kYXRhJyk7CisgICAgICBleHBlY3QoY29scy5hdCgwKS5maW5kKCcuY29sLWRh dGF0eXBlJykudGV4dCgpKS50b0JlKCdpbnRlZ2VyJyk7CisgICAgICBleHBlY3QoY29scy5hdCgx KS5maW5kKCcuY29sLWRhdGF0eXBlJykudGV4dCgpKS50b0JlKCdudW1iZXIoMTAsNSknKTsKKyAg ICAgIGV4cGVjdChjb2xzLmF0KDIpLmZpbmQoJy5jb2wtZGF0YXR5cGUnKS50ZXh0KCkpLnRvQmUo J2NoYXJhY3RlciB2YXJyeWluZyg1MCknKTsKKyAgICB9KTsKKworICAgIGl0KCdzaG93X2RldGFp bHMnLCAoZG9uZSk9PnsKKyAgICAgIG5vZGVXaWRnZXQuc2V0U3RhdGUoe3Nob3dfZGV0YWlsczog ZmFsc2V9KTsKKyAgICAgIGV4cGVjdChub2RlV2lkZ2V0LmZpbmQoJy50YWJsZS1ub2RlIC50YWJs ZS1jb2xzIC5jb2wtcm93LWRhdGEgLmNvbC1kYXRhdHlwZScpLmxlbmd0aCkudG9CZSgwKTsKKwor ICAgICAgbm9kZVdpZGdldC5pbnN0YW5jZSgpLnRvZ2dsZVNob3dEZXRhaWxzKGphc21pbmUuY3Jl YXRlU3B5T2JqKCdldmVudCcsIFsncHJldmVudERlZmF1bHQnXSkpOworICAgICAgLyogRHVtbXkg c2V0IHN0YXRlIHRvIHdhaXQgZm9yIHRvZ2dsZVNob3dEZXRhaWxzIC0+IHNldFN0YXRlIHRvIGNv bXBsZXRlICovCisgICAgICBub2RlV2lkZ2V0LnNldFN0YXRlKHt9LCAoKT0+eworICAgICAgICBl eHBlY3Qobm9kZVdpZGdldC5maW5kKCcudGFibGUtbm9kZSAudGFibGUtY29scyAuY29sLXJvdy1k YXRhIC5jb2wtZGF0YXR5cGUnKS5sZW5ndGgpLnRvQmUoMyk7CisgICAgICAgIGRvbmUoKTsKKyAg ICAgIH0pOworICAgIH0pOworICB9KTsKK30pOwpkaWZmIC0tZ2l0IGEvd2ViL3JlZ3Jlc3Npb24v amF2YXNjcmlwdC9lcmQvdGVzdF90YWJsZXMuanMgYi93ZWIvcmVncmVzc2lvbi9qYXZhc2NyaXB0 L2VyZC90ZXN0X3RhYmxlcy5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAu LmUyZGM0M2VmOAotLS0gL2Rldi9udWxsCisrKyBiL3dlYi9yZWdyZXNzaW9uL2phdmFzY3JpcHQv ZXJkL3Rlc3RfdGFibGVzLmpzCkBAIC0wLDAgKzEsNjUxIEBACitleHBvcnQgZGVmYXVsdCBbCisg IHsKKyAgICAnb2lkJzogMTIzNDU2LAorICAgICduYW1lJzogJ3Rlc3QxJywKKyAgICAnc3Bjb2lk JzogMCwKKyAgICAncmVsYWNsX3N0cic6IG51bGwsCisgICAgJ3NwY25hbWUnOiAncGdfZGVmYXVs dCcsCisgICAgJ3NjaGVtYSc6ICdzY2hlbWExJywKKyAgICAncmVsb3duZXInOiAncG9zdGdyZXMn LAorICAgICdyZWxraW5kJzogJ3InLAorICAgICdpc19wYXJ0aXRpb25lZCc6IGZhbHNlLAorICAg ICdyZWxoYXNzdWJjbGFzcyc6IGZhbHNlLAorICAgICdyZWx0dXBsZXMnOiAnMCcsCisgICAgJ2Rl c2NyaXB0aW9uJzogbnVsbCwKKyAgICAnY29ubmFtZSc6IG51bGwsCisgICAgJ2NvbmtleSc6IG51 bGwsCisgICAgJ2lzcmVwbCc6IGZhbHNlLAorICAgICd0cmlnZ2VyY291bnQnOiAnMCcsCisgICAg J2NvbGxfaW5oZXJpdHMnOiBbXSwKKyAgICAnaW5oZXJpdGVkX3RhYmxlc19jbnQnOiAnMCcsCisg ICAgJ3JlbHBlcnNpc3RlbmNlJzogZmFsc2UsCisgICAgJ2ZpbGxmYWN0b3InOiBudWxsLAorICAg ICdwYXJhbGxlbF93b3JrZXJzJzogbnVsbCwKKyAgICAndG9hc3RfdHVwbGVfdGFyZ2V0JzogbnVs bCwKKyAgICAnYXV0b3ZhY3V1bV9lbmFibGVkJzogJ3gnLAorICAgICdhdXRvdmFjdXVtX3ZhY3V1 bV90aHJlc2hvbGQnOiBudWxsLAorICAgICdhdXRvdmFjdXVtX3ZhY3V1bV9zY2FsZV9mYWN0b3In OiBudWxsLAorICAgICdhdXRvdmFjdXVtX2FuYWx5emVfdGhyZXNob2xkJzogbnVsbCwKKyAgICAn YXV0b3ZhY3V1bV9hbmFseXplX3NjYWxlX2ZhY3Rvcic6IG51bGwsCisgICAgJ2F1dG92YWN1dW1f dmFjdXVtX2Nvc3RfZGVsYXknOiBudWxsLAorICAgICdhdXRvdmFjdXVtX3ZhY3V1bV9jb3N0X2xp bWl0JzogbnVsbCwKKyAgICAnYXV0b3ZhY3V1bV9mcmVlemVfbWluX2FnZSc6IG51bGwsCisgICAg J2F1dG92YWN1dW1fZnJlZXplX21heF9hZ2UnOiBudWxsLAorICAgICdhdXRvdmFjdXVtX2ZyZWV6 ZV90YWJsZV9hZ2UnOiBudWxsLAorICAgICd0b2FzdF9hdXRvdmFjdXVtX2VuYWJsZWQnOiAneCcs CisgICAgJ3RvYXN0X2F1dG92YWN1dW1fdmFjdXVtX3RocmVzaG9sZCc6IG51bGwsCisgICAgJ3Rv YXN0X2F1dG92YWN1dW1fdmFjdXVtX3NjYWxlX2ZhY3Rvcic6IG51bGwsCisgICAgJ3RvYXN0X2F1 dG92YWN1dW1fYW5hbHl6ZV90aHJlc2hvbGQnOiBudWxsLAorICAgICd0b2FzdF9hdXRvdmFjdXVt X2FuYWx5emVfc2NhbGVfZmFjdG9yJzogbnVsbCwKKyAgICAndG9hc3RfYXV0b3ZhY3V1bV92YWN1 dW1fY29zdF9kZWxheSc6IG51bGwsCisgICAgJ3RvYXN0X2F1dG92YWN1dW1fdmFjdXVtX2Nvc3Rf bGltaXQnOiBudWxsLAorICAgICd0b2FzdF9hdXRvdmFjdXVtX2ZyZWV6ZV9taW5fYWdlJzogbnVs bCwKKyAgICAndG9hc3RfYXV0b3ZhY3V1bV9mcmVlemVfbWF4X2FnZSc6IG51bGwsCisgICAgJ3Rv YXN0X2F1dG92YWN1dW1fZnJlZXplX3RhYmxlX2FnZSc6IG51bGwsCisgICAgJ3JlbG9wdGlvbnMn OiBudWxsLAorICAgICd0b2FzdF9yZWxvcHRpb25zJzogbnVsbCwKKyAgICAncmVsb2Z0eXBlJzog MCwKKyAgICAndHlwbmFtZSc6IG51bGwsCisgICAgJ3R5cG9pZCc6IG51bGwsCisgICAgJ3Jsc3Bv bGljeSc6IGZhbHNlLAorICAgICdmb3JjZXJsc3BvbGljeSc6IGZhbHNlLAorICAgICdoYXN0b2Fz dHRhYmxlJzogZmFsc2UsCisgICAgJ3NlY2xhYmVscyc6IG51bGwsCisgICAgJ2lzX3N5c190YWJs ZSc6IGZhbHNlLAorICAgICdwYXJ0aXRpb25fc2NoZW1lJzogJycsCisgICAgJ2F1dG92YWN1dW1f Y3VzdG9tJzogZmFsc2UsCisgICAgJ3RvYXN0X2F1dG92YWN1dW0nOiBmYWxzZSwKKyAgICAncm93 c19jbnQnOiAwLAorICAgICd2YWN1dW1fc2V0dGluZ3Nfc3RyJzogJycsCisgICAgJ3ZhY3V1bV90 YWJsZSc6IFsKKyAgICAgIHsKKyAgICAgICAgJ25hbWUnOiAnYXV0b3ZhY3V1bV9hbmFseXplX3Nj YWxlX2ZhY3RvcicsCisgICAgICAgICdzZXR0aW5nJzogJzAuMScsCisgICAgICAgICdsYWJlbCc6 ICdBTkFMWVpFIHNjYWxlIGZhY3RvcicsCisgICAgICAgICdjb2x1bW5fdHlwZSc6ICdudW1iZXIn LAorICAgICAgfSwKKyAgICAgIHsKKyAgICAgICAgJ25hbWUnOiAnYXV0b3ZhY3V1bV9hbmFseXpl X3RocmVzaG9sZCcsCisgICAgICAgICdzZXR0aW5nJzogJzUwJywKKyAgICAgICAgJ2xhYmVsJzog J0FOQUxZWkUgYmFzZSB0aHJlc2hvbGQnLAorICAgICAgICAnY29sdW1uX3R5cGUnOiAnaW50ZWdl cicsCisgICAgICB9LAorICAgICAgeworICAgICAgICAnbmFtZSc6ICdhdXRvdmFjdXVtX2ZyZWV6 ZV9tYXhfYWdlJywKKyAgICAgICAgJ3NldHRpbmcnOiAnMjAwMDAwMDAwJywKKyAgICAgICAgJ2xh YmVsJzogJ0ZSRUVaRSBtYXhpbXVtIGFnZScsCisgICAgICAgICdjb2x1bW5fdHlwZSc6ICdpbnRl Z2VyJywKKyAgICAgIH0sCisgICAgICB7CisgICAgICAgICduYW1lJzogJ2F1dG92YWN1dW1fdmFj dXVtX2Nvc3RfZGVsYXknLAorICAgICAgICAnc2V0dGluZyc6ICcyJywKKyAgICAgICAgJ2xhYmVs JzogJ1ZBQ1VVTSBjb3N0IGRlbGF5JywKKyAgICAgICAgJ2NvbHVtbl90eXBlJzogJ2ludGVnZXIn LAorICAgICAgfSwKKyAgICAgIHsKKyAgICAgICAgJ25hbWUnOiAnYXV0b3ZhY3V1bV92YWN1dW1f Y29zdF9saW1pdCcsCisgICAgICAgICdzZXR0aW5nJzogJy0xJywKKyAgICAgICAgJ2xhYmVsJzog J1ZBQ1VVTSBjb3N0IGxpbWl0JywKKyAgICAgICAgJ2NvbHVtbl90eXBlJzogJ2ludGVnZXInLAor ICAgICAgfSwKKyAgICAgIHsKKyAgICAgICAgJ25hbWUnOiAnYXV0b3ZhY3V1bV92YWN1dW1fc2Nh bGVfZmFjdG9yJywKKyAgICAgICAgJ3NldHRpbmcnOiAnMC4yJywKKyAgICAgICAgJ2xhYmVsJzog J1ZBQ1VVTSBzY2FsZSBmYWN0b3InLAorICAgICAgICAnY29sdW1uX3R5cGUnOiAnbnVtYmVyJywK KyAgICAgIH0sCisgICAgICB7CisgICAgICAgICduYW1lJzogJ2F1dG92YWN1dW1fdmFjdXVtX3Ro cmVzaG9sZCcsCisgICAgICAgICdzZXR0aW5nJzogJzUwJywKKyAgICAgICAgJ2xhYmVsJzogJ1ZB Q1VVTSBiYXNlIHRocmVzaG9sZCcsCisgICAgICAgICdjb2x1bW5fdHlwZSc6ICdpbnRlZ2VyJywK KyAgICAgIH0sCisgICAgICB7CisgICAgICAgICduYW1lJzogJ2F1dG92YWN1dW1fZnJlZXplX21p bl9hZ2UnLAorICAgICAgICAnc2V0dGluZyc6ICc1MDAwMDAwMCcsCisgICAgICAgICdsYWJlbCc6 ICdGUkVFWkUgbWluaW11bSBhZ2UnLAorICAgICAgICAnY29sdW1uX3R5cGUnOiAnaW50ZWdlcics CisgICAgICB9LAorICAgICAgeworICAgICAgICAnbmFtZSc6ICdhdXRvdmFjdXVtX2ZyZWV6ZV90 YWJsZV9hZ2UnLAorICAgICAgICAnc2V0dGluZyc6ICcxNTAwMDAwMDAnLAorICAgICAgICAnbGFi ZWwnOiAnRlJFRVpFIHRhYmxlIGFnZScsCisgICAgICAgICdjb2x1bW5fdHlwZSc6ICdpbnRlZ2Vy JywKKyAgICAgIH0sCisgICAgXSwKKyAgICAndmFjdXVtX3RvYXN0JzogWworICAgICAgeworICAg ICAgICAnbmFtZSc6ICdhdXRvdmFjdXVtX2ZyZWV6ZV9tYXhfYWdlJywKKyAgICAgICAgJ3NldHRp bmcnOiAnMjAwMDAwMDAwJywKKyAgICAgICAgJ2xhYmVsJzogJ0ZSRUVaRSBtYXhpbXVtIGFnZScs CisgICAgICAgICdjb2x1bW5fdHlwZSc6ICdpbnRlZ2VyJywKKyAgICAgIH0sCisgICAgICB7Cisg ICAgICAgICduYW1lJzogJ2F1dG92YWN1dW1fdmFjdXVtX2Nvc3RfZGVsYXknLAorICAgICAgICAn c2V0dGluZyc6ICcyJywKKyAgICAgICAgJ2xhYmVsJzogJ1ZBQ1VVTSBjb3N0IGRlbGF5JywKKyAg ICAgICAgJ2NvbHVtbl90eXBlJzogJ2ludGVnZXInLAorICAgICAgfSwKKyAgICAgIHsKKyAgICAg ICAgJ25hbWUnOiAnYXV0b3ZhY3V1bV92YWN1dW1fY29zdF9saW1pdCcsCisgICAgICAgICdzZXR0 aW5nJzogJy0xJywKKyAgICAgICAgJ2xhYmVsJzogJ1ZBQ1VVTSBjb3N0IGxpbWl0JywKKyAgICAg ICAgJ2NvbHVtbl90eXBlJzogJ2ludGVnZXInLAorICAgICAgfSwKKyAgICAgIHsKKyAgICAgICAg J25hbWUnOiAnYXV0b3ZhY3V1bV92YWN1dW1fc2NhbGVfZmFjdG9yJywKKyAgICAgICAgJ3NldHRp bmcnOiAnMC4yJywKKyAgICAgICAgJ2xhYmVsJzogJ1ZBQ1VVTSBzY2FsZSBmYWN0b3InLAorICAg ICAgICAnY29sdW1uX3R5cGUnOiAnbnVtYmVyJywKKyAgICAgIH0sCisgICAgICB7CisgICAgICAg ICduYW1lJzogJ2F1dG92YWN1dW1fdmFjdXVtX3RocmVzaG9sZCcsCisgICAgICAgICdzZXR0aW5n JzogJzUwJywKKyAgICAgICAgJ2xhYmVsJzogJ1ZBQ1VVTSBiYXNlIHRocmVzaG9sZCcsCisgICAg ICAgICdjb2x1bW5fdHlwZSc6ICdpbnRlZ2VyJywKKyAgICAgIH0sCisgICAgICB7CisgICAgICAg ICduYW1lJzogJ2F1dG92YWN1dW1fZnJlZXplX21pbl9hZ2UnLAorICAgICAgICAnc2V0dGluZyc6 ICc1MDAwMDAwMCcsCisgICAgICAgICdsYWJlbCc6ICdGUkVFWkUgbWluaW11bSBhZ2UnLAorICAg ICAgICAnY29sdW1uX3R5cGUnOiAnaW50ZWdlcicsCisgICAgICB9LAorICAgICAgeworICAgICAg ICAnbmFtZSc6ICdhdXRvdmFjdXVtX2ZyZWV6ZV90YWJsZV9hZ2UnLAorICAgICAgICAnc2V0dGlu Zyc6ICcxNTAwMDAwMDAnLAorICAgICAgICAnbGFiZWwnOiAnRlJFRVpFIHRhYmxlIGFnZScsCisg ICAgICAgICdjb2x1bW5fdHlwZSc6ICdpbnRlZ2VyJywKKyAgICAgIH0sCisgICAgXSwKKyAgICAn Y29sdW1ucyc6IFt7CisgICAgICAnbmFtZSc6ICdpZCcsCisgICAgICAnYXR0dHlwaWQnOiAyMywK KyAgICAgICdhdHRsZW4nOiBudWxsLAorICAgICAgJ2F0dG51bSc6IDEsCisgICAgICAnYXR0bmRp bXMnOiAwLAorICAgICAgJ2F0dHR5cG1vZCc6IC0xLAorICAgICAgJ2F0dGFjbCc6IFtdLAorICAg ICAgJ2F0dG5vdG51bGwnOiB0cnVlLAorICAgICAgJ2F0dG9wdGlvbnMnOiBudWxsLAorICAgICAg J2F0dHN0YXR0YXJnZXQnOiAtMSwKKyAgICAgICdhdHRzdG9yYWdlJzogJ3AnLAorICAgICAgJ2F0 dGlkZW50aXR5JzogJycsCisgICAgICAnZGVmdmFsJzogbnVsbCwKKyAgICAgICd0eXBuYW1lJzog J2ludGVnZXInLAorICAgICAgJ2Rpc3BsYXl0eXBuYW1lJzogJ2ludGVnZXInLAorICAgICAgJ2Ns dHlwZSc6ICdpbnRlZ2VyJywKKyAgICAgICdlbGVtb2lkJzogMjMsCisgICAgICAndHlwbnNwbmFt ZSc6ICdwZ19jYXRhbG9nJywKKyAgICAgICdkZWZhdWx0c3RvcmFnZSc6ICdwJywKKyAgICAgICdk ZXNjcmlwdGlvbic6IG51bGwsCisgICAgICAnaW5ka2V5JzogJzEnLAorICAgICAgJ2lzZHVwJzog ZmFsc2UsCisgICAgICAnY29sbHNwY25hbWUnOiAnJywKKyAgICAgICdpc19mayc6IGZhbHNlLAor ICAgICAgJ3NlY2xhYmVscyc6IG51bGwsCisgICAgICAnaXNfc3lzX2NvbHVtbic6IGZhbHNlLAor ICAgICAgJ2NvbGNvbnN0eXBlJzogJ24nLAorICAgICAgJ2dlbmV4cHInOiBudWxsLAorICAgICAg J3JlbG5hbWUnOiAndGFiMScsCisgICAgICAnaXNfdmlld19vbmx5JzogZmFsc2UsCisgICAgICAn c2VxcmVsaWQnOiBudWxsLAorICAgICAgJ3NlcXR5cGlkJzogbnVsbCwKKyAgICAgICdzZXFzdGFy dCc6IG51bGwsCisgICAgICAnc2VxaW5jcmVtZW50JzogbnVsbCwKKyAgICAgICdzZXFtYXgnOiBu dWxsLAorICAgICAgJ3NlcW1pbic6IG51bGwsCisgICAgICAnc2VxY2FjaGUnOiBudWxsLAorICAg ICAgJ3NlcWN5Y2xlJzogbnVsbCwKKyAgICAgICdpc19wayc6IHRydWUsCisgICAgICAnaXNfcHJp bWFyeV9rZXknOiB0cnVlLAorICAgICAgJ2F0dHByZWNpc2lvbic6IG51bGwsCisgICAgICAnZWRp dF90eXBlcyc6IFsKKyAgICAgICAgJ2JpZ2ludCcsCisgICAgICAgICdkb3VibGUgcHJlY2lzaW9u JywKKyAgICAgICAgJ2luZm9ybWF0aW9uX3NjaGVtYS5jYXJkaW5hbF9udW1iZXInLAorICAgICAg ICAnaW50ZWdlcicsCisgICAgICAgICdtb25leScsCisgICAgICAgICdudW1lcmljJywKKyAgICAg ICAgJ29pZCcsCisgICAgICAgICdyZWFsJywKKyAgICAgICAgJ3JlZ2NsYXNzJywKKyAgICAgICAg J3JlZ2NvbmZpZycsCisgICAgICAgICdyZWdkaWN0aW9uYXJ5JywKKyAgICAgICAgJ3JlZ25hbWVz cGFjZScsCisgICAgICAgICdyZWdvcGVyJywKKyAgICAgICAgJ3JlZ29wZXJhdG9yJywKKyAgICAg ICAgJ3JlZ3Byb2MnLAorICAgICAgICAncmVncHJvY2VkdXJlJywKKyAgICAgICAgJ3JlZ3JvbGUn LAorICAgICAgICAncmVndHlwZScsCisgICAgICAgICdzbWFsbGludCcsCisgICAgICBdLAorICAg IH1dLAorICAgICdwcmltYXJ5X2tleSc6IFtdLAorICAgICd1bmlxdWVfY29uc3RyYWludCc6IFtd LAorICAgICdjaGVja19jb25zdHJhaW50JzogW10sCisgICAgJ2luZGV4Jzoge30sCisgICAgJ3J1 bGUnOiB7fSwKKyAgICAndHJpZ2dlcic6IHt9LAorICAgICdyb3dfc2VjdXJpdHlfcG9saWN5Jzog e30sCisgIH0sCisgIHsKKyAgICAnb2lkJzogNDA4MjI5LAorICAgICduYW1lJzogJ3Rlc3QyJywK KyAgICAnc3Bjb2lkJzogMCwKKyAgICAncmVsYWNsX3N0cic6IG51bGwsCisgICAgJ3NwY25hbWUn OiAncGdfZGVmYXVsdCcsCisgICAgJ3NjaGVtYSc6ICdlcmQnLAorICAgICdyZWxvd25lcic6ICdw b3N0Z3JlcycsCisgICAgJ3JlbGtpbmQnOiAncicsCisgICAgJ2lzX3BhcnRpdGlvbmVkJzogZmFs c2UsCisgICAgJ3JlbGhhc3N1YmNsYXNzJzogZmFsc2UsCisgICAgJ3JlbHR1cGxlcyc6ICcwJywK KyAgICAnZGVzY3JpcHRpb24nOiBudWxsLAorICAgICdjb25uYW1lJzogJ3RhYjFfcGtleScsCisg ICAgJ2NvbmtleSc6IFsKKyAgICAgIDEsCisgICAgXSwKKyAgICAnaXNyZXBsJzogZmFsc2UsCisg ICAgJ3RyaWdnZXJjb3VudCc6ICcwJywKKyAgICAnY29sbF9pbmhlcml0cyc6IFtdLAorICAgICdp bmhlcml0ZWRfdGFibGVzX2NudCc6ICcwJywKKyAgICAncmVscGVyc2lzdGVuY2UnOiBmYWxzZSwK KyAgICAnZmlsbGZhY3Rvcic6IG51bGwsCisgICAgJ3BhcmFsbGVsX3dvcmtlcnMnOiBudWxsLAor ICAgICd0b2FzdF90dXBsZV90YXJnZXQnOiBudWxsLAorICAgICdhdXRvdmFjdXVtX2VuYWJsZWQn OiAneCcsCisgICAgJ2F1dG92YWN1dW1fdmFjdXVtX3RocmVzaG9sZCc6IG51bGwsCisgICAgJ2F1 dG92YWN1dW1fdmFjdXVtX3NjYWxlX2ZhY3Rvcic6IG51bGwsCisgICAgJ2F1dG92YWN1dW1fYW5h bHl6ZV90aHJlc2hvbGQnOiBudWxsLAorICAgICdhdXRvdmFjdXVtX2FuYWx5emVfc2NhbGVfZmFj dG9yJzogbnVsbCwKKyAgICAnYXV0b3ZhY3V1bV92YWN1dW1fY29zdF9kZWxheSc6IG51bGwsCisg ICAgJ2F1dG92YWN1dW1fdmFjdXVtX2Nvc3RfbGltaXQnOiBudWxsLAorICAgICdhdXRvdmFjdXVt X2ZyZWV6ZV9taW5fYWdlJzogbnVsbCwKKyAgICAnYXV0b3ZhY3V1bV9mcmVlemVfbWF4X2FnZSc6 IG51bGwsCisgICAgJ2F1dG92YWN1dW1fZnJlZXplX3RhYmxlX2FnZSc6IG51bGwsCisgICAgJ3Rv YXN0X2F1dG92YWN1dW1fZW5hYmxlZCc6ICd4JywKKyAgICAndG9hc3RfYXV0b3ZhY3V1bV92YWN1 dW1fdGhyZXNob2xkJzogbnVsbCwKKyAgICAndG9hc3RfYXV0b3ZhY3V1bV92YWN1dW1fc2NhbGVf ZmFjdG9yJzogbnVsbCwKKyAgICAndG9hc3RfYXV0b3ZhY3V1bV9hbmFseXplX3RocmVzaG9sZCc6 IG51bGwsCisgICAgJ3RvYXN0X2F1dG92YWN1dW1fYW5hbHl6ZV9zY2FsZV9mYWN0b3InOiBudWxs LAorICAgICd0b2FzdF9hdXRvdmFjdXVtX3ZhY3V1bV9jb3N0X2RlbGF5JzogbnVsbCwKKyAgICAn dG9hc3RfYXV0b3ZhY3V1bV92YWN1dW1fY29zdF9saW1pdCc6IG51bGwsCisgICAgJ3RvYXN0X2F1 dG92YWN1dW1fZnJlZXplX21pbl9hZ2UnOiBudWxsLAorICAgICd0b2FzdF9hdXRvdmFjdXVtX2Zy ZWV6ZV9tYXhfYWdlJzogbnVsbCwKKyAgICAndG9hc3RfYXV0b3ZhY3V1bV9mcmVlemVfdGFibGVf YWdlJzogbnVsbCwKKyAgICAncmVsb3B0aW9ucyc6IG51bGwsCisgICAgJ3RvYXN0X3JlbG9wdGlv bnMnOiBudWxsLAorICAgICdyZWxvZnR5cGUnOiAwLAorICAgICd0eXBuYW1lJzogbnVsbCwKKyAg ICAndHlwb2lkJzogbnVsbCwKKyAgICAncmxzcG9saWN5JzogZmFsc2UsCisgICAgJ2ZvcmNlcmxz cG9saWN5JzogZmFsc2UsCisgICAgJ2hhc3RvYXN0dGFibGUnOiBmYWxzZSwKKyAgICAnc2VjbGFi ZWxzJzogbnVsbCwKKyAgICAnaXNfc3lzX3RhYmxlJzogZmFsc2UsCisgICAgJ3BhcnRpdGlvbl9z Y2hlbWUnOiAnJywKKyAgICAnYXV0b3ZhY3V1bV9jdXN0b20nOiBmYWxzZSwKKyAgICAndG9hc3Rf YXV0b3ZhY3V1bSc6IGZhbHNlLAorICAgICdyb3dzX2NudCc6IDAsCisgICAgJ3ZhY3V1bV9zZXR0 aW5nc19zdHInOiAnJywKKyAgICAndmFjdXVtX3RhYmxlJzogWworICAgICAgeworICAgICAgICAn bmFtZSc6ICdhdXRvdmFjdXVtX2FuYWx5emVfc2NhbGVfZmFjdG9yJywKKyAgICAgICAgJ3NldHRp bmcnOiAnMC4xJywKKyAgICAgICAgJ2xhYmVsJzogJ0FOQUxZWkUgc2NhbGUgZmFjdG9yJywKKyAg ICAgICAgJ2NvbHVtbl90eXBlJzogJ251bWJlcicsCisgICAgICB9LAorICAgICAgeworICAgICAg ICAnbmFtZSc6ICdhdXRvdmFjdXVtX2FuYWx5emVfdGhyZXNob2xkJywKKyAgICAgICAgJ3NldHRp bmcnOiAnNTAnLAorICAgICAgICAnbGFiZWwnOiAnQU5BTFlaRSBiYXNlIHRocmVzaG9sZCcsCisg ICAgICAgICdjb2x1bW5fdHlwZSc6ICdpbnRlZ2VyJywKKyAgICAgIH0sCisgICAgICB7CisgICAg ICAgICduYW1lJzogJ2F1dG92YWN1dW1fZnJlZXplX21heF9hZ2UnLAorICAgICAgICAnc2V0dGlu Zyc6ICcyMDAwMDAwMDAnLAorICAgICAgICAnbGFiZWwnOiAnRlJFRVpFIG1heGltdW0gYWdlJywK KyAgICAgICAgJ2NvbHVtbl90eXBlJzogJ2ludGVnZXInLAorICAgICAgfSwKKyAgICAgIHsKKyAg ICAgICAgJ25hbWUnOiAnYXV0b3ZhY3V1bV92YWN1dW1fY29zdF9kZWxheScsCisgICAgICAgICdz ZXR0aW5nJzogJzInLAorICAgICAgICAnbGFiZWwnOiAnVkFDVVVNIGNvc3QgZGVsYXknLAorICAg ICAgICAnY29sdW1uX3R5cGUnOiAnaW50ZWdlcicsCisgICAgICB9LAorICAgICAgeworICAgICAg ICAnbmFtZSc6ICdhdXRvdmFjdXVtX3ZhY3V1bV9jb3N0X2xpbWl0JywKKyAgICAgICAgJ3NldHRp bmcnOiAnLTEnLAorICAgICAgICAnbGFiZWwnOiAnVkFDVVVNIGNvc3QgbGltaXQnLAorICAgICAg ICAnY29sdW1uX3R5cGUnOiAnaW50ZWdlcicsCisgICAgICB9LAorICAgICAgeworICAgICAgICAn bmFtZSc6ICdhdXRvdmFjdXVtX3ZhY3V1bV9zY2FsZV9mYWN0b3InLAorICAgICAgICAnc2V0dGlu Zyc6ICcwLjInLAorICAgICAgICAnbGFiZWwnOiAnVkFDVVVNIHNjYWxlIGZhY3RvcicsCisgICAg ICAgICdjb2x1bW5fdHlwZSc6ICdudW1iZXInLAorICAgICAgfSwKKyAgICAgIHsKKyAgICAgICAg J25hbWUnOiAnYXV0b3ZhY3V1bV92YWN1dW1fdGhyZXNob2xkJywKKyAgICAgICAgJ3NldHRpbmcn OiAnNTAnLAorICAgICAgICAnbGFiZWwnOiAnVkFDVVVNIGJhc2UgdGhyZXNob2xkJywKKyAgICAg ICAgJ2NvbHVtbl90eXBlJzogJ2ludGVnZXInLAorICAgICAgfSwKKyAgICAgIHsKKyAgICAgICAg J25hbWUnOiAnYXV0b3ZhY3V1bV9mcmVlemVfbWluX2FnZScsCisgICAgICAgICdzZXR0aW5nJzog JzUwMDAwMDAwJywKKyAgICAgICAgJ2xhYmVsJzogJ0ZSRUVaRSBtaW5pbXVtIGFnZScsCisgICAg ICAgICdjb2x1bW5fdHlwZSc6ICdpbnRlZ2VyJywKKyAgICAgIH0sCisgICAgICB7CisgICAgICAg ICduYW1lJzogJ2F1dG92YWN1dW1fZnJlZXplX3RhYmxlX2FnZScsCisgICAgICAgICdzZXR0aW5n JzogJzE1MDAwMDAwMCcsCisgICAgICAgICdsYWJlbCc6ICdGUkVFWkUgdGFibGUgYWdlJywKKyAg ICAgICAgJ2NvbHVtbl90eXBlJzogJ2ludGVnZXInLAorICAgICAgfSwKKyAgICBdLAorICAgICd2 YWN1dW1fdG9hc3QnOiBbCisgICAgICB7CisgICAgICAgICduYW1lJzogJ2F1dG92YWN1dW1fZnJl ZXplX21heF9hZ2UnLAorICAgICAgICAnc2V0dGluZyc6ICcyMDAwMDAwMDAnLAorICAgICAgICAn bGFiZWwnOiAnRlJFRVpFIG1heGltdW0gYWdlJywKKyAgICAgICAgJ2NvbHVtbl90eXBlJzogJ2lu dGVnZXInLAorICAgICAgfSwKKyAgICAgIHsKKyAgICAgICAgJ25hbWUnOiAnYXV0b3ZhY3V1bV92 YWN1dW1fY29zdF9kZWxheScsCisgICAgICAgICdzZXR0aW5nJzogJzInLAorICAgICAgICAnbGFi ZWwnOiAnVkFDVVVNIGNvc3QgZGVsYXknLAorICAgICAgICAnY29sdW1uX3R5cGUnOiAnaW50ZWdl cicsCisgICAgICB9LAorICAgICAgeworICAgICAgICAnbmFtZSc6ICdhdXRvdmFjdXVtX3ZhY3V1 bV9jb3N0X2xpbWl0JywKKyAgICAgICAgJ3NldHRpbmcnOiAnLTEnLAorICAgICAgICAnbGFiZWwn OiAnVkFDVVVNIGNvc3QgbGltaXQnLAorICAgICAgICAnY29sdW1uX3R5cGUnOiAnaW50ZWdlcics CisgICAgICB9LAorICAgICAgeworICAgICAgICAnbmFtZSc6ICdhdXRvdmFjdXVtX3ZhY3V1bV9z Y2FsZV9mYWN0b3InLAorICAgICAgICAnc2V0dGluZyc6ICcwLjInLAorICAgICAgICAnbGFiZWwn OiAnVkFDVVVNIHNjYWxlIGZhY3RvcicsCisgICAgICAgICdjb2x1bW5fdHlwZSc6ICdudW1iZXIn LAorICAgICAgfSwKKyAgICAgIHsKKyAgICAgICAgJ25hbWUnOiAnYXV0b3ZhY3V1bV92YWN1dW1f dGhyZXNob2xkJywKKyAgICAgICAgJ3NldHRpbmcnOiAnNTAnLAorICAgICAgICAnbGFiZWwnOiAn VkFDVVVNIGJhc2UgdGhyZXNob2xkJywKKyAgICAgICAgJ2NvbHVtbl90eXBlJzogJ2ludGVnZXIn LAorICAgICAgfSwKKyAgICAgIHsKKyAgICAgICAgJ25hbWUnOiAnYXV0b3ZhY3V1bV9mcmVlemVf bWluX2FnZScsCisgICAgICAgICdzZXR0aW5nJzogJzUwMDAwMDAwJywKKyAgICAgICAgJ2xhYmVs JzogJ0ZSRUVaRSBtaW5pbXVtIGFnZScsCisgICAgICAgICdjb2x1bW5fdHlwZSc6ICdpbnRlZ2Vy JywKKyAgICAgIH0sCisgICAgICB7CisgICAgICAgICduYW1lJzogJ2F1dG92YWN1dW1fZnJlZXpl X3RhYmxlX2FnZScsCisgICAgICAgICdzZXR0aW5nJzogJzE1MDAwMDAwMCcsCisgICAgICAgICds YWJlbCc6ICdGUkVFWkUgdGFibGUgYWdlJywKKyAgICAgICAgJ2NvbHVtbl90eXBlJzogJ2ludGVn ZXInLAorICAgICAgfSwKKyAgICBdLAorICAgICdjb2x1bW5zJzogWworICAgICAgeworICAgICAg ICAnbmFtZSc6ICdpZCcsCisgICAgICAgICdhdHR0eXBpZCc6IDIzLAorICAgICAgICAnYXR0bGVu JzogbnVsbCwKKyAgICAgICAgJ2F0dG51bSc6IDEsCisgICAgICAgICdhdHRuZGltcyc6IDAsCisg ICAgICAgICdhdHR0eXBtb2QnOiAtMSwKKyAgICAgICAgJ2F0dGFjbCc6IFtdLAorICAgICAgICAn YXR0bm90bnVsbCc6IHRydWUsCisgICAgICAgICdhdHRvcHRpb25zJzogbnVsbCwKKyAgICAgICAg J2F0dHN0YXR0YXJnZXQnOiAtMSwKKyAgICAgICAgJ2F0dHN0b3JhZ2UnOiAncCcsCisgICAgICAg ICdhdHRpZGVudGl0eSc6ICcnLAorICAgICAgICAnZGVmdmFsJzogbnVsbCwKKyAgICAgICAgJ3R5 cG5hbWUnOiAnaW50ZWdlcicsCisgICAgICAgICdkaXNwbGF5dHlwbmFtZSc6ICdpbnRlZ2VyJywK KyAgICAgICAgJ2NsdHlwZSc6ICdpbnRlZ2VyJywKKyAgICAgICAgJ2VsZW1vaWQnOiAyMywKKyAg ICAgICAgJ3R5cG5zcG5hbWUnOiAncGdfY2F0YWxvZycsCisgICAgICAgICdkZWZhdWx0c3RvcmFn ZSc6ICdwJywKKyAgICAgICAgJ2Rlc2NyaXB0aW9uJzogbnVsbCwKKyAgICAgICAgJ2luZGtleSc6 ICcxJywKKyAgICAgICAgJ2lzZHVwJzogZmFsc2UsCisgICAgICAgICdjb2xsc3BjbmFtZSc6ICcn LAorICAgICAgICAnaXNfZmsnOiBmYWxzZSwKKyAgICAgICAgJ3NlY2xhYmVscyc6IG51bGwsCisg ICAgICAgICdpc19zeXNfY29sdW1uJzogZmFsc2UsCisgICAgICAgICdjb2xjb25zdHlwZSc6ICdu JywKKyAgICAgICAgJ2dlbmV4cHInOiBudWxsLAorICAgICAgICAncmVsbmFtZSc6ICd0YWIxJywK KyAgICAgICAgJ2lzX3ZpZXdfb25seSc6IGZhbHNlLAorICAgICAgICAnc2VxcmVsaWQnOiBudWxs LAorICAgICAgICAnc2VxdHlwaWQnOiBudWxsLAorICAgICAgICAnc2Vxc3RhcnQnOiBudWxsLAor ICAgICAgICAnc2VxaW5jcmVtZW50JzogbnVsbCwKKyAgICAgICAgJ3NlcW1heCc6IG51bGwsCisg ICAgICAgICdzZXFtaW4nOiBudWxsLAorICAgICAgICAnc2VxY2FjaGUnOiBudWxsLAorICAgICAg ICAnc2VxY3ljbGUnOiBudWxsLAorICAgICAgICAnaXNfcGsnOiB0cnVlLAorICAgICAgICAnaXNf cHJpbWFyeV9rZXknOiB0cnVlLAorICAgICAgICAnYXR0cHJlY2lzaW9uJzogbnVsbCwKKyAgICAg ICAgJ2VkaXRfdHlwZXMnOiBbCisgICAgICAgICAgJ2JpZ2ludCcsCisgICAgICAgICAgJ2RvdWJs ZSBwcmVjaXNpb24nLAorICAgICAgICAgICdpbmZvcm1hdGlvbl9zY2hlbWEuY2FyZGluYWxfbnVt YmVyJywKKyAgICAgICAgICAnaW50ZWdlcicsCisgICAgICAgICAgJ21vbmV5JywKKyAgICAgICAg ICAnbnVtZXJpYycsCisgICAgICAgICAgJ29pZCcsCisgICAgICAgICAgJ3JlYWwnLAorICAgICAg ICAgICdyZWdjbGFzcycsCisgICAgICAgICAgJ3JlZ2NvbmZpZycsCisgICAgICAgICAgJ3JlZ2Rp Y3Rpb25hcnknLAorICAgICAgICAgICdyZWduYW1lc3BhY2UnLAorICAgICAgICAgICdyZWdvcGVy JywKKyAgICAgICAgICAncmVnb3BlcmF0b3InLAorICAgICAgICAgICdyZWdwcm9jJywKKyAgICAg ICAgICAncmVncHJvY2VkdXJlJywKKyAgICAgICAgICAncmVncm9sZScsCisgICAgICAgICAgJ3Jl Z3R5cGUnLAorICAgICAgICAgICdzbWFsbGludCcsCisgICAgICAgIF0sCisgICAgICB9LAorICAg ICAgeworICAgICAgICAnbmFtZSc6ICdjb2wxY29sMWNvbDFjb2wxY29sMWNvbDFjb2wxY29sMScs CisgICAgICAgICdhdHR0eXBpZCc6IDIzLAorICAgICAgICAnYXR0bGVuJzogbnVsbCwKKyAgICAg ICAgJ2F0dG51bSc6IDIsCisgICAgICAgICdhdHRuZGltcyc6IDAsCisgICAgICAgICdhdHR0eXBt b2QnOiAtMSwKKyAgICAgICAgJ2F0dGFjbCc6IFtdLAorICAgICAgICAnYXR0bm90bnVsbCc6IHRy dWUsCisgICAgICAgICdhdHRvcHRpb25zJzogbnVsbCwKKyAgICAgICAgJ2F0dHN0YXR0YXJnZXQn OiAtMSwKKyAgICAgICAgJ2F0dHN0b3JhZ2UnOiAncCcsCisgICAgICAgICdhdHRpZGVudGl0eSc6 ICcnLAorICAgICAgICAnZGVmdmFsJzogbnVsbCwKKyAgICAgICAgJ3R5cG5hbWUnOiAnaW50ZWdl cicsCisgICAgICAgICdkaXNwbGF5dHlwbmFtZSc6ICdpbnRlZ2VyJywKKyAgICAgICAgJ2NsdHlw ZSc6ICdpbnRlZ2VyJywKKyAgICAgICAgJ2VsZW1vaWQnOiAyMywKKyAgICAgICAgJ3R5cG5zcG5h bWUnOiAncGdfY2F0YWxvZycsCisgICAgICAgICdkZWZhdWx0c3RvcmFnZSc6ICdwJywKKyAgICAg ICAgJ2Rlc2NyaXB0aW9uJzogbnVsbCwKKyAgICAgICAgJ2luZGtleSc6ICcxJywKKyAgICAgICAg J2lzZHVwJzogZmFsc2UsCisgICAgICAgICdjb2xsc3BjbmFtZSc6ICcnLAorICAgICAgICAnaXNf ZmsnOiB0cnVlLAorICAgICAgICAnc2VjbGFiZWxzJzogbnVsbCwKKyAgICAgICAgJ2lzX3N5c19j b2x1bW4nOiBmYWxzZSwKKyAgICAgICAgJ2NvbGNvbnN0eXBlJzogJ24nLAorICAgICAgICAnZ2Vu ZXhwcic6IG51bGwsCisgICAgICAgICdyZWxuYW1lJzogJ3RhYjEnLAorICAgICAgICAnaXNfdmll d19vbmx5JzogZmFsc2UsCisgICAgICAgICdzZXFyZWxpZCc6IG51bGwsCisgICAgICAgICdzZXF0 eXBpZCc6IG51bGwsCisgICAgICAgICdzZXFzdGFydCc6IG51bGwsCisgICAgICAgICdzZXFpbmNy ZW1lbnQnOiBudWxsLAorICAgICAgICAnc2VxbWF4JzogbnVsbCwKKyAgICAgICAgJ3NlcW1pbic6 IG51bGwsCisgICAgICAgICdzZXFjYWNoZSc6IG51bGwsCisgICAgICAgICdzZXFjeWNsZSc6IG51 bGwsCisgICAgICAgICdpc19wayc6IGZhbHNlLAorICAgICAgICAnaXNfcHJpbWFyeV9rZXknOiBm YWxzZSwKKyAgICAgICAgJ2F0dHByZWNpc2lvbic6IG51bGwsCisgICAgICAgICdlZGl0X3R5cGVz JzogWworICAgICAgICAgICdiaWdpbnQnLAorICAgICAgICAgICdkb3VibGUgcHJlY2lzaW9uJywK KyAgICAgICAgICAnaW5mb3JtYXRpb25fc2NoZW1hLmNhcmRpbmFsX251bWJlcicsCisgICAgICAg ICAgJ2ludGVnZXInLAorICAgICAgICAgICdpbnRlZ2VyJywKKyAgICAgICAgICAnbW9uZXknLAor ICAgICAgICAgICdudW1lcmljJywKKyAgICAgICAgICAnb2lkJywKKyAgICAgICAgICAncmVhbCcs CisgICAgICAgICAgJ3JlZ2NsYXNzJywKKyAgICAgICAgICAncmVnY29uZmlnJywKKyAgICAgICAg ICAncmVnZGljdGlvbmFyeScsCisgICAgICAgICAgJ3JlZ25hbWVzcGFjZScsCisgICAgICAgICAg J3JlZ29wZXInLAorICAgICAgICAgICdyZWdvcGVyYXRvcicsCisgICAgICAgICAgJ3JlZ3Byb2Mn LAorICAgICAgICAgICdyZWdwcm9jZWR1cmUnLAorICAgICAgICAgICdyZWdyb2xlJywKKyAgICAg ICAgICAncmVndHlwZScsCisgICAgICAgICAgJ3NtYWxsaW50JywKKyAgICAgICAgXSwKKyAgICAg IH0sCisgICAgICB7CisgICAgICAgICduYW1lJzogJ2NvbDInLAorICAgICAgICAnYXR0dHlwaWQn OiAyMywKKyAgICAgICAgJ2F0dGxlbic6IG51bGwsCisgICAgICAgICdhdHRudW0nOiAzLAorICAg ICAgICAnYXR0bmRpbXMnOiAwLAorICAgICAgICAnYXR0dHlwbW9kJzogLTEsCisgICAgICAgICdh dHRhY2wnOiBbXSwKKyAgICAgICAgJ2F0dG5vdG51bGwnOiBmYWxzZSwKKyAgICAgICAgJ2F0dG9w dGlvbnMnOiBudWxsLAorICAgICAgICAnYXR0c3RhdHRhcmdldCc6IC0xLAorICAgICAgICAnYXR0 c3RvcmFnZSc6ICdwJywKKyAgICAgICAgJ2F0dGlkZW50aXR5JzogJycsCisgICAgICAgICdkZWZ2 YWwnOiBudWxsLAorICAgICAgICAndHlwbmFtZSc6ICdpbnRlZ2VyJywKKyAgICAgICAgJ2Rpc3Bs YXl0eXBuYW1lJzogJ2ludGVnZXInLAorICAgICAgICAnY2x0eXBlJzogJ2ludGVnZXInLAorICAg ICAgICAnZWxlbW9pZCc6IDIzLAorICAgICAgICAndHlwbnNwbmFtZSc6ICdwZ19jYXRhbG9nJywK KyAgICAgICAgJ2RlZmF1bHRzdG9yYWdlJzogJ3AnLAorICAgICAgICAnZGVzY3JpcHRpb24nOiBu dWxsLAorICAgICAgICAnaW5ka2V5JzogJzEnLAorICAgICAgICAnaXNkdXAnOiBmYWxzZSwKKyAg ICAgICAgJ2NvbGxzcGNuYW1lJzogJycsCisgICAgICAgICdpc19mayc6IGZhbHNlLAorICAgICAg ICAnc2VjbGFiZWxzJzogbnVsbCwKKyAgICAgICAgJ2lzX3N5c19jb2x1bW4nOiBmYWxzZSwKKyAg ICAgICAgJ2NvbGNvbnN0eXBlJzogJ24nLAorICAgICAgICAnZ2VuZXhwcic6IG51bGwsCisgICAg ICAgICdyZWxuYW1lJzogJ3RhYjEnLAorICAgICAgICAnaXNfdmlld19vbmx5JzogZmFsc2UsCisg ICAgICAgICdzZXFyZWxpZCc6IG51bGwsCisgICAgICAgICdzZXF0eXBpZCc6IG51bGwsCisgICAg ICAgICdzZXFzdGFydCc6IG51bGwsCisgICAgICAgICdzZXFpbmNyZW1lbnQnOiBudWxsLAorICAg ICAgICAnc2VxbWF4JzogbnVsbCwKKyAgICAgICAgJ3NlcW1pbic6IG51bGwsCisgICAgICAgICdz ZXFjYWNoZSc6IG51bGwsCisgICAgICAgICdzZXFjeWNsZSc6IG51bGwsCisgICAgICAgICdpc19w ayc6IGZhbHNlLAorICAgICAgICAnaXNfcHJpbWFyeV9rZXknOiBmYWxzZSwKKyAgICAgICAgJ2F0 dHByZWNpc2lvbic6IG51bGwsCisgICAgICAgICdlZGl0X3R5cGVzJzogWworICAgICAgICAgICdi aWdpbnQnLAorICAgICAgICAgICdkb3VibGUgcHJlY2lzaW9uJywKKyAgICAgICAgICAnaW5mb3Jt YXRpb25fc2NoZW1hLmNhcmRpbmFsX251bWJlcicsCisgICAgICAgICAgJ2ludGVnZXInLAorICAg ICAgICAgICdpbnRlZ2VyJywKKyAgICAgICAgICAnaW50ZWdlcicsCisgICAgICAgICAgJ21vbmV5 JywKKyAgICAgICAgICAnbnVtZXJpYycsCisgICAgICAgICAgJ29pZCcsCisgICAgICAgICAgJ3Jl YWwnLAorICAgICAgICAgICdyZWdjbGFzcycsCisgICAgICAgICAgJ3JlZ2NvbmZpZycsCisgICAg ICAgICAgJ3JlZ2RpY3Rpb25hcnknLAorICAgICAgICAgICdyZWduYW1lc3BhY2UnLAorICAgICAg ICAgICdyZWdvcGVyJywKKyAgICAgICAgICAncmVnb3BlcmF0b3InLAorICAgICAgICAgICdyZWdw cm9jJywKKyAgICAgICAgICAncmVncHJvY2VkdXJlJywKKyAgICAgICAgICAncmVncm9sZScsCisg ICAgICAgICAgJ3JlZ3R5cGUnLAorICAgICAgICAgICdzbWFsbGludCcsCisgICAgICAgIF0sCisg ICAgICB9LAorICAgIF0sCisgICAgJ3ByaW1hcnlfa2V5JzogWworICAgICAgeworICAgICAgICAn b2lkJzogNDA4MjMyLAorICAgICAgICAnbmFtZSc6ICd0YWIxX3BrZXknLAorICAgICAgICAnY29s X2NvdW50JzogMSwKKyAgICAgICAgJ3NwY25hbWUnOiAncGdfZGVmYXVsdCcsCisgICAgICAgICdj b21tZW50JzogbnVsbCwKKyAgICAgICAgJ2NvbmRlZmVycmFibGUnOiBmYWxzZSwKKyAgICAgICAg J2NvbmRlZmVycmVkJzogZmFsc2UsCisgICAgICAgICdmaWxsZmFjdG9yJzogbnVsbCwKKyAgICAg ICAgJ2NvbHVtbnMnOiBbCisgICAgICAgICAgeworICAgICAgICAgICAgJ2NvbHVtbic6ICdpZCcs CisgICAgICAgICAgfSwKKyAgICAgICAgXSwKKyAgICAgICAgJ2luY2x1ZGUnOiBbXSwKKyAgICAg IH0sCisgICAgXSwKKyAgICAndW5pcXVlX2NvbnN0cmFpbnQnOiBbXSwKKyAgICAnZm9yZWlnbl9r ZXknOiBbCisgICAgICB7CisgICAgICAgICdvaWQnOiA0MDgyMzksCisgICAgICAgICduYW1lJzog J3RhYjFfY29sMV9ma2V5JywKKyAgICAgICAgJ2NvbmRlZmVycmFibGUnOiBmYWxzZSwKKyAgICAg ICAgJ2NvbmRlZmVycmVkJzogZmFsc2UsCisgICAgICAgICdjb25mdXBkdHlwZSc6ICdhJywKKyAg ICAgICAgJ2NvbmZkZWx0eXBlJzogJ2EnLAorICAgICAgICAnY29uZm1hdGNodHlwZSc6IGZhbHNl LAorICAgICAgICAnY29ua2V5JzogWworICAgICAgICAgIDIsCisgICAgICAgIF0sCisgICAgICAg ICdjb25ma2V5JzogWworICAgICAgICAgIDEsCisgICAgICAgIF0sCisgICAgICAgICdjb25mcmVs aWQnOiA0MDgyMzQsCisgICAgICAgICdma25zcCc6ICdlcmQnLAorICAgICAgICAnZmt0YWInOiAn dGFiMScsCisgICAgICAgICdyZWZuc3AnOiAnZXJkJywKKyAgICAgICAgJ3JlZnRhYic6ICd0YWIy JywKKyAgICAgICAgJ2NvbW1lbnQnOiBudWxsLAorICAgICAgICAnY29udmFsaWRhdGVkJzogZmFs c2UsCisgICAgICAgICdjb2x1bW5zJzogWworICAgICAgICAgIHsKKyAgICAgICAgICAgICdsb2Nh bF9jb2x1bW4nOiAnY29sMWNvbDFjb2wxY29sMWNvbDFjb2wxY29sMWNvbDEnLAorICAgICAgICAg ICAgJ3JlZmVyZW5jZXMnOiAxMjM0NTYsCisgICAgICAgICAgICAncmVmZXJlbmNlZCc6ICdpZCcs CisgICAgICAgICAgICAncmVmZXJlbmNlc190YWJsZV9uYW1lJzogJ3NjaGVtYTEudGVzdDEnLAor ICAgICAgICAgIH0sCisgICAgICAgIF0sCisgICAgICAgICdyZW1vdGVfc2NoZW1hJzogJ3NjaGVt YTEnLAorICAgICAgICAncmVtb3RlX3RhYmxlJzogJ3Rlc3QxJywKKyAgICAgICAgJ2NvdmVyaW5n aW5kZXgnOiBudWxsLAorICAgICAgICAnYXV0b2luZGV4JzogdHJ1ZSwKKyAgICAgICAgJ2hhc2lu ZGV4JzogZmFsc2UsCisgICAgICB9LAorICAgIF0sCisgICAgJ2NoZWNrX2NvbnN0cmFpbnQnOiBb XSwKKyAgICAnaW5kZXgnOiB7fSwKKyAgICAncnVsZSc6IHt9LAorICAgICd0cmlnZ2VyJzoge30s CisgICAgJ3Jvd19zZWN1cml0eV9wb2xpY3knOiB7fSwKKyAgfSwKK107CmRpZmYgLS1naXQgYS93 ZWIvcmVncmVzc2lvbi9qYXZhc2NyaXB0L2VyZC91aV9jb21wb25lbnRzL2JvZHlfd2lkZ2V0X3Nw ZWMuanMgYi93ZWIvcmVncmVzc2lvbi9qYXZhc2NyaXB0L2VyZC91aV9jb21wb25lbnRzL2JvZHlf d2lkZ2V0X3NwZWMuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwLi4xNjky ODk4MGYKLS0tIC9kZXYvbnVsbAorKysgYi93ZWIvcmVncmVzc2lvbi9qYXZhc2NyaXB0L2VyZC91 aV9jb21wb25lbnRzL2JvZHlfd2lkZ2V0X3NwZWMuanMKQEAgLTAsMCArMSw1MTQgQEAKK2ltcG9y dCBqYXNtaW5lRW56eW1lIGZyb20gJ2phc21pbmUtZW56eW1lJzsKK2ltcG9ydCBSZWFjdCBmcm9t ICdyZWFjdCc7CitpbXBvcnQge21vdW50fSBmcm9tICdlbnp5bWUnOworaW1wb3J0ICcuLi8uLi9o ZWxwZXIvZW56eW1lLmhlbHBlcic7CitpbXBvcnQgTW9ja0FkYXB0ZXIgZnJvbSAnYXhpb3MtbW9j ay1hZGFwdGVyJzsKK2ltcG9ydCBheGlvcyBmcm9tICdheGlvcy9pbmRleCc7CisKK2ltcG9ydCBF UkRDb3JlIGZyb20gJ3BnYWRtaW4udG9vbHMuZXJkL2VyZF90b29sL0VSRENvcmUnOworaW1wb3J0 ICogYXMgZXJkTW9kdWxlIGZyb20gJ3BnYWRtaW4udG9vbHMuZXJkL2VyZF9tb2R1bGUnOworaW1w b3J0IGVyZFByZWYgZnJvbSAnLi9lcmRfcHJlZmVyZW5jZXMnOworaW1wb3J0IEJvZHlXaWRnZXQg ZnJvbSAncGdhZG1pbi50b29scy5lcmQvZXJkX3Rvb2wvdWlfY29tcG9uZW50cy9Cb2R5V2lkZ2V0 JzsKK2ltcG9ydCAqIGFzIEVSRFNxbFRvb2wgZnJvbSAndG9vbHMvZGF0YWdyaWQvc3RhdGljL2pz L3Nob3dfcXVlcnlfdG9vbCc7CisKK2xldCBwZ0FkbWluID0geworICBCcm93c2VyOiB7CisgICAg RXZlbnRzOiB7CisgICAgICBvbjogamFzbWluZS5jcmVhdGVTcHkoJ29uJyksCisgICAgfSwKKyAg ICBnZXRfcHJlZmVyZW5jZXNfZm9yX21vZHVsZTogZnVuY3Rpb24oKSB7CisgICAgICByZXR1cm4g ZXJkUHJlZjsKKyAgICB9LAorICAgIGRvY2tlcjogeworICAgICAgZmluZFBhbmVsczogZnVuY3Rp b24oKSB7CisgICAgICAgIHJldHVybiBbCisgICAgICAgICAgeworICAgICAgICAgICAgaXNWaXNp YmxlOiBmdW5jdGlvbigpIHsKKyAgICAgICAgICAgICAgcmV0dXJuIHRydWU7CisgICAgICAgICAg ICB9LAorICAgICAgICAgIH0sCisgICAgICAgIF07CisgICAgICB9LAorICAgIH0sCisgICAgb25Q cmVmZXJlbmNlc0NoYW5nZTogKCk9Pnt9LAorICAgIHV0aWxzOiB7CisgICAgICBhcHBfdmVyc2lv bl9pbnQ6IDEyMzQsCisgICAgfSwKKyAgfSwKKyAgRmlsZU1hbmFnZXI6IHsKKyAgICBpbml0OiBq YXNtaW5lLmNyZWF0ZVNweSgpLAorICAgIHNob3dfZGlhbG9nOiBqYXNtaW5lLmNyZWF0ZVNweSgp LAorICB9LAorfTsKKworbGV0IGFsZXJ0aWZ5ID0gamFzbWluZS5jcmVhdGVTcHlPYmooJ2FsZXJ0 aWZ5JywgeworICAnc3VjY2Vzcyc6IG51bGwsCisgICdlcnJvcic6IG51bGwsCisgICdjb25maXJt JzogbnVsbCwKKyAgJ2FsZXJ0JzogeworICAgICdzZXQnOiAoKT0+e30sCisgIH0sCit9KTsKKwor bGV0IHRhYmxlRGlhbG9nID0gamFzbWluZS5jcmVhdGVTcHlPYmooJ1RhYmxlRGlhbG9nJywgWydz aG93J10pOworbGV0IG90bURpYWxvZyA9IGphc21pbmUuY3JlYXRlU3B5T2JqKCdvdG1EaWFsb2cn LCBbJ3Nob3cnXSk7CitsZXQgbXRtRGlhbG9nID0gamFzbWluZS5jcmVhdGVTcHlPYmooJ210bURp YWxvZycsIFsnc2hvdyddKTsKKworbGV0IGdldERpYWxvZyA9IChkaWFsb2dOYW1lKT0+eworICBz d2l0Y2goZGlhbG9nTmFtZSkgeworICBjYXNlICdlbnRpdHlfZGlhbG9nJzogcmV0dXJuIHRhYmxl RGlhbG9nOworICBjYXNlICdvbmV0b21hbnlfZGlhbG9nJzogcmV0dXJuIG90bURpYWxvZzsKKyAg Y2FzZSAnbWFueXRvbWFueV9kaWFsb2cnOiByZXR1cm4gbXRtRGlhbG9nOworICB9Cit9OworCitk ZXNjcmliZSgnRVJEIEJvZHlXaWRnZXQnLCAoKT0+eworICBsZXQgYm9keSA9IG51bGw7CisgIGxl dCBib2R5SW5zdGFuY2UgPSBudWxsOworICBsZXQgbmV0d29ya01vY2sgPSBudWxsOworICBsZXQg c2VydmVyVmVyc2lvbiA9IDEyMDAwMDsKKyAgbGV0IGNvbFR5cGVzID0gWworICAgIHsnbGFiZWwn OiAnaW50ZWdlcicsICd2YWx1ZSc6ICdpbnRlZ2VyJ30sCisgICAgeydsYWJlbCc6ICdjaGFyYWN0 ZXIgdmFycnlpbmcnLCAndmFsdWUnOiAnY2hhcmFjdGVyIHZhcnJ5aW5nJ30sCisgIF07CisgIGxl dCBzY2hlbWFzID0gWworICAgIHsnb2lkJzogMTExLCAnbmFtZSc6ICdlcmQxJ30sCisgICAgeydv aWQnOiAyMjIsICduYW1lJzogJ2VyZDInfSwKKyAgXTsKKyAgbGV0IHBhcmFtcyA9IHsKKyAgICBi Z2NvbG9yOiBudWxsLAorICAgIGNsaWVudF9wbGF0Zm9ybTogJ21hY29zJywKKyAgICBkaWQ6ICcx MzYzNycsCisgICAgZmdjb2xvcjogbnVsbCwKKyAgICBnZW46IHRydWUsCisgICAgaXNfZGVza3Rv cF9tb2RlOiB0cnVlLAorICAgIGlzX2xpbnV4OiBmYWxzZSwKKyAgICBzZXJ2ZXJfdHlwZTogJ3Bn JywKKyAgICBzZ2lkOiAnMScsCisgICAgc2lkOiAnNScsCisgICAgdGl0bGU6ICdwb3N0Z3Jlcy9w b3N0Z3Jlc0BQb3N0Z3JlU1FMIDEyJywKKyAgICB0cmFuc19pZDogMTEwMDA4LAorICB9OworCisg IGJlZm9yZUFsbCgoKT0+eworICAgIHNweU9uKGVyZE1vZHVsZSwgJ3NldFBhbmVsVGl0bGUnKTsK KyAgICBzcHlPbihFUkRDb3JlLnByb3RvdHlwZSwgJ3JlcGFpbnQnKTsKKyAgICBzcHlPbihFUkRD b3JlLnByb3RvdHlwZSwgJ2Rlc2VyaWFsaXplRGF0YScpOworICAgIHNweU9uKEVSRENvcmUucHJv dG90eXBlLCAnYWRkTm9kZScpLmFuZC5yZXR1cm5WYWx1ZSh7CisgICAgICBzZXRTZWxlY3RlZDog KCk9Pnt9LAorICAgICAgZ2V0Q29sdW1uczogKCk9Pihbe2F0dG51bTogMH0sIHthdHRudW06IDF9 XSksCisgICAgICBnZXRJRDogKCk9PiduZXdpZDEnLAorICAgIH0pOworICAgIHNweU9uKEVSRENv cmUucHJvdG90eXBlLCAnYWRkTGluaycpLmFuZC5yZXR1cm5WYWx1ZSh7CisgICAgICBzZXRTZWxl Y3RlZDogKCk9Pnt9LAorICAgIH0pOworICAgIHNweU9uKGFsZXJ0aWZ5LCAnY29uZmlybScpLmFu ZC5jYWxsRmFrZSgoYXJnMSwgYXJnMiwgb2tDYWxsYmFjayk9PnsKKyAgICAgIG9rQ2FsbGJhY2so KTsKKyAgICB9KTsKKworICAgIG5ldHdvcmtNb2NrID0gbmV3IE1vY2tBZGFwdGVyKGF4aW9zKTsK KyAgICBuZXR3b3JrTW9jay5vblBvc3QoJy9lcmQvaW5pdGlhbGl6ZS8xMTAwMDgvMS81LzEzNjM3 JykucmVwbHkoMjAwLCB7J2RhdGEnOiB7CisgICAgICBzZXJ2ZXJWZXJzaW9uOiBzZXJ2ZXJWZXJz aW9uLAorICAgIH19KTsKKyAgICBuZXR3b3JrTW9jay5vbkdldCgnL2VyZC9wcmVxdWlzaXRlLzEx MDAwOC8xLzUvMTM2MzcnKS5yZXBseSgyMDAsIHsnZGF0YSc6IHsKKyAgICAgICdjb2xfdHlwZXMn OiBjb2xUeXBlcywKKyAgICAgICdzY2hlbWFzJzogc2NoZW1hcywKKyAgICB9fSk7CisgICAgbmV0 d29ya01vY2sub25HZXQoJy9lcmQvdGFibGVzLzExMDAwOC8xLzUvMTM2MzcnKS5yZXBseSgyMDAs IHsnZGF0YSc6IFtdfSk7CisKKyAgICBuZXR3b3JrTW9jay5vblBvc3QoJy9lcmQvc3FsLzExMDAw OC8xLzUvMTM2MzcnKS5yZXBseSgyMDAsIHsnZGF0YSc6ICdTRUxFQ1QgMTsnfSk7CisKKyAgICBu ZXR3b3JrTW9jay5vblBvc3QoJy9zcWxlZGl0b3IvbG9hZF9maWxlLycpLnJlcGx5KDIwMCwgeydk YXRhJzogJ2RhdGEnfSk7CisgICAgbmV0d29ya01vY2sub25Qb3N0KCcvc3FsZWRpdG9yL3NhdmVf ZmlsZS8nKS5yZXBseSgyMDAsIHsnZGF0YSc6ICdkYXRhJ30pOworICB9KTsKKworICBiZWZvcmVF YWNoKCgpPT57CisgICAgamFzbWluZUVuenltZSgpOworICAgIGJvZHkgPSBtb3VudCg8Qm9keVdp ZGdldCBwYXJhbXM9e3BhcmFtc30gcGdBZG1pbj17cGdBZG1pbn0gZ2V0RGlhbG9nPXtnZXREaWFs b2d9IHRyYW5zZm9ybVRvU3VwcG9ydGVkPXsoKT0+e319IGFsZXJ0aWZ5PXthbGVydGlmeX0vPik7 CisgICAgYm9keUluc3RhbmNlID0gYm9keS5pbnN0YW5jZSgpOworICB9KTsKKworICBhZnRlckFs bCgoKSA9PiB7CisgICAgbmV0d29ya01vY2sucmVzdG9yZSgpOworICAgIGlmKGJvZHkpIHsKKyAg ICAgIGJvZHkudW5tb3VudCgpOworICAgIH0KKyAgfSk7CisKKyAgaXQoJ2NvbnN0cnVjdG9yJywg KGRvbmUpPT57CisKKyAgICBleHBlY3QoYm9keS5maW5kKCdUb29sQmFyJykubGVuZ3RoKS50b0Jl KDEpOworICAgIGV4cGVjdChib2R5LmZpbmQoJ0Nvbm5lY3Rpb25CYXInKS5sZW5ndGgpLnRvQmUo MSk7CisgICAgZXhwZWN0KGJvZHkuZmluZCgnRmxvYXRpbmdOb3RlJykubGVuZ3RoKS50b0JlKDEp OworICAgIGV4cGVjdChib2R5LmZpbmQoJy5kaWFncmFtLWNvbnRhaW5lciBMb2FkZXInKS5sZW5n dGgpLnRvQmUoMSk7CisgICAgZXhwZWN0KGJvZHkuZmluZCgnLmRpYWdyYW0tY29udGFpbmVyIENh bnZhc1dpZGdldCcpLmxlbmd0aCkudG9CZSgxKTsKKworICAgIGJvZHkuaW5zdGFuY2UoKS5zZXRT dGF0ZSh7fSwgKCk9PnsKKyAgICAgIGxldCBpbnN0YW5jZSA9IGJvZHkuaW5zdGFuY2UoKTsKKwor ICAgICAgc2V0VGltZW91dCgoKT0+eworICAgICAgICBleHBlY3QoYm9keS5zdGF0ZSgpKS50b0Vx dWFsKGphc21pbmUub2JqZWN0Q29udGFpbmluZyh7CisgICAgICAgICAgc2VydmVyX3ZlcnNpb246 IHNlcnZlclZlcnNpb24sCisgICAgICAgICAgcHJlZmVyZW5jZXM6IGVyZFByZWYsCisgICAgICAg IH0pKTsKKyAgICAgICAgZXhwZWN0KGluc3RhbmNlLmRpYWdyYW0uZ2V0Q2FjaGUoJ2NvbFR5cGVz JykpLnRvRXF1YWwoY29sVHlwZXMpOworICAgICAgICBleHBlY3QoaW5zdGFuY2UuZGlhZ3JhbS5n ZXRDYWNoZSgnc2NoZW1hcycpKS50b0VxdWFsKHNjaGVtYXMpOworICAgICAgICBkb25lKCk7Cisg ICAgICB9KTsKKyAgICB9KTsKKyAgfSk7CisKKyAgaXQoJ2V2ZW50IG9mZnNldFVwZGF0ZWQnLCAo ZG9uZSk9PnsKKyAgICBib2R5SW5zdGFuY2UuZGlhZ3JhbS5maXJlRXZlbnQoe29mZnNldFg6IDQs IG9mZnNldFk6IDV9LCAnb2Zmc2V0VXBkYXRlZCcsIHRydWUpOworICAgIHNldFRpbWVvdXQoKCk9 PnsKKyAgICAgIGV4cGVjdChib2R5SW5zdGFuY2UuY2FudmFzRWxlLnN0eWxlLmJhY2tncm91bmRQ b3NpdGlvbikudG9CZSgnNHB4IDVweCcpOworICAgICAgZG9uZSgpOworICAgIH0pOworICB9KTsK KworICBpdCgnZXZlbnQgem9vbVVwZGF0ZWQnLCAoZG9uZSk9PnsKKyAgICBzcHlPbihib2R5SW5z dGFuY2UuZGlhZ3JhbS5nZXRNb2RlbCgpLCAnZ2V0T3B0aW9ucycpLmFuZC5yZXR1cm5WYWx1ZSh7 Z3JpZFNpemU6IDE1fSk7CisgICAgYm9keUluc3RhbmNlLmRpYWdyYW0uZmlyZUV2ZW50KHt6b29t OiAyMH0sICd6b29tVXBkYXRlZCcsIHRydWUpOworICAgIHNldFRpbWVvdXQoKCk9PnsKKyAgICAg IGV4cGVjdChib2R5SW5zdGFuY2UuY2FudmFzRWxlLnN0eWxlLmJhY2tncm91bmRTaXplKS50b0Jl KCc5cHggOXB4Jyk7CisgICAgICBkb25lKCk7CisgICAgfSk7CisgIH0pOworCisgIGl0KCdldmVu dCBub2Rlc1NlbGVjdGlvbkNoYW5nZWQnLCAoZG9uZSk9PnsKKyAgICBzcHlPbihib2R5SW5zdGFu Y2UuZGlhZ3JhbSwgJ2dldFNlbGVjdGVkTm9kZXMnKS5hbmQucmV0dXJuVmFsdWUoW3trZXk6J3Zh bHVlJ31dKTsKKyAgICBib2R5SW5zdGFuY2UuZGlhZ3JhbS5maXJlRXZlbnQoe30sICdub2Rlc1Nl bGVjdGlvbkNoYW5nZWQnLCB0cnVlKTsKKyAgICBzZXRUaW1lb3V0KCgpPT57CisgICAgICBleHBl Y3QoYm9keS5zdGF0ZSgpLnNpbmdsZV9ub2RlX3NlbGVjdGVkKS50b0JlKHRydWUpOworICAgICAg ZXhwZWN0KGJvZHkuc3RhdGUoKS5hbnlfaXRlbV9zZWxlY3RlZCkudG9CZSh0cnVlKTsKKyAgICAg IGRvbmUoKTsKKyAgICB9KTsKKyAgfSk7CisKKyAgaXQoJ2V2ZW50IGxpbmtzU2VsZWN0aW9uQ2hh bmdlZCcsIChkb25lKT0+eworICAgIHNweU9uKGJvZHlJbnN0YW5jZS5kaWFncmFtLCAnZ2V0U2Vs ZWN0ZWRMaW5rcycpLmFuZC5yZXR1cm5WYWx1ZShbe2tleTondmFsdWUnfV0pOworICAgIGJvZHlJ bnN0YW5jZS5kaWFncmFtLmZpcmVFdmVudCh7fSwgJ2xpbmtzU2VsZWN0aW9uQ2hhbmdlZCcsIHRy dWUpOworICAgIHNldFRpbWVvdXQoKCk9PnsKKyAgICAgIGV4cGVjdChib2R5LnN0YXRlKCkuc2lu Z2xlX2xpbmtfc2VsZWN0ZWQpLnRvQmUodHJ1ZSk7CisgICAgICBleHBlY3QoYm9keS5zdGF0ZSgp LmFueV9pdGVtX3NlbGVjdGVkKS50b0JlKHRydWUpOworICAgICAgZG9uZSgpOworICAgIH0pOwor ICB9KTsKKworICBpdCgnZXZlbnQgbGlua3NVcGRhdGVkJywgKGRvbmUpPT57CisgICAgYm9keUlu c3RhbmNlLmRpYWdyYW0uZmlyZUV2ZW50KHt9LCAnbGlua3NVcGRhdGVkJywgdHJ1ZSk7CisgICAg c2V0VGltZW91dCgoKT0+eworICAgICAgZXhwZWN0KGJvZHkuc3RhdGUoKS5kaXJ0eSkudG9CZSh0 cnVlKTsKKyAgICAgIGRvbmUoKTsKKyAgICB9KTsKKyAgfSk7CisKKyAgaXQoJ2V2ZW50IG5vZGVz VXBkYXRlZCcsIChkb25lKT0+eworICAgIGJvZHlJbnN0YW5jZS5kaWFncmFtLmZpcmVFdmVudCh7 fSwgJ25vZGVzVXBkYXRlZCcsIHRydWUpOworICAgIHNldFRpbWVvdXQoKCk9PnsKKyAgICAgIGV4 cGVjdChib2R5LnN0YXRlKCkuZGlydHkpLnRvQmUodHJ1ZSk7CisgICAgICBkb25lKCk7CisgICAg fSk7CisgIH0pOworCisgIGl0KCdldmVudCBzaG93Tm90ZScsIChkb25lKT0+eworICAgIGxldCBu b3RlTm9kZSA9IHtrZXk6ICd2YWx1ZScsIGdldE5vdGU6ICgpPT4nYSBub3RlJ307CisgICAgc3B5 T24oYm9keUluc3RhbmNlLCAnc2hvd05vdGUnKTsKKyAgICBib2R5SW5zdGFuY2UuZGlhZ3JhbS5m aXJlRXZlbnQoe25vZGU6IG5vdGVOb2RlfSwgJ3Nob3dOb3RlJywgdHJ1ZSk7CisgICAgc2V0VGlt ZW91dCgoKT0+eworICAgICAgZXhwZWN0KGJvZHlJbnN0YW5jZS5zaG93Tm90ZSkudG9IYXZlQmVl bkNhbGxlZFdpdGgobm90ZU5vZGUpOworICAgICAgZG9uZSgpOworICAgIH0pOworICB9KTsKKwor ICBpdCgnZXZlbnQgZWRpdE5vZGUnLCAoZG9uZSk9PnsKKyAgICBsZXQgbm9kZSA9IHtrZXk6ICd2 YWx1ZScsIGdldE5vdGU6ICgpPT4nYSBub3RlJ307CisgICAgc3B5T24oYm9keUluc3RhbmNlLCAn YWRkRWRpdE5vZGUnKTsKKyAgICBib2R5SW5zdGFuY2UuZGlhZ3JhbS5maXJlRXZlbnQoe25vZGU6 IG5vZGV9LCAnZWRpdE5vZGUnLCB0cnVlKTsKKyAgICBzZXRUaW1lb3V0KCgpPT57CisgICAgICBl eHBlY3QoYm9keUluc3RhbmNlLmFkZEVkaXROb2RlKS50b0hhdmVCZWVuQ2FsbGVkV2l0aChub2Rl KTsKKyAgICAgIGRvbmUoKTsKKyAgICB9KTsKKyAgfSk7CisKKyAgaXQoJ2dldERpYWxvZycsICgp PT57CisgICAgYm9keUluc3RhbmNlLmdldERpYWxvZygnZW50aXR5X2RpYWxvZycpKCk7CisgICAg ZXhwZWN0KHRhYmxlRGlhbG9nLnNob3cpLnRvSGF2ZUJlZW5DYWxsZWQoKTsKKworICAgIGJvZHlJ bnN0YW5jZS5nZXREaWFsb2coJ29uZXRvbWFueV9kaWFsb2cnKSgpOworICAgIGV4cGVjdChvdG1E aWFsb2cuc2hvdykudG9IYXZlQmVlbkNhbGxlZCgpOworCisgICAgYm9keUluc3RhbmNlLmdldERp YWxvZygnbWFueXRvbWFueV9kaWFsb2cnKSgpOworICAgIGV4cGVjdChtdG1EaWFsb2cuc2hvdyku dG9IYXZlQmVlbkNhbGxlZCgpOworICB9KTsKKworICBpdCgnYWRkRWRpdE5vZGUnLCAoKT0+ewor ICAgIC8qIE5ldyAqLworICAgIHRhYmxlRGlhbG9nLnNob3cuY2FsbHMucmVzZXQoKTsKKyAgICBi b2R5SW5zdGFuY2UuYWRkRWRpdE5vZGUoKTsKKyAgICBleHBlY3QodGFibGVEaWFsb2cuc2hvdyku dG9IYXZlQmVlbkNhbGxlZCgpOworCisgICAgbGV0IHNhdmVDYWxsYmFjayA9IHRhYmxlRGlhbG9n LnNob3cuY2FsbHMubW9zdFJlY2VudCgpLmFyZ3NbNV07CisgICAgbGV0IG5ld0RhdGEgPSB7a2V5 OiAndmFsdWUnfTsKKyAgICBzYXZlQ2FsbGJhY2sobmV3RGF0YSk7CisgICAgZXhwZWN0KGJvZHlJ bnN0YW5jZS5kaWFncmFtLmFkZE5vZGUpLnRvSGF2ZUJlZW5DYWxsZWRXaXRoKG5ld0RhdGEpOwor CisgICAgLyogRXhpc3RpbmcgKi8KKyAgICB0YWJsZURpYWxvZy5zaG93LmNhbGxzLnJlc2V0KCk7 CisgICAgbGV0IG5vZGUgPSBqYXNtaW5lLmNyZWF0ZVNweU9iaignbm9kZScseworICAgICAgZ2V0 U2NoZW1hVGFibGVOYW1lOiBbJ2VyZDEnLCAndGFibGUxJ10sCisgICAgICBzZXREYXRhOiBudWxs LAorICAgICAgZ2V0RGF0YTogbnVsbCwKKyAgICB9KTsKKyAgICBib2R5SW5zdGFuY2UuYWRkRWRp dE5vZGUobm9kZSk7CisgICAgZXhwZWN0KHRhYmxlRGlhbG9nLnNob3cpLnRvSGF2ZUJlZW5DYWxs ZWQoKTsKKworICAgIHNhdmVDYWxsYmFjayA9IHRhYmxlRGlhbG9nLnNob3cuY2FsbHMubW9zdFJl Y2VudCgpLmFyZ3NbNV07CisgICAgbmV3RGF0YSA9IHtrZXk6ICd2YWx1ZSd9OworICAgIHNhdmVD YWxsYmFjayhuZXdEYXRhKTsKKyAgICBleHBlY3Qobm9kZS5zZXREYXRhKS50b0hhdmVCZWVuQ2Fs bGVkV2l0aChuZXdEYXRhKTsKKyAgfSk7CisKKyAgaXQoJ29uRWRpdE5vZGUnLCAoKT0+eworICAg IGxldCBub2RlID0ge2tleTogJ3ZhbHVlJ307CisgICAgc3B5T24oYm9keUluc3RhbmNlLCAnYWRk RWRpdE5vZGUnKTsKKyAgICBzcHlPbihib2R5SW5zdGFuY2UuZGlhZ3JhbSwgJ2dldFNlbGVjdGVk Tm9kZXMnKS5hbmQucmV0dXJuVmFsdWUoW25vZGVdKTsKKyAgICBib2R5SW5zdGFuY2Uub25FZGl0 Tm9kZSgpOworICAgIGV4cGVjdChib2R5SW5zdGFuY2UuYWRkRWRpdE5vZGUpLnRvSGF2ZUJlZW5D YWxsZWRXaXRoKG5vZGUpOworICB9KTsKKworICBpdCgnb25BZGROZXdOb2RlJywgKCk9PnsKKyAg ICBzcHlPbihib2R5SW5zdGFuY2UsICdhZGRFZGl0Tm9kZScpOworICAgIGJvZHlJbnN0YW5jZS5v bkFkZE5ld05vZGUoKTsKKyAgICBleHBlY3QoYm9keUluc3RhbmNlLmFkZEVkaXROb2RlKS50b0hh dmVCZWVuQ2FsbGVkKCk7CisgIH0pOworCisgIGl0KCdvbkNsb25lTm9kZScsICgpPT57CisgICAg bGV0IG5vZGUgPSBqYXNtaW5lLmNyZWF0ZVNweU9iaignbm9kZScseworICAgICAgZ2V0U2NoZW1h VGFibGVOYW1lOiBbJ2VyZDEnLCAndGFibGUxJ10sCisgICAgICBzZXREYXRhOiBudWxsLAorICAg ICAgZ2V0RGF0YTogbnVsbCwKKyAgICAgIGNsb25lRGF0YToge2tleTogJ3ZhbHVlJ30sCisgICAg ICBnZXRQb3NpdGlvbjoge3g6IDMwLCB5OiAzMH0sCisgICAgfSk7CisgICAgc3B5T24oYm9keUlu c3RhbmNlLmRpYWdyYW0sICdnZXRTZWxlY3RlZE5vZGVzJykuYW5kLnJldHVyblZhbHVlKFtub2Rl XSk7CisgICAgc3B5T24oYm9keUluc3RhbmNlLmRpYWdyYW0sICdnZXROZXh0VGFibGVOYW1lJyku YW5kLnJldHVyblZhbHVlKCduZXd0YWJsZTEnKTsKKyAgICBib2R5SW5zdGFuY2Uub25DbG9uZU5v ZGUoKTsKKyAgICBleHBlY3QoYm9keUluc3RhbmNlLmRpYWdyYW0uYWRkTm9kZSkudG9IYXZlQmVl bkNhbGxlZFdpdGgoe2tleTogJ3ZhbHVlJ30sIFs1MCwgNTBdKTsKKyAgfSk7CisKKyAgaXQoJ29u RGVsZXRlTm9kZScsIChkb25lKT0+eworICAgIGxldCBub2RlID0gamFzbWluZS5jcmVhdGVTcHlP YmooJ25vZGUnLHsKKyAgICAgIGdldFNjaGVtYVRhYmxlTmFtZTogWydlcmQxJywgJ3RhYmxlMSdd LAorICAgICAgc2V0RGF0YTogbnVsbCwKKyAgICAgIGdldERhdGE6IG51bGwsCisgICAgICBjbG9u ZURhdGE6IHtrZXk6ICd2YWx1ZSd9LAorICAgICAgZ2V0UG9zaXRpb246IHt4OiAzMCwgeTogMzB9 LAorICAgICAgcmVtb3ZlOiBudWxsLAorICAgICAgc2V0U2VsZWN0ZWQ6IG51bGwsCisgICAgfSk7 CisgICAgbGV0IGxpbmsgPSBqYXNtaW5lLmNyZWF0ZVNweU9iaignbGluaycsIHsKKyAgICAgIHJl bW92ZTogbnVsbCwKKyAgICAgIHNldFNlbGVjdGVkOiBudWxsLAorICAgICAgZ2V0VGFyZ2V0UG9y dDogamFzbWluZS5jcmVhdGVTcHlPYmooJ3BvcnQnLCBbJ3JlbW92ZSddKSwKKyAgICAgIGdldFNv dXJjZVBvcnQ6IGphc21pbmUuY3JlYXRlU3B5T2JqKCdwb3J0JywgWydyZW1vdmUnXSksCisgICAg fSk7CisgICAgc3B5T24oYm9keUluc3RhbmNlLmRpYWdyYW0sICdnZXRTZWxlY3RlZE5vZGVzJyku YW5kLnJldHVyblZhbHVlKFtub2RlXSk7CisgICAgc3B5T24oYm9keUluc3RhbmNlLmRpYWdyYW0s ICdnZXRTZWxlY3RlZExpbmtzJykuYW5kLnJldHVyblZhbHVlKFtsaW5rXSk7CisKKyAgICBib2R5 SW5zdGFuY2Uub25EZWxldGVOb2RlKCk7CisgICAgc2V0VGltZW91dCgoKT0+eworICAgICAgZXhw ZWN0KG5vZGUucmVtb3ZlKS50b0hhdmVCZWVuQ2FsbGVkKCk7CisgICAgICBleHBlY3QobGluay5y ZW1vdmUpLnRvSGF2ZUJlZW5DYWxsZWQoKTsKKyAgICAgIGRvbmUoKTsKKyAgICB9KTsKKyAgfSk7 CisKKyAgaXQoJ29uQXV0b0Rpc3RyaWJ1dGUnLCAoKT0+eworICAgIHNweU9uKGJvZHlJbnN0YW5j ZS5kaWFncmFtLCAnZGFncmVEaXN0cmlidXRlTm9kZXMnKTsKKyAgICBib2R5SW5zdGFuY2Uub25B dXRvRGlzdHJpYnV0ZSgpOworICAgIGV4cGVjdChib2R5SW5zdGFuY2UuZGlhZ3JhbS5kYWdyZURp c3RyaWJ1dGVOb2RlcykudG9IYXZlQmVlbkNhbGxlZCgpOworICB9KTsKKworICBpdCgnb25EZXRh aWxzVG9nZ2xlJywgKGRvbmUpPT57CisgICAgbGV0IG5vZGUgPSBqYXNtaW5lLmNyZWF0ZVNweU9i aignbm9kZScsWydmaXJlRXZlbnQnXSk7CisgICAgc3B5T24oYm9keUluc3RhbmNlLmRpYWdyYW0s ICdnZXRNb2RlbCcpLmFuZC5yZXR1cm5WYWx1ZSh7CisgICAgICAnZ2V0Tm9kZXMnOiAoKT0+W25v ZGVdLAorICAgIH0pOworCisgICAgbGV0IHNob3dfZGV0YWlscyA9IGJvZHkuc3RhdGUoKS5zaG93 X2RldGFpbHM7CisgICAgYm9keUluc3RhbmNlLm9uRGV0YWlsc1RvZ2dsZSgpOworICAgIGJvZHku c2V0U3RhdGUoe30sICgpPT57CisgICAgICBleHBlY3QoYm9keS5zdGF0ZSgpLnNob3dfZGV0YWls cykudG9CZSghc2hvd19kZXRhaWxzKTsKKyAgICAgIGV4cGVjdChub2RlLmZpcmVFdmVudCkudG9I YXZlQmVlbkNhbGxlZFdpdGgoe3Nob3dfZGV0YWlsczogIXNob3dfZGV0YWlsc30sICd0b2dnbGVE ZXRhaWxzJyk7CisgICAgICBkb25lKCk7CisgICAgfSk7CisgIH0pOworCisgIGl0KCdvbkxvYWRE aWFncmFtJywgKCk9PnsKKyAgICBib2R5SW5zdGFuY2Uub25Mb2FkRGlhZ3JhbSgpOworICAgIGV4 cGVjdChwZ0FkbWluLkZpbGVNYW5hZ2VyLnNob3dfZGlhbG9nKS50b0hhdmVCZWVuQ2FsbGVkKCk7 CisgIH0pOworCisgIGl0KCdvcGVuRmlsZScsIChkb25lKT0+eworICAgIHNweU9uKGJvZHlJbnN0 YW5jZS5kaWFncmFtLCAnZGVzZXJpYWxpemUnKTsKKyAgICBib2R5SW5zdGFuY2Uub3BlbkZpbGUo J3Rlc3QucGdlcmQnKTsKKyAgICBzZXRUaW1lb3V0KCgpPT57CisgICAgICBleHBlY3QoYm9keS5z dGF0ZSgpKS50b0VxdWFsKGphc21pbmUub2JqZWN0Q29udGFpbmluZyh7CisgICAgICAgIGN1cnJl bnRfZmlsZTogJ3Rlc3QucGdlcmQnLAorICAgICAgICBkaXJ0eTogZmFsc2UsCisgICAgICB9KSk7 CisgICAgICBleHBlY3QoYm9keUluc3RhbmNlLmRpYWdyYW0uZGVzZXJpYWxpemUpLnRvSGF2ZUJl ZW5DYWxsZWRXaXRoKHtkYXRhOiAnZGF0YSd9KTsKKyAgICAgIGRvbmUoKTsKKyAgICB9KTsKKyAg fSk7CisKKyAgaXQoJ29uU2F2ZURpYWdyYW0nLCAoZG9uZSk9PnsKKyAgICBib2R5LnNldFN0YXRl KHsKKyAgICAgIGN1cnJlbnRfZmlsZTogJ25ld2ZpbGUucGdlcmQnLAorICAgIH0pOworICAgIGJv ZHlJbnN0YW5jZS5vblNhdmVEaWFncmFtKCk7CisgICAgc2V0VGltZW91dCgoKT0+eworICAgICAg ZXhwZWN0KGJvZHkuc3RhdGUoKSkudG9FcXVhbChqYXNtaW5lLm9iamVjdENvbnRhaW5pbmcoewor ICAgICAgICBjdXJyZW50X2ZpbGU6ICduZXdmaWxlLnBnZXJkJywKKyAgICAgICAgZGlydHk6IGZh bHNlLAorICAgICAgfSkpOworICAgICAgZG9uZSgpOworICAgIH0pOworCisgICAgYm9keUluc3Rh bmNlLm9uU2F2ZURpYWdyYW0odHJ1ZSk7CisgICAgZXhwZWN0KHBnQWRtaW4uRmlsZU1hbmFnZXIu c2hvd19kaWFsb2cpLnRvSGF2ZUJlZW5DYWxsZWRXaXRoKHsKKyAgICAgICdzdXBwb3J0ZWRfdHlw ZXMnOiBbJ3BnZXJkJ10sCisgICAgICAnZGlhbG9nX3R5cGUnOiAnY3JlYXRlX2ZpbGUnLAorICAg ICAgJ2RpYWxvZ190aXRsZSc6ICdTYXZlIEZpbGUnLAorICAgICAgJ2J0bl9wcmltYXJ5JzogJ1Nh dmUnLAorICAgIH0pOworICB9KTsKKworICBpdCgnb25TYXZlQXNEaWFncmFtJywgKCk9PnsKKyAg ICBzcHlPbihib2R5SW5zdGFuY2UsICdvblNhdmVEaWFncmFtJyk7CisgICAgYm9keUluc3RhbmNl Lm9uU2F2ZUFzRGlhZ3JhbSgpOworICAgIGV4cGVjdChib2R5SW5zdGFuY2Uub25TYXZlRGlhZ3Jh bSkudG9IYXZlQmVlbkNhbGxlZFdpdGgodHJ1ZSk7CisgIH0pOworCisgIGl0KCdvblNRTENsaWNr JywgKGRvbmUpPT57CisgICAgc3B5T24oYm9keUluc3RhbmNlLmRpYWdyYW0sICdzZXJpYWxpemVE YXRhJykuYW5kLnJldHVyblZhbHVlKHtrZXk6ICd2YWx1ZSd9KTsKKyAgICBzcHlPbihFUkRTcWxU b29sLCAnc2hvd0VSRFNxbFRvb2wnKTsKKyAgICBzcHlPbihsb2NhbFN0b3JhZ2UsICdzZXRJdGVt Jyk7CisgICAgYm9keUluc3RhbmNlLm9uU1FMQ2xpY2soKTsKKworICAgIHNldFRpbWVvdXQoKCk9 PnsKKyAgICAgIGxldCBzcWwgPSAnLS0gVGhpcyBzY3JpcHQgd2FzIGdlbmVyYXRlZCBieSBhIGJl dGEgdmVyc2lvbiBvZiB0aGUgRVJEIHRvb2wgaW4gcGdBZG1pbiA0LlxuJworICAgICAgKyAnLS0g UGxlYXNlIGxvZyBhbiBpc3N1ZSBhdCBodHRwczovL3JlZG1pbmUucG9zdGdyZXNxbC5vcmcvcHJv amVjdHMvcGdhZG1pbjQvaXNzdWVzL25ldyBpZiB5b3UgZmluZCBhbnkgYnVncywgaW5jbHVkaW5n IHJlcHJvZHVjdGlvbiBzdGVwcy5cbicKKyAgICAgICsgJ0JFR0lOO1xuU0VMRUNUIDE7XG5FTkQ7 JzsKKworICAgICAgZXhwZWN0KGxvY2FsU3RvcmFnZS5zZXRJdGVtKS50b0hhdmVCZWVuQ2FsbGVk V2l0aCgnZXJkJytwYXJhbXMudHJhbnNfaWQsIHNxbCk7CisgICAgICBleHBlY3QoRVJEU3FsVG9v bC5zaG93RVJEU3FsVG9vbCkudG9IYXZlQmVlbkNhbGxlZCgpOworICAgICAgZG9uZSgpOworICAg IH0pOworICB9KTsKKworICBpdCgnb25PbmVUb01hbnlDbGljaycsICgpPT57CisgICAgbGV0IG5v ZGUgPSBqYXNtaW5lLmNyZWF0ZVNweU9iaignbm9kZScseworICAgICAgZ2V0SUQ6ICdpZDEnLAor ICAgIH0pOworICAgIHNweU9uKGJvZHlJbnN0YW5jZS5kaWFncmFtLCAnZ2V0U2VsZWN0ZWROb2Rl cycpLmFuZC5yZXR1cm5WYWx1ZShbbm9kZV0pOworCisgICAgb3RtRGlhbG9nLnNob3cuY2FsbHMu cmVzZXQoKTsKKyAgICBib2R5SW5zdGFuY2Uub25PbmVUb01hbnlDbGljaygpOworICAgIGV4cGVj dChvdG1EaWFsb2cuc2hvdykudG9IYXZlQmVlbkNhbGxlZCgpOworCisgICAgbGV0IHNhdmVDYWxs YmFjayA9IG90bURpYWxvZy5zaG93LmNhbGxzLm1vc3RSZWNlbnQoKS5hcmdzWzRdOworICAgIGxl dCBuZXdEYXRhID0ge2tleTogJ3ZhbHVlJ307CisgICAgc2F2ZUNhbGxiYWNrKG5ld0RhdGEpOwor ICAgIGV4cGVjdChib2R5SW5zdGFuY2UuZGlhZ3JhbS5hZGRMaW5rKS50b0hhdmVCZWVuQ2FsbGVk V2l0aChuZXdEYXRhLCAnb25ldG9tYW55Jyk7CisgIH0pOworCisgIGl0KCdvbk1hbnlUb01hbnlD bGljaycsICgpPT57CisgICAgbGV0IG5vZGUgPSBqYXNtaW5lLmNyZWF0ZVNweU9iaignbm9kZScs eworICAgICAgZ2V0SUQ6ICdpZDEnLAorICAgIH0pOworICAgIHNweU9uKGJvZHlJbnN0YW5jZS5k aWFncmFtLCAnZ2V0U2VsZWN0ZWROb2RlcycpLmFuZC5yZXR1cm5WYWx1ZShbbm9kZV0pOworCisg ICAgbXRtRGlhbG9nLnNob3cuY2FsbHMucmVzZXQoKTsKKyAgICBib2R5SW5zdGFuY2Uub25NYW55 VG9NYW55Q2xpY2soKTsKKyAgICBleHBlY3QobXRtRGlhbG9nLnNob3cpLnRvSGF2ZUJlZW5DYWxs ZWQoKTsKKworICAgIC8qIG9uU2F2ZSAqLworICAgIGxldCBub2Rlc0RpY3QgPSB7CisgICAgICAn aWQxJzogeworICAgICAgICBnZXRJRDogKCk9PidpZDEnLAorICAgICAgICBnZXREYXRhOiAoKT0+ KHtuYW1lOiAndGFibGUxJywgc2NoZW1hOiAnZXJkMSd9KSwKKyAgICAgICAgZ2V0Q29sdW1uQXQ6 ICgpPT4oe25hbWU6ICdjb2wxJywgdHlwZTogJ3R5cGUxJywgYXR0bnVtOiAwfSksCisgICAgICAg IGFkZFBvcnQ6IGphc21pbmUuY3JlYXRlU3B5KCdhZGRQb3J0JykuYW5kLmNhbGxGYWtlKChvYmop PT5vYmopLAorICAgICAgfSwKKyAgICAgICdpZDInOiB7CisgICAgICAgIGdldElEOiAoKT0+J2lk MicsCisgICAgICAgIGdldERhdGE6ICgpPT4oe25hbWU6ICd0YWJsZTInLCBzY2hlbWE6ICdlcmQy J30pLAorICAgICAgICBnZXRDb2x1bW5BdDogKCk9Pih7bmFtZTogJ2NvbDInLCB0eXBlOiAndHlw ZTInLCBhdHRudW06IDF9KSwKKyAgICAgICAgYWRkUG9ydDogamFzbWluZS5jcmVhdGVTcHkoJ2Fk ZFBvcnQnKS5hbmQuY2FsbEZha2UoKG9iaik9Pm9iaiksCisgICAgICB9LAorICAgIH07CisgICAg c3B5T24oYm9keUluc3RhbmNlLmRpYWdyYW0sICdnZXRNb2RlbCcpLmFuZC5yZXR1cm5WYWx1ZSh7 CisgICAgICAnZ2V0Tm9kZXNEaWN0JzogKCk9Pm5vZGVzRGljdCwKKyAgICB9KTsKKyAgICBzcHlP bihib2R5SW5zdGFuY2UuZGlhZ3JhbSwgJ2FkZExpbmsnKTsKKyAgICBsZXQgc2F2ZUNhbGxiYWNr ID0gbXRtRGlhbG9nLnNob3cuY2FsbHMubW9zdFJlY2VudCgpLmFyZ3NbNF07CisgICAgbGV0IG5l d0RhdGEgPSB7CisgICAgICBsZWZ0X3RhYmxlX3VpZDogJ2lkMScsCisgICAgICBsZWZ0X3RhYmxl X2NvbHVtbl9hdHRudW06IDEsCisgICAgICByaWdodF90YWJsZV91aWQ6ICdpZDInLAorICAgICAg cmlnaHRfdGFibGVfY29sdW1uX2F0dG51bTogMiwKKyAgICB9OworCisgICAgYm9keUluc3RhbmNl LmRpYWdyYW0uYWRkTm9kZS5jYWxscy5yZXNldCgpOworICAgIGJvZHlJbnN0YW5jZS5kaWFncmFt LmFkZExpbmsuY2FsbHMucmVzZXQoKTsKKyAgICBzYXZlQ2FsbGJhY2sobmV3RGF0YSk7CisgICAg ZXhwZWN0KGJvZHlJbnN0YW5jZS5kaWFncmFtLmFkZE5vZGUpLnRvSGF2ZUJlZW5DYWxsZWRXaXRo KHsKKyAgICAgIG5hbWU6ICd0YWJsZTFfdGFibGUyJywKKyAgICAgIHNjaGVtYTogJ2VyZDEnLAor ICAgICAgY29sdW1uczogWworICAgICAgICB7CisgICAgICAgICAgdHlwZTogJ3R5cGUxJywKKyAg ICAgICAgICBuYW1lOiAndGFibGUxX2NvbDEnLAorICAgICAgICAgIGlzX3ByaW1hcnlfa2V5OiBm YWxzZSwKKyAgICAgICAgICBhdHRudW06IDAsCisgICAgICAgIH0sCisgICAgICAgIHsKKyAgICAg ICAgICB0eXBlOiAndHlwZTInLAorICAgICAgICAgIG5hbWU6ICd0YWJsZTJfY29sMicsCisgICAg ICAgICAgaXNfcHJpbWFyeV9rZXk6IGZhbHNlLAorICAgICAgICAgIGF0dG51bTogMSwKKyAgICAg ICAgfSwKKyAgICAgIF0sCisgICAgfSk7CisKKyAgICBsZXQgbGlua0RhdGEgPSB7CisgICAgICBs b2NhbF90YWJsZV91aWQ6ICduZXdpZDEnLAorICAgICAgbG9jYWxfY29sdW1uX2F0dG51bTogMCwK KyAgICAgIHJlZmVyZW5jZWRfdGFibGVfdWlkOiAnaWQxJywKKyAgICAgIHJlZmVyZW5jZWRfY29s dW1uX2F0dG51bSA6IDEsCisgICAgfTsKKyAgICBleHBlY3QoYm9keUluc3RhbmNlLmRpYWdyYW0u YWRkTGluay5jYWxscy5hcmdzRm9yKDApKS50b0VxdWFsKFtsaW5rRGF0YSwgJ29uZXRvbWFueSdd KTsKKyAgICBsaW5rRGF0YSA9IHsKKyAgICAgIGxvY2FsX3RhYmxlX3VpZDogJ25ld2lkMScsCisg ICAgICBsb2NhbF9jb2x1bW5fYXR0bnVtOiAxLAorICAgICAgcmVmZXJlbmNlZF90YWJsZV91aWQ6 ICdpZDInLAorICAgICAgcmVmZXJlbmNlZF9jb2x1bW5fYXR0bnVtIDogMiwKKyAgICB9OworICAg IGV4cGVjdChib2R5SW5zdGFuY2UuZGlhZ3JhbS5hZGRMaW5rLmNhbGxzLmFyZ3NGb3IoMSkpLnRv RXF1YWwoW2xpbmtEYXRhLCAnb25ldG9tYW55J10pOworICB9KTsKKworICBpdCgnb25Ob3RlQ2xp Y2snLCAoKT0+eworICAgIGxldCBub3RlTm9kZSA9IHtrZXk6ICd2YWx1ZScsIGdldE5vdGU6ICgp PT4nYSBub3RlJ307CisgICAgc3B5T24oYm9keUluc3RhbmNlLmRpYWdyYW0sICdnZXRTZWxlY3Rl ZE5vZGVzJykuYW5kLnJldHVyblZhbHVlKFtub3RlTm9kZV0pOworICAgIHNweU9uKGJvZHlJbnN0 YW5jZS5kaWFncmFtLmdldEVuZ2luZSgpLCAnZ2V0Tm9kZUVsZW1lbnQnKS5hbmQucmV0dXJuVmFs dWUobnVsbCk7CisgICAgc3B5T24oYm9keUluc3RhbmNlLmRpYWdyYW0uZ2V0RW5naW5lKCksICdn ZXROb2RlRWxlbWVudCcpLmFuZC5yZXR1cm5WYWx1ZShudWxsKTsKKyAgICBzcHlPbihib2R5SW5z dGFuY2UsICdzZXRTdGF0ZScpOworICAgIGJvZHlJbnN0YW5jZS5vbk5vdGVDbGljaygpOworICAg IGV4cGVjdChib2R5SW5zdGFuY2Uuc2V0U3RhdGUpLnRvSGF2ZUJlZW5DYWxsZWRXaXRoKHsKKyAg ICAgIG5vdGVfbm9kZTogbm90ZU5vZGUsCisgICAgICBub3RlX29wZW46IHRydWUsCisgICAgfSk7 CisgIH0pOworfSk7CmRpZmYgLS1naXQgYS93ZWIvcmVncmVzc2lvbi9qYXZhc2NyaXB0L2VyZC91 aV9jb21wb25lbnRzL2Nvbm5lY3Rpb25fYmFyX3NwZWMuanMgYi93ZWIvcmVncmVzc2lvbi9qYXZh c2NyaXB0L2VyZC91aV9jb21wb25lbnRzL2Nvbm5lY3Rpb25fYmFyX3NwZWMuanMKbmV3IGZpbGUg bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwLi4xNzM5OGE1NGUKLS0tIC9kZXYvbnVsbAorKysg Yi93ZWIvcmVncmVzc2lvbi9qYXZhc2NyaXB0L2VyZC91aV9jb21wb25lbnRzL2Nvbm5lY3Rpb25f YmFyX3NwZWMuanMKQEAgLTAsMCArMSwyNSBAQAoraW1wb3J0IGphc21pbmVFbnp5bWUgZnJvbSAn amFzbWluZS1lbnp5bWUnOworaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JzsKK2ltcG9ydCB7bW91 bnR9IGZyb20gJ2VuenltZSc7CitpbXBvcnQgJy4uLy4uL2hlbHBlci9lbnp5bWUuaGVscGVyJzsK KworaW1wb3J0IENvbm5lY3Rpb25CYXIsIHtTVEFUVVN9IGZyb20gJ3BnYWRtaW4udG9vbHMuZXJk L2VyZF90b29sL3VpX2NvbXBvbmVudHMvQ29ubmVjdGlvbkJhcic7CisKK2Rlc2NyaWJlKCdFUkQg Q29ubmVjdGlvbkJhcicsICgpPT57CisgIGJlZm9yZUVhY2goKCk9PnsKKyAgICBqYXNtaW5lRW56 eW1lKCk7CisgIH0pOworCisgIGl0KCc8Q29ubmVjdGlvbkJhciAvPiBjb21wJywgKCk9PnsKKyAg ICBsZXQgY29ubkJhciA9IG1vdW50KDxDb25uZWN0aW9uQmFyIHN0YXR1c0lkPSJjb25uLWJhciIg c3RhdHVzPXtTVEFUVVMuRElTQ09OTkVDVEVEfSB0aXRsZT0idGVzdCB0aXRsZSIvPik7CisKKyAg ICBleHBlY3QoY29ubkJhci5maW5kKCcuZWRpdG9yLXRpdGxlJykudGV4dCgpKS50b0JlKCd0ZXN0 IHRpdGxlJyk7CisKKyAgICBjb25uQmFyLnNldFByb3BzKHtzdGF0dXM6IFNUQVRVUy5DT05ORUNU SU5HfSk7CisgICAgZXhwZWN0KGNvbm5CYXIuZmluZCgnLmVkaXRvci10aXRsZScpLnRleHQoKSku dG9CZSgnKE9idGFpbmluZyBjb25uZWN0aW9uLi4uKSB0ZXN0IHRpdGxlJyk7CisKKyAgICBjb25u QmFyLnNldFByb3BzKHtiZ2NvbG9yOiAnIzAwMCcsIGZnY29sb3I6ICcjZmZmJ30pOworICAgIGV4 cGVjdChjb25uQmFyLmZpbmQoJy5lZGl0b3ItdGl0bGUnKS5wcm9wKCdzdHlsZScpLmJhY2tncm91 bmRDb2xvcikudG9CZSgnIzAwMCcpOworICAgIGV4cGVjdChjb25uQmFyLmZpbmQoJy5lZGl0b3It dGl0bGUnKS5wcm9wKCdzdHlsZScpLmNvbG9yKS50b0JlKCcjZmZmJyk7CisgIH0pOworfSk7CmRp ZmYgLS1naXQgYS93ZWIvcmVncmVzc2lvbi9qYXZhc2NyaXB0L2VyZC91aV9jb21wb25lbnRzL2Vy ZF9wcmVmZXJlbmNlcy5qcyBiL3dlYi9yZWdyZXNzaW9uL2phdmFzY3JpcHQvZXJkL3VpX2NvbXBv bmVudHMvZXJkX3ByZWZlcmVuY2VzLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw MDAwMC4uZDkxYjE1OGNlCi0tLSAvZGV2L251bGwKKysrIGIvd2ViL3JlZ3Jlc3Npb24vamF2YXNj cmlwdC9lcmQvdWlfY29tcG9uZW50cy9lcmRfcHJlZmVyZW5jZXMuanMKQEAgLTAsMCArMSwxNDcg QEAKK2V4cG9ydCBkZWZhdWx0IHsKKyAgJ2VyZF9uZXdfYnJvd3Nlcl90YWInOiBmYWxzZSwKKyAg J29wZW5fcHJvamVjdCc6IHsKKyAgICAnYWx0JzogZmFsc2UsCisgICAgJ3NoaWZ0JzogZmFsc2Us CisgICAgJ2NvbnRyb2wnOiB0cnVlLAorICAgICdrZXknOiB7CisgICAgICAna2V5X2NvZGUnOiA3 OSwKKyAgICAgICdjaGFyJzogJ28nLAorICAgIH0sCisgIH0sCisgICdzYXZlX3Byb2plY3QnOiB7 CisgICAgJ2FsdCc6IGZhbHNlLAorICAgICdzaGlmdCc6IGZhbHNlLAorICAgICdjb250cm9sJzog dHJ1ZSwKKyAgICAna2V5JzogeworICAgICAgJ2tleV9jb2RlJzogODMsCisgICAgICAnY2hhcic6 ICdzJywKKyAgICB9LAorICB9LAorICAnc2F2ZV9wcm9qZWN0X2FzJzogeworICAgICdhbHQnOiBm YWxzZSwKKyAgICAnc2hpZnQnOiB0cnVlLAorICAgICdjb250cm9sJzogdHJ1ZSwKKyAgICAna2V5 JzogeworICAgICAgJ2tleV9jb2RlJzogODMsCisgICAgICAnY2hhcic6ICdzJywKKyAgICB9LAor ICB9LAorICAnZ2VuZXJhdGVfc3FsJzogeworICAgICdhbHQnOiB0cnVlLAorICAgICdzaGlmdCc6 IGZhbHNlLAorICAgICdjb250cm9sJzogdHJ1ZSwKKyAgICAna2V5JzogeworICAgICAgJ2tleV9j b2RlJzogODMsCisgICAgICAnY2hhcic6ICdzJywKKyAgICB9LAorICB9LAorICAnZG93bmxvYWRf aW1hZ2UnOiB7CisgICAgJ2FsdCc6IHRydWUsCisgICAgJ3NoaWZ0JzogZmFsc2UsCisgICAgJ2Nv bnRyb2wnOiB0cnVlLAorICAgICdrZXknOiB7CisgICAgICAna2V5X2NvZGUnOiA3MywKKyAgICAg ICdjaGFyJzogJ2knLAorICAgIH0sCisgIH0sCisgICdhZGRfdGFibGUnOiB7CisgICAgJ2FsdCc6 IHRydWUsCisgICAgJ3NoaWZ0JzogZmFsc2UsCisgICAgJ2NvbnRyb2wnOiB0cnVlLAorICAgICdr ZXknOiB7CisgICAgICAna2V5X2NvZGUnOiA2NSwKKyAgICAgICdjaGFyJzogJ2EnLAorICAgIH0s CisgIH0sCisgICdlZGl0X3RhYmxlJzogeworICAgICdhbHQnOiB0cnVlLAorICAgICdzaGlmdCc6 IGZhbHNlLAorICAgICdjb250cm9sJzogdHJ1ZSwKKyAgICAna2V5JzogeworICAgICAgJ2tleV9j b2RlJzogNjksCisgICAgICAnY2hhcic6ICdlJywKKyAgICB9LAorICB9LAorICAnY2xvbmVfdGFi bGUnOiB7CisgICAgJ2FsdCc6IHRydWUsCisgICAgJ3NoaWZ0JzogZmFsc2UsCisgICAgJ2NvbnRy b2wnOiB0cnVlLAorICAgICdrZXknOiB7CisgICAgICAna2V5X2NvZGUnOiA2NywKKyAgICAgICdj aGFyJzogJ2MnLAorICAgIH0sCisgIH0sCisgICdkcm9wX3RhYmxlJzogeworICAgICdhbHQnOiB0 cnVlLAorICAgICdzaGlmdCc6IGZhbHNlLAorICAgICdjb250cm9sJzogdHJ1ZSwKKyAgICAna2V5 JzogeworICAgICAgJ2tleV9jb2RlJzogNjgsCisgICAgICAnY2hhcic6ICdkJywKKyAgICB9LAor ICB9LAorICAnYWRkX2VkaXRfbm90ZSc6IHsKKyAgICAnYWx0JzogdHJ1ZSwKKyAgICAnc2hpZnQn OiBmYWxzZSwKKyAgICAnY29udHJvbCc6IHRydWUsCisgICAgJ2tleSc6IHsKKyAgICAgICdrZXlf Y29kZSc6IDc4LAorICAgICAgJ2NoYXInOiAnbicsCisgICAgfSwKKyAgfSwKKyAgJ29uZV90b19t YW55JzogeworICAgICdhbHQnOiB0cnVlLAorICAgICdzaGlmdCc6IGZhbHNlLAorICAgICdjb250 cm9sJzogdHJ1ZSwKKyAgICAna2V5JzogeworICAgICAgJ2tleV9jb2RlJzogNzksCisgICAgICAn Y2hhcic6ICdvJywKKyAgICB9LAorICB9LAorICAnbWFueV90b19tYW55JzogeworICAgICdhbHQn OiB0cnVlLAorICAgICdzaGlmdCc6IGZhbHNlLAorICAgICdjb250cm9sJzogdHJ1ZSwKKyAgICAn a2V5JzogeworICAgICAgJ2tleV9jb2RlJzogNzcsCisgICAgICAnY2hhcic6ICdtJywKKyAgICB9 LAorICB9LAorICAnYXV0b19hbGlnbic6IHsKKyAgICAnYWx0JzogdHJ1ZSwKKyAgICAnc2hpZnQn OiBmYWxzZSwKKyAgICAnY29udHJvbCc6IHRydWUsCisgICAgJ2tleSc6IHsKKyAgICAgICdrZXlf Y29kZSc6IDc2LAorICAgICAgJ2NoYXInOiAnbCcsCisgICAgfSwKKyAgfSwKKyAgJ3pvb21fdG9f Zml0JzogeworICAgICdhbHQnOiB0cnVlLAorICAgICdzaGlmdCc6IHRydWUsCisgICAgJ2NvbnRy b2wnOiBmYWxzZSwKKyAgICAna2V5JzogeworICAgICAgJ2tleV9jb2RlJzogNzAsCisgICAgICAn Y2hhcic6ICdmJywKKyAgICB9LAorICB9LAorICAnem9vbV9pbic6IHsKKyAgICAnYWx0JzogdHJ1 ZSwKKyAgICAnc2hpZnQnOiB0cnVlLAorICAgICdjb250cm9sJzogZmFsc2UsCisgICAgJ2tleSc6 IHsKKyAgICAgICdrZXlfY29kZSc6IDE4NywKKyAgICAgICdjaGFyJzogJysnLAorICAgIH0sCisg IH0sCisgICd6b29tX291dCc6IHsKKyAgICAnYWx0JzogdHJ1ZSwKKyAgICAnc2hpZnQnOiB0cnVl LAorICAgICdjb250cm9sJzogZmFsc2UsCisgICAgJ2tleSc6IHsKKyAgICAgICdrZXlfY29kZSc6 IDE4OSwKKyAgICAgICdjaGFyJzogJy0nLAorICAgIH0sCisgIH0sCit9OwpkaWZmIC0tZ2l0IGEv d2ViL3JlZ3Jlc3Npb24vamF2YXNjcmlwdC9lcmQvdWlfY29tcG9uZW50cy9mbG9hdGluZ19ub3Rl X3NwZWMuanMgYi93ZWIvcmVncmVzc2lvbi9qYXZhc2NyaXB0L2VyZC91aV9jb21wb25lbnRzL2Zs b2F0aW5nX25vdGVfc3BlYy5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAu LmY3ODYyNjdiZgotLS0gL2Rldi9udWxsCisrKyBiL3dlYi9yZWdyZXNzaW9uL2phdmFzY3JpcHQv ZXJkL3VpX2NvbXBvbmVudHMvZmxvYXRpbmdfbm90ZV9zcGVjLmpzCkBAIC0wLDAgKzEsMzkgQEAK K2ltcG9ydCBqYXNtaW5lRW56eW1lIGZyb20gJ2phc21pbmUtZW56eW1lJzsKK2ltcG9ydCBSZWFj dCBmcm9tICdyZWFjdCc7CitpbXBvcnQge21vdW50fSBmcm9tICdlbnp5bWUnOworaW1wb3J0ICcu Li8uLi9oZWxwZXIvZW56eW1lLmhlbHBlcic7CisKK2ltcG9ydCBGbG9hdGluZ05vdGUgZnJvbSAn cGdhZG1pbi50b29scy5lcmQvZXJkX3Rvb2wvdWlfY29tcG9uZW50cy9GbG9hdGluZ05vdGUnOwor CitkZXNjcmliZSgnRVJEIEZsb2F0aW5nTm90ZScsICgpPT57CisKKyAgYmVmb3JlRWFjaCgoKT0+ eworICAgIGphc21pbmVFbnp5bWUoKTsKKyAgfSk7CisKKyAgaXQoJzxGbG9hdGluZ05vdGUgLz4g b24gT0sgY2xpY2snLCAoKT0+eworICAgIGxldCBmbG9hdE5vdGUgPSBudWxsOworICAgIGxldCBv bkNsb3NlID0gamFzbWluZS5jcmVhdGVTcHkoJ29uQ2xvc2UnKTsKKyAgICBsZXQgbm90ZU5vZGUg PSB7CisgICAgICBnZXROb3RlOiBmdW5jdGlvbigpIHsKKyAgICAgICAgcmV0dXJuICdzb21lIG5v dGUnOworICAgICAgfSwKKyAgICAgIHNldE5vdGU6IGphc21pbmUuY3JlYXRlU3B5KCdzZXROb3Rl JyksCisgICAgICBnZXRTY2hlbWFUYWJsZU5hbWU6IGZ1bmN0aW9uKCkgeworICAgICAgICByZXR1 cm4gWydzY2hlbWExJywgJ3RhYmxlMSddOworICAgICAgfSwKKyAgICB9OworCisgICAgZmxvYXRO b3RlID0gbW91bnQoPEZsb2F0aW5nTm90ZSBvcGVuPXtmYWxzZX0gb25DbG9zZT17b25DbG9zZX0K KyAgICAgIHJlZmVyZW5jZT17bnVsbH0gbm90ZU5vZGU9e25vdGVOb2RlfSBhcHBlbmRUbz17ZG9j dW1lbnQuYm9keX0gcm93cz17OH0vPik7CisKKyAgICBmbG9hdE5vdGUuZmluZCgndGV4dGFyZWEn KS5zaW11bGF0ZSgnY2hhbmdlJywgeworICAgICAgdGFyZ2V0OiB7CisgICAgICAgIHZhbHVlOiAn dGhlIG5ldyBub3RlJywKKyAgICAgIH0sCisgICAgfSk7CisgICAgZmxvYXROb3RlLmZpbmQoJ2J1 dHRvbltkYXRhLWxhYmVsPSJPSyJdJykuc2ltdWxhdGUoJ2NsaWNrJyk7CisgICAgZXhwZWN0KG5v dGVOb2RlLnNldE5vdGUpLnRvSGF2ZUJlZW5DYWxsZWRXaXRoKCd0aGUgbmV3IG5vdGUnKTsKKyAg ICBleHBlY3Qob25DbG9zZSkudG9IYXZlQmVlbkNhbGxlZCgpOworICB9KTsKK30pOwpkaWZmIC0t Z2l0IGEvd2ViL3JlZ3Jlc3Npb24vamF2YXNjcmlwdC9lcmQvdWlfY29tcG9uZW50cy9sb2FkZXJf c3BlYy5qcyBiL3dlYi9yZWdyZXNzaW9uL2phdmFzY3JpcHQvZXJkL3VpX2NvbXBvbmVudHMvbG9h ZGVyX3NwZWMuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwLi5iMTRlZDMw YWEKLS0tIC9kZXYvbnVsbAorKysgYi93ZWIvcmVncmVzc2lvbi9qYXZhc2NyaXB0L2VyZC91aV9j b21wb25lbnRzL2xvYWRlcl9zcGVjLmpzCkBAIC0wLDAgKzEsMjMgQEAKK2ltcG9ydCBqYXNtaW5l RW56eW1lIGZyb20gJ2phc21pbmUtZW56eW1lJzsKK2ltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7 CitpbXBvcnQge3NoYWxsb3d9IGZyb20gJ2VuenltZSc7CitpbXBvcnQgJy4uLy4uL2hlbHBlci9l bnp5bWUuaGVscGVyJzsKKworaW1wb3J0IExvYWRlciBmcm9tICdwZ2FkbWluLnRvb2xzLmVyZC9l cmRfdG9vbC91aV9jb21wb25lbnRzL0xvYWRlcic7CisKK2Rlc2NyaWJlKCdFUkQgTG9hZGVyJywg KCk9PnsKKyAgYmVmb3JlRWFjaCgoKT0+eworICAgIGphc21pbmVFbnp5bWUoKTsKKyAgfSk7CisK KyAgaXQoJzxMb2FkZXIgLz4gY29tcCcsICgpPT57CisgICAgbGV0IGxvYWRlckNvbXAgPSBzaGFs bG93KDxMb2FkZXIgLz4pOworICAgIGV4cGVjdChsb2FkZXJDb21wLmlzRW1wdHlSZW5kZXIoKSku dG9CZVRydWUoKTsKKworICAgIGxvYWRlckNvbXAuc2V0UHJvcHMoe21lc3NhZ2U6ICd0ZXN0IG1l c3NhZ2UnfSk7CisgICAgZXhwZWN0KGxvYWRlckNvbXAuZmluZCgnLnBnLXNwLXRleHQnKS50ZXh0 KCkpLnRvQmUoJ3Rlc3QgbWVzc2FnZScpOworCisgICAgbG9hZGVyQ29tcC5zZXRQcm9wcyh7YXV0 b0VsbGlwc2lzOiB0cnVlfSk7CisgICAgZXhwZWN0KGxvYWRlckNvbXAuZmluZCgnLnBnLXNwLXRl eHQnKS50ZXh0KCkpLnRvQmUoJ3Rlc3QgbWVzc2FnZS4uLicpOworICB9KTsKK30pOwpkaWZmIC0t Z2l0IGEvd2ViL3JlZ3Jlc3Npb24vamF2YXNjcmlwdC9lcmQvdWlfY29tcG9uZW50cy90b29sYmFy X3NwZWMuanMgYi93ZWIvcmVncmVzc2lvbi9qYXZhc2NyaXB0L2VyZC91aV9jb21wb25lbnRzL3Rv b2xiYXJfc3BlYy5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAuLjA0Mjlk NzE4ZAotLS0gL2Rldi9udWxsCisrKyBiL3dlYi9yZWdyZXNzaW9uL2phdmFzY3JpcHQvZXJkL3Vp X2NvbXBvbmVudHMvdG9vbGJhcl9zcGVjLmpzCkBAIC0wLDAgKzEsNzYgQEAKK2ltcG9ydCBqYXNt aW5lRW56eW1lIGZyb20gJ2phc21pbmUtZW56eW1lJzsKK2ltcG9ydCBSZWFjdCBmcm9tICdyZWFj dCc7CitpbXBvcnQgVGlwcHkgZnJvbSAnQHRpcHB5anMvcmVhY3QnOworaW1wb3J0IHttb3VudCwg c2hhbGxvd30gZnJvbSAnZW56eW1lJzsKK2ltcG9ydCAnLi4vLi4vaGVscGVyL2VuenltZS5oZWxw ZXInOworCitpbXBvcnQgVG9vbEJhciwge0J1dHRvbkdyb3VwLCBEZXRhaWxzVG9nZ2xlQnV0dG9u LCBJY29uQnV0dG9uLCBTaG9ydGN1dH0gZnJvbSAncGdhZG1pbi50b29scy5lcmQvZXJkX3Rvb2wv dWlfY29tcG9uZW50cy9Ub29sQmFyJzsKKworZGVzY3JpYmUoJ0VSRCBUb29sYmFyJywgKCk9PnsK KyAgYmVmb3JlRWFjaCgoKT0+eworICAgIGphc21pbmVFbnp5bWUoKTsKKyAgfSk7CisKKyAgaXQo JzxUb29sYmFyIC8+IGNvbXAnLCAoKT0+eworICAgIGxldCB0b29sQmFyID0gbW91bnQoPFRvb2xC YXIgaWQ9ImlkMSI+PGRpdiBjbGFzc05hbWU9InRlc3QiPjwvZGl2PjwvVG9vbEJhcj4pOworICAg IGV4cGVjdCh0b29sQmFyLmdldERPTU5vZGUoKS5pZCkudG9CZSgnaWQxJyk7CisgICAgZXhwZWN0 KHRvb2xCYXIuZmluZCgnLnRlc3QnKS5sZW5ndGgpLnRvQmUoMSk7CisgIH0pOworCisgIGl0KCc8 QnV0dG9uR3JvdXAgLz4gY29tcCcsICgpPT57CisgICAgbGV0IGJ0bkdycCA9IG1vdW50KDxCdXR0 b25Hcm91cD48ZGl2IGNsYXNzTmFtZT0idGVzdCI+PC9kaXY+PC9CdXR0b25Hcm91cD4pOworICAg IGV4cGVjdChidG5HcnAuZ2V0RE9NTm9kZSgpLmNsYXNzTmFtZSkudG9CZSgnYnRuLWdyb3VwIG1y LTEgJyk7CisgICAgZXhwZWN0KGJ0bkdycC5maW5kKCcudGVzdCcpLmxlbmd0aCkudG9CZSgxKTsK KyAgICBidG5HcnAudW5tb3VudCgpOworCisgICAgYnRuR3JwID0gbW91bnQoPEJ1dHRvbkdyb3Vw IGNsYXNzTmFtZT0ic29tZWNsYXNzIj48L0J1dHRvbkdyb3VwPik7CisgICAgZXhwZWN0KGJ0bkdy cC5nZXRET01Ob2RlKCkuY2xhc3NOYW1lKS50b0JlKCdidG4tZ3JvdXAgbXItMSBzb21lY2xhc3Mn KTsKKyAgfSk7CisKKyAgaXQoJzxEZXRhaWxzVG9nZ2xlQnV0dG9uIC8+IGNvbXAnLCAoKT0+ewor ICAgIGxldCB0b2dnbGUgPSBzaGFsbG93KDxEZXRhaWxzVG9nZ2xlQnV0dG9uIHNob3dEZXRhaWxz PXt0cnVlfSAvPik7CisgICAgbGV0IGJ0biA9IHRvZ2dsZS5maW5kKEljb25CdXR0b24pOworICAg IGV4cGVjdChidG4ucHJvcCgnaWNvbicpKS50b0JlKCdmYXIgZmEtZXllJyk7CisgICAgZXhwZWN0 KGJ0bi5wcm9wKCd0aXRsZScpKS50b0JlKCdTaG93IGZld2VyIGRldGFpbHMnKTsKKworICAgIHRv Z2dsZS5zZXRQcm9wcyh7c2hvd0RldGFpbHM6IGZhbHNlfSk7CisgICAgYnRuID0gdG9nZ2xlLmZp bmQoSWNvbkJ1dHRvbik7CisgICAgZXhwZWN0KGJ0bi5wcm9wKCdpY29uJykpLnRvQmUoJ2ZhcyBm YS1sb3ctdmlzaW9uJyk7CisgICAgZXhwZWN0KGJ0bi5wcm9wKCd0aXRsZScpKS50b0JlKCdTaG93 IG1vcmUgZGV0YWlscycpOworICB9KTsKKworICBpdCgnPEljb25CdXR0b24gLz4gY29tcCcsICgp PT57CisgICAgbGV0IGJ0biA9IG1vdW50KDxJY29uQnV0dG9uIC8+KTsKKworICAgIGxldCB0aXBw eSA9IGJ0bi5maW5kKFRpcHB5KTsKKyAgICBleHBlY3QodGlwcHkubGVuZ3RoKS50b0JlKDApOwor CisgICAgYnRuLnNldFByb3BzKHt0aXRsZTogJ3Rlc3QgdGl0bGUnfSk7CisgICAgdGlwcHkgPSBi dG4uZmluZChUaXBweSk7CisgICAgZXhwZWN0KHRpcHB5Lmxlbmd0aCkudG9CZSgxKTsKKworICAg IGV4cGVjdChidG4uZmluZCgnYnV0dG9uJykuZ2V0RE9NTm9kZSgpLmNsYXNzTmFtZSkudG9CZSgn YnRuIGJ0bi1zbSBidG4tcHJpbWFyeS1pY29uICcpOworCisgICAgYnRuLnNldFByb3BzKHtpY29u OiAnZmEgZmEtaWNvbid9KTsKKyAgICBleHBlY3QoYnRuLmZpbmQoJ2J1dHRvbiAuc3FsLWljb24t bGcnKS5nZXRET01Ob2RlKCkuY2xhc3NOYW1lKS50b0JlKCdmYSBmYS1pY29uIHNxbC1pY29uLWxn Jyk7CisgIH0pOworCisgIGl0KCc8U2hvcnRjdXQgLz4gY29tcCcsICgpPT57CisgICAgbGV0IGtl eSA9IHsKKyAgICAgIGFsdDogdHJ1ZSwKKyAgICAgIGNvbnRyb2w6IHRydWUsCisgICAgICBzaGlm dDogZmFsc2UsCisgICAgICBrZXk6IHsKKyAgICAgICAga2V5X2NvZGU6IDY1LAorICAgICAgICBj aGFyOiAnYScsCisgICAgICB9LAorICAgIH07CisgICAgbGV0IHNob3J0Y3V0Q29tcCA9IG1vdW50 KDxTaG9ydGN1dCBzaG9ydGN1dD17a2V5fS8+KTsKKworICAgIGV4cGVjdChzaG9ydGN1dENvbXAu ZmluZCgnLnNob3J0Y3V0LWtleScpLmxlbmd0aCkudG9CZSgzKTsKKworICAgIGtleS5hbHQgPSBm YWxzZTsKKyAgICBzaG9ydGN1dENvbXAuc2V0UHJvcHMoe3Nob3J0Y3V0OiBrZXl9KTsKKyAgICBl eHBlY3Qoc2hvcnRjdXRDb21wLmZpbmQoJy5zaG9ydGN1dC1rZXknKS5sZW5ndGgpLnRvQmUoMik7 CisgIH0pOworfSk7CmRpZmYgLS1naXQgYS93ZWIvcmVncmVzc2lvbi9qYXZhc2NyaXB0L2Zha2Vf ZW5kcG9pbnRzLmpzIGIvd2ViL3JlZ3Jlc3Npb24vamF2YXNjcmlwdC9mYWtlX2VuZHBvaW50cy5q cwppbmRleCBkMzdiN2RkYjYuLjc3ODk0YWMzNCAxMDA2NDQKLS0tIGEvd2ViL3JlZ3Jlc3Npb24v amF2YXNjcmlwdC9mYWtlX2VuZHBvaW50cy5qcworKysgYi93ZWIvcmVncmVzc2lvbi9qYXZhc2Ny aXB0L2Zha2VfZW5kcG9pbnRzLmpzCkBAIC0yMiw1ICsyMiwxMSBAQCBkZWZpbmUoZnVuY3Rpb24g KCkgewogICAgICdzZWFyY2hfb2JqZWN0cy50eXBlcyc6ICcvc2VhcmNoX29iamVjdHMvdHlwZXMv PGludDpzaWQ+LzxpbnQ6ZGlkPicsCiAgICAgJ3NlYXJjaF9vYmplY3RzLnNlYXJjaCc6ICcvc2Vh cmNoX29iamVjdHMvc2VhcmNoLzxpbnQ6c2lkPi88aW50OmRpZD4nLAogICAgICdkYXNoYm9hcmQu ZGFzaGJvYXJkX3N0YXRzJzogJy9kYXNoYm9hcmQvZGFzaGJvYXJkX3N0YXRzJywKKyAgICAnc3Fs ZWRpdG9yLmxvYWRfZmlsZSc6ICcvc3FsZWRpdG9yL2xvYWRfZmlsZS8nLAorICAgICdzcWxlZGl0 b3Iuc2F2ZV9maWxlJzogJy9zcWxlZGl0b3Ivc2F2ZV9maWxlLycsCisgICAgJ2VyZC5pbml0aWFs aXplJzogJy9lcmQvaW5pdGlhbGl6ZS88aW50OnRyYW5zX2lkPi88aW50OnNnaWQ+LzxpbnQ6c2lk Pi88aW50OmRpZD4nLAorICAgICdlcmQuc3FsJzogJy9lcmQvc3FsLzxpbnQ6dHJhbnNfaWQ+Lzxp bnQ6c2dpZD4vPGludDpzaWQ+LzxpbnQ6ZGlkPicsCisgICAgJ2VyZC5wcmVxdWlzaXRlJzogJy9l cmQvcHJlcXVpc2l0ZS88aW50OnRyYW5zX2lkPi88aW50OnNnaWQ+LzxpbnQ6c2lkPi88aW50OmRp ZD4nLAorICAgICdlcmQudGFibGVzJzogJy9lcmQvdGFibGVzLzxpbnQ6dHJhbnNfaWQ+LzxpbnQ6 c2dpZD4vPGludDpzaWQ+LzxpbnQ6ZGlkPicsCiAgIH07CiB9KTsKZGlmZiAtLWdpdCBhL3dlYi93 ZWJwYWNrLmNvbmZpZy5qcyBiL3dlYi93ZWJwYWNrLmNvbmZpZy5qcwppbmRleCA5NmVmNzA4YWIu LmMyMjViMzFiOCAxMDA2NDQKLS0tIGEvd2ViL3dlYnBhY2suY29uZmlnLmpzCisrKyBiL3dlYi93 ZWJwYWNrLmNvbmZpZy5qcwpAQCAtMzU1LDYgKzM1NSw3IEBAIG1vZHVsZS5leHBvcnRzID0gW3sK ICAgICBzcWxlZGl0b3I6ICcuL3BnYWRtaW4vdG9vbHMvc3FsZWRpdG9yL3N0YXRpYy9qcy9zcWxl ZGl0b3IuanMnLAogICAgIGRlYnVnZ2VyX2RpcmVjdDogJy4vcGdhZG1pbi90b29scy9kZWJ1Z2dl ci9zdGF0aWMvanMvZGlyZWN0LmpzJywKICAgICBzY2hlbWFfZGlmZjogJy4vcGdhZG1pbi90b29s cy9zY2hlbWFfZGlmZi9zdGF0aWMvanMvc2NoZW1hX2RpZmZfaG9vay5qcycsCisgICAgZXJkX3Rv b2w6ICcuL3BnYWRtaW4vdG9vbHMvZXJkL3N0YXRpYy9qcy9lcmRfdG9vbF9ob29rLmpzJywKICAg ICBmaWxlX3V0aWxzOiAnLi9wZ2FkbWluL21pc2MvZmlsZV9tYW5hZ2VyL3N0YXRpYy9qcy91dGls aXR5LmpzJywKICAgICAncGdhZG1pbi5zdHlsZSc6IHBnYWRtaW5Dc3NTdHlsZXMsCiAgICAgcGdh ZG1pbjogcGdhZG1pblNjc3NTdHlsZXMsCkBAIC01MDEsNyArNTAyLDggQEAgbW9kdWxlLmV4cG9y dHMgPSBbewogICAgICAgICAnLHBnYWRtaW4ubm9kZS5wZ2Ffam9iJyArCiAgICAgICAgICcscGdh ZG1pbi50b29scy5zY2hlbWFfZGlmZicgKwogICAgICAgICAnLHBnYWRtaW4udG9vbHMuc3RvcmFn ZV9tYW5hZ2VyJyArCi0gICAgICAgICcscGdhZG1pbi50b29scy5zZWFyY2hfb2JqZWN0cycsCisg ICAgICAgICcscGdhZG1pbi50b29scy5zZWFyY2hfb2JqZWN0cycgKworICAgICAgICAnLHBnYWRt aW4udG9vbHMuZXJkX21vZHVsZScsCiAgICAgICB9LAogICAgIH0sIHsKICAgICAgIHRlc3Q6IHJl cXVpcmUucmVzb2x2ZSgnc25hcHN2ZycpLApkaWZmIC0tZ2l0IGEvd2ViL3dlYnBhY2suc2hpbS5q cyBiL3dlYi93ZWJwYWNrLnNoaW0uanMKaW5kZXggNmZjMjYwMjFlLi43ZDI1YTJkNTYgMTAwNjQ0 Ci0tLSBhL3dlYi93ZWJwYWNrLnNoaW0uanMKKysrIGIvd2ViL3dlYnBhY2suc2hpbS5qcwpAQCAt MTQ3LDYgKzE0NywxMCBAQCB2YXIgd2VicGFja1NoaW1Db25maWcgPSB7CiAgICAgJ2NvbG9yLXBp Y2tlcic6IHBhdGguam9pbihfX2Rpcm5hbWUsICcuL25vZGVfbW9kdWxlcy9Ac2ltb253ZXAvcGlj a3IvZGlzdC9waWNrci5lczUubWluJyksCiAgICAgJ21vdXNldHJhcCc6IHBhdGguam9pbihfX2Rp cm5hbWUsICcuL25vZGVfbW9kdWxlcy9tb3VzZXRyYXAnKSwKICAgICAndGFibGVzb3J0ZXItbWV0 cmljJzogcGF0aC5qb2luKF9fZGlybmFtZSwgJy4vbm9kZV9tb2R1bGVzL3RhYmxlc29ydGVyL2Rp c3QvanMvcGFyc2Vycy9wYXJzZXItbWV0cmljLm1pbicpLAorICAgICdwYXRoZmluZGluZyc6ICBw YXRoLmpvaW4oX19kaXJuYW1lLCAnbm9kZV9tb2R1bGVzL3BhdGhmaW5kaW5nJyksCisgICAgJ2Rh Z3JlJzogIHBhdGguam9pbihfX2Rpcm5hbWUsICdub2RlX21vZHVsZXMvZGFncmUnKSwKKyAgICAn Z3JhcGhsaWInOiBwYXRoLmpvaW4oX19kaXJuYW1lLCAnbm9kZV9tb2R1bGVzL2dyYXBobGliJyks CisgICAgJ3JlYWN0JzogcGF0aC5qb2luKF9fZGlybmFtZSwgJ25vZGVfbW9kdWxlcy9yZWFjdCcp LAogCiAgICAgLy8gQWNpVHJlZQogICAgICdqcXVlcnkuYWNpdHJlZSc6IHBhdGguam9pbihfX2Rp cm5hbWUsICcuL25vZGVfbW9kdWxlcy9hY2l0cmVlL2pzL2pxdWVyeS5hY2lUcmVlLm1pbicpLApA QCAtMjc1LDYgKzI3OSw4IEBAIHZhciB3ZWJwYWNrU2hpbUNvbmZpZyA9IHsKICAgICAncGdhZG1p bi50b29scy5zY2hlbWFfZGlmZl91aSc6IHBhdGguam9pbihfX2Rpcm5hbWUsICcuL3BnYWRtaW4v dG9vbHMvc2NoZW1hX2RpZmYvc3RhdGljL2pzL3NjaGVtYV9kaWZmX3VpJyksCiAgICAgJ3BnYWRt aW4udG9vbHMuc2VhcmNoX29iamVjdHMnOiBwYXRoLmpvaW4oX19kaXJuYW1lLCAnLi9wZ2FkbWlu L3Rvb2xzL3NlYXJjaF9vYmplY3RzL3N0YXRpYy9qcy9zZWFyY2hfb2JqZWN0cycpLAogICAgICdw Z2FkbWluLnRvb2xzLnN0b3JhZ2VfbWFuYWdlcic6IHBhdGguam9pbihfX2Rpcm5hbWUsICcuL3Bn YWRtaW4vdG9vbHMvc3RvcmFnZV9tYW5hZ2VyL3N0YXRpYy9qcy9zdG9yYWdlX21hbmFnZXInKSwK KyAgICAncGdhZG1pbi50b29scy5lcmRfbW9kdWxlJzogcGF0aC5qb2luKF9fZGlybmFtZSwgJy4v cGdhZG1pbi90b29scy9lcmQvc3RhdGljL2pzL2VyZF9tb2R1bGUnKSwKKyAgICAncGdhZG1pbi50 b29scy5lcmQnOiBwYXRoLmpvaW4oX19kaXJuYW1lLCAnLi9wZ2FkbWluL3Rvb2xzL2VyZC9zdGF0 aWMvanMnKSwKICAgICAncGdhZG1pbi5zZWFyY2hfb2JqZWN0cyc6IHBhdGguam9pbihfX2Rpcm5h bWUsICcuL3BnYWRtaW4vdG9vbHMvc2VhcmNoX29iamVjdHMvc3RhdGljL2pzJyksCiAgICAgJ3Bn YWRtaW4udG9vbHMudXNlcl9tYW5hZ2VtZW50JzogcGF0aC5qb2luKF9fZGlybmFtZSwgJy4vcGdh ZG1pbi90b29scy91c2VyX21hbmFnZW1lbnQvc3RhdGljL2pzL3VzZXJfbWFuYWdlbWVudCcpLAog ICAgICdwZ2FkbWluLnVzZXJfbWFuYWdlbWVudC5jdXJyZW50X3VzZXInOiAnL3VzZXJfbWFuYWdl bWVudC9jdXJyZW50X3VzZXInLApkaWZmIC0tZ2l0IGEvd2ViL3dlYnBhY2sudGVzdC5jb25maWcu anMgYi93ZWIvd2VicGFjay50ZXN0LmNvbmZpZy5qcwppbmRleCAzNzU1N2UwY2MuLjdjYzE5MjNl OSAxMDA2NDQKLS0tIGEvd2ViL3dlYnBhY2sudGVzdC5jb25maWcuanMKKysrIGIvd2ViL3dlYnBh Y2sudGVzdC5jb25maWcuanMKQEAgLTExMyw2ICsxMTMsNyBAQCBtb2R1bGUuZXhwb3J0cyA9IHsK ICAgICAgICdwZ2FkbWluLmJyb3dzZXIubGF5b3V0JzogcGF0aC5qb2luKF9fZGlybmFtZSwgJy4v cGdhZG1pbi9icm93c2VyL3N0YXRpYy9qcy9sYXlvdXQnKSwKICAgICAgICdwZ2FkbWluLmJyb3dz ZXIucHJlZmVyZW5jZXMnOiBwYXRoLmpvaW4oX19kaXJuYW1lLCAnLi9wZ2FkbWluL2Jyb3dzZXIv c3RhdGljL2pzL3ByZWZlcmVuY2VzJyksCiAgICAgICAncGdhZG1pbi5icm93c2VyLmFjdGl2aXR5 JzogcGF0aC5qb2luKF9fZGlybmFtZSwgJy4vcGdhZG1pbi9icm93c2VyL3N0YXRpYy9qcy9hY3Rp dml0eScpLAorICAgICAgJ3BnYWRtaW4udG9vbHMuZXJkJzogcGF0aC5qb2luKF9fZGlybmFtZSwg Jy4vcGdhZG1pbi90b29scy9lcmQvc3RhdGljL2pzJyksCiAgICAgICAnYnVuZGxlZF9jb2RlbWly cm9yJzogcGF0aC5qb2luKF9fZGlybmFtZSwgJy4vcGdhZG1pbi9zdGF0aWMvYnVuZGxlL2NvZGVt aXJyb3InKSwKICAgICAgICd0b29scyc6IHBhdGguam9pbihfX2Rpcm5hbWUsICcuL3BnYWRtaW4v dG9vbHMvJyksCiAgICAgfSwKZGlmZiAtLWdpdCBhL3dlYi95YXJuLmxvY2sgYi93ZWIveWFybi5s b2NrCmluZGV4IGM5NDUwZDc1NS4uYWRhOTYyZTk0IDEwMDY0NAotLS0gYS93ZWIveWFybi5sb2Nr CisrKyBiL3dlYi95YXJuLmxvY2sKQEAgLTIsNzAgKzIsNTQgQEAKICMgeWFybiBsb2NrZmlsZSB2 MQogCiAKLSJAYmFiZWwvY29kZS1mcmFtZUBeNy4wLjAiLCAiQGJhYmVsL2NvZGUtZnJhbWVAXjcu MTAuNCIsICJAYmFiZWwvY29kZS1mcmFtZUBeNy41LjUiOgotICB2ZXJzaW9uICI3LjEwLjQiCi0g IHJlc29sdmVkICJodHRwczovL3JlZ2lzdHJ5Lnlhcm5wa2cuY29tL0BiYWJlbC9jb2RlLWZyYW1l Ly0vY29kZS1mcmFtZS03LjEwLjQudGd6IzE2OGRhMWEzNmU5MGRhNjhhZThkNDljMGYxYjQ4Yzdj NjI0OTIxM2EiCi0gIGludGVncml0eSBzaGE1MTItdkc2U3ZCNm9ZRWh2Z2lzWk5GUm1SQ1VrTHox MWM3cnArdGJOVHluR3FjNm1TMWQ1QVRkL3NHeVY2VzBLWlpuWFJLTVR6WkRSZ1FUM091OWpocEFm VWc9PQorIkBiYWJlbC9jb2RlLWZyYW1lQF43LjAuMCIsICJAYmFiZWwvY29kZS1mcmFtZUBeNy4x MC40IiwgIkBiYWJlbC9jb2RlLWZyYW1lQF43LjEyLjExIjoKKyAgdmVyc2lvbiAiNy4xMi4xMSIK KyAgcmVzb2x2ZWQgImh0dHBzOi8vcmVnaXN0cnkueWFybnBrZy5jb20vQGJhYmVsL2NvZGUtZnJh bWUvLS9jb2RlLWZyYW1lLTcuMTIuMTEudGd6I2Y0YWQ0MzVhYTI2M2RiOTM1YjhmMTBmMmM1NTJk MjNmYjcxNmE2M2YiCisgIGludGVncml0eSBzaGE1MTItWnQxeW9kQngxVWN5aWVQTVNrV25VNGhQ cWh3cTdoR2kybkZMMUxlQTNFVWwrcTJMUXgxNk1JU2dKMCt6N2RubWd2UDlRdElsZXVFVEdPaU9I MVJjSXc9PQogICBkZXBlbmRlbmNpZXM6CiAgICAgIkBiYWJlbC9oaWdobGlnaHQiICJeNy4xMC40 IgogCi0iQGJhYmVsL2NvcmVAXjcuNy41IjoKLSAgdmVyc2lvbiAiNy4xMS42IgotICByZXNvbHZl ZCAiaHR0cHM6Ly9yZWdpc3RyeS55YXJucGtnLmNvbS9AYmFiZWwvY29yZS8tL2NvcmUtNy4xMS42 LnRneiMzYTk0NTVkYzczODdmZjFiYWM0NTc3MDY1MGJjMTNiYTA0YTE1NjUxIgotICBpbnRlZ3Jp dHkgc2hhNTEyLVdwY3YwM0FHbm1rZ202dVM2azhpd2hJd1RyY1AwbTE3VEwxbjFzeTdxRDBxZWxE dTRYTmVXMGROMG1IZmErR2VpMjExeURhTG9FZS9WbGJYUXpNNEJnPT0KKyJAYmFiZWwvY29tcGF0 LWRhdGFAXjcuMTIuNSIsICJAYmFiZWwvY29tcGF0LWRhdGFAXjcuMTIuNyI6CisgIHZlcnNpb24g IjcuMTIuNyIKKyAgcmVzb2x2ZWQgImh0dHBzOi8vcmVnaXN0cnkueWFybnBrZy5jb20vQGJhYmVs L2NvbXBhdC1kYXRhLy0vY29tcGF0LWRhdGEtNy4xMi43LnRneiM5MzI5YjQ3ODJhN2Q2YmJkN2Vl ZjU3ZTExYWRkZjkxZWUzZWYxZTQxIgorICBpbnRlZ3JpdHkgc2hhNTEyLVlheFBNR3MvWElXdFlx cmRFT1pPQ1BzVldmRW9yaVhvcG5zejMvaTdhcFlQWFEzNjk4VUZoUzZkVlQxS041cU9zV21WZ3cv Rk9ybVFncFJhWmF5R3N3PT0KKworIkBiYWJlbC9jb3JlQF43LjEwLjIiLCAiQGJhYmVsL2NvcmVA XjcuNy41IjoKKyAgdmVyc2lvbiAiNy4xMi4xMCIKKyAgcmVzb2x2ZWQgImh0dHBzOi8vcmVnaXN0 cnkueWFybnBrZy5jb20vQGJhYmVsL2NvcmUvLS9jb3JlLTcuMTIuMTAudGd6I2I3OWEyZTFiOWY3 MGVkM2Q4NGJiZmI2ZDhjNGVmODI1ZjYwNmJjY2QiCisgIGludGVncml0eSBzaGE1MTItZVRBbFFL cTY1ekhma0haVjBzSVZPRENQR1Znb28xSGRCbGJTTGk5Q3FPenVaYW5NdjJpaHpZKzRwYWlLcjFt SCtYbVlFU01BbUovZHBaNjhlTjZkOHc9PQogICBkZXBlbmRlbmNpZXM6CiAgICAgIkBiYWJlbC9j b2RlLWZyYW1lIiAiXjcuMTAuNCIKLSAgICAiQGJhYmVsL2dlbmVyYXRvciIgIl43LjExLjYiCi0g ICAgIkBiYWJlbC9oZWxwZXItbW9kdWxlLXRyYW5zZm9ybXMiICJeNy4xMS4wIgotICAgICJAYmFi ZWwvaGVscGVycyIgIl43LjEwLjQiCi0gICAgIkBiYWJlbC9wYXJzZXIiICJeNy4xMS41IgotICAg ICJAYmFiZWwvdGVtcGxhdGUiICJeNy4xMC40IgotICAgICJAYmFiZWwvdHJhdmVyc2UiICJeNy4x MS41IgotICAgICJAYmFiZWwvdHlwZXMiICJeNy4xMS41IgorICAgICJAYmFiZWwvZ2VuZXJhdG9y IiAiXjcuMTIuMTAiCisgICAgIkBiYWJlbC9oZWxwZXItbW9kdWxlLXRyYW5zZm9ybXMiICJeNy4x Mi4xIgorICAgICJAYmFiZWwvaGVscGVycyIgIl43LjEyLjUiCisgICAgIkBiYWJlbC9wYXJzZXIi ICJeNy4xMi4xMCIKKyAgICAiQGJhYmVsL3RlbXBsYXRlIiAiXjcuMTIuNyIKKyAgICAiQGJhYmVs L3RyYXZlcnNlIiAiXjcuMTIuMTAiCisgICAgIkBiYWJlbC90eXBlcyIgIl43LjEyLjEwIgogICAg IGNvbnZlcnQtc291cmNlLW1hcCAiXjEuNy4wIgogICAgIGRlYnVnICJeNC4xLjAiCiAgICAgZ2Vu c3luYyAiXjEuMC4wLWJldGEuMSIKICAgICBqc29uNSAiXjIuMS4yIgogICAgIGxvZGFzaCAiXjQu MTcuMTkiCi0gICAgcmVzb2x2ZSAiXjEuMy4yIgotICAgIHNlbXZlciAiXjUuNC4xIgotICAgIHNv dXJjZS1tYXAgIl4wLjUuMCIKLQotIkBiYWJlbC9jb3JlQH43LjYuMCI6Ci0gIHZlcnNpb24gIjcu Ni40IgotICByZXNvbHZlZCAiaHR0cHM6Ly9yZWdpc3RyeS55YXJucGtnLmNvbS9AYmFiZWwvY29y ZS8tL2NvcmUtNy42LjQudGd6IzZlYmQ5ZmUwMDkyNWY2YzNlMTc3YmI3MjZhMTg4YjVmNTc4MDg4 ZmYiCi0gIGludGVncml0eSBzaGE1MTItUm0wSEd3MTAxR1k4RlR6cFdTeVJia2kvanpxKy9Qa05R SituU3VscmRZNmdGR09zTnNlQ3FENktIUlllMkUrRWR6dUJkcjJweENwNnM0VWs2ZUorWFE9PQot ICBkZXBlbmRlbmNpZXM6Ci0gICAgIkBiYWJlbC9jb2RlLWZyYW1lIiAiXjcuNS41IgotICAgICJA YmFiZWwvZ2VuZXJhdG9yIiAiXjcuNi40IgotICAgICJAYmFiZWwvaGVscGVycyIgIl43LjYuMiIK LSAgICAiQGJhYmVsL3BhcnNlciIgIl43LjYuNCIKLSAgICAiQGJhYmVsL3RlbXBsYXRlIiAiXjcu Ni4wIgotICAgICJAYmFiZWwvdHJhdmVyc2UiICJeNy42LjMiCi0gICAgIkBiYWJlbC90eXBlcyIg Il43LjYuMyIKLSAgICBjb252ZXJ0LXNvdXJjZS1tYXAgIl4xLjEuMCIKLSAgICBkZWJ1ZyAiXjQu MS4wIgotICAgIGpzb241ICJeMi4xLjAiCi0gICAgbG9kYXNoICJeNC4xNy4xMyIKLSAgICByZXNv bHZlICJeMS4zLjIiCiAgICAgc2VtdmVyICJeNS40LjEiCiAgICAgc291cmNlLW1hcCAiXjAuNS4w IgogCi0iQGJhYmVsL2dlbmVyYXRvckBeNy4xMS41IiwgIkBiYWJlbC9nZW5lcmF0b3JAXjcuMTEu NiIsICJAYmFiZWwvZ2VuZXJhdG9yQF43LjYuNCI6Ci0gIHZlcnNpb24gIjcuMTEuNiIKLSAgcmVz b2x2ZWQgImh0dHBzOi8vcmVnaXN0cnkueWFybnBrZy5jb20vQGJhYmVsL2dlbmVyYXRvci8tL2dl bmVyYXRvci03LjExLjYudGd6I2I4Njg5MDBmODFiMTYzYjRkNDY0ZWEyNDU0NWM2MWNiYWM0ZGM2 MjAiCi0gIGludGVncml0eSBzaGE1MTItRFd0UTFQVjNyK2NMYnlTb0hyd245UldFZ0tNQkxMbWE0 T0JRbG9QUnlEWXZjNW1zSk05a3ZUTG8xWW5sSmQxUC9adUtiZGxpM2lqcjVxM0Z2QUYzdUE9PQor IkBiYWJlbC9nZW5lcmF0b3JAXjcuMTIuMTAiLCAiQGJhYmVsL2dlbmVyYXRvckBeNy4xMi4xMSI6 CisgIHZlcnNpb24gIjcuMTIuMTEiCisgIHJlc29sdmVkICJodHRwczovL3JlZ2lzdHJ5Lnlhcm5w a2cuY29tL0BiYWJlbC9nZW5lcmF0b3IvLS9nZW5lcmF0b3ItNy4xMi4xMS50Z3ojOThhN2RmN2I4 YzM1OGM5YTM3YWIwN2EyNDA1Njg1MzAxNmFiYTNhZiIKKyAgaW50ZWdyaXR5IHNoYTUxMi1HZ2c2 V1BPSnRTaTh5WVF2TFZqRzhGL1RscFdEbEt4ME9wUzRLdCt4TVFQczVPYUdZV3krdjFBKzFUdnhJ NnNBTUdacEtXV29BUTFEYWVRYkltbEl0QT09CiAgIGRlcGVuZGVuY2llczoKLSAgICAiQGJhYmVs L3R5cGVzIiAiXjcuMTEuNSIKKyAgICAiQGJhYmVsL3R5cGVzIiAiXjcuMTIuMTEiCiAgICAganNl c2MgIl4yLjUuMSIKICAgICBzb3VyY2UtbWFwICJeMC41LjAiCiAKLSJAYmFiZWwvaGVscGVyLWFu bm90YXRlLWFzLXB1cmVAXjcuMTAuNCI6Ci0gIHZlcnNpb24gIjcuMTAuNCIKLSAgcmVzb2x2ZWQg Imh0dHBzOi8vcmVnaXN0cnkueWFybnBrZy5jb20vQGJhYmVsL2hlbHBlci1hbm5vdGF0ZS1hcy1w dXJlLy0vaGVscGVyLWFubm90YXRlLWFzLXB1cmUtNy4xMC40LnRneiM1YmYwZDQ5NWEzZjc1N2Fj M2JkYTQ4YjViZjNiM2JhMzA5YzcyYmEzIgotICBpbnRlZ3JpdHkgc2hhNTEyLVhRbHFLUVA0dlhG QjdCTjhmRUVlcnJtWXZIcDNmSy9yQmtSRno5amFKYnpLMEIxRFNmZWo5S2M3WnpFOFovT25JZDFq cEpkTkFaM0JGUWpXRzY4cmNBPT0KKyJAYmFiZWwvaGVscGVyLWFubm90YXRlLWFzLXB1cmVAXjcu MTAuNCIsICJAYmFiZWwvaGVscGVyLWFubm90YXRlLWFzLXB1cmVAXjcuMTIuMTAiOgorICB2ZXJz aW9uICI3LjEyLjEwIgorICByZXNvbHZlZCAiaHR0cHM6Ly9yZWdpc3RyeS55YXJucGtnLmNvbS9A YmFiZWwvaGVscGVyLWFubm90YXRlLWFzLXB1cmUvLS9oZWxwZXItYW5ub3RhdGUtYXMtcHVyZS03 LjEyLjEwLnRneiM1NGFiOWIwMDBlNjBhOTM2NDRjZTE3YjNmMzdkMzEzYWFmMWQxMTVkIgorICBp bnRlZ3JpdHkgc2hhNTEyLVhwbG1WYkMxbitLWTZqTDgvZmdMVlhYVWF1RElCK2xENStHc1FFaDZG NkdCRjFkcTFxeTREUDR5WFd6REtjb3FYQjNYNTh0NjFlODVGaXRvd3c0SlZRPT0KICAgZGVwZW5k ZW5jaWVzOgotICAgICJAYmFiZWwvdHlwZXMiICJeNy4xMC40IgorICAgICJAYmFiZWwvdHlwZXMi ICJeNy4xMi4xMCIKIAogIkBiYWJlbC9oZWxwZXItYnVpbGRlci1iaW5hcnktYXNzaWdubWVudC1v cGVyYXRvci12aXNpdG9yQF43LjEwLjQiOgogICB2ZXJzaW9uICI3LjEwLjQiCkBAIC03NSw0MyAr NTksMzQgQEAKICAgICAiQGJhYmVsL2hlbHBlci1leHBsb2RlLWFzc2lnbmFibGUtZXhwcmVzc2lv biIgIl43LjEwLjQiCiAgICAgIkBiYWJlbC90eXBlcyIgIl43LjEwLjQiCiAKLSJAYmFiZWwvaGVs cGVyLWJ1aWxkZXItcmVhY3QtanN4LWV4cGVyaW1lbnRhbEBeNy4xMC40IiwgIkBiYWJlbC9oZWxw ZXItYnVpbGRlci1yZWFjdC1qc3gtZXhwZXJpbWVudGFsQF43LjExLjUiOgotICB2ZXJzaW9uICI3 LjExLjUiCi0gIHJlc29sdmVkICJodHRwczovL3JlZ2lzdHJ5Lnlhcm5wa2cuY29tL0BiYWJlbC9o ZWxwZXItYnVpbGRlci1yZWFjdC1qc3gtZXhwZXJpbWVudGFsLy0vaGVscGVyLWJ1aWxkZXItcmVh Y3QtanN4LWV4cGVyaW1lbnRhbC03LjExLjUudGd6IzRlYTQzZGQ2Mzg1N2IwYTM1Y2QxZjFiMTYx ZGMyOWI0MzQxNGU3OWYiCi0gIGludGVncml0eSBzaGE1MTItVmM0YVBKblJaS1dmemVDQnNxVEJu enVsVk5qQUJWZGFoU1BodGRNRDNWczgweWt4NGE4N2pUSHRGL1ZSK2FsU3JEbU52YXQ3bDEzeXJS SGF1R2NIVnc9PQorIkBiYWJlbC9oZWxwZXItY29tcGlsYXRpb24tdGFyZ2V0c0BeNy4xMi41IjoK KyAgdmVyc2lvbiAiNy4xMi41IgorICByZXNvbHZlZCAiaHR0cHM6Ly9yZWdpc3RyeS55YXJucGtn LmNvbS9AYmFiZWwvaGVscGVyLWNvbXBpbGF0aW9uLXRhcmdldHMvLS9oZWxwZXItY29tcGlsYXRp b24tdGFyZ2V0cy03LjEyLjUudGd6I2NiNDcwYzc2MTk4ZGI2YTI0ZTlkYmM4OTg3Mjc1NjMxZTVk Mjk4MzEiCisgIGludGVncml0eSBzaGE1MTItK3FINk5yc2NNb2xVbHpPWW5nU0JNSU9RcEtVR1BQ c2M2MUJ1NVcxMG1nODRMeFo3Y212bkJIekFSS2JEb0Z4VnZxcUFiajZUZzZON2JTcldTUFhNeXc9 PQogICBkZXBlbmRlbmNpZXM6Ci0gICAgIkBiYWJlbC9oZWxwZXItYW5ub3RhdGUtYXMtcHVyZSIg Il43LjEwLjQiCi0gICAgIkBiYWJlbC9oZWxwZXItbW9kdWxlLWltcG9ydHMiICJeNy4xMC40Igot ICAgICJAYmFiZWwvdHlwZXMiICJeNy4xMS41IgotCi0iQGJhYmVsL2hlbHBlci1idWlsZGVyLXJl YWN0LWpzeEBeNy4xMC40IjoKLSAgdmVyc2lvbiAiNy4xMC40IgotICByZXNvbHZlZCAiaHR0cHM6 Ly9yZWdpc3RyeS55YXJucGtnLmNvbS9AYmFiZWwvaGVscGVyLWJ1aWxkZXItcmVhY3QtanN4Ly0v aGVscGVyLWJ1aWxkZXItcmVhY3QtanN4LTcuMTAuNC50Z3ojODA5NWNkZGJmZjg1OGU2ZmE5YzMy NmRhZWU1NGEyZjI3MzJjMWQ1ZCIKLSAgaW50ZWdyaXR5IHNoYTUxMi01blBjSVo3K0tLRHhUMTQy N29CaXZsOVY5WVRhbDdxazBkaWNjbmg3UnJjZ3JUL3BHRk9qZ0d3MWRncnl5eDFHdkhFcFhWZm9E RjZBazNyVGlXaDhSZz09Ci0gIGRlcGVuZGVuY2llczoKLSAgICAiQGJhYmVsL2hlbHBlci1hbm5v dGF0ZS1hcy1wdXJlIiAiXjcuMTAuNCIKLSAgICAiQGJhYmVsL3R5cGVzIiAiXjcuMTAuNCIKKyAg ICAiQGJhYmVsL2NvbXBhdC1kYXRhIiAiXjcuMTIuNSIKKyAgICAiQGJhYmVsL2hlbHBlci12YWxp ZGF0b3Itb3B0aW9uIiAiXjcuMTIuMSIKKyAgICBicm93c2Vyc2xpc3QgIl40LjE0LjUiCisgICAg c2VtdmVyICJeNS41LjAiCiAKLSJAYmFiZWwvaGVscGVyLWNyZWF0ZS1jbGFzcy1mZWF0dXJlcy1w bHVnaW5AXjcuMTAuNCI6Ci0gIHZlcnNpb24gIjcuMTAuNSIKLSAgcmVzb2x2ZWQgImh0dHBzOi8v cmVnaXN0cnkueWFybnBrZy5jb20vQGJhYmVsL2hlbHBlci1jcmVhdGUtY2xhc3MtZmVhdHVyZXMt cGx1Z2luLy0vaGVscGVyLWNyZWF0ZS1jbGFzcy1mZWF0dXJlcy1wbHVnaW4tNy4xMC41LnRneiM5 ZjYxNDQ2YmE4MGU4MjQwYjBhNWM4NWM2ZmRhYzg0NTlkNmYyNTlkIgotICBpbnRlZ3JpdHkgc2hh NTEyLTBua2RlaWpCN1ZsWm9MVDNyL21ZM2JVa3czVDhXRy9oTncrRkFUcy82K3BHMjAzOUlKV2pU WUwwVlRJU3FzTkhNVVRFbndiVm5jODlXSUpYOVFlZDBBPT0KKyJAYmFiZWwvaGVscGVyLWNyZWF0 ZS1jbGFzcy1mZWF0dXJlcy1wbHVnaW5AXjcuMTIuMSI6CisgIHZlcnNpb24gIjcuMTIuMSIKKyAg cmVzb2x2ZWQgImh0dHBzOi8vcmVnaXN0cnkueWFybnBrZy5jb20vQGJhYmVsL2hlbHBlci1jcmVh dGUtY2xhc3MtZmVhdHVyZXMtcGx1Z2luLy0vaGVscGVyLWNyZWF0ZS1jbGFzcy1mZWF0dXJlcy1w bHVnaW4tNy4xMi4xLnRneiMzYzQ1OTk4ZjQzMWVkZDRhOTIxNGM1ZjFkM2FkMTQ0OGE2MTM3ZjZl IgorICBpbnRlZ3JpdHkgc2hhNTEyLWhrTCsrcldldGEvT1ZPQlRSSmM5YTVBemg1bXQ1V2daVUdB S01EOEpNMTQxWXNFMDhLLy9icDF1bkJCaWVPNnJVS2tJUHlVRTBVU1EzMGpBeTNTazF3PT0KICAg ZGVwZW5kZW5jaWVzOgogICAgICJAYmFiZWwvaGVscGVyLWZ1bmN0aW9uLW5hbWUiICJeNy4xMC40 IgotICAgICJAYmFiZWwvaGVscGVyLW1lbWJlci1leHByZXNzaW9uLXRvLWZ1bmN0aW9ucyIgIl43 LjEwLjUiCisgICAgIkBiYWJlbC9oZWxwZXItbWVtYmVyLWV4cHJlc3Npb24tdG8tZnVuY3Rpb25z IiAiXjcuMTIuMSIKICAgICAiQGJhYmVsL2hlbHBlci1vcHRpbWlzZS1jYWxsLWV4cHJlc3Npb24i ICJeNy4xMC40IgotICAgICJAYmFiZWwvaGVscGVyLXBsdWdpbi11dGlscyIgIl43LjEwLjQiCi0g ICAgIkBiYWJlbC9oZWxwZXItcmVwbGFjZS1zdXBlcnMiICJeNy4xMC40IgorICAgICJAYmFiZWwv aGVscGVyLXJlcGxhY2Utc3VwZXJzIiAiXjcuMTIuMSIKICAgICAiQGJhYmVsL2hlbHBlci1zcGxp dC1leHBvcnQtZGVjbGFyYXRpb24iICJeNy4xMC40IgogCi0iQGJhYmVsL2hlbHBlci1jcmVhdGUt cmVnZXhwLWZlYXR1cmVzLXBsdWdpbkBeNy4xMC40IjoKLSAgdmVyc2lvbiAiNy4xMC40IgotICBy ZXNvbHZlZCAiaHR0cHM6Ly9yZWdpc3RyeS55YXJucGtnLmNvbS9AYmFiZWwvaGVscGVyLWNyZWF0 ZS1yZWdleHAtZmVhdHVyZXMtcGx1Z2luLy0vaGVscGVyLWNyZWF0ZS1yZWdleHAtZmVhdHVyZXMt cGx1Z2luLTcuMTAuNC50Z3ojZmRkNjBkODg1MjQ2NTlhMGI2OTU5YzA1Nzk5MjVlNDI1NzE0ZjNi OCIKLSAgaW50ZWdyaXR5IHNoYTUxMi0yL2h1NThJRVBLZW9MRjQ1REJ3eDNYRnFzYkNYbWtkQWF5 NHNwVnIyeDBqWWdSeHJTTnArZVB3dlNzeTlnNllTYU5EY0tJUVZQWGsxT3Y4UzJlZGsyZz09Cisi QGJhYmVsL2hlbHBlci1jcmVhdGUtcmVnZXhwLWZlYXR1cmVzLXBsdWdpbkBeNy4xMi4xIjoKKyAg dmVyc2lvbiAiNy4xMi43IgorICByZXNvbHZlZCAiaHR0cHM6Ly9yZWdpc3RyeS55YXJucGtnLmNv bS9AYmFiZWwvaGVscGVyLWNyZWF0ZS1yZWdleHAtZmVhdHVyZXMtcGx1Z2luLy0vaGVscGVyLWNy ZWF0ZS1yZWdleHAtZmVhdHVyZXMtcGx1Z2luLTcuMTIuNy50Z3ojMjA4NDE3MmU5NTQ0M2ZhMGEw OTIxNGJhMWJiMzI4ZjlhZWExMjc4ZiIKKyAgaW50ZWdyaXR5IHNoYTUxMi1pZG51dHZRUGRwYmR1 dXR2aTNKVmZFZ2NWSUhvb1FuaHZoeDBOazlpc09JTk9JR1lrWmVhMVBrMkpsSlJpVW5NZWZybHZy MHZrQnlBVEJZL21CNHZqUT09CiAgIGRlcGVuZGVuY2llczoKICAgICAiQGJhYmVsL2hlbHBlci1h bm5vdGF0ZS1hcy1wdXJlIiAiXjcuMTAuNCIKLSAgICAiQGJhYmVsL2hlbHBlci1yZWdleCIgIl43 LjEwLjQiCi0gICAgcmVnZXhwdS1jb3JlICJeNC43LjAiCisgICAgcmVnZXhwdS1jb3JlICJeNC43 LjEiCiAKICJAYmFiZWwvaGVscGVyLWRlZmluZS1tYXBAXjcuMTAuNCI6CiAgIHZlcnNpb24gIjcu MTAuNSIKQEAgLTEyMywyNyArOTgsMjcgQEAKICAgICBsb2Rhc2ggIl40LjE3LjE5IgogCiAiQGJh YmVsL2hlbHBlci1leHBsb2RlLWFzc2lnbmFibGUtZXhwcmVzc2lvbkBeNy4xMC40IjoKLSAgdmVy c2lvbiAiNy4xMS40IgotICByZXNvbHZlZCAiaHR0cHM6Ly9yZWdpc3RyeS55YXJucGtnLmNvbS9A YmFiZWwvaGVscGVyLWV4cGxvZGUtYXNzaWduYWJsZS1leHByZXNzaW9uLy0vaGVscGVyLWV4cGxv ZGUtYXNzaWduYWJsZS1leHByZXNzaW9uLTcuMTEuNC50Z3ojMmQ4ZTM0NzAyNTJjYzE3YWJhOTE3 ZWRlNzgwM2Q0YTdhMjc2YTQxYiIKLSAgaW50ZWdyaXR5IHNoYTUxMi11eDlobTN6UjRXVjFZM3hY eFhrZEcvMGd4RjludkkwWVZtS1Zodks5QWZNb2FRa2VtTDNzSnBYdytYYno2NWF6bzhxSmlFejJY VkRVcEszS1loSDNaUT09CisgIHZlcnNpb24gIjcuMTIuMSIKKyAgcmVzb2x2ZWQgImh0dHBzOi8v cmVnaXN0cnkueWFybnBrZy5jb20vQGJhYmVsL2hlbHBlci1leHBsb2RlLWFzc2lnbmFibGUtZXhw cmVzc2lvbi8tL2hlbHBlci1leHBsb2RlLWFzc2lnbmFibGUtZXhwcmVzc2lvbi03LjEyLjEudGd6 IzgwMDZhNDY2Njk1YzRhZDg2YTJhNWYyZmIxNWI1ZjJjMzFhZDU2MzMiCisgIGludGVncml0eSBz aGE1MTItZG1Vd0g4WG1sclVwVnFndFo3Mzd0Szg4djA3bDg0MHo5ajNPRWhDTHdLVGtqbHZLcGZx WFZJWjB3cEszYWVPeHNwd0dyZi81QVA1cUx4NHJPM3c1ckE9PQogICBkZXBlbmRlbmNpZXM6Ci0g ICAgIkBiYWJlbC90eXBlcyIgIl43LjEwLjQiCisgICAgIkBiYWJlbC90eXBlcyIgIl43LjEyLjEi CiAKLSJAYmFiZWwvaGVscGVyLWZ1bmN0aW9uLW5hbWVAXjcuMTAuNCI6Ci0gIHZlcnNpb24gIjcu MTAuNCIKLSAgcmVzb2x2ZWQgImh0dHBzOi8vcmVnaXN0cnkueWFybnBrZy5jb20vQGJhYmVsL2hl bHBlci1mdW5jdGlvbi1uYW1lLy0vaGVscGVyLWZ1bmN0aW9uLW5hbWUtNy4xMC40LnRneiNkMmQz YjIwYzU5YWQ4YzQ3MTEyZmE3ZDJhOTRiYzA5ZDVlZjgyZjFhIgotICBpbnRlZ3JpdHkgc2hhNTEy LVlkYVN5ejFuOGdZNDRFbU43eDQ0ekJuOXpRMVJ5MlkrM0dUQSszdkg2TWl6a2UxVncwYVdETTY2 Rk9ZRVB3OC8vcUtrbXFPY2tyR2dUWWErNnNjZXFRPT0KKyJAYmFiZWwvaGVscGVyLWZ1bmN0aW9u LW5hbWVAXjcuMTAuNCIsICJAYmFiZWwvaGVscGVyLWZ1bmN0aW9uLW5hbWVAXjcuMTIuMTEiOgor ICB2ZXJzaW9uICI3LjEyLjExIgorICByZXNvbHZlZCAiaHR0cHM6Ly9yZWdpc3RyeS55YXJucGtn LmNvbS9AYmFiZWwvaGVscGVyLWZ1bmN0aW9uLW5hbWUvLS9oZWxwZXItZnVuY3Rpb24tbmFtZS03 LjEyLjExLnRneiMxZmQ3NzM4YWVlNWRjZjUzYzNlY2ZmMjRmMWRhOWM1MTFlYzQ3YjQyIgorICBp bnRlZ3JpdHkgc2hhNTEyLUF0UUtqdFlOb2xLTmk2bk5OVkxRMjdDUDZEOW9GUjZicS9IUFlTaXps emJwN3VDMU01OVhKZThMKzB1WGpiSWFaYVVKRjk5cnVIcVZHaUtYVS83eWJBPT0KICAgZGVwZW5k ZW5jaWVzOgotICAgICJAYmFiZWwvaGVscGVyLWdldC1mdW5jdGlvbi1hcml0eSIgIl43LjEwLjQi Ci0gICAgIkBiYWJlbC90ZW1wbGF0ZSIgIl43LjEwLjQiCi0gICAgIkBiYWJlbC90eXBlcyIgIl43 LjEwLjQiCisgICAgIkBiYWJlbC9oZWxwZXItZ2V0LWZ1bmN0aW9uLWFyaXR5IiAiXjcuMTIuMTAi CisgICAgIkBiYWJlbC90ZW1wbGF0ZSIgIl43LjEyLjciCisgICAgIkBiYWJlbC90eXBlcyIgIl43 LjEyLjExIgogCi0iQGJhYmVsL2hlbHBlci1nZXQtZnVuY3Rpb24tYXJpdHlAXjcuMTAuNCI6Ci0g IHZlcnNpb24gIjcuMTAuNCIKLSAgcmVzb2x2ZWQgImh0dHBzOi8vcmVnaXN0cnkueWFybnBrZy5j b20vQGJhYmVsL2hlbHBlci1nZXQtZnVuY3Rpb24tYXJpdHkvLS9oZWxwZXItZ2V0LWZ1bmN0aW9u LWFyaXR5LTcuMTAuNC50Z3ojOThjMWNiZWEwZTIzMzJmMzNmOWE0NjYxYjhjZTE1MDViMmMxOWJh MiIKLSAgaW50ZWdyaXR5IHNoYTUxMi1Fa04zWURCK1NSRGdpSVVuTmdjbWlEMzYxdGkrQVZiTDNm M0hlbmY2ZHFxVXlyNWRNc29ybm8wbEpXSnVMaERoa0k1c1lFcGdqNnk5a0I4QU9VMUkyQT09Cisi QGJhYmVsL2hlbHBlci1nZXQtZnVuY3Rpb24tYXJpdHlAXjcuMTIuMTAiOgorICB2ZXJzaW9uICI3 LjEyLjEwIgorICByZXNvbHZlZCAiaHR0cHM6Ly9yZWdpc3RyeS55YXJucGtnLmNvbS9AYmFiZWwv aGVscGVyLWdldC1mdW5jdGlvbi1hcml0eS8tL2hlbHBlci1nZXQtZnVuY3Rpb24tYXJpdHktNy4x Mi4xMC50Z3ojYjE1ODgxN2EzMTY1YjVmYWEyMDQ3ODI1ZGZhNjE5NzBkZGNjMTZjZiIKKyAgaW50 ZWdyaXR5IHNoYTUxMi1tbTBuNUJQalIwNndoOW1QUWFEZFhXRG9sbC9qNVVwQ0FQbDF4OGZTNzFH SG03SEE2VWEyVjR5bEcxSnU4bHZjVE9pZXRiUE5OUGFTaWxLaitwaitBZz09CiAgIGRlcGVuZGVu Y2llczoKLSAgICAiQGJhYmVsL3R5cGVzIiAiXjcuMTAuNCIKKyAgICAiQGJhYmVsL3R5cGVzIiAi XjcuMTIuMTAiCiAKICJAYmFiZWwvaGVscGVyLWhvaXN0LXZhcmlhYmxlc0BeNy4xMC40IjoKICAg dmVyc2lvbiAiNy4xMC40IgpAQCAtMTUyLDExNyArMTI3LDExNSBAQAogICBkZXBlbmRlbmNpZXM6 CiAgICAgIkBiYWJlbC90eXBlcyIgIl43LjEwLjQiCiAKLSJAYmFiZWwvaGVscGVyLW1lbWJlci1l eHByZXNzaW9uLXRvLWZ1bmN0aW9uc0BeNy4xMC40IiwgIkBiYWJlbC9oZWxwZXItbWVtYmVyLWV4 cHJlc3Npb24tdG8tZnVuY3Rpb25zQF43LjEwLjUiOgotICB2ZXJzaW9uICI3LjExLjAiCi0gIHJl c29sdmVkICJodHRwczovL3JlZ2lzdHJ5Lnlhcm5wa2cuY29tL0BiYWJlbC9oZWxwZXItbWVtYmVy LWV4cHJlc3Npb24tdG8tZnVuY3Rpb25zLy0vaGVscGVyLW1lbWJlci1leHByZXNzaW9uLXRvLWZ1 bmN0aW9ucy03LjExLjAudGd6I2FlNjljODNkODRlZTgyZjRiNDJmOTZlMmEwOTQxMDkzNWE4ZjI2 ZGYiCi0gIGludGVncml0eSBzaGE1MTItSmJGbEtIRm50UlY1cUt3M1lDMEN2UW5EWjRYTXdnenpC YmxkN0x5NE1qNGNiRnkzS3l3Y1I4TnROY3RSVG9NV0pPVnZMSU5KdjUyNUdkNnd3VkV4L1E9PQor IkBiYWJlbC9oZWxwZXItbWVtYmVyLWV4cHJlc3Npb24tdG8tZnVuY3Rpb25zQF43LjEyLjEiLCAi QGJhYmVsL2hlbHBlci1tZW1iZXItZXhwcmVzc2lvbi10by1mdW5jdGlvbnNAXjcuMTIuNyI6Cisg IHZlcnNpb24gIjcuMTIuNyIKKyAgcmVzb2x2ZWQgImh0dHBzOi8vcmVnaXN0cnkueWFybnBrZy5j b20vQGJhYmVsL2hlbHBlci1tZW1iZXItZXhwcmVzc2lvbi10by1mdW5jdGlvbnMvLS9oZWxwZXIt bWVtYmVyLWV4cHJlc3Npb24tdG8tZnVuY3Rpb25zLTcuMTIuNy50Z3ojYWE3N2JkMDM5NmVjODEx NGU1ZTMwNzg3ZWZhNzg1OTlkODc0YTg1NSIKKyAgaW50ZWdyaXR5IHNoYTUxMi1EQ3N1UHllV3hl SGdoMUR1czdBUG43aXphNDJpL3FYcWlGUFd5QkRkT0Z0dlM1ODFKUWVQc2MxRi9uRCtmSHJjc3do TGxSYzJVcFlTMU53RVJ4WmhIdz09CiAgIGRlcGVuZGVuY2llczoKLSAgICAiQGJhYmVsL3R5cGVz IiAiXjcuMTEuMCIKKyAgICAiQGJhYmVsL3R5cGVzIiAiXjcuMTIuNyIKIAotIkBiYWJlbC9oZWxw ZXItbW9kdWxlLWltcG9ydHNAXjcuMC4wIiwgIkBiYWJlbC9oZWxwZXItbW9kdWxlLWltcG9ydHNA XjcuMTAuNCI6Ci0gIHZlcnNpb24gIjcuMTAuNCIKLSAgcmVzb2x2ZWQgImh0dHBzOi8vcmVnaXN0 cnkueWFybnBrZy5jb20vQGJhYmVsL2hlbHBlci1tb2R1bGUtaW1wb3J0cy8tL2hlbHBlci1tb2R1 bGUtaW1wb3J0cy03LjEwLjQudGd6IzRjNWM1NGJlMDRiZDMxNjcwYTczODI3OTdkNzViOWZhMmU1 YjU2MjAiCi0gIGludGVncml0eSBzaGE1MTItbkVRSkhxWWF2STIxN29EOStzNU1VQnprNngxSWx2 b1M5V1RQZmdHNDNDYk1FZVN0RTB2K3IrVHVjV2R4OEtGR293UEd2eU9rRFQ5KzdESGVkSURuVnc9 PQorIkBiYWJlbC9oZWxwZXItbW9kdWxlLWltcG9ydHNAXjcuMC4wIiwgIkBiYWJlbC9oZWxwZXIt bW9kdWxlLWltcG9ydHNAXjcuMTIuMSIsICJAYmFiZWwvaGVscGVyLW1vZHVsZS1pbXBvcnRzQF43 LjEyLjUiOgorICB2ZXJzaW9uICI3LjEyLjUiCisgIHJlc29sdmVkICJodHRwczovL3JlZ2lzdHJ5 Lnlhcm5wa2cuY29tL0BiYWJlbC9oZWxwZXItbW9kdWxlLWltcG9ydHMvLS9oZWxwZXItbW9kdWxl LWltcG9ydHMtNy4xMi41LnRneiMxYmZjMDIyOWY3OTQ5ODhmNzZlZDBhNGQ0ZTkwODYwODUwYjU0 ZGZiIgorICBpbnRlZ3JpdHkgc2hhNTEyLVNSNzEzT2dxZzYrK3VleEZST1JmLytuUFhNbVdJbjgw VEFMdTB1YUZiK2lRSVVvUjdiT0M3ekJXeXpCczViM3RCQkpYdXlEMGNSdTFGMTVHeXpqT1dBPT0K ICAgZGVwZW5kZW5jaWVzOgotICAgICJAYmFiZWwvdHlwZXMiICJeNy4xMC40IgorICAgICJAYmFi ZWwvdHlwZXMiICJeNy4xMi41IgogCi0iQGJhYmVsL2hlbHBlci1tb2R1bGUtdHJhbnNmb3Jtc0Be Ny4xMC40IiwgIkBiYWJlbC9oZWxwZXItbW9kdWxlLXRyYW5zZm9ybXNAXjcuMTAuNSIsICJAYmFi ZWwvaGVscGVyLW1vZHVsZS10cmFuc2Zvcm1zQF43LjExLjAiOgotICB2ZXJzaW9uICI3LjExLjAi Ci0gIHJlc29sdmVkICJodHRwczovL3JlZ2lzdHJ5Lnlhcm5wa2cuY29tL0BiYWJlbC9oZWxwZXIt bW9kdWxlLXRyYW5zZm9ybXMvLS9oZWxwZXItbW9kdWxlLXRyYW5zZm9ybXMtNy4xMS4wLnRneiNi MTZmMjUwMjI5ZTQ3MjExYWJkZDg0YjM0YjY0NzM3YzJhYjJkMzU5IgotICBpbnRlZ3JpdHkgc2hh NTEyLTAyRVZ1OENPTXVUUk8xVEF6ZE10cEJQYmU2YVExdy84ZmVQRDJZZ1FteFpVNGdwTldhTDln SzNKcDdkeGxrVWxVQ0pPVGFTZUErSHJtMUJSUXdxSWhnPT0KKyJAYmFiZWwvaGVscGVyLW1vZHVs ZS10cmFuc2Zvcm1zQF43LjEyLjEiOgorICB2ZXJzaW9uICI3LjEyLjEiCisgIHJlc29sdmVkICJo dHRwczovL3JlZ2lzdHJ5Lnlhcm5wa2cuY29tL0BiYWJlbC9oZWxwZXItbW9kdWxlLXRyYW5zZm9y bXMvLS9oZWxwZXItbW9kdWxlLXRyYW5zZm9ybXMtNy4xMi4xLnRneiM3OTU0ZmVjNzFmNWIzMmM0 OGU0YjMwM2I0MzdjMzQ0NTNmZDcyNDdjIgorICBpbnRlZ3JpdHkgc2hhNTEyLVFRemVoZ0ZBWjJi YklTaUNwbVZHZmlHdXg4WVZGWFEwYWJCaWMyRW52aGVqMjJEVlhWOW5DRmFTNWhJUWJreW8xQWRH YitnTk1FMlRTaDNoWUpWVi93PT0KICAgZGVwZW5kZW5jaWVzOgotICAgICJAYmFiZWwvaGVscGVy LW1vZHVsZS1pbXBvcnRzIiAiXjcuMTAuNCIKLSAgICAiQGJhYmVsL2hlbHBlci1yZXBsYWNlLXN1 cGVycyIgIl43LjEwLjQiCi0gICAgIkBiYWJlbC9oZWxwZXItc2ltcGxlLWFjY2VzcyIgIl43LjEw LjQiCisgICAgIkBiYWJlbC9oZWxwZXItbW9kdWxlLWltcG9ydHMiICJeNy4xMi4xIgorICAgICJA YmFiZWwvaGVscGVyLXJlcGxhY2Utc3VwZXJzIiAiXjcuMTIuMSIKKyAgICAiQGJhYmVsL2hlbHBl ci1zaW1wbGUtYWNjZXNzIiAiXjcuMTIuMSIKICAgICAiQGJhYmVsL2hlbHBlci1zcGxpdC1leHBv cnQtZGVjbGFyYXRpb24iICJeNy4xMS4wIgorICAgICJAYmFiZWwvaGVscGVyLXZhbGlkYXRvci1p ZGVudGlmaWVyIiAiXjcuMTAuNCIKICAgICAiQGJhYmVsL3RlbXBsYXRlIiAiXjcuMTAuNCIKLSAg ICAiQGJhYmVsL3R5cGVzIiAiXjcuMTEuMCIKKyAgICAiQGJhYmVsL3RyYXZlcnNlIiAiXjcuMTIu MSIKKyAgICAiQGJhYmVsL3R5cGVzIiAiXjcuMTIuMSIKICAgICBsb2Rhc2ggIl40LjE3LjE5Igog Ci0iQGJhYmVsL2hlbHBlci1vcHRpbWlzZS1jYWxsLWV4cHJlc3Npb25AXjcuMTAuNCI6Ci0gIHZl cnNpb24gIjcuMTAuNCIKLSAgcmVzb2x2ZWQgImh0dHBzOi8vcmVnaXN0cnkueWFybnBrZy5jb20v QGJhYmVsL2hlbHBlci1vcHRpbWlzZS1jYWxsLWV4cHJlc3Npb24vLS9oZWxwZXItb3B0aW1pc2Ut Y2FsbC1leHByZXNzaW9uLTcuMTAuNC50Z3ojNTBkYzk2NDEzZDU5NGY5OTVhNzc5MDU5MDViMDU4 OTNjZDc3OTY3MyIKLSAgaW50ZWdyaXR5IHNoYTUxMi1uM1VHS1k0Vlh3WFRoRWlLcmdSQW9WUEJN cWVvUGdIVnFpSFpPYW5BSkNHOW5RVUwycExSUWlyVXpsMGlvS2NsSEdwR3FSZ0lPa2djSUphSVdM cHlnZz09CisiQGJhYmVsL2hlbHBlci1vcHRpbWlzZS1jYWxsLWV4cHJlc3Npb25AXjcuMTAuNCIs ICJAYmFiZWwvaGVscGVyLW9wdGltaXNlLWNhbGwtZXhwcmVzc2lvbkBeNy4xMi4xMCI6CisgIHZl cnNpb24gIjcuMTIuMTAiCisgIHJlc29sdmVkICJodHRwczovL3JlZ2lzdHJ5Lnlhcm5wa2cuY29t L0BiYWJlbC9oZWxwZXItb3B0aW1pc2UtY2FsbC1leHByZXNzaW9uLy0vaGVscGVyLW9wdGltaXNl LWNhbGwtZXhwcmVzc2lvbi03LjEyLjEwLnRneiM5NGNhNGUzMDZlZTExYTdkZDZlOWY0MjgyM2Uy YWM2YjQ5ODgxZTJkIgorICBpbnRlZ3JpdHkgc2hhNTEyLTR0cGJVMFNyU1RqanQ2NVVNV1NyVU9Q WlRzZ3ZQZ0dHNFM4UVNUTkhhY0t6cFM1MUlWV0dEajB5Q3d5ZVpORC9pK0xTTjJnL082M2pFWEVX bTQ5c1lRPT0KICAgZGVwZW5kZW5jaWVzOgotICAgICJAYmFiZWwvdHlwZXMiICJeNy4xMC40Igor ICAgICJAYmFiZWwvdHlwZXMiICJeNy4xMi4xMCIKIAotIkBiYWJlbC9oZWxwZXItcGx1Z2luLXV0 aWxzQF43LjAuMCIsICJAYmFiZWwvaGVscGVyLXBsdWdpbi11dGlsc0BeNy4xMC40IiwgIkBiYWJl bC9oZWxwZXItcGx1Z2luLXV0aWxzQF43LjguMCI6CisiQGJhYmVsL2hlbHBlci1wbHVnaW4tdXRp bHNAXjcuMC4wIiwgIkBiYWJlbC9oZWxwZXItcGx1Z2luLXV0aWxzQF43LjEwLjQiLCAiQGJhYmVs L2hlbHBlci1wbHVnaW4tdXRpbHNAXjcuOC4wIiwgIkBiYWJlbC9oZWxwZXItcGx1Z2luLXV0aWxz QF43LjguMyI6CiAgIHZlcnNpb24gIjcuMTAuNCIKICAgcmVzb2x2ZWQgImh0dHBzOi8vcmVnaXN0 cnkueWFybnBrZy5jb20vQGJhYmVsL2hlbHBlci1wbHVnaW4tdXRpbHMvLS9oZWxwZXItcGx1Z2lu LXV0aWxzLTcuMTAuNC50Z3ojMmY3NWE4MzEyNjlkNGY2NzdkZTQ5OTg2ZGZmNTk5Mjc1MzNjZjM3 NSIKICAgaW50ZWdyaXR5IHNoYTUxMi1PNEtDdlFBNmxMaU1VOWwyZWF3QlBNZjF4UFA4eFBmQjNp RVF3MTUwaE9WVHFqL3JmWHowVGhUYjRIRXpxUWZzMkJtbzVBeThCenhmelZ0QnJyOWRWZz09CiAK LSJAYmFiZWwvaGVscGVyLXJlZ2V4QF43LjEwLjQiOgotICB2ZXJzaW9uICI3LjEwLjUiCi0gIHJl c29sdmVkICJodHRwczovL3JlZ2lzdHJ5Lnlhcm5wa2cuY29tL0BiYWJlbC9oZWxwZXItcmVnZXgv LS9oZWxwZXItcmVnZXgtNy4xMC41LnRneiMzMmRmYmI3OTg5OTA3M2M0MTU1NTcwNTNhMTliZDA1 NWFhZTUwYWUwIgotICBpbnRlZ3JpdHkgc2hhNTEyLTY4a2RVQXpEcmxqcUJyaW83RFlBRWdDb0pI eHBwSk9FUkhPZ09yRE43V2pPelAwWlExTHNTRFJYY2VtelZaYUx2amFKc0pFRVNiNnF0K3puTnVF TkRnPT0KLSAgZGVwZW5kZW5jaWVzOgotICAgIGxvZGFzaCAiXjQuMTcuMTkiCi0KLSJAYmFiZWwv aGVscGVyLXJlbWFwLWFzeW5jLXRvLWdlbmVyYXRvckBeNy4xMC40IjoKLSAgdmVyc2lvbiAiNy4x MS40IgotICByZXNvbHZlZCAiaHR0cHM6Ly9yZWdpc3RyeS55YXJucGtnLmNvbS9AYmFiZWwvaGVs cGVyLXJlbWFwLWFzeW5jLXRvLWdlbmVyYXRvci8tL2hlbHBlci1yZW1hcC1hc3luYy10by1nZW5l cmF0b3ItNy4xMS40LnRneiM0NDc0ZWE5Zjc0MzhmMTg1NzVlMzBiMGNhYzc4NDA0NWI0MDJhMTJk IgotICBpbnRlZ3JpdHkgc2hhNTEyLXRSNXZKL3ZCYTl3RnkzbTVMTHYyZmFhcEpMbkRGeE5XZmYy U0FZa1NFNHJMVWRicDdDZE9iWUZnSTd3SzRUL01qNFV6cGpQd3pSOFB6bXI1bTdNSEdBPT0KKyJA YmFiZWwvaGVscGVyLXJlbWFwLWFzeW5jLXRvLWdlbmVyYXRvckBeNy4xMi4xIjoKKyAgdmVyc2lv biAiNy4xMi4xIgorICByZXNvbHZlZCAiaHR0cHM6Ly9yZWdpc3RyeS55YXJucGtnLmNvbS9AYmFi ZWwvaGVscGVyLXJlbWFwLWFzeW5jLXRvLWdlbmVyYXRvci8tL2hlbHBlci1yZW1hcC1hc3luYy10 by1nZW5lcmF0b3ItNy4xMi4xLnRneiM4YzRkYmJmOTE2MzE0ZjYwNDdkYzA1ZTZhMjIxNzA3NDIz ODM0N2ZkIgorICBpbnRlZ3JpdHkgc2hhNTEyLTlkMEtRQ1JNOGNsTVBjRHdvOFNldk5zKy85YTh5 V1ZWbWFFODBGR0pjRVA4TjFxVG9SRW1XRUduQm44QlVsSmhZUkZ6NmZxeGVSTDFzbDVPZ3NlZDdB PT0KICAgZGVwZW5kZW5jaWVzOgogICAgICJAYmFiZWwvaGVscGVyLWFubm90YXRlLWFzLXB1cmUi ICJeNy4xMC40IgogICAgICJAYmFiZWwvaGVscGVyLXdyYXAtZnVuY3Rpb24iICJeNy4xMC40Igot ICAgICJAYmFiZWwvdGVtcGxhdGUiICJeNy4xMC40IgotICAgICJAYmFiZWwvdHlwZXMiICJeNy4x MC40IgorICAgICJAYmFiZWwvdHlwZXMiICJeNy4xMi4xIgogCi0iQGJhYmVsL2hlbHBlci1yZXBs YWNlLXN1cGVyc0BeNy4xMC40IjoKLSAgdmVyc2lvbiAiNy4xMC40IgotICByZXNvbHZlZCAiaHR0 cHM6Ly9yZWdpc3RyeS55YXJucGtnLmNvbS9AYmFiZWwvaGVscGVyLXJlcGxhY2Utc3VwZXJzLy0v aGVscGVyLXJlcGxhY2Utc3VwZXJzLTcuMTAuNC50Z3ojZDU4NWNkOTM4OGVhMDZlNjAzMWU0Y2Q0 NGI2NzEzY2JlYWQ5ZTZjZiIKLSAgaW50ZWdyaXR5IHNoYTUxMi1zUHhaZkZYb2NFeW1ZVGRWSzFV Tm1GUEJOK0h2NW1Ka0xQc1lXd0dCeFpBeGFXZkZ1K3hxcDdiNnFXRDB5ak51TkwyVktjNkw1TTE4 dE9YVVA3TlUwQT09CisiQGJhYmVsL2hlbHBlci1yZXBsYWNlLXN1cGVyc0BeNy4xMi4xIjoKKyAg dmVyc2lvbiAiNy4xMi4xMSIKKyAgcmVzb2x2ZWQgImh0dHBzOi8vcmVnaXN0cnkueWFybnBrZy5j b20vQGJhYmVsL2hlbHBlci1yZXBsYWNlLXN1cGVycy8tL2hlbHBlci1yZXBsYWNlLXN1cGVycy03 LjEyLjExLnRneiNlYTUxMTY1OGZjNjZjNzkwOGY5MjMxMDZkZDg4ZTA4ZDE5OTdkNjBkIgorICBp bnRlZ3JpdHkgc2hhNTEyLXErdzFjcW1oTDdSMEZOenRoL1BMTHAyTitzY1hFSy9MMkFIYlhVeXlk eHA4MjhGNEZFYTVXY1ZvcXVpOXZGUmlIRFFFcmo5Wm9mOGF6UDMydUdWVFJBPT0KICAgZGVwZW5k ZW5jaWVzOgotICAgICJAYmFiZWwvaGVscGVyLW1lbWJlci1leHByZXNzaW9uLXRvLWZ1bmN0aW9u cyIgIl43LjEwLjQiCi0gICAgIkBiYWJlbC9oZWxwZXItb3B0aW1pc2UtY2FsbC1leHByZXNzaW9u IiAiXjcuMTAuNCIKLSAgICAiQGJhYmVsL3RyYXZlcnNlIiAiXjcuMTAuNCIKLSAgICAiQGJhYmVs L3R5cGVzIiAiXjcuMTAuNCIKKyAgICAiQGJhYmVsL2hlbHBlci1tZW1iZXItZXhwcmVzc2lvbi10 by1mdW5jdGlvbnMiICJeNy4xMi43IgorICAgICJAYmFiZWwvaGVscGVyLW9wdGltaXNlLWNhbGwt ZXhwcmVzc2lvbiIgIl43LjEyLjEwIgorICAgICJAYmFiZWwvdHJhdmVyc2UiICJeNy4xMi4xMCIK KyAgICAiQGJhYmVsL3R5cGVzIiAiXjcuMTIuMTEiCiAKLSJAYmFiZWwvaGVscGVyLXNpbXBsZS1h Y2Nlc3NAXjcuMTAuNCI6Ci0gIHZlcnNpb24gIjcuMTAuNCIKLSAgcmVzb2x2ZWQgImh0dHBzOi8v cmVnaXN0cnkueWFybnBrZy5jb20vQGJhYmVsL2hlbHBlci1zaW1wbGUtYWNjZXNzLy0vaGVscGVy LXNpbXBsZS1hY2Nlc3MtNy4xMC40LnRneiMwZjVjY2RhMjk0NTI3N2EyYTdhMmQzYTgyMWUxNTM5 NWVkY2YzNDYxIgotICBpbnRlZ3JpdHkgc2hhNTEyLTBmTXk3MmVqL1ZFdkY4VUxtWDZ5YjVNdEhH NHVINERiZDZJL2FIRGIvSlZnMGJiaXZ3dDlXZytoM3VNdlgrUVNGdHdyNU1lSXR2YXpicmM0anRS QVh3PT0KKyJAYmFiZWwvaGVscGVyLXNpbXBsZS1hY2Nlc3NAXjcuMTIuMSI6CisgIHZlcnNpb24g IjcuMTIuMSIKKyAgcmVzb2x2ZWQgImh0dHBzOi8vcmVnaXN0cnkueWFybnBrZy5jb20vQGJhYmVs L2hlbHBlci1zaW1wbGUtYWNjZXNzLy0vaGVscGVyLXNpbXBsZS1hY2Nlc3MtNy4xMi4xLnRneiMz MjQyN2U1YWE2MTU0N2QzOGViMWU2ZWFmNWZkMTQyNmZkYWQ5MTM2IgorICBpbnRlZ3JpdHkgc2hh NTEyLU94QnA3cE1yalZld1NTQzhmWERGckhyQmNKQVRPT0Zzc1p3djE2RjMvNlh0YzEzOEdIeWJC ZlBibTlrZmlxUUhLaFlRcmxhbVdJTHdsRENleU1GRWFBPT0KICAgZGVwZW5kZW5jaWVzOgotICAg ICJAYmFiZWwvdGVtcGxhdGUiICJeNy4xMC40IgotICAgICJAYmFiZWwvdHlwZXMiICJeNy4xMC40 IgorICAgICJAYmFiZWwvdHlwZXMiICJeNy4xMi4xIgogCi0iQGJhYmVsL2hlbHBlci1za2lwLXRy YW5zcGFyZW50LWV4cHJlc3Npb24td3JhcHBlcnNAXjcuMTEuMCI6Ci0gIHZlcnNpb24gIjcuMTEu MCIKLSAgcmVzb2x2ZWQgImh0dHBzOi8vcmVnaXN0cnkueWFybnBrZy5jb20vQGJhYmVsL2hlbHBl ci1za2lwLXRyYW5zcGFyZW50LWV4cHJlc3Npb24td3JhcHBlcnMvLS9oZWxwZXItc2tpcC10cmFu c3BhcmVudC1leHByZXNzaW9uLXdyYXBwZXJzLTcuMTEuMC50Z3ojZWVjMTYyZjExMmMyZjU4ZDNh ZjBhZjEyNWUzYmI1NzY2NTE0NjcyOSIKLSAgaW50ZWdyaXR5IHNoYTUxMi0wWElkaVFsbjRFbGds Z2pid285d3VKcEwvSzdBR0NZMjZrbUV0MCtwUlAwVEFqNGpqeU5xMU1qb1J2aWtyVFZxS2N4NEd5 c3h0NGNYdlZGWFAvSk8yUT09CisiQGJhYmVsL2hlbHBlci1za2lwLXRyYW5zcGFyZW50LWV4cHJl c3Npb24td3JhcHBlcnNAXjcuMTIuMSI6CisgIHZlcnNpb24gIjcuMTIuMSIKKyAgcmVzb2x2ZWQg Imh0dHBzOi8vcmVnaXN0cnkueWFybnBrZy5jb20vQGJhYmVsL2hlbHBlci1za2lwLXRyYW5zcGFy ZW50LWV4cHJlc3Npb24td3JhcHBlcnMvLS9oZWxwZXItc2tpcC10cmFuc3BhcmVudC1leHByZXNz aW9uLXdyYXBwZXJzLTcuMTIuMS50Z3ojNDYyZGM2M2E3ZTQzNWFkZTg0NjgzODVjNjNkMmI4NGNj ZTRiM2NiZiIKKyAgaW50ZWdyaXR5IHNoYTUxMi1NZjVBVXVoRzEvT0NDaE9KL0hjQURtdmNITTQy V0pvY2tvbWJuOEFUSkczT255aVN4QksvTW01eDc4QlFXdm10WFpLSGdiamRHTDJraW4vSE9MbFpH QT09CiAgIGRlcGVuZGVuY2llczoKLSAgICAiQGJhYmVsL3R5cGVzIiAiXjcuMTEuMCIKKyAgICAi QGJhYmVsL3R5cGVzIiAiXjcuMTIuMSIKIAotIkBiYWJlbC9oZWxwZXItc3BsaXQtZXhwb3J0LWRl Y2xhcmF0aW9uQF43LjEwLjQiLCAiQGJhYmVsL2hlbHBlci1zcGxpdC1leHBvcnQtZGVjbGFyYXRp b25AXjcuMTEuMCI6Ci0gIHZlcnNpb24gIjcuMTEuMCIKLSAgcmVzb2x2ZWQgImh0dHBzOi8vcmVn aXN0cnkueWFybnBrZy5jb20vQGJhYmVsL2hlbHBlci1zcGxpdC1leHBvcnQtZGVjbGFyYXRpb24v LS9oZWxwZXItc3BsaXQtZXhwb3J0LWRlY2xhcmF0aW9uLTcuMTEuMC50Z3ojZjhhNDkxMjQ0YWNm NmE2NzYxNThhYzQyMDcyOTExYmE4M2FkMDk5ZiIKLSAgaW50ZWdyaXR5IHNoYTUxMi03NFZlanZw Nm1Ia0dFK20razV2SFk5M0ZYMmNBdHJ3MXpYclpYUmxHNGw0MTBObTlQeGZFaVZUbjFQakRQVjVT bm1pZWl1ZVk0QUZnMnhxaE5GdXVaZz09CisiQGJhYmVsL2hlbHBlci1zcGxpdC1leHBvcnQtZGVj bGFyYXRpb25AXjcuMTAuNCIsICJAYmFiZWwvaGVscGVyLXNwbGl0LWV4cG9ydC1kZWNsYXJhdGlv bkBeNy4xMS4wIiwgIkBiYWJlbC9oZWxwZXItc3BsaXQtZXhwb3J0LWRlY2xhcmF0aW9uQF43LjEy LjExIjoKKyAgdmVyc2lvbiAiNy4xMi4xMSIKKyAgcmVzb2x2ZWQgImh0dHBzOi8vcmVnaXN0cnku eWFybnBrZy5jb20vQGJhYmVsL2hlbHBlci1zcGxpdC1leHBvcnQtZGVjbGFyYXRpb24vLS9oZWxw ZXItc3BsaXQtZXhwb3J0LWRlY2xhcmF0aW9uLTcuMTIuMTEudGd6IzFiNGNjNDI0NDU4NjQzYzQ3 ZDM3MDIyMjIzZGEzM2Q3NmVhNDYwM2EiCisgIGludGVncml0eSBzaGE1MTItTHNJVk44ajQ4Z0hn d3pmb2NZVVNrTy9oallBT0pxbHBKRWM3dEdYY0ltNGN1YmpWVWY4TEdXNmVXUnl4RXU3Z0EyNXEw MnAwclFVV29DSTMzSE5TNWc9PQogICBkZXBlbmRlbmNpZXM6Ci0gICAgIkBiYWJlbC90eXBlcyIg Il43LjExLjAiCisgICAgIkBiYWJlbC90eXBlcyIgIl43LjEyLjExIgogCi0iQGJhYmVsL2hlbHBl ci12YWxpZGF0b3ItaWRlbnRpZmllckBeNy4xMC40IjoKLSAgdmVyc2lvbiAiNy4xMC40IgotICBy ZXNvbHZlZCAiaHR0cHM6Ly9yZWdpc3RyeS55YXJucGtnLmNvbS9AYmFiZWwvaGVscGVyLXZhbGlk YXRvci1pZGVudGlmaWVyLy0vaGVscGVyLXZhbGlkYXRvci1pZGVudGlmaWVyLTcuMTAuNC50Z3oj YTc4YzdhNzI1MWUwMWY2MTY1MTJkMzFiMTBhZGNmNTJhZGE1ZTBkMiIKLSAgaW50ZWdyaXR5IHNo YTUxMi0zVTl5KzQzaHo3Wk0rcnpHMjRRZTJtdWZXNUtodkZnL05obk5waCtpOW1nQ3RkVEN0TUp1 STFUTWtySVVpSzdJeDRQWWxSRjlJNWRocWFMWUEvQURYdz09CisiQGJhYmVsL2hlbHBlci12YWxp ZGF0b3ItaWRlbnRpZmllckBeNy4xMC40IiwgIkBiYWJlbC9oZWxwZXItdmFsaWRhdG9yLWlkZW50 aWZpZXJAXjcuMTIuMTEiOgorICB2ZXJzaW9uICI3LjEyLjExIgorICByZXNvbHZlZCAiaHR0cHM6 Ly9yZWdpc3RyeS55YXJucGtnLmNvbS9AYmFiZWwvaGVscGVyLXZhbGlkYXRvci1pZGVudGlmaWVy Ly0vaGVscGVyLXZhbGlkYXRvci1pZGVudGlmaWVyLTcuMTIuMTEudGd6I2M5YTFmMDIxOTE3ZGNi NWNjZjBkNGU0NTNlMzk5MDIyOTgxZmM5ZWQiCisgIGludGVncml0eSBzaGE1MTItbnAvbEczdUFS Rnlia29Ib2tKVW1mMVFmRXZSVkNQYm1RZVVRcEtvdzVjUTN4V3JWOWkzclVIb2RLREpQUWZUVlg2 MXFLaStVZFlrOGtpazg0bjdYT3c9PQorCisiQGJhYmVsL2hlbHBlci12YWxpZGF0b3Itb3B0aW9u QF43LjEyLjEiLCAiQGJhYmVsL2hlbHBlci12YWxpZGF0b3Itb3B0aW9uQF43LjEyLjExIjoKKyAg dmVyc2lvbiAiNy4xMi4xMSIKKyAgcmVzb2x2ZWQgImh0dHBzOi8vcmVnaXN0cnkueWFybnBrZy5j b20vQGJhYmVsL2hlbHBlci12YWxpZGF0b3Itb3B0aW9uLy0vaGVscGVyLXZhbGlkYXRvci1vcHRp b24tNy4xMi4xMS50Z3ojZDY2Y2I4YjdhM2U3ZmU0YzY5NjJiMzIwMjBhMTMxZWNmMDg0N2Y0ZiIK KyAgaW50ZWdyaXR5IHNoYTUxMi1UQkZDeWo5MzltRlNkZVg3VTdERGozMld0ellZN2ZEY2FsZ3E4 djNmQlpNTk9KUU5uN25PWXpNYVVDaVB4UFlmQ3VwNjltdElwcWxLZ01aTHZROFhodz09CiAKICJA YmFiZWwvaGVscGVyLXdyYXAtZnVuY3Rpb25AXjcuMTAuNCI6Ci0gIHZlcnNpb24gIjcuMTAuNCIK LSAgcmVzb2x2ZWQgImh0dHBzOi8vcmVnaXN0cnkueWFybnBrZy5jb20vQGJhYmVsL2hlbHBlci13 cmFwLWZ1bmN0aW9uLy0vaGVscGVyLXdyYXAtZnVuY3Rpb24tNy4xMC40LnRneiM4YTZmNzAxZWFi MGZmMzlmNzY1YjVhMWNmZWY0MDk5OTBlNjI0Yjg3IgotICBpbnRlZ3JpdHkgc2hhNTEyLTZweTQ1 V3ZFRjBNaGlMcmR4dFJqS2p1ZndMTDEvb2IycURKZ2c1SmdOZG9qQkFaU0FLbkFqa3lPQ051ZzZu K09CbDRWVzc2WGp2Z1NGVGRhTWNXMFVnPT0KKyAgdmVyc2lvbiAiNy4xMi4zIgorICByZXNvbHZl ZCAiaHR0cHM6Ly9yZWdpc3RyeS55YXJucGtnLmNvbS9AYmFiZWwvaGVscGVyLXdyYXAtZnVuY3Rp b24vLS9oZWxwZXItd3JhcC1mdW5jdGlvbi03LjEyLjMudGd6IzMzMzIzMzlmYzRkMWZiYmYxYzI3 ZDc5NThjMjdkMzQ3MDhlOTkwZDkiCisgIGludGVncml0eSBzaGE1MTItQ3ZiOEl1SkRsbjNyczZ0 empXM1k4VWVlbEFPZG5wQjh4dFE0c21lMk1TWjl3T3hyYlRocG9yQzB5L0V0RTE2VkF0b3lFZkxN NDA0WHIxZTBPT3Arb3c9PQogICBkZXBlbmRlbmNpZXM6CiAgICAgIkBiYWJlbC9oZWxwZXItZnVu Y3Rpb24tbmFtZSIgIl43LjEwLjQiCiAgICAgIkBiYWJlbC90ZW1wbGF0ZSIgIl43LjEwLjQiCiAg ICAgIkBiYWJlbC90cmF2ZXJzZSIgIl43LjEwLjQiCiAgICAgIkBiYWJlbC90eXBlcyIgIl43LjEw LjQiCiAKLSJAYmFiZWwvaGVscGVyc0BeNy4xMC40IiwgIkBiYWJlbC9oZWxwZXJzQF43LjYuMiI6 Ci0gIHZlcnNpb24gIjcuMTAuNCIKLSAgcmVzb2x2ZWQgImh0dHBzOi8vcmVnaXN0cnkueWFybnBr Zy5jb20vQGJhYmVsL2hlbHBlcnMvLS9oZWxwZXJzLTcuMTAuNC50Z3ojMmFiZWIwZDcyMWFmZjdj MGE5NzM3NmI5ZTFmNmY2NWQ3YTQ3NTA0NCIKLSAgaW50ZWdyaXR5IHNoYTUxMi1MMmdYL1hlVU9O ZUViSTc4ZFhTckp6R2R6NEdRK1pUQS9hYXpmVXNGYVdqU2U5NWtpQ3VPWjVIc1h2a2l3M2l3Ritt RkhTUlVmSlU4dDZZYXZvY2RYQT09CisiQGJhYmVsL2hlbHBlcnNAXjcuMTIuNSI6CisgIHZlcnNp b24gIjcuMTIuNSIKKyAgcmVzb2x2ZWQgImh0dHBzOi8vcmVnaXN0cnkueWFybnBrZy5jb20vQGJh YmVsL2hlbHBlcnMvLS9oZWxwZXJzLTcuMTIuNS50Z3ojMWExYmE0YTc2OGQ5YjU4MzEwZWRhNTE2 YzQ0OTkxM2ZlNjQ3MTE2ZSIKKyAgaW50ZWdyaXR5IHNoYTUxMi1sZ0tHTVFsS3FBOG1lSnFLc1c2 clVuYzRNZFVrMzVMbjBBVERxZE0xYS9VcEFST0RkSTRqNVk1bFZmVVNjblNOa0pjZENSQWFXa3Nw eWtOb0ZnOXNKQT09CiAgIGRlcGVuZGVuY2llczoKICAgICAiQGJhYmVsL3RlbXBsYXRlIiAiXjcu MTAuNCIKLSAgICAiQGJhYmVsL3RyYXZlcnNlIiAiXjcuMTAuNCIKLSAgICAiQGJhYmVsL3R5cGVz IiAiXjcuMTAuNCIKKyAgICAiQGJhYmVsL3RyYXZlcnNlIiAiXjcuMTIuNSIKKyAgICAiQGJhYmVs L3R5cGVzIiAiXjcuMTIuNSIKIAogIkBiYWJlbC9oaWdobGlnaHRAXjcuMTAuNCI6CiAgIHZlcnNp b24gIjcuMTAuNCIKQEAgLTI3Myw1MTQgKzI0Niw3MzUgQEAKICAgICBjaGFsayAiXjIuMC4wIgog ICAgIGpzLXRva2VucyAiXjQuMC4wIgogCi0iQGJhYmVsL3BhcnNlckBeNy4xMC40IiwgIkBiYWJl bC9wYXJzZXJAXjcuMTEuNSIsICJAYmFiZWwvcGFyc2VyQF43LjYuNCI6Ci0gIHZlcnNpb24gIjcu MTEuNSIKLSAgcmVzb2x2ZWQgImh0dHBzOi8vcmVnaXN0cnkueWFybnBrZy5jb20vQGJhYmVsL3Bh cnNlci8tL3BhcnNlci03LjExLjUudGd6I2M3ZmY2MzAzZGY3MTA4MGVjN2E0ZjViOGMwMDNjNThm MWNmNTEwMzciCi0gIGludGVncml0eSBzaGE1MTItWDlyRDhxcW02OTV2Z21lYVE0ZnZ6L28zK1dr NFp6UXZTSGtEQmdwWUt4cEQ0cVRBVW04OFpLdEhrVnFJT3NZRkZiSVE2d1FZaEM2cTdwanFWSzBF MFE9PQorIkBiYWJlbC9wYXJzZXJAXjcuMTIuMTAiLCAiQGJhYmVsL3BhcnNlckBeNy4xMi4xMSIs ICJAYmFiZWwvcGFyc2VyQF43LjEyLjciLCAiQGJhYmVsL3BhcnNlckBeNy43LjAiOgorICB2ZXJz aW9uICI3LjEyLjExIgorICByZXNvbHZlZCAiaHR0cHM6Ly9yZWdpc3RyeS55YXJucGtnLmNvbS9A YmFiZWwvcGFyc2VyLy0vcGFyc2VyLTcuMTIuMTEudGd6IzljZTM1OTViY2Q3NGJjNWM0NjY5MDVl ODZjNTM1YjhiMjUwMTFlNzkiCisgIGludGVncml0eSBzaGE1MTItTjNVeEcrdXVGNENNWW9OajhB aG5iQWNKRjBQaXVKOUtIdXkxbFFta1lzeFRlci9NQUg5VUJOSHNCb0FYLzRzNk52bEREMDQ3Tm84 bVlWR0d6TEw0aGc9PQogCi0iQGJhYmVsL3BsdWdpbi1wcm9wb3NhbC1hc3luYy1nZW5lcmF0b3It ZnVuY3Rpb25zQF43LjIuMCI6Ci0gIHZlcnNpb24gIjcuMTAuNSIKLSAgcmVzb2x2ZWQgImh0dHBz Oi8vcmVnaXN0cnkueWFybnBrZy5jb20vQGJhYmVsL3BsdWdpbi1wcm9wb3NhbC1hc3luYy1nZW5l cmF0b3ItZnVuY3Rpb25zLy0vcGx1Z2luLXByb3Bvc2FsLWFzeW5jLWdlbmVyYXRvci1mdW5jdGlv bnMtNy4xMC41LnRneiMzNDkxY2FiZjJmN2MxNzlhYjgyMDYwNmNlYzI3ZmVkMTVlMGU4NTU4Igot ICBpbnRlZ3JpdHkgc2hhNTEyLWNOTUNWZXpRYnJSR3ZYSndtOWZ1LzFzSmo5YkhkR0FnS29kWmRM cU9RSXBmb0gzcmFxbVJQQk0xNytsaDdDemhpS1JSQnJHdFpMOVdjanhTb0dZVVNnPT0KKyJAYmFi ZWwvcGx1Z2luLXByb3Bvc2FsLWFzeW5jLWdlbmVyYXRvci1mdW5jdGlvbnNAXjcuMTIuMSI6Cisg IHZlcnNpb24gIjcuMTIuMTIiCisgIHJlc29sdmVkICJodHRwczovL3JlZ2lzdHJ5Lnlhcm5wa2cu Y29tL0BiYWJlbC9wbHVnaW4tcHJvcG9zYWwtYXN5bmMtZ2VuZXJhdG9yLWZ1bmN0aW9ucy8tL3Bs dWdpbi1wcm9wb3NhbC1hc3luYy1nZW5lcmF0b3ItZnVuY3Rpb25zLTcuMTIuMTIudGd6IzA0Yjhm MjRmZDQ1MzIwMDhhYjRlNzlmNzg4NDY4ZmQ1YTg0NzY1NjYiCisgIGludGVncml0eSBzaGE1MTIt bnJ6OXkwYTR4bVVyUnE1MWJZa1dKSU81U0JaeUcyeXMycWluSHNOMHpIREhWc1VhTW9kcmtweVdX V1hmR3FZUW1PTDN4OXNRSWNUTk4vcEJHcG8wOUE9PQogICBkZXBlbmRlbmNpZXM6CiAgICAgIkBi YWJlbC9oZWxwZXItcGx1Z2luLXV0aWxzIiAiXjcuMTAuNCIKLSAgICAiQGJhYmVsL2hlbHBlci1y ZW1hcC1hc3luYy10by1nZW5lcmF0b3IiICJeNy4xMC40IgorICAgICJAYmFiZWwvaGVscGVyLXJl bWFwLWFzeW5jLXRvLWdlbmVyYXRvciIgIl43LjEyLjEiCiAgICAgIkBiYWJlbC9wbHVnaW4tc3lu dGF4LWFzeW5jLWdlbmVyYXRvcnMiICJeNy44LjAiCiAKLSJAYmFiZWwvcGx1Z2luLXByb3Bvc2Fs LWNsYXNzLXByb3BlcnRpZXNAXjcuMTAuNCI6Ci0gIHZlcnNpb24gIjcuMTAuNCIKLSAgcmVzb2x2 ZWQgImh0dHBzOi8vcmVnaXN0cnkueWFybnBrZy5jb20vQGJhYmVsL3BsdWdpbi1wcm9wb3NhbC1j bGFzcy1wcm9wZXJ0aWVzLy0vcGx1Z2luLXByb3Bvc2FsLWNsYXNzLXByb3BlcnRpZXMtNy4xMC40 LnRneiNhMzNiZjYzMmRhMzkwYTU5YzdhOGM1NzAwNDVkMTExNWNkNzc4ODA3IgotICBpbnRlZ3Jp dHkgc2hhNTEyLXZod2tFUk94emNIR051Mm16VUMwT0ZGTlhkWjRNMjNpYjhhUlJjSlNzVzhCWks5 cFFNRDdRQjdjc2w5N05CYmdHWk83WnlIVXlLRG54ek9hUDRJckNnPT0KKyJAYmFiZWwvcGx1Z2lu LXByb3Bvc2FsLWNsYXNzLXByb3BlcnRpZXNAXjcuMTAuNCIsICJAYmFiZWwvcGx1Z2luLXByb3Bv c2FsLWNsYXNzLXByb3BlcnRpZXNAXjcuMTIuMSI6CisgIHZlcnNpb24gIjcuMTIuMSIKKyAgcmVz b2x2ZWQgImh0dHBzOi8vcmVnaXN0cnkueWFybnBrZy5jb20vQGJhYmVsL3BsdWdpbi1wcm9wb3Nh bC1jbGFzcy1wcm9wZXJ0aWVzLy0vcGx1Z2luLXByb3Bvc2FsLWNsYXNzLXByb3BlcnRpZXMtNy4x Mi4xLnRneiNhMDgyZmY1NDFmMmEyOWE0ODIxMDY1YjhhZGQ5MzQ2YzBjMTZlNWRlIgorICBpbnRl Z3JpdHkgc2hhNTEyLWNLcDNkbFFzRnNFczVDV0tuTjdCblNIT2QwRU9XOEVLcEVqa296MXBPMkU1 S3pJRE5WOVJvczFiMENubWJWZ0FHWEp1Yk9ZVkJPR0NUMU9tSndPSTd3PT0KICAgZGVwZW5kZW5j aWVzOgotICAgICJAYmFiZWwvaGVscGVyLWNyZWF0ZS1jbGFzcy1mZWF0dXJlcy1wbHVnaW4iICJe Ny4xMC40IgorICAgICJAYmFiZWwvaGVscGVyLWNyZWF0ZS1jbGFzcy1mZWF0dXJlcy1wbHVnaW4i ICJeNy4xMi4xIgogICAgICJAYmFiZWwvaGVscGVyLXBsdWdpbi11dGlscyIgIl43LjEwLjQiCiAK LSJAYmFiZWwvcGx1Z2luLXByb3Bvc2FsLWR5bmFtaWMtaW1wb3J0QF43LjUuMCI6Ci0gIHZlcnNp b24gIjcuMTAuNCIKLSAgcmVzb2x2ZWQgImh0dHBzOi8vcmVnaXN0cnkueWFybnBrZy5jb20vQGJh YmVsL3BsdWdpbi1wcm9wb3NhbC1keW5hbWljLWltcG9ydC8tL3BsdWdpbi1wcm9wb3NhbC1keW5h bWljLWltcG9ydC03LjEwLjQudGd6I2JhNTdhMjZjYjk4YjM3NzQxZTlkNWJjYTFiOGIwZGRmODI5 MWYxN2UiCi0gIGludGVncml0eSBzaGE1MTItdXA2b0lEMUxlaWRPT0FTTlhndi9DRmJnQnFUdUtK MGNKano2QW41dFdEK05WQk5scDNWTlNCeHYyWmRVN1NZbDNOeEpDN2FnQVFEQXBadXNWNnVGd1E9 PQorIkBiYWJlbC9wbHVnaW4tcHJvcG9zYWwtZHluYW1pYy1pbXBvcnRAXjcuMTIuMSI6CisgIHZl cnNpb24gIjcuMTIuMSIKKyAgcmVzb2x2ZWQgImh0dHBzOi8vcmVnaXN0cnkueWFybnBrZy5jb20v QGJhYmVsL3BsdWdpbi1wcm9wb3NhbC1keW5hbWljLWltcG9ydC8tL3BsdWdpbi1wcm9wb3NhbC1k eW5hbWljLWltcG9ydC03LjEyLjEudGd6IzQzZWI1YzJhMzQ4N2VjZDk4YzVjOGVhOGI1ZmRiNjlh Mjc0OWIyZGMiCisgIGludGVncml0eSBzaGE1MTItYTRyaFVTWkZ1cTVXOC9PTzhIN0JMNXpzcGpu YzFGTGQ5aGxPeElLL2Y3cUc0YTBxc3FrOHV2Ri95d2dCQTgvT21qc2FwanB2YUVPWUl0ZkdHMXFJ dlE9PQogICBkZXBlbmRlbmNpZXM6CiAgICAgIkBiYWJlbC9oZWxwZXItcGx1Z2luLXV0aWxzIiAi XjcuMTAuNCIKICAgICAiQGJhYmVsL3BsdWdpbi1zeW50YXgtZHluYW1pYy1pbXBvcnQiICJeNy44 LjAiCiAKLSJAYmFiZWwvcGx1Z2luLXByb3Bvc2FsLWpzb24tc3RyaW5nc0BeNy4yLjAiOgotICB2 ZXJzaW9uICI3LjEwLjQiCi0gIHJlc29sdmVkICJodHRwczovL3JlZ2lzdHJ5Lnlhcm5wa2cuY29t L0BiYWJlbC9wbHVnaW4tcHJvcG9zYWwtanNvbi1zdHJpbmdzLy0vcGx1Z2luLXByb3Bvc2FsLWpz b24tc3RyaW5ncy03LjEwLjQudGd6IzU5M2U1OWM2MzUyODE2MDIzM2JkMzIxYjFhZWJlMDgyMGMy MzQxZGIiCi0gIGludGVncml0eSBzaGE1MTItZkNMN1FGMEpvODN1eTFLMFAyWVhyZlgxMXRqM2xr cE43bDRkTXY5WTlWa293a2hrUUR3RkhGZDhJaXd5SzVNWmpFOFVwYmdva2tndGNSZUg4OEFiYXc9 PQorIkBiYWJlbC9wbHVnaW4tcHJvcG9zYWwtZXhwb3J0LW5hbWVzcGFjZS1mcm9tQF43LjEyLjEi OgorICB2ZXJzaW9uICI3LjEyLjEiCisgIHJlc29sdmVkICJodHRwczovL3JlZ2lzdHJ5Lnlhcm5w a2cuY29tL0BiYWJlbC9wbHVnaW4tcHJvcG9zYWwtZXhwb3J0LW5hbWVzcGFjZS1mcm9tLy0vcGx1 Z2luLXByb3Bvc2FsLWV4cG9ydC1uYW1lc3BhY2UtZnJvbS03LjEyLjEudGd6IzhiOWI4ZjM3NmIy ZDg4ZjVkZDc3NGU0ZDI0YTVjYzJlMzY3OWI2ZDQiCisgIGludGVncml0eSBzaGE1MTItNkNUaEdm MGlyRWt6dWpZUzVMUWNqQng4ai80YVFHaVZ2N0o5KzJmN3BHZnhxeUtoM1dubVZKWVczaGRyUWp5 a3NFck1HQlBRckNuSGZPdG5hK1dMYnc9PQorICBkZXBlbmRlbmNpZXM6CisgICAgIkBiYWJlbC9o ZWxwZXItcGx1Z2luLXV0aWxzIiAiXjcuMTAuNCIKKyAgICAiQGJhYmVsL3BsdWdpbi1zeW50YXgt ZXhwb3J0LW5hbWVzcGFjZS1mcm9tIiAiXjcuOC4zIgorCisiQGJhYmVsL3BsdWdpbi1wcm9wb3Nh bC1qc29uLXN0cmluZ3NAXjcuMTIuMSI6CisgIHZlcnNpb24gIjcuMTIuMSIKKyAgcmVzb2x2ZWQg Imh0dHBzOi8vcmVnaXN0cnkueWFybnBrZy5jb20vQGJhYmVsL3BsdWdpbi1wcm9wb3NhbC1qc29u LXN0cmluZ3MvLS9wbHVnaW4tcHJvcG9zYWwtanNvbi1zdHJpbmdzLTcuMTIuMS50Z3ojZDQ1NDIz YjUxNzcxNGVlZGQ1NjIxYTlkZmRjMDNmYTlmNGViMjQxYyIKKyAgaW50ZWdyaXR5IHNoYTUxMi1H b0xEVWk2VTlaTHpsU2RhMkRmKytWU3FESmczQ0crZFIwK2lXc3Y2WFJ3MXJFcSt6d3Q0RGlyTTl5 cnhXNlhXYVRwbWFpMWNXSkxNZk04cVFKZit5dz09CiAgIGRlcGVuZGVuY2llczoKICAgICAiQGJh YmVsL2hlbHBlci1wbHVnaW4tdXRpbHMiICJeNy4xMC40IgogICAgICJAYmFiZWwvcGx1Z2luLXN5 bnRheC1qc29uLXN0cmluZ3MiICJeNy44LjAiCiAKLSJAYmFiZWwvcGx1Z2luLXByb3Bvc2FsLW9i amVjdC1yZXN0LXNwcmVhZEBeNy42LjIiOgotICB2ZXJzaW9uICI3LjExLjAiCi0gIHJlc29sdmVk ICJodHRwczovL3JlZ2lzdHJ5Lnlhcm5wa2cuY29tL0BiYWJlbC9wbHVnaW4tcHJvcG9zYWwtb2Jq ZWN0LXJlc3Qtc3ByZWFkLy0vcGx1Z2luLXByb3Bvc2FsLW9iamVjdC1yZXN0LXNwcmVhZC03LjEx LjAudGd6I2JkODFmOTVhMWY3NDY3NjBlYTQzYjZjMmQzZDYyYjExNzkwYWQwYWYiCi0gIGludGVn cml0eSBzaGE1MTItd3pjaDQxTjR5enR3b1J3MGFrKzM3d3h3Sk0yb2lJaXk2aHVHQ29xa3ZTVEE5 YWNZV2NQZm45WTRhSnFtRkZKNzBLVEpVdTI5ZjNEUTQzdUo5SFh6RUE9PQorIkBiYWJlbC9wbHVn aW4tcHJvcG9zYWwtbG9naWNhbC1hc3NpZ25tZW50LW9wZXJhdG9yc0BeNy4xMi4xIjoKKyAgdmVy c2lvbiAiNy4xMi4xIgorICByZXNvbHZlZCAiaHR0cHM6Ly9yZWdpc3RyeS55YXJucGtnLmNvbS9A YmFiZWwvcGx1Z2luLXByb3Bvc2FsLWxvZ2ljYWwtYXNzaWdubWVudC1vcGVyYXRvcnMvLS9wbHVn aW4tcHJvcG9zYWwtbG9naWNhbC1hc3NpZ25tZW50LW9wZXJhdG9ycy03LjEyLjEudGd6I2YyYzQ5 MGQzNmUxYjNjOTY1OTI0MTAzNGE1ZDJjZDUwMjYzYTI3NTEiCisgIGludGVncml0eSBzaGE1MTIt azhabVZ2MEpVKzRnY1VHZUNEWk9HZDBsQ0lhbVUvc010SWlYM1VXblVjNXl6Z3E2WVVHeUVvbE5Z RCtNTFlLZlN6Z0VDUGNxZXRWY0pQOUFmZS9hQ0E9PQorICBkZXBlbmRlbmNpZXM6CisgICAgIkBi YWJlbC9oZWxwZXItcGx1Z2luLXV0aWxzIiAiXjcuMTAuNCIKKyAgICAiQGJhYmVsL3BsdWdpbi1z eW50YXgtbG9naWNhbC1hc3NpZ25tZW50LW9wZXJhdG9ycyIgIl43LjEwLjQiCisKKyJAYmFiZWwv cGx1Z2luLXByb3Bvc2FsLW51bGxpc2gtY29hbGVzY2luZy1vcGVyYXRvckBeNy4xMi4xIjoKKyAg dmVyc2lvbiAiNy4xMi4xIgorICByZXNvbHZlZCAiaHR0cHM6Ly9yZWdpc3RyeS55YXJucGtnLmNv bS9AYmFiZWwvcGx1Z2luLXByb3Bvc2FsLW51bGxpc2gtY29hbGVzY2luZy1vcGVyYXRvci8tL3Bs dWdpbi1wcm9wb3NhbC1udWxsaXNoLWNvYWxlc2Npbmctb3BlcmF0b3ItNy4xMi4xLnRneiMzZWQ0 ZmZmMzFjMDE1ZTdmM2YxNDY3ZjE5MGRiZTU0NWNkN2IwNDZjIgorICBpbnRlZ3JpdHkgc2hhNTEy LW5aWTBFU2lhUURJMXk5NitqazZWeE1PYUw0TFBvL1FESEJxTCtTRjMvdmw2ZEhrVHdIbE9JOEw0 Wnd1UkJIZ2FrUkJ3NXpzVnlsZWw3UVBiYkd1WWdnPT0KKyAgZGVwZW5kZW5jaWVzOgorICAgICJA YmFiZWwvaGVscGVyLXBsdWdpbi11dGlscyIgIl43LjEwLjQiCisgICAgIkBiYWJlbC9wbHVnaW4t c3ludGF4LW51bGxpc2gtY29hbGVzY2luZy1vcGVyYXRvciIgIl43LjguMCIKKworIkBiYWJlbC9w bHVnaW4tcHJvcG9zYWwtbnVtZXJpYy1zZXBhcmF0b3JAXjcuMTIuNyI6CisgIHZlcnNpb24gIjcu MTIuNyIKKyAgcmVzb2x2ZWQgImh0dHBzOi8vcmVnaXN0cnkueWFybnBrZy5jb20vQGJhYmVsL3Bs dWdpbi1wcm9wb3NhbC1udW1lcmljLXNlcGFyYXRvci8tL3BsdWdpbi1wcm9wb3NhbC1udW1lcmlj LXNlcGFyYXRvci03LjEyLjcudGd6IzhiZjI1M2RlODEzOTA5OWZlYTE5M2IyOTdkMjNhOWQ0MDZl ZjA1NmIiCisgIGludGVncml0eSBzaGE1MTItOGMrdXkwcW1uUlRldWtpR3NqTEd5NnVWcy9URmpK Y2hHWFVlQnFsRzRWV1lPZEpXa2hoVlBkUTN1SHdibWFsZkp3djJKc1YwcWZmWFA0YXNSZkwyU1E9 PQorICBkZXBlbmRlbmNpZXM6CisgICAgIkBiYWJlbC9oZWxwZXItcGx1Z2luLXV0aWxzIiAiXjcu MTAuNCIKKyAgICAiQGJhYmVsL3BsdWdpbi1zeW50YXgtbnVtZXJpYy1zZXBhcmF0b3IiICJeNy4x MC40IgorCisiQGJhYmVsL3BsdWdpbi1wcm9wb3NhbC1vYmplY3QtcmVzdC1zcHJlYWRAXjcuMTIu MSIsICJAYmFiZWwvcGx1Z2luLXByb3Bvc2FsLW9iamVjdC1yZXN0LXNwcmVhZEBeNy45LjYiOgor ICB2ZXJzaW9uICI3LjEyLjEiCisgIHJlc29sdmVkICJodHRwczovL3JlZ2lzdHJ5Lnlhcm5wa2cu Y29tL0BiYWJlbC9wbHVnaW4tcHJvcG9zYWwtb2JqZWN0LXJlc3Qtc3ByZWFkLy0vcGx1Z2luLXBy b3Bvc2FsLW9iamVjdC1yZXN0LXNwcmVhZC03LjEyLjEudGd6I2RlZjliZDAzY2VhMGY5YjcyMjgz ZGFjMGVjMjJkMjg5Yzc2OTEwNjkiCisgIGludGVncml0eSBzaGE1MTItczZTb3dKSWp6bGh4OG83 bHNGeDV6bVk0QXQ2Q1R0RHZnTlFEZFB6a0JRdWNsZTU4QTZiL1RUZUVCWXR5RGdtY1hqVVRNK3ZF OFlPR0haenpiYy9pb0E9PQogICBkZXBlbmRlbmNpZXM6CiAgICAgIkBiYWJlbC9oZWxwZXItcGx1 Z2luLXV0aWxzIiAiXjcuMTAuNCIKICAgICAiQGJhYmVsL3BsdWdpbi1zeW50YXgtb2JqZWN0LXJl c3Qtc3ByZWFkIiAiXjcuOC4wIgotICAgICJAYmFiZWwvcGx1Z2luLXRyYW5zZm9ybS1wYXJhbWV0 ZXJzIiAiXjcuMTAuNCIKKyAgICAiQGJhYmVsL3BsdWdpbi10cmFuc2Zvcm0tcGFyYW1ldGVycyIg Il43LjEyLjEiCiAKLSJAYmFiZWwvcGx1Z2luLXByb3Bvc2FsLW9wdGlvbmFsLWNhdGNoLWJpbmRp bmdAXjcuMi4wIjoKLSAgdmVyc2lvbiAiNy4xMC40IgotICByZXNvbHZlZCAiaHR0cHM6Ly9yZWdp c3RyeS55YXJucGtnLmNvbS9AYmFiZWwvcGx1Z2luLXByb3Bvc2FsLW9wdGlvbmFsLWNhdGNoLWJp bmRpbmcvLS9wbHVnaW4tcHJvcG9zYWwtb3B0aW9uYWwtY2F0Y2gtYmluZGluZy03LjEwLjQudGd6 IzMxYzkzODMwOWQyNGE3OGE0OWQ2OGZkYWJmZmFhODYzNzU4NTU0ZGQiCi0gIGludGVncml0eSBz aGE1MTItTGZsVDZuUGgrR0syTW5GaUtEeUxpcVNxVkhrUW5WZjdoZG9BdnlUbm5Lajl4QjNkb2NH UnNkUHV4cDZxcXFXMTlpZkszeGdjOVU1L0Z3clNhQ05YNWc9PQorIkBiYWJlbC9wbHVnaW4tcHJv cG9zYWwtb3B0aW9uYWwtY2F0Y2gtYmluZGluZ0BeNy4xMi4xIjoKKyAgdmVyc2lvbiAiNy4xMi4x IgorICByZXNvbHZlZCAiaHR0cHM6Ly9yZWdpc3RyeS55YXJucGtnLmNvbS9AYmFiZWwvcGx1Z2lu LXByb3Bvc2FsLW9wdGlvbmFsLWNhdGNoLWJpbmRpbmcvLS9wbHVnaW4tcHJvcG9zYWwtb3B0aW9u YWwtY2F0Y2gtYmluZGluZy03LjEyLjEudGd6I2NjYzI0MjFhZjY0ZDNhYWU1MGI1NThhNzFjZWRl OTI5YTVhYjI5NDIiCisgIGludGVncml0eSBzaGE1MTItaEZ2SWpncHJoOW1NdzV2NDJzSldMSTFs elU1TDJzem5QODA1emVUNnJ5U1ZSQTBZMThTdFJoRHFoU3hsYXAwb1ZnSXRSc0I2V1NST3A0WW5K VEp6MGc9PQogICBkZXBlbmRlbmNpZXM6CiAgICAgIkBiYWJlbC9oZWxwZXItcGx1Z2luLXV0aWxz IiAiXjcuMTAuNCIKICAgICAiQGJhYmVsL3BsdWdpbi1zeW50YXgtb3B0aW9uYWwtY2F0Y2gtYmlu ZGluZyIgIl43LjguMCIKIAotIkBiYWJlbC9wbHVnaW4tcHJvcG9zYWwtdW5pY29kZS1wcm9wZXJ0 eS1yZWdleEBeNy42LjIiOgotICB2ZXJzaW9uICI3LjEwLjQiCi0gIHJlc29sdmVkICJodHRwczov L3JlZ2lzdHJ5Lnlhcm5wa2cuY29tL0BiYWJlbC9wbHVnaW4tcHJvcG9zYWwtdW5pY29kZS1wcm9w ZXJ0eS1yZWdleC8tL3BsdWdpbi1wcm9wb3NhbC11bmljb2RlLXByb3BlcnR5LXJlZ2V4LTcuMTAu NC50Z3ojNDQ4M2NkYTUzMDQxY2UzNDEzYjdmZTJmMDAwMjI2NjVkZGZhYTc1ZCIKLSAgaW50ZWdy aXR5IHNoYTUxMi1IKzNmT2dQbkVYRkw5ekdZdEtRZTRJRE9QS1lsWmRGMWtxRkRRUlJiOFBLNEI4 YWYxdkFHSzA0dEY1aVFBQXN1aSttSE5CUVNBdGQyL25kRURlOXd1QT09CisiQGJhYmVsL3BsdWdp bi1wcm9wb3NhbC1vcHRpb25hbC1jaGFpbmluZ0BeNy4xMi43IjoKKyAgdmVyc2lvbiAiNy4xMi43 IgorICByZXNvbHZlZCAiaHR0cHM6Ly9yZWdpc3RyeS55YXJucGtnLmNvbS9AYmFiZWwvcGx1Z2lu LXByb3Bvc2FsLW9wdGlvbmFsLWNoYWluaW5nLy0vcGx1Z2luLXByb3Bvc2FsLW9wdGlvbmFsLWNo YWluaW5nLTcuMTIuNy50Z3ojZTAyZjBlYTFiNWRjNTlkNDAxZWMxNmZiODI0Njc5ZjY4M2QzMzAz YyIKKyAgaW50ZWdyaXR5IHNoYTUxMi00b3Z5bFhaMFBXbXdvT3ZoVTJ2aG56Vk5ubTg4L1NtOW54 N1Y4QlBnTXZBem41ekRvdTMvQXd5MEVqZ2x5dWJWSGFzSmorWENFa3IvcjFYM1A1ZWxDQT09Cisg IGRlcGVuZGVuY2llczoKKyAgICAiQGJhYmVsL2hlbHBlci1wbHVnaW4tdXRpbHMiICJeNy4xMC40 IgorICAgICJAYmFiZWwvaGVscGVyLXNraXAtdHJhbnNwYXJlbnQtZXhwcmVzc2lvbi13cmFwcGVy cyIgIl43LjEyLjEiCisgICAgIkBiYWJlbC9wbHVnaW4tc3ludGF4LW9wdGlvbmFsLWNoYWluaW5n IiAiXjcuOC4wIgorCisiQGJhYmVsL3BsdWdpbi1wcm9wb3NhbC1wcml2YXRlLW1ldGhvZHNAXjcu MTIuMSI6CisgIHZlcnNpb24gIjcuMTIuMSIKKyAgcmVzb2x2ZWQgImh0dHBzOi8vcmVnaXN0cnku eWFybnBrZy5jb20vQGJhYmVsL3BsdWdpbi1wcm9wb3NhbC1wcml2YXRlLW1ldGhvZHMvLS9wbHVn aW4tcHJvcG9zYWwtcHJpdmF0ZS1tZXRob2RzLTcuMTIuMS50Z3ojODY4MTRmNmU3YTIxMzc0Yzk4 MGMxMGQzOGI0NDkzZTcwM2Y0YTM4OSIKKyAgaW50ZWdyaXR5IHNoYTUxMi1td1oxcGh2SDcvTkhL NktmOExQN01ZRG9nR1YrREtCMW1yeUZPRXd4NUVCTlFyb3N2SWN6elpGVFVtV2FldWpkNXhUNkcx RUxZV1V6M0N1dE1oakUxdz09CiAgIGRlcGVuZGVuY2llczoKLSAgICAiQGJhYmVsL2hlbHBlci1j cmVhdGUtcmVnZXhwLWZlYXR1cmVzLXBsdWdpbiIgIl43LjEwLjQiCisgICAgIkBiYWJlbC9oZWxw ZXItY3JlYXRlLWNsYXNzLWZlYXR1cmVzLXBsdWdpbiIgIl43LjEyLjEiCiAgICAgIkBiYWJlbC9o ZWxwZXItcGx1Z2luLXV0aWxzIiAiXjcuMTAuNCIKIAotIkBiYWJlbC9wbHVnaW4tc3ludGF4LWFz eW5jLWdlbmVyYXRvcnNAXjcuMi4wIiwgIkBiYWJlbC9wbHVnaW4tc3ludGF4LWFzeW5jLWdlbmVy YXRvcnNAXjcuOC4wIjoKKyJAYmFiZWwvcGx1Z2luLXByb3Bvc2FsLXVuaWNvZGUtcHJvcGVydHkt cmVnZXhAXjcuMTIuMSIsICJAYmFiZWwvcGx1Z2luLXByb3Bvc2FsLXVuaWNvZGUtcHJvcGVydHkt cmVnZXhAXjcuNC40IjoKKyAgdmVyc2lvbiAiNy4xMi4xIgorICByZXNvbHZlZCAiaHR0cHM6Ly9y ZWdpc3RyeS55YXJucGtnLmNvbS9AYmFiZWwvcGx1Z2luLXByb3Bvc2FsLXVuaWNvZGUtcHJvcGVy dHktcmVnZXgvLS9wbHVnaW4tcHJvcG9zYWwtdW5pY29kZS1wcm9wZXJ0eS1yZWdleC03LjEyLjEu dGd6IzJhMTgzOTU4ZDQxNzc2NWI5ZWFlMzM0ZjQ3NzU4ZTVkNmE4MmUwNzIiCisgIGludGVncml0 eSBzaGE1MTItTVlxK2wrUHZIdXcvcktVejFhdC92YjZuQ25RMmdtSkJOYU02MnowT2dIN0IyVzFE OXB2a3BZdGx0aTliR3Rpek5JVTFLM3ptNGJaRjlGOTFlZlZZMHc9PQorICBkZXBlbmRlbmNpZXM6 CisgICAgIkBiYWJlbC9oZWxwZXItY3JlYXRlLXJlZ2V4cC1mZWF0dXJlcy1wbHVnaW4iICJeNy4x Mi4xIgorICAgICJAYmFiZWwvaGVscGVyLXBsdWdpbi11dGlscyIgIl43LjEwLjQiCisKKyJAYmFi ZWwvcGx1Z2luLXN5bnRheC1hc3luYy1nZW5lcmF0b3JzQF43LjguMCI6CiAgIHZlcnNpb24gIjcu OC40IgogICByZXNvbHZlZCAiaHR0cHM6Ly9yZWdpc3RyeS55YXJucGtnLmNvbS9AYmFiZWwvcGx1 Z2luLXN5bnRheC1hc3luYy1nZW5lcmF0b3JzLy0vcGx1Z2luLXN5bnRheC1hc3luYy1nZW5lcmF0 b3JzLTcuOC40LnRneiNhOTgzZmIxYWViMmVjM2Y2ZWQwNDJhMjEwZjY0MGU5MGU3ODZmZTBkIgog ICBpbnRlZ3JpdHkgc2hhNTEyLXR5Y21aeGtHZlpheGhNUmJYbFBYdVZGcGRXbFhwaXIyVzRBTWhT SmdSS3prL2VEbElYT2hiMkxIV29McERGN1RFSHlsVjV6Tmh5a1g2S0FnSEptVE53PT0KICAgZGVw ZW5kZW5jaWVzOgogICAgICJAYmFiZWwvaGVscGVyLXBsdWdpbi11dGlscyIgIl43LjguMCIKIAot IkBiYWJlbC9wbHVnaW4tc3ludGF4LWR5bmFtaWMtaW1wb3J0QF43LjIuMCIsICJAYmFiZWwvcGx1 Z2luLXN5bnRheC1keW5hbWljLWltcG9ydEBeNy44LjAiOgorIkBiYWJlbC9wbHVnaW4tc3ludGF4 LWNsYXNzLXByb3BlcnRpZXNAXjcuMTIuMSI6CisgIHZlcnNpb24gIjcuMTIuMSIKKyAgcmVzb2x2 ZWQgImh0dHBzOi8vcmVnaXN0cnkueWFybnBrZy5jb20vQGJhYmVsL3BsdWdpbi1zeW50YXgtY2xh c3MtcHJvcGVydGllcy8tL3BsdWdpbi1zeW50YXgtY2xhc3MtcHJvcGVydGllcy03LjEyLjEudGd6 I2JjYjI5N2M1MzY2ZTc5YmViYWRlZjUwOTU0OWNkOTNiMDRmMTk5NzgiCisgIGludGVncml0eSBz aGE1MTItVTQwQTc2eDVnVHdtRVN6K3FpcXNzcW1lRXNLdmNTeXZ0Z2t0cm0wdXpjQVJBbU05STFq UjIyMWY2T3ErR21IcmNEK0x2WkRhZzFVVE9UZTJmTDNUZUE9PQorICBkZXBlbmRlbmNpZXM6Cisg ICAgIkBiYWJlbC9oZWxwZXItcGx1Z2luLXV0aWxzIiAiXjcuMTAuNCIKKworIkBiYWJlbC9wbHVn aW4tc3ludGF4LWR5bmFtaWMtaW1wb3J0QF43LjguMCI6CiAgIHZlcnNpb24gIjcuOC4zIgogICBy ZXNvbHZlZCAiaHR0cHM6Ly9yZWdpc3RyeS55YXJucGtnLmNvbS9AYmFiZWwvcGx1Z2luLXN5bnRh eC1keW5hbWljLWltcG9ydC8tL3BsdWdpbi1zeW50YXgtZHluYW1pYy1pbXBvcnQtNy44LjMudGd6 IzYyYmY5OGIyZGEzY2QyMWQ2MjYxNTRmYzk2ZWU1YjNjYjY4ZWFjYjMiCiAgIGludGVncml0eSBz aGE1MTItNWdkR2JGb24rUHN6WXpxczgzUzNFNW1waTcveS84TTllQzkwTVJUWmZkdVFPWVc3Nmln NlNPU1BOZTQxSUc1TG9QM0ZHQm4yTjBSalZEU1FpUzk0a1E9PQogICBkZXBlbmRlbmNpZXM6CiAg ICAgIkBiYWJlbC9oZWxwZXItcGx1Z2luLXV0aWxzIiAiXjcuOC4wIgogCi0iQGJhYmVsL3BsdWdp bi1zeW50YXgtanNvbi1zdHJpbmdzQF43LjIuMCIsICJAYmFiZWwvcGx1Z2luLXN5bnRheC1qc29u LXN0cmluZ3NAXjcuOC4wIjoKKyJAYmFiZWwvcGx1Z2luLXN5bnRheC1leHBvcnQtbmFtZXNwYWNl LWZyb21AXjcuOC4zIjoKKyAgdmVyc2lvbiAiNy44LjMiCisgIHJlc29sdmVkICJodHRwczovL3Jl Z2lzdHJ5Lnlhcm5wa2cuY29tL0BiYWJlbC9wbHVnaW4tc3ludGF4LWV4cG9ydC1uYW1lc3BhY2Ut ZnJvbS8tL3BsdWdpbi1zeW50YXgtZXhwb3J0LW5hbWVzcGFjZS1mcm9tLTcuOC4zLnRneiMwMjg5 NjRhOWJhODBkYmMwOTRjOTE1YzQ4N2FkN2M0ZTdhNjY0NjVhIgorICBpbnRlZ3JpdHkgc2hhNTEy LU1YZjVsYVhvNmMxSWJFYmVnRG16R1B3R05Uc0habUV5NlFHem51NVNoMlVDV3Z1ZXl3YjJlZStD Q0U0elFpWnN0eFU5Qk1vUU85aTZ6VUZTWTBLajBRPT0KKyAgZGVwZW5kZW5jaWVzOgorICAgICJA YmFiZWwvaGVscGVyLXBsdWdpbi11dGlscyIgIl43LjguMyIKKworIkBiYWJlbC9wbHVnaW4tc3lu dGF4LWpzb24tc3RyaW5nc0BeNy44LjAiOgogICB2ZXJzaW9uICI3LjguMyIKICAgcmVzb2x2ZWQg Imh0dHBzOi8vcmVnaXN0cnkueWFybnBrZy5jb20vQGJhYmVsL3BsdWdpbi1zeW50YXgtanNvbi1z dHJpbmdzLy0vcGx1Z2luLXN5bnRheC1qc29uLXN0cmluZ3MtNy44LjMudGd6IzAxY2EyMWI2Njhj ZDgyMThjOWU2NDBjYjZkZDg4YzU0MTJiMmM5NmEiCiAgIGludGVncml0eSBzaGE1MTItbFk2a2RH cFdIdmpvZTJ2azRXckFhcEV1QlI2OUVNeFpsK1JvR1JockZHTllWSzhtT1BBVzhWZmJUL1pnckZi WGxETmlpYXhRbkF0Z1ZDWjZqdjMwRUE9PQogICBkZXBlbmRlbmNpZXM6CiAgICAgIkBiYWJlbC9o ZWxwZXItcGx1Z2luLXV0aWxzIiAiXjcuOC4wIgogCi0iQGJhYmVsL3BsdWdpbi1zeW50YXgtanN4 QF43LjEwLjQiOgorIkBiYWJlbC9wbHVnaW4tc3ludGF4LWpzeEBeNy4xMi4xIjoKKyAgdmVyc2lv biAiNy4xMi4xIgorICByZXNvbHZlZCAiaHR0cHM6Ly9yZWdpc3RyeS55YXJucGtnLmNvbS9AYmFi ZWwvcGx1Z2luLXN5bnRheC1qc3gvLS9wbHVnaW4tc3ludGF4LWpzeC03LjEyLjEudGd6IzlkOWQz NTdjYzgxOGFhN2FlNzkzNTkxN2MxMjU3ZjY3Njc3YTA5MjYiCisgIGludGVncml0eSBzaGE1MTIt MXlSaTd5QXRCMEVUZ3hkWTl0aS9wMlRpdlV4SmtUZGh1L1piRjlNc2hWR3FPeDFUZEIzYjd4Q1hz NDlGdXBnZzUwTjQ1S2NBc1JQL1pxV2pzOVNSamc9PQorICBkZXBlbmRlbmNpZXM6CisgICAgIkBi YWJlbC9oZWxwZXItcGx1Z2luLXV0aWxzIiAiXjcuMTAuNCIKKworIkBiYWJlbC9wbHVnaW4tc3lu dGF4LWxvZ2ljYWwtYXNzaWdubWVudC1vcGVyYXRvcnNAXjcuMTAuNCI6CisgIHZlcnNpb24gIjcu MTAuNCIKKyAgcmVzb2x2ZWQgImh0dHBzOi8vcmVnaXN0cnkueWFybnBrZy5jb20vQGJhYmVsL3Bs dWdpbi1zeW50YXgtbG9naWNhbC1hc3NpZ25tZW50LW9wZXJhdG9ycy8tL3BsdWdpbi1zeW50YXgt bG9naWNhbC1hc3NpZ25tZW50LW9wZXJhdG9ycy03LjEwLjQudGd6I2NhOTFlZjQ2MzAzNTMwNDQ4 YjkwNjY1MmJhYzJlOWZlOTk0MWY2OTkiCisgIGludGVncml0eSBzaGE1MTItZDh3YVNobHBGRGlu UTVNdHZHVTl4REFPektINDcrRkZvbmV5MmJhRklvTXI5NTJoS09McDFIUjdWc3pvWnZPc1YvNCtS UnN6Tlk3RDE3YmEwdGUwaWc9PQorICBkZXBlbmRlbmNpZXM6CisgICAgIkBiYWJlbC9oZWxwZXIt cGx1Z2luLXV0aWxzIiAiXjcuMTAuNCIKKworIkBiYWJlbC9wbHVnaW4tc3ludGF4LW51bGxpc2gt Y29hbGVzY2luZy1vcGVyYXRvckBeNy44LjAiOgorICB2ZXJzaW9uICI3LjguMyIKKyAgcmVzb2x2 ZWQgImh0dHBzOi8vcmVnaXN0cnkueWFybnBrZy5jb20vQGJhYmVsL3BsdWdpbi1zeW50YXgtbnVs bGlzaC1jb2FsZXNjaW5nLW9wZXJhdG9yLy0vcGx1Z2luLXN5bnRheC1udWxsaXNoLWNvYWxlc2Np bmctb3BlcmF0b3ItNy44LjMudGd6IzE2N2VkNzAzNjg4ODYwODFmNzRiNWMzNmM2NWE4OGMwM2I2 NmQxYTkiCisgIGludGVncml0eSBzaGE1MTItYVNmZjR6UElJMXUyUUQ3eStGOG9Ec3oxOWV3NElH RUpnOVNWVyticXdwd3RmRmxlaVFETWR6QS9SK1VsV0R6Zm5IRkN4eGxlRlQwUE1JclIzNlhMTlE9 PQorICBkZXBlbmRlbmNpZXM6CisgICAgIkBiYWJlbC9oZWxwZXItcGx1Z2luLXV0aWxzIiAiXjcu OC4wIgorCisiQGJhYmVsL3BsdWdpbi1zeW50YXgtbnVtZXJpYy1zZXBhcmF0b3JAXjcuMTAuNCI6 CiAgIHZlcnNpb24gIjcuMTAuNCIKLSAgcmVzb2x2ZWQgImh0dHBzOi8vcmVnaXN0cnkueWFybnBr Zy5jb20vQGJhYmVsL3BsdWdpbi1zeW50YXgtanN4Ly0vcGx1Z2luLXN5bnRheC1qc3gtNy4xMC40 LnRneiMzOWFiYWFlM2NiZjcxMGM0MzczZDg0Mjk0ODRlNmJhMjEzNDAxNjZjIgotICBpbnRlZ3Jp dHkgc2hhNTEyLUtDZzltaW85andpQVJDQjdXQWNRN1kxcStxaWNJTGpvSzhMUC9Wa1BrRUthZjVk a2FaWksxRWNUZTkxYTNKSmxaM3F5Nkw1czlYNTJib0VZaThETTlnPT0KKyAgcmVzb2x2ZWQgImh0 dHBzOi8vcmVnaXN0cnkueWFybnBrZy5jb20vQGJhYmVsL3BsdWdpbi1zeW50YXgtbnVtZXJpYy1z ZXBhcmF0b3IvLS9wbHVnaW4tc3ludGF4LW51bWVyaWMtc2VwYXJhdG9yLTcuMTAuNC50Z3ojYjli MDcwYjNlMzM1NzBjZDlmZDA3YmE3ZmE5MWMwZGQzN2I5YWY5NyIKKyAgaW50ZWdyaXR5IHNoYTUx Mi05SDZZZGZrY0svdU9uWS9LNy9hQTJ4cHphQWdrUW4zN3l6V1VNUks3T2FQT3FPcEdTMStuMEg1 aHhUOUFVdzlFc1NqUFc4U1Z5TUp3WVJ0V3MzWDN1Zz09CiAgIGRlcGVuZGVuY2llczoKICAgICAi QGJhYmVsL2hlbHBlci1wbHVnaW4tdXRpbHMiICJeNy4xMC40IgogCi0iQGJhYmVsL3BsdWdpbi1z eW50YXgtb2JqZWN0LXJlc3Qtc3ByZWFkQF43LjIuMCIsICJAYmFiZWwvcGx1Z2luLXN5bnRheC1v YmplY3QtcmVzdC1zcHJlYWRAXjcuOC4wIjoKKyJAYmFiZWwvcGx1Z2luLXN5bnRheC1vYmplY3Qt cmVzdC1zcHJlYWRAXjcuOC4wIjoKICAgdmVyc2lvbiAiNy44LjMiCiAgIHJlc29sdmVkICJodHRw czovL3JlZ2lzdHJ5Lnlhcm5wa2cuY29tL0BiYWJlbC9wbHVnaW4tc3ludGF4LW9iamVjdC1yZXN0 LXNwcmVhZC8tL3BsdWdpbi1zeW50YXgtb2JqZWN0LXJlc3Qtc3ByZWFkLTcuOC4zLnRneiM2MGUy MjVlZGNiZDk4YTY0MDMzMmEyZTcyZGQzZTY2ZjFhZjU1ODcxIgogICBpbnRlZ3JpdHkgc2hhNTEy LVhvcU1pakdaYjl5M3kyWHNrTitQMXdVR2lWd1daNUptb0RSd3g1KzNHbUVwbE55Vk0yczJEZzhJ TEZRbThyV000OG9yR3k1WXBJNUJsOFUxeTd5ZGxBPT0KICAgZGVwZW5kZW5jaWVzOgogICAgICJA YmFiZWwvaGVscGVyLXBsdWdpbi11dGlscyIgIl43LjguMCIKIAotIkBiYWJlbC9wbHVnaW4tc3lu dGF4LW9wdGlvbmFsLWNhdGNoLWJpbmRpbmdAXjcuMi4wIiwgIkBiYWJlbC9wbHVnaW4tc3ludGF4 LW9wdGlvbmFsLWNhdGNoLWJpbmRpbmdAXjcuOC4wIjoKKyJAYmFiZWwvcGx1Z2luLXN5bnRheC1v cHRpb25hbC1jYXRjaC1iaW5kaW5nQF43LjguMCI6CiAgIHZlcnNpb24gIjcuOC4zIgogICByZXNv bHZlZCAiaHR0cHM6Ly9yZWdpc3RyeS55YXJucGtnLmNvbS9AYmFiZWwvcGx1Z2luLXN5bnRheC1v cHRpb25hbC1jYXRjaC1iaW5kaW5nLy0vcGx1Z2luLXN5bnRheC1vcHRpb25hbC1jYXRjaC1iaW5k aW5nLTcuOC4zLnRneiM2MTExYTI2NWJjZmIwMjBlYjllZmQwZmRmZDdkMjY0MDJiOWVkNmMxIgog ICBpbnRlZ3JpdHkgc2hhNTEyLTZWUEQwUGMxbHBUcXcwYUtvZVJUTWlCK2tXaEFvVDI0UEEra3NX U0JyRnRsNVNJUlZwWmx3TjNOTlBRamVoQTJFLzkxRlYzUmpMV29WVGdsV2NTVjNRPT0KICAgZGVw ZW5kZW5jaWVzOgogICAgICJAYmFiZWwvaGVscGVyLXBsdWdpbi11dGlscyIgIl43LjguMCIKIAot IkBiYWJlbC9wbHVnaW4tdHJhbnNmb3JtLWFycm93LWZ1bmN0aW9uc0BeNy4yLjAiOgotICB2ZXJz aW9uICI3LjEwLjQiCi0gIHJlc29sdmVkICJodHRwczovL3JlZ2lzdHJ5Lnlhcm5wa2cuY29tL0Bi YWJlbC9wbHVnaW4tdHJhbnNmb3JtLWFycm93LWZ1bmN0aW9ucy8tL3BsdWdpbi10cmFuc2Zvcm0t YXJyb3ctZnVuY3Rpb25zLTcuMTAuNC50Z3ojZTIyOTYwZDc3ZTY5N2M3NGY0MWM1MDFkNDRkNzNk YmY4YTZhNjRjZCIKLSAgaW50ZWdyaXR5IHNoYTUxMi05Si9vRDFqVjBaQ0JjZ25vRldGcTF2SmQ0 bXNvS2IvVENwR05GeXlMdDB6QUJkY3ZnSzNhWWlrWjhIanpCMTRjMjZiYzdFM1ExeXVncHdHeTJh VFBOQT09CisiQGJhYmVsL3BsdWdpbi1zeW50YXgtb3B0aW9uYWwtY2hhaW5pbmdAXjcuOC4wIjoK KyAgdmVyc2lvbiAiNy44LjMiCisgIHJlc29sdmVkICJodHRwczovL3JlZ2lzdHJ5Lnlhcm5wa2cu Y29tL0BiYWJlbC9wbHVnaW4tc3ludGF4LW9wdGlvbmFsLWNoYWluaW5nLy0vcGx1Z2luLXN5bnRh eC1vcHRpb25hbC1jaGFpbmluZy03LjguMy50Z3ojNGY2OWMyYWI5NTE2N2UwMTgwY2Q1MzM2NjEz ZjhjNTc4OGY3ZDQ4YSIKKyAgaW50ZWdyaXR5IHNoYTUxMi1Lb0s5RXJIMU1CbENQeFYwVkFOa1hX Mi9kdzR2bGJHRHJGZ3o4Ym1Vc0JHWWtGUmNiUndNaDZjSUp1YmRQcmt4Und1R2R0Q2swdi93UFRL YlFnQmprZz09CisgIGRlcGVuZGVuY2llczoKKyAgICAiQGJhYmVsL2hlbHBlci1wbHVnaW4tdXRp bHMiICJeNy44LjAiCisKKyJAYmFiZWwvcGx1Z2luLXN5bnRheC10b3AtbGV2ZWwtYXdhaXRAXjcu MTIuMSI6CisgIHZlcnNpb24gIjcuMTIuMSIKKyAgcmVzb2x2ZWQgImh0dHBzOi8vcmVnaXN0cnku eWFybnBrZy5jb20vQGJhYmVsL3BsdWdpbi1zeW50YXgtdG9wLWxldmVsLWF3YWl0Ly0vcGx1Z2lu LXN5bnRheC10b3AtbGV2ZWwtYXdhaXQtNy4xMi4xLnRneiNkZDZjMGIzNTdhYzFiYjE0MmQ5ODUz NzQ1MGEzMTk2MjVkMTNkMmEwIgorICBpbnRlZ3JpdHkgc2hhNTEyLWk3b29NWkZTK2EvT20wY3J4 Wm9kclR6TkVQSkhacmxNVkdNVEVwRkFqNnJZWS9iS0NkZEIwRGsvWXhmUHVZWE9vcHVoS2svZTFq VjZoK1dVVTlYTjNBPT0KICAgZGVwZW5kZW5jaWVzOgogICAgICJAYmFiZWwvaGVscGVyLXBsdWdp bi11dGlscyIgIl43LjEwLjQiCiAKLSJAYmFiZWwvcGx1Z2luLXRyYW5zZm9ybS1hc3luYy10by1n ZW5lcmF0b3JAXjcuNS4wIjoKLSAgdmVyc2lvbiAiNy4xMC40IgotICByZXNvbHZlZCAiaHR0cHM6 Ly9yZWdpc3RyeS55YXJucGtnLmNvbS9AYmFiZWwvcGx1Z2luLXRyYW5zZm9ybS1hc3luYy10by1n ZW5lcmF0b3IvLS9wbHVnaW4tdHJhbnNmb3JtLWFzeW5jLXRvLWdlbmVyYXRvci03LjEwLjQudGd6 IzQxYTUwMTdlNDllYjZmM2NkYTkzOTJhNTFlZWYyOTQwNWIyNDVhMzciCi0gIGludGVncml0eSBz aGE1MTItRjZuUkVPYW43SjVVWFRMc0RzWkczRFhtWlNWb2ZyMnRHTndmZHJWd2tEV0hmUWNrYlFY blhTUGZEN2lPK2MvMkhHcXljd3lMU1QzRG5aMTZuK2NCSlE9PQorIkBiYWJlbC9wbHVnaW4tdHJh bnNmb3JtLWFycm93LWZ1bmN0aW9uc0BeNy4xMi4xIjoKKyAgdmVyc2lvbiAiNy4xMi4xIgorICBy ZXNvbHZlZCAiaHR0cHM6Ly9yZWdpc3RyeS55YXJucGtnLmNvbS9AYmFiZWwvcGx1Z2luLXRyYW5z Zm9ybS1hcnJvdy1mdW5jdGlvbnMvLS9wbHVnaW4tdHJhbnNmb3JtLWFycm93LWZ1bmN0aW9ucy03 LjEyLjEudGd6IzgwODNmZmM4NmFjOGU3NzdmYmUyNGI1OTY3YzRiMjUyMWYzY2IyYjMiCisgIGlu dGVncml0eSBzaGE1MTItNVFCNTBxeU40NGZ6eno0L3F4RFBRTUJDVEhneGczbjB4UkJMSlVtQmxM b1Uvc0Z2eFZXR1pGL1pVZk1WRFF1SlVLWGFCaGJ1cHhJeklmWjZGd2svMEE9PQogICBkZXBlbmRl bmNpZXM6Ci0gICAgIkBiYWJlbC9oZWxwZXItbW9kdWxlLWltcG9ydHMiICJeNy4xMC40IgogICAg ICJAYmFiZWwvaGVscGVyLXBsdWdpbi11dGlscyIgIl43LjEwLjQiCi0gICAgIkBiYWJlbC9oZWxw ZXItcmVtYXAtYXN5bmMtdG8tZ2VuZXJhdG9yIiAiXjcuMTAuNCIKIAotIkBiYWJlbC9wbHVnaW4t dHJhbnNmb3JtLWJsb2NrLXNjb3BlZC1mdW5jdGlvbnNAXjcuMi4wIjoKLSAgdmVyc2lvbiAiNy4x MC40IgotICByZXNvbHZlZCAiaHR0cHM6Ly9yZWdpc3RyeS55YXJucGtnLmNvbS9AYmFiZWwvcGx1 Z2luLXRyYW5zZm9ybS1ibG9jay1zY29wZWQtZnVuY3Rpb25zLy0vcGx1Z2luLXRyYW5zZm9ybS1i bG9jay1zY29wZWQtZnVuY3Rpb25zLTcuMTAuNC50Z3ojMWFmYTU5NTc0NGY3NWU0M2E5MWFmNzNi MGQ5OThlY2ZlNGViYzJlOCIKLSAgaW50ZWdyaXR5IHNoYTUxMi1XelhEYXJRWFlZZmphVjFzekp2 TjNBRDdyWmdaekMxSnRqSlo4ZE1IVXlpSzhteFBSYWh5bnAxNHp6TmpVM1ZrUHFQc08zOEN6eGlX TzFjOUFSWjhKQT09CisiQGJhYmVsL3BsdWdpbi10cmFuc2Zvcm0tYXN5bmMtdG8tZ2VuZXJhdG9y QF43LjEyLjEiOgorICB2ZXJzaW9uICI3LjEyLjEiCisgIHJlc29sdmVkICJodHRwczovL3JlZ2lz dHJ5Lnlhcm5wa2cuY29tL0BiYWJlbC9wbHVnaW4tdHJhbnNmb3JtLWFzeW5jLXRvLWdlbmVyYXRv ci8tL3BsdWdpbi10cmFuc2Zvcm0tYXN5bmMtdG8tZ2VuZXJhdG9yLTcuMTIuMS50Z3ojMzg0OWE0 OWNjMmEyMmU5NzQzY2JkNmI1MjkyNmQzMDMzNzIyOWFmMSIKKyAgaW50ZWdyaXR5IHNoYTUxMi1T RHRxb0VjYXJLMURGbFJKMWhIUlk1SHZKVWo1a1g0cW10cE1BbTJRbmhPbHl1TUM0VE1kQ1JnVzZX WHB2OTNyWmVZTmVMUDIyeThBcTJkYmNEUk0xQT09CiAgIGRlcGVuZGVuY2llczoKKyAgICAiQGJh YmVsL2hlbHBlci1tb2R1bGUtaW1wb3J0cyIgIl43LjEyLjEiCiAgICAgIkBiYWJlbC9oZWxwZXIt cGx1Z2luLXV0aWxzIiAiXjcuMTAuNCIKKyAgICAiQGJhYmVsL2hlbHBlci1yZW1hcC1hc3luYy10 by1nZW5lcmF0b3IiICJeNy4xMi4xIgogCi0iQGJhYmVsL3BsdWdpbi10cmFuc2Zvcm0tYmxvY2st c2NvcGluZ0BeNy42LjMiOgotICB2ZXJzaW9uICI3LjExLjEiCi0gIHJlc29sdmVkICJodHRwczov L3JlZ2lzdHJ5Lnlhcm5wa2cuY29tL0BiYWJlbC9wbHVnaW4tdHJhbnNmb3JtLWJsb2NrLXNjb3Bp bmcvLS9wbHVnaW4tdHJhbnNmb3JtLWJsb2NrLXNjb3BpbmctNy4xMS4xLnRneiM1YjdlZmU5ODg1 MmJlZjhkNjUyYzBiMjgxNDRjZDkzYTllNGI1MjE1IgotICBpbnRlZ3JpdHkgc2hhNTEyLTAwZFll REUwRVZFSHV1TSsyNiswdy9TQ0wwQkgyUXk3THdIdUk0SGk0TUg1Z2tDOC9BcU1ONXVXRkpJc29Y WnJBcGhpTW0xaVh6Qnc2TDJUK2VBMGV3PT0KKyJAYmFiZWwvcGx1Z2luLXRyYW5zZm9ybS1ibG9j ay1zY29wZWQtZnVuY3Rpb25zQF43LjEyLjEiOgorICB2ZXJzaW9uICI3LjEyLjEiCisgIHJlc29s dmVkICJodHRwczovL3JlZ2lzdHJ5Lnlhcm5wa2cuY29tL0BiYWJlbC9wbHVnaW4tdHJhbnNmb3Jt LWJsb2NrLXNjb3BlZC1mdW5jdGlvbnMvLS9wbHVnaW4tdHJhbnNmb3JtLWJsb2NrLXNjb3BlZC1m dW5jdGlvbnMtNy4xMi4xLnRneiNmMmExYTM2NWJkZTJiNzExMmUwYTZkZWQ5MDY3ZmRkN2MwNzkw NWQ5IgorICBpbnRlZ3JpdHkgc2hhNTEyLTVPcHhmdVluU2dQYWxScG84RVdHUHpJWWYwbEhCV09S Q2tqNU0wb0xCd0hkbHV4OVJpMzZRcUdXMy9MUjEzUlNWT0FvVVVNem9QSS9qcEU0QUJjSG9BPT0K ICAgZGVwZW5kZW5jaWVzOgogICAgICJAYmFiZWwvaGVscGVyLXBsdWdpbi11dGlscyIgIl43LjEw LjQiCiAKLSJAYmFiZWwvcGx1Z2luLXRyYW5zZm9ybS1jbGFzc2VzQF43LjUuNSI6Ci0gIHZlcnNp b24gIjcuMTAuNCIKLSAgcmVzb2x2ZWQgImh0dHBzOi8vcmVnaXN0cnkueWFybnBrZy5jb20vQGJh YmVsL3BsdWdpbi10cmFuc2Zvcm0tY2xhc3Nlcy8tL3BsdWdpbi10cmFuc2Zvcm0tY2xhc3Nlcy03 LjEwLjQudGd6IzQwNTEzNmFmMmIzZTIxOGJjNGExOTI2MjI4YmM5MTdhYjFhMGFkYzciCi0gIGlu dGVncml0eSBzaGE1MTItMm9aOXFManQxNjFkbjFaRTBNczY2eEJuY1FINEluOFNxdzFZV2dCVVp1 R1ZKSlM1YzBPRlpYTDZkUDJNUkhya1UvZUtoV2c4Q3pGSmhSUWw1MHJReEE9PQorIkBiYWJlbC9w bHVnaW4tdHJhbnNmb3JtLWJsb2NrLXNjb3BpbmdAXjcuMTIuMTEiOgorICB2ZXJzaW9uICI3LjEy LjEyIgorICByZXNvbHZlZCAiaHR0cHM6Ly9yZWdpc3RyeS55YXJucGtnLmNvbS9AYmFiZWwvcGx1 Z2luLXRyYW5zZm9ybS1ibG9jay1zY29waW5nLy0vcGx1Z2luLXRyYW5zZm9ybS1ibG9jay1zY29w aW5nLTcuMTIuMTIudGd6I2Q5M2E1NjdhMTUyYzIyYWVhM2IxOTI5YmIxMThkMWQwYTE3NWNkY2Ei CisgIGludGVncml0eSBzaGE1MTItVk9FUFEvRXhPVnFidWt1UDdCWUp0STVaeHhzbWVnVHd6WjA0 ajFhRjBka1N5cEdvOVhwREh1T3JBQnNKdStpZStwZW5wU0poZURKMTF4MUJFWk5peVE9PQorICBk ZXBlbmRlbmNpZXM6CisgICAgIkBiYWJlbC9oZWxwZXItcGx1Z2luLXV0aWxzIiAiXjcuMTAuNCIK KworIkBiYWJlbC9wbHVnaW4tdHJhbnNmb3JtLWNsYXNzZXNAXjcuMTIuMSI6CisgIHZlcnNpb24g IjcuMTIuMSIKKyAgcmVzb2x2ZWQgImh0dHBzOi8vcmVnaXN0cnkueWFybnBrZy5jb20vQGJhYmVs L3BsdWdpbi10cmFuc2Zvcm0tY2xhc3Nlcy8tL3BsdWdpbi10cmFuc2Zvcm0tY2xhc3Nlcy03LjEy LjEudGd6IzY1ZTY1MGZjYWRkZDNkODhkZGNlNjdjMGY4MzRhM2Q0MzZhMzJkYjYiCisgIGludGVn cml0eSBzaGE1MTItLzc0eGtBN2JWZHpRVEJlU1VoTExKZ1lJY3h3L2RwRXBDZFJEaUhnUEozTXY2 dUMxMVVoanBPaGw3MkNncWJCQ210MXF0c3NDeUIyeG5KbTErUEZqb2c9PQogICBkZXBlbmRlbmNp ZXM6CiAgICAgIkBiYWJlbC9oZWxwZXItYW5ub3RhdGUtYXMtcHVyZSIgIl43LjEwLjQiCiAgICAg IkBiYWJlbC9oZWxwZXItZGVmaW5lLW1hcCIgIl43LjEwLjQiCiAgICAgIkBiYWJlbC9oZWxwZXIt ZnVuY3Rpb24tbmFtZSIgIl43LjEwLjQiCiAgICAgIkBiYWJlbC9oZWxwZXItb3B0aW1pc2UtY2Fs bC1leHByZXNzaW9uIiAiXjcuMTAuNCIKICAgICAiQGJhYmVsL2hlbHBlci1wbHVnaW4tdXRpbHMi ICJeNy4xMC40IgotICAgICJAYmFiZWwvaGVscGVyLXJlcGxhY2Utc3VwZXJzIiAiXjcuMTAuNCIK KyAgICAiQGJhYmVsL2hlbHBlci1yZXBsYWNlLXN1cGVycyIgIl43LjEyLjEiCiAgICAgIkBiYWJl bC9oZWxwZXItc3BsaXQtZXhwb3J0LWRlY2xhcmF0aW9uIiAiXjcuMTAuNCIKICAgICBnbG9iYWxz ICJeMTEuMS4wIgogCi0iQGJhYmVsL3BsdWdpbi10cmFuc2Zvcm0tY29tcHV0ZWQtcHJvcGVydGll c0BeNy4yLjAiOgotICB2ZXJzaW9uICI3LjEwLjQiCi0gIHJlc29sdmVkICJodHRwczovL3JlZ2lz dHJ5Lnlhcm5wa2cuY29tL0BiYWJlbC9wbHVnaW4tdHJhbnNmb3JtLWNvbXB1dGVkLXByb3BlcnRp ZXMvLS9wbHVnaW4tdHJhbnNmb3JtLWNvbXB1dGVkLXByb3BlcnRpZXMtNy4xMC40LnRneiM5ZGVk ODNhODE2ZTgyZGVkMjhkNTJkNGI0ZWNiZGQ4MTBjZGZjMGViIgotICBpbnRlZ3JpdHkgc2hhNTEy LUpGd1ZEWGNQL2hNL1RieXpHcTNsL1hXR3V0N3A0NlozUXZxRk1YVGZrNi8wOW03eFpISlVOOXhI ZnN2N3ZxcUQ0WW5mSTV1ZVlkU0p0WHFxQkx5akJ3PT0KKyJAYmFiZWwvcGx1Z2luLXRyYW5zZm9y bS1jb21wdXRlZC1wcm9wZXJ0aWVzQF43LjEyLjEiOgorICB2ZXJzaW9uICI3LjEyLjEiCisgIHJl c29sdmVkICJodHRwczovL3JlZ2lzdHJ5Lnlhcm5wa2cuY29tL0BiYWJlbC9wbHVnaW4tdHJhbnNm b3JtLWNvbXB1dGVkLXByb3BlcnRpZXMvLS9wbHVnaW4tdHJhbnNmb3JtLWNvbXB1dGVkLXByb3Bl cnRpZXMtNy4xMi4xLnRneiNkNjhjZjZjOWI3ZjgzOGE4YTQxNDRiYWRiZTk3NTQxZWEwOTA0ODUy IgorICBpbnRlZ3JpdHkgc2hhNTEyLXZWVU9ZcFBXQjdCa2dVV1BvNEM0NG1VUUhwVFpYYWtFcUZq YnY4clFNZzdUQzZTNlpoR1ozb3RRY1JINnU3K2FkU2xFNWkwc3A2M2VNQy9YR2ZmcnpnPT0KICAg ZGVwZW5kZW5jaWVzOgogICAgICJAYmFiZWwvaGVscGVyLXBsdWdpbi11dGlscyIgIl43LjEwLjQi CiAKLSJAYmFiZWwvcGx1Z2luLXRyYW5zZm9ybS1kZXN0cnVjdHVyaW5nQF43LjYuMCI6Ci0gIHZl cnNpb24gIjcuMTAuNCIKLSAgcmVzb2x2ZWQgImh0dHBzOi8vcmVnaXN0cnkueWFybnBrZy5jb20v QGJhYmVsL3BsdWdpbi10cmFuc2Zvcm0tZGVzdHJ1Y3R1cmluZy8tL3BsdWdpbi10cmFuc2Zvcm0t ZGVzdHJ1Y3R1cmluZy03LjEwLjQudGd6IzcwZGRkMmIzZDFiZWE4M2QwMTUwOWU5YmIyNWRkYjNh NzRmYzg1ZTUiCi0gIGludGVncml0eSBzaGE1MTItK1dtZnZ5ZnN5RjYwM2lQYTY4MjVtcTZRcmI3 dUxqVE9zYTNYT0Z6bFljWURIU1M0UW1wT1dPTDBOTkJZNXFNYnZyY2YzdHEwQ3crdjRseHN3T0Jw Z0E9PQorIkBiYWJlbC9wbHVnaW4tdHJhbnNmb3JtLWRlc3RydWN0dXJpbmdAXjcuMTIuMSI6Cisg IHZlcnNpb24gIjcuMTIuMSIKKyAgcmVzb2x2ZWQgImh0dHBzOi8vcmVnaXN0cnkueWFybnBrZy5j b20vQGJhYmVsL3BsdWdpbi10cmFuc2Zvcm0tZGVzdHJ1Y3R1cmluZy8tL3BsdWdpbi10cmFuc2Zv cm0tZGVzdHJ1Y3R1cmluZy03LjEyLjEudGd6I2I5YTU3MGZlMGQwYThkNDYwMTE2NDEzY2I0Zjk3 ZThlMDhiMmY4NDciCisgIGludGVncml0eSBzaGE1MTItZlJNWUZLdXppL3JTaVliMnVSTGlVRU5K T0txNEdubCs2cU92NWY4ejBUWlhnM2xsVXdVaHNOTndyd2FULzZkVWhKVHpOcEJyK0NVdkVXQnRm TlkxY3c9PQogICBkZXBlbmRlbmNpZXM6CiAgICAgIkBiYWJlbC9oZWxwZXItcGx1Z2luLXV0aWxz IiAiXjcuMTAuNCIKIAotIkBiYWJlbC9wbHVnaW4tdHJhbnNmb3JtLWRvdGFsbC1yZWdleEBeNy42 LjIiOgotICB2ZXJzaW9uICI3LjEwLjQiCi0gIHJlc29sdmVkICJodHRwczovL3JlZ2lzdHJ5Lnlh cm5wa2cuY29tL0BiYWJlbC9wbHVnaW4tdHJhbnNmb3JtLWRvdGFsbC1yZWdleC8tL3BsdWdpbi10 cmFuc2Zvcm0tZG90YWxsLXJlZ2V4LTcuMTAuNC50Z3ojNDY5YzIwNjIxMDVjMWViNmEwNDBlYWY0 ZmFjNGI0ODgwNzgzOTVlZSIKLSAgaW50ZWdyaXR5IHNoYTUxMi1aRUFWdlVUQ01sTUZBYkFTWVNW UW94SWJIbTJPa0cyTXNlVzZiVjJKakl5Z09qZFZ2OHR1eHJDVHpqMStSeW5oN09EYjhHaXZVeTdk ekVYekVodVBhQT09CisiQGJhYmVsL3BsdWdpbi10cmFuc2Zvcm0tZG90YWxsLXJlZ2V4QF43LjEy LjEiLCAiQGJhYmVsL3BsdWdpbi10cmFuc2Zvcm0tZG90YWxsLXJlZ2V4QF43LjQuNCI6CisgIHZl cnNpb24gIjcuMTIuMSIKKyAgcmVzb2x2ZWQgImh0dHBzOi8vcmVnaXN0cnkueWFybnBrZy5jb20v QGJhYmVsL3BsdWdpbi10cmFuc2Zvcm0tZG90YWxsLXJlZ2V4Ly0vcGx1Z2luLXRyYW5zZm9ybS1k b3RhbGwtcmVnZXgtNy4xMi4xLnRneiNhMWQxNmMxNDg2MjgxN2I2NDA5YzBhNjc4ZDZmOTM3M2Nh OWNkOTc1IgorICBpbnRlZ3JpdHkgc2hhNTEyLUIycFhlUktvTHN6ZkVXN0o0SGc5TG9GYVdFYnIv a3pvM3RlV0htdEZDc3pqUk5hL2I0MGY5bWZlcVpzSURMTHQvRmp3UTZwei9HZGx3eTg1eE5ja0JB PT0KICAgZGVwZW5kZW5jaWVzOgotICAgICJAYmFiZWwvaGVscGVyLWNyZWF0ZS1yZWdleHAtZmVh dHVyZXMtcGx1Z2luIiAiXjcuMTAuNCIKKyAgICAiQGJhYmVsL2hlbHBlci1jcmVhdGUtcmVnZXhw LWZlYXR1cmVzLXBsdWdpbiIgIl43LjEyLjEiCiAgICAgIkBiYWJlbC9oZWxwZXItcGx1Z2luLXV0 aWxzIiAiXjcuMTAuNCIKIAotIkBiYWJlbC9wbHVnaW4tdHJhbnNmb3JtLWR1cGxpY2F0ZS1rZXlz QF43LjUuMCI6Ci0gIHZlcnNpb24gIjcuMTAuNCIKLSAgcmVzb2x2ZWQgImh0dHBzOi8vcmVnaXN0 cnkueWFybnBrZy5jb20vQGJhYmVsL3BsdWdpbi10cmFuc2Zvcm0tZHVwbGljYXRlLWtleXMvLS9w bHVnaW4tdHJhbnNmb3JtLWR1cGxpY2F0ZS1rZXlzLTcuMTAuNC50Z3ojNjk3ZTUwYzlmZWUxNDM4 MGZlODQzZDFmMzA2YjI5NTYxNzQzMWU0NyIKLSAgaW50ZWdyaXR5IHNoYTUxMi1HTDAvZkpubWdN Y2xIaUJUVFdYTmxZallzQTdyRHJ0c2F6SEc2bWdsYUdTVGgwS3NyVzA0cW1sK0JiejlGTDBMY0pJ UndCV0w1WnFsTkhLVGtVM3hBQT09CisiQGJhYmVsL3BsdWdpbi10cmFuc2Zvcm0tZHVwbGljYXRl LWtleXNAXjcuMTIuMSI6CisgIHZlcnNpb24gIjcuMTIuMSIKKyAgcmVzb2x2ZWQgImh0dHBzOi8v cmVnaXN0cnkueWFybnBrZy5jb20vQGJhYmVsL3BsdWdpbi10cmFuc2Zvcm0tZHVwbGljYXRlLWtl eXMvLS9wbHVnaW4tdHJhbnNmb3JtLWR1cGxpY2F0ZS1rZXlzLTcuMTIuMS50Z3ojNzQ1NjYxYmFi YTI5NWFjMDZlNjg2ODIyNzk3YTY5ZmJhYTJjYTIyOCIKKyAgaW50ZWdyaXR5IHNoYTUxMi1pUmdo dDBUMEh6dEFiL0NhenZlVXBVUXJaWSthR0tLYVdYTUo0dWY5WUp0cXhTVWUwOWozd3RlenRDVURS SHMrU1JBTDd5TXVGcVVzTG9BS0t6Z1hqdz09CiAgIGRlcGVuZGVuY2llczoKICAgICAiQGJhYmVs L2hlbHBlci1wbHVnaW4tdXRpbHMiICJeNy4xMC40IgogCi0iQGJhYmVsL3BsdWdpbi10cmFuc2Zv cm0tZXhwb25lbnRpYXRpb24tb3BlcmF0b3JAXjcuMi4wIjoKLSAgdmVyc2lvbiAiNy4xMC40Igot ICByZXNvbHZlZCAiaHR0cHM6Ly9yZWdpc3RyeS55YXJucGtnLmNvbS9AYmFiZWwvcGx1Z2luLXRy YW5zZm9ybS1leHBvbmVudGlhdGlvbi1vcGVyYXRvci8tL3BsdWdpbi10cmFuc2Zvcm0tZXhwb25l bnRpYXRpb24tb3BlcmF0b3ItNy4xMC40LnRneiM1YWUzMzhjNTdmOGNmNDAwMWJkYjM1NjA3YWU2 NmI5MmQ2NjVhZjJlIgotICBpbnRlZ3JpdHkgc2hhNTEyLVM1SGdMVmdrQmNSZHlRQUhiS2orN0t5 dVd4OEM2dDVvRVRtVXV3ejFwdDNXVFdKaHNVVjBXSUlYdVZ2ZlhNeGwvUVF5SEtsU0NOTnRhSWFt RzhmeXN3PT0KKyJAYmFiZWwvcGx1Z2luLXRyYW5zZm9ybS1leHBvbmVudGlhdGlvbi1vcGVyYXRv ckBeNy4xMi4xIjoKKyAgdmVyc2lvbiAiNy4xMi4xIgorICByZXNvbHZlZCAiaHR0cHM6Ly9yZWdp c3RyeS55YXJucGtnLmNvbS9AYmFiZWwvcGx1Z2luLXRyYW5zZm9ybS1leHBvbmVudGlhdGlvbi1v cGVyYXRvci8tL3BsdWdpbi10cmFuc2Zvcm0tZXhwb25lbnRpYXRpb24tb3BlcmF0b3ItNy4xMi4x LnRneiNiMGYyZWQzNTZiYTFiZTE0MjhlY2FmMTI4ZmY4YTI0ZjAyODMwYWUwIgorICBpbnRlZ3Jp dHkgc2hhNTEyLTd0cXd5MmJ2NDhxK2MxRUhiWEswWngzS1hkMlJWUXA2T0M3UGJ3Rk50L2RQVEFW M0x1NXNXdFd1QWo4b3dyNXdxdFducUhmbDIvbUpsVW1xa0NoS3VnPT0KICAgZGVwZW5kZW5jaWVz OgogICAgICJAYmFiZWwvaGVscGVyLWJ1aWxkZXItYmluYXJ5LWFzc2lnbm1lbnQtb3BlcmF0b3It dmlzaXRvciIgIl43LjEwLjQiCiAgICAgIkBiYWJlbC9oZWxwZXItcGx1Z2luLXV0aWxzIiAiXjcu MTAuNCIKIAotIkBiYWJlbC9wbHVnaW4tdHJhbnNmb3JtLWZvci1vZkBeNy40LjQiOgotICB2ZXJz aW9uICI3LjEwLjQiCi0gIHJlc29sdmVkICJodHRwczovL3JlZ2lzdHJ5Lnlhcm5wa2cuY29tL0Bi YWJlbC9wbHVnaW4tdHJhbnNmb3JtLWZvci1vZi8tL3BsdWdpbi10cmFuc2Zvcm0tZm9yLW9mLTcu MTAuNC50Z3ojYzA4ODkyZTg4MTlkM2E1ZGIyOTAzMWIxMTVhZjUxMWRiYmZlYmFlOSIKLSAgaW50 ZWdyaXR5IHNoYTUxMi1JdGRRZkF6dTlBbEVxbXVzQS82NVRxSjc5ZVJjZ0dtcFBQRnZCbkdJTFha SDk3NUcwTE5qUDF5akh2R2dmdUN4cXJQUHVlWE9QZStGc3Z4bXhLaUhIUT09CisiQGJhYmVsL3Bs dWdpbi10cmFuc2Zvcm0tZm9yLW9mQF43LjEyLjEiOgorICB2ZXJzaW9uICI3LjEyLjEiCisgIHJl c29sdmVkICJodHRwczovL3JlZ2lzdHJ5Lnlhcm5wa2cuY29tL0BiYWJlbC9wbHVnaW4tdHJhbnNm b3JtLWZvci1vZi8tL3BsdWdpbi10cmFuc2Zvcm0tZm9yLW9mLTcuMTIuMS50Z3ojMDc2NDBmMjg4 NjdlZDE2Zjk1MTFjOTljODg4MjkxZjU2MDkyMWNmYSIKKyAgaW50ZWdyaXR5IHNoYTUxMi1aYWVx MTBuYUFzdUhvN2hlUXZ5VjBwdGo0ZGxaSndaZ05BdEJZQm51NW5OS0pvVzYybTB6S2NJRXlWRUNy VUtFcmtVa2c2YWpNeTRaZm5WWmNpU0JoZz09CiAgIGRlcGVuZGVuY2llczoKICAgICAiQGJhYmVs L2hlbHBlci1wbHVnaW4tdXRpbHMiICJeNy4xMC40IgogCi0iQGJhYmVsL3BsdWdpbi10cmFuc2Zv cm0tZnVuY3Rpb24tbmFtZUBeNy40LjQiOgotICB2ZXJzaW9uICI3LjEwLjQiCi0gIHJlc29sdmVk ICJodHRwczovL3JlZ2lzdHJ5Lnlhcm5wa2cuY29tL0BiYWJlbC9wbHVnaW4tdHJhbnNmb3JtLWZ1 bmN0aW9uLW5hbWUvLS9wbHVnaW4tdHJhbnNmb3JtLWZ1bmN0aW9uLW5hbWUtNy4xMC40LnRneiM2 YTQ2Nzg4MGUwZmM5NjM4NTE0YmEzNjkxMTE4MTFkZGJlMjY0NGI3IgotICBpbnRlZ3JpdHkgc2hh NTEyLU9jRENxMnk1K0UwZFZENU1hZ1Q1WCt5VFJiY3ZGakRJMlpWQW90dEdINnR6cWp4L0xLcGdr VWVwdTNocC91NHRaQnp4eHBOR3dMc0F2R0J2UTJtSnpnPT0KKyJAYmFiZWwvcGx1Z2luLXRyYW5z Zm9ybS1mdW5jdGlvbi1uYW1lQF43LjEyLjEiOgorICB2ZXJzaW9uICI3LjEyLjEiCisgIHJlc29s dmVkICJodHRwczovL3JlZ2lzdHJ5Lnlhcm5wa2cuY29tL0BiYWJlbC9wbHVnaW4tdHJhbnNmb3Jt LWZ1bmN0aW9uLW5hbWUvLS9wbHVnaW4tdHJhbnNmb3JtLWZ1bmN0aW9uLW5hbWUtNy4xMi4xLnRn eiMyZWM3NjI1OGM3MGZlMDhjNmQ3ZGExNTQwMDNhNDgwNjIwZWJhNjY3IgorICBpbnRlZ3JpdHkg c2hhNTEyLUpGM1VnSlVJTG9GckZNRW5PSkxKa1JIU2s2TFVTWExtRUZzQTIzYVIyTzVDU0xVeGJl VVgxSVoxWVE3U24wYVhiNjAxTmN3ang3M2ErRlZxZ2NsalZ3PT0KICAgZGVwZW5kZW5jaWVzOgog ICAgICJAYmFiZWwvaGVscGVyLWZ1bmN0aW9uLW5hbWUiICJeNy4xMC40IgogICAgICJAYmFiZWwv aGVscGVyLXBsdWdpbi11dGlscyIgIl43LjEwLjQiCiAKLSJAYmFiZWwvcGx1Z2luLXRyYW5zZm9y bS1saXRlcmFsc0BeNy4yLjAiOgotICB2ZXJzaW9uICI3LjEwLjQiCi0gIHJlc29sdmVkICJodHRw czovL3JlZ2lzdHJ5Lnlhcm5wa2cuY29tL0BiYWJlbC9wbHVnaW4tdHJhbnNmb3JtLWxpdGVyYWxz Ly0vcGx1Z2luLXRyYW5zZm9ybS1saXRlcmFscy03LjEwLjQudGd6IzlmNDJiYTA4NDExMDBhMTM1 ZjIyNzEyZDBlMzkxYzQ2MmY1NzFmM2MiCi0gIGludGVncml0eSBzaGE1MTItWGQvZEZTVEVWdVVX bnlaaU11NzYvSW5aeExUWWlsT1NyMVVsSFYrcDExNVovTGUyRmkxS1hrSlVZejBiNDJEZm5kb3N0 WWxQdWIzbThaVFFsTWFpcVE9PQorIkBiYWJlbC9wbHVnaW4tdHJhbnNmb3JtLWxpdGVyYWxzQF43 LjEyLjEiOgorICB2ZXJzaW9uICI3LjEyLjEiCisgIHJlc29sdmVkICJodHRwczovL3JlZ2lzdHJ5 Lnlhcm5wa2cuY29tL0BiYWJlbC9wbHVnaW4tdHJhbnNmb3JtLWxpdGVyYWxzLy0vcGx1Z2luLXRy YW5zZm9ybS1saXRlcmFscy03LjEyLjEudGd6I2Q3M2I4MDNhMjZiMzcwMTdkZGY5ZDNiYjhmNGRj NThiZmI4MDZmNTciCisgIGludGVncml0eSBzaGE1MTItK1B4VkdBKzJBZzZ1R2dMMEE1Zis5cmts T25uTWNjd0VCendZRkwzRVVhS3VpeVZuVWlweVhuY0ZjZmpTa2JpbUxyT0RvcWtpMVU5WHhaelR2 Zk43SVE9PQogICBkZXBlbmRlbmNpZXM6CiAgICAgIkBiYWJlbC9oZWxwZXItcGx1Z2luLXV0aWxz IiAiXjcuMTAuNCIKIAotIkBiYWJlbC9wbHVnaW4tdHJhbnNmb3JtLW1lbWJlci1leHByZXNzaW9u LWxpdGVyYWxzQF43LjIuMCI6Ci0gIHZlcnNpb24gIjcuMTAuNCIKLSAgcmVzb2x2ZWQgImh0dHBz Oi8vcmVnaXN0cnkueWFybnBrZy5jb20vQGJhYmVsL3BsdWdpbi10cmFuc2Zvcm0tbWVtYmVyLWV4 cHJlc3Npb24tbGl0ZXJhbHMvLS9wbHVnaW4tdHJhbnNmb3JtLW1lbWJlci1leHByZXNzaW9uLWxp dGVyYWxzLTcuMTAuNC50Z3ojYjFlYzQ0ZmNmMTk1YWZjYjhkYjJjNjJjZDhlNTUxYzg4MWJhZjhi NyIKLSAgaW50ZWdyaXR5IHNoYTUxMi0wYkZPdlB5QW9UQmh0Y0pMcjlWY3dacUttU2pGbWwxaVZ4 dlBMMFJlb21HVTUzQ1g1M0hzTTRoMlN6Y2tOZGtRY0hveDFicEFxenhCSTFZMDlMbEJTdz09Cisi QGJhYmVsL3BsdWdpbi10cmFuc2Zvcm0tbWVtYmVyLWV4cHJlc3Npb24tbGl0ZXJhbHNAXjcuMTIu MSI6CisgIHZlcnNpb24gIjcuMTIuMSIKKyAgcmVzb2x2ZWQgImh0dHBzOi8vcmVnaXN0cnkueWFy bnBrZy5jb20vQGJhYmVsL3BsdWdpbi10cmFuc2Zvcm0tbWVtYmVyLWV4cHJlc3Npb24tbGl0ZXJh bHMvLS9wbHVnaW4tdHJhbnNmb3JtLW1lbWJlci1leHByZXNzaW9uLWxpdGVyYWxzLTcuMTIuMS50 Z3ojNDk2MDM4NjAyZGFmMTUxNGE2NGQ0M2Q4ZTE3Y2JiMjc1NWUwYzNhZCIKKyAgaW50ZWdyaXR5 IHNoYTUxMi0xc3hlUGw2ejlhZDBnRk1COUtxbVlvZmszNGZscTYyYXFNdDlOcWxpUy83aFBFcFVS VUNNYnlIWHJNUGxvMjgyaVk3bkF2VUIxYVFkNW1nNzlVRDlKZz09CiAgIGRlcGVuZGVuY2llczoK ICAgICAiQGJhYmVsL2hlbHBlci1wbHVnaW4tdXRpbHMiICJeNy4xMC40IgogCi0iQGJhYmVsL3Bs dWdpbi10cmFuc2Zvcm0tbW9kdWxlcy1hbWRAXjcuNS4wIjoKLSAgdmVyc2lvbiAiNy4xMC41Igot ICByZXNvbHZlZCAiaHR0cHM6Ly9yZWdpc3RyeS55YXJucGtnLmNvbS9AYmFiZWwvcGx1Z2luLXRy YW5zZm9ybS1tb2R1bGVzLWFtZC8tL3BsdWdpbi10cmFuc2Zvcm0tbW9kdWxlcy1hbWQtNy4xMC41 LnRneiMxYjljZGRhZjA1ZDllODhiM2FhZDMzOWNiM2U0NDVjNGYwMjBhOWIxIgotICBpbnRlZ3Jp dHkgc2hhNTEyLWVsbTV1cnVOaW83Q1RMRkl0VkMvckl6S0xmUTE3K2ZYN0VWejVXMFRNZ0lIRm8x elkwT3p6eCtsZ3doTDRwbHpsOE96Vm42UWFzeDVEZUVGeW9OaVJ3PT0KKyJAYmFiZWwvcGx1Z2lu LXRyYW5zZm9ybS1tb2R1bGVzLWFtZEBeNy4xMi4xIjoKKyAgdmVyc2lvbiAiNy4xMi4xIgorICBy ZXNvbHZlZCAiaHR0cHM6Ly9yZWdpc3RyeS55YXJucGtnLmNvbS9AYmFiZWwvcGx1Z2luLXRyYW5z Zm9ybS1tb2R1bGVzLWFtZC8tL3BsdWdpbi10cmFuc2Zvcm0tbW9kdWxlcy1hbWQtNy4xMi4xLnRn eiMzMTU0MzAwYjAyNjE4NTY2NmVlYmIwYzBlZDdmODQxNWZlZmNmNmY5IgorICBpbnRlZ3JpdHkg c2hhNTEyLXREVzhoTWt6YWQ1b0R0enNCNzBISVFRUkJpVEtyaGZnd0MvS2tKZUdzYU5GVGRXaEtO dC9CaUU4YzV5ajE5WGlHeXJ4cGJrT2ZIODdxa05nMVlHbE9RPT0KICAgZGVwZW5kZW5jaWVzOgot ICAgICJAYmFiZWwvaGVscGVyLW1vZHVsZS10cmFuc2Zvcm1zIiAiXjcuMTAuNSIKKyAgICAiQGJh YmVsL2hlbHBlci1tb2R1bGUtdHJhbnNmb3JtcyIgIl43LjEyLjEiCiAgICAgIkBiYWJlbC9oZWxw ZXItcGx1Z2luLXV0aWxzIiAiXjcuMTAuNCIKICAgICBiYWJlbC1wbHVnaW4tZHluYW1pYy1pbXBv cnQtbm9kZSAiXjIuMy4zIgogCi0iQGJhYmVsL3BsdWdpbi10cmFuc2Zvcm0tbW9kdWxlcy1jb21t b25qc0BeNy42LjAiOgotICB2ZXJzaW9uICI3LjEwLjQiCi0gIHJlc29sdmVkICJodHRwczovL3Jl Z2lzdHJ5Lnlhcm5wa2cuY29tL0BiYWJlbC9wbHVnaW4tdHJhbnNmb3JtLW1vZHVsZXMtY29tbW9u anMvLS9wbHVnaW4tdHJhbnNmb3JtLW1vZHVsZXMtY29tbW9uanMtNy4xMC40LnRneiM2NjY2N2Mz ZWVkYTFlYmY3ODk2ZDQxZjFmMTZiMTcxMDVhMmZiY2EwIgotICBpbnRlZ3JpdHkgc2hhNTEyLVhq N1VxNW84MEhETGxXNjRyVmZEQmhhbzZPWDg5SEtVbWIrOXZXWWFMWEJaT21hNGdBNnR3NE5pMU81 cVZEb1pXVVYwZnhNWUEwYVl6T2F3ejBsKzF3PT0KKyJAYmFiZWwvcGx1Z2luLXRyYW5zZm9ybS1t b2R1bGVzLWNvbW1vbmpzQF43LjEyLjEiOgorICB2ZXJzaW9uICI3LjEyLjEiCisgIHJlc29sdmVk ICJodHRwczovL3JlZ2lzdHJ5Lnlhcm5wa2cuY29tL0BiYWJlbC9wbHVnaW4tdHJhbnNmb3JtLW1v ZHVsZXMtY29tbW9uanMvLS9wbHVnaW4tdHJhbnNmb3JtLW1vZHVsZXMtY29tbW9uanMtNy4xMi4x LnRneiNmYTQwMzEyNDU0MjYzNmM3ODZjZjliNDYwYTBmZmJiNDhhODZlNjQ4IgorICBpbnRlZ3Jp dHkgc2hhNTEyLWRZNzg5d3E2bDB1TFk4cHk5YzFCNDhWOG1WTDVnWmgvK1BRNVpQcnlsUFlzbkF2 bkVNanFzVVhrdW9EVlBlVksrMFZ5R2FyK0QwODEwN0x6RFE2cGFnPT0KICAgZGVwZW5kZW5jaWVz OgotICAgICJAYmFiZWwvaGVscGVyLW1vZHVsZS10cmFuc2Zvcm1zIiAiXjcuMTAuNCIKKyAgICAi QGJhYmVsL2hlbHBlci1tb2R1bGUtdHJhbnNmb3JtcyIgIl43LjEyLjEiCiAgICAgIkBiYWJlbC9o ZWxwZXItcGx1Z2luLXV0aWxzIiAiXjcuMTAuNCIKLSAgICAiQGJhYmVsL2hlbHBlci1zaW1wbGUt YWNjZXNzIiAiXjcuMTAuNCIKKyAgICAiQGJhYmVsL2hlbHBlci1zaW1wbGUtYWNjZXNzIiAiXjcu MTIuMSIKICAgICBiYWJlbC1wbHVnaW4tZHluYW1pYy1pbXBvcnQtbm9kZSAiXjIuMy4zIgogCi0i QGJhYmVsL3BsdWdpbi10cmFuc2Zvcm0tbW9kdWxlcy1zeXN0ZW1qc0BeNy41LjAiOgotICB2ZXJz aW9uICI3LjEwLjUiCi0gIHJlc29sdmVkICJodHRwczovL3JlZ2lzdHJ5Lnlhcm5wa2cuY29tL0Bi YWJlbC9wbHVnaW4tdHJhbnNmb3JtLW1vZHVsZXMtc3lzdGVtanMvLS9wbHVnaW4tdHJhbnNmb3Jt LW1vZHVsZXMtc3lzdGVtanMtNy4xMC41LnRneiM2MjcwMDk5Yzg1NDA2NjY4MWJhZTllMDVmODdl MWI5Y2FkYmU4Yzg1IgotICBpbnRlZ3JpdHkgc2hhNTEyLWY0UkxPL09MMTQvRlAxQUViY3NXTXpw YlV6NnRzc1JhZVFnMTFSSDFCUC9YblBwUm9Wd2dlWVZpTUZhY25rYXc0azR3alJTam4zaXAxVXc5 VGFYdU13PT0KKyJAYmFiZWwvcGx1Z2luLXRyYW5zZm9ybS1tb2R1bGVzLXN5c3RlbWpzQF43LjEy LjEiOgorICB2ZXJzaW9uICI3LjEyLjEiCisgIHJlc29sdmVkICJodHRwczovL3JlZ2lzdHJ5Lnlh cm5wa2cuY29tL0BiYWJlbC9wbHVnaW4tdHJhbnNmb3JtLW1vZHVsZXMtc3lzdGVtanMvLS9wbHVn aW4tdHJhbnNmb3JtLW1vZHVsZXMtc3lzdGVtanMtNy4xMi4xLnRneiM2NjNmZWE2MjBkNTkzYzkz ZjIxNGE0NjRjZDM5OWJmNmRjNjgzMDg2IgorICBpbnRlZ3JpdHkgc2hhNTEyLUhuN2NWdk9hdlZo OHl2VzZmTHd2ZUZxU25kN3JiUU4zekp2b1BOeU5hUVN2Z2ZLbURCTzlVMVlMOStQQ1hHUmxaRDl0 TmRXVHk1QUNLcU11enluMzJRPT0KICAgZGVwZW5kZW5jaWVzOgogICAgICJAYmFiZWwvaGVscGVy LWhvaXN0LXZhcmlhYmxlcyIgIl43LjEwLjQiCi0gICAgIkBiYWJlbC9oZWxwZXItbW9kdWxlLXRy YW5zZm9ybXMiICJeNy4xMC41IgorICAgICJAYmFiZWwvaGVscGVyLW1vZHVsZS10cmFuc2Zvcm1z IiAiXjcuMTIuMSIKICAgICAiQGJhYmVsL2hlbHBlci1wbHVnaW4tdXRpbHMiICJeNy4xMC40Igor ICAgICJAYmFiZWwvaGVscGVyLXZhbGlkYXRvci1pZGVudGlmaWVyIiAiXjcuMTAuNCIKICAgICBi YWJlbC1wbHVnaW4tZHluYW1pYy1pbXBvcnQtbm9kZSAiXjIuMy4zIgogCi0iQGJhYmVsL3BsdWdp bi10cmFuc2Zvcm0tbW9kdWxlcy11bWRAXjcuMi4wIjoKLSAgdmVyc2lvbiAiNy4xMC40IgotICBy ZXNvbHZlZCAiaHR0cHM6Ly9yZWdpc3RyeS55YXJucGtnLmNvbS9AYmFiZWwvcGx1Z2luLXRyYW5z Zm9ybS1tb2R1bGVzLXVtZC8tL3BsdWdpbi10cmFuc2Zvcm0tbW9kdWxlcy11bWQtNy4xMC40LnRn eiM5YTg0ODFmZTgxYjgyNDY1NGIzYTBiNjVkYTNkZjg5ZjNkMjE4MzllIgotICBpbnRlZ3JpdHkg c2hhNTEyLW1vaFc1cTN1QUV0OFQ0NVlUN1FjNXdzNm1XZ0pBYUwvOEJmV0Q5RG9kbzFBM1JLV2xp OHdUUytXaVEva25GK3RYbFBpclcvMS9NcXp6R2ZDRXhLRUNBPT0KKyJAYmFiZWwvcGx1Z2luLXRy YW5zZm9ybS1tb2R1bGVzLXVtZEBeNy4xMi4xIjoKKyAgdmVyc2lvbiAiNy4xMi4xIgorICByZXNv bHZlZCAiaHR0cHM6Ly9yZWdpc3RyeS55YXJucGtnLmNvbS9AYmFiZWwvcGx1Z2luLXRyYW5zZm9y bS1tb2R1bGVzLXVtZC8tL3BsdWdpbi10cmFuc2Zvcm0tbW9kdWxlcy11bWQtNy4xMi4xLnRneiNl YjVhMjE4ZDZiMWM2OGYzZDYyMTdiOGZhMmNjODJmZWM2NTQ3OTAyIgorICBpbnRlZ3JpdHkgc2hh NTEyLWFFSXViQ1MwS0hLTTB6VW9zNWZJb1FtK0FaVU10MVp2TXBxejAvSDVxQVE3dld5bHI5K1BM WXVyVCtJYzdJRC9iS0xkNHE4aERvdmFHM1pjaDJ1ejVRPT0KICAgZGVwZW5kZW5jaWVzOgotICAg ICJAYmFiZWwvaGVscGVyLW1vZHVsZS10cmFuc2Zvcm1zIiAiXjcuMTAuNCIKKyAgICAiQGJhYmVs L2hlbHBlci1tb2R1bGUtdHJhbnNmb3JtcyIgIl43LjEyLjEiCiAgICAgIkBiYWJlbC9oZWxwZXIt cGx1Z2luLXV0aWxzIiAiXjcuMTAuNCIKIAotIkBiYWJlbC9wbHVnaW4tdHJhbnNmb3JtLW5hbWVk LWNhcHR1cmluZy1ncm91cHMtcmVnZXhAXjcuNi4zIjoKLSAgdmVyc2lvbiAiNy4xMC40IgotICBy ZXNvbHZlZCAiaHR0cHM6Ly9yZWdpc3RyeS55YXJucGtnLmNvbS9AYmFiZWwvcGx1Z2luLXRyYW5z Zm9ybS1uYW1lZC1jYXB0dXJpbmctZ3JvdXBzLXJlZ2V4Ly0vcGx1Z2luLXRyYW5zZm9ybS1uYW1l ZC1jYXB0dXJpbmctZ3JvdXBzLXJlZ2V4LTcuMTAuNC50Z3ojNzhiNGQ5Nzg4MTBiNmYzYmNmMDNm OWUzMThmMmZjMGVkNDFhZWNiNiIKLSAgaW50ZWdyaXR5IHNoYTUxMi1WNkx1T25EMzFrVGt4UVBo S2lWWXpZQy9KZ2RxNTNpckpDL3hCU21xY05jcUZHVitQRVI0bDZyVTVTSDJWbDdiSDltTERIY2Mw K2w5SFVPZTRSTkdLQT09CisiQGJhYmVsL3BsdWdpbi10cmFuc2Zvcm0tbmFtZWQtY2FwdHVyaW5n LWdyb3Vwcy1yZWdleEBeNy4xMi4xIjoKKyAgdmVyc2lvbiAiNy4xMi4xIgorICByZXNvbHZlZCAi aHR0cHM6Ly9yZWdpc3RyeS55YXJucGtnLmNvbS9AYmFiZWwvcGx1Z2luLXRyYW5zZm9ybS1uYW1l ZC1jYXB0dXJpbmctZ3JvdXBzLXJlZ2V4Ly0vcGx1Z2luLXRyYW5zZm9ybS1uYW1lZC1jYXB0dXJp bmctZ3JvdXBzLXJlZ2V4LTcuMTIuMS50Z3ojYjQwN2Y1Yzk2YmUwZDlmNWY4ODQ2NzQ5N2ZhODJi MzBhYzNlODc1MyIKKyAgaW50ZWdyaXR5IHNoYTUxMi10QjQzdVE2MlJIY29EcDl2Mk5zZitkU004 c2JOb2RiRWljYlFOQTUzekh6OHBXVWhzZ0hTSkNHcHQ3ZGFYeFJ5ZGpiMEtuZm1CK0NoWE92M29B RHAxUT09CiAgIGRlcGVuZGVuY2llczoKLSAgICAiQGJhYmVsL2hlbHBlci1jcmVhdGUtcmVnZXhw LWZlYXR1cmVzLXBsdWdpbiIgIl43LjEwLjQiCisgICAgIkBiYWJlbC9oZWxwZXItY3JlYXRlLXJl Z2V4cC1mZWF0dXJlcy1wbHVnaW4iICJeNy4xMi4xIgogCi0iQGJhYmVsL3BsdWdpbi10cmFuc2Zv cm0tbmV3LXRhcmdldEBeNy40LjQiOgotICB2ZXJzaW9uICI3LjEwLjQiCi0gIHJlc29sdmVkICJo dHRwczovL3JlZ2lzdHJ5Lnlhcm5wa2cuY29tL0BiYWJlbC9wbHVnaW4tdHJhbnNmb3JtLW5ldy10 YXJnZXQvLS9wbHVnaW4tdHJhbnNmb3JtLW5ldy10YXJnZXQtNy4xMC40LnRneiM5MDk3ZDc1M2Ni N2IwMjRjYjczODFhM2IyZTUyZTk1MTNhOWM2ODg4IgotICBpbnRlZ3JpdHkgc2hhNTEyLVlYd1dV REFIL0o2ZGxmd3FsV3N6dEkyUHV6MU50VUF1YlhoT1BMUTVnalIvcW1RNVU5NkRZNEZRTzhBdDMz Sk40WFBCaHJqQjhJNGVNbUxST2pqTGp3PT0KKyJAYmFiZWwvcGx1Z2luLXRyYW5zZm9ybS1uZXct dGFyZ2V0QF43LjEyLjEiOgorICB2ZXJzaW9uICI3LjEyLjEiCisgIHJlc29sdmVkICJodHRwczov L3JlZ2lzdHJ5Lnlhcm5wa2cuY29tL0BiYWJlbC9wbHVnaW4tdHJhbnNmb3JtLW5ldy10YXJnZXQv LS9wbHVnaW4tdHJhbnNmb3JtLW5ldy10YXJnZXQtNy4xMi4xLnRneiM4MDA3M2YwMmVlMWJiMmQz NjVjMzQxNjQ5MGUwODVjOTU3NTlkZWMwIgorICBpbnRlZ3JpdHkgc2hhNTEyLStlVy9WTGNVTDVM OUl2Skg3clQxc1QwQ3prZFVUdlByWEMyUFhUbi83ejd0WExCdUt2ZXpZYkdkeEQ1V01Sb3l2eWF1 ak9xMmZXb0tsODY5aGVLamh3PT0KICAgZGVwZW5kZW5jaWVzOgogICAgICJAYmFiZWwvaGVscGVy LXBsdWdpbi11dGlscyIgIl43LjEwLjQiCiAKLSJAYmFiZWwvcGx1Z2luLXRyYW5zZm9ybS1vYmpl Y3Qtc3VwZXJAXjcuNS41IjoKLSAgdmVyc2lvbiAiNy4xMC40IgotICByZXNvbHZlZCAiaHR0cHM6 Ly9yZWdpc3RyeS55YXJucGtnLmNvbS9AYmFiZWwvcGx1Z2luLXRyYW5zZm9ybS1vYmplY3Qtc3Vw ZXIvLS9wbHVnaW4tdHJhbnNmb3JtLW9iamVjdC1zdXBlci03LjEwLjQudGd6I2Q3MTQ2YzRkMTM5 NDMzZTdhNjUyNmY4ODhjNjY3ZTMxNGEwOTM4OTQiCi0gIGludGVncml0eSBzaGE1MTItNWlUdzBK a2RSZEp2cjdzWTB2SHFUcG5ydVVwVGVhMzJKSG1xL2F0SVdxc25OdXNzYlJ6akVEeVdlcDhVTnp0 dDFCNUl1c0JZZzhJcmIwYkxiaUVCQ1E9PQorIkBiYWJlbC9wbHVnaW4tdHJhbnNmb3JtLW9iamVj dC1zdXBlckBeNy4xMi4xIjoKKyAgdmVyc2lvbiAiNy4xMi4xIgorICByZXNvbHZlZCAiaHR0cHM6 Ly9yZWdpc3RyeS55YXJucGtnLmNvbS9AYmFiZWwvcGx1Z2luLXRyYW5zZm9ybS1vYmplY3Qtc3Vw ZXIvLS9wbHVnaW4tdHJhbnNmb3JtLW9iamVjdC1zdXBlci03LjEyLjEudGd6IzRlYTA4Njk2Yjhk MmU2NTg0MWQwYzc3MDY0ODJiMDQ4YmVkMTA2NmUiCisgIGludGVncml0eSBzaGE1MTItQXZ5cGlH Skg5aHNxdU5VbitSWFZjQmRlRTNLSFBaZXhXUmRpbWh1VjU5Y1NvT3Q1a0ZCbXFsQnlvckFlVWxH RzJDSldkMFUrNFp0TktnYS9UQjBjQXc9PQogICBkZXBlbmRlbmNpZXM6CiAgICAgIkBiYWJlbC9o ZWxwZXItcGx1Z2luLXV0aWxzIiAiXjcuMTAuNCIKLSAgICAiQGJhYmVsL2hlbHBlci1yZXBsYWNl LXN1cGVycyIgIl43LjEwLjQiCisgICAgIkBiYWJlbC9oZWxwZXItcmVwbGFjZS1zdXBlcnMiICJe Ny4xMi4xIgogCi0iQGJhYmVsL3BsdWdpbi10cmFuc2Zvcm0tcGFyYW1ldGVyc0BeNy4xMC40Iiwg IkBiYWJlbC9wbHVnaW4tdHJhbnNmb3JtLXBhcmFtZXRlcnNAXjcuNC40IjoKLSAgdmVyc2lvbiAi Ny4xMC41IgotICByZXNvbHZlZCAiaHR0cHM6Ly9yZWdpc3RyeS55YXJucGtnLmNvbS9AYmFiZWwv cGx1Z2luLXRyYW5zZm9ybS1wYXJhbWV0ZXJzLy0vcGx1Z2luLXRyYW5zZm9ybS1wYXJhbWV0ZXJz LTcuMTAuNS50Z3ojNTlkMzM5ZDU4ZDBiMTk1MDQzNWY0MDQzZTc0ZTI1MTAwMDVlMmM0YSIKLSAg aW50ZWdyaXR5IHNoYTUxMi14UEh3VWo1UmRGVjhsMXd1WWl1NVM5ZnFXR00yRHJZYzI0VE12VWlS clBWbStTTTNYZXFVOUJjb2tRWC9rRVVlK3AyUkJ3eSt5b2lSMXcvQmxxNnVidz09CisiQGJhYmVs L3BsdWdpbi10cmFuc2Zvcm0tcGFyYW1ldGVyc0BeNy4xMi4xIjoKKyAgdmVyc2lvbiAiNy4xMi4x IgorICByZXNvbHZlZCAiaHR0cHM6Ly9yZWdpc3RyeS55YXJucGtnLmNvbS9AYmFiZWwvcGx1Z2lu LXRyYW5zZm9ybS1wYXJhbWV0ZXJzLy0vcGx1Z2luLXRyYW5zZm9ybS1wYXJhbWV0ZXJzLTcuMTIu MS50Z3ojZDJlOTYzYjAzODc3MTY1MGM5MjJlZmY1OTM3OTljOTZkODUzMjU1ZCIKKyAgaW50ZWdy aXR5IHNoYTUxMi14cTlDNUVRaGRQSzIzWmVDZE14bDhiYlJuQWdIRnJ3NUVPQzNLSlVzU3lsWnFk a0NhRkVYeEdTQnVUU09iT3BpaUhITnliODJlczhNMVFZZ2ZRR2ZOZz09CiAgIGRlcGVuZGVuY2ll czoKLSAgICAiQGJhYmVsL2hlbHBlci1nZXQtZnVuY3Rpb24tYXJpdHkiICJeNy4xMC40IgogICAg ICJAYmFiZWwvaGVscGVyLXBsdWdpbi11dGlscyIgIl43LjEwLjQiCiAKLSJAYmFiZWwvcGx1Z2lu LXRyYW5zZm9ybS1wcm9wZXJ0eS1saXRlcmFsc0BeNy4yLjAiOgotICB2ZXJzaW9uICI3LjEwLjQi Ci0gIHJlc29sdmVkICJodHRwczovL3JlZ2lzdHJ5Lnlhcm5wa2cuY29tL0BiYWJlbC9wbHVnaW4t dHJhbnNmb3JtLXByb3BlcnR5LWxpdGVyYWxzLy0vcGx1Z2luLXRyYW5zZm9ybS1wcm9wZXJ0eS1s aXRlcmFscy03LjEwLjQudGd6I2Y2ZmU1NGI2NTkwMzUyMjk4Nzg1YjgzZWRkODE1ZDIxNGM0MmUz YzAiCi0gIGludGVncml0eSBzaGE1MTItb2ZzQWNLaVV4UThUWTRzU2Nnc0dlUjJ2SklzZnJ6cXZG YjlHdko1VWRYRHpsK015WUNhQmovRkd6WHV2N3FFMGFKY2pXTUlMbnkxZXBxZWxuRmx6OGc9PQor IkBiYWJlbC9wbHVnaW4tdHJhbnNmb3JtLXByb3BlcnR5LWxpdGVyYWxzQF43LjEyLjEiOgorICB2 ZXJzaW9uICI3LjEyLjEiCisgIHJlc29sdmVkICJodHRwczovL3JlZ2lzdHJ5Lnlhcm5wa2cuY29t L0BiYWJlbC9wbHVnaW4tdHJhbnNmb3JtLXByb3BlcnR5LWxpdGVyYWxzLy0vcGx1Z2luLXRyYW5z Zm9ybS1wcm9wZXJ0eS1saXRlcmFscy03LjEyLjEudGd6IzQxYmM4MTIwMGQ3MzBhYmI0NDU2YWI4 YjNmYmQ1NTM3YjU5YWRlY2QiCisgIGludGVncml0eSBzaGE1MTItNk1UQ1IvbVoxTVFTK0F3Wkxw bFg0Y0V5U2pDcG5JRjI2VG9Xbzk0Mm5xbjhoWFNtN01jYUhRTmVHeC9wdDdzdUkxVFdPV01mYS9O Z0JoaXFTblgwY1E9PQogICBkZXBlbmRlbmNpZXM6CiAgICAgIkBiYWJlbC9oZWxwZXItcGx1Z2lu LXV0aWxzIiAiXjcuMTAuNCIKIAotIkBiYWJlbC9wbHVnaW4tdHJhbnNmb3JtLXJlYWN0LWRpc3Bs YXktbmFtZUBeNy4xMC40IjoKLSAgdmVyc2lvbiAiNy4xMC40IgotICByZXNvbHZlZCAiaHR0cHM6 Ly9yZWdpc3RyeS55YXJucGtnLmNvbS9AYmFiZWwvcGx1Z2luLXRyYW5zZm9ybS1yZWFjdC1kaXNw bGF5LW5hbWUvLS9wbHVnaW4tdHJhbnNmb3JtLXJlYWN0LWRpc3BsYXktbmFtZS03LjEwLjQudGd6 I2I1Nzk1ZjRlM2UzMTQwNDE5YzM2MTFiN2EyYTM4MzJiOWFlZjMyOGQiCi0gIGludGVncml0eSBz aGE1MTItWmQ0WDU0TXU5U0JmUEduRWNhR2NPclZBWU90alQyb244UVprTEtFcTFTL3RIZXhHMzlk OVhYR1p2MTlWZlJyRGpQSnpGbVBmVEFxT1FTMXBmRk91anc9PQorIkBiYWJlbC9wbHVnaW4tdHJh bnNmb3JtLXJlYWN0LWRpc3BsYXktbmFtZUBeNy4xMi4xIjoKKyAgdmVyc2lvbiAiNy4xMi4xIgor ICByZXNvbHZlZCAiaHR0cHM6Ly9yZWdpc3RyeS55YXJucGtnLmNvbS9AYmFiZWwvcGx1Z2luLXRy YW5zZm9ybS1yZWFjdC1kaXNwbGF5LW5hbWUvLS9wbHVnaW4tdHJhbnNmb3JtLXJlYWN0LWRpc3Bs YXktbmFtZS03LjEyLjEudGd6IzFjYmNkMGMzYjFkNjY0OGM1NTM3NGEyMmZjOWI2YjdlNTM0MWMw MGQiCisgIGludGVncml0eSBzaGE1MTItY0F6QitVekJJcmVrZll4eUxsRnFmL09hZ1R2SExjVkJi NXZwb3V6a1lrQmNsUlByYWl5Z1ZuYWZ2QW9pcEVyWkxJOEFOdjhFY242RS9tNXFQWEQyNnc9PQog ICBkZXBlbmRlbmNpZXM6CiAgICAgIkBiYWJlbC9oZWxwZXItcGx1Z2luLXV0aWxzIiAiXjcuMTAu NCIKIAotIkBiYWJlbC9wbHVnaW4tdHJhbnNmb3JtLXJlYWN0LWpzeC1kZXZlbG9wbWVudEBeNy4x MC40IjoKLSAgdmVyc2lvbiAiNy4xMS41IgotICByZXNvbHZlZCAiaHR0cHM6Ly9yZWdpc3RyeS55 YXJucGtnLmNvbS9AYmFiZWwvcGx1Z2luLXRyYW5zZm9ybS1yZWFjdC1qc3gtZGV2ZWxvcG1lbnQv LS9wbHVnaW4tdHJhbnNmb3JtLXJlYWN0LWpzeC1kZXZlbG9wbWVudC03LjExLjUudGd6I2UxNDM5 ZTZhNTdlZTNkNDNlOWY1NGFjZTM2M2ZiMjljZWZlNWQ3YjYiCi0gIGludGVncml0eSBzaGE1MTIt Y0ltQW1JbEtKODRzRG1wUXptNC8wcS8yeHJYbERlelFvaXh5M3FvejFOSmVaTC84UFJvbjZ4WnRs dXZyNEg0Rnp3bERHSTV0Q2NGdXBNblhHdHIrcXc9PQorIkBiYWJlbC9wbHVnaW4tdHJhbnNmb3Jt LXJlYWN0LWpzeC1kZXZlbG9wbWVudEBeNy4xMi43IjoKKyAgdmVyc2lvbiAiNy4xMi4xMiIKKyAg cmVzb2x2ZWQgImh0dHBzOi8vcmVnaXN0cnkueWFybnBrZy5jb20vQGJhYmVsL3BsdWdpbi10cmFu c2Zvcm0tcmVhY3QtanN4LWRldmVsb3BtZW50Ly0vcGx1Z2luLXRyYW5zZm9ybS1yZWFjdC1qc3gt ZGV2ZWxvcG1lbnQtNy4xMi4xMi50Z3ojYmNjY2EzMzEwOGZlOTlkOTVkN2Y5ZTgyMDQ2YmZlNzYy ZTcxZjRlNyIKKyAgaW50ZWdyaXR5IHNoYTUxMi1pMUF4bkt4SGVNeFVhV1ZYUU9TSWNvNHR2VnZ2 Q3hNU2ZlQk1uTU0wNm1wYUp0M2crTXB4WVFRckRmb2pVUWxkUDF4eHJhUFNKWVNNRWxqb1dNL2RD Zz09CiAgIGRlcGVuZGVuY2llczoKLSAgICAiQGJhYmVsL2hlbHBlci1idWlsZGVyLXJlYWN0LWpz eC1leHBlcmltZW50YWwiICJeNy4xMS41IgotICAgICJAYmFiZWwvaGVscGVyLXBsdWdpbi11dGls cyIgIl43LjEwLjQiCi0gICAgIkBiYWJlbC9wbHVnaW4tc3ludGF4LWpzeCIgIl43LjEwLjQiCisg ICAgIkBiYWJlbC9wbHVnaW4tdHJhbnNmb3JtLXJlYWN0LWpzeCIgIl43LjEyLjEyIgogCi0iQGJh YmVsL3BsdWdpbi10cmFuc2Zvcm0tcmVhY3QtanN4LXNlbGZAXjcuMTAuNCI6Ci0gIHZlcnNpb24g IjcuMTAuNCIKLSAgcmVzb2x2ZWQgImh0dHBzOi8vcmVnaXN0cnkueWFybnBrZy5jb20vQGJhYmVs L3BsdWdpbi10cmFuc2Zvcm0tcmVhY3QtanN4LXNlbGYvLS9wbHVnaW4tdHJhbnNmb3JtLXJlYWN0 LWpzeC1zZWxmLTcuMTAuNC50Z3ojY2QzMDFhNWZlZDg5ODhjMTgyZWQwYjlkNTVlOWJkNmRiMGJk OTM2OSIKLSAgaW50ZWdyaXR5IHNoYTUxMi15T3Z4WTJwRGlWSmkwYXhkVFdIU01pNVQwRElMTitI K1NhZUplQUNIS2pRTGV6RXpoTHg5bkVGOXhncEJMUHRrWnNrczljbmI1UDlpQkVpMjFFbjNnZz09 CisiQGJhYmVsL3BsdWdpbi10cmFuc2Zvcm0tcmVhY3QtanN4QF43LjEyLjEwIiwgIkBiYWJlbC9w bHVnaW4tdHJhbnNmb3JtLXJlYWN0LWpzeEBeNy4xMi4xMiI6CisgIHZlcnNpb24gIjcuMTIuMTIi CisgIHJlc29sdmVkICJodHRwczovL3JlZ2lzdHJ5Lnlhcm5wa2cuY29tL0BiYWJlbC9wbHVnaW4t dHJhbnNmb3JtLXJlYWN0LWpzeC8tL3BsdWdpbi10cmFuc2Zvcm0tcmVhY3QtanN4LTcuMTIuMTIu dGd6I2IwZGE1MWZmZTVmMzRiOWE5MDBlOWYxZjVmYjgxNGY5ZTUxMmQyNWUiCisgIGludGVncml0 eSBzaGE1MTItSkRXR3V6R05Xc2NZY3E4b0pWQ3RTRTYxYTUrWEFPb3MrVjBIcnhuRGllVXVzNFVN bkJFb3NEblkxVkpxVTVpWjRwQTA0UVk3bDArSnZITDFoWkVmc3c9PQogICBkZXBlbmRlbmNpZXM6 CisgICAgIkBiYWJlbC9oZWxwZXItYW5ub3RhdGUtYXMtcHVyZSIgIl43LjEyLjEwIgorICAgICJA YmFiZWwvaGVscGVyLW1vZHVsZS1pbXBvcnRzIiAiXjcuMTIuNSIKICAgICAiQGJhYmVsL2hlbHBl ci1wbHVnaW4tdXRpbHMiICJeNy4xMC40IgotICAgICJAYmFiZWwvcGx1Z2luLXN5bnRheC1qc3gi ICJeNy4xMC40IgorICAgICJAYmFiZWwvcGx1Z2luLXN5bnRheC1qc3giICJeNy4xMi4xIgorICAg ICJAYmFiZWwvdHlwZXMiICJeNy4xMi4xMiIKIAotIkBiYWJlbC9wbHVnaW4tdHJhbnNmb3JtLXJl YWN0LWpzeC1zb3VyY2VAXjcuMTAuNCI6Ci0gIHZlcnNpb24gIjcuMTAuNSIKLSAgcmVzb2x2ZWQg Imh0dHBzOi8vcmVnaXN0cnkueWFybnBrZy5jb20vQGJhYmVsL3BsdWdpbi10cmFuc2Zvcm0tcmVh Y3QtanN4LXNvdXJjZS8tL3BsdWdpbi10cmFuc2Zvcm0tcmVhY3QtanN4LXNvdXJjZS03LjEwLjUu dGd6IzM0ZjE3NzkxMTc1MjBhNzc5YzA1NGYyY2RkOTY4MDQzNWI5MjIyYjQiCi0gIGludGVncml0 eSBzaGE1MTItd1RlcUhWa04xbGZQTHViUmlaSDNvNzNmNHJmb240MkhwZ3hVU3M4Nk5jKzhRSWNt L0I5czhOTlZYdS9nd0djT3lkN3lEaWI5aWt4b0RMeEpQMFVpREE9PQorIkBiYWJlbC9wbHVnaW4t dHJhbnNmb3JtLXJlYWN0LXB1cmUtYW5ub3RhdGlvbnNAXjcuMTIuMSI6CisgIHZlcnNpb24gIjcu MTIuMSIKKyAgcmVzb2x2ZWQgImh0dHBzOi8vcmVnaXN0cnkueWFybnBrZy5jb20vQGJhYmVsL3Bs dWdpbi10cmFuc2Zvcm0tcmVhY3QtcHVyZS1hbm5vdGF0aW9ucy8tL3BsdWdpbi10cmFuc2Zvcm0t cmVhY3QtcHVyZS1hbm5vdGF0aW9ucy03LjEyLjEudGd6IzA1ZDQ2ZjBhYjRkMTMzOWFjNTlhZGYy MGExNDYyYzkxYjM3YTFhNDIiCisgIGludGVncml0eSBzaGE1MTItUnFlYUhpd1p0cGhTSVVaNUk4 NVBFSDE5TE9TenhmdUVhem9ZNy9wV0FTQ0FJQnVBVFF6cFNWRCtlVDZNZWJlZVpUMkY0ZVNMMHU0 dnc2bjRObTBNamc9PQogICBkZXBlbmRlbmNpZXM6CisgICAgIkBiYWJlbC9oZWxwZXItYW5ub3Rh dGUtYXMtcHVyZSIgIl43LjEwLjQiCiAgICAgIkBiYWJlbC9oZWxwZXItcGx1Z2luLXV0aWxzIiAi XjcuMTAuNCIKLSAgICAiQGJhYmVsL3BsdWdpbi1zeW50YXgtanN4IiAiXjcuMTAuNCIKIAotIkBi YWJlbC9wbHVnaW4tdHJhbnNmb3JtLXJlYWN0LWpzeEBeNy4xMC40IjoKLSAgdmVyc2lvbiAiNy4x MC40IgotICByZXNvbHZlZCAiaHR0cHM6Ly9yZWdpc3RyeS55YXJucGtnLmNvbS9AYmFiZWwvcGx1 Z2luLXRyYW5zZm9ybS1yZWFjdC1qc3gvLS9wbHVnaW4tdHJhbnNmb3JtLXJlYWN0LWpzeC03LjEw LjQudGd6IzY3M2M5ZjkxMzk0ODc2NGE0NDIxNjgzYjJiZWYyOTM2OTY4ZmRkZjIiCi0gIGludGVn cml0eSBzaGE1MTItTCtNZlJoV2pYMGVJN0pzMDkzTU02TWFjS1U0TTZkbkNSYS9RUER3WU14amxq elNDenpsekt6ajlQazRQM090clBjeHIyTjN6blI0MTlucjNYdys2NUE9PQorIkBiYWJlbC9wbHVn aW4tdHJhbnNmb3JtLXJlZ2VuZXJhdG9yQF43LjEyLjEiOgorICB2ZXJzaW9uICI3LjEyLjEiCisg IHJlc29sdmVkICJodHRwczovL3JlZ2lzdHJ5Lnlhcm5wa2cuY29tL0BiYWJlbC9wbHVnaW4tdHJh bnNmb3JtLXJlZ2VuZXJhdG9yLy0vcGx1Z2luLXRyYW5zZm9ybS1yZWdlbmVyYXRvci03LjEyLjEu dGd6IzVmMGEyOGQ4NDJmNjQ2MjI4MWYwNmE5NjRlODhiYThkN2FiNDk3NTMiCisgIGludGVncml0 eSBzaGE1MTItZ1lySHFzNWl0dzZpNFBmbEZYM09kQlBNUWRQYkY0YmoyUkVJVXhsTVJVRmswL1pP QUlwREZ1Vml1eFBqVUw3WUM4VVBuZitYRzcvdXRKdnFYZFBLbmc9PQogICBkZXBlbmRlbmNpZXM6 Ci0gICAgIkBiYWJlbC9oZWxwZXItYnVpbGRlci1yZWFjdC1qc3giICJeNy4xMC40IgotICAgICJA YmFiZWwvaGVscGVyLWJ1aWxkZXItcmVhY3QtanN4LWV4cGVyaW1lbnRhbCIgIl43LjEwLjQiCi0g ICAgIkBiYWJlbC9oZWxwZXItcGx1Z2luLXV0aWxzIiAiXjcuMTAuNCIKLSAgICAiQGJhYmVsL3Bs dWdpbi1zeW50YXgtanN4IiAiXjcuMTAuNCIKKyAgICByZWdlbmVyYXRvci10cmFuc2Zvcm0gIl4w LjE0LjIiCiAKLSJAYmFiZWwvcGx1Z2luLXRyYW5zZm9ybS1yZWFjdC1wdXJlLWFubm90YXRpb25z QF43LjEwLjQiOgotICB2ZXJzaW9uICI3LjEwLjQiCi0gIHJlc29sdmVkICJodHRwczovL3JlZ2lz dHJ5Lnlhcm5wa2cuY29tL0BiYWJlbC9wbHVnaW4tdHJhbnNmb3JtLXJlYWN0LXB1cmUtYW5ub3Rh dGlvbnMvLS9wbHVnaW4tdHJhbnNmb3JtLXJlYWN0LXB1cmUtYW5ub3RhdGlvbnMtNy4xMC40LnRn eiMzZWVmYmI3M2RiOTRhZmJjMDc1ZjA5NzUyM2U0NDUzNTRhMWM2NTAxIgotICBpbnRlZ3JpdHkg c2hhNTEyLStualprcWNPdVM4UmFQYWtyblI5S3Z4am9HMUFTSldwb0l2L2RveVduZ0lkODhKb0Zs UGxJU2VuR1hqclZhY1pVSUFMR1VyNmVvZFJzMXZtUG5GMjNBPT0KKyJAYmFiZWwvcGx1Z2luLXRy YW5zZm9ybS1yZXNlcnZlZC13b3Jkc0BeNy4xMi4xIjoKKyAgdmVyc2lvbiAiNy4xMi4xIgorICBy ZXNvbHZlZCAiaHR0cHM6Ly9yZWdpc3RyeS55YXJucGtnLmNvbS9AYmFiZWwvcGx1Z2luLXRyYW5z Zm9ybS1yZXNlcnZlZC13b3Jkcy8tL3BsdWdpbi10cmFuc2Zvcm0tcmVzZXJ2ZWQtd29yZHMtNy4x Mi4xLnRneiM2ZmRmYzhjYzdlZGNjNDJiMzZhN2MxMjE4OGM2Nzg3Yzg3M2FkY2Q4IgorICBpbnRl Z3JpdHkgc2hhNTEyLXBPblVmaHlQS3ZacFZ5QkhoU0JvWDh2ZkEwOWI3cjAwUG1tMXNIKzI5YWUy aE1US1ZtU3A0WnRzcjhLQktqTGp4MTdIMGVKcWFSQzNiUjJpVGhNNTRBPT0KICAgZGVwZW5kZW5j aWVzOgotICAgICJAYmFiZWwvaGVscGVyLWFubm90YXRlLWFzLXB1cmUiICJeNy4xMC40IgogICAg ICJAYmFiZWwvaGVscGVyLXBsdWdpbi11dGlscyIgIl43LjEwLjQiCiAKLSJAYmFiZWwvcGx1Z2lu LXRyYW5zZm9ybS1yZWdlbmVyYXRvckBeNy40LjUiOgotICB2ZXJzaW9uICI3LjEwLjQiCi0gIHJl c29sdmVkICJodHRwczovL3JlZ2lzdHJ5Lnlhcm5wa2cuY29tL0BiYWJlbC9wbHVnaW4tdHJhbnNm b3JtLXJlZ2VuZXJhdG9yLy0vcGx1Z2luLXRyYW5zZm9ybS1yZWdlbmVyYXRvci03LjEwLjQudGd6 IzIwMTVlNTlkODM5MDc0ZTc2ODM4ZGUyMTU5ZGI0MjE5NjZmZDhiNjMiCi0gIGludGVncml0eSBz aGE1MTItM3RoQUh3dG9yMzlBN0MwNFh1Y2JNZzE3UmNaM1FwcGZ4cjIyd1l6Wk5jVklrUEhmcE05 SjBTTzh6dUNWNlNaYTI2NWt4QkpTcmZLVHZEQ1lxQkZYR3c9PQorIkBiYWJlbC9wbHVnaW4tdHJh bnNmb3JtLXNob3J0aGFuZC1wcm9wZXJ0aWVzQF43LjEyLjEiOgorICB2ZXJzaW9uICI3LjEyLjEi CisgIHJlc29sdmVkICJodHRwczovL3JlZ2lzdHJ5Lnlhcm5wa2cuY29tL0BiYWJlbC9wbHVnaW4t dHJhbnNmb3JtLXNob3J0aGFuZC1wcm9wZXJ0aWVzLy0vcGx1Z2luLXRyYW5zZm9ybS1zaG9ydGhh bmQtcHJvcGVydGllcy03LjEyLjEudGd6IzBiZjljYWM1NTUwZmNlMGNmZGYwNDM0MjBmNjYxZDY0 NWZkYzc1ZTMiCisgIGludGVncml0eSBzaGE1MTItR0ZaUzNjL01oWDFPdXNxQjFNWjFjdDJ4UnpY NXBwUWgySlUxaDJQbmZrODhIdEZUTStUV1FxSk5md2tteHRQUXRiL3MxdGs4N29FTmZYSmx4N3JT RHc9PQogICBkZXBlbmRlbmNpZXM6Ci0gICAgcmVnZW5lcmF0b3ItdHJhbnNmb3JtICJeMC4xNC4y IgorICAgICJAYmFiZWwvaGVscGVyLXBsdWdpbi11dGlscyIgIl43LjEwLjQiCiAKLSJAYmFiZWwv cGx1Z2luLXRyYW5zZm9ybS1yZXNlcnZlZC13b3Jkc0BeNy4yLjAiOgotICB2ZXJzaW9uICI3LjEw LjQiCi0gIHJlc29sdmVkICJodHRwczovL3JlZ2lzdHJ5Lnlhcm5wa2cuY29tL0BiYWJlbC9wbHVn aW4tdHJhbnNmb3JtLXJlc2VydmVkLXdvcmRzLy0vcGx1Z2luLXRyYW5zZm9ybS1yZXNlcnZlZC13 b3Jkcy03LjEwLjQudGd6IzhmMjY4MmJjZGNlZjllZDMyN2UxYjA4NjE1ODVkNzAxM2Y4YTU0ZGQi Ci0gIGludGVncml0eSBzaGE1MTItaEdzdzFPNlJldzFma0ZiREltWklFcUE4R29pZHdUQWlsd0N5 V3FMQk05ZitlL3Uvc1FNUXU3dVg2ZHlva2ZPYXlSdXVWZktPVzRPN0h2YUJXTStKbFE9PQorIkBi YWJlbC9wbHVnaW4tdHJhbnNmb3JtLXNwcmVhZEBeNy4xMi4xIjoKKyAgdmVyc2lvbiAiNy4xMi4x IgorICByZXNvbHZlZCAiaHR0cHM6Ly9yZWdpc3RyeS55YXJucGtnLmNvbS9AYmFiZWwvcGx1Z2lu LXRyYW5zZm9ybS1zcHJlYWQvLS9wbHVnaW4tdHJhbnNmb3JtLXNwcmVhZC03LjEyLjEudGd6IzUy N2Y5ZjMxMWJlNGVjN2ZkYzJiNzliYjg5ZjdiZjg4NGIzZTFlMWUiCisgIGludGVncml0eSBzaGE1 MTItdnVMcDhDUDBCRTE4elZZanNFQlo1eG9DZWNNSzZMQk1NeFl6Sm5oMDFyeFFSdmhOaEgxY3NN TW1CZk5vNXRHcEdPK05oZFNOVzJtekl2QnUzSzFmbmc9PQogICBkZXBlbmRlbmNpZXM6CiAgICAg IkBiYWJlbC9oZWxwZXItcGx1Z2luLXV0aWxzIiAiXjcuMTAuNCIKKyAgICAiQGJhYmVsL2hlbHBl ci1za2lwLXRyYW5zcGFyZW50LWV4cHJlc3Npb24td3JhcHBlcnMiICJeNy4xMi4xIgogCi0iQGJh YmVsL3BsdWdpbi10cmFuc2Zvcm0tc2hvcnRoYW5kLXByb3BlcnRpZXNAXjcuMi4wIjoKLSAgdmVy c2lvbiAiNy4xMC40IgotICByZXNvbHZlZCAiaHR0cHM6Ly9yZWdpc3RyeS55YXJucGtnLmNvbS9A YmFiZWwvcGx1Z2luLXRyYW5zZm9ybS1zaG9ydGhhbmQtcHJvcGVydGllcy8tL3BsdWdpbi10cmFu c2Zvcm0tc2hvcnRoYW5kLXByb3BlcnRpZXMtNy4xMC40LnRneiM5ZmQyNWVjNWNkZDU1NWJiN2Y0 NzNlNWU2ZWUxYzk3MWVlZGU0ZGQ2IgotICBpbnRlZ3JpdHkgc2hhNTEyLUFDMksvdDdvMDdLZVRJ eE1vSG5leVg5MHYzemttNWNqSEpFb2tyUEVBR0V5M1VDcDhzTEtmbmZPSUdkWjE5NGZ5TjR3Zlgv elpVV1Q5dHJKWjBxYytRPT0KKyJAYmFiZWwvcGx1Z2luLXRyYW5zZm9ybS1zdGlja3ktcmVnZXhA XjcuMTIuNyI6CisgIHZlcnNpb24gIjcuMTIuNyIKKyAgcmVzb2x2ZWQgImh0dHBzOi8vcmVnaXN0 cnkueWFybnBrZy5jb20vQGJhYmVsL3BsdWdpbi10cmFuc2Zvcm0tc3RpY2t5LXJlZ2V4Ly0vcGx1 Z2luLXRyYW5zZm9ybS1zdGlja3ktcmVnZXgtNy4xMi43LnRneiM1NjAyMjQ2MTNhYjIzOTg3NDUz OTQ4ZWQyMWQwYjBiMTkzZmE3ZmFkIgorICBpbnRlZ3JpdHkgc2hhNTEyLVZFaXFaTDVOL1F2RGJk amZZUUJocnVOMEhZalNQakM0WGtlcVc0bnkvak50SDlnY2JnYXFCSVhZRVpDTm5FU01BR3MwL0sv UjdvRkdNaE95dS9lSXhnPT0KICAgZGVwZW5kZW5jaWVzOgogICAgICJAYmFiZWwvaGVscGVyLXBs dWdpbi11dGlscyIgIl43LjEwLjQiCiAKLSJAYmFiZWwvcGx1Z2luLXRyYW5zZm9ybS1zcHJlYWRA XjcuNi4yIjoKLSAgdmVyc2lvbiAiNy4xMS4wIgotICByZXNvbHZlZCAiaHR0cHM6Ly9yZWdpc3Ry eS55YXJucGtnLmNvbS9AYmFiZWwvcGx1Z2luLXRyYW5zZm9ybS1zcHJlYWQvLS9wbHVnaW4tdHJh bnNmb3JtLXNwcmVhZC03LjExLjAudGd6I2ZhODRkMzAwZjVlNGY1Nzc1MmZlNDFhNmQxYjNjNTU0 ZjEzZjE3Y2MiCi0gIGludGVncml0eSBzaGE1MTItVXdRWUdPcUlkUUplNGFXTnlTN25vcUFuTjJW YmFjelBMaUV0bG4relBvd1JObEQrNzl3M29pMlRXZlllMGVaZ2QrZ2paQ2JzeWRON2x6V3lzRHQr Z3c9PQorIkBiYWJlbC9wbHVnaW4tdHJhbnNmb3JtLXRlbXBsYXRlLWxpdGVyYWxzQF43LjEyLjEi OgorICB2ZXJzaW9uICI3LjEyLjEiCisgIHJlc29sdmVkICJodHRwczovL3JlZ2lzdHJ5Lnlhcm5w a2cuY29tL0BiYWJlbC9wbHVnaW4tdHJhbnNmb3JtLXRlbXBsYXRlLWxpdGVyYWxzLy0vcGx1Z2lu LXRyYW5zZm9ybS10ZW1wbGF0ZS1saXRlcmFscy03LjEyLjEudGd6I2I0M2VjZTZlZDlhNzljMGM3 MTExOWY1NzZkMjk5ZWYwOWQ5NDI4NDMiCisgIGludGVncml0eSBzaGE1MTItYjRaeDNLSGkrdGFY QjFkVlJCaFZKdEVQaTloMVRIQ2VLbWFlMnFQMFlkVUhJRmhWanRwcXFOZnhlVkFhMXhlSFZoQXk0 U2JIeEV3eDVjbHRBdTVhcHc9PQogICBkZXBlbmRlbmNpZXM6CiAgICAgIkBiYWJlbC9oZWxwZXIt cGx1Z2luLXV0aWxzIiAiXjcuMTAuNCIKLSAgICAiQGJhYmVsL2hlbHBlci1za2lwLXRyYW5zcGFy ZW50LWV4cHJlc3Npb24td3JhcHBlcnMiICJeNy4xMS4wIgogCi0iQGJhYmVsL3BsdWdpbi10cmFu c2Zvcm0tc3RpY2t5LXJlZ2V4QF43LjIuMCI6Ci0gIHZlcnNpb24gIjcuMTAuNCIKLSAgcmVzb2x2 ZWQgImh0dHBzOi8vcmVnaXN0cnkueWFybnBrZy5jb20vQGJhYmVsL3BsdWdpbi10cmFuc2Zvcm0t c3RpY2t5LXJlZ2V4Ly0vcGx1Z2luLXRyYW5zZm9ybS1zdGlja3ktcmVnZXgtNy4xMC40LnRneiM4 ZjM4ODllZTg2NTc1ODExMzBhMjlkOWNjOTFkN2M3M2I3YzRhMjhkIgotICBpbnRlZ3JpdHkgc2hh NTEyLURkeTNRWmZJYkVWMFZZY1Z0RkRDamVFNHh3VlRKV1RtVXRvckFKa242dS85MlovbldKTlYr bUlMeXFIS3JVeFhZS0EyRW9DaWxnb1BlUHltS0w0RHZRPT0KKyJAYmFiZWwvcGx1Z2luLXRyYW5z Zm9ybS10eXBlb2Ytc3ltYm9sQF43LjEyLjEwIjoKKyAgdmVyc2lvbiAiNy4xMi4xMCIKKyAgcmVz b2x2ZWQgImh0dHBzOi8vcmVnaXN0cnkueWFybnBrZy5jb20vQGJhYmVsL3BsdWdpbi10cmFuc2Zv cm0tdHlwZW9mLXN5bWJvbC8tL3BsdWdpbi10cmFuc2Zvcm0tdHlwZW9mLXN5bWJvbC03LjEyLjEw LnRneiNkZTAxYzRjOGY5NjU4MGJkMDBmMTgzMDcyYjBkMGVjZGNmMGRlYzRiIgorICBpbnRlZ3Jp dHkgc2hhNTEyLUpRNkg4Um5zb2doLy9panhzcENqYzIxWVBkM1ZMVm9ZdEF3djN6UW1xQXQ4WUdZ VXRkbzV1c05oZGw0YjkvVmlyMmtQRlpsNm4xaDBQZlV6NGhKaGFBPT0KICAgZGVwZW5kZW5jaWVz OgogICAgICJAYmFiZWwvaGVscGVyLXBsdWdpbi11dGlscyIgIl43LjEwLjQiCi0gICAgIkBiYWJl bC9oZWxwZXItcmVnZXgiICJeNy4xMC40IgogCi0iQGJhYmVsL3BsdWdpbi10cmFuc2Zvcm0tdGVt cGxhdGUtbGl0ZXJhbHNAXjcuNC40IjoKLSAgdmVyc2lvbiAiNy4xMC41IgotICByZXNvbHZlZCAi aHR0cHM6Ly9yZWdpc3RyeS55YXJucGtnLmNvbS9AYmFiZWwvcGx1Z2luLXRyYW5zZm9ybS10ZW1w bGF0ZS1saXRlcmFscy8tL3BsdWdpbi10cmFuc2Zvcm0tdGVtcGxhdGUtbGl0ZXJhbHMtNy4xMC41 LnRneiM3OGJjNWQ2MjZhNjY0MmRiMzMxMmQ5ZDBmMDAxZjVlNzYzOWZkZThjIgotICBpbnRlZ3Jp dHkgc2hhNTEyLVYvbG5QR0liK0tUMTJPUWlrRHZnU3Vlc1JYMTRjazVGZkpYdDYrdFhoZGtKK1Zz ZDBsRENWdEY2amNCNHJOQ2xZRnphQjJqdXNaK2xOSVNEazJtTU13PT0KKyJAYmFiZWwvcGx1Z2lu LXRyYW5zZm9ybS11bmljb2RlLWVzY2FwZXNAXjcuMTIuMSI6CisgIHZlcnNpb24gIjcuMTIuMSIK KyAgcmVzb2x2ZWQgImh0dHBzOi8vcmVnaXN0cnkueWFybnBrZy5jb20vQGJhYmVsL3BsdWdpbi10 cmFuc2Zvcm0tdW5pY29kZS1lc2NhcGVzLy0vcGx1Z2luLXRyYW5zZm9ybS11bmljb2RlLWVzY2Fw ZXMtNy4xMi4xLnRneiM1MjMyYjlmODFjY2IwNzA3MGI3YzNjMzZjNjdhMWI3OGYxODQ1NzA5Igor ICBpbnRlZ3JpdHkgc2hhNTEyLUk4Z05ISkxJYzdHZEFwbTd3a1ZuU3RXc3NQTmJTUk1QdGdIZG1I M3NSTTF6b3B6MDlVV1BTNHg1VjRuMXl6L01JV1RWbko5c3A2SWt1WGRXTTR3KzJRPT0KICAgZGVw ZW5kZW5jaWVzOgotICAgICJAYmFiZWwvaGVscGVyLWFubm90YXRlLWFzLXB1cmUiICJeNy4xMC40 IgogICAgICJAYmFiZWwvaGVscGVyLXBsdWdpbi11dGlscyIgIl43LjEwLjQiCiAKLSJAYmFiZWwv cGx1Z2luLXRyYW5zZm9ybS10eXBlb2Ytc3ltYm9sQF43LjIuMCI6Ci0gIHZlcnNpb24gIjcuMTAu NCIKLSAgcmVzb2x2ZWQgImh0dHBzOi8vcmVnaXN0cnkueWFybnBrZy5jb20vQGJhYmVsL3BsdWdp bi10cmFuc2Zvcm0tdHlwZW9mLXN5bWJvbC8tL3BsdWdpbi10cmFuc2Zvcm0tdHlwZW9mLXN5bWJv bC03LjEwLjQudGd6Izk1MDlmMWE3ZWVjMzFjNGVkYmZmZTEzN2MxNmNjMzNmZjBiYzViZmMiCi0g IGludGVncml0eSBzaGE1MTItUXFOZ1l3dXVXMHkwSCtrVUUvR1dTUjQ1dC9jY1JoZTE0RnMvNFpS b3VOTlFzeWQ0bzNQRzRPdEhpSXJlcGJNMldLVUJEQVhLQ0FLL0xrNFZoelRhR0E9PQorIkBiYWJl bC9wbHVnaW4tdHJhbnNmb3JtLXVuaWNvZGUtcmVnZXhAXjcuMTIuMSI6CisgIHZlcnNpb24gIjcu MTIuMSIKKyAgcmVzb2x2ZWQgImh0dHBzOi8vcmVnaXN0cnkueWFybnBrZy5jb20vQGJhYmVsL3Bs dWdpbi10cmFuc2Zvcm0tdW5pY29kZS1yZWdleC8tL3BsdWdpbi10cmFuc2Zvcm0tdW5pY29kZS1y ZWdleC03LjEyLjEudGd6I2NjOTY2MWY2MTM5MGRiNWM2NWUzZmViYWNjZWZkNWM2YWMzZmFlY2Ii CisgIGludGVncml0eSBzaGE1MTItU3FINENsTm5naC96R3dIWk9PUU1URCtlOEZHV2V4SUxWK2VQ TXlpREp0dEFXUmg1ZGhETDhyY2w1bFNnVTNIdWlxNlpuNnBXVE12ZFBBYjIxRHdkeWc9PQogICBk ZXBlbmRlbmNpZXM6CisgICAgIkBiYWJlbC9oZWxwZXItY3JlYXRlLXJlZ2V4cC1mZWF0dXJlcy1w bHVnaW4iICJeNy4xMi4xIgogICAgICJAYmFiZWwvaGVscGVyLXBsdWdpbi11dGlscyIgIl43LjEw LjQiCiAKLSJAYmFiZWwvcGx1Z2luLXRyYW5zZm9ybS11bmljb2RlLXJlZ2V4QF43LjYuMiI6Ci0g IHZlcnNpb24gIjcuMTAuNCIKLSAgcmVzb2x2ZWQgImh0dHBzOi8vcmVnaXN0cnkueWFybnBrZy5j b20vQGJhYmVsL3BsdWdpbi10cmFuc2Zvcm0tdW5pY29kZS1yZWdleC8tL3BsdWdpbi10cmFuc2Zv cm0tdW5pY29kZS1yZWdleC03LjEwLjQudGd6I2U1NmQ3MWY5MjgyZmFjNmRiMDljODI3NDIwNTU1 NzZkNWU2ZDgwYTgiCi0gIGludGVncml0eSBzaGE1MTItd05mc2M0czhOMnFuSXdwTy9XUDJaaVN5 amZwVGFtVDJDOVY5RkRIL0xqdWI5enc2UDNTamtYY0ZtYzBSUVV0OTZrMmZtSXZ0bGEyTU1qZ1R3 SUFDK0E9PQorIkBiYWJlbC9wcmVzZXQtZW52QF43LjEwLjIiOgorICB2ZXJzaW9uICI3LjEyLjEx IgorICByZXNvbHZlZCAiaHR0cHM6Ly9yZWdpc3RyeS55YXJucGtnLmNvbS9AYmFiZWwvcHJlc2V0 LWVudi8tL3ByZXNldC1lbnYtNy4xMi4xMS50Z3ojNTVkNWY3OTgxNDg3MzY1YzkzZGJiYzg0NTA3 YjFjNzIxNWU4NTdmOSIKKyAgaW50ZWdyaXR5IHNoYTUxMi1qOFRiK0tLSVhLWWxEQlF5SU95NEJM eHp2MU5VT3dsSGZaNzRydlcrWjBHcDQvY0kySU1EUEJXQWdXY2VHY0U3YWVwOW9MLzBLOW1semxN R3hBOHlOdz09CiAgIGRlcGVuZGVuY2llczoKLSAgICAiQGJhYmVsL2hlbHBlci1jcmVhdGUtcmVn ZXhwLWZlYXR1cmVzLXBsdWdpbiIgIl43LjEwLjQiCisgICAgIkBiYWJlbC9jb21wYXQtZGF0YSIg Il43LjEyLjciCisgICAgIkBiYWJlbC9oZWxwZXItY29tcGlsYXRpb24tdGFyZ2V0cyIgIl43LjEy LjUiCisgICAgIkBiYWJlbC9oZWxwZXItbW9kdWxlLWltcG9ydHMiICJeNy4xMi41IgogICAgICJA YmFiZWwvaGVscGVyLXBsdWdpbi11dGlscyIgIl43LjEwLjQiCisgICAgIkBiYWJlbC9oZWxwZXIt dmFsaWRhdG9yLW9wdGlvbiIgIl43LjEyLjExIgorICAgICJAYmFiZWwvcGx1Z2luLXByb3Bvc2Fs LWFzeW5jLWdlbmVyYXRvci1mdW5jdGlvbnMiICJeNy4xMi4xIgorICAgICJAYmFiZWwvcGx1Z2lu LXByb3Bvc2FsLWNsYXNzLXByb3BlcnRpZXMiICJeNy4xMi4xIgorICAgICJAYmFiZWwvcGx1Z2lu LXByb3Bvc2FsLWR5bmFtaWMtaW1wb3J0IiAiXjcuMTIuMSIKKyAgICAiQGJhYmVsL3BsdWdpbi1w cm9wb3NhbC1leHBvcnQtbmFtZXNwYWNlLWZyb20iICJeNy4xMi4xIgorICAgICJAYmFiZWwvcGx1 Z2luLXByb3Bvc2FsLWpzb24tc3RyaW5ncyIgIl43LjEyLjEiCisgICAgIkBiYWJlbC9wbHVnaW4t cHJvcG9zYWwtbG9naWNhbC1hc3NpZ25tZW50LW9wZXJhdG9ycyIgIl43LjEyLjEiCisgICAgIkBi YWJlbC9wbHVnaW4tcHJvcG9zYWwtbnVsbGlzaC1jb2FsZXNjaW5nLW9wZXJhdG9yIiAiXjcuMTIu MSIKKyAgICAiQGJhYmVsL3BsdWdpbi1wcm9wb3NhbC1udW1lcmljLXNlcGFyYXRvciIgIl43LjEy LjciCisgICAgIkBiYWJlbC9wbHVnaW4tcHJvcG9zYWwtb2JqZWN0LXJlc3Qtc3ByZWFkIiAiXjcu MTIuMSIKKyAgICAiQGJhYmVsL3BsdWdpbi1wcm9wb3NhbC1vcHRpb25hbC1jYXRjaC1iaW5kaW5n IiAiXjcuMTIuMSIKKyAgICAiQGJhYmVsL3BsdWdpbi1wcm9wb3NhbC1vcHRpb25hbC1jaGFpbmlu ZyIgIl43LjEyLjciCisgICAgIkBiYWJlbC9wbHVnaW4tcHJvcG9zYWwtcHJpdmF0ZS1tZXRob2Rz IiAiXjcuMTIuMSIKKyAgICAiQGJhYmVsL3BsdWdpbi1wcm9wb3NhbC11bmljb2RlLXByb3BlcnR5 LXJlZ2V4IiAiXjcuMTIuMSIKKyAgICAiQGJhYmVsL3BsdWdpbi1zeW50YXgtYXN5bmMtZ2VuZXJh dG9ycyIgIl43LjguMCIKKyAgICAiQGJhYmVsL3BsdWdpbi1zeW50YXgtY2xhc3MtcHJvcGVydGll cyIgIl43LjEyLjEiCisgICAgIkBiYWJlbC9wbHVnaW4tc3ludGF4LWR5bmFtaWMtaW1wb3J0IiAi XjcuOC4wIgorICAgICJAYmFiZWwvcGx1Z2luLXN5bnRheC1leHBvcnQtbmFtZXNwYWNlLWZyb20i ICJeNy44LjMiCisgICAgIkBiYWJlbC9wbHVnaW4tc3ludGF4LWpzb24tc3RyaW5ncyIgIl43Ljgu MCIKKyAgICAiQGJhYmVsL3BsdWdpbi1zeW50YXgtbG9naWNhbC1hc3NpZ25tZW50LW9wZXJhdG9y cyIgIl43LjEwLjQiCisgICAgIkBiYWJlbC9wbHVnaW4tc3ludGF4LW51bGxpc2gtY29hbGVzY2lu Zy1vcGVyYXRvciIgIl43LjguMCIKKyAgICAiQGJhYmVsL3BsdWdpbi1zeW50YXgtbnVtZXJpYy1z ZXBhcmF0b3IiICJeNy4xMC40IgorICAgICJAYmFiZWwvcGx1Z2luLXN5bnRheC1vYmplY3QtcmVz dC1zcHJlYWQiICJeNy44LjAiCisgICAgIkBiYWJlbC9wbHVnaW4tc3ludGF4LW9wdGlvbmFsLWNh dGNoLWJpbmRpbmciICJeNy44LjAiCisgICAgIkBiYWJlbC9wbHVnaW4tc3ludGF4LW9wdGlvbmFs LWNoYWluaW5nIiAiXjcuOC4wIgorICAgICJAYmFiZWwvcGx1Z2luLXN5bnRheC10b3AtbGV2ZWwt YXdhaXQiICJeNy4xMi4xIgorICAgICJAYmFiZWwvcGx1Z2luLXRyYW5zZm9ybS1hcnJvdy1mdW5j dGlvbnMiICJeNy4xMi4xIgorICAgICJAYmFiZWwvcGx1Z2luLXRyYW5zZm9ybS1hc3luYy10by1n ZW5lcmF0b3IiICJeNy4xMi4xIgorICAgICJAYmFiZWwvcGx1Z2luLXRyYW5zZm9ybS1ibG9jay1z Y29wZWQtZnVuY3Rpb25zIiAiXjcuMTIuMSIKKyAgICAiQGJhYmVsL3BsdWdpbi10cmFuc2Zvcm0t YmxvY2stc2NvcGluZyIgIl43LjEyLjExIgorICAgICJAYmFiZWwvcGx1Z2luLXRyYW5zZm9ybS1j bGFzc2VzIiAiXjcuMTIuMSIKKyAgICAiQGJhYmVsL3BsdWdpbi10cmFuc2Zvcm0tY29tcHV0ZWQt cHJvcGVydGllcyIgIl43LjEyLjEiCisgICAgIkBiYWJlbC9wbHVnaW4tdHJhbnNmb3JtLWRlc3Ry dWN0dXJpbmciICJeNy4xMi4xIgorICAgICJAYmFiZWwvcGx1Z2luLXRyYW5zZm9ybS1kb3RhbGwt cmVnZXgiICJeNy4xMi4xIgorICAgICJAYmFiZWwvcGx1Z2luLXRyYW5zZm9ybS1kdXBsaWNhdGUt a2V5cyIgIl43LjEyLjEiCisgICAgIkBiYWJlbC9wbHVnaW4tdHJhbnNmb3JtLWV4cG9uZW50aWF0 aW9uLW9wZXJhdG9yIiAiXjcuMTIuMSIKKyAgICAiQGJhYmVsL3BsdWdpbi10cmFuc2Zvcm0tZm9y LW9mIiAiXjcuMTIuMSIKKyAgICAiQGJhYmVsL3BsdWdpbi10cmFuc2Zvcm0tZnVuY3Rpb24tbmFt ZSIgIl43LjEyLjEiCisgICAgIkBiYWJlbC9wbHVnaW4tdHJhbnNmb3JtLWxpdGVyYWxzIiAiXjcu MTIuMSIKKyAgICAiQGJhYmVsL3BsdWdpbi10cmFuc2Zvcm0tbWVtYmVyLWV4cHJlc3Npb24tbGl0 ZXJhbHMiICJeNy4xMi4xIgorICAgICJAYmFiZWwvcGx1Z2luLXRyYW5zZm9ybS1tb2R1bGVzLWFt ZCIgIl43LjEyLjEiCisgICAgIkBiYWJlbC9wbHVnaW4tdHJhbnNmb3JtLW1vZHVsZXMtY29tbW9u anMiICJeNy4xMi4xIgorICAgICJAYmFiZWwvcGx1Z2luLXRyYW5zZm9ybS1tb2R1bGVzLXN5c3Rl bWpzIiAiXjcuMTIuMSIKKyAgICAiQGJhYmVsL3BsdWdpbi10cmFuc2Zvcm0tbW9kdWxlcy11bWQi ICJeNy4xMi4xIgorICAgICJAYmFiZWwvcGx1Z2luLXRyYW5zZm9ybS1uYW1lZC1jYXB0dXJpbmct Z3JvdXBzLXJlZ2V4IiAiXjcuMTIuMSIKKyAgICAiQGJhYmVsL3BsdWdpbi10cmFuc2Zvcm0tbmV3 LXRhcmdldCIgIl43LjEyLjEiCisgICAgIkBiYWJlbC9wbHVnaW4tdHJhbnNmb3JtLW9iamVjdC1z dXBlciIgIl43LjEyLjEiCisgICAgIkBiYWJlbC9wbHVnaW4tdHJhbnNmb3JtLXBhcmFtZXRlcnMi ICJeNy4xMi4xIgorICAgICJAYmFiZWwvcGx1Z2luLXRyYW5zZm9ybS1wcm9wZXJ0eS1saXRlcmFs cyIgIl43LjEyLjEiCisgICAgIkBiYWJlbC9wbHVnaW4tdHJhbnNmb3JtLXJlZ2VuZXJhdG9yIiAi XjcuMTIuMSIKKyAgICAiQGJhYmVsL3BsdWdpbi10cmFuc2Zvcm0tcmVzZXJ2ZWQtd29yZHMiICJe Ny4xMi4xIgorICAgICJAYmFiZWwvcGx1Z2luLXRyYW5zZm9ybS1zaG9ydGhhbmQtcHJvcGVydGll cyIgIl43LjEyLjEiCisgICAgIkBiYWJlbC9wbHVnaW4tdHJhbnNmb3JtLXNwcmVhZCIgIl43LjEy LjEiCisgICAgIkBiYWJlbC9wbHVnaW4tdHJhbnNmb3JtLXN0aWNreS1yZWdleCIgIl43LjEyLjci CisgICAgIkBiYWJlbC9wbHVnaW4tdHJhbnNmb3JtLXRlbXBsYXRlLWxpdGVyYWxzIiAiXjcuMTIu MSIKKyAgICAiQGJhYmVsL3BsdWdpbi10cmFuc2Zvcm0tdHlwZW9mLXN5bWJvbCIgIl43LjEyLjEw IgorICAgICJAYmFiZWwvcGx1Z2luLXRyYW5zZm9ybS11bmljb2RlLWVzY2FwZXMiICJeNy4xMi4x IgorICAgICJAYmFiZWwvcGx1Z2luLXRyYW5zZm9ybS11bmljb2RlLXJlZ2V4IiAiXjcuMTIuMSIK KyAgICAiQGJhYmVsL3ByZXNldC1tb2R1bGVzIiAiXjAuMS4zIgorICAgICJAYmFiZWwvdHlwZXMi ICJeNy4xMi4xMSIKKyAgICBjb3JlLWpzLWNvbXBhdCAiXjMuOC4wIgorICAgIHNlbXZlciAiXjUu NS4wIgogCi0iQGJhYmVsL3ByZXNldC1lbnZAfjcuNi4wIjoKLSAgdmVyc2lvbiAiNy42LjMiCi0g IHJlc29sdmVkICJodHRwczovL3JlZ2lzdHJ5Lnlhcm5wa2cuY29tL0BiYWJlbC9wcmVzZXQtZW52 Ly0vcHJlc2V0LWVudi03LjYuMy50Z3ojOWUxYmYwNWEyZTJkNjg3MDM2ZDI0YzQwZTQ2MzlkYzQ2 Y2VmMjI3MSIKLSAgaW50ZWdyaXR5IHNoYTUxMi1DV1FrbjdFVm53emxPZFI1Tk9tMitwZmdTTkVa bXZHak9obENIQkRxMEo4L0VTdHIrRytGdlBFaXo5QjU2ZFI2TW9pVUZqWGhmRTRoakxvQUtLSnRJ UT09CisiQGJhYmVsL3ByZXNldC1tb2R1bGVzQF4wLjEuMyI6CisgIHZlcnNpb24gIjAuMS40Igor ICByZXNvbHZlZCAiaHR0cHM6Ly9yZWdpc3RyeS55YXJucGtnLmNvbS9AYmFiZWwvcHJlc2V0LW1v ZHVsZXMvLS9wcmVzZXQtbW9kdWxlcy0wLjEuNC50Z3ojMzYyZjJiNjhjNjYyODQyOTcwZmRiNWUy NTRmZmM4ZmMxYzJlNDE1ZSIKKyAgaW50ZWdyaXR5IHNoYTUxMi1KMzZOaHduZmR6cG1INDFNMURy bmtrZ0FxaFphcXIvTkJkUGZRNjc3bUx6bGFYbytvRGl2MWRleUNEdGdBaHo4cDMyOG90ZG9iMER1 Nyt4Z0hHWmJLZz09CiAgIGRlcGVuZGVuY2llczoKLSAgICAiQGJhYmVsL2hlbHBlci1tb2R1bGUt aW1wb3J0cyIgIl43LjAuMCIKICAgICAiQGJhYmVsL2hlbHBlci1wbHVnaW4tdXRpbHMiICJeNy4w LjAiCi0gICAgIkBiYWJlbC9wbHVnaW4tcHJvcG9zYWwtYXN5bmMtZ2VuZXJhdG9yLWZ1bmN0aW9u cyIgIl43LjIuMCIKLSAgICAiQGJhYmVsL3BsdWdpbi1wcm9wb3NhbC1keW5hbWljLWltcG9ydCIg Il43LjUuMCIKLSAgICAiQGJhYmVsL3BsdWdpbi1wcm9wb3NhbC1qc29uLXN0cmluZ3MiICJeNy4y LjAiCi0gICAgIkBiYWJlbC9wbHVnaW4tcHJvcG9zYWwtb2JqZWN0LXJlc3Qtc3ByZWFkIiAiXjcu Ni4yIgotICAgICJAYmFiZWwvcGx1Z2luLXByb3Bvc2FsLW9wdGlvbmFsLWNhdGNoLWJpbmRpbmci ICJeNy4yLjAiCi0gICAgIkBiYWJlbC9wbHVnaW4tcHJvcG9zYWwtdW5pY29kZS1wcm9wZXJ0eS1y ZWdleCIgIl43LjYuMiIKLSAgICAiQGJhYmVsL3BsdWdpbi1zeW50YXgtYXN5bmMtZ2VuZXJhdG9y cyIgIl43LjIuMCIKLSAgICAiQGJhYmVsL3BsdWdpbi1zeW50YXgtZHluYW1pYy1pbXBvcnQiICJe Ny4yLjAiCi0gICAgIkBiYWJlbC9wbHVnaW4tc3ludGF4LWpzb24tc3RyaW5ncyIgIl43LjIuMCIK LSAgICAiQGJhYmVsL3BsdWdpbi1zeW50YXgtb2JqZWN0LXJlc3Qtc3ByZWFkIiAiXjcuMi4wIgot ICAgICJAYmFiZWwvcGx1Z2luLXN5bnRheC1vcHRpb25hbC1jYXRjaC1iaW5kaW5nIiAiXjcuMi4w IgotICAgICJAYmFiZWwvcGx1Z2luLXRyYW5zZm9ybS1hcnJvdy1mdW5jdGlvbnMiICJeNy4yLjAi Ci0gICAgIkBiYWJlbC9wbHVnaW4tdHJhbnNmb3JtLWFzeW5jLXRvLWdlbmVyYXRvciIgIl43LjUu MCIKLSAgICAiQGJhYmVsL3BsdWdpbi10cmFuc2Zvcm0tYmxvY2stc2NvcGVkLWZ1bmN0aW9ucyIg Il43LjIuMCIKLSAgICAiQGJhYmVsL3BsdWdpbi10cmFuc2Zvcm0tYmxvY2stc2NvcGluZyIgIl43 LjYuMyIKLSAgICAiQGJhYmVsL3BsdWdpbi10cmFuc2Zvcm0tY2xhc3NlcyIgIl43LjUuNSIKLSAg ICAiQGJhYmVsL3BsdWdpbi10cmFuc2Zvcm0tY29tcHV0ZWQtcHJvcGVydGllcyIgIl43LjIuMCIK LSAgICAiQGJhYmVsL3BsdWdpbi10cmFuc2Zvcm0tZGVzdHJ1Y3R1cmluZyIgIl43LjYuMCIKLSAg ICAiQGJhYmVsL3BsdWdpbi10cmFuc2Zvcm0tZG90YWxsLXJlZ2V4IiAiXjcuNi4yIgotICAgICJA YmFiZWwvcGx1Z2luLXRyYW5zZm9ybS1kdXBsaWNhdGUta2V5cyIgIl43LjUuMCIKLSAgICAiQGJh YmVsL3BsdWdpbi10cmFuc2Zvcm0tZXhwb25lbnRpYXRpb24tb3BlcmF0b3IiICJeNy4yLjAiCi0g ICAgIkBiYWJlbC9wbHVnaW4tdHJhbnNmb3JtLWZvci1vZiIgIl43LjQuNCIKLSAgICAiQGJhYmVs L3BsdWdpbi10cmFuc2Zvcm0tZnVuY3Rpb24tbmFtZSIgIl43LjQuNCIKLSAgICAiQGJhYmVsL3Bs dWdpbi10cmFuc2Zvcm0tbGl0ZXJhbHMiICJeNy4yLjAiCi0gICAgIkBiYWJlbC9wbHVnaW4tdHJh bnNmb3JtLW1lbWJlci1leHByZXNzaW9uLWxpdGVyYWxzIiAiXjcuMi4wIgotICAgICJAYmFiZWwv cGx1Z2luLXRyYW5zZm9ybS1tb2R1bGVzLWFtZCIgIl43LjUuMCIKLSAgICAiQGJhYmVsL3BsdWdp bi10cmFuc2Zvcm0tbW9kdWxlcy1jb21tb25qcyIgIl43LjYuMCIKLSAgICAiQGJhYmVsL3BsdWdp bi10cmFuc2Zvcm0tbW9kdWxlcy1zeXN0ZW1qcyIgIl43LjUuMCIKLSAgICAiQGJhYmVsL3BsdWdp bi10cmFuc2Zvcm0tbW9kdWxlcy11bWQiICJeNy4yLjAiCi0gICAgIkBiYWJlbC9wbHVnaW4tdHJh bnNmb3JtLW5hbWVkLWNhcHR1cmluZy1ncm91cHMtcmVnZXgiICJeNy42LjMiCi0gICAgIkBiYWJl bC9wbHVnaW4tdHJhbnNmb3JtLW5ldy10YXJnZXQiICJeNy40LjQiCi0gICAgIkBiYWJlbC9wbHVn aW4tdHJhbnNmb3JtLW9iamVjdC1zdXBlciIgIl43LjUuNSIKLSAgICAiQGJhYmVsL3BsdWdpbi10 cmFuc2Zvcm0tcGFyYW1ldGVycyIgIl43LjQuNCIKLSAgICAiQGJhYmVsL3BsdWdpbi10cmFuc2Zv cm0tcHJvcGVydHktbGl0ZXJhbHMiICJeNy4yLjAiCi0gICAgIkBiYWJlbC9wbHVnaW4tdHJhbnNm b3JtLXJlZ2VuZXJhdG9yIiAiXjcuNC41IgotICAgICJAYmFiZWwvcGx1Z2luLXRyYW5zZm9ybS1y ZXNlcnZlZC13b3JkcyIgIl43LjIuMCIKLSAgICAiQGJhYmVsL3BsdWdpbi10cmFuc2Zvcm0tc2hv cnRoYW5kLXByb3BlcnRpZXMiICJeNy4yLjAiCi0gICAgIkBiYWJlbC9wbHVnaW4tdHJhbnNmb3Jt LXNwcmVhZCIgIl43LjYuMiIKLSAgICAiQGJhYmVsL3BsdWdpbi10cmFuc2Zvcm0tc3RpY2t5LXJl Z2V4IiAiXjcuMi4wIgotICAgICJAYmFiZWwvcGx1Z2luLXRyYW5zZm9ybS10ZW1wbGF0ZS1saXRl cmFscyIgIl43LjQuNCIKLSAgICAiQGJhYmVsL3BsdWdpbi10cmFuc2Zvcm0tdHlwZW9mLXN5bWJv bCIgIl43LjIuMCIKLSAgICAiQGJhYmVsL3BsdWdpbi10cmFuc2Zvcm0tdW5pY29kZS1yZWdleCIg Il43LjYuMiIKLSAgICAiQGJhYmVsL3R5cGVzIiAiXjcuNi4zIgotICAgIGJyb3dzZXJzbGlzdCAi XjQuNi4wIgotICAgIGNvcmUtanMtY29tcGF0ICJeMy4xLjEiCi0gICAgaW52YXJpYW50ICJeMi4y LjIiCi0gICAganMtbGV2ZW5zaHRlaW4gIl4xLjEuMyIKLSAgICBzZW12ZXIgIl41LjUuMCIKKyAg ICAiQGJhYmVsL3BsdWdpbi1wcm9wb3NhbC11bmljb2RlLXByb3BlcnR5LXJlZ2V4IiAiXjcuNC40 IgorICAgICJAYmFiZWwvcGx1Z2luLXRyYW5zZm9ybS1kb3RhbGwtcmVnZXgiICJeNy40LjQiCisg ICAgIkBiYWJlbC90eXBlcyIgIl43LjQuNCIKKyAgICBlc3V0aWxzICJeMi4wLjIiCiAKICJAYmFi ZWwvcHJlc2V0LXJlYWN0QF43LjEwLjQiOgotICB2ZXJzaW9uICI3LjEwLjQiCi0gIHJlc29sdmVk ICJodHRwczovL3JlZ2lzdHJ5Lnlhcm5wa2cuY29tL0BiYWJlbC9wcmVzZXQtcmVhY3QvLS9wcmVz ZXQtcmVhY3QtNy4xMC40LnRneiM5MmU4YTY2ZDgxNmY5OTExZDExZDRjYzkzNWJlNjdhZGZjODJk YmNmIgotICBpbnRlZ3JpdHkgc2hhNTEyLUJySHA0VGdPSXk0TTE5SkFmTzFMaHljVlhPUFdkRGJU UmVwN2VWeWF0ZjE3NEhmZis2VWs1M3NEeWFqcVpQdThXMXFYUkJpWU9mSWFtZWs2akE3WVZ3PT0K KyAgdmVyc2lvbiAiNy4xMi4xMCIKKyAgcmVzb2x2ZWQgImh0dHBzOi8vcmVnaXN0cnkueWFybnBr Zy5jb20vQGJhYmVsL3ByZXNldC1yZWFjdC8tL3ByZXNldC1yZWFjdC03LjEyLjEwLnRneiM0ZmVk NjVmMjk2Y2JiMGY1ZmIwOWRlNmJlOGNkZGM4NWNjOTA5YmU5IgorICBpbnRlZ3JpdHkgc2hhNTEy LXZ0UU5qYUhSbDREVXBwK3QrZzR3dlRIc0xRdXllK24wSC93c1hJWlJuNjlvei9mdk5DN2dRNElL NzN6R0pCYXh2SG94RWxEdm5ZQ3RoTWNUN3V6Rm9RPT0KICAgZGVwZW5kZW5jaWVzOgogICAgICJA YmFiZWwvaGVscGVyLXBsdWdpbi11dGlscyIgIl43LjEwLjQiCi0gICAgIkBiYWJlbC9wbHVnaW4t dHJhbnNmb3JtLXJlYWN0LWRpc3BsYXktbmFtZSIgIl43LjEwLjQiCi0gICAgIkBiYWJlbC9wbHVn aW4tdHJhbnNmb3JtLXJlYWN0LWpzeCIgIl43LjEwLjQiCi0gICAgIkBiYWJlbC9wbHVnaW4tdHJh bnNmb3JtLXJlYWN0LWpzeC1kZXZlbG9wbWVudCIgIl43LjEwLjQiCi0gICAgIkBiYWJlbC9wbHVn aW4tdHJhbnNmb3JtLXJlYWN0LWpzeC1zZWxmIiAiXjcuMTAuNCIKLSAgICAiQGJhYmVsL3BsdWdp bi10cmFuc2Zvcm0tcmVhY3QtanN4LXNvdXJjZSIgIl43LjEwLjQiCi0gICAgIkBiYWJlbC9wbHVn aW4tdHJhbnNmb3JtLXJlYWN0LXB1cmUtYW5ub3RhdGlvbnMiICJeNy4xMC40IgotCi0iQGJhYmVs L3J1bnRpbWVAXjcuOC40IjoKLSAgdmVyc2lvbiAiNy4xMS4yIgotICByZXNvbHZlZCAiaHR0cHM6 Ly9yZWdpc3RyeS55YXJucGtnLmNvbS9AYmFiZWwvcnVudGltZS8tL3J1bnRpbWUtNy4xMS4yLnRn eiNmNTQ5YzEzYzc1NGNjNDBiODc2NDRiOWZhOWYwOWE2YTk1ZmUwNzM2IgotICBpbnRlZ3JpdHkg c2hhNTEyLVRlV2tVNTJzbzBtUHREY2FDVHhOQkkvSUhpejBwWmdyOFZFRnFYRnRaV3BZRDA4WkI2 RmFTd1ZBUzhNS1JRQVAzYllLaVZqd3lzT0pnTUZZMjhvNlR3PT0KKyAgICAiQGJhYmVsL3BsdWdp bi10cmFuc2Zvcm0tcmVhY3QtZGlzcGxheS1uYW1lIiAiXjcuMTIuMSIKKyAgICAiQGJhYmVsL3Bs dWdpbi10cmFuc2Zvcm0tcmVhY3QtanN4IiAiXjcuMTIuMTAiCisgICAgIkBiYWJlbC9wbHVnaW4t dHJhbnNmb3JtLXJlYWN0LWpzeC1kZXZlbG9wbWVudCIgIl43LjEyLjciCisgICAgIkBiYWJlbC9w bHVnaW4tdHJhbnNmb3JtLXJlYWN0LXB1cmUtYW5ub3RhdGlvbnMiICJeNy4xMi4xIgorCisiQGJh YmVsL3J1bnRpbWUtY29yZWpzM0BeNy45LjYiOgorICB2ZXJzaW9uICI3LjEyLjUiCisgIHJlc29s dmVkICJodHRwczovL3JlZ2lzdHJ5Lnlhcm5wa2cuY29tL0BiYWJlbC9ydW50aW1lLWNvcmVqczMv LS9ydW50aW1lLWNvcmVqczMtNy4xMi41LnRneiNmZmVlOTFkYTBlYjRjNmRhZTA4MDc3NGU5NGJh NjA2MzY4ZTQxNGY0IgorICBpbnRlZ3JpdHkgc2hhNTEyLXJvR3I1NENzVG1OUFB6Wm9DUDFBbURY dUJvTmFvN3RuU0E4M1RYVHd0K1VLNVFWeWgxRElKbnJnWVJQV0tDRjJmbHFaUVh3YTdZcjh2N1Zt THpGMFlRPT0KICAgZGVwZW5kZW5jaWVzOgorICAgIGNvcmUtanMtcHVyZSAiXjMuMC4wIgogICAg IHJlZ2VuZXJhdG9yLXJ1bnRpbWUgIl4wLjEzLjQiCiAKLSJAYmFiZWwvdGVtcGxhdGVAXjcuMTAu NCIsICJAYmFiZWwvdGVtcGxhdGVAXjcuNi4wIjoKLSAgdmVyc2lvbiAiNy4xMC40IgotICByZXNv bHZlZCAiaHR0cHM6Ly9yZWdpc3RyeS55YXJucGtnLmNvbS9AYmFiZWwvdGVtcGxhdGUvLS90ZW1w bGF0ZS03LjEwLjQudGd6IzMyNTE5OTZjNDIwMGViYzcxZDFhOGZjNDA1ZmJhOTQwZjM2YmEyNzgi Ci0gIGludGVncml0eSBzaGE1MTItWkNqRDI3Y0dKRlVCNm5tQ0IxRW5raTNyK0w1a0p2ZVg5cHEx U3ZBVUtvSUN5NkNaOXlEOHhPMDg2WVhkWWh2TmpCZG5la200Wm5hUDV5QzhDcy8xdEE9PQorIkBi YWJlbC9ydW50aW1lQF43LjUuNSIsICJAYmFiZWwvcnVudGltZUBeNy43LjIiLCAiQGJhYmVsL3J1 bnRpbWVAXjcuOC40IjoKKyAgdmVyc2lvbiAiNy4xMi41IgorICByZXNvbHZlZCAiaHR0cHM6Ly9y ZWdpc3RyeS55YXJucGtnLmNvbS9AYmFiZWwvcnVudGltZS8tL3J1bnRpbWUtNy4xMi41LnRneiM0 MTBlN2U0ODc0NDFlMWIzNjBjMjliZTcxNWQ4NzBkOWI5ODU4ODJlIgorICBpbnRlZ3JpdHkgc2hh NTEyLXBsY2MraGJFeHkzTWNjaEpDRVFHM2tuT3N1aDNISCtQcngxUDZjTElrRVQvMGRMdVFERW5y VCtzMjdBeGdjOWJxZnNtTlVOSGZzY2dNVWRCcEM5eGZnPT0KICAgZGVwZW5kZW5jaWVzOgotICAg ICJAYmFiZWwvY29kZS1mcmFtZSIgIl43LjEwLjQiCi0gICAgIkBiYWJlbC9wYXJzZXIiICJeNy4x MC40IgotICAgICJAYmFiZWwvdHlwZXMiICJeNy4xMC40IgorICAgIHJlZ2VuZXJhdG9yLXJ1bnRp bWUgIl4wLjEzLjQiCiAKLSJAYmFiZWwvdHJhdmVyc2VAXjcuMTAuNCIsICJAYmFiZWwvdHJhdmVy c2VAXjcuMTEuNSIsICJAYmFiZWwvdHJhdmVyc2VAXjcuNi4zIjoKLSAgdmVyc2lvbiAiNy4xMS41 IgotICByZXNvbHZlZCAiaHR0cHM6Ly9yZWdpc3RyeS55YXJucGtnLmNvbS9AYmFiZWwvdHJhdmVy c2UvLS90cmF2ZXJzZS03LjExLjUudGd6I2JlNzc3YjkzYjUxOGViNmQ3NmVlMmUxZWExZDE0M2Rh YTExZTYxYzMiCi0gIGludGVncml0eSBzaGE1MTItRWppUFh0K3I3TGlDWlhFZlJwU0pkK2pVTW5C ZDQvOU9VdjdOeDMrMHU5K2VpbU13Sm1HMFE5OGx3NC8yODlKQ294U0U4T29sRE1OWmFhRi9KWjY5 V1E9PQorIkBiYWJlbC90ZW1wbGF0ZUBeNy4xMC40IiwgIkBiYWJlbC90ZW1wbGF0ZUBeNy4xMi43 IjoKKyAgdmVyc2lvbiAiNy4xMi43IgorICByZXNvbHZlZCAiaHR0cHM6Ly9yZWdpc3RyeS55YXJu cGtnLmNvbS9AYmFiZWwvdGVtcGxhdGUvLS90ZW1wbGF0ZS03LjEyLjcudGd6I2M4MTcyMzM2OTYw MThlMzlmYmI2YzQ5MWQyZmI2ODRlMDVlZDQzYmMiCisgIGludGVncml0eSBzaGE1MTItR2tEem1I UzZHVjdaZVhmSlowdExSQmhaY01jWTAvTG5iK2VFYlhEQmZDQWNaQ2pyWktlNnAzSjR3ZS9EMjRP OVk4ZW54V0FnMWNXd29mNTl5TGgyb3c9PQogICBkZXBlbmRlbmNpZXM6CiAgICAgIkBiYWJlbC9j b2RlLWZyYW1lIiAiXjcuMTAuNCIKLSAgICAiQGJhYmVsL2dlbmVyYXRvciIgIl43LjExLjUiCi0g ICAgIkBiYWJlbC9oZWxwZXItZnVuY3Rpb24tbmFtZSIgIl43LjEwLjQiCi0gICAgIkBiYWJlbC9o ZWxwZXItc3BsaXQtZXhwb3J0LWRlY2xhcmF0aW9uIiAiXjcuMTEuMCIKLSAgICAiQGJhYmVsL3Bh cnNlciIgIl43LjExLjUiCi0gICAgIkBiYWJlbC90eXBlcyIgIl43LjExLjUiCisgICAgIkBiYWJl bC9wYXJzZXIiICJeNy4xMi43IgorICAgICJAYmFiZWwvdHlwZXMiICJeNy4xMi43IgorCisiQGJh YmVsL3RyYXZlcnNlQF43LjEwLjQiLCAiQGJhYmVsL3RyYXZlcnNlQF43LjEyLjEiLCAiQGJhYmVs L3RyYXZlcnNlQF43LjEyLjEwIiwgIkBiYWJlbC90cmF2ZXJzZUBeNy4xMi41IiwgIkBiYWJlbC90 cmF2ZXJzZUBeNy43LjAiOgorICB2ZXJzaW9uICI3LjEyLjEyIgorICByZXNvbHZlZCAiaHR0cHM6 Ly9yZWdpc3RyeS55YXJucGtnLmNvbS9AYmFiZWwvdHJhdmVyc2UvLS90cmF2ZXJzZS03LjEyLjEy LnRneiNkMGNkODc4OTI3MDRlZGQ4ZGEwMDJkNjc0YmM4MTFjZTY0NzQzMzc2IgorICBpbnRlZ3Jp dHkgc2hhNTEyLXM4OGkwWDBsUHk0NVJyTE04YjltejhSUEg1RnFPOUc5cDd0aTU5Y1RvRTQ0eEZt MVErUGpoNUdxNFNYQmJ0Yjg4WDdVeTdwZXhlcVJJUURETU5rTDB3PT0KKyAgZGVwZW5kZW5jaWVz OgorICAgICJAYmFiZWwvY29kZS1mcmFtZSIgIl43LjEyLjExIgorICAgICJAYmFiZWwvZ2VuZXJh dG9yIiAiXjcuMTIuMTEiCisgICAgIkBiYWJlbC9oZWxwZXItZnVuY3Rpb24tbmFtZSIgIl43LjEy LjExIgorICAgICJAYmFiZWwvaGVscGVyLXNwbGl0LWV4cG9ydC1kZWNsYXJhdGlvbiIgIl43LjEy LjExIgorICAgICJAYmFiZWwvcGFyc2VyIiAiXjcuMTIuMTEiCisgICAgIkBiYWJlbC90eXBlcyIg Il43LjEyLjEyIgogICAgIGRlYnVnICJeNC4xLjAiCiAgICAgZ2xvYmFscyAiXjExLjEuMCIKICAg ICBsb2Rhc2ggIl40LjE3LjE5IgogCi0iQGJhYmVsL3R5cGVzQF43LjEwLjQiLCAiQGJhYmVsL3R5 cGVzQF43LjEwLjUiLCAiQGJhYmVsL3R5cGVzQF43LjExLjAiLCAiQGJhYmVsL3R5cGVzQF43LjEx LjUiLCAiQGJhYmVsL3R5cGVzQF43LjYuMyI6Ci0gIHZlcnNpb24gIjcuMTEuNSIKLSAgcmVzb2x2 ZWQgImh0dHBzOi8vcmVnaXN0cnkueWFybnBrZy5jb20vQGJhYmVsL3R5cGVzLy0vdHlwZXMtNy4x MS41LnRneiNkOWRlNTc3ZDAxMjUyZDc3YzY4MDBjZWUwMzllZTY0ZmFmNzU2NjJkIgotICBpbnRl Z3JpdHkgc2hhNTEyLWJ2TTdRejZlS25KVkZJbisxTFB0amxCRlBWTjVqTkRjMVhtTjE1dldlN1Ez RFBCdWZXV3NMaUl2VXU3eFc4N3VURzZRb2dncElEblVnTFF2UGhlVStRPT0KKyJAYmFiZWwvdHlw ZXNAXjcuMTAuNCIsICJAYmFiZWwvdHlwZXNAXjcuMTAuNSIsICJAYmFiZWwvdHlwZXNAXjcuMTIu MSIsICJAYmFiZWwvdHlwZXNAXjcuMTIuMTAiLCAiQGJhYmVsL3R5cGVzQF43LjEyLjExIiwgIkBi YWJlbC90eXBlc0BeNy4xMi4xMiIsICJAYmFiZWwvdHlwZXNAXjcuMTIuNSIsICJAYmFiZWwvdHlw ZXNAXjcuMTIuNyIsICJAYmFiZWwvdHlwZXNAXjcuNC40IiwgIkBiYWJlbC90eXBlc0BeNy43LjAi OgorICB2ZXJzaW9uICI3LjEyLjEyIgorICByZXNvbHZlZCAiaHR0cHM6Ly9yZWdpc3RyeS55YXJu cGtnLmNvbS9AYmFiZWwvdHlwZXMvLS90eXBlcy03LjEyLjEyLnRneiM0NjA4YTZlYzMxM2FiYmQ4 N2FmYTU1MDA0ZDM3M2FkMDRhOTZjMjk5IgorICBpbnRlZ3JpdHkgc2hhNTEyLWxuSVg3cGlUeE9I MjJ4RTdmRFhEYlNIZzlNTTEvNk9SbmFmcEptb3Y1cnMwa1g1ZzRCWnhlWE5KTFhzTVJpTzBVNVJi OC9Gdk1TNnhsVG5USHZ4b25RPT0KICAgZGVwZW5kZW5jaWVzOgotICAgICJAYmFiZWwvaGVscGVy LXZhbGlkYXRvci1pZGVudGlmaWVyIiAiXjcuMTAuNCIKKyAgICAiQGJhYmVsL2hlbHBlci12YWxp ZGF0b3ItaWRlbnRpZmllciIgIl43LjEyLjExIgogICAgIGxvZGFzaCAiXjQuMTcuMTkiCiAgICAg dG8tZmFzdC1wcm9wZXJ0aWVzICJeMi4wLjAiCiAKKyJAZW1vdGlvbi9jYWNoZUBeMTAuMC4yNyI6 CisgIHZlcnNpb24gIjEwLjAuMjkiCisgIHJlc29sdmVkICJodHRwczovL3JlZ2lzdHJ5Lnlhcm5w a2cuY29tL0BlbW90aW9uL2NhY2hlLy0vY2FjaGUtMTAuMC4yOS50Z3ojODdlN2U2NGY0MTJjMDYw MTAyZDU4OWZlN2M2ZGMwNDJlNmY5ZDFlMCIKKyAgaW50ZWdyaXR5IHNoYTUxMi1mVTJWdFNWbEhp RjI3ZW1wU2J4aTFPMkpGZE5XWk8rMk5GSGZ3TzBweGdUZXA2WGEzdUdiKzNwVktmTHd3MmwvSUJH TE5FWmw1WGYvKytBNHdBWURZUT09CisgIGRlcGVuZGVuY2llczoKKyAgICAiQGVtb3Rpb24vc2hl ZXQiICIwLjkuNCIKKyAgICAiQGVtb3Rpb24vc3R5bGlzIiAiMC44LjUiCisgICAgIkBlbW90aW9u L3V0aWxzIiAiMC4xMS4zIgorICAgICJAZW1vdGlvbi93ZWFrLW1lbW9pemUiICIwLjIuNSIKKwor IkBlbW90aW9uL2NvcmVAXjEwLjAuMTQiOgorICB2ZXJzaW9uICIxMC4xLjEiCisgIHJlc29sdmVk ICJodHRwczovL3JlZ2lzdHJ5Lnlhcm5wa2cuY29tL0BlbW90aW9uL2NvcmUvLS9jb3JlLTEwLjEu MS50Z3ojYzk1NmMxMzY1ZjJmMjQ4MTk2MDA2NGJjYjhjNDczMmU1ZmI2MTJjMyIKKyAgaW50ZWdy aXR5IHNoYTUxMi1aTUxHNnFwWFI4eDAzMU5YRDhISnF1Z3kvQVpTa0F1TXh4cUI0NnBtQVI3emU0 N01oTko1NmNkb1gyNDNRUFpkR2N0cmRmbytzMDh5WlRpd2FVY1JLQT09CisgIGRlcGVuZGVuY2ll czoKKyAgICAiQGJhYmVsL3J1bnRpbWUiICJeNy41LjUiCisgICAgIkBlbW90aW9uL2NhY2hlIiAi XjEwLjAuMjciCisgICAgIkBlbW90aW9uL2NzcyIgIl4xMC4wLjI3IgorICAgICJAZW1vdGlvbi9z ZXJpYWxpemUiICJeMC4xMS4xNSIKKyAgICAiQGVtb3Rpb24vc2hlZXQiICIwLjkuNCIKKyAgICAi QGVtb3Rpb24vdXRpbHMiICIwLjExLjMiCisKKyJAZW1vdGlvbi9jc3NAXjEwLjAuMjciOgorICB2 ZXJzaW9uICIxMC4wLjI3IgorICByZXNvbHZlZCAiaHR0cHM6Ly9yZWdpc3RyeS55YXJucGtnLmNv bS9AZW1vdGlvbi9jc3MvLS9jc3MtMTAuMC4yNy50Z3ojM2E3NDU4MTk4ZmJiZWJiNTNiMDFiMmI4 N2Y2NGU1ZTIxMjQxZTE0YyIKKyAgaW50ZWdyaXR5IHNoYTUxMi02d1pqc3ZZZUJoeVpRWU5yR29S NXlQTVliTUJORW5hbkRycW1zcVMxbXpEbTFjT1R1MTJzaHZsMmo0UUhOUzM2VWFURTBVU0lKYXdD SDlDOG9XMzRadz09CisgIGRlcGVuZGVuY2llczoKKyAgICAiQGVtb3Rpb24vc2VyaWFsaXplIiAi XjAuMTEuMTUiCisgICAgIkBlbW90aW9uL3V0aWxzIiAiMC4xMS4zIgorICAgIGJhYmVsLXBsdWdp bi1lbW90aW9uICJeMTAuMC4yNyIKKworIkBlbW90aW9uL2hhc2hAMC44LjAiOgorICB2ZXJzaW9u ICIwLjguMCIKKyAgcmVzb2x2ZWQgImh0dHBzOi8vcmVnaXN0cnkueWFybnBrZy5jb20vQGVtb3Rp b24vaGFzaC8tL2hhc2gtMC44LjAudGd6I2JiYmZmNjg5NzhmZWZkYmU2OGNjYjUzM2JjOGNiZTFk MWFmYjU0MTMiCisgIGludGVncml0eSBzaGE1MTIta0JKdGY3UEg2YVd3WjZma2EzelEwcDZTQll6 eDRmbDFMb1pYRTJScm5ZU1Q5WGxqbTdXZktKclU0Zy9YcjNCZWc3Mk1McnAxQVdOVW11WUpUTDdD b3c9PQorCisiQGVtb3Rpb24vaXMtcHJvcC12YWxpZEAwLjguOCI6CisgIHZlcnNpb24gIjAuOC44 IgorICByZXNvbHZlZCAiaHR0cHM6Ly9yZWdpc3RyeS55YXJucGtnLmNvbS9AZW1vdGlvbi9pcy1w cm9wLXZhbGlkLy0vaXMtcHJvcC12YWxpZC0wLjguOC50Z3ojZGIyOGIxYzQzNjhhMjU5YjYwYTk3 MzExZDZhOTUyZDRmZDAxYWMxYSIKKyAgaW50ZWdyaXR5IHNoYTUxMi11NVd0bmVFQXI1SURHMld2 NjV5aHVuUFNNTElwdUtzYnVPa3RSb2pmckVpRXZSeUM4NUxnUE1aSTYzY3I3TlVxVDhaSUdkU1Zn OFpLR3hJdWc0bFhjQT09CisgIGRlcGVuZGVuY2llczoKKyAgICAiQGVtb3Rpb24vbWVtb2l6ZSIg IjAuNy40IgorCisiQGVtb3Rpb24vbWVtb2l6ZUAwLjcuNCI6CisgIHZlcnNpb24gIjAuNy40Igor ICByZXNvbHZlZCAiaHR0cHM6Ly9yZWdpc3RyeS55YXJucGtnLmNvbS9AZW1vdGlvbi9tZW1vaXpl Ly0vbWVtb2l6ZS0wLjcuNC50Z3ojMTliZjBmNWFmMTkxNDkxMTFjNDBkOThiYjBjZjgyMTE5ZjVk OWVlYiIKKyAgaW50ZWdyaXR5IHNoYTUxMi1KYS9WZnFlM0hwdXpSc0cxb0J0V1RIazJQR1o3R1Ir MlZ6NWlZR2VsQXc4ZHgzMksweTdQalZ1eEs2ejFuTXBaT3FBRnNSVVBDa0sxWWpKNTZxSmxndz09 CisKKyJAZW1vdGlvbi9zZXJpYWxpemVAXjAuMTEuMTUiLCAiQGVtb3Rpb24vc2VyaWFsaXplQF4w LjExLjE2IjoKKyAgdmVyc2lvbiAiMC4xMS4xNiIKKyAgcmVzb2x2ZWQgImh0dHBzOi8vcmVnaXN0 cnkueWFybnBrZy5jb20vQGVtb3Rpb24vc2VyaWFsaXplLy0vc2VyaWFsaXplLTAuMTEuMTYudGd6 I2RlZTA1ZjllOTZhZDJmYjI1YTUyMDZiNmQ3NTliMmQxZWQzMzc5YWQiCisgIGludGVncml0eSBz aGE1MTItRzNKNG84YnkwVlJyTytQRmVTYzNqczJteVlOT1hWSjNZYStSR1Z4bnNoUllnc3ZFcmZB T2dsS0FpeTFFbzF2aHp4cXRVdmpDeVM1Z3Rld3prbXZTU2c9PQorICBkZXBlbmRlbmNpZXM6Cisg ICAgIkBlbW90aW9uL2hhc2giICIwLjguMCIKKyAgICAiQGVtb3Rpb24vbWVtb2l6ZSIgIjAuNy40 IgorICAgICJAZW1vdGlvbi91bml0bGVzcyIgIjAuNy41IgorICAgICJAZW1vdGlvbi91dGlscyIg IjAuMTEuMyIKKyAgICBjc3N0eXBlICJeMi41LjciCisKKyJAZW1vdGlvbi9zaGVldEAwLjkuNCI6 CisgIHZlcnNpb24gIjAuOS40IgorICByZXNvbHZlZCAiaHR0cHM6Ly9yZWdpc3RyeS55YXJucGtn LmNvbS9AZW1vdGlvbi9zaGVldC8tL3NoZWV0LTAuOS40LnRneiM4OTQzNzRiZWEzOWVjMzBmNDg5 YmJmYzM0MzgxOTJiOTc3NGQzMmU1IgorICBpbnRlZ3JpdHkgc2hhNTEyLXpNOVBGbWdWU3FCdzR6 TDEwMVEwSHJCVlRHbXBBeEZaSC9wWXgvY2pKVDVhZHZYZ3V2Y2dqSEZUQ2FJTzNlbkwveHI4OXZL MmJoME1meWo5YWEwQU5BPT0KKworIkBlbW90aW9uL3N0eWxlZC1iYXNlQF4xMC4wLjI3IjoKKyAg dmVyc2lvbiAiMTAuMC4zMSIKKyAgcmVzb2x2ZWQgImh0dHBzOi8vcmVnaXN0cnkueWFybnBrZy5j b20vQGVtb3Rpb24vc3R5bGVkLWJhc2UvLS9zdHlsZWQtYmFzZS0xMC4wLjMxLnRneiM5NDA5NTdl ZTBhYTE1YzY5NzRhZGM3ZDQ5NGZmMTk3NjVhMmY3NDJhIgorICBpbnRlZ3JpdHkgc2hhNTEyLXdU T0UxTmNYbXFNV2x5cnR3ZGtxZzg3TXU2UmoxTWF1a0VvRW1Fa0hpck81SW9IREo4TGdDUUw0TWpK T0RneFd4WGliR1Izb3BHcDFwN1l2a05FZFhRPT0KKyAgZGVwZW5kZW5jaWVzOgorICAgICJAYmFi ZWwvcnVudGltZSIgIl43LjUuNSIKKyAgICAiQGVtb3Rpb24vaXMtcHJvcC12YWxpZCIgIjAuOC44 IgorICAgICJAZW1vdGlvbi9zZXJpYWxpemUiICJeMC4xMS4xNSIKKyAgICAiQGVtb3Rpb24vdXRp bHMiICIwLjExLjMiCisKKyJAZW1vdGlvbi9zdHlsZWRAXjEwLjAuMTQiOgorICB2ZXJzaW9uICIx MC4wLjI3IgorICByZXNvbHZlZCAiaHR0cHM6Ly9yZWdpc3RyeS55YXJucGtnLmNvbS9AZW1vdGlv bi9zdHlsZWQvLS9zdHlsZWQtMTAuMC4yNy50Z3ojMTJjYjY3ZTkxZjdhZDc0MzFlMTg3NWIxZDgz YTk0YjgxNDEzM2VhZiIKKyAgaW50ZWdyaXR5IHNoYTUxMi1pSy84U2g3K05MSnp5cDlhNSt2SVFJ WFRZeGZUNHlCL09KYmp6UWFuQjJSWnB2bXpCUU9IWldocEFNWldZRUtSTk5ic0Q2V2ZCdzVzVldr YjZXelMvUT09CisgIGRlcGVuZGVuY2llczoKKyAgICAiQGVtb3Rpb24vc3R5bGVkLWJhc2UiICJe MTAuMC4yNyIKKyAgICBiYWJlbC1wbHVnaW4tZW1vdGlvbiAiXjEwLjAuMjciCisKKyJAZW1vdGlv bi9zdHlsaXNAMC44LjUiOgorICB2ZXJzaW9uICIwLjguNSIKKyAgcmVzb2x2ZWQgImh0dHBzOi8v cmVnaXN0cnkueWFybnBrZy5jb20vQGVtb3Rpb24vc3R5bGlzLy0vc3R5bGlzLTAuOC41LnRneiNk ZWFjYjM4OWJkNmVlNzdkMWU3ZmNhY2NjZTllMTZjNWM3ZTc4ZTA0IgorICBpbnRlZ3JpdHkgc2hh NTEyLWg2S3RQaWhLRm4zVDlmdUlyd3ZYWFVPd2x4M3JmVXZmWkljUDVhNnJoOFk3empFM08wNmhU NVNzNFMvWUkxQVlodVoxa2phRS81RWFPT0kyTnFTeWxRPT0KKworIkBlbW90aW9uL3VuaXRsZXNz QDAuNy41IjoKKyAgdmVyc2lvbiAiMC43LjUiCisgIHJlc29sdmVkICJodHRwczovL3JlZ2lzdHJ5 Lnlhcm5wa2cuY29tL0BlbW90aW9uL3VuaXRsZXNzLy0vdW5pdGxlc3MtMC43LjUudGd6Izc3MjEx MjkxYzE5MDBhNzAwYjhhNzhjZmFmZGEzMTYwZDc2OTQ5ZWQiCisgIGludGVncml0eSBzaGE1MTIt T1dPUk5wZmpNc1NTVUJWclJCVkdFQ2toV2NVTE9BSno5Wlc4dUs5cWd4RCs4N003akhSY3ZoL0E5 NlhYTmhYVExtS2NvWVNRdEJFWDdsSE1PN1lSd2c9PQorCisiQGVtb3Rpb24vdXRpbHNAMC4xMS4z IjoKKyAgdmVyc2lvbiAiMC4xMS4zIgorICByZXNvbHZlZCAiaHR0cHM6Ly9yZWdpc3RyeS55YXJu cGtnLmNvbS9AZW1vdGlvbi91dGlscy8tL3V0aWxzLTAuMTEuMy50Z3ojYTc1OTg2Mzg2N2JlZmE3 ZTU4MzQwMGQzMjI2NTJhM2Y0NDgyMDkyNCIKKyAgaW50ZWdyaXR5IHNoYTUxMi0wbzRsNnBaQyto STg4K2J6dWFYLzZCZ092UVZoYnQyUGZteGF1VmFZT0dnYnNBdzE0d2RLeXZNQ1pYbnNuc0h5czk0 aWFkY0YrUkcvd1p5eDYrWlpCdz09CisKKyJAZW1vdGlvbi93ZWFrLW1lbW9pemVAMC4yLjUiOgor ICB2ZXJzaW9uICIwLjIuNSIKKyAgcmVzb2x2ZWQgImh0dHBzOi8vcmVnaXN0cnkueWFybnBrZy5j b20vQGVtb3Rpb24vd2Vhay1tZW1vaXplLy0vd2Vhay1tZW1vaXplLTAuMi41LnRneiM4ZWVkOTgy ZTJlZTZmN2Y0ZTQ0YzI1M2UxMjk2Mjk4MDc5MWVmZDQ2IgorICBpbnRlZ3JpdHkgc2hhNTEyLTZV NzFDMldwN3I1WHRGdFF6WXJXNWlLRlQ2N09peHJTeGpJNE1wdENIemRTVmxnYWJjenpxTGUwWlNn bnViLzVLcDRoU2JwREIxdE15dFpZOXB3eHhBPT0KKwogIkBmb3J0YXdlc29tZS9mb250YXdlc29t ZS1mcmVlQF41LjE0LjAiOgogICB2ZXJzaW9uICI1LjE1LjEiCiAgIHJlc29sdmVkICJodHRwczov L3JlZ2lzdHJ5Lnlhcm5wa2cuY29tL0Bmb3J0YXdlc29tZS9mb250YXdlc29tZS1mcmVlLy0vZm9u dGF3ZXNvbWUtZnJlZS01LjE1LjEudGd6I2NjZmVmNmRkYmU1OWY4ZmU4ZjY5NDc4M2UxZDNlYjg4 OTAyZGM1ZWIiCkBAIC03OTEsMTIgKzk4NSw2MiBAQAogICByZXNvbHZlZCAiaHR0cHM6Ly9yZWdp c3RyeS55YXJucGtnLmNvbS9AaXN0YW5idWxqcy9zY2hlbWEvLS9zY2hlbWEtMC4xLjIudGd6IzI2 NTIwYmYwOWFiZTRhNTY0NGNkNTQxNGUzNzEyNWE4OTU0MjQxZGQiCiAgIGludGVncml0eSBzaGE1 MTItdHNBUU54MzJhOENvRmhqaGlqVUloSTRrY2NJQWdtR2h5OExaTVpnR2ZtWGNwTWJQUlVxbjVM V21nUnR0SUxpNnllR21CSmQyeHNQa0ZNczBQemdQQ3c9PQogCisiQHBvcHBlcmpzL2NvcmVAXjIu NC40IjoKKyAgdmVyc2lvbiAiMi42LjAiCisgIHJlc29sdmVkICJodHRwczovL3JlZ2lzdHJ5Lnlh cm5wa2cuY29tL0Bwb3BwZXJqcy9jb3JlLy0vY29yZS0yLjYuMC50Z3ojZjAyMjE5NWFmZGZjOTQy ZTA4OGVlMjEwMTI4NWExZDMxYzdkNzI3ZiIKKyAgaW50ZWdyaXR5IHNoYTUxMi1jUHFqanp1RldO SzNCU0tMbTBhYnNwUDBzcC9JR09saTRwNUk1ZktGQXpkUzhmdmpkT3dEQ2ZacUFhSWlYZDlsUGtP V2kzU1VVZlpvZjNoRWI3Si91dz09CisKKyJAcHJvamVjdHN0b3JtL2dlb21ldHJ5QF42LjMuMCI6 CisgIHZlcnNpb24gIjYuMy4wIgorICByZXNvbHZlZCAiaHR0cHM6Ly9yZWdpc3RyeS55YXJucGtn LmNvbS9AcHJvamVjdHN0b3JtL2dlb21ldHJ5Ly0vZ2VvbWV0cnktNi4zLjAudGd6IzJjMzdkZWU0 YjkwN2VkMDA4NmU5MTY4MGI4MTVjZDE2MTg4MzUzZjAiCisgIGludGVncml0eSBzaGE1MTItRmMy SlZBa1pQblFNQUtkbjRGdEFBcHZsNDBTK3NVTDlFMnVzUm9YY25xUmJ3bWhEM1dIQkxobURJdlVU QXJJeUtKSk9UenlRVzQrTzcrTmN5cks5L1E9PQorCisiQHByb2plY3RzdG9ybS9yZWFjdC1jYW52 YXMtY29yZUBeNi4zLjAiOgorICB2ZXJzaW9uICI2LjMuMCIKKyAgcmVzb2x2ZWQgImh0dHBzOi8v cmVnaXN0cnkueWFybnBrZy5jb20vQHByb2plY3RzdG9ybS9yZWFjdC1jYW52YXMtY29yZS8tL3Jl YWN0LWNhbnZhcy1jb3JlLTYuMy4wLnRneiNkZmUzMDcyYmIzODE3OTEwYzY1MGExZmEwMDRjZTQz OWY1YmQwNjY5IgorICBpbnRlZ3JpdHkgc2hhNTEyLW1DaEtacGRmclRXZEd2ZzFPQjBFT2FDejVv dkM2c3BZL01KZkd0eFllazVnVTM2bWpvQVhFK0w2dUx6akVMVE0zSi9USmhEa20zV2Q3alc5dkNO VXlBPT0KKyAgZGVwZW5kZW5jaWVzOgorICAgICJAcHJvamVjdHN0b3JtL2dlb21ldHJ5IiAiXjYu My4wIgorCisiQHByb2plY3RzdG9ybS9yZWFjdC1kaWFncmFtcy1jb3JlQF42LjMuMCI6CisgIHZl cnNpb24gIjYuMy4wIgorICByZXNvbHZlZCAiaHR0cHM6Ly9yZWdpc3RyeS55YXJucGtnLmNvbS9A cHJvamVjdHN0b3JtL3JlYWN0LWRpYWdyYW1zLWNvcmUvLS9yZWFjdC1kaWFncmFtcy1jb3JlLTYu My4wLnRneiM0ZTIyNWU4NmEwMzg5ZjM4MzAyMGI0YTllOGJiY2UyZTU1NzgxY2QyIgorICBpbnRl Z3JpdHkgc2hhNTEyLXhkQUErUno1dkUwYWROYS9ybG9YdmpEUTJNRmxpY21kY1pIRUZUclBIK25W OG1pQXFoSGltemJDZ2U4eXBBd1F5VlhTOENMZHhVRjJSUUEvMUI4U25nPT0KKyAgZGVwZW5kZW5j aWVzOgorICAgICJAcHJvamVjdHN0b3JtL2dlb21ldHJ5IiAiXjYuMy4wIgorICAgICJAcHJvamVj dHN0b3JtL3JlYWN0LWNhbnZhcy1jb3JlIiAiXjYuMy4wIgorCisiQHByb2plY3RzdG9ybS9yZWFj dC1kaWFncmFtcy1kZWZhdWx0c0BeNi4zLjAiOgorICB2ZXJzaW9uICI2LjMuMCIKKyAgcmVzb2x2 ZWQgImh0dHBzOi8vcmVnaXN0cnkueWFybnBrZy5jb20vQHByb2plY3RzdG9ybS9yZWFjdC1kaWFn cmFtcy1kZWZhdWx0cy8tL3JlYWN0LWRpYWdyYW1zLWRlZmF1bHRzLTYuMy4wLnRneiMyNDc5ZGUx YWJiM2U2MzhkZjA0ZjMzZjA5NDEzZDMyNmIyN2UyOWVhIgorICBpbnRlZ3JpdHkgc2hhNTEyLTVx QkZnOXNTbDNPbEl0NUVkdjQ1dUVDZ2tqcWpwZytQU1JZZGVyT1hKakVRaTNTWWhmOWwwWWxmTXpw VHZ0NUdtVm55WDdnUVByb3l0L3AvZTRlOXJRPT0KKyAgZGVwZW5kZW5jaWVzOgorICAgICJAcHJv amVjdHN0b3JtL3JlYWN0LWRpYWdyYW1zLWNvcmUiICJeNi4zLjAiCisKKyJAcHJvamVjdHN0b3Jt L3JlYWN0LWRpYWdyYW1zLXJvdXRpbmdAXjYuMy4wIjoKKyAgdmVyc2lvbiAiNi4zLjAiCisgIHJl c29sdmVkICJodHRwczovL3JlZ2lzdHJ5Lnlhcm5wa2cuY29tL0Bwcm9qZWN0c3Rvcm0vcmVhY3Qt ZGlhZ3JhbXMtcm91dGluZy8tL3JlYWN0LWRpYWdyYW1zLXJvdXRpbmctNi4zLjAudGd6IzM4Yjg5 NzNhYzM1ZTQwNjM5ZGRlNzQ5MDg0MDIxN2Q4Y2IxZTY2ZmIiCisgIGludGVncml0eSBzaGE1MTIt a2dxME1OcmpiZUVjcFFjZU9PUkwvNWJPUUpORjcwYy9JZjJ4L2pxZEVLZnN3ekdDOVZlVVlPS1p2 ellDUmh4c09jcG45aENBNis2V2tkOGU0ekZ6WVE9PQorICBkZXBlbmRlbmNpZXM6CisgICAgIkBw cm9qZWN0c3Rvcm0vZ2VvbWV0cnkiICJeNi4zLjAiCisgICAgIkBwcm9qZWN0c3Rvcm0vcmVhY3Qt ZGlhZ3JhbXMtY29yZSIgIl42LjMuMCIKKyAgICAiQHByb2plY3RzdG9ybS9yZWFjdC1kaWFncmFt cy1kZWZhdWx0cyIgIl42LjMuMCIKKworIkBwcm9qZWN0c3Rvcm0vcmVhY3QtZGlhZ3JhbXNAXjYu My4wIjoKKyAgdmVyc2lvbiAiNi4zLjAiCisgIHJlc29sdmVkICJodHRwczovL3JlZ2lzdHJ5Lnlh cm5wa2cuY29tL0Bwcm9qZWN0c3Rvcm0vcmVhY3QtZGlhZ3JhbXMvLS9yZWFjdC1kaWFncmFtcy02 LjMuMC50Z3ojYmQ0MzU2OTlmMDRiNjNmZjU3Yjg0MzRhMjU5YWEyZGMzYjQ5NDEyOSIKKyAgaW50 ZWdyaXR5IHNoYTUxMi1xSFBobFRCc1prL2l3WEFQWE1oNnF6bWs2Nis3VTRjU2hTd1hNLzNPcURr ckJpNnlJN25MdGRZNVZoaW9PMHFCaGhPeVI4djFDOG9lWUdGcVkwcGE4UT09CisgIGRlcGVuZGVu Y2llczoKKyAgICAiQHByb2plY3RzdG9ybS9yZWFjdC1kaWFncmFtcy1jb3JlIiAiXjYuMy4wIgor ICAgICJAcHJvamVjdHN0b3JtL3JlYWN0LWRpYWdyYW1zLWRlZmF1bHRzIiAiXjYuMy4wIgorICAg ICJAcHJvamVjdHN0b3JtL3JlYWN0LWRpYWdyYW1zLXJvdXRpbmciICJeNi4zLjAiCisKICJAc2lt b253ZXAvcGlja3JAXjEuNS4xIjoKLSAgdmVyc2lvbiAiMS43LjQiCi0gIHJlc29sdmVkICJodHRw czovL3JlZ2lzdHJ5Lnlhcm5wa2cuY29tL0BzaW1vbndlcC9waWNrci8tL3BpY2tyLTEuNy40LnRn eiNiMTRmY2Q5NDU4OTAzODhiODcwY2Q2ZGI0ZDZjNzhkNTMxZjI1MTQxIgotICBpbnRlZ3JpdHkg c2hhNTEyLWZxN2pnS0pUMjF1V0dDMW1BUkJIdnZkMUpZbEVmOTNvN1N1Vk9CNExyMHgvMlVQdU5D OU9lOW4vR3pWZWc0b1Z0cU1EZmgxd0lFSnBzZE9KRVpiKzNnPT0KKyAgdmVyc2lvbiAiMS44LjAi CisgIHJlc29sdmVkICJodHRwczovL3JlZ2lzdHJ5Lnlhcm5wa2cuY29tL0BzaW1vbndlcC9waWNr ci8tL3BpY2tyLTEuOC4wLnRneiNhZGJmZjlhNGY3ZjBlNTlkZWM5OTQ2NTA4YzVlNDgxYjdhYmFl MGY4IgorICBpbnRlZ3JpdHkgc2hhNTEyLVZhU0Q3VHdrdE9zcm81blEvRmpSeDVKQUowOWs1Q05m R1JIYWNnVlJ4ZVZQb2xVUXdlbHoxU2pMOEhBT0tad1RTbWNuSU9icHRwSEFCUVM0emdON3N3PT0K ICAgZGVwZW5kZW5jaWVzOgotICAgIGNvcmUtanMgIl4zLjYuNSIKKyAgICBjb3JlLWpzICJeMy44 LjAiCiAgICAgbmFub3BvcCAiXjIuMS4wIgogCiAiQHNpbmRyZXNvcmh1cy9pc0BeMC43LjAiOgpA QCAtODA0LDIxICsxMDQ4LDQzIEBACiAgIHJlc29sdmVkICJodHRwczovL3JlZ2lzdHJ5Lnlhcm5w a2cuY29tL0BzaW5kcmVzb3JodXMvaXMvLS9pcy0wLjcuMC50Z3ojOWEwNmY0ZjEzN2VlODRkN2Rm MDQ2MGMxZmRiMTEzNWZmYTZjNTBmZCIKICAgaW50ZWdyaXR5IHNoYTUxMi1PTmhhS1BJdWZ6enJs TmJxdFdGRmQramxuZW1YNmxKQWdxOVplaVp0UzdJMVBJZi9sYTdDVzRtODNyVFhSblZuc01iVzJr NTZwR1l1N0FVRkpEOVBvdz09CiAKKyJAdGlwcHlqcy9yZWFjdEBeNC4yLjAiOgorICB2ZXJzaW9u ICI0LjIuMCIKKyAgcmVzb2x2ZWQgImh0dHBzOi8vcmVnaXN0cnkueWFybnBrZy5jb20vQHRpcHB5 anMvcmVhY3QvLS9yZWFjdC00LjIuMC50Z3ojYTFjYjM2OWQwMDUxMDk5ZThhN2U0Y2ViNTlmODA5 YWJkOTk1NTI4MyIKKyAgaW50ZWdyaXR5IHNoYTUxMi1UNlVjSHR3dEdrdmdzQlE0Yk5wOEJ0WEd4 YTJ1amZPa1dVb2dZa1J0TjRVVkoyUVJnRGRGb0plYVB4ZG5kblZZRkVhMnVUVnhTRnhzOFFrU2ta Mkdkdz09CisgIGRlcGVuZGVuY2llczoKKyAgICB0aXBweS5qcyAiXjYuMi4wIgorCisiQHR5cGVz L2VzdHJlZUAqIjoKKyAgdmVyc2lvbiAiMC4wLjQ1IgorICByZXNvbHZlZCAiaHR0cHM6Ly9yZWdp c3RyeS55YXJucGtnLmNvbS9AdHlwZXMvZXN0cmVlLy0vZXN0cmVlLTAuMC40NS50Z3ojZTkzODc1 NzI5OThlNWVjZGFjMjIxOTUwZGFiM2U4YzNiMTZhZjg4NCIKKyAgaW50ZWdyaXR5IHNoYTUxMi1q bnFJVUtEVXFKYkRJVXhtMFVqN2JubE1uUm0xVC9lWjlOK0FWTXFoUGd6cmJhMkdoR0c1by9qQ1R3 bWRQSzcwOW5FWnNHb016WEVEVWpjWEhhM1cwZz09CisKICJAdHlwZXMvanNvbi1zY2hlbWFAXjcu MC41IjoKICAgdmVyc2lvbiAiNy4wLjYiCiAgIHJlc29sdmVkICJodHRwczovL3JlZ2lzdHJ5Lnlh cm5wa2cuY29tL0B0eXBlcy9qc29uLXNjaGVtYS8tL2pzb24tc2NoZW1hLTcuMC42LnRneiNmNGM3 ZWM0M2U4MWIzMTlhOTgxNTExNTAzMTcwOWYyNjk4Nzg5MWYwIgogICBpbnRlZ3JpdHkgc2hhNTEy LTNjK3lHS3ZWUDVZOVRZQkVpYkdOUitrTHRpam5qN21ZclhSZytXcEZiMlg5eG0wNGcvRFhZa2Zn NGhtekpRb3NjOXNuRk5VUGtiWUlodStLQW02akp3PT0KIAogIkB0eXBlcy9ub2RlQCoiOgotICB2 ZXJzaW9uICIxNC4xMS41IgotICByZXNvbHZlZCAiaHR0cHM6Ly9yZWdpc3RyeS55YXJucGtnLmNv bS9AdHlwZXMvbm9kZS8tL25vZGUtMTQuMTEuNS50Z3ojZmVjYWQ0MWMwNDFjYWU3ZjI0MDRhZDRi MmQwNzQyZmRiNjI4YjMwNSIKLSAgaW50ZWdyaXR5IHNoYTUxMi1qVkZ6RFY2TlRickxNeG00eERT SVcvZ0tuazhyUUxGOXdBekxXSU9nKzVuVTZBQ3JJTW5kZUJkWGNpMEZHdHFKYlA5dFF2bTZWMzll c2hjOTZUTzJ3UT09CisgIHZlcnNpb24gIjE0LjE0LjE2IgorICByZXNvbHZlZCAiaHR0cHM6Ly9y ZWdpc3RyeS55YXJucGtnLmNvbS9AdHlwZXMvbm9kZS8tL25vZGUtMTQuMTQuMTYudGd6IzNjYzM1 MWY4ZDQ4MTAxZGVhZGZlZDRjOWU0ZjExNjA0OGQ0MzdiNGIiCisgIGludGVncml0eSBzaGE1MTIt bmFYWWVQaHdlVGkrQk12MTFUZ2lvRTIvRlhVNGZTbDI5SEFIMWZmeFZjaU5zSDNyWVhqTlAyeU04 d3FtU203alMyMGdNOFRJa2xLaVRlbisxaVZuY3c9PQorCisiQHR5cGVzL3BhcnNlLWpzb25AXjQu MC4wIjoKKyAgdmVyc2lvbiAiNC4wLjAiCisgIHJlc29sdmVkICJodHRwczovL3JlZ2lzdHJ5Lnlh cm5wa2cuY29tL0B0eXBlcy9wYXJzZS1qc29uLy0vcGFyc2UtanNvbi00LjAuMC50Z3ojMmY4YmI0 NDE0MzRkMTYzYjM1ZmI4ZmZkY2NkNzEzODkyN2ZmYjhjMCIKKyAgaW50ZWdyaXR5IHNoYTUxMi0v L29vckVaakw2c2JQY0tVYUNkSUdsSVVlSDI2bWd6aW1qQkI3N0c2WFJnbkRsL0w1d09ucHlCR1Jl L01tZjVDVlczUHdFQkUxTmppTVovc3NGaDR3QT09CiAKICJAdHlwZXMvcUBeMS41LjEiOgogICB2 ZXJzaW9uICIxLjUuNCIKICAgcmVzb2x2ZWQgImh0dHBzOi8vcmVnaXN0cnkueWFybnBrZy5jb20v QHR5cGVzL3EvLS9xLTEuNS40LnRneiMxNTkyNTQxNGUwYWQyY2Q3NjViZmVmNTg4NDJmN2UyNmE3 YWNjYjI0IgogICBpbnRlZ3JpdHkgc2hhNTEyLTFIY0RhczhTRWo0ejFXYzY5NnRINTZHOE9sUmFI L3NxWk95bk5OQitIRjBXT2VYUGF4VHRiWXpKWTJvRWZpVXhqU0tqaENLcitNdlI3ZENIY0VlbHVn PT0KIAorIkB0eXBlcy9yYWZAXjMuNC4wIjoKKyAgdmVyc2lvbiAiMy40LjAiCisgIHJlc29sdmVk ICJodHRwczovL3JlZ2lzdHJ5Lnlhcm5wa2cuY29tL0B0eXBlcy9yYWYvLS9yYWYtMy40LjAudGd6 IzJiNzJjYmQ1NTQwNWUwNzFmMWM0ZDI5OTkyNjM4ZTAyMmIyMGFjYzIiCisgIGludGVncml0eSBz aGE1MTItdGFXNS9XWXFvMzZON1YzOW9ZeUhQOUlwZmQ1cE5GdkdUSVFzTkdqODZ4Vjg4WVE3R25J MzAveU1mS0RGN1pnaW4wbTNlK2lrWDg4RnZJbW5LNFJqR3c9PQorCiAiQHdlYmFzc2VtYmx5anMv YXN0QDEuOS4wIjoKICAgdmVyc2lvbiAiMS45LjAiCiAgIHJlc29sdmVkICJodHRwczovL3JlZ2lz dHJ5Lnlhcm5wa2cuY29tL0B3ZWJhc3NlbWJseWpzL2FzdC8tL2FzdC0xLjkuMC50Z3ojYmQ4NTA2 MDRiNDA0MjQ1OWE1YTQxY2Q3ZDMzOGNiZWQ2OTVlZDk2NCIKQEAgLTEwMjMsNyArMTI4OSw3IEBA IGFjb3JuQF42LjAuNywgYWNvcm5AXjYuNC4xOgogICByZXNvbHZlZCAiaHR0cHM6Ly9yZWdpc3Ry eS55YXJucGtnLmNvbS9hY29ybi8tL2Fjb3JuLTYuNC4yLnRneiMzNTg2NmZkNzEwNTI4ZTkyZGUx MGNmMDYwMTY0OThlNDdlMzllMWU2IgogICBpbnRlZ3JpdHkgc2hhNTEyLVh0R0loWHdGOFlNOGJK aEd4RzVrWGdqa0V1TkdMVGtvWXFWRStLTVIrYXNwcjRLR1ltS1lnN3lVZTNLZ2h5UTl5aGVOd0xu am16aC83K2dmREJtSENRPT0KIAotYWNvcm5AXjcuMC4wLCBhY29ybkBeNy4xLjE6CithY29ybkBe Ny4wLjAsIGFjb3JuQF43LjEuMCwgYWNvcm5AXjcuMS4xOgogICB2ZXJzaW9uICI3LjQuMSIKICAg cmVzb2x2ZWQgImh0dHBzOi8vcmVnaXN0cnkueWFybnBrZy5jb20vYWNvcm4vLS9hY29ybi03LjQu MS50Z3ojZmVhZWQyNTU5NzNkMmU3NzU1NWI4M2RiYzA4ODUxYTZjNjM1MjBmYSIKICAgaW50ZWdy aXR5IHNoYTUxMi1uUXlwMG8xL21OZGJUTzFQTzZrSGt3U3JtZ1owTVQvakNDcE5pd2JVakdvUk40 ZGxCaHFKdG9RdUNuRU9LemdUVndnMFpXaUNvUXk2U3hNZWJRVmg4QT09CkBAIC0xMDc3LDkgKzEz NDMsOSBAQCBhanZAXjUuMC4wOgogICAgIGpzb24tc2NoZW1hLXRyYXZlcnNlICJeMC4zLjAiCiAK IGFqdkBeNi4xLjAsIGFqdkBeNi4xMC4yLCBhanZAXjYuMTIuNCwgYWp2QF42LjkuMToKLSAgdmVy c2lvbiAiNi4xMi41IgotICByZXNvbHZlZCAiaHR0cHM6Ly9yZWdpc3RyeS55YXJucGtnLmNvbS9h anYvLS9hanYtNi4xMi41LnRneiMxOWIwZThiYWU4ZjQ3NmU1YmE2NjYzMDAzODc3NzVmYjFhMDBh NGRhIgotICBpbnRlZ3JpdHkgc2hhNTEyLWxSRjhST1JjaGpwS0c1MC9XRmY4eG1nN3NnQ0xGaVlO Tm5xZEtmbGs2M3doTVFjV1I1bmdHamlTWGtMOWJqeHk2QjJucE9LMkhTTU40OWpFQk1Ta2FnPT0K KyAgdmVyc2lvbiAiNi4xMi42IgorICByZXNvbHZlZCAiaHR0cHM6Ly9yZWdpc3RyeS55YXJucGtn LmNvbS9hanYvLS9hanYtNi4xMi42LnRneiNiYWY1YTYyZTgwMmIwN2Q5NzcwMzQ1ODZmOGMzYmFm NWFkZjI2ZGY0IgorICBpbnRlZ3JpdHkgc2hhNTEyLWozZlZMZ3ZUbzUyN2FueVl5Sk9HVFlKYkcr dm5uUVl2RTBtNW1ta2MxVEsrbnhBcHBrQ0xNSUwwYVo0ZGJsVkNOb0dTaGhtK2t6RTRaVXlrQm9N ZzRnPT0KICAgZGVwZW5kZW5jaWVzOgogICAgIGZhc3QtZGVlcC1lcXVhbCAiXjMuMS4xIgogICAg IGZhc3QtanNvbi1zdGFibGUtc3RyaW5naWZ5ICJeMi4wLjAiCkBAIC0xMDg4LDcgKzEzNTQsNyBA QCBhanZAXjYuMS4wLCBhanZAXjYuMTAuMiwgYWp2QF42LjEyLjQsIGFqdkBeNi45LjE6CiAKICJh bGVydGlmeWpzQGdpdCtodHRwczovL2dpdGh1Yi5jb20vRW50ZXJwcmlzZURCL0FsZXJ0aWZ5SlMv IzcyYzFkNzk0ZjViNmQ0ZWMxM2E2OGQxMjNjMDhmMTkwMjFhZmUyNjMiOgogICB2ZXJzaW9uICIx LjcuMSIKLSAgcmVzb2x2ZWQgImdpdCtodHRwczovL2dpdGh1Yi5jb20vRW50ZXJwcmlzZURCL0Fs ZXJ0aWZ5SlMuZ2l0IzcyYzFkNzk0ZjViNmQ0ZWMxM2E2OGQxMjNjMDhmMTkwMjFhZmUyNjMiCisg IHJlc29sdmVkICJnaXQraHR0cHM6Ly9naXRodWIuY29tL0VudGVycHJpc2VEQi9BbGVydGlmeUpT LyM3MmMxZDc5NGY1YjZkNGVjMTNhNjhkMTIzYzA4ZjE5MDIxYWZlMjYzIgogCiBhbHBoYW51bS1z b3J0QF4xLjAuMDoKICAgdmVyc2lvbiAiMS4wLjIiCkBAIC0xMTYxLDkgKzE0MjcsOSBAQCBhcHJv YmFAXjEuMS4xOgogICBpbnRlZ3JpdHkgc2hhNTEyLVk5SjZaalh0b1loOFJuWFZDTU9VL3R0RG1r MWFCanVucTl2TzB0YTV4ODVXRFFpUWZVRjlzSVBCSVRkYmlpSVZjQm8wM0hpM2pNeGlnQnRzZGRs WFJ3PT0KIAogYXJjaEBeMi4xLjA6Ci0gIHZlcnNpb24gIjIuMS4yIgotICByZXNvbHZlZCAiaHR0 cHM6Ly9yZWdpc3RyeS55YXJucGtnLmNvbS9hcmNoLy0vYXJjaC0yLjEuMi50Z3ojMGM1MmJiZTcz NDRiYjRmYTI2MGM0NDNkMmNiYWQ5YzAwZmYyZjBiZiIKLSAgaW50ZWdyaXR5IHNoYTUxMi1OVEJJ SWJBZmtKZUlsZXR5QUJiVnRkUGdlS2ZEYWZSKzFtWlYvQXl5ZkMxVWtWa3A5aVVqVit3d21xdFVn cGhIWWFqYkk4NmplakJKcDVlK2prR1RpUT09CisgIHZlcnNpb24gIjIuMi4wIgorICByZXNvbHZl ZCAiaHR0cHM6Ly9yZWdpc3RyeS55YXJucGtnLmNvbS9hcmNoLy0vYXJjaC0yLjIuMC50Z3ojMWJj NDc4MThmMzA1NzY0ZjIzYWIzMzA2YjBiZmMwODZjNWEyOWQxMSIKKyAgaW50ZWdyaXR5IHNoYTUx Mi1PZi9SMHdxcDgzY2dIb3pmSVlMYkJNbmVqNzlVL1NWR09PeXVCM1ZWRnYxTlJNL1BTRk1LMTJ4 OUtWdGlZekpxbW5VNVdSMnFwMFo1ckhiN3NXR25GUT09CiAKIGFyY2hpdmUtdHlwZUBeNC4wLjA6 CiAgIHZlcnNpb24gIjQuMC4wIgpAQCAtMTIwOSwxMyArMTQ3NSwxNSBAQCBhcnJheS1mbGF0dGVu QDEuMS4xOgogICByZXNvbHZlZCAiaHR0cHM6Ly9yZWdpc3RyeS55YXJucGtnLmNvbS9hcnJheS1m bGF0dGVuLy0vYXJyYXktZmxhdHRlbi0xLjEuMS50Z3ojOWE1ZjY5OTA1MWIxZTcwNzMzMjhmMmEw MDg5NjhiNjRlYTI5NTVkMiIKICAgaW50ZWdyaXR5IHNoYTEtbWw5cGtGR3g1d2N6S1BLZ0NKYUxa T29wVmRJPQogCi1hcnJheS1pbmNsdWRlc0BeMy4xLjE6Ci0gIHZlcnNpb24gIjMuMS4xIgotICBy ZXNvbHZlZCAiaHR0cHM6Ly9yZWdpc3RyeS55YXJucGtnLmNvbS9hcnJheS1pbmNsdWRlcy8tL2Fy cmF5LWluY2x1ZGVzLTMuMS4xLnRneiNjZGQ2N2U2ODUyYmRmOWMxMjE1NDYwNzg2NzMyMjU1ZWQy NDU5MzQ4IgotICBpbnRlZ3JpdHkgc2hhNTEyLWMyVlhhQ0hsN3pQc3Zwa0ZzdzRueHZGaWU0Zmgx dXI5YnBjZ3NWa0lqcW4wSC9Yd2RnKzdmdjNuMnIvaXN5UzhFQmo1YjA2TTlrSHladUlyNEVsNldR PT0KK2FycmF5LWluY2x1ZGVzQF4zLjEuMSwgYXJyYXktaW5jbHVkZXNAXjMuMS4yOgorICB2ZXJz aW9uICIzLjEuMiIKKyAgcmVzb2x2ZWQgImh0dHBzOi8vcmVnaXN0cnkueWFybnBrZy5jb20vYXJy YXktaW5jbHVkZXMvLS9hcnJheS1pbmNsdWRlcy0zLjEuMi50Z3ojYThkYjAzZTBiODhjOGM2YWVk ZGM0OWNiMTMyZjliY2FiNGViZjljOCIKKyAgaW50ZWdyaXR5IHNoYTUxMi13MkdzcGV4TlFweCtQ dXRHM1FwVDQzNy9CZW5aQmowTS9NWkduNW16di9Nb2ZZcW8weG1SSHpuNGxGc29EbFdKK1RIWXNH Sm1GbFc2OFdsREZ4N1ZSdz09CiAgIGRlcGVuZGVuY2llczoKKyAgICBjYWxsLWJpbmQgIl4xLjAu MCIKICAgICBkZWZpbmUtcHJvcGVydGllcyAiXjEuMS4zIgotICAgIGVzLWFic3RyYWN0ICJeMS4x Ny4wIgorICAgIGVzLWFic3RyYWN0ICJeMS4xOC4wLW5leHQuMSIKKyAgICBnZXQtaW50cmluc2lj ICJeMS4wLjEiCiAgICAgaXMtc3RyaW5nICJeMS4wLjUiCiAKIGFycmF5LXVuaW9uQF4xLjAuMToK QEAgLTEyNDQsMjAgKzE1MTIsMjIgQEAgYXJyYXkucHJvdG90eXBlLmZpbmRAXjIuMS4xOgogICAg IGVzLWFic3RyYWN0ICJeMS4xNy40IgogCiBhcnJheS5wcm90b3R5cGUuZmxhdEBeMS4yLjM6Ci0g IHZlcnNpb24gIjEuMi4zIgotICByZXNvbHZlZCAiaHR0cHM6Ly9yZWdpc3RyeS55YXJucGtnLmNv bS9hcnJheS5wcm90b3R5cGUuZmxhdC8tL2FycmF5LnByb3RvdHlwZS5mbGF0LTEuMi4zLnRneiMw ZGU4MmI0MjZiMDMxOGRiZmRiOTQwMDg5ZTM4YjA0M2QzN2Y2YzdiIgotICBpbnRlZ3JpdHkgc2hh NTEyLWdCbFJaVjBWU21mUEllV2Z1dXk1NlhaTXZiVmZiRVVuT1hVdnQzRi9lVVVVU3l6bGdMeGhF WDRZQUVweE5Bb2dSR2VoUFNuZlh5UHRZeUtBaGt6UWhRPT0KKyAgdmVyc2lvbiAiMS4yLjQiCisg IHJlc29sdmVkICJodHRwczovL3JlZ2lzdHJ5Lnlhcm5wa2cuY29tL2FycmF5LnByb3RvdHlwZS5m bGF0Ly0vYXJyYXkucHJvdG90eXBlLmZsYXQtMS4yLjQudGd6IzZlZjYzOGI0MzMxMmJkNDAxYjRj NjE5OWZkZWM3ZTJkYzllOWExMjMiCisgIGludGVncml0eSBzaGE1MTItNDQ3MFhpM0dBUEFqWnFG Y2xqWDJ4emNrdjFxZUtQaXpvTmtpUzArTzRJb1BSMlpOcGNqRTBwa2hkaWhsRG91Syt4NlFPYXN0 MjZCNFEvTzlESm53U2c9PQogICBkZXBlbmRlbmNpZXM6CisgICAgY2FsbC1iaW5kICJeMS4wLjAi CiAgICAgZGVmaW5lLXByb3BlcnRpZXMgIl4xLjEuMyIKLSAgICBlcy1hYnN0cmFjdCAiXjEuMTcu MC1uZXh0LjEiCisgICAgZXMtYWJzdHJhY3QgIl4xLjE4LjAtbmV4dC4xIgogCiBhcnJheS5wcm90 b3R5cGUuZmxhdG1hcEBeMS4yLjM6Ci0gIHZlcnNpb24gIjEuMi4zIgotICByZXNvbHZlZCAiaHR0 cHM6Ly9yZWdpc3RyeS55YXJucGtnLmNvbS9hcnJheS5wcm90b3R5cGUuZmxhdG1hcC8tL2FycmF5 LnByb3RvdHlwZS5mbGF0bWFwLTEuMi4zLnRneiMxYzEzZjg0YTE3ODU2NjA0MmRkNjNkZTQ0MTQ0 NDBkYjkyMjJlNDQzIgotICBpbnRlZ3JpdHkgc2hhNTEyLU9PRWsrbGtlUGNnK09EWElwdnVVOVBB cnlDaWtDSnlvN0dsREcxdXBsZUVwUVJ4Nm16TDlwdUVCa296UTVpQXgyMEtWMGwzRGJ5UXdxY2lK dHFlNVBnPT0KKyAgdmVyc2lvbiAiMS4yLjQiCisgIHJlc29sdmVkICJodHRwczovL3JlZ2lzdHJ5 Lnlhcm5wa2cuY29tL2FycmF5LnByb3RvdHlwZS5mbGF0bWFwLy0vYXJyYXkucHJvdG90eXBlLmZs YXRtYXAtMS4yLjQudGd6Izk0Y2ZkNDdjYzE1NTZlYzA3NDdkOTdmN2M3NzM4YzU4MTIyMDA0Yzki CisgIGludGVncml0eSBzaGE1MTItcjlaMHpZb3hxSHo2MHZ2UWJXRWRYSUV0Q3dIRjB5eGFXZm5v OXF6WGVOSHZmeWwzQlpxeWdtR3piODRkc3VieWFYTEg0aHVzRitORmdNU2RwWmhrMlE9PQogICBk ZXBlbmRlbmNpZXM6CisgICAgY2FsbC1iaW5kICJeMS4wLjAiCiAgICAgZGVmaW5lLXByb3BlcnRp ZXMgIl4xLjEuMyIKLSAgICBlcy1hYnN0cmFjdCAiXjEuMTcuMC1uZXh0LjEiCisgICAgZXMtYWJz dHJhY3QgIl4xLjE4LjAtbmV4dC4xIgogICAgIGZ1bmN0aW9uLWJpbmQgIl4xLjEuMSIKIAogYXJy YXlidWZmZXIuc2xpY2VAfjAuMC43OgpAQCAtMTMzNCwxMSArMTYwNCwxMSBAQCBhdXRvcHJlZml4 ZXJAXjkuNi40OgogICAgIHBvc3Rjc3MtdmFsdWUtcGFyc2VyICJeNC4xLjAiCiAKIGF4aW9zLW1v Y2stYWRhcHRlckBeMS4xNy4wOgotICB2ZXJzaW9uICIxLjE4LjIiCi0gIHJlc29sdmVkICJodHRw czovL3JlZ2lzdHJ5Lnlhcm5wa2cuY29tL2F4aW9zLW1vY2stYWRhcHRlci8tL2F4aW9zLW1vY2st YWRhcHRlci0xLjE4LjIudGd6IzAxZmE5ZTg4ZTY5MmU4ZjFiYmMxYWQxMjAwZGRlNjcyNDg2ZTAz YzciCi0gIGludGVncml0eSBzaGE1MTItZTVhVHNQeTJWaW92MjJ6TnBGVGxpZDc2VzFTY3o4MnBY ZUV3d0NYZHRPODVMUk9oSEFGOHBIRjJxRGhpeU1PTkx4S3lZM2xRK1M0VUNzS2dybHg4SHc9PQor ICB2ZXJzaW9uICIxLjE5LjAiCisgIHJlc29sdmVkICJodHRwczovL3JlZ2lzdHJ5Lnlhcm5wa2cu Y29tL2F4aW9zLW1vY2stYWRhcHRlci8tL2F4aW9zLW1vY2stYWRhcHRlci0xLjE5LjAudGd6Izlk NzJlMzIxYTZjNTQxOGUxZWZmMDY3YWE5OTc2MWE4NmM1MTg4YTQiCisgIGludGVncml0eSBzaGE1 MTItRCswVTRMTlByN1dyb2lCRHZXaWx6VE1ZUFlUdVpsYm82Qkk4WUhadGo3d1lRUzhOa0FSbFA5 S0J0OElXV0hUUUowcS84b1owQ2xQQnRLQ0NreDhjUWc9PQogICBkZXBlbmRlbmNpZXM6Ci0gICAg ZmFzdC1kZWVwLWVxdWFsICJeMy4xLjEiCisgICAgZmFzdC1kZWVwLWVxdWFsICJeMy4xLjMiCiAg ICAgaXMtYnVmZmVyICJeMi4wLjMiCiAKIGF4aW9zQF4wLjE4LjE6CkBAIC0xMzU4LDYgKzE2Mjgs MTggQEAgYmFiZWwtY29kZS1mcmFtZUBeNi4yNi4wOgogICAgIGVzdXRpbHMgIl4yLjAuMiIKICAg ICBqcy10b2tlbnMgIl4zLjAuMiIKIAorYmFiZWwtZXNsaW50QF4xMC4xLjA6CisgIHZlcnNpb24g IjEwLjEuMCIKKyAgcmVzb2x2ZWQgImh0dHBzOi8vcmVnaXN0cnkueWFybnBrZy5jb20vYmFiZWwt ZXNsaW50Ly0vYmFiZWwtZXNsaW50LTEwLjEuMC50Z3ojNjk2OGU1NjhhOTEwYjc4ZmIzNzc5Y2Rk OGI2YWMyZjQ3OTk0MzIzMiIKKyAgaW50ZWdyaXR5IHNoYTUxMi1pZldhVEhRMGNlKzQ0OENZb3A4 QWRyUWlCc0dybkMrYk1nZnlLRmRpNkVzUExUQVdHK1FmeURlTTZPSCtGbVduS3ZFcTVObkJNTHZs QlVQS1Fab0RTZz09CisgIGRlcGVuZGVuY2llczoKKyAgICAiQGJhYmVsL2NvZGUtZnJhbWUiICJe Ny4wLjAiCisgICAgIkBiYWJlbC9wYXJzZXIiICJeNy43LjAiCisgICAgIkBiYWJlbC90cmF2ZXJz ZSIgIl43LjcuMCIKKyAgICAiQGJhYmVsL3R5cGVzIiAiXjcuNy4wIgorICAgIGVzbGludC12aXNp dG9yLWtleXMgIl4xLjAuMCIKKyAgICByZXNvbHZlICJeMS4xMi4wIgorCiBiYWJlbC1nZW5lcmF0 b3JAXjYuMTguMDoKICAgdmVyc2lvbiAiNi4yNi4xIgogICByZXNvbHZlZCAiaHR0cHM6Ly9yZWdp c3RyeS55YXJucGtnLmNvbS9iYWJlbC1nZW5lcmF0b3IvLS9iYWJlbC1nZW5lcmF0b3ItNi4yNi4x LnRneiMxODQ0NDA4ZDNiOGYwZDM1YTQwNGVhN2FjMTgwZjA4N2E2MDFiZDkwIgpAQCAtMTM3Miw5 MSArMTY1NCwxNSBAQCBiYWJlbC1nZW5lcmF0b3JAXjYuMTguMDoKICAgICBzb3VyY2UtbWFwICJe MC41LjciCiAgICAgdHJpbS1yaWdodCAiXjEuMC4xIgogCi1iYWJlbC1oZWxwZXItY2FsbC1kZWxl Z2F0ZUBeNi4yNC4xOgotICB2ZXJzaW9uICI2LjI0LjEiCi0gIHJlc29sdmVkICJodHRwczovL3Jl Z2lzdHJ5Lnlhcm5wa2cuY29tL2JhYmVsLWhlbHBlci1jYWxsLWRlbGVnYXRlLy0vYmFiZWwtaGVs cGVyLWNhbGwtZGVsZWdhdGUtNi4yNC4xLnRneiNlY2U2YWFjZGRjNzZlNDFjMzQ2MWY4OGJmYzU3 NWJkMGRhYTJkZjhkIgotICBpbnRlZ3JpdHkgc2hhMS03T2FxemR4MjVCdzBZZmlML0ZkYjBOcWkz NDA9CitiYWJlbC1sb2FkZXJAXjguMS4wOgorICB2ZXJzaW9uICI4LjIuMiIKKyAgcmVzb2x2ZWQg Imh0dHBzOi8vcmVnaXN0cnkueWFybnBrZy5jb20vYmFiZWwtbG9hZGVyLy0vYmFiZWwtbG9hZGVy LTguMi4yLnRneiM5MzYzY2U4NGMxMGM5YTQwZTZjNzUzNzQ4ZTE0NDFiNjBjOGEwYjgxIgorICBp bnRlZ3JpdHkgc2hhNTEyLUp2VGQwL0Q4ODlQUUJ0VVhKMlBYYUtVL3BqWkRNdEhBOVYyZWNtK2VO Um1tQkNNUjA5YStmbXBHVE53bkp0Rm1GbDVFaTdWeTQ3TGpCYitMMHdROTlnPT0KICAgZGVwZW5k ZW5jaWVzOgotICAgIGJhYmVsLWhlbHBlci1ob2lzdC12YXJpYWJsZXMgIl42LjI0LjEiCi0gICAg YmFiZWwtcnVudGltZSAiXjYuMjIuMCIKLSAgICBiYWJlbC10cmF2ZXJzZSAiXjYuMjQuMSIKLSAg ICBiYWJlbC10eXBlcyAiXjYuMjQuMSIKLQotYmFiZWwtaGVscGVyLWRlZmluZS1tYXBAXjYuMjQu MToKLSAgdmVyc2lvbiAiNi4yNi4wIgotICByZXNvbHZlZCAiaHR0cHM6Ly9yZWdpc3RyeS55YXJu cGtnLmNvbS9iYWJlbC1oZWxwZXItZGVmaW5lLW1hcC8tL2JhYmVsLWhlbHBlci1kZWZpbmUtbWFw LTYuMjYuMC50Z3ojYTVmNTZkYWI0MWEyNWY5N2VjYjQ5OGM3ZWJhY2E5ODE5Zjk1YmU1ZiIKLSAg aW50ZWdyaXR5IHNoYTEtcGZWdHEwR2lYNWZzdEpqSDY2eXBnWitWdmw4PQotICBkZXBlbmRlbmNp ZXM6Ci0gICAgYmFiZWwtaGVscGVyLWZ1bmN0aW9uLW5hbWUgIl42LjI0LjEiCi0gICAgYmFiZWwt cnVudGltZSAiXjYuMjYuMCIKLSAgICBiYWJlbC10eXBlcyAiXjYuMjYuMCIKLSAgICBsb2Rhc2gg Il40LjE3LjQiCi0KLWJhYmVsLWhlbHBlci1mdW5jdGlvbi1uYW1lQF42LjI0LjE6Ci0gIHZlcnNp b24gIjYuMjQuMSIKLSAgcmVzb2x2ZWQgImh0dHBzOi8vcmVnaXN0cnkueWFybnBrZy5jb20vYmFi ZWwtaGVscGVyLWZ1bmN0aW9uLW5hbWUvLS9iYWJlbC1oZWxwZXItZnVuY3Rpb24tbmFtZS02LjI0 LjEudGd6I2QzNDc1YjhjMDNlZDk4MjQyYTI1YjQ4MzUxYWIxODM5OWQzNTgwYTkiCi0gIGludGVn cml0eSBzaGExLTAwZGJqQVB0bUNRcUpiU0RVYXNZT1owMWdLaz0KLSAgZGVwZW5kZW5jaWVzOgot ICAgIGJhYmVsLWhlbHBlci1nZXQtZnVuY3Rpb24tYXJpdHkgIl42LjI0LjEiCi0gICAgYmFiZWwt cnVudGltZSAiXjYuMjIuMCIKLSAgICBiYWJlbC10ZW1wbGF0ZSAiXjYuMjQuMSIKLSAgICBiYWJl bC10cmF2ZXJzZSAiXjYuMjQuMSIKLSAgICBiYWJlbC10eXBlcyAiXjYuMjQuMSIKLQotYmFiZWwt aGVscGVyLWdldC1mdW5jdGlvbi1hcml0eUBeNi4yNC4xOgotICB2ZXJzaW9uICI2LjI0LjEiCi0g IHJlc29sdmVkICJodHRwczovL3JlZ2lzdHJ5Lnlhcm5wa2cuY29tL2JhYmVsLWhlbHBlci1nZXQt ZnVuY3Rpb24tYXJpdHkvLS9iYWJlbC1oZWxwZXItZ2V0LWZ1bmN0aW9uLWFyaXR5LTYuMjQuMS50 Z3ojOGY3NzgyYWE5MzQwN2M0MWQzYWE1MDkwOGY4OWIwMzFiMWI2ODUzZCIKLSAgaW50ZWdyaXR5 IHNoYTEtajNlQ3FwTkFmRUhUcWxDUWo0bXdNYkcyaFQwPQotICBkZXBlbmRlbmNpZXM6Ci0gICAg YmFiZWwtcnVudGltZSAiXjYuMjIuMCIKLSAgICBiYWJlbC10eXBlcyAiXjYuMjQuMSIKLQotYmFi ZWwtaGVscGVyLWhvaXN0LXZhcmlhYmxlc0BeNi4yNC4xOgotICB2ZXJzaW9uICI2LjI0LjEiCi0g IHJlc29sdmVkICJodHRwczovL3JlZ2lzdHJ5Lnlhcm5wa2cuY29tL2JhYmVsLWhlbHBlci1ob2lz dC12YXJpYWJsZXMvLS9iYWJlbC1oZWxwZXItaG9pc3QtdmFyaWFibGVzLTYuMjQuMS50Z3ojMWVj YjI3Njg5YzlkMjU1MTNlYWRiYzk5MTRhNzNmNTQwOGJlN2E3NiIKLSAgaW50ZWdyaXR5IHNoYTEt SHNzbmFKeWRKVkUrcmJ5WkZLYy9WQWkrZW5ZPQotICBkZXBlbmRlbmNpZXM6Ci0gICAgYmFiZWwt cnVudGltZSAiXjYuMjIuMCIKLSAgICBiYWJlbC10eXBlcyAiXjYuMjQuMSIKLQotYmFiZWwtaGVs cGVyLW9wdGltaXNlLWNhbGwtZXhwcmVzc2lvbkBeNi4yNC4xOgotICB2ZXJzaW9uICI2LjI0LjEi Ci0gIHJlc29sdmVkICJodHRwczovL3JlZ2lzdHJ5Lnlhcm5wa2cuY29tL2JhYmVsLWhlbHBlci1v cHRpbWlzZS1jYWxsLWV4cHJlc3Npb24vLS9iYWJlbC1oZWxwZXItb3B0aW1pc2UtY2FsbC1leHBy ZXNzaW9uLTYuMjQuMS50Z3ojZjdhMTM0MjdiYTlmNzNmOGY0ZmE5OTNjNTRhOTc4ODJkMTI0NDI1 NyIKLSAgaW50ZWdyaXR5IHNoYTEtOTZFMEo3cWZjL2owK3BrOFZLbDRndEVrUWxjPQotICBkZXBl bmRlbmNpZXM6Ci0gICAgYmFiZWwtcnVudGltZSAiXjYuMjIuMCIKLSAgICBiYWJlbC10eXBlcyAi XjYuMjQuMSIKLQotYmFiZWwtaGVscGVyLXJlZ2V4QF42LjI0LjE6Ci0gIHZlcnNpb24gIjYuMjYu MCIKLSAgcmVzb2x2ZWQgImh0dHBzOi8vcmVnaXN0cnkueWFybnBrZy5jb20vYmFiZWwtaGVscGVy LXJlZ2V4Ly0vYmFiZWwtaGVscGVyLXJlZ2V4LTYuMjYuMC50Z3ojMzI1YzU5ZjkwMmY4MmYyNGI3 NGZhY2VlZDAzNjM5NTRmNjQ5NWU3MiIKLSAgaW50ZWdyaXR5IHNoYTEtTWx4WitRTDRMeVMzVDZ6 dTBEWTVWUFpKWG5JPQotICBkZXBlbmRlbmNpZXM6Ci0gICAgYmFiZWwtcnVudGltZSAiXjYuMjYu MCIKLSAgICBiYWJlbC10eXBlcyAiXjYuMjYuMCIKLSAgICBsb2Rhc2ggIl40LjE3LjQiCi0KLWJh YmVsLWhlbHBlci1yZXBsYWNlLXN1cGVyc0BeNi4yNC4xOgotICB2ZXJzaW9uICI2LjI0LjEiCi0g IHJlc29sdmVkICJodHRwczovL3JlZ2lzdHJ5Lnlhcm5wa2cuY29tL2JhYmVsLWhlbHBlci1yZXBs YWNlLXN1cGVycy8tL2JhYmVsLWhlbHBlci1yZXBsYWNlLXN1cGVycy02LjI0LjEudGd6I2JmNmRi ZmU0MzkzOGQxNzM2OWEyMTNjYThhOGJmNzRiNmE5MGFiMWEiCi0gIGludGVncml0eSBzaGExLXYy Mi81RGs0MFhOcG9oUEtpb3YzUzJxUXF4bz0KLSAgZGVwZW5kZW5jaWVzOgotICAgIGJhYmVsLWhl bHBlci1vcHRpbWlzZS1jYWxsLWV4cHJlc3Npb24gIl42LjI0LjEiCi0gICAgYmFiZWwtbWVzc2Fn ZXMgIl42LjIzLjAiCi0gICAgYmFiZWwtcnVudGltZSAiXjYuMjIuMCIKLSAgICBiYWJlbC10ZW1w bGF0ZSAiXjYuMjQuMSIKLSAgICBiYWJlbC10cmF2ZXJzZSAiXjYuMjQuMSIKLSAgICBiYWJlbC10 eXBlcyAiXjYuMjQuMSIKLQotYmFiZWwtbG9hZGVyQH44LjAuNToKLSAgdmVyc2lvbiAiOC4wLjYi Ci0gIHJlc29sdmVkICJodHRwczovL3JlZ2lzdHJ5Lnlhcm5wa2cuY29tL2JhYmVsLWxvYWRlci8t L2JhYmVsLWxvYWRlci04LjAuNi50Z3ojZTMzYmRiNmYzNjJiMDNmNGJiMTQxYTBjMjFhYjg3YzUw MWI3MGRmYiIKLSAgaW50ZWdyaXR5IHNoYTUxMi00Qm1XS3RCT0JtMTN1b1V3ZDA4VXdqWmxhdzNP OUdXZjQ1NlI5ais1WXlrRlo2TFVJaklLTGMwekVaZitoYXV4UE9Kczk2QzhrNkZ2WUQwOXZXemhZ dz09Ci0gIGRlcGVuZGVuY2llczoKLSAgICBmaW5kLWNhY2hlLWRpciAiXjIuMC4wIgotICAgIGxv YWRlci11dGlscyAiXjEuMC4yIgotICAgIG1rZGlycCAiXjAuNS4xIgotICAgIHBpZnkgIl40LjAu MSIKKyAgICBmaW5kLWNhY2hlLWRpciAiXjMuMy4xIgorICAgIGxvYWRlci11dGlscyAiXjEuNC4w IgorICAgIG1ha2UtZGlyICJeMy4xLjAiCisgICAgc2NoZW1hLXV0aWxzICJeMi42LjUiCiAKIGJh YmVsLW1lc3NhZ2VzQF42LjIzLjA6CiAgIHZlcnNpb24gIjYuMjMuMCIKQEAgLTE0NjUsMTMgKzE2 NzEsNiBAQCBiYWJlbC1tZXNzYWdlc0BeNi4yMy4wOgogICBkZXBlbmRlbmNpZXM6CiAgICAgYmFi ZWwtcnVudGltZSAiXjYuMjIuMCIKIAotYmFiZWwtcGx1Z2luLWNoZWNrLWVzMjAxNS1jb25zdGFu dHNAXjYuMy4xMzoKLSAgdmVyc2lvbiAiNi4yMi4wIgotICByZXNvbHZlZCAiaHR0cHM6Ly9yZWdp c3RyeS55YXJucGtnLmNvbS9iYWJlbC1wbHVnaW4tY2hlY2stZXMyMDE1LWNvbnN0YW50cy8tL2Jh YmVsLXBsdWdpbi1jaGVjay1lczIwMTUtY29uc3RhbnRzLTYuMjIuMC50Z3ojMzUxNTdiMTAxNDI2 ZmQyZmZkM2RhM2Y3NWM3ZDFlOTE4MzViYmY4YSIKLSAgaW50ZWdyaXR5IHNoYTEtTlJWN0VCUW0v Uy85UGFQM1hIMGVrWU5idjRvPQotICBkZXBlbmRlbmNpZXM6Ci0gICAgYmFiZWwtcnVudGltZSAi XjYuMjIuMCIKLQogYmFiZWwtcGx1Z2luLWR5bmFtaWMtaW1wb3J0LW5vZGVAXjIuMy4zOgogICB2 ZXJzaW9uICIyLjMuMyIKICAgcmVzb2x2ZWQgImh0dHBzOi8vcmVnaXN0cnkueWFybnBrZy5jb20v YmFiZWwtcGx1Z2luLWR5bmFtaWMtaW1wb3J0LW5vZGUvLS9iYWJlbC1wbHVnaW4tZHluYW1pYy1p bXBvcnQtbm9kZS0yLjMuMy50Z3ojODRmZGExOWM5NzZlYzVjNmRlZmVmNTdmOTQyN2IzZGVmNjZl MTdhMyIKQEAgLTE0NzksMjMzICsxNjc4LDM3IEBAIGJhYmVsLXBsdWdpbi1keW5hbWljLWltcG9y dC1ub2RlQF4yLjMuMzoKICAgZGVwZW5kZW5jaWVzOgogICAgIG9iamVjdC5hc3NpZ24gIl40LjEu MCIKIAotYmFiZWwtcGx1Z2luLXN5bnRheC1vYmplY3QtcmVzdC1zcHJlYWRANy4wLjAtYmV0YS4z OgotICB2ZXJzaW9uICI3LjAuMC1iZXRhLjMiCi0gIHJlc29sdmVkICJodHRwczovL3JlZ2lzdHJ5 Lnlhcm5wa2cuY29tL2JhYmVsLXBsdWdpbi1zeW50YXgtb2JqZWN0LXJlc3Qtc3ByZWFkLy0vYmFi ZWwtcGx1Z2luLXN5bnRheC1vYmplY3QtcmVzdC1zcHJlYWQtNy4wLjAtYmV0YS4zLnRneiM3Zjc4 MWMxODA4OTlkYWZkODhmMTMyZjY5NDcyMzk3NTQ5YmU0OGU1IgotICBpbnRlZ3JpdHkgc2hhNTEy LTIxL01ubVVGZHVMcjRKenhyS01tL01lRitKanlpNVVkWm8zOElxenJQMHNMaG1QYmFsNVpBVUo0 SGdXSDQzMzlTZGpuWWdFTmFjYlk1d2ZrL3p4VEdnPT0KLQotYmFiZWwtcGx1Z2luLXRyYW5zZm9y bS1lczIwMTUtYXJyb3ctZnVuY3Rpb25zQF42LjMuMTM6Ci0gIHZlcnNpb24gIjYuMjIuMCIKLSAg cmVzb2x2ZWQgImh0dHBzOi8vcmVnaXN0cnkueWFybnBrZy5jb20vYmFiZWwtcGx1Z2luLXRyYW5z Zm9ybS1lczIwMTUtYXJyb3ctZnVuY3Rpb25zLy0vYmFiZWwtcGx1Z2luLXRyYW5zZm9ybS1lczIw MTUtYXJyb3ctZnVuY3Rpb25zLTYuMjIuMC50Z3ojNDUyNjkyY2I3MTFkNWY3OWRjN2Y4NWU0NDBj ZTQxYjlmMjQ0ZDIyMSIKLSAgaW50ZWdyaXR5IHNoYTEtUlNhU3kzRWRYM25jZjRYa1FNNUJ1ZkpF MGlFPQotICBkZXBlbmRlbmNpZXM6Ci0gICAgYmFiZWwtcnVudGltZSAiXjYuMjIuMCIKLQotYmFi ZWwtcGx1Z2luLXRyYW5zZm9ybS1lczIwMTUtYmxvY2stc2NvcGVkLWZ1bmN0aW9uc0BeNi4zLjEz OgotICB2ZXJzaW9uICI2LjIyLjAiCi0gIHJlc29sdmVkICJodHRwczovL3JlZ2lzdHJ5Lnlhcm5w a2cuY29tL2JhYmVsLXBsdWdpbi10cmFuc2Zvcm0tZXMyMDE1LWJsb2NrLXNjb3BlZC1mdW5jdGlv bnMvLS9iYWJlbC1wbHVnaW4tdHJhbnNmb3JtLWVzMjAxNS1ibG9jay1zY29wZWQtZnVuY3Rpb25z LTYuMjIuMC50Z3ojYmJjNTFiNDlmOTY0ZDcwY2I4ZDhlMGI5NGU4MjAyNDZjZTNhNjE0MSIKLSAg aW50ZWdyaXR5IHNoYTEtdThVYlNmbGsxd3k0Mk9DNVRvSUNSczQ2WVVFPQotICBkZXBlbmRlbmNp ZXM6Ci0gICAgYmFiZWwtcnVudGltZSAiXjYuMjIuMCIKLQotYmFiZWwtcGx1Z2luLXRyYW5zZm9y bS1lczIwMTUtYmxvY2stc2NvcGluZ0BeNi45LjA6Ci0gIHZlcnNpb24gIjYuMjYuMCIKLSAgcmVz b2x2ZWQgImh0dHBzOi8vcmVnaXN0cnkueWFybnBrZy5jb20vYmFiZWwtcGx1Z2luLXRyYW5zZm9y bS1lczIwMTUtYmxvY2stc2NvcGluZy8tL2JhYmVsLXBsdWdpbi10cmFuc2Zvcm0tZXMyMDE1LWJs b2NrLXNjb3BpbmctNi4yNi4wLnRneiNkNzBmNTI5OWMxMzA4ZDA1YzEyZjQ2MzgxM2IwYTA5ZTcz YjE4OTVmIgotICBpbnRlZ3JpdHkgc2hhMS0xdzlTbWNFd2pRWEJMMFk0RTdDZ25uT3hpVjg9Ci0g IGRlcGVuZGVuY2llczoKLSAgICBiYWJlbC1ydW50aW1lICJeNi4yNi4wIgotICAgIGJhYmVsLXRl bXBsYXRlICJeNi4yNi4wIgotICAgIGJhYmVsLXRyYXZlcnNlICJeNi4yNi4wIgotICAgIGJhYmVs LXR5cGVzICJeNi4yNi4wIgotICAgIGxvZGFzaCAiXjQuMTcuNCIKLQotYmFiZWwtcGx1Z2luLXRy YW5zZm9ybS1lczIwMTUtY2xhc3Nlc0BeNi45LjA6Ci0gIHZlcnNpb24gIjYuMjQuMSIKLSAgcmVz b2x2ZWQgImh0dHBzOi8vcmVnaXN0cnkueWFybnBrZy5jb20vYmFiZWwtcGx1Z2luLXRyYW5zZm9y bS1lczIwMTUtY2xhc3Nlcy8tL2JhYmVsLXBsdWdpbi10cmFuc2Zvcm0tZXMyMDE1LWNsYXNzZXMt Ni4yNC4xLnRneiM1YTRjNThhNTBjOWM5NDYxZTU2NGI0YjJhM2JmYWJjOTdhMjU4NGRiIgotICBp bnRlZ3JpdHkgc2hhMS1Xa3hZcFF5Y2xHSGxaTFN5bzcrcnlYb2xoTnM9Ci0gIGRlcGVuZGVuY2ll czoKLSAgICBiYWJlbC1oZWxwZXItZGVmaW5lLW1hcCAiXjYuMjQuMSIKLSAgICBiYWJlbC1oZWxw ZXItZnVuY3Rpb24tbmFtZSAiXjYuMjQuMSIKLSAgICBiYWJlbC1oZWxwZXItb3B0aW1pc2UtY2Fs bC1leHByZXNzaW9uICJeNi4yNC4xIgotICAgIGJhYmVsLWhlbHBlci1yZXBsYWNlLXN1cGVycyAi XjYuMjQuMSIKLSAgICBiYWJlbC1tZXNzYWdlcyAiXjYuMjMuMCIKLSAgICBiYWJlbC1ydW50aW1l ICJeNi4yMi4wIgotICAgIGJhYmVsLXRlbXBsYXRlICJeNi4yNC4xIgotICAgIGJhYmVsLXRyYXZl cnNlICJeNi4yNC4xIgotICAgIGJhYmVsLXR5cGVzICJeNi4yNC4xIgotCi1iYWJlbC1wbHVnaW4t dHJhbnNmb3JtLWVzMjAxNS1jb21wdXRlZC1wcm9wZXJ0aWVzQF42LjMuMTM6Ci0gIHZlcnNpb24g IjYuMjQuMSIKLSAgcmVzb2x2ZWQgImh0dHBzOi8vcmVnaXN0cnkueWFybnBrZy5jb20vYmFiZWwt cGx1Z2luLXRyYW5zZm9ybS1lczIwMTUtY29tcHV0ZWQtcHJvcGVydGllcy8tL2JhYmVsLXBsdWdp bi10cmFuc2Zvcm0tZXMyMDE1LWNvbXB1dGVkLXByb3BlcnRpZXMtNi4yNC4xLnRneiM2ZmUyYThk MTY4OTVkNTYzNGY0Y2Q5OTliNmQzNDgwYTMwODE1OWIzIgotICBpbnRlZ3JpdHkgc2hhMS1iK0tv MFdpVjFXTlBUTm1adHROSUNqQ0JXYk09Ci0gIGRlcGVuZGVuY2llczoKLSAgICBiYWJlbC1ydW50 aW1lICJeNi4yMi4wIgotICAgIGJhYmVsLXRlbXBsYXRlICJeNi4yNC4xIgotCi1iYWJlbC1wbHVn aW4tdHJhbnNmb3JtLWVzMjAxNS1kZXN0cnVjdHVyaW5nQF42LjkuMDoKLSAgdmVyc2lvbiAiNi4y My4wIgotICByZXNvbHZlZCAiaHR0cHM6Ly9yZWdpc3RyeS55YXJucGtnLmNvbS9iYWJlbC1wbHVn aW4tdHJhbnNmb3JtLWVzMjAxNS1kZXN0cnVjdHVyaW5nLy0vYmFiZWwtcGx1Z2luLXRyYW5zZm9y bS1lczIwMTUtZGVzdHJ1Y3R1cmluZy02LjIzLjAudGd6Izk5N2JiMWYxYWI5NjdmNjgyZDJiMDg3 NmZlMzU4ZDYwZTc2NWM1NmQiCi0gIGludGVncml0eSBzaGExLW1YdXg4YXVXZjJndEt3aDIvaldO WU9kbHhXMD0KLSAgZGVwZW5kZW5jaWVzOgotICAgIGJhYmVsLXJ1bnRpbWUgIl42LjIyLjAiCi0K LWJhYmVsLXBsdWdpbi10cmFuc2Zvcm0tZXMyMDE1LWR1cGxpY2F0ZS1rZXlzQF42LjYuMDoKLSAg dmVyc2lvbiAiNi4yNC4xIgotICByZXNvbHZlZCAiaHR0cHM6Ly9yZWdpc3RyeS55YXJucGtnLmNv bS9iYWJlbC1wbHVnaW4tdHJhbnNmb3JtLWVzMjAxNS1kdXBsaWNhdGUta2V5cy8tL2JhYmVsLXBs dWdpbi10cmFuc2Zvcm0tZXMyMDE1LWR1cGxpY2F0ZS1rZXlzLTYuMjQuMS50Z3ojNzNlYjNkMzEw Y2E5NjllM2VmOWVjOTFjNTM3NDFhNmYxNTc2NDIzZSIKLSAgaW50ZWdyaXR5IHNoYTEtYytzOU1R eXBhZVB2bnNrY1UzUWFieFYyUWo0PQorYmFiZWwtcGx1Z2luLWVtb3Rpb25AXjEwLjAuMjc6Cisg IHZlcnNpb24gIjEwLjAuMzMiCisgIHJlc29sdmVkICJodHRwczovL3JlZ2lzdHJ5Lnlhcm5wa2cu Y29tL2JhYmVsLXBsdWdpbi1lbW90aW9uLy0vYmFiZWwtcGx1Z2luLWVtb3Rpb24tMTAuMC4zMy50 Z3ojY2UxMTU1ZGNkMTc4M2JiYjkyODYwNTFlZmVlNTNmNGUyYmU2M2UwMyIKKyAgaW50ZWdyaXR5 IHNoYTUxMi1ieFpiVFRHejBBSlFESG04azZSZjNSUUo4dFgyc2NzZnNSeUtWZ0FiaVVQVU5JUnRs Sys3SnhQK1RBZDFrUkxBQkZ4ZTBDRm0yVmRLNGVQa29BOUZ4UT09CiAgIGRlcGVuZGVuY2llczoK LSAgICBiYWJlbC1ydW50aW1lICJeNi4yMi4wIgotICAgIGJhYmVsLXR5cGVzICJeNi4yNC4xIgot Ci1iYWJlbC1wbHVnaW4tdHJhbnNmb3JtLWVzMjAxNS1mb3Itb2ZAXjYuNi4wOgotICB2ZXJzaW9u ICI2LjIzLjAiCi0gIHJlc29sdmVkICJodHRwczovL3JlZ2lzdHJ5Lnlhcm5wa2cuY29tL2JhYmVs LXBsdWdpbi10cmFuc2Zvcm0tZXMyMDE1LWZvci1vZi8tL2JhYmVsLXBsdWdpbi10cmFuc2Zvcm0t ZXMyMDE1LWZvci1vZi02LjIzLjAudGd6I2Y0N2M5NWIyYjYxM2RmMWQzZWNjMmZkYjc1NzM2MjNj NzUyNDg2OTEiCi0gIGludGVncml0eSBzaGExLTlIeVZzcllUM3gwK3pDL2JkWE5pUEhVa2hwRT0K LSAgZGVwZW5kZW5jaWVzOgotICAgIGJhYmVsLXJ1bnRpbWUgIl42LjIyLjAiCi0KLWJhYmVsLXBs dWdpbi10cmFuc2Zvcm0tZXMyMDE1LWZ1bmN0aW9uLW5hbWVAXjYuOS4wOgotICB2ZXJzaW9uICI2 LjI0LjEiCi0gIHJlc29sdmVkICJodHRwczovL3JlZ2lzdHJ5Lnlhcm5wa2cuY29tL2JhYmVsLXBs dWdpbi10cmFuc2Zvcm0tZXMyMDE1LWZ1bmN0aW9uLW5hbWUvLS9iYWJlbC1wbHVnaW4tdHJhbnNm b3JtLWVzMjAxNS1mdW5jdGlvbi1uYW1lLTYuMjQuMS50Z3ojODM0Yzg5ODUzYmMzNmIxYWYwZjNh NGM1ZGJhYTk0ZmQ4ZWFjYWE4YiIKLSAgaW50ZWdyaXR5IHNoYTEtZzB5SmhUdkRheHJ3ODZURjI2 cVUvWTZzcW9zPQotICBkZXBlbmRlbmNpZXM6Ci0gICAgYmFiZWwtaGVscGVyLWZ1bmN0aW9uLW5h bWUgIl42LjI0LjEiCi0gICAgYmFiZWwtcnVudGltZSAiXjYuMjIuMCIKLSAgICBiYWJlbC10eXBl cyAiXjYuMjQuMSIKLQotYmFiZWwtcGx1Z2luLXRyYW5zZm9ybS1lczIwMTUtbGl0ZXJhbHNAXjYu My4xMzoKLSAgdmVyc2lvbiAiNi4yMi4wIgotICByZXNvbHZlZCAiaHR0cHM6Ly9yZWdpc3RyeS55 YXJucGtnLmNvbS9iYWJlbC1wbHVnaW4tdHJhbnNmb3JtLWVzMjAxNS1saXRlcmFscy8tL2JhYmVs LXBsdWdpbi10cmFuc2Zvcm0tZXMyMDE1LWxpdGVyYWxzLTYuMjIuMC50Z3ojNGY1NGEwMmQ2Y2Q2 NmNmOTE1MjgwMDE5YTMxZDMxOTI1Mzc3Y2EyZSIKLSAgaW50ZWdyaXR5IHNoYTEtVDFTZ0xXeldi UGtWS0FBWm94MHhrbE4zeWk0PQotICBkZXBlbmRlbmNpZXM6Ci0gICAgYmFiZWwtcnVudGltZSAi XjYuMjIuMCIKLQotYmFiZWwtcGx1Z2luLXRyYW5zZm9ybS1lczIwMTUtbW9kdWxlcy1hbWRAXjYu MjQuMToKLSAgdmVyc2lvbiAiNi4yNC4xIgotICByZXNvbHZlZCAiaHR0cHM6Ly9yZWdpc3RyeS55 YXJucGtnLmNvbS9iYWJlbC1wbHVnaW4tdHJhbnNmb3JtLWVzMjAxNS1tb2R1bGVzLWFtZC8tL2Jh YmVsLXBsdWdpbi10cmFuc2Zvcm0tZXMyMDE1LW1vZHVsZXMtYW1kLTYuMjQuMS50Z3ojM2IzZTU0 MDE3MjM5ODQyZDZkMTljMzAxMWM0YmQyZjAwYTAwZDE1NCIKLSAgaW50ZWdyaXR5IHNoYTEtT3o1 VUFYSTVoQzF0R2NNQkhFdlM4QW9BMFZRPQotICBkZXBlbmRlbmNpZXM6Ci0gICAgYmFiZWwtcGx1 Z2luLXRyYW5zZm9ybS1lczIwMTUtbW9kdWxlcy1jb21tb25qcyAiXjYuMjQuMSIKLSAgICBiYWJl bC1ydW50aW1lICJeNi4yMi4wIgotICAgIGJhYmVsLXRlbXBsYXRlICJeNi4yNC4xIgotCi1iYWJl bC1wbHVnaW4tdHJhbnNmb3JtLWVzMjAxNS1tb2R1bGVzLWNvbW1vbmpzQF42LjI0LjEsIGJhYmVs LXBsdWdpbi10cmFuc2Zvcm0tZXMyMDE1LW1vZHVsZXMtY29tbW9uanNAXjYuNi4wOgotICB2ZXJz aW9uICI2LjI2LjIiCi0gIHJlc29sdmVkICJodHRwczovL3JlZ2lzdHJ5Lnlhcm5wa2cuY29tL2Jh YmVsLXBsdWdpbi10cmFuc2Zvcm0tZXMyMDE1LW1vZHVsZXMtY29tbW9uanMvLS9iYWJlbC1wbHVn aW4tdHJhbnNmb3JtLWVzMjAxNS1tb2R1bGVzLWNvbW1vbmpzLTYuMjYuMi50Z3ojNThhNzkzODYz YTllN2NhODcwYmRjNWE4ODExMTdmZmFjMjdkYjZmMyIKLSAgaW50ZWdyaXR5IHNoYTUxMi1DVjlS T09IRWRyamN3aElhSk5CR01CQ29kTisxY2Zrd3RNMVNiVUhtdnl5MzVLR1Q3Zm9oYnBPeGtFMnVM ejFvNm9kS0syQ2svdHo0N3orVnFRZmk5UT09Ci0gIGRlcGVuZGVuY2llczoKLSAgICBiYWJlbC1w bHVnaW4tdHJhbnNmb3JtLXN0cmljdC1tb2RlICJeNi4yNC4xIgotICAgIGJhYmVsLXJ1bnRpbWUg Il42LjI2LjAiCi0gICAgYmFiZWwtdGVtcGxhdGUgIl42LjI2LjAiCi0gICAgYmFiZWwtdHlwZXMg Il42LjI2LjAiCi0KLWJhYmVsLXBsdWdpbi10cmFuc2Zvcm0tZXMyMDE1LW9iamVjdC1zdXBlckBe Ni4zLjEzOgotICB2ZXJzaW9uICI2LjI0LjEiCi0gIHJlc29sdmVkICJodHRwczovL3JlZ2lzdHJ5 Lnlhcm5wa2cuY29tL2JhYmVsLXBsdWdpbi10cmFuc2Zvcm0tZXMyMDE1LW9iamVjdC1zdXBlci8t L2JhYmVsLXBsdWdpbi10cmFuc2Zvcm0tZXMyMDE1LW9iamVjdC1zdXBlci02LjI0LjEudGd6IzI0 Y2VmNjlhZTIxY2I4M2E3Zjg2MDNkYWQwMjFmNTcyZWIyNzhmOGQiCi0gIGludGVncml0eSBzaGEx LUpNNzJtdUljdURwL2hnUGEwQ0gxY3Vzbmo0MD0KLSAgZGVwZW5kZW5jaWVzOgotICAgIGJhYmVs LWhlbHBlci1yZXBsYWNlLXN1cGVycyAiXjYuMjQuMSIKLSAgICBiYWJlbC1ydW50aW1lICJeNi4y Mi4wIgotCi1iYWJlbC1wbHVnaW4tdHJhbnNmb3JtLWVzMjAxNS1wYXJhbWV0ZXJzQF42LjkuMDoK LSAgdmVyc2lvbiAiNi4yNC4xIgotICByZXNvbHZlZCAiaHR0cHM6Ly9yZWdpc3RyeS55YXJucGtn LmNvbS9iYWJlbC1wbHVnaW4tdHJhbnNmb3JtLWVzMjAxNS1wYXJhbWV0ZXJzLy0vYmFiZWwtcGx1 Z2luLXRyYW5zZm9ybS1lczIwMTUtcGFyYW1ldGVycy02LjI0LjEudGd6IzU3YWMzNTFhYjQ5Y2Fm MTRhOTdjZDEzYjA5ZjY2ZmRmMGE2MjVmMmIiCi0gIGludGVncml0eSBzaGExLVY2dzFHclNjcnhT cGZORTdDZlp2M3dwaVh5cz0KLSAgZGVwZW5kZW5jaWVzOgotICAgIGJhYmVsLWhlbHBlci1jYWxs LWRlbGVnYXRlICJeNi4yNC4xIgotICAgIGJhYmVsLWhlbHBlci1nZXQtZnVuY3Rpb24tYXJpdHkg Il42LjI0LjEiCi0gICAgYmFiZWwtcnVudGltZSAiXjYuMjIuMCIKLSAgICBiYWJlbC10ZW1wbGF0 ZSAiXjYuMjQuMSIKLSAgICBiYWJlbC10cmF2ZXJzZSAiXjYuMjQuMSIKLSAgICBiYWJlbC10eXBl cyAiXjYuMjQuMSIKLQotYmFiZWwtcGx1Z2luLXRyYW5zZm9ybS1lczIwMTUtc2hvcnRoYW5kLXBy b3BlcnRpZXNAXjYuMy4xMzoKLSAgdmVyc2lvbiAiNi4yNC4xIgotICByZXNvbHZlZCAiaHR0cHM6 Ly9yZWdpc3RyeS55YXJucGtnLmNvbS9iYWJlbC1wbHVnaW4tdHJhbnNmb3JtLWVzMjAxNS1zaG9y dGhhbmQtcHJvcGVydGllcy8tL2JhYmVsLXBsdWdpbi10cmFuc2Zvcm0tZXMyMDE1LXNob3J0aGFu ZC1wcm9wZXJ0aWVzLTYuMjQuMS50Z3ojMjRmODc1ZDY3MjFjODc2NjFiYmQ5OWE0NjIyZTUxZjE0 ZGUzOGFhMCIKLSAgaW50ZWdyaXR5IHNoYTEtSlBoMTFuSWNoMllidlpta1lpNVI4VTNqaXFBPQot ICBkZXBlbmRlbmNpZXM6Ci0gICAgYmFiZWwtcnVudGltZSAiXjYuMjIuMCIKLSAgICBiYWJlbC10 eXBlcyAiXjYuMjQuMSIKLQotYmFiZWwtcGx1Z2luLXRyYW5zZm9ybS1lczIwMTUtc3ByZWFkQF42 LjMuMTM6Ci0gIHZlcnNpb24gIjYuMjIuMCIKLSAgcmVzb2x2ZWQgImh0dHBzOi8vcmVnaXN0cnku eWFybnBrZy5jb20vYmFiZWwtcGx1Z2luLXRyYW5zZm9ybS1lczIwMTUtc3ByZWFkLy0vYmFiZWwt cGx1Z2luLXRyYW5zZm9ybS1lczIwMTUtc3ByZWFkLTYuMjIuMC50Z3ojZDZkNjhhOTlmODlhZWRj NDUzNmM4MWE1NDJlOGRkOWYxNzQ2ZjhkMSIKLSAgaW50ZWdyaXR5IHNoYTEtMXRhS21maWE3Y1JU YklHbFF1amRueGRHK05FPQotICBkZXBlbmRlbmNpZXM6Ci0gICAgYmFiZWwtcnVudGltZSAiXjYu MjIuMCIKLQotYmFiZWwtcGx1Z2luLXRyYW5zZm9ybS1lczIwMTUtc3RpY2t5LXJlZ2V4QF42LjMu MTM6Ci0gIHZlcnNpb24gIjYuMjQuMSIKLSAgcmVzb2x2ZWQgImh0dHBzOi8vcmVnaXN0cnkueWFy bnBrZy5jb20vYmFiZWwtcGx1Z2luLXRyYW5zZm9ybS1lczIwMTUtc3RpY2t5LXJlZ2V4Ly0vYmFi ZWwtcGx1Z2luLXRyYW5zZm9ybS1lczIwMTUtc3RpY2t5LXJlZ2V4LTYuMjQuMS50Z3ojMDBjMWNk YjFhY2E3MTExMmNkZjBjZjYxMjZjMmVkNmI0NTdjY2RiYyIKLSAgaW50ZWdyaXR5IHNoYTEtQU1I TnNheW5FUkxOOE05aEpzTHRhMFY4emJ3PQotICBkZXBlbmRlbmNpZXM6Ci0gICAgYmFiZWwtaGVs cGVyLXJlZ2V4ICJeNi4yNC4xIgotICAgIGJhYmVsLXJ1bnRpbWUgIl42LjIyLjAiCi0gICAgYmFi ZWwtdHlwZXMgIl42LjI0LjEiCi0KLWJhYmVsLXBsdWdpbi10cmFuc2Zvcm0tZXMyMDE1LXRlbXBs YXRlLWxpdGVyYWxzQF42LjYuMDoKLSAgdmVyc2lvbiAiNi4yMi4wIgotICByZXNvbHZlZCAiaHR0 cHM6Ly9yZWdpc3RyeS55YXJucGtnLmNvbS9iYWJlbC1wbHVnaW4tdHJhbnNmb3JtLWVzMjAxNS10 ZW1wbGF0ZS1saXRlcmFscy8tL2JhYmVsLXBsdWdpbi10cmFuc2Zvcm0tZXMyMDE1LXRlbXBsYXRl LWxpdGVyYWxzLTYuMjIuMC50Z3ojYTg0YjM0NTBmN2U5ZjhmMWY2ODM5ZDZkNjg3ZGE4NGJiMTIz NmQ4ZCIKLSAgaW50ZWdyaXR5IHNoYTEtcUVzMFVQZnArUEgyZzUxdGFIMm9TN0VqYlkwPQotICBk ZXBlbmRlbmNpZXM6Ci0gICAgYmFiZWwtcnVudGltZSAiXjYuMjIuMCIKLQotYmFiZWwtcGx1Z2lu LXRyYW5zZm9ybS1lczIwMTUtdHlwZW9mLXN5bWJvbEBeNi42LjA6Ci0gIHZlcnNpb24gIjYuMjMu MCIKLSAgcmVzb2x2ZWQgImh0dHBzOi8vcmVnaXN0cnkueWFybnBrZy5jb20vYmFiZWwtcGx1Z2lu LXRyYW5zZm9ybS1lczIwMTUtdHlwZW9mLXN5bWJvbC8tL2JhYmVsLXBsdWdpbi10cmFuc2Zvcm0t ZXMyMDE1LXR5cGVvZi1zeW1ib2wtNi4yMy4wLnRneiNkZWMwOWYxY2RkZmY5NGI1MmFjNzNkNTA1 Yzg0ZGY1OWRjY2ViMzcyIgotICBpbnRlZ3JpdHkgc2hhMS0zc0NmSE4zL2xMVXF4ejFRWElUZldk ek9zM0k9Ci0gIGRlcGVuZGVuY2llczoKLSAgICBiYWJlbC1ydW50aW1lICJeNi4yMi4wIgotCi1i YWJlbC1wbHVnaW4tdHJhbnNmb3JtLWVzMjAxNS11bmljb2RlLXJlZ2V4QF42LjMuMTM6Ci0gIHZl cnNpb24gIjYuMjQuMSIKLSAgcmVzb2x2ZWQgImh0dHBzOi8vcmVnaXN0cnkueWFybnBrZy5jb20v YmFiZWwtcGx1Z2luLXRyYW5zZm9ybS1lczIwMTUtdW5pY29kZS1yZWdleC8tL2JhYmVsLXBsdWdp bi10cmFuc2Zvcm0tZXMyMDE1LXVuaWNvZGUtcmVnZXgtNi4yNC4xLnRneiNkMzhiMTJmNDJlYTcz MjNmNzI5Mzg3ZjE4YTdjNWFlMWZhZWIzNWU5IgotICBpbnRlZ3JpdHkgc2hhMS0wNHNTOUM2bk1q OXlrNGZ4aW54YTRmcnJOZWs9Ci0gIGRlcGVuZGVuY2llczoKLSAgICBiYWJlbC1oZWxwZXItcmVn ZXggIl42LjI0LjEiCi0gICAgYmFiZWwtcnVudGltZSAiXjYuMjIuMCIKLSAgICByZWdleHB1LWNv cmUgIl4yLjAuMCIKLQotYmFiZWwtcGx1Z2luLXRyYW5zZm9ybS1vYmplY3QtcmVzdC1zcHJlYWRA XjcuMC4wLWJldGEuMzoKLSAgdmVyc2lvbiAiNy4wLjAtYmV0YS4zIgotICByZXNvbHZlZCAiaHR0 cHM6Ly9yZWdpc3RyeS55YXJucGtnLmNvbS9iYWJlbC1wbHVnaW4tdHJhbnNmb3JtLW9iamVjdC1y ZXN0LXNwcmVhZC8tL2JhYmVsLXBsdWdpbi10cmFuc2Zvcm0tb2JqZWN0LXJlc3Qtc3ByZWFkLTcu MC4wLWJldGEuMy50Z3ojNWM0MDlmM2NkNzA4MTlkYmIzMzgyZDIwNTY5NzFjNWViZTAxMzkzYSIK LSAgaW50ZWdyaXR5IHNoYTUxMi1OT2xocnExQ214eXVJOTR2TnNxTWhSUE11TDVWRzJFS1VPSUpR MGJ3TmlYQml3V1JMZFBvV3lQVCtJcnJ4NWc0ZzBQa0ZnQTQ2dG5SajdEYzRaR3N4Zz09Ci0gIGRl cGVuZGVuY2llczoKLSAgICBiYWJlbC1wbHVnaW4tc3ludGF4LW9iamVjdC1yZXN0LXNwcmVhZCAi Ny4wLjAtYmV0YS4zIgorICAgICJAYmFiZWwvaGVscGVyLW1vZHVsZS1pbXBvcnRzIiAiXjcuMC4w IgorICAgICJAZW1vdGlvbi9oYXNoIiAiMC44LjAiCisgICAgIkBlbW90aW9uL21lbW9pemUiICIw LjcuNCIKKyAgICAiQGVtb3Rpb24vc2VyaWFsaXplIiAiXjAuMTEuMTYiCisgICAgYmFiZWwtcGx1 Z2luLW1hY3JvcyAiXjIuMC4wIgorICAgIGJhYmVsLXBsdWdpbi1zeW50YXgtanN4ICJeNi4xOC4w IgorICAgIGNvbnZlcnQtc291cmNlLW1hcCAiXjEuNS4wIgorICAgIGVzY2FwZS1zdHJpbmctcmVn ZXhwICJeMS4wLjUiCisgICAgZmluZC1yb290ICJeMS4xLjAiCisgICAgc291cmNlLW1hcCAiXjAu NS43IgogCi1iYWJlbC1wbHVnaW4tdHJhbnNmb3JtLXJlZ2VuZXJhdG9yQF42LjkuMDoKLSAgdmVy c2lvbiAiNi4yNi4wIgotICByZXNvbHZlZCAiaHR0cHM6Ly9yZWdpc3RyeS55YXJucGtnLmNvbS9i YWJlbC1wbHVnaW4tdHJhbnNmb3JtLXJlZ2VuZXJhdG9yLy0vYmFiZWwtcGx1Z2luLXRyYW5zZm9y bS1yZWdlbmVyYXRvci02LjI2LjAudGd6I2UwNzAzNjk2ZmJkZTI3ZjBhM2VmY2FjZjhiNGRjYTJm N2IzYThmMmYiCi0gIGludGVncml0eSBzaGExLTRIQTJsdnZlSi9Dajc4clBpMDNLTDNzNmp5OD0K K2JhYmVsLXBsdWdpbi1tYWNyb3NAXjIuMC4wOgorICB2ZXJzaW9uICIyLjguMCIKKyAgcmVzb2x2 ZWQgImh0dHBzOi8vcmVnaXN0cnkueWFybnBrZy5jb20vYmFiZWwtcGx1Z2luLW1hY3Jvcy8tL2Jh YmVsLXBsdWdpbi1tYWNyb3MtMi44LjAudGd6IzBmOTU4YTdjYzY1NTZiMWU2NTM0NDQ2NWQ5OTEx MWExZTVlMTAxMzgiCisgIGludGVncml0eSBzaGE1MTItU0VQNWtKcGZHWXFZS3BCcmo1WFUzYWh3 NXA1R09ISjBVNXNzT1NRL1dCVmR3a0QyRHpsY2U5NWV4UVRzM2pPVldQUEtMQk4ycmxFV2tDSzdk U21Mdmc9PQogICBkZXBlbmRlbmNpZXM6Ci0gICAgcmVnZW5lcmF0b3ItdHJhbnNmb3JtICJeMC4x MC4wIgorICAgICJAYmFiZWwvcnVudGltZSIgIl43LjcuMiIKKyAgICBjb3NtaWNvbmZpZyAiXjYu MC4wIgorICAgIHJlc29sdmUgIl4xLjEyLjAiCiAKLWJhYmVsLXBsdWdpbi10cmFuc2Zvcm0tc3Ry aWN0LW1vZGVAXjYuMjQuMToKLSAgdmVyc2lvbiAiNi4yNC4xIgotICByZXNvbHZlZCAiaHR0cHM6 Ly9yZWdpc3RyeS55YXJucGtnLmNvbS9iYWJlbC1wbHVnaW4tdHJhbnNmb3JtLXN0cmljdC1tb2Rl Ly0vYmFiZWwtcGx1Z2luLXRyYW5zZm9ybS1zdHJpY3QtbW9kZS02LjI0LjEudGd6I2Q1ZmFmN2Fh NTc4YTY1YmJlNTkxY2Y1ZWRhZTA0YTBjNjcwMjA3NTgiCi0gIGludGVncml0eSBzaGExLTFmcjNx bGVLWmJ2bGtjOWUydUJLREdjQ0IxZz0KLSAgZGVwZW5kZW5jaWVzOgotICAgIGJhYmVsLXJ1bnRp bWUgIl42LjIyLjAiCi0gICAgYmFiZWwtdHlwZXMgIl42LjI0LjEiCitiYWJlbC1wbHVnaW4tc3lu dGF4LWpzeEBeNi4xOC4wOgorICB2ZXJzaW9uICI2LjE4LjAiCisgIHJlc29sdmVkICJodHRwczov L3JlZ2lzdHJ5Lnlhcm5wa2cuY29tL2JhYmVsLXBsdWdpbi1zeW50YXgtanN4Ly0vYmFiZWwtcGx1 Z2luLXN5bnRheC1qc3gtNi4xOC4wLnRneiMwYWYzMmE5YTZlMTNjYTdhM2ZkNTA2OWU2MmQ3YjBm NThkMGQ4OTQ2IgorICBpbnRlZ3JpdHkgc2hhMS1Ddk1xbW00VHluby8xUWFlWXRldzlZME5pVVk9 CiAKLWJhYmVsLXByZXNldC1lczIwMTUtd2l0aG91dC1zdHJpY3RAfjAuMC40OgotICB2ZXJzaW9u ICIwLjAuNCIKLSAgcmVzb2x2ZWQgImh0dHBzOi8vcmVnaXN0cnkueWFybnBrZy5jb20vYmFiZWwt cHJlc2V0LWVzMjAxNS13aXRob3V0LXN0cmljdC8tL2JhYmVsLXByZXNldC1lczIwMTUtd2l0aG91 dC1zdHJpY3QtMC4wLjQudGd6Izg4YzlmMzZlNzlkNDc2MmM1ODM0N2IxYTY5OGEwN2MzNWI2YmRh NWQiCi0gIGludGVncml0eSBzaGExLWlNbnpibm5VZGl4WU5Ic2FhWW9IdzF0cjJsMD0KLSAgZGVw ZW5kZW5jaWVzOgotICAgIGJhYmVsLXBsdWdpbi1jaGVjay1lczIwMTUtY29uc3RhbnRzICJeNi4z LjEzIgotICAgIGJhYmVsLXBsdWdpbi10cmFuc2Zvcm0tZXMyMDE1LWFycm93LWZ1bmN0aW9ucyAi XjYuMy4xMyIKLSAgICBiYWJlbC1wbHVnaW4tdHJhbnNmb3JtLWVzMjAxNS1ibG9jay1zY29wZWQt ZnVuY3Rpb25zICJeNi4zLjEzIgotICAgIGJhYmVsLXBsdWdpbi10cmFuc2Zvcm0tZXMyMDE1LWJs b2NrLXNjb3BpbmcgIl42LjkuMCIKLSAgICBiYWJlbC1wbHVnaW4tdHJhbnNmb3JtLWVzMjAxNS1j bGFzc2VzICJeNi45LjAiCi0gICAgYmFiZWwtcGx1Z2luLXRyYW5zZm9ybS1lczIwMTUtY29tcHV0 ZWQtcHJvcGVydGllcyAiXjYuMy4xMyIKLSAgICBiYWJlbC1wbHVnaW4tdHJhbnNmb3JtLWVzMjAx NS1kZXN0cnVjdHVyaW5nICJeNi45LjAiCi0gICAgYmFiZWwtcGx1Z2luLXRyYW5zZm9ybS1lczIw MTUtZHVwbGljYXRlLWtleXMgIl42LjYuMCIKLSAgICBiYWJlbC1wbHVnaW4tdHJhbnNmb3JtLWVz MjAxNS1mb3Itb2YgIl42LjYuMCIKLSAgICBiYWJlbC1wbHVnaW4tdHJhbnNmb3JtLWVzMjAxNS1m dW5jdGlvbi1uYW1lICJeNi45LjAiCi0gICAgYmFiZWwtcGx1Z2luLXRyYW5zZm9ybS1lczIwMTUt bGl0ZXJhbHMgIl42LjMuMTMiCi0gICAgYmFiZWwtcGx1Z2luLXRyYW5zZm9ybS1lczIwMTUtbW9k dWxlcy1jb21tb25qcyAiXjYuNi4wIgotICAgIGJhYmVsLXBsdWdpbi10cmFuc2Zvcm0tZXMyMDE1 LW9iamVjdC1zdXBlciAiXjYuMy4xMyIKLSAgICBiYWJlbC1wbHVnaW4tdHJhbnNmb3JtLWVzMjAx NS1wYXJhbWV0ZXJzICJeNi45LjAiCi0gICAgYmFiZWwtcGx1Z2luLXRyYW5zZm9ybS1lczIwMTUt c2hvcnRoYW5kLXByb3BlcnRpZXMgIl42LjMuMTMiCi0gICAgYmFiZWwtcGx1Z2luLXRyYW5zZm9y bS1lczIwMTUtc3ByZWFkICJeNi4zLjEzIgotICAgIGJhYmVsLXBsdWdpbi10cmFuc2Zvcm0tZXMy MDE1LXN0aWNreS1yZWdleCAiXjYuMy4xMyIKLSAgICBiYWJlbC1wbHVnaW4tdHJhbnNmb3JtLWVz MjAxNS10ZW1wbGF0ZS1saXRlcmFscyAiXjYuNi4wIgotICAgIGJhYmVsLXBsdWdpbi10cmFuc2Zv cm0tZXMyMDE1LXR5cGVvZi1zeW1ib2wgIl42LjYuMCIKLSAgICBiYWJlbC1wbHVnaW4tdHJhbnNm b3JtLWVzMjAxNS11bmljb2RlLXJlZ2V4ICJeNi4zLjEzIgotICAgIGJhYmVsLXBsdWdpbi10cmFu c2Zvcm0tcmVnZW5lcmF0b3IgIl42LjkuMCIKLQotYmFiZWwtcnVudGltZUBeNi4xOC4wLCBiYWJl bC1ydW50aW1lQF42LjIyLjAsIGJhYmVsLXJ1bnRpbWVAXjYuMjYuMDoKK2JhYmVsLXJ1bnRpbWVA XjYuMjIuMCwgYmFiZWwtcnVudGltZUBeNi4yNi4wOgogICB2ZXJzaW9uICI2LjI2LjAiCiAgIHJl c29sdmVkICJodHRwczovL3JlZ2lzdHJ5Lnlhcm5wa2cuY29tL2JhYmVsLXJ1bnRpbWUvLS9iYWJl bC1ydW50aW1lLTYuMjYuMC50Z3ojOTY1YzcwNTg2NjhlODJiNTVkN2JmZTA0ZmYyMzM3YmM4YjU2 NDdmZSIKICAgaW50ZWdyaXR5IHNoYTEtbGx4d1dHYU9nclZkZS80RS95TTN2SXRXUi80PQpAQCAt MTcxMyw3ICsxNzE2LDcgQEAgYmFiZWwtcnVudGltZUBeNi4xOC4wLCBiYWJlbC1ydW50aW1lQF42 LjIyLjAsIGJhYmVsLXJ1bnRpbWVAXjYuMjYuMDoKICAgICBjb3JlLWpzICJeMi40LjAiCiAgICAg cmVnZW5lcmF0b3ItcnVudGltZSAiXjAuMTEuMCIKIAotYmFiZWwtdGVtcGxhdGVAXjYuMTYuMCwg YmFiZWwtdGVtcGxhdGVAXjYuMjQuMSwgYmFiZWwtdGVtcGxhdGVAXjYuMjYuMDoKK2JhYmVsLXRl bXBsYXRlQF42LjE2LjA6CiAgIHZlcnNpb24gIjYuMjYuMCIKICAgcmVzb2x2ZWQgImh0dHBzOi8v cmVnaXN0cnkueWFybnBrZy5jb20vYmFiZWwtdGVtcGxhdGUvLS9iYWJlbC10ZW1wbGF0ZS02LjI2 LjAudGd6I2RlMDNlMmQxNjM5NmIwNjlmNDZkZDlmZmY4NTIxZmIxYTBlMzVlMDIiCiAgIGludGVn cml0eSBzaGExLTNnUGkwV09Xc0duMGJkbi8rRklmc2FEalhnST0KQEAgLTE3MjQsNyArMTcyNyw3 IEBAIGJhYmVsLXRlbXBsYXRlQF42LjE2LjAsIGJhYmVsLXRlbXBsYXRlQF42LjI0LjEsIGJhYmVs LXRlbXBsYXRlQF42LjI2LjA6CiAgICAgYmFieWxvbiAiXjYuMTguMCIKICAgICBsb2Rhc2ggIl40 LjE3LjQiCiAKLWJhYmVsLXRyYXZlcnNlQF42LjE4LjAsIGJhYmVsLXRyYXZlcnNlQF42LjI0LjEs IGJhYmVsLXRyYXZlcnNlQF42LjI2LjA6CitiYWJlbC10cmF2ZXJzZUBeNi4xOC4wLCBiYWJlbC10 cmF2ZXJzZUBeNi4yNi4wOgogICB2ZXJzaW9uICI2LjI2LjAiCiAgIHJlc29sdmVkICJodHRwczov L3JlZ2lzdHJ5Lnlhcm5wa2cuY29tL2JhYmVsLXRyYXZlcnNlLy0vYmFiZWwtdHJhdmVyc2UtNi4y Ni4wLnRneiM0NmE5Y2JkN2VkY2M2MmM4ZTVjMDY0ZTJkMmQ4ZDBmNDAzNTc2NmVlIgogICBpbnRl Z3JpdHkgc2hhMS1ScW5MMSszTVlzamx3R1RpMHRqUTlBTlhadTQ9CkBAIC0xNzM5LDcgKzE3NDIs NyBAQCBiYWJlbC10cmF2ZXJzZUBeNi4xOC4wLCBiYWJlbC10cmF2ZXJzZUBeNi4yNC4xLCBiYWJl bC10cmF2ZXJzZUBeNi4yNi4wOgogICAgIGludmFyaWFudCAiXjIuMi4yIgogICAgIGxvZGFzaCAi XjQuMTcuNCIKIAotYmFiZWwtdHlwZXNAXjYuMTguMCwgYmFiZWwtdHlwZXNAXjYuMTkuMCwgYmFi ZWwtdHlwZXNAXjYuMjQuMSwgYmFiZWwtdHlwZXNAXjYuMjYuMDoKK2JhYmVsLXR5cGVzQF42LjE4 LjAsIGJhYmVsLXR5cGVzQF42LjI2LjA6CiAgIHZlcnNpb24gIjYuMjYuMCIKICAgcmVzb2x2ZWQg Imh0dHBzOi8vcmVnaXN0cnkueWFybnBrZy5jb20vYmFiZWwtdHlwZXMvLS9iYWJlbC10eXBlcy02 LjI2LjAudGd6I2EzYjA3M2Y5NGFiNDllYjZmYTU1Y2Q2NTIyN2EzMzQzODA2MzI0OTciCiAgIGlu dGVncml0eSBzaGExLW83QnorVXEwbnJiNlZjMWxJbm96UTRCakpKYz0KQEAgLTE4MjMsMTAgKzE4 MjYsMTUgQEAgYmFzZTY0LWFycmF5YnVmZmVyQDAuMS41OgogICByZXNvbHZlZCAiaHR0cHM6Ly9y ZWdpc3RyeS55YXJucGtnLmNvbS9iYXNlNjQtYXJyYXlidWZmZXIvLS9iYXNlNjQtYXJyYXlidWZm ZXItMC4xLjUudGd6IzczOTI2NzcxOTIzYjVhMTk3NDdhZDY2NmFhNWNkNGJmOWM2ZTljZTgiCiAg IGludGVncml0eSBzaGExLWM1Sm5jWkk3V2hsMGV0Wm1xbHpVdjV4dW5PZz0KIAotYmFzZTY0LWpz QF4xLjAuMjoKLSAgdmVyc2lvbiAiMS4zLjEiCi0gIHJlc29sdmVkICJodHRwczovL3JlZ2lzdHJ5 Lnlhcm5wa2cuY29tL2Jhc2U2NC1qcy8tL2Jhc2U2NC1qcy0xLjMuMS50Z3ojNThlY2U4Y2I3NWRk MDdlNzFlZDA4YzczNmFiYzVmYWM0ZGJmOGRmMSIKLSAgaW50ZWdyaXR5IHNoYTUxMi1tTFE0aTJR TzF5dHZHV0ZXbWNuZ0tPLy9KWEFRdWVadndFS3RqZ1FGTTRqSUswa1UreXRNZnBsTDhqK241bXNw T2ZqSHdvQWcrOXloYjdCd0FIbTM2Zz09CitiYXNlNjQtYXJyYXlidWZmZXJAXjAuMi4wOgorICB2 ZXJzaW9uICIwLjIuMCIKKyAgcmVzb2x2ZWQgImh0dHBzOi8vcmVnaXN0cnkueWFybnBrZy5jb20v YmFzZTY0LWFycmF5YnVmZmVyLy0vYmFzZTY0LWFycmF5YnVmZmVyLTAuMi4wLnRneiM0Yjk0NGZh YzAxOTFhYTU5MDdhZmUyZDhjOTk5Y2NjNTdjZTgwZjQ1IgorICBpbnRlZ3JpdHkgc2hhNTEyLTdl bXlDc3UxL3hpQlhnUVpyc2N3LzhLUFJUNDRJNFlxOVBlNkVHczNhUFJUc1d1Z2dNTDEvMURUdVpV dUlhSlBJbTFGVERVVlhsNHgveVc4czBrUURRPT0KKworYmFzZTY0LWpzQF4xLjAuMiwgYmFzZTY0 LWpzQF4xLjMuMToKKyAgdmVyc2lvbiAiMS41LjEiCisgIHJlc29sdmVkICJodHRwczovL3JlZ2lz dHJ5Lnlhcm5wa2cuY29tL2Jhc2U2NC1qcy8tL2Jhc2U2NC1qcy0xLjUuMS50Z3ojMWIxYjQ0MDE2 MGE1YmY3YWQ0MGI2NTBmMDk1OTYzNDgxOTAzOTMwYSIKKyAgaW50ZWdyaXR5IHNoYTUxMi1BS3Bh WWxIbjh0NFNWYk9IQ3krYjUrS0tndlI0dnJzRDh2YnZyYmlRSnBzN2ZLRFRramtEcnk2amkwclVK akMwa3piTmVQTHd6eHE4aXlwbzQxcWVXQT09CiAKIGJhc2U2NGlkQDEuMC4wOgogICB2ZXJzaW9u ICIxLjAuMCIKQEAgLTE5NjYsNyArMTk3NCw3IEBAIGJuLmpzQF40LjAuMCwgYm4uanNAXjQuMS4w LCBibi5qc0BeNC40LjA6CiAgIHJlc29sdmVkICJodHRwczovL3JlZ2lzdHJ5Lnlhcm5wa2cuY29t L2JuLmpzLy0vYm4uanMtNC4xMS45LnRneiMyNmQ1NTY4Mjk0NThmOWQxZTgxZmM0ODk1MjQ5M2Qw YmEzNTA3ODI4IgogICBpbnRlZ3JpdHkgc2hhNTEyLUU2UW9ZcUNLWmZnYXRIVGRIenMxUlJLUDdp cDR2dm0rRXlSVWVFMlJGME5ibHdWdmIwcDZqU1ZlTlRPRnhQbjI2UVhOMm82U01mTnhLcDZrVTh6 UWF3PT0KIAotYm4uanNAXjUuMS4xOgorYm4uanNAXjUuMC4wLCBibi5qc0BeNS4xLjE6CiAgIHZl cnNpb24gIjUuMS4zIgogICByZXNvbHZlZCAiaHR0cHM6Ly9yZWdpc3RyeS55YXJucGtnLmNvbS9i bi5qcy8tL2JuLmpzLTUuMS4zLnRneiNiZWNhMDA1NDA4ZjY0MmViZWJlYTgwYjA0MmI0ZDE4ZDJh YzBlZTZiIgogICBpbnRlZ3JpdHkgc2hhNTEyLUdrVGlGcGpGdFV6VTlDYk1lSjVpYXprQ3pHTDNq cmh6ZXJ6Wkl1cUxBQmpid1JhRnQzM0k5dFVkU05yeUlwdE0rUnhEZXQ2T0ttMlduTFh6VzUxS3NR PT0KQEAgLTIwMDQsMTAgKzIwMTIsMTAgQEAgYm9vdHN0cmFwNC10b2dnbGVAMy40LjA6CiAgIHJl c29sdmVkICJodHRwczovL3JlZ2lzdHJ5Lnlhcm5wa2cuY29tL2Jvb3RzdHJhcDQtdG9nZ2xlLy0v Ym9vdHN0cmFwNC10b2dnbGUtMy40LjAudGd6IzU4MjY0ZDRjN2ZkMjRlYjJlMDljY2E1MTU2YTMz OGIyYjIyYTQ3OTIiCiAgIGludGVncml0eSBzaGE1MTItdktmQmdzaklDVzZtT3FiMjY0cXd3YmJH dHBjT3grcDlqT2xRbUxmUlowN2lHRStiNVliUWxZNGZ0OWFBaFB1bGg3VjNvS090RXV1cTBGY1NL QUk0YlE9PQogCi1ib290c3RyYXBAPj00LjEuMiwgYm9vdHN0cmFwQF40LjMuMToKLSAgdmVyc2lv biAiNC41LjIiCi0gIHJlc29sdmVkICJodHRwczovL3JlZ2lzdHJ5Lnlhcm5wa2cuY29tL2Jvb3Rz dHJhcC8tL2Jvb3RzdHJhcC00LjUuMi50Z3ojYTg1YzRlZGE1OTE1NWYwZDcxMTg2YjZlNmFkOWI4 NzU4MTM3NzlhYiIKLSAgaW50ZWdyaXR5IHNoYTUxMi12bEduMGJjeVNZbC9pVitCR0E1NDRKa2ta UDVMQjNqc21rZUtMRlFha0NPd0NNM0FPazdWa2xkQno0anJ6U2UrWjBFem45OU5WWGExbzQ1Y1FZ NFI2QT09Citib290c3RyYXBAXjQuMy4xLCBib290c3RyYXBAXjQuNS4yOgorICB2ZXJzaW9uICI0 LjUuMyIKKyAgcmVzb2x2ZWQgImh0dHBzOi8vcmVnaXN0cnkueWFybnBrZy5jb20vYm9vdHN0cmFw Ly0vYm9vdHN0cmFwLTQuNS4zLnRneiNjNmE3MmIzNTVhYWYzMjM5MjBiZTgwMDI0NmE2ZTRlZjMw OTk3ZmU2IgorICBpbnRlZ3JpdHkgc2hhNTEyLW85cHBLUWlvWEdxaHc4WjdtYWg2S2RUWXBOUVkv L3RpcG5reHBwV2hQYmlTV2REKzFyYVlzbmh3RVpqa1RIWWJHZWU0Y1ZRMFJ4NjVFaE9ZL0hOTGNR PT0KIAogYm93c2VyQDIuMS4yOgogICB2ZXJzaW9uICIyLjEuMiIKQEAgLTIxMDgsMTEgKzIxMTYs MTEgQEAgYnJvd3NlcmlmeS1kZXNAXjEuMC4wOgogICAgIHNhZmUtYnVmZmVyICJeNS4xLjIiCiAK IGJyb3dzZXJpZnktcnNhQF40LjAuMCwgYnJvd3NlcmlmeS1yc2FAXjQuMC4xOgotICB2ZXJzaW9u ICI0LjAuMSIKLSAgcmVzb2x2ZWQgImh0dHBzOi8vcmVnaXN0cnkueWFybnBrZy5jb20vYnJvd3Nl cmlmeS1yc2EvLS9icm93c2VyaWZ5LXJzYS00LjAuMS50Z3ojMjFlMGFiZmFmNmYyMDI5Y2YyZmFm YjEzMzU2N2E3MDFkNDEzNTUyNCIKLSAgaW50ZWdyaXR5IHNoYTEtSWVDcit2YnlBcHp5K3ZzVE5X ZW5BZFFUVlNRPQorICB2ZXJzaW9uICI0LjEuMCIKKyAgcmVzb2x2ZWQgImh0dHBzOi8vcmVnaXN0 cnkueWFybnBrZy5jb20vYnJvd3NlcmlmeS1yc2EvLS9icm93c2VyaWZ5LXJzYS00LjEuMC50Z3oj YjJmZDA2YjViNzVhZTI5N2Y3Y2UyZGM2NTFmOTE4ZjViZTE1OGM4ZCIKKyAgaW50ZWdyaXR5IHNo YTUxMi1BZEVFUjBIa3NwZ25vMmFSOTdTQWY2dmkweTBrOE51T3BHblZIM085OXJjQTVRNnNoOFF4 Y25ndEh1SjZ1WHduZkFYTk00R24xR2I3L01WMStZbWJvZz09CiAgIGRlcGVuZGVuY2llczoKLSAg ICBibi5qcyAiXjQuMS4wIgorICAgIGJuLmpzICJeNS4wLjAiCiAgICAgcmFuZG9tYnl0ZXMgIl4y LjAuMSIKIAogYnJvd3NlcmlmeS1zaWduQF40LjAuMDoKQEAgLTIxMzcsNyArMjE0NSw2MSBAQCBi cm93c2VyaWZ5LXpsaWJAXjAuMi4wLCBicm93c2VyaWZ5LXpsaWJAfjAuMi4wOgogICBkZXBlbmRl bmNpZXM6CiAgICAgcGFrbyAifjEuMC41IgogCi1icm93c2VyaWZ5QF4xNi4xLjAsIGJyb3dzZXJp ZnlAfjE2LjIuMzoKK2Jyb3dzZXJpZnlAXjE2LjEuMDoKKyAgdmVyc2lvbiAiMTYuNS4yIgorICBy ZXNvbHZlZCAiaHR0cHM6Ly9yZWdpc3RyeS55YXJucGtnLmNvbS9icm93c2VyaWZ5Ly0vYnJvd3Nl cmlmeS0xNi41LjIudGd6I2Q5MjY4MzVlOTI4MGZhNWZkNTdmNWJjMzAxZjJlZjI0YTk3MmRkZmUi CisgIGludGVncml0eSBzaGE1MTItVGtPUjFjUUdkbVhVOXpXNFl1a1d6V1ZTSndyeG1OZEFERmJx YkUzSEZnUVdlNXdxWm1PYXdxWjdKLzhNUEN3ay9XOHlZN1kwaCs3bU90Y1p4TFAyM2c9PQorICBk ZXBlbmRlbmNpZXM6CisgICAgSlNPTlN0cmVhbSAiXjEuMC4zIgorICAgIGFzc2VydCAiXjEuNC4w IgorICAgIGJyb3dzZXItcGFjayAiXjYuMC4xIgorICAgIGJyb3dzZXItcmVzb2x2ZSAiXjIuMC4w IgorICAgIGJyb3dzZXJpZnktemxpYiAifjAuMi4wIgorICAgIGJ1ZmZlciAifjUuMi4xIgorICAg IGNhY2hlZC1wYXRoLXJlbGF0aXZlICJeMS4wLjAiCisgICAgY29uY2F0LXN0cmVhbSAiXjEuNi4w IgorICAgIGNvbnNvbGUtYnJvd3NlcmlmeSAiXjEuMS4wIgorICAgIGNvbnN0YW50cy1icm93c2Vy aWZ5ICJ+MS4wLjAiCisgICAgY3J5cHRvLWJyb3dzZXJpZnkgIl4zLjAuMCIKKyAgICBkZWZpbmVk ICJeMS4wLjAiCisgICAgZGVwcy1zb3J0ICJeMi4wLjAiCisgICAgZG9tYWluLWJyb3dzZXIgIl4x LjIuMCIKKyAgICBkdXBsZXhlcjIgIn4wLjEuMiIKKyAgICBldmVudHMgIl4yLjAuMCIKKyAgICBn bG9iICJeNy4xLjAiCisgICAgaGFzICJeMS4wLjAiCisgICAgaHRtbGVzY2FwZSAiXjEuMS4wIgor ICAgIGh0dHBzLWJyb3dzZXJpZnkgIl4xLjAuMCIKKyAgICBpbmhlcml0cyAifjIuMC4xIgorICAg IGluc2VydC1tb2R1bGUtZ2xvYmFscyAiXjcuMC4wIgorICAgIGxhYmVsZWQtc3RyZWFtLXNwbGlj ZXIgIl4yLjAuMCIKKyAgICBta2RpcnAtY2xhc3NpYyAiXjAuNS4yIgorICAgIG1vZHVsZS1kZXBz ICJeNi4yLjMiCisgICAgb3MtYnJvd3NlcmlmeSAifjAuMy4wIgorICAgIHBhcmVudHMgIl4xLjAu MSIKKyAgICBwYXRoLWJyb3dzZXJpZnkgIn4wLjAuMCIKKyAgICBwcm9jZXNzICJ+MC4xMS4wIgor ICAgIHB1bnljb2RlICJeMS4zLjIiCisgICAgcXVlcnlzdHJpbmctZXMzICJ+MC4yLjAiCisgICAg cmVhZC1vbmx5LXN0cmVhbSAiXjIuMC4wIgorICAgIHJlYWRhYmxlLXN0cmVhbSAiXjIuMC4yIgor ICAgIHJlc29sdmUgIl4xLjEuNCIKKyAgICBzaGFzdW0gIl4xLjAuMCIKKyAgICBzaGVsbC1xdW90 ZSAiXjEuNi4xIgorICAgIHN0cmVhbS1icm93c2VyaWZ5ICJeMi4wLjAiCisgICAgc3RyZWFtLWh0 dHAgIl4zLjAuMCIKKyAgICBzdHJpbmdfZGVjb2RlciAiXjEuMS4xIgorICAgIHN1YmFyZyAiXjEu MC4wIgorICAgIHN5bnRheC1lcnJvciAiXjEuMS4xIgorICAgIHRocm91Z2gyICJeMi4wLjAiCisg ICAgdGltZXJzLWJyb3dzZXJpZnkgIl4xLjAuMSIKKyAgICB0dHktYnJvd3NlcmlmeSAiMC4wLjEi CisgICAgdXJsICJ+MC4xMS4wIgorICAgIHV0aWwgIn4wLjEwLjEiCisgICAgdm0tYnJvd3Nlcmlm eSAiXjEuMC4wIgorICAgIHh0ZW5kICJeNC4wLjAiCisKK2Jyb3dzZXJpZnlAfjE2LjIuMzoKICAg dmVyc2lvbiAiMTYuMi4zIgogICByZXNvbHZlZCAiaHR0cHM6Ly9yZWdpc3RyeS55YXJucGtnLmNv bS9icm93c2VyaWZ5Ly0vYnJvd3NlcmlmeS0xNi4yLjMudGd6IzdlZTZlNjU0YmE0ZjkyYmNlNmFi MzU5OWMzNDg1YjFjYzdhMGFkMGIiCiAgIGludGVncml0eSBzaGE1MTItelF0L0dkMStXK0lZK2gv eFgyTllNVzRvclFXaHFTd3lWK3hzYmx5Y1R0cE91QjI3aDFmWmhoTlF1aXBKNHQ3OW9odzRQNG1N ZW0wanAvWmtJU1F0alE9PQpAQCAtMjE5MSwxNSArMjI1MywxNiBAQCBicm93c2VyaWZ5QF4xNi4x LjAsIGJyb3dzZXJpZnlAfjE2LjIuMzoKICAgICB2bS1icm93c2VyaWZ5ICJeMS4wLjAiCiAgICAg eHRlbmQgIl40LjAuMCIKIAotYnJvd3NlcnNsaXN0QF40LjAuMCwgYnJvd3NlcnNsaXN0QF40LjEy LjAsIGJyb3dzZXJzbGlzdEBeNC42LjAsIGJyb3dzZXJzbGlzdEBeNC44LjU6Ci0gIHZlcnNpb24g IjQuMTQuNSIKLSAgcmVzb2x2ZWQgImh0dHBzOi8vcmVnaXN0cnkueWFybnBrZy5jb20vYnJvd3Nl cnNsaXN0Ly0vYnJvd3NlcnNsaXN0LTQuMTQuNS50Z3ojMWM3NTE0NjFhMTAyZGRjNjBlNDA5OTM2 MzliNzA5YmU3ZjJjNDAxNSIKLSAgaW50ZWdyaXR5IHNoYTUxMi1aK3ZzQ1pJdkNCdnFMb1lrQkZU d0VZSDN2NU1DUWJzQWpwNTBFUnljcE9qblBtb2xnMUdqeTQrS2FXV3BtOFFPSnQ5R0hraGRxQWwx NE5wQ1g3M0NXQT09Citicm93c2Vyc2xpc3RAXjQuMC4wLCBicm93c2Vyc2xpc3RAXjQuMTIuMCwg YnJvd3NlcnNsaXN0QF40LjE0LjUsIGJyb3dzZXJzbGlzdEBeNC4xNS4wOgorICB2ZXJzaW9uICI0 LjE2LjAiCisgIHJlc29sdmVkICJodHRwczovL3JlZ2lzdHJ5Lnlhcm5wa2cuY29tL2Jyb3dzZXJz bGlzdC8tL2Jyb3dzZXJzbGlzdC00LjE2LjAudGd6IzQxMDI3NzYyNzUwMGJlM2NiMjhhMWJmZTAz NzU4NmZiZWRmOTQ4OGIiCisgIGludGVncml0eSBzaGE1MTItL2o2azhSMHAzbnhPQzZreDVKR0F4 c25oYzlpeGFXSmZZYytUTlR6eGc2K0FSYUVTQXZRR1Y3aDB1Tk9CNHQrcExRSlpXemNyTXhYT3hq Z3NDajNkcVE9PQogICBkZXBlbmRlbmNpZXM6Ci0gICAgY2FuaXVzZS1saXRlICJeMS4wLjMwMDAx MTM1IgotICAgIGVsZWN0cm9uLXRvLWNocm9taXVtICJeMS4zLjU3MSIKLSAgICBlc2NhbGFkZSAi XjMuMS4wIgotICAgIG5vZGUtcmVsZWFzZXMgIl4xLjEuNjEiCisgICAgY2FuaXVzZS1saXRlICJe MS4wLjMwMDAxMTY1IgorICAgIGNvbG9yZXR0ZSAiXjEuMi4xIgorICAgIGVsZWN0cm9uLXRvLWNo cm9taXVtICJeMS4zLjYyMSIKKyAgICBlc2NhbGFkZSAiXjMuMS4xIgorICAgIG5vZGUtcmVsZWFz ZXMgIl4xLjEuNjciCiAKIGJ1ZmZlci1hbGxvYy11bnNhZmVAXjEuMS4wOgogICB2ZXJzaW9uICIx LjEuMCIKQEAgLTIyNDQsOSArMjMwNywxNyBAQCBidWZmZXJAXjQuMy4wOgogICAgIGlzYXJyYXkg Il4xLjAuMCIKIAogYnVmZmVyQF41LjAuMiwgYnVmZmVyQF41LjIuMToKLSAgdmVyc2lvbiAiNS42 LjAiCi0gIHJlc29sdmVkICJodHRwczovL3JlZ2lzdHJ5Lnlhcm5wa2cuY29tL2J1ZmZlci8tL2J1 ZmZlci01LjYuMC50Z3ojYTMxNzQ5ZGM3ZDgxZDg0ZGIwOGFiZjkzN2I2YjhjNDAzM2Y2Mjc4NiIK LSAgaW50ZWdyaXR5IHNoYTUxMi0vZ0RZcC9VdFUwZUExeXM4Yk9zOUo2YStFL0tXSVkrRForUTJX RVNOVUEwakZSc0pPYzBTTlVPNnhKNVNHQTF4dWVnM05MNjVXNnMrTlk1bDljdW51dz09CisgIHZl cnNpb24gIjUuNy4xIgorICByZXNvbHZlZCAiaHR0cHM6Ly9yZWdpc3RyeS55YXJucGtnLmNvbS9i dWZmZXIvLS9idWZmZXItNS43LjEudGd6I2JhNjJlN2MxMzEzMzA1MzU4MjE5NzE2MDg1MWE4ZjY0 OGU5OWVlZDAiCisgIGludGVncml0eSBzaGE1MTItRUhjeUlQQlE0QlNHbHZqQjE2azVLZ0FKMjdD SXNIWS8ySkJtQ1JSZW80OHk5clEzTWFVeldYM0tWbEJhNFU3TXlYMDJIZFZqMEs3QzNXYUIzanU3 RlE9PQorICBkZXBlbmRlbmNpZXM6CisgICAgYmFzZTY0LWpzICJeMS4zLjEiCisgICAgaWVlZTc1 NCAiXjEuMS4xMyIKKworYnVmZmVyQH41LjIuMToKKyAgdmVyc2lvbiAiNS4yLjEiCisgIHJlc29s dmVkICJodHRwczovL3JlZ2lzdHJ5Lnlhcm5wa2cuY29tL2J1ZmZlci8tL2J1ZmZlci01LjIuMS50 Z3ojZGQ1N2ZhMGYxMDlhYzU5YzYwMjQ3OTA0NGRjYTdiOGIzZDBiNzFkNiIKKyAgaW50ZWdyaXR5 IHNoYTUxMi1jK0tvMGxvRGFGZnVQV2lMMDJsczlYZDNHTzNjUFZtVW9iUTZ0M3JYTlVrMzA0dTZo R3ErOE4va0ZpK1FFSUtoekszdXdvbFZoTHpzem1mTG1NTG5xZz09CiAgIGRlcGVuZGVuY2llczoK ICAgICBiYXNlNjQtanMgIl4xLjAuMiIKICAgICBpZWVlNzU0ICJeMS4xLjQiCkBAIC0yMzM5LDYg KzI0MTAsMTQgQEAgY2FjaGVkLXBhdGgtcmVsYXRpdmVAXjEuMC4wLCBjYWNoZWQtcGF0aC1yZWxh dGl2ZUBeMS4wLjI6CiAgIHJlc29sdmVkICJodHRwczovL3JlZ2lzdHJ5Lnlhcm5wa2cuY29tL2Nh Y2hlZC1wYXRoLXJlbGF0aXZlLy0vY2FjaGVkLXBhdGgtcmVsYXRpdmUtMS4wLjIudGd6I2ExM2Rm NDE5NmQyNjc3NjIyMGNjMzM1NmViMTQ3YTUyZGJhMmM2ZGIiCiAgIGludGVncml0eSBzaGE1MTIt NXIyR3Fzb0ViNHFNVFROOUorV3pYZmpvditoanhUK2ozdTVLK2tJVk5Jd0FkOTlETENKRTlwQklN UDFxVmV5YlY2SmlpakwzODVPejBEY1l4ZmJPSWc9PQogCitjYWxsLWJpbmRAXjEuMC4wOgorICB2 ZXJzaW9uICIxLjAuMCIKKyAgcmVzb2x2ZWQgImh0dHBzOi8vcmVnaXN0cnkueWFybnBrZy5jb20v Y2FsbC1iaW5kLy0vY2FsbC1iaW5kLTEuMC4wLnRneiMyNDEyNzA1NGJiM2Y5YmRjYjRiMWZiODI0 MTgxODYwNzJmNzdiOGNlIgorICBpbnRlZ3JpdHkgc2hhNTEyLUFFWHNZSXl5RFkzTUN6YndkaHpH M0p4MVIwSjJ3ZXRReVV5bm42ZFlIQU8rYmc4bDFrN2p3WnRSdjRyeXJ5RnM3RVArTkRsaWtKbFZl NTlqcjBjTTJ3PT0KKyAgZGVwZW5kZW5jaWVzOgorICAgIGZ1bmN0aW9uLWJpbmQgIl4xLjEuMSIK KyAgICBnZXQtaW50cmluc2ljICJeMS4wLjAiCisKIGNhbGxlci1jYWxsc2l0ZUBeMi4wLjA6CiAg IHZlcnNpb24gIjIuMC4wIgogICByZXNvbHZlZCAiaHR0cHM6Ly9yZWdpc3RyeS55YXJucGtnLmNv bS9jYWxsZXItY2FsbHNpdGUvLS9jYWxsZXItY2FsbHNpdGUtMi4wLjAudGd6Izg0N2UwZmNlMGEy MjM3NTBhOWEwMjdjNTRiMzM3MzFhZDMxNTQxMzQiCkBAIC0yMzk2LDEwICsyNDc1LDIyIEBAIGNh bml1c2UtYXBpQF4zLjAuMDoKICAgICBsb2Rhc2gubWVtb2l6ZSAiXjQuMS4yIgogICAgIGxvZGFz aC51bmlxICJeNC41LjAiCiAKLWNhbml1c2UtbGl0ZUBeMS4wLjAsIGNhbml1c2UtbGl0ZUBeMS4w LjMwMDAxMTA5LCBjYW5pdXNlLWxpdGVAXjEuMC4zMDAwMTEzNToKLSAgdmVyc2lvbiAiMS4wLjMw MDAxMTQ2IgotICByZXNvbHZlZCAiaHR0cHM6Ly9yZWdpc3RyeS55YXJucGtnLmNvbS9jYW5pdXNl LWxpdGUvLS9jYW5pdXNlLWxpdGUtMS4wLjMwMDAxMTQ2LnRneiNjNjFmY2IxNDc0NTIwYzE0NjI5 MTM2ODkyMDFmYjI5MmJhNmY0NDdjIgotICBpbnRlZ3JpdHkgc2hhNTEyLVZBeTVSSERmVEpocHhu RGRwMm40MEdQUExwM0txTnJYejFRcUZ2NEo2NEh2QXJLczhudU5NT1drQjNJQ09hQlRVL0FqNHJZ QW8veXRkUURERkYvUHVnPT0KK2Nhbml1c2UtbGl0ZUBeMS4wLjAsIGNhbml1c2UtbGl0ZUBeMS4w LjMwMDAxMTA5LCBjYW5pdXNlLWxpdGVAXjEuMC4zMDAwMTE2NToKKyAgdmVyc2lvbiAiMS4wLjMw MDAxMTcwIgorICByZXNvbHZlZCAiaHR0cHM6Ly9yZWdpc3RyeS55YXJucGtnLmNvbS9jYW5pdXNl LWxpdGUvLS9jYW5pdXNlLWxpdGUtMS4wLjMwMDAxMTcwLnRneiMwMDg4YmZlY2M2YTE0Njk0OTY5 ZTM5MWNjMjlkN2ViNjM2MmNhNmE3IgorICBpbnRlZ3JpdHkgc2hhNTEyLURkNGQvKzB0c0swVU5M clpzM0N2TnVrcWFsblZUUnJ4YjVtY1FtOHJITDQ5dDdWNVphVHlnd1hrcnErRkIrZFZEZisrNHJp OGVKbkZFSkFCODMzMlBBPT0KKworY2FudmdAXjMuMC43OgorICB2ZXJzaW9uICIzLjAuNyIKKyAg cmVzb2x2ZWQgImh0dHBzOi8vcmVnaXN0cnkueWFybnBrZy5jb20vY2FudmcvLS9jYW52Zy0zLjAu Ny50Z3ojZTQ1Yjg3YTY0MTE2YWY5MDY5MTdmN2NhZDU3ZDM3MGVhMzcyZDY4MiIKKyAgaW50ZWdy aXR5IHNoYTUxMi00c3E2aUw1UTRWT1hTM1BMMUJhcGlYSVpJdHB4WXlBTlZ6c0FLcFRQUzVvcTR1 M1NLYkdmVWNiWmgyZ2RMQ1EzaldwRy95NXdSa01sQkJBSmhYZWlaQT09CisgIGRlcGVuZGVuY2ll czoKKyAgICAiQGJhYmVsL3J1bnRpbWUtY29yZWpzMyIgIl43LjkuNiIKKyAgICAiQHR5cGVzL3Jh ZiIgIl4zLjQuMCIKKyAgICByYWYgIl4zLjQuMSIKKyAgICByZ2Jjb2xvciAiXjEuMC4xIgorICAg IHN0YWNrYmx1ci1jYW52YXMgIl4yLjAuMCIKKyAgICBzdmctcGF0aGRhdGEgIl41LjAuNSIKIAog Y2F3QF4yLjAuMCwgY2F3QF4yLjAuMToKICAgdmVyc2lvbiAiMi4wLjEiCkBAIC0yNDQ1LDkgKzI1 MzYsOSBAQCBjaGFyZGV0QF4wLjcuMDoKICAgaW50ZWdyaXR5IHNoYTUxMi1tVDhpRGNyaDAzcURH UlJtb0EyaG1CSm54cGxsTVIrMC8wcWx6anFaRVM2TmRpV0RjWmtDTkFrNHJQRlo5UTg1cjI3dW5r aU5OZzhaT2l3WlhCSHdjQT09CiAKIGNoYXJ0LmpzQF4yLjkuMzoKLSAgdmVyc2lvbiAiMi45LjMi Ci0gIHJlc29sdmVkICJodHRwczovL3JlZ2lzdHJ5Lnlhcm5wa2cuY29tL2NoYXJ0LmpzLy0vY2hh cnQuanMtMi45LjMudGd6I2FlMzg4NDExNGRhZmQzODFiYzYwMGY1YjM1YTE4OTEzOGFhYzFlZjci Ci0gIGludGVncml0eSBzaGE1MTItKzJqbE9vYlNrNTJjMVZVNmZ6a2gzVXdxSE1kU2xnSDF4RnY5 RktNcUhpTkNwWHNHUFFhLys4MUFGYStpM2paMjUzTXE5YUF5Y1B3RGpubjFYYlJOTnc9PQorICB2 ZXJzaW9uICIyLjkuNCIKKyAgcmVzb2x2ZWQgImh0dHBzOi8vcmVnaXN0cnkueWFybnBrZy5jb20v Y2hhcnQuanMvLS9jaGFydC5qcy0yLjkuNC50Z3ojMDgyN2Y5NTYzZmFmZmIyZGM1YzA2NTYyZjhl YjEwMzM3ZDViOTY4NCIKKyAgaW50ZWdyaXR5IHNoYTUxMi1CMDdhQXp4Y3Jpa2pBUHlWKzAxajdC bU9weHRRRVR4VFNsUTI2QkVZSiszaVVrYk5LYU9KL25EYlQ2Smp5cVl4c2VNME9OMTJDT0hZZFUy Y1RJakM3QT09CiAgIGRlcGVuZGVuY2llczoKICAgICBjaGFydGpzLWNvbG9yICJeMi4xLjAiCiAg ICAgbW9tZW50ICJeMi4xMC4yIgpAQCAtMjQ3MiwxOSArMjU2Myw0NiBAQCBjaGVjay10eXBlc0Be OC4wLjM6CiAgIHJlc29sdmVkICJodHRwczovL3JlZ2lzdHJ5Lnlhcm5wa2cuY29tL2NoZWNrLXR5 cGVzLy0vY2hlY2stdHlwZXMtOC4wLjMudGd6IzMzNTZjY2ExOWM4ODk1NDRmMmQ3YTk1ZWQ0OWNl NTA4YTBlY2Y1NTIiCiAgIGludGVncml0eSBzaGE1MTItWXBlS1puZ1VtRzY1ckx1ZEo0dGFVN1ZM a09DVE1oTmwvdTRjdE5DNTZMUVMvekpUeU5IMExydHdtMXRmVHNiTGx3dmxmc0EyZDFjOHZDZi9L aDJLd1E9PQogCitjaGVlcmlvLXNlbGVjdC10bXBAXjAuMS4wOgorICB2ZXJzaW9uICIwLjEuMSIK KyAgcmVzb2x2ZWQgImh0dHBzOi8vcmVnaXN0cnkueWFybnBrZy5jb20vY2hlZXJpby1zZWxlY3Qt dG1wLy0vY2hlZXJpby1zZWxlY3QtdG1wLTAuMS4xLnRneiM1NWJiZWYwMmE0NzcxNzEwMTk1YWQ3 MzZkNWUzNDY3NjNjYTRlNjQ2IgorICBpbnRlZ3JpdHkgc2hhNTEyLVlZczVKdmJwVTE5VllKeWor RjdvWXJJRTJCT2xsMS9oUlU3ckV5LzUrdjlCemtTbzNiSzgxaUFlZVFFTUk5MnZSSXh6Njc3bTcy VW1KVWlWd3dnamZRPT0KKyAgZGVwZW5kZW5jaWVzOgorICAgIGNzcy1zZWxlY3QgIl4zLjEuMiIK KyAgICBjc3Mtd2hhdCAiXjQuMC4wIgorICAgIGRvbWVsZW1lbnR0eXBlICJeMi4xLjAiCisgICAg ZG9taGFuZGxlciAiXjQuMC4wIgorICAgIGRvbXV0aWxzICJeMi40LjQiCisKIGNoZWVyaW9AXjEu MC4wLXJjLjM6Ci0gIHZlcnNpb24gIjEuMC4wLXJjLjMiCi0gIHJlc29sdmVkICJodHRwczovL3Jl Z2lzdHJ5Lnlhcm5wa2cuY29tL2NoZWVyaW8vLS9jaGVlcmlvLTEuMC4wLXJjLjMudGd6IzA5NDYz NmQ0MjViMmU5YzBmNGViOTFhNDZjMDU2MzBjOWExYThiZjYiCi0gIGludGVncml0eSBzaGE1MTIt MHRkNWlqZlVQdXVid0xVdTBPQm9lOThnWmo4Qy9BQStSVzN2NjdHUGxHT3J2eFdqWm1CWGlCQ1JV K0k4VkVpTnlKemp0aDQwUE9mSGl6MlJCM2dJbUE9PQotICBkZXBlbmRlbmNpZXM6Ci0gICAgY3Nz LXNlbGVjdCAifjEuMi4wIgotICAgIGRvbS1zZXJpYWxpemVyICJ+MC4xLjEiCi0gICAgZW50aXRp ZXMgIn4xLjEuMSIKLSAgICBodG1scGFyc2VyMiAiXjMuOS4xIgotICAgIGxvZGFzaCAiXjQuMTUu MCIKLSAgICBwYXJzZTUgIl4zLjAuMSIKLQotImNob2tpZGFyQD49Mi4wLjAgPDQuMC4wIiwgY2hv a2lkYXJAXjIuMS4xLCBjaG9raWRhckBeMi4xLjg6CisgIHZlcnNpb24gIjEuMC4wLXJjLjUiCisg IHJlc29sdmVkICJodHRwczovL3JlZ2lzdHJ5Lnlhcm5wa2cuY29tL2NoZWVyaW8vLS9jaGVlcmlv LTEuMC4wLXJjLjUudGd6Izg4OTA3ZTE4Mjg2NzRlOGY5ZmVlMzc1MTg4YjI3ZGFkZDRmMGZhMmYi CisgIGludGVncml0eSBzaGE1MTIteW9xcHMvVkNhWmdONHBmWHRlbndIUk9UcDhORzYvSGx0NEpw ejJGRVAwWkpRK1pVa1ZEZDBoQVBETktoajNuYWtwZlB0L0NOczU3eUV0eEQxYlhRaXc9PQorICBk ZXBlbmRlbmNpZXM6CisgICAgY2hlZXJpby1zZWxlY3QtdG1wICJeMC4xLjAiCisgICAgZG9tLXNl cmlhbGl6ZXIgIn4xLjIuMCIKKyAgICBkb21oYW5kbGVyICJeNC4wLjAiCisgICAgZW50aXRpZXMg In4yLjEuMCIKKyAgICBodG1scGFyc2VyMiAiXjYuMC4wIgorICAgIHBhcnNlNSAiXjYuMC4wIgor ICAgIHBhcnNlNS1odG1scGFyc2VyMi10cmVlLWFkYXB0ZXIgIl42LjAuMCIKKworImNob2tpZGFy QD49Mi4wLjAgPDQuMC4wIiwgY2hva2lkYXJAXjMuMC4wLCBjaG9raWRhckBeMy40LjE6CisgIHZl cnNpb24gIjMuNC4zIgorICByZXNvbHZlZCAiaHR0cHM6Ly9yZWdpc3RyeS55YXJucGtnLmNvbS9j aG9raWRhci8tL2Nob2tpZGFyLTMuNC4zLnRneiNjMWRmMzgyMzE0NDhlNDVjYTRhYzU4OGU2Yzc5 NTczYmE2YTU3ZDViIgorICBpbnRlZ3JpdHkgc2hhNTEyLUR0TTNnN2p1Q1hReEZWU05QTkJ5RUMy K05JbXRCdXhRUXZXbEh1bnBKSVM1T2NyMGxHMzA2Y0M3RkNpN2NFQTBmem15YlBVSWw0dHhCSW9i azFnR09RPT0KKyAgZGVwZW5kZW5jaWVzOgorICAgIGFueW1hdGNoICJ+My4xLjEiCisgICAgYnJh Y2VzICJ+My4wLjIiCisgICAgZ2xvYi1wYXJlbnQgIn41LjEuMCIKKyAgICBpcy1iaW5hcnktcGF0 aCAifjIuMS4wIgorICAgIGlzLWdsb2IgIn40LjAuMSIKKyAgICBub3JtYWxpemUtcGF0aCAifjMu MC4wIgorICAgIHJlYWRkaXJwICJ+My41LjAiCisgIG9wdGlvbmFsRGVwZW5kZW5jaWVzOgorICAg IGZzZXZlbnRzICJ+Mi4xLjIiCisKK2Nob2tpZGFyQF4yLjEuMSwgY2hva2lkYXJAXjIuMS44Ogog ICB2ZXJzaW9uICIyLjEuOCIKICAgcmVzb2x2ZWQgImh0dHBzOi8vcmVnaXN0cnkueWFybnBrZy5j b20vY2hva2lkYXIvLS9jaG9raWRhci0yLjEuOC50Z3ojODA0YjNhN2I2YTk5MzU4YzNjNWM2MWU3 MWQ4NzI4ZjA0MWNmZjkxNyIKICAgaW50ZWdyaXR5IHNoYTUxMi1abVpVYXpmT3pmME52ZTdkdWlD S0QyM1BGU0NzNEpQb1l5Y2NqVUZGM2FRa1FhZHFCaGZ6aGprd0JIMm1OT0c5Y1RCd2hhbU0zN0VJ c0lrWnczblJnZz09CkBAIC0yNTAzLDIxICsyNjIxLDYgQEAgY2hlZXJpb0BeMS4wLjAtcmMuMzoK ICAgb3B0aW9uYWxEZXBlbmRlbmNpZXM6CiAgICAgZnNldmVudHMgIl4xLjIuNyIKIAotY2hva2lk YXJAXjMuMC4wLCBjaG9raWRhckBeMy40LjE6Ci0gIHZlcnNpb24gIjMuNC4yIgotICByZXNvbHZl ZCAiaHR0cHM6Ly9yZWdpc3RyeS55YXJucGtnLmNvbS9jaG9raWRhci8tL2Nob2tpZGFyLTMuNC4y LnRneiMzOGRjOGU2NThkZWMzODA5NzQxZWIzZWY3YmIwYTQ3ZmU0MjQyMzJkIgotICBpbnRlZ3Jp dHkgc2hhNTEyLUlaSGFEZUJlSStzWkpSWDdsR2NYc2R6Z3ZacUt2NnNFQ3FzYkVySkE0bUhXZnBS ckQ4Qjk3a1NGTjRjUXo2bkdCR2l1RmlhMU1LUjRkNmMxbzhDdjdBPT0KLSAgZGVwZW5kZW5jaWVz OgotICAgIGFueW1hdGNoICJ+My4xLjEiCi0gICAgYnJhY2VzICJ+My4wLjIiCi0gICAgZ2xvYi1w YXJlbnQgIn41LjEuMCIKLSAgICBpcy1iaW5hcnktcGF0aCAifjIuMS4wIgotICAgIGlzLWdsb2Ig In40LjAuMSIKLSAgICBub3JtYWxpemUtcGF0aCAifjMuMC4wIgotICAgIHJlYWRkaXJwICJ+My40 LjAiCi0gIG9wdGlvbmFsRGVwZW5kZW5jaWVzOgotICAgIGZzZXZlbnRzICJ+Mi4xLjIiCi0KIGNo b3duckBeMS4xLjEsIGNob3duckBeMS4xLjI6CiAgIHZlcnNpb24gIjEuMS40IgogICByZXNvbHZl ZCAiaHR0cHM6Ly9yZWdpc3RyeS55YXJucGtnLmNvbS9jaG93bnIvLS9jaG93bnItMS4xLjQudGd6 IzZmYzlkN2I0MmQzMmE1ODM1OTYzMzc2NjZlN2QwODA4NGRhMmNjNmIiCkBAIC0yNTk1LDYgKzI2 OTgsMTMgQEAgY2xvbmUtcmVzcG9uc2VAMS4wLjI6CiAgIGRlcGVuZGVuY2llczoKICAgICBtaW1p Yy1yZXNwb25zZSAiXjEuMC4wIgogCitjbG9zZXN0QF4wLjAuMToKKyAgdmVyc2lvbiAiMC4wLjEi CisgIHJlc29sdmVkICJodHRwczovL3JlZ2lzdHJ5Lnlhcm5wa2cuY29tL2Nsb3Nlc3QvLS9jbG9z ZXN0LTAuMC4xLnRneiMyNmRhNmY4MGIzZTBlMTdlNzFmODBmMTI3ODI4MTllOWY2NTM0OTVjIgor ICBpbnRlZ3JpdHkgc2hhMS1KdHB2Z0xQZzRYNXgrQThTZUNnWjZmWlRTVnc9CisgIGRlcGVuZGVu Y2llczoKKyAgICBtYXRjaGVzLXNlbGVjdG9yICIwLjAuMSIKKwogY29AXjQuNi4wOgogICB2ZXJz aW9uICI0LjYuMCIKICAgcmVzb2x2ZWQgImh0dHBzOi8vcmVnaXN0cnkueWFybnBrZy5jb20vY28v LS9jby00LjYuMC50Z3ojNmVhNmJkZjNkODUzYWU1NGNjYjhlNDdiZmEwYmYzZjkwMzFmYjE4NCIK QEAgLTI2MTAsOSArMjcyMCw5IEBAIGNvYUBeMi4wLjI6CiAgICAgcSAiXjEuMS4yIgogCiBjb2Rl bWlycm9yQF41LjU0LjA6Ci0gIHZlcnNpb24gIjUuNTguMSIKLSAgcmVzb2x2ZWQgImh0dHBzOi8v cmVnaXN0cnkueWFybnBrZy5jb20vY29kZW1pcnJvci8tL2NvZGVtaXJyb3ItNS41OC4xLnRneiNl YzZiZjM4YWQyYTE3Zjc0YzYxYmQwMGNjNmRjNWE2OWJkMTY3ODU0IgotICBpbnRlZ3JpdHkgc2hh NTEyLVVHYi91ZXUyMFU0eHFXazhoWkIzeElmVjIvU0ZxblNMWU9OaU0zd1RNRHFrbzBic1lyc0Fr R0docVV6YlJrWW04OWFCS1B5SHR1TkViVldGOUZURnp3PT0KKyAgdmVyc2lvbiAiNS41OS4wIgor ICByZXNvbHZlZCAiaHR0cHM6Ly9yZWdpc3RyeS55YXJucGtnLmNvbS9jb2RlbWlycm9yLy0vY29k ZW1pcnJvci01LjU5LjAudGd6IzZkODEzMjA1NTQ1OWFhYmYyMWQwNGNhZTVjZjVjNDMwZTVjNTdi YjkiCisgIGludGVncml0eSBzaGE1MTItVUd6U2tDYWNZOXowclNwUTN3blRXUk4ybnZSRTZmb0RY bkpsdFdXOHBhekluUi9SKzNnWEhyYW80SUZRTXYvYlNCdkZCeHQ4L0hQcGtwS0FTNTR4NVE9PQog CiBjb2xsZWN0aW9uLXZpc2l0QF4xLjAuMDoKICAgdmVyc2lvbiAiMS4wLjAiCkBAIC0yNjM2LDMx ICsyNzQ2LDMxIEBAIGNvbG9yLWNvbnZlcnRAXjIuMC4xOgogICBkZXBlbmRlbmNpZXM6CiAgICAg Y29sb3ItbmFtZSAifjEuMS40IgogCi1jb2xvci1uYW1lQDEuMS4zLCBjb2xvci1uYW1lQF4xLjAu MDoKK2NvbG9yLW5hbWVAMS4xLjM6CiAgIHZlcnNpb24gIjEuMS4zIgogICByZXNvbHZlZCAiaHR0 cHM6Ly9yZWdpc3RyeS55YXJucGtnLmNvbS9jb2xvci1uYW1lLy0vY29sb3ItbmFtZS0xLjEuMy50 Z3ojYTdkMDU1OGJkODljNDJmNzk1ZGQ0MjMyOGY3NDA4MzFjYTUzYmMyNSIKICAgaW50ZWdyaXR5 IHNoYTEtcDlCVmk5aWNRdmVWM1VJeWozUUlNY3BUdkNVPQogCi1jb2xvci1uYW1lQH4xLjEuNDoK K2NvbG9yLW5hbWVAXjEuMC4wLCBjb2xvci1uYW1lQH4xLjEuNDoKICAgdmVyc2lvbiAiMS4xLjQi CiAgIHJlc29sdmVkICJodHRwczovL3JlZ2lzdHJ5Lnlhcm5wa2cuY29tL2NvbG9yLW5hbWUvLS9j b2xvci1uYW1lLTEuMS40LnRneiNjMmEwOWE4N2FjYmRlNjk1NDNkZTZmNjNmYTM5OTVjODI2YzUz NmEyIgogICBpbnRlZ3JpdHkgc2hhNTEyLWRPeSszQXVXM2Eyd05iWkhJdU1acFRjZ2pHdUxVL3VC TC91YmNaRjlPWGJEbzhmZjRPOHlWcDVCZjBlZlM4dUVvWW81cTRGeDdkWTlPZ1FHWGdBc1FBPT0K IAotY29sb3Itc3RyaW5nQF4xLjUuMjoKLSAgdmVyc2lvbiAiMS41LjMiCi0gIHJlc29sdmVkICJo dHRwczovL3JlZ2lzdHJ5Lnlhcm5wa2cuY29tL2NvbG9yLXN0cmluZy8tL2NvbG9yLXN0cmluZy0x LjUuMy50Z3ojYzliYmM1ZjAxYjU4YjU0OTJmM2Q2ODU3NDU5Y2I2NTkwY2UyMDRjYyIKLSAgaW50 ZWdyaXR5IHNoYTUxMi1kQzJDNXFlV29Za3hraTVVQVhhcGRqcU82NzJBTTR2WnVQR1JRZk84YjVI S3VLR0JiS1dwSVR5RFlON1RPRkt2Ulc3a09nQW4zNzQ2Y2xEQk1ESnlRdz09Citjb2xvci1zdHJp bmdAXjEuNS40OgorICB2ZXJzaW9uICIxLjUuNCIKKyAgcmVzb2x2ZWQgImh0dHBzOi8vcmVnaXN0 cnkueWFybnBrZy5jb20vY29sb3Itc3RyaW5nLy0vY29sb3Itc3RyaW5nLTEuNS40LnRneiNkZDUx Y2QyNWNmZWU5NTNkMTM4ZmU0MDAyMzcyY2MzZDBlNTA0Y2I2IgorICBpbnRlZ3JpdHkgc2hhNTEy LTU3eUY1eXQ4WGEzY3pTRVcxamZRREU3OUlkazArQWtOLzRLV2FkNnRiZHhVbUFzM012anhsV1NX RDRkZVl5dGNSZm9aOW5oS3lGbDFrajV0QnZpZGJ3PT0KICAgZGVwZW5kZW5jaWVzOgogICAgIGNv bG9yLW5hbWUgIl4xLjAuMCIKICAgICBzaW1wbGUtc3dpenpsZSAiXjAuMi4yIgogCiBjb2xvckBe My4wLjA6Ci0gIHZlcnNpb24gIjMuMS4yIgotICByZXNvbHZlZCAiaHR0cHM6Ly9yZWdpc3RyeS55 YXJucGtnLmNvbS9jb2xvci8tL2NvbG9yLTMuMS4yLnRneiM2ODE0OGU3Zjg1ZDQxYWQ3NjQ5YzVm YThjODEwNmYwOThkMjI5ZTEwIgotICBpbnRlZ3JpdHkgc2hhNTEyLXZYVEpoSGViQnl4Wm4zbER2 REpZdzRsUjUrdUIzdnVvSHN1WUE1QUt1eFJWbjV3enpJZlFLR0xCbWdkVlJIS1RKWWVLNXJ2SmNI bnJkMExpNDlDRnBnPT0KKyAgdmVyc2lvbiAiMy4xLjMiCisgIHJlc29sdmVkICJodHRwczovL3Jl Z2lzdHJ5Lnlhcm5wa2cuY29tL2NvbG9yLy0vY29sb3ItMy4xLjMudGd6I2NhNjdmYjRlN2I5N2Q2 MTFkY2RlMzllY2VlZDQyMjA2N2Q5MTU5NmUiCisgIGludGVncml0eSBzaGE1MTIteGdYQWNUSGEy SGVGQ0dMRTlYcy9SODJodWpHdHU5SmQ5eDROVzNUMzQrT01zN1ZvUHNqd3pSY3pLSHZUQUhlSndX RndYNWoxNStNZ0FwcEU4enRPYlE9PQogICBkZXBlbmRlbmNpZXM6CiAgICAgY29sb3ItY29udmVy dCAiXjEuOS4xIgotICAgIGNvbG9yLXN0cmluZyAiXjEuNS4yIgorICAgIGNvbG9yLXN0cmluZyAi XjEuNS40IgogCiBjb2xvcmV0dGVAXjEuMi4xOgogICB2ZXJzaW9uICIxLjIuMSIKQEAgLTI2ODgs OSArMjc5OCw5IEBAIGNvbW1hbmRlckBeMi4xMi4yLCBjb21tYW5kZXJAXjIuMTguMCwgY29tbWFu ZGVyQF4yLjE5LjAsIGNvbW1hbmRlckBeMi4yMC4wLCBjb21tCiAgIGludGVncml0eSBzaGE1MTIt R3BWa21NOHZGMnZRVWtqMkx2Wm1EMzVKeGVKT0xDd0o5Y1VrdWd5azJudWhidjMrbUp2cExZWXQr MCtVU014RStvaitleS9sSkVuaFp3NzV4L09NY1E9PQogCiBjb21tYW5kZXJAXjYuMC4wOgotICB2 ZXJzaW9uICI2LjEuMCIKLSAgcmVzb2x2ZWQgImh0dHBzOi8vcmVnaXN0cnkueWFybnBrZy5jb20v Y29tbWFuZGVyLy0vY29tbWFuZGVyLTYuMS4wLnRneiNmOGQ3MjJiNzgxMDMxNDEwMDZiNjZmNGM3 YmExZTk3MzE1YmE3NWJjIgotICBpbnRlZ3JpdHkgc2hhNTEyLXdsN1BOcllXZDJ5NW1wMU9LL0xo VGx2OEZmNGtRSlFSWFhBdkYrdVUvVFBOaVZKVXhaTFJZR2ovQjB5L2xQR0FWY1NiSnFIMlphL2N2 SG1yUE1DOG1BPT0KKyAgdmVyc2lvbiAiNi4yLjEiCisgIHJlc29sdmVkICJodHRwczovL3JlZ2lz dHJ5Lnlhcm5wa2cuY29tL2NvbW1hbmRlci8tL2NvbW1hbmRlci02LjIuMS50Z3ojMDc5MmViNjgy ZGZiYzMyNTk5OWJiMmI4NGZkZGRkYmExMTBhYzczYyIKKyAgaW50ZWdyaXR5IHNoYTUxMi1VN1Zk ckpGbkpnbzR4anJIcFR6dTB5ckhQR0ltZHNtRDk1WmxnWVNFYWpBbjJKS3pEaERUUEc5a0JUZWZt T2JMMncvbmdlWm5pbGsrT1Y5Q0czZDdVQT09CiAKIGNvbW1vbmRpckBeMS4wLjE6CiAgIHZlcnNp b24gIjEuMC4xIgpAQCAtMjc3NywxOCArMjg4NywxOCBAQCBjb250ZW50LXR5cGVAfjEuMC40Ogog ICByZXNvbHZlZCAiaHR0cHM6Ly9yZWdpc3RyeS55YXJucGtnLmNvbS9jb250ZW50LXR5cGUvLS9j b250ZW50LXR5cGUtMS4wLjQudGd6I2UxMzhjYzc1ZTA0MGM3MjdiMTk2NmZlNWU1ZjhjOWFlZTI1 NmZlM2IiCiAgIGludGVncml0eSBzaGE1MTItaElQM0VFUHM4dEI5QVQxTCtOVXF0d09BcHM0bWsy Wm9iODlNV1hNSGpIV2c5bWlsRi9qNG9zbm5RTFhCQ0JGQmsvdHZJRy90VWM5bU9VSmlQQmhQWEE9 PQogCi1jb252ZXJ0LXNvdXJjZS1tYXBAXjEuMS4wLCBjb252ZXJ0LXNvdXJjZS1tYXBAXjEuMS4z LCBjb252ZXJ0LXNvdXJjZS1tYXBAfjEuMS4wOgotICB2ZXJzaW9uICIxLjEuMyIKLSAgcmVzb2x2 ZWQgImh0dHBzOi8vcmVnaXN0cnkueWFybnBrZy5jb20vY29udmVydC1zb3VyY2UtbWFwLy0vY29u dmVydC1zb3VyY2UtbWFwLTEuMS4zLnRneiM0ODI5Yzg3N2U5ZmU0OWIzMTYxZjNiZjM2NzM4ODhl MjA0Njk5ODYwIgotICBpbnRlZ3JpdHkgc2hhMS1TQ25JZCtuK1NiTVdIenZ6WnppSTRnUnBtR0E9 Ci0KLWNvbnZlcnQtc291cmNlLW1hcEBeMS41LjAsIGNvbnZlcnQtc291cmNlLW1hcEBeMS43LjA6 Citjb252ZXJ0LXNvdXJjZS1tYXBAXjEuMS4zLCBjb252ZXJ0LXNvdXJjZS1tYXBAXjEuNS4wLCBj b252ZXJ0LXNvdXJjZS1tYXBAXjEuNy4wOgogICB2ZXJzaW9uICIxLjcuMCIKICAgcmVzb2x2ZWQg Imh0dHBzOi8vcmVnaXN0cnkueWFybnBrZy5jb20vY29udmVydC1zb3VyY2UtbWFwLy0vY29udmVy dC1zb3VyY2UtbWFwLTEuNy4wLnRneiMxN2EyY2I4ODJkN2Y3N2QzNDkwNTg1ZTJjZTZjNTI0NDI0 YTNhNDQyIgogICBpbnRlZ3JpdHkgc2hhNTEyLTRGSmtYektYRURCMXNuQ0ZabExQNGdwQzNKSUxp Y0NwR2J6RzlmOUc3dEdxR0N6RVRRMmhXUHJjaW5BOW9VNHd0ZjJiaVVhRUg1MDY1VW5NZVIzM29B PT0KICAgZGVwZW5kZW5jaWVzOgogICAgIHNhZmUtYnVmZmVyICJ+NS4xLjEiCiAKK2NvbnZlcnQt c291cmNlLW1hcEB+MS4xLjA6CisgIHZlcnNpb24gIjEuMS4zIgorICByZXNvbHZlZCAiaHR0cHM6 Ly9yZWdpc3RyeS55YXJucGtnLmNvbS9jb252ZXJ0LXNvdXJjZS1tYXAvLS9jb252ZXJ0LXNvdXJj ZS1tYXAtMS4xLjMudGd6IzQ4MjljODc3ZTlmZTQ5YjMxNjFmM2JmMzY3Mzg4OGUyMDQ2OTk4NjAi CisgIGludGVncml0eSBzaGExLVNDbklkK24rU2JNV0h6dnpaemlJNGdScG1HQT0KKwogY29va2ll LXNpZ25hdHVyZUAxLjAuNjoKICAgdmVyc2lvbiAiMS4wLjYiCiAgIHJlc29sdmVkICJodHRwczov L3JlZ2lzdHJ5Lnlhcm5wa2cuY29tL2Nvb2tpZS1zaWduYXR1cmUvLS9jb29raWUtc2lnbmF0dXJl LTEuMC42LnRneiNlMzAzYTg4MmIzNDJjYzNlZThjYTUxM2E3OTk5OTczNGRhYjNhZTJjIgpAQCAt MjgzOSwyMyArMjk0OSwyOCBAQCBjb3B5LXdlYnBhY2stcGx1Z2luQF41LjEuMDoKICAgICBzZXJp YWxpemUtamF2YXNjcmlwdCAiXjQuMC4wIgogICAgIHdlYnBhY2stbG9nICJeMi4wLjAiCiAKLWNv cmUtanMtY29tcGF0QF4zLjEuMToKLSAgdmVyc2lvbiAiMy42LjUiCi0gIHJlc29sdmVkICJodHRw czovL3JlZ2lzdHJ5Lnlhcm5wa2cuY29tL2NvcmUtanMtY29tcGF0Ly0vY29yZS1qcy1jb21wYXQt My42LjUudGd6IzJhNTFkOWE0ZTI1ZGZkNmU2OTAyNTFhYTgxZjk5ZTNjMDU0ODFmMWMiCi0gIGlu dGVncml0eSBzaGE1MTItN0l0VEtPaE9aYnpuaFhBUTJnL3NsR2cxUEpWNXpETy9XZGtUd2k3VUVP Sm1rdnNFMzJQV3Z4Nm1LdERqaU1wam5SMkNOZjZCQUQ2c1N4SWx2N3B0bmc9PQorY29yZS1qcy1j b21wYXRAXjMuOC4wOgorICB2ZXJzaW9uICIzLjguMSIKKyAgcmVzb2x2ZWQgImh0dHBzOi8vcmVn aXN0cnkueWFybnBrZy5jb20vY29yZS1qcy1jb21wYXQvLS9jb3JlLWpzLWNvbXBhdC0zLjguMS50 Z3ojOGQxZGRkMzQxZDY2MGJhNjE5NGNiZTBjZTYwZjRjNzk0Yzg3YTM2ZSIKKyAgaW50ZWdyaXR5 IHNoYTUxMi1hMTZUTG15OU5WRDFya2pVR2J3dXlXa2lEb04wRkRwQXdyZkxPTnZIRlF4MEQ5azdK OXkwc3J3TVQ4UVAvWjZIRTNNSUZhVnluRWVZd1p3UFgxbzVSUT09CiAgIGRlcGVuZGVuY2llczoK LSAgICBicm93c2Vyc2xpc3QgIl40LjguNSIKKyAgICBicm93c2Vyc2xpc3QgIl40LjE1LjAiCiAg ICAgc2VtdmVyICI3LjAuMCIKIAorY29yZS1qcy1wdXJlQF4zLjAuMDoKKyAgdmVyc2lvbiAiMy44 LjEiCisgIHJlc29sdmVkICJodHRwczovL3JlZ2lzdHJ5Lnlhcm5wa2cuY29tL2NvcmUtanMtcHVy ZS8tL2NvcmUtanMtcHVyZS0zLjguMS50Z3ojMjNmODQwNDhmMzY2ZmRmY2Y1MmQzZmQxYzY4ZmVj MzQ5MTc3ZDExOSIKKyAgaW50ZWdyaXR5IHNoYTUxMi1TZStMYXhxWGxWWEd2bWV4S0dQdm5VSVlD MWp3WHUxSDZQa3liM3VCTTVkOC9ORUxNWUNIcy80L3JvRDc3MjFOeHJUTHl2N2U1blhkNS9RTEJP KzEwZz09CisKIGNvcmUtanNAXjIuNC4wOgotICB2ZXJzaW9uICIyLjYuMTEiCi0gIHJlc29sdmVk ICJodHRwczovL3JlZ2lzdHJ5Lnlhcm5wa2cuY29tL2NvcmUtanMvLS9jb3JlLWpzLTIuNi4xMS50 Z3ojMzg4MzE0NjlmOTkyMmJkZWQ4ZWUyMWM5ZGM0Njk4NWUwMzk5MzA4YyIKLSAgaW50ZWdyaXR5 IHNoYTUxMi01d2pucGFULzNkVitYQjRib3JFc25BWVFjaG4wMFhTZ1RBV0tEa0VxditLOEtldmpi em1vZks2aGZKOVRaSWxwajJOMHhRcGF6eTdQaVJRaVdIcXpXZz09CisgIHZlcnNpb24gIjIuNi4x MiIKKyAgcmVzb2x2ZWQgImh0dHBzOi8vcmVnaXN0cnkueWFybnBrZy5jb20vY29yZS1qcy8tL2Nv cmUtanMtMi42LjEyLnRneiNkOTMzM2RmYTdiMDY1ZTM0N2NjNTY4MjIxOWQ2ZjY5MDg1OWNjMmVj IgorICBpbnRlZ3JpdHkgc2hhNTEyLUtiMndDMGZ2c1dmUXJnazhIVTVsVzZVL0xjczgrOWFhWWN5 NFpGYzZERGxvNG5aN243MGRFZ0U1cnRSMG9HNnVmS0RVbnJ3ZldMMW1YUjVsakRhdHJRPT0KIAot Y29yZS1qc0BeMy4yLjEsIGNvcmUtanNAXjMuNi41OgotICB2ZXJzaW9uICIzLjYuNSIKLSAgcmVz b2x2ZWQgImh0dHBzOi8vcmVnaXN0cnkueWFybnBrZy5jb20vY29yZS1qcy8tL2NvcmUtanMtMy42 LjUudGd6IzczOTVkYzI3M2FmMzdmYjJlNTBlOWJkM2Q5ZmU4NDEyODUyMzFkMWEiCi0gIGludGVn cml0eSBzaGE1MTItdlpWRUV3Wm9Jc0krdlBFdW9GOUlxZjVINy9NM2VlUXFXbFFuWWE4RlNLS2VQ dVlUZjVNV254YjVTREF6Q2E2MGIzSkJSUzVnOWIrRHE3YjF5L1JDckE9PQorY29yZS1qc0BeMy4y LjEsIGNvcmUtanNAXjMuOC4wOgorICB2ZXJzaW9uICIzLjguMSIKKyAgcmVzb2x2ZWQgImh0dHBz Oi8vcmVnaXN0cnkueWFybnBrZy5jb20vY29yZS1qcy8tL2NvcmUtanMtMy44LjEudGd6I2Y1MTUy MzY2OGFjOGEyOTRkMTI4NWMzYjlkYjQ0MDI1ZmRhNjZkNDciCisgIGludGVncml0eSBzaGE1MTIt OUlkMnhIWTFXN204aENsOE5raFFuNUN1Zm1GL1d1UjMwQlRSZXd2Q1hjMWFaZDNrTUVDd05aNjlu ZExiZWtLZmFrdzlSZjJYeWMrUVI2RTdHZytvYmc9PQogCiBjb3JlLXV0aWwtaXNAfjEuMC4wOgog ICB2ZXJzaW9uICIxLjAuMiIKQEAgLTI4NzIsNiArMjk4NywxNyBAQCBjb3NtaWNvbmZpZ0BeNS4w LjA6CiAgICAganMteWFtbCAiXjMuMTMuMSIKICAgICBwYXJzZS1qc29uICJeNC4wLjAiCiAKK2Nv c21pY29uZmlnQF42LjAuMDoKKyAgdmVyc2lvbiAiNi4wLjAiCisgIHJlc29sdmVkICJodHRwczov L3JlZ2lzdHJ5Lnlhcm5wa2cuY29tL2Nvc21pY29uZmlnLy0vY29zbWljb25maWctNi4wLjAudGd6 I2RhNGZlZTg1M2M1MmY2YjFlNjkzNWY0MWMxYTJmYzUwYmQ0YTk5ODIiCisgIGludGVncml0eSBz aGE1MTIteGIzWkw2K0w4YjlKTExDeDNaZG9aeTQrMkVDcGhDTW8yUHdxZ1AxdGxmVnE2TTZZUmV5 ekJKdHZXV3RiRFNwTnI5aG45NnBrQ2lacVVjRkVjKzU0UWc9PQorICBkZXBlbmRlbmNpZXM6Cisg ICAgIkB0eXBlcy9wYXJzZS1qc29uIiAiXjQuMC4wIgorICAgIGltcG9ydC1mcmVzaCAiXjMuMS4w IgorICAgIHBhcnNlLWpzb24gIl41LjAuMCIKKyAgICBwYXRoLXR5cGUgIl40LjAuMCIKKyAgICB5 YW1sICJeMS43LjIiCisKIGNyZWF0ZS1lY2RoQF40LjAuMDoKICAgdmVyc2lvbiAiNC4wLjQiCiAg IHJlc29sdmVkICJodHRwczovL3JlZ2lzdHJ5Lnlhcm5wa2cuY29tL2NyZWF0ZS1lY2RoLy0vY3Jl YXRlLWVjZGgtNC4wLjQudGd6I2Q2ZTdmNGJmZmE2NjczNjA4NWEwNzYyZmQzYTYzMjY4NGRhYmNj NGUiCkBAIC0yOTYwLDYgKzMwODYsMTMgQEAgY3NzLWRlY2xhcmF0aW9uLXNvcnRlckBeNC4wLjE6 CiAgICAgcG9zdGNzcyAiXjcuMC4xIgogICAgIHRpbXNvcnQgIl4wLjMuMCIKIAorY3NzLWxpbmUt YnJlYWtAMS4xLjE6CisgIHZlcnNpb24gIjEuMS4xIgorICByZXNvbHZlZCAiaHR0cHM6Ly9yZWdp c3RyeS55YXJucGtnLmNvbS9jc3MtbGluZS1icmVhay8tL2Nzcy1saW5lLWJyZWFrLTEuMS4xLnRn eiNkNWU5YmRkMjk3ODQwMDk5ZWIwNTAzYzczMTBmZDM0OTI3YTAyNmVmIgorICBpbnRlZ3JpdHkg c2hhNTEyLTFmZU5WYU00Rnl6ZGo0bUtQSVFOTDJuNzBNbXVZekFYWjFheXRsUk9GWDFKc09vMDcw T3N1Z3dHamo3bmw2am5ESldIRE04elJac3drbWVZVldaSlFBPT0KKyAgZGVwZW5kZW5jaWVzOgor ICAgIGJhc2U2NC1hcnJheWJ1ZmZlciAiXjAuMi4wIgorCiBjc3MtbG9hZGVyQDIuMS4wOgogICB2 ZXJzaW9uICIyLjEuMCIKICAgcmVzb2x2ZWQgImh0dHBzOi8vcmVnaXN0cnkueWFybnBrZy5jb20v Y3NzLWxvYWRlci8tL2Nzcy1sb2FkZXItMi4xLjAudGd6IzQyOTUyYWMyMmJjYTVkMDc2OTc4NjM4 ZTk4MTNhYmNlNDliOGYwY2MiCkBAIC0yOTkxLDE1ICszMTI0LDE2IEBAIGNzcy1zZWxlY3RAXjIu MC4wOgogICAgIGRvbXV0aWxzICJeMS43LjAiCiAgICAgbnRoLWNoZWNrICJeMS4wLjIiCiAKLWNz cy1zZWxlY3RAfjEuMi4wOgotICB2ZXJzaW9uICIxLjIuMCIKLSAgcmVzb2x2ZWQgImh0dHBzOi8v cmVnaXN0cnkueWFybnBrZy5jb20vY3NzLXNlbGVjdC8tL2Nzcy1zZWxlY3QtMS4yLjAudGd6IzJi M2ExMTA1MzljNTM1NWYxY2Q4ZDMxNDYyM2U4NzBiMTIxZWM4NTgiCi0gIGludGVncml0eSBzaGEx LUt6b1JCVG5GTlY4YzJOTVVZajZIQ3hJZXlGZz0KK2Nzcy1zZWxlY3RAXjMuMS4yOgorICB2ZXJz aW9uICIzLjEuMiIKKyAgcmVzb2x2ZWQgImh0dHBzOi8vcmVnaXN0cnkueWFybnBrZy5jb20vY3Nz LXNlbGVjdC8tL2Nzcy1zZWxlY3QtMy4xLjIudGd6I2Q1MmNiZGM2ZmVlMzc5ZmJhOTdmYjBkMzky NWFiYmQxOGFmMmQ5ZDgiCisgIGludGVncml0eSBzaGE1MTItcW1zczFFaWhTdUJOV05OaEhqeHp4 U2ZKb0ZCTS9sRVJCL1E0RW5zSlFRQzYyUjJldkpEVzQ4MTA5MW9BZE9yOXVoNDYvMG40bnJnMEl0 NWNBbmoxUkE9PQogICBkZXBlbmRlbmNpZXM6Ci0gICAgYm9vbGJhc2UgIn4xLjAuMCIKLSAgICBj c3Mtd2hhdCAiMi4xIgotICAgIGRvbXV0aWxzICIxLjUuMSIKLSAgICBudGgtY2hlY2sgIn4xLjAu MSIKKyAgICBib29sYmFzZSAiXjEuMC4wIgorICAgIGNzcy13aGF0ICJeNC4wLjAiCisgICAgZG9t aGFuZGxlciAiXjQuMC4wIgorICAgIGRvbXV0aWxzICJeMi40LjMiCisgICAgbnRoLWNoZWNrICJe Mi4wLjAiCiAKIGNzcy10cmVlQDEuMC4wLWFscGhhLjM3OgogICB2ZXJzaW9uICIxLjAuMC1hbHBo YS4zNyIKQEAgLTMwMDksMjMgKzMxNDMsMjMgQEAgY3NzLXRyZWVAMS4wLjAtYWxwaGEuMzc6CiAg ICAgbWRuLWRhdGEgIjIuMC40IgogICAgIHNvdXJjZS1tYXAgIl4wLjYuMSIKIAotY3NzLXRyZWVA MS4wLjAtYWxwaGEuMzk6Ci0gIHZlcnNpb24gIjEuMC4wLWFscGhhLjM5IgotICByZXNvbHZlZCAi aHR0cHM6Ly9yZWdpc3RyeS55YXJucGtnLmNvbS9jc3MtdHJlZS8tL2Nzcy10cmVlLTEuMC4wLWFs cGhhLjM5LnRneiMyYmZmM2ZmZTFiYjNmNzc2Y2Y3ZWVmZDkxZWU1Y2JhNzdhMTQ5ZWViIgotICBp bnRlZ3JpdHkgc2hhNTEyLTdVdmtFWWdCQUhSRzlOdDk4MGxZeGpzVHJDeUhGTjUza3kzd1ZzRGtp TWRWcXlscVJ0K1pjK2ptNXF3Ny9xeU92TjJkSFNZdFgwZTRNYkNDRXhTdm5BPT0KK2Nzcy10cmVl QF4xLjEuMjoKKyAgdmVyc2lvbiAiMS4xLjIiCisgIHJlc29sdmVkICJodHRwczovL3JlZ2lzdHJ5 Lnlhcm5wa2cuY29tL2Nzcy10cmVlLy0vY3NzLXRyZWUtMS4xLjIudGd6IzlhZTM5M2I1ZGFmZDdk YWU4YTYyMjQ3NWNhZWM3OGQzZDhmYmQ3YjUiCisgIGludGVncml0eSBzaGE1MTItd0NvV3VzaDVB ZW80OEdMaGZIUGJtdlpzNTlaK003azUrQjF4RG5YYmRXTmNFRjQyM0RvRmRxU1dFMFBNNWFOazVu STVjcDFxN21zMzZ6R0FwWS9zS1E9PQogICBkZXBlbmRlbmNpZXM6Ci0gICAgbWRuLWRhdGEgIjIu MC42IgorICAgIG1kbi1kYXRhICIyLjAuMTQiCiAgICAgc291cmNlLW1hcCAiXjAuNi4xIgogCi1j c3Mtd2hhdEAyLjE6Ci0gIHZlcnNpb24gIjIuMS4zIgotICByZXNvbHZlZCAiaHR0cHM6Ly9yZWdp c3RyeS55YXJucGtnLmNvbS9jc3Mtd2hhdC8tL2Nzcy13aGF0LTIuMS4zLnRneiNhNmQ3NjA0NTcz MzY1ZmU3NDY4NmMzZjMxMWM1NjUxM2Q4ODI4NWYyIgotICBpbnRlZ3JpdHkgc2hhNTEyLWErRVBv RCt1WmlOZmgrNWZ4dzJuTzlRd0ZhNm5KZTJPcjM1ZkdZNklwdzFSM1I0QUd6MWQxVEVackNlZ3Z3 MllUbVowalhpckdZbHp4eHBZU0h3cEVnPT0KLQogY3NzLXdoYXRAXjMuMi4xOgotICB2ZXJzaW9u ICIzLjQuMSIKLSAgcmVzb2x2ZWQgImh0dHBzOi8vcmVnaXN0cnkueWFybnBrZy5jb20vY3NzLXdo YXQvLS9jc3Mtd2hhdC0zLjQuMS50Z3ojODFjYjcwYjYwOWU0YjEzNTFiMWU1NGNiYzkwZmQ5YzU0 YWY4NmUyZSIKLSAgaW50ZWdyaXR5IHNoYTUxMi13SE9wcFZES2w0dlRBT1d6SnQ1RWszN1NnZDlx cTFCbWovVDFPanZpY1diVTVXN3J1N1BxYm4wSmRxaWkzRHJ4L2grZGl4SEtYTmhaWXg3Ymx0aEw3 Zz09CisgIHZlcnNpb24gIjMuNC4yIgorICByZXNvbHZlZCAiaHR0cHM6Ly9yZWdpc3RyeS55YXJu cGtnLmNvbS9jc3Mtd2hhdC8tL2Nzcy13aGF0LTMuNC4yLnRneiNlYTcwMjZmY2IwMTc3N2VkYmRl NTIxMjRlMjFmMzI3ZTdhZTk1MGU0IgorICBpbnRlZ3JpdHkgc2hhNTEyLUFDVW0zTDAvamlaVHFm elJNM0hpOVE4ZVpxZDZJSzM3bU1XUEx6OVBKeGtMV2xsWWVSZitFSFVTSFlFdEZvcDJFcXl0YXEx Rml6RlZoN1hmQm5YQ0RRPT0KKworY3NzLXdoYXRAXjQuMC4wOgorICB2ZXJzaW9uICI0LjAuMCIK KyAgcmVzb2x2ZWQgImh0dHBzOi8vcmVnaXN0cnkueWFybnBrZy5jb20vY3NzLXdoYXQvLS9jc3Mt d2hhdC00LjAuMC50Z3ojMzVlNzM3NjFjYWIyZWViM2QzNjYxMTI2YjIzZDdhYTBlODQzMjIzMyIK KyAgaW50ZWdyaXR5IHNoYTUxMi10ZWlqekc3a3dZZk5Wc1VoMkgvWU42MnhXM0tLOVloWEVnU2xi eE1sY3lqUE52ZEtKcUZ4NWxyd2xKZ29GUDFaSGxCODlpR0Rsby9KeXNoS2VSaHY1QT09CiAKIGNz c2VzY0BeMy4wLjA6CiAgIHZlcnNpb24gIjMuMC4wIgpAQCAtMzEwMSwxMSArMzIzNSwxNiBAQCBj c3NuYW5vQF40LjEuMTA6CiAgICAgcG9zdGNzcyAiXjcuMC4wIgogCiBjc3NvQF40LjAuMjoKLSAg dmVyc2lvbiAiNC4wLjMiCi0gIHJlc29sdmVkICJodHRwczovL3JlZ2lzdHJ5Lnlhcm5wa2cuY29t L2Nzc28vLS9jc3NvLTQuMC4zLnRneiMwZDk5ODVkYzg1MmM3Y2MyYjJjYWNmYmJlMTA3OTAxNGQx YThlOTAzIgotICBpbnRlZ3JpdHkgc2hhNTEyLU5MM3NweXN4VWtjck9nbnBzVDRYZGwyYWlFaUJH NmJYc3dBQUJRVkhjTXJmampCaXNGT0t3TERPbWY0d2YzMmFQZGNKd3MxemRzMkIwUmcranFNeUhR PT0KKyAgdmVyc2lvbiAiNC4yLjAiCisgIHJlc29sdmVkICJodHRwczovL3JlZ2lzdHJ5Lnlhcm5w a2cuY29tL2Nzc28vLS9jc3NvLTQuMi4wLnRneiNlYTNhNTYxMzQ2ZThkYzlmNTQ2ZDZmZWJlZGQ1 MDE4N2NmMzg5NTI5IgorICBpbnRlZ3JpdHkgc2hhNTEyLXd2bGNkSWJmNnB3S0VrN3ZIajgvQmtj MEI0eWxYWnJ1THZPZ3M5ZG9TNWVPc09wdW9kT1YyekpDaFNwa3ArcFJwWVFMUU1lRjA0bnIzWjY4 U3RhOWpBPT0KICAgZGVwZW5kZW5jaWVzOgotICAgIGNzcy10cmVlICIxLjAuMC1hbHBoYS4zOSIK KyAgICBjc3MtdHJlZSAiXjEuMS4yIgorCitjc3N0eXBlQF4yLjUuNzoKKyAgdmVyc2lvbiAiMi42 LjE0IgorICByZXNvbHZlZCAiaHR0cHM6Ly9yZWdpc3RyeS55YXJucGtnLmNvbS9jc3N0eXBlLy0v Y3NzdHlwZS0yLjYuMTQudGd6IzAwNDgyMmE0MDUwMzQ1YjU1YWQ0ZGNjMDBiZTFkOWNmMmY0Mjk2 ZGUiCisgIGludGVncml0eSBzaGE1MTItMm1TYytWRXBHUGJsekF4eWVSK3ZaaEpLZ1lnME9nMG5u Umk3cG1SWEZZWXhTZm5Pblc4QTV3d1FiNG40Y0UybklPenFLT0F6TENhRVg2YUJtTkV2OEE9PQog CiBjdWJpYzJxdWFkQF4xLjAuMDoKICAgdmVyc2lvbiAiMS4xLjEiCkBAIC0zMTM4LDYgKzMyNzcs MTQgQEAgY3ljbGlzdEBeMS4wLjE6CiAgIHJlc29sdmVkICJodHRwczovL3JlZ2lzdHJ5Lnlhcm5w a2cuY29tL2N5Y2xpc3QvLS9jeWNsaXN0LTEuMC4xLnRneiM1OTZlOTY5OGZkMGM4MGUxMjAzOGMy YjgyZDZlYjFiMzViNjIyNGQ5IgogICBpbnRlZ3JpdHkgc2hhMS1XVzZXbVAwTWdPRWdPTUs0TFc2 eHMxdGlKTms9CiAKK2RhZ3JlQF4wLjguNDoKKyAgdmVyc2lvbiAiMC44LjUiCisgIHJlc29sdmVk ICJodHRwczovL3JlZ2lzdHJ5Lnlhcm5wa2cuY29tL2RhZ3JlLy0vZGFncmUtMC44LjUudGd6I2Jh MzBiMDA1NWRhYzEyYjZjMWZjYzI0NzgxNzQ0Mjc3N2QwNmFmZWUiCisgIGludGVncml0eSBzaGE1 MTItL2FUcW1uUnRhN3g3TUNDcEV4azdIUUwyTzRvd0NUMmg4TlQvLzlJMU9ROXZ0MjlQYTBCelNB a1I1bHdGVWNRNzQ5MXlWaS8zQ1hVOWpRNW8wTW4yU3c9PQorICBkZXBlbmRlbmNpZXM6CisgICAg Z3JhcGhsaWIgIl4yLjEuOCIKKyAgICBsb2Rhc2ggIl40LjE3LjE1IgorCiBkYXNoLWFzdEBeMS4w LjA6CiAgIHZlcnNpb24gIjEuMC4wIgogICByZXNvbHZlZCAiaHR0cHM6Ly9yZWdpc3RyeS55YXJu cGtnLmNvbS9kYXNoLWFzdC8tL2Rhc2gtYXN0LTEuMC4wLnRneiMxMjAyOWJhNWZiMmY4YWE2ZjBh ODYxNzk1YjIzYzFiNGI2YzI3ZDM3IgpAQCAtMzE2MywxNiArMzMxMCwxNiBAQCBkZWJ1Z0A9My4x LjAsIGRlYnVnQH4zLjEuMDoKICAgICBtcyAiMi4wLjAiCiAKIGRlYnVnQF4zLjIuNjoKLSAgdmVy c2lvbiAiMy4yLjYiCi0gIHJlc29sdmVkICJodHRwczovL3JlZ2lzdHJ5Lnlhcm5wa2cuY29tL2Rl YnVnLy0vZGVidWctMy4yLjYudGd6I2U4M2QxN2RlMTZkOGE3ZWZiNzcxN2VkYmU1ZmIxMDEzNWVl ZTYyOWIiCi0gIGludGVncml0eSBzaGE1MTItbWVsK2pmN25ydEVsNVBuMVF4NDZ6QVJYS0RwQmJ2 emV6c2U3cDdMcUlObWRvSWs4UFlQNVN5U2F4RW1ZdjZUWjBKeUVLQTFoc0NJZDZESWhnSVR0V1E9 PQorICB2ZXJzaW9uICIzLjIuNyIKKyAgcmVzb2x2ZWQgImh0dHBzOi8vcmVnaXN0cnkueWFybnBr Zy5jb20vZGVidWcvLS9kZWJ1Zy0zLjIuNy50Z3ojNzI1ODBiN2U5MTQ1ZmIzOWI2Njc2ZjljNWU1 ZmIxMDBiOTM0MTc5YSIKKyAgaW50ZWdyaXR5IHNoYTUxMi1DRmp6WVlBaTRUaGZpUXZpenJGUWV2 VFRYSHRuQ3FXZmU3eDFBaGdFc2NUejZaYkxiZm9MUkxQdWdUUXlCdGg2ZjhaRVJWVVN5V0hGRC83 V3U0dDFYUT09CiAgIGRlcGVuZGVuY2llczoKICAgICBtcyAiXjIuMS4xIgogCiBkZWJ1Z0BeNC4w LjEsIGRlYnVnQF40LjEuMCwgZGVidWdAXjQuMS4xOgotICB2ZXJzaW9uICI0LjIuMCIKLSAgcmVz b2x2ZWQgImh0dHBzOi8vcmVnaXN0cnkueWFybnBrZy5jb20vZGVidWcvLS9kZWJ1Zy00LjIuMC50 Z3ojN2YxNTBmOTM5MjBlOTRjNThmNTU3NGMyZmQwMWEzMTEwZWZmZTdmMSIKLSAgaW50ZWdyaXR5 IHNoYTUxMi1JWDJuY1k3OHZEVGpaTUZVZG1zdklSRlkyQ2Y0Rm5EMHdScytuUXdKVThMdTk5L3RQ RmRiMFZ5YmlpTVRQZTNJNnJRbXdzcVFxUkJ2eFUrYlovSThzZz09CisgIHZlcnNpb24gIjQuMy4x IgorICByZXNvbHZlZCAiaHR0cHM6Ly9yZWdpc3RyeS55YXJucGtnLmNvbS9kZWJ1Zy8tL2RlYnVn LTQuMy4xLnRneiNmMGQyMjljNTA1ZTBjNmQ4YzQ5YWM1NTNkMWIxM2RjMTgzZjZiMmVlIgorICBp bnRlZ3JpdHkgc2hhNTEyLWRvRXdkdm00UENlSzRLM1JRTjJaQzJCWVVCYXh3TEFSQ3FabU1qdEY4 YTUxSjJSYjB4cFZsb0ZSbkNPRHdxanB3bkFvYW80cGVsTjhsM1JKZHYzZ1JRPT0KICAgZGVwZW5k ZW5jaWVzOgogICAgIG1zICIyLjEuMiIKIApAQCAtMzM5MSw0MCArMzUzOCw0NiBAQCBkb20tc2Vy aWFsaXplQF4yLjIuMDoKICAgICBleHRlbmQgIl4zLjAuMCIKICAgICB2b2lkLWVsZW1lbnRzICJe Mi4wLjAiCiAKLWRvbS1zZXJpYWxpemVyQDAsIGRvbS1zZXJpYWxpemVyQH4wLjEuMToKLSAgdmVy c2lvbiAiMC4xLjEiCi0gIHJlc29sdmVkICJodHRwczovL3JlZ2lzdHJ5Lnlhcm5wa2cuY29tL2Rv bS1zZXJpYWxpemVyLy0vZG9tLXNlcmlhbGl6ZXItMC4xLjEudGd6IzFlYzQwNTllMjg0YmFiZWQz NmVlYzI5NDFkNGE5NzBhMTg5Y2U3YzAiCi0gIGludGVncml0eSBzaGE1MTItbDBJVTBwUHpMV1NI QmNpZVpicE9LZ2tJbjN0czN2QWg3WnVGeVhOd0p4SlhrL2M0R3dqOXhhVEp3SURWUUNYYXdXRDBx YjNJek1HSDVyZ2xRYU8wWEE9PQorZG9tLXNlcmlhbGl6ZXJAMDoKKyAgdmVyc2lvbiAiMC4yLjIi CisgIHJlc29sdmVkICJodHRwczovL3JlZ2lzdHJ5Lnlhcm5wa2cuY29tL2RvbS1zZXJpYWxpemVy Ly0vZG9tLXNlcmlhbGl6ZXItMC4yLjIudGd6IzFhZmI4MWY1MzM3MTcxNzVkNDc4NjU1ZGViYzVl MzMyZDlmOWJiNTEiCisgIGludGVncml0eSBzaGE1MTItMi94UGIzT1JzUTQybkhZaVN1blhrRGpQ TEJhRWoveFR3VU80QjdYQ1pRVFJrN0VCdFRPUGF5Z2gxMFlBQWgyT0kxUXJwNk5XZnBBaHpzd2ow eWR0OWc9PQorICBkZXBlbmRlbmNpZXM6CisgICAgZG9tZWxlbWVudHR5cGUgIl4yLjAuMSIKKyAg ICBlbnRpdGllcyAiXjIuMC4wIgorCitkb20tc2VyaWFsaXplckBeMS4wLjEsIGRvbS1zZXJpYWxp emVyQH4xLjIuMDoKKyAgdmVyc2lvbiAiMS4yLjAiCisgIHJlc29sdmVkICJodHRwczovL3JlZ2lz dHJ5Lnlhcm5wa2cuY29tL2RvbS1zZXJpYWxpemVyLy0vZG9tLXNlcmlhbGl6ZXItMS4yLjAudGd6 IzM0MzNkOTEzNmFlYjNjNjI3OTgxZGFhMzg1ZmM3ZjMyZDI3YzQ4ZjEiCisgIGludGVncml0eSBz aGE1MTItbjZrWkZIL0tsQ3Jxcy8xR0hNT2Q1aTJmZC9iZVFIdWVoS2RXdk5OZmZiR0hUci9hbG1k aHVWdlRWRmIzVjdmZ2x6K25DNTBmRnVzdTNsWTMzaDEycEE9PQogICBkZXBlbmRlbmNpZXM6Ci0g ICAgZG9tZWxlbWVudHR5cGUgIl4xLjMuMCIKLSAgICBlbnRpdGllcyAiXjEuMS4xIgorICAgIGRv bWVsZW1lbnR0eXBlICJeMi4wLjEiCisgICAgZG9taGFuZGxlciAiXjQuMC4wIgorICAgIGVudGl0 aWVzICJeMi4wLjAiCiAKIGRvbWFpbi1icm93c2VyQF4xLjEuMSwgZG9tYWluLWJyb3dzZXJAXjEu Mi4wOgogICB2ZXJzaW9uICIxLjIuMCIKICAgcmVzb2x2ZWQgImh0dHBzOi8vcmVnaXN0cnkueWFy bnBrZy5jb20vZG9tYWluLWJyb3dzZXIvLS9kb21haW4tYnJvd3Nlci0xLjIuMC50Z3ojM2QzMWY1 MDE5MWE2NzQ5ZGQxMzc1YTdmNTIyZTgyM2Q0MmU1NGVkYSIKICAgaW50ZWdyaXR5IHNoYTUxMi1q bmp5aU02ZVJ5WmwySCtXOFEvekxNQTQ4MWh6aTBlc3pBYUJVeklWbm1ZVkRCYm5MeFZObmZ1MUhn RUJ2Q2JMKzcxRnJ4TWwzRTZscEtIN0dlM09YQT09CiAKLWRvbWVsZW1lbnR0eXBlQDEsIGRvbWVs ZW1lbnR0eXBlQF4xLjMuMCwgZG9tZWxlbWVudHR5cGVAXjEuMy4xOgorZG9tZWxlbWVudHR5cGVA MToKICAgdmVyc2lvbiAiMS4zLjEiCiAgIHJlc29sdmVkICJodHRwczovL3JlZ2lzdHJ5Lnlhcm5w a2cuY29tL2RvbWVsZW1lbnR0eXBlLy0vZG9tZWxlbWVudHR5cGUtMS4zLjEudGd6I2QwNDhjNDRi MzdiMGQxMGE3ZjJhM2Q1ZmVlM2Y0MzMzZDc5MDQ4MWYiCiAgIGludGVncml0eSBzaGE1MTItQlNL QitUU3BNcEZJL0hPeENOcjFPOGFNT1RaOGhUM3BNM0dRMHcvbVdSbWtoRURTRkpra3l6ejRYUXNC VjQ0QkNod0drckRmTXlqVkQwZUEyYUZWM3c9PQogCi1kb21oYW5kbGVyQF4yLjMuMDoKLSAgdmVy c2lvbiAiMi40LjIiCi0gIHJlc29sdmVkICJodHRwczovL3JlZ2lzdHJ5Lnlhcm5wa2cuY29tL2Rv bWhhbmRsZXIvLS9kb21oYW5kbGVyLTIuNC4yLnRneiM4ODA1MDk3ZTkzM2Q2NWU4NTU0NmY3MjZk NjBmNWViODhiNDRmODAzIgotICBpbnRlZ3JpdHkgc2hhNTEyLUppSzA0aDBIdDV1LzgwZmRMTUNF bVY0emtOaDJCY29NRkJtWi85MVd0WVo4cVZYU0tqaXc3ZlhNZ0ZQbkhjU1pnT28zWGRpbkh2bW5E VWVNZjVSNHdBPT0KLSAgZGVwZW5kZW5jaWVzOgotICAgIGRvbWVsZW1lbnR0eXBlICIxIgorZG9t ZWxlbWVudHR5cGVAXjIuMC4xLCBkb21lbGVtZW50dHlwZUBeMi4xLjA6CisgIHZlcnNpb24gIjIu MS4wIgorICByZXNvbHZlZCAiaHR0cHM6Ly9yZWdpc3RyeS55YXJucGtnLmNvbS9kb21lbGVtZW50 dHlwZS8tL2RvbWVsZW1lbnR0eXBlLTIuMS4wLnRneiNhODUxYzA4MGE2ZDFjM2Q5NDM0NGFlZDE1 MWQ5OWY2NjllZGY1ODVlIgorICBpbnRlZ3JpdHkgc2hhNTEyLUxzVGd4L0w1VnBEK1E4bG1zWFNI VzJXcEErZUJsWjlIUGYzZXJEMUlvUEYwMC8zSktIWjNCa25VVkEyUUdETnU2OVpObXlGbUNXQlNP NDVYallLQzV3PT0KIAotZG9tdXRpbHNAMS41LjE6Ci0gIHZlcnNpb24gIjEuNS4xIgotICByZXNv bHZlZCAiaHR0cHM6Ly9yZWdpc3RyeS55YXJucGtnLmNvbS9kb211dGlscy8tL2RvbXV0aWxzLTEu NS4xLnRneiNkY2Q4NDg4YTI2ZjU2M2Q2MTA3OWU0OGM5ZjdiN2UzMjM3MzY4MmNmIgotICBpbnRl Z3JpdHkgc2hhMS0zTmhJaWliMVk5WVFlZVNNbjN0K01qYzJnczg9Citkb21oYW5kbGVyQF40LjAu MDoKKyAgdmVyc2lvbiAiNC4wLjAiCisgIHJlc29sdmVkICJodHRwczovL3JlZ2lzdHJ5Lnlhcm5w a2cuY29tL2RvbWhhbmRsZXIvLS9kb21oYW5kbGVyLTQuMC4wLnRneiMwMWVhNzgyMWRlOTk2ZDg1 ZjY5MDI5ZTgxZmE4NzNjMjE4MzMwOThlIgorICBpbnRlZ3JpdHkgc2hhNTEyLUtQVGJuR1ExSmVF TVF5TzFpWVhvYWdzSTZzby9DOTZIWmlGeUJ5VTNUNmlBenBYbjhFR0V2Y3Q2dW5tMVpHb2VkOEJ5 TzJvaXJ4Z3d4Qm1xS0Y5aGFBPT0KICAgZGVwZW5kZW5jaWVzOgotICAgIGRvbS1zZXJpYWxpemVy ICIwIgotICAgIGRvbWVsZW1lbnR0eXBlICIxIgorICAgIGRvbWVsZW1lbnR0eXBlICJeMi4xLjAi CiAKLWRvbXV0aWxzQF4xLjUuMSwgZG9tdXRpbHNAXjEuNy4wOgorZG9tdXRpbHNAXjEuNy4wOgog ICB2ZXJzaW9uICIxLjcuMCIKICAgcmVzb2x2ZWQgImh0dHBzOi8vcmVnaXN0cnkueWFybnBrZy5j b20vZG9tdXRpbHMvLS9kb211dGlscy0xLjcuMC50Z3ojNTZlYTM0MWU4MzRlMDZlNjc0OGFmN2Ex Y2IyNWRhNjdlYTlmOGMyYSIKICAgaW50ZWdyaXR5IHNoYTUxMi1MZ2QyWGNKL05qRXcrN3RGdmZL eE96Q1lLWnNkY3Q1bGN6UTJaYVFZOERqejdwZkFEM0dicDh5U0pXdHJlSUkvdkRsTVZteHdhNnBI bWR4SVlndHREZz09CkBAIC0zNDMyLDYgKzM1ODUsMTUgQEAgZG9tdXRpbHNAXjEuNS4xLCBkb211 dGlsc0BeMS43LjA6CiAgICAgZG9tLXNlcmlhbGl6ZXIgIjAiCiAgICAgZG9tZWxlbWVudHR5cGUg IjEiCiAKK2RvbXV0aWxzQF4yLjQuMywgZG9tdXRpbHNAXjIuNC40OgorICB2ZXJzaW9uICIyLjQu NCIKKyAgcmVzb2x2ZWQgImh0dHBzOi8vcmVnaXN0cnkueWFybnBrZy5jb20vZG9tdXRpbHMvLS9k b211dGlscy0yLjQuNC50Z3ojMjgyNzM5YzRiMTUwZDAyMmQzNDY5OTc5NzM2OWFhZDhkMTliYmJk MyIKKyAgaW50ZWdyaXR5IHNoYTUxMi1qQkMwdk9zRUNJNE9NZEQwR0M5bUduN05YUExiK1F0NktX MVlEUXplUVlSVUZLbU5HOGxoN21PNUhpRUxmcitsTFFFN2xvRFZJNFFjQXhWODBIUytSQT09Cisg IGRlcGVuZGVuY2llczoKKyAgICBkb20tc2VyaWFsaXplciAiXjEuMC4xIgorICAgIGRvbWVsZW1l bnR0eXBlICJeMi4wLjEiCisgICAgZG9taGFuZGxlciAiXjQuMC4wIgorCiBkb3QtcHJvcEBeNS4y LjA6CiAgIHZlcnNpb24gIjUuMy4wIgogICByZXNvbHZlZCAiaHR0cHM6Ly9yZWdpc3RyeS55YXJu cGtnLmNvbS9kb3QtcHJvcC8tL2RvdC1wcm9wLTUuMy4wLnRneiM5MGNjY2U3MDhjZDljZDgyY2M0 ZGM4YzNkZGQ5YWJkZDU1YjIwZTg4IgpAQCAtMzUyMSwxMCArMzY4MywxMCBAQCBlanNAfjMuMC4y OgogICByZXNvbHZlZCAiaHR0cHM6Ly9yZWdpc3RyeS55YXJucGtnLmNvbS9lanMvLS9lanMtMy4w LjIudGd6Izc0NWIwMWNkY2ZlMzhjMWM2YTJkYTNiYmIyZDk5NTcwNjBhMzEyMjYiCiAgIGludGVn cml0eSBzaGE1MTItSW5jbVVwbjF5Tjg0aHkyc2hiMFBPSjgwRldyZkdOWTBjeE85ZjR2Ky9zRzdx Y0J2QXRWV1VBMUlkelkvOEVZVW1PVmhvS0pWZEpqTmQzQVpjbnhPakE9PQogCi1lbGVjdHJvbi10 by1jaHJvbWl1bUBeMS4zLjU3MToKLSAgdmVyc2lvbiAiMS4zLjU3OCIKLSAgcmVzb2x2ZWQgImh0 dHBzOi8vcmVnaXN0cnkueWFybnBrZy5jb20vZWxlY3Ryb24tdG8tY2hyb21pdW0vLS9lbGVjdHJv bi10by1jaHJvbWl1bS0xLjMuNTc4LnRneiNlNjY3MTkzNmY0NTcxYTg3NGViMjZlMmU4MzNhYTBi MmMwYjc3NmUwIgotICBpbnRlZ3JpdHkgc2hhNTEyLXo0Z1U2ZEExQ2JCSnNBRXJXNXN3VEdBYVUy VEJ6YzJtUEFvbkpiMDB6cVcxck9yYURvMnpmQk1EUnZhejljVmljKzBKRVppWWJIV1B3L2ZUYVps RzJRPT0KK2VsZWN0cm9uLXRvLWNocm9taXVtQF4xLjMuNjIxOgorICB2ZXJzaW9uICIxLjMuNjMz IgorICByZXNvbHZlZCAiaHR0cHM6Ly9yZWdpc3RyeS55YXJucGtnLmNvbS9lbGVjdHJvbi10by1j aHJvbWl1bS8tL2VsZWN0cm9uLXRvLWNocm9taXVtLTEuMy42MzMudGd6IzE2ZGQ1YWVjOWRlMDM4 OTRlOGQxNGExZGI0Y2RhOGEzNjliOWI3ZmUiCisgIGludGVncml0eSBzaGE1MTItYnNWQ3NPTmlW WDFhYmtXZEg3S3RwdURBaHNRM04zYmpQWWhST1NBWEU3OHJvSktldDBZNXd6bkExNEpFOXB6YndT Wm1TTUFXNktpS1lmMVJ2YlRKa0E9PQogCiBlbGxpcHRpY0BeNi41LjM6CiAgIHZlcnNpb24gIjYu NS4zIgpAQCAtMzYxNSwxMCArMzc3NywxMCBAQCBlbnRAfjIuMi4wOgogICByZXNvbHZlZCAiaHR0 cHM6Ly9yZWdpc3RyeS55YXJucGtnLmNvbS9lbnQvLS9lbnQtMi4yLjAudGd6I2U5NjQyMTkzMjVh MjFkMDVmNDQ0NjZhMmY2ODZlZDZjZTVmNWRkMWQiCiAgIGludGVncml0eSBzaGExLTZXUWhreVdp SFFYMFJHYWk5b2J0Yk9YMTNSMD0KIAotZW50aXRpZXNAXjEuMS4xLCBlbnRpdGllc0B+MS4xLjE6 Ci0gIHZlcnNpb24gIjEuMS4yIgotICByZXNvbHZlZCAiaHR0cHM6Ly9yZWdpc3RyeS55YXJucGtn LmNvbS9lbnRpdGllcy8tL2VudGl0aWVzLTEuMS4yLnRneiNiZGZhNzM1Mjk5NjY0ZGZhZmQzNDUy OWVkNGY4NTIyYTI3NWZlYTU2IgotICBpbnRlZ3JpdHkgc2hhNTEyLWYyTFpNWWwxRnp1N1lTQktn K1JvUk9lbHBPYU5yY0dtRTlBWnViZURmckNFaWE0ODNvVzRNSTRWeUZkNVZOSElnUS83cW0xSTB3 VUhLMWVKbm4yeTJ3PT0KK2VudGl0aWVzQF4yLjAuMCwgZW50aXRpZXNAfjIuMS4wOgorICB2ZXJz aW9uICIyLjEuMCIKKyAgcmVzb2x2ZWQgImh0dHBzOi8vcmVnaXN0cnkueWFybnBrZy5jb20vZW50 aXRpZXMvLS9lbnRpdGllcy0yLjEuMC50Z3ojOTkyZDMxMjljZjdkZjY4NzBiOTZjNTc4NThjMjQ5 YTEyMGY4YjhiNSIKKyAgaW50ZWdyaXR5IHNoYTUxMi1oQ3gxb2t5OVBGcko2MTFtZjBpZkJMQlJX OGxVVVZSbEZvbGI1Z1dSZklFTGFiQmxicDl4WnZycVpMWkFzK054Rm5iZlFvZUdkOHdEa3lnamc3 VTg1dz09CiAKIGVuenltZS1hZGFwdGVyLXJlYWN0LTE2QF4xLjE1LjI6CiAgIHZlcnNpb24gIjEu MTUuNSIKQEAgLTM2MzYsMTQgKzM3OTgsMTUgQEAgZW56eW1lLWFkYXB0ZXItcmVhY3QtMTZAXjEu MTUuMjoKICAgICBzZW12ZXIgIl41LjcuMCIKIAogZW56eW1lLWFkYXB0ZXItdXRpbHNAXjEuMTMu MToKLSAgdmVyc2lvbiAiMS4xMy4xIgotICByZXNvbHZlZCAiaHR0cHM6Ly9yZWdpc3RyeS55YXJu cGtnLmNvbS9lbnp5bWUtYWRhcHRlci11dGlscy8tL2VuenltZS1hZGFwdGVyLXV0aWxzLTEuMTMu MS50Z3ojNTljMWI3MzRiMDkyNzU0M2UzZDhkYzQ3NzI5OWVjOTU3ZmViMzEyZCIKLSAgaW50ZWdy aXR5IHNoYTUxMi01QTlNWFhnbWgvVGt2ZWUzYkwvOVJDQUFnbGVIcUZuc3VyVFlDYnltZWNPNG9o dnROTzV6cUloSHhWMzcwdDduSkF3YUNma2d0ZmZhcktwQzBHUHQwZz09CisgIHZlcnNpb24gIjEu MTQuMCIKKyAgcmVzb2x2ZWQgImh0dHBzOi8vcmVnaXN0cnkueWFybnBrZy5jb20vZW56eW1lLWFk YXB0ZXItdXRpbHMvLS9lbnp5bWUtYWRhcHRlci11dGlscy0xLjE0LjAudGd6I2FmYmIwNDg1ZTgw MzNhYTUwYzc0NGVmYjVmNTcxMWU2NGZiZjFhZDAiCisgIGludGVncml0eSBzaGE1MTItRi96LzdT ZUx0K3JlS0ZjYjc1OTdJVGhwRHAwYm16Y0gxRTlPYWJxditvMDFjSUQyL1lJbmxxSGJGbDdIeldC bDRoM09kWlllZHR3TkRPbVNLa2swYmc9PQogICBkZXBlbmRlbmNpZXM6CiAgICAgYWlyYm5iLXBy b3AtdHlwZXMgIl4yLjE2LjAiCi0gICAgZnVuY3Rpb24ucHJvdG90eXBlLm5hbWUgIl4xLjEuMiIK LSAgICBvYmplY3QuYXNzaWduICJeNC4xLjAiCi0gICAgb2JqZWN0LmZyb21lbnRyaWVzICJeMi4w LjIiCisgICAgZnVuY3Rpb24ucHJvdG90eXBlLm5hbWUgIl4xLjEuMyIKKyAgICBoYXMgIl4xLjAu MyIKKyAgICBvYmplY3QuYXNzaWduICJeNC4xLjIiCisgICAgb2JqZWN0LmZyb21lbnRyaWVzICJe Mi4wLjMiCiAgICAgcHJvcC10eXBlcyAiXjE1LjcuMiIKICAgICBzZW12ZXIgIl41LjcuMSIKIApA QCAtMzY5Miw5ICszODU1LDkgQEAgZW56eW1lQF4zLjExLjA6CiAgICAgc3RyaW5nLnByb3RvdHlw ZS50cmltICJeMS4yLjEiCiAKIGVycm5vQF4wLjEuMywgZXJybm9AfjAuMS43OgotICB2ZXJzaW9u ICIwLjEuNyIKLSAgcmVzb2x2ZWQgImh0dHBzOi8vcmVnaXN0cnkueWFybnBrZy5jb20vZXJybm8v LS9lcnJuby0wLjEuNy50Z3ojNDY4NGQ3MTc3OWFkMzlhZjE3N2UzZjAwNzk5NmY3YzY3Yzg1MjYx OCIKLSAgaW50ZWdyaXR5IHNoYTUxMi1NZnJSQkRXeklXaWZncTZ0Smo2MGdrQXd0TE5iNnNRUGxj RnJTT2ZsY1AxYUZtbXJ1S1Eyd1JuemUvOFY2a2d5ejdIM0ZGOE5wenY3OG1aN1hMTGZsZz09Cisg IHZlcnNpb24gIjAuMS44IgorICByZXNvbHZlZCAiaHR0cHM6Ly9yZWdpc3RyeS55YXJucGtnLmNv bS9lcnJuby8tL2Vycm5vLTAuMS44LnRneiM4YmIzZTljN2Q0NjNiZTQ5NzZmZjg4OGY3NmI0ODA5 ZWJjMmU4MTFmIgorICBpbnRlZ3JpdHkgc2hhNTEyLWRKNm9CcjVTUTFWU2Q5cWtrN0J5UmdiLzFT SDRKWmpDSFNXL21yNjMvUWNYTzl6TFZ4dko2T3kxM25pbzAzcnhwU25WRERqRm9yNzVTalZlWldQ Vy9BPT0KICAgZGVwZW5kZW5jaWVzOgogICAgIHByciAifjEuMC4xIgogCkBAIC0zNzA1LDcgKzM4 NjgsNyBAQCBlcnJvci1leEBeMS4yLjAsIGVycm9yLWV4QF4xLjMuMToKICAgZGVwZW5kZW5jaWVz OgogICAgIGlzLWFycmF5aXNoICJeMC4yLjEiCiAKLWVzLWFic3RyYWN0QF4xLjE3LjAsIGVzLWFi c3RyYWN0QF4xLjE3LjAtbmV4dC4xLCBlcy1hYnN0cmFjdEBeMS4xNy4yLCBlcy1hYnN0cmFjdEBe MS4xNy40LCBlcy1hYnN0cmFjdEBeMS4xNy41OgorZXMtYWJzdHJhY3RAXjEuMTcuMC1uZXh0LjEs IGVzLWFic3RyYWN0QF4xLjE3LjIsIGVzLWFic3RyYWN0QF4xLjE3LjQ6CiAgIHZlcnNpb24gIjEu MTcuNyIKICAgcmVzb2x2ZWQgImh0dHBzOi8vcmVnaXN0cnkueWFybnBrZy5jb20vZXMtYWJzdHJh Y3QvLS9lcy1hYnN0cmFjdC0xLjE3LjcudGd6I2E0ZGU2MWIyZjY2OTg5ZmM3NDIxNjc2YzFjYjk3 ODc1NzNhY2U1NGMiCiAgIGludGVncml0eSBzaGE1MTItVkJsL2duZmNKN09lcmNLQTlNVmFlZ1dz QkhGalY0OTJzeU11ZGNuUVp2dC9EdzhlenBjT0hZWlhhL0o5Nk84dngrZzR4NjVZS2h4T3dEVWg2 M2FTNWc9PQpAQCAtMzc0OSwxMCArMzkxMiwxMCBAQCBlcy10by1wcmltaXRpdmVAXjEuMi4xOgog ICAgIGlzLWRhdGUtb2JqZWN0ICJeMS4wLjEiCiAgICAgaXMtc3ltYm9sICJeMS4wLjIiCiAKLWVz Y2FsYWRlQF4zLjEuMDoKLSAgdmVyc2lvbiAiMy4xLjAiCi0gIHJlc29sdmVkICJodHRwczovL3Jl Z2lzdHJ5Lnlhcm5wa2cuY29tL2VzY2FsYWRlLy0vZXNjYWxhZGUtMy4xLjAudGd6I2U4ZTJkN2M3 YThiNzZmNmVlNjRjMjE4MWQ2YjgxNTE0NDE2MDJkNGUiCi0gIGludGVncml0eSBzaGE1MTItbUFr K2hQU084ZkxEa2hWN1YwZFhhekg1cERjNk1yakJUUHlEM1ZlS3p4blZGakgxTUl4YkNkcUdaQjlP OCtFd1dha1pzM1pDYkRTNElwUnQ3OVYxaWc9PQorZXNjYWxhZGVAXjMuMS4xOgorICB2ZXJzaW9u ICIzLjEuMSIKKyAgcmVzb2x2ZWQgImh0dHBzOi8vcmVnaXN0cnkueWFybnBrZy5jb20vZXNjYWxh ZGUvLS9lc2NhbGFkZS0zLjEuMS50Z3ojZDhjZmRjNzAwMDk2NWM1YTAxNzRiNGE4MmVhYTVjMDU1 Mjc0MmU0MCIKKyAgaW50ZWdyaXR5IHNoYTUxMi1rMGVyMmdVa0xmOE8wektKaUFobWtUbkpsVHZJ Tkd2N3lnRE5QYmVJc1gvVEpqR0paSHVoOUIyVXhic2FFa21sRW85TWZoclN6bWhJbGhSbEkyR1hu dz09CiAKIGVzY2FwZS1odG1sQH4xLjAuMzoKICAgdmVyc2lvbiAiMS4wLjMiCkBAIC0zNzY1LDIw ICszOTI4LDIwIEBAIGVzY2FwZS1zdHJpbmctcmVnZXhwQF4xLjAuMiwgZXNjYXBlLXN0cmluZy1y ZWdleHBAXjEuMC41OgogICBpbnRlZ3JpdHkgc2hhMS1HMkhBVmlHUXFOLzJyanV5endJQXloTUxo dFE9CiAKIGVzbGludC1wbHVnaW4tcmVhY3RAXjcuMjAuNToKLSAgdmVyc2lvbiAiNy4yMS4zIgot ICByZXNvbHZlZCAiaHR0cHM6Ly9yZWdpc3RyeS55YXJucGtnLmNvbS9lc2xpbnQtcGx1Z2luLXJl YWN0Ly0vZXNsaW50LXBsdWdpbi1yZWFjdC03LjIxLjMudGd6IzcxNjU1ZDJhZjUxNTViMTkyODVl YzkyOWRkMmNkYzY3YTQ0NzBiNTIiCi0gIGludGVncml0eSBzaGE1MTItT0k0R3dUQ3F5SWI0aXBh T0VHTFdkYU9IQ1haWnlkU3RBc0JFUEIyZTFaZk5NMzdib2pwZ08xQm9PUWJGYjBlTFZ6M1FMRHg3 Yis2a1ljcnhDdUpmaHc9PQorICB2ZXJzaW9uICI3LjIxLjUiCisgIHJlc29sdmVkICJodHRwczov L3JlZ2lzdHJ5Lnlhcm5wa2cuY29tL2VzbGludC1wbHVnaW4tcmVhY3QvLS9lc2xpbnQtcGx1Z2lu LXJlYWN0LTcuMjEuNS50Z3ojNTBiMjFhNDEyYjk1NzRiZmUwNWIyMWRiMTc2ZThiN2IzYjE1YmZm MyIKKyAgaW50ZWdyaXR5IHNoYTUxMi04TWFFZ2dDMmV0MHdTRjZiVWV5d0Y3cVE0NkVSODFpck9k V1M0UVd4bm5sQUVzbnplQmV2azFzV2g3ZmhwQ2doUHBYYis4S3M3aHZhZnQ2TC94c1I2Zz09CiAg IGRlcGVuZGVuY2llczoKICAgICBhcnJheS1pbmNsdWRlcyAiXjMuMS4xIgogICAgIGFycmF5LnBy b3RvdHlwZS5mbGF0bWFwICJeMS4yLjMiCiAgICAgZG9jdHJpbmUgIl4yLjEuMCIKICAgICBoYXMg Il4xLjAuMyIKLSAgICBqc3gtYXN0LXV0aWxzICJeMi40LjEiCisgICAganN4LWFzdC11dGlscyAi XjIuNC4xIHx8IF4zLjAuMCIKICAgICBvYmplY3QuZW50cmllcyAiXjEuMS4yIgogICAgIG9iamVj dC5mcm9tZW50cmllcyAiXjIuMC4yIgogICAgIG9iamVjdC52YWx1ZXMgIl4xLjEuMSIKICAgICBw cm9wLXR5cGVzICJeMTUuNy4yIgotICAgIHJlc29sdmUgIl4xLjE3LjAiCisgICAgcmVzb2x2ZSAi XjEuMTguMSIKICAgICBzdHJpbmcucHJvdG90eXBlLm1hdGNoYWxsICJeNC4wLjIiCiAKIGVzbGlu dC1zY29wZUBeNC4wLjIsIGVzbGludC1zY29wZUBeNC4wLjM6CkBAIC00MTAzLDcgKzQyNjYsNyBA QCBmYXN0LWRlZXAtZXF1YWxAXjEuMC4wOgogICByZXNvbHZlZCAiaHR0cHM6Ly9yZWdpc3RyeS55 YXJucGtnLmNvbS9mYXN0LWRlZXAtZXF1YWwvLS9mYXN0LWRlZXAtZXF1YWwtMS4xLjAudGd6I2Mw NTM0Nzc4MTdjODZiNTFkYWE4NTNjODFlMDU5YjczM2QwMjM2MTQiCiAgIGludGVncml0eSBzaGEx LXdGTkhlQmZJYTFIYXFGUElIZ1diY3owQ05oUT0KIAotZmFzdC1kZWVwLWVxdWFsQF4zLjEuMToK K2Zhc3QtZGVlcC1lcXVhbEBeMy4xLjEsIGZhc3QtZGVlcC1lcXVhbEBeMy4xLjM6CiAgIHZlcnNp b24gIjMuMS4zIgogICByZXNvbHZlZCAiaHR0cHM6Ly9yZWdpc3RyeS55YXJucGtnLmNvbS9mYXN0 LWRlZXAtZXF1YWwvLS9mYXN0LWRlZXAtZXF1YWwtMy4xLjMudGd6IzNhN2Q1NmI1NTlkNmNiYzNl YjUxMjMyNTI0NGU2MTlhNjVjNmM1MjUiCiAgIGludGVncml0eSBzaGE1MTItZjNxUTlvUXk5ajJB aEJlL0g5VkM5MXdMbUtCQ0NVL2dET25LTkFZRzVoc3dPN0JMS2owOUhjNUhZTno5Y0dJKyt4bHBE Q0lnRGFpdFZzMDNBVFI4NFE9PQpAQCAtNDI0OSw3ICs0NDEyLDcgQEAgZmluYWxoYW5kbGVyQDEu MS4yLCBmaW5hbGhhbmRsZXJAfjEuMS4yOgogICAgIHN0YXR1c2VzICJ+MS41LjAiCiAgICAgdW5w aXBlICJ+MS4wLjAiCiAKLWZpbmQtY2FjaGUtZGlyQF4yLjAuMCwgZmluZC1jYWNoZS1kaXJAXjIu MS4wOgorZmluZC1jYWNoZS1kaXJAXjIuMS4wOgogICB2ZXJzaW9uICIyLjEuMCIKICAgcmVzb2x2 ZWQgImh0dHBzOi8vcmVnaXN0cnkueWFybnBrZy5jb20vZmluZC1jYWNoZS1kaXIvLS9maW5kLWNh Y2hlLWRpci0yLjEuMC50Z3ojOGQwZjk0Y2QxM2ZlNDNjNmM3YzI2MWEwZDg2MTE1Y2E5MThjMDVm NyIKICAgaW50ZWdyaXR5IHNoYTUxMi1UcTZQaXhFMHcvVk1GZkNnYk9ObmtpUUlWb2wvSkpMN25S TWkyMGZxekE0TlJzOUFmZXFNR2VSZFBpM3dJaFlreGplQmFXaDJyeHdhcG41VHUzSXFPUT09CkBA IC00MjY3LDYgKzQ0MzAsMTEgQEAgZmluZC1jYWNoZS1kaXJAXjMuMy4xOgogICAgIG1ha2UtZGly ICJeMy4wLjIiCiAgICAgcGtnLWRpciAiXjQuMS4wIgogCitmaW5kLXJvb3RAXjEuMS4wOgorICB2 ZXJzaW9uICIxLjEuMCIKKyAgcmVzb2x2ZWQgImh0dHBzOi8vcmVnaXN0cnkueWFybnBrZy5jb20v ZmluZC1yb290Ly0vZmluZC1yb290LTEuMS4wLnRneiNhYmNmYzhiYTc2ZjcwOGM0MmE5N2IzZDY4 NWI3ZTk0NTBiZmI5Y2U0IgorICBpbnRlZ3JpdHkgc2hhNTEyLU5LZlc2YmVjNkdmS2MwU0d4MWUw N1FaWTlQRTk5dTBCZnQvMHJ6U0Q1azNzTy92d2tWVXBEVUtWbTVHcHA1VWUzWWZTaFBGVFgyMDcw dERzNWtCOU5nPT0KKwogZmluZC11cEBeMS4wLjA6CiAgIHZlcnNpb24gIjEuMS4yIgogICByZXNv bHZlZCAiaHR0cHM6Ly9yZWdpc3RyeS55YXJucGtnLmNvbS9maW5kLXVwLy0vZmluZC11cC0xLjEu Mi50Z3ojNmIyZTk4MjJiMWEyY2UwYTYwYWI2NGQ2MTBlY2NhZDUzY2IyNGQwZiIKQEAgLTQzMjks MTMgKzQ0OTcsMTggQEAgZmx1c2gtd3JpdGUtc3RyZWFtQF4xLjAuMDoKICAgICBpbmhlcml0cyAi XjIuMC4zIgogICAgIHJlYWRhYmxlLXN0cmVhbSAiXjIuMy42IgogCi1mb2xsb3ctcmVkaXJlY3Rz QDEuNS4xMCwgZm9sbG93LXJlZGlyZWN0c0BeMS4wLjA6Citmb2xsb3ctcmVkaXJlY3RzQDEuNS4x MDoKICAgdmVyc2lvbiAiMS41LjEwIgogICByZXNvbHZlZCAiaHR0cHM6Ly9yZWdpc3RyeS55YXJu cGtnLmNvbS9mb2xsb3ctcmVkaXJlY3RzLy0vZm9sbG93LXJlZGlyZWN0cy0xLjUuMTAudGd6Izdi N2E5ZjlhZWEyZmRmZjM2Nzg2YTk0ZmY2NDNlZDA3ZjRmZjVlMmEiCiAgIGludGVncml0eSBzaGE1 MTItMFY1bDRDaXp6dnF0NUQ0NGFUWGJGWnorRnR5WFYxdnJETjZxcmVseHRmWVFLVzBLTzBXMlQv aGtFOHh2R2EvNTQwTGtabGthVWpPNGFpbFlURnRIVlE9PQogICBkZXBlbmRlbmNpZXM6CiAgICAg ZGVidWcgIj0zLjEuMCIKIAorZm9sbG93LXJlZGlyZWN0c0BeMS4wLjA6CisgIHZlcnNpb24gIjEu MTMuMSIKKyAgcmVzb2x2ZWQgImh0dHBzOi8vcmVnaXN0cnkueWFybnBrZy5jb20vZm9sbG93LXJl ZGlyZWN0cy8tL2ZvbGxvdy1yZWRpcmVjdHMtMS4xMy4xLnRneiM1ZjY5YjgxMzM3NmNlZTRmZDA0 NzRhM2FiYTgzNWRmMDRhYjc2M2I3IgorICBpbnRlZ3JpdHkgc2hhNTEyLVNTRzV4bVpoMW1rUEd5 S3pqWlA4ekxqbHRJZnBXMzJZNVFwZE5KeWpjZkd4SzNxbzNORERrWk9aU0ZpR24xQTZTY2xReFk5 R3pFd0FIUTNkbVlSV3BnPT0KKwogZm9yLWluQF4xLjAuMjoKICAgdmVyc2lvbiAiMS4wLjIiCiAg IHJlc29sdmVkICJodHRwczovL3JlZ2lzdHJ5Lnlhcm5wa2cuY29tL2Zvci1pbi8tL2Zvci1pbi0x LjAuMi50Z3ojODEwNjhkMjk1YTgxNDJlYzBhYzcyNmM2ZTIyMDBjMzBmYjZkNWU4MCIKQEAgLTQ0 MjcsMjkgKzQ2MDAsMzAgQEAgZnVuY3Rpb24tYmluZEBeMS4xLjE6CiAgIHJlc29sdmVkICJodHRw czovL3JlZ2lzdHJ5Lnlhcm5wa2cuY29tL2Z1bmN0aW9uLWJpbmQvLS9mdW5jdGlvbi1iaW5kLTEu MS4xLnRneiNhNTY4OTlkM2VhM2M5YmFiODc0YmI5NzczYjdjNWVkZTkyZjQ4OTVkIgogICBpbnRl Z3JpdHkgc2hhNTEyLXlJb3ZBek1YNDlzRjhZbDU4ZlNDV0o1c3ZTTHVhaWJQeFhRSkZMbUJPYlR1 Q3IwTWYxS2lQb3BHTTlOaUZqaVlCQ2JmYWEyRmg2YnJlUTZBTlZUSTBBPT0KIAotZnVuY3Rpb24u cHJvdG90eXBlLm5hbWVAXjEuMS4yOgotICB2ZXJzaW9uICIxLjEuMiIKLSAgcmVzb2x2ZWQgImh0 dHBzOi8vcmVnaXN0cnkueWFybnBrZy5jb20vZnVuY3Rpb24ucHJvdG90eXBlLm5hbWUvLS9mdW5j dGlvbi5wcm90b3R5cGUubmFtZS0xLjEuMi50Z3ojNWNkZjc5ZDdjMDVkYjQwMTU5MWRmZGU4M2Uz YjcwYzUxMjNlOWE0NSIKLSAgaW50ZWdyaXR5IHNoYTUxMi1DOEErTGxIQkpqQjJBZGNSUG9yYzVK dko1VlVvV2xYZEVITE9KZENJN2tqSEV0R1RwSFFVaXFNdkNJS1V3SXNHd1pYMmpaSnk3NjFBWHNu MzU2YkpRZz09CitmdW5jdGlvbi5wcm90b3R5cGUubmFtZUBeMS4xLjIsIGZ1bmN0aW9uLnByb3Rv dHlwZS5uYW1lQF4xLjEuMzoKKyAgdmVyc2lvbiAiMS4xLjMiCisgIHJlc29sdmVkICJodHRwczov L3JlZ2lzdHJ5Lnlhcm5wa2cuY29tL2Z1bmN0aW9uLnByb3RvdHlwZS5uYW1lLy0vZnVuY3Rpb24u cHJvdG90eXBlLm5hbWUtMS4xLjMudGd6IzBiYjAzNGJiMzA4ZTc2ODI4MjZmMjE1ZWI2YjJhZTY0 OTE4ODQ3ZmUiCisgIGludGVncml0eSBzaGE1MTItSDUxcWtiTlNwOG10a0p0K255VzFneVN0QmlL WnhmUnF5U05VUjk5eWxxNkJQWEhLSTRTRXZJbFRLcDRvZExmalJLSlYwNERGV01VM0cvWVJsUU9z YWc9PQogICBkZXBlbmRlbmNpZXM6CisgICAgY2FsbC1iaW5kICJeMS4wLjAiCiAgICAgZGVmaW5l LXByb3BlcnRpZXMgIl4xLjEuMyIKLSAgICBlcy1hYnN0cmFjdCAiXjEuMTcuMC1uZXh0LjEiCi0g ICAgZnVuY3Rpb25zLWhhdmUtbmFtZXMgIl4xLjIuMCIKKyAgICBlcy1hYnN0cmFjdCAiXjEuMTgu MC1uZXh0LjEiCisgICAgZnVuY3Rpb25zLWhhdmUtbmFtZXMgIl4xLjIuMSIKIAogZnVuY3Rpb25h bC1yZWQtYmxhY2stdHJlZUBeMS4wLjE6CiAgIHZlcnNpb24gIjEuMC4xIgogICByZXNvbHZlZCAi aHR0cHM6Ly9yZWdpc3RyeS55YXJucGtnLmNvbS9mdW5jdGlvbmFsLXJlZC1ibGFjay10cmVlLy0v ZnVuY3Rpb25hbC1yZWQtYmxhY2stdHJlZS0xLjAuMS50Z3ojMWIwYWIzYmQ1NTNiMmEwZDYzOTlk MjljMGUzZWEwYjI1MjA3ODMyNyIKICAgaW50ZWdyaXR5IHNoYTEtR3dxenZWVTdLZzFqbWRLY0Rq NmdzbElIZ3ljPQogCi1mdW5jdGlvbnMtaGF2ZS1uYW1lc0BeMS4yLjA6Ci0gIHZlcnNpb24gIjEu Mi4xIgotICByZXNvbHZlZCAiaHR0cHM6Ly9yZWdpc3RyeS55YXJucGtnLmNvbS9mdW5jdGlvbnMt aGF2ZS1uYW1lcy8tL2Z1bmN0aW9ucy1oYXZlLW5hbWVzLTEuMi4xLnRneiNhOTgxYWMzOTdmYTBj OTk2NDU1MTQwMmNkYzU1MzNkN2E0ZDUyZjkxIgotICBpbnRlZ3JpdHkgc2hhNTEyLWo0OEIvWkk3 VktzM3NnZUkyY1pwN1dYV21aWHU3SXE1cGw1L3ZwdFY1TjJtcStER0Z1Uy91bGFEanRhb0xwWXp1 RDZ1OFVnclVLSGZnbzdmRFRTaUJBPT0KK2Z1bmN0aW9ucy1oYXZlLW5hbWVzQF4xLjIuMToKKyAg dmVyc2lvbiAiMS4yLjIiCisgIHJlc29sdmVkICJodHRwczovL3JlZ2lzdHJ5Lnlhcm5wa2cuY29t L2Z1bmN0aW9ucy1oYXZlLW5hbWVzLy0vZnVuY3Rpb25zLWhhdmUtbmFtZXMtMS4yLjIudGd6Izk4 ZDkzOTkxYzM5ZGE5MzYxZjhlNTBiMzM3YzRmNmU0MWYxMjBlMjEiCisgIGludGVncml0eSBzaGE1 MTItYkxnYzNhc2JXZHdQYngybU5rMlM0OWttSkN1UWV1MG5mbWFPZ2JzOFdJeXp6a3czcjRodHN6 ZElpOVE5RU1lekRQVFl1Sngyd3ZqWi9Fd2dBdGhwbkE9PQogCiBnZW5zeW5jQF4xLjAuMC1iZXRh LjE6Ci0gIHZlcnNpb24gIjEuMC4wLWJldGEuMSIKLSAgcmVzb2x2ZWQgImh0dHBzOi8vcmVnaXN0 cnkueWFybnBrZy5jb20vZ2Vuc3luYy8tL2dlbnN5bmMtMS4wLjAtYmV0YS4xLnRneiM1OGY0MzYx ZmY5ODdlNWZmNmUxZTdhMjEwODI3YWEzNzFlYWFjMjY5IgotICBpbnRlZ3JpdHkgc2hhNTEyLXI4 RUM2Tk8xc25nSC96ZEQ5ZmlSRExkY2duYmF5WGFoK21MZ01hblRhSVpKcUVDMU1ac3Rtbm94OEtw bkkyL2Z4UXdycDVPcENPWVdMcDRyQmw0SmNnPT0KKyAgdmVyc2lvbiAiMS4wLjAtYmV0YS4yIgor ICByZXNvbHZlZCAiaHR0cHM6Ly9yZWdpc3RyeS55YXJucGtnLmNvbS9nZW5zeW5jLy0vZ2Vuc3lu Yy0xLjAuMC1iZXRhLjIudGd6IzMyYTZlZTc2YzNkN2Y1MmQ0NmIyYjFhZTVkOTNmZWE4NTgwYTI1 ZTAiCisgIGludGVncml0eSBzaGE1MTItM2hON05hc2tZdk1ETFFZNTVnblczTlErbWVzRUFlcFRx bGcrVkViajd6enFFTUJWTmh6Y0dZWWVxRm8vVGxZejZlUWlGY3AxSGNzQ1pPK25HZ1M4emc9PQog CiBnZW9tZXRyeS1pbnRlcmZhY2VzQF4xLjEuNDoKICAgdmVyc2lvbiAiMS4xLjQiCkBAIC00NDY2 LDYgKzQ2NDAsMTUgQEAgZ2V0LWNhbGxlci1maWxlQF4yLjAuMToKICAgcmVzb2x2ZWQgImh0dHBz Oi8vcmVnaXN0cnkueWFybnBrZy5jb20vZ2V0LWNhbGxlci1maWxlLy0vZ2V0LWNhbGxlci1maWxl LTIuMC41LnRneiM0Zjk0NDEyYTgyZGIzMmYzNmUzYjBiOTc0MWY4YTk3ZmViMDMxZjdlIgogICBp bnRlZ3JpdHkgc2hhNTEyLUR5RlAzQk0vM1lIVFFPQ1VML3cwT1pIUjBscEtlR3J4b3RjSFdjcU5F ZG5sdHFGd1hWZmhFQlE5NGVJbzM0QWZRcG8wckdraTRjeUlpZnRZMDZoMkZnPT0KIAorZ2V0LWlu dHJpbnNpY0BeMS4wLjAsIGdldC1pbnRyaW5zaWNAXjEuMC4xOgorICB2ZXJzaW9uICIxLjAuMiIK KyAgcmVzb2x2ZWQgImh0dHBzOi8vcmVnaXN0cnkueWFybnBrZy5jb20vZ2V0LWludHJpbnNpYy8t L2dldC1pbnRyaW5zaWMtMS4wLjIudGd6IzY4MjBkYTIyNmU1MGIyNDg5NGUwODg1OTQ2OWRjNjgz NjE1NDVkNDkiCisgIGludGVncml0eSBzaGE1MTItYWVYMHZyRm0yMUlMbDMrSnBGRlJOZTlhVXZw NlZGWmIyL0NUYmdMYjhqNzVrT2h2b05ZanQ5ZDhLQS90Skc0Z1NvOG56RURlZFJsMGg3dkRtQllS Vmc9PQorICBkZXBlbmRlbmNpZXM6CisgICAgZnVuY3Rpb24tYmluZCAiXjEuMS4xIgorICAgIGhh cyAiXjEuMC4zIgorICAgIGhhcy1zeW1ib2xzICJeMS4wLjEiCisKIGdldC1wcm94eUBeMi4wLjA6 CiAgIHZlcnNpb24gIjIuMS4wIgogICByZXNvbHZlZCAiaHR0cHM6Ly9yZWdpc3RyeS55YXJucGtn LmNvbS9nZXQtcHJveHkvLS9nZXQtcHJveHktMi4xLjAudGd6IzM0OWYyYjRkOTFkNDRjNGQ0ZDRl OWNiYTJhZDkwMTQzZmFjNWVmOTMiCkBAIC00NjU3LDYgKzQ4NDAsMTMgQEAgZ3JhY2VmdWwtZnNA XjQuMS4xMCwgZ3JhY2VmdWwtZnNAXjQuMS4xMSwgZ3JhY2VmdWwtZnNAXjQuMS4xNSwgZ3JhY2Vm dWwtZnNAXjQuMS4KICAgcmVzb2x2ZWQgImh0dHBzOi8vcmVnaXN0cnkueWFybnBrZy5jb20vZ3Jh Y2VmdWwtZnMvLS9ncmFjZWZ1bC1mcy00LjIuNC50Z3ojMjI1NmJkZTE0ZDM2MzI5NThjNDY1ZWJj OTZkYzQ2N2NhMDdhMjlmYiIKICAgaW50ZWdyaXR5IHNoYTUxMi1XaktQTkpGNzlkdEpBVm5pVWxH R1dIWUd6MmpXeFQ2VmhOLzRtMU5ka2JaMm5Pc0VGK2NJMUVkZ3FsNXpDUmhzL1ZzUVlSdnJYY3R4 a3RWWFpVa2l4dz09CiAKK2dyYXBobGliQF4yLjEuODoKKyAgdmVyc2lvbiAiMi4xLjgiCisgIHJl c29sdmVkICJodHRwczovL3JlZ2lzdHJ5Lnlhcm5wa2cuY29tL2dyYXBobGliLy0vZ3JhcGhsaWIt Mi4xLjgudGd6IzU3NjFkNDE0NzM3ODcwMDg0YzkyZWM3YjVkYmNiMDU5MmM5ZDM1ZGEiCisgIGlu dGVncml0eSBzaGE1MTItamNMTGZrcG9WR21INy9Jbk1DLzFoSXZPUFNVaDM4b0p0R2h2ck9GR3pp b0UxRForMFlXMTZSZ21PSmhIaXVXVHZHaUpROVoxSWs0M0p2a1JQUnZFK0E9PQorICBkZXBlbmRl bmNpZXM6CisgICAgbG9kYXNoICJeNC4xNy4xNSIKKwogZ3ppcC1zaXplQF41LjAuMDoKICAgdmVy c2lvbiAiNS4xLjEiCiAgIHJlc29sdmVkICJodHRwczovL3JlZ2lzdHJ5Lnlhcm5wa2cuY29tL2d6 aXAtc2l6ZS8tL2d6aXAtc2l6ZS01LjEuMS50Z3ojY2I5YmVlNjkyZjg3YzA2MTJiMjMyODQwYTg3 MzkwNGU0YzEzNTI3NCIKQEAgLTQ3NzEsNiArNDk2MSwxMSBAQCBoYXRAXjAuMC4zOgogICByZXNv bHZlZCAiaHR0cHM6Ly9yZWdpc3RyeS55YXJucGtnLmNvbS9oYXQvLS9oYXQtMC4wLjMudGd6I2Ji MDE0YTllNjRiMzc4OGFlZDgwMDU5MTc0MTNkNGZmM2Q1MDJkOGEiCiAgIGludGVncml0eSBzaGEx LXV3RktubVN6ZUlydGdBV1JkQlBVL3oxUUxZbz0KIAoraGVhcEAwLjIuNToKKyAgdmVyc2lvbiAi MC4yLjUiCisgIHJlc29sdmVkICJodHRwczovL3JlZ2lzdHJ5Lnlhcm5wa2cuY29tL2hlYXAvLS9o ZWFwLTAuMi41LnRneiM3MTNiNjU1OTBlYmNjNDBmY2JlZWFmNTVlODUxNjk0MDkyYjM5YWYxIgor ICBpbnRlZ3JpdHkgc2hhMS1jVHRsV1E2OHhBL0w3cTlWNkZGcFFKS3ptdkU9CisKIGhleC1jb2xv ci1yZWdleEBeMS4xLjA6CiAgIHZlcnNpb24gIjEuMS4wIgogICByZXNvbHZlZCAiaHR0cHM6Ly9y ZWdpc3RyeS55YXJucGtnLmNvbS9oZXgtY29sb3ItcmVnZXgvLS9oZXgtY29sb3ItcmVnZXgtMS4x LjAudGd6IzRjMDZmY2NiNDYwMmZlMjYwMmIzYzkzZGY4MmQ3ZTdkYmYxYThhOGUiCkBAIC00ODI5 LDI5ICs1MDI0LDM5IEBAIGh0bWwtZXNjYXBlckBeMi4wLjA6CiAgIHJlc29sdmVkICJodHRwczov L3JlZ2lzdHJ5Lnlhcm5wa2cuY29tL2h0bWwtZXNjYXBlci8tL2h0bWwtZXNjYXBlci0yLjAuMi50 Z3ojZGZkNjAwMjdkYTM2YTM2ZGZjYmUyMzYyNjJjMDBhNTgyMjY4MTQ1MyIKICAgaW50ZWdyaXR5 IHNoYTUxMi1IMmlNdGQwSTRNdDVlWWlhcFJkSURqcCtYemVsWFEwdEZFNEpTN1lGd0ZldlhYTW1P cDlteU5yVXZDZzBENndzOGlxa1JQQmZLSGdid2lnMVNtbExmZz09CiAKK2h0bWwtdG8taW1hZ2VA XjAuMS4xOgorICB2ZXJzaW9uICIwLjEuMyIKKyAgcmVzb2x2ZWQgImh0dHBzOi8vcmVnaXN0cnku eWFybnBrZy5jb20vaHRtbC10by1pbWFnZS8tL2h0bWwtdG8taW1hZ2UtMC4xLjMudGd6Izk2NjFh NTRjMzBlZDljNGIyNjlmNDYxMjQxNmIxYzdlODg3ZGUzYTciCisgIGludGVncml0eSBzaGE1MTIt OEpUR0VBQWRKR0wvbmxwM3diL1dJOGZMTXgyZEhLT0ZaTWRzdmRvbjIzRDQ1WmR0c1hEZVJtMzlX ZGRmMDRsdWRRZTNPUG12ak1KOW5QakkvN2hQbGc9PQorCitodG1sMmNhbnZhc0BeMS4wLjAtcmMu NzoKKyAgdmVyc2lvbiAiMS4wLjAtcmMuNyIKKyAgcmVzb2x2ZWQgImh0dHBzOi8vcmVnaXN0cnku eWFybnBrZy5jb20vaHRtbDJjYW52YXMvLS9odG1sMmNhbnZhcy0xLjAuMC1yYy43LnRneiM3MGMx NTljZTBlNjM5NTRhOTExNjk1MzE4OTRkMDhhZDU2MjdhYzk4IgorICBpbnRlZ3JpdHkgc2hhNTEy LXl2UE5aR2VqQjJLT3lLbGVac3BqSy9OcnVYVlF1b3d1OE5uVjJIWUc3Z1c3eXR6bCt1bWZmYnRV STYydjJkQ0hRTERkc0s2SElEdHlKWjBXM25lZXJBPT0KKyAgZGVwZW5kZW5jaWVzOgorICAgIGNz cy1saW5lLWJyZWFrICIxLjEuMSIKKwogaHRtbGVzY2FwZUBeMS4xLjA6CiAgIHZlcnNpb24gIjEu MS4xIgogICByZXNvbHZlZCAiaHR0cHM6Ly9yZWdpc3RyeS55YXJucGtnLmNvbS9odG1sZXNjYXBl Ly0vaHRtbGVzY2FwZS0xLjEuMS50Z3ojM2EwM2VkYzIyMTRiY2EzYjY2NDI0YTNlNzk1OTM0OTUw OWNiMDM1MSIKICAgaW50ZWdyaXR5IHNoYTEtT2dQdHdpRkx5anRtUWtvK2VWazBsUW5MQTFFPQog Ci1odG1scGFyc2VyMkBeMy45LjE6Ci0gIHZlcnNpb24gIjMuMTAuMSIKLSAgcmVzb2x2ZWQgImh0 dHBzOi8vcmVnaXN0cnkueWFybnBrZy5jb20vaHRtbHBhcnNlcjIvLS9odG1scGFyc2VyMi0zLjEw LjEudGd6I2JkNjc5ZGMzZjU5ODk3YjZhMzRiYjEwNzQ5Yzg1NWJiNTNhOTM5MmYiCi0gIGludGVn cml0eSBzaGE1MTItSWdpZU5palVNYmtEb3Z5b0tPYlUxRFVobTFpd05ZRS9mdWlmRW9FSGZkMW9a S1pEYU9OQlNrYWw3WTAxc2h4c000OVI0WGFNZEdlejNXbkY5VWZpQ1E9PQoraHRtbHBhcnNlcjJA XjYuMC4wOgorICB2ZXJzaW9uICI2LjAuMCIKKyAgcmVzb2x2ZWQgImh0dHBzOi8vcmVnaXN0cnku eWFybnBrZy5jb20vaHRtbHBhcnNlcjIvLS9odG1scGFyc2VyMi02LjAuMC50Z3ojYzJkYTAwNTAz MDM5MDkwOGNhNGM5MWU1NjI5ZTQxOGUwNjY1YWMwMSIKKyAgaW50ZWdyaXR5IHNoYTUxMi1udW1U UXREWk1vaDc4ekpwYU5kSjlNWGIyY3Y1RzNqd1VvZTNkTVFPRHViWnZMb0d2VEUvT2ZwNnNIdkg4 T0dLY04vOEE0N3BHTGkvazU4eEhQL1Rmdz09CiAgIGRlcGVuZGVuY2llczoKLSAgICBkb21lbGVt ZW50dHlwZSAiXjEuMy4xIgotICAgIGRvbWhhbmRsZXIgIl4yLjMuMCIKLSAgICBkb211dGlscyAi XjEuNS4xIgotICAgIGVudGl0aWVzICJeMS4xLjEiCi0gICAgaW5oZXJpdHMgIl4yLjAuMSIKLSAg ICByZWFkYWJsZS1zdHJlYW0gIl4zLjEuMSIKKyAgICBkb21lbGVtZW50dHlwZSAiXjIuMC4xIgor ICAgIGRvbWhhbmRsZXIgIl40LjAuMCIKKyAgICBkb211dGlscyAiXjIuNC40IgorICAgIGVudGl0 aWVzICJeMi4wLjAiCiAKIGh0dHAtY2FjaGUtc2VtYW50aWNzQDMuOC4xOgogICB2ZXJzaW9uICIz LjguMSIKICAgcmVzb2x2ZWQgImh0dHBzOi8vcmVnaXN0cnkueWFybnBrZy5jb20vaHR0cC1jYWNo ZS1zZW1hbnRpY3MvLS9odHRwLWNhY2hlLXNlbWFudGljcy0zLjguMS50Z3ojMzliMGUxNmFkZDli NjA1YmYwYTllZjNkOWRhYWY0ODQzYjRjYWNkMiIKICAgaW50ZWdyaXR5IHNoYTUxMi01YWkyaWtz eVY4WlhtblpoSEg0cldQb3h4aXN0RWV4U2k1OTM2eklRMWJuTlRXNVZuQTg1QjZQL1ZwWGlSTTAx N0lnUnZiMmtLbzFhLy95KzB3U3Azdz09CiAKLWh0dHAtZXJyb3JzQDEuNy4yLCBodHRwLWVycm9y c0B+MS43LjI6CitodHRwLWVycm9yc0AxLjcuMjoKICAgdmVyc2lvbiAiMS43LjIiCiAgIHJlc29s dmVkICJodHRwczovL3JlZ2lzdHJ5Lnlhcm5wa2cuY29tL2h0dHAtZXJyb3JzLy0vaHR0cC1lcnJv cnMtMS43LjIudGd6IzRmNTAyOWNmMTMyMzlmMzEwMzZlNWIyZTU1MjkyYmNmYmNjODVjOGYiCiAg IGludGVncml0eSBzaGE1MTItdVVRQnQzSC9jU0lWZmNoNmkxRXVQTnkvWXNSU09VQlhUVmZaK3lS N1pqZXozcWpCejZpOStpNHpqTmFvcWNvRlZJNGxRSjVwbGc2M1R2R2ZSU0RDUmc9PQpAQCAtNDg2 Miw2ICs1MDY3LDE3IEBAIGh0dHAtZXJyb3JzQDEuNy4yLCBodHRwLWVycm9yc0B+MS43LjI6CiAg ICAgc3RhdHVzZXMgIj49IDEuNS4wIDwgMiIKICAgICB0b2lkZW50aWZpZXIgIjEuMC4wIgogCito dHRwLWVycm9yc0B+MS43LjI6CisgIHZlcnNpb24gIjEuNy4zIgorICByZXNvbHZlZCAiaHR0cHM6 Ly9yZWdpc3RyeS55YXJucGtnLmNvbS9odHRwLWVycm9ycy8tL2h0dHAtZXJyb3JzLTEuNy4zLnRn eiM2YzYxOWU0ZjljNjAzMDhjMzg1MTk0OThjMTRmYmIxMGFhY2ViYjA2IgorICBpbnRlZ3JpdHkg c2hhNTEyLVpUVFgwTVdyc1EyWkFoQTFjZWpBd0RMeWNGc2Q3STduVnRua1QzT2wwYXFvZGFLVysw Q1RaRFExdUJ2NXdocHRDbmM4ZThIZVJSSnhSczBrbW0vUWZ3PT0KKyAgZGVwZW5kZW5jaWVzOgor ICAgIGRlcGQgIn4xLjEuMiIKKyAgICBpbmhlcml0cyAiMi4wLjQiCisgICAgc2V0cHJvdG90eXBl b2YgIjEuMS4xIgorICAgIHN0YXR1c2VzICI+PSAxLjUuMCA8IDIiCisgICAgdG9pZGVudGlmaWVy ICIxLjAuMCIKKwogaHR0cC1wcm94eUBeMS4xMy4wOgogICB2ZXJzaW9uICIxLjE4LjEiCiAgIHJl c29sdmVkICJodHRwczovL3JlZ2lzdHJ5Lnlhcm5wa2cuY29tL2h0dHAtcHJveHkvLS9odHRwLXBy b3h5LTEuMTguMS50Z3ojNDAxNTQxZjA1MzQ4ODRiYmY5NTI2MDMzNGU3MmY4OGVlMzk3NjU0OSIK QEAgLTQ5MDYsMTAgKzUxMjIsMTAgQEAgaWNzcy11dGlsc0BeNC4wLjA6CiAgIGRlcGVuZGVuY2ll czoKICAgICBwb3N0Y3NzICJeNy4wLjE0IgogCi1pZWVlNzU0QF4xLjEuNDoKLSAgdmVyc2lvbiAi MS4xLjEzIgotICByZXNvbHZlZCAiaHR0cHM6Ly9yZWdpc3RyeS55YXJucGtnLmNvbS9pZWVlNzU0 Ly0vaWVlZTc1NC0xLjEuMTMudGd6I2VjMTY4NTU4ZTk1YWExODFmZDg3ZDM3ZjU1YzMyYmJjYjY3 MDhiODQiCi0gIGludGVncml0eSBzaGE1MTItNHZmN0kyTFlWL0hhV2VyU28zWG1sTWtwNWVaODNp Ky9DRGx1WGkvSUdUcy9PMXNlakJOaFR0bnh6bVJaZnZPVXFqN2xaanFIa2VUdnBnU0ZEbFdaVGc9 PQoraWVlZTc1NEBeMS4xLjEzLCBpZWVlNzU0QF4xLjEuNDoKKyAgdmVyc2lvbiAiMS4yLjEiCisg IHJlc29sdmVkICJodHRwczovL3JlZ2lzdHJ5Lnlhcm5wa2cuY29tL2llZWU3NTQvLS9pZWVlNzU0 LTEuMi4xLnRneiM4ZWI3YTEwYTYzZmZmMjVkMTVhNTdiMDAxNTg2ZDE3N2QxYjBkMzUyIgorICBp bnRlZ3JpdHkgc2hhNTEyLWRjeXFoRHZYMUM0NmxYWmNWcUNwSytGdE1SUVZkSU1ONi9EZjVqczJ6 b3VVc3FHN0k2c0Z4aXRJQys3S1lLMjlLZFhPTEhkdTl6TDRzRm5vVlFucWFBPT0KIAogaWZlcnJA XjAuMS41OgogICB2ZXJzaW9uICIwLjEuNSIKQEAgLTUwMjcsMTAgKzUyNDMsMTAgQEAgaW1wb3J0 LWZyZXNoQF4yLjAuMDoKICAgICBjYWxsZXItcGF0aCAiXjIuMC4wIgogICAgIHJlc29sdmUtZnJv bSAiXjMuMC4wIgogCi1pbXBvcnQtZnJlc2hAXjMuMC4wOgotICB2ZXJzaW9uICIzLjIuMSIKLSAg cmVzb2x2ZWQgImh0dHBzOi8vcmVnaXN0cnkueWFybnBrZy5jb20vaW1wb3J0LWZyZXNoLy0vaW1w b3J0LWZyZXNoLTMuMi4xLnRneiM2MzNmZjYxODUwNmU3OTNhZjVhYzkxYmY0OGI3MjY3N2UxNWNi ZTY2IgotICBpbnRlZ3JpdHkgc2hhNTEyLTZlMXExY25XUDJSWEQ5L2tlU2t4SFNjZzUwOENkWHFY V2dXQmFFVE5oeXVCRnora1VabEtib2grSVNLK2JVKytEbWJIaW1WQnJPei96elBlMHNaM3NRPT0K K2ltcG9ydC1mcmVzaEBeMy4wLjAsIGltcG9ydC1mcmVzaEBeMy4xLjA6CisgIHZlcnNpb24gIjMu My4wIgorICByZXNvbHZlZCAiaHR0cHM6Ly9yZWdpc3RyeS55YXJucGtnLmNvbS9pbXBvcnQtZnJl c2gvLS9pbXBvcnQtZnJlc2gtMy4zLjAudGd6IzM3MTYyYzI1ZmNiOWViYWEyZTZlNTNkNWI0ZDg4 Y2UxN2Q5ZTBjMmIiCisgIGludGVncml0eSBzaGE1MTItdmVZWWhRYStEMVFCS3pudmhVSHhiOGZh eGxyd1VueHNlREFiQXA0NTdFMHdMTmlvMmJPU0tuallEaE1qK1lpQXE2MXhyTUdoUWs5aVhWazVG emdRTXc9PQogICBkZXBlbmRlbmNpZXM6CiAgICAgcGFyZW50LW1vZHVsZSAiXjEuMC4wIgogICAg IHJlc29sdmUtZnJvbSAiXjQuMC4wIgpAQCAtNTEwMyw3ICs1MzE5LDcgQEAgaW5mbGlnaHRAXjEu MC40OgogICAgIG9uY2UgIl4xLjMuMCIKICAgICB3cmFwcHkgIjEiCiAKLWluaGVyaXRzQDIsIGlu aGVyaXRzQF4yLjAuMSwgaW5oZXJpdHNAXjIuMC4zLCBpbmhlcml0c0BeMi4wLjQsIGluaGVyaXRz QH4yLjAuMSwgaW5oZXJpdHNAfjIuMC4zOgoraW5oZXJpdHNAMiwgaW5oZXJpdHNAMi4wLjQsIGlu aGVyaXRzQF4yLjAuMSwgaW5oZXJpdHNAXjIuMC4zLCBpbmhlcml0c0BeMi4wLjQsIGluaGVyaXRz QH4yLjAuMSwgaW5oZXJpdHNAfjIuMC4zOgogICB2ZXJzaW9uICIyLjAuNCIKICAgcmVzb2x2ZWQg Imh0dHBzOi8vcmVnaXN0cnkueWFybnBrZy5jb20vaW5oZXJpdHMvLS9pbmhlcml0cy0yLjAuNC50 Z3ojMGZhMmM2NGY5MzI5MTdjMzQzM2EwZGVkNTUzNjNhYWUzNzQxNmI3YyIKICAgaW50ZWdyaXR5 IHNoYTUxMi1rL3ZHYVg0L1lsYTNXenlNQ3ZUUU9YWWVJSHZxT0t0bnFCZHV6VEhwenBRWnpBc2tL TWhaMksrRW5CaVNNOXpHU29JRmVNcFhLeGE0ZFllWklRcWV3UT09CkBAIC01MTE5LDkgKzUzMzUs OSBAQCBpbmhlcml0c0AyLjAuMzoKICAgaW50ZWdyaXR5IHNoYTEtWXp3c2crUGFRcVVDOVNSbUFp U0E5Q0NDWWQ0PQogCiBpbmlAXjEuMy40LCBpbmlAXjEuMy41OgotICB2ZXJzaW9uICIxLjMuNSIK LSAgcmVzb2x2ZWQgImh0dHBzOi8vcmVnaXN0cnkueWFybnBrZy5jb20vaW5pLy0vaW5pLTEuMy41 LnRneiNlZWUyNWY1NmRiMWM5ZWM2MDg1ZTBjMjI3NzgwODNmNTk2YWJmOTI3IgotICBpbnRlZ3Jp dHkgc2hhNTEyLVJaWTVodUlLQ01SV0RVcVpsRWk3MmYvbG1YS012dXN6Y01CZHVsaVEzbm5XYng5 WC9aQlFPN0Rpak1FWVM5RWhIQmIycWFjUlVNdEM3c3ZMd2UwbGN3PT0KKyAgdmVyc2lvbiAiMS4z LjgiCisgIHJlc29sdmVkICJodHRwczovL3JlZ2lzdHJ5Lnlhcm5wa2cuY29tL2luaS8tL2luaS0x LjMuOC50Z3ojYTI5ZGE0MjViNDg4MDZmMzQ3NjdhNGVmY2UzOTcyNjlhZjI4NDMyYyIKKyAgaW50 ZWdyaXR5IHNoYTUxMi1KVi95dWdWMnV6VzVpTVJTaVpBeUR0UWQrbnh0VW5qZUx0MGFjTmR3OThr S0xydnVSVnlCODB0c1JFT0U3eXZHVmdhbGhaNlJOWENtRUhrVUtCS3hldz09CiAKIGlubGluZS1z b3VyY2UtbWFwQH4wLjYuMDoKICAgdmVyc2lvbiAiMC42LjIiCkBAIC01MTUwLDkgKzUzNjYsOSBA QCBpbnF1aXJlckBeNi4yLjI6CiAgICAgdGhyb3VnaCAiXjIuMy42IgogCiBpbnNlcnQtbW9kdWxl LWdsb2JhbHNAXjcuMC4wOgotICB2ZXJzaW9uICI3LjIuMCIKLSAgcmVzb2x2ZWQgImh0dHBzOi8v cmVnaXN0cnkueWFybnBrZy5jb20vaW5zZXJ0LW1vZHVsZS1nbG9iYWxzLy0vaW5zZXJ0LW1vZHVs ZS1nbG9iYWxzLTcuMi4wLnRneiNlYzg3ZTViNDI3Mjg0NzllMzI3YmQ1YzVjNzE2MTFkZGZiNDc1 MmJhIgotICBpbnRlZ3JpdHkgc2hhNTEyLVZFNk5sVytXR24yL0FlT01kNDk2QUhGWW1FN2VMS2tV WTZUeTMxazRvZzV2bUEzRmp1d2U5djZpZkg2WHgvSHoyN1F2ZG9Nb3ZpdzEvcHFXUkIwOVN3PT0K KyAgdmVyc2lvbiAiNy4yLjEiCisgIHJlc29sdmVkICJodHRwczovL3JlZ2lzdHJ5Lnlhcm5wa2cu Y29tL2luc2VydC1tb2R1bGUtZ2xvYmFscy8tL2luc2VydC1tb2R1bGUtZ2xvYmFscy03LjIuMS50 Z3ojZDVlMzMxODUxODFhNGUxZjMzYjE1ZjdiZjEwMGVlOTE4OTBkNWNiMyIKKyAgaW50ZWdyaXR5 IHNoYTUxMi11ZlM1UXE5UlpOK0J1ODk5ZUE5UUNBWVRoWStnR1c3b1JrbWIwdkM5M1ZseXUvQ0ZH Y0gwT1lQRWpWa0RYQTVGRWJUdDErVld6ZG9PRDNOeTlOKzh0Zz09CiAgIGRlcGVuZGVuY2llczoK ICAgICBKU09OU3RyZWFtICJeMS4wLjMiCiAgICAgYWNvcm4tbm9kZSAiXjEuNS4yIgpAQCAtNTIy Nyw2ICs1NDQzLDEzIEBAIGlzLWFjY2Vzc29yLWRlc2NyaXB0b3JAXjEuMC4wOgogICBkZXBlbmRl bmNpZXM6CiAgICAga2luZC1vZiAiXjYuMC4wIgogCitpcy1hbnktYXJyYXlAXjAuMS4wOgorICB2 ZXJzaW9uICIwLjEuMCIKKyAgcmVzb2x2ZWQgImh0dHBzOi8vcmVnaXN0cnkueWFybnBrZy5jb20v aXMtYW55LWFycmF5Ly0vaXMtYW55LWFycmF5LTAuMS4wLnRneiNlNWEyNzk2NWUzMzcxNjEwYzEw YzY2YmNhM2JlMzdlZTE3N2JkZjhlIgorICBpbnRlZ3JpdHkgc2hhNTEyLTZLa2wxUm52ZmRrbVhN NlpsUCtrRUxHQk1BNzROcTVwU09tOWdJS0RhUFJlOUtRbElKem9uck9ncTBKem4vaUVsQjZGMi9v bHBMZ1dZZVZ5U3pyU1JnPT0KKyAgZGVwZW5kZW5jaWVzOgorICAgIHJvbGx1cCAiXjEuMzEuMSIK KwogaXMtYXJyYXlpc2hAXjAuMi4xOgogICB2ZXJzaW9uICIwLjIuMSIKICAgcmVzb2x2ZWQgImh0 dHBzOi8vcmVnaXN0cnkueWFybnBrZy5jb20vaXMtYXJyYXlpc2gvLS9pcy1hcnJheWlzaC0wLjIu MS50Z3ojNzdjOTk4NDA1MjdhYThlY2IxYThiYTY5N2I4MDY0NWE3YTkyNmE5ZCIKQEAgLTUyNTIs OSArNTQ3NSwxMSBAQCBpcy1iaW5hcnktcGF0aEB+Mi4xLjA6CiAgICAgYmluYXJ5LWV4dGVuc2lv bnMgIl4yLjAuMCIKIAogaXMtYm9vbGVhbi1vYmplY3RAXjEuMC4xOgotICB2ZXJzaW9uICIxLjAu MSIKLSAgcmVzb2x2ZWQgImh0dHBzOi8vcmVnaXN0cnkueWFybnBrZy5jb20vaXMtYm9vbGVhbi1v YmplY3QvLS9pcy1ib29sZWFuLW9iamVjdC0xLjAuMS50Z3ojMTBlZGMwOTAwZGQxMjc2OTdhOTJm NmY5ODA3Yzc2MTdkNjhhYzQ4ZSIKLSAgaW50ZWdyaXR5IHNoYTUxMi1UcVp1VndhL3NwcGNyaFVD QVlrR0JrN3cweXhmUVFueHEyOGZqa081M3RuSzlGUVhtZHd6MkpTNStHanNXUTZSQnlFUzFLNDBu SSt5RGljNWM5L2FBUT09CisgIHZlcnNpb24gIjEuMS4wIgorICByZXNvbHZlZCAiaHR0cHM6Ly9y ZWdpc3RyeS55YXJucGtnLmNvbS9pcy1ib29sZWFuLW9iamVjdC8tL2lzLWJvb2xlYW4tb2JqZWN0 LTEuMS4wLnRneiNlMmFhYWQzYTNhOGZjYTM0YzI4ZjZlZWUxMzViMTU2ZWQyNTg3ZmYwIgorICBp bnRlZ3JpdHkgc2hhNTEyLWE3VXByeDhVdEQrSFdkeVl3bkQxK0V4dFRncVF0RDJrLzF5Smd0WFA2 d25NbThieWhrb1RaUmwrOTVMTFRocHpOWko1YUV2aTQ2Y2RIK2F5TUZSd21BPT0KKyAgZGVwZW5k ZW5jaWVzOgorICAgIGNhbGwtYmluZCAiXjEuMC4wIgogCiBpcy1idWZmZXJAXjEuMS4wLCBpcy1i dWZmZXJAXjEuMS41OgogICB2ZXJzaW9uICIxLjEuNiIKQEAgLTUyNjIsOSArNTQ4Nyw5IEBAIGlz LWJ1ZmZlckBeMS4xLjAsIGlzLWJ1ZmZlckBeMS4xLjU6CiAgIGludGVncml0eSBzaGE1MTItTmNk QUx3cFhrVG01WnZ2Yms3b3dPVVN2VnZCS0RnS1A1L2V3ZlhFem5tUUZmczRaUm1hbk9lS0JUalJW amthM1FGb042WEorOUYzVVNxZkhxVGFVNXc9PQogCiBpcy1idWZmZXJAXjIuMC4yLCBpcy1idWZm ZXJAXjIuMC4zOgotICB2ZXJzaW9uICIyLjAuNCIKLSAgcmVzb2x2ZWQgImh0dHBzOi8vcmVnaXN0 cnkueWFybnBrZy5jb20vaXMtYnVmZmVyLy0vaXMtYnVmZmVyLTIuMC40LnRneiMzZTU3MmYyM2M4 NDExYTVjZmQ5NTU3Yzg0OWUzNjY1ZTBiMjkwNjIzIgotICBpbnRlZ3JpdHkgc2hhNTEyLUtxMXJv a1dYT1BYV3VhTUFxWmlKVzRYeHNtRDl6R3g5cTRhZVBhYmJuM3FDUkdlZHRIN0NtK3pWOFdFVGl0 TWZ1MXdkaCtSdmQ2dzVlZ3dTbmdVWDJBPT0KKyAgdmVyc2lvbiAiMi4wLjUiCisgIHJlc29sdmVk ICJodHRwczovL3JlZ2lzdHJ5Lnlhcm5wa2cuY29tL2lzLWJ1ZmZlci8tL2lzLWJ1ZmZlci0yLjAu NS50Z3ojZWJjMjUyZTQwMGQyMmZmOGQ3N2ZhMDk4ODg4MjFhMjRhNjU4YzE5MSIKKyAgaW50ZWdy aXR5IHNoYTUxMi1pMlI2ek5GRHdnRUhKeVFVdEpFazBYRmkxaTBkUEZuL29xakszL3ZQQ2NEZUp2 VzVOUTgzVjhRYmljZkYxU3VwT2FCMGg4bnRnQkMyWWlFN2RmeWN0UT09CiAKIGlzLWNhbGxhYmxl QF4xLjEuNCwgaXMtY2FsbGFibGVAXjEuMS41LCBpcy1jYWxsYWJsZUBeMS4yLjI6CiAgIHZlcnNp b24gIjEuMi4yIgpAQCAtNTI4Myw2ICs1NTA4LDEzIEBAIGlzLWNvbG9yLXN0b3BAXjEuMC4wOgog ICAgIHJnYi1yZWdleCAiXjEuMC4xIgogICAgIHJnYmEtcmVnZXggIl4xLjAuMCIKIAoraXMtY29y ZS1tb2R1bGVAXjIuMS4wOgorICB2ZXJzaW9uICIyLjIuMCIKKyAgcmVzb2x2ZWQgImh0dHBzOi8v cmVnaXN0cnkueWFybnBrZy5jb20vaXMtY29yZS1tb2R1bGUvLS9pcy1jb3JlLW1vZHVsZS0yLjIu MC50Z3ojOTcwMzdlZjNkNTIyMjRkODUxNjNmNTU5N2IyYjYzZDlhZmVkOTgxYSIKKyAgaW50ZWdy aXR5IHNoYTUxMi1YUkFmQWR5eVk1RjVjT1huN2hZUURxaDJYbWlpK0RFZkljUUd4Sy91TndNSGhJ a1BXTzBnOG1zWGNiekxlK01wR29SOTUxTWxxTS8yaUlsVTR2S0RkUT09CisgIGRlcGVuZGVuY2ll czoKKyAgICBoYXMgIl4xLjAuMyIKKwogaXMtY3dlYnAtcmVhZGFibGVAXjIuMC4xOgogICB2ZXJz aW9uICIyLjAuMSIKICAgcmVzb2x2ZWQgImh0dHBzOi8vcmVnaXN0cnkueWFybnBrZy5jb20vaXMt Y3dlYnAtcmVhZGFibGUvLS9pcy1jd2VicC1yZWFkYWJsZS0yLjAuMS50Z3ojYWZiOTNiMGMwYWJk MGEyNTEwMTAxNmFlMzNhZWE4YWVkZjkyNmQyNiIKQEAgLTUzOTYsOSArNTYyOCw5IEBAIGlzLW5h dHVyYWwtbnVtYmVyQF40LjAuMToKICAgaW50ZWdyaXR5IHNoYTEtcTUxMjRkdE03VkhqWGVESExy N1BDZmMwemVnPQogCiBpcy1uZWdhdGl2ZS16ZXJvQF4yLjAuMDoKLSAgdmVyc2lvbiAiMi4wLjAi Ci0gIHJlc29sdmVkICJodHRwczovL3JlZ2lzdHJ5Lnlhcm5wa2cuY29tL2lzLW5lZ2F0aXZlLXpl cm8vLS9pcy1uZWdhdGl2ZS16ZXJvLTIuMC4wLnRneiM5NTUzYjEyMWIwZmFjMjg4NjlkYTllZDQ1 OWUyMGM3NTQzNzg4NDYxIgotICBpbnRlZ3JpdHkgc2hhMS1sVk94SWJENndvaHAycDdVV2VJTWRV TjRoR0U9CisgIHZlcnNpb24gIjIuMC4xIgorICByZXNvbHZlZCAiaHR0cHM6Ly9yZWdpc3RyeS55 YXJucGtnLmNvbS9pcy1uZWdhdGl2ZS16ZXJvLy0vaXMtbmVnYXRpdmUtemVyby0yLjAuMS50Z3oj M2RlNzQ2YzE4ZGRhMjMxOTI0MWE1MzY3NTkwOGQ4Zjc2NmYxMWMyNCIKKyAgaW50ZWdyaXR5IHNo YTUxMi0yejZKelF2WlJhOUEyWTd4QzZkUVFtNEZTVFNUTldqS0lZWVR0NDI0NmVNVEptSW8wUSta eU9zVTY2WDhseEsxQWJCOTJkRmVnbFBMcmh3cGVSS082dz09CiAKIGlzLW51bWJlci1vYmplY3RA XjEuMC40OgogICB2ZXJzaW9uICIxLjAuNCIKQEAgLTU0MjMsOSArNTY1NSw5IEBAIGlzLW9iakBe Mi4wLjA6CiAgIGludGVncml0eSBzaGE1MTItZHJxREczY2Jjenh4RUpSb09YY09qdGRwMUovbHlw MW1ObjB4YXpuUnM4K211QmhnUWNybmJzcG94NVg1Zk93MEhuTW5iZkR6dm5FTUV0cURFSkVvOHc9 PQogCiBpcy1vYmplY3RAXjEuMC4xOgotICB2ZXJzaW9uICIxLjAuMSIKLSAgcmVzb2x2ZWQgImh0 dHBzOi8vcmVnaXN0cnkueWFybnBrZy5jb20vaXMtb2JqZWN0Ly0vaXMtb2JqZWN0LTEuMC4xLnRn eiM4OTUyNjg4YzVlYzJmZmQ2YjAzZWNjODVlNzY5ZTAyOTAzMDgzNDcwIgotICBpbnRlZ3JpdHkg c2hhMS1pVkpvakY3Qy85YXdQc3lGNTJuZ0tRTUlOSEE9CisgIHZlcnNpb24gIjEuMC4yIgorICBy ZXNvbHZlZCAiaHR0cHM6Ly9yZWdpc3RyeS55YXJucGtnLmNvbS9pcy1vYmplY3QvLS9pcy1vYmpl Y3QtMS4wLjIudGd6I2E1NjU1MmUxYzY2NWM5ZTk1MGI0YTAyNTQ2MWRhODdlNzJmODZmY2YiCisg IGludGVncml0eSBzaGE1MTItMnJSSWFoaFpyMlVXYjQ1ZklPdXZaR3BGdHowVHlPWkxmMzJLeEJi U29VQ2VaUjQ5NXpDS2xXVUtLVUJ5azNnZVMyZUFzN1pBQUJ0MFkvUngwR2lRR0E9PQogCiBpcy1w bGFpbi1vYmpAXjEuMC4wLCBpcy1wbGFpbi1vYmpAXjEuMS4wOgogICB2ZXJzaW9uICIxLjEuMCIK QEAgLTU2MjgsNyArNTg2MCwxMiBAQCBpc3VybEBeMS4wLjAtYWxwaGE1OgogICAgIGhhcy10by1z dHJpbmctdGFnLXggIl4xLjIuMCIKICAgICBpcy1vYmplY3QgIl4xLjAuMSIKIAotamFzbWluZS1j b3JlQF4zLjMsIGphc21pbmUtY29yZUB+My4zLjA6CitqYXNtaW5lLWNvcmVAXjMuMzoKKyAgdmVy c2lvbiAiMy42LjAiCisgIHJlc29sdmVkICJodHRwczovL3JlZ2lzdHJ5Lnlhcm5wa2cuY29tL2ph c21pbmUtY29yZS8tL2phc21pbmUtY29yZS0zLjYuMC50Z3ojNDkxZjNiYjIzOTQxNzk5YzM1M2Nl YjdhNDViMzhhOTUwZWJjNWEyMCIKKyAgaW50ZWdyaXR5IHNoYTUxMi04dVFZYTd6Sk44aHE5eitn OHoxYnFDZmRDOGVvREFlVm5NNXNmcXM3S0h2OS9pZm9KNTAwbTAxOGZwRmM3UkRhTzZTV0NMQ1h3 by93UFNOY2RZVGdjdz09CisKK2phc21pbmUtY29yZUB+My4zLjA6CiAgIHZlcnNpb24gIjMuMy4w IgogICByZXNvbHZlZCAiaHR0cHM6Ly9yZWdpc3RyeS55YXJucGtnLmNvbS9qYXNtaW5lLWNvcmUv LS9qYXNtaW5lLWNvcmUtMy4zLjAudGd6I2RlYTFjZGM2MzRiYzkzYzdlMGQ0YWQyNzE4NWRmMzBm YTk3MWIxMGUiCiAgIGludGVncml0eSBzaGE1MTItMy94U21HL2QzNWhmODBCRU42Nlk2ZzlDYTVs L0lzZGVnL2o2enZiVFlsVHplS2luem1hVE00cDlhbTVrWXFPbUUwNUQ3czF0OEZHanpkU25iVWJj ZUE9PQpAQCAtNTY2MCwxNiArNTg5NywxMSBAQCBqcXVlcnktdWlAPj0xLjguMCwganF1ZXJ5LXVp QF4xLjEyLjE6CiAgIHJlc29sdmVkICJodHRwczovL3JlZ2lzdHJ5Lnlhcm5wa2cuY29tL2pxdWVy eS11aS8tL2pxdWVyeS11aS0xLjEyLjEudGd6I2JjYjQwNDVjOGRkMDUzOWMxMzRiYzE0ODhjZGQz ZTc2OGE3YTllNTEiCiAgIGludGVncml0eSBzaGExLXZMUUVYSTNRVTV3VFM4RklqTjArZG9wNm5s RT0KIAotanF1ZXJ5QD49MS4yLjYsICJqcXVlcnlAPj0xLjcuMSA8NC4wLjAiLCBqcXVlcnlAPj0x LjguMCwganF1ZXJ5QF4zLjAsIGpxdWVyeUBeMy4zLjEsIGpxdWVyeUBeMy41LjAsIGpxdWVyeUBe My41LjE6CitqcXVlcnlAPj0xLjIuNiwgImpxdWVyeUA+PTEuNy4xIDw0LjAuMCIsIGpxdWVyeUA+ PTEuOC4wLCBqcXVlcnlAXjMuMy4xLCBqcXVlcnlAXjMuNS4wLCBqcXVlcnlAXjMuNS4xOgogICB2 ZXJzaW9uICIzLjUuMSIKICAgcmVzb2x2ZWQgImh0dHBzOi8vcmVnaXN0cnkueWFybnBrZy5jb20v anF1ZXJ5Ly0vanF1ZXJ5LTMuNS4xLnRneiNkN2I0ZDA4ZTFiZmRiODZhZDJmMWEzZDAzOWVhMTcz MDQ3MTdhYmI1IgogICBpbnRlZ3JpdHkgc2hhNTEyLVh3SUJQcWNNbjU3RnhmVCtHbzVwenlTbm00 S1drVDFUdjdnanJwVDFzcnRmOFdleW5sNlIyNzNWSjVHamtSYjUxSXpNcDVuYmFQakpYTVdlanUy TUtnPT0KIAotanMtbGV2ZW5zaHRlaW5AXjEuMS4zOgotICB2ZXJzaW9uICIxLjEuNiIKLSAgcmVz b2x2ZWQgImh0dHBzOi8vcmVnaXN0cnkueWFybnBrZy5jb20vanMtbGV2ZW5zaHRlaW4vLS9qcy1s ZXZlbnNodGVpbi0xLjEuNi50Z3ojYzZjZWU1OGViMzU1MDM3MmRmOGRlYjg1ZmFkNWNlNjZjZTAx ZDU5ZCIKLSAgaW50ZWdyaXR5IHNoYTUxMi1YMkJCMTFZWnRyUnFZNEVuUWNMWDVSaDM3M3piSzRh bEMxRlc3RDdNQmhMMmd0Y0MxN2NUbnI2RG1mSFplUzBzMnJUSGpVVE1NSGZHN2dPOFNTZHcrZz09 Ci0KIGpzLXN0cmluZy1lc2NhcGVAXjEuMC4wOgogICB2ZXJzaW9uICIxLjAuMSIKICAgcmVzb2x2 ZWQgImh0dHBzOi8vcmVnaXN0cnkueWFybnBrZy5jb20vanMtc3RyaW5nLWVzY2FwZS8tL2pzLXN0 cmluZy1lc2NhcGUtMS4wLjEudGd6I2UyNjI1YmFkYmMwZDY3Yzc1MzNlOWVkYzEwNjhjNTg3YWU0 MTM3ZWYiCkBAIC01Njg2LDkgKzU5MTgsOSBAQCBqcy10b2tlbnNAXjMuMC4yOgogICBpbnRlZ3Jp dHkgc2hhMS1tR2JmT1ZFQ0V3NDQ5L21Xdk90bFJESUp3bHM9CiAKIGpzLXlhbWxAXjMuMTIuMCwg anMteWFtbEBeMy4xMy4xOgotICB2ZXJzaW9uICIzLjE0LjAiCi0gIHJlc29sdmVkICJodHRwczov L3JlZ2lzdHJ5Lnlhcm5wa2cuY29tL2pzLXlhbWwvLS9qcy15YW1sLTMuMTQuMC50Z3ojYTdhMzQx NzBmMjZhMjFiYjE2MjQyNGQ4YWRhY2I0MTEzYTY5ZTQ4MiIKLSAgaW50ZWdyaXR5IHNoYTUxMi0v NEliSWVIY0Q5Vk1IRnFEUi9nUTdFZFpkTGltT3ZXMkRkY3hGamR5eVo5TnNiUytjY3JYcVZXRHRh Yi9sUmw1QWxVcW1wQng4RWhQYVdSK090WTE3QT09CisgIHZlcnNpb24gIjMuMTQuMSIKKyAgcmVz b2x2ZWQgImh0dHBzOi8vcmVnaXN0cnkueWFybnBrZy5jb20vanMteWFtbC8tL2pzLXlhbWwtMy4x NC4xLnRneiNkYWU4MTJmZGIzODI1ZmEzMDY2MDlhODcxNzM4M2M1MGMzNmEwNTM3IgorICBpbnRl Z3JpdHkgc2hhNTEyLW9rTUg3T1hYSjdZck45T2szL1NYcm51NGlYOXlPaysyNW5xWDRpbVMybnB1 dlRZRG1vL1FFWm9xd1prWWFJRGszalZ2Qk9UT0lFZ0VoYUxPeW5CUzlnPT0KICAgZGVwZW5kZW5j aWVzOgogICAgIGFyZ3BhcnNlICJeMS4wLjciCiAgICAgZXNwcmltYSAiXjQuMC4wIgpAQCAtNTcz MCw2ICs1OTYyLDExIEBAIGpzb24tcGFyc2UtYmV0dGVyLWVycm9yc0BeMS4wLjEsIGpzb24tcGFy c2UtYmV0dGVyLWVycm9yc0BeMS4wLjI6CiAgIHJlc29sdmVkICJodHRwczovL3JlZ2lzdHJ5Lnlh cm5wa2cuY29tL2pzb24tcGFyc2UtYmV0dGVyLWVycm9ycy8tL2pzb24tcGFyc2UtYmV0dGVyLWVy cm9ycy0xLjAuMi50Z3ojYmI4NjdjZmIzNDUwZTY5MTA3YzEzMWQxYzUxNGJhYjNkYzhiY2FhOSIK ICAgaW50ZWdyaXR5IHNoYTUxMi1tcnF5WktmWDVFaEw3aHZxY1Y2V0cxeVlqbmpldVlEekRoaGNB QVVycThQbzg1TkJRQkpQK1pEVVQ3NXFaUTk4SWtVb0JxZGtFeGt1a09VN1RzMndydz09CiAKK2pz b24tcGFyc2UtZXZlbi1iZXR0ZXItZXJyb3JzQF4yLjMuMDoKKyAgdmVyc2lvbiAiMi4zLjEiCisg IHJlc29sdmVkICJodHRwczovL3JlZ2lzdHJ5Lnlhcm5wa2cuY29tL2pzb24tcGFyc2UtZXZlbi1i ZXR0ZXItZXJyb3JzLy0vanNvbi1wYXJzZS1ldmVuLWJldHRlci1lcnJvcnMtMi4zLjEudGd6Izdj NDc4MDVhOTQzMTk5MjhlMDU3Nzc0MDVkYzEyZTFmN2E0ZWUwMmQiCisgIGludGVncml0eSBzaGE1 MTIteHlGd3locm8vSkVvZjZHaGUyaXoyTmNYb2oyc2xvTnNXci9Yc0VSREsvb2lQQ2ZhTmhsNU9O ZnAralFkQVpSUVEwSUpXTnpIOXpJWkY3bGk5MWtoMnc9PQorCiBqc29uLXNjaGVtYS10cmF2ZXJz ZUBeMC4zLjA6CiAgIHZlcnNpb24gIjAuMy4xIgogICByZXNvbHZlZCAiaHR0cHM6Ly9yZWdpc3Ry eS55YXJucGtnLmNvbS9qc29uLXNjaGVtYS10cmF2ZXJzZS8tL2pzb24tc2NoZW1hLXRyYXZlcnNl LTAuMy4xLnRneiMzNDlhNmQ0NGM1M2E1MWRlODliNDA4MDVjNWQ1ZTU5YjQxN2QzMzQwIgpAQCAt NTc1OSw3ICs1OTk2LDcgQEAganNvbjVAXjEuMC4xOgogICBkZXBlbmRlbmNpZXM6CiAgICAgbWlu aW1pc3QgIl4xLjIuMCIKIAotanNvbjVAXjIuMS4wLCBqc29uNUBeMi4xLjI6Citqc29uNUBeMi4x LjI6CiAgIHZlcnNpb24gIjIuMS4zIgogICByZXNvbHZlZCAiaHR0cHM6Ly9yZWdpc3RyeS55YXJu cGtnLmNvbS9qc29uNS8tL2pzb241LTIuMS4zLnRneiNjOWIwZjdmYTkyMzNiZmU1ODA3ZmU2NmZj ZjNhNTYxN2VkNTk3ZDQzIgogICBpbnRlZ3JpdHkgc2hhNTEyLUtYUHZPbThLOUlKS0ZNMGJtZG44 UVhoN3VkRGgxZy9naWllWDBOTENhTW5iNGhFaVZGcW5vcDJJbVRYQ2M1ZTAvb0h6M0xUcW1IR3RF eG41aGZNa09BPT0KQEAgLTU3ODMsMTMgKzYwMjAsMTMgQEAganNvbnBhcnNlQF4xLjIuMDoKICAg cmVzb2x2ZWQgImh0dHBzOi8vcmVnaXN0cnkueWFybnBrZy5jb20vanNvbnBhcnNlLy0vanNvbnBh cnNlLTEuMy4xLnRneiMzZjRkYWU0YTkxZmFjMzE1ZjcxMDYyZjg1MjFjYzIzOWYxMzY2MjgwIgog ICBpbnRlZ3JpdHkgc2hhMS1QMDJ1U3BINnd4WDNFR0w0VWh6Q09mRTJZb0E9CiAKLWpzeC1hc3Qt dXRpbHNAXjIuNC4xOgotICB2ZXJzaW9uICIyLjQuMSIKLSAgcmVzb2x2ZWQgImh0dHBzOi8vcmVn aXN0cnkueWFybnBrZy5jb20vanN4LWFzdC11dGlscy8tL2pzeC1hc3QtdXRpbHMtMi40LjEudGd6 IzExMTRhNGMxMjA5NDgxZGIwNmM2OTBjMmI0ZjQ4OGNjNjY1ZjY1N2UiCi0gIGludGVncml0eSBz aGE1MTItejF4U2xkSjZpbUVTU3pPamQzTk5raWVWSktSbEtZU090TUc4U0Z5Q2oyRklydlNhU3Vs aS9XanBCa0V6Q0JvUjliWVlZRmdxSnc2MVhodTdMY2drK3c9PQorImpzeC1hc3QtdXRpbHNAXjIu NC4xIHx8IF4zLjAuMCI6CisgIHZlcnNpb24gIjMuMi4wIgorICByZXNvbHZlZCAiaHR0cHM6Ly9y ZWdpc3RyeS55YXJucGtnLmNvbS9qc3gtYXN0LXV0aWxzLy0vanN4LWFzdC11dGlscy0zLjIuMC50 Z3ojNDExMDhkMmNlYzQwOGMzNDUzYzFiYmU4YTRhYWU5ZTFlMmJkOGY4MiIKKyAgaW50ZWdyaXR5 IHNoYTUxMi1FSXNtdDNPM2xqc1U2c290L0o0RTF6RFJ4ZkJOcmhqeWYvT0tqbHlkd2dFaW1RdXpu bE00V3Y3VSt1ZU9OSk15RW4xV1JFMEs4ZGhpM2RWQVhZVDI0UT09CiAgIGRlcGVuZGVuY2llczoK LSAgICBhcnJheS1pbmNsdWRlcyAiXjMuMS4xIgotICAgIG9iamVjdC5hc3NpZ24gIl40LjEuMCIK KyAgICBhcnJheS1pbmNsdWRlcyAiXjMuMS4yIgorICAgIG9iamVjdC5hc3NpZ24gIl40LjEuMiIK IAoga2FybWEtYmFiZWwtcHJlcHJvY2Vzc29yQF44LjAuMDoKICAgdmVyc2lvbiAiOC4wLjEiCkBA IC01OTYzLDYgKzYyMDAsMTEgQEAgbGV2bkBeMC4zLjAsIGxldm5AfjAuMy4wOgogICAgIHByZWx1 ZGUtbHMgIn4xLjEuMiIKICAgICB0eXBlLWNoZWNrICJ+MC4zLjIiCiAKK2xpbmVzLWFuZC1jb2x1 bW5zQF4xLjEuNjoKKyAgdmVyc2lvbiAiMS4xLjYiCisgIHJlc29sdmVkICJodHRwczovL3JlZ2lz dHJ5Lnlhcm5wa2cuY29tL2xpbmVzLWFuZC1jb2x1bW5zLy0vbGluZXMtYW5kLWNvbHVtbnMtMS4x LjYudGd6IzFjMDBjNzQzYjQzM2NkMGE0ZTgwNzU4ZjdiNjRhNTc0NDBkOWZmMDAiCisgIGludGVn cml0eSBzaGExLUhBREhRN1F6elFwT2dIV1BlMlNsZEVEWi93QT0KKwogbG9hZC1qc29uLWZpbGVA XjEuMC4wOgogICB2ZXJzaW9uICIxLjEuMCIKICAgcmVzb2x2ZWQgImh0dHBzOi8vcmVnaXN0cnku eWFybnBrZy5jb20vbG9hZC1qc29uLWZpbGUvLS9sb2FkLWpzb24tZmlsZS0xLjEuMC50Z3ojOTU2 OTA1NzA4ZDU4YjRiYWI0YzIyNjFiMDRmNTlmMzFjOTkzNzRjMCIKQEAgLTYwOTMsNyArNjMzNSw3 IEBAIGxvZGFzaC51bmlxQF40LjUuMDoKICAgcmVzb2x2ZWQgImh0dHBzOi8vcmVnaXN0cnkueWFy bnBrZy5jb20vbG9kYXNoLnVuaXEvLS9sb2Rhc2gudW5pcS00LjUuMC50Z3ojZDAyMjUzNzNhZWI2 NTJhZGMxYmM4MmU0OTQ1MzM5YTg0Mjc1NDc3MyIKICAgaW50ZWdyaXR5IHNoYTEtMENKVGM2NjJV cTNCdklMa2xGTTVxRUoxUjNNPQogCi1sb2Rhc2hAXjQuMTQuMSwgbG9kYXNoQF40LjE1LjAsIGxv ZGFzaEBeNC4xNy4xMCwgbG9kYXNoQF40LjE3LjExLCBsb2Rhc2hAXjQuMTcuMTIsIGxvZGFzaEBe NC4xNy4xMywgbG9kYXNoQF40LjE3LjE0LCBsb2Rhc2hAXjQuMTcuMTUsIGxvZGFzaEBeNC4xNy4x OSwgbG9kYXNoQF40LjE3LjQsIGxvZGFzaEBeNC4xNy41OgorbG9kYXNoQDQuKiwgbG9kYXNoQF40 LjE0LjEsIGxvZGFzaEBeNC4xNy4xMCwgbG9kYXNoQF40LjE3LjExLCBsb2Rhc2hAXjQuMTcuMTIs IGxvZGFzaEBeNC4xNy4xNCwgbG9kYXNoQF40LjE3LjE1LCBsb2Rhc2hAXjQuMTcuMTksIGxvZGFz aEBeNC4xNy40LCBsb2Rhc2hAXjQuMTcuNToKICAgdmVyc2lvbiAiNC4xNy4yMCIKICAgcmVzb2x2 ZWQgImh0dHBzOi8vcmVnaXN0cnkueWFybnBrZy5jb20vbG9kYXNoLy0vbG9kYXNoLTQuMTcuMjAu dGd6I2I0NGE5YjYyOTdiY2I2OThmMWM1MWEzNTQ1YTJiM2IzNjhkNTljNTIiCiAgIGludGVncml0 eSBzaGE1MTItUGxoZEZjaWxsT0lOZmVWN05pNm9GMVRBRWF5eVpCb1o4YmNzaFRIcU9ZSllscnF6 Uks1aGFncGFna3k1bzRIZkN6emQxVFJrWFBNRnE2Y0trOXJHbUE9PQpAQCAtNjE5Miw3ICs2NDM0 LDcgQEAgbWFrZS1kaXJAXjIuMC4wOgogICAgIHBpZnkgIl40LjAuMSIKICAgICBzZW12ZXIgIl41 LjYuMCIKIAotbWFrZS1kaXJAXjMuMC4wLCBtYWtlLWRpckBeMy4wLjI6CittYWtlLWRpckBeMy4w LjAsIG1ha2UtZGlyQF4zLjAuMiwgbWFrZS1kaXJAXjMuMS4wOgogICB2ZXJzaW9uICIzLjEuMCIK ICAgcmVzb2x2ZWQgImh0dHBzOi8vcmVnaXN0cnkueWFybnBrZy5jb20vbWFrZS1kaXIvLS9tYWtl LWRpci0zLjEuMC50Z3ojNDE1ZTk2NzA0NmIzYTdmMWQxODUyNzdkODRhYTU4MjAzNzI2YTEzZiIK ICAgaW50ZWdyaXR5IHNoYTUxMi1nM0ZlUDIwTE53aEFMYi82Q3o2RGQ0RjJuZ3plMGp6N3RienJE MndBVitvOUZlTkhlNHJMK3lLMm1kMEovZmlTZjFzYTFBRGhYcWk1K29Wd09NL2VHdz09CkBAIC02 MjE3LDkgKzY0NTksMTQgQEAgbWFwLXZpc2l0QF4xLjAuMDoKICAgICBvYmplY3QtdmlzaXQgIl4x LjAuMCIKIAogbWFya2VkQF4xLjEuMToKLSAgdmVyc2lvbiAiMS4yLjAiCi0gIHJlc29sdmVkICJo dHRwczovL3JlZ2lzdHJ5Lnlhcm5wa2cuY29tL21hcmtlZC8tL21hcmtlZC0xLjIuMC50Z3ojNzIy MWNlMjM5NWZhNmNmNmQ3MjJlNmYyODcxYTMyZDM1MTNjODVjYSIKLSAgaW50ZWdyaXR5IHNoYTUx Mi10aVJ4YWtnYk5QQnIzMDFpaGUvNzg1Tm50dll5aHhscWNMM1lhQzhDYXhKUWg3a2lhRXRyTjlC L2VLMkkyOTQzWWpraDVndzI1Y2hZRkRRaE9NQ3dNQT09CisgIHZlcnNpb24gIjEuMi43IgorICBy ZXNvbHZlZCAiaHR0cHM6Ly9yZWdpc3RyeS55YXJucGtnLmNvbS9tYXJrZWQvLS9tYXJrZWQtMS4y LjcudGd6IzZlMTRiNTk1NTgxZDIzMTljZGNmMDMzYTI0Y2FhZjQxNDU1YTAxZmIiCisgIGludGVn cml0eSBzaGE1MTItTm8xMWhGWWNYci96a0J2TDZxRm1BcDF6NkJLWTN6cUxNSG55L0pOL2V5K2Fs N3F3Q00yK0NNQkw5Qk9ncU14WlUzNmZ6NGNDV2ZuMnBvV0lmN1FSWEE9PQorCittYXRjaGVzLXNl bGVjdG9yQDAuMC4xOgorICB2ZXJzaW9uICIwLjAuMSIKKyAgcmVzb2x2ZWQgImh0dHBzOi8vcmVn aXN0cnkueWFybnBrZy5jb20vbWF0Y2hlcy1zZWxlY3Rvci8tL21hdGNoZXMtc2VsZWN0b3ItMC4w LjEudGd6IzFkZjUyNjIyNDNhZTM0MWMxYTA4MDRkZDMwMjA0ODI2N2FjNzEzYmIiCisgIGludGVn cml0eSBzaGExLUhmVW1Ja091TkJ3YUNBVGRNQ0JJSm5ySEU3cz0KIAogbWQ1LmpzQF4xLjMuNDoK ICAgdmVyc2lvbiAiMS4zLjUiCkBAIC02MjMwLDE2ICs2NDc3LDE2IEBAIG1kNS5qc0BeMS4zLjQ6 CiAgICAgaW5oZXJpdHMgIl4yLjAuMSIKICAgICBzYWZlLWJ1ZmZlciAiXjUuMS4yIgogCittZG4t ZGF0YUAyLjAuMTQ6CisgIHZlcnNpb24gIjIuMC4xNCIKKyAgcmVzb2x2ZWQgImh0dHBzOi8vcmVn aXN0cnkueWFybnBrZy5jb20vbWRuLWRhdGEvLS9tZG4tZGF0YS0yLjAuMTQudGd6IzcxMTNmYzQy ODE5MTdkNjNjZTI5YjQzNDQ2ZjcwMWU2OGMyNWJhNTAiCisgIGludGVncml0eSBzaGE1MTItZG42 d2QwdXc1R3Nkc3dQRmZzZ01wNU5TQjAvYURlNmZLOTRZSlYvQUpEWVhMNkhWTFdCc3hlcTdqczdB ZCttVTJLOUxBbHdwazZrTjJENW13Q1BWb3c9PQorCiBtZG4tZGF0YUAyLjAuNDoKICAgdmVyc2lv biAiMi4wLjQiCiAgIHJlc29sdmVkICJodHRwczovL3JlZ2lzdHJ5Lnlhcm5wa2cuY29tL21kbi1k YXRhLy0vbWRuLWRhdGEtMi4wLjQudGd6IzY5OWIzYzM4YWM2ZjFkNzI4MDkxYTY0NjUwYjY1ZDM4 ODUwMmZkNWIiCiAgIGludGVncml0eSBzaGE1MTItaVYzWE5LdzA2ajVRN21pNmgrOXZieDIzVHY3 SmtqRVZnS0hXNHBpbXd5REdXbTBPSVFudEpKK3UxQzZtZzZtSzFFYVR2NDJYUTd3NzZ5dXpIN00y Y0E9PQogCi1tZG4tZGF0YUAyLjAuNjoKLSAgdmVyc2lvbiAiMi4wLjYiCi0gIHJlc29sdmVkICJo dHRwczovL3JlZ2lzdHJ5Lnlhcm5wa2cuY29tL21kbi1kYXRhLy0vbWRuLWRhdGEtMi4wLjYudGd6 Izg1MmRjNjBmY2FhNWRhYTJlOGNmNmM5MTg5YzQ0MGVkM2UwNDI5NzgiCi0gIGludGVncml0eSBz aGE1MTItclF2anY3MW9sd05IZ2lUYmZQWkZrSnRqTk1jaVdnc3dZZWNpWmh0dldMTzhibVgzVG5o eUE2Mkk2c1RXT3lac3NXSEpKalk2L0tpV3dxUXNXV3NxT0E9PQotCiBtZWRpYS10eXBlckAwLjMu MDoKICAgdmVyc2lvbiAiMC4zLjAiCiAgIHJlc29sdmVkICJodHRwczovL3JlZ2lzdHJ5Lnlhcm5w a2cuY29tL21lZGlhLXR5cGVyLy0vbWVkaWEtdHlwZXItMC4zLjAudGd6Izg3MTBkN2FmMGFhNjI2 ZjhmZmZhMWNlMDAxNjg1NDUyNjMyNTU3NDgiCkBAIC02MzQ3LDkgKzY1OTQsOSBAQCBtaW1lQDEu Ni4wOgogICBpbnRlZ3JpdHkgc2hhNTEyLXgwVm44c3BJK3d1SjFPNlM3Z25iYVFnOFB4aDROTkhi N0tTSU5tRVdLaVBFNFJLT3BsdmlqbitOa21ZbW1SZ1A2OG1jNzBqMkViZVRGUnNyc3dhUWVnPT0K IAogbWltZUBeMi4wLjMsIG1pbWVAXjIuMy4xLCBtaW1lQF4yLjQuNDoKLSAgdmVyc2lvbiAiMi40 LjYiCi0gIHJlc29sdmVkICJodHRwczovL3JlZ2lzdHJ5Lnlhcm5wa2cuY29tL21pbWUvLS9taW1l LTIuNC42LnRneiNlNWI0MDdjOTBkYjQ0MmYyYmViNWIxNjIzNzNkMDdiNjlhZmZhNGQxIgotICBp bnRlZ3JpdHkgc2hhNTEyLVJaS2hDM0VtcEJjaGZUR0JWYjhmYitSTDJjV3l3LzMybHNobnNFVHR0 a0JBeUFVWFNHSHhiRUpXV1JYYzc1MURySXhHMXEwNGI4UXdNYkF3a1JQcFVBPT0KKyAgdmVyc2lv biAiMi40LjciCisgIHJlc29sdmVkICJodHRwczovL3JlZ2lzdHJ5Lnlhcm5wa2cuY29tL21pbWUv LS9taW1lLTIuNC43LnRneiM5NjJhZWQ5YmUwZWQxOWM5MWZkN2RjMmVjZTVkN2Y0ZTg5YTkwZDc0 IgorICBpbnRlZ3JpdHkgc2hhNTEyLWRoTmQxdUEydTM5N3VRazNOdjVMTTRsbTkzV1lEVVhGbjNG dTI5MUZKZXJuczRqeVR1ZHFoSVdlNFcwNFlMeTdVazF0bTFPcmUwNE5walJ2UXAvTlBBPT0KIAog bWltaWMtZm5AXjEuMC4wOgogICB2ZXJzaW9uICIxLjIuMCIKQEAgLTY0NDksNiArNjY5NiwxMSBA QCBtaXhpbi1kZWVwQF4xLjIuMDoKICAgICBmb3ItaW4gIl4xLjAuMiIKICAgICBpcy1leHRlbmRh YmxlICJeMS4wLjEiCiAKK21rZGlycC1jbGFzc2ljQF4wLjUuMjoKKyAgdmVyc2lvbiAiMC41LjMi CisgIHJlc29sdmVkICJodHRwczovL3JlZ2lzdHJ5Lnlhcm5wa2cuY29tL21rZGlycC1jbGFzc2lj Ly0vbWtkaXJwLWNsYXNzaWMtMC41LjMudGd6I2ZhMTBjOTExNWNjNmQ4ODY1YmUyMjFiYTQ3ZWU5 YmVkNzg2MDExMTMiCisgIGludGVncml0eSBzaGE1MTItZ0tMY1JFTWh0dVpSd1JBZnFQM1JGVytU SzRKcUFwVkJ0T0lmdFZnanVBQnBBdHB4aFBHYURjZnZiaE52RDBCOGlEMW9Vci90eFgzNU5qY2FZ Nk5zL0E9PQorCiBta2RpcnBAXjAuNS4wLCBta2RpcnBAXjAuNS4xLCBta2RpcnBAXjAuNS4zLCBt a2RpcnBAfjAuNS4xOgogICB2ZXJzaW9uICIwLjUuNSIKICAgcmVzb2x2ZWQgImh0dHBzOi8vcmVn aXN0cnkueWFybnBrZy5jb20vbWtkaXJwLy0vbWtkaXJwLTAuNS41LnRneiNkOTFjZWZkNjJkMTQz NmNhMGY0MTYyMGUyNTEyODhkNDIwMDk5ZGVmIgpAQCAtNjQ1Niw3ICs2NzA4LDM3IEBAIG1rZGly cEBeMC41LjAsIG1rZGlycEBeMC41LjEsIG1rZGlycEBeMC41LjMsIG1rZGlycEB+MC41LjE6CiAg IGRlcGVuZGVuY2llczoKICAgICBtaW5pbWlzdCAiXjEuMi41IgogCi1tb2R1bGUtZGVwc0BeNi4w LjA6CittbC1hcnJheS1tYXhAXjEuMi4wOgorICB2ZXJzaW9uICIxLjIuMCIKKyAgcmVzb2x2ZWQg Imh0dHBzOi8vcmVnaXN0cnkueWFybnBrZy5jb20vbWwtYXJyYXktbWF4Ly0vbWwtYXJyYXktbWF4 LTEuMi4wLnRneiMxNDE1OTUxMzFmZTEwMjA4ZGQ4OTg5N2NlOThhYjdmZDM4MmEzOTUxIgorICBp bnRlZ3JpdHkgc2hhNTEyLTNVSDdYQ2RqSU54YnRCV2oxRXVITWVJMjQyUTN1THVDNHJUcFN5YkJX VXBHam5HL0JlZkFGeG1Ub2xVQ3VYRE01OW1KL0cvcmU4MENRYmFWSXVNalFBPT0KKyAgZGVwZW5k ZW5jaWVzOgorICAgIGlzLWFueS1hcnJheSAiXjAuMS4wIgorCittbC1hcnJheS1taW5AXjEuMi4w OgorICB2ZXJzaW9uICIxLjIuMCIKKyAgcmVzb2x2ZWQgImh0dHBzOi8vcmVnaXN0cnkueWFybnBr Zy5jb20vbWwtYXJyYXktbWluLy0vbWwtYXJyYXktbWluLTEuMi4wLnRneiM2ODgwZWEzMTkyNTBh OTllYzczYmMyNzk5YWMwMDVjMTBhMGYwNDg5IgorICBpbnRlZ3JpdHkgc2hhNTEyLVdnZjIrbENu ZEx5MVNiZU9aU1VxbGt4RDlUMUNYUFQ3Q0lsTkdBWlJSUUkzNXdzcXZmdU50TE5INHFLRng4a05q bHEzVkdYS09TQkhlaVhSMzF2YVRBPT0KKyAgZGVwZW5kZW5jaWVzOgorICAgIGlzLWFueS1hcnJh eSAiXjAuMS4wIgorCittbC1hcnJheS1yZXNjYWxlQF4xLjMuMjoKKyAgdmVyc2lvbiAiMS4zLjIi CisgIHJlc29sdmVkICJodHRwczovL3JlZ2lzdHJ5Lnlhcm5wa2cuY29tL21sLWFycmF5LXJlc2Nh bGUvLS9tbC1hcnJheS1yZXNjYWxlLTEuMy4yLnRneiNlYmRlYWFhODRkMTVmNzE0ZGJiMDBlOTRh NmE5MzM2ZGRjZjEwNDEzIgorICBpbnRlZ3JpdHkgc2hhNTEyLWtpWHdkVkNHcmVyN3JMbmpSNlE5 WmdQNmU5cmJubVF2WVZVTUxYeXFOZzQrek9zK2plazh5QnVwcVBaUERyK052bFNFNU91TW5mQWJQ MW9BNjNrSEJBPT0KKyAgZGVwZW5kZW5jaWVzOgorICAgIGlzLWFueS1hcnJheSAiXjAuMS4wIgor ICAgIG1sLWFycmF5LW1heCAiXjEuMi4wIgorICAgIG1sLWFycmF5LW1pbiAiXjEuMi4wIgorCitt bC1tYXRyaXhAXjYuNS4wOgorICB2ZXJzaW9uICI2LjUuMyIKKyAgcmVzb2x2ZWQgImh0dHBzOi8v cmVnaXN0cnkueWFybnBrZy5jb20vbWwtbWF0cml4Ly0vbWwtbWF0cml4LTYuNS4zLnRneiMwYzRi YjI2NzE0NjA3Y2FjNzZkMjg5Yjk0MzE3MWM3MDgzNDE4ZWVkIgorICBpbnRlZ3JpdHkgc2hhNTEy LXdYcm4rY2NBcEo2Z0hrdHhtb3NPenM2QjZNMGh1YWRhaERwY2dQWUlBSmdncHFON0N0VjRWZDd6 cFc2TGVsLzFvTTV5Q1VMY3JiUkoxQTVnRi9HWURBPT0KKyAgZGVwZW5kZW5jaWVzOgorICAgIG1s LWFycmF5LXJlc2NhbGUgIl4xLjMuMiIKKworbW9kdWxlLWRlcHNAXjYuMC4wLCBtb2R1bGUtZGVw c0BeNi4yLjM6CiAgIHZlcnNpb24gIjYuMi4zIgogICByZXNvbHZlZCAiaHR0cHM6Ly9yZWdpc3Ry eS55YXJucGtnLmNvbS9tb2R1bGUtZGVwcy8tL21vZHVsZS1kZXBzLTYuMi4zLnRneiMxNTQ5MGJj MDJhZjRiNTZjZjYyMjk5YzdjMTdjYmEzMmQ3MWE5NmVlIgogICBpbnRlZ3JpdHkgc2hhNTEyLWZn N09aYVFCY0w0L0wrQUs1ZjRpVnFmOU9NYkNjbFhmeS96blhSeFRWaEpTZVc1QUlsUzlBd2hlWXdE YVhNM2xWVzdPQmVhZVVFWTNnYmFDNmNMbFNBPT0KQEAgLTY0NzcsMjUgKzY3NTksMjMgQEAgbW9k dWxlLWRlcHNAXjYuMC4wOgogICAgIHRocm91Z2gyICJeMi4wLjAiCiAgICAgeHRlbmQgIl40LjAu MCIKIAotbW9tZW50LXRpbWV6b25lQF4wLjQuMDoKLSAgdmVyc2lvbiAiMC40LjEiCi0gIHJlc29s dmVkICJodHRwczovL3JlZ2lzdHJ5Lnlhcm5wa2cuY29tL21vbWVudC10aW1lem9uZS8tL21vbWVu dC10aW1lem9uZS0wLjQuMS50Z3ojODFmNTk4YzNhZDVlMjJjZGFkNzk2YjY3ZWNkOGQ4OGQwZjVi YWEwNiIKLSAgaW50ZWdyaXR5IHNoYTEtZ2ZXWXc2MWVJczJ0ZVd0bjdOallqUTlicWdZPQotICBk ZXBlbmRlbmNpZXM6Ci0gICAgbW9tZW50ICI+PSAyLjYuMCIKLQotbW9tZW50LXRpbWV6b25lQF4w LjUuMTEsIG1vbWVudC10aW1lem9uZUBeMC41LjIzOgotICB2ZXJzaW9uICIwLjUuMzEiCi0gIHJl c29sdmVkICJodHRwczovL3JlZ2lzdHJ5Lnlhcm5wa2cuY29tL21vbWVudC10aW1lem9uZS8tL21v bWVudC10aW1lem9uZS0wLjUuMzEudGd6IzljNDBkOGM1MDI2ZjBjN2FiNDZlZGEzZDYzZTQ5YzE1 NTE0OGRlMDUiCi0gIGludGVncml0eSBzaGE1MTItK0dnSE5nOHhSaE1YZkVidjgxaUR0clZlVGNX dDBrV21URVkxWFFLMTRkSUNUWG5XSm5UMGR4ZGxQc3B3cUYza2VLTVZQWHdheUVzazFESTBBQS9q ZEE9PQorbW9tZW50LXRpbWV6b25lQF4wLjUuMjMsIG1vbWVudC10aW1lem9uZUBeMC41LjI4LCBt b21lbnQtdGltZXpvbmVAXjAuNS4zMToKKyAgdmVyc2lvbiAiMC41LjMyIgorICByZXNvbHZlZCAi aHR0cHM6Ly9yZWdpc3RyeS55YXJucGtnLmNvbS9tb21lbnQtdGltZXpvbmUvLS9tb21lbnQtdGlt ZXpvbmUtMC41LjMyLnRneiNkYjc2NzdjYzNjYzY4MGZkMzAzMDNlYmQ5MGIwZGExY2EwZGZlY2My IgorICBpbnRlZ3JpdHkgc2hhNTEyLVo4UU55dVFIUUFtV3VjcDhLbm1nZWk4WU5vMjhhTGpKcTZN YStqeTFaU3BTazVueWZSVDh4Z1ViU1F2RDIrMlVhaklTZmVubmR3dkZ1SDNOR1MrbnZBPT0KICAg ZGVwZW5kZW5jaWVzOgogICAgIG1vbWVudCAiPj0gMi45LjAiCiAKLSJtb21lbnRAPj0gMi42LjAi LCAibW9tZW50QD49IDIuOS4wIiwgbW9tZW50QF4yLjEwLjIsIG1vbWVudEBeMi4yMi4yLCBtb21l bnRAXjIuMjQuMDoKKyJtb21lbnRAPj0gMi45LjAiLCBtb21lbnRAXjIuMTAuMiwgbW9tZW50QF4y LjI0LjAsIG1vbWVudEBeMi4yOS4wOgogICB2ZXJzaW9uICIyLjI5LjEiCiAgIHJlc29sdmVkICJo dHRwczovL3JlZ2lzdHJ5Lnlhcm5wa2cuY29tL21vbWVudC8tL21vbWVudC0yLjI5LjEudGd6I2Iy YmU3NjlmYTMxOTQwYmU5ZWVlYTY0NjljMDc1ZTM1MDA2ZmEzZDMiCiAgIGludGVncml0eSBzaGE1 MTIta0htb3liY1BWOFNxeTU5RHdORFkzSmVmcjY0bEsvYnkvZGEwVmlGY3VBNERIMHZRZzVRNlpl NVZpbXhrZlFOU0MrTWxzL0t4NTNzN1RqUDFSaEZFRFE9PQogCittb21lbnRAfjIuMjQuMDoKKyAg dmVyc2lvbiAiMi4yNC4wIgorICByZXNvbHZlZCAiaHR0cHM6Ly9yZWdpc3RyeS55YXJucGtnLmNv bS9tb21lbnQvLS9tb21lbnQtMi4yNC4wLnRneiMwZDA1NWQ1M2Y1MDUyYWE2NTNjOWY2ZWI2OGJi NWQxMmJmNWMyYjViIgorICBpbnRlZ3JpdHkgc2hhNTEyLWJWN2YrNmwyUWlnZUJCWlNNLzZ5VE5x NFAyZk5wU1dqLzBlN2pRY3k4N0E4ZTdvMm5BZlAvMzQvMmt5NVZ3NEI5UzQ0NkV0SWhvZEF6a0ZD Y1I0ZFFnPT0KKwogbW9vQF4wLjUuMDoKICAgdmVyc2lvbiAiMC41LjEiCiAgIHJlc29sdmVkICJo dHRwczovL3JlZ2lzdHJ5Lnlhcm5wa2cuY29tL21vby8tL21vby0wLjUuMS50Z3ojN2FhZTdmMzg0 YjliMDlmNjIwYjZhYmY2Zjc0ZWJiY2QxYjY1ZGJjNCIKQEAgLTY1MzcsMjAgKzY4MTcsMjUgQEAg bXNAMi4xLjE6CiAgIHJlc29sdmVkICJodHRwczovL3JlZ2lzdHJ5Lnlhcm5wa2cuY29tL21zLy0v bXMtMi4xLjEudGd6IzMwYTU4NjRlYjNlYmIwYTY2ZjJlYmU2ZDcyN2FmMDZhMDlkODZlMGEiCiAg IGludGVncml0eSBzaGE1MTItdGdwK2RsNWNHazI4dXRZa3RCc3JGcUE3SEtncmhnUHNnNlovRWZo V0k0Z2wxSHdxOEIvR21ZLzBvWFo2bkY4aERWZXNTL0ZwbllhRC9rT1doWVF2eWc9PQogCi1tc0Ay LjEuMiwgbXNAXjIuMS4xOgorbXNAMi4xLjI6CiAgIHZlcnNpb24gIjIuMS4yIgogICByZXNvbHZl ZCAiaHR0cHM6Ly9yZWdpc3RyeS55YXJucGtnLmNvbS9tcy8tL21zLTIuMS4yLnRneiNkMDlkMWYz NTdiNDQzZjQ5MzM4MmE4ZWIzY2NkMTgzODcyYWU2MDA5IgogICBpbnRlZ3JpdHkgc2hhNTEyLXNH a1B4K1ZqTXRtQTZNWDI3b0E0RkJGRUxGQ1paNFM0WHFlR09YQ3Y2OHRUK2piM3ZrL1J5YUtXUDBQ VEt5V3RtTFNNMGIrYWRVVEV2YnMxUEVhSDJ3PT0KIAorbXNAXjIuMS4xOgorICB2ZXJzaW9uICIy LjEuMyIKKyAgcmVzb2x2ZWQgImh0dHBzOi8vcmVnaXN0cnkueWFybnBrZy5jb20vbXMvLS9tcy0y LjEuMy50Z3ojNTc0YzgxMzhjZTFkMmI1ODYxZjBiNDQ1NzlkYmFkZDYwYzY2MTViMiIKKyAgaW50 ZWdyaXR5IHNoYTUxMi02Rmx6dWJUTFpHM0oyYS9OVkNBbGVFaGp6cTVveGdIeWFDVTl5WVh2Y0xz dm9WYUhKcS9zNXhYSTYvWFhQNnR6N1I5eEFPdEhuU08vdFh0RjNXUlRsQT09CisKIG11dGUtc3Ry ZWFtQDAuMC43OgogICB2ZXJzaW9uICIwLjAuNyIKICAgcmVzb2x2ZWQgImh0dHBzOi8vcmVnaXN0 cnkueWFybnBrZy5jb20vbXV0ZS1zdHJlYW0vLS9tdXRlLXN0cmVhbS0wLjAuNy50Z3ojMzA3NWNl OTNiYzIxYjhmYWI0M2UxYmM0ZGE3ZTgxMTVlZDFlN2JhYiIKICAgaW50ZWdyaXR5IHNoYTEtTUhY T2s3d2h1UHEwUGh2RTJuNkJGZTBlZTZzPQogCiBuYW5AXjIuMTIuMToKLSAgdmVyc2lvbiAiMi4x NC4xIgotICByZXNvbHZlZCAiaHR0cHM6Ly9yZWdpc3RyeS55YXJucGtnLmNvbS9uYW4vLS9uYW4t Mi4xNC4xLnRneiNkN2JlMzRkZmEzMTA1YjkxNDk0YzMxNDcwODkzMTVlZmY4ODc0YjAxIgotICBp bnRlZ3JpdHkgc2hhNTEyLWlzV0hnVmpuRmpoMngyeXVKL3RqM0pid29IdTNVQzJkWDVHLzg4Q20y NHlCNllvcFZneHZCT2JEWTduNXhXNkV4bUZoSnBTRVFxRlB2cTl6YVhjOEp3PT0KKyAgdmVyc2lv biAiMi4xNC4yIgorICByZXNvbHZlZCAiaHR0cHM6Ly9yZWdpc3RyeS55YXJucGtnLmNvbS9uYW4v LS9uYW4tMi4xNC4yLnRneiNmNTM3NjQwMDY5NTE2OGY0Y2M2OTRhYzkzOTNkMGM5NTg1ZWVlYTE5 IgorICBpbnRlZ3JpdHkgc2hhNTEyLU0ydWZ6SWlJTktDdURmQlNBVXIxdldRK3Z1VmNBOWtxeDhK SlVzYlFpNnlmMXVHUnliN0hmcGRmVXI1cUxYZjNCL3Q4ZFB2Y2poS01tbGZuUDQ3RXpRPT0KIAog bmFub21hdGNoQF4xLjIuOToKICAgdmVyc2lvbiAiMS4yLjEzIgpAQCAtNjU4MCwxNSArNjg2NSwx NCBAQCBuYXR1cmFsLWNvbXBhcmVAXjEuNC4wOgogICBpbnRlZ3JpdHkgc2hhMS1TcjYvN3RkVUh5 d25yUHNwdmJ2UlhJMWJwUGM9CiAKIG5lYXJsZXlAXjIuNy4xMDoKLSAgdmVyc2lvbiAiMi4xOS43 IgotICByZXNvbHZlZCAiaHR0cHM6Ly9yZWdpc3RyeS55YXJucGtnLmNvbS9uZWFybGV5Ly0vbmVh cmxleS0yLjE5LjcudGd6I2VhZmJlM2UyZDhjY2ZlNzBhZGFhNWMwMjZhYjFmOTcwOWMxMTYyMTgi Ci0gIGludGVncml0eSBzaGE1MTItWStLTndoQlBjU0pLZXlRQ0ZqbjhCL01JZStERGxoYWFEZ2pW bGRoeTV4dEZld0liaVFnY2JaVjhrMmdDVndrSTFac0tDbmpJWVpiUiswRmltNVFZZ2c9PQorICB2 ZXJzaW9uICIyLjIwLjEiCisgIHJlc29sdmVkICJodHRwczovL3JlZ2lzdHJ5Lnlhcm5wa2cuY29t L25lYXJsZXkvLS9uZWFybGV5LTIuMjAuMS50Z3ojMjQ2Y2QzM2VmZjBkMDEyZmFmMTk3ZmY2Nzc0 ZDdhYzc4YWNkZDQ3NCIKKyAgaW50ZWdyaXR5IHNoYTUxMi0rTWM4VWFBZWJGemdWK0twSTVuN0Rh c3V1UUNIQTg5ZG13bTdKWHczVFY0M3VrZk5ROURuQkgzTWRiMmcvSTRGZHhjMjZwd2ltQld2akl3 MFVBSUxTUT09CiAgIGRlcGVuZGVuY2llczoKICAgICBjb21tYW5kZXIgIl4yLjE5LjAiCiAgICAg bW9vICJeMC41LjAiCiAgICAgcmFpbHJvYWQtZGlhZ3JhbXMgIl4xLjAuMCIKICAgICByYW5kZXhw ICIwLjQuNiIKLSAgICBzZW12ZXIgIl41LjQuMSIKIAogbmVhdGVxdWFsQF4xLjAuMDoKICAgdmVy c2lvbiAiMS4wLjAiCkBAIC02NjQxLDEwICs2OTI1LDEwIEBAIG5vZGUtbGlicy1icm93c2VyQF4y LjIuMToKICAgICB1dGlsICJeMC4xMS4wIgogICAgIHZtLWJyb3dzZXJpZnkgIl4xLjAuMSIKIAot bm9kZS1yZWxlYXNlc0BeMS4xLjYxOgotICB2ZXJzaW9uICIxLjEuNjEiCi0gIHJlc29sdmVkICJo dHRwczovL3JlZ2lzdHJ5Lnlhcm5wa2cuY29tL25vZGUtcmVsZWFzZXMvLS9ub2RlLXJlbGVhc2Vz LTEuMS42MS50Z3ojNzA3YjBmY2E5Y2U0ZTExNzgzNjEyYmE0YTJmY2JhMDkwNDdhZjE2ZSIKLSAg aW50ZWdyaXR5IHNoYTUxMi1ERDV2ZWJRTGc4akxDT3p3dXBuOTU0ZmJJaVpodDA1REFaczBrMnU4 TlN0U2U2aDlYZHN1SVFMOGhTUktZaVU4V1VRUnpubVNEcktHYnYzT2JPbUM3Zz09Citub2RlLXJl bGVhc2VzQF4xLjEuNjc6CisgIHZlcnNpb24gIjEuMS42NyIKKyAgcmVzb2x2ZWQgImh0dHBzOi8v cmVnaXN0cnkueWFybnBrZy5jb20vbm9kZS1yZWxlYXNlcy8tL25vZGUtcmVsZWFzZXMtMS4xLjY3 LnRneiMyOGViZmNjY2QwYmFhNmFhZDhlOGQ0ZDhmZTRjYmM0OWFlMjM5YzEyIgorICBpbnRlZ3Jp dHkgc2hhNTEyLVY1UUY5bm9HRmwzRXltRXdVWXpPKzNOVERwR2ZRQjR2ZTZRZm56ZjNVTnlkTWhq UVJWUFIxRFpUdXZXaUx6YUZKWXcyZm1Ed0FmblJORVZiNjRoU0lnPT0KIAogbm9ybWFsaXplLXBh Y2thZ2UtZGF0YUBeMi4zLjIsIG5vcm1hbGl6ZS1wYWNrYWdlLWRhdGFAXjIuMy40OgogICB2ZXJz aW9uICIyLjUuMCIKQEAgLTY3MDIsMTMgKzY5ODYsMjAgQEAgbnBtLXJ1bi1wYXRoQF4yLjAuMDoK ICAgZGVwZW5kZW5jaWVzOgogICAgIHBhdGgta2V5ICJeMi4wLjAiCiAKLW50aC1jaGVja0BeMS4w LjIsIG50aC1jaGVja0B+MS4wLjE6CitudGgtY2hlY2tAXjEuMC4yOgogICB2ZXJzaW9uICIxLjAu MiIKICAgcmVzb2x2ZWQgImh0dHBzOi8vcmVnaXN0cnkueWFybnBrZy5jb20vbnRoLWNoZWNrLy0v bnRoLWNoZWNrLTEuMC4yLnRneiNiMmJkMjk1YzM3ZTNkZDU4YTNiZjA3MDAzNzY2NjNiYTRkOWNm MDVjIgogICBpbnRlZ3JpdHkgc2hhNTEyLVdlQk9kanU4U256UE41dlRVSll4WVV4TGVYcENhVlA1 aTVlMExGOGZnN1dPUkYyV2Q3d0ZYL3BrMHRZWms3czhUK0o3Vkx5MERhNkoxK3dDVDBBdEhnPT0K ICAgZGVwZW5kZW5jaWVzOgogICAgIGJvb2xiYXNlICJ+MS4wLjAiCiAKK250aC1jaGVja0BeMi4w LjA6CisgIHZlcnNpb24gIjIuMC4wIgorICByZXNvbHZlZCAiaHR0cHM6Ly9yZWdpc3RyeS55YXJu cGtnLmNvbS9udGgtY2hlY2svLS9udGgtY2hlY2stMi4wLjAudGd6IzFiYjRmNmRhYzcwMDcyZmMz MTNlOGM5Y2QxNDE3YjUwNzRjMGExMjUiCisgIGludGVncml0eSBzaGE1MTItaTRzYy9LajhodEJy QWlIMXZpWjBUZ1U4WTVYcUNhVi9GemlZSzZUQmN6eG1lS20zQUVGV3FxRjMxOTV5S3VkcmFycXk3 WnU4MFJhNWRvYkZqbjlYL1E9PQorICBkZXBlbmRlbmNpZXM6CisgICAgYm9vbGJhc2UgIl4xLjAu MCIKKwogbnVsbC1jaGVja0BeMS4wLjA6CiAgIHZlcnNpb24gIjEuMC4wIgogICByZXNvbHZlZCAi aHR0cHM6Ly9yZWdpc3RyeS55YXJucGtnLmNvbS9udWxsLWNoZWNrLy0vbnVsbC1jaGVjay0xLjAu MC50Z3ojOTc3ZGZmZDcxNzYwMTJiOWVjMzBkMmEzOWRiNWNmNzJhMDQzOWVkZCIKQEAgLTY3Mzks MTcgKzcwMzAsMTcgQEAgb2JqZWN0LWNvcHlAXjAuMS4wOgogICAgIGtpbmQtb2YgIl4zLjAuMyIK IAogb2JqZWN0LWluc3BlY3RAXjEuNy4wLCBvYmplY3QtaW5zcGVjdEBeMS44LjA6Ci0gIHZlcnNp b24gIjEuOC4wIgotICByZXNvbHZlZCAiaHR0cHM6Ly9yZWdpc3RyeS55YXJucGtnLmNvbS9vYmpl Y3QtaW5zcGVjdC8tL29iamVjdC1pbnNwZWN0LTEuOC4wLnRneiNkZjgwN2U1ZWNmNTNhNjA5Y2M2 YmZlOTNlYWMzY2M3YmU1YjNhOWQwIgotICBpbnRlZ3JpdHkgc2hhNTEyLWpMZHRFT0IxMTJmT1J1 eXBBeWwvNTBWUlZJQklkVlFPU1VVR1FIeko0eEJTYml0ODF6UmFyejdHVGhrRUZaeTFSY2VZcldZ Y1BjQkZQUXdIeUFjMWdBPT0KKyAgdmVyc2lvbiAiMS45LjAiCisgIHJlc29sdmVkICJodHRwczov L3JlZ2lzdHJ5Lnlhcm5wa2cuY29tL29iamVjdC1pbnNwZWN0Ly0vb2JqZWN0LWluc3BlY3QtMS45 LjAudGd6I2M5MDUyMWQ3NGUxMTI3YjY3MjY2ZGVkMzM5NGFkNjExNjk4NjUzM2EiCisgIGludGVn cml0eSBzaGE1MTItaTNCcDlpVHF3aGFMWkJ4R2tSZm81WmJFMDdCUVJUN01HdTgrbk5nd1c5SXRH cDFUekNUdzJETEVvV3dqQ2x4QmpPRkkvaFdsalRBbVlHQ0V3bXRuT3c9PQogCiBvYmplY3QtaXNA XjEuMC4yLCBvYmplY3QtaXNAXjEuMS4yOgotICB2ZXJzaW9uICIxLjEuMyIKLSAgcmVzb2x2ZWQg Imh0dHBzOi8vcmVnaXN0cnkueWFybnBrZy5jb20vb2JqZWN0LWlzLy0vb2JqZWN0LWlzLTEuMS4z LnRneiMyZTNiOWU2NTU2MDEzNzQ1NWVlM2JkNjJhZWM0ZDkwYTJlYTFjYzgxIgotICBpbnRlZ3Jp dHkgc2hhNTEyLXRleXFMdkZXekxrcTVCOWtpOEZWV0E5MDJVRVIycWt4bWRBNG5MZit3ak9MQVdn eHpDV1pOQ3hwRHE5TXZFOE1taFdOcitJOHczQk40OVZ4MzZZNlhnPT0KKyAgdmVyc2lvbiAiMS4x LjQiCisgIHJlc29sdmVkICJodHRwczovL3JlZ2lzdHJ5Lnlhcm5wa2cuY29tL29iamVjdC1pcy8t L29iamVjdC1pcy0xLjEuNC50Z3ojNjNkNmM4M2MwMGE0M2Y0Y2JjOTQzNGViOTc1N2M4YTViODU2 NTA2OCIKKyAgaW50ZWdyaXR5IHNoYTUxMi0xWnZBWjR3bEY3SXlQVk9jRTFPbWlrdDdVcGFGbE9R cTBIbFN0aStadkRIM1VpRDJicndHTXdEYnlWNDNqYW8yYktKKzQrV2RQSkhTZDdrZ3pLWVZxZz09 CiAgIGRlcGVuZGVuY2llczoKKyAgICBjYWxsLWJpbmQgIl4xLjAuMCIKICAgICBkZWZpbmUtcHJv cGVydGllcyAiXjEuMS4zIgotICAgIGVzLWFic3RyYWN0ICJeMS4xOC4wLW5leHQuMSIKIAogb2Jq ZWN0LWtleXNAXjEuMC4xMiwgb2JqZWN0LWtleXNAXjEuMS4xOgogICB2ZXJzaW9uICIxLjEuMSIK QEAgLTY3NjMsNDIgKzcwNTQsNDQgQEAgb2JqZWN0LXZpc2l0QF4xLjAuMDoKICAgZGVwZW5kZW5j aWVzOgogICAgIGlzb2JqZWN0ICJeMy4wLjAiCiAKLW9iamVjdC5hc3NpZ25AXjQuMS4wLCBvYmpl Y3QuYXNzaWduQF40LjEuMToKLSAgdmVyc2lvbiAiNC4xLjEiCi0gIHJlc29sdmVkICJodHRwczov L3JlZ2lzdHJ5Lnlhcm5wa2cuY29tL29iamVjdC5hc3NpZ24vLS9vYmplY3QuYXNzaWduLTQuMS4x LnRneiMzMDM4NjdhNjY2Y2RkNDE5MzZlY2RlZGZiMWY4ZjNlMzJhNDc4Y2RkIgotICBpbnRlZ3Jp dHkgc2hhNTEyLVZUL2N4bXg1eWFvSFNPVFN5ckN5Z0lERmNvK1JzaWJZMk5NMGE0UmRFZVkvNEtn cWV6d0Z0SzF5cjNVNjd4WWhxSlNsQVNtMnBLaExWelBqMmxyNGJBPT0KK29iamVjdC5hc3NpZ25A XjQuMS4wLCBvYmplY3QuYXNzaWduQF40LjEuMSwgb2JqZWN0LmFzc2lnbkBeNC4xLjI6CisgIHZl cnNpb24gIjQuMS4yIgorICByZXNvbHZlZCAiaHR0cHM6Ly9yZWdpc3RyeS55YXJucGtnLmNvbS9v YmplY3QuYXNzaWduLy0vb2JqZWN0LmFzc2lnbi00LjEuMi50Z3ojMGVkNTRhMzQyZWNlYjM3YjM4 ZmY3NmViODMxYTBlNzg4Y2I2Mzk0MCIKKyAgaW50ZWdyaXR5IHNoYTUxMi1peFQyTDVUSFhzQXB5 aVVQWUttVysyRUhwWFhlNUlpM00rZjRlK2FKRkFIYW81YW1GUlc2SjBPTzZjL0xVOEJlNDd1dEN4 MkdMODloeEdCNlhTbUt1UT09CiAgIGRlcGVuZGVuY2llczoKKyAgICBjYWxsLWJpbmQgIl4xLjAu MCIKICAgICBkZWZpbmUtcHJvcGVydGllcyAiXjEuMS4zIgotICAgIGVzLWFic3RyYWN0ICJeMS4x OC4wLW5leHQuMCIKICAgICBoYXMtc3ltYm9scyAiXjEuMC4xIgogICAgIG9iamVjdC1rZXlzICJe MS4xLjEiCiAKIG9iamVjdC5lbnRyaWVzQF4xLjEuMSwgb2JqZWN0LmVudHJpZXNAXjEuMS4yOgot ICB2ZXJzaW9uICIxLjEuMiIKLSAgcmVzb2x2ZWQgImh0dHBzOi8vcmVnaXN0cnkueWFybnBrZy5j b20vb2JqZWN0LmVudHJpZXMvLS9vYmplY3QuZW50cmllcy0xLjEuMi50Z3ojYmM3M2YwMGFjYjZi NmJiMTZjMjAzNDM0YjEwZjlhN2U3OTdkM2FkZCIKLSAgaW50ZWdyaXR5IHNoYTUxMi1CUWRCOXFL bWIvSHlOZE1OV1ZyN08zK3o1TVVJeDNhaWVnRUlKcWpNQmJCZjBZVDlSUnhUSlNpbTRtekZxdHly N1BEQUhpZ3EwTjlkTzBtMHRSYWtRQT09CisgIHZlcnNpb24gIjEuMS4zIgorICByZXNvbHZlZCAi aHR0cHM6Ly9yZWdpc3RyeS55YXJucGtnLmNvbS9vYmplY3QuZW50cmllcy8tL29iamVjdC5lbnRy aWVzLTEuMS4zLnRneiNjNjAxYzdmMTY4YjYyMzc0NTQxYTA3ZGRiZDNlMmQ1ZTRmNzcxMWE2Igor ICBpbnRlZ3JpdHkgc2hhNTEyLXltN2g3T1plYk5TOTZobjVJSmV5VW1hV2hhU000U1Z0QVBQZk5M UUVJMk1ZV0NPMmVnc0lUYjluYWIyK2kvUHdpYngrUjBtdG4rbHRLSlhSU2VUTUdnPT0KICAgZGVw ZW5kZW5jaWVzOgorICAgIGNhbGwtYmluZCAiXjEuMC4wIgogICAgIGRlZmluZS1wcm9wZXJ0aWVz ICJeMS4xLjMiCi0gICAgZXMtYWJzdHJhY3QgIl4xLjE3LjUiCisgICAgZXMtYWJzdHJhY3QgIl4x LjE4LjAtbmV4dC4xIgogICAgIGhhcyAiXjEuMC4zIgogCi1vYmplY3QuZnJvbWVudHJpZXNAXjIu MC4yOgotICB2ZXJzaW9uICIyLjAuMiIKLSAgcmVzb2x2ZWQgImh0dHBzOi8vcmVnaXN0cnkueWFy bnBrZy5jb20vb2JqZWN0LmZyb21lbnRyaWVzLy0vb2JqZWN0LmZyb21lbnRyaWVzLTIuMC4yLnRn eiM0YTA5YzliOWJiMzg0M2RkMGY4OWFjZGI1MTdhNzk0ZDRmMzU1YWM5IgotICBpbnRlZ3JpdHkg c2hhNTEyLXIzWmlCSDdNUXBwREpWTHg2ZmhENjE4R0tORzQwQ1pZSDl3Z3dkaEt4QkREYlFnamVX R0dkNEF0a1phZDg0ZDI5MVl4dldlN2JKR3VFNjVBbmgwZHhRPT0KK29iamVjdC5mcm9tZW50cmll c0BeMi4wLjIsIG9iamVjdC5mcm9tZW50cmllc0BeMi4wLjM6CisgIHZlcnNpb24gIjIuMC4zIgor ICByZXNvbHZlZCAiaHR0cHM6Ly9yZWdpc3RyeS55YXJucGtnLmNvbS9vYmplY3QuZnJvbWVudHJp ZXMvLS9vYmplY3QuZnJvbWVudHJpZXMtMi4wLjMudGd6IzEzY2VmY2ZmYTcwMmRjNjc3NTAzMTRh MzMwNWU4Y2IzZmFkMWQwNzIiCisgIGludGVncml0eSBzaGE1MTItSURVU01YczZMT1NKQldFKytM MGx6SWJTcUhsOUtEQ2ZmZjJ4L0pTRUlEdEVVYXZVbnlNWUMyWkdheS8wNFpxNFVUOGx2ZDR4TmhV NC9ZSEtpYkFPbHc9PQogICBkZXBlbmRlbmNpZXM6CisgICAgY2FsbC1iaW5kICJeMS4wLjAiCiAg ICAgZGVmaW5lLXByb3BlcnRpZXMgIl4xLjEuMyIKLSAgICBlcy1hYnN0cmFjdCAiXjEuMTcuMC1u ZXh0LjEiCi0gICAgZnVuY3Rpb24tYmluZCAiXjEuMS4xIgorICAgIGVzLWFic3RyYWN0ICJeMS4x OC4wLW5leHQuMSIKICAgICBoYXMgIl4xLjAuMyIKIAogb2JqZWN0LmdldG93bnByb3BlcnR5ZGVz Y3JpcHRvcnNAXjIuMS4wOgotICB2ZXJzaW9uICIyLjEuMCIKLSAgcmVzb2x2ZWQgImh0dHBzOi8v cmVnaXN0cnkueWFybnBrZy5jb20vb2JqZWN0LmdldG93bnByb3BlcnR5ZGVzY3JpcHRvcnMvLS9v YmplY3QuZ2V0b3ducHJvcGVydHlkZXNjcmlwdG9ycy0yLjEuMC50Z3ojMzY5YmYxZjk1OTJkOGFi ODlkNzEyZGNlZDVjYjgxYzdjNTM1MjY0OSIKLSAgaW50ZWdyaXR5IHNoYTUxMi1aNTNPYWg5QTNU ZExvYmxUN1ZLSmFURGRYZFQrbFFPK2NOcEtWbnlhNUpEZTl1THZ6dTFZeVkxeUZERnJjeHJsUmdX ckVGSDBqSnREL0lidXdqY0VWZz09CisgIHZlcnNpb24gIjIuMS4xIgorICByZXNvbHZlZCAiaHR0 cHM6Ly9yZWdpc3RyeS55YXJucGtnLmNvbS9vYmplY3QuZ2V0b3ducHJvcGVydHlkZXNjcmlwdG9y cy8tL29iamVjdC5nZXRvd25wcm9wZXJ0eWRlc2NyaXB0b3JzLTIuMS4xLnRneiMwZGZkYThkMTA4 MDc0ZDljNTYzZTgwNDkwYzg4M2I2NjYxMDkxNTQ0IgorICBpbnRlZ3JpdHkgc2hhNTEyLTZEdFhn Wi9sSVo5aHF4NEd0WkVUb2JYTFIvWkxhYTBhcVYwa3pibjgwUmY4WjJlL1hGbmhBMEk3cDA3TjJ3 SDhiQkJsdHIyeFFQaTZzYktXQVkyRW5nPT0KICAgZGVwZW5kZW5jaWVzOgorICAgIGNhbGwtYmlu ZCAiXjEuMC4wIgogICAgIGRlZmluZS1wcm9wZXJ0aWVzICJeMS4xLjMiCi0gICAgZXMtYWJzdHJh Y3QgIl4xLjE3LjAtbmV4dC4xIgorICAgIGVzLWFic3RyYWN0ICJeMS4xOC4wLW5leHQuMSIKIAog b2JqZWN0LnBpY2tAXjEuMy4wOgogICB2ZXJzaW9uICIxLjMuMCIKQEAgLTY4MDgsMTMgKzcxMDEs MTMgQEAgb2JqZWN0LnBpY2tAXjEuMy4wOgogICAgIGlzb2JqZWN0ICJeMy4wLjEiCiAKIG9iamVj dC52YWx1ZXNAXjEuMS4wLCBvYmplY3QudmFsdWVzQF4xLjEuMToKLSAgdmVyc2lvbiAiMS4xLjEi Ci0gIHJlc29sdmVkICJodHRwczovL3JlZ2lzdHJ5Lnlhcm5wa2cuY29tL29iamVjdC52YWx1ZXMv LS9vYmplY3QudmFsdWVzLTEuMS4xLnRneiM2OGE5OWVjZGUzNTZiN2U5Mjk1YTNjNWUwY2UzMWRj OGM5NTNkZTVlIgotICBpbnRlZ3JpdHkgc2hhNTEyLVdUYTU0ZzJLOGl1MGttUy91czE4akVtZHYx YTRXaS8vQlovRFRWWUVjSDBYaExNNU5ZZHBESGphM2d0NTdWclpMY05BTzJXR0ErS3BXc0RCYUh0 NmVBPT0KKyAgdmVyc2lvbiAiMS4xLjIiCisgIHJlc29sdmVkICJodHRwczovL3JlZ2lzdHJ5Lnlh cm5wa2cuY29tL29iamVjdC52YWx1ZXMvLS9vYmplY3QudmFsdWVzLTEuMS4yLnRneiM3YTIwMTVl MDZmY2IwZjU0NmJkNjUyNDg2Y2U4NTgzYTQ3MzFjNzMxIgorICBpbnRlZ3JpdHkgc2hhNTEyLU1Z QzBqdkpvcHI4RUs2ZFBCaU84TmI5bXZqZHlwT2FjaE81UkVHazZNWHp1amJCckFpc0tvM0htZEVJ NmtaREw2ZkMzMU13ZWUvNVlidE1lYml4ZWFnPT0KICAgZGVwZW5kZW5jaWVzOgorICAgIGNhbGwt YmluZCAiXjEuMC4wIgogICAgIGRlZmluZS1wcm9wZXJ0aWVzICJeMS4xLjMiCi0gICAgZXMtYWJz dHJhY3QgIl4xLjE3LjAtbmV4dC4xIgotICAgIGZ1bmN0aW9uLWJpbmQgIl4xLjEuMSIKKyAgICBl cy1hYnN0cmFjdCAiXjEuMTguMC1uZXh0LjEiCiAgICAgaGFzICJeMS4wLjMiCiAKIG9uLWZpbmlz aGVkQH4yLjMuMDoKQEAgLTcwNjEsMTcgKzczNTQsMzIgQEAgcGFyc2UtanNvbkBeNC4wLjA6CiAg ICAgZXJyb3ItZXggIl4xLjMuMSIKICAgICBqc29uLXBhcnNlLWJldHRlci1lcnJvcnMgIl4xLjAu MSIKIAorcGFyc2UtanNvbkBeNS4wLjA6CisgIHZlcnNpb24gIjUuMS4wIgorICByZXNvbHZlZCAi aHR0cHM6Ly9yZWdpc3RyeS55YXJucGtnLmNvbS9wYXJzZS1qc29uLy0vcGFyc2UtanNvbi01LjEu MC50Z3ojZjk2MDg4Y2RmMjRhOGZhYTlhZWE5YTAwOWYyZDlkOTQyYzk5OTY0NiIKKyAgaW50ZWdy aXR5IHNoYTUxMi0rbWkvbG1WVk5LRk5WeUxYVjMxRVJpeTJDWTVFMS9GNlF0SkZFem9DaFBSd3du Z01OWFJEUTlHSjVXZEUyWjJQNEF1anNPaTAvKzJxSElENjhLd2ZJUT09CisgIGRlcGVuZGVuY2ll czoKKyAgICAiQGJhYmVsL2NvZGUtZnJhbWUiICJeNy4wLjAiCisgICAgZXJyb3ItZXggIl4xLjMu MSIKKyAgICBqc29uLXBhcnNlLWV2ZW4tYmV0dGVyLWVycm9ycyAiXjIuMy4wIgorICAgIGxpbmVz LWFuZC1jb2x1bW5zICJeMS4xLjYiCisKIHBhcnNlLXBhc3N3ZEBeMS4wLjA6CiAgIHZlcnNpb24g IjEuMC4wIgogICByZXNvbHZlZCAiaHR0cHM6Ly9yZWdpc3RyeS55YXJucGtnLmNvbS9wYXJzZS1w YXNzd2QvLS9wYXJzZS1wYXNzd2QtMS4wLjAudGd6IzZkNWI5MzRhNDU2OTkzYjIzZDM3ZjQwYTM4 MmQ2ZjE2NjZhOGU1YzYiCiAgIGludGVncml0eSBzaGExLWJWdVRTa1ZwazdJOU4vUUtPQzF2Rm1h bzVjWT0KIAotcGFyc2U1QF4zLjAuMToKLSAgdmVyc2lvbiAiMy4wLjMiCi0gIHJlc29sdmVkICJo dHRwczovL3JlZ2lzdHJ5Lnlhcm5wa2cuY29tL3BhcnNlNS8tL3BhcnNlNS0zLjAuMy50Z3ojMDQy Zjc5MmZmZGQzNjg1MTU1MWNmNGU5ZTA2NmIzODc0YWI0NWI1YyIKLSAgaW50ZWdyaXR5IHNoYTUx Mi1yZ085Wmc1TExMa2ZKRjlFNkNDbVhsU0U0VVZjZWxveXM4SnJGcUNjSGxvQzN1c2Qva0pDeVBE d0gyU09seml4MmozeGFQOXNVWDNlOCtrdmt1bGVBQT09CitwYXJzZTUtaHRtbHBhcnNlcjItdHJl ZS1hZGFwdGVyQF42LjAuMDoKKyAgdmVyc2lvbiAiNi4wLjEiCisgIHJlc29sdmVkICJodHRwczov L3JlZ2lzdHJ5Lnlhcm5wa2cuY29tL3BhcnNlNS1odG1scGFyc2VyMi10cmVlLWFkYXB0ZXIvLS9w YXJzZTUtaHRtbHBhcnNlcjItdHJlZS1hZGFwdGVyLTYuMC4xLnRneiMyY2RmOWFkODIzMzIxMTQw MzcwZDRkYmY1ZDNlOTJjN2M4ZGRjNmU2IgorICBpbnRlZ3JpdHkgc2hhNTEyLXFQdVd2YkxndkRH aWxLYzVCb2ljUm92bFQ0TXRZVDZKZkp5Qk9NRHNLb2lUK0dpdVA1cXlyUENuUjlIY1BFQ0lKSm1a aDVqUm5keU5UaG5oaGIvdmxBPT0KICAgZGVwZW5kZW5jaWVzOgotICAgICJAdHlwZXMvbm9kZSIg IioiCisgICAgcGFyc2U1ICJeNi4wLjEiCisKK3BhcnNlNUBeNi4wLjAsIHBhcnNlNUBeNi4wLjE6 CisgIHZlcnNpb24gIjYuMC4xIgorICByZXNvbHZlZCAiaHR0cHM6Ly9yZWdpc3RyeS55YXJucGtn LmNvbS9wYXJzZTUvLS9wYXJzZTUtNi4wLjEudGd6I2UxYTFjMDg1YzU2OWIzZGMwODMyMTE4NGYx OWEzOWNjMjdmN2MzMGIiCisgIGludGVncml0eSBzaGE1MTItT2ZuL0NURnpSR1RUeHdwTkVzOVBQ OTNnWFNoSGNUcTI1NW56UllTS2U4QWtWcFpZN2UxZnBtVGZPeW9JdmpQNUhHN1oyWk03VlM5UFBo UUdXMnBPcHc9PQogCiBwYXJzZXFzQDAuMC41OgogICB2ZXJzaW9uICIwLjAuNSIKQEAgLTcxNzAs NiArNzQ3OCwyMyBAQCBwYXRoLXR5cGVAXjMuMC4wOgogICBkZXBlbmRlbmNpZXM6CiAgICAgcGlm eSAiXjMuMC4wIgogCitwYXRoLXR5cGVAXjQuMC4wOgorICB2ZXJzaW9uICI0LjAuMCIKKyAgcmVz b2x2ZWQgImh0dHBzOi8vcmVnaXN0cnkueWFybnBrZy5jb20vcGF0aC10eXBlLy0vcGF0aC10eXBl LTQuMC4wLnRneiM4NGVkMDFjMGE3YmEzODBhZmUwOWQ5MGE4YzE4MGRjZDlkMDMwNDNiIgorICBp bnRlZ3JpdHkgc2hhNTEyLWdES2I4YVpNRGVEL3RaV3M5UDYrcTBKOU13a2RsNnhNVjhUam5HUDNx SlZKMDZiZE1na2JCbExVOElkZk9zSXNGejJCVzFyTlZUM1h1TkVsOHpQQXZ3PT0KKworcGF0aGZp bmRpbmdAXjAuNC4xODoKKyAgdmVyc2lvbiAiMC40LjE4IgorICByZXNvbHZlZCAiaHR0cHM6Ly9y ZWdpc3RyeS55YXJucGtnLmNvbS9wYXRoZmluZGluZy8tL3BhdGhmaW5kaW5nLTAuNC4xOC50Z3oj YTk5OTBmNmZhMjJiN2VmMTk2ZTU2NTFiMDQ5MTY1NDAzYTA0NWZlOCIKKyAgaW50ZWdyaXR5IHNo YTEtcVprUGI2SXJmdkdXNVdVYkJKRmxRRG9FWCtnPQorICBkZXBlbmRlbmNpZXM6CisgICAgaGVh cCAiMC4yLjUiCisKK3BhdGhzLWpzQF4wLjQuOToKKyAgdmVyc2lvbiAiMC40LjExIgorICByZXNv bHZlZCAiaHR0cHM6Ly9yZWdpc3RyeS55YXJucGtnLmNvbS9wYXRocy1qcy8tL3BhdGhzLWpzLTAu NC4xMS50Z3ojYjJhOWQ1Zjk0ZWU5OTQ5YWE4ZmVlOTQ1Zjc4YTEyYWJmZjQ0NTk5ZSIKKyAgaW50 ZWdyaXR5IHNoYTUxMi0zbXFjTG9tREJYT283Rm8rVWxhZW5HNmY3MWJrMVplelBReTJKQ21ZSHky VzJrNVZLcFArSmJpbjlIMGJqWHluZWxUYmdsQ3FkRmhTRWtlSWtLVFlVQT09CisKIHBia2RmMkBe My4wLjM6CiAgIHZlcnNpb24gIjMuMS4xIgogICByZXNvbHZlZCAiaHR0cHM6Ly9yZWdpc3RyeS55 YXJucGtnLmNvbS9wYmtkZjIvLS9wYmtkZjItMy4xLjEudGd6I2NiODcyNGIwZmFkYTk4NDU5Njg1 NmQxYTZlYmFmZDM1ODQ2NTRiOTQiCkBAIC03MjQ3LDcgKzc1NzIsNyBAQCBwbmdxdWFudC1iaW5A XjUuMC4wOgogICAgIGV4ZWNhICJeMC4xMC4wIgogICAgIGxvZ2Fsb3QgIl4yLjAuMCIKIAotcG9w cGVyLmpzQF4xLjE0LjMsIHBvcHBlci5qc0BeMS4xNC43OgorcG9wcGVyLmpzQF4xLjE0LjcsIHBv cHBlci5qc0BeMS4xNi4xOgogICB2ZXJzaW9uICIxLjE2LjEiCiAgIHJlc29sdmVkICJodHRwczov L3JlZ2lzdHJ5Lnlhcm5wa2cuY29tL3BvcHBlci5qcy8tL3BvcHBlci5qcy0xLjE2LjEudGd6IzJh MjIzY2IzZGM3YjYyMTNkNzQwZTQwMzcyYmU0MGRlNDNlNjViMWIiCiAgIGludGVncml0eSBzaGE1 MTItV2I0cDFKNHp5RlRiTSt1Nld1TzRYc3RZeDRLeTlDZXdlNERXcmVsN0IwdzZWVklDdlB3ZE9w b3RqemNmNmVEOFRzY2tWbklNTk9OUXlQSVVGT1ViQ1E9PQpAQCAtNzYyMSwxMSArNzk0Niw2IEBA IHByZXBlbmQtaHR0cEBeMi4wLjA6CiAgIHJlc29sdmVkICJodHRwczovL3JlZ2lzdHJ5Lnlhcm5w a2cuY29tL3ByZXBlbmQtaHR0cC8tL3ByZXBlbmQtaHR0cC0yLjAuMC50Z3ojZTkyNDM0YmZhNWVh OGMxOWY0MWNkZmQ0MDFkNzQxYTNjODE5ZDg5NyIKICAgaW50ZWdyaXR5IHNoYTEtNlNRMHY2WHFq Qm4wSE4vVUFkZEJvOGdaMkpjPQogCi1wcml2YXRlQF4wLjEuNjoKLSAgdmVyc2lvbiAiMC4xLjgi Ci0gIHJlc29sdmVkICJodHRwczovL3JlZ2lzdHJ5Lnlhcm5wa2cuY29tL3ByaXZhdGUvLS9wcml2 YXRlLTAuMS44LnRneiMyMzgxZWRiMzY4OWY3YTUzZDY1MzE5MDA2MGZjZjgyMmQyZjM2OGZmIgot ICBpbnRlZ3JpdHkgc2hhNTEyLVZ2aXZNcmJ2ZDJuS2tpRzM4cWpVTHpsYys0Vng0d20vd2hJOXBR RDM1WXJBUk5uaHhlaVJrdFNPaFN1a1JMRk5semc2QnIvY0pQZXQ1Si91MTlyL21nPT0KLQogcHJv Y2Vzcy1uZXh0aWNrLWFyZ3NAfjIuMC4wOgogICB2ZXJzaW9uICIyLjAuMSIKICAgcmVzb2x2ZWQg Imh0dHBzOi8vcmVnaXN0cnkueWFybnBrZy5jb20vcHJvY2Vzcy1uZXh0aWNrLWFyZ3MvLS9wcm9j ZXNzLW5leHRpY2stYXJncy0yLjAuMS50Z3ojNzgyMGQ5YjE2MTIwY2M1NWNhOWFlNzc5MjY4MGFl N2RiYTZkN2ZlMiIKQEAgLTc4MjMsMTggKzgxNDMsMTggQEAgcmF3LWJvZHlAMi40LjA6CiAgICAg aWNvbnYtbGl0ZSAiMC40LjI0IgogICAgIHVucGlwZSAiMS4wLjAiCiAKLXJhdy1sb2FkZXJAXjEu MC4wOgotICB2ZXJzaW9uICIxLjAuMCIKLSAgcmVzb2x2ZWQgImh0dHBzOi8vcmVnaXN0cnkueWFy bnBrZy5jb20vcmF3LWxvYWRlci8tL3Jhdy1sb2FkZXItMS4wLjAudGd6IzNmOTg4OWU3M2RhZGJk YTlhNDI0YmNlNzk4MDliNDEzM2FkNDY0MDUiCi0gIGludGVncml0eSBzaGE1MTItVXF5NUFxRUxw eXRKVFJ4WVQ0ZmhsdGNLUGowVHlhRXB6SkRjR3o3REZKaStwUU9PaTNHalIvRE9keFRrVHNGK056 aG5sZElvRzZUT1JhQmxJblV1cUE9PQorcmF3LWxvYWRlckBeMy4xLjA6CisgIHZlcnNpb24gIjMu MS4wIgorICByZXNvbHZlZCAiaHR0cHM6Ly9yZWdpc3RyeS55YXJucGtnLmNvbS9yYXctbG9hZGVy Ly0vcmF3LWxvYWRlci0zLjEuMC50Z3ojNWU5ZDM5OWE1YTIyMmNjMGRlMThmNDJjM2JjNWU0OTY3 NzUzMmIzZiIKKyAgaW50ZWdyaXR5IHNoYTUxMi1selVWTXVKMDZIRjRyWXZlYXo5VHYwV1JsVU14 SjBZMWhnU2trZ2crNTBpRWRhSTBUdGh5RURlMDhLSUhiMFhzRjZybjhXWVRxUENhR1RaZzNzWCtx QT09CiAgIGRlcGVuZGVuY2llczoKICAgICBsb2FkZXItdXRpbHMgIl4xLjEuMCIKLSAgICBzY2hl bWEtdXRpbHMgIl4xLjAuMCIKKyAgICBzY2hlbWEtdXRpbHMgIl4yLjAuMSIKIAogcmVhY3QtZG9t QF4xNi4xMy4xOgotICB2ZXJzaW9uICIxNi4xMy4xIgotICByZXNvbHZlZCAiaHR0cHM6Ly9yZWdp c3RyeS55YXJucGtnLmNvbS9yZWFjdC1kb20vLS9yZWFjdC1kb20tMTYuMTMuMS50Z3ojYzFiZDM3 MzMxYTA0ODZjMDc4ZWU1NGM0NzQwNzIwOTkzYjJlMGU3ZiIKLSAgaW50ZWdyaXR5IHNoYTUxMi04 MVBJTW1WTG5DTkxPL2ZGT1F4ZFFrdkVxLytIZnB2MjRYTkpmcHlaaFRSZk8wUWNtUUlGL1BnQ2Ex ekNPajJ3MWhybjEyTUZMeWFKL0cwK014dGZhZz09CisgIHZlcnNpb24gIjE2LjE0LjAiCisgIHJl c29sdmVkICJodHRwczovL3JlZ2lzdHJ5Lnlhcm5wa2cuY29tL3JlYWN0LWRvbS8tL3JlYWN0LWRv bS0xNi4xNC4wLnRneiM3YWQ4MzhlYzI5YTc3N2ZiM2M3NWMzYTE5MGY2NjFjZjkyYWI4Yjg5Igor ICBpbnRlZ3JpdHkgc2hhNTEyLTFnQ2VRWERMb0lxTWdxRDNJTzJBaDlibmYwdzlremh3TjVxNEZH bkhaNjdoQm05eWVQekI1SkpBSVFDYzh4M3BGbk5sd0ZxNFJpZFpnZ05BQWt6V1d3PT0KICAgZGVw ZW5kZW5jaWVzOgogICAgIGxvb3NlLWVudmlmeSAiXjEuMS4wIgogICAgIG9iamVjdC1hc3NpZ24g Il40LjEuMSIKQEAgLTc4NDcsMTkgKzgxNjcsMjYgQEAgcmVhY3QtaXNAXjE2LjEzLjEsIHJlYWN0 LWlzQF4xNi44LjEsIHJlYWN0LWlzQF4xNi44LjY6CiAgIGludGVncml0eSBzaGE1MTItMjRlNnlu RTJIK09LdDRrcXNPdk5kOGtCcFY2NXpveGJBNEJWc0VPQjNBUlZXUWtpL0RIemFVb0M1S3VPTi9C aWNjRGFDQ1RaQnVPY2Zaczcwa1I4YlE9PQogCiByZWFjdC10ZXN0LXJlbmRlcmVyQF4xNi4wLjAt MDoKLSAgdmVyc2lvbiAiMTYuMTMuMSIKLSAgcmVzb2x2ZWQgImh0dHBzOi8vcmVnaXN0cnkueWFy bnBrZy5jb20vcmVhY3QtdGVzdC1yZW5kZXJlci8tL3JlYWN0LXRlc3QtcmVuZGVyZXItMTYuMTMu MS50Z3ojZGUyNWVhMzU4ZDkwMTI2MDZkZTUxZTAxMmQ5NzQyZTdmMGRlYWJjMSIKLSAgaW50ZWdy aXR5IHNoYTUxMi1TbjJWUnlPSzJZSkpsZE9xb2g4VG4vbFdRK1ppS2h5WlRQdGFPMFE2eU5qK1FE Ym1Sa1ZGYXA2cFpQeTNZUWs4RFNjUkRmeXFtL0t4S1lQOWdDTVJpUT09CisgIHZlcnNpb24gIjE2 LjE0LjAiCisgIHJlc29sdmVkICJodHRwczovL3JlZ2lzdHJ5Lnlhcm5wa2cuY29tL3JlYWN0LXRl c3QtcmVuZGVyZXIvLS9yZWFjdC10ZXN0LXJlbmRlcmVyLTE2LjE0LjAudGd6I2U5ODM2MDA4NzM0 OGUyNjBjNTZkNGZlMjMxNWU5NzA0ODBjMjI4YWUiCisgIGludGVncml0eSBzaGE1MTItTDh5UGpx UEU1Q1pPNnJLc0tYUk8vclZQaWFDT3kwdFFRSmJDK1VqUE5sb2JsNW1hZDU5bHZQandGc1FIVHZM MDNjYVZESVZyOXg5L09TZ0RlNkk1RWc9PQogICBkZXBlbmRlbmNpZXM6CiAgICAgb2JqZWN0LWFz c2lnbiAiXjQuMS4xIgogICAgIHByb3AtdHlwZXMgIl4xNS42LjIiCiAgICAgcmVhY3QtaXMgIl4x Ni44LjYiCiAgICAgc2NoZWR1bGVyICJeMC4xOS4xIgogCityZWFjdC10by1wcmludEBeMi4xMC4z OgorICB2ZXJzaW9uICIyLjEyLjEiCisgIHJlc29sdmVkICJodHRwczovL3JlZ2lzdHJ5Lnlhcm5w a2cuY29tL3JlYWN0LXRvLXByaW50Ly0vcmVhY3QtdG8tcHJpbnQtMi4xMi4xLnRneiMxMjBmMzEx NmZlZjU1YTE0MWY1NTM1NDgzODg2MjRiOTc2NTk2ODM1IgorICBpbnRlZ3JpdHkgc2hhNTEyLSt6 R05VWVFLYWFlN1dwMEpMMkpjb1dNMGxEZDVjc2FzUm1UcVJabEpMT2o2RjRzUm1Kc1Q3WlBnSDBT TDZaUTdnV3owaHdnbGhMbExveUY4NWxHZ0h3PT0KKyAgZGVwZW5kZW5jaWVzOgorICAgIHByb3At dHlwZXMgIl4xNS43LjIiCisKIHJlYWN0QF4xNi4xMy4xOgotICB2ZXJzaW9uICIxNi4xMy4xIgot ICByZXNvbHZlZCAiaHR0cHM6Ly9yZWdpc3RyeS55YXJucGtnLmNvbS9yZWFjdC8tL3JlYWN0LTE2 LjEzLjEudGd6IzJlODE4ODIyZjFhOTc0MzEyMmMwNjNkNjQxMGQ4NWMxZTNhZmU0OGUiCi0gIGlu dGVncml0eSBzaGE1MTItWU1aUVFxMzJ4SExYMGJ6NU1uaWJ2MS9MSGIzU3F6bmd1N3hzdFNNK3Zy a0U1S3pyOXhFMHlNQnlLNWtNb1RLMzBZVkpFNjFXZmJ4SUZGdmZlREtUMXc9PQorICB2ZXJzaW9u ICIxNi4xNC4wIgorICByZXNvbHZlZCAiaHR0cHM6Ly9yZWdpc3RyeS55YXJucGtnLmNvbS9yZWFj dC8tL3JlYWN0LTE2LjE0LjAudGd6Izk0ZDc3NmRkZDBhYWEzN2RhM2VkYThmYzViNmIxOGE0Yzlh MzExNGQiCisgIGludGVncml0eSBzaGE1MTItMFgyQ0ltRGtKR0FwaUFsY2YwT0RLSW5lU3dCUGhx SmF3T2E1d0N0S2J1N1pFQ3JtUzI2TnZ0U0lMeW5RNjZjZ2tUL1JKNExpZEpPYzNiVUVTd21VOGc9 PQogICBkZXBlbmRlbmNpZXM6CiAgICAgbG9vc2UtZW52aWZ5ICJeMS4xLjAiCiAgICAgb2JqZWN0 LWFzc2lnbiAiXjQuMS4xIgpAQCAtNzkxMiw3ICs4MjM5LDcgQEAgcmVhZGFibGUtc3RyZWFtQF4x LjAuMzM6CiAgICAgaXNhcnJheSAiMC4wLjEiCiAgICAgc3RyaW5nX2RlY29kZXIgIn4wLjEwLngi CiAKLXJlYWRhYmxlLXN0cmVhbUBeMy4xLjEsIHJlYWRhYmxlLXN0cmVhbUBeMy42LjA6CityZWFk YWJsZS1zdHJlYW1AXjMuNi4wOgogICB2ZXJzaW9uICIzLjYuMCIKICAgcmVzb2x2ZWQgImh0dHBz Oi8vcmVnaXN0cnkueWFybnBrZy5jb20vcmVhZGFibGUtc3RyZWFtLy0vcmVhZGFibGUtc3RyZWFt LTMuNi4wLnRneiMzMzdiYmRhM2FkYzA3MDZiZDNlMDI0NDI2YTI4NmQ0YjRiMmM5MTk4IgogICBp bnRlZ3JpdHkgc2hhNTEyLUJWaUh5N0xLZVR6NG9ObmtjTEorbFZTTDZ2cGlGZVg2L2Qzb1NIOHpD VzdVeFAyb25jaGsrdlRHQjE0M3h1RmpIUzNkZVRna0tvWFh5bVhxeW1pSWRBPT0KQEAgLTc5MzAs MTAgKzgyNTcsMTAgQEAgcmVhZGRpcnBAXjIuMi4xOgogICAgIG1pY3JvbWF0Y2ggIl4zLjEuMTAi CiAgICAgcmVhZGFibGUtc3RyZWFtICJeMi4wLjIiCiAKLXJlYWRkaXJwQH4zLjQuMDoKLSAgdmVy c2lvbiAiMy40LjAiCi0gIHJlc29sdmVkICJodHRwczovL3JlZ2lzdHJ5Lnlhcm5wa2cuY29tL3Jl YWRkaXJwLy0vcmVhZGRpcnAtMy40LjAudGd6IzlmZGNjZGY5ZTkxNTU4MDU0NDkyMjFhYzY0NWU4 MzAzYWI1YjlhZGEiCi0gIGludGVncml0eSBzaGE1MTItMHhlMDAxdlpCbkpFSyt1S2NqOHFPaHlB S1B6SVQrZ1N0eFdyM0xDQjBEd2NYUjVOWkozSWFDK3lHbkhDWXpCL1M3b3YzbTNFRWJaSTJ6ZU52 WCtoR1E9PQorcmVhZGRpcnBAfjMuNS4wOgorICB2ZXJzaW9uICIzLjUuMCIKKyAgcmVzb2x2ZWQg Imh0dHBzOi8vcmVnaXN0cnkueWFybnBrZy5jb20vcmVhZGRpcnAvLS9yZWFkZGlycC0zLjUuMC50 Z3ojOWJhNzRjMDE5YjE1ZDM2NTI3OGQyZTkxYmI4YzQ4ZDdiNGQ0MmM5ZSIKKyAgaW50ZWdyaXR5 IHNoYTUxMi1jTWh1N2MvOHJkaGtIWFdzWStvc0JoZlN5MEppa3dwSEsvNStpbW8rTHBlYXNURjhv dUVySHJsWWt3VDArK25qaXl1RHZjN09GWTVUM3Vrdlo4cW1GUT09CiAgIGRlcGVuZGVuY2llczoK ICAgICBwaWNvbWF0Y2ggIl4yLjIuMSIKIApAQCAtNzk1NywxMCArODI4NCwxMCBAQCByZWdlbmVy YXRlLXVuaWNvZGUtcHJvcGVydGllc0BeOC4yLjA6CiAgIGRlcGVuZGVuY2llczoKICAgICByZWdl bmVyYXRlICJeMS40LjAiCiAKLXJlZ2VuZXJhdGVAXjEuMi4xLCByZWdlbmVyYXRlQF4xLjQuMDoK LSAgdmVyc2lvbiAiMS40LjEiCi0gIHJlc29sdmVkICJodHRwczovL3JlZ2lzdHJ5Lnlhcm5wa2cu Y29tL3JlZ2VuZXJhdGUvLS9yZWdlbmVyYXRlLTEuNC4xLnRneiNjYWQ5MmFkOGU2YjU5MTc3MzQ4 NWZiZTA1YTQ4NWNhZjRmNDU3ZTZmIgotICBpbnRlZ3JpdHkgc2hhNTEyLWoyK0M4K050WFFnRUtX azQ5TU1QNVAvdTJHaG5haFR0VmtSSUhyNVI1bFZSbGJLdm1RK29TK0E1YUxLV3AybWE1VmtUOHNo NnYrdjRoYkgwWUhSNjZBPT0KK3JlZ2VuZXJhdGVAXjEuNC4wOgorICB2ZXJzaW9uICIxLjQuMiIK KyAgcmVzb2x2ZWQgImh0dHBzOi8vcmVnaXN0cnkueWFybnBrZy5jb20vcmVnZW5lcmF0ZS8tL3Jl Z2VuZXJhdGUtMS40LjIudGd6I2I5MzQ2ZDg4MjdlOGY1YTMyZjdiYTI5NjM3ZDM5OGI2OTAxNDg0 OGEiCisgIGludGVncml0eSBzaGE1MTItenJjZVIvWGhHWVUvZC9vcHIyRUtPN2FSSFVlaUJJOHFq dGZIcUFEVHdaZDZTemZ5MTZsYTZrcUQwTUlVczV6NWh4NkFhS2ErUGl4cFByUjI4OStJMEE9PQog CiByZWdlbmVyYXRvci1ydW50aW1lQF4wLjExLjA6CiAgIHZlcnNpb24gIjAuMTEuMSIKQEAgLTc5 NzIsMTUgKzgyOTksNiBAQCByZWdlbmVyYXRvci1ydW50aW1lQF4wLjEzLjQ6CiAgIHJlc29sdmVk ICJodHRwczovL3JlZ2lzdHJ5Lnlhcm5wa2cuY29tL3JlZ2VuZXJhdG9yLXJ1bnRpbWUvLS9yZWdl bmVyYXRvci1ydW50aW1lLTAuMTMuNy50Z3ojY2FjMmRhY2M4YTFlYTY3NWZlYWFiYWViOGFlODMz ODk4YWU0NmY1NSIKICAgaW50ZWdyaXR5IHNoYTUxMi1hNTRGeG9KRElyMjdwZ2Y3SWdlUUd4bXFV TllyY1YzMzhsZi82Z0g0NTZIWi9QaFgrNUJjd0hYRzlhakVTbXdlNldSTzB0QXpSVXJSbU5PTldn a3Jldz09CiAKLXJlZ2VuZXJhdG9yLXRyYW5zZm9ybUBeMC4xMC4wOgotICB2ZXJzaW9uICIwLjEw LjEiCi0gIHJlc29sdmVkICJodHRwczovL3JlZ2lzdHJ5Lnlhcm5wa2cuY29tL3JlZ2VuZXJhdG9y LXRyYW5zZm9ybS8tL3JlZ2VuZXJhdG9yLXRyYW5zZm9ybS0wLjEwLjEudGd6IzFlNDk5NjgzNzIz MWRhOGI3ZjNjZjQxMTRkNzFiNTY5MWEwNjgwZGQiCi0gIGludGVncml0eSBzaGE1MTItUEplcGJ2 RGJ1SzF4Z0lnbmF1N1k5MGN3YUFtTy9MQ0xNSTJtUHZhWHEyaGVHTVIzYVdXNS9CUXZZcmhKOGpn bVFqWGV3WHZCanpmcUtjVk9taGpaNlE9PQotICBkZXBlbmRlbmNpZXM6Ci0gICAgYmFiZWwtcnVu dGltZSAiXjYuMTguMCIKLSAgICBiYWJlbC10eXBlcyAiXjYuMTkuMCIKLSAgICBwcml2YXRlICJe MC4xLjYiCi0KIHJlZ2VuZXJhdG9yLXRyYW5zZm9ybUBeMC4xNC4yOgogICB2ZXJzaW9uICIwLjE0 LjUiCiAgIHJlc29sdmVkICJodHRwczovL3JlZ2lzdHJ5Lnlhcm5wa2cuY29tL3JlZ2VuZXJhdG9y LXRyYW5zZm9ybS8tL3JlZ2VuZXJhdG9yLXRyYW5zZm9ybS0wLjE0LjUudGd6I2M5OGRhMTU0Njgz NjcxYzljNGRjYjE2ZWNlNzM2NTE3ZTFiN2ZlYjQiCkBAIC04MDA5LDE2ICs4MzI3LDcgQEAgcmVn ZXhwcEBeMi4wLjE6CiAgIHJlc29sdmVkICJodHRwczovL3JlZ2lzdHJ5Lnlhcm5wa2cuY29tL3Jl Z2V4cHAvLS9yZWdleHBwLTIuMC4xLnRneiM4ZDE5ZDMxY2Y2MzI0ODJiNTg5MDQ5ZjgyODFmOTNk YmNiYTRkMDdmIgogICBpbnRlZ3JpdHkgc2hhNTEyLWx2ME02K1RrRFZuaUEzYUQxRWcwRFZwZlUv Ym9vU3U3RWV2M1RETy9tWktIQmZWamdDR1RWNHQ0YnVwcEVTRVlEdGtBcllGT3hUSld2NlM1Qytp YU53PT0KIAotcmVnZXhwdS1jb3JlQF4yLjAuMDoKLSAgdmVyc2lvbiAiMi4wLjAiCi0gIHJlc29s dmVkICJodHRwczovL3JlZ2lzdHJ5Lnlhcm5wa2cuY29tL3JlZ2V4cHUtY29yZS8tL3JlZ2V4cHUt Y29yZS0yLjAuMC50Z3ojNDlkMDM4ODM3YjhkY2Y4YmZhNWI5YTQyMTM5OTM4ZTZlYTJhZTI0MCIK LSAgaW50ZWdyaXR5IHNoYTEtU2RBNGczdU56NHY2VzVwQ0U1azQ1dW9xNGtBPQotICBkZXBlbmRl bmNpZXM6Ci0gICAgcmVnZW5lcmF0ZSAiXjEuMi4xIgotICAgIHJlZ2pzZ2VuICJeMC4yLjAiCi0g ICAgcmVnanNwYXJzZXIgIl4wLjEuNCIKLQotcmVnZXhwdS1jb3JlQF40LjcuMDoKK3JlZ2V4cHUt Y29yZUBeNC43LjE6CiAgIHZlcnNpb24gIjQuNy4xIgogICByZXNvbHZlZCAiaHR0cHM6Ly9yZWdp c3RyeS55YXJucGtnLmNvbS9yZWdleHB1LWNvcmUvLS9yZWdleHB1LWNvcmUtNC43LjEudGd6IzJk ZWE1YTlhMDcyMzMyOThmYmYwZGI5MWZhOWFiYzRjNmUwZjhhZDYiCiAgIGludGVncml0eSBzaGE1 MTIteXdIMlZVcmFBNDREWlF1Ukt6QVJtdzZTNjZtcjQ4cFFWdmE0TEJlUmhjT2x0SjZoRXh2V2x5 NVpqRkxZbzY3eGJJeGI2VzFxNGJBR3RnZkVsMjB6ZlE9PQpAQCAtODAzMCwyMyArODMzOSwxMSBA QCByZWdleHB1LWNvcmVAXjQuNy4wOgogICAgIHVuaWNvZGUtbWF0Y2gtcHJvcGVydHktZWNtYXNj cmlwdCAiXjEuMC40IgogICAgIHVuaWNvZGUtbWF0Y2gtcHJvcGVydHktdmFsdWUtZWNtYXNjcmlw dCAiXjEuMi4wIgogCi1yZWdqc2dlbkBeMC4yLjA6Ci0gIHZlcnNpb24gIjAuMi4wIgotICByZXNv bHZlZCAiaHR0cHM6Ly9yZWdpc3RyeS55YXJucGtnLmNvbS9yZWdqc2dlbi8tL3JlZ2pzZ2VuLTAu Mi4wLnRneiM2YzAxNmFkZWFjNTU0Zjc1ODIzZmUzN2FjMDViOTJkNWE0ZWRiMWY3IgotICBpbnRl Z3JpdHkgc2hhMS1iQUZxM3F4VlQzV0NQK042d0Z1UzFhVHRzZmM9Ci0KIHJlZ2pzZ2VuQF4wLjUu MToKICAgdmVyc2lvbiAiMC41LjIiCiAgIHJlc29sdmVkICJodHRwczovL3JlZ2lzdHJ5Lnlhcm5w a2cuY29tL3JlZ2pzZ2VuLy0vcmVnanNnZW4tMC41LjIudGd6IzkyZmYyOTVmYjFkZWVjYmY2ZWNk YWIyNTQzZDIwN2U5MWFhMzM3MzMiCiAgIGludGVncml0eSBzaGE1MTItT0ZGVDNNZnJIOTB4SVc4 T09TeVVyazZRSEQ1RTlKT1RlR29kaUplQlMzSjZJd2xnekpNTkUvMWJaa2xXejVvVGcrOWRDTXlF ZXRjbHZDVlhPUG9OM0E9PQogCi1yZWdqc3BhcnNlckBeMC4xLjQ6Ci0gIHZlcnNpb24gIjAuMS41 IgotICByZXNvbHZlZCAiaHR0cHM6Ly9yZWdpc3RyeS55YXJucGtnLmNvbS9yZWdqc3BhcnNlci8t L3JlZ2pzcGFyc2VyLTAuMS41LnRneiM3ZWU4Zjg0ZGM2ZmE3OTJkM2ZkMGFlMjI4ZDI0YmQ5NDll YWQyMDVjIgotICBpbnRlZ3JpdHkgc2hhMS1mdWo0VGNiNmVTMC8wSzRpalNTOWxKNnRJRnc9Ci0g IGRlcGVuZGVuY2llczoKLSAgICBqc2VzYyAifjAuNS4wIgotCiByZWdqc3BhcnNlckBeMC42LjQ6 CiAgIHZlcnNpb24gIjAuNi40IgogICByZXNvbHZlZCAiaHR0cHM6Ly9yZWdpc3RyeS55YXJucGtn LmNvbS9yZWdqc3BhcnNlci8tL3JlZ2pzcGFyc2VyLTAuNi40LnRneiNhNzY5Zjg2ODQzMDg0MDFh NjZlOWI1MjlkMjQzNmZmNGQwNjY2MjcyIgpAQCAtODEwMSw2ICs4Mzk4LDExIEBAIHJlcXVpcmVz LXBvcnRAXjEuMC4wOgogICByZXNvbHZlZCAiaHR0cHM6Ly9yZWdpc3RyeS55YXJucGtnLmNvbS9y ZXF1aXJlcy1wb3J0Ly0vcmVxdWlyZXMtcG9ydC0xLjAuMC50Z3ojOTI1ZDI2MDFkMzlhYzQ4NWUw OTFjZjBkYTVjNmU2OTRkYzNkY2FmZiIKICAgaW50ZWdyaXR5IHNoYTEta2wwbUFkT2F4SVhna2M4 TnBjYm1sTnc5eXY4PQogCityZXNpemUtb2JzZXJ2ZXItcG9seWZpbGxAXjEuNS4xOgorICB2ZXJz aW9uICIxLjUuMSIKKyAgcmVzb2x2ZWQgImh0dHBzOi8vcmVnaXN0cnkueWFybnBrZy5jb20vcmVz aXplLW9ic2VydmVyLXBvbHlmaWxsLy0vcmVzaXplLW9ic2VydmVyLXBvbHlmaWxsLTEuNS4xLnRn eiMwZTkwMjBkZDNkMjEwMjQ0NThkNGViZDI3ZTIzZTQwMjY5ODEwNDY0IgorICBpbnRlZ3JpdHkg c2hhNTEyLUx3WnJvdGRIT28xMm5RdVpsSEVtdHVYZHFHb09EME9oYXhvcGFORnhXeklucEVnYUxX b1Z1QU1iVHppeHVvc0N4Mm5FRzU4bmd6VzN2eGRXb3hJZ2RnPT0KKwogcmVzb2x2ZS1jd2RAXjIu MC4wOgogICB2ZXJzaW9uICIyLjAuMCIKICAgcmVzb2x2ZWQgImh0dHBzOi8vcmVnaXN0cnkueWFy bnBrZy5jb20vcmVzb2x2ZS1jd2QvLS9yZXNvbHZlLWN3ZC0yLjAuMC50Z3ojMDBhOWY3Mzg3NTU2 ZTI3MDM4ZWFlMjMyY2FhMzcyYTZhNTliNjY1YSIKQEAgLTgxMzYsMTEgKzg0MzgsMTIgQEAgcmVz b2x2ZUAxLjEuNzoKICAgcmVzb2x2ZWQgImh0dHBzOi8vcmVnaXN0cnkueWFybnBrZy5jb20vcmVz b2x2ZS8tL3Jlc29sdmUtMS4xLjcudGd6IzIwMzExNGQ4MmFkMmM1ZWQ5ZThlMDQxMWIzOTMyODc1 ZTg4OWU5N2IiCiAgIGludGVncml0eSBzaGExLUlERVUyQ3JTeGUyZWpnUVJzNU1vZGVpSjZYcz0K IAotcmVzb2x2ZUBeMS4xLjQsIHJlc29sdmVAXjEuMTAuMCwgcmVzb2x2ZUBeMS4xNy4wLCByZXNv bHZlQF4xLjMuMiwgcmVzb2x2ZUBeMS40LjA6Ci0gIHZlcnNpb24gIjEuMTcuMCIKLSAgcmVzb2x2 ZWQgImh0dHBzOi8vcmVnaXN0cnkueWFybnBrZy5jb20vcmVzb2x2ZS8tL3Jlc29sdmUtMS4xNy4w LnRneiNiMjU5NDFiNTQ5NjgyMzFjYzJkMWJiNzZhNzljYjdmMmMwYmY4NDQ0IgotICBpbnRlZ3Jp dHkgc2hhNTEyLWljKzdKWWlWOFZpMnl6UUdGV09raVpENVo5ejdPMlpobTlYTWFUeGRKRXhLYXNp ZUZDcit5WFovV21Yc2NrSGlLbDEyYXIweTZYaVhEeDNtNFJIbjF3PT0KK3Jlc29sdmVAXjEuMS40 LCByZXNvbHZlQF4xLjEwLjAsIHJlc29sdmVAXjEuMTIuMCwgcmVzb2x2ZUBeMS4xNy4wLCByZXNv bHZlQF4xLjE4LjEsIHJlc29sdmVAXjEuNC4wOgorICB2ZXJzaW9uICIxLjE5LjAiCisgIHJlc29s dmVkICJodHRwczovL3JlZ2lzdHJ5Lnlhcm5wa2cuY29tL3Jlc29sdmUvLS9yZXNvbHZlLTEuMTku MC50Z3ojMWFmNWJmNjMwNDA5NzM0YTA2N2NhZTI5MzE4YWFjN2ZhMjlhMjY3YyIKKyAgaW50ZWdy aXR5IHNoYTUxMi1yQXJFWEFnc0JHNFVnUkdjeW54V0lXS0Z2aC9YWkNjUzhVSmRIaHd5OTF6d0F2 Q1pJYmNzK3ZBYmZsZ0JuTmpZTXMvaS9pKy9VeDZJWmhNTDF5UHZ4Zz09CiAgIGRlcGVuZGVuY2ll czoKKyAgICBpcy1jb3JlLW1vZHVsZSAiXjIuMS4wIgogICAgIHBhdGgtcGFyc2UgIl4xLjAuNiIK IAogcmVzcG9uc2VsaWtlQDEuMC4yOgpAQCAtODE3OCw2ICs4NDgxLDExIEBAIHJnYmEtcmVnZXhA XjEuMC4wOgogICByZXNvbHZlZCAiaHR0cHM6Ly9yZWdpc3RyeS55YXJucGtnLmNvbS9yZ2JhLXJl Z2V4Ly0vcmdiYS1yZWdleC0xLjAuMC50Z3ojNDMzNzRlMmUyY2EwOTY4YjBlZjE1MjM0NjBiN2Q3 MzBmZjIyZWViMyIKICAgaW50ZWdyaXR5IHNoYTEtUXpkT0xpeWdsb3NPOFZJMFlMZlhNUDhpN3JN PQogCityZ2Jjb2xvckBeMS4wLjE6CisgIHZlcnNpb24gIjEuMC4xIgorICByZXNvbHZlZCAiaHR0 cHM6Ly9yZWdpc3RyeS55YXJucGtnLmNvbS9yZ2Jjb2xvci8tL3JnYmNvbG9yLTEuMC4xLnRneiNk NjUwNWVjZGIzMDRhNjU5NWRhMjZmYTRiNDMzMDczMDY3NzU5NDVkIgorICBpbnRlZ3JpdHkgc2hh MS0xbEJlemJNRXBsbGRvbStrdERNSE1HZDFsRjA9CisKIHJpbXJhZkAyLjYuMzoKICAgdmVyc2lv biAiMi42LjMiCiAgIHJlc29sdmVkICJodHRwczovL3JlZ2lzdHJ5Lnlhcm5wa2cuY29tL3JpbXJh Zi8tL3JpbXJhZi0yLjYuMy50Z3ojYjJkMTA0ZmUwZDhmYjI3Y2Y5ZTBhMWNkYTgyNjJkZDM4MzNj NmNhYiIKQEAgLTgyMDAsNiArODUwOCwxNSBAQCByaXBlbWQxNjBAXjIuMC4wLCByaXBlbWQxNjBA XjIuMC4xOgogICAgIGhhc2gtYmFzZSAiXjMuMC4wIgogICAgIGluaGVyaXRzICJeMi4wLjEiCiAK K3JvbGx1cEBeMS4zMS4xOgorICB2ZXJzaW9uICIxLjMyLjEiCisgIHJlc29sdmVkICJodHRwczov L3JlZ2lzdHJ5Lnlhcm5wa2cuY29tL3JvbGx1cC8tL3JvbGx1cC0xLjMyLjEudGd6IzQ0ODBlNTJk OWQ5ZTJhZTRiNDZiYTBkOWRkZWFmMzE2Mzk0MGY5YzQiCisgIGludGVncml0eSBzaGE1MTItLzJI QTBFYzcwVHZRblhkenluRmZma2pBNlhOKzFlMnBFdi91S1M1VWxjYTQwZzJMN0t1T0Uzcmlhc0hv TlZIT3NGRDVLS1pnRHNNazFDUDNUdzlzK0E9PQorICBkZXBlbmRlbmNpZXM6CisgICAgIkB0eXBl cy9lc3RyZWUiICIqIgorICAgICJAdHlwZXMvbm9kZSIgIioiCisgICAgYWNvcm4gIl43LjEuMCIK KwogcnN0LXNlbGVjdG9yLXBhcnNlckBeMi4yLjM6CiAgIHZlcnNpb24gIjIuMi4zIgogICByZXNv bHZlZCAiaHR0cHM6Ly9yZWdpc3RyeS55YXJucGtnLmNvbS9yc3Qtc2VsZWN0b3ItcGFyc2VyLy0v cnN0LXNlbGVjdG9yLXBhcnNlci0yLjIuMy50Z3ojODFiMjMwZWEyZmNjNjA2NmM4OWUzNDcyZGU3 OTQyODVkOWIwM2Q5MSIKQEAgLTgyNzEsOSArODU4OCw5IEBAIHNhc3MtcmVzb3VyY2VzLWxvYWRl ckBeMi4wLjA6CiAgICAgbG9hZGVyLXV0aWxzICJeMi4wLjAiCiAKIHNhc3NAXjEuMjQuNDoKLSAg dmVyc2lvbiAiMS4yNy4wIgotICByZXNvbHZlZCAiaHR0cHM6Ly9yZWdpc3RyeS55YXJucGtnLmNv bS9zYXNzLy0vc2Fzcy0xLjI3LjAudGd6IzA2NTdmZjY3NDIwNmI5NWVjMjBkYzYzOGE5M2UxNzlj NzhmNmFkYTIiCi0gIGludGVncml0eSBzaGE1MTItMGdjckVSNTZPa3pvdEsvR0d3Z2c0ZlByS3Vp RmxQTml0TzdlVUoxOEJzKy9OQmxvZkpmTXhteHFwcUp4amFlOXZ1MFdxOFRaenJTeXhaYWwwMFdE aWc9PQorICB2ZXJzaW9uICIxLjMwLjAiCisgIHJlc29sdmVkICJodHRwczovL3JlZ2lzdHJ5Lnlh cm5wa2cuY29tL3Nhc3MvLS9zYXNzLTEuMzAuMC50Z3ojNjBiYmJiYWY3NmJhMTAxMTdlNjFjNmMy NGYwMDE2MWMzZDYwNjEwZSIKKyAgaW50ZWdyaXR5IHNoYTUxMi0yNkVVaE9YUkxhVVk3K21XdVJG cUdlR0dObWhCMXZibHBURU5PMVo3bUF6eklaZVZ4WnI5RVpvYVkxa3lHTEZXZFNPWnhSTUF1ZmlO Mm1rYk82ZEFsdz09CiAgIGRlcGVuZGVuY2llczoKICAgICBjaG9raWRhciAiPj0yLjAuMCA8NC4w LjAiCiAKQEAgLTgzMDYsNyArODYyMyw3IEBAIHNjaGVtYS11dGlsc0BeMS4wLjA6CiAgICAgYWp2 LWVycm9ycyAiXjEuMC4wIgogICAgIGFqdi1rZXl3b3JkcyAiXjMuMS4wIgogCi1zY2hlbWEtdXRp bHNAXjIuNi42Ogorc2NoZW1hLXV0aWxzQF4yLjAuMSwgc2NoZW1hLXV0aWxzQF4yLjYuNSwgc2No ZW1hLXV0aWxzQF4yLjYuNjoKICAgdmVyc2lvbiAiMi43LjEiCiAgIHJlc29sdmVkICJodHRwczov L3JlZ2lzdHJ5Lnlhcm5wa2cuY29tL3NjaGVtYS11dGlscy8tL3NjaGVtYS11dGlscy0yLjcuMS50 Z3ojMWNhNGYzMmQxYjI0YzU5MGMyMDNiOGU3YTUwYmYwZWE0Y2QzOTRkNyIKICAgaW50ZWdyaXR5 IHNoYTUxMi1TSGlOdE1PVUdXQlFKd3pJU2lWWUt1ODJHaVY0UVlHZVBwM29kbFkxdHVLTzdnUHRw aEFUNVIvcHkwZkE2eHRiZ0xML1J2dEpablU5YjhzMEYxcTBYZz09CkBAIC04NDcyLDcgKzg3ODks NyBAQCBzaGltLWxvYWRlckBeMS4wLjE6CiAgICAgcHJlY29uZCAiXjAuMi4zIgogICAgIHdlYnBh Y2stc291cmNlcyAiXjAuMi4zIgogCi1zaWRlLWNoYW5uZWxAXjEuMC4yOgorc2lkZS1jaGFubmVs QF4xLjAuMiwgc2lkZS1jaGFubmVsQF4xLjAuMzoKICAgdmVyc2lvbiAiMS4wLjMiCiAgIHJlc29s dmVkICJodHRwczovL3JlZ2lzdHJ5Lnlhcm5wa2cuY29tL3NpZGUtY2hhbm5lbC8tL3NpZGUtY2hh bm5lbC0xLjAuMy50Z3ojY2RjNDZiMDU3NTUwYmJhYjYzNzA2MjEwODM4ZGY1ZDRjMTk1MTljMyIK ICAgaW50ZWdyaXR5IHNoYTUxMi1BNitCeWhsTGtrc0ZvVWVwc0d4Zmo1eDFnVFNycytPeWRzUnB0 VXhlTkNhYlFwQ0ZVdmN3SWN6Z09pZ0k4dmhZL09KQ25QbnlFOXJHaXdndnI5Y1MxZz09CkBAIC04 Njk4LDkgKzkwMTUsOSBAQCBzcGR4LWV4cHJlc3Npb24tcGFyc2VAXjMuMC4wOgogICAgIHNwZHgt bGljZW5zZS1pZHMgIl4zLjAuMCIKIAogc3BkeC1saWNlbnNlLWlkc0BeMy4wLjA6Ci0gIHZlcnNp b24gIjMuMC42IgotICByZXNvbHZlZCAiaHR0cHM6Ly9yZWdpc3RyeS55YXJucGtnLmNvbS9zcGR4 LWxpY2Vuc2UtaWRzLy0vc3BkeC1saWNlbnNlLWlkcy0zLjAuNi50Z3ojYzgwNzU3MzgzYzI4YWJm NzI5Njc0NDk5OGNiYzEwNmFlOGI4NTRjZSIKLSAgaW50ZWdyaXR5IHNoYTUxMi0rb3JRSzgza3lN dmEzV3lQZjU5azErWTUyNWNzajVKZWppY1d1dDU1emVUV0FOdU4xN3FTaVNMVVhXdHpIZU5XT1JT dlQ3R0xESi9FL1hpSVdvWEJUdz09CisgIHZlcnNpb24gIjMuMC43IgorICByZXNvbHZlZCAiaHR0 cHM6Ly9yZWdpc3RyeS55YXJucGtnLmNvbS9zcGR4LWxpY2Vuc2UtaWRzLy0vc3BkeC1saWNlbnNl LWlkcy0zLjAuNy50Z3ojZTljMThhNDEwZTVlZDdlMTI0NDJhNTQ5ZmJkOGFmYTc2NzAzOGQ2NSIK KyAgaW50ZWdyaXR5IHNoYTUxMi1VK01URU9PMEFpRHp4d0Z2b2E0SlZuTVY2bVpsSktrMnNCTHQ5 MHM3RzBHZDBNbGtuYzdreEVuM251RFBOWlJ0YTdPMnV5OG9MY1pMVlQrNHNxTlpIUT09CiAKIHNw bGl0LXN0cmluZ0BeMy4wLjEsIHNwbGl0LXN0cmluZ0BeMy4wLjI6CiAgIHZlcnNpb24gIjMuMS4w IgpAQCAtODc1Myw2ICs5MDcwLDExIEBAIHN0YWJsZUBeMC4xLjg6CiAgIHJlc29sdmVkICJodHRw czovL3JlZ2lzdHJ5Lnlhcm5wa2cuY29tL3N0YWJsZS8tL3N0YWJsZS0wLjEuOC50Z3ojODM2ZWIz YzgzODJmZTI5MzZmZWFmNTQ0NjMxMDE3Y2U3ZDQ3YTNjZiIKICAgaW50ZWdyaXR5IHNoYTUxMi1q aTlxeFJuT1ZmY3VMRHlTajlxemhHU0VGVm9ieXQxa0lPU2tqMXFaellMenE3VG9zL29VVVd2b3RV UFFMbHJzaWRxc0s2dEJIODlCYzlrTDV6SEE2dz09CiAKK3N0YWNrYmx1ci1jYW52YXNAXjIuMC4w OgorICB2ZXJzaW9uICIyLjQuMCIKKyAgcmVzb2x2ZWQgImh0dHBzOi8vcmVnaXN0cnkueWFybnBr Zy5jb20vc3RhY2tibHVyLWNhbnZhcy8tL3N0YWNrYmx1ci1jYW52YXMtMi40LjAudGd6IzJiMmVi YTkxMGNiNDZmNmZlYWU5MThlMWM0MDJmODYzZDYwMmMwMWIiCisgIGludGVncml0eSBzaGE1MTIt WitIaXhmZ1lWMHNzM0MzNDJEeFB3YytVdk4xU1lXcW96N1dzaTN4RURXRW5hQmtTQ0wzRXkyMWdG NGlvK1dsTG04L1JJclNuQ3JEQklFY0g0TytxNVE9PQorCiBzdGF0aWMtZXh0ZW5kQF4wLjEuMToK ICAgdmVyc2lvbiAiMC4xLjIiCiAgIHJlc29sdmVkICJodHRwczovL3JlZ2lzdHJ5Lnlhcm5wa2cu Y29tL3N0YXRpYy1leHRlbmQvLS9zdGF0aWMtZXh0ZW5kLTAuMS4yLnRneiM2MDgwOWMzOWNiZmY1 NTMzNzIyNmZkNWUwYjUyMGYzNDFmMWZiNWM2IgpAQCAtODgwMSw2ICs5MTIzLDE2IEBAIHN0cmVh bS1odHRwQF4yLjAuMCwgc3RyZWFtLWh0dHBAXjIuNy4yOgogICAgIHRvLWFycmF5YnVmZmVyICJe MS4wLjAiCiAgICAgeHRlbmQgIl40LjAuMCIKIAorc3RyZWFtLWh0dHBAXjMuMC4wOgorICB2ZXJz aW9uICIzLjEuMSIKKyAgcmVzb2x2ZWQgImh0dHBzOi8vcmVnaXN0cnkueWFybnBrZy5jb20vc3Ry ZWFtLWh0dHAvLS9zdHJlYW0taHR0cC0zLjEuMS50Z3ojMDM3MGE4MDE3Y2Y4ZDA1MGI5YTg1NTRh ZmU2MDhmMDQzZWFmZjU2NCIKKyAgaW50ZWdyaXR5IHNoYTUxMi1TN09xYVl1MEVrRnBnZUdGYi9O UE9vUEx4RmtvN1RQcXRFZUZnNURYUEI0di9LRVRIRzBMbjZmUkZyTmV6b2VscGFES215Y0VtbVo4 MWNDOURBd2dZZz09CisgIGRlcGVuZGVuY2llczoKKyAgICBidWlsdGluLXN0YXR1cy1jb2RlcyAi XjMuMC4wIgorICAgIGluaGVyaXRzICJeMi4wLjQiCisgICAgcmVhZGFibGUtc3RyZWFtICJeMy42 LjAiCisgICAgeHRlbmQgIl40LjAuMiIKKwogc3RyZWFtLXNoaWZ0QF4xLjAuMDoKICAgdmVyc2lv biAiMS4wLjEiCiAgIHJlc29sdmVkICJodHRwczovL3JlZ2lzdHJ5Lnlhcm5wa2cuY29tL3N0cmVh bS1zaGlmdC8tL3N0cmVhbS1zaGlmdC0xLjAuMS50Z3ojZDcwODgyODE1NTlhYjI3Nzg0MjQyNzli MDg3N2RhM2MzOTJkNWEzZCIKQEAgLTg4NTgsNDAgKzkxOTAsNDIgQEAgc3RyaW5nLnByb3RvdHlw ZS5jb2RlcG9pbnRhdEBeMC4yLjA6CiAgIGludGVncml0eSBzaGE1MTItMmNCVkNqNkk0SU92RW5q Z08vaFdxWGpxQkdzWSt6d1BtSGwxMlNyazlJWFNaNTZKd3dteSs2NlhPNUl1dC9vUVZSN3Q1aWhZ ZExCMEdNYTRhbEVVY2c9PQogCiBzdHJpbmcucHJvdG90eXBlLm1hdGNoYWxsQF40LjAuMjoKLSAg dmVyc2lvbiAiNC4wLjIiCi0gIHJlc29sdmVkICJodHRwczovL3JlZ2lzdHJ5Lnlhcm5wa2cuY29t L3N0cmluZy5wcm90b3R5cGUubWF0Y2hhbGwvLS9zdHJpbmcucHJvdG90eXBlLm1hdGNoYWxsLTQu MC4yLnRneiM0OGJiNTEwMzI2ZmI5ZmRlYjZhMzNjZWFhODFhNmVhMDRlZjc2NDhlIgotICBpbnRl Z3JpdHkgc2hhNTEyLU4vanA2TzVmTWY5b3MwSlUzRTcyUWhmNTkwUlNSWlUvdW5nc0wvcUpVWVZU TnY3aFRHMFAvZGJQanhJTlZOOWpwc2N1M256WXdLRVNVM1AzUlk1dE9nPT0KKyAgdmVyc2lvbiAi NC4wLjMiCisgIHJlc29sdmVkICJodHRwczovL3JlZ2lzdHJ5Lnlhcm5wa2cuY29tL3N0cmluZy5w cm90b3R5cGUubWF0Y2hhbGwvLS9zdHJpbmcucHJvdG90eXBlLm1hdGNoYWxsLTQuMC4zLnRneiMy NDI0MzM5OWJjMzFiMGE0OWQxOWUyYjc0MTcxYTE1NjUzZWM5OTZhIgorICBpbnRlZ3JpdHkgc2hh NTEyLU9CeFlEQTJpZlpRMmUxM2NQODJkV0ZNYUNWOUNHRjhHem1ONGZsakJWdzVPNXdlcDBsdTRn YWNtMU9MNk1qUk9vVW5COFZia1dSVGhxa1YyWUZMTnh3PT0KICAgZGVwZW5kZW5jaWVzOgorICAg IGNhbGwtYmluZCAiXjEuMC4wIgogICAgIGRlZmluZS1wcm9wZXJ0aWVzICJeMS4xLjMiCi0gICAg ZXMtYWJzdHJhY3QgIl4xLjE3LjAiCisgICAgZXMtYWJzdHJhY3QgIl4xLjE4LjAtbmV4dC4xIgog ICAgIGhhcy1zeW1ib2xzICJeMS4wLjEiCiAgICAgaW50ZXJuYWwtc2xvdCAiXjEuMC4yIgogICAg IHJlZ2V4cC5wcm90b3R5cGUuZmxhZ3MgIl4xLjMuMCIKLSAgICBzaWRlLWNoYW5uZWwgIl4xLjAu MiIKKyAgICBzaWRlLWNoYW5uZWwgIl4xLjAuMyIKIAogc3RyaW5nLnByb3RvdHlwZS50cmltQF4x LjIuMToKLSAgdmVyc2lvbiAiMS4yLjIiCi0gIHJlc29sdmVkICJodHRwczovL3JlZ2lzdHJ5Lnlh cm5wa2cuY29tL3N0cmluZy5wcm90b3R5cGUudHJpbS8tL3N0cmluZy5wcm90b3R5cGUudHJpbS0x LjIuMi50Z3ojZjUzOGQwYmFjZDk4ZmM0Mjk3ZjBiZWY2NDUyMjZkNWFhZWJmNTlmMyIKLSAgaW50 ZWdyaXR5IHNoYTUxMi1iNXlyYmwzQlhJakhhdTlQcms3VTBSUlljVVlkTjR3R1NWYXFvQlFTNTBD Q0UzS0J1WVUwVFlSTlBGQ1A3YVZvTk1YODdIS1RoZE1SVklQM2dpY2xLZz09CisgIHZlcnNpb24g IjEuMi4zIgorICByZXNvbHZlZCAiaHR0cHM6Ly9yZWdpc3RyeS55YXJucGtnLmNvbS9zdHJpbmcu cHJvdG90eXBlLnRyaW0vLS9zdHJpbmcucHJvdG90eXBlLnRyaW0tMS4yLjMudGd6I2QyM2EyMmZk ZTAxYzFlNjU3MWE3ZmFkY2I5YmUxMWRlY2Q4MDYxYTciCisgIGludGVncml0eSBzaGE1MTItMTZJ TDlwSUJBNWFzTk9TdWtQZnhYMlc2OEJhQnZ4eWlSSzE2SDNSQS9sV1c5QkRvc2grdzdmK0xob21Q SHBYSjgyUUVlN3c3L3JZL1MxQ1Y5N3JhTGc9PQogICBkZXBlbmRlbmNpZXM6CisgICAgY2FsbC1i aW5kICJeMS4wLjAiCiAgICAgZGVmaW5lLXByb3BlcnRpZXMgIl4xLjEuMyIKLSAgICBlcy1hYnN0 cmFjdCAiXjEuMTguMC1uZXh0LjAiCisgICAgZXMtYWJzdHJhY3QgIl4xLjE4LjAtbmV4dC4xIgog CiBzdHJpbmcucHJvdG90eXBlLnRyaW1lbmRAXjEuMC4xOgotICB2ZXJzaW9uICIxLjAuMSIKLSAg cmVzb2x2ZWQgImh0dHBzOi8vcmVnaXN0cnkueWFybnBrZy5jb20vc3RyaW5nLnByb3RvdHlwZS50 cmltZW5kLy0vc3RyaW5nLnByb3RvdHlwZS50cmltZW5kLTEuMC4xLnRneiM4NTgxMmE2Yjg0N2Fj MDAyMjcwZjU4MDgxNDYwNjRjOTk1ZmI2OTEzIgotICBpbnRlZ3JpdHkgc2hhNTEyLUxSUHhGVWFU dHBxWXNUZU5LYUZPdzNSNGJ4SXpXT25iUTgzN1FmQnlsbzhqSXh0Y2JLL0Evc01WN1ErT0FWL3ZX bys3czI1cE9FMTBLWVNqYVNPMDZnPT0KKyAgdmVyc2lvbiAiMS4wLjMiCisgIHJlc29sdmVkICJo dHRwczovL3JlZ2lzdHJ5Lnlhcm5wa2cuY29tL3N0cmluZy5wcm90b3R5cGUudHJpbWVuZC8tL3N0 cmluZy5wcm90b3R5cGUudHJpbWVuZC0xLjAuMy50Z3ojYTIyYmQ1M2NjYTVjN2NmNDRkN2M5ZDVj NzMyMTE4ODczZDZjZDE4YiIKKyAgaW50ZWdyaXR5IHNoYTUxMi1heUgwcEIrdWYwVTI4Q3RqbEx2 TDdOYW9odlIxYW1VdlZaayt5M0RZYjBFeTJQVVY1elBra0t5OStVMW5kVkVJWE84aE5nMThlSXY5 Sm50YmlpK2RLdz09CiAgIGRlcGVuZGVuY2llczoKKyAgICBjYWxsLWJpbmQgIl4xLjAuMCIKICAg ICBkZWZpbmUtcHJvcGVydGllcyAiXjEuMS4zIgotICAgIGVzLWFic3RyYWN0ICJeMS4xNy41Igog CiBzdHJpbmcucHJvdG90eXBlLnRyaW1zdGFydEBeMS4wLjE6Ci0gIHZlcnNpb24gIjEuMC4xIgot ICByZXNvbHZlZCAiaHR0cHM6Ly9yZWdpc3RyeS55YXJucGtnLmNvbS9zdHJpbmcucHJvdG90eXBl LnRyaW1zdGFydC8tL3N0cmluZy5wcm90b3R5cGUudHJpbXN0YXJ0LTEuMC4xLnRneiMxNGFmNmQ5 ZjM0YjA1M2Y3Y2ZjODliNzJmOGYyZWUxNGI5MDM5YTU0IgotICBpbnRlZ3JpdHkgc2hhNTEyLVh4 Wm4rUXB2ckJJMUZPY2c2ZElweFVQZ1dDUHVOWHZNRDcyYWFSYVVRdjFlRDRlL1F5OGkvaEZUZTBC VW1ENjBwL1FBNmJoMWF2bXVQVGZOanFWV1J3PT0KKyAgdmVyc2lvbiAiMS4wLjMiCisgIHJlc29s dmVkICJodHRwczovL3JlZ2lzdHJ5Lnlhcm5wa2cuY29tL3N0cmluZy5wcm90b3R5cGUudHJpbXN0 YXJ0Ly0vc3RyaW5nLnByb3RvdHlwZS50cmltc3RhcnQtMS4wLjMudGd6IzliNGNiNTkwZTEyM2Ji MzY1NjQ0MDFkNTk4MjQyOThkZTUwZmQ1YWEiCisgIGludGVncml0eSBzaGE1MTItb0JJQlV5NWxl YTV0dDBvdnRPRmlFUWFCa29CQmt5SmhaWHpKWXJTbURvNUlVVXFiT1B2VmV6dVJzL2FnQklkWjJw MkVvMUZENmJEOVVTeUJMZmwzeGc9PQogICBkZXBlbmRlbmNpZXM6CisgICAgY2FsbC1iaW5kICJe MS4wLjAiCiAgICAgZGVmaW5lLXByb3BlcnRpZXMgIl4xLjEuMyIKLSAgICBlcy1hYnN0cmFjdCAi XjEuMTcuNSIKIAogc3RyaW5nX2RlY29kZXJAXjEuMC4wLCBzdHJpbmdfZGVjb2RlckBeMS4xLjE6 CiAgIHZlcnNpb24gIjEuMy4wIgpAQCAtOTAyMSw3ICs5MzU1LDcgQEAgc3VwcG9ydHMtY29sb3JA XjcuMC4wLCBzdXBwb3J0cy1jb2xvckBeNy4xLjA6CiAgIGRlcGVuZGVuY2llczoKICAgICBoYXMt ZmxhZyAiXjQuMC4wIgogCi1zdmctcGF0aGRhdGFAXjUuMC4wOgorc3ZnLXBhdGhkYXRhQF41LjAu MCwgc3ZnLXBhdGhkYXRhQF41LjAuNToKICAgdmVyc2lvbiAiNS4wLjUiCiAgIHJlc29sdmVkICJo dHRwczovL3JlZ2lzdHJ5Lnlhcm5wa2cuY29tL3N2Zy1wYXRoZGF0YS8tL3N2Zy1wYXRoZGF0YS01 LjAuNS50Z3ojNjVlOGQ3NjU2NDJiYTE1ZmUxNTQzNDQ0NDA4N2QwODJiYzUyNmIyOSIKICAgaW50 ZWdyaXR5IHNoYTUxMi1UQUF2TE5TRTNmRWh5bC9EYTE5SldmTUFkaFNYVFlldmlYc0xTb0RUMVVN NzZBRGo1bmR3QVBYMUZLUUVnQi9nRk1QYXZPeTZ0T3FmYWxYS1VpWHJvdz09CkBAIC05MTM0LDI0 ICs5NDY4LDI0IEBAIHRlbXBmaWxlQF4yLjAuMDoKICAgICB1dWlkICJeMy4wLjEiCiAKIHRlbXB1 c2RvbWludXMtYm9vdHN0cmFwLTRAXjUuMS4yOgotICB2ZXJzaW9uICI1LjEuMiIKLSAgcmVzb2x2 ZWQgImh0dHBzOi8vcmVnaXN0cnkueWFybnBrZy5jb20vdGVtcHVzZG9taW51cy1ib290c3RyYXAt NC8tL3RlbXB1c2RvbWludXMtYm9vdHN0cmFwLTQtNS4xLjIudGd6IzNjOTkwNmNhNmU1ZDU2M2Zh YTBiODFiMmZkYzZhYTc5Y2FkOWMwYmUiCi0gIGludGVncml0eSBzaGE1MTIta3NEOHFjNHdPSmVF MTl3dnJ5WG1FcFJ6TVVTWnU0d1NPZEc2ektTbjhsNGNjYWQxNjI0OUtPWDFqMENjY3lacHV1RVMv bjRGTHFMQVVCK0RkMUxUQkE9PQorICB2ZXJzaW9uICI1LjM5LjAiCisgIHJlc29sdmVkICJodHRw czovL3JlZ2lzdHJ5Lnlhcm5wa2cuY29tL3RlbXB1c2RvbWludXMtYm9vdHN0cmFwLTQvLS90ZW1w dXNkb21pbnVzLWJvb3RzdHJhcC00LTUuMzkuMC50Z3ojZjEzZGNmZWM2YzQxYjM3YzVmZTUwOWYw OGJkNTEzNTkwYzY0NDExZiIKKyAgaW50ZWdyaXR5IHNoYTUxMi12WW5rbVFZUXE0K0E1MVd5UmMv NmUwM2VNMEJIRG9QYXhkNTU2SzFwZDROaHIwZUdlQjMrTWk5YiszQ0R4NDE4OWZnM2dRbHJzS3pn SmlIUFJ3U1gzUT09CiAgIGRlcGVuZGVuY2llczoKLSAgICBib290c3RyYXAgIj49NC4xLjIiCi0g ICAganF1ZXJ5ICJeMy4wIgotICAgIG1vbWVudCAiXjIuMjIuMiIKLSAgICBtb21lbnQtdGltZXpv bmUgIl4wLjUuMTEiCi0gICAgcG9wcGVyLmpzICJeMS4xNC4zIgorICAgIGJvb3RzdHJhcCAiXjQu NS4yIgorICAgIGpxdWVyeSAiXjMuNS4xIgorICAgIG1vbWVudCAiXjIuMjkuMCIKKyAgICBtb21l bnQtdGltZXpvbmUgIl4wLjUuMzEiCisgICAgcG9wcGVyLmpzICJeMS4xNi4xIgogCiB0ZW1wdXNk b21pbnVzLWNvcmVAXjUuMC4zOgotICB2ZXJzaW9uICI1LjAuMyIKLSAgcmVzb2x2ZWQgImh0dHBz Oi8vcmVnaXN0cnkueWFybnBrZy5jb20vdGVtcHVzZG9taW51cy1jb3JlLy0vdGVtcHVzZG9taW51 cy1jb3JlLTUuMC4zLnRneiM4MDg2NDJlNDdhODNmNDVkN2VmMThjMTU5N2ZkN2IxZDQxM2Q2OWU1 IgotICBpbnRlZ3JpdHkgc2hhNTEyLTUybENsbVUzM2diNko2SS9TOXVHRHJnUXdjY3EzWXc5U2xa ZXJUZ0dMT3pPQjNTYzlwZ0lWQmlyZlBNc01jeDhuUHNnNm1BNUl0RkFILzVCWmlRVGhnPT0KKyAg dmVyc2lvbiAiNS4xOS4wIgorICByZXNvbHZlZCAiaHR0cHM6Ly9yZWdpc3RyeS55YXJucGtnLmNv bS90ZW1wdXNkb21pbnVzLWNvcmUvLS90ZW1wdXNkb21pbnVzLWNvcmUtNS4xOS4wLnRneiNjY2Jk MmMzNTEwOWIwYTRiOTZjNjE1MTNlNTNlMDE3NWVjNDg5NmJkIgorICBpbnRlZ3JpdHkgc2hhNTEy LTdhNG9CUXc0Y2p6NkM4N0JMUmczS0hWdnpwblBsblJUa3VEWjdTd2NKYXlRUTRRZ09yeVg1dTZ3 ajBxMDdUWGhndE1RTENudFpPNm5WaEhJS1BhZVV3PT0KICAgZGVwZW5kZW5jaWVzOgotICAgIGpx dWVyeSAiXjMuMCIKLSAgICBtb21lbnQgIl4yLjIyLjIiCi0gICAgbW9tZW50LXRpbWV6b25lICJe MC40LjAiCisgICAganF1ZXJ5ICJeMy41LjAiCisgICAgbW9tZW50ICJ+Mi4yNC4wIgorICAgIG1v bWVudC10aW1lem9uZSAiXjAuNS4yOCIKIAogdGVyc2VyLXdlYnBhY2stcGx1Z2luQF4xLjQuMzoK ICAgdmVyc2lvbiAiMS40LjUiCkBAIC05MjIzLDkgKzk1NTcsOSBAQCB0aW1lcnMtYnJvd3Nlcmlm eUBeMS4wLjE6CiAgICAgcHJvY2VzcyAifjAuMTEuMCIKIAogdGltZXJzLWJyb3dzZXJpZnlAXjIu MC40OgotICB2ZXJzaW9uICIyLjAuMTEiCi0gIHJlc29sdmVkICJodHRwczovL3JlZ2lzdHJ5Lnlh cm5wa2cuY29tL3RpbWVycy1icm93c2VyaWZ5Ly0vdGltZXJzLWJyb3dzZXJpZnktMi4wLjExLnRn eiM4MDBiMWYzZWVlMjcyZTViYzUzZWU0NjVhMDRkMGU4MDRjMzEyMTFmIgotICBpbnRlZ3JpdHkg c2hhNTEyLTYwYVY2c2dKNVlFYnpVZG45YzhrWUdJcU91YlBvVWRxUUN1bDNTQkFzUkNaNDBzNlk1 Y01jclc0ZHQzL2svRXNiTFZKTmw5bjZWejNmVGMrazJHZUtRPT0KKyAgdmVyc2lvbiAiMi4wLjEy IgorICByZXNvbHZlZCAiaHR0cHM6Ly9yZWdpc3RyeS55YXJucGtnLmNvbS90aW1lcnMtYnJvd3Nl cmlmeS8tL3RpbWVycy1icm93c2VyaWZ5LTIuMC4xMi50Z3ojNDRhNDVjMTFmYmY0MDdmMzRmOTdi Y2NkMTU3N2M2NTIzNjFiMDBlZSIKKyAgaW50ZWdyaXR5IHNoYTUxMi05cGhsNzZDcW02RmhTWDlY ZTFaVUFNTHRtMUJMa0tqMlFkNUFweVdrWHpzTVJhQTdkZ3I4MWtmNHdKbVFmL2hBdmc4RUV5SnhE bzNkdS8wS2xoUGlLUT09CiAgIGRlcGVuZGVuY2llczoKICAgICBzZXRpbW1lZGlhdGUgIl4xLjAu NCIKIApAQCAtOTIzNCw2ICs5NTY4LDEzIEBAIHRpbXNvcnRAXjAuMy4wOgogICByZXNvbHZlZCAi aHR0cHM6Ly9yZWdpc3RyeS55YXJucGtnLmNvbS90aW1zb3J0Ly0vdGltc29ydC0wLjMuMC50Z3oj NDA1NDExYThlN2U2MzM5ZmU2NGRiOWEyMzRkZTExZGMzMWUwMmJkNCIKICAgaW50ZWdyaXR5IHNo YTEtUUZRUnFPZm1NNS9tVGJtaU5ONFIzREhnSzlRPQogCit0aXBweS5qc0BeNi4yLjA6CisgIHZl cnNpb24gIjYuMi43IgorICByZXNvbHZlZCAiaHR0cHM6Ly9yZWdpc3RyeS55YXJucGtnLmNvbS90 aXBweS5qcy8tL3RpcHB5LmpzLTYuMi43LnRneiM2MmZiMzRlZGEyM2Y3ZDc4MTUxZGRjYTkyMmI2 MjgxOGMxYWI5ODY5IgorICBpbnRlZ3JpdHkgc2hhNTEyLWsra1dGOUFKejV4TFFIQmkzSy9YbG1K aXl1K3A5Z3NDeWM1cVpoeHhHYUpXSVc4U01qdzFSK0M3c2FVblAzM0lNOGdVaERBMnhYLy9lalJT d3FSMHRBPT0KKyAgZGVwZW5kZW5jaWVzOgorICAgICJAcG9wcGVyanMvY29yZSIgIl4yLjQuNCIK KwogdG1wQDAuMC4zMywgdG1wQDAuMC54LCB0bXBAXjAuMC4zMzoKICAgdmVyc2lvbiAiMC4wLjMz IgogICByZXNvbHZlZCAiaHR0cHM6Ly9yZWdpc3RyeS55YXJucGtnLmNvbS90bXAvLS90bXAtMC4w LjMzLnRneiM2ZDM0MzM1ODg5NzY4ZDIxYjJiY2RhMGFhMjc3Y2VkM2IxYmZhZGY5IgpAQCAtOTMz MSw5ICs5NjcyLDkgQEAgdHJ5ZXJAXjEuMC4xOgogICBpbnRlZ3JpdHkgc2hhNTEyLWMzemF5Yjgv a1dXcHljV1lnODdQNzFFMVMxWkw2YjZJSnhmYjVmdnNVZ3NmMFMyTVZHYURoRFhYakRNcGRDcGZX WHFwdGMrNG1Yd21peTF5cFhxUkFBPT0KIAogdHNsaWJAXjEuOS4wOgotICB2ZXJzaW9uICIxLjE0 LjAiCi0gIHJlc29sdmVkICJodHRwczovL3JlZ2lzdHJ5Lnlhcm5wa2cuY29tL3RzbGliLy0vdHNs aWItMS4xNC4wLnRneiNkNjI0OTgzZjNlMmM1ZTBiNTUzMDdjM2RkNmM4NmFjZDczNzYyMmM2Igot ICBpbnRlZ3JpdHkgc2hhNTEyLStadzVsdTBEOXR2Qk1qR1A4THB2TWIwdTJXVzJRVjN5K0Q4bU82 SitjTnpDWUlONHNWeTQzQmY5dmw5Mm5xRmFodXROMEk4ekhhN2NjNHZpaElzaG53PT0KKyAgdmVy c2lvbiAiMS4xNC4xIgorICByZXNvbHZlZCAiaHR0cHM6Ly9yZWdpc3RyeS55YXJucGtnLmNvbS90 c2xpYi8tL3RzbGliLTEuMTQuMS50Z3ojY2YyZDM4YmRjMzRhMTM0YmNhZjEwOTFjNDFmNjYxOWUy ZjY3MmQwMCIKKyAgaW50ZWdyaXR5IHNoYTUxMi1YbmkzNU5LempnTXJ3ZXZ5c0hUQ0FydExEcFB2 eWU4elYvMEU0RXlZbjQzUDcvN3F2UXdQaDlCR2tIZXdiTXVsVm50YmlnbWNUN3JkWDNCTm85d1JK Zz09CiAKIHR0ZjJ3b2ZmQDIuMC4xOgogICB2ZXJzaW9uICIyLjAuMSIKQEAgLTk0MTEsOSArOTc1 Miw5IEBAIHVuZGVjbGFyZWQtaWRlbnRpZmllcnNAXjEuMS4yOgogICAgIHh0ZW5kICJeNC4wLjEi CiAKIHVuZGVyc2NvcmVAPj0xLjcuMCwgdW5kZXJzY29yZUA+PTEuOC4zLCB1bmRlcnNjb3JlQF4x LjguMCwgdW5kZXJzY29yZUBeMS44LjMsIHVuZGVyc2NvcmVAXjEuOS4xOgotICB2ZXJzaW9uICIx LjExLjAiCi0gIHJlc29sdmVkICJodHRwczovL3JlZ2lzdHJ5Lnlhcm5wa2cuY29tL3VuZGVyc2Nv cmUvLS91bmRlcnNjb3JlLTEuMTEuMC50Z3ojZGQ3YzIzYTE5NWRiMzQyNjcxODYwNDQ2NDk4NzBm ZjFiYWI1OTI5ZSIKLSAgaW50ZWdyaXR5IHNoYTUxMi14WTk2U3NOM05BNDYxcUlSS1ovK3FveDM3 WVhQdFNCc3dNR2ZpTnB0cit3cnQ2ZHM0SGFNdzIzVFA2MTJmRXlHZWtSRTZMTlJpTFlyL2FxYkhY TmVkdz09CisgIHZlcnNpb24gIjEuMTIuMCIKKyAgcmVzb2x2ZWQgImh0dHBzOi8vcmVnaXN0cnku eWFybnBrZy5jb20vdW5kZXJzY29yZS8tL3VuZGVyc2NvcmUtMS4xMi4wLnRneiM0ODE0OTQwNTUx ZmM4MDU4N2NlZjc4NDBkMWViYjBmMTY0NTNiZTk3IgorICBpbnRlZ3JpdHkgc2hhNTEyLTIxclF6 c3MvWFBNam9sVGlJZXpTdTNKQWpnYWdYS1JPdE5yWUZFT1dLMTA5cVkxVXYydFZqUFRaMWNpMkhn dlFEQTE2Z0hZU3RoUUlKZkIrWElkL3JRPT0KIAogdW5pY29kZS1jYW5vbmljYWwtcHJvcGVydHkt bmFtZXMtZWNtYXNjcmlwdEBeMS4wLjQ6CiAgIHZlcnNpb24gIjEuMC40IgpAQCAtOTYwOCw5ICs5 OTQ5LDkgQEAgdXVpZEBeMy4wLjEsIHV1aWRAXjMuMy4yOgogICBpbnRlZ3JpdHkgc2hhNTEyLUhq U0RSdzZnWkU1Sk1nZ2N0SEJjalZhazA4K0tFVmhTSWlEekZuVDlTOWFlZ21wODVTL2JSZUJWVGI0 UVRGYVJOcHRKOWt1WWFOaG5iTkVPa2JLYi9BPT0KIAogdjgtY29tcGlsZS1jYWNoZUBeMi4xLjE6 Ci0gIHZlcnNpb24gIjIuMS4xIgotICByZXNvbHZlZCAiaHR0cHM6Ly9yZWdpc3RyeS55YXJucGtn LmNvbS92OC1jb21waWxlLWNhY2hlLy0vdjgtY29tcGlsZS1jYWNoZS0yLjEuMS50Z3ojNTRiYzNj ZGQ0MzMxN2JjYTkxZTM1ZGNhZjMwNWIxYTcyMzdkZTc0NSIKLSAgaW50ZWdyaXR5IHNoYTUxMi04 T1E5Q0wrVld5dDNKU3RqN0hYNy9jaVRMMlYzUmwxV2Y1T0wrU05UbTB5SzFLdnRSZVZ1bGtzeWVS bkNBTkhIdVV4SGxRaWcrSkpEbFVoQnQxTlFEUT09CisgIHZlcnNpb24gIjIuMi4wIgorICByZXNv bHZlZCAiaHR0cHM6Ly9yZWdpc3RyeS55YXJucGtnLmNvbS92OC1jb21waWxlLWNhY2hlLy0vdjgt Y29tcGlsZS1jYWNoZS0yLjIuMC50Z3ojOTQ3MWVmYTNlZjkxMjhkMmY3YzZhN2NhMzljNGRkNmI1 MDU1YjEzMiIKKyAgaW50ZWdyaXR5IHNoYTUxMi1nVHBSNVhRTktGd09kNGNseGZuaGFxdmZxTXBx RXdyNHRPdEN5ejRNdFlaWDJKWWhmcjFKdkJGS2RTKzdLLzlyZnBaUjNWTFgrWVdCYktveENnUzQz UT09CiAKIHZhbGlkYXRlLW5wbS1wYWNrYWdlLWxpY2Vuc2VAXjMuMC4xOgogICB2ZXJzaW9uICIz LjAuNCIKQEAgLTk2NjAsMjMgKzEwMDAxLDIzIEBAIHdhdGNoaWZ5QH4zLjExLjE6CiAgICAgdGhy b3VnaDIgIl4yLjAuMCIKICAgICB4dGVuZCAiXjQuMC4wIgogCi13YXRjaHBhY2stY2hva2lkYXIy QF4yLjAuMDoKLSAgdmVyc2lvbiAiMi4wLjAiCi0gIHJlc29sdmVkICJodHRwczovL3JlZ2lzdHJ5 Lnlhcm5wa2cuY29tL3dhdGNocGFjay1jaG9raWRhcjIvLS93YXRjaHBhY2stY2hva2lkYXIyLTIu MC4wLnRneiM5OTQ4YTE4NjZjYmJkNmNiODI0ZGVhMTNhN2VkNjkxZjZjOGRkZmYwIgotICBpbnRl Z3JpdHkgc2hhNTEyLTlUeWZPeU4vekxVYkEyODh3WjhJc01aKzZjYnp2c055RXpTQnA2ZS96a2lm aTZ4eGJsOFNtUS9DeFFxMzJrOE5OcXJkVkVWVVZTRWY1Nkw0clEvWnhBPT0KK3dhdGNocGFjay1j aG9raWRhcjJAXjIuMC4xOgorICB2ZXJzaW9uICIyLjAuMSIKKyAgcmVzb2x2ZWQgImh0dHBzOi8v cmVnaXN0cnkueWFybnBrZy5jb20vd2F0Y2hwYWNrLWNob2tpZGFyMi8tL3dhdGNocGFjay1jaG9r aWRhcjItMi4wLjEudGd6IzM4NTAwMDcyZWU2ZWNlNjZmMzc2OTkzNjk1MGVhMTc3MWJlMWM5NTci CisgIGludGVncml0eSBzaGE1MTItbkNGZkJJUEtyNVNoNjFzNExQcHkxV3RmaTBIRThpc0ozZDJZ YjUvUHB3MlAyQi8zZVZTRUJqS2ZOMGZtSEpTSzE0KzMxS3dNS21jcnpzMkdNNFAwV3c9PQogICBk ZXBlbmRlbmNpZXM6CiAgICAgY2hva2lkYXIgIl4yLjEuOCIKIAogd2F0Y2hwYWNrQF4xLjcuNDoK LSAgdmVyc2lvbiAiMS43LjQiCi0gIHJlc29sdmVkICJodHRwczovL3JlZ2lzdHJ5Lnlhcm5wa2cu Y29tL3dhdGNocGFjay8tL3dhdGNocGFjay0xLjcuNC50Z3ojNmU5ZGE1M2IzYzgwYmIyZDY1MDgx ODhmNWIyMDA0MTA4NjZjZDMwYiIKLSAgaW50ZWdyaXR5IHNoYTUxMi1hV0FnVFc0TW9TSnpaUEFp Y2xqa08xaHNpMW9Lai9SUnEvT0pRaDJQS0kyVUtMMDRjMkJzK01CT0IrQkJBQkhUWEpwZjltQ3dI TjdBTkN2WXN2WTJzZz09CisgIHZlcnNpb24gIjEuNy41IgorICByZXNvbHZlZCAiaHR0cHM6Ly9y ZWdpc3RyeS55YXJucGtnLmNvbS93YXRjaHBhY2svLS93YXRjaHBhY2stMS43LjUudGd6IzEyNjdl NmM1NWUwYjliNWJlNDRjMjAyM2FlZDU0MzdhMmMyNmM0NTMiCisgIGludGVncml0eSBzaGE1MTIt OVAzTVdrNlNyS2pIc0drTFQyS0hYZFEvOVNOa3lvSmJhYnhuS09vSmVwc3ZKakpHOHVZVFIzeVRQ eFBRdk5ESTN3NE56MXhuRTBUTEhLNFJJVmUvTVE9PQogICBkZXBlbmRlbmNpZXM6CiAgICAgZ3Jh Y2VmdWwtZnMgIl40LjEuMiIKICAgICBuZW8tYXN5bmMgIl4yLjUuMCIKICAgb3B0aW9uYWxEZXBl bmRlbmNpZXM6CiAgICAgY2hva2lkYXIgIl4zLjQuMSIKLSAgICB3YXRjaHBhY2stY2hva2lkYXIy ICJeMi4wLjAiCisgICAgd2F0Y2hwYWNrLWNob2tpZGFyMiAiXjIuMC4xIgogCiAid2ViY2FiaW4t ZG9ja2VyQGdpdCtodHRwczovL2dpdGh1Yi5jb20vRW50ZXJwcmlzZURCL3djRG9ja2VyLyNjNGEz Mzk4Yjg5NTg4NDA4ZGM3MDU4OTU2NzViY2U3YmQ3NjYwZDM2IjoKICAgdmVyc2lvbiAiMi4yLjQt ZGV2IgpAQCAtOTcwNiw3ICsxMDA0Nyw3IEBAIHdlYnBhY2stYnVuZGxlLWFuYWx5emVyQF4zLjUu MToKICAgICBvcGVuZXIgIl4xLjUuMSIKICAgICB3cyAiXjYuMC4wIgogCi13ZWJwYWNrLWNsaUBe My4yLjM6Cit3ZWJwYWNrLWNsaUBeMy4zLjExOgogICB2ZXJzaW9uICIzLjMuMTIiCiAgIHJlc29s dmVkICJodHRwczovL3JlZ2lzdHJ5Lnlhcm5wa2cuY29tL3dlYnBhY2stY2xpLy0vd2VicGFjay1j bGktMy4zLjEyLnRneiM5NGU5YWRhMDgxNDUzY2QwYWE2MDljOTllNTAwMDEyZmQzYWQyZDRhIgog ICBpbnRlZ3JpdHkgc2hhNTEyLU5WV0JhejlrODM5Wkgvc2ludXJNK0hjRHZKT1RYd1NqWXAxa3Ur NVhLZU9DMDN6OHY1UWl0bksveCtsQXhHWEZ5aGRheW9JZi9HT3B2ODV6My94UGFnPT0KQEAgLTk3 MjQsOSArMTAwNjUsOSBAQCB3ZWJwYWNrLWNsaUBeMy4yLjM6CiAgICAgeWFyZ3MgIl4xMy4zLjIi CiAKIHdlYnBhY2stZGV2LW1pZGRsZXdhcmVAXjMuNy4wOgotICB2ZXJzaW9uICIzLjcuMiIKLSAg cmVzb2x2ZWQgImh0dHBzOi8vcmVnaXN0cnkueWFybnBrZy5jb20vd2VicGFjay1kZXYtbWlkZGxl d2FyZS8tL3dlYnBhY2stZGV2LW1pZGRsZXdhcmUtMy43LjIudGd6IzAwMTljM2RiNzE2ZTNmYTVj ZWNiZjY0ZjJhYjg4YTc0YmFiMzMxZjMiCi0gIGludGVncml0eSBzaGE1MTItMXhDNDJMeGJZb3FM TkFoVjZZelRZYWNpY2dNWlFUcVJkMjdTaW05d241aEpyWDNJNW54WXkxU3hTZDQrZ2pVRnN6MWRR RmoreUVlNnpFVm1Ta2VKanc9PQorICB2ZXJzaW9uICIzLjcuMyIKKyAgcmVzb2x2ZWQgImh0dHBz Oi8vcmVnaXN0cnkueWFybnBrZy5jb20vd2VicGFjay1kZXYtbWlkZGxld2FyZS8tL3dlYnBhY2st ZGV2LW1pZGRsZXdhcmUtMy43LjMudGd6IzA2MzkzNzJiMTQzMjYyZTJiODRhYjk1ZDNiOTFhNzU5 NzA2MWMyYzUiCisgIGludGVncml0eSBzaGE1MTItZGplbGMvekdpejluWmovVTdQVEJpMlZpb3JH SlhFV28vM2x0a1BiRHl4Q1hoaEVYa1cwY2U5OWZhbGFvazRUUGorQXN4TGlYSlIwRUJPYjB6aDlm S1E9PQogICBkZXBlbmRlbmNpZXM6CiAgICAgbWVtb3J5LWZzICJeMC40LjEiCiAgICAgbWltZSAi XjIuNC40IgpAQCAtOTc0Myw5ICsxMDA4NCw5IEBAIHdlYnBhY2stbG9nQF4yLjAuMDoKICAgICB1 dWlkICJeMy4zLjIiCiAKIHdlYnBhY2stcmVxdWlyZS1mcm9tQF4xLjguMDoKLSAgdmVyc2lvbiAi MS44LjEiCi0gIHJlc29sdmVkICJodHRwczovL3JlZ2lzdHJ5Lnlhcm5wa2cuY29tL3dlYnBhY2st cmVxdWlyZS1mcm9tLy0vd2VicGFjay1yZXF1aXJlLWZyb20tMS44LjEudGd6IzE4ZmQ2ZmMxOGYw OTIwYTA5N2E2ZjQzODU1YWMzMzVmNDg2YmZiMDYiCi0gIGludGVncml0eSBzaGE1MTItaktwci82 Q0g2c1czUUg0RTVjZi9VTks0RHBzazRFMXg2SXBpSWplWlE5ck9ocjVqcXBHQ3lGVzZlL0xFRnBK M1U5QXpSdGFVSGdhaFI3UUZRbnR0TFE9PQorICB2ZXJzaW9uICIxLjguMiIKKyAgcmVzb2x2ZWQg Imh0dHBzOi8vcmVnaXN0cnkueWFybnBrZy5jb20vd2VicGFjay1yZXF1aXJlLWZyb20vLS93ZWJw YWNrLXJlcXVpcmUtZnJvbS0xLjguMi50Z3ojZDBjNjgzODU1MzMxNWJiODgwMmY4NzlhYjQzYzI5 MzA5ZjVjODBmYiIKKyAgaW50ZWdyaXR5IHNoYTUxMi1OOWtERk5HTkVubXVNL3JpVW0veU5YaGVm QVVDVUc1MHNWVjUwOW4wV3RDZEtsSWpNWWViVndHc0V1akRLUlJpeTUzOUo4NG9PWmxyWmltOUZK WE5QQT09CiAKIHdlYnBhY2stc291cmNlc0BeMC4yLjM6CiAgIHZlcnNpb24gIjAuMi4zIgpAQCAt OTg4MSw5ICsxMDIyMiw5IEBAIHh0ZW5kQF40LjAuMCwgeHRlbmRAXjQuMC4xLCB4dGVuZEBeNC4w LjIsIHh0ZW5kQH40LjAuMToKICAgaW50ZWdyaXR5IHNoYTUxMi1MS1lVMWlBWEpYVWdBWG45VVJq aXUrTVdoeVVYSHN2ZnA3bWN1WW05ZFNVS0swL0NqdHJVd0ZBeEQ4Mi9tQ1didExzR2pGSWFkMHdJ c29kNHpyVEFFUT09CiAKIHkxOG5AXjQuMC4wOgotICB2ZXJzaW9uICI0LjAuMCIKLSAgcmVzb2x2 ZWQgImh0dHBzOi8vcmVnaXN0cnkueWFybnBrZy5jb20veTE4bi8tL3kxOG4tNC4wLjAudGd6Izk1 ZWY5NGY4NWVjYzgxZDAwN2MyNjRlMTkwYTEyMGYwYTNjODU2NmIiCi0gIGludGVncml0eSBzaGE1 MTItcjlTL1p5WHUvWHU5cTF0WWxwc0xJc2EzRWVMWFhrMFZ3bHhxVGNGUmZnOUVoTVcrMTdrYnQ5 RzBOcmdDbWhHYjV2VDJoeWhKWkxmREd4KzcrNVVqL3c9PQorICB2ZXJzaW9uICI0LjAuMSIKKyAg cmVzb2x2ZWQgImh0dHBzOi8vcmVnaXN0cnkueWFybnBrZy5jb20veTE4bi8tL3kxOG4tNC4wLjEu dGd6IzhkYjJiODNjMzFjNWQ3NTA5OWJiODkwYjIzZjMwOTQ4OTFlMjQ3ZDQiCisgIGludGVncml0 eSBzaGE1MTItd05jeTROdmpNWUw4Z29nV1dZQU83WkZXRmZIY2JkYkU1N3RaTzhlNGNicGo4dGZV Y3dyd3FTbDNhZDhIeHBZV0NkWGNKVUNlS0taUzYyQXYxYWZmd1E9PQogCiB5YWxsaXN0QF4yLjEu MjoKICAgdmVyc2lvbiAiMi4xLjIiCkBAIC05OTAwLDYgKzEwMjQxLDExIEBAIHlhbGxpc3RAXjQu MC4wOgogICByZXNvbHZlZCAiaHR0cHM6Ly9yZWdpc3RyeS55YXJucGtnLmNvbS95YWxsaXN0Ly0v eWFsbGlzdC00LjAuMC50Z3ojOWJiOTI3OTBkOWMwZWZmZWM2M2JlNzM1MTllMTFhMzUwMTlhM2E3 MiIKICAgaW50ZWdyaXR5IHNoYTUxMi0zd2RHaWRaeXE1UEIwODRYTEVTNVRwT1NSQTN3alhBbElX TWh1bTJrUmN2LzQxU24yZW1RMGR5Y1FXNHVaWExlandLdmc2RXN2YmRsVkwrRllFY3Q3QT09CiAK K3lhbWxAXjEuNy4yOgorICB2ZXJzaW9uICIxLjEwLjAiCisgIHJlc29sdmVkICJodHRwczovL3Jl Z2lzdHJ5Lnlhcm5wa2cuY29tL3lhbWwvLS95YW1sLTEuMTAuMC50Z3ojM2I1OTNhZGQ5NDQ4NzYw NzdkNGQ2ODNmZWUwMTA4MWJkOWZmZjMxZSIKKyAgaW50ZWdyaXR5IHNoYTUxMi15cjJpY0k0Z2xZ YU5HK0tXT05PRGFweTIvakRkTVNEbnJPTlNqYmxBQmpEOUI0WjVMZ2lpcmNTdDhtOHNSWkZOaTA4 a0c5U20wdVNIdEVtUDN6YUVHZz09CisKIHlhcmdzLXBhcnNlckBeMTMuMS4yOgogICB2ZXJzaW9u ICIxMy4xLjIiCiAgIHJlc29sdmVkICJodHRwczovL3JlZ2lzdHJ5Lnlhcm5wa2cuY29tL3lhcmdz LXBhcnNlci8tL3lhcmdzLXBhcnNlci0xMy4xLjIudGd6IzEzMGYwOTcwMmViYWVlZjI2NTBkNTRj ZTZlM2U1NzA2ZjdhNGZiMzgiCg== --000000000000f6bf1f05b8f0621e--