<?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>200395</bug_id>
          
          <creation_ts>2019-08-02 10:46:33 -0700</creation_ts>
          <short_desc>Resource Load Statistics: Re-introduce latch mode for subresource cookie blocking</short_desc>
          <delta_ts>2019-08-05 14:33:59 -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>WebKit Misc.</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="John Wilander">wilander</reporter>
          <assigned_to name="John Wilander">wilander</assigned_to>
          <cc>achristensen</cc>
    
    <cc>bfulgham</cc>
    
    <cc>commit-queue</cc>
    
    <cc>darin</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1557984</commentid>
    <comment_count>0</comment_count>
    <who name="John Wilander">wilander</who>
    <bug_when>2019-08-02 10:46:33 -0700</bug_when>
    <thetext>Back when we had a relaxation of cookie blocking 24 hours after first-party user interaction, we made sure cookie blocking could be turned on and off in subresource redirect chains. The 24 hour window is now long gone and we should simplify the cookie blocking so that once a subresource request is denied cookies, any subsequent redirect of that request will also be denied cookies, regardless of the classification status of the domains involved.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1557985</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2019-08-02 10:47:07 -0700</bug_when>
    <thetext>&lt;rdar://problem/53869611&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1557991</commentid>
    <comment_count>2</comment_count>
      <attachid>375427</attachid>
    <who name="John Wilander">wilander</who>
    <bug_when>2019-08-02 11:00:48 -0700</bug_when>
    <thetext>Created attachment 375427
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1558403</commentid>
    <comment_count>3</comment_count>
      <attachid>375427</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2019-08-04 18:28:34 -0700</bug_when>
    <thetext>Comment on attachment 375427
Patch

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

&gt; Source/WebKit/NetworkProcess/cocoa/NetworkDataTaskCocoa.mm:142
&gt; +    NSHTTPCookieStorage *storage = statelessCookieStorage();
&gt; +    [m_task _setExplicitCookieStorage:storage._cookieStorage];

