<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://bugs.webkit.org/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.4.1"
          urlbase="https://bugs.webkit.org/"
          
          maintainer="admin@webkit.org"
>

    <bug>
          <bug_id>231577</bug_id>
          
          <creation_ts>2021-10-12 07:40:19 -0700</creation_ts>
          <short_desc>[webkitscmpy] List reviewers for pull-request</short_desc>
          <delta_ts>2021-10-13 15:09:51 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Tools / Tests</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Jonathan Bedard">jbedard</reporter>
          <assigned_to name="Jonathan Bedard">jbedard</assigned_to>
          <cc>dewei_zhu</cc>
    
    <cc>slewis</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1803100</commentid>
    <comment_count>0</comment_count>
    <who name="Jonathan Bedard">jbedard</who>
    <bug_when>2021-10-12 07:40:19 -0700</bug_when>
    <thetext>We need to be able to list the set of reviewers who are involved in a pull-request. In particular, we need to be able to list the set of reviewers who have approved or are blocking a particular pull-request.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1803101</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-10-12 07:40:45 -0700</bug_when>
    <thetext>&lt;rdar://problem/84146807&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1803107</commentid>
    <comment_count>2</comment_count>
      <attachid>440931</attachid>
    <who name="Jonathan Bedard">jbedard</who>
    <bug_when>2021-10-12 07:48:45 -0700</bug_when>
    <thetext>Created attachment 440931
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1803108</commentid>
    <comment_count>3</comment_count>
    <who name="Jonathan Bedard">jbedard</who>
    <bug_when>2021-10-12 07:49:08 -0700</bug_when>
    <thetext>Pull-request: https://github.com/WebKit/WebKit/pull/14</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1803659</commentid>
    <comment_count>4</comment_count>
      <attachid>440931</attachid>
    <who name="">dewei_zhu</who>
    <bug_when>2021-10-13 00:04:50 -0700</bug_when>
    <thetext>Comment on attachment 440931
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=440931&amp;action=review

&gt; Tools/Scripts/libraries/webkitscmpy/webkitscmpy/remote/bitbucket.py:86
&gt; +            elif not opened:

