<?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>147231</bug_id>
          
          <creation_ts>2015-07-23 12:25:26 -0700</creation_ts>
          <short_desc>Web Inspector: rewrite inspector-protocol/console tests to use new testing patterns</short_desc>
          <delta_ts>2015-07-23 16:21:57 -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>Web Inspector</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</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>
          
          <blocked>147093</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Brian Burg">burg</reporter>
          <assigned_to name="Brian Burg">burg</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>graouts</cc>
    
    <cc>joepeck</cc>
    
    <cc>jonowells</cc>
    
    <cc>mattbaker</cc>
    
    <cc>nvasilyev</cc>
    
    <cc>timothy</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1111687</commentid>
    <comment_count>0</comment_count>
    <who name="Brian Burg">burg</who>
    <bug_when>2015-07-23 12:25:26 -0700</bug_when>
    <thetext>These are currently poorly structured. This is also a simple test case for improving the way that tests listen for events (both with and without promises).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1111688</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2015-07-23 12:25:47 -0700</bug_when>
    <thetext>&lt;rdar://problem/21966884&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1111692</commentid>
    <comment_count>2</comment_count>
      <attachid>257362</attachid>
    <who name="Brian Burg">burg</who>
    <bug_when>2015-07-23 12:34:44 -0700</bug_when>
    <thetext>Created attachment 257362
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1111744</commentid>
    <comment_count>3</comment_count>
      <attachid>257362</attachid>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2015-07-23 14:15:26 -0700</bug_when>
    <thetext>Comment on attachment 257362
Patch

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

r=me

&gt; LayoutTests/ChangeLog:29
&gt; +        * inspector-protocol/console/console-message-expected.txt:
&gt; +        * inspector-protocol/console/console-message.html:

I&apos;d rather we just favor the LayoutTest/inspector/console tests, and remove these. But maybe I&apos;ll too idealistic.

&gt; LayoutTests/http/tests/inspector-protocol/resources/InspectorTest.js:42
&gt; +    if (typeof methodOrObject === &quot;object&quot;) {
&gt; +        var {method, params, handler} = methodOrObject;
&gt; +    }

Style: braces

&gt; LayoutTests/http/tests/inspector-protocol/resources/InspectorTest.js:91
&gt; +    else if (typeof listeners == &quot;function&quot;)

Style: ===

&gt; LayoutTests/inspector-protocol/console/console-message-expected.txt:8
&gt; +Running test case: ConsoleLogString

Would be nice to output newlines before running test cases to break the output up a bit and make it more readable.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1111759</commentid>
    <comment_count>4</comment_count>
      <attachid>257362</attachid>
    <who name="Brian Burg">burg</who>
    <bug_when>2015-07-23 14:31:07 -0700</bug_when>
    <thetext>Comment on attachment 257362
Patch

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

&gt;&gt; LayoutTests/ChangeLog:29
&gt;&gt; +        * inspector-protocol/console/console-message.html:
&gt; 
&gt; I&apos;d rather we just favor the LayoutTest/inspector/console tests, and remove these. But maybe I&apos;ll too idealistic.

I&apos;m coming around to your point of view. However, there are some hardcoded path comparisons in DRT/WKTR that decide whether to use the stub or full frontend based on where the test lives. So this would be a separate patch.

&gt;&gt; LayoutTests/inspector-protocol/console/console-message-expected.txt:8
&gt;&gt; +Running test case: ConsoleLogString
&gt; 
&gt; Would be nice to output newlines before running test cases to break the output up a bit and make it more readable.

Agree, might as well make the change now before it spreads.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1111768</commentid>
    <comment_count>5</comment_count>
      <attachid>257389</attachid>
    <who name="Brian Burg">burg</who>
    <bug_when>2015-07-23 15:00:13 -0700</bug_when>
    <thetext>Created attachment 257389
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1111787</commentid>
    <comment_count>6</comment_count>
      <attachid>257389</attachid>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2015-07-23 15:32:55 -0700</bug_when>
    <thetext>Comment on attachment 257389
Patch for landing

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1111813</commentid>
    <comment_count>7</comment_count>
      <attachid>257389</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-07-23 16:21:53 -0700</bug_when>
    <thetext>Comment on attachment 257389
Patch for landing

Clearing flags on attachment: 257389

Committed r187269: &lt;http://trac.webkit.org/changeset/187269&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1111814</commentid>
    <comment_count>8</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-07-23 16:21:57 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>257362</attachid>
            <date>2015-07-23 12:34:44 -0700</date>
            <delta_ts>2015-07-23 15:00:10 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-147231-20150723123332.patch</filename>
            <type>text/plain</type>
            <size>27899</size>
            <attacher name="Brian Burg">burg</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTg3MDQ2CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFu
Z2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggYjg0YjM3YzA1NzNmYjhlODljMGY0
NTM4YzQwNTQ3MjY1NWVjNjkyNy4uOTE3MzkzM2QzMmFhMjVmNmJkOTM1ZjdjZTE5MGJkOGQzYjIz
MmU5MiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3Rz
L0NoYW5nZUxvZwpAQCAtMSwzICsxLDM5IEBACisyMDE1LTA3LTIzICBCcmlhbiBKLiBCdXJnICA8
YnVyZ0Bjcy53YXNoaW5ndG9uLmVkdT4KKworICAgICAgICBXZWIgSW5zcGVjdG9yOiByZXdyaXRl
IGluc3BlY3Rvci1wcm90b2NvbC9jb25zb2xlIHRlc3RzIHRvIHVzZSBuZXcgdGVzdGluZyBwYXR0
ZXJucworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTQ3
MjMxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgUmVz
dHJ1Y3R1cmUgZXhpc3RpbmcgcHJvdG9jb2wgdGVzdHMgZm9yIENvbnNvbGUubWVzc2FnZUFkZGVk
IHRvIHVzZSBQcm9taXNlcyBhbmQKKyAgICAgICAgbW9kZXJuIGV2ZW50IGxpc3RlbmVyIHRlc3Qg
aW50ZXJmYWNlcy4gQWRkIHNvbWUgbmV3IGZ1bmN0aW9uYWxpdHkgdG8gbWFrZSBpdCBlYXNpZXIK
KyAgICAgICAgaW5zdGFsbCBtdWx0aXBsZSBwcm90b2NvbCBldmVudCBsaXN0ZW5lcnMgd2l0aG91
dCBjbG9iYmVyaW5nLgorCisgICAgICAgIFRoaXMgdGVzdCBhbHNvIHNwbGl0cyB3YXJuaW5ncy1l
cnJvcnMuaHRtbCBpbnRvIHR3byB0ZXN0cywgb25lIHRvIGNvdmVyIENTUyBwYXJzZXIKKyAgICAg
ICAgd2FybmluZ3MgYW5kIG9uZSBmb3IgSmF2YVNjcmlwdCBwYXJzZXIgYW5kIHJ1bnRpbWUgZXJy
b3JzLgorCisgICAgICAgICogaHR0cC90ZXN0cy9pbnNwZWN0b3ItcHJvdG9jb2wvcmVzb3VyY2Vz
L0luc3BlY3RvclRlc3QuanM6CisgICAgICAgIChJbnNwZWN0b3JUZXN0LnNlbmRDb21tYW5kKTog
U3VwcG9ydCBhcmd1bWVudHMgcGFja2FnZWQgaW4gYW4gb2JqZWN0LiBUaGlzIHN0eWxlIGlzIHBy
ZWZlcmFibGUKKyAgICAgICAgaW4gdGVzdHMgYmVjYXVzZSBpdCBpcyB2ZXJ5IGV4cGxpY2l0IGFi
b3V0IHdoYXQgZnVuY3Rpb25hbGl0eSBhbmQgbWVzc2FnZXMgYXJlIGNvdmVyZWQuCisKKyAgICAg
ICAgKEluc3BlY3RvclRlc3QuYXdhaXRFdmVudCk6IEFkZGVkLiBUaGlzIGlzIGEgc2luZ2xlLXNo
b3QgZXZlbnQgbGlzdGVuZXIgdGhhdCByZXNvbHZlcyBhCisgICAgICAgIHByb21pc2Ugd2hlbiB0
aGUgZGVzaXJlZCBwcm90b2NvbCBldmVudCBpcyBkaXNwYXRjaGVkLgorCisgICAgICAgIChJbnNw
ZWN0b3JUZXN0LmFkZEV2ZW50TGlzdGVuZXIpOiBSZWltcGxlbWVudGVkLCBiYXNlZCBvbiBjb2Rl
IGZyb20gV2ViSW5zcGVjdG9yLk9iamVjdC4KKyAgICAgICAgQWxsb3dzIG11bHRpcGxlIGxpc3Rl
bmVycyB0byBiZSByZWdpc3RlcmVkIGZvciBhIHNpbmdsZSBwcm90b2NvbCBldmVudC4KKworICAg
ICAgICAoSW5zcGVjdG9yRnJvbnRlbmRBUEkuZGlzcGF0Y2hNZXNzYWdlQXN5bmMpOiBEaXNwYXRj
aCB0byBhbiBhcnJheSBvZiBsaXN0ZW5lcnMgaWYgYXZhaWxhYmxlLgorICAgICAgICAoSW5zcGVj
dG9yVGVzdC5pbXBvcnRTY3JpcHQpOiBDbGFyaWZ5IHRoYXQgdGhpcyBtZXRob2QgcGVyZm9ybXMg
YSBzeW5jaHJvbm91cyBsb2FkLgorICAgICAgICAoLkluc3BlY3RvclRlc3QuZXZlbnRIYW5kbGVy
LmV2ZW50TmFtZSk6IERlbGV0ZWQuCisgICAgICAgICogaW5zcGVjdG9yLXByb3RvY29sL2NvbnNv
bGUvY29uc29sZS1tZXNzYWdlLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBpbnNwZWN0b3ItcHJv
dG9jb2wvY29uc29sZS9jb25zb2xlLW1lc3NhZ2UuaHRtbDoKKyAgICAgICAgKiBpbnNwZWN0b3It
cHJvdG9jb2wvY29uc29sZS9jc3Mtc291cmNlLWxvY2F0aW9ucy1leHBlY3RlZC50eHQ6IEFkZGVk
LgorICAgICAgICAqIGluc3BlY3Rvci1wcm90b2NvbC9jb25zb2xlL2Nzcy1zb3VyY2UtbG9jYXRp
b25zLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGluc3BlY3Rvci1wcm90b2NvbC9jb25zb2xlL2pz
LXNvdXJjZS1sb2NhdGlvbnMtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBpbnNwZWN0
b3ItcHJvdG9jb2wvY29uc29sZS9qcy1zb3VyY2UtbG9jYXRpb25zLmh0bWw6IEFkZGVkLgorICAg
ICAgICAqIGluc3BlY3Rvci1wcm90b2NvbC9jb25zb2xlL3dhcm5pbmdzLWVycm9ycy1leHBlY3Rl
ZC50eHQ6IFJlbW92ZWQuCisgICAgICAgICogaW5zcGVjdG9yLXByb3RvY29sL2NvbnNvbGUvd2Fy
bmluZ3MtZXJyb3JzLmh0bWw6IFJlbW92ZWQuCisKIDIwMTUtMDctMjAgIEJyaWFuIEouIEJ1cmcg
IDxidXJnQGNzLndhc2hpbmd0b24uZWR1PgogCiAgICAgICAgIFdlYiBJbnNwZWN0b3I6IHN0YXJ0
IHVzaW5nIFByb21pc2VzIHRvIGhhbmRsZSBhc3luY2hyb25vdXMgc3RlcHMgaW4gcHJvdG9jb2wg
dGVzdHMKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9yLXByb3Rv
Y29sL3Jlc291cmNlcy9JbnNwZWN0b3JUZXN0LmpzIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9p
bnNwZWN0b3ItcHJvdG9jb2wvcmVzb3VyY2VzL0luc3BlY3RvclRlc3QuanMKaW5kZXggM2M2OWZi
NjQ5ZTg1NWExNmIxN2ZlNjVhM2EwNWNhMmMxOGYxOTIwMy4uMmQwNzcyMmE2YTBhNDg1NDJjODRk
NTA1YmEzNDg4MzRlY2UwZmYzYSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9p
bnNwZWN0b3ItcHJvdG9jb2wvcmVzb3VyY2VzL0luc3BlY3RvclRlc3QuanMKKysrIGIvTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0b3ItcHJvdG9jb2wvcmVzb3VyY2VzL0luc3BlY3RvclRl
c3QuanMKQEAgLTMzLDggKzMzLDE0IEBAIEluc3BlY3RvclRlc3QuZXZlbnRIYW5kbGVyID0ge307
CiBJbnNwZWN0b3JUZXN0LmR1bXBJbnNwZWN0b3JQcm90b2NvbE1lc3NhZ2VzID0gZmFsc2U7CiBJ
bnNwZWN0b3JUZXN0LmZvcmNlU3luY0RlYnVnTG9nZ2luZyA9IGZhbHNlOwogCi1JbnNwZWN0b3JU
ZXN0LnNlbmRDb21tYW5kID0gZnVuY3Rpb24obWV0aG9kLCBwYXJhbXMsIGhhbmRsZXIpCitJbnNw
ZWN0b3JUZXN0LnNlbmRDb21tYW5kID0gZnVuY3Rpb24obWV0aG9kT3JPYmplY3QsIHBhcmFtcywg
aGFuZGxlcikKIHsKKyAgICAvLyBBbGxvdyBuZXctc3R5bGUgYXJndW1lbnRzIG9iamVjdCwgYXMg
aW4gYXdhaXRDb21tYW5kLgorICAgIHZhciBtZXRob2QgPSBtZXRob2RPck9iamVjdDsKKyAgICBp
ZiAodHlwZW9mIG1ldGhvZE9yT2JqZWN0ID09PSAib2JqZWN0IikgeworICAgICAgICB2YXIge21l
dGhvZCwgcGFyYW1zLCBoYW5kbGVyfSA9IG1ldGhvZE9yT2JqZWN0OworICAgIH0KKwogICAgIHRo
aXMuX2Rpc3BhdGNoVGFibGVbKyt0aGlzLl9yZXF1ZXN0SWRdID0gaGFuZGxlcjsKICAgICB2YXIg
bWVzc2FnZU9iamVjdCA9IHttZXRob2QsIHBhcmFtcywgImlkIjogdGhpcy5fcmVxdWVzdElkfTsK
ICAgICB0aGlzLnNlbmRNZXNzYWdlKG1lc3NhZ2VPYmplY3QpOwpAQCAtNTIsNiArNTgsNDYgQEAg
SW5zcGVjdG9yVGVzdC5hd2FpdENvbW1hbmQgPSBmdW5jdGlvbihhcmdzKQogICAgIH0uYmluZCh0
aGlzKSk7CiB9CiAKK0luc3BlY3RvclRlc3QuYXdhaXRFdmVudCA9IGZ1bmN0aW9uKGFyZ3MpCit7
CisgICAgdmFyIHtldmVudH0gPSBhcmdzOworICAgIGlmICh0eXBlb2YgZXZlbnQgIT09ICJzdHJp
bmciKQorICAgICAgICB0aHJvdyBuZXcgRXJyb3IoIkV2ZW50IG11c3QgYmUgYSBzdHJpbmcuIik7
CisKKyAgICByZXR1cm4gbmV3IFByb21pc2UoZnVuY3Rpb24ocmVzb2x2ZSwgcmVqZWN0KSB7Cisg
ICAgICAgIEluc3BlY3RvclRlc3QuZXZlbnRIYW5kbGVyW2V2ZW50XSA9IGZ1bmN0aW9uKG1lc3Nh
Z2UpIHsKKyAgICAgICAgICAgIEluc3BlY3RvclRlc3QuZXZlbnRIYW5kbGVyW2V2ZW50XSA9IHVu
ZGVmaW5lZDsKKyAgICAgICAgICAgIHJlc29sdmUobWVzc2FnZSk7CisgICAgICAgIH0KKyAgICB9
KTsKK30KKworSW5zcGVjdG9yVGVzdC5hZGRFdmVudExpc3RlbmVyID0gZnVuY3Rpb24oZXZlbnRU
eXBlT3JPYmplY3QsIGxpc3RlbmVyKQoreworICAgIHZhciBldmVudCA9IGV2ZW50VHlwZU9yT2Jq
ZWN0OworICAgIGlmICh0eXBlb2YgZXZlbnRUeXBlT3JPYmplY3QgPT09ICJvYmplY3QiKQorICAg
ICAgICB2YXIge2V2ZW50LCBsaXN0ZW5lcn0gPSBldmVudFR5cGVPck9iamVjdDsKKworICAgIGlm
ICh0eXBlb2YgZXZlbnQgIT09ICJzdHJpbmciKQorICAgICAgICB0aHJvdyBuZXcgRXJyb3IoIkV2
ZW50IG5hbWUgbXVzdCBiZSBhIHN0cmluZy4iKTsKKworICAgIGlmICh0eXBlb2YgbGlzdGVuZXIg
IT09ICJmdW5jdGlvbiIpCisgICAgICAgIHRocm93IG5ldyBFcnJvcigiRXZlbnQgbGlzdGVuZXIg
bXVzdCBiZSBjYWxsYWJsZS4iKTsKKworICAgIC8vIENvbnZlcnQgdG8gYW4gYXJyYXkgb2YgbGlz
dGVuZXJzLgorICAgIHZhciBsaXN0ZW5lcnMgPSBJbnNwZWN0b3JUZXN0LmV2ZW50SGFuZGxlcltl
dmVudF07CisgICAgaWYgKCFsaXN0ZW5lcnMpCisgICAgICAgIGxpc3RlbmVycyA9IEluc3BlY3Rv
clRlc3QuZXZlbnRIYW5kbGVyW2V2ZW50XSA9IFtdOworICAgIGVsc2UgaWYgKHR5cGVvZiBsaXN0
ZW5lcnMgPT0gImZ1bmN0aW9uIikKKyAgICAgICAgbGlzdGVuZXJzID0gSW5zcGVjdG9yVGVzdC5l
dmVudEhhbmRsZXJbZXZlbnRdID0gW2xpc3RlbmVyc107CisKKyAgICAvLyBQcmV2ZW50IHJlZ2lz
dGVyaW5nIG11bHRpcGxlIHRpbWVzLgorICAgIGlmIChsaXN0ZW5lcnMuaW5jbHVkZXMobGlzdGVu
ZXIpKQorICAgICAgICB0aHJvdyBuZXcgRXJyb3IoIkNhbm5vdCByZWdpc3RlciB0aGUgc2FtZSBs
aXN0ZW5lciBtb3JlIHRoYW4gb25jZS4iKTsKKworICAgIGxpc3RlbmVycy5wdXNoKGxpc3RlbmVy
KTsKK30KKwogSW5zcGVjdG9yVGVzdC5zZW5kTWVzc2FnZSA9IGZ1bmN0aW9uKG1lc3NhZ2VPYmpl
Y3QpCiB7CiAgICAgLy8gVGhpcyBtYXRjaGVzIHRoZSBkZWJ1ZyBkdW1waW5nIGluIEluc3BlY3Rv
ckJhY2tlbmQsIHdoaWNoIGlzIGJ5cGFzc2VkCkBAIC04Nyw5ICsxMzMsMTMgQEAgSW5zcGVjdG9y
RnJvbnRlbmRBUEkuZGlzcGF0Y2hNZXNzYWdlQXN5bmMgPSBmdW5jdGlvbihtZXNzYWdlT2JqZWN0
KQogICAgICAgICBpZiAoIWhhbmRsZXIpCiAgICAgICAgICAgICByZXR1cm47CiAKLSAgICAgICAg
aWYgKHR5cGVvZiBoYW5kbGVyID09ICJmdW5jdGlvbiIpCisgICAgICAgIGlmICh0eXBlb2YgaGFu
ZGxlciA9PT0gImZ1bmN0aW9uIikKICAgICAgICAgICAgIGhhbmRsZXIobWVzc2FnZU9iamVjdCk7
Ci0gICAgICAgIGVsc2UgaWYgKHR5cGVvZiBoYW5kbGVyID09PSAib2JqZWN0IikgeworICAgICAg
ICBlbHNlIGlmIChoYW5kbGVyIGluc3RhbmNlb2YgQXJyYXkpIHsKKyAgICAgICAgICAgIGhhbmRs
ZXIubWFwKGZ1bmN0aW9uKGxpc3RlbmVyKSB7CisgICAgICAgICAgICAgICAgbGlzdGVuZXIuY2Fs
bChudWxsLCBtZXNzYWdlT2JqZWN0KTsKKyAgICAgICAgICAgIH0pOworICAgICAgICB9IGVsc2Ug
aWYgKHR5cGVvZiBoYW5kbGVyID09PSAib2JqZWN0IikgewogICAgICAgICAgICAgdmFyIHtyZXNv
bHZlLCByZWplY3R9ID0gaGFuZGxlcjsKICAgICAgICAgICAgIGlmICgiZXJyb3IiIGluIG1lc3Nh
Z2VPYmplY3QpCiAgICAgICAgICAgICAgICAgcmVqZWN0KG1lc3NhZ2VPYmplY3QuZXJyb3IubWVz
c2FnZSk7CkBAIC05OSwzMiArMTQ5LDYgQEAgSW5zcGVjdG9yRnJvbnRlbmRBUEkuZGlzcGF0Y2hN
ZXNzYWdlQXN5bmMgPSBmdW5jdGlvbihtZXNzYWdlT2JqZWN0KQogICAgIH0KIH0KIAotLyoqCi0q
IFJlZ2lzdGVycyBhbiBldmVudCBoYW5kbGVyIGZvciBtZXNzYWdlcyBjb21pbmcgZnJvbSB0aGUg
SW5zcGVjdG9yQmFja2VuZC4KLSogSWYgbXVsdGlwbGUgY2FsbGJhY2tzIGFyZSByZWdpc3RlcmVk
IGZvciB0aGUgc2FtZSBldmVudCwgaXQgd2lsbCBjaGFpbiB0aGUgZXhlY3V0aW9uLgotKiBAcGFy
YW0ge3N0cmluZ30gZXZlbnQgbmFtZQotKiBAcGFyYW0ge2Z1bmN0aW9ufSBoYW5kbGVyIHRvIGJl
IGV4ZWN1dGVkCi0qIEBwYXJhbSB7Ym9vbGVhbn0gZXhlY3V0ZSB0aGUgaGFuZGxlciBiZWZvcmUg
YWxsIG90aGVyIGhhbmRsZXJzCi0qLwotSW5zcGVjdG9yVGVzdC5hZGRFdmVudExpc3RlbmVyID0g
ZnVuY3Rpb24oZXZlbnROYW1lLCBjYWxsYmFjaywgY2FwdHVyZSkKLXsKLSAgICBpZiAoIUluc3Bl
Y3RvclRlc3QuZXZlbnRIYW5kbGVyW2V2ZW50TmFtZV0pIHsKLSAgICAgICAgSW5zcGVjdG9yVGVz
dC5ldmVudEhhbmRsZXJbZXZlbnROYW1lXSA9IGNhbGxiYWNrOwotICAgICAgICByZXR1cm47Ci0g
ICAgfQotICAgIHZhciBmaXJzdEhhbmRsZXIgPSBJbnNwZWN0b3JUZXN0LmV2ZW50SGFuZGxlcltl
dmVudE5hbWVdOwotICAgIHZhciBzZWNvbmRIYW5kbGVyID0gY2FsbGJhY2s7Ci0gICAgaWYgKGNh
cHR1cmUpIHsKLSAgICAgICAgLy8gU3dhcCBmaXJzdEhhbmRsZXIgd2l0aCB0aGUgbmV3IGNhbGxi
YWNrLCBzbyB0aGF0IHdlIGV4ZWN1dGUgdGhlIGNhbGxiYWNrIGZpcnN0LgotICAgICAgICBbZmly
c3RIYW5kbGVyLCBzZWNvbmRIYW5kbGVyXSA9IFtzZWNvbmRIYW5kbGVyLCBmaXJzdEhhbmRsZXJd
OwotICAgIH0KLSAgICBJbnNwZWN0b3JUZXN0LmV2ZW50SGFuZGxlcltldmVudE5hbWVdID0gZnVu
Y3Rpb24obWVzc2FnZU9iamVjdCkKLSAgICB7Ci0gICAgICAgIGZpcnN0SGFuZGxlcihtZXNzYWdl
T2JqZWN0KTsKLSAgICAgICAgc2Vjb25kSGFuZGxlcihtZXNzYWdlT2JqZWN0KTsKLSAgICB9Owot
fQotCiBJbnNwZWN0b3JUZXN0LkFzeW5jVGVzdFN1aXRlID0gY2xhc3MgQXN5bmNUZXN0U3VpdGUg
ewogICAgIGNvbnN0cnVjdG9yKG5hbWUpIHsKICAgICAgICAgaWYgKCFuYW1lIHx8IHR5cGVvZiBu
YW1lICE9PSAic3RyaW5nIikKQEAgLTM0MSw3ICszNjUsOCBAQCBJbnNwZWN0b3JUZXN0LmNoZWNr
Rm9yRXJyb3IgPSBmdW5jdGlvbihyZXNwb25zZU9iamVjdCkKIEluc3BlY3RvclRlc3QuaW1wb3J0
U2NyaXB0ID0gZnVuY3Rpb24oc2NyaXB0TmFtZSkKIHsKICAgICB2YXIgeGhyID0gbmV3IFhNTEh0
dHBSZXF1ZXN0KCk7Ci0gICAgeGhyLm9wZW4oIkdFVCIsIHNjcmlwdE5hbWUsIGZhbHNlKTsKKyAg
ICB2YXIgaXNBc3luY1JlcXVlc3QgPSBmYWxzZTsKKyAgICB4aHIub3BlbigiR0VUIiwgc2NyaXB0
TmFtZSwgaXNBc3luY1JlcXVlc3QpOwogICAgIHhoci5zZW5kKG51bGwpOwogICAgIGlmICh4aHIu
c3RhdHVzICE9PSAwICYmIHhoci5zdGF0dXMgIT09IDIwMCkKICAgICAgICAgdGhyb3cgbmV3IEVy
cm9yKCJJbnZhbGlkIHNjcmlwdCBVUkw6ICIgKyBzY3JpcHROYW1lKTsKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2luc3BlY3Rvci1wcm90b2NvbC9jb25zb2xlL2NvbnNvbGUtbWVzc2FnZS1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3ItcHJvdG9jb2wvY29uc29sZS9jb25zb2xl
LW1lc3NhZ2UtZXhwZWN0ZWQudHh0CmluZGV4IDI4NWQ3YTQyZmYxMjY2ZmQ3MzIyMzJjOTVmNjA5
NWMxYWE2NjFmM2IuLjk4OWY5MGJmZTM5M2YyOGUzOWEwOTIwNDcxMDJmNDUzMjc3ODc1MzYgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1wcm90b2NvbC9jb25zb2xlL2NvbnNvbGUt
bWVzc2FnZS1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLXByb3RvY29s
L2NvbnNvbGUvY29uc29sZS1tZXNzYWdlLWV4cGVjdGVkLnR4dApAQCAtMSwxMiArMSw0MyBAQAot
Q09OU09MRSBNRVNTQUdFOiBsaW5lIDc6IGxvZwotQ09OU09MRSBNRVNTQUdFOiBsaW5lIDg6IGlu
Zm8KLUNPTlNPTEUgTUVTU0FHRTogbGluZSA5OiB3YXJuCi1DT05TT0xFIE1FU1NBR0U6IGxpbmUg
MTA6IGVycm9yCi1DT05TT0xFIE1FU1NBR0U6IGxpbmUgMTE6IGRlYnVnCi1UZXN0cyB0aGF0IGNv
bnNvbGUgbG9nIG1lc3NhZ2VzIG1ha2UgaXQgdG8gdGhlIGZyb250ZW5kIGFuZCBoYXZlIGV4cGVj
dGVkIHNvdXJjZSwgdHlwZSwgYW5kIGxldmVscy4KLXsic291cmNlIjoiY29uc29sZS1hcGkiLCJs
ZXZlbCI6ImxvZyIsInRleHQiOiJsb2ciLCJsb2NhdGlvbiI6ImNvbnNvbGUtbWVzc2FnZS5odG1s
Ojc6MTYiLCJwYXJhbWV0ZXJzIjpbeyJ0eXBlIjoic3RyaW5nIn1dfQoteyJzb3VyY2UiOiJjb25z
b2xlLWFwaSIsImxldmVsIjoiaW5mbyIsInRleHQiOiJpbmZvIiwibG9jYXRpb24iOiJjb25zb2xl
LW1lc3NhZ2UuaHRtbDo4OjE3IiwicGFyYW1ldGVycyI6W3sidHlwZSI6InN0cmluZyJ9XX0KLXsi
c291cmNlIjoiY29uc29sZS1hcGkiLCJsZXZlbCI6Indhcm5pbmciLCJ0ZXh0Ijoid2FybiIsImxv
Y2F0aW9uIjoiY29uc29sZS1tZXNzYWdlLmh0bWw6OToxNyIsInBhcmFtZXRlcnMiOlt7InR5cGUi
OiJzdHJpbmcifV19Ci17InNvdXJjZSI6ImNvbnNvbGUtYXBpIiwibGV2ZWwiOiJlcnJvciIsInRl
eHQiOiJlcnJvciIsImxvY2F0aW9uIjoiY29uc29sZS1tZXNzYWdlLmh0bWw6MTA6MTgiLCJwYXJh
bWV0ZXJzIjpbeyJ0eXBlIjoic3RyaW5nIn1dfQoteyJzb3VyY2UiOiJjb25zb2xlLWFwaSIsImxl
dmVsIjoiZGVidWciLCJ0ZXh0IjoiZGVidWciLCJsb2NhdGlvbiI6ImNvbnNvbGUtbWVzc2FnZS5o
dG1sOjExOjE4IiwicGFyYW1ldGVycyI6W3sidHlwZSI6InN0cmluZyJ9XX0KK0NPTlNPTEUgTUVT
U0FHRTogbGluZSAxOiBsb2cKK0NPTlNPTEUgTUVTU0FHRTogbGluZSAxOiBpbmZvCitDT05TT0xF
IE1FU1NBR0U6IGxpbmUgMTogd2FybgorQ09OU09MRSBNRVNTQUdFOiBsaW5lIDE6IGVycm9yCitD
T05TT0xFIE1FU1NBR0U6IGxpbmUgMTogZGVidWcKK1Rlc3RzIHRoYXQgY29uc29sZS5sb2cgYW5k
IHJlbGF0ZWQgQVBJcyBjYXVzZSBDb25zb2xlLm1lc3NhZ2VBZGRlZCBldmVudHMgdG8gYmUgZ2Vu
ZXJhdGVkIHdpdGggY29ycmVjdCBzb3VyY2UsIHR5cGUsIGxldmVsLCBhbmQgcGFyYW1ldGVyIHR5
cGVzLiAKK1J1bm5pbmcgdGVzdCBzdWl0ZTogQ29uc29sZS5NZXNzYWdlc0Zyb21Db21tYW5kTGlu
ZUFQSQorUnVubmluZyB0ZXN0IGNhc2U6IENvbnNvbGVMb2dTdHJpbmcKK0V2YWx1YXRpbmcgZXhw
cmVzc2lvbjogY29uc29sZS5sb2coImxvZyIpOworUEFTUzogQ29uc29sZU1lc3NhZ2UgdHlwZSBz
aG91bGQgYmUgJ2NvbnNvbGUtYXBpJy4KK1BBU1M6IENvbnNvbGVNZXNzYWdlIGxldmVsIHNob3Vs
ZCBiZSAnbG9nJy4KK1BBU1M6IENvbnNvbGVNZXNzYWdlIHRleHQgc2hvdWxkIGJlICdsb2cnLgor
UEFTUzogQ29uc29sZU1lc3NhZ2UgcGFyYW1ldGVycy5sZW5ndGggPT09IDEKK1BBU1M6IENvbnNv
bGVNZXNzYWdlIHBhcmFtZXRlciAwIHNob3VsZCBoYXZlIHR5cGUgJ3N0cmluZycuCitSdW5uaW5n
IHRlc3QgY2FzZTogQ29uc29sZUluZm9TdHJpbmcKK0V2YWx1YXRpbmcgZXhwcmVzc2lvbjogY29u
c29sZS5pbmZvKCJpbmZvIik7CitQQVNTOiBDb25zb2xlTWVzc2FnZSB0eXBlIHNob3VsZCBiZSAn
Y29uc29sZS1hcGknLgorUEFTUzogQ29uc29sZU1lc3NhZ2UgbGV2ZWwgc2hvdWxkIGJlICdpbmZv
Jy4KK1BBU1M6IENvbnNvbGVNZXNzYWdlIHRleHQgc2hvdWxkIGJlICdpbmZvJy4KK1BBU1M6IENv
bnNvbGVNZXNzYWdlIHBhcmFtZXRlcnMubGVuZ3RoID09PSAxCitQQVNTOiBDb25zb2xlTWVzc2Fn
ZSBwYXJhbWV0ZXIgMCBzaG91bGQgaGF2ZSB0eXBlICdzdHJpbmcnLgorUnVubmluZyB0ZXN0IGNh
c2U6IENvbnNvbGVXYXJuU3RyaW5nCitFdmFsdWF0aW5nIGV4cHJlc3Npb246IGNvbnNvbGUud2Fy
bigid2FybiIpOworUEFTUzogQ29uc29sZU1lc3NhZ2UgdHlwZSBzaG91bGQgYmUgJ2NvbnNvbGUt
YXBpJy4KK1BBU1M6IENvbnNvbGVNZXNzYWdlIGxldmVsIHNob3VsZCBiZSAnd2FybmluZycuCitQ
QVNTOiBDb25zb2xlTWVzc2FnZSB0ZXh0IHNob3VsZCBiZSAnd2FybicuCitQQVNTOiBDb25zb2xl
TWVzc2FnZSBwYXJhbWV0ZXJzLmxlbmd0aCA9PT0gMQorUEFTUzogQ29uc29sZU1lc3NhZ2UgcGFy
YW1ldGVyIDAgc2hvdWxkIGhhdmUgdHlwZSAnc3RyaW5nJy4KK1J1bm5pbmcgdGVzdCBjYXNlOiBD
b25zb2xlRXJyb3JTdHJpbmcKK0V2YWx1YXRpbmcgZXhwcmVzc2lvbjogY29uc29sZS5lcnJvcigi
ZXJyb3IiKTsKK1BBU1M6IENvbnNvbGVNZXNzYWdlIHR5cGUgc2hvdWxkIGJlICdjb25zb2xlLWFw
aScuCitQQVNTOiBDb25zb2xlTWVzc2FnZSBsZXZlbCBzaG91bGQgYmUgJ2Vycm9yJy4KK1BBU1M6
IENvbnNvbGVNZXNzYWdlIHRleHQgc2hvdWxkIGJlICdlcnJvcicuCitQQVNTOiBDb25zb2xlTWVz
c2FnZSBwYXJhbWV0ZXJzLmxlbmd0aCA9PT0gMQorUEFTUzogQ29uc29sZU1lc3NhZ2UgcGFyYW1l
dGVyIDAgc2hvdWxkIGhhdmUgdHlwZSAnc3RyaW5nJy4KK1J1bm5pbmcgdGVzdCBjYXNlOiBDb25z
b2xlRGVidWdTdHJpbmcKK0V2YWx1YXRpbmcgZXhwcmVzc2lvbjogY29uc29sZS5kZWJ1ZygiZGVi
dWciKTsKK1BBU1M6IENvbnNvbGVNZXNzYWdlIHR5cGUgc2hvdWxkIGJlICdjb25zb2xlLWFwaScu
CitQQVNTOiBDb25zb2xlTWVzc2FnZSBsZXZlbCBzaG91bGQgYmUgJ2RlYnVnJy4KK1BBU1M6IENv
bnNvbGVNZXNzYWdlIHRleHQgc2hvdWxkIGJlICdkZWJ1ZycuCitQQVNTOiBDb25zb2xlTWVzc2Fn
ZSBwYXJhbWV0ZXJzLmxlbmd0aCA9PT0gMQorUEFTUzogQ29uc29sZU1lc3NhZ2UgcGFyYW1ldGVy
IDAgc2hvdWxkIGhhdmUgdHlwZSAnc3RyaW5nJy4KIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW5zcGVjdG9yLXByb3RvY29sL2NvbnNvbGUvY29uc29sZS1tZXNzYWdlLmh0bWwgYi9MYXlvdXRU
ZXN0cy9pbnNwZWN0b3ItcHJvdG9jb2wvY29uc29sZS9jb25zb2xlLW1lc3NhZ2UuaHRtbAppbmRl
eCAxYjgyMDZkMmFkNmQwNTRkODMyYjQ3Mjk1NTZkZGVmNTJjZDAzYjdmLi43MGU4NzY3YWFlMTJh
ODhhYWI3YjcyMzM1OGZhZmJhNjYxM2M4OGRjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbnNw
ZWN0b3ItcHJvdG9jb2wvY29uc29sZS9jb25zb2xlLW1lc3NhZ2UuaHRtbAorKysgYi9MYXlvdXRU
ZXN0cy9pbnNwZWN0b3ItcHJvdG9jb2wvY29uc29sZS9jb25zb2xlLW1lc3NhZ2UuaHRtbApAQCAt
NSw3ICs1LDcgQEAKIGZ1bmN0aW9uIGdlbmVyYXRlU2ltcGxlQ29uc29sZU1lc3NhZ2VzKCkKIHsK
ICAgICBjb25zb2xlLmxvZygibG9nIik7Ci0gICAgY29uc29sZS5pbmZvKCJpbmZvIik7IC8vIEFs
aWFzIG9mIGxvZy4KKyAgICBjb25zb2xlLmluZm8oImluZm8iKTsKICAgICBjb25zb2xlLndhcm4o
Indhcm4iKTsKICAgICBjb25zb2xlLmVycm9yKCJlcnJvciIpOwogICAgIGNvbnNvbGUuZGVidWco
ImRlYnVnIik7CkBAIC0xMywyOCArMTMsMTI2IEBAIGZ1bmN0aW9uIGdlbmVyYXRlU2ltcGxlQ29u
c29sZU1lc3NhZ2VzKCkKIAogZnVuY3Rpb24gdGVzdCgpCiB7CisgICAgdmFyIHN1aXRlID0gbmV3
IEluc3BlY3RvclRlc3QuQXN5bmNUZXN0U3VpdGUoIkNvbnNvbGUuTWVzc2FnZXNGcm9tQ29tbWFu
ZExpbmVBUEkiKTsKKworICAgIGFkZENvbnNvbGVUZXN0Q2FzZSh7CisgICAgICAgIG5hbWU6ICJD
b25zb2xlTG9nU3RyaW5nIiwKKyAgICAgICAgZGVzY3JpcHRpb246ICJUZXN0IGBjb25zb2xlLmxv
ZyhcImxvZ1wiKWAiLAorICAgICAgICBleHByZXNzaW9uOiAnY29uc29sZS5sb2coImxvZyIpOycs
CisgICAgICAgIGV4cGVjdGVkOiB7CisgICAgICAgICAgICBzb3VyY2U6ICdjb25zb2xlLWFwaScs
CisgICAgICAgICAgICBsZXZlbDogJ2xvZycsCisgICAgICAgICAgICB0ZXh0OiAnbG9nJywKKyAg
ICAgICAgICAgIHBhcmFtZXRlcnM6IFsnc3RyaW5nJ10KKyAgICAgICAgfQorICAgIH0pOworCisg
ICAgYWRkQ29uc29sZVRlc3RDYXNlKHsKKyAgICAgICAgbmFtZTogIkNvbnNvbGVJbmZvU3RyaW5n
IiwKKyAgICAgICAgZGVzY3JpcHRpb246ICJUZXN0IGBjb25zb2xlLmluZm8oXCJpbmZvXCIpYCIs
CisgICAgICAgIGV4cHJlc3Npb246ICdjb25zb2xlLmluZm8oImluZm8iKTsnLAorICAgICAgICBl
eHBlY3RlZDogeworICAgICAgICAgICAgc291cmNlOiAnY29uc29sZS1hcGknLAorICAgICAgICAg
ICAgbGV2ZWw6ICdpbmZvJywKKyAgICAgICAgICAgIHRleHQ6ICdpbmZvJywKKyAgICAgICAgICAg
IHBhcmFtZXRlcnM6IFsnc3RyaW5nJ10KKyAgICAgICAgfQorICAgIH0pOworCisgICAgYWRkQ29u
c29sZVRlc3RDYXNlKHsKKyAgICAgICAgbmFtZTogIkNvbnNvbGVXYXJuU3RyaW5nIiwKKyAgICAg
ICAgZGVzY3JpcHRpb246ICJUZXN0IGBjb25zb2xlLndhcm4oXCJ3YXJuXCIpYCIsCisgICAgICAg
IGV4cHJlc3Npb246ICdjb25zb2xlLndhcm4oIndhcm4iKTsnLAorICAgICAgICBleHBlY3RlZDog
eworICAgICAgICAgICAgc291cmNlOiAnY29uc29sZS1hcGknLAorICAgICAgICAgICAgbGV2ZWw6
ICd3YXJuaW5nJywKKyAgICAgICAgICAgIHRleHQ6ICd3YXJuJywKKyAgICAgICAgICAgIHBhcmFt
ZXRlcnM6IFsnc3RyaW5nJ10KKyAgICAgICAgfQorICAgIH0pOworCisgICAgYWRkQ29uc29sZVRl
c3RDYXNlKHsKKyAgICAgICAgbmFtZTogIkNvbnNvbGVFcnJvclN0cmluZyIsCisgICAgICAgIGRl
c2NyaXB0aW9uOiAiVGVzdCBgY29uc29sZS5lcnJvcihcImVycm9yXCIpYCIsCisgICAgICAgIGV4
cHJlc3Npb246ICdjb25zb2xlLmVycm9yKCJlcnJvciIpOycsCisgICAgICAgIGV4cGVjdGVkOiB7
CisgICAgICAgICAgICBzb3VyY2U6ICdjb25zb2xlLWFwaScsCisgICAgICAgICAgICBsZXZlbDog
J2Vycm9yJywKKyAgICAgICAgICAgIHRleHQ6ICdlcnJvcicsCisgICAgICAgICAgICBwYXJhbWV0
ZXJzOiBbJ3N0cmluZyddCisgICAgICAgIH0KKyAgICB9KTsKKworICAgIGFkZENvbnNvbGVUZXN0
Q2FzZSh7CisgICAgICAgIG5hbWU6ICJDb25zb2xlRGVidWdTdHJpbmciLAorICAgICAgICBkZXNj
cmlwdGlvbjogIlRlc3QgYGNvbnNvbGUuZGVidWcoXCJkZWJ1Z1wiKWAiLAorICAgICAgICBleHBy
ZXNzaW9uOiAnY29uc29sZS5kZWJ1ZygiZGVidWciKTsnLAorICAgICAgICBleHBlY3RlZDogewor
ICAgICAgICAgICAgc291cmNlOiAnY29uc29sZS1hcGknLAorICAgICAgICAgICAgbGV2ZWw6ICdk
ZWJ1ZycsCisgICAgICAgICAgICB0ZXh0OiAnZGVidWcnLAorICAgICAgICAgICAgcGFyYW1ldGVy
czogWydzdHJpbmcnXQorICAgICAgICB9CisgICAgfSk7CisKKyAgICAvLyBTZXQgdXAgdGhlIGNv
bnNvbGUgcHJpb3IgdG8gcnVubmluZyB0aGUgdGVzdCBzdWl0ZS4KICAgICBJbnNwZWN0b3JUZXN0
LmltcG9ydFNjcmlwdCgiLi4vLi4vLi4vLi4vaW5zcGVjdG9yLXByb3RvY29sL3Jlc291cmNlcy9j
b25zb2xlLWhlbHBlci5qcyIpOwogCi0gICAgSW5zcGVjdG9yVGVzdC5zZW5kQ29tbWFuZCgiQ29u
c29sZS5lbmFibGUiLCB7fSk7Ci0gICAgSW5zcGVjdG9yVGVzdC5zZW5kQ29tbWFuZCgiUnVudGlt
ZS5ldmFsdWF0ZSIsIHtleHByZXNzaW9uOiAiZ2VuZXJhdGVTaW1wbGVDb25zb2xlTWVzc2FnZXMo
KSJ9KTsKKyAgICBJbnNwZWN0b3JUZXN0LmF3YWl0Q29tbWFuZCh7CisgICAgICAgIG1ldGhvZDog
IkNvbnNvbGUuZW5hYmxlIiwKKyAgICAgICAgcGFyYW1zOiB7fQorICAgIH0pCisgICAgLnRoZW4o
ZnVuY3Rpb24oKSB7CisgICAgICAgIHN1aXRlLnJ1blRlc3RDYXNlc0FuZEZpbmlzaCgpOworICAg
IH0pCisgICAgLmNhdGNoKGZhdGFsRXJyb3IpOworCisgICAgZnVuY3Rpb24gZmF0YWxFcnJvcihl
KSB7CisgICAgICAgIEluc3BlY3RvclRlc3QubG9nKCJUZXN0IGZhaWxlZCB3aXRoIGZhdGFsIGVy
cm9yOiAiICsgSlNPTi5zdHJpbmdpZnkoZSkpOworICAgICAgICBJbnNwZWN0b3JUZXN0LmNvbXBs
ZXRlVGVzdCgpOworICAgIH0KIAotICAgIHZhciBjb25zb2xlTWVzc2FnZUNvdW50ID0gMDsKLSAg
ICBjb25zdCBleHBlY3RlZENvbnNvbGVNZXNzYWdlcyA9IDU7CisgICAgZnVuY3Rpb24gYWRkQ29u
c29sZVRlc3RDYXNlKGFyZ3MpIHsKKyAgICAgICAgdmFyIHtuYW1lLCBkZXNjcmlwdGlvbiwgZXhw
cmVzc2lvbiwgZXhwZWN0ZWR9ID0gYXJnczsKKyAgICAgICAgc3VpdGUuYWRkVGVzdENhc2Uoewor
ICAgICAgICAgICAgbmFtZSwKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uLAorICAgICAgICAgICAg
dGVzdDogZnVuY3Rpb24ocmVzb2x2ZSwgcmVqZWN0KSB7CisgICAgICAgICAgICAgICAgSW5zcGVj
dG9yVGVzdC5hd2FpdEV2ZW50KHsKKyAgICAgICAgICAgICAgICAgICAgZXZlbnQ6ICJDb25zb2xl
Lm1lc3NhZ2VBZGRlZCIsCisgICAgICAgICAgICAgICAgfSkKKyAgICAgICAgICAgICAgICAudGhl
bihmdW5jdGlvbihtZXNzYWdlT2JqZWN0KSB7CisgICAgICAgICAgICAgICAgICAgIHZhciBjb25z
b2xlTWVzc2FnZSA9IG1lc3NhZ2VPYmplY3QucGFyYW1zLm1lc3NhZ2U7CisgICAgICAgICAgICAg
ICAgICAgIHZhciB7c291cmNlLCBsZXZlbCwgdGV4dCwgcGFyYW1ldGVyc30gPSBjb25zb2xlTWVz
c2FnZTsKKyAgICAgICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5hc3NlcnQoc291cmNlID09
PSBleHBlY3RlZC5zb3VyY2UsICJDb25zb2xlTWVzc2FnZSB0eXBlIHNob3VsZCBiZSAnIiArIGV4
cGVjdGVkLnNvdXJjZSArICInLiIpOworICAgICAgICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0
LmFzc2VydChsZXZlbCA9PT0gZXhwZWN0ZWQubGV2ZWwsICJDb25zb2xlTWVzc2FnZSBsZXZlbCBz
aG91bGQgYmUgJyIgKyBleHBlY3RlZC5sZXZlbCArICInLiIpOworICAgICAgICAgICAgICAgICAg
ICBJbnNwZWN0b3JUZXN0LmFzc2VydCh0ZXh0ID09PSBleHBlY3RlZC50ZXh0LCAiQ29uc29sZU1l
c3NhZ2UgdGV4dCBzaG91bGQgYmUgJyIgKyBleHBlY3RlZC50ZXh0ICsgIicuIik7CiAKLSAgICBJ
bnNwZWN0b3JUZXN0LmV2ZW50SGFuZGxlclsiQ29uc29sZS5tZXNzYWdlQWRkZWQiXSA9IGZ1bmN0
aW9uKG1lc3NhZ2VPYmplY3QpCi0gICAgewotICAgICAgICB2YXIgc2ltcGxpZmllZE1lc3NhZ2Ug
PSBDb25zb2xlSGVscGVyLnNpbXBsaWZpZWRDb25zb2xlTWVzc2FnZShtZXNzYWdlT2JqZWN0KTsK
LSAgICAgICAgSW5zcGVjdG9yVGVzdC5sb2coSlNPTi5zdHJpbmdpZnkoc2ltcGxpZmllZE1lc3Nh
Z2UpKTsKKyAgICAgICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5hc3NlcnQocGFyYW1ldGVy
cy5sZW5ndGggPT09IGV4cGVjdGVkLnBhcmFtZXRlcnMubGVuZ3RoLCAiQ29uc29sZU1lc3NhZ2Ug
cGFyYW1ldGVycy5sZW5ndGggPT09ICIgKyBleHBlY3RlZC5wYXJhbWV0ZXJzLmxlbmd0aCk7Cisg
ICAgICAgICAgICAgICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgcGFyYW1ldGVycy5sZW5ndGg7
ICsraSkgeworICAgICAgICAgICAgICAgICAgICAgICAgdmFyIGV4cGVjdGVkVHlwZSA9IGV4cGVj
dGVkLnBhcmFtZXRlcnNbaV07CisgICAgICAgICAgICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0
LmFzc2VydChwYXJhbWV0ZXJzW2ldLnR5cGUgPT09IGV4cGVjdGVkVHlwZSwgIkNvbnNvbGVNZXNz
YWdlIHBhcmFtZXRlciAiICsgaSArICIgc2hvdWxkIGhhdmUgdHlwZSAnIiArIGV4cGVjdGVkVHlw
ZSArICInLiIpOworICAgICAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgICAgIHJl
c29sdmUoKTsKKyAgICAgICAgICAgICAgICB9KQorICAgICAgICAgICAgICAgIC5jYXRjaChyZWpl
Y3QpOwogCi0gICAgICAgIGlmICgrK2NvbnNvbGVNZXNzYWdlQ291bnQgPT09IGV4cGVjdGVkQ29u
c29sZU1lc3NhZ2VzKQotICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5jb21wbGV0ZVRlc3QoKTsK
KyAgICAgICAgICAgICAgICAvLyBDYXVzZSBhIG1lc3NhZ2VBZGRlZCBldmVudCB0byBiZSBnZW5l
cmF0ZWQuCisgICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5sb2coIkV2YWx1YXRpbmcgZXhw
cmVzc2lvbjogIiArIGV4cHJlc3Npb24pOworICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3Qu
c2VuZENvbW1hbmQoeworICAgICAgICAgICAgICAgICAgICBtZXRob2Q6ICJSdW50aW1lLmV2YWx1
YXRlIiwKKyAgICAgICAgICAgICAgICAgICAgcGFyYW1zOiB7ZXhwcmVzc2lvbn0KKyAgICAgICAg
ICAgICAgICB9KTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfSk7CiAgICAgfQogfQogPC9zY3Jp
cHQ+CiA8L2hlYWQ+CiA8Ym9keSBvbmxvYWQ9InJ1blRlc3QoKSI+CiA8cD4KLVRlc3RzIHRoYXQg
Y29uc29sZSBsb2cgbWVzc2FnZXMgbWFrZSBpdCB0byB0aGUgZnJvbnRlbmQgYW5kIGhhdmUgZXhw
ZWN0ZWQgc291cmNlLCB0eXBlLCBhbmQgbGV2ZWxzLjxicj4KK1Rlc3RzIHRoYXQgPGNvZGU+Y29u
c29sZS5sb2c8L2NvZGU+IGFuZCByZWxhdGVkIEFQSXMgY2F1c2UgPGNvZGU+Q29uc29sZS5tZXNz
YWdlQWRkZWQ8L2NvZGU+IGV2ZW50cyB0byBiZSBnZW5lcmF0ZWQgd2l0aCBjb3JyZWN0IHNvdXJj
ZSwgdHlwZSwgbGV2ZWwsIGFuZCBwYXJhbWV0ZXIgdHlwZXMuCis8YnI+CiA8L3A+CiA8L2JvZHk+
CiA8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3ItcHJvdG9jb2wvY29u
c29sZS9jc3Mtc291cmNlLWxvY2F0aW9ucy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbnNw
ZWN0b3ItcHJvdG9jb2wvY29uc29sZS9jc3Mtc291cmNlLWxvY2F0aW9ucy1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uYTMwZGJkMzYzNmE1MDFkMzIzZWIwMzVjNzIwY2I5M2Y4YmE4YTdiOAotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1wcm90b2NvbC9jb25zb2xlL2Nz
cy1zb3VyY2UtbG9jYXRpb25zLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDkgQEAKK1Rlc3RzIHRo
YXQgQ1NTIHBhcnNlciB3YXJuaW5ncyBmcm9tIGlubGluZSBzdHlsZSB0YWdzIGFuZCBleHRlcm5h
bCBzdHlsZXNoZWV0cyBhcmUgc2VudCB0byB0aGUgY29uc29sZSB3aXRoIGNvcnJlY3QgbGluZSBh
bmQgY29sdW1uIGluZm9ybWF0aW9uLgoreyJzb3VyY2UiOiJjc3MiLCJsZXZlbCI6Indhcm5pbmci
LCJ0ZXh0IjoiSW52YWxpZCBDU1MgcHJvcGVydHkgZGVjbGFyYXRpb24gYXQ6ICoiLCJsb2NhdGlv
biI6ImNzcy1zb3VyY2UtbG9jYXRpb25zLmh0bWw6NToyMCJ9Cit7InNvdXJjZSI6ImNzcyIsImxl
dmVsIjoid2FybmluZyIsInRleHQiOiJJbnZhbGlkIENTUyBwcm9wZXJ0eSBkZWNsYXJhdGlvbiBh
dDogKiIsImxvY2F0aW9uIjoiY3NzLXNvdXJjZS1sb2NhdGlvbnMuaHRtbDo2OjE0In0KK3sic291
cmNlIjoiY3NzIiwibGV2ZWwiOiJ3YXJuaW5nIiwidGV4dCI6IkludmFsaWQgQ1NTIHByb3BlcnR5
IGRlY2xhcmF0aW9uIGF0OiAqIiwibG9jYXRpb24iOiJjc3Mtc291cmNlLWxvY2F0aW9ucy5odG1s
Ojc6NyJ9Cit7InNvdXJjZSI6ImNzcyIsImxldmVsIjoid2FybmluZyIsInRleHQiOiJJbnZhbGlk
IENTUyBwcm9wZXJ0eSBkZWNsYXJhdGlvbiBhdDogKiIsImxvY2F0aW9uIjoiY3NzLXNvdXJjZS1s
b2NhdGlvbnMuaHRtbDo5OjgifQoreyJzb3VyY2UiOiJjc3MiLCJsZXZlbCI6Indhcm5pbmciLCJ0
ZXh0IjoiSW52YWxpZCBDU1MgcHJvcGVydHkgZGVjbGFyYXRpb24gYXQ6ICoiLCJsb2NhdGlvbiI6
ImVycm9ycy5jc3M6MTo3In0KK3sic291cmNlIjoiY3NzIiwibGV2ZWwiOiJ3YXJuaW5nIiwidGV4
dCI6IkludmFsaWQgQ1NTIHByb3BlcnR5IGRlY2xhcmF0aW9uIGF0OiAqIiwibG9jYXRpb24iOiJl
cnJvcnMuY3NzOjE6MjkifQoreyJzb3VyY2UiOiJjc3MiLCJsZXZlbCI6Indhcm5pbmciLCJ0ZXh0
IjoiSW52YWxpZCBDU1MgcHJvcGVydHkgZGVjbGFyYXRpb24gYXQ6ICoiLCJsb2NhdGlvbiI6ImVy
cm9ycy5jc3M6NDo1In0KKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLXByb3Rv
Y29sL2NvbnNvbGUvY3NzLXNvdXJjZS1sb2NhdGlvbnMuaHRtbCBiL0xheW91dFRlc3RzL2luc3Bl
Y3Rvci1wcm90b2NvbC9jb25zb2xlL2Nzcy1zb3VyY2UtbG9jYXRpb25zLmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uYTkxZWFlNzY2Mjk2YzRmZmFjNDA3MWIxYzY4YzlmODUxZTQ0YTExMgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1wcm90b2NvbC9jb25zb2xlL2Nzcy1zb3VyY2Ut
bG9jYXRpb25zLmh0bWwKQEAgLTAsMCArMSw0OCBAQAorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQg
dHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii4uLy4uL2h0dHAvdGVzdHMvaW5zcGVjdG9yLXBy
b3RvY29sL3Jlc291cmNlcy9wcm90b2NvbC10ZXN0LmpzIj48L3NjcmlwdD4KKzxsaW5rIHJlbD0i
c3R5bGVzaGVldCIgaHJlZj0iLi4vcmVzb3VyY2VzL2Vycm9ycy5jc3MiPgorICA8c3R5bGU+ICAg
IGRpdiB7ICogY29sb3I6IHJlZDsgfTwvc3R5bGU+Cis8c3R5bGU+ZGl2IHsgKiBjb2xvcjogcmVk
OyB9CitkaXYgeyAqIGNvbG9yOiByZWQ7IH0KKyAgIGRpdiB7CisgICAgICAgKgorICAgICAgIGNv
bG9yOgorICAgICAgIHJlZDsKKyAgIH0KKzwvc3R5bGU+Cis8c2NyaXB0PgorZnVuY3Rpb24gdGVz
dCgpCit7CisgICAgSW5zcGVjdG9yVGVzdC5pbXBvcnRTY3JpcHQoIi4uLy4uLy4uLy4uL2luc3Bl
Y3Rvci1wcm90b2NvbC9yZXNvdXJjZXMvY29uc29sZS1oZWxwZXIuanMiKTsKKworICAgIHZhciBj
b25zb2xlTWVzc2FnZUNvdW50ID0gMDsKKyAgICBjb25zdCBleHBlY3RlZENvbnNvbGVNZXNzYWdl
Q291bnQgPSA3OworCisgICAgLy8gRHVlIHRvIHRoZSBkaWZmaWN1bHR5IG9mIHRlc3RpbmcgaW5s
aW5lIHN0eWxlIHRhZ3MgaW4gYSB0ZXN0IGNhc2UsIHRoaXMgdGVzdAorICAgIC8vIGlzIGEgcmVm
ZXJlbmNlIHRlc3QgdGhhdCBjb250YWlucyBzZXJpYWxpemVkIENvbnNvbGUubWVzc2FnZUFkZGVk
IGV2ZW50IGRhdGEuCisgICAgSW5zcGVjdG9yVGVzdC5hZGRFdmVudExpc3RlbmVyKHsKKyAgICAg
ICAgZXZlbnQ6ICJDb25zb2xlLm1lc3NhZ2VBZGRlZCIsCisgICAgICAgIGxpc3RlbmVyOiBmdW5j
dGlvbihtZXNzYWdlT2JqZWN0KSB7CisgICAgICAgICAgICB2YXIgc2ltcGxpZmllZE1lc3NhZ2Ug
PSBDb25zb2xlSGVscGVyLnNpbXBsaWZpZWRDb25zb2xlTWVzc2FnZShtZXNzYWdlT2JqZWN0KTsK
KyAgICAgICAgICAgIEluc3BlY3RvclRlc3QubG9nKEpTT04uc3RyaW5naWZ5KHNpbXBsaWZpZWRN
ZXNzYWdlKSk7CisKKyAgICAgICAgICAgIGlmICgrK2NvbnNvbGVNZXNzYWdlQ291bnQgPT09IGV4
cGVjdGVkQ29uc29sZU1lc3NhZ2VDb3VudCkKKyAgICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0
LmNvbXBsZXRlVGVzdCgpOworICAgICAgICB9CisgICAgfSk7CisKKyAgICAvLyBTdGFydCB0aGUg
dGVzdC4KKyAgICBJbnNwZWN0b3JUZXN0LnNlbmRDb21tYW5kKHsKKyAgICAgICAgbWV0aG9kOiAi
Q29uc29sZS5lbmFibGUiLAorICAgICAgICBwYXJhbXM6IHt9CisgICAgfSk7Cit9Cis8L3Njcmlw
dD4KKzwvaGVhZD4KKzxib2R5IG9ubG9hZD0icnVuVGVzdCgpIj4KKzxwPgorVGVzdHMgdGhhdCBD
U1MgcGFyc2VyIHdhcm5pbmdzIGZyb20gaW5saW5lIHN0eWxlIHRhZ3MgYW5kIGV4dGVybmFsIHN0
eWxlc2hlZXRzIGFyZSBzZW50IHRvIHRoZSBjb25zb2xlIHdpdGggY29ycmVjdCBsaW5lIGFuZCBj
b2x1bW4gaW5mb3JtYXRpb24uPGJyPgorPC9wPgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLXByb3RvY29sL2NvbnNvbGUvanMtc291cmNlLWxvY2F0
aW9ucy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3ItcHJvdG9jb2wvY29uc29s
ZS9qcy1zb3VyY2UtbG9jYXRpb25zLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xOWRmMWMyOGQz
OTg5NGRkM2EzZTk5MzkwYWYxYmEwZTJmOGE3N2VhCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvaW5zcGVjdG9yLXByb3RvY29sL2NvbnNvbGUvanMtc291cmNlLWxvY2F0aW9ucy1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSwxOCBAQAorQ09OU09MRSBNRVNTQUdFOiBsaW5lIDE6IGVycm9y
IHNjcmlwdAorQ09OU09MRSBNRVNTQUdFOiBsaW5lIDE6IHdhcm4gc2NyaXB0CitDT05TT0xFIE1F
U1NBR0U6IGxpbmUgNTogZXJyb3Igc2NyaXB0CitDT05TT0xFIE1FU1NBR0U6IGxpbmUgNjogd2Fy
biBzY3JpcHQKK0NPTlNPTEUgTUVTU0FHRTogbGluZSA1OiBUeXBlRXJyb3I6IHVuZGVmaW5lZCBp
cyBub3QgYW4gb2JqZWN0IChldmFsdWF0aW5nICdbXS54LngnKQorQ09OU09MRSBNRVNTQUdFOiBs
aW5lIDc6IHdhcm4gMQorQ09OU09MRSBNRVNTQUdFOiBsaW5lIDc6IGVycm9yIDEKK0NPTlNPTEUg
TUVTU0FHRTogbGluZSA4OiBlcnJvciAyCitUZXN0cyB0aGF0IEphdmFTY3JpcHQgZXJyb3JzIGFu
ZCB3YXJuaW5ncyBmcm9tIGlubGluZSBzY3JpcHQgdGFncyBhbmQgZXh0ZXJuYWwgZmlsZXMgYXJl
IHNlbnQgdG8gdGhlIGNvbnNvbGUgd2l0aCBjb3JyZWN0IGxpbmUgYW5kIGNvbHVtbiBpbmZvcm1h
dGlvbi4KK3sic291cmNlIjoiY29uc29sZS1hcGkiLCJsZXZlbCI6ImVycm9yIiwidGV4dCI6ImVy
cm9yIHNjcmlwdCIsImxvY2F0aW9uIjoiZXJyb3JzLmpzOjE6MTQiLCJwYXJhbWV0ZXJzIjpbeyJ0
eXBlIjoic3RyaW5nIn1dfQoreyJzb3VyY2UiOiJjb25zb2xlLWFwaSIsImxldmVsIjoid2Fybmlu
ZyIsInRleHQiOiJ3YXJuIHNjcmlwdCIsImxvY2F0aW9uIjoiZXJyb3JzLmpzOjE6NDQiLCJwYXJh
bWV0ZXJzIjpbeyJ0eXBlIjoic3RyaW5nIn1dfQoreyJzb3VyY2UiOiJjb25zb2xlLWFwaSIsImxl
dmVsIjoiZXJyb3IiLCJ0ZXh0IjoiZXJyb3Igc2NyaXB0IiwibG9jYXRpb24iOiJlcnJvcnMuanM6
NToxOCIsInBhcmFtZXRlcnMiOlt7InR5cGUiOiJzdHJpbmcifV19Cit7InNvdXJjZSI6ImNvbnNv
bGUtYXBpIiwibGV2ZWwiOiJ3YXJuaW5nIiwidGV4dCI6Indhcm4gc2NyaXB0IiwibG9jYXRpb24i
OiJlcnJvcnMuanM6NjoxNyIsInBhcmFtZXRlcnMiOlt7InR5cGUiOiJzdHJpbmcifV19Cit7InNv
dXJjZSI6ImphdmFzY3JpcHQiLCJsZXZlbCI6ImVycm9yIiwidGV4dCI6IlR5cGVFcnJvcjogdW5k
ZWZpbmVkIGlzIG5vdCBhbiBvYmplY3QgKGV2YWx1YXRpbmcgJ1tdLngueCcpIiwibG9jYXRpb24i
OiJqcy1zb3VyY2UtbG9jYXRpb25zLmh0bWw6NToxOCJ9Cit7InNvdXJjZSI6ImNvbnNvbGUtYXBp
IiwibGV2ZWwiOiJ3YXJuaW5nIiwidGV4dCI6Indhcm4gMSIsImxvY2F0aW9uIjoianMtc291cmNl
LWxvY2F0aW9ucy5odG1sOjc6MTMiLCJwYXJhbWV0ZXJzIjpbeyJ0eXBlIjoic3RyaW5nIn1dfQor
eyJzb3VyY2UiOiJjb25zb2xlLWFwaSIsImxldmVsIjoiZXJyb3IiLCJ0ZXh0IjoiZXJyb3IgMSIs
ImxvY2F0aW9uIjoianMtc291cmNlLWxvY2F0aW9ucy5odG1sOjc6MzgiLCJwYXJhbWV0ZXJzIjpb
eyJ0eXBlIjoic3RyaW5nIn1dfQoreyJzb3VyY2UiOiJjb25zb2xlLWFwaSIsImxldmVsIjoiZXJy
b3IiLCJ0ZXh0IjoiZXJyb3IgMiIsImxvY2F0aW9uIjoianMtc291cmNlLWxvY2F0aW9ucy5odG1s
Ojg6MTciLCJwYXJhbWV0ZXJzIjpbeyJ0eXBlIjoic3RyaW5nIn1dfQorCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbnNwZWN0b3ItcHJvdG9jb2wvY29uc29sZS9qcy1zb3VyY2UtbG9jYXRpb25z
Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3ItcHJvdG9jb2wvY29uc29sZS9qcy1zb3VyY2Ut
bG9jYXRpb25zLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNGYxNTJjZDg4OTEzMTRmYzkxN2IyMjg5YjI0OWY4
NDIzOTRlYWQxYwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1wcm90
b2NvbC9jb25zb2xlL2pzLXNvdXJjZS1sb2NhdGlvbnMuaHRtbApAQCAtMCwwICsxLDQzIEBACis8
aHRtbD4KKzxoZWFkPgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iLi4vLi4v
aHR0cC90ZXN0cy9pbnNwZWN0b3ItcHJvdG9jb2wvcmVzb3VyY2VzL3Byb3RvY29sLXRlc3QuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy9lcnJvcnMuanMiIHR5cGU9InRl
eHQvamF2YXNjcmlwdCIgY2hhcnNldD0idXRmLTgiPjwvc2NyaXB0PgorICA8c2NyaXB0PiAgIFtd
LngueCAgIDwvc2NyaXB0PgorPHNjcmlwdD4KK2NvbnNvbGUud2Fybigid2FybiAxIik7IGNvbnNv
bGUuZXJyb3IoImVycm9yIDEiKTsKKyAgIGNvbnNvbGUuZXJyb3IoImVycm9yIDIiKTsKKzwvc2Ny
aXB0PgorPHNjcmlwdD4KK2Z1bmN0aW9uIHRlc3QoKQoreworICAgIEluc3BlY3RvclRlc3QuaW1w
b3J0U2NyaXB0KCIuLi8uLi8uLi8uLi9pbnNwZWN0b3ItcHJvdG9jb2wvcmVzb3VyY2VzL2NvbnNv
bGUtaGVscGVyLmpzIik7CisKKyAgICB2YXIgY29uc29sZU1lc3NhZ2VDb3VudCA9IDA7CisgICAg
Y29uc3QgZXhwZWN0ZWRDb25zb2xlTWVzc2FnZUNvdW50ID0gODsKKworICAgIC8vIER1ZSB0byB0
aGUgZGlmZmljdWx0eSBvZiB0ZXN0aW5nIGlubGluZSBzY3JpcHQgdGFncyBpbiBhIHRlc3QgY2Fz
ZSwgdGhpcyB0ZXN0CisgICAgLy8gaXMgYSByZWZlcmVuY2UgdGVzdCB0aGF0IGNvbnRhaW5zIHNl
cmlhbGl6ZWQgQ29uc29sZS5tZXNzYWdlQWRkZWQgZXZlbnQgZGF0YS4KKyAgICBJbnNwZWN0b3JU
ZXN0LmFkZEV2ZW50TGlzdGVuZXIoeworICAgICAgICBldmVudDogIkNvbnNvbGUubWVzc2FnZUFk
ZGVkIiwKKyAgICAgICAgbGlzdGVuZXI6IGZ1bmN0aW9uKG1lc3NhZ2VPYmplY3QpIHsKKyAgICAg
ICAgICAgIHZhciBzaW1wbGlmaWVkTWVzc2FnZSA9IENvbnNvbGVIZWxwZXIuc2ltcGxpZmllZENv
bnNvbGVNZXNzYWdlKG1lc3NhZ2VPYmplY3QpOworICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5s
b2coSlNPTi5zdHJpbmdpZnkoc2ltcGxpZmllZE1lc3NhZ2UpKTsKKworICAgICAgICAgICAgaWYg
KCsrY29uc29sZU1lc3NhZ2VDb3VudCA9PT0gZXhwZWN0ZWRDb25zb2xlTWVzc2FnZUNvdW50KQor
ICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3QuY29tcGxldGVUZXN0KCk7CisgICAgICAgIH0K
KyAgICB9KTsKKworICAgIEluc3BlY3RvclRlc3Quc2VuZENvbW1hbmQoeworICAgICAgICBtZXRo
b2Q6ICJDb25zb2xlLmVuYWJsZSIsCisgICAgICAgIHBhcmFtczoge30KKyAgICB9KTsKK30KKzwv
c2NyaXB0PgorPC9oZWFkPgorPGJvZHkgb25sb2FkPSJydW5UZXN0KCkiPgorPHA+CitUZXN0cyB0
aGF0IEphdmFTY3JpcHQgZXJyb3JzIGFuZCB3YXJuaW5ncyBmcm9tIGlubGluZSBzY3JpcHQgdGFn
cyBhbmQgZXh0ZXJuYWwgZmlsZXMgYXJlIHNlbnQgdG8gdGhlIGNvbnNvbGUgd2l0aCBjb3JyZWN0
IGxpbmUgYW5kIGNvbHVtbiBpbmZvcm1hdGlvbi48YnI+Cis8L3A+Cis8L2JvZHk+Cis8L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3ItcHJvdG9jb2wvY29uc29sZS93YXJu
aW5ncy1lcnJvcnMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLXByb3RvY29s
L2NvbnNvbGUvd2FybmluZ3MtZXJyb3JzLWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggNjc0M2JmNDVkYTFhYjI3ZDNiMDZlY2VkOGIyOWY3MTgzYzQ4NGUzNC4uMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9p
bnNwZWN0b3ItcHJvdG9jb2wvY29uc29sZS93YXJuaW5ncy1lcnJvcnMtZXhwZWN0ZWQudHh0Cisr
KyAvZGV2L251bGwKQEAgLTEsMjUgKzAsMCBAQAotQ09OU09MRSBNRVNTQUdFOiBsaW5lIDE6IGVy
cm9yIHNjcmlwdAotQ09OU09MRSBNRVNTQUdFOiBsaW5lIDE6IHdhcm4gc2NyaXB0Ci1DT05TT0xF
IE1FU1NBR0U6IGxpbmUgNTogZXJyb3Igc2NyaXB0Ci1DT05TT0xFIE1FU1NBR0U6IGxpbmUgNjog
d2FybiBzY3JpcHQKLUNPTlNPTEUgTUVTU0FHRTogbGluZSAxNTogVHlwZUVycm9yOiB1bmRlZmlu
ZWQgaXMgbm90IGFuIG9iamVjdCAoZXZhbHVhdGluZyAnW10ueC54JykKLUNPTlNPTEUgTUVTU0FH
RTogbGluZSAxNzogd2FybiAxCi1DT05TT0xFIE1FU1NBR0U6IGxpbmUgMTc6IGVycm9yIDEKLUNP
TlNPTEUgTUVTU0FHRTogbGluZSAxODogZXJyb3IgMgotVGVzdHMgdGhhdCBDU1MvSmF2YVNjcmlw
dCBlcnJvcnMgYW5kIHdhcm5pbmdzIGFyZSBzZW50IHRvIHRoZSBjb25zb2xlIHdpdGggbGluZSBh
bmQgY29sdW1uIGluZm9ybWF0aW9uLgoteyJzb3VyY2UiOiJjc3MiLCJsZXZlbCI6Indhcm5pbmci
LCJ0ZXh0IjoiSW52YWxpZCBDU1MgcHJvcGVydHkgZGVjbGFyYXRpb24gYXQ6ICoiLCJsb2NhdGlv
biI6Indhcm5pbmdzLWVycm9ycy5odG1sOjU6MjAifQoteyJzb3VyY2UiOiJjc3MiLCJsZXZlbCI6
Indhcm5pbmciLCJ0ZXh0IjoiSW52YWxpZCBDU1MgcHJvcGVydHkgZGVjbGFyYXRpb24gYXQ6ICoi
LCJsb2NhdGlvbiI6Indhcm5pbmdzLWVycm9ycy5odG1sOjY6MTQifQoteyJzb3VyY2UiOiJjc3Mi
LCJsZXZlbCI6Indhcm5pbmciLCJ0ZXh0IjoiSW52YWxpZCBDU1MgcHJvcGVydHkgZGVjbGFyYXRp
b24gYXQ6ICoiLCJsb2NhdGlvbiI6Indhcm5pbmdzLWVycm9ycy5odG1sOjc6NyJ9Ci17InNvdXJj
ZSI6ImNzcyIsImxldmVsIjoid2FybmluZyIsInRleHQiOiJJbnZhbGlkIENTUyBwcm9wZXJ0eSBk
ZWNsYXJhdGlvbiBhdDogKiIsImxvY2F0aW9uIjoid2FybmluZ3MtZXJyb3JzLmh0bWw6OTo4In0K
LXsic291cmNlIjoiY3NzIiwibGV2ZWwiOiJ3YXJuaW5nIiwidGV4dCI6IkludmFsaWQgQ1NTIHBy
b3BlcnR5IGRlY2xhcmF0aW9uIGF0OiAqIiwibG9jYXRpb24iOiJlcnJvcnMuY3NzOjE6NyJ9Ci17
InNvdXJjZSI6ImNzcyIsImxldmVsIjoid2FybmluZyIsInRleHQiOiJJbnZhbGlkIENTUyBwcm9w
ZXJ0eSBkZWNsYXJhdGlvbiBhdDogKiIsImxvY2F0aW9uIjoiZXJyb3JzLmNzczoxOjI5In0KLXsi
c291cmNlIjoiY3NzIiwibGV2ZWwiOiJ3YXJuaW5nIiwidGV4dCI6IkludmFsaWQgQ1NTIHByb3Bl
cnR5IGRlY2xhcmF0aW9uIGF0OiAqIiwibG9jYXRpb24iOiJlcnJvcnMuY3NzOjQ6NSJ9Ci17InNv
dXJjZSI6ImNvbnNvbGUtYXBpIiwibGV2ZWwiOiJlcnJvciIsInRleHQiOiJlcnJvciBzY3JpcHQi
LCJsb2NhdGlvbiI6ImVycm9ycy5qczoxOjE0IiwicGFyYW1ldGVycyI6W3sidHlwZSI6InN0cmlu
ZyJ9XX0KLXsic291cmNlIjoiY29uc29sZS1hcGkiLCJsZXZlbCI6Indhcm5pbmciLCJ0ZXh0Ijoi
d2FybiBzY3JpcHQiLCJsb2NhdGlvbiI6ImVycm9ycy5qczoxOjQ0IiwicGFyYW1ldGVycyI6W3si
dHlwZSI6InN0cmluZyJ9XX0KLXsic291cmNlIjoiY29uc29sZS1hcGkiLCJsZXZlbCI6ImVycm9y
IiwidGV4dCI6ImVycm9yIHNjcmlwdCIsImxvY2F0aW9uIjoiZXJyb3JzLmpzOjU6MTgiLCJwYXJh
bWV0ZXJzIjpbeyJ0eXBlIjoic3RyaW5nIn1dfQoteyJzb3VyY2UiOiJjb25zb2xlLWFwaSIsImxl
dmVsIjoid2FybmluZyIsInRleHQiOiJ3YXJuIHNjcmlwdCIsImxvY2F0aW9uIjoiZXJyb3JzLmpz
OjY6MTciLCJwYXJhbWV0ZXJzIjpbeyJ0eXBlIjoic3RyaW5nIn1dfQoteyJzb3VyY2UiOiJqYXZh
c2NyaXB0IiwibGV2ZWwiOiJlcnJvciIsInRleHQiOiJUeXBlRXJyb3I6IHVuZGVmaW5lZCBpcyBu
b3QgYW4gb2JqZWN0IChldmFsdWF0aW5nICdbXS54LngnKSIsImxvY2F0aW9uIjoid2FybmluZ3Mt
ZXJyb3JzLmh0bWw6MTU6MTgifQoteyJzb3VyY2UiOiJjb25zb2xlLWFwaSIsImxldmVsIjoid2Fy
bmluZyIsInRleHQiOiJ3YXJuIDEiLCJsb2NhdGlvbiI6Indhcm5pbmdzLWVycm9ycy5odG1sOjE3
OjEzIiwicGFyYW1ldGVycyI6W3sidHlwZSI6InN0cmluZyJ9XX0KLXsic291cmNlIjoiY29uc29s
ZS1hcGkiLCJsZXZlbCI6ImVycm9yIiwidGV4dCI6ImVycm9yIDEiLCJsb2NhdGlvbiI6Indhcm5p
bmdzLWVycm9ycy5odG1sOjE3OjM4IiwicGFyYW1ldGVycyI6W3sidHlwZSI6InN0cmluZyJ9XX0K
LXsic291cmNlIjoiY29uc29sZS1hcGkiLCJsZXZlbCI6ImVycm9yIiwidGV4dCI6ImVycm9yIDIi
LCJsb2NhdGlvbiI6Indhcm5pbmdzLWVycm9ycy5odG1sOjE4OjE3IiwicGFyYW1ldGVycyI6W3si
dHlwZSI6InN0cmluZyJ9XX0KLQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLXBy
b3RvY29sL2NvbnNvbGUvd2FybmluZ3MtZXJyb3JzLmh0bWwgYi9MYXlvdXRUZXN0cy9pbnNwZWN0
b3ItcHJvdG9jb2wvY29uc29sZS93YXJuaW5ncy1lcnJvcnMuaHRtbApkZWxldGVkIGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggODFhYmZjYzEzNWFlYjM0ODRkMTcyZTZjNmUyZmQzZmE1NDdiMTY0OC4u
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0
cy9pbnNwZWN0b3ItcHJvdG9jb2wvY29uc29sZS93YXJuaW5ncy1lcnJvcnMuaHRtbAorKysgL2Rl
di9udWxsCkBAIC0xLDQ2ICswLDAgQEAKLTxodG1sPgotPGhlYWQ+Ci08c2NyaXB0IHR5cGU9InRl
eHQvamF2YXNjcmlwdCIgc3JjPSIuLi8uLi9odHRwL3Rlc3RzL2luc3BlY3Rvci1wcm90b2NvbC9y
ZXNvdXJjZXMvcHJvdG9jb2wtdGVzdC5qcyI+PC9zY3JpcHQ+Ci08bGluayByZWw9InN0eWxlc2hl
ZXQiIGhyZWY9Ii4uL3Jlc291cmNlcy9lcnJvcnMuY3NzIj4KLSAgPHN0eWxlPiAgICBkaXYgeyAq
IGNvbG9yOiByZWQ7IH08L3N0eWxlPgotPHN0eWxlPmRpdiB7ICogY29sb3I6IHJlZDsgfQotZGl2
IHsgKiBjb2xvcjogcmVkOyB9Ci0gICBkaXYgewotICAgICAgICoKLSAgICAgICBjb2xvcjoKLSAg
ICAgICByZWQ7Ci0gICB9Ci08L3N0eWxlPgotPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy9lcnJv
cnMuanMiIHR5cGU9InRleHQvamF2YXNjcmlwdCIgY2hhcnNldD0idXRmLTgiPjwvc2NyaXB0Pgot
ICA8c2NyaXB0PiAgIFtdLngueCAgIDwvc2NyaXB0PgotPHNjcmlwdD4KLWNvbnNvbGUud2Fybigi
d2FybiAxIik7IGNvbnNvbGUuZXJyb3IoImVycm9yIDEiKTsKLSAgIGNvbnNvbGUuZXJyb3IoImVy
cm9yIDIiKTsKLTwvc2NyaXB0PgotPHNjcmlwdD4KLWZ1bmN0aW9uIHRlc3QoKQotewotICAgIElu
c3BlY3RvclRlc3QuaW1wb3J0U2NyaXB0KCIuLi8uLi8uLi8uLi9pbnNwZWN0b3ItcHJvdG9jb2wv
cmVzb3VyY2VzL2NvbnNvbGUtaGVscGVyLmpzIik7Ci0KLSAgICBJbnNwZWN0b3JUZXN0LnNlbmRD
b21tYW5kKCJDb25zb2xlLmVuYWJsZSIsIHt9KTsKLQotICAgIHZhciBjb25zb2xlTWVzc2FnZUNv
dW50ID0gMDsKLSAgICBjb25zdCBleHBlY3RlZENvbnNvbGVNZXNzYWdlcyA9IDE1OwotCi0gICAg
SW5zcGVjdG9yVGVzdC5ldmVudEhhbmRsZXJbIkNvbnNvbGUubWVzc2FnZUFkZGVkIl0gPSBmdW5j
dGlvbihtZXNzYWdlT2JqZWN0KQotICAgIHsKLSAgICAgICAgdmFyIHNpbXBsaWZpZWRNZXNzYWdl
ID0gQ29uc29sZUhlbHBlci5zaW1wbGlmaWVkQ29uc29sZU1lc3NhZ2UobWVzc2FnZU9iamVjdCk7
Ci0gICAgICAgIEluc3BlY3RvclRlc3QubG9nKEpTT04uc3RyaW5naWZ5KHNpbXBsaWZpZWRNZXNz
YWdlKSk7Ci0KLSAgICAgICAgaWYgKCsrY29uc29sZU1lc3NhZ2VDb3VudCA9PT0gZXhwZWN0ZWRD
b25zb2xlTWVzc2FnZXMpCi0gICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmNvbXBsZXRlVGVzdCgp
OwotICAgIH0KLX0KLTwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHkgb25sb2FkPSJydW5UZXN0KCki
PgotPHA+Ci1UZXN0cyB0aGF0IENTUy9KYXZhU2NyaXB0IGVycm9ycyBhbmQgd2FybmluZ3MgYXJl
IHNlbnQgdG8gdGhlIGNvbnNvbGUgd2l0aCBsaW5lIGFuZCBjb2x1bW4gaW5mb3JtYXRpb24uPGJy
PgotPC9wPgotPC9ib2R5PgotPC9odG1sPgo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>257389</attachid>
            <date>2015-07-23 15:00:13 -0700</date>
            <delta_ts>2015-07-23 16:21:53 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-147231-20150723145857.patch</filename>
            <type>text/plain</type>
            <size>37203</size>
            <attacher name="Brian Burg">burg</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTg3MjQ1CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFu
Z2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggYzFiMmYwY2E2M2QxMzEyNTExMmRk
NDUzNTdlZGQ1ZjllNDc3ZjExOS4uYmJhYjI2NGJiNjIwZjA5YjRiMjNkNmU5ZTk5Y2ZlZTRkZDc2
NTkxZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3Rz
L0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ5IEBACisyMDE1LTA3LTIzICBCcmlhbiBKLiBCdXJnICA8
YnVyZ0Bjcy53YXNoaW5ndG9uLmVkdT4KKworICAgICAgICBXZWIgSW5zcGVjdG9yOiByZXdyaXRl
IGluc3BlY3Rvci1wcm90b2NvbC9jb25zb2xlIHRlc3RzIHRvIHVzZSBuZXcgdGVzdGluZyBwYXR0
ZXJucworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTQ3
MjMxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgSm9zZXBoIFBlY29yYXJvLgorCisgICAgICAgIFJl
c3RydWN0dXJlIGV4aXN0aW5nIHByb3RvY29sIHRlc3RzIGZvciBDb25zb2xlLm1lc3NhZ2VBZGRl
ZCB0byB1c2UgUHJvbWlzZXMgYW5kCisgICAgICAgIG1vZGVybiBldmVudCBsaXN0ZW5lciB0ZXN0
IGludGVyZmFjZXMuIEFkZCBzb21lIG5ldyBmdW5jdGlvbmFsaXR5IHRvIG1ha2UgaXQgZWFzaWVy
CisgICAgICAgIGluc3RhbGwgbXVsdGlwbGUgcHJvdG9jb2wgZXZlbnQgbGlzdGVuZXJzIHdpdGhv
dXQgY2xvYmJlcmluZy4KKworICAgICAgICBUaGlzIHRlc3QgYWxzbyBzcGxpdHMgd2FybmluZ3Mt
ZXJyb3JzLmh0bWwgaW50byB0d28gdGVzdHMsIG9uZSB0byBjb3ZlciBDU1MgcGFyc2VyCisgICAg
ICAgIHdhcm5pbmdzIGFuZCBvbmUgZm9yIEphdmFTY3JpcHQgcGFyc2VyIGFuZCBydW50aW1lIGVy
cm9ycy4KKworICAgICAgICAqIGh0dHAvdGVzdHMvaW5zcGVjdG9yLXByb3RvY29sL3Jlc291cmNl
cy9JbnNwZWN0b3JUZXN0LmpzOgorICAgICAgICAoSW5zcGVjdG9yVGVzdC5zZW5kQ29tbWFuZCk6
IFN1cHBvcnQgYXJndW1lbnRzIHBhY2thZ2VkIGluIGFuIG9iamVjdC4gVGhpcyBzdHlsZSBpcyBw
cmVmZXJhYmxlCisgICAgICAgIGluIHRlc3RzIGJlY2F1c2UgaXQgaXMgdmVyeSBleHBsaWNpdCBh
Ym91dCB3aGF0IGZ1bmN0aW9uYWxpdHkgYW5kIG1lc3NhZ2VzIGFyZSBjb3ZlcmVkLgorCisgICAg
ICAgIChJbnNwZWN0b3JUZXN0LmF3YWl0RXZlbnQpOiBBZGRlZC4gVGhpcyBpcyBhIHNpbmdsZS1z
aG90IGV2ZW50IGxpc3RlbmVyIHRoYXQgcmVzb2x2ZXMgYQorICAgICAgICBwcm9taXNlIHdoZW4g
dGhlIGRlc2lyZWQgcHJvdG9jb2wgZXZlbnQgaXMgZGlzcGF0Y2hlZC4KKworICAgICAgICAoSW5z
cGVjdG9yVGVzdC5hZGRFdmVudExpc3RlbmVyKTogUmVpbXBsZW1lbnRlZCwgYmFzZWQgb24gY29k
ZSBmcm9tIFdlYkluc3BlY3Rvci5PYmplY3QuCisgICAgICAgIEFsbG93cyBtdWx0aXBsZSBsaXN0
ZW5lcnMgdG8gYmUgcmVnaXN0ZXJlZCBmb3IgYSBzaW5nbGUgcHJvdG9jb2wgZXZlbnQuCisKKyAg
ICAgICAgKEluc3BlY3RvclRlc3QuQXN5bmNUZXN0U3VpdGUucHJvdG90eXBlLnJ1blRlc3RDYXNl
cyk6CisgICAgICAgIChJbnNwZWN0b3JUZXN0LkFzeW5jVGVzdFN1aXRlKToKKyAgICAgICAgKElu
c3BlY3RvclRlc3QuU3luY1Rlc3RTdWl0ZS5wcm90b3R5cGUucnVuVGVzdENhc2VzKToKKyAgICAg
ICAgKEluc3BlY3RvclRlc3QuU3luY1Rlc3RTdWl0ZSk6CisgICAgICAgIChJbnNwZWN0b3JUZXN0
LmxvZyk6IEltcHJvdmUgdGhlIGZvcm1hdHRpbmcgb2YgdGVzdCBzdWl0ZS90ZXN0IGNhc2Ugb3V0
cHV0LgorCisgICAgICAgIChJbnNwZWN0b3JGcm9udGVuZEFQSS5kaXNwYXRjaE1lc3NhZ2VBc3lu
Yyk6IERpc3BhdGNoIHRvIGFuIGFycmF5IG9mIGxpc3RlbmVycyBpZiBhdmFpbGFibGUuCisgICAg
ICAgIChJbnNwZWN0b3JUZXN0LmltcG9ydFNjcmlwdCk6IENsYXJpZnkgdGhhdCB0aGlzIG1ldGhv
ZCBwZXJmb3JtcyBhIHN5bmNocm9ub3VzIGxvYWQuCisgICAgICAgICguSW5zcGVjdG9yVGVzdC5l
dmVudEhhbmRsZXIuZXZlbnROYW1lKTogRGVsZXRlZC4KKyAgICAgICAgKiBpbnNwZWN0b3ItcHJv
dG9jb2wvYXN5bmMtdGVzdC1zdWl0ZS1leHBlY3RlZC50eHQ6IFJlYmFzZWxpbmUgd2hpdGVzcGFj
ZS4KKyAgICAgICAgKiBpbnNwZWN0b3ItcHJvdG9jb2wvc3luYy10ZXN0LXN1aXRlLWV4cGVjdGVk
LnR4dDogUmViYXNlbGluZSB3aGl0ZXNwYWNlLgorICAgICAgICAqIGluc3BlY3Rvci1wcm90b2Nv
bC9jb25zb2xlL2NvbnNvbGUtbWVzc2FnZS1leHBlY3RlZC50eHQ6CisgICAgICAgICogaW5zcGVj
dG9yLXByb3RvY29sL2NvbnNvbGUvY29uc29sZS1tZXNzYWdlLmh0bWw6CisgICAgICAgICogaW5z
cGVjdG9yLXByb3RvY29sL2NvbnNvbGUvY3NzLXNvdXJjZS1sb2NhdGlvbnMtZXhwZWN0ZWQudHh0
OiBBZGRlZC4KKyAgICAgICAgKiBpbnNwZWN0b3ItcHJvdG9jb2wvY29uc29sZS9jc3Mtc291cmNl
LWxvY2F0aW9ucy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBpbnNwZWN0b3ItcHJvdG9jb2wvY29u
c29sZS9qcy1zb3VyY2UtbG9jYXRpb25zLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICog
aW5zcGVjdG9yLXByb3RvY29sL2NvbnNvbGUvanMtc291cmNlLWxvY2F0aW9ucy5odG1sOiBBZGRl
ZC4KKyAgICAgICAgKiBpbnNwZWN0b3ItcHJvdG9jb2wvY29uc29sZS93YXJuaW5ncy1lcnJvcnMt
ZXhwZWN0ZWQudHh0OiBSZW1vdmVkLgorICAgICAgICAqIGluc3BlY3Rvci1wcm90b2NvbC9jb25z
b2xlL3dhcm5pbmdzLWVycm9ycy5odG1sOiBSZW1vdmVkLgorICAgICAgICAqIGluc3BlY3Rvci1w
cm90b2NvbC9ydW50aW1lL2dldFByb3BlcnRpZXMtZXhwZWN0ZWQudHh0OiBSZWJhc2VsaW5lIHdo
aXRlc3BhY2UuCisKKwogMjAxNS0wNy0yMyAgTWljaGFlbCBTYWJvZmYgIDxtc2Fib2ZmQGFwcGxl
LmNvbT4KIAogICAgICAgICBBcHBsaWNhdGlvbiBjYWNoZSBhYm9ydCgpIHRlc3RzIGFyZSBmbGFr
eQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0b3ItcHJvdG9jb2wv
cmVzb3VyY2VzL0luc3BlY3RvclRlc3QuanMgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2luc3Bl
Y3Rvci1wcm90b2NvbC9yZXNvdXJjZXMvSW5zcGVjdG9yVGVzdC5qcwppbmRleCAzYzY5ZmI2NDll
ODU1YTE2YjE3ZmU2NWEzYTA1Y2EyYzE4ZjE5MjAzLi43NjUzZGEzZDYyY2I2YzQxZGFjMWEzOGE5
ZjVkNDVlN2VlZjg2YjdjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2luc3Bl
Y3Rvci1wcm90b2NvbC9yZXNvdXJjZXMvSW5zcGVjdG9yVGVzdC5qcworKysgYi9MYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL2luc3BlY3Rvci1wcm90b2NvbC9yZXNvdXJjZXMvSW5zcGVjdG9yVGVzdC5q
cwpAQCAtMjksMTIgKzI5LDE4IEBAIEluc3BlY3RvclRlc3QgPSB7fTsKIEluc3BlY3RvclRlc3Qu
X2Rpc3BhdGNoVGFibGUgPSBbXTsKIEluc3BlY3RvclRlc3QuX3JlcXVlc3RJZCA9IC0xOwogSW5z
cGVjdG9yVGVzdC5ldmVudEhhbmRsZXIgPSB7fTsKK0luc3BlY3RvclRlc3QubG9nQ291bnQgPSAw
OwogCiBJbnNwZWN0b3JUZXN0LmR1bXBJbnNwZWN0b3JQcm90b2NvbE1lc3NhZ2VzID0gZmFsc2U7
CiBJbnNwZWN0b3JUZXN0LmZvcmNlU3luY0RlYnVnTG9nZ2luZyA9IGZhbHNlOwogCi1JbnNwZWN0
b3JUZXN0LnNlbmRDb21tYW5kID0gZnVuY3Rpb24obWV0aG9kLCBwYXJhbXMsIGhhbmRsZXIpCitJ
bnNwZWN0b3JUZXN0LnNlbmRDb21tYW5kID0gZnVuY3Rpb24obWV0aG9kT3JPYmplY3QsIHBhcmFt
cywgaGFuZGxlcikKIHsKKyAgICAvLyBBbGxvdyBuZXctc3R5bGUgYXJndW1lbnRzIG9iamVjdCwg
YXMgaW4gYXdhaXRDb21tYW5kLgorICAgIHZhciBtZXRob2QgPSBtZXRob2RPck9iamVjdDsKKyAg
ICBpZiAodHlwZW9mIG1ldGhvZE9yT2JqZWN0ID09PSAib2JqZWN0IikKKyAgICAgICAgdmFyIHtt
ZXRob2QsIHBhcmFtcywgaGFuZGxlcn0gPSBtZXRob2RPck9iamVjdDsKKwogICAgIHRoaXMuX2Rp
c3BhdGNoVGFibGVbKyt0aGlzLl9yZXF1ZXN0SWRdID0gaGFuZGxlcjsKICAgICB2YXIgbWVzc2Fn
ZU9iamVjdCA9IHttZXRob2QsIHBhcmFtcywgImlkIjogdGhpcy5fcmVxdWVzdElkfTsKICAgICB0
aGlzLnNlbmRNZXNzYWdlKG1lc3NhZ2VPYmplY3QpOwpAQCAtNTIsNiArNTgsNDYgQEAgSW5zcGVj
dG9yVGVzdC5hd2FpdENvbW1hbmQgPSBmdW5jdGlvbihhcmdzKQogICAgIH0uYmluZCh0aGlzKSk7
CiB9CiAKK0luc3BlY3RvclRlc3QuYXdhaXRFdmVudCA9IGZ1bmN0aW9uKGFyZ3MpCit7CisgICAg
dmFyIHtldmVudH0gPSBhcmdzOworICAgIGlmICh0eXBlb2YgZXZlbnQgIT09ICJzdHJpbmciKQor
ICAgICAgICB0aHJvdyBuZXcgRXJyb3IoIkV2ZW50IG11c3QgYmUgYSBzdHJpbmcuIik7CisKKyAg
ICByZXR1cm4gbmV3IFByb21pc2UoZnVuY3Rpb24ocmVzb2x2ZSwgcmVqZWN0KSB7CisgICAgICAg
IEluc3BlY3RvclRlc3QuZXZlbnRIYW5kbGVyW2V2ZW50XSA9IGZ1bmN0aW9uKG1lc3NhZ2UpIHsK
KyAgICAgICAgICAgIEluc3BlY3RvclRlc3QuZXZlbnRIYW5kbGVyW2V2ZW50XSA9IHVuZGVmaW5l
ZDsKKyAgICAgICAgICAgIHJlc29sdmUobWVzc2FnZSk7CisgICAgICAgIH0KKyAgICB9KTsKK30K
KworSW5zcGVjdG9yVGVzdC5hZGRFdmVudExpc3RlbmVyID0gZnVuY3Rpb24oZXZlbnRUeXBlT3JP
YmplY3QsIGxpc3RlbmVyKQoreworICAgIHZhciBldmVudCA9IGV2ZW50VHlwZU9yT2JqZWN0Owor
ICAgIGlmICh0eXBlb2YgZXZlbnRUeXBlT3JPYmplY3QgPT09ICJvYmplY3QiKQorICAgICAgICB2
YXIge2V2ZW50LCBsaXN0ZW5lcn0gPSBldmVudFR5cGVPck9iamVjdDsKKworICAgIGlmICh0eXBl
b2YgZXZlbnQgIT09ICJzdHJpbmciKQorICAgICAgICB0aHJvdyBuZXcgRXJyb3IoIkV2ZW50IG5h
bWUgbXVzdCBiZSBhIHN0cmluZy4iKTsKKworICAgIGlmICh0eXBlb2YgbGlzdGVuZXIgIT09ICJm
dW5jdGlvbiIpCisgICAgICAgIHRocm93IG5ldyBFcnJvcigiRXZlbnQgbGlzdGVuZXIgbXVzdCBi
ZSBjYWxsYWJsZS4iKTsKKworICAgIC8vIENvbnZlcnQgdG8gYW4gYXJyYXkgb2YgbGlzdGVuZXJz
LgorICAgIHZhciBsaXN0ZW5lcnMgPSBJbnNwZWN0b3JUZXN0LmV2ZW50SGFuZGxlcltldmVudF07
CisgICAgaWYgKCFsaXN0ZW5lcnMpCisgICAgICAgIGxpc3RlbmVycyA9IEluc3BlY3RvclRlc3Qu
ZXZlbnRIYW5kbGVyW2V2ZW50XSA9IFtdOworICAgIGVsc2UgaWYgKHR5cGVvZiBsaXN0ZW5lcnMg
PT09ICJmdW5jdGlvbiIpCisgICAgICAgIGxpc3RlbmVycyA9IEluc3BlY3RvclRlc3QuZXZlbnRI
YW5kbGVyW2V2ZW50XSA9IFtsaXN0ZW5lcnNdOworCisgICAgLy8gUHJldmVudCByZWdpc3Rlcmlu
ZyBtdWx0aXBsZSB0aW1lcy4KKyAgICBpZiAobGlzdGVuZXJzLmluY2x1ZGVzKGxpc3RlbmVyKSkK
KyAgICAgICAgdGhyb3cgbmV3IEVycm9yKCJDYW5ub3QgcmVnaXN0ZXIgdGhlIHNhbWUgbGlzdGVu
ZXIgbW9yZSB0aGFuIG9uY2UuIik7CisKKyAgICBsaXN0ZW5lcnMucHVzaChsaXN0ZW5lcik7Cit9
CisKIEluc3BlY3RvclRlc3Quc2VuZE1lc3NhZ2UgPSBmdW5jdGlvbihtZXNzYWdlT2JqZWN0KQog
ewogICAgIC8vIFRoaXMgbWF0Y2hlcyB0aGUgZGVidWcgZHVtcGluZyBpbiBJbnNwZWN0b3JCYWNr
ZW5kLCB3aGljaCBpcyBieXBhc3NlZApAQCAtODcsOSArMTMzLDEzIEBAIEluc3BlY3RvckZyb250
ZW5kQVBJLmRpc3BhdGNoTWVzc2FnZUFzeW5jID0gZnVuY3Rpb24obWVzc2FnZU9iamVjdCkKICAg
ICAgICAgaWYgKCFoYW5kbGVyKQogICAgICAgICAgICAgcmV0dXJuOwogCi0gICAgICAgIGlmICh0
eXBlb2YgaGFuZGxlciA9PSAiZnVuY3Rpb24iKQorICAgICAgICBpZiAodHlwZW9mIGhhbmRsZXIg
PT09ICJmdW5jdGlvbiIpCiAgICAgICAgICAgICBoYW5kbGVyKG1lc3NhZ2VPYmplY3QpOwotICAg
ICAgICBlbHNlIGlmICh0eXBlb2YgaGFuZGxlciA9PT0gIm9iamVjdCIpIHsKKyAgICAgICAgZWxz
ZSBpZiAoaGFuZGxlciBpbnN0YW5jZW9mIEFycmF5KSB7CisgICAgICAgICAgICBoYW5kbGVyLm1h
cChmdW5jdGlvbihsaXN0ZW5lcikgeworICAgICAgICAgICAgICAgIGxpc3RlbmVyLmNhbGwobnVs
bCwgbWVzc2FnZU9iamVjdCk7CisgICAgICAgICAgICB9KTsKKyAgICAgICAgfSBlbHNlIGlmICh0
eXBlb2YgaGFuZGxlciA9PT0gIm9iamVjdCIpIHsKICAgICAgICAgICAgIHZhciB7cmVzb2x2ZSwg
cmVqZWN0fSA9IGhhbmRsZXI7CiAgICAgICAgICAgICBpZiAoImVycm9yIiBpbiBtZXNzYWdlT2Jq
ZWN0KQogICAgICAgICAgICAgICAgIHJlamVjdChtZXNzYWdlT2JqZWN0LmVycm9yLm1lc3NhZ2Up
OwpAQCAtOTksMzIgKzE0OSw2IEBAIEluc3BlY3RvckZyb250ZW5kQVBJLmRpc3BhdGNoTWVzc2Fn
ZUFzeW5jID0gZnVuY3Rpb24obWVzc2FnZU9iamVjdCkKICAgICB9CiB9CiAKLS8qKgotKiBSZWdp
c3RlcnMgYW4gZXZlbnQgaGFuZGxlciBmb3IgbWVzc2FnZXMgY29taW5nIGZyb20gdGhlIEluc3Bl
Y3RvckJhY2tlbmQuCi0qIElmIG11bHRpcGxlIGNhbGxiYWNrcyBhcmUgcmVnaXN0ZXJlZCBmb3Ig
dGhlIHNhbWUgZXZlbnQsIGl0IHdpbGwgY2hhaW4gdGhlIGV4ZWN1dGlvbi4KLSogQHBhcmFtIHtz
dHJpbmd9IGV2ZW50IG5hbWUKLSogQHBhcmFtIHtmdW5jdGlvbn0gaGFuZGxlciB0byBiZSBleGVj
dXRlZAotKiBAcGFyYW0ge2Jvb2xlYW59IGV4ZWN1dGUgdGhlIGhhbmRsZXIgYmVmb3JlIGFsbCBv
dGhlciBoYW5kbGVycwotKi8KLUluc3BlY3RvclRlc3QuYWRkRXZlbnRMaXN0ZW5lciA9IGZ1bmN0
aW9uKGV2ZW50TmFtZSwgY2FsbGJhY2ssIGNhcHR1cmUpCi17Ci0gICAgaWYgKCFJbnNwZWN0b3JU
ZXN0LmV2ZW50SGFuZGxlcltldmVudE5hbWVdKSB7Ci0gICAgICAgIEluc3BlY3RvclRlc3QuZXZl
bnRIYW5kbGVyW2V2ZW50TmFtZV0gPSBjYWxsYmFjazsKLSAgICAgICAgcmV0dXJuOwotICAgIH0K
LSAgICB2YXIgZmlyc3RIYW5kbGVyID0gSW5zcGVjdG9yVGVzdC5ldmVudEhhbmRsZXJbZXZlbnRO
YW1lXTsKLSAgICB2YXIgc2Vjb25kSGFuZGxlciA9IGNhbGxiYWNrOwotICAgIGlmIChjYXB0dXJl
KSB7Ci0gICAgICAgIC8vIFN3YXAgZmlyc3RIYW5kbGVyIHdpdGggdGhlIG5ldyBjYWxsYmFjaywg
c28gdGhhdCB3ZSBleGVjdXRlIHRoZSBjYWxsYmFjayBmaXJzdC4KLSAgICAgICAgW2ZpcnN0SGFu
ZGxlciwgc2Vjb25kSGFuZGxlcl0gPSBbc2Vjb25kSGFuZGxlciwgZmlyc3RIYW5kbGVyXTsKLSAg
ICB9Ci0gICAgSW5zcGVjdG9yVGVzdC5ldmVudEhhbmRsZXJbZXZlbnROYW1lXSA9IGZ1bmN0aW9u
KG1lc3NhZ2VPYmplY3QpCi0gICAgewotICAgICAgICBmaXJzdEhhbmRsZXIobWVzc2FnZU9iamVj
dCk7Ci0gICAgICAgIHNlY29uZEhhbmRsZXIobWVzc2FnZU9iamVjdCk7Ci0gICAgfTsKLX0KLQog
SW5zcGVjdG9yVGVzdC5Bc3luY1Rlc3RTdWl0ZSA9IGNsYXNzIEFzeW5jVGVzdFN1aXRlIHsKICAg
ICBjb25zdHJ1Y3RvcihuYW1lKSB7CiAgICAgICAgIGlmICghbmFtZSB8fCB0eXBlb2YgbmFtZSAh
PT0gInN0cmluZyIpCkBAIC0xODYsMTIgKzIxMCwxOSBAQCBJbnNwZWN0b3JUZXN0LkFzeW5jVGVz
dFN1aXRlID0gY2xhc3MgQXN5bmNUZXN0U3VpdGUgewogCiAgICAgICAgIHRoaXMuX3N0YXJ0ZWRS
dW5uaW5nID0gdHJ1ZTsKIAotICAgICAgICBJbnNwZWN0b3JUZXN0LmxvZygiUnVubmluZyB0ZXN0
IHN1aXRlOiAiICsgdGhpcy5uYW1lKTsKKyAgICAgICAgSW5zcGVjdG9yVGVzdC5sb2coIiIpOwor
ICAgICAgICBJbnNwZWN0b3JUZXN0LmxvZygiPT0gUnVubmluZyB0ZXN0IHN1aXRlOiAiICsgdGhp
cy5uYW1lKTsKIAorICAgICAgICAvLyBBdm9pZCBhZGRpbmcgbmV3bGluZXMgaWYgbm90aGluZyB3
YXMgbG9nZ2VkLgorICAgICAgICB2YXIgcHJpb3JMb2dDb3VudCA9IEluc3BlY3RvclRlc3QubG9n
Q291bnQ7CiAgICAgICAgIHZhciBzdWl0ZSA9IHRoaXM7Ci0gICAgICAgIHZhciByZXN1bHQgPSB0
aGlzLnRlc3RjYXNlcy5yZWR1Y2UoZnVuY3Rpb24oY2hhaW4sIHRlc3RjYXNlKSB7CisgICAgICAg
IHZhciByZXN1bHQgPSB0aGlzLnRlc3RjYXNlcy5yZWR1Y2UoZnVuY3Rpb24oY2hhaW4sIHRlc3Rj
YXNlLCBpKSB7CiAgICAgICAgICAgICByZXR1cm4gY2hhaW4udGhlbihmdW5jdGlvbigpIHsKLSAg
ICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmxvZygiUnVubmluZyB0ZXN0IGNhc2U6ICIgKyB0
ZXN0Y2FzZS5uYW1lKTsKKyAgICAgICAgICAgICAgICBpZiAoaSA+IDAgJiYgcHJpb3JMb2dDb3Vu
dCArIDEgPCBJbnNwZWN0b3JUZXN0LmxvZ0NvdW50KQorICAgICAgICAgICAgICAgICAgICBJbnNw
ZWN0b3JUZXN0LmxvZygiIik7CisKKyAgICAgICAgICAgICAgICBwcmlvckxvZ0NvdW50ID0gSW5z
cGVjdG9yVGVzdC5sb2dDb3VudDsKKyAgICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmxvZygi
LS0gUnVubmluZyB0ZXN0IGNhc2U6ICIgKyB0ZXN0Y2FzZS5uYW1lKTsKICAgICAgICAgICAgICAg
ICBzdWl0ZS5ydW5Db3VudCsrOwogICAgICAgICAgICAgICAgIHJldHVybiBuZXcgUHJvbWlzZSh0
ZXN0Y2FzZS50ZXN0KTsKICAgICAgICAgICAgIH0pOwpAQCAtMjA2LDcgKzIzNyw3IEBAIEluc3Bl
Y3RvclRlc3QuQXN5bmNUZXN0U3VpdGUgPSBjbGFzcyBBc3luY1Rlc3RTdWl0ZSB7CiAgICAgICAg
ICAgICBpZiAodHlwZW9mIG1lc3NhZ2UgIT09ICJzdHJpbmciKQogICAgICAgICAgICAgICAgIG1l
c3NhZ2UgPSBKU09OLnN0cmluZ2lmeShtZXNzYWdlKTsKIAotICAgICAgICAgICAgSW5zcGVjdG9y
VGVzdC5sb2coIkVYQ0VQVElPTjogIiArIG1lc3NhZ2UpOworICAgICAgICAgICAgSW5zcGVjdG9y
VGVzdC5sb2coIiEhIEVYQ0VQVElPTjogIiArIG1lc3NhZ2UpOwogICAgICAgICAgICAgdGhyb3cg
ZTsgLy8gUmVqZWN0IHRoaXMgcHJvbWlzZSBieSByZS10aHJvd2luZyB0aGUgZXJyb3IuCiAgICAg
ICAgIH0pOwogICAgIH0KQEAgLTI2NywxMSArMjk4LDE5IEBAIEluc3BlY3RvclRlc3QuU3luY1Rl
c3RTdWl0ZSA9IGNsYXNzIFN5bmNUZXN0U3VpdGUgewogCiAgICAgICAgIHRoaXMuX3N0YXJ0ZWRS
dW5uaW5nID0gdHJ1ZTsKIAotICAgICAgICBJbnNwZWN0b3JUZXN0LmxvZygiUnVubmluZyB0ZXN0
IHN1aXRlOiAiICsgdGhpcy5uYW1lKTsKKyAgICAgICAgSW5zcGVjdG9yVGVzdC5sb2coIiIpOwor
ICAgICAgICBJbnNwZWN0b3JUZXN0LmxvZygiPT0gUnVubmluZyB0ZXN0IHN1aXRlOiAiICsgdGhp
cy5uYW1lKTsKIAorICAgICAgICB2YXIgcHJpb3JMb2dDb3VudCA9IEluc3BlY3RvclRlc3QubG9n
Q291bnQ7CiAgICAgICAgIHZhciBzdWl0ZSA9IHRoaXM7Ci0gICAgICAgIGZvciAodmFyIHRlc3Rj
YXNlIG9mIHRoaXMudGVzdGNhc2VzKSB7Ci0gICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmxvZygi
UnVubmluZyB0ZXN0IGNhc2U6ICIgKyB0ZXN0Y2FzZS5uYW1lKTsKKyAgICAgICAgZm9yICh2YXIg
aSA9IDA7IGkgPCB0aGlzLnRlc3RjYXNlcy5sZW5ndGg7IGkrKykgeworICAgICAgICAgICAgdmFy
IHRlc3RjYXNlID0gdGhpcy50ZXN0Y2FzZXNbaV07CisgICAgICAgICAgICBpZiAoaSA+IDAgJiYg
cHJpb3JMb2dDb3VudCArIDEgPCBJbnNwZWN0b3JUZXN0LmxvZ0NvdW50KQorICAgICAgICAgICAg
ICAgIEluc3BlY3RvclRlc3QubG9nKCIiKTsKKworICAgICAgICAgICAgcHJpb3JMb2dDb3VudCA9
IEluc3BlY3RvclRlc3QubG9nQ291bnQ7CisKKyAgICAgICAgICAgIEluc3BlY3RvclRlc3QubG9n
KCItLSBSdW5uaW5nIHRlc3QgY2FzZTogIiArIHRlc3RjYXNlLm5hbWUpOwogICAgICAgICAgICAg
c3VpdGUucnVuQ291bnQrKzsKICAgICAgICAgICAgIHRyeSB7CiAgICAgICAgICAgICAgICAgdmFy
IHJlc3VsdCA9IHRlc3RjYXNlLnRlc3QuY2FsbChudWxsKTsKQEAgLTI5MCw3ICszMjksNyBAQCBJ
bnNwZWN0b3JUZXN0LlN5bmNUZXN0U3VpdGUgPSBjbGFzcyBTeW5jVGVzdFN1aXRlIHsKICAgICAg
ICAgICAgICAgICBpZiAodHlwZW9mIG1lc3NhZ2UgIT09ICJzdHJpbmciKQogICAgICAgICAgICAg
ICAgICAgICBtZXNzYWdlID0gSlNPTi5zdHJpbmdpZnkobWVzc2FnZSk7CiAKLSAgICAgICAgICAg
ICAgICBJbnNwZWN0b3JUZXN0LmxvZygiRVhDRVBUSU9OOiAiICsgbWVzc2FnZSk7CisgICAgICAg
ICAgICAgICAgSW5zcGVjdG9yVGVzdC5sb2coIiEhIEVYQ0VQVElPTjogIiArIG1lc3NhZ2UpOwog
ICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICAgICAgIH0KICAgICAgICAgfQpA
QCAtMzAyLDYgKzM0MSw4IEBAIEluc3BlY3RvclRlc3QuU3luY1Rlc3RTdWl0ZSA9IGNsYXNzIFN5
bmNUZXN0U3VpdGUgewogLy8gTG9ncyBhIG1lc3NhZ2UgdG8gdGVzdCBkb2N1bWVudC4KIEluc3Bl
Y3RvclRlc3QubG9nID0gZnVuY3Rpb24obWVzc2FnZSkKIHsKKyAgICArK0luc3BlY3RvclRlc3Qu
bG9nQ291bnQ7CisKICAgICBpZiAodGhpcy5mb3JjZVN5bmNEZWJ1Z0xvZ2dpbmcpCiAgICAgICAg
IHRoaXMuZGVidWdMb2cobWVzc2FnZSk7CiAgICAgZWxzZQpAQCAtMzQxLDcgKzM4Miw4IEBAIElu
c3BlY3RvclRlc3QuY2hlY2tGb3JFcnJvciA9IGZ1bmN0aW9uKHJlc3BvbnNlT2JqZWN0KQogSW5z
cGVjdG9yVGVzdC5pbXBvcnRTY3JpcHQgPSBmdW5jdGlvbihzY3JpcHROYW1lKQogewogICAgIHZh
ciB4aHIgPSBuZXcgWE1MSHR0cFJlcXVlc3QoKTsKLSAgICB4aHIub3BlbigiR0VUIiwgc2NyaXB0
TmFtZSwgZmFsc2UpOworICAgIHZhciBpc0FzeW5jUmVxdWVzdCA9IGZhbHNlOworICAgIHhoci5v
cGVuKCJHRVQiLCBzY3JpcHROYW1lLCBpc0FzeW5jUmVxdWVzdCk7CiAgICAgeGhyLnNlbmQobnVs
bCk7CiAgICAgaWYgKHhoci5zdGF0dXMgIT09IDAgJiYgeGhyLnN0YXR1cyAhPT0gMjAwKQogICAg
ICAgICB0aHJvdyBuZXcgRXJyb3IoIkludmFsaWQgc2NyaXB0IFVSTDogIiArIHNjcmlwdE5hbWUp
OwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLXByb3RvY29sL2FzeW5jLXRlc3Qt
c3VpdGUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLXByb3RvY29sL2FzeW5j
LXRlc3Qtc3VpdGUtZXhwZWN0ZWQudHh0CmluZGV4IDJhNGZlMjUwZTk5MmRiOWYzYmQ3MGYxZDgz
YmIxNDlmNWJkNzRkNTguLmVhMzNhNzc4NTZmNDg1MjI2ZDBkZjk5NjBjZGI5NDY5NTQxNzhiZDAg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1wcm90b2NvbC9hc3luYy10ZXN0LXN1
aXRlLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3ItcHJvdG9jb2wvYXN5
bmMtdGVzdC1zdWl0ZS1leHBlY3RlZC50eHQKQEAgLTUsMjYgKzUsMjkgQEAgUEFTUzogc2hvdWxk
IG5vdCBiZSBhYmxlIHRvIGFkZCBub24tb2JqZWN0IHRlc3QgY2FzZS4KIFBBU1M6IHRlc3QgY2Fz
ZSBzaG91bGQgcmVxdWlyZSBzdHJpbmcgbmFtZS4KIFBBU1M6IHRlc3QgY2FzZSBzaG91bGQgcmVx
dWlyZSB0ZXN0IGZ1bmN0aW9uLgogUEFTUzogc2hvdWxkIG5vdCBiZSBhYmxlIHRvIHJ1biBlbXB0
eSB0ZXN0IHN1aXRlLgotUnVubmluZyB0ZXN0IHN1aXRlOiBBc3luY1Rlc3RTdWl0ZS5SdW5Ud2lj
ZVN1aXRlCisKKz09IFJ1bm5pbmcgdGVzdCBzdWl0ZTogQXN5bmNUZXN0U3VpdGUuUnVuVHdpY2VT
dWl0ZQogUEFTUzogc2hvdWxkIG5vdCBiZSBhYmxlIHRvIHJ1biBhIHRlc3Qgc3VpdGUgdHdpY2Uu
Ci1SdW5uaW5nIHRlc3QgY2FzZTogRHVtbXlUZXN0MAotUnVubmluZyB0ZXN0IHN1aXRlOiBBc3lu
Y1Rlc3RTdWl0ZS5TZXF1ZW50aWFsRXhlY3V0aW9uCistLSBSdW5uaW5nIHRlc3QgY2FzZTogRHVt
bXlUZXN0MAorCis9PSBSdW5uaW5nIHRlc3Qgc3VpdGU6IEFzeW5jVGVzdFN1aXRlLlNlcXVlbnRp
YWxFeGVjdXRpb24KIFBBU1M6IEFzeW5jVGVzdFN1aXRlLlJ1blRlc3RDYXNlcygpIHNob3VsZCBy
ZXR1cm4gYSBQcm9taXNlLgotUnVubmluZyB0ZXN0IGNhc2U6IER1bW15VGVzdDEKLVJ1bm5pbmcg
dGVzdCBjYXNlOiBEdW1teVRlc3QyCi1SdW5uaW5nIHRlc3QgY2FzZTogRHVtbXlUZXN0MwotUnVu
bmluZyB0ZXN0IGNhc2U6IEZhaWxpbmdUZXN0NAotRVhDRVBUSU9OOiBbb2JqZWN0IE9iamVjdF0K
Ky0tIFJ1bm5pbmcgdGVzdCBjYXNlOiBEdW1teVRlc3QxCistLSBSdW5uaW5nIHRlc3QgY2FzZTog
RHVtbXlUZXN0MgorLS0gUnVubmluZyB0ZXN0IGNhc2U6IER1bW15VGVzdDMKKy0tIFJ1bm5pbmcg
dGVzdCBjYXNlOiBGYWlsaW5nVGVzdDQKKyEhIEVYQ0VQVElPTjogW29iamVjdCBPYmplY3RdCiBQ
QVNTOiBQcm9taXNlIGZyb20gc2VxdWVudGlhbEV4ZWN1dGlvblN1aXRlLnJ1blRlc3RDYXNlcygp
IHNob3VsZCByZWplY3Qgd2hlbiBhIHRlc3QgY2FzZSBmYWlscy4KIFBBU1M6IFByb21pc2UgZnJv
bSBzZXF1ZW50aWFsRXhlY3V0aW9uU3VpdGUucnVuVGVzdENhc2VzKCkgc2hvdWxkIHJlamVjdCB3
aXRob3V0IGFsdGVyaW5nIGl0cyByZXN1bHQgdmFsdWUuCiBQQVNTOiBzZXF1ZW50aWFsRXhlY3V0
aW9uU3VpdGUgc2hvdWxkIGhhdmUgZXhlY3V0ZWQgZm91ciB0ZXN0cy4KIFBBU1M6IHNlcXVlbnRp
YWxFeGVjdXRpb25TdWl0ZSBzaG91bGQgaGF2ZSBwYXNzZWQgdGhyZWUgdGVzdHMuCiBQQVNTOiBz
ZXF1ZW50aWFsRXhlY3V0aW9uU3VpdGUgc2hvdWxkIGhhdmUgZmFpbGVkIDEgdGVzdC4KIFBBU1M6
IHNlcXVlbnRpYWxFeGVjdXRpb25TdWl0ZSBzaG91bGQgaGF2ZSBza2lwcGVkIHplcm8gdGVzdHMu
Ci1SdW5uaW5nIHRlc3Qgc3VpdGU6IEFzeW5jVGVzdFN1aXRlLkFib3J0T25GYWlsdXJlCi1SdW5u
aW5nIHRlc3QgY2FzZTogUGFzc2luZ1Rlc3Q1Ci1SdW5uaW5nIHRlc3QgY2FzZTogRmFpbGluZ1Rl
c3Q2Ci1FWENFUFRJT046IHsidG9rZW4iOjY2Nn0KKworPT0gUnVubmluZyB0ZXN0IHN1aXRlOiBB
c3luY1Rlc3RTdWl0ZS5BYm9ydE9uRmFpbHVyZQorLS0gUnVubmluZyB0ZXN0IGNhc2U6IFBhc3Np
bmdUZXN0NQorLS0gUnVubmluZyB0ZXN0IGNhc2U6IEZhaWxpbmdUZXN0NgorISEgRVhDRVBUSU9O
OiB7InRva2VuIjo2NjZ9CiBQQVNTOiBQcm9taXNlIGZyb20gYWJvcnRPbkZhaWx1cmVTdWl0ZS5y
dW5UZXN0Q2FzZXMoKSBzaG91bGQgcmVqZWN0IHdoZW4gYSB0ZXN0IGNhc2UgZmFpbHMuCiBQQVNT
OiBQcm9taXNlIGZyb20gYWJvcnRPbkZhaWx1cmVTdWl0ZS5ydW5UZXN0Q2FzZXMoKSBzaG91bGQg
cmVqZWN0IHdpdGhvdXQgYWx0ZXJpbmcgaXRzIHJlc3VsdCB2YWx1ZS4KIFBBU1M6IGFib3J0T25G
YWlsdXJlU3VpdGUgc2hvdWxkIGhhdmUgZXhlY3V0ZWQgdHdvIHRlc3RzLgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW5zcGVjdG9yLXByb3RvY29sL2NvbnNvbGUvY29uc29sZS1tZXNzYWdlLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1wcm90b2NvbC9jb25zb2xlL2NvbnNv
bGUtbWVzc2FnZS1leHBlY3RlZC50eHQKaW5kZXggMjg1ZDdhNDJmZjEyNjZmZDczMjIzMmM5NWY2
MDk1YzFhYTY2MWYzYi4uZWQzZTVhNDgxNDQyOTZkYjUyODc4NDk5NDQzNTYxMjhmYzRhMzA2NyAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLXByb3RvY29sL2NvbnNvbGUvY29uc29s
ZS1tZXNzYWdlLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3ItcHJvdG9j
b2wvY29uc29sZS9jb25zb2xlLW1lc3NhZ2UtZXhwZWN0ZWQudHh0CkBAIC0xLDEyICsxLDQ4IEBA
Ci1DT05TT0xFIE1FU1NBR0U6IGxpbmUgNzogbG9nCi1DT05TT0xFIE1FU1NBR0U6IGxpbmUgODog
aW5mbwotQ09OU09MRSBNRVNTQUdFOiBsaW5lIDk6IHdhcm4KLUNPTlNPTEUgTUVTU0FHRTogbGlu
ZSAxMDogZXJyb3IKLUNPTlNPTEUgTUVTU0FHRTogbGluZSAxMTogZGVidWcKLVRlc3RzIHRoYXQg
Y29uc29sZSBsb2cgbWVzc2FnZXMgbWFrZSBpdCB0byB0aGUgZnJvbnRlbmQgYW5kIGhhdmUgZXhw
ZWN0ZWQgc291cmNlLCB0eXBlLCBhbmQgbGV2ZWxzLgoteyJzb3VyY2UiOiJjb25zb2xlLWFwaSIs
ImxldmVsIjoibG9nIiwidGV4dCI6ImxvZyIsImxvY2F0aW9uIjoiY29uc29sZS1tZXNzYWdlLmh0
bWw6NzoxNiIsInBhcmFtZXRlcnMiOlt7InR5cGUiOiJzdHJpbmcifV19Ci17InNvdXJjZSI6ImNv
bnNvbGUtYXBpIiwibGV2ZWwiOiJpbmZvIiwidGV4dCI6ImluZm8iLCJsb2NhdGlvbiI6ImNvbnNv
bGUtbWVzc2FnZS5odG1sOjg6MTciLCJwYXJhbWV0ZXJzIjpbeyJ0eXBlIjoic3RyaW5nIn1dfQot
eyJzb3VyY2UiOiJjb25zb2xlLWFwaSIsImxldmVsIjoid2FybmluZyIsInRleHQiOiJ3YXJuIiwi
bG9jYXRpb24iOiJjb25zb2xlLW1lc3NhZ2UuaHRtbDo5OjE3IiwicGFyYW1ldGVycyI6W3sidHlw
ZSI6InN0cmluZyJ9XX0KLXsic291cmNlIjoiY29uc29sZS1hcGkiLCJsZXZlbCI6ImVycm9yIiwi
dGV4dCI6ImVycm9yIiwibG9jYXRpb24iOiJjb25zb2xlLW1lc3NhZ2UuaHRtbDoxMDoxOCIsInBh
cmFtZXRlcnMiOlt7InR5cGUiOiJzdHJpbmcifV19Ci17InNvdXJjZSI6ImNvbnNvbGUtYXBpIiwi
bGV2ZWwiOiJkZWJ1ZyIsInRleHQiOiJkZWJ1ZyIsImxvY2F0aW9uIjoiY29uc29sZS1tZXNzYWdl
Lmh0bWw6MTE6MTgiLCJwYXJhbWV0ZXJzIjpbeyJ0eXBlIjoic3RyaW5nIn1dfQorQ09OU09MRSBN
RVNTQUdFOiBsaW5lIDE6IGxvZworQ09OU09MRSBNRVNTQUdFOiBsaW5lIDE6IGluZm8KK0NPTlNP
TEUgTUVTU0FHRTogbGluZSAxOiB3YXJuCitDT05TT0xFIE1FU1NBR0U6IGxpbmUgMTogZXJyb3IK
K0NPTlNPTEUgTUVTU0FHRTogbGluZSAxOiBkZWJ1ZworVGVzdHMgdGhhdCBjb25zb2xlLmxvZyBh
bmQgcmVsYXRlZCBBUElzIGNhdXNlIENvbnNvbGUubWVzc2FnZUFkZGVkIGV2ZW50cyB0byBiZSBn
ZW5lcmF0ZWQgd2l0aCBjb3JyZWN0IHNvdXJjZSwgdHlwZSwgbGV2ZWwsIGFuZCBwYXJhbWV0ZXIg
dHlwZXMuIAorCis9PSBSdW5uaW5nIHRlc3Qgc3VpdGU6IENvbnNvbGUuTWVzc2FnZXNGcm9tQ29t
bWFuZExpbmVBUEkKKy0tIFJ1bm5pbmcgdGVzdCBjYXNlOiBDb25zb2xlTG9nU3RyaW5nCitFdmFs
dWF0aW5nIGV4cHJlc3Npb246IGNvbnNvbGUubG9nKCJsb2ciKTsKK1BBU1M6IENvbnNvbGVNZXNz
YWdlIHR5cGUgc2hvdWxkIGJlICdjb25zb2xlLWFwaScuCitQQVNTOiBDb25zb2xlTWVzc2FnZSBs
ZXZlbCBzaG91bGQgYmUgJ2xvZycuCitQQVNTOiBDb25zb2xlTWVzc2FnZSB0ZXh0IHNob3VsZCBi
ZSAnbG9nJy4KK1BBU1M6IENvbnNvbGVNZXNzYWdlIHBhcmFtZXRlcnMubGVuZ3RoID09PSAxCitQ
QVNTOiBDb25zb2xlTWVzc2FnZSBwYXJhbWV0ZXIgMCBzaG91bGQgaGF2ZSB0eXBlICdzdHJpbmcn
LgorCistLSBSdW5uaW5nIHRlc3QgY2FzZTogQ29uc29sZUluZm9TdHJpbmcKK0V2YWx1YXRpbmcg
ZXhwcmVzc2lvbjogY29uc29sZS5pbmZvKCJpbmZvIik7CitQQVNTOiBDb25zb2xlTWVzc2FnZSB0
eXBlIHNob3VsZCBiZSAnY29uc29sZS1hcGknLgorUEFTUzogQ29uc29sZU1lc3NhZ2UgbGV2ZWwg
c2hvdWxkIGJlICdpbmZvJy4KK1BBU1M6IENvbnNvbGVNZXNzYWdlIHRleHQgc2hvdWxkIGJlICdp
bmZvJy4KK1BBU1M6IENvbnNvbGVNZXNzYWdlIHBhcmFtZXRlcnMubGVuZ3RoID09PSAxCitQQVNT
OiBDb25zb2xlTWVzc2FnZSBwYXJhbWV0ZXIgMCBzaG91bGQgaGF2ZSB0eXBlICdzdHJpbmcnLgor
CistLSBSdW5uaW5nIHRlc3QgY2FzZTogQ29uc29sZVdhcm5TdHJpbmcKK0V2YWx1YXRpbmcgZXhw
cmVzc2lvbjogY29uc29sZS53YXJuKCJ3YXJuIik7CitQQVNTOiBDb25zb2xlTWVzc2FnZSB0eXBl
IHNob3VsZCBiZSAnY29uc29sZS1hcGknLgorUEFTUzogQ29uc29sZU1lc3NhZ2UgbGV2ZWwgc2hv
dWxkIGJlICd3YXJuaW5nJy4KK1BBU1M6IENvbnNvbGVNZXNzYWdlIHRleHQgc2hvdWxkIGJlICd3
YXJuJy4KK1BBU1M6IENvbnNvbGVNZXNzYWdlIHBhcmFtZXRlcnMubGVuZ3RoID09PSAxCitQQVNT
OiBDb25zb2xlTWVzc2FnZSBwYXJhbWV0ZXIgMCBzaG91bGQgaGF2ZSB0eXBlICdzdHJpbmcnLgor
CistLSBSdW5uaW5nIHRlc3QgY2FzZTogQ29uc29sZUVycm9yU3RyaW5nCitFdmFsdWF0aW5nIGV4
cHJlc3Npb246IGNvbnNvbGUuZXJyb3IoImVycm9yIik7CitQQVNTOiBDb25zb2xlTWVzc2FnZSB0
eXBlIHNob3VsZCBiZSAnY29uc29sZS1hcGknLgorUEFTUzogQ29uc29sZU1lc3NhZ2UgbGV2ZWwg
c2hvdWxkIGJlICdlcnJvcicuCitQQVNTOiBDb25zb2xlTWVzc2FnZSB0ZXh0IHNob3VsZCBiZSAn
ZXJyb3InLgorUEFTUzogQ29uc29sZU1lc3NhZ2UgcGFyYW1ldGVycy5sZW5ndGggPT09IDEKK1BB
U1M6IENvbnNvbGVNZXNzYWdlIHBhcmFtZXRlciAwIHNob3VsZCBoYXZlIHR5cGUgJ3N0cmluZycu
CisKKy0tIFJ1bm5pbmcgdGVzdCBjYXNlOiBDb25zb2xlRGVidWdTdHJpbmcKK0V2YWx1YXRpbmcg
ZXhwcmVzc2lvbjogY29uc29sZS5kZWJ1ZygiZGVidWciKTsKK1BBU1M6IENvbnNvbGVNZXNzYWdl
IHR5cGUgc2hvdWxkIGJlICdjb25zb2xlLWFwaScuCitQQVNTOiBDb25zb2xlTWVzc2FnZSBsZXZl
bCBzaG91bGQgYmUgJ2RlYnVnJy4KK1BBU1M6IENvbnNvbGVNZXNzYWdlIHRleHQgc2hvdWxkIGJl
ICdkZWJ1ZycuCitQQVNTOiBDb25zb2xlTWVzc2FnZSBwYXJhbWV0ZXJzLmxlbmd0aCA9PT0gMQor
UEFTUzogQ29uc29sZU1lc3NhZ2UgcGFyYW1ldGVyIDAgc2hvdWxkIGhhdmUgdHlwZSAnc3RyaW5n
Jy4KIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLXByb3RvY29sL2NvbnNvbGUv
Y29uc29sZS1tZXNzYWdlLmh0bWwgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3ItcHJvdG9jb2wvY29u
c29sZS9jb25zb2xlLW1lc3NhZ2UuaHRtbAppbmRleCAxYjgyMDZkMmFkNmQwNTRkODMyYjQ3Mjk1
NTZkZGVmNTJjZDAzYjdmLi43MGU4NzY3YWFlMTJhODhhYWI3YjcyMzM1OGZhZmJhNjYxM2M4OGRj
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3ItcHJvdG9jb2wvY29uc29sZS9jb25z
b2xlLW1lc3NhZ2UuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3ItcHJvdG9jb2wvY29u
c29sZS9jb25zb2xlLW1lc3NhZ2UuaHRtbApAQCAtNSw3ICs1LDcgQEAKIGZ1bmN0aW9uIGdlbmVy
YXRlU2ltcGxlQ29uc29sZU1lc3NhZ2VzKCkKIHsKICAgICBjb25zb2xlLmxvZygibG9nIik7Ci0g
ICAgY29uc29sZS5pbmZvKCJpbmZvIik7IC8vIEFsaWFzIG9mIGxvZy4KKyAgICBjb25zb2xlLmlu
Zm8oImluZm8iKTsKICAgICBjb25zb2xlLndhcm4oIndhcm4iKTsKICAgICBjb25zb2xlLmVycm9y
KCJlcnJvciIpOwogICAgIGNvbnNvbGUuZGVidWcoImRlYnVnIik7CkBAIC0xMywyOCArMTMsMTI2
IEBAIGZ1bmN0aW9uIGdlbmVyYXRlU2ltcGxlQ29uc29sZU1lc3NhZ2VzKCkKIAogZnVuY3Rpb24g
dGVzdCgpCiB7CisgICAgdmFyIHN1aXRlID0gbmV3IEluc3BlY3RvclRlc3QuQXN5bmNUZXN0U3Vp
dGUoIkNvbnNvbGUuTWVzc2FnZXNGcm9tQ29tbWFuZExpbmVBUEkiKTsKKworICAgIGFkZENvbnNv
bGVUZXN0Q2FzZSh7CisgICAgICAgIG5hbWU6ICJDb25zb2xlTG9nU3RyaW5nIiwKKyAgICAgICAg
ZGVzY3JpcHRpb246ICJUZXN0IGBjb25zb2xlLmxvZyhcImxvZ1wiKWAiLAorICAgICAgICBleHBy
ZXNzaW9uOiAnY29uc29sZS5sb2coImxvZyIpOycsCisgICAgICAgIGV4cGVjdGVkOiB7CisgICAg
ICAgICAgICBzb3VyY2U6ICdjb25zb2xlLWFwaScsCisgICAgICAgICAgICBsZXZlbDogJ2xvZycs
CisgICAgICAgICAgICB0ZXh0OiAnbG9nJywKKyAgICAgICAgICAgIHBhcmFtZXRlcnM6IFsnc3Ry
aW5nJ10KKyAgICAgICAgfQorICAgIH0pOworCisgICAgYWRkQ29uc29sZVRlc3RDYXNlKHsKKyAg
ICAgICAgbmFtZTogIkNvbnNvbGVJbmZvU3RyaW5nIiwKKyAgICAgICAgZGVzY3JpcHRpb246ICJU
ZXN0IGBjb25zb2xlLmluZm8oXCJpbmZvXCIpYCIsCisgICAgICAgIGV4cHJlc3Npb246ICdjb25z
b2xlLmluZm8oImluZm8iKTsnLAorICAgICAgICBleHBlY3RlZDogeworICAgICAgICAgICAgc291
cmNlOiAnY29uc29sZS1hcGknLAorICAgICAgICAgICAgbGV2ZWw6ICdpbmZvJywKKyAgICAgICAg
ICAgIHRleHQ6ICdpbmZvJywKKyAgICAgICAgICAgIHBhcmFtZXRlcnM6IFsnc3RyaW5nJ10KKyAg
ICAgICAgfQorICAgIH0pOworCisgICAgYWRkQ29uc29sZVRlc3RDYXNlKHsKKyAgICAgICAgbmFt
ZTogIkNvbnNvbGVXYXJuU3RyaW5nIiwKKyAgICAgICAgZGVzY3JpcHRpb246ICJUZXN0IGBjb25z
b2xlLndhcm4oXCJ3YXJuXCIpYCIsCisgICAgICAgIGV4cHJlc3Npb246ICdjb25zb2xlLndhcm4o
Indhcm4iKTsnLAorICAgICAgICBleHBlY3RlZDogeworICAgICAgICAgICAgc291cmNlOiAnY29u
c29sZS1hcGknLAorICAgICAgICAgICAgbGV2ZWw6ICd3YXJuaW5nJywKKyAgICAgICAgICAgIHRl
eHQ6ICd3YXJuJywKKyAgICAgICAgICAgIHBhcmFtZXRlcnM6IFsnc3RyaW5nJ10KKyAgICAgICAg
fQorICAgIH0pOworCisgICAgYWRkQ29uc29sZVRlc3RDYXNlKHsKKyAgICAgICAgbmFtZTogIkNv
bnNvbGVFcnJvclN0cmluZyIsCisgICAgICAgIGRlc2NyaXB0aW9uOiAiVGVzdCBgY29uc29sZS5l
cnJvcihcImVycm9yXCIpYCIsCisgICAgICAgIGV4cHJlc3Npb246ICdjb25zb2xlLmVycm9yKCJl
cnJvciIpOycsCisgICAgICAgIGV4cGVjdGVkOiB7CisgICAgICAgICAgICBzb3VyY2U6ICdjb25z
b2xlLWFwaScsCisgICAgICAgICAgICBsZXZlbDogJ2Vycm9yJywKKyAgICAgICAgICAgIHRleHQ6
ICdlcnJvcicsCisgICAgICAgICAgICBwYXJhbWV0ZXJzOiBbJ3N0cmluZyddCisgICAgICAgIH0K
KyAgICB9KTsKKworICAgIGFkZENvbnNvbGVUZXN0Q2FzZSh7CisgICAgICAgIG5hbWU6ICJDb25z
b2xlRGVidWdTdHJpbmciLAorICAgICAgICBkZXNjcmlwdGlvbjogIlRlc3QgYGNvbnNvbGUuZGVi
dWcoXCJkZWJ1Z1wiKWAiLAorICAgICAgICBleHByZXNzaW9uOiAnY29uc29sZS5kZWJ1ZygiZGVi
dWciKTsnLAorICAgICAgICBleHBlY3RlZDogeworICAgICAgICAgICAgc291cmNlOiAnY29uc29s
ZS1hcGknLAorICAgICAgICAgICAgbGV2ZWw6ICdkZWJ1ZycsCisgICAgICAgICAgICB0ZXh0OiAn
ZGVidWcnLAorICAgICAgICAgICAgcGFyYW1ldGVyczogWydzdHJpbmcnXQorICAgICAgICB9Cisg
ICAgfSk7CisKKyAgICAvLyBTZXQgdXAgdGhlIGNvbnNvbGUgcHJpb3IgdG8gcnVubmluZyB0aGUg
dGVzdCBzdWl0ZS4KICAgICBJbnNwZWN0b3JUZXN0LmltcG9ydFNjcmlwdCgiLi4vLi4vLi4vLi4v
aW5zcGVjdG9yLXByb3RvY29sL3Jlc291cmNlcy9jb25zb2xlLWhlbHBlci5qcyIpOwogCi0gICAg
SW5zcGVjdG9yVGVzdC5zZW5kQ29tbWFuZCgiQ29uc29sZS5lbmFibGUiLCB7fSk7Ci0gICAgSW5z
cGVjdG9yVGVzdC5zZW5kQ29tbWFuZCgiUnVudGltZS5ldmFsdWF0ZSIsIHtleHByZXNzaW9uOiAi
Z2VuZXJhdGVTaW1wbGVDb25zb2xlTWVzc2FnZXMoKSJ9KTsKKyAgICBJbnNwZWN0b3JUZXN0LmF3
YWl0Q29tbWFuZCh7CisgICAgICAgIG1ldGhvZDogIkNvbnNvbGUuZW5hYmxlIiwKKyAgICAgICAg
cGFyYW1zOiB7fQorICAgIH0pCisgICAgLnRoZW4oZnVuY3Rpb24oKSB7CisgICAgICAgIHN1aXRl
LnJ1blRlc3RDYXNlc0FuZEZpbmlzaCgpOworICAgIH0pCisgICAgLmNhdGNoKGZhdGFsRXJyb3Ip
OworCisgICAgZnVuY3Rpb24gZmF0YWxFcnJvcihlKSB7CisgICAgICAgIEluc3BlY3RvclRlc3Qu
bG9nKCJUZXN0IGZhaWxlZCB3aXRoIGZhdGFsIGVycm9yOiAiICsgSlNPTi5zdHJpbmdpZnkoZSkp
OworICAgICAgICBJbnNwZWN0b3JUZXN0LmNvbXBsZXRlVGVzdCgpOworICAgIH0KIAotICAgIHZh
ciBjb25zb2xlTWVzc2FnZUNvdW50ID0gMDsKLSAgICBjb25zdCBleHBlY3RlZENvbnNvbGVNZXNz
YWdlcyA9IDU7CisgICAgZnVuY3Rpb24gYWRkQ29uc29sZVRlc3RDYXNlKGFyZ3MpIHsKKyAgICAg
ICAgdmFyIHtuYW1lLCBkZXNjcmlwdGlvbiwgZXhwcmVzc2lvbiwgZXhwZWN0ZWR9ID0gYXJnczsK
KyAgICAgICAgc3VpdGUuYWRkVGVzdENhc2UoeworICAgICAgICAgICAgbmFtZSwKKyAgICAgICAg
ICAgIGRlc2NyaXB0aW9uLAorICAgICAgICAgICAgdGVzdDogZnVuY3Rpb24ocmVzb2x2ZSwgcmVq
ZWN0KSB7CisgICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5hd2FpdEV2ZW50KHsKKyAgICAg
ICAgICAgICAgICAgICAgZXZlbnQ6ICJDb25zb2xlLm1lc3NhZ2VBZGRlZCIsCisgICAgICAgICAg
ICAgICAgfSkKKyAgICAgICAgICAgICAgICAudGhlbihmdW5jdGlvbihtZXNzYWdlT2JqZWN0KSB7
CisgICAgICAgICAgICAgICAgICAgIHZhciBjb25zb2xlTWVzc2FnZSA9IG1lc3NhZ2VPYmplY3Qu
cGFyYW1zLm1lc3NhZ2U7CisgICAgICAgICAgICAgICAgICAgIHZhciB7c291cmNlLCBsZXZlbCwg
dGV4dCwgcGFyYW1ldGVyc30gPSBjb25zb2xlTWVzc2FnZTsKKyAgICAgICAgICAgICAgICAgICAg
SW5zcGVjdG9yVGVzdC5hc3NlcnQoc291cmNlID09PSBleHBlY3RlZC5zb3VyY2UsICJDb25zb2xl
TWVzc2FnZSB0eXBlIHNob3VsZCBiZSAnIiArIGV4cGVjdGVkLnNvdXJjZSArICInLiIpOworICAg
ICAgICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmFzc2VydChsZXZlbCA9PT0gZXhwZWN0ZWQu
bGV2ZWwsICJDb25zb2xlTWVzc2FnZSBsZXZlbCBzaG91bGQgYmUgJyIgKyBleHBlY3RlZC5sZXZl
bCArICInLiIpOworICAgICAgICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmFzc2VydCh0ZXh0
ID09PSBleHBlY3RlZC50ZXh0LCAiQ29uc29sZU1lc3NhZ2UgdGV4dCBzaG91bGQgYmUgJyIgKyBl
eHBlY3RlZC50ZXh0ICsgIicuIik7CiAKLSAgICBJbnNwZWN0b3JUZXN0LmV2ZW50SGFuZGxlclsi
Q29uc29sZS5tZXNzYWdlQWRkZWQiXSA9IGZ1bmN0aW9uKG1lc3NhZ2VPYmplY3QpCi0gICAgewot
ICAgICAgICB2YXIgc2ltcGxpZmllZE1lc3NhZ2UgPSBDb25zb2xlSGVscGVyLnNpbXBsaWZpZWRD
b25zb2xlTWVzc2FnZShtZXNzYWdlT2JqZWN0KTsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5sb2co
SlNPTi5zdHJpbmdpZnkoc2ltcGxpZmllZE1lc3NhZ2UpKTsKKyAgICAgICAgICAgICAgICAgICAg
SW5zcGVjdG9yVGVzdC5hc3NlcnQocGFyYW1ldGVycy5sZW5ndGggPT09IGV4cGVjdGVkLnBhcmFt
ZXRlcnMubGVuZ3RoLCAiQ29uc29sZU1lc3NhZ2UgcGFyYW1ldGVycy5sZW5ndGggPT09ICIgKyBl
eHBlY3RlZC5wYXJhbWV0ZXJzLmxlbmd0aCk7CisgICAgICAgICAgICAgICAgICAgIGZvciAodmFy
IGkgPSAwOyBpIDwgcGFyYW1ldGVycy5sZW5ndGg7ICsraSkgeworICAgICAgICAgICAgICAgICAg
ICAgICAgdmFyIGV4cGVjdGVkVHlwZSA9IGV4cGVjdGVkLnBhcmFtZXRlcnNbaV07CisgICAgICAg
ICAgICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmFzc2VydChwYXJhbWV0ZXJzW2ldLnR5cGUg
PT09IGV4cGVjdGVkVHlwZSwgIkNvbnNvbGVNZXNzYWdlIHBhcmFtZXRlciAiICsgaSArICIgc2hv
dWxkIGhhdmUgdHlwZSAnIiArIGV4cGVjdGVkVHlwZSArICInLiIpOworICAgICAgICAgICAgICAg
ICAgICB9CisgICAgICAgICAgICAgICAgICAgIHJlc29sdmUoKTsKKyAgICAgICAgICAgICAgICB9
KQorICAgICAgICAgICAgICAgIC5jYXRjaChyZWplY3QpOwogCi0gICAgICAgIGlmICgrK2NvbnNv
bGVNZXNzYWdlQ291bnQgPT09IGV4cGVjdGVkQ29uc29sZU1lc3NhZ2VzKQotICAgICAgICAgICAg
SW5zcGVjdG9yVGVzdC5jb21wbGV0ZVRlc3QoKTsKKyAgICAgICAgICAgICAgICAvLyBDYXVzZSBh
IG1lc3NhZ2VBZGRlZCBldmVudCB0byBiZSBnZW5lcmF0ZWQuCisgICAgICAgICAgICAgICAgSW5z
cGVjdG9yVGVzdC5sb2coIkV2YWx1YXRpbmcgZXhwcmVzc2lvbjogIiArIGV4cHJlc3Npb24pOwor
ICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3Quc2VuZENvbW1hbmQoeworICAgICAgICAgICAg
ICAgICAgICBtZXRob2Q6ICJSdW50aW1lLmV2YWx1YXRlIiwKKyAgICAgICAgICAgICAgICAgICAg
cGFyYW1zOiB7ZXhwcmVzc2lvbn0KKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0K
KyAgICAgICAgfSk7CiAgICAgfQogfQogPC9zY3JpcHQ+CiA8L2hlYWQ+CiA8Ym9keSBvbmxvYWQ9
InJ1blRlc3QoKSI+CiA8cD4KLVRlc3RzIHRoYXQgY29uc29sZSBsb2cgbWVzc2FnZXMgbWFrZSBp
dCB0byB0aGUgZnJvbnRlbmQgYW5kIGhhdmUgZXhwZWN0ZWQgc291cmNlLCB0eXBlLCBhbmQgbGV2
ZWxzLjxicj4KK1Rlc3RzIHRoYXQgPGNvZGU+Y29uc29sZS5sb2c8L2NvZGU+IGFuZCByZWxhdGVk
IEFQSXMgY2F1c2UgPGNvZGU+Q29uc29sZS5tZXNzYWdlQWRkZWQ8L2NvZGU+IGV2ZW50cyB0byBi
ZSBnZW5lcmF0ZWQgd2l0aCBjb3JyZWN0IHNvdXJjZSwgdHlwZSwgbGV2ZWwsIGFuZCBwYXJhbWV0
ZXIgdHlwZXMuCis8YnI+CiA8L3A+CiA8L2JvZHk+CiA8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbnNwZWN0b3ItcHJvdG9jb2wvY29uc29sZS9jc3Mtc291cmNlLWxvY2F0aW9ucy1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3ItcHJvdG9jb2wvY29uc29sZS9jc3Mt
c291cmNlLWxvY2F0aW9ucy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYTMwZGJkMzYzNmE1MDFk
MzIzZWIwMzVjNzIwY2I5M2Y4YmE4YTdiOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2luc3BlY3Rvci1wcm90b2NvbC9jb25zb2xlL2Nzcy1zb3VyY2UtbG9jYXRpb25zLWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDkgQEAKK1Rlc3RzIHRoYXQgQ1NTIHBhcnNlciB3YXJuaW5ncyBmcm9t
IGlubGluZSBzdHlsZSB0YWdzIGFuZCBleHRlcm5hbCBzdHlsZXNoZWV0cyBhcmUgc2VudCB0byB0
aGUgY29uc29sZSB3aXRoIGNvcnJlY3QgbGluZSBhbmQgY29sdW1uIGluZm9ybWF0aW9uLgoreyJz
b3VyY2UiOiJjc3MiLCJsZXZlbCI6Indhcm5pbmciLCJ0ZXh0IjoiSW52YWxpZCBDU1MgcHJvcGVy
dHkgZGVjbGFyYXRpb24gYXQ6ICoiLCJsb2NhdGlvbiI6ImNzcy1zb3VyY2UtbG9jYXRpb25zLmh0
bWw6NToyMCJ9Cit7InNvdXJjZSI6ImNzcyIsImxldmVsIjoid2FybmluZyIsInRleHQiOiJJbnZh
bGlkIENTUyBwcm9wZXJ0eSBkZWNsYXJhdGlvbiBhdDogKiIsImxvY2F0aW9uIjoiY3NzLXNvdXJj
ZS1sb2NhdGlvbnMuaHRtbDo2OjE0In0KK3sic291cmNlIjoiY3NzIiwibGV2ZWwiOiJ3YXJuaW5n
IiwidGV4dCI6IkludmFsaWQgQ1NTIHByb3BlcnR5IGRlY2xhcmF0aW9uIGF0OiAqIiwibG9jYXRp
b24iOiJjc3Mtc291cmNlLWxvY2F0aW9ucy5odG1sOjc6NyJ9Cit7InNvdXJjZSI6ImNzcyIsImxl
dmVsIjoid2FybmluZyIsInRleHQiOiJJbnZhbGlkIENTUyBwcm9wZXJ0eSBkZWNsYXJhdGlvbiBh
dDogKiIsImxvY2F0aW9uIjoiY3NzLXNvdXJjZS1sb2NhdGlvbnMuaHRtbDo5OjgifQoreyJzb3Vy
Y2UiOiJjc3MiLCJsZXZlbCI6Indhcm5pbmciLCJ0ZXh0IjoiSW52YWxpZCBDU1MgcHJvcGVydHkg
ZGVjbGFyYXRpb24gYXQ6ICoiLCJsb2NhdGlvbiI6ImVycm9ycy5jc3M6MTo3In0KK3sic291cmNl
IjoiY3NzIiwibGV2ZWwiOiJ3YXJuaW5nIiwidGV4dCI6IkludmFsaWQgQ1NTIHByb3BlcnR5IGRl
Y2xhcmF0aW9uIGF0OiAqIiwibG9jYXRpb24iOiJlcnJvcnMuY3NzOjE6MjkifQoreyJzb3VyY2Ui
OiJjc3MiLCJsZXZlbCI6Indhcm5pbmciLCJ0ZXh0IjoiSW52YWxpZCBDU1MgcHJvcGVydHkgZGVj
bGFyYXRpb24gYXQ6ICoiLCJsb2NhdGlvbiI6ImVycm9ycy5jc3M6NDo1In0KKwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLXByb3RvY29sL2NvbnNvbGUvY3NzLXNvdXJjZS1sb2Nh
dGlvbnMuaHRtbCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1wcm90b2NvbC9jb25zb2xlL2Nzcy1z
b3VyY2UtbG9jYXRpb25zLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYTkxZWFlNzY2Mjk2YzRmZmFjNDA3MWIx
YzY4YzlmODUxZTQ0YTExMgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2luc3BlY3Rv
ci1wcm90b2NvbC9jb25zb2xlL2Nzcy1zb3VyY2UtbG9jYXRpb25zLmh0bWwKQEAgLTAsMCArMSw0
OCBAQAorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9
Ii4uLy4uL2h0dHAvdGVzdHMvaW5zcGVjdG9yLXByb3RvY29sL3Jlc291cmNlcy9wcm90b2NvbC10
ZXN0LmpzIj48L3NjcmlwdD4KKzxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iLi4vcmVzb3Vy
Y2VzL2Vycm9ycy5jc3MiPgorICA8c3R5bGU+ICAgIGRpdiB7ICogY29sb3I6IHJlZDsgfTwvc3R5
bGU+Cis8c3R5bGU+ZGl2IHsgKiBjb2xvcjogcmVkOyB9CitkaXYgeyAqIGNvbG9yOiByZWQ7IH0K
KyAgIGRpdiB7CisgICAgICAgKgorICAgICAgIGNvbG9yOgorICAgICAgIHJlZDsKKyAgIH0KKzwv
c3R5bGU+Cis8c2NyaXB0PgorZnVuY3Rpb24gdGVzdCgpCit7CisgICAgSW5zcGVjdG9yVGVzdC5p
bXBvcnRTY3JpcHQoIi4uLy4uLy4uLy4uL2luc3BlY3Rvci1wcm90b2NvbC9yZXNvdXJjZXMvY29u
c29sZS1oZWxwZXIuanMiKTsKKworICAgIHZhciBjb25zb2xlTWVzc2FnZUNvdW50ID0gMDsKKyAg
ICBjb25zdCBleHBlY3RlZENvbnNvbGVNZXNzYWdlQ291bnQgPSA3OworCisgICAgLy8gRHVlIHRv
IHRoZSBkaWZmaWN1bHR5IG9mIHRlc3RpbmcgaW5saW5lIHN0eWxlIHRhZ3MgaW4gYSB0ZXN0IGNh
c2UsIHRoaXMgdGVzdAorICAgIC8vIGlzIGEgcmVmZXJlbmNlIHRlc3QgdGhhdCBjb250YWlucyBz
ZXJpYWxpemVkIENvbnNvbGUubWVzc2FnZUFkZGVkIGV2ZW50IGRhdGEuCisgICAgSW5zcGVjdG9y
VGVzdC5hZGRFdmVudExpc3RlbmVyKHsKKyAgICAgICAgZXZlbnQ6ICJDb25zb2xlLm1lc3NhZ2VB
ZGRlZCIsCisgICAgICAgIGxpc3RlbmVyOiBmdW5jdGlvbihtZXNzYWdlT2JqZWN0KSB7CisgICAg
ICAgICAgICB2YXIgc2ltcGxpZmllZE1lc3NhZ2UgPSBDb25zb2xlSGVscGVyLnNpbXBsaWZpZWRD
b25zb2xlTWVzc2FnZShtZXNzYWdlT2JqZWN0KTsKKyAgICAgICAgICAgIEluc3BlY3RvclRlc3Qu
bG9nKEpTT04uc3RyaW5naWZ5KHNpbXBsaWZpZWRNZXNzYWdlKSk7CisKKyAgICAgICAgICAgIGlm
ICgrK2NvbnNvbGVNZXNzYWdlQ291bnQgPT09IGV4cGVjdGVkQ29uc29sZU1lc3NhZ2VDb3VudCkK
KyAgICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmNvbXBsZXRlVGVzdCgpOworICAgICAgICB9
CisgICAgfSk7CisKKyAgICAvLyBTdGFydCB0aGUgdGVzdC4KKyAgICBJbnNwZWN0b3JUZXN0LnNl
bmRDb21tYW5kKHsKKyAgICAgICAgbWV0aG9kOiAiQ29uc29sZS5lbmFibGUiLAorICAgICAgICBw
YXJhbXM6IHt9CisgICAgfSk7Cit9Cis8L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5IG9ubG9hZD0i
cnVuVGVzdCgpIj4KKzxwPgorVGVzdHMgdGhhdCBDU1MgcGFyc2VyIHdhcm5pbmdzIGZyb20gaW5s
aW5lIHN0eWxlIHRhZ3MgYW5kIGV4dGVybmFsIHN0eWxlc2hlZXRzIGFyZSBzZW50IHRvIHRoZSBj
b25zb2xlIHdpdGggY29ycmVjdCBsaW5lIGFuZCBjb2x1bW4gaW5mb3JtYXRpb24uPGJyPgorPC9w
PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLXBy
b3RvY29sL2NvbnNvbGUvanMtc291cmNlLWxvY2F0aW9ucy1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9pbnNwZWN0b3ItcHJvdG9jb2wvY29uc29sZS9qcy1zb3VyY2UtbG9jYXRpb25zLWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi4xOWRmMWMyOGQzOTg5NGRkM2EzZTk5MzkwYWYxYmEwZTJmOGE3
N2VhCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLXByb3RvY29sL2Nv
bnNvbGUvanMtc291cmNlLWxvY2F0aW9ucy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxOCBAQAor
Q09OU09MRSBNRVNTQUdFOiBsaW5lIDE6IGVycm9yIHNjcmlwdAorQ09OU09MRSBNRVNTQUdFOiBs
aW5lIDE6IHdhcm4gc2NyaXB0CitDT05TT0xFIE1FU1NBR0U6IGxpbmUgNTogZXJyb3Igc2NyaXB0
CitDT05TT0xFIE1FU1NBR0U6IGxpbmUgNjogd2FybiBzY3JpcHQKK0NPTlNPTEUgTUVTU0FHRTog
bGluZSA1OiBUeXBlRXJyb3I6IHVuZGVmaW5lZCBpcyBub3QgYW4gb2JqZWN0IChldmFsdWF0aW5n
ICdbXS54LngnKQorQ09OU09MRSBNRVNTQUdFOiBsaW5lIDc6IHdhcm4gMQorQ09OU09MRSBNRVNT
QUdFOiBsaW5lIDc6IGVycm9yIDEKK0NPTlNPTEUgTUVTU0FHRTogbGluZSA4OiBlcnJvciAyCitU
ZXN0cyB0aGF0IEphdmFTY3JpcHQgZXJyb3JzIGFuZCB3YXJuaW5ncyBmcm9tIGlubGluZSBzY3Jp
cHQgdGFncyBhbmQgZXh0ZXJuYWwgZmlsZXMgYXJlIHNlbnQgdG8gdGhlIGNvbnNvbGUgd2l0aCBj
b3JyZWN0IGxpbmUgYW5kIGNvbHVtbiBpbmZvcm1hdGlvbi4KK3sic291cmNlIjoiY29uc29sZS1h
cGkiLCJsZXZlbCI6ImVycm9yIiwidGV4dCI6ImVycm9yIHNjcmlwdCIsImxvY2F0aW9uIjoiZXJy
b3JzLmpzOjE6MTQiLCJwYXJhbWV0ZXJzIjpbeyJ0eXBlIjoic3RyaW5nIn1dfQoreyJzb3VyY2Ui
OiJjb25zb2xlLWFwaSIsImxldmVsIjoid2FybmluZyIsInRleHQiOiJ3YXJuIHNjcmlwdCIsImxv
Y2F0aW9uIjoiZXJyb3JzLmpzOjE6NDQiLCJwYXJhbWV0ZXJzIjpbeyJ0eXBlIjoic3RyaW5nIn1d
fQoreyJzb3VyY2UiOiJjb25zb2xlLWFwaSIsImxldmVsIjoiZXJyb3IiLCJ0ZXh0IjoiZXJyb3Ig
c2NyaXB0IiwibG9jYXRpb24iOiJlcnJvcnMuanM6NToxOCIsInBhcmFtZXRlcnMiOlt7InR5cGUi
OiJzdHJpbmcifV19Cit7InNvdXJjZSI6ImNvbnNvbGUtYXBpIiwibGV2ZWwiOiJ3YXJuaW5nIiwi
dGV4dCI6Indhcm4gc2NyaXB0IiwibG9jYXRpb24iOiJlcnJvcnMuanM6NjoxNyIsInBhcmFtZXRl
cnMiOlt7InR5cGUiOiJzdHJpbmcifV19Cit7InNvdXJjZSI6ImphdmFzY3JpcHQiLCJsZXZlbCI6
ImVycm9yIiwidGV4dCI6IlR5cGVFcnJvcjogdW5kZWZpbmVkIGlzIG5vdCBhbiBvYmplY3QgKGV2
YWx1YXRpbmcgJ1tdLngueCcpIiwibG9jYXRpb24iOiJqcy1zb3VyY2UtbG9jYXRpb25zLmh0bWw6
NToxOCJ9Cit7InNvdXJjZSI6ImNvbnNvbGUtYXBpIiwibGV2ZWwiOiJ3YXJuaW5nIiwidGV4dCI6
Indhcm4gMSIsImxvY2F0aW9uIjoianMtc291cmNlLWxvY2F0aW9ucy5odG1sOjc6MTMiLCJwYXJh
bWV0ZXJzIjpbeyJ0eXBlIjoic3RyaW5nIn1dfQoreyJzb3VyY2UiOiJjb25zb2xlLWFwaSIsImxl
dmVsIjoiZXJyb3IiLCJ0ZXh0IjoiZXJyb3IgMSIsImxvY2F0aW9uIjoianMtc291cmNlLWxvY2F0
aW9ucy5odG1sOjc6MzgiLCJwYXJhbWV0ZXJzIjpbeyJ0eXBlIjoic3RyaW5nIn1dfQoreyJzb3Vy
Y2UiOiJjb25zb2xlLWFwaSIsImxldmVsIjoiZXJyb3IiLCJ0ZXh0IjoiZXJyb3IgMiIsImxvY2F0
aW9uIjoianMtc291cmNlLWxvY2F0aW9ucy5odG1sOjg6MTciLCJwYXJhbWV0ZXJzIjpbeyJ0eXBl
Ijoic3RyaW5nIn1dfQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3ItcHJvdG9j
b2wvY29uc29sZS9qcy1zb3VyY2UtbG9jYXRpb25zLmh0bWwgYi9MYXlvdXRUZXN0cy9pbnNwZWN0
b3ItcHJvdG9jb2wvY29uc29sZS9qcy1zb3VyY2UtbG9jYXRpb25zLmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
NGYxNTJjZDg4OTEzMTRmYzkxN2IyMjg5YjI0OWY4NDIzOTRlYWQxYwotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1wcm90b2NvbC9jb25zb2xlL2pzLXNvdXJjZS1sb2Nh
dGlvbnMuaHRtbApAQCAtMCwwICsxLDQzIEBACis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCB0eXBl
PSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iLi4vLi4vaHR0cC90ZXN0cy9pbnNwZWN0b3ItcHJvdG9j
b2wvcmVzb3VyY2VzL3Byb3RvY29sLXRlc3QuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
L3Jlc291cmNlcy9lcnJvcnMuanMiIHR5cGU9InRleHQvamF2YXNjcmlwdCIgY2hhcnNldD0idXRm
LTgiPjwvc2NyaXB0PgorICA8c2NyaXB0PiAgIFtdLngueCAgIDwvc2NyaXB0PgorPHNjcmlwdD4K
K2NvbnNvbGUud2Fybigid2FybiAxIik7IGNvbnNvbGUuZXJyb3IoImVycm9yIDEiKTsKKyAgIGNv
bnNvbGUuZXJyb3IoImVycm9yIDIiKTsKKzwvc2NyaXB0PgorPHNjcmlwdD4KK2Z1bmN0aW9uIHRl
c3QoKQoreworICAgIEluc3BlY3RvclRlc3QuaW1wb3J0U2NyaXB0KCIuLi8uLi8uLi8uLi9pbnNw
ZWN0b3ItcHJvdG9jb2wvcmVzb3VyY2VzL2NvbnNvbGUtaGVscGVyLmpzIik7CisKKyAgICB2YXIg
Y29uc29sZU1lc3NhZ2VDb3VudCA9IDA7CisgICAgY29uc3QgZXhwZWN0ZWRDb25zb2xlTWVzc2Fn
ZUNvdW50ID0gODsKKworICAgIC8vIER1ZSB0byB0aGUgZGlmZmljdWx0eSBvZiB0ZXN0aW5nIGlu
bGluZSBzY3JpcHQgdGFncyBpbiBhIHRlc3QgY2FzZSwgdGhpcyB0ZXN0CisgICAgLy8gaXMgYSBy
ZWZlcmVuY2UgdGVzdCB0aGF0IGNvbnRhaW5zIHNlcmlhbGl6ZWQgQ29uc29sZS5tZXNzYWdlQWRk
ZWQgZXZlbnQgZGF0YS4KKyAgICBJbnNwZWN0b3JUZXN0LmFkZEV2ZW50TGlzdGVuZXIoeworICAg
ICAgICBldmVudDogIkNvbnNvbGUubWVzc2FnZUFkZGVkIiwKKyAgICAgICAgbGlzdGVuZXI6IGZ1
bmN0aW9uKG1lc3NhZ2VPYmplY3QpIHsKKyAgICAgICAgICAgIHZhciBzaW1wbGlmaWVkTWVzc2Fn
ZSA9IENvbnNvbGVIZWxwZXIuc2ltcGxpZmllZENvbnNvbGVNZXNzYWdlKG1lc3NhZ2VPYmplY3Qp
OworICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5sb2coSlNPTi5zdHJpbmdpZnkoc2ltcGxpZmll
ZE1lc3NhZ2UpKTsKKworICAgICAgICAgICAgaWYgKCsrY29uc29sZU1lc3NhZ2VDb3VudCA9PT0g
ZXhwZWN0ZWRDb25zb2xlTWVzc2FnZUNvdW50KQorICAgICAgICAgICAgICAgIEluc3BlY3RvclRl
c3QuY29tcGxldGVUZXN0KCk7CisgICAgICAgIH0KKyAgICB9KTsKKworICAgIEluc3BlY3RvclRl
c3Quc2VuZENvbW1hbmQoeworICAgICAgICBtZXRob2Q6ICJDb25zb2xlLmVuYWJsZSIsCisgICAg
ICAgIHBhcmFtczoge30KKyAgICB9KTsKK30KKzwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHkgb25s
b2FkPSJydW5UZXN0KCkiPgorPHA+CitUZXN0cyB0aGF0IEphdmFTY3JpcHQgZXJyb3JzIGFuZCB3
YXJuaW5ncyBmcm9tIGlubGluZSBzY3JpcHQgdGFncyBhbmQgZXh0ZXJuYWwgZmlsZXMgYXJlIHNl
bnQgdG8gdGhlIGNvbnNvbGUgd2l0aCBjb3JyZWN0IGxpbmUgYW5kIGNvbHVtbiBpbmZvcm1hdGlv
bi48YnI+Cis8L3A+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bnNwZWN0b3ItcHJvdG9jb2wvY29uc29sZS93YXJuaW5ncy1lcnJvcnMtZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvaW5zcGVjdG9yLXByb3RvY29sL2NvbnNvbGUvd2FybmluZ3MtZXJyb3JzLWV4
cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNjc0M2JmNDVkYTFhYjI3
ZDNiMDZlY2VkOGIyOWY3MTgzYzQ4NGUzNC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3ItcHJvdG9jb2wvY29uc29sZS93
YXJuaW5ncy1lcnJvcnMtZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEsMjUgKzAsMCBA
QAotQ09OU09MRSBNRVNTQUdFOiBsaW5lIDE6IGVycm9yIHNjcmlwdAotQ09OU09MRSBNRVNTQUdF
OiBsaW5lIDE6IHdhcm4gc2NyaXB0Ci1DT05TT0xFIE1FU1NBR0U6IGxpbmUgNTogZXJyb3Igc2Ny
aXB0Ci1DT05TT0xFIE1FU1NBR0U6IGxpbmUgNjogd2FybiBzY3JpcHQKLUNPTlNPTEUgTUVTU0FH
RTogbGluZSAxNTogVHlwZUVycm9yOiB1bmRlZmluZWQgaXMgbm90IGFuIG9iamVjdCAoZXZhbHVh
dGluZyAnW10ueC54JykKLUNPTlNPTEUgTUVTU0FHRTogbGluZSAxNzogd2FybiAxCi1DT05TT0xF
IE1FU1NBR0U6IGxpbmUgMTc6IGVycm9yIDEKLUNPTlNPTEUgTUVTU0FHRTogbGluZSAxODogZXJy
b3IgMgotVGVzdHMgdGhhdCBDU1MvSmF2YVNjcmlwdCBlcnJvcnMgYW5kIHdhcm5pbmdzIGFyZSBz
ZW50IHRvIHRoZSBjb25zb2xlIHdpdGggbGluZSBhbmQgY29sdW1uIGluZm9ybWF0aW9uLgoteyJz
b3VyY2UiOiJjc3MiLCJsZXZlbCI6Indhcm5pbmciLCJ0ZXh0IjoiSW52YWxpZCBDU1MgcHJvcGVy
dHkgZGVjbGFyYXRpb24gYXQ6ICoiLCJsb2NhdGlvbiI6Indhcm5pbmdzLWVycm9ycy5odG1sOjU6
MjAifQoteyJzb3VyY2UiOiJjc3MiLCJsZXZlbCI6Indhcm5pbmciLCJ0ZXh0IjoiSW52YWxpZCBD
U1MgcHJvcGVydHkgZGVjbGFyYXRpb24gYXQ6ICoiLCJsb2NhdGlvbiI6Indhcm5pbmdzLWVycm9y
cy5odG1sOjY6MTQifQoteyJzb3VyY2UiOiJjc3MiLCJsZXZlbCI6Indhcm5pbmciLCJ0ZXh0Ijoi
SW52YWxpZCBDU1MgcHJvcGVydHkgZGVjbGFyYXRpb24gYXQ6ICoiLCJsb2NhdGlvbiI6Indhcm5p
bmdzLWVycm9ycy5odG1sOjc6NyJ9Ci17InNvdXJjZSI6ImNzcyIsImxldmVsIjoid2FybmluZyIs
InRleHQiOiJJbnZhbGlkIENTUyBwcm9wZXJ0eSBkZWNsYXJhdGlvbiBhdDogKiIsImxvY2F0aW9u
Ijoid2FybmluZ3MtZXJyb3JzLmh0bWw6OTo4In0KLXsic291cmNlIjoiY3NzIiwibGV2ZWwiOiJ3
YXJuaW5nIiwidGV4dCI6IkludmFsaWQgQ1NTIHByb3BlcnR5IGRlY2xhcmF0aW9uIGF0OiAqIiwi
bG9jYXRpb24iOiJlcnJvcnMuY3NzOjE6NyJ9Ci17InNvdXJjZSI6ImNzcyIsImxldmVsIjoid2Fy
bmluZyIsInRleHQiOiJJbnZhbGlkIENTUyBwcm9wZXJ0eSBkZWNsYXJhdGlvbiBhdDogKiIsImxv
Y2F0aW9uIjoiZXJyb3JzLmNzczoxOjI5In0KLXsic291cmNlIjoiY3NzIiwibGV2ZWwiOiJ3YXJu
aW5nIiwidGV4dCI6IkludmFsaWQgQ1NTIHByb3BlcnR5IGRlY2xhcmF0aW9uIGF0OiAqIiwibG9j
YXRpb24iOiJlcnJvcnMuY3NzOjQ6NSJ9Ci17InNvdXJjZSI6ImNvbnNvbGUtYXBpIiwibGV2ZWwi
OiJlcnJvciIsInRleHQiOiJlcnJvciBzY3JpcHQiLCJsb2NhdGlvbiI6ImVycm9ycy5qczoxOjE0
IiwicGFyYW1ldGVycyI6W3sidHlwZSI6InN0cmluZyJ9XX0KLXsic291cmNlIjoiY29uc29sZS1h
cGkiLCJsZXZlbCI6Indhcm5pbmciLCJ0ZXh0Ijoid2FybiBzY3JpcHQiLCJsb2NhdGlvbiI6ImVy
cm9ycy5qczoxOjQ0IiwicGFyYW1ldGVycyI6W3sidHlwZSI6InN0cmluZyJ9XX0KLXsic291cmNl
IjoiY29uc29sZS1hcGkiLCJsZXZlbCI6ImVycm9yIiwidGV4dCI6ImVycm9yIHNjcmlwdCIsImxv
Y2F0aW9uIjoiZXJyb3JzLmpzOjU6MTgiLCJwYXJhbWV0ZXJzIjpbeyJ0eXBlIjoic3RyaW5nIn1d
fQoteyJzb3VyY2UiOiJjb25zb2xlLWFwaSIsImxldmVsIjoid2FybmluZyIsInRleHQiOiJ3YXJu
IHNjcmlwdCIsImxvY2F0aW9uIjoiZXJyb3JzLmpzOjY6MTciLCJwYXJhbWV0ZXJzIjpbeyJ0eXBl
Ijoic3RyaW5nIn1dfQoteyJzb3VyY2UiOiJqYXZhc2NyaXB0IiwibGV2ZWwiOiJlcnJvciIsInRl
eHQiOiJUeXBlRXJyb3I6IHVuZGVmaW5lZCBpcyBub3QgYW4gb2JqZWN0IChldmFsdWF0aW5nICdb
XS54LngnKSIsImxvY2F0aW9uIjoid2FybmluZ3MtZXJyb3JzLmh0bWw6MTU6MTgifQoteyJzb3Vy
Y2UiOiJjb25zb2xlLWFwaSIsImxldmVsIjoid2FybmluZyIsInRleHQiOiJ3YXJuIDEiLCJsb2Nh
dGlvbiI6Indhcm5pbmdzLWVycm9ycy5odG1sOjE3OjEzIiwicGFyYW1ldGVycyI6W3sidHlwZSI6
InN0cmluZyJ9XX0KLXsic291cmNlIjoiY29uc29sZS1hcGkiLCJsZXZlbCI6ImVycm9yIiwidGV4
dCI6ImVycm9yIDEiLCJsb2NhdGlvbiI6Indhcm5pbmdzLWVycm9ycy5odG1sOjE3OjM4IiwicGFy
YW1ldGVycyI6W3sidHlwZSI6InN0cmluZyJ9XX0KLXsic291cmNlIjoiY29uc29sZS1hcGkiLCJs
ZXZlbCI6ImVycm9yIiwidGV4dCI6ImVycm9yIDIiLCJsb2NhdGlvbiI6Indhcm5pbmdzLWVycm9y
cy5odG1sOjE4OjE3IiwicGFyYW1ldGVycyI6W3sidHlwZSI6InN0cmluZyJ9XX0KLQpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLXByb3RvY29sL2NvbnNvbGUvd2FybmluZ3MtZXJy
b3JzLmh0bWwgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3ItcHJvdG9jb2wvY29uc29sZS93YXJuaW5n
cy1lcnJvcnMuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggODFhYmZjYzEzNWFl
YjM0ODRkMTcyZTZjNmUyZmQzZmE1NDdiMTY0OC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3ItcHJvdG9jb2wvY29uc29s
ZS93YXJuaW5ncy1lcnJvcnMuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDQ2ICswLDAgQEAKLTxo
dG1sPgotPGhlYWQ+Ci08c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIuLi8uLi9o
dHRwL3Rlc3RzL2luc3BlY3Rvci1wcm90b2NvbC9yZXNvdXJjZXMvcHJvdG9jb2wtdGVzdC5qcyI+
PC9zY3JpcHQ+Ci08bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii4uL3Jlc291cmNlcy9lcnJv
cnMuY3NzIj4KLSAgPHN0eWxlPiAgICBkaXYgeyAqIGNvbG9yOiByZWQ7IH08L3N0eWxlPgotPHN0
eWxlPmRpdiB7ICogY29sb3I6IHJlZDsgfQotZGl2IHsgKiBjb2xvcjogcmVkOyB9Ci0gICBkaXYg
ewotICAgICAgICoKLSAgICAgICBjb2xvcjoKLSAgICAgICByZWQ7Ci0gICB9Ci08L3N0eWxlPgot
PHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy9lcnJvcnMuanMiIHR5cGU9InRleHQvamF2YXNjcmlw
dCIgY2hhcnNldD0idXRmLTgiPjwvc2NyaXB0PgotICA8c2NyaXB0PiAgIFtdLngueCAgIDwvc2Ny
aXB0PgotPHNjcmlwdD4KLWNvbnNvbGUud2Fybigid2FybiAxIik7IGNvbnNvbGUuZXJyb3IoImVy
cm9yIDEiKTsKLSAgIGNvbnNvbGUuZXJyb3IoImVycm9yIDIiKTsKLTwvc2NyaXB0PgotPHNjcmlw
dD4KLWZ1bmN0aW9uIHRlc3QoKQotewotICAgIEluc3BlY3RvclRlc3QuaW1wb3J0U2NyaXB0KCIu
Li8uLi8uLi8uLi9pbnNwZWN0b3ItcHJvdG9jb2wvcmVzb3VyY2VzL2NvbnNvbGUtaGVscGVyLmpz
Iik7Ci0KLSAgICBJbnNwZWN0b3JUZXN0LnNlbmRDb21tYW5kKCJDb25zb2xlLmVuYWJsZSIsIHt9
KTsKLQotICAgIHZhciBjb25zb2xlTWVzc2FnZUNvdW50ID0gMDsKLSAgICBjb25zdCBleHBlY3Rl
ZENvbnNvbGVNZXNzYWdlcyA9IDE1OwotCi0gICAgSW5zcGVjdG9yVGVzdC5ldmVudEhhbmRsZXJb
IkNvbnNvbGUubWVzc2FnZUFkZGVkIl0gPSBmdW5jdGlvbihtZXNzYWdlT2JqZWN0KQotICAgIHsK
LSAgICAgICAgdmFyIHNpbXBsaWZpZWRNZXNzYWdlID0gQ29uc29sZUhlbHBlci5zaW1wbGlmaWVk
Q29uc29sZU1lc3NhZ2UobWVzc2FnZU9iamVjdCk7Ci0gICAgICAgIEluc3BlY3RvclRlc3QubG9n
KEpTT04uc3RyaW5naWZ5KHNpbXBsaWZpZWRNZXNzYWdlKSk7Ci0KLSAgICAgICAgaWYgKCsrY29u
c29sZU1lc3NhZ2VDb3VudCA9PT0gZXhwZWN0ZWRDb25zb2xlTWVzc2FnZXMpCi0gICAgICAgICAg
ICBJbnNwZWN0b3JUZXN0LmNvbXBsZXRlVGVzdCgpOwotICAgIH0KLX0KLTwvc2NyaXB0PgotPC9o
ZWFkPgotPGJvZHkgb25sb2FkPSJydW5UZXN0KCkiPgotPHA+Ci1UZXN0cyB0aGF0IENTUy9KYXZh
U2NyaXB0IGVycm9ycyBhbmQgd2FybmluZ3MgYXJlIHNlbnQgdG8gdGhlIGNvbnNvbGUgd2l0aCBs
aW5lIGFuZCBjb2x1bW4gaW5mb3JtYXRpb24uPGJyPgotPC9wPgotPC9ib2R5PgotPC9odG1sPgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLXByb3RvY29sL3J1bnRpbWUvZ2V0UHJv
cGVydGllcy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3ItcHJvdG9jb2wvcnVu
dGltZS9nZXRQcm9wZXJ0aWVzLWV4cGVjdGVkLnR4dAppbmRleCBiYmQwZmIwOTI2YzEzZmE4NWVk
ODI1M2U3MTIzNzJmZmViMjdmNzhiLi4xNTYwZDZlZTY5ZmIzYWEzMTM0MzJiNmI1NzFmNDZkNjVh
NDJkNDVlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3ItcHJvdG9jb2wvcnVudGlt
ZS9nZXRQcm9wZXJ0aWVzLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3It
cHJvdG9jb2wvcnVudGltZS9nZXRQcm9wZXJ0aWVzLWV4cGVjdGVkLnR4dApAQCAtMSwxMCArMSwx
MiBAQAotUnVubmluZyB0ZXN0IHN1aXRlOiBSdW50aW1lLmdldFByb3BlcnRpZXMKLVJ1bm5pbmcg
dGVzdCBjYXNlOiBDaGVja1Byb3BlcnRpZXNPZldyYXBwZXJPYmplY3QKKworPT0gUnVubmluZyB0
ZXN0IHN1aXRlOiBSdW50aW1lLmdldFByb3BlcnRpZXMKKy0tIFJ1bm5pbmcgdGVzdCBjYXNlOiBD
aGVja1Byb3BlcnRpZXNPZldyYXBwZXJPYmplY3QKIEV2YWx1YXRpbmcgZXhwcmVzc2lvbjogKGZ1
bmN0aW9uKCl7dmFyIHIgPSBPYmplY3QoNSk7IHIuZm9vID0gJ2NhdCc7cmV0dXJuIHI7fSkoKQog
UHJvcGVydGllczoKICAgX19wcm90b19fIG9iamVjdCBOdW1iZXIKICAgZm9vIHN0cmluZyBjYXQK
LVJ1bm5pbmcgdGVzdCBjYXNlOiBDaGVja1Byb3BlcnRpZXNPZkFycmF5CisKKy0tIFJ1bm5pbmcg
dGVzdCBjYXNlOiBDaGVja1Byb3BlcnRpZXNPZkFycmF5CiBFdmFsdWF0aW5nIGV4cHJlc3Npb246
IFsncmVkJywgJ2dyZWVuJywgJ2JsdWUnXQogUHJvcGVydGllczoKICAgX19wcm90b19fIG9iamVj
dCBBcnJheQpAQCAtMTIsNyArMTQsOCBAQCBQcm9wZXJ0aWVzOgogICAxIHN0cmluZyBncmVlbgog
ICAyIHN0cmluZyBibHVlCiAgIGxlbmd0aCBudW1iZXIgMwotUnVubmluZyB0ZXN0IGNhc2U6IENo
ZWNrUHJvcGVydGllc09mQm91bmRDb25zdHJ1Y3RvcgorCistLSBSdW5uaW5nIHRlc3QgY2FzZTog
Q2hlY2tQcm9wZXJ0aWVzT2ZCb3VuZENvbnN0cnVjdG9yCiBFdmFsdWF0aW5nIGV4cHJlc3Npb246
IE51bWJlci5iaW5kKHt9LCA1KQogUHJvcGVydGllczoKICAgX19wcm90b19fIGZ1bmN0aW9uIGZ1
bmN0aW9uICgpIHsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1wcm90b2NvbC9z
eW5jLXRlc3Qtc3VpdGUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLXByb3Rv
Y29sL3N5bmMtdGVzdC1zdWl0ZS1leHBlY3RlZC50eHQKaW5kZXggYWYzNTA0ZGJkZTI1YWRjOTM2
YTg3OTE4ZDM3MzZlMjEzZjYxYjhiZC4uOTJkZTYyYzQ1YjJiOGM2NWQ5YzFlNzRjYmQ4NTZiMGRi
MzhlMzJjMiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLXByb3RvY29sL3N5bmMt
dGVzdC1zdWl0ZS1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLXByb3Rv
Y29sL3N5bmMtdGVzdC1zdWl0ZS1leHBlY3RlZC50eHQKQEAgLTUsMjQgKzUsMjcgQEAgUEFTUzog
c2hvdWxkIG5vdCBiZSBhYmxlIHRvIGFkZCBub24tb2JqZWN0IHRlc3QgY2FzZS4KIFBBU1M6IHRl
c3QgY2FzZSBzaG91bGQgcmVxdWlyZSBzdHJpbmcgbmFtZS4KIFBBU1M6IHRlc3QgY2FzZSBzaG91
bGQgcmVxdWlyZSB0ZXN0IGZ1bmN0aW9uLgogUEFTUzogc2hvdWxkIG5vdCBiZSBhYmxlIHRvIHJ1
biBlbXB0eSB0ZXN0IHN1aXRlLgotUnVubmluZyB0ZXN0IHN1aXRlOiBTeW5jVGVzdFN1aXRlLlJ1
blR3aWNlU3VpdGUKLVJ1bm5pbmcgdGVzdCBjYXNlOiBEdW1teVRlc3QwCisKKz09IFJ1bm5pbmcg
dGVzdCBzdWl0ZTogU3luY1Rlc3RTdWl0ZS5SdW5Ud2ljZVN1aXRlCistLSBSdW5uaW5nIHRlc3Qg
Y2FzZTogRHVtbXlUZXN0MAogUEFTUzogUmV0dXJuIHZhbHVlIG9mIHJ1blR3aWNlU3VpdGUucnVu
VGVzdENhc2VzKCkgc2hvdWxkIGJlIHRydWUgd2hlbiBhbGwgdGVzdHMgcGFzcy4KIFBBU1M6IHNo
b3VsZCBub3QgYmUgYWJsZSB0byBydW4gYSB0ZXN0IHN1aXRlIHR3aWNlLgotUnVubmluZyB0ZXN0
IHN1aXRlOiBTeW5jVGVzdFN1aXRlLlNlcXVlbnRpYWxFeGVjdXRpb24KLVJ1bm5pbmcgdGVzdCBj
YXNlOiBEdW1teVRlc3QxCi1SdW5uaW5nIHRlc3QgY2FzZTogRHVtbXlUZXN0MgotUnVubmluZyB0
ZXN0IGNhc2U6IER1bW15VGVzdDMKLVJ1bm5pbmcgdGVzdCBjYXNlOiBGYWlsaW5nVGVzdDQKLUVY
Q0VQVElPTjogW29iamVjdCBPYmplY3RdCisKKz09IFJ1bm5pbmcgdGVzdCBzdWl0ZTogU3luY1Rl
c3RTdWl0ZS5TZXF1ZW50aWFsRXhlY3V0aW9uCistLSBSdW5uaW5nIHRlc3QgY2FzZTogRHVtbXlU
ZXN0MQorLS0gUnVubmluZyB0ZXN0IGNhc2U6IER1bW15VGVzdDIKKy0tIFJ1bm5pbmcgdGVzdCBj
YXNlOiBEdW1teVRlc3QzCistLSBSdW5uaW5nIHRlc3QgY2FzZTogRmFpbGluZ1Rlc3Q0CishISBF
WENFUFRJT046IFtvYmplY3QgT2JqZWN0XQogUEFTUzogUmV0dXJuIHZhbHVlIG9mIHNlcXVlbnRp
YWxFeGVjdXRpb25TdWl0ZS5ydW5UZXN0Q2FzZXMoKSBzaG91bGQgYmUgZmFsc2Ugd2hlbiBhIHRl
c3QgY2FzZSBmYWlscy4KIFBBU1M6IHNlcXVlbnRpYWxFeGVjdXRpb25TdWl0ZSBzaG91bGQgaGF2
ZSBleGVjdXRlZCBmb3VyIHRlc3RzLgogUEFTUzogc2VxdWVudGlhbEV4ZWN1dGlvblN1aXRlIHNo
b3VsZCBoYXZlIHBhc3NlZCB0aHJlZSB0ZXN0cy4KIFBBU1M6IHNlcXVlbnRpYWxFeGVjdXRpb25T
dWl0ZSBzaG91bGQgaGF2ZSBmYWlsZWQgMSB0ZXN0LgogUEFTUzogc2VxdWVudGlhbEV4ZWN1dGlv
blN1aXRlIHNob3VsZCBoYXZlIHNraXBwZWQgemVybyB0ZXN0cy4KLVJ1bm5pbmcgdGVzdCBzdWl0
ZTogU3luY1Rlc3RTdWl0ZS5BYm9ydE9uRmFpbHVyZQotUnVubmluZyB0ZXN0IGNhc2U6IFBhc3Np
bmdUZXN0NQotUnVubmluZyB0ZXN0IGNhc2U6IEZhaWxpbmdUZXN0NgorCis9PSBSdW5uaW5nIHRl
c3Qgc3VpdGU6IFN5bmNUZXN0U3VpdGUuQWJvcnRPbkZhaWx1cmUKKy0tIFJ1bm5pbmcgdGVzdCBj
YXNlOiBQYXNzaW5nVGVzdDUKKy0tIFJ1bm5pbmcgdGVzdCBjYXNlOiBGYWlsaW5nVGVzdDYKIFBB
U1M6IFJldHVybiB2YWx1ZSBvZiBhYm9ydE9uRmFpbHVyZVN1aXRlLnJ1blRlc3RDYXNlcygpIHNo
b3VsZCBiZSBmYWxzZSB3aGVuIGEgdGVzdCBjYXNlIGZhaWxzLgogUEFTUzogYWJvcnRPbkZhaWx1
cmVTdWl0ZSBzaG91bGQgaGF2ZSBleGVjdXRlZCB0d28gdGVzdHMuCiBQQVNTOiBhYm9ydE9uRmFp
bHVyZVN1aXRlIHNob3VsZCBoYXZlIHBhc3NlZCBvbmUgdGVzdC4K
</data>

          </attachment>
      

    </bug>

</bugzilla>