Since we’re collapsing this, I don’t think the local variable adds anything any more. Could be a one liner instead.

    [m_task _setExplicitCookieStorage:statelessCookieStorage()._cookieStorage];</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1558485</commentid>
    <comment_count>4</comment_count>
    <who name="John Wilander">wilander</who>
    <bug_when>2019-08-05 11:03:59 -0700</bug_when>
    <thetext>(In reply to Darin Adler from comment #3)
&gt; Comment on attachment 375427 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=375427&amp;action=review
&gt; 
&gt; &gt; Source/WebKit/NetworkProcess/cocoa/NetworkDataTaskCocoa.mm:142
&gt; &gt; +    NSHTTPCookieStorage *storage = statelessCookieStorage();
&gt; &gt; +    [m_task _setExplicitCookieStorage:storage._cookieStorage];
&gt; 
&gt; Since we’re collapsing this, I don’t think the local variable adds anything
&gt; any more. Could be a one liner instead.
&gt; 
&gt;     [m_task
&gt; _setExplicitCookieStorage:statelessCookieStorage()._cookieStorage];

You&apos;re right. Will fix.

I&apos;m also going to rename NetworkDataTaskCocoa::applyCookieBlockingPolicy() to NetworkDataTaskCocoa::blockCookies() to make it clear at the call sites. At first, I wanted to stay with the more general &quot;apply policy&quot; to not have to touch it if we introduce more logic there. But now I think that&apos;s wrong. Readability wins.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1558486</commentid>
    <comment_count>5</comment_count>
    <who name="John Wilander">wilander</who>
    <bug_when>2019-08-05 11:04:33 -0700</bug_when>
    <thetext>Thanks for the review, Darin. I&apos;ll assume you&apos;re OK with the function renaming I mention above.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1558497</commentid>
    <comment_count>6</comment_count>
      <attachid>375540</attachid>
    <who name="John Wilander">wilander</who>
    <bug_when>2019-08-05 11:37:50 -0700</bug_when>
    <thetext>Created attachment 375540
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1558498</commentid>
    <comment_count>7</comment_count>
    <who name="John Wilander">wilander</who>
    <bug_when>2019-08-05 11:39:44 -0700</bug_when>
    <thetext>The renaming ended up restructuring the code and I could remove some duplicate logging. So it&apos;s best to get another review.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1558512</commentid>
    <comment_count>8</comment_count>
    <who name="John Wilander">wilander</who>
    <bug_when>2019-08-05 12:28:59 -0700</bug_when>
    <thetext>Orange bubbles are unrelated. The mac-debug tree seems red and the test failures on win have nothing to do with this code.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1558537</commentid>
    <comment_count>9</comment_count>
      <attachid>375540</attachid>
    <who name="John Wilander">wilander</who>
    <bug_when>2019-08-05 14:03:17 -0700</bug_when>
    <thetext>Comment on attachment 375540
Patch

Thanks again, Darin!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1558561</commentid>
    <comment_count>10</comment_count>
      <attachid>375540</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-08-05 14:33:58 -0700</bug_when>
    <thetext>Comment on attachment 375540
Patch

Clearing flags on attachment: 375540

Committed r248273: &lt;https://trac.webkit.org/changeset/248273&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1558562</commentid>
    <comment_count>11</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-08-05 14:33:59 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>375427</attachid>
            <date>2019-08-02 11:00:48 -0700</date>
            <delta_ts>2019-08-05 11:37:49 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-200395-20190802110047.patch</filename>
            <type>text/plain</type>
            <size>22998</size>
            <attacher name="John Wilander">wilander</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQ4MDgwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDc1YjM4MTQ4MTE4ZjE2MzE2
ZDY5ODBjN2I3NGU3NWRjN2QwMzQwZGMuLjY0ZTgxMGI4ZGQzMjBjMGM2ZDQ0ZWViMDUyYjRlYTdk
MTQxOWM3NTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjEgQEAKKzIwMTktMDgtMDIgIEpvaG4gV2ls
YW5kZXIgIDx3aWxhbmRlckBhcHBsZS5jb20+CisKKyAgICAgICAgUmVzb3VyY2UgTG9hZCBTdGF0
aXN0aWNzOiBSZS1pbnRyb2R1Y2UgbGF0Y2ggbW9kZSBmb3Igc3VicmVzb3VyY2UgY29va2llIGJs
b2NraW5nCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0y
MDAzOTUKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzUzODY5NjExPgorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEJhY2sgd2hlbiB3ZSBoYWQgYSByZWxh
eGF0aW9uIG9mIGNvb2tpZSBibG9ja2luZyAyNCBob3VycyBhZnRlciBmaXJzdC1wYXJ0eSB1c2Vy
CisgICAgICAgIGludGVyYWN0aW9uLCB3ZSBtYWRlIHN1cmUgY29va2llIGJsb2NraW5nIGNvdWxk
IGJlIHR1cm5lZCBvbiBhbmQgb2ZmIGluIHN1YnJlc291cmNlCisgICAgICAgIHJlZGlyZWN0IGNo
YWlucy4gVGhlIDI0IGhvdXIgd2luZG93IGlzIG5vdyBsb25nIGdvbmUuIFRoaXMgcGF0Y2ggc2lt
cGxpZmllcyB0aGUKKyAgICAgICAgY29va2llIGJsb2NraW5nIHNvIHRoYXQgb25jZSBhIHN1YnJl
c291cmNlIHJlcXVlc3QgaXMgZGVuaWVkIGNvb2tpZXMsIGFueQorICAgICAgICBzdWJzZXF1ZW50
IHJlZGlyZWN0IG9mIHRoYXQgcmVxdWVzdCB3aWxsIGFsc28gYmUgZGVuaWVkIGNvb2tpZXMsIHJl
Z2FyZGxlc3Mgb2YgdGhlCisgICAgICAgIGNsYXNzaWZpY2F0aW9uIHN0YXR1cyBvZiB0aGUgZG9t
YWlucyBpbnZvbHZlZC4gSSBjYWxsIGl0IGxhdGNoIG1vZGUuCisKKyAgICAgICAgKiBOZXR3b3Jr
UHJvY2Vzcy9jb2NvYS9OZXR3b3JrRGF0YVRhc2tDb2NvYS5tbToKKyAgICAgICAgKFdlYktpdDo6
TmV0d29ya0RhdGFUYXNrQ29jb2E6OmFwcGx5Q29va2llQmxvY2tpbmdQb2xpY3kpOgorCiAyMDE5
LTA3LTMxICBDaHJpcyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CiAKICAgICAgICAgUkVHUkVT
U0lPTiAocjI0NzQ4Nj8pOiBGbGFreSBBUEkgVGVzdCBUZXN0V2ViS2l0QVBJLldLV2ViVmlldy5M
b2NhbFN0b3JhZ2VQcm9jZXNzU3VzcGVuZHMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvTmV0
d29ya1Byb2Nlc3MvY29jb2EvTmV0d29ya0RhdGFUYXNrQ29jb2EubW0gYi9Tb3VyY2UvV2ViS2l0
L05ldHdvcmtQcm9jZXNzL2NvY29hL05ldHdvcmtEYXRhVGFza0NvY29hLm1tCmluZGV4IGJhNWU4
ODAwZWJiMGU5ZjA1ZmE4MWE0YTNhZDUyM2MxYjdjZmJkMjAuLjc5YTZjNDIxYzhmNzdkZTcwMjM4
MDBkY2YzNzY4NzQ5MDg3MGEyODMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1By
b2Nlc3MvY29jb2EvTmV0d29ya0RhdGFUYXNrQ29jb2EubW0KKysrIGIvU291cmNlL1dlYktpdC9O
ZXR3b3JrUHJvY2Vzcy9jb2NvYS9OZXR3b3JrRGF0YVRhc2tDb2NvYS5tbQpAQCAtMTM1LDE4ICsx
MzUsMTIgQEAgdm9pZCBOZXR3b3JrRGF0YVRhc2tDb2NvYTo6YXBwbHlDb29raWVCbG9ja2luZ1Bv
bGljeShib29sIHNob3VsZEJsb2NrKQogewogICAgIEFTU0VSVChoYXNQcm9jZXNzUHJpdmlsZWdl
KFByb2Nlc3NQcml2aWxlZ2U6OkNhbkFjY2Vzc1Jhd0Nvb2tpZXMpKTsKIAotICAgIGlmIChzaG91
bGRCbG9jayA9PSBtX2hhc0JlZW5TZXRUb1VzZVN0YXRlbGVzc0Nvb2tpZVN0b3JhZ2UpCisgICAg
aWYgKCFzaG91bGRCbG9jayB8fCBtX2hhc0JlZW5TZXRUb1VzZVN0YXRlbGVzc0Nvb2tpZVN0b3Jh
Z2UpCiAgICAgICAgIHJldHVybjsKIAotICAgIE5TSFRUUENvb2tpZVN0b3JhZ2UgKnN0b3JhZ2Ug
PSBuaWw7Ci0gICAgaWYgKHNob3VsZEJsb2NrKQotICAgICAgICBzdG9yYWdlID0gc3RhdGVsZXNz
Q29va2llU3RvcmFnZSgpOwotICAgIGVsc2UgaWYgKGF1dG8qIHN0b3JhZ2VTZXNzaW9uID0gbV9z
ZXNzaW9uLT5uZXR3b3JrU3RvcmFnZVNlc3Npb24oKSkKLSAgICAgICAgc3RvcmFnZSA9IHN0b3Jh
Z2VTZXNzaW9uLT5uc0Nvb2tpZVN0b3JhZ2UoKTsKLSAgICBpZiAoc3RvcmFnZSkgewotICAgICAg
ICBbbV90YXNrIF9zZXRFeHBsaWNpdENvb2tpZVN0b3JhZ2U6c3RvcmFnZS5fY29va2llU3RvcmFn
ZV07Ci0gICAgICAgIG1faGFzQmVlblNldFRvVXNlU3RhdGVsZXNzQ29va2llU3RvcmFnZSA9IHNo
b3VsZEJsb2NrOwotICAgIH0KKyAgICBOU0hUVFBDb29raWVTdG9yYWdlICpzdG9yYWdlID0gc3Rh
dGVsZXNzQ29va2llU3RvcmFnZSgpOworICAgIFttX3Rhc2sgX3NldEV4cGxpY2l0Q29va2llU3Rv
cmFnZTpzdG9yYWdlLl9jb29raWVTdG9yYWdlXTsKKyAgICBtX2hhc0JlZW5TZXRUb1VzZVN0YXRl
bGVzc0Nvb2tpZVN0b3JhZ2UgPSB0cnVlOwogfQogI2VuZGlmCiAKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCA5MTgwYTQ2M2Y0
MTMwMzY2ZDA2NjY2YWRmY2MyNmIzMzQzZDE0YzFmLi5hNjhkYTg1MDBiYjYyN2QxMTgwZmJmOTk0
MjNlNjk1YTNhZjQyYmMyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIv
TGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjggQEAKKzIwMTktMDgtMDIgIEpvaG4g
V2lsYW5kZXIgIDx3aWxhbmRlckBhcHBsZS5jb20+CisKKyAgICAgICAgUmVzb3VyY2UgTG9hZCBT
dGF0aXN0aWNzOiBSZS1pbnRyb2R1Y2UgbGF0Y2ggbW9kZSBmb3Igc3VicmVzb3VyY2UgY29va2ll
IGJsb2NraW5nCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0yMDAzOTUKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzUzODY5NjExPgorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEJhY2sgd2hlbiB3ZSBoYWQgYSBy
ZWxheGF0aW9uIG9mIGNvb2tpZSBibG9ja2luZyAyNCBob3VycyBhZnRlciBmaXJzdC1wYXJ0eSB1
c2VyCisgICAgICAgIGludGVyYWN0aW9uLCB3ZSBtYWRlIHN1cmUgY29va2llIGJsb2NraW5nIGNv
dWxkIGJlIHR1cm5lZCBvbiBhbmQgb2ZmIGluIHN1YnJlc291cmNlCisgICAgICAgIHJlZGlyZWN0
IGNoYWlucy4gVGhlIDI0IGhvdXIgd2luZG93IGlzIG5vdyBsb25nIGdvbmUuIFRoaXMgcGF0Y2gg
c2ltcGxpZmllcyB0aGUKKyAgICAgICAgY29va2llIGJsb2NraW5nIHNvIHRoYXQgb25jZSBhIHN1
YnJlc291cmNlIHJlcXVlc3QgaXMgZGVuaWVkIGNvb2tpZXMsIGFueQorICAgICAgICBzdWJzZXF1
ZW50IHJlZGlyZWN0IG9mIHRoYXQgcmVxdWVzdCB3aWxsIGFsc28gYmUgZGVuaWVkIGNvb2tpZXMs
IHJlZ2FyZGxlc3Mgb2YgdGhlCisgICAgICAgIGNsYXNzaWZpY2F0aW9uIHN0YXR1cyBvZiB0aGUg
ZG9tYWlucyBpbnZvbHZlZC4gSSBjYWxsIGl0IGxhdGNoIG1vZGUuCisKKyAgICAgICAgKiBodHRw
L3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvZG8tbm90LXJlbW92ZS1ibG9ja2luZy1pbi1y
ZWRpcmVjdC1leHBlY3RlZC50eHQ6IFJlbmFtZWQgZnJvbSBMYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvcmVtb3ZlLWJsb2NraW5nLWluLXJlZGlyZWN0LWV4cGVj
dGVkLnR4dC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvZG8t
bm90LXJlbW92ZS1ibG9ja2luZy1pbi1yZWRpcmVjdC5odG1sOiBSZW5hbWVkIGZyb20gTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3JlbW92ZS1ibG9ja2luZy1p
bi1yZWRpcmVjdC5odG1sLgorICAgICAgICAgICAgQ2hhbmdlZCB0byBleHBlY3Qgbm8gcmVtb3Zh
bCBvZiBibG9ja2luZyBpbiB0aGUgcmVkaXJlY3QgYW5kIHJlbmFtZWQgYWNjb3JkaW5nbHkuCisg
ICAgICAgICogcGxhdGZvcm0vaW9zL1Rlc3RFeHBlY3RhdGlvbnM6CisgICAgICAgICAgICBSZW5h
bWVkLgorICAgICAgICAqIHBsYXRmb3JtL21hYy13azIvVGVzdEV4cGVjdGF0aW9uczoKKyAgICAg
ICAgICAgIFJlbmFtZWQuCisgICAgICAgICogcGxhdGZvcm0vd2syL1Rlc3RFeHBlY3RhdGlvbnM6
CisgICAgICAgICAgICBSZW5hbWVkLgorCiAyMDE5LTA3LTMxICBaYWxhbiBCdWp0YXMgIDx6YWxh
bkBhcHBsZS5jb20+CiAKICAgICAgICAgW0NvbnRlbnRDaGFuZ2VPYnNlcnZlcl0gdHdpdGNoLnR2
IHZpZGVvIGNvbnRyb2xzIGRvIG5vdCBhbHdheXMgcmVzcG9uZCB0byB0YXBzIGluIGZ1bGxzY3Jl
ZW4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlz
dGljcy9kby1ub3QtcmVtb3ZlLWJsb2NraW5nLWluLXJlZGlyZWN0LWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9kby1ub3QtcmVtb3Zl
LWJsb2NraW5nLWluLXJlZGlyZWN0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xYWQ3ZDllNTAw
NzZiNmQxNmJiYzI2YTUwNDZlOTk2OTZkNmUwNzY4Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2RvLW5vdC1yZW1vdmUtYmxv
Y2tpbmctaW4tcmVkaXJlY3QtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNTEgQEAKK1Rlc3RzIHRo
YXQgYmxvY2tpbmcgaXMgbm90IHJlbW92ZWQgbWlkLWZsaWdodCBpbiByZWRpcmVjdHMuCisKK09u
IHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxv
d2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0
cnVlCisKK1RFU1QgQ09NUExFVEUKKyAgCisKKy0tLS0tLS0tCitGcmFtZTogJzwhLS1mcmFtZTEt
LT4nCistLS0tLS0tLQorU2hvdWxkIHJlY2VpdmUgZmlyc3QtcGFydHkgY29va2llIGZvciBsb2Nh
bGhvc3QuCitEaWQgbm90IHJlY2VpdmUgY29va2llIG5hbWVkICdmaXJzdFBhcnR5Q29va2llSVAn
LgorUmVjZWl2ZWQgY29va2llIG5hbWVkICdmaXJzdFBhcnR5Q29va2llTG9jYWxob3N0Jy4KK0Rp
ZCBub3QgcmVjZWl2ZSBjb29raWUgbmFtZWQgJ3RoaXJkUGFydHlDb29raWUnLgorQ2xpZW50LXNp
ZGUgZG9jdW1lbnQuY29va2llOiBmaXJzdFBhcnR5Q29va2llTG9jYWxob3N0PWxvY2FsaG9zdAor
CistLS0tLS0tLQorRnJhbWU6ICc8IS0tZnJhbWUyLS0+JworLS0tLS0tLS0KK1JlZGlyZWN0IGNh
c2UgMSwgc2hvdWxkIHJlY2VpdmUgZmlyc3QtcGFydHkgY29va2llIGZvciAxMjcuMC4wLjEuCitS
ZWNlaXZlZCBjb29raWUgbmFtZWQgJ2ZpcnN0UGFydHlDb29raWVJUCcuCitEaWQgbm90IHJlY2Vp
dmUgY29va2llIG5hbWVkICdmaXJzdFBhcnR5Q29va2llTG9jYWxob3N0Jy4KK0RpZCBub3QgcmVj
ZWl2ZSBjb29raWUgbmFtZWQgJ3RoaXJkUGFydHlDb29raWUnLgorQ2xpZW50LXNpZGUgZG9jdW1l
bnQuY29va2llOiBmaXJzdFBhcnR5Q29va2llSVA9MTI3LjAuMC4xCisKKy0tLS0tLS0tCitGcmFt
ZTogJzwhLS1mcmFtZTMtLT4nCistLS0tLS0tLQorVHJ5IHRvIHNldCB0aGlyZC1wYXJ0eSBjb29r
aWUgZm9yIGxvY2FsaG9zdCBpbiBibG9ja2VkIG1vZGUuCisKKworLS0tLS0tLS0KK0ZyYW1lOiAn
PCEtLWZyYW1lNC0tPicKKy0tLS0tLS0tCitTaG91bGQgcmVjZWl2ZSBubyBjb29raWUuCitEaWQg
bm90IHJlY2VpdmUgY29va2llIG5hbWVkICdmaXJzdFBhcnR5Q29va2llSVAnLgorRGlkIG5vdCBy
ZWNlaXZlIGNvb2tpZSBuYW1lZCAnZmlyc3RQYXJ0eUNvb2tpZUxvY2FsaG9zdCcuCitEaWQgbm90
IHJlY2VpdmUgY29va2llIG5hbWVkICd0aGlyZFBhcnR5Q29va2llJy4KK0NsaWVudC1zaWRlIGRv
Y3VtZW50LmNvb2tpZToKKworLS0tLS0tLS0KK0ZyYW1lOiAnPCEtLWZyYW1lNS0tPicKKy0tLS0t
LS0tCitSZWRpcmVjdCBjYXNlIDIsIHNob3VsZCBub3QgcmVjZWl2ZSBmaXJzdC1wYXJ0eSBjb29r
aWUgZm9yIDEyNy4wLjAuMS4KK0RpZCBub3QgcmVjZWl2ZSBjb29raWUgbmFtZWQgJ2ZpcnN0UGFy
dHlDb29raWVJUCcuCitEaWQgbm90IHJlY2VpdmUgY29va2llIG5hbWVkICdmaXJzdFBhcnR5Q29v
a2llTG9jYWxob3N0Jy4KK0RpZCBub3QgcmVjZWl2ZSBjb29raWUgbmFtZWQgJ3RoaXJkUGFydHlD
b29raWUnLgorQ2xpZW50LXNpZGUgZG9jdW1lbnQuY29va2llOiBmaXJzdFBhcnR5Q29va2llSVA9
MTI3LjAuMC4xCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9h
ZFN0YXRpc3RpY3MvZG8tbm90LXJlbW92ZS1ibG9ja2luZy1pbi1yZWRpcmVjdC5odG1sIGIvTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2RvLW5vdC1yZW1vdmUt
YmxvY2tpbmctaW4tcmVkaXJlY3QuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42YjZkZTE3NDFlMjFjOGY4N2Rm
ZTY5NWRiYjk0NTUxZGQwZDQ0YjNmCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2RvLW5vdC1yZW1vdmUtYmxvY2tpbmctaW4t
cmVkaXJlY3QuaHRtbApAQCAtMCwwICsxLDk5IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sIGxh
bmc9ImVuIj4KKzxoZWFkPgorICAgIDxtZXRhIGNoYXJzZXQ9IlVURi04Ij4KKyAgICA8c2NyaXB0
IHNyYz0iL2pzLXRlc3QtcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgIDxzY3Jp
cHQgc3JjPSJyZXNvdXJjZXMvdXRpbC5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxz
Y3JpcHQ+CisgICAgZGVzY3JpcHRpb24oIlRlc3RzIHRoYXQgYmxvY2tpbmcgaXMgbm90IHJlbW92
ZWQgbWlkLWZsaWdodCBpbiByZWRpcmVjdHMuIik7CisgICAganNUZXN0SXNBc3luYyA9IHRydWU7
CisKKyAgICBjb25zdCBwYXJ0aXRpb25Ib3N0ID0gIjEyNy4wLjAuMTo4MDAwIjsKKyAgICBjb25z
dCB0aGlyZFBhcnR5T3JpZ2luID0gImh0dHA6Ly9sb2NhbGhvc3Q6ODAwMCI7CisgICAgY29uc3Qg
cmVzb3VyY2VQYXRoID0gIi9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3Jlc291cmNlcyI7CisgICAg
Y29uc3QgdGhpcmRQYXJ0eUJhc2VVcmwgPSB0aGlyZFBhcnR5T3JpZ2luICsgcmVzb3VyY2VQYXRo
OworICAgIGNvbnN0IGZpcnN0UGFydHlDb29raWVOYW1lUHJlZml4ID0gImZpcnN0UGFydHlDb29r
aWUiOworICAgIGNvbnN0IGZpcnN0UGFydHlDb29raWVOYW1lSVAgPSBmaXJzdFBhcnR5Q29va2ll
TmFtZVByZWZpeCArICJJUCI7CisgICAgY29uc3QgZmlyc3RQYXJ0eUNvb2tpZU5hbWVMb2NhbGhv
c3QgPSBmaXJzdFBhcnR5Q29va2llTmFtZVByZWZpeCArICJMb2NhbGhvc3QiOworICAgIGNvbnN0
IHRoaXJkUGFydHlDb29raWVOYW1lID0gInRoaXJkUGFydHlDb29raWUiOworICAgIGNvbnN0IHN1
YlBhdGhUb1NldFRoaXJkUGFydHlDb29raWUgPSAiL3NldC1jb29raWUucGhwP25hbWU9IiArIHRo
aXJkUGFydHlDb29raWVOYW1lICsgIiZ2YWx1ZT12YWx1ZSI7CisgICAgY29uc3Qgc3ViUGF0aFRv
R2V0Q29va2llcyA9ICIvZ2V0LWNvb2tpZXMucGhwP25hbWUxPSIgKyBmaXJzdFBhcnR5Q29va2ll
TmFtZUlQICsgIiZuYW1lMj0iICsgZmlyc3RQYXJ0eUNvb2tpZU5hbWVMb2NhbGhvc3QgKyAiJm5h
bWUzPSIgKyB0aGlyZFBhcnR5Q29va2llTmFtZTsKKyAgICBjb25zdCByZWRpcmVjdENoYWluVXJs
ID0gdGhpcmRQYXJ0eU9yaWdpbiArIHJlc291cmNlUGF0aCArICIvcmVkaXJlY3QucGhwP3JlZGly
ZWN0VG89aHR0cDovLyIgKyBwYXJ0aXRpb25Ib3N0ICsgcmVzb3VyY2VQYXRoICsgc3ViUGF0aFRv
R2V0Q29va2llczsKKworICAgIGZ1bmN0aW9uIG9wZW5JZnJhbWUodXJsLCBvbkxvYWRIYW5kbGVy
KSB7CisgICAgICAgIGNvbnN0IGVsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJpZnJh
bWUiKTsKKyAgICAgICAgZWxlbWVudC5zcmMgPSB1cmw7CisgICAgICAgIGlmIChvbkxvYWRIYW5k
bGVyKSB7CisgICAgICAgICAgICBlbGVtZW50Lm9ubG9hZCA9IG9uTG9hZEhhbmRsZXI7CisgICAg
ICAgIH0KKyAgICAgICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChlbGVtZW50KTsKKyAgICB9
CisKKyAgICBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICBzd2l0Y2ggKGRvY3VtZW50Lmxv
Y2F0aW9uLmhhc2gpIHsKKyAgICAgICAgICAgIGNhc2UgIiNzdGVwMSI6CisgICAgICAgICAgICAg
ICAgLy8gU2V0IGZpcnN0LXBhcnR5IGNvb2tpZXMgZm9yIDEyNy4wLjAuMSBhbmQgbG9jYWxob3N0
LgorICAgICAgICAgICAgICAgIGlmIChkb2N1bWVudC5sb2NhdGlvbi5vcmlnaW4gPT09IHRoaXJk
UGFydHlPcmlnaW4pIHsKKyAgICAgICAgICAgICAgICAgICAgZG9jdW1lbnQuY29va2llID0gZmly
c3RQYXJ0eUNvb2tpZU5hbWVMb2NhbGhvc3QgKyAiPWxvY2FsaG9zdDtwYXRoPScvJyI7CisgICAg
ICAgICAgICAgICAgICAgIGRvY3VtZW50LmxvY2F0aW9uLmhyZWYgPSAiaHR0cDovLzEyNy4wLjAu
MTo4MDAwL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvZG8tbm90LXJlbW92ZS1ibG9ja2luZy1pbi1y
ZWRpcmVjdC5odG1sI3N0ZXAyIjsKKyAgICAgICAgICAgICAgICB9IGVsc2UgeworICAgICAgICAg
ICAgICAgICAgICBkb2N1bWVudC5jb29raWUgPSBmaXJzdFBhcnR5Q29va2llTmFtZUlQICsgIj0x
MjcuMC4wLjE7cGF0aD0nLyciOworICAgICAgICAgICAgICAgICAgICBkb2N1bWVudC5sb2NhdGlv
bi5ocmVmID0gImh0dHA6Ly9sb2NhbGhvc3Q6ODAwMC9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2Rv
LW5vdC1yZW1vdmUtYmxvY2tpbmctaW4tcmVkaXJlY3QuaHRtbCNzdGVwMSI7CisgICAgICAgICAg
ICAgICAgfQorICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgY2FzZSAiI3N0ZXAy
IjoKKyAgICAgICAgICAgICAgICAvLyBDaGVjayB0aGF0IHRoZSBjb29raWUgZ2V0cyBzZW50IGZv
ciBsb2NhbGhvc3QgdW5kZXIgMTI3LjAuMC4xIHNpbmNlIGxvY2FsaG9zdCBpcyBub3QgcHJldmFs
ZW50LgorICAgICAgICAgICAgICAgIGRvY3VtZW50LmxvY2F0aW9uLmhhc2ggPSAic3RlcDMiOwor
ICAgICAgICAgICAgICAgIG9wZW5JZnJhbWUodGhpcmRQYXJ0eUJhc2VVcmwgKyBzdWJQYXRoVG9H
ZXRDb29raWVzICsgIiZtZXNzYWdlPVNob3VsZCByZWNlaXZlIGZpcnN0LXBhcnR5IGNvb2tpZSBm
b3IgbG9jYWxob3N0LiIsIHJ1blRlc3QpOworICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAg
ICAgICAgY2FzZSAiI3N0ZXAzIjoKKyAgICAgICAgICAgICAgICBkb2N1bWVudC5sb2NhdGlvbi5o
YXNoID0gInN0ZXA0IjsKKyAgICAgICAgICAgICAgICAvLyBMb2FkIGFuIGlmcmFtZSBpbiBhIHJl
ZGlyZWN0IGNoYWluIHRoYXQgc3RhcnRzIHdpdGggbG9jYWxob3N0IGFuZCBlbmRzIHdpdGggMTI3
LjAuMC4xLiBFeHBlY3QgYSBjb29raWUgZm9yIDEyNy4wLjAuMS4KKyAgICAgICAgICAgICAgICBv
cGVuSWZyYW1lKHJlZGlyZWN0Q2hhaW5VcmwgKyAiJm1lc3NhZ2U9UmVkaXJlY3QgY2FzZSAxLCBz
aG91bGQgcmVjZWl2ZSBmaXJzdC1wYXJ0eSBjb29raWUgZm9yIDEyNy4wLjAuMS4iLCBydW5UZXN0
KTsKKyAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgIGNhc2UgIiNzdGVwNCI6Cisg
ICAgICAgICAgICAgICAgLy8gU2V0IGxvY2FsaG9zdCBhcyBwcmV2YWxlbnQgdG8gcHV0IGl0IGlu
IHRoZSBibG9ja2luZyBjYXRlZ29yeS4KKyAgICAgICAgICAgICAgICBkb2N1bWVudC5sb2NhdGlv
bi5oYXNoID0gInN0ZXA1IjsKKyAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLnNldFN0YXRpc3Rp
Y3NQcmV2YWxlbnRSZXNvdXJjZSh0aGlyZFBhcnR5T3JpZ2luLCB0cnVlLCBmdW5jdGlvbigpIHsK
KyAgICAgICAgICAgICAgICAgICAgaWYgKCF0ZXN0UnVubmVyLmlzU3RhdGlzdGljc1ByZXZhbGVu
dFJlc291cmNlKHRoaXJkUGFydHlPcmlnaW4pKQorICAgICAgICAgICAgICAgICAgICAgICAgdGVz
dEZhaWxlZCgiSG9zdCBkaWQgbm90IGdldCBzZXQgYXMgcHJldmFsZW50IHJlc291cmNlLiIpOwor
ICAgICAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLnN0YXRpc3RpY3NVcGRhdGVDb29raWVCbG9j
a2luZyhydW5UZXN0KTsKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgICAgICBicmVh
azsKKyAgICAgICAgICAgIGNhc2UgIiNzdGVwNSI6CisgICAgICAgICAgICAgICAgLy8gVHJ5IHRv
IHNldCBwYXJ0aXRpb25lZCBjb29raWUgZm9yIGxvY2FsaG9zdCB1bmRlciAxMjcuMC4wLjEuCisg
ICAgICAgICAgICAgICAgZG9jdW1lbnQubG9jYXRpb24uaGFzaCA9ICJzdGVwNiI7CisgICAgICAg
ICAgICAgICAgb3BlbklmcmFtZSh0aGlyZFBhcnR5QmFzZVVybCArIHN1YlBhdGhUb1NldFRoaXJk
UGFydHlDb29raWUgKyAiJm1lc3NhZ2U9VHJ5IHRvIHNldCB0aGlyZC1wYXJ0eSBjb29raWUgZm9y
IGxvY2FsaG9zdCBpbiBibG9ja2VkIG1vZGUuIiwgcnVuVGVzdCk7CisgICAgICAgICAgICAgICAg
YnJlYWs7CisgICAgICAgICAgICBjYXNlICIjc3RlcDYiOgorICAgICAgICAgICAgICAgIC8vIENo
ZWNrIHRoYXQgbm8gY29va2llIGdldHMgc2VudCBmb3IgbG9jYWxob3N0IHVuZGVyIDEyNy4wLjAu
MSBzaW5jZSBsb2NhbGhvc3QncyBjb29raWVzIGFyZSBibG9ja2VkLgorICAgICAgICAgICAgICAg
IGRvY3VtZW50LmxvY2F0aW9uLmhhc2ggPSAic3RlcDciOworICAgICAgICAgICAgICAgIG9wZW5J
ZnJhbWUodGhpcmRQYXJ0eUJhc2VVcmwgKyBzdWJQYXRoVG9HZXRDb29raWVzICsgICImbWVzc2Fn
ZT1TaG91bGQgcmVjZWl2ZSBubyBjb29raWUuIiwgcnVuVGVzdCk7CisgICAgICAgICAgICAgICAg
YnJlYWs7CisgICAgICAgICAgICBjYXNlICIjc3RlcDciOgorICAgICAgICAgICAgICAgIC8vIExv
YWQgYW4gaWZyYW1lIGluIGEgcmVkaXJlY3QgY2hhaW4gdGhhdCBzdGFydHMgd2l0aCBsb2NhbGhv
c3QgYW5kIGVuZHMgd2l0aCAxMjcuMC4wLjEuIEV4cGVjdCBhIGNvb2tpZSBmb3IgMTI3LjAuMC4x
LgorICAgICAgICAgICAgICAgIGRvY3VtZW50LmxvY2F0aW9uLmhhc2ggPSAic3RlcDgiOworICAg
ICAgICAgICAgICAgIG9wZW5JZnJhbWUocmVkaXJlY3RDaGFpblVybCArICImbWVzc2FnZT1SZWRp
cmVjdCBjYXNlIDIsIHNob3VsZCBub3QgcmVjZWl2ZSBmaXJzdC1wYXJ0eSBjb29raWUgZm9yIDEy
Ny4wLjAuMS4iLCBydW5UZXN0KTsKKyAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAg
IGNhc2UgIiNzdGVwOCI6CisgICAgICAgICAgICAgICAgc2V0RW5hYmxlRmVhdHVyZShmYWxzZSwg
ZmluaXNoSlNUZXN0KTsKKyAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgfQorICAgIH0K
KworICAgIGlmIChkb2N1bWVudC5sb2NhdGlvbi5oYXNoID09PSAiIikgeworICAgICAgICBzZXRF
bmFibGVGZWF0dXJlKHRydWUsIGZ1bmN0aW9uKCkgeworICAgICAgICAgICAgaWYgKHRlc3RSdW5u
ZXIuaXNTdGF0aXN0aWNzUHJldmFsZW50UmVzb3VyY2UodGhpcmRQYXJ0eU9yaWdpbikpCisgICAg
ICAgICAgICAgICAgdGVzdEZhaWxlZCgiTG9jYWxob3N0IHdhcyBjbGFzc2lmaWVkIGFzIHByZXZh
bGVudCByZXNvdXJjZSBiZWZvcmUgdGhlIHRlc3Qgc3RhcnRzLiIpOworICAgICAgICAgICAgdGVz
dFJ1bm5lci5kdW1wQ2hpbGRGcmFtZXNBc1RleHQoKTsKKyAgICAgICAgICAgIGRvY3VtZW50Lmxv
Y2F0aW9uLmhhc2ggPSAic3RlcDEiOworICAgICAgICAgICAgcnVuVGVzdCgpOworICAgICAgICB9
KTsKKyAgICB9IGVsc2UgeworICAgICAgICBydW5UZXN0KCk7CisgICAgfQorPC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291
cmNlTG9hZFN0YXRpc3RpY3MvcmVtb3ZlLWJsb2NraW5nLWluLXJlZGlyZWN0LWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9yZW1vdmUt
YmxvY2tpbmctaW4tcmVkaXJlY3QtZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCA0MDBhNDllNDQ2MGZjZGQyMTQ4NTdiM2YwOWQ1Y2Q1MjI1YWYyOTQ3Li4wMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2h0dHAv
dGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9yZW1vdmUtYmxvY2tpbmctaW4tcmVkaXJlY3Qt
ZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEsNTEgKzAsMCBAQAotVGVzdHMgdGhhdCBi
bG9ja2luZyBpcyByZW1vdmVkIG1pZC1mbGlnaHQgaW4gcmVkaXJlY3RzLgotCi1PbiBzdWNjZXNz
LCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAi
VEVTVCBDT01QTEVURSIuCi0KLQotUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQotCi1U
RVNUIENPTVBMRVRFCi0gIAotCi0tLS0tLS0tLQotRnJhbWU6ICc8IS0tZnJhbWUxLS0+JwotLS0t
LS0tLS0KLVNob3VsZCByZWNlaXZlIGZpcnN0LXBhcnR5IGNvb2tpZSBmb3IgbG9jYWxob3N0Lgot
RGlkIG5vdCByZWNlaXZlIGNvb2tpZSBuYW1lZCAnZmlyc3RQYXJ0eUNvb2tpZUlQJy4KLVJlY2Vp
dmVkIGNvb2tpZSBuYW1lZCAnZmlyc3RQYXJ0eUNvb2tpZUxvY2FsaG9zdCcuCi1EaWQgbm90IHJl
Y2VpdmUgY29va2llIG5hbWVkICd0aGlyZFBhcnR5Q29va2llJy4KLUNsaWVudC1zaWRlIGRvY3Vt
ZW50LmNvb2tpZTogZmlyc3RQYXJ0eUNvb2tpZUxvY2FsaG9zdD1sb2NhbGhvc3QKLQotLS0tLS0t
LS0KLUZyYW1lOiAnPCEtLWZyYW1lMi0tPicKLS0tLS0tLS0tCi1SZWRpcmVjdCBjYXNlIDEsIHNo
b3VsZCByZWNlaXZlIGZpcnN0LXBhcnR5IGNvb2tpZSBmb3IgMTI3LjAuMC4xLgotUmVjZWl2ZWQg
Y29va2llIG5hbWVkICdmaXJzdFBhcnR5Q29va2llSVAnLgotRGlkIG5vdCByZWNlaXZlIGNvb2tp
ZSBuYW1lZCAnZmlyc3RQYXJ0eUNvb2tpZUxvY2FsaG9zdCcuCi1EaWQgbm90IHJlY2VpdmUgY29v
a2llIG5hbWVkICd0aGlyZFBhcnR5Q29va2llJy4KLUNsaWVudC1zaWRlIGRvY3VtZW50LmNvb2tp
ZTogZmlyc3RQYXJ0eUNvb2tpZUlQPTEyNy4wLjAuMQotCi0tLS0tLS0tLQotRnJhbWU6ICc8IS0t
ZnJhbWUzLS0+JwotLS0tLS0tLS0KLVRyeSB0byBzZXQgdGhpcmQtcGFydHkgY29va2llIGZvciBs
b2NhbGhvc3QgaW4gYmxvY2tlZCBtb2RlLgotCi0KLS0tLS0tLS0tCi1GcmFtZTogJzwhLS1mcmFt
ZTQtLT4nCi0tLS0tLS0tLQotU2hvdWxkIHJlY2VpdmUgbm8gY29va2llLgotRGlkIG5vdCByZWNl
aXZlIGNvb2tpZSBuYW1lZCAnZmlyc3RQYXJ0eUNvb2tpZUlQJy4KLURpZCBub3QgcmVjZWl2ZSBj
b29raWUgbmFtZWQgJ2ZpcnN0UGFydHlDb29raWVMb2NhbGhvc3QnLgotRGlkIG5vdCByZWNlaXZl
IGNvb2tpZSBuYW1lZCAndGhpcmRQYXJ0eUNvb2tpZScuCi1DbGllbnQtc2lkZSBkb2N1bWVudC5j
b29raWU6Ci0KLS0tLS0tLS0tCi1GcmFtZTogJzwhLS1mcmFtZTUtLT4nCi0tLS0tLS0tLQotUmVk
aXJlY3QgY2FzZSAyLCBzaG91bGQgcmVjZWl2ZSBmaXJzdC1wYXJ0eSBjb29raWUgZm9yIDEyNy4w
LjAuMS4KLVJlY2VpdmVkIGNvb2tpZSBuYW1lZCAnZmlyc3RQYXJ0eUNvb2tpZUlQJy4KLURpZCBu
b3QgcmVjZWl2ZSBjb29raWUgbmFtZWQgJ2ZpcnN0UGFydHlDb29raWVMb2NhbGhvc3QnLgotRGlk
IG5vdCByZWNlaXZlIGNvb2tpZSBuYW1lZCAndGhpcmRQYXJ0eUNvb2tpZScuCi1DbGllbnQtc2lk
ZSBkb2N1bWVudC5jb29raWU6IGZpcnN0UGFydHlDb29raWVJUD0xMjcuMC4wLjEKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9yZW1vdmUt
YmxvY2tpbmctaW4tcmVkaXJlY3QuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3Vy
Y2VMb2FkU3RhdGlzdGljcy9yZW1vdmUtYmxvY2tpbmctaW4tcmVkaXJlY3QuaHRtbApkZWxldGVk
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZTAwY2EzNmY4ZWQ2MmY4MjVlYTljNWRiMDE5YzFkNDAz
YWFiNTA4OS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9M
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvcmVtb3ZlLWJsb2Nr
aW5nLWluLXJlZGlyZWN0Lmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSw5OSArMCwwIEBACi08IURP
Q1RZUEUgaHRtbD4KLTxodG1sIGxhbmc9ImVuIj4KLTxoZWFkPgotICAgIDxtZXRhIGNoYXJzZXQ9
IlVURi04Ij4KLSAgICA8c2NyaXB0IHNyYz0iL2pzLXRlc3QtcmVzb3VyY2VzL2pzLXRlc3QuanMi
Pjwvc2NyaXB0PgotICAgIDxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvdXRpbC5qcyI+PC9zY3JpcHQ+
Ci08L2hlYWQ+Ci08Ym9keT4KLTxzY3JpcHQ+Ci0gICAgZGVzY3JpcHRpb24oIlRlc3RzIHRoYXQg
YmxvY2tpbmcgaXMgcmVtb3ZlZCBtaWQtZmxpZ2h0IGluIHJlZGlyZWN0cy4iKTsKLSAgICBqc1Rl
c3RJc0FzeW5jID0gdHJ1ZTsKLQotICAgIGNvbnN0IHBhcnRpdGlvbkhvc3QgPSAiMTI3LjAuMC4x
OjgwMDAiOwotICAgIGNvbnN0IHRoaXJkUGFydHlPcmlnaW4gPSAiaHR0cDovL2xvY2FsaG9zdDo4
MDAwIjsKLSAgICBjb25zdCByZXNvdXJjZVBhdGggPSAiL3Jlc291cmNlTG9hZFN0YXRpc3RpY3Mv
cmVzb3VyY2VzIjsKLSAgICBjb25zdCB0aGlyZFBhcnR5QmFzZVVybCA9IHRoaXJkUGFydHlPcmln
aW4gKyByZXNvdXJjZVBhdGg7Ci0gICAgY29uc3QgZmlyc3RQYXJ0eUNvb2tpZU5hbWVQcmVmaXgg
PSAiZmlyc3RQYXJ0eUNvb2tpZSI7Ci0gICAgY29uc3QgZmlyc3RQYXJ0eUNvb2tpZU5hbWVJUCA9
IGZpcnN0UGFydHlDb29raWVOYW1lUHJlZml4ICsgIklQIjsKLSAgICBjb25zdCBmaXJzdFBhcnR5
Q29va2llTmFtZUxvY2FsaG9zdCA9IGZpcnN0UGFydHlDb29raWVOYW1lUHJlZml4ICsgIkxvY2Fs
aG9zdCI7Ci0gICAgY29uc3QgdGhpcmRQYXJ0eUNvb2tpZU5hbWUgPSAidGhpcmRQYXJ0eUNvb2tp
ZSI7Ci0gICAgY29uc3Qgc3ViUGF0aFRvU2V0VGhpcmRQYXJ0eUNvb2tpZSA9ICIvc2V0LWNvb2tp
ZS5waHA/bmFtZT0iICsgdGhpcmRQYXJ0eUNvb2tpZU5hbWUgKyAiJnZhbHVlPXZhbHVlIjsKLSAg
ICBjb25zdCBzdWJQYXRoVG9HZXRDb29raWVzID0gIi9nZXQtY29va2llcy5waHA/bmFtZTE9IiAr
IGZpcnN0UGFydHlDb29raWVOYW1lSVAgKyAiJm5hbWUyPSIgKyBmaXJzdFBhcnR5Q29va2llTmFt
ZUxvY2FsaG9zdCArICImbmFtZTM9IiArIHRoaXJkUGFydHlDb29raWVOYW1lOwotICAgIGNvbnN0
IHJlZGlyZWN0Q2hhaW5VcmwgPSB0aGlyZFBhcnR5T3JpZ2luICsgcmVzb3VyY2VQYXRoICsgIi9y
ZWRpcmVjdC5waHA/cmVkaXJlY3RUbz1odHRwOi8vIiArIHBhcnRpdGlvbkhvc3QgKyByZXNvdXJj
ZVBhdGggKyBzdWJQYXRoVG9HZXRDb29raWVzOwotCi0gICAgZnVuY3Rpb24gb3BlbklmcmFtZSh1
cmwsIG9uTG9hZEhhbmRsZXIpIHsKLSAgICAgICAgY29uc3QgZWxlbWVudCA9IGRvY3VtZW50LmNy
ZWF0ZUVsZW1lbnQoImlmcmFtZSIpOwotICAgICAgICBlbGVtZW50LnNyYyA9IHVybDsKLSAgICAg
ICAgaWYgKG9uTG9hZEhhbmRsZXIpIHsKLSAgICAgICAgICAgIGVsZW1lbnQub25sb2FkID0gb25M
b2FkSGFuZGxlcjsKLSAgICAgICAgfQotICAgICAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxk
KGVsZW1lbnQpOwotICAgIH0KLQotICAgIGZ1bmN0aW9uIHJ1blRlc3QoKSB7Ci0gICAgICAgIHN3
aXRjaCAoZG9jdW1lbnQubG9jYXRpb24uaGFzaCkgewotICAgICAgICAgICAgY2FzZSAiI3N0ZXAx
IjoKLSAgICAgICAgICAgICAgICAvLyBTZXQgZmlyc3QtcGFydHkgY29va2llcyBmb3IgMTI3LjAu
MC4xIGFuZCBsb2NhbGhvc3QuCi0gICAgICAgICAgICAgICAgaWYgKGRvY3VtZW50LmxvY2F0aW9u
Lm9yaWdpbiA9PT0gdGhpcmRQYXJ0eU9yaWdpbikgewotICAgICAgICAgICAgICAgICAgICBkb2N1
bWVudC5jb29raWUgPSBmaXJzdFBhcnR5Q29va2llTmFtZUxvY2FsaG9zdCArICI9bG9jYWxob3N0
O3BhdGg9Jy8nIjsKLSAgICAgICAgICAgICAgICAgICAgZG9jdW1lbnQubG9jYXRpb24uaHJlZiA9
ICJodHRwOi8vMTI3LjAuMC4xOjgwMDAvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9yZW1vdmUtYmxv
Y2tpbmctaW4tcmVkaXJlY3QuaHRtbCNzdGVwMiI7Ci0gICAgICAgICAgICAgICAgfSBlbHNlIHsK
LSAgICAgICAgICAgICAgICAgICAgZG9jdW1lbnQuY29va2llID0gZmlyc3RQYXJ0eUNvb2tpZU5h
bWVJUCArICI9MTI3LjAuMC4xO3BhdGg9Jy8nIjsKLSAgICAgICAgICAgICAgICAgICAgZG9jdW1l
bnQubG9jYXRpb24uaHJlZiA9ICJodHRwOi8vbG9jYWxob3N0OjgwMDAvcmVzb3VyY2VMb2FkU3Rh
dGlzdGljcy9yZW1vdmUtYmxvY2tpbmctaW4tcmVkaXJlY3QuaHRtbCNzdGVwMSI7Ci0gICAgICAg
ICAgICAgICAgfQotICAgICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICAgICAgY2FzZSAiI3N0
ZXAyIjoKLSAgICAgICAgICAgICAgICAvLyBDaGVjayB0aGF0IHRoZSBjb29raWUgZ2V0cyBzZW50
IGZvciBsb2NhbGhvc3QgdW5kZXIgMTI3LjAuMC4xIHNpbmNlIGxvY2FsaG9zdCBpcyBub3QgcHJl
dmFsZW50LgotICAgICAgICAgICAgICAgIGRvY3VtZW50LmxvY2F0aW9uLmhhc2ggPSAic3RlcDMi
OwotICAgICAgICAgICAgICAgIG9wZW5JZnJhbWUodGhpcmRQYXJ0eUJhc2VVcmwgKyBzdWJQYXRo
VG9HZXRDb29raWVzICsgIiZtZXNzYWdlPVNob3VsZCByZWNlaXZlIGZpcnN0LXBhcnR5IGNvb2tp
ZSBmb3IgbG9jYWxob3N0LiIsIHJ1blRlc3QpOwotICAgICAgICAgICAgICAgIGJyZWFrOwotICAg
ICAgICAgICAgY2FzZSAiI3N0ZXAzIjoKLSAgICAgICAgICAgICAgICBkb2N1bWVudC5sb2NhdGlv
bi5oYXNoID0gInN0ZXA0IjsKLSAgICAgICAgICAgICAgICAvLyBMb2FkIGFuIGlmcmFtZSBpbiBh
IHJlZGlyZWN0IGNoYWluIHRoYXQgc3RhcnRzIHdpdGggbG9jYWxob3N0IGFuZCBlbmRzIHdpdGgg
MTI3LjAuMC4xLiBFeHBlY3QgYSBjb29raWUgZm9yIDEyNy4wLjAuMS4KLSAgICAgICAgICAgICAg
ICBvcGVuSWZyYW1lKHJlZGlyZWN0Q2hhaW5VcmwgKyAiJm1lc3NhZ2U9UmVkaXJlY3QgY2FzZSAx
LCBzaG91bGQgcmVjZWl2ZSBmaXJzdC1wYXJ0eSBjb29raWUgZm9yIDEyNy4wLjAuMS4iLCBydW5U
ZXN0KTsKLSAgICAgICAgICAgICAgICBicmVhazsKLSAgICAgICAgICAgIGNhc2UgIiNzdGVwNCI6
Ci0gICAgICAgICAgICAgICAgLy8gU2V0IGxvY2FsaG9zdCBhcyBwcmV2YWxlbnQgdG8gcHV0IGl0
IGluIHRoZSBibG9ja2luZyBjYXRlZ29yeS4KLSAgICAgICAgICAgICAgICBkb2N1bWVudC5sb2Nh
dGlvbi5oYXNoID0gInN0ZXA1IjsKLSAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLnNldFN0YXRp
c3RpY3NQcmV2YWxlbnRSZXNvdXJjZSh0aGlyZFBhcnR5T3JpZ2luLCB0cnVlLCBmdW5jdGlvbigp
IHsKLSAgICAgICAgICAgICAgICAgICAgaWYgKCF0ZXN0UnVubmVyLmlzU3RhdGlzdGljc1ByZXZh
bGVudFJlc291cmNlKHRoaXJkUGFydHlPcmlnaW4pKQotICAgICAgICAgICAgICAgICAgICAgICAg
dGVzdEZhaWxlZCgiSG9zdCBkaWQgbm90IGdldCBzZXQgYXMgcHJldmFsZW50IHJlc291cmNlLiIp
OwotICAgICAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLnN0YXRpc3RpY3NVcGRhdGVDb29raWVC
bG9ja2luZyhydW5UZXN0KTsKLSAgICAgICAgICAgICAgICB9KTsKLSAgICAgICAgICAgICAgICBi
cmVhazsKLSAgICAgICAgICAgIGNhc2UgIiNzdGVwNSI6Ci0gICAgICAgICAgICAgICAgLy8gVHJ5
IHRvIHNldCBwYXJ0aXRpb25lZCBjb29raWUgZm9yIGxvY2FsaG9zdCB1bmRlciAxMjcuMC4wLjEu
Ci0gICAgICAgICAgICAgICAgZG9jdW1lbnQubG9jYXRpb24uaGFzaCA9ICJzdGVwNiI7Ci0gICAg
ICAgICAgICAgICAgb3BlbklmcmFtZSh0aGlyZFBhcnR5QmFzZVVybCArIHN1YlBhdGhUb1NldFRo
aXJkUGFydHlDb29raWUgKyAiJm1lc3NhZ2U9VHJ5IHRvIHNldCB0aGlyZC1wYXJ0eSBjb29raWUg
Zm9yIGxvY2FsaG9zdCBpbiBibG9ja2VkIG1vZGUuIiwgcnVuVGVzdCk7Ci0gICAgICAgICAgICAg
ICAgYnJlYWs7Ci0gICAgICAgICAgICBjYXNlICIjc3RlcDYiOgotICAgICAgICAgICAgICAgIC8v
IENoZWNrIHRoYXQgbm8gY29va2llIGdldHMgc2VudCBmb3IgbG9jYWxob3N0IHVuZGVyIDEyNy4w
LjAuMSBzaW5jZSBsb2NhbGhvc3QncyBjb29raWVzIGFyZSBibG9ja2VkLgotICAgICAgICAgICAg
ICAgIGRvY3VtZW50LmxvY2F0aW9uLmhhc2ggPSAic3RlcDciOwotICAgICAgICAgICAgICAgIG9w
ZW5JZnJhbWUodGhpcmRQYXJ0eUJhc2VVcmwgKyBzdWJQYXRoVG9HZXRDb29raWVzICsgICImbWVz
c2FnZT1TaG91bGQgcmVjZWl2ZSBubyBjb29raWUuIiwgcnVuVGVzdCk7Ci0gICAgICAgICAgICAg
ICAgYnJlYWs7Ci0gICAgICAgICAgICBjYXNlICIjc3RlcDciOgotICAgICAgICAgICAgICAgIC8v
IExvYWQgYW4gaWZyYW1lIGluIGEgcmVkaXJlY3QgY2hhaW4gdGhhdCBzdGFydHMgd2l0aCBsb2Nh
bGhvc3QgYW5kIGVuZHMgd2l0aCAxMjcuMC4wLjEuIEV4cGVjdCBhIGNvb2tpZSBmb3IgMTI3LjAu
MC4xLgotICAgICAgICAgICAgICAgIGRvY3VtZW50LmxvY2F0aW9uLmhhc2ggPSAic3RlcDgiOwot
ICAgICAgICAgICAgICAgIG9wZW5JZnJhbWUocmVkaXJlY3RDaGFpblVybCArICImbWVzc2FnZT1S
ZWRpcmVjdCBjYXNlIDIsIHNob3VsZCByZWNlaXZlIGZpcnN0LXBhcnR5IGNvb2tpZSBmb3IgMTI3
LjAuMC4xLiIsIHJ1blRlc3QpOwotICAgICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICAgICAg
Y2FzZSAiI3N0ZXA4IjoKLSAgICAgICAgICAgICAgICBzZXRFbmFibGVGZWF0dXJlKGZhbHNlLCBm
aW5pc2hKU1Rlc3QpOwotICAgICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICB9Ci0gICAgfQot
Ci0gICAgaWYgKGRvY3VtZW50LmxvY2F0aW9uLmhhc2ggPT09ICIiKSB7Ci0gICAgICAgIHNldEVu
YWJsZUZlYXR1cmUodHJ1ZSwgZnVuY3Rpb24oKSB7Ci0gICAgICAgICAgICBpZiAodGVzdFJ1bm5l
ci5pc1N0YXRpc3RpY3NQcmV2YWxlbnRSZXNvdXJjZSh0aGlyZFBhcnR5T3JpZ2luKSkKLSAgICAg
ICAgICAgICAgICB0ZXN0RmFpbGVkKCJMb2NhbGhvc3Qgd2FzIGNsYXNzaWZpZWQgYXMgcHJldmFs
ZW50IHJlc291cmNlIGJlZm9yZSB0aGUgdGVzdCBzdGFydHMuIik7Ci0gICAgICAgICAgICB0ZXN0
UnVubmVyLmR1bXBDaGlsZEZyYW1lc0FzVGV4dCgpOwotICAgICAgICAgICAgZG9jdW1lbnQubG9j
YXRpb24uaGFzaCA9ICJzdGVwMSI7Ci0gICAgICAgICAgICBydW5UZXN0KCk7Ci0gICAgICAgIH0p
OwotICAgIH0gZWxzZSB7Ci0gICAgICAgIHJ1blRlc3QoKTsKLSAgICB9Ci08L3NjcmlwdD4KLTwv
Ym9keT4KLTwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2lvcy9UZXN0
RXhwZWN0YXRpb25zIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9zL1Rlc3RFeHBlY3RhdGlvbnMK
aW5kZXggY2NhYzBjZTdmNGYwMTNjNDdiNDU0OTcyNjE1NjBmM2QyZGJlNDU3NS4uZmUwMmRjNTg2
ZGY4MmI0M2NiODUzZjUxMTUzNGFlNDBhMDE0NTZlOCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
cGxhdGZvcm0vaW9zL1Rlc3RFeHBlY3RhdGlvbnMKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0v
aW9zL1Rlc3RFeHBlY3RhdGlvbnMKQEAgLTI3ODMsNyArMjc4Myw3IEBAIGh0dHAvdGVzdHMvcmVz
b3VyY2VMb2FkU3RhdGlzdGljcy9jb29raWUtZGVsZXRpb24uaHRtbCBbIFBhc3MgXQogaHR0cC90
ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2Nvb2tpZXMtd2l0aC1hbmQtd2l0aG91dC11c2Vy
LWludGVyYWN0aW9uLmh0bWwgWyBQYXNzIF0KIGh0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlz
dGljcy9ub24tcHJldmFsZW50LXJlc291cmNlcy1jYW4tYWNjZXNzLWNvb2tpZXMtaW4tYS10aGly
ZC1wYXJ0eS1jb250ZXh0Lmh0bWwgWyBQYXNzIF0KIGh0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3Rh
dGlzdGljcy9hZGQtYmxvY2tpbmctdG8tcmVkaXJlY3QuaHRtbCBbIFBhc3MgXQotaHR0cC90ZXN0
cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3JlbW92ZS1ibG9ja2luZy1pbi1yZWRpcmVjdC5odG1s
IFsgUGFzcyBdCitodHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvZG8tbm90LXJlbW92
ZS1ibG9ja2luZy1pbi1yZWRpcmVjdC5odG1sIFsgUGFzcyBdCiBodHRwL3Rlc3RzL3Jlc291cmNl
TG9hZFN0YXRpc3RpY3MvZ3JhbmRmYXRoZXJpbmcuaHRtbCBbIFBhc3MgXQogaHR0cC90ZXN0cy9y
ZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NsZWFyLWluLW1lbW9yeS1hbmQtcGVyc2lzdGVudC1zdG9y
ZS5odG1sIFsgUGFzcyBdCiBodHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY2xlYXIt
aW4tbWVtb3J5LWFuZC1wZXJzaXN0ZW50LXN0b3JlLW9uZS1ob3VyLmh0bWwgWyBQYXNzIF0KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy13azIvVGVzdEV4cGVjdGF0aW9ucyBi
L0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy13azIvVGVzdEV4cGVjdGF0aW9ucwppbmRleCAzMDdl
Y2JlZmFkYjdhZjhiNzZmOTFhNWUwMDNjZjVkOWQ5OGE3MWZkLi45ZTk3NzYwYjUxMDUyOGU3OGMx
MzBiOWU0Yzc3ZjcwOGE0M2ZkZDllIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9t
YWMtd2syL1Rlc3RFeHBlY3RhdGlvbnMKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLXdr
Mi9UZXN0RXhwZWN0YXRpb25zCkBAIC03OTEsNyArNzkxLDcgQEAgd2Via2l0Lm9yZy9iLzE4NTk5
NCBmYXN0L3RleHQvdXNlci1pbnN0YWxsZWQtZm9udHMvc2hhZG93LXBvc3RzY3JpcHQtZmFtaWx5
Lmh0bWwKIFsgSGlnaFNpZXJyYSsgXSBodHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3Mv
Y29va2llLWRlbGV0aW9uLmh0bWwgWyBQYXNzIF0KIFsgSGlnaFNpZXJyYSsgXSBodHRwL3Rlc3Rz
L3Jlc291cmNlTG9hZFN0YXRpc3RpY3Mvbm9uLXByZXZhbGVudC1yZXNvdXJjZXMtY2FuLWFjY2Vz
cy1jb29raWVzLWluLWEtdGhpcmQtcGFydHktY29udGV4dC5odG1sIFsgUGFzcyBdCiBbIEhpZ2hT
aWVycmErIF0gaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2FkZC1ibG9ja2luZy10
by1yZWRpcmVjdC5odG1sIFsgUGFzcyBdCi1bIEhpZ2hTaWVycmErIF0gaHR0cC90ZXN0cy9yZXNv
dXJjZUxvYWRTdGF0aXN0aWNzL3JlbW92ZS1ibG9ja2luZy1pbi1yZWRpcmVjdC5odG1sIFsgUGFz
cyBdCitbIEhpZ2hTaWVycmErIF0gaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2Rv
LW5vdC1yZW1vdmUtYmxvY2tpbmctaW4tcmVkaXJlY3QuaHRtbCBbIFBhc3MgXQogWyBIaWdoU2ll
cnJhKyBdIGh0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jbGVhci1pbi1tZW1vcnkt
YW5kLXBlcnNpc3RlbnQtc3RvcmUuaHRtbCBbIFBhc3MgXQogWyBIaWdoU2llcnJhKyBdIGh0dHAv
dGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jbGVhci1pbi1tZW1vcnktYW5kLXBlcnNpc3Rl
bnQtc3RvcmUtb25lLWhvdXIuaHRtbCBbIFBhc3MgXQogWyBIaWdoU2llcnJhKyBdIGh0dHAvdGVz
dHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9ncmFuZGZhdGhlcmluZy5odG1sIFsgUGFzcyBdCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93azIvVGVzdEV4cGVjdGF0aW9ucyBiL0xh
eW91dFRlc3RzL3BsYXRmb3JtL3drMi9UZXN0RXhwZWN0YXRpb25zCmluZGV4IDEzZTZmMDMzYTVi
YzMxYWNlZTU2Y2M2YWM1OGJmZTA0ZGI3ODdlMjguLjc2YTZlZGJiMDRkYzVkMjNmYThkNmMwOWI0
NTI4Y2Y4YzgyYTczZjUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL3drMi9UZXN0
RXhwZWN0YXRpb25zCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL3drMi9UZXN0RXhwZWN0YXRp
b25zCkBAIC03MzUsNyArNzM1LDcgQEAgaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNz
L2Nvb2tpZXMtd2l0aC1hbmQtd2l0aG91dC11c2VyLWludGVyYWN0aW9uLmh0bWwKIGh0dHAvdGVz
dHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9zdHJpcC1yZWZlcnJlci10by1vcmlnaW4tZm9yLXBy
ZXZhbGVudC1zdWJyZXNvdXJjZS1yZWRpcmVjdHMuaHRtbCBbIFNraXAgXQogaHR0cC90ZXN0cy9y
ZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3N0cmlwLXJlZmVycmVyLXRvLW9yaWdpbi1mb3ItcHJldmFs
ZW50LXN1YnJlc291cmNlLXJlcXVlc3RzLmh0bWwgWyBTa2lwIF0KIGh0dHAvdGVzdHMvcmVzb3Vy
Y2VMb2FkU3RhdGlzdGljcy9hZGQtYmxvY2tpbmctdG8tcmVkaXJlY3QuaHRtbCBbIFNraXAgXQot
aHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3JlbW92ZS1ibG9ja2luZy1pbi1yZWRp
cmVjdC5odG1sIFsgU2tpcCBdCitodHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvZG8t
bm90LXJlbW92ZS1ibG9ja2luZy1pbi1yZWRpcmVjdC5odG1sIFsgU2tpcCBdCiBodHRwL3Rlc3Rz
L3Jlc291cmNlTG9hZFN0YXRpc3RpY3Mvbm9uLXByZXZhbGVudC1yZXNvdXJjZXMtY2FuLWFjY2Vz
cy1jb29raWVzLWluLWEtdGhpcmQtcGFydHktY29udGV4dC5odG1sIFsgU2tpcCBdCiBodHRwL3Rl
c3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY2FwLWNhY2hlLW1heC1hZ2UtZm9yLXByZXZhbGVu
dC1yZXNvdXJjZS5odG1sIFsgU2tpcCBdCiAK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>375540</attachid>
            <date>2019-08-05 11:37:50 -0700</date>
            <delta_ts>2019-08-05 14:33:58 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-200395-20190805113749.patch</filename>
            <type>text/plain</type>
            <size>27352</size>
            <attacher name="John Wilander">wilander</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQ4MDgwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDc1YjM4MTQ4MTE4ZjE2MzE2
ZDY5ODBjN2I3NGU3NWRjN2QwMzQwZGMuLmUxZDEzOTQyMjdlODk4OTY2NDFkOTc4ZTRhYTc1OTMz
ZjgzZWIzZjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjUgQEAKKzIwMTktMDgtMDUgIEpvaG4gV2ls
YW5kZXIgIDx3aWxhbmRlckBhcHBsZS5jb20+CisKKyAgICAgICAgUmVzb3VyY2UgTG9hZCBTdGF0
aXN0aWNzOiBSZS1pbnRyb2R1Y2UgbGF0Y2ggbW9kZSBmb3Igc3VicmVzb3VyY2UgY29va2llIGJs
b2NraW5nCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0y
MDAzOTUKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzUzODY5NjExPgorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEJhY2sgd2hlbiB3ZSBoYWQgYSByZWxh
eGF0aW9uIG9mIGNvb2tpZSBibG9ja2luZyAyNCBob3VycyBhZnRlciBmaXJzdC1wYXJ0eSB1c2Vy
CisgICAgICAgIGludGVyYWN0aW9uLCB3ZSBtYWRlIHN1cmUgY29va2llIGJsb2NraW5nIGNvdWxk
IGJlIHR1cm5lZCBvbiBhbmQgb2ZmIGluIHN1YnJlc291cmNlCisgICAgICAgIHJlZGlyZWN0IGNo
YWlucy4gVGhlIDI0IGhvdXIgd2luZG93IGlzIG5vdyBsb25nIGdvbmUuIFRoaXMgcGF0Y2ggc2lt
cGxpZmllcyB0aGUKKyAgICAgICAgY29va2llIGJsb2NraW5nIHNvIHRoYXQgb25jZSBhIHN1YnJl
c291cmNlIHJlcXVlc3QgaXMgZGVuaWVkIGNvb2tpZXMsIGFueQorICAgICAgICBzdWJzZXF1ZW50
IHJlZGlyZWN0IG9mIHRoYXQgcmVxdWVzdCB3aWxsIGFsc28gYmUgZGVuaWVkIGNvb2tpZXMsIHJl
Z2FyZGxlc3Mgb2YgdGhlCisgICAgICAgIGNsYXNzaWZpY2F0aW9uIHN0YXR1cyBvZiB0aGUgZG9t
YWlucyBpbnZvbHZlZC4gSSBjYWxsIGl0IGxhdGNoIG1vZGUuCisKKyAgICAgICAgKiBOZXR3b3Jr
UHJvY2Vzcy9jb2NvYS9OZXR3b3JrRGF0YVRhc2tDb2NvYS5oOgorICAgICAgICAqIE5ldHdvcmtQ
cm9jZXNzL2NvY29hL05ldHdvcmtEYXRhVGFza0NvY29hLm1tOgorICAgICAgICAoV2ViS2l0OjpO
ZXR3b3JrRGF0YVRhc2tDb2NvYTo6YmxvY2tDb29raWVzKToKKyAgICAgICAgKFdlYktpdDo6TmV0
d29ya0RhdGFUYXNrQ29jb2E6Ok5ldHdvcmtEYXRhVGFza0NvY29hKToKKyAgICAgICAgKFdlYktp
dDo6TmV0d29ya0RhdGFUYXNrQ29jb2E6OndpbGxQZXJmb3JtSFRUUFJlZGlyZWN0aW9uKToKKyAg
ICAgICAgKFdlYktpdDo6TmV0d29ya0RhdGFUYXNrQ29jb2E6OmFwcGx5Q29va2llQmxvY2tpbmdQ
b2xpY3kpOiBEZWxldGVkLgorCiAyMDE5LTA3LTMxICBDaHJpcyBEdW1leiAgPGNkdW1lekBhcHBs
ZS5jb20+CiAKICAgICAgICAgUkVHUkVTU0lPTiAocjI0NzQ4Nj8pOiBGbGFreSBBUEkgVGVzdCBU
ZXN0V2ViS2l0QVBJLldLV2ViVmlldy5Mb2NhbFN0b3JhZ2VQcm9jZXNzU3VzcGVuZHMKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvY29jb2EvTmV0d29ya0RhdGFUYXNr
Q29jb2EuaCBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvY29jb2EvTmV0d29ya0RhdGFU
YXNrQ29jb2EuaAppbmRleCAzOGVkOWNmNThjYjY5NGFlNTUzOTgwNjIxZTUxMmViYmVlNWFhY2Fm
Li4yNzkzNTc1MzViZTFlODRhMTNkMzFmZjdmYzMyZWM4MmU2OWVkYjhmIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL2NvY29hL05ldHdvcmtEYXRhVGFza0NvY29hLmgK
KysrIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9jb2NvYS9OZXR3b3JrRGF0YVRhc2tD
b2NvYS5oCkBAIC04NCw3ICs4NCw3IEBAIHByaXZhdGU6CiAKICNpZiBFTkFCTEUoUkVTT1VSQ0Vf
TE9BRF9TVEFUSVNUSUNTKQogICAgIHN0YXRpYyBOU0hUVFBDb29raWVTdG9yYWdlICpzdGF0ZWxl
c3NDb29raWVTdG9yYWdlKCk7Ci0gICAgdm9pZCBhcHBseUNvb2tpZUJsb2NraW5nUG9saWN5KGJv
b2wgc2hvdWxkQmxvY2spOworICAgIHZvaWQgYmxvY2tDb29raWVzKCk7CiAjZW5kaWYKICAgICBi
b29sIGlzVGhpcmRQYXJ0eVJlcXVlc3QoY29uc3QgV2ViQ29yZTo6UmVzb3VyY2VSZXF1ZXN0Jik7
CiAgICAgYm9vbCBpc0Fsd2F5c09uTG9nZ2luZ0FsbG93ZWQoKSBjb25zdDsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvY29jb2EvTmV0d29ya0RhdGFUYXNrQ29jb2Eu
bW0gYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL2NvY29hL05ldHdvcmtEYXRhVGFza0Nv
Y29hLm1tCmluZGV4IGJhNWU4ODAwZWJiMGU5ZjA1ZmE4MWE0YTNhZDUyM2MxYjdjZmJkMjAuLjU5
ZTk1ODVlZDI1Y2I3YjUyZWYxNDY5YTc0MjliMzU0OWFkOTg2YTIgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvY29jb2EvTmV0d29ya0RhdGFUYXNrQ29jb2EubW0KKysr
IGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9jb2NvYS9OZXR3b3JrRGF0YVRhc2tDb2Nv
YS5tbQpAQCAtMTMxLDIyICsxMzEsMTUgQEAgTlNIVFRQQ29va2llU3RvcmFnZSAqTmV0d29ya0Rh
dGFUYXNrQ29jb2E6OnN0YXRlbGVzc0Nvb2tpZVN0b3JhZ2UoKQogICAgIHJldHVybiBzdGF0ZWxl
c3NDb29raWVTdG9yYWdlLmdldCgpLmdldCgpOwogfQogCi12b2lkIE5ldHdvcmtEYXRhVGFza0Nv
Y29hOjphcHBseUNvb2tpZUJsb2NraW5nUG9saWN5KGJvb2wgc2hvdWxkQmxvY2spCit2b2lkIE5l
dHdvcmtEYXRhVGFza0NvY29hOjpibG9ja0Nvb2tpZXMoKQogewogICAgIEFTU0VSVChoYXNQcm9j
ZXNzUHJpdmlsZWdlKFByb2Nlc3NQcml2aWxlZ2U6OkNhbkFjY2Vzc1Jhd0Nvb2tpZXMpKTsKIAot
ICAgIGlmIChzaG91bGRCbG9jayA9PSBtX2hhc0JlZW5TZXRUb1VzZVN0YXRlbGVzc0Nvb2tpZVN0
b3JhZ2UpCisgICAgaWYgKG1faGFzQmVlblNldFRvVXNlU3RhdGVsZXNzQ29va2llU3RvcmFnZSkK
ICAgICAgICAgcmV0dXJuOwogCi0gICAgTlNIVFRQQ29va2llU3RvcmFnZSAqc3RvcmFnZSA9IG5p
bDsKLSAgICBpZiAoc2hvdWxkQmxvY2spCi0gICAgICAgIHN0b3JhZ2UgPSBzdGF0ZWxlc3NDb29r
aWVTdG9yYWdlKCk7Ci0gICAgZWxzZSBpZiAoYXV0byogc3RvcmFnZVNlc3Npb24gPSBtX3Nlc3Np
b24tPm5ldHdvcmtTdG9yYWdlU2Vzc2lvbigpKQotICAgICAgICBzdG9yYWdlID0gc3RvcmFnZVNl
c3Npb24tPm5zQ29va2llU3RvcmFnZSgpOwotICAgIGlmIChzdG9yYWdlKSB7Ci0gICAgICAgIFtt
X3Rhc2sgX3NldEV4cGxpY2l0Q29va2llU3RvcmFnZTpzdG9yYWdlLl9jb29raWVTdG9yYWdlXTsK
LSAgICAgICAgbV9oYXNCZWVuU2V0VG9Vc2VTdGF0ZWxlc3NDb29raWVTdG9yYWdlID0gc2hvdWxk
QmxvY2s7Ci0gICAgfQorICAgIFttX3Rhc2sgX3NldEV4cGxpY2l0Q29va2llU3RvcmFnZTpzdGF0
ZWxlc3NDb29raWVTdG9yYWdlKCkuX2Nvb2tpZVN0b3JhZ2VdOworICAgIG1faGFzQmVlblNldFRv
VXNlU3RhdGVsZXNzQ29va2llU3RvcmFnZSA9IHRydWU7CiB9CiAjZW5kaWYKIApAQCAtMjYxLDcg
KzI1NCw3IEBAIE5ldHdvcmtEYXRhVGFza0NvY29hOjpOZXR3b3JrRGF0YVRhc2tDb2NvYShOZXR3
b3JrU2Vzc2lvbiYgc2Vzc2lvbiwgTmV0d29ya0RhdGFUCiAjZWxzZQogICAgICAgICBMT0coTmV0
d29ya1Nlc3Npb24sICIlbGx1IEJsb2NraW5nIGNvb2tpZXMgZm9yIFVSTCAlcyIsIFttX3Rhc2sg
dGFza0lkZW50aWZpZXJdLCBuc1JlcXVlc3QuVVJMLmFic29sdXRlU3RyaW5nLlVURjhTdHJpbmcp
OwogI2VuZGlmCi0gICAgICAgIGFwcGx5Q29va2llQmxvY2tpbmdQb2xpY3koc2hvdWxkQmxvY2tD
b29raWVzKTsKKyAgICAgICAgYmxvY2tDb29raWVzKCk7CiAgICAgfQogI2VuZGlmCiAKQEAgLTM4
NCwyOCArMzc3LDE3IEBAIHZvaWQgTmV0d29ya0RhdGFUYXNrQ29jb2E6OndpbGxQZXJmb3JtSFRU
UFJlZGlyZWN0aW9uKFdlYkNvcmU6OlJlc291cmNlUmVzcG9uc2UmCiAgICAgICAgIHJlcXVlc3Qu
c2V0Rmlyc3RQYXJ0eUZvckNvb2tpZXMocmVxdWVzdC51cmwoKSk7CiAKICNpZiBFTkFCTEUoUkVT
T1VSQ0VfTE9BRF9TVEFUSVNUSUNTKQotICAgIGJvb2wgc2hvdWxkQmxvY2tDb29raWVzID0gbV9z
dG9yZWRDcmVkZW50aWFsc1BvbGljeSA9PSBXZWJDb3JlOjpTdG9yZWRDcmVkZW50aWFsc1BvbGlj
eTo6RXBoZW1lcmFsU3RhdGVsZXNzQ29va2llbGVzcwotICAgICAgICB8fCAobV9zZXNzaW9uLT5u
ZXR3b3JrU3RvcmFnZVNlc3Npb24oKSAmJiBtX3Nlc3Npb24tPm5ldHdvcmtTdG9yYWdlU2Vzc2lv
bigpLT5zaG91bGRCbG9ja0Nvb2tpZXMocmVxdWVzdCwgbV9mcmFtZUlELCBtX3BhZ2VJRCkpOwor
ICAgIGlmICghbV9oYXNCZWVuU2V0VG9Vc2VTdGF0ZWxlc3NDb29raWVTdG9yYWdlKSB7CisgICAg
ICAgIGlmIChtX3N0b3JlZENyZWRlbnRpYWxzUG9saWN5ID09IFdlYkNvcmU6OlN0b3JlZENyZWRl
bnRpYWxzUG9saWN5OjpFcGhlbWVyYWxTdGF0ZWxlc3NDb29raWVsZXNzCisgICAgICAgICAgICB8
fCAobV9zZXNzaW9uLT5uZXR3b3JrU3RvcmFnZVNlc3Npb24oKSAmJiBtX3Nlc3Npb24tPm5ldHdv
cmtTdG9yYWdlU2Vzc2lvbigpLT5zaG91bGRCbG9ja0Nvb2tpZXMocmVxdWVzdCwgbV9mcmFtZUlE
LCBtX3BhZ2VJRCkpKQorICAgICAgICAgICAgYmxvY2tDb29raWVzKCk7CisgICAgfQogI2lmICFS
RUxFQVNFX0xPR19ESVNBQkxFRAogICAgIGlmIChtX3Nlc3Npb24tPnNob3VsZExvZ0Nvb2tpZUlu
Zm9ybWF0aW9uKCkpCi0gICAgICAgIFJFTEVBU0VfTE9HX0lGKGlzQWx3YXlzT25Mb2dnaW5nQWxs
b3dlZCgpLCBOZXR3b3JrLCAiJXAgLSBOZXR3b3JrRGF0YVRhc2tDb2NvYTo6d2lsbFBlcmZvcm1I
VFRQUmVkaXJlY3Rpb246OmxvZ0Nvb2tpZUluZm9ybWF0aW9uOiBwYWdlSUQgPSAlbGx1LCBmcmFt
ZUlEID0gJWxsdSwgdGFza0lEID0gJWx1OiAlcyBjb29raWVzIGZvciByZWRpcmVjdCBVUkwgJXMi
LCB0aGlzLCBtX3BhZ2VJRC50b1VJbnQ2NCgpLCBtX2ZyYW1lSUQsICh1bnNpZ25lZCBsb25nKVtt
X3Rhc2sgdGFza0lkZW50aWZpZXJdLCAoc2hvdWxkQmxvY2tDb29raWVzID8gIkJsb2NraW5nIiA6
ICJOb3QgYmxvY2tpbmciKSwgcmVxdWVzdC51cmwoKS5zdHJpbmcoKS51dGY4KCkuZGF0YSgpKTsK
KyAgICAgICAgUkVMRUFTRV9MT0dfSUYoaXNBbHdheXNPbkxvZ2dpbmdBbGxvd2VkKCksIE5ldHdv
cmssICIlcCAtIE5ldHdvcmtEYXRhVGFza0NvY29hOjp3aWxsUGVyZm9ybUhUVFBSZWRpcmVjdGlv
bjo6bG9nQ29va2llSW5mb3JtYXRpb246IHBhZ2VJRCA9ICVsbHUsIGZyYW1lSUQgPSAlbGx1LCB0
YXNrSUQgPSAlbHU6ICVzIGNvb2tpZXMgZm9yIHJlZGlyZWN0IFVSTCAlcyIsIHRoaXMsIG1fcGFn
ZUlELnRvVUludDY0KCksIG1fZnJhbWVJRCwgKHVuc2lnbmVkIGxvbmcpW21fdGFzayB0YXNrSWRl
bnRpZmllcl0sIChtX2hhc0JlZW5TZXRUb1VzZVN0YXRlbGVzc0Nvb2tpZVN0b3JhZ2UgPyAiQmxv
Y2tpbmciIDogIk5vdCBibG9ja2luZyIpLCByZXF1ZXN0LnVybCgpLnN0cmluZygpLnV0ZjgoKS5k
YXRhKCkpOwogI2Vsc2UKLSAgICBMT0coTmV0d29ya1Nlc3Npb24sICIlbGx1ICVzIGNvb2tpZXMg
Zm9yIHJlZGlyZWN0IFVSTCAlcyIsIFttX3Rhc2sgdGFza0lkZW50aWZpZXJdLCAoc2hvdWxkQmxv
Y2tDb29raWVzID8gIkJsb2NraW5nIiA6ICJOb3QgYmxvY2tpbmciKSwgcmVxdWVzdC51cmwoKS5z
dHJpbmcoKS51dGY4KCkuZGF0YSgpKTsKLSNlbmRpZgorICAgIExPRyhOZXR3b3JrU2Vzc2lvbiwg
IiVsbHUgJXMgY29va2llcyBmb3IgcmVkaXJlY3QgVVJMICVzIiwgW21fdGFzayB0YXNrSWRlbnRp
Zmllcl0sIChtX2hhc0JlZW5TZXRUb1VzZVN0YXRlbGVzc0Nvb2tpZVN0b3JhZ2UgPyAiQmxvY2tp
bmciIDogIk5vdCBibG9ja2luZyIpLCByZXF1ZXN0LnVybCgpLnN0cmluZygpLnV0ZjgoKS5kYXRh
KCkpOwogI2VuZGlmCi0KLSNpZiBFTkFCTEUoUkVTT1VSQ0VfTE9BRF9TVEFUSVNUSUNTKQotICAg
IC8vIEFsd2F5cyBhcHBseSB0aGUgcG9saWN5IHNpbmNlIGJsb2NraW5nIG1heSBuZWVkIHRvIGJl
IHR1cm5lZCBvbiBvciBvZmYgaW4gYSByZWRpcmVjdC4KLSAgICBhcHBseUNvb2tpZUJsb2NraW5n
UG9saWN5KHNob3VsZEJsb2NrQ29va2llcyk7Ci0KLSAgICBpZiAoIXNob3VsZEJsb2NrQ29va2ll
cykgewotI2lmICFSRUxFQVNFX0xPR19ESVNBQkxFRAotICAgICAgICBpZiAobV9zZXNzaW9uLT5z
aG91bGRMb2dDb29raWVJbmZvcm1hdGlvbigpKQotICAgICAgICAgICAgUkVMRUFTRV9MT0dfSUYo
aXNBbHdheXNPbkxvZ2dpbmdBbGxvd2VkKCksIE5ldHdvcmssICIlcCAtIE5ldHdvcmtEYXRhVGFz
a0NvY29hOjp3aWxsUGVyZm9ybUhUVFBSZWRpcmVjdGlvbjo6bG9nQ29va2llSW5mb3JtYXRpb246
IHBhZ2VJRCA9ICVsbHUsIGZyYW1lSUQgPSAlbGx1LCB0YXNrSUQgPSAlbHU6IE5vdCBwYXJ0aXRp
b25pbmcgY29va2llcyBmb3IgcmVkaXJlY3QgVVJMICVzIiwgdGhpcywgbV9wYWdlSUQudG9VSW50
NjQoKSwgbV9mcmFtZUlELCAodW5zaWduZWQgbG9uZylbbV90YXNrIHRhc2tJZGVudGlmaWVyXSwg
cmVxdWVzdC51cmwoKS5zdHJpbmcoKS51dGY4KCkuZGF0YSgpKTsKLSNlbHNlCi0gICAgICAgIExP
RyhOZXR3b3JrU2Vzc2lvbiwgIiVsbHUgTm90IHBhcnRpdGlvbmluZyBjb29raWVzIGZvciByZWRp
cmVjdCBVUkwgJXMiLCBbbV90YXNrIHRhc2tJZGVudGlmaWVyXSwgcmVxdWVzdC51cmwoKS5zdHJp
bmcoKS51dGY4KCkuZGF0YSgpKTsKLSNlbmRpZgotICAgIH0KICNlbmRpZgogCiAgICAgdXBkYXRl
VGFza1dpdGhGaXJzdFBhcnR5Rm9yU2FtZVNpdGVDb29raWVzKG1fdGFzay5nZXQoKSwgcmVxdWVz
dCk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFu
Z2VMb2cKaW5kZXggOTE4MGE0NjNmNDEzMDM2NmQwNjY2NmFkZmNjMjZiMzM0M2QxNGMxZi4uYTVi
MWNmYWZmOTI0ZDI5Zjc0ZjUwYjA1NjdkNzdjYjYzMTM0MmZiNCAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI4
IEBACisyMDE5LTA4LTA1ICBKb2huIFdpbGFuZGVyICA8d2lsYW5kZXJAYXBwbGUuY29tPgorCisg
ICAgICAgIFJlc291cmNlIExvYWQgU3RhdGlzdGljczogUmUtaW50cm9kdWNlIGxhdGNoIG1vZGUg
Zm9yIHN1YnJlc291cmNlIGNvb2tpZSBibG9ja2luZworICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjAwMzk1CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS81
Mzg2OTYxMT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICBCYWNrIHdoZW4gd2UgaGFkIGEgcmVsYXhhdGlvbiBvZiBjb29raWUgYmxvY2tpbmcgMjQgaG91
cnMgYWZ0ZXIgZmlyc3QtcGFydHkgdXNlcgorICAgICAgICBpbnRlcmFjdGlvbiwgd2UgbWFkZSBz
dXJlIGNvb2tpZSBibG9ja2luZyBjb3VsZCBiZSB0dXJuZWQgb24gYW5kIG9mZiBpbiBzdWJyZXNv
dXJjZQorICAgICAgICByZWRpcmVjdCBjaGFpbnMuIFRoZSAyNCBob3VyIHdpbmRvdyBpcyBub3cg
bG9uZyBnb25lLiBUaGlzIHBhdGNoIHNpbXBsaWZpZXMgdGhlCisgICAgICAgIGNvb2tpZSBibG9j
a2luZyBzbyB0aGF0IG9uY2UgYSBzdWJyZXNvdXJjZSByZXF1ZXN0IGlzIGRlbmllZCBjb29raWVz
LCBhbnkKKyAgICAgICAgc3Vic2VxdWVudCByZWRpcmVjdCBvZiB0aGF0IHJlcXVlc3Qgd2lsbCBh
bHNvIGJlIGRlbmllZCBjb29raWVzLCByZWdhcmRsZXNzIG9mIHRoZQorICAgICAgICBjbGFzc2lm
aWNhdGlvbiBzdGF0dXMgb2YgdGhlIGRvbWFpbnMgaW52b2x2ZWQuIEkgY2FsbCBpdCBsYXRjaCBt
b2RlLgorCisgICAgICAgICogaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2RvLW5v
dC1yZW1vdmUtYmxvY2tpbmctaW4tcmVkaXJlY3QtZXhwZWN0ZWQudHh0OiBSZW5hbWVkIGZyb20g
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3JlbW92ZS1ibG9j
a2luZy1pbi1yZWRpcmVjdC1leHBlY3RlZC50eHQuCisgICAgICAgICogaHR0cC90ZXN0cy9yZXNv
dXJjZUxvYWRTdGF0aXN0aWNzL2RvLW5vdC1yZW1vdmUtYmxvY2tpbmctaW4tcmVkaXJlY3QuaHRt
bDogUmVuYW1lZCBmcm9tIExheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlz
dGljcy9yZW1vdmUtYmxvY2tpbmctaW4tcmVkaXJlY3QuaHRtbC4KKyAgICAgICAgICAgIENoYW5n
ZWQgdG8gZXhwZWN0IG5vIHJlbW92YWwgb2YgYmxvY2tpbmcgaW4gdGhlIHJlZGlyZWN0IGFuZCBy
ZW5hbWVkIGFjY29yZGluZ2x5LgorICAgICAgICAqIHBsYXRmb3JtL2lvcy9UZXN0RXhwZWN0YXRp
b25zOgorICAgICAgICAgICAgUmVuYW1lZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMtd2syL1Rl
c3RFeHBlY3RhdGlvbnM6CisgICAgICAgICAgICBSZW5hbWVkLgorICAgICAgICAqIHBsYXRmb3Jt
L3drMi9UZXN0RXhwZWN0YXRpb25zOgorICAgICAgICAgICAgUmVuYW1lZC4KKwogMjAxOS0wNy0z
MSAgWmFsYW4gQnVqdGFzICA8emFsYW5AYXBwbGUuY29tPgogCiAgICAgICAgIFtDb250ZW50Q2hh
bmdlT2JzZXJ2ZXJdIHR3aXRjaC50diB2aWRlbyBjb250cm9scyBkbyBub3QgYWx3YXlzIHJlc3Bv
bmQgdG8gdGFwcyBpbiBmdWxsc2NyZWVuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rl
c3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvZG8tbm90LXJlbW92ZS1ibG9ja2luZy1pbi1yZWRp
cmVjdC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0
YXRpc3RpY3MvZG8tbm90LXJlbW92ZS1ibG9ja2luZy1pbi1yZWRpcmVjdC1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uMWFkN2Q5ZTUwMDc2YjZkMTZiYmMyNmE1MDQ2ZTk5Njk2ZDZlMDc2OAotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlz
dGljcy9kby1ub3QtcmVtb3ZlLWJsb2NraW5nLWluLXJlZGlyZWN0LWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDUxIEBACitUZXN0cyB0aGF0IGJsb2NraW5nIGlzIG5vdCByZW1vdmVkIG1pZC1mbGln
aHQgaW4gcmVkaXJlY3RzLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2Yg
IlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKKworUEFTUyBz
dWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisgIAorCistLS0tLS0t
LQorRnJhbWU6ICc8IS0tZnJhbWUxLS0+JworLS0tLS0tLS0KK1Nob3VsZCByZWNlaXZlIGZpcnN0
LXBhcnR5IGNvb2tpZSBmb3IgbG9jYWxob3N0LgorRGlkIG5vdCByZWNlaXZlIGNvb2tpZSBuYW1l
ZCAnZmlyc3RQYXJ0eUNvb2tpZUlQJy4KK1JlY2VpdmVkIGNvb2tpZSBuYW1lZCAnZmlyc3RQYXJ0
eUNvb2tpZUxvY2FsaG9zdCcuCitEaWQgbm90IHJlY2VpdmUgY29va2llIG5hbWVkICd0aGlyZFBh
cnR5Q29va2llJy4KK0NsaWVudC1zaWRlIGRvY3VtZW50LmNvb2tpZTogZmlyc3RQYXJ0eUNvb2tp
ZUxvY2FsaG9zdD1sb2NhbGhvc3QKKworLS0tLS0tLS0KK0ZyYW1lOiAnPCEtLWZyYW1lMi0tPicK
Ky0tLS0tLS0tCitSZWRpcmVjdCBjYXNlIDEsIHNob3VsZCByZWNlaXZlIGZpcnN0LXBhcnR5IGNv
b2tpZSBmb3IgMTI3LjAuMC4xLgorUmVjZWl2ZWQgY29va2llIG5hbWVkICdmaXJzdFBhcnR5Q29v
a2llSVAnLgorRGlkIG5vdCByZWNlaXZlIGNvb2tpZSBuYW1lZCAnZmlyc3RQYXJ0eUNvb2tpZUxv
Y2FsaG9zdCcuCitEaWQgbm90IHJlY2VpdmUgY29va2llIG5hbWVkICd0aGlyZFBhcnR5Q29va2ll
Jy4KK0NsaWVudC1zaWRlIGRvY3VtZW50LmNvb2tpZTogZmlyc3RQYXJ0eUNvb2tpZUlQPTEyNy4w
LjAuMQorCistLS0tLS0tLQorRnJhbWU6ICc8IS0tZnJhbWUzLS0+JworLS0tLS0tLS0KK1RyeSB0
byBzZXQgdGhpcmQtcGFydHkgY29va2llIGZvciBsb2NhbGhvc3QgaW4gYmxvY2tlZCBtb2RlLgor
CisKKy0tLS0tLS0tCitGcmFtZTogJzwhLS1mcmFtZTQtLT4nCistLS0tLS0tLQorU2hvdWxkIHJl
Y2VpdmUgbm8gY29va2llLgorRGlkIG5vdCByZWNlaXZlIGNvb2tpZSBuYW1lZCAnZmlyc3RQYXJ0
eUNvb2tpZUlQJy4KK0RpZCBub3QgcmVjZWl2ZSBjb29raWUgbmFtZWQgJ2ZpcnN0UGFydHlDb29r
aWVMb2NhbGhvc3QnLgorRGlkIG5vdCByZWNlaXZlIGNvb2tpZSBuYW1lZCAndGhpcmRQYXJ0eUNv
b2tpZScuCitDbGllbnQtc2lkZSBkb2N1bWVudC5jb29raWU6CisKKy0tLS0tLS0tCitGcmFtZTog
JzwhLS1mcmFtZTUtLT4nCistLS0tLS0tLQorUmVkaXJlY3QgY2FzZSAyLCBzaG91bGQgbm90IHJl
Y2VpdmUgZmlyc3QtcGFydHkgY29va2llIGZvciAxMjcuMC4wLjEuCitEaWQgbm90IHJlY2VpdmUg
Y29va2llIG5hbWVkICdmaXJzdFBhcnR5Q29va2llSVAnLgorRGlkIG5vdCByZWNlaXZlIGNvb2tp
ZSBuYW1lZCAnZmlyc3RQYXJ0eUNvb2tpZUxvY2FsaG9zdCcuCitEaWQgbm90IHJlY2VpdmUgY29v
a2llIG5hbWVkICd0aGlyZFBhcnR5Q29va2llJy4KK0NsaWVudC1zaWRlIGRvY3VtZW50LmNvb2tp
ZTogZmlyc3RQYXJ0eUNvb2tpZUlQPTEyNy4wLjAuMQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2RvLW5vdC1yZW1vdmUtYmxvY2tpbmct
aW4tcmVkaXJlY3QuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3Rh
dGlzdGljcy9kby1ub3QtcmVtb3ZlLWJsb2NraW5nLWluLXJlZGlyZWN0Lmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uNmI2ZGUxNzQxZTIxYzhmODdkZmU2OTVkYmI5NDU1MWRkMGQ0NGIzZgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9kby1u
b3QtcmVtb3ZlLWJsb2NraW5nLWluLXJlZGlyZWN0Lmh0bWwKQEAgLTAsMCArMSw5OSBAQAorPCFE
T0NUWVBFIGh0bWw+Cis8aHRtbCBsYW5nPSJlbiI+Cis8aGVhZD4KKyAgICA8bWV0YSBjaGFyc2V0
PSJVVEYtOCI+CisgICAgPHNjcmlwdCBzcmM9Ii9qcy10ZXN0LXJlc291cmNlcy9qcy10ZXN0Lmpz
Ij48L3NjcmlwdD4KKyAgICA8c2NyaXB0IHNyYz0icmVzb3VyY2VzL3V0aWwuanMiPjwvc2NyaXB0
PgorPC9oZWFkPgorPGJvZHk+Cis8c2NyaXB0PgorICAgIGRlc2NyaXB0aW9uKCJUZXN0cyB0aGF0
IGJsb2NraW5nIGlzIG5vdCByZW1vdmVkIG1pZC1mbGlnaHQgaW4gcmVkaXJlY3RzLiIpOworICAg
IGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgY29uc3QgcGFydGl0aW9uSG9zdCA9ICIxMjcu
MC4wLjE6ODAwMCI7CisgICAgY29uc3QgdGhpcmRQYXJ0eU9yaWdpbiA9ICJodHRwOi8vbG9jYWxo
b3N0OjgwMDAiOworICAgIGNvbnN0IHJlc291cmNlUGF0aCA9ICIvcmVzb3VyY2VMb2FkU3RhdGlz
dGljcy9yZXNvdXJjZXMiOworICAgIGNvbnN0IHRoaXJkUGFydHlCYXNlVXJsID0gdGhpcmRQYXJ0
eU9yaWdpbiArIHJlc291cmNlUGF0aDsKKyAgICBjb25zdCBmaXJzdFBhcnR5Q29va2llTmFtZVBy
ZWZpeCA9ICJmaXJzdFBhcnR5Q29va2llIjsKKyAgICBjb25zdCBmaXJzdFBhcnR5Q29va2llTmFt
ZUlQID0gZmlyc3RQYXJ0eUNvb2tpZU5hbWVQcmVmaXggKyAiSVAiOworICAgIGNvbnN0IGZpcnN0
UGFydHlDb29raWVOYW1lTG9jYWxob3N0ID0gZmlyc3RQYXJ0eUNvb2tpZU5hbWVQcmVmaXggKyAi
TG9jYWxob3N0IjsKKyAgICBjb25zdCB0aGlyZFBhcnR5Q29va2llTmFtZSA9ICJ0aGlyZFBhcnR5
Q29va2llIjsKKyAgICBjb25zdCBzdWJQYXRoVG9TZXRUaGlyZFBhcnR5Q29va2llID0gIi9zZXQt
Y29va2llLnBocD9uYW1lPSIgKyB0aGlyZFBhcnR5Q29va2llTmFtZSArICImdmFsdWU9dmFsdWUi
OworICAgIGNvbnN0IHN1YlBhdGhUb0dldENvb2tpZXMgPSAiL2dldC1jb29raWVzLnBocD9uYW1l
MT0iICsgZmlyc3RQYXJ0eUNvb2tpZU5hbWVJUCArICImbmFtZTI9IiArIGZpcnN0UGFydHlDb29r
aWVOYW1lTG9jYWxob3N0ICsgIiZuYW1lMz0iICsgdGhpcmRQYXJ0eUNvb2tpZU5hbWU7CisgICAg
Y29uc3QgcmVkaXJlY3RDaGFpblVybCA9IHRoaXJkUGFydHlPcmlnaW4gKyByZXNvdXJjZVBhdGgg
KyAiL3JlZGlyZWN0LnBocD9yZWRpcmVjdFRvPWh0dHA6Ly8iICsgcGFydGl0aW9uSG9zdCArIHJl
c291cmNlUGF0aCArIHN1YlBhdGhUb0dldENvb2tpZXM7CisKKyAgICBmdW5jdGlvbiBvcGVuSWZy
YW1lKHVybCwgb25Mb2FkSGFuZGxlcikgeworICAgICAgICBjb25zdCBlbGVtZW50ID0gZG9jdW1l
bnQuY3JlYXRlRWxlbWVudCgiaWZyYW1lIik7CisgICAgICAgIGVsZW1lbnQuc3JjID0gdXJsOwor
ICAgICAgICBpZiAob25Mb2FkSGFuZGxlcikgeworICAgICAgICAgICAgZWxlbWVudC5vbmxvYWQg
PSBvbkxvYWRIYW5kbGVyOworICAgICAgICB9CisgICAgICAgIGRvY3VtZW50LmJvZHkuYXBwZW5k
Q2hpbGQoZWxlbWVudCk7CisgICAgfQorCisgICAgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAg
ICAgc3dpdGNoIChkb2N1bWVudC5sb2NhdGlvbi5oYXNoKSB7CisgICAgICAgICAgICBjYXNlICIj
c3RlcDEiOgorICAgICAgICAgICAgICAgIC8vIFNldCBmaXJzdC1wYXJ0eSBjb29raWVzIGZvciAx
MjcuMC4wLjEgYW5kIGxvY2FsaG9zdC4KKyAgICAgICAgICAgICAgICBpZiAoZG9jdW1lbnQubG9j
YXRpb24ub3JpZ2luID09PSB0aGlyZFBhcnR5T3JpZ2luKSB7CisgICAgICAgICAgICAgICAgICAg
IGRvY3VtZW50LmNvb2tpZSA9IGZpcnN0UGFydHlDb29raWVOYW1lTG9jYWxob3N0ICsgIj1sb2Nh
bGhvc3Q7cGF0aD0nLyciOworICAgICAgICAgICAgICAgICAgICBkb2N1bWVudC5sb2NhdGlvbi5o
cmVmID0gImh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2RvLW5v
dC1yZW1vdmUtYmxvY2tpbmctaW4tcmVkaXJlY3QuaHRtbCNzdGVwMiI7CisgICAgICAgICAgICAg
ICAgfSBlbHNlIHsKKyAgICAgICAgICAgICAgICAgICAgZG9jdW1lbnQuY29va2llID0gZmlyc3RQ
YXJ0eUNvb2tpZU5hbWVJUCArICI9MTI3LjAuMC4xO3BhdGg9Jy8nIjsKKyAgICAgICAgICAgICAg
ICAgICAgZG9jdW1lbnQubG9jYXRpb24uaHJlZiA9ICJodHRwOi8vbG9jYWxob3N0OjgwMDAvcmVz
b3VyY2VMb2FkU3RhdGlzdGljcy9kby1ub3QtcmVtb3ZlLWJsb2NraW5nLWluLXJlZGlyZWN0Lmh0
bWwjc3RlcDEiOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICBicmVhazsKKyAg
ICAgICAgICAgIGNhc2UgIiNzdGVwMiI6CisgICAgICAgICAgICAgICAgLy8gQ2hlY2sgdGhhdCB0
aGUgY29va2llIGdldHMgc2VudCBmb3IgbG9jYWxob3N0IHVuZGVyIDEyNy4wLjAuMSBzaW5jZSBs
b2NhbGhvc3QgaXMgbm90IHByZXZhbGVudC4KKyAgICAgICAgICAgICAgICBkb2N1bWVudC5sb2Nh
dGlvbi5oYXNoID0gInN0ZXAzIjsKKyAgICAgICAgICAgICAgICBvcGVuSWZyYW1lKHRoaXJkUGFy
dHlCYXNlVXJsICsgc3ViUGF0aFRvR2V0Q29va2llcyArICImbWVzc2FnZT1TaG91bGQgcmVjZWl2
ZSBmaXJzdC1wYXJ0eSBjb29raWUgZm9yIGxvY2FsaG9zdC4iLCBydW5UZXN0KTsKKyAgICAgICAg
ICAgICAgICBicmVhazsKKyAgICAgICAgICAgIGNhc2UgIiNzdGVwMyI6CisgICAgICAgICAgICAg
ICAgZG9jdW1lbnQubG9jYXRpb24uaGFzaCA9ICJzdGVwNCI7CisgICAgICAgICAgICAgICAgLy8g
TG9hZCBhbiBpZnJhbWUgaW4gYSByZWRpcmVjdCBjaGFpbiB0aGF0IHN0YXJ0cyB3aXRoIGxvY2Fs
aG9zdCBhbmQgZW5kcyB3aXRoIDEyNy4wLjAuMS4gRXhwZWN0IGEgY29va2llIGZvciAxMjcuMC4w
LjEuCisgICAgICAgICAgICAgICAgb3BlbklmcmFtZShyZWRpcmVjdENoYWluVXJsICsgIiZtZXNz
YWdlPVJlZGlyZWN0IGNhc2UgMSwgc2hvdWxkIHJlY2VpdmUgZmlyc3QtcGFydHkgY29va2llIGZv
ciAxMjcuMC4wLjEuIiwgcnVuVGVzdCk7CisgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAg
ICAgICBjYXNlICIjc3RlcDQiOgorICAgICAgICAgICAgICAgIC8vIFNldCBsb2NhbGhvc3QgYXMg
cHJldmFsZW50IHRvIHB1dCBpdCBpbiB0aGUgYmxvY2tpbmcgY2F0ZWdvcnkuCisgICAgICAgICAg
ICAgICAgZG9jdW1lbnQubG9jYXRpb24uaGFzaCA9ICJzdGVwNSI7CisgICAgICAgICAgICAgICAg
dGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNzUHJldmFsZW50UmVzb3VyY2UodGhpcmRQYXJ0eU9yaWdp
biwgdHJ1ZSwgZnVuY3Rpb24oKSB7CisgICAgICAgICAgICAgICAgICAgIGlmICghdGVzdFJ1bm5l
ci5pc1N0YXRpc3RpY3NQcmV2YWxlbnRSZXNvdXJjZSh0aGlyZFBhcnR5T3JpZ2luKSkKKyAgICAg
ICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoIkhvc3QgZGlkIG5vdCBnZXQgc2V0IGFzIHBy
ZXZhbGVudCByZXNvdXJjZS4iKTsKKyAgICAgICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5zdGF0
aXN0aWNzVXBkYXRlQ29va2llQmxvY2tpbmcocnVuVGVzdCk7CisgICAgICAgICAgICAgICAgfSk7
CisgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICBjYXNlICIjc3RlcDUiOgorICAg
ICAgICAgICAgICAgIC8vIFRyeSB0byBzZXQgcGFydGl0aW9uZWQgY29va2llIGZvciBsb2NhbGhv
c3QgdW5kZXIgMTI3LjAuMC4xLgorICAgICAgICAgICAgICAgIGRvY3VtZW50LmxvY2F0aW9uLmhh
c2ggPSAic3RlcDYiOworICAgICAgICAgICAgICAgIG9wZW5JZnJhbWUodGhpcmRQYXJ0eUJhc2VV
cmwgKyBzdWJQYXRoVG9TZXRUaGlyZFBhcnR5Q29va2llICsgIiZtZXNzYWdlPVRyeSB0byBzZXQg
dGhpcmQtcGFydHkgY29va2llIGZvciBsb2NhbGhvc3QgaW4gYmxvY2tlZCBtb2RlLiIsIHJ1blRl
c3QpOworICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgY2FzZSAiI3N0ZXA2IjoK
KyAgICAgICAgICAgICAgICAvLyBDaGVjayB0aGF0IG5vIGNvb2tpZSBnZXRzIHNlbnQgZm9yIGxv
Y2FsaG9zdCB1bmRlciAxMjcuMC4wLjEgc2luY2UgbG9jYWxob3N0J3MgY29va2llcyBhcmUgYmxv
Y2tlZC4KKyAgICAgICAgICAgICAgICBkb2N1bWVudC5sb2NhdGlvbi5oYXNoID0gInN0ZXA3IjsK
KyAgICAgICAgICAgICAgICBvcGVuSWZyYW1lKHRoaXJkUGFydHlCYXNlVXJsICsgc3ViUGF0aFRv
R2V0Q29va2llcyArICAiJm1lc3NhZ2U9U2hvdWxkIHJlY2VpdmUgbm8gY29va2llLiIsIHJ1blRl
c3QpOworICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgY2FzZSAiI3N0ZXA3IjoK
KyAgICAgICAgICAgICAgICAvLyBMb2FkIGFuIGlmcmFtZSBpbiBhIHJlZGlyZWN0IGNoYWluIHRo
YXQgc3RhcnRzIHdpdGggbG9jYWxob3N0IGFuZCBlbmRzIHdpdGggMTI3LjAuMC4xLiBFeHBlY3Qg
YSBjb29raWUgZm9yIDEyNy4wLjAuMS4KKyAgICAgICAgICAgICAgICBkb2N1bWVudC5sb2NhdGlv
bi5oYXNoID0gInN0ZXA4IjsKKyAgICAgICAgICAgICAgICBvcGVuSWZyYW1lKHJlZGlyZWN0Q2hh
aW5VcmwgKyAiJm1lc3NhZ2U9UmVkaXJlY3QgY2FzZSAyLCBzaG91bGQgbm90IHJlY2VpdmUgZmly
c3QtcGFydHkgY29va2llIGZvciAxMjcuMC4wLjEuIiwgcnVuVGVzdCk7CisgICAgICAgICAgICAg
ICAgYnJlYWs7CisgICAgICAgICAgICBjYXNlICIjc3RlcDgiOgorICAgICAgICAgICAgICAgIHNl
dEVuYWJsZUZlYXR1cmUoZmFsc2UsIGZpbmlzaEpTVGVzdCk7CisgICAgICAgICAgICAgICAgYnJl
YWs7CisgICAgICAgIH0KKyAgICB9CisKKyAgICBpZiAoZG9jdW1lbnQubG9jYXRpb24uaGFzaCA9
PT0gIiIpIHsKKyAgICAgICAgc2V0RW5hYmxlRmVhdHVyZSh0cnVlLCBmdW5jdGlvbigpIHsKKyAg
ICAgICAgICAgIGlmICh0ZXN0UnVubmVyLmlzU3RhdGlzdGljc1ByZXZhbGVudFJlc291cmNlKHRo
aXJkUGFydHlPcmlnaW4pKQorICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoIkxvY2FsaG9zdCB3
YXMgY2xhc3NpZmllZCBhcyBwcmV2YWxlbnQgcmVzb3VyY2UgYmVmb3JlIHRoZSB0ZXN0IHN0YXJ0
cy4iKTsKKyAgICAgICAgICAgIHRlc3RSdW5uZXIuZHVtcENoaWxkRnJhbWVzQXNUZXh0KCk7Cisg
ICAgICAgICAgICBkb2N1bWVudC5sb2NhdGlvbi5oYXNoID0gInN0ZXAxIjsKKyAgICAgICAgICAg
IHJ1blRlc3QoKTsKKyAgICAgICAgfSk7CisgICAgfSBlbHNlIHsKKyAgICAgICAgcnVuVGVzdCgp
OworICAgIH0KKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3JlbW92ZS1ibG9ja2luZy1p
bi1yZWRpcmVjdC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNl
TG9hZFN0YXRpc3RpY3MvcmVtb3ZlLWJsb2NraW5nLWluLXJlZGlyZWN0LWV4cGVjdGVkLnR4dApk
ZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNDAwYTQ5ZTQ0NjBmY2RkMjE0ODU3YjNmMDlk
NWNkNTIyNWFmMjk0Ny4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAot
LS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvcmVtb3Zl
LWJsb2NraW5nLWluLXJlZGlyZWN0LWV4cGVjdGVkLnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDUx
ICswLDAgQEAKLVRlc3RzIHRoYXQgYmxvY2tpbmcgaXMgcmVtb3ZlZCBtaWQtZmxpZ2h0IGluIHJl
ZGlyZWN0cy4KLQotT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBt
ZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgotCi0KLVBBU1Mgc3VjY2Vzc2Z1
bGx5UGFyc2VkIGlzIHRydWUKLQotVEVTVCBDT01QTEVURQotICAKLQotLS0tLS0tLS0KLUZyYW1l
OiAnPCEtLWZyYW1lMS0tPicKLS0tLS0tLS0tCi1TaG91bGQgcmVjZWl2ZSBmaXJzdC1wYXJ0eSBj
b29raWUgZm9yIGxvY2FsaG9zdC4KLURpZCBub3QgcmVjZWl2ZSBjb29raWUgbmFtZWQgJ2ZpcnN0
UGFydHlDb29raWVJUCcuCi1SZWNlaXZlZCBjb29raWUgbmFtZWQgJ2ZpcnN0UGFydHlDb29raWVM
b2NhbGhvc3QnLgotRGlkIG5vdCByZWNlaXZlIGNvb2tpZSBuYW1lZCAndGhpcmRQYXJ0eUNvb2tp
ZScuCi1DbGllbnQtc2lkZSBkb2N1bWVudC5jb29raWU6IGZpcnN0UGFydHlDb29raWVMb2NhbGhv
c3Q9bG9jYWxob3N0Ci0KLS0tLS0tLS0tCi1GcmFtZTogJzwhLS1mcmFtZTItLT4nCi0tLS0tLS0t
LQotUmVkaXJlY3QgY2FzZSAxLCBzaG91bGQgcmVjZWl2ZSBmaXJzdC1wYXJ0eSBjb29raWUgZm9y
IDEyNy4wLjAuMS4KLVJlY2VpdmVkIGNvb2tpZSBuYW1lZCAnZmlyc3RQYXJ0eUNvb2tpZUlQJy4K
LURpZCBub3QgcmVjZWl2ZSBjb29raWUgbmFtZWQgJ2ZpcnN0UGFydHlDb29raWVMb2NhbGhvc3Qn
LgotRGlkIG5vdCByZWNlaXZlIGNvb2tpZSBuYW1lZCAndGhpcmRQYXJ0eUNvb2tpZScuCi1DbGll
bnQtc2lkZSBkb2N1bWVudC5jb29raWU6IGZpcnN0UGFydHlDb29raWVJUD0xMjcuMC4wLjEKLQot
LS0tLS0tLS0KLUZyYW1lOiAnPCEtLWZyYW1lMy0tPicKLS0tLS0tLS0tCi1UcnkgdG8gc2V0IHRo
aXJkLXBhcnR5IGNvb2tpZSBmb3IgbG9jYWxob3N0IGluIGJsb2NrZWQgbW9kZS4KLQotCi0tLS0t
LS0tLQotRnJhbWU6ICc8IS0tZnJhbWU0LS0+JwotLS0tLS0tLS0KLVNob3VsZCByZWNlaXZlIG5v
IGNvb2tpZS4KLURpZCBub3QgcmVjZWl2ZSBjb29raWUgbmFtZWQgJ2ZpcnN0UGFydHlDb29raWVJ
UCcuCi1EaWQgbm90IHJlY2VpdmUgY29va2llIG5hbWVkICdmaXJzdFBhcnR5Q29va2llTG9jYWxo
b3N0Jy4KLURpZCBub3QgcmVjZWl2ZSBjb29raWUgbmFtZWQgJ3RoaXJkUGFydHlDb29raWUnLgot
Q2xpZW50LXNpZGUgZG9jdW1lbnQuY29va2llOgotCi0tLS0tLS0tLQotRnJhbWU6ICc8IS0tZnJh
bWU1LS0+JwotLS0tLS0tLS0KLVJlZGlyZWN0IGNhc2UgMiwgc2hvdWxkIHJlY2VpdmUgZmlyc3Qt
cGFydHkgY29va2llIGZvciAxMjcuMC4wLjEuCi1SZWNlaXZlZCBjb29raWUgbmFtZWQgJ2ZpcnN0
UGFydHlDb29raWVJUCcuCi1EaWQgbm90IHJlY2VpdmUgY29va2llIG5hbWVkICdmaXJzdFBhcnR5
Q29va2llTG9jYWxob3N0Jy4KLURpZCBub3QgcmVjZWl2ZSBjb29raWUgbmFtZWQgJ3RoaXJkUGFy
dHlDb29raWUnLgotQ2xpZW50LXNpZGUgZG9jdW1lbnQuY29va2llOiBmaXJzdFBhcnR5Q29va2ll
SVA9MTI3LjAuMC4xCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNl
TG9hZFN0YXRpc3RpY3MvcmVtb3ZlLWJsb2NraW5nLWluLXJlZGlyZWN0Lmh0bWwgYi9MYXlvdXRU
ZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvcmVtb3ZlLWJsb2NraW5nLWlu
LXJlZGlyZWN0Lmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGUwMGNhMzZmOGVk
NjJmODI1ZWE5YzVkYjAxOWMxZDQwM2FhYjUwODkuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRT
dGF0aXN0aWNzL3JlbW92ZS1ibG9ja2luZy1pbi1yZWRpcmVjdC5odG1sCisrKyAvZGV2L251bGwK
QEAgLTEsOTkgKzAsMCBAQAotPCFET0NUWVBFIGh0bWw+Ci08aHRtbCBsYW5nPSJlbiI+Ci08aGVh
ZD4KLSAgICA8bWV0YSBjaGFyc2V0PSJVVEYtOCI+Ci0gICAgPHNjcmlwdCBzcmM9Ii9qcy10ZXN0
LXJlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KLSAgICA8c2NyaXB0IHNyYz0icmVzb3Vy
Y2VzL3V0aWwuanMiPjwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHk+Ci08c2NyaXB0PgotICAgIGRl
c2NyaXB0aW9uKCJUZXN0cyB0aGF0IGJsb2NraW5nIGlzIHJlbW92ZWQgbWlkLWZsaWdodCBpbiBy
ZWRpcmVjdHMuIik7Ci0gICAganNUZXN0SXNBc3luYyA9IHRydWU7Ci0KLSAgICBjb25zdCBwYXJ0
aXRpb25Ib3N0ID0gIjEyNy4wLjAuMTo4MDAwIjsKLSAgICBjb25zdCB0aGlyZFBhcnR5T3JpZ2lu
ID0gImh0dHA6Ly9sb2NhbGhvc3Q6ODAwMCI7Ci0gICAgY29uc3QgcmVzb3VyY2VQYXRoID0gIi9y
ZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3Jlc291cmNlcyI7Ci0gICAgY29uc3QgdGhpcmRQYXJ0eUJh
c2VVcmwgPSB0aGlyZFBhcnR5T3JpZ2luICsgcmVzb3VyY2VQYXRoOwotICAgIGNvbnN0IGZpcnN0
UGFydHlDb29raWVOYW1lUHJlZml4ID0gImZpcnN0UGFydHlDb29raWUiOwotICAgIGNvbnN0IGZp
cnN0UGFydHlDb29raWVOYW1lSVAgPSBmaXJzdFBhcnR5Q29va2llTmFtZVByZWZpeCArICJJUCI7
Ci0gICAgY29uc3QgZmlyc3RQYXJ0eUNvb2tpZU5hbWVMb2NhbGhvc3QgPSBmaXJzdFBhcnR5Q29v
a2llTmFtZVByZWZpeCArICJMb2NhbGhvc3QiOwotICAgIGNvbnN0IHRoaXJkUGFydHlDb29raWVO
YW1lID0gInRoaXJkUGFydHlDb29raWUiOwotICAgIGNvbnN0IHN1YlBhdGhUb1NldFRoaXJkUGFy
dHlDb29raWUgPSAiL3NldC1jb29raWUucGhwP25hbWU9IiArIHRoaXJkUGFydHlDb29raWVOYW1l
ICsgIiZ2YWx1ZT12YWx1ZSI7Ci0gICAgY29uc3Qgc3ViUGF0aFRvR2V0Q29va2llcyA9ICIvZ2V0
LWNvb2tpZXMucGhwP25hbWUxPSIgKyBmaXJzdFBhcnR5Q29va2llTmFtZUlQICsgIiZuYW1lMj0i
ICsgZmlyc3RQYXJ0eUNvb2tpZU5hbWVMb2NhbGhvc3QgKyAiJm5hbWUzPSIgKyB0aGlyZFBhcnR5
Q29va2llTmFtZTsKLSAgICBjb25zdCByZWRpcmVjdENoYWluVXJsID0gdGhpcmRQYXJ0eU9yaWdp
biArIHJlc291cmNlUGF0aCArICIvcmVkaXJlY3QucGhwP3JlZGlyZWN0VG89aHR0cDovLyIgKyBw
YXJ0aXRpb25Ib3N0ICsgcmVzb3VyY2VQYXRoICsgc3ViUGF0aFRvR2V0Q29va2llczsKLQotICAg
IGZ1bmN0aW9uIG9wZW5JZnJhbWUodXJsLCBvbkxvYWRIYW5kbGVyKSB7Ci0gICAgICAgIGNvbnN0
IGVsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJpZnJhbWUiKTsKLSAgICAgICAgZWxl
bWVudC5zcmMgPSB1cmw7Ci0gICAgICAgIGlmIChvbkxvYWRIYW5kbGVyKSB7Ci0gICAgICAgICAg
ICBlbGVtZW50Lm9ubG9hZCA9IG9uTG9hZEhhbmRsZXI7Ci0gICAgICAgIH0KLSAgICAgICAgZG9j
dW1lbnQuYm9keS5hcHBlbmRDaGlsZChlbGVtZW50KTsKLSAgICB9Ci0KLSAgICBmdW5jdGlvbiBy
dW5UZXN0KCkgewotICAgICAgICBzd2l0Y2ggKGRvY3VtZW50LmxvY2F0aW9uLmhhc2gpIHsKLSAg
ICAgICAgICAgIGNhc2UgIiNzdGVwMSI6Ci0gICAgICAgICAgICAgICAgLy8gU2V0IGZpcnN0LXBh
cnR5IGNvb2tpZXMgZm9yIDEyNy4wLjAuMSBhbmQgbG9jYWxob3N0LgotICAgICAgICAgICAgICAg
IGlmIChkb2N1bWVudC5sb2NhdGlvbi5vcmlnaW4gPT09IHRoaXJkUGFydHlPcmlnaW4pIHsKLSAg
ICAgICAgICAgICAgICAgICAgZG9jdW1lbnQuY29va2llID0gZmlyc3RQYXJ0eUNvb2tpZU5hbWVM
b2NhbGhvc3QgKyAiPWxvY2FsaG9zdDtwYXRoPScvJyI7Ci0gICAgICAgICAgICAgICAgICAgIGRv
Y3VtZW50LmxvY2F0aW9uLmhyZWYgPSAiaHR0cDovLzEyNy4wLjAuMTo4MDAwL3Jlc291cmNlTG9h
ZFN0YXRpc3RpY3MvcmVtb3ZlLWJsb2NraW5nLWluLXJlZGlyZWN0Lmh0bWwjc3RlcDIiOwotICAg
ICAgICAgICAgICAgIH0gZWxzZSB7Ci0gICAgICAgICAgICAgICAgICAgIGRvY3VtZW50LmNvb2tp
ZSA9IGZpcnN0UGFydHlDb29raWVOYW1lSVAgKyAiPTEyNy4wLjAuMTtwYXRoPScvJyI7Ci0gICAg
ICAgICAgICAgICAgICAgIGRvY3VtZW50LmxvY2F0aW9uLmhyZWYgPSAiaHR0cDovL2xvY2FsaG9z
dDo4MDAwL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvcmVtb3ZlLWJsb2NraW5nLWluLXJlZGlyZWN0
Lmh0bWwjc3RlcDEiOwotICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICBicmVhazsK
LSAgICAgICAgICAgIGNhc2UgIiNzdGVwMiI6Ci0gICAgICAgICAgICAgICAgLy8gQ2hlY2sgdGhh
dCB0aGUgY29va2llIGdldHMgc2VudCBmb3IgbG9jYWxob3N0IHVuZGVyIDEyNy4wLjAuMSBzaW5j
ZSBsb2NhbGhvc3QgaXMgbm90IHByZXZhbGVudC4KLSAgICAgICAgICAgICAgICBkb2N1bWVudC5s
b2NhdGlvbi5oYXNoID0gInN0ZXAzIjsKLSAgICAgICAgICAgICAgICBvcGVuSWZyYW1lKHRoaXJk
UGFydHlCYXNlVXJsICsgc3ViUGF0aFRvR2V0Q29va2llcyArICImbWVzc2FnZT1TaG91bGQgcmVj
ZWl2ZSBmaXJzdC1wYXJ0eSBjb29raWUgZm9yIGxvY2FsaG9zdC4iLCBydW5UZXN0KTsKLSAgICAg
ICAgICAgICAgICBicmVhazsKLSAgICAgICAgICAgIGNhc2UgIiNzdGVwMyI6Ci0gICAgICAgICAg
ICAgICAgZG9jdW1lbnQubG9jYXRpb24uaGFzaCA9ICJzdGVwNCI7Ci0gICAgICAgICAgICAgICAg
Ly8gTG9hZCBhbiBpZnJhbWUgaW4gYSByZWRpcmVjdCBjaGFpbiB0aGF0IHN0YXJ0cyB3aXRoIGxv
Y2FsaG9zdCBhbmQgZW5kcyB3aXRoIDEyNy4wLjAuMS4gRXhwZWN0IGEgY29va2llIGZvciAxMjcu
MC4wLjEuCi0gICAgICAgICAgICAgICAgb3BlbklmcmFtZShyZWRpcmVjdENoYWluVXJsICsgIiZt
ZXNzYWdlPVJlZGlyZWN0IGNhc2UgMSwgc2hvdWxkIHJlY2VpdmUgZmlyc3QtcGFydHkgY29va2ll
IGZvciAxMjcuMC4wLjEuIiwgcnVuVGVzdCk7Ci0gICAgICAgICAgICAgICAgYnJlYWs7Ci0gICAg
ICAgICAgICBjYXNlICIjc3RlcDQiOgotICAgICAgICAgICAgICAgIC8vIFNldCBsb2NhbGhvc3Qg
YXMgcHJldmFsZW50IHRvIHB1dCBpdCBpbiB0aGUgYmxvY2tpbmcgY2F0ZWdvcnkuCi0gICAgICAg
ICAgICAgICAgZG9jdW1lbnQubG9jYXRpb24uaGFzaCA9ICJzdGVwNSI7Ci0gICAgICAgICAgICAg
ICAgdGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNzUHJldmFsZW50UmVzb3VyY2UodGhpcmRQYXJ0eU9y
aWdpbiwgdHJ1ZSwgZnVuY3Rpb24oKSB7Ci0gICAgICAgICAgICAgICAgICAgIGlmICghdGVzdFJ1
bm5lci5pc1N0YXRpc3RpY3NQcmV2YWxlbnRSZXNvdXJjZSh0aGlyZFBhcnR5T3JpZ2luKSkKLSAg
ICAgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoIkhvc3QgZGlkIG5vdCBnZXQgc2V0IGFz
IHByZXZhbGVudCByZXNvdXJjZS4iKTsKLSAgICAgICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5z
dGF0aXN0aWNzVXBkYXRlQ29va2llQmxvY2tpbmcocnVuVGVzdCk7Ci0gICAgICAgICAgICAgICAg
fSk7Ci0gICAgICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgICAgICBjYXNlICIjc3RlcDUiOgot
ICAgICAgICAgICAgICAgIC8vIFRyeSB0byBzZXQgcGFydGl0aW9uZWQgY29va2llIGZvciBsb2Nh
bGhvc3QgdW5kZXIgMTI3LjAuMC4xLgotICAgICAgICAgICAgICAgIGRvY3VtZW50LmxvY2F0aW9u
Lmhhc2ggPSAic3RlcDYiOwotICAgICAgICAgICAgICAgIG9wZW5JZnJhbWUodGhpcmRQYXJ0eUJh
c2VVcmwgKyBzdWJQYXRoVG9TZXRUaGlyZFBhcnR5Q29va2llICsgIiZtZXNzYWdlPVRyeSB0byBz
ZXQgdGhpcmQtcGFydHkgY29va2llIGZvciBsb2NhbGhvc3QgaW4gYmxvY2tlZCBtb2RlLiIsIHJ1
blRlc3QpOwotICAgICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICAgICAgY2FzZSAiI3N0ZXA2
IjoKLSAgICAgICAgICAgICAgICAvLyBDaGVjayB0aGF0IG5vIGNvb2tpZSBnZXRzIHNlbnQgZm9y
IGxvY2FsaG9zdCB1bmRlciAxMjcuMC4wLjEgc2luY2UgbG9jYWxob3N0J3MgY29va2llcyBhcmUg
YmxvY2tlZC4KLSAgICAgICAgICAgICAgICBkb2N1bWVudC5sb2NhdGlvbi5oYXNoID0gInN0ZXA3
IjsKLSAgICAgICAgICAgICAgICBvcGVuSWZyYW1lKHRoaXJkUGFydHlCYXNlVXJsICsgc3ViUGF0
aFRvR2V0Q29va2llcyArICAiJm1lc3NhZ2U9U2hvdWxkIHJlY2VpdmUgbm8gY29va2llLiIsIHJ1
blRlc3QpOwotICAgICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICAgICAgY2FzZSAiI3N0ZXA3
IjoKLSAgICAgICAgICAgICAgICAvLyBMb2FkIGFuIGlmcmFtZSBpbiBhIHJlZGlyZWN0IGNoYWlu
IHRoYXQgc3RhcnRzIHdpdGggbG9jYWxob3N0IGFuZCBlbmRzIHdpdGggMTI3LjAuMC4xLiBFeHBl
Y3QgYSBjb29raWUgZm9yIDEyNy4wLjAuMS4KLSAgICAgICAgICAgICAgICBkb2N1bWVudC5sb2Nh
dGlvbi5oYXNoID0gInN0ZXA4IjsKLSAgICAgICAgICAgICAgICBvcGVuSWZyYW1lKHJlZGlyZWN0
Q2hhaW5VcmwgKyAiJm1lc3NhZ2U9UmVkaXJlY3QgY2FzZSAyLCBzaG91bGQgcmVjZWl2ZSBmaXJz
dC1wYXJ0eSBjb29raWUgZm9yIDEyNy4wLjAuMS4iLCBydW5UZXN0KTsKLSAgICAgICAgICAgICAg
ICBicmVhazsKLSAgICAgICAgICAgIGNhc2UgIiNzdGVwOCI6Ci0gICAgICAgICAgICAgICAgc2V0
RW5hYmxlRmVhdHVyZShmYWxzZSwgZmluaXNoSlNUZXN0KTsKLSAgICAgICAgICAgICAgICBicmVh
azsKLSAgICAgICAgfQotICAgIH0KLQotICAgIGlmIChkb2N1bWVudC5sb2NhdGlvbi5oYXNoID09
PSAiIikgewotICAgICAgICBzZXRFbmFibGVGZWF0dXJlKHRydWUsIGZ1bmN0aW9uKCkgewotICAg
ICAgICAgICAgaWYgKHRlc3RSdW5uZXIuaXNTdGF0aXN0aWNzUHJldmFsZW50UmVzb3VyY2UodGhp
cmRQYXJ0eU9yaWdpbikpCi0gICAgICAgICAgICAgICAgdGVzdEZhaWxlZCgiTG9jYWxob3N0IHdh
cyBjbGFzc2lmaWVkIGFzIHByZXZhbGVudCByZXNvdXJjZSBiZWZvcmUgdGhlIHRlc3Qgc3RhcnRz
LiIpOwotICAgICAgICAgICAgdGVzdFJ1bm5lci5kdW1wQ2hpbGRGcmFtZXNBc1RleHQoKTsKLSAg
ICAgICAgICAgIGRvY3VtZW50LmxvY2F0aW9uLmhhc2ggPSAic3RlcDEiOwotICAgICAgICAgICAg
cnVuVGVzdCgpOwotICAgICAgICB9KTsKLSAgICB9IGVsc2UgewotICAgICAgICBydW5UZXN0KCk7
Ci0gICAgfQotPC9zY3JpcHQ+Ci08L2JvZHk+Ci08L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9wbGF0Zm9ybS9pb3MvVGVzdEV4cGVjdGF0aW9ucyBiL0xheW91dFRlc3RzL3BsYXRmb3Jt
L2lvcy9UZXN0RXhwZWN0YXRpb25zCmluZGV4IGNjYWMwY2U3ZjRmMDEzYzQ3YjQ1NDk3MjYxNTYw
ZjNkMmRiZTQ1NzUuLmZlMDJkYzU4NmRmODJiNDNjYjg1M2Y1MTE1MzRhZTQwYTAxNDU2ZTggMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2lvcy9UZXN0RXhwZWN0YXRpb25zCisrKyBi
L0xheW91dFRlc3RzL3BsYXRmb3JtL2lvcy9UZXN0RXhwZWN0YXRpb25zCkBAIC0yNzgzLDcgKzI3
ODMsNyBAQCBodHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY29va2llLWRlbGV0aW9u
Lmh0bWwgWyBQYXNzIF0KIGh0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jb29raWVz
LXdpdGgtYW5kLXdpdGhvdXQtdXNlci1pbnRlcmFjdGlvbi5odG1sIFsgUGFzcyBdCiBodHRwL3Rl
c3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3Mvbm9uLXByZXZhbGVudC1yZXNvdXJjZXMtY2FuLWFj
Y2Vzcy1jb29raWVzLWluLWEtdGhpcmQtcGFydHktY29udGV4dC5odG1sIFsgUGFzcyBdCiBodHRw
L3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvYWRkLWJsb2NraW5nLXRvLXJlZGlyZWN0Lmh0
bWwgWyBQYXNzIF0KLWh0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9yZW1vdmUtYmxv
Y2tpbmctaW4tcmVkaXJlY3QuaHRtbCBbIFBhc3MgXQoraHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRT
dGF0aXN0aWNzL2RvLW5vdC1yZW1vdmUtYmxvY2tpbmctaW4tcmVkaXJlY3QuaHRtbCBbIFBhc3Mg
XQogaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2dyYW5kZmF0aGVyaW5nLmh0bWwg
WyBQYXNzIF0KIGh0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jbGVhci1pbi1tZW1v
cnktYW5kLXBlcnNpc3RlbnQtc3RvcmUuaHRtbCBbIFBhc3MgXQogaHR0cC90ZXN0cy9yZXNvdXJj
ZUxvYWRTdGF0aXN0aWNzL2NsZWFyLWluLW1lbW9yeS1hbmQtcGVyc2lzdGVudC1zdG9yZS1vbmUt
aG91ci5odG1sIFsgUGFzcyBdCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMt
d2syL1Rlc3RFeHBlY3RhdGlvbnMgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtd2syL1Rlc3RF
eHBlY3RhdGlvbnMKaW5kZXggMzA3ZWNiZWZhZGI3YWY4Yjc2ZjkxYTVlMDAzY2Y1ZDlkOThhNzFm
ZC4uOWU5Nzc2MGI1MTA1MjhlNzhjMTMwYjllNGM3N2Y3MDhhNDNmZGQ5ZSAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLXdrMi9UZXN0RXhwZWN0YXRpb25zCisrKyBiL0xheW91
dFRlc3RzL3BsYXRmb3JtL21hYy13azIvVGVzdEV4cGVjdGF0aW9ucwpAQCAtNzkxLDcgKzc5MSw3
IEBAIHdlYmtpdC5vcmcvYi8xODU5OTQgZmFzdC90ZXh0L3VzZXItaW5zdGFsbGVkLWZvbnRzL3No
YWRvdy1wb3N0c2NyaXB0LWZhbWlseS5odG1sCiBbIEhpZ2hTaWVycmErIF0gaHR0cC90ZXN0cy9y
ZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2Nvb2tpZS1kZWxldGlvbi5odG1sIFsgUGFzcyBdCiBbIEhp
Z2hTaWVycmErIF0gaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL25vbi1wcmV2YWxl
bnQtcmVzb3VyY2VzLWNhbi1hY2Nlc3MtY29va2llcy1pbi1hLXRoaXJkLXBhcnR5LWNvbnRleHQu
aHRtbCBbIFBhc3MgXQogWyBIaWdoU2llcnJhKyBdIGh0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3Rh
dGlzdGljcy9hZGQtYmxvY2tpbmctdG8tcmVkaXJlY3QuaHRtbCBbIFBhc3MgXQotWyBIaWdoU2ll
cnJhKyBdIGh0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9yZW1vdmUtYmxvY2tpbmct
aW4tcmVkaXJlY3QuaHRtbCBbIFBhc3MgXQorWyBIaWdoU2llcnJhKyBdIGh0dHAvdGVzdHMvcmVz
b3VyY2VMb2FkU3RhdGlzdGljcy9kby1ub3QtcmVtb3ZlLWJsb2NraW5nLWluLXJlZGlyZWN0Lmh0
bWwgWyBQYXNzIF0KIFsgSGlnaFNpZXJyYSsgXSBodHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRp
c3RpY3MvY2xlYXItaW4tbWVtb3J5LWFuZC1wZXJzaXN0ZW50LXN0b3JlLmh0bWwgWyBQYXNzIF0K
IFsgSGlnaFNpZXJyYSsgXSBodHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY2xlYXIt
aW4tbWVtb3J5LWFuZC1wZXJzaXN0ZW50LXN0b3JlLW9uZS1ob3VyLmh0bWwgWyBQYXNzIF0KIFsg
SGlnaFNpZXJyYSsgXSBodHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvZ3JhbmRmYXRo
ZXJpbmcuaHRtbCBbIFBhc3MgXQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2sy
L1Rlc3RFeHBlY3RhdGlvbnMgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93azIvVGVzdEV4cGVjdGF0
aW9ucwppbmRleCAxM2U2ZjAzM2E1YmMzMWFjZWU1NmNjNmFjNThiZmUwNGRiNzg3ZTI4Li43NmE2
ZWRiYjA0ZGM1ZDIzZmE4ZDZjMDliNDUyOGNmOGM4MmE3M2Y1IDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9wbGF0Zm9ybS93azIvVGVzdEV4cGVjdGF0aW9ucworKysgYi9MYXlvdXRUZXN0cy9wbGF0
Zm9ybS93azIvVGVzdEV4cGVjdGF0aW9ucwpAQCAtNzM1LDcgKzczNSw3IEBAIGh0dHAvdGVzdHMv
cmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jb29raWVzLXdpdGgtYW5kLXdpdGhvdXQtdXNlci1pbnRl
cmFjdGlvbi5odG1sCiBodHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3Mvc3RyaXAtcmVm
ZXJyZXItdG8tb3JpZ2luLWZvci1wcmV2YWxlbnQtc3VicmVzb3VyY2UtcmVkaXJlY3RzLmh0bWwg
WyBTa2lwIF0KIGh0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9zdHJpcC1yZWZlcnJl
ci10by1vcmlnaW4tZm9yLXByZXZhbGVudC1zdWJyZXNvdXJjZS1yZXF1ZXN0cy5odG1sIFsgU2tp
cCBdCiBodHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvYWRkLWJsb2NraW5nLXRvLXJl
ZGlyZWN0Lmh0bWwgWyBTa2lwIF0KLWh0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9y
ZW1vdmUtYmxvY2tpbmctaW4tcmVkaXJlY3QuaHRtbCBbIFNraXAgXQoraHR0cC90ZXN0cy9yZXNv
dXJjZUxvYWRTdGF0aXN0aWNzL2RvLW5vdC1yZW1vdmUtYmxvY2tpbmctaW4tcmVkaXJlY3QuaHRt
bCBbIFNraXAgXQogaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL25vbi1wcmV2YWxl
bnQtcmVzb3VyY2VzLWNhbi1hY2Nlc3MtY29va2llcy1pbi1hLXRoaXJkLXBhcnR5LWNvbnRleHQu
aHRtbCBbIFNraXAgXQogaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NhcC1jYWNo
ZS1tYXgtYWdlLWZvci1wcmV2YWxlbnQtcmVzb3VyY2UuaHRtbCBbIFNraXAgXQogCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>