This seems a bit awkward. Because if `opened=1` it will slip through both condition check. Maybe we should `assert opened in [True, False, None]` at the beginning?
Another way is to use enum.Flag (new in python3.6, https://docs.python.org/3/library/enum.html) which supports bitwise operation.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1803767</commentid>
    <comment_count>5</comment_count>
      <attachid>441079</attachid>
    <who name="Jonathan Bedard">jbedard</who>
    <bug_when>2021-10-13 08:11:43 -0700</bug_when>
    <thetext>Created attachment 441079
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1803916</commentid>
    <comment_count>6</comment_count>
      <attachid>441079</attachid>
    <who name="">dewei_zhu</who>
    <bug_when>2021-10-13 12:46:17 -0700</bug_when>
    <thetext>Comment on attachment 441079
Patch

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1803951</commentid>
    <comment_count>7</comment_count>
      <attachid>441131</attachid>
    <who name="Jonathan Bedard">jbedard</who>
    <bug_when>2021-10-13 13:51:06 -0700</bug_when>
    <thetext>Created attachment 441131
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1803992</commentid>
    <comment_count>8</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-10-13 15:09:50 -0700</bug_when>
    <thetext>Committed r284128 (242948@main): &lt;https://commits.webkit.org/242948@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 441131.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>440931</attachid>
            <date>2021-10-12 07:48:45 -0700</date>
            <delta_ts>2021-10-13 08:11:41 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-231577-20211012074844.patch</filename>
            <type>text/plain</type>
            <size>25000</size>
            <attacher name="Jonathan Bedard">jbedard</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjgzOTgwCmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggMDQxOWNlNzY0NWM2MGRiOWQ3YTI2NjUwNzc0MTI0ZTdm
ZDgyN2E3YS4uOWQ5N2Y1MWJhMDE2YjRhYTAyMWI5NWY2OTFjOTA1ZTkyNjJkYTI3NiAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQz
IEBACisyMDIxLTEwLTEyICBKb25hdGhhbiBCZWRhcmQgIDxqYmVkYXJkQGFwcGxlLmNvbT4KKwor
ICAgICAgICBbd2Via2l0c2NtcHldIExpc3QgcmV2aWV3ZXJzIGZvciBwdWxsLXJlcXVlc3QKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzMTU3NworICAg
ICAgICA8cmRhcjovL3Byb2JsZW0vODQxNDY4MDc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgKiBTY3JpcHRzL2xpYnJhcmllcy93ZWJraXRzY21weS93
ZWJraXRzY21weS9tb2Nrcy9yZW1vdGUvYml0YnVja2V0LnB5OgorICAgICAgICAoQml0QnVja2V0
LnJlcXVlc3QpOiBBZGQgc3RhdGUgdG8gY3JlYXRlZCBwdWxsLXJlcWVzdC4KKyAgICAgICAgKiBT
Y3JpcHRzL2xpYnJhcmllcy93ZWJraXRzY21weS93ZWJraXRzY21weS9tb2Nrcy9yZW1vdGUvZ2l0
X2h1Yi5weToKKyAgICAgICAgKEdpdEh1Yik6CisgICAgICAgIChHaXRIdWIuX3VzZXJzKTogVmVu
ZCBqc29uIHJlcHJlc2VudGF0aW9uIG9mIHVzZXIgZm9yIHVzZXJuYW1lLgorICAgICAgICAoR2l0
SHViLnJlcXVlc3QpOiBGaWx0ZXIgcmV2aWV3IGRldGFpbHMsIGFkZCB1c2VycyBlbmRwb2ludC4K
KyAgICAgICAgKiBTY3JpcHRzL2xpYnJhcmllcy93ZWJraXRzY21weS93ZWJraXRzY21weS9wcm9n
cmFtL3B1bGxfcmVxdWVzdC5weToKKyAgICAgICAgKFB1bGxSZXF1ZXN0Lm1haW4pOiBNYXRjaCBi
b3RoIGNsb3NlZCBhbmQgb3BlbmVkIHB1bGwtcmVxdWVzdHMuCisgICAgICAgICogU2NyaXB0cy9s
aWJyYXJpZXMvd2Via2l0c2NtcHkvd2Via2l0c2NtcHkvcHVsbF9yZXF1ZXN0LnB5OgorICAgICAg
ICAoUHVsbFJlcXVlc3QpOiBSZW1vdmUgc3RhdGUuCisgICAgICAgIChQdWxsUmVxdWVzdC5fX2lu
aXRfXyk6IEFkZCBvcGVuZWQgZmxhZywgcmV2aWV3ZXJzIGFuZCBnZW5lcmF0b3IuCisgICAgICAg
IChQdWxsUmVxdWVzdC5yZXZpZXdlcnMpOiBMaXN0IHRoZSB1c2VycyB3aG8gYXJlIHJldmlld2lu
ZyB0aGlzIGNoYW5nZS4KKyAgICAgICAgKFB1bGxSZXF1ZXN0LmFwcHJvdmVycyk6IExpc3QgdGhl
IHVzZXJzIHdobyBoYXZlIGFwcm92ZWQgdGhpcyBjaGFuZ2UuCisgICAgICAgIChQdWxsUmVxdWVz
dC5ibG9ja2Vycyk6IExpc3QgdGhlIHVzZXJzIHRoYXQgYXJlIGJsb2NraW5nIHRoaXMgY2hhbmdl
IGZyb20gbGFuZGluZy4KKyAgICAgICAgKFB1bGxSZXF1ZXN0Lm9wZW5lZCk6IENoZWNrIHRoZSBw
dWxsLXJlcXVlc3QgaXMgb3BlbmVkLgorICAgICAgICAoUHVsbFJlcXVlc3QuU3RhdGUpOiBEZWxl
dGVkLgorICAgICAgICAqIFNjcmlwdHMvbGlicmFyaWVzL3dlYmtpdHNjbXB5L3dlYmtpdHNjbXB5
L3JlbW90ZS9iaXRidWNrZXQucHk6CisgICAgICAgIChCaXRCdWNrZXQuUFJHZW5lcmF0b3IuUHVs
bFJlcXVlc3QpOiBTZXQgb3BlbmVkIGZsYWcsIHNwZWNpZnkgcmV2aWV3ZXJzLgorICAgICAgICAo
Qml0QnVja2V0LlBSR2VuZXJhdG9yLmZpbmQpOiBGaWx0ZXIgYnkgb3BlbmVkIGZsYWcgaW5zdGVh
ZCBvZiBzdGF0ZS4KKyAgICAgICAgKEJpdEJ1Y2tldC5QUkdlbmVyYXRvci51cGRhdGUpOiBTZXQg
Z2VuZXJhdG9yLgorICAgICAgICAoQml0QnVja2V0LlBSR2VuZXJhdG9yLnJldmlld2Vycyk6IFNl
dCByZXZpZXdlciBsaXN0cy4KKyAgICAgICAgKiBTY3JpcHRzL2xpYnJhcmllcy93ZWJraXRzY21w
eS93ZWJraXRzY21weS9yZW1vdGUvZ2l0X2h1Yi5weToKKyAgICAgICAgKEdpdEh1Yi5QUkdlbmVy
YXRvci5QdWxsUmVxdWVzdCk6IFNldCBvcGVuZWQgZmxhZywgcGFzcyBnZW5lcmF0b3IuCisgICAg
ICAgIChHaXRIdWIuUFJHZW5lcmF0b3IuZmluZCk6IEZpbHRlciBieSBvcGVuZWQgZmxhZyBpbnN0
ZWFkIG9mIHN0YXRlLgorICAgICAgICAoR2l0SHViLlBSR2VuZXJhdG9yLnVwZGF0ZSk6IFNldCBn
ZW5lcmF0b3IgYW5kIG9wZW5lZCBmbGFnLgorICAgICAgICAoR2l0SHViLlBSR2VuZXJhdG9yLl9j
b250cmlidXRvcik6IEZpbmQgY29udHJpYnV0b3IgbWF0Y2hpbmcgdXNlcm5hbWUuCisgICAgICAg
IChHaXRIdWIuUFJHZW5lcmF0b3IucmV2aWV3ZXJzKTogUG9wdWxhdGUgbGlzdHMgb2YgcmV2aWV3
ZXJzIGZvciBhIHB1bGwtcmVxdWVzdC4KKyAgICAgICAgKiBTY3JpcHRzL2xpYnJhcmllcy93ZWJr
aXRzY21weS93ZWJraXRzY21weS9yZW1vdGUvc2NtLnB5OgorICAgICAgICAoU2NtLlBSR2VuZXJh
dG9yLmZpbmQpOiBGaWx0ZXIgdmlhIG9wZW5lZCBmbGFnIGluc3RlYWQgb2Ygc3RhdGUuCisgICAg
ICAgIChTY20uUFJHZW5lcmF0b3IucmV2aWV3ZXJzKTogRnVuY3Rpb24gd2hpY2ggcG9wdWxhdGVz
IHJldmlld2VyIGxpc3RzIGZvciBhIHB1bGwtcmVxdWVzdC4KKyAgICAgICAgKiBTY3JpcHRzL2xp
YnJhcmllcy93ZWJraXRzY21weS93ZWJraXRzY21weS90ZXN0L3B1bGxfcmVxdWVzdF91bml0dGVz
dC5weToKKwogMjAyMS0xMC0xMSAgRGllZ28gUGlubyBHYXJjaWEgIDxkcGlub0BpZ2FsaWEuY29t
PgogCiAgICAgICAgIFtHVEtdIFVucmV2aWV3ZWQgYnVpbGQgZml4LiBGaXggYnVpbGQgZm9yIERl
YmlhbiAxMCAoQnVzdGVyKQpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy9saWJyYXJpZXMvd2Vi
a2l0c2NtcHkvd2Via2l0c2NtcHkvbW9ja3MvcmVtb3RlL2JpdGJ1Y2tldC5weSBiL1Rvb2xzL1Nj
cmlwdHMvbGlicmFyaWVzL3dlYmtpdHNjbXB5L3dlYmtpdHNjbXB5L21vY2tzL3JlbW90ZS9iaXRi
dWNrZXQucHkKaW5kZXggZDJmNDVmOGNkOTYyOGQ1NjA1ODMwY2MxZTljN2E1YmY4NGI1OWEyMC4u
NGI5ZDQyOTczYjM3ODBhZjMxMDhkYTUzOTE2NTFlMjUxYWQyMjMxYiAxMDA2NDQKLS0tIGEvVG9v
bHMvU2NyaXB0cy9saWJyYXJpZXMvd2Via2l0c2NtcHkvd2Via2l0c2NtcHkvbW9ja3MvcmVtb3Rl
L2JpdGJ1Y2tldC5weQorKysgYi9Ub29scy9TY3JpcHRzL2xpYnJhcmllcy93ZWJraXRzY21weS93
ZWJraXRzY21weS9tb2Nrcy9yZW1vdGUvYml0YnVja2V0LnB5CkBAIC0yMjIsNiArMjIyLDcgQEAg
Y2xhc3MgQml0QnVja2V0KG1vY2tzLlJlcXVlc3RzKToKICAgICAgICAgICAgIGpzb25bJ2lkJ10g
PSAxICsgbWF4KFswXSArIFtwci5nZXQoJ2lkJywgMCkgZm9yIHByIGluIHNlbGYucHVsbF9yZXF1
ZXN0c10pCiAgICAgICAgICAgICBqc29uWydmcm9tUmVmJ11bJ2Rpc3BsYXlJZCddID0ganNvblsn
ZnJvbVJlZiddWydpZCddLnNwbGl0KCcvJylbLTI6XQogICAgICAgICAgICAganNvblsndG9SZWYn
XVsnZGlzcGxheUlkJ10gPSBqc29uWyd0b1JlZiddWydpZCddLnNwbGl0KCcvJylbLTI6XQorICAg
ICAgICAgICAganNvblsnc3RhdGUnXSA9ICdPUEVOJwogICAgICAgICAgICAgc2VsZi5wdWxsX3Jl
cXVlc3RzLmFwcGVuZChqc29uKQogICAgICAgICAgICAgcmV0dXJuIG1vY2tzLlJlc3BvbnNlLmZy
b21Kc29uKGpzb24pCiAKZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvbGlicmFyaWVzL3dlYmtp
dHNjbXB5L3dlYmtpdHNjbXB5L21vY2tzL3JlbW90ZS9naXRfaHViLnB5IGIvVG9vbHMvU2NyaXB0
cy9saWJyYXJpZXMvd2Via2l0c2NtcHkvd2Via2l0c2NtcHkvbW9ja3MvcmVtb3RlL2dpdF9odWIu
cHkKaW5kZXggOThjYWVkZGNkMzliMTJhNGZjYjk0YjZkYTY2OTgwOTY0ZWM5MzgwNC4uY2M4NmYw
ZmFiNjdmOTNjNzQzMmIxOTYzYzI4ZDljMzZhYTdkMjRlNCAxMDA2NDQKLS0tIGEvVG9vbHMvU2Ny
aXB0cy9saWJyYXJpZXMvd2Via2l0c2NtcHkvd2Via2l0c2NtcHkvbW9ja3MvcmVtb3RlL2dpdF9o
dWIucHkKKysrIGIvVG9vbHMvU2NyaXB0cy9saWJyYXJpZXMvd2Via2l0c2NtcHkvd2Via2l0c2Nt
cHkvbW9ja3MvcmVtb3RlL2dpdF9odWIucHkKQEAgLTU5LDYgKzU5LDcgQEAgY2xhc3MgR2l0SHVi
KG1vY2tzLlJlcXVlc3RzKToKICAgICAgICAgc2VsZi5oZWFkID0gc2VsZi5jb21taXRzW3NlbGYu
ZGVmYXVsdF9icmFuY2hdWy0xXQogICAgICAgICBzZWxmLnRhZ3MgPSB7fQogICAgICAgICBzZWxm
LnB1bGxfcmVxdWVzdHMgPSBbXQorICAgICAgICBzZWxmLnVzZXJzID0gZGljdCgpCiAgICAgICAg
IHNlbGYuX2Vudmlyb25tZW50ID0gTm9uZQogCiAgICAgZGVmIF9fZW50ZXJfXyhzZWxmKToKQEAg
LTI4MSw2ICsyODIsMTUgQEAgY2xhc3MgR2l0SHViKG1vY2tzLlJlcXVlc3RzKToKICAgICAgICAg
ICAgICksIHVybD11cmwKICAgICAgICAgKQogCisgICAgZGVmIF91c2VycyhzZWxmLCB1cmwsIHVz
ZXJuYW1lKToKKyAgICAgICAgdXNlciA9IHNlbGYudXNlcnMuZ2V0KHVzZXJuYW1lKQorICAgICAg
ICBpZiBub3QgdXNlcjoKKyAgICAgICAgICAgIHJldHVybiBtb2Nrcy5SZXNwb25zZS5jcmVhdGU0
MDQodXJsKQorICAgICAgICByZXR1cm4gbW9ja3MuUmVzcG9uc2UuZnJvbUpzb24oZGljdCgKKyAg
ICAgICAgICAgIG5hbWU9dXNlci5uYW1lLAorICAgICAgICAgICAgZW1haWw9dXNlci5lbWFpbCwK
KyAgICAgICAgKSwgdXJsPXVybCkKKwogICAgIGRlZiByZXF1ZXN0KHNlbGYsIG1ldGhvZCwgdXJs
LCBkYXRhPU5vbmUsIHBhcmFtcz1Ob25lLCBhdXRoPU5vbmUsIGpzb249Tm9uZSwgKiprd2FyZ3Mp
OgogICAgICAgICBpZiBub3QgdXJsLnN0YXJ0c3dpdGgoJ2h0dHA6Ly8nKSBhbmQgbm90IHVybC5z
dGFydHN3aXRoKCdodHRwczovLycpOgogICAgICAgICAgICAgcmV0dXJuIG1vY2tzLlJlc3BvbnNl
LmNyZWF0ZTQwNCh1cmwpCkBAIC0zNTcsOCArMzY3LDE2IEBAIGNsYXNzIEdpdEh1Yihtb2Nrcy5S
ZXF1ZXN0cyk6CiAgICAgICAgICMgUHVsbC1yZXF1ZXN0IGJ5IG51bWJlcgogICAgICAgICBpZiBt
ZXRob2QgPT0gJ0dFVCcgYW5kIHN0cmlwcGVkX3VybC5zdGFydHN3aXRoKHByX2Jhc2UpOgogICAg
ICAgICAgICAgZm9yIGNhbmRpZGF0ZSBpbiBzZWxmLnB1bGxfcmVxdWVzdHM6Ci0gICAgICAgICAg
ICAgICAgaWYgc3RyaXBwZWRfdXJsLnNwbGl0KCcvJylbLTFdID09IHN0cihjYW5kaWRhdGVbJ251
bWJlciddKToKLSAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG1vY2tzLlJlc3BvbnNlLmZyb21K
c29uKGNhbmRpZGF0ZSwgdXJsPXVybCkKKyAgICAgICAgICAgICAgICBpZiBzdHJpcHBlZF91cmwu
c3BsaXQoJy8nKVs1XSA9PSBzdHIoY2FuZGlkYXRlWydudW1iZXInXSk6CisgICAgICAgICAgICAg
ICAgICAgIGlmIGxlbihzdHJpcHBlZF91cmwuc3BsaXQoJy8nKSkgPT0gNzoKKyAgICAgICAgICAg
ICAgICAgICAgICAgIGlmIHN0cmlwcGVkX3VybC5zcGxpdCgnLycpWzZdID09ICdyZXF1ZXN0ZWRf
cmV2aWV3ZXJzJzoKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gbW9ja3MuUmVz
cG9uc2UuZnJvbUpzb24oZGljdCh1c2Vycz1jYW5kaWRhdGUuZ2V0KCdyZXF1ZXN0ZWRfcmV2aWV3
cycsIFtdKSkpCisgICAgICAgICAgICAgICAgICAgICAgICBpZiBzdHJpcHBlZF91cmwuc3BsaXQo
Jy8nKVs2XSA9PSAncmV2aWV3cyc6CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJu
IG1vY2tzLlJlc3BvbnNlLmZyb21Kc29uKGNhbmRpZGF0ZS5nZXQoJ3Jldmlld3MnLCBbXSkpCisg
ICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gbW9ja3MuUmVzcG9uc2UuY3JlYXRlNDA0KHVy
bCkKKyAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG1vY2tzLlJlc3BvbnNlLmZyb21Kc29uKHsK
KyAgICAgICAgICAgICAgICAgICAgICAgIGtleTogdmFsdWUgZm9yIGtleSwgdmFsdWUgaW4gY2Fu
ZGlkYXRlLml0ZW1zKCkgaWYga2V5IG5vdCBpbiAoJ3JlcXVlc3RlZF9yZXZpZXdzJywgJ3Jldmll
d3MnKQorICAgICAgICAgICAgICAgICAgICB9LCB1cmw9dXJsKQogICAgICAgICAgICAgcmV0dXJu
IG1vY2tzLlJlc3BvbnNlLmNyZWF0ZTQwNCh1cmwpCiAKICAgICAgICAgIyBDcmVhdGUvdXBkYXRl
IHB1bGwtcmVxdWVzdApAQCAtMzk4LDYgKzQxNiwxMCBAQCBjbGFzcyBHaXRIdWIobW9ja3MuUmVx
dWVzdHMpOgogICAgICAgICAgICAgaWYgZXhpc3RpbmcgaXMgTm9uZToKICAgICAgICAgICAgICAg
ICByZXR1cm4gbW9ja3MuUmVzcG9uc2UuY3JlYXRlNDA0KHVybCkKICAgICAgICAgICAgIHNlbGYu
cHVsbF9yZXF1ZXN0c1tleGlzdGluZ10udXBkYXRlKHByKQotICAgICAgICAgICAgcmV0dXJuIG1v
Y2tzLlJlc3BvbnNlLmZyb21Kc29uKHNlbGYucHVsbF9yZXF1ZXN0c1tpXSwgdXJsPXVybCkKKyAg
ICAgICAgICAgIHJldHVybiBtb2Nrcy5SZXNwb25zZS5mcm9tSnNvbihzZWxmLnB1bGxfcmVxdWVz
dHNbZXhpc3RpbmddLCB1cmw9dXJsKQorCisgICAgICAgICMgQWNjZXNzIHVzZXIKKyAgICAgICAg
aWYgbWV0aG9kID09ICdHRVQnIGFuZCBzdHJpcHBlZF91cmwuc3RhcnRzd2l0aCgne30vdXNlcnMn
LmZvcm1hdChzZWxmLmFwaV9yZW1vdGUuc3BsaXQoJy8nKVswXSkpOgorICAgICAgICAgICAgcmV0
dXJuIHNlbGYuX3VzZXJzKHVybCwgc3RyaXBwZWRfdXJsLnNwbGl0KCcvJylbLTFdKQogCiAgICAg
ICAgIHJldHVybiBtb2Nrcy5SZXNwb25zZS5jcmVhdGU0MDQodXJsKQpkaWZmIC0tZ2l0IGEvVG9v
bHMvU2NyaXB0cy9saWJyYXJpZXMvd2Via2l0c2NtcHkvd2Via2l0c2NtcHkvcHJvZ3JhbS9wdWxs
X3JlcXVlc3QucHkgYi9Ub29scy9TY3JpcHRzL2xpYnJhcmllcy93ZWJraXRzY21weS93ZWJraXRz
Y21weS9wcm9ncmFtL3B1bGxfcmVxdWVzdC5weQppbmRleCA4YzJhMWQ3OWZkNWMwNjUzODQ3NjU3
NzdkOGIwNmE5NWNjYzY1ZjEwLi43YzlhZDI0ZTNiMzQyNjZiNjczZDU1NWE4ZmY5YjM2YmYwOWQx
ZDk5IDEwMDY0NAotLS0gYS9Ub29scy9TY3JpcHRzL2xpYnJhcmllcy93ZWJraXRzY21weS93ZWJr
aXRzY21weS9wcm9ncmFtL3B1bGxfcmVxdWVzdC5weQorKysgYi9Ub29scy9TY3JpcHRzL2xpYnJh
cmllcy93ZWJraXRzY21weS93ZWJraXRzY21weS9wcm9ncmFtL3B1bGxfcmVxdWVzdC5weQpAQCAt
MTIxLDcgKzEyMSw3IEBAIGNsYXNzIFB1bGxSZXF1ZXN0KENvbW1hbmQpOgogICAgICAgICAgICAg
c3lzLnN0ZGVyci53cml0ZSgiJ3t9JyBjYW5ub3QgZ2VuZXJhdGUgcHVsbC1yZXF1ZXN0c1xuIi5m
b3JtYXQocm10LnVybCkpCiAgICAgICAgICAgICByZXR1cm4gMQogICAgICAgICB1c2VyLCBfID0g
cm10LmNyZWRlbnRpYWxzKHJlcXVpcmVkPVRydWUpIGlmIGlzaW5zdGFuY2Uocm10LCByZW1vdGUu
R2l0SHViKSBlbHNlIChyZXBvc2l0b3J5LmNvbmZpZygpWyd1c2VyLmVtYWlsJ10sIE5vbmUpCi0g
ICAgICAgIGNhbmRpZGF0ZXMgPSBsaXN0KHJtdC5wdWxsX3JlcXVlc3RzLmZpbmQoaGVhZD1yZXBv
c2l0b3J5LmJyYW5jaCkpCisgICAgICAgIGNhbmRpZGF0ZXMgPSBsaXN0KHJtdC5wdWxsX3JlcXVl
c3RzLmZpbmQob3BlbmVkPU5vbmUsIGhlYWQ9cmVwb3NpdG9yeS5icmFuY2gpKQogICAgICAgICBj
b21taXRzID0gbGlzdChyZXBvc2l0b3J5LmNvbW1pdHMoYmVnaW49ZGljdChoYXNoPWJyYW5jaF9w
b2ludC5oYXNoKSwgZW5kPWRpY3QoYnJhbmNoPXJlcG9zaXRvcnkuYnJhbmNoKSkpCiAKICAgICAg
ICAgdGl0bGUgPSBjb21taXRzWzBdLm1lc3NhZ2Uuc3BsaXRsaW5lcygpWzBdCmRpZmYgLS1naXQg
YS9Ub29scy9TY3JpcHRzL2xpYnJhcmllcy93ZWJraXRzY21weS93ZWJraXRzY21weS9wdWxsX3Jl
cXVlc3QucHkgYi9Ub29scy9TY3JpcHRzL2xpYnJhcmllcy93ZWJraXRzY21weS93ZWJraXRzY21w
eS9wdWxsX3JlcXVlc3QucHkKaW5kZXggNDQ4NGQ1M2U5YTc5NTA4MjQxMmNiNjQ3MWQ1MWE4NGQz
ZGRkMWIzYy4uNTUxYzFjNmJiODUyYWM0YWExZTQ4ZmZjZDk4OTdmMmExOThlMDZmNCAxMDA2NDQK
LS0tIGEvVG9vbHMvU2NyaXB0cy9saWJyYXJpZXMvd2Via2l0c2NtcHkvd2Via2l0c2NtcHkvcHVs
bF9yZXF1ZXN0LnB5CisrKyBiL1Rvb2xzL1NjcmlwdHMvbGlicmFyaWVzL3dlYmtpdHNjbXB5L3dl
YmtpdHNjbXB5L3B1bGxfcmVxdWVzdC5weQpAQCAtNDQsMTAgKzQ0LDYgQEAgY2xhc3MgUHVsbFJl
cXVlc3Qob2JqZWN0KToKICAgICAgICAgJyYnOiAnJmFtcDsnLAogICAgIH0KIAotICAgIGNsYXNz
IFN0YXRlKG9iamVjdCk6Ci0gICAgICAgIE9QRU5FRCA9ICdvcGVuZWQnCi0gICAgICAgIENMT1NF
RCA9ICdjbG9zZWQnCi0KICAgICBAY2xhc3NtZXRob2QKICAgICBkZWYgZXNjYXBlX2h0bWwoY2xz
LCBtZXNzYWdlKToKICAgICAgICAgbWVzc2FnZSA9ICcnLmpvaW4oY2xzLkVTQ0FQRV9UQUJMRS5n
ZXQoYywgYykgZm9yIGMgaW4gbWVzc2FnZSkKQEAgLTEwMywxMyArOTksNDIgQEAgY2xhc3MgUHVs
bFJlcXVlc3Qob2JqZWN0KToKICAgICAgICAgICAgICAgICAgICAgYm9keSA9IHBhcnQucnN0cmlw
KCkubHN0cmlwKCkKICAgICAgICAgcmV0dXJuIGJvZHkgb3IgTm9uZSwgY29tbWl0cwogCi0gICAg
ZGVmIF9faW5pdF9fKHNlbGYsIG51bWJlciwgdGl0bGU9Tm9uZSwgYm9keT1Ob25lLCBhdXRob3I9
Tm9uZSwgaGVhZD1Ob25lLCBiYXNlPU5vbmUpOgorICAgIGRlZiBfX2luaXRfXyhzZWxmLCBudW1i
ZXIsIHRpdGxlPU5vbmUsIGJvZHk9Tm9uZSwgYXV0aG9yPU5vbmUsIGhlYWQ9Tm9uZSwgYmFzZT1O
b25lLCBvcGVuZWQ9Tm9uZSwgZ2VuZXJhdG9yPU5vbmUpOgogICAgICAgICBzZWxmLm51bWJlciA9
IG51bWJlcgogICAgICAgICBzZWxmLnRpdGxlID0gdGl0bGUKICAgICAgICAgc2VsZi5ib2R5LCBz
ZWxmLmNvbW1pdHMgPSBzZWxmLnBhcnNlX2JvZHkoYm9keSkKICAgICAgICAgc2VsZi5hdXRob3Ig
PSBhdXRob3IKICAgICAgICAgc2VsZi5oZWFkID0gaGVhZAogICAgICAgICBzZWxmLmJhc2UgPSBi
YXNlCisgICAgICAgIHNlbGYuX29wZW5lZCA9IG9wZW5lZAorICAgICAgICBzZWxmLl9yZXZpZXdl
cnMgPSBOb25lCisgICAgICAgIHNlbGYuX2FwcHJvdmVycyA9IE5vbmUKKyAgICAgICAgc2VsZi5f
YmxvY2tlcnMgPSBOb25lCisgICAgICAgIHNlbGYuZ2VuZXJhdG9yID0gZ2VuZXJhdG9yCisKKyAg
ICBAcHJvcGVydHkKKyAgICBkZWYgcmV2aWV3ZXJzKHNlbGYpOgorICAgICAgICBpZiBzZWxmLl9y
ZXZpZXdlcnMgaXMgTm9uZSBhbmQgc2VsZi5nZW5lcmF0b3I6CisgICAgICAgICAgICBzZWxmLmdl
bmVyYXRvci5yZXZpZXdlcnMoc2VsZikKKyAgICAgICAgcmV0dXJuIHNlbGYuX3Jldmlld2Vycwor
CisgICAgQHByb3BlcnR5CisgICAgZGVmIGFwcHJvdmVycyhzZWxmKToKKyAgICAgICAgaWYgc2Vs
Zi5fYXBwcm92ZXJzIGlzIE5vbmUgYW5kIHNlbGYuZ2VuZXJhdG9yOgorICAgICAgICAgICAgc2Vs
Zi5nZW5lcmF0b3IucmV2aWV3ZXJzKHNlbGYpCisgICAgICAgIHJldHVybiBzZWxmLl9hcHByb3Zl
cnMKKworICAgIEBwcm9wZXJ0eQorICAgIGRlZiBibG9ja2VycyhzZWxmKToKKyAgICAgICAgaWYg
c2VsZi5fYmxvY2tlcnMgaXMgTm9uZSBhbmQgc2VsZi5nZW5lcmF0b3I6CisgICAgICAgICAgICBz
ZWxmLmdlbmVyYXRvci5yZXZpZXdlcnMoc2VsZikKKyAgICAgICAgcmV0dXJuIHNlbGYuX2Jsb2Nr
ZXJzCisKKyAgICBAcHJvcGVydHkKKyAgICBkZWYgb3BlbmVkKHNlbGYpOgorICAgICAgICBpZiBz
ZWxmLl9vcGVuZWQgaXMgTm9uZToKKyAgICAgICAgICAgIHJldHVybiAnPycKKyAgICAgICAgcmV0
dXJuIHNlbGYuX29wZW5lZAogCiAgICAgZGVmIF9fcmVwcl9fKHNlbGYpOgogICAgICAgICByZXR1
cm4gJ1BSIHt9e30nLmZvcm1hdChzZWxmLm51bWJlciwgJyB8IHt9Jy5mb3JtYXQoc2VsZi50aXRs
ZSkgaWYgc2VsZi50aXRsZSBlbHNlICcnKQpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy9saWJy
YXJpZXMvd2Via2l0c2NtcHkvd2Via2l0c2NtcHkvcmVtb3RlL2JpdGJ1Y2tldC5weSBiL1Rvb2xz
L1NjcmlwdHMvbGlicmFyaWVzL3dlYmtpdHNjbXB5L3dlYmtpdHNjbXB5L3JlbW90ZS9iaXRidWNr
ZXQucHkKaW5kZXggMzM3MWNjZDZhOTQ1YTU5MzBjMDYwYWMzYzU3YzljNGZmOTZkMTVkZS4uZDE4
NjdhYTYzNWM0MDJhOGE4ZjVkMWQzZmM5MjUzYmE4NTZkOGMwMyAxMDA2NDQKLS0tIGEvVG9vbHMv
U2NyaXB0cy9saWJyYXJpZXMvd2Via2l0c2NtcHkvd2Via2l0c2NtcHkvcmVtb3RlL2JpdGJ1Y2tl
dC5weQorKysgYi9Ub29scy9TY3JpcHRzL2xpYnJhcmllcy93ZWJraXRzY21weS93ZWJraXRzY21w
eS9yZW1vdGUvYml0YnVja2V0LnB5CkBAIC00MiwzMCArNDIsNTAgQEAgY2xhc3MgQml0QnVja2V0
KFNjbSk6CiAgICAgICAgIGRlZiBQdWxsUmVxdWVzdChzZWxmLCBkYXRhKToKICAgICAgICAgICAg
IGlmIG5vdCBkYXRhOgogICAgICAgICAgICAgICAgIHJldHVybiBOb25lCi0gICAgICAgICAgICBy
ZXR1cm4gUHVsbFJlcXVlc3QoCisgICAgICAgICAgICByZXN1bHQgPSBQdWxsUmVxdWVzdCgKICAg
ICAgICAgICAgICAgICBudW1iZXI9ZGF0YVsnaWQnXSwKICAgICAgICAgICAgICAgICB0aXRsZT1k
YXRhLmdldCgndGl0bGUnKSwKICAgICAgICAgICAgICAgICBib2R5PWRhdGEuZ2V0KCdkZXNjcmlw
dGlvbicpLAogICAgICAgICAgICAgICAgIGF1dGhvcj1zZWxmLnJlcG9zaXRvcnkuY29udHJpYnV0
b3JzLmNyZWF0ZSgKICAgICAgICAgICAgICAgICAgICAgZGF0YVsnYXV0aG9yJ11bJ3VzZXInXVsn
ZGlzcGxheU5hbWUnXSwKLSAgICAgICAgICAgICAgICAgICAgZGF0YVsnYXV0aG9yJ11bJ3VzZXIn
XVsnZW1haWxBZGRyZXNzJ10sCisgICAgICAgICAgICAgICAgICAgIGRhdGFbJ2F1dGhvciddWyd1
c2VyJ10uZ2V0KCdlbWFpbEFkZHJlc3MnLCBOb25lKSwKICAgICAgICAgICAgICAgICApLCBoZWFk
PWRhdGFbJ2Zyb21SZWYnXVsnZGlzcGxheUlkJ10sCiAgICAgICAgICAgICAgICAgYmFzZT1kYXRh
Wyd0b1JlZiddWydkaXNwbGF5SWQnXSwKKyAgICAgICAgICAgICAgICBvcGVuZWQ9VHJ1ZSBpZiBk
YXRhLmdldCgnb3BlbicpIGVsc2UgKEZhbHNlIGlmIGRhdGEuZ2V0KCdjbG9zZWQnKSBlbHNlIE5v
bmUpLAorICAgICAgICAgICAgICAgIGdlbmVyYXRvcj1zZWxmLAogICAgICAgICAgICAgKQogCisg
ICAgICAgICAgICByZXN1bHQuX3Jldmlld2VycyA9IFtdCisgICAgICAgICAgICByZXN1bHQuX2Fw
cHJvdmVycyA9IFtdCisgICAgICAgICAgICByZXN1bHQuX2Jsb2NrZXJzID0gW10KKyAgICAgICAg
ICAgIGZvciByZGF0YSBpbiBkYXRhLmdldCgncmV2aWV3ZXJzJywgW10pOgorICAgICAgICAgICAg
ICAgIHJldmlld2VyID0gc2VsZi5yZXBvc2l0b3J5LmNvbnRyaWJ1dG9ycy5jcmVhdGUoCisgICAg
ICAgICAgICAgICAgICAgIHJkYXRhWyd1c2VyJ11bJ2Rpc3BsYXlOYW1lJ10sCisgICAgICAgICAg
ICAgICAgICAgIHJkYXRhWyd1c2VyJ10uZ2V0KCdlbWFpbEFkZHJlc3MnLCBOb25lKSwKKyAgICAg
ICAgICAgICAgICApCisgICAgICAgICAgICAgICAgcmVzdWx0Ll9yZXZpZXdlcnMuYXBwZW5kKHJl
dmlld2VyKQorICAgICAgICAgICAgICAgIGlmIHJkYXRhLmdldCgnYXBwcm92ZWQnLCBGYWxzZSk6
CisgICAgICAgICAgICAgICAgICAgIHJlc3VsdC5fYXBwcm92ZXJzLmFwcGVuZChyZXZpZXdlcikK
KyAgICAgICAgICAgICAgICBpZiByZGF0YS5nZXQoJ3N0YXR1cycpID09ICdORUVEU19XT1JLJzoK
KyAgICAgICAgICAgICAgICAgICAgcmVzdWx0Ll9ibG9ja2Vycy5hcHBlbmQocmV2aWV3ZXIpCisK
KyAgICAgICAgICAgIHJlc3VsdC5fcmV2aWV3ZXJzID0gc29ydGVkKHJlc3VsdC5fcmV2aWV3ZXJz
KQorICAgICAgICAgICAgcmV0dXJuIHJlc3VsdAorCiAgICAgICAgIGRlZiBnZXQoc2VsZiwgbnVt
YmVyKToKICAgICAgICAgICAgIHJldHVybiBzZWxmLlB1bGxSZXF1ZXN0KHNlbGYucmVwb3NpdG9y
eS5yZXF1ZXN0KCdwdWxsLXJlcXVlc3RzL3t9Jy5mb3JtYXQoaW50KG51bWJlcikpKSkKIAotICAg
ICAgICBkZWYgZmluZChzZWxmLCBzdGF0ZT1Ob25lLCBoZWFkPU5vbmUsIGJhc2U9Tm9uZSk6Cisg
ICAgICAgIGRlZiBmaW5kKHNlbGYsIG9wZW5lZD1UcnVlLCBoZWFkPU5vbmUsIGJhc2U9Tm9uZSk6
CiAgICAgICAgICAgICBwYXJhbXMgPSBkaWN0KAogICAgICAgICAgICAgICAgIGxpbWl0PTEwMCwK
ICAgICAgICAgICAgICAgICB3aXRoUHJvcGVydGllcz0nZmFsc2UnLAogICAgICAgICAgICAgICAg
IHdpdGhBdHRyaWJ1dGVzPSdmYWxzZScsCiAgICAgICAgICAgICApCi0gICAgICAgICAgICBpZiBz
dGF0ZSA9PSBQdWxsUmVxdWVzdC5TdGF0ZS5PUEVORUQ6CisgICAgICAgICAgICBpZiBvcGVuZWQg
aXMgVHJ1ZToKICAgICAgICAgICAgICAgICBwYXJhbXNbJ3N0YXRlJ10gPSAnT1BFTicKLSAgICAg
ICAgICAgIGlmIHN0YXRlID09IFB1bGxSZXF1ZXN0LlN0YXRlLkNMT1NFRDoKKyAgICAgICAgICAg
IGVsaWYgbm90IG9wZW5lZDoKICAgICAgICAgICAgICAgICBwYXJhbXNbJ3N0YXRlJ10gPSBbJ0RF
Q0xJTkVEJywgJ01FUkdFRCcsICdTVVBFUlNFREVEJ10KKwogICAgICAgICAgICAgaWYgaGVhZDoK
ICAgICAgICAgICAgICAgICBwYXJhbXNbJ2RpcmVjdGlvbiddID0gJ09VVEdPSU5HJwogICAgICAg
ICAgICAgICAgIHBhcmFtc1snYXQnXSA9ICdyZWZzL2hlYWRzL3t9Jy5mb3JtYXQoaGVhZCkKQEAg
LTc1LDYgKzk1LDE1IEBAIGNsYXNzIEJpdEJ1Y2tldChTY20pOgogICAgICAgICAgICAgICAgICAg
ICBjb250aW51ZQogICAgICAgICAgICAgICAgIHlpZWxkIHNlbGYuUHVsbFJlcXVlc3QoZGF0dW0p
CiAKKyAgICAgICAgICAgICMgU3Rhc2ggaXMgYmFkIGF0IGZpbHRlciBmb3Igb3BlbiBhbmQgY2xv
c2VkIFBScyBhdCB0aGUgc2FtZSB0aW1lCisgICAgICAgICAgICBpZiBvcGVuZWQgaXMgTm9uZToK
KyAgICAgICAgICAgICAgICBwYXJhbXNbJ3N0YXRlJ10gPSAnT1BFTicKKyAgICAgICAgICAgICAg
ICBkYXRhID0gc2VsZi5yZXBvc2l0b3J5LnJlcXVlc3QoJ3B1bGwtcmVxdWVzdHMnLCBwYXJhbXM9
cGFyYW1zKQorICAgICAgICAgICAgICAgIGZvciBkYXR1bSBpbiBkYXRhIG9yIFtdOgorICAgICAg
ICAgICAgICAgICAgICBpZiBiYXNlIGFuZCBub3QgZGF0dW1bJ3RvUmVmJ11bJ2lkJ10uZW5kc3dp
dGgoYmFzZSk6CisgICAgICAgICAgICAgICAgICAgICAgICBjb250aW51ZQorICAgICAgICAgICAg
ICAgICAgICB5aWVsZCBzZWxmLlB1bGxSZXF1ZXN0KGRhdHVtKQorCiAgICAgICAgIGRlZiBjcmVh
dGUoc2VsZiwgaGVhZCwgdGl0bGUsIGJvZHk9Tm9uZSwgY29tbWl0cz1Ob25lLCBiYXNlPU5vbmUp
OgogICAgICAgICAgICAgZm9yIGtleSwgdmFsdWUgaW4gZGljdChoZWFkPWhlYWQsIHRpdGxlPXRp
dGxlKS5pdGVtcygpOgogICAgICAgICAgICAgICAgIGlmIG5vdCB2YWx1ZToKQEAgLTE3Myw5ICsy
MDIsMTUgQEAgY2xhc3MgQml0QnVja2V0KFNjbSk6CiAgICAgICAgICAgICAgICAgcHVsbF9yZXF1
ZXN0LmF1dGhvciA9IHNlbGYucmVwb3NpdG9yeS5jb250cmlidXRvcnMuY3JlYXRlKHVzZXJbJ2Rp
c3BsYXlOYW1lJ10sIHVzZXJbJ2VtYWlsQWRkcmVzcyddKQogICAgICAgICAgICAgcHVsbF9yZXF1
ZXN0LmhlYWQgPSBkYXRhLmdldCgnZnJvbVJlZicsIHt9KS5nZXQoJ2Rpc3BsYXlJZCcsIHB1bGxf
cmVxdWVzdC5iYXNlKQogICAgICAgICAgICAgcHVsbF9yZXF1ZXN0LmJhc2UgPSBkYXRhLmdldCgn
dG9SZWYnLCB7fSkuZ2V0KCdkaXNwbGF5SWQnLCBwdWxsX3JlcXVlc3QuYmFzZSkKKyAgICAgICAg
ICAgIHB1bGxfcmVxdWVzdC5nZW5lcmF0b3IgPSBzZWxmCiAKICAgICAgICAgICAgIHJldHVybiBw
dWxsX3JlcXVlc3QKIAorICAgICAgICBkZWYgcmV2aWV3ZXJzKHNlbGYsIHB1bGxfcmVxdWVzdCk6
CisgICAgICAgICAgICBnb3QgPSBzZWxmLmdldChwdWxsX3JlcXVlc3QubnVtYmVyKQorICAgICAg
ICAgICAgcHVsbF9yZXF1ZXN0Ll9yZXZpZXdlcnMgPSBnb3QuX3Jldmlld2VycyBpZiBnb3QgZWxz
ZSBbXQorICAgICAgICAgICAgcHVsbF9yZXF1ZXN0Ll9hcHByb3ZlcnMgPSBnb3QuX2FwcHJvdmVy
cyBpZiBnb3QgZWxzZSBbXQorICAgICAgICAgICAgcmV0dXJuIHB1bGxfcmVxdWVzdAogCiAgICAg
QGNsYXNzbWV0aG9kCiAgICAgZGVmIGlzX3dlYnNlcnZlcihjbHMsIHVybCk6CmRpZmYgLS1naXQg
YS9Ub29scy9TY3JpcHRzL2xpYnJhcmllcy93ZWJraXRzY21weS93ZWJraXRzY21weS9yZW1vdGUv
Z2l0X2h1Yi5weSBiL1Rvb2xzL1NjcmlwdHMvbGlicmFyaWVzL3dlYmtpdHNjbXB5L3dlYmtpdHNj
bXB5L3JlbW90ZS9naXRfaHViLnB5CmluZGV4IDJmM2Y0NDFmN2RmZjlmYWEzYTVkNzQyZTE5YjA2
ZTY3ZmQ0ODQxYjcuLjk1YTM2YzE1NDQ1ZTg5MTk5MWE0Y2M1YTg0Yjg5YjllM2QwYjNiNzYgMTAw
NjQ0Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvbGlicmFyaWVzL3dlYmtpdHNjbXB5L3dlYmtpdHNjbXB5
L3JlbW90ZS9naXRfaHViLnB5CisrKyBiL1Rvb2xzL1NjcmlwdHMvbGlicmFyaWVzL3dlYmtpdHNj
bXB5L3dlYmtpdHNjbXB5L3JlbW90ZS9naXRfaHViLnB5CkBAIC0yOSw3ICsyOSw3IEBAIGltcG9y
dCBzeXMKIGZyb20gZGF0ZXRpbWUgaW1wb3J0IGRhdGV0aW1lCiBmcm9tIHJlcXVlc3RzLmF1dGgg
aW1wb3J0IEhUVFBCYXNpY0F1dGgKIGZyb20gd2Via2l0Y29yZXB5IGltcG9ydCBjcmVkZW50aWFs
cywgZGVjb3JhdG9ycwotZnJvbSB3ZWJraXRzY21weSBpbXBvcnQgQ29tbWl0LCBQdWxsUmVxdWVz
dAorZnJvbSB3ZWJraXRzY21weSBpbXBvcnQgQ29tbWl0LCBDb250cmlidXRvciwgUHVsbFJlcXVl
c3QKIGZyb20gd2Via2l0c2NtcHkucmVtb3RlLnNjbSBpbXBvcnQgU2NtCiBmcm9tIHhtbC5kb20g
aW1wb3J0IG1pbmlkb20KIApAQCAtNDksMTcgKzQ5LDI0IEBAIGNsYXNzIEdpdEh1YihTY20pOgog
ICAgICAgICAgICAgICAgIGF1dGhvcj1zZWxmLnJlcG9zaXRvcnkuY29udHJpYnV0b3JzLmNyZWF0
ZShkYXRhWyd1c2VyJ11bJ2xvZ2luJ10pLAogICAgICAgICAgICAgICAgIGhlYWQ9ZGF0YVsnaGVh
ZCddWydyZWYnXSwKICAgICAgICAgICAgICAgICBiYXNlPWRhdGFbJ2Jhc2UnXVsncmVmJ10sCisg
ICAgICAgICAgICAgICAgb3BlbmVkPWRpY3QoCisgICAgICAgICAgICAgICAgICAgIG9wZW49VHJ1
ZSwKKyAgICAgICAgICAgICAgICAgICAgY2xvc2VkPUZhbHNlLAorICAgICAgICAgICAgICAgICku
Z2V0KGRhdGEuZ2V0KCdzdGF0ZScpLCBOb25lKSwKKyAgICAgICAgICAgICAgICBnZW5lcmF0b3I9
c2VsZiwKICAgICAgICAgICAgICkKIAogICAgICAgICBkZWYgZ2V0KHNlbGYsIG51bWJlcik6CiAg
ICAgICAgICAgICByZXR1cm4gc2VsZi5QdWxsUmVxdWVzdChzZWxmLnJlcG9zaXRvcnkucmVxdWVz
dCgncHVsbHMve30nLmZvcm1hdChpbnQobnVtYmVyKSkpKQogCi0gICAgICAgIGRlZiBmaW5kKHNl
bGYsIHN0YXRlPU5vbmUsIGhlYWQ9Tm9uZSwgYmFzZT1Ob25lKToKLSAgICAgICAgICAgIGlmIG5v
dCBzdGF0ZToKLSAgICAgICAgICAgICAgICBzdGF0ZSA9ICdhbGwnCisgICAgICAgIGRlZiBmaW5k
KHNlbGYsIG9wZW5lZD1UcnVlLCBoZWFkPU5vbmUsIGJhc2U9Tm9uZSk6CiAgICAgICAgICAgICB1
c2VyLCBfID0gc2VsZi5yZXBvc2l0b3J5LmNyZWRlbnRpYWxzKCkKICAgICAgICAgICAgIGRhdGEg
PSBzZWxmLnJlcG9zaXRvcnkucmVxdWVzdCgncHVsbHMnLCBwYXJhbXM9ZGljdCgKLSAgICAgICAg
ICAgICAgICBzdGF0ZT1zdGF0ZSwKKyAgICAgICAgICAgICAgICBzdGF0ZT17CisgICAgICAgICAg
ICAgICAgICAgIE5vbmU6ICdhbGwnLAorICAgICAgICAgICAgICAgICAgICBUcnVlOiAnb3Blbics
CisgICAgICAgICAgICAgICAgICAgIEZhbHNlOiAnY2xvc2VkJywKKyAgICAgICAgICAgICAgICB9
LmdldChvcGVuZWQpLAogICAgICAgICAgICAgICAgIGJhc2U9YmFzZSwKICAgICAgICAgICAgICAg
ICBoZWFkPSd7fTp7fScuZm9ybWF0KHVzZXIsIGhlYWQpIGlmIHVzZXIgYW5kIGhlYWQgZWxzZSBo
ZWFkLAogICAgICAgICAgICAgKSkKQEAgLTEyOSw5ICsxMzYsNTEgQEAgY2xhc3MgR2l0SHViKFNj
bSk6CiAgICAgICAgICAgICAgICAgcHVsbF9yZXF1ZXN0LmF1dGhvciA9IHNlbGYucmVwb3NpdG9y
eS5jb250cmlidXRvcnMuY3JlYXRlKGRhdGFbJ3VzZXInXVsnbG9naW4nXSkKICAgICAgICAgICAg
IHB1bGxfcmVxdWVzdC5oZWFkID0gZGF0YS5nZXQoJ2hlYWQnLCB7fSkuZ2V0KCdkaXNwbGF5SWQn
LCBwdWxsX3JlcXVlc3QuYmFzZSkKICAgICAgICAgICAgIHB1bGxfcmVxdWVzdC5iYXNlID0gZGF0
YS5nZXQoJ2Jhc2UnLCB7fSkuZ2V0KCdkaXNwbGF5SWQnLCBwdWxsX3JlcXVlc3QuYmFzZSkKKyAg
ICAgICAgICAgIHB1bGxfcmVxdWVzdC5fb3BlbmVkID0gZGljdCgKKyAgICAgICAgICAgICAgICBv
cGVuPVRydWUsCisgICAgICAgICAgICAgICAgY2xvc2VkPUZhbHNlLAorICAgICAgICAgICAgKS5n
ZXQoZGF0YS5nZXQoJ3N0YXRlJyksIE5vbmUpLAorICAgICAgICAgICAgcHVsbF9yZXF1ZXN0Lmdl
bmVyYXRvciA9IHNlbGYKIAogICAgICAgICAgICAgcmV0dXJuIHB1bGxfcmVxdWVzdAogCisgICAg
ICAgIGRlZiBfY29udHJpYnV0b3Ioc2VsZiwgdXNlcm5hbWUpOgorICAgICAgICAgICAgcmVzdWx0
ID0gc2VsZi5yZXBvc2l0b3J5LmNvbnRyaWJ1dG9ycy5nZXQodXNlcm5hbWUsIE5vbmUpCisgICAg
ICAgICAgICBpZiByZXN1bHQ6CisgICAgICAgICAgICAgICAgcmV0dXJuIHJlc3VsdAorCisgICAg
ICAgICAgICByZXNwb25zZSA9IHJlcXVlc3RzLmdldCgKKyAgICAgICAgICAgICAgICAne2FwaV91
cmx9L3VzZXJzL3t1c2VybmFtZX0nLmZvcm1hdCgKKyAgICAgICAgICAgICAgICAgICAgYXBpX3Vy
bD1zZWxmLnJlcG9zaXRvcnkuYXBpX3VybCwKKyAgICAgICAgICAgICAgICAgICAgdXNlcm5hbWU9
dXNlcm5hbWUsCisgICAgICAgICAgICAgICAgKSwgYXV0aD1IVFRQQmFzaWNBdXRoKCpzZWxmLnJl
cG9zaXRvcnkuY3JlZGVudGlhbHMocmVxdWlyZWQ9VHJ1ZSkpLAorICAgICAgICAgICAgICAgIGhl
YWRlcnM9ZGljdChBY2NlcHQ9J2FwcGxpY2F0aW9uL3ZuZC5naXRodWIudjMranNvbicpLAorICAg
ICAgICAgICAgKQorICAgICAgICAgICAgaWYgcmVzcG9uc2Uuc3RhdHVzX2NvZGUgLy8gMTAwICE9
IDI6CisgICAgICAgICAgICAgICAgcmV0dXJuIENvbnRyaWJ1dG9yKHVzZXJuYW1lKQorCisgICAg
ICAgICAgICBkYXRhID0gcmVzcG9uc2UuanNvbigpCisgICAgICAgICAgICByZXN1bHQgPSBzZWxm
LnJlcG9zaXRvcnkuY29udHJpYnV0b3JzLmNyZWF0ZShkYXRhLmdldCgnbmFtZScsIHVzZXJuYW1l
KSwgZGF0YS5nZXQoJ2VtYWlsJykpCisgICAgICAgICAgICByZXN1bHQuZ2l0aHViID0gdXNlcm5h
bWUKKyAgICAgICAgICAgIHNlbGYucmVwb3NpdG9yeS5jb250cmlidXRvcnNbdXNlcm5hbWVdID0g
cmVzdWx0CisgICAgICAgICAgICByZXR1cm4gcmVzdWx0CisKKyAgICAgICAgZGVmIHJldmlld2Vy
cyhzZWxmLCBwdWxsX3JlcXVlc3QpOgorICAgICAgICAgICAgcmVzcG9uc2UgPSBzZWxmLnJlcG9z
aXRvcnkucmVxdWVzdCgncHVsbHMve30vcmVxdWVzdGVkX3Jldmlld2VycycuZm9ybWF0KHB1bGxf
cmVxdWVzdC5udW1iZXIpKQorICAgICAgICAgICAgcHVsbF9yZXF1ZXN0Ll9yZXZpZXdlcnMgPSBb
c2VsZi5fY29udHJpYnV0b3IodXNlclsnbG9naW4nXSkgZm9yIHVzZXIgaW4gcmVzcG9uc2UuZ2V0
KCd1c2VycycsIFtdKV0KKyAgICAgICAgICAgIHB1bGxfcmVxdWVzdC5fYXBwcm92ZXJzID0gW10K
KyAgICAgICAgICAgIHB1bGxfcmVxdWVzdC5fYmxvY2tlcnMgPSBbXQorICAgICAgICAgICAgZm9y
IHJldmlldyBpbiBzZWxmLnJlcG9zaXRvcnkucmVxdWVzdCgncHVsbHMve30vcmV2aWV3cycuZm9y
bWF0KHB1bGxfcmVxdWVzdC5udW1iZXIpKToKKyAgICAgICAgICAgICAgICBjb250cmlidXRvciA9
IHNlbGYuX2NvbnRyaWJ1dG9yKHJldmlld1sndXNlciddWydsb2dpbiddKQorICAgICAgICAgICAg
ICAgIHB1bGxfcmVxdWVzdC5fcmV2aWV3ZXJzLmFwcGVuZChjb250cmlidXRvcikKKyAgICAgICAg
ICAgICAgICBpZiByZXZpZXcuZ2V0KCdzdGF0ZScpID09ICdBUFBST1ZFRCc6CisgICAgICAgICAg
ICAgICAgICAgIHB1bGxfcmVxdWVzdC5fYXBwcm92ZXJzLmFwcGVuZChjb250cmlidXRvcikKKyAg
ICAgICAgICAgICAgICBlbGlmIHJldmlldy5nZXQoJ3N0YXRlJykgPT0gJ0NIQU5HRVNfUkVRVUVT
VEVEJzoKKyAgICAgICAgICAgICAgICAgICAgcHVsbF9yZXF1ZXN0Ll9ibG9ja2Vycy5hcHBlbmQo
Y29udHJpYnV0b3IpCisKKyAgICAgICAgICAgIHB1bGxfcmVxdWVzdC5fcmV2aWV3ZXJzID0gc29y
dGVkKHB1bGxfcmVxdWVzdC5fcmV2aWV3ZXJzKQorICAgICAgICAgICAgcmV0dXJuIHB1bGxfcmVx
dWVzdAorCiAKICAgICBAY2xhc3NtZXRob2QKICAgICBkZWYgaXNfd2Vic2VydmVyKGNscywgdXJs
KToKZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvbGlicmFyaWVzL3dlYmtpdHNjbXB5L3dlYmtp
dHNjbXB5L3JlbW90ZS9zY20ucHkgYi9Ub29scy9TY3JpcHRzL2xpYnJhcmllcy93ZWJraXRzY21w
eS93ZWJraXRzY21weS9yZW1vdGUvc2NtLnB5CmluZGV4IGQ1MjdmNGMwMDdmZWQ1ODVjMWUzZjIy
NGFhNmRlNmFiZDZkZDQyMDguLjJmZThhODUyNWI4OGQwNDAyOTFiZWE5YmEyZjNjMzA2OTcwMWMw
OWIgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvbGlicmFyaWVzL3dlYmtpdHNjbXB5L3dlYmtp
dHNjbXB5L3JlbW90ZS9zY20ucHkKKysrIGIvVG9vbHMvU2NyaXB0cy9saWJyYXJpZXMvd2Via2l0
c2NtcHkvd2Via2l0c2NtcHkvcmVtb3RlL3NjbS5weQpAQCAtMSw0ICsxLDQgQEAKLSMgQ29weXJp
Z2h0IChDKSAyMDIwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyMgQ29weXJpZ2h0
IChDKSAyMDIwLCAyMDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICMKICMgUmVk
aXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3
aXRob3V0CiAjIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBm
b2xsb3dpbmcgY29uZGl0aW9ucwpAQCAtMzMsNyArMzMsNyBAQCBjbGFzcyBTY20oU2NtQmFzZSk6
CiAgICAgICAgIGRlZiBnZXQoc2VsZiwgbnVtYmVyKToKICAgICAgICAgICAgIHJhaXNlIE5vdElt
cGxlbWVudGVkRXJyb3IoKQogCi0gICAgICAgIGRlZiBmaW5kKHNlbGYsIHN0YXRlPU5vbmUsIGhl
YWQ9Tm9uZSwgYmFzZT1Ob25lKToKKyAgICAgICAgZGVmIGZpbmQoc2VsZiwgb3BlbmVkPVRydWUs
IGhlYWQ9Tm9uZSwgYmFzZT1Ob25lKToKICAgICAgICAgICAgIHJhaXNlIE5vdEltcGxlbWVudGVk
RXJyb3IoKQogCiAgICAgICAgIGRlZiBjcmVhdGUoc2VsZiwgaGVhZCwgdGl0bGUsIGJvZHk9Tm9u
ZSwgY29tbWl0cz1Ob25lLCBiYXNlPU5vbmUpOgpAQCAtNDIsNiArNDIsOSBAQCBjbGFzcyBTY20o
U2NtQmFzZSk6CiAgICAgICAgIGRlZiB1cGRhdGUoc2VsZiwgcHVsbF9yZXF1ZXN0LCBoZWFkPU5v
bmUsIHRpdGxlPU5vbmUsIGJvZHk9Tm9uZSwgY29tbWl0cz1Ob25lLCBiYXNlPU5vbmUpOgogICAg
ICAgICAgICAgcmFpc2UgTm90SW1wbGVtZW50ZWRFcnJvcigpCiAKKyAgICAgICAgZGVmIHJldmll
d2VycyhzZWxmLCBwdWxsX3JlcXVlc3QpOgorICAgICAgICAgICAgcmFpc2UgTm90SW1wbGVtZW50
ZWRFcnJvcigpCisKIAogICAgIEBjbGFzc21ldGhvZAogICAgIGRlZiBmcm9tX3VybChjbHMsIHVy
bCwgY29udHJpYnV0b3JzPU5vbmUpOgpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy9saWJyYXJp
ZXMvd2Via2l0c2NtcHkvd2Via2l0c2NtcHkvdGVzdC9wdWxsX3JlcXVlc3RfdW5pdHRlc3QucHkg
Yi9Ub29scy9TY3JpcHRzL2xpYnJhcmllcy93ZWJraXRzY21weS93ZWJraXRzY21weS90ZXN0L3B1
bGxfcmVxdWVzdF91bml0dGVzdC5weQppbmRleCBhOTY1MmI0OGUzZjk3NThmYjlmYjFiYzQ3MWJl
YzBhYWYxYTljOTlkLi4wMTMwMzk0MDg0YTRiNTgzMmM1Y2I0ZWI2YjZlNWE0NGY4NWUyODFkIDEw
MDY0NAotLS0gYS9Ub29scy9TY3JpcHRzL2xpYnJhcmllcy93ZWJraXRzY21weS93ZWJraXRzY21w
eS90ZXN0L3B1bGxfcmVxdWVzdF91bml0dGVzdC5weQorKysgYi9Ub29scy9TY3JpcHRzL2xpYnJh
cmllcy93ZWJraXRzY21weS93ZWJraXRzY21weS90ZXN0L3B1bGxfcmVxdWVzdF91bml0dGVzdC5w
eQpAQCAtMjUsNyArMjUsNyBAQCBpbXBvcnQgc3lzCiBpbXBvcnQgdW5pdHRlc3QKIAogZnJvbSB3
ZWJraXRjb3JlcHkgaW1wb3J0IE91dHB1dENhcHR1cmUsIHRlc3RpbmcKLWZyb20gd2Via2l0c2Nt
cHkgaW1wb3J0IENvbW1pdCwgUHVsbFJlcXVlc3QsIHByb2dyYW0sIG1vY2tzLCByZW1vdGUKK2Zy
b20gd2Via2l0c2NtcHkgaW1wb3J0IENvbnRyaWJ1dG9yLCBDb21taXQsIFB1bGxSZXF1ZXN0LCBw
cm9ncmFtLCBtb2NrcywgcmVtb3RlCiAKIAogY2xhc3MgVGVzdFB1bGxSZXF1ZXN0KHVuaXR0ZXN0
LlRlc3RDYXNlKToKQEAgLTQzMyw2ICs0MzMsMTIgQEAgY2xhc3MgVGVzdE5ldHdvcmtQdWxsUmVx
dWVzdEdpdEh1Yih1bml0dGVzdC5UZXN0Q2FzZSk6CiAgICAgQGNsYXNzbWV0aG9kCiAgICAgZGVm
IHdlYnNlcnZlcihjbHMpOgogICAgICAgICByZXN1bHQgPSBtb2Nrcy5yZW1vdGUuR2l0SHViKCkK
KyAgICAgICAgcmVzdWx0LnVzZXJzID0gZGljdCgKKyAgICAgICAgICAgIGVyZXZpZXdlcj1Db250
cmlidXRvcignRWFnZXIgUmV2aWV3ZXInLCBbJ2VyZXZpZXdlckB3ZWJraXQub3JnJ10sIGdpdGh1
Yj0nZXJldmlld2VyJyksCisgICAgICAgICAgICBycmV2aWV3ZXI9Q29udHJpYnV0b3IoJ1JlbHVj
dGFudCBSZXZpZXdlcicsIFsncnJldmlld2VyQHdlYmtpdC5vcmcnXSwgZ2l0aHViPSdycmV2aWV3
ZXInKSwKKyAgICAgICAgICAgIHNyZXZpZXdlcj1Db250cmlidXRvcignU3VzcGljaW91cyBSZXZp
ZXdlcicsIFsnc3Jldmlld2VyQHdlYmtpdC5vcmcnXSwgZ2l0aHViPSdzcmV2aWV3ZXInKSwKKyAg
ICAgICAgICAgIHRjb250cmlidXRvcj1Db250cmlidXRvcignVGltIENvbnRyaWJ1dG9yJywgWyd0
Y29udHJpYnV0b3JAd2Via2l0Lm9yZyddKSwKKyAgICAgICAgKQogICAgICAgICByZXN1bHQucHVs
bF9yZXF1ZXN0cyA9IFtkaWN0KAogICAgICAgICAgICAgbnVtYmVyPTEsCiAgICAgICAgICAgICBz
dGF0ZT0nb3BlbicsCkBAIC00NTAsNiArNDU2LDExIEBAIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgogJycnLAogICAgICAgICAgICAgaGVhZD1kaWN0KHJlZj0nZW5nL3B1bGwtcmVxdWVzdCcp
LAogICAgICAgICAgICAgYmFzZT1kaWN0KHJlZj0nbWFpbicpLAorICAgICAgICAgICAgcmVxdWVz
dGVkX3Jldmlld3M9W2RpY3QobG9naW49J3JyZXZpZXdlcicpXSwKKyAgICAgICAgICAgIHJldmll
d3M9WworICAgICAgICAgICAgICAgIGRpY3QodXNlcj1kaWN0KGxvZ2luPSdlcmV2aWV3ZXInKSwg
c3RhdGU9J0FQUFJPVkVEJyksCisgICAgICAgICAgICAgICAgZGljdCh1c2VyPWRpY3QobG9naW49
J3NyZXZpZXdlcicpLCBzdGF0ZT0nQ0hBTkdFU19SRVFVRVNURUQnKSwKKyAgICAgICAgICAgIF0s
CiAgICAgICAgICldCiAgICAgICAgIHJldHVybiByZXN1bHQKIApAQCAtNDY2LDEwICs0NzcsMjIg
QEAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCiAgICAgICAgIHdpdGggc2VsZi53ZWJzZXJ2
ZXIoKToKICAgICAgICAgICAgIHByID0gcmVtb3RlLkdpdEh1YihzZWxmLnJlbW90ZSkucHVsbF9y
ZXF1ZXN0cy5nZXQoMSkKICAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocHIubnVtYmVyLCAx
KQorICAgICAgICAgICAgc2VsZi5hc3NlcnRUcnVlKHByLm9wZW5lZCkKICAgICAgICAgICAgIHNl
bGYuYXNzZXJ0RXF1YWwocHIudGl0bGUsICdFeGFtcGxlIENoYW5nZScpCiAgICAgICAgICAgICBz
ZWxmLmFzc2VydEVxdWFsKHByLmhlYWQsICdlbmcvcHVsbC1yZXF1ZXN0JykKICAgICAgICAgICAg
IHNlbGYuYXNzZXJ0RXF1YWwocHIuYmFzZSwgJ21haW4nKQogCisgICAgZGVmIHRlc3RfcmV2aWV3
ZXJzKHNlbGYpOgorICAgICAgICB3aXRoIHNlbGYud2Vic2VydmVyKCk6CisgICAgICAgICAgICBw
ciA9IHJlbW90ZS5HaXRIdWIoc2VsZi5yZW1vdGUpLnB1bGxfcmVxdWVzdHMuZ2V0KDEpCisgICAg
ICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHByLnJldmlld2VycywgWworICAgICAgICAgICAgICAg
IENvbnRyaWJ1dG9yKCdFYWdlciBSZXZpZXdlcicsIFsnZXJldmlld2VyQHdlYmtpdC5vcmcnXSks
CisgICAgICAgICAgICAgICAgQ29udHJpYnV0b3IoJ1JlbHVjdGFudCBSZXZpZXdlcicsIFsncnJl
dmlld2VyQHdlYmtpdC5vcmcnXSksCisgICAgICAgICAgICAgICAgQ29udHJpYnV0b3IoJ1N1c3Bp
Y2lvdXMgUmV2aWV3ZXInLCBbJ3NyZXZpZXdlckB3ZWJraXQub3JnJ10pLAorICAgICAgICAgICAg
XSkKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocHIuYXBwcm92ZXJzLCBbQ29udHJpYnV0
b3IoJ0VhZ2VyIFJldmlld2VyJywgWydlcmV2aWV3ZXJAd2Via2l0Lm9yZyddKV0pCisgICAgICAg
ICAgICBzZWxmLmFzc2VydEVxdWFsKHByLmJsb2NrZXJzLCBbQ29udHJpYnV0b3IoJ1N1c3BpY2lv
dXMgUmV2aWV3ZXInLCBbJ3NyZXZpZXdlckB3ZWJraXQub3JnJ10pXSkKKwogCiBjbGFzcyBUZXN0
TmV0d29ya1B1bGxSZXF1ZXN0Qml0QnVja2V0KHVuaXR0ZXN0LlRlc3RDYXNlKToKICAgICByZW1v
dGUgPSAnaHR0cHM6Ly9iaXRidWNrZXQuZXhhbXBsZS5jb20vcHJvamVjdHMvV0VCS0lUL3JlcG9z
L3dlYmtpdCcKQEAgLTQ4MCw2ICs1MDMsOCBAQCBjbGFzcyBUZXN0TmV0d29ya1B1bGxSZXF1ZXN0
Qml0QnVja2V0KHVuaXR0ZXN0LlRlc3RDYXNlKToKICAgICAgICAgcmVzdWx0LnB1bGxfcmVxdWVz
dHMgPSBbZGljdCgKICAgICAgICAgICAgIGlkPTEsCiAgICAgICAgICAgICBzdGF0ZT0nT1BFTics
CisgICAgICAgICAgICBvcGVuPVRydWUsCisgICAgICAgICAgICBjbG9zZWQ9RmFsc2UsCiAgICAg
ICAgICAgICB0aXRsZT0nRXhhbXBsZSBDaGFuZ2UnLAogICAgICAgICAgICAgYXV0aG9yPWRpY3Qo
CiAgICAgICAgICAgICAgICAgdXNlcj1kaWN0KApAQCAtNDk5LDYgKzUyNCwyNCBAQCBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KICcnJywKICAgICAgICAgICAgIGZyb21SZWY9ZGljdChkaXNw
bGF5SWQ9J2VuZy9wdWxsLXJlcXVlc3QnKSwKICAgICAgICAgICAgIHRvUmVmPWRpY3QoZGlzcGxh
eUlkPSdtYWluJyksCisgICAgICAgICAgICByZXZpZXdlcnM9WworICAgICAgICAgICAgICAgIGRp
Y3QoCisgICAgICAgICAgICAgICAgICAgIHVzZXI9ZGljdCgKKyAgICAgICAgICAgICAgICAgICAg
ICAgIGRpc3BsYXlOYW1lPSdSZWx1Y3RhbnQgUmV2aWV3ZXInLAorICAgICAgICAgICAgICAgICAg
ICAgICAgZW1haWxBZGRyZXNzPSdycmV2aWV3ZXJAd2Via2l0Lm9yZycsCisgICAgICAgICAgICAg
ICAgICAgICksIGFwcHJvdmVkPUZhbHNlLAorICAgICAgICAgICAgICAgICksIGRpY3QoCisgICAg
ICAgICAgICAgICAgICAgIHVzZXI9ZGljdCgKKyAgICAgICAgICAgICAgICAgICAgICAgIGRpc3Bs
YXlOYW1lPSdFYWdlciBSZXZpZXdlcicsCisgICAgICAgICAgICAgICAgICAgICAgICBlbWFpbEFk
ZHJlc3M9J2VyZXZpZXdlckB3ZWJraXQub3JnJywKKyAgICAgICAgICAgICAgICAgICAgKSwgYXBw
cm92ZWQ9VHJ1ZSwKKyAgICAgICAgICAgICAgICApLCBkaWN0KAorICAgICAgICAgICAgICAgICAg
ICB1c2VyPWRpY3QoCisgICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5TmFtZT0nU3VzcGlj
aW91cyBSZXZpZXdlcicsCisgICAgICAgICAgICAgICAgICAgICAgICBlbWFpbEFkZHJlc3M9J3Ny
ZXZpZXdlckB3ZWJraXQub3JnJywKKyAgICAgICAgICAgICAgICAgICAgKSwgc3RhdHVzPSdORUVE
U19XT1JLJywKKyAgICAgICAgICAgICAgICApLAorICAgICAgICAgICAgXSwKICAgICAgICAgKV0K
ICAgICAgICAgcmV0dXJuIHJlc3VsdAogCkBAIC01MTYsNiArNTU5LDE4IEBAIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgogICAgICAgICB3aXRoIHNlbGYud2Vic2VydmVyKCk6CiAgICAgICAg
ICAgICBwciA9IHJlbW90ZS5CaXRCdWNrZXQoc2VsZi5yZW1vdGUpLnB1bGxfcmVxdWVzdHMuZ2V0
KDEpCiAgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHByLm51bWJlciwgMSkKKyAgICAgICAg
ICAgIHNlbGYuYXNzZXJ0VHJ1ZShwci5vcGVuZWQpCiAgICAgICAgICAgICBzZWxmLmFzc2VydEVx
dWFsKHByLnRpdGxlLCAnRXhhbXBsZSBDaGFuZ2UnKQogICAgICAgICAgICAgc2VsZi5hc3NlcnRF
cXVhbChwci5oZWFkLCAnZW5nL3B1bGwtcmVxdWVzdCcpCiAgICAgICAgICAgICBzZWxmLmFzc2Vy
dEVxdWFsKHByLmJhc2UsICdtYWluJykKKworICAgIGRlZiB0ZXN0X3Jldmlld2VycyhzZWxmKToK
KyAgICAgICAgd2l0aCBzZWxmLndlYnNlcnZlcigpOgorICAgICAgICAgICAgcHIgPSByZW1vdGUu
Qml0QnVja2V0KHNlbGYucmVtb3RlKS5wdWxsX3JlcXVlc3RzLmdldCgxKQorICAgICAgICAgICAg
c2VsZi5hc3NlcnRFcXVhbChwci5yZXZpZXdlcnMsIFsKKyAgICAgICAgICAgICAgICBDb250cmli
dXRvcignRWFnZXIgUmV2aWV3ZXInLCBbJ2VyZXZpZXdlckB3ZWJraXQub3JnJ10pLAorICAgICAg
ICAgICAgICAgIENvbnRyaWJ1dG9yKCdSZWx1Y3RhbnQgUmV2aWV3ZXInLCBbJ3JyZXZpZXdlckB3
ZWJraXQub3JnJ10pLAorICAgICAgICAgICAgICAgIENvbnRyaWJ1dG9yKCdTdXNwaWNpb3VzIFJl
dmlld2VyJywgWydzcmV2aWV3ZXJAd2Via2l0Lm9yZyddKSwKKyAgICAgICAgICAgIF0pCisgICAg
ICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHByLmFwcHJvdmVycywgW0NvbnRyaWJ1dG9yKCdFYWdl
ciBSZXZpZXdlcicsIFsnZXJldmlld2VyQHdlYmtpdC5vcmcnXSldKQorICAgICAgICAgICAgc2Vs
Zi5hc3NlcnRFcXVhbChwci5ibG9ja2VycywgW0NvbnRyaWJ1dG9yKCdTdXNwaWNpb3VzIFJldmll
d2VyJywgWydzcmV2aWV3ZXJAd2Via2l0Lm9yZyddKV0pCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>441079</attachid>
            <date>2021-10-13 08:11:43 -0700</date>
            <delta_ts>2021-10-13 13:51:03 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-231577-20211013081142.patch</filename>
            <type>text/plain</type>
            <size>25039</size>
            <attacher name="Jonathan Bedard">jbedard</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg0MDkyCmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggODdhYTNjNzg1MmFlMDAwZDA0MmI4MzcwMjJhYTM0N2U4
Zjc0YmVmZS4uZDQ0ODBiMjA1M2VlNzUyMjgwMGU0ZjZjMmUyYzM4NDdiMTQ5ODUxZSAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQz
IEBACisyMDIxLTEwLTEzICBKb25hdGhhbiBCZWRhcmQgIDxqYmVkYXJkQGFwcGxlLmNvbT4KKwor
ICAgICAgICBbd2Via2l0c2NtcHldIExpc3QgcmV2aWV3ZXJzIGZvciBwdWxsLXJlcXVlc3QKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzMTU3NworICAg
ICAgICA8cmRhcjovL3Byb2JsZW0vODQxNDY4MDc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgKiBTY3JpcHRzL2xpYnJhcmllcy93ZWJraXRzY21weS93
ZWJraXRzY21weS9tb2Nrcy9yZW1vdGUvYml0YnVja2V0LnB5OgorICAgICAgICAoQml0QnVja2V0
LnJlcXVlc3QpOiBBZGQgc3RhdGUgdG8gY3JlYXRlZCBwdWxsLXJlcWVzdC4KKyAgICAgICAgKiBT
Y3JpcHRzL2xpYnJhcmllcy93ZWJraXRzY21weS93ZWJraXRzY21weS9tb2Nrcy9yZW1vdGUvZ2l0
X2h1Yi5weToKKyAgICAgICAgKEdpdEh1Yik6CisgICAgICAgIChHaXRIdWIuX3VzZXJzKTogVmVu
ZCBqc29uIHJlcHJlc2VudGF0aW9uIG9mIHVzZXIgZm9yIHVzZXJuYW1lLgorICAgICAgICAoR2l0
SHViLnJlcXVlc3QpOiBGaWx0ZXIgcmV2aWV3IGRldGFpbHMsIGFkZCB1c2VycyBlbmRwb2ludC4K
KyAgICAgICAgKiBTY3JpcHRzL2xpYnJhcmllcy93ZWJraXRzY21weS93ZWJraXRzY21weS9wcm9n
cmFtL3B1bGxfcmVxdWVzdC5weToKKyAgICAgICAgKFB1bGxSZXF1ZXN0Lm1haW4pOiBNYXRjaCBi
b3RoIGNsb3NlZCBhbmQgb3BlbmVkIHB1bGwtcmVxdWVzdHMuCisgICAgICAgICogU2NyaXB0cy9s
aWJyYXJpZXMvd2Via2l0c2NtcHkvd2Via2l0c2NtcHkvcHVsbF9yZXF1ZXN0LnB5OgorICAgICAg
ICAoUHVsbFJlcXVlc3QpOiBSZW1vdmUgc3RhdGUuCisgICAgICAgIChQdWxsUmVxdWVzdC5fX2lu
aXRfXyk6IEFkZCBvcGVuZWQgZmxhZywgcmV2aWV3ZXJzIGFuZCBnZW5lcmF0b3IuCisgICAgICAg
IChQdWxsUmVxdWVzdC5yZXZpZXdlcnMpOiBMaXN0IHRoZSB1c2VycyB3aG8gYXJlIHJldmlld2lu
ZyB0aGlzIGNoYW5nZS4KKyAgICAgICAgKFB1bGxSZXF1ZXN0LmFwcHJvdmVycyk6IExpc3QgdGhl
IHVzZXJzIHdobyBoYXZlIGFwcm92ZWQgdGhpcyBjaGFuZ2UuCisgICAgICAgIChQdWxsUmVxdWVz
dC5ibG9ja2Vycyk6IExpc3QgdGhlIHVzZXJzIHRoYXQgYXJlIGJsb2NraW5nIHRoaXMgY2hhbmdl
IGZyb20gbGFuZGluZy4KKyAgICAgICAgKFB1bGxSZXF1ZXN0Lm9wZW5lZCk6IENoZWNrIHRoZSBw
dWxsLXJlcXVlc3QgaXMgb3BlbmVkLgorICAgICAgICAoUHVsbFJlcXVlc3QuU3RhdGUpOiBEZWxl
dGVkLgorICAgICAgICAqIFNjcmlwdHMvbGlicmFyaWVzL3dlYmtpdHNjbXB5L3dlYmtpdHNjbXB5
L3JlbW90ZS9iaXRidWNrZXQucHk6CisgICAgICAgIChCaXRCdWNrZXQuUFJHZW5lcmF0b3IuUHVs
bFJlcXVlc3QpOiBTZXQgb3BlbmVkIGZsYWcsIHNwZWNpZnkgcmV2aWV3ZXJzLgorICAgICAgICAo
Qml0QnVja2V0LlBSR2VuZXJhdG9yLmZpbmQpOiBGaWx0ZXIgYnkgb3BlbmVkIGZsYWcgaW5zdGVh
ZCBvZiBzdGF0ZS4KKyAgICAgICAgKEJpdEJ1Y2tldC5QUkdlbmVyYXRvci51cGRhdGUpOiBTZXQg
Z2VuZXJhdG9yLgorICAgICAgICAoQml0QnVja2V0LlBSR2VuZXJhdG9yLnJldmlld2Vycyk6IFNl
dCByZXZpZXdlciBsaXN0cy4KKyAgICAgICAgKiBTY3JpcHRzL2xpYnJhcmllcy93ZWJraXRzY21w
eS93ZWJraXRzY21weS9yZW1vdGUvZ2l0X2h1Yi5weToKKyAgICAgICAgKEdpdEh1Yi5QUkdlbmVy
YXRvci5QdWxsUmVxdWVzdCk6IFNldCBvcGVuZWQgZmxhZywgcGFzcyBnZW5lcmF0b3IuCisgICAg
ICAgIChHaXRIdWIuUFJHZW5lcmF0b3IuZmluZCk6IEZpbHRlciBieSBvcGVuZWQgZmxhZyBpbnN0
ZWFkIG9mIHN0YXRlLgorICAgICAgICAoR2l0SHViLlBSR2VuZXJhdG9yLnVwZGF0ZSk6IFNldCBn
ZW5lcmF0b3IgYW5kIG9wZW5lZCBmbGFnLgorICAgICAgICAoR2l0SHViLlBSR2VuZXJhdG9yLl9j
b250cmlidXRvcik6IEZpbmQgY29udHJpYnV0b3IgbWF0Y2hpbmcgdXNlcm5hbWUuCisgICAgICAg
IChHaXRIdWIuUFJHZW5lcmF0b3IucmV2aWV3ZXJzKTogUG9wdWxhdGUgbGlzdHMgb2YgcmV2aWV3
ZXJzIGZvciBhIHB1bGwtcmVxdWVzdC4KKyAgICAgICAgKiBTY3JpcHRzL2xpYnJhcmllcy93ZWJr
aXRzY21weS93ZWJraXRzY21weS9yZW1vdGUvc2NtLnB5OgorICAgICAgICAoU2NtLlBSR2VuZXJh
dG9yLmZpbmQpOiBGaWx0ZXIgdmlhIG9wZW5lZCBmbGFnIGluc3RlYWQgb2Ygc3RhdGUuCisgICAg
ICAgIChTY20uUFJHZW5lcmF0b3IucmV2aWV3ZXJzKTogRnVuY3Rpb24gd2hpY2ggcG9wdWxhdGVz
IHJldmlld2VyIGxpc3RzIGZvciBhIHB1bGwtcmVxdWVzdC4KKyAgICAgICAgKiBTY3JpcHRzL2xp
YnJhcmllcy93ZWJraXRzY21weS93ZWJraXRzY21weS90ZXN0L3B1bGxfcmVxdWVzdF91bml0dGVz
dC5weToKKwogMjAyMS0xMC0xMiAgSm9uYXRoYW4gQmVkYXJkICA8amJlZGFyZEBhcHBsZS5jb20+
CiAKICAgICAgICAgW0FwcGxlU2lsaWNvbl0gU3VwcG9ydCBuYXRpdmUgc2ltdWxhdG9yIHRlc3Rp
bmcKZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvbGlicmFyaWVzL3dlYmtpdHNjbXB5L3dlYmtp
dHNjbXB5L21vY2tzL3JlbW90ZS9iaXRidWNrZXQucHkgYi9Ub29scy9TY3JpcHRzL2xpYnJhcmll
cy93ZWJraXRzY21weS93ZWJraXRzY21weS9tb2Nrcy9yZW1vdGUvYml0YnVja2V0LnB5CmluZGV4
IGQyZjQ1ZjhjZDk2MjhkNTYwNTgzMGNjMWU5YzdhNWJmODRiNTlhMjAuLjRiOWQ0Mjk3M2IzNzgw
YWYzMTA4ZGE1MzkxNjUxZTI1MWFkMjIzMWIgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvbGli
cmFyaWVzL3dlYmtpdHNjbXB5L3dlYmtpdHNjbXB5L21vY2tzL3JlbW90ZS9iaXRidWNrZXQucHkK
KysrIGIvVG9vbHMvU2NyaXB0cy9saWJyYXJpZXMvd2Via2l0c2NtcHkvd2Via2l0c2NtcHkvbW9j
a3MvcmVtb3RlL2JpdGJ1Y2tldC5weQpAQCAtMjIyLDYgKzIyMiw3IEBAIGNsYXNzIEJpdEJ1Y2tl
dChtb2Nrcy5SZXF1ZXN0cyk6CiAgICAgICAgICAgICBqc29uWydpZCddID0gMSArIG1heChbMF0g
KyBbcHIuZ2V0KCdpZCcsIDApIGZvciBwciBpbiBzZWxmLnB1bGxfcmVxdWVzdHNdKQogICAgICAg
ICAgICAganNvblsnZnJvbVJlZiddWydkaXNwbGF5SWQnXSA9IGpzb25bJ2Zyb21SZWYnXVsnaWQn
XS5zcGxpdCgnLycpWy0yOl0KICAgICAgICAgICAgIGpzb25bJ3RvUmVmJ11bJ2Rpc3BsYXlJZCdd
ID0ganNvblsndG9SZWYnXVsnaWQnXS5zcGxpdCgnLycpWy0yOl0KKyAgICAgICAgICAgIGpzb25b
J3N0YXRlJ10gPSAnT1BFTicKICAgICAgICAgICAgIHNlbGYucHVsbF9yZXF1ZXN0cy5hcHBlbmQo
anNvbikKICAgICAgICAgICAgIHJldHVybiBtb2Nrcy5SZXNwb25zZS5mcm9tSnNvbihqc29uKQog
CmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL2xpYnJhcmllcy93ZWJraXRzY21weS93ZWJraXRz
Y21weS9tb2Nrcy9yZW1vdGUvZ2l0X2h1Yi5weSBiL1Rvb2xzL1NjcmlwdHMvbGlicmFyaWVzL3dl
YmtpdHNjbXB5L3dlYmtpdHNjbXB5L21vY2tzL3JlbW90ZS9naXRfaHViLnB5CmluZGV4IDk4Y2Fl
ZGRjZDM5YjEyYTRmY2I5NGI2ZGE2Njk4MDk2NGVjOTM4MDQuLmNjODZmMGZhYjY3ZjkzYzc0MzJi
MTk2M2MyOGQ5YzM2YWE3ZDI0ZTQgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvbGlicmFyaWVz
L3dlYmtpdHNjbXB5L3dlYmtpdHNjbXB5L21vY2tzL3JlbW90ZS9naXRfaHViLnB5CisrKyBiL1Rv
b2xzL1NjcmlwdHMvbGlicmFyaWVzL3dlYmtpdHNjbXB5L3dlYmtpdHNjbXB5L21vY2tzL3JlbW90
ZS9naXRfaHViLnB5CkBAIC01OSw2ICs1OSw3IEBAIGNsYXNzIEdpdEh1Yihtb2Nrcy5SZXF1ZXN0
cyk6CiAgICAgICAgIHNlbGYuaGVhZCA9IHNlbGYuY29tbWl0c1tzZWxmLmRlZmF1bHRfYnJhbmNo
XVstMV0KICAgICAgICAgc2VsZi50YWdzID0ge30KICAgICAgICAgc2VsZi5wdWxsX3JlcXVlc3Rz
ID0gW10KKyAgICAgICAgc2VsZi51c2VycyA9IGRpY3QoKQogICAgICAgICBzZWxmLl9lbnZpcm9u
bWVudCA9IE5vbmUKIAogICAgIGRlZiBfX2VudGVyX18oc2VsZik6CkBAIC0yODEsNiArMjgyLDE1
IEBAIGNsYXNzIEdpdEh1Yihtb2Nrcy5SZXF1ZXN0cyk6CiAgICAgICAgICAgICApLCB1cmw9dXJs
CiAgICAgICAgICkKIAorICAgIGRlZiBfdXNlcnMoc2VsZiwgdXJsLCB1c2VybmFtZSk6CisgICAg
ICAgIHVzZXIgPSBzZWxmLnVzZXJzLmdldCh1c2VybmFtZSkKKyAgICAgICAgaWYgbm90IHVzZXI6
CisgICAgICAgICAgICByZXR1cm4gbW9ja3MuUmVzcG9uc2UuY3JlYXRlNDA0KHVybCkKKyAgICAg
ICAgcmV0dXJuIG1vY2tzLlJlc3BvbnNlLmZyb21Kc29uKGRpY3QoCisgICAgICAgICAgICBuYW1l
PXVzZXIubmFtZSwKKyAgICAgICAgICAgIGVtYWlsPXVzZXIuZW1haWwsCisgICAgICAgICksIHVy
bD11cmwpCisKICAgICBkZWYgcmVxdWVzdChzZWxmLCBtZXRob2QsIHVybCwgZGF0YT1Ob25lLCBw
YXJhbXM9Tm9uZSwgYXV0aD1Ob25lLCBqc29uPU5vbmUsICoqa3dhcmdzKToKICAgICAgICAgaWYg
bm90IHVybC5zdGFydHN3aXRoKCdodHRwOi8vJykgYW5kIG5vdCB1cmwuc3RhcnRzd2l0aCgnaHR0
cHM6Ly8nKToKICAgICAgICAgICAgIHJldHVybiBtb2Nrcy5SZXNwb25zZS5jcmVhdGU0MDQodXJs
KQpAQCAtMzU3LDggKzM2NywxNiBAQCBjbGFzcyBHaXRIdWIobW9ja3MuUmVxdWVzdHMpOgogICAg
ICAgICAjIFB1bGwtcmVxdWVzdCBieSBudW1iZXIKICAgICAgICAgaWYgbWV0aG9kID09ICdHRVQn
IGFuZCBzdHJpcHBlZF91cmwuc3RhcnRzd2l0aChwcl9iYXNlKToKICAgICAgICAgICAgIGZvciBj
YW5kaWRhdGUgaW4gc2VsZi5wdWxsX3JlcXVlc3RzOgotICAgICAgICAgICAgICAgIGlmIHN0cmlw
cGVkX3VybC5zcGxpdCgnLycpWy0xXSA9PSBzdHIoY2FuZGlkYXRlWydudW1iZXInXSk6Ci0gICAg
ICAgICAgICAgICAgICAgIHJldHVybiBtb2Nrcy5SZXNwb25zZS5mcm9tSnNvbihjYW5kaWRhdGUs
IHVybD11cmwpCisgICAgICAgICAgICAgICAgaWYgc3RyaXBwZWRfdXJsLnNwbGl0KCcvJylbNV0g
PT0gc3RyKGNhbmRpZGF0ZVsnbnVtYmVyJ10pOgorICAgICAgICAgICAgICAgICAgICBpZiBsZW4o
c3RyaXBwZWRfdXJsLnNwbGl0KCcvJykpID09IDc6CisgICAgICAgICAgICAgICAgICAgICAgICBp
ZiBzdHJpcHBlZF91cmwuc3BsaXQoJy8nKVs2XSA9PSAncmVxdWVzdGVkX3Jldmlld2Vycyc6Cisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG1vY2tzLlJlc3BvbnNlLmZyb21Kc29u
KGRpY3QodXNlcnM9Y2FuZGlkYXRlLmdldCgncmVxdWVzdGVkX3Jldmlld3MnLCBbXSkpKQorICAg
ICAgICAgICAgICAgICAgICAgICAgaWYgc3RyaXBwZWRfdXJsLnNwbGl0KCcvJylbNl0gPT0gJ3Jl
dmlld3MnOgorICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBtb2Nrcy5SZXNwb25z
ZS5mcm9tSnNvbihjYW5kaWRhdGUuZ2V0KCdyZXZpZXdzJywgW10pKQorICAgICAgICAgICAgICAg
ICAgICAgICAgcmV0dXJuIG1vY2tzLlJlc3BvbnNlLmNyZWF0ZTQwNCh1cmwpCisgICAgICAgICAg
ICAgICAgICAgIHJldHVybiBtb2Nrcy5SZXNwb25zZS5mcm9tSnNvbih7CisgICAgICAgICAgICAg
ICAgICAgICAgICBrZXk6IHZhbHVlIGZvciBrZXksIHZhbHVlIGluIGNhbmRpZGF0ZS5pdGVtcygp
IGlmIGtleSBub3QgaW4gKCdyZXF1ZXN0ZWRfcmV2aWV3cycsICdyZXZpZXdzJykKKyAgICAgICAg
ICAgICAgICAgICAgfSwgdXJsPXVybCkKICAgICAgICAgICAgIHJldHVybiBtb2Nrcy5SZXNwb25z
ZS5jcmVhdGU0MDQodXJsKQogCiAgICAgICAgICMgQ3JlYXRlL3VwZGF0ZSBwdWxsLXJlcXVlc3QK
QEAgLTM5OCw2ICs0MTYsMTAgQEAgY2xhc3MgR2l0SHViKG1vY2tzLlJlcXVlc3RzKToKICAgICAg
ICAgICAgIGlmIGV4aXN0aW5nIGlzIE5vbmU6CiAgICAgICAgICAgICAgICAgcmV0dXJuIG1vY2tz
LlJlc3BvbnNlLmNyZWF0ZTQwNCh1cmwpCiAgICAgICAgICAgICBzZWxmLnB1bGxfcmVxdWVzdHNb
ZXhpc3RpbmddLnVwZGF0ZShwcikKLSAgICAgICAgICAgIHJldHVybiBtb2Nrcy5SZXNwb25zZS5m
cm9tSnNvbihzZWxmLnB1bGxfcmVxdWVzdHNbaV0sIHVybD11cmwpCisgICAgICAgICAgICByZXR1
cm4gbW9ja3MuUmVzcG9uc2UuZnJvbUpzb24oc2VsZi5wdWxsX3JlcXVlc3RzW2V4aXN0aW5nXSwg
dXJsPXVybCkKKworICAgICAgICAjIEFjY2VzcyB1c2VyCisgICAgICAgIGlmIG1ldGhvZCA9PSAn
R0VUJyBhbmQgc3RyaXBwZWRfdXJsLnN0YXJ0c3dpdGgoJ3t9L3VzZXJzJy5mb3JtYXQoc2VsZi5h
cGlfcmVtb3RlLnNwbGl0KCcvJylbMF0pKToKKyAgICAgICAgICAgIHJldHVybiBzZWxmLl91c2Vy
cyh1cmwsIHN0cmlwcGVkX3VybC5zcGxpdCgnLycpWy0xXSkKIAogICAgICAgICByZXR1cm4gbW9j
a3MuUmVzcG9uc2UuY3JlYXRlNDA0KHVybCkKZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvbGli
cmFyaWVzL3dlYmtpdHNjbXB5L3dlYmtpdHNjbXB5L3Byb2dyYW0vcHVsbF9yZXF1ZXN0LnB5IGIv
VG9vbHMvU2NyaXB0cy9saWJyYXJpZXMvd2Via2l0c2NtcHkvd2Via2l0c2NtcHkvcHJvZ3JhbS9w
dWxsX3JlcXVlc3QucHkKaW5kZXggOGMyYTFkNzlmZDVjMDY1Mzg0NzY1Nzc3ZDhiMDZhOTVjY2M2
NWYxMC4uN2M5YWQyNGUzYjM0MjY2YjY3M2Q1NTVhOGZmOWIzNmJmMDlkMWQ5OSAxMDA2NDQKLS0t
IGEvVG9vbHMvU2NyaXB0cy9saWJyYXJpZXMvd2Via2l0c2NtcHkvd2Via2l0c2NtcHkvcHJvZ3Jh
bS9wdWxsX3JlcXVlc3QucHkKKysrIGIvVG9vbHMvU2NyaXB0cy9saWJyYXJpZXMvd2Via2l0c2Nt
cHkvd2Via2l0c2NtcHkvcHJvZ3JhbS9wdWxsX3JlcXVlc3QucHkKQEAgLTEyMSw3ICsxMjEsNyBA
QCBjbGFzcyBQdWxsUmVxdWVzdChDb21tYW5kKToKICAgICAgICAgICAgIHN5cy5zdGRlcnIud3Jp
dGUoIid7fScgY2Fubm90IGdlbmVyYXRlIHB1bGwtcmVxdWVzdHNcbiIuZm9ybWF0KHJtdC51cmwp
KQogICAgICAgICAgICAgcmV0dXJuIDEKICAgICAgICAgdXNlciwgXyA9IHJtdC5jcmVkZW50aWFs
cyhyZXF1aXJlZD1UcnVlKSBpZiBpc2luc3RhbmNlKHJtdCwgcmVtb3RlLkdpdEh1YikgZWxzZSAo
cmVwb3NpdG9yeS5jb25maWcoKVsndXNlci5lbWFpbCddLCBOb25lKQotICAgICAgICBjYW5kaWRh
dGVzID0gbGlzdChybXQucHVsbF9yZXF1ZXN0cy5maW5kKGhlYWQ9cmVwb3NpdG9yeS5icmFuY2gp
KQorICAgICAgICBjYW5kaWRhdGVzID0gbGlzdChybXQucHVsbF9yZXF1ZXN0cy5maW5kKG9wZW5l
ZD1Ob25lLCBoZWFkPXJlcG9zaXRvcnkuYnJhbmNoKSkKICAgICAgICAgY29tbWl0cyA9IGxpc3Qo
cmVwb3NpdG9yeS5jb21taXRzKGJlZ2luPWRpY3QoaGFzaD1icmFuY2hfcG9pbnQuaGFzaCksIGVu
ZD1kaWN0KGJyYW5jaD1yZXBvc2l0b3J5LmJyYW5jaCkpKQogCiAgICAgICAgIHRpdGxlID0gY29t
bWl0c1swXS5tZXNzYWdlLnNwbGl0bGluZXMoKVswXQpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0
cy9saWJyYXJpZXMvd2Via2l0c2NtcHkvd2Via2l0c2NtcHkvcHVsbF9yZXF1ZXN0LnB5IGIvVG9v
bHMvU2NyaXB0cy9saWJyYXJpZXMvd2Via2l0c2NtcHkvd2Via2l0c2NtcHkvcHVsbF9yZXF1ZXN0
LnB5CmluZGV4IDQ0ODRkNTNlOWE3OTUwODI0MTJjYjY0NzFkNTFhODRkM2RkZDFiM2MuLjU1MWMx
YzZiYjg1MmFjNGFhMWU0OGZmY2Q5ODk3ZjJhMTk4ZTA2ZjQgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1Nj
cmlwdHMvbGlicmFyaWVzL3dlYmtpdHNjbXB5L3dlYmtpdHNjbXB5L3B1bGxfcmVxdWVzdC5weQor
KysgYi9Ub29scy9TY3JpcHRzL2xpYnJhcmllcy93ZWJraXRzY21weS93ZWJraXRzY21weS9wdWxs
X3JlcXVlc3QucHkKQEAgLTQ0LDEwICs0NCw2IEBAIGNsYXNzIFB1bGxSZXF1ZXN0KG9iamVjdCk6
CiAgICAgICAgICcmJzogJyZhbXA7JywKICAgICB9CiAKLSAgICBjbGFzcyBTdGF0ZShvYmplY3Qp
OgotICAgICAgICBPUEVORUQgPSAnb3BlbmVkJwotICAgICAgICBDTE9TRUQgPSAnY2xvc2VkJwot
CiAgICAgQGNsYXNzbWV0aG9kCiAgICAgZGVmIGVzY2FwZV9odG1sKGNscywgbWVzc2FnZSk6CiAg
ICAgICAgIG1lc3NhZ2UgPSAnJy5qb2luKGNscy5FU0NBUEVfVEFCTEUuZ2V0KGMsIGMpIGZvciBj
IGluIG1lc3NhZ2UpCkBAIC0xMDMsMTMgKzk5LDQyIEBAIGNsYXNzIFB1bGxSZXF1ZXN0KG9iamVj
dCk6CiAgICAgICAgICAgICAgICAgICAgIGJvZHkgPSBwYXJ0LnJzdHJpcCgpLmxzdHJpcCgpCiAg
ICAgICAgIHJldHVybiBib2R5IG9yIE5vbmUsIGNvbW1pdHMKIAotICAgIGRlZiBfX2luaXRfXyhz
ZWxmLCBudW1iZXIsIHRpdGxlPU5vbmUsIGJvZHk9Tm9uZSwgYXV0aG9yPU5vbmUsIGhlYWQ9Tm9u
ZSwgYmFzZT1Ob25lKToKKyAgICBkZWYgX19pbml0X18oc2VsZiwgbnVtYmVyLCB0aXRsZT1Ob25l
LCBib2R5PU5vbmUsIGF1dGhvcj1Ob25lLCBoZWFkPU5vbmUsIGJhc2U9Tm9uZSwgb3BlbmVkPU5v
bmUsIGdlbmVyYXRvcj1Ob25lKToKICAgICAgICAgc2VsZi5udW1iZXIgPSBudW1iZXIKICAgICAg
ICAgc2VsZi50aXRsZSA9IHRpdGxlCiAgICAgICAgIHNlbGYuYm9keSwgc2VsZi5jb21taXRzID0g
c2VsZi5wYXJzZV9ib2R5KGJvZHkpCiAgICAgICAgIHNlbGYuYXV0aG9yID0gYXV0aG9yCiAgICAg
ICAgIHNlbGYuaGVhZCA9IGhlYWQKICAgICAgICAgc2VsZi5iYXNlID0gYmFzZQorICAgICAgICBz
ZWxmLl9vcGVuZWQgPSBvcGVuZWQKKyAgICAgICAgc2VsZi5fcmV2aWV3ZXJzID0gTm9uZQorICAg
ICAgICBzZWxmLl9hcHByb3ZlcnMgPSBOb25lCisgICAgICAgIHNlbGYuX2Jsb2NrZXJzID0gTm9u
ZQorICAgICAgICBzZWxmLmdlbmVyYXRvciA9IGdlbmVyYXRvcgorCisgICAgQHByb3BlcnR5Cisg
ICAgZGVmIHJldmlld2VycyhzZWxmKToKKyAgICAgICAgaWYgc2VsZi5fcmV2aWV3ZXJzIGlzIE5v
bmUgYW5kIHNlbGYuZ2VuZXJhdG9yOgorICAgICAgICAgICAgc2VsZi5nZW5lcmF0b3IucmV2aWV3
ZXJzKHNlbGYpCisgICAgICAgIHJldHVybiBzZWxmLl9yZXZpZXdlcnMKKworICAgIEBwcm9wZXJ0
eQorICAgIGRlZiBhcHByb3ZlcnMoc2VsZik6CisgICAgICAgIGlmIHNlbGYuX2FwcHJvdmVycyBp
cyBOb25lIGFuZCBzZWxmLmdlbmVyYXRvcjoKKyAgICAgICAgICAgIHNlbGYuZ2VuZXJhdG9yLnJl
dmlld2VycyhzZWxmKQorICAgICAgICByZXR1cm4gc2VsZi5fYXBwcm92ZXJzCisKKyAgICBAcHJv
cGVydHkKKyAgICBkZWYgYmxvY2tlcnMoc2VsZik6CisgICAgICAgIGlmIHNlbGYuX2Jsb2NrZXJz
IGlzIE5vbmUgYW5kIHNlbGYuZ2VuZXJhdG9yOgorICAgICAgICAgICAgc2VsZi5nZW5lcmF0b3Iu
cmV2aWV3ZXJzKHNlbGYpCisgICAgICAgIHJldHVybiBzZWxmLl9ibG9ja2VycworCisgICAgQHBy
b3BlcnR5CisgICAgZGVmIG9wZW5lZChzZWxmKToKKyAgICAgICAgaWYgc2VsZi5fb3BlbmVkIGlz
IE5vbmU6CisgICAgICAgICAgICByZXR1cm4gJz8nCisgICAgICAgIHJldHVybiBzZWxmLl9vcGVu
ZWQKIAogICAgIGRlZiBfX3JlcHJfXyhzZWxmKToKICAgICAgICAgcmV0dXJuICdQUiB7fXt9Jy5m
b3JtYXQoc2VsZi5udW1iZXIsICcgfCB7fScuZm9ybWF0KHNlbGYudGl0bGUpIGlmIHNlbGYudGl0
bGUgZWxzZSAnJykKZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvbGlicmFyaWVzL3dlYmtpdHNj
bXB5L3dlYmtpdHNjbXB5L3JlbW90ZS9iaXRidWNrZXQucHkgYi9Ub29scy9TY3JpcHRzL2xpYnJh
cmllcy93ZWJraXRzY21weS93ZWJraXRzY21weS9yZW1vdGUvYml0YnVja2V0LnB5CmluZGV4IDMz
NzFjY2Q2YTk0NWE1OTMwYzA2MGFjM2M1N2M5YzRmZjk2ZDE1ZGUuLjk2NmZlZGU1Yjg3NzNmOTc4
ZTA4M2RjODM2NjhjOTVlYjA1OWY0NDcgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvbGlicmFy
aWVzL3dlYmtpdHNjbXB5L3dlYmtpdHNjbXB5L3JlbW90ZS9iaXRidWNrZXQucHkKKysrIGIvVG9v
bHMvU2NyaXB0cy9saWJyYXJpZXMvd2Via2l0c2NtcHkvd2Via2l0c2NtcHkvcmVtb3RlL2JpdGJ1
Y2tldC5weQpAQCAtNDIsMzAgKzQyLDUyIEBAIGNsYXNzIEJpdEJ1Y2tldChTY20pOgogICAgICAg
ICBkZWYgUHVsbFJlcXVlc3Qoc2VsZiwgZGF0YSk6CiAgICAgICAgICAgICBpZiBub3QgZGF0YToK
ICAgICAgICAgICAgICAgICByZXR1cm4gTm9uZQotICAgICAgICAgICAgcmV0dXJuIFB1bGxSZXF1
ZXN0KAorICAgICAgICAgICAgcmVzdWx0ID0gUHVsbFJlcXVlc3QoCiAgICAgICAgICAgICAgICAg
bnVtYmVyPWRhdGFbJ2lkJ10sCiAgICAgICAgICAgICAgICAgdGl0bGU9ZGF0YS5nZXQoJ3RpdGxl
JyksCiAgICAgICAgICAgICAgICAgYm9keT1kYXRhLmdldCgnZGVzY3JpcHRpb24nKSwKICAgICAg
ICAgICAgICAgICBhdXRob3I9c2VsZi5yZXBvc2l0b3J5LmNvbnRyaWJ1dG9ycy5jcmVhdGUoCiAg
ICAgICAgICAgICAgICAgICAgIGRhdGFbJ2F1dGhvciddWyd1c2VyJ11bJ2Rpc3BsYXlOYW1lJ10s
Ci0gICAgICAgICAgICAgICAgICAgIGRhdGFbJ2F1dGhvciddWyd1c2VyJ11bJ2VtYWlsQWRkcmVz
cyddLAorICAgICAgICAgICAgICAgICAgICBkYXRhWydhdXRob3InXVsndXNlciddLmdldCgnZW1h
aWxBZGRyZXNzJywgTm9uZSksCiAgICAgICAgICAgICAgICAgKSwgaGVhZD1kYXRhWydmcm9tUmVm
J11bJ2Rpc3BsYXlJZCddLAogICAgICAgICAgICAgICAgIGJhc2U9ZGF0YVsndG9SZWYnXVsnZGlz
cGxheUlkJ10sCisgICAgICAgICAgICAgICAgb3BlbmVkPVRydWUgaWYgZGF0YS5nZXQoJ29wZW4n
KSBlbHNlIChGYWxzZSBpZiBkYXRhLmdldCgnY2xvc2VkJykgZWxzZSBOb25lKSwKKyAgICAgICAg
ICAgICAgICBnZW5lcmF0b3I9c2VsZiwKICAgICAgICAgICAgICkKIAorICAgICAgICAgICAgcmVz
dWx0Ll9yZXZpZXdlcnMgPSBbXQorICAgICAgICAgICAgcmVzdWx0Ll9hcHByb3ZlcnMgPSBbXQor
ICAgICAgICAgICAgcmVzdWx0Ll9ibG9ja2VycyA9IFtdCisgICAgICAgICAgICBmb3IgcmRhdGEg
aW4gZGF0YS5nZXQoJ3Jldmlld2VycycsIFtdKToKKyAgICAgICAgICAgICAgICByZXZpZXdlciA9
IHNlbGYucmVwb3NpdG9yeS5jb250cmlidXRvcnMuY3JlYXRlKAorICAgICAgICAgICAgICAgICAg
ICByZGF0YVsndXNlciddWydkaXNwbGF5TmFtZSddLAorICAgICAgICAgICAgICAgICAgICByZGF0
YVsndXNlciddLmdldCgnZW1haWxBZGRyZXNzJywgTm9uZSksCisgICAgICAgICAgICAgICAgKQor
ICAgICAgICAgICAgICAgIHJlc3VsdC5fcmV2aWV3ZXJzLmFwcGVuZChyZXZpZXdlcikKKyAgICAg
ICAgICAgICAgICBpZiByZGF0YS5nZXQoJ2FwcHJvdmVkJywgRmFsc2UpOgorICAgICAgICAgICAg
ICAgICAgICByZXN1bHQuX2FwcHJvdmVycy5hcHBlbmQocmV2aWV3ZXIpCisgICAgICAgICAgICAg
ICAgaWYgcmRhdGEuZ2V0KCdzdGF0dXMnKSA9PSAnTkVFRFNfV09SSyc6CisgICAgICAgICAgICAg
ICAgICAgIHJlc3VsdC5fYmxvY2tlcnMuYXBwZW5kKHJldmlld2VyKQorCisgICAgICAgICAgICBy
ZXN1bHQuX3Jldmlld2VycyA9IHNvcnRlZChyZXN1bHQuX3Jldmlld2VycykKKyAgICAgICAgICAg
IHJldHVybiByZXN1bHQKKwogICAgICAgICBkZWYgZ2V0KHNlbGYsIG51bWJlcik6CiAgICAgICAg
ICAgICByZXR1cm4gc2VsZi5QdWxsUmVxdWVzdChzZWxmLnJlcG9zaXRvcnkucmVxdWVzdCgncHVs
bC1yZXF1ZXN0cy97fScuZm9ybWF0KGludChudW1iZXIpKSkpCiAKLSAgICAgICAgZGVmIGZpbmQo
c2VsZiwgc3RhdGU9Tm9uZSwgaGVhZD1Ob25lLCBiYXNlPU5vbmUpOgorICAgICAgICBkZWYgZmlu
ZChzZWxmLCBvcGVuZWQ9VHJ1ZSwgaGVhZD1Ob25lLCBiYXNlPU5vbmUpOgorICAgICAgICAgICAg
YXNzZXJ0IG9wZW5lZCBpbiAoVHJ1ZSwgRmFsc2UsIE5vbmUpCisKICAgICAgICAgICAgIHBhcmFt
cyA9IGRpY3QoCiAgICAgICAgICAgICAgICAgbGltaXQ9MTAwLAogICAgICAgICAgICAgICAgIHdp
dGhQcm9wZXJ0aWVzPSdmYWxzZScsCiAgICAgICAgICAgICAgICAgd2l0aEF0dHJpYnV0ZXM9J2Zh
bHNlJywKICAgICAgICAgICAgICkKLSAgICAgICAgICAgIGlmIHN0YXRlID09IFB1bGxSZXF1ZXN0
LlN0YXRlLk9QRU5FRDoKKyAgICAgICAgICAgIGlmIG9wZW5lZCBpcyBUcnVlOgogICAgICAgICAg
ICAgICAgIHBhcmFtc1snc3RhdGUnXSA9ICdPUEVOJwotICAgICAgICAgICAgaWYgc3RhdGUgPT0g
UHVsbFJlcXVlc3QuU3RhdGUuQ0xPU0VEOgorICAgICAgICAgICAgZWxpZiBub3Qgb3BlbmVkOgog
ICAgICAgICAgICAgICAgIHBhcmFtc1snc3RhdGUnXSA9IFsnREVDTElORUQnLCAnTUVSR0VEJywg
J1NVUEVSU0VERUQnXQorCiAgICAgICAgICAgICBpZiBoZWFkOgogICAgICAgICAgICAgICAgIHBh
cmFtc1snZGlyZWN0aW9uJ10gPSAnT1VUR09JTkcnCiAgICAgICAgICAgICAgICAgcGFyYW1zWydh
dCddID0gJ3JlZnMvaGVhZHMve30nLmZvcm1hdChoZWFkKQpAQCAtNzUsNiArOTcsMTUgQEAgY2xh
c3MgQml0QnVja2V0KFNjbSk6CiAgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlCiAgICAgICAg
ICAgICAgICAgeWllbGQgc2VsZi5QdWxsUmVxdWVzdChkYXR1bSkKIAorICAgICAgICAgICAgIyBT
dGFzaCBpcyBiYWQgYXQgZmlsdGVyIGZvciBvcGVuIGFuZCBjbG9zZWQgUFJzIGF0IHRoZSBzYW1l
IHRpbWUKKyAgICAgICAgICAgIGlmIG9wZW5lZCBpcyBOb25lOgorICAgICAgICAgICAgICAgIHBh
cmFtc1snc3RhdGUnXSA9ICdPUEVOJworICAgICAgICAgICAgICAgIGRhdGEgPSBzZWxmLnJlcG9z
aXRvcnkucmVxdWVzdCgncHVsbC1yZXF1ZXN0cycsIHBhcmFtcz1wYXJhbXMpCisgICAgICAgICAg
ICAgICAgZm9yIGRhdHVtIGluIGRhdGEgb3IgW106CisgICAgICAgICAgICAgICAgICAgIGlmIGJh
c2UgYW5kIG5vdCBkYXR1bVsndG9SZWYnXVsnaWQnXS5lbmRzd2l0aChiYXNlKToKKyAgICAgICAg
ICAgICAgICAgICAgICAgIGNvbnRpbnVlCisgICAgICAgICAgICAgICAgICAgIHlpZWxkIHNlbGYu
UHVsbFJlcXVlc3QoZGF0dW0pCisKICAgICAgICAgZGVmIGNyZWF0ZShzZWxmLCBoZWFkLCB0aXRs
ZSwgYm9keT1Ob25lLCBjb21taXRzPU5vbmUsIGJhc2U9Tm9uZSk6CiAgICAgICAgICAgICBmb3Ig
a2V5LCB2YWx1ZSBpbiBkaWN0KGhlYWQ9aGVhZCwgdGl0bGU9dGl0bGUpLml0ZW1zKCk6CiAgICAg
ICAgICAgICAgICAgaWYgbm90IHZhbHVlOgpAQCAtMTczLDkgKzIwNCwxNSBAQCBjbGFzcyBCaXRC
dWNrZXQoU2NtKToKICAgICAgICAgICAgICAgICBwdWxsX3JlcXVlc3QuYXV0aG9yID0gc2VsZi5y
ZXBvc2l0b3J5LmNvbnRyaWJ1dG9ycy5jcmVhdGUodXNlclsnZGlzcGxheU5hbWUnXSwgdXNlclsn
ZW1haWxBZGRyZXNzJ10pCiAgICAgICAgICAgICBwdWxsX3JlcXVlc3QuaGVhZCA9IGRhdGEuZ2V0
KCdmcm9tUmVmJywge30pLmdldCgnZGlzcGxheUlkJywgcHVsbF9yZXF1ZXN0LmJhc2UpCiAgICAg
ICAgICAgICBwdWxsX3JlcXVlc3QuYmFzZSA9IGRhdGEuZ2V0KCd0b1JlZicsIHt9KS5nZXQoJ2Rp
c3BsYXlJZCcsIHB1bGxfcmVxdWVzdC5iYXNlKQorICAgICAgICAgICAgcHVsbF9yZXF1ZXN0Lmdl
bmVyYXRvciA9IHNlbGYKIAogICAgICAgICAgICAgcmV0dXJuIHB1bGxfcmVxdWVzdAogCisgICAg
ICAgIGRlZiByZXZpZXdlcnMoc2VsZiwgcHVsbF9yZXF1ZXN0KToKKyAgICAgICAgICAgIGdvdCA9
IHNlbGYuZ2V0KHB1bGxfcmVxdWVzdC5udW1iZXIpCisgICAgICAgICAgICBwdWxsX3JlcXVlc3Qu
X3Jldmlld2VycyA9IGdvdC5fcmV2aWV3ZXJzIGlmIGdvdCBlbHNlIFtdCisgICAgICAgICAgICBw
dWxsX3JlcXVlc3QuX2FwcHJvdmVycyA9IGdvdC5fYXBwcm92ZXJzIGlmIGdvdCBlbHNlIFtdCisg
ICAgICAgICAgICByZXR1cm4gcHVsbF9yZXF1ZXN0CiAKICAgICBAY2xhc3NtZXRob2QKICAgICBk
ZWYgaXNfd2Vic2VydmVyKGNscywgdXJsKToKZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvbGli
cmFyaWVzL3dlYmtpdHNjbXB5L3dlYmtpdHNjbXB5L3JlbW90ZS9naXRfaHViLnB5IGIvVG9vbHMv
U2NyaXB0cy9saWJyYXJpZXMvd2Via2l0c2NtcHkvd2Via2l0c2NtcHkvcmVtb3RlL2dpdF9odWIu
cHkKaW5kZXggMmYzZjQ0MWY3ZGZmOWZhYTNhNWQ3NDJlMTliMDZlNjdmZDQ4NDFiNy4uNjNjNzQz
Mzc3OWVlZDUwZjhlMmUyYjNlMDUzOTU4Njc5OGU5Njc3MSAxMDA2NDQKLS0tIGEvVG9vbHMvU2Ny
aXB0cy9saWJyYXJpZXMvd2Via2l0c2NtcHkvd2Via2l0c2NtcHkvcmVtb3RlL2dpdF9odWIucHkK
KysrIGIvVG9vbHMvU2NyaXB0cy9saWJyYXJpZXMvd2Via2l0c2NtcHkvd2Via2l0c2NtcHkvcmVt
b3RlL2dpdF9odWIucHkKQEAgLTI5LDcgKzI5LDcgQEAgaW1wb3J0IHN5cwogZnJvbSBkYXRldGlt
ZSBpbXBvcnQgZGF0ZXRpbWUKIGZyb20gcmVxdWVzdHMuYXV0aCBpbXBvcnQgSFRUUEJhc2ljQXV0
aAogZnJvbSB3ZWJraXRjb3JlcHkgaW1wb3J0IGNyZWRlbnRpYWxzLCBkZWNvcmF0b3JzCi1mcm9t
IHdlYmtpdHNjbXB5IGltcG9ydCBDb21taXQsIFB1bGxSZXF1ZXN0Citmcm9tIHdlYmtpdHNjbXB5
IGltcG9ydCBDb21taXQsIENvbnRyaWJ1dG9yLCBQdWxsUmVxdWVzdAogZnJvbSB3ZWJraXRzY21w
eS5yZW1vdGUuc2NtIGltcG9ydCBTY20KIGZyb20geG1sLmRvbSBpbXBvcnQgbWluaWRvbQogCkBA
IC00OSwxNyArNDksMjYgQEAgY2xhc3MgR2l0SHViKFNjbSk6CiAgICAgICAgICAgICAgICAgYXV0
aG9yPXNlbGYucmVwb3NpdG9yeS5jb250cmlidXRvcnMuY3JlYXRlKGRhdGFbJ3VzZXInXVsnbG9n
aW4nXSksCiAgICAgICAgICAgICAgICAgaGVhZD1kYXRhWydoZWFkJ11bJ3JlZiddLAogICAgICAg
ICAgICAgICAgIGJhc2U9ZGF0YVsnYmFzZSddWydyZWYnXSwKKyAgICAgICAgICAgICAgICBvcGVu
ZWQ9ZGljdCgKKyAgICAgICAgICAgICAgICAgICAgb3Blbj1UcnVlLAorICAgICAgICAgICAgICAg
ICAgICBjbG9zZWQ9RmFsc2UsCisgICAgICAgICAgICAgICAgKS5nZXQoZGF0YS5nZXQoJ3N0YXRl
JyksIE5vbmUpLAorICAgICAgICAgICAgICAgIGdlbmVyYXRvcj1zZWxmLAogICAgICAgICAgICAg
KQogCiAgICAgICAgIGRlZiBnZXQoc2VsZiwgbnVtYmVyKToKICAgICAgICAgICAgIHJldHVybiBz
ZWxmLlB1bGxSZXF1ZXN0KHNlbGYucmVwb3NpdG9yeS5yZXF1ZXN0KCdwdWxscy97fScuZm9ybWF0
KGludChudW1iZXIpKSkpCiAKLSAgICAgICAgZGVmIGZpbmQoc2VsZiwgc3RhdGU9Tm9uZSwgaGVh
ZD1Ob25lLCBiYXNlPU5vbmUpOgotICAgICAgICAgICAgaWYgbm90IHN0YXRlOgotICAgICAgICAg
ICAgICAgIHN0YXRlID0gJ2FsbCcKKyAgICAgICAgZGVmIGZpbmQoc2VsZiwgb3BlbmVkPVRydWUs
IGhlYWQ9Tm9uZSwgYmFzZT1Ob25lKToKKyAgICAgICAgICAgIGFzc2VydCBvcGVuZWQgaW4gKFRy
dWUsIEZhbHNlLCBOb25lKQorCiAgICAgICAgICAgICB1c2VyLCBfID0gc2VsZi5yZXBvc2l0b3J5
LmNyZWRlbnRpYWxzKCkKICAgICAgICAgICAgIGRhdGEgPSBzZWxmLnJlcG9zaXRvcnkucmVxdWVz
dCgncHVsbHMnLCBwYXJhbXM9ZGljdCgKLSAgICAgICAgICAgICAgICBzdGF0ZT1zdGF0ZSwKKyAg
ICAgICAgICAgICAgICBzdGF0ZT17CisgICAgICAgICAgICAgICAgICAgIE5vbmU6ICdhbGwnLAor
ICAgICAgICAgICAgICAgICAgICBUcnVlOiAnb3BlbicsCisgICAgICAgICAgICAgICAgICAgIEZh
bHNlOiAnY2xvc2VkJywKKyAgICAgICAgICAgICAgICB9LmdldChvcGVuZWQpLAogICAgICAgICAg
ICAgICAgIGJhc2U9YmFzZSwKICAgICAgICAgICAgICAgICBoZWFkPSd7fTp7fScuZm9ybWF0KHVz
ZXIsIGhlYWQpIGlmIHVzZXIgYW5kIGhlYWQgZWxzZSBoZWFkLAogICAgICAgICAgICAgKSkKQEAg
LTEyOSw3ICsxMzgsNDkgQEAgY2xhc3MgR2l0SHViKFNjbSk6CiAgICAgICAgICAgICAgICAgcHVs
bF9yZXF1ZXN0LmF1dGhvciA9IHNlbGYucmVwb3NpdG9yeS5jb250cmlidXRvcnMuY3JlYXRlKGRh
dGFbJ3VzZXInXVsnbG9naW4nXSkKICAgICAgICAgICAgIHB1bGxfcmVxdWVzdC5oZWFkID0gZGF0
YS5nZXQoJ2hlYWQnLCB7fSkuZ2V0KCdkaXNwbGF5SWQnLCBwdWxsX3JlcXVlc3QuYmFzZSkKICAg
ICAgICAgICAgIHB1bGxfcmVxdWVzdC5iYXNlID0gZGF0YS5nZXQoJ2Jhc2UnLCB7fSkuZ2V0KCdk
aXNwbGF5SWQnLCBwdWxsX3JlcXVlc3QuYmFzZSkKKyAgICAgICAgICAgIHB1bGxfcmVxdWVzdC5f
b3BlbmVkID0gZGljdCgKKyAgICAgICAgICAgICAgICBvcGVuPVRydWUsCisgICAgICAgICAgICAg
ICAgY2xvc2VkPUZhbHNlLAorICAgICAgICAgICAgKS5nZXQoZGF0YS5nZXQoJ3N0YXRlJyksIE5v
bmUpLAorICAgICAgICAgICAgcHVsbF9yZXF1ZXN0LmdlbmVyYXRvciA9IHNlbGYKKworICAgICAg
ICAgICAgcmV0dXJuIHB1bGxfcmVxdWVzdAogCisgICAgICAgIGRlZiBfY29udHJpYnV0b3Ioc2Vs
ZiwgdXNlcm5hbWUpOgorICAgICAgICAgICAgcmVzdWx0ID0gc2VsZi5yZXBvc2l0b3J5LmNvbnRy
aWJ1dG9ycy5nZXQodXNlcm5hbWUsIE5vbmUpCisgICAgICAgICAgICBpZiByZXN1bHQ6CisgICAg
ICAgICAgICAgICAgcmV0dXJuIHJlc3VsdAorCisgICAgICAgICAgICByZXNwb25zZSA9IHJlcXVl
c3RzLmdldCgKKyAgICAgICAgICAgICAgICAne2FwaV91cmx9L3VzZXJzL3t1c2VybmFtZX0nLmZv
cm1hdCgKKyAgICAgICAgICAgICAgICAgICAgYXBpX3VybD1zZWxmLnJlcG9zaXRvcnkuYXBpX3Vy
bCwKKyAgICAgICAgICAgICAgICAgICAgdXNlcm5hbWU9dXNlcm5hbWUsCisgICAgICAgICAgICAg
ICAgKSwgYXV0aD1IVFRQQmFzaWNBdXRoKCpzZWxmLnJlcG9zaXRvcnkuY3JlZGVudGlhbHMocmVx
dWlyZWQ9VHJ1ZSkpLAorICAgICAgICAgICAgICAgIGhlYWRlcnM9ZGljdChBY2NlcHQ9J2FwcGxp
Y2F0aW9uL3ZuZC5naXRodWIudjMranNvbicpLAorICAgICAgICAgICAgKQorICAgICAgICAgICAg
aWYgcmVzcG9uc2Uuc3RhdHVzX2NvZGUgLy8gMTAwICE9IDI6CisgICAgICAgICAgICAgICAgcmV0
dXJuIENvbnRyaWJ1dG9yKHVzZXJuYW1lKQorCisgICAgICAgICAgICBkYXRhID0gcmVzcG9uc2Uu
anNvbigpCisgICAgICAgICAgICByZXN1bHQgPSBzZWxmLnJlcG9zaXRvcnkuY29udHJpYnV0b3Jz
LmNyZWF0ZShkYXRhLmdldCgnbmFtZScsIHVzZXJuYW1lKSwgZGF0YS5nZXQoJ2VtYWlsJykpCisg
ICAgICAgICAgICByZXN1bHQuZ2l0aHViID0gdXNlcm5hbWUKKyAgICAgICAgICAgIHNlbGYucmVw
b3NpdG9yeS5jb250cmlidXRvcnNbdXNlcm5hbWVdID0gcmVzdWx0CisgICAgICAgICAgICByZXR1
cm4gcmVzdWx0CisKKyAgICAgICAgZGVmIHJldmlld2VycyhzZWxmLCBwdWxsX3JlcXVlc3QpOgor
ICAgICAgICAgICAgcmVzcG9uc2UgPSBzZWxmLnJlcG9zaXRvcnkucmVxdWVzdCgncHVsbHMve30v
cmVxdWVzdGVkX3Jldmlld2VycycuZm9ybWF0KHB1bGxfcmVxdWVzdC5udW1iZXIpKQorICAgICAg
ICAgICAgcHVsbF9yZXF1ZXN0Ll9yZXZpZXdlcnMgPSBbc2VsZi5fY29udHJpYnV0b3IodXNlclsn
bG9naW4nXSkgZm9yIHVzZXIgaW4gcmVzcG9uc2UuZ2V0KCd1c2VycycsIFtdKV0KKyAgICAgICAg
ICAgIHB1bGxfcmVxdWVzdC5fYXBwcm92ZXJzID0gW10KKyAgICAgICAgICAgIHB1bGxfcmVxdWVz
dC5fYmxvY2tlcnMgPSBbXQorICAgICAgICAgICAgZm9yIHJldmlldyBpbiBzZWxmLnJlcG9zaXRv
cnkucmVxdWVzdCgncHVsbHMve30vcmV2aWV3cycuZm9ybWF0KHB1bGxfcmVxdWVzdC5udW1iZXIp
KToKKyAgICAgICAgICAgICAgICBjb250cmlidXRvciA9IHNlbGYuX2NvbnRyaWJ1dG9yKHJldmll
d1sndXNlciddWydsb2dpbiddKQorICAgICAgICAgICAgICAgIHB1bGxfcmVxdWVzdC5fcmV2aWV3
ZXJzLmFwcGVuZChjb250cmlidXRvcikKKyAgICAgICAgICAgICAgICBpZiByZXZpZXcuZ2V0KCdz
dGF0ZScpID09ICdBUFBST1ZFRCc6CisgICAgICAgICAgICAgICAgICAgIHB1bGxfcmVxdWVzdC5f
YXBwcm92ZXJzLmFwcGVuZChjb250cmlidXRvcikKKyAgICAgICAgICAgICAgICBlbGlmIHJldmll
dy5nZXQoJ3N0YXRlJykgPT0gJ0NIQU5HRVNfUkVRVUVTVEVEJzoKKyAgICAgICAgICAgICAgICAg
ICAgcHVsbF9yZXF1ZXN0Ll9ibG9ja2Vycy5hcHBlbmQoY29udHJpYnV0b3IpCisKKyAgICAgICAg
ICAgIHB1bGxfcmVxdWVzdC5fcmV2aWV3ZXJzID0gc29ydGVkKHB1bGxfcmVxdWVzdC5fcmV2aWV3
ZXJzKQogICAgICAgICAgICAgcmV0dXJuIHB1bGxfcmVxdWVzdAogCiAKZGlmZiAtLWdpdCBhL1Rv
b2xzL1NjcmlwdHMvbGlicmFyaWVzL3dlYmtpdHNjbXB5L3dlYmtpdHNjbXB5L3JlbW90ZS9zY20u
cHkgYi9Ub29scy9TY3JpcHRzL2xpYnJhcmllcy93ZWJraXRzY21weS93ZWJraXRzY21weS9yZW1v
dGUvc2NtLnB5CmluZGV4IGQ1MjdmNGMwMDdmZWQ1ODVjMWUzZjIyNGFhNmRlNmFiZDZkZDQyMDgu
LjJmZThhODUyNWI4OGQwNDAyOTFiZWE5YmEyZjNjMzA2OTcwMWMwOWIgMTAwNjQ0Ci0tLSBhL1Rv
b2xzL1NjcmlwdHMvbGlicmFyaWVzL3dlYmtpdHNjbXB5L3dlYmtpdHNjbXB5L3JlbW90ZS9zY20u
cHkKKysrIGIvVG9vbHMvU2NyaXB0cy9saWJyYXJpZXMvd2Via2l0c2NtcHkvd2Via2l0c2NtcHkv
cmVtb3RlL3NjbS5weQpAQCAtMSw0ICsxLDQgQEAKLSMgQ29weXJpZ2h0IChDKSAyMDIwIEFwcGxl
IEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyMgQ29weXJpZ2h0IChDKSAyMDIwLCAyMDIxIEFw
cGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICMKICMgUmVkaXN0cmlidXRpb24gYW5kIHVz
ZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAjIG1vZGlmaWNh
dGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9u
cwpAQCAtMzMsNyArMzMsNyBAQCBjbGFzcyBTY20oU2NtQmFzZSk6CiAgICAgICAgIGRlZiBnZXQo
c2VsZiwgbnVtYmVyKToKICAgICAgICAgICAgIHJhaXNlIE5vdEltcGxlbWVudGVkRXJyb3IoKQog
Ci0gICAgICAgIGRlZiBmaW5kKHNlbGYsIHN0YXRlPU5vbmUsIGhlYWQ9Tm9uZSwgYmFzZT1Ob25l
KToKKyAgICAgICAgZGVmIGZpbmQoc2VsZiwgb3BlbmVkPVRydWUsIGhlYWQ9Tm9uZSwgYmFzZT1O
b25lKToKICAgICAgICAgICAgIHJhaXNlIE5vdEltcGxlbWVudGVkRXJyb3IoKQogCiAgICAgICAg
IGRlZiBjcmVhdGUoc2VsZiwgaGVhZCwgdGl0bGUsIGJvZHk9Tm9uZSwgY29tbWl0cz1Ob25lLCBi
YXNlPU5vbmUpOgpAQCAtNDIsNiArNDIsOSBAQCBjbGFzcyBTY20oU2NtQmFzZSk6CiAgICAgICAg
IGRlZiB1cGRhdGUoc2VsZiwgcHVsbF9yZXF1ZXN0LCBoZWFkPU5vbmUsIHRpdGxlPU5vbmUsIGJv
ZHk9Tm9uZSwgY29tbWl0cz1Ob25lLCBiYXNlPU5vbmUpOgogICAgICAgICAgICAgcmFpc2UgTm90
SW1wbGVtZW50ZWRFcnJvcigpCiAKKyAgICAgICAgZGVmIHJldmlld2VycyhzZWxmLCBwdWxsX3Jl
cXVlc3QpOgorICAgICAgICAgICAgcmFpc2UgTm90SW1wbGVtZW50ZWRFcnJvcigpCisKIAogICAg
IEBjbGFzc21ldGhvZAogICAgIGRlZiBmcm9tX3VybChjbHMsIHVybCwgY29udHJpYnV0b3JzPU5v
bmUpOgpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy9saWJyYXJpZXMvd2Via2l0c2NtcHkvd2Vi
a2l0c2NtcHkvdGVzdC9wdWxsX3JlcXVlc3RfdW5pdHRlc3QucHkgYi9Ub29scy9TY3JpcHRzL2xp
YnJhcmllcy93ZWJraXRzY21weS93ZWJraXRzY21weS90ZXN0L3B1bGxfcmVxdWVzdF91bml0dGVz
dC5weQppbmRleCBhOTY1MmI0OGUzZjk3NThmYjlmYjFiYzQ3MWJlYzBhYWYxYTljOTlkLi4wMTMw
Mzk0MDg0YTRiNTgzMmM1Y2I0ZWI2YjZlNWE0NGY4NWUyODFkIDEwMDY0NAotLS0gYS9Ub29scy9T
Y3JpcHRzL2xpYnJhcmllcy93ZWJraXRzY21weS93ZWJraXRzY21weS90ZXN0L3B1bGxfcmVxdWVz
dF91bml0dGVzdC5weQorKysgYi9Ub29scy9TY3JpcHRzL2xpYnJhcmllcy93ZWJraXRzY21weS93
ZWJraXRzY21weS90ZXN0L3B1bGxfcmVxdWVzdF91bml0dGVzdC5weQpAQCAtMjUsNyArMjUsNyBA
QCBpbXBvcnQgc3lzCiBpbXBvcnQgdW5pdHRlc3QKIAogZnJvbSB3ZWJraXRjb3JlcHkgaW1wb3J0
IE91dHB1dENhcHR1cmUsIHRlc3RpbmcKLWZyb20gd2Via2l0c2NtcHkgaW1wb3J0IENvbW1pdCwg
UHVsbFJlcXVlc3QsIHByb2dyYW0sIG1vY2tzLCByZW1vdGUKK2Zyb20gd2Via2l0c2NtcHkgaW1w
b3J0IENvbnRyaWJ1dG9yLCBDb21taXQsIFB1bGxSZXF1ZXN0LCBwcm9ncmFtLCBtb2NrcywgcmVt
b3RlCiAKIAogY2xhc3MgVGVzdFB1bGxSZXF1ZXN0KHVuaXR0ZXN0LlRlc3RDYXNlKToKQEAgLTQz
Myw2ICs0MzMsMTIgQEAgY2xhc3MgVGVzdE5ldHdvcmtQdWxsUmVxdWVzdEdpdEh1Yih1bml0dGVz
dC5UZXN0Q2FzZSk6CiAgICAgQGNsYXNzbWV0aG9kCiAgICAgZGVmIHdlYnNlcnZlcihjbHMpOgog
ICAgICAgICByZXN1bHQgPSBtb2Nrcy5yZW1vdGUuR2l0SHViKCkKKyAgICAgICAgcmVzdWx0LnVz
ZXJzID0gZGljdCgKKyAgICAgICAgICAgIGVyZXZpZXdlcj1Db250cmlidXRvcignRWFnZXIgUmV2
aWV3ZXInLCBbJ2VyZXZpZXdlckB3ZWJraXQub3JnJ10sIGdpdGh1Yj0nZXJldmlld2VyJyksCisg
ICAgICAgICAgICBycmV2aWV3ZXI9Q29udHJpYnV0b3IoJ1JlbHVjdGFudCBSZXZpZXdlcicsIFsn
cnJldmlld2VyQHdlYmtpdC5vcmcnXSwgZ2l0aHViPSdycmV2aWV3ZXInKSwKKyAgICAgICAgICAg
IHNyZXZpZXdlcj1Db250cmlidXRvcignU3VzcGljaW91cyBSZXZpZXdlcicsIFsnc3Jldmlld2Vy
QHdlYmtpdC5vcmcnXSwgZ2l0aHViPSdzcmV2aWV3ZXInKSwKKyAgICAgICAgICAgIHRjb250cmli
dXRvcj1Db250cmlidXRvcignVGltIENvbnRyaWJ1dG9yJywgWyd0Y29udHJpYnV0b3JAd2Via2l0
Lm9yZyddKSwKKyAgICAgICAgKQogICAgICAgICByZXN1bHQucHVsbF9yZXF1ZXN0cyA9IFtkaWN0
KAogICAgICAgICAgICAgbnVtYmVyPTEsCiAgICAgICAgICAgICBzdGF0ZT0nb3BlbicsCkBAIC00
NTAsNiArNDU2LDExIEBAIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgogJycnLAogICAgICAg
ICAgICAgaGVhZD1kaWN0KHJlZj0nZW5nL3B1bGwtcmVxdWVzdCcpLAogICAgICAgICAgICAgYmFz
ZT1kaWN0KHJlZj0nbWFpbicpLAorICAgICAgICAgICAgcmVxdWVzdGVkX3Jldmlld3M9W2RpY3Qo
bG9naW49J3JyZXZpZXdlcicpXSwKKyAgICAgICAgICAgIHJldmlld3M9WworICAgICAgICAgICAg
ICAgIGRpY3QodXNlcj1kaWN0KGxvZ2luPSdlcmV2aWV3ZXInKSwgc3RhdGU9J0FQUFJPVkVEJyks
CisgICAgICAgICAgICAgICAgZGljdCh1c2VyPWRpY3QobG9naW49J3NyZXZpZXdlcicpLCBzdGF0
ZT0nQ0hBTkdFU19SRVFVRVNURUQnKSwKKyAgICAgICAgICAgIF0sCiAgICAgICAgICldCiAgICAg
ICAgIHJldHVybiByZXN1bHQKIApAQCAtNDY2LDEwICs0NzcsMjIgQEAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCiAgICAgICAgIHdpdGggc2VsZi53ZWJzZXJ2ZXIoKToKICAgICAgICAgICAg
IHByID0gcmVtb3RlLkdpdEh1YihzZWxmLnJlbW90ZSkucHVsbF9yZXF1ZXN0cy5nZXQoMSkKICAg
ICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocHIubnVtYmVyLCAxKQorICAgICAgICAgICAgc2Vs
Zi5hc3NlcnRUcnVlKHByLm9wZW5lZCkKICAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocHIu
dGl0bGUsICdFeGFtcGxlIENoYW5nZScpCiAgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHBy
LmhlYWQsICdlbmcvcHVsbC1yZXF1ZXN0JykKICAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwo
cHIuYmFzZSwgJ21haW4nKQogCisgICAgZGVmIHRlc3RfcmV2aWV3ZXJzKHNlbGYpOgorICAgICAg
ICB3aXRoIHNlbGYud2Vic2VydmVyKCk6CisgICAgICAgICAgICBwciA9IHJlbW90ZS5HaXRIdWIo
c2VsZi5yZW1vdGUpLnB1bGxfcmVxdWVzdHMuZ2V0KDEpCisgICAgICAgICAgICBzZWxmLmFzc2Vy
dEVxdWFsKHByLnJldmlld2VycywgWworICAgICAgICAgICAgICAgIENvbnRyaWJ1dG9yKCdFYWdl
ciBSZXZpZXdlcicsIFsnZXJldmlld2VyQHdlYmtpdC5vcmcnXSksCisgICAgICAgICAgICAgICAg
Q29udHJpYnV0b3IoJ1JlbHVjdGFudCBSZXZpZXdlcicsIFsncnJldmlld2VyQHdlYmtpdC5vcmcn
XSksCisgICAgICAgICAgICAgICAgQ29udHJpYnV0b3IoJ1N1c3BpY2lvdXMgUmV2aWV3ZXInLCBb
J3NyZXZpZXdlckB3ZWJraXQub3JnJ10pLAorICAgICAgICAgICAgXSkKKyAgICAgICAgICAgIHNl
bGYuYXNzZXJ0RXF1YWwocHIuYXBwcm92ZXJzLCBbQ29udHJpYnV0b3IoJ0VhZ2VyIFJldmlld2Vy
JywgWydlcmV2aWV3ZXJAd2Via2l0Lm9yZyddKV0pCisgICAgICAgICAgICBzZWxmLmFzc2VydEVx
dWFsKHByLmJsb2NrZXJzLCBbQ29udHJpYnV0b3IoJ1N1c3BpY2lvdXMgUmV2aWV3ZXInLCBbJ3Ny
ZXZpZXdlckB3ZWJraXQub3JnJ10pXSkKKwogCiBjbGFzcyBUZXN0TmV0d29ya1B1bGxSZXF1ZXN0
Qml0QnVja2V0KHVuaXR0ZXN0LlRlc3RDYXNlKToKICAgICByZW1vdGUgPSAnaHR0cHM6Ly9iaXRi
dWNrZXQuZXhhbXBsZS5jb20vcHJvamVjdHMvV0VCS0lUL3JlcG9zL3dlYmtpdCcKQEAgLTQ4MCw2
ICs1MDMsOCBAQCBjbGFzcyBUZXN0TmV0d29ya1B1bGxSZXF1ZXN0Qml0QnVja2V0KHVuaXR0ZXN0
LlRlc3RDYXNlKToKICAgICAgICAgcmVzdWx0LnB1bGxfcmVxdWVzdHMgPSBbZGljdCgKICAgICAg
ICAgICAgIGlkPTEsCiAgICAgICAgICAgICBzdGF0ZT0nT1BFTicsCisgICAgICAgICAgICBvcGVu
PVRydWUsCisgICAgICAgICAgICBjbG9zZWQ9RmFsc2UsCiAgICAgICAgICAgICB0aXRsZT0nRXhh
bXBsZSBDaGFuZ2UnLAogICAgICAgICAgICAgYXV0aG9yPWRpY3QoCiAgICAgICAgICAgICAgICAg
dXNlcj1kaWN0KApAQCAtNDk5LDYgKzUyNCwyNCBAQCBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KICcnJywKICAgICAgICAgICAgIGZyb21SZWY9ZGljdChkaXNwbGF5SWQ9J2VuZy9wdWxsLXJl
cXVlc3QnKSwKICAgICAgICAgICAgIHRvUmVmPWRpY3QoZGlzcGxheUlkPSdtYWluJyksCisgICAg
ICAgICAgICByZXZpZXdlcnM9WworICAgICAgICAgICAgICAgIGRpY3QoCisgICAgICAgICAgICAg
ICAgICAgIHVzZXI9ZGljdCgKKyAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXlOYW1lPSdS
ZWx1Y3RhbnQgUmV2aWV3ZXInLAorICAgICAgICAgICAgICAgICAgICAgICAgZW1haWxBZGRyZXNz
PSdycmV2aWV3ZXJAd2Via2l0Lm9yZycsCisgICAgICAgICAgICAgICAgICAgICksIGFwcHJvdmVk
PUZhbHNlLAorICAgICAgICAgICAgICAgICksIGRpY3QoCisgICAgICAgICAgICAgICAgICAgIHVz
ZXI9ZGljdCgKKyAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXlOYW1lPSdFYWdlciBSZXZp
ZXdlcicsCisgICAgICAgICAgICAgICAgICAgICAgICBlbWFpbEFkZHJlc3M9J2VyZXZpZXdlckB3
ZWJraXQub3JnJywKKyAgICAgICAgICAgICAgICAgICAgKSwgYXBwcm92ZWQ9VHJ1ZSwKKyAgICAg
ICAgICAgICAgICApLCBkaWN0KAorICAgICAgICAgICAgICAgICAgICB1c2VyPWRpY3QoCisgICAg
ICAgICAgICAgICAgICAgICAgICBkaXNwbGF5TmFtZT0nU3VzcGljaW91cyBSZXZpZXdlcicsCisg
ICAgICAgICAgICAgICAgICAgICAgICBlbWFpbEFkZHJlc3M9J3NyZXZpZXdlckB3ZWJraXQub3Jn
JywKKyAgICAgICAgICAgICAgICAgICAgKSwgc3RhdHVzPSdORUVEU19XT1JLJywKKyAgICAgICAg
ICAgICAgICApLAorICAgICAgICAgICAgXSwKICAgICAgICAgKV0KICAgICAgICAgcmV0dXJuIHJl
c3VsdAogCkBAIC01MTYsNiArNTU5LDE4IEBAIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgog
ICAgICAgICB3aXRoIHNlbGYud2Vic2VydmVyKCk6CiAgICAgICAgICAgICBwciA9IHJlbW90ZS5C
aXRCdWNrZXQoc2VsZi5yZW1vdGUpLnB1bGxfcmVxdWVzdHMuZ2V0KDEpCiAgICAgICAgICAgICBz
ZWxmLmFzc2VydEVxdWFsKHByLm51bWJlciwgMSkKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0VHJ1
ZShwci5vcGVuZWQpCiAgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHByLnRpdGxlLCAnRXhh
bXBsZSBDaGFuZ2UnKQogICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChwci5oZWFkLCAnZW5n
L3B1bGwtcmVxdWVzdCcpCiAgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHByLmJhc2UsICdt
YWluJykKKworICAgIGRlZiB0ZXN0X3Jldmlld2VycyhzZWxmKToKKyAgICAgICAgd2l0aCBzZWxm
LndlYnNlcnZlcigpOgorICAgICAgICAgICAgcHIgPSByZW1vdGUuQml0QnVja2V0KHNlbGYucmVt
b3RlKS5wdWxsX3JlcXVlc3RzLmdldCgxKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChw
ci5yZXZpZXdlcnMsIFsKKyAgICAgICAgICAgICAgICBDb250cmlidXRvcignRWFnZXIgUmV2aWV3
ZXInLCBbJ2VyZXZpZXdlckB3ZWJraXQub3JnJ10pLAorICAgICAgICAgICAgICAgIENvbnRyaWJ1
dG9yKCdSZWx1Y3RhbnQgUmV2aWV3ZXInLCBbJ3JyZXZpZXdlckB3ZWJraXQub3JnJ10pLAorICAg
ICAgICAgICAgICAgIENvbnRyaWJ1dG9yKCdTdXNwaWNpb3VzIFJldmlld2VyJywgWydzcmV2aWV3
ZXJAd2Via2l0Lm9yZyddKSwKKyAgICAgICAgICAgIF0pCisgICAgICAgICAgICBzZWxmLmFzc2Vy
dEVxdWFsKHByLmFwcHJvdmVycywgW0NvbnRyaWJ1dG9yKCdFYWdlciBSZXZpZXdlcicsIFsnZXJl
dmlld2VyQHdlYmtpdC5vcmcnXSldKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChwci5i
bG9ja2VycywgW0NvbnRyaWJ1dG9yKCdTdXNwaWNpb3VzIFJldmlld2VyJywgWydzcmV2aWV3ZXJA
d2Via2l0Lm9yZyddKV0pCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>441131</attachid>
            <date>2021-10-13 13:51:06 -0700</date>
            <delta_ts>2021-10-13 15:09:51 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-231577-20211013135105.patch</filename>
            <type>text/plain</type>
            <size>26408</size>
            <attacher name="Jonathan Bedard">jbedard</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg0MTIzCmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggM2MzYTFlZDcyNGYxMmM4Y2IwY2I3Nzg1MDU5YjAxOWMw
Y2EyNTgxMS4uNDFmZDc3OTY4OTk5NWE3YTNjMmI3Zjk5NzllYzc4Y2RhOGE4NDFhMSAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ1
IEBACisyMDIxLTEwLTEzICBKb25hdGhhbiBCZWRhcmQgIDxqYmVkYXJkQGFwcGxlLmNvbT4KKwor
ICAgICAgICBbd2Via2l0c2NtcHldIExpc3QgcmV2aWV3ZXJzIGZvciBwdWxsLXJlcXVlc3QKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzMTU3NworICAg
ICAgICA8cmRhcjovL3Byb2JsZW0vODQxNDY4MDc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgRGV3
ZWkgWmh1LgorCisgICAgICAgICogU2NyaXB0cy9saWJyYXJpZXMvd2Via2l0c2NtcHkvc2V0dXAu
cHk6IEJ1bXAgdmVyc2lvbi4KKyAgICAgICAgKiBTY3JpcHRzL2xpYnJhcmllcy93ZWJraXRzY21w
eS93ZWJraXRzY21weS9fX2luaXRfXy5weTogRGl0dG8uCisgICAgICAgICogU2NyaXB0cy9saWJy
YXJpZXMvd2Via2l0c2NtcHkvd2Via2l0c2NtcHkvbW9ja3MvcmVtb3RlL2JpdGJ1Y2tldC5weToK
KyAgICAgICAgKEJpdEJ1Y2tldC5yZXF1ZXN0KTogQWRkIHN0YXRlIHRvIGNyZWF0ZWQgcHVsbC1y
ZXFlc3QuCisgICAgICAgICogU2NyaXB0cy9saWJyYXJpZXMvd2Via2l0c2NtcHkvd2Via2l0c2Nt
cHkvbW9ja3MvcmVtb3RlL2dpdF9odWIucHk6CisgICAgICAgIChHaXRIdWIpOgorICAgICAgICAo
R2l0SHViLl91c2Vycyk6IFZlbmQganNvbiByZXByZXNlbnRhdGlvbiBvZiB1c2VyIGZvciB1c2Vy
bmFtZS4KKyAgICAgICAgKEdpdEh1Yi5yZXF1ZXN0KTogRmlsdGVyIHJldmlldyBkZXRhaWxzLCBh
ZGQgdXNlcnMgZW5kcG9pbnQuCisgICAgICAgICogU2NyaXB0cy9saWJyYXJpZXMvd2Via2l0c2Nt
cHkvd2Via2l0c2NtcHkvcHJvZ3JhbS9wdWxsX3JlcXVlc3QucHk6CisgICAgICAgIChQdWxsUmVx
dWVzdC5tYWluKTogTWF0Y2ggYm90aCBjbG9zZWQgYW5kIG9wZW5lZCBwdWxsLXJlcXVlc3RzLgor
ICAgICAgICAqIFNjcmlwdHMvbGlicmFyaWVzL3dlYmtpdHNjbXB5L3dlYmtpdHNjbXB5L3B1bGxf
cmVxdWVzdC5weToKKyAgICAgICAgKFB1bGxSZXF1ZXN0KTogUmVtb3ZlIHN0YXRlLgorICAgICAg
ICAoUHVsbFJlcXVlc3QuX19pbml0X18pOiBBZGQgb3BlbmVkIGZsYWcsIHJldmlld2VycyBhbmQg
Z2VuZXJhdG9yLgorICAgICAgICAoUHVsbFJlcXVlc3QucmV2aWV3ZXJzKTogTGlzdCB0aGUgdXNl
cnMgd2hvIGFyZSByZXZpZXdpbmcgdGhpcyBjaGFuZ2UuCisgICAgICAgIChQdWxsUmVxdWVzdC5h
cHByb3ZlcnMpOiBMaXN0IHRoZSB1c2VycyB3aG8gaGF2ZSBhcHJvdmVkIHRoaXMgY2hhbmdlLgor
ICAgICAgICAoUHVsbFJlcXVlc3QuYmxvY2tlcnMpOiBMaXN0IHRoZSB1c2VycyB0aGF0IGFyZSBi
bG9ja2luZyB0aGlzIGNoYW5nZSBmcm9tIGxhbmRpbmcuCisgICAgICAgIChQdWxsUmVxdWVzdC5v
cGVuZWQpOiBDaGVjayB0aGUgcHVsbC1yZXF1ZXN0IGlzIG9wZW5lZC4KKyAgICAgICAgKFB1bGxS
ZXF1ZXN0LlN0YXRlKTogRGVsZXRlZC4KKyAgICAgICAgKiBTY3JpcHRzL2xpYnJhcmllcy93ZWJr
aXRzY21weS93ZWJraXRzY21weS9yZW1vdGUvYml0YnVja2V0LnB5OgorICAgICAgICAoQml0QnVj
a2V0LlBSR2VuZXJhdG9yLlB1bGxSZXF1ZXN0KTogU2V0IG9wZW5lZCBmbGFnLCBzcGVjaWZ5IHJl
dmlld2Vycy4KKyAgICAgICAgKEJpdEJ1Y2tldC5QUkdlbmVyYXRvci5maW5kKTogRmlsdGVyIGJ5
IG9wZW5lZCBmbGFnIGluc3RlYWQgb2Ygc3RhdGUuCisgICAgICAgIChCaXRCdWNrZXQuUFJHZW5l
cmF0b3IudXBkYXRlKTogU2V0IGdlbmVyYXRvci4KKyAgICAgICAgKEJpdEJ1Y2tldC5QUkdlbmVy
YXRvci5yZXZpZXdlcnMpOiBTZXQgcmV2aWV3ZXIgbGlzdHMuCisgICAgICAgICogU2NyaXB0cy9s
aWJyYXJpZXMvd2Via2l0c2NtcHkvd2Via2l0c2NtcHkvcmVtb3RlL2dpdF9odWIucHk6CisgICAg
ICAgIChHaXRIdWIuUFJHZW5lcmF0b3IuUHVsbFJlcXVlc3QpOiBTZXQgb3BlbmVkIGZsYWcsIHBh
c3MgZ2VuZXJhdG9yLgorICAgICAgICAoR2l0SHViLlBSR2VuZXJhdG9yLmZpbmQpOiBGaWx0ZXIg
Ynkgb3BlbmVkIGZsYWcgaW5zdGVhZCBvZiBzdGF0ZS4KKyAgICAgICAgKEdpdEh1Yi5QUkdlbmVy
YXRvci51cGRhdGUpOiBTZXQgZ2VuZXJhdG9yIGFuZCBvcGVuZWQgZmxhZy4KKyAgICAgICAgKEdp
dEh1Yi5QUkdlbmVyYXRvci5fY29udHJpYnV0b3IpOiBGaW5kIGNvbnRyaWJ1dG9yIG1hdGNoaW5n
IHVzZXJuYW1lLgorICAgICAgICAoR2l0SHViLlBSR2VuZXJhdG9yLnJldmlld2Vycyk6IFBvcHVs
YXRlIGxpc3RzIG9mIHJldmlld2VycyBmb3IgYSBwdWxsLXJlcXVlc3QuCisgICAgICAgICogU2Ny
aXB0cy9saWJyYXJpZXMvd2Via2l0c2NtcHkvd2Via2l0c2NtcHkvcmVtb3RlL3NjbS5weToKKyAg
ICAgICAgKFNjbS5QUkdlbmVyYXRvci5maW5kKTogRmlsdGVyIHZpYSBvcGVuZWQgZmxhZyBpbnN0
ZWFkIG9mIHN0YXRlLgorICAgICAgICAoU2NtLlBSR2VuZXJhdG9yLnJldmlld2Vycyk6IEZ1bmN0
aW9uIHdoaWNoIHBvcHVsYXRlcyByZXZpZXdlciBsaXN0cyBmb3IgYSBwdWxsLXJlcXVlc3QuCisg
ICAgICAgICogU2NyaXB0cy9saWJyYXJpZXMvd2Via2l0c2NtcHkvd2Via2l0c2NtcHkvdGVzdC9w
dWxsX3JlcXVlc3RfdW5pdHRlc3QucHk6CisKIDIwMjEtMTAtMTMgIEFsZXggQ2hyaXN0ZW5zZW4g
IDxhY2hyaXN0ZW5zZW5Ad2Via2l0Lm9yZz4KIAogICAgICAgICBSZW1vdmUgV1RGOjpWYXJpYW50
IGFuZCBXVEY6OmdldApkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy9saWJyYXJpZXMvd2Via2l0
c2NtcHkvc2V0dXAucHkgYi9Ub29scy9TY3JpcHRzL2xpYnJhcmllcy93ZWJraXRzY21weS9zZXR1
cC5weQppbmRleCAyMGE3ZGM3ZjJjYTI5YThhMTE1NTVkODc5MjQwOTcwOTM3MTkzMGVhLi5mY2Fh
YThlNWEzZDI1ZTZmZmE5NDRiMmI1ZjhhNDllOWM3MTBhNWRhIDEwMDY0NAotLS0gYS9Ub29scy9T
Y3JpcHRzL2xpYnJhcmllcy93ZWJraXRzY21weS9zZXR1cC5weQorKysgYi9Ub29scy9TY3JpcHRz
L2xpYnJhcmllcy93ZWJraXRzY21weS9zZXR1cC5weQpAQCAtMjksNyArMjksNyBAQCBkZWYgcmVh
ZG1lKCk6CiAKIHNldHVwKAogICAgIG5hbWU9J3dlYmtpdHNjbXB5JywKLSAgICB2ZXJzaW9uPScy
LjIuOCcsCisgICAgdmVyc2lvbj0nMi4yLjknLAogICAgIGRlc2NyaXB0aW9uPSdMaWJyYXJ5IGRl
c2lnbmVkIHRvIGludGVyYWN0IHdpdGggZ2l0IGFuZCBzdm4gcmVwb3NpdG9yaWVzLicsCiAgICAg
bG9uZ19kZXNjcmlwdGlvbj1yZWFkbWUoKSwKICAgICBjbGFzc2lmaWVycz1bCmRpZmYgLS1naXQg
YS9Ub29scy9TY3JpcHRzL2xpYnJhcmllcy93ZWJraXRzY21weS93ZWJraXRzY21weS9fX2luaXRf
Xy5weSBiL1Rvb2xzL1NjcmlwdHMvbGlicmFyaWVzL3dlYmtpdHNjbXB5L3dlYmtpdHNjbXB5L19f
aW5pdF9fLnB5CmluZGV4IDIzYjQ2OWNkMTc2MGIzYjIyMTE3MDYyY2RiY2NmNzA4N2YyYzA3MDgu
LjY1NDFmZmU4YzI5Y2I2ZWFkNzY2ZTdlNThiNGFmY2FkMDliMTIxZTcgMTAwNjQ0Ci0tLSBhL1Rv
b2xzL1NjcmlwdHMvbGlicmFyaWVzL3dlYmtpdHNjbXB5L3dlYmtpdHNjbXB5L19faW5pdF9fLnB5
CisrKyBiL1Rvb2xzL1NjcmlwdHMvbGlicmFyaWVzL3dlYmtpdHNjbXB5L3dlYmtpdHNjbXB5L19f
aW5pdF9fLnB5CkBAIC00Niw3ICs0Niw3IEBAIGV4Y2VwdCBJbXBvcnRFcnJvcjoKICAgICAgICAg
IlBsZWFzZSBpbnN0YWxsIHdlYmtpdGNvcmVweSB3aXRoIGBwaXAgaW5zdGFsbCB3ZWJraXRjb3Jl
cHkgLS1leHRyYS1pbmRleC11cmwgPHBhY2thZ2UgaW5kZXggVVJMPmAiCiAgICAgKQogCi12ZXJz
aW9uID0gVmVyc2lvbigyLCAyLCA4KQordmVyc2lvbiA9IFZlcnNpb24oMiwgMiwgOSkKIAogQXV0
b0luc3RhbGwucmVnaXN0ZXIoUGFja2FnZSgnZmFzdGVuZXJzJywgVmVyc2lvbigwLCAxNSwgMCkp
KQogQXV0b0luc3RhbGwucmVnaXN0ZXIoUGFja2FnZSgnbW9ub3RvbmljJywgVmVyc2lvbigxLCA1
KSkpCmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL2xpYnJhcmllcy93ZWJraXRzY21weS93ZWJr
aXRzY21weS9tb2Nrcy9yZW1vdGUvYml0YnVja2V0LnB5IGIvVG9vbHMvU2NyaXB0cy9saWJyYXJp
ZXMvd2Via2l0c2NtcHkvd2Via2l0c2NtcHkvbW9ja3MvcmVtb3RlL2JpdGJ1Y2tldC5weQppbmRl
eCBkMmY0NWY4Y2Q5NjI4ZDU2MDU4MzBjYzFlOWM3YTViZjg0YjU5YTIwLi40YjlkNDI5NzNiMzc4
MGFmMzEwOGRhNTM5MTY1MWUyNTFhZDIyMzFiIDEwMDY0NAotLS0gYS9Ub29scy9TY3JpcHRzL2xp
YnJhcmllcy93ZWJraXRzY21weS93ZWJraXRzY21weS9tb2Nrcy9yZW1vdGUvYml0YnVja2V0LnB5
CisrKyBiL1Rvb2xzL1NjcmlwdHMvbGlicmFyaWVzL3dlYmtpdHNjbXB5L3dlYmtpdHNjbXB5L21v
Y2tzL3JlbW90ZS9iaXRidWNrZXQucHkKQEAgLTIyMiw2ICsyMjIsNyBAQCBjbGFzcyBCaXRCdWNr
ZXQobW9ja3MuUmVxdWVzdHMpOgogICAgICAgICAgICAganNvblsnaWQnXSA9IDEgKyBtYXgoWzBd
ICsgW3ByLmdldCgnaWQnLCAwKSBmb3IgcHIgaW4gc2VsZi5wdWxsX3JlcXVlc3RzXSkKICAgICAg
ICAgICAgIGpzb25bJ2Zyb21SZWYnXVsnZGlzcGxheUlkJ10gPSBqc29uWydmcm9tUmVmJ11bJ2lk
J10uc3BsaXQoJy8nKVstMjpdCiAgICAgICAgICAgICBqc29uWyd0b1JlZiddWydkaXNwbGF5SWQn
XSA9IGpzb25bJ3RvUmVmJ11bJ2lkJ10uc3BsaXQoJy8nKVstMjpdCisgICAgICAgICAgICBqc29u
WydzdGF0ZSddID0gJ09QRU4nCiAgICAgICAgICAgICBzZWxmLnB1bGxfcmVxdWVzdHMuYXBwZW5k
KGpzb24pCiAgICAgICAgICAgICByZXR1cm4gbW9ja3MuUmVzcG9uc2UuZnJvbUpzb24oanNvbikK
IApkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy9saWJyYXJpZXMvd2Via2l0c2NtcHkvd2Via2l0
c2NtcHkvbW9ja3MvcmVtb3RlL2dpdF9odWIucHkgYi9Ub29scy9TY3JpcHRzL2xpYnJhcmllcy93
ZWJraXRzY21weS93ZWJraXRzY21weS9tb2Nrcy9yZW1vdGUvZ2l0X2h1Yi5weQppbmRleCA5OGNh
ZWRkY2QzOWIxMmE0ZmNiOTRiNmRhNjY5ODA5NjRlYzkzODA0Li5jYzg2ZjBmYWI2N2Y5M2M3NDMy
YjE5NjNjMjhkOWMzNmFhN2QyNGU0IDEwMDY0NAotLS0gYS9Ub29scy9TY3JpcHRzL2xpYnJhcmll
cy93ZWJraXRzY21weS93ZWJraXRzY21weS9tb2Nrcy9yZW1vdGUvZ2l0X2h1Yi5weQorKysgYi9U
b29scy9TY3JpcHRzL2xpYnJhcmllcy93ZWJraXRzY21weS93ZWJraXRzY21weS9tb2Nrcy9yZW1v
dGUvZ2l0X2h1Yi5weQpAQCAtNTksNiArNTksNyBAQCBjbGFzcyBHaXRIdWIobW9ja3MuUmVxdWVz
dHMpOgogICAgICAgICBzZWxmLmhlYWQgPSBzZWxmLmNvbW1pdHNbc2VsZi5kZWZhdWx0X2JyYW5j
aF1bLTFdCiAgICAgICAgIHNlbGYudGFncyA9IHt9CiAgICAgICAgIHNlbGYucHVsbF9yZXF1ZXN0
cyA9IFtdCisgICAgICAgIHNlbGYudXNlcnMgPSBkaWN0KCkKICAgICAgICAgc2VsZi5fZW52aXJv
bm1lbnQgPSBOb25lCiAKICAgICBkZWYgX19lbnRlcl9fKHNlbGYpOgpAQCAtMjgxLDYgKzI4Miwx
NSBAQCBjbGFzcyBHaXRIdWIobW9ja3MuUmVxdWVzdHMpOgogICAgICAgICAgICAgKSwgdXJsPXVy
bAogICAgICAgICApCiAKKyAgICBkZWYgX3VzZXJzKHNlbGYsIHVybCwgdXNlcm5hbWUpOgorICAg
ICAgICB1c2VyID0gc2VsZi51c2Vycy5nZXQodXNlcm5hbWUpCisgICAgICAgIGlmIG5vdCB1c2Vy
OgorICAgICAgICAgICAgcmV0dXJuIG1vY2tzLlJlc3BvbnNlLmNyZWF0ZTQwNCh1cmwpCisgICAg
ICAgIHJldHVybiBtb2Nrcy5SZXNwb25zZS5mcm9tSnNvbihkaWN0KAorICAgICAgICAgICAgbmFt
ZT11c2VyLm5hbWUsCisgICAgICAgICAgICBlbWFpbD11c2VyLmVtYWlsLAorICAgICAgICApLCB1
cmw9dXJsKQorCiAgICAgZGVmIHJlcXVlc3Qoc2VsZiwgbWV0aG9kLCB1cmwsIGRhdGE9Tm9uZSwg
cGFyYW1zPU5vbmUsIGF1dGg9Tm9uZSwganNvbj1Ob25lLCAqKmt3YXJncyk6CiAgICAgICAgIGlm
IG5vdCB1cmwuc3RhcnRzd2l0aCgnaHR0cDovLycpIGFuZCBub3QgdXJsLnN0YXJ0c3dpdGgoJ2h0
dHBzOi8vJyk6CiAgICAgICAgICAgICByZXR1cm4gbW9ja3MuUmVzcG9uc2UuY3JlYXRlNDA0KHVy
bCkKQEAgLTM1Nyw4ICszNjcsMTYgQEAgY2xhc3MgR2l0SHViKG1vY2tzLlJlcXVlc3RzKToKICAg
ICAgICAgIyBQdWxsLXJlcXVlc3QgYnkgbnVtYmVyCiAgICAgICAgIGlmIG1ldGhvZCA9PSAnR0VU
JyBhbmQgc3RyaXBwZWRfdXJsLnN0YXJ0c3dpdGgocHJfYmFzZSk6CiAgICAgICAgICAgICBmb3Ig
Y2FuZGlkYXRlIGluIHNlbGYucHVsbF9yZXF1ZXN0czoKLSAgICAgICAgICAgICAgICBpZiBzdHJp
cHBlZF91cmwuc3BsaXQoJy8nKVstMV0gPT0gc3RyKGNhbmRpZGF0ZVsnbnVtYmVyJ10pOgotICAg
ICAgICAgICAgICAgICAgICByZXR1cm4gbW9ja3MuUmVzcG9uc2UuZnJvbUpzb24oY2FuZGlkYXRl
LCB1cmw9dXJsKQorICAgICAgICAgICAgICAgIGlmIHN0cmlwcGVkX3VybC5zcGxpdCgnLycpWzVd
ID09IHN0cihjYW5kaWRhdGVbJ251bWJlciddKToKKyAgICAgICAgICAgICAgICAgICAgaWYgbGVu
KHN0cmlwcGVkX3VybC5zcGxpdCgnLycpKSA9PSA3OgorICAgICAgICAgICAgICAgICAgICAgICAg
aWYgc3RyaXBwZWRfdXJsLnNwbGl0KCcvJylbNl0gPT0gJ3JlcXVlc3RlZF9yZXZpZXdlcnMnOgor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBtb2Nrcy5SZXNwb25zZS5mcm9tSnNv
bihkaWN0KHVzZXJzPWNhbmRpZGF0ZS5nZXQoJ3JlcXVlc3RlZF9yZXZpZXdzJywgW10pKSkKKyAg
ICAgICAgICAgICAgICAgICAgICAgIGlmIHN0cmlwcGVkX3VybC5zcGxpdCgnLycpWzZdID09ICdy
ZXZpZXdzJzoKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gbW9ja3MuUmVzcG9u
c2UuZnJvbUpzb24oY2FuZGlkYXRlLmdldCgncmV2aWV3cycsIFtdKSkKKyAgICAgICAgICAgICAg
ICAgICAgICAgIHJldHVybiBtb2Nrcy5SZXNwb25zZS5jcmVhdGU0MDQodXJsKQorICAgICAgICAg
ICAgICAgICAgICByZXR1cm4gbW9ja3MuUmVzcG9uc2UuZnJvbUpzb24oeworICAgICAgICAgICAg
ICAgICAgICAgICAga2V5OiB2YWx1ZSBmb3Iga2V5LCB2YWx1ZSBpbiBjYW5kaWRhdGUuaXRlbXMo
KSBpZiBrZXkgbm90IGluICgncmVxdWVzdGVkX3Jldmlld3MnLCAncmV2aWV3cycpCisgICAgICAg
ICAgICAgICAgICAgIH0sIHVybD11cmwpCiAgICAgICAgICAgICByZXR1cm4gbW9ja3MuUmVzcG9u
c2UuY3JlYXRlNDA0KHVybCkKIAogICAgICAgICAjIENyZWF0ZS91cGRhdGUgcHVsbC1yZXF1ZXN0
CkBAIC0zOTgsNiArNDE2LDEwIEBAIGNsYXNzIEdpdEh1Yihtb2Nrcy5SZXF1ZXN0cyk6CiAgICAg
ICAgICAgICBpZiBleGlzdGluZyBpcyBOb25lOgogICAgICAgICAgICAgICAgIHJldHVybiBtb2Nr
cy5SZXNwb25zZS5jcmVhdGU0MDQodXJsKQogICAgICAgICAgICAgc2VsZi5wdWxsX3JlcXVlc3Rz
W2V4aXN0aW5nXS51cGRhdGUocHIpCi0gICAgICAgICAgICByZXR1cm4gbW9ja3MuUmVzcG9uc2Uu
ZnJvbUpzb24oc2VsZi5wdWxsX3JlcXVlc3RzW2ldLCB1cmw9dXJsKQorICAgICAgICAgICAgcmV0
dXJuIG1vY2tzLlJlc3BvbnNlLmZyb21Kc29uKHNlbGYucHVsbF9yZXF1ZXN0c1tleGlzdGluZ10s
IHVybD11cmwpCisKKyAgICAgICAgIyBBY2Nlc3MgdXNlcgorICAgICAgICBpZiBtZXRob2QgPT0g
J0dFVCcgYW5kIHN0cmlwcGVkX3VybC5zdGFydHN3aXRoKCd7fS91c2VycycuZm9ybWF0KHNlbGYu
YXBpX3JlbW90ZS5zcGxpdCgnLycpWzBdKSk6CisgICAgICAgICAgICByZXR1cm4gc2VsZi5fdXNl
cnModXJsLCBzdHJpcHBlZF91cmwuc3BsaXQoJy8nKVstMV0pCiAKICAgICAgICAgcmV0dXJuIG1v
Y2tzLlJlc3BvbnNlLmNyZWF0ZTQwNCh1cmwpCmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL2xp
YnJhcmllcy93ZWJraXRzY21weS93ZWJraXRzY21weS9wcm9ncmFtL3B1bGxfcmVxdWVzdC5weSBi
L1Rvb2xzL1NjcmlwdHMvbGlicmFyaWVzL3dlYmtpdHNjbXB5L3dlYmtpdHNjbXB5L3Byb2dyYW0v
cHVsbF9yZXF1ZXN0LnB5CmluZGV4IDhjMmExZDc5ZmQ1YzA2NTM4NDc2NTc3N2Q4YjA2YTk1Y2Nj
NjVmMTAuLjdjOWFkMjRlM2IzNDI2NmI2NzNkNTU1YThmZjliMzZiZjA5ZDFkOTkgMTAwNjQ0Ci0t
LSBhL1Rvb2xzL1NjcmlwdHMvbGlicmFyaWVzL3dlYmtpdHNjbXB5L3dlYmtpdHNjbXB5L3Byb2dy
YW0vcHVsbF9yZXF1ZXN0LnB5CisrKyBiL1Rvb2xzL1NjcmlwdHMvbGlicmFyaWVzL3dlYmtpdHNj
bXB5L3dlYmtpdHNjbXB5L3Byb2dyYW0vcHVsbF9yZXF1ZXN0LnB5CkBAIC0xMjEsNyArMTIxLDcg
QEAgY2xhc3MgUHVsbFJlcXVlc3QoQ29tbWFuZCk6CiAgICAgICAgICAgICBzeXMuc3RkZXJyLndy
aXRlKCIne30nIGNhbm5vdCBnZW5lcmF0ZSBwdWxsLXJlcXVlc3RzXG4iLmZvcm1hdChybXQudXJs
KSkKICAgICAgICAgICAgIHJldHVybiAxCiAgICAgICAgIHVzZXIsIF8gPSBybXQuY3JlZGVudGlh
bHMocmVxdWlyZWQ9VHJ1ZSkgaWYgaXNpbnN0YW5jZShybXQsIHJlbW90ZS5HaXRIdWIpIGVsc2Ug
KHJlcG9zaXRvcnkuY29uZmlnKClbJ3VzZXIuZW1haWwnXSwgTm9uZSkKLSAgICAgICAgY2FuZGlk
YXRlcyA9IGxpc3Qocm10LnB1bGxfcmVxdWVzdHMuZmluZChoZWFkPXJlcG9zaXRvcnkuYnJhbmNo
KSkKKyAgICAgICAgY2FuZGlkYXRlcyA9IGxpc3Qocm10LnB1bGxfcmVxdWVzdHMuZmluZChvcGVu
ZWQ9Tm9uZSwgaGVhZD1yZXBvc2l0b3J5LmJyYW5jaCkpCiAgICAgICAgIGNvbW1pdHMgPSBsaXN0
KHJlcG9zaXRvcnkuY29tbWl0cyhiZWdpbj1kaWN0KGhhc2g9YnJhbmNoX3BvaW50Lmhhc2gpLCBl
bmQ9ZGljdChicmFuY2g9cmVwb3NpdG9yeS5icmFuY2gpKSkKIAogICAgICAgICB0aXRsZSA9IGNv
bW1pdHNbMF0ubWVzc2FnZS5zcGxpdGxpbmVzKClbMF0KZGlmZiAtLWdpdCBhL1Rvb2xzL1Njcmlw
dHMvbGlicmFyaWVzL3dlYmtpdHNjbXB5L3dlYmtpdHNjbXB5L3B1bGxfcmVxdWVzdC5weSBiL1Rv
b2xzL1NjcmlwdHMvbGlicmFyaWVzL3dlYmtpdHNjbXB5L3dlYmtpdHNjbXB5L3B1bGxfcmVxdWVz
dC5weQppbmRleCA0NDg0ZDUzZTlhNzk1MDgyNDEyY2I2NDcxZDUxYTg0ZDNkZGQxYjNjLi41NTFj
MWM2YmI4NTJhYzRhYTFlNDhmZmNkOTg5N2YyYTE5OGUwNmY0IDEwMDY0NAotLS0gYS9Ub29scy9T
Y3JpcHRzL2xpYnJhcmllcy93ZWJraXRzY21weS93ZWJraXRzY21weS9wdWxsX3JlcXVlc3QucHkK
KysrIGIvVG9vbHMvU2NyaXB0cy9saWJyYXJpZXMvd2Via2l0c2NtcHkvd2Via2l0c2NtcHkvcHVs
bF9yZXF1ZXN0LnB5CkBAIC00NCwxMCArNDQsNiBAQCBjbGFzcyBQdWxsUmVxdWVzdChvYmplY3Qp
OgogICAgICAgICAnJic6ICcmYW1wOycsCiAgICAgfQogCi0gICAgY2xhc3MgU3RhdGUob2JqZWN0
KToKLSAgICAgICAgT1BFTkVEID0gJ29wZW5lZCcKLSAgICAgICAgQ0xPU0VEID0gJ2Nsb3NlZCcK
LQogICAgIEBjbGFzc21ldGhvZAogICAgIGRlZiBlc2NhcGVfaHRtbChjbHMsIG1lc3NhZ2UpOgog
ICAgICAgICBtZXNzYWdlID0gJycuam9pbihjbHMuRVNDQVBFX1RBQkxFLmdldChjLCBjKSBmb3Ig
YyBpbiBtZXNzYWdlKQpAQCAtMTAzLDEzICs5OSw0MiBAQCBjbGFzcyBQdWxsUmVxdWVzdChvYmpl
Y3QpOgogICAgICAgICAgICAgICAgICAgICBib2R5ID0gcGFydC5yc3RyaXAoKS5sc3RyaXAoKQog
ICAgICAgICByZXR1cm4gYm9keSBvciBOb25lLCBjb21taXRzCiAKLSAgICBkZWYgX19pbml0X18o
c2VsZiwgbnVtYmVyLCB0aXRsZT1Ob25lLCBib2R5PU5vbmUsIGF1dGhvcj1Ob25lLCBoZWFkPU5v
bmUsIGJhc2U9Tm9uZSk6CisgICAgZGVmIF9faW5pdF9fKHNlbGYsIG51bWJlciwgdGl0bGU9Tm9u
ZSwgYm9keT1Ob25lLCBhdXRob3I9Tm9uZSwgaGVhZD1Ob25lLCBiYXNlPU5vbmUsIG9wZW5lZD1O
b25lLCBnZW5lcmF0b3I9Tm9uZSk6CiAgICAgICAgIHNlbGYubnVtYmVyID0gbnVtYmVyCiAgICAg
ICAgIHNlbGYudGl0bGUgPSB0aXRsZQogICAgICAgICBzZWxmLmJvZHksIHNlbGYuY29tbWl0cyA9
IHNlbGYucGFyc2VfYm9keShib2R5KQogICAgICAgICBzZWxmLmF1dGhvciA9IGF1dGhvcgogICAg
ICAgICBzZWxmLmhlYWQgPSBoZWFkCiAgICAgICAgIHNlbGYuYmFzZSA9IGJhc2UKKyAgICAgICAg
c2VsZi5fb3BlbmVkID0gb3BlbmVkCisgICAgICAgIHNlbGYuX3Jldmlld2VycyA9IE5vbmUKKyAg
ICAgICAgc2VsZi5fYXBwcm92ZXJzID0gTm9uZQorICAgICAgICBzZWxmLl9ibG9ja2VycyA9IE5v
bmUKKyAgICAgICAgc2VsZi5nZW5lcmF0b3IgPSBnZW5lcmF0b3IKKworICAgIEBwcm9wZXJ0eQor
ICAgIGRlZiByZXZpZXdlcnMoc2VsZik6CisgICAgICAgIGlmIHNlbGYuX3Jldmlld2VycyBpcyBO
b25lIGFuZCBzZWxmLmdlbmVyYXRvcjoKKyAgICAgICAgICAgIHNlbGYuZ2VuZXJhdG9yLnJldmll
d2VycyhzZWxmKQorICAgICAgICByZXR1cm4gc2VsZi5fcmV2aWV3ZXJzCisKKyAgICBAcHJvcGVy
dHkKKyAgICBkZWYgYXBwcm92ZXJzKHNlbGYpOgorICAgICAgICBpZiBzZWxmLl9hcHByb3ZlcnMg
aXMgTm9uZSBhbmQgc2VsZi5nZW5lcmF0b3I6CisgICAgICAgICAgICBzZWxmLmdlbmVyYXRvci5y
ZXZpZXdlcnMoc2VsZikKKyAgICAgICAgcmV0dXJuIHNlbGYuX2FwcHJvdmVycworCisgICAgQHBy
b3BlcnR5CisgICAgZGVmIGJsb2NrZXJzKHNlbGYpOgorICAgICAgICBpZiBzZWxmLl9ibG9ja2Vy
cyBpcyBOb25lIGFuZCBzZWxmLmdlbmVyYXRvcjoKKyAgICAgICAgICAgIHNlbGYuZ2VuZXJhdG9y
LnJldmlld2VycyhzZWxmKQorICAgICAgICByZXR1cm4gc2VsZi5fYmxvY2tlcnMKKworICAgIEBw
cm9wZXJ0eQorICAgIGRlZiBvcGVuZWQoc2VsZik6CisgICAgICAgIGlmIHNlbGYuX29wZW5lZCBp
cyBOb25lOgorICAgICAgICAgICAgcmV0dXJuICc/JworICAgICAgICByZXR1cm4gc2VsZi5fb3Bl
bmVkCiAKICAgICBkZWYgX19yZXByX18oc2VsZik6CiAgICAgICAgIHJldHVybiAnUFIge317fScu
Zm9ybWF0KHNlbGYubnVtYmVyLCAnIHwge30nLmZvcm1hdChzZWxmLnRpdGxlKSBpZiBzZWxmLnRp
dGxlIGVsc2UgJycpCmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL2xpYnJhcmllcy93ZWJraXRz
Y21weS93ZWJraXRzY21weS9yZW1vdGUvYml0YnVja2V0LnB5IGIvVG9vbHMvU2NyaXB0cy9saWJy
YXJpZXMvd2Via2l0c2NtcHkvd2Via2l0c2NtcHkvcmVtb3RlL2JpdGJ1Y2tldC5weQppbmRleCAz
MzcxY2NkNmE5NDVhNTkzMGMwNjBhYzNjNTdjOWM0ZmY5NmQxNWRlLi45NjZmZWRlNWI4NzczZjk3
OGUwODNkYzgzNjY4Yzk1ZWIwNTlmNDQ3IDEwMDY0NAotLS0gYS9Ub29scy9TY3JpcHRzL2xpYnJh
cmllcy93ZWJraXRzY21weS93ZWJraXRzY21weS9yZW1vdGUvYml0YnVja2V0LnB5CisrKyBiL1Rv
b2xzL1NjcmlwdHMvbGlicmFyaWVzL3dlYmtpdHNjbXB5L3dlYmtpdHNjbXB5L3JlbW90ZS9iaXRi
dWNrZXQucHkKQEAgLTQyLDMwICs0Miw1MiBAQCBjbGFzcyBCaXRCdWNrZXQoU2NtKToKICAgICAg
ICAgZGVmIFB1bGxSZXF1ZXN0KHNlbGYsIGRhdGEpOgogICAgICAgICAgICAgaWYgbm90IGRhdGE6
CiAgICAgICAgICAgICAgICAgcmV0dXJuIE5vbmUKLSAgICAgICAgICAgIHJldHVybiBQdWxsUmVx
dWVzdCgKKyAgICAgICAgICAgIHJlc3VsdCA9IFB1bGxSZXF1ZXN0KAogICAgICAgICAgICAgICAg
IG51bWJlcj1kYXRhWydpZCddLAogICAgICAgICAgICAgICAgIHRpdGxlPWRhdGEuZ2V0KCd0aXRs
ZScpLAogICAgICAgICAgICAgICAgIGJvZHk9ZGF0YS5nZXQoJ2Rlc2NyaXB0aW9uJyksCiAgICAg
ICAgICAgICAgICAgYXV0aG9yPXNlbGYucmVwb3NpdG9yeS5jb250cmlidXRvcnMuY3JlYXRlKAog
ICAgICAgICAgICAgICAgICAgICBkYXRhWydhdXRob3InXVsndXNlciddWydkaXNwbGF5TmFtZSdd
LAotICAgICAgICAgICAgICAgICAgICBkYXRhWydhdXRob3InXVsndXNlciddWydlbWFpbEFkZHJl
c3MnXSwKKyAgICAgICAgICAgICAgICAgICAgZGF0YVsnYXV0aG9yJ11bJ3VzZXInXS5nZXQoJ2Vt
YWlsQWRkcmVzcycsIE5vbmUpLAogICAgICAgICAgICAgICAgICksIGhlYWQ9ZGF0YVsnZnJvbVJl
ZiddWydkaXNwbGF5SWQnXSwKICAgICAgICAgICAgICAgICBiYXNlPWRhdGFbJ3RvUmVmJ11bJ2Rp
c3BsYXlJZCddLAorICAgICAgICAgICAgICAgIG9wZW5lZD1UcnVlIGlmIGRhdGEuZ2V0KCdvcGVu
JykgZWxzZSAoRmFsc2UgaWYgZGF0YS5nZXQoJ2Nsb3NlZCcpIGVsc2UgTm9uZSksCisgICAgICAg
ICAgICAgICAgZ2VuZXJhdG9yPXNlbGYsCiAgICAgICAgICAgICApCiAKKyAgICAgICAgICAgIHJl
c3VsdC5fcmV2aWV3ZXJzID0gW10KKyAgICAgICAgICAgIHJlc3VsdC5fYXBwcm92ZXJzID0gW10K
KyAgICAgICAgICAgIHJlc3VsdC5fYmxvY2tlcnMgPSBbXQorICAgICAgICAgICAgZm9yIHJkYXRh
IGluIGRhdGEuZ2V0KCdyZXZpZXdlcnMnLCBbXSk6CisgICAgICAgICAgICAgICAgcmV2aWV3ZXIg
PSBzZWxmLnJlcG9zaXRvcnkuY29udHJpYnV0b3JzLmNyZWF0ZSgKKyAgICAgICAgICAgICAgICAg
ICAgcmRhdGFbJ3VzZXInXVsnZGlzcGxheU5hbWUnXSwKKyAgICAgICAgICAgICAgICAgICAgcmRh
dGFbJ3VzZXInXS5nZXQoJ2VtYWlsQWRkcmVzcycsIE5vbmUpLAorICAgICAgICAgICAgICAgICkK
KyAgICAgICAgICAgICAgICByZXN1bHQuX3Jldmlld2Vycy5hcHBlbmQocmV2aWV3ZXIpCisgICAg
ICAgICAgICAgICAgaWYgcmRhdGEuZ2V0KCdhcHByb3ZlZCcsIEZhbHNlKToKKyAgICAgICAgICAg
ICAgICAgICAgcmVzdWx0Ll9hcHByb3ZlcnMuYXBwZW5kKHJldmlld2VyKQorICAgICAgICAgICAg
ICAgIGlmIHJkYXRhLmdldCgnc3RhdHVzJykgPT0gJ05FRURTX1dPUksnOgorICAgICAgICAgICAg
ICAgICAgICByZXN1bHQuX2Jsb2NrZXJzLmFwcGVuZChyZXZpZXdlcikKKworICAgICAgICAgICAg
cmVzdWx0Ll9yZXZpZXdlcnMgPSBzb3J0ZWQocmVzdWx0Ll9yZXZpZXdlcnMpCisgICAgICAgICAg
ICByZXR1cm4gcmVzdWx0CisKICAgICAgICAgZGVmIGdldChzZWxmLCBudW1iZXIpOgogICAgICAg
ICAgICAgcmV0dXJuIHNlbGYuUHVsbFJlcXVlc3Qoc2VsZi5yZXBvc2l0b3J5LnJlcXVlc3QoJ3B1
bGwtcmVxdWVzdHMve30nLmZvcm1hdChpbnQobnVtYmVyKSkpKQogCi0gICAgICAgIGRlZiBmaW5k
KHNlbGYsIHN0YXRlPU5vbmUsIGhlYWQ9Tm9uZSwgYmFzZT1Ob25lKToKKyAgICAgICAgZGVmIGZp
bmQoc2VsZiwgb3BlbmVkPVRydWUsIGhlYWQ9Tm9uZSwgYmFzZT1Ob25lKToKKyAgICAgICAgICAg
IGFzc2VydCBvcGVuZWQgaW4gKFRydWUsIEZhbHNlLCBOb25lKQorCiAgICAgICAgICAgICBwYXJh
bXMgPSBkaWN0KAogICAgICAgICAgICAgICAgIGxpbWl0PTEwMCwKICAgICAgICAgICAgICAgICB3
aXRoUHJvcGVydGllcz0nZmFsc2UnLAogICAgICAgICAgICAgICAgIHdpdGhBdHRyaWJ1dGVzPSdm
YWxzZScsCiAgICAgICAgICAgICApCi0gICAgICAgICAgICBpZiBzdGF0ZSA9PSBQdWxsUmVxdWVz
dC5TdGF0ZS5PUEVORUQ6CisgICAgICAgICAgICBpZiBvcGVuZWQgaXMgVHJ1ZToKICAgICAgICAg
ICAgICAgICBwYXJhbXNbJ3N0YXRlJ10gPSAnT1BFTicKLSAgICAgICAgICAgIGlmIHN0YXRlID09
IFB1bGxSZXF1ZXN0LlN0YXRlLkNMT1NFRDoKKyAgICAgICAgICAgIGVsaWYgbm90IG9wZW5lZDoK
ICAgICAgICAgICAgICAgICBwYXJhbXNbJ3N0YXRlJ10gPSBbJ0RFQ0xJTkVEJywgJ01FUkdFRCcs
ICdTVVBFUlNFREVEJ10KKwogICAgICAgICAgICAgaWYgaGVhZDoKICAgICAgICAgICAgICAgICBw
YXJhbXNbJ2RpcmVjdGlvbiddID0gJ09VVEdPSU5HJwogICAgICAgICAgICAgICAgIHBhcmFtc1sn
YXQnXSA9ICdyZWZzL2hlYWRzL3t9Jy5mb3JtYXQoaGVhZCkKQEAgLTc1LDYgKzk3LDE1IEBAIGNs
YXNzIEJpdEJ1Y2tldChTY20pOgogICAgICAgICAgICAgICAgICAgICBjb250aW51ZQogICAgICAg
ICAgICAgICAgIHlpZWxkIHNlbGYuUHVsbFJlcXVlc3QoZGF0dW0pCiAKKyAgICAgICAgICAgICMg
U3Rhc2ggaXMgYmFkIGF0IGZpbHRlciBmb3Igb3BlbiBhbmQgY2xvc2VkIFBScyBhdCB0aGUgc2Ft
ZSB0aW1lCisgICAgICAgICAgICBpZiBvcGVuZWQgaXMgTm9uZToKKyAgICAgICAgICAgICAgICBw
YXJhbXNbJ3N0YXRlJ10gPSAnT1BFTicKKyAgICAgICAgICAgICAgICBkYXRhID0gc2VsZi5yZXBv
c2l0b3J5LnJlcXVlc3QoJ3B1bGwtcmVxdWVzdHMnLCBwYXJhbXM9cGFyYW1zKQorICAgICAgICAg
ICAgICAgIGZvciBkYXR1bSBpbiBkYXRhIG9yIFtdOgorICAgICAgICAgICAgICAgICAgICBpZiBi
YXNlIGFuZCBub3QgZGF0dW1bJ3RvUmVmJ11bJ2lkJ10uZW5kc3dpdGgoYmFzZSk6CisgICAgICAg
ICAgICAgICAgICAgICAgICBjb250aW51ZQorICAgICAgICAgICAgICAgICAgICB5aWVsZCBzZWxm
LlB1bGxSZXF1ZXN0KGRhdHVtKQorCiAgICAgICAgIGRlZiBjcmVhdGUoc2VsZiwgaGVhZCwgdGl0
bGUsIGJvZHk9Tm9uZSwgY29tbWl0cz1Ob25lLCBiYXNlPU5vbmUpOgogICAgICAgICAgICAgZm9y
IGtleSwgdmFsdWUgaW4gZGljdChoZWFkPWhlYWQsIHRpdGxlPXRpdGxlKS5pdGVtcygpOgogICAg
ICAgICAgICAgICAgIGlmIG5vdCB2YWx1ZToKQEAgLTE3Myw5ICsyMDQsMTUgQEAgY2xhc3MgQml0
QnVja2V0KFNjbSk6CiAgICAgICAgICAgICAgICAgcHVsbF9yZXF1ZXN0LmF1dGhvciA9IHNlbGYu
cmVwb3NpdG9yeS5jb250cmlidXRvcnMuY3JlYXRlKHVzZXJbJ2Rpc3BsYXlOYW1lJ10sIHVzZXJb
J2VtYWlsQWRkcmVzcyddKQogICAgICAgICAgICAgcHVsbF9yZXF1ZXN0LmhlYWQgPSBkYXRhLmdl
dCgnZnJvbVJlZicsIHt9KS5nZXQoJ2Rpc3BsYXlJZCcsIHB1bGxfcmVxdWVzdC5iYXNlKQogICAg
ICAgICAgICAgcHVsbF9yZXF1ZXN0LmJhc2UgPSBkYXRhLmdldCgndG9SZWYnLCB7fSkuZ2V0KCdk
aXNwbGF5SWQnLCBwdWxsX3JlcXVlc3QuYmFzZSkKKyAgICAgICAgICAgIHB1bGxfcmVxdWVzdC5n
ZW5lcmF0b3IgPSBzZWxmCiAKICAgICAgICAgICAgIHJldHVybiBwdWxsX3JlcXVlc3QKIAorICAg
ICAgICBkZWYgcmV2aWV3ZXJzKHNlbGYsIHB1bGxfcmVxdWVzdCk6CisgICAgICAgICAgICBnb3Qg
PSBzZWxmLmdldChwdWxsX3JlcXVlc3QubnVtYmVyKQorICAgICAgICAgICAgcHVsbF9yZXF1ZXN0
Ll9yZXZpZXdlcnMgPSBnb3QuX3Jldmlld2VycyBpZiBnb3QgZWxzZSBbXQorICAgICAgICAgICAg
cHVsbF9yZXF1ZXN0Ll9hcHByb3ZlcnMgPSBnb3QuX2FwcHJvdmVycyBpZiBnb3QgZWxzZSBbXQor
ICAgICAgICAgICAgcmV0dXJuIHB1bGxfcmVxdWVzdAogCiAgICAgQGNsYXNzbWV0aG9kCiAgICAg
ZGVmIGlzX3dlYnNlcnZlcihjbHMsIHVybCk6CmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL2xp
YnJhcmllcy93ZWJraXRzY21weS93ZWJraXRzY21weS9yZW1vdGUvZ2l0X2h1Yi5weSBiL1Rvb2xz
L1NjcmlwdHMvbGlicmFyaWVzL3dlYmtpdHNjbXB5L3dlYmtpdHNjbXB5L3JlbW90ZS9naXRfaHVi
LnB5CmluZGV4IDJmM2Y0NDFmN2RmZjlmYWEzYTVkNzQyZTE5YjA2ZTY3ZmQ0ODQxYjcuLjYzYzc0
MzM3NzllZWQ1MGY4ZTJlMmIzZTA1Mzk1ODY3OThlOTY3NzEgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1Nj
cmlwdHMvbGlicmFyaWVzL3dlYmtpdHNjbXB5L3dlYmtpdHNjbXB5L3JlbW90ZS9naXRfaHViLnB5
CisrKyBiL1Rvb2xzL1NjcmlwdHMvbGlicmFyaWVzL3dlYmtpdHNjbXB5L3dlYmtpdHNjbXB5L3Jl
bW90ZS9naXRfaHViLnB5CkBAIC0yOSw3ICsyOSw3IEBAIGltcG9ydCBzeXMKIGZyb20gZGF0ZXRp
bWUgaW1wb3J0IGRhdGV0aW1lCiBmcm9tIHJlcXVlc3RzLmF1dGggaW1wb3J0IEhUVFBCYXNpY0F1
dGgKIGZyb20gd2Via2l0Y29yZXB5IGltcG9ydCBjcmVkZW50aWFscywgZGVjb3JhdG9ycwotZnJv
bSB3ZWJraXRzY21weSBpbXBvcnQgQ29tbWl0LCBQdWxsUmVxdWVzdAorZnJvbSB3ZWJraXRzY21w
eSBpbXBvcnQgQ29tbWl0LCBDb250cmlidXRvciwgUHVsbFJlcXVlc3QKIGZyb20gd2Via2l0c2Nt
cHkucmVtb3RlLnNjbSBpbXBvcnQgU2NtCiBmcm9tIHhtbC5kb20gaW1wb3J0IG1pbmlkb20KIApA
QCAtNDksMTcgKzQ5LDI2IEBAIGNsYXNzIEdpdEh1YihTY20pOgogICAgICAgICAgICAgICAgIGF1
dGhvcj1zZWxmLnJlcG9zaXRvcnkuY29udHJpYnV0b3JzLmNyZWF0ZShkYXRhWyd1c2VyJ11bJ2xv
Z2luJ10pLAogICAgICAgICAgICAgICAgIGhlYWQ9ZGF0YVsnaGVhZCddWydyZWYnXSwKICAgICAg
ICAgICAgICAgICBiYXNlPWRhdGFbJ2Jhc2UnXVsncmVmJ10sCisgICAgICAgICAgICAgICAgb3Bl
bmVkPWRpY3QoCisgICAgICAgICAgICAgICAgICAgIG9wZW49VHJ1ZSwKKyAgICAgICAgICAgICAg
ICAgICAgY2xvc2VkPUZhbHNlLAorICAgICAgICAgICAgICAgICkuZ2V0KGRhdGEuZ2V0KCdzdGF0
ZScpLCBOb25lKSwKKyAgICAgICAgICAgICAgICBnZW5lcmF0b3I9c2VsZiwKICAgICAgICAgICAg
ICkKIAogICAgICAgICBkZWYgZ2V0KHNlbGYsIG51bWJlcik6CiAgICAgICAgICAgICByZXR1cm4g
c2VsZi5QdWxsUmVxdWVzdChzZWxmLnJlcG9zaXRvcnkucmVxdWVzdCgncHVsbHMve30nLmZvcm1h
dChpbnQobnVtYmVyKSkpKQogCi0gICAgICAgIGRlZiBmaW5kKHNlbGYsIHN0YXRlPU5vbmUsIGhl
YWQ9Tm9uZSwgYmFzZT1Ob25lKToKLSAgICAgICAgICAgIGlmIG5vdCBzdGF0ZToKLSAgICAgICAg
ICAgICAgICBzdGF0ZSA9ICdhbGwnCisgICAgICAgIGRlZiBmaW5kKHNlbGYsIG9wZW5lZD1UcnVl
LCBoZWFkPU5vbmUsIGJhc2U9Tm9uZSk6CisgICAgICAgICAgICBhc3NlcnQgb3BlbmVkIGluIChU
cnVlLCBGYWxzZSwgTm9uZSkKKwogICAgICAgICAgICAgdXNlciwgXyA9IHNlbGYucmVwb3NpdG9y
eS5jcmVkZW50aWFscygpCiAgICAgICAgICAgICBkYXRhID0gc2VsZi5yZXBvc2l0b3J5LnJlcXVl
c3QoJ3B1bGxzJywgcGFyYW1zPWRpY3QoCi0gICAgICAgICAgICAgICAgc3RhdGU9c3RhdGUsCisg
ICAgICAgICAgICAgICAgc3RhdGU9eworICAgICAgICAgICAgICAgICAgICBOb25lOiAnYWxsJywK
KyAgICAgICAgICAgICAgICAgICAgVHJ1ZTogJ29wZW4nLAorICAgICAgICAgICAgICAgICAgICBG
YWxzZTogJ2Nsb3NlZCcsCisgICAgICAgICAgICAgICAgfS5nZXQob3BlbmVkKSwKICAgICAgICAg
ICAgICAgICBiYXNlPWJhc2UsCiAgICAgICAgICAgICAgICAgaGVhZD0ne306e30nLmZvcm1hdCh1
c2VyLCBoZWFkKSBpZiB1c2VyIGFuZCBoZWFkIGVsc2UgaGVhZCwKICAgICAgICAgICAgICkpCkBA
IC0xMjksNyArMTM4LDQ5IEBAIGNsYXNzIEdpdEh1YihTY20pOgogICAgICAgICAgICAgICAgIHB1
bGxfcmVxdWVzdC5hdXRob3IgPSBzZWxmLnJlcG9zaXRvcnkuY29udHJpYnV0b3JzLmNyZWF0ZShk
YXRhWyd1c2VyJ11bJ2xvZ2luJ10pCiAgICAgICAgICAgICBwdWxsX3JlcXVlc3QuaGVhZCA9IGRh
dGEuZ2V0KCdoZWFkJywge30pLmdldCgnZGlzcGxheUlkJywgcHVsbF9yZXF1ZXN0LmJhc2UpCiAg
ICAgICAgICAgICBwdWxsX3JlcXVlc3QuYmFzZSA9IGRhdGEuZ2V0KCdiYXNlJywge30pLmdldCgn
ZGlzcGxheUlkJywgcHVsbF9yZXF1ZXN0LmJhc2UpCisgICAgICAgICAgICBwdWxsX3JlcXVlc3Qu
X29wZW5lZCA9IGRpY3QoCisgICAgICAgICAgICAgICAgb3Blbj1UcnVlLAorICAgICAgICAgICAg
ICAgIGNsb3NlZD1GYWxzZSwKKyAgICAgICAgICAgICkuZ2V0KGRhdGEuZ2V0KCdzdGF0ZScpLCBO
b25lKSwKKyAgICAgICAgICAgIHB1bGxfcmVxdWVzdC5nZW5lcmF0b3IgPSBzZWxmCisKKyAgICAg
ICAgICAgIHJldHVybiBwdWxsX3JlcXVlc3QKIAorICAgICAgICBkZWYgX2NvbnRyaWJ1dG9yKHNl
bGYsIHVzZXJuYW1lKToKKyAgICAgICAgICAgIHJlc3VsdCA9IHNlbGYucmVwb3NpdG9yeS5jb250
cmlidXRvcnMuZ2V0KHVzZXJuYW1lLCBOb25lKQorICAgICAgICAgICAgaWYgcmVzdWx0OgorICAg
ICAgICAgICAgICAgIHJldHVybiByZXN1bHQKKworICAgICAgICAgICAgcmVzcG9uc2UgPSByZXF1
ZXN0cy5nZXQoCisgICAgICAgICAgICAgICAgJ3thcGlfdXJsfS91c2Vycy97dXNlcm5hbWV9Jy5m
b3JtYXQoCisgICAgICAgICAgICAgICAgICAgIGFwaV91cmw9c2VsZi5yZXBvc2l0b3J5LmFwaV91
cmwsCisgICAgICAgICAgICAgICAgICAgIHVzZXJuYW1lPXVzZXJuYW1lLAorICAgICAgICAgICAg
ICAgICksIGF1dGg9SFRUUEJhc2ljQXV0aCgqc2VsZi5yZXBvc2l0b3J5LmNyZWRlbnRpYWxzKHJl
cXVpcmVkPVRydWUpKSwKKyAgICAgICAgICAgICAgICBoZWFkZXJzPWRpY3QoQWNjZXB0PSdhcHBs
aWNhdGlvbi92bmQuZ2l0aHViLnYzK2pzb24nKSwKKyAgICAgICAgICAgICkKKyAgICAgICAgICAg
IGlmIHJlc3BvbnNlLnN0YXR1c19jb2RlIC8vIDEwMCAhPSAyOgorICAgICAgICAgICAgICAgIHJl
dHVybiBDb250cmlidXRvcih1c2VybmFtZSkKKworICAgICAgICAgICAgZGF0YSA9IHJlc3BvbnNl
Lmpzb24oKQorICAgICAgICAgICAgcmVzdWx0ID0gc2VsZi5yZXBvc2l0b3J5LmNvbnRyaWJ1dG9y
cy5jcmVhdGUoZGF0YS5nZXQoJ25hbWUnLCB1c2VybmFtZSksIGRhdGEuZ2V0KCdlbWFpbCcpKQor
ICAgICAgICAgICAgcmVzdWx0LmdpdGh1YiA9IHVzZXJuYW1lCisgICAgICAgICAgICBzZWxmLnJl
cG9zaXRvcnkuY29udHJpYnV0b3JzW3VzZXJuYW1lXSA9IHJlc3VsdAorICAgICAgICAgICAgcmV0
dXJuIHJlc3VsdAorCisgICAgICAgIGRlZiByZXZpZXdlcnMoc2VsZiwgcHVsbF9yZXF1ZXN0KToK
KyAgICAgICAgICAgIHJlc3BvbnNlID0gc2VsZi5yZXBvc2l0b3J5LnJlcXVlc3QoJ3B1bGxzL3t9
L3JlcXVlc3RlZF9yZXZpZXdlcnMnLmZvcm1hdChwdWxsX3JlcXVlc3QubnVtYmVyKSkKKyAgICAg
ICAgICAgIHB1bGxfcmVxdWVzdC5fcmV2aWV3ZXJzID0gW3NlbGYuX2NvbnRyaWJ1dG9yKHVzZXJb
J2xvZ2luJ10pIGZvciB1c2VyIGluIHJlc3BvbnNlLmdldCgndXNlcnMnLCBbXSldCisgICAgICAg
ICAgICBwdWxsX3JlcXVlc3QuX2FwcHJvdmVycyA9IFtdCisgICAgICAgICAgICBwdWxsX3JlcXVl
c3QuX2Jsb2NrZXJzID0gW10KKyAgICAgICAgICAgIGZvciByZXZpZXcgaW4gc2VsZi5yZXBvc2l0
b3J5LnJlcXVlc3QoJ3B1bGxzL3t9L3Jldmlld3MnLmZvcm1hdChwdWxsX3JlcXVlc3QubnVtYmVy
KSk6CisgICAgICAgICAgICAgICAgY29udHJpYnV0b3IgPSBzZWxmLl9jb250cmlidXRvcihyZXZp
ZXdbJ3VzZXInXVsnbG9naW4nXSkKKyAgICAgICAgICAgICAgICBwdWxsX3JlcXVlc3QuX3Jldmll
d2Vycy5hcHBlbmQoY29udHJpYnV0b3IpCisgICAgICAgICAgICAgICAgaWYgcmV2aWV3LmdldCgn
c3RhdGUnKSA9PSAnQVBQUk9WRUQnOgorICAgICAgICAgICAgICAgICAgICBwdWxsX3JlcXVlc3Qu
X2FwcHJvdmVycy5hcHBlbmQoY29udHJpYnV0b3IpCisgICAgICAgICAgICAgICAgZWxpZiByZXZp
ZXcuZ2V0KCdzdGF0ZScpID09ICdDSEFOR0VTX1JFUVVFU1RFRCc6CisgICAgICAgICAgICAgICAg
ICAgIHB1bGxfcmVxdWVzdC5fYmxvY2tlcnMuYXBwZW5kKGNvbnRyaWJ1dG9yKQorCisgICAgICAg
ICAgICBwdWxsX3JlcXVlc3QuX3Jldmlld2VycyA9IHNvcnRlZChwdWxsX3JlcXVlc3QuX3Jldmll
d2VycykKICAgICAgICAgICAgIHJldHVybiBwdWxsX3JlcXVlc3QKIAogCmRpZmYgLS1naXQgYS9U
b29scy9TY3JpcHRzL2xpYnJhcmllcy93ZWJraXRzY21weS93ZWJraXRzY21weS9yZW1vdGUvc2Nt
LnB5IGIvVG9vbHMvU2NyaXB0cy9saWJyYXJpZXMvd2Via2l0c2NtcHkvd2Via2l0c2NtcHkvcmVt
b3RlL3NjbS5weQppbmRleCBkNTI3ZjRjMDA3ZmVkNTg1YzFlM2YyMjRhYTZkZTZhYmQ2ZGQ0MjA4
Li4yZmU4YTg1MjViODhkMDQwMjkxYmVhOWJhMmYzYzMwNjk3MDFjMDliIDEwMDY0NAotLS0gYS9U
b29scy9TY3JpcHRzL2xpYnJhcmllcy93ZWJraXRzY21weS93ZWJraXRzY21weS9yZW1vdGUvc2Nt
LnB5CisrKyBiL1Rvb2xzL1NjcmlwdHMvbGlicmFyaWVzL3dlYmtpdHNjbXB5L3dlYmtpdHNjbXB5
L3JlbW90ZS9zY20ucHkKQEAgLTEsNCArMSw0IEBACi0jIENvcHlyaWdodCAoQykgMjAyMCBBcHBs
ZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisjIENvcHlyaWdodCAoQykgMjAyMCwgMjAyMSBB
cHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAjCiAjIFJlZGlzdHJpYnV0aW9uIGFuZCB1
c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogIyBtb2RpZmlj
YXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlv
bnMKQEAgLTMzLDcgKzMzLDcgQEAgY2xhc3MgU2NtKFNjbUJhc2UpOgogICAgICAgICBkZWYgZ2V0
KHNlbGYsIG51bWJlcik6CiAgICAgICAgICAgICByYWlzZSBOb3RJbXBsZW1lbnRlZEVycm9yKCkK
IAotICAgICAgICBkZWYgZmluZChzZWxmLCBzdGF0ZT1Ob25lLCBoZWFkPU5vbmUsIGJhc2U9Tm9u
ZSk6CisgICAgICAgIGRlZiBmaW5kKHNlbGYsIG9wZW5lZD1UcnVlLCBoZWFkPU5vbmUsIGJhc2U9
Tm9uZSk6CiAgICAgICAgICAgICByYWlzZSBOb3RJbXBsZW1lbnRlZEVycm9yKCkKIAogICAgICAg
ICBkZWYgY3JlYXRlKHNlbGYsIGhlYWQsIHRpdGxlLCBib2R5PU5vbmUsIGNvbW1pdHM9Tm9uZSwg
YmFzZT1Ob25lKToKQEAgLTQyLDYgKzQyLDkgQEAgY2xhc3MgU2NtKFNjbUJhc2UpOgogICAgICAg
ICBkZWYgdXBkYXRlKHNlbGYsIHB1bGxfcmVxdWVzdCwgaGVhZD1Ob25lLCB0aXRsZT1Ob25lLCBi
b2R5PU5vbmUsIGNvbW1pdHM9Tm9uZSwgYmFzZT1Ob25lKToKICAgICAgICAgICAgIHJhaXNlIE5v
dEltcGxlbWVudGVkRXJyb3IoKQogCisgICAgICAgIGRlZiByZXZpZXdlcnMoc2VsZiwgcHVsbF9y
ZXF1ZXN0KToKKyAgICAgICAgICAgIHJhaXNlIE5vdEltcGxlbWVudGVkRXJyb3IoKQorCiAKICAg
ICBAY2xhc3NtZXRob2QKICAgICBkZWYgZnJvbV91cmwoY2xzLCB1cmwsIGNvbnRyaWJ1dG9ycz1O
b25lKToKZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvbGlicmFyaWVzL3dlYmtpdHNjbXB5L3dl
YmtpdHNjbXB5L3Rlc3QvcHVsbF9yZXF1ZXN0X3VuaXR0ZXN0LnB5IGIvVG9vbHMvU2NyaXB0cy9s
aWJyYXJpZXMvd2Via2l0c2NtcHkvd2Via2l0c2NtcHkvdGVzdC9wdWxsX3JlcXVlc3RfdW5pdHRl
c3QucHkKaW5kZXggYTk2NTJiNDhlM2Y5NzU4ZmI5ZmIxYmM0NzFiZWMwYWFmMWE5Yzk5ZC4uMDEz
MDM5NDA4NGE0YjU4MzJjNWNiNGViNmI2ZTVhNDRmODVlMjgxZCAxMDA2NDQKLS0tIGEvVG9vbHMv
U2NyaXB0cy9saWJyYXJpZXMvd2Via2l0c2NtcHkvd2Via2l0c2NtcHkvdGVzdC9wdWxsX3JlcXVl
c3RfdW5pdHRlc3QucHkKKysrIGIvVG9vbHMvU2NyaXB0cy9saWJyYXJpZXMvd2Via2l0c2NtcHkv
d2Via2l0c2NtcHkvdGVzdC9wdWxsX3JlcXVlc3RfdW5pdHRlc3QucHkKQEAgLTI1LDcgKzI1LDcg
QEAgaW1wb3J0IHN5cwogaW1wb3J0IHVuaXR0ZXN0CiAKIGZyb20gd2Via2l0Y29yZXB5IGltcG9y
dCBPdXRwdXRDYXB0dXJlLCB0ZXN0aW5nCi1mcm9tIHdlYmtpdHNjbXB5IGltcG9ydCBDb21taXQs
IFB1bGxSZXF1ZXN0LCBwcm9ncmFtLCBtb2NrcywgcmVtb3RlCitmcm9tIHdlYmtpdHNjbXB5IGlt
cG9ydCBDb250cmlidXRvciwgQ29tbWl0LCBQdWxsUmVxdWVzdCwgcHJvZ3JhbSwgbW9ja3MsIHJl
bW90ZQogCiAKIGNsYXNzIFRlc3RQdWxsUmVxdWVzdCh1bml0dGVzdC5UZXN0Q2FzZSk6CkBAIC00
MzMsNiArNDMzLDEyIEBAIGNsYXNzIFRlc3ROZXR3b3JrUHVsbFJlcXVlc3RHaXRIdWIodW5pdHRl
c3QuVGVzdENhc2UpOgogICAgIEBjbGFzc21ldGhvZAogICAgIGRlZiB3ZWJzZXJ2ZXIoY2xzKToK
ICAgICAgICAgcmVzdWx0ID0gbW9ja3MucmVtb3RlLkdpdEh1YigpCisgICAgICAgIHJlc3VsdC51
c2VycyA9IGRpY3QoCisgICAgICAgICAgICBlcmV2aWV3ZXI9Q29udHJpYnV0b3IoJ0VhZ2VyIFJl
dmlld2VyJywgWydlcmV2aWV3ZXJAd2Via2l0Lm9yZyddLCBnaXRodWI9J2VyZXZpZXdlcicpLAor
ICAgICAgICAgICAgcnJldmlld2VyPUNvbnRyaWJ1dG9yKCdSZWx1Y3RhbnQgUmV2aWV3ZXInLCBb
J3JyZXZpZXdlckB3ZWJraXQub3JnJ10sIGdpdGh1Yj0ncnJldmlld2VyJyksCisgICAgICAgICAg
ICBzcmV2aWV3ZXI9Q29udHJpYnV0b3IoJ1N1c3BpY2lvdXMgUmV2aWV3ZXInLCBbJ3NyZXZpZXdl
ckB3ZWJraXQub3JnJ10sIGdpdGh1Yj0nc3Jldmlld2VyJyksCisgICAgICAgICAgICB0Y29udHJp
YnV0b3I9Q29udHJpYnV0b3IoJ1RpbSBDb250cmlidXRvcicsIFsndGNvbnRyaWJ1dG9yQHdlYmtp
dC5vcmcnXSksCisgICAgICAgICkKICAgICAgICAgcmVzdWx0LnB1bGxfcmVxdWVzdHMgPSBbZGlj
dCgKICAgICAgICAgICAgIG51bWJlcj0xLAogICAgICAgICAgICAgc3RhdGU9J29wZW4nLApAQCAt
NDUwLDYgKzQ1NiwxMSBAQCBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KICcnJywKICAgICAg
ICAgICAgIGhlYWQ9ZGljdChyZWY9J2VuZy9wdWxsLXJlcXVlc3QnKSwKICAgICAgICAgICAgIGJh
c2U9ZGljdChyZWY9J21haW4nKSwKKyAgICAgICAgICAgIHJlcXVlc3RlZF9yZXZpZXdzPVtkaWN0
KGxvZ2luPSdycmV2aWV3ZXInKV0sCisgICAgICAgICAgICByZXZpZXdzPVsKKyAgICAgICAgICAg
ICAgICBkaWN0KHVzZXI9ZGljdChsb2dpbj0nZXJldmlld2VyJyksIHN0YXRlPSdBUFBST1ZFRCcp
LAorICAgICAgICAgICAgICAgIGRpY3QodXNlcj1kaWN0KGxvZ2luPSdzcmV2aWV3ZXInKSwgc3Rh
dGU9J0NIQU5HRVNfUkVRVUVTVEVEJyksCisgICAgICAgICAgICBdLAogICAgICAgICApXQogICAg
ICAgICByZXR1cm4gcmVzdWx0CiAKQEAgLTQ2NiwxMCArNDc3LDIyIEBAIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgogICAgICAgICB3aXRoIHNlbGYud2Vic2VydmVyKCk6CiAgICAgICAgICAg
ICBwciA9IHJlbW90ZS5HaXRIdWIoc2VsZi5yZW1vdGUpLnB1bGxfcmVxdWVzdHMuZ2V0KDEpCiAg
ICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHByLm51bWJlciwgMSkKKyAgICAgICAgICAgIHNl
bGYuYXNzZXJ0VHJ1ZShwci5vcGVuZWQpCiAgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHBy
LnRpdGxlLCAnRXhhbXBsZSBDaGFuZ2UnKQogICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChw
ci5oZWFkLCAnZW5nL3B1bGwtcmVxdWVzdCcpCiAgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFs
KHByLmJhc2UsICdtYWluJykKIAorICAgIGRlZiB0ZXN0X3Jldmlld2VycyhzZWxmKToKKyAgICAg
ICAgd2l0aCBzZWxmLndlYnNlcnZlcigpOgorICAgICAgICAgICAgcHIgPSByZW1vdGUuR2l0SHVi
KHNlbGYucmVtb3RlKS5wdWxsX3JlcXVlc3RzLmdldCgxKQorICAgICAgICAgICAgc2VsZi5hc3Nl
cnRFcXVhbChwci5yZXZpZXdlcnMsIFsKKyAgICAgICAgICAgICAgICBDb250cmlidXRvcignRWFn
ZXIgUmV2aWV3ZXInLCBbJ2VyZXZpZXdlckB3ZWJraXQub3JnJ10pLAorICAgICAgICAgICAgICAg
IENvbnRyaWJ1dG9yKCdSZWx1Y3RhbnQgUmV2aWV3ZXInLCBbJ3JyZXZpZXdlckB3ZWJraXQub3Jn
J10pLAorICAgICAgICAgICAgICAgIENvbnRyaWJ1dG9yKCdTdXNwaWNpb3VzIFJldmlld2VyJywg
WydzcmV2aWV3ZXJAd2Via2l0Lm9yZyddKSwKKyAgICAgICAgICAgIF0pCisgICAgICAgICAgICBz
ZWxmLmFzc2VydEVxdWFsKHByLmFwcHJvdmVycywgW0NvbnRyaWJ1dG9yKCdFYWdlciBSZXZpZXdl
cicsIFsnZXJldmlld2VyQHdlYmtpdC5vcmcnXSldKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRF
cXVhbChwci5ibG9ja2VycywgW0NvbnRyaWJ1dG9yKCdTdXNwaWNpb3VzIFJldmlld2VyJywgWydz
cmV2aWV3ZXJAd2Via2l0Lm9yZyddKV0pCisKIAogY2xhc3MgVGVzdE5ldHdvcmtQdWxsUmVxdWVz
dEJpdEJ1Y2tldCh1bml0dGVzdC5UZXN0Q2FzZSk6CiAgICAgcmVtb3RlID0gJ2h0dHBzOi8vYml0
YnVja2V0LmV4YW1wbGUuY29tL3Byb2plY3RzL1dFQktJVC9yZXBvcy93ZWJraXQnCkBAIC00ODAs
NiArNTAzLDggQEAgY2xhc3MgVGVzdE5ldHdvcmtQdWxsUmVxdWVzdEJpdEJ1Y2tldCh1bml0dGVz
dC5UZXN0Q2FzZSk6CiAgICAgICAgIHJlc3VsdC5wdWxsX3JlcXVlc3RzID0gW2RpY3QoCiAgICAg
ICAgICAgICBpZD0xLAogICAgICAgICAgICAgc3RhdGU9J09QRU4nLAorICAgICAgICAgICAgb3Bl
bj1UcnVlLAorICAgICAgICAgICAgY2xvc2VkPUZhbHNlLAogICAgICAgICAgICAgdGl0bGU9J0V4
YW1wbGUgQ2hhbmdlJywKICAgICAgICAgICAgIGF1dGhvcj1kaWN0KAogICAgICAgICAgICAgICAg
IHVzZXI9ZGljdCgKQEAgLTQ5OSw2ICs1MjQsMjQgQEAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCiAnJycsCiAgICAgICAgICAgICBmcm9tUmVmPWRpY3QoZGlzcGxheUlkPSdlbmcvcHVsbC1y
ZXF1ZXN0JyksCiAgICAgICAgICAgICB0b1JlZj1kaWN0KGRpc3BsYXlJZD0nbWFpbicpLAorICAg
ICAgICAgICAgcmV2aWV3ZXJzPVsKKyAgICAgICAgICAgICAgICBkaWN0KAorICAgICAgICAgICAg
ICAgICAgICB1c2VyPWRpY3QoCisgICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5TmFtZT0n
UmVsdWN0YW50IFJldmlld2VyJywKKyAgICAgICAgICAgICAgICAgICAgICAgIGVtYWlsQWRkcmVz
cz0ncnJldmlld2VyQHdlYmtpdC5vcmcnLAorICAgICAgICAgICAgICAgICAgICApLCBhcHByb3Zl
ZD1GYWxzZSwKKyAgICAgICAgICAgICAgICApLCBkaWN0KAorICAgICAgICAgICAgICAgICAgICB1
c2VyPWRpY3QoCisgICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5TmFtZT0nRWFnZXIgUmV2
aWV3ZXInLAorICAgICAgICAgICAgICAgICAgICAgICAgZW1haWxBZGRyZXNzPSdlcmV2aWV3ZXJA
d2Via2l0Lm9yZycsCisgICAgICAgICAgICAgICAgICAgICksIGFwcHJvdmVkPVRydWUsCisgICAg
ICAgICAgICAgICAgKSwgZGljdCgKKyAgICAgICAgICAgICAgICAgICAgdXNlcj1kaWN0KAorICAg
ICAgICAgICAgICAgICAgICAgICAgZGlzcGxheU5hbWU9J1N1c3BpY2lvdXMgUmV2aWV3ZXInLAor
ICAgICAgICAgICAgICAgICAgICAgICAgZW1haWxBZGRyZXNzPSdzcmV2aWV3ZXJAd2Via2l0Lm9y
ZycsCisgICAgICAgICAgICAgICAgICAgICksIHN0YXR1cz0nTkVFRFNfV09SSycsCisgICAgICAg
ICAgICAgICAgKSwKKyAgICAgICAgICAgIF0sCiAgICAgICAgICldCiAgICAgICAgIHJldHVybiBy
ZXN1bHQKIApAQCAtNTE2LDYgKzU1OSwxOCBAQCBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
ICAgICAgICAgd2l0aCBzZWxmLndlYnNlcnZlcigpOgogICAgICAgICAgICAgcHIgPSByZW1vdGUu
Qml0QnVja2V0KHNlbGYucmVtb3RlKS5wdWxsX3JlcXVlc3RzLmdldCgxKQogICAgICAgICAgICAg
c2VsZi5hc3NlcnRFcXVhbChwci5udW1iZXIsIDEpCisgICAgICAgICAgICBzZWxmLmFzc2VydFRy
dWUocHIub3BlbmVkKQogICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChwci50aXRsZSwgJ0V4
YW1wbGUgQ2hhbmdlJykKICAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocHIuaGVhZCwgJ2Vu
Zy9wdWxsLXJlcXVlc3QnKQogICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChwci5iYXNlLCAn
bWFpbicpCisKKyAgICBkZWYgdGVzdF9yZXZpZXdlcnMoc2VsZik6CisgICAgICAgIHdpdGggc2Vs
Zi53ZWJzZXJ2ZXIoKToKKyAgICAgICAgICAgIHByID0gcmVtb3RlLkJpdEJ1Y2tldChzZWxmLnJl
bW90ZSkucHVsbF9yZXF1ZXN0cy5nZXQoMSkKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwo
cHIucmV2aWV3ZXJzLCBbCisgICAgICAgICAgICAgICAgQ29udHJpYnV0b3IoJ0VhZ2VyIFJldmll
d2VyJywgWydlcmV2aWV3ZXJAd2Via2l0Lm9yZyddKSwKKyAgICAgICAgICAgICAgICBDb250cmli
dXRvcignUmVsdWN0YW50IFJldmlld2VyJywgWydycmV2aWV3ZXJAd2Via2l0Lm9yZyddKSwKKyAg
ICAgICAgICAgICAgICBDb250cmlidXRvcignU3VzcGljaW91cyBSZXZpZXdlcicsIFsnc3Jldmll
d2VyQHdlYmtpdC5vcmcnXSksCisgICAgICAgICAgICBdKQorICAgICAgICAgICAgc2VsZi5hc3Nl
cnRFcXVhbChwci5hcHByb3ZlcnMsIFtDb250cmlidXRvcignRWFnZXIgUmV2aWV3ZXInLCBbJ2Vy
ZXZpZXdlckB3ZWJraXQub3JnJ10pXSkKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocHIu
YmxvY2tlcnMsIFtDb250cmlidXRvcignU3VzcGljaW91cyBSZXZpZXdlcicsIFsnc3Jldmlld2Vy
QHdlYmtpdC5vcmcnXSldKQo=
</data>

          </attachment>
      

    </bug>

</bugzilla>