<?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>217063</bug_id>
          
          <creation_ts>2020-09-28 13:19:29 -0700</creation_ts>
          <short_desc>Remove plist-based ResourceLoadStatistics storage, which has been replaced by database-based storage</short_desc>
          <delta_ts>2020-09-29 11:22:24 -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>New Bugs</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>216041</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Alex Christensen">achristensen</reporter>
          <assigned_to name="Alex Christensen">achristensen</assigned_to>
          <cc>katherine_cheney</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>wilander</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1692651</commentid>
    <comment_count>0</comment_count>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2020-09-28 13:19:29 -0700</bug_when>
    <thetext>Remove plist-based ResourceLoadStatistics storage, which has been replaced by database-based storage</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1692654</commentid>
    <comment_count>1</comment_count>
      <attachid>409913</attachid>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2020-09-28 13:24:41 -0700</bug_when>
    <thetext>Created attachment 409913
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1692671</commentid>
    <comment_count>2</comment_count>
      <attachid>409922</attachid>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2020-09-28 14:16:17 -0700</bug_when>
    <thetext>Created attachment 409922
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1692672</commentid>
    <comment_count>3</comment_count>
      <attachid>409923</attachid>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2020-09-28 14:24:53 -0700</bug_when>
    <thetext>Created attachment 409923
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1692715</commentid>
    <comment_count>4</comment_count>
      <attachid>409923</attachid>
    <who name="Kate Cheney">katherine_cheney</who>
    <bug_when>2020-09-28 17:02:07 -0700</bug_when>
    <thetext>Comment on attachment 409923
Patch

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

Looks ok to me. Thanks for doing this Alex.

&gt; Source/WTF/ChangeLog:3
&gt; +        Remove plist-based ResourceLoadStatistics storage, which has been replaced by database-based storage

yay!

&gt; Tools/TestWebKitAPI/Tests/WebKitCocoa/ResourceLoadStatistics.mm:81
&gt;  TEST(ResourceLoadStatistics, GrandfatherCallbackDatabase)

You could remove the *Database from the names of these API tests.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1692810</commentid>
    <comment_count>5</comment_count>
      <attachid>409923</attachid>
    <who name="John Wilander">wilander</who>
    <bug_when>2020-09-28 20:07:19 -0700</bug_when>
    <thetext>Comment on attachment 409923
Patch

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

Kate, do you know what happens if a user has an old plist format? How well do we handle that? There was special migration code between model version numbers.

I&apos;d like to wait for Kate&apos;s response to my comments, especially the failing LocalStorage + IDB test case.

&gt; LayoutTests/http/tests/resourceLoadStatistics/aggregate-sorted-data-no-storage-access-expected.txt:79
&gt; +    {{ Has been granted storage access under topframe1: 0; Has been seen under topframe1 in the last 24 hours: 1 },{ Has been granted storage access under topframe4: 0; Has been seen under topframe4 in the last 24 hours: 1 },{ Has been granted storage access under topframe3: 0; Has been seen under topframe3 in the last 24 hours: 1 },{ Has been granted storage access under topframe2: 0; Has been seen under topframe2 in the last 24 hours: 1 },}

It&apos;s worrisome that these differ. Kate, do you happen to know why? Is it the spareness of the plist data that made it be 0?

&gt; LayoutTests/http/tests/resourceLoadStatistics/aggregate-sorted-data-no-storage-access-expected.txt:81
&gt; +    {{ Has been granted storage access under topframe1: 0; Has been seen under topframe1 in the last 24 hours: 1 },{ Has been granted storage access under topframe2: 0; Has been seen under topframe2 in the last 24 hours: 1 },}

Ditto.

&gt; LayoutTests/http/tests/resourceLoadStatistics/aggregate-sorted-data-no-storage-access-expected.txt:83
&gt; +    {{ Has been granted storage access under topframe1: 0; Has been seen under topframe1 in the last 24 hours: 1 },}

Ditto.

&gt; LayoutTests/http/tests/resourceLoadStatistics/dont-count-third-party-image-as-third-party-script-expected.txt:14
&gt; +    dataRecordsRemoved: 0

I wonder if this is also an effect of sparse data in the plist case?

&gt; LayoutTests/http/tests/resourceLoadStatistics/operating-dates-all-but-cookies-removed-statistics-with-no-user-interaction-expected.txt:12
&gt; +After statistics processing: IDB entry does exist.

This seems wrong. Kate, to me this looks like the DB version not working.

&gt; LayoutTests/http/tests/resourceLoadStatistics/telemetry-generation-expected.txt:9
&gt; +FAIL testResult.top3SubframeUnderTopFrameOrigins should be 0 (of type number). Was undefined (of type undefined).

This seems wrong. Telemetry doesn&apos;t matter though since I believe we&apos;re removing it too.

&gt; LayoutTests/http/tests/resourceLoadStatistics/telemetry-generation-expected.txt:13
&gt; +FAIL testResult.top3SubframeUnderTopFrameOrigins should be 4 (of type number). Was undefined (of type undefined).

Ditto.

&gt; LayoutTests/http/tests/resourceLoadStatistics/telemetry-generation-expected.txt:15
&gt; +Some tests failed.

Ditto.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1692811</commentid>
    <comment_count>6</comment_count>
      <attachid>409923</attachid>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2020-09-28 20:45:21 -0700</bug_when>
    <thetext>Comment on attachment 409923
Patch

We should understand the differences, but this patch does not change the behavior.  It just brings our attention to existing things we should understand that are maybe bugs we should fix in separate patches.  The diffs in the expectations are just from effectively copying the database expectations to what is now the only expectations.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1692921</commentid>
    <comment_count>7</comment_count>
      <attachid>409923</attachid>
    <who name="Kate Cheney">katherine_cheney</who>
    <bug_when>2020-09-29 08:52:37 -0700</bug_when>
    <thetext>Comment on attachment 409923
Patch

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

The only thing I think should be changed is http/tests/resourceLoadStatistics/operating-dates-all-but-cookies-removed-statistics-with-no-user-interaction-database-expected.txt that John noticed, I filed a radar to look into that. Everything else is expected changes because there are differences between the plist and database.

In response to John&apos;s comment -- the database takes whatever data is in the memory store and migrates it into the database. So as long as the memory store handles various plist versions, that won&apos;t change with this patch.

&gt;&gt; LayoutTests/http/tests/resourceLoadStatistics/aggregate-sorted-data-no-storage-access-expected.txt:79
&gt;&gt; +    {{ Has been granted storage access under topframe1: 0; Has been seen under topframe1 in the last 24 hours: 1 },{ Has been granted storage access under topframe4: 0; Has been seen under topframe4 in the last 24 hours: 1 },{ Has been granted storage access under topframe3: 0; Has been seen under topframe3 in the last 24 hours: 1 },{ Has been granted storage access under topframe2: 0; Has been seen under topframe2 in the last 24 hours: 1 },}
&gt; 
&gt; It&apos;s worrisome that these differ. Kate, do you happen to know why? Is it the spareness of the plist data that made it be 0?

The plist does not support sorting/aggregation of ITP data for the privacy report, so this change makes sense.

&gt;&gt; LayoutTests/http/tests/resourceLoadStatistics/aggregate-sorted-data-no-storage-access-expected.txt:81
&gt;&gt; +    {{ Has been granted storage access under topframe1: 0; Has been seen under topframe1 in the last 24 hours: 1 },{ Has been granted storage access under topframe2: 0; Has been seen under topframe2 in the last 24 hours: 1 },}
&gt; 
&gt; Ditto.

Again, this is fine.

&gt;&gt; LayoutTests/http/tests/resourceLoadStatistics/aggregate-sorted-data-no-storage-access-expected.txt:83
&gt;&gt; +    {{ Has been granted storage access under topframe1: 0; Has been seen under topframe1 in the last 24 hours: 1 },}
&gt; 
&gt; Ditto.

Same, this is ok.

&gt;&gt; LayoutTests/http/tests/resourceLoadStatistics/dont-count-third-party-image-as-third-party-script-expected.txt:14
&gt;&gt; +    dataRecordsRemoved: 0
&gt; 
&gt; I wonder if this is also an effect of sparse data in the plist case?

I don&apos;t recall exactly why this differs, but since 127.0.0.1 appears as a top frame domain in localhost&apos;s SubresourceUnderTopFrameDomains data, it seems correct that it appears in this output. Probably a plist bug in the toString() code (the database has its own dump function).

&gt;&gt; LayoutTests/http/tests/resourceLoadStatistics/operating-dates-all-but-cookies-removed-statistics-with-no-user-interaction-expected.txt:12
&gt;&gt; +After statistics processing: IDB entry does exist.
&gt; 
&gt; This seems wrong. Kate, to me this looks like the DB version not working.

Agreed, this does not seem correct, and does not match the expectations currently in http/tests/resourceLoadStatistics/operating-dates-all-but-cookies-removed-statistics-with-no-user-interaction-database-expected.txt. I think this file should not be rebased. I filed a radar to look into the test rdar://69748720. Good catch John. 

&gt;&gt; LayoutTests/http/tests/resourceLoadStatistics/telemetry-generation-expected.txt:9
&gt;&gt; +FAIL testResult.top3SubframeUnderTopFrameOrigins should be 0 (of type number). Was undefined (of type undefined).
&gt; 
&gt; This seems wrong. Telemetry doesn&apos;t matter though since I believe we&apos;re removing it too.

I think some of this is related to the changes made in https://bugs.webkit.org/show_bug.cgi?id=215514. Regardless I think we should address this in another patch (aka remove telemetry and these tests - rdar://problem/69748988).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1692930</commentid>
    <comment_count>8</comment_count>
    <who name="John Wilander">wilander</who>
    <bug_when>2020-09-29 09:02:30 -0700</bug_when>
    <thetext>(In reply to katherine_cheney from comment #7)
&gt; Comment on attachment 409923 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=409923&amp;action=review
&gt; 
&gt; The only thing I think should be changed is
&gt; http/tests/resourceLoadStatistics/operating-dates-all-but-cookies-removed-
&gt; statistics-with-no-user-interaction-database-expected.txt that John noticed,
&gt; I filed a radar to look into that. Everything else is expected changes
&gt; because there are differences between the plist and database.
&gt; 
&gt; In response to John&apos;s comment -- the database takes whatever data is in the
&gt; memory store and migrates it into the database. So as long as the memory
&gt; store handles various plist versions, that won&apos;t change with this patch.
&gt; 
&gt; &gt;&gt; LayoutTests/http/tests/resourceLoadStatistics/aggregate-sorted-data-no-storage-access-expected.txt:79
&gt; &gt;&gt; +    {{ Has been granted storage access under topframe1: 0; Has been seen under topframe1 in the last 24 hours: 1 },{ Has been granted storage access under topframe4: 0; Has been seen under topframe4 in the last 24 hours: 1 },{ Has been granted storage access under topframe3: 0; Has been seen under topframe3 in the last 24 hours: 1 },{ Has been granted storage access under topframe2: 0; Has been seen under topframe2 in the last 24 hours: 1 },}
&gt; &gt; 
&gt; &gt; It&apos;s worrisome that these differ. Kate, do you happen to know why? Is it the spareness of the plist data that made it be 0?
&gt; 
&gt; The plist does not support sorting/aggregation of ITP data for the privacy
&gt; report, so this change makes sense.
&gt; 
&gt; &gt;&gt; LayoutTests/http/tests/resourceLoadStatistics/aggregate-sorted-data-no-storage-access-expected.txt:81
&gt; &gt;&gt; +    {{ Has been granted storage access under topframe1: 0; Has been seen under topframe1 in the last 24 hours: 1 },{ Has been granted storage access under topframe2: 0; Has been seen under topframe2 in the last 24 hours: 1 },}
&gt; &gt; 
&gt; &gt; Ditto.
&gt; 
&gt; Again, this is fine.
&gt; 
&gt; &gt;&gt; LayoutTests/http/tests/resourceLoadStatistics/aggregate-sorted-data-no-storage-access-expected.txt:83
&gt; &gt;&gt; +    {{ Has been granted storage access under topframe1: 0; Has been seen under topframe1 in the last 24 hours: 1 },}
&gt; &gt; 
&gt; &gt; Ditto.
&gt; 
&gt; Same, this is ok.
&gt; 
&gt; &gt;&gt; LayoutTests/http/tests/resourceLoadStatistics/dont-count-third-party-image-as-third-party-script-expected.txt:14
&gt; &gt;&gt; +    dataRecordsRemoved: 0
&gt; &gt; 
&gt; &gt; I wonder if this is also an effect of sparse data in the plist case?
&gt; 
&gt; I don&apos;t recall exactly why this differs, but since 127.0.0.1 appears as a
&gt; top frame domain in localhost&apos;s SubresourceUnderTopFrameDomains data, it
&gt; seems correct that it appears in this output. Probably a plist bug in the
&gt; toString() code (the database has its own dump function).
&gt; 
&gt; &gt;&gt; LayoutTests/http/tests/resourceLoadStatistics/operating-dates-all-but-cookies-removed-statistics-with-no-user-interaction-expected.txt:12
&gt; &gt;&gt; +After statistics processing: IDB entry does exist.
&gt; &gt; 
&gt; &gt; This seems wrong. Kate, to me this looks like the DB version not working.
&gt; 
&gt; Agreed, this does not seem correct, and does not match the expectations
&gt; currently in
&gt; http/tests/resourceLoadStatistics/operating-dates-all-but-cookies-removed-
&gt; statistics-with-no-user-interaction-database-expected.txt. I think this file
&gt; should not be rebased. I filed a radar to look into the test
&gt; rdar://69748720. Good catch John. 

Thanks, Kate!

Alex, please don&apos;t rebase this test expectation. Instead make the test as [ Pass Fail ] (which I believe is possible) with a comment that rdar://69748720 is tracking an investigation.

Marking r+ with that comment.

&gt; &gt;&gt; LayoutTests/http/tests/resourceLoadStatistics/telemetry-generation-expected.txt:9
&gt; &gt;&gt; +FAIL testResult.top3SubframeUnderTopFrameOrigins should be 0 (of type number). Was undefined (of type undefined).
&gt; &gt; 
&gt; &gt; This seems wrong. Telemetry doesn&apos;t matter though since I believe we&apos;re removing it too.
&gt; 
&gt; I think some of this is related to the changes made in
&gt; https://bugs.webkit.org/show_bug.cgi?id=215514. Regardless I think we should
&gt; address this in another patch (aka remove telemetry and these tests -
&gt; rdar://problem/69748988).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1692931</commentid>
    <comment_count>9</comment_count>
      <attachid>409923</attachid>
    <who name="John Wilander">wilander</who>
    <bug_when>2020-09-29 09:03:02 -0700</bug_when>
    <thetext>Comment on attachment 409923
Patch

See comment above about test case expectation.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1693004</commentid>
    <comment_count>10</comment_count>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2020-09-29 10:38:26 -0700</bug_when>
    <thetext>http://trac.webkit.org/r267750</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1693005</commentid>
    <comment_count>11</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2020-09-29 10:39:18 -0700</bug_when>
    <thetext>&lt;rdar://problem/69753755&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>409913</attachid>
            <date>2020-09-28 13:24:41 -0700</date>
            <delta_ts>2020-09-28 14:16:14 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-217063-20200928132439.patch</filename>
            <type>text/plain</type>
            <size>612037</size>
            <attacher name="Alex Christensen">achristensen</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY3NzA5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNGFmYzA5ZDZkNzBkNzM3
NjlmNGYyMzg4YTk3MGE1YjcyMTJkNGIzNS4uMTQ3MTc1OWI5OTkwNGU0MGYzNmU5YzgyMDEyOWQy
OTc1YmM2YWJjNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE4IEBACisyMDIwLTA5LTI4ICBBbGV4
IENocmlzdGVuc2VuICA8YWNocmlzdGVuc2VuQHdlYmtpdC5vcmc+CisKKyAgICAgICAgUmVtb3Zl
IHBsaXN0LWJhc2VkIFJlc291cmNlTG9hZFN0YXRpc3RpY3Mgc3RvcmFnZSwgd2hpY2ggaGFzIGJl
ZW4gcmVwbGFjZWQgYnkgZGF0YWJhc2UtYmFzZWQgc3RvcmFnZQorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjE3MDYzCisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgUmVzb3VyY2VMb2FkU3RhdGlzdGljcyB3YXMg
aW5pdGlhbGx5IGltcGxlbWVudGVkIHVzaW5nIHBsaXN0cyB0byBzdG9yZSB0aGUgcGVyc2lzdGVu
dCBkYXRhIG9uIGRpc2suCisgICAgICAgIFRoaXMgY2F1c2VkIHNvbWUgcGVyZm9ybWFuY2UgaXNz
dWVzLCBzbyBhIHNxbGl0ZSBkYXRhYmFzZSBiYWNrZW5kIHdhcyBpbXBsZW1lbnRlZCBhbmQgdHJh
bnNpdGlvbmVkIHRvLgorICAgICAgICBOb3cgdGhhdCB0aGUgdHJhbnNpdGlvbiBpcyBjb21wbGV0
ZSwgbGV0J3MgcmVtb3ZlIHRoZSBvbGQgcGxpc3QgYmFja2VuZC4KKworICAgICAgICAqIHBhZ2Uv
UnVudGltZUVuYWJsZWRGZWF0dXJlcy5oOgorICAgICAgICAoV2ViQ29yZTo6UnVudGltZUVuYWJs
ZWRGZWF0dXJlczo6c2V0SXNJVFBEYXRhYmFzZUVuYWJsZWQpOiBEZWxldGVkLgorICAgICAgICAo
V2ViQ29yZTo6UnVudGltZUVuYWJsZWRGZWF0dXJlczo6aXNJVFBEYXRhYmFzZUVuYWJsZWQgY29u
c3QpOiBEZWxldGVkLgorCiAyMDIwLTA5LTI4ICBEZXZpbiBSb3Vzc28gIDxkcm91c3NvQGFwcGxl
LmNvbT4KIAogICAgICAgICBbaU9TXSB1bmFibGUgdG8gYWlycGxheSBkaXJlY3RseSBsb2FkZWQg
ZnVsbHNjcmVlbiB2aWRlbwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cgYi9T
b3VyY2UvV2ViS2l0L0NoYW5nZUxvZwppbmRleCAzYzg1MjJjMWMyNzVmNmIzZGIwZWRlOTg2ZDJh
OGQ3OWY3MmEzMGQ2Li40M2ZmYWEzMzg3N2EzNWFmNzBmZWQ2NmFiNDc5NDQzY2I3YWY2YjE2IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZwpAQCAtMSwzICsxLDczIEBACisyMDIwLTA5LTI4ICBBbGV4IENocmlzdGVuc2VuICA8
YWNocmlzdGVuc2VuQHdlYmtpdC5vcmc+CisKKyAgICAgICAgUmVtb3ZlIHBsaXN0LWJhc2VkIFJl
c291cmNlTG9hZFN0YXRpc3RpY3Mgc3RvcmFnZSwgd2hpY2ggaGFzIGJlZW4gcmVwbGFjZWQgYnkg
ZGF0YWJhc2UtYmFzZWQgc3RvcmFnZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MjE3MDYzCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9DbGFzc2lmaWVyL1Jlc291cmNlTG9hZFN0
YXRpc3RpY3NEYXRhYmFzZVN0b3JlLmg6CisgICAgICAgICogTmV0d29ya1Byb2Nlc3MvQ2xhc3Np
Zmllci9SZXNvdXJjZUxvYWRTdGF0aXN0aWNzTWVtb3J5U3RvcmUuY3BwOgorICAgICAgICAoV2Vi
S2l0OjpSZXNvdXJjZUxvYWRTdGF0aXN0aWNzTWVtb3J5U3RvcmU6OnNldFBlcnNpc3RlbnRTdG9y
YWdlKTogRGVsZXRlZC4KKyAgICAgICAgKFdlYktpdDo6UmVzb3VyY2VMb2FkU3RhdGlzdGljc01l
bW9yeVN0b3JlOjpzeW5jU3RvcmFnZUlmTmVlZGVkKTogRGVsZXRlZC4KKyAgICAgICAgKFdlYktp
dDo6UmVzb3VyY2VMb2FkU3RhdGlzdGljc01lbW9yeVN0b3JlOjpzeW5jU3RvcmFnZUltbWVkaWF0
ZWx5KTogRGVsZXRlZC4KKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9DbGFzc2lmaWVyL1Jlc291
cmNlTG9hZFN0YXRpc3RpY3NNZW1vcnlTdG9yZS5oOgorICAgICAgICAqIE5ldHdvcmtQcm9jZXNz
L0NsYXNzaWZpZXIvUmVzb3VyY2VMb2FkU3RhdGlzdGljc1BlcnNpc3RlbnRTdG9yYWdlLmNwcDog
UmVtb3ZlZC4KKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9DbGFzc2lmaWVyL1Jlc291cmNlTG9h
ZFN0YXRpc3RpY3NQZXJzaXN0ZW50U3RvcmFnZS5oOiBSZW1vdmVkLgorICAgICAgICAqIE5ldHdv
cmtQcm9jZXNzL0NsYXNzaWZpZXIvUmVzb3VyY2VMb2FkU3RhdGlzdGljc1N0b3JlLmNwcDoKKyAg
ICAgICAgKFdlYktpdDo6UmVzb3VyY2VMb2FkU3RhdGlzdGljc1N0b3JlOjpwcm9jZXNzU3RhdGlz
dGljc0FuZERhdGFSZWNvcmRzKToKKyAgICAgICAgKFdlYktpdDo6UmVzb3VyY2VMb2FkU3RhdGlz
dGljc1N0b3JlOjpncmFuZGZhdGhlckV4aXN0aW5nV2Vic2l0ZURhdGEpOgorICAgICAgICAqIE5l
dHdvcmtQcm9jZXNzL0NsYXNzaWZpZXIvUmVzb3VyY2VMb2FkU3RhdGlzdGljc1N0b3JlLmg6Cisg
ICAgICAgICogTmV0d29ya1Byb2Nlc3MvQ2xhc3NpZmllci9XZWJSZXNvdXJjZUxvYWRTdGF0aXN0
aWNzU3RvcmUuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJSZXNvdXJjZUxvYWRTdGF0aXN0aWNz
U3RvcmU6OldlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NTdG9yZSk6CisgICAgICAgIChXZWJLaXQ6
OldlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NTdG9yZTo6fldlYlJlc291cmNlTG9hZFN0YXRpc3Rp
Y3NTdG9yZSk6CisgICAgICAgIChXZWJLaXQ6OldlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NTdG9y
ZTo6ZGlkRGVzdHJveU5ldHdvcmtTZXNzaW9uKToKKyAgICAgICAgKFdlYktpdDo6V2ViUmVzb3Vy
Y2VMb2FkU3RhdGlzdGljc1N0b3JlOjpwb3B1bGF0ZU1lbW9yeVN0b3JlRnJvbURpc2spOgorICAg
ICAgICAoV2ViS2l0OjpXZWJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzU3RvcmU6OnNjaGVkdWxlQ2xl
YXJJbk1lbW9yeUFuZFBlcnNpc3RlbnQpOgorICAgICAgICAoV2ViS2l0OjpXZWJSZXNvdXJjZUxv
YWRTdGF0aXN0aWNzU3RvcmU6OmZsdXNoQW5kRGVzdHJveVBlcnNpc3RlbnRTdG9yZSk6IERlbGV0
ZWQuCisgICAgICAgICogTmV0d29ya1Byb2Nlc3MvQ2xhc3NpZmllci9XZWJSZXNvdXJjZUxvYWRT
dGF0aXN0aWNzU3RvcmUuaDoKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUHJvY2Vz
cy5jcHA6CisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtQcm9jZXNzOjpkaWRDbG9zZSk6CisgICAg
ICAgIChXZWJLaXQ6Ok5ldHdvcmtQcm9jZXNzOjppbml0aWFsaXplTmV0d29ya1Byb2Nlc3MpOgor
ICAgICAgICAoV2ViS2l0OjpOZXR3b3JrUHJvY2Vzczo6c2V0VXNlSVRQRGF0YWJhc2UpOiBEZWxl
dGVkLgorICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzLmg6CisgICAgICAg
IChXZWJLaXQ6Ok5ldHdvcmtQcm9jZXNzOjppc0lUUERhdGFiYXNlRW5hYmxlZCBjb25zdCk6IERl
bGV0ZWQuCisgICAgICAgICogTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Byb2Nlc3MubWVzc2FnZXMu
aW46CisgICAgICAgICogTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Byb2Nlc3NDcmVhdGlvblBhcmFt
ZXRlcnMuY3BwOgorICAgICAgICAoV2ViS2l0OjpOZXR3b3JrUHJvY2Vzc0NyZWF0aW9uUGFyYW1l
dGVyczo6ZW5jb2RlIGNvbnN0KToKKyAgICAgICAgKFdlYktpdDo6TmV0d29ya1Byb2Nlc3NDcmVh
dGlvblBhcmFtZXRlcnM6OmRlY29kZSk6CisgICAgICAgICogTmV0d29ya1Byb2Nlc3MvTmV0d29y
a1Byb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMuaDoKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9O
ZXR3b3JrU2Vzc2lvbi5jcHA6CisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtTZXNzaW9uOjpkZXN0
cm95UmVzb3VyY2VMb2FkU3RhdGlzdGljcyk6CisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtTZXNz
aW9uOjpmbHVzaEFuZERlc3Ryb3lQZXJzaXN0ZW50U3RvcmUpOiBEZWxldGVkLgorICAgICAgICAq
IE5ldHdvcmtQcm9jZXNzL05ldHdvcmtTZXNzaW9uLmg6CisgICAgICAgICogU2hhcmVkL1dlYlBy
ZWZlcmVuY2VzSW50ZXJuYWwueWFtbDoKKyAgICAgICAgKiBTb3VyY2VzLnR4dDoKKyAgICAgICAg
KiBTb3VyY2VzQ29jb2EudHh0OgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQy9XS1ByZWZlcmVu
Y2VzLmNwcDoKKyAgICAgICAgKFdLUHJlZmVyZW5jZXNTZXRJc0lUUERhdGFiYXNlRW5hYmxlZCk6
IERlbGV0ZWQuCisgICAgICAgIChXS1ByZWZlcmVuY2VzR2V0SXNJVFBEYXRhYmFzZUVuYWJsZWQp
OiBEZWxldGVkLgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQy9XS1ByZWZlcmVuY2VzUmVmLmg6
CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9DL1dLV2Vic2l0ZURhdGFTdG9yZVJlZi5jcHA6Cisg
ICAgICAgIChXS1dlYnNpdGVEYXRhU3RvcmVTdGF0aXN0aWNzUmVzZXRUb0NvbnNpc3RlbnRTdGF0
ZSk6CisgICAgICAgIChXS1dlYnNpdGVEYXRhU3RvcmVTZXRVc2VJVFBEYXRhYmFzZSk6IERlbGV0
ZWQuCisgICAgICAgICogVUlQcm9jZXNzL0FQSS9DL1dLV2Vic2l0ZURhdGFTdG9yZVJlZi5oOgor
ICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQ29jb2EvV0tQcmVmZXJlbmNlcy5tbToKKyAgICAgICAg
KC1bV0tQcmVmZXJlbmNlcyBfaXNJVFBEYXRhYmFzZUVuYWJsZWRdKTogRGVsZXRlZC4KKyAgICAg
ICAgKiBVSVByb2Nlc3MvQVBJL0NvY29hL1dLUHJlZmVyZW5jZXNQcml2YXRlLmg6CisgICAgICAg
ICogVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYnNpdGVEYXRhU3RvcmUubW06CisgICAgICAgICgt
W1dLV2Vic2l0ZURhdGFTdG9yZSBfc2V0VXNlSVRQRGF0YWJhc2U6Y29tcGxldGlvbkhhbmRsZXI6
XSk6IERlbGV0ZWQuCisgICAgICAgICogVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYnNpdGVEYXRh
U3RvcmVQcml2YXRlLmg6CisgICAgICAgICogVUlQcm9jZXNzL0NvY29hL1dlYlByb2Nlc3NQb29s
Q29jb2EubW06CisgICAgICAgIChXZWJLaXQ6OldlYlByb2Nlc3NQb29sOjpwbGF0Zm9ybUluaXRp
YWxpemVOZXR3b3JrUHJvY2Vzcyk6CisgICAgICAgICogVUlQcm9jZXNzL05ldHdvcmsvTmV0d29y
a1Byb2Nlc3NQcm94eS5jcHA6CisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtQcm9jZXNzUHJveHk6
OnNldFVzZUlUUERhdGFiYXNlKTogRGVsZXRlZC4KKyAgICAgICAgKiBVSVByb2Nlc3MvTmV0d29y
ay9OZXR3b3JrUHJvY2Vzc1Byb3h5Lmg6CisgICAgICAgICogVUlQcm9jZXNzL1dlYnNpdGVEYXRh
L1dlYnNpdGVEYXRhU3RvcmUuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJzaXRlRGF0YVN0b3Jl
OjpzZXRVc2VJVFBEYXRhYmFzZSk6IERlbGV0ZWQuCisgICAgICAgICogVUlQcm9jZXNzL1dlYnNp
dGVEYXRhL1dlYnNpdGVEYXRhU3RvcmUuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvaW9zL1Jlc291
cmNlTG9hZFN0YXRpc3RpY3NQZXJzaXN0ZW50U3RvcmFnZUlPUy5tbTogUmVtb3ZlZC4KKyAgICAg
ICAgKiBXZWJLaXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKwogMjAyMC0wOS0yOCAgRGV2
aW4gUm91c3NvICA8ZHJvdXNzb0BhcHBsZS5jb20+CiAKICAgICAgICAgW2lPU10gdW5hYmxlIHRv
IGFpcnBsYXkgZGlyZWN0bHkgbG9hZGVkIGZ1bGxzY3JlZW4gdmlkZW8KZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXRMZWdhY3kvbWFjL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFj
L0NoYW5nZUxvZwppbmRleCA2YjNiMTdlODM5YTVhYzg0YjcxYzc1YzQ5ZWMxMjZlOGYzODQwNTc5
Li41YzVkMThkODcyMjdiODQ4MTNjMjQ5MTM2NmVhZDdjMmM3OTRhNWNmIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0TGVnYWN5L21hYy9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdExlZ2Fj
eS9tYWMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTIgQEAKKzIwMjAtMDktMjggIEFsZXggQ2hyaXN0
ZW5zZW4gIDxhY2hyaXN0ZW5zZW5Ad2Via2l0Lm9yZz4KKworICAgICAgICBSZW1vdmUgcGxpc3Qt
YmFzZWQgUmVzb3VyY2VMb2FkU3RhdGlzdGljcyBzdG9yYWdlLCB3aGljaCBoYXMgYmVlbiByZXBs
YWNlZCBieSBkYXRhYmFzZS1iYXNlZCBzdG9yYWdlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTcwNjMKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICAqIFdlYlZpZXcvV2ViUHJlZmVyZW5jZXNJbnRlcm5hbC55
YW1sOgorCiAyMDIwLTA5LTI4ICBEZXZpbiBSb3Vzc28gIDxkcm91c3NvQGFwcGxlLmNvbT4KIAog
ICAgICAgICBbaU9TXSB1bmFibGUgdG8gYWlycGxheSBkaXJlY3RseSBsb2FkZWQgZnVsbHNjcmVl
biB2aWRlbwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9SdW50aW1lRW5hYmxlZEZl
YXR1cmVzLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1J1bnRpbWVFbmFibGVkRmVhdHVyZXMuaApp
bmRleCBmMzZhZTdkNGRjYWVjZWY0MDBmMTJhOTUxNGFlY2FiOGIwN2FiZjc2Li4wOTI1N2M1N2I0
MGNmNjk3NmVmMjU1M2FlNGFmMzg4NzM2ZGViOGZiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL1J1bnRpbWVFbmFibGVkRmVhdHVyZXMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdl
L1J1bnRpbWVFbmFibGVkRmVhdHVyZXMuaApAQCAtOTksOSArOTksNiBAQCBwdWJsaWM6CiAgICAg
dm9pZCBzZXRJdHBEZWJ1Z01vZGVFbmFibGVkKGJvb2wgaXNFbmFibGVkKSB7IG1faXRwRGVidWdN
b2RlID0gaXNFbmFibGVkOyB9CiAgICAgYm9vbCBpdHBEZWJ1Z01vZGVFbmFibGVkKCkgY29uc3Qg
eyByZXR1cm4gbV9pdHBEZWJ1Z01vZGU7IH0KIAotICAgIHZvaWQgc2V0SXNJVFBEYXRhYmFzZUVu
YWJsZWQoYm9vbCBpc0VuYWJsZWQpIHsgbV9pc0lUUERhdGFiYXNlRW5hYmxlZCA9IGlzRW5hYmxl
ZDsgfQotICAgIGJvb2wgaXNJVFBEYXRhYmFzZUVuYWJsZWQoKSBjb25zdCB7IHJldHVybiBtX2lz
SVRQRGF0YWJhc2VFbmFibGVkOyB9Ci0KICAgICB2b2lkIHNldFJlc3RyaWN0ZWRIVFRQUmVzcG9u
c2VBY2Nlc3MoYm9vbCBpc0VuYWJsZWQpIHsgbV9pc1Jlc3RyaWN0ZWRIVFRQUmVzcG9uc2VBY2Nl
c3MgPSBpc0VuYWJsZWQ7IH0KICAgICBib29sIHJlc3RyaWN0ZWRIVFRQUmVzcG9uc2VBY2Nlc3Mo
KSBjb25zdCB7IHJldHVybiBtX2lzUmVzdHJpY3RlZEhUVFBSZXNwb25zZUFjY2VzczsgfQogCkBA
IC0zNzcsOCArMzc0LDYgQEAgcHJpdmF0ZToKICAgICBPcHRpb25hbDxib29sPiBtX3RvdWNoRXZl
bnRzRW5hYmxlZDsKICNlbmRpZgogCi0gICAgYm9vbCBtX2lzSVRQRGF0YWJhc2VFbmFibGVkIHsg
dHJ1ZSB9OwotCiAjaWYgSEFWRShOU1VSTFNFU1NJT05fV0VCU09DS0VUKQogICAgIGJvb2wgbV9p
c05TVVJMU2Vzc2lvbldlYlNvY2tldEVuYWJsZWQgeyBmYWxzZSB9OwogI2VuZGlmCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL0NsYXNzaWZpZXIvUmVzb3VyY2VMb2Fk
U3RhdGlzdGljc0RhdGFiYXNlU3RvcmUuaCBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3Mv
Q2xhc3NpZmllci9SZXNvdXJjZUxvYWRTdGF0aXN0aWNzRGF0YWJhc2VTdG9yZS5oCmluZGV4IDcy
ODU2N2Y3MDdhOTg3YzY1ODYzZjczNzUyZTFiMjlkMDMyMTIzZjcuLmEyYzVhNTI1YmQ3NDczZTBj
NGM4NGY2N2E0NWJmNjEwYjMxYTYyNjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvTmV0d29y
a1Byb2Nlc3MvQ2xhc3NpZmllci9SZXNvdXJjZUxvYWRTdGF0aXN0aWNzRGF0YWJhc2VTdG9yZS5o
CisrKyBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvQ2xhc3NpZmllci9SZXNvdXJjZUxv
YWRTdGF0aXN0aWNzRGF0YWJhc2VTdG9yZS5oCkBAIC05Myw4ICs5Myw2IEBAIHB1YmxpYzoKICAg
ICB2b2lkIHVwZGF0ZUNvb2tpZUJsb2NraW5nKENvbXBsZXRpb25IYW5kbGVyPHZvaWQoKT4mJikg
b3ZlcnJpZGU7CiAKICAgICB2b2lkIGNsYXNzaWZ5UHJldmFsZW50UmVzb3VyY2VzKCkgb3ZlcnJp
ZGU7Ci0gICAgdm9pZCBzeW5jU3RvcmFnZUlmTmVlZGVkKCkgb3ZlcnJpZGUgeyB9OwotICAgIHZv
aWQgc3luY1N0b3JhZ2VJbW1lZGlhdGVseSgpIG92ZXJyaWRlIHsgfTsKICAgICB2b2lkIHJ1bklu
Y3JlbWVudGFsVmFjdXVtQ29tbWFuZCgpOwogCiAgICAgdm9pZCByZXF1ZXN0U3RvcmFnZUFjY2Vz
c1VuZGVyT3BlbmVyKERvbWFpbkluTmVlZE9mU3RvcmFnZUFjY2VzcyYmLCBXZWJDb3JlOjpQYWdl
SWRlbnRpZmllciBvcGVuZXJJRCwgT3BlbmVyRG9tYWluJiYpIG92ZXJyaWRlOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9DbGFzc2lmaWVyL1Jlc291cmNlTG9hZFN0
YXRpc3RpY3NNZW1vcnlTdG9yZS5jcHAgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL0Ns
YXNzaWZpZXIvUmVzb3VyY2VMb2FkU3RhdGlzdGljc01lbW9yeVN0b3JlLmNwcAppbmRleCA5NDJm
ZWQ2MzI0NmIwZDFmMGRkYzljYzg0YzQzMTI5N2Y3ZGM5MGEzLi41MzlmNTMxZWEwNzhmYmJkYzEw
OGUyZTVlOTdlMWNjNmQ1M2QxYjFmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQ
cm9jZXNzL0NsYXNzaWZpZXIvUmVzb3VyY2VMb2FkU3RhdGlzdGljc01lbW9yeVN0b3JlLmNwcAor
KysgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL0NsYXNzaWZpZXIvUmVzb3VyY2VMb2Fk
U3RhdGlzdGljc01lbW9yeVN0b3JlLmNwcApAQCAtMzIsNyArMzIsNiBAQAogI2luY2x1ZGUgIk5l
dHdvcmtTZXNzaW9uLmgiCiAjaW5jbHVkZSAiUGx1Z2luUHJvY2Vzc01hbmFnZXIuaCIKICNpbmNs
dWRlICJQbHVnaW5Qcm9jZXNzUHJveHkuaCIKLSNpbmNsdWRlICJSZXNvdXJjZUxvYWRTdGF0aXN0
aWNzUGVyc2lzdGVudFN0b3JhZ2UuaCIKICNpbmNsdWRlICJTdG9yYWdlQWNjZXNzU3RhdHVzLmgi
CiAjaW5jbHVkZSAiV2ViUHJvY2Vzc1Byb3h5LmgiCiAjaW5jbHVkZSAiV2ViUmVzb3VyY2VMb2Fk
U3RhdGlzdGljc1RlbGVtZXRyeS5oIgpAQCAtOTEsMTMgKzkwLDYgQEAgYm9vbCBSZXNvdXJjZUxv
YWRTdGF0aXN0aWNzTWVtb3J5U3RvcmU6OmlzRW1wdHkoKSBjb25zdAogICAgIHJldHVybiBtX3Jl
c291cmNlU3RhdGlzdGljc01hcC5pc0VtcHR5KCk7CiB9CiAKLXZvaWQgUmVzb3VyY2VMb2FkU3Rh
dGlzdGljc01lbW9yeVN0b3JlOjpzZXRQZXJzaXN0ZW50U3RvcmFnZShSZXNvdXJjZUxvYWRTdGF0
aXN0aWNzUGVyc2lzdGVudFN0b3JhZ2UmIHBlcnNpc3RlbnRTdG9yYWdlKQotewotICAgIEFTU0VS
VCghUnVuTG9vcDo6aXNNYWluKCkpOwotCi0gICAgbV9wZXJzaXN0ZW50U3RvcmFnZSA9IG1ha2VX
ZWFrUHRyKHBlcnNpc3RlbnRTdG9yYWdlKTsKLX0KLQogdm9pZCBSZXNvdXJjZUxvYWRTdGF0aXN0
aWNzTWVtb3J5U3RvcmU6OmNhbGN1bGF0ZUFuZFN1Ym1pdFRlbGVtZXRyeShOb3RpZnlQYWdlc0Zv
clRlc3Rpbmcgc2hvdWxkTm90aWZ5UGFnZXNGb3JUZXN0aW5nKSBjb25zdAogewogICAgIEFTU0VS
VCghUnVuTG9vcDo6aXNNYWluKCkpOwpAQCAtMjM5LDIyICsyMzEsNiBAQCB2b2lkIFJlc291cmNl
TG9hZFN0YXRpc3RpY3NNZW1vcnlTdG9yZTo6Y2xhc3NpZnlQcmV2YWxlbnRSZXNvdXJjZXMoKQog
ICAgIH0KIH0KIAotdm9pZCBSZXNvdXJjZUxvYWRTdGF0aXN0aWNzTWVtb3J5U3RvcmU6OnN5bmNT
dG9yYWdlSWZOZWVkZWQoKQotewotICAgIEFTU0VSVCghUnVuTG9vcDo6aXNNYWluKCkpOwotCi0g
ICAgaWYgKG1fcGVyc2lzdGVudFN0b3JhZ2UpCi0gICAgICAgIG1fcGVyc2lzdGVudFN0b3JhZ2Ut
PnNjaGVkdWxlT3JXcml0ZU1lbW9yeVN0b3JlKFJlc291cmNlTG9hZFN0YXRpc3RpY3NQZXJzaXN0
ZW50U3RvcmFnZTo6Rm9yY2VJbW1lZGlhdGVXcml0ZTo6Tm8pOwotfQotCi12b2lkIFJlc291cmNl
TG9hZFN0YXRpc3RpY3NNZW1vcnlTdG9yZTo6c3luY1N0b3JhZ2VJbW1lZGlhdGVseSgpCi17Ci0g
ICAgQVNTRVJUKCFSdW5Mb29wOjppc01haW4oKSk7Ci0KLSAgICBpZiAobV9wZXJzaXN0ZW50U3Rv
cmFnZSkKLSAgICAgICAgbV9wZXJzaXN0ZW50U3RvcmFnZS0+c2NoZWR1bGVPcldyaXRlTWVtb3J5
U3RvcmUoUmVzb3VyY2VMb2FkU3RhdGlzdGljc1BlcnNpc3RlbnRTdG9yYWdlOjpGb3JjZUltbWVk
aWF0ZVdyaXRlOjpZZXMpOwotfQotCiBib29sIFJlc291cmNlTG9hZFN0YXRpc3RpY3NNZW1vcnlT
dG9yZTo6YXJlQWxsVGhpcmRQYXJ0eUNvb2tpZXNCbG9ja2VkVW5kZXIoY29uc3QgVG9wRnJhbWVE
b21haW4mIHRvcEZyYW1lRG9tYWluKQogewogICAgIGlmICh0aGlyZFBhcnR5Q29va2llQmxvY2tp
bmdNb2RlKCkgPT0gVGhpcmRQYXJ0eUNvb2tpZUJsb2NraW5nTW9kZTo6QWxsKQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9DbGFzc2lmaWVyL1Jlc291cmNlTG9hZFN0
YXRpc3RpY3NNZW1vcnlTdG9yZS5oIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9DbGFz
c2lmaWVyL1Jlc291cmNlTG9hZFN0YXRpc3RpY3NNZW1vcnlTdG9yZS5oCmluZGV4IDA5YzllYmU4
YTdmYzA1ZDAwMTA0OTRiMjQ1MWQzM2I2ZTZmNzg5YTEuLjA4ZDVmZDFjYzIyZmNlZDljMDVjZWE2
N2FhNjk1YTZkNmVlYTUxOGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nl
c3MvQ2xhc3NpZmllci9SZXNvdXJjZUxvYWRTdGF0aXN0aWNzTWVtb3J5U3RvcmUuaAorKysgYi9T
b3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL0NsYXNzaWZpZXIvUmVzb3VyY2VMb2FkU3RhdGlz
dGljc01lbW9yeVN0b3JlLmgKQEAgLTQ0LDE1ICs0NCwxMSBAQCBzdHJ1Y3QgUmVzb3VyY2VMb2Fk
U3RhdGlzdGljczsKIAogbmFtZXNwYWNlIFdlYktpdCB7CiAKLWNsYXNzIFJlc291cmNlTG9hZFN0
YXRpc3RpY3NQZXJzaXN0ZW50U3RvcmFnZTsKLQogLy8gVGhpcyBpcyBhbHdheXMgY29uc3RydWN0
ZWQgLyB1c2VkIC8gZGVzdHJveWVkIG9uIHRoZSBXZWJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzU3Rv
cmUncyBzdGF0aXN0aWNzIHF1ZXVlLgogY2xhc3MgUmVzb3VyY2VMb2FkU3RhdGlzdGljc01lbW9y
eVN0b3JlIGZpbmFsIDogcHVibGljIFJlc291cmNlTG9hZFN0YXRpc3RpY3NTdG9yZSB7CiBwdWJs
aWM6CiAgICAgUmVzb3VyY2VMb2FkU3RhdGlzdGljc01lbW9yeVN0b3JlKFdlYlJlc291cmNlTG9h
ZFN0YXRpc3RpY3NTdG9yZSYsIFdvcmtRdWV1ZSYsIFNob3VsZEluY2x1ZGVMb2NhbGhvc3QpOwog
Ci0gICAgdm9pZCBzZXRQZXJzaXN0ZW50U3RvcmFnZShSZXNvdXJjZUxvYWRTdGF0aXN0aWNzUGVy
c2lzdGVudFN0b3JhZ2UmKTsKLQogICAgIHZvaWQgY2xlYXIoQ29tcGxldGlvbkhhbmRsZXI8dm9p
ZCgpPiYmKSBvdmVycmlkZTsKICAgICBib29sIGlzRW1wdHkoKSBjb25zdCBvdmVycmlkZTsKIApA
QCAtNjgsOCArNjQsNiBAQCBwdWJsaWM6CiAgICAgdm9pZCB1cGRhdGVDb29raWVCbG9ja2luZyhD
b21wbGV0aW9uSGFuZGxlcjx2b2lkKCk+JiYpIG92ZXJyaWRlOwogCiAgICAgdm9pZCBjbGFzc2lm
eVByZXZhbGVudFJlc291cmNlcygpIG92ZXJyaWRlOwotICAgIHZvaWQgc3luY1N0b3JhZ2VJZk5l
ZWRlZCgpIG92ZXJyaWRlOwotICAgIHZvaWQgc3luY1N0b3JhZ2VJbW1lZGlhdGVseSgpIG92ZXJy
aWRlOwogCiAgICAgdm9pZCByZXF1ZXN0U3RvcmFnZUFjY2Vzc1VuZGVyT3BlbmVyKERvbWFpbklu
TmVlZE9mU3RvcmFnZUFjY2VzcyYmLCBXZWJDb3JlOjpQYWdlSWRlbnRpZmllciwgT3BlbmVyRG9t
YWluJiYpIG92ZXJyaWRlOwogCkBAIC0xNDYsNyArMTQwLDYgQEAgcHJpdmF0ZToKICAgICBib29s
IGlzTWVtb3J5U3RvcmUoKSBjb25zdCBmaW5hbCB7IHJldHVybiB0cnVlOyB9CiAgICAgT3B0aW9u
YWw8V2FsbFRpbWU+IG1vc3RSZWNlbnRVc2VySW50ZXJhY3Rpb25UaW1lKGNvbnN0IFJlc291cmNl
TG9hZFN0YXRpc3RpY3MmKTsKIAotICAgIFdlYWtQdHI8UmVzb3VyY2VMb2FkU3RhdGlzdGljc1Bl
cnNpc3RlbnRTdG9yYWdlPiBtX3BlcnNpc3RlbnRTdG9yYWdlOwogICAgIEhhc2hNYXA8UmVnaXN0
cmFibGVEb21haW4sIFJlc291cmNlTG9hZFN0YXRpc3RpY3M+IG1fcmVzb3VyY2VTdGF0aXN0aWNz
TWFwOwogICAgIFZlY3RvcjxPcGVyYXRpbmdEYXRlPiBtX29wZXJhdGluZ0RhdGVzOwogfTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvQ2xhc3NpZmllci9SZXNvdXJj
ZUxvYWRTdGF0aXN0aWNzUGVyc2lzdGVudFN0b3JhZ2UuY3BwIGIvU291cmNlL1dlYktpdC9OZXR3
b3JrUHJvY2Vzcy9DbGFzc2lmaWVyL1Jlc291cmNlTG9hZFN0YXRpc3RpY3NQZXJzaXN0ZW50U3Rv
cmFnZS5jcHAKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDczZGFlNzA2YmU5M2E0YmM5
M2UwYWViNGRmMzlmMzdhZmE1NzNkMGUuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAKLS0tIGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9DbGFzc2lmaWVyL1Jl
c291cmNlTG9hZFN0YXRpc3RpY3NQZXJzaXN0ZW50U3RvcmFnZS5jcHAKKysrIC9kZXYvbnVsbApA
QCAtMSwyNzcgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAxNy0yMDE4IEFwcGxlIElu
Yy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGlu
IHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlv
biwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwot
ICogYXJlIG1ldDoKLSAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJl
dGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAyLiBSZWRpc3RyaWJ1dGlv
bnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotICog
ICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyIGluIHRoZQotICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxz
IHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElT
IFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCi0g
KiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywKLSAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklM
SVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKLSAqIFBVUlBPU0UgQVJFIERJU0NMQUlN
RUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUwotICog
QkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwg
RVhFTVBMQVJZLCBPUgotICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKLSAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VS
VklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUwotICogSU5U
RVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFks
IFdIRVRIRVIgSU4KLSAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNM
VURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCi0gKiBBUklTSU5HIElOIEFOWSBXQVkgT1VU
IE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCi0gKiBUSEUg
UE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCi0gKi8KLQotI2luY2x1ZGUgImNvbmZpZy5oIgot
I2luY2x1ZGUgIlJlc291cmNlTG9hZFN0YXRpc3RpY3NQZXJzaXN0ZW50U3RvcmFnZS5oIgotCi0j
aWYgRU5BQkxFKFJFU09VUkNFX0xPQURfU1RBVElTVElDUykKLQotI2luY2x1ZGUgIkxvZ2dpbmcu
aCIKLSNpbmNsdWRlICJQZXJzaXN0ZW5jeVV0aWxzLmgiCi0jaW5jbHVkZSAiUmVzb3VyY2VMb2Fk
U3RhdGlzdGljc01lbW9yeVN0b3JlLmgiCi0jaW5jbHVkZSAiV2ViUmVzb3VyY2VMb2FkU3RhdGlz
dGljc1N0b3JlLmgiCi0jaW5jbHVkZSA8V2ViQ29yZS9GaWxlTW9uaXRvci5oPgotI2luY2x1ZGUg
PFdlYkNvcmUvS2V5ZWRDb2RpbmcuaD4KLSNpbmNsdWRlIDxXZWJDb3JlL1NoYXJlZEJ1ZmZlci5o
PgotI2luY2x1ZGUgPHd0Zi9GaWxlU3lzdGVtLmg+Ci0jaW5jbHVkZSA8d3RmL1J1bkxvb3AuaD4K
LSNpbmNsdWRlIDx3dGYvV29ya1F1ZXVlLmg+Ci0KLW5hbWVzcGFjZSBXZWJLaXQgewotCi1jb25z
dGV4cHIgU2Vjb25kcyBtaW5pbXVtV3JpdGVJbnRlcnZhbCB7IDVfbWluIH07Ci0KLXVzaW5nIG5h
bWVzcGFjZSBXZWJDb3JlOwotCi1zdGF0aWMgYm9vbCBoYXNGaWxlQ2hhbmdlZFNpbmNlKGNvbnN0
IFN0cmluZyYgcGF0aCwgV2FsbFRpbWUgc2luY2UpCi17Ci0gICAgQVNTRVJUKCFSdW5Mb29wOjpp
c01haW4oKSk7Ci0gICAgYXV0byBtb2RpZmljYXRpb25UaW1lID0gRmlsZVN5c3RlbTo6Z2V0Rmls
ZU1vZGlmaWNhdGlvblRpbWUocGF0aCk7Ci0gICAgaWYgKCFtb2RpZmljYXRpb25UaW1lKQotICAg
ICAgICByZXR1cm4gdHJ1ZTsKLQotICAgIHJldHVybiBtb2RpZmljYXRpb25UaW1lLnZhbHVlKCkg
PiBzaW5jZTsKLX0KLQotUmVzb3VyY2VMb2FkU3RhdGlzdGljc1BlcnNpc3RlbnRTdG9yYWdlOjpS
ZXNvdXJjZUxvYWRTdGF0aXN0aWNzUGVyc2lzdGVudFN0b3JhZ2UoUmVzb3VyY2VMb2FkU3RhdGlz
dGljc01lbW9yeVN0b3JlJiBtZW1vcnlTdG9yZSwgV29ya1F1ZXVlJiB3b3JrUXVldWUsIGNvbnN0
IFN0cmluZyYgc3RvcmFnZURpcmVjdG9yeVBhdGgpCi0gICAgOiBtX21lbW9yeVN0b3JlKG1lbW9y
eVN0b3JlKQotICAgICwgbV93b3JrUXVldWUod29ya1F1ZXVlKQotICAgICwgbV9zdG9yYWdlRGly
ZWN0b3J5UGF0aChzdG9yYWdlRGlyZWN0b3J5UGF0aCkKLXsKLSAgICBSRUxFQVNFX0FTU0VSVCgh
UnVuTG9vcDo6aXNNYWluKCkpOwotCi0gICAgbV9tZW1vcnlTdG9yZS5zZXRQZXJzaXN0ZW50U3Rv
cmFnZSgqdGhpcyk7Ci0KLSAgICBzdGFydE1vbml0b3JpbmdEaXNrKCk7Ci19Ci0KLVJlc291cmNl
TG9hZFN0YXRpc3RpY3NQZXJzaXN0ZW50U3RvcmFnZTo6flJlc291cmNlTG9hZFN0YXRpc3RpY3NQ
ZXJzaXN0ZW50U3RvcmFnZSgpCi17Ci0gICAgUkVMRUFTRV9BU1NFUlQoIVJ1bkxvb3A6OmlzTWFp
bigpKTsKLQotICAgIGlmIChtX2hhc1BlbmRpbmdXcml0ZSkKLSAgICAgICAgd3JpdGVNZW1vcnlT
dG9yZVRvRGlzaygpOwotfQotCi1TdHJpbmcgUmVzb3VyY2VMb2FkU3RhdGlzdGljc1BlcnNpc3Rl
bnRTdG9yYWdlOjpzdG9yYWdlRGlyZWN0b3J5UGF0aElzb2xhdGVkQ29weSgpIGNvbnN0Ci17Ci0g
ICAgcmV0dXJuIG1fc3RvcmFnZURpcmVjdG9yeVBhdGguaXNvbGF0ZWRDb3B5KCk7Ci19Ci0KLVN0
cmluZyBSZXNvdXJjZUxvYWRTdGF0aXN0aWNzUGVyc2lzdGVudFN0b3JhZ2U6OnJlc291cmNlTG9n
RmlsZVBhdGgoKSBjb25zdAotewotICAgIFN0cmluZyBzdG9yYWdlUGF0aCA9IHN0b3JhZ2VEaXJl
Y3RvcnlQYXRoSXNvbGF0ZWRDb3B5KCk7Ci0gICAgaWYgKHN0b3JhZ2VQYXRoLmlzRW1wdHkoKSkK
LSAgICAgICAgcmV0dXJuIGVtcHR5U3RyaW5nKCk7Ci0KLSAgICByZXR1cm4gRmlsZVN5c3RlbTo6
cGF0aEJ5QXBwZW5kaW5nQ29tcG9uZW50KHN0b3JhZ2VQYXRoLCAiZnVsbF9icm93c2luZ19zZXNz
aW9uX3Jlc291cmNlTG9nLnBsaXN0Iik7Ci19Ci0KLXZvaWQgUmVzb3VyY2VMb2FkU3RhdGlzdGlj
c1BlcnNpc3RlbnRTdG9yYWdlOjpzdGFydE1vbml0b3JpbmdEaXNrKCkKLXsKLSAgICBBU1NFUlQo
IVJ1bkxvb3A6OmlzTWFpbigpKTsKLSAgICBpZiAobV9maWxlTW9uaXRvcikKLSAgICAgICAgcmV0
dXJuOwotCi0gICAgU3RyaW5nIHJlc291cmNlTG9nUGF0aCA9IHJlc291cmNlTG9nRmlsZVBhdGgo
KTsKLSAgICBpZiAocmVzb3VyY2VMb2dQYXRoLmlzRW1wdHkoKSkKLSAgICAgICAgcmV0dXJuOwot
Ci0gICAgbV9maWxlTW9uaXRvciA9IG1ha2VVbmlxdWU8RmlsZU1vbml0b3I+KHJlc291cmNlTG9n
UGF0aCwgbV93b3JrUXVldWUuY29weVJlZigpLCBbdGhpcywgd2Vha1RoaXMgPSBtYWtlV2Vha1B0
cigqdGhpcyldIChGaWxlTW9uaXRvcjo6RmlsZUNoYW5nZVR5cGUgdHlwZSkgewotICAgICAgICBB
U1NFUlQoIVJ1bkxvb3A6OmlzTWFpbigpKTsKLSAgICAgICAgaWYgKCF3ZWFrVGhpcykKLSAgICAg
ICAgICAgIHJldHVybjsKLQotICAgICAgICBzd2l0Y2ggKHR5cGUpIHsKLSAgICAgICAgY2FzZSBG
aWxlTW9uaXRvcjo6RmlsZUNoYW5nZVR5cGU6Ok1vZGlmaWNhdGlvbjoKLSAgICAgICAgICAgIHJl
ZnJlc2hNZW1vcnlTdG9yZUZyb21EaXNrKCk7Ci0gICAgICAgICAgICBicmVhazsKLSAgICAgICAg
Y2FzZSBGaWxlTW9uaXRvcjo6RmlsZUNoYW5nZVR5cGU6OlJlbW92YWw6Ci0gICAgICAgICAgICBt
X21lbW9yeVN0b3JlLmNsZWFyKFtdIHsgfSk7Ci0gICAgICAgICAgICBtX2ZpbGVNb25pdG9yID0g
bnVsbHB0cjsKLSAgICAgICAgICAgIG1vbml0b3JEaXJlY3RvcnlGb3JOZXdTdGF0aXN0aWNzKCk7
Ci0gICAgICAgICAgICBicmVhazsKLSAgICAgICAgfQotICAgIH0pOwotfQotCi12b2lkIFJlc291
cmNlTG9hZFN0YXRpc3RpY3NQZXJzaXN0ZW50U3RvcmFnZTo6bW9uaXRvckRpcmVjdG9yeUZvck5l
d1N0YXRpc3RpY3MoKQotewotICAgIEFTU0VSVCghUnVuTG9vcDo6aXNNYWluKCkpOwotCi0gICAg
U3RyaW5nIHN0b3JhZ2VQYXRoID0gc3RvcmFnZURpcmVjdG9yeVBhdGhJc29sYXRlZENvcHkoKTsK
LSAgICBBU1NFUlQoIXN0b3JhZ2VQYXRoLmlzRW1wdHkoKSk7Ci0KLSAgICBpZiAoIUZpbGVTeXN0
ZW06OmZpbGVFeGlzdHMoc3RvcmFnZVBhdGgpKSB7Ci0gICAgICAgIGlmICghRmlsZVN5c3RlbTo6
bWFrZUFsbERpcmVjdG9yaWVzKHN0b3JhZ2VQYXRoKSkgewotICAgICAgICAgICAgUkVMRUFTRV9M
T0dfRVJST1IoUmVzb3VyY2VMb2FkU3RhdGlzdGljcywgIlJlc291cmNlTG9hZFN0YXRpc3RpY3NQ
ZXJzaXN0ZW50U3RvcmFnZTogRmFpbGVkIHRvIGNyZWF0ZSBkaXJlY3RvcnkgcGF0aCAlcyIsIHN0
b3JhZ2VQYXRoLnV0ZjgoKS5kYXRhKCkpOwotICAgICAgICAgICAgcmV0dXJuOwotICAgICAgICB9
Ci0gICAgfQotCi0gICAgbV9maWxlTW9uaXRvciA9IG1ha2VVbmlxdWU8RmlsZU1vbml0b3I+KHN0
b3JhZ2VQYXRoLCBtX3dvcmtRdWV1ZS5jb3B5UmVmKCksIFt0aGlzXSAoRmlsZU1vbml0b3I6OkZp
bGVDaGFuZ2VUeXBlIHR5cGUpIHsKLSAgICAgICAgQVNTRVJUKCFSdW5Mb29wOjppc01haW4oKSk7
Ci0gICAgICAgIGlmICh0eXBlID09IEZpbGVNb25pdG9yOjpGaWxlQ2hhbmdlVHlwZTo6UmVtb3Zh
bCkgewotICAgICAgICAgICAgLy8gRGlyZWN0b3J5IHdhcyByZW1vdmVkIQotICAgICAgICAgICAg
bV9maWxlTW9uaXRvciA9IG51bGxwdHI7Ci0gICAgICAgICAgICByZXR1cm47Ci0gICAgICAgIH0K
LQotICAgICAgICBTdHJpbmcgcmVzb3VyY2VMb2dQYXRoID0gcmVzb3VyY2VMb2dGaWxlUGF0aCgp
OwotICAgICAgICBBU1NFUlQoIXJlc291cmNlTG9nUGF0aC5pc0VtcHR5KCkpOwotCi0gICAgICAg
IGlmICghRmlsZVN5c3RlbTo6ZmlsZUV4aXN0cyhyZXNvdXJjZUxvZ1BhdGgpKQotICAgICAgICAg
ICAgcmV0dXJuOwotCi0gICAgICAgIG1fZmlsZU1vbml0b3IgPSBudWxscHRyOwotCi0gICAgICAg
IHJlZnJlc2hNZW1vcnlTdG9yZUZyb21EaXNrKCk7Ci0gICAgICAgIHN0YXJ0TW9uaXRvcmluZ0Rp
c2soKTsKLSAgICB9KTsKLX0KLQotdm9pZCBSZXNvdXJjZUxvYWRTdGF0aXN0aWNzUGVyc2lzdGVu
dFN0b3JhZ2U6OnN0b3BNb25pdG9yaW5nRGlzaygpCi17Ci0gICAgQVNTRVJUKCFSdW5Mb29wOjpp
c01haW4oKSk7Ci0gICAgbV9maWxlTW9uaXRvciA9IG51bGxwdHI7Ci19Ci0KLS8vIFRoaXMgaXMg
Y2FsbGVkIHdoZW4gdGhlIGZpbGUgY2hhbmdlcyBvbiBkaXNrLgotdm9pZCBSZXNvdXJjZUxvYWRT
dGF0aXN0aWNzUGVyc2lzdGVudFN0b3JhZ2U6OnJlZnJlc2hNZW1vcnlTdG9yZUZyb21EaXNrKCkK
LXsKLSAgICBBU1NFUlQoIVJ1bkxvb3A6OmlzTWFpbigpKTsKLQotICAgIFN0cmluZyBmaWxlUGF0
aCA9IHJlc291cmNlTG9nRmlsZVBhdGgoKTsKLSAgICBpZiAoZmlsZVBhdGguaXNFbXB0eSgpKQot
ICAgICAgICByZXR1cm47Ci0KLSAgICAvLyBXZSBzb21ldGltZXMgc2VlIGZpbGUgY2hhbmdlZCBl
dmVudHMgZnJvbSBiZWZvcmUgb3VyIGxvYWQgY29tcGxldGVkICh3ZSBzdGFydAotICAgIC8vIHJl
YWRpbmcgYXQgdGhlIGZpcnN0IGNoYW5nZSBldmVudCwgYnV0IHdlIG1pZ2h0IHJlY2VpdmUgYSBz
ZXJpZXMgb2YgZXZlbnRzIHJlbGF0ZWQKLSAgICAvLyB0byB0aGUgc2FtZSBmaWxlIG9wZXJhdGlv
bikuIENhdGNoIHRoaXMgY2FzZSB0byBhdm9pZCByZWFkaW5nIG92ZXJseSBvZnRlbi4KLSAgICBp
ZiAoIWhhc0ZpbGVDaGFuZ2VkU2luY2UoZmlsZVBhdGgsIG1fbGFzdFN0YXRpc3RpY3NGaWxlU3lu
Y1RpbWUpKQotICAgICAgICByZXR1cm47Ci0KLSAgICBXYWxsVGltZSByZWFkVGltZSA9IFdhbGxU
aW1lOjpub3coKTsKLQotICAgIGF1dG8gZGVjb2RlciA9IGNyZWF0ZUZvckZpbGUoZmlsZVBhdGgp
OwotICAgIGlmICghZGVjb2RlcikKLSAgICAgICAgcmV0dXJuOwotCi0gICAgbV9tZW1vcnlTdG9y
ZS5tZXJnZVdpdGhEYXRhRnJvbURlY29kZXIoKmRlY29kZXIpOwotICAgIG1fbGFzdFN0YXRpc3Rp
Y3NGaWxlU3luY1RpbWUgPSByZWFkVGltZTsKLX0KLQotdm9pZCBSZXNvdXJjZUxvYWRTdGF0aXN0
aWNzUGVyc2lzdGVudFN0b3JhZ2U6OnBvcHVsYXRlTWVtb3J5U3RvcmVGcm9tRGlzayhDb21wbGV0
aW9uSGFuZGxlcjx2b2lkKCk+JiYgY29tcGxldGlvbkhhbmRsZXIpCi17Ci0gICAgQVNTRVJUKCFS
dW5Mb29wOjppc01haW4oKSk7Ci0KLSAgICBTdHJpbmcgZmlsZVBhdGggPSByZXNvdXJjZUxvZ0Zp
bGVQYXRoKCk7Ci0gICAgaWYgKGZpbGVQYXRoLmlzRW1wdHkoKSB8fCAhRmlsZVN5c3RlbTo6Zmls
ZUV4aXN0cyhmaWxlUGF0aCkpIHsKLSAgICAgICAgbV9tZW1vcnlTdG9yZS5ncmFuZGZhdGhlckV4
aXN0aW5nV2Vic2l0ZURhdGEoV1RGTW92ZShjb21wbGV0aW9uSGFuZGxlcikpOwotICAgICAgICBt
b25pdG9yRGlyZWN0b3J5Rm9yTmV3U3RhdGlzdGljcygpOwotICAgICAgICByZXR1cm47Ci0gICAg
fQotCi0gICAgaWYgKCFoYXNGaWxlQ2hhbmdlZFNpbmNlKGZpbGVQYXRoLCBtX2xhc3RTdGF0aXN0
aWNzRmlsZVN5bmNUaW1lKSkgewotICAgICAgICAvLyBObyBuZWVkIHRvIGdyYW5kZmF0aGVyIGlu
IHRoaXMgY2FzZS4KLSAgICAgICAgY29tcGxldGlvbkhhbmRsZXIoKTsKLSAgICAgICAgcmV0dXJu
OwotICAgIH0KLQotICAgIFdhbGxUaW1lIHJlYWRUaW1lID0gV2FsbFRpbWU6Om5vdygpOwotCi0g
ICAgYXV0byBkZWNvZGVyID0gY3JlYXRlRm9yRmlsZShmaWxlUGF0aCk7Ci0gICAgaWYgKCFkZWNv
ZGVyKSB7Ci0gICAgICAgIG1fbWVtb3J5U3RvcmUuZ3JhbmRmYXRoZXJFeGlzdGluZ1dlYnNpdGVE
YXRhKFdURk1vdmUoY29tcGxldGlvbkhhbmRsZXIpKTsKLSAgICAgICAgcmV0dXJuOwotICAgIH0K
LQotICAgIC8vIERlYnVnIG1vZGUgaGFzIGEgcHJlcG9wdWxhdGVkIG1lbW9yeSBzdG9yZS4KLSAg
ICBBU1NFUlRfV0lUSF9NRVNTQUdFKG1fbWVtb3J5U3RvcmUuaXNFbXB0eSgpIHx8IG1fbWVtb3J5
U3RvcmUuaXNEZWJ1Z01vZGVFbmFibGVkKCksICJUaGlzIGlzIHRoZSBpbml0aWFsIGltcG9ydCBz
byB0aGUgc3RvcmUgc2hvdWxkIGJlIGVtcHR5Iik7Ci0gICAgbV9tZW1vcnlTdG9yZS5tZXJnZVdp
dGhEYXRhRnJvbURlY29kZXIoKmRlY29kZXIpOwotCi0gICAgbV9sYXN0U3RhdGlzdGljc0ZpbGVT
eW5jVGltZSA9IHJlYWRUaW1lOwotCi0gICAgbV9tZW1vcnlTdG9yZS5sb2dUZXN0aW5nRXZlbnQo
IlBvcHVsYXRlZFdpdGhvdXRHcmFuZGZhdGhlcmluZyJfcyk7Ci0gICAgY29tcGxldGlvbkhhbmRs
ZXIoKTsKLX0KLQotdm9pZCBSZXNvdXJjZUxvYWRTdGF0aXN0aWNzUGVyc2lzdGVudFN0b3JhZ2U6
OndyaXRlTWVtb3J5U3RvcmVUb0Rpc2soKQotewotICAgIEFTU0VSVCghUnVuTG9vcDo6aXNNYWlu
KCkpOwotCi0gICAgbV9oYXNQZW5kaW5nV3JpdGUgPSBmYWxzZTsKLSAgICBzdG9wTW9uaXRvcmlu
Z0Rpc2soKTsKLQotICAgIHdyaXRlVG9EaXNrKG1fbWVtb3J5U3RvcmUuY3JlYXRlRW5jb2RlckZy
b21EYXRhKCksIHJlc291cmNlTG9nRmlsZVBhdGgoKSk7Ci0KLSAgICBtX2xhc3RTdGF0aXN0aWNz
RmlsZVN5bmNUaW1lID0gV2FsbFRpbWU6Om5vdygpOwotICAgIG1fbGFzdFN0YXRpc3RpY3NXcml0
ZVRpbWUgPSBNb25vdG9uaWNUaW1lOjpub3coKTsKLQotICAgIHN0YXJ0TW9uaXRvcmluZ0Rpc2so
KTsKLX0KLQotdm9pZCBSZXNvdXJjZUxvYWRTdGF0aXN0aWNzUGVyc2lzdGVudFN0b3JhZ2U6OnNj
aGVkdWxlT3JXcml0ZU1lbW9yeVN0b3JlKEZvcmNlSW1tZWRpYXRlV3JpdGUgZm9yY2VJbW1lZGlh
dGVXcml0ZSkKLXsKLSAgICBBU1NFUlQoIVJ1bkxvb3A6OmlzTWFpbigpKTsKLQotICAgIGF1dG8g
dGltZVNpbmNlTGFzdFdyaXRlID0gTW9ub3RvbmljVGltZTo6bm93KCkgLSBtX2xhc3RTdGF0aXN0
aWNzV3JpdGVUaW1lOwotICAgIGlmIChmb3JjZUltbWVkaWF0ZVdyaXRlICE9IEZvcmNlSW1tZWRp
YXRlV3JpdGU6OlllcyAmJiB0aW1lU2luY2VMYXN0V3JpdGUgPCBtaW5pbXVtV3JpdGVJbnRlcnZh
bCkgewotICAgICAgICBpZiAoIW1faGFzUGVuZGluZ1dyaXRlKSB7Ci0gICAgICAgICAgICBtX2hh
c1BlbmRpbmdXcml0ZSA9IHRydWU7Ci0gICAgICAgICAgICBTZWNvbmRzIGRlbGF5ID0gbWluaW11
bVdyaXRlSW50ZXJ2YWwgLSB0aW1lU2luY2VMYXN0V3JpdGUgKyAxX3M7Ci0gICAgICAgICAgICBt
X3dvcmtRdWV1ZS0+ZGlzcGF0Y2hBZnRlcihkZWxheSwgW3dlYWtUaGlzID0gbWFrZVdlYWtQdHIo
KnRoaXMpXSB7Ci0gICAgICAgICAgICAgICAgaWYgKHdlYWtUaGlzKQotICAgICAgICAgICAgICAg
ICAgICB3ZWFrVGhpcy0+d3JpdGVNZW1vcnlTdG9yZVRvRGlzaygpOwotICAgICAgICAgICAgfSk7
Ci0gICAgICAgIH0KLSAgICAgICAgcmV0dXJuOwotICAgIH0KLQotICAgIHdyaXRlTWVtb3J5U3Rv
cmVUb0Rpc2soKTsKLX0KLQotdm9pZCBSZXNvdXJjZUxvYWRTdGF0aXN0aWNzUGVyc2lzdGVudFN0
b3JhZ2U6OmNsZWFyKCkKLXsKLSAgICBBU1NFUlQoIVJ1bkxvb3A6OmlzTWFpbigpKTsKLSAgICBT
dHJpbmcgZmlsZVBhdGggPSByZXNvdXJjZUxvZ0ZpbGVQYXRoKCk7Ci0gICAgaWYgKGZpbGVQYXRo
LmlzRW1wdHkoKSkKLSAgICAgICAgcmV0dXJuOwotCi0gICAgc3RvcE1vbml0b3JpbmdEaXNrKCk7
Ci0KLSAgICBpZiAoIUZpbGVTeXN0ZW06OmRlbGV0ZUZpbGUoZmlsZVBhdGgpICYmIEZpbGVTeXN0
ZW06OmZpbGVFeGlzdHMoZmlsZVBhdGgpKQotICAgICAgICBSRUxFQVNFX0xPR19FUlJPUihSZXNv
dXJjZUxvYWRTdGF0aXN0aWNzLCAiUmVzb3VyY2VMb2FkU3RhdGlzdGljc1BlcnNpc3RlbnRTdG9y
YWdlOiBVbmFibGUgdG8gZGVsZXRlIHN0YXRpc3RpY3MgZmlsZTogJXMiLCBmaWxlUGF0aC51dGY4
KCkuZGF0YSgpKTsKLX0KLQotI2lmICFQTEFURk9STShJT1NfRkFNSUxZKQotdm9pZCBSZXNvdXJj
ZUxvYWRTdGF0aXN0aWNzUGVyc2lzdGVudFN0b3JhZ2U6OmV4Y2x1ZGVGcm9tQmFja3VwKCkgY29u
c3QKLXsKLX0KLSNlbmRpZgotCi19IC8vIG5hbWVzcGFjZSBXZWJLaXQKLQotI2VuZGlmCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL0NsYXNzaWZpZXIvUmVzb3VyY2VM
b2FkU3RhdGlzdGljc1BlcnNpc3RlbnRTdG9yYWdlLmggYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQ
cm9jZXNzL0NsYXNzaWZpZXIvUmVzb3VyY2VMb2FkU3RhdGlzdGljc1BlcnNpc3RlbnRTdG9yYWdl
LmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDk3NjRhNzg0YTY2OWFjNTBlZGVjMWE2
ZGE4ZDRiY2ZkMTlhNDRhYzUuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAKLS0tIGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9DbGFzc2lmaWVyL1Jlc291cmNl
TG9hZFN0YXRpc3RpY3NQZXJzaXN0ZW50U3RvcmFnZS5oCisrKyAvZGV2L251bGwKQEAgLTEsODIg
KzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAxNy0yMDE4IEFwcGxlIEluYy4gQWxsIHJp
Z2h0cyByZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBh
bmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBl
cm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotICogYXJlIG1l
dDoKLSAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUg
YWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmlu
YXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGlu
IHRoZQotICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVk
IHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVE
IEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCi0gKiBBTkQgQU5Z
IEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywKLSAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBG
SVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKLSAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5P
IEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUwotICogQkUgTElBQkxF
IEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZ
LCBPUgotICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywgUFJPQ1VSRU1FTlQgT0YKLSAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExP
U1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUwotICogSU5URVJSVVBUSU9O
KSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIg
SU4KLSAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVH
TElHRU5DRSBPUiBPVEhFUldJU0UpCi0gKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBV
U0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCi0gKiBUSEUgUE9TU0lCSUxJ
VFkgT0YgU1VDSCBEQU1BR0UuCi0gKi8KLQotI3ByYWdtYSBvbmNlCi0KLSNpZiBFTkFCTEUoUkVT
T1VSQ0VfTE9BRF9TVEFUSVNUSUNTKQotCi0jaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KLSNpbmNs
dWRlIDx3dGYvTW9ub3RvbmljVGltZS5oPgotI2luY2x1ZGUgPHd0Zi9SdW5Mb29wLmg+Ci0jaW5j
bHVkZSA8d3RmL1dhbGxUaW1lLmg+Ci0jaW5jbHVkZSA8d3RmL1dlYWtQdHIuaD4KLSNpbmNsdWRl
IDx3dGYvV29ya1F1ZXVlLmg+Ci0jaW5jbHVkZSA8d3RmL3RleHQvV1RGU3RyaW5nLmg+Ci0KLW5h
bWVzcGFjZSBXZWJDb3JlIHsKLWNsYXNzIEZpbGVNb25pdG9yOwotfQotCi1uYW1lc3BhY2UgV2Vi
S2l0IHsKLQotY2xhc3MgUmVzb3VyY2VMb2FkU3RhdGlzdGljc01lbW9yeVN0b3JlOwotCi0vLyBD
YW4gb25seSBiZSBjb25zdHJ1Y3RlZCAvIGRlc3Ryb3llZCAvIHVzZWQgZnJvbSB0aGUgV2ViUmVz
b3VyY2VMb2FkU3RhdGlzdGljc1N0b3JlJ3Mgc3RhdGlzdGljIHF1ZXVlLgotY2xhc3MgUmVzb3Vy
Y2VMb2FkU3RhdGlzdGljc1BlcnNpc3RlbnRTdG9yYWdlIDogcHVibGljIENhbk1ha2VXZWFrUHRy
PFJlc291cmNlTG9hZFN0YXRpc3RpY3NQZXJzaXN0ZW50U3RvcmFnZT4gewotICAgIFdURl9NQUtF
X0ZBU1RfQUxMT0NBVEVEOwotcHVibGljOgotICAgIFJlc291cmNlTG9hZFN0YXRpc3RpY3NQZXJz
aXN0ZW50U3RvcmFnZShSZXNvdXJjZUxvYWRTdGF0aXN0aWNzTWVtb3J5U3RvcmUmLCBXb3JrUXVl
dWUmLCBjb25zdCBTdHJpbmcmIHN0b3JhZ2VEaXJlY3RvcnlQYXRoKTsKLSAgICB+UmVzb3VyY2VM
b2FkU3RhdGlzdGljc1BlcnNpc3RlbnRTdG9yYWdlKCk7Ci0KLSAgICB2b2lkIGNsZWFyKCk7Ci0K
LSAgICBlbnVtIGNsYXNzIEZvcmNlSW1tZWRpYXRlV3JpdGUgeyBObywgWWVzLCB9OwotICAgIHZv
aWQgc2NoZWR1bGVPcldyaXRlTWVtb3J5U3RvcmUoRm9yY2VJbW1lZGlhdGVXcml0ZSk7Ci0gICAg
dm9pZCBwb3B1bGF0ZU1lbW9yeVN0b3JlRnJvbURpc2soQ29tcGxldGlvbkhhbmRsZXI8dm9pZCgp
PiYmKTsKLQotcHJpdmF0ZToKLSAgICBTdHJpbmcgc3RvcmFnZURpcmVjdG9yeVBhdGhJc29sYXRl
ZENvcHkoKSBjb25zdDsKLSAgICBTdHJpbmcgcmVzb3VyY2VMb2dGaWxlUGF0aCgpIGNvbnN0Owot
Ci0gICAgdm9pZCBzdGFydE1vbml0b3JpbmdEaXNrKCk7Ci0gICAgdm9pZCBzdG9wTW9uaXRvcmlu
Z0Rpc2soKTsKLSAgICB2b2lkIG1vbml0b3JEaXJlY3RvcnlGb3JOZXdTdGF0aXN0aWNzKCk7Ci0K
LSAgICB2b2lkIHdyaXRlTWVtb3J5U3RvcmVUb0Rpc2soKTsKLSAgICB2b2lkIGV4Y2x1ZGVGcm9t
QmFja3VwKCkgY29uc3Q7Ci0gICAgdm9pZCByZWZyZXNoTWVtb3J5U3RvcmVGcm9tRGlzaygpOwot
Ci0gICAgUmVzb3VyY2VMb2FkU3RhdGlzdGljc01lbW9yeVN0b3JlJiBtX21lbW9yeVN0b3JlOwot
ICAgIFJlZjxXb3JrUXVldWU+IG1fd29ya1F1ZXVlOwotICAgIGNvbnN0IFN0cmluZyBtX3N0b3Jh
Z2VEaXJlY3RvcnlQYXRoOwotICAgIHN0ZDo6dW5pcXVlX3B0cjxXZWJDb3JlOjpGaWxlTW9uaXRv
cj4gbV9maWxlTW9uaXRvcjsKLSAgICBXYWxsVGltZSBtX2xhc3RTdGF0aXN0aWNzRmlsZVN5bmNU
aW1lOwotICAgIE1vbm90b25pY1RpbWUgbV9sYXN0U3RhdGlzdGljc1dyaXRlVGltZTsKLSAgICBi
b29sIG1faGFzUGVuZGluZ1dyaXRlIHsgZmFsc2UgfTsKLX07Ci0KLX0KLQotI2VuZGlmCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL0NsYXNzaWZpZXIvUmVzb3VyY2VM
b2FkU3RhdGlzdGljc1N0b3JlLmNwcCBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvQ2xh
c3NpZmllci9SZXNvdXJjZUxvYWRTdGF0aXN0aWNzU3RvcmUuY3BwCmluZGV4IDAxOTUwZjA1ZWQ2
NDNkZTNiNTQ2MmUzZjI2ZWJiYWVkMjM4YWRkNDYuLjJkN2IxMjhjNTRjMWMzOWU1YThkNzQ1MjIz
NzZlYTMyZDJmODQyMmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3Mv
Q2xhc3NpZmllci9SZXNvdXJjZUxvYWRTdGF0aXN0aWNzU3RvcmUuY3BwCisrKyBiL1NvdXJjZS9X
ZWJLaXQvTmV0d29ya1Byb2Nlc3MvQ2xhc3NpZmllci9SZXNvdXJjZUxvYWRTdGF0aXN0aWNzU3Rv
cmUuY3BwCkBAIC0zMyw3ICszMyw2IEBACiAjaW5jbHVkZSAiTmV0d29ya1Nlc3Npb24uaCIKICNp
bmNsdWRlICJQbHVnaW5Qcm9jZXNzTWFuYWdlci5oIgogI2luY2x1ZGUgIlBsdWdpblByb2Nlc3NQ
cm94eS5oIgotI2luY2x1ZGUgIlJlc291cmNlTG9hZFN0YXRpc3RpY3NQZXJzaXN0ZW50U3RvcmFn
ZS5oIgogI2luY2x1ZGUgIlN0b3JhZ2VBY2Nlc3NTdGF0dXMuaCIKICNpbmNsdWRlICJXZWJQcm9j
ZXNzUHJveHkuaCIKICNpbmNsdWRlICJXZWJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzVGVsZW1ldHJ5
LmgiCkBAIC0yNDgsNyArMjQ3LDYgQEAgdm9pZCBSZXNvdXJjZUxvYWRTdGF0aXN0aWNzU3RvcmU6
OnByb2Nlc3NTdGF0aXN0aWNzQW5kRGF0YVJlY29yZHMoKQogICAgICAgICAgICAgcmV0dXJuOwog
CiAgICAgICAgIHBydW5lU3RhdGlzdGljc0lmTmVlZGVkKCk7Ci0gICAgICAgIHN5bmNTdG9yYWdl
SWZOZWVkZWQoKTsKIAogICAgICAgICBsb2dUZXN0aW5nRXZlbnQoIlN0b3JhZ2UgU3luY2VkIl9z
KTsKIApAQCAtMjc1LDcgKzI3Myw2IEBAIHZvaWQgUmVzb3VyY2VMb2FkU3RhdGlzdGljc1N0b3Jl
OjpncmFuZGZhdGhlckV4aXN0aW5nV2Vic2l0ZURhdGEoQ29tcGxldGlvbkhhbmRsCiAKICAgICAg
ICAgICAgICAgICB3ZWFrVGhpcy0+Z3JhbmRmYXRoZXJEYXRhRm9yRG9tYWlucyhkb21haW5zV2l0
aFdlYnNpdGVEYXRhKTsKICAgICAgICAgICAgICAgICB3ZWFrVGhpcy0+bV9lbmRPZkdyYW5kZmF0
aGVyaW5nVGltZXN0YW1wID0gV2FsbFRpbWU6Om5vdygpICsgd2Vha1RoaXMtPm1fcGFyYW1ldGVy
cy5ncmFuZGZhdGhlcmluZ1RpbWU7Ci0gICAgICAgICAgICAgICAgd2Vha1RoaXMtPnN5bmNTdG9y
YWdlSW1tZWRpYXRlbHkoKTsKICAgICAgICAgICAgICAgICBjYWxsYmFjaygpOwogICAgICAgICAg
ICAgICAgIHdlYWtUaGlzLT5sb2dUZXN0aW5nRXZlbnQoIkdyYW5kZmF0aGVyZWQiX3MpOwogICAg
ICAgICAgICAgfSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL0Ns
YXNzaWZpZXIvUmVzb3VyY2VMb2FkU3RhdGlzdGljc1N0b3JlLmggYi9Tb3VyY2UvV2ViS2l0L05l
dHdvcmtQcm9jZXNzL0NsYXNzaWZpZXIvUmVzb3VyY2VMb2FkU3RhdGlzdGljc1N0b3JlLmgKaW5k
ZXggMmM1YWFjNmVhM2JlODQ1ZjA1OTU2YTM4YTNhMGY5OTk0YzczNGRhMi4uMDA4YmJiYjk0OWY1
N2JhN2MzYzU4ZDM5NDg0ODQ1YTgwMDY3ZTFjZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9O
ZXR3b3JrUHJvY2Vzcy9DbGFzc2lmaWVyL1Jlc291cmNlTG9hZFN0YXRpc3RpY3NTdG9yZS5oCisr
KyBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvQ2xhc3NpZmllci9SZXNvdXJjZUxvYWRT
dGF0aXN0aWNzU3RvcmUuaApAQCAtNTEsOCArNTEsNiBAQCBzdHJ1Y3QgUmVzb3VyY2VMb2FkU3Rh
dGlzdGljczsKIAogbmFtZXNwYWNlIFdlYktpdCB7CiAKLWNsYXNzIFJlc291cmNlTG9hZFN0YXRp
c3RpY3NQZXJzaXN0ZW50U3RvcmFnZTsKLQogY2xhc3MgT3BlcmF0aW5nRGF0ZSB7CiBwdWJsaWM6
CiAgICAgT3BlcmF0aW5nRGF0ZSgpID0gZGVmYXVsdDsKQEAgLTExNyw4ICsxMTUsNiBAQCBwdWJs
aWM6CiAgICAgdm9pZCBwcm9jZXNzU3RhdGlzdGljc0FuZERhdGFSZWNvcmRzKCk7CiAKICAgICB2
aXJ0dWFsIHZvaWQgY2xhc3NpZnlQcmV2YWxlbnRSZXNvdXJjZXMoKSA9IDA7Ci0gICAgdmlydHVh
bCB2b2lkIHN5bmNTdG9yYWdlSWZOZWVkZWQoKSA9IDA7Ci0gICAgdmlydHVhbCB2b2lkIHN5bmNT
dG9yYWdlSW1tZWRpYXRlbHkoKSA9IDA7CiAgICAgdmlydHVhbCB2b2lkIG1lcmdlU3RhdGlzdGlj
cyhWZWN0b3I8UmVzb3VyY2VMb2FkU3RhdGlzdGljcz4mJikgPSAwOwogCiAgICAgdmlydHVhbCB2
b2lkIHJlcXVlc3RTdG9yYWdlQWNjZXNzVW5kZXJPcGVuZXIoRG9tYWluSW5OZWVkT2ZTdG9yYWdl
QWNjZXNzJiYsIFdlYkNvcmU6OlBhZ2VJZGVudGlmaWVyIG9wZW5lcklELCBPcGVuZXJEb21haW4m
JikgPSAwOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9DbGFzc2lm
aWVyL1dlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NTdG9yZS5jcHAgYi9Tb3VyY2UvV2ViS2l0L05l
dHdvcmtQcm9jZXNzL0NsYXNzaWZpZXIvV2ViUmVzb3VyY2VMb2FkU3RhdGlzdGljc1N0b3JlLmNw
cAppbmRleCAxZjBiYjE2NzBmYWZjOTMwY2Q5N2YyMTNjZTEyYzA5ZWI1MjJhOTM3Li5hOWRkODBi
MTQ2N2E5MmYzZDc5YTc1MzUyMjdhYTJlMDNmNGY4MGQyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L05ldHdvcmtQcm9jZXNzL0NsYXNzaWZpZXIvV2ViUmVzb3VyY2VMb2FkU3RhdGlzdGljc1N0
b3JlLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL0NsYXNzaWZpZXIvV2Vi
UmVzb3VyY2VMb2FkU3RhdGlzdGljc1N0b3JlLmNwcApAQCAtMzUsNyArMzUsNiBAQAogI2luY2x1
ZGUgIk5ldHdvcmtTZXNzaW9uLmgiCiAjaW5jbHVkZSAiUmVzb3VyY2VMb2FkU3RhdGlzdGljc0Rh
dGFiYXNlU3RvcmUuaCIKICNpbmNsdWRlICJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzTWVtb3J5U3Rv
cmUuaCIKLSNpbmNsdWRlICJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzUGVyc2lzdGVudFN0b3JhZ2Uu
aCIKICNpbmNsdWRlICJTaG91bGRHcmFuZGZhdGhlclN0YXRpc3RpY3MuaCIKICNpbmNsdWRlICJT
dG9yYWdlQWNjZXNzU3RhdHVzLmgiCiAjaW5jbHVkZSAiV2ViRnJhbWVQcm94eS5oIgpAQCAtMTc4
LDIzICsxNzcsMTUgQEAgV2ViUmVzb3VyY2VMb2FkU3RhdGlzdGljc1N0b3JlOjpXZWJSZXNvdXJj
ZUxvYWRTdGF0aXN0aWNzU3RvcmUoTmV0d29ya1Nlc3Npb24mIG4KICAgICAgICAgcmV0dXJuOwog
CiAgICAgaWYgKCFyZXNvdXJjZUxvYWRTdGF0aXN0aWNzRGlyZWN0b3J5LmlzRW1wdHkoKSkgewot
ICAgICAgICBwb3N0VGFzayhbdGhpcywgZGF0YWJhc2VFbmFibGVkID0gbmV0d29ya1Nlc3Npb24u
bmV0d29ya1Byb2Nlc3MoKS5pc0lUUERhdGFiYXNlRW5hYmxlZCgpLCByZXNvdXJjZUxvYWRTdGF0
aXN0aWNzRGlyZWN0b3J5ID0gcmVzb3VyY2VMb2FkU3RhdGlzdGljc0RpcmVjdG9yeS5pc29sYXRl
ZENvcHkoKSwgc2hvdWxkSW5jbHVkZUxvY2FsaG9zdCwgc2Vzc2lvbklEID0gbmV0d29ya1Nlc3Np
b24uc2Vzc2lvbklEKCldIHsKLSAgICAgICAgICAgIGlmIChkYXRhYmFzZUVuYWJsZWQpIHsKLSAg
ICAgICAgICAgICAgICBtX3N0YXRpc3RpY3NTdG9yZSA9IG1ha2VVbmlxdWU8UmVzb3VyY2VMb2Fk
U3RhdGlzdGljc0RhdGFiYXNlU3RvcmU+KCp0aGlzLCBtX3N0YXRpc3RpY3NRdWV1ZSwgc2hvdWxk
SW5jbHVkZUxvY2FsaG9zdCwgcmVzb3VyY2VMb2FkU3RhdGlzdGljc0RpcmVjdG9yeSwgc2Vzc2lv
bklEKTsKKyAgICAgICAgcG9zdFRhc2soW3RoaXMsIHJlc291cmNlTG9hZFN0YXRpc3RpY3NEaXJl
Y3RvcnkgPSByZXNvdXJjZUxvYWRTdGF0aXN0aWNzRGlyZWN0b3J5Lmlzb2xhdGVkQ29weSgpLCBz
aG91bGRJbmNsdWRlTG9jYWxob3N0LCBzZXNzaW9uSUQgPSBuZXR3b3JrU2Vzc2lvbi5zZXNzaW9u
SUQoKV0geworICAgICAgICAgICAgbV9zdGF0aXN0aWNzU3RvcmUgPSBtYWtlVW5pcXVlPFJlc291
cmNlTG9hZFN0YXRpc3RpY3NEYXRhYmFzZVN0b3JlPigqdGhpcywgbV9zdGF0aXN0aWNzUXVldWUs
IHNob3VsZEluY2x1ZGVMb2NhbGhvc3QsIHJlc291cmNlTG9hZFN0YXRpc3RpY3NEaXJlY3Rvcnks
IHNlc3Npb25JRCk7CiAKLSAgICAgICAgICAgICAgICBhdXRvIG1lbW9yeVN0b3JlID0gbWFrZVVu
aXF1ZTxSZXNvdXJjZUxvYWRTdGF0aXN0aWNzTWVtb3J5U3RvcmU+KCp0aGlzLCBtX3N0YXRpc3Rp
Y3NRdWV1ZSwgc2hvdWxkSW5jbHVkZUxvY2FsaG9zdCk7Ci0gICAgICAgICAgICAgICAgZG93bmNh
c3Q8UmVzb3VyY2VMb2FkU3RhdGlzdGljc0RhdGFiYXNlU3RvcmU+KCptX3N0YXRpc3RpY3NTdG9y
ZS5nZXQoKSkucG9wdWxhdGVGcm9tTWVtb3J5U3RvcmUoKm1lbW9yeVN0b3JlKTsKKyAgICAgICAg
ICAgIGF1dG8gbWVtb3J5U3RvcmUgPSBtYWtlVW5pcXVlPFJlc291cmNlTG9hZFN0YXRpc3RpY3NN
ZW1vcnlTdG9yZT4oKnRoaXMsIG1fc3RhdGlzdGljc1F1ZXVlLCBzaG91bGRJbmNsdWRlTG9jYWxo
b3N0KTsKKyAgICAgICAgICAgIGRvd25jYXN0PFJlc291cmNlTG9hZFN0YXRpc3RpY3NEYXRhYmFz
ZVN0b3JlPigqbV9zdGF0aXN0aWNzU3RvcmUuZ2V0KCkpLnBvcHVsYXRlRnJvbU1lbW9yeVN0b3Jl
KCptZW1vcnlTdG9yZSk7CiAKLSAgICAgICAgICAgICAgICBhdXRvIGxlZ2FjeVBsaXN0RmlsZVBh
dGggPSBGaWxlU3lzdGVtOjpwYXRoQnlBcHBlbmRpbmdDb21wb25lbnQocmVzb3VyY2VMb2FkU3Rh
dGlzdGljc0RpcmVjdG9yeSwgImZ1bGxfYnJvd3Npbmdfc2Vzc2lvbl9yZXNvdXJjZUxvZy5wbGlz
dCIpOwotICAgICAgICAgICAgICAgIGlmIChGaWxlU3lzdGVtOjpmaWxlRXhpc3RzKGxlZ2FjeVBs
aXN0RmlsZVBhdGgpKQotICAgICAgICAgICAgICAgICAgICBGaWxlU3lzdGVtOjpkZWxldGVGaWxl
KGxlZ2FjeVBsaXN0RmlsZVBhdGgpOwotCi0gICAgICAgICAgICB9IGVsc2UgewotICAgICAgICAg
ICAgICAgIG1fc3RhdGlzdGljc1N0b3JlID0gbWFrZVVuaXF1ZTxSZXNvdXJjZUxvYWRTdGF0aXN0
aWNzTWVtb3J5U3RvcmU+KCp0aGlzLCBtX3N0YXRpc3RpY3NRdWV1ZSwgc2hvdWxkSW5jbHVkZUxv
Y2FsaG9zdCk7Ci0gICAgICAgICAgICAgICAgbV9wZXJzaXN0ZW50U3RvcmFnZSA9IG1ha2VVbmlx
dWU8UmVzb3VyY2VMb2FkU3RhdGlzdGljc1BlcnNpc3RlbnRTdG9yYWdlPihkb3duY2FzdDxSZXNv
dXJjZUxvYWRTdGF0aXN0aWNzTWVtb3J5U3RvcmU+KCptX3N0YXRpc3RpY3NTdG9yZSksIG1fc3Rh
dGlzdGljc1F1ZXVlLCByZXNvdXJjZUxvYWRTdGF0aXN0aWNzRGlyZWN0b3J5KTsKLQotICAgICAg
ICAgICAgICAgIFNRTGl0ZUZpbGVTeXN0ZW06OmRlbGV0ZURhdGFiYXNlRmlsZShGaWxlU3lzdGVt
OjpwYXRoQnlBcHBlbmRpbmdDb21wb25lbnQocmVzb3VyY2VMb2FkU3RhdGlzdGljc0RpcmVjdG9y
eSwgIm9ic2VydmF0aW9ucy5kYiIpKTsKLSAgICAgICAgICAgIH0KKyAgICAgICAgICAgIGF1dG8g
bGVnYWN5UGxpc3RGaWxlUGF0aCA9IEZpbGVTeXN0ZW06OnBhdGhCeUFwcGVuZGluZ0NvbXBvbmVu
dChyZXNvdXJjZUxvYWRTdGF0aXN0aWNzRGlyZWN0b3J5LCAiZnVsbF9icm93c2luZ19zZXNzaW9u
X3Jlc291cmNlTG9nLnBsaXN0Iik7CisgICAgICAgICAgICBpZiAoRmlsZVN5c3RlbTo6ZmlsZUV4
aXN0cyhsZWdhY3lQbGlzdEZpbGVQYXRoKSkKKyAgICAgICAgICAgICAgICBGaWxlU3lzdGVtOjpk
ZWxldGVGaWxlKGxlZ2FjeVBsaXN0RmlsZVBhdGgpOwogCiAgICAgICAgICAgICBtX3N0YXRpc3Rp
Y3NTdG9yZS0+ZGlkQ3JlYXRlTmV0d29ya1Byb2Nlc3MoKTsKICAgICAgICAgfSk7CkBAIC0yMDcs
NyArMTk4LDYgQEAgV2ViUmVzb3VyY2VMb2FkU3RhdGlzdGljc1N0b3JlOjp+V2ViUmVzb3VyY2VM
b2FkU3RhdGlzdGljc1N0b3JlKCkKIHsKICAgICBSRUxFQVNFX0FTU0VSVChSdW5Mb29wOjppc01h
aW4oKSk7CiAgICAgUkVMRUFTRV9BU1NFUlQoIW1fc3RhdGlzdGljc1N0b3JlKTsKLSAgICBSRUxF
QVNFX0FTU0VSVCghbV9wZXJzaXN0ZW50U3RvcmFnZSk7CiB9CiAKIHZvaWQgV2ViUmVzb3VyY2VM
b2FkU3RhdGlzdGljc1N0b3JlOjpkaWREZXN0cm95TmV0d29ya1Nlc3Npb24oQ29tcGxldGlvbkhh
bmRsZXI8dm9pZCgpPiYmIGNvbXBsZXRpb25IYW5kbGVyKQpAQCAtMjE5LDcgKzIwOSw2IEBAIHZv
aWQgV2ViUmVzb3VyY2VMb2FkU3RhdGlzdGljc1N0b3JlOjpkaWREZXN0cm95TmV0d29ya1Nlc3Np
b24oQ29tcGxldGlvbkhhbmRsZXI8CiAgICAgfSk7CiAKICAgICBtX25ldHdvcmtTZXNzaW9uID0g
bnVsbHB0cjsKLSAgICBmbHVzaEFuZERlc3Ryb3lQZXJzaXN0ZW50U3RvcmUoW2NhbGxiYWNrQWdn
cmVnYXRvcl0geyB9KTsKICAgICBkZXN0cm95UmVzb3VyY2VMb2FkU3RhdGlzdGljc1N0b3JlKFtj
YWxsYmFja0FnZ3JlZ2F0b3JdIHsgfSk7CiB9CiAKQEAgLTI1NSwyOCArMjQ0LDEyIEBAIHZvaWQg
V2ViUmVzb3VyY2VMb2FkU3RhdGlzdGljc1N0b3JlOjpkZXN0cm95UmVzb3VyY2VMb2FkU3RhdGlz
dGljc1N0b3JlKENvbXBsZXRpCiAgICAgfSk7CiB9CiAKLXZvaWQgV2ViUmVzb3VyY2VMb2FkU3Rh
dGlzdGljc1N0b3JlOjpmbHVzaEFuZERlc3Ryb3lQZXJzaXN0ZW50U3RvcmUoQ29tcGxldGlvbkhh
bmRsZXI8dm9pZCgpPiYmIGNvbXBsZXRpb25IYW5kbGVyKQotewotICAgIFJFTEVBU0VfQVNTRVJU
KFJ1bkxvb3A6OmlzTWFpbigpKTsKLQotICAgIC8vIE1ha2Ugc3VyZSB3ZSBkZXN0cm95IHRoZSBw
ZXJzaXN0ZW50IHN0b3JlIG9uIHRoZSBiYWNrZ3JvdW5kIHF1ZXVlIGFuZCBzdGF5IGFsaXZlIHVu
dGlsIGl0Ci0gICAgLy8gaXMgZGVzdHJveWVkIGJlY2F1c2UgaXQgaGFzIGEgQysrIHJlZmVyZW5j
ZSB0byB1cy4KLSAgICBtX3N0YXRpc3RpY3NRdWV1ZS0+ZGlzcGF0Y2goW3RoaXMsIHByb3RlY3Rl
ZFRoaXMgPSBtYWtlUmVmKCp0aGlzKSwgY29tcGxldGlvbkhhbmRsZXIgPSBXVEZNb3ZlKGNvbXBs
ZXRpb25IYW5kbGVyKV0gKCkgbXV0YWJsZSB7Ci0gICAgICAgIG1fcGVyc2lzdGVudFN0b3JhZ2Ug
PSBudWxscHRyOwotICAgICAgICBSdW5Mb29wOjptYWluKCkuZGlzcGF0Y2goV1RGTW92ZShjb21w
bGV0aW9uSGFuZGxlcikpOwotICAgIH0pOwotfQotCiB2b2lkIFdlYlJlc291cmNlTG9hZFN0YXRp
c3RpY3NTdG9yZTo6cG9wdWxhdGVNZW1vcnlTdG9yZUZyb21EaXNrKENvbXBsZXRpb25IYW5kbGVy
PHZvaWQoKT4mJiBjb21wbGV0aW9uSGFuZGxlcikKIHsKICAgICBBU1NFUlQoUnVuTG9vcDo6aXNN
YWluKCkpOwogICAgIAogICAgIHBvc3RUYXNrKFt0aGlzLCBwcm90ZWN0ZWRUaGlzID0gbWFrZVJl
ZigqdGhpcyksIGNvbXBsZXRpb25IYW5kbGVyID0gV1RGTW92ZShjb21wbGV0aW9uSGFuZGxlcild
KCkgbXV0YWJsZSB7Ci0gICAgICAgIGlmIChtX3BlcnNpc3RlbnRTdG9yYWdlKQotICAgICAgICAg
ICAgbV9wZXJzaXN0ZW50U3RvcmFnZS0+cG9wdWxhdGVNZW1vcnlTdG9yZUZyb21EaXNrKFtwcm90
ZWN0ZWRUaGlzID0gV1RGTW92ZShwcm90ZWN0ZWRUaGlzKSwgY29tcGxldGlvbkhhbmRsZXIgPSBX
VEZNb3ZlKGNvbXBsZXRpb25IYW5kbGVyKV0oKSBtdXRhYmxlIHsKLSAgICAgICAgICAgICAgICBw
b3N0VGFza1JlcGx5KFdURk1vdmUoY29tcGxldGlvbkhhbmRsZXIpKTsKLSAgICAgICAgICAgIH0p
OwotICAgICAgICBlbHNlIGlmIChtX3N0YXRpc3RpY3NTdG9yZSAmJiBpczxSZXNvdXJjZUxvYWRT
dGF0aXN0aWNzRGF0YWJhc2VTdG9yZT4oKm1fc3RhdGlzdGljc1N0b3JlKSkgeworICAgICAgICBp
ZiAobV9zdGF0aXN0aWNzU3RvcmUgJiYgaXM8UmVzb3VyY2VMb2FkU3RhdGlzdGljc0RhdGFiYXNl
U3RvcmU+KCptX3N0YXRpc3RpY3NTdG9yZSkpIHsKICAgICAgICAgICAgIGF1dG8mIGRhdGFiYXNl
U3RvcmUgPSBkb3duY2FzdDxSZXNvdXJjZUxvYWRTdGF0aXN0aWNzRGF0YWJhc2VTdG9yZT4oKm1f
c3RhdGlzdGljc1N0b3JlKTsKICAgICAgICAgICAgIGlmIChkYXRhYmFzZVN0b3JlLmlzTmV3UmVz
b3VyY2VMb2FkU3RhdGlzdGljc0RhdGFiYXNlRmlsZSgpKSB7CiAgICAgICAgICAgICAgICAgbV9z
dGF0aXN0aWNzU3RvcmUtPmdyYW5kZmF0aGVyRXhpc3RpbmdXZWJzaXRlRGF0YShbcHJvdGVjdGVk
VGhpcyA9IFdURk1vdmUocHJvdGVjdGVkVGhpcyksIGNvbXBsZXRpb25IYW5kbGVyID0gV1RGTW92
ZShjb21wbGV0aW9uSGFuZGxlcildKCkgbXV0YWJsZSB7CkBAIC0xMTY4LDkgKzExNDEsNiBAQCB2
b2lkIFdlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NTdG9yZTo6c2NoZWR1bGVDbGVhckluTWVtb3J5
QW5kUGVyc2lzdGVudChTaG91bGRHcgogCiAgICAgQVNTRVJUKFJ1bkxvb3A6OmlzTWFpbigpKTsK
ICAgICBwb3N0VGFzayhbdGhpcywgcHJvdGVjdGVkVGhpcyA9IG1ha2VSZWYoKnRoaXMpLCBzaG91
bGRHcmFuZGZhdGhlciwgY29tcGxldGlvbkhhbmRsZXIgPSBXVEZNb3ZlKGNvbXBsZXRpb25IYW5k
bGVyKV0oKSBtdXRhYmxlIHsKLSAgICAgICAgaWYgKG1fcGVyc2lzdGVudFN0b3JhZ2UpCi0gICAg
ICAgICAgICBtX3BlcnNpc3RlbnRTdG9yYWdlLT5jbGVhcigpOwotCiAgICAgICAgIGlmICghbV9z
dGF0aXN0aWNzU3RvcmUpIHsKICAgICAgICAgICAgIGlmIChzaG91bGRHcmFuZGZhdGhlciA9PSBT
aG91bGRHcmFuZGZhdGhlclN0YXRpc3RpY3M6OlllcykKICAgICAgICAgICAgICAgICBSRUxFQVNF
X0xPRyhSZXNvdXJjZUxvYWRTdGF0aXN0aWNzLCAiV2ViUmVzb3VyY2VMb2FkU3RhdGlzdGljc1N0
b3JlOjpzY2hlZHVsZUNsZWFySW5NZW1vcnlBbmRQZXJzaXN0ZW50IEJlZm9yZSBiZWluZyBjbGVh
cmVkLCBtX3N0YXRpc3RpY3NTdG9yZSBpcyBudWxsIHdoZW4gdHJ5aW5nIHRvIGdyYW5kZmF0aGVy
IGRhdGEuIik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL0NsYXNz
aWZpZXIvV2ViUmVzb3VyY2VMb2FkU3RhdGlzdGljc1N0b3JlLmggYi9Tb3VyY2UvV2ViS2l0L05l
dHdvcmtQcm9jZXNzL0NsYXNzaWZpZXIvV2ViUmVzb3VyY2VMb2FkU3RhdGlzdGljc1N0b3JlLmgK
aW5kZXggYTc5N2M2ZGExNjE4N2JkYmRmMDQzZjlmZjk3NTNkNzNjMTU3MTk2Yi4uZmRkMjE0NDUx
Y2Q0MTc2NTdkM2VmNzY5NGM1ZmQ0Mjk3NzNjYWNjNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC9OZXR3b3JrUHJvY2Vzcy9DbGFzc2lmaWVyL1dlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NTdG9y
ZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvQ2xhc3NpZmllci9XZWJSZXNv
dXJjZUxvYWRTdGF0aXN0aWNzU3RvcmUuaApAQCAtNjMsNyArNjMsNiBAQCBuYW1lc3BhY2UgV2Vi
S2l0IHsKIAogY2xhc3MgTmV0d29ya1Nlc3Npb247CiBjbGFzcyBSZXNvdXJjZUxvYWRTdGF0aXN0
aWNzU3RvcmU7Ci1jbGFzcyBSZXNvdXJjZUxvYWRTdGF0aXN0aWNzUGVyc2lzdGVudFN0b3JhZ2U7
CiBjbGFzcyBXZWJGcmFtZVByb3h5OwogY2xhc3MgV2ViUHJvY2Vzc1Byb3h5OwogZW51bSBjbGFz
cyBTaG91bGRHcmFuZGZhdGhlclN0YXRpc3RpY3MgOiBib29sOwpAQCAtMzAyLDcgKzMwMSw2IEBA
IHN0cnVjdCBUaGlyZFBhcnR5RGF0YSB7CiAgICAgCiAgICAgYm9vbCBpc0VwaGVtZXJhbCgpIGNv
bnN0IHsgcmV0dXJuIG1faXNFcGhlbWVyYWwgPT0gV2ViQ29yZTo6UmVzb3VyY2VMb2FkU3RhdGlz
dGljczo6SXNFcGhlbWVyYWw6OlllczsgfTsKICAgICB2b2lkIGluc2VydEV4cGlyZWRTdGF0aXN0
aWNGb3JUZXN0aW5nKGNvbnN0IFJlZ2lzdHJhYmxlRG9tYWluJiwgYm9vbCBoYWRVc2VySW50ZXJh
Y3Rpb24sIGJvb2wgaXNTY2hlZHVsZWRGb3JBbGxCdXRDb29raWVEYXRhUmVtb3ZhbCwgYm9vbCBp
c1ByZXZhbGVudCwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZCgpPiYmKTsKLSAgICB2b2lkIGZsdXNo
QW5kRGVzdHJveVBlcnNpc3RlbnRTdG9yZShDb21wbGV0aW9uSGFuZGxlcjx2b2lkKCk+JiYpOwog
CiBwcml2YXRlOgogICAgIGV4cGxpY2l0IFdlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NTdG9yZShO
ZXR3b3JrU2Vzc2lvbiYsIGNvbnN0IFN0cmluZyYsIFNob3VsZEluY2x1ZGVMb2NhbGhvc3QsIFdl
YkNvcmU6OlJlc291cmNlTG9hZFN0YXRpc3RpY3M6OklzRXBoZW1lcmFsKTsKQEAgLTMyOCw3ICsz
MjYsNiBAQCBwcml2YXRlOgogICAgIFdlYWtQdHI8TmV0d29ya1Nlc3Npb24+IG1fbmV0d29ya1Nl
c3Npb247CiAgICAgUmVmPFdURjo6V29ya1F1ZXVlPiBtX3N0YXRpc3RpY3NRdWV1ZTsKICAgICBz
dGQ6OnVuaXF1ZV9wdHI8UmVzb3VyY2VMb2FkU3RhdGlzdGljc1N0b3JlPiBtX3N0YXRpc3RpY3NT
dG9yZTsKLSAgICBzdGQ6OnVuaXF1ZV9wdHI8UmVzb3VyY2VMb2FkU3RhdGlzdGljc1BlcnNpc3Rl
bnRTdG9yYWdlPiBtX3BlcnNpc3RlbnRTdG9yYWdlOwogCiAgICAgUnVuTG9vcDo6VGltZXI8V2Vi
UmVzb3VyY2VMb2FkU3RhdGlzdGljc1N0b3JlPiBtX2RhaWx5VGFza3NUaW1lcjsKIApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUHJvY2Vzcy5jcHAgYi9T
b3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzLmNwcAppbmRleCBiZThk
OTY2NjJiZTZkY2Q4NWZhM2MzMjkyOWFlMGYwYjVkMTgyMzQzLi40MDQxYzUyYjA3NWM2NDI1OWY2
ODA1MGJhOTdiNjgzMTFhM2E5NWNkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQ
cm9jZXNzL05ldHdvcmtQcm9jZXNzLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9j
ZXNzL05ldHdvcmtQcm9jZXNzLmNwcApAQCAtMjY5LDEyICsyNjksNyBAQCB2b2lkIE5ldHdvcmtQ
cm9jZXNzOjpkaWRDbG9zZShJUEM6OkNvbm5lY3Rpb24mKQogICAgICAgICBzdG9wUnVuTG9vcCgp
OwogICAgIH0pOwogCi0gICAgLy8gTWFrZSBzdXJlIHdlIGZsdXNoIGFsbCBjb29raWVzIGFuZCBy
ZXNvdXJjZSBsb2FkIHN0YXRpc3RpY3MgdG8gZGlzayBiZWZvcmUgZXhpdGluZy4KLSNpZiBFTkFC
TEUoUkVTT1VSQ0VfTE9BRF9TVEFUSVNUSUNTKQotICAgIGZvckVhY2hOZXR3b3JrU2Vzc2lvbihb
Jl0gKGF1dG8mIG5ldHdvcmtTZXNzaW9uKSB7Ci0gICAgICAgIG5ldHdvcmtTZXNzaW9uLmZsdXNo
QW5kRGVzdHJveVBlcnNpc3RlbnRTdG9yZShbY2FsbGJhY2tBZ2dyZWdhdG9yXSB7IH0pOwotICAg
IH0pOwotI2VuZGlmCisgICAgLy8gTWFrZSBzdXJlIHdlIGZsdXNoIGFsbCBjb29raWVzIHRvIGRp
c2sgYmVmb3JlIGV4aXRpbmcuCiAgICAgZm9yRWFjaE5ldHdvcmtTZXNzaW9uKFsmXSAoYXV0byYg
bmV0d29ya1Nlc3Npb24pIHsKICAgICAgICAgcGxhdGZvcm1GbHVzaENvb2tpZXMobmV0d29ya1Nl
c3Npb24uc2Vzc2lvbklEKCksIFtjYWxsYmFja0FnZ3JlZ2F0b3JdIHsgfSk7CiAgICAgfSk7CkBA
IC0zNDEsMTAgKzMzNiw2IEBAIHZvaWQgTmV0d29ya1Byb2Nlc3M6OmluaXRpYWxpemVOZXR3b3Jr
UHJvY2VzcyhOZXR3b3JrUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycyYmCiAKICAgICBzZXRDYWNo
ZU1vZGVsKHBhcmFtZXRlcnMuY2FjaGVNb2RlbCk7CiAKLSNpZiBFTkFCTEUoUkVTT1VSQ0VfTE9B
RF9TVEFUSVNUSUNTKQotICAgIG1faXNJVFBEYXRhYmFzZUVuYWJsZWQgPSBwYXJhbWV0ZXJzLnNo
b3VsZEVuYWJsZUlUUERhdGFiYXNlOwotI2VuZGlmCi0KICAgICBzZXRBZENsaWNrQXR0cmlidXRp
b25EZWJ1Z01vZGUocGFyYW1ldGVycy5lbmFibGVBZENsaWNrQXR0cmlidXRpb25EZWJ1Z01vZGUp
OwogCiAgICAgU2FuZGJveEV4dGVuc2lvbjo6Y29uc3VtZVBlcm1hbmVudGx5KHBhcmFtZXRlcnMu
ZGVmYXVsdERhdGFTdG9yZVBhcmFtZXRlcnMubmV0d29ya1Nlc3Npb25QYXJhbWV0ZXJzLnJlc291
cmNlTG9hZFN0YXRpc3RpY3NQYXJhbWV0ZXJzLmRpcmVjdG9yeUV4dGVuc2lvbkhhbmRsZSk7CkBA
IC02ODIsMjAgKzY3Myw2IEBAIHZvaWQgTmV0d29ya1Byb2Nlc3M6OnNldEdyYW5kZmF0aGVyZWQo
UEFMOjpTZXNzaW9uSUQgc2Vzc2lvbklELCBjb25zdCBSZWdpc3RyYWJsCiAgICAgfQogfQogCi12
b2lkIE5ldHdvcmtQcm9jZXNzOjpzZXRVc2VJVFBEYXRhYmFzZShQQUw6OlNlc3Npb25JRCBzZXNz
aW9uSUQsIGJvb2wgdmFsdWUsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoKT4mJiBjb21wbGV0aW9u
SGFuZGxlcikKLXsKLSAgICBpZiAoYXV0byogbmV0d29ya1Nlc3Npb24gPSB0aGlzLT5uZXR3b3Jr
U2Vzc2lvbihzZXNzaW9uSUQpKSB7Ci0gICAgICAgIGlmIChtX2lzSVRQRGF0YWJhc2VFbmFibGVk
ICE9IHZhbHVlKSB7Ci0gICAgICAgICAgICBtX2lzSVRQRGF0YWJhc2VFbmFibGVkID0gdmFsdWU7
Ci0gICAgICAgICAgICBuZXR3b3JrU2Vzc2lvbi0+cmVjcmVhdGVSZXNvdXJjZUxvYWRTdGF0aXN0
aWNTdG9yZShXVEZNb3ZlKGNvbXBsZXRpb25IYW5kbGVyKSk7Ci0gICAgICAgIH0gZWxzZQotICAg
ICAgICAgICAgY29tcGxldGlvbkhhbmRsZXIoKTsKLSAgICB9IGVsc2UgewotICAgICAgICBBU1NF
UlRfTk9UX1JFQUNIRUQoKTsKLSAgICAgICAgY29tcGxldGlvbkhhbmRsZXIoKTsKLSAgICB9Ci19
Ci0KIHZvaWQgTmV0d29ya1Byb2Nlc3M6OnNldFByZXZhbGVudFJlc291cmNlKFBBTDo6U2Vzc2lv
bklEIHNlc3Npb25JRCwgY29uc3QgUmVnaXN0cmFibGVEb21haW4mIGRvbWFpbiwgQ29tcGxldGlv
bkhhbmRsZXI8dm9pZCgpPiYmIGNvbXBsZXRpb25IYW5kbGVyKQogewogICAgIGlmIChhdXRvKiBu
ZXR3b3JrU2Vzc2lvbiA9IHRoaXMtPm5ldHdvcmtTZXNzaW9uKHNlc3Npb25JRCkpIHsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Byb2Nlc3MuaCBiL1Nv
dXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Byb2Nlc3MuaAppbmRleCA2YWQzZDY5
OWE4OTFjM2JmOTJkNWUyYzRkNDQ4M2MzNjJmMjY0NmQwLi43MTZhMTAxZGNiYzYyMjI1NDhhZmQ0
ZDZmMzg4ODdkZmFmY2RmMmFlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9j
ZXNzL05ldHdvcmtQcm9jZXNzLmgKKysrIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9O
ZXR3b3JrUHJvY2Vzcy5oCkBAIC0yMjAsNyArMjIwLDYgQEAgcHVibGljOgogICAgIHZvaWQgaXNS
ZWdpc3RlcmVkQXNTdWJGcmFtZVVuZGVyKFBBTDo6U2Vzc2lvbklELCBjb25zdCBTdWJGcmFtZURv
bWFpbiYsIGNvbnN0IFRvcEZyYW1lRG9tYWluJiwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChib29s
KT4mJik7CiAgICAgdm9pZCBpc1JlZ2lzdGVyZWRBc1N1YnJlc291cmNlVW5kZXIoUEFMOjpTZXNz
aW9uSUQsIGNvbnN0IFN1YlJlc291cmNlRG9tYWluJiwgY29uc3QgVG9wRnJhbWVEb21haW4mLCBD
b21wbGV0aW9uSGFuZGxlcjx2b2lkKGJvb2wpPiYmKTsKICAgICB2b2lkIHNldEdyYW5kZmF0aGVy
ZWQoUEFMOjpTZXNzaW9uSUQsIGNvbnN0IFJlZ2lzdHJhYmxlRG9tYWluJiwgYm9vbCBpc0dyYW5k
ZmF0aGVyZWQsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoKT4mJik7Ci0gICAgdm9pZCBzZXRVc2VJ
VFBEYXRhYmFzZShQQUw6OlNlc3Npb25JRCwgYm9vbCB2YWx1ZSwgQ29tcGxldGlvbkhhbmRsZXI8
dm9pZCgpPiYmKTsKICAgICB2b2lkIHNldE1heFN0YXRpc3RpY3NFbnRyaWVzKFBBTDo6U2Vzc2lv
bklELCB1aW50NjRfdCBtYXhpbXVtRW50cnlDb3VudCwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZCgp
PiYmKTsKICAgICB2b2lkIHNldFByZXZhbGVudFJlc291cmNlKFBBTDo6U2Vzc2lvbklELCBjb25z
dCBSZWdpc3RyYWJsZURvbWFpbiYsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoKT4mJik7CiAgICAg
dm9pZCBzZXRQcmV2YWxlbnRSZXNvdXJjZUZvckRlYnVnTW9kZShQQUw6OlNlc3Npb25JRCwgY29u
c3QgUmVnaXN0cmFibGVEb21haW4mLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKCk+JiYpOwpAQCAt
MjY5LDcgKzI2OCw2IEBAIHB1YmxpYzoKICNpZiBFTkFCTEUoQVBQX0JPVU5EX0RPTUFJTlMpCiAg
ICAgdm9pZCBzZXRBcHBCb3VuZERvbWFpbnNGb3JSZXNvdXJjZUxvYWRTdGF0aXN0aWNzKFBBTDo6
U2Vzc2lvbklELCBIYXNoU2V0PFdlYkNvcmU6OlJlZ2lzdHJhYmxlRG9tYWluPiYmLCBDb21wbGV0
aW9uSGFuZGxlcjx2b2lkKCk+JiYpOwogI2VuZGlmCi0gICAgYm9vbCBpc0lUUERhdGFiYXNlRW5h
YmxlZCgpIGNvbnN0IHsgcmV0dXJuIG1faXNJVFBEYXRhYmFzZUVuYWJsZWQ7IH0KICAgICB2b2lk
IHNldFNob3VsZERvd25ncmFkZVJlZmVycmVyRm9yVGVzdGluZyhib29sLCBDb21wbGV0aW9uSGFu
ZGxlcjx2b2lkKCk+JiYpOwogICAgIHZvaWQgc2V0VGhpcmRQYXJ0eUNvb2tpZUJsb2NraW5nTW9k
ZShQQUw6OlNlc3Npb25JRCwgV2ViQ29yZTo6VGhpcmRQYXJ0eUNvb2tpZUJsb2NraW5nTW9kZSwg
Q29tcGxldGlvbkhhbmRsZXI8dm9pZCgpPiYmKTsKICAgICB2b2lkIHNldFNob3VsZEVuYmxlU2Ft
ZVNpdGVTdHJpY3RFbmZvcmNlbWVudEZvclRlc3RpbmcoUEFMOjpTZXNzaW9uSUQsIFdlYkNvcmU6
OlNhbWVTaXRlU3RyaWN0RW5mb3JjZW1lbnRFbmFibGVkLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lk
KCk+JiYpOwpAQCAtNTgyLDEwICs1ODAsNiBAQCBwcml2YXRlOgogI2lmIFBMQVRGT1JNKENPQ09B
KQogICAgIHN0ZDo6dW5pcXVlX3B0cjxOZXR3b3JrSFRUUFNVcGdyYWRlQ2hlY2tlcj4gbV9uZXR3
b3JrSFRUUFNVcGdyYWRlQ2hlY2tlcjsKICNlbmRpZgotCi0jaWYgRU5BQkxFKFJFU09VUkNFX0xP
QURfU1RBVElTVElDUykKLSAgICBib29sIG1faXNJVFBEYXRhYmFzZUVuYWJsZWQgeyBmYWxzZSB9
OwotI2VuZGlmCiAgICAgCiAgICAgTG9jayBtX3Nlc3Npb25TdG9yYWdlUXVvdGFNYW5hZ2Vyc0xv
Y2s7CiAgICAgSGFzaE1hcDxQQUw6OlNlc3Npb25JRCwgc3RkOjp1bmlxdWVfcHRyPFNlc3Npb25T
dG9yYWdlUXVvdGFNYW5hZ2VyPj4gbV9zZXNzaW9uU3RvcmFnZVF1b3RhTWFuYWdlcnM7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzLm1lc3Nh
Z2VzLmluIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUHJvY2Vzcy5tZXNz
YWdlcy5pbgppbmRleCA5OWFkODQwYTNmODZjOGQ3NjE1MjA0MzNkZWMwM2FlNDViODA1OTY3Li43
N2RjMjNhZGMyZWJlMTgwNDE1OWFjZDFmNDgxODlhZjQyMDI1NjUwIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzLm1lc3NhZ2VzLmluCisrKyBi
L1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Byb2Nlc3MubWVzc2FnZXMuaW4K
QEAgLTExNyw3ICsxMTcsNiBAQCBtZXNzYWdlcyAtPiBOZXR3b3JrUHJvY2VzcyBMZWdhY3lSZWNl
aXZlciB7CiAgICAgU3VibWl0VGVsZW1ldHJ5KFBBTDo6U2Vzc2lvbklEIHNlc3Npb25JRCkgLT4g
KCkgQXN5bmMKICAgICBTZXRDYWNoZU1heEFnZUNhcEZvclByZXZhbGVudFJlc291cmNlcyhQQUw6
OlNlc3Npb25JRCBzZXNzaW9uSUQsIFNlY29uZHMgc2Vjb25kcykgLT4gKCkgQXN5bmMKICAgICBT
ZXRHcmFuZGZhdGhlcmVkKFBBTDo6U2Vzc2lvbklEIHNlc3Npb25JRCwgV2ViQ29yZTo6UmVnaXN0
cmFibGVEb21haW4gcmVzb3VyY2VEb21haW4sIGJvb2wgaXNHcmFuZGZhdGhlcmVkKSAtPiAoKSBB
c3luYwotICAgIFNldFVzZUlUUERhdGFiYXNlKFBBTDo6U2Vzc2lvbklEIHNlc3Npb25JRCwgYm9v
bCB2YWx1ZSkgLT4gKCkgQXN5bmMKICAgICBHZXRSZXNvdXJjZUxvYWRTdGF0aXN0aWNzRGF0YVN1
bW1hcnkoUEFMOjpTZXNzaW9uSUQgc2Vzc2lvbklEKSAtPiAoVmVjdG9yPFdlYktpdDo6V2ViUmVz
b3VyY2VMb2FkU3RhdGlzdGljc1N0b3JlOjpUaGlyZFBhcnR5RGF0YT4gdGhpcmRQYXJ0eURhdGEp
IEFzeW5jCiAgICAgU2V0R3JhbmRmYXRoZXJpbmdUaW1lKFBBTDo6U2Vzc2lvbklEIHNlc3Npb25J
RCwgU2Vjb25kcyBzZWNvbmRzKSAtPiAoKSBBc3luYwogICAgIFNldE1heFN0YXRpc3RpY3NFbnRy
aWVzKFBBTDo6U2Vzc2lvbklEIHNlc3Npb25JRCwgdWludDY0X3QgbWF4aW11bUVudHJ5Q291bnQp
IC0+ICgpIEFzeW5jCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05l
dHdvcmtQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzLmNwcCBiL1NvdXJjZS9XZWJLaXQvTmV0d29y
a1Byb2Nlc3MvTmV0d29ya1Byb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMuY3BwCmluZGV4IGNjNWM0
NGJjZGU0YzM2YjVkMzFmZTIzYTNjYjVmMjM1YzQ0OGUzMGMuLjcxNjNlYzIxNWU5YjI3MTlkN2Y4
MzVlZDY2ZDU5ZmU2ZGU4OTQxYWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1By
b2Nlc3MvTmV0d29ya1Byb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMuY3BwCisrKyBiL1NvdXJjZS9X
ZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Byb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMuY3Bw
CkBAIC02OSw3ICs2OSw2IEBAIHZvaWQgTmV0d29ya1Byb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnM6
OmVuY29kZShJUEM6OkVuY29kZXImIGVuY29kZXIpIGNvbnN0CiAjaWYgRU5BQkxFKFNFUlZJQ0Vf
V09SS0VSKQogICAgIGVuY29kZXIgPDwgc2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbkRpcmVjdG9y
eSA8PCBzZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uRGlyZWN0b3J5RXh0ZW5zaW9uSGFuZGxlIDw8
IHNob3VsZERpc2FibGVTZXJ2aWNlV29ya2VyUHJvY2Vzc1Rlcm1pbmF0aW9uRGVsYXk7CiAjZW5k
aWYKLSAgICBlbmNvZGVyIDw8IHNob3VsZEVuYWJsZUlUUERhdGFiYXNlOwogICAgIGVuY29kZXIg
PDwgZW5hYmxlQWRDbGlja0F0dHJpYnV0aW9uRGVidWdNb2RlOwogfQogCkBAIC0xNTAsOSArMTQ5
LDYgQEAgYm9vbCBOZXR3b3JrUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVyczo6ZGVjb2RlKElQQzo6
RGVjb2RlciYgZGVjb2RlciwgTmV0d29ya1Byb2MKICAgICAgICAgcmV0dXJuIGZhbHNlOwogI2Vu
ZGlmCiAKLSAgICBpZiAoIWRlY29kZXIuZGVjb2RlKHJlc3VsdC5zaG91bGRFbmFibGVJVFBEYXRh
YmFzZSkpCi0gICAgICAgIHJldHVybiBmYWxzZTsKLQogICAgIGlmICghZGVjb2Rlci5kZWNvZGUo
cmVzdWx0LmVuYWJsZUFkQ2xpY2tBdHRyaWJ1dGlvbkRlYnVnTW9kZSkpCiAgICAgICAgIHJldHVy
biBmYWxzZTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3
b3JrUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5oIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJv
Y2Vzcy9OZXR3b3JrUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5oCmluZGV4IGRmZjNlNWZmMDRi
OGRlZmQxZDg2ODg2MmEwMWIxODJlZmFhZWUwMmEuLjhmMGEwMDM5NmJiZjAzMzAxMzAwMTgyYjll
MWZkMzZkZmI0MDE5NTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3Mv
TmV0d29ya1Byb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMuaAorKysgYi9Tb3VyY2UvV2ViS2l0L05l
dHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzLmgKQEAgLTg3LDcg
Kzg3LDYgQEAgc3RydWN0IE5ldHdvcmtQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzIHsKICAgICBT
YW5kYm94RXh0ZW5zaW9uOjpIYW5kbGUgc2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbkRpcmVjdG9y
eUV4dGVuc2lvbkhhbmRsZTsKICAgICBib29sIHNob3VsZERpc2FibGVTZXJ2aWNlV29ya2VyUHJv
Y2Vzc1Rlcm1pbmF0aW9uRGVsYXkgeyBmYWxzZSB9OwogI2VuZGlmCi0gICAgYm9vbCBzaG91bGRF
bmFibGVJVFBEYXRhYmFzZSB7IGZhbHNlIH07CiAgICAgYm9vbCBlbmFibGVBZENsaWNrQXR0cmli
dXRpb25EZWJ1Z01vZGUgeyBmYWxzZSB9OwogfTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrU2Vzc2lvbi5jcHAgYi9Tb3VyY2UvV2ViS2l0L05ldHdv
cmtQcm9jZXNzL05ldHdvcmtTZXNzaW9uLmNwcAppbmRleCBlODc1YmI5ODRjMDE2ZTE3M2MwN2Iw
Yzg2NTgwYTZkMDRhZGI5OGQ1Li42OTgzMWE3MDBiZWJmNDY1YjIyMTEyMWJmNTNlZTJiY2Q1ZmQ4
ZDhkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtTZXNz
aW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtTZXNzaW9u
LmNwcApAQCAtMTQ4LDE0ICsxNDgsNiBAQCB2b2lkIE5ldHdvcmtTZXNzaW9uOjpkZXN0cm95UmVz
b3VyY2VMb2FkU3RhdGlzdGljcyhDb21wbGV0aW9uSGFuZGxlcjx2b2lkKCk+JiYgYwogICAgIG1f
cmVzb3VyY2VMb2FkU3RhdGlzdGljcy0+ZGlkRGVzdHJveU5ldHdvcmtTZXNzaW9uKFdURk1vdmUo
Y29tcGxldGlvbkhhbmRsZXIpKTsKICAgICBtX3Jlc291cmNlTG9hZFN0YXRpc3RpY3MgPSBudWxs
cHRyOwogfQotCi12b2lkIE5ldHdvcmtTZXNzaW9uOjpmbHVzaEFuZERlc3Ryb3lQZXJzaXN0ZW50
U3RvcmUoQ29tcGxldGlvbkhhbmRsZXI8dm9pZCgpPiYmIGNvbXBsZXRpb25IYW5kbGVyKQotewot
ICAgIGlmICghbV9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzKQotICAgICAgICByZXR1cm4gY29tcGxl
dGlvbkhhbmRsZXIoKTsKLQotICAgIG1fcmVzb3VyY2VMb2FkU3RhdGlzdGljcy0+Zmx1c2hBbmRE
ZXN0cm95UGVyc2lzdGVudFN0b3JlKFdURk1vdmUoY29tcGxldGlvbkhhbmRsZXIpKTsKLX0KICNl
bmRpZgogCiB2b2lkIE5ldHdvcmtTZXNzaW9uOjppbnZhbGlkYXRlQW5kQ2FuY2VsKCkKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Nlc3Npb24uaCBiL1Nv
dXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Nlc3Npb24uaAppbmRleCA2ZGVmZjBk
MGJhOWNkMmJkYWMxYjIxNzczNDZlM2ExOWM0MGU2NGU2Li5jMmQ0ZmM1NzBhNWZlOWRhNDAyMTBh
ZGVjOTM4MTlmMjQ4NWVmOTU5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9j
ZXNzL05ldHdvcmtTZXNzaW9uLmgKKysrIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9O
ZXR3b3JrU2Vzc2lvbi5oCkBAIC0xMTEsNyArMTExLDYgQEAgcHVibGljOgogICAgIE9wdGlvbmFs
PFdlYkNvcmU6OlJlZ2lzdHJhYmxlRG9tYWluPiB0aGlyZFBhcnR5Q05BTUVEb21haW5Gb3JUZXN0
aW5nKCkgY29uc3QgeyByZXR1cm4gbV90aGlyZFBhcnR5Q05BTUVEb21haW5Gb3JUZXN0aW5nOyB9
CiAgICAgdm9pZCByZXNldENOQU1FRG9tYWluRGF0YSgpOwogICAgIHZvaWQgZGVzdHJveVJlc291
cmNlTG9hZFN0YXRpc3RpY3MoQ29tcGxldGlvbkhhbmRsZXI8dm9pZCgpPiYmKTsKLSAgICB2b2lk
IGZsdXNoQW5kRGVzdHJveVBlcnNpc3RlbnRTdG9yZShDb21wbGV0aW9uSGFuZGxlcjx2b2lkKCk+
JiYpOwogI2VuZGlmCiAgICAgCiAjaWYgRU5BQkxFKEFQUF9CT1VORF9ET01BSU5TKQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC9TaGFyZWQvV2ViUHJlZmVyZW5jZXNJbnRlcm5hbC55YW1sIGIv
U291cmNlL1dlYktpdC9TaGFyZWQvV2ViUHJlZmVyZW5jZXNJbnRlcm5hbC55YW1sCmluZGV4IDI2
NzQ1Y2UzNGJmMmYwOTk3MDZhYzQ4NGMwOTdjNmZiN2Q1Mzk4NzAuLmFjMzg1Yjg2MmY0N2JiZjVh
MWRmMDI2OWMyMWMwMjI5NjM0ZmE3ZmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU2hhcmVk
L1dlYlByZWZlcmVuY2VzSW50ZXJuYWwueWFtbAorKysgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9X
ZWJQcmVmZXJlbmNlc0ludGVybmFsLnlhbWwKQEAgLTE1MywxMyArMTUzLDYgQEAgRXhwZXJpbWVu
dGFsUGx1Z0luU2FuZGJveFByb2ZpbGVzRW5hYmxlZDoKICAgd2ViY29yZUJpbmRpbmc6IFJ1bnRp
bWVFbmFibGVkRmVhdHVyZXMKICAgd2ViY29yZU5hbWU6IGV4cGVyaW1lbnRhbFBsdWdJblNhbmRi
b3hQcm9maWxlc0VuYWJsZWQKIAotSXNJVFBEYXRhYmFzZUVuYWJsZWQ6Ci0gIHR5cGU6IGJvb2wK
LSAgZGVmYXVsdFZhbHVlOiB0cnVlCi0gIGh1bWFuUmVhZGFibGVOYW1lOiAiSVRQIERhdGFiYXNl
IEJhY2tlbmQiCi0gIGh1bWFuUmVhZGFibGVEZXNjcmlwdGlvbjogIkVuYWJsZSBJbnRlbGxpZ2Vu
dCBUcmFja2luZyBQcmV2ZW50aW9uIERhdGFiYXNlIEJhY2tlbmQiCi0gIHdlYmNvcmVCaW5kaW5n
OiBSdW50aW1lRW5hYmxlZEZlYXR1cmVzCi0KIFNlcnZpY2VXb3JrZXJzRW5hYmxlZDoKICAgdHlw
ZTogYm9vbAogICBkZWZhdWx0VmFsdWU6IERFRkFVTFRfU0VSVklDRV9XT1JLRVJTX0VOQUJMRUQK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU291cmNlcy50eHQgYi9Tb3VyY2UvV2ViS2l0L1Nv
dXJjZXMudHh0CmluZGV4IGM4ODRmMGVkZThiOWRmYWIzMzJjODQzZGU0Yjg1YjExNjEyMGIwYjku
LmNmOWRhZDQwZThlZDU3M2MxODY0N2UxMGU3YjVlODRiYjU4MGQzOGUgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvU291cmNlcy50eHQKKysrIGIvU291cmNlL1dlYktpdC9Tb3VyY2VzLnR4dApA
QCAtNzcsNyArNzcsNiBAQCBOZXR3b3JrUHJvY2Vzcy9QcmVjb25uZWN0VGFzay5jcHAKIAogTmV0
d29ya1Byb2Nlc3MvQ2xhc3NpZmllci9SZXNvdXJjZUxvYWRTdGF0aXN0aWNzRGF0YWJhc2VTdG9y
ZS5jcHAKIE5ldHdvcmtQcm9jZXNzL0NsYXNzaWZpZXIvUmVzb3VyY2VMb2FkU3RhdGlzdGljc01l
bW9yeVN0b3JlLmNwcAotTmV0d29ya1Byb2Nlc3MvQ2xhc3NpZmllci9SZXNvdXJjZUxvYWRTdGF0
aXN0aWNzUGVyc2lzdGVudFN0b3JhZ2UuY3BwCiBOZXR3b3JrUHJvY2Vzcy9DbGFzc2lmaWVyL1Jl
c291cmNlTG9hZFN0YXRpc3RpY3NTdG9yZS5jcHAKIAogTmV0d29ya1Byb2Nlc3MvQ29va2llcy9X
ZWJDb29raWVNYW5hZ2VyLmNwcApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9Tb3VyY2VzQ29j
b2EudHh0IGIvU291cmNlL1dlYktpdC9Tb3VyY2VzQ29jb2EudHh0CmluZGV4IDg5MmVmNTRhN2Fh
ZjgwN2NlZjQ4MGY2NzMyZDg3NzMwZTliZGQ0ZjAuLmE1YTAxYzMwZTQ0ZWRiZTBhZWJjYTZkMmRh
YjVkZDljMzQyODg2M2QgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU291cmNlc0NvY29hLnR4
dAorKysgYi9Tb3VyY2UvV2ViS2l0L1NvdXJjZXNDb2NvYS50eHQKQEAgLTQ0Nyw3ICs0NDcsNiBA
QCBVSVByb2Nlc3MvaW9zL0RyYWdEcm9wSW50ZXJhY3Rpb25TdGF0ZS5tbQogVUlQcm9jZXNzL2lv
cy9JbnB1dFZpZXdVcGRhdGVEZWZlcnJlci5tbQogVUlQcm9jZXNzL2lvcy9QYWdlQ2xpZW50SW1w
bElPUy5tbQogVUlQcm9jZXNzL2lvcy9Qcm9jZXNzQXNzZXJ0aW9uSU9TLm1tCi1VSVByb2Nlc3Mv
aW9zL1Jlc291cmNlTG9hZFN0YXRpc3RpY3NQZXJzaXN0ZW50U3RvcmFnZUlPUy5tbQogVUlQcm9j
ZXNzL2lvcy9TbWFydE1hZ25pZmljYXRpb25Db250cm9sbGVyLm1tCiBVSVByb2Nlc3MvaW9zL1Rl
eHRDaGVja2VySU9TLm1tCiBVSVByb2Nlc3MvaW9zL1ZpZXdHZXN0dXJlQ29udHJvbGxlcklPUy5t
bQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0MvV0tQcmVmZXJlbmNl
cy5jcHAgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQy9XS1ByZWZlcmVuY2VzLmNwcApp
bmRleCA3NzdiNTliNjk5YWEzOTZkYWM0NzA3MDU3MWY4MWU1MTdhNzNjZmE2Li5lMDBkODlmMDQz
ZTE3YmZlYWRjOWIxMzUwYmQ0NzU1YzQ0MTM4ZDZiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9BUEkvQy9XS1ByZWZlcmVuY2VzLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9BUEkvQy9XS1ByZWZlcmVuY2VzLmNwcApAQCAtMTI1LDE2ICsxMjUsNiBAQCBib29s
IFdLUHJlZmVyZW5jZXNHZXRMb2Fkc1NpdGVJY29uc0lnbm9yaW5nSW1hZ2VMb2FkaW5nUHJlZmVy
ZW5jZShXS1ByZWZlcmVuY2VzUgogICAgIHJldHVybiB0b0ltcGwocHJlZmVyZW5jZXNSZWYpLT5s
b2Fkc1NpdGVJY29uc0lnbm9yaW5nSW1hZ2VMb2FkaW5nUHJlZmVyZW5jZSgpOwogfQogCi12b2lk
IFdLUHJlZmVyZW5jZXNTZXRJc0lUUERhdGFiYXNlRW5hYmxlZChXS1ByZWZlcmVuY2VzUmVmIHBy
ZWZlcmVuY2VzUmVmLCBib29sIGlzSVRQRGF0YWJhc2VFbmFibGVkKQotewotICAgIHRvSW1wbChw
cmVmZXJlbmNlc1JlZiktPnNldElzSVRQRGF0YWJhc2VFbmFibGVkKGlzSVRQRGF0YWJhc2VFbmFi
bGVkKTsKLX0KLQotYm9vbCBXS1ByZWZlcmVuY2VzR2V0SXNJVFBEYXRhYmFzZUVuYWJsZWQoV0tQ
cmVmZXJlbmNlc1JlZiBwcmVmZXJlbmNlc1JlZikKLXsKLSAgICByZXR1cm4gdG9JbXBsKHByZWZl
cmVuY2VzUmVmKS0+aXNJVFBEYXRhYmFzZUVuYWJsZWQoKTsKLX0KLQogdm9pZCBXS1ByZWZlcmVu
Y2VzU2V0T2ZmbGluZVdlYkFwcGxpY2F0aW9uQ2FjaGVFbmFibGVkKFdLUHJlZmVyZW5jZXNSZWYg
cHJlZmVyZW5jZXNSZWYsIGJvb2wgb2ZmbGluZVdlYkFwcGxpY2F0aW9uQ2FjaGVFbmFibGVkKQog
ewogICAgIHRvSW1wbChwcmVmZXJlbmNlc1JlZiktPnNldE9mZmxpbmVXZWJBcHBsaWNhdGlvbkNh
Y2hlRW5hYmxlZChvZmZsaW5lV2ViQXBwbGljYXRpb25DYWNoZUVuYWJsZWQpOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0MvV0tQcmVmZXJlbmNlc1JlZi5oIGIvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0MvV0tQcmVmZXJlbmNlc1JlZi5oCmluZGV4IGMyZTcw
NjY3ZmQwOWJjODY5MzFkMTUxZDEyMWQ5ODlmNWViMTg1OTUuLjNiMTdjYmU2MzkyMDliNjI3NDU1
MjI3ZTg3NjUzMmM3MWViYzZjZDggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L0FQSS9DL1dLUHJlZmVyZW5jZXNSZWYuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9B
UEkvQy9XS1ByZWZlcmVuY2VzUmVmLmgKQEAgLTc5LDEwICs3OSw2IEBAIFdLX0VYUE9SVCBib29s
IFdLUHJlZmVyZW5jZXNHZXRMb2Fkc0ltYWdlc0F1dG9tYXRpY2FsbHkoV0tQcmVmZXJlbmNlc1Jl
ZiBwcmVmZXJlCiBXS19FWFBPUlQgdm9pZCBXS1ByZWZlcmVuY2VzU2V0TG9hZHNTaXRlSWNvbnNJ
Z25vcmluZ0ltYWdlTG9hZGluZ1ByZWZlcmVuY2UoV0tQcmVmZXJlbmNlc1JlZiBwcmVmZXJlbmNl
cywgYm9vbCBsb2Fkc1NpdGVJY29uc0lnbm9yaW5nSW1hZ2VMb2FkaW5nUHJlZmVyZW5jZSk7CiBX
S19FWFBPUlQgYm9vbCBXS1ByZWZlcmVuY2VzR2V0TG9hZHNTaXRlSWNvbnNJZ25vcmluZ0ltYWdl
TG9hZGluZ1ByZWZlcmVuY2UoV0tQcmVmZXJlbmNlc1JlZiBwcmVmZXJlbmNlcyk7CiAKLS8vIERl
ZmF1bHRzIHRvIHRydWUuCi1XS19FWFBPUlQgdm9pZCBXS1ByZWZlcmVuY2VzU2V0SXNJVFBEYXRh
YmFzZUVuYWJsZWQoV0tQcmVmZXJlbmNlc1JlZiBwcmVmZXJlbmNlcywgYm9vbCBpc0lUUERhdGFi
YXNlRW5hYmxlZCk7Ci1XS19FWFBPUlQgYm9vbCBXS1ByZWZlcmVuY2VzR2V0SXNJVFBEYXRhYmFz
ZUVuYWJsZWQoV0tQcmVmZXJlbmNlc1JlZiBwcmVmZXJlbmNlcyk7Ci0KIC8vIERlZmF1bHRzIHRv
IHRydWUuCiBXS19FWFBPUlQgdm9pZCBXS1ByZWZlcmVuY2VzU2V0T2ZmbGluZVdlYkFwcGxpY2F0
aW9uQ2FjaGVFbmFibGVkKFdLUHJlZmVyZW5jZXNSZWYgcHJlZmVyZW5jZXMsIGJvb2wgb2ZmbGlu
ZVdlYkFwcGxpY2F0aW9uQ2FjaGVFbmFibGVkKTsKIFdLX0VYUE9SVCBib29sIFdLUHJlZmVyZW5j
ZXNHZXRPZmZsaW5lV2ViQXBwbGljYXRpb25DYWNoZUVuYWJsZWQoV0tQcmVmZXJlbmNlc1JlZiBw
cmVmZXJlbmNlcyk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQy9X
S1dlYnNpdGVEYXRhU3RvcmVSZWYuY3BwIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0Mv
V0tXZWJzaXRlRGF0YVN0b3JlUmVmLmNwcAppbmRleCA5ZGRhNTkxYzk1MTg5YWIwYzI1YWM1NTQ2
NmMwYTJiZmMzOTI3ZWJjLi5mZjg2MmJiMDU3M2U2MjAyZDYzNzczZmE4N2YwN2RjYzZjNDliMzRl
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQy9XS1dlYnNpdGVEYXRh
U3RvcmVSZWYuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9DL1dLV2Vic2l0
ZURhdGFTdG9yZVJlZi5jcHAKQEAgLTM3NCwxNyArMzc0LDYgQEAgdm9pZCBXS1dlYnNpdGVEYXRh
U3RvcmVJc1N0YXRpc3RpY3NHcmFuZGZhdGhlcmVkKFdLV2Vic2l0ZURhdGFTdG9yZVJlZiBkYXRh
U3RvcmUKICNlbmRpZgogfQogCi12b2lkIFdLV2Vic2l0ZURhdGFTdG9yZVNldFVzZUlUUERhdGFi
YXNlKFdLV2Vic2l0ZURhdGFTdG9yZVJlZiBkYXRhU3RvcmVSZWYsIGJvb2wgdmFsdWUsIHZvaWQq
IGNvbnRleHQsIFdLV2Vic2l0ZURhdGFTdG9yZVNldFVzZUlUUERhdGFiYXNlRnVuY3Rpb24gY29t
cGxldGlvbkhhbmRsZXIpCi17Ci0jaWYgRU5BQkxFKFJFU09VUkNFX0xPQURfU1RBVElTVElDUykK
LSAgICBXZWJLaXQ6OnRvSW1wbChkYXRhU3RvcmVSZWYpLT5zZXRVc2VJVFBEYXRhYmFzZSh2YWx1
ZSwgW2NvbnRleHQsIGNvbXBsZXRpb25IYW5kbGVyXSB7Ci0gICAgICAgIGNvbXBsZXRpb25IYW5k
bGVyKGNvbnRleHQpOwotICAgIH0pOwotI2Vsc2UKLSAgICBjb21wbGV0aW9uSGFuZGxlcihjb250
ZXh0KTsKLSNlbmRpZgotfQotCiB2b2lkIFdLV2Vic2l0ZURhdGFTdG9yZVNldFN0YXRpc3RpY3NT
dWJmcmFtZVVuZGVyVG9wRnJhbWVPcmlnaW4oV0tXZWJzaXRlRGF0YVN0b3JlUmVmIGRhdGFTdG9y
ZVJlZiwgV0tTdHJpbmdSZWYgaG9zdCwgV0tTdHJpbmdSZWYgdG9wRnJhbWVIb3N0KQogewogI2lm
IEVOQUJMRShSRVNPVVJDRV9MT0FEX1NUQVRJU1RJQ1MpCkBAIC03MjUsNyArNzE0LDYgQEAgdm9p
ZCBXS1dlYnNpdGVEYXRhU3RvcmVTdGF0aXN0aWNzUmVzZXRUb0NvbnNpc3RlbnRTdGF0ZShXS1dl
YnNpdGVEYXRhU3RvcmVSZWYgZGEKICAgICBzdG9yZS5zZXRSZXNvdXJjZUxvYWRTdGF0aXN0aWNz
Rmlyc3RQYXJ0eVdlYnNpdGVEYXRhUmVtb3ZhbE1vZGVGb3JUZXN0aW5nKGZhbHNlLCBbY2FsbGJh
Y2tBZ2dyZWdhdG9yXSB7IH0pOwogICAgIHN0b3JlLnJlc2V0UGFyYW1ldGVyc1RvRGVmYXVsdFZh
bHVlcyhbY2FsbGJhY2tBZ2dyZWdhdG9yXSB7IH0pOwogICAgIHN0b3JlLnNjaGVkdWxlQ2xlYXJJ
bk1lbW9yeUFuZFBlcnNpc3RlbnQoV2ViS2l0OjpTaG91bGRHcmFuZGZhdGhlclN0YXRpc3RpY3M6
Ok5vLCBbY2FsbGJhY2tBZ2dyZWdhdG9yXSB7IH0pOwotICAgIHN0b3JlLnNldFVzZUlUUERhdGFi
YXNlKGZhbHNlLCBbY2FsbGJhY2tBZ2dyZWdhdG9yXSB7IH0pOwogI2Vsc2UKICAgICBVTlVTRURf
UEFSQU0oZGF0YVN0b3JlUmVmKTsKICAgICBjb21wbGV0aW9uSGFuZGxlcihjb250ZXh0KTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9DL1dLV2Vic2l0ZURhdGFTdG9y
ZVJlZi5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0MvV0tXZWJzaXRlRGF0YVN0b3Jl
UmVmLmgKaW5kZXggZTc3ZDA5YzEwN2QxZGEwNzgzZDA5YzA3ZTI4MDNkMDg3MTI1ZTQ4Yi4uYjk2
NGI3MTcxMTQ1NjM4MzYxMWU3MTgzN2Q4MjljMGRjZDQyZDE0NiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvQVBJL0MvV0tXZWJzaXRlRGF0YVN0b3JlUmVmLmgKKysrIGIvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0MvV0tXZWJzaXRlRGF0YVN0b3JlUmVmLmgKQEAgLTg4
LDggKzg4LDYgQEAgV0tfRVhQT1JUIHZvaWQgV0tXZWJzaXRlRGF0YVN0b3JlSXNTdGF0aXN0aWNz
T25seUluRGF0YWJhc2VPbmNlKFdLV2Vic2l0ZURhdGFTdG8KIFdLX0VYUE9SVCB2b2lkIFdLV2Vi
c2l0ZURhdGFTdG9yZVNldFN0YXRpc3RpY3NHcmFuZGZhdGhlcmVkKFdLV2Vic2l0ZURhdGFTdG9y
ZVJlZiBkYXRhU3RvcmVSZWYsIFdLU3RyaW5nUmVmIGhvc3QsIGJvb2wgdmFsdWUpOwogdHlwZWRl
ZiB2b2lkICgqV0tXZWJzaXRlRGF0YVN0b3JlSXNTdGF0aXN0aWNzR3JhbmRmYXRoZXJlZEZ1bmN0
aW9uKShib29sIGlzR3JhbmRmYXRoZXJlZCwgdm9pZCogZnVuY3Rpb25Db250ZXh0KTsKIFdLX0VY
UE9SVCB2b2lkIFdLV2Vic2l0ZURhdGFTdG9yZUlzU3RhdGlzdGljc0dyYW5kZmF0aGVyZWQoV0tX
ZWJzaXRlRGF0YVN0b3JlUmVmIGRhdGFTdG9yZVJlZiwgV0tTdHJpbmdSZWYgaG9zdCwgdm9pZCog
Y29udGV4dCwgV0tXZWJzaXRlRGF0YVN0b3JlSXNTdGF0aXN0aWNzR3JhbmRmYXRoZXJlZEZ1bmN0
aW9uIGNhbGxiYWNrKTsKLXR5cGVkZWYgdm9pZCAoKldLV2Vic2l0ZURhdGFTdG9yZVNldFVzZUlU
UERhdGFiYXNlRnVuY3Rpb24pKHZvaWQqIGZ1bmN0aW9uQ29udGV4dCk7Ci1XS19FWFBPUlQgdm9p
ZCBXS1dlYnNpdGVEYXRhU3RvcmVTZXRVc2VJVFBEYXRhYmFzZShXS1dlYnNpdGVEYXRhU3RvcmVS
ZWYgZGF0YVN0b3JlUmVmLCBib29sIHZhbHVlLCB2b2lkKiBjb250ZXh0LCBXS1dlYnNpdGVEYXRh
U3RvcmVTZXRVc2VJVFBEYXRhYmFzZUZ1bmN0aW9uIGNhbGxiYWNrKTsKIFdLX0VYUE9SVCB2b2lk
IFdLV2Vic2l0ZURhdGFTdG9yZVNldFN0YXRpc3RpY3NTdWJmcmFtZVVuZGVyVG9wRnJhbWVPcmln
aW4oV0tXZWJzaXRlRGF0YVN0b3JlUmVmIGRhdGFTdG9yZVJlZiwgV0tTdHJpbmdSZWYgaG9zdCwg
V0tTdHJpbmdSZWYgdG9wRnJhbWVIb3N0KTsKIFdLX0VYUE9SVCB2b2lkIFdLV2Vic2l0ZURhdGFT
dG9yZVNldFN0YXRpc3RpY3NTdWJyZXNvdXJjZVVuZGVyVG9wRnJhbWVPcmlnaW4oV0tXZWJzaXRl
RGF0YVN0b3JlUmVmIGRhdGFTdG9yZVJlZiwgV0tTdHJpbmdSZWYgaG9zdCwgV0tTdHJpbmdSZWYg
dG9wRnJhbWVIb3N0KTsKIFdLX0VYUE9SVCB2b2lkIFdLV2Vic2l0ZURhdGFTdG9yZVNldFN0YXRp
c3RpY3NTdWJyZXNvdXJjZVVuaXF1ZVJlZGlyZWN0VG8oV0tXZWJzaXRlRGF0YVN0b3JlUmVmIGRh
dGFTdG9yZVJlZiwgV0tTdHJpbmdSZWYgaG9zdCwgV0tTdHJpbmdSZWYgaG9zdFJlZGlyZWN0ZWRU
byk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tQcmVm
ZXJlbmNlcy5tbSBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1ByZWZlcmVu
Y2VzLm1tCmluZGV4IGRhZGE5MTMzZmNkOTczYmY1ZmI2NjAwMmI1MzkxOTk2ZTIwOWVjYTAuLjhh
MmY5ZDE1MTdmYzFkYWRhMDAxMTE3YjhhOTI1ODZjN2JhNmYzNjYgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1ByZWZlcmVuY2VzLm1tCisrKyBiL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1ByZWZlcmVuY2VzLm1tCkBAIC05MTgsMTEg
KzkxOCw2IEBAIHN0YXRpYyBXZWJDb3JlOjpFZGl0YWJsZUxpbmtCZWhhdmlvciB0b0VkaXRhYmxl
TGlua0JlaGF2aW9yKF9XS0VkaXRhYmxlTGlua0JlaGF2CiAgICAgX3ByZWZlcmVuY2VzLT5zZXRS
ZW1vdGVQbGF5YmFja0VuYWJsZWQoZW5hYmxlZCk7CiB9CiAKLS0gKEJPT0wpX2lzSVRQRGF0YWJh
c2VFbmFibGVkCi17Ci0gICAgcmV0dXJuIF9wcmVmZXJlbmNlcy0+aXNJVFBEYXRhYmFzZUVuYWJs
ZWQoKTsKLX0KLQogLSAoQk9PTClfc2VydmljZVdvcmtlckVudGl0bGVtZW50RGlzYWJsZWRGb3JU
ZXN0aW5nCiB7CiAgICAgcmV0dXJuIF9wcmVmZXJlbmNlcy0+c2VydmljZVdvcmtlckVudGl0bGVt
ZW50RGlzYWJsZWRGb3JUZXN0aW5nKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9BUEkvQ29jb2EvV0tQcmVmZXJlbmNlc1ByaXZhdGUuaCBiL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL0FQSS9Db2NvYS9XS1ByZWZlcmVuY2VzUHJpdmF0ZS5oCmluZGV4IDU4NDA0YTY4NDVk
N2E0OWM4YTc2YWFlYWY4ODRkZjJhMGUzM2NkZGUuLjEzZWQyYmNlYmQ5MjczODdhOGI2MTNmNDVl
ODAyYzBiMWVlZjg1YzIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9D
b2NvYS9XS1ByZWZlcmVuY2VzUHJpdmF0ZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L0FQSS9Db2NvYS9XS1ByZWZlcmVuY2VzUHJpdmF0ZS5oCkBAIC0xNjAsNyArMTYwLDYgQEAgdHlw
ZWRlZiBOU19FTlVNKE5TSW50ZWdlciwgX1dLRWRpdGFibGVMaW5rQmVoYXZpb3IpIHsKIEBwcm9w
ZXJ0eSAobm9uYXRvbWljLCBzZXR0ZXI9X3NldFdlYkF1ZGlvRW5hYmxlZDopIEJPT0wgX3dlYkF1
ZGlvRW5hYmxlZCBXS19BUElfQVZBSUxBQkxFKG1hY29zKDEwLjE0KSwgaW9zKFdLX0lPU19UQkEp
KTsKIEBwcm9wZXJ0eSAobm9uYXRvbWljLCBzZXR0ZXI9X3NldEFjY2VsZXJhdGVkQ29tcG9zaXRp
bmdFbmFibGVkOikgQk9PTCBfYWNjZWxlcmF0ZWRDb21wb3NpdGluZ0VuYWJsZWQgV0tfQVBJX0FW
QUlMQUJMRShtYWNvcygxMC4xMy40KSwgaW9zKFdLX0lPU19UQkEpKTsKIEBwcm9wZXJ0eSAobm9u
YXRvbWljLCBzZXR0ZXI9X3NldFJlcXVlc3RBbmltYXRpb25GcmFtZUVuYWJsZWQ6KSBCT09MIF9y
ZXF1ZXN0QW5pbWF0aW9uRnJhbWVFbmFibGVkIFdLX0FQSV9BVkFJTEFCTEUobWFjb3MoV0tfTUFD
X1RCQSksIGlvcyhXS19JT1NfVEJBKSk7Ci1AcHJvcGVydHkgKG5vbmF0b21pYywgcmVhZG9ubHkp
IEJPT0wgX2lzSVRQRGF0YWJhc2VFbmFibGVkIFdLX0FQSV9BVkFJTEFCTEUobWFjb3MoV0tfTUFD
X1RCQSksIGlvcyhXS19JT1NfVEJBKSk7CiBAcHJvcGVydHkgKG5vbmF0b21pYywgc2V0dGVyPV9z
ZXRTZXJ2aWNlV29ya2VyRW50aXRsZW1lbnREaXNhYmxlZEZvclRlc3Rpbmc6KSBCT09MIF9zZXJ2
aWNlV29ya2VyRW50aXRsZW1lbnREaXNhYmxlZEZvclRlc3RpbmcgV0tfQVBJX0FWQUlMQUJMRSht
YWNvcyhXS19NQUNfVEJBKSwgaW9zKFdLX0lPU19UQkEpKTsKIEBwcm9wZXJ0eSAobm9uYXRvbWlj
LCBzZXR0ZXI9X3NldEFjY2Vzc2liaWxpdHlJc29sYXRlZFRyZWVFbmFibGVkOikgQk9PTCBfYWNj
ZXNzaWJpbGl0eUlzb2xhdGVkVHJlZUVuYWJsZWQgV0tfQVBJX0FWQUlMQUJMRShtYWNvcygxMC4x
NikpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tX
ZWJzaXRlRGF0YVN0b3JlLm1tIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dL
V2Vic2l0ZURhdGFTdG9yZS5tbQppbmRleCAyOThkOWNlYzllODRkOGE1MTIyMDY1Y2M5OTIzM2Vm
NGYwYjk1Mzg5Li5kMTZlZTI0ZTFmODRkZDliMmNlYmYwMDg3NmQ2NGRjMDY3NzE5M2UyIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJzaXRlRGF0YVN0
b3JlLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYnNpdGVE
YXRhU3RvcmUubW0KQEAgLTMwNCwxNyArMzA0LDYgQEAgc3RhdGljIFZlY3RvcjxXZWJLaXQ6Oldl
YnNpdGVEYXRhUmVjb3JkPiB0b1dlYnNpdGVEYXRhUmVjb3JkcyhOU0FycmF5ICpkYXRhUmVjb3IK
ICAgICBfd2Vic2l0ZURhdGFTdG9yZS0+c2V0UmVzb3VyY2VMb2FkU3RhdGlzdGljc0VuYWJsZWQo
ZW5hYmxlZCk7CiB9CiAKLS0gKHZvaWQpX3NldFVzZUlUUERhdGFiYXNlOihCT09MKWVuYWJsZWQg
Y29tcGxldGlvbkhhbmRsZXI6KHZvaWQgKF4pKHZvaWQpKWNvbXBsZXRpb25IYW5kbGVyCi17Ci0j
aWYgRU5BQkxFKFJFU09VUkNFX0xPQURfU1RBVElTVElDUykKLSAgICBfd2Vic2l0ZURhdGFTdG9y
ZS0+c2V0VXNlSVRQRGF0YWJhc2UoZW5hYmxlZCwgW2NvbXBsZXRpb25IYW5kbGVyID0gbWFrZUJs
b2NrUHRyKGNvbXBsZXRpb25IYW5kbGVyKV0oKSB7Ci0gICAgICAgIGNvbXBsZXRpb25IYW5kbGVy
KCk7Ci0gICAgfSk7Ci0jZWxzZQotICAgIGNvbXBsZXRpb25IYW5kbGVyKCk7Ci0jZW5kaWYKLX0K
LQogLSAoQk9PTClfcmVzb3VyY2VMb2FkU3RhdGlzdGljc0RlYnVnTW9kZQogewogI2lmIEVOQUJM
RShSRVNPVVJDRV9MT0FEX1NUQVRJU1RJQ1MpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJzaXRlRGF0YVN0b3JlUHJpdmF0ZS5oIGIvU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2Vic2l0ZURhdGFTdG9yZVByaXZhdGUuaAppbmRl
eCA5OTMyMDEwNDZiNTUxYzNmMjhkZjJkYzBhMDM0NmQ3YmM3OWFjNWY0Li44MjhiYmVmMzk1YThi
NTc5YmI1ZWVjMjYxODE5NDA0NzRjMjg4MWQxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJzaXRlRGF0YVN0b3JlUHJpdmF0ZS5oCisrKyBiL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYnNpdGVEYXRhU3RvcmVQcml2YXRlLmgK
QEAgLTcxLDcgKzcxLDYgQEAgdHlwZWRlZiBOU19PUFRJT05TKE5TVUludGVnZXIsIF9XS1dlYnNp
dGVEYXRhU3RvcmVGZXRjaE9wdGlvbnMpIHsKIC0gKHZvaWQpX3NldFByZXZhbGVudERvbWFpbjoo
TlNVUkwgKilkb21haW4gY29tcGxldGlvbkhhbmRsZXI6KHZvaWQgKF4pKHZvaWQpKWNvbXBsZXRp
b25IYW5kbGVyIFdLX0FQSV9BVkFJTEFCTEUobWFjb3MoMTAuMTUpLCBpb3MoMTMuMCkpOwogLSAo
dm9pZClfZ2V0SXNQcmV2YWxlbnREb21haW46KE5TVVJMICopZG9tYWluIGNvbXBsZXRpb25IYW5k
bGVyOih2b2lkICheKShCT09MKSljb21wbGV0aW9uSGFuZGxlciBXS19BUElfQVZBSUxBQkxFKG1h
Y29zKDEwLjE1KSwgaW9zKDEzLjApKTsKIC0gKHZvaWQpX2dldFJlc291cmNlTG9hZFN0YXRpc3Rp
Y3NEYXRhU3VtbWFyeToodm9pZCAoXikoTlNBcnJheTxfV0tSZXNvdXJjZUxvYWRTdGF0aXN0aWNz
VGhpcmRQYXJ0eSAqPiAqKSljb21wbGV0aW9uSGFuZGxlciBXS19BUElfQVZBSUxBQkxFKG1hY29z
KFdLX01BQ19UQkEpLCBpb3MoV0tfSU9TX1RCQSkpOwotLSAodm9pZClfc2V0VXNlSVRQRGF0YWJh
c2U6KEJPT0wpZW5hYmxlZCBjb21wbGV0aW9uSGFuZGxlcjoodm9pZCAoXikodm9pZCkpY29tcGxl
dGlvbkhhbmRsZXIgV0tfQVBJX0FWQUlMQUJMRShtYWNvcyhXS19NQUNfVEJBKSwgaW9zKFdLX0lP
U19UQkEpKTsKIC0gKHZvaWQpX2NsZWFyUHJldmFsZW50RG9tYWluOihOU1VSTCAqKWRvbWFpbiBj
b21wbGV0aW9uSGFuZGxlcjoodm9pZCAoXikodm9pZCkpY29tcGxldGlvbkhhbmRsZXIgV0tfQVBJ
X0FWQUlMQUJMRShtYWNvcyhXS19NQUNfVEJBKSwgaW9zKFdLX0lPU19UQkEpKTsKIC0gKHZvaWQp
X2NsZWFyUmVzb3VyY2VMb2FkU3RhdGlzdGljczoodm9pZCAoXikodm9pZCkpY29tcGxldGlvbkhh
bmRsZXIgV0tfQVBJX0FWQUlMQUJMRShtYWNvcyhXS19NQUNfVEJBKSwgaW9zKFdLX0lPU19UQkEp
KTsKIC0gKHZvaWQpX2lzUmVnaXN0ZXJlZEFzU3VicmVzb3VyY2VVbmRlckZpcnN0UGFydHk6KE5T
VVJMICopZmlyc3RQYXJ0eVVSTCB0aGlyZFBhcnR5OihOU1VSTCAqKXRoaXJkUGFydHlVUkwgY29t
cGxldGlvbkhhbmRsZXI6KHZvaWQgKF4pKEJPT0wpKWNvbXBsZXRpb25IYW5kbGVyIFdLX0FQSV9B
VkFJTEFCTEUobWFjb3MoV0tfTUFDX1RCQSksIGlvcyhXS19JT1NfVEJBKSk7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9XZWJQcm9jZXNzUG9vbENvY29hLm1tIGIv
U291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvV2ViUHJvY2Vzc1Bvb2xDb2NvYS5tbQppbmRl
eCA5MmFkMWM4NDI0OGVlYjFmODI4MjAxNTdhNTM2OWUwZTM5YTBlM2QyLi43NjJmNTY4OWM0MWI3
ZjIyNzA4ZTRmYmUzYzgwZGU4ZWExZWQwYzRkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9Db2NvYS9XZWJQcm9jZXNzUG9vbENvY29hLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL0NvY29hL1dlYlByb2Nlc3NQb29sQ29jb2EubW0KQEAgLTUyMSwxMiArNTIxLDYg
QEAgdm9pZCBXZWJQcm9jZXNzUG9vbDo6cGxhdGZvcm1Jbml0aWFsaXplTmV0d29ya1Byb2Nlc3Mo
TmV0d29ya1Byb2Nlc3NDcmVhdGlvblBhcmEKICAgICBwYXJhbWV0ZXJzLnVpUHJvY2Vzc0Nvb2tp
ZVN0b3JhZ2VJZGVudGlmaWVyID0gaWRlbnRpZnlpbmdEYXRhRnJvbUNvb2tpZVN0b3JhZ2UoW1tO
U0hUVFBDb29raWVTdG9yYWdlIHNoYXJlZEhUVFBDb29raWVTdG9yYWdlXSBfY29va2llU3RvcmFn
ZV0pOwogI2VuZGlmCiAKLSAgICBOU051bWJlciAqZGF0YWJhc2VFbmFibGVkVmFsdWUgPSBbZGVm
YXVsdHMgb2JqZWN0Rm9yS2V5OltOU1N0cmluZyBzdHJpbmdXaXRoRm9ybWF0OkAiSW50ZXJuYWxE
ZWJ1ZyVAIiwgV2ViUHJlZmVyZW5jZXNLZXk6OmlzSVRQRGF0YWJhc2VFbmFibGVkS2V5KCkuY3Jl
YXRlQ0ZTdHJpbmcoKS5nZXQoKV1dOwotICAgIGlmIChkYXRhYmFzZUVuYWJsZWRWYWx1ZSkKLSAg
ICAgICAgcGFyYW1ldGVycy5zaG91bGRFbmFibGVJVFBEYXRhYmFzZSA9IGRhdGFiYXNlRW5hYmxl
ZFZhbHVlLmJvb2xWYWx1ZTsKLSAgICBlbHNlCi0gICAgICAgIHBhcmFtZXRlcnMuc2hvdWxkRW5h
YmxlSVRQRGF0YWJhc2UgPSBtX2RlZmF1bHRQYWdlR3JvdXAtPnByZWZlcmVuY2VzKCkuaXNJVFBE
YXRhYmFzZUVuYWJsZWQoKTsKLQogICAgIHBhcmFtZXRlcnMuZW5hYmxlQWRDbGlja0F0dHJpYnV0
aW9uRGVidWdNb2RlID0gW2RlZmF1bHRzIGJvb2xGb3JLZXk6W05TU3RyaW5nIHN0cmluZ1dpdGhG
b3JtYXQ6QCJFeHBlcmltZW50YWwlQCIsIFdlYlByZWZlcmVuY2VzS2V5OjphZENsaWNrQXR0cmli
dXRpb25EZWJ1Z01vZGVFbmFibGVkS2V5KCkuY3JlYXRlQ0ZTdHJpbmcoKS5nZXQoKV1dOwogCiAg
ICAgcGFyYW1ldGVycy5kZWZhdWx0RGF0YVN0b3JlUGFyYW1ldGVycy5uZXR3b3JrU2Vzc2lvblBh
cmFtZXRlcnMuYXBwSGFzUmVxdWVzdGVkQ3Jvc3NXZWJzaXRlVHJhY2tpbmdQZXJtaXNzaW9uID0g
aGFzUmVxdWVzdGVkQ3Jvc3NXZWJzaXRlVHJhY2tpbmdQZXJtaXNzaW9uKCk7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9OZXR3b3JrL05ldHdvcmtQcm9jZXNzUHJveHkuY3Bw
IGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvTmV0d29yay9OZXR3b3JrUHJvY2Vzc1Byb3h5LmNw
cAppbmRleCBjMWY0NzA4YjgxY2ZhNTNhYjEyMmMyOTQ0Njc1ZTc4MjUxNjcxMjFmLi44MjVmOTA5
N2M1NDQ2YmY5YmFmN2IwMmQ2MTY2NDk0MzRiZDNhZWFkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9OZXR3b3JrL05ldHdvcmtQcm9jZXNzUHJveHkuY3BwCisrKyBiL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL05ldHdvcmsvTmV0d29ya1Byb2Nlc3NQcm94eS5jcHAKQEAgLTg1
MiwxMyArODUyLDYgQEAgdm9pZCBOZXR3b3JrUHJvY2Vzc1Byb3h5OjpzZXRHcmFuZGZhdGhlcmVk
KFBBTDo6U2Vzc2lvbklEIHNlc3Npb25JRCwgY29uc3QgUmVnaXMKICAgICBzZW5kV2l0aEFzeW5j
UmVwbHkoTWVzc2FnZXM6Ok5ldHdvcmtQcm9jZXNzOjpTZXRHcmFuZGZhdGhlcmVkKHNlc3Npb25J
RCwgcmVzb3VyY2VEb21haW4sIGlzR3JhbmRmYXRoZXJlZCksIFdURk1vdmUoY29tcGxldGlvbkhh
bmRsZXIpKTsKIH0KIAotdm9pZCBOZXR3b3JrUHJvY2Vzc1Byb3h5OjpzZXRVc2VJVFBEYXRhYmFz
ZShQQUw6OlNlc3Npb25JRCBzZXNzaW9uSUQsIGJvb2wgdmFsdWUsIENvbXBsZXRpb25IYW5kbGVy
PHZvaWQoKT4mJiBjb21wbGV0aW9uSGFuZGxlcikKLXsKLSAgICBzZW5kV2l0aEFzeW5jUmVwbHko
TWVzc2FnZXM6Ok5ldHdvcmtQcm9jZXNzOjpTZXRVc2VJVFBEYXRhYmFzZShzZXNzaW9uSUQsIHZh
bHVlKSwgW2NvbXBsZXRpb25IYW5kbGVyID0gV1RGTW92ZShjb21wbGV0aW9uSGFuZGxlcildKCkg
bXV0YWJsZSB7Ci0gICAgICAgIGNvbXBsZXRpb25IYW5kbGVyKCk7Ci0gICAgfSk7Ci19Ci0KIHZv
aWQgTmV0d29ya1Byb2Nlc3NQcm94eTo6cmVxdWVzdFN0b3JhZ2VBY2Nlc3NDb25maXJtKFdlYlBh
Z2VQcm94eUlkZW50aWZpZXIgcGFnZUlELCBGcmFtZUlkZW50aWZpZXIgZnJhbWVJRCwgY29uc3Qg
UmVnaXN0cmFibGVEb21haW4mIHN1YkZyYW1lRG9tYWluLCBjb25zdCBSZWdpc3RyYWJsZURvbWFp
biYgdG9wRnJhbWVEb21haW4sIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoYm9vbCk+JiYgY29tcGxl
dGlvbkhhbmRsZXIpCiB7CiAgICAgYXV0byogcGFnZSA9IFdlYlByb2Nlc3NQcm94eTo6d2ViUGFn
ZShwYWdlSUQpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvTmV0d29yay9O
ZXR3b3JrUHJvY2Vzc1Byb3h5LmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9OZXR3b3JrL05l
dHdvcmtQcm9jZXNzUHJveHkuaAppbmRleCBhMGI0YzFkODkzOGUyMDVlYzM2MWRlNWMxMDgyNWQx
ODI3NzY1M2I0Li41OTBmNTZjNWZiYjk0N2JmOWE3NmY1M2Y4NjExZmFjMzUxNmE1MjJiIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9OZXR3b3JrL05ldHdvcmtQcm9jZXNzUHJv
eHkuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9OZXR3b3JrL05ldHdvcmtQcm9jZXNz
UHJveHkuaApAQCAtMTQyLDcgKzE0Miw2IEBAIHB1YmxpYzoKICAgICB2b2lkIHNldEFnZUNhcEZv
ckNsaWVudFNpZGVDb29raWVzKFBBTDo6U2Vzc2lvbklELCBPcHRpb25hbDxTZWNvbmRzPiwgQ29t
cGxldGlvbkhhbmRsZXI8dm9pZCgpPiYmKTsKICAgICB2b2lkIHNldENhY2hlTWF4QWdlQ2FwKFBB
TDo6U2Vzc2lvbklELCBTZWNvbmRzLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKCk+JiYpOwogICAg
IHZvaWQgc2V0R3JhbmRmYXRoZXJlZChQQUw6OlNlc3Npb25JRCwgY29uc3QgUmVnaXN0cmFibGVE
b21haW4mLCBib29sIGlzR3JhbmRmYXRoZXJlZCwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZCgpPiYm
KTsKLSAgICB2b2lkIHNldFVzZUlUUERhdGFiYXNlKFBBTDo6U2Vzc2lvbklELCBib29sIHZhbHVl
LCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKCk+JiYpOwogICAgIHZvaWQgc2V0Tm90aWZ5UGFnZXNX
aGVuRGF0YVJlY29yZHNXZXJlU2Nhbm5lZChQQUw6OlNlc3Npb25JRCwgYm9vbCwgQ29tcGxldGlv
bkhhbmRsZXI8dm9pZCgpPiYmKTsKICAgICB2b2lkIHNldElzUnVubmluZ1Jlc291cmNlTG9hZFN0
YXRpc3RpY3NUZXN0KFBBTDo6U2Vzc2lvbklELCBib29sLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lk
KCk+JiYpOwogICAgIHZvaWQgc2V0U3ViZnJhbWVVbmRlclRvcEZyYW1lRG9tYWluKFBBTDo6U2Vz
c2lvbklELCBjb25zdCBTdWJGcmFtZURvbWFpbiYsIGNvbnN0IFRvcEZyYW1lRG9tYWluJiwgQ29t
cGxldGlvbkhhbmRsZXI8dm9pZCgpPiYmKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL1dlYnNpdGVEYXRhL1dlYnNpdGVEYXRhU3RvcmUuY3BwIGIvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvV2Vic2l0ZURhdGEvV2Vic2l0ZURhdGFTdG9yZS5jcHAKaW5kZXggMDgzMGNhNzVh
N2ZjMzhlNjQ1Yjc3NWIzOWIzMzc1ZDRjMjA1MDM3ZC4uNWIwYWViNzFiZDk3YzQzYmMyMGU0M2Ix
MWI2MDY1MTJiMmNhYWIzNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2Vi
c2l0ZURhdGEvV2Vic2l0ZURhdGFTdG9yZS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvV2Vic2l0ZURhdGEvV2Vic2l0ZURhdGFTdG9yZS5jcHAKQEAgLTE4MTUsMTggKzE4MTUsNiBA
QCB2b2lkIFdlYnNpdGVEYXRhU3RvcmU6OnNldEdyYW5kZmF0aGVyZWQoY29uc3QgVVJMJiB1cmws
IGJvb2wgaXNHcmFuZGZhdGhlcmVkLCBDbwogICAgIH0KIH0KIAotdm9pZCBXZWJzaXRlRGF0YVN0
b3JlOjpzZXRVc2VJVFBEYXRhYmFzZShib29sIHZhbHVlLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lk
KCk+JiYgY29tcGxldGlvbkhhbmRsZXIpCi17Ci0gICAgQVNTRVJUKFJ1bkxvb3A6OmlzTWFpbigp
KTsKLSAgICAKLSAgICBhdXRvIGNhbGxiYWNrQWdncmVnYXRvciA9IENhbGxiYWNrQWdncmVnYXRv
cjo6Y3JlYXRlKFdURk1vdmUoY29tcGxldGlvbkhhbmRsZXIpKTsKLSAgICAKLSAgICBmb3IgKGF1
dG8mIHByb2Nlc3NQb29sIDogcHJvY2Vzc1Bvb2xzKCkpIHsKLSAgICAgICAgaWYgKGF1dG8qIHBy
b2Nlc3MgPSBwcm9jZXNzUG9vbC0+bmV0d29ya1Byb2Nlc3MoKSkKLSAgICAgICAgICAgIHByb2Nl
c3MtPnNldFVzZUlUUERhdGFiYXNlKG1fc2Vzc2lvbklELCB2YWx1ZSwgW2NhbGxiYWNrQWdncmVn
YXRvcl0geyB9KTsKLSAgICB9Ci19Ci0KIHZvaWQgV2Vic2l0ZURhdGFTdG9yZTo6c2V0Q3Jvc3NT
aXRlTG9hZFdpdGhMaW5rRGVjb3JhdGlvbkZvclRlc3RpbmcoY29uc3QgVVJMJiBmcm9tVVJMLCBj
b25zdCBVUkwmIHRvVVJMLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKCk+JiYgY29tcGxldGlvbkhh
bmRsZXIpCiB7CiAgICAgQVNTRVJUKFJ1bkxvb3A6OmlzTWFpbigpKTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYnNpdGVEYXRhL1dlYnNpdGVEYXRhU3RvcmUuaCBiL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYnNpdGVEYXRhL1dlYnNpdGVEYXRhU3RvcmUuaAppbmRl
eCBlOWRlYmE0ODA4OGI5ZjMwNjY1N2VkZDk0MzQ5OTUzMDg2YjBlZDJlLi40ZjA0ZTkwMmQ3YjY1
YzhkZTFlN2YwYWQyNDQyYTBkYTUyOWY5ODM0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9XZWJzaXRlRGF0YS9XZWJzaXRlRGF0YVN0b3JlLmgKKysrIGIvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvV2Vic2l0ZURhdGEvV2Vic2l0ZURhdGFTdG9yZS5oCkBAIC0xNzMsNyArMTcz
LDYgQEAgcHVibGljOgogICAgIHZvaWQgc3VibWl0VGVsZW1ldHJ5KCk7CiAgICAgdm9pZCBzZXRH
cmFuZGZhdGhlcmVkKGNvbnN0IFVSTCYsIGJvb2wsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoKT4m
Jik7CiAgICAgdm9pZCBpc0dyYW5kZmF0aGVyZWQoY29uc3QgVVJMJiwgQ29tcGxldGlvbkhhbmRs
ZXI8dm9pZChib29sKT4mJik7Ci0gICAgdm9pZCBzZXRVc2VJVFBEYXRhYmFzZShib29sLCBDb21w
bGV0aW9uSGFuZGxlcjx2b2lkKCk+JiYpOwogICAgIHZvaWQgc2V0R3JhbmRmYXRoZXJpbmdUaW1l
KFNlY29uZHMsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoKT4mJik7CiAgICAgdm9pZCBzZXRMYXN0
U2Vlbihjb25zdCBVUkwmLCBTZWNvbmRzLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKCk+JiYpOwog
ICAgIHZvaWQgZG9tYWluSURFeGlzdHNJbkRhdGFiYXNlKGludCBkb21haW5JRCwgQ29tcGxldGlv
bkhhbmRsZXI8dm9pZChib29sKT4mJik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9pb3MvUmVzb3VyY2VMb2FkU3RhdGlzdGljc1BlcnNpc3RlbnRTdG9yYWdlSU9TLm1tIGIv
U291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1Jlc291cmNlTG9hZFN0YXRpc3RpY3NQZXJzaXN0
ZW50U3RvcmFnZUlPUy5tbQpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNmY4ZjZkNTVl
ODY5OGU2MDlmOWRhZGUwOWYyNzM3OGJmMjE0ZjE2Ni4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvUmVzb3Vy
Y2VMb2FkU3RhdGlzdGljc1BlcnNpc3RlbnRTdG9yYWdlSU9TLm1tCisrKyAvZGV2L251bGwKQEAg
LTEsNDAgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAxNyBBcHBsZSBJbmMuIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2Ug
YW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBw
ZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBt
ZXQ6Ci0gKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhl
IGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJp
bmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBp
biB0aGUKLSAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRl
ZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURF
RCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJwotICogQU5EIEFO
WSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sCi0gKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQg
RklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCi0gKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBO
TyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKLSAqIEJFIExJQUJM
RSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFS
WSwgT1IKLSAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sIFBST0NVUkVNRU5UIE9GCi0gKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBM
T1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKLSAqIElOVEVSUlVQVElP
TikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVS
IElOCi0gKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5F
R0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQotICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUg
VVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgotICogVEhFIFBPU1NJQklM
SVRZIE9GIFNVQ0ggREFNQUdFLgotICovCi0KLSNpbXBvcnQgImNvbmZpZy5oIgotI2ltcG9ydCAi
UmVzb3VyY2VMb2FkU3RhdGlzdGljc1BlcnNpc3RlbnRTdG9yYWdlLmgiCi0KLSNpZiBQTEFURk9S
TShJT1NfRkFNSUxZKQotCi1uYW1lc3BhY2UgV2ViS2l0IHsKLQotdm9pZCBSZXNvdXJjZUxvYWRT
dGF0aXN0aWNzUGVyc2lzdGVudFN0b3JhZ2U6OmV4Y2x1ZGVGcm9tQmFja3VwKCkgY29uc3QKLXsK
LSAgICBbW05TVVJMIGZpbGVVUkxXaXRoUGF0aDooTlNTdHJpbmcgKiltX3N0b3JhZ2VEaXJlY3Rv
cnlQYXRoIGlzRGlyZWN0b3J5OllFU10gc2V0UmVzb3VyY2VWYWx1ZTpAWUVTIGZvcktleTpOU1VS
TElzRXhjbHVkZWRGcm9tQmFja3VwS2V5IGVycm9yOm5pbF07Ci19Ci0KLX0KLQotI2VuZGlmCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYktpdC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9q
IGIvU291cmNlL1dlYktpdC9XZWJLaXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRleCAy
NGM4ZTg5MjFkZmQzMzQ2ZjQzNDhjYWJlM2E4MzExOWU0NWJkNmY0Li5hZTczZmJiOTMwNDRiMDFj
NTYyMzU0YjI2YjU5MTQ4ZDg3OTBmM2M1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYktp
dC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViS2l0Lnhj
b2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTEyNDYsNyArMTI0Niw2IEBACiAJCTdBRjIzNjIx
MUU3OUE0MDgwMDQzOEEwNSAvKiBXZWJFcnJvcnMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDdBRjIzNjFGMUU3OUEzRDgwMDQzOEEwNSAvKiBXZWJFcnJv
cnMuaCAqLzsgfTsKIAkJN0FGQkQzNjMyMUU1MEYzOTAwNURCQUNCIC8qIFdlYlJlc291cmNlTG9h
ZFN0YXRpc3RpY3NTdG9yZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gN0FGQkQzNjIyMUU1MEYzOTAwNURCQUNCIC8qIFdlYlJlc291cmNlTG9hZFN0YXRp
c3RpY3NTdG9yZS5oICovOyB9OwogCQk3QUZCRDM2NzIxRTUxQkFCMDA1REJBQ0IgLyogUmVzb3Vy
Y2VMb2FkU3RhdGlzdGljc01lbW9yeVN0b3JlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSA3QUZCRDM2NTIxRTUxQkFCMDA1REJBQ0IgLyogUmVzb3VyY2VM
b2FkU3RhdGlzdGljc01lbW9yeVN0b3JlLmggKi87IH07Ci0JCTdBRkJEMzZBMjFFNTQyRjEwMDVE
QkFDQiAvKiBSZXNvdXJjZUxvYWRTdGF0aXN0aWNzUGVyc2lzdGVudFN0b3JhZ2UuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDdBRkJEMzY4MjFFNTQyRTgw
MDVEQkFDQiAvKiBSZXNvdXJjZUxvYWRTdGF0aXN0aWNzUGVyc2lzdGVudFN0b3JhZ2UuaCAqLzsg
fTsKIAkJN0FGQkQzNkYyMUU1NDZGODAwNURCQUNCIC8qIFBlcnNpc3RlbmN5VXRpbHMuaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDdBRkJEMzZEMjFFNTQ2
RTMwMDVEQkFDQiAvKiBQZXJzaXN0ZW5jeVV0aWxzLmggKi87IH07CiAJCTdDMDY1RjJDMUM4Q0Q5
NUYwMEMyRDk1MCAvKiBXZWJVc2VyQ29udGVudENvbnRyb2xsZXJEYXRhVHlwZXMuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDdDMDY1RjJBMUM4Q0Q5NUYw
MEMyRDk1MCAvKiBXZWJVc2VyQ29udGVudENvbnRyb2xsZXJEYXRhVHlwZXMuaCAqLzsgfTsKIAkJ
N0MxMzVBQTkxNzNCMEJDQTAwNTg2QUUyIC8qIFdLUGx1Z2luSW5mb3JtYXRpb24uaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDdDMTM1QUE3MTczQjBCQ0Ew
MDU4NkFFMiAvKiBXS1BsdWdpbkluZm9ybWF0aW9uLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVU
RVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKQEAgLTM4MTIsNyArMzgxMSw2IEBACiAJCTUxRTM1MUM4
MTgwRjJDQ0MwMEU1M0JFOSAvKiBJREJVdGlsaXRpZXMuY3BwICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jcHAuY3BwOyBwYXRoID0gSURCVXRpbGl0aWVzLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJNTFFMzUxQzkxODBGMkNDQzAwRTUzQkU5IC8qIElEQlV0aWxpdGllcy5oICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBJREJVdGlsaXRpZXMuaDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKIAkJNTFFMzk5MDUxRDZGNTRDNTAwOUM4ODMxIC8qIFVJR2FtZXBhZFBy
b3ZpZGVyQ29jb2EubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBV
SUdhbWVwYWRQcm92aWRlckNvY29hLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQk1
MUU2QzE1RjFGMjkzNTUxMDBGRDM0MzcgLyogUmVzb3VyY2VMb2FkU3RhdGlzdGljc1BlcnNpc3Rl
bnRTdG9yYWdlSU9TLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBuYW1lID0gUmVzb3VyY2VMb2FkU3RhdGlz
dGljc1BlcnNpc3RlbnRTdG9yYWdlSU9TLm1tOyBwYXRoID0gaW9zL1Jlc291cmNlTG9hZFN0YXRp
c3RpY3NQZXJzaXN0ZW50U3RvcmFnZUlPUy5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
IAkJNTFFOEI2OEQxRTcxMjg3MzAwMUI3MTMyIC8qIFdlYlVSTFNjaGVtZVRhc2suY3BwICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gV2ViVVJMU2NoZW1lVGFzay5jcHA7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTUxRTk0OTk2MUQ3NjFDQzcwMEVDOUVCOSAvKiBV
SUdhbWVwYWRQcm92aWRlcklPUy5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsg
cGF0aCA9IFVJR2FtZXBhZFByb3ZpZGVySU9TLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwogCQk1MUYwNjBERDE2NTQzMTc1MDBGMzI4MUIgLyogV2ViUmVzb3VyY2VMb2FkZXJNZXNzYWdl
UmVjZWl2ZXIuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBuYW1lID0gV2ViUmVzb3VyY2VMb2FkZXJNZXNzYWdl
UmVjZWl2ZXIuY3BwOyBwYXRoID0gRGVyaXZlZFNvdXJjZXMvV2ViS2l0Mi9XZWJSZXNvdXJjZUxv
YWRlck1lc3NhZ2VSZWNlaXZlci5jcHA7IHNvdXJjZVRyZWUgPSBCVUlMVF9QUk9EVUNUU19ESVI7
IH07CkBAIC00MTk0LDggKzQxOTIsNiBAQAogCQk3QUZCRDM2MjIxRTUwRjM5MDA1REJBQ0IgLyog
V2ViUmVzb3VyY2VMb2FkU3RhdGlzdGljc1N0b3JlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMu
aDsgbmFtZSA9IFdlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NTdG9yZS5oOyBwYXRoID0gQ2xhc3Np
Zmllci9XZWJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzU3RvcmUuaDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKIAkJN0FGQkQzNjQyMUU1MUJBQjAwNURCQUNCIC8qIFJlc291cmNlTG9hZFN0YXRp
c3RpY3NNZW1vcnlTdG9yZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IG5hbWUg
PSBSZXNvdXJjZUxvYWRTdGF0aXN0aWNzTWVtb3J5U3RvcmUuY3BwOyBwYXRoID0gQ2xhc3NpZmll
ci9SZXNvdXJjZUxvYWRTdGF0aXN0aWNzTWVtb3J5U3RvcmUuY3BwOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwogCQk3QUZCRDM2NTIxRTUxQkFCMDA1REJBQ0IgLyogUmVzb3VyY2VMb2FkU3Rh
dGlzdGljc01lbW9yeVN0b3JlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IFJl
c291cmNlTG9hZFN0YXRpc3RpY3NNZW1vcnlTdG9yZS5oOyBwYXRoID0gQ2xhc3NpZmllci9SZXNv
dXJjZUxvYWRTdGF0aXN0aWNzTWVtb3J5U3RvcmUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKLQkJN0FGQkQzNjgyMUU1NDJFODAwNURCQUNCIC8qIFJlc291cmNlTG9hZFN0YXRpc3RpY3NQ
ZXJzaXN0ZW50U3RvcmFnZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBSZXNvdXJjZUxvYWRTdGF0aXN0aWNz
UGVyc2lzdGVudFN0b3JhZ2UuaDsgcGF0aCA9IENsYXNzaWZpZXIvUmVzb3VyY2VMb2FkU3RhdGlz
dGljc1BlcnNpc3RlbnRTdG9yYWdlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCTdB
RkJEMzY5MjFFNTQyRTgwMDVEQkFDQiAvKiBSZXNvdXJjZUxvYWRTdGF0aXN0aWNzUGVyc2lzdGVu
dFN0b3JhZ2UuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBuYW1lID0gUmVzb3VyY2VMb2FkU3RhdGlzdGljc1Bl
cnNpc3RlbnRTdG9yYWdlLmNwcDsgcGF0aCA9IENsYXNzaWZpZXIvUmVzb3VyY2VMb2FkU3RhdGlz
dGljc1BlcnNpc3RlbnRTdG9yYWdlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJ
N0FGQkQzNkIyMUU1NDU0NDAwNURCQUNCIC8qIFdlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NUZWxl
bWV0cnkuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gV2ViUmVzb3VyY2VMb2FkU3RhdGlzdGljc1RlbGVtZXRy
eS5oOyBwYXRoID0gQ2xhc3NpZmllci9XZWJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzVGVsZW1ldHJ5
Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTdBRkJEMzZDMjFFNTQ1NDQwMDVEQkFD
QiAvKiBXZWJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzVGVsZW1ldHJ5LmNwcCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsg
bmFtZSA9IFdlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NUZWxlbWV0cnkuY3BwOyBwYXRoID0gQ2xh
c3NpZmllci9XZWJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzVGVsZW1ldHJ5LmNwcDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKIAkJN0FGQkQzNkQyMUU1NDZFMzAwNURCQUNCIC8qIFBlcnNpc3Rl
bmN5VXRpbHMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUGVyc2lzdGVuY3lVdGlscy5oOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwpAQCAtNjM4OSw4ICs2Mzg1LDYgQEAKIAkJCQkxREJCQjA2MTIxMUND
M0NCMDA1MDJFQ0MgLyogV0tTaGFyZVNoZWV0Lm1tICovLAogCQkJCTdBNzhGRjJFMjI0MTkxNzUw
MDk2NDgzRSAvKiBXS1N0b3JhZ2VBY2Nlc3NBbGVydC5oICovLAogCQkJCTdBNzhGRjJGMjI0MTkx
NzYwMDk2NDgzRSAvKiBXS1N0b3JhZ2VBY2Nlc3NBbGVydC5tbSAqLywKLQkJCQk0MTQ3REM2ODI1
MTlFMjlEMDAyMTRFRTcgLyogV0tVc2VyTWVkaWFDYXB0dXJlQWNjZXNzQWxlcnQuaCAqLywKLQkJ
CQk0MTQ3REM2NzI1MTlFMjlEMDAyMTRFRTcgLyogV0tVc2VyTWVkaWFDYXB0dXJlQWNjZXNzQWxl
cnQubW0gKi8sCiAJCQkJMkQ3QUFGRDIxOEM4NjQwNjAwQTdBQ0Q0IC8qIFdLV2ViVmlld0NvbnRl
bnRQcm92aWRlci5oICovLAogCQkJCTJEQzZEOUMxMThDNDRBNjEwMDQzQkFENCAvKiBXS1dlYlZp
ZXdDb250ZW50UHJvdmlkZXJSZWdpc3RyeS5oICovLAogCQkJCTJEQzZEOUMyMThDNDRBNjEwMDQz
QkFENCAvKiBXS1dlYlZpZXdDb250ZW50UHJvdmlkZXJSZWdpc3RyeS5tbSAqLywKQEAgLTcwMTMs
NyArNzAwNyw2IEBACiAJCQkJMEZDQjRFMzYxOEJCRTA0NDAwMEZDRkM5IC8qIFBhZ2VDbGllbnRJ
bXBsSU9TLmggKi8sCiAJCQkJMEZDQjRFMzcxOEJCRTA0NDAwMEZDRkM5IC8qIFBhZ2VDbGllbnRJ
bXBsSU9TLm1tICovLAogCQkJCTg2Rjk1MzYyMThGRjU1MEIwMDFEQjJFRiAvKiBQcm9jZXNzQXNz
ZXJ0aW9uSU9TLm1tICovLAotCQkJCTUxRTZDMTVGMUYyOTM1NTEwMEZEMzQzNyAvKiBSZXNvdXJj
ZUxvYWRTdGF0aXN0aWNzUGVyc2lzdGVudFN0b3JhZ2VJT1MubW0gKi8sCiAJCQkJMkRBRjA2RDQx
OEJEMUE0NzAwODFDRUIxIC8qIFNtYXJ0TWFnbmlmaWNhdGlvbkNvbnRyb2xsZXIuaCAqLywKIAkJ
CQkyREFGMDZEODE4QkQyM0JBMDA4MUNFQjEgLyogU21hcnRNYWduaWZpY2F0aW9uQ29udHJvbGxl
ci5tZXNzYWdlcy5pbiAqLywKIAkJCQkyREFGMDZENTE4QkQxQTQ3MDA4MUNFQjEgLyogU21hcnRN
YWduaWZpY2F0aW9uQ29udHJvbGxlci5tbSAqLywKQEAgLTgzNzEsOCArODM2NCw2IEBACiAJCQkJ
N0EwRDc4NjEyMjA3OTFFQzAwRUJDRjU0IC8qIFJlc291cmNlTG9hZFN0YXRpc3RpY3NEYXRhYmFz
ZVN0b3JlLmggKi8sCiAJCQkJN0FGQkQzNjQyMUU1MUJBQjAwNURCQUNCIC8qIFJlc291cmNlTG9h
ZFN0YXRpc3RpY3NNZW1vcnlTdG9yZS5jcHAgKi8sCiAJCQkJN0FGQkQzNjUyMUU1MUJBQjAwNURC
QUNCIC8qIFJlc291cmNlTG9hZFN0YXRpc3RpY3NNZW1vcnlTdG9yZS5oICovLAotCQkJCTdBRkJE
MzY5MjFFNTQyRTgwMDVEQkFDQiAvKiBSZXNvdXJjZUxvYWRTdGF0aXN0aWNzUGVyc2lzdGVudFN0
b3JhZ2UuY3BwICovLAotCQkJCTdBRkJEMzY4MjFFNTQyRTgwMDVEQkFDQiAvKiBSZXNvdXJjZUxv
YWRTdGF0aXN0aWNzUGVyc2lzdGVudFN0b3JhZ2UuaCAqLywKIAkJCQk3QUNFODJFODIyMUNBRTA3
MDAwREE5NEMgLyogUmVzb3VyY2VMb2FkU3RhdGlzdGljc1N0b3JlLmNwcCAqLywKIAkJCQk3QUNF
ODJFNzIyMUNBRTA2MDAwREE5NEMgLyogUmVzb3VyY2VMb2FkU3RhdGlzdGljc1N0b3JlLmggKi8s
CiAJCQkJN0E0MUU5RkEyMUY4MURBQzAwQjg4Q0RCIC8qIFNob3VsZEdyYW5kZmF0aGVyU3RhdGlz
dGljcy5oICovLApAQCAtMTExMjUsNyArMTExMTYsNiBAQAogCQkJCTZCRTk2OUNEMUU1NEUwNTQw
MDhCNzQ4MyAvKiBSZXNvdXJjZUxvYWRTdGF0aXN0aWNzQ2xhc3NpZmllci5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkJNkJFOTY5Q0IxRTU0RDRDRjAwOEI3NDgzIC8qIFJlc291cmNlTG9hZFN0YXRpc3Rp
Y3NDbGFzc2lmaWVyQ29jb2EuaCBpbiBIZWFkZXJzICovLAogCQkJCTdBRkJEMzY3MjFFNTFCQUIw
MDVEQkFDQiAvKiBSZXNvdXJjZUxvYWRTdGF0aXN0aWNzTWVtb3J5U3RvcmUuaCBpbiBIZWFkZXJz
ICovLAotCQkJCTdBRkJEMzZBMjFFNTQyRjEwMDVEQkFDQiAvKiBSZXNvdXJjZUxvYWRTdGF0aXN0
aWNzUGVyc2lzdGVudFN0b3JhZ2UuaCBpbiBIZWFkZXJzICovLAogCQkJCTFBMzAwNjZFMTExMEY0
RjcwMDMxOTM3QyAvKiBSZXNwb25zaXZlbmVzc1RpbWVyLmggaW4gSGVhZGVycyAqLywKIAkJCQk0
MTA0ODJDRTFEREQzMjRGMDBGMDA2RDAgLyogUlRDTmV0d29yay5oIGluIEhlYWRlcnMgKi8sCiAJ
CQkJNDZGMzhFOEMyNDE2RTY3MzAwNTkzNzVBIC8qIFJ1bm5pbmdCb2FyZFNlcnZpY2VzU1BJLmgg
aW4gSGVhZGVycyAqLywKQEAgLTEzMTI4LDcgKzEzMTE4LDYgQEAKIAkJCQkxREIwMTk0NDIxMUNG
MDA1MDA5RkIzRTggLyogV0tTaGFyZVNoZWV0Lm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJN0E3OEZG
MzMyMjQxOTE5QjAwOTY0ODNFIC8qIFdLU3RvcmFnZUFjY2Vzc0FsZXJ0Lm1tIGluIFNvdXJjZXMg
Ki8sCiAJCQkJQ0UyMTIxNjAyNDBFRTU3MTAwNkVENDQzIC8qIFdLVGV4dFBsYWNlaG9sZGVyLm1t
IGluIFNvdXJjZXMgKi8sCi0JCQkJNDE0N0RDNjkyNTE5RUMzMzAwMjE0RUU3IC8qIFdLVXNlck1l
ZGlhQ2FwdHVyZUFjY2Vzc0FsZXJ0Lm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJQzE0RDMwNjkyNEI3
OUJFMDAwNDgwMzg3IC8qIFhQQ0VuZHBvaW50Lm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJQzE0RDMw
NkEyNEI3OUJFNDAwNDgwMzg3IC8qIFhQQ0VuZHBvaW50Q2xpZW50Lm1tIGluIFNvdXJjZXMgKi8s
CiAJCQkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJQ
cmVmZXJlbmNlc0ludGVybmFsLnlhbWwgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3
L1dlYlByZWZlcmVuY2VzSW50ZXJuYWwueWFtbAppbmRleCBjMWIyMTg3ODM3NzU5OGVmYzc3ZjZm
NmEyZTgwNTY0ZWExNDhjNTlkLi5kYjIwNTQwMTMxNTc2OTJiNGIzMTI1N2JkZjczOWQ3NTBlN2Ey
MmMyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYlByZWZl
cmVuY2VzSW50ZXJuYWwueWFtbAorKysgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3
L1dlYlByZWZlcmVuY2VzSW50ZXJuYWwueWFtbApAQCAtMzY5LDE4ICszNjksNiBAQCBJc0ZpcnN0
UGFydHlXZWJzaXRlRGF0YVJlbW92YWxSZXByb1Rlc3RpbmdFbmFibGVkOgogICAgIFdlYktpdDoK
ICAgICAgIGRlZmF1bHQ6IGZhbHNlCiAKLSMgRklYTUU6IFRoaXMgaXMgbm90IHJlbGV2ZW50IGZv
ciBXZWJLaXRMZWdhY3ksIHNvIHNob3VsZCBiZSBleGNsdWRlZCBmcm9tIFdlYktpdExlZ2FjeSBl
bnRpcmVseS4KLUlzSVRQRGF0YWJhc2VFbmFibGVkOgotICB0eXBlOiBib29sCi0gIGh1bWFuUmVh
ZGFibGVOYW1lOiAiSVRQIERhdGFiYXNlIEJhY2tlbmQiCi0gIGh1bWFuUmVhZGFibGVEZXNjcmlw
dGlvbjogIkVuYWJsZSBJbnRlbGxpZ2VudCBUcmFja2luZyBQcmV2ZW50aW9uIERhdGFiYXNlIEJh
Y2tlbmQiCi0gIHdlYmNvcmVCaW5kaW5nOiBSdW50aW1lRW5hYmxlZEZlYXR1cmVzCi0gIGRlZmF1
bHRWYWx1ZToKLSAgICBXZWJLaXRMZWdhY3k6Ci0gICAgICBkZWZhdWx0OiBmYWxzZQotICAgIFdl
YktpdDoKLSAgICAgIGRlZmF1bHQ6IHRydWUKLQogS2V5Z2VuRWxlbWVudEVuYWJsZWQ6CiAgIHR5
cGU6IGJvb2wKICAgd2ViS2l0TGVnYWN5UHJlZmVyZW5jZUtleTogV2ViS2l0S2V5Z2VuRWxlbWVu
dEVuYWJsZWRQcmVmZXJlbmNlS2V5CmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cgYi9Ub29s
cy9DaGFuZ2VMb2cKaW5kZXggMTUwMTA2ODIwMTkwMDMxN2FmMTNiNjFmOWM3NzA2NzQwNGY0YjU3
ZC4uNDQyZTZiOTI5MTVkYjkyODU0ZDMxOTI0ZDI5M2YxMmMwOTk2NWVjMCAxMDA2NDQKLS0tIGEv
VG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMzIEBACisy
MDIwLTA5LTI4ICBBbGV4IENocmlzdGVuc2VuICA8YWNocmlzdGVuc2VuQHdlYmtpdC5vcmc+CisK
KyAgICAgICAgUmVtb3ZlIHBsaXN0LWJhc2VkIFJlc291cmNlTG9hZFN0YXRpc3RpY3Mgc3RvcmFn
ZSwgd2hpY2ggaGFzIGJlZW4gcmVwbGFjZWQgYnkgZGF0YWJhc2UtYmFzZWQgc3RvcmFnZQorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjE3MDYzCisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGhlc2UgdGhyZWUg
dGVzdHMgQVBJIHRlc3RzIGhhdmUgYmVlbiByZW1vdmVkOgorCisgICAgICAgIFJlc291cmNlTG9h
ZFN0YXRpc3RpY3MuQ2hpbGRQcm9jZXNzZXNOb3RMYXVuY2hlZAorICAgICAgICBSZXNvdXJjZUxv
YWRTdGF0aXN0aWNzLkdyYW5kZmF0aGVyQ2FsbGJhY2sKKyAgICAgICAgUmVzb3VyY2VMb2FkU3Rh
dGlzdGljcy5TaG91bGROb3RHcmFuZGZhdGhlck9uU3RhcnR1cAorCisgICAgICAgIEVhY2ggb2Yg
dGhvc2UgdGVzdHMgaGFzIGEgY29ycmVzcG9uZGluZyB0ZXN0IHRoYXQgZW5kcyB3aXRoICJEYXRh
YmFzZSIgdGhhdCB0ZXN0cyB0aGUgZGF0YWJhc2UgYmFja2VuZCwKKyAgICAgICAgc28gdGhlIG9u
bHkgdGVzdCBjb3ZlcmFnZSBsb3NzIHdhcyBvZiB0aGUgY29kZSB0aGF0IHdhcyByZW1vdmVkLgor
CisgICAgICAgICogVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9SZXNvdXJjZUxvYWRT
dGF0aXN0aWNzLm1tOgorICAgICAgICAoZW5zdXJlSVRQRmlsZUlzQ3JlYXRlZCk6CisgICAgICAg
IChURVNUKToKKyAgICAgICAgKGlzSVRQRGF0YWJhc2VFbmFibGVkKTogRGVsZXRlZC4KKyAgICAg
ICAgKiBXZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL0JpbmRpbmdzL1Rlc3RSdW5uZXIu
aWRsOgorICAgICAgICAqIFdlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvVGVzdFJ1bm5l
ci5jcHA6CisgICAgICAgIChXVFI6OlRlc3RSdW5uZXI6OnNldFVzZUlUUERhdGFiYXNlKTogRGVs
ZXRlZC4KKyAgICAgICAgKiBXZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL1Rlc3RSdW5u
ZXIuaDoKKyAgICAgICAgKiBXZWJLaXRUZXN0UnVubmVyL1Rlc3RDb250cm9sbGVyLmNwcDoKKyAg
ICAgICAgKFdUUjo6VGVzdENvbnRyb2xsZXI6OnNldFVzZUlUUERhdGFiYXNlKTogRGVsZXRlZC4K
KyAgICAgICAgKiBXZWJLaXRUZXN0UnVubmVyL1Rlc3RDb250cm9sbGVyLmg6CisgICAgICAgICog
V2ViS2l0VGVzdFJ1bm5lci9UZXN0SW52b2NhdGlvbi5jcHA6CisgICAgICAgIChXVFI6OlRlc3RJ
bnZvY2F0aW9uOjpkaWRSZWNlaXZlU3luY2hyb25vdXNNZXNzYWdlRnJvbUluamVjdGVkQnVuZGxl
KToKKwogMjAyMC0wOS0yOCAgRGV2aW4gUm91c3NvICA8ZHJvdXNzb0BhcHBsZS5jb20+CiAKICAg
ICAgICAgW2lPU10gdW5hYmxlIHRvIGFpcnBsYXkgZGlyZWN0bHkgbG9hZGVkIGZ1bGxzY3JlZW4g
dmlkZW8KZGlmZiAtLWdpdCBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2Ev
UmVzb3VyY2VMb2FkU3RhdGlzdGljcy5tbSBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2Vi
S2l0Q29jb2EvUmVzb3VyY2VMb2FkU3RhdGlzdGljcy5tbQppbmRleCAwZTEwYzM0ZWVjODJjNmY2
NTkyYmI3YzQyNzRkMGU0NTVlYWYxMWU4Li5kMmUyNTNlYzY0ZTc3YWQ4ODYwM2ExNWZlMGFiZjFk
MDdjMDBhY2M1IDEwMDY0NAotLS0gYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdENv
Y29hL1Jlc291cmNlTG9hZFN0YXRpc3RpY3MubW0KKysrIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9U
ZXN0cy9XZWJLaXRDb2NvYS9SZXNvdXJjZUxvYWRTdGF0aXN0aWNzLm1tCkBAIC02OSwxMjAgKzY5
LDE1IEBAIHN0YXRpYyBib29sIGZpbmlzaGVkTmF2aWdhdGlvbiA9IGZhbHNlOwogCiBAZW5kCiAK
LWJvb2wgaXNJVFBEYXRhYmFzZUVuYWJsZWQoKQotewotICAgIE5TVXNlckRlZmF1bHRzICpkZWZh
dWx0cyA9IFtOU1VzZXJEZWZhdWx0cyBzdGFuZGFyZFVzZXJEZWZhdWx0c107Ci0gICAgYXV0byBj
b25maWd1cmF0aW9uID0gYWRvcHROUyhbW1dLV2ViVmlld0NvbmZpZ3VyYXRpb24gYWxsb2NdIGlu
aXRdKTsKLSAgICBhdXRvIGRlZmF1bHREYXRhYmFzZUVuYWJsZWQgPSBbY29uZmlndXJhdGlvbiBw
cmVmZXJlbmNlc10uX2lzSVRQRGF0YWJhc2VFbmFibGVkOwotCi0gICAgTlNOdW1iZXIgKmRhdGFi
YXNlRW5hYmxlZFZhbHVlID0gW2RlZmF1bHRzIG9iamVjdEZvcktleTpAIkludGVybmFsRGVidWdJ
c0lUUERhdGFiYXNlRW5hYmxlZCJdOwotICAgIGlmIChkYXRhYmFzZUVuYWJsZWRWYWx1ZSkKLSAg
ICAgICAgcmV0dXJuIGRhdGFiYXNlRW5hYmxlZFZhbHVlLmJvb2xWYWx1ZTsKLQotICAgIHJldHVy
biBkZWZhdWx0RGF0YWJhc2VFbmFibGVkOwotfQotCiBzdGF0aWMgdm9pZCBlbnN1cmVJVFBGaWxl
SXNDcmVhdGVkKCkKIHsKLSAgICBzdGF0aWMgYm9vbCBkb25lRmxhZzsKICAgICBhdXRvICpkYXRh
U3RvcmUgPSBbV0tXZWJzaXRlRGF0YVN0b3JlIGRlZmF1bHREYXRhU3RvcmVdOwogICAgIGF1dG8g
d2ViVmlldyA9IGFkb3B0TlMoW1tXS1dlYlZpZXcgYWxsb2NdIGluaXRXaXRoRnJhbWU6TlNNYWtl
UmVjdCgwLCAwLCA4MDAsIDYwMCldKTsKICAgICBbZGF0YVN0b3JlIF9zZXRSZXNvdXJjZUxvYWRT
dGF0aXN0aWNzRW5hYmxlZDpZRVNdOwogICAgIFt3ZWJWaWV3IGxvYWRSZXF1ZXN0OltOU1VSTFJl
cXVlc3QgcmVxdWVzdFdpdGhVUkw6W05TVVJMIFVSTFdpdGhTdHJpbmc6QCJhYm91dDpibGFuayJd
XV07Ci0gICAgW2RhdGFTdG9yZSBfc2V0VXNlSVRQRGF0YWJhc2U6dHJ1ZSBjb21wbGV0aW9uSGFu
ZGxlcjogXih2b2lkKSB7Ci0gICAgICAgIGRvbmVGbGFnID0gdHJ1ZTsKLSAgICB9XTsKLSAgICBU
ZXN0V2ViS2l0QVBJOjpVdGlsOjpydW4oJmRvbmVGbGFnKTsKICAgICBbZGF0YVN0b3JlIF9zZXRS
ZXNvdXJjZUxvYWRTdGF0aXN0aWNzRW5hYmxlZDpOT107CiB9CiAKLVRFU1QoUmVzb3VyY2VMb2Fk
U3RhdGlzdGljcywgR3JhbmRmYXRoZXJDYWxsYmFjaykKLXsKLSAgICBhdXRvICpkYXRhU3RvcmUg
PSBbV0tXZWJzaXRlRGF0YVN0b3JlIGRlZmF1bHREYXRhU3RvcmVdOwotCi0gICAgTlNVUkwgKnN0
YXRpc3RpY3NEaXJlY3RvcnlVUkwgPSBbTlNVUkwgZmlsZVVSTFdpdGhQYXRoOltAIn4vTGlicmFy
eS9XZWJLaXQvY29tLmFwcGxlLldlYktpdC5UZXN0V2ViS2l0QVBJL1dlYnNpdGVEYXRhL1Jlc291
cmNlTG9hZFN0YXRpc3RpY3MiIHN0cmluZ0J5RXhwYW5kaW5nVGlsZGVJblBhdGhdIGlzRGlyZWN0
b3J5OllFU107Ci0gICAgTlNVUkwgKmZpbGVVUkwgPSBbc3RhdGlzdGljc0RpcmVjdG9yeVVSTCBV
UkxCeUFwcGVuZGluZ1BhdGhDb21wb25lbnQ6QCJmdWxsX2Jyb3dzaW5nX3Nlc3Npb25fcmVzb3Vy
Y2VMb2cucGxpc3QiXTsKLSAgICBbW05TRmlsZU1hbmFnZXIgZGVmYXVsdE1hbmFnZXJdIHJlbW92
ZUl0ZW1BdFVSTDpmaWxlVVJMIGVycm9yOm5pbF07Ci0gICAgW1tOU0ZpbGVNYW5hZ2VyIGRlZmF1
bHRNYW5hZ2VyXSByZW1vdmVJdGVtQXRVUkw6c3RhdGlzdGljc0RpcmVjdG9yeVVSTCBlcnJvcjpu
aWxdOwotICAgIEVYUEVDVF9GQUxTRShbW05TRmlsZU1hbmFnZXIgZGVmYXVsdE1hbmFnZXJdIGZp
bGVFeGlzdHNBdFBhdGg6c3RhdGlzdGljc0RpcmVjdG9yeVVSTC5wYXRoXSk7Ci0KLSAgICBzdGF0
aWMgYm9vbCBkb25lRmxhZzsKLSAgICBzdGF0aWMgYm9vbCBncmFuZGZhdGhlcmVkRmxhZzsKLQot
ICAgIFtkYXRhU3RvcmUgX3NldFJlc291cmNlTG9hZFN0YXRpc3RpY3NUZXN0aW5nQ2FsbGJhY2s6
XihXS1dlYnNpdGVEYXRhU3RvcmUgKiwgTlNTdHJpbmcgKm1lc3NhZ2UpIHsKLSAgICAgICAgLy8g
T25seSBpZiB0aGUgZGF0YWJhc2Ugc3RvcmUgaXMgbm90IGRlZmF1bHQtZW5hYmxlZCBkbyB3ZSBu
ZWVkIHRvIGNoZWNrIHRoYXQgdGhpcyBmaXJzdCBtZXNzYWdlIGlzIGNvcnJlY3QuCi0gICAgICAg
IGlmICghaXNJVFBEYXRhYmFzZUVuYWJsZWQoKSkKLSAgICAgICAgICAgIEFTU0VSVF9UUlVFKFtt
ZXNzYWdlIGlzRXF1YWxUb1N0cmluZzpAIkdyYW5kZmF0aGVyZWQiXSk7Ci0gICAgICAgIGdyYW5k
ZmF0aGVyZWRGbGFnID0gdHJ1ZTsKLSAgICB9XTsKLQotICAgIC8vIFdlIG5lZWQgYW4gYWN0aXZl
IE5ldHdvcmtQcm9jZXNzIHRvIHBlcmZvcm0gUmVzb3VyY2VMb2FkU3RhdGlzdGljcyBvcGVyYXRp
b25zLgotICAgIGF1dG8gd2ViVmlldyA9IGFkb3B0TlMoW1tXS1dlYlZpZXcgYWxsb2NdIGluaXRX
aXRoRnJhbWU6TlNNYWtlUmVjdCgwLCAwLCA4MDAsIDYwMCldKTsKLSAgICBbZGF0YVN0b3JlIF9z
ZXRSZXNvdXJjZUxvYWRTdGF0aXN0aWNzRW5hYmxlZDpZRVNdOwotICAgIFt3ZWJWaWV3IGxvYWRS
ZXF1ZXN0OltOU1VSTFJlcXVlc3QgcmVxdWVzdFdpdGhVUkw6W05TVVJMIFVSTFdpdGhTdHJpbmc6
QCJhYm91dDpibGFuayJdXV07Ci0KLSAgICBpZiAoaXNJVFBEYXRhYmFzZUVuYWJsZWQoKSkgewot
ICAgICAgICBUZXN0V2ViS2l0QVBJOjpVdGlsOjpydW4oJmdyYW5kZmF0aGVyZWRGbGFnKTsKLQot
ICAgICAgICAvLyBTaW5jZSB0aGUgZGF0YWJhc2Ugc3RvcmUgaXMgZW5hYmxlZCwgd2UgbmVlZCB0
byBkaXNhYmxlIGl0IHRvIHRlc3QgdGhpcyBmdW5jdGlvbmFsaXR5IHdpdGggdGhlIHBsaXN0Lgot
ICAgICAgICAvLyBXZSBhbHJlYWR5IGhhdmUgYSBOZXR3b3JrUHJvY2VzcyB1cCBhbmQgcnVubmlu
ZyB3aXRoIElUUCBlbmFibGVkLiBXZSBub3cgbWFrZSBhbm90aGVyIGNhbGwgaW5pdGlhbGl6aW5n
Ci0gICAgICAgIC8vIHRoZSBtZW1vcnkgc3RvcmUgYW5kIHRlc3RpbmcgZ3JhbmRmYXRoZXJpbmcu
Ci0gICAgICAgIGdyYW5kZmF0aGVyZWRGbGFnID0gZmFsc2U7Ci0gICAgICAgIFtkYXRhU3RvcmUg
X3NldFJlc291cmNlTG9hZFN0YXRpc3RpY3NUZXN0aW5nQ2FsbGJhY2s6XihXS1dlYnNpdGVEYXRh
U3RvcmUgKiwgTlNTdHJpbmcgKm1lc3NhZ2UpIHsKLSAgICAgICAgICAgIEFTU0VSVF9UUlVFKFtt
ZXNzYWdlIGlzRXF1YWxUb1N0cmluZzpAIkdyYW5kZmF0aGVyZWQiXSk7Ci0gICAgICAgICAgICBn
cmFuZGZhdGhlcmVkRmxhZyA9IHRydWU7Ci0gICAgICAgIH1dOwotCi0gICAgICAgIFtkYXRhU3Rv
cmUgX3NldFVzZUlUUERhdGFiYXNlOmZhbHNlIGNvbXBsZXRpb25IYW5kbGVyOiBeKHZvaWQpIHsK
LSAgICAgICAgICAgIGRvbmVGbGFnID0gdHJ1ZTsKLSAgICAgICAgfV07Ci0KLSAgICAgICAgVGVz
dFdlYktpdEFQSTo6VXRpbDo6cnVuKCZkb25lRmxhZyk7Ci0gICAgfQotCi0gICAgVGVzdFdlYktp
dEFQSTo6VXRpbDo6cnVuKCZncmFuZGZhdGhlcmVkRmxhZyk7Ci0KLSAgICAvLyBTcGluIHRoZSBy
dW5sb29wIHVudGlsIHRoZSByZXNvdXJjZSBsb2FkIHN0YXRpc3RpY3MgZmlsZSBoYXMgd3JpdHRl
biB0byBkaXNrLgotICAgIC8vIElmIHRoZSB0ZXN0IGVudGVycyBhIHNwaW4gbG9vcCBoZXJlLCBp
dCBoYXMgZmFpbGVkLgotICAgIHdoaWxlICh0cnVlKSB7Ci0gICAgICAgIGlmIChbW05TRmlsZU1h
bmFnZXIgZGVmYXVsdE1hbmFnZXJdIGZpbGVFeGlzdHNBdFBhdGg6ZmlsZVVSTC5wYXRoXSkKLSAg
ICAgICAgICAgIGJyZWFrOwotICAgICAgICBUZXN0V2ViS2l0QVBJOjpVdGlsOjpzcGluUnVuTG9v
cCgxKTsKLSAgICB9Ci0KLSAgICBncmFuZGZhdGhlcmVkRmxhZyA9IGZhbHNlOwotICAgIGRvbmVG
bGFnID0gZmFsc2U7Ci0gICAgW2RhdGFTdG9yZSByZW1vdmVEYXRhT2ZUeXBlczpbV0tXZWJzaXRl
RGF0YVN0b3JlIF9hbGxXZWJzaXRlRGF0YVR5cGVzSW5jbHVkaW5nUHJpdmF0ZV0gIG1vZGlmaWVk
U2luY2U6W05TRGF0ZSBkaXN0YW50UGFzdF0gY29tcGxldGlvbkhhbmRsZXI6XiB7Ci0gICAgICAg
IGRvbmVGbGFnID0gdHJ1ZTsKLSAgICB9XTsKLQotICAgIFRlc3RXZWJLaXRBUEk6OlV0aWw6OnJ1
bigmZG9uZUZsYWcpOwotICAgIFRlc3RXZWJLaXRBUEk6OlV0aWw6OnNwaW5SdW5Mb29wKDEwKTsK
LQotICAgIC8vIFRoZSB3ZWJzaXRlIGRhdGEgc3RvcmUgcmVtb3ZlIHNob3VsZCBoYXZlIGNvbXBs
ZXRlZCwgYnV0IHNpbmNlIHdlIHJlbW92ZWQgYWxsIG9mIHRoZSBkYXRhIHR5cGVzIHRoYXQgYXJl
IG1vbml0b3JlZCBieSByZXNvdXJjZSBsb2FkIHN0YXRpc3RpY3MsCi0gICAgLy8gbm8gZ3JhbmRm
YXRoZXJpbmcgY2FsbCBzaG91bGQgaGF2ZSBiZWVuIG1hZGUuCi0gICAgRVhQRUNUX0ZBTFNFKGdy
YW5kZmF0aGVyZWRGbGFnKTsKLSAgICBFWFBFQ1RfRkFMU0UoW1tOU0ZpbGVNYW5hZ2VyIGRlZmF1
bHRNYW5hZ2VyXSBmaWxlRXhpc3RzQXRQYXRoOmZpbGVVUkwucGF0aF0pOwotCi0gICAgZG9uZUZs
YWcgPSBmYWxzZTsKLSAgICBbZGF0YVN0b3JlIHJlbW92ZURhdGFPZlR5cGVzOltOU1NldCBzZXRX
aXRoT2JqZWN0czpXS1dlYnNpdGVEYXRhVHlwZUNvb2tpZXMsIF9XS1dlYnNpdGVEYXRhVHlwZVJl
c291cmNlTG9hZFN0YXRpc3RpY3MsIG5pbF0gbW9kaWZpZWRTaW5jZTpbTlNEYXRlIGRpc3RhbnRQ
YXN0XSBjb21wbGV0aW9uSGFuZGxlcjpeIHsKLSAgICAgICAgZG9uZUZsYWcgPSB0cnVlOwotICAg
IH1dOwotCi0gICAgLy8gU2luY2Ugd2UgZGlkIG5vdCByZW1vdmUgZXZlcnkgZGF0YSB0eXBlIGNv
dmVyZWQgYnkgcmVzb3VyY2UgbG9hZCBzdGF0aXN0aWNzLCB3ZSBkbyBleHBlY3QgdGhhdCBncmFu
ZGZhdGhlcmluZyB0b29rIHBsYWNlIGFnYWluLgotICAgIC8vIElmIHRoZSB0ZXN0IGhhbmdzIHdh
aXRpbmcgb24gZWl0aGVyIG9mIHRoZXNlIGNvbmRpdGlvbnMsIGl0IGhhcyBmYWlsZWQuCi0gICAg
VGVzdFdlYktpdEFQSTo6VXRpbDo6cnVuKCZncmFuZGZhdGhlcmVkRmxhZyk7Ci0gICAgVGVzdFdl
YktpdEFQSTo6VXRpbDo6cnVuKCZkb25lRmxhZyk7Ci0KLSAgICAvLyBTcGluIHRoZSBydW5sb29w
IHVudGlsIHRoZSByZXNvdXJjZSBsb2FkIHN0YXRpc3RpY3MgZmlsZSBoYXMgd3JpdHRlbiB0byBk
aXNrLgotICAgIC8vIElmIHRoZSB0ZXN0IGVudGVycyBhIHNwaW4gbG9vcCBoZXJlLCBpdCBoYXMg
ZmFpbGVkLgotICAgIHdoaWxlICh0cnVlKSB7Ci0gICAgICAgIGlmIChbW05TRmlsZU1hbmFnZXIg
ZGVmYXVsdE1hbmFnZXJdIGZpbGVFeGlzdHNBdFBhdGg6ZmlsZVVSTC5wYXRoXSkKLSAgICAgICAg
ICAgIGJyZWFrOwotICAgICAgICBUZXN0V2ViS2l0QVBJOjpVdGlsOjpzcGluUnVuTG9vcCgxKTsK
LSAgICB9Ci19Ci0KIFRFU1QoUmVzb3VyY2VMb2FkU3RhdGlzdGljcywgR3JhbmRmYXRoZXJDYWxs
YmFja0RhdGFiYXNlKQogewogICAgIGF1dG8gKmRhdGFTdG9yZSA9IFtXS1dlYnNpdGVEYXRhU3Rv
cmUgZGVmYXVsdERhdGFTdG9yZV07CkBAIC0xOTcsOSArOTIsNyBAQCBURVNUKFJlc291cmNlTG9h
ZFN0YXRpc3RpY3MsIEdyYW5kZmF0aGVyQ2FsbGJhY2tEYXRhYmFzZSkKICAgICBzdGF0aWMgYm9v
bCBkb25lRmxhZzsKIAogICAgIFtkYXRhU3RvcmUgX3NldFJlc291cmNlTG9hZFN0YXRpc3RpY3NU
ZXN0aW5nQ2FsbGJhY2s6XihXS1dlYnNpdGVEYXRhU3RvcmUgKiwgTlNTdHJpbmcgKm1lc3NhZ2Up
IHsKLSAgICAgICAgLy8gT25seSBpZiB0aGUgZGF0YWJhc2Ugc3RvcmUgaXMgZGVmYXVsdC1lbmFi
bGVkIGRvIHdlIG5lZWQgdG8gY2hlY2sgdGhhdCB0aGlzIGZpcnN0IG1lc3NhZ2UgaXMgY29ycmVj
dC4KLSAgICAgICAgaWYgKGlzSVRQRGF0YWJhc2VFbmFibGVkKCkpCi0gICAgICAgICAgICBBU1NF
UlRfVFJVRShbbWVzc2FnZSBpc0VxdWFsVG9TdHJpbmc6QCJHcmFuZGZhdGhlcmVkIl0pOworICAg
ICAgICBBU1NFUlRfVFJVRShbbWVzc2FnZSBpc0VxdWFsVG9TdHJpbmc6QCJHcmFuZGZhdGhlcmVk
Il0pOwogICAgICAgICBncmFuZGZhdGhlcmVkRmxhZyA9IHRydWU7CiAgICAgfV07CiAKQEAgLTIw
NywyNSArMTAwLDYgQEAgVEVTVChSZXNvdXJjZUxvYWRTdGF0aXN0aWNzLCBHcmFuZGZhdGhlckNh
bGxiYWNrRGF0YWJhc2UpCiAgICAgW2RhdGFTdG9yZSBfc2V0UmVzb3VyY2VMb2FkU3RhdGlzdGlj
c0VuYWJsZWQ6WUVTXTsKICAgICBbd2ViVmlldyBsb2FkUmVxdWVzdDpbTlNVUkxSZXF1ZXN0IHJl
cXVlc3RXaXRoVVJMOltOU1VSTCBVUkxXaXRoU3RyaW5nOkAiYWJvdXQ6YmxhbmsiXV1dOwogCi0g
ICAgaWYgKCFpc0lUUERhdGFiYXNlRW5hYmxlZCgpKSB7Ci0gICAgICAgIFRlc3RXZWJLaXRBUEk6
OlV0aWw6OnJ1bigmZ3JhbmRmYXRoZXJlZEZsYWcpOwotCi0gICAgICAgIC8vIFNpbmNlIHRoZSBk
YXRhYmFzZSBzdG9yZSBpcyBub3QgZW5hYmxlZCwgd2UgbmVlZCB0byB1cGRhdGUgdGhlIHN0b3Jl
IHRvIHVzZSBhIGRhdGFiYXNlIGluc3RlYWQgb2YgYSBwbGlzdCBmb3IgdGhpcyB0ZXN0LgotICAg
ICAgICAvLyBXZSBhbHJlYWR5IGhhdmUgYSBOZXR3b3JrUHJvY2VzcyB1cCBhbmQgcnVubmluZyB3
aXRoIElUUCBlbmFibGVkLiBXZSBub3cgbWFrZSBhbm90aGVyIGNhbGwgaW5pdGlhbGl6aW5nCi0g
ICAgICAgIC8vIHRoZSBkYXRhYmFzZSBzdG9yZSBhbmQgdGVzdGluZyBncmFuZGZhdGhlcmluZy4K
LSAgICAgICAgZ3JhbmRmYXRoZXJlZEZsYWcgPSBmYWxzZTsKLSAgICAgICAgW2RhdGFTdG9yZSBf
c2V0UmVzb3VyY2VMb2FkU3RhdGlzdGljc1Rlc3RpbmdDYWxsYmFjazpeKFdLV2Vic2l0ZURhdGFT
dG9yZSAqLCBOU1N0cmluZyAqbWVzc2FnZSkgewotICAgICAgICAgICAgQVNTRVJUX1RSVUUoW21l
c3NhZ2UgaXNFcXVhbFRvU3RyaW5nOkAiR3JhbmRmYXRoZXJlZCJdKTsKLSAgICAgICAgICAgIGdy
YW5kZmF0aGVyZWRGbGFnID0gdHJ1ZTsKLSAgICAgICAgfV07Ci0KLSAgICAgICAgW2RhdGFTdG9y
ZSBfc2V0VXNlSVRQRGF0YWJhc2U6dHJ1ZSBjb21wbGV0aW9uSGFuZGxlcjogXih2b2lkKSB7Ci0g
ICAgICAgICAgICBkb25lRmxhZyA9IHRydWU7Ci0gICAgICAgIH1dOwotCi0gICAgICAgIFRlc3RX
ZWJLaXRBUEk6OlV0aWw6OnJ1bigmZG9uZUZsYWcpOwotICAgIH0KLQogICAgIFRlc3RXZWJLaXRB
UEk6OlV0aWw6OnJ1bigmZ3JhbmRmYXRoZXJlZEZsYWcpOwogCiAgICAgLy8gU3BpbiB0aGUgcnVu
bG9vcCB1bnRpbCB0aGUgcmVzb3VyY2UgbG9hZCBzdGF0aXN0aWNzIGZpbGUgaGFzIHdyaXR0ZW4g
dG8gZGlzay4KQEAgLTI2MCw3NCArMTM0LDE2IEBAIFRFU1QoUmVzb3VyY2VMb2FkU3RhdGlzdGlj
cywgR3JhbmRmYXRoZXJDYWxsYmFja0RhdGFiYXNlKQogICAgIFRlc3RXZWJLaXRBUEk6OlV0aWw6
OnJ1bigmZG9uZUZsYWcpOwogfQogCi1URVNUKFJlc291cmNlTG9hZFN0YXRpc3RpY3MsIFNob3Vs
ZE5vdEdyYW5kZmF0aGVyT25TdGFydHVwKQotewotICAgIGF1dG8gKmRhdGFTdG9yZSA9IFtXS1dl
YnNpdGVEYXRhU3RvcmUgZGVmYXVsdERhdGFTdG9yZV07Ci0KLSAgICBOU1VSTCAqc3RhdGlzdGlj
c0RpcmVjdG9yeVVSTCA9IFtOU1VSTCBmaWxlVVJMV2l0aFBhdGg6W0Aifi9MaWJyYXJ5L1dlYktp
dC9jb20uYXBwbGUuV2ViS2l0LlRlc3RXZWJLaXRBUEkvV2Vic2l0ZURhdGEvUmVzb3VyY2VMb2Fk
U3RhdGlzdGljcyIgc3RyaW5nQnlFeHBhbmRpbmdUaWxkZUluUGF0aF0gaXNEaXJlY3Rvcnk6WUVT
XTsKLSAgICBOU1VSTCAqdGFyZ2V0VVJMID0gW3N0YXRpc3RpY3NEaXJlY3RvcnlVUkwgVVJMQnlB
cHBlbmRpbmdQYXRoQ29tcG9uZW50OkAiZnVsbF9icm93c2luZ19zZXNzaW9uX3Jlc291cmNlTG9n
LnBsaXN0Il07Ci0gICAgTlNVUkwgKnRlc3RSZXNvdXJjZVVSTCA9IFtbTlNCdW5kbGUgbWFpbkJ1
bmRsZV0gVVJMRm9yUmVzb3VyY2U6QCJFbXB0eUdyYW5kZmF0aGVyZWRSZXNvdXJjZUxvYWRTdGF0
aXN0aWNzIiB3aXRoRXh0ZW5zaW9uOkAicGxpc3QiIHN1YmRpcmVjdG9yeTpAIlRlc3RXZWJLaXRB
UEkucmVzb3VyY2VzIl07Ci0KLSAgICBbW05TRmlsZU1hbmFnZXIgZGVmYXVsdE1hbmFnZXJdIGNy
ZWF0ZURpcmVjdG9yeUF0VVJMOnN0YXRpc3RpY3NEaXJlY3RvcnlVUkwgd2l0aEludGVybWVkaWF0
ZURpcmVjdG9yaWVzOllFUyBhdHRyaWJ1dGVzOm5pbCBlcnJvcjpuaWxdOwotICAgIFtbTlNGaWxl
TWFuYWdlciBkZWZhdWx0TWFuYWdlcl0gY29weUl0ZW1BdFVSTDp0ZXN0UmVzb3VyY2VVUkwgdG9V
Ukw6dGFyZ2V0VVJMIGVycm9yOm5pbF07Ci0KLSAgICBFWFBFQ1RfVFJVRShbW05TRmlsZU1hbmFn
ZXIgZGVmYXVsdE1hbmFnZXJdIGZpbGVFeGlzdHNBdFBhdGg6dGFyZ2V0VVJMLnBhdGhdKTsKLQot
ICAgIHN0YXRpYyBib29sIGNhbGxiYWNrRmxhZzsKLSAgICBzdGF0aWMgYm9vbCBkb25lRmxhZzsK
LQotICAgIFtkYXRhU3RvcmUgX3NldFJlc291cmNlTG9hZFN0YXRpc3RpY3NUZXN0aW5nQ2FsbGJh
Y2s6XihXS1dlYnNpdGVEYXRhU3RvcmUgKiwgTlNTdHJpbmcgKm1lc3NhZ2UpIHsKLSAgICAgICAg
Ly8gT25seSBpZiB0aGUgZGF0YWJhc2Ugc3RvcmUgaXMgbm90IGRlZmF1bHQtZW5hYmxlZCBkbyB3
ZSBuZWVkIHRvIGNoZWNrIHRoYXQgdGhpcyBmaXJzdCBtZXNzYWdlIGlzIGNvcnJlY3QuCi0gICAg
ICAgIGlmICghaXNJVFBEYXRhYmFzZUVuYWJsZWQoKSkKLSAgICAgICAgICAgIEFTU0VSVF9UUlVF
KFttZXNzYWdlIGlzRXF1YWxUb1N0cmluZzpAIlBvcHVsYXRlZFdpdGhvdXRHcmFuZGZhdGhlcmlu
ZyJdKTsKLSAgICAgICAgY2FsbGJhY2tGbGFnID0gdHJ1ZTsKLSAgICB9XTsKLQotICAgIC8vIFdl
IG5lZWQgYW4gYWN0aXZlIE5ldHdvcmtQcm9jZXNzIHRvIHBlcmZvcm0gUmVzb3VyY2VMb2FkU3Rh
dGlzdGljcyBvcGVyYXRpb25zLgotICAgIGF1dG8gd2ViVmlldyA9IGFkb3B0TlMoW1tXS1dlYlZp
ZXcgYWxsb2NdIGluaXRXaXRoRnJhbWU6TlNNYWtlUmVjdCgwLCAwLCA4MDAsIDYwMCldKTsKLSAg
ICBbZGF0YVN0b3JlIF9zZXRSZXNvdXJjZUxvYWRTdGF0aXN0aWNzRW5hYmxlZDpZRVNdOwotICAg
IFt3ZWJWaWV3IGxvYWRSZXF1ZXN0OltOU1VSTFJlcXVlc3QgcmVxdWVzdFdpdGhVUkw6W05TVVJM
IFVSTFdpdGhTdHJpbmc6QCJhYm91dDpibGFuayJdXV07Ci0KLSAgICBpZiAoaXNJVFBEYXRhYmFz
ZUVuYWJsZWQoKSkgewotICAgICAgICBUZXN0V2ViS2l0QVBJOjpVdGlsOjpydW4oJmNhbGxiYWNr
RmxhZyk7Ci0KLSAgICAgICAgLy8gU2luY2UgdGhlIGRhdGFiYXNlIHN0b3JlIGlzIGVuYWJsZWQs
IHdlIG5lZWQgdG8gZGlzYWJsZSBpdCB0byB0ZXN0IHRoaXMgZnVuY3Rpb25hbGl0eSB3aXRoIHRo
ZSBwbGlzdC4KLSAgICAgICAgLy8gV2UgYWxyZWFkeSBoYXZlIGEgTmV0d29ya1Byb2Nlc3MgdXAg
YW5kIHJ1bm5pbmcgd2l0aCBJVFAgZW5hYmxlZC4gV2Ugbm93IG1ha2UgYW5vdGhlciBjYWxsIGlu
aXRpYWxpemluZwotICAgICAgICAvLyB0aGUgbWVtb3J5IHN0b3JlIGFuZCB0ZXN0aW5nIGdyYW5k
ZmF0aGVyaW5nLgotICAgICAgICBjYWxsYmFja0ZsYWcgPSBmYWxzZTsKLSAgICAgICAgW2RhdGFT
dG9yZSBfc2V0UmVzb3VyY2VMb2FkU3RhdGlzdGljc1Rlc3RpbmdDYWxsYmFjazpeKFdLV2Vic2l0
ZURhdGFTdG9yZSAqLCBOU1N0cmluZyAqbWVzc2FnZSkgewotICAgICAgICAgICAgQVNTRVJUX1RS
VUUoW21lc3NhZ2UgaXNFcXVhbFRvU3RyaW5nOkAiUG9wdWxhdGVkV2l0aG91dEdyYW5kZmF0aGVy
aW5nIl0pOwotICAgICAgICAgICAgY2FsbGJhY2tGbGFnID0gdHJ1ZTsKLSAgICAgICAgfV07Ci0K
LSAgICAgICAgLy8gU2luY2UgdGhlIElUUCBEYXRhYmFzZSBpcyBlbmFibGVkLCB0aGUgcGxpc3Qg
ZmlsZSBoYXMgYmVlbiBkZWxldGVkLiBXZSBuZWVkIHRvIGNyZWF0ZSBpdCBhZ2Fpbi4KLSAgICAg
ICAgW1tOU0ZpbGVNYW5hZ2VyIGRlZmF1bHRNYW5hZ2VyXSBjcmVhdGVEaXJlY3RvcnlBdFVSTDpz
dGF0aXN0aWNzRGlyZWN0b3J5VVJMIHdpdGhJbnRlcm1lZGlhdGVEaXJlY3RvcmllczpZRVMgYXR0
cmlidXRlczpuaWwgZXJyb3I6bmlsXTsKLSAgICAgICAgW1tOU0ZpbGVNYW5hZ2VyIGRlZmF1bHRN
YW5hZ2VyXSBjb3B5SXRlbUF0VVJMOnRlc3RSZXNvdXJjZVVSTCB0b1VSTDp0YXJnZXRVUkwgZXJy
b3I6bmlsXTsKLSAgICAgICAgRVhQRUNUX1RSVUUoW1tOU0ZpbGVNYW5hZ2VyIGRlZmF1bHRNYW5h
Z2VyXSBmaWxlRXhpc3RzQXRQYXRoOnRhcmdldFVSTC5wYXRoXSk7Ci0KLSAgICAgICAgW2RhdGFT
dG9yZSBfc2V0VXNlSVRQRGF0YWJhc2U6ZmFsc2UgY29tcGxldGlvbkhhbmRsZXI6IF4odm9pZCkg
ewotICAgICAgICAgICAgZG9uZUZsYWcgPSB0cnVlOwotICAgICAgICB9XTsKLQotICAgICAgICBU
ZXN0V2ViS2l0QVBJOjpVdGlsOjpydW4oJmRvbmVGbGFnKTsKLSAgICB9Ci0KLSAgICBUZXN0V2Vi
S2l0QVBJOjpVdGlsOjpydW4oJmNhbGxiYWNrRmxhZyk7Ci19Ci0KIFRFU1QoUmVzb3VyY2VMb2Fk
U3RhdGlzdGljcywgU2hvdWxkTm90R3JhbmRmYXRoZXJPblN0YXJ0dXBEYXRhYmFzZSkKIHsKICAg
ICBhdXRvICpkYXRhU3RvcmUgPSBbV0tXZWJzaXRlRGF0YVN0b3JlIGRlZmF1bHREYXRhU3RvcmVd
OwogCiAgICAgZW5zdXJlSVRQRmlsZUlzQ3JlYXRlZCgpOwogCi0gICAgc3RhdGljIGJvb2wgY2Fs
bGJhY2tGbGFnOwotICAgIHN0YXRpYyBib29sIGRvbmVGbGFnOworICAgIF9fYmxvY2sgYm9vbCBj
YWxsYmFja0ZsYWcgPSBmYWxzZTsKIAogICAgIFtkYXRhU3RvcmUgX3NldFJlc291cmNlTG9hZFN0
YXRpc3RpY3NUZXN0aW5nQ2FsbGJhY2s6XihXS1dlYnNpdGVEYXRhU3RvcmUgKiwgTlNTdHJpbmcg
Km1lc3NhZ2UpIHsKLSAgICAgICAgLy8gT25seSBpZiB0aGUgZGF0YWJhc2Ugc3RvcmUgaXMgZGVm
YXVsdC1lbmFibGVkIGRvIHdlIG5lZWQgdG8gY2hlY2sgdGhhdCB0aGlzIGZpcnN0IG1lc3NhZ2Ug
aXMgY29ycmVjdC4KLSAgICAgICAgaWYgKGlzSVRQRGF0YWJhc2VFbmFibGVkKCkpCi0gICAgICAg
ICAgICBBU1NFUlRfVFJVRShbbWVzc2FnZSBpc0VxdWFsVG9TdHJpbmc6QCJQb3B1bGF0ZWRXaXRo
b3V0R3JhbmRmYXRoZXJpbmciXSk7CisgICAgICAgIEFTU0VSVF9UUlVFKFttZXNzYWdlIGlzRXF1
YWxUb1N0cmluZzpAIlBvcHVsYXRlZFdpdGhvdXRHcmFuZGZhdGhlcmluZyJdKTsKICAgICAgICAg
Y2FsbGJhY2tGbGFnID0gdHJ1ZTsKICAgICB9XTsKIApAQCAtMzM2LDk1ICsxNTIsOSBAQCBURVNU
KFJlc291cmNlTG9hZFN0YXRpc3RpY3MsIFNob3VsZE5vdEdyYW5kZmF0aGVyT25TdGFydHVwRGF0
YWJhc2UpCiAgICAgW2RhdGFTdG9yZSBfc2V0UmVzb3VyY2VMb2FkU3RhdGlzdGljc0VuYWJsZWQ6
WUVTXTsKICAgICBbd2ViVmlldyBsb2FkUmVxdWVzdDpbTlNVUkxSZXF1ZXN0IHJlcXVlc3RXaXRo
VVJMOltOU1VSTCBVUkxXaXRoU3RyaW5nOkAiYWJvdXQ6YmxhbmsiXV1dOwogCi0gICAgaWYgKCFp
c0lUUERhdGFiYXNlRW5hYmxlZCgpKSB7Ci0gICAgICAgIFRlc3RXZWJLaXRBUEk6OlV0aWw6OnJ1
bigmY2FsbGJhY2tGbGFnKTsKLQotICAgICAgICAvLyBTaW5jZSB0aGUgZGF0YWJhc2Ugc3RvcmUg
aXMgbm90IGVuYWJsZWQsIHdlIG5lZWQgdG8gdXBkYXRlIHRoZSBzdG9yZSB0byB1c2UgYSBkYXRh
YmFzZSBpbnN0ZWFkIG9mIGEgcGxpc3QgZm9yIHRoaXMgdGVzdC4KLSAgICAgICAgLy8gV2UgYWxy
ZWFkeSBoYXZlIGEgTmV0d29ya1Byb2Nlc3MgdXAgYW5kIHJ1bm5pbmcgd2l0aCBJVFAgZW5hYmxl
ZC4gV2Ugbm93IG1ha2UgYW5vdGhlciBjYWxsIGluaXRpYWxpemluZwotICAgICAgICAvLyB0aGUg
ZGF0YWJhc2Ugc3RvcmUgYW5kIHRlc3RpbmcgZ3JhbmRmYXRoZXJpbmcuCi0gICAgICAgIGNhbGxi
YWNrRmxhZyA9IGZhbHNlOwotICAgICAgICBbZGF0YVN0b3JlIF9zZXRSZXNvdXJjZUxvYWRTdGF0
aXN0aWNzVGVzdGluZ0NhbGxiYWNrOl4oV0tXZWJzaXRlRGF0YVN0b3JlICosIE5TU3RyaW5nICpt
ZXNzYWdlKSB7Ci0gICAgICAgICAgICBBU1NFUlRfVFJVRShbbWVzc2FnZSBpc0VxdWFsVG9TdHJp
bmc6QCJQb3B1bGF0ZWRXaXRob3V0R3JhbmRmYXRoZXJpbmciXSk7Ci0gICAgICAgICAgICBjYWxs
YmFja0ZsYWcgPSB0cnVlOwotICAgICAgICB9XTsKLQotICAgICAgICBlbnN1cmVJVFBGaWxlSXND
cmVhdGVkKCk7Ci0KLSAgICAgICAgW2RhdGFTdG9yZSBfc2V0VXNlSVRQRGF0YWJhc2U6dHJ1ZSBj
b21wbGV0aW9uSGFuZGxlcjogXih2b2lkKSB7Ci0gICAgICAgICAgICBkb25lRmxhZyA9IHRydWU7
Ci0gICAgICAgIH1dOwotCi0gICAgICAgIFRlc3RXZWJLaXRBUEk6OlV0aWw6OnJ1bigmZG9uZUZs
YWcpOwotICAgIH0KLQogICAgIFRlc3RXZWJLaXRBUEk6OlV0aWw6OnJ1bigmY2FsbGJhY2tGbGFn
KTsKIH0KIAotVEVTVChSZXNvdXJjZUxvYWRTdGF0aXN0aWNzLCBDaGlsZFByb2Nlc3Nlc05vdExh
dW5jaGVkKQotewotICAgIC8vIEVuc3VyZSB0aGUgc2hhcmVkIHByb2Nlc3MgcG9vbCBleGlzdHMg
c28gdGhlIGRhdGEgc3RvcmUgb3BlcmF0aW9ucyB3ZSdyZSBhYm91dCB0byBkbyB3b3JrIHdpdGgg
aXQuCi0gICAgV0tQcm9jZXNzUG9vbCAqc2hhcmVkUHJvY2Vzc1Bvb2wgPSBbV0tQcm9jZXNzUG9v
bCBfc2hhcmVkUHJvY2Vzc1Bvb2xdOwotCi0gICAgRVhQRUNUX0VRKChzaXplX3QpMCwgW3NoYXJl
ZFByb2Nlc3NQb29sIF9wbHVnaW5Qcm9jZXNzQ291bnRdKTsKLQotICAgIGF1dG8gKmRhdGFTdG9y
ZSA9IFtXS1dlYnNpdGVEYXRhU3RvcmUgZGVmYXVsdERhdGFTdG9yZV07Ci0KLSAgICBOU1VSTCAq
c3RhdGlzdGljc0RpcmVjdG9yeVVSTCA9IFtOU1VSTCBmaWxlVVJMV2l0aFBhdGg6W0Aifi9MaWJy
YXJ5L1dlYktpdC9jb20uYXBwbGUuV2ViS2l0LlRlc3RXZWJLaXRBUEkvV2Vic2l0ZURhdGEvUmVz
b3VyY2VMb2FkU3RhdGlzdGljcyIgc3RyaW5nQnlFeHBhbmRpbmdUaWxkZUluUGF0aF0gaXNEaXJl
Y3Rvcnk6WUVTXTsKLSAgICBOU1VSTCAqdGFyZ2V0VVJMID0gW3N0YXRpc3RpY3NEaXJlY3RvcnlV
UkwgVVJMQnlBcHBlbmRpbmdQYXRoQ29tcG9uZW50OkAiZnVsbF9icm93c2luZ19zZXNzaW9uX3Jl
c291cmNlTG9nLnBsaXN0Il07Ci0gICAgTlNVUkwgKnRlc3RSZXNvdXJjZVVSTCA9IFtbTlNCdW5k
bGUgbWFpbkJ1bmRsZV0gVVJMRm9yUmVzb3VyY2U6QCJFbXB0eUdyYW5kZmF0aGVyZWRSZXNvdXJj
ZUxvYWRTdGF0aXN0aWNzIiB3aXRoRXh0ZW5zaW9uOkAicGxpc3QiIHN1YmRpcmVjdG9yeTpAIlRl
c3RXZWJLaXRBUEkucmVzb3VyY2VzIl07Ci0KLSAgICBbW05TRmlsZU1hbmFnZXIgZGVmYXVsdE1h
bmFnZXJdIGNyZWF0ZURpcmVjdG9yeUF0VVJMOnN0YXRpc3RpY3NEaXJlY3RvcnlVUkwgd2l0aElu
dGVybWVkaWF0ZURpcmVjdG9yaWVzOllFUyBhdHRyaWJ1dGVzOm5pbCBlcnJvcjpuaWxdOwotICAg
IFtbTlNGaWxlTWFuYWdlciBkZWZhdWx0TWFuYWdlcl0gY29weUl0ZW1BdFVSTDp0ZXN0UmVzb3Vy
Y2VVUkwgdG9VUkw6dGFyZ2V0VVJMIGVycm9yOm5pbF07Ci0gICAgCi0gICAgRVhQRUNUX1RSVUUo
W1tOU0ZpbGVNYW5hZ2VyIGRlZmF1bHRNYW5hZ2VyXSBmaWxlRXhpc3RzQXRQYXRoOnRhcmdldFVS
TC5wYXRoXSk7Ci0KLSAgICBzdGF0aWMgYm9vbCBjYWxsYmFja0ZsYWc7Ci0gICAgc3RhdGljIGJv
b2wgZG9uZUZsYWc7Ci0gICAgW2RhdGFTdG9yZSBfc2V0UmVzb3VyY2VMb2FkU3RhdGlzdGljc1Rl
c3RpbmdDYWxsYmFjazpeKFdLV2Vic2l0ZURhdGFTdG9yZSAqLCBOU1N0cmluZyAqbWVzc2FnZSkg
ewotICAgICAgICAvLyBPbmx5IGlmIHRoZSBkYXRhYmFzZSBzdG9yZSBpcyBub3QgZGVmYXVsdC1l
bmFibGVkIGRvIHdlIG5lZWQgdG8gY2hlY2sgdGhhdCB0aGlzIGZpcnN0IG1lc3NhZ2UgaXMgY29y
cmVjdC4KLSAgICAgICAgaWYgKCFpc0lUUERhdGFiYXNlRW5hYmxlZCgpKQotICAgICAgICAgICAg
RVhQRUNUX1RSVUUoW21lc3NhZ2UgaXNFcXVhbFRvU3RyaW5nOkAiUG9wdWxhdGVkV2l0aG91dEdy
YW5kZmF0aGVyaW5nIl0pOwotICAgICAgICBjYWxsYmFja0ZsYWcgPSB0cnVlOwotICAgIH1dOwot
Ci0gICAgLy8gV2UgbmVlZCBhbiBhY3RpdmUgTmV0d29ya1Byb2Nlc3MgdG8gcGVyZm9ybSBSZXNv
dXJjZUxvYWRTdGF0aXN0aWNzIG9wZXJhdGlvbnMuCi0gICAgYXV0byB3ZWJWaWV3ID0gYWRvcHRO
UyhbW1dLV2ViVmlldyBhbGxvY10gaW5pdFdpdGhGcmFtZTpOU01ha2VSZWN0KDAsIDAsIDgwMCwg
NjAwKV0pOwotICAgIFtkYXRhU3RvcmUgX3NldFJlc291cmNlTG9hZFN0YXRpc3RpY3NFbmFibGVk
OllFU107Ci0gICAgW3dlYlZpZXcgbG9hZFJlcXVlc3Q6W05TVVJMUmVxdWVzdCByZXF1ZXN0V2l0
aFVSTDpbTlNVUkwgVVJMV2l0aFN0cmluZzpAImFib3V0OmJsYW5rIl1dXTsKLQotICAgIGlmIChp
c0lUUERhdGFiYXNlRW5hYmxlZCgpKSB7Ci0gICAgICAgIFRlc3RXZWJLaXRBUEk6OlV0aWw6OnJ1
bigmY2FsbGJhY2tGbGFnKTsKLQotICAgICAgICAvLyBTaW5jZSB0aGUgZGF0YWJhc2Ugc3RvcmUg
aXMgZW5hYmxlZCwgd2UgbmVlZCB0byBkaXNhYmxlIGl0IHRvIHRlc3QgdGhpcyBmdW5jdGlvbmFs
aXR5IHdpdGggdGhlIHBsaXN0LgotICAgICAgICAvLyBXZSBhbHJlYWR5IGhhdmUgYSBOZXR3b3Jr
UHJvY2VzcyB1cCBhbmQgcnVubmluZyB3aXRoIElUUCBlbmFibGVkLiBXZSBub3cgbWFrZSBhbm90
aGVyIGNhbGwgaW5pdGlhbGl6aW5nCi0gICAgICAgIC8vIHRoZSBtZW1vcnkgc3RvcmUgYW5kIHRl
c3RpbmcgZ3JhbmRmYXRoZXJpbmcuCi0gICAgICAgIGNhbGxiYWNrRmxhZyA9IGZhbHNlOwotICAg
ICAgICBbZGF0YVN0b3JlIF9zZXRSZXNvdXJjZUxvYWRTdGF0aXN0aWNzVGVzdGluZ0NhbGxiYWNr
Ol4oV0tXZWJzaXRlRGF0YVN0b3JlICosIE5TU3RyaW5nICptZXNzYWdlKSB7Ci0gICAgICAgICAg
ICBBU1NFUlRfVFJVRShbbWVzc2FnZSBpc0VxdWFsVG9TdHJpbmc6QCJQb3B1bGF0ZWRXaXRob3V0
R3JhbmRmYXRoZXJpbmciXSk7Ci0gICAgICAgICAgICBjYWxsYmFja0ZsYWcgPSB0cnVlOwotICAg
ICAgICB9XTsKLQotICAgICAgICAvLyBTaW5jZSB0aGUgSVRQIERhdGFiYXNlIGlzIGVuYWJsZWQs
IHRoZSBwbGlzdCBmaWxlIGhhcyBiZWVuIGRlbGV0ZWQuIFdlIG5lZWQgdG8gY3JlYXRlIGl0IGFn
YWluLgotICAgICAgICBbW05TRmlsZU1hbmFnZXIgZGVmYXVsdE1hbmFnZXJdIGNyZWF0ZURpcmVj
dG9yeUF0VVJMOnN0YXRpc3RpY3NEaXJlY3RvcnlVUkwgd2l0aEludGVybWVkaWF0ZURpcmVjdG9y
aWVzOllFUyBhdHRyaWJ1dGVzOm5pbCBlcnJvcjpuaWxdOwotICAgICAgICBbW05TRmlsZU1hbmFn
ZXIgZGVmYXVsdE1hbmFnZXJdIGNvcHlJdGVtQXRVUkw6dGVzdFJlc291cmNlVVJMIHRvVVJMOnRh
cmdldFVSTCBlcnJvcjpuaWxdOwotICAgICAgICBFWFBFQ1RfVFJVRShbW05TRmlsZU1hbmFnZXIg
ZGVmYXVsdE1hbmFnZXJdIGZpbGVFeGlzdHNBdFBhdGg6dGFyZ2V0VVJMLnBhdGhdKTsKLQotICAg
ICAgICBbZGF0YVN0b3JlIF9zZXRVc2VJVFBEYXRhYmFzZTpmYWxzZSBjb21wbGV0aW9uSGFuZGxl
cjogXih2b2lkKSB7Ci0gICAgICAgICAgICBkb25lRmxhZyA9IHRydWU7Ci0gICAgICAgIH1dOwot
Ci0gICAgICAgIFRlc3RXZWJLaXRBUEk6OlV0aWw6OnJ1bigmZG9uZUZsYWcpOwotICAgIH0KLQot
ICAgIFRlc3RXZWJLaXRBUEk6OlV0aWw6OnJ1bigmY2FsbGJhY2tGbGFnKTsKLQotICAgIEVYUEVD
VF9UUlVFKFtbTlNGaWxlTWFuYWdlciBkZWZhdWx0TWFuYWdlcl0gZmlsZUV4aXN0c0F0UGF0aDp0
YXJnZXRVUkwucGF0aF0pOwotCi0gICAgd2ViVmlldy5jbGVhcigpOwotCi0gICAgRVhQRUNUX0VR
KChzaXplX3QpMCwgW3NoYXJlZFByb2Nlc3NQb29sIF9wbHVnaW5Qcm9jZXNzQ291bnRdKTsKLX0K
LQogVEVTVChSZXNvdXJjZUxvYWRTdGF0aXN0aWNzLCBDaGlsZFByb2Nlc3Nlc05vdExhdW5jaGVk
RGF0YWJhc2UpCiB7CiAgICAgLy8gRW5zdXJlIHRoZSBzaGFyZWQgcHJvY2VzcyBwb29sIGV4aXN0
cyBzbyB0aGUgZGF0YSBzdG9yZSBvcGVyYXRpb25zIHdlJ3JlIGFib3V0IHRvIGRvIHdvcmsgd2l0
aCBpdC4KQEAgLTQzOSwxMyArMTY5LDExIEBAIFRFU1QoUmVzb3VyY2VMb2FkU3RhdGlzdGljcywg
Q2hpbGRQcm9jZXNzZXNOb3RMYXVuY2hlZERhdGFiYXNlKQogCiAgICAgZW5zdXJlSVRQRmlsZUlz
Q3JlYXRlZCgpOwogCi0gICAgc3RhdGljIGJvb2wgY2FsbGJhY2tGbGFnOwotICAgIHN0YXRpYyBi
b29sIGRvbmVGbGFnOworICAgIF9fYmxvY2sgYm9vbCBjYWxsYmFja0ZsYWcgPSBmYWxzZTsKIAog
ICAgIFtkYXRhU3RvcmUgX3NldFJlc291cmNlTG9hZFN0YXRpc3RpY3NUZXN0aW5nQ2FsbGJhY2s6
XihXS1dlYnNpdGVEYXRhU3RvcmUgKiwgTlNTdHJpbmcgKm1lc3NhZ2UpIHsKICAgICAgICAgLy8g
T25seSBpZiB0aGUgZGF0YWJhc2Ugc3RvcmUgaXMgZGVmYXVsdC1lbmFibGVkIGRvIHdlIG5lZWQg
dG8gY2hlY2sgdGhhdCB0aGlzIGZpcnN0IG1lc3NhZ2UgaXMgY29ycmVjdC4KLSAgICAgICAgaWYg
KGlzSVRQRGF0YWJhc2VFbmFibGVkKCkpCi0gICAgICAgICAgICBFWFBFQ1RfVFJVRShbbWVzc2Fn
ZSBpc0VxdWFsVG9TdHJpbmc6QCJQb3B1bGF0ZWRXaXRob3V0R3JhbmRmYXRoZXJpbmciXSk7Cisg
ICAgICAgIEVYUEVDVF9UUlVFKFttZXNzYWdlIGlzRXF1YWxUb1N0cmluZzpAIlBvcHVsYXRlZFdp
dGhvdXRHcmFuZGZhdGhlcmluZyJdKTsKICAgICAgICAgY2FsbGJhY2tGbGFnID0gdHJ1ZTsKICAg
ICB9XTsKIApAQCAtNDU0LDI3ICsxODIsNiBAQCBURVNUKFJlc291cmNlTG9hZFN0YXRpc3RpY3Ms
IENoaWxkUHJvY2Vzc2VzTm90TGF1bmNoZWREYXRhYmFzZSkKICAgICBbZGF0YVN0b3JlIF9zZXRS
ZXNvdXJjZUxvYWRTdGF0aXN0aWNzRW5hYmxlZDpZRVNdOwogICAgIFt3ZWJWaWV3IGxvYWRSZXF1
ZXN0OltOU1VSTFJlcXVlc3QgcmVxdWVzdFdpdGhVUkw6W05TVVJMIFVSTFdpdGhTdHJpbmc6QCJh
Ym91dDpibGFuayJdXV07CiAKLSAgICBpZiAoIWlzSVRQRGF0YWJhc2VFbmFibGVkKCkpIHsKLSAg
ICAgICAgVGVzdFdlYktpdEFQSTo6VXRpbDo6cnVuKCZjYWxsYmFja0ZsYWcpOwotCi0gICAgICAg
IC8vIFNpbmNlIHRoZSBkYXRhYmFzZSBzdG9yZSBpcyBub3QgZW5hYmxlZCwgd2UgbmVlZCB0byB1
cGRhdGUgdGhlIHN0b3JlIHRvIHVzZSBhIGRhdGFiYXNlIGluc3RlYWQgb2YgYSBwbGlzdCBmb3Ig
dGhpcyB0ZXN0LgotICAgICAgICAvLyBXZSBhbHJlYWR5IGhhdmUgYSBOZXR3b3JrUHJvY2VzcyB1
cCBhbmQgcnVubmluZyB3aXRoIElUUCBlbmFibGVkLiBXZSBub3cgbWFrZSBhbm90aGVyIGNhbGwg
aW5pdGlhbGl6aW5nCi0gICAgICAgIC8vIHRoZSBkYXRhYmFzZSBzdG9yZSBhbmQgdGVzdGluZyBn
cmFuZGZhdGhlcmluZy4KLSAgICAgICAgY2FsbGJhY2tGbGFnID0gZmFsc2U7Ci0gICAgICAgIFtk
YXRhU3RvcmUgX3NldFJlc291cmNlTG9hZFN0YXRpc3RpY3NUZXN0aW5nQ2FsbGJhY2s6XihXS1dl
YnNpdGVEYXRhU3RvcmUgKiwgTlNTdHJpbmcgKm1lc3NhZ2UpIHsKLSAgICAgICAgICAgIEFTU0VS
VF9UUlVFKFttZXNzYWdlIGlzRXF1YWxUb1N0cmluZzpAIlBvcHVsYXRlZFdpdGhvdXRHcmFuZGZh
dGhlcmluZyJdKTsKLSAgICAgICAgICAgIGNhbGxiYWNrRmxhZyA9IHRydWU7Ci0gICAgICAgIH1d
OwotCi0gICAgICAgIGVuc3VyZUlUUEZpbGVJc0NyZWF0ZWQoKTsKLQotICAgICAgICBbZGF0YVN0
b3JlIF9zZXRVc2VJVFBEYXRhYmFzZTp0cnVlIGNvbXBsZXRpb25IYW5kbGVyOiBeKHZvaWQpIHsK
LSAgICAgICAgICAgIGRvbmVGbGFnID0gdHJ1ZTsKLSAgICAgICAgfV07Ci0KLSAgICAgICAgVGVz
dFdlYktpdEFQSTo6VXRpbDo6cnVuKCZkb25lRmxhZyk7Ci0gICAgfQotCiAgICAgVGVzdFdlYktp
dEFQSTo6VXRpbDo6cnVuKCZjYWxsYmFja0ZsYWcpOwogCiAgICAgRVhQRUNUX1RSVUUoW1tOU0Zp
bGVNYW5hZ2VyIGRlZmF1bHRNYW5hZ2VyXSBmaWxlRXhpc3RzQXRQYXRoOnRhcmdldFVSTC5wYXRo
XSk7CkBAIC05NjksMTQgKzY3Niw3IEBAIFRFU1QoUmVzb3VyY2VMb2FkU3RhdGlzdGljcywgR2V0
UmVzb3VyY2VMb2FkU3RhdGlzdGljc0RhdGFTdW1tYXJ5KQogCiAgICAgW2RhdGFTdG9yZSBfc2V0
UmVzb3VyY2VMb2FkU3RhdGlzdGljc0VuYWJsZWQ6WUVTXTsKIAotICAgIHN0YXRpYyBib29sIGRv
bmVGbGFnID0gZmFsc2U7Ci0gICAgW2RhdGFTdG9yZSBfc2V0VXNlSVRQRGF0YWJhc2U6ZmFsc2Ug
Y29tcGxldGlvbkhhbmRsZXI6IF4odm9pZCkgewotICAgICAgICBkb25lRmxhZyA9IHRydWU7Ci0g
ICAgfV07Ci0KLSAgICBUZXN0V2ViS2l0QVBJOjpVdGlsOjpydW4oJmRvbmVGbGFnKTsKLQotICAg
IGRvbmVGbGFnID0gZmFsc2U7CisgICAgX19ibG9jayBib29sIGRvbmVGbGFnID0gZmFsc2U7CiAg
ICAgW2RhdGFTdG9yZSBfY2xlYXJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzOl4odm9pZCkgewogICAg
ICAgICBkb25lRmxhZyA9IHRydWU7CiAgICAgfV07CkBAIC0xMTc5LDE0ICs4NzksNyBAQCBURVNU
KFJlc291cmNlTG9hZFN0YXRpc3RpY3MsIEdldFJlc291cmNlTG9hZFN0YXRpc3RpY3NEYXRhU3Vt
bWFyeURhdGFiYXNlKQogCiAgICAgW2RhdGFTdG9yZSBfc2V0UmVzb3VyY2VMb2FkU3RhdGlzdGlj
c0VuYWJsZWQ6WUVTXTsKIAotICAgIHN0YXRpYyBib29sIGRvbmVGbGFnID0gZmFsc2U7Ci0gICAg
W2RhdGFTdG9yZSBfc2V0VXNlSVRQRGF0YWJhc2U6dHJ1ZSBjb21wbGV0aW9uSGFuZGxlcjogXih2
b2lkKSB7Ci0gICAgICAgIGRvbmVGbGFnID0gdHJ1ZTsKLSAgICB9XTsKLQotICAgIFRlc3RXZWJL
aXRBUEk6OlV0aWw6OnJ1bigmZG9uZUZsYWcpOwotICAgIAotICAgIGRvbmVGbGFnID0gZmFsc2U7
CisgICAgX19ibG9jayBib29sIGRvbmVGbGFnID0gZmFsc2U7CiAgICAgW2RhdGFTdG9yZSBfc2V0
VGhpcmRQYXJ0eUNvb2tpZUJsb2NraW5nTW9kZTp0cnVlIG9ubHlPblNpdGVzV2l0aG91dFVzZXJJ
bnRlcmFjdGlvbjpmYWxzZSBjb21wbGV0aW9uSGFuZGxlcjogXih2b2lkKSB7CiAgICAgICAgIGRv
bmVGbGFnID0gdHJ1ZTsKICAgICB9XTsKQEAgLTE0NDAsMTUgKzExMzMsOCBAQCBURVNUKFJlc291
cmNlTG9hZFN0YXRpc3RpY3MsIE1pZ3JhdGVEYXRhRnJvbUluY29ycmVjdENyZWF0ZVRhYmxlU2No
ZW1hKQogICAgIFtkYXRhU3RvcmUgX3NldFJlc291cmNlTG9hZFN0YXRpc3RpY3NFbmFibGVkOllF
U107CiAgICAgW3dlYlZpZXcgbG9hZFJlcXVlc3Q6W05TVVJMUmVxdWVzdCByZXF1ZXN0V2l0aFVS
TDpbTlNVUkwgVVJMV2l0aFN0cmluZzpAImFib3V0OmJsYW5rIl1dXTsKIAotICAgIHN0YXRpYyBi
b29sIGRvbmVGbGFnOwotICAgIFtkYXRhU3RvcmUgX3NldFVzZUlUUERhdGFiYXNlOnRydWUgY29t
cGxldGlvbkhhbmRsZXI6IF4odm9pZCkgewotICAgICAgICBkb25lRmxhZyA9IHRydWU7Ci0gICAg
fV07Ci0gICAgCi0gICAgVGVzdFdlYktpdEFQSTo6VXRpbDo6cnVuKCZkb25lRmxhZyk7Ci0gICAg
CisgICAgX19ibG9jayBib29sIGRvbmVGbGFnID0gZmFsc2U7CiAgICAgLy8gQ2hlY2sgdGhhdCB0
aGUgcHJlLXNlZWRlZCBkYXRhIGlzIGluIHRoZSBuZXcgZGF0YWJhc2UgYWZ0ZXIgbWlncmF0aW5n
LgotICAgIGRvbmVGbGFnID0gZmFsc2U7CiAgICAgW2RhdGFTdG9yZSBfaXNSZWdpc3RlcmVkQXNT
dWJyZXNvdXJjZVVuZGVyRmlyc3RQYXJ0eTpbTlNVUkwgVVJMV2l0aFN0cmluZzpAImh0dHA6Ly9h
cHBsZS5jb20iXSB0aGlyZFBhcnR5OltOU1VSTCBVUkxXaXRoU3RyaW5nOkAiaHR0cDovL3dlYmtp
dC5vcmciXSBjb21wbGV0aW9uSGFuZGxlcjogXihCT09MIGlzUmVnaXN0ZXJlZCkgewogICAgICAg
ICBFWFBFQ1RfVFJVRShpc1JlZ2lzdGVyZWQpOwogICAgICAgICBkb25lRmxhZyA9IHRydWU7CkBA
IC0xNTI5LDE2ICsxMjE1LDkgQEAgVEVTVChSZXNvdXJjZUxvYWRTdGF0aXN0aWNzLCBNaWdyYXRl
RGF0YUZyb21NaXNzaW5nVG9wRnJhbWVVbmlxdWVSZWRpcmVjdFNhbWVTaXQKICAgICBbZGF0YVN0
b3JlIF9zZXRSZXNvdXJjZUxvYWRTdGF0aXN0aWNzRW5hYmxlZDpZRVNdOwogICAgIFt3ZWJWaWV3
IGxvYWRSZXF1ZXN0OltOU1VSTFJlcXVlc3QgcmVxdWVzdFdpdGhVUkw6W05TVVJMIFVSTFdpdGhT
dHJpbmc6QCJhYm91dDpibGFuayJdXV07CiAKLSAgICBzdGF0aWMgYm9vbCBkb25lRmxhZzsKLSAg
ICBbZGF0YVN0b3JlIF9zZXRVc2VJVFBEYXRhYmFzZTp0cnVlIGNvbXBsZXRpb25IYW5kbGVyOiBe
KHZvaWQpIHsKLSAgICAgICAgZG9uZUZsYWcgPSB0cnVlOwotICAgIH1dOwotCi0gICAgVGVzdFdl
YktpdEFQSTo6VXRpbDo6cnVuKCZkb25lRmxhZyk7Ci0KKyAgICBfX2Jsb2NrIGJvb2wgZG9uZUZs
YWcgPSBmYWxzZTsKICAgICAvLyBTaW5jZSB0aGUgZGF0YWJhc2Ugc2hvdWxkIG5vdCBiZSBkZWxl
dGVkLCB0aGUgcHJlLXNlZWRlZCBkYXRhIHNob3VsZAogICAgIC8vIHN0aWxsIGJlIHRoZXJlIGFm
dGVyIGluaXRpYWxpemluZyBJVFAuCi0gICAgZG9uZUZsYWcgPSBmYWxzZTsKICAgICBbZGF0YVN0
b3JlIF9pc1JlZ2lzdGVyZWRBc1N1YnJlc291cmNlVW5kZXJGaXJzdFBhcnR5OltOU1VSTCBVUkxX
aXRoU3RyaW5nOkAiaHR0cDovL2FwcGxlLmNvbSJdIHRoaXJkUGFydHk6W05TVVJMIFVSTFdpdGhT
dHJpbmc6QCJodHRwOi8vd2Via2l0Lm9yZyJdIGNvbXBsZXRpb25IYW5kbGVyOiBeKEJPT0wgaXNS
ZWdpc3RlcmVkKSB7CiAgICAgICAgIEVYUEVDVF9UUlVFKGlzUmVnaXN0ZXJlZCk7CiAgICAgICAg
IGRvbmVGbGFnID0gdHJ1ZTsKQEAgLTE2MDMsMTggKzEyODIsNiBAQCBURVNUKFJlc291cmNlTG9h
ZFN0YXRpc3RpY3MsIFN0b3JlU3VzcGVuc2lvbikKICAgICBbZGF0YVN0b3JlMSBfc2V0UmVzb3Vy
Y2VMb2FkU3RhdGlzdGljc0VuYWJsZWQ6WUVTXTsKICAgICBbZGF0YVN0b3JlMiBfc2V0UmVzb3Vy
Y2VMb2FkU3RhdGlzdGljc0VuYWJsZWQ6WUVTXTsKIAotICAgIHN0YXRpYyBib29sIGRvbmVGbGFn
ID0gZmFsc2U7Ci0gICAgW2RhdGFTdG9yZTEgX3NldFVzZUlUUERhdGFiYXNlOnRydWUgY29tcGxl
dGlvbkhhbmRsZXI6IF4odm9pZCkgewotICAgICAgICBkb25lRmxhZyA9IHRydWU7Ci0gICAgfV07
Ci0gICAgVGVzdFdlYktpdEFQSTo6VXRpbDo6cnVuKCZkb25lRmxhZyk7Ci0KLSAgICBkb25lRmxh
ZyA9IGZhbHNlOwotICAgIFtkYXRhU3RvcmUyIF9zZXRVc2VJVFBEYXRhYmFzZTp0cnVlIGNvbXBs
ZXRpb25IYW5kbGVyOiBeKHZvaWQpIHsKLSAgICAgICAgZG9uZUZsYWcgPSB0cnVlOwotICAgIH1d
OwotICAgIFRlc3RXZWJLaXRBUEk6OlV0aWw6OnJ1bigmZG9uZUZsYWcpOwotCiAgICAgYXV0byBj
b25maWd1cmF0aW9uMSA9IGFkb3B0TlMoW1tXS1dlYlZpZXdDb25maWd1cmF0aW9uIGFsbG9jXSBp
bml0XSk7CiAgICAgW2NvbmZpZ3VyYXRpb24xIHNldFByb2Nlc3NQb29sOiBzaGFyZWRQcm9jZXNz
UG9vbF07CiAgICAgY29uZmlndXJhdGlvbjEuZ2V0KCkud2Vic2l0ZURhdGFTdG9yZSA9IGRhdGFT
dG9yZTE7CkBAIC0xNjMyLDcgKzEyOTksNyBAQCBURVNUKFJlc291cmNlTG9hZFN0YXRpc3RpY3Ms
IFN0b3JlU3VzcGVuc2lvbikKICAgICBbd2ViVmlldzIgbG9hZEhUTUxTdHJpbmc6QCJXZWJLaXQg
VGVzdCIgYmFzZVVSTDpbTlNVUkwgVVJMV2l0aFN0cmluZzpAImh0dHA6Ly93ZWJraXQyLm9yZyJd
XTsKICAgICBbd2ViVmlldzIgX3Rlc3Rfd2FpdEZvckRpZEZpbmlzaE5hdmlnYXRpb25dOwogCi0g
ICAgZG9uZUZsYWcgPSBmYWxzZTsKKyAgICBfX2Jsb2NrIGJvb2wgZG9uZUZsYWcgPSBmYWxzZTsK
ICAgICBbc2hhcmVkUHJvY2Vzc1Bvb2wgX3NlbmROZXR3b3JrUHJvY2Vzc1ByZXBhcmVUb1N1c3Bl
bmQ6XnsKICAgICAgICAgZG9uZUZsYWcgPSB0cnVlOwogICAgIH1dOwpkaWZmIC0tZ2l0IGEvVG9v
bHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9CaW5kaW5ncy9UZXN0UnVubmVyLmlk
bCBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvQmluZGluZ3MvVGVzdFJ1
bm5lci5pZGwKaW5kZXggZmJlZjM5NmY1ZjZmM2JmZjRmOTljOGE1NmE2ZTYyYWMwMTQwZmZhNC4u
NDU5YTE5NDAwMDE1MGY5N2I3NTAzMTJkNTJmMTE1MWJlYWVjZDMxMCAxMDA2NDQKLS0tIGEvVG9v
bHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9CaW5kaW5ncy9UZXN0UnVubmVyLmlk
bAorKysgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL0JpbmRpbmdzL1Rl
c3RSdW5uZXIuaWRsCkBAIC0zMTcsNyArMzE3LDYgQEAgaW50ZXJmYWNlIFRlc3RSdW5uZXIgewog
ICAgIGJvb2xlYW4gaXNTdGF0aXN0aWNzT25seUluRGF0YWJhc2VPbmNlKERPTVN0cmluZyBzdWJI
b3N0LCBET01TdHJpbmcgdG9wSG9zdCk7CiAgICAgdW5kZWZpbmVkIHNldFN0YXRpc3RpY3NHcmFu
ZGZhdGhlcmVkKERPTVN0cmluZyBob3N0TmFtZSwgYm9vbGVhbiB2YWx1ZSk7CiAgICAgYm9vbGVh
biBpc1N0YXRpc3RpY3NHcmFuZGZhdGhlcmVkKERPTVN0cmluZyBob3N0TmFtZSk7Ci0gICAgdW5k
ZWZpbmVkIHNldFVzZUlUUERhdGFiYXNlKGJvb2xlYW4gdmFsdWUpOwogICAgIHVuZGVmaW5lZCBz
ZXRTdGF0aXN0aWNzU3ViZnJhbWVVbmRlclRvcEZyYW1lT3JpZ2luKERPTVN0cmluZyBob3N0TmFt
ZSwgRE9NU3RyaW5nIHRvcEZyYW1lSG9zdE5hbWUpOwogICAgIHVuZGVmaW5lZCBzZXRTdGF0aXN0
aWNzU3VicmVzb3VyY2VVbmRlclRvcEZyYW1lT3JpZ2luKERPTVN0cmluZyBob3N0TmFtZSwgRE9N
U3RyaW5nIHRvcEZyYW1lSG9zdE5hbWUpOwogICAgIHVuZGVmaW5lZCBzZXRTdGF0aXN0aWNzU3Vi
cmVzb3VyY2VVbmlxdWVSZWRpcmVjdFRvKERPTVN0cmluZyBob3N0TmFtZSwgRE9NU3RyaW5nIGhv
c3ROYW1lUmVkaXJlY3RlZFRvKTsKZGlmZiAtLWdpdCBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIv
SW5qZWN0ZWRCdW5kbGUvVGVzdFJ1bm5lci5jcHAgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0lu
amVjdGVkQnVuZGxlL1Rlc3RSdW5uZXIuY3BwCmluZGV4IGE2MjU1ODk3MjdiYzcxYjc0MWVjZjI1
NjUxNTIxZWZiNGY0OTk3ZjMuLmFiYTI4ZjRjZWRiZWZhZGI0NTg3ZmE3NTEwNzc1NWQyZWM3OTU3
ZTIgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvVGVz
dFJ1bm5lci5jcHAKKysrIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9U
ZXN0UnVubmVyLmNwcApAQCAtMTkxOCwxNCArMTkxOCw2IEBAIHZvaWQgVGVzdFJ1bm5lcjo6c2V0
U3RhdGlzdGljc0dyYW5kZmF0aGVyZWQoSlNTdHJpbmdSZWYgaG9zdE5hbWUsIGJvb2wgdmFsdWUp
CiAgICAgV0tCdW5kbGVQb3N0U3luY2hyb25vdXNNZXNzYWdlKEluamVjdGVkQnVuZGxlOjpzaW5n
bGV0b24oKS5idW5kbGUoKSwgbWVzc2FnZU5hbWUuZ2V0KCksIG1lc3NhZ2VCb2R5LmdldCgpLCBu
dWxscHRyKTsKIH0KIAotdm9pZCBUZXN0UnVubmVyOjpzZXRVc2VJVFBEYXRhYmFzZShib29sIHZh
bHVlKQotewotICAgIFdLUmV0YWluUHRyPFdLU3RyaW5nUmVmPiBtZXNzYWdlTmFtZSA9IGFkb3B0
V0soV0tTdHJpbmdDcmVhdGVXaXRoVVRGOENTdHJpbmcoIlNldFVzZUlUUERhdGFiYXNlIikpOwot
ICAgIFdLUmV0YWluUHRyPFdLQm9vbGVhblJlZj4gbWVzc2FnZUJvZHkgPSBhZG9wdFdLKFdLQm9v
bGVhbkNyZWF0ZSh2YWx1ZSkpOwotICAgIAotICAgIFdLQnVuZGxlUG9zdFN5bmNocm9ub3VzTWVz
c2FnZShJbmplY3RlZEJ1bmRsZTo6c2luZ2xldG9uKCkuYnVuZGxlKCksIG1lc3NhZ2VOYW1lLmdl
dCgpLCBtZXNzYWdlQm9keS5nZXQoKSwgbnVsbHB0cik7Ci19Ci0KIGJvb2wgVGVzdFJ1bm5lcjo6
aXNTdGF0aXN0aWNzR3JhbmRmYXRoZXJlZChKU1N0cmluZ1JlZiBob3N0TmFtZSkKIHsKICAgICBX
S1JldGFpblB0cjxXS1N0cmluZ1JlZj4gbWVzc2FnZU5hbWUgPSBhZG9wdFdLKFdLU3RyaW5nQ3Jl
YXRlV2l0aFVURjhDU3RyaW5nKCJJc1N0YXRpc3RpY3NHcmFuZGZhdGhlcmVkIikpOwpkaWZmIC0t
Z2l0IGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9UZXN0UnVubmVyLmgg
Yi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL1Rlc3RSdW5uZXIuaAppbmRl
eCBjMGExNDA5MDVlZGYzZGRhNGE3NjFhYjYyMDdkOTdiNDM2MjA4NmJiLi5kZDg4ODMyNjE0NjZm
ZjA1Mjk5NGZhODFhNGFhNmVlYWFmNmIwYzgwIDEwMDY0NAotLS0gYS9Ub29scy9XZWJLaXRUZXN0
UnVubmVyL0luamVjdGVkQnVuZGxlL1Rlc3RSdW5uZXIuaAorKysgYi9Ub29scy9XZWJLaXRUZXN0
UnVubmVyL0luamVjdGVkQnVuZGxlL1Rlc3RSdW5uZXIuaApAQCAtNDIyLDcgKzQyMiw2IEBAIHB1
YmxpYzoKICAgICBib29sIGlzU3RhdGlzdGljc09ubHlJbkRhdGFiYXNlT25jZShKU1N0cmluZ1Jl
ZiBzdWJIb3N0LCBKU1N0cmluZ1JlZiB0b3BIb3N0KTsKICAgICB2b2lkIHNldFN0YXRpc3RpY3NH
cmFuZGZhdGhlcmVkKEpTU3RyaW5nUmVmIGhvc3ROYW1lLCBib29sIHZhbHVlKTsKICAgICBib29s
IGlzU3RhdGlzdGljc0dyYW5kZmF0aGVyZWQoSlNTdHJpbmdSZWYgaG9zdE5hbWUpOwotICAgIHZv
aWQgc2V0VXNlSVRQRGF0YWJhc2UoYm9vbCB2YWx1ZSk7CiAgICAgdm9pZCBzZXRTdGF0aXN0aWNz
U3ViZnJhbWVVbmRlclRvcEZyYW1lT3JpZ2luKEpTU3RyaW5nUmVmIGhvc3ROYW1lLCBKU1N0cmlu
Z1JlZiB0b3BGcmFtZUhvc3ROYW1lKTsKICAgICB2b2lkIHNldFN0YXRpc3RpY3NTdWJyZXNvdXJj
ZVVuZGVyVG9wRnJhbWVPcmlnaW4oSlNTdHJpbmdSZWYgaG9zdE5hbWUsIEpTU3RyaW5nUmVmIHRv
cEZyYW1lSG9zdE5hbWUpOwogICAgIHZvaWQgc2V0U3RhdGlzdGljc1N1YnJlc291cmNlVW5pcXVl
UmVkaXJlY3RUbyhKU1N0cmluZ1JlZiBob3N0TmFtZSwgSlNTdHJpbmdSZWYgaG9zdE5hbWVSZWRp
cmVjdGVkVG8pOwpkaWZmIC0tZ2l0IGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9UZXN0Q29udHJv
bGxlci5jcHAgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL1Rlc3RDb250cm9sbGVyLmNwcAppbmRl
eCAxMzQ1YzQyYzExZTYyZGMwODhjNmYyZDM4Yjk5YjA5MzU2NGUwMTM4Li5lMTZmMmE0NDZmMTdk
MDljOWVkZDEzMDA2NzA2YzNhYTkzMWIwY2MwIDEwMDY0NAotLS0gYS9Ub29scy9XZWJLaXRUZXN0
UnVubmVyL1Rlc3RDb250cm9sbGVyLmNwcAorKysgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL1Rl
c3RDb250cm9sbGVyLmNwcApAQCAtMzY1NywxMyArMzY1Nyw2IEBAIGJvb2wgVGVzdENvbnRyb2xs
ZXI6OmlzU3RhdGlzdGljc0dyYW5kZmF0aGVyZWQoV0tTdHJpbmdSZWYgaG9zdCkKICAgICByZXR1
cm4gY29udGV4dC5yZXN1bHQ7CiB9CiAKLXZvaWQgVGVzdENvbnRyb2xsZXI6OnNldFVzZUlUUERh
dGFiYXNlKGJvb2wgdmFsdWUpCi17Ci0gICAgUmVzb3VyY2VTdGF0aXN0aWNzQ2FsbGJhY2tDb250
ZXh0IGNvbnRleHQoKnRoaXMpOwotICAgIFdLV2Vic2l0ZURhdGFTdG9yZVNldFVzZUlUUERhdGFi
YXNlKHdlYnNpdGVEYXRhU3RvcmUoKSwgdmFsdWUsICZjb250ZXh0LCByZXNvdXJjZVN0YXRpc3Rp
Y3NWb2lkUmVzdWx0Q2FsbGJhY2spOwotICAgIHJ1blVudGlsKGNvbnRleHQuZG9uZSwgbm9UaW1l
b3V0KTsKLX0KLQogdm9pZCBUZXN0Q29udHJvbGxlcjo6c2V0U3RhdGlzdGljc1N1YmZyYW1lVW5k
ZXJUb3BGcmFtZU9yaWdpbihXS1N0cmluZ1JlZiBob3N0LCBXS1N0cmluZ1JlZiB0b3BGcmFtZUhv
c3QpCiB7CiAgICAgV0tXZWJzaXRlRGF0YVN0b3JlU2V0U3RhdGlzdGljc1N1YmZyYW1lVW5kZXJU
b3BGcmFtZU9yaWdpbih3ZWJzaXRlRGF0YVN0b3JlKCksIGhvc3QsIHRvcEZyYW1lSG9zdCk7CmRp
ZmYgLS1naXQgYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL1Rlc3RDb250cm9sbGVyLmggYi9Ub29s
cy9XZWJLaXRUZXN0UnVubmVyL1Rlc3RDb250cm9sbGVyLmgKaW5kZXggZjk0ZDU3YzE0N2IzMTZm
MDc4ZmE4NWYyMjBmNDA3NjA5NDExM2M4Yy4uZGYwZWNmMDI2ZjU5OGQ1OTcwM2UxYTExNGU1OWM0
YWNiY2QyOTk5YiAxMDA2NDQKLS0tIGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9UZXN0Q29udHJv
bGxlci5oCisrKyBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvVGVzdENvbnRyb2xsZXIuaApAQCAt
MjM2LDcgKzIzNiw2IEBAIHB1YmxpYzoKICAgICBib29sIGlzU3RhdGlzdGljc09ubHlJbkRhdGFi
YXNlT25jZShXS1N0cmluZ1JlZiBzdWJIb3N0LCBXS1N0cmluZ1JlZiB0b3BIb3N0KTsKICAgICB2
b2lkIHNldFN0YXRpc3RpY3NHcmFuZGZhdGhlcmVkKFdLU3RyaW5nUmVmIGhvc3ROYW1lLCBib29s
IHZhbHVlKTsKICAgICBib29sIGlzU3RhdGlzdGljc0dyYW5kZmF0aGVyZWQoV0tTdHJpbmdSZWYg
aG9zdE5hbWUpOwotICAgIHZvaWQgc2V0VXNlSVRQRGF0YWJhc2UoYm9vbCB2YWx1ZSk7CiAgICAg
dm9pZCBzZXRTdGF0aXN0aWNzU3ViZnJhbWVVbmRlclRvcEZyYW1lT3JpZ2luKFdLU3RyaW5nUmVm
IGhvc3ROYW1lLCBXS1N0cmluZ1JlZiB0b3BGcmFtZUhvc3ROYW1lKTsKICAgICB2b2lkIHNldFN0
YXRpc3RpY3NTdWJyZXNvdXJjZVVuZGVyVG9wRnJhbWVPcmlnaW4oV0tTdHJpbmdSZWYgaG9zdE5h
bWUsIFdLU3RyaW5nUmVmIHRvcEZyYW1lSG9zdE5hbWUpOwogICAgIHZvaWQgc2V0U3RhdGlzdGlj
c1N1YnJlc291cmNlVW5pcXVlUmVkaXJlY3RUbyhXS1N0cmluZ1JlZiBob3N0TmFtZSwgV0tTdHJp
bmdSZWYgaG9zdE5hbWVSZWRpcmVjdGVkVG8pOwpkaWZmIC0tZ2l0IGEvVG9vbHMvV2ViS2l0VGVz
dFJ1bm5lci9UZXN0SW52b2NhdGlvbi5jcHAgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL1Rlc3RJ
bnZvY2F0aW9uLmNwcAppbmRleCBhNWI2ZGQwNTU4MGFlMGMyZDk1NzA3N2RmZTQ1MGE0ODZlNmQw
MWVjLi5jNTRiZDkyMDU2MjcwNTg2N2ExNGY4NGMzNWFiZjg5NGRlOTVlOTY2IDEwMDY0NAotLS0g
YS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL1Rlc3RJbnZvY2F0aW9uLmNwcAorKysgYi9Ub29scy9X
ZWJLaXRUZXN0UnVubmVyL1Rlc3RJbnZvY2F0aW9uLmNwcApAQCAtMTQ3NSwxNCArMTQ3NSw2IEBA
IFdLUmV0YWluUHRyPFdLVHlwZVJlZj4gVGVzdEludm9jYXRpb246OmRpZFJlY2VpdmVTeW5jaHJv
bm91c01lc3NhZ2VGcm9tSW5qZWN0ZWRCCiAgICAgICAgIFdLUmV0YWluUHRyPFdLVHlwZVJlZj4g
cmVzdWx0ID0gYWRvcHRXSyhXS0Jvb2xlYW5DcmVhdGUoaXNHcmFuZGZhdGhlcmVkKSk7CiAgICAg
ICAgIHJldHVybiByZXN1bHQ7CiAgICAgfQotCi0gICAgaWYgKFdLU3RyaW5nSXNFcXVhbFRvVVRG
OENTdHJpbmcobWVzc2FnZU5hbWUsICJTZXRVc2VJVFBEYXRhYmFzZSIpKSB7Ci0gICAgICAgIEFT
U0VSVChXS0dldFR5cGVJRChtZXNzYWdlQm9keSkgPT0gV0tCb29sZWFuR2V0VHlwZUlEKCkpOwot
Ci0gICAgICAgIFdLQm9vbGVhblJlZiB2YWx1ZSA9IHN0YXRpY19jYXN0PFdLQm9vbGVhblJlZj4o
bWVzc2FnZUJvZHkpOwotICAgICAgICBUZXN0Q29udHJvbGxlcjo6c2luZ2xldG9uKCkuc2V0VXNl
SVRQRGF0YWJhc2UoV0tCb29sZWFuR2V0VmFsdWUodmFsdWUpKTsKLSAgICAgICAgcmV0dXJuIG51
bGxwdHI7Ci0gICAgfQogICAgIAogICAgIGlmIChXS1N0cmluZ0lzRXF1YWxUb1VURjhDU3RyaW5n
KG1lc3NhZ2VOYW1lLCAiU2V0U3RhdGlzdGljc1N1YmZyYW1lVW5kZXJUb3BGcmFtZU9yaWdpbiIp
KSB7CiAgICAgICAgIEFTU0VSVChXS0dldFR5cGVJRChtZXNzYWdlQm9keSkgPT0gV0tEaWN0aW9u
YXJ5R2V0VHlwZUlEKCkpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5
b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IGQ3MWFmOTc5MmM4ZTZjMzMyYTdiNjdjMmIwMGVmMmQ1
ZGVjY2ZmNzQuLmI2NjQ0OWRlY2I4Mzk4YzUwYWYwYTZhZmEwNDI4OTFiMGRlZmEwZWQgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cK
QEAgLTEsMyArMSwyMTIgQEAKKzIwMjAtMDktMjggIEFsZXggQ2hyaXN0ZW5zZW4gIDxhY2hyaXN0
ZW5zZW5Ad2Via2l0Lm9yZz4KKworICAgICAgICBSZW1vdmUgcGxpc3QtYmFzZWQgUmVzb3VyY2VM
b2FkU3RhdGlzdGljcyBzdG9yYWdlLCB3aGljaCBoYXMgYmVlbiByZXBsYWNlZCBieSBkYXRhYmFz
ZS1iYXNlZCBzdG9yYWdlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0yMTcwNjMKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICBBIGZldyBvZiB0aGUgdGVzdCBleHBlY3RhdGlvbnMgbmVlZGVkIHJlYmFzaW5nLCBi
dXQgdGhvc2Ugd2VyZSB0aGUgdGVzdHMgd2hlcmUgdGhlIC1leHBlY3RlZC50eHQgYW5kIC1kYXRh
YmFzZS1leHBlY3RlZC50eHQgZGlmZmVyZWQuCisgICAgICAgIFNpbmNlIHRoZSAtZGF0YWJhc2Uu
aHRtbCB0ZXN0IHdhcyByZW1vdmVkIGFuZCB0aGUgLmh0bWwgdGVzdCB1c2VzIHRoZSBkYXRhYmFz
ZSwgdGhlIC1leHBlY3RlZC50eHQgbm93IHJlZmxlY3RzIHdoYXQgdXNlZCB0byBiZSBpbiB0aGUg
LWRhdGFiYXNlLWV4cGVjdGVkLnR4dC4KKworICAgICAgICAqIGh0dHAvdGVzdHMvcmVzb3VyY2VM
b2FkU3RhdGlzdGljcy9hZGQtYmxvY2tpbmctdG8tcmVkaXJlY3QtZGF0YWJhc2UtZXhwZWN0ZWQu
dHh0OiBSZW1vdmVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGlj
cy9hZGQtYmxvY2tpbmctdG8tcmVkaXJlY3QtZGF0YWJhc2UuaHRtbDogUmVtb3ZlZC4KKyAgICAg
ICAgKiBodHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvYWdncmVnYXRlLXNvcnRlZC1k
YXRhLW5vLXN0b3JhZ2UtYWNjZXNzLWRhdGFiYXNlLWV4cGVjdGVkLnR4dDogUmVtb3ZlZC4KKyAg
ICAgICAgKiBodHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvYWdncmVnYXRlLXNvcnRl
ZC1kYXRhLW5vLXN0b3JhZ2UtYWNjZXNzLWRhdGFiYXNlLmh0bWw6IFJlbW92ZWQuCisgICAgICAg
ICogaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2FnZ3JlZ2F0ZS1zb3J0ZWQtZGF0
YS1uby1zdG9yYWdlLWFjY2Vzcy1leHBlY3RlZC50eHQ6CisgICAgICAgICogaHR0cC90ZXN0cy9y
ZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2Jsb2NraW5nLWluLXdlYi13b3JrZXItc2NyaXB0LWltcG9y
dC1kYXRhYmFzZS1leHBlY3RlZC50eHQ6IFJlbW92ZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9y
ZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2Jsb2NraW5nLWluLXdlYi13b3JrZXItc2NyaXB0LWltcG9y
dC1kYXRhYmFzZS5odG1sOiBSZW1vdmVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvcmVzb3VyY2VM
b2FkU3RhdGlzdGljcy9jYXAtY2FjaGUtbWF4LWFnZS1mb3ItcHJldmFsZW50LXJlc291cmNlLWRh
dGFiYXNlLWV4cGVjdGVkLnR4dDogUmVtb3ZlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3Jlc291
cmNlTG9hZFN0YXRpc3RpY3MvY2FwLWNhY2hlLW1heC1hZ2UtZm9yLXByZXZhbGVudC1yZXNvdXJj
ZS1kYXRhYmFzZS5odG1sOiBSZW1vdmVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvcmVzb3VyY2VM
b2FkU3RhdGlzdGljcy9jYXBwZWQtbGlmZXRpbWUtZm9yLWNvb2tpZS1zZXQtaW4tanMtZGF0YWJh
c2UtZXhwZWN0ZWQudHh0OiBSZW1vdmVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvcmVzb3VyY2VM
b2FkU3RhdGlzdGljcy9jYXBwZWQtbGlmZXRpbWUtZm9yLWNvb2tpZS1zZXQtaW4tanMtZGF0YWJh
c2UuaHRtbDogUmVtb3ZlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRp
c3RpY3MvY2FwcGVkLWxpZmV0aW1lLWZvci1jb29raWUtc2V0LWluLWpzLXdpdGgtbGluay1kZWNv
cmF0aW9uLXNhbWUtc2l0ZS1kYXRhYmFzZS1leHBlY3RlZC50eHQ6IFJlbW92ZWQuCisgICAgICAg
ICogaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NhcHBlZC1saWZldGltZS1mb3It
Y29va2llLXNldC1pbi1qcy13aXRoLWxpbmstZGVjb3JhdGlvbi1zYW1lLXNpdGUtZGF0YWJhc2Uu
aHRtbDogUmVtb3ZlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3Rp
Y3MvY2FwcGVkLWxpZmV0aW1lLWZvci1jb29raWUtc2V0LWluLWpzLXdpdGgtbGluay1mcmFnbWVu
dC1mcm9tLXByZXZhbGVudC1yZXNvdXJjZS1kYXRhYmFzZS1leHBlY3RlZC50eHQ6IFJlbW92ZWQu
CisgICAgICAgICogaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NhcHBlZC1saWZl
dGltZS1mb3ItY29va2llLXNldC1pbi1qcy13aXRoLWxpbmstZnJhZ21lbnQtZnJvbS1wcmV2YWxl
bnQtcmVzb3VyY2UtZGF0YWJhc2UuaHRtbDogUmVtb3ZlZC4KKyAgICAgICAgKiBodHRwL3Rlc3Rz
L3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY2FwcGVkLWxpZmV0aW1lLWZvci1jb29raWUtc2V0LWlu
LWpzLXdpdGgtbGluay1xdWVyeS1hbmQtZnJhZ21lbnQtZnJvbS1wcmV2YWxlbnQtcmVzb3VyY2Ut
ZGF0YWJhc2UtZXhwZWN0ZWQudHh0OiBSZW1vdmVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvcmVz
b3VyY2VMb2FkU3RhdGlzdGljcy9jYXBwZWQtbGlmZXRpbWUtZm9yLWNvb2tpZS1zZXQtaW4tanMt
d2l0aC1saW5rLXF1ZXJ5LWFuZC1mcmFnbWVudC1mcm9tLXByZXZhbGVudC1yZXNvdXJjZS1kYXRh
YmFzZS5odG1sOiBSZW1vdmVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3Rh
dGlzdGljcy9jYXBwZWQtbGlmZXRpbWUtZm9yLWNvb2tpZS1zZXQtaW4tanMtd2l0aC1saW5rLXF1
ZXJ5LWZyb20tcHJldmFsZW50LXJlc291cmNlLWRhdGFiYXNlLWV4cGVjdGVkLnR4dDogUmVtb3Zl
ZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY2FwcGVkLWxp
ZmV0aW1lLWZvci1jb29raWUtc2V0LWluLWpzLXdpdGgtbGluay1xdWVyeS1mcm9tLXByZXZhbGVu
dC1yZXNvdXJjZS1kYXRhYmFzZS5odG1sOiBSZW1vdmVkLgorICAgICAgICAqIGh0dHAvdGVzdHMv
cmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jYXBwZWQtbGlmZXRpbWUtZm9yLWNvb2tpZS1zZXQtaW4t
anMtd2l0aG91dC1saW5rLWRlY29yYXRpb24tZnJvbS1wcmV2YWxlbnQtcmVzb3VyY2UtZGF0YWJh
c2UtZXhwZWN0ZWQudHh0OiBSZW1vdmVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvcmVzb3VyY2VM
b2FkU3RhdGlzdGljcy9jYXBwZWQtbGlmZXRpbWUtZm9yLWNvb2tpZS1zZXQtaW4tanMtd2l0aG91
dC1saW5rLWRlY29yYXRpb24tZnJvbS1wcmV2YWxlbnQtcmVzb3VyY2UtZGF0YWJhc2UuaHRtbDog
UmVtb3ZlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY2xh
c3NpZnktYXMtbm9uLXByZXZhbGVudC1iYXNlZC1vbi1taXhlZC1zdGF0aXN0aWNzLWRhdGFiYXNl
LWV4cGVjdGVkLnR4dDogUmVtb3ZlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3Jlc291cmNlTG9h
ZFN0YXRpc3RpY3MvY2xhc3NpZnktYXMtbm9uLXByZXZhbGVudC1iYXNlZC1vbi1taXhlZC1zdGF0
aXN0aWNzLWRhdGFiYXNlLmh0bWw6IFJlbW92ZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9yZXNv
dXJjZUxvYWRTdGF0aXN0aWNzL2NsYXNzaWZ5LWFzLW5vbi1wcmV2YWxlbnQtYmFzZWQtb24tc3Vi
LWZyYW1lLXVuZGVyLXRvcC1mcmFtZS1vcmlnaW5zLWRhdGFiYXNlLWV4cGVjdGVkLnR4dDogUmVt
b3ZlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY2xhc3Np
ZnktYXMtbm9uLXByZXZhbGVudC1iYXNlZC1vbi1zdWItZnJhbWUtdW5kZXItdG9wLWZyYW1lLW9y
aWdpbnMtZGF0YWJhc2UuaHRtbDogUmVtb3ZlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3Jlc291
cmNlTG9hZFN0YXRpc3RpY3MvY2xhc3NpZnktYXMtbm9uLXByZXZhbGVudC1iYXNlZC1vbi1zdWJy
ZXNvdXJjZS11bmRlci10b3AtZnJhbWUtb3JpZ2lucy1kYXRhYmFzZS1leHBlY3RlZC50eHQ6IFJl
bW92ZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NsYXNz
aWZ5LWFzLW5vbi1wcmV2YWxlbnQtYmFzZWQtb24tc3VicmVzb3VyY2UtdW5kZXItdG9wLWZyYW1l
LW9yaWdpbnMtZGF0YWJhc2UuaHRtbDogUmVtb3ZlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3Jl
c291cmNlTG9hZFN0YXRpc3RpY3MvY2xhc3NpZnktYXMtbm9uLXByZXZhbGVudC1iYXNlZC1vbi1z
dWJyZXNvdXJjZS11bmlxdWUtcmVkaXJlY3RzLXRvLWRhdGFiYXNlLWV4cGVjdGVkLnR4dDogUmVt
b3ZlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY2xhc3Np
ZnktYXMtbm9uLXByZXZhbGVudC1iYXNlZC1vbi1zdWJyZXNvdXJjZS11bmlxdWUtcmVkaXJlY3Rz
LXRvLWRhdGFiYXNlLmh0bWw6IFJlbW92ZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9yZXNvdXJj
ZUxvYWRTdGF0aXN0aWNzL2NsYXNzaWZ5LWFzLXByZXZhbGVudC1iYXNlZC1vbi1taXhlZC1zdGF0
aXN0aWNzLWRhdGFiYXNlLWV4cGVjdGVkLnR4dDogUmVtb3ZlZC4KKyAgICAgICAgKiBodHRwL3Rl
c3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY2xhc3NpZnktYXMtcHJldmFsZW50LWJhc2VkLW9u
LW1peGVkLXN0YXRpc3RpY3MtZGF0YWJhc2UuaHRtbDogUmVtb3ZlZC4KKyAgICAgICAgKiBodHRw
L3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY2xhc3NpZnktYXMtcHJldmFsZW50LWJhc2Vk
LW9uLXN1Yi1mcmFtZS11bmRlci10b3AtZnJhbWUtb3JpZ2lucy1kYXRhYmFzZS1leHBlY3RlZC50
eHQ6IFJlbW92ZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNz
L2NsYXNzaWZ5LWFzLXByZXZhbGVudC1iYXNlZC1vbi1zdWItZnJhbWUtdW5kZXItdG9wLWZyYW1l
LW9yaWdpbnMtZGF0YWJhc2UuaHRtbDogUmVtb3ZlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3Jl
c291cmNlTG9hZFN0YXRpc3RpY3MvY2xhc3NpZnktYXMtcHJldmFsZW50LWJhc2VkLW9uLXN1YnJl
c291cmNlLXJlZGlyZWN0LWNvbGx1c2lvbi1kYXRhYmFzZS1leHBlY3RlZC50eHQ6IFJlbW92ZWQu
CisgICAgICAgICogaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NsYXNzaWZ5LWFz
LXByZXZhbGVudC1iYXNlZC1vbi1zdWJyZXNvdXJjZS1yZWRpcmVjdC1jb2xsdXNpb24tZGF0YWJh
c2UuaHRtbDogUmVtb3ZlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRp
c3RpY3MvY2xhc3NpZnktYXMtcHJldmFsZW50LWJhc2VkLW9uLXN1YnJlc291cmNlLXJlZGlyZWN0
LXRvLXByZXZhbGVudC1kYXRhYmFzZS1leHBlY3RlZC50eHQ6IFJlbW92ZWQuCisgICAgICAgICog
aHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NsYXNzaWZ5LWFzLXByZXZhbGVudC1i
YXNlZC1vbi1zdWJyZXNvdXJjZS1yZWRpcmVjdC10by1wcmV2YWxlbnQtZGF0YWJhc2UuaHRtbDog
UmVtb3ZlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY2xh
c3NpZnktYXMtcHJldmFsZW50LWJhc2VkLW9uLXN1YnJlc291cmNlLXVuZGVyLXRvcC1mcmFtZS1v
cmlnaW5zLWRhdGFiYXNlLWV4cGVjdGVkLnR4dDogUmVtb3ZlZC4KKyAgICAgICAgKiBodHRwL3Rl
c3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY2xhc3NpZnktYXMtcHJldmFsZW50LWJhc2VkLW9u
LXN1YnJlc291cmNlLXVuZGVyLXRvcC1mcmFtZS1vcmlnaW5zLWRhdGFiYXNlLmh0bWw6IFJlbW92
ZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NsYXNzaWZ5
LWFzLXByZXZhbGVudC1iYXNlZC1vbi1zdWJyZXNvdXJjZS11bmlxdWUtcmVkaXJlY3RzLXRvLWRh
dGFiYXNlLWV4cGVjdGVkLnR4dDogUmVtb3ZlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3Jlc291
cmNlTG9hZFN0YXRpc3RpY3MvY2xhc3NpZnktYXMtcHJldmFsZW50LWJhc2VkLW9uLXN1YnJlc291
cmNlLXVuaXF1ZS1yZWRpcmVjdHMtdG8tZGF0YWJhc2UuaHRtbDogUmVtb3ZlZC4KKyAgICAgICAg
KiBodHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY2xhc3NpZnktYXMtcHJldmFsZW50
LWJhc2VkLW9uLXRvcC1mcmFtZS1yZWRpcmVjdC1jb2xsdXNpb24tZGF0YWJhc2UtZXhwZWN0ZWQu
dHh0OiBSZW1vdmVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGlj
cy9jbGFzc2lmeS1hcy1wcmV2YWxlbnQtYmFzZWQtb24tdG9wLWZyYW1lLXJlZGlyZWN0LWNvbGx1
c2lvbi1kYXRhYmFzZS5odG1sOiBSZW1vdmVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvcmVzb3Vy
Y2VMb2FkU3RhdGlzdGljcy9jbGFzc2lmeS1hcy1wcmV2YWxlbnQtYmFzZWQtb24tdG9wLWZyYW1l
LXJlZGlyZWN0LXRvLXByZXZhbGVudC1kYXRhYmFzZS1leHBlY3RlZC50eHQ6IFJlbW92ZWQuCisg
ICAgICAgICogaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NsYXNzaWZ5LWFzLXBy
ZXZhbGVudC1iYXNlZC1vbi10b3AtZnJhbWUtcmVkaXJlY3QtdG8tcHJldmFsZW50LWRhdGFiYXNl
Lmh0bWw6IFJlbW92ZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0
aWNzL2NsYXNzaWZ5LWFzLXByZXZhbGVudC1iYXNlZC1vbi10b3AtZnJhbWUtdW5pcXVlLXJlZGly
ZWN0cy10by1kYXRhYmFzZS1leHBlY3RlZC50eHQ6IFJlbW92ZWQuCisgICAgICAgICogaHR0cC90
ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NsYXNzaWZ5LWFzLXByZXZhbGVudC1iYXNlZC1v
bi10b3AtZnJhbWUtdW5pcXVlLXJlZGlyZWN0cy10by1kYXRhYmFzZS5odG1sOiBSZW1vdmVkLgor
ICAgICAgICAqIGh0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jbGFzc2lmeS1hcy12
ZXJ5LXByZXZhbGVudC1iYXNlZC1vbi1taXhlZC1zdGF0aXN0aWNzLWRhdGFiYXNlLWV4cGVjdGVk
LnR4dDogUmVtb3ZlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3Rp
Y3MvY2xhc3NpZnktYXMtdmVyeS1wcmV2YWxlbnQtYmFzZWQtb24tbWl4ZWQtc3RhdGlzdGljcy1k
YXRhYmFzZS5odG1sOiBSZW1vdmVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvcmVzb3VyY2VMb2Fk
U3RhdGlzdGljcy9jbGVhci1pbi1tZW1vcnktYW5kLXBlcnNpc3RlbnQtc3RvcmUtZGF0YWJhc2Ut
ZXhwZWN0ZWQudHh0OiBSZW1vdmVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvcmVzb3VyY2VMb2Fk
U3RhdGlzdGljcy9jbGVhci1pbi1tZW1vcnktYW5kLXBlcnNpc3RlbnQtc3RvcmUtZGF0YWJhc2Uu
aHRtbDogUmVtb3ZlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3Rp
Y3MvY2xlYXItaW4tbWVtb3J5LWFuZC1wZXJzaXN0ZW50LXN0b3JlLW9uZS1ob3VyLWRhdGFiYXNl
LWV4cGVjdGVkLnR4dDogUmVtb3ZlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3Jlc291cmNlTG9h
ZFN0YXRpc3RpY3MvY2xlYXItaW4tbWVtb3J5LWFuZC1wZXJzaXN0ZW50LXN0b3JlLW9uZS1ob3Vy
LWRhdGFiYXNlLmh0bWw6IFJlbW92ZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9yZXNvdXJjZUxv
YWRTdGF0aXN0aWNzL2Nvb2tpZS1kZWxldGlvbi1kYXRhYmFzZS1leHBlY3RlZC50eHQ6IFJlbW92
ZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2Nvb2tpZS1k
ZWxldGlvbi1kYXRhYmFzZS5odG1sOiBSZW1vdmVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvcmVz
b3VyY2VMb2FkU3RhdGlzdGljcy9jb29raWVzLXdpdGgtYW5kLXdpdGhvdXQtdXNlci1pbnRlcmFj
dGlvbi1kYXRhYmFzZS1leHBlY3RlZC50eHQ6IFJlbW92ZWQuCisgICAgICAgICogaHR0cC90ZXN0
cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2Nvb2tpZXMtd2l0aC1hbmQtd2l0aG91dC11c2VyLWlu
dGVyYWN0aW9uLWRhdGFiYXNlLmh0bWw6IFJlbW92ZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9y
ZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NvdW50LXRoaXJkLXBhcnR5LXNjcmlwdC1pbXBvcnQtaW4t
d29ya2VyLWRhdGFiYXNlLWV4cGVjdGVkLnR4dDogUmVtb3ZlZC4KKyAgICAgICAgKiBodHRwL3Rl
c3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY291bnQtdGhpcmQtcGFydHktc2NyaXB0LWltcG9y
dC1pbi13b3JrZXItZGF0YWJhc2UuaHRtbDogUmVtb3ZlZC4KKyAgICAgICAgKiBodHRwL3Rlc3Rz
L3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY291bnQtdGhpcmQtcGFydHktc2NyaXB0LWltcG9ydC1p
bi13b3JrZXItZXhwZWN0ZWQudHh0OgorICAgICAgICAqIGh0dHAvdGVzdHMvcmVzb3VyY2VMb2Fk
U3RhdGlzdGljcy9jb3VudC10aGlyZC1wYXJ0eS1zY3JpcHQtbG9hZHMtZGF0YWJhc2UtZXhwZWN0
ZWQudHh0OiBSZW1vdmVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlz
dGljcy9jb3VudC10aGlyZC1wYXJ0eS1zY3JpcHQtbG9hZHMtZGF0YWJhc2UuaHRtbDogUmVtb3Zl
ZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY291bnQtdGhp
cmQtcGFydHktc2NyaXB0LWxvYWRzLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBodHRwL3Rlc3Rz
L3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvZGVsZXRlLXNjcmlwdC1hY2Nlc3NpYmxlLWNvb2tpZXMt
ZGF0YWJhc2UtZXhwZWN0ZWQudHh0OiBSZW1vdmVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvcmVz
b3VyY2VMb2FkU3RhdGlzdGljcy9kZWxldGUtc2NyaXB0LWFjY2Vzc2libGUtY29va2llcy1kYXRh
YmFzZS5odG1sOiBSZW1vdmVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3Rh
dGlzdGljcy9kby1ub3QtYmxvY2stdG9wLWxldmVsLW5hdmlnYXRpb24tcmVkaXJlY3QtZGF0YWJh
c2UtZXhwZWN0ZWQudHh0OiBSZW1vdmVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvcmVzb3VyY2VM
b2FkU3RhdGlzdGljcy9kby1ub3QtYmxvY2stdG9wLWxldmVsLW5hdmlnYXRpb24tcmVkaXJlY3Qt
ZGF0YWJhc2UuaHRtbDogUmVtb3ZlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3Jlc291cmNlTG9h
ZFN0YXRpc3RpY3MvZG8tbm90LWNhcHR1cmUtc3RhdGlzdGljcy1mb3Itc2ltcGxlLXRvcC1uYXZp
Z2F0aW9ucy1kYXRhYmFzZS1leHBlY3RlZC50eHQ6IFJlbW92ZWQuCisgICAgICAgICogaHR0cC90
ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2RvLW5vdC1jYXB0dXJlLXN0YXRpc3RpY3MtZm9y
LXNpbXBsZS10b3AtbmF2aWdhdGlvbnMtZGF0YWJhc2UuaHRtbDogUmVtb3ZlZC4KKyAgICAgICAg
KiBodHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvZG8tbm90LXJlbW92ZS1ibG9ja2lu
Zy1pbi1yZWRpcmVjdC1kYXRhYmFzZS1leHBlY3RlZC50eHQ6IFJlbW92ZWQuCisgICAgICAgICog
aHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2RvLW5vdC1yZW1vdmUtYmxvY2tpbmct
aW4tcmVkaXJlY3QtZGF0YWJhc2UuaHRtbDogUmVtb3ZlZC4KKyAgICAgICAgKiBodHRwL3Rlc3Rz
L3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvZG8tbm90LXN3aXRjaC1zZXNzaW9uLW9uLW5hdmlnYXRp
b24tdG8tcHJldmFsZW50LXdpdGhvdXQtaW50ZXJhY3Rpb24tZGF0YWJhc2UtZXhwZWN0ZWQudHh0
OiBSZW1vdmVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9k
by1ub3Qtc3dpdGNoLXNlc3Npb24tb24tbmF2aWdhdGlvbi10by1wcmV2YWxlbnQtd2l0aG91dC1p
bnRlcmFjdGlvbi1kYXRhYmFzZS5waHA6IFJlbW92ZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9y
ZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2RvbnQtY291bnQtdGhpcmQtcGFydHktaW1hZ2UtYXMtdGhp
cmQtcGFydHktc2NyaXB0LWRhdGFiYXNlLWV4cGVjdGVkLnR4dDogUmVtb3ZlZC4KKyAgICAgICAg
KiBodHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvZG9udC1jb3VudC10aGlyZC1wYXJ0
eS1pbWFnZS1hcy10aGlyZC1wYXJ0eS1zY3JpcHQtZGF0YWJhc2UuaHRtbDogUmVtb3ZlZC4KKyAg
ICAgICAgKiBodHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvZG9udC1jb3VudC10aGly
ZC1wYXJ0eS1pbWFnZS1hcy10aGlyZC1wYXJ0eS1zY3JpcHQtZXhwZWN0ZWQudHh0OgorICAgICAg
ICAqIGh0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9kb3duZ3JhZGUtZG9jdW1lbnQt
cmVmZXJyZXItbmVzdGVkLXRoaXJkLXBhcnR5LWlmcmFtZS5odG1sOgorICAgICAgICAqIGh0dHAv
dGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9kb3duZ3JhZGUtZG9jdW1lbnQtcmVmZXJyZXIt
dGhpcmQtcGFydHktaWZyYW1lLmh0bWw6CisgICAgICAgICogaHR0cC90ZXN0cy9yZXNvdXJjZUxv
YWRTdGF0aXN0aWNzL2Rvd25ncmFkZWQtcmVmZXJyZXItZm9yLW5hdmlnYXRpb24td2l0aC1saW5r
LXF1ZXJ5LWZyb20tcHJldmFsZW50LXJlc291cmNlLWRhdGFiYXNlLWV4cGVjdGVkLnR4dDogUmVt
b3ZlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvZG93bmdy
YWRlZC1yZWZlcnJlci1mb3ItbmF2aWdhdGlvbi13aXRoLWxpbmstcXVlcnktZnJvbS1wcmV2YWxl
bnQtcmVzb3VyY2UtZGF0YWJhc2UuaHRtbDogUmVtb3ZlZC4KKyAgICAgICAgKiBodHRwL3Rlc3Rz
L3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvZW5hYmxlLWRlYnVnLW1vZGUtZGF0YWJhc2UtZXhwZWN0
ZWQudHh0OiBSZW1vdmVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlz
dGljcy9lbmFibGUtZGVidWctbW9kZS1kYXRhYmFzZS5odG1sOiBSZW1vdmVkLgorICAgICAgICAq
IGh0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9lbmZvcmNlLXNhbWVzaXRlLXN0cmlj
dC1iYXNlZC1vbi10b3AtZnJhbWUtdW5pcXVlLXJlZGlyZWN0cy10by1kYXRhYmFzZS1leHBlY3Rl
ZC50eHQ6IFJlbW92ZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0
aWNzL2VuZm9yY2Utc2FtZXNpdGUtc3RyaWN0LWJhc2VkLW9uLXRvcC1mcmFtZS11bmlxdWUtcmVk
aXJlY3RzLXRvLWRhdGFiYXNlLmh0bWw6IFJlbW92ZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9y
ZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2V4ZW1wdERvbWFpbnMvYXBwLWJvdW5kLWRvbWFpbnMtZXhl
bXB0LWZyb20td2Vic2l0ZS1kYXRhLWRlbGV0aW9uLWRhdGFiYXNlLmh0bWw6CisgICAgICAgICog
aHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2dyYW5kZmF0aGVyaW5nLWRhdGFiYXNl
LWV4cGVjdGVkLnR4dDogUmVtb3ZlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3Jlc291cmNlTG9h
ZFN0YXRpc3RpY3MvZ3JhbmRmYXRoZXJpbmctZGF0YWJhc2UuaHRtbDogUmVtb3ZlZC4KKyAgICAg
ICAgKiBodHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvbGVhdmUtZW1wdHktZG9jdW1l
bnQtcmVmZXJyZXItYWxvbmUtdGhpcmQtcGFydHktaWZyYW1lLmh0bWw6CisgICAgICAgICogaHR0
cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2xvZy1jcm9zcy1zaXRlLWxvYWQtd2l0aC1s
aW5rLWRlY29yYXRpb24tZGF0YWJhc2UtZXhwZWN0ZWQudHh0OiBSZW1vdmVkLgorICAgICAgICAq
IGh0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9sb2ctY3Jvc3Mtc2l0ZS1sb2FkLXdp
dGgtbGluay1kZWNvcmF0aW9uLWRhdGFiYXNlLmh0bWw6IFJlbW92ZWQuCisgICAgICAgICogaHR0
cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2xvZy1jcm9zcy1zaXRlLWxvYWQtd2l0aC1s
aW5rLWRlY29yYXRpb24tZXhwZWN0ZWQudHh0OgorICAgICAgICAqIGh0dHAvdGVzdHMvcmVzb3Vy
Y2VMb2FkU3RhdGlzdGljcy9sb2ctZGVsYXllZC1jbGllbnQtc2lkZS1yZWRpcmVjdHMtZGF0YWJh
c2UtZXhwZWN0ZWQudHh0OiBSZW1vdmVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvcmVzb3VyY2VM
b2FkU3RhdGlzdGljcy9sb2ctZGVsYXllZC1jbGllbnQtc2lkZS1yZWRpcmVjdHMtZGF0YWJhc2Uu
aHRtbDogUmVtb3ZlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3Rp
Y3MvbG9nLWRlbGF5ZWQtY2xpZW50LXNpZGUtcmVkaXJlY3RzLWV4cGVjdGVkLnR4dDoKKyAgICAg
ICAgKiBodHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvbWFueS1pbnNlcnRzLW9ubHkt
aW5zZXJ0LW9uY2UuaHRtbDoKKyAgICAgICAgKiBodHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRp
c3RpY3MvbWVyZ2Utc3RhdGlzdGljLWRvZXMtbm90LW92ZXJ3cml0ZS1kYXRhYmFzZS1leHBlY3Rl
ZC50eHQ6IFJlbW92ZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0
aWNzL21lcmdlLXN0YXRpc3RpYy1kb2VzLW5vdC1vdmVyd3JpdGUtZGF0YWJhc2UuaHRtbDogUmVt
b3ZlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvbWVyZ2Ut
c3RhdGlzdGljLWRvZXMtb3ZlcndyaXRlLWRhdGFiYXNlLWV4cGVjdGVkLnR4dDogUmVtb3ZlZC4K
KyAgICAgICAgKiBodHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvbWVyZ2Utc3RhdGlz
dGljLWRvZXMtb3ZlcndyaXRlLWRhdGFiYXNlLmh0bWw6IFJlbW92ZWQuCisgICAgICAgICogaHR0
cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL21lcmdlLXN0YXRpc3RpYy1kb2VzLXBhcnRp
YWxseS1vdmVyd3JpdGUtZGF0YWJhc2UtZXhwZWN0ZWQudHh0OiBSZW1vdmVkLgorICAgICAgICAq
IGh0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9tZXJnZS1zdGF0aXN0aWMtZG9lcy1w
YXJ0aWFsbHktb3ZlcndyaXRlLWRhdGFiYXNlLmh0bWw6IFJlbW92ZWQuCisgICAgICAgICogaHR0
cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL25vbi1wcmV2YWxlbnQtcmVzb3VyY2Utd2l0
aC11c2VyLWludGVyYWN0aW9uLWRhdGFiYXNlLWV4cGVjdGVkLnR4dDogUmVtb3ZlZC4KKyAgICAg
ICAgKiBodHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3Mvbm9uLXByZXZhbGVudC1yZXNv
dXJjZS13aXRoLXVzZXItaW50ZXJhY3Rpb24tZGF0YWJhc2UuaHRtbDogUmVtb3ZlZC4KKyAgICAg
ICAgKiBodHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3Mvbm9uLXByZXZhbGVudC1yZXNv
dXJjZS13aXRob3V0LXVzZXItaW50ZXJhY3Rpb24tZGF0YWJhc2UtZXhwZWN0ZWQudHh0OiBSZW1v
dmVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9ub24tcHJl
dmFsZW50LXJlc291cmNlLXdpdGhvdXQtdXNlci1pbnRlcmFjdGlvbi1kYXRhYmFzZS5odG1sOiBS
ZW1vdmVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9ub24t
cHJldmFsZW50LXJlc291cmNlcy1jYW4tYWNjZXNzLWNvb2tpZXMtaW4tYS10aGlyZC1wYXJ0eS1j
b250ZXh0LWRhdGFiYXNlLWV4cGVjdGVkLnR4dDogUmVtb3ZlZC4KKyAgICAgICAgKiBodHRwL3Rl
c3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3Mvbm9uLXByZXZhbGVudC1yZXNvdXJjZXMtY2FuLWFj
Y2Vzcy1jb29raWVzLWluLWEtdGhpcmQtcGFydHktY29udGV4dC1kYXRhYmFzZS5odG1sOiBSZW1v
dmVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9ub24tc2Fu
ZGJveGVkLWlmcmFtZS1yZWRpcmVjdC1pcC10by1sb2NhbGhvc3QtdG8taXAtZGF0YWJhc2UtZXhw
ZWN0ZWQudHh0OiBSZW1vdmVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3Rh
dGlzdGljcy9ub24tc2FuZGJveGVkLWlmcmFtZS1yZWRpcmVjdC1pcC10by1sb2NhbGhvc3QtdG8t
aXAtZGF0YWJhc2UuaHRtbDogUmVtb3ZlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3Jlc291cmNl
TG9hZFN0YXRpc3RpY3Mvbm9uLXNhbmRib3hlZC1pZnJhbWUtcmVkaXJlY3QtbG9jYWxob3N0LXRv
LWlwLXRvLWxvY2FsaG9zdC1kYXRhYmFzZS1leHBlY3RlZC50eHQ6IFJlbW92ZWQuCisgICAgICAg
ICogaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL25vbi1zYW5kYm94ZWQtaWZyYW1l
LXJlZGlyZWN0LWxvY2FsaG9zdC10by1pcC10by1sb2NhbGhvc3QtZGF0YWJhc2UuaHRtbDogUmVt
b3ZlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3Mvbm9uLXNh
bmRib3hlZC1uZXN0aW5nLWlmcmFtZS13aXRoLW5vbi1zYW5kYm94ZWQtaWZyYW1lLXJlZGlyZWN0
LWlwLXRvLWxvY2FsaG9zdC10by1pcC1kYXRhYmFzZS1leHBlY3RlZC50eHQ6IFJlbW92ZWQuCisg
ICAgICAgICogaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL25vbi1zYW5kYm94ZWQt
bmVzdGluZy1pZnJhbWUtd2l0aC1ub24tc2FuZGJveGVkLWlmcmFtZS1yZWRpcmVjdC1pcC10by1s
b2NhbGhvc3QtdG8taXAtZGF0YWJhc2UuaHRtbDogUmVtb3ZlZC4KKyAgICAgICAgKiBodHRwL3Rl
c3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3Mvbm9uLXNhbmRib3hlZC1uZXN0aW5nLWlmcmFtZS13
aXRoLW5vbi1zYW5kYm94ZWQtaWZyYW1lLXJlZGlyZWN0LWxvY2FsaG9zdC10by1pcC10by1sb2Nh
bGhvc3QtZGF0YWJhc2UtZXhwZWN0ZWQudHh0OiBSZW1vdmVkLgorICAgICAgICAqIGh0dHAvdGVz
dHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9ub24tc2FuZGJveGVkLW5lc3RpbmctaWZyYW1lLXdp
dGgtbm9uLXNhbmRib3hlZC1pZnJhbWUtcmVkaXJlY3QtbG9jYWxob3N0LXRvLWlwLXRvLWxvY2Fs
aG9zdC1kYXRhYmFzZS5odG1sOiBSZW1vdmVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvcmVzb3Vy
Y2VMb2FkU3RhdGlzdGljcy9ub24tc2FuZGJveGVkLW5lc3RpbmctaWZyYW1lLXdpdGgtc2FuZGJv
eGVkLWlmcmFtZS1yZWRpcmVjdC1pcC10by1sb2NhbGhvc3QtdG8taXAtZGF0YWJhc2UtZXhwZWN0
ZWQudHh0OiBSZW1vdmVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlz
dGljcy9ub24tc2FuZGJveGVkLW5lc3RpbmctaWZyYW1lLXdpdGgtc2FuZGJveGVkLWlmcmFtZS1y
ZWRpcmVjdC1pcC10by1sb2NhbGhvc3QtdG8taXAtZGF0YWJhc2UuaHRtbDogUmVtb3ZlZC4KKyAg
ICAgICAgKiBodHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3Mvbm9uLXNhbmRib3hlZC1u
ZXN0aW5nLWlmcmFtZS13aXRoLXNhbmRib3hlZC1pZnJhbWUtcmVkaXJlY3QtbG9jYWxob3N0LXRv
LWlwLXRvLWxvY2FsaG9zdC1kYXRhYmFzZS1leHBlY3RlZC50eHQ6IFJlbW92ZWQuCisgICAgICAg
ICogaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL25vbi1zYW5kYm94ZWQtbmVzdGlu
Zy1pZnJhbWUtd2l0aC1zYW5kYm94ZWQtaWZyYW1lLXJlZGlyZWN0LWxvY2FsaG9zdC10by1pcC10
by1sb2NhbGhvc3QtZGF0YWJhc2UuaHRtbDogUmVtb3ZlZC4KKyAgICAgICAgKiBodHRwL3Rlc3Rz
L3Jlc291cmNlTG9hZFN0YXRpc3RpY3Mvb3BlcmF0aW5nLWRhdGVzLWFsbC1idXQtY29va2llcy1y
ZW1vdmVkLXN0YXRpc3RpY3Mtd2l0aC1uby11c2VyLWludGVyYWN0aW9uLWRhdGFiYXNlLWV4cGVj
dGVkLnR4dDogUmVtb3ZlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRp
c3RpY3Mvb3BlcmF0aW5nLWRhdGVzLWFsbC1idXQtY29va2llcy1yZW1vdmVkLXN0YXRpc3RpY3Mt
d2l0aC1uby11c2VyLWludGVyYWN0aW9uLWRhdGFiYXNlLmh0bWw6IFJlbW92ZWQuCisgICAgICAg
ICogaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL29wZXJhdGluZy1kYXRlcy1hbGwt
YnV0LWNvb2tpZXMtcmVtb3ZlZC1zdGF0aXN0aWNzLXdpdGgtbm8tdXNlci1pbnRlcmFjdGlvbi1l
eHBlY3RlZC50eHQ6CisgICAgICAgICogaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNz
L29wZXJhdGluZy1kYXRlcy1hbGwtd2Vic2l0ZS1kYXRhLXJlbW92ZWQtZGF0YWJhc2UtZXhwZWN0
ZWQudHh0OiBSZW1vdmVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlz
dGljcy9vcGVyYXRpbmctZGF0ZXMtYWxsLXdlYnNpdGUtZGF0YS1yZW1vdmVkLWRhdGFiYXNlLmh0
bWw6IFJlbW92ZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNz
L3BpbmctdG8tcHJldmFsZW50LXJlc291cmNlLWRhdGFiYXNlLWV4cGVjdGVkLnR4dDogUmVtb3Zl
ZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvcGluZy10by1w
cmV2YWxlbnQtcmVzb3VyY2UtZGF0YWJhc2UuaHRtbDogUmVtb3ZlZC4KKyAgICAgICAgKiBodHRw
L3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvcHJldmFsZW50LXJlc291cmNlLWhhbmRsZWQt
a2V5ZG93bi1kYXRhYmFzZS1leHBlY3RlZC50eHQ6IFJlbW92ZWQuCisgICAgICAgICogaHR0cC90
ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3ByZXZhbGVudC1yZXNvdXJjZS1oYW5kbGVkLWtl
eWRvd24tZGF0YWJhc2UuaHRtbDogUmVtb3ZlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3Jlc291
cmNlTG9hZFN0YXRpc3RpY3MvcHJldmFsZW50LXJlc291cmNlLXVuaGFuZGxlZC1rZXlkb3duLWRh
dGFiYXNlLWV4cGVjdGVkLnR4dDogUmVtb3ZlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3Jlc291
cmNlTG9hZFN0YXRpc3RpY3MvcHJldmFsZW50LXJlc291cmNlLXVuaGFuZGxlZC1rZXlkb3duLWRh
dGFiYXNlLmh0bWw6IFJlbW92ZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRT
dGF0aXN0aWNzL3ByZXZhbGVudC1yZXNvdXJjZS13aXRoLXVzZXItaW50ZXJhY3Rpb24tZGF0YWJh
c2UtZXhwZWN0ZWQudHh0OiBSZW1vdmVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvcmVzb3VyY2VM
b2FkU3RhdGlzdGljcy9wcmV2YWxlbnQtcmVzb3VyY2Utd2l0aC11c2VyLWludGVyYWN0aW9uLWRh
dGFiYXNlLmh0bWw6IFJlbW92ZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRT
dGF0aXN0aWNzL3ByZXZhbGVudC1yZXNvdXJjZS13aXRoLXVzZXItaW50ZXJhY3Rpb24tdGltZW91
dC1kYXRhYmFzZS1leHBlY3RlZC50eHQ6IFJlbW92ZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9y
ZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3ByZXZhbGVudC1yZXNvdXJjZS13aXRoLXVzZXItaW50ZXJh
Y3Rpb24tdGltZW91dC1kYXRhYmFzZS5odG1sOiBSZW1vdmVkLgorICAgICAgICAqIGh0dHAvdGVz
dHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9wcmV2YWxlbnQtcmVzb3VyY2Utd2l0aG91dC11c2Vy
LWludGVyYWN0aW9uLWRhdGFiYXNlLWV4cGVjdGVkLnR4dDogUmVtb3ZlZC4KKyAgICAgICAgKiBo
dHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvcHJldmFsZW50LXJlc291cmNlLXdpdGhv
dXQtdXNlci1pbnRlcmFjdGlvbi1kYXRhYmFzZS5odG1sOiBSZW1vdmVkLgorICAgICAgICAqIGh0
dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9wcnVuZS1zdGF0aXN0aWNzLWRhdGFiYXNl
LWV4cGVjdGVkLnR4dDogUmVtb3ZlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3Jlc291cmNlTG9h
ZFN0YXRpc3RpY3MvcHJ1bmUtc3RhdGlzdGljcy1kYXRhYmFzZS5odG1sOiBSZW1vdmVkLgorICAg
ICAgICAqIGh0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9yZW1vdmUtd2Vic2l0ZS1k
YXRhLWZvci1vcmlnaW4tZGVsZXRlcy1saW5rLWRlY29yYXRpb24tZGF0YWJhc2UtZXhwZWN0ZWQu
dHh0OiBSZW1vdmVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGlj
cy9yZW1vdmUtd2Vic2l0ZS1kYXRhLWZvci1vcmlnaW4tZGVsZXRlcy1saW5rLWRlY29yYXRpb24t
ZGF0YWJhc2UuaHRtbDogUmVtb3ZlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3Jlc291cmNlTG9h
ZFN0YXRpc3RpY3MvcmVtb3ZlLXdlYnNpdGUtZGF0YS1mb3Itb3JpZ2luLWRlbGV0ZXMtbGluay1k
ZWNvcmF0aW9uLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBodHRwL3Rlc3RzL3Jlc291cmNlTG9h
ZFN0YXRpc3RpY3MvcmVtb3ZlLXdlYnNpdGUtZGF0YS1mb3Itb3JpZ2luLWRlbGV0ZXMtbWl4ZWQt
c3RhdGlzdGljcy1lbnRyaWVzLWRhdGFiYXNlLWV4cGVjdGVkLnR4dDogUmVtb3ZlZC4KKyAgICAg
ICAgKiBodHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvcmVtb3ZlLXdlYnNpdGUtZGF0
YS1mb3Itb3JpZ2luLWRlbGV0ZXMtbWl4ZWQtc3RhdGlzdGljcy1lbnRyaWVzLWRhdGFiYXNlLmh0
bWw6IFJlbW92ZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNz
L3JlbW92ZS13ZWJzaXRlLWRhdGEtZm9yLW9yaWdpbi1kZWxldGVzLXRoaXJkLXBhcnR5LXNjcmlw
dC1sb2Fkcy1kYXRhYmFzZS1leHBlY3RlZC50eHQ6IFJlbW92ZWQuCisgICAgICAgICogaHR0cC90
ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3JlbW92ZS13ZWJzaXRlLWRhdGEtZm9yLW9yaWdp
bi1kZWxldGVzLXRoaXJkLXBhcnR5LXNjcmlwdC1sb2Fkcy1kYXRhYmFzZS5odG1sOiBSZW1vdmVk
LgorICAgICAgICAqIGh0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9yZW1vdmUtd2Vi
c2l0ZS1kYXRhLWZvci1vcmlnaW4tZGVsZXRlcy10aGlyZC1wYXJ0eS1zY3JpcHQtbG9hZHMtZXhw
ZWN0ZWQudHh0OgorICAgICAgICAqIGh0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9z
YW5kYm94ZWQtaWZyYW1lLXJlZGlyZWN0LWlwLXRvLWxvY2FsaG9zdC10by1pcC1kYXRhYmFzZS1l
eHBlY3RlZC50eHQ6IFJlbW92ZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRT
dGF0aXN0aWNzL3NhbmRib3hlZC1pZnJhbWUtcmVkaXJlY3QtaXAtdG8tbG9jYWxob3N0LXRvLWlw
LWRhdGFiYXNlLmh0bWw6IFJlbW92ZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9yZXNvdXJjZUxv
YWRTdGF0aXN0aWNzL3NhbmRib3hlZC1pZnJhbWUtcmVkaXJlY3QtbG9jYWxob3N0LXRvLWlwLXRv
LWxvY2FsaG9zdC1kYXRhYmFzZS1leHBlY3RlZC50eHQ6IFJlbW92ZWQuCisgICAgICAgICogaHR0
cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3NhbmRib3hlZC1pZnJhbWUtcmVkaXJlY3Qt
bG9jYWxob3N0LXRvLWlwLXRvLWxvY2FsaG9zdC1kYXRhYmFzZS5odG1sOiBSZW1vdmVkLgorICAg
ICAgICAqIGh0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9zYW5kYm94ZWQtbmVzdGlu
Zy1pZnJhbWUtd2l0aC1ub24tc2FuZGJveGVkLWlmcmFtZS1yZWRpcmVjdC1pcC10by1sb2NhbGhv
c3QtdG8taXAtZGF0YWJhc2UtZXhwZWN0ZWQudHh0OiBSZW1vdmVkLgorICAgICAgICAqIGh0dHAv
dGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9zYW5kYm94ZWQtbmVzdGluZy1pZnJhbWUtd2l0
aC1ub24tc2FuZGJveGVkLWlmcmFtZS1yZWRpcmVjdC1pcC10by1sb2NhbGhvc3QtdG8taXAtZGF0
YWJhc2UuaHRtbDogUmVtb3ZlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0
YXRpc3RpY3Mvc2FuZGJveGVkLW5lc3RpbmctaWZyYW1lLXdpdGgtbm9uLXNhbmRib3hlZC1pZnJh
bWUtcmVkaXJlY3QtbG9jYWxob3N0LXRvLWlwLXRvLWxvY2FsaG9zdC1kYXRhYmFzZS1leHBlY3Rl
ZC50eHQ6IFJlbW92ZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0
aWNzL3NhbmRib3hlZC1uZXN0aW5nLWlmcmFtZS13aXRoLW5vbi1zYW5kYm94ZWQtaWZyYW1lLXJl
ZGlyZWN0LWxvY2FsaG9zdC10by1pcC10by1sb2NhbGhvc3QtZGF0YWJhc2UuaHRtbDogUmVtb3Zl
ZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3Mvc2FuZGJveGVk
LW5lc3RpbmctaWZyYW1lLXdpdGgtc2FuZGJveGVkLWlmcmFtZS1yZWRpcmVjdC1pcC10by1sb2Nh
bGhvc3QtdG8taXAtZGF0YWJhc2UtZXhwZWN0ZWQudHh0OiBSZW1vdmVkLgorICAgICAgICAqIGh0
dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9zYW5kYm94ZWQtbmVzdGluZy1pZnJhbWUt
d2l0aC1zYW5kYm94ZWQtaWZyYW1lLXJlZGlyZWN0LWlwLXRvLWxvY2FsaG9zdC10by1pcC1kYXRh
YmFzZS5odG1sOiBSZW1vdmVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3Rh
dGlzdGljcy9zYW5kYm94ZWQtbmVzdGluZy1pZnJhbWUtd2l0aC1zYW5kYm94ZWQtaWZyYW1lLXJl
ZGlyZWN0LWxvY2FsaG9zdC10by1pcC10by1sb2NhbGhvc3QtZGF0YWJhc2UtZXhwZWN0ZWQudHh0
OiBSZW1vdmVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9z
YW5kYm94ZWQtbmVzdGluZy1pZnJhbWUtd2l0aC1zYW5kYm94ZWQtaWZyYW1lLXJlZGlyZWN0LWxv
Y2FsaG9zdC10by1pcC10by1sb2NhbGhvc3QtZGF0YWJhc2UuaHRtbDogUmVtb3ZlZC4KKyAgICAg
ICAgKiBodHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3Mvc2V0LWN1c3RvbS1wcmV2YWxl
bnQtcmVzb3VyY2UtaW4tZGVidWctbW9kZS1kYXRhYmFzZS1leHBlY3RlZC50eHQ6IFJlbW92ZWQu
CisgICAgICAgICogaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3NldC1jdXN0b20t
cHJldmFsZW50LXJlc291cmNlLWluLWRlYnVnLW1vZGUtZGF0YWJhc2UuaHRtbDogUmVtb3ZlZC4K
KyAgICAgICAgKiBodHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3Mvc3RhbmRhbG9uZS13
ZWItYXBwbGljYXRpb24tZXhlbXB0LWZyb20td2Vic2l0ZS1kYXRhLWRlbGV0aW9uLWRhdGFiYXNl
LWV4cGVjdGVkLnR4dDogUmVtb3ZlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3Jlc291cmNlTG9h
ZFN0YXRpc3RpY3Mvc3RhbmRhbG9uZS13ZWItYXBwbGljYXRpb24tZXhlbXB0LWZyb20td2Vic2l0
ZS1kYXRhLWRlbGV0aW9uLWRhdGFiYXNlLmh0bWw6IFJlbW92ZWQuCisgICAgICAgICogaHR0cC90
ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3N0cmlwLXJlZmVycmVyLXRvLW9yaWdpbi1mb3It
cHJldmFsZW50LXN1YnJlc291cmNlLXJlZGlyZWN0cy1kYXRhYmFzZS1leHBlY3RlZC50eHQ6IFJl
bW92ZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3N0cmlw
LXJlZmVycmVyLXRvLW9yaWdpbi1mb3ItcHJldmFsZW50LXN1YnJlc291cmNlLXJlZGlyZWN0cy1k
YXRhYmFzZS5odG1sOiBSZW1vdmVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvcmVzb3VyY2VMb2Fk
U3RhdGlzdGljcy9zdHJpcC1yZWZlcnJlci10by1vcmlnaW4tZm9yLXByZXZhbGVudC1zdWJyZXNv
dXJjZS1yZXF1ZXN0cy1kYXRhYmFzZS1leHBlY3RlZC50eHQ6IFJlbW92ZWQuCisgICAgICAgICog
aHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3N0cmlwLXJlZmVycmVyLXRvLW9yaWdp
bi1mb3ItcHJldmFsZW50LXN1YnJlc291cmNlLXJlcXVlc3RzLWRhdGFiYXNlLmh0bWw6IFJlbW92
ZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3N3aXRjaC1z
ZXNzaW9uLW9uLW5hdmlnYXRpb24tdG8tcHJldmFsZW50LXdpdGgtaW50ZXJhY3Rpb24tZGF0YWJh
c2UtZXhwZWN0ZWQudHh0OiBSZW1vdmVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvcmVzb3VyY2VM
b2FkU3RhdGlzdGljcy9zd2l0Y2gtc2Vzc2lvbi1vbi1uYXZpZ2F0aW9uLXRvLXByZXZhbGVudC13
aXRoLWludGVyYWN0aW9uLWRhdGFiYXNlLnBocDogUmVtb3ZlZC4KKyAgICAgICAgKiBodHRwL3Rl
c3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvdGVsZW1ldHJ5LWdlbmVyYXRpb24tYWR2YW5jZWQt
ZnVuY3Rpb25hbGl0eS1kYXRhYmFzZS1leHBlY3RlZC50eHQ6IFJlbW92ZWQuCisgICAgICAgICog
aHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3RlbGVtZXRyeS1nZW5lcmF0aW9uLWFk
dmFuY2VkLWZ1bmN0aW9uYWxpdHktZGF0YWJhc2UuaHRtbDogUmVtb3ZlZC4KKyAgICAgICAgKiBo
dHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvdGVsZW1ldHJ5LWdlbmVyYXRpb24tYmFz
aWMtZnVuY3Rpb25hbGl0eS1kYXRhYmFzZS1leHBlY3RlZC50eHQ6IFJlbW92ZWQuCisgICAgICAg
ICogaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3RlbGVtZXRyeS1nZW5lcmF0aW9u
LWJhc2ljLWZ1bmN0aW9uYWxpdHktZGF0YWJhc2UuaHRtbDogUmVtb3ZlZC4KKyAgICAgICAgKiBo
dHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvdGVsZW1ldHJ5LWdlbmVyYXRpb24tZXhw
ZWN0ZWQudHh0OgorICAgICAgICAqIGh0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy90
aGlyZC1wYXJ0eS1jb29raWUtYmxvY2tpbmctZGF0YWJhc2UtZXhwZWN0ZWQudHh0OiBSZW1vdmVk
LgorICAgICAgICAqIGh0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy90aGlyZC1wYXJ0
eS1jb29raWUtYmxvY2tpbmctZGF0YWJhc2UuaHRtbDogUmVtb3ZlZC4KKyAgICAgICAgKiBodHRw
L3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvdGhpcmQtcGFydHktY29va2llLWJsb2NraW5n
LWVwaGVtZXJhbC1kYXRhYmFzZS1leHBlY3RlZC50eHQ6IFJlbW92ZWQuCisgICAgICAgICogaHR0
cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3RoaXJkLXBhcnR5LWNvb2tpZS1ibG9ja2lu
Zy1lcGhlbWVyYWwtZGF0YWJhc2UuaHRtbDogUmVtb3ZlZC4KKyAgICAgICAgKiBodHRwL3Rlc3Rz
L3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvdGhpcmQtcGFydHktY29va2llLWJsb2NraW5nLW9uLXNp
dGVzLXdpdGhvdXQtdXNlci1pbnRlcmFjdGlvbi1kYXRhYmFzZS1leHBlY3RlZC50eHQ6IFJlbW92
ZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3RoaXJkLXBh
cnR5LWNvb2tpZS1ibG9ja2luZy1vbi1zaXRlcy13aXRob3V0LXVzZXItaW50ZXJhY3Rpb24tZGF0
YWJhc2UuaHRtbDogUmVtb3ZlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0
YXRpc3RpY3MvdXNlci1pbnRlcmFjdGlvbi1pbi1jcm9zcy1vcmlnaW4tc3ViLWZyYW1lLWRhdGFi
YXNlLWV4cGVjdGVkLnR4dDogUmVtb3ZlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3Jlc291cmNl
TG9hZFN0YXRpc3RpY3MvdXNlci1pbnRlcmFjdGlvbi1pbi1jcm9zcy1vcmlnaW4tc3ViLWZyYW1l
LWRhdGFiYXNlLmh0bWw6IFJlbW92ZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9yZXNvdXJjZUxv
YWRTdGF0aXN0aWNzL3VzZXItaW50ZXJhY3Rpb24tb25seS1yZXBvcnRlZC1vbmNlLXdpdGhpbi1z
aG9ydC1wZXJpb2Qtb2YtdGltZS1kYXRhYmFzZS1leHBlY3RlZC50eHQ6IFJlbW92ZWQuCisgICAg
ICAgICogaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3VzZXItaW50ZXJhY3Rpb24t
b25seS1yZXBvcnRlZC1vbmNlLXdpdGhpbi1zaG9ydC1wZXJpb2Qtb2YtdGltZS1kYXRhYmFzZS5o
dG1sOiBSZW1vdmVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGlj
cy91c2VyLWludGVyYWN0aW9uLXJlcG9ydGVkLWFmdGVyLXdlYnNpdGUtZGF0YS1yZW1vdmFsLWRh
dGFiYXNlLWV4cGVjdGVkLnR4dDogUmVtb3ZlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3Jlc291
cmNlTG9hZFN0YXRpc3RpY3MvdXNlci1pbnRlcmFjdGlvbi1yZXBvcnRlZC1hZnRlci13ZWJzaXRl
LWRhdGEtcmVtb3ZhbC1kYXRhYmFzZS5odG1sOiBSZW1vdmVkLgorICAgICAgICAqIGh0dHAvdGVz
dHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy93ZWJzaXRlLWRhdGEtcmVtb3ZhbC1mb3Itc2l0ZS1u
YXZpZ2F0ZWQtdG8td2l0aC1saW5rLWRlY29yYXRpb24tZGF0YWJhc2UtZXhwZWN0ZWQudHh0OiBS
ZW1vdmVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy93ZWJz
aXRlLWRhdGEtcmVtb3ZhbC1mb3Itc2l0ZS1uYXZpZ2F0ZWQtdG8td2l0aC1saW5rLWRlY29yYXRp
b24tZGF0YWJhc2UuaHRtbDogUmVtb3ZlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3Jlc291cmNl
TG9hZFN0YXRpc3RpY3Mvd2Vic2l0ZS1kYXRhLXJlbW92YWwtZm9yLXNpdGUtbmF2aWdhdGVkLXRv
LXdpdGgtbGluay1kZWNvcmF0aW9uLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBodHRwL3Rlc3Rz
L3Jlc291cmNlTG9hZFN0YXRpc3RpY3Mvd2Vic2l0ZS1kYXRhLXJlbW92YWwtZm9yLXNpdGUtd2l0
aC11c2VyLWludGVyYWN0aW9uLWRhdGFiYXNlLWV4cGVjdGVkLnR4dDogUmVtb3ZlZC4KKyAgICAg
ICAgKiBodHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3Mvd2Vic2l0ZS1kYXRhLXJlbW92
YWwtZm9yLXNpdGUtd2l0aC11c2VyLWludGVyYWN0aW9uLWRhdGFiYXNlLmh0bWw6IFJlbW92ZWQu
CisgICAgICAgICogaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3dlYnNpdGUtZGF0
YS1yZW1vdmFsLWZvci1zaXRlLXdpdGhvdXQtdXNlci1pbnRlcmFjdGlvbi1kYXRhYmFzZS1leHBl
Y3RlZC50eHQ6IFJlbW92ZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0
aXN0aWNzL3dlYnNpdGUtZGF0YS1yZW1vdmFsLWZvci1zaXRlLXdpdGhvdXQtdXNlci1pbnRlcmFj
dGlvbi1kYXRhYmFzZS5odG1sOiBSZW1vdmVkLgorICAgICAgICAqIHBsYXRmb3JtL2d0ay9UZXN0
RXhwZWN0YXRpb25zOgorICAgICAgICAqIHBsYXRmb3JtL2lvcy13azIvVGVzdEV4cGVjdGF0aW9u
czoKKyAgICAgICAgKiBwbGF0Zm9ybS9pb3MvVGVzdEV4cGVjdGF0aW9uczoKKyAgICAgICAgKiBw
bGF0Zm9ybS9tYWMtd2syL1Rlc3RFeHBlY3RhdGlvbnM6CisgICAgICAgICogcGxhdGZvcm0vd2sy
L1Rlc3RFeHBlY3RhdGlvbnM6CisgICAgICAgICogcGxhdGZvcm0vd3BlL1Rlc3RFeHBlY3RhdGlv
bnM6CisKIDIwMjAtMDktMjggIFphbGFuIEJ1anRhcyAgPHphbGFuQGFwcGxlLmNvbT4KIAogICAg
ICAgICBVbnJldmlld2VkLCB0ZXN0IGdhcmRlbmluZy4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9hZGQtYmxvY2tpbmctdG8tcmVkaXJl
Y3QtZGF0YWJhc2UtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJj
ZUxvYWRTdGF0aXN0aWNzL2FkZC1ibG9ja2luZy10by1yZWRpcmVjdC1kYXRhYmFzZS1leHBlY3Rl
ZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGYwZWJhOGZiODk3ZjM3Y2NiMjY2
MjczOGUxZDIwZGY0NjIwM2RhMjcuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNz
L2FkZC1ibG9ja2luZy10by1yZWRpcmVjdC1kYXRhYmFzZS1leHBlY3RlZC50eHQKKysrIC9kZXYv
bnVsbApAQCAtMSw2MyArMCwwIEBACi1UZXN0cyB0aGF0IGJsb2NraW5nIGlzIGFkZGVkIG1pZC1m
bGlnaHQgaW4gcmVkaXJlY3RzLgotCi1PbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMg
b2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCi0KLQotUEFT
UyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQotCi1URVNUIENPTVBMRVRFCi0KLQotLS0tLS0t
LS0KLUZyYW1lOiAnPCEtLWZyYW1lMS0tPicKLS0tLS0tLS0tCi1TaG91bGQgcmVjZWl2ZSBmaXJz
dC1wYXJ0eSBjb29raWUuCi1SZWNlaXZlZCBjb29raWUgbmFtZWQgJ2ZpcnN0UGFydHlDb29raWUn
LgotRGlkIG5vdCByZWNlaXZlIGNvb2tpZSBuYW1lZCAncGFydGl0aW9uZWRDb29raWUnLgotQ2xp
ZW50LXNpZGUgZG9jdW1lbnQuY29va2llOiBmaXJzdFBhcnR5Q29va2llPXZhbHVlCi0KLS0tLS0t
LS0tCi1GcmFtZTogJzwhLS1mcmFtZTItLT4nCi0tLS0tLS0tLQotUmVkaXJlY3QgY2FzZSAxLCBz
aG91bGQgcmVjZWl2ZSBmaXJzdC1wYXJ0eSBjb29raWUuCi1SZWNlaXZlZCBjb29raWUgbmFtZWQg
J2ZpcnN0UGFydHlDb29raWUnLgotRGlkIG5vdCByZWNlaXZlIGNvb2tpZSBuYW1lZCAncGFydGl0
aW9uZWRDb29raWUnLgotQ2xpZW50LXNpZGUgZG9jdW1lbnQuY29va2llOiBmaXJzdFBhcnR5Q29v
a2llPXZhbHVlCi0KLS0tLS0tLS0tCi1GcmFtZTogJzwhLS1mcmFtZTMtLT4nCi0tLS0tLS0tLQot
U2hvdWxkIHJlY2VpdmUgbm8gY29va2llcy4KLURpZCBub3QgcmVjZWl2ZSBjb29raWUgbmFtZWQg
J2ZpcnN0UGFydHlDb29raWUnLgotRGlkIG5vdCByZWNlaXZlIGNvb2tpZSBuYW1lZCAncGFydGl0
aW9uZWRDb29raWUnLgotQ2xpZW50LXNpZGUgZG9jdW1lbnQuY29va2llOgotCi0tLS0tLS0tLQot
RnJhbWU6ICc8IS0tZnJhbWU0LS0+JwotLS0tLS0tLS0KLVJlZGlyZWN0IGNhc2UgMiwgc2hvdWxk
IHJlY2VpdmUgbm8gY29va2llLgotRGlkIG5vdCByZWNlaXZlIGNvb2tpZSBuYW1lZCAnZmlyc3RQ
YXJ0eUNvb2tpZScuCi1EaWQgbm90IHJlY2VpdmUgY29va2llIG5hbWVkICdwYXJ0aXRpb25lZENv
b2tpZScuCi1DbGllbnQtc2lkZSBkb2N1bWVudC5jb29raWU6Ci0KLS0tLS0tLS0tCi1GcmFtZTog
JzwhLS1mcmFtZTUtLT4nCi0tLS0tLS0tLQotVHJ5IHRvIHNldCB0aGlyZC1wYXJ0eSBjb29raWUg
aW4gYmxvY2tlZCBtb2RlLgotCi0KLS0tLS0tLS0tCi1GcmFtZTogJzwhLS1mcmFtZTYtLT4nCi0t
LS0tLS0tLQotQWZ0ZXIgYXR0ZW1wdGVkIGNvb2tpZSBjcmVhdGlvbiwgc2hvdWxkIHJlY2VpdmUg
bm8gY29va2llLgotRGlkIG5vdCByZWNlaXZlIGNvb2tpZSBuYW1lZCAnZmlyc3RQYXJ0eUNvb2tp
ZScuCi1EaWQgbm90IHJlY2VpdmUgY29va2llIG5hbWVkICdwYXJ0aXRpb25lZENvb2tpZScuCi1D
bGllbnQtc2lkZSBkb2N1bWVudC5jb29raWU6Ci0KLS0tLS0tLS0tCi1GcmFtZTogJzwhLS1mcmFt
ZTctLT4nCi0tLS0tLS0tLQotUmVkaXJlY3QgY2FzZSAzLCBhZnRlciBhdHRlbXB0ZWQgY29va2ll
IGNyZWF0aW9uLCBzaG91bGQgcmVjZWl2ZSBubyBjb29raWUuCi1EaWQgbm90IHJlY2VpdmUgY29v
a2llIG5hbWVkICdmaXJzdFBhcnR5Q29va2llJy4KLURpZCBub3QgcmVjZWl2ZSBjb29raWUgbmFt
ZWQgJ3BhcnRpdGlvbmVkQ29va2llJy4KLUNsaWVudC1zaWRlIGRvY3VtZW50LmNvb2tpZToKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9h
ZGQtYmxvY2tpbmctdG8tcmVkaXJlY3QtZGF0YWJhc2UuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAv
dGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9hZGQtYmxvY2tpbmctdG8tcmVkaXJlY3QtZGF0
YWJhc2UuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMWU3OTQwNTc4OGMyZWU3
NWJkYTgzYTg5NzU4OWViNzljNmU3YTQ3ZS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRp
c3RpY3MvYWRkLWJsb2NraW5nLXRvLXJlZGlyZWN0LWRhdGFiYXNlLmh0bWwKKysrIC9kZXYvbnVs
bApAQCAtMSwxMDQgKzAsMCBAQAotPCFET0NUWVBFIGh0bWw+Ci08aHRtbCBsYW5nPSJlbiI+Ci08
aGVhZD4KLSAgICA8bWV0YSBjaGFyc2V0PSJVVEYtOCI+Ci0gICAgPHNjcmlwdCBzcmM9Ii9qcy10
ZXN0LXJlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KLSAgICA8c2NyaXB0IHNyYz0icmVz
b3VyY2VzL3V0aWwuanMiPjwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHk+Ci08c2NyaXB0PgotICAg
IGRlc2NyaXB0aW9uKCJUZXN0cyB0aGF0IGJsb2NraW5nIGlzIGFkZGVkIG1pZC1mbGlnaHQgaW4g
cmVkaXJlY3RzLiIpOwotICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOwotCi0gICAgY29uc3QgcGFy
dGl0aW9uSG9zdCA9ICIxMjcuMC4wLjE6ODAwMCI7Ci0gICAgY29uc3QgdGhpcmRQYXJ0eU9yaWdp
biA9ICJodHRwOi8vbG9jYWxob3N0OjgwMDAiOwotICAgIGNvbnN0IHJlc291cmNlUGF0aCA9ICIv
cmVzb3VyY2VMb2FkU3RhdGlzdGljcy9yZXNvdXJjZXMiOwotICAgIGNvbnN0IHRoaXJkUGFydHlC
YXNlVXJsID0gdGhpcmRQYXJ0eU9yaWdpbiArIHJlc291cmNlUGF0aDsKLSAgICBjb25zdCBmaXJz
dFBhcnR5Q29va2llTmFtZSA9ICJmaXJzdFBhcnR5Q29va2llIjsKLSAgICBjb25zdCBzdWJQYXRo
VG9TZXRGaXJzdFBhcnR5Q29va2llID0gIi9zZXQtY29va2llLnBocD9uYW1lPSIgKyBmaXJzdFBh
cnR5Q29va2llTmFtZSArICImdmFsdWU9dmFsdWUiOwotICAgIGNvbnN0IHBhcnRpdGlvbmVkQ29v
a2llTmFtZSA9ICJwYXJ0aXRpb25lZENvb2tpZSI7Ci0gICAgY29uc3Qgc3ViUGF0aFRvU2V0UGFy
dGl0aW9uZWRDb29raWUgPSAiL3NldC1jb29raWUucGhwP25hbWU9IiArIHBhcnRpdGlvbmVkQ29v
a2llTmFtZSArICImdmFsdWU9dmFsdWUiOwotICAgIGNvbnN0IHJldHVyblVybCA9ICJodHRwOi8v
IiArIHBhcnRpdGlvbkhvc3QgKyAiL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvYWRkLWJsb2NraW5n
LXRvLXJlZGlyZWN0LWRhdGFiYXNlLmh0bWwiOwotICAgIGNvbnN0IHN1YlBhdGhUb0dldENvb2tp
ZXMgPSAiL2dldC1jb29raWVzLnBocD9uYW1lMT0iICsgZmlyc3RQYXJ0eUNvb2tpZU5hbWUgKyAi
Jm5hbWUyPSIgKyBwYXJ0aXRpb25lZENvb2tpZU5hbWU7Ci0gICAgY29uc3QgcmVkaXJlY3RDaGFp
blVybCA9ICJodHRwOi8vIiArIHBhcnRpdGlvbkhvc3QgKyByZXNvdXJjZVBhdGggKyAiL3JlZGly
ZWN0LnBocD9yZWRpcmVjdFRvPSIgKyB0aGlyZFBhcnR5QmFzZVVybCArIHN1YlBhdGhUb0dldENv
b2tpZXM7Ci0KLSAgICBmdW5jdGlvbiBvcGVuSWZyYW1lKHVybCwgb25Mb2FkSGFuZGxlcikgewot
ICAgICAgICBjb25zdCBlbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiaWZyYW1lIik7
Ci0gICAgICAgIGVsZW1lbnQuc3JjID0gdXJsOwotICAgICAgICBpZiAob25Mb2FkSGFuZGxlcikg
ewotICAgICAgICAgICAgZWxlbWVudC5vbmxvYWQgPSBvbkxvYWRIYW5kbGVyOwotICAgICAgICB9
Ci0gICAgICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoZWxlbWVudCk7Ci0gICAgfQotCi0g
ICAgZnVuY3Rpb24gcnVuVGVzdCgpIHsKLSAgICAgICAgc3dpdGNoIChkb2N1bWVudC5sb2NhdGlv
bi5oYXNoKSB7Ci0gICAgICAgICAgICBjYXNlICIjc3RlcDEiOgotICAgICAgICAgICAgICAgIC8v
IFNldCBmaXJzdC1wYXJ0eSBjb29raWUgZm9yIGxvY2FsaG9zdC4KLSAgICAgICAgICAgICAgICBk
b2N1bWVudC5sb2NhdGlvbi5ocmVmID0gdGhpcmRQYXJ0eUJhc2VVcmwgKyBzdWJQYXRoVG9TZXRG
aXJzdFBhcnR5Q29va2llICsgIiMiICsgcmV0dXJuVXJsICsgIiNzdGVwMiI7Ci0gICAgICAgICAg
ICAgICAgYnJlYWs7Ci0gICAgICAgICAgICBjYXNlICIjc3RlcDIiOgotICAgICAgICAgICAgICAg
IC8vIENoZWNrIHRoYXQgdGhlIGNvb2tpZSBnZXRzIHNlbnQgZm9yIGxvY2FsaG9zdCB1bmRlciAx
MjcuMC4wLjEgc2luY2UgbG9jYWxob3N0IGlzIG5vdCBwcmV2YWxlbnQuCi0gICAgICAgICAgICAg
ICAgZG9jdW1lbnQubG9jYXRpb24uaGFzaCA9ICJzdGVwMyI7Ci0gICAgICAgICAgICAgICAgb3Bl
bklmcmFtZSh0aGlyZFBhcnR5QmFzZVVybCArIHN1YlBhdGhUb0dldENvb2tpZXMgKyAiJm1lc3Nh
Z2U9U2hvdWxkIHJlY2VpdmUgZmlyc3QtcGFydHkgY29va2llLiIsIHJ1blRlc3QpOwotICAgICAg
ICAgICAgICAgIGJyZWFrOwotICAgICAgICAgICAgY2FzZSAiI3N0ZXAzIjoKLSAgICAgICAgICAg
ICAgICBkb2N1bWVudC5sb2NhdGlvbi5oYXNoID0gInN0ZXA0IjsKLSAgICAgICAgICAgICAgICAv
LyBMb2FkIGFuIGlmcmFtZSBpbiBhIHJlZGlyZWN0IGNoYWluIHRoYXQgc3RhcnRzIHdpdGggMTI3
LjAuMC4xIGFuZCBlbmRzIHdpdGggbG9jYWxob3N0LiBFeHBlY3QgYSBjb29raWUgZm9yIGxvY2Fs
aG9zdC4KLSAgICAgICAgICAgICAgICBvcGVuSWZyYW1lKHJlZGlyZWN0Q2hhaW5VcmwgKyAiJm1l
c3NhZ2U9UmVkaXJlY3QgY2FzZSAxLCBzaG91bGQgcmVjZWl2ZSBmaXJzdC1wYXJ0eSBjb29raWUu
IiwgcnVuVGVzdCk7Ci0gICAgICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgICAgICBjYXNlICIj
c3RlcDQiOgotICAgICAgICAgICAgICAgIC8vIFNldCBsb2NhbGhvc3QgYXMgcHJldmFsZW50IHRv
IHB1dCBpdCBpbiB0aGUgYmxvY2tpbmcgY2F0ZWdvcnkuCi0gICAgICAgICAgICAgICAgZG9jdW1l
bnQubG9jYXRpb24uaGFzaCA9ICJzdGVwNSI7Ci0gICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5z
ZXRTdGF0aXN0aWNzUHJldmFsZW50UmVzb3VyY2UodGhpcmRQYXJ0eU9yaWdpbiwgdHJ1ZSwgZnVu
Y3Rpb24oKSB7Ci0gICAgICAgICAgICAgICAgICAgIGlmICghdGVzdFJ1bm5lci5pc1N0YXRpc3Rp
Y3NQcmV2YWxlbnRSZXNvdXJjZSh0aGlyZFBhcnR5T3JpZ2luKSkKLSAgICAgICAgICAgICAgICAg
ICAgICAgIHRlc3RGYWlsZWQoIkhvc3QgZGlkIG5vdCBnZXQgc2V0IGFzIHByZXZhbGVudCByZXNv
dXJjZS4iKTsKLSAgICAgICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5zdGF0aXN0aWNzVXBkYXRl
Q29va2llQmxvY2tpbmcocnVuVGVzdCk7Ci0gICAgICAgICAgICAgICAgfSk7Ci0gICAgICAgICAg
ICAgICAgYnJlYWs7Ci0gICAgICAgICAgICBjYXNlICIjc3RlcDUiOgotICAgICAgICAgICAgICAg
IC8vIENoZWNrIHRoYXQgbm8gY29va2llIGdldHMgc2VudCBmb3IgbG9jYWxob3N0IHVuZGVyIDEy
Ny4wLjAuMSBzaW5jZSBsb2NhbGhvc3QncyBjb29raWVzIGFyZSBibG9ja2VkLgotICAgICAgICAg
ICAgICAgIGRvY3VtZW50LmxvY2F0aW9uLmhhc2ggPSAic3RlcDYiOwotICAgICAgICAgICAgICAg
IG9wZW5JZnJhbWUodGhpcmRQYXJ0eUJhc2VVcmwgKyBzdWJQYXRoVG9HZXRDb29raWVzICsgICIm
bWVzc2FnZT1TaG91bGQgcmVjZWl2ZSBubyBjb29raWVzLiIsIHJ1blRlc3QpOwotICAgICAgICAg
ICAgICAgIGJyZWFrOwotICAgICAgICAgICAgY2FzZSAiI3N0ZXA2IjoKLSAgICAgICAgICAgICAg
ICAvLyBMb2FkIGFuIGlmcmFtZSBpbiBhIHJlZGlyZWN0IGNoYWluIHRoYXQgc3RhcnRzIHdpdGgg
MTI3LjAuMC4xIGFuZCBlbmRzIHdpdGggbG9jYWxob3N0LiBFeHBlY3Qgbm8gY29va2llIGZvciBs
b2NhbGhvc3QuCi0gICAgICAgICAgICAgICAgZG9jdW1lbnQubG9jYXRpb24uaGFzaCA9ICJzdGVw
NyI7Ci0gICAgICAgICAgICAgICAgb3BlbklmcmFtZShyZWRpcmVjdENoYWluVXJsICsgIiZtZXNz
YWdlPVJlZGlyZWN0IGNhc2UgMiwgc2hvdWxkIHJlY2VpdmUgbm8gY29va2llLiIsIHJ1blRlc3Qp
OwotICAgICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICAgICAgY2FzZSAiI3N0ZXA3IjoKLSAg
ICAgICAgICAgICAgICAvLyBUcnkgdG8gc2V0IGNvb2tpZSBmb3IgbG9jYWxob3N0IHVuZGVyIDEy
Ny4wLjAuMS4KLSAgICAgICAgICAgICAgICBkb2N1bWVudC5sb2NhdGlvbi5oYXNoID0gInN0ZXA4
IjsKLSAgICAgICAgICAgICAgICBvcGVuSWZyYW1lKHRoaXJkUGFydHlCYXNlVXJsICsgc3ViUGF0
aFRvU2V0UGFydGl0aW9uZWRDb29raWUgKyAiJm1lc3NhZ2U9VHJ5IHRvIHNldCB0aGlyZC1wYXJ0
eSBjb29raWUgaW4gYmxvY2tlZCBtb2RlLiIsIHJ1blRlc3QpOwotICAgICAgICAgICAgICAgIGJy
ZWFrOwotICAgICAgICAgICAgY2FzZSAiI3N0ZXA4IjoKLSAgICAgICAgICAgICAgICAvLyBDaGVj
ayB0aGF0IG5vIGNvb2tpZSBnZXRzIHNlbnQgZm9yIGxvY2FsaG9zdCB1bmRlciAxMjcuMC4wLjEg
c2luY2UgbG9jYWxob3N0J3MgY29va2llcyBhcmUgYmxvY2tlZC4KLSAgICAgICAgICAgICAgICBk
b2N1bWVudC5sb2NhdGlvbi5oYXNoID0gInN0ZXA5IjsKLSAgICAgICAgICAgICAgICBvcGVuSWZy
YW1lKHRoaXJkUGFydHlCYXNlVXJsICsgc3ViUGF0aFRvR2V0Q29va2llcyArICAiJm1lc3NhZ2U9
QWZ0ZXIgYXR0ZW1wdGVkIGNvb2tpZSBjcmVhdGlvbiwgc2hvdWxkIHJlY2VpdmUgbm8gY29va2ll
LiIsIHJ1blRlc3QpOwotICAgICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICAgICAgY2FzZSAi
I3N0ZXA5IjoKLSAgICAgICAgICAgICAgICAvLyBMb2FkIGFuIGlmcmFtZSBpbiBhIHJlZGlyZWN0
IGNoYWluIHRoYXQgc3RhcnRzIHdpdGggMTI3LjAuMC4xIGFuZCBlbmRzIHdpdGggbG9jYWxob3N0
LiBFeHBlY3Qgbm8gY29va2llIGZvciBsb2NhbGhvc3QuCi0gICAgICAgICAgICAgICAgZG9jdW1l
bnQubG9jYXRpb24uaGFzaCA9ICJzdGVwMTAiOwotICAgICAgICAgICAgICAgIG9wZW5JZnJhbWUo
cmVkaXJlY3RDaGFpblVybCArICImbWVzc2FnZT1SZWRpcmVjdCBjYXNlIDMsIGFmdGVyIGF0dGVt
cHRlZCBjb29raWUgY3JlYXRpb24sIHNob3VsZCByZWNlaXZlIG5vIGNvb2tpZS4iLCBydW5UZXN0
KTsKLSAgICAgICAgICAgICAgICBicmVhazsKLSAgICAgICAgICAgIGNhc2UgIiNzdGVwMTAiOgot
ICAgICAgICAgICAgICAgIHNldEVuYWJsZUZlYXR1cmUoZmFsc2UsIGZpbmlzaEpTVGVzdCk7Ci0g
ICAgICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgIH0KLSAgICB9Ci0KLSAgICBpZiAoZG9jdW1l
bnQubG9jYXRpb24uaGFzaCA9PT0gIiIpIHsKLSAgICAgICAgdGVzdFJ1bm5lci5zZXRVc2VJVFBE
YXRhYmFzZSh0cnVlKTsKLSAgICAgICAgc2V0RW5hYmxlRmVhdHVyZSh0cnVlLCBmdW5jdGlvbiAo
KSB7Ci0gICAgICAgICAgICBpZiAodGVzdFJ1bm5lci5pc1N0YXRpc3RpY3NQcmV2YWxlbnRSZXNv
dXJjZSh0aGlyZFBhcnR5T3JpZ2luKSkKLSAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKCJMb2Nh
bGhvc3Qgd2FzIGNsYXNzaWZpZWQgYXMgcHJldmFsZW50IHJlc291cmNlIGJlZm9yZSB0aGUgdGVz
dCBzdGFydHMuIik7Ci0gICAgICAgICAgICB0ZXN0UnVubmVyLmR1bXBDaGlsZEZyYW1lc0FzVGV4
dCgpOwotICAgICAgICAgICAgZG9jdW1lbnQubG9jYXRpb24uaGFzaCA9ICJzdGVwMSI7Ci0gICAg
ICAgICAgICBydW5UZXN0KCk7Ci0gICAgICAgIH0pOwotICAgIH0gZWxzZSB7Ci0gICAgICAgIHJ1
blRlc3QoKTsKLSAgICB9Ci08L3NjcmlwdD4KLTwvYm9keT4KLTwvaHRtbD4KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9hZ2dyZWdhdGUt
c29ydGVkLWRhdGEtbm8tc3RvcmFnZS1hY2Nlc3MtZGF0YWJhc2UtZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2FnZ3JlZ2F0ZS1zb3J0
ZWQtZGF0YS1uby1zdG9yYWdlLWFjY2Vzcy1kYXRhYmFzZS1leHBlY3RlZC50eHQKZGVsZXRlZCBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDFlYmQ0MmM4MjYxZDE0MmM0ZTVhOTEzZWY1MTRiMzI2MWM3
NzQ4NDQuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2FnZ3JlZ2F0ZS1zb3J0
ZWQtZGF0YS1uby1zdG9yYWdlLWFjY2Vzcy1kYXRhYmFzZS1leHBlY3RlZC50eHQKKysrIC9kZXYv
bnVsbApAQCAtMSw4MyArMCwwIEBACi1DaGVjayBjb3JyZWN0IFVJIGRhdGEgZ2V0cyByZXBvcnRl
ZCB3aXRoIG5vIHN0b3JhZ2UgYWNjZXNzLgotCi0KLQotUmVzb3VyY2UgbG9hZCBzdGF0aXN0aWNz
OgotCi1SZWdpc3RyYWJsZSBkb21haW46IHN1YmZyYW1lMQotICAgIGhhZFVzZXJJbnRlcmFjdGlv
bjogTm8KLSAgICBtb3N0UmVjZW50VXNlckludGVyYWN0aW9uOiAtMQotICAgIGdyYW5kZmF0aGVy
ZWQ6IE5vCi0gICAgSXNTY2hlZHVsZWRGb3JBbGxCdXRDb29raWVEYXRhUmVtb3ZhbDogTm8KLSAg
ICBTdWJmcmFtZVVuZGVyVG9wRnJhbWVEb21haW5zOgotICAgICAgICB0b3BmcmFtZTEKLSAgICBT
dWJyZXNvdXJjZVVuaXF1ZVJlZGlyZWN0c1RvOgotICAgICAgICB0b3BmcmFtZTIKLSAgICBpc1By
ZXZhbGVudFJlc291cmNlOiBZZXMKLSAgICBpc1ZlcnlQcmV2YWxlbnRSZXNvdXJjZTogTm8KLSAg
ICBkYXRhUmVjb3Jkc1JlbW92ZWQ6IDAKLVJlZ2lzdHJhYmxlIGRvbWFpbjogc3ViZnJhbWUyCi0g
ICAgaGFkVXNlckludGVyYWN0aW9uOiBObwotICAgIG1vc3RSZWNlbnRVc2VySW50ZXJhY3Rpb246
IC0xCi0gICAgZ3JhbmRmYXRoZXJlZDogTm8KLSAgICBJc1NjaGVkdWxlZEZvckFsbEJ1dENvb2tp
ZURhdGFSZW1vdmFsOiBObwotICAgIFN1YmZyYW1lVW5kZXJUb3BGcmFtZURvbWFpbnM6Ci0gICAg
ICAgIHRvcGZyYW1lMQotICAgIGlzUHJldmFsZW50UmVzb3VyY2U6IFllcwotICAgIGlzVmVyeVBy
ZXZhbGVudFJlc291cmNlOiBObwotICAgIGRhdGFSZWNvcmRzUmVtb3ZlZDogMAotUmVnaXN0cmFi
bGUgZG9tYWluOiBzdWJmcmFtZTMKLSAgICBoYWRVc2VySW50ZXJhY3Rpb246IE5vCi0gICAgbW9z
dFJlY2VudFVzZXJJbnRlcmFjdGlvbjogLTEKLSAgICBncmFuZGZhdGhlcmVkOiBObwotICAgIElz
U2NoZWR1bGVkRm9yQWxsQnV0Q29va2llRGF0YVJlbW92YWw6IE5vCi0gICAgU3ViZnJhbWVVbmRl
clRvcEZyYW1lRG9tYWluczoKLSAgICAgICAgdG9wZnJhbWUxCi0gICAgICAgIHRvcGZyYW1lNAot
ICAgIFN1YnJlc291cmNlVW5kZXJUb3BGcmFtZURvbWFpbnM6Ci0gICAgICAgIHRvcGZyYW1lMwot
ICAgIFN1YnJlc291cmNlVW5pcXVlUmVkaXJlY3RzVG86Ci0gICAgICAgIHRvcGZyYW1lMgotICAg
IGlzUHJldmFsZW50UmVzb3VyY2U6IFllcwotICAgIGlzVmVyeVByZXZhbGVudFJlc291cmNlOiBO
bwotICAgIGRhdGFSZWNvcmRzUmVtb3ZlZDogMAotUmVnaXN0cmFibGUgZG9tYWluOiB0b3BmcmFt
ZTEKLSAgICBoYWRVc2VySW50ZXJhY3Rpb246IE5vCi0gICAgbW9zdFJlY2VudFVzZXJJbnRlcmFj
dGlvbjogLTEKLSAgICBncmFuZGZhdGhlcmVkOiBObwotICAgIElzU2NoZWR1bGVkRm9yQWxsQnV0
Q29va2llRGF0YVJlbW92YWw6IE5vCi0gICAgaXNQcmV2YWxlbnRSZXNvdXJjZTogTm8KLSAgICBp
c1ZlcnlQcmV2YWxlbnRSZXNvdXJjZTogTm8KLSAgICBkYXRhUmVjb3Jkc1JlbW92ZWQ6IDAKLVJl
Z2lzdHJhYmxlIGRvbWFpbjogdG9wZnJhbWUyCi0gICAgaGFkVXNlckludGVyYWN0aW9uOiBObwot
ICAgIG1vc3RSZWNlbnRVc2VySW50ZXJhY3Rpb246IC0xCi0gICAgZ3JhbmRmYXRoZXJlZDogTm8K
LSAgICBJc1NjaGVkdWxlZEZvckFsbEJ1dENvb2tpZURhdGFSZW1vdmFsOiBObwotICAgIGlzUHJl
dmFsZW50UmVzb3VyY2U6IE5vCi0gICAgaXNWZXJ5UHJldmFsZW50UmVzb3VyY2U6IE5vCi0gICAg
ZGF0YVJlY29yZHNSZW1vdmVkOiAwCi1SZWdpc3RyYWJsZSBkb21haW46IHRvcGZyYW1lMwotICAg
IGhhZFVzZXJJbnRlcmFjdGlvbjogTm8KLSAgICBtb3N0UmVjZW50VXNlckludGVyYWN0aW9uOiAt
MQotICAgIGdyYW5kZmF0aGVyZWQ6IE5vCi0gICAgSXNTY2hlZHVsZWRGb3JBbGxCdXRDb29raWVE
YXRhUmVtb3ZhbDogTm8KLSAgICBpc1ByZXZhbGVudFJlc291cmNlOiBObwotICAgIGlzVmVyeVBy
ZXZhbGVudFJlc291cmNlOiBObwotICAgIGRhdGFSZWNvcmRzUmVtb3ZlZDogMAotUmVnaXN0cmFi
bGUgZG9tYWluOiB0b3BmcmFtZTQKLSAgICBoYWRVc2VySW50ZXJhY3Rpb246IE5vCi0gICAgbW9z
dFJlY2VudFVzZXJJbnRlcmFjdGlvbjogLTEKLSAgICBncmFuZGZhdGhlcmVkOiBObwotICAgIElz
U2NoZWR1bGVkRm9yQWxsQnV0Q29va2llRGF0YVJlbW92YWw6IE5vCi0gICAgaXNQcmV2YWxlbnRS
ZXNvdXJjZTogTm8KLSAgICBpc1ZlcnlQcmV2YWxlbnRSZXNvdXJjZTogTm8KLSAgICBkYXRhUmVj
b3Jkc1JlbW92ZWQ6IDAKLQotSVRQIERhdGE6Ci1UaGlyZCBQYXJ0eSBSZWdpc3RyYWJsZSBEb21h
aW46IHN1YmZyYW1lMwotICAgIHt7IEhhcyBiZWVuIGdyYW50ZWQgc3RvcmFnZSBhY2Nlc3MgdW5k
ZXIgdG9wZnJhbWUxOiAwOyBIYXMgYmVlbiBzZWVuIHVuZGVyIHRvcGZyYW1lMSBpbiB0aGUgbGFz
dCAyNCBob3VyczogMSB9LHsgSGFzIGJlZW4gZ3JhbnRlZCBzdG9yYWdlIGFjY2VzcyB1bmRlciB0
b3BmcmFtZTQ6IDA7IEhhcyBiZWVuIHNlZW4gdW5kZXIgdG9wZnJhbWU0IGluIHRoZSBsYXN0IDI0
IGhvdXJzOiAxIH0seyBIYXMgYmVlbiBncmFudGVkIHN0b3JhZ2UgYWNjZXNzIHVuZGVyIHRvcGZy
YW1lMzogMDsgSGFzIGJlZW4gc2VlbiB1bmRlciB0b3BmcmFtZTMgaW4gdGhlIGxhc3QgMjQgaG91
cnM6IDEgfSx7IEhhcyBiZWVuIGdyYW50ZWQgc3RvcmFnZSBhY2Nlc3MgdW5kZXIgdG9wZnJhbWUy
OiAwOyBIYXMgYmVlbiBzZWVuIHVuZGVyIHRvcGZyYW1lMiBpbiB0aGUgbGFzdCAyNCBob3Vyczog
MSB9LH0KLVRoaXJkIFBhcnR5IFJlZ2lzdHJhYmxlIERvbWFpbjogc3ViZnJhbWUxCi0gICAge3sg
SGFzIGJlZW4gZ3JhbnRlZCBzdG9yYWdlIGFjY2VzcyB1bmRlciB0b3BmcmFtZTE6IDA7IEhhcyBi
ZWVuIHNlZW4gdW5kZXIgdG9wZnJhbWUxIGluIHRoZSBsYXN0IDI0IGhvdXJzOiAxIH0seyBIYXMg
YmVlbiBncmFudGVkIHN0b3JhZ2UgYWNjZXNzIHVuZGVyIHRvcGZyYW1lMjogMDsgSGFzIGJlZW4g
c2VlbiB1bmRlciB0b3BmcmFtZTIgaW4gdGhlIGxhc3QgMjQgaG91cnM6IDEgfSx9Ci1UaGlyZCBQ
YXJ0eSBSZWdpc3RyYWJsZSBEb21haW46IHN1YmZyYW1lMgotICAgIHt7IEhhcyBiZWVuIGdyYW50
ZWQgc3RvcmFnZSBhY2Nlc3MgdW5kZXIgdG9wZnJhbWUxOiAwOyBIYXMgYmVlbiBzZWVuIHVuZGVy
IHRvcGZyYW1lMSBpbiB0aGUgbGFzdCAyNCBob3VyczogMSB9LH0KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9hZ2dyZWdhdGUtc29ydGVk
LWRhdGEtbm8tc3RvcmFnZS1hY2Nlc3MtZGF0YWJhc2UuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAv
dGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9hZ2dyZWdhdGUtc29ydGVkLWRhdGEtbm8tc3Rv
cmFnZS1hY2Nlc3MtZGF0YWJhc2UuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
YTczNjkyMTFjMzNmZmY2OTA3ZTBjMGM0ZGMwYWM3ZGU4OGM5YmI1Ny4uMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jl
c291cmNlTG9hZFN0YXRpc3RpY3MvYWdncmVnYXRlLXNvcnRlZC1kYXRhLW5vLXN0b3JhZ2UtYWNj
ZXNzLWRhdGFiYXNlLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSw1OSArMCwwIEBACi08IURPQ1RZ
UEUgaHRtbD4KLTxodG1sPgotPGhlYWQ+Ci0gICAgPHNjcmlwdCBzcmM9Ii9jb29raWVzL3Jlc291
cmNlcy9jb29raWUtdXRpbGl0aWVzLmpzIj48L3NjcmlwdD4KLSAgICA8c2NyaXB0IHNyYz0icmVz
b3VyY2VzL3V0aWwuanMiPjwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHkgb25sb2FkPSJzZXRUaW1l
b3V0KCdydW5UZXN0KCknLCAwKSI+Ci08ZGl2IGlkPSJkZXNjcmlwdGlvbiI+Q2hlY2sgY29ycmVj
dCBVSSBkYXRhIGdldHMgcmVwb3J0ZWQgd2l0aCBubyBzdG9yYWdlIGFjY2Vzcy48L2Rpdj4KLTxi
cj4KLTxkaXYgaWQ9Im91dHB1dCI+PC9kaXY+Ci08YnI+Ci08c2NyaXB0PgotICAgIHRlc3RSdW5u
ZXIud2FpdFVudGlsRG9uZSgpOwotICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOwotCi0gICAg
ZnVuY3Rpb24gZmluaXNoVGVzdCgpIHsKLSAgICAgICAgdGVzdFJ1bm5lci5kdW1wUmVzb3VyY2VM
b2FkU3RhdGlzdGljcygpOwotICAgICAgICBzZXRFbmFibGVGZWF0dXJlKGZhbHNlLCBmdW5jdGlv
bigpIHsKLSAgICAgICAgICAgIHRlc3RSdW5uZXIubm90aWZ5RG9uZSgpOwotICAgICAgICB9KTsK
LSAgICB9Ci0KLSAgICBjb25zdCBzdWJPcmlnaW4xID0gImh0dHA6Ly9zdWJmcmFtZTE6ODAwMCI7
Ci0gICAgY29uc3Qgc3ViT3JpZ2luMiAgPSAiaHR0cDovL3N1YmZyYW1lMjo4MDAwIjsKLSAgICBj
b25zdCBzdWJPcmlnaW4zICA9ICJodHRwOi8vc3ViZnJhbWUzOjgwMDAiOwotCi0gICAgY29uc3Qg
dG9wRnJhbWVPcmlnaW4xID0gImh0dHA6Ly90b3BmcmFtZTE6ODAwMCI7Ci0gICAgY29uc3QgdG9w
RnJhbWVPcmlnaW4yID0gImh0dHA6Ly90b3BmcmFtZTI6ODAwMCI7Ci0gICAgY29uc3QgdG9wRnJh
bWVPcmlnaW4zID0gImh0dHA6Ly90b3BmcmFtZTM6ODAwMCI7Ci0gICAgY29uc3QgdG9wRnJhbWVP
cmlnaW40ID0gImh0dHA6Ly90b3BmcmFtZTQ6ODAwMCI7Ci0KLSAgICBmdW5jdGlvbiBydW5UZXN0
KCkgewotICAgICAgICB0ZXN0UnVubmVyLnNldFVzZUlUUERhdGFiYXNlKHRydWUpOwotICAgICAg
ICBzZXRFbmFibGVGZWF0dXJlKHRydWUsIGZ1bmN0aW9uICgpIHsKLSAgICAgICAgICAgIHRlc3RS
dW5uZXIuc2V0U3RhdGlzdGljc1ByZXZhbGVudFJlc291cmNlKHN1Yk9yaWdpbjEsIHRydWUsIGZ1
bmN0aW9uICgpIHsKLSAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NQcmV2
YWxlbnRSZXNvdXJjZShzdWJPcmlnaW4yLCB0cnVlLCBmdW5jdGlvbiAoKSB7Ci0gICAgICAgICAg
ICAgICAgICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc1ByZXZhbGVudFJlc291cmNlKHN1Yk9y
aWdpbjMsIHRydWUsIGZ1bmN0aW9uICgpIHsKLSAgICAgICAgICAgICAgICAgICAgICAgLy8gc3Vi
T3JpZ2luMSB3aWxsIGJlIGxvZ2dlZCB1bmRlciAyIHRvcCBmcmFtZXMuIFNob3VsZCBhcHBlYXIg
c2Vjb25kCi0gICAgICAgICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc1N1
YmZyYW1lVW5kZXJUb3BGcmFtZU9yaWdpbihzdWJPcmlnaW4xLCB0b3BGcmFtZU9yaWdpbjEpOwot
ICAgICAgICAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NTdWJyZXNvdXJj
ZVVuaXF1ZVJlZGlyZWN0VG8oc3ViT3JpZ2luMSwgdG9wRnJhbWVPcmlnaW4yKTsKLQotICAgICAg
ICAgICAgICAgICAgICAgICAvLyBzdWJPcmlnaW4yIHdpbGwgYmUgbG9nZ2VkIHVuZGVyIDEgdG9w
IGZyYW1lLiBTaG91bGQgYXBwZWFyIHRoaXJkCi0gICAgICAgICAgICAgICAgICAgICAgIHRlc3RS
dW5uZXIuc2V0U3RhdGlzdGljc1N1YmZyYW1lVW5kZXJUb3BGcmFtZU9yaWdpbihzdWJPcmlnaW4y
LCB0b3BGcmFtZU9yaWdpbjEpOwotCi0gICAgICAgICAgICAgICAgICAgICAgIC8vIHN1Yk9yaWdp
bjMgd2lsbCBiZSBsb2dnZWQgdW5kZXIgNCB0b3AgZnJhbWVzLiBTaG91bGQgYXBwZWFyIGZpcnN0
Ci0gICAgICAgICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc1N1YmZyYW1l
VW5kZXJUb3BGcmFtZU9yaWdpbihzdWJPcmlnaW4zLCB0b3BGcmFtZU9yaWdpbjEpOwotICAgICAg
ICAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NTdWJyZXNvdXJjZVVuaXF1
ZVJlZGlyZWN0VG8oc3ViT3JpZ2luMywgdG9wRnJhbWVPcmlnaW4yKTsKLSAgICAgICAgICAgICAg
ICAgICAgICAgdGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNzU3VicmVzb3VyY2VVbmRlclRvcEZyYW1l
T3JpZ2luKHN1Yk9yaWdpbjMsIHRvcEZyYW1lT3JpZ2luMyk7Ci0gICAgICAgICAgICAgICAgICAg
ICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc1N1YmZyYW1lVW5kZXJUb3BGcmFtZU9yaWdpbihz
dWJPcmlnaW4zLCB0b3BGcmFtZU9yaWdpbjQpOwotCi0gICAgICAgICAgICAgICAgICAgICAgIHNl
dFRpbWVvdXQoZnVuY3Rpb24gKCkgeyBmaW5pc2hUZXN0KCkgfSwgNTAwKTsKLSAgICAgICAgICAg
ICAgICAgICAgfSk7Ci0gICAgICAgICAgICAgICAgfSk7Ci0gICAgICAgICAgICB9KTsKLSAgICAg
ICAgfSk7Ci0gICAgfQotPC9zY3JpcHQ+Ci08L2JvZHk+Ci08L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvYWdncmVnYXRlLXNv
cnRlZC1kYXRhLW5vLXN0b3JhZ2UtYWNjZXNzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0
dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9hZ2dyZWdhdGUtc29ydGVkLWRhdGEtbm8t
c3RvcmFnZS1hY2Nlc3MtZXhwZWN0ZWQudHh0CmluZGV4IGRkY2U2ODljMTIyM2I5M2IwMmFiMDZk
OTQzM2E0ZjBlMGUwZDJiMmQuLjY3NGQ0YzI4MjJiYmZlNDVkNDIyNzc5Y2ZlODY0N2NmNTFlNWQ0
MGYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlz
dGljcy9hZ2dyZWdhdGUtc29ydGVkLWRhdGEtbm8tc3RvcmFnZS1hY2Nlc3MtZXhwZWN0ZWQudHh0
CisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9hZ2dy
ZWdhdGUtc29ydGVkLWRhdGEtbm8tc3RvcmFnZS1hY2Nlc3MtZXhwZWN0ZWQudHh0CkBAIC04LDkw
ICs4LDc2IEBAIFJlZ2lzdHJhYmxlIGRvbWFpbjogc3ViZnJhbWUxCiAgICAgaGFkVXNlckludGVy
YWN0aW9uOiBObwogICAgIG1vc3RSZWNlbnRVc2VySW50ZXJhY3Rpb246IC0xCiAgICAgZ3JhbmRm
YXRoZXJlZDogTm8KLSAgICBnb3RMaW5rRGVjb3JhdGlvbkZyb21QcmV2YWxlbnRSZXNvdXJjZTog
Tm8KLSAgICBzdWJmcmFtZVVuZGVyVG9wRnJhbWVEb21haW5zOgorICAgIElzU2NoZWR1bGVkRm9y
QWxsQnV0Q29va2llRGF0YVJlbW92YWw6IE5vCisgICAgU3ViZnJhbWVVbmRlclRvcEZyYW1lRG9t
YWluczoKICAgICAgICAgdG9wZnJhbWUxCi0gICAgc3VicmVzb3VyY2VVbmlxdWVSZWRpcmVjdHNU
bzoKKyAgICBTdWJyZXNvdXJjZVVuaXF1ZVJlZGlyZWN0c1RvOgogICAgICAgICB0b3BmcmFtZTIK
ICAgICBpc1ByZXZhbGVudFJlc291cmNlOiBZZXMKICAgICBpc1ZlcnlQcmV2YWxlbnRSZXNvdXJj
ZTogTm8KICAgICBkYXRhUmVjb3Jkc1JlbW92ZWQ6IDAKLSAgICBjYW52YXNSZWFkRGF0YTogTm8K
LQogUmVnaXN0cmFibGUgZG9tYWluOiBzdWJmcmFtZTIKICAgICBoYWRVc2VySW50ZXJhY3Rpb246
IE5vCiAgICAgbW9zdFJlY2VudFVzZXJJbnRlcmFjdGlvbjogLTEKICAgICBncmFuZGZhdGhlcmVk
OiBObwotICAgIGdvdExpbmtEZWNvcmF0aW9uRnJvbVByZXZhbGVudFJlc291cmNlOiBObwotICAg
IHN1YmZyYW1lVW5kZXJUb3BGcmFtZURvbWFpbnM6CisgICAgSXNTY2hlZHVsZWRGb3JBbGxCdXRD
b29raWVEYXRhUmVtb3ZhbDogTm8KKyAgICBTdWJmcmFtZVVuZGVyVG9wRnJhbWVEb21haW5zOgog
ICAgICAgICB0b3BmcmFtZTEKICAgICBpc1ByZXZhbGVudFJlc291cmNlOiBZZXMKICAgICBpc1Zl
cnlQcmV2YWxlbnRSZXNvdXJjZTogTm8KICAgICBkYXRhUmVjb3Jkc1JlbW92ZWQ6IDAKLSAgICBj
YW52YXNSZWFkRGF0YTogTm8KLQogUmVnaXN0cmFibGUgZG9tYWluOiBzdWJmcmFtZTMKICAgICBo
YWRVc2VySW50ZXJhY3Rpb246IE5vCiAgICAgbW9zdFJlY2VudFVzZXJJbnRlcmFjdGlvbjogLTEK
ICAgICBncmFuZGZhdGhlcmVkOiBObwotICAgIGdvdExpbmtEZWNvcmF0aW9uRnJvbVByZXZhbGVu
dFJlc291cmNlOiBObwotICAgIHN1YmZyYW1lVW5kZXJUb3BGcmFtZURvbWFpbnM6CisgICAgSXNT
Y2hlZHVsZWRGb3JBbGxCdXRDb29raWVEYXRhUmVtb3ZhbDogTm8KKyAgICBTdWJmcmFtZVVuZGVy
VG9wRnJhbWVEb21haW5zOgogICAgICAgICB0b3BmcmFtZTEKICAgICAgICAgdG9wZnJhbWU0Ci0g
ICAgc3VicmVzb3VyY2VVbmRlclRvcEZyYW1lRG9tYWluczoKKyAgICBTdWJyZXNvdXJjZVVuZGVy
VG9wRnJhbWVEb21haW5zOgogICAgICAgICB0b3BmcmFtZTMKLSAgICBzdWJyZXNvdXJjZVVuaXF1
ZVJlZGlyZWN0c1RvOgorICAgIFN1YnJlc291cmNlVW5pcXVlUmVkaXJlY3RzVG86CiAgICAgICAg
IHRvcGZyYW1lMgogICAgIGlzUHJldmFsZW50UmVzb3VyY2U6IFllcwogICAgIGlzVmVyeVByZXZh
bGVudFJlc291cmNlOiBObwogICAgIGRhdGFSZWNvcmRzUmVtb3ZlZDogMAotICAgIGNhbnZhc1Jl
YWREYXRhOiBObwotCiBSZWdpc3RyYWJsZSBkb21haW46IHRvcGZyYW1lMQogICAgIGhhZFVzZXJJ
bnRlcmFjdGlvbjogTm8KICAgICBtb3N0UmVjZW50VXNlckludGVyYWN0aW9uOiAtMQogICAgIGdy
YW5kZmF0aGVyZWQ6IE5vCi0gICAgZ290TGlua0RlY29yYXRpb25Gcm9tUHJldmFsZW50UmVzb3Vy
Y2U6IE5vCisgICAgSXNTY2hlZHVsZWRGb3JBbGxCdXRDb29raWVEYXRhUmVtb3ZhbDogTm8KICAg
ICBpc1ByZXZhbGVudFJlc291cmNlOiBObwogICAgIGlzVmVyeVByZXZhbGVudFJlc291cmNlOiBO
bwogICAgIGRhdGFSZWNvcmRzUmVtb3ZlZDogMAotICAgIGNhbnZhc1JlYWREYXRhOiBObwotCiBS
ZWdpc3RyYWJsZSBkb21haW46IHRvcGZyYW1lMgogICAgIGhhZFVzZXJJbnRlcmFjdGlvbjogTm8K
ICAgICBtb3N0UmVjZW50VXNlckludGVyYWN0aW9uOiAtMQogICAgIGdyYW5kZmF0aGVyZWQ6IE5v
Ci0gICAgZ290TGlua0RlY29yYXRpb25Gcm9tUHJldmFsZW50UmVzb3VyY2U6IE5vCisgICAgSXNT
Y2hlZHVsZWRGb3JBbGxCdXRDb29raWVEYXRhUmVtb3ZhbDogTm8KICAgICBpc1ByZXZhbGVudFJl
c291cmNlOiBObwogICAgIGlzVmVyeVByZXZhbGVudFJlc291cmNlOiBObwogICAgIGRhdGFSZWNv
cmRzUmVtb3ZlZDogMAotICAgIGNhbnZhc1JlYWREYXRhOiBObwotCiBSZWdpc3RyYWJsZSBkb21h
aW46IHRvcGZyYW1lMwogICAgIGhhZFVzZXJJbnRlcmFjdGlvbjogTm8KICAgICBtb3N0UmVjZW50
VXNlckludGVyYWN0aW9uOiAtMQogICAgIGdyYW5kZmF0aGVyZWQ6IE5vCi0gICAgZ290TGlua0Rl
Y29yYXRpb25Gcm9tUHJldmFsZW50UmVzb3VyY2U6IE5vCisgICAgSXNTY2hlZHVsZWRGb3JBbGxC
dXRDb29raWVEYXRhUmVtb3ZhbDogTm8KICAgICBpc1ByZXZhbGVudFJlc291cmNlOiBObwogICAg
IGlzVmVyeVByZXZhbGVudFJlc291cmNlOiBObwogICAgIGRhdGFSZWNvcmRzUmVtb3ZlZDogMAot
ICAgIGNhbnZhc1JlYWREYXRhOiBObwotCiBSZWdpc3RyYWJsZSBkb21haW46IHRvcGZyYW1lNAog
ICAgIGhhZFVzZXJJbnRlcmFjdGlvbjogTm8KICAgICBtb3N0UmVjZW50VXNlckludGVyYWN0aW9u
OiAtMQogICAgIGdyYW5kZmF0aGVyZWQ6IE5vCi0gICAgZ290TGlua0RlY29yYXRpb25Gcm9tUHJl
dmFsZW50UmVzb3VyY2U6IE5vCisgICAgSXNTY2hlZHVsZWRGb3JBbGxCdXRDb29raWVEYXRhUmVt
b3ZhbDogTm8KICAgICBpc1ByZXZhbGVudFJlc291cmNlOiBObwogICAgIGlzVmVyeVByZXZhbGVu
dFJlc291cmNlOiBObwogICAgIGRhdGFSZWNvcmRzUmVtb3ZlZDogMAotICAgIGNhbnZhc1JlYWRE
YXRhOiBObwotCiAKIElUUCBEYXRhOgogVGhpcmQgUGFydHkgUmVnaXN0cmFibGUgRG9tYWluOiBz
dWJmcmFtZTMKLSAgICB7eyBIYXMgYmVlbiBncmFudGVkIHN0b3JhZ2UgYWNjZXNzIHVuZGVyIHRv
cGZyYW1lMTogMDsgSGFzIGJlZW4gc2VlbiB1bmRlciB0b3BmcmFtZTEgaW4gdGhlIGxhc3QgMjQg
aG91cnM6IDAgfSx7IEhhcyBiZWVuIGdyYW50ZWQgc3RvcmFnZSBhY2Nlc3MgdW5kZXIgdG9wZnJh
bWU0OiAwOyBIYXMgYmVlbiBzZWVuIHVuZGVyIHRvcGZyYW1lNCBpbiB0aGUgbGFzdCAyNCBob3Vy
czogMCB9LHsgSGFzIGJlZW4gZ3JhbnRlZCBzdG9yYWdlIGFjY2VzcyB1bmRlciB0b3BmcmFtZTM6
IDA7IEhhcyBiZWVuIHNlZW4gdW5kZXIgdG9wZnJhbWUzIGluIHRoZSBsYXN0IDI0IGhvdXJzOiAw
IH0seyBIYXMgYmVlbiBncmFudGVkIHN0b3JhZ2UgYWNjZXNzIHVuZGVyIHRvcGZyYW1lMjogMDsg
SGFzIGJlZW4gc2VlbiB1bmRlciB0b3BmcmFtZTIgaW4gdGhlIGxhc3QgMjQgaG91cnM6IDAgfSx9
CisgICAge3sgSGFzIGJlZW4gZ3JhbnRlZCBzdG9yYWdlIGFjY2VzcyB1bmRlciB0b3BmcmFtZTE6
IDA7IEhhcyBiZWVuIHNlZW4gdW5kZXIgdG9wZnJhbWUxIGluIHRoZSBsYXN0IDI0IGhvdXJzOiAx
IH0seyBIYXMgYmVlbiBncmFudGVkIHN0b3JhZ2UgYWNjZXNzIHVuZGVyIHRvcGZyYW1lNDogMDsg
SGFzIGJlZW4gc2VlbiB1bmRlciB0b3BmcmFtZTQgaW4gdGhlIGxhc3QgMjQgaG91cnM6IDEgfSx7
IEhhcyBiZWVuIGdyYW50ZWQgc3RvcmFnZSBhY2Nlc3MgdW5kZXIgdG9wZnJhbWUzOiAwOyBIYXMg
YmVlbiBzZWVuIHVuZGVyIHRvcGZyYW1lMyBpbiB0aGUgbGFzdCAyNCBob3VyczogMSB9LHsgSGFz
IGJlZW4gZ3JhbnRlZCBzdG9yYWdlIGFjY2VzcyB1bmRlciB0b3BmcmFtZTI6IDA7IEhhcyBiZWVu
IHNlZW4gdW5kZXIgdG9wZnJhbWUyIGluIHRoZSBsYXN0IDI0IGhvdXJzOiAxIH0sfQogVGhpcmQg
UGFydHkgUmVnaXN0cmFibGUgRG9tYWluOiBzdWJmcmFtZTEKLSAgICB7eyBIYXMgYmVlbiBncmFu
dGVkIHN0b3JhZ2UgYWNjZXNzIHVuZGVyIHRvcGZyYW1lMTogMDsgSGFzIGJlZW4gc2VlbiB1bmRl
ciB0b3BmcmFtZTEgaW4gdGhlIGxhc3QgMjQgaG91cnM6IDAgfSx7IEhhcyBiZWVuIGdyYW50ZWQg
c3RvcmFnZSBhY2Nlc3MgdW5kZXIgdG9wZnJhbWUyOiAwOyBIYXMgYmVlbiBzZWVuIHVuZGVyIHRv
cGZyYW1lMiBpbiB0aGUgbGFzdCAyNCBob3VyczogMCB9LH0KKyAgICB7eyBIYXMgYmVlbiBncmFu
dGVkIHN0b3JhZ2UgYWNjZXNzIHVuZGVyIHRvcGZyYW1lMTogMDsgSGFzIGJlZW4gc2VlbiB1bmRl
ciB0b3BmcmFtZTEgaW4gdGhlIGxhc3QgMjQgaG91cnM6IDEgfSx7IEhhcyBiZWVuIGdyYW50ZWQg
c3RvcmFnZSBhY2Nlc3MgdW5kZXIgdG9wZnJhbWUyOiAwOyBIYXMgYmVlbiBzZWVuIHVuZGVyIHRv
cGZyYW1lMiBpbiB0aGUgbGFzdCAyNCBob3VyczogMSB9LH0KIFRoaXJkIFBhcnR5IFJlZ2lzdHJh
YmxlIERvbWFpbjogc3ViZnJhbWUyCi0gICAge3sgSGFzIGJlZW4gZ3JhbnRlZCBzdG9yYWdlIGFj
Y2VzcyB1bmRlciB0b3BmcmFtZTE6IDA7IEhhcyBiZWVuIHNlZW4gdW5kZXIgdG9wZnJhbWUxIGlu
IHRoZSBsYXN0IDI0IGhvdXJzOiAwIH0sfQorICAgIHt7IEhhcyBiZWVuIGdyYW50ZWQgc3RvcmFn
ZSBhY2Nlc3MgdW5kZXIgdG9wZnJhbWUxOiAwOyBIYXMgYmVlbiBzZWVuIHVuZGVyIHRvcGZyYW1l
MSBpbiB0aGUgbGFzdCAyNCBob3VyczogMSB9LH0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0
dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9ibG9ja2luZy1pbi13ZWItd29ya2VyLXNj
cmlwdC1pbXBvcnQtZGF0YWJhc2UtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0
cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2Jsb2NraW5nLWluLXdlYi13b3JrZXItc2NyaXB0LWlt
cG9ydC1kYXRhYmFzZS1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDljYjc5OTQzZWQ4YjQ5YTg0MWJkMTI5YjNmNWFjYTZlMmEzYjIxYmMuLjAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9y
ZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2Jsb2NraW5nLWluLXdlYi13b3JrZXItc2NyaXB0LWltcG9y
dC1kYXRhYmFzZS1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSwxOCArMCwwIEBACi1U
ZXN0IGZvciBjb29raWUgYmxvY2tpbmcgd2hlbiB3ZWIgd29ya2VycyBpbXBvcnQgY3Jvc3Mtc2l0
ZSBzY3JpcHRzLgotCi1PbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1Mi
IG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCi0KLQotUEFTUyBEaWQgcmVj
ZWl2ZSBmaXJzdFBhcnR5Q29va2llID09IHZhbHVlCi1QQVNTIERpZCBub3QgcmVjZWl2ZSBjb29r
aWUgbmFtZWQgZmlyc3RQYXJ0eUNvb2tpZQotUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1
ZQotCi1URVNUIENPTVBMRVRFCi0KLQotLS0tLS0tLS0KLUZyYW1lOiAnPCEtLWZyYW1lMS0tPicK
LS0tLS0tLS0tCi1TaG91bGQgcmVjZWl2ZSBmaXJzdC1wYXJ0eSBjb29raWUuCi1SZWNlaXZlZCBj
b29raWUgbmFtZWQgJ2ZpcnN0UGFydHlDb29raWUnLgotQ2xpZW50LXNpZGUgZG9jdW1lbnQuY29v
a2llOiBmaXJzdFBhcnR5Q29va2llPXZhbHVlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvYmxvY2tpbmctaW4td2ViLXdvcmtlci1zY3Jp
cHQtaW1wb3J0LWRhdGFiYXNlLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNl
TG9hZFN0YXRpc3RpY3MvYmxvY2tpbmctaW4td2ViLXdvcmtlci1zY3JpcHQtaW1wb3J0LWRhdGFi
YXNlLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGRkMDE0ZDhkMGZiMDc5ZjM4
MDE5MmVmOTE4ODM3Y2UwYzlkZDYxZDMuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0
aWNzL2Jsb2NraW5nLWluLXdlYi13b3JrZXItc2NyaXB0LWltcG9ydC1kYXRhYmFzZS5odG1sCisr
KyAvZGV2L251bGwKQEAgLTEsODggKzAsMCBAQAotPCFET0NUWVBFIGh0bWw+Ci08aHRtbCBsYW5n
PSJlbiI+Ci08aGVhZD4KLSAgICA8c2NyaXB0IHNyYz0iL2pzLXRlc3QtcmVzb3VyY2VzL2pzLXRl
c3QuanMiPjwvc2NyaXB0PgotICAgIDxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvdXRpbC5qcyI+PC9z
Y3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keT4KLTxzY3JpcHQ+Ci0gICAgZGVzY3JpcHRpb24oIlRlc3Qg
Zm9yIGNvb2tpZSBibG9ja2luZyB3aGVuIHdlYiB3b3JrZXJzIGltcG9ydCBjcm9zcy1zaXRlIHNj
cmlwdHMuIik7Ci0gICAganNUZXN0SXNBc3luYyA9IHRydWU7Ci0KLSAgICBjb25zdCBwYXJ0aXRp
b25Ib3N0ID0gIjEyNy4wLjAuMTo4MDAwIjsKLSAgICBjb25zdCB0aGlyZFBhcnR5T3JpZ2luID0g
Imh0dHA6Ly9sb2NhbGhvc3Q6ODAwMCI7Ci0gICAgY29uc3QgdGhpcmRQYXJ0eUJhc2VVcmwgPSB0
aGlyZFBhcnR5T3JpZ2luICsgIi9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3Jlc291cmNlcyI7Ci0g
ICAgY29uc3QgZmlyc3RQYXJ0eUNvb2tpZU5hbWUgPSAiZmlyc3RQYXJ0eUNvb2tpZSI7Ci0gICAg
Y29uc3Qgc3ViUGF0aFRvU2V0Rmlyc3RQYXJ0eUNvb2tpZSA9ICIvc2V0LWNvb2tpZS5waHA/bmFt
ZT0iICsgZmlyc3RQYXJ0eUNvb2tpZU5hbWUgKyAiJnZhbHVlPXZhbHVlIjsKLSAgICBjb25zdCBy
ZXR1cm5VcmwgPSAiaHR0cDovLzEyNy4wLjAuMTo4MDAwL3Jlc291cmNlTG9hZFN0YXRpc3RpY3Mv
YmxvY2tpbmctaW4td2ViLXdvcmtlci1zY3JpcHQtaW1wb3J0LWRhdGFiYXNlLmh0bWwiOwotICAg
IGNvbnN0IHN1YlBhdGhUb0dldENvb2tpZXMgPSAiL2dldC1jb29raWVzLnBocD9uYW1lMT0iICsg
Zmlyc3RQYXJ0eUNvb2tpZU5hbWU7Ci0KLSAgICBmdW5jdGlvbiBvcGVuSWZyYW1lKHVybCwgb25M
b2FkSGFuZGxlcikgewotICAgICAgICBjb25zdCBlbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxl
bWVudCgiaWZyYW1lIik7Ci0gICAgICAgIGVsZW1lbnQuc3JjID0gdXJsOwotICAgICAgICBpZiAo
b25Mb2FkSGFuZGxlcikgewotICAgICAgICAgICAgZWxlbWVudC5vbmxvYWQgPSBvbkxvYWRIYW5k
bGVyOwotICAgICAgICB9Ci0gICAgICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoZWxlbWVu
dCk7Ci0gICAgfQotCi0gICAgbGV0IHJlY2VpdmVkTWVzc2FnZXMgPSAwOwotICAgIGZ1bmN0aW9u
IHJlY2VpdmVNZXNzYWdlKGV2ZW50KSB7Ci0gICAgICAgIGlmIChldmVudC5kYXRhLmluZGV4T2Yo
IlBBU1MiKSA9PT0gLTEpCi0gICAgICAgICAgICB0ZXN0RmFpbGVkKGV2ZW50LmRhdGEucmVwbGFj
ZSgiRkFJTCAiLCAiIikpOwotICAgICAgICBlbHNlCi0gICAgICAgICAgICB0ZXN0UGFzc2VkKGV2
ZW50LmRhdGEucmVwbGFjZSgiUEFTUyAiLCAiIikpOwotCi0gICAgICAgICsrcmVjZWl2ZWRNZXNz
YWdlczsKLSAgICAgICAgaWYgKHJlY2VpdmVkTWVzc2FnZXMgPj0gMikgewotICAgICAgICAgICAg
c2V0RW5hYmxlRmVhdHVyZShmYWxzZSwgZmluaXNoSlNUZXN0KTsKLSAgICAgICAgfSBlbHNlCi0g
ICAgICAgICAgICBydW5UZXN0KCk7Ci0gICAgfQotCi0gICAgZnVuY3Rpb24gcnVuVGVzdCgpIHsK
LSAgICAgICAgc3dpdGNoIChkb2N1bWVudC5sb2NhdGlvbi5oYXNoKSB7Ci0gICAgICAgICAgICBj
YXNlICIjc3RlcDEiOgotICAgICAgICAgICAgICAgIGRvY3VtZW50LmxvY2F0aW9uLmhyZWYgPSB0
aGlyZFBhcnR5QmFzZVVybCArIHN1YlBhdGhUb1NldEZpcnN0UGFydHlDb29raWUgKyAiIyIgKyBy
ZXR1cm5VcmwgKyAiI3N0ZXAyIjsKLSAgICAgICAgICAgICAgICBicmVhazsKLSAgICAgICAgICAg
IGNhc2UgIiNzdGVwMiI6Ci0gICAgICAgICAgICAgICAgZG9jdW1lbnQubG9jYXRpb24uaGFzaCA9
ICJzdGVwMyI7Ci0gICAgICAgICAgICAgICAgb3BlbklmcmFtZSh0aGlyZFBhcnR5QmFzZVVybCAr
IHN1YlBhdGhUb0dldENvb2tpZXMgKyAiJm1lc3NhZ2U9U2hvdWxkIHJlY2VpdmUgZmlyc3QtcGFy
dHkgY29va2llLiIsIHJ1blRlc3QpOwotICAgICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICAg
ICAgY2FzZSAiI3N0ZXAzIjoKLSAgICAgICAgICAgICAgICBkb2N1bWVudC5sb2NhdGlvbi5oYXNo
ID0gInN0ZXA0IjsKLSAgICAgICAgICAgICAgICBsZXQgdzEgPSBuZXcgV29ya2VyKCJyZXNvdXJj
ZXMvd29ya2VyLWltcG9ydGluZy1sb2NhbGhvc3Qtc2NyaXB0LmpzIik7Ci0gICAgICAgICAgICAg
ICAgdzEub25tZXNzYWdlID0gcmVjZWl2ZU1lc3NhZ2U7Ci0gICAgICAgICAgICAgICAgdzEucG9z
dE1lc3NhZ2UoInNob3VsZFJlY2VpdmVDb29raWVzPXRydWUiKTsKLSAgICAgICAgICAgICAgICBi
cmVhazsKLSAgICAgICAgICAgIGNhc2UgIiNzdGVwNCI6Ci0gICAgICAgICAgICAgICAgZG9jdW1l
bnQubG9jYXRpb24uaGFzaCA9ICJzdGVwNSI7Ci0gICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5z
ZXRTdGF0aXN0aWNzUHJldmFsZW50UmVzb3VyY2UodGhpcmRQYXJ0eU9yaWdpbiwgdHJ1ZSwgZnVu
Y3Rpb24oKSB7Ci0gICAgICAgICAgICAgICAgICAgIGlmICghdGVzdFJ1bm5lci5pc1N0YXRpc3Rp
Y3NQcmV2YWxlbnRSZXNvdXJjZSh0aGlyZFBhcnR5T3JpZ2luKSkKLSAgICAgICAgICAgICAgICAg
ICAgICAgIHRlc3RGYWlsZWQoIkhvc3QgZGlkIG5vdCBnZXQgc2V0IGFzIHByZXZhbGVudCByZXNv
dXJjZS4iKTsKLSAgICAgICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5zdGF0aXN0aWNzVXBkYXRl
Q29va2llQmxvY2tpbmcocnVuVGVzdCk7Ci0gICAgICAgICAgICAgICAgfSk7Ci0gICAgICAgICAg
ICAgICAgYnJlYWs7Ci0gICAgICAgICAgICBjYXNlICIjc3RlcDUiOgotICAgICAgICAgICAgICAg
IGxldCB3MiA9IG5ldyBXb3JrZXIoInJlc291cmNlcy93b3JrZXItaW1wb3J0aW5nLWxvY2FsaG9z
dC1zY3JpcHQuanMiKTsKLSAgICAgICAgICAgICAgICB3Mi5vbm1lc3NhZ2UgPSByZWNlaXZlTWVz
c2FnZTsKLSAgICAgICAgICAgICAgICB3Mi5wb3N0TWVzc2FnZSgic2hvdWxkTm90UmVjZWl2ZUNv
b2tpZXMiKTsKLSAgICAgICAgICAgICAgICBicmVhazsKLSAgICAgICAgfQotICAgIH0KLQotICAg
IGlmIChkb2N1bWVudC5sb2NhdGlvbi5ob3N0ID09PSBwYXJ0aXRpb25Ib3N0ICYmIGRvY3VtZW50
LmxvY2F0aW9uLmhhc2ggPT09ICIiICYmIHdpbmRvdy50ZXN0UnVubmVyICYmIHdpbmRvdy5pbnRl
cm5hbHMpIHsKLSAgICAgICAgdGVzdFJ1bm5lci5zZXRVc2VJVFBEYXRhYmFzZSh0cnVlKTsKLSAg
ICAgICAgc2V0RW5hYmxlRmVhdHVyZSh0cnVlLCBmdW5jdGlvbigpIHsKLSAgICAgICAgICAgIGRv
Y3VtZW50LmxvY2F0aW9uLmhhc2ggPSAic3RlcDEiOwotICAgICAgICAgICAgdGVzdFJ1bm5lci5k
dW1wQ2hpbGRGcmFtZXNBc1RleHQoKTsKLSAgICAgICAgICAgIGlmICh0ZXN0UnVubmVyLmlzU3Rh
dGlzdGljc1ByZXZhbGVudFJlc291cmNlKHRoaXJkUGFydHlPcmlnaW4pKQotICAgICAgICAgICAg
ICAgIHRlc3RGYWlsZWQoIkxvY2FsaG9zdCB3YXMgY2xhc3NpZmllZCBhcyBwcmV2YWxlbnQgcmVz
b3VyY2UgYmVmb3JlIHRoZSB0ZXN0IHN0YXJ0cy4iKTsKLSAgICAgICAgICAgIHJ1blRlc3QoKTsK
LSAgICAgICAgfSk7Ci0gICAgfSBlbHNlIHsKLSAgICAgICAgcnVuVGVzdCgpOwotICAgIH0KLTwv
c2NyaXB0PgotPC9ib2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90
ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NhcC1jYWNoZS1tYXgtYWdlLWZvci1wcmV2YWxl
bnQtcmVzb3VyY2UtZGF0YWJhc2UtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0
cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NhcC1jYWNoZS1tYXgtYWdlLWZvci1wcmV2YWxlbnQt
cmVzb3VyY2UtZGF0YWJhc2UtZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwY2NlNWFhMWMzNmE5NGQ1NTBiZGUyMjlhZGU0NDZmZjgzNTVjMWNiLi4wMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVz
dHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jYXAtY2FjaGUtbWF4LWFnZS1mb3ItcHJldmFsZW50
LXJlc291cmNlLWRhdGFiYXNlLWV4cGVjdGVkLnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDE0ICsw
LDAgQEAKLVRlc3RzIHRoYXQgY2FjaGUgbWF4LWFnZSBpcyBjYXBwZWQgZm9yIHByZXZhbGVudCBy
ZXNvdXJjZXMuCi0KLU9uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIg
bWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KLQotCi1QQVNTIGxvYWRlZFVy
bCBpcyAiaHR0cDovL2xvY2FsaG9zdDo4MDAwL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvcmVzb3Vy
Y2VzL2VjaG8tcXVlcnkucGhwP3ZhbHVlPTEyMzQiCi1QQVNTIGxvYWRlZFVybCBpcyAiaHR0cDov
L2xvY2FsaG9zdDo4MDAwL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvcmVzb3VyY2VzL2VjaG8tcXVl
cnkucGhwP3ZhbHVlPTQzMjEiCi1QQVNTIGxvYWRlZFVybCBpcyAiaHR0cDovL2xvY2FsaG9zdDo4
MDAwL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvcmVzb3VyY2VzL2VjaG8tcXVlcnkucGhwP3ZhbHVl
PSIKLVBBU1MgbG9hZGVkVXJsIGlzICJodHRwOi8vbG9jYWxob3N0OjgwMDAvcmVzb3VyY2VMb2Fk
U3RhdGlzdGljcy9yZXNvdXJjZXMvZWNoby1xdWVyeS5waHA/dmFsdWU9IgotUEFTUyBsb2FkZWRV
cmwgaXMgImh0dHA6Ly9sb2NhbGhvc3Q6ODAwMC9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3Jlc291
cmNlcy9lY2hvLXF1ZXJ5LnBocD92YWx1ZT0iCi1QQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0
cnVlCi0KLVRFU1QgQ09NUExFVEUKLQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0
cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NhcC1jYWNoZS1tYXgtYWdlLWZvci1wcmV2YWxlbnQt
cmVzb3VyY2UtZGF0YWJhc2UuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VM
b2FkU3RhdGlzdGljcy9jYXAtY2FjaGUtbWF4LWFnZS1mb3ItcHJldmFsZW50LXJlc291cmNlLWRh
dGFiYXNlLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDI2NGE0NTE4YTgzMzk0
NjA5MDczMzM3M2YxZjYwMjE2M2FhYjkzMmEuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0
aXN0aWNzL2NhcC1jYWNoZS1tYXgtYWdlLWZvci1wcmV2YWxlbnQtcmVzb3VyY2UtZGF0YWJhc2Uu
aHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDExMyArMCwwIEBACi08IURPQ1RZUEUgaHRtbD4KLTxo
dG1sPgotPGhlYWQ+Ci0gICAgPHNjcmlwdCBzcmM9Ii9qcy10ZXN0LXJlc291cmNlcy9qcy10ZXN0
LmpzIj48L3NjcmlwdD4KLSAgICA8c2NyaXB0IHNyYz0icmVzb3VyY2VzL3V0aWwuanMiPjwvc2Ny
aXB0PgotICAgIDx0aXRsZT5UZXN0cyBmb3IgQ2FwcGVkIENhY2hlIE1heC1BZ2U8L3RpdGxlPgot
PC9oZWFkPgotPGJvZHk+Ci08c2NyaXB0PgotICAgIGRlc2NyaXB0aW9uKCJUZXN0cyB0aGF0IGNh
Y2hlIG1heC1hZ2UgaXMgY2FwcGVkIGZvciBwcmV2YWxlbnQgcmVzb3VyY2VzLiIpOwotICAgIGpz
VGVzdElzQXN5bmMgPSB0cnVlOwotCi0gICAgdmFyIGxvYWRlZFVybDsKLSAgICBmdW5jdGlvbiBm
aXJzdEZldGNoKCkgewotICAgICAgICAvLyBUaGlzIHNob3VsZCBjcmVhdGUgYSBjYXBwZWQgY2Fj
aGUgZW50cnkuCi0gICAgICAgIGZldGNoKCJodHRwOi8vbG9jYWxob3N0OjgwMDAvcmVzb3VyY2VM
b2FkU3RhdGlzdGljcy9yZXNvdXJjZXMvY2FjaGVkLXBlcm1hbmVudC1yZWRpcmVjdC5waHAiLAot
ICAgICAgICAgICAgewotICAgICAgICAgICAgICAgIGNhY2hlOiAicmVsb2FkIiwKLSAgICAgICAg
ICAgICAgICBoZWFkZXJzOiB7Ci0gICAgICAgICAgICAgICAgICAgICJYLVdlYktpdCI6ICIxMjM0
IiwKLSAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICB9Ci0gICAgICAgICkudGhlbihmdW5j
dGlvbihyZXNwb25zZSkgewotICAgICAgICAgICAgbG9hZGVkVXJsID0gcmVzcG9uc2UudXJsOwot
ICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJsb2FkZWRVcmwiLCAiaHR0cDovL2xv
Y2FsaG9zdDo4MDAwL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvcmVzb3VyY2VzL2VjaG8tcXVlcnku
cGhwP3ZhbHVlPTEyMzQiKTsKLSAgICAgICAgICAgIHNlY29uZEZldGNoKCk7Ci0gICAgICAgIH0p
LmNhdGNoKGZ1bmN0aW9uKGVycm9yKSB7Ci0gICAgICAgICAgICB0ZXN0RmFpbGVkKGVycm9yLm1l
c3NhZ2UpOwotICAgICAgICAgICAgc2V0RW5hYmxlRmVhdHVyZShmYWxzZSwgZmluaXNoSlNUZXN0
KTsKLSAgICAgICAgfSk7Ci0gICAgfQotCi0gICAgZnVuY3Rpb24gc2Vjb25kRmV0Y2goKSB7Ci0g
ICAgICAgIC8vIFRoaXMgc2hvdWxkIG5vdCB0cmlnZ2VyIGEgc3VjY2Vzc2Z1bCBjYWNoZSBoaXQg
YW5kIGluc3RlYWQgY3JlYXRlIGFub3RoZXIgY2FwcGVkIGNhY2hlIGVudHJ5LgotICAgICAgICBm
ZXRjaCgiaHR0cDovL2xvY2FsaG9zdDo4MDAwL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvcmVzb3Vy
Y2VzL2NhY2hlZC1wZXJtYW5lbnQtcmVkaXJlY3QucGhwIiwKLSAgICAgICAgICAgIHsKLSAgICAg
ICAgICAgICAgICBjYWNoZTogImZvcmNlLWNhY2hlIiwKLSAgICAgICAgICAgICAgICBoZWFkZXJz
OiB7Ci0gICAgICAgICAgICAgICAgICAgICJYLVdlYktpdCI6ICI0MzIxIiwKLSAgICAgICAgICAg
ICAgICB9Ci0gICAgICAgICAgICB9Ci0gICAgICAgICkudGhlbihmdW5jdGlvbihyZXNwb25zZSkg
ewotICAgICAgICAgICAgbG9hZGVkVXJsID0gcmVzcG9uc2UudXJsOwotICAgICAgICAgICAgc2hv
dWxkQmVFcXVhbFRvU3RyaW5nKCJsb2FkZWRVcmwiLCAiaHR0cDovL2xvY2FsaG9zdDo4MDAwL3Jl
c291cmNlTG9hZFN0YXRpc3RpY3MvcmVzb3VyY2VzL2VjaG8tcXVlcnkucGhwP3ZhbHVlPTQzMjEi
KTsKLSAgICAgICAgICAgIHRoaXJkRmV0Y2goKTsKLSAgICAgICAgfSkuY2F0Y2goZnVuY3Rpb24o
ZXJyb3IpIHsKLSAgICAgICAgICAgIHRlc3RGYWlsZWQoZXJyb3IubWVzc2FnZSk7Ci0gICAgICAg
ICAgICBzZXRFbmFibGVGZWF0dXJlKGZhbHNlLCBmaW5pc2hKU1Rlc3QpOwotICAgICAgICB9KTsK
LSAgICB9Ci0KLSAgICBmdW5jdGlvbiB0aGlyZEZldGNoKCkgewotICAgICAgICAvLyBUaGlzIHNo
b3VsZCBub3QgdHJpZ2dlciBhIHN1Y2Nlc3NmdWwgY2FjaGUgaGl0IGFuZCBpbnN0ZWFkIGNyZWF0
ZSBhbm90aGVyIGNhcHBlZCBjYWNoZSBlbnRyeS4KLSAgICAgICAgZmV0Y2goImh0dHA6Ly9sb2Nh
bGhvc3Q6ODAwMC9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3Jlc291cmNlcy9jYWNoZWQtcGVybWFu
ZW50LXJlZGlyZWN0LnBocCIsCi0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgY2FjaGU6
ICJmb3JjZS1jYWNoZSIsCi0gICAgICAgICAgICB9Ci0gICAgICAgICkudGhlbihmdW5jdGlvbihy
ZXNwb25zZSkgewotICAgICAgICAgICAgbG9hZGVkVXJsID0gcmVzcG9uc2UudXJsOwotICAgICAg
ICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJsb2FkZWRVcmwiLCAiaHR0cDovL2xvY2FsaG9z
dDo4MDAwL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvcmVzb3VyY2VzL2VjaG8tcXVlcnkucGhwP3Zh
bHVlPSIpOwotICAgICAgICAgICAgZm91cnRoRmV0Y2goKTsKLSAgICAgICAgfSkuY2F0Y2goZnVu
Y3Rpb24oZXJyb3IpIHsKLSAgICAgICAgICAgIHRlc3RGYWlsZWQoZXJyb3IubWVzc2FnZSk7Ci0g
ICAgICAgICAgICBzZXRFbmFibGVGZWF0dXJlKGZhbHNlLCBmaW5pc2hKU1Rlc3QpOwotICAgICAg
ICB9KTsKLSAgICB9Ci0KLSAgICBmdW5jdGlvbiBmb3VydGhGZXRjaCgpIHsKLSAgICAgICAgLy8g
VGhpcyBzaG91bGQgbm90IHRyaWdnZXIgYSBzdWNjZXNzZnVsIGNhY2hlIGhpdCBidXQgY2xlYXIg
Y2FwcGluZy4KLSAgICAgICAgZmV0Y2goImh0dHA6Ly9sb2NhbGhvc3Q6ODAwMC9yZXNvdXJjZUxv
YWRTdGF0aXN0aWNzL3Jlc291cmNlcy9jYWNoZWQtcGVybWFuZW50LXJlZGlyZWN0LnBocCIsCi0g
ICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgY2FjaGU6ICJmb3JjZS1jYWNoZSIsCi0gICAg
ICAgICAgICB9Ci0gICAgICAgICkudGhlbihmdW5jdGlvbihyZXNwb25zZSkgewotICAgICAgICAg
ICAgbG9hZGVkVXJsID0gcmVzcG9uc2UudXJsOwotICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCJsb2FkZWRVcmwiLCAiaHR0cDovL2xvY2FsaG9zdDo4MDAwL3Jlc291cmNlTG9hZFN0
YXRpc3RpY3MvcmVzb3VyY2VzL2VjaG8tcXVlcnkucGhwP3ZhbHVlPSIpOwotICAgICAgICAgICAg
ZmlmdGhGZXRjaCgpOwotICAgICAgICB9KS5jYXRjaChmdW5jdGlvbihlcnJvcikgewotICAgICAg
ICAgICAgdGVzdEZhaWxlZChlcnJvci5tZXNzYWdlKTsKLSAgICAgICAgICAgIHNldEVuYWJsZUZl
YXR1cmUoZmFsc2UsIGZpbmlzaEpTVGVzdCk7Ci0gICAgICAgIH0pOwotICAgIH0KLQotICAgIGZ1
bmN0aW9uIGZpZnRoRmV0Y2goKSB7Ci0gICAgICAgIC8vIFRoaXMgc2hvdWxkIHRyaWdnZXIgYSBy
ZWd1bGFyLCBzdWNjZXNzZnVsIGNhY2hlIGhpdC4KLSAgICAgICAgZmV0Y2goImh0dHA6Ly9sb2Nh
bGhvc3Q6ODAwMC9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3Jlc291cmNlcy9jYWNoZWQtcGVybWFu
ZW50LXJlZGlyZWN0LnBocCIsCi0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgaGVhZGVy
czogewotICAgICAgICAgICAgICAgICAgICAiWC1XZWJLaXQiOiAiMTIzNCIsCi0gICAgICAgICAg
ICAgICAgfQotICAgICAgICAgICAgfQotICAgICAgICApLnRoZW4oZnVuY3Rpb24ocmVzcG9uc2Up
IHsKLSAgICAgICAgICAgIGxvYWRlZFVybCA9IHJlc3BvbnNlLnVybDsKLSAgICAgICAgICAgIHNo
b3VsZEJlRXF1YWxUb1N0cmluZygibG9hZGVkVXJsIiwgImh0dHA6Ly9sb2NhbGhvc3Q6ODAwMC9y
ZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3Jlc291cmNlcy9lY2hvLXF1ZXJ5LnBocD92YWx1ZT0iKTsK
LSAgICAgICAgICAgIHNldEVuYWJsZUZlYXR1cmUoZmFsc2UsIGZpbmlzaEpTVGVzdCk7Ci0gICAg
ICAgIH0pLmNhdGNoKGZ1bmN0aW9uKGVycm9yKSB7Ci0gICAgICAgICAgICB0ZXN0RmFpbGVkKGVy
cm9yLm1lc3NhZ2UpOwotICAgICAgICAgICAgc2V0RW5hYmxlRmVhdHVyZShmYWxzZSwgZmluaXNo
SlNUZXN0KTsKLSAgICAgICAgfSk7Ci0gICAgfQotICAgIHRlc3RSdW5uZXIuc2V0VXNlSVRQRGF0
YWJhc2UodHJ1ZSk7Ci0gICAgc2V0RW5hYmxlRmVhdHVyZSh0cnVlLCBmdW5jdGlvbigpIHsKLSAg
ICAgICAgaWYgKHRlc3RSdW5uZXIuaXNTdGF0aXN0aWNzUHJldmFsZW50UmVzb3VyY2UoImh0dHA6
Ly9sb2NhbGhvc3QiKSkKLSAgICAgICAgICAgIHRlc3RGYWlsZWQoIkxvY2FsaG9zdCB3YXMgY2xh
c3NpZmllZCBhcyBwcmV2YWxlbnQgcmVzb3VyY2UgYmVmb3JlIHRoZSB0ZXN0IHN0YXJ0ZWQuIik7
Ci0KLSAgICAgICAgdGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNzQ2FjaGVNYXhBZ2VDYXAoMCk7Ci0g
ICAgICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc1ByZXZhbGVudFJlc291cmNlKCJodHRwOi8v
bG9jYWxob3N0IiwgdHJ1ZSwgZnVuY3Rpb24oKSB7Ci0gICAgICAgICAgICB0ZXN0UnVubmVyLnN0
YXRpc3RpY3NVcGRhdGVDb29raWVCbG9ja2luZyhmaXJzdEZldGNoKTsKLSAgICAgICAgfSk7Ci0g
ICAgfSk7Ci08L3NjcmlwdD4KLTwvYm9keT4KLTwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jYXBwZWQtbGlmZXRpbWUtZm9y
LWNvb2tpZS1zZXQtaW4tanMtZGF0YWJhc2UtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NhcHBlZC1saWZldGltZS1mb3ItY29va2ll
LXNldC1pbi1qcy1kYXRhYmFzZS1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDQ4NDYyMGQ2ZDMzMTIxMTY0NTFhOGE1OWM4NGJlNjE3NjRjNDZlMzEuLjAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90
ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NhcHBlZC1saWZldGltZS1mb3ItY29va2llLXNl
dC1pbi1qcy1kYXRhYmFzZS1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSwxMSArMCww
IEBACi1DaGVjayB0aGF0IGNvb2tpZXMgY3JlYXRlZCBieSBKYXZhU2NyaXB0IHdpdGggbWF4LWFn
ZSBvciBleHBpcnkgbG9uZ2VyIHRoYW4gYSB3ZWVrIGdldCBjYXBwZWQgdG8gYSB3ZWVrLgotCi1P
biBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xs
b3dlZCBieSAiVEVTVCBDT01QTEVURSIuCi0KLQotUEFTUyBUaGUgdHdvIHNob3J0LWxpdmVkIGNv
b2tpZXMgZG9uJ3QgZXhwaXJlIGFmdGVyIG1vcmUgdGhhbiAxNzI4MzAgc2Vjb25kcy4KLVBBU1Mg
VGhlIHR3byBsb25nLWxpdmVkIGNvb2tpZXMgZG9uJ3QgZXhwaXJlIGFmdGVyIG1vcmUgdGhhbiA2
MDQ4MzAgc2Vjb25kcy4KLVBBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKLQotVEVTVCBD
T01QTEVURQotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9h
ZFN0YXRpc3RpY3MvY2FwcGVkLWxpZmV0aW1lLWZvci1jb29raWUtc2V0LWluLWpzLWRhdGFiYXNl
Lmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY2Fw
cGVkLWxpZmV0aW1lLWZvci1jb29raWUtc2V0LWluLWpzLWRhdGFiYXNlLmh0bWwKZGVsZXRlZCBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IGUyZmZkMDQxYWUzMmRlMjg2MDNiODE5MTAzMGNlOGEzMDVk
MjYyNmIuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NhcHBlZC1saWZldGlt
ZS1mb3ItY29va2llLXNldC1pbi1qcy1kYXRhYmFzZS5odG1sCisrKyAvZGV2L251bGwKQEAgLTEs
ODMgKzAsMCBAQAotPCFET0NUWVBFIGh0bWw+Ci08aHRtbD4KLTxoZWFkPgotICAgIDxzY3JpcHQg
c3JjPSIvanMtdGVzdC1yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+Ci0gICAgPHNjcmlw
dCBzcmM9Ii9jb29raWVzL3Jlc291cmNlcy9jb29raWUtdXRpbGl0aWVzLmpzIj48L3NjcmlwdD4K
LTwvaGVhZD4KLTxib2R5PgotPHNjcmlwdD4KLSAgICBkZXNjcmlwdGlvbigiQ2hlY2sgdGhhdCBj
b29raWVzIGNyZWF0ZWQgYnkgSmF2YVNjcmlwdCB3aXRoIG1heC1hZ2Ugb3IgZXhwaXJ5IGxvbmdl
ciB0aGFuIGEgd2VlayBnZXQgY2FwcGVkIHRvIGEgd2Vlay4iKTsKLSAgICBqc1Rlc3RJc0FzeW5j
ID0gdHJ1ZTsKLSAgICB0ZXN0UnVubmVyLnNldFVzZUlUUERhdGFiYXNlKHRydWUpOwotCi0gICAg
aWYgKGludGVybmFscykKLSAgICAgICAgaW50ZXJuYWxzLnNldFJlc291cmNlTG9hZFN0YXRpc3Rp
Y3NFbmFibGVkKHRydWUpOwotCi0gICAgbGV0IHBhc3NlZFRlc3RzID0gMDsKLSAgICBmdW5jdGlv
biBjaGVja1RoYXRDb29raWVEb2VzTm90RXhwaXJlQWZ0ZXIoY29va2llRGF0YSwgbWF4QWdlSW5T
ZWNvbmRzKSB7Ci0gICAgICAgIGxldCBub3cgPSBuZXcgRGF0ZSgpOwotICAgICAgICBsZXQgbWF4
RXhwaXJ5RGF0ZUluTWlsbGlzZWNvbmRzID0gbm93LmdldFRpbWUoKSArIChtYXhBZ2VJblNlY29u
ZHMgKiAxMDAwKTsKLQotICAgICAgICBpZiAobWF4RXhwaXJ5RGF0ZUluTWlsbGlzZWNvbmRzID4g
Y29va2llRGF0YVsiZXhwaXJlcyJdKQotICAgICAgICAgICAgKytwYXNzZWRUZXN0czsKLSAgICAg
ICAgZWxzZQotICAgICAgICAgICAgdGVzdEZhaWxlZCgiQ29va2llIG5hbWVkICIgKyBjb29raWVE
YXRhWyJuYW1lIl0gKyAiIGV4cGlyZXMgaW4gbW9yZSB0aGFuICIgKyBtYXhBZ2VJblNlY29uZHMg
KyAiIHNlY29uZHMuIik7Ci0gICAgfQotCi0gICAgY29uc3QgdHdvRGF5c0luU2Vjb25kcyA9IDIg
KiAyNCAqIDYwICogNjA7Ci0gICAgY29uc3Qgc2hvcnRMaXZlZENvb2tpZU1heEFnZSA9IHsgbmFt
ZSA6ICJzaG9ydExpdmVkQ29va2llTWF4QWdlIiwgbGlmZXRpbWUgOiAiTWF4LUFnZT0iICsgdHdv
RGF5c0luU2Vjb25kcyArICI7IiB9OwotICAgIGRvY3VtZW50LmNvb2tpZSA9IHNob3J0TGl2ZWRD
b29raWVNYXhBZ2UubmFtZSArICI9Zm9vYmFyOyAiICsgc2hvcnRMaXZlZENvb2tpZU1heEFnZS5s
aWZldGltZSArICIgcGF0aD0vIjsKLQotICAgIGNvbnN0IHR3b0RheXNBc0V4cGlyZXNEYXRlID0g
Y3JlYXRlRXhwaXJlc0RhdGVGcm9tTWF4QWdlKHR3b0RheXNJblNlY29uZHMpOwotICAgIGNvbnN0
IHNob3J0TGl2ZWRDb29raWVFeHBpcmVzID0geyBuYW1lIDogInNob3J0TGl2ZWRDb29raWVFeHBp
cmVzIiwgbGlmZXRpbWUgOiAiRXhwaXJlcz0iICsgdHdvRGF5c0FzRXhwaXJlc0RhdGUgKyAiOyIg
fTsKLSAgICBkb2N1bWVudC5jb29raWUgPSBzaG9ydExpdmVkQ29va2llRXhwaXJlcy5uYW1lICsg
Ij1mb29iYXI7ICIgKyBzaG9ydExpdmVkQ29va2llRXhwaXJlcy5saWZldGltZSArICIgcGF0aD0v
IjsKLQotICAgIGNvbnN0IG9uZVdlZWtJblNlY29uZHMgPSA3ICogMjQgKiA2MCAqIDYwOwotICAg
IGNvbnN0IHR3b1dlZWtzSW5TZWNvbmRzID0gMiAqIG9uZVdlZWtJblNlY29uZHM7Ci0gICAgY29u
c3QgbG9uZ0xpdmVkQ29va2llTWF4QWdlID0geyBuYW1lIDogImxvbmdMaXZlZENvb2tpZU1heEFn
ZSIsIGxpZmV0aW1lIDogIk1heC1BZ2U9IiArIHR3b1dlZWtzSW5TZWNvbmRzICsgIjsiIH07Ci0g
ICAgZG9jdW1lbnQuY29va2llID0gbG9uZ0xpdmVkQ29va2llTWF4QWdlLm5hbWUgKyAiPWZvb2Jh
cjsgIiArIGxvbmdMaXZlZENvb2tpZU1heEFnZS5saWZldGltZSArICIgcGF0aD0vIjsKLQotICAg
IGNvbnN0IHR3b1dlZWtzQXNFeHBpcmVzRGF0ZSA9IGNyZWF0ZUV4cGlyZXNEYXRlRnJvbU1heEFn
ZSh0d29XZWVrc0luU2Vjb25kcyk7Ci0gICAgY29uc3QgbG9uZ0xpdmVkQ29va2llRXhwaXJlcyA9
IHsgbmFtZSA6ICJsb25nTGl2ZWRDb29raWVFeHBpcmVzIiwgbGlmZXRpbWUgOiAiRXhwaXJlcz0i
ICsgdHdvV2Vla3NBc0V4cGlyZXNEYXRlICsgIjsiIH07Ci0gICAgZG9jdW1lbnQuY29va2llID0g
bG9uZ0xpdmVkQ29va2llRXhwaXJlcy5uYW1lICsgIj1mb29iYXI7ICIgKyBsb25nTGl2ZWRDb29r
aWVFeHBpcmVzLmxpZmV0aW1lICsgIiBwYXRoPS8iOwotCi0gICAgY29uc3Qgb3ZlclR3b0RheXNJ
blNlY29uZHMgPSB0d29EYXlzSW5TZWNvbmRzICsgMzA7Ci0gICAgY29uc3Qgb3Zlck9uZVdlZWtJ
blNlY29uZHMgPSBvbmVXZWVrSW5TZWNvbmRzICsgMzA7Ci0gICAgaWYgKGludGVybmFscykgewot
ICAgICAgICBsZXQgY29va2llcyA9IGludGVybmFscy5nZXRDb29raWVzKCk7Ci0gICAgICAgIGlm
ICghY29va2llcy5sZW5ndGgpCi0gICAgICAgICAgICB0ZXN0RmFpbGVkKCJObyBjb29raWVzIGZv
dW5kLiIpOwotICAgICAgICBmb3IgKGxldCBjb29raWUgb2YgY29va2llcykgewotICAgICAgICAg
ICAgc3dpdGNoIChjb29raWUubmFtZSkgewotICAgICAgICAgICAgICAgIGNhc2Ugc2hvcnRMaXZl
ZENvb2tpZU1heEFnZS5uYW1lOgotICAgICAgICAgICAgICAgICAgICBjaGVja1RoYXRDb29raWVE
b2VzTm90RXhwaXJlQWZ0ZXIoY29va2llLCBvdmVyVHdvRGF5c0luU2Vjb25kcyk7Ci0gICAgICAg
ICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICAgICAgICAgIGNhc2Ugc2hvcnRMaXZlZENvb2tp
ZUV4cGlyZXMubmFtZToKLSAgICAgICAgICAgICAgICAgICAgY2hlY2tUaGF0Q29va2llRG9lc05v
dEV4cGlyZUFmdGVyKGNvb2tpZSwgb3ZlclR3b0RheXNJblNlY29uZHMpOwotICAgICAgICAgICAg
ICAgICAgICBicmVhazsKLSAgICAgICAgICAgICAgICBjYXNlIGxvbmdMaXZlZENvb2tpZU1heEFn
ZS5uYW1lOgotICAgICAgICAgICAgICAgICAgICBjaGVja1RoYXRDb29raWVEb2VzTm90RXhwaXJl
QWZ0ZXIoY29va2llLCBvdmVyT25lV2Vla0luU2Vjb25kcyk7Ci0gICAgICAgICAgICAgICAgICAg
IGJyZWFrOwotICAgICAgICAgICAgICAgIGNhc2UgbG9uZ0xpdmVkQ29va2llRXhwaXJlcy5uYW1l
OgotICAgICAgICAgICAgICAgICAgICBjaGVja1RoYXRDb29raWVEb2VzTm90RXhwaXJlQWZ0ZXIo
Y29va2llLCBvdmVyT25lV2Vla0luU2Vjb25kcyk7Ci0gICAgICAgICAgICAgICAgICAgIGJyZWFr
OwotICAgICAgICAgICAgfQotICAgICAgICB9Ci0KLSAgICAgICAgcmVzZXRDb29raWVzRm9yQ3Vy
cmVudE9yaWdpbigpOwotCi0gICAgICAgIGlmIChwYXNzZWRUZXN0cyA9PT0gNCkgewotICAgICAg
ICAgICAgdGVzdFBhc3NlZCgiVGhlIHR3byBzaG9ydC1saXZlZCBjb29raWVzIGRvbid0IGV4cGly
ZSBhZnRlciBtb3JlIHRoYW4gIiArIG92ZXJUd29EYXlzSW5TZWNvbmRzICsgIiBzZWNvbmRzLiIp
OwotICAgICAgICAgICAgdGVzdFBhc3NlZCgiVGhlIHR3byBsb25nLWxpdmVkIGNvb2tpZXMgZG9u
J3QgZXhwaXJlIGFmdGVyIG1vcmUgdGhhbiAiICsgb3Zlck9uZVdlZWtJblNlY29uZHMgKyAiIHNl
Y29uZHMuIik7Ci0gICAgICAgIH0gZWxzZQotICAgICAgICAgICAgdGVzdEZhaWxlZCgiQXQgbGVh
c3Qgb25lIGNvb2tpZSdzIGV4cGlyeSBhdHRyaWJ1dGUgd2FzIGJleW9uZCB0aGUgdGVzdCB0aHJl
c2hvbGRzLiIpOwotICAgIH0gZWxzZQotICAgICAgICB0ZXN0RmFpbGVkKCJObyBpbnRlcm5hbHMg
b2JqZWN0LiIpOwotCi0gICAgaWYgKGludGVybmFscykKLSAgICAgICAgaW50ZXJuYWxzLnNldFJl
c291cmNlTG9hZFN0YXRpc3RpY3NFbmFibGVkKGZhbHNlKTsKLQotICAgIGZpbmlzaEpTVGVzdCgp
OwotPC9zY3JpcHQ+Ci08L2JvZHk+Ci08L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9o
dHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY2FwcGVkLWxpZmV0aW1lLWZvci1jb29r
aWUtc2V0LWluLWpzLXdpdGgtbGluay1kZWNvcmF0aW9uLXNhbWUtc2l0ZS1kYXRhYmFzZS1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3Mv
Y2FwcGVkLWxpZmV0aW1lLWZvci1jb29raWUtc2V0LWluLWpzLXdpdGgtbGluay1kZWNvcmF0aW9u
LXNhbWUtc2l0ZS1kYXRhYmFzZS1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IGE0OTU0NWEwMzRkM2FmMjU5MGM5OTMzN2QyMzA1YTliZWZkYmE0MTAuLjAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90
ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NhcHBlZC1saWZldGltZS1mb3ItY29va2llLXNl
dC1pbi1qcy13aXRoLWxpbmstZGVjb3JhdGlvbi1zYW1lLXNpdGUtZGF0YWJhc2UtZXhwZWN0ZWQu
dHh0CisrKyAvZGV2L251bGwKQEAgLTEsMTAgKzAsMCBAQAotQ2hlY2sgdGhhdCBjb29raWVzIGNy
ZWF0ZWQgYnkgSmF2YVNjcmlwdCBhZnRlciBhIHNhbWUtc2l0ZSBuYXZpZ2F0aW9uIHdpdGggbGlu
ayBkZWNvcmF0aW9uIGRvbid0IGdldCBjYXBwZWQgdG8gMjQgaG91cnMuCi0KLU9uIHN1Y2Nlc3Ms
IHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJU
RVNUIENPTVBMRVRFIi4KLQotCi1QQVNTIFRoZSB0d28gbG9uZy1saXZlZCBjb29raWVzIGV4cGly
ZSBhZnRlciBtb3JlIHRoYW4gODY0MzAgc2Vjb25kcy4KLVBBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2Vk
IGlzIHRydWUKLQotVEVTVCBDT01QTEVURQotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY2FwcGVkLWxpZmV0aW1lLWZvci1jb29raWUt
c2V0LWluLWpzLXdpdGgtbGluay1kZWNvcmF0aW9uLXNhbWUtc2l0ZS1kYXRhYmFzZS5odG1sIGIv
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NhcHBlZC1saWZl
dGltZS1mb3ItY29va2llLXNldC1pbi1qcy13aXRoLWxpbmstZGVjb3JhdGlvbi1zYW1lLXNpdGUt
ZGF0YWJhc2UuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZWQwOTk5MWIzZmE4
YWNkNDgxOTlhODUzMjM0ZDI1YWIyODkxNWRjMC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0
YXRpc3RpY3MvY2FwcGVkLWxpZmV0aW1lLWZvci1jb29raWUtc2V0LWluLWpzLXdpdGgtbGluay1k
ZWNvcmF0aW9uLXNhbWUtc2l0ZS1kYXRhYmFzZS5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsODYg
KzAsMCBAQAotPCFET0NUWVBFIGh0bWw+Ci08aHRtbD4KLTxoZWFkPgotICAgIDxzY3JpcHQgc3Jj
PSIvanMtdGVzdC1yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+Ci0gICAgPHNjcmlwdCBz
cmM9Ii9jb29raWVzL3Jlc291cmNlcy9jb29raWUtdXRpbGl0aWVzLmpzIj48L3NjcmlwdD4KLSAg
ICA8c2NyaXB0IHNyYz0icmVzb3VyY2VzL3V0aWwuanMiPjwvc2NyaXB0PgotPC9oZWFkPgotPGJv
ZHkgb25sb2FkPSJzZXRUaW1lb3V0KCdydW5UZXN0KCknLCAwKSI+Ci08c2NyaXB0PgotICAgIGRl
c2NyaXB0aW9uKCJDaGVjayB0aGF0IGNvb2tpZXMgY3JlYXRlZCBieSBKYXZhU2NyaXB0IGFmdGVy
IGEgc2FtZS1zaXRlIG5hdmlnYXRpb24gd2l0aCBsaW5rIGRlY29yYXRpb24gZG9uJ3QgZ2V0IGNh
cHBlZCB0byAyNCBob3Vycy4iKTsKLSAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKLQotICAgIGZ1
bmN0aW9uIHRlc3RDb29raWVzKCkgewotICAgICAgICBsZXQgcGFzc2VkVGVzdHMgPSAwOwotCi0g
ICAgICAgIGZ1bmN0aW9uIGNoZWNrVGhhdENvb2tpZURvZXNFeHBpcmVBZnRlcihjb29raWVEYXRh
LCBtYXhBZ2VJblNlY29uZHMpIHsKLSAgICAgICAgICAgIGxldCBub3cgPSBuZXcgRGF0ZSgpOwot
ICAgICAgICAgICAgbGV0IG1heEV4cGlyeURhdGVJbk1pbGxpc2Vjb25kcyA9IG5vdy5nZXRUaW1l
KCkgKyAobWF4QWdlSW5TZWNvbmRzICogMTAwMCk7Ci0KLSAgICAgICAgICAgIGlmIChtYXhFeHBp
cnlEYXRlSW5NaWxsaXNlY29uZHMgPCBjb29raWVEYXRhWyJleHBpcmVzIl0pCi0gICAgICAgICAg
ICAgICAgKytwYXNzZWRUZXN0czsKLSAgICAgICAgICAgIGVsc2UKLSAgICAgICAgICAgICAgICB0
ZXN0RmFpbGVkKCJDb29raWUgbmFtZWQgIiArIGNvb2tpZURhdGFbIm5hbWUiXSArICIgZXhwaXJl
cyBpbiBsZXNzIHRoYW4gIiArIG1heEFnZUluU2Vjb25kcyArICIgc2Vjb25kcy4iKTsKLSAgICAg
ICAgfQotCi0gICAgICAgIGNvbnN0IG9uZURheUluU2Vjb25kcyA9IDI0ICogNjAgKiA2MDsKLSAg
ICAgICAgY29uc3QgdHdvRGF5c0luU2Vjb25kcyA9IDIgKiBvbmVEYXlJblNlY29uZHM7Ci0gICAg
ICAgIGNvbnN0IGxvbmdMaXZlZENvb2tpZU1heEFnZSA9IHsgbmFtZSA6ICJsb25nTGl2ZWRDb29r
aWVNYXhBZ2UiLCBsaWZldGltZSA6ICJNYXgtQWdlPSIgKyB0d29EYXlzSW5TZWNvbmRzICsgIjsi
IH07Ci0gICAgICAgIGRvY3VtZW50LmNvb2tpZSA9IGxvbmdMaXZlZENvb2tpZU1heEFnZS5uYW1l
ICsgIj1mb29iYXI7ICIgKyBsb25nTGl2ZWRDb29raWVNYXhBZ2UubGlmZXRpbWUgKyAiIHBhdGg9
LyI7Ci0KLSAgICAgICAgY29uc3QgdHdvRGF5c0FzRXhwaXJlc0RhdGUgPSBjcmVhdGVFeHBpcmVz
RGF0ZUZyb21NYXhBZ2UodHdvRGF5c0luU2Vjb25kcyk7Ci0gICAgICAgIGNvbnN0IGxvbmdMaXZl
ZENvb2tpZUV4cGlyZXMgPSB7IG5hbWUgOiAibG9uZ0xpdmVkQ29va2llRXhwaXJlcyIsIGxpZmV0
aW1lIDogIkV4cGlyZXM9IiArIHR3b0RheXNBc0V4cGlyZXNEYXRlICsgIjsiIH07Ci0gICAgICAg
IGRvY3VtZW50LmNvb2tpZSA9IGxvbmdMaXZlZENvb2tpZUV4cGlyZXMubmFtZSArICI9Zm9vYmFy
OyAiICsgbG9uZ0xpdmVkQ29va2llRXhwaXJlcy5saWZldGltZSArICIgcGF0aD0vIjsKLQotICAg
ICAgICBjb25zdCBvdmVyT25lRGF5SW5TZWNvbmRzID0gb25lRGF5SW5TZWNvbmRzICsgMzA7Ci0g
ICAgICAgIGlmIChpbnRlcm5hbHMpIHsKLSAgICAgICAgICAgIGxldCBjb29raWVzID0gaW50ZXJu
YWxzLmdldENvb2tpZXMoKTsKLSAgICAgICAgICAgIGlmICghY29va2llcy5sZW5ndGgpCi0gICAg
ICAgICAgICAgICAgdGVzdEZhaWxlZCgiTm8gY29va2llcyBmb3VuZC4iKTsKLSAgICAgICAgICAg
IGZvciAobGV0IGNvb2tpZSBvZiBjb29raWVzKSB7Ci0gICAgICAgICAgICAgICAgc3dpdGNoIChj
b29raWUubmFtZSkgewotICAgICAgICAgICAgICAgICAgICBjYXNlIGxvbmdMaXZlZENvb2tpZU1h
eEFnZS5uYW1lOgotICAgICAgICAgICAgICAgICAgICAgICAgY2hlY2tUaGF0Q29va2llRG9lc0V4
cGlyZUFmdGVyKGNvb2tpZSwgb3Zlck9uZURheUluU2Vjb25kcyk7Ci0gICAgICAgICAgICAgICAg
ICAgICAgICBicmVhazsKLSAgICAgICAgICAgICAgICAgICAgY2FzZSBsb25nTGl2ZWRDb29raWVF
eHBpcmVzLm5hbWU6Ci0gICAgICAgICAgICAgICAgICAgICAgICBjaGVja1RoYXRDb29raWVEb2Vz
RXhwaXJlQWZ0ZXIoY29va2llLCBvdmVyT25lRGF5SW5TZWNvbmRzKTsKLSAgICAgICAgICAgICAg
ICAgICAgICAgIGJyZWFrOwotICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgIH0KLQotICAg
ICAgICAgICAgcmVzZXRDb29raWVzRm9yQ3VycmVudE9yaWdpbigpOwotCi0gICAgICAgICAgICBp
ZiAocGFzc2VkVGVzdHMgPT09IDIpIHsKLSAgICAgICAgICAgICAgICB0ZXN0UGFzc2VkKCJUaGUg
dHdvIGxvbmctbGl2ZWQgY29va2llcyBleHBpcmUgYWZ0ZXIgbW9yZSB0aGFuICIgKyBvdmVyT25l
RGF5SW5TZWNvbmRzICsgIiBzZWNvbmRzLiIpOwotICAgICAgICAgICAgfSBlbHNlCi0gICAgICAg
ICAgICAgICAgdGVzdEZhaWxlZCgiQXQgbGVhc3Qgb25lIGNvb2tpZSdzIGV4cGlyeSBhdHRyaWJ1
dGUgd2FzIGJlbG93IHRoZSB0ZXN0IHRocmVzaG9sZHMuIik7Ci0gICAgICAgIH0gZWxzZQotICAg
ICAgICAgICAgdGVzdEZhaWxlZCgiTm8gaW50ZXJuYWxzIG9iamVjdC4iKTsKLQotICAgICAgICBz
ZXRFbmFibGVGZWF0dXJlKGZhbHNlLCBmaW5pc2hKU1Rlc3QpOwotICAgIH0KLQotICAgIGZ1bmN0
aW9uIG5hdmlnYXRlQ3Jvc3NPcmlnaW4oKSB7Ci0gICAgICAgIGRvY3VtZW50LmxvY2F0aW9uLmhy
ZWYgPSBwcmV2YWxlbnRSZXNvdXJjZU9yaWdpbiArICIvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9j
YXBwZWQtbGlmZXRpbWUtZm9yLWNvb2tpZS1zZXQtaW4tanMtd2l0aC1saW5rLWRlY29yYXRpb24t
c2FtZS1zaXRlLmh0bWw/bGluaz1kZWNvcmF0aW9uI2ZyYWdtZW50IjsKLSAgICB9Ci0KLSAgICBj
b25zdCBkZXN0aW5hdGlvbk9yaWdpbiA9ICJodHRwOi8vbG9jYWxob3N0OjgwMDAiOwotICAgIGNv
bnN0IHByZXZhbGVudFJlc291cmNlT3JpZ2luID0gImh0dHA6Ly8xMjcuMC4wLjE6ODAwMCI7Ci0g
ICAgZnVuY3Rpb24gcnVuVGVzdCgpIHsKLSAgICAgICAgaWYgKGRvY3VtZW50LmxvY2F0aW9uLm9y
aWdpbiA9PT0gcHJldmFsZW50UmVzb3VyY2VPcmlnaW4gJiYgZG9jdW1lbnQubG9jYXRpb24uaGFz
aCAhPT0gIiNmcmFnbWVudCIpIHsKLSAgICAgICAgICAgIHRlc3RSdW5uZXIuc2V0VXNlSVRQRGF0
YWJhc2UodHJ1ZSk7Ci0gICAgICAgICAgICBzZXRFbmFibGVGZWF0dXJlKHRydWUsIGZ1bmN0aW9u
ICgpIHsKLSAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NQcmV2YWxlbnRS
ZXNvdXJjZShwcmV2YWxlbnRSZXNvdXJjZU9yaWdpbiwgdHJ1ZSwgZnVuY3Rpb24oKSB7Ci0gICAg
ICAgICAgICAgICAgICAgIGlmICghdGVzdFJ1bm5lci5pc1N0YXRpc3RpY3NQcmV2YWxlbnRSZXNv
dXJjZShwcmV2YWxlbnRSZXNvdXJjZU9yaWdpbikpCi0gICAgICAgICAgICAgICAgICAgICAgICB0
ZXN0RmFpbGVkKCJIb3N0IGRpZCBub3QgZ2V0IHNldCBhcyBwcmV2YWxlbnQgcmVzb3VyY2UuIik7
Ci0gICAgICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIuc3RhdGlzdGljc1VwZGF0ZUNvb2tpZUJs
b2NraW5nKG5hdmlnYXRlQ3Jvc3NPcmlnaW4pOwotICAgICAgICAgICAgICAgIH0pOwotCi0gICAg
ICAgICAgICB9KTsKLSAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAgIHRlc3RDb29raWVzKCk7
Ci0gICAgICAgIH0KLSAgICB9Ci08L3NjcmlwdD4KLTwvYm9keT4KLTwvaHRtbD4KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jYXBwZWQt
bGlmZXRpbWUtZm9yLWNvb2tpZS1zZXQtaW4tanMtd2l0aC1saW5rLWZyYWdtZW50LWZyb20tcHJl
dmFsZW50LXJlc291cmNlLWRhdGFiYXNlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAv
dGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jYXBwZWQtbGlmZXRpbWUtZm9yLWNvb2tpZS1z
ZXQtaW4tanMtd2l0aC1saW5rLWZyYWdtZW50LWZyb20tcHJldmFsZW50LXJlc291cmNlLWRhdGFi
YXNlLWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZjdiYWQwMzJj
NmYyMjQ1NzNhMzM1ZDNmNzA0MTlkY2I0YmU0M2ExNS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9h
ZFN0YXRpc3RpY3MvY2FwcGVkLWxpZmV0aW1lLWZvci1jb29raWUtc2V0LWluLWpzLXdpdGgtbGlu
ay1mcmFnbWVudC1mcm9tLXByZXZhbGVudC1yZXNvdXJjZS1kYXRhYmFzZS1leHBlY3RlZC50eHQK
KysrIC9kZXYvbnVsbApAQCAtMSwxMSArMCwwIEBACi1DaGVjayB0aGF0IGNvb2tpZXMgY3JlYXRl
ZCBieSBKYXZhU2NyaXB0IGFmdGVyIGEgY3Jvc3Mtc2l0ZSBuYXZpZ2F0aW9uIHdpdGggbGluayBm
cmFnbWVudCBnZXQgY2FwcGVkIHRvIDI0IGhvdXJzLgotCi1PbiBzdWNjZXNzLCB5b3Ugd2lsbCBz
ZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVU
RSIuCi0KLQotUEFTUyBUaGUgdHdvIHNob3J0LWxpdmVkIGNvb2tpZXMgZG9uJ3QgZXhwaXJlIGFm
dGVyIG1vcmUgdGhhbiA0MzIzMCBzZWNvbmRzLgotUEFTUyBUaGUgdHdvIGxvbmctbGl2ZWQgY29v
a2llcyBkb24ndCBleHBpcmUgYWZ0ZXIgbW9yZSB0aGFuIDg2NDMwIHNlY29uZHMuCi1QQVNTIHN1
Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCi0KLVRFU1QgQ09NUExFVEUKLQpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NhcHBlZC1saWZl
dGltZS1mb3ItY29va2llLXNldC1pbi1qcy13aXRoLWxpbmstZnJhZ21lbnQtZnJvbS1wcmV2YWxl
bnQtcmVzb3VyY2UtZGF0YWJhc2UuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3Vy
Y2VMb2FkU3RhdGlzdGljcy9jYXBwZWQtbGlmZXRpbWUtZm9yLWNvb2tpZS1zZXQtaW4tanMtd2l0
aC1saW5rLWZyYWdtZW50LWZyb20tcHJldmFsZW50LXJlc291cmNlLWRhdGFiYXNlLmh0bWwKZGVs
ZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDVjODRmYjg5NGY5OWIzMjdjMTc3M2UyMDA3ZGMx
MGQ5MWMyYTg3OTkuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0t
IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NhcHBlZC1s
aWZldGltZS1mb3ItY29va2llLXNldC1pbi1qcy13aXRoLWxpbmstZnJhZ21lbnQtZnJvbS1wcmV2
YWxlbnQtcmVzb3VyY2UtZGF0YWJhc2UuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDEwMSArMCww
IEBACi08IURPQ1RZUEUgaHRtbD4KLTxodG1sPgotPGhlYWQ+Ci0gICAgPHNjcmlwdCBzcmM9Ii9q
cy10ZXN0LXJlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KLSAgICA8c2NyaXB0IHNyYz0i
L2Nvb2tpZXMvcmVzb3VyY2VzL2Nvb2tpZS11dGlsaXRpZXMuanMiPjwvc2NyaXB0PgotICAgIDxz
Y3JpcHQgc3JjPSJyZXNvdXJjZXMvdXRpbC5qcyI+PC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keSBv
bmxvYWQ9InNldFRpbWVvdXQoJ3J1blRlc3QoKScsIDApIj4KLTxzY3JpcHQ+Ci0gICAgZGVzY3Jp
cHRpb24oIkNoZWNrIHRoYXQgY29va2llcyBjcmVhdGVkIGJ5IEphdmFTY3JpcHQgYWZ0ZXIgYSBj
cm9zcy1zaXRlIG5hdmlnYXRpb24gd2l0aCBsaW5rIGZyYWdtZW50IGdldCBjYXBwZWQgdG8gMjQg
aG91cnMuIik7Ci0gICAganNUZXN0SXNBc3luYyA9IHRydWU7Ci0KLSAgICBmdW5jdGlvbiB0ZXN0
Q29va2llcygpIHsKLSAgICAgICAgbGV0IHBhc3NlZFRlc3RzID0gMDsKLSAgICAgICAgZnVuY3Rp
b24gY2hlY2tUaGF0Q29va2llRG9lc05vdEV4cGlyZUFmdGVyKGNvb2tpZURhdGEsIG1heEFnZUlu
U2Vjb25kcykgewotICAgICAgICAgICAgbGV0IG5vdyA9IG5ldyBEYXRlKCk7Ci0gICAgICAgICAg
ICBsZXQgbWF4RXhwaXJ5RGF0ZUluTWlsbGlzZWNvbmRzID0gbm93LmdldFRpbWUoKSArIChtYXhB
Z2VJblNlY29uZHMgKiAxMDAwKTsKLQotICAgICAgICAgICAgaWYgKG1heEV4cGlyeURhdGVJbk1p
bGxpc2Vjb25kcyA+IGNvb2tpZURhdGFbImV4cGlyZXMiXSkKLSAgICAgICAgICAgICAgICArK3Bh
c3NlZFRlc3RzOwotICAgICAgICAgICAgZWxzZQotICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQo
IkNvb2tpZSBuYW1lZCAiICsgY29va2llRGF0YVsibmFtZSJdICsgIiBleHBpcmVzIGluIG1vcmUg
dGhhbiAiICsgbWF4QWdlSW5TZWNvbmRzICsgIiBzZWNvbmRzLiIpOwotICAgICAgICB9Ci0KLSAg
ICAgICAgY29uc3QgdHdlbHZlSG91cnNJblNlY29uZHMgPSAxMiAqIDYwICogNjA7Ci0gICAgICAg
IGNvbnN0IHNob3J0TGl2ZWRDb29raWVNYXhBZ2UgPSB7IG5hbWUgOiAic2hvcnRMaXZlZENvb2tp
ZU1heEFnZSIsIGxpZmV0aW1lIDogIk1heC1BZ2U9IiArIHR3ZWx2ZUhvdXJzSW5TZWNvbmRzICsg
IjsiIH07Ci0gICAgICAgIGRvY3VtZW50LmNvb2tpZSA9IHNob3J0TGl2ZWRDb29raWVNYXhBZ2Uu
bmFtZSArICI9Zm9vYmFyOyAiICsgc2hvcnRMaXZlZENvb2tpZU1heEFnZS5saWZldGltZSArICIg
cGF0aD0vIjsKLQotICAgICAgICBjb25zdCB0d2VsdmVIb3Vyc0FzRXhwaXJlc0RhdGUgPSBjcmVh
dGVFeHBpcmVzRGF0ZUZyb21NYXhBZ2UodHdlbHZlSG91cnNJblNlY29uZHMpOwotICAgICAgICBj
b25zdCBzaG9ydExpdmVkQ29va2llRXhwaXJlcyA9IHsgbmFtZSA6ICJzaG9ydExpdmVkQ29va2ll
RXhwaXJlcyIsIGxpZmV0aW1lIDogIkV4cGlyZXM9IiArIHR3ZWx2ZUhvdXJzQXNFeHBpcmVzRGF0
ZSArICI7IiB9OwotICAgICAgICBkb2N1bWVudC5jb29raWUgPSBzaG9ydExpdmVkQ29va2llRXhw
aXJlcy5uYW1lICsgIj1mb29iYXI7ICIgKyBzaG9ydExpdmVkQ29va2llRXhwaXJlcy5saWZldGlt
ZSArICIgcGF0aD0vIjsKLQotICAgICAgICBjb25zdCBvbmVEYXlJblNlY29uZHMgPSAyICogdHdl
bHZlSG91cnNJblNlY29uZHM7Ci0gICAgICAgIGNvbnN0IHR3b0RheXNJblNlY29uZHMgPSAyICog
b25lRGF5SW5TZWNvbmRzOwotICAgICAgICBjb25zdCBsb25nTGl2ZWRDb29raWVNYXhBZ2UgPSB7
IG5hbWUgOiAibG9uZ0xpdmVkQ29va2llTWF4QWdlIiwgbGlmZXRpbWUgOiAiTWF4LUFnZT0iICsg
dHdvRGF5c0luU2Vjb25kcyArICI7IiB9OwotICAgICAgICBkb2N1bWVudC5jb29raWUgPSBsb25n
TGl2ZWRDb29raWVNYXhBZ2UubmFtZSArICI9Zm9vYmFyOyAiICsgbG9uZ0xpdmVkQ29va2llTWF4
QWdlLmxpZmV0aW1lICsgIiBwYXRoPS8iOwotCi0gICAgICAgIGNvbnN0IHR3b0RheXNBc0V4cGly
ZXNEYXRlID0gY3JlYXRlRXhwaXJlc0RhdGVGcm9tTWF4QWdlKHR3b0RheXNJblNlY29uZHMpOwot
ICAgICAgICBjb25zdCBsb25nTGl2ZWRDb29raWVFeHBpcmVzID0geyBuYW1lIDogImxvbmdMaXZl
ZENvb2tpZUV4cGlyZXMiLCBsaWZldGltZSA6ICJFeHBpcmVzPSIgKyB0d29EYXlzQXNFeHBpcmVz
RGF0ZSArICI7IiB9OwotICAgICAgICBkb2N1bWVudC5jb29raWUgPSBsb25nTGl2ZWRDb29raWVF
eHBpcmVzLm5hbWUgKyAiPWZvb2JhcjsgIiArIGxvbmdMaXZlZENvb2tpZUV4cGlyZXMubGlmZXRp
bWUgKyAiIHBhdGg9LyI7Ci0KLSAgICAgICAgY29uc3Qgb3ZlclR3ZWx2ZUhvdXJzSW5TZWNvbmRz
ID0gdHdlbHZlSG91cnNJblNlY29uZHMgKyAzMDsKLSAgICAgICAgY29uc3Qgb3Zlck9uZURheUlu
U2Vjb25kcyA9IG9uZURheUluU2Vjb25kcyArIDMwOwotICAgICAgICBpZiAoaW50ZXJuYWxzKSB7
Ci0gICAgICAgICAgICBsZXQgY29va2llcyA9IGludGVybmFscy5nZXRDb29raWVzKCk7Ci0gICAg
ICAgICAgICBpZiAoIWNvb2tpZXMubGVuZ3RoKQotICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQo
Ik5vIGNvb2tpZXMgZm91bmQuIik7Ci0gICAgICAgICAgICBmb3IgKGxldCBjb29raWUgb2YgY29v
a2llcykgewotICAgICAgICAgICAgICAgIHN3aXRjaCAoY29va2llLm5hbWUpIHsKLSAgICAgICAg
ICAgICAgICAgICAgY2FzZSBzaG9ydExpdmVkQ29va2llTWF4QWdlLm5hbWU6Ci0gICAgICAgICAg
ICAgICAgICAgICAgICBjaGVja1RoYXRDb29raWVEb2VzTm90RXhwaXJlQWZ0ZXIoY29va2llLCBv
dmVyVHdlbHZlSG91cnNJblNlY29uZHMpOwotICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7
Ci0gICAgICAgICAgICAgICAgICAgIGNhc2Ugc2hvcnRMaXZlZENvb2tpZUV4cGlyZXMubmFtZToK
LSAgICAgICAgICAgICAgICAgICAgICAgIGNoZWNrVGhhdENvb2tpZURvZXNOb3RFeHBpcmVBZnRl
cihjb29raWUsIG92ZXJUd2VsdmVIb3Vyc0luU2Vjb25kcyk7Ci0gICAgICAgICAgICAgICAgICAg
ICAgICBicmVhazsKLSAgICAgICAgICAgICAgICAgICAgY2FzZSBsb25nTGl2ZWRDb29raWVNYXhB
Z2UubmFtZToKLSAgICAgICAgICAgICAgICAgICAgICAgIGNoZWNrVGhhdENvb2tpZURvZXNOb3RF
eHBpcmVBZnRlcihjb29raWUsIG92ZXJPbmVEYXlJblNlY29uZHMpOwotICAgICAgICAgICAgICAg
ICAgICAgICAgYnJlYWs7Ci0gICAgICAgICAgICAgICAgICAgIGNhc2UgbG9uZ0xpdmVkQ29va2ll
RXhwaXJlcy5uYW1lOgotICAgICAgICAgICAgICAgICAgICAgICAgY2hlY2tUaGF0Q29va2llRG9l
c05vdEV4cGlyZUFmdGVyKGNvb2tpZSwgb3Zlck9uZURheUluU2Vjb25kcyk7Ci0gICAgICAgICAg
ICAgICAgICAgICAgICBicmVhazsKLSAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICB9Ci0K
LSAgICAgICAgICAgIHJlc2V0Q29va2llc0ZvckN1cnJlbnRPcmlnaW4oKTsKLQotICAgICAgICAg
ICAgaWYgKHBhc3NlZFRlc3RzID09PSA0KSB7Ci0gICAgICAgICAgICAgICAgdGVzdFBhc3NlZCgi
VGhlIHR3byBzaG9ydC1saXZlZCBjb29raWVzIGRvbid0IGV4cGlyZSBhZnRlciBtb3JlIHRoYW4g
IiArIG92ZXJUd2VsdmVIb3Vyc0luU2Vjb25kcyArICIgc2Vjb25kcy4iKTsKLSAgICAgICAgICAg
ICAgICB0ZXN0UGFzc2VkKCJUaGUgdHdvIGxvbmctbGl2ZWQgY29va2llcyBkb24ndCBleHBpcmUg
YWZ0ZXIgbW9yZSB0aGFuICIgKyBvdmVyT25lRGF5SW5TZWNvbmRzICsgIiBzZWNvbmRzLiIpOwot
ICAgICAgICAgICAgfSBlbHNlCi0gICAgICAgICAgICAgICAgdGVzdEZhaWxlZCgiQXQgbGVhc3Qg
b25lIGNvb2tpZSdzIGV4cGlyeSBhdHRyaWJ1dGUgd2FzIGJleW9uZCB0aGUgdGVzdCB0aHJlc2hv
bGRzLiIpOwotICAgICAgICB9IGVsc2UKLSAgICAgICAgICAgIHRlc3RGYWlsZWQoIk5vIGludGVy
bmFscyBvYmplY3QuIik7Ci0KLSAgICAgICAgc2V0RW5hYmxlRmVhdHVyZShmYWxzZSwgZmluaXNo
SlNUZXN0KTsKLSAgICB9Ci0KLSAgICBmdW5jdGlvbiBuYXZpZ2F0ZUNyb3NzT3JpZ2luKCkgewot
ICAgICAgICBkb2N1bWVudC5sb2NhdGlvbi5ocmVmID0gZGVzdGluYXRpb25PcmlnaW4gKyAiL3Jl
c291cmNlTG9hZFN0YXRpc3RpY3MvY2FwcGVkLWxpZmV0aW1lLWZvci1jb29raWUtc2V0LWluLWpz
LXdpdGgtbGluay1mcmFnbWVudC1mcm9tLXByZXZhbGVudC1yZXNvdXJjZS5odG1sI2xpbms9ZnJh
Z21lbnQiOwotICAgIH0KLQotICAgIGNvbnN0IGRlc3RpbmF0aW9uT3JpZ2luID0gImh0dHA6Ly9s
b2NhbGhvc3Q6ODAwMCI7Ci0gICAgY29uc3QgcHJldmFsZW50UmVzb3VyY2VPcmlnaW4gPSAiaHR0
cDovLzEyNy4wLjAuMTo4MDAwIjsKLSAgICBmdW5jdGlvbiBydW5UZXN0KCkgewotICAgICAgICBp
ZiAoZG9jdW1lbnQubG9jYXRpb24ub3JpZ2luID09PSBwcmV2YWxlbnRSZXNvdXJjZU9yaWdpbikg
ewotICAgICAgICAgICAgdGVzdFJ1bm5lci5zZXRVc2VJVFBEYXRhYmFzZSh0cnVlKTsKLSAgICAg
ICAgICAgIHNldEVuYWJsZUZlYXR1cmUodHJ1ZSwgZnVuY3Rpb24gKCkgewotICAgICAgICAgICAg
ICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc1ByZXZhbGVudFJlc291cmNlKHByZXZhbGVudFJl
c291cmNlT3JpZ2luLCB0cnVlLCBmdW5jdGlvbigpIHsKLSAgICAgICAgICAgICAgICAgICAgaWYg
KCF0ZXN0UnVubmVyLmlzU3RhdGlzdGljc1ByZXZhbGVudFJlc291cmNlKHByZXZhbGVudFJlc291
cmNlT3JpZ2luKSkKLSAgICAgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoIkhvc3QgZGlk
IG5vdCBnZXQgc2V0IGFzIHByZXZhbGVudCByZXNvdXJjZS4iKTsKLSAgICAgICAgICAgICAgICAg
ICAgdGVzdFJ1bm5lci5zdGF0aXN0aWNzVXBkYXRlQ29va2llQmxvY2tpbmcobmF2aWdhdGVDcm9z
c09yaWdpbik7Ci0gICAgICAgICAgICAgICAgfSk7Ci0KLSAgICAgICAgICAgIH0pOwotICAgICAg
ICB9IGVsc2UgewotICAgICAgICAgICAgdGVzdENvb2tpZXMoKTsKLSAgICAgICAgfQotICAgIH0K
LTwvc2NyaXB0PgotPC9ib2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NhcHBlZC1saWZldGltZS1mb3ItY29va2ll
LXNldC1pbi1qcy13aXRoLWxpbmstcXVlcnktYW5kLWZyYWdtZW50LWZyb20tcHJldmFsZW50LXJl
c291cmNlLWRhdGFiYXNlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVz
b3VyY2VMb2FkU3RhdGlzdGljcy9jYXBwZWQtbGlmZXRpbWUtZm9yLWNvb2tpZS1zZXQtaW4tanMt
d2l0aC1saW5rLXF1ZXJ5LWFuZC1mcmFnbWVudC1mcm9tLXByZXZhbGVudC1yZXNvdXJjZS1kYXRh
YmFzZS1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDZlOThkYzhm
OTBlMmRhMWIxOTgzYjQ4ZGMxODZlYWQ3YTY5NjVkN2EuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxv
YWRTdGF0aXN0aWNzL2NhcHBlZC1saWZldGltZS1mb3ItY29va2llLXNldC1pbi1qcy13aXRoLWxp
bmstcXVlcnktYW5kLWZyYWdtZW50LWZyb20tcHJldmFsZW50LXJlc291cmNlLWRhdGFiYXNlLWV4
cGVjdGVkLnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDExICswLDAgQEAKLUNoZWNrIHRoYXQgY29v
a2llcyBjcmVhdGVkIGJ5IEphdmFTY3JpcHQgYWZ0ZXIgYSBjcm9zcy1zaXRlIG5hdmlnYXRpb24g
d2l0aCBsaW5rIHF1ZXJ5IGFuZCBmcmFnbWVudCBnZXQgY2FwcGVkIHRvIDI0IGhvdXJzLgotCi1P
biBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xs
b3dlZCBieSAiVEVTVCBDT01QTEVURSIuCi0KLQotUEFTUyBUaGUgdHdvIHNob3J0LWxpdmVkIGNv
b2tpZXMgZG9uJ3QgZXhwaXJlIGFmdGVyIG1vcmUgdGhhbiA0MzIzMCBzZWNvbmRzLgotUEFTUyBU
aGUgdHdvIGxvbmctbGl2ZWQgY29va2llcyBkb24ndCBleHBpcmUgYWZ0ZXIgbW9yZSB0aGFuIDg2
NDMwIHNlY29uZHMuCi1QQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCi0KLVRFU1QgQ09N
UExFVEUKLQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRT
dGF0aXN0aWNzL2NhcHBlZC1saWZldGltZS1mb3ItY29va2llLXNldC1pbi1qcy13aXRoLWxpbmst
cXVlcnktYW5kLWZyYWdtZW50LWZyb20tcHJldmFsZW50LXJlc291cmNlLWRhdGFiYXNlLmh0bWwg
Yi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY2FwcGVkLWxp
ZmV0aW1lLWZvci1jb29raWUtc2V0LWluLWpzLXdpdGgtbGluay1xdWVyeS1hbmQtZnJhZ21lbnQt
ZnJvbS1wcmV2YWxlbnQtcmVzb3VyY2UtZGF0YWJhc2UuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMzU5MWViNGU5NThmYjFiNTBkYjdmODIyYTIwMGVjY2M2NzM4MjQxNi4uMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9o
dHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY2FwcGVkLWxpZmV0aW1lLWZvci1jb29r
aWUtc2V0LWluLWpzLXdpdGgtbGluay1xdWVyeS1hbmQtZnJhZ21lbnQtZnJvbS1wcmV2YWxlbnQt
cmVzb3VyY2UtZGF0YWJhc2UuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDEwMSArMCwwIEBACi08
IURPQ1RZUEUgaHRtbD4KLTxodG1sPgotPGhlYWQ+Ci0gICAgPHNjcmlwdCBzcmM9Ii9qcy10ZXN0
LXJlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KLSAgICA8c2NyaXB0IHNyYz0iL2Nvb2tp
ZXMvcmVzb3VyY2VzL2Nvb2tpZS11dGlsaXRpZXMuanMiPjwvc2NyaXB0PgotICAgIDxzY3JpcHQg
c3JjPSJyZXNvdXJjZXMvdXRpbC5qcyI+PC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keSBvbmxvYWQ9
InNldFRpbWVvdXQoJ3J1blRlc3QoKScsIDApIj4KLTxzY3JpcHQ+Ci0gICAgZGVzY3JpcHRpb24o
IkNoZWNrIHRoYXQgY29va2llcyBjcmVhdGVkIGJ5IEphdmFTY3JpcHQgYWZ0ZXIgYSBjcm9zcy1z
aXRlIG5hdmlnYXRpb24gd2l0aCBsaW5rIHF1ZXJ5IGFuZCBmcmFnbWVudCBnZXQgY2FwcGVkIHRv
IDI0IGhvdXJzLiIpOwotICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOwotCi0gICAgZnVuY3Rpb24g
dGVzdENvb2tpZXMoKSB7Ci0gICAgICAgIGxldCBwYXNzZWRUZXN0cyA9IDA7Ci0gICAgICAgIGZ1
bmN0aW9uIGNoZWNrVGhhdENvb2tpZURvZXNOb3RFeHBpcmVBZnRlcihjb29raWVEYXRhLCBtYXhB
Z2VJblNlY29uZHMpIHsKLSAgICAgICAgICAgIGxldCBub3cgPSBuZXcgRGF0ZSgpOwotICAgICAg
ICAgICAgbGV0IG1heEV4cGlyeURhdGVJbk1pbGxpc2Vjb25kcyA9IG5vdy5nZXRUaW1lKCkgKyAo
bWF4QWdlSW5TZWNvbmRzICogMTAwMCk7Ci0KLSAgICAgICAgICAgIGlmIChtYXhFeHBpcnlEYXRl
SW5NaWxsaXNlY29uZHMgPiBjb29raWVEYXRhWyJleHBpcmVzIl0pCi0gICAgICAgICAgICAgICAg
KytwYXNzZWRUZXN0czsKLSAgICAgICAgICAgIGVsc2UKLSAgICAgICAgICAgICAgICB0ZXN0RmFp
bGVkKCJDb29raWUgbmFtZWQgIiArIGNvb2tpZURhdGFbIm5hbWUiXSArICIgZXhwaXJlcyBpbiBt
b3JlIHRoYW4gIiArIG1heEFnZUluU2Vjb25kcyArICIgc2Vjb25kcy4iKTsKLSAgICAgICAgfQot
Ci0gICAgICAgIGNvbnN0IHR3ZWx2ZUhvdXJzSW5TZWNvbmRzID0gMTIgKiA2MCAqIDYwOwotICAg
ICAgICBjb25zdCBzaG9ydExpdmVkQ29va2llTWF4QWdlID0geyBuYW1lIDogInNob3J0TGl2ZWRD
b29raWVNYXhBZ2UiLCBsaWZldGltZSA6ICJNYXgtQWdlPSIgKyB0d2VsdmVIb3Vyc0luU2Vjb25k
cyArICI7IiB9OwotICAgICAgICBkb2N1bWVudC5jb29raWUgPSBzaG9ydExpdmVkQ29va2llTWF4
QWdlLm5hbWUgKyAiPWZvb2JhcjsgIiArIHNob3J0TGl2ZWRDb29raWVNYXhBZ2UubGlmZXRpbWUg
KyAiIHBhdGg9LyI7Ci0KLSAgICAgICAgY29uc3QgdHdlbHZlSG91cnNBc0V4cGlyZXNEYXRlID0g
Y3JlYXRlRXhwaXJlc0RhdGVGcm9tTWF4QWdlKHR3ZWx2ZUhvdXJzSW5TZWNvbmRzKTsKLSAgICAg
ICAgY29uc3Qgc2hvcnRMaXZlZENvb2tpZUV4cGlyZXMgPSB7IG5hbWUgOiAic2hvcnRMaXZlZENv
b2tpZUV4cGlyZXMiLCBsaWZldGltZSA6ICJFeHBpcmVzPSIgKyB0d2VsdmVIb3Vyc0FzRXhwaXJl
c0RhdGUgKyAiOyIgfTsKLSAgICAgICAgZG9jdW1lbnQuY29va2llID0gc2hvcnRMaXZlZENvb2tp
ZUV4cGlyZXMubmFtZSArICI9Zm9vYmFyOyAiICsgc2hvcnRMaXZlZENvb2tpZUV4cGlyZXMubGlm
ZXRpbWUgKyAiIHBhdGg9LyI7Ci0KLSAgICAgICAgY29uc3Qgb25lRGF5SW5TZWNvbmRzID0gMiAq
IHR3ZWx2ZUhvdXJzSW5TZWNvbmRzOwotICAgICAgICBjb25zdCB0d29EYXlzSW5TZWNvbmRzID0g
MiAqIG9uZURheUluU2Vjb25kczsKLSAgICAgICAgY29uc3QgbG9uZ0xpdmVkQ29va2llTWF4QWdl
ID0geyBuYW1lIDogImxvbmdMaXZlZENvb2tpZU1heEFnZSIsIGxpZmV0aW1lIDogIk1heC1BZ2U9
IiArIHR3b0RheXNJblNlY29uZHMgKyAiOyIgfTsKLSAgICAgICAgZG9jdW1lbnQuY29va2llID0g
bG9uZ0xpdmVkQ29va2llTWF4QWdlLm5hbWUgKyAiPWZvb2JhcjsgIiArIGxvbmdMaXZlZENvb2tp
ZU1heEFnZS5saWZldGltZSArICIgcGF0aD0vIjsKLQotICAgICAgICBjb25zdCB0d29EYXlzQXNF
eHBpcmVzRGF0ZSA9IGNyZWF0ZUV4cGlyZXNEYXRlRnJvbU1heEFnZSh0d29EYXlzSW5TZWNvbmRz
KTsKLSAgICAgICAgY29uc3QgbG9uZ0xpdmVkQ29va2llRXhwaXJlcyA9IHsgbmFtZSA6ICJsb25n
TGl2ZWRDb29raWVFeHBpcmVzIiwgbGlmZXRpbWUgOiAiRXhwaXJlcz0iICsgdHdvRGF5c0FzRXhw
aXJlc0RhdGUgKyAiOyIgfTsKLSAgICAgICAgZG9jdW1lbnQuY29va2llID0gbG9uZ0xpdmVkQ29v
a2llRXhwaXJlcy5uYW1lICsgIj1mb29iYXI7ICIgKyBsb25nTGl2ZWRDb29raWVFeHBpcmVzLmxp
ZmV0aW1lICsgIiBwYXRoPS8iOwotCi0gICAgICAgIGNvbnN0IG92ZXJUd2VsdmVIb3Vyc0luU2Vj
b25kcyA9IHR3ZWx2ZUhvdXJzSW5TZWNvbmRzICsgMzA7Ci0gICAgICAgIGNvbnN0IG92ZXJPbmVE
YXlJblNlY29uZHMgPSBvbmVEYXlJblNlY29uZHMgKyAzMDsKLSAgICAgICAgaWYgKGludGVybmFs
cykgewotICAgICAgICAgICAgbGV0IGNvb2tpZXMgPSBpbnRlcm5hbHMuZ2V0Q29va2llcygpOwot
ICAgICAgICAgICAgaWYgKCFjb29raWVzLmxlbmd0aCkKLSAgICAgICAgICAgICAgICB0ZXN0RmFp
bGVkKCJObyBjb29raWVzIGZvdW5kLiIpOwotICAgICAgICAgICAgZm9yIChsZXQgY29va2llIG9m
IGNvb2tpZXMpIHsKLSAgICAgICAgICAgICAgICBzd2l0Y2ggKGNvb2tpZS5uYW1lKSB7Ci0gICAg
ICAgICAgICAgICAgICAgIGNhc2Ugc2hvcnRMaXZlZENvb2tpZU1heEFnZS5uYW1lOgotICAgICAg
ICAgICAgICAgICAgICAgICAgY2hlY2tUaGF0Q29va2llRG9lc05vdEV4cGlyZUFmdGVyKGNvb2tp
ZSwgb3ZlclR3ZWx2ZUhvdXJzSW5TZWNvbmRzKTsKLSAgICAgICAgICAgICAgICAgICAgICAgIGJy
ZWFrOwotICAgICAgICAgICAgICAgICAgICBjYXNlIHNob3J0TGl2ZWRDb29raWVFeHBpcmVzLm5h
bWU6Ci0gICAgICAgICAgICAgICAgICAgICAgICBjaGVja1RoYXRDb29raWVEb2VzTm90RXhwaXJl
QWZ0ZXIoY29va2llLCBvdmVyVHdlbHZlSG91cnNJblNlY29uZHMpOwotICAgICAgICAgICAgICAg
ICAgICAgICAgYnJlYWs7Ci0gICAgICAgICAgICAgICAgICAgIGNhc2UgbG9uZ0xpdmVkQ29va2ll
TWF4QWdlLm5hbWU6Ci0gICAgICAgICAgICAgICAgICAgICAgICBjaGVja1RoYXRDb29raWVEb2Vz
Tm90RXhwaXJlQWZ0ZXIoY29va2llLCBvdmVyT25lRGF5SW5TZWNvbmRzKTsKLSAgICAgICAgICAg
ICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICAgICAgICAgICAgICBjYXNlIGxvbmdMaXZlZENv
b2tpZUV4cGlyZXMubmFtZToKLSAgICAgICAgICAgICAgICAgICAgICAgIGNoZWNrVGhhdENvb2tp
ZURvZXNOb3RFeHBpcmVBZnRlcihjb29raWUsIG92ZXJPbmVEYXlJblNlY29uZHMpOwotICAgICAg
ICAgICAgICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgICAgICAgICAgfQotICAgICAgICAgICAg
fQotCi0gICAgICAgICAgICByZXNldENvb2tpZXNGb3JDdXJyZW50T3JpZ2luKCk7Ci0KLSAgICAg
ICAgICAgIGlmIChwYXNzZWRUZXN0cyA9PT0gNCkgewotICAgICAgICAgICAgICAgIHRlc3RQYXNz
ZWQoIlRoZSB0d28gc2hvcnQtbGl2ZWQgY29va2llcyBkb24ndCBleHBpcmUgYWZ0ZXIgbW9yZSB0
aGFuICIgKyBvdmVyVHdlbHZlSG91cnNJblNlY29uZHMgKyAiIHNlY29uZHMuIik7Ci0gICAgICAg
ICAgICAgICAgdGVzdFBhc3NlZCgiVGhlIHR3byBsb25nLWxpdmVkIGNvb2tpZXMgZG9uJ3QgZXhw
aXJlIGFmdGVyIG1vcmUgdGhhbiAiICsgb3Zlck9uZURheUluU2Vjb25kcyArICIgc2Vjb25kcy4i
KTsKLSAgICAgICAgICAgIH0gZWxzZQotICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoIkF0IGxl
YXN0IG9uZSBjb29raWUncyBleHBpcnkgYXR0cmlidXRlIHdhcyBiZXlvbmQgdGhlIHRlc3QgdGhy
ZXNob2xkcy4iKTsKLSAgICAgICAgfSBlbHNlCi0gICAgICAgICAgICB0ZXN0RmFpbGVkKCJObyBp
bnRlcm5hbHMgb2JqZWN0LiIpOwotCi0gICAgICAgIHNldEVuYWJsZUZlYXR1cmUoZmFsc2UsIGZp
bmlzaEpTVGVzdCk7Ci0gICAgfQotCi0gICAgZnVuY3Rpb24gbmF2aWdhdGVDcm9zc09yaWdpbigp
IHsKLSAgICAgICAgZG9jdW1lbnQubG9jYXRpb24uaHJlZiA9IGRlc3RpbmF0aW9uT3JpZ2luICsg
Ii9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NhcHBlZC1saWZldGltZS1mb3ItY29va2llLXNldC1p
bi1qcy13aXRoLWxpbmstcXVlcnktYW5kLWZyYWdtZW50LWZyb20tcHJldmFsZW50LXJlc291cmNl
Lmh0bWw/bGluaz1xdWVyeSNsaW5rPWZyYWdtZW50IjsKLSAgICB9Ci0KLSAgICBjb25zdCBkZXN0
aW5hdGlvbk9yaWdpbiA9ICJodHRwOi8vbG9jYWxob3N0OjgwMDAiOwotICAgIGNvbnN0IHByZXZh
bGVudFJlc291cmNlT3JpZ2luID0gImh0dHA6Ly8xMjcuMC4wLjE6ODAwMCI7Ci0gICAgZnVuY3Rp
b24gcnVuVGVzdCgpIHsKLSAgICAgICAgaWYgKGRvY3VtZW50LmxvY2F0aW9uLm9yaWdpbiA9PT0g
cHJldmFsZW50UmVzb3VyY2VPcmlnaW4pIHsKLSAgICAgICAgICAgIHRlc3RSdW5uZXIuc2V0VXNl
SVRQRGF0YWJhc2UodHJ1ZSk7Ci0gICAgICAgICAgICBzZXRFbmFibGVGZWF0dXJlKHRydWUsIGZ1
bmN0aW9uICgpIHsKLSAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NQcmV2
YWxlbnRSZXNvdXJjZShwcmV2YWxlbnRSZXNvdXJjZU9yaWdpbiwgdHJ1ZSwgZnVuY3Rpb24oKSB7
Ci0gICAgICAgICAgICAgICAgICAgIGlmICghdGVzdFJ1bm5lci5pc1N0YXRpc3RpY3NQcmV2YWxl
bnRSZXNvdXJjZShwcmV2YWxlbnRSZXNvdXJjZU9yaWdpbikpCi0gICAgICAgICAgICAgICAgICAg
ICAgICB0ZXN0RmFpbGVkKCJIb3N0IGRpZCBub3QgZ2V0IHNldCBhcyBwcmV2YWxlbnQgcmVzb3Vy
Y2UuIik7Ci0gICAgICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIuc3RhdGlzdGljc1VwZGF0ZUNv
b2tpZUJsb2NraW5nKG5hdmlnYXRlQ3Jvc3NPcmlnaW4pOwotICAgICAgICAgICAgICAgIH0pOwot
Ci0gICAgICAgICAgICB9KTsKLSAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAgIHRlc3RDb29r
aWVzKCk7Ci0gICAgICAgIH0KLSAgICB9Ci08L3NjcmlwdD4KLTwvYm9keT4KLTwvaHRtbD4KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9j
YXBwZWQtbGlmZXRpbWUtZm9yLWNvb2tpZS1zZXQtaW4tanMtd2l0aC1saW5rLXF1ZXJ5LWZyb20t
cHJldmFsZW50LXJlc291cmNlLWRhdGFiYXNlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0
dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jYXBwZWQtbGlmZXRpbWUtZm9yLWNvb2tp
ZS1zZXQtaW4tanMtd2l0aC1saW5rLXF1ZXJ5LWZyb20tcHJldmFsZW50LXJlc291cmNlLWRhdGFi
YXNlLWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZDQ1ZGQxNmMy
ZWUwMTA4MGUzYzFmMWI0MDIwNmI2NmE4MDJlMGFjMS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9h
ZFN0YXRpc3RpY3MvY2FwcGVkLWxpZmV0aW1lLWZvci1jb29raWUtc2V0LWluLWpzLXdpdGgtbGlu
ay1xdWVyeS1mcm9tLXByZXZhbGVudC1yZXNvdXJjZS1kYXRhYmFzZS1leHBlY3RlZC50eHQKKysr
IC9kZXYvbnVsbApAQCAtMSwxMSArMCwwIEBACi1DaGVjayB0aGF0IGNvb2tpZXMgY3JlYXRlZCBi
eSBKYXZhU2NyaXB0IGFmdGVyIGEgY3Jvc3Mtc2l0ZSBuYXZpZ2F0aW9uIHdpdGggbGluayBxdWVy
eSBnZXQgY2FwcGVkIHRvIDI0IGhvdXJzLgotCi1PbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBz
ZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCi0K
LQotUEFTUyBUaGUgdHdvIHNob3J0LWxpdmVkIGNvb2tpZXMgZG9uJ3QgZXhwaXJlIGFmdGVyIG1v
cmUgdGhhbiA0MzIzMCBzZWNvbmRzLgotUEFTUyBUaGUgdHdvIGxvbmctbGl2ZWQgY29va2llcyBk
b24ndCBleHBpcmUgYWZ0ZXIgbW9yZSB0aGFuIDg2NDMwIHNlY29uZHMuCi1QQVNTIHN1Y2Nlc3Nm
dWxseVBhcnNlZCBpcyB0cnVlCi0KLVRFU1QgQ09NUExFVEUKLQpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NhcHBlZC1saWZldGltZS1m
b3ItY29va2llLXNldC1pbi1qcy13aXRoLWxpbmstcXVlcnktZnJvbS1wcmV2YWxlbnQtcmVzb3Vy
Y2UtZGF0YWJhc2UuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3Rh
dGlzdGljcy9jYXBwZWQtbGlmZXRpbWUtZm9yLWNvb2tpZS1zZXQtaW4tanMtd2l0aC1saW5rLXF1
ZXJ5LWZyb20tcHJldmFsZW50LXJlc291cmNlLWRhdGFiYXNlLmh0bWwKZGVsZXRlZCBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDI1ZjA5NzZiMjQ4NjY2Njg5YzE4MWFhNTk1ZjBjMThmZjZhZjA1MGIu
LjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NhcHBlZC1saWZldGltZS1mb3It
Y29va2llLXNldC1pbi1qcy13aXRoLWxpbmstcXVlcnktZnJvbS1wcmV2YWxlbnQtcmVzb3VyY2Ut
ZGF0YWJhc2UuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDEwMSArMCwwIEBACi08IURPQ1RZUEUg
aHRtbD4KLTxodG1sPgotPGhlYWQ+Ci0gICAgPHNjcmlwdCBzcmM9Ii9qcy10ZXN0LXJlc291cmNl
cy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KLSAgICA8c2NyaXB0IHNyYz0iL2Nvb2tpZXMvcmVzb3Vy
Y2VzL2Nvb2tpZS11dGlsaXRpZXMuanMiPjwvc2NyaXB0PgotICAgIDxzY3JpcHQgc3JjPSJyZXNv
dXJjZXMvdXRpbC5qcyI+PC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keSBvbmxvYWQ9InNldFRpbWVv
dXQoJ3J1blRlc3QoKScsIDApIj4KLTxzY3JpcHQ+Ci0gICAgZGVzY3JpcHRpb24oIkNoZWNrIHRo
YXQgY29va2llcyBjcmVhdGVkIGJ5IEphdmFTY3JpcHQgYWZ0ZXIgYSBjcm9zcy1zaXRlIG5hdmln
YXRpb24gd2l0aCBsaW5rIHF1ZXJ5IGdldCBjYXBwZWQgdG8gMjQgaG91cnMuIik7Ci0gICAganNU
ZXN0SXNBc3luYyA9IHRydWU7Ci0KLSAgICBmdW5jdGlvbiB0ZXN0Q29va2llcygpIHsKLSAgICAg
ICAgbGV0IHBhc3NlZFRlc3RzID0gMDsKLSAgICAgICAgZnVuY3Rpb24gY2hlY2tUaGF0Q29va2ll
RG9lc05vdEV4cGlyZUFmdGVyKGNvb2tpZURhdGEsIG1heEFnZUluU2Vjb25kcykgewotICAgICAg
ICAgICAgbGV0IG5vdyA9IG5ldyBEYXRlKCk7Ci0gICAgICAgICAgICBsZXQgbWF4RXhwaXJ5RGF0
ZUluTWlsbGlzZWNvbmRzID0gbm93LmdldFRpbWUoKSArIChtYXhBZ2VJblNlY29uZHMgKiAxMDAw
KTsKLQotICAgICAgICAgICAgaWYgKG1heEV4cGlyeURhdGVJbk1pbGxpc2Vjb25kcyA+IGNvb2tp
ZURhdGFbImV4cGlyZXMiXSkKLSAgICAgICAgICAgICAgICArK3Bhc3NlZFRlc3RzOwotICAgICAg
ICAgICAgZWxzZQotICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoIkNvb2tpZSBuYW1lZCAiICsg
Y29va2llRGF0YVsibmFtZSJdICsgIiBleHBpcmVzIGluIG1vcmUgdGhhbiAiICsgbWF4QWdlSW5T
ZWNvbmRzICsgIiBzZWNvbmRzLiIpOwotICAgICAgICB9Ci0KLSAgICAgICAgY29uc3QgdHdlbHZl
SG91cnNJblNlY29uZHMgPSAxMiAqIDYwICogNjA7Ci0gICAgICAgIGNvbnN0IHNob3J0TGl2ZWRD
b29raWVNYXhBZ2UgPSB7IG5hbWUgOiAic2hvcnRMaXZlZENvb2tpZU1heEFnZSIsIGxpZmV0aW1l
IDogIk1heC1BZ2U9IiArIHR3ZWx2ZUhvdXJzSW5TZWNvbmRzICsgIjsiIH07Ci0gICAgICAgIGRv
Y3VtZW50LmNvb2tpZSA9IHNob3J0TGl2ZWRDb29raWVNYXhBZ2UubmFtZSArICI9Zm9vYmFyOyAi
ICsgc2hvcnRMaXZlZENvb2tpZU1heEFnZS5saWZldGltZSArICIgcGF0aD0vIjsKLQotICAgICAg
ICBjb25zdCB0d2VsdmVIb3Vyc0FzRXhwaXJlc0RhdGUgPSBjcmVhdGVFeHBpcmVzRGF0ZUZyb21N
YXhBZ2UodHdlbHZlSG91cnNJblNlY29uZHMpOwotICAgICAgICBjb25zdCBzaG9ydExpdmVkQ29v
a2llRXhwaXJlcyA9IHsgbmFtZSA6ICJzaG9ydExpdmVkQ29va2llRXhwaXJlcyIsIGxpZmV0aW1l
IDogIkV4cGlyZXM9IiArIHR3ZWx2ZUhvdXJzQXNFeHBpcmVzRGF0ZSArICI7IiB9OwotICAgICAg
ICBkb2N1bWVudC5jb29raWUgPSBzaG9ydExpdmVkQ29va2llRXhwaXJlcy5uYW1lICsgIj1mb29i
YXI7ICIgKyBzaG9ydExpdmVkQ29va2llRXhwaXJlcy5saWZldGltZSArICIgcGF0aD0vIjsKLQot
ICAgICAgICBjb25zdCBvbmVEYXlJblNlY29uZHMgPSAyICogdHdlbHZlSG91cnNJblNlY29uZHM7
Ci0gICAgICAgIGNvbnN0IHR3b0RheXNJblNlY29uZHMgPSAyICogb25lRGF5SW5TZWNvbmRzOwot
ICAgICAgICBjb25zdCBsb25nTGl2ZWRDb29raWVNYXhBZ2UgPSB7IG5hbWUgOiAibG9uZ0xpdmVk
Q29va2llTWF4QWdlIiwgbGlmZXRpbWUgOiAiTWF4LUFnZT0iICsgdHdvRGF5c0luU2Vjb25kcyAr
ICI7IiB9OwotICAgICAgICBkb2N1bWVudC5jb29raWUgPSBsb25nTGl2ZWRDb29raWVNYXhBZ2Uu
bmFtZSArICI9Zm9vYmFyOyAiICsgbG9uZ0xpdmVkQ29va2llTWF4QWdlLmxpZmV0aW1lICsgIiBw
YXRoPS8iOwotCi0gICAgICAgIGNvbnN0IHR3b0RheXNBc0V4cGlyZXNEYXRlID0gY3JlYXRlRXhw
aXJlc0RhdGVGcm9tTWF4QWdlKHR3b0RheXNJblNlY29uZHMpOwotICAgICAgICBjb25zdCBsb25n
TGl2ZWRDb29raWVFeHBpcmVzID0geyBuYW1lIDogImxvbmdMaXZlZENvb2tpZUV4cGlyZXMiLCBs
aWZldGltZSA6ICJFeHBpcmVzPSIgKyB0d29EYXlzQXNFeHBpcmVzRGF0ZSArICI7IiB9OwotICAg
ICAgICBkb2N1bWVudC5jb29raWUgPSBsb25nTGl2ZWRDb29raWVFeHBpcmVzLm5hbWUgKyAiPWZv
b2JhcjsgIiArIGxvbmdMaXZlZENvb2tpZUV4cGlyZXMubGlmZXRpbWUgKyAiIHBhdGg9LyI7Ci0K
LSAgICAgICAgY29uc3Qgb3ZlclR3ZWx2ZUhvdXJzSW5TZWNvbmRzID0gdHdlbHZlSG91cnNJblNl
Y29uZHMgKyAzMDsKLSAgICAgICAgY29uc3Qgb3Zlck9uZURheUluU2Vjb25kcyA9IG9uZURheUlu
U2Vjb25kcyArIDMwOwotICAgICAgICBpZiAoaW50ZXJuYWxzKSB7Ci0gICAgICAgICAgICBsZXQg
Y29va2llcyA9IGludGVybmFscy5nZXRDb29raWVzKCk7Ci0gICAgICAgICAgICBpZiAoIWNvb2tp
ZXMubGVuZ3RoKQotICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoIk5vIGNvb2tpZXMgZm91bmQu
Iik7Ci0gICAgICAgICAgICBmb3IgKGxldCBjb29raWUgb2YgY29va2llcykgewotICAgICAgICAg
ICAgICAgIHN3aXRjaCAoY29va2llLm5hbWUpIHsKLSAgICAgICAgICAgICAgICAgICAgY2FzZSBz
aG9ydExpdmVkQ29va2llTWF4QWdlLm5hbWU6Ci0gICAgICAgICAgICAgICAgICAgICAgICBjaGVj
a1RoYXRDb29raWVEb2VzTm90RXhwaXJlQWZ0ZXIoY29va2llLCBvdmVyVHdlbHZlSG91cnNJblNl
Y29uZHMpOwotICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgICAgICAgICAg
ICAgIGNhc2Ugc2hvcnRMaXZlZENvb2tpZUV4cGlyZXMubmFtZToKLSAgICAgICAgICAgICAgICAg
ICAgICAgIGNoZWNrVGhhdENvb2tpZURvZXNOb3RFeHBpcmVBZnRlcihjb29raWUsIG92ZXJUd2Vs
dmVIb3Vyc0luU2Vjb25kcyk7Ci0gICAgICAgICAgICAgICAgICAgICAgICBicmVhazsKLSAgICAg
ICAgICAgICAgICAgICAgY2FzZSBsb25nTGl2ZWRDb29raWVNYXhBZ2UubmFtZToKLSAgICAgICAg
ICAgICAgICAgICAgICAgIGNoZWNrVGhhdENvb2tpZURvZXNOb3RFeHBpcmVBZnRlcihjb29raWUs
IG92ZXJPbmVEYXlJblNlY29uZHMpOwotICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7Ci0g
ICAgICAgICAgICAgICAgICAgIGNhc2UgbG9uZ0xpdmVkQ29va2llRXhwaXJlcy5uYW1lOgotICAg
ICAgICAgICAgICAgICAgICAgICAgY2hlY2tUaGF0Q29va2llRG9lc05vdEV4cGlyZUFmdGVyKGNv
b2tpZSwgb3Zlck9uZURheUluU2Vjb25kcyk7Ci0gICAgICAgICAgICAgICAgICAgICAgICBicmVh
azsKLSAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICB9Ci0KLSAgICAgICAgICAgIHJlc2V0
Q29va2llc0ZvckN1cnJlbnRPcmlnaW4oKTsKLQotICAgICAgICAgICAgaWYgKHBhc3NlZFRlc3Rz
ID09PSA0KSB7Ci0gICAgICAgICAgICAgICAgdGVzdFBhc3NlZCgiVGhlIHR3byBzaG9ydC1saXZl
ZCBjb29raWVzIGRvbid0IGV4cGlyZSBhZnRlciBtb3JlIHRoYW4gIiArIG92ZXJUd2VsdmVIb3Vy
c0luU2Vjb25kcyArICIgc2Vjb25kcy4iKTsKLSAgICAgICAgICAgICAgICB0ZXN0UGFzc2VkKCJU
aGUgdHdvIGxvbmctbGl2ZWQgY29va2llcyBkb24ndCBleHBpcmUgYWZ0ZXIgbW9yZSB0aGFuICIg
KyBvdmVyT25lRGF5SW5TZWNvbmRzICsgIiBzZWNvbmRzLiIpOwotICAgICAgICAgICAgfSBlbHNl
Ci0gICAgICAgICAgICAgICAgdGVzdEZhaWxlZCgiQXQgbGVhc3Qgb25lIGNvb2tpZSdzIGV4cGly
eSBhdHRyaWJ1dGUgd2FzIGJleW9uZCB0aGUgdGVzdCB0aHJlc2hvbGRzLiIpOwotICAgICAgICB9
IGVsc2UKLSAgICAgICAgICAgIHRlc3RGYWlsZWQoIk5vIGludGVybmFscyBvYmplY3QuIik7Ci0g
ICAgICAgIAotICAgICAgICBzZXRFbmFibGVGZWF0dXJlKGZhbHNlLCBmaW5pc2hKU1Rlc3QpOwot
ICAgIH0KLQotICAgIGZ1bmN0aW9uIG5hdmlnYXRlQ3Jvc3NPcmlnaW4oKSB7Ci0gICAgICAgIGRv
Y3VtZW50LmxvY2F0aW9uLmhyZWYgPSBkZXN0aW5hdGlvbk9yaWdpbiArICIvcmVzb3VyY2VMb2Fk
U3RhdGlzdGljcy9jYXBwZWQtbGlmZXRpbWUtZm9yLWNvb2tpZS1zZXQtaW4tanMtd2l0aC1saW5r
LXF1ZXJ5LWZyb20tcHJldmFsZW50LXJlc291cmNlLmh0bWw/bGluaz1xdWVyeSI7Ci0gICAgfQot
Ci0gICAgY29uc3QgZGVzdGluYXRpb25PcmlnaW4gPSAiaHR0cDovL2xvY2FsaG9zdDo4MDAwIjsK
LSAgICBjb25zdCBwcmV2YWxlbnRSZXNvdXJjZU9yaWdpbiA9ICJodHRwOi8vMTI3LjAuMC4xOjgw
MDAiOwotICAgIGZ1bmN0aW9uIHJ1blRlc3QoKSB7Ci0gICAgICAgIGlmIChkb2N1bWVudC5sb2Nh
dGlvbi5vcmlnaW4gPT09IHByZXZhbGVudFJlc291cmNlT3JpZ2luKSB7Ci0gICAgICAgICAgICB0
ZXN0UnVubmVyLnNldFVzZUlUUERhdGFiYXNlKHRydWUpOwotICAgICAgICAgICAgc2V0RW5hYmxl
RmVhdHVyZSh0cnVlLCBmdW5jdGlvbiAoKSB7Ci0gICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5z
ZXRTdGF0aXN0aWNzUHJldmFsZW50UmVzb3VyY2UocHJldmFsZW50UmVzb3VyY2VPcmlnaW4sIHRy
dWUsIGZ1bmN0aW9uKCkgewotICAgICAgICAgICAgICAgICAgICBpZiAoIXRlc3RSdW5uZXIuaXNT
dGF0aXN0aWNzUHJldmFsZW50UmVzb3VyY2UocHJldmFsZW50UmVzb3VyY2VPcmlnaW4pKQotICAg
ICAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZCgiSG9zdCBkaWQgbm90IGdldCBzZXQgYXMg
cHJldmFsZW50IHJlc291cmNlLiIpOwotICAgICAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLnN0
YXRpc3RpY3NVcGRhdGVDb29raWVCbG9ja2luZyhuYXZpZ2F0ZUNyb3NzT3JpZ2luKTsKLSAgICAg
ICAgICAgICAgICB9KTsKLQotICAgICAgICAgICAgfSk7Ci0gICAgICAgIH0gZWxzZSB7Ci0gICAg
ICAgICAgICB0ZXN0Q29va2llcygpOwotICAgICAgICB9Ci0gICAgfQotPC9zY3JpcHQ+Ci08L2Jv
ZHk+Ci08L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNl
TG9hZFN0YXRpc3RpY3MvY2FwcGVkLWxpZmV0aW1lLWZvci1jb29raWUtc2V0LWluLWpzLXdpdGhv
dXQtbGluay1kZWNvcmF0aW9uLWZyb20tcHJldmFsZW50LXJlc291cmNlLWRhdGFiYXNlLWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9j
YXBwZWQtbGlmZXRpbWUtZm9yLWNvb2tpZS1zZXQtaW4tanMtd2l0aG91dC1saW5rLWRlY29yYXRp
b24tZnJvbS1wcmV2YWxlbnQtcmVzb3VyY2UtZGF0YWJhc2UtZXhwZWN0ZWQudHh0CmRlbGV0ZWQg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAzYmY2NDlhNTdlMTM2NGMwNjA2NDU2OTQxMzA0NTQxMTM3
NDU4MzAxLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xh
eW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jYXBwZWQtbGlmZXRp
bWUtZm9yLWNvb2tpZS1zZXQtaW4tanMtd2l0aG91dC1saW5rLWRlY29yYXRpb24tZnJvbS1wcmV2
YWxlbnQtcmVzb3VyY2UtZGF0YWJhc2UtZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEs
MTAgKzAsMCBAQAotQ2hlY2sgdGhhdCBjb29raWVzIGNyZWF0ZWQgYnkgSmF2YVNjcmlwdCBhZnRl
ciBhIGNyb3NzLXNpdGUgbmF2aWdhdGlvbiB3aXRob3V0IGxpbmsgZGVjb3JhdGlvbiBkb24ndCBn
ZXQgY2FwcGVkIHRvIDI0IGhvdXJzLgotCi1PbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJp
ZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCi0KLQot
UEFTUyBUaGUgdHdvIGxvbmctbGl2ZWQgY29va2llcyBleHBpcmUgYWZ0ZXIgbW9yZSB0aGFuIDg2
NDMwIHNlY29uZHMuCi1QQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCi0KLVRFU1QgQ09N
UExFVEUKLQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRT
dGF0aXN0aWNzL2NhcHBlZC1saWZldGltZS1mb3ItY29va2llLXNldC1pbi1qcy13aXRob3V0LWxp
bmstZGVjb3JhdGlvbi1mcm9tLXByZXZhbGVudC1yZXNvdXJjZS1kYXRhYmFzZS5odG1sIGIvTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NhcHBlZC1saWZldGlt
ZS1mb3ItY29va2llLXNldC1pbi1qcy13aXRob3V0LWxpbmstZGVjb3JhdGlvbi1mcm9tLXByZXZh
bGVudC1yZXNvdXJjZS1kYXRhYmFzZS5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCBhZTQ3YjQ5NDg3ZTg5NjcyOWQwYTRiNzc3MGI1MWQ3ODNmNGU4Y2YwLi4wMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMv
cmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jYXBwZWQtbGlmZXRpbWUtZm9yLWNvb2tpZS1zZXQtaW4t
anMtd2l0aG91dC1saW5rLWRlY29yYXRpb24tZnJvbS1wcmV2YWxlbnQtcmVzb3VyY2UtZGF0YWJh
c2UuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDg2ICswLDAgQEAKLTwhRE9DVFlQRSBodG1sPgot
PGh0bWw+Ci08aGVhZD4KLSAgICA8c2NyaXB0IHNyYz0iL2pzLXRlc3QtcmVzb3VyY2VzL2pzLXRl
c3QuanMiPjwvc2NyaXB0PgotICAgIDxzY3JpcHQgc3JjPSIvY29va2llcy9yZXNvdXJjZXMvY29v
a2llLXV0aWxpdGllcy5qcyI+PC9zY3JpcHQ+Ci0gICAgPHNjcmlwdCBzcmM9InJlc291cmNlcy91
dGlsLmpzIj48L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5IG9ubG9hZD0ic2V0VGltZW91dCgncnVu
VGVzdCgpJywgMCkiPgotPHNjcmlwdD4KLSAgICBkZXNjcmlwdGlvbigiQ2hlY2sgdGhhdCBjb29r
aWVzIGNyZWF0ZWQgYnkgSmF2YVNjcmlwdCBhZnRlciBhIGNyb3NzLXNpdGUgbmF2aWdhdGlvbiB3
aXRob3V0IGxpbmsgZGVjb3JhdGlvbiBkb24ndCBnZXQgY2FwcGVkIHRvIDI0IGhvdXJzLiIpOwot
ICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOwotCi0gICAgZnVuY3Rpb24gdGVzdENvb2tpZXMoKSB7
Ci0gICAgICAgIGxldCBwYXNzZWRUZXN0cyA9IDA7Ci0KLSAgICAgICAgZnVuY3Rpb24gY2hlY2tU
aGF0Q29va2llRG9lc0V4cGlyZUFmdGVyKGNvb2tpZURhdGEsIG1heEFnZUluU2Vjb25kcykgewot
ICAgICAgICAgICAgbGV0IG5vdyA9IG5ldyBEYXRlKCk7Ci0gICAgICAgICAgICBsZXQgbWF4RXhw
aXJ5RGF0ZUluTWlsbGlzZWNvbmRzID0gbm93LmdldFRpbWUoKSArIChtYXhBZ2VJblNlY29uZHMg
KiAxMDAwKTsKLQotICAgICAgICAgICAgaWYgKG1heEV4cGlyeURhdGVJbk1pbGxpc2Vjb25kcyA8
IGNvb2tpZURhdGFbImV4cGlyZXMiXSkKLSAgICAgICAgICAgICAgICArK3Bhc3NlZFRlc3RzOwot
ICAgICAgICAgICAgZWxzZQotICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoIkNvb2tpZSBuYW1l
ZCAiICsgY29va2llRGF0YVsibmFtZSJdICsgIiBleHBpcmVzIGluIGxlc3MgdGhhbiAiICsgbWF4
QWdlSW5TZWNvbmRzICsgIiBzZWNvbmRzLiIpOwotICAgICAgICB9Ci0KLSAgICAgICAgY29uc3Qg
b25lRGF5SW5TZWNvbmRzID0gMjQgKiA2MCAqIDYwOwotICAgICAgICBjb25zdCB0d29EYXlzSW5T
ZWNvbmRzID0gMiAqIG9uZURheUluU2Vjb25kczsKLSAgICAgICAgY29uc3QgbG9uZ0xpdmVkQ29v
a2llTWF4QWdlID0geyBuYW1lIDogImxvbmdMaXZlZENvb2tpZU1heEFnZSIsIGxpZmV0aW1lIDog
Ik1heC1BZ2U9IiArIHR3b0RheXNJblNlY29uZHMgKyAiOyIgfTsKLSAgICAgICAgZG9jdW1lbnQu
Y29va2llID0gbG9uZ0xpdmVkQ29va2llTWF4QWdlLm5hbWUgKyAiPWZvb2JhcjsgIiArIGxvbmdM
aXZlZENvb2tpZU1heEFnZS5saWZldGltZSArICIgcGF0aD0vIjsKLQotICAgICAgICBjb25zdCB0
d29EYXlzQXNFeHBpcmVzRGF0ZSA9IGNyZWF0ZUV4cGlyZXNEYXRlRnJvbU1heEFnZSh0d29EYXlz
SW5TZWNvbmRzKTsKLSAgICAgICAgY29uc3QgbG9uZ0xpdmVkQ29va2llRXhwaXJlcyA9IHsgbmFt
ZSA6ICJsb25nTGl2ZWRDb29raWVFeHBpcmVzIiwgbGlmZXRpbWUgOiAiRXhwaXJlcz0iICsgdHdv
RGF5c0FzRXhwaXJlc0RhdGUgKyAiOyIgfTsKLSAgICAgICAgZG9jdW1lbnQuY29va2llID0gbG9u
Z0xpdmVkQ29va2llRXhwaXJlcy5uYW1lICsgIj1mb29iYXI7ICIgKyBsb25nTGl2ZWRDb29raWVF
eHBpcmVzLmxpZmV0aW1lICsgIiBwYXRoPS8iOwotCi0gICAgICAgIGNvbnN0IG92ZXJPbmVEYXlJ
blNlY29uZHMgPSBvbmVEYXlJblNlY29uZHMgKyAzMDsKLSAgICAgICAgaWYgKGludGVybmFscykg
ewotICAgICAgICAgICAgbGV0IGNvb2tpZXMgPSBpbnRlcm5hbHMuZ2V0Q29va2llcygpOwotICAg
ICAgICAgICAgaWYgKCFjb29raWVzLmxlbmd0aCkKLSAgICAgICAgICAgICAgICB0ZXN0RmFpbGVk
KCJObyBjb29raWVzIGZvdW5kLiIpOwotICAgICAgICAgICAgZm9yIChsZXQgY29va2llIG9mIGNv
b2tpZXMpIHsKLSAgICAgICAgICAgICAgICBzd2l0Y2ggKGNvb2tpZS5uYW1lKSB7Ci0gICAgICAg
ICAgICAgICAgICAgIGNhc2UgbG9uZ0xpdmVkQ29va2llTWF4QWdlLm5hbWU6Ci0gICAgICAgICAg
ICAgICAgICAgICAgICBjaGVja1RoYXRDb29raWVEb2VzRXhwaXJlQWZ0ZXIoY29va2llLCBvdmVy
T25lRGF5SW5TZWNvbmRzKTsKLSAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOwotICAgICAg
ICAgICAgICAgICAgICBjYXNlIGxvbmdMaXZlZENvb2tpZUV4cGlyZXMubmFtZToKLSAgICAgICAg
ICAgICAgICAgICAgICAgIGNoZWNrVGhhdENvb2tpZURvZXNFeHBpcmVBZnRlcihjb29raWUsIG92
ZXJPbmVEYXlJblNlY29uZHMpOwotICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7Ci0gICAg
ICAgICAgICAgICAgfQotICAgICAgICAgICAgfQotCi0gICAgICAgICAgICByZXNldENvb2tpZXNG
b3JDdXJyZW50T3JpZ2luKCk7Ci0KLSAgICAgICAgICAgIGlmIChwYXNzZWRUZXN0cyA9PT0gMikg
ewotICAgICAgICAgICAgICAgIHRlc3RQYXNzZWQoIlRoZSB0d28gbG9uZy1saXZlZCBjb29raWVz
IGV4cGlyZSBhZnRlciBtb3JlIHRoYW4gIiArIG92ZXJPbmVEYXlJblNlY29uZHMgKyAiIHNlY29u
ZHMuIik7Ci0gICAgICAgICAgICB9IGVsc2UKLSAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKCJB
dCBsZWFzdCBvbmUgY29va2llJ3MgZXhwaXJ5IGF0dHJpYnV0ZSB3YXMgYmVsb3cgdGhlIHRlc3Qg
dGhyZXNob2xkcy4iKTsKLSAgICAgICAgfSBlbHNlCi0gICAgICAgICAgICB0ZXN0RmFpbGVkKCJO
byBpbnRlcm5hbHMgb2JqZWN0LiIpOwotICAgICAgICAgICAgCi0gICAgICAgIHNldEVuYWJsZUZl
YXR1cmUoZmFsc2UsIGZpbmlzaEpTVGVzdCk7Ci0gICAgfQotCi0gICAgZnVuY3Rpb24gbmF2aWdh
dGVDcm9zc09yaWdpbigpIHsKLSAgICAgICAgZG9jdW1lbnQubG9jYXRpb24uaHJlZiA9IGRlc3Rp
bmF0aW9uT3JpZ2luICsgIi9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NhcHBlZC1saWZldGltZS1m
b3ItY29va2llLXNldC1pbi1qcy13aXRob3V0LWxpbmstZGVjb3JhdGlvbi1mcm9tLXByZXZhbGVu
dC1yZXNvdXJjZS5odG1sIjsKLSAgICB9Ci0KLSAgICBjb25zdCBkZXN0aW5hdGlvbk9yaWdpbiA9
ICJodHRwOi8vbG9jYWxob3N0OjgwMDAiOwotICAgIGNvbnN0IHByZXZhbGVudFJlc291cmNlT3Jp
Z2luID0gImh0dHA6Ly8xMjcuMC4wLjE6ODAwMCI7Ci0gICAgZnVuY3Rpb24gcnVuVGVzdCgpIHsK
LSAgICAgICAgaWYgKGRvY3VtZW50LmxvY2F0aW9uLm9yaWdpbiA9PT0gcHJldmFsZW50UmVzb3Vy
Y2VPcmlnaW4pIHsKLSAgICAgICAgICAgIHRlc3RSdW5uZXIuc2V0VXNlSVRQRGF0YWJhc2UodHJ1
ZSk7Ci0gICAgICAgICAgICBzZXRFbmFibGVGZWF0dXJlKHRydWUsIGZ1bmN0aW9uICgpIHsKLSAg
ICAgICAgICAgICAgICB0ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NQcmV2YWxlbnRSZXNvdXJjZShw
cmV2YWxlbnRSZXNvdXJjZU9yaWdpbiwgdHJ1ZSwgZnVuY3Rpb24oKSB7Ci0gICAgICAgICAgICAg
ICAgICAgIGlmICghdGVzdFJ1bm5lci5pc1N0YXRpc3RpY3NQcmV2YWxlbnRSZXNvdXJjZShwcmV2
YWxlbnRSZXNvdXJjZU9yaWdpbikpCi0gICAgICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVk
KCJIb3N0IGRpZCBub3QgZ2V0IHNldCBhcyBwcmV2YWxlbnQgcmVzb3VyY2UuIik7Ci0gICAgICAg
ICAgICAgICAgICAgIHRlc3RSdW5uZXIuc3RhdGlzdGljc1VwZGF0ZUNvb2tpZUJsb2NraW5nKG5h
dmlnYXRlQ3Jvc3NPcmlnaW4pOwotICAgICAgICAgICAgICAgIH0pOwotCi0gICAgICAgICAgICB9
KTsKLSAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAgIHRlc3RDb29raWVzKCk7Ci0gICAgICAg
IH0KLSAgICB9Ci08L3NjcmlwdD4KLTwvYm9keT4KLTwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jbGFzc2lmeS1hcy1ub24t
cHJldmFsZW50LWJhc2VkLW9uLW1peGVkLXN0YXRpc3RpY3MtZGF0YWJhc2UtZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NsYXNzaWZ5
LWFzLW5vbi1wcmV2YWxlbnQtYmFzZWQtb24tbWl4ZWQtc3RhdGlzdGljcy1kYXRhYmFzZS1leHBl
Y3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDIwYzI1OGI4ZTAwNWQzNTU0
MTgyYWYwNmQ0ODI1ODNhZTc3ZTVhMTMuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0
aWNzL2NsYXNzaWZ5LWFzLW5vbi1wcmV2YWxlbnQtYmFzZWQtb24tbWl4ZWQtc3RhdGlzdGljcy1k
YXRhYmFzZS1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSw1ICswLDAgQEAKLVBBU1Mg
c3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKLQotVEVTVCBDT01QTEVURQotUEFTUyBIb3N0IGRp
ZCBub3QgZ2V0IGNsYXNzaWZpZWQgYXMgcHJldmFsZW50IHJlc291cmNlLgotCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY2xhc3NpZnkt
YXMtbm9uLXByZXZhbGVudC1iYXNlZC1vbi1taXhlZC1zdGF0aXN0aWNzLWRhdGFiYXNlLmh0bWwg
Yi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY2xhc3NpZnkt
YXMtbm9uLXByZXZhbGVudC1iYXNlZC1vbi1taXhlZC1zdGF0aXN0aWNzLWRhdGFiYXNlLmh0bWwK
ZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDQwNWM4MjYzOGM2OWM2M2Y0NGMxMzM0ODdj
Y2E2YTBkZWNmZGI4MzYuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAK
LS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NsYXNz
aWZ5LWFzLW5vbi1wcmV2YWxlbnQtYmFzZWQtb24tbWl4ZWQtc3RhdGlzdGljcy1kYXRhYmFzZS5o
dG1sCisrKyAvZGV2L251bGwKQEAgLTEsNTAgKzAsMCBAQAotPCFET0NUWVBFIGh0bWw+Ci08aHRt
bCBsYW5nPSJlbiI+Ci08aGVhZD4KLSAgICA8bWV0YSBjaGFyc2V0PSJVVEYtOCI+Ci0gICAgPHRp
dGxlPlRlc3RzIGZvciBDbGFzc2lmaWNhdGlvbiBCYXNlZCBvbiBNaXhlZCBTdGF0aXN0aWNzPC90
aXRsZT4KLSAgICA8c2NyaXB0IHNyYz0iL2pzLXRlc3QtcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwv
c2NyaXB0PgotICAgIDxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvdXRpbC5qcyI+PC9zY3JpcHQ+Ci08
L2hlYWQ+Ci08Ym9keT4KLTxzY3JpcHQ+Ci0gICAgY29uc3QgaG9zdFVuZGVyVGVzdCA9ICIxMjcu
MC4wLjE6ODAwMCI7Ci0gICAgY29uc3Qgc3RhdGlzdGljc1VybCA9ICJodHRwOi8vIiArIGhvc3RV
bmRlclRlc3QgKyAiL3RlbXAiOwotICAgIGNvbnN0IHRvcEZyYW1lT3JpZ2luMSA9ICJodHRwOi8v
MTI3LjAuMC4yOjgwMDAvdGVtcCI7Ci0gICAgY29uc3QgdG9wRnJhbWVPcmlnaW4yID0gImh0dHA6
Ly8xMjcuMC4wLjM6ODAwMC90ZW1wIjsKLSAgICBjb25zdCB0b3BGcmFtZU9yaWdpbjMgPSAiaHR0
cDovLzEyNy4wLjAuNDo4MDAwL3RlbXAiOwotCi0gICAgZnVuY3Rpb24gY29tcGxldGVUZXN0KCkg
ewotICAgICAgICBpZiAodGVzdFJ1bm5lci5pc1N0YXRpc3RpY3NQcmV2YWxlbnRSZXNvdXJjZShz
dGF0aXN0aWNzVXJsKSkKLSAgICAgICAgICAgIHRlc3RGYWlsZWQoIkhvc3QgY2xhc3NpZmllZCBh
cyBwcmV2YWxlbnQgcmVzb3VyY2UuIik7Ci0gICAgICAgIGVsc2UKLSAgICAgICAgICAgIHRlc3RQ
YXNzZWQoIkhvc3QgZGlkIG5vdCBnZXQgY2xhc3NpZmllZCBhcyBwcmV2YWxlbnQgcmVzb3VyY2Uu
Iik7Ci0KLSAgICAgICAgc2V0RW5hYmxlRmVhdHVyZShmYWxzZSwgZnVuY3Rpb24oKSB7Ci0gICAg
ICAgICAgICB0ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsKLSAgICAgICAgfSk7Ci0gICAgfQotCi0g
ICAgZnVuY3Rpb24gcnVuVGVzdFJ1bm5lclRlc3QoKSB7Ci0gICAgICAgIHRlc3RSdW5uZXIuc2V0
U3RhdGlzdGljc1ByZXZhbGVudFJlc291cmNlKHN0YXRpc3RpY3NVcmwsIGZhbHNlLCBmdW5jdGlv
bigpIHsKLSAgICAgICAgICAgIGlmICh0ZXN0UnVubmVyLmlzU3RhdGlzdGljc1ByZXZhbGVudFJl
c291cmNlKHN0YXRpc3RpY3NVcmwpKQotICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoIkhvc3Qg
ZGlkIG5vdCBnZXQgc2V0IGFzIG5vbi1wcmV2YWxlbnQgcmVzb3VyY2UuIik7Ci0KLSAgICAgICAg
ICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc1N1YmZyYW1lVW5kZXJUb3BGcmFtZU9yaWdpbihz
dGF0aXN0aWNzVXJsLCB0b3BGcmFtZU9yaWdpbjEpOwotICAgICAgICAgICAgdGVzdFJ1bm5lci5z
ZXRTdGF0aXN0aWNzU3VicmVzb3VyY2VVbmRlclRvcEZyYW1lT3JpZ2luKHN0YXRpc3RpY3NVcmws
IHRvcEZyYW1lT3JpZ2luMik7Ci0gICAgICAgICAgICB0ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NT
dWJyZXNvdXJjZVVuaXF1ZVJlZGlyZWN0VG8oc3RhdGlzdGljc1VybCwgdG9wRnJhbWVPcmlnaW4z
KTsKLQotICAgICAgICAgICAgdGVzdFJ1bm5lci5pbnN0YWxsU3RhdGlzdGljc0RpZFNjYW5EYXRh
UmVjb3Jkc0NhbGxiYWNrKGNvbXBsZXRlVGVzdCk7Ci0KLSAgICAgICAgICAgIHRlc3RSdW5uZXIu
c3RhdGlzdGljc1Byb2Nlc3NTdGF0aXN0aWNzQW5kRGF0YVJlY29yZHMoKTsKLSAgICAgICAgfSk7
Ci0gICAgfQotCi0gICAgaWYgKGRvY3VtZW50LmxvY2F0aW9uLmhvc3QgPT09IGhvc3RVbmRlclRl
c3QgJiYgd2luZG93LnRlc3RSdW5uZXIgJiYgd2luZG93LmludGVybmFscykgewotICAgICAgICB0
ZXN0UnVubmVyLnNldFVzZUlUUERhdGFiYXNlKHRydWUpOwotICAgICAgICB0ZXN0UnVubmVyLndh
aXRVbnRpbERvbmUoKTsKLSAgICAgICAgc2V0RW5hYmxlRmVhdHVyZSh0cnVlLCBydW5UZXN0UnVu
bmVyVGVzdCk7Ci0gICAgfQotPC9zY3JpcHQ+Ci08L2JvZHk+Ci08L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY2xhc3NpZnkt
YXMtbm9uLXByZXZhbGVudC1iYXNlZC1vbi1zdWItZnJhbWUtdW5kZXItdG9wLWZyYW1lLW9yaWdp
bnMtZGF0YWJhc2UtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJj
ZUxvYWRTdGF0aXN0aWNzL2NsYXNzaWZ5LWFzLW5vbi1wcmV2YWxlbnQtYmFzZWQtb24tc3ViLWZy
YW1lLXVuZGVyLXRvcC1mcmFtZS1vcmlnaW5zLWRhdGFiYXNlLWV4cGVjdGVkLnR4dApkZWxldGVk
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMjBjMjU4YjhlMDA1ZDM1NTQxODJhZjA2ZDQ4MjU4M2Fl
NzdlNWExMy4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9M
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY2xhc3NpZnktYXMt
bm9uLXByZXZhbGVudC1iYXNlZC1vbi1zdWItZnJhbWUtdW5kZXItdG9wLWZyYW1lLW9yaWdpbnMt
ZGF0YWJhc2UtZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEsNSArMCwwIEBACi1QQVNT
IHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCi0KLVRFU1QgQ09NUExFVEUKLVBBU1MgSG9zdCBk
aWQgbm90IGdldCBjbGFzc2lmaWVkIGFzIHByZXZhbGVudCByZXNvdXJjZS4KLQpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NsYXNzaWZ5
LWFzLW5vbi1wcmV2YWxlbnQtYmFzZWQtb24tc3ViLWZyYW1lLXVuZGVyLXRvcC1mcmFtZS1vcmln
aW5zLWRhdGFiYXNlLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0
YXRpc3RpY3MvY2xhc3NpZnktYXMtbm9uLXByZXZhbGVudC1iYXNlZC1vbi1zdWItZnJhbWUtdW5k
ZXItdG9wLWZyYW1lLW9yaWdpbnMtZGF0YWJhc2UuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggNWZiYjdiOTI2ZjJlMGNkZTk3OGYxYjU5ZTYxYzU3NmQ5NWUyMjU3ZS4uMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY2xhc3NpZnktYXMtbm9uLXByZXZhbGVudC1i
YXNlZC1vbi1zdWItZnJhbWUtdW5kZXItdG9wLWZyYW1lLW9yaWdpbnMtZGF0YWJhc2UuaHRtbAor
KysgL2Rldi9udWxsCkBAIC0xLDUyICswLDAgQEAKLTwhRE9DVFlQRSBodG1sPgotPGh0bWwgbGFu
Zz0iZW4iPgotPGhlYWQ+Ci0gICAgPG1ldGEgY2hhcnNldD0iVVRGLTgiPgotICAgIDx0aXRsZT5U
ZXN0cyBmb3IgQ2xhc3NpZmljYXRpb24gQmFzZWQgb24gU3ViIEZyYW1lIFVuZGVyIFRvcCBGcmFt
ZSBPcmlnaW5zPC90aXRsZT4KLSAgICA8c2NyaXB0IHNyYz0iL2pzLXRlc3QtcmVzb3VyY2VzL2pz
LXRlc3QuanMiPjwvc2NyaXB0PgotICAgIDxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvdXRpbC5qcyI+
PC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keSBvbmxvYWQ9InJ1bigpIj4KLTxzY3JpcHQ+Ci0gICAg
Y29uc3QgaG9zdFVuZGVyVGVzdCA9ICIxMjcuMC4wLjE6ODAwMCI7Ci0gICAgY29uc3Qgc3RhdGlz
dGljc1VybCA9ICJodHRwOi8vIiArIGhvc3RVbmRlclRlc3QgKyAiL3RlbXAiOwotICAgIGNvbnN0
IHRvcEZyYW1lT3JpZ2luMSA9ICJodHRwOi8vMTI3LjAuMC4yOjgwMDAvdGVtcCI7Ci0gICAgY29u
c3QgdG9wRnJhbWVPcmlnaW4yID0gImh0dHA6Ly8xMjcuMC4wLjM6ODAwMC90ZW1wIjsKLSAgICBj
b25zdCB0b3BGcmFtZU9yaWdpbjMgPSAiaHR0cDovLzEyNy4wLjAuNDo4MDAwL3RlbXAiOwotCi0g
ICAgZnVuY3Rpb24gY29tcGxldGVUZXN0KCkgewotICAgICAgICBpZiAodGVzdFJ1bm5lci5pc1N0
YXRpc3RpY3NQcmV2YWxlbnRSZXNvdXJjZShzdGF0aXN0aWNzVXJsKSkKLSAgICAgICAgICAgIHRl
c3RGYWlsZWQoIkhvc3QgY2xhc3NpZmllZCBhcyBwcmV2YWxlbnQgcmVzb3VyY2UuIik7Ci0gICAg
ICAgIGVsc2UKLSAgICAgICAgICAgIHRlc3RQYXNzZWQoIkhvc3QgZGlkIG5vdCBnZXQgY2xhc3Np
ZmllZCBhcyBwcmV2YWxlbnQgcmVzb3VyY2UuIik7Ci0KLSAgICAgICAgc2V0RW5hYmxlRmVhdHVy
ZShmYWxzZSwgZnVuY3Rpb24oKSB7Ci0gICAgICAgICAgICB0ZXN0UnVubmVyLm5vdGlmeURvbmUo
KTsKLSAgICAgICAgfSk7Ci0gICAgfQotCi0gICAgZnVuY3Rpb24gcnVuVGVzdFJ1bm5lclRlc3Qo
KSB7Ci0gICAgICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc1ByZXZhbGVudFJlc291cmNlKHN0
YXRpc3RpY3NVcmwsIGZhbHNlLCBmdW5jdGlvbigpIHsKLSAgICAgICAgICAgIGlmICh0ZXN0UnVu
bmVyLmlzU3RhdGlzdGljc1ByZXZhbGVudFJlc291cmNlKHN0YXRpc3RpY3NVcmwpKQotICAgICAg
ICAgICAgICAgIHRlc3RGYWlsZWQoIkhvc3QgZGlkIG5vdCBnZXQgc2V0IGFzIG5vbi1wcmV2YWxl
bnQgcmVzb3VyY2UuIik7Ci0KLSAgICAgICAgICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc1N1
YmZyYW1lVW5kZXJUb3BGcmFtZU9yaWdpbihzdGF0aXN0aWNzVXJsLCB0b3BGcmFtZU9yaWdpbjEp
OwotICAgICAgICAgICAgdGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNzU3ViZnJhbWVVbmRlclRvcEZy
YW1lT3JpZ2luKHN0YXRpc3RpY3NVcmwsIHRvcEZyYW1lT3JpZ2luMik7Ci0gICAgICAgICAgICB0
ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NTdWJmcmFtZVVuZGVyVG9wRnJhbWVPcmlnaW4oc3RhdGlz
dGljc1VybCwgdG9wRnJhbWVPcmlnaW4zKTsKLQotICAgICAgICAgICAgdGVzdFJ1bm5lci5pbnN0
YWxsU3RhdGlzdGljc0RpZFNjYW5EYXRhUmVjb3Jkc0NhbGxiYWNrKGNvbXBsZXRlVGVzdCk7Ci0K
LSAgICAgICAgICAgIHRlc3RSdW5uZXIuc3RhdGlzdGljc1Byb2Nlc3NTdGF0aXN0aWNzQW5kRGF0
YVJlY29yZHMoKTsKLSAgICAgICAgfSk7Ci0gICAgfQotCi0gICAgZnVuY3Rpb24gcnVuKCkgewot
ICAgICAgICBpZiAoZG9jdW1lbnQubG9jYXRpb24uaG9zdCA9PT0gaG9zdFVuZGVyVGVzdCAmJiB3
aW5kb3cudGVzdFJ1bm5lciAmJiB3aW5kb3cuaW50ZXJuYWxzKSB7Ci0gICAgICAgICAgICB0ZXN0
UnVubmVyLnNldFVzZUlUUERhdGFiYXNlKHRydWUpOwotICAgICAgICAgICAgdGVzdFJ1bm5lci53
YWl0VW50aWxEb25lKCk7Ci0gICAgICAgICAgICBzZXRFbmFibGVGZWF0dXJlKHRydWUsIHJ1blRl
c3RSdW5uZXJUZXN0KTsKLSAgICAgICAgfQotICAgIH0KLTwvc2NyaXB0PgotPC9ib2R5PgotPC9o
dG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0
aXN0aWNzL2NsYXNzaWZ5LWFzLW5vbi1wcmV2YWxlbnQtYmFzZWQtb24tc3VicmVzb3VyY2UtdW5k
ZXItdG9wLWZyYW1lLW9yaWdpbnMtZGF0YWJhc2UtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
aHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NsYXNzaWZ5LWFzLW5vbi1wcmV2YWxl
bnQtYmFzZWQtb24tc3VicmVzb3VyY2UtdW5kZXItdG9wLWZyYW1lLW9yaWdpbnMtZGF0YWJhc2Ut
ZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAyMGMyNThiOGUwMDVk
MzU1NDE4MmFmMDZkNDgyNTgzYWU3N2U1YTEzLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3Rh
dGlzdGljcy9jbGFzc2lmeS1hcy1ub24tcHJldmFsZW50LWJhc2VkLW9uLXN1YnJlc291cmNlLXVu
ZGVyLXRvcC1mcmFtZS1vcmlnaW5zLWRhdGFiYXNlLWV4cGVjdGVkLnR4dAorKysgL2Rldi9udWxs
CkBAIC0xLDUgKzAsMCBAQAotUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQotCi1URVNU
IENPTVBMRVRFCi1QQVNTIEhvc3QgZGlkIG5vdCBnZXQgY2xhc3NpZmllZCBhcyBwcmV2YWxlbnQg
cmVzb3VyY2UuCi0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VM
b2FkU3RhdGlzdGljcy9jbGFzc2lmeS1hcy1ub24tcHJldmFsZW50LWJhc2VkLW9uLXN1YnJlc291
cmNlLXVuZGVyLXRvcC1mcmFtZS1vcmlnaW5zLWRhdGFiYXNlLmh0bWwgYi9MYXlvdXRUZXN0cy9o
dHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY2xhc3NpZnktYXMtbm9uLXByZXZhbGVu
dC1iYXNlZC1vbi1zdWJyZXNvdXJjZS11bmRlci10b3AtZnJhbWUtb3JpZ2lucy1kYXRhYmFzZS5o
dG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAxY2E1ZmE0YzI0NzU0ODlhNmUzYmUz
N2VhYzA2NGQ4NTNiZTM5ZjJkLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwCi0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9j
bGFzc2lmeS1hcy1ub24tcHJldmFsZW50LWJhc2VkLW9uLXN1YnJlc291cmNlLXVuZGVyLXRvcC1m
cmFtZS1vcmlnaW5zLWRhdGFiYXNlLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSw0OCArMCwwIEBA
Ci08IURPQ1RZUEUgaHRtbD4KLTxodG1sIGxhbmc9ImVuIj4KLTxoZWFkPgotICAgIDxtZXRhIGNo
YXJzZXQ9IlVURi04Ij4KLSAgICA8dGl0bGU+VGVzdHMgZm9yIENsYXNzaWZpY2F0aW9uIEJhc2Vk
IG9uIFN1YnJlc291cmNlIFVuZGVyIFRvcCBGcmFtZSBPcmlnaW5zPC90aXRsZT4KLSAgICA8c2Ny
aXB0IHNyYz0iL2pzLXRlc3QtcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgotICAgIDxz
Y3JpcHQgc3JjPSJyZXNvdXJjZXMvdXRpbC5qcyI+PC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keT4K
LTxzY3JpcHQ+Ci0gICAgY29uc3QgaG9zdFVuZGVyVGVzdCA9ICIxMjcuMC4wLjE6ODAwMCI7Ci0g
ICAgY29uc3Qgc3RhdGlzdGljc1VybCA9ICJodHRwOi8vIiArIGhvc3RVbmRlclRlc3QgKyAiL3Rl
bXAiOwotICAgIGNvbnN0IHRvcEZyYW1lT3JpZ2luMSA9ICJodHRwOi8vMTI3LjAuMC4yOjgwMDAv
dGVtcCI7Ci0gICAgY29uc3QgdG9wRnJhbWVPcmlnaW4yID0gImh0dHA6Ly8xMjcuMC4wLjM6ODAw
MC90ZW1wIjsKLQotICAgIGZ1bmN0aW9uIGNvbXBsZXRlVGVzdCgpIHsKLSAgICAgICAgaWYgKHRl
c3RSdW5uZXIuaXNTdGF0aXN0aWNzUHJldmFsZW50UmVzb3VyY2Uoc3RhdGlzdGljc1VybCkpCi0g
ICAgICAgICAgICB0ZXN0RmFpbGVkKCJIb3N0IGNsYXNzaWZpZWQgYXMgcHJldmFsZW50IHJlc291
cmNlLiIpOwotICAgICAgICBlbHNlCi0gICAgICAgICAgICB0ZXN0UGFzc2VkKCJIb3N0IGRpZCBu
b3QgZ2V0IGNsYXNzaWZpZWQgYXMgcHJldmFsZW50IHJlc291cmNlLiIpOwotCi0gICAgICAgIHNl
dEVuYWJsZUZlYXR1cmUoZmFsc2UsIGZ1bmN0aW9uKCkgewotICAgICAgICAgICAgdGVzdFJ1bm5l
ci5ub3RpZnlEb25lKCk7Ci0gICAgICAgIH0pOwotICAgIH0KLQotICAgIGZ1bmN0aW9uIHJ1blRl
c3RSdW5uZXJUZXN0KCkgeyAKLSAgICAgICAgdGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNzUHJldmFs
ZW50UmVzb3VyY2Uoc3RhdGlzdGljc1VybCwgZmFsc2UsIGZ1bmN0aW9uKCkgewotICAgICAgICAg
ICAgaWYgKHRlc3RSdW5uZXIuaXNTdGF0aXN0aWNzUHJldmFsZW50UmVzb3VyY2Uoc3RhdGlzdGlj
c1VybCkpCi0gICAgICAgICAgICAgICAgdGVzdEZhaWxlZCgiSG9zdCBkaWQgbm90IGdldCBzZXQg
YXMgbm9uLXByZXZhbGVudCByZXNvdXJjZS4iKTsKLQotICAgICAgICAgICAgdGVzdFJ1bm5lci5z
ZXRTdGF0aXN0aWNzU3VicmVzb3VyY2VVbmRlclRvcEZyYW1lT3JpZ2luKHN0YXRpc3RpY3NVcmws
IHRvcEZyYW1lT3JpZ2luMSk7Ci0gICAgICAgICAgICB0ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NT
dWJyZXNvdXJjZVVuZGVyVG9wRnJhbWVPcmlnaW4oc3RhdGlzdGljc1VybCwgdG9wRnJhbWVPcmln
aW4yKTsKLQotICAgICAgICAgICAgdGVzdFJ1bm5lci5pbnN0YWxsU3RhdGlzdGljc0RpZFNjYW5E
YXRhUmVjb3Jkc0NhbGxiYWNrKGNvbXBsZXRlVGVzdCk7Ci0KLSAgICAgICAgICAgIHRlc3RSdW5u
ZXIuc3RhdGlzdGljc1Byb2Nlc3NTdGF0aXN0aWNzQW5kRGF0YVJlY29yZHMoKTsKLSAgICAgICAg
fSk7Ci0gICAgfQotCi0gICAgaWYgKGRvY3VtZW50LmxvY2F0aW9uLmhvc3QgPT09IGhvc3RVbmRl
clRlc3QgJiYgd2luZG93LnRlc3RSdW5uZXIgJiYgd2luZG93LmludGVybmFscykgewotICAgICAg
ICB0ZXN0UnVubmVyLnNldFVzZUlUUERhdGFiYXNlKHRydWUpOwotICAgICAgICB0ZXN0UnVubmVy
LndhaXRVbnRpbERvbmUoKTsKLSAgICAgICAgc2V0RW5hYmxlRmVhdHVyZSh0cnVlLCBydW5UZXN0
UnVubmVyVGVzdCk7Ci0gICAgfQotPC9zY3JpcHQ+Ci08L2JvZHk+Ci08L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY2xhc3Np
ZnktYXMtbm9uLXByZXZhbGVudC1iYXNlZC1vbi1zdWJyZXNvdXJjZS11bmlxdWUtcmVkaXJlY3Rz
LXRvLWRhdGFiYXNlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3Vy
Y2VMb2FkU3RhdGlzdGljcy9jbGFzc2lmeS1hcy1ub24tcHJldmFsZW50LWJhc2VkLW9uLXN1YnJl
c291cmNlLXVuaXF1ZS1yZWRpcmVjdHMtdG8tZGF0YWJhc2UtZXhwZWN0ZWQudHh0CmRlbGV0ZWQg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAyMGMyNThiOGUwMDVkMzU1NDE4MmFmMDZkNDgyNTgzYWU3
N2U1YTEzLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xh
eW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jbGFzc2lmeS1hcy1u
b24tcHJldmFsZW50LWJhc2VkLW9uLXN1YnJlc291cmNlLXVuaXF1ZS1yZWRpcmVjdHMtdG8tZGF0
YWJhc2UtZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEsNSArMCwwIEBACi1QQVNTIHN1
Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCi0KLVRFU1QgQ09NUExFVEUKLVBBU1MgSG9zdCBkaWQg
bm90IGdldCBjbGFzc2lmaWVkIGFzIHByZXZhbGVudCByZXNvdXJjZS4KLQpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NsYXNzaWZ5LWFz
LW5vbi1wcmV2YWxlbnQtYmFzZWQtb24tc3VicmVzb3VyY2UtdW5pcXVlLXJlZGlyZWN0cy10by1k
YXRhYmFzZS5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0
aWNzL2NsYXNzaWZ5LWFzLW5vbi1wcmV2YWxlbnQtYmFzZWQtb24tc3VicmVzb3VyY2UtdW5pcXVl
LXJlZGlyZWN0cy10by1kYXRhYmFzZS5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCA2MjUxNjhmYmYzMDA2NmNjOTg4MGMxMTViZWIxZGUyNzFiMWVjMDQ3Li4wMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMv
cmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jbGFzc2lmeS1hcy1ub24tcHJldmFsZW50LWJhc2VkLW9u
LXN1YnJlc291cmNlLXVuaXF1ZS1yZWRpcmVjdHMtdG8tZGF0YWJhc2UuaHRtbAorKysgL2Rldi9u
dWxsCkBAIC0xLDQ4ICswLDAgQEAKLTwhRE9DVFlQRSBodG1sPgotPGh0bWwgbGFuZz0iZW4iPgot
PGhlYWQ+Ci0gICAgPG1ldGEgY2hhcnNldD0iVVRGLTgiPgotICAgIDx0aXRsZT5UZXN0cyBmb3Ig
Q2xhc3NpZmljYXRpb24gQmFzZWQgb24gU3VicmVzb3VyY2UgVW5pcXVlIFJlZGlyZWN0cyBUbzwv
dGl0bGU+Ci0gICAgPHNjcmlwdCBzcmM9Ii9qcy10ZXN0LXJlc291cmNlcy9qcy10ZXN0LmpzIj48
L3NjcmlwdD4KLSAgICA8c2NyaXB0IHNyYz0icmVzb3VyY2VzL3V0aWwuanMiPjwvc2NyaXB0Pgot
PC9oZWFkPgotPGJvZHk+Ci08c2NyaXB0PgotICAgIGNvbnN0IGhvc3RVbmRlclRlc3QgPSAiMTI3
LjAuMC4xOjgwMDAiOwotICAgIGNvbnN0IHN0YXRpc3RpY3NVcmwgPSAiaHR0cDovLyIgKyBob3N0
VW5kZXJUZXN0ICsgIi90ZW1wIjsKLSAgICBjb25zdCB0b3BGcmFtZU9yaWdpbjEgPSAiaHR0cDov
LzEyNy4wLjAuMjo4MDAwL3RlbXAiOwotICAgIGNvbnN0IHRvcEZyYW1lT3JpZ2luMiA9ICJodHRw
Oi8vMTI3LjAuMC4zOjgwMDAvdGVtcCI7Ci0KLSAgICBmdW5jdGlvbiBjb21wbGV0ZVRlc3QoKSB7
Ci0gICAgICAgIGlmICh0ZXN0UnVubmVyLmlzU3RhdGlzdGljc1ByZXZhbGVudFJlc291cmNlKHN0
YXRpc3RpY3NVcmwpKQotICAgICAgICAgICAgdGVzdEZhaWxlZCgiSG9zdCBjbGFzc2lmaWVkIGFz
IHByZXZhbGVudCByZXNvdXJjZS4iKTsKLSAgICAgICAgZWxzZQotICAgICAgICAgICAgdGVzdFBh
c3NlZCgiSG9zdCBkaWQgbm90IGdldCBjbGFzc2lmaWVkIGFzIHByZXZhbGVudCByZXNvdXJjZS4i
KTsKLQotICAgICAgICBzZXRFbmFibGVGZWF0dXJlKGZhbHNlLCBmdW5jdGlvbigpIHsKLSAgICAg
ICAgICAgIHRlc3RSdW5uZXIubm90aWZ5RG9uZSgpOwotICAgICAgICB9KTsKLSAgICB9Ci0KLSAg
ICBmdW5jdGlvbiBydW5UZXN0UnVubmVyVGVzdCgpIHsKLSAgICAgICAgdGVzdFJ1bm5lci5zZXRT
dGF0aXN0aWNzUHJldmFsZW50UmVzb3VyY2Uoc3RhdGlzdGljc1VybCwgZmFsc2UsIGZ1bmN0aW9u
KCkgewotICAgICAgICAgICAgaWYgKHRlc3RSdW5uZXIuaXNTdGF0aXN0aWNzUHJldmFsZW50UmVz
b3VyY2Uoc3RhdGlzdGljc1VybCkpCi0gICAgICAgICAgICAgICAgdGVzdEZhaWxlZCgiSG9zdCBk
aWQgbm90IGdldCBzZXQgYXMgbm9uLXByZXZhbGVudCByZXNvdXJjZS4iKTsKLQotICAgICAgICAg
ICAgdGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNzU3VicmVzb3VyY2VVbmlxdWVSZWRpcmVjdFRvKHN0
YXRpc3RpY3NVcmwsIHRvcEZyYW1lT3JpZ2luMSk7Ci0gICAgICAgICAgICB0ZXN0UnVubmVyLnNl
dFN0YXRpc3RpY3NTdWJyZXNvdXJjZVVuaXF1ZVJlZGlyZWN0VG8oc3RhdGlzdGljc1VybCwgdG9w
RnJhbWVPcmlnaW4yKTsKLQotICAgICAgICAgICAgdGVzdFJ1bm5lci5pbnN0YWxsU3RhdGlzdGlj
c0RpZFNjYW5EYXRhUmVjb3Jkc0NhbGxiYWNrKGNvbXBsZXRlVGVzdCk7Ci0KLSAgICAgICAgICAg
IHRlc3RSdW5uZXIuc3RhdGlzdGljc1Byb2Nlc3NTdGF0aXN0aWNzQW5kRGF0YVJlY29yZHMoKTsK
LSAgICAgICAgfSk7Ci0gICAgfQotCi0gICAgaWYgKGRvY3VtZW50LmxvY2F0aW9uLmhvc3QgPT09
IGhvc3RVbmRlclRlc3QgJiYgd2luZG93LnRlc3RSdW5uZXIgJiYgd2luZG93LmludGVybmFscykg
ewotICAgICAgICB0ZXN0UnVubmVyLnNldFVzZUlUUERhdGFiYXNlKHRydWUpOwotICAgICAgICB0
ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTsKLSAgICAgICAgc2V0RW5hYmxlRmVhdHVyZSh0cnVl
LCBydW5UZXN0UnVubmVyVGVzdCk7Ci0gICAgfQotPC9zY3JpcHQ+Ci08L2JvZHk+Ci08L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3Rp
Y3MvY2xhc3NpZnktYXMtcHJldmFsZW50LWJhc2VkLW9uLW1peGVkLXN0YXRpc3RpY3MtZGF0YWJh
c2UtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0
aXN0aWNzL2NsYXNzaWZ5LWFzLXByZXZhbGVudC1iYXNlZC1vbi1taXhlZC1zdGF0aXN0aWNzLWRh
dGFiYXNlLWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMzJkZDY5
Zjk0MTlmNTE5ODk1N2YwOTA4ZGQ2NzRkNjg0MzZjYjljNy4uMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNl
TG9hZFN0YXRpc3RpY3MvY2xhc3NpZnktYXMtcHJldmFsZW50LWJhc2VkLW9uLW1peGVkLXN0YXRp
c3RpY3MtZGF0YWJhc2UtZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEsNSArMCwwIEBA
Ci1QQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCi0KLVRFU1QgQ09NUExFVEUKLVBBU1Mg
SG9zdCBjbGFzc2lmaWVkIGFzIHByZXZhbGVudCByZXNvdXJjZS4KLQpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NsYXNzaWZ5LWFzLXBy
ZXZhbGVudC1iYXNlZC1vbi1taXhlZC1zdGF0aXN0aWNzLWRhdGFiYXNlLmh0bWwgYi9MYXlvdXRU
ZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY2xhc3NpZnktYXMtcHJldmFs
ZW50LWJhc2VkLW9uLW1peGVkLXN0YXRpc3RpY3MtZGF0YWJhc2UuaHRtbApkZWxldGVkIGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMzc1NjhhYjQ1YzcwN2EzYmQyZDBhZWNmYTMxNTk2ZDg1MTNmZjlm
Yi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRU
ZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY2xhc3NpZnktYXMtcHJldmFs
ZW50LWJhc2VkLW9uLW1peGVkLXN0YXRpc3RpY3MtZGF0YWJhc2UuaHRtbAorKysgL2Rldi9udWxs
CkBAIC0xLDU5ICswLDAgQEAKLTwhRE9DVFlQRSBodG1sPgotPGh0bWwgbGFuZz0iZW4iPgotPGhl
YWQ+Ci0gICAgPG1ldGEgY2hhcnNldD0iVVRGLTgiPgotICAgIDx0aXRsZT5UZXN0cyBmb3IgQ2xh
c3NpZmljYXRpb24gQmFzZWQgb24gTWl4ZWQgU3RhdGlzdGljczwvdGl0bGU+Ci0gICAgPHNjcmlw
dCBzcmM9Ii9qcy10ZXN0LXJlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KLSAgICA8c2Ny
aXB0IHNyYz0icmVzb3VyY2VzL3V0aWwuanMiPjwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHk+Ci08
c2NyaXB0PgotICAgIGNvbnN0IGhvc3RVbmRlclRlc3QgPSAiMTI3LjAuMC4xOjgwMDAiOwotICAg
IGNvbnN0IHN0YXRpc3RpY3NVcmwgPSAiaHR0cDovLyIgKyBob3N0VW5kZXJUZXN0ICsgIi90ZW1w
IjsKLSAgICBjb25zdCB0b3BGcmFtZU9yaWdpbjEgPSAiaHR0cDovLzEyNy4wLjAuMjo4MDAwL3Rl
bXAiOwotICAgIGNvbnN0IHRvcEZyYW1lT3JpZ2luMiA9ICJodHRwOi8vMTI3LjAuMC4zOjgwMDAv
dGVtcCI7Ci0gICAgY29uc3QgdG9wRnJhbWVPcmlnaW4zID0gImh0dHA6Ly8xMjcuMC4wLjQ6ODAw
MC90ZW1wIjsKLSAgICBjb25zdCB0b3BGcmFtZU9yaWdpbjQgPSAiaHR0cDovLzEyNy4wLjAuNTo4
MDAwL3RlbXAiOwotCi0gICAgZnVuY3Rpb24gY29tcGxldGVUZXN0KCkgewotICAgICAgICBpZiAo
IXRlc3RSdW5uZXIuaXNTdGF0aXN0aWNzUHJldmFsZW50UmVzb3VyY2Uoc3RhdGlzdGljc1VybCkp
Ci0gICAgICAgICAgICB0ZXN0RmFpbGVkKCJIb3N0IGRpZCBub3QgZ2V0IGNsYXNzaWZpZWQgYXMg
cHJldmFsZW50IHJlc291cmNlLiIpOwotICAgICAgICBpZiAodGVzdFJ1bm5lci5pc1N0YXRpc3Rp
Y3NWZXJ5UHJldmFsZW50UmVzb3VyY2Uoc3RhdGlzdGljc1VybCkpCi0gICAgICAgICAgICB0ZXN0
RmFpbGVkKCJIb3N0IGdvdCBjbGFzc2lmaWVkIGFzIHZlcnkgcHJldmFsZW50IHJlc291cmNlLiIp
OwotICAgICAgICBlbHNlCi0gICAgICAgICAgICB0ZXN0UGFzc2VkKCJIb3N0IGNsYXNzaWZpZWQg
YXMgcHJldmFsZW50IHJlc291cmNlLiIpOwotCi0gICAgICAgIHNldEVuYWJsZUZlYXR1cmUoZmFs
c2UsIGZ1bmN0aW9uKCkgewotICAgICAgICAgICAgdGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7Ci0g
ICAgICAgIH0pOwotICAgIH0KLQotICAgIGZ1bmN0aW9uIHJ1blRlc3RSdW5uZXJUZXN0KCkgeyAK
LSAgICAgICAgdGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNzUHJldmFsZW50UmVzb3VyY2Uoc3RhdGlz
dGljc1VybCwgZmFsc2UsIGZ1bmN0aW9uKCkgewotICAgICAgICAgICAgaWYgKHRlc3RSdW5uZXIu
aXNTdGF0aXN0aWNzUHJldmFsZW50UmVzb3VyY2Uoc3RhdGlzdGljc1VybCkpCi0gICAgICAgICAg
ICAgICAgdGVzdEZhaWxlZCgiSG9zdCBkaWQgbm90IGdldCBzZXQgYXMgbm9uLXByZXZhbGVudCBy
ZXNvdXJjZS4iKTsKLQotICAgICAgICAgICAgdGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNzU3ViZnJh
bWVVbmRlclRvcEZyYW1lT3JpZ2luKHN0YXRpc3RpY3NVcmwsIHRvcEZyYW1lT3JpZ2luMSk7Ci0g
ICAgICAgICAgICB0ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NTdWJmcmFtZVVuZGVyVG9wRnJhbWVP
cmlnaW4oc3RhdGlzdGljc1VybCwgdG9wRnJhbWVPcmlnaW40KTsKLQotICAgICAgICAgICAgdGVz
dFJ1bm5lci5zZXRTdGF0aXN0aWNzU3VicmVzb3VyY2VVbmRlclRvcEZyYW1lT3JpZ2luKHN0YXRp
c3RpY3NVcmwsIHRvcEZyYW1lT3JpZ2luMik7Ci0gICAgICAgICAgICB0ZXN0UnVubmVyLnNldFN0
YXRpc3RpY3NTdWJyZXNvdXJjZVVuZGVyVG9wRnJhbWVPcmlnaW4oc3RhdGlzdGljc1VybCwgdG9w
RnJhbWVPcmlnaW4zKTsKLSAgICAgICAgICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc1N1YnJl
c291cmNlVW5kZXJUb3BGcmFtZU9yaWdpbihzdGF0aXN0aWNzVXJsLCB0b3BGcmFtZU9yaWdpbjQp
OwotCi0gICAgICAgICAgICB0ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NTdWJyZXNvdXJjZVVuaXF1
ZVJlZGlyZWN0VG8oc3RhdGlzdGljc1VybCwgdG9wRnJhbWVPcmlnaW4zKTsKLSAgICAgICAgICAg
IHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc1N1YnJlc291cmNlVW5pcXVlUmVkaXJlY3RUbyhzdGF0
aXN0aWNzVXJsLCB0b3BGcmFtZU9yaWdpbjEpOwotCi0gICAgICAgICAgICB0ZXN0UnVubmVyLmlu
c3RhbGxTdGF0aXN0aWNzRGlkU2NhbkRhdGFSZWNvcmRzQ2FsbGJhY2soY29tcGxldGVUZXN0KTsK
LQotICAgICAgICAgICAgdGVzdFJ1bm5lci5zdGF0aXN0aWNzUHJvY2Vzc1N0YXRpc3RpY3NBbmRE
YXRhUmVjb3JkcygpOwotICAgICAgICB9KTsKLSAgICB9Ci0KLSAgICBpZiAoZG9jdW1lbnQubG9j
YXRpb24uaG9zdCA9PT0gaG9zdFVuZGVyVGVzdCAmJiB3aW5kb3cudGVzdFJ1bm5lciAmJiB3aW5k
b3cuaW50ZXJuYWxzKSB7Ci0gICAgICAgIHRlc3RSdW5uZXIuc2V0VXNlSVRQRGF0YWJhc2UodHJ1
ZSk7Ci0gICAgICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOwotICAgICAgICBzZXRFbmFi
bGVGZWF0dXJlKHRydWUsIHJ1blRlc3RSdW5uZXJUZXN0KTsKLSAgICB9Ci08L3NjcmlwdD4KLTwv
Ym9keT4KLTwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3Vy
Y2VMb2FkU3RhdGlzdGljcy9jbGFzc2lmeS1hcy1wcmV2YWxlbnQtYmFzZWQtb24tc3ViLWZyYW1l
LXVuZGVyLXRvcC1mcmFtZS1vcmlnaW5zLWRhdGFiYXNlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jbGFzc2lmeS1hcy1wcmV2YWxl
bnQtYmFzZWQtb24tc3ViLWZyYW1lLXVuZGVyLXRvcC1mcmFtZS1vcmlnaW5zLWRhdGFiYXNlLWV4
cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMzJkZDY5Zjk0MTlmNTE5
ODk1N2YwOTA4ZGQ2NzRkNjg0MzZjYjljNy4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRp
c3RpY3MvY2xhc3NpZnktYXMtcHJldmFsZW50LWJhc2VkLW9uLXN1Yi1mcmFtZS11bmRlci10b3At
ZnJhbWUtb3JpZ2lucy1kYXRhYmFzZS1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSw1
ICswLDAgQEAKLVBBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKLQotVEVTVCBDT01QTEVU
RQotUEFTUyBIb3N0IGNsYXNzaWZpZWQgYXMgcHJldmFsZW50IHJlc291cmNlLgotCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY2xhc3Np
ZnktYXMtcHJldmFsZW50LWJhc2VkLW9uLXN1Yi1mcmFtZS11bmRlci10b3AtZnJhbWUtb3JpZ2lu
cy1kYXRhYmFzZS5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0
aXN0aWNzL2NsYXNzaWZ5LWFzLXByZXZhbGVudC1iYXNlZC1vbi1zdWItZnJhbWUtdW5kZXItdG9w
LWZyYW1lLW9yaWdpbnMtZGF0YWJhc2UuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggNTQ0M2ZjYTQxZTE4NGY5YWNlNGZmZmVlMTczMTAwZTU5ZDQ5MDBlMy4uMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY2xhc3NpZnktYXMtcHJldmFsZW50LWJhc2VkLW9uLXN1
Yi1mcmFtZS11bmRlci10b3AtZnJhbWUtb3JpZ2lucy1kYXRhYmFzZS5odG1sCisrKyAvZGV2L251
bGwKQEAgLTEsNTQgKzAsMCBAQAotPCFET0NUWVBFIGh0bWw+Ci08aHRtbCBsYW5nPSJlbiI+Ci08
aGVhZD4KLSAgICA8bWV0YSBjaGFyc2V0PSJVVEYtOCI+Ci0gICAgPHRpdGxlPlRlc3RzIGZvciBD
bGFzc2lmaWNhdGlvbiBCYXNlZCBvbiBTdWIgRnJhbWUgVW5kZXIgVG9wIEZyYW1lIE9yaWdpbnM8
L3RpdGxlPgotICAgIDxzY3JpcHQgc3JjPSIvanMtdGVzdC1yZXNvdXJjZXMvanMtdGVzdC5qcyI+
PC9zY3JpcHQ+Ci0gICAgPHNjcmlwdCBzcmM9InJlc291cmNlcy91dGlsLmpzIj48L3NjcmlwdD4K
LTwvaGVhZD4KLTxib2R5PgotPHNjcmlwdD4KLSAgICBjb25zdCBob3N0VW5kZXJUZXN0ID0gIjEy
Ny4wLjAuMTo4MDAwIjsKLSAgICBjb25zdCBzdGF0aXN0aWNzVXJsID0gImh0dHA6Ly8iICsgaG9z
dFVuZGVyVGVzdCArICIvdGVtcCI7Ci0gICAgY29uc3QgdG9wRnJhbWVPcmlnaW4xID0gImh0dHA6
Ly8xMjcuMC4wLjI6ODAwMC90ZW1wIjsKLSAgICBjb25zdCB0b3BGcmFtZU9yaWdpbjIgPSAiaHR0
cDovLzEyNy4wLjAuMzo4MDAwL3RlbXAiOwotICAgIGNvbnN0IHRvcEZyYW1lT3JpZ2luMyA9ICJo
dHRwOi8vMTI3LjAuMC40OjgwMDAvdGVtcCI7Ci0gICAgY29uc3QgdG9wRnJhbWVPcmlnaW40ID0g
Imh0dHA6Ly8xMjcuMC4wLjU6ODAwMC90ZW1wIjsKLQotICAgIGZ1bmN0aW9uIGNvbXBsZXRlVGVz
dCgpIHsKLSAgICAgICAgaWYgKCF0ZXN0UnVubmVyLmlzU3RhdGlzdGljc1ByZXZhbGVudFJlc291
cmNlKHN0YXRpc3RpY3NVcmwpKQotICAgICAgICAgICAgdGVzdEZhaWxlZCgiSG9zdCBkaWQgbm90
IGdldCBjbGFzc2lmaWVkIGFzIHByZXZhbGVudCByZXNvdXJjZS4iKTsKLSAgICAgICAgaWYgKHRl
c3RSdW5uZXIuaXNTdGF0aXN0aWNzVmVyeVByZXZhbGVudFJlc291cmNlKHN0YXRpc3RpY3NVcmwp
KQotICAgICAgICAgICAgdGVzdEZhaWxlZCgiSG9zdCBnb3QgY2xhc3NpZmllZCBhcyB2ZXJ5IHBy
ZXZhbGVudCByZXNvdXJjZS4iKTsKLSAgICAgICAgZWxzZQotICAgICAgICAgICAgdGVzdFBhc3Nl
ZCgiSG9zdCBjbGFzc2lmaWVkIGFzIHByZXZhbGVudCByZXNvdXJjZS4iKTsKLQotICAgICAgICBz
ZXRFbmFibGVGZWF0dXJlKGZhbHNlLCBmdW5jdGlvbigpIHsKLSAgICAgICAgICAgIHRlc3RSdW5u
ZXIubm90aWZ5RG9uZSgpOwotICAgICAgICB9KTsKLSAgICB9Ci0KLSAgICBmdW5jdGlvbiBydW5U
ZXN0UnVubmVyVGVzdCgpIHsKLSAgICAgICAgdGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNzUHJldmFs
ZW50UmVzb3VyY2Uoc3RhdGlzdGljc1VybCwgZmFsc2UsIGZ1bmN0aW9uKCkgewotICAgICAgICAg
ICAgaWYgKHRlc3RSdW5uZXIuaXNTdGF0aXN0aWNzUHJldmFsZW50UmVzb3VyY2Uoc3RhdGlzdGlj
c1VybCkpCi0gICAgICAgICAgICAgICAgdGVzdEZhaWxlZCgiSG9zdCBkaWQgbm90IGdldCBzZXQg
YXMgbm9uLXByZXZhbGVudCByZXNvdXJjZS4iKTsKLQotICAgICAgICAgICAgdGVzdFJ1bm5lci5z
ZXRTdGF0aXN0aWNzU3ViZnJhbWVVbmRlclRvcEZyYW1lT3JpZ2luKHN0YXRpc3RpY3NVcmwsIHRv
cEZyYW1lT3JpZ2luMSk7Ci0gICAgICAgICAgICB0ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NTdWJm
cmFtZVVuZGVyVG9wRnJhbWVPcmlnaW4oc3RhdGlzdGljc1VybCwgdG9wRnJhbWVPcmlnaW4yKTsK
LSAgICAgICAgICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc1N1YmZyYW1lVW5kZXJUb3BGcmFt
ZU9yaWdpbihzdGF0aXN0aWNzVXJsLCB0b3BGcmFtZU9yaWdpbjMpOwotICAgICAgICAgICAgdGVz
dFJ1bm5lci5zZXRTdGF0aXN0aWNzU3ViZnJhbWVVbmRlclRvcEZyYW1lT3JpZ2luKHN0YXRpc3Rp
Y3NVcmwsIHRvcEZyYW1lT3JpZ2luNCk7Ci0KLSAgICAgICAgICAgIHRlc3RSdW5uZXIuaW5zdGFs
bFN0YXRpc3RpY3NEaWRTY2FuRGF0YVJlY29yZHNDYWxsYmFjayhjb21wbGV0ZVRlc3QpOwotCi0g
ICAgICAgICAgICB0ZXN0UnVubmVyLnN0YXRpc3RpY3NQcm9jZXNzU3RhdGlzdGljc0FuZERhdGFS
ZWNvcmRzKCk7Ci0gICAgICAgIH0pOwotICAgIH0KLQotICAgIGlmIChkb2N1bWVudC5sb2NhdGlv
bi5ob3N0ID09PSBob3N0VW5kZXJUZXN0ICYmIHdpbmRvdy50ZXN0UnVubmVyICYmIHdpbmRvdy5p
bnRlcm5hbHMpIHsKLSAgICAgICAgdGVzdFJ1bm5lci5zZXRVc2VJVFBEYXRhYmFzZSh0cnVlKTsK
LSAgICAgICAgdGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7Ci0gICAgICAgIHNldEVuYWJsZUZl
YXR1cmUodHJ1ZSwgcnVuVGVzdFJ1bm5lclRlc3QpOwotICAgIH0KLTwvc2NyaXB0PgotPC9ib2R5
PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxv
YWRTdGF0aXN0aWNzL2NsYXNzaWZ5LWFzLXByZXZhbGVudC1iYXNlZC1vbi1zdWJyZXNvdXJjZS1y
ZWRpcmVjdC1jb2xsdXNpb24tZGF0YWJhc2UtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NsYXNzaWZ5LWFzLXByZXZhbGVudC1iYXNl
ZC1vbi1zdWJyZXNvdXJjZS1yZWRpcmVjdC1jb2xsdXNpb24tZGF0YWJhc2UtZXhwZWN0ZWQudHh0
CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBlNGRkY2U1YjMxNGNkN2QyZDBkZWM0OGI2
ZjlmOWUwZWNjYWI4MzA5Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jbGFz
c2lmeS1hcy1wcmV2YWxlbnQtYmFzZWQtb24tc3VicmVzb3VyY2UtcmVkaXJlY3QtY29sbHVzaW9u
LWRhdGFiYXNlLWV4cGVjdGVkLnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDE0ICswLDAgQEAKLVRl
c3RzIGZvciBjbGFzc2lmaWNhdGlvbiBiYXNlZCBvbiBzdWJyZXNvdXJjZSByZWRpcmVjdCBjb2xs
dXNpb24uCi0KLU9uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVz
c2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KLQotCi1QQVNTIENvbGx1ZGluZyBo
b3N0IDEgZ290IHNldCBhcyBwcmV2YWxlbnQgcmVzb3VyY2UuCi1QQVNTIENvbGx1ZGluZyBob3N0
IDIgZ290IHNldCBhcyBwcmV2YWxlbnQgcmVzb3VyY2UuCi1QQVNTIENvbGx1ZGluZyBob3N0IDMg
Z290IHNldCBhcyBwcmV2YWxlbnQgcmVzb3VyY2UuCi1QQVNTIENvbGx1ZGluZyBob3N0IDQgZ290
IHNldCBhcyBwcmV2YWxlbnQgcmVzb3VyY2UuCi1QQVNTIENvbGx1ZGluZyBsb2NhbGhvc3QgZ290
IHNldCBhcyBwcmV2YWxlbnQgcmVzb3VyY2UgYWZ0ZXIgYWN0dWFsIHN1YiBmcmFtZSByZWRpcmVj
dC4KLVBBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKLQotVEVTVCBDT01QTEVURQotCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3Mv
Y2xhc3NpZnktYXMtcHJldmFsZW50LWJhc2VkLW9uLXN1YnJlc291cmNlLXJlZGlyZWN0LWNvbGx1
c2lvbi1kYXRhYmFzZS5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRT
dGF0aXN0aWNzL2NsYXNzaWZ5LWFzLXByZXZhbGVudC1iYXNlZC1vbi1zdWJyZXNvdXJjZS1yZWRp
cmVjdC1jb2xsdXNpb24tZGF0YWJhc2UuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggZTRiZmIyZjI1NzdjYmNiZGYzYzFmNGMxNGE0NmE5YWFkNjE2ZjdhZS4uMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY2xhc3NpZnktYXMtcHJldmFsZW50LWJhc2VkLW9uLXN1
YnJlc291cmNlLXJlZGlyZWN0LWNvbGx1c2lvbi1kYXRhYmFzZS5odG1sCisrKyAvZGV2L251bGwK
QEAgLTEsNzEgKzAsMCBAQAotPCFET0NUWVBFIGh0bWw+Ci08aHRtbCBsYW5nPSJlbiI+Ci08aGVh
ZD4KLSAgICA8bWV0YSBjaGFyc2V0PSJVVEYtOCI+Ci0gICAgPHNjcmlwdCBzcmM9Ii9qcy10ZXN0
LXJlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KLSAgICA8c2NyaXB0IHNyYz0icmVzb3Vy
Y2VzL3V0aWwuanMiPjwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHk+Ci08c2NyaXB0PgotICAgIGRl
c2NyaXB0aW9uKCJUZXN0cyBmb3IgY2xhc3NpZmljYXRpb24gYmFzZWQgb24gc3VicmVzb3VyY2Ug
cmVkaXJlY3QgY29sbHVzaW9uLiIpOwotICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOwotCi0gICAg
Y29uc3QgaG9zdFVuZGVyVGVzdCA9ICIxMjcuMC4wLjE6ODAwMCI7Ci0gICAgY29uc3Qgc3RhdGlz
dGljc1VybCA9ICJodHRwOi8vIiArIGhvc3RVbmRlclRlc3QgKyAiL3RlbXAiOwotICAgIGNvbnN0
IHN1YnJlc291cmNlT3JpZ2luMSA9ICJodHRwOi8vMTI3LjAuMC4yOjgwMDAvdGVtcCI7Ci0gICAg
Y29uc3Qgc3VicmVzb3VyY2VPcmlnaW4yID0gImh0dHA6Ly8xMjcuMC4wLjM6ODAwMC90ZW1wIjsK
LSAgICBjb25zdCBzdWJyZXNvdXJjZU9yaWdpbjMgPSAiaHR0cDovLzEyNy4wLjAuNDo4MDAwL3Rl
bXAiOwotICAgIGNvbnN0IHN1YnJlc291cmNlT3JpZ2luNCA9ICJodHRwOi8vMTI3LjAuMC41Ojgw
MDAvdGVtcCI7Ci0KLSAgICBmdW5jdGlvbiBydW5UZXN0KCkgewotICAgICAgICB0ZXN0UnVubmVy
LnN0YXRpc3RpY3NOb3RpZnlPYnNlcnZlcigpOwotCi0gICAgICAgIHRlc3RSdW5uZXIuc2V0U3Rh
dGlzdGljc1N1YnJlc291cmNlVW5pcXVlUmVkaXJlY3RGcm9tKHN0YXRpc3RpY3NVcmwsIHN1YnJl
c291cmNlT3JpZ2luMSk7Ci0gICAgICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc1N1YnJlc291
cmNlVW5pcXVlUmVkaXJlY3RGcm9tKHN1YnJlc291cmNlT3JpZ2luMSwgc3VicmVzb3VyY2VPcmln
aW4yKTsKLSAgICAgICAgdGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNzU3VicmVzb3VyY2VVbmlxdWVS
ZWRpcmVjdEZyb20oc3VicmVzb3VyY2VPcmlnaW4yLCBzdWJyZXNvdXJjZU9yaWdpbjMpOwotICAg
ICAgICB0ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NTdWJyZXNvdXJjZVVuaXF1ZVJlZGlyZWN0RnJv
bShzdWJyZXNvdXJjZU9yaWdpbjMsIHN1YnJlc291cmNlT3JpZ2luNCk7Ci0KLSAgICAgICAgdGVz
dFJ1bm5lci5zZXRTdGF0aXN0aWNzUHJldmFsZW50UmVzb3VyY2Uoc3RhdGlzdGljc1VybCwgdHJ1
ZSwgZnVuY3Rpb24oKSB7Ci0gICAgICAgICAgICBpZiAoIXRlc3RSdW5uZXIuaXNTdGF0aXN0aWNz
UHJldmFsZW50UmVzb3VyY2Uoc3RhdGlzdGljc1VybCkpCi0gICAgICAgICAgICAgICAgdGVzdEZh
aWxlZCgiSG9zdCBleHBsaWNpdHkgc2V0IGRpZCBub3QgZ2V0IHNldCBhcyBwcmV2YWxlbnQgcmVz
b3VyY2UuIik7Ci0gICAgICAgICAgICBpZiAodGVzdFJ1bm5lci5pc1N0YXRpc3RpY3NQcmV2YWxl
bnRSZXNvdXJjZShzdWJyZXNvdXJjZU9yaWdpbjEpKQotICAgICAgICAgICAgICAgIHRlc3RQYXNz
ZWQoIkNvbGx1ZGluZyBob3N0IDEgZ290IHNldCBhcyBwcmV2YWxlbnQgcmVzb3VyY2UuIik7Ci0g
ICAgICAgICAgICBpZiAodGVzdFJ1bm5lci5pc1N0YXRpc3RpY3NWZXJ5UHJldmFsZW50UmVzb3Vy
Y2Uoc3VicmVzb3VyY2VPcmlnaW4xKSkKLSAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKCJDb2xs
dWRpbmcgaG9zdCAxIGdvdCBjbGFzc2lmaWVkIGFzIHZlcnkgcHJldmFsZW50IHJlc291cmNlLiIp
OwotICAgICAgICAgICAgaWYgKHRlc3RSdW5uZXIuaXNTdGF0aXN0aWNzUHJldmFsZW50UmVzb3Vy
Y2Uoc3VicmVzb3VyY2VPcmlnaW4yKSkKLSAgICAgICAgICAgICAgICB0ZXN0UGFzc2VkKCJDb2xs
dWRpbmcgaG9zdCAyIGdvdCBzZXQgYXMgcHJldmFsZW50IHJlc291cmNlLiIpOwotICAgICAgICAg
ICAgaWYgKHRlc3RSdW5uZXIuaXNTdGF0aXN0aWNzVmVyeVByZXZhbGVudFJlc291cmNlKHN1YnJl
c291cmNlT3JpZ2luMikpCi0gICAgICAgICAgICAgICAgdGVzdEZhaWxlZCgiQ29sbHVkaW5nIGhv
c3QgMiBnb3QgY2xhc3NpZmllZCBhcyB2ZXJ5IHByZXZhbGVudCByZXNvdXJjZS4iKTsKLSAgICAg
ICAgICAgIGlmICh0ZXN0UnVubmVyLmlzU3RhdGlzdGljc1ByZXZhbGVudFJlc291cmNlKHN1YnJl
c291cmNlT3JpZ2luMykpCi0gICAgICAgICAgICAgICAgdGVzdFBhc3NlZCgiQ29sbHVkaW5nIGhv
c3QgMyBnb3Qgc2V0IGFzIHByZXZhbGVudCByZXNvdXJjZS4iKTsKLSAgICAgICAgICAgIGlmICh0
ZXN0UnVubmVyLmlzU3RhdGlzdGljc1ZlcnlQcmV2YWxlbnRSZXNvdXJjZShzdWJyZXNvdXJjZU9y
aWdpbjMpKQotICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoIkNvbGx1ZGluZyBob3N0IDMgZ290
IGNsYXNzaWZpZWQgYXMgdmVyeSBwcmV2YWxlbnQgcmVzb3VyY2UuIik7Ci0gICAgICAgICAgICBp
ZiAodGVzdFJ1bm5lci5pc1N0YXRpc3RpY3NQcmV2YWxlbnRSZXNvdXJjZShzdWJyZXNvdXJjZU9y
aWdpbjQpKQotICAgICAgICAgICAgICAgIHRlc3RQYXNzZWQoIkNvbGx1ZGluZyBob3N0IDQgZ290
IHNldCBhcyBwcmV2YWxlbnQgcmVzb3VyY2UuIik7Ci0gICAgICAgICAgICBpZiAodGVzdFJ1bm5l
ci5pc1N0YXRpc3RpY3NWZXJ5UHJldmFsZW50UmVzb3VyY2Uoc3VicmVzb3VyY2VPcmlnaW40KSkK
LSAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKCJDb2xsdWRpbmcgaG9zdCA0IGdvdCBjbGFzc2lm
aWVkIGFzIHZlcnkgcHJldmFsZW50IHJlc291cmNlLiIpOwotICAgICAgICAgICAgaWYgKHRlc3RS
dW5uZXIuaXNTdGF0aXN0aWNzUHJldmFsZW50UmVzb3VyY2UoImh0dHA6Ly9sb2NhbGhvc3Q6ODAw
MCIpKQotICAgICAgICAgICAgICAgIHRlc3RQYXNzZWQoIkNvbGx1ZGluZyBsb2NhbGhvc3QgZ290
IHNldCBhcyBwcmV2YWxlbnQgcmVzb3VyY2UgYWZ0ZXIgYWN0dWFsIHN1YiBmcmFtZSByZWRpcmVj
dC4iKTsKLSAgICAgICAgICAgIGlmICh0ZXN0UnVubmVyLmlzU3RhdGlzdGljc1ZlcnlQcmV2YWxl
bnRSZXNvdXJjZSgiaHR0cDovL2xvY2FsaG9zdDo4MDAwIikpCi0gICAgICAgICAgICAgICAgdGVz
dEZhaWxlZCgiQ29sbHVkaW5nIGxvY2FsaG9zdCBnb3QgY2xhc3NpZmllZCBhcyB2ZXJ5IHByZXZh
bGVudCByZXNvdXJjZS4iKTsKLSAgICAgICAgICAgIAotICAgICAgICAgICAgc2V0RW5hYmxlRmVh
dHVyZShmYWxzZSwgZmluaXNoSlNUZXN0KTsKLSAgICAgICAgfSk7Ci0gICAgfQotCi0gICAgaWYg
KGRvY3VtZW50LmxvY2F0aW9uLmhvc3QgPT09IGhvc3RVbmRlclRlc3QgJiYgd2luZG93LnRlc3RS
dW5uZXIgJiYgd2luZG93LmludGVybmFscykgewotICAgICAgICB0ZXN0UnVubmVyLnNldFVzZUlU
UERhdGFiYXNlKHRydWUpOwotICAgICAgICBzZXRFbmFibGVGZWF0dXJlKHRydWUsIGZ1bmN0aW9u
ICgpIHsKLSAgICAgICAgICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc1ByZXZhbGVudFJlc291
cmNlKHN0YXRpc3RpY3NVcmwsIGZhbHNlLCBmdW5jdGlvbigpwqB7Ci0gICAgICAgICAgICAgICAg
aWYgKHRlc3RSdW5uZXIuaXNTdGF0aXN0aWNzUHJldmFsZW50UmVzb3VyY2Uoc3RhdGlzdGljc1Vy
bCkpCi0gICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoIkhvc3QgZGlkIG5vdCBnZXQgc2V0
IGFzIG5vbi1wcmV2YWxlbnQgcmVzb3VyY2UuIik7Ci0gICAgICAgICAgICAgICAgbGV0IGlmcmFt
ZUVsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJpZnJhbWUiKTsKLSAgICAgICAgICAg
ICAgICBpZnJhbWVFbGVtZW50Lm9ubG9hZCA9IHJ1blRlc3Q7Ci0gICAgICAgICAgICAgICAgaWZy
YW1lRWxlbWVudC5zcmMgPSAiaHR0cDovL2xvY2FsaG9zdDo4MDAwL3Jlc291cmNlTG9hZFN0YXRp
c3RpY3MvcmVzb3VyY2VzL3JlZGlyZWN0LnBocD9yZWRpcmVjdFRvPWh0dHA6Ly8xMjcuMC4wLjE6
ODAwMC9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL29uY2xpY2suaHRtbCI7Ci0gICAgICAgICAgICAg
ICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChpZnJhbWVFbGVtZW50KTsKLSAgICAgICAgICAg
IH0pOwotICAgICAgICB9KTsKLSAgICB9Ci08L3NjcmlwdD4KLTwvYm9keT4KLTwvaHRtbD4KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9j
bGFzc2lmeS1hcy1wcmV2YWxlbnQtYmFzZWQtb24tc3VicmVzb3VyY2UtcmVkaXJlY3QtdG8tcHJl
dmFsZW50LWRhdGFiYXNlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVz
b3VyY2VMb2FkU3RhdGlzdGljcy9jbGFzc2lmeS1hcy1wcmV2YWxlbnQtYmFzZWQtb24tc3VicmVz
b3VyY2UtcmVkaXJlY3QtdG8tcHJldmFsZW50LWRhdGFiYXNlLWV4cGVjdGVkLnR4dApkZWxldGVk
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYjhmY2JkOGQ4ZjZkMDVmYzQ5NGQ0ZWVkZGNkOWNiNWVi
ZGRlMGMzOS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9M
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY2xhc3NpZnktYXMt
cHJldmFsZW50LWJhc2VkLW9uLXN1YnJlc291cmNlLXJlZGlyZWN0LXRvLXByZXZhbGVudC1kYXRh
YmFzZS1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSwxMCArMCwwIEBACi1UZXN0cyBm
b3IgY2xhc3NpZmljYXRpb24gYmFzZWQgb24gc3VicmVzb3VyY2UgcmVkaXJlY3QgdG8gb3RoZXIg
cHJldmFsZW50LgotCi1PbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1Mi
IG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCi0KLQotUEFTUyBIb3N0IGNs
YXNzaWZpZWQgYXMgcHJldmFsZW50IHJlc291cmNlLgotUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQg
aXMgdHJ1ZQotCi1URVNUIENPTVBMRVRFCi0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAv
dGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jbGFzc2lmeS1hcy1wcmV2YWxlbnQtYmFzZWQt
b24tc3VicmVzb3VyY2UtcmVkaXJlY3QtdG8tcHJldmFsZW50LWRhdGFiYXNlLmh0bWwgYi9MYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY2xhc3NpZnktYXMtcHJl
dmFsZW50LWJhc2VkLW9uLXN1YnJlc291cmNlLXJlZGlyZWN0LXRvLXByZXZhbGVudC1kYXRhYmFz
ZS5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA5ZDI1OTdiYjI4NDFiMmE1NGM5
ODYxOGI2NGQ4MGFlYzRjMTU0M2FlLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGlj
cy9jbGFzc2lmeS1hcy1wcmV2YWxlbnQtYmFzZWQtb24tc3VicmVzb3VyY2UtcmVkaXJlY3QtdG8t
cHJldmFsZW50LWRhdGFiYXNlLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSw0OSArMCwwIEBACi08
IURPQ1RZUEUgaHRtbD4KLTxodG1sIGxhbmc9ImVuIj4KLTxoZWFkPgotICAgIDxtZXRhIGNoYXJz
ZXQ9IlVURi04Ij4KLSAgICA8c2NyaXB0IHNyYz0iL2pzLXRlc3QtcmVzb3VyY2VzL2pzLXRlc3Qu
anMiPjwvc2NyaXB0PgotICAgIDxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvdXRpbC5qcyI+PC9zY3Jp
cHQ+Ci08L2hlYWQ+Ci08Ym9keT4KLTxzY3JpcHQ+Ci0gICAgZGVzY3JpcHRpb24oIlRlc3RzIGZv
ciBjbGFzc2lmaWNhdGlvbiBiYXNlZCBvbiBzdWJyZXNvdXJjZSByZWRpcmVjdCB0byBvdGhlciBw
cmV2YWxlbnQuIik7Ci0gICAganNUZXN0SXNBc3luYyA9IHRydWU7Ci0KLSAgICBjb25zdCBob3N0
VW5kZXJUZXN0ID0gIjEyNy4wLjAuMTo4MDAwIjsKLSAgICBjb25zdCBzdGF0aXN0aWNzVXJsID0g
Imh0dHA6Ly8iICsgaG9zdFVuZGVyVGVzdCArICIvdGVtcCI7Ci0gICAgY29uc3QgdG9wRnJhbWVP
cmlnaW4xID0gImh0dHA6Ly8xMjcuMC4wLjI6ODAwMC90ZW1wIjsKLQotICAgIGZ1bmN0aW9uIGNv
bXBsZXRlVGVzdCgpIHsKLSAgICAgICAgaWYgKCF0ZXN0UnVubmVyLmlzU3RhdGlzdGljc1ByZXZh
bGVudFJlc291cmNlKHN0YXRpc3RpY3NVcmwpKQotICAgICAgICAgICAgdGVzdEZhaWxlZCgiSG9z
dCBkaWQgbm90IGdldCBjbGFzc2lmaWVkIGFzIHByZXZhbGVudCByZXNvdXJjZS4iKTsKLSAgICAg
ICAgZWxzZSBpZiAodGVzdFJ1bm5lci5pc1N0YXRpc3RpY3NWZXJ5UHJldmFsZW50UmVzb3VyY2Uo
c3RhdGlzdGljc1VybCkpCi0gICAgICAgICAgICB0ZXN0RmFpbGVkKCJIb3N0IGdvdCBjbGFzc2lm
aWVkIGFzIHZlcnkgcHJldmFsZW50IHJlc291cmNlLiIpOwotICAgICAgICBlbHNlCi0gICAgICAg
ICAgICB0ZXN0UGFzc2VkKCJIb3N0IGNsYXNzaWZpZWQgYXMgcHJldmFsZW50IHJlc291cmNlLiIp
OwotICAgICAgICAgICAgCi0gICAgICAgIHNldEVuYWJsZUZlYXR1cmUoZmFsc2UsIGZpbmlzaEpT
VGVzdCk7Ci0gICAgfQotCi0gICAgZnVuY3Rpb24gcnVuVGVzdCgpIHsKLSAgICAgICAgdGVzdFJ1
bm5lci5zZXRTdGF0aXN0aWNzUHJldmFsZW50UmVzb3VyY2UodG9wRnJhbWVPcmlnaW4xLCB0cnVl
LCBmdW5jdGlvbigpIHsKLSAgICAgICAgICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc1N1YnJl
c291cmNlVW5pcXVlUmVkaXJlY3RUbyhzdGF0aXN0aWNzVXJsLCB0b3BGcmFtZU9yaWdpbjEpOwot
Ci0gICAgICAgICAgICB0ZXN0UnVubmVyLmluc3RhbGxTdGF0aXN0aWNzRGlkU2NhbkRhdGFSZWNv
cmRzQ2FsbGJhY2soY29tcGxldGVUZXN0KTsKLSAgICAgICAgICAgIHRlc3RSdW5uZXIuc3RhdGlz
dGljc1Byb2Nlc3NTdGF0aXN0aWNzQW5kRGF0YVJlY29yZHMoKTsKLSAgICAgICAgfSk7Ci0gICAg
fQotCi0gICAgaWYgKGRvY3VtZW50LmxvY2F0aW9uLmhvc3QgPT09IGhvc3RVbmRlclRlc3QgJiYg
d2luZG93LnRlc3RSdW5uZXIgJiYgd2luZG93LmludGVybmFscykgewotICAgICAgICB0ZXN0UnVu
bmVyLnNldFVzZUlUUERhdGFiYXNlKHRydWUpOwotICAgICAgICBzZXRFbmFibGVGZWF0dXJlKHRy
dWUsIGZ1bmN0aW9uKCkgewotICAgICAgICAgICAgdGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNzUHJl
dmFsZW50UmVzb3VyY2Uoc3RhdGlzdGljc1VybCwgZmFsc2UsIGZ1bmN0aW9uKCkgewotICAgICAg
ICAgICAgICAgIGlmICh0ZXN0UnVubmVyLmlzU3RhdGlzdGljc1ByZXZhbGVudFJlc291cmNlKHN0
YXRpc3RpY3NVcmwpKQotICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKCJIb3N0IGRpZCBu
b3QgZ2V0IHNldCBhcyBub24tcHJldmFsZW50IHJlc291cmNlLiIpOwotICAgICAgICAgICAgICAg
IHJ1blRlc3QoKTsKLSAgICAgICAgICAgIH0pOwotICAgICAgICB9KTsKLSAgICB9Ci08L3Njcmlw
dD4KLTwvYm9keT4KLTwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMv
cmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jbGFzc2lmeS1hcy1wcmV2YWxlbnQtYmFzZWQtb24tc3Vi
cmVzb3VyY2UtdW5kZXItdG9wLWZyYW1lLW9yaWdpbnMtZGF0YWJhc2UtZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NsYXNzaWZ5LWFz
LXByZXZhbGVudC1iYXNlZC1vbi1zdWJyZXNvdXJjZS11bmRlci10b3AtZnJhbWUtb3JpZ2lucy1k
YXRhYmFzZS1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDMyZGQ2
OWY5NDE5ZjUxOTg5NTdmMDkwOGRkNjc0ZDY4NDM2Y2I5YzcuLjAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJj
ZUxvYWRTdGF0aXN0aWNzL2NsYXNzaWZ5LWFzLXByZXZhbGVudC1iYXNlZC1vbi1zdWJyZXNvdXJj
ZS11bmRlci10b3AtZnJhbWUtb3JpZ2lucy1kYXRhYmFzZS1leHBlY3RlZC50eHQKKysrIC9kZXYv
bnVsbApAQCAtMSw1ICswLDAgQEAKLVBBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKLQot
VEVTVCBDT01QTEVURQotUEFTUyBIb3N0IGNsYXNzaWZpZWQgYXMgcHJldmFsZW50IHJlc291cmNl
LgotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRp
c3RpY3MvY2xhc3NpZnktYXMtcHJldmFsZW50LWJhc2VkLW9uLXN1YnJlc291cmNlLXVuZGVyLXRv
cC1mcmFtZS1vcmlnaW5zLWRhdGFiYXNlLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jl
c291cmNlTG9hZFN0YXRpc3RpY3MvY2xhc3NpZnktYXMtcHJldmFsZW50LWJhc2VkLW9uLXN1YnJl
c291cmNlLXVuZGVyLXRvcC1mcmFtZS1vcmlnaW5zLWRhdGFiYXNlLmh0bWwKZGVsZXRlZCBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDZiZGY4MzhmNmNkOWFmOWQ4ODUxMmM3MDZkOGJhNTI3NTU5M2Fj
MjAuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NsYXNzaWZ5LWFzLXByZXZh
bGVudC1iYXNlZC1vbi1zdWJyZXNvdXJjZS11bmRlci10b3AtZnJhbWUtb3JpZ2lucy1kYXRhYmFz
ZS5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsNTQgKzAsMCBAQAotPCFET0NUWVBFIGh0bWw+Ci08
aHRtbCBsYW5nPSJlbiI+Ci08aGVhZD4KLSAgICA8bWV0YSBjaGFyc2V0PSJVVEYtOCI+Ci0gICAg
PHRpdGxlPlRlc3RzIGZvciBDbGFzc2lmaWNhdGlvbiBCYXNlZCBvbiBTdWJyZXNvdXJjZSBVbmRl
ciBUb3AgRnJhbWUgT3JpZ2luczwvdGl0bGU+Ci0gICAgPHNjcmlwdCBzcmM9Ii9qcy10ZXN0LXJl
c291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KLSAgICA8c2NyaXB0IHNyYz0icmVzb3VyY2Vz
L3V0aWwuanMiPjwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHk+Ci08c2NyaXB0PgotICAgIGNvbnN0
IGhvc3RVbmRlclRlc3QgPSAiMTI3LjAuMC4xOjgwMDAiOwotICAgIGNvbnN0IHN0YXRpc3RpY3NV
cmwgPSAiaHR0cDovLyIgKyBob3N0VW5kZXJUZXN0ICsgIi90ZW1wIjsKLSAgICBjb25zdCB0b3BG
cmFtZU9yaWdpbjEgPSAiaHR0cDovLzEyNy4wLjAuMjo4MDAwL3RlbXAiOwotICAgIGNvbnN0IHRv
cEZyYW1lT3JpZ2luMiA9ICJodHRwOi8vMTI3LjAuMC4zOjgwMDAvdGVtcCI7Ci0gICAgY29uc3Qg
dG9wRnJhbWVPcmlnaW4zID0gImh0dHA6Ly8xMjcuMC4wLjQ6ODAwMC90ZW1wIjsKLSAgICBjb25z
dCB0b3BGcmFtZU9yaWdpbjQgPSAiaHR0cDovLzEyNy4wLjAuNTo4MDAwL3RlbXAiOwotCi0gICAg
ZnVuY3Rpb24gY29tcGxldGVUZXN0KCkgewotICAgICAgICBpZiAoIXRlc3RSdW5uZXIuaXNTdGF0
aXN0aWNzUHJldmFsZW50UmVzb3VyY2Uoc3RhdGlzdGljc1VybCkpCi0gICAgICAgICAgICB0ZXN0
RmFpbGVkKCJIb3N0IGRpZCBub3QgZ2V0IGNsYXNzaWZpZWQgYXMgcHJldmFsZW50IHJlc291cmNl
LiIpOwotICAgICAgICBpZiAodGVzdFJ1bm5lci5pc1N0YXRpc3RpY3NWZXJ5UHJldmFsZW50UmVz
b3VyY2Uoc3RhdGlzdGljc1VybCkpCi0gICAgICAgICAgICB0ZXN0RmFpbGVkKCJIb3N0IGdvdCBj
bGFzc2lmaWVkIGFzIHZlcnkgcHJldmFsZW50IHJlc291cmNlLiIpOwotICAgICAgICBlbHNlCi0g
ICAgICAgICAgICB0ZXN0UGFzc2VkKCJIb3N0IGNsYXNzaWZpZWQgYXMgcHJldmFsZW50IHJlc291
cmNlLiIpOwotCi0gICAgICAgIHNldEVuYWJsZUZlYXR1cmUoZmFsc2UsIGZ1bmN0aW9uKCkgewot
ICAgICAgICAgICAgdGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7Ci0gICAgICAgIH0pOwotICAgIH0K
LQotICAgIGZ1bmN0aW9uIHJ1blRlc3RSdW5uZXJUZXN0KCkgeyAKLSAgICAgICAgdGVzdFJ1bm5l
ci5zZXRTdGF0aXN0aWNzUHJldmFsZW50UmVzb3VyY2Uoc3RhdGlzdGljc1VybCwgZmFsc2UsIGZ1
bmN0aW9uKCkgewotICAgICAgICAgICAgaWYgKHRlc3RSdW5uZXIuaXNTdGF0aXN0aWNzUHJldmFs
ZW50UmVzb3VyY2Uoc3RhdGlzdGljc1VybCkpCi0gICAgICAgICAgICAgICAgdGVzdEZhaWxlZCgi
SG9zdCBkaWQgbm90IGdldCBzZXQgYXMgbm9uLXByZXZhbGVudCByZXNvdXJjZS4iKTsKLQotICAg
ICAgICAgICAgdGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNzU3VicmVzb3VyY2VVbmRlclRvcEZyYW1l
T3JpZ2luKHN0YXRpc3RpY3NVcmwsIHRvcEZyYW1lT3JpZ2luMSk7Ci0gICAgICAgICAgICB0ZXN0
UnVubmVyLnNldFN0YXRpc3RpY3NTdWJyZXNvdXJjZVVuZGVyVG9wRnJhbWVPcmlnaW4oc3RhdGlz
dGljc1VybCwgdG9wRnJhbWVPcmlnaW4yKTsKLSAgICAgICAgICAgIHRlc3RSdW5uZXIuc2V0U3Rh
dGlzdGljc1N1YnJlc291cmNlVW5kZXJUb3BGcmFtZU9yaWdpbihzdGF0aXN0aWNzVXJsLCB0b3BG
cmFtZU9yaWdpbjMpOwotICAgICAgICAgICAgdGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNzU3VicmVz
b3VyY2VVbmRlclRvcEZyYW1lT3JpZ2luKHN0YXRpc3RpY3NVcmwsIHRvcEZyYW1lT3JpZ2luNCk7
Ci0KLSAgICAgICAgICAgIHRlc3RSdW5uZXIuaW5zdGFsbFN0YXRpc3RpY3NEaWRTY2FuRGF0YVJl
Y29yZHNDYWxsYmFjayhjb21wbGV0ZVRlc3QpOwotCi0gICAgICAgICAgICB0ZXN0UnVubmVyLnN0
YXRpc3RpY3NQcm9jZXNzU3RhdGlzdGljc0FuZERhdGFSZWNvcmRzKCk7Ci0gICAgICAgIH0pOwot
ICAgIH0KLQotICAgIGlmIChkb2N1bWVudC5sb2NhdGlvbi5ob3N0ID09PSBob3N0VW5kZXJUZXN0
ICYmIHdpbmRvdy50ZXN0UnVubmVyICYmIHdpbmRvdy5pbnRlcm5hbHMpIHsKLSAgICAgICAgdGVz
dFJ1bm5lci5zZXRVc2VJVFBEYXRhYmFzZSh0cnVlKTsKLSAgICAgICAgdGVzdFJ1bm5lci53YWl0
VW50aWxEb25lKCk7Ci0gICAgICAgIHNldEVuYWJsZUZlYXR1cmUodHJ1ZSwgcnVuVGVzdFJ1bm5l
clRlc3QpOwotICAgIH0KLTwvc2NyaXB0PgotPC9ib2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NsYXNzaWZ5LWFz
LXByZXZhbGVudC1iYXNlZC1vbi1zdWJyZXNvdXJjZS11bmlxdWUtcmVkaXJlY3RzLXRvLWRhdGFi
YXNlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3Rh
dGlzdGljcy9jbGFzc2lmeS1hcy1wcmV2YWxlbnQtYmFzZWQtb24tc3VicmVzb3VyY2UtdW5pcXVl
LXJlZGlyZWN0cy10by1kYXRhYmFzZS1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDMyZGQ2OWY5NDE5ZjUxOTg5NTdmMDkwOGRkNjc0ZDY4NDM2Y2I5YzcuLjAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NsYXNzaWZ5LWFzLXByZXZhbGVudC1iYXNl
ZC1vbi1zdWJyZXNvdXJjZS11bmlxdWUtcmVkaXJlY3RzLXRvLWRhdGFiYXNlLWV4cGVjdGVkLnR4
dAorKysgL2Rldi9udWxsCkBAIC0xLDUgKzAsMCBAQAotUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQg
aXMgdHJ1ZQotCi1URVNUIENPTVBMRVRFCi1QQVNTIEhvc3QgY2xhc3NpZmllZCBhcyBwcmV2YWxl
bnQgcmVzb3VyY2UuCi0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3Vy
Y2VMb2FkU3RhdGlzdGljcy9jbGFzc2lmeS1hcy1wcmV2YWxlbnQtYmFzZWQtb24tc3VicmVzb3Vy
Y2UtdW5pcXVlLXJlZGlyZWN0cy10by1kYXRhYmFzZS5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90
ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NsYXNzaWZ5LWFzLXByZXZhbGVudC1iYXNlZC1v
bi1zdWJyZXNvdXJjZS11bmlxdWUtcmVkaXJlY3RzLXRvLWRhdGFiYXNlLmh0bWwKZGVsZXRlZCBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IGZlMzY4Mjk1ZDlmYjhmZjgzYTc4YjFiNTQ5OTQ5N2UyNTdi
NDY1NDMuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NsYXNzaWZ5LWFzLXBy
ZXZhbGVudC1iYXNlZC1vbi1zdWJyZXNvdXJjZS11bmlxdWUtcmVkaXJlY3RzLXRvLWRhdGFiYXNl
Lmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSw1NCArMCwwIEBACi08IURPQ1RZUEUgaHRtbD4KLTxo
dG1sIGxhbmc9ImVuIj4KLTxoZWFkPgotICAgIDxtZXRhIGNoYXJzZXQ9IlVURi04Ij4KLSAgICA8
dGl0bGU+VGVzdHMgZm9yIENsYXNzaWZpY2F0aW9uIEJhc2VkIG9uIFN1YnJlc291cmNlIFVuaXF1
ZSBSZWRpcmVjdHMgVG88L3RpdGxlPgotICAgIDxzY3JpcHQgc3JjPSIvanMtdGVzdC1yZXNvdXJj
ZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+Ci0gICAgPHNjcmlwdCBzcmM9InJlc291cmNlcy91dGls
LmpzIj48L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5PgotPHNjcmlwdD4KLSAgICBjb25zdCBob3N0
VW5kZXJUZXN0ID0gIjEyNy4wLjAuMTo4MDAwIjsKLSAgICBjb25zdCBzdGF0aXN0aWNzVXJsID0g
Imh0dHA6Ly8iICsgaG9zdFVuZGVyVGVzdCArICIvdGVtcCI7Ci0gICAgY29uc3QgdG9wRnJhbWVP
cmlnaW4xID0gImh0dHA6Ly8xMjcuMC4wLjI6ODAwMC90ZW1wIjsKLSAgICBjb25zdCB0b3BGcmFt
ZU9yaWdpbjIgPSAiaHR0cDovLzEyNy4wLjAuMzo4MDAwL3RlbXAiOwotICAgIGNvbnN0IHRvcEZy
YW1lT3JpZ2luMyA9ICJodHRwOi8vMTI3LjAuMC40OjgwMDAvdGVtcCI7Ci0gICAgY29uc3QgdG9w
RnJhbWVPcmlnaW40ID0gImh0dHA6Ly8xMjcuMC4wLjU6ODAwMC90ZW1wIjsKLQotICAgIGZ1bmN0
aW9uIGNvbXBsZXRlVGVzdCgpIHsKLSAgICAgICAgaWYgKCF0ZXN0UnVubmVyLmlzU3RhdGlzdGlj
c1ByZXZhbGVudFJlc291cmNlKHN0YXRpc3RpY3NVcmwpKQotICAgICAgICAgICAgdGVzdEZhaWxl
ZCgiSG9zdCBkaWQgbm90IGdldCBjbGFzc2lmaWVkIGFzIHByZXZhbGVudCByZXNvdXJjZS4iKTsK
LSAgICAgICAgaWYgKHRlc3RSdW5uZXIuaXNTdGF0aXN0aWNzVmVyeVByZXZhbGVudFJlc291cmNl
KHN0YXRpc3RpY3NVcmwpKQotICAgICAgICAgICAgdGVzdEZhaWxlZCgiSG9zdCBnb3QgY2xhc3Np
ZmllZCBhcyB2ZXJ5IHByZXZhbGVudCByZXNvdXJjZS4iKTsKLSAgICAgICAgZWxzZQotICAgICAg
ICAgICAgdGVzdFBhc3NlZCgiSG9zdCBjbGFzc2lmaWVkIGFzIHByZXZhbGVudCByZXNvdXJjZS4i
KTsKLQotICAgICAgICBzZXRFbmFibGVGZWF0dXJlKGZhbHNlLCBmdW5jdGlvbigpIHsKLSAgICAg
ICAgICAgIHRlc3RSdW5uZXIubm90aWZ5RG9uZSgpOwotICAgICAgICB9KTsKLSAgICB9Ci0KLSAg
ICBmdW5jdGlvbiBydW5UZXN0UnVubmVyVGVzdCgpIHsgCi0gICAgICAgIHRlc3RSdW5uZXIuc2V0
U3RhdGlzdGljc1ByZXZhbGVudFJlc291cmNlKHN0YXRpc3RpY3NVcmwsIGZhbHNlLCBmdW5jdGlv
bigpIHsKLSAgICAgICAgICAgIGlmICh0ZXN0UnVubmVyLmlzU3RhdGlzdGljc1ByZXZhbGVudFJl
c291cmNlKHN0YXRpc3RpY3NVcmwpKQotICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoIkhvc3Qg
ZGlkIG5vdCBnZXQgc2V0IGFzIG5vbi1wcmV2YWxlbnQgcmVzb3VyY2UuIik7Ci0KLSAgICAgICAg
ICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc1N1YnJlc291cmNlVW5pcXVlUmVkaXJlY3RUbyhz
dGF0aXN0aWNzVXJsLCB0b3BGcmFtZU9yaWdpbjEpOwotICAgICAgICAgICAgdGVzdFJ1bm5lci5z
ZXRTdGF0aXN0aWNzU3VicmVzb3VyY2VVbmlxdWVSZWRpcmVjdFRvKHN0YXRpc3RpY3NVcmwsIHRv
cEZyYW1lT3JpZ2luMik7Ci0gICAgICAgICAgICB0ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NTdWJy
ZXNvdXJjZVVuaXF1ZVJlZGlyZWN0VG8oc3RhdGlzdGljc1VybCwgdG9wRnJhbWVPcmlnaW4zKTsK
LSAgICAgICAgICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc1N1YnJlc291cmNlVW5pcXVlUmVk
aXJlY3RUbyhzdGF0aXN0aWNzVXJsLCB0b3BGcmFtZU9yaWdpbjQpOwotCi0gICAgICAgICAgICB0
ZXN0UnVubmVyLmluc3RhbGxTdGF0aXN0aWNzRGlkU2NhbkRhdGFSZWNvcmRzQ2FsbGJhY2soY29t
cGxldGVUZXN0KTsKLQotICAgICAgICAgICAgdGVzdFJ1bm5lci5zdGF0aXN0aWNzUHJvY2Vzc1N0
YXRpc3RpY3NBbmREYXRhUmVjb3JkcygpOwotICAgICAgICB9KTsKLSAgICB9Ci0KLSAgICBpZiAo
ZG9jdW1lbnQubG9jYXRpb24uaG9zdCA9PT0gaG9zdFVuZGVyVGVzdCAmJiB3aW5kb3cudGVzdFJ1
bm5lciAmJiB3aW5kb3cuaW50ZXJuYWxzKSB7Ci0gICAgICAgIHRlc3RSdW5uZXIuc2V0VXNlSVRQ
RGF0YWJhc2UodHJ1ZSk7Ci0gICAgICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOwotICAg
ICAgICBzZXRFbmFibGVGZWF0dXJlKHRydWUsIHJ1blRlc3RSdW5uZXJUZXN0KTsKLSAgICB9Ci08
L3NjcmlwdD4KLTwvYm9keT4KLTwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAv
dGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jbGFzc2lmeS1hcy1wcmV2YWxlbnQtYmFzZWQt
b24tdG9wLWZyYW1lLXJlZGlyZWN0LWNvbGx1c2lvbi1kYXRhYmFzZS1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY2xhc3NpZnktYXMt
cHJldmFsZW50LWJhc2VkLW9uLXRvcC1mcmFtZS1yZWRpcmVjdC1jb2xsdXNpb24tZGF0YWJhc2Ut
ZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBmZDM5MzhiNzZjOTc0
NGMzYWZhN2IyNTUwNWVhZWI0OWQ4NjZiNTIwLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3Rh
dGlzdGljcy9jbGFzc2lmeS1hcy1wcmV2YWxlbnQtYmFzZWQtb24tdG9wLWZyYW1lLXJlZGlyZWN0
LWNvbGx1c2lvbi1kYXRhYmFzZS1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSwxNCAr
MCwwIEBACi1UZXN0cyBmb3IgY2xhc3NpZmljYXRpb24gYmFzZWQgb24gdG9wIGZyYW1lIHJlZGly
ZWN0IGNvbGx1c2lvbi4KLQotT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQ
QVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgotCi0KLVBBU1MgQ29s
bHVkaW5nIGhvc3QgMSBnb3Qgc2V0IGFzIHByZXZhbGVudCByZXNvdXJjZS4KLVBBU1MgQ29sbHVk
aW5nIGhvc3QgMiBnb3Qgc2V0IGFzIHByZXZhbGVudCByZXNvdXJjZS4KLVBBU1MgQ29sbHVkaW5n
IGhvc3QgMyBnb3Qgc2V0IGFzIHByZXZhbGVudCByZXNvdXJjZS4KLVBBU1MgQ29sbHVkaW5nIGhv
c3QgNCBnb3Qgc2V0IGFzIHByZXZhbGVudCByZXNvdXJjZS4KLVBBU1MgQ29sbHVkaW5nIGxvY2Fs
aG9zdCBnb3Qgc2V0IGFzIHByZXZhbGVudCByZXNvdXJjZSBhZnRlciBhY3R1YWwgbmF2aWdhdGlv
bmFsIHJlZGlyZWN0LgotUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQotCi1URVNUIENP
TVBMRVRFCi0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2Fk
U3RhdGlzdGljcy9jbGFzc2lmeS1hcy1wcmV2YWxlbnQtYmFzZWQtb24tdG9wLWZyYW1lLXJlZGly
ZWN0LWNvbGx1c2lvbi1kYXRhYmFzZS5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNv
dXJjZUxvYWRTdGF0aXN0aWNzL2NsYXNzaWZ5LWFzLXByZXZhbGVudC1iYXNlZC1vbi10b3AtZnJh
bWUtcmVkaXJlY3QtY29sbHVzaW9uLWRhdGFiYXNlLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDRhOTgzYmMwNmQzNTBlZDU2NTUyNDAyZGZjZmQzMzQ1OWM2MDVjZWQuLjAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NsYXNzaWZ5LWFzLXByZXZhbGVudC1iYXNl
ZC1vbi10b3AtZnJhbWUtcmVkaXJlY3QtY29sbHVzaW9uLWRhdGFiYXNlLmh0bWwKKysrIC9kZXYv
bnVsbApAQCAtMSw3MSArMCwwIEBACi08IURPQ1RZUEUgaHRtbD4KLTxodG1sIGxhbmc9ImVuIj4K
LTxoZWFkPgotICAgIDxtZXRhIGNoYXJzZXQ9IlVURi04Ij4KLSAgICA8c2NyaXB0IHNyYz0iL2pz
LXRlc3QtcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgotICAgIDxzY3JpcHQgc3JjPSJy
ZXNvdXJjZXMvdXRpbC5qcyI+PC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keT4KLTxzY3JpcHQ+Ci0g
ICAgZGVzY3JpcHRpb24oIlRlc3RzIGZvciBjbGFzc2lmaWNhdGlvbiBiYXNlZCBvbiB0b3AgZnJh
bWUgcmVkaXJlY3QgY29sbHVzaW9uLiIpOwotICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOwotCi0g
ICAgY29uc3QgaG9zdFVuZGVyVGVzdCA9ICIxMjcuMC4wLjE6ODAwMCI7Ci0gICAgY29uc3Qgc3Rh
dGlzdGljc1VybCA9ICJodHRwOi8vIiArIGhvc3RVbmRlclRlc3QgKyAiL3RlbXAiOwotICAgIGNv
bnN0IHRvcEZyYW1lT3JpZ2luMSA9ICJodHRwOi8vMTI3LjAuMC4yOjgwMDAvdGVtcCI7Ci0gICAg
Y29uc3QgdG9wRnJhbWVPcmlnaW4yID0gImh0dHA6Ly8xMjcuMC4wLjM6ODAwMC90ZW1wIjsKLSAg
ICBjb25zdCB0b3BGcmFtZU9yaWdpbjMgPSAiaHR0cDovLzEyNy4wLjAuNDo4MDAwL3RlbXAiOwot
ICAgIGNvbnN0IHRvcEZyYW1lT3JpZ2luNCA9ICJodHRwOi8vMTI3LjAuMC41OjgwMDAvdGVtcCI7
Ci0gICAgY29uc3QgdG9wRnJhbWVPcmlnaW41ID0gImh0dHA6Ly9sb2NhbGhvc3Q6ODAwMC8iOwot
Ci0gICAgZnVuY3Rpb24gcnVuVGVzdCgpIHsKLSAgICAgICAgdGVzdFJ1bm5lci5zZXRTdGF0aXN0
aWNzVG9wRnJhbWVVbmlxdWVSZWRpcmVjdEZyb20oc3RhdGlzdGljc1VybCwgdG9wRnJhbWVPcmln
aW4xKTsKLSAgICAgICAgdGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNzVG9wRnJhbWVVbmlxdWVSZWRp
cmVjdEZyb20odG9wRnJhbWVPcmlnaW4xLCB0b3BGcmFtZU9yaWdpbjIpOwotICAgICAgICB0ZXN0
UnVubmVyLnNldFN0YXRpc3RpY3NUb3BGcmFtZVVuaXF1ZVJlZGlyZWN0RnJvbSh0b3BGcmFtZU9y
aWdpbjIsIHRvcEZyYW1lT3JpZ2luMyk7Ci0gICAgICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGlj
c1RvcEZyYW1lVW5pcXVlUmVkaXJlY3RGcm9tKHRvcEZyYW1lT3JpZ2luMywgdG9wRnJhbWVPcmln
aW40KTsKLQotICAgICAgICB0ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NQcmV2YWxlbnRSZXNvdXJj
ZShzdGF0aXN0aWNzVXJsLCB0cnVlLCBmdW5jdGlvbigpIHsKLSAgICAgICAgICAgIGlmICghdGVz
dFJ1bm5lci5pc1N0YXRpc3RpY3NQcmV2YWxlbnRSZXNvdXJjZShzdGF0aXN0aWNzVXJsKSkKLSAg
ICAgICAgICAgICAgICB0ZXN0RmFpbGVkKCJIb3N0IGV4cGxpY2l0eSBzZXQgZGlkIG5vdCBnZXQg
c2V0IGFzIHByZXZhbGVudCByZXNvdXJjZS4iKTsKLSAgICAgICAgICAgIGlmICh0ZXN0UnVubmVy
LmlzU3RhdGlzdGljc1ByZXZhbGVudFJlc291cmNlKHRvcEZyYW1lT3JpZ2luMSkpCi0gICAgICAg
ICAgICAgICAgdGVzdFBhc3NlZCgiQ29sbHVkaW5nIGhvc3QgMSBnb3Qgc2V0IGFzIHByZXZhbGVu
dCByZXNvdXJjZS4iKTsKLSAgICAgICAgICAgIGlmICh0ZXN0UnVubmVyLmlzU3RhdGlzdGljc1Zl
cnlQcmV2YWxlbnRSZXNvdXJjZSh0b3BGcmFtZU9yaWdpbjEpKQotICAgICAgICAgICAgICAgIHRl
c3RGYWlsZWQoIkNvbGx1ZGluZyBob3N0IDEgZ290IGNsYXNzaWZpZWQgYXMgdmVyeSBwcmV2YWxl
bnQgcmVzb3VyY2UuIik7Ci0gICAgICAgICAgICBpZiAodGVzdFJ1bm5lci5pc1N0YXRpc3RpY3NQ
cmV2YWxlbnRSZXNvdXJjZSh0b3BGcmFtZU9yaWdpbjIpKQotICAgICAgICAgICAgICAgIHRlc3RQ
YXNzZWQoIkNvbGx1ZGluZyBob3N0IDIgZ290IHNldCBhcyBwcmV2YWxlbnQgcmVzb3VyY2UuIik7
Ci0gICAgICAgICAgICBpZiAodGVzdFJ1bm5lci5pc1N0YXRpc3RpY3NWZXJ5UHJldmFsZW50UmVz
b3VyY2UodG9wRnJhbWVPcmlnaW4yKSkKLSAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKCJDb2xs
dWRpbmcgaG9zdCAyIGdvdCBjbGFzc2lmaWVkIGFzIHZlcnkgcHJldmFsZW50IHJlc291cmNlLiIp
OwotICAgICAgICAgICAgaWYgKHRlc3RSdW5uZXIuaXNTdGF0aXN0aWNzUHJldmFsZW50UmVzb3Vy
Y2UodG9wRnJhbWVPcmlnaW4zKSkKLSAgICAgICAgICAgICAgICB0ZXN0UGFzc2VkKCJDb2xsdWRp
bmcgaG9zdCAzIGdvdCBzZXQgYXMgcHJldmFsZW50IHJlc291cmNlLiIpOwotICAgICAgICAgICAg
aWYgKHRlc3RSdW5uZXIuaXNTdGF0aXN0aWNzVmVyeVByZXZhbGVudFJlc291cmNlKHRvcEZyYW1l
T3JpZ2luMykpCi0gICAgICAgICAgICAgICAgdGVzdEZhaWxlZCgiQ29sbHVkaW5nIGhvc3QgMyBn
b3QgY2xhc3NpZmllZCBhcyB2ZXJ5IHByZXZhbGVudCByZXNvdXJjZS4iKTsKLSAgICAgICAgICAg
IGlmICh0ZXN0UnVubmVyLmlzU3RhdGlzdGljc1ByZXZhbGVudFJlc291cmNlKHRvcEZyYW1lT3Jp
Z2luNCkpCi0gICAgICAgICAgICAgICAgdGVzdFBhc3NlZCgiQ29sbHVkaW5nIGhvc3QgNCBnb3Qg
c2V0IGFzIHByZXZhbGVudCByZXNvdXJjZS4iKTsKLSAgICAgICAgICAgIGlmICh0ZXN0UnVubmVy
LmlzU3RhdGlzdGljc1ZlcnlQcmV2YWxlbnRSZXNvdXJjZSh0b3BGcmFtZU9yaWdpbjQpKQotICAg
ICAgICAgICAgICAgIHRlc3RGYWlsZWQoIkNvbGx1ZGluZyBob3N0IDQgZ290IGNsYXNzaWZpZWQg
YXMgdmVyeSBwcmV2YWxlbnQgcmVzb3VyY2UuIik7Ci0gICAgICAgICAgICBpZiAodGVzdFJ1bm5l
ci5pc1N0YXRpc3RpY3NQcmV2YWxlbnRSZXNvdXJjZSh0b3BGcmFtZU9yaWdpbjUpKQotICAgICAg
ICAgICAgICAgIHRlc3RQYXNzZWQoIkNvbGx1ZGluZyBsb2NhbGhvc3QgZ290IHNldCBhcyBwcmV2
YWxlbnQgcmVzb3VyY2UgYWZ0ZXIgYWN0dWFsIG5hdmlnYXRpb25hbCByZWRpcmVjdC4iKTsKLSAg
ICAgICAgICAgIGlmICh0ZXN0UnVubmVyLmlzU3RhdGlzdGljc1ZlcnlQcmV2YWxlbnRSZXNvdXJj
ZSh0b3BGcmFtZU9yaWdpbjUpKQotICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoIkNvbGx1ZGlu
ZyBsb2NhbGhvc3QgZ290IGNsYXNzaWZpZWQgYXMgdmVyeSBwcmV2YWxlbnQgcmVzb3VyY2UuIik7
Ci0gICAgICAgICAgICAKLSAgICAgICAgICAgIHNldEVuYWJsZUZlYXR1cmUoZmFsc2UsIGZpbmlz
aEpTVGVzdCk7Ci0gICAgICAgIH0pOwotICAgIH0KLQotICAgIGlmIChkb2N1bWVudC5sb2NhdGlv
bi5oYXNoID09PSAiIiAmJiB3aW5kb3cudGVzdFJ1bm5lciAmJiB3aW5kb3cuaW50ZXJuYWxzKSB7
Ci0gICAgICAgIHRlc3RSdW5uZXIuc2V0VXNlSVRQRGF0YWJhc2UodHJ1ZSk7Ci0gICAgICAgIHNl
dEVuYWJsZUZlYXR1cmUodHJ1ZSwgZnVuY3Rpb24oKSB7Ci0gICAgICAgICAgICB0ZXN0UnVubmVy
LnNldFN0YXRpc3RpY3NQcmV2YWxlbnRSZXNvdXJjZShzdGF0aXN0aWNzVXJsLCBmYWxzZSwgZnVu
Y3Rpb24oKSB7Ci0gICAgICAgICAgICAgICAgaWYgKHRlc3RSdW5uZXIuaXNTdGF0aXN0aWNzUHJl
dmFsZW50UmVzb3VyY2Uoc3RhdGlzdGljc1VybCkpCi0gICAgICAgICAgICAgICAgICAgIHRlc3RG
YWlsZWQoIkhvc3QgZGlkIG5vdCBnZXQgc2V0IGFzIG5vbi1wcmV2YWxlbnQgcmVzb3VyY2UuIik7
Ci0KLSAgICAgICAgICAgICAgICBkb2N1bWVudC5sb2NhdGlvbi5ocmVmID0gdG9wRnJhbWVPcmln
aW41ICsgInJlc291cmNlTG9hZFN0YXRpc3RpY3MvcmVzb3VyY2VzL3JlZGlyZWN0LnBocD9yZWRp
cmVjdFRvPWh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NsYXNz
aWZ5LWFzLXByZXZhbGVudC1iYXNlZC1vbi10b3AtZnJhbWUtcmVkaXJlY3QtY29sbHVzaW9uLmh0
bWwjY29udGludWUiOwotICAgICAgICAgICAgfSk7Ci0gICAgICAgIH0pOwotICAgIH0gZWxzZSB7
Ci0gICAgICAgIHRlc3RSdW5uZXIuc3RhdGlzdGljc05vdGlmeU9ic2VydmVyKCk7Ci0gICAgICAg
IHJ1blRlc3QoKTsKLSAgICB9Ci08L3NjcmlwdD4KLTwvYm9keT4KLTwvaHRtbD4KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jbGFzc2lm
eS1hcy1wcmV2YWxlbnQtYmFzZWQtb24tdG9wLWZyYW1lLXJlZGlyZWN0LXRvLXByZXZhbGVudC1k
YXRhYmFzZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9h
ZFN0YXRpc3RpY3MvY2xhc3NpZnktYXMtcHJldmFsZW50LWJhc2VkLW9uLXRvcC1mcmFtZS1yZWRp
cmVjdC10by1wcmV2YWxlbnQtZGF0YWJhc2UtZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCA1OWY5OTUzMzgyODBmMzE1YjIyMDAzZjAwODJkMDgxNDg0N2U5YWIzLi4w
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3Rz
L2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jbGFzc2lmeS1hcy1wcmV2YWxlbnQt
YmFzZWQtb24tdG9wLWZyYW1lLXJlZGlyZWN0LXRvLXByZXZhbGVudC1kYXRhYmFzZS1leHBlY3Rl
ZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSwxMCArMCwwIEBACi1UZXN0cyBmb3IgY2xhc3NpZmlj
YXRpb24gYmFzZWQgb24gdG9wIGZyYW1lIHJlZGlyZWN0IHRvIG90aGVyIHByZXZhbGVudC4KLQot
T24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9s
bG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgotCi0KLVBBU1MgSG9zdCBjbGFzc2lmaWVkIGFzIHBy
ZXZhbGVudCByZXNvdXJjZS4KLVBBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKLQotVEVT
VCBDT01QTEVURQotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNl
TG9hZFN0YXRpc3RpY3MvY2xhc3NpZnktYXMtcHJldmFsZW50LWJhc2VkLW9uLXRvcC1mcmFtZS1y
ZWRpcmVjdC10by1wcmV2YWxlbnQtZGF0YWJhc2UuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVz
dHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jbGFzc2lmeS1hcy1wcmV2YWxlbnQtYmFzZWQtb24t
dG9wLWZyYW1lLXJlZGlyZWN0LXRvLXByZXZhbGVudC1kYXRhYmFzZS5odG1sCmRlbGV0ZWQgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCBlMzUwOWE4YmU4MTNmMThhYjFlYWY1YzU5OTc4NGY5ZWIwMjBj
Njg1Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91
dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jbGFzc2lmeS1hcy1wcmV2
YWxlbnQtYmFzZWQtb24tdG9wLWZyYW1lLXJlZGlyZWN0LXRvLXByZXZhbGVudC1kYXRhYmFzZS5o
dG1sCisrKyAvZGV2L251bGwKQEAgLTEsNDkgKzAsMCBAQAotPCFET0NUWVBFIGh0bWw+Ci08aHRt
bCBsYW5nPSJlbiI+Ci08aGVhZD4KLSAgICA8bWV0YSBjaGFyc2V0PSJVVEYtOCI+Ci0gICAgPHNj
cmlwdCBzcmM9Ii9qcy10ZXN0LXJlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KLSAgICA8
c2NyaXB0IHNyYz0icmVzb3VyY2VzL3V0aWwuanMiPjwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHk+
Ci08c2NyaXB0PgotICAgIGRlc2NyaXB0aW9uKCJUZXN0cyBmb3IgY2xhc3NpZmljYXRpb24gYmFz
ZWQgb24gdG9wIGZyYW1lIHJlZGlyZWN0IHRvIG90aGVyIHByZXZhbGVudC4iKTsKLSAgICBqc1Rl
c3RJc0FzeW5jID0gdHJ1ZTsKLQotICAgIGNvbnN0IGhvc3RVbmRlclRlc3QgPSAiMTI3LjAuMC4x
OjgwMDAiOwotICAgIGNvbnN0IHN0YXRpc3RpY3NVcmwgPSAiaHR0cDovLyIgKyBob3N0VW5kZXJU
ZXN0ICsgIi90ZW1wIjsKLSAgICBjb25zdCB0b3BGcmFtZU9yaWdpbjEgPSAiaHR0cDovLzEyNy4w
LjAuMjo4MDAwL3RlbXAiOwotCi0gICAgZnVuY3Rpb24gY29tcGxldGVUZXN0KCkgewotICAgICAg
ICBpZiAoIXRlc3RSdW5uZXIuaXNTdGF0aXN0aWNzUHJldmFsZW50UmVzb3VyY2Uoc3RhdGlzdGlj
c1VybCkpCi0gICAgICAgICAgICB0ZXN0RmFpbGVkKCJIb3N0IGRpZCBub3QgZ2V0IGNsYXNzaWZp
ZWQgYXMgcHJldmFsZW50IHJlc291cmNlLiIpOwotICAgICAgICBlbHNlIGlmICh0ZXN0UnVubmVy
LmlzU3RhdGlzdGljc1ZlcnlQcmV2YWxlbnRSZXNvdXJjZShzdGF0aXN0aWNzVXJsKSkKLSAgICAg
ICAgICAgIHRlc3RGYWlsZWQoIkhvc3QgZ290IGNsYXNzaWZpZWQgYXMgdmVyeSBwcmV2YWxlbnQg
cmVzb3VyY2UuIik7Ci0gICAgICAgIGVsc2UKLSAgICAgICAgICAgIHRlc3RQYXNzZWQoIkhvc3Qg
Y2xhc3NpZmllZCBhcyBwcmV2YWxlbnQgcmVzb3VyY2UuIik7Ci0gICAgICAgIAotICAgICAgICBz
ZXRFbmFibGVGZWF0dXJlKGZhbHNlLCBmaW5pc2hKU1Rlc3QpOwotICAgIH0KLQotICAgIGZ1bmN0
aW9uIHJ1blRlc3QoKSB7Ci0gICAgICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc1ByZXZhbGVu
dFJlc291cmNlKHRvcEZyYW1lT3JpZ2luMSwgdHJ1ZSwgZnVuY3Rpb24oKSB7Ci0gICAgICAgICAg
ICB0ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NUb3BGcmFtZVVuaXF1ZVJlZGlyZWN0VG8oc3RhdGlz
dGljc1VybCwgdG9wRnJhbWVPcmlnaW4xKTsKLQotICAgICAgICAgICAgdGVzdFJ1bm5lci5pbnN0
YWxsU3RhdGlzdGljc0RpZFNjYW5EYXRhUmVjb3Jkc0NhbGxiYWNrKGNvbXBsZXRlVGVzdCk7Ci0g
ICAgICAgICAgICB0ZXN0UnVubmVyLnN0YXRpc3RpY3NQcm9jZXNzU3RhdGlzdGljc0FuZERhdGFS
ZWNvcmRzKCk7Ci0gICAgICAgIH0pOwotICAgIH0KLQotICAgIGlmIChkb2N1bWVudC5sb2NhdGlv
bi5ob3N0ID09PSBob3N0VW5kZXJUZXN0ICYmIHdpbmRvdy50ZXN0UnVubmVyICYmIHdpbmRvdy5p
bnRlcm5hbHMpIHsKLSAgICAgICAgdGVzdFJ1bm5lci5zZXRVc2VJVFBEYXRhYmFzZSh0cnVlKTsK
LSAgICAgICAgc2V0RW5hYmxlRmVhdHVyZSh0cnVlLCBmdW5jdGlvbigpIHsKLSAgICAgICAgICAg
IHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc1ByZXZhbGVudFJlc291cmNlKHN0YXRpc3RpY3NVcmws
IGZhbHNlLCBmdW5jdGlvbigpIHsKLSAgICAgICAgICAgICAgICBpZiAodGVzdFJ1bm5lci5pc1N0
YXRpc3RpY3NQcmV2YWxlbnRSZXNvdXJjZShzdGF0aXN0aWNzVXJsKSkKLSAgICAgICAgICAgICAg
ICAgICAgdGVzdEZhaWxlZCgiSG9zdCBkaWQgbm90IGdldCBzZXQgYXMgbm9uLXByZXZhbGVudCBy
ZXNvdXJjZS4iKTsKLSAgICAgICAgICAgICAgICBydW5UZXN0KCk7Ci0gICAgICAgICAgICB9KTsK
LSAgICAgICAgfSk7Ci0gICAgfQotPC9zY3JpcHQ+Ci08L2JvZHk+Ci08L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY2xhc3Np
ZnktYXMtcHJldmFsZW50LWJhc2VkLW9uLXRvcC1mcmFtZS11bmlxdWUtcmVkaXJlY3RzLXRvLWRh
dGFiYXNlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2Fk
U3RhdGlzdGljcy9jbGFzc2lmeS1hcy1wcmV2YWxlbnQtYmFzZWQtb24tdG9wLWZyYW1lLXVuaXF1
ZS1yZWRpcmVjdHMtdG8tZGF0YWJhc2UtZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCBhNDkxYmY5NjAzMzU3MDljOTkxZGYxZmZkMzI0MjhiZGJhZTgwNmY4Li4wMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2h0
dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jbGFzc2lmeS1hcy1wcmV2YWxlbnQtYmFz
ZWQtb24tdG9wLWZyYW1lLXVuaXF1ZS1yZWRpcmVjdHMtdG8tZGF0YWJhc2UtZXhwZWN0ZWQudHh0
CisrKyAvZGV2L251bGwKQEAgLTEsMTAgKzAsMCBAQAotVGVzdHMgZm9yIGNsYXNzaWZpY2F0aW9u
IGJhc2VkIG9uIHRvcCBmcmFtZSB1bmlxdWUgcmVkaXJlY3RzIHRvLgotCi1PbiBzdWNjZXNzLCB5
b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVT
VCBDT01QTEVURSIuCi0KLQotUEFTUyBIb3N0IGNsYXNzaWZpZWQgYXMgcHJldmFsZW50IHJlc291
cmNlLgotUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQotCi1URVNUIENPTVBMRVRFCi0K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGlj
cy9jbGFzc2lmeS1hcy1wcmV2YWxlbnQtYmFzZWQtb24tdG9wLWZyYW1lLXVuaXF1ZS1yZWRpcmVj
dHMtdG8tZGF0YWJhc2UuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2Fk
U3RhdGlzdGljcy9jbGFzc2lmeS1hcy1wcmV2YWxlbnQtYmFzZWQtb24tdG9wLWZyYW1lLXVuaXF1
ZS1yZWRpcmVjdHMtdG8tZGF0YWJhc2UuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggNjYxMTUxNzEyY2FjZTNlNDdkOTdiMjZkMWFhNWM0NTRiMzFjY2E1OS4uMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY2xhc3NpZnktYXMtcHJldmFsZW50LWJhc2VkLW9uLXRv
cC1mcmFtZS11bmlxdWUtcmVkaXJlY3RzLXRvLWRhdGFiYXNlLmh0bWwKKysrIC9kZXYvbnVsbApA
QCAtMSw1NCArMCwwIEBACi08IURPQ1RZUEUgaHRtbD4KLTxodG1sIGxhbmc9ImVuIj4KLTxoZWFk
PgotICAgIDxtZXRhIGNoYXJzZXQ9IlVURi04Ij4KLSAgICA8c2NyaXB0IHNyYz0iL2pzLXRlc3Qt
cmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgotICAgIDxzY3JpcHQgc3JjPSJyZXNvdXJj
ZXMvdXRpbC5qcyI+PC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keT4KLTxzY3JpcHQ+Ci0gICAgZGVz
Y3JpcHRpb24oIlRlc3RzIGZvciBjbGFzc2lmaWNhdGlvbiBiYXNlZCBvbiB0b3AgZnJhbWUgdW5p
cXVlIHJlZGlyZWN0cyB0by4iKTsKLSAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKLQotICAgIGNv
bnN0IGhvc3RVbmRlclRlc3QgPSAiMTI3LjAuMC4xOjgwMDAiOwotICAgIGNvbnN0IHN0YXRpc3Rp
Y3NVcmwgPSAiaHR0cDovLyIgKyBob3N0VW5kZXJUZXN0ICsgIi90ZW1wIjsKLSAgICBjb25zdCB0
b3BGcmFtZU9yaWdpbjEgPSAiaHR0cDovLzEyNy4wLjAuMjo4MDAwL3RlbXAiOwotICAgIGNvbnN0
IHRvcEZyYW1lT3JpZ2luMiA9ICJodHRwOi8vMTI3LjAuMC4zOjgwMDAvdGVtcCI7Ci0gICAgY29u
c3QgdG9wRnJhbWVPcmlnaW4zID0gImh0dHA6Ly8xMjcuMC4wLjQ6ODAwMC90ZW1wIjsKLSAgICBj
b25zdCB0b3BGcmFtZU9yaWdpbjQgPSAiaHR0cDovLzEyNy4wLjAuNTo4MDAwL3RlbXAiOwotCi0g
ICAgZnVuY3Rpb24gY29tcGxldGVUZXN0KCkgewotICAgICAgICBpZiAoIXRlc3RSdW5uZXIuaXNT
dGF0aXN0aWNzUHJldmFsZW50UmVzb3VyY2Uoc3RhdGlzdGljc1VybCkpCi0gICAgICAgICAgICB0
ZXN0RmFpbGVkKCJIb3N0IGRpZCBub3QgZ2V0IGNsYXNzaWZpZWQgYXMgcHJldmFsZW50IHJlc291
cmNlLiIpOwotICAgICAgICBpZiAodGVzdFJ1bm5lci5pc1N0YXRpc3RpY3NWZXJ5UHJldmFsZW50
UmVzb3VyY2Uoc3RhdGlzdGljc1VybCkpCi0gICAgICAgICAgICB0ZXN0RmFpbGVkKCJIb3N0IGdv
dCBjbGFzc2lmaWVkIGFzIHZlcnkgcHJldmFsZW50IHJlc291cmNlLiIpOwotICAgICAgICBlbHNl
Ci0gICAgICAgICAgICB0ZXN0UGFzc2VkKCJIb3N0IGNsYXNzaWZpZWQgYXMgcHJldmFsZW50IHJl
c291cmNlLiIpOwotCi0gICAgICAgIHNldEVuYWJsZUZlYXR1cmUoZmFsc2UsIGZpbmlzaEpTVGVz
dCk7Ci0gICAgfQotCi0gICAgZnVuY3Rpb24gcnVuVGVzdCgpIHsKLSAgICAgICAgdGVzdFJ1bm5l
ci5zZXRTdGF0aXN0aWNzVG9wRnJhbWVVbmlxdWVSZWRpcmVjdFRvKHN0YXRpc3RpY3NVcmwsIHRv
cEZyYW1lT3JpZ2luMSk7Ci0gICAgICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc1RvcEZyYW1l
VW5pcXVlUmVkaXJlY3RUbyhzdGF0aXN0aWNzVXJsLCB0b3BGcmFtZU9yaWdpbjIpOwotICAgICAg
ICB0ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NUb3BGcmFtZVVuaXF1ZVJlZGlyZWN0VG8oc3RhdGlz
dGljc1VybCwgdG9wRnJhbWVPcmlnaW4zKTsKLSAgICAgICAgdGVzdFJ1bm5lci5zZXRTdGF0aXN0
aWNzVG9wRnJhbWVVbmlxdWVSZWRpcmVjdFRvKHN0YXRpc3RpY3NVcmwsIHRvcEZyYW1lT3JpZ2lu
NCk7Ci0KLSAgICAgICAgdGVzdFJ1bm5lci5pbnN0YWxsU3RhdGlzdGljc0RpZFNjYW5EYXRhUmVj
b3Jkc0NhbGxiYWNrKGNvbXBsZXRlVGVzdCk7Ci0KLSAgICAgICAgdGVzdFJ1bm5lci5zdGF0aXN0
aWNzUHJvY2Vzc1N0YXRpc3RpY3NBbmREYXRhUmVjb3JkcygpOwotICAgIH0KLQotICAgIGlmIChk
b2N1bWVudC5sb2NhdGlvbi5ob3N0ID09PSBob3N0VW5kZXJUZXN0ICYmIHdpbmRvdy50ZXN0UnVu
bmVyICYmIHdpbmRvdy5pbnRlcm5hbHMpIHsKLSAgICAgICAgdGVzdFJ1bm5lci5zZXRVc2VJVFBE
YXRhYmFzZSh0cnVlKTsKLSAgICAgICAgc2V0RW5hYmxlRmVhdHVyZSh0cnVlLCBmdW5jdGlvbigp
IHsKLSAgICAgICAgICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc1ByZXZhbGVudFJlc291cmNl
KHN0YXRpc3RpY3NVcmwsIGZhbHNlLCBmdW5jdGlvbigpIHsKLSAgICAgICAgICAgICAgICBpZiAo
dGVzdFJ1bm5lci5pc1N0YXRpc3RpY3NQcmV2YWxlbnRSZXNvdXJjZShzdGF0aXN0aWNzVXJsKSkK
LSAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZCgiSG9zdCBkaWQgbm90IGdldCBzZXQgYXMg
bm9uLXByZXZhbGVudCByZXNvdXJjZS4iKTsKLSAgICAgICAgICAgICAgICBydW5UZXN0KCk7Ci0g
ICAgICAgICAgICB9KTsKLSAgICAgICAgfSk7Ci0gICAgfQotPC9zY3JpcHQ+Ci08L2JvZHk+Ci08
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0
YXRpc3RpY3MvY2xhc3NpZnktYXMtdmVyeS1wcmV2YWxlbnQtYmFzZWQtb24tbWl4ZWQtc3RhdGlz
dGljcy1kYXRhYmFzZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291
cmNlTG9hZFN0YXRpc3RpY3MvY2xhc3NpZnktYXMtdmVyeS1wcmV2YWxlbnQtYmFzZWQtb24tbWl4
ZWQtc3RhdGlzdGljcy1kYXRhYmFzZS1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IGIwZjAzMWRjYTVkMGM5NjA4ZjRkOGY1YWY4OTlhMTZlOWVmNTFjNTguLjAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NsYXNzaWZ5LWFzLXZlcnktcHJldmFsZW50
LWJhc2VkLW9uLW1peGVkLXN0YXRpc3RpY3MtZGF0YWJhc2UtZXhwZWN0ZWQudHh0CisrKyAvZGV2
L251bGwKQEAgLTEsMTAgKzAsMCBAQAotVGVzdCBmb3IgY2xhc3NpZmljYXRpb24gYXMgdmVyeSBw
cmV2YWxlbnQgYmFzZWQgb24gbWl4ZWQgc3RhdGlzdGljcy4KLQotT24gc3VjY2VzcywgeW91IHdp
bGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09N
UExFVEUiLgotCi0KLVBBU1MgSG9zdCBjbGFzc2lmaWVkIGFzIHZlcnkgcHJldmFsZW50IHJlc291
cmNlLgotUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQotCi1URVNUIENPTVBMRVRFCi0K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGlj
cy9jbGFzc2lmeS1hcy12ZXJ5LXByZXZhbGVudC1iYXNlZC1vbi1taXhlZC1zdGF0aXN0aWNzLWRh
dGFiYXNlLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3Rp
Y3MvY2xhc3NpZnktYXMtdmVyeS1wcmV2YWxlbnQtYmFzZWQtb24tbWl4ZWQtc3RhdGlzdGljcy1k
YXRhYmFzZS5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBmN2RkYWY3NTk0OTBj
MDU2OTAzYTUwZDQ3ZmQ1YWE2ZWRiN2Y3YTIyLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3Rh
dGlzdGljcy9jbGFzc2lmeS1hcy12ZXJ5LXByZXZhbGVudC1iYXNlZC1vbi1taXhlZC1zdGF0aXN0
aWNzLWRhdGFiYXNlLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSw2NCArMCwwIEBACi08IURPQ1RZ
UEUgaHRtbD4KLTxodG1sIGxhbmc9ImVuIj4KLTxoZWFkPgotICAgIDxtZXRhIGNoYXJzZXQ9IlVU
Ri04Ij4KLSAgICA8c2NyaXB0IHNyYz0iL2pzLXRlc3QtcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwv
c2NyaXB0PgotICAgIDxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvdXRpbC5qcyI+PC9zY3JpcHQ+Ci08
L2hlYWQ+Ci08Ym9keT4KLTxzY3JpcHQ+Ci0gICAgZGVzY3JpcHRpb24oIlRlc3QgZm9yIGNsYXNz
aWZpY2F0aW9uIGFzIHZlcnkgcHJldmFsZW50IGJhc2VkIG9uIG1peGVkIHN0YXRpc3RpY3MuIik7
Ci0gICAganNUZXN0SXNBc3luYyA9IHRydWU7Ci0KLSAgICBjb25zdCBob3N0VW5kZXJUZXN0ID0g
IjEyNy4wLjAuMTo4MDAwIjsKLSAgICBjb25zdCBzdGF0aXN0aWNzVXJsID0gImh0dHA6Ly8iICsg
aG9zdFVuZGVyVGVzdCArICIvdGVtcCI7Ci0gICAgdmFyIHRvcEZyYW1lT3JpZ2lucyA9IFtdOwot
ICAgIGNvbnN0IHN0YXJ0TnVtID0gMjsKLSAgICBjb25zdCBudW1iZXJPZlN1YnJlc291cmNlRG9t
YWlucyA9IDMwOwotICAgIGZvciAodmFyIGkgPSBzdGFydE51bTsgaSA8IG51bWJlck9mU3VicmVz
b3VyY2VEb21haW5zICsgc3RhcnROdW07ICsraSkKLSAgICAgICAgdG9wRnJhbWVPcmlnaW5zLnB1
c2goImh0dHA6Ly8xMjcuMC4wLiIgKyBpICsgIjo4MDAwL3RlbXAiKQotCi0gICAgZnVuY3Rpb24g
Y29tcGxldGVUZXN0KCkgewotICAgICAgICBpZiAoIXRlc3RSdW5uZXIuaXNTdGF0aXN0aWNzUHJl
dmFsZW50UmVzb3VyY2Uoc3RhdGlzdGljc1VybCkpCi0gICAgICAgICAgICB0ZXN0RmFpbGVkKCJI
b3N0IGRpZCBub3QgZ2V0IGNsYXNzaWZpZWQgYXMgcHJldmFsZW50IHJlc291cmNlLiIpOwotICAg
ICAgICBpZiAoIXRlc3RSdW5uZXIuaXNTdGF0aXN0aWNzVmVyeVByZXZhbGVudFJlc291cmNlKHN0
YXRpc3RpY3NVcmwpKQotICAgICAgICAgICAgdGVzdEZhaWxlZCgiSG9zdCBkaWQgbm90IGdldCBj
bGFzc2lmaWVkIGFzIHZlcnkgcHJldmFsZW50IHJlc291cmNlLiIpOwotICAgICAgICBlbHNlCi0g
ICAgICAgICAgICB0ZXN0UGFzc2VkKCJIb3N0IGNsYXNzaWZpZWQgYXMgdmVyeSBwcmV2YWxlbnQg
cmVzb3VyY2UuIik7Ci0KLSAgICAgICAgc2V0RW5hYmxlRmVhdHVyZShmYWxzZSwgZmluaXNoSlNU
ZXN0KTsKLSAgICB9Ci0KLSAgICBmdW5jdGlvbiBydW5UZXN0UnVubmVyVGVzdCgpIHsgCi0gICAg
ICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc1ByZXZhbGVudFJlc291cmNlKHN0YXRpc3RpY3NV
cmwsIGZhbHNlLCBmdW5jdGlvbigpIHsKLSAgICAgICAgICAgIGlmICh0ZXN0UnVubmVyLmlzU3Rh
dGlzdGljc1ByZXZhbGVudFJlc291cmNlKHN0YXRpc3RpY3NVcmwpKQotICAgICAgICAgICAgICAg
IHRlc3RGYWlsZWQoIkhvc3Qgc3RhcnRlZCBvdXQgYXMgcHJldmFsZW50IHJlc291cmNlLiIpOwot
Ci0gICAgICAgICAgICB2YXIgaSA9IDA7Ci0gICAgICAgICAgICB3aGlsZSAoaSA8IG51bWJlck9m
U3VicmVzb3VyY2VEb21haW5zKSB7Ci0gICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5zZXRTdGF0
aXN0aWNzU3ViZnJhbWVVbmRlclRvcEZyYW1lT3JpZ2luKHN0YXRpc3RpY3NVcmwsIHRvcEZyYW1l
T3JpZ2luc1tpXSk7Ci0gICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNzU3Vi
cmVzb3VyY2VVbmRlclRvcEZyYW1lT3JpZ2luKHN0YXRpc3RpY3NVcmwsIHRvcEZyYW1lT3JpZ2lu
c1tpXSk7Ci0gICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNzU3VicmVzb3Vy
Y2VVbmlxdWVSZWRpcmVjdFRvKHN0YXRpc3RpY3NVcmwsIHRvcEZyYW1lT3JpZ2luc1tpXSk7Ci0K
LSAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NTdWJmcmFtZVVuZGVyVG9w
RnJhbWVPcmlnaW4oc3RhdGlzdGljc1VybCwgdG9wRnJhbWVPcmlnaW5zW2krMV0pOwotICAgICAg
ICAgICAgICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc1N1YnJlc291cmNlVW5kZXJUb3BGcmFt
ZU9yaWdpbihzdGF0aXN0aWNzVXJsLCB0b3BGcmFtZU9yaWdpbnNbaSsxXSk7Ci0gICAgICAgICAg
ICAgICAgdGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNzU3VicmVzb3VyY2VVbmlxdWVSZWRpcmVjdFRv
KHN0YXRpc3RpY3NVcmwsIHRvcEZyYW1lT3JpZ2luc1tpKzFdKTsKLQotICAgICAgICAgICAgICAg
IHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc1N1YmZyYW1lVW5kZXJUb3BGcmFtZU9yaWdpbihzdGF0
aXN0aWNzVXJsLCB0b3BGcmFtZU9yaWdpbnNbaSsyXSk7Ci0gICAgICAgICAgICAgICAgdGVzdFJ1
bm5lci5zZXRTdGF0aXN0aWNzU3VicmVzb3VyY2VVbmRlclRvcEZyYW1lT3JpZ2luKHN0YXRpc3Rp
Y3NVcmwsIHRvcEZyYW1lT3JpZ2luc1tpKzJdKTsKLSAgICAgICAgICAgICAgICB0ZXN0UnVubmVy
LnNldFN0YXRpc3RpY3NTdWJyZXNvdXJjZVVuaXF1ZVJlZGlyZWN0VG8oc3RhdGlzdGljc1VybCwg
dG9wRnJhbWVPcmlnaW5zW2krMl0pOwotICAgICAgICAgICAgICAgIGkgKz0gMzsKLSAgICAgICAg
ICAgIH0KLQotICAgICAgICAgICAgdGVzdFJ1bm5lci5pbnN0YWxsU3RhdGlzdGljc0RpZFNjYW5E
YXRhUmVjb3Jkc0NhbGxiYWNrKGNvbXBsZXRlVGVzdCk7Ci0gICAgICAgICAgICB0ZXN0UnVubmVy
LnN0YXRpc3RpY3NQcm9jZXNzU3RhdGlzdGljc0FuZERhdGFSZWNvcmRzKCk7Ci0gICAgICAgIH0p
OwotICAgIH0KLQotICAgIGlmIChkb2N1bWVudC5sb2NhdGlvbi5ob3N0ID09PSBob3N0VW5kZXJU
ZXN0ICYmIHdpbmRvdy50ZXN0UnVubmVyICYmIHdpbmRvdy5pbnRlcm5hbHMpIHsKLSAgICAgICAg
dGVzdFJ1bm5lci5zZXRVc2VJVFBEYXRhYmFzZSh0cnVlKTsKLSAgICAgICAgc2V0RW5hYmxlRmVh
dHVyZSh0cnVlLCBydW5UZXN0UnVubmVyVGVzdCk7Ci0gICAgfQotPC9zY3JpcHQ+Ci08L2JvZHk+
Ci08L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9h
ZFN0YXRpc3RpY3MvY2xlYXItaW4tbWVtb3J5LWFuZC1wZXJzaXN0ZW50LXN0b3JlLWRhdGFiYXNl
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlz
dGljcy9jbGVhci1pbi1tZW1vcnktYW5kLXBlcnNpc3RlbnQtc3RvcmUtZGF0YWJhc2UtZXhwZWN0
ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBiYWUwMDMzZmZjY2FlYzI2M2E5
NmYyYjNkNzgzZWRjZjcwNDA4M2QzLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGlj
cy9jbGVhci1pbi1tZW1vcnktYW5kLXBlcnNpc3RlbnQtc3RvcmUtZGF0YWJhc2UtZXhwZWN0ZWQu
dHh0CisrKyAvZGV2L251bGwKQEAgLTEsMTEgKzAsMCBAQAotVGVzdHMgY2xlYXJpbmcgb2Ygd2Vi
c2l0ZSBkYXRhIHN0b3JlLgotCi1PbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2Yg
IlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCi0KLQotUEFTUyBI
b3N0IGNsYXNzaWZpZWQgYXMgcHJldmFsZW50IHJlc291cmNlLgotUEFTUyBIb3N0IGlzIG5vIGxv
bmdlciBhIHByZXZhbGVudCByZXNvdXJjZSBhZnRlciB0aGUgc3RvcmUgd2FzIGNsZWFyZWQuCi1Q
QVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCi0KLVRFU1QgQ09NUExFVEUKLQpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NsZWFy
LWluLW1lbW9yeS1hbmQtcGVyc2lzdGVudC1zdG9yZS1kYXRhYmFzZS5odG1sIGIvTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NsZWFyLWluLW1lbW9yeS1hbmQt
cGVyc2lzdGVudC1zdG9yZS1kYXRhYmFzZS5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCA1YTlmMTk2NzNmYjYwZWM4YjdjOTYxYzE3NzQ2ZGYwOGYyZDIyYzJiLi4wMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVz
dHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jbGVhci1pbi1tZW1vcnktYW5kLXBlcnNpc3RlbnQt
c3RvcmUtZGF0YWJhc2UuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDY1ICswLDAgQEAKLTwhRE9D
VFlQRSBodG1sPgotPGh0bWwgbGFuZz0iZW4iPgotPGhlYWQ+Ci0gICAgPG1ldGEgY2hhcnNldD0i
VVRGLTgiPgotICAgIDx0aXRsZT5UZXN0IENsZWFyZWQgU3RvcmU8L3RpdGxlPgotICAgIDxzY3Jp
cHQgc3JjPSIvanMtdGVzdC1yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+Ci0gICAgPHNj
cmlwdCBzcmM9InJlc291cmNlcy91dGlsLmpzIj48L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5Pgot
PHNjcmlwdD4KLSAgICBkZXNjcmlwdGlvbigiVGVzdHMgY2xlYXJpbmcgb2Ygd2Vic2l0ZSBkYXRh
IHN0b3JlLiIpOwotICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOwotCi0gICAgY29uc3QgaG9zdFVu
ZGVyVGVzdCA9ICIxMjcuMC4wLjE6ODAwMCI7Ci0gICAgY29uc3Qgc3RhdGlzdGljc1VybCA9ICJo
dHRwOi8vIiArIGhvc3RVbmRlclRlc3QgKyAiL3RlbXAiOwotICAgIGNvbnN0IHRvcEZyYW1lT3Jp
Z2luMSA9ICJodHRwOi8vMTI3LjAuMC4yOjgwMDAvdGVtcCI7Ci0gICAgY29uc3QgdG9wRnJhbWVP
cmlnaW4yID0gImh0dHA6Ly8xMjcuMC4wLjM6ODAwMC90ZW1wIjsKLSAgICBjb25zdCB0b3BGcmFt
ZU9yaWdpbjMgPSAiaHR0cDovLzEyNy4wLjAuNDo4MDAwL3RlbXAiOwotCi0gICAgZnVuY3Rpb24g
dGVzdFN0ZXAyKCkgewotICAgICAgICBpZiAodGVzdFJ1bm5lci5pc1N0YXRpc3RpY3NQcmV2YWxl
bnRSZXNvdXJjZShzdGF0aXN0aWNzVXJsKSkKLSAgICAgICAgICAgIHRlc3RQYXNzZWQoIkhvc3Qg
Y2xhc3NpZmllZCBhcyBwcmV2YWxlbnQgcmVzb3VyY2UuIik7Ci0gICAgICAgIGVsc2UKLSAgICAg
ICAgICAgIHRlc3RGYWlsZWQoIkhvc3QgZGlkIG5vdCBnZXQgY2xhc3NpZmllZCBhcyBwcmV2YWxl
bnQgcmVzb3VyY2UuIik7Ci0KLSAgICAgICAgdGVzdFJ1bm5lci5zdGF0aXN0aWNzQ2xlYXJJbk1l
bW9yeUFuZFBlcnNpc3RlbnRTdG9yZShjb21wbGV0ZVRlc3QpOwotICAgIH0KLQotICAgIGZ1bmN0
aW9uIGNvbXBsZXRlVGVzdCgpIHsKLSAgICAgICAgaWYgKHRlc3RSdW5uZXIuaXNTdGF0aXN0aWNz
UHJldmFsZW50UmVzb3VyY2Uoc3RhdGlzdGljc1VybCkpCi0gICAgICAgICAgICB0ZXN0RmFpbGVk
KCJIb3N0IGlzIHN0aWxsIGEgcHJldmFsZW50IHJlc291cmNlIGFmdGVyIHRoZSBzdG9yZSB3YXMg
Y2xlYXJlZC4iKTsKLSAgICAgICAgZWxzZQotICAgICAgICAgICAgdGVzdFBhc3NlZCgiSG9zdCBp
cyBubyBsb25nZXIgYSBwcmV2YWxlbnQgcmVzb3VyY2UgYWZ0ZXIgdGhlIHN0b3JlIHdhcyBjbGVh
cmVkLiIpOwotCi0gICAgICAgIHNldEVuYWJsZUZlYXR1cmUoZmFsc2UsIGZpbmlzaEpTVGVzdCk7
Ci0gICAgfQotCi0gICAgZnVuY3Rpb24gcnVuVGVzdFJ1bm5lclRlc3QoKSB7Ci0gICAgICAgIHRl
c3RSdW5uZXIuc2V0U3RhdGlzdGljc1ByZXZhbGVudFJlc291cmNlKHN0YXRpc3RpY3NVcmwsIGZh
bHNlLCBmdW5jdGlvbigpIHsKLSAgICAgICAgICAgIGlmICh0ZXN0UnVubmVyLmlzU3RhdGlzdGlj
c1ByZXZhbGVudFJlc291cmNlKHN0YXRpc3RpY3NVcmwpKQotICAgICAgICAgICAgICAgIHRlc3RG
YWlsZWQoIkhvc3QgZGlkIG5vdCBnZXQgc2V0IGFzIG5vbi1wcmV2YWxlbnQgcmVzb3VyY2UuIik7
Ci0KLSAgICAgICAgICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc1N1YmZyYW1lVW5kZXJUb3BG
cmFtZU9yaWdpbihzdGF0aXN0aWNzVXJsLCB0b3BGcmFtZU9yaWdpbjEpOwotICAgICAgICAgICAg
dGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNzU3VicmVzb3VyY2VVbmlxdWVSZWRpcmVjdFRvKHN0YXRp
c3RpY3NVcmwsIHRvcEZyYW1lT3JpZ2luMSk7Ci0gICAgICAgICAgICB0ZXN0UnVubmVyLnNldFN0
YXRpc3RpY3NTdWJyZXNvdXJjZVVuZGVyVG9wRnJhbWVPcmlnaW4oc3RhdGlzdGljc1VybCwgdG9w
RnJhbWVPcmlnaW4xKTsKLSAgICAgICAgICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc1N1YnJl
c291cmNlVW5kZXJUb3BGcmFtZU9yaWdpbihzdGF0aXN0aWNzVXJsLCB0b3BGcmFtZU9yaWdpbjIp
OwotICAgICAgICAgICAgdGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNzU3ViZnJhbWVVbmRlclRvcEZy
YW1lT3JpZ2luKHN0YXRpc3RpY3NVcmwsIHRvcEZyYW1lT3JpZ2luMik7Ci0gICAgICAgICAgICB0
ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NTdWJyZXNvdXJjZVVuaXF1ZVJlZGlyZWN0VG8oc3RhdGlz
dGljc1VybCwgdG9wRnJhbWVPcmlnaW4zKTsKLSAgICAgICAgICAgIHRlc3RSdW5uZXIuc2V0U3Rh
dGlzdGljc1N1YnJlc291cmNlVW5kZXJUb3BGcmFtZU9yaWdpbihzdGF0aXN0aWNzVXJsLCB0b3BG
cmFtZU9yaWdpbjMpOwotCi0gICAgICAgICAgICB0ZXN0UnVubmVyLmluc3RhbGxTdGF0aXN0aWNz
RGlkU2NhbkRhdGFSZWNvcmRzQ2FsbGJhY2sodGVzdFN0ZXAyKTsKLQotICAgICAgICAgICAgdGVz
dFJ1bm5lci5zdGF0aXN0aWNzUHJvY2Vzc1N0YXRpc3RpY3NBbmREYXRhUmVjb3JkcygpOwotICAg
ICAgICB9KTsKLSAgICB9Ci0KLSAgICBpZiAoZG9jdW1lbnQubG9jYXRpb24uaG9zdCA9PT0gaG9z
dFVuZGVyVGVzdCAmJiB3aW5kb3cudGVzdFJ1bm5lciAmJiB3aW5kb3cuaW50ZXJuYWxzKSB7Ci0g
ICAgICAgIHRlc3RSdW5uZXIuc2V0VXNlSVRQRGF0YWJhc2UodHJ1ZSk7Ci0gICAgICAgIHNldEVu
YWJsZUZlYXR1cmUodHJ1ZSwgZnVuY3Rpb24gKCkgewotICAgICAgICAgICAgcnVuVGVzdFJ1bm5l
clRlc3QoKTsKLSAgICAgICAgfSk7Ci0gICAgfQotPC9zY3JpcHQ+Ci08L2JvZHk+Ci08L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3Rp
Y3MvY2xlYXItaW4tbWVtb3J5LWFuZC1wZXJzaXN0ZW50LXN0b3JlLW9uZS1ob3VyLWRhdGFiYXNl
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlz
dGljcy9jbGVhci1pbi1tZW1vcnktYW5kLXBlcnNpc3RlbnQtc3RvcmUtb25lLWhvdXItZGF0YWJh
c2UtZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwN2Y5OTljNmZl
YjMyNjVkZWZmMzk1MWFjMmY4MTQwYWMxYTZlZWUwLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2Fk
U3RhdGlzdGljcy9jbGVhci1pbi1tZW1vcnktYW5kLXBlcnNpc3RlbnQtc3RvcmUtb25lLWhvdXIt
ZGF0YWJhc2UtZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEsMTEgKzAsMCBAQAotVGVz
dHMgY2xlYXJpbmcgb2Ygd2Vic2l0ZSBkYXRhIHN0b3JlIChvbmUgaG91cikuCi0KLU9uIHN1Y2Nl
c3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5
ICJURVNUIENPTVBMRVRFIi4KLQotCi1QQVNTIEhvc3QgY2xhc3NpZmllZCBhcyBwcmV2YWxlbnQg
cmVzb3VyY2UuCi1QQVNTIEhvc3QgaXMgbm8gbG9uZ2VyIGEgcHJldmFsZW50IHJlc291cmNlIGFm
dGVyIHRoZSBzdG9yZSB3YXMgY2xlYXJlZC4KLVBBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRy
dWUKLQotVEVTVCBDT01QTEVURQotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY2xlYXItaW4tbWVtb3J5LWFuZC1wZXJzaXN0ZW50LXN0
b3JlLW9uZS1ob3VyLWRhdGFiYXNlLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291
cmNlTG9hZFN0YXRpc3RpY3MvY2xlYXItaW4tbWVtb3J5LWFuZC1wZXJzaXN0ZW50LXN0b3JlLW9u
ZS1ob3VyLWRhdGFiYXNlLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGFjMjFj
MDY2NGU0MTMxM2ZmYTNmMzNkNGIwMTIzNzUyMTAyZGU0MGIuLjAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJj
ZUxvYWRTdGF0aXN0aWNzL2NsZWFyLWluLW1lbW9yeS1hbmQtcGVyc2lzdGVudC1zdG9yZS1vbmUt
aG91ci1kYXRhYmFzZS5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsNjMgKzAsMCBAQAotPCFET0NU
WVBFIGh0bWw+Ci08aHRtbCBsYW5nPSJlbiI+Ci08aGVhZD4KLSAgICA8bWV0YSBjaGFyc2V0PSJV
VEYtOCI+Ci0gICAgPHRpdGxlPjwvdGl0bGU+Ci0gICAgPHNjcmlwdCBzcmM9Ii9qcy10ZXN0LXJl
c291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KLSAgICA8c2NyaXB0IHNyYz0icmVzb3VyY2Vz
L3V0aWwuanMiPjwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHk+Ci08c2NyaXB0PgotICAgIGRlc2Ny
aXB0aW9uKCJUZXN0cyBjbGVhcmluZyBvZiB3ZWJzaXRlIGRhdGEgc3RvcmUgKG9uZSBob3VyKS4i
KTsKLSAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKLQotICAgIGNvbnN0IGhvc3RVbmRlclRlc3Qg
PSAiMTI3LjAuMC4xOjgwMDAiOwotICAgIGNvbnN0IHN0YXRpc3RpY3NVcmwgPSAiaHR0cDovLyIg
KyBob3N0VW5kZXJUZXN0ICsgIi90ZW1wIjsKLSAgICBjb25zdCB0b3BGcmFtZU9yaWdpbjEgPSAi
aHR0cDovLzEyNy4wLjAuMjo4MDAwL3RlbXAiOwotICAgIGNvbnN0IHRvcEZyYW1lT3JpZ2luMiA9
ICJodHRwOi8vMTI3LjAuMC4zOjgwMDAvdGVtcCI7Ci0gICAgY29uc3QgdG9wRnJhbWVPcmlnaW4z
ID0gImh0dHA6Ly8xMjcuMC4wLjQ6ODAwMC90ZW1wIjsKLQotICAgIGZ1bmN0aW9uIGNvbXBsZXRl
VGVzdCgpIHsKLSAgICAgICAgaWYgKHRlc3RSdW5uZXIuaXNTdGF0aXN0aWNzUHJldmFsZW50UmVz
b3VyY2Uoc3RhdGlzdGljc1VybCkpCi0gICAgICAgICAgICB0ZXN0RmFpbGVkKCJIb3N0IGlzIHN0
aWxsIGEgcHJldmFsZW50IHJlc291cmNlIGFmdGVyIHRoZSBzdG9yZSB3YXMgY2xlYXJlZC4iKTsK
LSAgICAgICAgZWxzZQotICAgICAgICAgICAgdGVzdFBhc3NlZCgiSG9zdCBpcyBubyBsb25nZXIg
YSBwcmV2YWxlbnQgcmVzb3VyY2UgYWZ0ZXIgdGhlIHN0b3JlIHdhcyBjbGVhcmVkLiIpOwotICAg
ICAgICBzZXRFbmFibGVGZWF0dXJlKGZhbHNlLCBmaW5pc2hKU1Rlc3QpOwotICAgIH0KLQotICAg
IGZ1bmN0aW9uIHRlc3RTdGVwMigpIHsKLSAgICAgICAgaWYgKHRlc3RSdW5uZXIuaXNTdGF0aXN0
aWNzUHJldmFsZW50UmVzb3VyY2Uoc3RhdGlzdGljc1VybCkpCi0gICAgICAgICAgICB0ZXN0UGFz
c2VkKCJIb3N0IGNsYXNzaWZpZWQgYXMgcHJldmFsZW50IHJlc291cmNlLiIpOwotICAgICAgICBl
bHNlCi0gICAgICAgICAgICB0ZXN0RmFpbGVkKCJIb3N0IGRpZCBub3QgZ2V0IGNsYXNzaWZpZWQg
YXMgcHJldmFsZW50IHJlc291cmNlLiIpOwotCi0gICAgICAgIHRlc3RSdW5uZXIuc3RhdGlzdGlj
c0NsZWFySW5NZW1vcnlBbmRQZXJzaXN0ZW50U3RvcmVNb2RpZmllZFNpbmNlSG91cnMoMSwgY29t
cGxldGVUZXN0KTsKLSAgICB9Ci0KLSAgICBmdW5jdGlvbiBydW5UZXN0UnVubmVyVGVzdCgpIHsK
LSAgICAgICAgdGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNzUHJldmFsZW50UmVzb3VyY2Uoc3RhdGlz
dGljc1VybCwgZmFsc2UsIGZ1bmN0aW9uKCkge30pOwotICAgICAgICBpZiAodGVzdFJ1bm5lci5p
c1N0YXRpc3RpY3NQcmV2YWxlbnRSZXNvdXJjZShzdGF0aXN0aWNzVXJsKSkKLSAgICAgICAgICAg
IHRlc3RGYWlsZWQoIkhvc3QgZGlkIG5vdCBnZXQgc2V0IGFzIG5vbi1wcmV2YWxlbnQgcmVzb3Vy
Y2UuIik7Ci0KLSAgICAgICAgdGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNzU3ViZnJhbWVVbmRlclRv
cEZyYW1lT3JpZ2luKHN0YXRpc3RpY3NVcmwsIHRvcEZyYW1lT3JpZ2luMSk7Ci0gICAgICAgIHRl
c3RSdW5uZXIuc2V0U3RhdGlzdGljc1N1YnJlc291cmNlVW5pcXVlUmVkaXJlY3RUbyhzdGF0aXN0
aWNzVXJsLCB0b3BGcmFtZU9yaWdpbjEpOwotICAgICAgICB0ZXN0UnVubmVyLnNldFN0YXRpc3Rp
Y3NTdWJyZXNvdXJjZVVuZGVyVG9wRnJhbWVPcmlnaW4oc3RhdGlzdGljc1VybCwgdG9wRnJhbWVP
cmlnaW4xKTsKLSAgICAgICAgdGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNzU3VicmVzb3VyY2VVbmRl
clRvcEZyYW1lT3JpZ2luKHN0YXRpc3RpY3NVcmwsIHRvcEZyYW1lT3JpZ2luMik7Ci0gICAgICAg
IHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc1N1YmZyYW1lVW5kZXJUb3BGcmFtZU9yaWdpbihzdGF0
aXN0aWNzVXJsLCB0b3BGcmFtZU9yaWdpbjIpOwotICAgICAgICB0ZXN0UnVubmVyLnNldFN0YXRp
c3RpY3NTdWJyZXNvdXJjZVVuaXF1ZVJlZGlyZWN0VG8oc3RhdGlzdGljc1VybCwgdG9wRnJhbWVP
cmlnaW4zKTsKLSAgICAgICAgdGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNzU3VicmVzb3VyY2VVbmRl
clRvcEZyYW1lT3JpZ2luKHN0YXRpc3RpY3NVcmwsIHRvcEZyYW1lT3JpZ2luMyk7Ci0KLSAgICAg
ICAgdGVzdFJ1bm5lci5pbnN0YWxsU3RhdGlzdGljc0RpZFNjYW5EYXRhUmVjb3Jkc0NhbGxiYWNr
KHRlc3RTdGVwMik7Ci0KLSAgICAgICAgdGVzdFJ1bm5lci5zdGF0aXN0aWNzUHJvY2Vzc1N0YXRp
c3RpY3NBbmREYXRhUmVjb3JkcygpOwotICAgIH0KLQotICAgIGlmIChkb2N1bWVudC5sb2NhdGlv
bi5ob3N0ID09PSBob3N0VW5kZXJUZXN0ICYmIHdpbmRvdy50ZXN0UnVubmVyICYmIHdpbmRvdy5p
bnRlcm5hbHMpIHsKLSAgICAgICAgdGVzdFJ1bm5lci5zZXRVc2VJVFBEYXRhYmFzZSh0cnVlKTsK
LSAgICAgICAgc2V0RW5hYmxlRmVhdHVyZSh0cnVlLCBmdW5jdGlvbiAoKSB7Ci0gICAgICAgICAg
ICBydW5UZXN0UnVubmVyVGVzdCgpOwotICAgICAgICB9KTsKLSAgICB9Ci08L3NjcmlwdD4KLTwv
Ym9keT4KLTwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3Vy
Y2VMb2FkU3RhdGlzdGljcy9jb29raWUtZGVsZXRpb24tZGF0YWJhc2UtZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2Nvb2tpZS1kZWxl
dGlvbi1kYXRhYmFzZS1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IGFhNzczZWQ5Y2JmM2UyMzFhYzRkODRkZDY0ZTlmN2FjZDI4YWQwMjUuLjAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9y
ZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2Nvb2tpZS1kZWxldGlvbi1kYXRhYmFzZS1leHBlY3RlZC50
eHQKKysrIC9kZXYvbnVsbApAQCAtMSw1NSArMCwwIEBACi1UZXN0IGZvciBwYXJ0aXRpb25lZCBh
bmQgdW5wYXJ0aXRpb25lZCBjb29raWUgZGVsZXRpb24uCi0KLU9uIHN1Y2Nlc3MsIHlvdSB3aWxs
IHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBM
RVRFIi4KLQotCi1QQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCi0KLVRFU1QgQ09NUExF
VEUKLQotCi0tLS0tLS0tLQotRnJhbWU6ICc8IS0tZnJhbWUxLS0+JwotLS0tLS0tLS0KLVNob3Vs
ZCByZWNlaXZlIGZpcnN0LXBhcnR5IGNvb2tpZS4KLVJlY2VpdmVkIGNvb2tpZSBuYW1lZCAnZmly
c3RQYXJ0eUNvb2tpZScuCi1EaWQgbm90IHJlY2VpdmUgY29va2llIG5hbWVkICd0aGlyZFBhcnR5
Q29va2llJy4KLUNsaWVudC1zaWRlIGRvY3VtZW50LmNvb2tpZTogZmlyc3RQYXJ0eUNvb2tpZT12
YWx1ZQotCi0tLS0tLS0tLQotRnJhbWU6ICc8IS0tZnJhbWUyLS0+JwotLS0tLS0tLS0KLVNob3Vs
ZCByZWNlaXZlIG5vIGNvb2tpZXMuCi1EaWQgbm90IHJlY2VpdmUgY29va2llIG5hbWVkICdmaXJz
dFBhcnR5Q29va2llJy4KLURpZCBub3QgcmVjZWl2ZSBjb29raWUgbmFtZWQgJ3RoaXJkUGFydHlD
b29raWUnLgotQ2xpZW50LXNpZGUgZG9jdW1lbnQuY29va2llOgotCi0tLS0tLS0tLQotRnJhbWU6
ICc8IS0tZnJhbWUzLS0+JwotLS0tLS0tLS0KLVRyeSB0byBzZXQgdGhpcmQgcGFydHkgY29va2ll
LgotCi0KLS0tLS0tLS0tCi1GcmFtZTogJzwhLS1mcmFtZTQtLT4nCi0tLS0tLS0tLQotU2hvdWxk
IHJlY2VpdmUgbm8gY29va2llcy4KLURpZCBub3QgcmVjZWl2ZSBjb29raWUgbmFtZWQgJ2ZpcnN0
UGFydHlDb29raWUnLgotRGlkIG5vdCByZWNlaXZlIGNvb2tpZSBuYW1lZCAndGhpcmRQYXJ0eUNv
b2tpZScuCi1DbGllbnQtc2lkZSBkb2N1bWVudC5jb29raWU6Ci0KLS0tLS0tLS0tCi1GcmFtZTog
JzwhLS1mcmFtZTUtLT4nCi0tLS0tLS0tLQotQWZ0ZXIgcmVtb3ZhbCwgc2hvdWxkIHJlY2VpdmUg
bm8gY29va2llcy4KLURpZCBub3QgcmVjZWl2ZSBjb29raWUgbmFtZWQgJ2ZpcnN0UGFydHlDb29r
aWUnLgotRGlkIG5vdCByZWNlaXZlIGNvb2tpZSBuYW1lZCAndGhpcmRQYXJ0eUNvb2tpZScuCi1D
bGllbnQtc2lkZSBkb2N1bWVudC5jb29raWU6Ci0KLS0tLS0tLS0tCi1GcmFtZTogJzwhLS1mcmFt
ZTYtLT4nCi0tLS0tLS0tLQotQWZ0ZXIgZGVjbGFzc2lmaWVkLCBzaG91bGQgcmVjZWl2ZSBubyBj
b29raWVzLgotRGlkIG5vdCByZWNlaXZlIGNvb2tpZSBuYW1lZCAnZmlyc3RQYXJ0eUNvb2tpZScu
Ci1EaWQgbm90IHJlY2VpdmUgY29va2llIG5hbWVkICd0aGlyZFBhcnR5Q29va2llJy4KLUNsaWVu
dC1zaWRlIGRvY3VtZW50LmNvb2tpZToKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVz
dHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jb29raWUtZGVsZXRpb24tZGF0YWJhc2UuaHRtbCBi
L0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jb29raWUtZGVs
ZXRpb24tZGF0YWJhc2UuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNDE0MTQ4
YTJkODNmYmUwYmYzNmNkNDMxNjhjOTQ1MjM3Y2I1ZGRhZi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNl
TG9hZFN0YXRpc3RpY3MvY29va2llLWRlbGV0aW9uLWRhdGFiYXNlLmh0bWwKKysrIC9kZXYvbnVs
bApAQCAtMSwxMTYgKzAsMCBAQAotPCFET0NUWVBFIGh0bWw+Ci08aHRtbCBsYW5nPSJlbiI+Ci08
aGVhZD4KLSAgICA8bWV0YSBjaGFyc2V0PSJVVEYtOCI+Ci0gICAgPHNjcmlwdCBzcmM9Ii9qcy10
ZXN0LXJlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KLSAgICA8c2NyaXB0IHNyYz0icmVz
b3VyY2VzL3V0aWwuanMiPjwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHk+Ci08c2NyaXB0PgotICAg
IGRlc2NyaXB0aW9uKCJUZXN0IGZvciBwYXJ0aXRpb25lZCBhbmQgdW5wYXJ0aXRpb25lZCBjb29r
aWUgZGVsZXRpb24uIik7Ci0gICAganNUZXN0SXNBc3luYyA9IHRydWU7Ci0KLSAgICBjb25zdCBw
YXJ0aXRpb25Ib3N0ID0gIjEyNy4wLjAuMTo4MDAwIjsKLSAgICBjb25zdCB0aGlyZFBhcnR5T3Jp
Z2luID0gImh0dHA6Ly9sb2NhbGhvc3Q6ODAwMCI7Ci0gICAgY29uc3QgdGhpcmRQYXJ0eUJhc2VV
cmwgPSB0aGlyZFBhcnR5T3JpZ2luICsgIi9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3Jlc291cmNl
cyI7Ci0gICAgY29uc3QgZmlyc3RQYXJ0eUNvb2tpZU5hbWUgPSAiZmlyc3RQYXJ0eUNvb2tpZSI7
Ci0gICAgY29uc3Qgc3ViUGF0aFRvU2V0Rmlyc3RQYXJ0eUNvb2tpZSA9ICIvc2V0LWNvb2tpZS5w
aHA/bmFtZT0iICsgZmlyc3RQYXJ0eUNvb2tpZU5hbWUgKyAiJnZhbHVlPXZhbHVlIjsKLSAgICBj
b25zdCB0aGlyZFBhcnR5Q29va2llTmFtZSA9ICJ0aGlyZFBhcnR5Q29va2llIjsKLSAgICBjb25z
dCBzdWJQYXRoVG9TZXRUaGlyZFBhcnR5Q29va2llID0gIi9zZXQtY29va2llLnBocD9uYW1lPSIg
KyB0aGlyZFBhcnR5Q29va2llTmFtZSArICImdmFsdWU9dmFsdWUiOwotICAgIGNvbnN0IGZyYWdt
ZW50V2l0aFJldHVyblVybCA9ICJodHRwOi8vIiArIHBhcnRpdGlvbkhvc3QgKyAiL3Jlc291cmNl
TG9hZFN0YXRpc3RpY3MvY29va2llLWRlbGV0aW9uLWRhdGFiYXNlLmh0bWwiOwotICAgIGNvbnN0
IHN1YlBhdGhUb0dldENvb2tpZXMgPSAiL2dldC1jb29raWVzLnBocD9uYW1lMT0iICsgZmlyc3RQ
YXJ0eUNvb2tpZU5hbWUgKyAiJm5hbWUyPSIgKyB0aGlyZFBhcnR5Q29va2llTmFtZTsKLQotICAg
IGZ1bmN0aW9uIGZpbmlzaFRlc3QoKSB7Ci0gICAgICAgIHNldEVuYWJsZUZlYXR1cmUoZmFsc2Us
IGZpbmlzaEpTVGVzdCk7Ci0gICAgfQotCi0gICAgZnVuY3Rpb24gb3BlbklmcmFtZSh1cmwsIG9u
TG9hZEhhbmRsZXIpIHsKLSAgICAgICAgY29uc3QgZWxlbWVudCA9IGRvY3VtZW50LmNyZWF0ZUVs
ZW1lbnQoImlmcmFtZSIpOwotICAgICAgICBlbGVtZW50LnNyYyA9IHVybDsKLSAgICAgICAgaWYg
KG9uTG9hZEhhbmRsZXIpIHsKLSAgICAgICAgICAgIGVsZW1lbnQub25sb2FkID0gb25Mb2FkSGFu
ZGxlcjsKLSAgICAgICAgfQotICAgICAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGVsZW1l
bnQpOwotICAgIH0KLQotCi0gICAgZnVuY3Rpb24gZmlyZURhdGFNb2RpZmljYXRpb25IYW5kbGVy
QW5kQ29udGludWUoKSB7Ci0gICAgICAgIHRlc3RSdW5uZXIuaW5zdGFsbFN0YXRpc3RpY3NEaWRT
Y2FuRGF0YVJlY29yZHNDYWxsYmFjayhmdW5jdGlvbigpIHsKLSAgICAgICAgICAgIHNldFRpbWVv
dXQocnVuVGVzdCwgNTAwKTsKLSAgICAgICAgfSk7Ci0gICAgICAgIHRlc3RSdW5uZXIuc3RhdGlz
dGljc1Byb2Nlc3NTdGF0aXN0aWNzQW5kRGF0YVJlY29yZHMoKTsKLSAgICB9Ci0KLSAgICBmdW5j
dGlvbiBzZXRBc05vblByZXZhbGVudEFuZENvbnRpbnVlKCkgewotICAgICAgICB0ZXN0UnVubmVy
LnNldFN0YXRpc3RpY3NQcmV2YWxlbnRSZXNvdXJjZSh0aGlyZFBhcnR5T3JpZ2luLCBmYWxzZSwg
ZnVuY3Rpb24oKSB7Ci0gICAgICAgICAgICBpZiAodGVzdFJ1bm5lci5pc1N0YXRpc3RpY3NQcmV2
YWxlbnRSZXNvdXJjZSh0aGlyZFBhcnR5T3JpZ2luKSkKLSAgICAgICAgICAgICAgICB0ZXN0RmFp
bGVkKCJIb3N0IHN0aWxsIHNldCBhcyBwcmV2YWxlbnQgcmVzb3VyY2UuIik7Ci0gICAgICAgICAg
ICB0ZXN0UnVubmVyLnN0YXRpc3RpY3NVcGRhdGVDb29raWVCbG9ja2luZyhydW5UZXN0KTsKLSAg
ICAgICAgfSk7Ci0gICAgfQotCi0gICAgZnVuY3Rpb24gcnVuVGVzdCgpIHsKLSAgICAgICAgc3dp
dGNoIChkb2N1bWVudC5sb2NhdGlvbi5oYXNoKSB7Ci0gICAgICAgICAgICBjYXNlICIjc3RlcDEi
OgotICAgICAgICAgICAgICAgIC8vIFNldCBmaXJzdC1wYXJ0eSBjb29raWUgZm9yIGxvY2FsaG9z
dC4KLSAgICAgICAgICAgICAgICBkb2N1bWVudC5sb2NhdGlvbi5ocmVmID0gdGhpcmRQYXJ0eUJh
c2VVcmwgKyBzdWJQYXRoVG9TZXRGaXJzdFBhcnR5Q29va2llICsgIiMiICsgZnJhZ21lbnRXaXRo
UmV0dXJuVXJsICsgIiNzdGVwMiI7Ci0gICAgICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgICAg
ICBjYXNlICIjc3RlcDIiOgotICAgICAgICAgICAgICAgIC8vIENoZWNrIHRoYXQgdGhlIHRoaXJk
LXBhcnR5IGhhcyBhY2Nlc3MgdG8gaXRzIGZpcnN0LXBhcnR5IGNvb2tpZXMuCi0gICAgICAgICAg
ICAgICAgZG9jdW1lbnQubG9jYXRpb24uaGFzaCA9ICJzdGVwMyI7Ci0gICAgICAgICAgICAgICAg
b3BlbklmcmFtZSh0aGlyZFBhcnR5QmFzZVVybCArIHN1YlBhdGhUb0dldENvb2tpZXMgKyAiJm1l
c3NhZ2U9U2hvdWxkIHJlY2VpdmUgZmlyc3QtcGFydHkgY29va2llLiIsIHJ1blRlc3QpOwotICAg
ICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICAgICAgY2FzZSAiI3N0ZXAzIjoKLSAgICAgICAg
ICAgICAgICAvLyBDbGFzc2lmeSBsb2NhbGhvc3QgYXMgcHJldmFsZW50LgotICAgICAgICAgICAg
ICAgIGRvY3VtZW50LmxvY2F0aW9uLmhhc2ggPSAic3RlcDQiOwotICAgICAgICAgICAgICAgIHRl
c3RSdW5uZXIuc2V0U3RhdGlzdGljc1ByZXZhbGVudFJlc291cmNlKHRoaXJkUGFydHlPcmlnaW4s
IHRydWUsIGZ1bmN0aW9uKCkgewotICAgICAgICAgICAgICAgICAgICBpZiAoIXRlc3RSdW5uZXIu
aXNTdGF0aXN0aWNzUHJldmFsZW50UmVzb3VyY2UodGhpcmRQYXJ0eU9yaWdpbikpCi0gICAgICAg
ICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKCJIb3N0IGRpZCBub3QgZ2V0IHNldCBhcyBwcmV2
YWxlbnQgcmVzb3VyY2UuIik7Ci0gICAgICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIuc3RhdGlz
dGljc1VwZGF0ZUNvb2tpZUJsb2NraW5nKHJ1blRlc3QpOwotICAgICAgICAgICAgICAgIH0pOwot
ICAgICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICAgICAgY2FzZSAiI3N0ZXA0IjoKLSAgICAg
ICAgICAgICAgICAvLyBDaGVjayB0aGF0IHRoZSB0aGlyZC1wYXJ0eSBubyBsb25nZXIgaGFzIGFj
Y2VzcyB0byBpdHMgZmlyc3QtcGFydHkgY29va2llcy4KLSAgICAgICAgICAgICAgICBkb2N1bWVu
dC5sb2NhdGlvbi5oYXNoID0gInN0ZXA1IjsKLSAgICAgICAgICAgICAgICBvcGVuSWZyYW1lKHRo
aXJkUGFydHlCYXNlVXJsICsgc3ViUGF0aFRvR2V0Q29va2llcyArICImbWVzc2FnZT1TaG91bGQg
cmVjZWl2ZSBubyBjb29raWVzLiIsIHJ1blRlc3QpOwotICAgICAgICAgICAgICAgIGJyZWFrOwot
ICAgICAgICAgICAgY2FzZSAiI3N0ZXA1IjoKLSAgICAgICAgICAgICAgICAvLyBUcnkgc2V0dGlu
ZyBhIGNvb2tpZSBhcyB0aGlyZC1wYXJ0eS4KLSAgICAgICAgICAgICAgICBkb2N1bWVudC5sb2Nh
dGlvbi5oYXNoID0gInN0ZXA2IjsKLSAgICAgICAgICAgICAgICBvcGVuSWZyYW1lKHRoaXJkUGFy
dHlCYXNlVXJsICsgc3ViUGF0aFRvU2V0VGhpcmRQYXJ0eUNvb2tpZSArICImbWVzc2FnZT1Ucnkg
dG8gc2V0IHRoaXJkIHBhcnR5IGNvb2tpZS4iLCBydW5UZXN0KTsKLSAgICAgICAgICAgICAgICBi
cmVhazsKLSAgICAgICAgICAgIGNhc2UgIiNzdGVwNiI6Ci0gICAgICAgICAgICAgICAgLy8gQ2hl
Y2sgdGhhdCB0aGUgdGhpcmQtcGFydHkgc3RpbGwgaGFzIG5vIGFjY2VzcyB0byBjb29raWVzIGFu
ZCB0aGVuIGZpcmUgZGF0YSByZWNvcmQgcmVtb3ZhbC4KLSAgICAgICAgICAgICAgICBkb2N1bWVu
dC5sb2NhdGlvbi5oYXNoID0gInN0ZXA3IjsKLSAgICAgICAgICAgICAgICBvcGVuSWZyYW1lKHRo
aXJkUGFydHlCYXNlVXJsICsgc3ViUGF0aFRvR2V0Q29va2llcyArICImbWVzc2FnZT1TaG91bGQg
cmVjZWl2ZSBubyBjb29raWVzLiIsIGZpcmVEYXRhTW9kaWZpY2F0aW9uSGFuZGxlckFuZENvbnRp
bnVlKTsKLSAgICAgICAgICAgICAgICBicmVhazsKLSAgICAgICAgICAgIGNhc2UgIiNzdGVwNyI6
Ci0gICAgICAgICAgICAgICAgLy8gQ2hlY2sgdGhhdCB0aGUgdGhpcmQtcGFydHkgc3RpbGwgaGFz
IG5vIGFjY2VzcyB0byBjb29raWVzIGFuZCB0aGVuIGRlY2xhc3NpZnkgbG9jYWxob3N0LgotICAg
ICAgICAgICAgICAgIGRvY3VtZW50LmxvY2F0aW9uLmhhc2ggPSAic3RlcDgiOwotICAgICAgICAg
ICAgICAgIG9wZW5JZnJhbWUodGhpcmRQYXJ0eUJhc2VVcmwgKyBzdWJQYXRoVG9HZXRDb29raWVz
ICsgIiZtZXNzYWdlPUFmdGVyIHJlbW92YWwsIHNob3VsZCByZWNlaXZlIG5vIGNvb2tpZXMuIiwg
c2V0QXNOb25QcmV2YWxlbnRBbmRDb250aW51ZSk7Ci0gICAgICAgICAgICAgICAgYnJlYWs7Ci0g
ICAgICAgICAgICBjYXNlICIjc3RlcDgiOgotICAgICAgICAgICAgICAgIC8vIENoZWNrIHRoYXQg
dGhlIHRoaXJkLXBhcnR5IHN0aWxsIGhhcyBubyBhY2Nlc3MgdG8gY29va2llcy4KLSAgICAgICAg
ICAgICAgICBvcGVuSWZyYW1lKHRoaXJkUGFydHlCYXNlVXJsICsgc3ViUGF0aFRvR2V0Q29va2ll
cyArICImbWVzc2FnZT1BZnRlciBkZWNsYXNzaWZpZWQsIHNob3VsZCByZWNlaXZlIG5vIGNvb2tp
ZXMuIiwgZmluaXNoVGVzdCk7Ci0gICAgICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgIH0KLSAg
ICB9Ci0KLSAgICBpZiAoZG9jdW1lbnQubG9jYXRpb24uaG9zdCA9PT0gcGFydGl0aW9uSG9zdCAm
JiBkb2N1bWVudC5sb2NhdGlvbi5oYXNoID09PSAiIiAmJiB3aW5kb3cudGVzdFJ1bm5lciAmJiB3
aW5kb3cuaW50ZXJuYWxzKSB7Ci0gICAgICAgIHRlc3RSdW5uZXIuc2V0VXNlSVRQRGF0YWJhc2Uo
dHJ1ZSk7Ci0gICAgICAgIHNldEVuYWJsZUZlYXR1cmUodHJ1ZSwgZnVuY3Rpb24oKSB7Ci0gICAg
ICAgICAgICB0ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NTaG91bGRDbGFzc2lmeVJlc291cmNlc0Jl
Zm9yZURhdGFSZWNvcmRzUmVtb3ZhbChmYWxzZSk7Ci0gICAgICAgICAgICB0ZXN0UnVubmVyLnNl
dFN0YXRpc3RpY3NNaW5pbXVtVGltZUJldHdlZW5EYXRhUmVjb3Jkc1JlbW92YWwoMCk7Ci0KLSAg
ICAgICAgICAgIHRlc3RSdW5uZXIuZHVtcENoaWxkRnJhbWVzQXNUZXh0KCk7Ci0gICAgICAgICAg
ICBkb2N1bWVudC5sb2NhdGlvbi5oYXNoID0gInN0ZXAxIjsKLQotICAgICAgICAgICAgcnVuVGVz
dCgpOwotICAgICAgICB9KTsKLSAgICB9IGVsc2UgewotICAgICAgICBydW5UZXN0KCk7Ci0gICAg
fQotCi08L3NjcmlwdD4KLTwvYm9keT4KLTwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jb29raWVzLXdpdGgtYW5kLXdpdGhv
dXQtdXNlci1pbnRlcmFjdGlvbi1kYXRhYmFzZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9o
dHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY29va2llcy13aXRoLWFuZC13aXRob3V0
LXVzZXItaW50ZXJhY3Rpb24tZGF0YWJhc2UtZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCBhNDNhMDBkMDFjZmRhZGZlYzgxMGZhMTBkOTRhOTc4MDFjMTVjMjU5Li4w
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3Rz
L2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jb29raWVzLXdpdGgtYW5kLXdpdGhv
dXQtdXNlci1pbnRlcmFjdGlvbi1kYXRhYmFzZS1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApA
QCAtMSwyNSArMCwwIEBACi1QQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCi0KLVRFU1Qg
Q09NUExFVEUKLQotCi0tLS0tLS0tLQotRnJhbWU6ICc8IS0tZnJhbWUxLS0+JwotLS0tLS0tLS0K
LVNob3VsZCByZWNlaXZlIGZpcnN0LXBhcnR5IGNvb2tpZS4KLVJlY2VpdmVkIGNvb2tpZSBuYW1l
ZCAnZmlyc3RQYXJ0eUNvb2tpZScuCi1DbGllbnQtc2lkZSBkb2N1bWVudC5jb29raWU6IGZpcnN0
UGFydHlDb29raWU9dmFsdWUKLQotLS0tLS0tLS0KLUZyYW1lOiAnPCEtLWZyYW1lMi0tPicKLS0t
LS0tLS0tCi1TaG91bGQgcmVjZWl2ZSBubyBjb29raWVzLgotRGlkIG5vdCByZWNlaXZlIGNvb2tp
ZSBuYW1lZCAnZmlyc3RQYXJ0eUNvb2tpZScuCi1DbGllbnQtc2lkZSBkb2N1bWVudC5jb29raWU6
Ci0KLS0tLS0tLS0tCi1GcmFtZTogJzwhLS1mcmFtZTMtLT4nCi0tLS0tLS0tLQotQWZ0ZXIgdXNl
ciBpbnRlcmFjdGlvbiwgc2hvdWxkIHN0aWxsIHJlY2VpdmUgbm8gY29va2llcy4KLURpZCBub3Qg
cmVjZWl2ZSBjb29raWUgbmFtZWQgJ2ZpcnN0UGFydHlDb29raWUnLgotQ2xpZW50LXNpZGUgZG9j
dW1lbnQuY29va2llOgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJj
ZUxvYWRTdGF0aXN0aWNzL2Nvb2tpZXMtd2l0aC1hbmQtd2l0aG91dC11c2VyLWludGVyYWN0aW9u
LWRhdGFiYXNlLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRp
c3RpY3MvY29va2llcy13aXRoLWFuZC13aXRob3V0LXVzZXItaW50ZXJhY3Rpb24tZGF0YWJhc2Uu
aHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNWJhZGZhNGNhYjIyZWQxNWQzYjg3
NGMyYmRjOWJmZGQ0ODk0YTkxYy4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3Mv
Y29va2llcy13aXRoLWFuZC13aXRob3V0LXVzZXItaW50ZXJhY3Rpb24tZGF0YWJhc2UuaHRtbAor
KysgL2Rldi9udWxsCkBAIC0xLDg0ICswLDAgQEAKLTwhRE9DVFlQRSBodG1sPgotPGh0bWwgbGFu
Zz0iZW4iPgotPGhlYWQ+Ci0gICAgPG1ldGEgY2hhcnNldD0iVVRGLTgiPgotICAgIDx0aXRsZT5U
ZXN0IGZvciBQYXJ0aXRpb25lZCBDb29raWVzIFdpdGggYW5kIFdpdGhvdXQgVXNlciBJbnRlcmFj
dGlvbjwvdGl0bGU+Ci0gICAgPHNjcmlwdCBzcmM9Ii9qcy10ZXN0LXJlc291cmNlcy9qcy10ZXN0
LmpzIj48L3NjcmlwdD4KLSAgICA8c2NyaXB0IHNyYz0icmVzb3VyY2VzL3V0aWwuanMiPjwvc2Ny
aXB0PgotPC9oZWFkPgotPGJvZHk+Ci08c2NyaXB0PgotICAgIGNvbnN0IHBhcnRpdGlvbkhvc3Qg
PSAiMTI3LjAuMC4xOjgwMDAiOwotICAgIGNvbnN0IHRoaXJkUGFydHlPcmlnaW4gPSAiaHR0cDov
L2xvY2FsaG9zdDo4MDAwIjsKLSAgICBjb25zdCB0aGlyZFBhcnR5QmFzZVVybCA9IHRoaXJkUGFy
dHlPcmlnaW4gKyAiL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvcmVzb3VyY2VzIjsKLSAgICBjb25z
dCBmaXJzdFBhcnR5Q29va2llTmFtZSA9ICJmaXJzdFBhcnR5Q29va2llIjsKLSAgICBjb25zdCBz
dWJQYXRoVG9TZXRGaXJzdFBhcnR5Q29va2llID0gIi9zZXQtY29va2llLnBocD9uYW1lPSIgKyBm
aXJzdFBhcnR5Q29va2llTmFtZSArICImdmFsdWU9dmFsdWUiOwotICAgIGNvbnN0IGZyYWdtZW50
V2l0aFJldHVyblVybCA9ICJodHRwOi8vMTI3LjAuMC4xOjgwMDAvcmVzb3VyY2VMb2FkU3RhdGlz
dGljcy9jb29raWVzLXdpdGgtYW5kLXdpdGhvdXQtdXNlci1pbnRlcmFjdGlvbi1kYXRhYmFzZS5o
dG1sIjsKLSAgICBjb25zdCBzdWJQYXRoVG9HZXRDb29raWVzID0gIi9nZXQtY29va2llcy5waHA/
bmFtZTE9IiArIGZpcnN0UGFydHlDb29raWVOYW1lOwotCi0gICAgZnVuY3Rpb24gZmluaXNoVGVz
dCgpIHsKLSAgICAgICAgc2V0RW5hYmxlRmVhdHVyZShmYWxzZSwgZnVuY3Rpb24oKSB7Ci0gICAg
ICAgICAgICB0ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsKLSAgICAgICAgfSk7Ci0gICAgfQotCi0g
ICAgZnVuY3Rpb24gb3BlbklmcmFtZSh1cmwsIG9uTG9hZEhhbmRsZXIpIHsKLSAgICAgICAgY29u
c3QgZWxlbWVudCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImlmcmFtZSIpOwotICAgICAgICBl
bGVtZW50LnNyYyA9IHVybDsKLSAgICAgICAgaWYgKG9uTG9hZEhhbmRsZXIpIHsKLSAgICAgICAg
ICAgIGVsZW1lbnQub25sb2FkID0gb25Mb2FkSGFuZGxlcjsKLSAgICAgICAgfQotICAgICAgICBk
b2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGVsZW1lbnQpOwotICAgIH0KLQotICAgIGZ1bmN0aW9u
IHNldFVzZXJJbnRlcmFjdGlvbkFuZENvbnRpbnVlKCkgewotICAgICAgICB0ZXN0UnVubmVyLnNl
dFN0YXRpc3RpY3NIYXNIYWRVc2VySW50ZXJhY3Rpb24odGhpcmRQYXJ0eU9yaWdpbiwgdHJ1ZSwg
ZnVuY3Rpb24oKSB7Ci0gICAgICAgICAgICBpZiAoIXRlc3RSdW5uZXIuaXNTdGF0aXN0aWNzSGFz
SGFkVXNlckludGVyYWN0aW9uKHRoaXJkUGFydHlPcmlnaW4pKQotICAgICAgICAgICAgICAgIHRl
c3RGYWlsZWQoIlRoaXJkIHBhcnR5IGRpZCBub3QgZ2V0IGxvZ2dlZCBmb3IgdXNlciBpbnRlcmFj
dGlvbi4iKTsKLSAgICAgICAgICAgIHJ1blRlc3QoKTsKLSAgICAgICAgfSk7Ci0gICAgfQotCi0g
ICAgZnVuY3Rpb24gcnVuVGVzdCgpIHsKLSAgICAgICAgc3dpdGNoIChkb2N1bWVudC5sb2NhdGlv
bi5oYXNoKSB7Ci0gICAgICAgICAgICBjYXNlICIjc3RlcDEiOgotICAgICAgICAgICAgICAgIGRv
Y3VtZW50LmxvY2F0aW9uLmhyZWYgPSB0aGlyZFBhcnR5QmFzZVVybCArIHN1YlBhdGhUb1NldEZp
cnN0UGFydHlDb29raWUgKyAiIyIgKyBmcmFnbWVudFdpdGhSZXR1cm5VcmwgKyAiI3N0ZXAyIjsK
LSAgICAgICAgICAgICAgICBicmVhazsKLSAgICAgICAgICAgIGNhc2UgIiNzdGVwMiI6Ci0gICAg
ICAgICAgICAgICAgZG9jdW1lbnQubG9jYXRpb24uaGFzaCA9ICJzdGVwMyI7Ci0gICAgICAgICAg
ICAgICAgb3BlbklmcmFtZSh0aGlyZFBhcnR5QmFzZVVybCArIHN1YlBhdGhUb0dldENvb2tpZXMg
KyAiJm1lc3NhZ2U9U2hvdWxkIHJlY2VpdmUgZmlyc3QtcGFydHkgY29va2llLiIsIHJ1blRlc3Qp
OwotICAgICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICAgICAgY2FzZSAiI3N0ZXAzIjoKLSAg
ICAgICAgICAgICAgICBkb2N1bWVudC5sb2NhdGlvbi5oYXNoID0gInN0ZXA0IjsKLSAgICAgICAg
ICAgICAgICB0ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NQcmV2YWxlbnRSZXNvdXJjZSh0aGlyZFBh
cnR5T3JpZ2luLCB0cnVlLCBmdW5jdGlvbigpIHsKLSAgICAgICAgICAgICAgICAgICAgaWYgKCF0
ZXN0UnVubmVyLmlzU3RhdGlzdGljc1ByZXZhbGVudFJlc291cmNlKHRoaXJkUGFydHlPcmlnaW4p
KQotICAgICAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZCgiSG9zdCBkaWQgbm90IGdldCBz
ZXQgYXMgcHJldmFsZW50IHJlc291cmNlLiIpOwotICAgICAgICAgICAgICAgICAgICB0ZXN0UnVu
bmVyLnN0YXRpc3RpY3NVcGRhdGVDb29raWVCbG9ja2luZyhydW5UZXN0KTsKLSAgICAgICAgICAg
ICAgICB9KTsKLSAgICAgICAgICAgICAgICBicmVhazsKLSAgICAgICAgICAgIGNhc2UgIiNzdGVw
NCI6Ci0gICAgICAgICAgICAgICAgZG9jdW1lbnQubG9jYXRpb24uaGFzaCA9ICJzdGVwNSI7Ci0g
ICAgICAgICAgICAgICAgb3BlbklmcmFtZSh0aGlyZFBhcnR5QmFzZVVybCArIHN1YlBhdGhUb0dl
dENvb2tpZXMgKyAiJm1lc3NhZ2U9U2hvdWxkIHJlY2VpdmUgbm8gY29va2llcy4iLCBzZXRVc2Vy
SW50ZXJhY3Rpb25BbmRDb250aW51ZSk7Ci0gICAgICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAg
ICAgICBjYXNlICIjc3RlcDUiOgotICAgICAgICAgICAgICAgIG9wZW5JZnJhbWUodGhpcmRQYXJ0
eUJhc2VVcmwgKyBzdWJQYXRoVG9HZXRDb29raWVzICsgIiZtZXNzYWdlPUFmdGVyIHVzZXIgaW50
ZXJhY3Rpb24sIHNob3VsZCBzdGlsbCByZWNlaXZlIG5vIGNvb2tpZXMuIiwgZmluaXNoVGVzdCk7
Ci0gICAgICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgIH0KLSAgICB9Ci0KLSAgICBpZiAoZG9j
dW1lbnQubG9jYXRpb24uaG9zdCA9PT0gcGFydGl0aW9uSG9zdCAmJiBkb2N1bWVudC5sb2NhdGlv
bi5oYXNoID09ICIiICYmIHdpbmRvdy50ZXN0UnVubmVyICYmIHdpbmRvdy5pbnRlcm5hbHMpIHsK
LSAgICAgICAgdGVzdFJ1bm5lci5zZXRVc2VJVFBEYXRhYmFzZSh0cnVlKTsKLSAgICAgICAgdGVz
dFJ1bm5lci53YWl0VW50aWxEb25lKCk7Ci0gICAgICAgIHNldEVuYWJsZUZlYXR1cmUodHJ1ZSwg
ZnVuY3Rpb24oKSB7Ci0gICAgICAgICAgICB0ZXN0UnVubmVyLmR1bXBDaGlsZEZyYW1lc0FzVGV4
dCgpOwotICAgICAgICAgICAgZG9jdW1lbnQubG9jYXRpb24uaGFzaCA9ICJzdGVwMSI7Ci0gICAg
ICAgICAgICBpZiAodGVzdFJ1bm5lci5pc1N0YXRpc3RpY3NQcmV2YWxlbnRSZXNvdXJjZSh0aGly
ZFBhcnR5T3JpZ2luKSkKLSAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKCJMb2NhbGhvc3Qgd2Fz
IGNsYXNzaWZpZWQgYXMgcHJldmFsZW50IHJlc291cmNlIGJlZm9yZSB0aGUgdGVzdCBzdGFydHMu
Iik7Ci0gICAgICAgICAgICBydW5UZXN0KCk7Ci0gICAgICAgIH0pOwotICAgIH0gZWxzZSB7Ci0g
ICAgICAgIHJ1blRlc3QoKTsKLSAgICB9Ci08L3NjcmlwdD4KLTwvYm9keT4KLTwvaHRtbD4KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9j
b3VudC10aGlyZC1wYXJ0eS1zY3JpcHQtaW1wb3J0LWluLXdvcmtlci1kYXRhYmFzZS1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY291
bnQtdGhpcmQtcGFydHktc2NyaXB0LWltcG9ydC1pbi13b3JrZXItZGF0YWJhc2UtZXhwZWN0ZWQu
dHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAzNjljMWU0ZjA3N2VjODIyNDgxNjhk
Y2I4MGM0Yjc0N2U2ZmM0MDM3Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwCi0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9j
b3VudC10aGlyZC1wYXJ0eS1zY3JpcHQtaW1wb3J0LWluLXdvcmtlci1kYXRhYmFzZS1leHBlY3Rl
ZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSwyNiArMCwwIEBACi1QQVNTIHN1Y2Nlc3NmdWxseVBh
cnNlZCBpcyB0cnVlCi0KLVRFU1QgQ09NUExFVEUKLQotUmVzb3VyY2UgbG9hZCBzdGF0aXN0aWNz
OgotCi1SZWdpc3RyYWJsZSBkb21haW46IDEyNy4wLjAuMQotICAgIGhhZFVzZXJJbnRlcmFjdGlv
bjogTm8KLSAgICBtb3N0UmVjZW50VXNlckludGVyYWN0aW9uOiAtMQotICAgIGdyYW5kZmF0aGVy
ZWQ6IE5vCi0gICAgVG9wRnJhbWVMb2FkZWRUaGlyZFBhcnR5U2NyaXB0czoKLSAgICAgICAgbG9j
YWxob3N0Ci0gICAgSXNTY2hlZHVsZWRGb3JBbGxCdXRDb29raWVEYXRhUmVtb3ZhbDogTm8KLSAg
ICBpc1ByZXZhbGVudFJlc291cmNlOiBObwotICAgIGlzVmVyeVByZXZhbGVudFJlc291cmNlOiBO
bwotICAgIGRhdGFSZWNvcmRzUmVtb3ZlZDogMAotUmVnaXN0cmFibGUgZG9tYWluOiBsb2NhbGhv
c3QKLSAgICBoYWRVc2VySW50ZXJhY3Rpb246IE5vCi0gICAgbW9zdFJlY2VudFVzZXJJbnRlcmFj
dGlvbjogLTEKLSAgICBncmFuZGZhdGhlcmVkOiBObwotICAgIElzU2NoZWR1bGVkRm9yQWxsQnV0
Q29va2llRGF0YVJlbW92YWw6IE5vCi0gICAgU3VicmVzb3VyY2VVbmRlclRvcEZyYW1lRG9tYWlu
czoKLSAgICAgICAgMTI3LjAuMC4xCi0gICAgaXNQcmV2YWxlbnRSZXNvdXJjZTogTm8KLSAgICBp
c1ZlcnlQcmV2YWxlbnRSZXNvdXJjZTogTm8KLSAgICBkYXRhUmVjb3Jkc1JlbW92ZWQ6IDAKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9j
b3VudC10aGlyZC1wYXJ0eS1zY3JpcHQtaW1wb3J0LWluLXdvcmtlci1kYXRhYmFzZS5odG1sIGIv
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NvdW50LXRoaXJk
LXBhcnR5LXNjcmlwdC1pbXBvcnQtaW4td29ya2VyLWRhdGFiYXNlLmh0bWwKZGVsZXRlZCBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDA5MGE5MmVhZjhjNzQ4OTg3MzAyYjRmNTJlN2UzZWY5Y2YwMWYz
YTEuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NvdW50LXRoaXJkLXBhcnR5
LXNjcmlwdC1pbXBvcnQtaW4td29ya2VyLWRhdGFiYXNlLmh0bWwKKysrIC9kZXYvbnVsbApAQCAt
MSw0NyArMCwwIEBACi08IURPQ1RZUEUgaHRtbD4KLTxodG1sIGxhbmc9ImVuIj4KLTxoZWFkPgot
ICAgIDxtZXRhIGNoYXJzZXQ9IlVURi04Ij4KLSAgICA8dGl0bGU+VGVzdCBjb3VudGluZyBvZiB0
aGlyZC1wYXJ0eSBzY3JpcHQgaW1wb3J0cyBpbiB3b3JrZXJzPC90aXRsZT4KLSAgICA8c2NyaXB0
IHNyYz0iL2pzLXRlc3QtcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgotICAgIDxzY3Jp
cHQgc3JjPSJyZXNvdXJjZXMvdXRpbC5qcyI+PC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keSBvbmxv
YWQ9InJ1blRlc3QoKSI+Ci08c2NyaXB0PgotICAgIGZ1bmN0aW9uIGZpbmlzaFRlc3QoKSB7Ci0g
ICAgICAgIHRlc3RSdW5uZXIuZHVtcFJlc291cmNlTG9hZFN0YXRpc3RpY3MoKTsKLSAgICAgICAg
c2V0RW5hYmxlRmVhdHVyZShmYWxzZSwgZnVuY3Rpb24oKSB7Ci0gICAgICAgICAgICB0ZXN0UnVu
bmVyLm5vdGlmeURvbmUoKTsKLSAgICAgICAgfSk7Ci0gICAgfQotCi0gICAgZnVuY3Rpb24gcmVj
ZWl2ZU1lc3NhZ2UoZXZlbnQpIHsKLSAgICAgICAgaWYgKGV2ZW50LmRhdGEuaW5kZXhPZigiUEFT
UyIpID09PSAtMSkKLSAgICAgICAgICAgIHRlc3RGYWlsZWQoZXZlbnQuZGF0YS5yZXBsYWNlKCJG
QUlMICIsICIiKSk7Ci0KLSAgICAgICAgdGVzdFJ1bm5lci5zdGF0aXN0aWNzTm90aWZ5T2JzZXJ2
ZXIoKTsKLSAgICB9Ci0KLSAgICBmdW5jdGlvbiBydW5UZXN0KCkgewotICAgICAgICBzd2l0Y2gg
KGRvY3VtZW50LmxvY2F0aW9uLmhhc2gpIHsKLSAgICAgICAgICAgIGNhc2UgIiI6Ci0gICAgICAg
ICAgICAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyICYmIHdpbmRvdy5pbnRlcm5hbHMpIHsKLSAg
ICAgICAgICAgICAgICAgICAgdGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7Ci0gICAgICAgICAg
ICAgICAgICAgIHNldEVuYWJsZUZlYXR1cmUodHJ1ZSwgZnVuY3Rpb24oKSB7Ci0gICAgICAgICAg
ICAgICAgICAgICAgICB0ZXN0UnVubmVyLnNldFVzZUlUUERhdGFiYXNlKHRydWUpOwotICAgICAg
ICAgICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5pbnN0YWxsU3RhdGlzdGljc0RpZFNjYW5EYXRh
UmVjb3Jkc0NhbGxiYWNrKGZpbmlzaFRlc3QpOwotICAgICAgICAgICAgICAgICAgICAgICAgZG9j
dW1lbnQubG9jYXRpb24uaGFzaCA9ICJMb2FkV29ya2VyIjsKLSAgICAgICAgICAgICAgICAgICAg
ICAgIHJ1blRlc3QoKTsKLSAgICAgICAgICAgICAgICAgICAgfSk7Ci0gICAgICAgICAgICAgICAg
fQotICAgICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICAgICAgY2FzZSAiI0xvYWRXb3JrZXIi
OgotICAgICAgICAgICAgICAgIGxldCB3MSA9IG5ldyBXb3JrZXIoInJlc291cmNlcy93b3JrZXIt
aW1wb3J0aW5nLWxvY2FsaG9zdC1zY3JpcHQuanMiKTsKLSAgICAgICAgICAgICAgICB3MS5vbm1l
c3NhZ2UgPSByZWNlaXZlTWVzc2FnZTsKLSAgICAgICAgICAgICAgICB3MS5wb3N0TWVzc2FnZSgi
c2hvdWxkTm90UmVjZWl2ZUNvb2tpZXMiKTsKLSAgICAgICAgICAgICAgICBicmVhazsKLSAgICAg
ICAgfQotICAgIH0KLTwvc2NyaXB0PgotPC9ib2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NvdW50LXRoaXJkLXBh
cnR5LXNjcmlwdC1pbXBvcnQtaW4td29ya2VyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0
dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jb3VudC10aGlyZC1wYXJ0eS1zY3JpcHQt
aW1wb3J0LWluLXdvcmtlci1leHBlY3RlZC50eHQKaW5kZXggYzc2YjhkNzgxNDRlMTNkMmRjMmM5
Y2IxMWQyN2U2MzQ3NjcyM2JjZC4uMzY5YzFlNGYwNzdlYzgyMjQ4MTY4ZGNiODBjNGI3NDdlNmZj
NDAzNyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0
aXN0aWNzL2NvdW50LXRoaXJkLXBhcnR5LXNjcmlwdC1pbXBvcnQtaW4td29ya2VyLWV4cGVjdGVk
LnR4dAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3Mv
Y291bnQtdGhpcmQtcGFydHktc2NyaXB0LWltcG9ydC1pbi13b3JrZXItZXhwZWN0ZWQudHh0CkBA
IC04LDIzICs4LDE5IEBAIFJlZ2lzdHJhYmxlIGRvbWFpbjogMTI3LjAuMC4xCiAgICAgaGFkVXNl
ckludGVyYWN0aW9uOiBObwogICAgIG1vc3RSZWNlbnRVc2VySW50ZXJhY3Rpb246IC0xCiAgICAg
Z3JhbmRmYXRoZXJlZDogTm8KLSAgICBnb3RMaW5rRGVjb3JhdGlvbkZyb21QcmV2YWxlbnRSZXNv
dXJjZTogTm8KLSAgICB0b3BGcmFtZUxvYWRlZFRoaXJkUGFydHlTY3JpcHRzOgorICAgIFRvcEZy
YW1lTG9hZGVkVGhpcmRQYXJ0eVNjcmlwdHM6CiAgICAgICAgIGxvY2FsaG9zdAorICAgIElzU2No
ZWR1bGVkRm9yQWxsQnV0Q29va2llRGF0YVJlbW92YWw6IE5vCiAgICAgaXNQcmV2YWxlbnRSZXNv
dXJjZTogTm8KICAgICBpc1ZlcnlQcmV2YWxlbnRSZXNvdXJjZTogTm8KICAgICBkYXRhUmVjb3Jk
c1JlbW92ZWQ6IDAKLSAgICBjYW52YXNSZWFkRGF0YTogTm8KLQogUmVnaXN0cmFibGUgZG9tYWlu
OiBsb2NhbGhvc3QKICAgICBoYWRVc2VySW50ZXJhY3Rpb246IE5vCiAgICAgbW9zdFJlY2VudFVz
ZXJJbnRlcmFjdGlvbjogLTEKICAgICBncmFuZGZhdGhlcmVkOiBObwotICAgIGdvdExpbmtEZWNv
cmF0aW9uRnJvbVByZXZhbGVudFJlc291cmNlOiBObwotICAgIHN1YnJlc291cmNlVW5kZXJUb3BG
cmFtZURvbWFpbnM6CisgICAgSXNTY2hlZHVsZWRGb3JBbGxCdXRDb29raWVEYXRhUmVtb3ZhbDog
Tm8KKyAgICBTdWJyZXNvdXJjZVVuZGVyVG9wRnJhbWVEb21haW5zOgogICAgICAgICAxMjcuMC4w
LjEKICAgICBpc1ByZXZhbGVudFJlc291cmNlOiBObwogICAgIGlzVmVyeVByZXZhbGVudFJlc291
cmNlOiBObwogICAgIGRhdGFSZWNvcmRzUmVtb3ZlZDogMAotICAgIGNhbnZhc1JlYWREYXRhOiBO
bwotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRp
c3RpY3MvY291bnQtdGhpcmQtcGFydHktc2NyaXB0LWxvYWRzLWRhdGFiYXNlLWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jb3VudC10
aGlyZC1wYXJ0eS1zY3JpcHQtbG9hZHMtZGF0YWJhc2UtZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAzNjljMWU0ZjA3N2VjODIyNDgxNjhkY2I4MGM0Yjc0N2U2ZmM0
MDM3Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91
dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jb3VudC10aGlyZC1wYXJ0
eS1zY3JpcHQtbG9hZHMtZGF0YWJhc2UtZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEs
MjYgKzAsMCBAQAotUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQotCi1URVNUIENPTVBM
RVRFCi0KLVJlc291cmNlIGxvYWQgc3RhdGlzdGljczoKLQotUmVnaXN0cmFibGUgZG9tYWluOiAx
MjcuMC4wLjEKLSAgICBoYWRVc2VySW50ZXJhY3Rpb246IE5vCi0gICAgbW9zdFJlY2VudFVzZXJJ
bnRlcmFjdGlvbjogLTEKLSAgICBncmFuZGZhdGhlcmVkOiBObwotICAgIFRvcEZyYW1lTG9hZGVk
VGhpcmRQYXJ0eVNjcmlwdHM6Ci0gICAgICAgIGxvY2FsaG9zdAotICAgIElzU2NoZWR1bGVkRm9y
QWxsQnV0Q29va2llRGF0YVJlbW92YWw6IE5vCi0gICAgaXNQcmV2YWxlbnRSZXNvdXJjZTogTm8K
LSAgICBpc1ZlcnlQcmV2YWxlbnRSZXNvdXJjZTogTm8KLSAgICBkYXRhUmVjb3Jkc1JlbW92ZWQ6
IDAKLVJlZ2lzdHJhYmxlIGRvbWFpbjogbG9jYWxob3N0Ci0gICAgaGFkVXNlckludGVyYWN0aW9u
OiBObwotICAgIG1vc3RSZWNlbnRVc2VySW50ZXJhY3Rpb246IC0xCi0gICAgZ3JhbmRmYXRoZXJl
ZDogTm8KLSAgICBJc1NjaGVkdWxlZEZvckFsbEJ1dENvb2tpZURhdGFSZW1vdmFsOiBObwotICAg
IFN1YnJlc291cmNlVW5kZXJUb3BGcmFtZURvbWFpbnM6Ci0gICAgICAgIDEyNy4wLjAuMQotICAg
IGlzUHJldmFsZW50UmVzb3VyY2U6IE5vCi0gICAgaXNWZXJ5UHJldmFsZW50UmVzb3VyY2U6IE5v
Ci0gICAgZGF0YVJlY29yZHNSZW1vdmVkOiAwCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY291bnQtdGhpcmQtcGFydHktc2NyaXB0LWxv
YWRzLWRhdGFiYXNlLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0
YXRpc3RpY3MvY291bnQtdGhpcmQtcGFydHktc2NyaXB0LWxvYWRzLWRhdGFiYXNlLmh0bWwKZGVs
ZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGY2NmQ3ZjFkMTBmZmRhMGZkOWZhNDlmOTliMDZk
YmRhNGRlZmIyNzIuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0t
IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NvdW50LXRo
aXJkLXBhcnR5LXNjcmlwdC1sb2Fkcy1kYXRhYmFzZS5odG1sCisrKyAvZGV2L251bGwKQEAgLTEs
NDggKzAsMCBAQAotPCFET0NUWVBFIGh0bWw+Ci08aHRtbCBsYW5nPSJlbiI+Ci08aGVhZD4KLSAg
ICA8bWV0YSBjaGFyc2V0PSJVVEYtOCI+Ci0gICAgPHRpdGxlPlRlc3QgY291bnRpbmcgb2YgdGhp
cmQtcGFydHkgc2NyaXB0IGxvYWRzPC90aXRsZT4KLSAgICA8c2NyaXB0IHNyYz0iL2pzLXRlc3Qt
cmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgotICAgIDxzY3JpcHQgc3JjPSJyZXNvdXJj
ZXMvdXRpbC5qcyI+PC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keSBvbmxvYWQ9InJ1blRlc3QoKSI+
Ci08c2NyaXB0PgotICAgIGNvbnN0IHRoaXJkUGFydHlPcmlnaW4gPSAiaHR0cDovL2xvY2FsaG9z
dDo4MDAwIjsKLSAgICBjb25zdCB0aGlyZFBhcnR5QmFzZVVybCA9IHRoaXJkUGFydHlPcmlnaW4g
KyAiL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvcmVzb3VyY2VzIjsKLQotICAgIGZ1bmN0aW9uIGZp
bmlzaFRlc3QoKSB7Ci0gICAgICAgIHRlc3RSdW5uZXIuZHVtcFJlc291cmNlTG9hZFN0YXRpc3Rp
Y3MoKTsKLSAgICAgICAgc2V0RW5hYmxlRmVhdHVyZShmYWxzZSwgZnVuY3Rpb24oKSB7Ci0gICAg
ICAgICAgICB0ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsKLSAgICAgICAgfSk7Ci0gICAgfQotCi0g
ICAgZnVuY3Rpb24gcnVuVGVzdCgpIHsKLSAgICAgICAgc3dpdGNoIChkb2N1bWVudC5sb2NhdGlv
bi5oYXNoKSB7Ci0gICAgICAgICAgICBjYXNlICIiOgotICAgICAgICAgICAgICAgIGlmICh3aW5k
b3cudGVzdFJ1bm5lciAmJiB3aW5kb3cuaW50ZXJuYWxzKSB7Ci0gICAgICAgICAgICAgICAgICAg
IHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOwotICAgICAgICAgICAgICAgICAgICBzZXRFbmFi
bGVGZWF0dXJlKHRydWUsIGZ1bmN0aW9uKCkgewotICAgICAgICAgICAgICAgICAgICAgICAgdGVz
dFJ1bm5lci5zZXRVc2VJVFBEYXRhYmFzZSh0cnVlKTsKLSAgICAgICAgICAgICAgICAgICAgICAg
IHRlc3RSdW5uZXIuaW5zdGFsbFN0YXRpc3RpY3NEaWRTY2FuRGF0YVJlY29yZHNDYWxsYmFjayhm
aW5pc2hUZXN0KTsKLSAgICAgICAgICAgICAgICAgICAgICAgIGRvY3VtZW50LmxvY2F0aW9uLmhh
c2ggPSAic3RlcDEiOwotICAgICAgICAgICAgICAgICAgICAgICAgcnVuVGVzdCgpOwotICAgICAg
ICAgICAgICAgICAgICB9KTsKLSAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgYnJl
YWs7Ci0gICAgICAgICAgICBjYXNlICIjc3RlcDEiOgotICAgICAgICAgICAgICAgIGRvY3VtZW50
LmxvY2F0aW9uLmhhc2ggPSAic3RlcDIiOwotICAgICAgICAgICAgICAgIGxldCBzY3JpcHRFbGVt
ZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgic2NyaXB0Iik7Ci0gICAgICAgICAgICAgICAg
c2NyaXB0RWxlbWVudC5vbmxvYWQgPSBydW5UZXN0OwotICAgICAgICAgICAgICAgIHNjcmlwdEVs
ZW1lbnQuc3JjID0gdGhpcmRQYXJ0eUJhc2VVcmwgKyAiL2R1bW15LmpzP2R1bW15UGFyYW09IiAr
IE1hdGgucmFuZG9tKCk7Ci0gICAgICAgICAgICAgICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGls
ZChzY3JpcHRFbGVtZW50KTsKLSAgICAgICAgICAgICAgICBicmVhazsKLSAgICAgICAgICAgIGNh
c2UgIiNzdGVwMiI6Ci0gICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5zdGF0aXN0aWNzTm90aWZ5
T2JzZXJ2ZXIoKTsKLSAgICAgICAgICAgICAgICBicmVhazsKLSAgICAgICAgfQotICAgIH0KLTwv
c2NyaXB0PgotPC9ib2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90
ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NvdW50LXRoaXJkLXBhcnR5LXNjcmlwdC1sb2Fk
cy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRp
c3RpY3MvY291bnQtdGhpcmQtcGFydHktc2NyaXB0LWxvYWRzLWV4cGVjdGVkLnR4dAppbmRleCBj
NzZiOGQ3ODE0NGUxM2QyZGMyYzljYjExZDI3ZTYzNDc2NzIzYmNkLi4zNjljMWU0ZjA3N2VjODIy
NDgxNjhkY2I4MGM0Yjc0N2U2ZmM0MDM3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rl
c3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY291bnQtdGhpcmQtcGFydHktc2NyaXB0LWxvYWRz
LWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0
YXRpc3RpY3MvY291bnQtdGhpcmQtcGFydHktc2NyaXB0LWxvYWRzLWV4cGVjdGVkLnR4dApAQCAt
OCwyMyArOCwxOSBAQCBSZWdpc3RyYWJsZSBkb21haW46IDEyNy4wLjAuMQogICAgIGhhZFVzZXJJ
bnRlcmFjdGlvbjogTm8KICAgICBtb3N0UmVjZW50VXNlckludGVyYWN0aW9uOiAtMQogICAgIGdy
YW5kZmF0aGVyZWQ6IE5vCi0gICAgZ290TGlua0RlY29yYXRpb25Gcm9tUHJldmFsZW50UmVzb3Vy
Y2U6IE5vCi0gICAgdG9wRnJhbWVMb2FkZWRUaGlyZFBhcnR5U2NyaXB0czoKKyAgICBUb3BGcmFt
ZUxvYWRlZFRoaXJkUGFydHlTY3JpcHRzOgogICAgICAgICBsb2NhbGhvc3QKKyAgICBJc1NjaGVk
dWxlZEZvckFsbEJ1dENvb2tpZURhdGFSZW1vdmFsOiBObwogICAgIGlzUHJldmFsZW50UmVzb3Vy
Y2U6IE5vCiAgICAgaXNWZXJ5UHJldmFsZW50UmVzb3VyY2U6IE5vCiAgICAgZGF0YVJlY29yZHNS
ZW1vdmVkOiAwCi0gICAgY2FudmFzUmVhZERhdGE6IE5vCi0KIFJlZ2lzdHJhYmxlIGRvbWFpbjog
bG9jYWxob3N0CiAgICAgaGFkVXNlckludGVyYWN0aW9uOiBObwogICAgIG1vc3RSZWNlbnRVc2Vy
SW50ZXJhY3Rpb246IC0xCiAgICAgZ3JhbmRmYXRoZXJlZDogTm8KLSAgICBnb3RMaW5rRGVjb3Jh
dGlvbkZyb21QcmV2YWxlbnRSZXNvdXJjZTogTm8KLSAgICBzdWJyZXNvdXJjZVVuZGVyVG9wRnJh
bWVEb21haW5zOgorICAgIElzU2NoZWR1bGVkRm9yQWxsQnV0Q29va2llRGF0YVJlbW92YWw6IE5v
CisgICAgU3VicmVzb3VyY2VVbmRlclRvcEZyYW1lRG9tYWluczoKICAgICAgICAgMTI3LjAuMC4x
CiAgICAgaXNQcmV2YWxlbnRSZXNvdXJjZTogTm8KICAgICBpc1ZlcnlQcmV2YWxlbnRSZXNvdXJj
ZTogTm8KICAgICBkYXRhUmVjb3Jkc1JlbW92ZWQ6IDAKLSAgICBjYW52YXNSZWFkRGF0YTogTm8K
LQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0
aWNzL2RlbGV0ZS1zY3JpcHQtYWNjZXNzaWJsZS1jb29raWVzLWRhdGFiYXNlLWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9kZWxldGUt
c2NyaXB0LWFjY2Vzc2libGUtY29va2llcy1kYXRhYmFzZS1leHBlY3RlZC50eHQKZGVsZXRlZCBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDYzNDA3ZGNmM2VkZWViNjBlYzk2NDkyODUwMTQ1MWEwNTE5
Mjg0NzguLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2RlbGV0ZS1zY3JpcHQt
YWNjZXNzaWJsZS1jb29raWVzLWRhdGFiYXNlLWV4cGVjdGVkLnR4dAorKysgL2Rldi9udWxsCkBA
IC0xLDE0ICswLDAgQEAKLUNoZWNrIHRoYXQgb25seSBIdHRwT25seSBjb29raWVzIHJlbWFpbiBp
ZiBhbGwgc2NyaXB0LWFjY2Vzc2libGUgY29va2llcyBhcmUgZGVsZXRlZC4KLQotT24gc3VjY2Vz
cywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkg
IlRFU1QgQ09NUExFVEUiLgotCi0KLVBBU1MgQmVmb3JlIHNjcmlwdC1hY2Nlc3NpYmxlIGRlbGV0
aW9uOiBDbGllbnQtc2lkZSBjb29raWUgZXhpc3RzLgotUEFTUyBCZWZvcmUgc2NyaXB0LWFjY2Vz
c2libGUgZGVsZXRpb246IEh0dHBPbmx5IGNvb2tpZSBleGlzdHMuCi1QQVNTIEJlZm9yZSBzY3Jp
cHQtYWNjZXNzaWJsZSBkZWxldGlvbjogUmVndWxhciBzZXJ2ZXItc2lkZSBjb29raWUgZXhpc3Rz
LgotUEFTUyBBZnRlciBzY3JpcHQtYWNjZXNzaWJsZSBkZWxldGlvbjogIEh0dHBPbmx5IGNvb2tp
ZSBleGlzdHMuCi1QQVNTIEFmdGVyIGZ1bGwgZGVsZXRpb246ICAgICAgICAgICAgICAgQWxsIGNv
b2tpZXMgYXJlIGdvbmUuCi1QQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCi0KLVRFU1Qg
Q09NUExFVEUKLQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxv
YWRTdGF0aXN0aWNzL2RlbGV0ZS1zY3JpcHQtYWNjZXNzaWJsZS1jb29raWVzLWRhdGFiYXNlLmh0
bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvZGVsZXRl
LXNjcmlwdC1hY2Nlc3NpYmxlLWNvb2tpZXMtZGF0YWJhc2UuaHRtbApkZWxldGVkIGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggNjBmYzUzNzdkN2RlZTYwNDI5OTBiZTBjMmRiZmI3NDVhZTA1Y2Q1OS4u
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvZGVsZXRlLXNjcmlwdC1hY2Nlc3Np
YmxlLWNvb2tpZXMtZGF0YWJhc2UuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDczICswLDAgQEAK
LTwhRE9DVFlQRSBodG1sPgotPGh0bWw+Ci08aGVhZD4KLSAgICA8c2NyaXB0IHNyYz0iL2pzLXRl
c3QtcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHkgb25sb2Fk
PSJydW5UZXN0KCkiPgotPHNjcmlwdD4KLSAgICBkZXNjcmlwdGlvbigiQ2hlY2sgdGhhdCBvbmx5
IEh0dHBPbmx5IGNvb2tpZXMgcmVtYWluIGlmIGFsbCBzY3JpcHQtYWNjZXNzaWJsZSBjb29raWVz
IGFyZSBkZWxldGVkLiIpOwotICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOwotCi0gICAgY29uc3Qg
aHR0cE9ubHlDb29raWVOYW1lID0gImh0dHAtb25seS1jb29raWUiOwotICAgIGNvbnN0IHNlcnZl
clNpZGVDb29raWVOYW1lID0gInNlcnZlci1zaWRlLWNvb2tpZSI7Ci0gICAgY29uc3QgY2xpZW50
U2lkZUNvb2tpZU5hbWUgPSAiY2xpZW50LXNpZGUtY29va2llIjsKLQotICAgIGZ1bmN0aW9uIHNv
cnRTdHJpbmdBcnJheShhLCBiKSB7Ci0gICAgICAgIGEgPSBhLnRvTG93ZXJDYXNlKCk7Ci0gICAg
ICAgIGIgPSBiLnRvTG93ZXJDYXNlKCk7Ci0KLSAgICAgICAgcmV0dXJuIGEgPiBiID8gMSA6IGIg
PiBhID8gLTEgOiAwOwotICAgIH0KLQotICAgIGZ1bmN0aW9uIGNoZWNrQ29va2llcyhpc0FmdGVy
U2NyaXB0QWNjZXNzaWJsZURlbGV0aW9uKSB7Ci0gICAgICAgIGxldCB1bnNvcnRlZFRlc3RQYXNz
ZWRNZXNzYWdlcyA9IFtdOwotICAgICAgICBsZXQgY29va2llcyA9IGludGVybmFscy5nZXRDb29r
aWVzKCk7Ci0gICAgICAgIGlmICghY29va2llcy5sZW5ndGgpCi0gICAgICAgICAgICB0ZXN0RmFp
bGVkKChpc0FmdGVyU2NyaXB0QWNjZXNzaWJsZURlbGV0aW9uID8gIkFmdGVyIiA6ICJCZWZvcmUi
KSArICIgc2NyaXB0LWFjY2Vzc2libGUgZGVsZXRpb246IE5vIGNvb2tpZXMgZm91bmQuIik7Ci0g
ICAgICAgIGZvciAobGV0IGNvb2tpZSBvZiBjb29raWVzKSB7Ci0gICAgICAgICAgICBzd2l0Y2gg
KGNvb2tpZS5uYW1lKSB7Ci0gICAgICAgICAgICAgICAgY2FzZSBodHRwT25seUNvb2tpZU5hbWU6
Ci0gICAgICAgICAgICAgICAgICAgIHVuc29ydGVkVGVzdFBhc3NlZE1lc3NhZ2VzLnB1c2goKGlz
QWZ0ZXJTY3JpcHRBY2Nlc3NpYmxlRGVsZXRpb24gPyAiQWZ0ZXIiIDogIkJlZm9yZSIpICsgIiBz
Y3JpcHQtYWNjZXNzaWJsZSBkZWxldGlvbjogIiArIChpc0FmdGVyU2NyaXB0QWNjZXNzaWJsZURl
bGV0aW9uID8gIiAiIDogIiIpICsgIkh0dHBPbmx5IGNvb2tpZSBleGlzdHMuIik7Ci0gICAgICAg
ICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICAgICAgICAgIGNhc2Ugc2VydmVyU2lkZUNvb2tp
ZU5hbWU6Ci0gICAgICAgICAgICAgICAgICAgIGlmIChpc0FmdGVyU2NyaXB0QWNjZXNzaWJsZURl
bGV0aW9uKQotICAgICAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZCgiQWZ0ZXIgc2NyaXB0
LWFjY2Vzc2libGUgZGVsZXRpb246ICBSZWd1bGFyIHNlcnZlci1zaWRlIGNvb2tpZSBleGlzdHMu
Iik7Ci0gICAgICAgICAgICAgICAgICAgIGVsc2UKLSAgICAgICAgICAgICAgICAgICAgICAgIHVu
c29ydGVkVGVzdFBhc3NlZE1lc3NhZ2VzLnB1c2goIkJlZm9yZSBzY3JpcHQtYWNjZXNzaWJsZSBk
ZWxldGlvbjogUmVndWxhciBzZXJ2ZXItc2lkZSBjb29raWUgZXhpc3RzLiIpOwotICAgICAgICAg
ICAgICAgICAgICBicmVhazsKLSAgICAgICAgICAgICAgICBjYXNlIGNsaWVudFNpZGVDb29raWVO
YW1lOgotICAgICAgICAgICAgICAgICAgICBpZiAoaXNBZnRlclNjcmlwdEFjY2Vzc2libGVEZWxl
dGlvbikKLSAgICAgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoIkFmdGVyIHNjcmlwdC1h
Y2Nlc3NpYmxlIGRlbGV0aW9uOiAgQ2xpZW50LXNpZGUgY29va2llIGV4aXN0cy4iKTsKLSAgICAg
ICAgICAgICAgICAgICAgZWxzZQotICAgICAgICAgICAgICAgICAgICAgICAgdW5zb3J0ZWRUZXN0
UGFzc2VkTWVzc2FnZXMucHVzaCgiQmVmb3JlIHNjcmlwdC1hY2Nlc3NpYmxlIGRlbGV0aW9uOiBD
bGllbnQtc2lkZSBjb29raWUgZXhpc3RzLiIpOwotICAgICAgICAgICAgICAgICAgICBicmVhazsK
LSAgICAgICAgICAgIH0KLSAgICAgICAgfQotICAgICAgICBsZXQgc29ydGVkVGVzdFBhc3NlZE1l
c3NhZ2VzID0gdW5zb3J0ZWRUZXN0UGFzc2VkTWVzc2FnZXMuc29ydChzb3J0U3RyaW5nQXJyYXkp
OwotICAgICAgICBmb3IgKGxldCB0ZXN0UGFzc2VkTWVzc2FnZSBvZiBzb3J0ZWRUZXN0UGFzc2Vk
TWVzc2FnZXMpCi0gICAgICAgICAgICB0ZXN0UGFzc2VkKHRlc3RQYXNzZWRNZXNzYWdlKTsKLSAg
ICB9Ci0KLSAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgewotICAgICAgICBpZiAoIXRlc3RS
dW5uZXIgfHwgIWludGVybmFscykgewotICAgICAgICAgICAgdGVzdEZhaWxlZCgiTm8gdGVzdFJ1
bm5lciBvciBubyBpbnRlcm5hbHMuIik7Ci0gICAgICAgICAgICByZXR1cm47Ci0gICAgICAgIH0K
LSAgICAgICAgdGVzdFJ1bm5lci5zZXRVc2VJVFBEYXRhYmFzZSh0cnVlKTsKLSAgICAgICAgYXdh
aXQgZmV0Y2goIi9jb29raWVzL3Jlc291cmNlcy9zZXQtaHR0cC1vbmx5LWNvb2tpZS5waHA/Y29v
a2llTmFtZT0iICsgaHR0cE9ubHlDb29raWVOYW1lLCB7IGNyZWRlbnRpYWxzOiAic2FtZS1vcmln
aW4iIH0pOwotICAgICAgICBhd2FpdCBmZXRjaCgiL2Nvb2tpZXMvcmVzb3VyY2VzL3NldENvb2tp
ZXMuY2dpIiwgeyBoZWFkZXJzOiB7ICJTZXQtQ29va2llIjogc2VydmVyU2lkZUNvb2tpZU5hbWUg
KyAiPTE7IHBhdGg9LzsiIH0sIGNyZWRlbnRpYWxzOiAic2FtZS1vcmlnaW4iIH0pOwotICAgICAg
ICBkb2N1bWVudC5jb29raWUgPSBjbGllbnRTaWRlQ29va2llTmFtZSArICI9MSI7Ci0gICAgICAg
IGNoZWNrQ29va2llcyhmYWxzZSk7Ci0gICAgICAgIHRlc3RSdW5uZXIuc3RhdGlzdGljc0RlbGV0
ZUNvb2tpZXNGb3JIb3N0KCJodHRwOi8vMTI3LjAuMC4xIiwgZmFsc2UpOwotICAgICAgICBjaGVj
a0Nvb2tpZXModHJ1ZSk7Ci0gICAgICAgIHRlc3RSdW5uZXIuc3RhdGlzdGljc0RlbGV0ZUNvb2tp
ZXNGb3JIb3N0KCJodHRwOi8vMTI3LjAuMC4xIiwgdHJ1ZSk7Ci0gICAgICAgIGxldCBjb29raWVz
TGVmdCA9IGludGVybmFscy5nZXRDb29raWVzKCkubGVuZ3RoOwotICAgICAgICBpZiAoY29va2ll
c0xlZnQgPT09IDApCi0gICAgICAgICAgICB0ZXN0UGFzc2VkKCJBZnRlciBmdWxsIGRlbGV0aW9u
OiAgICAgICAgICAgICAgIEFsbCBjb29raWVzIGFyZSBnb25lLiIpOwotICAgICAgICBlbHNlCi0g
ICAgICAgICAgICB0ZXN0RmFpbGVkKCJBZnRlciBmdWxsIGRlbGV0aW9uOiAgICAgICAgICAgICAg
IiArIGNvb2tpZXNMZWZ0ICsgIiBjb29raWUocykgbGVmdC4iKTsKLSAgICAgICAgZmluaXNoSlNU
ZXN0KCk7Ci0gICAgfQotPC9zY3JpcHQ+Ci08L2JvZHk+Ci08L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvZG8tbm90LWJsb2Nr
LXRvcC1sZXZlbC1uYXZpZ2F0aW9uLXJlZGlyZWN0LWRhdGFiYXNlLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9kby1ub3QtYmxvY2st
dG9wLWxldmVsLW5hdmlnYXRpb24tcmVkaXJlY3QtZGF0YWJhc2UtZXhwZWN0ZWQudHh0CmRlbGV0
ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAzNzQzMDYxZmYxMTlmYWQzZjU5N2RjMTVhZTA0YjRi
OGM2OTM3OTQ4Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBh
L0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9kby1ub3QtYmxv
Y2stdG9wLWxldmVsLW5hdmlnYXRpb24tcmVkaXJlY3QtZGF0YWJhc2UtZXhwZWN0ZWQudHh0Cisr
KyAvZGV2L251bGwKQEAgLTEgKzAsMCBAQAotUEFTU0VEOiBDb29raWUgc3VjY2Vzc2Z1bGx5IHNl
dApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0
aWNzL2RvLW5vdC1ibG9jay10b3AtbGV2ZWwtbmF2aWdhdGlvbi1yZWRpcmVjdC1kYXRhYmFzZS5o
dG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2RvLW5v
dC1ibG9jay10b3AtbGV2ZWwtbmF2aWdhdGlvbi1yZWRpcmVjdC1kYXRhYmFzZS5odG1sCmRlbGV0
ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBkMjE5ZTNkNjg5MzJiZmYxOGM1YTAxYzU2ODRjNDRm
MzcxNmZkZTgxLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBh
L0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9kby1ub3QtYmxv
Y2stdG9wLWxldmVsLW5hdmlnYXRpb24tcmVkaXJlY3QtZGF0YWJhc2UuaHRtbAorKysgL2Rldi9u
dWxsCkBAIC0xLDMwICswLDAgQEAKLTwhRE9DVFlQRSBodG1sPgotPGh0bWwgbGFuZz0iZW4iPgot
PGhlYWQ+Ci0gICAgPG1ldGEgY2hhcnNldD0iVVRGLTgiPgotICAgIDxzY3JpcHQgc3JjPSIvanMt
dGVzdC1yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+Ci0gICAgPHNjcmlwdCBzcmM9InJl
c291cmNlcy91dGlsLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQ+Ci0gICAgZGVzY3JpcHRpb24oIlRl
c3RzIHRoYXQgYmxvY2tpbmcgaXMgbm90IGFwcGxpZWQgdG8gdG9wLWxldmVsIG5hdmlnYXRpb24g
cmVkaXJlY3RzLiIpOwotICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOwotCi0gICAgaW50ZXJuYWxz
LnNldFJlc291cmNlTG9hZFN0YXRpc3RpY3NFbmFibGVkKHRydWUpOwotCi0gICAgZnVuY3Rpb24g
ZG9SZWRpcmVjdCgpCi0gICAgewotICAgICAgICB0ZXN0UnVubmVyLnNldFVzZUlUUERhdGFiYXNl
KHRydWUpOwotICAgICAgICBzZXRFbmFibGVGZWF0dXJlKHRydWUsIGZ1bmN0aW9uICgpIHsKLSAg
ICAgICAgICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc1ByZXZhbGVudFJlc291cmNlKCJodHRw
Oi8vbG9jYWxob3N0IiwgdHJ1ZSwgZnVuY3Rpb24gKCkgewotICAgICAgICAgICAgICAgIGlmICgh
dGVzdFJ1bm5lci5pc1N0YXRpc3RpY3NQcmV2YWxlbnRSZXNvdXJjZSgiaHR0cDovL2xvY2FsaG9z
dCIpKSB7Ci0gICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoIkhvc3QgZGlkIG5vdCBnZXQg
c2V0IGFzIHByZXZhbGVudCByZXNvdXJjZS4iKTsKLSAgICAgICAgICAgICAgICAgICAgc2V0RW5h
YmxlRmVhdHVyZShmYWxzZSwgZmluaXNoSlNUZXN0KTsKLSAgICAgICAgICAgICAgICB9IGVsc2UK
LSAgICAgICAgICAgICAgICAgICAgZG9jdW1lbnQubG9jYXRpb24uaHJlZiA9ICJodHRwOi8vbG9j
YWxob3N0OjgwMDAvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9yZXNvdXJjZXMvc2V0LWNvb2tpZS1v
bi1yZWRpcmVjdC5waHA/c3RlcD0xIjsKLSAgICAgICAgICAgIH0pOwotICAgICAgICB9KTsKLSAg
ICB9Ci08L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5IG9ubG9hZD0ic2V0VGltZW91dCgnZG9SZWRp
cmVjdCgpJywgMCkiPgotPC9ib2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2RvLW5vdC1jYXB0dXJlLXN0YXRpc3Rp
Y3MtZm9yLXNpbXBsZS10b3AtbmF2aWdhdGlvbnMtZGF0YWJhc2UtZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2RvLW5vdC1jYXB0dXJl
LXN0YXRpc3RpY3MtZm9yLXNpbXBsZS10b3AtbmF2aWdhdGlvbnMtZGF0YWJhc2UtZXhwZWN0ZWQu
dHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwNjljOTFjYWU2ZWFhM2JkY2M4NDYw
YzYzMzdiMDJmN2Q2NGYyNGZkLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwCi0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9k
by1ub3QtY2FwdHVyZS1zdGF0aXN0aWNzLWZvci1zaW1wbGUtdG9wLW5hdmlnYXRpb25zLWRhdGFi
YXNlLWV4cGVjdGVkLnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDExICswLDAgQEAKLVRlc3QgdGhh
dCBhIG5vbi1yZWRpcmVjdGVkIHRvcCBmcmFtZSBuYXZpZ2F0aW9uIGRvZXNuJ3QgZ2V0IGNhcHR1
cmVkIGluIHN0YXRpc3RpY3MuCi0KLU9uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBv
ZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KLQotCi1QQVNT
IHRlc3RSdW5uZXIuaXNTdGF0aXN0aWNzUmVnaXN0ZXJlZEFzU3ViRnJhbWVVbmRlcigiaHR0cDov
L2xvY2FsaG9zdCIsICJodHRwOi8vMTI3LjAuMC4xIikgaXMgZmFsc2UKLVBBU1MgdGVzdFJ1bm5l
ci5pc1N0YXRpc3RpY3NSZWdpc3RlcmVkQXNTdWJGcmFtZVVuZGVyKCJodHRwOi8vMTI3LjAuMC4x
IiwgImh0dHA6Ly9sb2NhbGhvc3QiKSBpcyBmYWxzZQotUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQg
aXMgdHJ1ZQotCi1URVNUIENPTVBMRVRFCi0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAv
dGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9kby1ub3QtY2FwdHVyZS1zdGF0aXN0aWNzLWZv
ci1zaW1wbGUtdG9wLW5hdmlnYXRpb25zLWRhdGFiYXNlLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvZG8tbm90LWNhcHR1cmUtc3RhdGlzdGljcy1m
b3Itc2ltcGxlLXRvcC1uYXZpZ2F0aW9ucy1kYXRhYmFzZS5odG1sCmRlbGV0ZWQgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAzMzI3NmQzMTY3NDJkZTVmMTM5OGFjYzJmMTdmYzVkN2RkYTdmMDE1Li4w
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3Rz
L2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9kby1ub3QtY2FwdHVyZS1zdGF0aXN0
aWNzLWZvci1zaW1wbGUtdG9wLW5hdmlnYXRpb25zLWRhdGFiYXNlLmh0bWwKKysrIC9kZXYvbnVs
bApAQCAtMSw0OCArMCwwIEBACi08IURPQ1RZUEUgaHRtbD4KLTxodG1sIGxhbmc9ImVuIj4KLTxo
ZWFkPgotICAgIDxtZXRhIGNoYXJzZXQ9IlVURi04Ij4KLSAgICA8c2NyaXB0IHNyYz0iL2pzLXRl
c3QtcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgotICAgIDxzY3JpcHQgc3JjPSJyZXNv
dXJjZXMvdXRpbC5qcyI+PC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keT4KLTxzY3JpcHQ+Ci0gICAg
ZGVzY3JpcHRpb24oIlRlc3QgdGhhdCBhIG5vbi1yZWRpcmVjdGVkIHRvcCBmcmFtZSBuYXZpZ2F0
aW9uIGRvZXNuJ3QgZ2V0IGNhcHR1cmVkIGluIHN0YXRpc3RpY3MuIik7Ci0gICAganNUZXN0SXNB
c3luYyA9IHRydWU7Ci0gICAgdGVzdFJ1bm5lci5zZXRVc2VJVFBEYXRhYmFzZSh0cnVlKTsKLSAg
ICBsZXQgdGltZXJIYW5kbGUgPSAwOwotCi0gICAgZnVuY3Rpb24gZmluaXNoVGVzdCgpIHsKLSAg
ICAgICAgaWYgKHRpbWVySGFuZGxlKQotICAgICAgICAgIGNsZWFyVGltZW91dCh0aW1lckhhbmRs
ZSk7Ci0KLSAgICAgICAgc2hvdWxkQmVGYWxzZSgndGVzdFJ1bm5lci5pc1N0YXRpc3RpY3NSZWdp
c3RlcmVkQXNTdWJGcmFtZVVuZGVyKCJodHRwOi8vbG9jYWxob3N0IiwgImh0dHA6Ly8xMjcuMC4w
LjEiKScpOwotICAgICAgICBzaG91bGRCZUZhbHNlKCd0ZXN0UnVubmVyLmlzU3RhdGlzdGljc1Jl
Z2lzdGVyZWRBc1N1YkZyYW1lVW5kZXIoImh0dHA6Ly8xMjcuMC4wLjEiLCAiaHR0cDovL2xvY2Fs
aG9zdCIpJyk7Ci0gICAgICAgIHNldEVuYWJsZUZlYXR1cmUoZmFsc2UsIGZpbmlzaEpTVGVzdCk7
Ci0gICAgfQotCi0gICAgZnVuY3Rpb24gcnVuVGVzdCgpIHsKLSAgICAgICAgc3dpdGNoIChkb2N1
bWVudC5sb2NhdGlvbi5ob3N0KSB7Ci0gICAgICAgICAgICBjYXNlICIxMjcuMC4wLjE6ODAwMCI6
Ci0gICAgICAgICAgICAgICAgc2V0RW5hYmxlRmVhdHVyZSh0cnVlLCBmdW5jdGlvbigpIHsKLSAg
ICAgICAgICAgICAgICAgICAgaWYgKHRlc3RSdW5uZXIuaXNTdGF0aXN0aWNzUHJldmFsZW50UmVz
b3VyY2UoImh0dHA6Ly9sb2NhbGhvc3Q6ODAwMCIpKQotICAgICAgICAgICAgICAgICAgICAgICAg
dGVzdEZhaWxlZCgiTG9jYWxob3N0IHdhcyBjbGFzc2lmaWVkIGFzIHByZXZhbGVudCByZXNvdXJj
ZSBiZWZvcmUgdGhlIHRlc3Qgc3RhcnRzLiIpOwotICAgICAgICAgICAgICAgICAgICBkb2N1bWVu
dC5sb2NhdGlvbi5ocmVmID0gImh0dHA6Ly9sb2NhbGhvc3Q6ODAwMC9yZXNvdXJjZUxvYWRTdGF0
aXN0aWNzL2RvLW5vdC1jYXB0dXJlLXN0YXRpc3RpY3MtZm9yLXNpbXBsZS10b3AtbmF2aWdhdGlv
bnMtZGF0YWJhc2UuaHRtbCI7Ci0gICAgICAgICAgICAgICAgfSk7Ci0gICAgICAgICAgICAgICAg
YnJlYWs7Ci0gICAgICAgICAgICBjYXNlICJsb2NhbGhvc3Q6ODAwMCI6Ci0gICAgICAgICAgICAg
ICAgdGVzdFJ1bm5lci5pbnN0YWxsU3RhdGlzdGljc0RpZFNjYW5EYXRhUmVjb3Jkc0NhbGxiYWNr
KGZpbmlzaFRlc3QpOwotICAgICAgICAgICAgICAgIGlmICghdGVzdFJ1bm5lci5zdGF0aXN0aWNz
Tm90aWZ5T2JzZXJ2ZXIoKSkKLSAgICAgICAgICAgICAgICAgICAgdGltZXJIYW5kbGUgPSBzZXRU
aW1lb3V0KGZpbmlzaFRlc3QsIDEwMCk7Ci0gICAgICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAg
ICAgICBkZWZhdWx0OgotICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoIlVua25vd24gaG9zdDog
IiArIGRvY3VtZW50LmxvY2F0aW9uLmhvc3QpOwotICAgICAgICAgICAgICAgIGZpbmlzaFRlc3Qo
KTsKLSAgICAgICAgfQotICAgIH0KLQotICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lciAmJiB3aW5k
b3cuaW50ZXJuYWxzKQotICAgICAgICBydW5UZXN0KCk7Ci08L3NjcmlwdD4KLTwvYm9keT4KLTwv
aHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3Rh
dGlzdGljcy9kby1ub3QtcmVtb3ZlLWJsb2NraW5nLWluLXJlZGlyZWN0LWRhdGFiYXNlLWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9k
by1ub3QtcmVtb3ZlLWJsb2NraW5nLWluLXJlZGlyZWN0LWRhdGFiYXNlLWV4cGVjdGVkLnR4dApk
ZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZTg0NzE1ZjU4NWQ4M2M5YTNlNThkMWQyMTA5
MjIzMDE1ODQyNDAxNC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAot
LS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvZG8tbm90
LXJlbW92ZS1ibG9ja2luZy1pbi1yZWRpcmVjdC1kYXRhYmFzZS1leHBlY3RlZC50eHQKKysrIC9k
ZXYvbnVsbApAQCAtMSw1MSArMCwwIEBACi1UZXN0cyB0aGF0IGJsb2NraW5nIGlzIG5vdCByZW1v
dmVkIG1pZC1mbGlnaHQgaW4gcmVkaXJlY3RzLgotCi1PbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUg
YSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIu
Ci0KLQotUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQotCi1URVNUIENPTVBMRVRFCi0K
LQotLS0tLS0tLS0KLUZyYW1lOiAnPCEtLWZyYW1lMS0tPicKLS0tLS0tLS0tCi1TaG91bGQgcmVj
ZWl2ZSBmaXJzdC1wYXJ0eSBjb29raWUgZm9yIGxvY2FsaG9zdC4KLURpZCBub3QgcmVjZWl2ZSBj
b29raWUgbmFtZWQgJ2ZpcnN0UGFydHlDb29raWVJUCcuCi1SZWNlaXZlZCBjb29raWUgbmFtZWQg
J2ZpcnN0UGFydHlDb29raWVMb2NhbGhvc3QnLgotRGlkIG5vdCByZWNlaXZlIGNvb2tpZSBuYW1l
ZCAndGhpcmRQYXJ0eUNvb2tpZScuCi1DbGllbnQtc2lkZSBkb2N1bWVudC5jb29raWU6IGZpcnN0
UGFydHlDb29raWVMb2NhbGhvc3Q9bG9jYWxob3N0Ci0KLS0tLS0tLS0tCi1GcmFtZTogJzwhLS1m
cmFtZTItLT4nCi0tLS0tLS0tLQotUmVkaXJlY3QgY2FzZSAxLCBzaG91bGQgcmVjZWl2ZSBmaXJz
dC1wYXJ0eSBjb29raWUgZm9yIDEyNy4wLjAuMS4KLVJlY2VpdmVkIGNvb2tpZSBuYW1lZCAnZmly
c3RQYXJ0eUNvb2tpZUlQJy4KLURpZCBub3QgcmVjZWl2ZSBjb29raWUgbmFtZWQgJ2ZpcnN0UGFy
dHlDb29raWVMb2NhbGhvc3QnLgotRGlkIG5vdCByZWNlaXZlIGNvb2tpZSBuYW1lZCAndGhpcmRQ
YXJ0eUNvb2tpZScuCi1DbGllbnQtc2lkZSBkb2N1bWVudC5jb29raWU6IGZpcnN0UGFydHlDb29r
aWVJUD0xMjcuMC4wLjEKLQotLS0tLS0tLS0KLUZyYW1lOiAnPCEtLWZyYW1lMy0tPicKLS0tLS0t
LS0tCi1UcnkgdG8gc2V0IHRoaXJkLXBhcnR5IGNvb2tpZSBmb3IgbG9jYWxob3N0IGluIGJsb2Nr
ZWQgbW9kZS4KLQotCi0tLS0tLS0tLQotRnJhbWU6ICc8IS0tZnJhbWU0LS0+JwotLS0tLS0tLS0K
LVNob3VsZCByZWNlaXZlIG5vIGNvb2tpZS4KLURpZCBub3QgcmVjZWl2ZSBjb29raWUgbmFtZWQg
J2ZpcnN0UGFydHlDb29raWVJUCcuCi1EaWQgbm90IHJlY2VpdmUgY29va2llIG5hbWVkICdmaXJz
dFBhcnR5Q29va2llTG9jYWxob3N0Jy4KLURpZCBub3QgcmVjZWl2ZSBjb29raWUgbmFtZWQgJ3Ro
aXJkUGFydHlDb29raWUnLgotQ2xpZW50LXNpZGUgZG9jdW1lbnQuY29va2llOgotCi0tLS0tLS0t
LQotRnJhbWU6ICc8IS0tZnJhbWU1LS0+JwotLS0tLS0tLS0KLVJlZGlyZWN0IGNhc2UgMiwgc2hv
dWxkIG5vdCByZWNlaXZlIGZpcnN0LXBhcnR5IGNvb2tpZSBmb3IgMTI3LjAuMC4xLgotRGlkIG5v
dCByZWNlaXZlIGNvb2tpZSBuYW1lZCAnZmlyc3RQYXJ0eUNvb2tpZUlQJy4KLURpZCBub3QgcmVj
ZWl2ZSBjb29raWUgbmFtZWQgJ2ZpcnN0UGFydHlDb29raWVMb2NhbGhvc3QnLgotRGlkIG5vdCBy
ZWNlaXZlIGNvb2tpZSBuYW1lZCAndGhpcmRQYXJ0eUNvb2tpZScuCi1DbGllbnQtc2lkZSBkb2N1
bWVudC5jb29raWU6IGZpcnN0UGFydHlDb29raWVJUD0xMjcuMC4wLjEKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9kby1ub3QtcmVtb3Zl
LWJsb2NraW5nLWluLXJlZGlyZWN0LWRhdGFiYXNlLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rl
c3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvZG8tbm90LXJlbW92ZS1ibG9ja2luZy1pbi1yZWRp
cmVjdC1kYXRhYmFzZS5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAzNmQzMGFh
ZGVmNDU3N2I4NTI0MjNjNmEyMzZmM2FhMzcxOWYxMDJkLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VM
b2FkU3RhdGlzdGljcy9kby1ub3QtcmVtb3ZlLWJsb2NraW5nLWluLXJlZGlyZWN0LWRhdGFiYXNl
Lmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSwxMDAgKzAsMCBAQAotPCFET0NUWVBFIGh0bWw+Ci08
aHRtbCBsYW5nPSJlbiI+Ci08aGVhZD4KLSAgICA8bWV0YSBjaGFyc2V0PSJVVEYtOCI+Ci0gICAg
PHNjcmlwdCBzcmM9Ii9qcy10ZXN0LXJlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KLSAg
ICA8c2NyaXB0IHNyYz0icmVzb3VyY2VzL3V0aWwuanMiPjwvc2NyaXB0PgotPC9oZWFkPgotPGJv
ZHk+Ci08c2NyaXB0PgotICAgIGRlc2NyaXB0aW9uKCJUZXN0cyB0aGF0IGJsb2NraW5nIGlzIG5v
dCByZW1vdmVkIG1pZC1mbGlnaHQgaW4gcmVkaXJlY3RzLiIpOwotICAgIGpzVGVzdElzQXN5bmMg
PSB0cnVlOwotCi0gICAgY29uc3QgcGFydGl0aW9uSG9zdCA9ICIxMjcuMC4wLjE6ODAwMCI7Ci0g
ICAgY29uc3QgdGhpcmRQYXJ0eU9yaWdpbiA9ICJodHRwOi8vbG9jYWxob3N0OjgwMDAiOwotICAg
IGNvbnN0IHJlc291cmNlUGF0aCA9ICIvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9yZXNvdXJjZXMi
OwotICAgIGNvbnN0IHRoaXJkUGFydHlCYXNlVXJsID0gdGhpcmRQYXJ0eU9yaWdpbiArIHJlc291
cmNlUGF0aDsKLSAgICBjb25zdCBmaXJzdFBhcnR5Q29va2llTmFtZVByZWZpeCA9ICJmaXJzdFBh
cnR5Q29va2llIjsKLSAgICBjb25zdCBmaXJzdFBhcnR5Q29va2llTmFtZUlQID0gZmlyc3RQYXJ0
eUNvb2tpZU5hbWVQcmVmaXggKyAiSVAiOwotICAgIGNvbnN0IGZpcnN0UGFydHlDb29raWVOYW1l
TG9jYWxob3N0ID0gZmlyc3RQYXJ0eUNvb2tpZU5hbWVQcmVmaXggKyAiTG9jYWxob3N0IjsKLSAg
ICBjb25zdCB0aGlyZFBhcnR5Q29va2llTmFtZSA9ICJ0aGlyZFBhcnR5Q29va2llIjsKLSAgICBj
b25zdCBzdWJQYXRoVG9TZXRUaGlyZFBhcnR5Q29va2llID0gIi9zZXQtY29va2llLnBocD9uYW1l
PSIgKyB0aGlyZFBhcnR5Q29va2llTmFtZSArICImdmFsdWU9dmFsdWUiOwotICAgIGNvbnN0IHN1
YlBhdGhUb0dldENvb2tpZXMgPSAiL2dldC1jb29raWVzLnBocD9uYW1lMT0iICsgZmlyc3RQYXJ0
eUNvb2tpZU5hbWVJUCArICImbmFtZTI9IiArIGZpcnN0UGFydHlDb29raWVOYW1lTG9jYWxob3N0
ICsgIiZuYW1lMz0iICsgdGhpcmRQYXJ0eUNvb2tpZU5hbWU7Ci0gICAgY29uc3QgcmVkaXJlY3RD
aGFpblVybCA9IHRoaXJkUGFydHlPcmlnaW4gKyByZXNvdXJjZVBhdGggKyAiL3JlZGlyZWN0LnBo
cD9yZWRpcmVjdFRvPWh0dHA6Ly8iICsgcGFydGl0aW9uSG9zdCArIHJlc291cmNlUGF0aCArIHN1
YlBhdGhUb0dldENvb2tpZXM7Ci0KLSAgICBmdW5jdGlvbiBvcGVuSWZyYW1lKHVybCwgb25Mb2Fk
SGFuZGxlcikgewotICAgICAgICBjb25zdCBlbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVu
dCgiaWZyYW1lIik7Ci0gICAgICAgIGVsZW1lbnQuc3JjID0gdXJsOwotICAgICAgICBpZiAob25M
b2FkSGFuZGxlcikgewotICAgICAgICAgICAgZWxlbWVudC5vbmxvYWQgPSBvbkxvYWRIYW5kbGVy
OwotICAgICAgICB9Ci0gICAgICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoZWxlbWVudCk7
Ci0gICAgfQotCi0gICAgZnVuY3Rpb24gcnVuVGVzdCgpIHsKLSAgICAgICAgc3dpdGNoIChkb2N1
bWVudC5sb2NhdGlvbi5oYXNoKSB7Ci0gICAgICAgICAgICBjYXNlICIjc3RlcDEiOgotICAgICAg
ICAgICAgICAgIC8vIFNldCBmaXJzdC1wYXJ0eSBjb29raWVzIGZvciAxMjcuMC4wLjEgYW5kIGxv
Y2FsaG9zdC4KLSAgICAgICAgICAgICAgICBpZiAoZG9jdW1lbnQubG9jYXRpb24ub3JpZ2luID09
PSB0aGlyZFBhcnR5T3JpZ2luKSB7Ci0gICAgICAgICAgICAgICAgICAgIGRvY3VtZW50LmNvb2tp
ZSA9IGZpcnN0UGFydHlDb29raWVOYW1lTG9jYWxob3N0ICsgIj1sb2NhbGhvc3Q7cGF0aD0nLyci
OwotICAgICAgICAgICAgICAgICAgICBkb2N1bWVudC5sb2NhdGlvbi5ocmVmID0gImh0dHA6Ly8x
MjcuMC4wLjE6ODAwMC9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2RvLW5vdC1yZW1vdmUtYmxvY2tp
bmctaW4tcmVkaXJlY3QtZGF0YWJhc2UuaHRtbCNzdGVwMiI7Ci0gICAgICAgICAgICAgICAgfSBl
bHNlIHsKLSAgICAgICAgICAgICAgICAgICAgZG9jdW1lbnQuY29va2llID0gZmlyc3RQYXJ0eUNv
b2tpZU5hbWVJUCArICI9MTI3LjAuMC4xO3BhdGg9Jy8nIjsKLSAgICAgICAgICAgICAgICAgICAg
ZG9jdW1lbnQubG9jYXRpb24uaHJlZiA9ICJodHRwOi8vbG9jYWxob3N0OjgwMDAvcmVzb3VyY2VM
b2FkU3RhdGlzdGljcy9kby1ub3QtcmVtb3ZlLWJsb2NraW5nLWluLXJlZGlyZWN0LWRhdGFiYXNl
Lmh0bWwjc3RlcDEiOwotICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICBicmVhazsK
LSAgICAgICAgICAgIGNhc2UgIiNzdGVwMiI6Ci0gICAgICAgICAgICAgICAgLy8gQ2hlY2sgdGhh
dCB0aGUgY29va2llIGdldHMgc2VudCBmb3IgbG9jYWxob3N0IHVuZGVyIDEyNy4wLjAuMSBzaW5j
ZSBsb2NhbGhvc3QgaXMgbm90IHByZXZhbGVudC4KLSAgICAgICAgICAgICAgICBkb2N1bWVudC5s
b2NhdGlvbi5oYXNoID0gInN0ZXAzIjsKLSAgICAgICAgICAgICAgICBvcGVuSWZyYW1lKHRoaXJk
UGFydHlCYXNlVXJsICsgc3ViUGF0aFRvR2V0Q29va2llcyArICImbWVzc2FnZT1TaG91bGQgcmVj
ZWl2ZSBmaXJzdC1wYXJ0eSBjb29raWUgZm9yIGxvY2FsaG9zdC4iLCBydW5UZXN0KTsKLSAgICAg
ICAgICAgICAgICBicmVhazsKLSAgICAgICAgICAgIGNhc2UgIiNzdGVwMyI6Ci0gICAgICAgICAg
ICAgICAgZG9jdW1lbnQubG9jYXRpb24uaGFzaCA9ICJzdGVwNCI7Ci0gICAgICAgICAgICAgICAg
Ly8gTG9hZCBhbiBpZnJhbWUgaW4gYSByZWRpcmVjdCBjaGFpbiB0aGF0IHN0YXJ0cyB3aXRoIGxv
Y2FsaG9zdCBhbmQgZW5kcyB3aXRoIDEyNy4wLjAuMS4gRXhwZWN0IGEgY29va2llIGZvciAxMjcu
MC4wLjEuCi0gICAgICAgICAgICAgICAgb3BlbklmcmFtZShyZWRpcmVjdENoYWluVXJsICsgIiZt
ZXNzYWdlPVJlZGlyZWN0IGNhc2UgMSwgc2hvdWxkIHJlY2VpdmUgZmlyc3QtcGFydHkgY29va2ll
IGZvciAxMjcuMC4wLjEuIiwgcnVuVGVzdCk7Ci0gICAgICAgICAgICAgICAgYnJlYWs7Ci0gICAg
ICAgICAgICBjYXNlICIjc3RlcDQiOgotICAgICAgICAgICAgICAgIC8vIFNldCBsb2NhbGhvc3Qg
YXMgcHJldmFsZW50IHRvIHB1dCBpdCBpbiB0aGUgYmxvY2tpbmcgY2F0ZWdvcnkuCi0gICAgICAg
ICAgICAgICAgZG9jdW1lbnQubG9jYXRpb24uaGFzaCA9ICJzdGVwNSI7Ci0gICAgICAgICAgICAg
ICAgdGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNzUHJldmFsZW50UmVzb3VyY2UodGhpcmRQYXJ0eU9y
aWdpbiwgdHJ1ZSwgZnVuY3Rpb24oKSB7Ci0gICAgICAgICAgICAgICAgICAgIGlmICghdGVzdFJ1
bm5lci5pc1N0YXRpc3RpY3NQcmV2YWxlbnRSZXNvdXJjZSh0aGlyZFBhcnR5T3JpZ2luKSkKLSAg
ICAgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoIkhvc3QgZGlkIG5vdCBnZXQgc2V0IGFz
IHByZXZhbGVudCByZXNvdXJjZS4iKTsKLSAgICAgICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5z
dGF0aXN0aWNzVXBkYXRlQ29va2llQmxvY2tpbmcocnVuVGVzdCk7Ci0gICAgICAgICAgICAgICAg
fSk7Ci0gICAgICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgICAgICBjYXNlICIjc3RlcDUiOgot
ICAgICAgICAgICAgICAgIC8vIFRyeSB0byBzZXQgcGFydGl0aW9uZWQgY29va2llIGZvciBsb2Nh
bGhvc3QgdW5kZXIgMTI3LjAuMC4xLgotICAgICAgICAgICAgICAgIGRvY3VtZW50LmxvY2F0aW9u
Lmhhc2ggPSAic3RlcDYiOwotICAgICAgICAgICAgICAgIG9wZW5JZnJhbWUodGhpcmRQYXJ0eUJh
c2VVcmwgKyBzdWJQYXRoVG9TZXRUaGlyZFBhcnR5Q29va2llICsgIiZtZXNzYWdlPVRyeSB0byBz
ZXQgdGhpcmQtcGFydHkgY29va2llIGZvciBsb2NhbGhvc3QgaW4gYmxvY2tlZCBtb2RlLiIsIHJ1
blRlc3QpOwotICAgICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICAgICAgY2FzZSAiI3N0ZXA2
IjoKLSAgICAgICAgICAgICAgICAvLyBDaGVjayB0aGF0IG5vIGNvb2tpZSBnZXRzIHNlbnQgZm9y
IGxvY2FsaG9zdCB1bmRlciAxMjcuMC4wLjEgc2luY2UgbG9jYWxob3N0J3MgY29va2llcyBhcmUg
YmxvY2tlZC4KLSAgICAgICAgICAgICAgICBkb2N1bWVudC5sb2NhdGlvbi5oYXNoID0gInN0ZXA3
IjsKLSAgICAgICAgICAgICAgICBvcGVuSWZyYW1lKHRoaXJkUGFydHlCYXNlVXJsICsgc3ViUGF0
aFRvR2V0Q29va2llcyArICAiJm1lc3NhZ2U9U2hvdWxkIHJlY2VpdmUgbm8gY29va2llLiIsIHJ1
blRlc3QpOwotICAgICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICAgICAgY2FzZSAiI3N0ZXA3
IjoKLSAgICAgICAgICAgICAgICAvLyBMb2FkIGFuIGlmcmFtZSBpbiBhIHJlZGlyZWN0IGNoYWlu
IHRoYXQgc3RhcnRzIHdpdGggbG9jYWxob3N0IGFuZCBlbmRzIHdpdGggMTI3LjAuMC4xLiBFeHBl
Y3QgYSBjb29raWUgZm9yIDEyNy4wLjAuMS4KLSAgICAgICAgICAgICAgICBkb2N1bWVudC5sb2Nh
dGlvbi5oYXNoID0gInN0ZXA4IjsKLSAgICAgICAgICAgICAgICBvcGVuSWZyYW1lKHJlZGlyZWN0
Q2hhaW5VcmwgKyAiJm1lc3NhZ2U9UmVkaXJlY3QgY2FzZSAyLCBzaG91bGQgbm90IHJlY2VpdmUg
Zmlyc3QtcGFydHkgY29va2llIGZvciAxMjcuMC4wLjEuIiwgcnVuVGVzdCk7Ci0gICAgICAgICAg
ICAgICAgYnJlYWs7Ci0gICAgICAgICAgICBjYXNlICIjc3RlcDgiOgotICAgICAgICAgICAgICAg
IHNldEVuYWJsZUZlYXR1cmUoZmFsc2UsIGZpbmlzaEpTVGVzdCk7Ci0gICAgICAgICAgICAgICAg
YnJlYWs7Ci0gICAgICAgIH0KLSAgICB9Ci0KLSAgICBpZiAoZG9jdW1lbnQubG9jYXRpb24uaGFz
aCA9PT0gIiIpIHsKLSAgICAgICAgdGVzdFJ1bm5lci5zZXRVc2VJVFBEYXRhYmFzZSh0cnVlKTsK
LSAgICAgICAgc2V0RW5hYmxlRmVhdHVyZSh0cnVlLCBmdW5jdGlvbigpIHsKLSAgICAgICAgICAg
IGlmICh0ZXN0UnVubmVyLmlzU3RhdGlzdGljc1ByZXZhbGVudFJlc291cmNlKHRoaXJkUGFydHlP
cmlnaW4pKQotICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoIkxvY2FsaG9zdCB3YXMgY2xhc3Np
ZmllZCBhcyBwcmV2YWxlbnQgcmVzb3VyY2UgYmVmb3JlIHRoZSB0ZXN0IHN0YXJ0cy4iKTsKLSAg
ICAgICAgICAgIHRlc3RSdW5uZXIuZHVtcENoaWxkRnJhbWVzQXNUZXh0KCk7Ci0gICAgICAgICAg
ICBkb2N1bWVudC5sb2NhdGlvbi5oYXNoID0gInN0ZXAxIjsKLSAgICAgICAgICAgIHJ1blRlc3Qo
KTsKLSAgICAgICAgfSk7Ci0gICAgfSBlbHNlIHsKLSAgICAgICAgcnVuVGVzdCgpOwotICAgIH0K
LTwvc2NyaXB0PgotPC9ib2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2RvLW5vdC1zd2l0Y2gtc2Vzc2lvbi1vbi1u
YXZpZ2F0aW9uLXRvLXByZXZhbGVudC13aXRob3V0LWludGVyYWN0aW9uLWRhdGFiYXNlLWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9k
by1ub3Qtc3dpdGNoLXNlc3Npb24tb24tbmF2aWdhdGlvbi10by1wcmV2YWxlbnQtd2l0aG91dC1p
bnRlcmFjdGlvbi1kYXRhYmFzZS1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IGQwNWRjMDliNjk2MzlmMWQ5MGM2YzM3YzIyZWQxYjk2Zjg2MWM0NDkuLjAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90
ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2RvLW5vdC1zd2l0Y2gtc2Vzc2lvbi1vbi1uYXZp
Z2F0aW9uLXRvLXByZXZhbGVudC13aXRob3V0LWludGVyYWN0aW9uLWRhdGFiYXNlLWV4cGVjdGVk
LnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDEyICswLDAgQEAKLVRlc3RzIHRoYXQgdGhlIHNlc3Np
b24gaXMgbm90IHN3aXRjaGVkIHVwb24gdG9wIGZyYW1lIG5hdmlnYXRpb24gdG8gYSBwcmV2YWxl
bnQgcmVzb3VyY2Ugd2l0aG91dCB1c2VyIGludGVyYWN0aW9uLgotCi1PbiBzdWNjZXNzLCB5b3Ug
d2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBD
T01QTEVURSIuCi0KLQotUEFTUyBTaG91bGQgaGF2ZSBhbmQgaGFzIHRoZSBzZXNzaW9uIGNvb2tp
ZS4KLVBBU1MgU2hvdWxkIGhhdmUgYW5kIGhhcyB0aGUgcGVyc2lzdGVudCBjb29raWUuCi1QQVNT
IE9yaWdpbiBoYXMgbm8gaXNvbGF0ZWQgc2Vzc2lvbi4KLVBBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2Vk
IGlzIHRydWUKLQotVEVTVCBDT01QTEVURQotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvZG8tbm90LXN3aXRjaC1zZXNzaW9uLW9uLW5h
dmlnYXRpb24tdG8tcHJldmFsZW50LXdpdGhvdXQtaW50ZXJhY3Rpb24tZGF0YWJhc2UucGhwIGIv
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2RvLW5vdC1zd2l0
Y2gtc2Vzc2lvbi1vbi1uYXZpZ2F0aW9uLXRvLXByZXZhbGVudC13aXRob3V0LWludGVyYWN0aW9u
LWRhdGFiYXNlLnBocApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYTJhMGY4YzhhMGVm
YzEyN2Y4MmIxZWI0ODE0NjY4NDcwZDA3NmJlYy4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0
YXRpc3RpY3MvZG8tbm90LXN3aXRjaC1zZXNzaW9uLW9uLW5hdmlnYXRpb24tdG8tcHJldmFsZW50
LXdpdGhvdXQtaW50ZXJhY3Rpb24tZGF0YWJhc2UucGhwCisrKyAvZGV2L251bGwKQEAgLTEsMTEy
ICswLDAgQEAKLTw/cGhwCi0gICAgaGVhZGVyKCJDYWNoZS1Db250cm9sOiBuby1zdG9yZSIpOwot
Pz4KLTwhRE9DVFlQRSBodG1sPgotPGh0bWwgbGFuZz0iZW4iPgotPGhlYWQ+Ci0gICAgPG1ldGEg
Y2hhcnNldD0iVVRGLTgiPgotICAgIDxzY3JpcHQgc3JjPSIvanMtdGVzdC1yZXNvdXJjZXMvanMt
dGVzdC5qcyI+PC9zY3JpcHQ+Ci0gICAgPHNjcmlwdCBzcmM9InJlc291cmNlcy91dGlsLmpzIj48
L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5IG9ubG9hZD0icnVuVGVzdCgpIj4KLTxzY3JpcHQ+Ci0g
ICAgZGVzY3JpcHRpb24oIlRlc3RzIHRoYXQgdGhlIHNlc3Npb24gaXMgbm90IHN3aXRjaGVkIHVw
b24gdG9wIGZyYW1lIG5hdmlnYXRpb24gdG8gYSBwcmV2YWxlbnQgcmVzb3VyY2Ugd2l0aG91dCB1
c2VyIGludGVyYWN0aW9uLiIpOwotICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOwotCi0gICAgY29u
c3QgcHJldmFsZW50T3JpZ2luID0gImh0dHA6Ly8xMjcuMC4wLjE6ODAwMCI7Ci0gICAgY29uc3Qg
bm9uUHJldmFsZW50T3JpZ2luID0gImh0dHA6Ly9sb2NhbGhvc3Q6ODAwMCI7Ci0gICAgY29uc3Qg
c2Vzc2lvbkNvb2tpZU5hbWUgPSAic2Vzc2lvbkNvb2tpZSI7Ci0gICAgY29uc3QgcGVyc2lzdGVu
dENvb2tpZU5hbWUgPSAicGVyc2lzdGVudENvb2tpZSI7Ci0gICAgY29uc3QgdHdvTWludXRlc0lu
U2Vjb25kcyA9IDEyMDsKLQotICAgIGZ1bmN0aW9uIHNldFNlc3Npb25Db29raWUoKSB7Ci0gICAg
ICAgIGRvY3VtZW50LmNvb2tpZSA9IHNlc3Npb25Db29raWVOYW1lICsgIj0xOyBwYXRoPS8iOwot
ICAgIH0KLQotICAgIGZ1bmN0aW9uIHNldFBlcnNpc3RlbnRDb29raWUoKSB7Ci0gICAgICAgIGRv
Y3VtZW50LmNvb2tpZSA9IHBlcnNpc3RlbnRDb29raWVOYW1lICsgIj0xOyBwYXRoPS87IE1heC1B
Z2U9IiArIHR3b01pbnV0ZXNJblNlY29uZHMgKyAiOyI7Ci0gICAgfQotCi0gICAgZnVuY3Rpb24g
Y2hlY2tDb29raWVzKHNob3VsZEhhdmVTZXNzaW9uQ29va2llLCBzaG91bGRIYXZlUGVyc2lzdGVu
dENvb2tpZSkgewotICAgICAgICBsZXQgaGFzU2Vzc2lvbkNvb2tpZSA9IChkb2N1bWVudC5jb29r
aWUgKyAiIikuaW5jbHVkZXMoc2Vzc2lvbkNvb2tpZU5hbWUpLAotICAgICAgICAgICAgaGFzUGVy
c2lzdGVudENvb2tpZSA9IChkb2N1bWVudC5jb29raWUgKyAiIikuaW5jbHVkZXMocGVyc2lzdGVu
dENvb2tpZU5hbWUpOwotCi0gICAgICAgIGlmIChzaG91bGRIYXZlU2Vzc2lvbkNvb2tpZSAmJiBo
YXNTZXNzaW9uQ29va2llKQotICAgICAgICAgICAgdGVzdFBhc3NlZCgiU2hvdWxkIGhhdmUgYW5k
IGhhcyB0aGUgc2Vzc2lvbiBjb29raWUuIik7Ci0gICAgICAgIGVsc2UgaWYgKHNob3VsZEhhdmVT
ZXNzaW9uQ29va2llICYmICFoYXNTZXNzaW9uQ29va2llKSB7Ci0gICAgICAgICAgICB0ZXN0RmFp
bGVkKCJTaG91bGQgaGF2ZSBidXQgZG9lc24ndCBoYXZlIHRoZSBzZXNzaW9uIGNvb2tpZS4iKTsK
LSAgICAgICAgICAgIHNldEVuYWJsZUZlYXR1cmUoZmFsc2UsIGZpbmlzaEpTVGVzdCk7Ci0gICAg
ICAgIH0gZWxzZSBpZiAoIXNob3VsZEhhdmVTZXNzaW9uQ29va2llICYmIGhhc1Nlc3Npb25Db29r
aWUpIHsKLSAgICAgICAgICAgIHRlc3RGYWlsZWQoIlNob3VsZG4ndCBoYXZlIGJ1dCBoYXMgdGhl
IHNlc3Npb24gY29va2llLiIpOwotICAgICAgICAgICAgc2V0RW5hYmxlRmVhdHVyZShmYWxzZSwg
ZmluaXNoSlNUZXN0KTsKLSAgICAgICAgfSBlbHNlCi0gICAgICAgICAgICB0ZXN0UGFzc2VkKCJT
aG91bGRuJ3QgaGF2ZSBhbmQgZG9lc24ndCBoYXZlIHRoZSBzZXNzaW9uIGNvb2tpZS4iKTsKLQot
Ci0gICAgICAgIGlmIChzaG91bGRIYXZlUGVyc2lzdGVudENvb2tpZSAmJiBoYXNQZXJzaXN0ZW50
Q29va2llKQotICAgICAgICAgICAgdGVzdFBhc3NlZCgiU2hvdWxkIGhhdmUgYW5kIGhhcyB0aGUg
cGVyc2lzdGVudCBjb29raWUuIik7Ci0gICAgICAgIGVsc2UgaWYgKHNob3VsZEhhdmVQZXJzaXN0
ZW50Q29va2llICYmICFoYXNQZXJzaXN0ZW50Q29va2llKSB7Ci0gICAgICAgICAgICB0ZXN0RmFp
bGVkKCJTaG91bGQgaGF2ZSBidXQgZG9lc24ndCBoYXZlIHRoZSBwZXJzaXN0ZW50IGNvb2tpZS4i
KTsKLSAgICAgICAgICAgIHNldEVuYWJsZUZlYXR1cmUoZmFsc2UsIGZpbmlzaEpTVGVzdCk7Ci0g
ICAgICAgIH0gZWxzZSBpZiAoIXNob3VsZEhhdmVQZXJzaXN0ZW50Q29va2llICYmIGhhc1BlcnNp
c3RlbnRDb29raWUpIHsKLSAgICAgICAgICAgIHRlc3RGYWlsZWQoIlNob3VsZG4ndCBoYXZlIGJ1
dCBoYXMgdGhlIHBlcnNpc3RlbnQgY29va2llLiIpOwotICAgICAgICAgICAgc2V0RW5hYmxlRmVh
dHVyZShmYWxzZSwgZmluaXNoSlNUZXN0KTsKLSAgICAgICAgfSBlbHNlCi0gICAgICAgICAgICB0
ZXN0UGFzc2VkKCJTaG91bGRuJ3QgaGF2ZSBhbmQgZG9lc24ndCBoYXZlIHRoZSBwZXJzaXN0ZW50
IGNvb2tpZS4iKTsKLSAgICB9Ci0KLSAgICBmdW5jdGlvbiBydW5UZXN0KCkgewotICAgICAgICBz
d2l0Y2ggKGRvY3VtZW50LmxvY2F0aW9uLmhhc2gpIHsKLSAgICAgICAgICAgIGNhc2UgIiI6Ci0g
ICAgICAgICAgICAgICAgaWYgKGRvY3VtZW50LmxvY2F0aW9uLm9yaWdpbiAhPT0gcHJldmFsZW50
T3JpZ2luKQotICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKCJUZXN0IGlzIG5vdCBzdGFy
dGluZyBvdXQgb24gIiArIHByZXZhbGVudE9yaWdpbiArICIuIik7Ci0KLSAgICAgICAgICAgICAg
ICB0ZXN0UnVubmVyLnNldFVzZUlUUERhdGFiYXNlKHRydWUpOwotICAgICAgICAgICAgICAgIHNl
dEVuYWJsZUZlYXR1cmUodHJ1ZSwgZnVuY3Rpb24gKCkgewotICAgICAgICAgICAgICAgICAgICBp
ZiAodGVzdFJ1bm5lci5pc1N0YXRpc3RpY3NQcmV2YWxlbnRSZXNvdXJjZShwcmV2YWxlbnRPcmln
aW4pKQotICAgICAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChwcmV2YWxlbnRPcmlnaW4g
KyAiIHdhcyBjbGFzc2lmaWVkIGFzIHByZXZhbGVudCByZXNvdXJjZSBiZWZvcmUgdGhlIHRlc3Qg
c3RhcnRzLiIpOwotICAgICAgICAgICAgICAgICAgICBkb2N1bWVudC5sb2NhdGlvbi5oYXNoID0g
InN0ZXAxIjsKLSAgICAgICAgICAgICAgICAgICAgcnVuVGVzdCgpOwotICAgICAgICAgICAgICAg
IH0pOwotICAgICAgICAgICAgY2FzZSAiI3N0ZXAxIjoKLSAgICAgICAgICAgICAgICBzZXRTZXNz
aW9uQ29va2llKCk7Ci0gICAgICAgICAgICAgICAgc2V0UGVyc2lzdGVudENvb2tpZSgpOwotICAg
ICAgICAgICAgICAgIGNoZWNrQ29va2llcyh0cnVlLCB0cnVlKTsKLSAgICAgICAgICAgICAgICBp
ZiAodGVzdFJ1bm5lci5oYXNTdGF0aXN0aWNzSXNvbGF0ZWRTZXNzaW9uKHByZXZhbGVudE9yaWdp
bikpIHsKLSAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZCgiT3JpZ2luIGhhcyBpc29sYXRl
ZCBzZXNzaW9uLiIpOwotICAgICAgICAgICAgICAgICAgICBzZXRFbmFibGVGZWF0dXJlKGZhbHNl
LCBmaW5pc2hKU1Rlc3QpOwotICAgICAgICAgICAgICAgIH0gZWxzZQotICAgICAgICAgICAgICAg
ICAgICB0ZXN0UGFzc2VkKCJPcmlnaW4gaGFzIG5vIGlzb2xhdGVkIHNlc3Npb24uIik7Ci0gICAg
ICAgICAgICAgICAgZG9jdW1lbnQubG9jYXRpb24uaHJlZiA9IG5vblByZXZhbGVudE9yaWdpbiAr
ICIvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9kby1ub3Qtc3dpdGNoLXNlc3Npb24tb24tbmF2aWdh
dGlvbi10by1wcmV2YWxlbnQtd2l0aG91dC1pbnRlcmFjdGlvbi1kYXRhYmFzZS5waHAjc3RlcDIi
OwotICAgICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICAgICAgY2FzZSAiI3N0ZXAyIjoKLSAg
ICAgICAgICAgICAgICBkb2N1bWVudC5sb2NhdGlvbi5oYXNoID0gInN0ZXAzIjsKLSAgICAgICAg
ICAgICAgICBpZiAoZG9jdW1lbnQubG9jYXRpb24ub3JpZ2luICE9PSBub25QcmV2YWxlbnRPcmln
aW4pCi0gICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoIlN0ZXAgMiBpcyBub3Qgb24gIiAr
IG5vblByZXZhbGVudE9yaWdpbiArICIuIik7Ci0gICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5z
ZXRTdGF0aXN0aWNzUHJldmFsZW50UmVzb3VyY2UocHJldmFsZW50T3JpZ2luLCB0cnVlLCBmdW5j
dGlvbigpIHsKLSAgICAgICAgICAgICAgICAgICAgaWYgKCF0ZXN0UnVubmVyLmlzU3RhdGlzdGlj
c1ByZXZhbGVudFJlc291cmNlKHByZXZhbGVudE9yaWdpbikpIHsKLSAgICAgICAgICAgICAgICAg
ICAgICAgIHRlc3RGYWlsZWQocHJldmFsZW50T3JpZ2luICsgIiBkaWQgbm90IGdldCBzZXQgYXMg
cHJldmFsZW50IHJlc291cmNlLiIpOwotICAgICAgICAgICAgICAgICAgICAgICAgc2V0RW5hYmxl
RmVhdHVyZShmYWxzZSwgZmluaXNoSlNUZXN0KTsKLSAgICAgICAgICAgICAgICAgICAgfQotICAg
ICAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLnN0YXRpc3RpY3NVcGRhdGVDb29raWVCbG9ja2lu
ZyhydW5UZXN0KTsKLSAgICAgICAgICAgICAgICB9KTsKLSAgICAgICAgICAgICAgICBicmVhazsK
LSAgICAgICAgICAgIGNhc2UgIiNzdGVwMyI6Ci0gICAgICAgICAgICAgICAgZG9jdW1lbnQubG9j
YXRpb24uaHJlZiA9IHByZXZhbGVudE9yaWdpbiArICIvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9k
by1ub3Qtc3dpdGNoLXNlc3Npb24tb24tbmF2aWdhdGlvbi10by1wcmV2YWxlbnQtd2l0aG91dC1p
bnRlcmFjdGlvbi1kYXRhYmFzZS5waHAjc3RlcDQiOwotICAgICAgICAgICAgICAgIGJyZWFrOwot
ICAgICAgICAgICAgY2FzZSAiI3N0ZXA0IjoKLSAgICAgICAgICAgICAgICBjaGVja0Nvb2tpZXMo
dHJ1ZSwgdHJ1ZSk7Ci0gICAgICAgICAgICAgICAgaWYgKHRlc3RSdW5uZXIuaGFzU3RhdGlzdGlj
c0lzb2xhdGVkU2Vzc2lvbihwcmV2YWxlbnRPcmlnaW4pKQotICAgICAgICAgICAgICAgICAgICB0
ZXN0RmFpbGVkKCJPcmlnaW4gaGFzIGlzb2xhdGVkIHNlc3Npb24uIik7Ci0gICAgICAgICAgICAg
ICAgZWxzZQotICAgICAgICAgICAgICAgICAgICB0ZXN0UGFzc2VkKCJPcmlnaW4gaGFzIG5vIGlz
b2xhdGVkIHNlc3Npb24uIik7Ci0gICAgICAgICAgICAgICAgc2V0RW5hYmxlRmVhdHVyZShmYWxz
ZSwgZmluaXNoSlNUZXN0KTsKLSAgICAgICAgICAgICAgICBicmVhazsKLSAgICAgICAgICAgIGRl
ZmF1bHQ6Ci0gICAgICAgICAgICAgICAgdGVzdEZhaWxlZCgiVW5rbm93biBoYXNoLiIpOwotICAg
ICAgICAgICAgICAgIHNldEVuYWJsZUZlYXR1cmUoZmFsc2UsIGZpbmlzaEpTVGVzdCk7Ci0gICAg
ICAgIH0KLSAgICB9Ci08L3NjcmlwdD4KLTwvYm9keT4KLTwvaHRtbD4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9kb250LWNvdW50LXRo
aXJkLXBhcnR5LWltYWdlLWFzLXRoaXJkLXBhcnR5LXNjcmlwdC1kYXRhYmFzZS1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvZG9udC1j
b3VudC10aGlyZC1wYXJ0eS1pbWFnZS1hcy10aGlyZC1wYXJ0eS1zY3JpcHQtZGF0YWJhc2UtZXhw
ZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMjVjMjNmOTIyZjRkNGU3
ZTBmMjViYWU3NDViZGRiNDVjY2ZkYjFjLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlz
dGljcy9kb250LWNvdW50LXRoaXJkLXBhcnR5LWltYWdlLWFzLXRoaXJkLXBhcnR5LXNjcmlwdC1k
YXRhYmFzZS1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSwyNCArMCwwIEBACi1QQVNT
IHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCi0KLVRFU1QgQ09NUExFVEUKLQotUmVzb3VyY2Ug
bG9hZCBzdGF0aXN0aWNzOgotCi1SZWdpc3RyYWJsZSBkb21haW46IDEyNy4wLjAuMQotICAgIGhh
ZFVzZXJJbnRlcmFjdGlvbjogTm8KLSAgICBtb3N0UmVjZW50VXNlckludGVyYWN0aW9uOiAtMQot
ICAgIGdyYW5kZmF0aGVyZWQ6IE5vCi0gICAgSXNTY2hlZHVsZWRGb3JBbGxCdXRDb29raWVEYXRh
UmVtb3ZhbDogTm8KLSAgICBpc1ByZXZhbGVudFJlc291cmNlOiBObwotICAgIGlzVmVyeVByZXZh
bGVudFJlc291cmNlOiBObwotICAgIGRhdGFSZWNvcmRzUmVtb3ZlZDogMAotUmVnaXN0cmFibGUg
ZG9tYWluOiBsb2NhbGhvc3QKLSAgICBoYWRVc2VySW50ZXJhY3Rpb246IE5vCi0gICAgbW9zdFJl
Y2VudFVzZXJJbnRlcmFjdGlvbjogLTEKLSAgICBncmFuZGZhdGhlcmVkOiBObwotICAgIElzU2No
ZWR1bGVkRm9yQWxsQnV0Q29va2llRGF0YVJlbW92YWw6IE5vCi0gICAgU3VicmVzb3VyY2VVbmRl
clRvcEZyYW1lRG9tYWluczoKLSAgICAgICAgMTI3LjAuMC4xCi0gICAgaXNQcmV2YWxlbnRSZXNv
dXJjZTogTm8KLSAgICBpc1ZlcnlQcmV2YWxlbnRSZXNvdXJjZTogTm8KLSAgICBkYXRhUmVjb3Jk
c1JlbW92ZWQ6IDAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VM
b2FkU3RhdGlzdGljcy9kb250LWNvdW50LXRoaXJkLXBhcnR5LWltYWdlLWFzLXRoaXJkLXBhcnR5
LXNjcmlwdC1kYXRhYmFzZS5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxv
YWRTdGF0aXN0aWNzL2RvbnQtY291bnQtdGhpcmQtcGFydHktaW1hZ2UtYXMtdGhpcmQtcGFydHkt
c2NyaXB0LWRhdGFiYXNlLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGJkMTAy
OWZhZTVlOTdhZGFjODYwMmQ4MzdkZDBlNGE3Mzc3YTkyZmIuLjAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJj
ZUxvYWRTdGF0aXN0aWNzL2RvbnQtY291bnQtdGhpcmQtcGFydHktaW1hZ2UtYXMtdGhpcmQtcGFy
dHktc2NyaXB0LWRhdGFiYXNlLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSw0OCArMCwwIEBACi08
IURPQ1RZUEUgaHRtbD4KLTxodG1sIGxhbmc9ImVuIj4KLTxoZWFkPgotICAgIDxtZXRhIGNoYXJz
ZXQ9IlVURi04Ij4KLSAgICA8dGl0bGU+VGVzdCBub3QgY291bnRpbmcgdGhpcmQtcGFydHkgaW1h
Z2VzIGFzIHRoaXJkLXBhcnR5IHNjcmlwdCBsb2FkczwvdGl0bGU+Ci0gICAgPHNjcmlwdCBzcmM9
Ii9qcy10ZXN0LXJlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KLSAgICA8c2NyaXB0IHNy
Yz0icmVzb3VyY2VzL3V0aWwuanMiPjwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHkgb25sb2FkPSJy
dW5UZXN0KCkiPgotPHNjcmlwdD4KLSAgICBjb25zdCB0aGlyZFBhcnR5T3JpZ2luID0gImh0dHA6
Ly9sb2NhbGhvc3Q6ODAwMCI7Ci0gICAgY29uc3QgdGhpcmRQYXJ0eUJhc2VVcmwgPSB0aGlyZFBh
cnR5T3JpZ2luICsgIi9yZXNvdXJjZXMiOwotCi0gICAgZnVuY3Rpb24gZmluaXNoVGVzdCgpIHsK
LSAgICAgICAgdGVzdFJ1bm5lci5kdW1wUmVzb3VyY2VMb2FkU3RhdGlzdGljcygpOwotICAgICAg
ICBzZXRFbmFibGVGZWF0dXJlKGZhbHNlLCBmdW5jdGlvbigpIHsKLSAgICAgICAgICAgIHRlc3RS
dW5uZXIubm90aWZ5RG9uZSgpOwotICAgICAgICB9KTsKLSAgICB9Ci0KLSAgICBmdW5jdGlvbiBy
dW5UZXN0KCkgewotICAgICAgICBzd2l0Y2ggKGRvY3VtZW50LmxvY2F0aW9uLmhhc2gpIHsKLSAg
ICAgICAgICAgIGNhc2UgIiI6Ci0gICAgICAgICAgICAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVy
ICYmIHdpbmRvdy5pbnRlcm5hbHMpIHsKLSAgICAgICAgICAgICAgICAgICAgdGVzdFJ1bm5lci53
YWl0VW50aWxEb25lKCk7Ci0gICAgICAgICAgICAgICAgICAgIHNldEVuYWJsZUZlYXR1cmUodHJ1
ZSwgZnVuY3Rpb24oKSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLnNldFVz
ZUlUUERhdGFiYXNlKHRydWUpOwotICAgICAgICAgICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5p
bnN0YWxsU3RhdGlzdGljc0RpZFNjYW5EYXRhUmVjb3Jkc0NhbGxiYWNrKGZpbmlzaFRlc3QpOwot
ICAgICAgICAgICAgICAgICAgICAgICAgZG9jdW1lbnQubG9jYXRpb24uaGFzaCA9ICJzdGVwMSI7
Ci0gICAgICAgICAgICAgICAgICAgICAgICBydW5UZXN0KCk7Ci0gICAgICAgICAgICAgICAgICAg
IH0pOwotICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICBicmVhazsKLSAgICAgICAg
ICAgIGNhc2UgIiNzdGVwMSI6Ci0gICAgICAgICAgICAgICAgZG9jdW1lbnQubG9jYXRpb24uaGFz
aCA9ICJzdGVwMiI7Ci0gICAgICAgICAgICAgICAgbGV0IGltZ0VsZW1lbnQgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KCJpbWciKTsKLSAgICAgICAgICAgICAgICBpbWdFbGVtZW50Lm9ubG9hZCA9
IHJ1blRlc3Q7Ci0gICAgICAgICAgICAgICAgaW1nRWxlbWVudC5zcmMgPSB0aGlyZFBhcnR5QmFz
ZVVybCArICIvc3F1YXJlMjAuanBnP2R1bW15UGFyYW09IiArIE1hdGgucmFuZG9tKCk7Ci0gICAg
ICAgICAgICAgICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChpbWdFbGVtZW50KTsKLSAgICAg
ICAgICAgICAgICBicmVhazsKLSAgICAgICAgICAgIGNhc2UgIiNzdGVwMiI6Ci0gICAgICAgICAg
ICAgICAgdGVzdFJ1bm5lci5zdGF0aXN0aWNzTm90aWZ5T2JzZXJ2ZXIoKTsKLSAgICAgICAgICAg
ICAgICBicmVhazsKLSAgICAgICAgfQotICAgIH0KLTwvc2NyaXB0PgotPC9ib2R5PgotPC9odG1s
PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0
aWNzL2RvbnQtY291bnQtdGhpcmQtcGFydHktaW1hZ2UtYXMtdGhpcmQtcGFydHktc2NyaXB0LWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGlj
cy9kb250LWNvdW50LXRoaXJkLXBhcnR5LWltYWdlLWFzLXRoaXJkLXBhcnR5LXNjcmlwdC1leHBl
Y3RlZC50eHQKaW5kZXggMDZjNmFlMDZjZjM1ZTM1NWNlZTYwMjI3MTA0MTk3NDI1ZTk4MTE3Mi4u
MDI1YzIzZjkyMmY0ZDRlN2UwZjI1YmFlNzQ1YmRkYjQ1Y2NmZGIxYyAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2RvbnQtY291bnQtdGhp
cmQtcGFydHktaW1hZ2UtYXMtdGhpcmQtcGFydHktc2NyaXB0LWV4cGVjdGVkLnR4dAorKysgYi9M
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvZG9udC1jb3VudC10
aGlyZC1wYXJ0eS1pbWFnZS1hcy10aGlyZC1wYXJ0eS1zY3JpcHQtZXhwZWN0ZWQudHh0CkBAIC00
LDE1ICs0LDIxIEBAIFRFU1QgQ09NUExFVEUKIAogUmVzb3VyY2UgbG9hZCBzdGF0aXN0aWNzOgog
CitSZWdpc3RyYWJsZSBkb21haW46IDEyNy4wLjAuMQorICAgIGhhZFVzZXJJbnRlcmFjdGlvbjog
Tm8KKyAgICBtb3N0UmVjZW50VXNlckludGVyYWN0aW9uOiAtMQorICAgIGdyYW5kZmF0aGVyZWQ6
IE5vCisgICAgSXNTY2hlZHVsZWRGb3JBbGxCdXRDb29raWVEYXRhUmVtb3ZhbDogTm8KKyAgICBp
c1ByZXZhbGVudFJlc291cmNlOiBObworICAgIGlzVmVyeVByZXZhbGVudFJlc291cmNlOiBObwor
ICAgIGRhdGFSZWNvcmRzUmVtb3ZlZDogMAogUmVnaXN0cmFibGUgZG9tYWluOiBsb2NhbGhvc3QK
ICAgICBoYWRVc2VySW50ZXJhY3Rpb246IE5vCiAgICAgbW9zdFJlY2VudFVzZXJJbnRlcmFjdGlv
bjogLTEKICAgICBncmFuZGZhdGhlcmVkOiBObwotICAgIGdvdExpbmtEZWNvcmF0aW9uRnJvbVBy
ZXZhbGVudFJlc291cmNlOiBObwotICAgIHN1YnJlc291cmNlVW5kZXJUb3BGcmFtZURvbWFpbnM6
CisgICAgSXNTY2hlZHVsZWRGb3JBbGxCdXRDb29raWVEYXRhUmVtb3ZhbDogTm8KKyAgICBTdWJy
ZXNvdXJjZVVuZGVyVG9wRnJhbWVEb21haW5zOgogICAgICAgICAxMjcuMC4wLjEKICAgICBpc1By
ZXZhbGVudFJlc291cmNlOiBObwogICAgIGlzVmVyeVByZXZhbGVudFJlc291cmNlOiBObwogICAg
IGRhdGFSZWNvcmRzUmVtb3ZlZDogMAotICAgIGNhbnZhc1JlYWREYXRhOiBObwotCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvZG93bmdy
YWRlLWRvY3VtZW50LXJlZmVycmVyLW5lc3RlZC10aGlyZC1wYXJ0eS1pZnJhbWUuaHRtbCBiL0xh
eW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9kb3duZ3JhZGUtZG9j
dW1lbnQtcmVmZXJyZXItbmVzdGVkLXRoaXJkLXBhcnR5LWlmcmFtZS5odG1sCmluZGV4IDRlMWUy
M2EwZjNlODk3ZjlmZDg5OWExYjNlODI1YzZhNGU3Y2RjYWMuLjkyOTEyMjIwNGI3ZWUxOGQxOTI2
OWJmZDJkOGJmOTQ4Njg4Y2RiNmMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMv
cmVzb3VyY2VMb2FkU3RhdGlzdGljcy9kb3duZ3JhZGUtZG9jdW1lbnQtcmVmZXJyZXItbmVzdGVk
LXRoaXJkLXBhcnR5LWlmcmFtZS5odG1sCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVz
b3VyY2VMb2FkU3RhdGlzdGljcy9kb3duZ3JhZGUtZG9jdW1lbnQtcmVmZXJyZXItbmVzdGVkLXRo
aXJkLXBhcnR5LWlmcmFtZS5odG1sCkBAIC0yNCw3ICsyNCw2IEBACiAKICAgICBmdW5jdGlvbiBy
dW5UZXN0KCkgewogICAgICAgICBpZiAodGVzdFJ1bm5lcikgewotICAgICAgICAgICAgdGVzdFJ1
bm5lci5zZXRVc2VJVFBEYXRhYmFzZSh0cnVlKTsKICAgICAgICAgICAgIHNldEVuYWJsZUZlYXR1
cmUodHJ1ZSwgZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgICAgbGV0IGlmcmFtZUVsZW1lbnQg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJpZnJhbWUiKTsKICAgICAgICAgICAgICAgICBpZnJh
bWVFbGVtZW50LnNyYyA9ICJodHRwOi8vMTI3LjAuMC4xOjgwMDAvcmVzb3VyY2VMb2FkU3RhdGlz
dGljcy9yZXNvdXJjZXMvbmVzdC1pZnJhbWUtcmVwb3J0LWRvY3VtZW50LXJlZmVycmVyLmh0bWwi
OwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0
aWNzL2Rvd25ncmFkZS1kb2N1bWVudC1yZWZlcnJlci10aGlyZC1wYXJ0eS1pZnJhbWUuaHRtbCBi
L0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9kb3duZ3JhZGUt
ZG9jdW1lbnQtcmVmZXJyZXItdGhpcmQtcGFydHktaWZyYW1lLmh0bWwKaW5kZXggODY0ZDExZmNk
YzlmMmU4ODFhOWY1NDAxOTJiNzQ4NjdmY2ZlYjA0OC4uZDE0MTk0NzEzYjIxM2EzNGZlYjEwZDNk
ZGVmOGVkYmFiNTBlNzNjNiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNv
dXJjZUxvYWRTdGF0aXN0aWNzL2Rvd25ncmFkZS1kb2N1bWVudC1yZWZlcnJlci10aGlyZC1wYXJ0
eS1pZnJhbWUuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0
YXRpc3RpY3MvZG93bmdyYWRlLWRvY3VtZW50LXJlZmVycmVyLXRoaXJkLXBhcnR5LWlmcmFtZS5o
dG1sCkBAIC0yNCw3ICsyNCw2IEBACiAKICAgICBmdW5jdGlvbiBydW5UZXN0KCkgewogICAgICAg
ICBpZiAodGVzdFJ1bm5lcikgewotICAgICAgICAgICAgdGVzdFJ1bm5lci5zZXRVc2VJVFBEYXRh
YmFzZSh0cnVlKTsKICAgICAgICAgICAgIHNldEVuYWJsZUZlYXR1cmUodHJ1ZSwgZnVuY3Rpb24o
KSB7CiAgICAgICAgICAgICAgICAgbGV0IGlmcmFtZUVsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KCJpZnJhbWUiKTsKICAgICAgICAgICAgICAgICBpZnJhbWVFbGVtZW50LnNyYyA9ICJo
dHRwOi8vbG9jYWxob3N0OjgwMDAvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9yZXNvdXJjZXMvcmVw
b3J0LWRvY3VtZW50LXJlZmVycmVyLmh0bWwiOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2Rvd25ncmFkZWQtcmVmZXJyZXItZm9yLW5h
dmlnYXRpb24td2l0aC1saW5rLXF1ZXJ5LWZyb20tcHJldmFsZW50LXJlc291cmNlLWRhdGFiYXNl
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlz
dGljcy9kb3duZ3JhZGVkLXJlZmVycmVyLWZvci1uYXZpZ2F0aW9uLXdpdGgtbGluay1xdWVyeS1m
cm9tLXByZXZhbGVudC1yZXNvdXJjZS1kYXRhYmFzZS1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDBmYmE4MTAzNWUyZmVjYmExMzk0ZDAxZGYyZTliZTIwNjk1ZTg1
YTUuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2Rvd25ncmFkZWQtcmVmZXJy
ZXItZm9yLW5hdmlnYXRpb24td2l0aC1saW5rLXF1ZXJ5LWZyb20tcHJldmFsZW50LXJlc291cmNl
LWRhdGFiYXNlLWV4cGVjdGVkLnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDEwICswLDAgQEAKLUNo
ZWNrIHRoYXQgZG9jdW1lbnQucmVmZXJyZXIgaXMgZG93bmdyYWRlZCB0byB0aGUgZVRMRCsxIGFm
dGVyIGEgY3Jvc3Mtc2l0ZSBuYXZpZ2F0aW9uIHdpdGggbGluayBxdWVyeS4KLQotT24gc3VjY2Vz
cywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkg
IlRFU1QgQ09NUExFVEUiLgotCi0KLVBBU1MgVGhlIHJlZmVycmVyIGlzIGRvd25ncmFkZWQuCi1Q
QVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCi0KLVRFU1QgQ09NUExFVEUKLQpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2Rvd25n
cmFkZWQtcmVmZXJyZXItZm9yLW5hdmlnYXRpb24td2l0aC1saW5rLXF1ZXJ5LWZyb20tcHJldmFs
ZW50LXJlc291cmNlLWRhdGFiYXNlLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291
cmNlTG9hZFN0YXRpc3RpY3MvZG93bmdyYWRlZC1yZWZlcnJlci1mb3ItbmF2aWdhdGlvbi13aXRo
LWxpbmstcXVlcnktZnJvbS1wcmV2YWxlbnQtcmVzb3VyY2UtZGF0YWJhc2UuaHRtbApkZWxldGVk
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYjM2MDIwYjJlMDFhNWIxZjY2ZTM1ZGFiYmQ4MDE0YmNi
OGMyZWUzZC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9M
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvZG93bmdyYWRlZC1y
ZWZlcnJlci1mb3ItbmF2aWdhdGlvbi13aXRoLWxpbmstcXVlcnktZnJvbS1wcmV2YWxlbnQtcmVz
b3VyY2UtZGF0YWJhc2UuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDU0ICswLDAgQEAKLTwhRE9D
VFlQRSBodG1sPgotPGh0bWw+Ci08aGVhZD4KLSAgICA8c2NyaXB0IHNyYz0iL2pzLXRlc3QtcmVz
b3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgotICAgIDxzY3JpcHQgc3JjPSIvY29va2llcy9y
ZXNvdXJjZXMvY29va2llLXV0aWxpdGllcy5qcyI+PC9zY3JpcHQ+Ci0gICAgPHNjcmlwdCBzcmM9
InJlc291cmNlcy91dGlsLmpzIj48L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5IG9ubG9hZD0ic2V0
VGltZW91dCgncnVuVGVzdCgpJywgMCkiPgotPHNjcmlwdD4KLSAgICBkZXNjcmlwdGlvbigiQ2hl
Y2sgdGhhdCBkb2N1bWVudC5yZWZlcnJlciBpcyBkb3duZ3JhZGVkIHRvIHRoZSBlVExEKzEgYWZ0
ZXIgYSBjcm9zcy1zaXRlIG5hdmlnYXRpb24gd2l0aCBsaW5rIHF1ZXJ5LiIpOwotICAgIGpzVGVz
dElzQXN5bmMgPSB0cnVlOwotCi0gICAgbGV0IG51bWJlck9mVHJpZXMgPSAwOwotICAgIGZ1bmN0
aW9uIHRlc3RSZWZlcnJlcigpIHsKLSAgICAgICAgaWYgKGRvY3VtZW50LnJlZmVycmVyID09PSBw
cmV2YWxlbnRSZXNvdXJjZU9yaWdpbiArICIvIikgewotICAgICAgICAgICAgdGVzdFBhc3NlZCgi
VGhlIHJlZmVycmVyIGlzIGRvd25ncmFkZWQuIik7Ci0gICAgICAgICAgICBzZXRFbmFibGVGZWF0
dXJlKGZhbHNlLCBmaW5pc2hKU1Rlc3QpOwotICAgICAgICB9IGVsc2UgaWYgKCsrbnVtYmVyT2ZU
cmllcyA8PSA1KQotICAgICAgICAgICAgc2V0VGltZW91dCh0ZXN0UmVmZXJyZXIsIDIwMCk7Ci0g
ICAgICAgIGVsc2UgewotICAgICAgICAgICAgdGVzdEZhaWxlZCgiVGhlIHJlZmVycmVyIGlzIG5v
dCBkb3duZ3JhZGVkOiAiICsgZG9jdW1lbnQucmVmZXJyZXIpOwotICAgICAgICAgICAgc2V0RW5h
YmxlRmVhdHVyZShmYWxzZSwgZmluaXNoSlNUZXN0KTsKLSAgICAgICAgfQotICAgIH0KLQotICAg
IGZ1bmN0aW9uIG5hdmlnYXRlU2FtZU9yaWdpblRvQWRkUXVlcnkoKSB7Ci0gICAgICAgIGRvY3Vt
ZW50LmxvY2F0aW9uLmhyZWYgPSBwcmV2YWxlbnRSZXNvdXJjZU9yaWdpbiArICIvcmVzb3VyY2VM
b2FkU3RhdGlzdGljcy9kb3duZ3JhZGVkLXJlZmVycmVyLWZvci1uYXZpZ2F0aW9uLXdpdGgtbGlu
ay1xdWVyeS1mcm9tLXByZXZhbGVudC1yZXNvdXJjZS1kYXRhYmFzZS5odG1sP2xpbms9cXVlcnki
OwotICAgIH0KLQotICAgIGZ1bmN0aW9uIG5hdmlnYXRlQ3Jvc3NPcmlnaW4oKSB7Ci0gICAgICAg
IGRvY3VtZW50LmxvY2F0aW9uLmhyZWYgPSBkZXN0aW5hdGlvbk9yaWdpbiArICIvcmVzb3VyY2VM
b2FkU3RhdGlzdGljcy9kb3duZ3JhZGVkLXJlZmVycmVyLWZvci1uYXZpZ2F0aW9uLXdpdGgtbGlu
ay1xdWVyeS1mcm9tLXByZXZhbGVudC1yZXNvdXJjZS1kYXRhYmFzZS5odG1sIjsKLSAgICB9Ci0K
LSAgICBjb25zdCBkZXN0aW5hdGlvbk9yaWdpbiA9ICJodHRwOi8vbG9jYWxob3N0OjgwMDAiOwot
ICAgIGNvbnN0IHByZXZhbGVudFJlc291cmNlT3JpZ2luID0gImh0dHA6Ly8xMjcuMC4wLjE6ODAw
MCI7Ci0gICAgZnVuY3Rpb24gcnVuVGVzdCgpIHsKLSAgICAgICAgaWYgKGRvY3VtZW50LmxvY2F0
aW9uLm9yaWdpbiA9PT0gcHJldmFsZW50UmVzb3VyY2VPcmlnaW4gJiYgZG9jdW1lbnQubG9jYXRp
b24uc2VhcmNoID09PSAiIikgewotICAgICAgICAgICAgbmF2aWdhdGVTYW1lT3JpZ2luVG9BZGRR
dWVyeSgpOwotICAgICAgICB9IGVsc2UgaWYgKGRvY3VtZW50LmxvY2F0aW9uLm9yaWdpbiA9PT0g
cHJldmFsZW50UmVzb3VyY2VPcmlnaW4pIHsKLSAgICAgICAgICAgIHRlc3RSdW5uZXIuc2V0VXNl
SVRQRGF0YWJhc2UodHJ1ZSk7Ci0gICAgICAgICAgICBzZXRFbmFibGVGZWF0dXJlKHRydWUsIGZ1
bmN0aW9uICgpIHsKLSAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NQcmV2
YWxlbnRSZXNvdXJjZShwcmV2YWxlbnRSZXNvdXJjZU9yaWdpbiwgdHJ1ZSwgZnVuY3Rpb24oKSB7
Ci0gICAgICAgICAgICAgICAgICAgIGlmICghdGVzdFJ1bm5lci5pc1N0YXRpc3RpY3NQcmV2YWxl
bnRSZXNvdXJjZShwcmV2YWxlbnRSZXNvdXJjZU9yaWdpbikpCi0gICAgICAgICAgICAgICAgICAg
ICAgICB0ZXN0RmFpbGVkKCJIb3N0IGRpZCBub3QgZ2V0IHNldCBhcyBwcmV2YWxlbnQgcmVzb3Vy
Y2UuIik7Ci0gICAgICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIuc3RhdGlzdGljc1VwZGF0ZUNv
b2tpZUJsb2NraW5nKG5hdmlnYXRlQ3Jvc3NPcmlnaW4pOwotICAgICAgICAgICAgICAgIH0pOwot
ICAgICAgICAgICAgfSk7Ci0gICAgICAgIH0gZWxzZSB7Ci0gICAgICAgICAgICB0ZXN0UmVmZXJy
ZXIoKTsKLSAgICAgICAgfQotICAgIH0KLTwvc2NyaXB0PgotPC9ib2R5PgotPC9odG1sPgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2Vu
YWJsZS1kZWJ1Zy1tb2RlLWRhdGFiYXNlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAv
dGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9lbmFibGUtZGVidWctbW9kZS1kYXRhYmFzZS1l
eHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDY1MjE5ZGQzYjExZjJh
MzRjNDU3NTM0MGU3MzhkYWRjZmEwY2NmY2MuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0
aXN0aWNzL2VuYWJsZS1kZWJ1Zy1tb2RlLWRhdGFiYXNlLWV4cGVjdGVkLnR4dAorKysgL2Rldi9u
dWxsCkBAIC0xLDEwICswLDAgQEAKLVRlc3QgZm9yIGVuYWJsaW5nIGRlYnVnIG1vZGUgYW5kIHRo
YXQgaXQgcGVybWFuZW50bHkgdHJlYXRzIDNyZHBhcnR5dGVzdHdlYmtpdC5vcmcgYXMgYSBwcmV2
YWxlbnQgcmVzb3VyY2UuCi0KLU9uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAi
UEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KLQotCi1QQVNTIGh0
dHA6Ly8zcmRwYXJ0eXRlc3R3ZWJraXQub3JnIGdvdCBzZXQgYXMgcHJldmFsZW50IHJlc291cmNl
IGluIGRlYnVnIG1vZGUuCi1QQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCi0KLVRFU1Qg
Q09NUExFVEUKLQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxv
YWRTdGF0aXN0aWNzL2VuYWJsZS1kZWJ1Zy1tb2RlLWRhdGFiYXNlLmh0bWwgYi9MYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvZW5hYmxlLWRlYnVnLW1vZGUtZGF0
YWJhc2UuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNjM3ZmY5MjI1NjdmOWE0
NzI4MjczZGZhNDczMjYzN2E0ODVjYjlmNS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRp
c3RpY3MvZW5hYmxlLWRlYnVnLW1vZGUtZGF0YWJhc2UuaHRtbAorKysgL2Rldi9udWxsCkBAIC0x
LDM0ICswLDAgQEAKLTwhRE9DVFlQRSBodG1sPgotPGh0bWwgbGFuZz0iZW4iPgotPGhlYWQ+Ci0g
ICAgPG1ldGEgY2hhcnNldD0iVVRGLTgiPgotICAgIDxzY3JpcHQgc3JjPSIvanMtdGVzdC1yZXNv
dXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+Ci0gICAgPHNjcmlwdCBzcmM9InJlc291cmNlcy91
dGlsLmpzIj48L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5PgotPHNjcmlwdD4KLSAgICBkZXNjcmlw
dGlvbigiVGVzdCBmb3IgZW5hYmxpbmcgZGVidWcgbW9kZSBhbmQgdGhhdCBpdCBwZXJtYW5lbnRs
eSB0cmVhdHMgM3JkcGFydHl0ZXN0d2Via2l0Lm9yZyBhcyBhIHByZXZhbGVudCByZXNvdXJjZS4i
KTsKLSAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKLQotICAgIGNvbnN0IHRoaXJkUGFydHlPcmln
aW4gPSAiaHR0cDovLzNyZHBhcnR5dGVzdHdlYmtpdC5vcmciOwotCi0gICAgaWYgKHdpbmRvdy50
ZXN0UnVubmVyICYmIHdpbmRvdy5pbnRlcm5hbHMpIHsKLSAgICAgICAgdGVzdFJ1bm5lci5zZXRV
c2VJVFBEYXRhYmFzZSh0cnVlKTsKLSAgICAgICAgc2V0RW5hYmxlRmVhdHVyZSh0cnVlLCBmdW5j
dGlvbigpIHsKLSAgICAgICAgICAgIGlmICh0ZXN0UnVubmVyLmlzU3RhdGlzdGljc1ByZXZhbGVu
dFJlc291cmNlKHRoaXJkUGFydHlPcmlnaW4pKQotICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQo
dGhpcmRQYXJ0eU9yaWdpbiArICIgYWxyZWFkeSBzZXQgYXMgcHJldmFsZW50IHJlc291cmNlLiIp
OwotCi0gICAgICAgICAgICB0ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NEZWJ1Z01vZGUodHJ1ZSwg
ZnVuY3Rpb24oKSB7Ci0gICAgICAgICAgICAgICAgaWYgKCF0ZXN0UnVubmVyLmlzU3RhdGlzdGlj
c1ByZXZhbGVudFJlc291cmNlKHRoaXJkUGFydHlPcmlnaW4pKQotICAgICAgICAgICAgICAgICAg
ICB0ZXN0RmFpbGVkKHRoaXJkUGFydHlPcmlnaW4gKyAiIGRpZG4ndCBnZXQgc2V0IGFzIHByZXZh
bGVudCByZXNvdXJjZS4iKTsKLSAgICAgICAgICAgICAgICBlbHNlCi0gICAgICAgICAgICAgICAg
ICAgIHRlc3RQYXNzZWQodGhpcmRQYXJ0eU9yaWdpbiArICIgZ290IHNldCBhcyBwcmV2YWxlbnQg
cmVzb3VyY2UgaW4gZGVidWcgbW9kZS4iKTsKLSAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLnNl
dFN0YXRpc3RpY3NEZWJ1Z01vZGUoZmFsc2UsIGZ1bmN0aW9uKCkgewotICAgICAgICAgICAgICAg
ICAgICBzZXRFbmFibGVGZWF0dXJlKGZhbHNlLCBmaW5pc2hKU1Rlc3QpOwotICAgICAgICAgICAg
ICAgIH0pOwotICAgICAgICAgICAgfSk7Ci0gICAgICAgIH0pOwotICAgIH0KLTwvc2NyaXB0Pgot
PC9ib2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNv
dXJjZUxvYWRTdGF0aXN0aWNzL2VuZm9yY2Utc2FtZXNpdGUtc3RyaWN0LWJhc2VkLW9uLXRvcC1m
cmFtZS11bmlxdWUtcmVkaXJlY3RzLXRvLWRhdGFiYXNlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9lbmZvcmNlLXNhbWVzaXRlLXN0
cmljdC1iYXNlZC1vbi10b3AtZnJhbWUtdW5pcXVlLXJlZGlyZWN0cy10by1kYXRhYmFzZS1leHBl
Y3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGEwMGIxODUzYWQzNTE3MzM2
Yjg3YzdjNDMwM2YwMjdlNDAyN2FlZDcuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0
aWNzL2VuZm9yY2Utc2FtZXNpdGUtc3RyaWN0LWJhc2VkLW9uLXRvcC1mcmFtZS11bmlxdWUtcmVk
aXJlY3RzLXRvLWRhdGFiYXNlLWV4cGVjdGVkLnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDEyICsw
LDAgQEAKLVRlc3RzIGZvciBTYW1lU2l0ZT1zdHJpY3QgZW5mb3JjZW1lbnQgYmFzZWQgb24gdG9w
IGZyYW1lIHVuaXF1ZSByZWRpcmVjdHMgdG8uCi0KLU9uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBh
IHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4K
LQotCi1QQVNTIENvb2tpZSB3YXMgbm90IFNhbWVTaXRlPXN0cmljdCBiZWZvcmUgdGVzdC4KLVBB
U1MgQ29va2llIHdhcyBTYW1lU2l0ZT1zdHJpY3QgYWZ0ZXIgZmlyc3QgdGVzdC4KLVBBU1MgQ29v
a2llIHdhcyBub3QgU2FtZVNpdGU9c3RyaWN0IGFmdGVyIHNlY29uZCB0ZXN0LgotUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQotCi1URVNUIENPTVBMRVRFCi0KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9lbmZvcmNlLXNhbWVz
aXRlLXN0cmljdC1iYXNlZC1vbi10b3AtZnJhbWUtdW5pcXVlLXJlZGlyZWN0cy10by1kYXRhYmFz
ZS5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2Vu
Zm9yY2Utc2FtZXNpdGUtc3RyaWN0LWJhc2VkLW9uLXRvcC1mcmFtZS11bmlxdWUtcmVkaXJlY3Rz
LXRvLWRhdGFiYXNlLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGQwYTMzMjMy
MDdkZTk5YTY0MGE0MDA5ZGI1MDA3MDljZjk3NDY3MjUuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxv
YWRTdGF0aXN0aWNzL2VuZm9yY2Utc2FtZXNpdGUtc3RyaWN0LWJhc2VkLW9uLXRvcC1mcmFtZS11
bmlxdWUtcmVkaXJlY3RzLXRvLWRhdGFiYXNlLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSw5OCAr
MCwwIEBACi08IURPQ1RZUEUgaHRtbD4KLTxodG1sIGxhbmc9ImVuIj4KLTxoZWFkPgotICAgIDxt
ZXRhIGNoYXJzZXQ9IlVURi04Ij4KLSAgICA8c2NyaXB0IHNyYz0iL2pzLXRlc3QtcmVzb3VyY2Vz
L2pzLXRlc3QuanMiPjwvc2NyaXB0PgotICAgIDxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvdXRpbC5q
cyI+PC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keT4KLTxzY3JpcHQ+Ci0gICAgZGVzY3JpcHRpb24o
IlRlc3RzIGZvciBTYW1lU2l0ZT1zdHJpY3QgZW5mb3JjZW1lbnQgYmFzZWQgb24gdG9wIGZyYW1l
IHVuaXF1ZSByZWRpcmVjdHMgdG8uIik7Ci0gICAganNUZXN0SXNBc3luYyA9IHRydWU7Ci0KLSAg
ICBjb25zdCBob3N0VW5kZXJUZXN0ID0gIjEyNy4wLjAuMTo4MDAwIjsKLSAgICBjb25zdCBzdGF0
aXN0aWNzVXJsID0gImh0dHA6Ly8iICsgaG9zdFVuZGVyVGVzdCArICIvdGVtcCI7Ci0gICAgZnVu
Y3Rpb24gc2V0TXVsdGlwbGVUb3BGcmFtZVVuaXF1ZVJlZGlyZWN0VG8ocmVkaXJlY3RpbmdQYXJ0
eSkgewotICAgICAgICB0ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NUb3BGcmFtZVVuaXF1ZVJlZGly
ZWN0VG8ocmVkaXJlY3RpbmdQYXJ0eSwgImh0dHA6Ly8xMjcuMC4wLjI6ODAwMC90ZW1wIik7Ci0g
ICAgICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc1RvcEZyYW1lVW5pcXVlUmVkaXJlY3RUbyhy
ZWRpcmVjdGluZ1BhcnR5LCAiaHR0cDovLzEyNy4wLjAuMzo4MDAwL3RlbXAiKTsKLSAgICAgICAg
dGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNzVG9wRnJhbWVVbmlxdWVSZWRpcmVjdFRvKHJlZGlyZWN0
aW5nUGFydHksICJodHRwOi8vMTI3LjAuMC40OjgwMDAvdGVtcCIpOwotICAgICAgICB0ZXN0UnVu
bmVyLnNldFN0YXRpc3RpY3NUb3BGcmFtZVVuaXF1ZVJlZGlyZWN0VG8ocmVkaXJlY3RpbmdQYXJ0
eSwgImh0dHA6Ly8xMjcuMC4wLjU6ODAwMC90ZW1wIik7Ci0gICAgICAgIHRlc3RSdW5uZXIuc2V0
U3RhdGlzdGljc1RvcEZyYW1lVW5pcXVlUmVkaXJlY3RUbyhyZWRpcmVjdGluZ1BhcnR5LCAiaHR0
cDovLzEyNy4wLjAuNjo4MDAwL3RlbXAiKTsKLSAgICAgICAgdGVzdFJ1bm5lci5zZXRTdGF0aXN0
aWNzVG9wRnJhbWVVbmlxdWVSZWRpcmVjdFRvKHJlZGlyZWN0aW5nUGFydHksICJodHRwOi8vMTI3
LjAuMC43OjgwMDAvdGVtcCIpOwotICAgICAgICB0ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NUb3BG
cmFtZVVuaXF1ZVJlZGlyZWN0VG8ocmVkaXJlY3RpbmdQYXJ0eSwgImh0dHA6Ly8xMjcuMC4wLjg6
ODAwMC90ZW1wIik7Ci0gICAgICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc1RvcEZyYW1lVW5p
cXVlUmVkaXJlY3RUbyhyZWRpcmVjdGluZ1BhcnR5LCAiaHR0cDovLzEyNy4wLjAuOTo4MDAwL3Rl
bXAiKTsKLSAgICAgICAgdGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNzVG9wRnJhbWVVbmlxdWVSZWRp
cmVjdFRvKHJlZGlyZWN0aW5nUGFydHksICJodHRwOi8vMTI3LjAuMC4xMDo4MDAwL3RlbXAiKTsK
LSAgICAgICAgdGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNzVG9wRnJhbWVVbmlxdWVSZWRpcmVjdFRv
KHJlZGlyZWN0aW5nUGFydHksICJodHRwOi8vMTI3LjAuMC4xMTo4MDAwL3RlbXAiKTsKLSAgICAg
ICAgdGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNzVG9wRnJhbWVVbmlxdWVSZWRpcmVjdFRvKHJlZGly
ZWN0aW5nUGFydHksICJodHRwOi8vMTI3LjAuMC4xMjo4MDAwL3RlbXAiKTsKLSAgICB9Ci0KLSAg
ICBmdW5jdGlvbiBjb21wbGV0ZVRlc3QoKSB7Ci0gICAgICAgIGxldCBjb29raWVzID0gaW50ZXJu
YWxzLmdldENvb2tpZXMoKTsKLSAgICAgICAgaWYgKGNvb2tpZXMubGVuZ3RoICE9PSAxKSB7Ci0g
ICAgICAgICAgICB0ZXN0RmFpbGVkKCJTaG91bGQgaGF2ZSBleGFjdGx5IG9uZSBjb29raWUgYmVm
b3JlIHRlc3QgYnV0IGZvdW5kICIgKyBjb29raWVzLmxlbmd0aCArICIgY29va2llcy4iKTsKLSAg
ICAgICAgICAgIHNldEVuYWJsZUZlYXR1cmUoZmFsc2UsIGZpbmlzaEpTVGVzdCk7Ci0gICAgICAg
ICAgICByZXR1cm47Ci0gICAgICAgIH0KLQotICAgICAgICBpZiAoY29va2llc1swXS5pc1NhbWVT
aXRlU3RyaWN0KQotICAgICAgICAgICAgdGVzdEZhaWxlZCgiQ29va2llIHdhcyBTYW1lU2l0ZT1z
dHJpY3QgYWZ0ZXIgc2Vjb25kIHRlc3QuIik7Ci0gICAgICAgIGVsc2UKLSAgICAgICAgICAgIHRl
c3RQYXNzZWQoIkNvb2tpZSB3YXMgbm90IFNhbWVTaXRlPXN0cmljdCBhZnRlciBzZWNvbmQgdGVz
dC4iKTsKLQotICAgICAgICBzZXRFbmFibGVGZWF0dXJlKGZhbHNlLCBmaW5pc2hKU1Rlc3QpOwot
ICAgIH0KLQotICAgIGZ1bmN0aW9uIHNlY29uZFN0ZXAoKSB7Ci0gICAgICAgIGxldCBjb29raWVz
ID0gaW50ZXJuYWxzLmdldENvb2tpZXMoKTsKLSAgICAgICAgaWYgKGNvb2tpZXMubGVuZ3RoICE9
PSAxKSB7Ci0gICAgICAgICAgICB0ZXN0RmFpbGVkKCJTaG91bGQgaGF2ZSBleGFjdGx5IG9uZSBj
b29raWUgYmVmb3JlIHRlc3QgYnV0IGZvdW5kICIgKyBjb29raWVzLmxlbmd0aCArICIgY29va2ll
cy4iKTsKLSAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOwotICAgICAgICAgICAgcmV0dXJuOwot
ICAgICAgICB9Ci0KLSAgICAgICAgaWYgKGNvb2tpZXNbMF0uaXNTYW1lU2l0ZVN0cmljdCkKLSAg
ICAgICAgICAgIHRlc3RQYXNzZWQoIkNvb2tpZSB3YXMgU2FtZVNpdGU9c3RyaWN0IGFmdGVyIGZp
cnN0IHRlc3QuIik7Ci0gICAgICAgIGVsc2UKLSAgICAgICAgICAgIHRlc3RGYWlsZWQoIkNvb2tp
ZSB3YXMgbm90IFNhbWVTaXRlPXN0cmljdCBhZnRlciBmaXJzdCB0ZXN0LiIpOwotCi0gICAgICAg
IC8vIFNldCB0aGUgY29va2llIGFnYWluIHRvIHJlc2V0IGl0cyBTYW1lU2l0ZSBzdGF0dXMuCi0g
ICAgICAgIGRvY3VtZW50LmNvb2tpZSA9ICJjbGllbnRTaWRlQ29va2llPTEiOwotCi0gICAgICAg
IHRlc3RSdW5uZXIuaW5zdGFsbFN0YXRpc3RpY3NEaWRTY2FuRGF0YVJlY29yZHNDYWxsYmFjayhj
b21wbGV0ZVRlc3QpOwotCi0gICAgICAgIHRlc3RSdW5uZXIuc3RhdGlzdGljc1Byb2Nlc3NTdGF0
aXN0aWNzQW5kRGF0YVJlY29yZHMoKTsKLSAgICB9Ci0KLSAgICBmdW5jdGlvbiBydW5UZXN0KCkg
ewotICAgICAgICBkb2N1bWVudC5jb29raWUgPSAiY2xpZW50U2lkZUNvb2tpZT0xIjsKLQotICAg
ICAgICB0ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NIYXNIYWRVc2VySW50ZXJhY3Rpb24oc3RhdGlz
dGljc1VybCwgdHJ1ZSk7Ci0KLSAgICAgICAgbGV0IGNvb2tpZXMgPSBpbnRlcm5hbHMuZ2V0Q29v
a2llcygpOwotICAgICAgICBpZiAoY29va2llcy5sZW5ndGggIT09IDEpIHsKLSAgICAgICAgICAg
IHRlc3RGYWlsZWQoIlNob3VsZCBoYXZlIGV4YWN0bHkgb25lIGNvb2tpZSBiZWZvcmUgdGVzdCBi
dXQgZm91bmQgIiArIGNvb2tpZXMubGVuZ3RoICsgIiBjb29raWVzLiIpOwotICAgICAgICAgICAg
c2V0RW5hYmxlRmVhdHVyZShmYWxzZSwgZmluaXNoSlNUZXN0KTsKLSAgICAgICAgICAgIHJldHVy
bjsKLSAgICAgICAgfQotCi0gICAgICAgIGlmIChjb29raWVzWzBdLmlzU2FtZVNpdGVTdHJpY3Qp
Ci0gICAgICAgICAgICB0ZXN0RmFpbGVkKCJDb29raWUgd2FzIFNhbWVTaXRlPXN0cmljdCBiZWZv
cmUgdGVzdC4iKTsKLSAgICAgICAgZWxzZQotICAgICAgICAgICAgdGVzdFBhc3NlZCgiQ29va2ll
IHdhcyBub3QgU2FtZVNpdGU9c3RyaWN0IGJlZm9yZSB0ZXN0LiIpOwotCi0gICAgICAgIHNldE11
bHRpcGxlVG9wRnJhbWVVbmlxdWVSZWRpcmVjdFRvKHN0YXRpc3RpY3NVcmwpOwotCi0gICAgICAg
IHRlc3RSdW5uZXIuaW5zdGFsbFN0YXRpc3RpY3NEaWRTY2FuRGF0YVJlY29yZHNDYWxsYmFjayhz
ZWNvbmRTdGVwKTsKLQotICAgICAgICB0ZXN0UnVubmVyLnN0YXRpc3RpY3NQcm9jZXNzU3RhdGlz
dGljc0FuZERhdGFSZWNvcmRzKCk7Ci0gICAgfQotCi0gICAgaWYgKGRvY3VtZW50LmxvY2F0aW9u
Lmhvc3QgPT09IGhvc3RVbmRlclRlc3QgJiYgd2luZG93LnRlc3RSdW5uZXIgJiYgd2luZG93Lmlu
dGVybmFscykgewotICAgICAgICB0ZXN0UnVubmVyLnNldFVzZUlUUERhdGFiYXNlKHRydWUpOwot
ICAgICAgICBzZXRFbmFibGVGZWF0dXJlKHRydWUsIGZ1bmN0aW9uKCkgewotICAgICAgICAgICAg
cnVuVGVzdCgpOwotICAgICAgICB9KTsKLSAgICB9Ci08L3NjcmlwdD4KLTwvYm9keT4KLTwvaHRt
bD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlz
dGljcy9leGVtcHREb21haW5zL2FwcC1ib3VuZC1kb21haW5zLWV4ZW1wdC1mcm9tLXdlYnNpdGUt
ZGF0YS1kZWxldGlvbi1kYXRhYmFzZS5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNv
dXJjZUxvYWRTdGF0aXN0aWNzL2V4ZW1wdERvbWFpbnMvYXBwLWJvdW5kLWRvbWFpbnMtZXhlbXB0
LWZyb20td2Vic2l0ZS1kYXRhLWRlbGV0aW9uLWRhdGFiYXNlLmh0bWwKaW5kZXggZTRlNjcxYjBi
ODMzYTBlNWJhMmRhNjgwOTRiM2NmMDUzZWQyMDFjNC4uYTkwNDc5NWVhZDZhOTY1MTNmNjIzMTUz
YjM1ZmI2ODUzMjZmYjcxMyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNv
dXJjZUxvYWRTdGF0aXN0aWNzL2V4ZW1wdERvbWFpbnMvYXBwLWJvdW5kLWRvbWFpbnMtZXhlbXB0
LWZyb20td2Vic2l0ZS1kYXRhLWRlbGV0aW9uLWRhdGFiYXNlLmh0bWwKKysrIGIvTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2V4ZW1wdERvbWFpbnMvYXBwLWJv
dW5kLWRvbWFpbnMtZXhlbXB0LWZyb20td2Vic2l0ZS1kYXRhLWRlbGV0aW9uLWRhdGFiYXNlLmh0
bWwKQEAgLTEyLDcgKzEyLDYgQEAKIDxzY3JpcHQ+CiAgICAgdGVzdFJ1bm5lci53YWl0VW50aWxE
b25lKCk7CiAgICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7Ci0gICAgdGVzdFJ1bm5lci5zZXRV
c2VJVFBEYXRhYmFzZSh0cnVlKTsKIAogICAgIGNvbnN0IGh0dHBPbmx5Q29va2llTmFtZSA9ICJo
dHRwLW9ubHktY29va2llIjsKICAgICBjb25zdCBzZXJ2ZXJTaWRlQ29va2llTmFtZSA9ICJzZXJ2
ZXItc2lkZS1jb29raWUiOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNv
dXJjZUxvYWRTdGF0aXN0aWNzL2dyYW5kZmF0aGVyaW5nLWRhdGFiYXNlLWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9ncmFuZGZhdGhl
cmluZy1kYXRhYmFzZS1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAxODAzYmZjYjUzYjE0MDQ5ZDVlMWRhYWU1YjI1YjYyN2ZhY2U1YTUuLjAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9y
ZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2dyYW5kZmF0aGVyaW5nLWRhdGFiYXNlLWV4cGVjdGVkLnR4
dAorKysgL2Rldi9udWxsCkBAIC0xLDUgKzAsMCBAQAotUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQg
aXMgdHJ1ZQotCi1URVNUIENPTVBMRVRFCi1QQVNTIEdyYW5kZmF0aGVyZWQgY29va2llIHdhcyBu
b3QgcHVyZ2VkLgotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNl
TG9hZFN0YXRpc3RpY3MvZ3JhbmRmYXRoZXJpbmctZGF0YWJhc2UuaHRtbCBiL0xheW91dFRlc3Rz
L2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9ncmFuZGZhdGhlcmluZy1kYXRhYmFz
ZS5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwYjY4MDg4ZDdjMWFiMDJlN2Ix
M2YyNTZlM2FiZTI4MmIwZjgyZmM2Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGlj
cy9ncmFuZGZhdGhlcmluZy1kYXRhYmFzZS5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsMTE1ICsw
LDAgQEAKLTwhRE9DVFlQRSBodG1sPgotPGh0bWwgbGFuZz0iZW4iPgotPGhlYWQ+Ci0gICAgPG1l
dGEgY2hhcnNldD0iVVRGLTgiPgotICAgIDx0aXRsZT5UZXN0IGZvciBHcmFuZGZhdGhlcmluZzwv
dGl0bGU+Ci0gICAgPHNjcmlwdCBzcmM9Ii9qcy10ZXN0LXJlc291cmNlcy9qcy10ZXN0LmpzIj48
L3NjcmlwdD4KLSAgICA8c2NyaXB0IHNyYz0icmVzb3VyY2VzL3V0aWwuanMiPjwvc2NyaXB0Pgot
PC9oZWFkPgotPGJvZHk+Ci08c2NyaXB0PgotICAgIGNvbnN0IGZpcnN0UGFydHlPcmlnaW4gPSAi
aHR0cDovL2xvY2FsaG9zdDo4MDAwIjsKLSAgICBjb25zdCBmaXJzdFBhcnR5QmFzZVVybCA9IGZp
cnN0UGFydHlPcmlnaW4gKyAiL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvcmVzb3VyY2VzIjsKLSAg
ICBjb25zdCBmaXJzdFBhcnR5Q29va2llTmFtZSA9ICJmaXJzdFBhcnR5Q29va2llIjsKLSAgICBj
b25zdCB0aGlyZFBhcnR5Q29va2llTmFtZSA9ICJ0aGlyZFBhcnR5Q29va2llIjsKLSAgICBjb25z
dCBjb29raWVWYWx1ZSA9ICJ2YWx1ZSI7Ci0gICAgY29uc3Qgc3ViUGF0aFRvU2V0Rmlyc3RQYXJ0
eUNvb2tpZSA9ICIvc2V0LWNvb2tpZS5waHA/bmFtZT0iICsgZmlyc3RQYXJ0eUNvb2tpZU5hbWUg
KyAiJnZhbHVlPSIgKyBjb29raWVWYWx1ZTsKLSAgICBjb25zdCByZXR1cm5VcmwgPSBmaXJzdFBh
cnR5T3JpZ2luICsgIi9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2dyYW5kZmF0aGVyaW5nLWRhdGFi
YXNlLmh0bWwiOwotICAgIGNvbnN0IHRoaXJkUGFydHlPcmlnaW4gPSAiaHR0cDovLzEyNy4wLjAu
MTo4MDAwIjsKLSAgICBjb25zdCB0aGlyZFBhcnR5QmFzZVVybCA9IHRoaXJkUGFydHlPcmlnaW4g
KyAiL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvcmVzb3VyY2VzIjsKLSAgICBjb25zdCBzdWJQYXRo
VG9TZXRUaGlyZFBhcnR5Q29va2llID0gIi9zZXQtY29va2llLnBocD9uYW1lPSIgKyB0aGlyZFBh
cnR5Q29va2llTmFtZSArICImdmFsdWU9IiArIGNvb2tpZVZhbHVlOwotCi0gICAgZnVuY3Rpb24g
ZmluaXNoVGVzdCgpIHsKLSAgICAgICAgc2V0RW5hYmxlRmVhdHVyZShmYWxzZSwgZnVuY3Rpb24o
KSB7Ci0gICAgICAgICAgICB0ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsKLSAgICAgICAgfSk7Ci0g
ICAgfQotCi0gICAgZnVuY3Rpb24gZmlyZURhdGFNb2RpZmljYXRpb25IYW5kbGVyQW5kQ29udGlu
dWUoKSB7Ci0gICAgICAgIHRlc3RSdW5uZXIuaW5zdGFsbFN0YXRpc3RpY3NEaWRTY2FuRGF0YVJl
Y29yZHNDYWxsYmFjayhmdW5jdGlvbigpIHsKLSAgICAgICAgICAgIHJ1blRlc3QoKTsKLSAgICAg
ICAgfSk7Ci0gICAgICAgIHRlc3RSdW5uZXIuc3RhdGlzdGljc1Byb2Nlc3NTdGF0aXN0aWNzQW5k
RGF0YVJlY29yZHMoKTsKLSAgICB9Ci0KLSAgICBmdW5jdGlvbiBjbGVhckluTWVtb3J5QW5kUGVy
c2lzdGVudFN0b3JlQW5kQ29udGludWUoKSB7Ci0gICAgICAgIHRlc3RSdW5uZXIuc3RhdGlzdGlj
c0NsZWFySW5NZW1vcnlBbmRQZXJzaXN0ZW50U3RvcmUoZnVuY3Rpb24oKSB7Ci0gICAgICAgICAg
ICBydW5UZXN0KCk7Ci0gICAgICAgIH0pOwotICAgIH0KLQotICAgIGZ1bmN0aW9uIHJ1blRlc3Qo
KSB7Ci0gICAgICAgIHN3aXRjaCAoZG9jdW1lbnQubG9jYXRpb24uaGFzaCkgewotICAgICAgICAg
ICAgY2FzZSAiI3N0ZXAxIjoKLSAgICAgICAgICAgICAgICAvLyBTZXQgYSBmaXJzdC1wYXJ0eSBj
b29raWUgZm9yIGxvY2FsaG9zdC4KLSAgICAgICAgICAgICAgICBkb2N1bWVudC5sb2NhdGlvbi5o
cmVmID0gZmlyc3RQYXJ0eUJhc2VVcmwgKyBzdWJQYXRoVG9TZXRGaXJzdFBhcnR5Q29va2llICsg
IiMiICsgcmV0dXJuVXJsICsgIiNzdGVwMiI7Ci0gICAgICAgICAgICAgICAgYnJlYWs7Ci0gICAg
ICAgICAgICBjYXNlICIjc3RlcDIiOgotICAgICAgICAgICAgICAgIGRvY3VtZW50LmxvY2F0aW9u
Lmhhc2ggPSAic3RlcDMiOwotICAgICAgICAgICAgICAgIC8vIENoZWNrIHRoYXQgbG9jYWxob3N0
J3MgY29va2llIGlzIHRoZXJlLgotICAgICAgICAgICAgICAgIGlmIChkb2N1bWVudC5jb29raWUg
IT09IGZpcnN0UGFydHlDb29raWVOYW1lICsgIj0iICsgY29va2llVmFsdWUpCi0gICAgICAgICAg
ICAgICAgICAgIHRlc3RGYWlsZWQoIkZpcnN0LXBhcnR5IGNvb2tpZSBub3Qgc2V0LiIpOwotICAg
ICAgICAgICAgICAgIHJ1blRlc3QoKTsKLSAgICAgICAgICAgICAgICBicmVhazsKLSAgICAgICAg
ICAgIGNhc2UgIiNzdGVwMyI6Ci0gICAgICAgICAgICAgICAgZG9jdW1lbnQubG9jYXRpb24uaGFz
aCA9ICJzdGVwNCI7Ci0gICAgICAgICAgICAgICAgLy8gQ2xlYXIgc3RvcmUgdG8gdHJpZ2dlciBn
cmFuZGZhdGhlcmluZy4KLSAgICAgICAgICAgICAgICBjbGVhckluTWVtb3J5QW5kUGVyc2lzdGVu
dFN0b3JlQW5kQ29udGludWUoKTsKLSAgICAgICAgICAgICAgICBicmVhazsKLSAgICAgICAgICAg
IGNhc2UgIiNzdGVwNCI6Ci0gICAgICAgICAgICAgICAgZG9jdW1lbnQubG9jYXRpb24uaGFzaCA9
ICJzdGVwNSI7Ci0gICAgICAgICAgICAgICAgLy8gU2V0IGxvY2FsaG9zdCBhcyBwcmV2YWxlbnQg
cmVzb3VyY2UuCi0gICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNzUHJldmFs
ZW50UmVzb3VyY2UoImh0dHA6Ly9sb2NhbGhvc3QiLCB0cnVlLCBmdW5jdGlvbigpIHsKLSAgICAg
ICAgICAgICAgICAgICAgaWYgKCF0ZXN0UnVubmVyLmlzU3RhdGlzdGljc1ByZXZhbGVudFJlc291
cmNlKCJodHRwOi8vbG9jYWxob3N0IikpCi0gICAgICAgICAgICAgICAgICAgICAgICB0ZXN0RmFp
bGVkKCJMb2NhbGhvc3QgZGlkIG5vdCBnZXQgc2V0IGFzIHByZXZhbGVudCByZXNvdXJjZS4iKTsK
LSAgICAgICAgICAgICAgICAgICAgcnVuVGVzdCgpOwotICAgICAgICAgICAgICAgIH0pOwotICAg
ICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICAgICAgY2FzZSAiI3N0ZXA1IjoKLSAgICAgICAg
ICAgICAgICAvLyBTZXQgYSBmaXJzdC1wYXJ0eSBjb29raWUgZm9yIDEyNy4wLjAuMS4KLSAgICAg
ICAgICAgICAgICBkb2N1bWVudC5sb2NhdGlvbi5ocmVmID0gdGhpcmRQYXJ0eUJhc2VVcmwgKyBz
dWJQYXRoVG9TZXRUaGlyZFBhcnR5Q29va2llICsgIiMiICsgcmV0dXJuVXJsICsgIiNzdGVwNiI7
Ci0gICAgICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgICAgICBjYXNlICIjc3RlcDYiOgotICAg
ICAgICAgICAgICAgIGRvY3VtZW50LmxvY2F0aW9uLmhhc2ggPSAic3RlcDciOwotICAgICAgICAg
ICAgICAgIC8vIFNldCAxMjcuMC4wLjEgYXMgcHJldmFsZW50IHJlc291cmNlCi0gICAgICAgICAg
ICAgICAgdGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNzUHJldmFsZW50UmVzb3VyY2UoImh0dHA6Ly8x
MjcuMC4wLjEiLCB0cnVlLCBmdW5jdGlvbigpIHsKLSAgICAgICAgICAgICAgICAgICAgaWYgKCF0
ZXN0UnVubmVyLmlzU3RhdGlzdGljc1ByZXZhbGVudFJlc291cmNlKCJodHRwOi8vMTI3LjAuMC4x
IikpCi0gICAgICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKCIxMjcuMC4wLjEgZGlkIG5v
dCBnZXQgc2V0IGFzIHByZXZhbGVudCByZXNvdXJjZS4iKTsKLSAgICAgICAgICAgICAgICAgICAg
cnVuVGVzdCgpOwotICAgICAgICAgICAgICAgIH0pOwotICAgICAgICAgICAgICAgIGJyZWFrOwot
ICAgICAgICAgICAgY2FzZSAiI3N0ZXA3IjoKLSAgICAgICAgICAgICAgICBkb2N1bWVudC5sb2Nh
dGlvbi5oYXNoID0gInN0ZXA4IjsKLSAgICAgICAgICAgICAgICAvLyBUcmlnZ2VyIGEgcHVyZ2Uu
Ci0gICAgICAgICAgICAgICAgZmlyZURhdGFNb2RpZmljYXRpb25IYW5kbGVyQW5kQ29udGludWUo
KTsKLSAgICAgICAgICAgICAgICBicmVhazsKLSAgICAgICAgICAgIGNhc2UgIiNzdGVwOCI6Ci0g
ICAgICAgICAgICAgICAgLy8gQ2hlY2sgdGhhdCBsb2NhbGhvc3QncyBjb29raWUgaXMgc3RpbGwg
dGhlcmUuCi0gICAgICAgICAgICAgICAgaWYgKGRvY3VtZW50LmNvb2tpZSAhPT0gZmlyc3RQYXJ0
eUNvb2tpZU5hbWUgKyAiPSIgKyBjb29raWVWYWx1ZSkKLSAgICAgICAgICAgICAgICAgICAgdGVz
dEZhaWxlZCgiRmlyc3QtcGFydHkgY29va2llIHB1cmdlZC4iKTsKLSAgICAgICAgICAgICAgICBl
bHNlCi0gICAgICAgICAgICAgICAgICAgIHRlc3RQYXNzZWQoIkdyYW5kZmF0aGVyZWQgY29va2ll
IHdhcyBub3QgcHVyZ2VkLiIpOwotICAgICAgICAgICAgICAgIGZpbmlzaFRlc3QoKTsKLSAgICAg
ICAgICAgICAgICBicmVhazsKLSAgICAgICAgICAgIGRlZmF1bHQ6Ci0gICAgICAgICAgICAgICAg
dGVzdEZhaWxlZCgiU2hvdWxkIG5vdCBiZSByZWFjaGVkLiIpOwotICAgICAgICAgICAgICAgIGZp
bmlzaFRlc3QoKTsKLSAgICAgICAgfQotICAgIH0KLQotICAgIGlmIChkb2N1bWVudC5sb2NhdGlv
bi5oYXNoID09PSAiIiAmJiB3aW5kb3cudGVzdFJ1bm5lciAmJiB3aW5kb3cuaW50ZXJuYWxzKSB7
Ci0gICAgICAgIHRlc3RSdW5uZXIuc2V0VXNlSVRQRGF0YWJhc2UodHJ1ZSk7Ci0gICAgICAgIHRl
c3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOwotICAgICAgICBzZXRFbmFibGVGZWF0dXJlKHRydWUs
IGZ1bmN0aW9uKCkgewotICAgICAgICAgICAgdGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNzU2hvdWxk
Q2xhc3NpZnlSZXNvdXJjZXNCZWZvcmVEYXRhUmVjb3Jkc1JlbW92YWwoZmFsc2UpOwotICAgICAg
ICAgICAgdGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNzTWluaW11bVRpbWVCZXR3ZWVuRGF0YVJlY29y
ZHNSZW1vdmFsKDApOwotCi0gICAgICAgICAgICB0ZXN0UnVubmVyLmR1bXBDaGlsZEZyYW1lc0Fz
VGV4dCgpOwotICAgICAgICAgICAgZG9jdW1lbnQubG9jYXRpb24uaGFzaCA9ICJzdGVwMSI7Ci0g
ICAgICAgICAgICBydW5UZXN0KCk7Ci0gICAgICAgIH0pOwotICAgIH0gZWxzZQotICAgICAgICBy
dW5UZXN0KCk7Ci08L3NjcmlwdD4KLTwvYm9keT4KLTwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9sZWF2ZS1lbXB0eS1kb2N1
bWVudC1yZWZlcnJlci1hbG9uZS10aGlyZC1wYXJ0eS1pZnJhbWUuaHRtbCBiL0xheW91dFRlc3Rz
L2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9sZWF2ZS1lbXB0eS1kb2N1bWVudC1y
ZWZlcnJlci1hbG9uZS10aGlyZC1wYXJ0eS1pZnJhbWUuaHRtbAppbmRleCAzODVlYWRhODE0ZDQ0
MzU1NmE1YjAyZjdjZjgwODE2MzFiNjY1Nzg2Li4zMzUzZTc0M2JiNzZmNGFkZDlhYzg0ZmMyMmM5
YjdkODhhZmEyMDg0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNl
TG9hZFN0YXRpc3RpY3MvbGVhdmUtZW1wdHktZG9jdW1lbnQtcmVmZXJyZXItYWxvbmUtdGhpcmQt
cGFydHktaWZyYW1lLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxv
YWRTdGF0aXN0aWNzL2xlYXZlLWVtcHR5LWRvY3VtZW50LXJlZmVycmVyLWFsb25lLXRoaXJkLXBh
cnR5LWlmcmFtZS5odG1sCkBAIC0yNCw3ICsyNCw2IEBACiAKICAgICBmdW5jdGlvbiBydW5UZXN0
KCkgewogICAgICAgICBpZiAodGVzdFJ1bm5lcikgewotICAgICAgICAgICAgdGVzdFJ1bm5lci5z
ZXRVc2VJVFBEYXRhYmFzZSh0cnVlKTsKICAgICAgICAgICAgIHNldEVuYWJsZUZlYXR1cmUodHJ1
ZSwgZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgICAgbGV0IGlmcmFtZUVsZW1lbnQgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KCJpZnJhbWUiKTsKICAgICAgICAgICAgICAgICBpZnJhbWVFbGVt
ZW50LnJlZmVycmVyUG9saWN5ID0gIm5vLXJlZmVycmVyIjsKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9sb2ctY3Jvc3Mtc2l0ZS1sb2Fk
LXdpdGgtbGluay1kZWNvcmF0aW9uLWRhdGFiYXNlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9sb2ctY3Jvc3Mtc2l0ZS1sb2FkLXdp
dGgtbGluay1kZWNvcmF0aW9uLWRhdGFiYXNlLWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggNjdmODY1YmVlMTc4NzljYjRkNjhjMGQ1N2Y5ZWFmM2RmMGY5NGYwOC4u
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvbG9nLWNyb3NzLXNpdGUtbG9hZC13
aXRoLWxpbmstZGVjb3JhdGlvbi1kYXRhYmFzZS1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApA
QCAtMSwzNSArMCwwIEBACi1UZXN0IGxvZ2dpbmcgb2YgbGluayBkZWNvcmF0ZWQgY3Jvc3Mtc2l0
ZSBuYXZpZ2F0aW9ucyBmcm9tIGEgcHJldmFsZW50IHJlc291cmNlLgotCi1SZXNvdXJjZSBsb2Fk
IHN0YXRpc3RpY3M6Ci0KLVJlZ2lzdHJhYmxlIGRvbWFpbjogMTI3LjAuMC4xCi0gICAgaGFkVXNl
ckludGVyYWN0aW9uOiBObwotICAgIG1vc3RSZWNlbnRVc2VySW50ZXJhY3Rpb246IC0xCi0gICAg
Z3JhbmRmYXRoZXJlZDogTm8KLSAgICBUb3BGcmFtZVVuaXF1ZVJlZGlyZWN0c1RvOgotICAgICAg
ICBsb2NhbGhvc3QKLSAgICBJc1NjaGVkdWxlZEZvckFsbEJ1dENvb2tpZURhdGFSZW1vdmFsOiBO
bwotICAgIGlzUHJldmFsZW50UmVzb3VyY2U6IFllcwotICAgIGlzVmVyeVByZXZhbGVudFJlc291
cmNlOiBObwotICAgIGRhdGFSZWNvcmRzUmVtb3ZlZDogMAotUmVnaXN0cmFibGUgZG9tYWluOiAx
MjcuMC4wLjIKLSAgICBoYWRVc2VySW50ZXJhY3Rpb246IE5vCi0gICAgbW9zdFJlY2VudFVzZXJJ
bnRlcmFjdGlvbjogLTEKLSAgICBncmFuZGZhdGhlcmVkOiBObwotICAgIElzU2NoZWR1bGVkRm9y
QWxsQnV0Q29va2llRGF0YVJlbW92YWw6IE5vCi0gICAgaXNQcmV2YWxlbnRSZXNvdXJjZTogTm8K
LSAgICBpc1ZlcnlQcmV2YWxlbnRSZXNvdXJjZTogTm8KLSAgICBkYXRhUmVjb3Jkc1JlbW92ZWQ6
IDAKLVJlZ2lzdHJhYmxlIGRvbWFpbjogbG9jYWxob3N0Ci0gICAgaGFkVXNlckludGVyYWN0aW9u
OiBObwotICAgIG1vc3RSZWNlbnRVc2VySW50ZXJhY3Rpb246IC0xCi0gICAgZ3JhbmRmYXRoZXJl
ZDogTm8KLSAgICBUb3BGcmFtZVVuaXF1ZVJlZGlyZWN0c0Zyb206Ci0gICAgICAgIDEyNy4wLjAu
MQotICAgIFRvcEZyYW1lTGlua0RlY29yYXRpb25zRnJvbToKLSAgICAgICAgMTI3LjAuMC4xCi0g
ICAgICAgIDEyNy4wLjAuMgotICAgIElzU2NoZWR1bGVkRm9yQWxsQnV0Q29va2llRGF0YVJlbW92
YWw6IFllcwotICAgIGlzUHJldmFsZW50UmVzb3VyY2U6IE5vCi0gICAgaXNWZXJ5UHJldmFsZW50
UmVzb3VyY2U6IE5vCi0gICAgZGF0YVJlY29yZHNSZW1vdmVkOiAwCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvbG9nLWNyb3NzLXNpdGUt
bG9hZC13aXRoLWxpbmstZGVjb3JhdGlvbi1kYXRhYmFzZS5odG1sIGIvTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2xvZy1jcm9zcy1zaXRlLWxvYWQtd2l0aC1s
aW5rLWRlY29yYXRpb24tZGF0YWJhc2UuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggYWQ0M2IyMDY0OTdiZDdjYzc4MGM4OTc2MjM5OTdlOTAyOGYxMzJlZC4uMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvbG9nLWNyb3NzLXNpdGUtbG9hZC13aXRoLWxpbmstZGVj
b3JhdGlvbi1kYXRhYmFzZS5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsNDMgKzAsMCBAQAotPCFE
T0NUWVBFIGh0bWw+Ci08aHRtbD4KLTxoZWFkPgotICAgIDxzY3JpcHQgc3JjPSJyZXNvdXJjZXMv
dXRpbC5qcyI+PC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keSBvbmxvYWQ9InNldFRpbWVvdXQoJ3J1
blRlc3QoKScsIDApIj4KLTxkaXYgaWQ9ImRlc2NyaXB0aW9uIj5UZXN0IGxvZ2dpbmcgb2YgbGlu
ayBkZWNvcmF0ZWQgY3Jvc3Mtc2l0ZSBuYXZpZ2F0aW9ucyBmcm9tIGEgcHJldmFsZW50IHJlc291
cmNlLjwvZGl2PgotPGRpdiBpZD0ib3V0cHV0Ij48L2Rpdj4KLTxzY3JpcHQ+Ci0gICAgaWYgKHdp
bmRvdy50ZXN0UnVubmVyKSB7Ci0gICAgICAgIHRlc3RSdW5uZXIuc2V0VXNlSVRQRGF0YWJhc2Uo
dHJ1ZSk7Ci0gICAgICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOwotICAgICAgICB0ZXN0
UnVubmVyLmR1bXBBc1RleHQoKTsKLSAgICB9Ci0KLSAgICBmdW5jdGlvbiBuYXZpZ2F0ZUNyb3Nz
T3JpZ2luKCkgewotICAgICAgICBkb2N1bWVudC5sb2NhdGlvbi5ocmVmID0gZGVzdGluYXRpb25P
cmlnaW4gKyAiL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvbG9nLWNyb3NzLXNpdGUtbG9hZC13aXRo
LWxpbmstZGVjb3JhdGlvbi1kYXRhYmFzZS5odG1sP2xpbms9ZGVjb3JhdGlvbiI7Ci0gICAgfQot
Ci0gICAgY29uc3QgZGVzdGluYXRpb25PcmlnaW4gPSAiaHR0cDovL2xvY2FsaG9zdDo4MDAwIjsK
LSAgICBjb25zdCBwcmV2YWxlbnRSZXNvdXJjZU9yaWdpbiA9ICJodHRwOi8vMTI3LjAuMC4xOjgw
MDAiOwotICAgIGNvbnN0IHRlc3RPcmlnaW4gPSAiaHR0cDovLzEyNy4wLjAuMjo4MDAwIjsKLSAg
ICBmdW5jdGlvbiBydW5UZXN0KCkgewotICAgICAgICBpZiAoZG9jdW1lbnQubG9jYXRpb24ub3Jp
Z2luID09PSBwcmV2YWxlbnRSZXNvdXJjZU9yaWdpbikgewotICAgICAgICAgICAgc2V0RW5hYmxl
RmVhdHVyZSh0cnVlLCBmdW5jdGlvbiAoKSB7Ci0gICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5z
ZXRTdGF0aXN0aWNzUHJldmFsZW50UmVzb3VyY2UocHJldmFsZW50UmVzb3VyY2VPcmlnaW4sIHRy
dWUsIGZ1bmN0aW9uKCkgewotICAgICAgICAgICAgICAgICAgICBpZiAoIXRlc3RSdW5uZXIuaXNT
dGF0aXN0aWNzUHJldmFsZW50UmVzb3VyY2UocHJldmFsZW50UmVzb3VyY2VPcmlnaW4pKQotICAg
ICAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZCgiSG9zdCBkaWQgbm90IGdldCBzZXQgYXMg
cHJldmFsZW50IHJlc291cmNlLiIpOwotICAgICAgICAgICAgICAgICAgICAgICAgdGVzdFJ1bm5l
ci5zZXRTdGF0aXN0aWNzQ3Jvc3NTaXRlTG9hZFdpdGhMaW5rRGVjb3JhdGlvbih0ZXN0T3JpZ2lu
LCBkZXN0aW5hdGlvbk9yaWdpbik7Ci0gICAgICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIuc3Rh
dGlzdGljc1VwZGF0ZUNvb2tpZUJsb2NraW5nKG5hdmlnYXRlQ3Jvc3NPcmlnaW4pOwotICAgICAg
ICAgICAgICAgIH0pOwotCi0gICAgICAgICAgICB9KTsKLSAgICAgICAgfSBlbHNlIHsKLSAgICAg
ICAgICAgIHRlc3RSdW5uZXIuZHVtcFJlc291cmNlTG9hZFN0YXRpc3RpY3MoKTsKLSAgICAgICAg
ICAgIHNldEVuYWJsZUZlYXR1cmUoZmFsc2UsIGZ1bmN0aW9uICgpIHsKLSAgICAgICAgICAgICAg
ICB0ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsKLSAgICAgICAgICAgIH0pOwotICAgICAgICB9Ci0g
ICAgfQotPC9zY3JpcHQ+Ci08L2JvZHk+Ci08L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvbG9nLWNyb3NzLXNpdGUtbG9hZC13
aXRoLWxpbmstZGVjb3JhdGlvbi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvbG9nLWNyb3NzLXNpdGUtbG9hZC13aXRoLWxpbmstZGVj
b3JhdGlvbi1leHBlY3RlZC50eHQKaW5kZXggODkxZTNkNjkzZDYxOTNlZjZhODQzYzllZDY4YTU0
ZjI0YjI5M2YwNC4uM2ZlMjBhNGVjNmM0ODRlMGM4ODA1NTJmYzYwMzQwZjEwOWZmZmQzZSAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2xv
Zy1jcm9zcy1zaXRlLWxvYWQtd2l0aC1saW5rLWRlY29yYXRpb24tZXhwZWN0ZWQudHh0CisrKyBi
L0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9sb2ctY3Jvc3Mt
c2l0ZS1sb2FkLXdpdGgtbGluay1kZWNvcmF0aW9uLWV4cGVjdGVkLnR4dApAQCAtNiwyNSArNiwy
MSBAQCBSZWdpc3RyYWJsZSBkb21haW46IDEyNy4wLjAuMQogICAgIGhhZFVzZXJJbnRlcmFjdGlv
bjogTm8KICAgICBtb3N0UmVjZW50VXNlckludGVyYWN0aW9uOiAtMQogICAgIGdyYW5kZmF0aGVy
ZWQ6IE5vCi0gICAgdG9wRnJhbWVVbmlxdWVSZWRpcmVjdHNUbzoKKyAgICBUb3BGcmFtZVVuaXF1
ZVJlZGlyZWN0c1RvOgogICAgICAgICBsb2NhbGhvc3QKLSAgICBnb3RMaW5rRGVjb3JhdGlvbkZy
b21QcmV2YWxlbnRSZXNvdXJjZTogTm8KKyAgICBJc1NjaGVkdWxlZEZvckFsbEJ1dENvb2tpZURh
dGFSZW1vdmFsOiBObwogICAgIGlzUHJldmFsZW50UmVzb3VyY2U6IFllcwogICAgIGlzVmVyeVBy
ZXZhbGVudFJlc291cmNlOiBObwogICAgIGRhdGFSZWNvcmRzUmVtb3ZlZDogMAotICAgIGNhbnZh
c1JlYWREYXRhOiBObwotCiBSZWdpc3RyYWJsZSBkb21haW46IGxvY2FsaG9zdAogICAgIGhhZFVz
ZXJJbnRlcmFjdGlvbjogTm8KICAgICBtb3N0UmVjZW50VXNlckludGVyYWN0aW9uOiAtMQogICAg
IGdyYW5kZmF0aGVyZWQ6IE5vCi0gICAgdG9wRnJhbWVVbmlxdWVSZWRpcmVjdHNGcm9tOgorICAg
IFRvcEZyYW1lVW5pcXVlUmVkaXJlY3RzRnJvbToKICAgICAgICAgMTI3LjAuMC4xCi0gICAgdG9w
RnJhbWVMaW5rRGVjb3JhdGlvbnNGcm9tOgorICAgIFRvcEZyYW1lTGlua0RlY29yYXRpb25zRnJv
bToKICAgICAgICAgMTI3LjAuMC4xCi0gICAgZ290TGlua0RlY29yYXRpb25Gcm9tUHJldmFsZW50
UmVzb3VyY2U6IFllcworICAgIElzU2NoZWR1bGVkRm9yQWxsQnV0Q29va2llRGF0YVJlbW92YWw6
IFllcwogICAgIGlzUHJldmFsZW50UmVzb3VyY2U6IE5vCiAgICAgaXNWZXJ5UHJldmFsZW50UmVz
b3VyY2U6IE5vCiAgICAgZGF0YVJlY29yZHNSZW1vdmVkOiAwCi0gICAgY2FudmFzUmVhZERhdGE6
IE5vCi0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3Rh
dGlzdGljcy9sb2ctZGVsYXllZC1jbGllbnQtc2lkZS1yZWRpcmVjdHMtZGF0YWJhc2UtZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2xv
Zy1kZWxheWVkLWNsaWVudC1zaWRlLXJlZGlyZWN0cy1kYXRhYmFzZS1leHBlY3RlZC50eHQKZGVs
ZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDQwZjgxYzc3YTAyZDZmM2JmZGY0YWI3YTA3NDhl
YmQxNTQ3ZDI2ZWUuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0t
IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2xvZy1kZWxh
eWVkLWNsaWVudC1zaWRlLXJlZGlyZWN0cy1kYXRhYmFzZS1leHBlY3RlZC50eHQKKysrIC9kZXYv
bnVsbApAQCAtMSwyNCArMCwwIEBACi1Ob24tdXNlciBpbml0aWF0ZWQsIGRlbGF5ZWQgY3Jvc3Mt
c2l0ZSBuYXZpZ2F0aW9ucyBkb25lIGNsaWVudC1zaWRlIHNob3VsZCBiZSBkZXRlY3RlZCBhcyB0
b3AgZnJhbWUgcmVkaXJlY3RzIGJ5IElUUC4KLQotUmVzb3VyY2UgbG9hZCBzdGF0aXN0aWNzOgot
Ci1SZWdpc3RyYWJsZSBkb21haW46IDEyNy4wLjAuMQotICAgIGhhZFVzZXJJbnRlcmFjdGlvbjog
Tm8KLSAgICBtb3N0UmVjZW50VXNlckludGVyYWN0aW9uOiAtMQotICAgIGdyYW5kZmF0aGVyZWQ6
IE5vCi0gICAgVG9wRnJhbWVVbmlxdWVSZWRpcmVjdHNUbzoKLSAgICAgICAgbG9jYWxob3N0Ci0g
ICAgSXNTY2hlZHVsZWRGb3JBbGxCdXRDb29raWVEYXRhUmVtb3ZhbDogTm8KLSAgICBpc1ByZXZh
bGVudFJlc291cmNlOiBObwotICAgIGlzVmVyeVByZXZhbGVudFJlc291cmNlOiBObwotICAgIGRh
dGFSZWNvcmRzUmVtb3ZlZDogMAotUmVnaXN0cmFibGUgZG9tYWluOiBsb2NhbGhvc3QKLSAgICBo
YWRVc2VySW50ZXJhY3Rpb246IE5vCi0gICAgbW9zdFJlY2VudFVzZXJJbnRlcmFjdGlvbjogLTEK
LSAgICBncmFuZGZhdGhlcmVkOiBObwotICAgIFRvcEZyYW1lVW5pcXVlUmVkaXJlY3RzRnJvbToK
LSAgICAgICAgMTI3LjAuMC4xCi0gICAgSXNTY2hlZHVsZWRGb3JBbGxCdXRDb29raWVEYXRhUmVt
b3ZhbDogTm8KLSAgICBpc1ByZXZhbGVudFJlc291cmNlOiBObwotICAgIGlzVmVyeVByZXZhbGVu
dFJlc291cmNlOiBObwotICAgIGRhdGFSZWNvcmRzUmVtb3ZlZDogMApkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2xvZy1kZWxheWVkLWNs
aWVudC1zaWRlLXJlZGlyZWN0cy1kYXRhYmFzZS5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0
cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2xvZy1kZWxheWVkLWNsaWVudC1zaWRlLXJlZGlyZWN0
cy1kYXRhYmFzZS5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBiZWFhM2EzOTMx
ODM2YWExNDlhOWM1ZTZhNWNlMjE0ZWUzNDk5ZWRlLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2Fk
U3RhdGlzdGljcy9sb2ctZGVsYXllZC1jbGllbnQtc2lkZS1yZWRpcmVjdHMtZGF0YWJhc2UuaHRt
bAorKysgL2Rldi9udWxsCkBAIC0xLDM1ICswLDAgQEAKLTwhRE9DVFlQRSBodG1sPgotPGh0bWw+
Ci08aGVhZD4KLSAgICA8c2NyaXB0IHNyYz0icmVzb3VyY2VzL3V0aWwuanMiPjwvc2NyaXB0Pgot
PC9oZWFkPgotPGJvZHkgb25sb2FkPSJzZXRUaW1lb3V0KCdydW5UZXN0KCknLCAxMDApIj4KLTxk
aXYgaWQ9ImRlc2NyaXB0aW9uIj5Ob24tdXNlciBpbml0aWF0ZWQsIGRlbGF5ZWQgY3Jvc3Mtc2l0
ZSBuYXZpZ2F0aW9ucyBkb25lIGNsaWVudC1zaWRlIHNob3VsZCBiZSBkZXRlY3RlZCBhcyB0b3Ag
ZnJhbWUgcmVkaXJlY3RzIGJ5IElUUC48L2Rpdj4KLTxkaXYgaWQ9Im91dHB1dCI+PC9kaXY+Ci08
c2NyaXB0PgotICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikgewotICAgICAgICB0ZXN0UnVubmVy
LndhaXRVbnRpbERvbmUoKTsKLSAgICAgICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7Ci0gICAg
fQotCi0gICAgY29uc3QgbmF2aWdhdGlvbkVuZE9yaWdpbiA9ICJodHRwOi8vbG9jYWxob3N0Ojgw
MDAiOwotICAgIGNvbnN0IG5hdmlnYXRpb25TdGFydE9yaWdpbiA9ICJodHRwOi8vMTI3LjAuMC4x
OjgwMDAiOwotCi0gICAgZnVuY3Rpb24gbmF2aWdhdGVDcm9zc1NpdGUoKSB7Ci0gICAgICAgIGRv
Y3VtZW50LmxvY2F0aW9uLmhyZWYgPSBuYXZpZ2F0aW9uRW5kT3JpZ2luICsgIi9yZXNvdXJjZUxv
YWRTdGF0aXN0aWNzL2xvZy1kZWxheWVkLWNsaWVudC1zaWRlLXJlZGlyZWN0cy5odG1sP2R1bW15
UGFyYW09IiArIE1hdGgucmFuZG9tKCk7Ci0gICAgfQotCi0gICAgZnVuY3Rpb24gcnVuVGVzdCgp
IHsKLSAgICAgICAgaWYgKGRvY3VtZW50LmxvY2F0aW9uLm9yaWdpbiA9PT0gbmF2aWdhdGlvblN0
YXJ0T3JpZ2luKSB7Ci0gICAgICAgICAgICB0ZXN0UnVubmVyLnNldFVzZUlUUERhdGFiYXNlKHRy
dWUpOwotICAgICAgICAgICAgc2V0RW5hYmxlRmVhdHVyZSh0cnVlLCBuYXZpZ2F0ZUNyb3NzU2l0
ZSk7Ci0gICAgICAgIH0gZWxzZSB7Ci0gICAgICAgICAgICB0ZXN0UnVubmVyLmR1bXBSZXNvdXJj
ZUxvYWRTdGF0aXN0aWNzKCk7Ci0gICAgICAgICAgICBzZXRFbmFibGVGZWF0dXJlKGZhbHNlLCBm
dW5jdGlvbiAoKSB7Ci0gICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7Ci0g
ICAgICAgICAgICB9KTsKLSAgICAgICAgfQotICAgIH0KLTwvc2NyaXB0PgotPC9ib2R5PgotPC9o
dG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0
aXN0aWNzL2xvZy1kZWxheWVkLWNsaWVudC1zaWRlLXJlZGlyZWN0cy1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvbG9nLWRlbGF5ZWQt
Y2xpZW50LXNpZGUtcmVkaXJlY3RzLWV4cGVjdGVkLnR4dAppbmRleCA3YTgwZDkwM2Q3YjMxMTY4
YTdjMGM3OTk4NTI5NzhhZGQ1YmM3MjlhLi40MGY4MWM3N2EwMmQ2ZjNiZmRmNGFiN2EwNzQ4ZWJk
MTU0N2QyNmVlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9h
ZFN0YXRpc3RpY3MvbG9nLWRlbGF5ZWQtY2xpZW50LXNpZGUtcmVkaXJlY3RzLWV4cGVjdGVkLnR4
dAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvbG9n
LWRlbGF5ZWQtY2xpZW50LXNpZGUtcmVkaXJlY3RzLWV4cGVjdGVkLnR4dApAQCAtNiwyMyArNiwx
OSBAQCBSZWdpc3RyYWJsZSBkb21haW46IDEyNy4wLjAuMQogICAgIGhhZFVzZXJJbnRlcmFjdGlv
bjogTm8KICAgICBtb3N0UmVjZW50VXNlckludGVyYWN0aW9uOiAtMQogICAgIGdyYW5kZmF0aGVy
ZWQ6IE5vCi0gICAgdG9wRnJhbWVVbmlxdWVSZWRpcmVjdHNUbzoKKyAgICBUb3BGcmFtZVVuaXF1
ZVJlZGlyZWN0c1RvOgogICAgICAgICBsb2NhbGhvc3QKLSAgICBnb3RMaW5rRGVjb3JhdGlvbkZy
b21QcmV2YWxlbnRSZXNvdXJjZTogTm8KKyAgICBJc1NjaGVkdWxlZEZvckFsbEJ1dENvb2tpZURh
dGFSZW1vdmFsOiBObwogICAgIGlzUHJldmFsZW50UmVzb3VyY2U6IE5vCiAgICAgaXNWZXJ5UHJl
dmFsZW50UmVzb3VyY2U6IE5vCiAgICAgZGF0YVJlY29yZHNSZW1vdmVkOiAwCi0gICAgY2FudmFz
UmVhZERhdGE6IE5vCi0KIFJlZ2lzdHJhYmxlIGRvbWFpbjogbG9jYWxob3N0CiAgICAgaGFkVXNl
ckludGVyYWN0aW9uOiBObwogICAgIG1vc3RSZWNlbnRVc2VySW50ZXJhY3Rpb246IC0xCiAgICAg
Z3JhbmRmYXRoZXJlZDogTm8KLSAgICB0b3BGcmFtZVVuaXF1ZVJlZGlyZWN0c0Zyb206CisgICAg
VG9wRnJhbWVVbmlxdWVSZWRpcmVjdHNGcm9tOgogICAgICAgICAxMjcuMC4wLjEKLSAgICBnb3RM
aW5rRGVjb3JhdGlvbkZyb21QcmV2YWxlbnRSZXNvdXJjZTogTm8KKyAgICBJc1NjaGVkdWxlZEZv
ckFsbEJ1dENvb2tpZURhdGFSZW1vdmFsOiBObwogICAgIGlzUHJldmFsZW50UmVzb3VyY2U6IE5v
CiAgICAgaXNWZXJ5UHJldmFsZW50UmVzb3VyY2U6IE5vCiAgICAgZGF0YVJlY29yZHNSZW1vdmVk
OiAwCi0gICAgY2FudmFzUmVhZERhdGE6IE5vCi0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0
dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9tYW55LWluc2VydHMtb25seS1pbnNlcnQt
b25jZS5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNz
L21hbnktaW5zZXJ0cy1vbmx5LWluc2VydC1vbmNlLmh0bWwKaW5kZXggOGFhMWIzYzVmZTY2YTYz
NDA0NjE5OGU4Nzk2OGVhNTIzMjMwOGUyZS4uMGUyYWY4OGYxMjE5YWZjYjNlMGZmNGJiODkyM2I4
OWU5YmIxZjUzYyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxv
YWRTdGF0aXN0aWNzL21hbnktaW5zZXJ0cy1vbmx5LWluc2VydC1vbmNlLmh0bWwKKysrIGIvTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL21hbnktaW5zZXJ0cy1v
bmx5LWluc2VydC1vbmNlLmh0bWwKQEAgLTgsNyArOCw2IEBACiA8L2hlYWQ+CiA8Ym9keT4KIDxz
Y3JpcHQ+Ci0gICAgdGVzdFJ1bm5lci5zZXRVc2VJVFBEYXRhYmFzZSh0cnVlKTsKICAgICBkZXNj
cmlwdGlvbigiVGVzdHMgdGhhdCBtYW55IGluc2VydHMgaW50byB0aGUgZGF0YWJhc2Ugb25seSBy
ZXN1bHQgaW4gb25lIHJvdy4iKTsKICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKIApkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL21lcmdl
LXN0YXRpc3RpYy1kb2VzLW5vdC1vdmVyd3JpdGUtZGF0YWJhc2UtZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL21lcmdlLXN0YXRpc3Rp
Yy1kb2VzLW5vdC1vdmVyd3JpdGUtZGF0YWJhc2UtZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCBiYjQwMWY5YTVlOWRjY2YyM2EzNzcwMDNkNjI3YWE1Zjg4NGZkMzg2
Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRl
c3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9tZXJnZS1zdGF0aXN0aWMtZG9l
cy1ub3Qtb3ZlcndyaXRlLWRhdGFiYXNlLWV4cGVjdGVkLnR4dAorKysgL2Rldi9udWxsCkBAIC0x
LDEzICswLDAgQEAKLVRlc3RzIHRoYXQgbWVyZ2VkIHN0YXRpc3RpYyBkb2VzIG5vdCBvdmVyd3Jp
dGUgb2xkIHN0YXRpc3RpYwotCi1PbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2Yg
IlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCi0KLQotUEFTUyBI
b3N0IGRpZCBub3Qgb3ZlcndyaXRlIG9sZCBwcmV2YWxlbnQgcmVzb3VyY2UgdmFsdWUuCi1QQVNT
IEhvc3QgZGlkIG5vdCBvdmVyd3JpdGUgb2xkIHZlcnkgcHJldmFsZW50IHJlc291cmNlIHZhbHVl
LgotUEFTUyBIb3N0IGRpZCBub3Qgb3ZlcndyaXRlIG9sZCBoYWQgdXNlciBpbnRlcmFjdGlvbiB2
YWx1ZQotUEFTUyBIb3N0IGRpZCBub3Qgb3ZlcndyaXRlIG9sZCBncmFuZGZhdGhlcmVkIHZhbHVl
LgotUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQotCi1URVNUIENPTVBMRVRFCi0KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9t
ZXJnZS1zdGF0aXN0aWMtZG9lcy1ub3Qtb3ZlcndyaXRlLWRhdGFiYXNlLmh0bWwgYi9MYXlvdXRU
ZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvbWVyZ2Utc3RhdGlzdGljLWRv
ZXMtbm90LW92ZXJ3cml0ZS1kYXRhYmFzZS5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCA0ZDRhMjgzNjdiZjZhNDcyMDdhY2I1OWZiMWIyYTk5M2JlMGJjODExLi4wMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVz
dHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9tZXJnZS1zdGF0aXN0aWMtZG9lcy1ub3Qtb3Zlcndy
aXRlLWRhdGFiYXNlLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSw3OSArMCwwIEBACi08IURPQ1RZ
UEUgaHRtbD4KLTxodG1sIGxhbmc9ImVuIj4KLTxoZWFkPgotICAgIDxtZXRhIGNoYXJzZXQ9IlVU
Ri04Ij4KLSAgICA8c2NyaXB0IHNyYz0iL2pzLXRlc3QtcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwv
c2NyaXB0PgotICAgIDxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvdXRpbC5qcyI+PC9zY3JpcHQ+Ci0g
ICAgPHNjcmlwdD5kZXNjcmlwdGlvbigiVGVzdHMgdGhhdCBtZXJnZWQgc3RhdGlzdGljIGRvZXMg
bm90IG92ZXJ3cml0ZSBvbGQgc3RhdGlzdGljIik7PC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keSBv
bmxvYWQ9InNldFRpbWVvdXQoJ3NldFVwQW5kUnVuKCknLCAwKSI+Ci08c2NyaXB0PgotICAgIGpz
VGVzdElzQXN5bmMgPSB0cnVlOwotCi0gICAgY29uc3QgdXJsID0gImh0dHA6Ly8xMjcuMC4wLjE6
ODAwMCI7Ci0gICAgY29uc3Qgc2FtcGxlVG9wRnJhbWVVUkwgPSAiaHR0cDovL2xvY2FsaG9zdDo4
MDAwIjsKLSAgICBjb25zdCBvbGRlclRpbWVzdGFtcCA9IE1hdGgucm91bmQoKG5ldyBEYXRlKCkp
LmdldFRpbWUoKSAvIDEwMDApOwotICAgIGNvbnN0IG5ld2VyVGltZXN0YW1wID0gb2xkZXJUaW1l
c3RhbXAgKyAxMDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCi0gICAg
ZnVuY3Rpb24gaW5zZXJ0U2Vjb25kU3RhdGlzdGljKCkgewotICAgICAgdGVzdFJ1bm5lci5zZXRT
dGF0aXN0aWNzTWVyZ2VTdGF0aXN0aWModXJsLCAiIiwgIiIsIG9sZGVyVGltZXN0YW1wLCBmYWxz
ZSwgOTksIGZhbHNlLCBmYWxzZSwgZmFsc2UsIDAsIGZ1bmN0aW9uKCkgewotICAgICAgICAgIGlm
ICh0ZXN0UnVubmVyLmlzU3RhdGlzdGljc1ByZXZhbGVudFJlc291cmNlKHVybCkpCi0gICAgICAg
ICAgICAgIHRlc3RQYXNzZWQoIkhvc3QgZGlkIG5vdCBvdmVyd3JpdGUgb2xkIHByZXZhbGVudCBy
ZXNvdXJjZSB2YWx1ZS4iKTsKLSAgICAgICAgICBlbHNlCi0gICAgICAgICAgICAgIHRlc3RGYWls
ZWQoIkhvc3QgZGlkIG92ZXJ3cml0ZSBvbGQgcHJldmFsZW50IHJlc291cmNlIHZhbHVlLiIpCi0g
ICAgICAgICAgCi0gICAgICAgICAgaWYgKHRlc3RSdW5uZXIuaXNTdGF0aXN0aWNzVmVyeVByZXZh
bGVudFJlc291cmNlKHVybCkpCi0gICAgICAgICAgICAgIHRlc3RQYXNzZWQoIkhvc3QgZGlkIG5v
dCBvdmVyd3JpdGUgb2xkIHZlcnkgcHJldmFsZW50IHJlc291cmNlIHZhbHVlLiIpOwotICAgICAg
ICAgIGVsc2UKLSAgICAgICAgICAgICAgdGVzdEZhaWxlZCgiSG9zdCBkaWQgb3ZlcndyaXRlIG9s
ZCB2ZXJ5IHByZXZhbGVudCByZXNvdXJjZSB2YWx1ZS4iKTsKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIAotICAgICAgICAgIGlmICh0ZXN0UnVubmVyLmlzU3Rh
dGlzdGljc0hhc0hhZFVzZXJJbnRlcmFjdGlvbih1cmwpKQotICAgICAgICAgICAgICB0ZXN0UGFz
c2VkKCJIb3N0IGRpZCBub3Qgb3ZlcndyaXRlIG9sZCBoYWQgdXNlciBpbnRlcmFjdGlvbiB2YWx1
ZSIpOwotICAgICAgICAgIGVsc2UKLSAgICAgICAgICAgICAgdGVzdEZhaWxlZCgiSG9zdCBkaWQg
b3ZlcndyaXRlIG9sZCBoYWQgdXNlciBpbnRlcmFjdGlvbiB2YWx1ZSIpOwotCi0gICAgICAgICAg
aWYgKHRlc3RSdW5uZXIuaXNTdGF0aXN0aWNzR3JhbmRmYXRoZXJlZCh1cmwpKQotICAgICAgICAg
ICAgICB0ZXN0UGFzc2VkKCJIb3N0IGRpZCBub3Qgb3ZlcndyaXRlIG9sZCBncmFuZGZhdGhlcmVk
IHZhbHVlLiIpOwotICAgICAgICAgIGVsc2UKLSAgICAgICAgICAgICAgdGVzdEZhaWxlZCgiSG9z
dCBkaWQgb3ZlcndyaXRlIG9sZCBncmFuZGZhdGhlcmVkIHZhbHVlLiIpOwotCi0gICAgICAgICAg
dGVzdFJ1bm5lci5zdGF0aXN0aWNzUmVzZXRUb0NvbnNpc3RlbnRTdGF0ZShmdW5jdGlvbigpIHsK
LSAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7Ci0gICAgICAgICAgfSk7Ci0gICAgICB9KTsK
LSAgICB9Ci0gICAgCi0gICAgZnVuY3Rpb24gcnVuVGVzdFJ1bm5lclRlc3QoKSB7Ci0gICAgICAg
IHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc01lcmdlU3RhdGlzdGljKHVybCwgIiIsICIiLCBuZXdl
clRpbWVzdGFtcCwgdHJ1ZSwgMTAwLCB0cnVlLCB0cnVlLCB0cnVlLCAxLCBmdW5jdGlvbigpIHsK
LSAgICAgICAgICAgIGlmICghdGVzdFJ1bm5lci5pc1N0YXRpc3RpY3NQcmV2YWxlbnRSZXNvdXJj
ZSh1cmwpKQotICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoIkhvc3QgZ290IHNldCBhcyBwcmV2
YWxlbnQgcmVzb3VyY2UuIik7Ci0KLSAgICAgICAgICAgIGlmICghdGVzdFJ1bm5lci5pc1N0YXRp
c3RpY3NWZXJ5UHJldmFsZW50UmVzb3VyY2UodXJsKSkKLSAgICAgICAgICAgICAgICB0ZXN0RmFp
bGVkKCJIb3N0IGdvdCBzZXQgYXMgcHJldmFsZW50IHJlc291cmNlLiIpOwotCi0gICAgICAgICAg
ICBpZiAoIXRlc3RSdW5uZXIuaXNTdGF0aXN0aWNzSGFzSGFkVXNlckludGVyYWN0aW9uKHVybCkp
Ci0gICAgICAgICAgICAgICAgdGVzdEZhaWxlZCgiSG9zdCBnb3QgbG9nZ2VkIGZvciB1c2VyIGlu
dGVyYWN0aW9uLiIpOwotICAgICAgICAgICAgIAotICAgICAgICAgICAgaWYgKCF0ZXN0UnVubmVy
LmlzU3RhdGlzdGljc0dyYW5kZmF0aGVyZWQodXJsKSkKLSAgICAgICAgICAgICAgICB0ZXN0RmFp
bGVkKCJIb3N0IGdvdCBzZXQgYXMgZ3JhbmRmYXRoZXJlZC4iKTsKLQotICAgICAgICAgICAgaW5z
ZXJ0U2Vjb25kU3RhdGlzdGljKCk7Ci0gICAgICAgIH0pOwotICAgIH0KLQotICAgIGZ1bmN0aW9u
IHNldFVwQW5kUnVuKCkgewotICAgICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpIHsKLSAgICAg
ICAgICAgIHRlc3RSdW5uZXIuc2V0VXNlSVRQRGF0YWJhc2UodHJ1ZSk7Ci0gICAgICAgICAgICBz
ZXRFbmFibGVGZWF0dXJlKHRydWUsIGZ1bmN0aW9uICgpIHsKLSAgICAgICAgICAgICAgICBydW5U
ZXN0UnVubmVyVGVzdCgpOwotICAgICAgICAgICAgfSk7Ci0gICAgICAgIH0gZWxzZSB7Ci0gICAg
ICAgICAgICB0ZXN0RmFpbGVkKCJubyB0ZXN0UnVubmVyIik7Ci0gICAgICAgICAgICB0ZXN0UnVu
bmVyLnN0YXRpc3RpY3NSZXNldFRvQ29uc2lzdGVudFN0YXRlKGZ1bmN0aW9uKCkgewotICAgICAg
ICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOwotICAgICAgICAgICAgfSk7Ci0gICAgICAgIH0KLSAg
ICB9Ci08L3NjcmlwdD4KLTwvYm9keT4KLTwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9tZXJnZS1zdGF0aXN0aWMtZG9lcy1v
dmVyd3JpdGUtZGF0YWJhc2UtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9y
ZXNvdXJjZUxvYWRTdGF0aXN0aWNzL21lcmdlLXN0YXRpc3RpYy1kb2VzLW92ZXJ3cml0ZS1kYXRh
YmFzZS1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDVmYjFlNGE1
MzA3ZDBmOGNlNGQ2MzBiZWRiODE1MzQzNzBlOGEyNjMuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxv
YWRTdGF0aXN0aWNzL21lcmdlLXN0YXRpc3RpYy1kb2VzLW92ZXJ3cml0ZS1kYXRhYmFzZS1leHBl
Y3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSwxNSArMCwwIEBACi1UZXN0cyB0aGF0IG1lcmdl
ZCBzdGF0aXN0aWMgb3ZlcndyaXRlcyBvbGQgc3RhdGlzdGljCi0KLU9uIHN1Y2Nlc3MsIHlvdSB3
aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENP
TVBMRVRFIi4KLQotCi1QQVNTIEhvc3Qgb3Zlcndyb3RlIG9sZCBwcmV2YWxlbnQgcmVzb3VyY2Ug
dmFsdWUuCi1QQVNTIEhvc3Qgb3Zlcndyb3RlIG9sZCB2ZXJ5IHByZXZhbGVudCByZXNvdXJjZSB2
YWx1ZS4KLVBBU1MgSG9zdCBvdmVyd3JvdGUgb2xkIHVzZXIgaW50ZXJhY3Rpb24gdmFsdWUuCi1Q
QVNTIEhvc3Qgb3Zlcndyb3RlIG9sZCBncmFuZGZhdGhlcmVkIHZhbHVlLgotUEFTUyBIb3N0IHNl
dCBhcyBzdWJmcmFtZSB1bmRlciB0b3AgZnJhbWUxLgotUEFTUyBIb3N0IHNldCBhcyBzdWJmcmFt
ZSB1bmRlciB0b3AgZnJhbWUyLgotUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQotCi1U
RVNUIENPTVBMRVRFCi0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3Vy
Y2VMb2FkU3RhdGlzdGljcy9tZXJnZS1zdGF0aXN0aWMtZG9lcy1vdmVyd3JpdGUtZGF0YWJhc2Uu
aHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9tZXJn
ZS1zdGF0aXN0aWMtZG9lcy1vdmVyd3JpdGUtZGF0YWJhc2UuaHRtbApkZWxldGVkIGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMWExOTk0OTQ1N2UyYzc2OGE0MDdkYTE1MDAyNTNjYmFiMmNiZmZkYy4u
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvbWVyZ2Utc3RhdGlzdGljLWRvZXMt
b3ZlcndyaXRlLWRhdGFiYXNlLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSw5NyArMCwwIEBACi08
IURPQ1RZUEUgaHRtbD4KLTxodG1sIGxhbmc9ImVuIj4KLTxoZWFkPgotICAgIDxtZXRhIGNoYXJz
ZXQ9IlVURi04Ij4KLSAgICA8c2NyaXB0IHNyYz0iL2pzLXRlc3QtcmVzb3VyY2VzL2pzLXRlc3Qu
anMiPjwvc2NyaXB0PgotICAgIDxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvdXRpbC5qcyI+PC9zY3Jp
cHQ+Ci0gICAgPHNjcmlwdD5kZXNjcmlwdGlvbigiVGVzdHMgdGhhdCBtZXJnZWQgc3RhdGlzdGlj
IG92ZXJ3cml0ZXMgb2xkIHN0YXRpc3RpYyIpOzwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHkgb25s
b2FkPSJzZXRUaW1lb3V0KCdzZXRVcEFuZFJ1bigpJywgMCkiPgotPHNjcmlwdD4KLSAgICBqc1Rl
c3RJc0FzeW5jID0gdHJ1ZTsKLQotICAgIGNvbnN0IHVybCA9ICJodHRwOi8vMTI3LjAuMC4xOjgw
MDAiOwotICAgIGNvbnN0IHNhbXBsZVRvcEZyYW1lVVJMMSA9ICJodHRwOi8vdG9wRnJhbWVEb21h
aW4xOjgwMDAiOwotICAgIGNvbnN0IHNhbXBsZVRvcEZyYW1lVVJMMiA9ICJodHRwOi8vdG9wRnJh
bWVEb21haW4yOjgwMDAiOwotICAgIGNvbnN0IG9sZGVyVGltZXN0YW1wID0gTWF0aC5yb3VuZCgo
bmV3IERhdGUoKSkuZ2V0VGltZSgpIC8gMTAwMCk7Ci0gICAgY29uc3QgbmV3ZXJUaW1lc3RhbXAg
PSBvbGRlclRpbWVzdGFtcCArIDEwOwotICAgIGNvbnN0IG1vc3RSZWNlbnRVSVRvVHJpZ2dlckZp
cnN0UGFydHlJbnRlcmFjdGlvbkNvdW50ID0gbmV3ZXJUaW1lc3RhbXAgKyA5MDAwMDsKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCi0gICAgZnVuY3Rpb24gaW5zZXJ0U2Vj
b25kU3RhdGlzdGljKCkgewotICAgIAotICAgICAgICAvLyBzZXQgdXJsMSBhcyBwcmV2YWxlbnQg
c28gaXQgaXMgaW4gdGhlIHN0YXRpc3RpY3Mgc3RvcmUKLSAgICAgICAgLy8gc2V0IHVybDIgaGF2
aW5nIFVJIHNvIGl0IGlzIGluIHRoZSBzdGF0aXN0aWNzIHN0b3JlCi0gICAgICAgIHRlc3RSdW5u
ZXIuc2V0U3RhdGlzdGljc1ByZXZhbGVudFJlc291cmNlKHNhbXBsZVRvcEZyYW1lVVJMMSwgdHJ1
ZSwgZnVuY3Rpb24oKSB7Ci0gICAgICAgICAgICB0ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NIYXNI
YWRVc2VySW50ZXJhY3Rpb24oc2FtcGxlVG9wRnJhbWVVUkwyLCB0cnVlLCBmdW5jdGlvbiAoKSB7
Ci0gICAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NNZXJnZVN0YXRpc3Rp
Yyh1cmwsIHNhbXBsZVRvcEZyYW1lVVJMMSwgc2FtcGxlVG9wRnJhbWVVUkwyLCBuZXdlclRpbWVz
dGFtcCwgdHJ1ZSwgbW9zdFJlY2VudFVJVG9UcmlnZ2VyRmlyc3RQYXJ0eUludGVyYWN0aW9uQ291
bnQsIHRydWUsIHRydWUsIHRydWUsIDEsIGZ1bmN0aW9uKCkgewotICAgICAgICAgICAgICAgICAg
ICAgIGlmICh0ZXN0UnVubmVyLmlzU3RhdGlzdGljc1ByZXZhbGVudFJlc291cmNlKHVybCkpCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgIHRlc3RQYXNzZWQoIkhvc3Qgb3Zlcndyb3RlIG9sZCBw
cmV2YWxlbnQgcmVzb3VyY2UgdmFsdWUuIik7Ci0gICAgICAgICAgICAgICAgICAgICAgZWxzZQot
ICAgICAgICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKCJIb3N0IG5vdCBzZXQgYXMgcHJl
dmFsZW50IHJlc291cmNlLiIpOwotCi0gICAgICAgICAgICAgICAgICAgICAgaWYgKHRlc3RSdW5u
ZXIuaXNTdGF0aXN0aWNzVmVyeVByZXZhbGVudFJlc291cmNlKHVybCkpCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgIHRlc3RQYXNzZWQoIkhvc3Qgb3Zlcndyb3RlIG9sZCB2ZXJ5IHByZXZhbGVu
dCByZXNvdXJjZSB2YWx1ZS4iKTsKLSAgICAgICAgICAgICAgICAgICAgICBlbHNlCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoIkhvc3Qgbm90IHNldCBhcyB2ZXJ5IHByZXZh
bGVudCByZXNvdXJjZS4iKTsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIAotICAgICAgICAgICAgICAgICAgICAgIGlmICh0ZXN0UnVubmVy
LmlzU3RhdGlzdGljc0hhc0hhZFVzZXJJbnRlcmFjdGlvbih1cmwpKQotICAgICAgICAgICAgICAg
ICAgICAgICAgICB0ZXN0UGFzc2VkKCJIb3N0IG92ZXJ3cm90ZSBvbGQgdXNlciBpbnRlcmFjdGlv
biB2YWx1ZS4iKTsKLSAgICAgICAgICAgICAgICAgICAgICBlbHNlCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgIHRlc3RGYWlsZWQoIkhvc3Qgbm90IGxvZ2dlZCBmb3IgdXNlciBpbnRlcmFjdGlv
bi4iKTsKLSAgICAgICAgICAgICAgICAgICAgICAgCi0gICAgICAgICAgICAgICAgICAgICAgaWYg
KHRlc3RSdW5uZXIuaXNTdGF0aXN0aWNzR3JhbmRmYXRoZXJlZCh1cmwpKQotICAgICAgICAgICAg
ICAgICAgICAgICAgICB0ZXN0UGFzc2VkKCJIb3N0IG92ZXJ3cm90ZSBvbGQgZ3JhbmRmYXRoZXJl
ZCB2YWx1ZS4iKTsKLSAgICAgICAgICAgICAgICAgICAgICBlbHNlCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgIHRlc3RGYWlsZWQoIkhvc3Qgbm90IHNldCBhcyBncmFuZGZhdGhlcmVkLiIpOwot
Ci0gICAgICAgICAgICAgICAgICAgICAgaWYgKHRlc3RSdW5uZXIuaXNTdGF0aXN0aWNzUmVnaXN0
ZXJlZEFzU3ViRnJhbWVVbmRlcih1cmwsIHNhbXBsZVRvcEZyYW1lVVJMMSkpCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgIHRlc3RQYXNzZWQoIkhvc3Qgc2V0IGFzIHN1YmZyYW1lIHVuZGVyIHRv
cCBmcmFtZTEuIik7Ci0gICAgICAgICAgICAgICAgICAgICAgZWxzZQotICAgICAgICAgICAgICAg
ICAgICAgICAgICB0ZXN0RmFpbGVkKCJIb3N0IG5vdCBzZXQgYXMgc3ViZnJhbWUgdW5kZXIgdG9w
IGZyYW1lMS4iKTsKLSAgICAgICAgICAgICAgICAgICAgICBpZiAodGVzdFJ1bm5lci5pc1N0YXRp
c3RpY3NSZWdpc3RlcmVkQXNTdWJGcmFtZVVuZGVyKHVybCwgc2FtcGxlVG9wRnJhbWVVUkwyKSkK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgdGVzdFBhc3NlZCgiSG9zdCBzZXQgYXMgc3ViZnJh
bWUgdW5kZXIgdG9wIGZyYW1lMi4iKTsKLSAgICAgICAgICAgICAgICAgICAgICBlbHNlCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoIkhvc3Qgbm90IHNldCBhcyBzdWJmcmFt
ZSB1bmRlciB0b3AgZnJhbWUyLiIpOwotCi0gICAgICAgICAgICAgICAgICAgICAgdGVzdFJ1bm5l
ci5zdGF0aXN0aWNzUmVzZXRUb0NvbnNpc3RlbnRTdGF0ZShmdW5jdGlvbigpIHsKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7Ci0gICAgICAgICAgICAgICAgICAgICAg
fSk7Ci0gICAgICAgICAgICAgICAgICB9KTsKLSAgICAgICAgICAgICB9KTsKLSAgICAgICAgfSk7
Ci0gICAgfQotICAgIAotICAgIGZ1bmN0aW9uIHJ1blRlc3RSdW5uZXJUZXN0KCkgewotICAgICAg
ICB0ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NNZXJnZVN0YXRpc3RpYyh1cmwsICIiLCAiIiwgb2xk
ZXJUaW1lc3RhbXAsIGZhbHNlLCAwLCBmYWxzZSwgZmFsc2UsIGZhbHNlLCAwLCBmdW5jdGlvbigp
IHsKLSAgICAgICAgICAgIGlmICh0ZXN0UnVubmVyLmlzU3RhdGlzdGljc1ByZXZhbGVudFJlc291
cmNlKHVybCkpCi0gICAgICAgICAgICAgICAgdGVzdEZhaWxlZCgiSG9zdCBnb3Qgc2V0IGFzIHBy
ZXZhbGVudCByZXNvdXJjZS4iKTsKLQotICAgICAgICAgICAgaWYgKHRlc3RSdW5uZXIuaXNTdGF0
aXN0aWNzVmVyeVByZXZhbGVudFJlc291cmNlKHVybCkpCi0gICAgICAgICAgICAgICAgdGVzdEZh
aWxlZCgiSG9zdCBnb3Qgc2V0IGFzIHByZXZhbGVudCByZXNvdXJjZS4iKTsKLQotICAgICAgICAg
ICAgaWYgKHRlc3RSdW5uZXIuaXNTdGF0aXN0aWNzSGFzSGFkVXNlckludGVyYWN0aW9uKHVybCkp
Ci0gICAgICAgICAgICAgICAgdGVzdEZhaWxlZCgiSG9zdCBnb3QgbG9nZ2VkIGZvciB1c2VyIGlu
dGVyYWN0aW9uLiIpOwotICAgICAgICAgICAgIAotICAgICAgICAgICAgaWYgKHRlc3RSdW5uZXIu
aXNTdGF0aXN0aWNzR3JhbmRmYXRoZXJlZCh1cmwpKQotICAgICAgICAgICAgICAgIHRlc3RGYWls
ZWQoIkhvc3QgZ290IHNldCBhcyBncmFuZGZhdGhlcmVkLiIpOwotCi0gICAgICAgICAgICBpbnNl
cnRTZWNvbmRTdGF0aXN0aWMoKTsKLSAgICAgICAgfSk7Ci0gICAgfQotCi0gICAgZnVuY3Rpb24g
c2V0VXBBbmRSdW4oKSB7Ci0gICAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikgewotICAgICAg
ICAgICAgdGVzdFJ1bm5lci5zZXRVc2VJVFBEYXRhYmFzZSh0cnVlKTsKLSAgICAgICAgICAgIHNl
dEVuYWJsZUZlYXR1cmUodHJ1ZSwgZnVuY3Rpb24gKCkgewotICAgICAgICAgICAgICAgIHJ1blRl
c3RSdW5uZXJUZXN0KCk7Ci0gICAgICAgICAgICB9KTsKLSAgICAgICAgfSBlbHNlIHsKLSAgICAg
ICAgICAgIHRlc3RGYWlsZWQoIm5vIHRlc3RSdW5uZXIiKTsKLSAgICAgICAgICAgIHRlc3RSdW5u
ZXIuc3RhdGlzdGljc1Jlc2V0VG9Db25zaXN0ZW50U3RhdGUoZnVuY3Rpb24oKSB7Ci0gICAgICAg
ICAgICAgICAgZmluaXNoSlNUZXN0KCk7Ci0gICAgICAgICAgICB9KTsKLSAgICAgICAgfQotICAg
IH0KLTwvc2NyaXB0PgotPC9ib2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL21lcmdlLXN0YXRpc3RpYy1kb2VzLXBh
cnRpYWxseS1vdmVyd3JpdGUtZGF0YWJhc2UtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL21lcmdlLXN0YXRpc3RpYy1kb2VzLXBhcnRp
YWxseS1vdmVyd3JpdGUtZGF0YWJhc2UtZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCBjNzFlNDZiNzljOTE1NWVhODcxMTkwYTE2MzAzMThlOWRiZWRiNzAwLi4wMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2h0
dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9tZXJnZS1zdGF0aXN0aWMtZG9lcy1wYXJ0
aWFsbHktb3ZlcndyaXRlLWRhdGFiYXNlLWV4cGVjdGVkLnR4dAorKysgL2Rldi9udWxsCkBAIC0x
LDE0ICswLDAgQEAKLVRlc3RzIHRoYXQgbWVyZ2VkIHN0YXRpc3RpYyBvdmVyd3JpdGVzIG9sZCBz
dGF0aXN0aWMKLQotT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBt
ZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgotCi0KLVBBU1MgSG9zdCBvdmVy
d3JvdGUgb2xkIHByZXZhbGVudCByZXNvdXJjZSB2YWx1ZS4KLVBBU1MgSG9zdCBvdmVyd3JvdGUg
b2xkIHZlcnkgcHJldmFsZW50IHJlc291cmNlIHZhbHVlLgotUEFTUyBIb3N0IGRpZCBub3Qgb3Zl
cndyaXRlIG9sZCB1c2VyIGludGVyYWN0aW9uIHZhbHVlLgotUEFTUyBIb3N0IG92ZXJ3cm90ZSBv
bGQgZ3JhbmRmYXRoZXJlZCB2YWx1ZS4KLVBBU1MgSG9zdCBzZXQgYXMgc3ViZnJhbWUgdW5kZXIg
dG9wIGZyYW1lLgotUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQotCi1URVNUIENPTVBM
RVRFCi0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3Rh
dGlzdGljcy9tZXJnZS1zdGF0aXN0aWMtZG9lcy1wYXJ0aWFsbHktb3ZlcndyaXRlLWRhdGFiYXNl
Lmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvbWVy
Z2Utc3RhdGlzdGljLWRvZXMtcGFydGlhbGx5LW92ZXJ3cml0ZS1kYXRhYmFzZS5odG1sCmRlbGV0
ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBhYjNjNzJiNTY0YmYwNjM0NjIzY2VkMGQyYjI3NDE4
ZDgzYTM5YTE1Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBh
L0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9tZXJnZS1zdGF0
aXN0aWMtZG9lcy1wYXJ0aWFsbHktb3ZlcndyaXRlLWRhdGFiYXNlLmh0bWwKKysrIC9kZXYvbnVs
bApAQCAtMSw5MCArMCwwIEBACi08IURPQ1RZUEUgaHRtbD4KLTxodG1sIGxhbmc9ImVuIj4KLTxo
ZWFkPgotICAgIDxtZXRhIGNoYXJzZXQ9IlVURi04Ij4KLSAgICA8c2NyaXB0IHNyYz0iL2pzLXRl
c3QtcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgotICAgIDxzY3JpcHQgc3JjPSJyZXNv
dXJjZXMvdXRpbC5qcyI+PC9zY3JpcHQ+Ci0gICAgPHNjcmlwdD5kZXNjcmlwdGlvbigiVGVzdHMg
dGhhdCBtZXJnZWQgc3RhdGlzdGljIG92ZXJ3cml0ZXMgb2xkIHN0YXRpc3RpYyIpOzwvc2NyaXB0
PgotPC9oZWFkPgotPGJvZHkgb25sb2FkPSJzZXRUaW1lb3V0KCdzZXRVcEFuZFJ1bigpJywgMCki
PgotPHNjcmlwdD4KLSAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKLQotICAgIGNvbnN0IHVybCA9
ICJodHRwOi8vMTI3LjAuMC4xOjgwMDAiOwotICAgIGNvbnN0IHNhbXBsZVRvcEZyYW1lVVJMID0g
Imh0dHA6Ly90b3BGcmFtZURvbWFpbjo4MDAwIjsKLSAgICBjb25zdCBvbGRlclRpbWVzdGFtcCA9
IE1hdGgucm91bmQoKG5ldyBEYXRlKCkpLmdldFRpbWUoKSAvIDEwMDApOwotICAgIGNvbnN0IG5l
d2VyVGltZXN0YW1wID0gb2xkZXJUaW1lc3RhbXAgKyAxMDsKLSAgICBjb25zdCBtb3N0UmVjZW50
VUlUb1RyaWdnZXJGaXJzdFBhcnR5SW50ZXJhY3Rpb25Db3VudCA9IG5ld2VyVGltZXN0YW1wICsg
OTAwMDA7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAotICAgIGZ1bmN0
aW9uIGluc2VydFNlY29uZFN0YXRpc3RpYygpIHsKLSAgICAKLSAgICAgICAgLy8gc2V0IHRoaXMg
cmVzb3VyY2UgYXMgcHJldmFsZW50IHNvIGl0IGlzIGluIHRoZSBzdGF0aXN0aWNzIHN0b3JlCi0g
ICAgICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc1ByZXZhbGVudFJlc291cmNlKHNhbXBsZVRv
cEZyYW1lVVJMLCB0cnVlLCBmdW5jdGlvbigpIHsKLSAgICAgICAgCi0gICAgICAgICAgICAgIHRl
c3RSdW5uZXIuc2V0U3RhdGlzdGljc01lcmdlU3RhdGlzdGljKHVybCwgc2FtcGxlVG9wRnJhbWVV
UkwsICIiLCBuZXdlclRpbWVzdGFtcCwgZmFsc2UsIG1vc3RSZWNlbnRVSVRvVHJpZ2dlckZpcnN0
UGFydHlJbnRlcmFjdGlvbkNvdW50LCB0cnVlLCB0cnVlLCB0cnVlLCAxLCBmdW5jdGlvbigpIHsK
LSAgICAgICAgICAgICAgICAgIGlmICh0ZXN0UnVubmVyLmlzU3RhdGlzdGljc1ByZXZhbGVudFJl
c291cmNlKHVybCkpCi0gICAgICAgICAgICAgICAgICAgICAgdGVzdFBhc3NlZCgiSG9zdCBvdmVy
d3JvdGUgb2xkIHByZXZhbGVudCByZXNvdXJjZSB2YWx1ZS4iKTsKLSAgICAgICAgICAgICAgICAg
IGVsc2UKLSAgICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKCJIb3N0IG5vdCBzZXQgYXMg
cHJldmFsZW50IHJlc291cmNlLiIpOwotCi0gICAgICAgICAgICAgICAgICBpZiAodGVzdFJ1bm5l
ci5pc1N0YXRpc3RpY3NWZXJ5UHJldmFsZW50UmVzb3VyY2UodXJsKSkKLSAgICAgICAgICAgICAg
ICAgICAgICB0ZXN0UGFzc2VkKCJIb3N0IG92ZXJ3cm90ZSBvbGQgdmVyeSBwcmV2YWxlbnQgcmVz
b3VyY2UgdmFsdWUuIik7Ci0gICAgICAgICAgICAgICAgICBlbHNlCi0gICAgICAgICAgICAgICAg
ICAgICAgdGVzdEZhaWxlZCgiSG9zdCBub3Qgc2V0IGFzIHZlcnkgcHJldmFsZW50IHJlc291cmNl
LiIpOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAKLSAgICAgICAgICAgICAgICAgIGlmICghdGVzdFJ1bm5lci5pc1N0YXRpc3RpY3NIYXNIYWRV
c2VySW50ZXJhY3Rpb24odXJsKSkKLSAgICAgICAgICAgICAgICAgICAgICB0ZXN0UGFzc2VkKCJI
b3N0IGRpZCBub3Qgb3ZlcndyaXRlIG9sZCB1c2VyIGludGVyYWN0aW9uIHZhbHVlLiIpOwotICAg
ICAgICAgICAgICAgICAgZWxzZQotICAgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoIkhv
c3Qgbm90IGxvZ2dlZCBmb3IgdXNlciBpbnRlcmFjdGlvbi4iKTsKLQotICAgICAgICAgICAgICAg
ICAgaWYgKHRlc3RSdW5uZXIuaXNTdGF0aXN0aWNzR3JhbmRmYXRoZXJlZCh1cmwpKQotICAgICAg
ICAgICAgICAgICAgICAgIHRlc3RQYXNzZWQoIkhvc3Qgb3Zlcndyb3RlIG9sZCBncmFuZGZhdGhl
cmVkIHZhbHVlLiIpOwotICAgICAgICAgICAgICAgICAgZWxzZQotICAgICAgICAgICAgICAgICAg
ICAgIHRlc3RGYWlsZWQoIkhvc3Qgbm90IHNldCBhcyBncmFuZGZhdGhlcmVkLiIpOwotCi0gICAg
ICAgICAgICAgICAgICBpZiAodGVzdFJ1bm5lci5pc1N0YXRpc3RpY3NSZWdpc3RlcmVkQXNTdWJG
cmFtZVVuZGVyKHVybCwgc2FtcGxlVG9wRnJhbWVVUkwpKQotICAgICAgICAgICAgICAgICAgICAg
IHRlc3RQYXNzZWQoIkhvc3Qgc2V0IGFzIHN1YmZyYW1lIHVuZGVyIHRvcCBmcmFtZS4iKTsKLSAg
ICAgICAgICAgICAgICAgIGVsc2UKLSAgICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKCJI
b3N0IG5vdCBzZXQgYXMgc3ViZnJhbWUgdW5kZXIgdG9wIGZyYW1lLiIpOwotCi0gICAgICAgICAg
ICAgICAgICB0ZXN0UnVubmVyLnN0YXRpc3RpY3NSZXNldFRvQ29uc2lzdGVudFN0YXRlKGZ1bmN0
aW9uKCkgewotICAgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOwotICAgICAgICAg
ICAgICAgICAgfSk7Ci0gICAgICAgICAgICAgIH0pOwotICAgICAgICAgfSk7Ci0gICAgfQotICAg
IAotICAgIGZ1bmN0aW9uIHJ1blRlc3RSdW5uZXJUZXN0KCkgewotICAgICAgICB0ZXN0UnVubmVy
LnNldFN0YXRpc3RpY3NNZXJnZVN0YXRpc3RpYyh1cmwsICIiLCAiIiwgb2xkZXJUaW1lc3RhbXAs
IGZhbHNlLCAwLCBmYWxzZSwgZmFsc2UsIGZhbHNlLCAwLCBmdW5jdGlvbigpIHsKLSAgICAgICAg
ICAgIGlmICh0ZXN0UnVubmVyLmlzU3RhdGlzdGljc1ByZXZhbGVudFJlc291cmNlKHVybCkpCi0g
ICAgICAgICAgICAgICAgdGVzdEZhaWxlZCgiSG9zdCBnb3Qgc2V0IGFzIHByZXZhbGVudCByZXNv
dXJjZS4iKTsKLQotICAgICAgICAgICAgaWYgKHRlc3RSdW5uZXIuaXNTdGF0aXN0aWNzVmVyeVBy
ZXZhbGVudFJlc291cmNlKHVybCkpCi0gICAgICAgICAgICAgICAgdGVzdEZhaWxlZCgiSG9zdCBn
b3Qgc2V0IGFzIHByZXZhbGVudCByZXNvdXJjZS4iKTsKLQotICAgICAgICAgICAgaWYgKHRlc3RS
dW5uZXIuaXNTdGF0aXN0aWNzSGFzSGFkVXNlckludGVyYWN0aW9uKHVybCkpCi0gICAgICAgICAg
ICAgICAgdGVzdEZhaWxlZCgiSG9zdCBnb3QgbG9nZ2VkIGZvciB1c2VyIGludGVyYWN0aW9uLiIp
OwotICAgICAgICAgICAgIAotICAgICAgICAgICAgaWYgKHRlc3RSdW5uZXIuaXNTdGF0aXN0aWNz
R3JhbmRmYXRoZXJlZCh1cmwpKQotICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoIkhvc3QgZ290
IHNldCBhcyBncmFuZGZhdGhlcmVkLiIpOwotCi0gICAgICAgICAgICBpbnNlcnRTZWNvbmRTdGF0
aXN0aWMoKTsKLSAgICAgICAgfSk7Ci0gICAgfQotCi0gICAgZnVuY3Rpb24gc2V0VXBBbmRSdW4o
KSB7Ci0gICAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikgewotICAgICAgICAgICAgdGVzdFJ1
bm5lci5zZXRVc2VJVFBEYXRhYmFzZSh0cnVlKTsKLSAgICAgICAgICAgIHNldEVuYWJsZUZlYXR1
cmUodHJ1ZSwgZnVuY3Rpb24gKCkgewotICAgICAgICAgICAgICAgIHJ1blRlc3RSdW5uZXJUZXN0
KCk7Ci0gICAgICAgICAgICB9KTsKLSAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAgIHRlc3RG
YWlsZWQoIm5vIHRlc3RSdW5uZXIiKTsKLSAgICAgICAgICAgIHRlc3RSdW5uZXIuc3RhdGlzdGlj
c1Jlc2V0VG9Db25zaXN0ZW50U3RhdGUoZnVuY3Rpb24oKSB7Ci0gICAgICAgICAgICAgICAgZmlu
aXNoSlNUZXN0KCk7Ci0gICAgICAgICAgICB9KTsKLSAgICAgICAgfQotICAgIH0KLTwvc2NyaXB0
PgotPC9ib2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9y
ZXNvdXJjZUxvYWRTdGF0aXN0aWNzL25vbi1wcmV2YWxlbnQtcmVzb3VyY2Utd2l0aC11c2VyLWlu
dGVyYWN0aW9uLWRhdGFiYXNlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMv
cmVzb3VyY2VMb2FkU3RhdGlzdGljcy9ub24tcHJldmFsZW50LXJlc291cmNlLXdpdGgtdXNlci1p
bnRlcmFjdGlvbi1kYXRhYmFzZS1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IGM4OWY4NTVhNzg5Y2YxMGJmMzMwZjRjOTJlYTEyYjk0MWFiZWZjMDcuLjAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90
ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL25vbi1wcmV2YWxlbnQtcmVzb3VyY2Utd2l0aC11
c2VyLWludGVyYWN0aW9uLWRhdGFiYXNlLWV4cGVjdGVkLnR4dAorKysgL2Rldi9udWxsCkBAIC0x
LDUgKzAsMCBAQAotUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQotCi1URVNUIENPTVBM
RVRFCi1QQVNTIENvb2tpZSBub3QgZGVsZXRlZC4KLQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL25vbi1wcmV2YWxlbnQtcmVzb3VyY2Ut
d2l0aC11c2VyLWludGVyYWN0aW9uLWRhdGFiYXNlLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rl
c3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3Mvbm9uLXByZXZhbGVudC1yZXNvdXJjZS13aXRoLXVz
ZXItaW50ZXJhY3Rpb24tZGF0YWJhc2UuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggYWYzMWQ4YWEwNDM0ZjM1ZTlmMGU4MjdiYzQ1Mzg5YWZkODI4ODBiYi4uMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L3Jlc291cmNlTG9hZFN0YXRpc3RpY3Mvbm9uLXByZXZhbGVudC1yZXNvdXJjZS13aXRoLXVzZXIt
aW50ZXJhY3Rpb24tZGF0YWJhc2UuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDYyICswLDAgQEAK
LTwhRE9DVFlQRSBodG1sPgotPGh0bWwgbGFuZz0iZW4iPgotPGhlYWQ+Ci0gICAgPG1ldGEgY2hh
cnNldD0iVVRGLTgiPgotICAgIDx0aXRsZT5UZXN0cyBmb3IgTm9uLVByZXZhbGVudCBSZXNvdXJj
ZSBXaXRoIFVzZXIgSW50ZXJhY3Rpb248L3RpdGxlPgotICAgIDxzY3JpcHQgc3JjPSIvanMtdGVz
dC1yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+Ci0gICAgPHNjcmlwdCBzcmM9InJlc291
cmNlcy91dGlsLmpzIj48L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5PgotPHNjcmlwdD4KLSAgICBj
b25zdCBob3N0VW5kZXJUZXN0ID0gIjEyNy4wLjAuMTo4MDAwIjsKLSAgICBjb25zdCBzdGF0aXN0
aWNzVXJsID0gImh0dHA6Ly8iICsgaG9zdFVuZGVyVGVzdCArICIvdGVtcCI7Ci0gICAgY29uc3Qg
b3RoZXJQcmV2YWxlbnRVcmwgPSAiaHR0cDovL2xvY2FsaG9zdDo4MDAwL3RlbXAiOwotCi0gICAg
ZnVuY3Rpb24gcnVuVGVzdFJ1bm5lclRlc3QoKSB7Ci0gICAgICAgIGlmIChkb2N1bWVudC5jb29r
aWUgIT09ICIiKQotICAgICAgICAgICAgdGVzdEZhaWxlZCgiZG9jdW1lbnQuY29va2llIG5vdCBl
bXB0eS4iKTsKLSAgICAgICAgY29uc3QgY29va2llID0gInRlc3RDb29raWU9dGVzdFZhbHVlIjsK
LSAgICAgICAgZG9jdW1lbnQuY29va2llID0gY29va2llICsgIjsgbWF4LWFnZT0xMDA7IjsKLSAg
ICAgICAgaWYgKGRvY3VtZW50LmNvb2tpZSAhPT0gY29va2llKQotICAgICAgICAgICAgdGVzdEZh
aWxlZCgiZG9jdW1lbnQuY29va2llIGRpZCBub3QgZ2V0IHNldC4iKTsKLQotICAgICAgICB0ZXN0
UnVubmVyLnNldFN0YXRpc3RpY3NQcmV2YWxlbnRSZXNvdXJjZShzdGF0aXN0aWNzVXJsLCBmYWxz
ZSwgZnVuY3Rpb24oKSB7Ci0gICAgICAgICAgICBpZiAodGVzdFJ1bm5lci5pc1N0YXRpc3RpY3NQ
cmV2YWxlbnRSZXNvdXJjZShzdGF0aXN0aWNzVXJsKSkKLSAgICAgICAgICAgICAgICB0ZXN0RmFp
bGVkKCJIb3N0IGRpZCBub3QgZ2V0IHNldCBhcyBub24tcHJldmFsZW50IHJlc291cmNlLiIpOwot
Ci0gICAgICAgICAgICAvLyBUaGlzIGlzIGRvbmUgdG8gbm90IGhhdmUgYW4gZW1wdHkgc2V0IG9m
IHByZXZhbGVudCByZXNvdXJjZXMuCi0gICAgICAgICAgICAvLyBPdGhlcndpc2UgZGF0YSByZWNv
cmRzIGFyZSBuZXZlciBzY2FubmVkLgotICAgICAgICAgICAgdGVzdFJ1bm5lci5zZXRTdGF0aXN0
aWNzUHJldmFsZW50UmVzb3VyY2Uob3RoZXJQcmV2YWxlbnRVcmwsIHRydWUsIGZ1bmN0aW9uKCkg
ewotICAgICAgICAgICAgICAgIGlmICghdGVzdFJ1bm5lci5pc1N0YXRpc3RpY3NQcmV2YWxlbnRS
ZXNvdXJjZShvdGhlclByZXZhbGVudFVybCkpCi0gICAgICAgICAgICAgICAgICAgIHRlc3RGYWls
ZWQoIk90aGVyIGhvc3QgZGlkIG5vdCBnZXQgc2V0IGFzIHByZXZhbGVudCByZXNvdXJjZS4iKTsK
LQotICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc0hhc0hhZFVzZXJJbnRl
cmFjdGlvbihzdGF0aXN0aWNzVXJsLCB0cnVlLCBmdW5jdGlvbigpIHsKLSAgICAgICAgICAgICAg
ICAgICAgaWYgKCF0ZXN0UnVubmVyLmlzU3RhdGlzdGljc0hhc0hhZFVzZXJJbnRlcmFjdGlvbihz
dGF0aXN0aWNzVXJsKSkKLSAgICAgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoIkhvc3Qg
ZGlkIG5vdCBnZXQgbG9nZ2VkIGZvciB1c2VyIGludGVyYWN0aW9uLiIpOwotCi0gICAgICAgICAg
ICAgICAgICAgIHRlc3RSdW5uZXIuaW5zdGFsbFN0YXRpc3RpY3NEaWRTY2FuRGF0YVJlY29yZHND
YWxsYmFjayhmdW5jdGlvbigpIHsKLSAgICAgICAgICAgICAgICAgICAgICAgIGlmIChkb2N1bWVu
dC5jb29raWUgPT09IGNvb2tpZSkKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICB0ZXN0UGFz
c2VkKCJDb29raWUgbm90IGRlbGV0ZWQuIik7Ci0gICAgICAgICAgICAgICAgICAgICAgICBlbHNl
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZCgiQ29va2llIGRlbGV0ZWQg
b3IgZG9jdW1lbnQuY29va2llIGNvbnRhaW5zIG90aGVyIGNvb2tpZXM6ICIgKyBkb2N1bWVudC5j
b29raWUpOwotCi0gICAgICAgICAgICAgICAgICAgICAgICBzZXRFbmFibGVGZWF0dXJlKGZhbHNl
LCBmdW5jdGlvbigpIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLm5v
dGlmeURvbmUoKTsKLSAgICAgICAgICAgICAgICAgICAgICAgIH0pOwotICAgICAgICAgICAgICAg
ICAgICB9KTsKLSAgICAgICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNzU2hv
dWxkQ2xhc3NpZnlSZXNvdXJjZXNCZWZvcmVEYXRhUmVjb3Jkc1JlbW92YWwoZmFsc2UpOwotICAg
ICAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NNaW5pbXVtVGltZUJldHdl
ZW5EYXRhUmVjb3Jkc1JlbW92YWwoMCk7Ci0gICAgICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIu
c3RhdGlzdGljc1Byb2Nlc3NTdGF0aXN0aWNzQW5kRGF0YVJlY29yZHMoKTsKLSAgICAgICAgICAg
ICAgICB9KTsKLSAgICAgICAgICAgIH0pOwotICAgICAgICB9KTsKLSAgICB9Ci0KLSAgICBpZiAo
ZG9jdW1lbnQubG9jYXRpb24uaG9zdCA9PT0gaG9zdFVuZGVyVGVzdCAmJiB3aW5kb3cudGVzdFJ1
bm5lciAmJiB3aW5kb3cuaW50ZXJuYWxzKSB7Ci0gICAgICAgIHRlc3RSdW5uZXIuc2V0VXNlSVRQ
RGF0YWJhc2UodHJ1ZSk7Ci0gICAgICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOwotICAg
ICAgICBzZXRFbmFibGVGZWF0dXJlKHRydWUsIHJ1blRlc3RSdW5uZXJUZXN0KTsKLSAgICB9Ci08
L3NjcmlwdD4KLTwvYm9keT4KLTwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAv
dGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9ub24tcHJldmFsZW50LXJlc291cmNlLXdpdGhv
dXQtdXNlci1pbnRlcmFjdGlvbi1kYXRhYmFzZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9o
dHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3Mvbm9uLXByZXZhbGVudC1yZXNvdXJjZS13
aXRob3V0LXVzZXItaW50ZXJhY3Rpb24tZGF0YWJhc2UtZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCBjODlmODU1YTc4OWNmMTBiZjMzMGY0YzkyZWExMmI5NDFhYmVm
YzA3Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91
dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9ub24tcHJldmFsZW50LXJl
c291cmNlLXdpdGhvdXQtdXNlci1pbnRlcmFjdGlvbi1kYXRhYmFzZS1leHBlY3RlZC50eHQKKysr
IC9kZXYvbnVsbApAQCAtMSw1ICswLDAgQEAKLVBBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRy
dWUKLQotVEVTVCBDT01QTEVURQotUEFTUyBDb29raWUgbm90IGRlbGV0ZWQuCi0KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9ub24tcHJl
dmFsZW50LXJlc291cmNlLXdpdGhvdXQtdXNlci1pbnRlcmFjdGlvbi1kYXRhYmFzZS5odG1sIGIv
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL25vbi1wcmV2YWxl
bnQtcmVzb3VyY2Utd2l0aG91dC11c2VyLWludGVyYWN0aW9uLWRhdGFiYXNlLmh0bWwKZGVsZXRl
ZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDc0NWY2OThiZWQwNDI1NjExOTk5Nzc3NGFjZDY5YjY1
NzM0MTc3OGQuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEv
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL25vbi1wcmV2YWxl
bnQtcmVzb3VyY2Utd2l0aG91dC11c2VyLWludGVyYWN0aW9uLWRhdGFiYXNlLmh0bWwKKysrIC9k
ZXYvbnVsbApAQCAtMSw2MiArMCwwIEBACi08IURPQ1RZUEUgaHRtbD4KLTxodG1sIGxhbmc9ImVu
Ij4KLTxoZWFkPgotICAgIDxtZXRhIGNoYXJzZXQ9IlVURi04Ij4KLSAgICA8dGl0bGU+VGVzdHMg
Zm9yIE5vbi1QcmV2YWxlbnQgUmVzb3VyY2UgV2l0aG91dCBVc2VyIEludGVyYWN0aW9uPC90aXRs
ZT4KLSAgICA8c2NyaXB0IHNyYz0iL2pzLXRlc3QtcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2Ny
aXB0PgotICAgIDxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvdXRpbC5qcyI+PC9zY3JpcHQ+Ci08L2hl
YWQ+Ci08Ym9keT4KLTxzY3JpcHQ+Ci0gICAgY29uc3QgaG9zdFVuZGVyVGVzdCA9ICIxMjcuMC4w
LjE6ODAwMCI7Ci0gICAgY29uc3Qgc3RhdGlzdGljc1VybCA9ICJodHRwOi8vIiArIGhvc3RVbmRl
clRlc3QgKyAiL3RlbXAiOwotICAgIGNvbnN0IG90aGVyUHJldmFsZW50VXJsID0gImh0dHA6Ly9s
b2NhbGhvc3Q6ODAwMC90ZW1wIjsKLQotICAgIGZ1bmN0aW9uIHJ1blRlc3RSdW5uZXJUZXN0KCkg
ewotICAgICAgICBpZiAoZG9jdW1lbnQuY29va2llICE9PSAiIikKLSAgICAgICAgICAgIHRlc3RG
YWlsZWQoImRvY3VtZW50LmNvb2tpZSBub3QgZW1wdHkuIik7Ci0gICAgICAgIGNvbnN0IGNvb2tp
ZSA9ICJ0ZXN0Q29va2llPXRlc3RWYWx1ZSI7Ci0gICAgICAgIGRvY3VtZW50LmNvb2tpZSA9IGNv
b2tpZSArICI7IG1heC1hZ2U9MTAwOyI7Ci0gICAgICAgIGlmIChkb2N1bWVudC5jb29raWUgIT09
IGNvb2tpZSkKLSAgICAgICAgICAgIHRlc3RGYWlsZWQoImRvY3VtZW50LmNvb2tpZSBkaWQgbm90
IGdldCBzZXQuIik7Ci0KLSAgICAgICAgdGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNzUHJldmFsZW50
UmVzb3VyY2Uoc3RhdGlzdGljc1VybCwgZmFsc2UsIGZ1bmN0aW9uKCkgewotICAgICAgICAgICAg
aWYgKHRlc3RSdW5uZXIuaXNTdGF0aXN0aWNzUHJldmFsZW50UmVzb3VyY2Uoc3RhdGlzdGljc1Vy
bCkpCi0gICAgICAgICAgICAgICAgdGVzdEZhaWxlZCgiSG9zdCBkaWQgbm90IGdldCBzZXQgYXMg
bm9uLXByZXZhbGVudCByZXNvdXJjZS4iKTsKLQotICAgICAgICAgICAgLy8gVGhpcyBpcyBkb25l
IHRvIG5vdCBoYXZlIGFuIGVtcHR5IHNldCBvZiBwcmV2YWxlbnQgcmVzb3VyY2VzLgotICAgICAg
ICAgICAgLy8gT3RoZXJ3aXNlIGRhdGEgcmVjb3JkcyBhcmUgbmV2ZXIgc2Nhbm5lZC4KLSAgICAg
ICAgICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc1ByZXZhbGVudFJlc291cmNlKG90aGVyUHJl
dmFsZW50VXJsLCB0cnVlLCBmdW5jdGlvbigpIHsKLSAgICAgICAgICAgICAgICBpZiAoIXRlc3RS
dW5uZXIuaXNTdGF0aXN0aWNzUHJldmFsZW50UmVzb3VyY2Uob3RoZXJQcmV2YWxlbnRVcmwpKQot
ICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKCJPdGhlciBob3N0IGRpZCBub3QgZ2V0IHNl
dCBhcyBwcmV2YWxlbnQgcmVzb3VyY2UuIik7Ci0KLSAgICAgICAgICAgICAgICB0ZXN0UnVubmVy
LnNldFN0YXRpc3RpY3NIYXNIYWRVc2VySW50ZXJhY3Rpb24oc3RhdGlzdGljc1VybCwgZmFsc2Us
IGZ1bmN0aW9uKCkgewotICAgICAgICAgICAgICAgICAgICBpZiAodGVzdFJ1bm5lci5pc1N0YXRp
c3RpY3NIYXNIYWRVc2VySW50ZXJhY3Rpb24oc3RhdGlzdGljc1VybCkpCi0gICAgICAgICAgICAg
ICAgICAgICAgICB0ZXN0RmFpbGVkKCJIb3N0IGRpZCBub3QgZ2V0IGNsZWFyZWQgb2YgdXNlciBp
bnRlcmFjdGlvbi4iKTsKLQotICAgICAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLmluc3RhbGxT
dGF0aXN0aWNzRGlkU2NhbkRhdGFSZWNvcmRzQ2FsbGJhY2soZnVuY3Rpb24oKSB7Ci0gICAgICAg
ICAgICAgICAgICAgICAgICBpZiAoZG9jdW1lbnQuY29va2llID09PSBjb29raWUpCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgdGVzdFBhc3NlZCgiQ29va2llIG5vdCBkZWxldGVkLiIpOwot
ICAgICAgICAgICAgICAgICAgICAgICAgZWxzZQotICAgICAgICAgICAgICAgICAgICAgICAgICAg
IHRlc3RGYWlsZWQoIkNvb2tpZSBkZWxldGVkIG9yIGRvY3VtZW50LmNvb2tpZSBjb250YWlucyBv
dGhlciBjb29raWVzOiAiICsgZG9jdW1lbnQuY29va2llKTsKLQotICAgICAgICAgICAgICAgICAg
ICAgICAgc2V0RW5hYmxlRmVhdHVyZShmYWxzZSwgZnVuY3Rpb24oKSB7Ci0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7Ci0gICAgICAgICAgICAgICAg
ICAgICAgICB9KTsKLSAgICAgICAgICAgICAgICAgICAgfSk7Ci0gICAgICAgICAgICAgICAgICAg
IHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc1Nob3VsZENsYXNzaWZ5UmVzb3VyY2VzQmVmb3JlRGF0
YVJlY29yZHNSZW1vdmFsKGZhbHNlKTsKLSAgICAgICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5z
ZXRTdGF0aXN0aWNzTWluaW11bVRpbWVCZXR3ZWVuRGF0YVJlY29yZHNSZW1vdmFsKDApOwotICAg
ICAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLnN0YXRpc3RpY3NQcm9jZXNzU3RhdGlzdGljc0Fu
ZERhdGFSZWNvcmRzKCk7Ci0gICAgICAgICAgICAgICAgfSk7Ci0gICAgICAgICAgICB9KTsKLSAg
ICAgICAgfSk7Ci0gICAgfQotCi0gICAgaWYgKGRvY3VtZW50LmxvY2F0aW9uLmhvc3QgPT09IGhv
c3RVbmRlclRlc3QgJiYgd2luZG93LnRlc3RSdW5uZXIgJiYgd2luZG93LmludGVybmFscykgewot
ICAgICAgICB0ZXN0UnVubmVyLnNldFVzZUlUUERhdGFiYXNlKHRydWUpOwotICAgICAgICB0ZXN0
UnVubmVyLndhaXRVbnRpbERvbmUoKTsKLSAgICAgICAgc2V0RW5hYmxlRmVhdHVyZSh0cnVlLCBy
dW5UZXN0UnVubmVyVGVzdCk7Ci0gICAgfQotPC9zY3JpcHQ+Ci08L2JvZHk+Ci08L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3Mv
bm9uLXByZXZhbGVudC1yZXNvdXJjZXMtY2FuLWFjY2Vzcy1jb29raWVzLWluLWEtdGhpcmQtcGFy
dHktY29udGV4dC1kYXRhYmFzZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L3Jlc291cmNlTG9hZFN0YXRpc3RpY3Mvbm9uLXByZXZhbGVudC1yZXNvdXJjZXMtY2FuLWFjY2Vz
cy1jb29raWVzLWluLWEtdGhpcmQtcGFydHktY29udGV4dC1kYXRhYmFzZS1leHBlY3RlZC50eHQK
ZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDBmYjk3ZjkxZmNkMzNjYzk3ODk3OWNkNDhh
NTVhNDk0NzRkMjc3MTEuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAK
LS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL25vbi1w
cmV2YWxlbnQtcmVzb3VyY2VzLWNhbi1hY2Nlc3MtY29va2llcy1pbi1hLXRoaXJkLXBhcnR5LWNv
bnRleHQtZGF0YWJhc2UtZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEsMTEgKzAsMCBA
QAotUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQotCi1URVNUIENPTVBMRVRFCi0KLQot
LS0tLS0tLS0KLUZyYW1lOiAnPCEtLWZyYW1lMS0tPicKLS0tLS0tLS0tCi1TaG91bGQgcmVjZWl2
ZSBvbmUgY29va2llLgotUmVjZWl2ZWQgY29va2llIG5hbWVkICdmaXJzdFBhcnR5Q29va2llJy4K
LUNsaWVudC1zaWRlIGRvY3VtZW50LmNvb2tpZTogZmlyc3RQYXJ0eUNvb2tpZT12YWx1ZQpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL25v
bi1wcmV2YWxlbnQtcmVzb3VyY2VzLWNhbi1hY2Nlc3MtY29va2llcy1pbi1hLXRoaXJkLXBhcnR5
LWNvbnRleHQtZGF0YWJhc2UuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VM
b2FkU3RhdGlzdGljcy9ub24tcHJldmFsZW50LXJlc291cmNlcy1jYW4tYWNjZXNzLWNvb2tpZXMt
aW4tYS10aGlyZC1wYXJ0eS1jb250ZXh0LWRhdGFiYXNlLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDgyYzE4NzU2YWQ1MWI0Zjg3M2FmMTYxYzk0ZWMwOGQ4MDNjMjAxODguLjAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMv
aHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL25vbi1wcmV2YWxlbnQtcmVzb3VyY2Vz
LWNhbi1hY2Nlc3MtY29va2llcy1pbi1hLXRoaXJkLXBhcnR5LWNvbnRleHQtZGF0YWJhc2UuaHRt
bAorKysgL2Rldi9udWxsCkBAIC0xLDY0ICswLDAgQEAKLTwhRE9DVFlQRSBodG1sPgotPGh0bWwg
bGFuZz0iZW4iPgotPGhlYWQ+Ci0gICAgPG1ldGEgY2hhcnNldD0iVVRGLTgiPgotICAgIDx0aXRs
ZT5UZXN0IHRvIGVuc3VyZSBub24tcHJldmFsZW50IHJlc291cmNlcyBjYW4gYWNjZXNzIHRoZWly
IGNvb2tpZXMgaW4gYSB0aGlyZCBwYXJ0eSBjb250ZXh0PC90aXRsZT4KLSAgICA8c2NyaXB0IHNy
Yz0iL2pzLXRlc3QtcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgotICAgIDxzY3JpcHQg
c3JjPSJyZXNvdXJjZXMvdXRpbC5qcyI+PC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keT4KLTxzY3Jp
cHQ+Ci0gICAgY29uc3QgcGFydGl0aW9uSG9zdCA9ICIxMjcuMC4wLjE6ODAwMCI7Ci0gICAgY29u
c3QgdGhpcmRQYXJ0eU9yaWdpbiA9ICJodHRwOi8vbG9jYWxob3N0OjgwMDAiOwotICAgIGNvbnN0
IHRoaXJkUGFydHlCYXNlVXJsID0gdGhpcmRQYXJ0eU9yaWdpbiArICIvcmVzb3VyY2VMb2FkU3Rh
dGlzdGljcy9yZXNvdXJjZXMiOwotICAgIGNvbnN0IGZpcnN0UGFydHlDb29raWVOYW1lID0gImZp
cnN0UGFydHlDb29raWUiOwotICAgIGNvbnN0IHN1YlBhdGhUb1NldEZpcnN0UGFydHlDb29raWUg
PSAiL3NldC1jb29raWUucGhwP25hbWU9IiArIGZpcnN0UGFydHlDb29raWVOYW1lICsgIiZ2YWx1
ZT12YWx1ZSI7Ci0gICAgY29uc3QgZnJhZ21lbnRXaXRoUmV0dXJuVXJsID0gImh0dHA6Ly8xMjcu
MC4wLjE6ODAwMC9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL25vbi1wcmV2YWxlbnQtcmVzb3VyY2Vz
LWNhbi1hY2Nlc3MtY29va2llcy1pbi1hLXRoaXJkLXBhcnR5LWNvbnRleHQtZGF0YWJhc2UuaHRt
bCI7Ci0gICAgY29uc3Qgc3ViUGF0aFRvR2V0Q29va2llcyA9ICIvZ2V0LWNvb2tpZXMucGhwP25h
bWUxPSIgKyBmaXJzdFBhcnR5Q29va2llTmFtZTsKLQotICAgIGZ1bmN0aW9uIGZpbmlzaFRlc3Qo
KSB7Ci0gICAgICAgIHNldEVuYWJsZUZlYXR1cmUoZmFsc2UsIGZ1bmN0aW9uKCkgewotICAgICAg
ICAgICAgdGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7Ci0gICAgICAgIH0pOwotICAgIH0KLQotICAg
IGZ1bmN0aW9uIG9wZW5JZnJhbWUodXJsLCBvbkxvYWRIYW5kbGVyKSB7Ci0gICAgICAgIGNvbnN0
IGVsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJpZnJhbWUiKTsKLSAgICAgICAgZWxl
bWVudC5zcmMgPSB1cmw7Ci0gICAgICAgIGlmIChvbkxvYWRIYW5kbGVyKSB7Ci0gICAgICAgICAg
ICBlbGVtZW50Lm9ubG9hZCA9IG9uTG9hZEhhbmRsZXI7Ci0gICAgICAgIH0KLSAgICAgICAgZG9j
dW1lbnQuYm9keS5hcHBlbmRDaGlsZChlbGVtZW50KTsKLSAgICB9Ci0KLSAgICBmdW5jdGlvbiBy
dW5UZXN0KCkgewotICAgICAgICBzd2l0Y2ggKGRvY3VtZW50LmxvY2F0aW9uLmhhc2gpIHsKLSAg
ICAgICAgICAgIGNhc2UgIiNzdGVwMSI6Ci0gICAgICAgICAgICAgICAgLy8gU2V0IGEgZmlyc3Qt
cGFydHkgY29va2llIGZvciBsb2NhbGhvc3QuCi0gICAgICAgICAgICAgICAgZG9jdW1lbnQubG9j
YXRpb24uaHJlZiA9IHRoaXJkUGFydHlCYXNlVXJsICsgc3ViUGF0aFRvU2V0Rmlyc3RQYXJ0eUNv
b2tpZSArICIjIiArIGZyYWdtZW50V2l0aFJldHVyblVybCArICIjc3RlcDIiOwotICAgICAgICAg
ICAgICAgIGJyZWFrOwotICAgICAgICAgICAgY2FzZSAiI3N0ZXAyIjoKLSAgICAgICAgICAgICAg
ICAvLyBMb2FkIGxvY2FsaG9zdCB1bmRlciAxMjcuMC4wLjEgYW5kIGNoZWNrIHRoYXQgaXQgZ2V0
cyBpdHMgY29va2llLgotICAgICAgICAgICAgICAgIG9wZW5JZnJhbWUodGhpcmRQYXJ0eUJhc2VV
cmwgKyBzdWJQYXRoVG9HZXRDb29raWVzICsgIiZtZXNzYWdlPVNob3VsZCByZWNlaXZlIG9uZSBj
b29raWUuIiwgZmluaXNoVGVzdCk7Ci0gICAgICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgIH0K
LSAgICB9Ci0KLSAgICBpZiAoZG9jdW1lbnQubG9jYXRpb24uaG9zdCA9PT0gcGFydGl0aW9uSG9z
dCAmJiBkb2N1bWVudC5sb2NhdGlvbi5oYXNoID09ICIiICYmIHdpbmRvdy50ZXN0UnVubmVyICYm
IHdpbmRvdy5pbnRlcm5hbHMpIHsKLSAgICAgICAgdGVzdFJ1bm5lci5zZXRVc2VJVFBEYXRhYmFz
ZSh0cnVlKTsKLSAgICAgICAgdGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7Ci0gICAgICAgIHRl
c3RSdW5uZXIuZHVtcENoaWxkRnJhbWVzQXNUZXh0KCk7Ci0gICAgICAgIHNldEVuYWJsZUZlYXR1
cmUodHJ1ZSwgZnVuY3Rpb24oKSB7Ci0gICAgICAgICAgICB0ZXN0UnVubmVyLnNldFN0YXRpc3Rp
Y3NQcmV2YWxlbnRSZXNvdXJjZSh0aGlyZFBhcnR5T3JpZ2luLCBmYWxzZSwgZnVuY3Rpb24oKSB7
Ci0gICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNzSGFzSGFkVXNlckludGVy
YWN0aW9uKHRoaXJkUGFydHlPcmlnaW4sIGZhbHNlLCBmdW5jdGlvbigpIHsKLSAgICAgICAgICAg
ICAgICAgICAgZG9jdW1lbnQubG9jYXRpb24uaGFzaCA9ICJzdGVwMSI7Ci0gICAgICAgICAgICAg
ICAgICAgIHRlc3RSdW5uZXIuc3RhdGlzdGljc1VwZGF0ZUNvb2tpZUJsb2NraW5nKHJ1blRlc3Qp
OwotICAgICAgICAgICAgICAgIH0pOwotICAgICAgICAgICAgfSk7Ci0gICAgICAgIH0pOwotICAg
IH0gZWxzZSB7Ci0gICAgICAgIHJ1blRlc3QoKTsKLSAgICB9Ci08L3NjcmlwdD4KLTwvYm9keT4K
LTwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2Fk
U3RhdGlzdGljcy9ub24tc2FuZGJveGVkLWlmcmFtZS1yZWRpcmVjdC1pcC10by1sb2NhbGhvc3Qt
dG8taXAtZGF0YWJhc2UtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNv
dXJjZUxvYWRTdGF0aXN0aWNzL25vbi1zYW5kYm94ZWQtaWZyYW1lLXJlZGlyZWN0LWlwLXRvLWxv
Y2FsaG9zdC10by1pcC1kYXRhYmFzZS1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDg2M2M3MjAyYjAzZTc3MGQ2ZTQ0NmZiNmYzNDAwZmIzOGM1OWY1MzAuLjAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL25vbi1zYW5kYm94ZWQtaWZyYW1lLXJlZGly
ZWN0LWlwLXRvLWxvY2FsaG9zdC10by1pcC1kYXRhYmFzZS1leHBlY3RlZC50eHQKKysrIC9kZXYv
bnVsbApAQCAtMSwxMiArMCwwIEBACi1UZXN0cyB0aGF0IHJlZGlyZWN0cyBmb3IgYSBub24tc2Fu
ZGJveGVkIGlmcmFtZSBnZXQgY291bnRlZCBwcm9wZXJseS4KLQotT24gc3VjY2VzcywgeW91IHdp
bGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09N
UExFVEUiLgotCi0KLVBBU1MgdGVzdFJ1bm5lci5pc1N0YXRpc3RpY3NSZWdpc3RlcmVkQXNTdWJG
cmFtZVVuZGVyKCJodHRwOi8vbG9jYWxob3N0IiwgImh0dHA6Ly8xMjcuMC4wLjEiKSBpcyB0cnVl
Ci1QQVNTIHRlc3RSdW5uZXIuaXNTdGF0aXN0aWNzUmVnaXN0ZXJlZEFzUmVkaXJlY3RpbmdUbygi
aHR0cDovL2xvY2FsaG9zdCIsICJodHRwOi8vMTI3LjAuMC4xIikgaXMgdHJ1ZQotUEFTUyB0ZXN0
UnVubmVyLmlzU3RhdGlzdGljc1JlZ2lzdGVyZWRBc1JlZGlyZWN0aW5nVG8oImh0dHA6Ly8xMjcu
MC4wLjEiLCAiaHR0cDovL2xvY2FsaG9zdCIpIGlzIHRydWUKLVBBU1Mgc3VjY2Vzc2Z1bGx5UGFy
c2VkIGlzIHRydWUKLQotVEVTVCBDT01QTEVURQotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9o
dHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3Mvbm9uLXNhbmRib3hlZC1pZnJhbWUtcmVk
aXJlY3QtaXAtdG8tbG9jYWxob3N0LXRvLWlwLWRhdGFiYXNlLmh0bWwgYi9MYXlvdXRUZXN0cy9o
dHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3Mvbm9uLXNhbmRib3hlZC1pZnJhbWUtcmVk
aXJlY3QtaXAtdG8tbG9jYWxob3N0LXRvLWlwLWRhdGFiYXNlLmh0bWwKZGVsZXRlZCBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IGI1YmRhNmY5ZjFiY2ViZjQ4OTQ1NWJlY2U0ODVmNWNlY2QxZjYwOWMu
LjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL25vbi1zYW5kYm94ZWQtaWZyYW1l
LXJlZGlyZWN0LWlwLXRvLWxvY2FsaG9zdC10by1pcC1kYXRhYmFzZS5odG1sCisrKyAvZGV2L251
bGwKQEAgLTEsNTQgKzAsMCBAQAotPCFET0NUWVBFIGh0bWw+Ci08aHRtbD4KLTxoZWFkPgotICAg
IDxzY3JpcHQgc3JjPSIvanMtdGVzdC1yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+Ci0g
ICAgPHNjcmlwdCBzcmM9InJlc291cmNlcy91dGlsLmpzIj48L3NjcmlwdD4KLSAgICA8c2NyaXB0
PgotICAgICAgICBkZXNjcmlwdGlvbigiVGVzdHMgdGhhdCByZWRpcmVjdHMgZm9yIGEgbm9uLXNh
bmRib3hlZCBpZnJhbWUgZ2V0IGNvdW50ZWQgcHJvcGVybHkuIik7Ci0gICAgICAgIGpzVGVzdElz
QXN5bmMgPSB0cnVlOwotICAgICAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigibWVzc2FnZSIs
IHJlY2VpdmVNZXNzYWdlLCBmYWxzZSk7Ci0KLSAgICAgICAgZnVuY3Rpb24gZmluaXNoVGVzdCgp
IHsKLSAgICAgICAgICAgIHNldEVuYWJsZUZlYXR1cmUoZmFsc2UsIGZpbmlzaEpTVGVzdCk7Ci0g
ICAgICAgIH0KLQotICAgICAgICB2YXIgbGFzdFBhZ2VJblJlZGlyZWN0Q2hhaW5Mb2FkZWQgPSBm
YWxzZTsKLSAgICAgICAgdmFyIHN0YXRzQ2hlY2tlZCA9IGZhbHNlOwotCi0gICAgICAgIGZ1bmN0
aW9uIHJlY2VpdmVNZXNzYWdlKGV2ZW50KSB7Ci0gICAgICAgICAgICBpZiAoZXZlbnQub3JpZ2lu
ID09PSAiaHR0cDovLzEyNy4wLjAuMTo4MDAwIikgewotICAgICAgICAgICAgICAgIGlmIChldmVu
dC5kYXRhLmluZGV4T2YoIlBBU1MiKSA9PT0gLTEpCi0gICAgICAgICAgICAgICAgICAgIHRlc3RG
YWlsZWQoZXZlbnQuZGF0YS5yZXBsYWNlKCJGQUlMICIsICIiKSk7Ci0gICAgICAgICAgICB9IGVs
c2UKLSAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKCJSZWNlaXZlZCBhIG1lc3NhZ2UgZnJvbSBh
biB1bmV4cGVjdGVkIG9yaWdpbjogIiArIGV2ZW50Lm9yaWdpbik7Ci0KLSAgICAgICAgICAgIGxh
c3RQYWdlSW5SZWRpcmVjdENoYWluTG9hZGVkID0gdHJ1ZTsKLSAgICAgICAgICAgIGlmIChzdGF0
c0NoZWNrZWQpCi0gICAgICAgICAgICAgICAgZmluaXNoVGVzdCgpOwotICAgICAgICAgICAgZWxz
ZQotICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIuc3RhdGlzdGljc05vdGlmeU9ic2VydmVyKCk7
Ci0gICAgICAgIH0KLQotICAgICAgICBmdW5jdGlvbiBjaGVja1N0YXRzKCkgewotICAgICAgICAg
ICAgc2hvdWxkQmVUcnVlKCd0ZXN0UnVubmVyLmlzU3RhdGlzdGljc1JlZ2lzdGVyZWRBc1N1YkZy
YW1lVW5kZXIoImh0dHA6Ly9sb2NhbGhvc3QiLCAiaHR0cDovLzEyNy4wLjAuMSIpJyk7Ci0gICAg
ICAgICAgICBzaG91bGRCZVRydWUoJ3Rlc3RSdW5uZXIuaXNTdGF0aXN0aWNzUmVnaXN0ZXJlZEFz
UmVkaXJlY3RpbmdUbygiaHR0cDovL2xvY2FsaG9zdCIsICJodHRwOi8vMTI3LjAuMC4xIiknKTsK
LSAgICAgICAgICAgIHNob3VsZEJlVHJ1ZSgndGVzdFJ1bm5lci5pc1N0YXRpc3RpY3NSZWdpc3Rl
cmVkQXNSZWRpcmVjdGluZ1RvKCJodHRwOi8vMTI3LjAuMC4xIiwgImh0dHA6Ly9sb2NhbGhvc3Qi
KScpOwotCi0gICAgICAgICAgICBzdGF0c0NoZWNrZWQgPSB0cnVlOwotICAgICAgICAgICAgaWYg
KGxhc3RQYWdlSW5SZWRpcmVjdENoYWluTG9hZGVkKQotICAgICAgICAgICAgICAgIGZpbmlzaFRl
c3QoKTsKLSAgICAgICAgfQotCi0gICAgICAgIGlmICh0ZXN0UnVubmVyKSB7Ci0gICAgICAgICAg
ICB0ZXN0UnVubmVyLnNldFVzZUlUUERhdGFiYXNlKHRydWUpOwotICAgICAgICAgICAgc2V0RW5h
YmxlRmVhdHVyZSh0cnVlLCBmdW5jdGlvbigpIHsKLSAgICAgICAgICAgICAgICB0ZXN0UnVubmVy
Lmluc3RhbGxTdGF0aXN0aWNzRGlkU2NhbkRhdGFSZWNvcmRzQ2FsbGJhY2soY2hlY2tTdGF0cyk7
Ci0gICAgICAgICAgICB9KTsKLSAgICAgICAgfQotICAgIDwvc2NyaXB0PgotPC9oZWFkPgotPGJv
ZHk+Ci08aWZyYW1lIHNyYz0iaHR0cDovLzEyNy4wLjAuMTo4MDAwL3Jlc291cmNlTG9hZFN0YXRp
c3RpY3MvcmVzb3VyY2VzL3JlZGlyZWN0LnBocD9yZWRpcmVjdFRvPWh0dHA6Ly9sb2NhbGhvc3Q6
ODAwMC9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3Jlc291cmNlcy9yZWRpcmVjdC5waHAvP3JlZGly
ZWN0VG89aHR0cDovLzEyNy4wLjAuMTo4MDAwL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvcmVzb3Vy
Y2VzL2lmcmFtZS1yZXBvcnQtYmFjay1sb2FkZWQuaHRtbCI+Ci08L2lmcmFtZT4KLTwvYm9keT4K
LTwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2Fk
U3RhdGlzdGljcy9ub24tc2FuZGJveGVkLWlmcmFtZS1yZWRpcmVjdC1sb2NhbGhvc3QtdG8taXAt
dG8tbG9jYWxob3N0LWRhdGFiYXNlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvdGVz
dHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9ub24tc2FuZGJveGVkLWlmcmFtZS1yZWRpcmVjdC1s
b2NhbGhvc3QtdG8taXAtdG8tbG9jYWxob3N0LWRhdGFiYXNlLWV4cGVjdGVkLnR4dApkZWxldGVk
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggODYzYzcyMDJiMDNlNzcwZDZlNDQ2ZmI2ZjM0MDBmYjM4
YzU5ZjUzMC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9M
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3Mvbm9uLXNhbmRib3hl
ZC1pZnJhbWUtcmVkaXJlY3QtbG9jYWxob3N0LXRvLWlwLXRvLWxvY2FsaG9zdC1kYXRhYmFzZS1l
eHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSwxMiArMCwwIEBACi1UZXN0cyB0aGF0IHJl
ZGlyZWN0cyBmb3IgYSBub24tc2FuZGJveGVkIGlmcmFtZSBnZXQgY291bnRlZCBwcm9wZXJseS4K
LQotT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywg
Zm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgotCi0KLVBBU1MgdGVzdFJ1bm5lci5pc1N0YXRp
c3RpY3NSZWdpc3RlcmVkQXNTdWJGcmFtZVVuZGVyKCJodHRwOi8vbG9jYWxob3N0IiwgImh0dHA6
Ly8xMjcuMC4wLjEiKSBpcyB0cnVlCi1QQVNTIHRlc3RSdW5uZXIuaXNTdGF0aXN0aWNzUmVnaXN0
ZXJlZEFzUmVkaXJlY3RpbmdUbygiaHR0cDovL2xvY2FsaG9zdCIsICJodHRwOi8vMTI3LjAuMC4x
IikgaXMgdHJ1ZQotUEFTUyB0ZXN0UnVubmVyLmlzU3RhdGlzdGljc1JlZ2lzdGVyZWRBc1JlZGly
ZWN0aW5nVG8oImh0dHA6Ly8xMjcuMC4wLjEiLCAiaHR0cDovL2xvY2FsaG9zdCIpIGlzIHRydWUK
LVBBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKLQotVEVTVCBDT01QTEVURQotCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3Mvbm9u
LXNhbmRib3hlZC1pZnJhbWUtcmVkaXJlY3QtbG9jYWxob3N0LXRvLWlwLXRvLWxvY2FsaG9zdC1k
YXRhYmFzZS5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0
aWNzL25vbi1zYW5kYm94ZWQtaWZyYW1lLXJlZGlyZWN0LWxvY2FsaG9zdC10by1pcC10by1sb2Nh
bGhvc3QtZGF0YWJhc2UuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZjJlMDM0
YzRjZjcwOTM1YmMyY2JjYjcyYmU0ZjNkZmFlMjVmMDA3ZS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNl
TG9hZFN0YXRpc3RpY3Mvbm9uLXNhbmRib3hlZC1pZnJhbWUtcmVkaXJlY3QtbG9jYWxob3N0LXRv
LWlwLXRvLWxvY2FsaG9zdC1kYXRhYmFzZS5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsNTQgKzAs
MCBAQAotPCFET0NUWVBFIGh0bWw+Ci08aHRtbD4KLTxoZWFkPgotICAgIDxzY3JpcHQgc3JjPSIv
anMtdGVzdC1yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+Ci0gICAgPHNjcmlwdCBzcmM9
InJlc291cmNlcy91dGlsLmpzIj48L3NjcmlwdD4KLSAgICA8c2NyaXB0PgotICAgICAgICBkZXNj
cmlwdGlvbigiVGVzdHMgdGhhdCByZWRpcmVjdHMgZm9yIGEgbm9uLXNhbmRib3hlZCBpZnJhbWUg
Z2V0IGNvdW50ZWQgcHJvcGVybHkuIik7Ci0gICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOwot
ICAgICAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigibWVzc2FnZSIsIHJlY2VpdmVNZXNzYWdl
LCBmYWxzZSk7Ci0KLSAgICAgICAgZnVuY3Rpb24gZmluaXNoVGVzdCgpIHsKLSAgICAgICAgICAg
IHNldEVuYWJsZUZlYXR1cmUoZmFsc2UsIGZpbmlzaEpTVGVzdCk7Ci0gICAgICAgIH0KLQotICAg
ICAgICB2YXIgbGFzdFBhZ2VJblJlZGlyZWN0Q2hhaW5Mb2FkZWQgPSBmYWxzZTsKLSAgICAgICAg
dmFyIHN0YXRzQ2hlY2tlZCA9IGZhbHNlOwotCi0gICAgICAgIGZ1bmN0aW9uIHJlY2VpdmVNZXNz
YWdlKGV2ZW50KSB7Ci0gICAgICAgICAgICBpZiAoZXZlbnQub3JpZ2luID09PSAiaHR0cDovL2xv
Y2FsaG9zdDo4MDAwIikgewotICAgICAgICAgICAgICAgIGlmIChldmVudC5kYXRhLmluZGV4T2Yo
IlBBU1MiKSA9PT0gLTEpCi0gICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoZXZlbnQuZGF0
YS5yZXBsYWNlKCJGQUlMICIsICIiKSk7Ci0gICAgICAgICAgICB9IGVsc2UKLSAgICAgICAgICAg
ICAgICB0ZXN0RmFpbGVkKCJSZWNlaXZlZCBhIG1lc3NhZ2UgZnJvbSBhbiB1bmV4cGVjdGVkIG9y
aWdpbjogIiArIGV2ZW50Lm9yaWdpbik7Ci0KLSAgICAgICAgICAgIGxhc3RQYWdlSW5SZWRpcmVj
dENoYWluTG9hZGVkID0gdHJ1ZTsKLSAgICAgICAgICAgIGlmIChzdGF0c0NoZWNrZWQpCi0gICAg
ICAgICAgICAgICAgZmluaXNoVGVzdCgpOwotICAgICAgICAgICAgZWxzZQotICAgICAgICAgICAg
ICAgIHRlc3RSdW5uZXIuc3RhdGlzdGljc05vdGlmeU9ic2VydmVyKCk7Ci0gICAgICAgIH0KLQot
ICAgICAgICBmdW5jdGlvbiBjaGVja1N0YXRzKCkgewotICAgICAgICAgICAgc2hvdWxkQmVUcnVl
KCd0ZXN0UnVubmVyLmlzU3RhdGlzdGljc1JlZ2lzdGVyZWRBc1N1YkZyYW1lVW5kZXIoImh0dHA6
Ly9sb2NhbGhvc3QiLCAiaHR0cDovLzEyNy4wLjAuMSIpJyk7Ci0gICAgICAgICAgICBzaG91bGRC
ZVRydWUoJ3Rlc3RSdW5uZXIuaXNTdGF0aXN0aWNzUmVnaXN0ZXJlZEFzUmVkaXJlY3RpbmdUbygi
aHR0cDovL2xvY2FsaG9zdCIsICJodHRwOi8vMTI3LjAuMC4xIiknKTsKLSAgICAgICAgICAgIHNo
b3VsZEJlVHJ1ZSgndGVzdFJ1bm5lci5pc1N0YXRpc3RpY3NSZWdpc3RlcmVkQXNSZWRpcmVjdGlu
Z1RvKCJodHRwOi8vMTI3LjAuMC4xIiwgImh0dHA6Ly9sb2NhbGhvc3QiKScpOwotCi0gICAgICAg
ICAgICBzdGF0c0NoZWNrZWQgPSB0cnVlOwotICAgICAgICAgICAgaWYgKGxhc3RQYWdlSW5SZWRp
cmVjdENoYWluTG9hZGVkKQotICAgICAgICAgICAgICAgIGZpbmlzaFRlc3QoKTsKLSAgICAgICAg
fQotCi0gICAgICAgIGlmICh0ZXN0UnVubmVyKSB7Ci0gICAgICAgICAgICB0ZXN0UnVubmVyLnNl
dFVzZUlUUERhdGFiYXNlKHRydWUpOwotICAgICAgICAgICAgc2V0RW5hYmxlRmVhdHVyZSh0cnVl
LCBmdW5jdGlvbigpIHsKLSAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLmluc3RhbGxTdGF0aXN0
aWNzRGlkU2NhbkRhdGFSZWNvcmRzQ2FsbGJhY2soY2hlY2tTdGF0cyk7Ci0gICAgICAgICAgICB9
KTsKLSAgICAgICAgfQotICAgIDwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHk+Ci08aWZyYW1lIHNy
Yz0iaHR0cDovL2xvY2FsaG9zdDo4MDAwL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvcmVzb3VyY2Vz
L3JlZGlyZWN0LnBocC8/cmVkaXJlY3RUbz1odHRwOi8vMTI3LjAuMC4xOjgwMDAvcmVzb3VyY2VM
b2FkU3RhdGlzdGljcy9yZXNvdXJjZXMvcmVkaXJlY3QucGhwLz9yZWRpcmVjdFRvPWh0dHA6Ly9s
b2NhbGhvc3Q6ODAwMC9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3Jlc291cmNlcy9pZnJhbWUtcmVw
b3J0LWJhY2stbG9hZGVkLmh0bWwiPgotPC9pZnJhbWU+Ci08L2JvZHk+Ci08L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3Mvbm9u
LXNhbmRib3hlZC1uZXN0aW5nLWlmcmFtZS13aXRoLW5vbi1zYW5kYm94ZWQtaWZyYW1lLXJlZGly
ZWN0LWlwLXRvLWxvY2FsaG9zdC10by1pcC1kYXRhYmFzZS1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3Mvbm9uLXNhbmRib3hlZC1uZXN0
aW5nLWlmcmFtZS13aXRoLW5vbi1zYW5kYm94ZWQtaWZyYW1lLXJlZGlyZWN0LWlwLXRvLWxvY2Fs
aG9zdC10by1pcC1kYXRhYmFzZS1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDliNTE2ZjEzMmY5ZmIxMDEzNjgyMjYzYzZmMmM4MTBiN2ZhZjlkOGYuLjAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90
ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL25vbi1zYW5kYm94ZWQtbmVzdGluZy1pZnJhbWUt
d2l0aC1ub24tc2FuZGJveGVkLWlmcmFtZS1yZWRpcmVjdC1pcC10by1sb2NhbGhvc3QtdG8taXAt
ZGF0YWJhc2UtZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEsMTIgKzAsMCBAQAotVGVz
dHMgdGhhdCByZWRpcmVjdHMgZm9yIGEgbm9uLXNhbmRib3hlZCBpZnJhbWUgbmVzdGVkIGluIGEg
bm9uLXNhbmRib3hlZCBpZnJhbWUgZ2V0IGNvdW50ZWQgcHJvcGVybHkuCi0KLU9uIHN1Y2Nlc3Ms
IHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJU
RVNUIENPTVBMRVRFIi4KLQotCi1QQVNTIHRlc3RSdW5uZXIuaXNTdGF0aXN0aWNzUmVnaXN0ZXJl
ZEFzU3ViRnJhbWVVbmRlcigiaHR0cDovL2xvY2FsaG9zdCIsICJodHRwOi8vMTI3LjAuMC4xIikg
aXMgdHJ1ZQotUEFTUyB0ZXN0UnVubmVyLmlzU3RhdGlzdGljc1JlZ2lzdGVyZWRBc1JlZGlyZWN0
aW5nVG8oImh0dHA6Ly9sb2NhbGhvc3QiLCAiaHR0cDovLzEyNy4wLjAuMSIpIGlzIHRydWUKLVBB
U1MgdGVzdFJ1bm5lci5pc1N0YXRpc3RpY3NSZWdpc3RlcmVkQXNSZWRpcmVjdGluZ1RvKCJodHRw
Oi8vMTI3LjAuMC4xIiwgImh0dHA6Ly9sb2NhbGhvc3QiKSBpcyB0cnVlCi1QQVNTIHN1Y2Nlc3Nm
dWxseVBhcnNlZCBpcyB0cnVlCi0KLVRFU1QgQ09NUExFVEUKLQpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL25vbi1zYW5kYm94ZWQtbmVz
dGluZy1pZnJhbWUtd2l0aC1ub24tc2FuZGJveGVkLWlmcmFtZS1yZWRpcmVjdC1pcC10by1sb2Nh
bGhvc3QtdG8taXAtZGF0YWJhc2UuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3Vy
Y2VMb2FkU3RhdGlzdGljcy9ub24tc2FuZGJveGVkLW5lc3RpbmctaWZyYW1lLXdpdGgtbm9uLXNh
bmRib3hlZC1pZnJhbWUtcmVkaXJlY3QtaXAtdG8tbG9jYWxob3N0LXRvLWlwLWRhdGFiYXNlLmh0
bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDBkNmU3MmYzYzA3YjAxZTE3NDIxZThl
M2NjNDgzNTRiZWI0M2UyMjYuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL25v
bi1zYW5kYm94ZWQtbmVzdGluZy1pZnJhbWUtd2l0aC1ub24tc2FuZGJveGVkLWlmcmFtZS1yZWRp
cmVjdC1pcC10by1sb2NhbGhvc3QtdG8taXAtZGF0YWJhc2UuaHRtbAorKysgL2Rldi9udWxsCkBA
IC0xLDU0ICswLDAgQEAKLTwhRE9DVFlQRSBodG1sPgotPGh0bWw+Ci08aGVhZD4KLSAgICA8c2Ny
aXB0IHNyYz0iL2pzLXRlc3QtcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgotICAgIDxz
Y3JpcHQgc3JjPSJyZXNvdXJjZXMvdXRpbC5qcyI+PC9zY3JpcHQ+Ci0gICAgPHNjcmlwdD4KLSAg
ICAgICAgZGVzY3JpcHRpb24oIlRlc3RzIHRoYXQgcmVkaXJlY3RzIGZvciBhIG5vbi1zYW5kYm94
ZWQgaWZyYW1lIG5lc3RlZCBpbiBhIG5vbi1zYW5kYm94ZWQgaWZyYW1lIGdldCBjb3VudGVkIHBy
b3Blcmx5LiIpOwotICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKLSAgICAgICAgd2luZG93
LmFkZEV2ZW50TGlzdGVuZXIoIm1lc3NhZ2UiLCByZWNlaXZlTWVzc2FnZSwgZmFsc2UpOwotCi0g
ICAgICAgIGZ1bmN0aW9uIGZpbmlzaFRlc3QoKSB7Ci0gICAgICAgICAgICBzZXRFbmFibGVGZWF0
dXJlKGZhbHNlLCBmaW5pc2hKU1Rlc3QpOwotICAgICAgICB9Ci0KLSAgICAgICAgdmFyIGxhc3RQ
YWdlSW5SZWRpcmVjdENoYWluTG9hZGVkID0gZmFsc2U7Ci0gICAgICAgIHZhciBzdGF0c0NoZWNr
ZWQgPSBmYWxzZTsKLQotICAgICAgICBmdW5jdGlvbiByZWNlaXZlTWVzc2FnZShldmVudCkgewot
ICAgICAgICAgICAgaWYgKGV2ZW50Lm9yaWdpbiA9PT0gImh0dHA6Ly8xMjcuMC4wLjE6ODAwMCIp
IHsKLSAgICAgICAgICAgICAgICBpZiAoZXZlbnQuZGF0YS5pbmRleE9mKCJQQVNTIikgPT09IC0x
KQotICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGV2ZW50LmRhdGEucmVwbGFjZSgiRkFJ
TCAiLCAiIikpOwotICAgICAgICAgICAgfSBlbHNlCi0gICAgICAgICAgICAgICAgdGVzdEZhaWxl
ZCgiUmVjZWl2ZWQgYSBtZXNzYWdlIGZyb20gYW4gdW5leHBlY3RlZCBvcmlnaW46ICIgKyBldmVu
dC5vcmlnaW4pOwotCi0gICAgICAgICAgICBsYXN0UGFnZUluUmVkaXJlY3RDaGFpbkxvYWRlZCA9
IHRydWU7Ci0gICAgICAgICAgICBpZiAoc3RhdHNDaGVja2VkKQotICAgICAgICAgICAgICAgIGZp
bmlzaFRlc3QoKTsKLSAgICAgICAgICAgIGVsc2UKLSAgICAgICAgICAgICAgICB0ZXN0UnVubmVy
LnN0YXRpc3RpY3NOb3RpZnlPYnNlcnZlcigpOwotICAgICAgICB9Ci0KLSAgICAgICAgZnVuY3Rp
b24gY2hlY2tTdGF0cygpIHsKLSAgICAgICAgICAgIHNob3VsZEJlVHJ1ZSgndGVzdFJ1bm5lci5p
c1N0YXRpc3RpY3NSZWdpc3RlcmVkQXNTdWJGcmFtZVVuZGVyKCJodHRwOi8vbG9jYWxob3N0Iiwg
Imh0dHA6Ly8xMjcuMC4wLjEiKScpOwotICAgICAgICAgICAgc2hvdWxkQmVUcnVlKCd0ZXN0UnVu
bmVyLmlzU3RhdGlzdGljc1JlZ2lzdGVyZWRBc1JlZGlyZWN0aW5nVG8oImh0dHA6Ly9sb2NhbGhv
c3QiLCAiaHR0cDovLzEyNy4wLjAuMSIpJyk7Ci0gICAgICAgICAgICBzaG91bGRCZVRydWUoJ3Rl
c3RSdW5uZXIuaXNTdGF0aXN0aWNzUmVnaXN0ZXJlZEFzUmVkaXJlY3RpbmdUbygiaHR0cDovLzEy
Ny4wLjAuMSIsICJodHRwOi8vbG9jYWxob3N0IiknKTsKLQotICAgICAgICAgICAgc3RhdHNDaGVj
a2VkID0gdHJ1ZTsKLSAgICAgICAgICAgIGlmIChsYXN0UGFnZUluUmVkaXJlY3RDaGFpbkxvYWRl
ZCkKLSAgICAgICAgICAgICAgICBmaW5pc2hUZXN0KCk7Ci0gICAgICAgIH0KLQotICAgICAgICBp
ZiAodGVzdFJ1bm5lcikgewotICAgICAgICAgICAgdGVzdFJ1bm5lci5zZXRVc2VJVFBEYXRhYmFz
ZSh0cnVlKTsKLSAgICAgICAgICAgIHNldEVuYWJsZUZlYXR1cmUodHJ1ZSwgZnVuY3Rpb24oKSB7
Ci0gICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5pbnN0YWxsU3RhdGlzdGljc0RpZFNjYW5EYXRh
UmVjb3Jkc0NhbGxiYWNrKGNoZWNrU3RhdHMpOwotICAgICAgICAgICAgfSk7Ci0gICAgICAgIH0K
LSAgICA8L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5PgotPGlmcmFtZSBzcmM9Imh0dHA6Ly8xMjcu
MC4wLjE6ODAwMC9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3Jlc291cmNlcy9wYWdlLXdpdGgtbm9u
LXNhbmRib3hlZC1pZnJhbWUtcmVkaXJlY3QtaXAtdG8tbG9jYWxob3N0LXRvLWlwLmh0bWwiPgot
PC9pZnJhbWU+Ci08L2JvZHk+Ci08L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3Mvbm9uLXNhbmRib3hlZC1uZXN0aW5nLWlmcmFt
ZS13aXRoLW5vbi1zYW5kYm94ZWQtaWZyYW1lLXJlZGlyZWN0LWxvY2FsaG9zdC10by1pcC10by1s
b2NhbGhvc3QtZGF0YWJhc2UtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9y
ZXNvdXJjZUxvYWRTdGF0aXN0aWNzL25vbi1zYW5kYm94ZWQtbmVzdGluZy1pZnJhbWUtd2l0aC1u
b24tc2FuZGJveGVkLWlmcmFtZS1yZWRpcmVjdC1sb2NhbGhvc3QtdG8taXAtdG8tbG9jYWxob3N0
LWRhdGFiYXNlLWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggOWI1
MTZmMTMyZjlmYjEwMTM2ODIyNjNjNmYyYzgxMGI3ZmFmOWQ4Zi4uMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291
cmNlTG9hZFN0YXRpc3RpY3Mvbm9uLXNhbmRib3hlZC1uZXN0aW5nLWlmcmFtZS13aXRoLW5vbi1z
YW5kYm94ZWQtaWZyYW1lLXJlZGlyZWN0LWxvY2FsaG9zdC10by1pcC10by1sb2NhbGhvc3QtZGF0
YWJhc2UtZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEsMTIgKzAsMCBAQAotVGVzdHMg
dGhhdCByZWRpcmVjdHMgZm9yIGEgbm9uLXNhbmRib3hlZCBpZnJhbWUgbmVzdGVkIGluIGEgbm9u
LXNhbmRib3hlZCBpZnJhbWUgZ2V0IGNvdW50ZWQgcHJvcGVybHkuCi0KLU9uIHN1Y2Nlc3MsIHlv
dSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNU
IENPTVBMRVRFIi4KLQotCi1QQVNTIHRlc3RSdW5uZXIuaXNTdGF0aXN0aWNzUmVnaXN0ZXJlZEFz
U3ViRnJhbWVVbmRlcigiaHR0cDovL2xvY2FsaG9zdCIsICJodHRwOi8vMTI3LjAuMC4xIikgaXMg
dHJ1ZQotUEFTUyB0ZXN0UnVubmVyLmlzU3RhdGlzdGljc1JlZ2lzdGVyZWRBc1JlZGlyZWN0aW5n
VG8oImh0dHA6Ly9sb2NhbGhvc3QiLCAiaHR0cDovLzEyNy4wLjAuMSIpIGlzIHRydWUKLVBBU1Mg
dGVzdFJ1bm5lci5pc1N0YXRpc3RpY3NSZWdpc3RlcmVkQXNSZWRpcmVjdGluZ1RvKCJodHRwOi8v
MTI3LjAuMC4xIiwgImh0dHA6Ly9sb2NhbGhvc3QiKSBpcyB0cnVlCi1QQVNTIHN1Y2Nlc3NmdWxs
eVBhcnNlZCBpcyB0cnVlCi0KLVRFU1QgQ09NUExFVEUKLQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL25vbi1zYW5kYm94ZWQtbmVzdGlu
Zy1pZnJhbWUtd2l0aC1ub24tc2FuZGJveGVkLWlmcmFtZS1yZWRpcmVjdC1sb2NhbGhvc3QtdG8t
aXAtdG8tbG9jYWxob3N0LWRhdGFiYXNlLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jl
c291cmNlTG9hZFN0YXRpc3RpY3Mvbm9uLXNhbmRib3hlZC1uZXN0aW5nLWlmcmFtZS13aXRoLW5v
bi1zYW5kYm94ZWQtaWZyYW1lLXJlZGlyZWN0LWxvY2FsaG9zdC10by1pcC10by1sb2NhbGhvc3Qt
ZGF0YWJhc2UuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNzA1NDY1N2I4ZWQy
NzVmZmNhZTQyYjEyYTc2MWY4MWQyMzdkMTA2NS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0
YXRpc3RpY3Mvbm9uLXNhbmRib3hlZC1uZXN0aW5nLWlmcmFtZS13aXRoLW5vbi1zYW5kYm94ZWQt
aWZyYW1lLXJlZGlyZWN0LWxvY2FsaG9zdC10by1pcC10by1sb2NhbGhvc3QtZGF0YWJhc2UuaHRt
bAorKysgL2Rldi9udWxsCkBAIC0xLDU0ICswLDAgQEAKLTwhRE9DVFlQRSBodG1sPgotPGh0bWw+
Ci08aGVhZD4KLSAgICA8c2NyaXB0IHNyYz0iL2pzLXRlc3QtcmVzb3VyY2VzL2pzLXRlc3QuanMi
Pjwvc2NyaXB0PgotICAgIDxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvdXRpbC5qcyI+PC9zY3JpcHQ+
Ci0gICAgPHNjcmlwdD4KLSAgICAgICAgZGVzY3JpcHRpb24oIlRlc3RzIHRoYXQgcmVkaXJlY3Rz
IGZvciBhIG5vbi1zYW5kYm94ZWQgaWZyYW1lIG5lc3RlZCBpbiBhIG5vbi1zYW5kYm94ZWQgaWZy
YW1lIGdldCBjb3VudGVkIHByb3Blcmx5LiIpOwotICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1
ZTsKLSAgICAgICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoIm1lc3NhZ2UiLCByZWNlaXZlTWVz
c2FnZSwgZmFsc2UpOwotCi0gICAgICAgIGZ1bmN0aW9uIGZpbmlzaFRlc3QoKSB7Ci0gICAgICAg
ICAgICBzZXRFbmFibGVGZWF0dXJlKGZhbHNlLCBmaW5pc2hKU1Rlc3QpOwotICAgICAgICB9Ci0K
LSAgICAgICAgdmFyIGxhc3RQYWdlSW5SZWRpcmVjdENoYWluTG9hZGVkID0gZmFsc2U7Ci0gICAg
ICAgIHZhciBzdGF0c0NoZWNrZWQgPSBmYWxzZTsKLQotICAgICAgICBmdW5jdGlvbiByZWNlaXZl
TWVzc2FnZShldmVudCkgewotICAgICAgICAgICAgaWYgKGV2ZW50Lm9yaWdpbiA9PT0gImh0dHA6
Ly9sb2NhbGhvc3Q6ODAwMCIpIHsKLSAgICAgICAgICAgICAgICBpZiAoZXZlbnQuZGF0YS5pbmRl
eE9mKCJQQVNTIikgPT09IC0xKQotICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGV2ZW50
LmRhdGEucmVwbGFjZSgiRkFJTCAiLCAiIikpOwotICAgICAgICAgICAgfSBlbHNlCi0gICAgICAg
ICAgICAgICAgdGVzdEZhaWxlZCgiUmVjZWl2ZWQgYSBtZXNzYWdlIGZyb20gYW4gdW5leHBlY3Rl
ZCBvcmlnaW46ICIgKyBldmVudC5vcmlnaW4pOwotCi0gICAgICAgICAgICBsYXN0UGFnZUluUmVk
aXJlY3RDaGFpbkxvYWRlZCA9IHRydWU7Ci0gICAgICAgICAgICBpZiAoc3RhdHNDaGVja2VkKQot
ICAgICAgICAgICAgICAgIGZpbmlzaFRlc3QoKTsKLSAgICAgICAgICAgIGVsc2UKLSAgICAgICAg
ICAgICAgICB0ZXN0UnVubmVyLnN0YXRpc3RpY3NOb3RpZnlPYnNlcnZlcigpOwotICAgICAgICB9
Ci0KLSAgICAgICAgZnVuY3Rpb24gY2hlY2tTdGF0cygpIHsKLSAgICAgICAgICAgIHNob3VsZEJl
VHJ1ZSgndGVzdFJ1bm5lci5pc1N0YXRpc3RpY3NSZWdpc3RlcmVkQXNTdWJGcmFtZVVuZGVyKCJo
dHRwOi8vbG9jYWxob3N0IiwgImh0dHA6Ly8xMjcuMC4wLjEiKScpOwotICAgICAgICAgICAgc2hv
dWxkQmVUcnVlKCd0ZXN0UnVubmVyLmlzU3RhdGlzdGljc1JlZ2lzdGVyZWRBc1JlZGlyZWN0aW5n
VG8oImh0dHA6Ly9sb2NhbGhvc3QiLCAiaHR0cDovLzEyNy4wLjAuMSIpJyk7Ci0gICAgICAgICAg
ICBzaG91bGRCZVRydWUoJ3Rlc3RSdW5uZXIuaXNTdGF0aXN0aWNzUmVnaXN0ZXJlZEFzUmVkaXJl
Y3RpbmdUbygiaHR0cDovLzEyNy4wLjAuMSIsICJodHRwOi8vbG9jYWxob3N0IiknKTsKLQotICAg
ICAgICAgICAgc3RhdHNDaGVja2VkID0gdHJ1ZTsKLSAgICAgICAgICAgIGlmIChsYXN0UGFnZUlu
UmVkaXJlY3RDaGFpbkxvYWRlZCkKLSAgICAgICAgICAgICAgICBmaW5pc2hUZXN0KCk7Ci0gICAg
ICAgIH0KLQotICAgICAgICBpZiAodGVzdFJ1bm5lcikgewotICAgICAgICAgICAgdGVzdFJ1bm5l
ci5zZXRVc2VJVFBEYXRhYmFzZSh0cnVlKTsKLSAgICAgICAgICAgIHNldEVuYWJsZUZlYXR1cmUo
dHJ1ZSwgZnVuY3Rpb24oKSB7Ci0gICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5pbnN0YWxsU3Rh
dGlzdGljc0RpZFNjYW5EYXRhUmVjb3Jkc0NhbGxiYWNrKGNoZWNrU3RhdHMpOwotICAgICAgICAg
ICAgfSk7Ci0gICAgICAgIH0KLSAgICA8L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5PgotPGlmcmFt
ZSBzcmM9Imh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3Jlc291
cmNlcy9wYWdlLXdpdGgtbm9uLXNhbmRib3hlZC1pZnJhbWUtcmVkaXJlY3QtbG9jYWxob3N0LXRv
LWlwLXRvLWxvY2FsaG9zdC5odG1sIj4KLTwvaWZyYW1lPgotPC9ib2R5PgotPC9odG1sPgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL25v
bi1zYW5kYm94ZWQtbmVzdGluZy1pZnJhbWUtd2l0aC1zYW5kYm94ZWQtaWZyYW1lLXJlZGlyZWN0
LWlwLXRvLWxvY2FsaG9zdC10by1pcC1kYXRhYmFzZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3Mvbm9uLXNhbmRib3hlZC1uZXN0aW5n
LWlmcmFtZS13aXRoLXNhbmRib3hlZC1pZnJhbWUtcmVkaXJlY3QtaXAtdG8tbG9jYWxob3N0LXRv
LWlwLWRhdGFiYXNlLWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
NzE1Yzg1ZWI0N2UwZjA4NDE2ZTYxZmQwMTVmZDdhZTNjYjg2NmI2OS4uMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jl
c291cmNlTG9hZFN0YXRpc3RpY3Mvbm9uLXNhbmRib3hlZC1uZXN0aW5nLWlmcmFtZS13aXRoLXNh
bmRib3hlZC1pZnJhbWUtcmVkaXJlY3QtaXAtdG8tbG9jYWxob3N0LXRvLWlwLWRhdGFiYXNlLWV4
cGVjdGVkLnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDEyICswLDAgQEAKLVRlc3RzIHRoYXQgcmVk
aXJlY3RzIGZvciBhIHNhbmRib3hlZCBpZnJhbWUgbmVzdGVkIGluIGEgbm9uLXNhbmRib3hlZCBp
ZnJhbWUgZ2V0IGNvdW50ZWQgcHJvcGVybHkuCi0KLU9uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBh
IHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4K
LQotCi1QQVNTIHRlc3RSdW5uZXIuaXNTdGF0aXN0aWNzUmVnaXN0ZXJlZEFzU3ViRnJhbWVVbmRl
cigiaHR0cDovL2xvY2FsaG9zdCIsICJodHRwOi8vMTI3LjAuMC4xIikgaXMgdHJ1ZQotUEFTUyB0
ZXN0UnVubmVyLmlzU3RhdGlzdGljc1JlZ2lzdGVyZWRBc1JlZGlyZWN0aW5nVG8oImh0dHA6Ly9s
b2NhbGhvc3QiLCAiaHR0cDovLzEyNy4wLjAuMSIpIGlzIHRydWUKLVBBU1MgdGVzdFJ1bm5lci5p
c1N0YXRpc3RpY3NSZWdpc3RlcmVkQXNSZWRpcmVjdGluZ1RvKCJodHRwOi8vMTI3LjAuMC4xIiwg
Imh0dHA6Ly9sb2NhbGhvc3QiKSBpcyB0cnVlCi1QQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0
cnVlCi0KLVRFU1QgQ09NUExFVEUKLQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0
cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL25vbi1zYW5kYm94ZWQtbmVzdGluZy1pZnJhbWUtd2l0
aC1zYW5kYm94ZWQtaWZyYW1lLXJlZGlyZWN0LWlwLXRvLWxvY2FsaG9zdC10by1pcC1kYXRhYmFz
ZS5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL25v
bi1zYW5kYm94ZWQtbmVzdGluZy1pZnJhbWUtd2l0aC1zYW5kYm94ZWQtaWZyYW1lLXJlZGlyZWN0
LWlwLXRvLWxvY2FsaG9zdC10by1pcC1kYXRhYmFzZS5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCBlZDJhYWU0NGJiYjI4ZjdiODVmOGZiYWNkYTgxZjk3ODFlNmU3ZjY3Li4wMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2h0
dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9ub24tc2FuZGJveGVkLW5lc3RpbmctaWZy
YW1lLXdpdGgtc2FuZGJveGVkLWlmcmFtZS1yZWRpcmVjdC1pcC10by1sb2NhbGhvc3QtdG8taXAt
ZGF0YWJhc2UuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDU0ICswLDAgQEAKLTwhRE9DVFlQRSBo
dG1sPgotPGh0bWw+Ci08aGVhZD4KLSAgICA8c2NyaXB0IHNyYz0iL2pzLXRlc3QtcmVzb3VyY2Vz
L2pzLXRlc3QuanMiPjwvc2NyaXB0PgotICAgIDxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvdXRpbC5q
cyI+PC9zY3JpcHQ+Ci0gICAgPHNjcmlwdD4KLSAgICAgICAgZGVzY3JpcHRpb24oIlRlc3RzIHRo
YXQgcmVkaXJlY3RzIGZvciBhIHNhbmRib3hlZCBpZnJhbWUgbmVzdGVkIGluIGEgbm9uLXNhbmRi
b3hlZCBpZnJhbWUgZ2V0IGNvdW50ZWQgcHJvcGVybHkuIik7Ci0gICAgICAgIGpzVGVzdElzQXN5
bmMgPSB0cnVlOwotICAgICAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigibWVzc2FnZSIsIHJl
Y2VpdmVNZXNzYWdlLCBmYWxzZSk7Ci0KLSAgICAgICAgZnVuY3Rpb24gZmluaXNoVGVzdCgpIHsK
LSAgICAgICAgICAgIHNldEVuYWJsZUZlYXR1cmUoZmFsc2UsIGZpbmlzaEpTVGVzdCk7Ci0gICAg
ICAgIH0KLQotICAgICAgICB2YXIgbGFzdFBhZ2VJblJlZGlyZWN0Q2hhaW5Mb2FkZWQgPSBmYWxz
ZTsKLSAgICAgICAgdmFyIHN0YXRzQ2hlY2tlZCA9IGZhbHNlOwotCi0gICAgICAgIGZ1bmN0aW9u
IHJlY2VpdmVNZXNzYWdlKGV2ZW50KSB7Ci0gICAgICAgICAgICBpZiAoZXZlbnQub3JpZ2luID09
PSAibnVsbCIpIHsKLSAgICAgICAgICAgICAgICBpZiAoZXZlbnQuZGF0YS5pbmRleE9mKCJQQVNT
IikgPT09IC0xKQotICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGV2ZW50LmRhdGEucmVw
bGFjZSgiRkFJTCAiLCAiIikpOwotICAgICAgICAgICAgfSBlbHNlCi0gICAgICAgICAgICAgICAg
dGVzdEZhaWxlZCgiUmVjZWl2ZWQgYSBtZXNzYWdlIGZyb20gYW4gdW5leHBlY3RlZCBvcmlnaW46
ICIgKyBldmVudC5vcmlnaW4pOwotCi0gICAgICAgICAgICBsYXN0UGFnZUluUmVkaXJlY3RDaGFp
bkxvYWRlZCA9IHRydWU7Ci0gICAgICAgICAgICBpZiAoc3RhdHNDaGVja2VkKQotICAgICAgICAg
ICAgICAgIGZpbmlzaFRlc3QoKTsKLSAgICAgICAgICAgIGVsc2UKLSAgICAgICAgICAgICAgICB0
ZXN0UnVubmVyLnN0YXRpc3RpY3NOb3RpZnlPYnNlcnZlcigpOwotICAgICAgICB9Ci0KLSAgICAg
ICAgZnVuY3Rpb24gY2hlY2tTdGF0cygpIHsKLSAgICAgICAgICAgIHNob3VsZEJlVHJ1ZSgndGVz
dFJ1bm5lci5pc1N0YXRpc3RpY3NSZWdpc3RlcmVkQXNTdWJGcmFtZVVuZGVyKCJodHRwOi8vbG9j
YWxob3N0IiwgImh0dHA6Ly8xMjcuMC4wLjEiKScpOwotICAgICAgICAgICAgc2hvdWxkQmVUcnVl
KCd0ZXN0UnVubmVyLmlzU3RhdGlzdGljc1JlZ2lzdGVyZWRBc1JlZGlyZWN0aW5nVG8oImh0dHA6
Ly9sb2NhbGhvc3QiLCAiaHR0cDovLzEyNy4wLjAuMSIpJyk7Ci0gICAgICAgICAgICBzaG91bGRC
ZVRydWUoJ3Rlc3RSdW5uZXIuaXNTdGF0aXN0aWNzUmVnaXN0ZXJlZEFzUmVkaXJlY3RpbmdUbygi
aHR0cDovLzEyNy4wLjAuMSIsICJodHRwOi8vbG9jYWxob3N0IiknKTsKLQotICAgICAgICAgICAg
c3RhdHNDaGVja2VkID0gdHJ1ZTsKLSAgICAgICAgICAgIGlmIChsYXN0UGFnZUluUmVkaXJlY3RD
aGFpbkxvYWRlZCkKLSAgICAgICAgICAgICAgICBmaW5pc2hUZXN0KCk7Ci0gICAgICAgIH0KLQot
ICAgICAgICBpZiAodGVzdFJ1bm5lcikgewotICAgICAgICAgICAgdGVzdFJ1bm5lci5zZXRVc2VJ
VFBEYXRhYmFzZSh0cnVlKTsKLSAgICAgICAgICAgIHNldEVuYWJsZUZlYXR1cmUodHJ1ZSwgZnVu
Y3Rpb24oKSB7Ci0gICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5pbnN0YWxsU3RhdGlzdGljc0Rp
ZFNjYW5EYXRhUmVjb3Jkc0NhbGxiYWNrKGNoZWNrU3RhdHMpOwotICAgICAgICAgICAgfSk7Ci0g
ICAgICAgIH0KLSAgICA8L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5PgotPGlmcmFtZSBzcmM9Imh0
dHA6Ly8xMjcuMC4wLjE6ODAwMC9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3Jlc291cmNlcy9wYWdl
LXdpdGgtc2FuZGJveGVkLWlmcmFtZS1yZWRpcmVjdC1pcC10by1sb2NhbGhvc3QtdG8taXAuaHRt
bCI+Ci08L2lmcmFtZT4KLTwvYm9keT4KLTwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9ub24tc2FuZGJveGVkLW5lc3Rpbmct
aWZyYW1lLXdpdGgtc2FuZGJveGVkLWlmcmFtZS1yZWRpcmVjdC1sb2NhbGhvc3QtdG8taXAtdG8t
bG9jYWxob3N0LWRhdGFiYXNlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMv
cmVzb3VyY2VMb2FkU3RhdGlzdGljcy9ub24tc2FuZGJveGVkLW5lc3RpbmctaWZyYW1lLXdpdGgt
c2FuZGJveGVkLWlmcmFtZS1yZWRpcmVjdC1sb2NhbGhvc3QtdG8taXAtdG8tbG9jYWxob3N0LWRh
dGFiYXNlLWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNzE1Yzg1
ZWI0N2UwZjA4NDE2ZTYxZmQwMTVmZDdhZTNjYjg2NmI2OS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNl
TG9hZFN0YXRpc3RpY3Mvbm9uLXNhbmRib3hlZC1uZXN0aW5nLWlmcmFtZS13aXRoLXNhbmRib3hl
ZC1pZnJhbWUtcmVkaXJlY3QtbG9jYWxob3N0LXRvLWlwLXRvLWxvY2FsaG9zdC1kYXRhYmFzZS1l
eHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSwxMiArMCwwIEBACi1UZXN0cyB0aGF0IHJl
ZGlyZWN0cyBmb3IgYSBzYW5kYm94ZWQgaWZyYW1lIG5lc3RlZCBpbiBhIG5vbi1zYW5kYm94ZWQg
aWZyYW1lIGdldCBjb3VudGVkIHByb3Blcmx5LgotCi1PbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUg
YSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIu
Ci0KLQotUEFTUyB0ZXN0UnVubmVyLmlzU3RhdGlzdGljc1JlZ2lzdGVyZWRBc1N1YkZyYW1lVW5k
ZXIoImh0dHA6Ly9sb2NhbGhvc3QiLCAiaHR0cDovLzEyNy4wLjAuMSIpIGlzIHRydWUKLVBBU1Mg
dGVzdFJ1bm5lci5pc1N0YXRpc3RpY3NSZWdpc3RlcmVkQXNSZWRpcmVjdGluZ1RvKCJodHRwOi8v
bG9jYWxob3N0IiwgImh0dHA6Ly8xMjcuMC4wLjEiKSBpcyB0cnVlCi1QQVNTIHRlc3RSdW5uZXIu
aXNTdGF0aXN0aWNzUmVnaXN0ZXJlZEFzUmVkaXJlY3RpbmdUbygiaHR0cDovLzEyNy4wLjAuMSIs
ICJodHRwOi8vbG9jYWxob3N0IikgaXMgdHJ1ZQotUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMg
dHJ1ZQotCi1URVNUIENPTVBMRVRFCi0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVz
dHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9ub24tc2FuZGJveGVkLW5lc3RpbmctaWZyYW1lLXdp
dGgtc2FuZGJveGVkLWlmcmFtZS1yZWRpcmVjdC1sb2NhbGhvc3QtdG8taXAtdG8tbG9jYWxob3N0
LWRhdGFiYXNlLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRp
c3RpY3Mvbm9uLXNhbmRib3hlZC1uZXN0aW5nLWlmcmFtZS13aXRoLXNhbmRib3hlZC1pZnJhbWUt
cmVkaXJlY3QtbG9jYWxob3N0LXRvLWlwLXRvLWxvY2FsaG9zdC1kYXRhYmFzZS5odG1sCmRlbGV0
ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwNWNiM2QzYjlhMDc3ZjYzNWIxOTJmOTJjZjJkYmUy
MjQ0ODU1ZTk0Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBh
L0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9ub24tc2FuZGJv
eGVkLW5lc3RpbmctaWZyYW1lLXdpdGgtc2FuZGJveGVkLWlmcmFtZS1yZWRpcmVjdC1sb2NhbGhv
c3QtdG8taXAtdG8tbG9jYWxob3N0LWRhdGFiYXNlLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSw1
NCArMCwwIEBACi08IURPQ1RZUEUgaHRtbD4KLTxodG1sPgotPGhlYWQ+Ci0gICAgPHNjcmlwdCBz
cmM9Ii9qcy10ZXN0LXJlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KLSAgICA8c2NyaXB0
IHNyYz0icmVzb3VyY2VzL3V0aWwuanMiPjwvc2NyaXB0PgotICAgIDxzY3JpcHQ+Ci0gICAgICAg
IGRlc2NyaXB0aW9uKCJUZXN0cyB0aGF0IHJlZGlyZWN0cyBmb3IgYSBzYW5kYm94ZWQgaWZyYW1l
IG5lc3RlZCBpbiBhIG5vbi1zYW5kYm94ZWQgaWZyYW1lIGdldCBjb3VudGVkIHByb3Blcmx5LiIp
OwotICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKLSAgICAgICAgd2luZG93LmFkZEV2ZW50
TGlzdGVuZXIoIm1lc3NhZ2UiLCByZWNlaXZlTWVzc2FnZSwgZmFsc2UpOwotCi0gICAgICAgIGZ1
bmN0aW9uIGZpbmlzaFRlc3QoKSB7Ci0gICAgICAgICAgICBzZXRFbmFibGVGZWF0dXJlKGZhbHNl
LCBmaW5pc2hKU1Rlc3QpOwotICAgICAgICB9Ci0KLSAgICAgICAgdmFyIGxhc3RQYWdlSW5SZWRp
cmVjdENoYWluTG9hZGVkID0gZmFsc2U7Ci0gICAgICAgIHZhciBzdGF0c0NoZWNrZWQgPSBmYWxz
ZTsKLQotICAgICAgICBmdW5jdGlvbiByZWNlaXZlTWVzc2FnZShldmVudCkgewotICAgICAgICAg
ICAgaWYgKGV2ZW50Lm9yaWdpbiA9PT0gIm51bGwiKSB7Ci0gICAgICAgICAgICAgICAgaWYgKGV2
ZW50LmRhdGEuaW5kZXhPZigiUEFTUyIpID09PSAtMSkKLSAgICAgICAgICAgICAgICAgICAgdGVz
dEZhaWxlZChldmVudC5kYXRhLnJlcGxhY2UoIkZBSUwgIiwgIiIpKTsKLSAgICAgICAgICAgIH0g
ZWxzZQotICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoIlJlY2VpdmVkIGEgbWVzc2FnZSBmcm9t
IGFuIHVuZXhwZWN0ZWQgb3JpZ2luOiAiICsgZXZlbnQub3JpZ2luKTsKLQotICAgICAgICAgICAg
bGFzdFBhZ2VJblJlZGlyZWN0Q2hhaW5Mb2FkZWQgPSB0cnVlOwotICAgICAgICAgICAgaWYgKHN0
YXRzQ2hlY2tlZCkKLSAgICAgICAgICAgICAgICBmaW5pc2hUZXN0KCk7Ci0gICAgICAgICAgICBl
bHNlCi0gICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5zdGF0aXN0aWNzTm90aWZ5T2JzZXJ2ZXIo
KTsKLSAgICAgICAgfQotCi0gICAgICAgIGZ1bmN0aW9uIGNoZWNrU3RhdHMoKSB7Ci0gICAgICAg
ICAgICBzaG91bGRCZVRydWUoJ3Rlc3RSdW5uZXIuaXNTdGF0aXN0aWNzUmVnaXN0ZXJlZEFzU3Vi
RnJhbWVVbmRlcigiaHR0cDovL2xvY2FsaG9zdCIsICJodHRwOi8vMTI3LjAuMC4xIiknKTsKLSAg
ICAgICAgICAgIHNob3VsZEJlVHJ1ZSgndGVzdFJ1bm5lci5pc1N0YXRpc3RpY3NSZWdpc3RlcmVk
QXNSZWRpcmVjdGluZ1RvKCJodHRwOi8vbG9jYWxob3N0IiwgImh0dHA6Ly8xMjcuMC4wLjEiKScp
OwotICAgICAgICAgICAgc2hvdWxkQmVUcnVlKCd0ZXN0UnVubmVyLmlzU3RhdGlzdGljc1JlZ2lz
dGVyZWRBc1JlZGlyZWN0aW5nVG8oImh0dHA6Ly8xMjcuMC4wLjEiLCAiaHR0cDovL2xvY2FsaG9z
dCIpJyk7Ci0KLSAgICAgICAgICAgIHN0YXRzQ2hlY2tlZCA9IHRydWU7Ci0gICAgICAgICAgICBp
ZiAobGFzdFBhZ2VJblJlZGlyZWN0Q2hhaW5Mb2FkZWQpCi0gICAgICAgICAgICAgICAgZmluaXNo
VGVzdCgpOwotICAgICAgICB9Ci0KLSAgICAgICAgaWYgKHRlc3RSdW5uZXIpIHsKLSAgICAgICAg
ICAgIHRlc3RSdW5uZXIuc2V0VXNlSVRQRGF0YWJhc2UodHJ1ZSk7Ci0gICAgICAgICAgICBzZXRF
bmFibGVGZWF0dXJlKHRydWUsIGZ1bmN0aW9uKCkgewotICAgICAgICAgICAgICAgIHRlc3RSdW5u
ZXIuaW5zdGFsbFN0YXRpc3RpY3NEaWRTY2FuRGF0YVJlY29yZHNDYWxsYmFjayhjaGVja1N0YXRz
KTsKLSAgICAgICAgICAgIH0pOwotICAgICAgICB9Ci0gICAgPC9zY3JpcHQ+Ci08L2hlYWQ+Ci08
Ym9keT4KLTxpZnJhbWUgc3JjPSJodHRwOi8vMTI3LjAuMC4xOjgwMDAvcmVzb3VyY2VMb2FkU3Rh
dGlzdGljcy9yZXNvdXJjZXMvcGFnZS13aXRoLXNhbmRib3hlZC1pZnJhbWUtcmVkaXJlY3QtbG9j
YWxob3N0LXRvLWlwLXRvLWxvY2FsaG9zdC5odG1sIj4KLTwvaWZyYW1lPgotPC9ib2R5PgotPC9o
dG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0
aXN0aWNzL29wZXJhdGluZy1kYXRlcy1hbGwtYnV0LWNvb2tpZXMtcmVtb3ZlZC1zdGF0aXN0aWNz
LXdpdGgtbm8tdXNlci1pbnRlcmFjdGlvbi1kYXRhYmFzZS1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3Mvb3BlcmF0aW5nLWRhdGVzLWFs
bC1idXQtY29va2llcy1yZW1vdmVkLXN0YXRpc3RpY3Mtd2l0aC1uby11c2VyLWludGVyYWN0aW9u
LWRhdGFiYXNlLWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZjVh
NWVhMjQxMDg1ZTRiNTExYTgxMGY4OTZhYzRlMzQ5OWE4NDc0MC4uMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291
cmNlTG9hZFN0YXRpc3RpY3Mvb3BlcmF0aW5nLWRhdGVzLWFsbC1idXQtY29va2llcy1yZW1vdmVk
LXN0YXRpc3RpY3Mtd2l0aC1uby11c2VyLWludGVyYWN0aW9uLWRhdGFiYXNlLWV4cGVjdGVkLnR4
dAorKysgL2Rldi9udWxsCkBAIC0xLDE0ICswLDAgQEAKLQotQmVmb3JlIHN0YXRpc3RpY3MgcHJv
Y2Vzc2luZzogQ2xpZW50LXNpZGUgY29va2llIGV4aXN0cy4KLUJlZm9yZSBzdGF0aXN0aWNzIHBy
b2Nlc3Npbmc6IEh0dHBPbmx5IGNvb2tpZSBleGlzdHMuCi1CZWZvcmUgc3RhdGlzdGljcyBwcm9j
ZXNzaW5nOiBSZWd1bGFyIHNlcnZlci1zaWRlIGNvb2tpZSBleGlzdHMuCi1CZWZvcmUgc3RhdGlz
dGljcyBwcm9jZXNzaW5nOiBMb2NhbFN0b3JhZ2UgZW50cnkgZG9lcyBleGlzdC4KLUJlZm9yZSBz
dGF0aXN0aWNzIHByb2Nlc3Npbmc6IElEQiBlbnRyeSBkb2VzIGV4aXN0LgotCi1BZnRlciBzdGF0
aXN0aWNzIHByb2Nlc3Npbmc6IEh0dHBPbmx5IGNvb2tpZSBleGlzdHMuCi1BZnRlciBzdGF0aXN0
aWNzIHByb2Nlc3Npbmc6IENsaWVudC1zaWRlIGNvb2tpZSBleGlzdHMuCi1BZnRlciBzdGF0aXN0
aWNzIHByb2Nlc3Npbmc6IFJlZ3VsYXIgc2VydmVyLXNpZGUgY29va2llIGV4aXN0cy4KLUFmdGVy
IHN0YXRpc3RpY3MgcHJvY2Vzc2luZzogTG9jYWxTdG9yYWdlIGVudHJ5IGRvZXMgbm90IGV4aXN0
LgotQWZ0ZXIgc3RhdGlzdGljcyBwcm9jZXNzaW5nOiBJREIgZW50cnkgZG9lcyBub3QgZXhpc3Qu
Ci0KLQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0
aXN0aWNzL29wZXJhdGluZy1kYXRlcy1hbGwtYnV0LWNvb2tpZXMtcmVtb3ZlZC1zdGF0aXN0aWNz
LXdpdGgtbm8tdXNlci1pbnRlcmFjdGlvbi1kYXRhYmFzZS5odG1sIGIvTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL29wZXJhdGluZy1kYXRlcy1hbGwtYnV0LWNv
b2tpZXMtcmVtb3ZlZC1zdGF0aXN0aWNzLXdpdGgtbm8tdXNlci1pbnRlcmFjdGlvbi1kYXRhYmFz
ZS5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBjZmJlOGY4MWE3YmEzNzE5MjZj
NmI2YzIyZGExMDZhOTRiZGUyNzk2Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGlj
cy9vcGVyYXRpbmctZGF0ZXMtYWxsLWJ1dC1jb29raWVzLXJlbW92ZWQtc3RhdGlzdGljcy13aXRo
LW5vLXVzZXItaW50ZXJhY3Rpb24tZGF0YWJhc2UuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDI1
OCArMCwwIEBACi08IURPQ1RZUEUgaHRtbD4KLTxodG1sPgotPGhlYWQ+Ci0gICAgPHNjcmlwdCBz
cmM9Ii9jb29raWVzL3Jlc291cmNlcy9jb29raWUtdXRpbGl0aWVzLmpzIj48L3NjcmlwdD4KLSAg
ICA8c2NyaXB0IHNyYz0icmVzb3VyY2VzL3V0aWwuanMiPjwvc2NyaXB0PgotPC9oZWFkPgotPGJv
ZHkgb25sb2FkPSJzZXRUaW1lb3V0KCdydW5UZXN0KCknLCAwKSI+Ci08YnI+Ci08ZGl2IGlkPSJv
dXRwdXQiPjwvZGl2PgotPGJyPgotPHNjcmlwdD4KLSAgICB0ZXN0UnVubmVyLndhaXRVbnRpbERv
bmUoKTsKLSAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKLSAgICB0ZXN0UnVubmVyLnNldFVz
ZUlUUERhdGFiYXNlKHRydWUpOwotCi0gICAgY29uc3QgaHR0cE9ubHlDb29raWVOYW1lID0gImh0
dHAtb25seS1jb29raWUiOwotICAgIGNvbnN0IHNlcnZlclNpZGVDb29raWVOYW1lID0gInNlcnZl
ci1zaWRlLWNvb2tpZSI7Ci0gICAgY29uc3QgY2xpZW50U2lkZUNvb2tpZU5hbWUgPSAiY2xpZW50
LXNpZGUtY29va2llIjsKLQotICAgIGZ1bmN0aW9uIHNvcnRTdHJpbmdBcnJheShhLCBiKSB7Ci0g
ICAgICAgIGEgPSBhLnRvTG93ZXJDYXNlKCk7Ci0gICAgICAgIGIgPSBiLnRvTG93ZXJDYXNlKCk7
Ci0KLSAgICAgICAgcmV0dXJuIGEgPiBiID8gMSA6IGIgPiBhID8gLTEgOiAwOwotICAgIH0KLQot
ICAgIGZ1bmN0aW9uIGFkZExpbmVicmVha1RvT3V0cHV0KCkgewotICAgICAgICBsZXQgZWxlbWVu
dCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImJyIik7Ci0gICAgICAgIG91dHB1dC5hcHBlbmRD
aGlsZChlbGVtZW50KTsKLSAgICB9Ci0KLSAgICBmdW5jdGlvbiBhZGRPdXRwdXQobWVzc2FnZSkg
ewotICAgICAgICBsZXQgZWxlbWVudCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpOwot
ICAgICAgICBlbGVtZW50LmlubmVyVGV4dCA9IG1lc3NhZ2U7Ci0gICAgICAgIG91dHB1dC5hcHBl
bmRDaGlsZChlbGVtZW50KTsKLSAgICB9Ci0KLSAgICBmdW5jdGlvbiBjaGVja0Nvb2tpZXMoaXNB
ZnRlckRlbGV0aW9uKSB7Ci0gICAgICAgIGxldCB1bnNvcnRlZFRlc3RQYXNzZWRNZXNzYWdlcyA9
IFtdOwotICAgICAgICBsZXQgY29va2llcyA9IGludGVybmFscy5nZXRDb29raWVzKCk7Ci0gICAg
ICAgIGlmICghY29va2llcy5sZW5ndGggJiYgaXNBZnRlckRlbGV0aW9uKQotICAgICAgICAgICAg
YWRkT3V0cHV0KCJGQUlMOiAiICsgIk5vIGNvb2tpZXMgZm91bmQuIik7Ci0gICAgICAgIGZvciAo
bGV0IGNvb2tpZSBvZiBjb29raWVzKSB7Ci0gICAgICAgICAgICBzd2l0Y2ggKGNvb2tpZS5uYW1l
KSB7Ci0gICAgICAgICAgICAgICAgY2FzZSBodHRwT25seUNvb2tpZU5hbWU6Ci0gICAgICAgICAg
ICAgICAgICAgIHVuc29ydGVkVGVzdFBhc3NlZE1lc3NhZ2VzLnB1c2goKGlzQWZ0ZXJEZWxldGlv
biA/ICJBZnRlciIgOiAiQmVmb3JlIikgKyAiIHN0YXRpc3RpY3MgcHJvY2Vzc2luZzogIiArIChp
c0FmdGVyRGVsZXRpb24gPyAiICIgOiAiIikgKyAiSHR0cE9ubHkgY29va2llIGV4aXN0cy4iKTsK
LSAgICAgICAgICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgICAgICAgICAgY2FzZSBzZXJ2ZXJT
aWRlQ29va2llTmFtZToKLSAgICAgICAgICAgICAgICAgICAgdW5zb3J0ZWRUZXN0UGFzc2VkTWVz
c2FnZXMucHVzaCgoaXNBZnRlckRlbGV0aW9uID8gIkFmdGVyIiA6ICJCZWZvcmUiKSArICIgc3Rh
dGlzdGljcyBwcm9jZXNzaW5nOiBSZWd1bGFyIHNlcnZlci1zaWRlIGNvb2tpZSBleGlzdHMuIik7
Ci0gICAgICAgICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICAgICAgICAgIGNhc2UgY2xpZW50
U2lkZUNvb2tpZU5hbWU6Ci0gICAgICAgICAgICAgICAgICAgIHVuc29ydGVkVGVzdFBhc3NlZE1l
c3NhZ2VzLnB1c2goKGlzQWZ0ZXJEZWxldGlvbiA/ICJBZnRlciIgOiAiQmVmb3JlIikgKyAiIHN0
YXRpc3RpY3MgcHJvY2Vzc2luZzogQ2xpZW50LXNpZGUgY29va2llIGV4aXN0cy4iKTsKLSAgICAg
ICAgICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgICAgICB9Ci0gICAgICAgIH0KLSAgICAgICAg
bGV0IHNvcnRlZFRlc3RQYXNzZWRNZXNzYWdlcyA9IHVuc29ydGVkVGVzdFBhc3NlZE1lc3NhZ2Vz
LnNvcnQoc29ydFN0cmluZ0FycmF5KTsKLSAgICAgICAgZm9yIChsZXQgdGVzdFBhc3NlZE1lc3Nh
Z2Ugb2Ygc29ydGVkVGVzdFBhc3NlZE1lc3NhZ2VzKSB7Ci0gICAgICAgICAgICBhZGRPdXRwdXQo
dGVzdFBhc3NlZE1lc3NhZ2UpOwotICAgICAgICB9Ci0gICAgfQotCi0gICAgY29uc3QgZGJOYW1l
ID0gIlRlc3REYXRhYmFzZSI7Ci0KLSAgICBmdW5jdGlvbiBjcmVhdGVJREJEYXRhU3RvcmUoY2Fs
bGJhY2spIHsKLSAgICAgICAgbGV0IHJlcXVlc3QgPSBpbmRleGVkREIub3BlbihkYk5hbWUpOwot
ICAgICAgICByZXF1ZXN0Lm9uZXJyb3IgPSBmdW5jdGlvbigpIHsKLSAgICAgICAgICAgIGFkZE91
dHB1dCgiQ291bGRuJ3QgY3JlYXRlIGluZGV4ZWREQi4iKTsKLSAgICAgICAgICAgIGZpbmlzaFRl
c3QoKTsKLSAgICAgICAgfTsKLSAgICAgICAgcmVxdWVzdC5vbnVwZ3JhZGVuZWVkZWQgPSBmdW5j
dGlvbihldmVudCkgewotICAgICAgICAgICAgbGV0IGRiID0gZXZlbnQudGFyZ2V0LnJlc3VsdDsK
LSAgICAgICAgICAgIGxldCBvYmpTdG9yZSA9IGRiLmNyZWF0ZU9iamVjdFN0b3JlKCJ0ZXN0Iiwg
e2F1dG9JbmNyZW1lbnQ6IHRydWV9KTsKLSAgICAgICAgICAgIG9ialN0b3JlLmFkZCgidmFsdWUi
KTsKLSAgICAgICAgICAgIGNhbGxiYWNrKCk7Ci0gICAgICAgIH0KLSAgICB9Ci0KLSAgICBjb25z
dCBtYXhJbnRlcnZhbHMgPSAyMDsKLQotICAgIGxldCBpbnRlcnZhbENvdW50ZXJJREI7Ci0gICAg
bGV0IGNoZWNrSURCQ2FsbGJhY2s7Ci0gICAgbGV0IGNoZWNrSURCSW50ZXJ2YWxJRDsKLSAgICBs
ZXQgc2VtYXBob3JlSURCQ2hlY2sgPSBmYWxzZTsKLSAgICBmdW5jdGlvbiBjaGVja0lEQkRhdGFT
dG9yZUV4aXN0cyhpc0FmdGVyRGVsZXRpb24sIGNhbGxiYWNrKSB7Ci0gICAgICAgIGxldCByZXF1
ZXN0OwotICAgICAgICBpbnRlcnZhbENvdW50ZXJJREIgPSAwOwotICAgICAgICBjaGVja0lEQkNh
bGxiYWNrID0gY2FsbGJhY2s7Ci0gICAgICAgIGlmICghaXNBZnRlckRlbGV0aW9uKSB7Ci0gICAg
ICAgICAgICAvLyBDaGVjayB1bnRpbCB0aGVyZSBpcyBhIElEQi4KLSAgICAgICAgICAgIGNoZWNr
SURCSW50ZXJ2YWxJRCA9IHNldEludGVydmFsKGZ1bmN0aW9uKCkgewotICAgICAgICAgICAgICAg
IGlmIChzZW1hcGhvcmVJREJDaGVjaykKLSAgICAgICAgICAgICAgICAgICAgcmV0dXJuOwotICAg
ICAgICAgICAgICAgIHNlbWFwaG9yZUlEQkNoZWNrID0gdHJ1ZTsKLQotICAgICAgICAgICAgICAg
IGlmICgrK2ludGVydmFsQ291bnRlcklEQiA+PSBtYXhJbnRlcnZhbHMpIHsKLSAgICAgICAgICAg
ICAgICAgICAgY2xlYXJJbnRlcnZhbChjaGVja0lEQkludGVydmFsSUQpOwotICAgICAgICAgICAg
ICAgICAgICBhZGRPdXRwdXQoIkJlZm9yZSBzdGF0aXN0aWNzIHByb2Nlc3Npbmc6IElEQiBlbnRy
eSBkb2VzIG5vdCBleGlzdC4iKTsKLSAgICAgICAgICAgICAgICAgICAgc2VtYXBob3JlSURCQ2hl
Y2sgPSBmYWxzZTsKLSAgICAgICAgICAgICAgICAgICAgY2hlY2tJREJDYWxsYmFjaygpOwotICAg
ICAgICAgICAgICAgIH0gZWxzZSB7Ci0gICAgICAgICAgICAgICAgICAgIHJlcXVlc3QgPSBpbmRl
eGVkREIub3BlbihkYk5hbWUpOwotICAgICAgICAgICAgICAgICAgICByZXF1ZXN0Lm9uZXJyb3Ig
PSBmdW5jdGlvbiAoKSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICBjbGVhckludGVydmFsKGNo
ZWNrSURCSW50ZXJ2YWxJRCk7Ci0gICAgICAgICAgICAgICAgICAgICAgICBhZGRPdXRwdXQoIkNv
dWxkbid0IG9wZW4gaW5kZXhlZERCLiIpOwotICAgICAgICAgICAgICAgICAgICAgICAgc2VtYXBo
b3JlSURCQ2hlY2sgPSBmYWxzZTsKLSAgICAgICAgICAgICAgICAgICAgICAgIGZpbmlzaFRlc3Qo
KTsKLSAgICAgICAgICAgICAgICAgICAgfTsKLSAgICAgICAgICAgICAgICAgICAgcmVxdWVzdC5v
bnVwZ3JhZGVuZWVkZWQgPSBmdW5jdGlvbiAoKSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAv
LyBMZXQgdGhlIG5leHQgaW50ZXJ2YWwgY2hlY2sgYWdhaW4uCi0gICAgICAgICAgICAgICAgICAg
ICAgICBzZW1hcGhvcmVJREJDaGVjayA9IGZhbHNlOwotICAgICAgICAgICAgICAgICAgICB9Owot
ICAgICAgICAgICAgICAgICAgICByZXF1ZXN0Lm9uc3VjY2VzcyA9IGZ1bmN0aW9uICgpIHsKLSAg
ICAgICAgICAgICAgICAgICAgICAgIGNsZWFySW50ZXJ2YWwoY2hlY2tJREJJbnRlcnZhbElEKTsK
LSAgICAgICAgICAgICAgICAgICAgICAgIGFkZE91dHB1dCgiQmVmb3JlIHN0YXRpc3RpY3MgcHJv
Y2Vzc2luZzogSURCIGVudHJ5IGRvZXMgZXhpc3QuIik7Ci0gICAgICAgICAgICAgICAgICAgICAg
ICBzZW1hcGhvcmVJREJDaGVjayA9IGZhbHNlOwotICAgICAgICAgICAgICAgICAgICAgICAgY2hl
Y2tJREJDYWxsYmFjaygpOwotICAgICAgICAgICAgICAgICAgICB9OwotICAgICAgICAgICAgICAg
IH0KLSAgICAgICAgICAgIH0sIDIwMCk7Ci0gICAgICAgIH0gZWxzZSB7Ci0gICAgICAgICAgICAv
LyBDaGVjayB1bnRpbCB0aGVyZSBpcyBubyBJREIuCi0gICAgICAgICAgICBjaGVja0lEQkludGVy
dmFsSUQgPSBzZXRJbnRlcnZhbChmdW5jdGlvbiAoKSB7Ci0gICAgICAgICAgICAgICAgaWYgKHNl
bWFwaG9yZUlEQkNoZWNrKQotICAgICAgICAgICAgICAgICAgICByZXR1cm47Ci0gICAgICAgICAg
ICAgICAgc2VtYXBob3JlSURCQ2hlY2sgPSB0cnVlOwotCi0gICAgICAgICAgICAgICAgaWYgKCsr
aW50ZXJ2YWxDb3VudGVySURCID49IG1heEludGVydmFscykgewotICAgICAgICAgICAgICAgICAg
ICBjbGVhckludGVydmFsKGNoZWNrSURCSW50ZXJ2YWxJRCk7Ci0gICAgICAgICAgICAgICAgICAg
IGFkZE91dHB1dCgiQWZ0ZXIgc3RhdGlzdGljcyBwcm9jZXNzaW5nOiBJREIgZW50cnkgZG9lcyBl
eGlzdC4iKTsKLSAgICAgICAgICAgICAgICAgICAgc2VtYXBob3JlSURCQ2hlY2sgPSBmYWxzZTsK
LSAgICAgICAgICAgICAgICAgICAgY2hlY2tJREJDYWxsYmFjaygpOwotICAgICAgICAgICAgICAg
IH0gZWxzZSB7Ci0gICAgICAgICAgICAgICAgICAgIHJlcXVlc3QgPSBpbmRleGVkREIub3Blbihk
Yk5hbWUpOwotICAgICAgICAgICAgICAgICAgICByZXF1ZXN0Lm9uZXJyb3IgPSBmdW5jdGlvbiAo
KSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICBjbGVhckludGVydmFsKGNoZWNrSURCSW50ZXJ2
YWxJRCk7Ci0gICAgICAgICAgICAgICAgICAgICAgICBhZGRPdXRwdXQoIkNvdWxkbid0IG9wZW4g
aW5kZXhlZERCLiIpOwotICAgICAgICAgICAgICAgICAgICAgICAgc2VtYXBob3JlSURCQ2hlY2sg
PSBmYWxzZTsKLSAgICAgICAgICAgICAgICAgICAgICAgIGZpbmlzaFRlc3QoKTsKLSAgICAgICAg
ICAgICAgICAgICAgfTsKLSAgICAgICAgICAgICAgICAgICAgcmVxdWVzdC5vbnVwZ3JhZGVuZWVk
ZWQgPSBmdW5jdGlvbiAoKSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICBjbGVhckludGVydmFs
KGNoZWNrSURCSW50ZXJ2YWxJRCk7Ci0gICAgICAgICAgICAgICAgICAgICAgICBhZGRPdXRwdXQo
IkFmdGVyIHN0YXRpc3RpY3MgcHJvY2Vzc2luZzogSURCIGVudHJ5IGRvZXMgbm90IGV4aXN0LiIp
OwotICAgICAgICAgICAgICAgICAgICAgICAgc2VtYXBob3JlSURCQ2hlY2sgPSBmYWxzZTsKLSAg
ICAgICAgICAgICAgICAgICAgICAgIGZpbmlzaFRlc3QoKTsKLSAgICAgICAgICAgICAgICAgICAg
fTsKLSAgICAgICAgICAgICAgICAgICAgcmVxdWVzdC5vbnN1Y2Nlc3MgPSBmdW5jdGlvbiAoKSB7
Ci0gICAgICAgICAgICAgICAgICAgICAgICAvLyBMZXQgdGhlIG5leHQgaW50ZXJ2YWwgY2hlY2sg
YWdhaW4gYmVjYXVzZSBkZWxldGlvbiBtaWdodCBiZSBkZWxheWVkLgotICAgICAgICAgICAgICAg
ICAgICAgICAgc2VtYXBob3JlSURCQ2hlY2sgPSBmYWxzZTsKLSAgICAgICAgICAgICAgICAgICAg
fTsKLSAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICB9LCAyMDApOwotICAgICAgICB9Ci0g
ICAgfQotCi0gICAgbGV0IGludGVydmFsQ291bnRlckxvY2FsU3RvcmFnZTsKLSAgICBsZXQgY2hl
Y2tMb2NhbFN0b3JhZ2VDYWxsYmFjazsKLSAgICBsZXQgY2hlY2tMb2NhbFN0b3JhZ2VJbnRlcnZh
bElEOwotICAgIGNvbnN0IGxvY2FsU3RvcmFnZU5hbWUgPSAidGVzdCI7Ci0gICAgY29uc3QgbG9j
YWxTdG9yYWdlVmFsdWUgPSAidmFsdWUiOwotICAgIGZ1bmN0aW9uIGNoZWNrTG9jYWxTdG9yYWdl
RXhpc3RzKGlzQWZ0ZXJEZWxldGlvbiwgY2FsbGJhY2spIHsKLSAgICAgICAgaW50ZXJ2YWxDb3Vu
dGVyTG9jYWxTdG9yYWdlID0gMDsKLSAgICAgICAgY2hlY2tMb2NhbFN0b3JhZ2VDYWxsYmFjayA9
IGNhbGxiYWNrOwotICAgICAgICBpZiAoIWlzQWZ0ZXJEZWxldGlvbikgewotICAgICAgICAgICAg
Ly8gQ2hlY2sgdW50aWwgdGhlcmUgaXMgTG9jYWxTdG9yYWdlLgotICAgICAgICAgICAgY2hlY2tM
b2NhbFN0b3JhZ2VJbnRlcnZhbElEID0gc2V0SW50ZXJ2YWwoZnVuY3Rpb24oKSB7Ci0gICAgICAg
ICAgICAgICAgaWYgKCsraW50ZXJ2YWxDb3VudGVyTG9jYWxTdG9yYWdlID49IG1heEludGVydmFs
cykgewotICAgICAgICAgICAgICAgICAgICBjbGVhckludGVydmFsKGNoZWNrTG9jYWxTdG9yYWdl
SW50ZXJ2YWxJRCk7Ci0gICAgICAgICAgICAgICAgICAgIGxldCB2YWx1ZSA9IGxvY2FsU3RvcmFn
ZS5nZXRJdGVtKGxvY2FsU3RvcmFnZU5hbWUpOwotICAgICAgICAgICAgICAgICAgICBhZGRPdXRw
dXQoIkJlZm9yZSBzdGF0aXN0aWNzIHByb2Nlc3Npbmc6IExvY2FsU3RvcmFnZSBlbnRyeSAiICsg
KHZhbHVlID09PSBsb2NhbFN0b3JhZ2VWYWx1ZSA/ICJkb2VzIiA6ICJkb2VzIG5vdCIpICsgIiBl
eGlzdC4iKTsKLSAgICAgICAgICAgICAgICAgICAgY2hlY2tMb2NhbFN0b3JhZ2VDYWxsYmFjaygp
OwotICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAodGVzdFJ1bm5lci5pc1N0YXRpc3RpY3NIYXNM
b2NhbFN0b3JhZ2Uob3JpZ2luVW5kZXJUZXN0KSkgewotICAgICAgICAgICAgICAgICAgICBjbGVh
ckludGVydmFsKGNoZWNrTG9jYWxTdG9yYWdlSW50ZXJ2YWxJRCk7Ci0gICAgICAgICAgICAgICAg
ICAgIGxldCB2YWx1ZSA9IGxvY2FsU3RvcmFnZS5nZXRJdGVtKGxvY2FsU3RvcmFnZU5hbWUpOwot
ICAgICAgICAgICAgICAgICAgICBhZGRPdXRwdXQoIkJlZm9yZSBzdGF0aXN0aWNzIHByb2Nlc3Np
bmc6IExvY2FsU3RvcmFnZSBlbnRyeSAiICsgKHZhbHVlID09PSBsb2NhbFN0b3JhZ2VWYWx1ZSA/
ICJkb2VzIiA6ICJkb2VzIG5vdCIpICsgIiBleGlzdC4iKTsKLSAgICAgICAgICAgICAgICAgICAg
Y2hlY2tMb2NhbFN0b3JhZ2VDYWxsYmFjaygpOwotICAgICAgICAgICAgICAgIH0KLSAgICAgICAg
ICAgIH0sIDEwMCk7Ci0gICAgICAgIH0gZWxzZSB7Ci0gICAgICAgICAgICAvLyBDaGVjayB1bnRp
bCB0aGVyZSBpcyBubyBMb2NhbFN0b3JhZ2UuCi0gICAgICAgICAgICBjaGVja0xvY2FsU3RvcmFn
ZUludGVydmFsSUQgPSBzZXRJbnRlcnZhbChmdW5jdGlvbigpIHsKLSAgICAgICAgICAgICAgICBp
ZiAoKytpbnRlcnZhbENvdW50ZXJMb2NhbFN0b3JhZ2UgPj0gbWF4SW50ZXJ2YWxzKSB7Ci0gICAg
ICAgICAgICAgICAgICAgIGNsZWFySW50ZXJ2YWwoY2hlY2tMb2NhbFN0b3JhZ2VJbnRlcnZhbElE
KTsKLSAgICAgICAgICAgICAgICAgICAgbGV0IHZhbHVlID0gbG9jYWxTdG9yYWdlLmdldEl0ZW0o
bG9jYWxTdG9yYWdlTmFtZSk7Ci0gICAgICAgICAgICAgICAgICAgIGFkZE91dHB1dCgiQWZ0ZXIg
c3RhdGlzdGljcyBwcm9jZXNzaW5nOiBMb2NhbFN0b3JhZ2UgZW50cnkgIiArICh2YWx1ZSA9PT0g
bG9jYWxTdG9yYWdlVmFsdWUgPyAiZG9lcyIgOiAiZG9lcyBub3QiKSArICIgZXhpc3QuIik7Ci0g
ICAgICAgICAgICAgICAgICAgIGNoZWNrTG9jYWxTdG9yYWdlQ2FsbGJhY2soKTsKLSAgICAgICAg
ICAgICAgICB9IGVsc2UgaWYgKCF0ZXN0UnVubmVyLmlzU3RhdGlzdGljc0hhc0xvY2FsU3RvcmFn
ZShvcmlnaW5VbmRlclRlc3QpKSB7Ci0gICAgICAgICAgICAgICAgICAgIGNsZWFySW50ZXJ2YWwo
Y2hlY2tMb2NhbFN0b3JhZ2VJbnRlcnZhbElEKTsKLSAgICAgICAgICAgICAgICAgICAgbGV0IHZh
bHVlID0gbG9jYWxTdG9yYWdlLmdldEl0ZW0obG9jYWxTdG9yYWdlTmFtZSk7Ci0gICAgICAgICAg
ICAgICAgICAgIGFkZE91dHB1dCgiQWZ0ZXIgc3RhdGlzdGljcyBwcm9jZXNzaW5nOiBMb2NhbFN0
b3JhZ2UgZW50cnkgIiArICh2YWx1ZSA9PT0gbG9jYWxTdG9yYWdlVmFsdWUgPyAiZG9lcyIgOiAi
ZG9lcyBub3QiKSArICIgZXhpc3QuIik7Ci0gICAgICAgICAgICAgICAgICAgIGNoZWNrTG9jYWxT
dG9yYWdlQ2FsbGJhY2soKTsKLSAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICB9LCAxMDAp
OwotICAgICAgICB9Ci0gICAgfQotCi0gICAgYXN5bmMgZnVuY3Rpb24gd3JpdGVXZWJzaXRlRGF0
YUFuZENvbnRpbnVlKCkgewotICAgICAgICAvLyBXcml0ZSBjb29raWVzLgotICAgICAgICBhd2Fp
dCBmZXRjaCgiL2Nvb2tpZXMvcmVzb3VyY2VzL3NldC1odHRwLW9ubHktY29va2llLnBocD9jb29r
aWVOYW1lPSIgKyBodHRwT25seUNvb2tpZU5hbWUsIHsgY3JlZGVudGlhbHM6ICJzYW1lLW9yaWdp
biIgfSk7Ci0gICAgICAgIGF3YWl0IGZldGNoKCIvY29va2llcy9yZXNvdXJjZXMvc2V0Q29va2ll
cy5jZ2kiLCB7IGhlYWRlcnM6IHsgIlNldC1Db29raWUiOiBzZXJ2ZXJTaWRlQ29va2llTmFtZSAr
ICI9MTsgcGF0aD0vOyIgfSwgY3JlZGVudGlhbHM6ICJzYW1lLW9yaWdpbiIgfSk7Ci0gICAgICAg
IGRvY3VtZW50LmNvb2tpZSA9IGNsaWVudFNpZGVDb29raWVOYW1lICsgIj0xIjsKLQotICAgICAg
ICBjaGVja0Nvb2tpZXMoZmFsc2UpOwotCi0gICAgICAgIC8vIFdyaXRlIExvY2FsU3RvcmFnZQot
ICAgICAgICBsb2NhbFN0b3JhZ2Uuc2V0SXRlbShsb2NhbFN0b3JhZ2VOYW1lLCBsb2NhbFN0b3Jh
Z2VWYWx1ZSk7Ci0gICAgICAgIGNoZWNrTG9jYWxTdG9yYWdlRXhpc3RzKGZhbHNlLCBmdW5jdGlv
bigpIHsKLQotICAgICAgICAgICAgLy8gV3JpdGUgSW5kZXhlZERCLgotICAgICAgICAgICAgY3Jl
YXRlSURCRGF0YVN0b3JlKGZ1bmN0aW9uICgpIHsKLSAgICAgICAgICAgICAgICBjaGVja0lEQkRh
dGFTdG9yZUV4aXN0cyhmYWxzZSwgZnVuY3Rpb24oKSB7Ci0gICAgICAgICAgICAgICAgICAgIGFk
ZExpbmVicmVha1RvT3V0cHV0KCk7Ci0gICAgICAgICAgICAgICAgICAgIHByb2Nlc3NXZWJzaXRl
RGF0YUFuZENvbnRpbnVlKCk7Ci0gICAgICAgICAgICAgICAgfSk7Ci0gICAgICAgICAgICB9KTsK
LSAgICAgICAgfSk7Ci0gICAgfQotCi0gICAgZnVuY3Rpb24gcHJvY2Vzc1dlYnNpdGVEYXRhQW5k
Q29udGludWUoKSB7Ci0gICAgICAgIHRlc3RSdW5uZXIuaW5zdGFsbFN0YXRpc3RpY3NEaWRTY2Fu
RGF0YVJlY29yZHNDYWxsYmFjayhjaGVja1dlYnNpdGVEYXRhQW5kQ29udGludWUpOwotICAgICAg
ICB0ZXN0UnVubmVyLnN0YXRpc3RpY3NQcm9jZXNzU3RhdGlzdGljc0FuZERhdGFSZWNvcmRzKCk7
Ci0gICAgfQotCi0gICAgZnVuY3Rpb24gY2hlY2tXZWJzaXRlRGF0YUFuZENvbnRpbnVlKCkgewot
ICAgICAgICBjaGVja0Nvb2tpZXModHJ1ZSk7Ci0gICAgICAgIGNoZWNrTG9jYWxTdG9yYWdlRXhp
c3RzKHRydWUsIGZ1bmN0aW9uICgpIHsKLSAgICAgICAgICAgIGNoZWNrSURCRGF0YVN0b3JlRXhp
c3RzKHRydWUsIGZpbmlzaFRlc3QpOwotICAgICAgICB9KTsKLSAgICB9Ci0KLSAgICBjb25zdCBv
cmlnaW5VbmRlclRlc3QgID0gImh0dHA6Ly8xMjcuMC4wLjE6ODAwMCI7Ci0gICAgY29uc3Qgb3Ro
ZXJPcmlnaW4gPSAiaHR0cDovL2xvY2FsaG9zdDo4MDAwIjsKLSAgICBjb25zdCB0b3BGcmFtZU9y
aWdpbiA9ICJodHRwOi8vMTI3LjAuMC4yOjgwMDAiOwotCi0gICAgY29uc3QgdGltZVN0YW1wID0g
TWF0aC5yb3VuZCgobmV3IERhdGUoKSkuZ2V0VGltZSgpIC8gMTAwMCk7Ci0gICAgZnVuY3Rpb24g
ZmluaXNoVGVzdCgpIHsKLSAgICAgICAgaWYgKHRlc3RSdW5uZXIuaXNTdGF0aXN0aWNzSGFzSGFk
VXNlckludGVyYWN0aW9uKG9yaWdpblVuZGVyVGVzdCkpCi0gICAgICAgICAgICBhZGRPdXRwdXQo
IkZBSUw6ICIgKyBvcmlnaW5VbmRlclRlc3QgKyAiIHN0aWxsIGhhcyB1c2VyIGludGVyYWN0aW9u
IGFmdGVyIHByb2Nlc3NpbmcuIik7Ci0gICAgICAgIHJlc2V0Q29va2llcygpOwotICAgICAgICB0
ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsKLSAgICB9Ci0KLSAgICAvLyBEbyBub3QgdXNlIHNldEVu
YWJsZUZlYXR1cmUgaGVyZSBiZWNhdXNlIHdlIHdhbnQgdG8gbWFrZSBzdXJlIHdlYnNpdGUgZGF0
YSBkZWxldGlvbiBpcyBub3Qgc2tpcHBlZAotICAgIC8vIGJ5IHRoZSBwcmVzZW5jZSBvZiBwYXJh
bWV0ZXJzKCkuaXNSdW5uaW5nVGVzdC4KLSAgICBmdW5jdGlvbiBydW5UZXN0KCkgewotICAgICAg
ICB0ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NNaW5pbXVtVGltZUJldHdlZW5EYXRhUmVjb3Jkc1Jl
bW92YWwoMzYwMCk7Ci0gICAgICAgIC8vIE1lcmdlIGEgc3RhdGlzdGljIHdpdGggbm8gdXNlciBp
bnRlcmFjdGlvbiB0byBjaGVjayB0aGUgLTEgY2FzZS4KLSAgICAgICAgdGVzdFJ1bm5lci5zZXRT
dGF0aXN0aWNzTWVyZ2VTdGF0aXN0aWMob3RoZXJPcmlnaW4sIHRvcEZyYW1lT3JpZ2luLCAiIiwg
dGltZVN0YW1wLCBmYWxzZSwgLTEsIGZhbHNlLCBmYWxzZSwgZmFsc2UsIDAsIGZ1bmN0aW9uKCkg
ewotICAgICAgICAgICAgdGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNzRmlyc3RQYXJ0eVdlYnNpdGVE
YXRhUmVtb3ZhbE1vZGUodHJ1ZSwgZnVuY3Rpb24gKCkgewotICAgICAgICAgICAgICAgIC8vIGlu
c2VydFN0YXRpc3RpY3NFeHBpcmVkU3RhdGlzdGljKGRvbWFpbiwgaGFzSGFkVXNlckludGVyYWN0
aW9uLCBpc1NjaGVkdWxlZEZvckFsbEJ1dENvb2tpZURhdGFSZW1vdmFsLCBpc1ByZXZhbGVudCkK
LSAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NFeHBpcmVkU3RhdGlzdGlj
KG9yaWdpblVuZGVyVGVzdCwgdHJ1ZSwgdHJ1ZSwgZmFsc2UsIGZ1bmN0aW9uKCkgewotICAgICAg
ICAgICAgICAgICAgICB3cml0ZVdlYnNpdGVEYXRhQW5kQ29udGludWUoKTsKLSAgICAgICAgICAg
ICAgICB9KTsKLSAgICAgICAgICAgIH0pOwotICAgICAgICB9KTsKLSAgICB9Ci08L3NjcmlwdD4K
LTwvYm9keT4KLTwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVz
b3VyY2VMb2FkU3RhdGlzdGljcy9vcGVyYXRpbmctZGF0ZXMtYWxsLWJ1dC1jb29raWVzLXJlbW92
ZWQtc3RhdGlzdGljcy13aXRoLW5vLXVzZXItaW50ZXJhY3Rpb24tZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL29wZXJhdGluZy1kYXRl
cy1hbGwtYnV0LWNvb2tpZXMtcmVtb3ZlZC1zdGF0aXN0aWNzLXdpdGgtbm8tdXNlci1pbnRlcmFj
dGlvbi1leHBlY3RlZC50eHQKaW5kZXggZjVhNWVhMjQxMDg1ZTRiNTExYTgxMGY4OTZhYzRlMzQ5
OWE4NDc0MC4uZjRlYTM0ODUxNjVhMzRlMjVhMWYzNTY2MTBlZWNhYTI0ZWVmMDUxMCAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL29wZXJh
dGluZy1kYXRlcy1hbGwtYnV0LWNvb2tpZXMtcmVtb3ZlZC1zdGF0aXN0aWNzLXdpdGgtbm8tdXNl
ci1pbnRlcmFjdGlvbi1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9y
ZXNvdXJjZUxvYWRTdGF0aXN0aWNzL29wZXJhdGluZy1kYXRlcy1hbGwtYnV0LWNvb2tpZXMtcmVt
b3ZlZC1zdGF0aXN0aWNzLXdpdGgtbm8tdXNlci1pbnRlcmFjdGlvbi1leHBlY3RlZC50eHQKQEAg
LTgsNyArOCw3IEBAIEJlZm9yZSBzdGF0aXN0aWNzIHByb2Nlc3Npbmc6IElEQiBlbnRyeSBkb2Vz
IGV4aXN0LgogQWZ0ZXIgc3RhdGlzdGljcyBwcm9jZXNzaW5nOiBIdHRwT25seSBjb29raWUgZXhp
c3RzLgogQWZ0ZXIgc3RhdGlzdGljcyBwcm9jZXNzaW5nOiBDbGllbnQtc2lkZSBjb29raWUgZXhp
c3RzLgogQWZ0ZXIgc3RhdGlzdGljcyBwcm9jZXNzaW5nOiBSZWd1bGFyIHNlcnZlci1zaWRlIGNv
b2tpZSBleGlzdHMuCi1BZnRlciBzdGF0aXN0aWNzIHByb2Nlc3Npbmc6IExvY2FsU3RvcmFnZSBl
bnRyeSBkb2VzIG5vdCBleGlzdC4KLUFmdGVyIHN0YXRpc3RpY3MgcHJvY2Vzc2luZzogSURCIGVu
dHJ5IGRvZXMgbm90IGV4aXN0LgorQWZ0ZXIgc3RhdGlzdGljcyBwcm9jZXNzaW5nOiBMb2NhbFN0
b3JhZ2UgZW50cnkgZG9lcyBleGlzdC4KK0FmdGVyIHN0YXRpc3RpY3MgcHJvY2Vzc2luZzogSURC
IGVudHJ5IGRvZXMgZXhpc3QuCiAKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0
cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL29wZXJhdGluZy1kYXRlcy1hbGwtd2Vic2l0ZS1kYXRh
LXJlbW92ZWQtZGF0YWJhc2UtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9y
ZXNvdXJjZUxvYWRTdGF0aXN0aWNzL29wZXJhdGluZy1kYXRlcy1hbGwtd2Vic2l0ZS1kYXRhLXJl
bW92ZWQtZGF0YWJhc2UtZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAxNzMwOTZjODJlM2FmMTgxNTIzYjc5ODY0NzY2Y2Y0YzU1MTBlNjUxLi4wMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMv
cmVzb3VyY2VMb2FkU3RhdGlzdGljcy9vcGVyYXRpbmctZGF0ZXMtYWxsLXdlYnNpdGUtZGF0YS1y
ZW1vdmVkLWRhdGFiYXNlLWV4cGVjdGVkLnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDEyICswLDAg
QEAKLQotQmVmb3JlIHN0YXRpc3RpY3MgcHJvY2Vzc2luZzogQ2xpZW50LXNpZGUgY29va2llIGV4
aXN0cy4KLUJlZm9yZSBzdGF0aXN0aWNzIHByb2Nlc3Npbmc6IEh0dHBPbmx5IGNvb2tpZSBleGlz
dHMuCi1CZWZvcmUgc3RhdGlzdGljcyBwcm9jZXNzaW5nOiBSZWd1bGFyIHNlcnZlci1zaWRlIGNv
b2tpZSBleGlzdHMuCi1CZWZvcmUgc3RhdGlzdGljcyBwcm9jZXNzaW5nOiBMb2NhbFN0b3JhZ2Ug
ZW50cnkgZG9lcyBleGlzdC4KLUJlZm9yZSBzdGF0aXN0aWNzIHByb2Nlc3Npbmc6IElEQiBlbnRy
eSBkb2VzIGV4aXN0LgotCi1BZnRlciBzdGF0aXN0aWNzIHByb2Nlc3Npbmc6IE5vIGNvb2tpZXMg
Zm91bmQuCi1BZnRlciBzdGF0aXN0aWNzIHByb2Nlc3Npbmc6IExvY2FsU3RvcmFnZSBlbnRyeSBk
b2VzIG5vdCBleGlzdC4KLUFmdGVyIHN0YXRpc3RpY3MgcHJvY2Vzc2luZzogSURCIGVudHJ5IGRv
ZXMgbm90IGV4aXN0LgotCi0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVz
b3VyY2VMb2FkU3RhdGlzdGljcy9vcGVyYXRpbmctZGF0ZXMtYWxsLXdlYnNpdGUtZGF0YS1yZW1v
dmVkLWRhdGFiYXNlLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0
YXRpc3RpY3Mvb3BlcmF0aW5nLWRhdGVzLWFsbC13ZWJzaXRlLWRhdGEtcmVtb3ZlZC1kYXRhYmFz
ZS5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAyZTdmNTZmODIxYzZlNGFkNmRm
MDg5NGYxNmNiNDNhY2QwOWVhYjRlLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGlj
cy9vcGVyYXRpbmctZGF0ZXMtYWxsLXdlYnNpdGUtZGF0YS1yZW1vdmVkLWRhdGFiYXNlLmh0bWwK
KysrIC9kZXYvbnVsbApAQCAtMSwyNTIgKzAsMCBAQAotPCFET0NUWVBFIGh0bWw+Ci08aHRtbD4K
LTxoZWFkPgotICAgIDxzY3JpcHQgc3JjPSIvY29va2llcy9yZXNvdXJjZXMvY29va2llLXV0aWxp
dGllcy5qcyI+PC9zY3JpcHQ+Ci0gICAgPHNjcmlwdCBzcmM9InJlc291cmNlcy91dGlsLmpzIj48
L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5IG9ubG9hZD0ic2V0VGltZW91dCgncnVuVGVzdCgpJywg
MCkiPgotPGJyPgotPGRpdiBpZD0ib3V0cHV0Ij48L2Rpdj4KLTxicj4KLTxzY3JpcHQ+Ci0gICAg
dGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7Ci0gICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7
Ci0gICAgdGVzdFJ1bm5lci5zZXRVc2VJVFBEYXRhYmFzZSh0cnVlKTsKLQotICAgIGNvbnN0IGh0
dHBPbmx5Q29va2llTmFtZSA9ICJodHRwLW9ubHktY29va2llIjsKLSAgICBjb25zdCBzZXJ2ZXJT
aWRlQ29va2llTmFtZSA9ICJzZXJ2ZXItc2lkZS1jb29raWUiOwotICAgIGNvbnN0IGNsaWVudFNp
ZGVDb29raWVOYW1lID0gImNsaWVudC1zaWRlLWNvb2tpZSI7Ci0KLSAgICBmdW5jdGlvbiBzb3J0
U3RyaW5nQXJyYXkoYSwgYikgewotICAgICAgICBhID0gYS50b0xvd2VyQ2FzZSgpOwotICAgICAg
ICBiID0gYi50b0xvd2VyQ2FzZSgpOwotCi0gICAgICAgIHJldHVybiBhID4gYiA/IDEgOiBiID4g
YSA/IC0xIDogMDsKLSAgICB9Ci0KLSAgICBmdW5jdGlvbiBhZGRMaW5lYnJlYWtUb091dHB1dCgp
IHsKLSAgICAgICAgbGV0IGVsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJiciIpOwot
ICAgICAgICBvdXRwdXQuYXBwZW5kQ2hpbGQoZWxlbWVudCk7Ci0gICAgfQotCi0gICAgZnVuY3Rp
b24gYWRkT3V0cHV0KG1lc3NhZ2UpIHsKLSAgICAgICAgbGV0IGVsZW1lbnQgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KCJkaXYiKTsKLSAgICAgICAgZWxlbWVudC5pbm5lclRleHQgPSBtZXNzYWdl
OwotICAgICAgICBvdXRwdXQuYXBwZW5kQ2hpbGQoZWxlbWVudCk7Ci0gICAgfQotCi0gICAgZnVu
Y3Rpb24gY2hlY2tDb29raWVzKGlzQWZ0ZXJEZWxldGlvbikgewotICAgICAgICBsZXQgdW5zb3J0
ZWRUZXN0UGFzc2VkTWVzc2FnZXMgPSBbXTsKLSAgICAgICAgbGV0IGNvb2tpZXMgPSBpbnRlcm5h
bHMuZ2V0Q29va2llcygpOwotICAgICAgICBpZiAoIWNvb2tpZXMubGVuZ3RoICYmIGlzQWZ0ZXJE
ZWxldGlvbikKLSAgICAgICAgdW5zb3J0ZWRUZXN0UGFzc2VkTWVzc2FnZXMucHVzaCgoaXNBZnRl
ckRlbGV0aW9uID8gIkFmdGVyIiA6ICJCZWZvcmUiKSArICIgc3RhdGlzdGljcyBwcm9jZXNzaW5n
OiBObyBjb29raWVzIGZvdW5kLiIpOwotICAgICAgICBmb3IgKGxldCBjb29raWUgb2YgY29va2ll
cykgewotICAgICAgICAgICAgc3dpdGNoIChjb29raWUubmFtZSkgewotICAgICAgICAgICAgICAg
IGNhc2UgaHR0cE9ubHlDb29raWVOYW1lOgotICAgICAgICAgICAgICAgICAgICB1bnNvcnRlZFRl
c3RQYXNzZWRNZXNzYWdlcy5wdXNoKChpc0FmdGVyRGVsZXRpb24gPyAiQWZ0ZXIiIDogIkJlZm9y
ZSIpICsgIiBzdGF0aXN0aWNzIHByb2Nlc3Npbmc6ICIgKyAoaXNBZnRlckRlbGV0aW9uID8gIiAi
IDogIiIpICsgIkh0dHBPbmx5IGNvb2tpZSBleGlzdHMuIik7Ci0gICAgICAgICAgICAgICAgICAg
IGJyZWFrOwotICAgICAgICAgICAgICAgIGNhc2Ugc2VydmVyU2lkZUNvb2tpZU5hbWU6Ci0gICAg
ICAgICAgICAgICAgICAgIHVuc29ydGVkVGVzdFBhc3NlZE1lc3NhZ2VzLnB1c2goKGlzQWZ0ZXJE
ZWxldGlvbiA/ICJBZnRlciIgOiAiQmVmb3JlIikgKyAiIHN0YXRpc3RpY3MgcHJvY2Vzc2luZzog
UmVndWxhciBzZXJ2ZXItc2lkZSBjb29raWUgZXhpc3RzLiIpOwotICAgICAgICAgICAgICAgICAg
ICBicmVhazsKLSAgICAgICAgICAgICAgICBjYXNlIGNsaWVudFNpZGVDb29raWVOYW1lOgotICAg
ICAgICAgICAgICAgICAgICB1bnNvcnRlZFRlc3RQYXNzZWRNZXNzYWdlcy5wdXNoKChpc0FmdGVy
RGVsZXRpb24gPyAiQWZ0ZXIiIDogIkJlZm9yZSIpICsgIiBzdGF0aXN0aWNzIHByb2Nlc3Npbmc6
IENsaWVudC1zaWRlIGNvb2tpZSBleGlzdHMuIik7Ci0gICAgICAgICAgICAgICAgICAgIGJyZWFr
OwotICAgICAgICAgICAgfQotICAgICAgICB9Ci0gICAgICAgIGxldCBzb3J0ZWRUZXN0UGFzc2Vk
TWVzc2FnZXMgPSB1bnNvcnRlZFRlc3RQYXNzZWRNZXNzYWdlcy5zb3J0KHNvcnRTdHJpbmdBcnJh
eSk7Ci0gICAgICAgIGZvciAobGV0IHRlc3RQYXNzZWRNZXNzYWdlIG9mIHNvcnRlZFRlc3RQYXNz
ZWRNZXNzYWdlcykgewotICAgICAgICAgICAgYWRkT3V0cHV0KHRlc3RQYXNzZWRNZXNzYWdlKTsK
LSAgICAgICAgfQotICAgIH0KLQotICAgIGNvbnN0IGRiTmFtZSA9ICJUZXN0RGF0YWJhc2UiOwot
Ci0gICAgZnVuY3Rpb24gY3JlYXRlSURCRGF0YVN0b3JlKGNhbGxiYWNrKSB7Ci0gICAgICAgIGxl
dCByZXF1ZXN0ID0gaW5kZXhlZERCLm9wZW4oZGJOYW1lKTsKLSAgICAgICAgcmVxdWVzdC5vbmVy
cm9yID0gZnVuY3Rpb24oKSB7Ci0gICAgICAgICAgICBhZGRPdXRwdXQoIkNvdWxkbid0IGNyZWF0
ZSBpbmRleGVkREIuIik7Ci0gICAgICAgICAgICBmaW5pc2hUZXN0KCk7Ci0gICAgICAgIH07Ci0g
ICAgICAgIHJlcXVlc3Qub251cGdyYWRlbmVlZGVkID0gZnVuY3Rpb24oZXZlbnQpIHsKLSAgICAg
ICAgICAgIGxldCBkYiA9IGV2ZW50LnRhcmdldC5yZXN1bHQ7Ci0gICAgICAgICAgICBsZXQgb2Jq
U3RvcmUgPSBkYi5jcmVhdGVPYmplY3RTdG9yZSgidGVzdCIsIHthdXRvSW5jcmVtZW50OiB0cnVl
fSk7Ci0gICAgICAgICAgICBvYmpTdG9yZS5hZGQoInZhbHVlIik7Ci0gICAgICAgICAgICBjYWxs
YmFjaygpOwotICAgICAgICB9Ci0gICAgfQotCi0gICAgY29uc3QgbWF4SW50ZXJ2YWxzID0gMjA7
Ci0KLSAgICBsZXQgaW50ZXJ2YWxDb3VudGVySURCOwotICAgIGxldCBjaGVja0lEQkNhbGxiYWNr
OwotICAgIGxldCBjaGVja0lEQkludGVydmFsSUQ7Ci0gICAgbGV0IHNlbWFwaG9yZUlEQkNoZWNr
ID0gZmFsc2U7Ci0gICAgZnVuY3Rpb24gY2hlY2tJREJEYXRhU3RvcmVFeGlzdHMoaXNBZnRlckRl
bGV0aW9uLCBjYWxsYmFjaykgewotICAgICAgICBsZXQgcmVxdWVzdDsKLSAgICAgICAgaW50ZXJ2
YWxDb3VudGVySURCID0gMDsKLSAgICAgICAgY2hlY2tJREJDYWxsYmFjayA9IGNhbGxiYWNrOwot
ICAgICAgICBpZiAoIWlzQWZ0ZXJEZWxldGlvbikgewotICAgICAgICAgICAgLy8gQ2hlY2sgdW50
aWwgdGhlcmUgaXMgYSBJREIuCi0gICAgICAgICAgICBjaGVja0lEQkludGVydmFsSUQgPSBzZXRJ
bnRlcnZhbChmdW5jdGlvbigpIHsKLSAgICAgICAgICAgICAgICBpZiAoc2VtYXBob3JlSURCQ2hl
Y2spCi0gICAgICAgICAgICAgICAgICAgIHJldHVybjsKLSAgICAgICAgICAgICAgICBzZW1hcGhv
cmVJREJDaGVjayA9IHRydWU7Ci0KLSAgICAgICAgICAgICAgICBpZiAoKytpbnRlcnZhbENvdW50
ZXJJREIgPj0gbWF4SW50ZXJ2YWxzKSB7Ci0gICAgICAgICAgICAgICAgICAgIGNsZWFySW50ZXJ2
YWwoY2hlY2tJREJJbnRlcnZhbElEKTsKLSAgICAgICAgICAgICAgICAgICAgYWRkT3V0cHV0KCJC
ZWZvcmUgc3RhdGlzdGljcyBwcm9jZXNzaW5nOiBJREIgZW50cnkgZG9lcyBub3QgZXhpc3QuIik7
Ci0gICAgICAgICAgICAgICAgICAgIHNlbWFwaG9yZUlEQkNoZWNrID0gZmFsc2U7Ci0gICAgICAg
ICAgICAgICAgICAgIGNoZWNrSURCQ2FsbGJhY2soKTsKLSAgICAgICAgICAgICAgICB9IGVsc2Ug
ewotICAgICAgICAgICAgICAgICAgICByZXF1ZXN0ID0gaW5kZXhlZERCLm9wZW4oZGJOYW1lKTsK
LSAgICAgICAgICAgICAgICAgICAgcmVxdWVzdC5vbmVycm9yID0gZnVuY3Rpb24gKCkgewotICAg
ICAgICAgICAgICAgICAgICAgICAgY2xlYXJJbnRlcnZhbChjaGVja0lEQkludGVydmFsSUQpOwot
ICAgICAgICAgICAgICAgICAgICAgICAgYWRkT3V0cHV0KCJDb3VsZG4ndCBvcGVuIGluZGV4ZWRE
Qi4iKTsKLSAgICAgICAgICAgICAgICAgICAgICAgIHNlbWFwaG9yZUlEQkNoZWNrID0gZmFsc2U7
Ci0gICAgICAgICAgICAgICAgICAgICAgICBmaW5pc2hUZXN0KCk7Ci0gICAgICAgICAgICAgICAg
ICAgIH07Ci0gICAgICAgICAgICAgICAgICAgIHJlcXVlc3Qub251cGdyYWRlbmVlZGVkID0gZnVu
Y3Rpb24gKCkgewotICAgICAgICAgICAgICAgICAgICAgICAgLy8gTGV0IHRoZSBuZXh0IGludGVy
dmFsIGNoZWNrIGFnYWluLgotICAgICAgICAgICAgICAgICAgICAgICAgc2VtYXBob3JlSURCQ2hl
Y2sgPSBmYWxzZTsKLSAgICAgICAgICAgICAgICAgICAgfTsKLSAgICAgICAgICAgICAgICAgICAg
cmVxdWVzdC5vbnN1Y2Nlc3MgPSBmdW5jdGlvbiAoKSB7Ci0gICAgICAgICAgICAgICAgICAgICAg
ICBjbGVhckludGVydmFsKGNoZWNrSURCSW50ZXJ2YWxJRCk7Ci0gICAgICAgICAgICAgICAgICAg
ICAgICBhZGRPdXRwdXQoIkJlZm9yZSBzdGF0aXN0aWNzIHByb2Nlc3Npbmc6IElEQiBlbnRyeSBk
b2VzIGV4aXN0LiIpOwotICAgICAgICAgICAgICAgICAgICAgICAgc2VtYXBob3JlSURCQ2hlY2sg
PSBmYWxzZTsKLSAgICAgICAgICAgICAgICAgICAgICAgIGNoZWNrSURCQ2FsbGJhY2soKTsKLSAg
ICAgICAgICAgICAgICAgICAgfTsKLSAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICB9LCAy
MDApOwotICAgICAgICB9IGVsc2UgewotICAgICAgICAgICAgLy8gQ2hlY2sgdW50aWwgdGhlcmUg
aXMgbm8gSURCLgotICAgICAgICAgICAgY2hlY2tJREJJbnRlcnZhbElEID0gc2V0SW50ZXJ2YWwo
ZnVuY3Rpb24gKCkgewotICAgICAgICAgICAgICAgIGlmIChzZW1hcGhvcmVJREJDaGVjaykKLSAg
ICAgICAgICAgICAgICAgICAgcmV0dXJuOwotICAgICAgICAgICAgICAgIHNlbWFwaG9yZUlEQkNo
ZWNrID0gdHJ1ZTsKLQotICAgICAgICAgICAgICAgIGlmICgrK2ludGVydmFsQ291bnRlcklEQiA+
PSBtYXhJbnRlcnZhbHMpIHsKLSAgICAgICAgICAgICAgICAgICAgY2xlYXJJbnRlcnZhbChjaGVj
a0lEQkludGVydmFsSUQpOwotICAgICAgICAgICAgICAgICAgICBhZGRPdXRwdXQoIkFmdGVyIHN0
YXRpc3RpY3MgcHJvY2Vzc2luZzogSURCIGVudHJ5IGRvZXMgZXhpc3QuIik7Ci0gICAgICAgICAg
ICAgICAgICAgIHNlbWFwaG9yZUlEQkNoZWNrID0gZmFsc2U7Ci0gICAgICAgICAgICAgICAgICAg
IGNoZWNrSURCQ2FsbGJhY2soKTsKLSAgICAgICAgICAgICAgICB9IGVsc2UgewotICAgICAgICAg
ICAgICAgICAgICByZXF1ZXN0ID0gaW5kZXhlZERCLm9wZW4oZGJOYW1lKTsKLSAgICAgICAgICAg
ICAgICAgICAgcmVxdWVzdC5vbmVycm9yID0gZnVuY3Rpb24gKCkgewotICAgICAgICAgICAgICAg
ICAgICAgICAgY2xlYXJJbnRlcnZhbChjaGVja0lEQkludGVydmFsSUQpOwotICAgICAgICAgICAg
ICAgICAgICAgICAgYWRkT3V0cHV0KCJDb3VsZG4ndCBvcGVuIGluZGV4ZWREQi4iKTsKLSAgICAg
ICAgICAgICAgICAgICAgICAgIHNlbWFwaG9yZUlEQkNoZWNrID0gZmFsc2U7Ci0gICAgICAgICAg
ICAgICAgICAgICAgICBmaW5pc2hUZXN0KCk7Ci0gICAgICAgICAgICAgICAgICAgIH07Ci0gICAg
ICAgICAgICAgICAgICAgIHJlcXVlc3Qub251cGdyYWRlbmVlZGVkID0gZnVuY3Rpb24gKCkgewot
ICAgICAgICAgICAgICAgICAgICAgICAgY2xlYXJJbnRlcnZhbChjaGVja0lEQkludGVydmFsSUQp
OwotICAgICAgICAgICAgICAgICAgICAgICAgYWRkT3V0cHV0KCJBZnRlciBzdGF0aXN0aWNzIHBy
b2Nlc3Npbmc6IElEQiBlbnRyeSBkb2VzIG5vdCBleGlzdC4iKTsKLSAgICAgICAgICAgICAgICAg
ICAgICAgIHNlbWFwaG9yZUlEQkNoZWNrID0gZmFsc2U7Ci0gICAgICAgICAgICAgICAgICAgICAg
ICBmaW5pc2hUZXN0KCk7Ci0gICAgICAgICAgICAgICAgICAgIH07Ci0gICAgICAgICAgICAgICAg
ICAgIHJlcXVlc3Qub25zdWNjZXNzID0gZnVuY3Rpb24gKCkgewotICAgICAgICAgICAgICAgICAg
ICAgICAgLy8gTGV0IHRoZSBuZXh0IGludGVydmFsIGNoZWNrIGFnYWluIGJlY2F1c2UgZGVsZXRp
b24gbWlnaHQgYmUgZGVsYXllZC4KLSAgICAgICAgICAgICAgICAgICAgICAgIHNlbWFwaG9yZUlE
QkNoZWNrID0gZmFsc2U7Ci0gICAgICAgICAgICAgICAgICAgIH07Ci0gICAgICAgICAgICAgICAg
fQotICAgICAgICAgICAgfSwgMjAwKTsKLSAgICAgICAgfQotICAgIH0KLQotICAgIGxldCBpbnRl
cnZhbENvdW50ZXJMb2NhbFN0b3JhZ2U7Ci0gICAgbGV0IGNoZWNrTG9jYWxTdG9yYWdlQ2FsbGJh
Y2s7Ci0gICAgbGV0IGNoZWNrTG9jYWxTdG9yYWdlSW50ZXJ2YWxJRDsKLSAgICBjb25zdCBsb2Nh
bFN0b3JhZ2VOYW1lID0gInRlc3QiOwotICAgIGNvbnN0IGxvY2FsU3RvcmFnZVZhbHVlID0gInZh
bHVlIjsKLSAgICBmdW5jdGlvbiBjaGVja0xvY2FsU3RvcmFnZUV4aXN0cyhpc0FmdGVyRGVsZXRp
b24sIGNhbGxiYWNrKSB7Ci0gICAgICAgIGludGVydmFsQ291bnRlckxvY2FsU3RvcmFnZSA9IDA7
Ci0gICAgICAgIGNoZWNrTG9jYWxTdG9yYWdlQ2FsbGJhY2sgPSBjYWxsYmFjazsKLSAgICAgICAg
aWYgKCFpc0FmdGVyRGVsZXRpb24pIHsKLSAgICAgICAgICAgIC8vIENoZWNrIHVudGlsIHRoZXJl
IGlzIExvY2FsU3RvcmFnZS4KLSAgICAgICAgICAgIGNoZWNrTG9jYWxTdG9yYWdlSW50ZXJ2YWxJ
RCA9IHNldEludGVydmFsKGZ1bmN0aW9uKCkgewotICAgICAgICAgICAgICAgIGlmICgrK2ludGVy
dmFsQ291bnRlckxvY2FsU3RvcmFnZSA+PSBtYXhJbnRlcnZhbHMpIHsKLSAgICAgICAgICAgICAg
ICAgICAgY2xlYXJJbnRlcnZhbChjaGVja0xvY2FsU3RvcmFnZUludGVydmFsSUQpOwotICAgICAg
ICAgICAgICAgICAgICBsZXQgdmFsdWUgPSBsb2NhbFN0b3JhZ2UuZ2V0SXRlbShsb2NhbFN0b3Jh
Z2VOYW1lKTsKLSAgICAgICAgICAgICAgICAgICAgYWRkT3V0cHV0KCJCZWZvcmUgc3RhdGlzdGlj
cyBwcm9jZXNzaW5nOiBMb2NhbFN0b3JhZ2UgZW50cnkgIiArICh2YWx1ZSA9PT0gbG9jYWxTdG9y
YWdlVmFsdWUgPyAiZG9lcyIgOiAiZG9lcyBub3QiKSArICIgZXhpc3QuIik7Ci0gICAgICAgICAg
ICAgICAgICAgIGNoZWNrTG9jYWxTdG9yYWdlQ2FsbGJhY2soKTsKLSAgICAgICAgICAgICAgICB9
IGVsc2UgaWYgKHRlc3RSdW5uZXIuaXNTdGF0aXN0aWNzSGFzTG9jYWxTdG9yYWdlKG9yaWdpblVu
ZGVyVGVzdCkpIHsKLSAgICAgICAgICAgICAgICAgICAgY2xlYXJJbnRlcnZhbChjaGVja0xvY2Fs
U3RvcmFnZUludGVydmFsSUQpOwotICAgICAgICAgICAgICAgICAgICBsZXQgdmFsdWUgPSBsb2Nh
bFN0b3JhZ2UuZ2V0SXRlbShsb2NhbFN0b3JhZ2VOYW1lKTsKLSAgICAgICAgICAgICAgICAgICAg
YWRkT3V0cHV0KCJCZWZvcmUgc3RhdGlzdGljcyBwcm9jZXNzaW5nOiBMb2NhbFN0b3JhZ2UgZW50
cnkgIiArICh2YWx1ZSA9PT0gbG9jYWxTdG9yYWdlVmFsdWUgPyAiZG9lcyIgOiAiZG9lcyBub3Qi
KSArICIgZXhpc3QuIik7Ci0gICAgICAgICAgICAgICAgICAgIGNoZWNrTG9jYWxTdG9yYWdlQ2Fs
bGJhY2soKTsKLSAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICB9LCAxMDApOwotICAgICAg
ICB9IGVsc2UgewotICAgICAgICAgICAgLy8gQ2hlY2sgdW50aWwgdGhlcmUgaXMgbm8gTG9jYWxT
dG9yYWdlLgotICAgICAgICAgICAgY2hlY2tMb2NhbFN0b3JhZ2VJbnRlcnZhbElEID0gc2V0SW50
ZXJ2YWwoZnVuY3Rpb24oKSB7Ci0gICAgICAgICAgICAgICAgaWYgKCsraW50ZXJ2YWxDb3VudGVy
TG9jYWxTdG9yYWdlID49IG1heEludGVydmFscykgewotICAgICAgICAgICAgICAgICAgICBjbGVh
ckludGVydmFsKGNoZWNrTG9jYWxTdG9yYWdlSW50ZXJ2YWxJRCk7Ci0gICAgICAgICAgICAgICAg
ICAgIGxldCB2YWx1ZSA9IGxvY2FsU3RvcmFnZS5nZXRJdGVtKGxvY2FsU3RvcmFnZU5hbWUpOwot
ICAgICAgICAgICAgICAgICAgICBhZGRPdXRwdXQoIkFmdGVyIHN0YXRpc3RpY3MgcHJvY2Vzc2lu
ZzogTG9jYWxTdG9yYWdlIGVudHJ5ICIgKyAodmFsdWUgPT09IGxvY2FsU3RvcmFnZVZhbHVlID8g
ImRvZXMiIDogImRvZXMgbm90IikgKyAiIGV4aXN0LiIpOwotICAgICAgICAgICAgICAgICAgICBj
aGVja0xvY2FsU3RvcmFnZUNhbGxiYWNrKCk7Ci0gICAgICAgICAgICAgICAgfSBlbHNlIGlmICgh
dGVzdFJ1bm5lci5pc1N0YXRpc3RpY3NIYXNMb2NhbFN0b3JhZ2Uob3JpZ2luVW5kZXJUZXN0KSkg
ewotICAgICAgICAgICAgICAgICAgICBjbGVhckludGVydmFsKGNoZWNrTG9jYWxTdG9yYWdlSW50
ZXJ2YWxJRCk7Ci0gICAgICAgICAgICAgICAgICAgIGxldCB2YWx1ZSA9IGxvY2FsU3RvcmFnZS5n
ZXRJdGVtKGxvY2FsU3RvcmFnZU5hbWUpOwotICAgICAgICAgICAgICAgICAgICBhZGRPdXRwdXQo
IkFmdGVyIHN0YXRpc3RpY3MgcHJvY2Vzc2luZzogTG9jYWxTdG9yYWdlIGVudHJ5ICIgKyAodmFs
dWUgPT09IGxvY2FsU3RvcmFnZVZhbHVlID8gImRvZXMiIDogImRvZXMgbm90IikgKyAiIGV4aXN0
LiIpOwotICAgICAgICAgICAgICAgICAgICBjaGVja0xvY2FsU3RvcmFnZUNhbGxiYWNrKCk7Ci0g
ICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgfSwgMTAwKTsKLSAgICAgICAgfQotICAgIH0K
LQotICAgIGFzeW5jIGZ1bmN0aW9uIHdyaXRlV2Vic2l0ZURhdGFBbmRDb250aW51ZSgpIHsKLSAg
ICAgICAgLy8gV3JpdGUgY29va2llcy4KLSAgICAgICAgYXdhaXQgZmV0Y2goIi9jb29raWVzL3Jl
c291cmNlcy9zZXQtaHR0cC1vbmx5LWNvb2tpZS5waHA/Y29va2llTmFtZT0iICsgaHR0cE9ubHlD
b29raWVOYW1lLCB7IGNyZWRlbnRpYWxzOiAic2FtZS1vcmlnaW4iIH0pOwotICAgICAgICBhd2Fp
dCBmZXRjaCgiL2Nvb2tpZXMvcmVzb3VyY2VzL3NldENvb2tpZXMuY2dpIiwgeyBoZWFkZXJzOiB7
ICJTZXQtQ29va2llIjogc2VydmVyU2lkZUNvb2tpZU5hbWUgKyAiPTE7IHBhdGg9LzsiIH0sIGNy
ZWRlbnRpYWxzOiAic2FtZS1vcmlnaW4iIH0pOwotICAgICAgICBkb2N1bWVudC5jb29raWUgPSBj
bGllbnRTaWRlQ29va2llTmFtZSArICI9MSI7Ci0KLSAgICAgICAgY2hlY2tDb29raWVzKGZhbHNl
KTsKLQotICAgICAgICAvLyBXcml0ZSBMb2NhbFN0b3JhZ2UKLSAgICAgICAgbG9jYWxTdG9yYWdl
LnNldEl0ZW0obG9jYWxTdG9yYWdlTmFtZSwgbG9jYWxTdG9yYWdlVmFsdWUpOwotICAgICAgICBj
aGVja0xvY2FsU3RvcmFnZUV4aXN0cyhmYWxzZSwgZnVuY3Rpb24oKSB7Ci0KLSAgICAgICAgICAg
IC8vIFdyaXRlIEluZGV4ZWREQi4KLSAgICAgICAgICAgIGNyZWF0ZUlEQkRhdGFTdG9yZShmdW5j
dGlvbiAoKSB7Ci0gICAgICAgICAgICAgICAgY2hlY2tJREJEYXRhU3RvcmVFeGlzdHMoZmFsc2Us
IGZ1bmN0aW9uKCkgewotICAgICAgICAgICAgICAgICAgICBhZGRMaW5lYnJlYWtUb091dHB1dCgp
OwotICAgICAgICAgICAgICAgICAgICBwcm9jZXNzV2Vic2l0ZURhdGFBbmRDb250aW51ZSgpOwot
ICAgICAgICAgICAgICAgIH0pOwotICAgICAgICAgICAgfSk7Ci0gICAgICAgIH0pOwotICAgIH0K
LQotICAgIGZ1bmN0aW9uIHByb2Nlc3NXZWJzaXRlRGF0YUFuZENvbnRpbnVlKCkgewotICAgICAg
ICB0ZXN0UnVubmVyLmluc3RhbGxTdGF0aXN0aWNzRGlkU2NhbkRhdGFSZWNvcmRzQ2FsbGJhY2so
Y2hlY2tXZWJzaXRlRGF0YUFuZENvbnRpbnVlKTsKLSAgICAgICAgdGVzdFJ1bm5lci5zdGF0aXN0
aWNzUHJvY2Vzc1N0YXRpc3RpY3NBbmREYXRhUmVjb3JkcygpOwotICAgIH0KLQotICAgIGZ1bmN0
aW9uIGNoZWNrV2Vic2l0ZURhdGFBbmRDb250aW51ZSgpIHsKLSAgICAgICAgY2hlY2tDb29raWVz
KHRydWUpOwotICAgICAgICBjaGVja0xvY2FsU3RvcmFnZUV4aXN0cyh0cnVlLCBmdW5jdGlvbiAo
KSB7Ci0gICAgICAgICAgICBjaGVja0lEQkRhdGFTdG9yZUV4aXN0cyh0cnVlLCBmaW5pc2hUZXN0
KTsKLSAgICAgICAgfSk7Ci0gICAgfQotCi0gICAgY29uc3Qgb3JpZ2luVW5kZXJUZXN0ICA9ICJo
dHRwOi8vMTI3LjAuMC4xOjgwMDAiOwotICAgIGZ1bmN0aW9uIGZpbmlzaFRlc3QoKSB7Ci0gICAg
ICAgIGlmICh0ZXN0UnVubmVyLmlzU3RhdGlzdGljc0hhc0hhZFVzZXJJbnRlcmFjdGlvbihvcmln
aW5VbmRlclRlc3QpKQotICAgICAgICAgICAgYWRkT3V0cHV0KCJGQUlMOiAiICsgb3JpZ2luVW5k
ZXJUZXN0ICsgIiBzdGlsbCBoYXMgdXNlciBpbnRlcmFjdGlvbiBhZnRlciBwcm9jZXNzaW5nLiIp
OwotICAgICAgICByZXNldENvb2tpZXMoKTsKLSAgICAgICAgc2V0RW5hYmxlRmVhdHVyZShmYWxz
ZSwgZnVuY3Rpb24oKSB7Ci0gICAgICAgICAgICB0ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsKLSAg
ICAgICAgfSk7Ci0gICAgfQotCi0gICAgZnVuY3Rpb24gcnVuVGVzdCgpIHsKLSAgICAgICAgc2V0
RW5hYmxlRmVhdHVyZSh0cnVlLCBmdW5jdGlvbiAoKSB7Ci0gICAgICAgICAgICAvLyBpbnNlcnRT
dGF0aXN0aWNzRXhwaXJlZFN0YXRpc3RpYyhkb21haW4sIGhhc0hhZFVzZXJJbnRlcmFjdGlvbiwg
aXNTY2hlZHVsZWRGb3JBbGxCdXRDb29raWVEYXRhUmVtb3ZhbCwgaXNQcmV2YWxlbnQpCi0gICAg
ICAgICAgICB0ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NFeHBpcmVkU3RhdGlzdGljKG9yaWdpblVu
ZGVyVGVzdCwgdHJ1ZSwgZmFsc2UsIHRydWUsIGZ1bmN0aW9uKCkgewotICAgICAgICAgICAgICAg
IGlmICghdGVzdFJ1bm5lci5pc1N0YXRpc3RpY3NQcmV2YWxlbnRSZXNvdXJjZShvcmlnaW5VbmRl
clRlc3QpKQotICAgICAgICAgICAgICAgICAgICBhZGRPdXRwdXQoIkZBSUw6ICIgKyBvcmlnaW5V
bmRlclRlc3QgKyAiIGRpZCBub3QgZ2V0IGluc2VydGVkIGludG8gZGF0YWJhc2UuIik7Ci0gICAg
ICAgICAgICAgICAgd3JpdGVXZWJzaXRlRGF0YUFuZENvbnRpbnVlKCk7Ci0gICAgICAgICAgICB9
KTsKLSAgICAgICAgfSk7Ci0gICAgfQotPC9zY3JpcHQ+Ci08L2JvZHk+Ci08L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvcGlu
Zy10by1wcmV2YWxlbnQtcmVzb3VyY2UtZGF0YWJhc2UtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3BpbmctdG8tcHJldmFsZW50LXJl
c291cmNlLWRhdGFiYXNlLWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggYzNmMDY3MGQ5ZWY0Y2EwOThkMDgzMDAzMDIzNmFmNjU3ZGNhMmQxMC4uMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvcGluZy10by1wcmV2YWxlbnQtcmVzb3VyY2UtZGF0YWJh
c2UtZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEsMjQgKzAsMCBAQAotVGVzdHMgdGhh
dCBjb29raWUgYmxvY2tpbmcgaXMgYXBwbGllZCB0byBwaW5nIGxvYWRzLgotCi0KLS0tLS0tLS0t
Ci1GcmFtZTogJzwhLS1mcmFtZTEtLT4nCi0tLS0tLS0tLQotU2hvdWxkIHJlY2VpdmUgZmlyc3Qt
cGFydHkgY29va2llLgotUmVjZWl2ZWQgY29va2llIG5hbWVkICdmaXJzdFBhcnR5Q29va2llJy4K
LUNsaWVudC1zaWRlIGRvY3VtZW50LmNvb2tpZTogZmlyc3RQYXJ0eUNvb2tpZT12YWx1ZQotCi0t
LS0tLS0tLQotRnJhbWU6ICc8IS0tZnJhbWUyLS0+JwotLS0tLS0tLS0KLVNob3VsZCByZWNlaXZl
IG5vIGNvb2tpZXMuCi1EaWQgbm90IHJlY2VpdmUgY29va2llIG5hbWVkICdmaXJzdFBhcnR5Q29v
a2llJy4KLUNsaWVudC1zaWRlIGRvY3VtZW50LmNvb2tpZToKLQotLS0tLS0tLS0KLUZyYW1lOiAn
PCEtLWZyYW1lMy0tPicKLS0tLS0tLS0tCi1QaW5nIHJlY2VpdmVkLgotSFRUUF9IT1NUOiBsb2Nh
bGhvc3Q6ODAwMAotUkVRVUVTVF9VUkk6IC9jb250ZW50ZXh0ZW5zaW9ucy9yZXNvdXJjZXMvc2F2
ZS1waW5nLnBocD90ZXN0PXBpbmctdG8tcHJldmFsZW50LXJlc291cmNlCi1ObyBjb29raWVzIGlu
IHBpbmcuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0
YXRpc3RpY3MvcGluZy10by1wcmV2YWxlbnQtcmVzb3VyY2UtZGF0YWJhc2UuaHRtbCBiL0xheW91
dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9waW5nLXRvLXByZXZhbGVu
dC1yZXNvdXJjZS1kYXRhYmFzZS5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBi
NGIzOWFlOWM3YTQzMGE4YmI3YmI0ZWFmYmRlYjFkZmIxMTU3MTlkLi4wMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVz
b3VyY2VMb2FkU3RhdGlzdGljcy9waW5nLXRvLXByZXZhbGVudC1yZXNvdXJjZS1kYXRhYmFzZS5o
dG1sCisrKyAvZGV2L251bGwKQEAgLTEsMTAwICswLDAgQEAKLTwhRE9DVFlQRSBodG1sPgotPGh0
bWwgbGFuZz0iZW4iPgotPGhlYWQ+Ci0gICAgPG1ldGEgY2hhcnNldD0iVVRGLTgiPgotICAgIDxz
Y3JpcHQgc3JjPSIvanMtdGVzdC1yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KLSAg
ICA8c2NyaXB0IHNyYz0icmVzb3VyY2VzL3V0aWwuanMiPjwvc2NyaXB0PgotPC9oZWFkPgotPGJv
ZHk+Ci08ZGl2IGlkPSJkZXNjcmlwdGlvbiI+VGVzdHMgdGhhdCBjb29raWUgYmxvY2tpbmcgaXMg
YXBwbGllZCB0byBwaW5nIGxvYWRzLjwvZGl2PgotPGEgaWQ9InRhcmdldExpbmsiIGhyZWY9IiMi
IHBpbmc9Imh0dHA6Ly9sb2NhbGhvc3Q6ODAwMC9jb250ZW50ZXh0ZW5zaW9ucy9yZXNvdXJjZXMv
c2F2ZS1waW5nLnBocD90ZXN0PXBpbmctdG8tcHJldmFsZW50LXJlc291cmNlIj5UaGUgbGluazwv
YT4KLTxzY3JpcHQ+Ci0gICAgaWYgKHRlc3RSdW5uZXIpCi0gICAgICAgIHRlc3RSdW5uZXIud2Fp
dFVudGlsRG9uZSgpOwotCi0gICAgY29uc3QgcGFydGl0aW9uSG9zdCA9ICIxMjcuMC4wLjE6ODAw
MCI7Ci0gICAgY29uc3QgdGhpcmRQYXJ0eU9yaWdpbiA9ICJodHRwOi8vbG9jYWxob3N0OjgwMDAi
OwotICAgIGNvbnN0IHJlc291cmNlUGF0aCA9ICIvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9yZXNv
dXJjZXMiOwotICAgIGNvbnN0IHRoaXJkUGFydHlCYXNlVXJsID0gdGhpcmRQYXJ0eU9yaWdpbiAr
IHJlc291cmNlUGF0aDsKLSAgICBjb25zdCBmaXJzdFBhcnR5Q29va2llTmFtZSA9ICJmaXJzdFBh
cnR5Q29va2llIjsKLSAgICBjb25zdCBzdWJQYXRoVG9TZXRGaXJzdFBhcnR5Q29va2llID0gIi9z
ZXQtY29va2llLnBocD9uYW1lPSIgKyBmaXJzdFBhcnR5Q29va2llTmFtZSArICImdmFsdWU9dmFs
dWUiOwotICAgIGNvbnN0IHJldHVyblVybCA9ICJodHRwOi8vIiArIHBhcnRpdGlvbkhvc3QgKyAi
L3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvcGluZy10by1wcmV2YWxlbnQtcmVzb3VyY2UtZGF0YWJh
c2UuaHRtbCI7Ci0gICAgY29uc3Qgc3ViUGF0aFRvR2V0Q29va2llcyA9ICIvZ2V0LWNvb2tpZXMu
cGhwP25hbWUxPSIgKyBmaXJzdFBhcnR5Q29va2llTmFtZTsKLQotICAgIGZ1bmN0aW9uIGFjdGl2
YXRlRWxlbWVudChlbGVtZW50SUQsIGNhbGxiYWNrKSB7Ci0gICAgICAgIHZhciBlbGVtZW50ID0g
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoZWxlbWVudElEKTsKLSAgICAgICAgdmFyIGNlbnRlclgg
PSBlbGVtZW50Lm9mZnNldExlZnQgKyBlbGVtZW50Lm9mZnNldFdpZHRoIC8gMjsKLSAgICAgICAg
dmFyIGNlbnRlclkgPSBlbGVtZW50Lm9mZnNldFRvcCArIGVsZW1lbnQub2Zmc2V0SGVpZ2h0IC8g
MjsKLSAgICAgICAgVUlIZWxwZXIuYWN0aXZhdGVBdChjZW50ZXJYLCBjZW50ZXJZKS50aGVuKAot
ICAgICAgICAgICAgZnVuY3Rpb24gKCkgewotICAgICAgICAgICAgICAgIGNhbGxiYWNrKCk7Ci0g
ICAgICAgICAgICB9LAotICAgICAgICAgICAgZnVuY3Rpb24gKCkgewotICAgICAgICAgICAgICAg
IHRlc3RSdW5uZXIubm90aWZ5RG9uZSgpOwotICAgICAgICAgICAgfQotICAgICAgICApOwotICAg
IH0KLQotICAgIGZ1bmN0aW9uIG9wZW5JZnJhbWUodXJsLCBvbkxvYWRIYW5kbGVyKSB7Ci0gICAg
ICAgIGNvbnN0IGVsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJpZnJhbWUiKTsKLSAg
ICAgICAgZWxlbWVudC5zcmMgPSB1cmw7Ci0gICAgICAgIGlmIChvbkxvYWRIYW5kbGVyKSB7Ci0g
ICAgICAgICAgICBlbGVtZW50Lm9ubG9hZCA9IG9uTG9hZEhhbmRsZXI7Ci0gICAgICAgIH0KLSAg
ICAgICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChlbGVtZW50KTsKLSAgICB9Ci0KLSAgICBm
dW5jdGlvbiBydW5UZXN0KCkgewotICAgICAgICBzd2l0Y2ggKGRvY3VtZW50LmxvY2F0aW9uLmhh
c2gpIHsKLSAgICAgICAgICAgIGNhc2UgIiNzdGVwMSI6Ci0gICAgICAgICAgICAgICAgLy8gU2V0
IGZpcnN0LXBhcnR5IGNvb2tpZSBmb3IgbG9jYWxob3N0LgotICAgICAgICAgICAgICAgIGRvY3Vt
ZW50LmxvY2F0aW9uLmhyZWYgPSB0aGlyZFBhcnR5QmFzZVVybCArIHN1YlBhdGhUb1NldEZpcnN0
UGFydHlDb29raWUgKyAiIyIgKyByZXR1cm5VcmwgKyAiI3N0ZXAyIjsKLSAgICAgICAgICAgICAg
ICBicmVhazsKLSAgICAgICAgICAgIGNhc2UgIiNzdGVwMiI6Ci0gICAgICAgICAgICAgICAgLy8g
Q2hlY2sgdGhhdCB0aGUgY29va2llIGdldHMgc2VudCBmb3IgbG9jYWxob3N0IHVuZGVyIDEyNy4w
LjAuMSBzaW5jZSBsb2NhbGhvc3QgaXMgbm90IHByZXZhbGVudC4KLSAgICAgICAgICAgICAgICBk
b2N1bWVudC5sb2NhdGlvbi5oYXNoID0gInN0ZXAzIjsKLSAgICAgICAgICAgICAgICBvcGVuSWZy
YW1lKHRoaXJkUGFydHlCYXNlVXJsICsgc3ViUGF0aFRvR2V0Q29va2llcyArICImbWVzc2FnZT1T
aG91bGQgcmVjZWl2ZSBmaXJzdC1wYXJ0eSBjb29raWUuIiwgcnVuVGVzdCk7Ci0gICAgICAgICAg
ICAgICAgYnJlYWs7Ci0gICAgICAgICAgICBjYXNlICIjc3RlcDMiOgotICAgICAgICAgICAgICAg
IC8vIFNldCBsb2NhbGhvc3QgYXMgcHJldmFsZW50IHRvIHB1dCBpdCBpbiB0aGUgYmxvY2tpbmcg
Y2F0ZWdvcnkuCi0gICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNzUHJldmFs
ZW50UmVzb3VyY2UodGhpcmRQYXJ0eU9yaWdpbiwgdHJ1ZSwgZnVuY3Rpb24oKSB7Ci0gICAgICAg
ICAgICAgICAgICAgIHRlc3RSdW5uZXIuc3RhdGlzdGljc1VwZGF0ZUNvb2tpZUJsb2NraW5nKHJ1
blRlc3QpOwotICAgICAgICAgICAgICAgICAgICBkb2N1bWVudC5sb2NhdGlvbi5oYXNoID0gInN0
ZXA0IjsKLSAgICAgICAgICAgICAgICB9KTsKLSAgICAgICAgICAgICAgICBicmVhazsKLSAgICAg
ICAgICAgIGNhc2UgIiNzdGVwNCI6Ci0gICAgICAgICAgICAgICAgLy8gQ2hlY2sgdGhhdCBubyBj
b29raWUgZ2V0cyBzZW50IGZvciBsb2NhbGhvc3QgdW5kZXIgMTI3LjAuMC4xIHNpbmNlIGxvY2Fs
aG9zdCdzIGNvb2tpZXMgYXJlIGJsb2NrZWQuCi0gICAgICAgICAgICAgICAgZG9jdW1lbnQubG9j
YXRpb24uaGFzaCA9ICJzdGVwNSI7Ci0gICAgICAgICAgICAgICAgb3BlbklmcmFtZSh0aGlyZFBh
cnR5QmFzZVVybCArIHN1YlBhdGhUb0dldENvb2tpZXMgKyAgIiZtZXNzYWdlPVNob3VsZCByZWNl
aXZlIG5vIGNvb2tpZXMuIiwgcnVuVGVzdCk7Ci0gICAgICAgICAgICAgICAgYnJlYWs7Ci0gICAg
ICAgICAgICBjYXNlICIjc3RlcDUiOgotICAgICAgICAgICAgICAgIC8vIENsaWNrIHRoZSBsaW5r
IHRvIHRyaWdnZXIgdGhlIHBpbmcuCi0gICAgICAgICAgICAgICAgYWN0aXZhdGVFbGVtZW50KCJ0
YXJnZXRMaW5rIiwgZnVuY3Rpb24oKSB7Ci0gICAgICAgICAgICAgICAgICAgIG9wZW5JZnJhbWUo
dGhpcmRQYXJ0eU9yaWdpbiArICIvY29udGVudGV4dGVuc2lvbnMvcmVzb3VyY2VzL2dldC1waW5n
LWRhdGEucGhwP3Rlc3Q9cGluZy10by1wcmV2YWxlbnQtcmVzb3VyY2UiLCBmdW5jdGlvbigpIHsK
LSAgICAgICAgICAgICAgICAgICAgICAgIGRvY3VtZW50LmJvZHkucmVtb3ZlQ2hpbGQoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoInRhcmdldExpbmsiKSk7Ci0gICAgICAgICAgICAgICAgICAgICAg
ICBzZXRFbmFibGVGZWF0dXJlKGZhbHNlLCBmdW5jdGlvbigpIHsKLSAgICAgICAgICAgICAgICAg
ICAgZmV0Y2goIi9jb250ZW50ZXh0ZW5zaW9ucy9yZXNvdXJjZXMvZGVsZXRlLXBpbmcucGhwP3Rl
c3Q9cGluZy10by1wcmV2YWxlbnQtcmVzb3VyY2UiKS50aGVuKCgpPT57Ci0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIubm90aWZ5RG9uZSgpOwot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KTsKLSAgICAgICAgICAgICAgICAgICAg
ICAgIH0pOwotICAgICAgICAgICAgICAgICAgICB9KTsKLSAgICAgICAgICAgICAgICB9KTsKLSAg
ICAgICAgICAgICAgICBicmVhazsKLSAgICAgICAgfQotICAgIH0KLQotICAgIGlmIChkb2N1bWVu
dC5sb2NhdGlvbi5oYXNoID09PSAiIikgewotICAgICAgICBpZiAodGVzdFJ1bm5lcikgewotICAg
ICAgICAgICAgdGVzdFJ1bm5lci5zZXRVc2VJVFBEYXRhYmFzZSh0cnVlKTsKLSAgICAgICAgICAg
IHNldEVuYWJsZUZlYXR1cmUodHJ1ZSwgZnVuY3Rpb24gKCkgewotICAgICAgICAgICAgICAgIHRl
c3RSdW5uZXIuZHVtcENoaWxkRnJhbWVzQXNUZXh0KCk7Ci0gICAgICAgICAgICAgICAgZG9jdW1l
bnQubG9jYXRpb24uaGFzaCA9ICJzdGVwMSI7Ci0gICAgICAgICAgICAgICAgcnVuVGVzdCgpOwot
ICAgICAgICAgICAgfSk7Ci0gICAgICAgIH0KLSAgICB9IGVsc2UgewotICAgICAgICBydW5UZXN0
KCk7Ci0gICAgfQotPC9zY3JpcHQ+Ci08L2JvZHk+Ci08L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvcHJldmFsZW50LXJlc291
cmNlLWhhbmRsZWQta2V5ZG93bi1kYXRhYmFzZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9o
dHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvcHJldmFsZW50LXJlc291cmNlLWhhbmRs
ZWQta2V5ZG93bi1kYXRhYmFzZS1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDU3MGZhYzUwOWY0ODI0NzM4ZmJiNGExNTM2OTE5MzIxZDk1OTgyZmUuLjAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90
ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3ByZXZhbGVudC1yZXNvdXJjZS1oYW5kbGVkLWtl
eWRvd24tZGF0YWJhc2UtZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEsMTIgKzAsMCBA
QAotVGVzdHMgdGhhdCB3ZSBncmFudCBVc2VyIEludGVyYWN0aW9uIGNyZWRpdCBmb3IgaGFuZGxl
ZCBrZXlwcmVzc2VzLgotCi1PbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBB
U1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCi0KLQotU2ltdWxhdGUg
dXNlciB0eXBpbmcgbGV0dGVyICdhJyBpbnRvIHRoZSBmaWVsZC4KLVBBU1MgdGVzdElucHV0LnZh
bHVlIGlzICJhIgotUEFTUyBPcmlnaW4gd2FzIGdyYW50ZWQgdXNlciBpbnRlcmFjdGlvbi4KLVBB
U1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKLQotVEVTVCBDT01QTEVURQotCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvcHJldmFs
ZW50LXJlc291cmNlLWhhbmRsZWQta2V5ZG93bi1kYXRhYmFzZS5odG1sIGIvTGF5b3V0VGVzdHMv
aHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3ByZXZhbGVudC1yZXNvdXJjZS1oYW5k
bGVkLWtleWRvd24tZGF0YWJhc2UuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
NTY2ODYzNjZhOTgxNzY0OWQ1ZmEyMDgxMzE1OGNiY2E4ZWEyZjgyMS4uMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jl
c291cmNlTG9hZFN0YXRpc3RpY3MvcHJldmFsZW50LXJlc291cmNlLWhhbmRsZWQta2V5ZG93bi1k
YXRhYmFzZS5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsNjAgKzAsMCBAQAotPCFET0NUWVBFIGh0
bWw+Ci08aHRtbD4KLTxib2R5PgotPHNjcmlwdCBzcmM9Ii9qcy10ZXN0LXJlc291cmNlcy9qcy10
ZXN0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvdXRpbC5qcyI+PC9zY3Jp
cHQ+Ci08c2NyaXB0PgotZGVzY3JpcHRpb24oIlRlc3RzIHRoYXQgd2UgZ3JhbnQgVXNlciBJbnRl
cmFjdGlvbiBjcmVkaXQgZm9yIGhhbmRsZWQga2V5cHJlc3Nlcy4iKTsKLWpzVGVzdElzQXN5bmMg
PSB0cnVlOwotCi1jb25zdCBzdGF0aXN0aWNzVXJsID0gImh0dHA6Ly8xMjcuMC4wLjE6ODAwMC90
ZW1wIjsKLQotb25sb2FkID0gZnVuY3Rpb24oKSB7Ci0gICAgY29uc3QgdGVzdEZyYW1lID0gZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoInRlc3RGcmFtZSIpOwotCi0gICAgaWYgKHdpbmRvdy50ZXN0
UnVubmVyICYmIHdpbmRvdy5pbnRlcm5hbHMpIHsKLSAgICAgICAgdGVzdFJ1bm5lci5zZXRVc2VJ
VFBEYXRhYmFzZSh0cnVlKTsKLSAgICAgICAgc2V0RW5hYmxlRmVhdHVyZSh0cnVlLCBmdW5jdGlv
bigpIHsKLSAgICAgICAgICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc1ByZXZhbGVudFJlc291
cmNlKHN0YXRpc3RpY3NVcmwsIHRydWUsIGZ1bmN0aW9uKCkgewotICAgICAgICAgICAgICAgIGlm
ICghdGVzdFJ1bm5lci5pc1N0YXRpc3RpY3NQcmV2YWxlbnRSZXNvdXJjZShzdGF0aXN0aWNzVXJs
KSkKLSAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZCgiSG9zdCBkaWQgbm90IGdldCBzZXQg
YXMgcHJldmFsZW50IHJlc291cmNlLiIpOwotCi0gICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5z
ZXRTdGF0aXN0aWNzSGFzSGFkVXNlckludGVyYWN0aW9uKHN0YXRpc3RpY3NVcmwsIGZhbHNlLCBm
dW5jdGlvbigpIHsKLSAgICAgICAgICAgICAgICAgICAgaWYgKHRlc3RSdW5uZXIuaXNTdGF0aXN0
aWNzSGFzSGFkVXNlckludGVyYWN0aW9uKHN0YXRpc3RpY3NVcmwpKQotICAgICAgICAgICAgICAg
ICAgICAgICAgdGVzdEZhaWxlZCgiSG9zdCBkaWQgbm90IGdldCBjbGVhcmVkIG9mIHVzZXIgaW50
ZXJhY3Rpb24uIik7Ci0KLSAgICAgICAgICAgICAgICAgICAgdGVzdElucHV0ID0gZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoInRlc3RJbnB1dCIpOwotCi0gICAgICAgICAgICAgICAgICAgIHRlc3RS
dW5uZXIuaW5zdGFsbFN0YXRpc3RpY3NEaWRNb2RpZnlEYXRhUmVjb3Jkc0NhbGxiYWNrKGZ1bmN0
aW9uKCkgewotICAgICAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0
ZXN0SW5wdXQudmFsdWUiLCAiYSIpOwotCi0gICAgICAgICAgICAgICAgICAgICAgICBpZiAoIXRl
c3RSdW5uZXIuaXNTdGF0aXN0aWNzSGFzSGFkVXNlckludGVyYWN0aW9uKHN0YXRpc3RpY3NVcmwp
KQotICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoIk9yaWdpbiBkaWQgbm90
IGdldCB1c2VyIGludGVyYWN0aW9uIGNyZWRpdC4iKTsKLSAgICAgICAgICAgICAgICAgICAgICAg
IGVsc2UKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICB0ZXN0UGFzc2VkKCJPcmlnaW4gd2Fz
IGdyYW50ZWQgdXNlciBpbnRlcmFjdGlvbi4iKTsKLQotICAgICAgICAgICAgICAgICAgICAgICAg
c2V0VGltZW91dChmdW5jdGlvbigpIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICB0ZXN0
RnJhbWUuc3JjID0gImFib3V0OmJsYW5rIjsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBz
ZXRUaW1lb3V0KGZ1bmN0aW9uKCkgewotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBz
ZXRFbmFibGVGZWF0dXJlKGZhbHNlLCBmaW5pc2hKU1Rlc3QpOwotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIH0sIDApOwotICAgICAgICAgICAgICAgICAgICAgICAgfSwgMCk7Ci0gICAgICAg
ICAgICAgICAgICAgIH0pOwotICAgICAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLnNldFN0YXRp
c3RpY3NTaG91bGRDbGFzc2lmeVJlc291cmNlc0JlZm9yZURhdGFSZWNvcmRzUmVtb3ZhbChmYWxz
ZSk7Ci0gICAgICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc01pbmltdW1U
aW1lQmV0d2VlbkRhdGFSZWNvcmRzUmVtb3ZhbCgwKTsKLSAgICAgICAgICAgICAgICAgICAgdGVz
dFJ1bm5lci5zdGF0aXN0aWNzUHJvY2Vzc1N0YXRpc3RpY3NBbmREYXRhUmVjb3JkcygpOwotCi0g
ICAgICAgICAgICAgICAgICAgIGRlYnVnKCJTaW11bGF0ZSB1c2VyIHR5cGluZyBsZXR0ZXIgJ2En
IGludG8gdGhlIGZpZWxkLiIpOwotICAgICAgICAgICAgICAgICAgICB0ZXN0SW5wdXQuZm9jdXMo
KTsKLSAgICAgICAgICAgICAgICAgICAgaWYgKHdpbmRvdy5ldmVudFNlbmRlcikKLSAgICAgICAg
ICAgICAgICAgICAgICAgIGV2ZW50U2VuZGVyLmtleURvd24oImEiKTsKLSAgICAgICAgICAgICAg
ICB9KTsKLSAgICAgICAgICAgIH0pOwotICAgICAgICB9KTsKLSAgICB9Ci19Ci08L3NjcmlwdD4K
LTxpZnJhbWUgaWQ9InRlc3RGcmFtZSIgc3JjPSJyZXNvdXJjZXMvb25jbGljay5odG1sIj48L2lm
cmFtZT4KLTxpbnB1dCBpZD0idGVzdElucHV0IiB0eXBlPSJ0ZXh0Ij4KLTwvYm9keT4KLTwvaHRt
bD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlz
dGljcy9wcmV2YWxlbnQtcmVzb3VyY2UtdW5oYW5kbGVkLWtleWRvd24tZGF0YWJhc2UtZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3By
ZXZhbGVudC1yZXNvdXJjZS11bmhhbmRsZWQta2V5ZG93bi1kYXRhYmFzZS1leHBlY3RlZC50eHQK
ZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDM2ZTU1OWJmYTJkZDI0NjE2Nzk4OWIyNWFi
ODIzOWM0NTZiMTY0YjAuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAK
LS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3ByZXZh
bGVudC1yZXNvdXJjZS11bmhhbmRsZWQta2V5ZG93bi1kYXRhYmFzZS1leHBlY3RlZC50eHQKKysr
IC9kZXYvbnVsbApAQCAtMSwxMSArMCwwIEBACi1UZXN0cyB0aGF0IHdlIGRvIG5vdCBncmFudCBV
c2VyIEludGVyYWN0aW9uIGNyZWRpdCBmb3IgdW5oYW5kbGVkIGtleXByZXNzLgotCi1PbiBzdWNj
ZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBi
eSAiVEVTVCBDT01QTEVURSIuCi0KLQotU2ltdWxhdGUgYW4gdW5oYW5kbGVkIHVzZXIga2V5IHBy
ZXNzLgotUEFTUyBPcmlnaW4gZGlkIG5vdCBnZXQgdXNlciBpbnRlcmFjdGlvbiBjcmVkaXQuCi1Q
QVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCi0KLVRFU1QgQ09NUExFVEUKLQpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3ByZXZh
bGVudC1yZXNvdXJjZS11bmhhbmRsZWQta2V5ZG93bi1kYXRhYmFzZS5odG1sIGIvTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3ByZXZhbGVudC1yZXNvdXJjZS11
bmhhbmRsZWQta2V5ZG93bi1kYXRhYmFzZS5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCBlNTNmMGI4Nzc1NTczZWFkNGY0MDdkZGU5MzNmZWQyZDA1ZDJhMTAyLi4wMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVz
dHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9wcmV2YWxlbnQtcmVzb3VyY2UtdW5oYW5kbGVkLWtl
eWRvd24tZGF0YWJhc2UuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDU0ICswLDAgQEAKLTwhRE9D
VFlQRSBodG1sPgotPGh0bWw+Ci08Ym9keT4KLTxzY3JpcHQgc3JjPSIvanMtdGVzdC1yZXNvdXJj
ZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0icmVzb3VyY2VzL3V0aWwuanMi
Pjwvc2NyaXB0PgotPHNjcmlwdD4KLWRlc2NyaXB0aW9uKCJUZXN0cyB0aGF0IHdlIGRvIG5vdCBn
cmFudCBVc2VyIEludGVyYWN0aW9uIGNyZWRpdCBmb3IgdW5oYW5kbGVkIGtleXByZXNzLiIpOwot
anNUZXN0SXNBc3luYyA9IHRydWU7Ci0KLWNvbnN0IHN0YXRpc3RpY3NVcmwgPSAiaHR0cDovLzEy
Ny4wLjAuMTo4MDAwL3RlbXAiOwotCi1vbmxvYWQgPSBmdW5jdGlvbigpIHsKLSAgICBjb25zdCB0
ZXN0RnJhbWUgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgidGVzdEZyYW1lIik7Ci0KLSAgICBp
ZiAod2luZG93LnRlc3RSdW5uZXIgJiYgd2luZG93LmludGVybmFscykgewotICAgICAgICB0ZXN0
UnVubmVyLnNldFVzZUlUUERhdGFiYXNlKHRydWUpOwotICAgICAgICBzZXRFbmFibGVGZWF0dXJl
KHRydWUsIGZ1bmN0aW9uKCkgewotICAgICAgICAgICAgdGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNz
UHJldmFsZW50UmVzb3VyY2Uoc3RhdGlzdGljc1VybCwgdHJ1ZSwgZnVuY3Rpb24oKSB7Ci0gICAg
ICAgICAgICAgICAgaWYgKCF0ZXN0UnVubmVyLmlzU3RhdGlzdGljc1ByZXZhbGVudFJlc291cmNl
KHN0YXRpc3RpY3NVcmwpKQotICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKCJIb3N0IGRp
ZCBub3QgZ2V0IHNldCBhcyBwcmV2YWxlbnQgcmVzb3VyY2UuIik7Ci0KLSAgICAgICAgICAgICAg
ICB0ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NIYXNIYWRVc2VySW50ZXJhY3Rpb24oc3RhdGlzdGlj
c1VybCwgZmFsc2UsIGZ1bmN0aW9uKCkgewotICAgICAgICAgICAgICAgICAgICBpZiAodGVzdFJ1
bm5lci5pc1N0YXRpc3RpY3NIYXNIYWRVc2VySW50ZXJhY3Rpb24oc3RhdGlzdGljc1VybCkpCi0g
ICAgICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKCJIb3N0IGRpZCBub3QgZ2V0IGNsZWFy
ZWQgb2YgdXNlciBpbnRlcmFjdGlvbi4iKTsKLQotICAgICAgICAgICAgICAgICAgICB0ZXN0UnVu
bmVyLmluc3RhbGxTdGF0aXN0aWNzRGlkTW9kaWZ5RGF0YVJlY29yZHNDYWxsYmFjayhmdW5jdGlv
bigpIHsKLQotICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCF0ZXN0UnVubmVyLmlzU3RhdGlz
dGljc0hhc0hhZFVzZXJJbnRlcmFjdGlvbihzdGF0aXN0aWNzVXJsKSkKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICB0ZXN0UGFzc2VkKCJPcmlnaW4gZGlkIG5vdCBnZXQgdXNlciBpbnRlcmFj
dGlvbiBjcmVkaXQuIik7Ci0KLSAgICAgICAgICAgICAgICAgICAgICAgIHNldFRpbWVvdXQoZnVu
Y3Rpb24oKSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGVzdEZyYW1lLnNyYyA9ICJh
Ym91dDpibGFuayI7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgc2V0VGltZW91dChmdW5j
dGlvbigpIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2V0RW5hYmxlRmVhdHVy
ZShmYWxzZSwgZmluaXNoSlNUZXN0KTsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCAw
KTsKLSAgICAgICAgICAgICAgICAgICAgICAgIH0sIDApOwotICAgICAgICAgICAgICAgICAgICB9
KTsKLSAgICAgICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNzU2hvdWxkQ2xh
c3NpZnlSZXNvdXJjZXNCZWZvcmVEYXRhUmVjb3Jkc1JlbW92YWwoZmFsc2UpOwotICAgICAgICAg
ICAgICAgICAgICB0ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NNaW5pbXVtVGltZUJldHdlZW5EYXRh
UmVjb3Jkc1JlbW92YWwoMCk7Ci0gICAgICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIuc3RhdGlz
dGljc1Byb2Nlc3NTdGF0aXN0aWNzQW5kRGF0YVJlY29yZHMoKTsKLQotICAgICAgICAgICAgICAg
ICAgICBkZWJ1ZygiU2ltdWxhdGUgYW4gdW5oYW5kbGVkIHVzZXIga2V5IHByZXNzLiIpOwotICAg
ICAgICAgICAgICAgICAgICBpZiAod2luZG93LmV2ZW50U2VuZGVyKQotICAgICAgICAgICAgICAg
ICAgICAgICAgZXZlbnRTZW5kZXIua2V5RG93bigiYSIsIFsibWV0YUtleSJdKTsKLSAgICAgICAg
ICAgICAgICB9KTsKLSAgICAgICAgICAgIH0pOwotICAgICAgICB9KTsKLSAgICB9Ci0KLX0KLTwv
c2NyaXB0PgotPGlmcmFtZSBpZD0idGVzdEZyYW1lIiBzcmM9InJlc291cmNlcy9vbmNsaWNrLmh0
bWwiPjwvaWZyYW1lPgotPC9ib2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3ByZXZhbGVudC1yZXNvdXJjZS13aXRo
LXVzZXItaW50ZXJhY3Rpb24tZGF0YWJhc2UtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3ByZXZhbGVudC1yZXNvdXJjZS13aXRoLXVz
ZXItaW50ZXJhY3Rpb24tZGF0YWJhc2UtZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCBjODlmODU1YTc4OWNmMTBiZjMzMGY0YzkyZWExMmI5NDFhYmVmYzA3Li4wMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2h0
dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9wcmV2YWxlbnQtcmVzb3VyY2Utd2l0aC11
c2VyLWludGVyYWN0aW9uLWRhdGFiYXNlLWV4cGVjdGVkLnR4dAorKysgL2Rldi9udWxsCkBAIC0x
LDUgKzAsMCBAQAotUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQotCi1URVNUIENPTVBM
RVRFCi1QQVNTIENvb2tpZSBub3QgZGVsZXRlZC4KLQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3ByZXZhbGVudC1yZXNvdXJjZS13aXRo
LXVzZXItaW50ZXJhY3Rpb24tZGF0YWJhc2UuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMv
cmVzb3VyY2VMb2FkU3RhdGlzdGljcy9wcmV2YWxlbnQtcmVzb3VyY2Utd2l0aC11c2VyLWludGVy
YWN0aW9uLWRhdGFiYXNlLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGVjMTNh
NTAyNzRjNmRkOTRiZmU4YTE2NDU5YzRjYmFiOGE5MGU5MGMuLjAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJj
ZUxvYWRTdGF0aXN0aWNzL3ByZXZhbGVudC1yZXNvdXJjZS13aXRoLXVzZXItaW50ZXJhY3Rpb24t
ZGF0YWJhc2UuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDY5ICswLDAgQEAKLTwhRE9DVFlQRSBo
dG1sPgotPGh0bWwgbGFuZz0iZW4iPgotPGhlYWQ+Ci0gICAgPG1ldGEgY2hhcnNldD0iVVRGLTgi
PgotICAgIDx0aXRsZT5UZXN0cyBmb3IgUHJldmFsZW50IFJlc291cmNlIFdpdGggVXNlciBJbnRl
cmFjdGlvbjwvdGl0bGU+Ci0gICAgPHNjcmlwdCBzcmM9Ii9qcy10ZXN0LXJlc291cmNlcy9qcy10
ZXN0LmpzIj48L3NjcmlwdD4KLSAgICA8c2NyaXB0IHNyYz0icmVzb3VyY2VzL3V0aWwuanMiPjwv
c2NyaXB0PgotPC9oZWFkPgotPGJvZHkgb25sb2FkPSJzZXRUaW1lb3V0KCdzZXRVcEFuZFJ1bigp
JywgMCkiPgotPHNjcmlwdD4KLSAgICBpZiAodGVzdFJ1bm5lcikKLSAgICAgICAgdGVzdFJ1bm5l
ci53YWl0VW50aWxEb25lKCk7Ci0KLSAgICBjb25zdCBob3N0VW5kZXJUZXN0ID0gIjEyNy4wLjAu
MTo4MDAwIjsKLSAgICBjb25zdCBzdGF0aXN0aWNzVXJsID0gImh0dHA6Ly8iICsgaG9zdFVuZGVy
VGVzdCArICIvdGVtcCI7Ci0gICAgY29uc3Qgb3RoZXJQcmV2YWxlbnRVcmwgPSAiaHR0cDovL2xv
Y2FsaG9zdDo4MDAwL3RlbXAiOwotICAgIGZ1bmN0aW9uIHJ1blRlc3RSdW5uZXJUZXN0KCkgewot
ICAgICAgICBpZiAoZG9jdW1lbnQuY29va2llICE9PSAiIikKLSAgICAgICAgICAgIHRlc3RGYWls
ZWQoImRvY3VtZW50LmNvb2tpZSBub3QgZW1wdHkuIik7Ci0gICAgICAgIGNvbnN0IGNvb2tpZSA9
ICJ0ZXN0Q29va2llPXRlc3RWYWx1ZSI7Ci0gICAgICAgIGRvY3VtZW50LmNvb2tpZSA9IGNvb2tp
ZSArICI7IG1heC1hZ2U9MTAwOyI7Ci0gICAgICAgIGlmIChkb2N1bWVudC5jb29raWUgIT09IGNv
b2tpZSkKLSAgICAgICAgICAgIHRlc3RGYWlsZWQoImRvY3VtZW50LmNvb2tpZSBkaWQgbm90IGdl
dCBzZXQuIik7Ci0KLSAgICAgICAgdGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNzUHJldmFsZW50UmVz
b3VyY2Uoc3RhdGlzdGljc1VybCwgdHJ1ZSwgZnVuY3Rpb24oKSB7Ci0gICAgICAgICAgICBpZiAo
IXRlc3RSdW5uZXIuaXNTdGF0aXN0aWNzUHJldmFsZW50UmVzb3VyY2Uoc3RhdGlzdGljc1VybCkp
Ci0gICAgICAgICAgICAgICAgdGVzdEZhaWxlZCgiSG9zdCBkaWQgbm90IGdldCBzZXQgYXMgcHJl
dmFsZW50IHJlc291cmNlLiIpOwotCi0gICAgICAgICAgICAvLyBUaGlzIGlzIGRvbmUgdG8gbm90
IGhhdmUgYW4gZW1wdHkgc2V0IG9mIHByZXZhbGVudCByZXNvdXJjZXMuCi0gICAgICAgICAgICAv
LyBPdGhlcndpc2UgZGF0YSByZWNvcmRzIGFyZSBuZXZlciBzY2FubmVkLgotICAgICAgICAgICAg
dGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNzUHJldmFsZW50UmVzb3VyY2Uob3RoZXJQcmV2YWxlbnRV
cmwsIHRydWUsIGZ1bmN0aW9uKCkgewotICAgICAgICAgICAgICAgIGlmICghdGVzdFJ1bm5lci5p
c1N0YXRpc3RpY3NQcmV2YWxlbnRSZXNvdXJjZShvdGhlclByZXZhbGVudFVybCkpCi0gICAgICAg
ICAgICAgICAgICAgIHRlc3RGYWlsZWQoIk90aGVyIGhvc3QgZGlkIG5vdCBnZXQgc2V0IGFzIHBy
ZXZhbGVudCByZXNvdXJjZS4iKTsKLQotICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIuc2V0U3Rh
dGlzdGljc0hhc0hhZFVzZXJJbnRlcmFjdGlvbihzdGF0aXN0aWNzVXJsLCB0cnVlLCBmdW5jdGlv
bigpIHsKLSAgICAgICAgICAgICAgICAgICAgaWYgKCF0ZXN0UnVubmVyLmlzU3RhdGlzdGljc0hh
c0hhZFVzZXJJbnRlcmFjdGlvbihzdGF0aXN0aWNzVXJsKSkKLSAgICAgICAgICAgICAgICAgICAg
ICAgIHRlc3RGYWlsZWQoIkhvc3QgZGlkIG5vdCBnZXQgbG9nZ2VkIGZvciB1c2VyIGludGVyYWN0
aW9uLiIpOwotCi0gICAgICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIuaW5zdGFsbFN0YXRpc3Rp
Y3NEaWRNb2RpZnlEYXRhUmVjb3Jkc0NhbGxiYWNrKGZ1bmN0aW9uKCkgewotICAgICAgICAgICAg
ICAgICAgICAgICAgaWYgKGRvY3VtZW50LmNvb2tpZSA9PT0gY29va2llKQotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIHRlc3RQYXNzZWQoIkNvb2tpZSBub3QgZGVsZXRlZC4iKTsKLSAgICAg
ICAgICAgICAgICAgICAgICAgIGVsc2UKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICB0ZXN0
RmFpbGVkKCJDb29raWUgZGVsZXRlZCBvciBkb2N1bWVudC5jb29raWUgY29udGFpbnMgb3RoZXIg
Y29va2llczogIiArIGRvY3VtZW50LmNvb2tpZSk7Ci0gICAgICAgICAgICAgICAgICAgICAgICBz
ZXRFbmFibGVGZWF0dXJlKGZhbHNlLCBmdW5jdGlvbigpIHsKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICB0ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsKLSAgICAgICAgICAgICAgICAgICAgICAg
IH0pOwotICAgICAgICAgICAgICAgICAgICB9KTsKLSAgICAgICAgICAgICAgICAgICAgdGVzdFJ1
bm5lci5zZXRTdGF0aXN0aWNzU2hvdWxkQ2xhc3NpZnlSZXNvdXJjZXNCZWZvcmVEYXRhUmVjb3Jk
c1JlbW92YWwoZmFsc2UpOwotICAgICAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLnNldFN0YXRp
c3RpY3NNaW5pbXVtVGltZUJldHdlZW5EYXRhUmVjb3Jkc1JlbW92YWwoMCk7Ci0gICAgICAgICAg
ICAgICAgICAgIHRlc3RSdW5uZXIuc3RhdGlzdGljc1Byb2Nlc3NTdGF0aXN0aWNzQW5kRGF0YVJl
Y29yZHMoKTsKLSAgICAgICAgICAgICAgICB9KTsKLSAgICAgICAgICAgIH0pOwotICAgICAgICB9
KTsKLSAgICB9Ci0KLSAgICBmdW5jdGlvbiBzZXRVcEFuZFJ1bigpIHsKLSAgICAgICAgaWYgKGRv
Y3VtZW50LmxvY2F0aW9uLmhvc3QgPT09IGhvc3RVbmRlclRlc3QgJiYgd2luZG93LnRlc3RSdW5u
ZXIgJiYgd2luZG93LmludGVybmFscykgewotICAgICAgICAgICAgdGVzdFJ1bm5lci5zZXRVc2VJ
VFBEYXRhYmFzZSh0cnVlKTsKLSAgICAgICAgICAgIHNldEVuYWJsZUZlYXR1cmUodHJ1ZSwgZnVu
Y3Rpb24gKCkgewotICAgICAgICAgICAgICAgIHJ1blRlc3RSdW5uZXJUZXN0KCk7Ci0gICAgICAg
ICAgICB9KTsKLSAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAgIHRlc3RGYWlsZWQoIldyb25n
IGhvc3QsIG5vIHRlc3RSdW5uZXIsIG9yIG5vIGludGVybmFscy4iKTsKLSAgICAgICAgICAgIHRl
c3RSdW5uZXIubm90aWZ5RG9uZSgpOwotICAgICAgICB9Ci0gICAgfQotPC9zY3JpcHQ+Ci08L2Jv
ZHk+Ci08L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNl
TG9hZFN0YXRpc3RpY3MvcHJldmFsZW50LXJlc291cmNlLXdpdGgtdXNlci1pbnRlcmFjdGlvbi10
aW1lb3V0LWRhdGFiYXNlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVz
b3VyY2VMb2FkU3RhdGlzdGljcy9wcmV2YWxlbnQtcmVzb3VyY2Utd2l0aC11c2VyLWludGVyYWN0
aW9uLXRpbWVvdXQtZGF0YWJhc2UtZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCBmNzgwOWU5MWMyM2MyM2EyMzY5Y2QwODU0ZWIxODE2NDdkZmFlYjQzLi4wMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2h0dHAv
dGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9wcmV2YWxlbnQtcmVzb3VyY2Utd2l0aC11c2Vy
LWludGVyYWN0aW9uLXRpbWVvdXQtZGF0YWJhc2UtZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwK
QEAgLTEsNSArMCwwIEBACi1QQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCi0KLVRFU1Qg
Q09NUExFVEUKLVBBU1MgQ29va2llIGRlbGV0ZWQuCi0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9wcmV2YWxlbnQtcmVzb3VyY2Utd2l0
aC11c2VyLWludGVyYWN0aW9uLXRpbWVvdXQtZGF0YWJhc2UuaHRtbCBiL0xheW91dFRlc3RzL2h0
dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9wcmV2YWxlbnQtcmVzb3VyY2Utd2l0aC11
c2VyLWludGVyYWN0aW9uLXRpbWVvdXQtZGF0YWJhc2UuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggYzFjNDc3NzhiYjY1YWQxNGE2YWU1Mjc0MDA2YjMxNjY2MmM4ZjNjOC4uMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9o
dHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvcHJldmFsZW50LXJlc291cmNlLXdpdGgt
dXNlci1pbnRlcmFjdGlvbi10aW1lb3V0LWRhdGFiYXNlLmh0bWwKKysrIC9kZXYvbnVsbApAQCAt
MSw1NiArMCwwIEBACi08IURPQ1RZUEUgaHRtbD4KLTxodG1sIGxhbmc9ImVuIj4KLTxoZWFkPgot
ICAgIDxtZXRhIGNoYXJzZXQ9IlVURi04Ij4KLSAgICA8dGl0bGU+VGVzdHMgZm9yIFByZXZhbGVu
dCBSZXNvdXJjZSBXaXRoIFVzZXIgSW50ZXJhY3Rpb24gVGltZW91dDwvdGl0bGU+Ci0gICAgPHNj
cmlwdCBzcmM9Ii9qcy10ZXN0LXJlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KLSAgICA8
c2NyaXB0IHNyYz0icmVzb3VyY2VzL3V0aWwuanMiPjwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHk+
Ci08c2NyaXB0PgotICAgIGNvbnN0IGhvc3RVbmRlclRlc3QgPSAiMTI3LjAuMC4xOjgwMDAiOwot
ICAgIGNvbnN0IHN0YXRpc3RpY3NVcmwgPSAiaHR0cDovLyIgKyBob3N0VW5kZXJUZXN0ICsgIi90
ZW1wIjsKLSAgICBmdW5jdGlvbiBydW5UZXN0UnVubmVyVGVzdCgpIHsKLSAgICAgICAgaWYgKGRv
Y3VtZW50LmNvb2tpZSAhPT0gIiIpCi0gICAgICAgICAgICB0ZXN0RmFpbGVkKCJkb2N1bWVudC5j
b29raWUgbm90IGVtcHR5LiIpOwotICAgICAgICBjb25zdCBjb29raWUgPSAidGVzdENvb2tpZT10
ZXN0VmFsdWUiOwotICAgICAgICBkb2N1bWVudC5jb29raWUgPSBjb29raWUgKyAiOyBtYXgtYWdl
PTEwMDsiOwotICAgICAgICBpZiAoZG9jdW1lbnQuY29va2llICE9PSBjb29raWUpCi0gICAgICAg
ICAgICB0ZXN0RmFpbGVkKCJkb2N1bWVudC5jb29raWUgZGlkIG5vdCBnZXQgc2V0LiIpOwotCi0g
ICAgICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc1ByZXZhbGVudFJlc291cmNlKHN0YXRpc3Rp
Y3NVcmwsIHRydWUsIGZ1bmN0aW9uKCkgewotICAgICAgICAgICAgaWYgKCF0ZXN0UnVubmVyLmlz
U3RhdGlzdGljc1ByZXZhbGVudFJlc291cmNlKHN0YXRpc3RpY3NVcmwpKQotICAgICAgICAgICAg
ICAgIHRlc3RGYWlsZWQoIkhvc3QgZGlkIG5vdCBnZXQgc2V0IGFzIHByZXZhbGVudCByZXNvdXJj
ZS4iKTsKLQotICAgICAgICAgICAgdGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNzSGFzSGFkVXNlcklu
dGVyYWN0aW9uKHN0YXRpc3RpY3NVcmwsIHRydWUsIGZ1bmN0aW9uKCkgewotICAgICAgICAgICAg
ICAgIGlmICghdGVzdFJ1bm5lci5pc1N0YXRpc3RpY3NIYXNIYWRVc2VySW50ZXJhY3Rpb24oc3Rh
dGlzdGljc1VybCkpCi0gICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoIkhvc3QgZGlkIG5v
dCBnZXQgbG9nZ2VkIGZvciB1c2VyIGludGVyYWN0aW9uLiIpOwotCi0gICAgICAgICAgICAgICAg
dGVzdFJ1bm5lci5pbnN0YWxsU3RhdGlzdGljc0RpZE1vZGlmeURhdGFSZWNvcmRzQ2FsbGJhY2so
ZnVuY3Rpb24oKSB7Ci0gICAgICAgICAgICAgICAgICAgIGlmIChkb2N1bWVudC5jb29raWUgIT09
ICIiKQotICAgICAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZCgiQ29va2llIG5vdCBkZWxl
dGVkOiAiICsgZG9jdW1lbnQuY29va2llKTsKLSAgICAgICAgICAgICAgICAgICAgZWxzZQotICAg
ICAgICAgICAgICAgICAgICAgICAgdGVzdFBhc3NlZCgiQ29va2llIGRlbGV0ZWQuIik7Ci0gICAg
ICAgICAgICAgICAgICAgIGludGVybmFscy5zZXRSZXNvdXJjZUxvYWRTdGF0aXN0aWNzRW5hYmxl
ZChmYWxzZSk7Ci0gICAgICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIuc3RhdGlzdGljc1Jlc2V0
VG9Db25zaXN0ZW50U3RhdGUoZnVuY3Rpb24oKSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICB0
ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsKLSAgICAgICAgICAgICAgICAgICAgfSk7Ci0gICAgICAg
ICAgICAgICAgfSk7Ci0gICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNzU2hv
dWxkQ2xhc3NpZnlSZXNvdXJjZXNCZWZvcmVEYXRhUmVjb3Jkc1JlbW92YWwoZmFsc2UpOwotICAg
ICAgICAgICAgICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc01pbmltdW1UaW1lQmV0d2VlbkRh
dGFSZWNvcmRzUmVtb3ZhbCgwKTsKLSAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLnNldFN0YXRp
c3RpY3NUaW1lVG9MaXZlVXNlckludGVyYWN0aW9uKDApOwotCi0gICAgICAgICAgICAgICAgLy8g
VGhpcyBpcyB0byBlbnN1cmUgdGhlIHRpbWVvdXQgd2UncmUgdGVzdGluZy4KLSAgICAgICAgICAg
ICAgICBzZXRUaW1lb3V0KCJ0ZXN0UnVubmVyLnN0YXRpc3RpY3NQcm9jZXNzU3RhdGlzdGljc0Fu
ZERhdGFSZWNvcmRzKCkiLCAxMDAwKTsKLSAgICAgICAgICAgIH0pOwotICAgICAgICB9KTsKLSAg
ICB9Ci0KLSAgICBpZiAoZG9jdW1lbnQubG9jYXRpb24uaG9zdCA9PT0gaG9zdFVuZGVyVGVzdCAm
JiB3aW5kb3cudGVzdFJ1bm5lciAmJiB3aW5kb3cuaW50ZXJuYWxzKSB7Ci0gICAgICAgIHRlc3RS
dW5uZXIuc2V0VXNlSVRQRGF0YWJhc2UodHJ1ZSk7Ci0gICAgICAgIHRlc3RSdW5uZXIud2FpdFVu
dGlsRG9uZSgpOwotICAgICAgICBzZXRFbmFibGVGZWF0dXJlKHRydWUsIHJ1blRlc3RSdW5uZXJU
ZXN0KTsKLSAgICB9Ci08L3NjcmlwdD4KLTwvYm9keT4KLTwvaHRtbD4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9wcmV2YWxlbnQtcmVz
b3VyY2Utd2l0aG91dC11c2VyLWludGVyYWN0aW9uLWRhdGFiYXNlLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9wcmV2YWxlbnQtcmVz
b3VyY2Utd2l0aG91dC11c2VyLWludGVyYWN0aW9uLWRhdGFiYXNlLWV4cGVjdGVkLnR4dApkZWxl
dGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZjc4MDllOTFjMjNjMjNhMjM2OWNkMDg1NGViMTgx
NjQ3ZGZhZWI0My4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0g
YS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvcHJldmFsZW50
LXJlc291cmNlLXdpdGhvdXQtdXNlci1pbnRlcmFjdGlvbi1kYXRhYmFzZS1leHBlY3RlZC50eHQK
KysrIC9kZXYvbnVsbApAQCAtMSw1ICswLDAgQEAKLVBBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlz
IHRydWUKLQotVEVTVCBDT01QTEVURQotUEFTUyBDb29raWUgZGVsZXRlZC4KLQpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3ByZXZhbGVu
dC1yZXNvdXJjZS13aXRob3V0LXVzZXItaW50ZXJhY3Rpb24tZGF0YWJhc2UuaHRtbCBiL0xheW91
dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9wcmV2YWxlbnQtcmVzb3Vy
Y2Utd2l0aG91dC11c2VyLWludGVyYWN0aW9uLWRhdGFiYXNlLmh0bWwKZGVsZXRlZCBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDBhOWVhMTM5MTM3ZGE5ODRlOTE5NmFkZjBhN2Y0ZjZlYTBlZTllMjMu
LjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3ByZXZhbGVudC1yZXNvdXJjZS13
aXRob3V0LXVzZXItaW50ZXJhY3Rpb24tZGF0YWJhc2UuaHRtbAorKysgL2Rldi9udWxsCkBAIC0x
LDU5ICswLDAgQEAKLTwhRE9DVFlQRSBodG1sPgotPGh0bWwgbGFuZz0iZW4iPgotPGhlYWQ+Ci0g
ICAgPG1ldGEgY2hhcnNldD0iVVRGLTgiPgotICAgIDx0aXRsZT5UZXN0cyBmb3IgUHJldmFsZW50
IFJlc291cmNlIFdpdGhvdXQgVXNlciBJbnRlcmFjdGlvbjwvdGl0bGU+Ci0gICAgPHNjcmlwdCBz
cmM9Ii9qcy10ZXN0LXJlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KLSAgICA8c2NyaXB0
IHNyYz0icmVzb3VyY2VzL3V0aWwuanMiPjwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHk+Ci08c2Ny
aXB0PgotICAgIGNvbnN0IGhvc3RVbmRlclRlc3QgPSAiMTI3LjAuMC4xOjgwMDAiOwotICAgIGNv
bnN0IHN0YXRpc3RpY3NVcmwgPSAiaHR0cDovLyIgKyBob3N0VW5kZXJUZXN0ICsgIi90ZW1wIjsK
LQotICAgIGZ1bmN0aW9uIGZpbmlzaFRlc3QgKCkgewotICAgICAgICBpZiAoZG9jdW1lbnQuY29v
a2llICE9PSAiIikKLSAgICAgICAgICAgIHRlc3RGYWlsZWQoIkNvb2tpZSBub3QgZGVsZXRlZDog
IiArIGRvY3VtZW50LmNvb2tpZSk7Ci0gICAgICAgIGVsc2UKLSAgICAgICAgICAgIHRlc3RQYXNz
ZWQoIkNvb2tpZSBkZWxldGVkLiIpOwotICAgICAgICBzZXRFbmFibGVGZWF0dXJlKGZhbHNlLCBm
dW5jdGlvbigpIHsKLSAgICAgICAgICAgIHRlc3RSdW5uZXIubm90aWZ5RG9uZSgpOwotICAgICAg
ICB9KTsKLSAgICB9Ci0KLSAgICBmdW5jdGlvbiBydW5UZXN0UnVubmVyVGVzdCgpIHsKLSAgICAg
ICAgaWYgKGRvY3VtZW50LmNvb2tpZSAhPT0gIiIpCi0gICAgICAgICAgICB0ZXN0RmFpbGVkKCJk
b2N1bWVudC5jb29raWUgbm90IGVtcHR5LiIpOwotICAgICAgICBjb25zdCBjb29raWUgPSAidGVz
dENvb2tpZT10ZXN0VmFsdWUiOwotICAgICAgICBkb2N1bWVudC5jb29raWUgPSBjb29raWUgKyAi
OyBtYXgtYWdlPTEwMDsiOwotICAgICAgICBpZiAoZG9jdW1lbnQuY29va2llICE9PSBjb29raWUp
Ci0gICAgICAgICAgICB0ZXN0RmFpbGVkKCJkb2N1bWVudC5jb29raWUgZGlkIG5vdCBnZXQgc2V0
LiIpOwotCi0gICAgICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc1ByZXZhbGVudFJlc291cmNl
KHN0YXRpc3RpY3NVcmwsIHRydWUsIGZ1bmN0aW9uKCkgewotICAgICAgICAgICAgaWYgKCF0ZXN0
UnVubmVyLmlzU3RhdGlzdGljc1ByZXZhbGVudFJlc291cmNlKHN0YXRpc3RpY3NVcmwpKQotICAg
ICAgICAgICAgICAgIHRlc3RGYWlsZWQoIkhvc3QgZGlkIG5vdCBnZXQgc2V0IGFzIHByZXZhbGVu
dCByZXNvdXJjZS4iKTsKLQotICAgICAgICAgICAgdGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNzSGFz
SGFkVXNlckludGVyYWN0aW9uKHN0YXRpc3RpY3NVcmwsIGZhbHNlLCBmdW5jdGlvbigpIHsKLSAg
ICAgICAgICAgICAgICBpZiAodGVzdFJ1bm5lci5pc1N0YXRpc3RpY3NIYXNIYWRVc2VySW50ZXJh
Y3Rpb24oc3RhdGlzdGljc1VybCkpCi0gICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoIkhv
c3QgZGlkIG5vdCBnZXQgY2xlYXJlZCBvZiB1c2VyIGludGVyYWN0aW9uLiIpOwotCi0gICAgICAg
ICAgICAgICAgdGVzdFJ1bm5lci5pbnN0YWxsU3RhdGlzdGljc0RpZE1vZGlmeURhdGFSZWNvcmRz
Q2FsbGJhY2soZnVuY3Rpb24oKSB7Ci0gICAgICAgICAgICAgICAgICAgIHNldFRpbWVvdXQoImZp
bmlzaFRlc3QoKSIsIDEwMDApOwotICAgICAgICAgICAgICAgIH0pOwotICAgICAgICAgICAgICAg
IHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc1Nob3VsZENsYXNzaWZ5UmVzb3VyY2VzQmVmb3JlRGF0
YVJlY29yZHNSZW1vdmFsKGZhbHNlKTsKLSAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLnNldFN0
YXRpc3RpY3NNaW5pbXVtVGltZUJldHdlZW5EYXRhUmVjb3Jkc1JlbW92YWwoMCk7Ci0gICAgICAg
ICAgICAgICAgdGVzdFJ1bm5lci5zdGF0aXN0aWNzUHJvY2Vzc1N0YXRpc3RpY3NBbmREYXRhUmVj
b3JkcygpOwotICAgICAgICAgICAgfSk7Ci0gICAgICAgIH0pOwotICAgIH0KLQotICAgIGlmIChk
b2N1bWVudC5sb2NhdGlvbi5ob3N0ID09PSBob3N0VW5kZXJUZXN0ICYmIHdpbmRvdy50ZXN0UnVu
bmVyICYmIHdpbmRvdy5pbnRlcm5hbHMpIHsKLSAgICAgICAgdGVzdFJ1bm5lci53YWl0VW50aWxE
b25lKCk7Ci0gICAgICAgIHRlc3RSdW5uZXIuc2V0VXNlSVRQRGF0YWJhc2UodHJ1ZSk7Ci0gICAg
ICAgIHNldEVuYWJsZUZlYXR1cmUodHJ1ZSwgZnVuY3Rpb24oKSB7Ci0gICAgICAgICAgICBydW5U
ZXN0UnVubmVyVGVzdCgpOwotICAgICAgICB9KTsKLSAgICB9Ci08L3NjcmlwdD4KLTwvYm9keT4K
LTwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2Fk
U3RhdGlzdGljcy9wcnVuZS1zdGF0aXN0aWNzLWRhdGFiYXNlLWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9wcnVuZS1zdGF0aXN0aWNz
LWRhdGFiYXNlLWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZTc0
NzU3YmM1MjU2MDA1MjFkNDYxNTQ1ZDAzNjdjMGYwNTAxYmVmMy4uMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291
cmNlTG9hZFN0YXRpc3RpY3MvcHJ1bmUtc3RhdGlzdGljcy1kYXRhYmFzZS1leHBlY3RlZC50eHQK
KysrIC9kZXYvbnVsbApAQCAtMSwxNyArMCwwIEBACi1UZXN0cyB0aGF0IHN0YXRpc3RpY3MgYXJl
IHBydW5lZCBpbiB0aGUgcmlnaHQgb3JkZXIuCi0KLU9uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBh
IHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4K
LQotCi1QQVNTIFRlc3QgaXRlcmF0aW9uIDEgcGFzc2VkLgotUEFTUyBUZXN0IGl0ZXJhdGlvbiAy
IHBhc3NlZC4KLVBBU1MgVGVzdCBpdGVyYXRpb24gMyBwYXNzZWQuCi1QQVNTIFRlc3QgaXRlcmF0
aW9uIDQgcGFzc2VkLgotUEFTUyBUZXN0IGl0ZXJhdGlvbiA1IHBhc3NlZC4KLVBBU1MgVGVzdCBp
dGVyYXRpb24gNiBwYXNzZWQuCi1QQVNTIFRlc3QgaXRlcmF0aW9uIDcgcGFzc2VkLgotUEFTUyBU
ZXN0IGl0ZXJhdGlvbiA4IHBhc3NlZC4KLVBBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUK
LQotVEVTVCBDT01QTEVURQotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jl
c291cmNlTG9hZFN0YXRpc3RpY3MvcHJ1bmUtc3RhdGlzdGljcy1kYXRhYmFzZS5odG1sIGIvTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3BydW5lLXN0YXRpc3Rp
Y3MtZGF0YWJhc2UuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMjBiMDY0ZWFi
N2ZmYTMwZmMyZjFmNjI1MTQ4YjkyODcyMDAzMTFkYi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9h
ZFN0YXRpc3RpY3MvcHJ1bmUtc3RhdGlzdGljcy1kYXRhYmFzZS5odG1sCisrKyAvZGV2L251bGwK
QEAgLTEsMTU2ICswLDAgQEAKLTwhRE9DVFlQRSBodG1sPgotPGh0bWw+Ci08aGVhZD4KLSAgICA8
bWV0YSBjaGFyc2V0PSJVVEYtOCI+Ci0gICAgPHRpdGxlPlRlc3QgZm9yIFJlc291cmNlIExvYWQg
U3RhdGlzdGljcyBQcnVuaW5nPC90aXRsZT4KLSAgICA8c2NyaXB0IHNyYz0iL2pzLXRlc3QtcmVz
b3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgotICAgIDxzY3JpcHQgc3JjPSJyZXNvdXJjZXMv
dXRpbC5qcyI+PC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keT4KLTxzY3JpcHQ+Ci0gICAgZGVzY3Jp
cHRpb24oIlRlc3RzIHRoYXQgc3RhdGlzdGljcyBhcmUgcHJ1bmVkIGluIHRoZSByaWdodCBvcmRl
ci4iKTsKLSAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKLQotICAgIGNvbnN0IG9sZGVyVGltZXN0
YW1wID0gTWF0aC5yb3VuZCgobmV3IERhdGUoKSkuZ2V0VGltZSgpIC8gMTAwMCk7Ci0gICAgY29u
c3QgbmV3ZXJUaW1lc3RhbXAgPSBvbGRlclRpbWVzdGFtcCArIDEwOwotICAgIGNvbnN0IG5ld2Vz
dFRpbWVzdGFtcCA9IG5ld2VyVGltZXN0YW1wICsgMTA7Ci0KLSAgICBjb25zdCB1cmxzVG9CZVBy
dW5lZCA9IFsKLSAgICAgICAgeyB1cmw6ICJodHRwOi8vMTI3LjAuMC4xOjgwMDAvdGVtcCIsIHBy
ZXZhbGVudDogZmFsc2UgfSwKLSAgICAgICAgeyB1cmw6ICJodHRwOi8vMTI3LjAuMC4yOjgwMDAv
dGVtcCIsIHByZXZhbGVudDogZmFsc2UgfSwKLSAgICAgICAgeyB1cmw6ICJodHRwOi8vMTI3LjAu
MC4zOjgwMDAvdGVtcCIsIHByZXZhbGVudDogdHJ1ZSB9LAotICAgICAgICB7IHVybDogImh0dHA6
Ly8xMjcuMC4wLjQ6ODAwMC90ZW1wIiwgcHJldmFsZW50OiB0cnVlIH0sCi0gICAgICAgIHsgdXJs
OiAiaHR0cDovLzEyNy4wLjAuNTo4MDAwL3RlbXAiLCBwcmV2YWxlbnQ6IGZhbHNlIH0sCi0gICAg
ICAgIHsgdXJsOiAiaHR0cDovLzEyNy4wLjAuNjo4MDAwL3RlbXAiLCBwcmV2YWxlbnQ6IGZhbHNl
IH0sCi0gICAgICAgIHsgdXJsOiAiaHR0cDovLzEyNy4wLjAuNzo4MDAwL3RlbXAiLCBwcmV2YWxl
bnQ6IHRydWUgfSwKLSAgICAgICAgeyB1cmw6ICJodHRwOi8vMTI3LjAuMC44OjgwMDAvdGVtcCIs
IHByZXZhbGVudDogdHJ1ZSB9Ci0gICAgXTsKLQotICAgIGZ1bmN0aW9uIGNoZWNrSWZQcmV2YWxl
bnRBY2NvcmRpbmdUb0luaXRpYWxFeHBlY3RhdGlvbihiZWdpbiwgZW5kKSB7Ci0gICAgICAgIHZh
ciBmYWlsZWQgPSBmYWxzZTsKLSAgICAgICAgZm9yICh2YXIgaSA9IGJlZ2luOyBpIDwgZW5kOyAr
K2kpIHsKLSAgICAgICAgICAgIGlmICh0ZXN0UnVubmVyLmlzU3RhdGlzdGljc1ByZXZhbGVudFJl
c291cmNlKHVybHNUb0JlUHJ1bmVkW2ldLnVybCkgIT09IHVybHNUb0JlUHJ1bmVkW2ldLnByZXZh
bGVudCkgewotICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoImNoZWNrSWZQcmV2YWxlbnRBY2Nv
cmRpbmdUb0luaXRpYWxFeHBlY3RhdGlvbjogVGVzdCBpdGVyYXRpb24gIiArIGN1cnJlbnRUZXN0
ICsgIiBmYWlsZWQuICIgKyB1cmxzVG9CZVBydW5lZFtpXS51cmwgKyAodXJsc1RvQmVQcnVuZWRb
aV0ucHJldmFsZW50ID8gIiB3YXNuJ3QgIiA6ICIgd2FzICIpICsgInByZXZhbGVudCIpOwotICAg
ICAgICAgICAgICAgIGZhaWxlZCA9IHRydWU7Ci0gICAgICAgICAgICB9Ci0gICAgICAgIH0KLSAg
ICAgICAgaWYgKGZhaWxlZCkKLSAgICAgICAgICAgIHNldEVuYWJsZUZlYXR1cmUoZmFsc2UsIGZp
bmlzaEpTVGVzdCk7Ci0gICAgfQotCi0gICAgZnVuY3Rpb24gY2hlY2tJZlByZXZhbGVudChiZWdp
biwgZW5kLCBleHBlY3RlZCkgewotICAgICAgICB2YXIgZmFpbGVkID0gZmFsc2U7Ci0gICAgICAg
IGZvciAodmFyIGkgPSBiZWdpbjsgaSA8IGVuZDsgKytpKSB7Ci0gICAgICAgICAgICBpZiAodGVz
dFJ1bm5lci5pc1N0YXRpc3RpY3NQcmV2YWxlbnRSZXNvdXJjZSh1cmxzVG9CZVBydW5lZFtpXS51
cmwpICE9PSBleHBlY3RlZCkgewotICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoImNoZWNrSWZQ
cmV2YWxlbnQ6IFRlc3QgaXRlcmF0aW9uICIgKyBjdXJyZW50VGVzdCArICIgZmFpbGVkLiAiICsg
dXJsc1RvQmVQcnVuZWRbaV0udXJsICsgKGV4cGVjdGVkID8gIiB3YXNuJ3QgIiA6ICIgd2FzICIp
ICsgInByZXZhbGVudCIpOwotICAgICAgICAgICAgICAgIGZhaWxlZCA9IHRydWU7Ci0gICAgICAg
ICAgICB9Ci0gICAgICAgIH0KLSAgICAgICAgaWYgKGZhaWxlZCkKLSAgICAgICAgICAgIHNldEVu
YWJsZUZlYXR1cmUoZmFsc2UsIGZpbmlzaEpTVGVzdCk7Ci0gICAgfQotCi0gICAgZnVuY3Rpb24g
aW5pdGlhbGl6ZVN0YXRpc3RpY3NBbmRSdW5UZXN0cyhzdGVwKSB7Ci0gICAgICAgIHN3aXRjaCAo
c3RlcCkgewotICAgICAgICAgICAgLy8gTm9uLXByZXZhbGVudCB3aXRob3V0IHVzZXIgaW50ZXJh
Y3Rpb24gdG8gYmUgcHJ1bmVkIGZpcnN0LgotICAgICAgICAgICAgY2FzZSAxOgotICAgICAgICAg
ICAgICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc0xhc3RTZWVuKHVybHNUb0JlUHJ1bmVkWzBd
LnVybCwgb2xkZXJUaW1lc3RhbXAsIGZ1bmN0aW9uKCkgeyBpbml0aWFsaXplU3RhdGlzdGljc0Fu
ZFJ1blRlc3RzKDIpOyB9KTsKLSAgICAgICAgICAgICAgICBicmVhazsKLSAgICAgICAgICAgIGNh
c2UgMjoKLSAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NMYXN0U2Vlbih1
cmxzVG9CZVBydW5lZFsxXS51cmwsIG5ld2VyVGltZXN0YW1wLCBmdW5jdGlvbigpIHsgaW5pdGlh
bGl6ZVN0YXRpc3RpY3NBbmRSdW5UZXN0cygzKTsgfSk7Ci0gICAgICAgICAgICAgICAgYnJlYWs7
Ci0gICAgICAgICAgICAvLyBQcmV2YWxlbnQgd2l0aG91dCB1c2VyIGludGVyYWN0aW9uIHRvIGJl
IHBydW5lZCBzZWNvbmQuCi0gICAgICAgICAgICBjYXNlIDM6Ci0gICAgICAgICAgICAgICAgdGVz
dFJ1bm5lci5zZXRTdGF0aXN0aWNzUHJldmFsZW50UmVzb3VyY2UodXJsc1RvQmVQcnVuZWRbMl0u
dXJsLCB0cnVlLCBmdW5jdGlvbigpIHsgaW5pdGlhbGl6ZVN0YXRpc3RpY3NBbmRSdW5UZXN0cyg0
KTsgfSk7Ci0gICAgICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgICAgICBjYXNlIDQ6Ci0gICAg
ICAgICAgICAgICAgdGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNzTGFzdFNlZW4odXJsc1RvQmVQcnVu
ZWRbMl0udXJsLCBvbGRlclRpbWVzdGFtcCwgZnVuY3Rpb24oKSB7IGluaXRpYWxpemVTdGF0aXN0
aWNzQW5kUnVuVGVzdHMoNSk7IH0pOwotICAgICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICAg
ICAgY2FzZSA1OgotICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc1ByZXZh
bGVudFJlc291cmNlKHVybHNUb0JlUHJ1bmVkWzNdLnVybCwgdHJ1ZSwgZnVuY3Rpb24oKSB7IGlu
aXRpYWxpemVTdGF0aXN0aWNzQW5kUnVuVGVzdHMoNik7IH0pOwotICAgICAgICAgICAgICAgIGJy
ZWFrOwotICAgICAgICAgICAgY2FzZSA2OgotICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIuc2V0
U3RhdGlzdGljc0xhc3RTZWVuKHVybHNUb0JlUHJ1bmVkWzNdLnVybCwgbmV3ZXJUaW1lc3RhbXAs
IGZ1bmN0aW9uKCkgeyBpbml0aWFsaXplU3RhdGlzdGljc0FuZFJ1blRlc3RzKDcpOyB9KTsKLSAg
ICAgICAgICAgICAgICBicmVhazsKLSAgICAgICAgICAgIC8vIE5vbi1wcmV2YWxlbnQgd2l0aCB1
c2VyIGludGVyYWN0aW9uIHRvIGJlIHBydW5lZCB0aGlyZC4KLSAgICAgICAgICAgIGNhc2UgNzoK
LSAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NIYXNIYWRVc2VySW50ZXJh
Y3Rpb24odXJsc1RvQmVQcnVuZWRbNF0udXJsLCB0cnVlLCBmdW5jdGlvbigpIHsgaW5pdGlhbGl6
ZVN0YXRpc3RpY3NBbmRSdW5UZXN0cyg4KTsgfSk7Ci0gICAgICAgICAgICAgICAgYnJlYWs7Ci0g
ICAgICAgICAgICBjYXNlIDg6Ci0gICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5zZXRTdGF0aXN0
aWNzTGFzdFNlZW4odXJsc1RvQmVQcnVuZWRbNF0udXJsLCBvbGRlclRpbWVzdGFtcCwgZnVuY3Rp
b24oKSB7IGluaXRpYWxpemVTdGF0aXN0aWNzQW5kUnVuVGVzdHMoOSk7IH0pOwotICAgICAgICAg
ICAgICAgIGJyZWFrOwotICAgICAgICAgICAgY2FzZSA5OgotICAgICAgICAgICAgICAgIHRlc3RS
dW5uZXIuc2V0U3RhdGlzdGljc0hhc0hhZFVzZXJJbnRlcmFjdGlvbih1cmxzVG9CZVBydW5lZFs1
XS51cmwsIHRydWUsIGZ1bmN0aW9uKCkgeyBpbml0aWFsaXplU3RhdGlzdGljc0FuZFJ1blRlc3Rz
KDEwKTsgfSk7Ci0gICAgICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgICAgICBjYXNlIDEwOgot
ICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc0xhc3RTZWVuKHVybHNUb0Jl
UHJ1bmVkWzVdLnVybCwgbmV3ZXJUaW1lc3RhbXAsIGZ1bmN0aW9uKCkgeyBpbml0aWFsaXplU3Rh
dGlzdGljc0FuZFJ1blRlc3RzKDExKTsgfSk7Ci0gICAgICAgICAgICAgICAgYnJlYWs7Ci0gICAg
ICAgICAgICAvLyBQcmV2YWxlbnQgd2l0aCB1c2VyIGludGVyYWN0aW9uIHRvIGJlIHBydW5lZCBs
YXN0LgotICAgICAgICAgICAgY2FzZSAxMToKLSAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLnNl
dFN0YXRpc3RpY3NQcmV2YWxlbnRSZXNvdXJjZSh1cmxzVG9CZVBydW5lZFs2XS51cmwsIHRydWUs
IGZ1bmN0aW9uKCkgeyBpbml0aWFsaXplU3RhdGlzdGljc0FuZFJ1blRlc3RzKDEyKTsgfSk7Ci0g
ICAgICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgICAgICBjYXNlIDEyOgotICAgICAgICAgICAg
ICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc0hhc0hhZFVzZXJJbnRlcmFjdGlvbih1cmxzVG9C
ZVBydW5lZFs2XS51cmwsIHRydWUsIGZ1bmN0aW9uKCkgeyBpbml0aWFsaXplU3RhdGlzdGljc0Fu
ZFJ1blRlc3RzKDEzKTsgfSk7Ci0gICAgICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgICAgICBj
YXNlIDEzOgotICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc0xhc3RTZWVu
KHVybHNUb0JlUHJ1bmVkWzZdLnVybCwgb2xkZXJUaW1lc3RhbXAsIGZ1bmN0aW9uKCkgeyBpbml0
aWFsaXplU3RhdGlzdGljc0FuZFJ1blRlc3RzKDE0KTsgfSk7Ci0gICAgICAgICAgICAgICAgYnJl
YWs7Ci0gICAgICAgICAgICBjYXNlIDE0OgotICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIuc2V0
U3RhdGlzdGljc1ByZXZhbGVudFJlc291cmNlKHVybHNUb0JlUHJ1bmVkWzddLnVybCwgdHJ1ZSwg
ZnVuY3Rpb24oKSB7IGluaXRpYWxpemVTdGF0aXN0aWNzQW5kUnVuVGVzdHMoMTUpOyB9KTsKLSAg
ICAgICAgICAgICAgICBicmVhazsKLSAgICAgICAgICAgIGNhc2UgMTU6Ci0gICAgICAgICAgICAg
ICAgdGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNzSGFzSGFkVXNlckludGVyYWN0aW9uKHVybHNUb0Jl
UHJ1bmVkWzddLnVybCwgdHJ1ZSwgZnVuY3Rpb24oKSB7IGluaXRpYWxpemVTdGF0aXN0aWNzQW5k
UnVuVGVzdHMoMTYpOyB9KTsKLSAgICAgICAgICAgICAgICBicmVhazsKLSAgICAgICAgICAgIGNh
c2UgMTY6Ci0gICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNzTGFzdFNlZW4o
dXJsc1RvQmVQcnVuZWRbN10udXJsLCBuZXdlclRpbWVzdGFtcCwgZnVuY3Rpb24oKSB7IGluaXRp
YWxpemVTdGF0aXN0aWNzQW5kUnVuVGVzdHMoMTcpOyB9KTsKLSAgICAgICAgICAgICAgICBicmVh
azsKLSAgICAgICAgICAgIGNhc2UgMTc6Ci0gICAgICAgICAgICAgICAgY2hlY2tJZlByZXZhbGVu
dEFjY29yZGluZ1RvSW5pdGlhbEV4cGVjdGF0aW9uKDAsIHVybHNUb0JlUHJ1bmVkLmxlbmd0aCk7
Ci0gICAgICAgICAgICAgICAgcnVuVGVzdCgpOwotICAgICAgICAgICAgICAgIGJyZWFrOwotICAg
ICAgICB9Ci0gICAgfQotCi0gICAgdmFyIGN1cnJlbnRUZXN0OwotICAgIGZ1bmN0aW9uIGNoZWNr
U3RhdGlzdGljc0FmdGVyUHJ1bmluZygpIHsKLSAgICAgICAgLy8gUHJ1bmVkIGVudHJpZXMgc2hv
dWxkIG5vdCBiZSBwcmV2YWxlbnQuCi0gICAgICAgIGNoZWNrSWZQcmV2YWxlbnQoMCwgY3VycmVu
dFRlc3QsIGZhbHNlKTsKLSAgICAgICAgLy8gTm9uLXBydW5lZCBlbnRyaWVzIHNob3VsZCBrZWVw
IHRoZWlyIGV4cGVjdGVkIHN0YXR1cy4KLSAgICAgICAgY2hlY2tJZlByZXZhbGVudEFjY29yZGlu
Z1RvSW5pdGlhbEV4cGVjdGF0aW9uKGN1cnJlbnRUZXN0LCB1cmxzVG9CZVBydW5lZC5sZW5ndGgp
OwotICAgICAgICB0ZXN0UGFzc2VkKCJUZXN0IGl0ZXJhdGlvbiAiICsgY3VycmVudFRlc3QgKyAi
IHBhc3NlZC4iKTsKLSAgICAgICAgaWYgKGN1cnJlbnRUZXN0IDwgdXJsc1RvQmVQcnVuZWQubGVu
Z3RoKSB7Ci0gICAgICAgICAgICArK2N1cnJlbnRUZXN0OwotICAgICAgICAgICAgdGVzdFJ1bm5l
ci5pbnN0YWxsU3RhdGlzdGljc0RpZFNjYW5EYXRhUmVjb3Jkc0NhbGxiYWNrKGNoZWNrU3RhdGlz
dGljc0FmdGVyUHJ1bmluZyk7Ci0gICAgICAgICAgICBpbml0aWFsaXplU3RhdGlzdGljc0FuZFJ1
blRlc3RzKDEpOwotICAgICAgICB9IGVsc2UKLSAgICAgICAgICAgIHNldEVuYWJsZUZlYXR1cmUo
ZmFsc2UsIGZpbmlzaEpTVGVzdCk7Ci0gICAgfQotCi0gICAgbGV0IGZpbGxlclVybDsKLSAgICBm
dW5jdGlvbiBydW5UZXN0KCkgewotICAgICAgICBmaWxsZXJVcmwgPSAiaHR0cDovLzEyNy4wLiIg
KyBjdXJyZW50VGVzdCArICIuMTo4MDAwL3RlbXAiOwotICAgICAgICB0ZXN0UnVubmVyLnNldFN0
YXRpc3RpY3NQcmV2YWxlbnRSZXNvdXJjZShmaWxsZXJVcmwsIHRydWUsIGZ1bmN0aW9uKCkgewot
ICAgICAgICAgICAgdGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNzSGFzSGFkVXNlckludGVyYWN0aW9u
KGZpbGxlclVybCwgdHJ1ZSwgZnVuY3Rpb24oKSB7Ci0gICAgICAgICAgICAgICAgdGVzdFJ1bm5l
ci5zZXRTdGF0aXN0aWNzTGFzdFNlZW4oZmlsbGVyVXJsLCBuZXdlc3RUaW1lc3RhbXAsIGZ1bmN0
aW9uKCkgewotICAgICAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLnN0YXRpc3RpY3NQcm9jZXNz
U3RhdGlzdGljc0FuZERhdGFSZWNvcmRzKCk7Ci0gICAgICAgICAgICAgICAgfSk7Ci0gICAgICAg
ICAgICB9KTsKLSAgICAgICAgfSk7Ci0gICAgfQotCi0gICAgaWYgKHdpbmRvdy50ZXN0UnVubmVy
KSB7Ci0gICAgICAgIHRlc3RSdW5uZXIuc2V0VXNlSVRQRGF0YWJhc2UodHJ1ZSk7Ci0gICAgICAg
IHNldEVuYWJsZUZlYXR1cmUodHJ1ZSwgZnVuY3Rpb24gKCkgewotICAgICAgICAgICAgdGVzdFJ1
bm5lci5zZXRTdGF0aXN0aWNzU2hvdWxkQ2xhc3NpZnlSZXNvdXJjZXNCZWZvcmVEYXRhUmVjb3Jk
c1JlbW92YWwoZmFsc2UpOwotICAgICAgICAgICAgdGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNzTWlu
aW11bVRpbWVCZXR3ZWVuRGF0YVJlY29yZHNSZW1vdmFsKDApOwotICAgICAgICAgICAgdGVzdFJ1
bm5lci5zZXRTdGF0aXN0aWNzTWF4U3RhdGlzdGljc0VudHJpZXModXJsc1RvQmVQcnVuZWQubGVu
Z3RoKTsKLSAgICAgICAgICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc1BydW5lRW50cmllc0Rv
d25Ubyh1cmxzVG9CZVBydW5lZC5sZW5ndGgpOwotCi0gICAgICAgICAgICBjdXJyZW50VGVzdCA9
IDE7Ci0gICAgICAgICAgICB0ZXN0UnVubmVyLmluc3RhbGxTdGF0aXN0aWNzRGlkU2NhbkRhdGFS
ZWNvcmRzQ2FsbGJhY2soY2hlY2tTdGF0aXN0aWNzQWZ0ZXJQcnVuaW5nKTsKLSAgICAgICAgICAg
IGluaXRpYWxpemVTdGF0aXN0aWNzQW5kUnVuVGVzdHMoMSk7Ci0gICAgICAgIH0pOwotICAgIH0K
LTwvc2NyaXB0PgotPC9ib2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3JlbW92ZS13ZWJzaXRlLWRhdGEtZm9yLW9y
aWdpbi1kZWxldGVzLWxpbmstZGVjb3JhdGlvbi1kYXRhYmFzZS1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvcmVtb3ZlLXdlYnNpdGUt
ZGF0YS1mb3Itb3JpZ2luLWRlbGV0ZXMtbGluay1kZWNvcmF0aW9uLWRhdGFiYXNlLWV4cGVjdGVk
LnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYzkzZTg2NzIxNzI0MmMyYjY5OWU3
Y2I5OTU3NDgxZGI1NDAxNDYxNS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3Mv
cmVtb3ZlLXdlYnNpdGUtZGF0YS1mb3Itb3JpZ2luLWRlbGV0ZXMtbGluay1kZWNvcmF0aW9uLWRh
dGFiYXNlLWV4cGVjdGVkLnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDUgKzAsMCBAQAotUEFTUyBz
dWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQotCi1URVNUIENPTVBMRVRFCi1QQVNTIERvbWFpbiBJ
RCB3YXMgc3VjY2Vzc2Z1bGx5IGRlbGV0ZWQgZnJvbSB0aGUgZGF0YWJhc2UuCi0KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9yZW1vdmUt
d2Vic2l0ZS1kYXRhLWZvci1vcmlnaW4tZGVsZXRlcy1saW5rLWRlY29yYXRpb24tZGF0YWJhc2Uu
aHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9yZW1v
dmUtd2Vic2l0ZS1kYXRhLWZvci1vcmlnaW4tZGVsZXRlcy1saW5rLWRlY29yYXRpb24tZGF0YWJh
c2UuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZDY5YmEzNjExNDMzNWUyYTk4
ZTY0OWM2YTI2ZTYwMmZiMjI2YzY3Ni4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3Rp
Y3MvcmVtb3ZlLXdlYnNpdGUtZGF0YS1mb3Itb3JpZ2luLWRlbGV0ZXMtbGluay1kZWNvcmF0aW9u
LWRhdGFiYXNlLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSw1MiArMCwwIEBACi08IURPQ1RZUEUg
aHRtbD4KLTxodG1sPgotPGhlYWQ+Ci0gICAgPHNjcmlwdCBzcmM9Ii9qcy10ZXN0LXJlc291cmNl
cy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KLSAgICA8c2NyaXB0IHNyYz0icmVzb3VyY2VzL3V0aWwu
anMiPjwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHkgb25sb2FkPSJzZXRUaW1lb3V0KCdydW5UZXN0
KCknLCAwKSI+Ci08ZGl2IGlkPSJvdXRwdXQiPjwvZGl2PgotPHNjcmlwdD4KLSAgICBpZiAod2lu
ZG93LnRlc3RSdW5uZXIpIHsKLSAgICAgICAgdGVzdFJ1bm5lci5zZXRVc2VJVFBEYXRhYmFzZSh0
cnVlKTsKLSAgICAgICAgdGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7Ci0gICAgICAgIHRlc3RS
dW5uZXIuZHVtcEFzVGV4dCgpOwotICAgIH0KLQotICAgIGZ1bmN0aW9uIG5hdmlnYXRlQ3Jvc3NP
cmlnaW4oKSB7Ci0gICAgICAgIGRvY3VtZW50LmxvY2F0aW9uLmhyZWYgPSBkZXN0aW5hdGlvbk9y
aWdpbiArICIvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9yZW1vdmUtd2Vic2l0ZS1kYXRhLWZvci1v
cmlnaW4tZGVsZXRlcy1saW5rLWRlY29yYXRpb24tZGF0YWJhc2UuaHRtbD9saW5rPWRlY29yYXRp
b24iOwotICAgIH0KLQotICAgIGNvbnN0IGhvc3QgPSAibG9jYWxob3N0IjsKLSAgICBjb25zdCBk
ZXN0aW5hdGlvbk9yaWdpbiA9ICJodHRwOi8vbG9jYWxob3N0OjgwMDAiOwotICAgIGNvbnN0IHBy
ZXZhbGVudFJlc291cmNlT3JpZ2luID0gImh0dHA6Ly8xMjcuMC4wLjE6ODAwMCI7Ci0gICAgY29u
c3QgdGVzdE9yaWdpbiA9ICJodHRwOi8vMTI3LjAuMC4yOjgwMDAiOwotICAgIGZ1bmN0aW9uIHJ1
blRlc3QoKSB7Ci0gICAgICAgIGlmIChkb2N1bWVudC5sb2NhdGlvbi5vcmlnaW4gPT09IHByZXZh
bGVudFJlc291cmNlT3JpZ2luKSB7Ci0gICAgICAgICAgICBzZXRFbmFibGVGZWF0dXJlKHRydWUs
IGZ1bmN0aW9uICgpIHsKLSAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NQ
cmV2YWxlbnRSZXNvdXJjZShwcmV2YWxlbnRSZXNvdXJjZU9yaWdpbiwgdHJ1ZSwgZnVuY3Rpb24o
KSB7Ci0gICAgICAgICAgICAgICAgICAgIGlmICghdGVzdFJ1bm5lci5pc1N0YXRpc3RpY3NQcmV2
YWxlbnRSZXNvdXJjZShwcmV2YWxlbnRSZXNvdXJjZU9yaWdpbikpCi0gICAgICAgICAgICAgICAg
ICAgICAgICB0ZXN0RmFpbGVkKCJIb3N0IGRpZCBub3QgZ2V0IHNldCBhcyBwcmV2YWxlbnQgcmVz
b3VyY2UuIik7Ci0gICAgICAgICAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLnNldFN0YXRpc3Rp
Y3NDcm9zc1NpdGVMb2FkV2l0aExpbmtEZWNvcmF0aW9uKHRlc3RPcmlnaW4sIGRlc3RpbmF0aW9u
T3JpZ2luKTsKLSAgICAgICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5zdGF0aXN0aWNzVXBkYXRl
Q29va2llQmxvY2tpbmcobmF2aWdhdGVDcm9zc09yaWdpbik7Ci0gICAgICAgICAgICAgICAgfSk7
Ci0KLSAgICAgICAgICAgIH0pOwotICAgICAgICB9IGVsc2UgewotICAgICAgICAgICAgdGVzdFJ1
bm5lci5jbGVhclN0YXRpc3RpY3NEYXRhRm9yRG9tYWluKGhvc3QpOwotICAgICAgICAgICAgLy8g
TXVzdCB1c2UgZG9tYWluSUQgdG8gZW5zdXJlIHRoaXMgd2FzIHByb3Blcmx5Ci0gICAgICAgICAg
ICAvLyBkZWxldGVkLCBvdGhlcndpc2UgdGhlIGxhY2sgb2YgcmVnaXN0cmFibGUgZG9tYWluIC0t
PiBkb21haW5JRCBtYXBwaW5nCi0gICAgICAgICAgICAvLyBjb3VsZCBjcmVhdGUgYSBmYWxzZS1w
b3NpdGl2ZSB0ZXN0IHJlc3VsdCBldmVuIHdoZW4gdGhlIGRvbWFpbklEIHBlcnNpc3RzLgotICAg
ICAgICAgICAgaWYgKHRlc3RSdW5uZXIuZG9lc1N0YXRpc3RpY3NEb21haW5JREV4aXN0SW5EYXRh
YmFzZSgyKSkKLSAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKCJEb21haW4gSUQgd2FzIG5vdCBk
ZWxldGVkIGZyb20gdGhlIGRhdGFiYXNlLiIpOwotICAgICAgICAgICAgZWxzZQotICAgICAgICAg
ICAgICAgIHRlc3RQYXNzZWQoIkRvbWFpbiBJRCB3YXMgc3VjY2Vzc2Z1bGx5IGRlbGV0ZWQgZnJv
bSB0aGUgZGF0YWJhc2UuIikKLQotICAgICAgICAgICAgc2V0RW5hYmxlRmVhdHVyZShmYWxzZSwg
ZnVuY3Rpb24gKCkgewotICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIubm90aWZ5RG9uZSgpOwot
ICAgICAgICAgICAgfSk7Ci0gICAgICAgIH0KLSAgICB9Ci08L3NjcmlwdD4KLTwvYm9keT4KLTwv
aHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3Rh
dGlzdGljcy9yZW1vdmUtd2Vic2l0ZS1kYXRhLWZvci1vcmlnaW4tZGVsZXRlcy1saW5rLWRlY29y
YXRpb24tZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRT
dGF0aXN0aWNzL3JlbW92ZS13ZWJzaXRlLWRhdGEtZm9yLW9yaWdpbi1kZWxldGVzLWxpbmstZGVj
b3JhdGlvbi1leHBlY3RlZC50eHQKaW5kZXggNDg4ODEwODI3OTEwYjY1ZjljYmNkMWJjZTJhZmE1
MWFmYjZmNjE4OS4uZGM5M2NhMjQ2MzQwMDIzYjIyNjA0ODVlNzFmYjk0NmRkZjczODEzYiAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3Jl
bW92ZS13ZWJzaXRlLWRhdGEtZm9yLW9yaWdpbi1kZWxldGVzLWxpbmstZGVjb3JhdGlvbi1leHBl
Y3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0
aWNzL3JlbW92ZS13ZWJzaXRlLWRhdGEtZm9yLW9yaWdpbi1kZWxldGVzLWxpbmstZGVjb3JhdGlv
bi1leHBlY3RlZC50eHQKQEAgLTUsOSArNSw3IEBAIFJlZ2lzdHJhYmxlIGRvbWFpbjogMTI3LjAu
MC4xCiAgICAgaGFkVXNlckludGVyYWN0aW9uOiBObwogICAgIG1vc3RSZWNlbnRVc2VySW50ZXJh
Y3Rpb246IC0xCiAgICAgZ3JhbmRmYXRoZXJlZDogTm8KLSAgICBnb3RMaW5rRGVjb3JhdGlvbkZy
b21QcmV2YWxlbnRSZXNvdXJjZTogTm8KKyAgICBJc1NjaGVkdWxlZEZvckFsbEJ1dENvb2tpZURh
dGFSZW1vdmFsOiBObwogICAgIGlzUHJldmFsZW50UmVzb3VyY2U6IFllcwogICAgIGlzVmVyeVBy
ZXZhbGVudFJlc291cmNlOiBObwogICAgIGRhdGFSZWNvcmRzUmVtb3ZlZDogMAotICAgIGNhbnZh
c1JlYWREYXRhOiBObwotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291
cmNlTG9hZFN0YXRpc3RpY3MvcmVtb3ZlLXdlYnNpdGUtZGF0YS1mb3Itb3JpZ2luLWRlbGV0ZXMt
bWl4ZWQtc3RhdGlzdGljcy1lbnRyaWVzLWRhdGFiYXNlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9yZW1vdmUtd2Vic2l0ZS1kYXRh
LWZvci1vcmlnaW4tZGVsZXRlcy1taXhlZC1zdGF0aXN0aWNzLWVudHJpZXMtZGF0YWJhc2UtZXhw
ZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBmMjg3MmNkOWQ3YTA4ZTAz
NjFiMzI2YWI5MjAxZDVhZjczODEwYmVmLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlz
dGljcy9yZW1vdmUtd2Vic2l0ZS1kYXRhLWZvci1vcmlnaW4tZGVsZXRlcy1taXhlZC1zdGF0aXN0
aWNzLWVudHJpZXMtZGF0YWJhc2UtZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEsNSAr
MCwwIEBACi1QQVNTIERvbWFpbiBJRCB3YXMgc3VjY2Vzc2Z1bGx5IGRlbGV0ZWQgZnJvbSB0aGUg
ZGF0YWJhc2UuCi1QQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCi0KLVRFU1QgQ09NUExF
VEUKLQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0
aXN0aWNzL3JlbW92ZS13ZWJzaXRlLWRhdGEtZm9yLW9yaWdpbi1kZWxldGVzLW1peGVkLXN0YXRp
c3RpY3MtZW50cmllcy1kYXRhYmFzZS5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNv
dXJjZUxvYWRTdGF0aXN0aWNzL3JlbW92ZS13ZWJzaXRlLWRhdGEtZm9yLW9yaWdpbi1kZWxldGVz
LW1peGVkLXN0YXRpc3RpY3MtZW50cmllcy1kYXRhYmFzZS5odG1sCmRlbGV0ZWQgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCBmNzM2ODJlYzZmYTU5Nzg5NGU1ODg1MzhkZjRkYWYyYzY3YzgyZTM0Li4w
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3Rz
L2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9yZW1vdmUtd2Vic2l0ZS1kYXRhLWZv
ci1vcmlnaW4tZGVsZXRlcy1taXhlZC1zdGF0aXN0aWNzLWVudHJpZXMtZGF0YWJhc2UuaHRtbAor
KysgL2Rldi9udWxsCkBAIC0xLDU1ICswLDAgQEAKLTwhRE9DVFlQRSBodG1sPgotPGh0bWwgbGFu
Zz0iZW4iPgotPGhlYWQ+Ci0gICAgPG1ldGEgY2hhcnNldD0iVVRGLTgiPgotICAgIDx0aXRsZT5U
ZXN0cyB0aGF0IHJlbW92YWwgb2Ygd2Vic2l0ZSBkYXRhIGRlbGV0ZXMgSVRQIGRhdGE8L3RpdGxl
PgotICAgIDxzY3JpcHQgc3JjPSIvanMtdGVzdC1yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3Jp
cHQ+Ci0gICAgPHNjcmlwdCBzcmM9InJlc291cmNlcy91dGlsLmpzIj48L3NjcmlwdD4KLTwvaGVh
ZD4KLTxib2R5PgotPHNjcmlwdD4KLSAgICBjb25zdCBob3N0VW5kZXJUZXN0ID0gIjEyNy4wLjAu
MSI7Ci0gICAgY29uc3Qgc3RhdGlzdGljc1VybCA9ICJodHRwOi8vIiArIGhvc3RVbmRlclRlc3Qg
KyAiL3RlbXAiOwotICAgIGNvbnN0IHRvcEZyYW1lT3JpZ2luMSA9ICJodHRwOi8vMTI3LjAuMC4y
OjgwMDAvdGVtcCI7Ci0gICAgY29uc3QgdG9wRnJhbWVPcmlnaW4yID0gImh0dHA6Ly8xMjcuMC4w
LjM6ODAwMC90ZW1wIjsKLSAgICBjb25zdCB0b3BGcmFtZU9yaWdpbjMgPSAiaHR0cDovLzEyNy4w
LjAuNDo4MDAwL3RlbXAiOwotICAgIGNvbnN0IHRvcEZyYW1lT3JpZ2luNCA9ICJodHRwOi8vMTI3
LjAuMC41OjgwMDAvdGVtcCI7Ci0KLSAgICBmdW5jdGlvbiBjb21wbGV0ZVRlc3QoKSB7Ci0gICAg
ICAgIHRlc3RSdW5uZXIuY2xlYXJTdGF0aXN0aWNzRGF0YUZvckRvbWFpbihob3N0VW5kZXJUZXN0
KTsKLSAgICAgICAgLy8gTXVzdCB1c2UgZG9tYWluSUQgdG8gZW5zdXJlIHRoaXMgd2FzIHByb3Bl
cmx5Ci0gICAgICAgIC8vIGRlbGV0ZWQsIG90aGVyd2lzZSB0aGUgbGFjayBvZiByZWdpc3RyYWJs
ZSBkb21haW4gLS0+IGRvbWFpbklEIG1hcHBpbmcKLSAgICAgICAgLy8gY291bGQgY3JlYXRlIGEg
ZmFsc2UtcG9zaXRpdmUgdGVzdCByZXN1bHQgZXZlbiB3aGVuIHRoZSBkb21haW5JRCBwZXJzaXN0
cy4KLSAgICAgICAgaWYgKHRlc3RSdW5uZXIuZG9lc1N0YXRpc3RpY3NEb21haW5JREV4aXN0SW5E
YXRhYmFzZSgxKSkKLSAgICAgICAgICAgIHRlc3RGYWlsZWQoIkRvbWFpbiBJRCB3YXMgbm90IGRl
bGV0ZWQgZnJvbSB0aGUgZGF0YWJhc2UuIik7Ci0gICAgICAgIGVsc2UKLSAgICAgICAgICAgIHRl
c3RQYXNzZWQoIkRvbWFpbiBJRCB3YXMgc3VjY2Vzc2Z1bGx5IGRlbGV0ZWQgZnJvbSB0aGUgZGF0
YWJhc2UuIikKLSAgICAgICAgc2V0RW5hYmxlRmVhdHVyZShmYWxzZSwgZnVuY3Rpb24oKSB7Ci0g
ICAgICAgICAgICB0ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsKLSAgICAgICAgfSk7Ci0gICAgfQot
Ci0gICAgZnVuY3Rpb24gcnVuVGVzdFJ1bm5lclRlc3QoKSB7Ci0gICAgICAgIC8vIENyZWF0ZSBl
bnRyaWVzIGluIG11bHRpcGxlIGRhdGFiYXNlIHRhYmxlcyB3aXRoIHRoZSBob3N0VW5kZXJUZXN0
LgotICAgICAgICB0ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NTdWJmcmFtZVVuZGVyVG9wRnJhbWVP
cmlnaW4oc3RhdGlzdGljc1VybCwgdG9wRnJhbWVPcmlnaW4xKTsKLSAgICAgICAgdGVzdFJ1bm5l
ci5zZXRTdGF0aXN0aWNzU3VicmVzb3VyY2VVbmRlclRvcEZyYW1lT3JpZ2luKHRvcEZyYW1lT3Jp
Z2luMiwgc3RhdGlzdGljc1VybCk7Ci0gICAgICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc1N1
YnJlc291cmNlVW5kZXJUb3BGcmFtZU9yaWdpbihzdGF0aXN0aWNzVXJsLCB0b3BGcmFtZU9yaWdp
bjMpOwotICAgICAgICB0ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NTdWJyZXNvdXJjZVVuaXF1ZVJl
ZGlyZWN0VG8oc3RhdGlzdGljc1VybCwgdG9wRnJhbWVPcmlnaW40KTsKLQotICAgICAgICBpZiAo
IXRlc3RSdW5uZXIuaXNTdGF0aXN0aWNzUmVnaXN0ZXJlZEFzU3ViRnJhbWVVbmRlcihzdGF0aXN0
aWNzVXJsLCB0b3BGcmFtZU9yaWdpbjEpCi0gICAgICAgICAgICAgICAgfHwgIXRlc3RSdW5uZXIu
aXNTdGF0aXN0aWNzUmVnaXN0ZXJlZEFzU3VicmVzb3VyY2VVbmRlcih0b3BGcmFtZU9yaWdpbjIs
IHN0YXRpc3RpY3NVcmwpCi0gICAgICAgICAgICAgICAgfHwgIXRlc3RSdW5uZXIuaXNTdGF0aXN0
aWNzUmVnaXN0ZXJlZEFzU3VicmVzb3VyY2VVbmRlcihzdGF0aXN0aWNzVXJsLCB0b3BGcmFtZU9y
aWdpbjMpCi0gICAgICAgICAgICAgICAgfHwgIXRlc3RSdW5uZXIuaXNTdGF0aXN0aWNzUmVnaXN0
ZXJlZEFzUmVkaXJlY3RpbmdUbyhzdGF0aXN0aWNzVXJsLCB0b3BGcmFtZU9yaWdpbjQpKQotICAg
ICAgICAgICAgdGVzdEZhaWxlZCgiRmFpbGVkIHRvIHJlZ2lzdGVyIHN1YlN0YXRpc3RpY3MuIik7
Ci0KLSAgICAgICAgY29tcGxldGVUZXN0KCk7Ci0gICAgfQotCi0gICAgaWYgKHdpbmRvdy50ZXN0
UnVubmVyICYmIHdpbmRvdy5pbnRlcm5hbHMpIHsKLSAgICAgICAgdGVzdFJ1bm5lci5zZXRVc2VJ
VFBEYXRhYmFzZSh0cnVlKTsKLSAgICAgICAgdGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7Ci0g
ICAgICAgIHNldEVuYWJsZUZlYXR1cmUodHJ1ZSwgcnVuVGVzdFJ1bm5lclRlc3QpOwotICAgIH0K
LTwvc2NyaXB0PgotPC9ib2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3JlbW92ZS13ZWJzaXRlLWRhdGEtZm9yLW9y
aWdpbi1kZWxldGVzLXRoaXJkLXBhcnR5LXNjcmlwdC1sb2Fkcy1kYXRhYmFzZS1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvcmVtb3Zl
LXdlYnNpdGUtZGF0YS1mb3Itb3JpZ2luLWRlbGV0ZXMtdGhpcmQtcGFydHktc2NyaXB0LWxvYWRz
LWRhdGFiYXNlLWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYzkz
ZTg2NzIxNzI0MmMyYjY5OWU3Y2I5OTU3NDgxZGI1NDAxNDYxNS4uMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291
cmNlTG9hZFN0YXRpc3RpY3MvcmVtb3ZlLXdlYnNpdGUtZGF0YS1mb3Itb3JpZ2luLWRlbGV0ZXMt
dGhpcmQtcGFydHktc2NyaXB0LWxvYWRzLWRhdGFiYXNlLWV4cGVjdGVkLnR4dAorKysgL2Rldi9u
dWxsCkBAIC0xLDUgKzAsMCBAQAotUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQotCi1U
RVNUIENPTVBMRVRFCi1QQVNTIERvbWFpbiBJRCB3YXMgc3VjY2Vzc2Z1bGx5IGRlbGV0ZWQgZnJv
bSB0aGUgZGF0YWJhc2UuCi0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVz
b3VyY2VMb2FkU3RhdGlzdGljcy9yZW1vdmUtd2Vic2l0ZS1kYXRhLWZvci1vcmlnaW4tZGVsZXRl
cy10aGlyZC1wYXJ0eS1zY3JpcHQtbG9hZHMtZGF0YWJhc2UuaHRtbCBiL0xheW91dFRlc3RzL2h0
dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9yZW1vdmUtd2Vic2l0ZS1kYXRhLWZvci1v
cmlnaW4tZGVsZXRlcy10aGlyZC1wYXJ0eS1zY3JpcHQtbG9hZHMtZGF0YWJhc2UuaHRtbApkZWxl
dGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNzg0N2UxMGRjZGVhMTIyNWEyMjVkZDU4MjkyZjI4
ZTgyMmZlNjM2OC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0g
YS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvcmVtb3ZlLXdl
YnNpdGUtZGF0YS1mb3Itb3JpZ2luLWRlbGV0ZXMtdGhpcmQtcGFydHktc2NyaXB0LWxvYWRzLWRh
dGFiYXNlLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSw1NiArMCwwIEBACi08IURPQ1RZUEUgaHRt
bD4KLTxodG1sIGxhbmc9ImVuIj4KLTxoZWFkPgotICAgIDxtZXRhIGNoYXJzZXQ9IlVURi04Ij4K
LSAgICA8dGl0bGU+VGVzdHMgdGhhdCByZW1vdmFsIG9mIHdlYnNpdGUgZGF0YSBkZWxldGVzIElU
UCBkYXRhPC90aXRsZT4KLSAgICA8c2NyaXB0IHNyYz0iL2pzLXRlc3QtcmVzb3VyY2VzL2pzLXRl
c3QuanMiPjwvc2NyaXB0PgotICAgIDxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvdXRpbC5qcyI+PC9z
Y3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keSBvbmxvYWQ9InJ1blRlc3QoKSI+Ci08c2NyaXB0PgotICAg
IGNvbnN0IGhvc3QgPSAibG9jYWxob3N0IjsKLSAgICBjb25zdCB0aGlyZFBhcnR5T3JpZ2luID0g
Imh0dHA6Ly9sb2NhbGhvc3Q6ODAwMCI7Ci0gICAgY29uc3QgdGhpcmRQYXJ0eUJhc2VVcmwgPSB0
aGlyZFBhcnR5T3JpZ2luICsgIi9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3Jlc291cmNlcyI7Ci0K
LSAgICBmdW5jdGlvbiBmaW5pc2hUZXN0KCkgewotICAgICAgICB0ZXN0UnVubmVyLmNsZWFyU3Rh
dGlzdGljc0RhdGFGb3JEb21haW4oaG9zdCk7Ci0gICAgICAgIC8vIE11c3QgdXNlIGRvbWFpbklE
IHRvIGVuc3VyZSB0aGlzIHdhcyBwcm9wZXJseQotICAgICAgICAvLyBkZWxldGVkLCBvdGhlcndp
c2UgdGhlIGxhY2sgb2YgcmVnaXN0cmFibGUgZG9tYWluIC0tPiBkb21haW5JRCBtYXBwaW5nCi0g
ICAgICAgIC8vIGNvdWxkIGNyZWF0ZSBhIGZhbHNlLXBvc2l0aXZlIHRlc3QgcmVzdWx0IGV2ZW4g
d2hlbiB0aGUgZG9tYWluSUQgcGVyc2lzdHMuCi0gICAgICAgIGlmICh0ZXN0UnVubmVyLmRvZXNT
dGF0aXN0aWNzRG9tYWluSURFeGlzdEluRGF0YWJhc2UoMSkpCi0gICAgICAgICAgICB0ZXN0RmFp
bGVkKCJEb21haW4gSUQgd2FzIG5vdCBkZWxldGVkIGZyb20gdGhlIGRhdGFiYXNlLiIpOwotICAg
ICAgICBlbHNlCi0gICAgICAgICAgICB0ZXN0UGFzc2VkKCJEb21haW4gSUQgd2FzIHN1Y2Nlc3Nm
dWxseSBkZWxldGVkIGZyb20gdGhlIGRhdGFiYXNlLiIpCi0gICAgICAgIHNldEVuYWJsZUZlYXR1
cmUoZmFsc2UsIGZ1bmN0aW9uKCkgewotICAgICAgICAgICAgdGVzdFJ1bm5lci5ub3RpZnlEb25l
KCk7Ci0gICAgICAgIH0pOwotICAgIH0KLQotICAgIGZ1bmN0aW9uIHJ1blRlc3QoKSB7Ci0gICAg
ICAgIHN3aXRjaCAoZG9jdW1lbnQubG9jYXRpb24uaGFzaCkgewotICAgICAgICAgICAgY2FzZSAi
IjoKLSAgICAgICAgICAgICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIgJiYgd2luZG93LmludGVy
bmFscykgewotICAgICAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTsK
LSAgICAgICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5zZXRVc2VJVFBEYXRhYmFzZSh0cnVlKTsK
LSAgICAgICAgICAgICAgICAgICAgc2V0RW5hYmxlRmVhdHVyZSh0cnVlLCBmdW5jdGlvbigpIHsK
LSAgICAgICAgICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIuaW5zdGFsbFN0YXRpc3RpY3NEaWRT
Y2FuRGF0YVJlY29yZHNDYWxsYmFjayhmaW5pc2hUZXN0KTsKLSAgICAgICAgICAgICAgICAgICAg
ICAgIGRvY3VtZW50LmxvY2F0aW9uLmhhc2ggPSAic3RlcDEiOwotICAgICAgICAgICAgICAgICAg
ICAgICAgcnVuVGVzdCgpOwotICAgICAgICAgICAgICAgICAgICB9KTsKLSAgICAgICAgICAgICAg
ICB9Ci0gICAgICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgICAgICBjYXNlICIjc3RlcDEiOgot
ICAgICAgICAgICAgICAgIGRvY3VtZW50LmxvY2F0aW9uLmhhc2ggPSAic3RlcDIiOwotICAgICAg
ICAgICAgICAgIGxldCBzY3JpcHRFbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgic2Ny
aXB0Iik7Ci0gICAgICAgICAgICAgICAgc2NyaXB0RWxlbWVudC5vbmxvYWQgPSBydW5UZXN0Owot
ICAgICAgICAgICAgICAgIHNjcmlwdEVsZW1lbnQuc3JjID0gdGhpcmRQYXJ0eUJhc2VVcmwgKyAi
L2R1bW15LmpzP2R1bW15UGFyYW09IiArIE1hdGgucmFuZG9tKCk7Ci0gICAgICAgICAgICAgICAg
ZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChzY3JpcHRFbGVtZW50KTsKLSAgICAgICAgICAgICAg
ICBicmVhazsKLSAgICAgICAgICAgIGNhc2UgIiNzdGVwMiI6Ci0gICAgICAgICAgICAgICAgdGVz
dFJ1bm5lci5zdGF0aXN0aWNzTm90aWZ5T2JzZXJ2ZXIoKTsKLSAgICAgICAgICAgICAgICBicmVh
azsKLSAgICAgICAgfQotICAgIH0KLTwvc2NyaXB0PgotPC9ib2R5PgotPC9odG1sPgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3JlbW92
ZS13ZWJzaXRlLWRhdGEtZm9yLW9yaWdpbi1kZWxldGVzLXRoaXJkLXBhcnR5LXNjcmlwdC1sb2Fk
cy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRp
c3RpY3MvcmVtb3ZlLXdlYnNpdGUtZGF0YS1mb3Itb3JpZ2luLWRlbGV0ZXMtdGhpcmQtcGFydHkt
c2NyaXB0LWxvYWRzLWV4cGVjdGVkLnR4dAppbmRleCAyMTQ0Njc1M2VhZjE4OWFiYjYxMjcxNmQx
OWZiODU3MzVmYTRjZWU2Li5lM2UzZmQ2MmE3NmU5OGNiOTA5YTQ2ZGM2ZjM2OTQ1OWMyOGYxMDQ4
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3Rp
Y3MvcmVtb3ZlLXdlYnNpdGUtZGF0YS1mb3Itb3JpZ2luLWRlbGV0ZXMtdGhpcmQtcGFydHktc2Ny
aXB0LWxvYWRzLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291
cmNlTG9hZFN0YXRpc3RpY3MvcmVtb3ZlLXdlYnNpdGUtZGF0YS1mb3Itb3JpZ2luLWRlbGV0ZXMt
dGhpcmQtcGFydHktc2NyaXB0LWxvYWRzLWV4cGVjdGVkLnR4dApAQCAtOCw5ICs4LDcgQEAgUmVn
aXN0cmFibGUgZG9tYWluOiAxMjcuMC4wLjEKICAgICBoYWRVc2VySW50ZXJhY3Rpb246IE5vCiAg
ICAgbW9zdFJlY2VudFVzZXJJbnRlcmFjdGlvbjogLTEKICAgICBncmFuZGZhdGhlcmVkOiBObwot
ICAgIGdvdExpbmtEZWNvcmF0aW9uRnJvbVByZXZhbGVudFJlc291cmNlOiBObworICAgIElzU2No
ZWR1bGVkRm9yQWxsQnV0Q29va2llRGF0YVJlbW92YWw6IE5vCiAgICAgaXNQcmV2YWxlbnRSZXNv
dXJjZTogTm8KICAgICBpc1ZlcnlQcmV2YWxlbnRSZXNvdXJjZTogTm8KICAgICBkYXRhUmVjb3Jk
c1JlbW92ZWQ6IDAKLSAgICBjYW52YXNSZWFkRGF0YTogTm8KLQpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3NhbmRib3hlZC1pZnJhbWUt
cmVkaXJlY3QtaXAtdG8tbG9jYWxob3N0LXRvLWlwLWRhdGFiYXNlLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9zYW5kYm94ZWQtaWZy
YW1lLXJlZGlyZWN0LWlwLXRvLWxvY2FsaG9zdC10by1pcC1kYXRhYmFzZS1leHBlY3RlZC50eHQK
ZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGI3YzE0MzhiMTg2NDA2NDJhYTE2ZmMwNmI2
OWQ4NDFmZGYzYmYxNmUuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAK
LS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3NhbmRi
b3hlZC1pZnJhbWUtcmVkaXJlY3QtaXAtdG8tbG9jYWxob3N0LXRvLWlwLWRhdGFiYXNlLWV4cGVj
dGVkLnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDEyICswLDAgQEAKLVRlc3RzIHRoYXQgcmVkaXJl
Y3RzIGZvciBzYW5kYm94ZWQgaWZyYW1lcyBnZXQgY291bnRlZCBwcm9wZXJseS4KLQotT24gc3Vj
Y2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQg
YnkgIlRFU1QgQ09NUExFVEUiLgotCi0KLVBBU1MgdGVzdFJ1bm5lci5pc1N0YXRpc3RpY3NSZWdp
c3RlcmVkQXNTdWJGcmFtZVVuZGVyKCJodHRwOi8vbG9jYWxob3N0IiwgImh0dHA6Ly8xMjcuMC4w
LjEiKSBpcyB0cnVlCi1QQVNTIHRlc3RSdW5uZXIuaXNTdGF0aXN0aWNzUmVnaXN0ZXJlZEFzUmVk
aXJlY3RpbmdUbygiaHR0cDovL2xvY2FsaG9zdCIsICJodHRwOi8vMTI3LjAuMC4xIikgaXMgdHJ1
ZQotUEFTUyB0ZXN0UnVubmVyLmlzU3RhdGlzdGljc1JlZ2lzdGVyZWRBc1JlZGlyZWN0aW5nVG8o
Imh0dHA6Ly8xMjcuMC4wLjEiLCAiaHR0cDovL2xvY2FsaG9zdCIpIGlzIHRydWUKLVBBU1Mgc3Vj
Y2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKLQotVEVTVCBDT01QTEVURQotCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3Mvc2FuZGJveGVkLWlm
cmFtZS1yZWRpcmVjdC1pcC10by1sb2NhbGhvc3QtdG8taXAtZGF0YWJhc2UuaHRtbCBiL0xheW91
dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9zYW5kYm94ZWQtaWZyYW1l
LXJlZGlyZWN0LWlwLXRvLWxvY2FsaG9zdC10by1pcC1kYXRhYmFzZS5odG1sCmRlbGV0ZWQgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAyNTA3NDlkNDhjYTJmMDQzZmVhMmEzYjMyY2VhMzJjNWM2NGQ5
Nzk5Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91
dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9zYW5kYm94ZWQtaWZyYW1l
LXJlZGlyZWN0LWlwLXRvLWxvY2FsaG9zdC10by1pcC1kYXRhYmFzZS5odG1sCisrKyAvZGV2L251
bGwKQEAgLTEsNTQgKzAsMCBAQAotPCFET0NUWVBFIGh0bWw+Ci08aHRtbD4KLTxoZWFkPgotICAg
IDxzY3JpcHQgc3JjPSIvanMtdGVzdC1yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+Ci0g
ICAgPHNjcmlwdCBzcmM9InJlc291cmNlcy91dGlsLmpzIj48L3NjcmlwdD4KLSAgICA8c2NyaXB0
PgotICAgICAgICBkZXNjcmlwdGlvbigiVGVzdHMgdGhhdCByZWRpcmVjdHMgZm9yIHNhbmRib3hl
ZCBpZnJhbWVzIGdldCBjb3VudGVkIHByb3Blcmx5LiIpOwotICAgICAgICBqc1Rlc3RJc0FzeW5j
ID0gdHJ1ZTsKLSAgICAgICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoIm1lc3NhZ2UiLCByZWNl
aXZlTWVzc2FnZSwgZmFsc2UpOwotCi0gICAgICAgIGZ1bmN0aW9uIGZpbmlzaFRlc3QoKSB7Ci0g
ICAgICAgICAgICBzZXRFbmFibGVGZWF0dXJlKGZhbHNlLCBmaW5pc2hKU1Rlc3QpOwotICAgICAg
ICB9Ci0KLSAgICAgICAgaWYgKHRlc3RSdW5uZXIpIHsKLSAgICAgICAgICAgIHRlc3RSdW5uZXIu
c2V0VXNlSVRQRGF0YWJhc2UodHJ1ZSk7Ci0gICAgICAgICAgICBzZXRFbmFibGVGZWF0dXJlKHRy
dWUsIGZ1bmN0aW9uKCkgewotICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIuaW5zdGFsbFN0YXRp
c3RpY3NEaWRTY2FuRGF0YVJlY29yZHNDYWxsYmFjayhjaGVja1N0YXRzKTsKLSAgICAgICAgICAg
IH0pOwotICAgICAgICB9Ci0KLSAgICAgICAgdmFyIGxhc3RQYWdlSW5SZWRpcmVjdENoYWluTG9h
ZGVkID0gZmFsc2U7Ci0gICAgICAgIHZhciBzdGF0c0NoZWNrZWQgPSBmYWxzZTsKLQotICAgICAg
ICBmdW5jdGlvbiByZWNlaXZlTWVzc2FnZShldmVudCkgewotICAgICAgICAgICAgaWYgKGV2ZW50
Lm9yaWdpbiA9PT0gIm51bGwiKSB7Ci0gICAgICAgICAgICAgICAgaWYgKGV2ZW50LmRhdGEuaW5k
ZXhPZigiUEFTUyIpID09PSAtMSkKLSAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChldmVu
dC5kYXRhLnJlcGxhY2UoIkZBSUwgIiwgIiIpKTsKLSAgICAgICAgICAgIH0gZWxzZQotICAgICAg
ICAgICAgICAgIHRlc3RGYWlsZWQoIlJlY2VpdmVkIGEgbWVzc2FnZSBmcm9tIGFuIHVuZXhwZWN0
ZWQgb3JpZ2luOiAiICsgZXZlbnQub3JpZ2luKTsKLQotICAgICAgICAgICAgbGFzdFBhZ2VJblJl
ZGlyZWN0Q2hhaW5Mb2FkZWQgPSB0cnVlOwotICAgICAgICAgICAgaWYgKHN0YXRzQ2hlY2tlZCkK
LSAgICAgICAgICAgICAgICBmaW5pc2hUZXN0KCk7Ci0gICAgICAgICAgICBlbHNlCi0gICAgICAg
ICAgICAgICAgdGVzdFJ1bm5lci5zdGF0aXN0aWNzTm90aWZ5T2JzZXJ2ZXIoKTsKLSAgICAgICAg
fQotCi0gICAgICAgIGZ1bmN0aW9uIGNoZWNrU3RhdHMoKSB7Ci0gICAgICAgICAgICBzaG91bGRC
ZVRydWUoJ3Rlc3RSdW5uZXIuaXNTdGF0aXN0aWNzUmVnaXN0ZXJlZEFzU3ViRnJhbWVVbmRlcigi
aHR0cDovL2xvY2FsaG9zdCIsICJodHRwOi8vMTI3LjAuMC4xIiknKTsKLSAgICAgICAgICAgIHNo
b3VsZEJlVHJ1ZSgndGVzdFJ1bm5lci5pc1N0YXRpc3RpY3NSZWdpc3RlcmVkQXNSZWRpcmVjdGlu
Z1RvKCJodHRwOi8vbG9jYWxob3N0IiwgImh0dHA6Ly8xMjcuMC4wLjEiKScpOwotICAgICAgICAg
ICAgc2hvdWxkQmVUcnVlKCd0ZXN0UnVubmVyLmlzU3RhdGlzdGljc1JlZ2lzdGVyZWRBc1JlZGly
ZWN0aW5nVG8oImh0dHA6Ly8xMjcuMC4wLjEiLCAiaHR0cDovL2xvY2FsaG9zdCIpJyk7Ci0KLSAg
ICAgICAgICAgIHN0YXRzQ2hlY2tlZCA9IHRydWU7Ci0gICAgICAgICAgICBpZiAobGFzdFBhZ2VJ
blJlZGlyZWN0Q2hhaW5Mb2FkZWQpCi0gICAgICAgICAgICAgICAgZmluaXNoVGVzdCgpOwotICAg
ICAgICB9Ci0gICAgPC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keT4KLTxpZnJhbWUgc2FuZGJveD0i
YWxsb3ctc2NyaXB0cyIgc3JjPSJodHRwOi8vMTI3LjAuMC4xOjgwMDAvcmVzb3VyY2VMb2FkU3Rh
dGlzdGljcy9yZXNvdXJjZXMvcmVkaXJlY3QucGhwLz9yZWRpcmVjdFRvPWh0dHA6Ly9sb2NhbGhv
c3Q6ODAwMC9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3Jlc291cmNlcy9yZWRpcmVjdC5waHAvP3Jl
ZGlyZWN0VG89aHR0cDovLzEyNy4wLjAuMTo4MDAwL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvcmVz
b3VyY2VzL2lmcmFtZS1yZXBvcnQtYmFjay1sb2FkZWQuaHRtbCI+Ci08L2lmcmFtZT4KLTwvYm9k
eT4KLTwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VM
b2FkU3RhdGlzdGljcy9zYW5kYm94ZWQtaWZyYW1lLXJlZGlyZWN0LWxvY2FsaG9zdC10by1pcC10
by1sb2NhbGhvc3QtZGF0YWJhc2UtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0
cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3NhbmRib3hlZC1pZnJhbWUtcmVkaXJlY3QtbG9jYWxo
b3N0LXRvLWlwLXRvLWxvY2FsaG9zdC1kYXRhYmFzZS1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IGI3YzE0MzhiMTg2NDA2NDJhYTE2ZmMwNmI2OWQ4NDFmZGYzYmYx
NmUuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3NhbmRib3hlZC1pZnJhbWUt
cmVkaXJlY3QtbG9jYWxob3N0LXRvLWlwLXRvLWxvY2FsaG9zdC1kYXRhYmFzZS1leHBlY3RlZC50
eHQKKysrIC9kZXYvbnVsbApAQCAtMSwxMiArMCwwIEBACi1UZXN0cyB0aGF0IHJlZGlyZWN0cyBm
b3Igc2FuZGJveGVkIGlmcmFtZXMgZ2V0IGNvdW50ZWQgcHJvcGVybHkuCi0KLU9uIHN1Y2Nlc3Ms
IHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJU
RVNUIENPTVBMRVRFIi4KLQotCi1QQVNTIHRlc3RSdW5uZXIuaXNTdGF0aXN0aWNzUmVnaXN0ZXJl
ZEFzU3ViRnJhbWVVbmRlcigiaHR0cDovL2xvY2FsaG9zdCIsICJodHRwOi8vMTI3LjAuMC4xIikg
aXMgdHJ1ZQotUEFTUyB0ZXN0UnVubmVyLmlzU3RhdGlzdGljc1JlZ2lzdGVyZWRBc1JlZGlyZWN0
aW5nVG8oImh0dHA6Ly9sb2NhbGhvc3QiLCAiaHR0cDovLzEyNy4wLjAuMSIpIGlzIHRydWUKLVBB
U1MgdGVzdFJ1bm5lci5pc1N0YXRpc3RpY3NSZWdpc3RlcmVkQXNSZWRpcmVjdGluZ1RvKCJodHRw
Oi8vMTI3LjAuMC4xIiwgImh0dHA6Ly9sb2NhbGhvc3QiKSBpcyB0cnVlCi1QQVNTIHN1Y2Nlc3Nm
dWxseVBhcnNlZCBpcyB0cnVlCi0KLVRFU1QgQ09NUExFVEUKLQpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3NhbmRib3hlZC1pZnJhbWUt
cmVkaXJlY3QtbG9jYWxob3N0LXRvLWlwLXRvLWxvY2FsaG9zdC1kYXRhYmFzZS5odG1sIGIvTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3NhbmRib3hlZC1pZnJh
bWUtcmVkaXJlY3QtbG9jYWxob3N0LXRvLWlwLXRvLWxvY2FsaG9zdC1kYXRhYmFzZS5odG1sCmRl
bGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMmI1ZjZhNzk1YzdjZmI0NjY1MDQ0YzBjMTRl
YjhhNDRhNGQ5YmQ3Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0t
LSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9zYW5kYm94
ZWQtaWZyYW1lLXJlZGlyZWN0LWxvY2FsaG9zdC10by1pcC10by1sb2NhbGhvc3QtZGF0YWJhc2Uu
aHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDU0ICswLDAgQEAKLTwhRE9DVFlQRSBodG1sPgotPGh0
bWw+Ci08aGVhZD4KLSAgICA8c2NyaXB0IHNyYz0iL2pzLXRlc3QtcmVzb3VyY2VzL2pzLXRlc3Qu
anMiPjwvc2NyaXB0PgotICAgIDxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvdXRpbC5qcyI+PC9zY3Jp
cHQ+Ci0gICAgPHNjcmlwdD4KLSAgICAgICAgZGVzY3JpcHRpb24oIlRlc3RzIHRoYXQgcmVkaXJl
Y3RzIGZvciBzYW5kYm94ZWQgaWZyYW1lcyBnZXQgY291bnRlZCBwcm9wZXJseS4iKTsKLSAgICAg
ICAganNUZXN0SXNBc3luYyA9IHRydWU7Ci0gICAgICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVy
KCJtZXNzYWdlIiwgcmVjZWl2ZU1lc3NhZ2UsIGZhbHNlKTsKLQotICAgICAgICBmdW5jdGlvbiBm
aW5pc2hUZXN0KCkgewotICAgICAgICAgICAgc2V0RW5hYmxlRmVhdHVyZShmYWxzZSwgZmluaXNo
SlNUZXN0KTsKLSAgICAgICAgfQotCi0gICAgICAgIGlmICh0ZXN0UnVubmVyKSB7Ci0gICAgICAg
ICAgICB0ZXN0UnVubmVyLnNldFVzZUlUUERhdGFiYXNlKHRydWUpOwotICAgICAgICAgICAgc2V0
RW5hYmxlRmVhdHVyZSh0cnVlLCBmdW5jdGlvbigpIHsKLSAgICAgICAgICAgICAgICB0ZXN0UnVu
bmVyLmluc3RhbGxTdGF0aXN0aWNzRGlkU2NhbkRhdGFSZWNvcmRzQ2FsbGJhY2soY2hlY2tTdGF0
cyk7Ci0gICAgICAgICAgICB9KTsKLSAgICAgICAgfQotCi0gICAgICAgIHZhciBsYXN0UGFnZUlu
UmVkaXJlY3RDaGFpbkxvYWRlZCA9IGZhbHNlOwotICAgICAgICB2YXIgc3RhdHNDaGVja2VkID0g
ZmFsc2U7Ci0KLSAgICAgICAgZnVuY3Rpb24gcmVjZWl2ZU1lc3NhZ2UoZXZlbnQpIHsKLSAgICAg
ICAgICAgIGlmIChldmVudC5vcmlnaW4gPT09ICJudWxsIikgewotICAgICAgICAgICAgICAgIGlm
IChldmVudC5kYXRhLmluZGV4T2YoIlBBU1MiKSA9PT0gLTEpCi0gICAgICAgICAgICAgICAgICAg
IHRlc3RGYWlsZWQoZXZlbnQuZGF0YS5yZXBsYWNlKCJGQUlMICIsICIiKSk7Ci0gICAgICAgICAg
ICB9IGVsc2UKLSAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKCJSZWNlaXZlZCBhIG1lc3NhZ2Ug
ZnJvbSBhbiB1bmV4cGVjdGVkIG9yaWdpbjogIiArIGV2ZW50Lm9yaWdpbik7Ci0KLSAgICAgICAg
ICAgIGxhc3RQYWdlSW5SZWRpcmVjdENoYWluTG9hZGVkID0gdHJ1ZTsKLSAgICAgICAgICAgIGlm
IChzdGF0c0NoZWNrZWQpCi0gICAgICAgICAgICAgICAgZmluaXNoVGVzdCgpOwotICAgICAgICAg
ICAgZWxzZQotICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIuc3RhdGlzdGljc05vdGlmeU9ic2Vy
dmVyKCk7Ci0gICAgICAgIH0KLQotICAgICAgICBmdW5jdGlvbiBjaGVja1N0YXRzKCkgewotICAg
ICAgICAgICAgc2hvdWxkQmVUcnVlKCd0ZXN0UnVubmVyLmlzU3RhdGlzdGljc1JlZ2lzdGVyZWRB
c1N1YkZyYW1lVW5kZXIoImh0dHA6Ly9sb2NhbGhvc3QiLCAiaHR0cDovLzEyNy4wLjAuMSIpJyk7
Ci0gICAgICAgICAgICBzaG91bGRCZVRydWUoJ3Rlc3RSdW5uZXIuaXNTdGF0aXN0aWNzUmVnaXN0
ZXJlZEFzUmVkaXJlY3RpbmdUbygiaHR0cDovL2xvY2FsaG9zdCIsICJodHRwOi8vMTI3LjAuMC4x
IiknKTsKLSAgICAgICAgICAgIHNob3VsZEJlVHJ1ZSgndGVzdFJ1bm5lci5pc1N0YXRpc3RpY3NS
ZWdpc3RlcmVkQXNSZWRpcmVjdGluZ1RvKCJodHRwOi8vMTI3LjAuMC4xIiwgImh0dHA6Ly9sb2Nh
bGhvc3QiKScpOwotCi0gICAgICAgICAgICBzdGF0c0NoZWNrZWQgPSB0cnVlOwotICAgICAgICAg
ICAgaWYgKGxhc3RQYWdlSW5SZWRpcmVjdENoYWluTG9hZGVkKQotICAgICAgICAgICAgICAgIGZp
bmlzaFRlc3QoKTsKLSAgICAgICAgfQotICAgIDwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHk+Ci08
aWZyYW1lIHNhbmRib3g9ImFsbG93LXNjcmlwdHMiIHNyYz0iaHR0cDovL2xvY2FsaG9zdDo4MDAw
L3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvcmVzb3VyY2VzL3JlZGlyZWN0LnBocC8/cmVkaXJlY3RU
bz1odHRwOi8vMTI3LjAuMC4xOjgwMDAvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9yZXNvdXJjZXMv
cmVkaXJlY3QucGhwLz9yZWRpcmVjdFRvPWh0dHA6Ly9sb2NhbGhvc3Q6ODAwMC9yZXNvdXJjZUxv
YWRTdGF0aXN0aWNzL3Jlc291cmNlcy9pZnJhbWUtcmVwb3J0LWJhY2stbG9hZGVkLmh0bWwiPgot
PC9pZnJhbWU+Ci08L2JvZHk+Ci08L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3Mvc2FuZGJveGVkLW5lc3RpbmctaWZyYW1lLXdp
dGgtbm9uLXNhbmRib3hlZC1pZnJhbWUtcmVkaXJlY3QtaXAtdG8tbG9jYWxob3N0LXRvLWlwLWRh
dGFiYXNlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2Fk
U3RhdGlzdGljcy9zYW5kYm94ZWQtbmVzdGluZy1pZnJhbWUtd2l0aC1ub24tc2FuZGJveGVkLWlm
cmFtZS1yZWRpcmVjdC1pcC10by1sb2NhbGhvc3QtdG8taXAtZGF0YWJhc2UtZXhwZWN0ZWQudHh0
CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAyMzY1OGNkMzQzZjU1NmUwYzM0NDc1ZWY5
ZWY0NWM2MjBkNGQ0MjdlLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9zYW5k
Ym94ZWQtbmVzdGluZy1pZnJhbWUtd2l0aC1ub24tc2FuZGJveGVkLWlmcmFtZS1yZWRpcmVjdC1p
cC10by1sb2NhbGhvc3QtdG8taXAtZGF0YWJhc2UtZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwK
QEAgLTEsMTIgKzAsMCBAQAotVGVzdHMgdGhhdCByZWRpcmVjdHMgZm9yIGEgbm9uLXNhbmRib3hl
ZCBpZnJhbWUgbmVzdGVkIGluIGEgc2FuZGJveGVkIGlmcmFtZSBnZXQgY291bnRlZCBwcm9wZXJs
eS4KLQotT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdl
cywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgotCi0KLVBBU1MgdGVzdFJ1bm5lci5pc1N0
YXRpc3RpY3NSZWdpc3RlcmVkQXNTdWJGcmFtZVVuZGVyKCJodHRwOi8vbG9jYWxob3N0IiwgImh0
dHA6Ly8xMjcuMC4wLjEiKSBpcyB0cnVlCi1QQVNTIHRlc3RSdW5uZXIuaXNTdGF0aXN0aWNzUmVn
aXN0ZXJlZEFzUmVkaXJlY3RpbmdUbygiaHR0cDovL2xvY2FsaG9zdCIsICJodHRwOi8vMTI3LjAu
MC4xIikgaXMgdHJ1ZQotUEFTUyB0ZXN0UnVubmVyLmlzU3RhdGlzdGljc1JlZ2lzdGVyZWRBc1Jl
ZGlyZWN0aW5nVG8oImh0dHA6Ly8xMjcuMC4wLjEiLCAiaHR0cDovL2xvY2FsaG9zdCIpIGlzIHRy
dWUKLVBBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKLQotVEVTVCBDT01QTEVURQotCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3Mv
c2FuZGJveGVkLW5lc3RpbmctaWZyYW1lLXdpdGgtbm9uLXNhbmRib3hlZC1pZnJhbWUtcmVkaXJl
Y3QtaXAtdG8tbG9jYWxob3N0LXRvLWlwLWRhdGFiYXNlLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3Mvc2FuZGJveGVkLW5lc3RpbmctaWZyYW1lLXdp
dGgtbm9uLXNhbmRib3hlZC1pZnJhbWUtcmVkaXJlY3QtaXAtdG8tbG9jYWxob3N0LXRvLWlwLWRh
dGFiYXNlLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDYwYjhhZTlkYjI5OWQy
MTMzZjVhNDJjZWJlMzA4ZDQxNzViNzJhZjUuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0
aXN0aWNzL3NhbmRib3hlZC1uZXN0aW5nLWlmcmFtZS13aXRoLW5vbi1zYW5kYm94ZWQtaWZyYW1l
LXJlZGlyZWN0LWlwLXRvLWxvY2FsaG9zdC10by1pcC1kYXRhYmFzZS5odG1sCisrKyAvZGV2L251
bGwKQEAgLTEsNTQgKzAsMCBAQAotPCFET0NUWVBFIGh0bWw+Ci08aHRtbD4KLTxoZWFkPgotICAg
IDxzY3JpcHQgc3JjPSIvanMtdGVzdC1yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+Ci0g
ICAgPHNjcmlwdCBzcmM9InJlc291cmNlcy91dGlsLmpzIj48L3NjcmlwdD4KLSAgICA8c2NyaXB0
PgotICAgICAgICBkZXNjcmlwdGlvbigiVGVzdHMgdGhhdCByZWRpcmVjdHMgZm9yIGEgbm9uLXNh
bmRib3hlZCBpZnJhbWUgbmVzdGVkIGluIGEgc2FuZGJveGVkIGlmcmFtZSBnZXQgY291bnRlZCBw
cm9wZXJseS4iKTsKLSAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7Ci0gICAgICAgIHdpbmRv
dy5hZGRFdmVudExpc3RlbmVyKCJtZXNzYWdlIiwgcmVjZWl2ZU1lc3NhZ2UsIGZhbHNlKTsKLQot
ICAgICAgICBmdW5jdGlvbiBmaW5pc2hUZXN0KCkgewotICAgICAgICAgICAgc2V0RW5hYmxlRmVh
dHVyZShmYWxzZSwgZmluaXNoSlNUZXN0KTsKLSAgICAgICAgfQotCi0gICAgICAgIGlmICh0ZXN0
UnVubmVyKSB7Ci0gICAgICAgICAgICB0ZXN0UnVubmVyLnNldFVzZUlUUERhdGFiYXNlKHRydWUp
OwotICAgICAgICAgICAgc2V0RW5hYmxlRmVhdHVyZSh0cnVlLCBmdW5jdGlvbigpIHsKLSAgICAg
ICAgICAgICAgICB0ZXN0UnVubmVyLmluc3RhbGxTdGF0aXN0aWNzRGlkU2NhbkRhdGFSZWNvcmRz
Q2FsbGJhY2soY2hlY2tTdGF0cyk7Ci0gICAgICAgICAgICB9KTsKLSAgICAgICAgfQotCi0gICAg
ICAgIHZhciBsYXN0UGFnZUluUmVkaXJlY3RDaGFpbkxvYWRlZCA9IGZhbHNlOwotICAgICAgICB2
YXIgc3RhdHNDaGVja2VkID0gZmFsc2U7Ci0KLSAgICAgICAgZnVuY3Rpb24gcmVjZWl2ZU1lc3Nh
Z2UoZXZlbnQpIHsKLSAgICAgICAgICAgIGlmIChldmVudC5vcmlnaW4gPT09ICJudWxsIikgewot
ICAgICAgICAgICAgICAgIGlmIChldmVudC5kYXRhLmluZGV4T2YoIlBBU1MiKSA9PT0gLTEpCi0g
ICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoZXZlbnQuZGF0YS5yZXBsYWNlKCJGQUlMICIs
ICIiKSk7Ci0gICAgICAgICAgICB9IGVsc2UKLSAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKCJS
ZWNlaXZlZCBhIG1lc3NhZ2UgZnJvbSBhbiB1bmV4cGVjdGVkIG9yaWdpbjogIiArIGV2ZW50Lm9y
aWdpbik7Ci0KLSAgICAgICAgICAgIGxhc3RQYWdlSW5SZWRpcmVjdENoYWluTG9hZGVkID0gdHJ1
ZTsKLSAgICAgICAgICAgIGlmIChzdGF0c0NoZWNrZWQpCi0gICAgICAgICAgICAgICAgZmluaXNo
VGVzdCgpOwotICAgICAgICAgICAgZWxzZQotICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIuc3Rh
dGlzdGljc05vdGlmeU9ic2VydmVyKCk7Ci0gICAgICAgIH0KLQotICAgICAgICBmdW5jdGlvbiBj
aGVja1N0YXRzKCkgewotICAgICAgICAgICAgc2hvdWxkQmVUcnVlKCd0ZXN0UnVubmVyLmlzU3Rh
dGlzdGljc1JlZ2lzdGVyZWRBc1N1YkZyYW1lVW5kZXIoImh0dHA6Ly9sb2NhbGhvc3QiLCAiaHR0
cDovLzEyNy4wLjAuMSIpJyk7Ci0gICAgICAgICAgICBzaG91bGRCZVRydWUoJ3Rlc3RSdW5uZXIu
aXNTdGF0aXN0aWNzUmVnaXN0ZXJlZEFzUmVkaXJlY3RpbmdUbygiaHR0cDovL2xvY2FsaG9zdCIs
ICJodHRwOi8vMTI3LjAuMC4xIiknKTsKLSAgICAgICAgICAgIHNob3VsZEJlVHJ1ZSgndGVzdFJ1
bm5lci5pc1N0YXRpc3RpY3NSZWdpc3RlcmVkQXNSZWRpcmVjdGluZ1RvKCJodHRwOi8vMTI3LjAu
MC4xIiwgImh0dHA6Ly9sb2NhbGhvc3QiKScpOwotCi0gICAgICAgICAgICBzdGF0c0NoZWNrZWQg
PSB0cnVlOwotICAgICAgICAgICAgaWYgKGxhc3RQYWdlSW5SZWRpcmVjdENoYWluTG9hZGVkKQot
ICAgICAgICAgICAgICAgIGZpbmlzaFRlc3QoKTsKLSAgICAgICAgfQotICAgIDwvc2NyaXB0Pgot
PC9oZWFkPgotPGJvZHk+Ci08aWZyYW1lIHNhbmRib3g9ImFsbG93LXNjcmlwdHMiIHNyYz0iaHR0
cDovLzEyNy4wLjAuMTo4MDAwL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvcmVzb3VyY2VzL3BhZ2Ut
d2l0aC1ub24tc2FuZGJveGVkLWlmcmFtZS1yZWRpcmVjdC1pcC10by1sb2NhbGhvc3QtdG8taXAu
aHRtbCI+Ci08L2lmcmFtZT4KLTwvYm9keT4KLTwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9zYW5kYm94ZWQtbmVzdGluZy1p
ZnJhbWUtd2l0aC1ub24tc2FuZGJveGVkLWlmcmFtZS1yZWRpcmVjdC1sb2NhbGhvc3QtdG8taXAt
dG8tbG9jYWxob3N0LWRhdGFiYXNlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvdGVz
dHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9zYW5kYm94ZWQtbmVzdGluZy1pZnJhbWUtd2l0aC1u
b24tc2FuZGJveGVkLWlmcmFtZS1yZWRpcmVjdC1sb2NhbGhvc3QtdG8taXAtdG8tbG9jYWxob3N0
LWRhdGFiYXNlLWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMjM2
NThjZDM0M2Y1NTZlMGMzNDQ3NWVmOWVmNDVjNjIwZDRkNDI3ZS4uMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291
cmNlTG9hZFN0YXRpc3RpY3Mvc2FuZGJveGVkLW5lc3RpbmctaWZyYW1lLXdpdGgtbm9uLXNhbmRi
b3hlZC1pZnJhbWUtcmVkaXJlY3QtbG9jYWxob3N0LXRvLWlwLXRvLWxvY2FsaG9zdC1kYXRhYmFz
ZS1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSwxMiArMCwwIEBACi1UZXN0cyB0aGF0
IHJlZGlyZWN0cyBmb3IgYSBub24tc2FuZGJveGVkIGlmcmFtZSBuZXN0ZWQgaW4gYSBzYW5kYm94
ZWQgaWZyYW1lIGdldCBjb3VudGVkIHByb3Blcmx5LgotCi1PbiBzdWNjZXNzLCB5b3Ugd2lsbCBz
ZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVU
RSIuCi0KLQotUEFTUyB0ZXN0UnVubmVyLmlzU3RhdGlzdGljc1JlZ2lzdGVyZWRBc1N1YkZyYW1l
VW5kZXIoImh0dHA6Ly9sb2NhbGhvc3QiLCAiaHR0cDovLzEyNy4wLjAuMSIpIGlzIHRydWUKLVBB
U1MgdGVzdFJ1bm5lci5pc1N0YXRpc3RpY3NSZWdpc3RlcmVkQXNSZWRpcmVjdGluZ1RvKCJodHRw
Oi8vbG9jYWxob3N0IiwgImh0dHA6Ly8xMjcuMC4wLjEiKSBpcyB0cnVlCi1QQVNTIHRlc3RSdW5u
ZXIuaXNTdGF0aXN0aWNzUmVnaXN0ZXJlZEFzUmVkaXJlY3RpbmdUbygiaHR0cDovLzEyNy4wLjAu
MSIsICJodHRwOi8vbG9jYWxob3N0IikgaXMgdHJ1ZQotUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQg
aXMgdHJ1ZQotCi1URVNUIENPTVBMRVRFCi0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAv
dGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9zYW5kYm94ZWQtbmVzdGluZy1pZnJhbWUtd2l0
aC1ub24tc2FuZGJveGVkLWlmcmFtZS1yZWRpcmVjdC1sb2NhbGhvc3QtdG8taXAtdG8tbG9jYWxo
b3N0LWRhdGFiYXNlLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0
YXRpc3RpY3Mvc2FuZGJveGVkLW5lc3RpbmctaWZyYW1lLXdpdGgtbm9uLXNhbmRib3hlZC1pZnJh
bWUtcmVkaXJlY3QtbG9jYWxob3N0LXRvLWlwLXRvLWxvY2FsaG9zdC1kYXRhYmFzZS5odG1sCmRl
bGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA0YTQ5NjRmN2M0MjUxZjFiZDUwZDRhMzg3Y2Fh
ZDViNTkxMTcwMTYwLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0t
LSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9zYW5kYm94
ZWQtbmVzdGluZy1pZnJhbWUtd2l0aC1ub24tc2FuZGJveGVkLWlmcmFtZS1yZWRpcmVjdC1sb2Nh
bGhvc3QtdG8taXAtdG8tbG9jYWxob3N0LWRhdGFiYXNlLmh0bWwKKysrIC9kZXYvbnVsbApAQCAt
MSw1NCArMCwwIEBACi08IURPQ1RZUEUgaHRtbD4KLTxodG1sPgotPGhlYWQ+Ci0gICAgPHNjcmlw
dCBzcmM9Ii9qcy10ZXN0LXJlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KLSAgICA8c2Ny
aXB0IHNyYz0icmVzb3VyY2VzL3V0aWwuanMiPjwvc2NyaXB0PgotICAgIDxzY3JpcHQ+Ci0gICAg
ICAgIGRlc2NyaXB0aW9uKCJUZXN0cyB0aGF0IHJlZGlyZWN0cyBmb3IgYSBub24tc2FuZGJveGVk
IGlmcmFtZSBuZXN0ZWQgaW4gYSBzYW5kYm94ZWQgaWZyYW1lIGdldCBjb3VudGVkIHByb3Blcmx5
LiIpOwotICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKLSAgICAgICAgd2luZG93LmFkZEV2
ZW50TGlzdGVuZXIoIm1lc3NhZ2UiLCByZWNlaXZlTWVzc2FnZSwgZmFsc2UpOwotCi0gICAgICAg
IGZ1bmN0aW9uIGZpbmlzaFRlc3QoKSB7Ci0gICAgICAgICAgICBzZXRFbmFibGVGZWF0dXJlKGZh
bHNlLCBmaW5pc2hKU1Rlc3QpOwotICAgICAgICB9Ci0KLSAgICAgICAgaWYgKHRlc3RSdW5uZXIp
IHsKLSAgICAgICAgICAgIHRlc3RSdW5uZXIuc2V0VXNlSVRQRGF0YWJhc2UodHJ1ZSk7Ci0gICAg
ICAgICAgICBzZXRFbmFibGVGZWF0dXJlKHRydWUsIGZ1bmN0aW9uKCkgewotICAgICAgICAgICAg
ICAgIHRlc3RSdW5uZXIuaW5zdGFsbFN0YXRpc3RpY3NEaWRTY2FuRGF0YVJlY29yZHNDYWxsYmFj
ayhjaGVja1N0YXRzKTsKLSAgICAgICAgICAgIH0pOwotICAgICAgICB9Ci0KLSAgICAgICAgdmFy
IGxhc3RQYWdlSW5SZWRpcmVjdENoYWluTG9hZGVkID0gZmFsc2U7Ci0gICAgICAgIHZhciBzdGF0
c0NoZWNrZWQgPSBmYWxzZTsKLQotICAgICAgICBmdW5jdGlvbiByZWNlaXZlTWVzc2FnZShldmVu
dCkgewotICAgICAgICAgICAgaWYgKGV2ZW50Lm9yaWdpbiA9PT0gIm51bGwiKSB7Ci0gICAgICAg
ICAgICAgICAgaWYgKGV2ZW50LmRhdGEuaW5kZXhPZigiUEFTUyIpID09PSAtMSkKLSAgICAgICAg
ICAgICAgICAgICAgdGVzdEZhaWxlZChldmVudC5kYXRhLnJlcGxhY2UoIkZBSUwgIiwgIiIpKTsK
LSAgICAgICAgICAgIH0gZWxzZQotICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoIlJlY2VpdmVk
IGEgbWVzc2FnZSBmcm9tIGFuIHVuZXhwZWN0ZWQgb3JpZ2luOiAiICsgZXZlbnQub3JpZ2luKTsK
LQotICAgICAgICAgICAgbGFzdFBhZ2VJblJlZGlyZWN0Q2hhaW5Mb2FkZWQgPSB0cnVlOwotICAg
ICAgICAgICAgaWYgKHN0YXRzQ2hlY2tlZCkKLSAgICAgICAgICAgICAgICBmaW5pc2hUZXN0KCk7
Ci0gICAgICAgICAgICBlbHNlCi0gICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5zdGF0aXN0aWNz
Tm90aWZ5T2JzZXJ2ZXIoKTsKLSAgICAgICAgfQotCi0gICAgICAgIGZ1bmN0aW9uIGNoZWNrU3Rh
dHMoKSB7Ci0gICAgICAgICAgICBzaG91bGRCZVRydWUoJ3Rlc3RSdW5uZXIuaXNTdGF0aXN0aWNz
UmVnaXN0ZXJlZEFzU3ViRnJhbWVVbmRlcigiaHR0cDovL2xvY2FsaG9zdCIsICJodHRwOi8vMTI3
LjAuMC4xIiknKTsKLSAgICAgICAgICAgIHNob3VsZEJlVHJ1ZSgndGVzdFJ1bm5lci5pc1N0YXRp
c3RpY3NSZWdpc3RlcmVkQXNSZWRpcmVjdGluZ1RvKCJodHRwOi8vbG9jYWxob3N0IiwgImh0dHA6
Ly8xMjcuMC4wLjEiKScpOwotICAgICAgICAgICAgc2hvdWxkQmVUcnVlKCd0ZXN0UnVubmVyLmlz
U3RhdGlzdGljc1JlZ2lzdGVyZWRBc1JlZGlyZWN0aW5nVG8oImh0dHA6Ly8xMjcuMC4wLjEiLCAi
aHR0cDovL2xvY2FsaG9zdCIpJyk7Ci0KLSAgICAgICAgICAgIHN0YXRzQ2hlY2tlZCA9IHRydWU7
Ci0gICAgICAgICAgICBpZiAobGFzdFBhZ2VJblJlZGlyZWN0Q2hhaW5Mb2FkZWQpCi0gICAgICAg
ICAgICAgICAgZmluaXNoVGVzdCgpOwotICAgICAgICB9Ci0gICAgPC9zY3JpcHQ+Ci08L2hlYWQ+
Ci08Ym9keT4KLTxpZnJhbWUgc2FuZGJveD0iYWxsb3ctc2NyaXB0cyIgc3JjPSJodHRwOi8vMTI3
LjAuMC4xOjgwMDAvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9yZXNvdXJjZXMvcGFnZS13aXRoLW5v
bi1zYW5kYm94ZWQtaWZyYW1lLXJlZGlyZWN0LWxvY2FsaG9zdC10by1pcC10by1sb2NhbGhvc3Qu
aHRtbCI+Ci08L2lmcmFtZT4KLTwvYm9keT4KLTwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9zYW5kYm94ZWQtbmVzdGluZy1p
ZnJhbWUtd2l0aC1zYW5kYm94ZWQtaWZyYW1lLXJlZGlyZWN0LWlwLXRvLWxvY2FsaG9zdC10by1p
cC1kYXRhYmFzZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNl
TG9hZFN0YXRpc3RpY3Mvc2FuZGJveGVkLW5lc3RpbmctaWZyYW1lLXdpdGgtc2FuZGJveGVkLWlm
cmFtZS1yZWRpcmVjdC1pcC10by1sb2NhbGhvc3QtdG8taXAtZGF0YWJhc2UtZXhwZWN0ZWQudHh0
CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA3MTVjODVlYjQ3ZTBmMDg0MTZlNjFmZDAx
NWZkN2FlM2NiODY2YjY5Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9zYW5k
Ym94ZWQtbmVzdGluZy1pZnJhbWUtd2l0aC1zYW5kYm94ZWQtaWZyYW1lLXJlZGlyZWN0LWlwLXRv
LWxvY2FsaG9zdC10by1pcC1kYXRhYmFzZS1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAt
MSwxMiArMCwwIEBACi1UZXN0cyB0aGF0IHJlZGlyZWN0cyBmb3IgYSBzYW5kYm94ZWQgaWZyYW1l
IG5lc3RlZCBpbiBhIG5vbi1zYW5kYm94ZWQgaWZyYW1lIGdldCBjb3VudGVkIHByb3Blcmx5Lgot
Ci1PbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBm
b2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCi0KLQotUEFTUyB0ZXN0UnVubmVyLmlzU3RhdGlz
dGljc1JlZ2lzdGVyZWRBc1N1YkZyYW1lVW5kZXIoImh0dHA6Ly9sb2NhbGhvc3QiLCAiaHR0cDov
LzEyNy4wLjAuMSIpIGlzIHRydWUKLVBBU1MgdGVzdFJ1bm5lci5pc1N0YXRpc3RpY3NSZWdpc3Rl
cmVkQXNSZWRpcmVjdGluZ1RvKCJodHRwOi8vbG9jYWxob3N0IiwgImh0dHA6Ly8xMjcuMC4wLjEi
KSBpcyB0cnVlCi1QQVNTIHRlc3RSdW5uZXIuaXNTdGF0aXN0aWNzUmVnaXN0ZXJlZEFzUmVkaXJl
Y3RpbmdUbygiaHR0cDovLzEyNy4wLjAuMSIsICJodHRwOi8vbG9jYWxob3N0IikgaXMgdHJ1ZQot
UEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQotCi1URVNUIENPTVBMRVRFCi0KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9zYW5k
Ym94ZWQtbmVzdGluZy1pZnJhbWUtd2l0aC1zYW5kYm94ZWQtaWZyYW1lLXJlZGlyZWN0LWlwLXRv
LWxvY2FsaG9zdC10by1pcC1kYXRhYmFzZS5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9y
ZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3NhbmRib3hlZC1uZXN0aW5nLWlmcmFtZS13aXRoLXNhbmRi
b3hlZC1pZnJhbWUtcmVkaXJlY3QtaXAtdG8tbG9jYWxob3N0LXRvLWlwLWRhdGFiYXNlLmh0bWwK
ZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDVlZjI5YTY4YmIxZWZlNGM2YTljY2U5NzYy
NDQwOThhNWNjNzg3MmQuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAK
LS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3NhbmRi
b3hlZC1uZXN0aW5nLWlmcmFtZS13aXRoLXNhbmRib3hlZC1pZnJhbWUtcmVkaXJlY3QtaXAtdG8t
bG9jYWxob3N0LXRvLWlwLWRhdGFiYXNlLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSw1NCArMCww
IEBACi08IURPQ1RZUEUgaHRtbD4KLTxodG1sPgotPGhlYWQ+Ci0gICAgPHNjcmlwdCBzcmM9Ii9q
cy10ZXN0LXJlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KLSAgICA8c2NyaXB0IHNyYz0i
cmVzb3VyY2VzL3V0aWwuanMiPjwvc2NyaXB0PgotICAgIDxzY3JpcHQ+Ci0gICAgICAgIGRlc2Ny
aXB0aW9uKCJUZXN0cyB0aGF0IHJlZGlyZWN0cyBmb3IgYSBzYW5kYm94ZWQgaWZyYW1lIG5lc3Rl
ZCBpbiBhIG5vbi1zYW5kYm94ZWQgaWZyYW1lIGdldCBjb3VudGVkIHByb3Blcmx5LiIpOwotICAg
ICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKLSAgICAgICAgd2luZG93LmFkZEV2ZW50TGlzdGVu
ZXIoIm1lc3NhZ2UiLCByZWNlaXZlTWVzc2FnZSwgZmFsc2UpOwotCi0gICAgICAgIGZ1bmN0aW9u
IGZpbmlzaFRlc3QoKSB7Ci0gICAgICAgICAgICBzZXRFbmFibGVGZWF0dXJlKGZhbHNlLCBmaW5p
c2hKU1Rlc3QpOwotICAgICAgICB9Ci0KLSAgICAgICAgaWYgKHRlc3RSdW5uZXIpIHsKLSAgICAg
ICAgICAgIHRlc3RSdW5uZXIuc2V0VXNlSVRQRGF0YWJhc2UodHJ1ZSk7Ci0gICAgICAgICAgICBz
ZXRFbmFibGVGZWF0dXJlKHRydWUsIGZ1bmN0aW9uKCkgewotICAgICAgICAgICAgICAgIHRlc3RS
dW5uZXIuaW5zdGFsbFN0YXRpc3RpY3NEaWRTY2FuRGF0YVJlY29yZHNDYWxsYmFjayhjaGVja1N0
YXRzKTsKLSAgICAgICAgICAgIH0pOwotICAgICAgICB9Ci0KLSAgICAgICAgdmFyIGxhc3RQYWdl
SW5SZWRpcmVjdENoYWluTG9hZGVkID0gZmFsc2U7Ci0gICAgICAgIHZhciBzdGF0c0NoZWNrZWQg
PSBmYWxzZTsKLQotICAgICAgICBmdW5jdGlvbiByZWNlaXZlTWVzc2FnZShldmVudCkgewotICAg
ICAgICAgICAgaWYgKGV2ZW50Lm9yaWdpbiA9PT0gIm51bGwiKSB7Ci0gICAgICAgICAgICAgICAg
aWYgKGV2ZW50LmRhdGEuaW5kZXhPZigiUEFTUyIpID09PSAtMSkKLSAgICAgICAgICAgICAgICAg
ICAgdGVzdEZhaWxlZChldmVudC5kYXRhLnJlcGxhY2UoIkZBSUwgIiwgIiIpKTsKLSAgICAgICAg
ICAgIH0gZWxzZQotICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoIlJlY2VpdmVkIGEgbWVzc2Fn
ZSBmcm9tIGFuIHVuZXhwZWN0ZWQgb3JpZ2luOiAiICsgZXZlbnQub3JpZ2luKTsKLQotICAgICAg
ICAgICAgbGFzdFBhZ2VJblJlZGlyZWN0Q2hhaW5Mb2FkZWQgPSB0cnVlOwotICAgICAgICAgICAg
aWYgKHN0YXRzQ2hlY2tlZCkKLSAgICAgICAgICAgICAgICBmaW5pc2hUZXN0KCk7Ci0gICAgICAg
ICAgICBlbHNlCi0gICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5zdGF0aXN0aWNzTm90aWZ5T2Jz
ZXJ2ZXIoKTsKLSAgICAgICAgfQotCi0gICAgICAgIGZ1bmN0aW9uIGNoZWNrU3RhdHMoKSB7Ci0g
ICAgICAgICAgICBzaG91bGRCZVRydWUoJ3Rlc3RSdW5uZXIuaXNTdGF0aXN0aWNzUmVnaXN0ZXJl
ZEFzU3ViRnJhbWVVbmRlcigiaHR0cDovL2xvY2FsaG9zdCIsICJodHRwOi8vMTI3LjAuMC4xIikn
KTsKLSAgICAgICAgICAgIHNob3VsZEJlVHJ1ZSgndGVzdFJ1bm5lci5pc1N0YXRpc3RpY3NSZWdp
c3RlcmVkQXNSZWRpcmVjdGluZ1RvKCJodHRwOi8vbG9jYWxob3N0IiwgImh0dHA6Ly8xMjcuMC4w
LjEiKScpOwotICAgICAgICAgICAgc2hvdWxkQmVUcnVlKCd0ZXN0UnVubmVyLmlzU3RhdGlzdGlj
c1JlZ2lzdGVyZWRBc1JlZGlyZWN0aW5nVG8oImh0dHA6Ly8xMjcuMC4wLjEiLCAiaHR0cDovL2xv
Y2FsaG9zdCIpJyk7Ci0KLSAgICAgICAgICAgIHN0YXRzQ2hlY2tlZCA9IHRydWU7Ci0gICAgICAg
ICAgICBpZiAobGFzdFBhZ2VJblJlZGlyZWN0Q2hhaW5Mb2FkZWQpCi0gICAgICAgICAgICAgICAg
ZmluaXNoVGVzdCgpOwotICAgICAgICB9Ci0gICAgPC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keT4K
LTxpZnJhbWUgc2FuZGJveD0iYWxsb3ctc2NyaXB0cyIgc3JjPSJodHRwOi8vMTI3LjAuMC4xOjgw
MDAvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9yZXNvdXJjZXMvcGFnZS13aXRoLXNhbmRib3hlZC1p
ZnJhbWUtcmVkaXJlY3QtaXAtdG8tbG9jYWxob3N0LXRvLWlwLmh0bWwiPgotPC9pZnJhbWU+Ci08
L2JvZHk+Ci08L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291
cmNlTG9hZFN0YXRpc3RpY3Mvc2FuZGJveGVkLW5lc3RpbmctaWZyYW1lLXdpdGgtc2FuZGJveGVk
LWlmcmFtZS1yZWRpcmVjdC1sb2NhbGhvc3QtdG8taXAtdG8tbG9jYWxob3N0LWRhdGFiYXNlLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGlj
cy9zYW5kYm94ZWQtbmVzdGluZy1pZnJhbWUtd2l0aC1zYW5kYm94ZWQtaWZyYW1lLXJlZGlyZWN0
LWxvY2FsaG9zdC10by1pcC10by1sb2NhbGhvc3QtZGF0YWJhc2UtZXhwZWN0ZWQudHh0CmRlbGV0
ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA3MTVjODVlYjQ3ZTBmMDg0MTZlNjFmZDAxNWZkN2Fl
M2NiODY2YjY5Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBh
L0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9zYW5kYm94ZWQt
bmVzdGluZy1pZnJhbWUtd2l0aC1zYW5kYm94ZWQtaWZyYW1lLXJlZGlyZWN0LWxvY2FsaG9zdC10
by1pcC10by1sb2NhbGhvc3QtZGF0YWJhc2UtZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAg
LTEsMTIgKzAsMCBAQAotVGVzdHMgdGhhdCByZWRpcmVjdHMgZm9yIGEgc2FuZGJveGVkIGlmcmFt
ZSBuZXN0ZWQgaW4gYSBub24tc2FuZGJveGVkIGlmcmFtZSBnZXQgY291bnRlZCBwcm9wZXJseS4K
LQotT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywg
Zm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgotCi0KLVBBU1MgdGVzdFJ1bm5lci5pc1N0YXRp
c3RpY3NSZWdpc3RlcmVkQXNTdWJGcmFtZVVuZGVyKCJodHRwOi8vbG9jYWxob3N0IiwgImh0dHA6
Ly8xMjcuMC4wLjEiKSBpcyB0cnVlCi1QQVNTIHRlc3RSdW5uZXIuaXNTdGF0aXN0aWNzUmVnaXN0
ZXJlZEFzUmVkaXJlY3RpbmdUbygiaHR0cDovL2xvY2FsaG9zdCIsICJodHRwOi8vMTI3LjAuMC4x
IikgaXMgdHJ1ZQotUEFTUyB0ZXN0UnVubmVyLmlzU3RhdGlzdGljc1JlZ2lzdGVyZWRBc1JlZGly
ZWN0aW5nVG8oImh0dHA6Ly8xMjcuMC4wLjEiLCAiaHR0cDovL2xvY2FsaG9zdCIpIGlzIHRydWUK
LVBBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKLQotVEVTVCBDT01QTEVURQotCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3Mvc2Fu
ZGJveGVkLW5lc3RpbmctaWZyYW1lLXdpdGgtc2FuZGJveGVkLWlmcmFtZS1yZWRpcmVjdC1sb2Nh
bGhvc3QtdG8taXAtdG8tbG9jYWxob3N0LWRhdGFiYXNlLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3Mvc2FuZGJveGVkLW5lc3RpbmctaWZyYW1lLXdp
dGgtc2FuZGJveGVkLWlmcmFtZS1yZWRpcmVjdC1sb2NhbGhvc3QtdG8taXAtdG8tbG9jYWxob3N0
LWRhdGFiYXNlLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDZkYjM3NDI3ZDU0
YmU0MzYxNTRkY2ViM2QwMzEyMmQ1NmIxNTUxOWIuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRT
dGF0aXN0aWNzL3NhbmRib3hlZC1uZXN0aW5nLWlmcmFtZS13aXRoLXNhbmRib3hlZC1pZnJhbWUt
cmVkaXJlY3QtbG9jYWxob3N0LXRvLWlwLXRvLWxvY2FsaG9zdC1kYXRhYmFzZS5odG1sCisrKyAv
ZGV2L251bGwKQEAgLTEsNTQgKzAsMCBAQAotPCFET0NUWVBFIGh0bWw+Ci08aHRtbD4KLTxoZWFk
PgotICAgIDxzY3JpcHQgc3JjPSIvanMtdGVzdC1yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3Jp
cHQ+Ci0gICAgPHNjcmlwdCBzcmM9InJlc291cmNlcy91dGlsLmpzIj48L3NjcmlwdD4KLSAgICA8
c2NyaXB0PgotICAgICAgICBkZXNjcmlwdGlvbigiVGVzdHMgdGhhdCByZWRpcmVjdHMgZm9yIGEg
c2FuZGJveGVkIGlmcmFtZSBuZXN0ZWQgaW4gYSBub24tc2FuZGJveGVkIGlmcmFtZSBnZXQgY291
bnRlZCBwcm9wZXJseS4iKTsKLSAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7Ci0gICAgICAg
IHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJtZXNzYWdlIiwgcmVjZWl2ZU1lc3NhZ2UsIGZhbHNl
KTsKLQotICAgICAgICBmdW5jdGlvbiBmaW5pc2hUZXN0KCkgewotICAgICAgICAgICAgc2V0RW5h
YmxlRmVhdHVyZShmYWxzZSwgZmluaXNoSlNUZXN0KTsKLSAgICAgICAgfQotCi0gICAgICAgIGlm
ICh0ZXN0UnVubmVyKSB7Ci0gICAgICAgICAgICB0ZXN0UnVubmVyLnNldFVzZUlUUERhdGFiYXNl
KHRydWUpOwotICAgICAgICAgICAgc2V0RW5hYmxlRmVhdHVyZSh0cnVlLCBmdW5jdGlvbigpIHsK
LSAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLmluc3RhbGxTdGF0aXN0aWNzRGlkU2NhbkRhdGFS
ZWNvcmRzQ2FsbGJhY2soY2hlY2tTdGF0cyk7Ci0gICAgICAgICAgICB9KTsKLSAgICAgICAgfQot
Ci0gICAgICAgIHZhciBsYXN0UGFnZUluUmVkaXJlY3RDaGFpbkxvYWRlZCA9IGZhbHNlOwotICAg
ICAgICB2YXIgc3RhdHNDaGVja2VkID0gZmFsc2U7Ci0KLSAgICAgICAgZnVuY3Rpb24gcmVjZWl2
ZU1lc3NhZ2UoZXZlbnQpIHsKLSAgICAgICAgICAgIGlmIChldmVudC5vcmlnaW4gPT09ICJudWxs
IikgewotICAgICAgICAgICAgICAgIGlmIChldmVudC5kYXRhLmluZGV4T2YoIlBBU1MiKSA9PT0g
LTEpCi0gICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoZXZlbnQuZGF0YS5yZXBsYWNlKCJG
QUlMICIsICIiKSk7Ci0gICAgICAgICAgICB9IGVsc2UKLSAgICAgICAgICAgICAgICB0ZXN0RmFp
bGVkKCJSZWNlaXZlZCBhIG1lc3NhZ2UgZnJvbSBhbiB1bmV4cGVjdGVkIG9yaWdpbjogIiArIGV2
ZW50Lm9yaWdpbik7Ci0KLSAgICAgICAgICAgIGxhc3RQYWdlSW5SZWRpcmVjdENoYWluTG9hZGVk
ID0gdHJ1ZTsKLSAgICAgICAgICAgIGlmIChzdGF0c0NoZWNrZWQpCi0gICAgICAgICAgICAgICAg
ZmluaXNoVGVzdCgpOwotICAgICAgICAgICAgZWxzZQotICAgICAgICAgICAgICAgIHRlc3RSdW5u
ZXIuc3RhdGlzdGljc05vdGlmeU9ic2VydmVyKCk7Ci0gICAgICAgIH0KLQotICAgICAgICBmdW5j
dGlvbiBjaGVja1N0YXRzKCkgewotICAgICAgICAgICAgc2hvdWxkQmVUcnVlKCd0ZXN0UnVubmVy
LmlzU3RhdGlzdGljc1JlZ2lzdGVyZWRBc1N1YkZyYW1lVW5kZXIoImh0dHA6Ly9sb2NhbGhvc3Qi
LCAiaHR0cDovLzEyNy4wLjAuMSIpJyk7Ci0gICAgICAgICAgICBzaG91bGRCZVRydWUoJ3Rlc3RS
dW5uZXIuaXNTdGF0aXN0aWNzUmVnaXN0ZXJlZEFzUmVkaXJlY3RpbmdUbygiaHR0cDovL2xvY2Fs
aG9zdCIsICJodHRwOi8vMTI3LjAuMC4xIiknKTsKLSAgICAgICAgICAgIHNob3VsZEJlVHJ1ZSgn
dGVzdFJ1bm5lci5pc1N0YXRpc3RpY3NSZWdpc3RlcmVkQXNSZWRpcmVjdGluZ1RvKCJodHRwOi8v
MTI3LjAuMC4xIiwgImh0dHA6Ly9sb2NhbGhvc3QiKScpOwotCi0gICAgICAgICAgICBzdGF0c0No
ZWNrZWQgPSB0cnVlOwotICAgICAgICAgICAgaWYgKGxhc3RQYWdlSW5SZWRpcmVjdENoYWluTG9h
ZGVkKQotICAgICAgICAgICAgICAgIGZpbmlzaFRlc3QoKTsKLSAgICAgICAgfQotICAgIDwvc2Ny
aXB0PgotPC9oZWFkPgotPGJvZHk+Ci08aWZyYW1lIHNhbmRib3g9ImFsbG93LXNjcmlwdHMiIHNy
Yz0iaHR0cDovLzEyNy4wLjAuMTo4MDAwL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvcmVzb3VyY2Vz
L3BhZ2Utd2l0aC1zYW5kYm94ZWQtaWZyYW1lLXJlZGlyZWN0LWxvY2FsaG9zdC10by1pcC10by1s
b2NhbGhvc3QuaHRtbCI+Ci08L2lmcmFtZT4KLTwvYm9keT4KLTwvaHRtbD4KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9zZXQtY3VzdG9t
LXByZXZhbGVudC1yZXNvdXJjZS1pbi1kZWJ1Zy1tb2RlLWRhdGFiYXNlLWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9zZXQtY3VzdG9t
LXByZXZhbGVudC1yZXNvdXJjZS1pbi1kZWJ1Zy1tb2RlLWRhdGFiYXNlLWV4cGVjdGVkLnR4dApk
ZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMmRjMDczZGE0N2NiYTQ4NjA3NzIzZDRmZGI2
M2NiYTE1NmQ4N2U2Mi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAot
LS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3Mvc2V0LWN1
c3RvbS1wcmV2YWxlbnQtcmVzb3VyY2UtaW4tZGVidWctbW9kZS1kYXRhYmFzZS1leHBlY3RlZC50
eHQKKysrIC9kZXYvbnVsbApAQCAtMSwxMCArMCwwIEBACi1UZXN0IGZvciBlbmFibGluZyBkZWJ1
ZyBtb2RlIGFuZCB0aGF0IGl0IGFsbG93cyBzZXR0aW5nIGEgY3VzdG9tIGRvbWFpbiBhcyBhIHBy
ZXZhbGVudCByZXNvdXJjZS4KLQotT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9m
ICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgotCi0KLVBBU1Mg
aHR0cDovL2xvY2FsaG9zdDo4MDAwIGdvdCBzZXQgYXMgYSBjdXN0b20gcHJldmFsZW50IHJlc291
cmNlIGluIGRlYnVnIG1vZGUuCi1QQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCi0KLVRF
U1QgQ09NUExFVEUKLQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJj
ZUxvYWRTdGF0aXN0aWNzL3NldC1jdXN0b20tcHJldmFsZW50LXJlc291cmNlLWluLWRlYnVnLW1v
ZGUtZGF0YWJhc2UuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3Rh
dGlzdGljcy9zZXQtY3VzdG9tLXByZXZhbGVudC1yZXNvdXJjZS1pbi1kZWJ1Zy1tb2RlLWRhdGFi
YXNlLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDVmZGE4MTIwMTlhOWU3M2Zm
OTU1ODkxNWUwZjg4OTI2YThkOTA0OWEuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0
aWNzL3NldC1jdXN0b20tcHJldmFsZW50LXJlc291cmNlLWluLWRlYnVnLW1vZGUtZGF0YWJhc2Uu
aHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDM2ICswLDAgQEAKLTwhRE9DVFlQRSBodG1sPgotPGh0
bWwgbGFuZz0iZW4iPgotPGhlYWQ+Ci0gICAgPG1ldGEgY2hhcnNldD0iVVRGLTgiPgotICAgIDxz
Y3JpcHQgc3JjPSIvanMtdGVzdC1yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+Ci0gICAg
PHNjcmlwdCBzcmM9InJlc291cmNlcy91dGlsLmpzIj48L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5
PgotPHNjcmlwdD4KLSAgICBkZXNjcmlwdGlvbigiVGVzdCBmb3IgZW5hYmxpbmcgZGVidWcgbW9k
ZSBhbmQgdGhhdCBpdCBhbGxvd3Mgc2V0dGluZyBhIGN1c3RvbSBkb21haW4gYXMgYSBwcmV2YWxl
bnQgcmVzb3VyY2UuIik7Ci0gICAganNUZXN0SXNBc3luYyA9IHRydWU7Ci0KLSAgICBjb25zdCB0
aGlyZFBhcnR5T3JpZ2luID0gImh0dHA6Ly9sb2NhbGhvc3Q6ODAwMCI7Ci0KLSAgICBpZiAod2lu
ZG93LnRlc3RSdW5uZXIgJiYgd2luZG93LmludGVybmFscykgewotICAgICAgICB0ZXN0UnVubmVy
LnNldFVzZUlUUERhdGFiYXNlKHRydWUpOwotICAgICAgICBzZXRFbmFibGVGZWF0dXJlKHRydWUs
IGZ1bmN0aW9uKCkgewotICAgICAgICAgICAgaWYgKHRlc3RSdW5uZXIuaXNTdGF0aXN0aWNzUHJl
dmFsZW50UmVzb3VyY2UodGhpcmRQYXJ0eU9yaWdpbikpCi0gICAgICAgICAgICAgICAgdGVzdEZh
aWxlZCh0aGlyZFBhcnR5T3JpZ2luICsgIiBhbHJlYWR5IHNldCBhcyBwcmV2YWxlbnQgcmVzb3Vy
Y2UuIik7Ci0KLSAgICAgICAgICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc1ByZXZhbGVudFJl
c291cmNlRm9yRGVidWdNb2RlKHRoaXJkUGFydHlPcmlnaW4sIGZ1bmN0aW9uKCkgewotICAgICAg
ICAgICAgICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc0RlYnVnTW9kZSh0cnVlLCBmdW5jdGlv
bigpIHsKLSAgICAgICAgICAgICAgICAgICAgaWYgKCF0ZXN0UnVubmVyLmlzU3RhdGlzdGljc1By
ZXZhbGVudFJlc291cmNlKHRoaXJkUGFydHlPcmlnaW4pKQotICAgICAgICAgICAgICAgICAgICAg
ICAgdGVzdEZhaWxlZCh0aGlyZFBhcnR5T3JpZ2luICsgIiBkaWRuJ3QgZ2V0IHNldCBhcyBwcmV2
YWxlbnQgcmVzb3VyY2UuIik7Ci0gICAgICAgICAgICAgICAgICAgIGVsc2UKLSAgICAgICAgICAg
ICAgICAgICAgICAgIHRlc3RQYXNzZWQodGhpcmRQYXJ0eU9yaWdpbiArICIgZ290IHNldCBhcyBh
IGN1c3RvbSBwcmV2YWxlbnQgcmVzb3VyY2UgaW4gZGVidWcgbW9kZS4iKTsKLSAgICAgICAgICAg
ICAgICAgICAgdGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNzRGVidWdNb2RlKGZhbHNlLCBmdW5jdGlv
bigpIHsKLSAgICAgICAgICAgICAgICAgICAgICAgIHNldEVuYWJsZUZlYXR1cmUoZmFsc2UsIGZp
bmlzaEpTVGVzdCk7Ci0gICAgICAgICAgICAgICAgICAgIH0pOwotICAgICAgICAgICAgICAgIH0p
OwotICAgICAgICAgICAgfSk7Ci0gICAgICAgIH0pOwotICAgIH0KLTwvc2NyaXB0PgotPC9ib2R5
PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxv
YWRTdGF0aXN0aWNzL3N0YW5kYWxvbmUtd2ViLWFwcGxpY2F0aW9uLWV4ZW1wdC1mcm9tLXdlYnNp
dGUtZGF0YS1kZWxldGlvbi1kYXRhYmFzZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3Mvc3RhbmRhbG9uZS13ZWItYXBwbGljYXRpb24t
ZXhlbXB0LWZyb20td2Vic2l0ZS1kYXRhLWRlbGV0aW9uLWRhdGFiYXNlLWV4cGVjdGVkLnR4dApk
ZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNWI2YTQzNTQ1Mzg5OGM5MDVhZmZmNzE5OTI2
YjQyZTQ3ODQxY2JmNy4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAot
LS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3Mvc3RhbmRh
bG9uZS13ZWItYXBwbGljYXRpb24tZXhlbXB0LWZyb20td2Vic2l0ZS1kYXRhLWRlbGV0aW9uLWRh
dGFiYXNlLWV4cGVjdGVkLnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDE1ICswLDAgQEAKLUNoZWNr
IHRoYXQgbm9uLWNvb2tpZSB3ZWJzaXRlIGRhdGEgZG9lcyBub3QgZ2V0IHJlbW92ZWQgYWZ0ZXIg
YSBwZXJpb2Qgb2Ygbm8gdXNlciBpbnRlcmFjdGlvbiBpZiB0aGUgd2Vic2l0ZSBpcyBhIHN0YW5k
YWxvbmUgd2ViIGFwcGxpY2F0aW9uLgotCi1CZWZvcmUgZGVsZXRpb246IENsaWVudC1zaWRlIGNv
b2tpZSBleGlzdHMuCi1CZWZvcmUgZGVsZXRpb246IEh0dHBPbmx5IGNvb2tpZSBleGlzdHMuCi1C
ZWZvcmUgZGVsZXRpb246IFJlZ3VsYXIgc2VydmVyLXNpZGUgY29va2llIGV4aXN0cy4KLUJlZm9y
ZSBkZWxldGlvbjogTG9jYWxTdG9yYWdlIGVudHJ5IGRvZXMgZXhpc3QuCi1CZWZvcmUgZGVsZXRp
b246IElEQiBlbnRyeSBkb2VzIGV4aXN0LgotCi1BZnRlciBkZWxldGlvbjogSHR0cE9ubHkgY29v
a2llIGV4aXN0cy4KLUFmdGVyIGRlbGV0aW9uOiBDbGllbnQtc2lkZSBjb29raWUgZXhpc3RzLgot
QWZ0ZXIgZGVsZXRpb246IFJlZ3VsYXIgc2VydmVyLXNpZGUgY29va2llIGV4aXN0cy4KLUFmdGVy
IGRlbGV0aW9uOiBMb2NhbFN0b3JhZ2UgZW50cnkgZG9lcyBleGlzdC4KLUFmdGVyIGRlbGV0aW9u
OiBJREIgZW50cnkgZG9lcyBleGlzdC4KLQotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3Mvc3RhbmRhbG9uZS13ZWItYXBwbGljYXRpb24t
ZXhlbXB0LWZyb20td2Vic2l0ZS1kYXRhLWRlbGV0aW9uLWRhdGFiYXNlLmh0bWwgYi9MYXlvdXRU
ZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3Mvc3RhbmRhbG9uZS13ZWItYXBw
bGljYXRpb24tZXhlbXB0LWZyb20td2Vic2l0ZS1kYXRhLWRlbGV0aW9uLWRhdGFiYXNlLmh0bWwK
ZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDY0ZjY0MjMzM2RmNjdkNzA0M2U3Y2Q4OTE1
ZjBhMDk3MzhjMGRiYTIuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAK
LS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3N0YW5k
YWxvbmUtd2ViLWFwcGxpY2F0aW9uLWV4ZW1wdC1mcm9tLXdlYnNpdGUtZGF0YS1kZWxldGlvbi1k
YXRhYmFzZS5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsMjU1ICswLDAgQEAKLTwhLS0gd2Via2l0
LXRlc3QtcnVubmVyIFsgc3RhbmRhbG9uZVdlYkFwcGxpY2F0aW9uVVJMPWh0dHA6Ly8xMjcuMC4w
LjEgXSAtLT4KLTwhRE9DVFlQRSBodG1sPgotPGh0bWw+Ci08aGVhZD4KLSAgICA8c2NyaXB0IHNy
Yz0iL2Nvb2tpZXMvcmVzb3VyY2VzL2Nvb2tpZS11dGlsaXRpZXMuanMiPjwvc2NyaXB0PgotICAg
IDxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvdXRpbC5qcyI+PC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9k
eSBvbmxvYWQ9InNldFRpbWVvdXQoJ3J1blRlc3QoKScsIDApIj4KLTxkaXYgaWQ9ImRlc2NyaXB0
aW9uIj5DaGVjayB0aGF0IG5vbi1jb29raWUgd2Vic2l0ZSBkYXRhIGRvZXMgbm90IGdldCByZW1v
dmVkIGFmdGVyIGEgcGVyaW9kIG9mIG5vIHVzZXIgaW50ZXJhY3Rpb24gaWYgdGhlIHdlYnNpdGUg
aXMgYSBzdGFuZGFsb25lIHdlYiBhcHBsaWNhdGlvbi48L2Rpdj4KLTxicj4KLTxkaXYgaWQ9Im91
dHB1dCI+PC9kaXY+Ci08YnI+Ci08c2NyaXB0PgotICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9u
ZSgpOwotICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOwotICAgIHRlc3RSdW5uZXIuc2V0VXNl
SVRQRGF0YWJhc2UodHJ1ZSk7Ci0KLSAgICBjb25zdCBodHRwT25seUNvb2tpZU5hbWUgPSAiaHR0
cC1vbmx5LWNvb2tpZSI7Ci0gICAgY29uc3Qgc2VydmVyU2lkZUNvb2tpZU5hbWUgPSAic2VydmVy
LXNpZGUtY29va2llIjsKLSAgICBjb25zdCBjbGllbnRTaWRlQ29va2llTmFtZSA9ICJjbGllbnQt
c2lkZS1jb29raWUiOwotCi0gICAgZnVuY3Rpb24gc29ydFN0cmluZ0FycmF5KGEsIGIpIHsKLSAg
ICAgICAgYSA9IGEudG9Mb3dlckNhc2UoKTsKLSAgICAgICAgYiA9IGIudG9Mb3dlckNhc2UoKTsK
LQotICAgICAgICByZXR1cm4gYSA+IGIgPyAxIDogYiA+IGEgPyAtMSA6IDA7Ci0gICAgfQotCi0g
ICAgZnVuY3Rpb24gYWRkTGluZWJyZWFrVG9PdXRwdXQoKSB7Ci0gICAgICAgIGxldCBlbGVtZW50
ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiYnIiKTsKLSAgICAgICAgb3V0cHV0LmFwcGVuZENo
aWxkKGVsZW1lbnQpOwotICAgIH0KLQotICAgIGZ1bmN0aW9uIGFkZE91dHB1dChtZXNzYWdlKSB7
Ci0gICAgICAgIGxldCBlbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7Ci0g
ICAgICAgIGVsZW1lbnQuaW5uZXJUZXh0ID0gbWVzc2FnZTsKLSAgICAgICAgb3V0cHV0LmFwcGVu
ZENoaWxkKGVsZW1lbnQpOwotICAgIH0KLQotICAgIGZ1bmN0aW9uIGNoZWNrQ29va2llcyhpc0Fm
dGVyRGVsZXRpb24pIHsKLSAgICAgICAgbGV0IHVuc29ydGVkVGVzdFBhc3NlZE1lc3NhZ2VzID0g
W107Ci0gICAgICAgIGxldCBjb29raWVzID0gaW50ZXJuYWxzLmdldENvb2tpZXMoKTsKLSAgICAg
ICAgaWYgKCFjb29raWVzLmxlbmd0aCkKLSAgICAgICAgICAgIGFkZE91dHB1dCgoaXNBZnRlckRl
bGV0aW9uID8gIkFmdGVyIiA6ICJCZWZvcmUiKSArICIgc2NyaXB0LWFjY2Vzc2libGUgZGVsZXRp
b246IE5vIGNvb2tpZXMgZm91bmQuIik7Ci0gICAgICAgIGZvciAobGV0IGNvb2tpZSBvZiBjb29r
aWVzKSB7Ci0gICAgICAgICAgICBzd2l0Y2ggKGNvb2tpZS5uYW1lKSB7Ci0gICAgICAgICAgICAg
ICAgY2FzZSBodHRwT25seUNvb2tpZU5hbWU6Ci0gICAgICAgICAgICAgICAgICAgIHVuc29ydGVk
VGVzdFBhc3NlZE1lc3NhZ2VzLnB1c2goKGlzQWZ0ZXJEZWxldGlvbiA/ICJBZnRlciIgOiAiQmVm
b3JlIikgKyAiIGRlbGV0aW9uOiAiICsgKGlzQWZ0ZXJEZWxldGlvbiA/ICIgIiA6ICIiKSArICJI
dHRwT25seSBjb29raWUgZXhpc3RzLiIpOwotICAgICAgICAgICAgICAgICAgICBicmVhazsKLSAg
ICAgICAgICAgICAgICBjYXNlIHNlcnZlclNpZGVDb29raWVOYW1lOgotICAgICAgICAgICAgICAg
ICAgICB1bnNvcnRlZFRlc3RQYXNzZWRNZXNzYWdlcy5wdXNoKChpc0FmdGVyRGVsZXRpb24gPyAi
QWZ0ZXIiIDogIkJlZm9yZSIpICsgIiBkZWxldGlvbjogUmVndWxhciBzZXJ2ZXItc2lkZSBjb29r
aWUgZXhpc3RzLiIpOwotICAgICAgICAgICAgICAgICAgICBicmVhazsKLSAgICAgICAgICAgICAg
ICBjYXNlIGNsaWVudFNpZGVDb29raWVOYW1lOgotICAgICAgICAgICAgICAgICAgICB1bnNvcnRl
ZFRlc3RQYXNzZWRNZXNzYWdlcy5wdXNoKChpc0FmdGVyRGVsZXRpb24gPyAiQWZ0ZXIiIDogIkJl
Zm9yZSIpICsgIiBkZWxldGlvbjogQ2xpZW50LXNpZGUgY29va2llIGV4aXN0cy4iKTsKLSAgICAg
ICAgICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgICAgICB9Ci0gICAgICAgIH0KLSAgICAgICAg
bGV0IHNvcnRlZFRlc3RQYXNzZWRNZXNzYWdlcyA9IHVuc29ydGVkVGVzdFBhc3NlZE1lc3NhZ2Vz
LnNvcnQoc29ydFN0cmluZ0FycmF5KTsKLSAgICAgICAgZm9yIChsZXQgdGVzdFBhc3NlZE1lc3Nh
Z2Ugb2Ygc29ydGVkVGVzdFBhc3NlZE1lc3NhZ2VzKSB7Ci0gICAgICAgICAgICBhZGRPdXRwdXQo
dGVzdFBhc3NlZE1lc3NhZ2UpOwotICAgICAgICB9Ci0gICAgfQotCi0gICAgY29uc3QgZGJOYW1l
ID0gIlRlc3REYXRhYmFzZSI7Ci0KLSAgICBmdW5jdGlvbiBjcmVhdGVJREJEYXRhU3RvcmUoY2Fs
bGJhY2spIHsKLSAgICAgICAgbGV0IHJlcXVlc3QgPSBpbmRleGVkREIub3BlbihkYk5hbWUpOwot
ICAgICAgICByZXF1ZXN0Lm9uZXJyb3IgPSBmdW5jdGlvbigpIHsKLSAgICAgICAgICAgIGFkZE91
dHB1dCgiQ291bGRuJ3QgY3JlYXRlIGluZGV4ZWREQi4iKTsKLSAgICAgICAgICAgIGZpbmlzaFRl
c3QoKTsKLSAgICAgICAgfTsKLSAgICAgICAgcmVxdWVzdC5vbnVwZ3JhZGVuZWVkZWQgPSBmdW5j
dGlvbihldmVudCkgewotICAgICAgICAgICAgbGV0IGRiID0gZXZlbnQudGFyZ2V0LnJlc3VsdDsK
LSAgICAgICAgICAgIGxldCBvYmpTdG9yZSA9IGRiLmNyZWF0ZU9iamVjdFN0b3JlKCJ0ZXN0Iiwg
e2F1dG9JbmNyZW1lbnQ6IHRydWV9KTsKLSAgICAgICAgICAgIG9ialN0b3JlLmFkZCgidmFsdWUi
KTsKLSAgICAgICAgICAgIGNhbGxiYWNrKCk7Ci0gICAgICAgIH0KLSAgICB9Ci0KLSAgICBjb25z
dCBtYXhJbnRlcnZhbHMgPSAyMDsKLQotICAgIGxldCBpbnRlcnZhbENvdW50ZXJJREI7Ci0gICAg
bGV0IGNoZWNrSURCQ2FsbGJhY2s7Ci0gICAgbGV0IGNoZWNrSURCSW50ZXJ2YWxJRDsKLSAgICBs
ZXQgc2VtYXBob3JlSURCQ2hlY2sgPSBmYWxzZTsKLSAgICBmdW5jdGlvbiBjaGVja0lEQkRhdGFT
dG9yZUV4aXN0cyhpc0FmdGVyRGVsZXRpb24sIGNhbGxiYWNrKSB7Ci0gICAgICAgIGxldCByZXF1
ZXN0OwotICAgICAgICBpbnRlcnZhbENvdW50ZXJJREIgPSAwOwotICAgICAgICBjaGVja0lEQkNh
bGxiYWNrID0gY2FsbGJhY2s7Ci0gICAgICAgIGlmICghaXNBZnRlckRlbGV0aW9uKSB7Ci0gICAg
ICAgICAgICAvLyBDaGVjayB1bnRpbCB0aGVyZSBpcyBhIElEQi4KLSAgICAgICAgICAgIGNoZWNr
SURCSW50ZXJ2YWxJRCA9IHNldEludGVydmFsKGZ1bmN0aW9uKCkgewotICAgICAgICAgICAgICAg
IGlmIChzZW1hcGhvcmVJREJDaGVjaykKLSAgICAgICAgICAgICAgICAgICAgcmV0dXJuOwotICAg
ICAgICAgICAgICAgIHNlbWFwaG9yZUlEQkNoZWNrID0gdHJ1ZTsKLQotICAgICAgICAgICAgICAg
IGlmICgrK2ludGVydmFsQ291bnRlcklEQiA+PSBtYXhJbnRlcnZhbHMpIHsKLSAgICAgICAgICAg
ICAgICAgICAgY2xlYXJJbnRlcnZhbChjaGVja0lEQkludGVydmFsSUQpOwotICAgICAgICAgICAg
ICAgICAgICBhZGRPdXRwdXQoIkJlZm9yZSBkZWxldGlvbjogSURCIGVudHJ5IGRvZXMgbm90IGV4
aXN0LiIpOwotICAgICAgICAgICAgICAgICAgICBzZW1hcGhvcmVJREJDaGVjayA9IGZhbHNlOwot
ICAgICAgICAgICAgICAgICAgICBjaGVja0lEQkNhbGxiYWNrKCk7Ci0gICAgICAgICAgICAgICAg
fSBlbHNlIHsKLSAgICAgICAgICAgICAgICAgICAgcmVxdWVzdCA9IGluZGV4ZWREQi5vcGVuKGRi
TmFtZSk7Ci0gICAgICAgICAgICAgICAgICAgIHJlcXVlc3Qub25lcnJvciA9IGZ1bmN0aW9uICgp
IHsKLSAgICAgICAgICAgICAgICAgICAgICAgIGNsZWFySW50ZXJ2YWwoY2hlY2tJREJJbnRlcnZh
bElEKTsKLSAgICAgICAgICAgICAgICAgICAgICAgIGFkZE91dHB1dCgiQ291bGRuJ3Qgb3BlbiBp
bmRleGVkREIuIik7Ci0gICAgICAgICAgICAgICAgICAgICAgICBzZW1hcGhvcmVJREJDaGVjayA9
IGZhbHNlOwotICAgICAgICAgICAgICAgICAgICAgICAgZmluaXNoVGVzdCgpOwotICAgICAgICAg
ICAgICAgICAgICB9OwotICAgICAgICAgICAgICAgICAgICByZXF1ZXN0Lm9udXBncmFkZW5lZWRl
ZCA9IGZ1bmN0aW9uICgpIHsKLSAgICAgICAgICAgICAgICAgICAgICAgIC8vIExldCB0aGUgbmV4
dCBpbnRlcnZhbCBjaGVjayBhZ2Fpbi4KLSAgICAgICAgICAgICAgICAgICAgICAgIHNlbWFwaG9y
ZUlEQkNoZWNrID0gZmFsc2U7Ci0gICAgICAgICAgICAgICAgICAgIH07Ci0gICAgICAgICAgICAg
ICAgICAgIHJlcXVlc3Qub25zdWNjZXNzID0gZnVuY3Rpb24gKCkgewotICAgICAgICAgICAgICAg
ICAgICAgICAgY2xlYXJJbnRlcnZhbChjaGVja0lEQkludGVydmFsSUQpOwotICAgICAgICAgICAg
ICAgICAgICAgICAgYWRkT3V0cHV0KCJCZWZvcmUgZGVsZXRpb246IElEQiBlbnRyeSBkb2VzIGV4
aXN0LiIpOwotICAgICAgICAgICAgICAgICAgICAgICAgc2VtYXBob3JlSURCQ2hlY2sgPSBmYWxz
ZTsKLSAgICAgICAgICAgICAgICAgICAgICAgIGNoZWNrSURCQ2FsbGJhY2soKTsKLSAgICAgICAg
ICAgICAgICAgICAgfTsKLSAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICB9LCAyMDApOwot
ICAgICAgICB9IGVsc2UgewotICAgICAgICAgICAgLy8gQ2hlY2sgdW50aWwgdGhlcmUgaXMgYSBJ
REIuCi0gICAgICAgICAgICBjaGVja0lEQkludGVydmFsSUQgPSBzZXRJbnRlcnZhbChmdW5jdGlv
biAoKSB7Ci0gICAgICAgICAgICAgICAgaWYgKHNlbWFwaG9yZUlEQkNoZWNrKQotICAgICAgICAg
ICAgICAgICAgICByZXR1cm47Ci0gICAgICAgICAgICAgICAgc2VtYXBob3JlSURCQ2hlY2sgPSB0
cnVlOwotCi0gICAgICAgICAgICAgICAgaWYgKCsraW50ZXJ2YWxDb3VudGVySURCID49IG1heElu
dGVydmFscykgewotICAgICAgICAgICAgICAgICAgICBjbGVhckludGVydmFsKGNoZWNrSURCSW50
ZXJ2YWxJRCk7Ci0gICAgICAgICAgICAgICAgICAgIGFkZE91dHB1dCgiQWZ0ZXIgZGVsZXRpb246
IElEQiBlbnRyeSBjaGVja3MgZXhoYXVzdGVkLiIpOwotICAgICAgICAgICAgICAgICAgICBzZW1h
cGhvcmVJREJDaGVjayA9IGZhbHNlOwotICAgICAgICAgICAgICAgICAgICBjaGVja0lEQkNhbGxi
YWNrKCk7Ci0gICAgICAgICAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAgICAgICAgICAgcmVx
dWVzdCA9IGluZGV4ZWREQi5vcGVuKGRiTmFtZSk7Ci0gICAgICAgICAgICAgICAgICAgIHJlcXVl
c3Qub25lcnJvciA9IGZ1bmN0aW9uICgpIHsKLSAgICAgICAgICAgICAgICAgICAgICAgIGNsZWFy
SW50ZXJ2YWwoY2hlY2tJREJJbnRlcnZhbElEKTsKLSAgICAgICAgICAgICAgICAgICAgICAgIGFk
ZE91dHB1dCgiQ291bGRuJ3Qgb3BlbiBpbmRleGVkREIuIik7Ci0gICAgICAgICAgICAgICAgICAg
ICAgICBzZW1hcGhvcmVJREJDaGVjayA9IGZhbHNlOwotICAgICAgICAgICAgICAgICAgICAgICAg
ZmluaXNoVGVzdCgpOwotICAgICAgICAgICAgICAgICAgICB9OwotICAgICAgICAgICAgICAgICAg
ICByZXF1ZXN0Lm9udXBncmFkZW5lZWRlZCA9IGZ1bmN0aW9uICgpIHsKLSAgICAgICAgICAgICAg
ICAgICAgICAgIC8vIExldCB0aGUgbmV4dCBpbnRlcnZhbCBjaGVjayBhZ2Fpbi4KLSAgICAgICAg
ICAgICAgICAgICAgICAgIHNlbWFwaG9yZUlEQkNoZWNrID0gZmFsc2U7Ci0gICAgICAgICAgICAg
ICAgICAgIH07Ci0gICAgICAgICAgICAgICAgICAgIHJlcXVlc3Qub25zdWNjZXNzID0gZnVuY3Rp
b24gKCkgewotICAgICAgICAgICAgICAgICAgICAgICAgY2xlYXJJbnRlcnZhbChjaGVja0lEQklu
dGVydmFsSUQpOwotICAgICAgICAgICAgICAgICAgICAgICAgYWRkT3V0cHV0KCJBZnRlciBkZWxl
dGlvbjogSURCIGVudHJ5IGRvZXMgZXhpc3QuIik7Ci0gICAgICAgICAgICAgICAgICAgICAgICBz
ZW1hcGhvcmVJREJDaGVjayA9IGZhbHNlOwotICAgICAgICAgICAgICAgICAgICAgICAgY2hlY2tJ
REJDYWxsYmFjaygpOwotICAgICAgICAgICAgICAgICAgICB9OwotICAgICAgICAgICAgICAgIH0K
LSAgICAgICAgICAgIH0sIDIwMCk7Ci0gICAgICAgIH0KLSAgICB9Ci0KLSAgICBsZXQgaW50ZXJ2
YWxDb3VudGVyTG9jYWxTdG9yYWdlOwotICAgIGxldCBjaGVja0xvY2FsU3RvcmFnZUNhbGxiYWNr
OwotICAgIGxldCBjaGVja0xvY2FsU3RvcmFnZUludGVydmFsSUQ7Ci0gICAgY29uc3QgbG9jYWxT
dG9yYWdlTmFtZSA9ICJ0ZXN0IjsKLSAgICBjb25zdCBsb2NhbFN0b3JhZ2VWYWx1ZSA9ICJ2YWx1
ZSI7Ci0gICAgZnVuY3Rpb24gY2hlY2tMb2NhbFN0b3JhZ2VFeGlzdHMoaXNBZnRlckRlbGV0aW9u
LCBjYWxsYmFjaykgewotICAgICAgICBpbnRlcnZhbENvdW50ZXJMb2NhbFN0b3JhZ2UgPSAwOwot
ICAgICAgICBjaGVja0xvY2FsU3RvcmFnZUNhbGxiYWNrID0gY2FsbGJhY2s7Ci0gICAgICAgIGlm
ICghaXNBZnRlckRlbGV0aW9uKSB7Ci0gICAgICAgICAgICAvLyBDaGVjayB1bnRpbCB0aGVyZSBp
cyBMb2NhbFN0b3JhZ2UuCi0gICAgICAgICAgICBjaGVja0xvY2FsU3RvcmFnZUludGVydmFsSUQg
PSBzZXRJbnRlcnZhbChmdW5jdGlvbigpIHsKLSAgICAgICAgICAgICAgICBpZiAoKytpbnRlcnZh
bENvdW50ZXJMb2NhbFN0b3JhZ2UgPj0gbWF4SW50ZXJ2YWxzKSB7Ci0gICAgICAgICAgICAgICAg
ICAgIGNsZWFySW50ZXJ2YWwoY2hlY2tMb2NhbFN0b3JhZ2VJbnRlcnZhbElEKTsKLSAgICAgICAg
ICAgICAgICAgICAgbGV0IHZhbHVlID0gbG9jYWxTdG9yYWdlLmdldEl0ZW0obG9jYWxTdG9yYWdl
TmFtZSk7Ci0gICAgICAgICAgICAgICAgICAgIGFkZE91dHB1dCgiQmVmb3JlIGRlbGV0aW9uOiBM
b2NhbFN0b3JhZ2UgZW50cnkgIiArICh2YWx1ZSA9PT0gbG9jYWxTdG9yYWdlVmFsdWUgPyAiZG9l
cyIgOiAiZG9lcyBub3QiKSArICIgZXhpc3QuIik7Ci0gICAgICAgICAgICAgICAgICAgIGNoZWNr
TG9jYWxTdG9yYWdlQ2FsbGJhY2soKTsKLSAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKHRlc3RS
dW5uZXIuaXNTdGF0aXN0aWNzSGFzTG9jYWxTdG9yYWdlKG9yaWdpblVuZGVyVGVzdCkpIHsKLSAg
ICAgICAgICAgICAgICAgICAgY2xlYXJJbnRlcnZhbChjaGVja0xvY2FsU3RvcmFnZUludGVydmFs
SUQpOwotICAgICAgICAgICAgICAgICAgICBsZXQgdmFsdWUgPSBsb2NhbFN0b3JhZ2UuZ2V0SXRl
bShsb2NhbFN0b3JhZ2VOYW1lKTsKLSAgICAgICAgICAgICAgICAgICAgYWRkT3V0cHV0KCJCZWZv
cmUgZGVsZXRpb246IExvY2FsU3RvcmFnZSBlbnRyeSAiICsgKHZhbHVlID09PSBsb2NhbFN0b3Jh
Z2VWYWx1ZSA/ICJkb2VzIiA6ICJkb2VzIG5vdCIpICsgIiBleGlzdC4iKTsKLSAgICAgICAgICAg
ICAgICAgICAgY2hlY2tMb2NhbFN0b3JhZ2VDYWxsYmFjaygpOwotICAgICAgICAgICAgICAgIH0K
LSAgICAgICAgICAgIH0sIDEwMCk7Ci0gICAgICAgIH0gZWxzZSB7Ci0gICAgICAgICAgICAvLyBD
aGVjayB1bnRpbCB0aGVyZSBpcyBubyBMb2NhbFN0b3JhZ2UuCi0gICAgICAgICAgICBjaGVja0xv
Y2FsU3RvcmFnZUludGVydmFsSUQgPSBzZXRJbnRlcnZhbChmdW5jdGlvbigpIHsKLSAgICAgICAg
ICAgICAgICBpZiAoKytpbnRlcnZhbENvdW50ZXJMb2NhbFN0b3JhZ2UgPj0gbWF4SW50ZXJ2YWxz
KSB7Ci0gICAgICAgICAgICAgICAgICAgIGNsZWFySW50ZXJ2YWwoY2hlY2tMb2NhbFN0b3JhZ2VJ
bnRlcnZhbElEKTsKLSAgICAgICAgICAgICAgICAgICAgbGV0IHZhbHVlID0gbG9jYWxTdG9yYWdl
LmdldEl0ZW0obG9jYWxTdG9yYWdlTmFtZSk7Ci0gICAgICAgICAgICAgICAgICAgIGFkZE91dHB1
dCgiQWZ0ZXIgZGVsZXRpb246IExvY2FsU3RvcmFnZSBlbnRyeSAiICsgKHZhbHVlID09PSBsb2Nh
bFN0b3JhZ2VWYWx1ZSA/ICJkb2VzIiA6ICJkb2VzIG5vdCIpICsgIiBleGlzdC4iKTsKLSAgICAg
ICAgICAgICAgICAgICAgY2hlY2tMb2NhbFN0b3JhZ2VDYWxsYmFjaygpOwotICAgICAgICAgICAg
ICAgIH0gZWxzZSBpZiAoIXRlc3RSdW5uZXIuaXNTdGF0aXN0aWNzSGFzTG9jYWxTdG9yYWdlKG9y
aWdpblVuZGVyVGVzdCkpIHsKLSAgICAgICAgICAgICAgICAgICAgY2xlYXJJbnRlcnZhbChjaGVj
a0xvY2FsU3RvcmFnZUludGVydmFsSUQpOwotICAgICAgICAgICAgICAgICAgICBsZXQgdmFsdWUg
PSBsb2NhbFN0b3JhZ2UuZ2V0SXRlbShsb2NhbFN0b3JhZ2VOYW1lKTsKLSAgICAgICAgICAgICAg
ICAgICAgYWRkT3V0cHV0KCJBZnRlciBkZWxldGlvbjogTG9jYWxTdG9yYWdlIGVudHJ5ICIgKyAo
dmFsdWUgPT09IGxvY2FsU3RvcmFnZVZhbHVlID8gImRvZXMiIDogImRvZXMgbm90IikgKyAiIGV4
aXN0LiIpOwotICAgICAgICAgICAgICAgICAgICBjaGVja0xvY2FsU3RvcmFnZUNhbGxiYWNrKCk7
Ci0gICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgfSwgMTAwKTsKLSAgICAgICAgfQotICAg
IH0KLQotICAgIGFzeW5jIGZ1bmN0aW9uIHdyaXRlV2Vic2l0ZURhdGFBbmRDb250aW51ZSgpIHsK
LSAgICAgICAgLy8gV3JpdGUgY29va2llcy4KLSAgICAgICAgYXdhaXQgZmV0Y2goIi9jb29raWVz
L3Jlc291cmNlcy9zZXQtaHR0cC1vbmx5LWNvb2tpZS5waHA/Y29va2llTmFtZT0iICsgaHR0cE9u
bHlDb29raWVOYW1lLCB7IGNyZWRlbnRpYWxzOiAic2FtZS1vcmlnaW4iIH0pOwotICAgICAgICBh
d2FpdCBmZXRjaCgiL2Nvb2tpZXMvcmVzb3VyY2VzL3NldENvb2tpZXMuY2dpIiwgeyBoZWFkZXJz
OiB7ICJTZXQtQ29va2llIjogc2VydmVyU2lkZUNvb2tpZU5hbWUgKyAiPTE7IHBhdGg9LzsiIH0s
IGNyZWRlbnRpYWxzOiAic2FtZS1vcmlnaW4iIH0pOwotICAgICAgICBkb2N1bWVudC5jb29raWUg
PSBjbGllbnRTaWRlQ29va2llTmFtZSArICI9MSI7Ci0KLSAgICAgICAgY2hlY2tDb29raWVzKGZh
bHNlKTsKLQotICAgICAgICAvLyBXcml0ZSBMb2NhbFN0b3JhZ2UKLSAgICAgICAgbG9jYWxTdG9y
YWdlLnNldEl0ZW0obG9jYWxTdG9yYWdlTmFtZSwgbG9jYWxTdG9yYWdlVmFsdWUpOwotICAgICAg
ICBjaGVja0xvY2FsU3RvcmFnZUV4aXN0cyhmYWxzZSwgZnVuY3Rpb24oKSB7Ci0KLSAgICAgICAg
ICAgIC8vIFdyaXRlIEluZGV4ZWREQi4KLSAgICAgICAgICAgIGNyZWF0ZUlEQkRhdGFTdG9yZShm
dW5jdGlvbiAoKSB7Ci0gICAgICAgICAgICAgICAgY2hlY2tJREJEYXRhU3RvcmVFeGlzdHMoZmFs
c2UsIGZ1bmN0aW9uKCkgewotICAgICAgICAgICAgICAgICAgICBhZGRMaW5lYnJlYWtUb091dHB1
dCgpOwotICAgICAgICAgICAgICAgICAgICBwcm9jZXNzV2Vic2l0ZURhdGFBbmRDb250aW51ZSgp
OwotICAgICAgICAgICAgICAgIH0pOwotICAgICAgICAgICAgfSk7Ci0gICAgICAgIH0pOwotICAg
IH0KLQotICAgIGZ1bmN0aW9uIHByb2Nlc3NXZWJzaXRlRGF0YUFuZENvbnRpbnVlKCkgewotICAg
ICAgICB0ZXN0UnVubmVyLmluc3RhbGxTdGF0aXN0aWNzRGlkU2NhbkRhdGFSZWNvcmRzQ2FsbGJh
Y2soY2hlY2tXZWJzaXRlRGF0YUFuZENvbnRpbnVlKTsKLSAgICAgICAgdGVzdFJ1bm5lci5zdGF0
aXN0aWNzUHJvY2Vzc1N0YXRpc3RpY3NBbmREYXRhUmVjb3JkcygpOwotICAgIH0KLQotICAgIGZ1
bmN0aW9uIGNoZWNrV2Vic2l0ZURhdGFBbmRDb250aW51ZSgpIHsKLSAgICAgICAgY2hlY2tDb29r
aWVzKHRydWUpOwotICAgICAgICBjaGVja0xvY2FsU3RvcmFnZUV4aXN0cyh0cnVlLCBmdW5jdGlv
biAoKSB7Ci0gICAgICAgICAgICBjaGVja0lEQkRhdGFTdG9yZUV4aXN0cyh0cnVlLCBmaW5pc2hU
ZXN0KTsKLSAgICAgICAgfSk7Ci0gICAgfQotCi0gICAgZnVuY3Rpb24gZmluaXNoVGVzdCgpIHsK
LSAgICAgICAgcmVzZXRDb29raWVzKCk7Ci0gICAgICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGlj
c0ZpcnN0UGFydHlXZWJzaXRlRGF0YVJlbW92YWxNb2RlKGZhbHNlLCBmdW5jdGlvbigpIHsKLSAg
ICAgICAgICAgIHNldEVuYWJsZUZlYXR1cmUoZmFsc2UsIGZ1bmN0aW9uKCkgewotICAgICAgICAg
ICAgICAgIHRlc3RSdW5uZXIubm90aWZ5RG9uZSgpOwotICAgICAgICAgICAgfSk7Ci0gICAgICAg
IH0pOwotICAgIH0KLQotICAgIGNvbnN0IG9yaWdpblVuZGVyVGVzdCAgPSAiaHR0cDovLzEyNy4w
LjAuMTo4MDAwIjsKLSAgICBmdW5jdGlvbiBydW5UZXN0KCkgewotICAgICAgICBzZXRFbmFibGVG
ZWF0dXJlKHRydWUsIGZ1bmN0aW9uICgpIHsKLSAgICAgICAgICAgIHRlc3RSdW5uZXIuc2V0U3Rh
dGlzdGljc0ZpcnN0UGFydHlXZWJzaXRlRGF0YVJlbW92YWxNb2RlKHRydWUsIGZ1bmN0aW9uKCkg
ewotICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc1ByZXZhbGVudFJlc291
cmNlKG9yaWdpblVuZGVyVGVzdCwgdHJ1ZSwgZnVuY3Rpb24oKSB7Ci0gICAgICAgICAgICAgICAg
ICAgIGlmICghdGVzdFJ1bm5lci5pc1N0YXRpc3RpY3NQcmV2YWxlbnRSZXNvdXJjZShvcmlnaW5V
bmRlclRlc3QpKQotICAgICAgICAgICAgICAgICAgICAgICAgYWRkT3V0cHV0KCJGQUlMOiAiICsg
b3JpZ2luVW5kZXJUZXN0ICsgIiBkaWRuJ3QgZ2V0IGNsYXNzaWZpZWQgYXMgcHJldmFsZW50LiIp
OwotICAgICAgICAgICAgICAgICAgICB3cml0ZVdlYnNpdGVEYXRhQW5kQ29udGludWUoKTsKLSAg
ICAgICAgICAgICAgICB9KTsKLSAgICAgICAgICAgIH0pOwotICAgICAgICB9KTsKLSAgICB9Ci08
L3NjcmlwdD4KLTwvYm9keT4KLTwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAv
dGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9zdHJpcC1yZWZlcnJlci10by1vcmlnaW4tZm9y
LXByZXZhbGVudC1zdWJyZXNvdXJjZS1yZWRpcmVjdHMtZGF0YWJhc2UtZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3N0cmlwLXJlZmVy
cmVyLXRvLW9yaWdpbi1mb3ItcHJldmFsZW50LXN1YnJlc291cmNlLXJlZGlyZWN0cy1kYXRhYmFz
ZS1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDdiZDU0M2VjOWFm
MzI0YmQ1MGRjMWQ0Yzg2Y2RiMDllOWM0ZDViMjguLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRT
dGF0aXN0aWNzL3N0cmlwLXJlZmVycmVyLXRvLW9yaWdpbi1mb3ItcHJldmFsZW50LXN1YnJlc291
cmNlLXJlZGlyZWN0cy1kYXRhYmFzZS1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSwx
NSArMCwwIEBACi1UZXN0cyB0aGF0IG9ubHkgdGhlIG9yaWdpbiBpcyBzZW50IGFzIHJlZmVycmVy
IGluIHJlZGlyZWN0cyB0byBwcmV2YWxlbnQgcmVzb3VyY2VzIHdpdGhvdXQgdXNlciBpbnRlcmFj
dGlvbi4KLQotT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNz
YWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgotCi0KLVBBU1MgcmVmZXJyZXIgaXMg
Imh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3N0cmlwLXJlZmVy
cmVyLXRvLW9yaWdpbi1mb3ItcHJldmFsZW50LXN1YnJlc291cmNlLXJlZGlyZWN0cy1kYXRhYmFz
ZS5odG1sIgotUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQotCi1URVNUIENPTVBMRVRF
Ci0KLQotLS0tLS0tLS0KLUZyYW1lOiAnPCEtLWZyYW1lMS0tPicKLS0tLS0tLS0tCi1odHRwOi8v
MTI3LjAuMC4xOjgwMDAvCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291
cmNlTG9hZFN0YXRpc3RpY3Mvc3RyaXAtcmVmZXJyZXItdG8tb3JpZ2luLWZvci1wcmV2YWxlbnQt
c3VicmVzb3VyY2UtcmVkaXJlY3RzLWRhdGFiYXNlLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rl
c3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3Mvc3RyaXAtcmVmZXJyZXItdG8tb3JpZ2luLWZvci1w
cmV2YWxlbnQtc3VicmVzb3VyY2UtcmVkaXJlY3RzLWRhdGFiYXNlLmh0bWwKZGVsZXRlZCBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IGIwZjhhMmY0MjBiNWFhNjJjMzdhMjVkNGJkZGZlZDMzYTMzYmZh
NWYuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3N0cmlwLXJlZmVycmVyLXRv
LW9yaWdpbi1mb3ItcHJldmFsZW50LXN1YnJlc291cmNlLXJlZGlyZWN0cy1kYXRhYmFzZS5odG1s
CisrKyAvZGV2L251bGwKQEAgLTEsNTEgKzAsMCBAQAotPCFET0NUWVBFIGh0bWw+Ci08aHRtbD4K
LTxoZWFkPgotICAgIDxzY3JpcHQgc3JjPSIvanMtdGVzdC1yZXNvdXJjZXMvanMtdGVzdC5qcyI+
PC9zY3JpcHQ+Ci0gICAgPHNjcmlwdCBzcmM9InJlc291cmNlcy91dGlsLmpzIj48L3NjcmlwdD4K
LTwvaGVhZD4KLTxib2R5PgotPHNjcmlwdD4KLSAgICBkZXNjcmlwdGlvbigiVGVzdHMgdGhhdCBv
bmx5IHRoZSBvcmlnaW4gaXMgc2VudCBhcyByZWZlcnJlciBpbiByZWRpcmVjdHMgdG8gcHJldmFs
ZW50IHJlc291cmNlcyB3aXRob3V0IHVzZXIgaW50ZXJhY3Rpb24uIik7Ci0gICAganNUZXN0SXNB
c3luYyA9IHRydWU7Ci0gICAgdGVzdFJ1bm5lci5kdW1wQ2hpbGRGcmFtZXNBc1RleHQoKTsKLQot
ICAgIGZ1bmN0aW9uIG9wZW5JZnJhbWUodXJsLCBvbkxvYWRIYW5kbGVyKSB7Ci0gICAgICAgIGNv
bnN0IGVsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJpZnJhbWUiKTsKLSAgICAgICAg
ZWxlbWVudC5zcmMgPSB1cmw7Ci0gICAgICAgIGlmIChvbkxvYWRIYW5kbGVyKSB7Ci0gICAgICAg
ICAgICBlbGVtZW50Lm9ubG9hZCA9IG9uTG9hZEhhbmRsZXI7Ci0gICAgICAgIH0KLSAgICAgICAg
ZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChlbGVtZW50KTsKLSAgICB9Ci0KLSAgICB2YXIgcmVm
ZXJyZXI7Ci0gICAgdGVzdFJ1bm5lci5zZXRVc2VJVFBEYXRhYmFzZSh0cnVlKTsKLSAgICBzZXRF
bmFibGVGZWF0dXJlKHRydWUsIGZ1bmN0aW9uKCkgewotICAgICAgICBpZiAodGVzdFJ1bm5lci5p
c1N0YXRpc3RpY3NQcmV2YWxlbnRSZXNvdXJjZSgiaHR0cDovL2xvY2FsaG9zdCIpKQotICAgICAg
ICAgICAgdGVzdEZhaWxlZCgiTG9jYWxob3N0IHdhcyBjbGFzc2lmaWVkIGFzIHByZXZhbGVudCBy
ZXNvdXJjZSBiZWZvcmUgdGhlIHRlc3Qgc3RhcnRlZC4iKTsKLQotICAgICAgICBmZXRjaCgicmVz
b3VyY2VzL2VjaG8tcmVmZXJyZXIucGhwIikudGhlbihmdW5jdGlvbihyZXNwb25zZSkgewotICAg
ICAgICAgICAgcmV0dXJuIHJlc3BvbnNlLnRleHQoKTsKLSAgICAgICAgfSkudGhlbihmdW5jdGlv
bihkYXRhKSB7Ci0gICAgICAgICAgICByZWZlcnJlciA9IGRhdGE7Ci0gICAgICAgICAgICBzaG91
bGRCZUVxdWFsVG9TdHJpbmcoInJlZmVycmVyIiwgImh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9yZXNv
dXJjZUxvYWRTdGF0aXN0aWNzL3N0cmlwLXJlZmVycmVyLXRvLW9yaWdpbi1mb3ItcHJldmFsZW50
LXN1YnJlc291cmNlLXJlZGlyZWN0cy1kYXRhYmFzZS5odG1sIik7Ci0KLSAgICAgICAgICAgIHRl
c3RSdW5uZXIuc2V0U3RhdGlzdGljc1ByZXZhbGVudFJlc291cmNlKCJodHRwOi8vbG9jYWxob3N0
IiwgdHJ1ZSwgZnVuY3Rpb24oKSB7Ci0gICAgICAgICAgICAgICAgaWYgKCF0ZXN0UnVubmVyLmlz
U3RhdGlzdGljc1ByZXZhbGVudFJlc291cmNlKCJodHRwOi8vbG9jYWxob3N0IikpCi0gICAgICAg
ICAgICAgICAgICAgIHRlc3RGYWlsZWQoIkhvc3QgZGlkIG5vdCBnZXQgc2V0IGFzIHByZXZhbGVu
dCByZXNvdXJjZS4iKTsKLQotICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIuc3RhdGlzdGljc1Vw
ZGF0ZUNvb2tpZUJsb2NraW5nKGZ1bmN0aW9uKCkgewotICAgICAgICAgICAgICAgICAgICBvcGVu
SWZyYW1lKCJyZXNvdXJjZXMvcmVkaXJlY3QucGhwP3JlZGlyZWN0VG89aHR0cDovL2xvY2FsaG9z
dDo4MDAwL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvcmVzb3VyY2VzL2VjaG8tcmVmZXJyZXIucGhw
IiwgZnVuY3Rpb24oKSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICBzZXRFbmFibGVGZWF0dXJl
KGZhbHNlLCBmaW5pc2hKU1Rlc3QpOwotICAgICAgICAgICAgICAgICAgICB9KTsKLSAgICAgICAg
ICAgICAgICB9KTsKLSAgICAgICAgICAgIH0pOwotICAgICAgICB9KS5jYXRjaChmdW5jdGlvbihl
cnJvcikgewotICAgICAgICAgICAgY29uc29sZS5sb2coZXJyb3IubWVzc2FnZSk7Ci0gICAgICAg
ICAgICBzZXRFbmFibGVGZWF0dXJlKGZhbHNlLCBmaW5pc2hKU1Rlc3QpOwotICAgICAgICB9KTsK
LSAgICB9KTsKLTwvc2NyaXB0PgotPC9ib2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3N0cmlwLXJlZmVycmVyLXRv
LW9yaWdpbi1mb3ItcHJldmFsZW50LXN1YnJlc291cmNlLXJlcXVlc3RzLWRhdGFiYXNlLWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9z
dHJpcC1yZWZlcnJlci10by1vcmlnaW4tZm9yLXByZXZhbGVudC1zdWJyZXNvdXJjZS1yZXF1ZXN0
cy1kYXRhYmFzZS1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDg5
Y2NiOWMyMWZmMDA3MWE5ODAyMzliN2I3OTNmNTUxODdlYmVlNWUuLjAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNv
dXJjZUxvYWRTdGF0aXN0aWNzL3N0cmlwLXJlZmVycmVyLXRvLW9yaWdpbi1mb3ItcHJldmFsZW50
LXN1YnJlc291cmNlLXJlcXVlc3RzLWRhdGFiYXNlLWV4cGVjdGVkLnR4dAorKysgL2Rldi9udWxs
CkBAIC0xLDE2ICswLDAgQEAKLVRlc3RzIHRoYXQgb25seSB0aGUgb3JpZ2luIGlzIHNlbnQgYXMg
cmVmZXJyZXIgZm9yIHByZXZhbGVudCByZXNvdXJjZXMgd2l0aG91dCB1c2VyIGludGVyYWN0aW9u
LgotCi1PbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2Vz
LCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCi0KLQotUEFTUyByZWZlcnJlciBpcyAiaHR0
cDovLzEyNy4wLjAuMTo4MDAwL3Jlc291cmNlTG9hZFN0YXRpc3RpY3Mvc3RyaXAtcmVmZXJyZXIt
dG8tb3JpZ2luLWZvci1wcmV2YWxlbnQtc3VicmVzb3VyY2UtcmVxdWVzdHMtZGF0YWJhc2UuaHRt
bCIKLVBBU1MgcmVmZXJyZXIgaXMgImh0dHA6Ly8xMjcuMC4wLjE6ODAwMC8iCi1QQVNTIHN1Y2Nl
c3NmdWxseVBhcnNlZCBpcyB0cnVlCi0KLVRFU1QgQ09NUExFVEUKLQotCi0tLS0tLS0tLQotRnJh
bWU6ICc8IS0tZnJhbWUxLS0+JwotLS0tLS0tLS0KLWh0dHA6Ly8xMjcuMC4wLjE6ODAwMC8KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9z
dHJpcC1yZWZlcnJlci10by1vcmlnaW4tZm9yLXByZXZhbGVudC1zdWJyZXNvdXJjZS1yZXF1ZXN0
cy1kYXRhYmFzZS5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0
aXN0aWNzL3N0cmlwLXJlZmVycmVyLXRvLW9yaWdpbi1mb3ItcHJldmFsZW50LXN1YnJlc291cmNl
LXJlcXVlc3RzLWRhdGFiYXNlLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDE1
ZDRmMDM2NmY5N2NmY2U5NDI4YTZhODZlNTE1NDgzNjBlMzIxNzcuLjAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNv
dXJjZUxvYWRTdGF0aXN0aWNzL3N0cmlwLXJlZmVycmVyLXRvLW9yaWdpbi1mb3ItcHJldmFsZW50
LXN1YnJlc291cmNlLXJlcXVlc3RzLWRhdGFiYXNlLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSw2
MiArMCwwIEBACi08IURPQ1RZUEUgaHRtbD4KLTxodG1sPgotPGhlYWQ+Ci0gICAgPHNjcmlwdCBz
cmM9Ii9qcy10ZXN0LXJlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KLSAgICA8c2NyaXB0
IHNyYz0icmVzb3VyY2VzL3V0aWwuanMiPjwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHk+Ci08c2Ny
aXB0PgotICAgIGRlc2NyaXB0aW9uKCJUZXN0cyB0aGF0IG9ubHkgdGhlIG9yaWdpbiBpcyBzZW50
IGFzIHJlZmVycmVyIGZvciBwcmV2YWxlbnQgcmVzb3VyY2VzIHdpdGhvdXQgdXNlciBpbnRlcmFj
dGlvbi4iKTsKLSAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKLSAgICB0ZXN0UnVubmVyLmR1bXBD
aGlsZEZyYW1lc0FzVGV4dCgpOwotCi0gICAgZnVuY3Rpb24gb3BlbklmcmFtZSh1cmwsIG9uTG9h
ZEhhbmRsZXIpIHsKLSAgICAgICAgY29uc3QgZWxlbWVudCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1l
bnQoImlmcmFtZSIpOwotICAgICAgICBlbGVtZW50LnNyYyA9IHVybDsKLSAgICAgICAgaWYgKG9u
TG9hZEhhbmRsZXIpIHsKLSAgICAgICAgICAgIGVsZW1lbnQub25sb2FkID0gb25Mb2FkSGFuZGxl
cjsKLSAgICAgICAgfQotICAgICAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGVsZW1lbnQp
OwotICAgIH0KLQotICAgIHZhciByZWZlcnJlcjsKLSAgICB0ZXN0UnVubmVyLnNldFVzZUlUUERh
dGFiYXNlKHRydWUpOwotICAgIHNldEVuYWJsZUZlYXR1cmUodHJ1ZSwgZnVuY3Rpb24oKSB7Ci0g
ICAgICAgIGlmICh0ZXN0UnVubmVyLmlzU3RhdGlzdGljc1ByZXZhbGVudFJlc291cmNlKCJodHRw
Oi8vbG9jYWxob3N0IikpCi0gICAgICAgICAgICB0ZXN0RmFpbGVkKCJMb2NhbGhvc3Qgd2FzIGNs
YXNzaWZpZWQgYXMgcHJldmFsZW50IHJlc291cmNlIGJlZm9yZSB0aGUgdGVzdCBzdGFydGVkLiIp
OwotCi0gICAgICAgIGZldGNoKCJyZXNvdXJjZXMvZWNoby1yZWZlcnJlci5waHAiKS50aGVuKGZ1
bmN0aW9uKHJlc3BvbnNlKSB7Ci0gICAgICAgICAgICByZXR1cm4gcmVzcG9uc2UudGV4dCgpOwot
ICAgICAgICB9KS50aGVuKGZ1bmN0aW9uKGRhdGEpIHsKLSAgICAgICAgICAgIHJlZmVycmVyID0g
ZGF0YTsKLSAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygicmVmZXJyZXIiLCAiaHR0
cDovLzEyNy4wLjAuMTo4MDAwL3Jlc291cmNlTG9hZFN0YXRpc3RpY3Mvc3RyaXAtcmVmZXJyZXIt
dG8tb3JpZ2luLWZvci1wcmV2YWxlbnQtc3VicmVzb3VyY2UtcmVxdWVzdHMtZGF0YWJhc2UuaHRt
bCIpOwotCi0gICAgICAgICAgICB0ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NQcmV2YWxlbnRSZXNv
dXJjZSgiaHR0cDovL2xvY2FsaG9zdCIsIHRydWUsIGZ1bmN0aW9uKCkgewotICAgICAgICAgICAg
ICAgIGlmICghdGVzdFJ1bm5lci5pc1N0YXRpc3RpY3NQcmV2YWxlbnRSZXNvdXJjZSgiaHR0cDov
L2xvY2FsaG9zdCIpKQotICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKCJIb3N0IGRpZCBu
b3QgZ2V0IHNldCBhcyBwcmV2YWxlbnQgcmVzb3VyY2UuIik7Ci0KLSAgICAgICAgICAgICAgICB0
ZXN0UnVubmVyLnN0YXRpc3RpY3NVcGRhdGVDb29raWVCbG9ja2luZyhmdW5jdGlvbigpIHsKLSAg
ICAgICAgICAgICAgICAgICAgZmV0Y2goImh0dHA6Ly9sb2NhbGhvc3Q6ODAwMC9yZXNvdXJjZUxv
YWRTdGF0aXN0aWNzL3Jlc291cmNlcy9lY2hvLXJlZmVycmVyLnBocCIpLnRoZW4oZnVuY3Rpb24o
cmVzcG9uc2UpIHsKLSAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiByZXNwb25zZS50ZXh0
KCk7Ci0gICAgICAgICAgICAgICAgICAgIH0pLnRoZW4oZnVuY3Rpb24oZGF0YSkgewotICAgICAg
ICAgICAgICAgICAgICAgICAgcmVmZXJyZXIgPSBkYXRhOwotICAgICAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJyZWZlcnJlciIsICJodHRwOi8vMTI3LjAuMC4xOjgw
MDAvIik7Ci0KLSAgICAgICAgICAgICAgICAgICAgICAgIG9wZW5JZnJhbWUoInJlc291cmNlcy9y
ZWRpcmVjdC5waHA/cmVkaXJlY3RUbz1odHRwOi8vbG9jYWxob3N0OjgwMDAvcmVzb3VyY2VMb2Fk
U3RhdGlzdGljcy9yZXNvdXJjZXMvZWNoby1yZWZlcnJlci5waHAiLCBmdW5jdGlvbigpIHsKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBzZXRFbmFibGVGZWF0dXJlKGZhbHNlLCBmaW5pc2hK
U1Rlc3QpOwotICAgICAgICAgICAgICAgICAgICAgICAgfSk7Ci0KLSAgICAgICAgICAgICAgICAg
ICAgfSkuY2F0Y2goZnVuY3Rpb24oZXJyb3IpIHsKLSAgICAgICAgICAgICAgICAgICAgICAgIGNv
bnNvbGUubG9nKGVycm9yLm1lc3NhZ2UpOwotICAgICAgICAgICAgICAgICAgICAgICAgc2V0RW5h
YmxlRmVhdHVyZShmYWxzZSwgZmluaXNoSlNUZXN0KTsKLSAgICAgICAgICAgICAgICAgICAgfSk7
Ci0gICAgICAgICAgICAgICAgfSk7Ci0gICAgICAgICAgICB9KTsKLSAgICAgICAgfSkuY2F0Y2go
ZnVuY3Rpb24oZXJyb3IpIHsKLSAgICAgICAgICAgIGNvbnNvbGUubG9nKGVycm9yLm1lc3NhZ2Up
OwotICAgICAgICAgICAgc2V0RW5hYmxlRmVhdHVyZShmYWxzZSwgZmluaXNoSlNUZXN0KTsKLSAg
ICAgICAgfSk7Ci0gICAgfSk7Ci08L3NjcmlwdD4KLTwvYm9keT4KLTwvaHRtbD4KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9zd2l0Y2gt
c2Vzc2lvbi1vbi1uYXZpZ2F0aW9uLXRvLXByZXZhbGVudC13aXRoLWludGVyYWN0aW9uLWRhdGFi
YXNlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3Rh
dGlzdGljcy9zd2l0Y2gtc2Vzc2lvbi1vbi1uYXZpZ2F0aW9uLXRvLXByZXZhbGVudC13aXRoLWlu
dGVyYWN0aW9uLWRhdGFiYXNlLWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMzQzOTIyZmQ5M2YxYTU0NDRmMmNiMDY4ODRlZmMzMjkwYmFlNTFmNC4uMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rl
c3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3Mvc3dpdGNoLXNlc3Npb24tb24tbmF2aWdhdGlvbi10
by1wcmV2YWxlbnQtd2l0aC1pbnRlcmFjdGlvbi1kYXRhYmFzZS1leHBlY3RlZC50eHQKKysrIC9k
ZXYvbnVsbApAQCAtMSwxMiArMCwwIEBACi1UZXN0cyB0aGF0IHRoZSBzZXNzaW9uIGlzIHN3aXRj
aGVkIHVwb24gdG9wIGZyYW1lIG5hdmlnYXRpb24gdG8gYSBwcmV2YWxlbnQgcmVzb3VyY2Ugd2l0
aCB1c2VyIGludGVyYWN0aW9uLgotCi1PbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMg
b2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCi0KLQotUEFT
UyBTaG91bGQgaGF2ZSBhbmQgaGFzIHRoZSBzZXNzaW9uIGNvb2tpZS4KLVBBU1MgU2hvdWxkIGhh
dmUgYW5kIGhhcyB0aGUgcGVyc2lzdGVudCBjb29raWUuCi1QQVNTIE9yaWdpbiBoYXMgaXNvbGF0
ZWQgc2Vzc2lvbi4KLVBBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKLQotVEVTVCBDT01Q
TEVURQotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0
YXRpc3RpY3Mvc3dpdGNoLXNlc3Npb24tb24tbmF2aWdhdGlvbi10by1wcmV2YWxlbnQtd2l0aC1p
bnRlcmFjdGlvbi1kYXRhYmFzZS5waHAgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNl
TG9hZFN0YXRpc3RpY3Mvc3dpdGNoLXNlc3Npb24tb24tbmF2aWdhdGlvbi10by1wcmV2YWxlbnQt
d2l0aC1pbnRlcmFjdGlvbi1kYXRhYmFzZS5waHAKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDlkNjU4N2ZmNzkyNTczNzRmMGUzNzMzZjQ3ZjY0MGQwODY2OThlMDEuLjAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0
cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3N3aXRjaC1zZXNzaW9uLW9uLW5hdmlnYXRpb24tdG8t
cHJldmFsZW50LXdpdGgtaW50ZXJhY3Rpb24tZGF0YWJhc2UucGhwCisrKyAvZGV2L251bGwKQEAg
LTEsMTE0ICswLDAgQEAKLTw/cGhwCi0gICAgaGVhZGVyKCJDYWNoZS1Db250cm9sOiBuby1zdG9y
ZSIpOwotPz4KLTwhRE9DVFlQRSBodG1sPgotPGh0bWwgbGFuZz0iZW4iPgotPGhlYWQ+Ci0gICAg
PG1ldGEgY2hhcnNldD0iVVRGLTgiPgotICAgIDxzY3JpcHQgc3JjPSIvanMtdGVzdC1yZXNvdXJj
ZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+Ci0gICAgPHNjcmlwdCBzcmM9InJlc291cmNlcy91dGls
LmpzIj48L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5IG9ubG9hZD0icnVuVGVzdCgpIj4KLTxzY3Jp
cHQ+Ci0gICAgZGVzY3JpcHRpb24oIlRlc3RzIHRoYXQgdGhlIHNlc3Npb24gaXMgc3dpdGNoZWQg
dXBvbiB0b3AgZnJhbWUgbmF2aWdhdGlvbiB0byBhIHByZXZhbGVudCByZXNvdXJjZSB3aXRoIHVz
ZXIgaW50ZXJhY3Rpb24uIik7Ci0gICAganNUZXN0SXNBc3luYyA9IHRydWU7Ci0KLSAgICBjb25z
dCBwcmV2YWxlbnRPcmlnaW4gPSAiaHR0cDovLzEyNy4wLjAuMTo4MDAwIjsKLSAgICBjb25zdCBu
b25QcmV2YWxlbnRPcmlnaW4gPSAiaHR0cDovL2xvY2FsaG9zdDo4MDAwIjsKLSAgICBjb25zdCBz
ZXNzaW9uQ29va2llTmFtZSA9ICJzZXNzaW9uQ29va2llIjsKLSAgICBjb25zdCBwZXJzaXN0ZW50
Q29va2llTmFtZSA9ICJwZXJzaXN0ZW50Q29va2llIjsKLSAgICBjb25zdCB0d29NaW51dGVzSW5T
ZWNvbmRzID0gMTIwOwotCi0gICAgZnVuY3Rpb24gc2V0U2Vzc2lvbkNvb2tpZSgpIHsKLSAgICAg
ICAgZG9jdW1lbnQuY29va2llID0gc2Vzc2lvbkNvb2tpZU5hbWUgKyAiPTE7IHBhdGg9LyI7Ci0g
ICAgfQotCi0gICAgZnVuY3Rpb24gc2V0UGVyc2lzdGVudENvb2tpZSgpIHsKLSAgICAgICAgZG9j
dW1lbnQuY29va2llID0gcGVyc2lzdGVudENvb2tpZU5hbWUgKyAiPTE7IHBhdGg9LzsgTWF4LUFn
ZT0iICsgdHdvTWludXRlc0luU2Vjb25kcyArICI7IjsKLSAgICB9Ci0KLSAgICBmdW5jdGlvbiBj
aGVja0Nvb2tpZXMoc2hvdWxkSGF2ZVNlc3Npb25Db29raWUsIHNob3VsZEhhdmVQZXJzaXN0ZW50
Q29va2llKSB7Ci0gICAgICAgIGxldCBoYXNTZXNzaW9uQ29va2llID0gKGRvY3VtZW50LmNvb2tp
ZSArICIiKS5pbmNsdWRlcyhzZXNzaW9uQ29va2llTmFtZSksCi0gICAgICAgICAgICBoYXNQZXJz
aXN0ZW50Q29va2llID0gKGRvY3VtZW50LmNvb2tpZSArICIiKS5pbmNsdWRlcyhwZXJzaXN0ZW50
Q29va2llTmFtZSk7Ci0KLSAgICAgICAgaWYgKHNob3VsZEhhdmVTZXNzaW9uQ29va2llICYmIGhh
c1Nlc3Npb25Db29raWUpCi0gICAgICAgICAgICB0ZXN0UGFzc2VkKCJTaG91bGQgaGF2ZSBhbmQg
aGFzIHRoZSBzZXNzaW9uIGNvb2tpZS4iKTsKLSAgICAgICAgZWxzZSBpZiAoc2hvdWxkSGF2ZVNl
c3Npb25Db29raWUgJiYgIWhhc1Nlc3Npb25Db29raWUpIHsKLSAgICAgICAgICAgIHRlc3RGYWls
ZWQoIlNob3VsZCBoYXZlIGJ1dCBkb2Vzbid0IGhhdmUgdGhlIHNlc3Npb24gY29va2llLiIpOwot
ICAgICAgICAgICAgc2V0RW5hYmxlRmVhdHVyZShmYWxzZSwgZmluaXNoSlNUZXN0KTsKLSAgICAg
ICAgfSBlbHNlIGlmICghc2hvdWxkSGF2ZVNlc3Npb25Db29raWUgJiYgaGFzU2Vzc2lvbkNvb2tp
ZSkgewotICAgICAgICAgICAgdGVzdEZhaWxlZCgiU2hvdWxkbid0IGhhdmUgYnV0IGhhcyB0aGUg
c2Vzc2lvbiBjb29raWUuIik7Ci0gICAgICAgICAgICBzZXRFbmFibGVGZWF0dXJlKGZhbHNlLCBm
aW5pc2hKU1Rlc3QpOwotICAgICAgICB9IGVsc2UKLSAgICAgICAgICAgIHRlc3RQYXNzZWQoIlNo
b3VsZG4ndCBoYXZlIGFuZCBkb2Vzbid0IGhhdmUgdGhlIHNlc3Npb24gY29va2llLiIpOwotCi0K
LSAgICAgICAgaWYgKHNob3VsZEhhdmVQZXJzaXN0ZW50Q29va2llICYmIGhhc1BlcnNpc3RlbnRD
b29raWUpCi0gICAgICAgICAgICB0ZXN0UGFzc2VkKCJTaG91bGQgaGF2ZSBhbmQgaGFzIHRoZSBw
ZXJzaXN0ZW50IGNvb2tpZS4iKTsKLSAgICAgICAgZWxzZSBpZiAoc2hvdWxkSGF2ZVBlcnNpc3Rl
bnRDb29raWUgJiYgIWhhc1BlcnNpc3RlbnRDb29raWUpIHsKLSAgICAgICAgICAgIHRlc3RGYWls
ZWQoIlNob3VsZCBoYXZlIGJ1dCBkb2Vzbid0IGhhdmUgdGhlIHBlcnNpc3RlbnQgY29va2llLiIp
OwotICAgICAgICAgICAgc2V0RW5hYmxlRmVhdHVyZShmYWxzZSwgZmluaXNoSlNUZXN0KTsKLSAg
ICAgICAgfSBlbHNlIGlmICghc2hvdWxkSGF2ZVBlcnNpc3RlbnRDb29raWUgJiYgaGFzUGVyc2lz
dGVudENvb2tpZSkgewotICAgICAgICAgICAgdGVzdEZhaWxlZCgiU2hvdWxkbid0IGhhdmUgYnV0
IGhhcyB0aGUgcGVyc2lzdGVudCBjb29raWUuIik7Ci0gICAgICAgICAgICBzZXRFbmFibGVGZWF0
dXJlKGZhbHNlLCBmaW5pc2hKU1Rlc3QpOwotICAgICAgICB9IGVsc2UKLSAgICAgICAgICAgIHRl
c3RQYXNzZWQoIlNob3VsZG4ndCBoYXZlIGFuZCBkb2Vzbid0IGhhdmUgdGhlIHBlcnNpc3RlbnQg
Y29va2llLiIpOwotICAgIH0KLQotICAgIGZ1bmN0aW9uIHJ1blRlc3QoKSB7Ci0gICAgICAgIHN3
aXRjaCAoZG9jdW1lbnQubG9jYXRpb24uaGFzaCkgewotICAgICAgICAgICAgY2FzZSAiIjoKLSAg
ICAgICAgICAgICAgICBpZiAoZG9jdW1lbnQubG9jYXRpb24ub3JpZ2luICE9PSBwcmV2YWxlbnRP
cmlnaW4pCi0gICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoIlRlc3QgaXMgbm90IHN0YXJ0
aW5nIG91dCBvbiAiICsgcHJldmFsZW50T3JpZ2luICsgIi4iKTsKLSAgICAgICAgICAgICAgICB0
ZXN0UnVubmVyLnNldFVzZUlUUERhdGFiYXNlKHRydWUpOwotICAgICAgICAgICAgICAgIHNldEVu
YWJsZUZlYXR1cmUodHJ1ZSwgZnVuY3Rpb24gKCkgewotICAgICAgICAgICAgICAgICAgICBpZiAo
dGVzdFJ1bm5lci5pc1N0YXRpc3RpY3NQcmV2YWxlbnRSZXNvdXJjZShwcmV2YWxlbnRPcmlnaW4p
KQotICAgICAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChwcmV2YWxlbnRPcmlnaW4gKyAi
IHdhcyBjbGFzc2lmaWVkIGFzIHByZXZhbGVudCByZXNvdXJjZSBiZWZvcmUgdGhlIHRlc3Qgc3Rh
cnRzLiIpOwotICAgICAgICAgICAgICAgICAgICBkb2N1bWVudC5sb2NhdGlvbi5oYXNoID0gInN0
ZXAxIjsKLSAgICAgICAgICAgICAgICAgICAgcnVuVGVzdCgpOwotICAgICAgICAgICAgICAgIH0p
OwotICAgICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICAgICAgY2FzZSAiI3N0ZXAxIjoKLSAg
ICAgICAgICAgICAgICB0ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NIYXNIYWRVc2VySW50ZXJhY3Rp
b24ocHJldmFsZW50T3JpZ2luLCB0cnVlLCBmdW5jdGlvbigpIHsKLSAgICAgICAgICAgICAgICAg
ICAgc2V0U2Vzc2lvbkNvb2tpZSgpOwotICAgICAgICAgICAgICAgICAgICBzZXRQZXJzaXN0ZW50
Q29va2llKCk7Ci0gICAgICAgICAgICAgICAgICAgIGNoZWNrQ29va2llcyh0cnVlLCB0cnVlKTsK
LSAgICAgICAgICAgICAgICAgICAgaWYgKHRlc3RSdW5uZXIuaGFzU3RhdGlzdGljc0lzb2xhdGVk
U2Vzc2lvbihwcmV2YWxlbnRPcmlnaW4pKSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICB0ZXN0
RmFpbGVkKCJPcmlnaW4gaGFzIGlzb2xhdGVkIHNlc3Npb24uIik7Ci0gICAgICAgICAgICAgICAg
ICAgICAgICBzZXRFbmFibGVGZWF0dXJlKGZhbHNlLCBmaW5pc2hKU1Rlc3QpOwotICAgICAgICAg
ICAgICAgICAgICB9IGVsc2UKLSAgICAgICAgICAgICAgICAgICAgICAgIHRlc3RQYXNzZWQoIk9y
aWdpbiBoYXMgbm8gaXNvbGF0ZWQgc2Vzc2lvbi4iKTsKLSAgICAgICAgICAgICAgICAgICAgZG9j
dW1lbnQubG9jYXRpb24uaHJlZiA9IG5vblByZXZhbGVudE9yaWdpbiArICIvcmVzb3VyY2VMb2Fk
U3RhdGlzdGljcy9zd2l0Y2gtc2Vzc2lvbi1vbi1uYXZpZ2F0aW9uLXRvLXByZXZhbGVudC13aXRo
LWludGVyYWN0aW9uLWRhdGFiYXNlLnBocCNzdGVwMiI7Ci0gICAgICAgICAgICAgICAgfSk7Ci0g
ICAgICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgICAgICBjYXNlICIjc3RlcDIiOgotICAgICAg
ICAgICAgICAgIGRvY3VtZW50LmxvY2F0aW9uLmhhc2ggPSAic3RlcDMiOwotICAgICAgICAgICAg
ICAgIGlmIChkb2N1bWVudC5sb2NhdGlvbi5vcmlnaW4gIT09IG5vblByZXZhbGVudE9yaWdpbikK
LSAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZCgiU3RlcCAyIGlzIG5vdCBvbiAiICsgbm9u
UHJldmFsZW50T3JpZ2luICsgIi4iKTsKLSAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLnNldFN0
YXRpc3RpY3NQcmV2YWxlbnRSZXNvdXJjZShwcmV2YWxlbnRPcmlnaW4sIHRydWUsIGZ1bmN0aW9u
KCkgewotICAgICAgICAgICAgICAgICAgICBpZiAoIXRlc3RSdW5uZXIuaXNTdGF0aXN0aWNzUHJl
dmFsZW50UmVzb3VyY2UocHJldmFsZW50T3JpZ2luKSkgewotICAgICAgICAgICAgICAgICAgICAg
ICAgdGVzdEZhaWxlZChwcmV2YWxlbnRPcmlnaW4gKyAiIGRpZCBub3QgZ2V0IHNldCBhcyBwcmV2
YWxlbnQgcmVzb3VyY2UuIik7Ci0gICAgICAgICAgICAgICAgICAgICAgICBzZXRFbmFibGVGZWF0
dXJlKGZhbHNlLCBmaW5pc2hKU1Rlc3QpOwotICAgICAgICAgICAgICAgICAgICB9Ci0gICAgICAg
ICAgICAgICAgICAgIHRlc3RSdW5uZXIuc3RhdGlzdGljc1VwZGF0ZUNvb2tpZUJsb2NraW5nKHJ1
blRlc3QpOwotICAgICAgICAgICAgICAgIH0pOwotICAgICAgICAgICAgICAgIGJyZWFrOwotICAg
ICAgICAgICAgY2FzZSAiI3N0ZXAzIjoKLSAgICAgICAgICAgICAgICBkb2N1bWVudC5sb2NhdGlv
bi5ocmVmID0gcHJldmFsZW50T3JpZ2luICsgIi9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3N3aXRj
aC1zZXNzaW9uLW9uLW5hdmlnYXRpb24tdG8tcHJldmFsZW50LXdpdGgtaW50ZXJhY3Rpb24tZGF0
YWJhc2UucGhwI3N0ZXA0IjsKLSAgICAgICAgICAgICAgICBicmVhazsKLSAgICAgICAgICAgIGNh
c2UgIiNzdGVwNCI6Ci0gICAgICAgICAgICAgICAgY2hlY2tDb29raWVzKHRydWUsIHRydWUpOwot
ICAgICAgICAgICAgICAgIGlmICh0ZXN0UnVubmVyLmhhc1N0YXRpc3RpY3NJc29sYXRlZFNlc3Np
b24ocHJldmFsZW50T3JpZ2luKSkKLSAgICAgICAgICAgICAgICAgICAgdGVzdFBhc3NlZCgiT3Jp
Z2luIGhhcyBpc29sYXRlZCBzZXNzaW9uLiIpOwotICAgICAgICAgICAgICAgIGVsc2UKLSAgICAg
ICAgICAgICAgICAgICAgdGVzdEZhaWxlZCgiT3JpZ2luIGhhcyBubyBpc29sYXRlZCBzZXNzaW9u
LiIpOwotICAgICAgICAgICAgICAgIHNldEVuYWJsZUZlYXR1cmUoZmFsc2UsIGZpbmlzaEpTVGVz
dCk7Ci0gICAgICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgICAgICBkZWZhdWx0OgotICAgICAg
ICAgICAgICAgIHRlc3RGYWlsZWQoIlVua25vd24gaGFzaC4iKTsKLSAgICAgICAgICAgICAgICBz
ZXRFbmFibGVGZWF0dXJlKGZhbHNlLCBmaW5pc2hKU1Rlc3QpOwotICAgICAgICB9Ci0gICAgfQot
PC9zY3JpcHQ+Ci08L2JvZHk+Ci08L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvdGVsZW1ldHJ5LWdlbmVyYXRpb24tYWR2YW5j
ZWQtZnVuY3Rpb25hbGl0eS1kYXRhYmFzZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvdGVsZW1ldHJ5LWdlbmVyYXRpb24tYWR2YW5j
ZWQtZnVuY3Rpb25hbGl0eS1kYXRhYmFzZS1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IGM2ODcxNTBhNDcxZmI3ODFjMzlkOGI0ZjU3MzVhZTVkYzQzZWNmNWYuLjAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMv
aHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3RlbGVtZXRyeS1nZW5lcmF0aW9uLWFk
dmFuY2VkLWZ1bmN0aW9uYWxpdHktZGF0YWJhc2UtZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwK
QEAgLTEsMjAgKzAsMCBAQAotVGVzdHMgdGhhdCBhZHZhbmNlZCB0ZWxlbWV0cnkgZm9yIHByZXZh
bGVudCByZXNvdXJjZXMgaW4gdGhlIFNRTGl0ZSBEYXRhYmFzZSBpcyBjYWxjdWxhdGVkIGNvcnJl
Y3RseS4KLQotT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNz
YWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgotCi0KLVBBU1MgSG9zdHMgY2xhc3Np
ZmllZCBjb3JyZWN0bHkuCi1QQVNTIHRlc3RSZXN1bHQubnVtYmVyT2ZQcmV2YWxlbnRSZXNvdXJj
ZXMgaXMgNQotUEFTUyB0ZXN0UmVzdWx0Lm51bWJlck9mUHJldmFsZW50UmVzb3VyY2VzV2l0aFVz
ZXJJbnRlcmFjdGlvbiBpcyAyCi1QQVNTIHRlc3RSZXN1bHQubnVtYmVyT2ZQcmV2YWxlbnRSZXNv
dXJjZXNXaXRob3V0VXNlckludGVyYWN0aW9uIGlzIDMKLVBBU1MgdGVzdFJlc3VsdC50b3BQcmV2
YWxlbnRSZXNvdXJjZVdpdGhVc2VySW50ZXJhY3Rpb25EYXlzU2luY2VVc2VySW50ZXJhY3Rpb24g
aXMgMAotUEFTUyB0ZXN0UmVzdWx0Lm1lZGlhbkRheXNTaW5jZVVzZXJJbnRlcmFjdGlvblByZXZh
bGVudFJlc291cmNlV2l0aFVzZXJJbnRlcmFjdGlvbiBpcyAxCi1QQVNTIHRlc3RSZXN1bHQudG9w
M051bWJlck9mUHJldmFsZW50UmVzb3VyY2VzV2l0aFVJIGlzIDIKLVBBU1MgdGVzdFJlc3VsdC50
b3AzTWVkaWFuU3ViRnJhbWVXaXRob3V0VUkgaXMgNQotUEFTUyB0ZXN0UmVzdWx0LnRvcDNNZWRp
YW5TdWJSZXNvdXJjZVdpdGhvdXRVSSBpcyA1Ci1QQVNTIHRlc3RSZXN1bHQudG9wM01lZGlhblVu
aXF1ZVJlZGlyZWN0c1dpdGhvdXRVSSBpcyA0Ci1QQVNTIHRlc3RSZXN1bHQudG9wM01lZGlhbkRh
dGFSZWNvcmRzUmVtb3ZlZFdpdGhvdXRVSSBpcyAwCi1QQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBp
cyB0cnVlCi0KLVRFU1QgQ09NUExFVEUKLQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90
ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3RlbGVtZXRyeS1nZW5lcmF0aW9uLWFkdmFuY2Vk
LWZ1bmN0aW9uYWxpdHktZGF0YWJhc2UuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVz
b3VyY2VMb2FkU3RhdGlzdGljcy90ZWxlbWV0cnktZ2VuZXJhdGlvbi1hZHZhbmNlZC1mdW5jdGlv
bmFsaXR5LWRhdGFiYXNlLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDM4YzZj
ZTBjYjU5ZjI3YTdjZWYxZjdjZjJhOTY1ZjJlYzgxYjdlYzQuLjAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJj
ZUxvYWRTdGF0aXN0aWNzL3RlbGVtZXRyeS1nZW5lcmF0aW9uLWFkdmFuY2VkLWZ1bmN0aW9uYWxp
dHktZGF0YWJhc2UuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDE1NSArMCwwIEBACi08IURPQ1RZ
UEUgaHRtbD4KLTxodG1sPgotPGhlYWQ+Ci0gICAgPG1ldGEgY2hhcnNldD0iVVRGLTgiPgotICAg
IDx0aXRsZT5UZXN0IGZvciBBZHZhbmNlZCBUZWxlbWV0cnkgR2VuZXJhdGlvbjwvdGl0bGU+Ci0g
ICAgPHNjcmlwdCBzcmM9Ii9qcy10ZXN0LXJlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4K
LSAgICA8c2NyaXB0IHNyYz0icmVzb3VyY2VzL3V0aWwuanMiPjwvc2NyaXB0PgotPC9oZWFkPgot
PGJvZHk+Ci08c2NyaXB0PgotICAgIHRlc3RSdW5uZXIuc2V0VXNlSVRQRGF0YWJhc2UodHJ1ZSk7
Ci0gICAgZGVzY3JpcHRpb24oIlRlc3RzIHRoYXQgYWR2YW5jZWQgdGVsZW1ldHJ5IGZvciBwcmV2
YWxlbnQgcmVzb3VyY2VzIGluIHRoZSBTUUxpdGUgRGF0YWJhc2UgaXMgY2FsY3VsYXRlZCBjb3Jy
ZWN0bHkuIik7Ci0gICAganNUZXN0SXNBc3luYyA9IHRydWU7Ci0KLSAgICBjb25zdCB0b3BGcmFt
ZVVybCA9ICJodHRwOi8vMTI3LjAuMC41OjgwMDAvdGVtcCI7Ci0gICAgY29uc3QgdG9wUmVzb3Vy
Y2VVcmwgPSAiaHR0cDovLzEyNy4wLjAuNjo4MDAwL3RlbXAiOwotICAgIGNvbnN0IHRvVW5pcXVl
UmVkaXJlY3RVcmwgPSAiaHR0cDovLzEyNy4wLjAuNzo4MDAwL3RlbXAiOwotICAgIAotICAgIGNv
bnN0IHRvcEZyYW1lVXJsMSA9ICJodHRwOi8vMTI3LjAuMC4xOjgwMDAvdGVtcCI7Ci0gICAgY29u
c3QgdG9wRnJhbWVVcmwyID0gImh0dHA6Ly8xMjcuMC4wLjI6ODAwMC90ZW1wIjsKLSAgICBjb25z
dCB0b3BGcmFtZVVybDMgPSAiaHR0cDovLzEyNy4wLjAuMzo4MDAwL3RlbXAiOwotICAgIGNvbnN0
IHRvcEZyYW1lVXJsNCA9ICJodHRwOi8vMTI3LjAuMC40OjgwMDAvdGVtcCI7Ci0gICAgCi0gICAg
Ci0gICAgY29uc3QgdXJsMSA9ICJodHRwOi8vMTI3LjAuMS4xOjgwMDAvdGVtcCI7Ci0gICAgY29u
c3QgdXJsMiA9ICJodHRwOi8vMTI3LjAuMS4yOjgwMDAvdGVtcCI7Ci0gICAgY29uc3QgdXJsMyA9
ICJodHRwOi8vMTI3LjAuMS4zOjgwMDAvdGVtcCI7Ci0gICAgY29uc3QgdXJsNCA9ICJodHRwOi8v
MTI3LjAuMS40OjgwMDAvdGVtcCI7Ci0gICAgY29uc3QgdXJsNSA9ICJodHRwOi8vMTI3LjAuMS41
OjgwMDAvdGVtcCI7Ci0gICAgCi0gICAgY29uc3QgdHdvRGF5c09sZCA9IE1hdGgucm91bmQoKG5l
dyBEYXRlKCkpLmdldFRpbWUoKSAvIDEwMDApIC0gMTgwMDAwOwotCi0gICAgZnVuY3Rpb24gY2hl
Y2tDbGFzc2lmaWNhdGlvbkFuZENvbnRpbnVlKCkgewotICAgICAgICBpZiAoIXRlc3RSdW5uZXIu
aXNTdGF0aXN0aWNzUHJldmFsZW50UmVzb3VyY2UodXJsMSkpIHsKLSAgICAgICAgICAgIHRlc3RG
YWlsZWQoIkhvc3QgMSBkaWQgbm90IGdldCBjbGFzc2lmaWVkIGFzIHByZXZhbGVudCByZXNvdXJj
ZS4iKTsKLSAgICAgICAgICAgIHNldEVuYWJsZUZlYXR1cmUoZmFsc2UsIGZpbmlzaEpTVGVzdCk7
Ci0gICAgICAgIH0gZWxzZSBpZiAoIXRlc3RSdW5uZXIuaXNTdGF0aXN0aWNzUHJldmFsZW50UmVz
b3VyY2UodXJsMikpIHsKLSAgICAgICAgICAgIHRlc3RGYWlsZWQoIkhvc3QgMiBkaWQgbm90IGdl
dCBjbGFzc2lmaWVkIGFzIHByZXZhbGVudCByZXNvdXJjZS4iKTsKLSAgICAgICAgICAgIHNldEVu
YWJsZUZlYXR1cmUoZmFsc2UsIGZpbmlzaEpTVGVzdCk7Ci0gICAgICAgIH0gZWxzZSBpZiAoIXRl
c3RSdW5uZXIuaXNTdGF0aXN0aWNzUHJldmFsZW50UmVzb3VyY2UodXJsMykpIHsKLSAgICAgICAg
ICAgIHRlc3RGYWlsZWQoIkhvc3QgMyBkaWQgbm90IGdldCBjbGFzc2lmaWVkIGFzIHByZXZhbGVu
dCByZXNvdXJjZS4iKTsKLSAgICAgICAgICAgIHNldEVuYWJsZUZlYXR1cmUoZmFsc2UsIGZpbmlz
aEpTVGVzdCk7Ci0gICAgICAgIH0gZWxzZSBpZiAoIXRlc3RSdW5uZXIuaXNTdGF0aXN0aWNzUHJl
dmFsZW50UmVzb3VyY2UodXJsNCkpIHsKLSAgICAgICAgICAgIHRlc3RGYWlsZWQoIkhvc3QgNCBk
aWQgbm90IGdldCBjbGFzc2lmaWVkIGFzIHByZXZhbGVudCByZXNvdXJjZS4iKTsKLSAgICAgICAg
ICAgIHNldEVuYWJsZUZlYXR1cmUoZmFsc2UsIGZpbmlzaEpTVGVzdCk7Ci0gICAgICAgIH0gZWxz
ZSBpZiAoIXRlc3RSdW5uZXIuaXNTdGF0aXN0aWNzUHJldmFsZW50UmVzb3VyY2UodXJsNSkpIHsK
LSAgICAgICAgICAgIHRlc3RGYWlsZWQoIkhvc3QgNSBkaWQgbm90IGdldCBjbGFzc2lmaWVkIGFz
IHByZXZhbGVudCByZXNvdXJjZS4iKTsKLSAgICAgICAgICAgIHNldEVuYWJsZUZlYXR1cmUoZmFs
c2UsIGZpbmlzaEpTVGVzdCk7Ci0gICAgICAgIH0gZWxzZSBpZiAoIXRlc3RSdW5uZXIuaXNTdGF0
aXN0aWNzSGFzSGFkVXNlckludGVyYWN0aW9uKHVybDEpKSB7Ci0gICAgICAgICAgICB0ZXN0RmFp
bGVkKCJIb3N0IDEgZGlkIG5vdCBnZXQgY2xhc3NpZmllZCBhcyBoYXZpbmcgdXNlciBpbnRlcmFj
dGlvbi4iKTsKLSAgICAgICAgICAgIHNldEVuYWJsZUZlYXR1cmUoZmFsc2UsIGZpbmlzaEpTVGVz
dCk7Ci0gICAgICAgIH0gZWxzZSBpZiAoIXRlc3RSdW5uZXIuaXNTdGF0aXN0aWNzSGFzSGFkVXNl
ckludGVyYWN0aW9uKHVybDIpKSB7Ci0gICAgICAgICAgICB0ZXN0RmFpbGVkKCJIb3N0IDIgZGlk
IG5vdCBnZXQgY2xhc3NpZmllZCBhcyBoYXZpbmcgdXNlciBpbnRlcmFjdGlvbi4iKTsKLSAgICAg
ICAgICAgIHNldEVuYWJsZUZlYXR1cmUoZmFsc2UsIGZpbmlzaEpTVGVzdCk7Ci0gICAgICAgIH0g
ZWxzZSBpZiAoIXRlc3RSdW5uZXIuaXNTdGF0aXN0aWNzUmVnaXN0ZXJlZEFzU3ViRnJhbWVVbmRl
cih1cmwxLCB0b3BGcmFtZVVybCkpIHsKLSAgICAgICAgICAgIHRlc3RGYWlsZWQoIkhvc3QgMSBk
aWQgbm90IGdldCBzZXQgYXMgc3ViZnJhbWUuIik7Ci0gICAgICAgICAgICBzZXRFbmFibGVGZWF0
dXJlKGZhbHNlLCBmaW5pc2hKU1Rlc3QpOwotICAgICAgICB9IGVsc2UgaWYgKCF0ZXN0UnVubmVy
LmlzU3RhdGlzdGljc1JlZ2lzdGVyZWRBc1N1YnJlc291cmNlVW5kZXIodXJsMSwgdG9wUmVzb3Vy
Y2VVcmwpKSB7Ci0gICAgICAgICAgICB0ZXN0RmFpbGVkKCJIb3N0IDEgZGlkIG5vdCBnZXQgc2V0
IGFzIHN1YnJlc291cmNlLiIpOwotICAgICAgICAgICAgc2V0RW5hYmxlRmVhdHVyZShmYWxzZSwg
ZmluaXNoSlNUZXN0KTsKLSAgICAgICAgfSBlbHNlIGlmICghdGVzdFJ1bm5lci5pc1N0YXRpc3Rp
Y3NSZWdpc3RlcmVkQXNTdWJGcmFtZVVuZGVyKHVybDIsIHRvcEZyYW1lVXJsKSkgewotICAgICAg
ICAgICAgdGVzdEZhaWxlZCgiSG9zdCAyIGRpZCBub3QgZ2V0IHNldCBhcyBzdWJmcmFtZS4iKTsK
LSAgICAgICAgICAgIHNldEVuYWJsZUZlYXR1cmUoZmFsc2UsIGZpbmlzaEpTVGVzdCk7Ci0gICAg
ICAgIH0gZWxzZSBpZiAoIXRlc3RSdW5uZXIuaXNTdGF0aXN0aWNzUmVnaXN0ZXJlZEFzU3ViRnJh
bWVVbmRlcih1cmwzLCB0b3BGcmFtZVVybCkpIHsKLSAgICAgICAgICAgIHRlc3RGYWlsZWQoIkhv
c3QgMyBkaWQgbm90IGdldCBzZXQgYXMgc3ViZnJhbWUuIik7Ci0gICAgICAgICAgICBzZXRFbmFi
bGVGZWF0dXJlKGZhbHNlLCBmaW5pc2hKU1Rlc3QpOwotICAgICAgICB9IGVsc2UgaWYgKCF0ZXN0
UnVubmVyLmlzU3RhdGlzdGljc1JlZ2lzdGVyZWRBc1N1YnJlc291cmNlVW5kZXIodXJsMywgdG9w
UmVzb3VyY2VVcmwpKSB7Ci0gICAgICAgICAgICB0ZXN0RmFpbGVkKCJIb3N0IDMgZGlkIG5vdCBn
ZXQgc2V0IGFzIHN1YnJlc291cmNlLiIpOwotICAgICAgICAgICAgc2V0RW5hYmxlRmVhdHVyZShm
YWxzZSwgZmluaXNoSlNUZXN0KTsKLSAgICAgICAgfSBlbHNlIGlmICghdGVzdFJ1bm5lci5pc1N0
YXRpc3RpY3NSZWdpc3RlcmVkQXNTdWJGcmFtZVVuZGVyKHVybDQsIHRvcEZyYW1lVXJsKSkgewot
ICAgICAgICAgICAgdGVzdEZhaWxlZCgiSG9zdCA0IGRpZCBub3QgZ2V0IHNldCBhcyBzdWJmcmFt
ZS4iKTsKLSAgICAgICAgICAgIHNldEVuYWJsZUZlYXR1cmUoZmFsc2UsIGZpbmlzaEpTVGVzdCk7
Ci0gICAgICAgIH0gZWxzZSB7Ci0gICAgICAgICAgICB0ZXN0UGFzc2VkKCJIb3N0cyBjbGFzc2lm
aWVkIGNvcnJlY3RseS4iKTsKLSAgICAgICAgICAgIHJ1blRlbGVtZXRyeUFuZENvbnRpbnVlKCk7
Ci0gICAgICAgIH0KLSAgICB9Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIAotICAgIGZ1
bmN0aW9uIG1ha2VVcmxQcmV2YWxlbnQocHJldmFsZW50UmVzb3VyY2VVcmwpIHsKLSAgICAgICAg
dGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNzU3ViZnJhbWVVbmRlclRvcEZyYW1lT3JpZ2luKHByZXZh
bGVudFJlc291cmNlVXJsLCB0b3BGcmFtZVVybDEpOwotICAgICAgICB0ZXN0UnVubmVyLnNldFN0
YXRpc3RpY3NTdWJmcmFtZVVuZGVyVG9wRnJhbWVPcmlnaW4ocHJldmFsZW50UmVzb3VyY2VVcmws
IHRvcEZyYW1lVXJsMik7Ci0gICAgICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc1N1YmZyYW1l
VW5kZXJUb3BGcmFtZU9yaWdpbihwcmV2YWxlbnRSZXNvdXJjZVVybCwgdG9wRnJhbWVVcmwzKTsK
LSAgICAgICAgdGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNzU3ViZnJhbWVVbmRlclRvcEZyYW1lT3Jp
Z2luKHByZXZhbGVudFJlc291cmNlVXJsLCB0b3BGcmFtZVVybDQpOwotCi0gICAgICAgIHRlc3RS
dW5uZXIuc2V0U3RhdGlzdGljc1N1YnJlc291cmNlVW5pcXVlUmVkaXJlY3RUbyhwcmV2YWxlbnRS
ZXNvdXJjZVVybCwgdG9wRnJhbWVVcmwxKTsKLSAgICAgICAgdGVzdFJ1bm5lci5zZXRTdGF0aXN0
aWNzU3VicmVzb3VyY2VVbmlxdWVSZWRpcmVjdFRvKHByZXZhbGVudFJlc291cmNlVXJsLCB0b3BG
cmFtZVVybDIpOwotICAgICAgICB0ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NTdWJyZXNvdXJjZVVu
aXF1ZVJlZGlyZWN0VG8ocHJldmFsZW50UmVzb3VyY2VVcmwsIHRvcEZyYW1lVXJsMyk7Ci0gICAg
ICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc1N1YnJlc291cmNlVW5pcXVlUmVkaXJlY3RUbyhw
cmV2YWxlbnRSZXNvdXJjZVVybCwgdG9wRnJhbWVVcmw0KTsKLQotICAgICAgICB0ZXN0UnVubmVy
LnNldFN0YXRpc3RpY3NTdWJyZXNvdXJjZVVuZGVyVG9wRnJhbWVPcmlnaW4ocHJldmFsZW50UmVz
b3VyY2VVcmwsIHRvcEZyYW1lVXJsMSk7Ci0gICAgICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGlj
c1N1YnJlc291cmNlVW5kZXJUb3BGcmFtZU9yaWdpbihwcmV2YWxlbnRSZXNvdXJjZVVybCwgdG9w
RnJhbWVVcmwyKTsKLSAgICAgICAgdGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNzU3VicmVzb3VyY2VV
bmRlclRvcEZyYW1lT3JpZ2luKHByZXZhbGVudFJlc291cmNlVXJsLCB0b3BGcmFtZVVybDMpOwot
ICAgICAgICB0ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NTdWJyZXNvdXJjZVVuZGVyVG9wRnJhbWVP
cmlnaW4ocHJldmFsZW50UmVzb3VyY2VVcmwsIHRvcEZyYW1lVXJsNCk7Ci0gICAgfQotCi0gICAg
ZnVuY3Rpb24gc2V0VXBTdGF0aXN0aWNzQW5kQ29udGludWUoKSB7Ci0gICAgICAgIC8vIG1lcmdl
IHN0YXRpc3RpYyBhcmd1bWVudHM6IGhvc3ROYW1lLCB0b3BGcmFtZURvbWFpbiwgbGFzdFNlZW4s
IGhhZFVzZXJJbnRlcmFjdGlvbiwgbW9zdFJlY2VudFVzZXJJbnRlcmFjdGlvbiwgaXNHcmFuZGZh
dGhlcmVkLCBpc1ByZXZhbGVudCwgaXNWZXJ5UHJldmFsZW50LCBkYXRhUmVjb3Jkc1JlbW92ZWQK
LSAgICAgICAgIG1ha2VVcmxQcmV2YWxlbnQodXJsMSk7Ci0gICAgICAgICB0ZXN0UnVubmVyLnNl
dFN0YXRpc3RpY3NTdWJmcmFtZVVuZGVyVG9wRnJhbWVPcmlnaW4odXJsMSwgdG9wRnJhbWVVcmwp
OwotICAgICAgICAgdGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNzU3VicmVzb3VyY2VVbmRlclRvcEZy
YW1lT3JpZ2luKHVybDEsIHRvcFJlc291cmNlVXJsKTsKLSAgICAgICAgIHRlc3RSdW5uZXIuc2V0
U3RhdGlzdGljc1N1YnJlc291cmNlVW5pcXVlUmVkaXJlY3RUbyh1cmwxLCB0b1VuaXF1ZVJlZGly
ZWN0VXJsKTsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCi0gICAgICAgICBtYWtlVXJs
UHJldmFsZW50KHVybDIpOwotICAgICAgICAgdGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNzU3ViZnJh
bWVVbmRlclRvcEZyYW1lT3JpZ2luKHVybDIsIHRvcEZyYW1lVXJsKTsKLSAgICAgICAgIHRlc3RS
dW5uZXIuc2V0U3RhdGlzdGljc1N1YnJlc291cmNlVW5pcXVlUmVkaXJlY3RUbyh1cmwyLCB0b1Vu
aXF1ZVJlZGlyZWN0VXJsKTsKLQotICAgICAgICAgbWFrZVVybFByZXZhbGVudCh1cmwzKTsKLSAg
ICAgICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc1N1YmZyYW1lVW5kZXJUb3BGcmFtZU9yaWdp
bih1cmwzLCB0b3BGcmFtZVVybCk7Ci0gICAgICAgICB0ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NT
dWJyZXNvdXJjZVVuZGVyVG9wRnJhbWVPcmlnaW4odXJsMywgdG9wUmVzb3VyY2VVcmwpOwotICAg
ICAgICAgdGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNzU3VicmVzb3VyY2VVbmlxdWVSZWRpcmVjdFRv
KHVybDMsIHRvVW5pcXVlUmVkaXJlY3RVcmwpOwotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAKLSAgICAgICAgIG1ha2VVcmxQcmV2YWxlbnQodXJsNCk7Ci0gICAgICAgICB0ZXN0UnVubmVy
LnNldFN0YXRpc3RpY3NTdWJmcmFtZVVuZGVyVG9wRnJhbWVPcmlnaW4odXJsNCwgdG9wRnJhbWVV
cmwpOwotICAgICAgICAgdGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNzU3VicmVzb3VyY2VVbmRlclRv
cEZyYW1lT3JpZ2luKHVybDQsIHRvcFJlc291cmNlVXJsKTsKLQotICAgICAgICAgbWFrZVVybFBy
ZXZhbGVudCh1cmw1KTsKLQotICAgICAgICAvLyBzZXQgVVJMcyAxIGFuZCAyIHRvIGhhdmUgdXNl
ciBpbnRlcmFjdGlvbi4gVUkgZm9yIHVybCAyIHdpbGwgYmUgc2V0IHRvIGJlIDIgZGF5cyBvbGQu
Ci0gICAgICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc0hhc0hhZFVzZXJJbnRlcmFjdGlvbih1
cmwxLCB0cnVlLCBmdW5jdGlvbigpIHsKLSAgICAgICAgICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlz
dGljc01lcmdlU3RhdGlzdGljKHVybDIsIHRvcEZyYW1lVXJsLCAiIiwgdHdvRGF5c09sZCwgdHJ1
ZSwgdHdvRGF5c09sZCwgZmFsc2UsIHRydWUsIGZhbHNlLCAwLCBmdW5jdGlvbigpIHsKLSAgICAg
ICAgICAgICAgICB0ZXN0UnVubmVyLmluc3RhbGxTdGF0aXN0aWNzRGlkU2NhbkRhdGFSZWNvcmRz
Q2FsbGJhY2soY2hlY2tDbGFzc2lmaWNhdGlvbkFuZENvbnRpbnVlKTsKLSAgICAgICAgICAgICAg
ICB0ZXN0UnVubmVyLmluc3RhbGxTdGF0aXN0aWNzRGlkUnVuVGVsZW1ldHJ5Q2FsbGJhY2soY2hl
Y2tUZWxlbWV0cnkpOwotICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIuc3RhdGlzdGljc1Byb2Nl
c3NTdGF0aXN0aWNzQW5kRGF0YVJlY29yZHMoKTsKLSAgICAgICAgICAgIH0pOwotICAgICAgICB9
KTsKLSAgICB9Ci0KLSAgICBmdW5jdGlvbiBydW5UZWxlbWV0cnlBbmRDb250aW51ZSgpIHsKLSAg
ICAgICAgdGVzdFJ1bm5lci5zdGF0aXN0aWNzU3VibWl0VGVsZW1ldHJ5KCk7Ci0gICAgfQotCi0g
ICAgdmFyIHRlc3RSZXN1bHQ7Ci0gICAgZnVuY3Rpb24gY2hlY2tUZWxlbWV0cnkocmVzdWx0KSB7
Ci0gICAgICAgIHRlc3RSZXN1bHQgPSByZXN1bHQ7Ci0gICAgICAgIHNob3VsZEJlKCJ0ZXN0UmVz
dWx0Lm51bWJlck9mUHJldmFsZW50UmVzb3VyY2VzIiwgIjUiKTsKLSAgICAgICAgc2hvdWxkQmUo
InRlc3RSZXN1bHQubnVtYmVyT2ZQcmV2YWxlbnRSZXNvdXJjZXNXaXRoVXNlckludGVyYWN0aW9u
IiwgIjIiKTsKLSAgICAgICAgc2hvdWxkQmUoInRlc3RSZXN1bHQubnVtYmVyT2ZQcmV2YWxlbnRS
ZXNvdXJjZXNXaXRob3V0VXNlckludGVyYWN0aW9uIiwgIjMiKTsKLSAgICAgICAgc2hvdWxkQmUo
InRlc3RSZXN1bHQudG9wUHJldmFsZW50UmVzb3VyY2VXaXRoVXNlckludGVyYWN0aW9uRGF5c1Np
bmNlVXNlckludGVyYWN0aW9uIiwgIjAiKTsKLSAgICAgICAgc2hvdWxkQmUoInRlc3RSZXN1bHQu
bWVkaWFuRGF5c1NpbmNlVXNlckludGVyYWN0aW9uUHJldmFsZW50UmVzb3VyY2VXaXRoVXNlcklu
dGVyYWN0aW9uIiwgIjEiKTsKLSAgICAgICAgc2hvdWxkQmUoInRlc3RSZXN1bHQudG9wM051bWJl
ck9mUHJldmFsZW50UmVzb3VyY2VzV2l0aFVJIiwgIjIiKTsKLSAgICAgICAgc2hvdWxkQmUoInRl
c3RSZXN1bHQudG9wM01lZGlhblN1YkZyYW1lV2l0aG91dFVJIiwgIjUiKTsKLSAgICAgICAgc2hv
dWxkQmUoInRlc3RSZXN1bHQudG9wM01lZGlhblN1YlJlc291cmNlV2l0aG91dFVJIiwgIjUiKTsK
LSAgICAgICAgc2hvdWxkQmUoInRlc3RSZXN1bHQudG9wM01lZGlhblVuaXF1ZVJlZGlyZWN0c1dp
dGhvdXRVSSIsICI0Iik7Ci0gICAgICAgIHNob3VsZEJlKCJ0ZXN0UmVzdWx0LnRvcDNNZWRpYW5E
YXRhUmVjb3Jkc1JlbW92ZWRXaXRob3V0VUkiLCAiMCIpOwotICAgICAgICBzZXRFbmFibGVGZWF0
dXJlKGZhbHNlLCBmaW5pc2hKU1Rlc3QpOwotICAgIH0KLQotICAgIGlmICh3aW5kb3cudGVzdFJ1
bm5lcikgewotICAgICAgICBzZXRFbmFibGVGZWF0dXJlKHRydWUsIGZ1bmN0aW9uKCkgewotICAg
ICAgICAgICAgc2V0VXBTdGF0aXN0aWNzQW5kQ29udGludWUoKTsKLSAgICAgICAgfSk7Ci0gICAg
fQotPC9zY3JpcHQ+Ci08L2JvZHk+Ci08L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9o
dHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvdGVsZW1ldHJ5LWdlbmVyYXRpb24tYmFz
aWMtZnVuY3Rpb25hbGl0eS1kYXRhYmFzZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvdGVsZW1ldHJ5LWdlbmVyYXRpb24tYmFzaWMt
ZnVuY3Rpb25hbGl0eS1kYXRhYmFzZS1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IGZlNDM4YzllMTQ4NmFlNTdhMjBhMTVlYjk5Y2Y0YjJkOGYwODQxM2UuLjAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3RlbGVtZXRyeS1nZW5lcmF0aW9uLWJhc2lj
LWZ1bmN0aW9uYWxpdHktZGF0YWJhc2UtZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEs
MzEgKzAsMCBAQAotVGVzdHMgdGhhdCBiYXNpYyB0ZWxlbWV0cnkgZm9yIHByZXZhbGVudCByZXNv
dXJjZXMgaW4gdGhlIFNRTGl0ZSBEYXRhYmFzZSBpcyBjYWxjdWxhdGVkIGNvcnJlY3RseS4KLQot
T24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9s
bG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgotCi0KLVBBU1MgSG9zdHMgY2xhc3NpZmllZCBhcyBw
cmV2YWxlbnQgcmVzb3VyY2VzLgotUEFTUyB0ZXN0UmVzdWx0Lm51bWJlck9mUHJldmFsZW50UmVz
b3VyY2VzIGlzIDAKLVBBU1MgdGVzdFJlc3VsdC5udW1iZXJPZlByZXZhbGVudFJlc291cmNlc1dp
dGhVc2VySW50ZXJhY3Rpb24gaXMgMAotUEFTUyB0ZXN0UmVzdWx0Lm51bWJlck9mUHJldmFsZW50
UmVzb3VyY2VzV2l0aG91dFVzZXJJbnRlcmFjdGlvbiBpcyAwCi1QQVNTIHRlc3RSZXN1bHQudG9w
UHJldmFsZW50UmVzb3VyY2VXaXRoVXNlckludGVyYWN0aW9uRGF5c1NpbmNlVXNlckludGVyYWN0
aW9uIGlzIDAKLVBBU1MgdGVzdFJlc3VsdC5tZWRpYW5EYXlzU2luY2VVc2VySW50ZXJhY3Rpb25Q
cmV2YWxlbnRSZXNvdXJjZVdpdGhVc2VySW50ZXJhY3Rpb24gaXMgMAotUEFTUyB0ZXN0UmVzdWx0
LnRvcDNOdW1iZXJPZlByZXZhbGVudFJlc291cmNlc1dpdGhVSSBpcyAwCi1QQVNTIHRlc3RSZXN1
bHQudG9wM01lZGlhblN1YkZyYW1lV2l0aG91dFVJIGlzIDAKLVBBU1MgdGVzdFJlc3VsdC50b3Az
TWVkaWFuU3ViUmVzb3VyY2VXaXRob3V0VUkgaXMgMAotUEFTUyB0ZXN0UmVzdWx0LnRvcDNNZWRp
YW5VbmlxdWVSZWRpcmVjdHNXaXRob3V0VUkgaXMgMAotUEFTUyB0ZXN0UmVzdWx0LnRvcDNNZWRp
YW5EYXRhUmVjb3Jkc1JlbW92ZWRXaXRob3V0VUkgaXMgMAotUEFTUyBIb3N0cyBjbGFzc2lmaWVk
IGFzIHByZXZhbGVudCByZXNvdXJjZXMuCi1QQVNTIHRlc3RSZXN1bHQubnVtYmVyT2ZQcmV2YWxl
bnRSZXNvdXJjZXMgaXMgNAotUEFTUyB0ZXN0UmVzdWx0Lm51bWJlck9mUHJldmFsZW50UmVzb3Vy
Y2VzV2l0aFVzZXJJbnRlcmFjdGlvbiBpcyAxCi1QQVNTIHRlc3RSZXN1bHQubnVtYmVyT2ZQcmV2
YWxlbnRSZXNvdXJjZXNXaXRob3V0VXNlckludGVyYWN0aW9uIGlzIDMKLVBBU1MgdGVzdFJlc3Vs
dC50b3BQcmV2YWxlbnRSZXNvdXJjZVdpdGhVc2VySW50ZXJhY3Rpb25EYXlzU2luY2VVc2VySW50
ZXJhY3Rpb24gaXMgMAotUEFTUyB0ZXN0UmVzdWx0Lm1lZGlhbkRheXNTaW5jZVVzZXJJbnRlcmFj
dGlvblByZXZhbGVudFJlc291cmNlV2l0aFVzZXJJbnRlcmFjdGlvbiBpcyAwCi1QQVNTIHRlc3RS
ZXN1bHQudG9wM051bWJlck9mUHJldmFsZW50UmVzb3VyY2VzV2l0aFVJIGlzIDAKLVBBU1MgdGVz
dFJlc3VsdC50b3AzTWVkaWFuU3ViRnJhbWVXaXRob3V0VUkgaXMgNAotUEFTUyB0ZXN0UmVzdWx0
LnRvcDNNZWRpYW5TdWJSZXNvdXJjZVdpdGhvdXRVSSBpcyA0Ci1QQVNTIHRlc3RSZXN1bHQudG9w
M01lZGlhblVuaXF1ZVJlZGlyZWN0c1dpdGhvdXRVSSBpcyA0Ci1QQVNTIHRlc3RSZXN1bHQudG9w
M01lZGlhbkRhdGFSZWNvcmRzUmVtb3ZlZFdpdGhvdXRVSSBpcyAwCi1QQVNTIHN1Y2Nlc3NmdWxs
eVBhcnNlZCBpcyB0cnVlCi0KLVRFU1QgQ09NUExFVEUKLQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3RlbGVtZXRyeS1nZW5lcmF0aW9u
LWJhc2ljLWZ1bmN0aW9uYWxpdHktZGF0YWJhc2UuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVz
dHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy90ZWxlbWV0cnktZ2VuZXJhdGlvbi1iYXNpYy1mdW5j
dGlvbmFsaXR5LWRhdGFiYXNlLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDI4
MTM5MTllMDkwODQxZmZjY2RkZDI5YTJjMjA3NWFmNmY2OTNmYTMuLjAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNv
dXJjZUxvYWRTdGF0aXN0aWNzL3RlbGVtZXRyeS1nZW5lcmF0aW9uLWJhc2ljLWZ1bmN0aW9uYWxp
dHktZGF0YWJhc2UuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDEzNSArMCwwIEBACi08IURPQ1RZ
UEUgaHRtbD4KLTxodG1sPgotPGhlYWQ+Ci0gICAgPG1ldGEgY2hhcnNldD0iVVRGLTgiPgotICAg
IDx0aXRsZT5UZXN0IGZvciBCYXNpYyBUZWxlbWV0cnkgR2VuZXJhdGlvbjwvdGl0bGU+Ci0gICAg
PHNjcmlwdCBzcmM9Ii9qcy10ZXN0LXJlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KLSAg
ICA8c2NyaXB0IHNyYz0icmVzb3VyY2VzL3V0aWwuanMiPjwvc2NyaXB0PgotPC9oZWFkPgotPGJv
ZHk+Ci08c2NyaXB0PgotICAgIHRlc3RSdW5uZXIuc2V0VXNlSVRQRGF0YWJhc2UodHJ1ZSk7Ci0g
ICAgZGVzY3JpcHRpb24oIlRlc3RzIHRoYXQgYmFzaWMgdGVsZW1ldHJ5IGZvciBwcmV2YWxlbnQg
cmVzb3VyY2VzIGluIHRoZSBTUUxpdGUgRGF0YWJhc2UgaXMgY2FsY3VsYXRlZCBjb3JyZWN0bHku
Iik7Ci0gICAganNUZXN0SXNBc3luYyA9IHRydWU7Ci0KLSAgICBjb25zdCB0b3BGcmFtZVVybDEg
PSAiaHR0cDovLzEyNy4wLjAuMTo4MDAwL3RlbXAiOwotICAgIGNvbnN0IHRvcEZyYW1lVXJsMiA9
ICJodHRwOi8vMTI3LjAuMC4yOjgwMDAvdGVtcCI7Ci0gICAgY29uc3QgdG9wRnJhbWVVcmwzID0g
Imh0dHA6Ly8xMjcuMC4wLjM6ODAwMC90ZW1wIjsKLSAgICBjb25zdCB0b3BGcmFtZVVybDQgPSAi
aHR0cDovLzEyNy4wLjAuNDo4MDAwL3RlbXAiOwotICAgIGNvbnN0IHByZXZhbGVudFJlc291cmNl
VXJsMSA9ICJodHRwOi8vMTI3LjAuMS4xOjgwMDAvdGVtcCI7Ci0gICAgY29uc3QgcHJldmFsZW50
UmVzb3VyY2VVcmwyID0gImh0dHA6Ly8xMjcuMC4xLjI6ODAwMC90ZW1wIjsKLSAgICBjb25zdCBw
cmV2YWxlbnRSZXNvdXJjZVVybDMgPSAiaHR0cDovLzEyNy4wLjEuMzo4MDAwL3RlbXAiOwotICAg
IGNvbnN0IHByZXZhbGVudFJlc291cmNlVXJsNCA9ICJodHRwOi8vMTI3LjAuMS40OjgwMDAvdGVt
cCI7Ci0KLSAgICBmdW5jdGlvbiBjaGVja0luc3VmZmljaWVudENsYXNzaWZpY2F0aW9uQW5kQ29u
dGludWUoKSB7Ci0gICAgICAgIGlmICghdGVzdFJ1bm5lci5pc1N0YXRpc3RpY3NQcmV2YWxlbnRS
ZXNvdXJjZShwcmV2YWxlbnRSZXNvdXJjZVVybDEpKSB7Ci0gICAgICAgICAgICB0ZXN0RmFpbGVk
KCJIb3N0IDEgZGlkIG5vdCBnZXQgY2xhc3NpZmllZCBhcyBwcmV2YWxlbnQgcmVzb3VyY2UuIik7
Ci0gICAgICAgICAgICBzZXRFbmFibGVGZWF0dXJlKGZhbHNlLCBmaW5pc2hKU1Rlc3QpOwotICAg
ICAgICB9IGVsc2UgaWYgKCF0ZXN0UnVubmVyLmlzU3RhdGlzdGljc1ByZXZhbGVudFJlc291cmNl
KHByZXZhbGVudFJlc291cmNlVXJsMikpIHsKLSAgICAgICAgICAgIHRlc3RGYWlsZWQoIkhvc3Qg
MiBkaWQgbm90IGdldCBjbGFzc2lmaWVkIGFzIHByZXZhbGVudCByZXNvdXJjZS4iKTsKLSAgICAg
ICAgICAgIHNldEVuYWJsZUZlYXR1cmUoZmFsc2UsIGZpbmlzaEpTVGVzdCk7Ci0gICAgICAgIH0g
ZWxzZSB7Ci0gICAgICAgICAgICB0ZXN0UGFzc2VkKCJIb3N0cyBjbGFzc2lmaWVkIGFzIHByZXZh
bGVudCByZXNvdXJjZXMuIik7Ci0gICAgICAgICAgICBydW5UZWxlbWV0cnlBbmRDb250aW51ZSgp
OwotICAgICAgICB9Ci0gICAgfQotCi0gICAgZnVuY3Rpb24gY2hlY2tTdWZmaWNpZW50Q2xhc3Np
ZmljYXRpb25BbmRDb250aW51ZSgpIHsKLSAgICAgICAgaWYgKCF0ZXN0UnVubmVyLmlzU3RhdGlz
dGljc1ByZXZhbGVudFJlc291cmNlKHByZXZhbGVudFJlc291cmNlVXJsMSkpIHsKLSAgICAgICAg
ICAgIHRlc3RGYWlsZWQoIkhvc3QgMSBkaWQgbm90IGdldCBjbGFzc2lmaWVkIGFzIHByZXZhbGVu
dCByZXNvdXJjZS4iKTsKLSAgICAgICAgICAgIHNldEVuYWJsZUZlYXR1cmUoZmFsc2UsIGZpbmlz
aEpTVGVzdCk7Ci0gICAgICAgIH0gZWxzZSBpZiAoIXRlc3RSdW5uZXIuaXNTdGF0aXN0aWNzUHJl
dmFsZW50UmVzb3VyY2UocHJldmFsZW50UmVzb3VyY2VVcmwyKSkgewotICAgICAgICAgICAgdGVz
dEZhaWxlZCgiSG9zdCAyIGRpZCBub3QgZ2V0IGNsYXNzaWZpZWQgYXMgcHJldmFsZW50IHJlc291
cmNlLiIpOwotICAgICAgICAgICAgc2V0RW5hYmxlRmVhdHVyZShmYWxzZSwgZmluaXNoSlNUZXN0
KTsKLSAgICAgICAgfSBlbHNlIGlmICghdGVzdFJ1bm5lci5pc1N0YXRpc3RpY3NQcmV2YWxlbnRS
ZXNvdXJjZShwcmV2YWxlbnRSZXNvdXJjZVVybDMpKSB7Ci0gICAgICAgICAgICB0ZXN0RmFpbGVk
KCJIb3N0IDMgZGlkIG5vdCBnZXQgY2xhc3NpZmllZCBhcyBwcmV2YWxlbnQgcmVzb3VyY2UuIik7
Ci0gICAgICAgICAgICBzZXRFbmFibGVGZWF0dXJlKGZhbHNlLCBmaW5pc2hKU1Rlc3QpOwotICAg
ICAgICB9IGVsc2UgaWYgKCF0ZXN0UnVubmVyLmlzU3RhdGlzdGljc1ByZXZhbGVudFJlc291cmNl
KHByZXZhbGVudFJlc291cmNlVXJsNCkpIHsKLSAgICAgICAgICAgIHRlc3RGYWlsZWQoIkhvc3Qg
NCBkaWQgbm90IGdldCBjbGFzc2lmaWVkIGFzIHByZXZhbGVudCByZXNvdXJjZS4iKTsKLSAgICAg
ICAgICAgIHNldEVuYWJsZUZlYXR1cmUoZmFsc2UsIGZpbmlzaEpTVGVzdCk7Ci0gICAgICAgIH0g
ZWxzZSB7Ci0gICAgICAgICAgICB0ZXN0UGFzc2VkKCJIb3N0cyBjbGFzc2lmaWVkIGFzIHByZXZh
bGVudCByZXNvdXJjZXMuIik7Ci0gICAgICAgICAgICBydW5UZWxlbWV0cnlBbmRDb250aW51ZSgp
OwotICAgICAgICB9Ci0gICAgfQotCi0gICAgZnVuY3Rpb24gbWFrZVVybFByZXZhbGVudChwcmV2
YWxlbnRSZXNvdXJjZVVybCkgewotICAgICAgICB0ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NTdWJm
cmFtZVVuZGVyVG9wRnJhbWVPcmlnaW4ocHJldmFsZW50UmVzb3VyY2VVcmwsIHRvcEZyYW1lVXJs
MSk7Ci0gICAgICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc1N1YmZyYW1lVW5kZXJUb3BGcmFt
ZU9yaWdpbihwcmV2YWxlbnRSZXNvdXJjZVVybCwgdG9wRnJhbWVVcmwyKTsKLSAgICAgICAgdGVz
dFJ1bm5lci5zZXRTdGF0aXN0aWNzU3ViZnJhbWVVbmRlclRvcEZyYW1lT3JpZ2luKHByZXZhbGVu
dFJlc291cmNlVXJsLCB0b3BGcmFtZVVybDMpOwotICAgICAgICB0ZXN0UnVubmVyLnNldFN0YXRp
c3RpY3NTdWJmcmFtZVVuZGVyVG9wRnJhbWVPcmlnaW4ocHJldmFsZW50UmVzb3VyY2VVcmwsIHRv
cEZyYW1lVXJsNCk7Ci0KLSAgICAgICAgdGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNzU3VicmVzb3Vy
Y2VVbmlxdWVSZWRpcmVjdFRvKHByZXZhbGVudFJlc291cmNlVXJsLCB0b3BGcmFtZVVybDEpOwot
ICAgICAgICB0ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NTdWJyZXNvdXJjZVVuaXF1ZVJlZGlyZWN0
VG8ocHJldmFsZW50UmVzb3VyY2VVcmwsIHRvcEZyYW1lVXJsMik7Ci0gICAgICAgIHRlc3RSdW5u
ZXIuc2V0U3RhdGlzdGljc1N1YnJlc291cmNlVW5pcXVlUmVkaXJlY3RUbyhwcmV2YWxlbnRSZXNv
dXJjZVVybCwgdG9wRnJhbWVVcmwzKTsKLSAgICAgICAgdGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNz
U3VicmVzb3VyY2VVbmlxdWVSZWRpcmVjdFRvKHByZXZhbGVudFJlc291cmNlVXJsLCB0b3BGcmFt
ZVVybDQpOwotCi0gICAgICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc1N1YnJlc291cmNlVW5k
ZXJUb3BGcmFtZU9yaWdpbihwcmV2YWxlbnRSZXNvdXJjZVVybCwgdG9wRnJhbWVVcmwxKTsKLSAg
ICAgICAgdGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNzU3VicmVzb3VyY2VVbmRlclRvcEZyYW1lT3Jp
Z2luKHByZXZhbGVudFJlc291cmNlVXJsLCB0b3BGcmFtZVVybDIpOwotICAgICAgICB0ZXN0UnVu
bmVyLnNldFN0YXRpc3RpY3NTdWJyZXNvdXJjZVVuZGVyVG9wRnJhbWVPcmlnaW4ocHJldmFsZW50
UmVzb3VyY2VVcmwsIHRvcEZyYW1lVXJsMyk7Ci0gICAgICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlz
dGljc1N1YnJlc291cmNlVW5kZXJUb3BGcmFtZU9yaWdpbihwcmV2YWxlbnRSZXNvdXJjZVVybCwg
dG9wRnJhbWVVcmw0KTsKLSAgICB9Ci0KLSAgICBmdW5jdGlvbiBzZXRVcEluc3VmZmljaWVudFN0
YXRpc3RpY3NBbmRDb250aW51ZSgpIHsKLSAgICAgICAgbWFrZVVybFByZXZhbGVudChwcmV2YWxl
bnRSZXNvdXJjZVVybDEpOwotICAgICAgICBtYWtlVXJsUHJldmFsZW50KHByZXZhbGVudFJlc291
cmNlVXJsMik7Ci0KLSAgICAgICAgdGVzdFJ1bm5lci5pbnN0YWxsU3RhdGlzdGljc0RpZFNjYW5E
YXRhUmVjb3Jkc0NhbGxiYWNrKGNoZWNrSW5zdWZmaWNpZW50Q2xhc3NpZmljYXRpb25BbmRDb250
aW51ZSk7Ci0gICAgICAgIHRlc3RSdW5uZXIuaW5zdGFsbFN0YXRpc3RpY3NEaWRSdW5UZWxlbWV0
cnlDYWxsYmFjayhjaGVja0luc3VmZmljaWVudFRlbGVtZXRyeSk7Ci0gICAgICAgIHRlc3RSdW5u
ZXIuc3RhdGlzdGljc1Byb2Nlc3NTdGF0aXN0aWNzQW5kRGF0YVJlY29yZHMoKTsKLSAgICB9Ci0K
LSAgICBmdW5jdGlvbiBzZXRVcFN1ZmZpY2llbnRTdGF0aXN0aWNzQW5kQ29udGludWUoKSB7Ci0g
ICAgICAgIG1ha2VVcmxQcmV2YWxlbnQocHJldmFsZW50UmVzb3VyY2VVcmwzKTsKLSAgICAgICAg
bWFrZVVybFByZXZhbGVudChwcmV2YWxlbnRSZXNvdXJjZVVybDQpOwotCi0gICAgICAgIHRlc3RS
dW5uZXIuc2V0U3RhdGlzdGljc0hhc0hhZFVzZXJJbnRlcmFjdGlvbihwcmV2YWxlbnRSZXNvdXJj
ZVVybDQsIHRydWUsIGZ1bmN0aW9uKCkgewotICAgICAgICAgICAgdGVzdFJ1bm5lci5pbnN0YWxs
U3RhdGlzdGljc0RpZFNjYW5EYXRhUmVjb3Jkc0NhbGxiYWNrKGNoZWNrU3VmZmljaWVudENsYXNz
aWZpY2F0aW9uQW5kQ29udGludWUpOwotICAgICAgICAgICAgdGVzdFJ1bm5lci5pbnN0YWxsU3Rh
dGlzdGljc0RpZFJ1blRlbGVtZXRyeUNhbGxiYWNrKGNoZWNrU3VmZmljaWVudFRlbGVtZXRyeSk7
Ci0gICAgICAgICAgICB0ZXN0UnVubmVyLnN0YXRpc3RpY3NQcm9jZXNzU3RhdGlzdGljc0FuZERh
dGFSZWNvcmRzKCk7Ci0gICAgICAgIH0pOwotICAgIH0KLQotICAgIGZ1bmN0aW9uIHJ1blRlbGVt
ZXRyeUFuZENvbnRpbnVlKCkgewotICAgICAgICB0ZXN0UnVubmVyLnN0YXRpc3RpY3NTdWJtaXRU
ZWxlbWV0cnkoKTsKLSAgICB9Ci0KLSAgICB2YXIgdGVzdFJlc3VsdDsKLSAgICBmdW5jdGlvbiBj
aGVja0luc3VmZmljaWVudFRlbGVtZXRyeShyZXN1bHQpIHsKLSAgICAgICAgdGVzdFJlc3VsdCA9
IHJlc3VsdDsKLSAgICAgICAgc2hvdWxkQmUoInRlc3RSZXN1bHQubnVtYmVyT2ZQcmV2YWxlbnRS
ZXNvdXJjZXMiLCAiMCIpOwotICAgICAgICBzaG91bGRCZSgidGVzdFJlc3VsdC5udW1iZXJPZlBy
ZXZhbGVudFJlc291cmNlc1dpdGhVc2VySW50ZXJhY3Rpb24iLCAiMCIpOwotICAgICAgICBzaG91
bGRCZSgidGVzdFJlc3VsdC5udW1iZXJPZlByZXZhbGVudFJlc291cmNlc1dpdGhvdXRVc2VySW50
ZXJhY3Rpb24iLCAiMCIpOwotICAgICAgICBzaG91bGRCZSgidGVzdFJlc3VsdC50b3BQcmV2YWxl
bnRSZXNvdXJjZVdpdGhVc2VySW50ZXJhY3Rpb25EYXlzU2luY2VVc2VySW50ZXJhY3Rpb24iLCAi
MCIpOwotICAgICAgICBzaG91bGRCZSgidGVzdFJlc3VsdC5tZWRpYW5EYXlzU2luY2VVc2VySW50
ZXJhY3Rpb25QcmV2YWxlbnRSZXNvdXJjZVdpdGhVc2VySW50ZXJhY3Rpb24iLCAiMCIpOwotICAg
ICAgICBzaG91bGRCZSgidGVzdFJlc3VsdC50b3AzTnVtYmVyT2ZQcmV2YWxlbnRSZXNvdXJjZXNX
aXRoVUkiLCAiMCIpOwotICAgICAgICBzaG91bGRCZSgidGVzdFJlc3VsdC50b3AzTWVkaWFuU3Vi
RnJhbWVXaXRob3V0VUkiLCAiMCIpOwotICAgICAgICBzaG91bGRCZSgidGVzdFJlc3VsdC50b3Az
TWVkaWFuU3ViUmVzb3VyY2VXaXRob3V0VUkiLCAiMCIpOwotICAgICAgICBzaG91bGRCZSgidGVz
dFJlc3VsdC50b3AzTWVkaWFuVW5pcXVlUmVkaXJlY3RzV2l0aG91dFVJIiwgIjAiKTsKLSAgICAg
ICAgc2hvdWxkQmUoInRlc3RSZXN1bHQudG9wM01lZGlhbkRhdGFSZWNvcmRzUmVtb3ZlZFdpdGhv
dXRVSSIsICIwIik7Ci0gICAgICAgIHNldFVwU3VmZmljaWVudFN0YXRpc3RpY3NBbmRDb250aW51
ZSgpOwotICAgIH0KLQotICAgIGZ1bmN0aW9uIGNoZWNrU3VmZmljaWVudFRlbGVtZXRyeShyZXN1
bHQpIHsKLSAgICAgICAgdGVzdFJlc3VsdCA9IHJlc3VsdDsKLSAgICAgICAgc2hvdWxkQmUoInRl
c3RSZXN1bHQubnVtYmVyT2ZQcmV2YWxlbnRSZXNvdXJjZXMiLCAiNCIpOwotICAgICAgICBzaG91
bGRCZSgidGVzdFJlc3VsdC5udW1iZXJPZlByZXZhbGVudFJlc291cmNlc1dpdGhVc2VySW50ZXJh
Y3Rpb24iLCAiMSIpOwotICAgICAgICBzaG91bGRCZSgidGVzdFJlc3VsdC5udW1iZXJPZlByZXZh
bGVudFJlc291cmNlc1dpdGhvdXRVc2VySW50ZXJhY3Rpb24iLCAiMyIpOwotICAgICAgICBzaG91
bGRCZSgidGVzdFJlc3VsdC50b3BQcmV2YWxlbnRSZXNvdXJjZVdpdGhVc2VySW50ZXJhY3Rpb25E
YXlzU2luY2VVc2VySW50ZXJhY3Rpb24iLCAiMCIpOwotICAgICAgICBzaG91bGRCZSgidGVzdFJl
c3VsdC5tZWRpYW5EYXlzU2luY2VVc2VySW50ZXJhY3Rpb25QcmV2YWxlbnRSZXNvdXJjZVdpdGhV
c2VySW50ZXJhY3Rpb24iLCAiMCIpOwotICAgICAgICBzaG91bGRCZSgidGVzdFJlc3VsdC50b3Az
TnVtYmVyT2ZQcmV2YWxlbnRSZXNvdXJjZXNXaXRoVUkiLCAiMCIpOwotICAgICAgICBzaG91bGRC
ZSgidGVzdFJlc3VsdC50b3AzTWVkaWFuU3ViRnJhbWVXaXRob3V0VUkiLCAiNCIpOwotICAgICAg
ICBzaG91bGRCZSgidGVzdFJlc3VsdC50b3AzTWVkaWFuU3ViUmVzb3VyY2VXaXRob3V0VUkiLCAi
NCIpOwotICAgICAgICBzaG91bGRCZSgidGVzdFJlc3VsdC50b3AzTWVkaWFuVW5pcXVlUmVkaXJl
Y3RzV2l0aG91dFVJIiwgIjQiKTsKLSAgICAgICAgc2hvdWxkQmUoInRlc3RSZXN1bHQudG9wM01l
ZGlhbkRhdGFSZWNvcmRzUmVtb3ZlZFdpdGhvdXRVSSIsICIwIik7Ci0gICAgICAgIHNldEVuYWJs
ZUZlYXR1cmUoZmFsc2UsIGZpbmlzaEpTVGVzdCk7Ci0gICAgfQotCi0gICAgaWYgKHdpbmRvdy50
ZXN0UnVubmVyKSB7Ci0gICAgICAgIHNldEVuYWJsZUZlYXR1cmUodHJ1ZSwgZnVuY3Rpb24oKSB7
Ci0gICAgICAgICAgICBzZXRVcEluc3VmZmljaWVudFN0YXRpc3RpY3NBbmRDb250aW51ZSgpOwot
ICAgICAgICB9KTsKLSAgICB9Ci08L3NjcmlwdD4KLTwvYm9keT4KLTwvaHRtbD4KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy90ZWxlbWV0
cnktZ2VuZXJhdGlvbi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291
cmNlTG9hZFN0YXRpc3RpY3MvdGVsZW1ldHJ5LWdlbmVyYXRpb24tZXhwZWN0ZWQudHh0CmluZGV4
IDgzOTY3NmUyMmI1ODNkMzJmZDdkOTVlNjA3ZjVkZjNhYjFiNDI0YjguLmM2NzA1NjAwYmNiNGUz
YWI1OGQxMzIzNWM2MDE4MjlkMTM4NGE1ZGUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAv
dGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy90ZWxlbWV0cnktZ2VuZXJhdGlvbi1leHBlY3Rl
ZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNz
L3RlbGVtZXRyeS1nZW5lcmF0aW9uLWV4cGVjdGVkLnR4dApAQCAtNCwxNCArNCwxNSBAQCBPbiBz
dWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dl
ZCBieSAiVEVTVCBDT01QTEVURQogCiAKIFBBU1MgSG9zdHMgY2xhc3NpZmllZCBhcyBwcmV2YWxl
bnQgcmVzb3VyY2VzLgotUEFTUyB0ZXN0UmVzdWx0LnRvdGFsUHJldmFsZW50UmVzb3VyY2VzIGlz
IDAKLVBBU1MgdGVzdFJlc3VsdC50b3RhbFByZXZhbGVudFJlc291cmNlc1dpdGhVc2VySW50ZXJh
Y3Rpb24gaXMgMAotUEFTUyB0ZXN0UmVzdWx0LnRvcDNTdWJmcmFtZVVuZGVyVG9wRnJhbWVPcmln
aW5zIGlzIDAKK0ZBSUwgdGVzdFJlc3VsdC50b3RhbFByZXZhbGVudFJlc291cmNlcyBzaG91bGQg
YmUgMCAob2YgdHlwZSBudW1iZXIpLiBXYXMgdW5kZWZpbmVkIChvZiB0eXBlIHVuZGVmaW5lZCku
CitGQUlMIHRlc3RSZXN1bHQudG90YWxQcmV2YWxlbnRSZXNvdXJjZXNXaXRoVXNlckludGVyYWN0
aW9uIHNob3VsZCBiZSAwIChvZiB0eXBlIG51bWJlcikuIFdhcyB1bmRlZmluZWQgKG9mIHR5cGUg
dW5kZWZpbmVkKS4KK0ZBSUwgdGVzdFJlc3VsdC50b3AzU3ViZnJhbWVVbmRlclRvcEZyYW1lT3Jp
Z2lucyBzaG91bGQgYmUgMCAob2YgdHlwZSBudW1iZXIpLiBXYXMgdW5kZWZpbmVkIChvZiB0eXBl
IHVuZGVmaW5lZCkuCiBQQVNTIEhvc3RzIGNsYXNzaWZpZWQgYXMgcHJldmFsZW50IHJlc291cmNl
cy4KLVBBU1MgdGVzdFJlc3VsdC50b3RhbFByZXZhbGVudFJlc291cmNlcyBpcyA0Ci1QQVNTIHRl
c3RSZXN1bHQudG90YWxQcmV2YWxlbnRSZXNvdXJjZXNXaXRoVXNlckludGVyYWN0aW9uIGlzIDEK
LVBBU1MgdGVzdFJlc3VsdC50b3AzU3ViZnJhbWVVbmRlclRvcEZyYW1lT3JpZ2lucyBpcyA0CitG
QUlMIHRlc3RSZXN1bHQudG90YWxQcmV2YWxlbnRSZXNvdXJjZXMgc2hvdWxkIGJlIDQgKG9mIHR5
cGUgbnVtYmVyKS4gV2FzIHVuZGVmaW5lZCAob2YgdHlwZSB1bmRlZmluZWQpLgorRkFJTCB0ZXN0
UmVzdWx0LnRvdGFsUHJldmFsZW50UmVzb3VyY2VzV2l0aFVzZXJJbnRlcmFjdGlvbiBzaG91bGQg
YmUgMSAob2YgdHlwZSBudW1iZXIpLiBXYXMgdW5kZWZpbmVkIChvZiB0eXBlIHVuZGVmaW5lZCku
CitGQUlMIHRlc3RSZXN1bHQudG9wM1N1YmZyYW1lVW5kZXJUb3BGcmFtZU9yaWdpbnMgc2hvdWxk
IGJlIDQgKG9mIHR5cGUgbnVtYmVyKS4gV2FzIHVuZGVmaW5lZCAob2YgdHlwZSB1bmRlZmluZWQp
LgogUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorU29tZSB0ZXN0cyBmYWlsZWQuCiAK
IFRFU1QgQ09NUExFVEUKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNv
dXJjZUxvYWRTdGF0aXN0aWNzL3RoaXJkLXBhcnR5LWNvb2tpZS1ibG9ja2luZy1kYXRhYmFzZS1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3Rp
Y3MvdGhpcmQtcGFydHktY29va2llLWJsb2NraW5nLWRhdGFiYXNlLWV4cGVjdGVkLnR4dApkZWxl
dGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMTBmZWUwMWZkZmQ0OWVhMTNiMjI5ZTc0MzFkM2Zj
OWQ2MDFhOGE2My4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0g
YS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvdGhpcmQtcGFy
dHktY29va2llLWJsb2NraW5nLWRhdGFiYXNlLWV4cGVjdGVkLnR4dAorKysgL2Rldi9udWxsCkBA
IC0xLDI1ICswLDAgQEAKLVRlc3RzIHRoYXQgYWxsIHRoaXJkLXBhcnR5IGNvb2tpZXMgYXJlIGJs
b2NrZWQuCi0KLU9uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVz
c2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KLQotCi1QQVNTIHN1Y2Nlc3NmdWxs
eVBhcnNlZCBpcyB0cnVlCi0KLVRFU1QgQ09NUExFVEUKLQotCi0tLS0tLS0tLQotRnJhbWU6ICc8
IS0tZnJhbWUxLS0+JwotLS0tLS0tLS0KLUJlZm9yZSB1c2VyIGludGVyYWN0aW9uLCBzaG91bGQg
cmVjZWl2ZSBubyBjb29raWVzLgotRGlkIG5vdCByZWNlaXZlIGNvb2tpZSBuYW1lZCAnZmlyc3RQ
YXJ0eUNvb2tpZScuCi1EaWQgbm90IHJlY2VpdmUgY29va2llIG5hbWVkICdwYXJ0aXRpb25lZENv
b2tpZScuCi1DbGllbnQtc2lkZSBkb2N1bWVudC5jb29raWU6Ci0KLS0tLS0tLS0tCi1GcmFtZTog
JzwhLS1mcmFtZTItLT4nCi0tLS0tLS0tLQotQWZ0ZXIgdXNlciBpbnRlcmFjdGlvbiwgc2hvdWxk
IHJlY2VpdmUgbm8gY29va2llcy4KLURpZCBub3QgcmVjZWl2ZSBjb29raWUgbmFtZWQgJ2ZpcnN0
UGFydHlDb29raWUnLgotRGlkIG5vdCByZWNlaXZlIGNvb2tpZSBuYW1lZCAncGFydGl0aW9uZWRD
b29raWUnLgotQ2xpZW50LXNpZGUgZG9jdW1lbnQuY29va2llOgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3RoaXJkLXBhcnR5LWNvb2tp
ZS1ibG9ja2luZy1kYXRhYmFzZS5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJj
ZUxvYWRTdGF0aXN0aWNzL3RoaXJkLXBhcnR5LWNvb2tpZS1ibG9ja2luZy1kYXRhYmFzZS5odG1s
CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBjMGJlMzZmMDQwZTNmZWU1ZjEwOGU4M2Vm
YzgyYzI0MjQ0NTBlMGQ2Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy90aGly
ZC1wYXJ0eS1jb29raWUtYmxvY2tpbmctZGF0YWJhc2UuaHRtbAorKysgL2Rldi9udWxsCkBAIC0x
LDc1ICswLDAgQEAKLTwhRE9DVFlQRSBodG1sPgotPGh0bWwgbGFuZz0iZW4iPgotPGhlYWQ+Ci0g
ICAgPG1ldGEgY2hhcnNldD0iVVRGLTgiPgotICAgIDxzY3JpcHQgc3JjPSIvanMtdGVzdC1yZXNv
dXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+Ci0gICAgPHNjcmlwdCBzcmM9InJlc291cmNlcy91
dGlsLmpzIj48L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5PgotPHNjcmlwdD4KLSAgICBkZXNjcmlw
dGlvbigiVGVzdHMgdGhhdCBhbGwgdGhpcmQtcGFydHkgY29va2llcyBhcmUgYmxvY2tlZC4iKTsK
LSAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKLQotICAgIGNvbnN0IHBhcnRpdGlvbkhvc3QgPSAi
MTI3LjAuMC4xOjgwMDAiOwotICAgIGNvbnN0IHBhcnRpdGlvbk9yaWdpbiA9ICJodHRwOi8vIiAr
IHBhcnRpdGlvbkhvc3Q7Ci0gICAgY29uc3QgdGhpcmRQYXJ0eU9yaWdpbiA9ICJodHRwOi8vbG9j
YWxob3N0OjgwMDAiOwotICAgIGNvbnN0IHJlc291cmNlUGF0aCA9ICIvcmVzb3VyY2VMb2FkU3Rh
dGlzdGljcy9yZXNvdXJjZXMiOwotICAgIGNvbnN0IHRoaXJkUGFydHlCYXNlVXJsID0gdGhpcmRQ
YXJ0eU9yaWdpbiArIHJlc291cmNlUGF0aDsKLSAgICBjb25zdCBmaXJzdFBhcnR5Q29va2llTmFt
ZSA9ICJmaXJzdFBhcnR5Q29va2llIjsKLSAgICBjb25zdCBzdWJQYXRoVG9TZXRGaXJzdFBhcnR5
Q29va2llID0gIi9zZXQtY29va2llLnBocD9uYW1lPSIgKyBmaXJzdFBhcnR5Q29va2llTmFtZSAr
ICImdmFsdWU9dmFsdWUiOwotICAgIGNvbnN0IHBhcnRpdGlvbmVkQ29va2llTmFtZSA9ICJwYXJ0
aXRpb25lZENvb2tpZSI7Ci0gICAgY29uc3Qgc3ViUGF0aFRvU2V0UGFydGl0aW9uZWRDb29raWUg
PSAiL3NldC1jb29raWUucGhwP25hbWU9IiArIHBhcnRpdGlvbmVkQ29va2llTmFtZSArICImdmFs
dWU9dmFsdWUiOwotICAgIGNvbnN0IHJldHVyblVybCA9IHBhcnRpdGlvbk9yaWdpbiArICIvcmVz
b3VyY2VMb2FkU3RhdGlzdGljcy90aGlyZC1wYXJ0eS1jb29raWUtYmxvY2tpbmctZGF0YWJhc2Uu
aHRtbCI7Ci0gICAgY29uc3Qgc3ViUGF0aFRvR2V0Q29va2llcyA9ICIvZ2V0LWNvb2tpZXMucGhw
P25hbWUxPSIgKyBmaXJzdFBhcnR5Q29va2llTmFtZSArICImbmFtZTI9IiArIHBhcnRpdGlvbmVk
Q29va2llTmFtZTsKLQotICAgIGZ1bmN0aW9uIG9wZW5JZnJhbWUodXJsLCBvbkxvYWRIYW5kbGVy
KSB7Ci0gICAgICAgIGNvbnN0IGVsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJpZnJh
bWUiKTsKLSAgICAgICAgZWxlbWVudC5zcmMgPSB1cmw7Ci0gICAgICAgIGlmIChvbkxvYWRIYW5k
bGVyKSB7Ci0gICAgICAgICAgICBlbGVtZW50Lm9ubG9hZCA9IG9uTG9hZEhhbmRsZXI7Ci0gICAg
ICAgIH0KLSAgICAgICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChlbGVtZW50KTsKLSAgICB9
Ci0KLSAgICBmdW5jdGlvbiBydW5UZXN0KCkgewotICAgICAgICBzd2l0Y2ggKGRvY3VtZW50Lmxv
Y2F0aW9uLmhhc2gpIHsKLSAgICAgICAgICAgIGNhc2UgIiNzdGVwMSI6Ci0gICAgICAgICAgICAg
ICAgLy8gU2V0IGZpcnN0LXBhcnR5IGNvb2tpZSBmb3IgbG9jYWxob3N0LgotICAgICAgICAgICAg
ICAgIGRvY3VtZW50LmxvY2F0aW9uLmhyZWYgPSB0aGlyZFBhcnR5QmFzZVVybCArIHN1YlBhdGhU
b1NldEZpcnN0UGFydHlDb29raWUgKyAiIyIgKyByZXR1cm5VcmwgKyAiI3N0ZXAyIjsKLSAgICAg
ICAgICAgICAgICBicmVhazsKLSAgICAgICAgICAgIGNhc2UgIiNzdGVwMiI6Ci0gICAgICAgICAg
ICAgICAgZG9jdW1lbnQubG9jYXRpb24uaGFzaCA9ICJzdGVwMyI7Ci0gICAgICAgICAgICAgICAg
Ly8gQ2hlY2sgdGhhdCB0aGUgY29va2llIGlzIGJsb2NrZWQgZm9yIGxvY2FsaG9zdCB1bmRlciAx
MjcuMC4wLjEgZXZlbiB0aG91Z2ggbG9jYWxob3N0IGlzIG5vdCBwcmV2YWxlbnQuCi0gICAgICAg
ICAgICAgICAgb3BlbklmcmFtZSh0aGlyZFBhcnR5QmFzZVVybCArIHN1YlBhdGhUb0dldENvb2tp
ZXMgKyAiJm1lc3NhZ2U9QmVmb3JlIHVzZXIgaW50ZXJhY3Rpb24sIHNob3VsZCByZWNlaXZlIG5v
IGNvb2tpZXMuIiwgcnVuVGVzdCk7Ci0gICAgICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgICAg
ICBjYXNlICIjc3RlcDMiOgotICAgICAgICAgICAgICAgIGRvY3VtZW50LmxvY2F0aW9uLmhhc2gg
PSAic3RlcDQiOwotICAgICAgICAgICAgICAgIC8vIFByb2R1Y2UgdXNlciBpbnRlcmFjdGlvbiBm
b3IgdGhlIGZpcnN0LXBhcnR5LgotICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlz
dGljc0hhc0hhZFVzZXJJbnRlcmFjdGlvbihwYXJ0aXRpb25PcmlnaW4sIHRydWUsIGZ1bmN0aW9u
KCkgewotICAgICAgICAgICAgICAgICAgICAvLyBDaGVjayB0aGF0IHRoZSBjb29raWUgaXMgc3Rp
bGwgYmxvY2tlZCBmb3IgbG9jYWxob3N0IHVuZGVyIDEyNy4wLjAuMS4KLSAgICAgICAgICAgICAg
ICAgICAgb3BlbklmcmFtZSh0aGlyZFBhcnR5QmFzZVVybCArIHN1YlBhdGhUb0dldENvb2tpZXMg
KyAgIiZtZXNzYWdlPUFmdGVyIHVzZXIgaW50ZXJhY3Rpb24sIHNob3VsZCByZWNlaXZlIG5vIGNv
b2tpZXMuIiwgcnVuVGVzdCk7Ci0gICAgICAgICAgICAgICAgfSk7Ci0gICAgICAgICAgICAgICAg
YnJlYWs7Ci0gICAgICAgICAgICBjYXNlICIjc3RlcDQiOgotICAgICAgICAgICAgICAgIHRlc3RS
dW5uZXIuc2V0U3RhdGlzdGljc1Nob3VsZEJsb2NrVGhpcmRQYXJ0eUNvb2tpZXMoZmFsc2UsIGZ1
bmN0aW9uKCkgewotICAgICAgICAgICAgICAgICAgICBzZXRFbmFibGVGZWF0dXJlKGZhbHNlLCBm
aW5pc2hKU1Rlc3QpOwotICAgICAgICAgICAgICAgIH0pOwotICAgICAgICAgICAgICAgIGJyZWFr
OwotICAgICAgICB9Ci0gICAgfQotCi0gICAgaWYgKGRvY3VtZW50LmxvY2F0aW9uLmhhc2ggPT09
ICIiKSB7Ci0gICAgICAgIHRlc3RSdW5uZXIuc2V0VXNlSVRQRGF0YWJhc2UodHJ1ZSk7Ci0gICAg
ICAgIHNldEVuYWJsZUZlYXR1cmUodHJ1ZSwgZnVuY3Rpb24gKCkgewotICAgICAgICAgICAgaWYg
KHRlc3RSdW5uZXIuaXNTdGF0aXN0aWNzUHJldmFsZW50UmVzb3VyY2UodGhpcmRQYXJ0eU9yaWdp
bikpCi0gICAgICAgICAgICAgICAgdGVzdEZhaWxlZCgiTG9jYWxob3N0IHdhcyBjbGFzc2lmaWVk
IGFzIHByZXZhbGVudCByZXNvdXJjZSBiZWZvcmUgdGhlIHRlc3Qgc3RhcnRzLiIpOwotICAgICAg
ICAgICAgdGVzdFJ1bm5lci5kdW1wQ2hpbGRGcmFtZXNBc1RleHQoKTsKLSAgICAgICAgICAgIGRv
Y3VtZW50LmxvY2F0aW9uLmhhc2ggPSAic3RlcDEiOwotICAgICAgICAgICAgdGVzdFJ1bm5lci5z
ZXRTdGF0aXN0aWNzU2hvdWxkQmxvY2tUaGlyZFBhcnR5Q29va2llcyh0cnVlLCBydW5UZXN0KTsK
LSAgICAgICAgfSk7Ci0gICAgfSBlbHNlIHsKLSAgICAgICAgcnVuVGVzdCgpOwotICAgIH0KLTwv
c2NyaXB0PgotPC9ib2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90
ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3RoaXJkLXBhcnR5LWNvb2tpZS1ibG9ja2luZy1l
cGhlbWVyYWwtZGF0YWJhc2UtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9y
ZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3RoaXJkLXBhcnR5LWNvb2tpZS1ibG9ja2luZy1lcGhlbWVy
YWwtZGF0YWJhc2UtZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAz
YzMyY2RhOGZjZTk2YzJlNzYzMDQ1ZTE1OWY5MDE3MzVkMTA1NDJiLi4wMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVz
b3VyY2VMb2FkU3RhdGlzdGljcy90aGlyZC1wYXJ0eS1jb29raWUtYmxvY2tpbmctZXBoZW1lcmFs
LWRhdGFiYXNlLWV4cGVjdGVkLnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDI0ICswLDAgQEAKLVRl
c3RzIHRoYXQgYWxsIHRoaXJkLXBhcnR5IGNvb2tpZXMgYXJlIGJsb2NrZWQgKGVwaGVtZXJhbCBz
ZXNzaW9uKS4KLQotT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBt
ZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgotCi0KLVBBU1MgUmVzb3VyY2Ug
bG9hZCBzdGF0aXN0aWNzIGlzIHJ1bm5pbmcgaW4gZXBoZW1lcmFsIG1vZGUuCi1QQVNTIHN1Y2Nl
c3NmdWxseVBhcnNlZCBpcyB0cnVlCi0KLVRFU1QgQ09NUExFVEUKLQotCi0tLS0tLS0tLQotRnJh
bWU6ICc8IS0tZnJhbWUxLS0+JwotLS0tLS0tLS0KLUJlZm9yZSB1c2VyIGludGVyYWN0aW9uLCBz
aG91bGQgcmVjZWl2ZSBubyBjb29raWVzLgotRGlkIG5vdCByZWNlaXZlIGNvb2tpZSBuYW1lZCAn
Zmlyc3RQYXJ0eUNvb2tpZScuCi1DbGllbnQtc2lkZSBkb2N1bWVudC5jb29raWU6Ci0KLS0tLS0t
LS0tCi1GcmFtZTogJzwhLS1mcmFtZTItLT4nCi0tLS0tLS0tLQotQWZ0ZXIgdXNlciBpbnRlcmFj
dGlvbiwgc2hvdWxkIHJlY2VpdmUgbm8gY29va2llcy4KLURpZCBub3QgcmVjZWl2ZSBjb29raWUg
bmFtZWQgJ2ZpcnN0UGFydHlDb29raWUnLgotQ2xpZW50LXNpZGUgZG9jdW1lbnQuY29va2llOgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNz
L3RoaXJkLXBhcnR5LWNvb2tpZS1ibG9ja2luZy1lcGhlbWVyYWwtZGF0YWJhc2UuaHRtbCBiL0xh
eW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy90aGlyZC1wYXJ0eS1j
b29raWUtYmxvY2tpbmctZXBoZW1lcmFsLWRhdGFiYXNlLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDI0NGMwYmQ0YzU5MzVlODllOTc4NmEzMmY5NjQ5YmRlOTI5YzZhNDEuLjAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMv
aHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3RoaXJkLXBhcnR5LWNvb2tpZS1ibG9j
a2luZy1lcGhlbWVyYWwtZGF0YWJhc2UuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDc0ICswLDAg
QEAKLTwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRXBoZW1lcmFsU2Vzc2lvbj10cnVlIF0g
LS0+Ci08IURPQ1RZUEUgaHRtbD4KLTxodG1sIGxhbmc9ImVuIj4KLTxoZWFkPgotICAgIDxtZXRh
IGNoYXJzZXQ9IlVURi04Ij4KLSAgICA8c2NyaXB0IHNyYz0iL2pzLXRlc3QtcmVzb3VyY2VzL2pz
LXRlc3QuanMiPjwvc2NyaXB0PgotICAgIDxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvdXRpbC5qcyI+
PC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keT4KLTxzY3JpcHQ+Ci0gICAgZGVzY3JpcHRpb24oIlRl
c3RzIHRoYXQgYWxsIHRoaXJkLXBhcnR5IGNvb2tpZXMgYXJlIGJsb2NrZWQgKGVwaGVtZXJhbCBz
ZXNzaW9uKS4iKTsKLSAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKLQotICAgIGNvbnN0IHBhcnRp
dGlvbkhvc3QgPSAiMTI3LjAuMC4xOjgwMDAiOwotICAgIGNvbnN0IHBhcnRpdGlvbk9yaWdpbiA9
ICJodHRwOi8vIiArIHBhcnRpdGlvbkhvc3Q7Ci0gICAgY29uc3QgdGhpcmRQYXJ0eU9yaWdpbiA9
ICJodHRwOi8vbG9jYWxob3N0OjgwMDAiOwotICAgIGNvbnN0IHJlc291cmNlUGF0aCA9ICIvcmVz
b3VyY2VMb2FkU3RhdGlzdGljcy9yZXNvdXJjZXMiOwotICAgIGNvbnN0IHRoaXJkUGFydHlCYXNl
VXJsID0gdGhpcmRQYXJ0eU9yaWdpbiArIHJlc291cmNlUGF0aDsKLSAgICBjb25zdCBmaXJzdFBh
cnR5Q29va2llTmFtZSA9ICJmaXJzdFBhcnR5Q29va2llIjsKLSAgICBjb25zdCBzdWJQYXRoVG9T
ZXRGaXJzdFBhcnR5Q29va2llID0gIi9zZXQtY29va2llLnBocD9uYW1lPSIgKyBmaXJzdFBhcnR5
Q29va2llTmFtZSArICImdmFsdWU9dmFsdWUiOwotICAgIGNvbnN0IHJldHVyblVybCA9IHBhcnRp
dGlvbk9yaWdpbiArICIvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy90aGlyZC1wYXJ0eS1jb29raWUt
YmxvY2tpbmctZXBoZW1lcmFsLWRhdGFiYXNlLmh0bWwiOwotICAgIGNvbnN0IHN1YlBhdGhUb0dl
dENvb2tpZXMgPSAiL2dldC1jb29raWVzLnBocD9uYW1lMT0iICsgZmlyc3RQYXJ0eUNvb2tpZU5h
bWU7Ci0KLSAgICBmdW5jdGlvbiBvcGVuSWZyYW1lKHVybCwgb25Mb2FkSGFuZGxlcikgewotICAg
ICAgICBjb25zdCBlbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiaWZyYW1lIik7Ci0g
ICAgICAgIGVsZW1lbnQuc3JjID0gdXJsOwotICAgICAgICBpZiAob25Mb2FkSGFuZGxlcikgewot
ICAgICAgICAgICAgZWxlbWVudC5vbmxvYWQgPSBvbkxvYWRIYW5kbGVyOwotICAgICAgICB9Ci0g
ICAgICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoZWxlbWVudCk7Ci0gICAgfQotCi0gICAg
ZnVuY3Rpb24gcnVuVGVzdCgpIHsKLSAgICAgICAgc3dpdGNoIChkb2N1bWVudC5sb2NhdGlvbi5o
YXNoKSB7Ci0gICAgICAgICAgICBjYXNlICIjc3RlcDEiOgotICAgICAgICAgICAgICAgIC8vIFNl
dCBmaXJzdC1wYXJ0eSBjb29raWUgZm9yIGxvY2FsaG9zdC4KLSAgICAgICAgICAgICAgICBkb2N1
bWVudC5sb2NhdGlvbi5ocmVmID0gdGhpcmRQYXJ0eUJhc2VVcmwgKyBzdWJQYXRoVG9TZXRGaXJz
dFBhcnR5Q29va2llICsgIiMiICsgcmV0dXJuVXJsICsgIiNzdGVwMiI7Ci0gICAgICAgICAgICAg
ICAgYnJlYWs7Ci0gICAgICAgICAgICBjYXNlICIjc3RlcDIiOgotICAgICAgICAgICAgICAgIGRv
Y3VtZW50LmxvY2F0aW9uLmhhc2ggPSAic3RlcDMiOwotICAgICAgICAgICAgICAgIC8vIENoZWNr
IHRoYXQgdGhlIGNvb2tpZSBpcyBibG9ja2VkIGZvciBsb2NhbGhvc3QgdW5kZXIgMTI3LjAuMC4x
IGV2ZW4gdGhvdWdoIGxvY2FsaG9zdCBpcyBub3QgcHJldmFsZW50LgotICAgICAgICAgICAgICAg
IG9wZW5JZnJhbWUodGhpcmRQYXJ0eUJhc2VVcmwgKyBzdWJQYXRoVG9HZXRDb29raWVzICsgIiZt
ZXNzYWdlPUJlZm9yZSB1c2VyIGludGVyYWN0aW9uLCBzaG91bGQgcmVjZWl2ZSBubyBjb29raWVz
LiIsIHJ1blRlc3QpOwotICAgICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICAgICAgY2FzZSAi
I3N0ZXAzIjoKLSAgICAgICAgICAgICAgICBkb2N1bWVudC5sb2NhdGlvbi5oYXNoID0gInN0ZXA0
IjsKLSAgICAgICAgICAgICAgICAvLyBQcm9kdWNlIHVzZXIgaW50ZXJhY3Rpb24gZm9yIHRoZSBm
aXJzdC1wYXJ0eS4KLSAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NIYXNI
YWRVc2VySW50ZXJhY3Rpb24ocGFydGl0aW9uT3JpZ2luLCB0cnVlLCBmdW5jdGlvbigpIHsKLSAg
ICAgICAgICAgICAgICAgICAgLy8gQ2hlY2sgdGhhdCB0aGUgY29va2llIGlzIHN0aWxsIGJsb2Nr
ZWQgZm9yIGxvY2FsaG9zdCB1bmRlciAxMjcuMC4wLjEuCi0gICAgICAgICAgICAgICAgICAgIG9w
ZW5JZnJhbWUodGhpcmRQYXJ0eUJhc2VVcmwgKyBzdWJQYXRoVG9HZXRDb29raWVzICsgICImbWVz
c2FnZT1BZnRlciB1c2VyIGludGVyYWN0aW9uLCBzaG91bGQgcmVjZWl2ZSBubyBjb29raWVzLiIs
IHJ1blRlc3QpOwotICAgICAgICAgICAgICAgIH0pOwotICAgICAgICAgICAgICAgIGJyZWFrOwot
ICAgICAgICAgICAgY2FzZSAiI3N0ZXA0IjoKLSAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLnNl
dFN0YXRpc3RpY3NTaG91bGRCbG9ja1RoaXJkUGFydHlDb29raWVzKGZhbHNlLCBmdW5jdGlvbigp
IHsKLSAgICAgICAgICAgICAgICAgICAgc2V0RW5hYmxlRmVhdHVyZShmYWxzZSwgZmluaXNoSlNU
ZXN0KTsKLSAgICAgICAgICAgICAgICB9KTsKLSAgICAgICAgICAgICAgICBicmVhazsKLSAgICAg
ICAgfQotICAgIH0KLQotICAgIGlmIChkb2N1bWVudC5sb2NhdGlvbi5oYXNoID09PSAiIikgewot
ICAgICAgICB0ZXN0UnVubmVyLnNldFVzZUlUUERhdGFiYXNlKHRydWUpOwotICAgICAgICBzZXRF
bmFibGVGZWF0dXJlKHRydWUsIGZ1bmN0aW9uICgpIHsKLSAgICAgICAgICAgIHRlc3RSdW5uZXIu
ZHVtcENoaWxkRnJhbWVzQXNUZXh0KCk7Ci0gICAgICAgICAgICBkb2N1bWVudC5sb2NhdGlvbi5o
YXNoID0gInN0ZXAxIjsKLSAgICAgICAgICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc1Nob3Vs
ZEJsb2NrVGhpcmRQYXJ0eUNvb2tpZXModHJ1ZSwgcnVuVGVzdCk7Ci0gICAgICAgIH0pOwotICAg
IH0gZWxzZSB7Ci0gICAgICAgIGlmICh0ZXN0UnVubmVyLmlzU3RhdGlzdGljc0VwaGVtZXJhbCgp
KQotICAgICAgICAgICAgdGVzdFBhc3NlZCgiUmVzb3VyY2UgbG9hZCBzdGF0aXN0aWNzIGlzIHJ1
bm5pbmcgaW4gZXBoZW1lcmFsIG1vZGUuIik7Ci0gICAgICAgIHJ1blRlc3QoKTsKLSAgICB9Ci08
L3NjcmlwdD4KLTwvYm9keT4KLTwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAv
dGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy90aGlyZC1wYXJ0eS1jb29raWUtYmxvY2tpbmct
b24tc2l0ZXMtd2l0aG91dC11c2VyLWludGVyYWN0aW9uLWRhdGFiYXNlLWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy90aGlyZC1wYXJ0
eS1jb29raWUtYmxvY2tpbmctb24tc2l0ZXMtd2l0aG91dC11c2VyLWludGVyYWN0aW9uLWRhdGFi
YXNlLWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNmU3N2NhOGEw
N2U0ZDBlN2NkODYwY2M0ZDg4NDdkNGZlYTg4MzZjMy4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9h
ZFN0YXRpc3RpY3MvdGhpcmQtcGFydHktY29va2llLWJsb2NraW5nLW9uLXNpdGVzLXdpdGhvdXQt
dXNlci1pbnRlcmFjdGlvbi1kYXRhYmFzZS1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAt
MSwyMyArMCwwIEBACi1UZXN0cyB0aGF0IGFsbCB0aGlyZC1wYXJ0eSBjb29raWVzIGFyZSBibG9j
a2VkIHVuZGVyIHdlYnNpdGVzIHRoYXQgaGF2ZSBub3QgcmVjZWl2ZWQgdXNlciBpbnRlcmFjdGlv
bi4KLQotT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdl
cywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgotCi0KLVBBU1Mgc3VjY2Vzc2Z1bGx5UGFy
c2VkIGlzIHRydWUKLQotVEVTVCBDT01QTEVURQotCi0KLS0tLS0tLS0tCi1GcmFtZTogJzwhLS1m
cmFtZTEtLT4nCi0tLS0tLS0tLQotQmVmb3JlIHVzZXIgaW50ZXJhY3Rpb24sIHNob3VsZCByZWNl
aXZlIG5vIGNvb2tpZXMuCi1EaWQgbm90IHJlY2VpdmUgY29va2llIG5hbWVkICdmaXJzdFBhcnR5
Q29va2llJy4KLUNsaWVudC1zaWRlIGRvY3VtZW50LmNvb2tpZToKLQotLS0tLS0tLS0KLUZyYW1l
OiAnPCEtLWZyYW1lMi0tPicKLS0tLS0tLS0tCi1BZnRlciB1c2VyIGludGVyYWN0aW9uLCBzaG91
bGQgcmVjZWl2ZSBmaXJzdC1wYXJ0eSBjb29raWUuCi1SZWNlaXZlZCBjb29raWUgbmFtZWQgJ2Zp
cnN0UGFydHlDb29raWUnLgotQ2xpZW50LXNpZGUgZG9jdW1lbnQuY29va2llOiBmaXJzdFBhcnR5
Q29va2llPXZhbHVlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNl
TG9hZFN0YXRpc3RpY3MvdGhpcmQtcGFydHktY29va2llLWJsb2NraW5nLW9uLXNpdGVzLXdpdGhv
dXQtdXNlci1pbnRlcmFjdGlvbi1kYXRhYmFzZS5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0
cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3RoaXJkLXBhcnR5LWNvb2tpZS1ibG9ja2luZy1vbi1z
aXRlcy13aXRob3V0LXVzZXItaW50ZXJhY3Rpb24tZGF0YWJhc2UuaHRtbApkZWxldGVkIGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMjdhZTA3MzVmNDA1NjAyYzNkMDU3YTc2MDM2NDlmNDM2N2RiMTE5
MS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRU
ZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvdGhpcmQtcGFydHktY29va2ll
LWJsb2NraW5nLW9uLXNpdGVzLXdpdGhvdXQtdXNlci1pbnRlcmFjdGlvbi1kYXRhYmFzZS5odG1s
CisrKyAvZGV2L251bGwKQEAgLTEsNzUgKzAsMCBAQAotPCFET0NUWVBFIGh0bWw+Ci08aHRtbCBs
YW5nPSJlbiI+Ci08aGVhZD4KLSAgICA8bWV0YSBjaGFyc2V0PSJVVEYtOCI+Ci0gICAgPHNjcmlw
dCBzcmM9Ii9qcy10ZXN0LXJlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KLSAgICA8c2Ny
aXB0IHNyYz0icmVzb3VyY2VzL3V0aWwuanMiPjwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHk+Ci08
c2NyaXB0PgotICAgIGRlc2NyaXB0aW9uKCJUZXN0cyB0aGF0IGFsbCB0aGlyZC1wYXJ0eSBjb29r
aWVzIGFyZSBibG9ja2VkIHVuZGVyIHdlYnNpdGVzIHRoYXQgaGF2ZSBub3QgcmVjZWl2ZWQgdXNl
ciBpbnRlcmFjdGlvbi4iKTsKLSAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKLQotICAgIGNvbnN0
IHBhcnRpdGlvbkhvc3QgPSAiMTI3LjAuMC4xOjgwMDAiOwotICAgIGNvbnN0IHBhcnRpdGlvbk9y
aWdpbiA9ICJodHRwOi8vIiArIHBhcnRpdGlvbkhvc3Q7Ci0gICAgY29uc3QgdGhpcmRQYXJ0eU9y
aWdpbiA9ICJodHRwOi8vbG9jYWxob3N0OjgwMDAiOwotICAgIGNvbnN0IHJlc291cmNlUGF0aCA9
ICIvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9yZXNvdXJjZXMiOwotICAgIGNvbnN0IHRoaXJkUGFy
dHlCYXNlVXJsID0gdGhpcmRQYXJ0eU9yaWdpbiArIHJlc291cmNlUGF0aDsKLSAgICBjb25zdCBm
aXJzdFBhcnR5Q29va2llTmFtZSA9ICJmaXJzdFBhcnR5Q29va2llIjsKLSAgICBjb25zdCBzdWJQ
YXRoVG9TZXRGaXJzdFBhcnR5Q29va2llID0gIi9zZXQtY29va2llLnBocD9uYW1lPSIgKyBmaXJz
dFBhcnR5Q29va2llTmFtZSArICImdmFsdWU9dmFsdWUiOwotICAgIGNvbnN0IHJldHVyblVybCA9
IHBhcnRpdGlvbk9yaWdpbiArICIvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy90aGlyZC1wYXJ0eS1j
b29raWUtYmxvY2tpbmctb24tc2l0ZXMtd2l0aG91dC11c2VyLWludGVyYWN0aW9uLWRhdGFiYXNl
Lmh0bWwiOwotICAgIGNvbnN0IHN1YlBhdGhUb0dldENvb2tpZXMgPSAiL2dldC1jb29raWVzLnBo
cD9uYW1lMT0iICsgZmlyc3RQYXJ0eUNvb2tpZU5hbWU7Ci0KLSAgICBmdW5jdGlvbiBvcGVuSWZy
YW1lKHVybCwgb25Mb2FkSGFuZGxlcikgewotICAgICAgICBjb25zdCBlbGVtZW50ID0gZG9jdW1l
bnQuY3JlYXRlRWxlbWVudCgiaWZyYW1lIik7Ci0gICAgICAgIGVsZW1lbnQuc3JjID0gdXJsOwot
ICAgICAgICBpZiAob25Mb2FkSGFuZGxlcikgewotICAgICAgICAgICAgZWxlbWVudC5vbmxvYWQg
PSBvbkxvYWRIYW5kbGVyOwotICAgICAgICB9Ci0gICAgICAgIGRvY3VtZW50LmJvZHkuYXBwZW5k
Q2hpbGQoZWxlbWVudCk7Ci0gICAgfQotCi0gICAgZnVuY3Rpb24gcnVuVGVzdCgpIHsKLSAgICAg
ICAgc3dpdGNoIChkb2N1bWVudC5sb2NhdGlvbi5oYXNoKSB7Ci0gICAgICAgICAgICBjYXNlICIj
c3RlcDEiOgotICAgICAgICAgICAgICAgIC8vIFNldCBmaXJzdC1wYXJ0eSBjb29raWUgZm9yIGxv
Y2FsaG9zdC4KLSAgICAgICAgICAgICAgICBkb2N1bWVudC5sb2NhdGlvbi5ocmVmID0gdGhpcmRQ
YXJ0eUJhc2VVcmwgKyBzdWJQYXRoVG9TZXRGaXJzdFBhcnR5Q29va2llICsgIiMiICsgcmV0dXJu
VXJsICsgIiNzdGVwMiI7Ci0gICAgICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgICAgICBjYXNl
ICIjc3RlcDIiOgotICAgICAgICAgICAgICAgIGRvY3VtZW50LmxvY2F0aW9uLmhhc2ggPSAic3Rl
cDMiOwotICAgICAgICAgICAgICAgIC8vIENoZWNrIHRoYXQgdGhlIGNvb2tpZSBpcyBibG9ja2Vk
IGZvciBsb2NhbGhvc3QgdW5kZXIgMTI3LjAuMC4xIGV2ZW4gdGhvdWdoIGxvY2FsaG9zdCBpcyBu
b3QgcHJldmFsZW50LgotICAgICAgICAgICAgICAgIG9wZW5JZnJhbWUodGhpcmRQYXJ0eUJhc2VV
cmwgKyBzdWJQYXRoVG9HZXRDb29raWVzICsgIiZtZXNzYWdlPUJlZm9yZSB1c2VyIGludGVyYWN0
aW9uLCBzaG91bGQgcmVjZWl2ZSBubyBjb29raWVzLiIsIHJ1blRlc3QpOwotICAgICAgICAgICAg
ICAgIGJyZWFrOwotICAgICAgICAgICAgY2FzZSAiI3N0ZXAzIjoKLSAgICAgICAgICAgICAgICBk
b2N1bWVudC5sb2NhdGlvbi5oYXNoID0gInN0ZXA0IjsKLSAgICAgICAgICAgICAgICAvLyBQcm9k
dWNlIHVzZXIgaW50ZXJhY3Rpb24gZm9yIHRoZSBmaXJzdC1wYXJ0eSB0byBhbGxvdyB0aGlyZC1w
YXJ0eSBjb29raWUgYWNjZXNzLgotICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlz
dGljc0hhc0hhZFVzZXJJbnRlcmFjdGlvbihwYXJ0aXRpb25PcmlnaW4sIHRydWUsIGZ1bmN0aW9u
KCkgewotICAgICAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLnN0YXRpc3RpY3NVcGRhdGVDb29r
aWVCbG9ja2luZyhmdW5jdGlvbigpIHsKLSAgICAgICAgICAgICAgICAgICAgICAgIC8vIENoZWNr
IHRoYXQgdGhlIGNvb2tpZSBpcyBubyBsb25nZXIgYmxvY2tlZCBmb3IgbG9jYWxob3N0IHVuZGVy
IDEyNy4wLjAuMS4KLSAgICAgICAgICAgICAgICAgICAgICAgIG9wZW5JZnJhbWUodGhpcmRQYXJ0
eUJhc2VVcmwgKyBzdWJQYXRoVG9HZXRDb29raWVzICsgICImbWVzc2FnZT1BZnRlciB1c2VyIGlu
dGVyYWN0aW9uLCBzaG91bGQgcmVjZWl2ZSBmaXJzdC1wYXJ0eSBjb29raWUuIiwgcnVuVGVzdCk7
Ci0gICAgICAgICAgICAgICAgICAgIH0pOwotICAgICAgICAgICAgICAgIH0pOwotICAgICAgICAg
ICAgICAgIGJyZWFrOwotICAgICAgICAgICAgY2FzZSAiI3N0ZXA0IjoKLSAgICAgICAgICAgICAg
ICB0ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NTaG91bGRCbG9ja1RoaXJkUGFydHlDb29raWVzKGZh
bHNlLCBmdW5jdGlvbigpIHsKLSAgICAgICAgICAgICAgICAgICAgc2V0RW5hYmxlRmVhdHVyZShm
YWxzZSwgZmluaXNoSlNUZXN0KTsKLSAgICAgICAgICAgICAgICB9KTsKLSAgICAgICAgICAgICAg
ICBicmVhazsKLSAgICAgICAgfQotICAgIH0KLQotICAgIGlmIChkb2N1bWVudC5sb2NhdGlvbi5o
YXNoID09PSAiIikgewotICAgICAgICB0ZXN0UnVubmVyLnNldFVzZUlUUERhdGFiYXNlKHRydWUp
OwotICAgICAgICBzZXRFbmFibGVGZWF0dXJlKHRydWUsIGZ1bmN0aW9uICgpIHsKLSAgICAgICAg
ICAgIGlmICh0ZXN0UnVubmVyLmlzU3RhdGlzdGljc1ByZXZhbGVudFJlc291cmNlKHRoaXJkUGFy
dHlPcmlnaW4pKQotICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoIkxvY2FsaG9zdCB3YXMgY2xh
c3NpZmllZCBhcyBwcmV2YWxlbnQgcmVzb3VyY2UgYmVmb3JlIHRoZSB0ZXN0IHN0YXJ0cy4iKTsK
LSAgICAgICAgICAgIHRlc3RSdW5uZXIuZHVtcENoaWxkRnJhbWVzQXNUZXh0KCk7Ci0gICAgICAg
ICAgICBkb2N1bWVudC5sb2NhdGlvbi5oYXNoID0gInN0ZXAxIjsKLSAgICAgICAgICAgIHRlc3RS
dW5uZXIuc2V0U3RhdGlzdGljc1Nob3VsZEJsb2NrVGhpcmRQYXJ0eUNvb2tpZXModHJ1ZSwgcnVu
VGVzdCwgdHJ1ZSk7Ci0gICAgICAgIH0pOwotICAgIH0gZWxzZSB7Ci0gICAgICAgIHJ1blRlc3Qo
KTsKLSAgICB9Ci08L3NjcmlwdD4KLTwvYm9keT4KLTwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVu
ZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9h
ZFN0YXRpc3RpY3MvdXNlci1pbnRlcmFjdGlvbi1pbi1jcm9zcy1vcmlnaW4tc3ViLWZyYW1lLWRh
dGFiYXNlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2Fk
U3RhdGlzdGljcy91c2VyLWludGVyYWN0aW9uLWluLWNyb3NzLW9yaWdpbi1zdWItZnJhbWUtZGF0
YWJhc2UtZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAyODQyNzMw
YTQ1ZGFkZTZlYTZmMTVkZWNjMzlhN2U1YTlhMGUzMTJjLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VM
b2FkU3RhdGlzdGljcy91c2VyLWludGVyYWN0aW9uLWluLWNyb3NzLW9yaWdpbi1zdWItZnJhbWUt
ZGF0YWJhc2UtZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEsMTQgKzAsMCBAQAotVGVz
dHMgdGhhdCB1c2VyIGludGVyYWN0aW9uIGlzIGFsd2F5cyBsb2dnZWQgZm9yIHRoZSB0b3AgZG9j
dW1lbnQvZnJhbWUuCi0KLU9uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFT
UyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KLQotCi1QQVNTIGRvY3Vt
ZW50LmxvY2F0aW9uLm9yaWdpbiBpcyB0b3BGcmFtZU9yaWdpbgotUEFTUyB0ZXN0UnVubmVyLmlz
U3RhdGlzdGljc0hhc0hhZFVzZXJJbnRlcmFjdGlvbih0b3BGcmFtZU9yaWdpbikgaXMgZmFsc2UK
LVBBU1MgdGVzdFJ1bm5lci5pc1N0YXRpc3RpY3NIYXNIYWRVc2VySW50ZXJhY3Rpb24oc3ViRnJh
bWVPcmlnaW4pIGlzIGZhbHNlCi1QQVNTIHRlc3RSdW5uZXIuaXNTdGF0aXN0aWNzSGFzSGFkVXNl
ckludGVyYWN0aW9uKHRvcEZyYW1lT3JpZ2luKSBpcyB0cnVlCi1QQVNTIHRlc3RSdW5uZXIuaXNT
dGF0aXN0aWNzSGFzSGFkVXNlckludGVyYWN0aW9uKHN1YkZyYW1lT3JpZ2luKSBpcyBmYWxzZQot
UEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQotCi1URVNUIENPTVBMRVRFCi0KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy91c2Vy
LWludGVyYWN0aW9uLWluLWNyb3NzLW9yaWdpbi1zdWItZnJhbWUtZGF0YWJhc2UuaHRtbCBiL0xh
eW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy91c2VyLWludGVyYWN0
aW9uLWluLWNyb3NzLW9yaWdpbi1zdWItZnJhbWUtZGF0YWJhc2UuaHRtbApkZWxldGVkIGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggNTE2NzJlODljMjdlZmY5OTdiOWRiZmIwYWIyNTMzZDNkYTNmYjRi
Yi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRU
ZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvdXNlci1pbnRlcmFjdGlvbi1p
bi1jcm9zcy1vcmlnaW4tc3ViLWZyYW1lLWRhdGFiYXNlLmh0bWwKKysrIC9kZXYvbnVsbApAQCAt
MSw0NyArMCwwIEBACi08IURPQ1RZUEUgaHRtbD4KLTxodG1sPgotPGJvZHk+Ci08c2NyaXB0IHNy
Yz0iL2pzLXRlc3QtcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9
Ii9qcy10ZXN0LXJlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9
InJlc291cmNlcy91dGlsLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQ+Ci1kZXNjcmlwdGlvbigiVGVz
dHMgdGhhdCB1c2VyIGludGVyYWN0aW9uIGlzIGFsd2F5cyBsb2dnZWQgZm9yIHRoZSB0b3AgZG9j
dW1lbnQvZnJhbWUuIik7Ci1qc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKLXRlc3RSdW5uZXIuc2V0VXNl
SVRQRGF0YWJhc2UodHJ1ZSk7Ci0KLWNvbnN0IHRvcEZyYW1lT3JpZ2luID0gImh0dHA6Ly8xMjcu
MC4wLjE6ODAwMCI7Ci1jb25zdCBzdWJGcmFtZU9yaWdpbiA9ICJodHRwOi8vbG9jYWxob3N0Ojgw
MDAiOwotCi1mdW5jdGlvbiBhY3RpdmF0ZUVsZW1lbnQoZWxlbWVudElkKSB7Ci0gICAgdmFyIGVs
ZW1lbnQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChlbGVtZW50SWQpOwotICAgIHZhciBjZW50
ZXJYID0gZWxlbWVudC5vZmZzZXRMZWZ0ICsgZWxlbWVudC5vZmZzZXRXaWR0aCAvIDI7Ci0gICAg
dmFyIGNlbnRlclkgPSBlbGVtZW50Lm9mZnNldFRvcCArIGVsZW1lbnQub2Zmc2V0SGVpZ2h0IC8g
MjsKLSAgICBVSUhlbHBlci5hY3RpdmF0ZUF0KGNlbnRlclgsIGNlbnRlclkpOwotfQotCi1mdW5j
dGlvbiBmaW5pc2hUZXN0KCkgewotICAgIHNob3VsZEJlVHJ1ZSgidGVzdFJ1bm5lci5pc1N0YXRp
c3RpY3NIYXNIYWRVc2VySW50ZXJhY3Rpb24odG9wRnJhbWVPcmlnaW4pIik7Ci0gICAgc2hvdWxk
QmVGYWxzZSgidGVzdFJ1bm5lci5pc1N0YXRpc3RpY3NIYXNIYWRVc2VySW50ZXJhY3Rpb24oc3Vi
RnJhbWVPcmlnaW4pIik7Ci0gICAgc2V0RW5hYmxlRmVhdHVyZShmYWxzZSwgZmluaXNoSlNUZXN0
KTsKLX0KLQotb25sb2FkID0gZnVuY3Rpb24oKSB7Ci0gICAgc2V0RW5hYmxlRmVhdHVyZSh0cnVl
LCBmdW5jdGlvbigpIHsKLSAgICAgICAgaWYgKHRlc3RSdW5uZXIpIHsKLSAgICAgICAgICAgIHRl
c3RSdW5uZXIuaW5zdGFsbFN0YXRpc3RpY3NEaWRTY2FuRGF0YVJlY29yZHNDYWxsYmFjayhmaW5p
c2hUZXN0KTsKLSAgICAgICAgfQotCi0gICAgICAgIHNob3VsZEJlKCJkb2N1bWVudC5sb2NhdGlv
bi5vcmlnaW4iLCAidG9wRnJhbWVPcmlnaW4iKTsKLQotICAgICAgICBpZiAodGVzdFJ1bm5lcikg
ewotICAgICAgICAgICAgc2hvdWxkQmVGYWxzZSgidGVzdFJ1bm5lci5pc1N0YXRpc3RpY3NIYXNI
YWRVc2VySW50ZXJhY3Rpb24odG9wRnJhbWVPcmlnaW4pIik7Ci0gICAgICAgICAgICBzaG91bGRC
ZUZhbHNlKCJ0ZXN0UnVubmVyLmlzU3RhdGlzdGljc0hhc0hhZFVzZXJJbnRlcmFjdGlvbihzdWJG
cmFtZU9yaWdpbikiKTsKLQotICAgICAgICAgICAgYWN0aXZhdGVFbGVtZW50KCJ0ZXN0RnJhbWUi
KTsKLSAgICAgICAgfQotICAgIH0pOwotfTsKLTwvc2NyaXB0PgotPGlmcmFtZSBpZD0idGVzdEZy
YW1lIiBzcmM9Imh0dHA6Ly9sb2NhbGhvc3Q6ODAwMC9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3Jl
c291cmNlcy9kdW1teS5odG1sIj48L2lmcmFtZT4KLTwvYm9keT4KLTwvaHRtbD4KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy91c2VyLWlu
dGVyYWN0aW9uLW9ubHktcmVwb3J0ZWQtb25jZS13aXRoaW4tc2hvcnQtcGVyaW9kLW9mLXRpbWUt
ZGF0YWJhc2UtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxv
YWRTdGF0aXN0aWNzL3VzZXItaW50ZXJhY3Rpb24tb25seS1yZXBvcnRlZC1vbmNlLXdpdGhpbi1z
aG9ydC1wZXJpb2Qtb2YtdGltZS1kYXRhYmFzZS1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDU0MzJiYzhlZDczODFmYmM0OThkYjM0YzBmYjNiZTdhNTdiZDkxZDEu
LjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3VzZXItaW50ZXJhY3Rpb24tb25s
eS1yZXBvcnRlZC1vbmNlLXdpdGhpbi1zaG9ydC1wZXJpb2Qtb2YtdGltZS1kYXRhYmFzZS1leHBl
Y3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSwxNyArMCwwIEBACi1UZXN0cyB0aGF0IHVzZXIg
aW50ZXJhY3Rpb24gaXMgbm90IHJlcG9ydGVkIHJlcGVhdGVkbHkgd2l0aGluIGEgc2hvcnQgcGVy
aW9kIG9mIHRpbWUuCi0KLU9uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFT
UyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KLQotCi1QQVNTIGRvY3Vt
ZW50LmxvY2F0aW9uLm9yaWdpbiBpcyB0b3BGcmFtZU9yaWdpbgotUEFTUyB0ZXN0UnVubmVyLmlz
U3RhdGlzdGljc0hhc0hhZFVzZXJJbnRlcmFjdGlvbih0b3BGcmFtZU9yaWdpbikgaXMgZmFsc2UK
LVBBU1MgdGVzdFJ1bm5lci5pc1N0YXRpc3RpY3NIYXNIYWRVc2VySW50ZXJhY3Rpb24oc3ViRnJh
bWVPcmlnaW4pIGlzIGZhbHNlCi1QQVNTIHRlc3RSdW5uZXIuaXNTdGF0aXN0aWNzSGFzSGFkVXNl
ckludGVyYWN0aW9uKHRvcEZyYW1lT3JpZ2luKSBpcyB0cnVlCi1QQVNTIHRlc3RSdW5uZXIuaXNT
dGF0aXN0aWNzSGFzSGFkVXNlckludGVyYWN0aW9uKHN1YkZyYW1lT3JpZ2luKSBpcyBmYWxzZQot
UEFTUyB0ZXN0UnVubmVyLmlzU3RhdGlzdGljc0hhc0hhZFVzZXJJbnRlcmFjdGlvbih0b3BGcmFt
ZU9yaWdpbikgaXMgZmFsc2UKLVBBU1MgdGVzdFJ1bm5lci5pc1N0YXRpc3RpY3NIYXNIYWRVc2Vy
SW50ZXJhY3Rpb24odG9wRnJhbWVPcmlnaW4pIGlzIGZhbHNlCi1QQVNTIHRlc3RSdW5uZXIuaXNT
dGF0aXN0aWNzSGFzSGFkVXNlckludGVyYWN0aW9uKHN1YkZyYW1lT3JpZ2luKSBpcyBmYWxzZQot
UEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQotCi1URVNUIENPTVBMRVRFCi1UaGlzIGlz
IHRoZSB0ZXN0IGVsZW1lbnQKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVz
b3VyY2VMb2FkU3RhdGlzdGljcy91c2VyLWludGVyYWN0aW9uLW9ubHktcmVwb3J0ZWQtb25jZS13
aXRoaW4tc2hvcnQtcGVyaW9kLW9mLXRpbWUtZGF0YWJhc2UuaHRtbCBiL0xheW91dFRlc3RzL2h0
dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy91c2VyLWludGVyYWN0aW9uLW9ubHktcmVw
b3J0ZWQtb25jZS13aXRoaW4tc2hvcnQtcGVyaW9kLW9mLXRpbWUtZGF0YWJhc2UuaHRtbApkZWxl
dGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNjA5NTI0MmNhZDY3NDA0MTdhYTk5NzI0NjE4OTgx
NDRkYzJjZTkzZS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0g
YS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvdXNlci1pbnRl
cmFjdGlvbi1vbmx5LXJlcG9ydGVkLW9uY2Utd2l0aGluLXNob3J0LXBlcmlvZC1vZi10aW1lLWRh
dGFiYXNlLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSw2NSArMCwwIEBACi08IURPQ1RZUEUgaHRt
bD4KLTxodG1sPgotPGJvZHk+Ci08c2NyaXB0IHNyYz0iL2pzLXRlc3QtcmVzb3VyY2VzL2pzLXRl
c3QuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9qcy10ZXN0LXJlc291cmNlcy91aS1oZWxw
ZXIuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9InJlc291cmNlcy91dGlsLmpzIj48L3Njcmlw
dD4KLTxzY3JpcHQ+Ci0gICAgZGVzY3JpcHRpb24oIlRlc3RzIHRoYXQgdXNlciBpbnRlcmFjdGlv
biBpcyBub3QgcmVwb3J0ZWQgcmVwZWF0ZWRseSB3aXRoaW4gYSBzaG9ydCBwZXJpb2Qgb2YgdGlt
ZS4iKTsKLSAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKLQotICAgIGNvbnN0IHRvcEZyYW1lT3Jp
Z2luID0gImh0dHA6Ly8xMjcuMC4wLjE6ODAwMCI7Ci0gICAgY29uc3Qgc3ViRnJhbWVPcmlnaW4g
PSAiaHR0cDovL2xvY2FsaG9zdDo4MDAwIjsKLQotICAgIGZ1bmN0aW9uIGFjdGl2YXRlRWxlbWVu
dChlbGVtZW50SWQsIGNhbGxiYWNrKSB7Ci0gICAgICAgIHZhciBlbGVtZW50ID0gZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoZWxlbWVudElkKTsKLSAgICAgICAgdmFyIGNlbnRlclggPSBlbGVtZW50
Lm9mZnNldExlZnQgKyBlbGVtZW50Lm9mZnNldFdpZHRoIC8gMjsKLSAgICAgICAgdmFyIGNlbnRl
clkgPSBlbGVtZW50Lm9mZnNldFRvcCArIGVsZW1lbnQub2Zmc2V0SGVpZ2h0IC8gMjsKLSAgICAg
ICAgVUlIZWxwZXIuYWN0aXZhdGVBdChjZW50ZXJYLCBjZW50ZXJZKS50aGVuKAotICAgICAgICAg
ICAgZnVuY3Rpb24oKSB7Ci0gICAgICAgICAgICAgICAgY2FsbGJhY2soKTsKLSAgICAgICAgICAg
IH0sCi0gICAgICAgICAgICBmdW5jdGlvbigpIHsKLSAgICAgICAgICAgICAgICB0ZXN0RmFpbGVk
KCJQcm9taXNlIHJlamVjdGVkLiIpOwotICAgICAgICAgICAgICAgIHNldEVuYWJsZUZlYXR1cmUo
ZmFsc2UsIGZpbmlzaEpTVGVzdCk7Ci0gICAgICAgICAgICB9Ci0gICAgICAgICk7Ci0gICAgfQot
Ci0gICAgZnVuY3Rpb24gZmlyc3RJbnRlcmFjdGlvbigpIHsKLSAgICAgICAgc2hvdWxkQmVGYWxz
ZSgidGVzdFJ1bm5lci5pc1N0YXRpc3RpY3NIYXNIYWRVc2VySW50ZXJhY3Rpb24odG9wRnJhbWVP
cmlnaW4pIik7Ci0gICAgICAgIHNob3VsZEJlRmFsc2UoInRlc3RSdW5uZXIuaXNTdGF0aXN0aWNz
SGFzSGFkVXNlckludGVyYWN0aW9uKHN1YkZyYW1lT3JpZ2luKSIpOwotICAgICAgICBhY3RpdmF0
ZUVsZW1lbnQoInRlc3RFbGVtZW50Iiwgc2Vjb25kSW50ZXJhY3Rpb24pOwotICAgIH0KLQotICAg
IGZ1bmN0aW9uIHNlY29uZEludGVyYWN0aW9uKCkgewotICAgICAgICBzaG91bGRCZVRydWUoInRl
c3RSdW5uZXIuaXNTdGF0aXN0aWNzSGFzSGFkVXNlckludGVyYWN0aW9uKHRvcEZyYW1lT3JpZ2lu
KSIpOwotICAgICAgICBzaG91bGRCZUZhbHNlKCJ0ZXN0UnVubmVyLmlzU3RhdGlzdGljc0hhc0hh
ZFVzZXJJbnRlcmFjdGlvbihzdWJGcmFtZU9yaWdpbikiKTsKLQotICAgICAgICBpZiAodGVzdFJ1
bm5lcikgewotICAgICAgICAgICAgdGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNzSGFzSGFkVXNlcklu
dGVyYWN0aW9uKHRvcEZyYW1lT3JpZ2luLCBmYWxzZSwgZnVuY3Rpb24oKSB7Ci0gICAgICAgICAg
ICAgICAgc2hvdWxkQmVGYWxzZSgidGVzdFJ1bm5lci5pc1N0YXRpc3RpY3NIYXNIYWRVc2VySW50
ZXJhY3Rpb24odG9wRnJhbWVPcmlnaW4pIik7Ci0KLSAgICAgICAgICAgICAgICBhY3RpdmF0ZUVs
ZW1lbnQoInRlc3RFbGVtZW50IiwgZmluaXNoVGVzdCk7Ci0gICAgICAgICAgICB9KTsKLSAgICAg
ICAgfQotICAgIH0KLQotICAgIGZ1bmN0aW9uIGZpbmlzaFRlc3QoKSB7Ci0gICAgICAgIHNob3Vs
ZEJlRmFsc2UoInRlc3RSdW5uZXIuaXNTdGF0aXN0aWNzSGFzSGFkVXNlckludGVyYWN0aW9uKHRv
cEZyYW1lT3JpZ2luKSIpOwotICAgICAgICBzaG91bGRCZUZhbHNlKCJ0ZXN0UnVubmVyLmlzU3Rh
dGlzdGljc0hhc0hhZFVzZXJJbnRlcmFjdGlvbihzdWJGcmFtZU9yaWdpbikiKTsKLSAgICAgICAg
c2V0RW5hYmxlRmVhdHVyZShmYWxzZSwgZmluaXNoSlNUZXN0KTsKLSAgICB9Ci0KLSAgICBvbmxv
YWQgPSBmdW5jdGlvbigpIHsKLSAgICAgICAgdGVzdFJ1bm5lci5zZXRVc2VJVFBEYXRhYmFzZSh0
cnVlKTsKLSAgICAgICAgc2V0RW5hYmxlRmVhdHVyZSh0cnVlLCBmdW5jdGlvbigpIHsKLSAgICAg
ICAgICAgIHNob3VsZEJlKCJkb2N1bWVudC5sb2NhdGlvbi5vcmlnaW4iLCAidG9wRnJhbWVPcmln
aW4iKTsKLQotICAgICAgICAgICAgZmlyc3RJbnRlcmFjdGlvbigpOwotICAgICAgICB9KTsKLSAg
ICB9OwotPC9zY3JpcHQ+Ci08ZGl2IGlkPSJ0ZXN0RWxlbWVudCI+VGhpcyBpcyB0aGUgdGVzdCBl
bGVtZW50PC9kaXY+Ci08L2JvZHk+Ci08L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9o
dHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvdXNlci1pbnRlcmFjdGlvbi1yZXBvcnRl
ZC1hZnRlci13ZWJzaXRlLWRhdGEtcmVtb3ZhbC1kYXRhYmFzZS1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvdXNlci1pbnRlcmFjdGlv
bi1yZXBvcnRlZC1hZnRlci13ZWJzaXRlLWRhdGEtcmVtb3ZhbC1kYXRhYmFzZS1leHBlY3RlZC50
eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGJmMjhjOTliMzAyNDQ0NTYwYjUxYjM0
OGI5NjAyMWIwNTg1NmVhM2MuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3Vz
ZXItaW50ZXJhY3Rpb24tcmVwb3J0ZWQtYWZ0ZXItd2Vic2l0ZS1kYXRhLXJlbW92YWwtZGF0YWJh
c2UtZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEsMTcgKzAsMCBAQAotVGVzdHMgdGhh
dCB1c2VyIGludGVyYWN0aW9uIGlzIHJlcG9ydGVkIGFmdGVyIGhpc3RvcnkgcmVtb3ZhbCBzaW5j
ZSB0aGF0IG1lYW5zIGFsbCBzdGF0aXN0aWNzIGhhdmUgYmVlbiByZXNldC4KLQotT24gc3VjY2Vz
cywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkg
IlRFU1QgQ09NUExFVEUiLgotCi0KLVBBU1MgZG9jdW1lbnQubG9jYXRpb24ub3JpZ2luIGlzIHRv
cEZyYW1lT3JpZ2luCi1QQVNTIHRlc3RSdW5uZXIuaXNTdGF0aXN0aWNzSGFzSGFkVXNlckludGVy
YWN0aW9uKHRvcEZyYW1lT3JpZ2luKSBpcyBmYWxzZQotUEFTUyB0ZXN0UnVubmVyLmlzU3RhdGlz
dGljc0hhc0hhZFVzZXJJbnRlcmFjdGlvbihzdWJGcmFtZU9yaWdpbikgaXMgZmFsc2UKLVBBU1Mg
dGVzdFJ1bm5lci5pc1N0YXRpc3RpY3NIYXNIYWRVc2VySW50ZXJhY3Rpb24odG9wRnJhbWVPcmln
aW4pIGlzIHRydWUKLVBBU1MgdGVzdFJ1bm5lci5pc1N0YXRpc3RpY3NIYXNIYWRVc2VySW50ZXJh
Y3Rpb24oc3ViRnJhbWVPcmlnaW4pIGlzIGZhbHNlCi1QQVNTIHRlc3RSdW5uZXIuaXNTdGF0aXN0
aWNzSGFzSGFkVXNlckludGVyYWN0aW9uKHRvcEZyYW1lT3JpZ2luKSBpcyBmYWxzZQotUEFTUyB0
ZXN0UnVubmVyLmlzU3RhdGlzdGljc0hhc0hhZFVzZXJJbnRlcmFjdGlvbih0b3BGcmFtZU9yaWdp
bikgaXMgdHJ1ZQotUEFTUyB0ZXN0UnVubmVyLmlzU3RhdGlzdGljc0hhc0hhZFVzZXJJbnRlcmFj
dGlvbihzdWJGcmFtZU9yaWdpbikgaXMgZmFsc2UKLVBBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlz
IHRydWUKLQotVEVTVCBDT01QTEVURQotVGhpcyBpcyB0aGUgdGVzdCBlbGVtZW50CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvdXNlci1p
bnRlcmFjdGlvbi1yZXBvcnRlZC1hZnRlci13ZWJzaXRlLWRhdGEtcmVtb3ZhbC1kYXRhYmFzZS5o
dG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3VzZXIt
aW50ZXJhY3Rpb24tcmVwb3J0ZWQtYWZ0ZXItd2Vic2l0ZS1kYXRhLXJlbW92YWwtZGF0YWJhc2Uu
aHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMmJlYjQyZjk0MmYxYjY4ZmZhY2Zl
MGVmYjFmZTkyMzk2MmYyMjY4ZC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3Mv
dXNlci1pbnRlcmFjdGlvbi1yZXBvcnRlZC1hZnRlci13ZWJzaXRlLWRhdGEtcmVtb3ZhbC1kYXRh
YmFzZS5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsNjYgKzAsMCBAQAotPCFET0NUWVBFIGh0bWw+
Ci08aHRtbD4KLTxib2R5PgotPHNjcmlwdCBzcmM9Ii9qcy10ZXN0LXJlc291cmNlcy9qcy10ZXN0
LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvanMtdGVzdC1yZXNvdXJjZXMvdWktaGVscGVy
LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvdXRpbC5qcyI+PC9zY3JpcHQ+
Ci08c2NyaXB0PgotICAgIGRlc2NyaXB0aW9uKCJUZXN0cyB0aGF0IHVzZXIgaW50ZXJhY3Rpb24g
aXMgcmVwb3J0ZWQgYWZ0ZXIgaGlzdG9yeSByZW1vdmFsIHNpbmNlIHRoYXQgbWVhbnMgYWxsIHN0
YXRpc3RpY3MgaGF2ZSBiZWVuIHJlc2V0LiIpOwotICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOwot
Ci0gICAgY29uc3QgdG9wRnJhbWVPcmlnaW4gPSAiaHR0cDovLzEyNy4wLjAuMTo4MDAwIjsKLSAg
ICBjb25zdCBzdWJGcmFtZU9yaWdpbiA9ICJodHRwOi8vbG9jYWxob3N0OjgwMDAiOwotCi0gICAg
ZnVuY3Rpb24gYWN0aXZhdGVFbGVtZW50KGVsZW1lbnRJZCwgY2FsbGJhY2spIHsKLSAgICAgICAg
dmFyIGVsZW1lbnQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChlbGVtZW50SWQpOwotICAgICAg
ICB2YXIgY2VudGVyWCA9IGVsZW1lbnQub2Zmc2V0TGVmdCArIGVsZW1lbnQub2Zmc2V0V2lkdGgg
LyAyOwotICAgICAgICB2YXIgY2VudGVyWSA9IGVsZW1lbnQub2Zmc2V0VG9wICsgZWxlbWVudC5v
ZmZzZXRIZWlnaHQgLyAyOwotICAgICAgICBVSUhlbHBlci5hY3RpdmF0ZUF0KGNlbnRlclgsIGNl
bnRlclkpLnRoZW4oCi0gICAgICAgICAgICBmdW5jdGlvbigpIHsKLSAgICAgICAgICAgICAgICBj
YWxsYmFjaygpOwotICAgICAgICAgICAgfSwKLSAgICAgICAgICAgIGZ1bmN0aW9uKCkgewotICAg
ICAgICAgICAgICAgIHRlc3RGYWlsZWQoIlByb21pc2UgcmVqZWN0ZWQuIik7Ci0gICAgICAgICAg
ICAgICAgc2V0RW5hYmxlRmVhdHVyZShmYWxzZSwgZmluaXNoSlNUZXN0KTsKLSAgICAgICAgICAg
IH0KLSAgICAgICAgKTsKLSAgICB9Ci0KLSAgICBmdW5jdGlvbiBmaXJzdEludGVyYWN0aW9uKCkg
ewotICAgICAgICBzaG91bGRCZUZhbHNlKCJ0ZXN0UnVubmVyLmlzU3RhdGlzdGljc0hhc0hhZFVz
ZXJJbnRlcmFjdGlvbih0b3BGcmFtZU9yaWdpbikiKTsKLSAgICAgICAgc2hvdWxkQmVGYWxzZSgi
dGVzdFJ1bm5lci5pc1N0YXRpc3RpY3NIYXNIYWRVc2VySW50ZXJhY3Rpb24oc3ViRnJhbWVPcmln
aW4pIik7Ci0gICAgICAgIGFjdGl2YXRlRWxlbWVudCgidGVzdEVsZW1lbnQiLCBjbGVhcldlYnNp
dGVEYXRhKTsKLSAgICB9Ci0KLSAgICBmdW5jdGlvbiBjbGVhcldlYnNpdGVEYXRhKCkgewotICAg
ICAgICBzaG91bGRCZVRydWUoInRlc3RSdW5uZXIuaXNTdGF0aXN0aWNzSGFzSGFkVXNlckludGVy
YWN0aW9uKHRvcEZyYW1lT3JpZ2luKSIpOwotICAgICAgICBzaG91bGRCZUZhbHNlKCJ0ZXN0UnVu
bmVyLmlzU3RhdGlzdGljc0hhc0hhZFVzZXJJbnRlcmFjdGlvbihzdWJGcmFtZU9yaWdpbikiKTsK
LQotICAgICAgICBpZiAodGVzdFJ1bm5lcikKLSAgICAgICAgICAgIHRlc3RSdW5uZXIuc3RhdGlz
dGljc0NsZWFyVGhyb3VnaFdlYnNpdGVEYXRhUmVtb3ZhbChzZWNvbmRJbnRlcmFjdGlvbik7Ci0g
ICAgfQotCi0gICAgZnVuY3Rpb24gc2Vjb25kSW50ZXJhY3Rpb24oKSB7Ci0gICAgICAgIHNob3Vs
ZEJlRmFsc2UoInRlc3RSdW5uZXIuaXNTdGF0aXN0aWNzSGFzSGFkVXNlckludGVyYWN0aW9uKHRv
cEZyYW1lT3JpZ2luKSIpOwotICAgICAgICBhY3RpdmF0ZUVsZW1lbnQoInRlc3RFbGVtZW50Iiwg
ZmluaXNoVGVzdCk7Ci0gICAgfQotCi0gICAgZnVuY3Rpb24gZmluaXNoVGVzdCgpIHsKLSAgICAg
ICAgc2hvdWxkQmVUcnVlKCJ0ZXN0UnVubmVyLmlzU3RhdGlzdGljc0hhc0hhZFVzZXJJbnRlcmFj
dGlvbih0b3BGcmFtZU9yaWdpbikiKTsKLSAgICAgICAgc2hvdWxkQmVGYWxzZSgidGVzdFJ1bm5l
ci5pc1N0YXRpc3RpY3NIYXNIYWRVc2VySW50ZXJhY3Rpb24oc3ViRnJhbWVPcmlnaW4pIik7Ci0K
LSAgICAgICAgc2V0RW5hYmxlRmVhdHVyZShmYWxzZSwgZmluaXNoSlNUZXN0KTsKLSAgICB9Ci0K
LSAgICBvbmxvYWQgPSBmdW5jdGlvbigpIHsKLSAgICAgICAgdGVzdFJ1bm5lci5zZXRVc2VJVFBE
YXRhYmFzZSh0cnVlKTsKLSAgICAgICAgc2V0RW5hYmxlRmVhdHVyZSh0cnVlLCBmdW5jdGlvbigp
IHsKLSAgICAgICAgICAgIHNob3VsZEJlKCJkb2N1bWVudC5sb2NhdGlvbi5vcmlnaW4iLCAidG9w
RnJhbWVPcmlnaW4iKTsKLQotICAgICAgICAgICAgZmlyc3RJbnRlcmFjdGlvbigpOwotICAgICAg
ICB9KTsKLSAgICB9OwotPC9zY3JpcHQ+Ci08ZGl2IGlkPSJ0ZXN0RWxlbWVudCI+VGhpcyBpcyB0
aGUgdGVzdCBlbGVtZW50PC9kaXY+Ci08L2JvZHk+Ci08L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3Mvd2Vic2l0ZS1kYXRhLXJl
bW92YWwtZm9yLXNpdGUtbmF2aWdhdGVkLXRvLXdpdGgtbGluay1kZWNvcmF0aW9uLWRhdGFiYXNl
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlz
dGljcy93ZWJzaXRlLWRhdGEtcmVtb3ZhbC1mb3Itc2l0ZS1uYXZpZ2F0ZWQtdG8td2l0aC1saW5r
LWRlY29yYXRpb24tZGF0YWJhc2UtZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCBkZTQxYTlhMWFiNDVmODY4ZTc1ZTg1YjQyYjVjOWY0M2RkNjI5M2JhLi4wMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2h0dHAv
dGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy93ZWJzaXRlLWRhdGEtcmVtb3ZhbC1mb3Itc2l0
ZS1uYXZpZ2F0ZWQtdG8td2l0aC1saW5rLWRlY29yYXRpb24tZGF0YWJhc2UtZXhwZWN0ZWQudHh0
CisrKyAvZGV2L251bGwKQEAgLTEsMzUgKzAsMCBAQAotQ2hlY2sgdGhhdCBub24tY29va2llIHdl
YnNpdGUgZGF0YSBnZXRzIHJlbW92ZWQgYWZ0ZXIgYSBuYXZpZ2F0aW9uIHdpdGggbGluayBkZWNv
cmF0aW9uIGZyb20gYSBwcmV2YWxlbnQgcmVzb3VyY2UuCi0KLUJlZm9yZSBkZWxldGlvbjogQ2xp
ZW50LXNpZGUgY29va2llIGV4aXN0cy4KLUJlZm9yZSBkZWxldGlvbjogSHR0cE9ubHkgY29va2ll
IGV4aXN0cy4KLUJlZm9yZSBkZWxldGlvbjogUmVndWxhciBzZXJ2ZXItc2lkZSBjb29raWUgZXhp
c3RzLgotQmVmb3JlIGRlbGV0aW9uOiBMb2NhbFN0b3JhZ2UgZW50cnkgZG9lcyBleGlzdC4KLUJl
Zm9yZSBkZWxldGlvbjogSURCIGVudHJ5IGRvZXMgZXhpc3QuCi0KLUFmdGVyIGRlbGV0aW9uOiBI
dHRwT25seSBjb29raWUgZXhpc3RzLgotQWZ0ZXIgZGVsZXRpb246IENsaWVudC1zaWRlIGNvb2tp
ZSBleGlzdHMuCi1BZnRlciBkZWxldGlvbjogUmVndWxhciBzZXJ2ZXItc2lkZSBjb29raWUgZXhp
c3RzLgotQWZ0ZXIgZGVsZXRpb246IExvY2FsU3RvcmFnZSBlbnRyeSBkb2VzIG5vdCBleGlzdC4K
LUFmdGVyIGRlbGV0aW9uOiBJREIgZW50cnkgZG9lcyBub3QgZXhpc3QuCi0KLQotUmVzb3VyY2Ug
bG9hZCBzdGF0aXN0aWNzOgotCi1SZWdpc3RyYWJsZSBkb21haW46IDEyNy4wLjAuMQotICAgIGhh
ZFVzZXJJbnRlcmFjdGlvbjogTm8KLSAgICBtb3N0UmVjZW50VXNlckludGVyYWN0aW9uOiAtMQot
ICAgIGdyYW5kZmF0aGVyZWQ6IE5vCi0gICAgVG9wRnJhbWVMaW5rRGVjb3JhdGlvbnNGcm9tOgot
ICAgICAgICBsb2NhbGhvc3QKLSAgICBJc1NjaGVkdWxlZEZvckFsbEJ1dENvb2tpZURhdGFSZW1v
dmFsOiBObwotICAgIGlzUHJldmFsZW50UmVzb3VyY2U6IE5vCi0gICAgaXNWZXJ5UHJldmFsZW50
UmVzb3VyY2U6IE5vCi0gICAgZGF0YVJlY29yZHNSZW1vdmVkOiAxCi1SZWdpc3RyYWJsZSBkb21h
aW46IGxvY2FsaG9zdAotICAgIGhhZFVzZXJJbnRlcmFjdGlvbjogTm8KLSAgICBtb3N0UmVjZW50
VXNlckludGVyYWN0aW9uOiAtMQotICAgIGdyYW5kZmF0aGVyZWQ6IE5vCi0gICAgSXNTY2hlZHVs
ZWRGb3JBbGxCdXRDb29raWVEYXRhUmVtb3ZhbDogTm8KLSAgICBpc1ByZXZhbGVudFJlc291cmNl
OiBZZXMKLSAgICBpc1ZlcnlQcmV2YWxlbnRSZXNvdXJjZTogTm8KLSAgICBkYXRhUmVjb3Jkc1Jl
bW92ZWQ6IDAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2Fk
U3RhdGlzdGljcy93ZWJzaXRlLWRhdGEtcmVtb3ZhbC1mb3Itc2l0ZS1uYXZpZ2F0ZWQtdG8td2l0
aC1saW5rLWRlY29yYXRpb24tZGF0YWJhc2UuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMv
cmVzb3VyY2VMb2FkU3RhdGlzdGljcy93ZWJzaXRlLWRhdGEtcmVtb3ZhbC1mb3Itc2l0ZS1uYXZp
Z2F0ZWQtdG8td2l0aC1saW5rLWRlY29yYXRpb24tZGF0YWJhc2UuaHRtbApkZWxldGVkIGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggZWIwY2Y1YzU2Yjk3Yjc5M2IwODM2N2FiMGM5YWZjNjZlNTRhNzcx
OC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRU
ZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3Mvd2Vic2l0ZS1kYXRhLXJlbW92
YWwtZm9yLXNpdGUtbmF2aWdhdGVkLXRvLXdpdGgtbGluay1kZWNvcmF0aW9uLWRhdGFiYXNlLmh0
bWwKKysrIC9kZXYvbnVsbApAQCAtMSwyNTEgKzAsMCBAQAotPCFET0NUWVBFIGh0bWw+Ci08aHRt
bD4KLTxoZWFkPgotICAgIDxzY3JpcHQgc3JjPSIvY29va2llcy9yZXNvdXJjZXMvY29va2llLXV0
aWxpdGllcy5qcyI+PC9zY3JpcHQ+Ci0gICAgPHNjcmlwdCBzcmM9InJlc291cmNlcy91dGlsLmpz
Ij48L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5IG9ubG9hZD0ic2V0VGltZW91dCgncnVuVGVzdCgp
JywgMCkiPgotPGRpdiBpZD0iZGVzY3JpcHRpb24iPkNoZWNrIHRoYXQgbm9uLWNvb2tpZSB3ZWJz
aXRlIGRhdGEgZ2V0cyByZW1vdmVkIGFmdGVyIGEgbmF2aWdhdGlvbiB3aXRoIGxpbmsgZGVjb3Jh
dGlvbiBmcm9tIGEgcHJldmFsZW50IHJlc291cmNlLjwvZGl2PgotPGJyPgotPGRpdiBpZD0ib3V0
cHV0Ij48L2Rpdj4KLTxicj4KLTxzY3JpcHQ+Ci0gICAgdGVzdFJ1bm5lci5zZXRVc2VJVFBEYXRh
YmFzZSh0cnVlKTsKLSAgICB0ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTsKLSAgICB0ZXN0UnVu
bmVyLmR1bXBBc1RleHQoKTsKLQotICAgIGNvbnN0IGh0dHBPbmx5Q29va2llTmFtZSA9ICJodHRw
LW9ubHktY29va2llIjsKLSAgICBjb25zdCBzZXJ2ZXJTaWRlQ29va2llTmFtZSA9ICJzZXJ2ZXIt
c2lkZS1jb29raWUiOwotICAgIGNvbnN0IGNsaWVudFNpZGVDb29raWVOYW1lID0gImNsaWVudC1z
aWRlLWNvb2tpZSI7Ci0KLSAgICBmdW5jdGlvbiBzb3J0U3RyaW5nQXJyYXkoYSwgYikgewotICAg
ICAgICBhID0gYS50b0xvd2VyQ2FzZSgpOwotICAgICAgICBiID0gYi50b0xvd2VyQ2FzZSgpOwot
Ci0gICAgICAgIHJldHVybiBhID4gYiA/IDEgOiBiID4gYSA/IC0xIDogMDsKLSAgICB9Ci0KLSAg
ICBmdW5jdGlvbiBhZGRMaW5lYnJlYWtUb091dHB1dCgpIHsKLSAgICAgICAgbGV0IGVsZW1lbnQg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJiciIpOwotICAgICAgICBvdXRwdXQuYXBwZW5kQ2hp
bGQoZWxlbWVudCk7Ci0gICAgfQotCi0gICAgZnVuY3Rpb24gYWRkT3V0cHV0KG1lc3NhZ2UpIHsK
LSAgICAgICAgbGV0IGVsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTsKLSAg
ICAgICAgZWxlbWVudC5pbm5lclRleHQgPSBtZXNzYWdlOwotICAgICAgICBvdXRwdXQuYXBwZW5k
Q2hpbGQoZWxlbWVudCk7Ci0gICAgfQotCi0gICAgZnVuY3Rpb24gY2hlY2tDb29raWVzKGlzQWZ0
ZXJEZWxldGlvbikgewotICAgICAgICBsZXQgdW5zb3J0ZWRUZXN0UGFzc2VkTWVzc2FnZXMgPSBb
XTsKLSAgICAgICAgbGV0IGNvb2tpZXMgPSBpbnRlcm5hbHMuZ2V0Q29va2llcygpOwotICAgICAg
ICBpZiAoIWNvb2tpZXMubGVuZ3RoKQotICAgICAgICAgICAgdGVzdEZhaWxlZCgoaXNBZnRlckRl
bGV0aW9uID8gIkFmdGVyIiA6ICJCZWZvcmUiKSArICIgc2NyaXB0LWFjY2Vzc2libGUgZGVsZXRp
b246IE5vIGNvb2tpZXMgZm91bmQuIik7Ci0gICAgICAgIGZvciAobGV0IGNvb2tpZSBvZiBjb29r
aWVzKSB7Ci0gICAgICAgICAgICBzd2l0Y2ggKGNvb2tpZS5uYW1lKSB7Ci0gICAgICAgICAgICAg
ICAgY2FzZSBodHRwT25seUNvb2tpZU5hbWU6Ci0gICAgICAgICAgICAgICAgICAgIHVuc29ydGVk
VGVzdFBhc3NlZE1lc3NhZ2VzLnB1c2goKGlzQWZ0ZXJEZWxldGlvbiA/ICJBZnRlciIgOiAiQmVm
b3JlIikgKyAiIGRlbGV0aW9uOiAiICsgKGlzQWZ0ZXJEZWxldGlvbiA/ICIgIiA6ICIiKSArICJI
dHRwT25seSBjb29raWUgZXhpc3RzLiIpOwotICAgICAgICAgICAgICAgICAgICBicmVhazsKLSAg
ICAgICAgICAgICAgICBjYXNlIHNlcnZlclNpZGVDb29raWVOYW1lOgotICAgICAgICAgICAgICAg
ICAgICB1bnNvcnRlZFRlc3RQYXNzZWRNZXNzYWdlcy5wdXNoKChpc0FmdGVyRGVsZXRpb24gPyAi
QWZ0ZXIiIDogIkJlZm9yZSIpICsgIiBkZWxldGlvbjogUmVndWxhciBzZXJ2ZXItc2lkZSBjb29r
aWUgZXhpc3RzLiIpOwotICAgICAgICAgICAgICAgICAgICBicmVhazsKLSAgICAgICAgICAgICAg
ICBjYXNlIGNsaWVudFNpZGVDb29raWVOYW1lOgotICAgICAgICAgICAgICAgICAgICB1bnNvcnRl
ZFRlc3RQYXNzZWRNZXNzYWdlcy5wdXNoKChpc0FmdGVyRGVsZXRpb24gPyAiQWZ0ZXIiIDogIkJl
Zm9yZSIpICsgIiBkZWxldGlvbjogQ2xpZW50LXNpZGUgY29va2llIGV4aXN0cy4iKTsKLSAgICAg
ICAgICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgICAgICB9Ci0gICAgICAgIH0KLSAgICAgICAg
bGV0IHNvcnRlZFRlc3RQYXNzZWRNZXNzYWdlcyA9IHVuc29ydGVkVGVzdFBhc3NlZE1lc3NhZ2Vz
LnNvcnQoc29ydFN0cmluZ0FycmF5KTsKLSAgICAgICAgZm9yIChsZXQgdGVzdFBhc3NlZE1lc3Nh
Z2Ugb2Ygc29ydGVkVGVzdFBhc3NlZE1lc3NhZ2VzKSB7Ci0gICAgICAgICAgICBhZGRPdXRwdXQo
dGVzdFBhc3NlZE1lc3NhZ2UpOwotICAgICAgICB9Ci0gICAgfQotCi0gICAgY29uc3QgZGJOYW1l
ID0gIlRlc3REYXRhYmFzZSI7Ci0KLSAgICBmdW5jdGlvbiBjcmVhdGVJREJEYXRhU3RvcmUoY2Fs
bGJhY2spIHsKLSAgICAgICAgbGV0IHJlcXVlc3QgPSBpbmRleGVkREIub3BlbihkYk5hbWUpOwot
ICAgICAgICByZXF1ZXN0Lm9uZXJyb3IgPSBmdW5jdGlvbigpIHsKLSAgICAgICAgICAgIGFkZE91
dHB1dCgiQ291bGRuJ3QgY3JlYXRlIGluZGV4ZWREQi4iKTsKLSAgICAgICAgICAgIGZpbmlzaFRl
c3QoKTsKLSAgICAgICAgfTsKLSAgICAgICAgcmVxdWVzdC5vbnVwZ3JhZGVuZWVkZWQgPSBmdW5j
dGlvbihldmVudCkgewotICAgICAgICAgICAgbGV0IGRiID0gZXZlbnQudGFyZ2V0LnJlc3VsdDsK
LSAgICAgICAgICAgIGxldCBvYmpTdG9yZSA9IGRiLmNyZWF0ZU9iamVjdFN0b3JlKCJ0ZXN0Iiwg
e2F1dG9JbmNyZW1lbnQ6IHRydWV9KTsKLSAgICAgICAgICAgIG9ialN0b3JlLmFkZCgidmFsdWUi
KTsKLSAgICAgICAgICAgIGNhbGxiYWNrKCk7Ci0gICAgICAgIH0KLSAgICB9Ci0KLSAgICBjb25z
dCBtYXhJbnRlcnZhbHMgPSAyMDsKLQotICAgIGxldCBpbnRlcnZhbENvdW50ZXJJREI7Ci0gICAg
bGV0IGNoZWNrSURCQ2FsbGJhY2s7Ci0gICAgbGV0IGNoZWNrSURCSW50ZXJ2YWxJRDsKLSAgICBs
ZXQgc2VtYXBob3JlSURCQ2hlY2sgPSBmYWxzZTsKLSAgICBmdW5jdGlvbiBjaGVja0lEQkRhdGFT
dG9yZUV4aXN0cyhpc0FmdGVyRGVsZXRpb24sIGNhbGxiYWNrKSB7Ci0gICAgICAgIGxldCByZXF1
ZXN0OwotICAgICAgICBpbnRlcnZhbENvdW50ZXJJREIgPSAwOwotICAgICAgICBjaGVja0lEQkNh
bGxiYWNrID0gY2FsbGJhY2s7Ci0gICAgICAgIGlmICghaXNBZnRlckRlbGV0aW9uKSB7Ci0gICAg
ICAgICAgICAvLyBDaGVjayB1bnRpbCB0aGVyZSBpcyBhIElEQi4KLSAgICAgICAgICAgIGNoZWNr
SURCSW50ZXJ2YWxJRCA9IHNldEludGVydmFsKGZ1bmN0aW9uKCkgewotICAgICAgICAgICAgICAg
IGlmIChzZW1hcGhvcmVJREJDaGVjaykKLSAgICAgICAgICAgICAgICAgICAgcmV0dXJuOwotICAg
ICAgICAgICAgICAgIHNlbWFwaG9yZUlEQkNoZWNrID0gdHJ1ZTsKLQotICAgICAgICAgICAgICAg
IGlmICgrK2ludGVydmFsQ291bnRlcklEQiA+PSBtYXhJbnRlcnZhbHMpIHsKLSAgICAgICAgICAg
ICAgICAgICAgY2xlYXJJbnRlcnZhbChjaGVja0lEQkludGVydmFsSUQpOwotICAgICAgICAgICAg
ICAgICAgICBhZGRPdXRwdXQoIkJlZm9yZSBkZWxldGlvbjogSURCIGVudHJ5IGRvZXMgbm90IGV4
aXN0LiIpOwotICAgICAgICAgICAgICAgICAgICBzZW1hcGhvcmVJREJDaGVjayA9IGZhbHNlOwot
ICAgICAgICAgICAgICAgICAgICBjaGVja0lEQkNhbGxiYWNrKCk7Ci0gICAgICAgICAgICAgICAg
fSBlbHNlIHsKLSAgICAgICAgICAgICAgICAgICAgcmVxdWVzdCA9IGluZGV4ZWREQi5vcGVuKGRi
TmFtZSk7Ci0gICAgICAgICAgICAgICAgICAgIHJlcXVlc3Qub25lcnJvciA9IGZ1bmN0aW9uICgp
IHsKLSAgICAgICAgICAgICAgICAgICAgICAgIGNsZWFySW50ZXJ2YWwoY2hlY2tJREJJbnRlcnZh
bElEKTsKLSAgICAgICAgICAgICAgICAgICAgICAgIGFkZE91dHB1dCgiQ291bGRuJ3Qgb3BlbiBp
bmRleGVkREIuIik7Ci0gICAgICAgICAgICAgICAgICAgICAgICBzZW1hcGhvcmVJREJDaGVjayA9
IGZhbHNlOwotICAgICAgICAgICAgICAgICAgICAgICAgZmluaXNoVGVzdCgpOwotICAgICAgICAg
ICAgICAgICAgICB9OwotICAgICAgICAgICAgICAgICAgICByZXF1ZXN0Lm9udXBncmFkZW5lZWRl
ZCA9IGZ1bmN0aW9uICgpIHsKLSAgICAgICAgICAgICAgICAgICAgICAgIC8vIExldCB0aGUgbmV4
dCBpbnRlcnZhbCBjaGVjayBhZ2Fpbi4KLSAgICAgICAgICAgICAgICAgICAgICAgIHNlbWFwaG9y
ZUlEQkNoZWNrID0gZmFsc2U7Ci0gICAgICAgICAgICAgICAgICAgIH07Ci0gICAgICAgICAgICAg
ICAgICAgIHJlcXVlc3Qub25zdWNjZXNzID0gZnVuY3Rpb24gKCkgewotICAgICAgICAgICAgICAg
ICAgICAgICAgY2xlYXJJbnRlcnZhbChjaGVja0lEQkludGVydmFsSUQpOwotICAgICAgICAgICAg
ICAgICAgICAgICAgYWRkT3V0cHV0KCJCZWZvcmUgZGVsZXRpb246IElEQiBlbnRyeSBkb2VzIGV4
aXN0LiIpOwotICAgICAgICAgICAgICAgICAgICAgICAgc2VtYXBob3JlSURCQ2hlY2sgPSBmYWxz
ZTsKLSAgICAgICAgICAgICAgICAgICAgICAgIGNoZWNrSURCQ2FsbGJhY2soKTsKLSAgICAgICAg
ICAgICAgICAgICAgfTsKLSAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICB9LCAyMDApOwot
ICAgICAgICB9IGVsc2UgewotICAgICAgICAgICAgLy8gQ2hlY2sgdW50aWwgdGhlcmUgaXMgbm8g
SURCLgotICAgICAgICAgICAgY2hlY2tJREJJbnRlcnZhbElEID0gc2V0SW50ZXJ2YWwoZnVuY3Rp
b24gKCkgewotICAgICAgICAgICAgICAgIGlmIChzZW1hcGhvcmVJREJDaGVjaykKLSAgICAgICAg
ICAgICAgICAgICAgcmV0dXJuOwotICAgICAgICAgICAgICAgIHNlbWFwaG9yZUlEQkNoZWNrID0g
dHJ1ZTsKLQotICAgICAgICAgICAgICAgIGlmICgrK2ludGVydmFsQ291bnRlcklEQiA+PSBtYXhJ
bnRlcnZhbHMpIHsKLSAgICAgICAgICAgICAgICAgICAgY2xlYXJJbnRlcnZhbChjaGVja0lEQklu
dGVydmFsSUQpOwotICAgICAgICAgICAgICAgICAgICBhZGRPdXRwdXQoIkFmdGVyIGRlbGV0aW9u
OiBJREIgZW50cnkgY2hlY2tzIGV4aGF1c3RlZC4iKTsKLSAgICAgICAgICAgICAgICAgICAgc2Vt
YXBob3JlSURCQ2hlY2sgPSBmYWxzZTsKLSAgICAgICAgICAgICAgICAgICAgY2hlY2tJREJDYWxs
YmFjaygpOwotICAgICAgICAgICAgICAgIH0gZWxzZSB7Ci0gICAgICAgICAgICAgICAgICAgIHJl
cXVlc3QgPSBpbmRleGVkREIub3BlbihkYk5hbWUpOwotICAgICAgICAgICAgICAgICAgICByZXF1
ZXN0Lm9uZXJyb3IgPSBmdW5jdGlvbiAoKSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICBjbGVh
ckludGVydmFsKGNoZWNrSURCSW50ZXJ2YWxJRCk7Ci0gICAgICAgICAgICAgICAgICAgICAgICBh
ZGRPdXRwdXQoIkNvdWxkbid0IG9wZW4gaW5kZXhlZERCLiIpOwotICAgICAgICAgICAgICAgICAg
ICAgICAgc2VtYXBob3JlSURCQ2hlY2sgPSBmYWxzZTsKLSAgICAgICAgICAgICAgICAgICAgICAg
IGZpbmlzaFRlc3QoKTsKLSAgICAgICAgICAgICAgICAgICAgfTsKLSAgICAgICAgICAgICAgICAg
ICAgcmVxdWVzdC5vbnVwZ3JhZGVuZWVkZWQgPSBmdW5jdGlvbiAoKSB7Ci0gICAgICAgICAgICAg
ICAgICAgICAgICBjbGVhckludGVydmFsKGNoZWNrSURCSW50ZXJ2YWxJRCk7Ci0gICAgICAgICAg
ICAgICAgICAgICAgICBhZGRPdXRwdXQoIkFmdGVyIGRlbGV0aW9uOiBJREIgZW50cnkgZG9lcyBu
b3QgZXhpc3QuIik7Ci0gICAgICAgICAgICAgICAgICAgICAgICBzZW1hcGhvcmVJREJDaGVjayA9
IGZhbHNlOwotICAgICAgICAgICAgICAgICAgICAgICAgY2hlY2tJREJDYWxsYmFjaygpOwotICAg
ICAgICAgICAgICAgICAgICB9OwotICAgICAgICAgICAgICAgICAgICByZXF1ZXN0Lm9uc3VjY2Vz
cyA9IGZ1bmN0aW9uICgpIHsKLSAgICAgICAgICAgICAgICAgICAgICAgIC8vIExldCB0aGUgbmV4
dCBpbnRlcnZhbCBjaGVjayBhZ2Fpbi4KLSAgICAgICAgICAgICAgICAgICAgICAgIHNlbWFwaG9y
ZUlEQkNoZWNrID0gZmFsc2U7Ci0gICAgICAgICAgICAgICAgICAgIH07Ci0gICAgICAgICAgICAg
ICAgfQotICAgICAgICAgICAgfSwgMjAwKTsKLSAgICAgICAgfQotICAgIH0KLQotICAgIGxldCBp
bnRlcnZhbENvdW50ZXJMb2NhbFN0b3JhZ2U7Ci0gICAgbGV0IGNoZWNrTG9jYWxTdG9yYWdlQ2Fs
bGJhY2s7Ci0gICAgbGV0IGNoZWNrTG9jYWxTdG9yYWdlSW50ZXJ2YWxJRDsKLSAgICBjb25zdCBs
b2NhbFN0b3JhZ2VOYW1lID0gInRlc3QiOwotICAgIGNvbnN0IGxvY2FsU3RvcmFnZVZhbHVlID0g
InZhbHVlIjsKLSAgICBmdW5jdGlvbiBjaGVja0xvY2FsU3RvcmFnZUV4aXN0cyhpc0FmdGVyRGVs
ZXRpb24sIGNhbGxiYWNrKSB7Ci0gICAgICAgIGludGVydmFsQ291bnRlckxvY2FsU3RvcmFnZSA9
IDA7Ci0gICAgICAgIGNoZWNrTG9jYWxTdG9yYWdlQ2FsbGJhY2sgPSBjYWxsYmFjazsKLSAgICAg
ICAgaWYgKCFpc0FmdGVyRGVsZXRpb24pIHsKLSAgICAgICAgICAgIC8vIENoZWNrIHVudGlsIHRo
ZXJlIGlzIExvY2FsU3RvcmFnZS4KLSAgICAgICAgICAgIGNoZWNrTG9jYWxTdG9yYWdlSW50ZXJ2
YWxJRCA9IHNldEludGVydmFsKGZ1bmN0aW9uKCkgewotICAgICAgICAgICAgICAgIGlmICgrK2lu
dGVydmFsQ291bnRlckxvY2FsU3RvcmFnZSA+PSBtYXhJbnRlcnZhbHMpIHsKLSAgICAgICAgICAg
ICAgICAgICAgY2xlYXJJbnRlcnZhbChjaGVja0xvY2FsU3RvcmFnZUludGVydmFsSUQpOwotICAg
ICAgICAgICAgICAgICAgICBsZXQgdmFsdWUgPSBsb2NhbFN0b3JhZ2UuZ2V0SXRlbShsb2NhbFN0
b3JhZ2VOYW1lKTsKLSAgICAgICAgICAgICAgICAgICAgYWRkT3V0cHV0KCJCZWZvcmUgZGVsZXRp
b246IExvY2FsU3RvcmFnZSBlbnRyeSAiICsgKHZhbHVlID09PSBsb2NhbFN0b3JhZ2VWYWx1ZSA/
ICJkb2VzIiA6ICJkb2VzIG5vdCIpICsgIiBleGlzdC4iKTsKLSAgICAgICAgICAgICAgICAgICAg
Y2hlY2tMb2NhbFN0b3JhZ2VDYWxsYmFjaygpOwotICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAo
dGVzdFJ1bm5lci5pc1N0YXRpc3RpY3NIYXNMb2NhbFN0b3JhZ2UoZGVzdGluYXRpb25PcmlnaW4p
KSB7Ci0gICAgICAgICAgICAgICAgICAgIGNsZWFySW50ZXJ2YWwoY2hlY2tMb2NhbFN0b3JhZ2VJ
bnRlcnZhbElEKTsKLSAgICAgICAgICAgICAgICAgICAgbGV0IHZhbHVlID0gbG9jYWxTdG9yYWdl
LmdldEl0ZW0obG9jYWxTdG9yYWdlTmFtZSk7Ci0gICAgICAgICAgICAgICAgICAgIGFkZE91dHB1
dCgiQmVmb3JlIGRlbGV0aW9uOiBMb2NhbFN0b3JhZ2UgZW50cnkgIiArICh2YWx1ZSA9PT0gbG9j
YWxTdG9yYWdlVmFsdWUgPyAiZG9lcyIgOiAiZG9lcyBub3QiKSArICIgZXhpc3QuIik7Ci0gICAg
ICAgICAgICAgICAgICAgIGNoZWNrTG9jYWxTdG9yYWdlQ2FsbGJhY2soKTsKLSAgICAgICAgICAg
ICAgICB9Ci0gICAgICAgICAgICB9LCAxMDApOwotICAgICAgICB9IGVsc2UgewotICAgICAgICAg
ICAgLy8gQ2hlY2sgdW50aWwgdGhlcmUgaXMgbm8gTG9jYWxTdG9yYWdlLgotICAgICAgICAgICAg
Y2hlY2tMb2NhbFN0b3JhZ2VJbnRlcnZhbElEID0gc2V0SW50ZXJ2YWwoZnVuY3Rpb24oKSB7Ci0g
ICAgICAgICAgICAgICAgaWYgKCsraW50ZXJ2YWxDb3VudGVyTG9jYWxTdG9yYWdlID49IG1heElu
dGVydmFscykgewotICAgICAgICAgICAgICAgICAgICBjbGVhckludGVydmFsKGNoZWNrTG9jYWxT
dG9yYWdlSW50ZXJ2YWxJRCk7Ci0gICAgICAgICAgICAgICAgICAgIGxldCB2YWx1ZSA9IGxvY2Fs
U3RvcmFnZS5nZXRJdGVtKGxvY2FsU3RvcmFnZU5hbWUpOwotICAgICAgICAgICAgICAgICAgICBh
ZGRPdXRwdXQoIkFmdGVyIGRlbGV0aW9uOiBMb2NhbFN0b3JhZ2UgZW50cnkgIiArICh2YWx1ZSA9
PT0gbG9jYWxTdG9yYWdlVmFsdWUgPyAiZG9lcyIgOiAiZG9lcyBub3QiKSArICIgZXhpc3QuIik7
Ci0gICAgICAgICAgICAgICAgICAgIGNoZWNrTG9jYWxTdG9yYWdlQ2FsbGJhY2soKTsKLSAgICAg
ICAgICAgICAgICB9IGVsc2UgaWYgKCF0ZXN0UnVubmVyLmlzU3RhdGlzdGljc0hhc0xvY2FsU3Rv
cmFnZShkZXN0aW5hdGlvbk9yaWdpbikpIHsKLSAgICAgICAgICAgICAgICAgICAgY2xlYXJJbnRl
cnZhbChjaGVja0xvY2FsU3RvcmFnZUludGVydmFsSUQpOwotICAgICAgICAgICAgICAgICAgICBs
ZXQgdmFsdWUgPSBsb2NhbFN0b3JhZ2UuZ2V0SXRlbShsb2NhbFN0b3JhZ2VOYW1lKTsKLSAgICAg
ICAgICAgICAgICAgICAgYWRkT3V0cHV0KCJBZnRlciBkZWxldGlvbjogTG9jYWxTdG9yYWdlIGVu
dHJ5ICIgKyAodmFsdWUgPT09IGxvY2FsU3RvcmFnZVZhbHVlID8gImRvZXMiIDogImRvZXMgbm90
IikgKyAiIGV4aXN0LiIpOwotICAgICAgICAgICAgICAgICAgICBjaGVja0xvY2FsU3RvcmFnZUNh
bGxiYWNrKCk7Ci0gICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgfSwgMTAwKTsKLSAgICAg
ICAgfQotICAgIH0KLQotICAgIGFzeW5jIGZ1bmN0aW9uIHdyaXRlV2Vic2l0ZURhdGFBbmRDb250
aW51ZSgpIHsKLSAgICAgICAgLy8gV3JpdGUgY29va2llcy4KLSAgICAgICAgYXdhaXQgZmV0Y2go
Ii9jb29raWVzL3Jlc291cmNlcy9zZXQtaHR0cC1vbmx5LWNvb2tpZS5waHA/Y29va2llTmFtZT0i
ICsgaHR0cE9ubHlDb29raWVOYW1lLCB7IGNyZWRlbnRpYWxzOiAic2FtZS1vcmlnaW4iIH0pOwot
ICAgICAgICBhd2FpdCBmZXRjaCgiL2Nvb2tpZXMvcmVzb3VyY2VzL3NldENvb2tpZXMuY2dpIiwg
eyBoZWFkZXJzOiB7ICJTZXQtQ29va2llIjogc2VydmVyU2lkZUNvb2tpZU5hbWUgKyAiPTE7IHBh
dGg9LzsiIH0sIGNyZWRlbnRpYWxzOiAic2FtZS1vcmlnaW4iIH0pOwotICAgICAgICBkb2N1bWVu
dC5jb29raWUgPSBjbGllbnRTaWRlQ29va2llTmFtZSArICI9MSI7Ci0KLSAgICAgICAgY2hlY2tD
b29raWVzKGZhbHNlKTsKLQotICAgICAgICAvLyBXcml0ZSBMb2NhbFN0b3JhZ2UKLSAgICAgICAg
bG9jYWxTdG9yYWdlLnNldEl0ZW0obG9jYWxTdG9yYWdlTmFtZSwgbG9jYWxTdG9yYWdlVmFsdWUp
OwotICAgICAgICBjaGVja0xvY2FsU3RvcmFnZUV4aXN0cyhmYWxzZSwgZnVuY3Rpb24oKSB7Ci0K
LSAgICAgICAgICAgIC8vIFdyaXRlIEluZGV4ZWREQi4KLSAgICAgICAgICAgIGNyZWF0ZUlEQkRh
dGFTdG9yZShmdW5jdGlvbiAoKSB7Ci0gICAgICAgICAgICAgICAgY2hlY2tJREJEYXRhU3RvcmVF
eGlzdHMoZmFsc2UsIGZ1bmN0aW9uKCkgewotICAgICAgICAgICAgICAgICAgICBhZGRMaW5lYnJl
YWtUb091dHB1dCgpOwotICAgICAgICAgICAgICAgICAgICBwcm9jZXNzV2Vic2l0ZURhdGFBbmRD
b250aW51ZSgpOwotICAgICAgICAgICAgICAgIH0pOwotICAgICAgICAgICAgfSk7Ci0gICAgICAg
IH0pOwotICAgIH0KLQotICAgIGZ1bmN0aW9uIHByb2Nlc3NXZWJzaXRlRGF0YUFuZENvbnRpbnVl
KCkgewotICAgICAgICB0ZXN0UnVubmVyLmluc3RhbGxTdGF0aXN0aWNzRGlkU2NhbkRhdGFSZWNv
cmRzQ2FsbGJhY2soY2hlY2tXZWJzaXRlRGF0YUFuZENvbnRpbnVlKTsKLSAgICAgICAgdGVzdFJ1
bm5lci5zdGF0aXN0aWNzUHJvY2Vzc1N0YXRpc3RpY3NBbmREYXRhUmVjb3JkcygpOwotICAgIH0K
LQotICAgIGZ1bmN0aW9uIGNoZWNrV2Vic2l0ZURhdGFBbmRDb250aW51ZSgpIHsKLSAgICAgICAg
Y2hlY2tDb29raWVzKHRydWUpOwotICAgICAgICBjaGVja0xvY2FsU3RvcmFnZUV4aXN0cyh0cnVl
LCBmdW5jdGlvbiAoKSB7Ci0gICAgICAgICAgICBjaGVja0lEQkRhdGFTdG9yZUV4aXN0cyh0cnVl
LCBmaW5pc2hUZXN0KTsKLSAgICAgICAgfSk7Ci0gICAgfQotCi0gICAgZnVuY3Rpb24gZmluaXNo
VGVzdCgpIHsKLSAgICAgICAgcmVzZXRDb29raWVzKCk7Ci0gICAgICAgIHRlc3RSdW5uZXIuZHVt
cFJlc291cmNlTG9hZFN0YXRpc3RpY3MoKTsKLSAgICAgICAgc2V0RW5hYmxlRmVhdHVyZShmYWxz
ZSwgZnVuY3Rpb24oKSB7Ci0gICAgICAgICAgICB0ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsKLSAg
ICAgICAgfSk7Ci0gICAgfQotCi0gICAgY29uc3QgcHJldmFsZW50UmVzb3VyY2VPcmlnaW4gPSAi
aHR0cDovL2xvY2FsaG9zdDo4MDAwIjsKLSAgICBjb25zdCBkZXN0aW5hdGlvbk9yaWdpbiAgPSAi
aHR0cDovLzEyNy4wLjAuMTo4MDAwIjsKLSAgICBmdW5jdGlvbiBydW5UZXN0KCkgewotICAgICAg
ICBzZXRFbmFibGVGZWF0dXJlKHRydWUsIGZ1bmN0aW9uICgpIHsKLSAgICAgICAgICAgIHRlc3RS
dW5uZXIuc2V0U3RhdGlzdGljc1ByZXZhbGVudFJlc291cmNlKHByZXZhbGVudFJlc291cmNlT3Jp
Z2luLCB0cnVlLCBmdW5jdGlvbigpIHsKLSAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLnNldFN0
YXRpc3RpY3NDcm9zc1NpdGVMb2FkV2l0aExpbmtEZWNvcmF0aW9uKHByZXZhbGVudFJlc291cmNl
T3JpZ2luLCBkZXN0aW5hdGlvbk9yaWdpbik7Ci0gICAgICAgICAgICAgICAgd3JpdGVXZWJzaXRl
RGF0YUFuZENvbnRpbnVlKCk7Ci0gICAgICAgICAgICB9KTsKLSAgICAgICAgfSk7Ci0gICAgfQot
PC9zY3JpcHQ+Ci08L2JvZHk+Ci08L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3Mvd2Vic2l0ZS1kYXRhLXJlbW92YWwtZm9yLXNp
dGUtbmF2aWdhdGVkLXRvLXdpdGgtbGluay1kZWNvcmF0aW9uLWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy93ZWJzaXRlLWRhdGEtcmVt
b3ZhbC1mb3Itc2l0ZS1uYXZpZ2F0ZWQtdG8td2l0aC1saW5rLWRlY29yYXRpb24tZXhwZWN0ZWQu
dHh0CmluZGV4IDhiNDdiMDg1NDY0M2E1ZWE4NGUyMGQwNDMzYzJmMzBlOTRmNmVhMGQuLmRlNDFh
OWExYWI0NWY4NjhlNzVlODViNDJiNWM5ZjQzZGQ2MjkzYmEgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy93ZWJzaXRlLWRhdGEtcmVtb3Zh
bC1mb3Itc2l0ZS1uYXZpZ2F0ZWQtdG8td2l0aC1saW5rLWRlY29yYXRpb24tZXhwZWN0ZWQudHh0
CisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy93ZWJz
aXRlLWRhdGEtcmVtb3ZhbC1mb3Itc2l0ZS1uYXZpZ2F0ZWQtdG8td2l0aC1saW5rLWRlY29yYXRp
b24tZXhwZWN0ZWQudHh0CkBAIC0xOSwyMSArMTksMTcgQEAgUmVnaXN0cmFibGUgZG9tYWluOiAx
MjcuMC4wLjEKICAgICBoYWRVc2VySW50ZXJhY3Rpb246IE5vCiAgICAgbW9zdFJlY2VudFVzZXJJ
bnRlcmFjdGlvbjogLTEKICAgICBncmFuZGZhdGhlcmVkOiBObwotICAgIHRvcEZyYW1lTGlua0Rl
Y29yYXRpb25zRnJvbToKKyAgICBUb3BGcmFtZUxpbmtEZWNvcmF0aW9uc0Zyb206CiAgICAgICAg
IGxvY2FsaG9zdAotICAgIGdvdExpbmtEZWNvcmF0aW9uRnJvbVByZXZhbGVudFJlc291cmNlOiBO
bworICAgIElzU2NoZWR1bGVkRm9yQWxsQnV0Q29va2llRGF0YVJlbW92YWw6IE5vCiAgICAgaXNQ
cmV2YWxlbnRSZXNvdXJjZTogTm8KICAgICBpc1ZlcnlQcmV2YWxlbnRSZXNvdXJjZTogTm8KICAg
ICBkYXRhUmVjb3Jkc1JlbW92ZWQ6IDEKLSAgICBjYW52YXNSZWFkRGF0YTogTm8KLQogUmVnaXN0
cmFibGUgZG9tYWluOiBsb2NhbGhvc3QKICAgICBoYWRVc2VySW50ZXJhY3Rpb246IE5vCiAgICAg
bW9zdFJlY2VudFVzZXJJbnRlcmFjdGlvbjogLTEKICAgICBncmFuZGZhdGhlcmVkOiBObwotICAg
IGdvdExpbmtEZWNvcmF0aW9uRnJvbVByZXZhbGVudFJlc291cmNlOiBObworICAgIElzU2NoZWR1
bGVkRm9yQWxsQnV0Q29va2llRGF0YVJlbW92YWw6IE5vCiAgICAgaXNQcmV2YWxlbnRSZXNvdXJj
ZTogWWVzCiAgICAgaXNWZXJ5UHJldmFsZW50UmVzb3VyY2U6IE5vCiAgICAgZGF0YVJlY29yZHNS
ZW1vdmVkOiAwCi0gICAgY2FudmFzUmVhZERhdGE6IE5vCi0KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy93ZWJzaXRlLWRhdGEtcmVtb3Zh
bC1mb3Itc2l0ZS13aXRoLXVzZXItaW50ZXJhY3Rpb24tZGF0YWJhc2UtZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3dlYnNpdGUtZGF0
YS1yZW1vdmFsLWZvci1zaXRlLXdpdGgtdXNlci1pbnRlcmFjdGlvbi1kYXRhYmFzZS1leHBlY3Rl
ZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGZjMDc2ZGI1Y2UwYjBkZTRlZWYx
OGY1Mjg2ZDRmN2NmYmIwZGE0OTQuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNz
L3dlYnNpdGUtZGF0YS1yZW1vdmFsLWZvci1zaXRlLXdpdGgtdXNlci1pbnRlcmFjdGlvbi1kYXRh
YmFzZS1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSwxNSArMCwwIEBACi1DaGVjayB0
aGF0IG5vbi1jb29raWUgd2Vic2l0ZSBkYXRhIGRvZXMgbm90IGdldCByZW1vdmVkIGZvciBzaXRl
cyB3aXRoIHVzZXIgaW50ZXJhY3Rpb24uCi0KLUJlZm9yZSBkZWxldGlvbjogQ2xpZW50LXNpZGUg
Y29va2llIGV4aXN0cy4KLUJlZm9yZSBkZWxldGlvbjogSHR0cE9ubHkgY29va2llIGV4aXN0cy4K
LUJlZm9yZSBkZWxldGlvbjogUmVndWxhciBzZXJ2ZXItc2lkZSBjb29raWUgZXhpc3RzLgotQmVm
b3JlIGRlbGV0aW9uOiBMb2NhbFN0b3JhZ2UgZW50cnkgZG9lcyBleGlzdC4KLUJlZm9yZSBkZWxl
dGlvbjogSURCIGVudHJ5IGRvZXMgZXhpc3QuCi0KLUFmdGVyIGRlbGV0aW9uOiBIdHRwT25seSBj
b29raWUgZXhpc3RzLgotQWZ0ZXIgZGVsZXRpb246IENsaWVudC1zaWRlIGNvb2tpZSBleGlzdHMu
Ci1BZnRlciBkZWxldGlvbjogUmVndWxhciBzZXJ2ZXItc2lkZSBjb29raWUgZXhpc3RzLgotQWZ0
ZXIgZGVsZXRpb246IExvY2FsU3RvcmFnZSBlbnRyeSBkb2VzIGV4aXN0LgotQWZ0ZXIgZGVsZXRp
b246IElEQiBlbnRyeSBkb2VzIGV4aXN0LgotCi0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0
dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy93ZWJzaXRlLWRhdGEtcmVtb3ZhbC1mb3It
c2l0ZS13aXRoLXVzZXItaW50ZXJhY3Rpb24tZGF0YWJhc2UuaHRtbCBiL0xheW91dFRlc3RzL2h0
dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy93ZWJzaXRlLWRhdGEtcmVtb3ZhbC1mb3It
c2l0ZS13aXRoLXVzZXItaW50ZXJhY3Rpb24tZGF0YWJhc2UuaHRtbApkZWxldGVkIGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMTllNjc3YzkyMjQ3NTk2MGYwNDVmNTE1YjA0MTkyZWI2ZjJmNjY5Yy4u
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3Mvd2Vic2l0ZS1kYXRhLXJlbW92YWwt
Zm9yLXNpdGUtd2l0aC11c2VyLWludGVyYWN0aW9uLWRhdGFiYXNlLmh0bWwKKysrIC9kZXYvbnVs
bApAQCAtMSwyNTQgKzAsMCBAQAotPCFET0NUWVBFIGh0bWw+Ci08aHRtbD4KLTxoZWFkPgotICAg
IDxzY3JpcHQgc3JjPSIvY29va2llcy9yZXNvdXJjZXMvY29va2llLXV0aWxpdGllcy5qcyI+PC9z
Y3JpcHQ+Ci0gICAgPHNjcmlwdCBzcmM9InJlc291cmNlcy91dGlsLmpzIj48L3NjcmlwdD4KLTwv
aGVhZD4KLTxib2R5IG9ubG9hZD0ic2V0VGltZW91dCgncnVuVGVzdCgpJywgMCkiPgotPGRpdiBp
ZD0iZGVzY3JpcHRpb24iPkNoZWNrIHRoYXQgbm9uLWNvb2tpZSB3ZWJzaXRlIGRhdGEgZG9lcyBu
b3QgZ2V0IHJlbW92ZWQgZm9yIHNpdGVzIHdpdGggdXNlciBpbnRlcmFjdGlvbi48L2Rpdj4KLTxi
cj4KLTxkaXYgaWQ9Im91dHB1dCI+PC9kaXY+Ci08YnI+Ci08c2NyaXB0PgotICAgIHRlc3RSdW5u
ZXIud2FpdFVudGlsRG9uZSgpOwotICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOwotICAgIHRl
c3RSdW5uZXIuc2V0VXNlSVRQRGF0YWJhc2UodHJ1ZSk7Ci0KLSAgICBjb25zdCBodHRwT25seUNv
b2tpZU5hbWUgPSAiaHR0cC1vbmx5LWNvb2tpZSI7Ci0gICAgY29uc3Qgc2VydmVyU2lkZUNvb2tp
ZU5hbWUgPSAic2VydmVyLXNpZGUtY29va2llIjsKLSAgICBjb25zdCBjbGllbnRTaWRlQ29va2ll
TmFtZSA9ICJjbGllbnQtc2lkZS1jb29raWUiOwotCi0gICAgZnVuY3Rpb24gc29ydFN0cmluZ0Fy
cmF5KGEsIGIpIHsKLSAgICAgICAgYSA9IGEudG9Mb3dlckNhc2UoKTsKLSAgICAgICAgYiA9IGIu
dG9Mb3dlckNhc2UoKTsKLQotICAgICAgICByZXR1cm4gYSA+IGIgPyAxIDogYiA+IGEgPyAtMSA6
IDA7Ci0gICAgfQotCi0gICAgZnVuY3Rpb24gYWRkTGluZWJyZWFrVG9PdXRwdXQoKSB7Ci0gICAg
ICAgIGxldCBlbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiYnIiKTsKLSAgICAgICAg
b3V0cHV0LmFwcGVuZENoaWxkKGVsZW1lbnQpOwotICAgIH0KLQotICAgIGZ1bmN0aW9uIGFkZE91
dHB1dChtZXNzYWdlKSB7Ci0gICAgICAgIGxldCBlbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxl
bWVudCgiZGl2Iik7Ci0gICAgICAgIGVsZW1lbnQuaW5uZXJUZXh0ID0gbWVzc2FnZTsKLSAgICAg
ICAgb3V0cHV0LmFwcGVuZENoaWxkKGVsZW1lbnQpOwotICAgIH0KLQotICAgIGZ1bmN0aW9uIGNo
ZWNrQ29va2llcyhpc0FmdGVyRGVsZXRpb24pIHsKLSAgICAgICAgbGV0IHVuc29ydGVkVGVzdFBh
c3NlZE1lc3NhZ2VzID0gW107Ci0gICAgICAgIGxldCBjb29raWVzID0gaW50ZXJuYWxzLmdldENv
b2tpZXMoKTsKLSAgICAgICAgaWYgKCFjb29raWVzLmxlbmd0aCkKLSAgICAgICAgICAgIHRlc3RG
YWlsZWQoKGlzQWZ0ZXJEZWxldGlvbiA/ICJBZnRlciIgOiAiQmVmb3JlIikgKyAiIHNjcmlwdC1h
Y2Nlc3NpYmxlIGRlbGV0aW9uOiBObyBjb29raWVzIGZvdW5kLiIpOwotICAgICAgICBmb3IgKGxl
dCBjb29raWUgb2YgY29va2llcykgewotICAgICAgICAgICAgc3dpdGNoIChjb29raWUubmFtZSkg
ewotICAgICAgICAgICAgICAgIGNhc2UgaHR0cE9ubHlDb29raWVOYW1lOgotICAgICAgICAgICAg
ICAgICAgICB1bnNvcnRlZFRlc3RQYXNzZWRNZXNzYWdlcy5wdXNoKChpc0FmdGVyRGVsZXRpb24g
PyAiQWZ0ZXIiIDogIkJlZm9yZSIpICsgIiBkZWxldGlvbjogIiArIChpc0FmdGVyRGVsZXRpb24g
PyAiICIgOiAiIikgKyAiSHR0cE9ubHkgY29va2llIGV4aXN0cy4iKTsKLSAgICAgICAgICAgICAg
ICAgICAgYnJlYWs7Ci0gICAgICAgICAgICAgICAgY2FzZSBzZXJ2ZXJTaWRlQ29va2llTmFtZToK
LSAgICAgICAgICAgICAgICAgICAgdW5zb3J0ZWRUZXN0UGFzc2VkTWVzc2FnZXMucHVzaCgoaXNB
ZnRlckRlbGV0aW9uID8gIkFmdGVyIiA6ICJCZWZvcmUiKSArICIgZGVsZXRpb246IFJlZ3VsYXIg
c2VydmVyLXNpZGUgY29va2llIGV4aXN0cy4iKTsKLSAgICAgICAgICAgICAgICAgICAgYnJlYWs7
Ci0gICAgICAgICAgICAgICAgY2FzZSBjbGllbnRTaWRlQ29va2llTmFtZToKLSAgICAgICAgICAg
ICAgICAgICAgdW5zb3J0ZWRUZXN0UGFzc2VkTWVzc2FnZXMucHVzaCgoaXNBZnRlckRlbGV0aW9u
ID8gIkFmdGVyIiA6ICJCZWZvcmUiKSArICIgZGVsZXRpb246IENsaWVudC1zaWRlIGNvb2tpZSBl
eGlzdHMuIik7Ci0gICAgICAgICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICAgICAgfQotICAg
ICAgICB9Ci0gICAgICAgIGxldCBzb3J0ZWRUZXN0UGFzc2VkTWVzc2FnZXMgPSB1bnNvcnRlZFRl
c3RQYXNzZWRNZXNzYWdlcy5zb3J0KHNvcnRTdHJpbmdBcnJheSk7Ci0gICAgICAgIGZvciAobGV0
IHRlc3RQYXNzZWRNZXNzYWdlIG9mIHNvcnRlZFRlc3RQYXNzZWRNZXNzYWdlcykgewotICAgICAg
ICAgICAgYWRkT3V0cHV0KHRlc3RQYXNzZWRNZXNzYWdlKTsKLSAgICAgICAgfQotICAgIH0KLQot
ICAgIGNvbnN0IGRiTmFtZSA9ICJUZXN0RGF0YWJhc2UiOwotCi0gICAgZnVuY3Rpb24gY3JlYXRl
SURCRGF0YVN0b3JlKGNhbGxiYWNrKSB7Ci0gICAgICAgIGxldCByZXF1ZXN0ID0gaW5kZXhlZERC
Lm9wZW4oZGJOYW1lKTsKLSAgICAgICAgcmVxdWVzdC5vbmVycm9yID0gZnVuY3Rpb24oKSB7Ci0g
ICAgICAgICAgICBhZGRPdXRwdXQoIkNvdWxkbid0IGNyZWF0ZSBpbmRleGVkREIuIik7Ci0gICAg
ICAgICAgICBmaW5pc2hUZXN0KCk7Ci0gICAgICAgIH07Ci0gICAgICAgIHJlcXVlc3Qub251cGdy
YWRlbmVlZGVkID0gZnVuY3Rpb24oZXZlbnQpIHsKLSAgICAgICAgICAgIGxldCBkYiA9IGV2ZW50
LnRhcmdldC5yZXN1bHQ7Ci0gICAgICAgICAgICBsZXQgb2JqU3RvcmUgPSBkYi5jcmVhdGVPYmpl
Y3RTdG9yZSgidGVzdCIsIHthdXRvSW5jcmVtZW50OiB0cnVlfSk7Ci0gICAgICAgICAgICBvYmpT
dG9yZS5hZGQoInZhbHVlIik7Ci0gICAgICAgICAgICBjYWxsYmFjaygpOwotICAgICAgICB9Ci0g
ICAgfQotCi0gICAgY29uc3QgbWF4SW50ZXJ2YWxzID0gMjA7Ci0KLSAgICBsZXQgaW50ZXJ2YWxD
b3VudGVySURCOwotICAgIGxldCBjaGVja0lEQkNhbGxiYWNrOwotICAgIGxldCBjaGVja0lEQklu
dGVydmFsSUQ7Ci0gICAgbGV0IHNlbWFwaG9yZUlEQkNoZWNrID0gZmFsc2U7Ci0gICAgZnVuY3Rp
b24gY2hlY2tJREJEYXRhU3RvcmVFeGlzdHMoaXNBZnRlckRlbGV0aW9uLCBjYWxsYmFjaykgewot
ICAgICAgICBsZXQgcmVxdWVzdDsKLSAgICAgICAgaW50ZXJ2YWxDb3VudGVySURCID0gMDsKLSAg
ICAgICAgY2hlY2tJREJDYWxsYmFjayA9IGNhbGxiYWNrOwotICAgICAgICBpZiAoIWlzQWZ0ZXJE
ZWxldGlvbikgewotICAgICAgICAgICAgLy8gQ2hlY2sgdW50aWwgdGhlcmUgaXMgYSBJREIuCi0g
ICAgICAgICAgICBjaGVja0lEQkludGVydmFsSUQgPSBzZXRJbnRlcnZhbChmdW5jdGlvbigpIHsK
LSAgICAgICAgICAgICAgICBpZiAoc2VtYXBob3JlSURCQ2hlY2spCi0gICAgICAgICAgICAgICAg
ICAgIHJldHVybjsKLSAgICAgICAgICAgICAgICBzZW1hcGhvcmVJREJDaGVjayA9IHRydWU7Ci0K
LSAgICAgICAgICAgICAgICBpZiAoKytpbnRlcnZhbENvdW50ZXJJREIgPj0gbWF4SW50ZXJ2YWxz
KSB7Ci0gICAgICAgICAgICAgICAgICAgIGNsZWFySW50ZXJ2YWwoY2hlY2tJREJJbnRlcnZhbElE
KTsKLSAgICAgICAgICAgICAgICAgICAgYWRkT3V0cHV0KCJCZWZvcmUgZGVsZXRpb246IElEQiBl
bnRyeSBkb2VzIG5vdCBleGlzdC4iKTsKLSAgICAgICAgICAgICAgICAgICAgc2VtYXBob3JlSURC
Q2hlY2sgPSBmYWxzZTsKLSAgICAgICAgICAgICAgICAgICAgY2hlY2tJREJDYWxsYmFjaygpOwot
ICAgICAgICAgICAgICAgIH0gZWxzZSB7Ci0gICAgICAgICAgICAgICAgICAgIHJlcXVlc3QgPSBp
bmRleGVkREIub3BlbihkYk5hbWUpOwotICAgICAgICAgICAgICAgICAgICByZXF1ZXN0Lm9uZXJy
b3IgPSBmdW5jdGlvbiAoKSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICBjbGVhckludGVydmFs
KGNoZWNrSURCSW50ZXJ2YWxJRCk7Ci0gICAgICAgICAgICAgICAgICAgICAgICBhZGRPdXRwdXQo
IkNvdWxkbid0IG9wZW4gaW5kZXhlZERCLiIpOwotICAgICAgICAgICAgICAgICAgICAgICAgc2Vt
YXBob3JlSURCQ2hlY2sgPSBmYWxzZTsKLSAgICAgICAgICAgICAgICAgICAgICAgIGZpbmlzaFRl
c3QoKTsKLSAgICAgICAgICAgICAgICAgICAgfTsKLSAgICAgICAgICAgICAgICAgICAgcmVxdWVz
dC5vbnVwZ3JhZGVuZWVkZWQgPSBmdW5jdGlvbiAoKSB7Ci0gICAgICAgICAgICAgICAgICAgICAg
ICAvLyBMZXQgdGhlIG5leHQgaW50ZXJ2YWwgY2hlY2sgYWdhaW4uCi0gICAgICAgICAgICAgICAg
ICAgICAgICBzZW1hcGhvcmVJREJDaGVjayA9IGZhbHNlOwotICAgICAgICAgICAgICAgICAgICB9
OwotICAgICAgICAgICAgICAgICAgICByZXF1ZXN0Lm9uc3VjY2VzcyA9IGZ1bmN0aW9uICgpIHsK
LSAgICAgICAgICAgICAgICAgICAgICAgIGNsZWFySW50ZXJ2YWwoY2hlY2tJREJJbnRlcnZhbElE
KTsKLSAgICAgICAgICAgICAgICAgICAgICAgIGFkZE91dHB1dCgiQmVmb3JlIGRlbGV0aW9uOiBJ
REIgZW50cnkgZG9lcyBleGlzdC4iKTsKLSAgICAgICAgICAgICAgICAgICAgICAgIHNlbWFwaG9y
ZUlEQkNoZWNrID0gZmFsc2U7Ci0gICAgICAgICAgICAgICAgICAgICAgICBjaGVja0lEQkNhbGxi
YWNrKCk7Ci0gICAgICAgICAgICAgICAgICAgIH07Ci0gICAgICAgICAgICAgICAgfQotICAgICAg
ICAgICAgfSwgMjAwKTsKLSAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAgIC8vIENoZWNrIHVu
dGlsIHRoZXJlIGlzIG5vIElEQi4KLSAgICAgICAgICAgIGNoZWNrSURCSW50ZXJ2YWxJRCA9IHNl
dEludGVydmFsKGZ1bmN0aW9uICgpIHsKLSAgICAgICAgICAgICAgICBpZiAoc2VtYXBob3JlSURC
Q2hlY2spCi0gICAgICAgICAgICAgICAgICAgIHJldHVybjsKLSAgICAgICAgICAgICAgICBzZW1h
cGhvcmVJREJDaGVjayA9IHRydWU7Ci0KLSAgICAgICAgICAgICAgICBpZiAoKytpbnRlcnZhbENv
dW50ZXJJREIgPj0gbWF4SW50ZXJ2YWxzKSB7Ci0gICAgICAgICAgICAgICAgICAgIGNsZWFySW50
ZXJ2YWwoY2hlY2tJREJJbnRlcnZhbElEKTsKLSAgICAgICAgICAgICAgICAgICAgYWRkT3V0cHV0
KCJBZnRlciBkZWxldGlvbjogSURCIGVudHJ5IGRvZXMgZXhpc3QuIik7Ci0gICAgICAgICAgICAg
ICAgICAgIHNlbWFwaG9yZUlEQkNoZWNrID0gZmFsc2U7Ci0gICAgICAgICAgICAgICAgICAgIGNo
ZWNrSURCQ2FsbGJhY2soKTsKLSAgICAgICAgICAgICAgICB9IGVsc2UgewotICAgICAgICAgICAg
ICAgICAgICByZXF1ZXN0ID0gaW5kZXhlZERCLm9wZW4oZGJOYW1lKTsKLSAgICAgICAgICAgICAg
ICAgICAgcmVxdWVzdC5vbmVycm9yID0gZnVuY3Rpb24gKCkgewotICAgICAgICAgICAgICAgICAg
ICAgICAgY2xlYXJJbnRlcnZhbChjaGVja0lEQkludGVydmFsSUQpOwotICAgICAgICAgICAgICAg
ICAgICAgICAgYWRkT3V0cHV0KCJDb3VsZG4ndCBvcGVuIGluZGV4ZWREQi4iKTsKLSAgICAgICAg
ICAgICAgICAgICAgICAgIHNlbWFwaG9yZUlEQkNoZWNrID0gZmFsc2U7Ci0gICAgICAgICAgICAg
ICAgICAgICAgICBmaW5pc2hUZXN0KCk7Ci0gICAgICAgICAgICAgICAgICAgIH07Ci0gICAgICAg
ICAgICAgICAgICAgIHJlcXVlc3Qub251cGdyYWRlbmVlZGVkID0gZnVuY3Rpb24gKCkgewotICAg
ICAgICAgICAgICAgICAgICAgICAgY2xlYXJJbnRlcnZhbChjaGVja0lEQkludGVydmFsSUQpOwot
ICAgICAgICAgICAgICAgICAgICAgICAgYWRkT3V0cHV0KCJBZnRlciBkZWxldGlvbjogSURCIGVu
dHJ5IGRvZXMgbm90IGV4aXN0LiIpOwotICAgICAgICAgICAgICAgICAgICAgICAgc2VtYXBob3Jl
SURCQ2hlY2sgPSBmYWxzZTsKLSAgICAgICAgICAgICAgICAgICAgICAgIGZpbmlzaFRlc3QoKTsK
LSAgICAgICAgICAgICAgICAgICAgfTsKLSAgICAgICAgICAgICAgICAgICAgcmVxdWVzdC5vbnN1
Y2Nlc3MgPSBmdW5jdGlvbiAoKSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAvLyBMZXQgdGhl
IG5leHQgaW50ZXJ2YWwgY2hlY2sgYWdhaW4gYmVjYXVzZSBkZWxldGlvbiBtaWdodCBiZSBkZWxh
eWVkLgotICAgICAgICAgICAgICAgICAgICAgICAgc2VtYXBob3JlSURCQ2hlY2sgPSBmYWxzZTsK
LSAgICAgICAgICAgICAgICAgICAgfTsKLSAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICB9
LCAyMDApOwotICAgICAgICB9Ci0gICAgfQotCi0gICAgbGV0IGludGVydmFsQ291bnRlckxvY2Fs
U3RvcmFnZTsKLSAgICBsZXQgY2hlY2tMb2NhbFN0b3JhZ2VDYWxsYmFjazsKLSAgICBsZXQgY2hl
Y2tMb2NhbFN0b3JhZ2VJbnRlcnZhbElEOwotICAgIGNvbnN0IGxvY2FsU3RvcmFnZU5hbWUgPSAi
dGVzdCI7Ci0gICAgY29uc3QgbG9jYWxTdG9yYWdlVmFsdWUgPSAidmFsdWUiOwotICAgIGZ1bmN0
aW9uIGNoZWNrTG9jYWxTdG9yYWdlRXhpc3RzKGlzQWZ0ZXJEZWxldGlvbiwgY2FsbGJhY2spIHsK
LSAgICAgICAgaW50ZXJ2YWxDb3VudGVyTG9jYWxTdG9yYWdlID0gMDsKLSAgICAgICAgY2hlY2tM
b2NhbFN0b3JhZ2VDYWxsYmFjayA9IGNhbGxiYWNrOwotICAgICAgICBpZiAoIWlzQWZ0ZXJEZWxl
dGlvbikgewotICAgICAgICAgICAgLy8gQ2hlY2sgdW50aWwgdGhlcmUgaXMgTG9jYWxTdG9yYWdl
LgotICAgICAgICAgICAgY2hlY2tMb2NhbFN0b3JhZ2VJbnRlcnZhbElEID0gc2V0SW50ZXJ2YWwo
ZnVuY3Rpb24oKSB7Ci0gICAgICAgICAgICAgICAgaWYgKCsraW50ZXJ2YWxDb3VudGVyTG9jYWxT
dG9yYWdlID49IG1heEludGVydmFscykgewotICAgICAgICAgICAgICAgICAgICBjbGVhckludGVy
dmFsKGNoZWNrTG9jYWxTdG9yYWdlSW50ZXJ2YWxJRCk7Ci0gICAgICAgICAgICAgICAgICAgIGxl
dCB2YWx1ZSA9IGxvY2FsU3RvcmFnZS5nZXRJdGVtKGxvY2FsU3RvcmFnZU5hbWUpOwotICAgICAg
ICAgICAgICAgICAgICBhZGRPdXRwdXQoIkJlZm9yZSBkZWxldGlvbjogTG9jYWxTdG9yYWdlIGVu
dHJ5ICIgKyAodmFsdWUgPT09IGxvY2FsU3RvcmFnZVZhbHVlID8gImRvZXMiIDogImRvZXMgbm90
IikgKyAiIGV4aXN0LiIpOwotICAgICAgICAgICAgICAgICAgICBjaGVja0xvY2FsU3RvcmFnZUNh
bGxiYWNrKCk7Ci0gICAgICAgICAgICAgICAgfSBlbHNlIGlmICh0ZXN0UnVubmVyLmlzU3RhdGlz
dGljc0hhc0xvY2FsU3RvcmFnZShvcmlnaW5VbmRlclRlc3QpKSB7Ci0gICAgICAgICAgICAgICAg
ICAgIGNsZWFySW50ZXJ2YWwoY2hlY2tMb2NhbFN0b3JhZ2VJbnRlcnZhbElEKTsKLSAgICAgICAg
ICAgICAgICAgICAgbGV0IHZhbHVlID0gbG9jYWxTdG9yYWdlLmdldEl0ZW0obG9jYWxTdG9yYWdl
TmFtZSk7Ci0gICAgICAgICAgICAgICAgICAgIGFkZE91dHB1dCgiQmVmb3JlIGRlbGV0aW9uOiBM
b2NhbFN0b3JhZ2UgZW50cnkgIiArICh2YWx1ZSA9PT0gbG9jYWxTdG9yYWdlVmFsdWUgPyAiZG9l
cyIgOiAiZG9lcyBub3QiKSArICIgZXhpc3QuIik7Ci0gICAgICAgICAgICAgICAgICAgIGNoZWNr
TG9jYWxTdG9yYWdlQ2FsbGJhY2soKTsKLSAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICB9
LCAxMDApOwotICAgICAgICB9IGVsc2UgewotICAgICAgICAgICAgLy8gQ2hlY2sgdW50aWwgdGhl
cmUgaXMgbm8gTG9jYWxTdG9yYWdlLgotICAgICAgICAgICAgY2hlY2tMb2NhbFN0b3JhZ2VJbnRl
cnZhbElEID0gc2V0SW50ZXJ2YWwoZnVuY3Rpb24oKSB7Ci0gICAgICAgICAgICAgICAgaWYgKCsr
aW50ZXJ2YWxDb3VudGVyTG9jYWxTdG9yYWdlID49IG1heEludGVydmFscykgewotICAgICAgICAg
ICAgICAgICAgICBjbGVhckludGVydmFsKGNoZWNrTG9jYWxTdG9yYWdlSW50ZXJ2YWxJRCk7Ci0g
ICAgICAgICAgICAgICAgICAgIGxldCB2YWx1ZSA9IGxvY2FsU3RvcmFnZS5nZXRJdGVtKGxvY2Fs
U3RvcmFnZU5hbWUpOwotICAgICAgICAgICAgICAgICAgICBhZGRPdXRwdXQoIkFmdGVyIGRlbGV0
aW9uOiBMb2NhbFN0b3JhZ2UgZW50cnkgIiArICh2YWx1ZSA9PT0gbG9jYWxTdG9yYWdlVmFsdWUg
PyAiZG9lcyIgOiAiZG9lcyBub3QiKSArICIgZXhpc3QuIik7Ci0gICAgICAgICAgICAgICAgICAg
IGNoZWNrTG9jYWxTdG9yYWdlQ2FsbGJhY2soKTsKLSAgICAgICAgICAgICAgICB9IGVsc2UgaWYg
KCF0ZXN0UnVubmVyLmlzU3RhdGlzdGljc0hhc0xvY2FsU3RvcmFnZShvcmlnaW5VbmRlclRlc3Qp
KSB7Ci0gICAgICAgICAgICAgICAgICAgIGNsZWFySW50ZXJ2YWwoY2hlY2tMb2NhbFN0b3JhZ2VJ
bnRlcnZhbElEKTsKLSAgICAgICAgICAgICAgICAgICAgbGV0IHZhbHVlID0gbG9jYWxTdG9yYWdl
LmdldEl0ZW0obG9jYWxTdG9yYWdlTmFtZSk7Ci0gICAgICAgICAgICAgICAgICAgIGFkZE91dHB1
dCgiQWZ0ZXIgZGVsZXRpb246IExvY2FsU3RvcmFnZSBlbnRyeSAiICsgKHZhbHVlID09PSBsb2Nh
bFN0b3JhZ2VWYWx1ZSA/ICJkb2VzIiA6ICJkb2VzIG5vdCIpICsgIiBleGlzdC4iKTsKLSAgICAg
ICAgICAgICAgICAgICAgY2hlY2tMb2NhbFN0b3JhZ2VDYWxsYmFjaygpOwotICAgICAgICAgICAg
ICAgIH0KLSAgICAgICAgICAgIH0sIDEwMCk7Ci0gICAgICAgIH0KLSAgICB9Ci0KLSAgICBhc3lu
YyBmdW5jdGlvbiB3cml0ZVdlYnNpdGVEYXRhQW5kQ29udGludWUoKSB7Ci0gICAgICAgIC8vIFdy
aXRlIGNvb2tpZXMuCi0gICAgICAgIGF3YWl0IGZldGNoKCIvY29va2llcy9yZXNvdXJjZXMvc2V0
LWh0dHAtb25seS1jb29raWUucGhwP2Nvb2tpZU5hbWU9IiArIGh0dHBPbmx5Q29va2llTmFtZSwg
eyBjcmVkZW50aWFsczogInNhbWUtb3JpZ2luIiB9KTsKLSAgICAgICAgYXdhaXQgZmV0Y2goIi9j
b29raWVzL3Jlc291cmNlcy9zZXRDb29raWVzLmNnaSIsIHsgaGVhZGVyczogeyAiU2V0LUNvb2tp
ZSI6IHNlcnZlclNpZGVDb29raWVOYW1lICsgIj0xOyBwYXRoPS87IiB9LCBjcmVkZW50aWFsczog
InNhbWUtb3JpZ2luIiB9KTsKLSAgICAgICAgZG9jdW1lbnQuY29va2llID0gY2xpZW50U2lkZUNv
b2tpZU5hbWUgKyAiPTEiOwotCi0gICAgICAgIGNoZWNrQ29va2llcyhmYWxzZSk7Ci0KLSAgICAg
ICAgLy8gV3JpdGUgTG9jYWxTdG9yYWdlCi0gICAgICAgIGxvY2FsU3RvcmFnZS5zZXRJdGVtKGxv
Y2FsU3RvcmFnZU5hbWUsIGxvY2FsU3RvcmFnZVZhbHVlKTsKLSAgICAgICAgY2hlY2tMb2NhbFN0
b3JhZ2VFeGlzdHMoZmFsc2UsIGZ1bmN0aW9uKCkgewotCi0gICAgICAgICAgICAvLyBXcml0ZSBJ
bmRleGVkREIuCi0gICAgICAgICAgICBjcmVhdGVJREJEYXRhU3RvcmUoZnVuY3Rpb24gKCkgewot
ICAgICAgICAgICAgICAgIGNoZWNrSURCRGF0YVN0b3JlRXhpc3RzKGZhbHNlLCBmdW5jdGlvbigp
IHsKLSAgICAgICAgICAgICAgICAgICAgYWRkTGluZWJyZWFrVG9PdXRwdXQoKTsKLSAgICAgICAg
ICAgICAgICAgICAgcHJvY2Vzc1dlYnNpdGVEYXRhQW5kQ29udGludWUoKTsKLSAgICAgICAgICAg
ICAgICB9KTsKLSAgICAgICAgICAgIH0pOwotICAgICAgICB9KTsKLSAgICB9Ci0KLSAgICBmdW5j
dGlvbiBwcm9jZXNzV2Vic2l0ZURhdGFBbmRDb250aW51ZSgpIHsKLSAgICAgICAgdGVzdFJ1bm5l
ci5pbnN0YWxsU3RhdGlzdGljc0RpZFNjYW5EYXRhUmVjb3Jkc0NhbGxiYWNrKGNoZWNrV2Vic2l0
ZURhdGFBbmRDb250aW51ZSk7Ci0gICAgICAgIHRlc3RSdW5uZXIuc3RhdGlzdGljc1Byb2Nlc3NT
dGF0aXN0aWNzQW5kRGF0YVJlY29yZHMoKTsKLSAgICB9Ci0KLSAgICBmdW5jdGlvbiBjaGVja1dl
YnNpdGVEYXRhQW5kQ29udGludWUoKSB7Ci0gICAgICAgIGNoZWNrQ29va2llcyh0cnVlKTsKLSAg
ICAgICAgY2hlY2tMb2NhbFN0b3JhZ2VFeGlzdHModHJ1ZSwgZnVuY3Rpb24gKCkgewotICAgICAg
ICAgICAgY2hlY2tJREJEYXRhU3RvcmVFeGlzdHModHJ1ZSwgZmluaXNoVGVzdCk7Ci0gICAgICAg
IH0pOwotICAgIH0KLQotICAgIGZ1bmN0aW9uIGZpbmlzaFRlc3QoKSB7Ci0gICAgICAgIHJlc2V0
Q29va2llcygpOwotICAgICAgICB0ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NGaXJzdFBhcnR5V2Vi
c2l0ZURhdGFSZW1vdmFsTW9kZShmYWxzZSwgZnVuY3Rpb24oKSB7Ci0gICAgICAgICAgICBzZXRF
bmFibGVGZWF0dXJlKGZhbHNlLCBmdW5jdGlvbigpIHsKLSAgICAgICAgICAgICAgICB0ZXN0UnVu
bmVyLm5vdGlmeURvbmUoKTsKLSAgICAgICAgICAgIH0pOwotICAgICAgICB9KTsKLSAgICB9Ci0K
LSAgICBjb25zdCBvcmlnaW5VbmRlclRlc3QgID0gImh0dHA6Ly8xMjcuMC4wLjE6ODAwMCI7Ci0g
ICAgZnVuY3Rpb24gcnVuVGVzdCgpIHsKLSAgICAgICAgc2V0RW5hYmxlRmVhdHVyZSh0cnVlLCBm
dW5jdGlvbiAoKSB7Ci0gICAgICAgICAgICB0ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NGaXJzdFBh
cnR5V2Vic2l0ZURhdGFSZW1vdmFsTW9kZSh0cnVlLCBmdW5jdGlvbigpIHsKLSAgICAgICAgICAg
ICAgICB0ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NIYXNIYWRVc2VySW50ZXJhY3Rpb24ob3JpZ2lu
VW5kZXJUZXN0LCB0cnVlLCBmdW5jdGlvbigpIHsKLSAgICAgICAgICAgICAgICAgICAgaWYgKCF0
ZXN0UnVubmVyLmlzU3RhdGlzdGljc0hhc0hhZFVzZXJJbnRlcmFjdGlvbihvcmlnaW5VbmRlclRl
c3QpKQotICAgICAgICAgICAgICAgICAgICAgICAgYWRkT3V0cHV0KCJGQUlMOiAiICsgb3JpZ2lu
VW5kZXJUZXN0ICsgIiBkaWQgbm90IGdldCBsb2dnZWQgZm9yIHVzZXIgaW50ZXJhY3Rpb24uIik7
Ci0gICAgICAgICAgICAgICAgICAgIHdyaXRlV2Vic2l0ZURhdGFBbmRDb250aW51ZSgpOwotICAg
ICAgICAgICAgICAgIH0pOwotICAgICAgICAgICAgfSk7Ci0gICAgICAgIH0pOwotICAgIH0KLTwv
c2NyaXB0PgotPC9ib2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90
ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3dlYnNpdGUtZGF0YS1yZW1vdmFsLWZvci1zaXRl
LXdpdGhvdXQtdXNlci1pbnRlcmFjdGlvbi1kYXRhYmFzZS1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3Mvd2Vic2l0ZS1kYXRhLXJlbW92
YWwtZm9yLXNpdGUtd2l0aG91dC11c2VyLWludGVyYWN0aW9uLWRhdGFiYXNlLWV4cGVjdGVkLnR4
dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMGViODZjYTMyMGY0NjhlYWFmYWVlNTk5
M2Q0MWNiM2ZlNzU1M2VjOC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3Mvd2Vi
c2l0ZS1kYXRhLXJlbW92YWwtZm9yLXNpdGUtd2l0aG91dC11c2VyLWludGVyYWN0aW9uLWRhdGFi
YXNlLWV4cGVjdGVkLnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDE1ICswLDAgQEAKLUNoZWNrIHRo
YXQgbm9uLWNvb2tpZSB3ZWJzaXRlIGRhdGEgZ2V0cyByZW1vdmVkIGFmdGVyIGEgcGVyaW9kIG9m
IG5vIHVzZXIgaW50ZXJhY3Rpb24uCi0KLUJlZm9yZSBkZWxldGlvbjogQ2xpZW50LXNpZGUgY29v
a2llIGV4aXN0cy4KLUJlZm9yZSBkZWxldGlvbjogSHR0cE9ubHkgY29va2llIGV4aXN0cy4KLUJl
Zm9yZSBkZWxldGlvbjogUmVndWxhciBzZXJ2ZXItc2lkZSBjb29raWUgZXhpc3RzLgotQmVmb3Jl
IGRlbGV0aW9uOiBMb2NhbFN0b3JhZ2UgZW50cnkgZG9lcyBleGlzdC4KLUJlZm9yZSBkZWxldGlv
bjogSURCIGVudHJ5IGRvZXMgZXhpc3QuCi0KLUFmdGVyIGRlbGV0aW9uOiBIdHRwT25seSBjb29r
aWUgZXhpc3RzLgotQWZ0ZXIgZGVsZXRpb246IENsaWVudC1zaWRlIGNvb2tpZSBleGlzdHMuCi1B
ZnRlciBkZWxldGlvbjogUmVndWxhciBzZXJ2ZXItc2lkZSBjb29raWUgZXhpc3RzLgotQWZ0ZXIg
ZGVsZXRpb246IExvY2FsU3RvcmFnZSBlbnRyeSBkb2VzIG5vdCBleGlzdC4KLUFmdGVyIGRlbGV0
aW9uOiBJREIgZW50cnkgZG9lcyBub3QgZXhpc3QuCi0KLQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3dlYnNpdGUtZGF0YS1yZW1vdmFs
LWZvci1zaXRlLXdpdGhvdXQtdXNlci1pbnRlcmFjdGlvbi1kYXRhYmFzZS5odG1sIGIvTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3dlYnNpdGUtZGF0YS1yZW1v
dmFsLWZvci1zaXRlLXdpdGhvdXQtdXNlci1pbnRlcmFjdGlvbi1kYXRhYmFzZS5odG1sCmRlbGV0
ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAyZTAwMTRjN2Y5NTBlMDliMWM5MmQ4ZDc5ZGQ4NjY2
NDcxZDRkYTMyLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBh
L0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy93ZWJzaXRlLWRh
dGEtcmVtb3ZhbC1mb3Itc2l0ZS13aXRob3V0LXVzZXItaW50ZXJhY3Rpb24tZGF0YWJhc2UuaHRt
bAorKysgL2Rldi9udWxsCkBAIC0xLDI1NCArMCwwIEBACi08IURPQ1RZUEUgaHRtbD4KLTxodG1s
PgotPGhlYWQ+Ci0gICAgPHNjcmlwdCBzcmM9Ii9jb29raWVzL3Jlc291cmNlcy9jb29raWUtdXRp
bGl0aWVzLmpzIj48L3NjcmlwdD4KLSAgICA8c2NyaXB0IHNyYz0icmVzb3VyY2VzL3V0aWwuanMi
Pjwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHkgb25sb2FkPSJzZXRUaW1lb3V0KCdydW5UZXN0KCkn
LCAwKSI+Ci08ZGl2IGlkPSJkZXNjcmlwdGlvbiI+Q2hlY2sgdGhhdCBub24tY29va2llIHdlYnNp
dGUgZGF0YSBnZXRzIHJlbW92ZWQgYWZ0ZXIgYSBwZXJpb2Qgb2Ygbm8gdXNlciBpbnRlcmFjdGlv
bi48L2Rpdj4KLTxicj4KLTxkaXYgaWQ9Im91dHB1dCI+PC9kaXY+Ci08YnI+Ci08c2NyaXB0Pgot
ICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOwotICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4
dCgpOwotICAgIHRlc3RSdW5uZXIuc2V0VXNlSVRQRGF0YWJhc2UodHJ1ZSk7Ci0KLSAgICBjb25z
dCBodHRwT25seUNvb2tpZU5hbWUgPSAiaHR0cC1vbmx5LWNvb2tpZSI7Ci0gICAgY29uc3Qgc2Vy
dmVyU2lkZUNvb2tpZU5hbWUgPSAic2VydmVyLXNpZGUtY29va2llIjsKLSAgICBjb25zdCBjbGll
bnRTaWRlQ29va2llTmFtZSA9ICJjbGllbnQtc2lkZS1jb29raWUiOwotCi0gICAgZnVuY3Rpb24g
c29ydFN0cmluZ0FycmF5KGEsIGIpIHsKLSAgICAgICAgYSA9IGEudG9Mb3dlckNhc2UoKTsKLSAg
ICAgICAgYiA9IGIudG9Mb3dlckNhc2UoKTsKLQotICAgICAgICByZXR1cm4gYSA+IGIgPyAxIDog
YiA+IGEgPyAtMSA6IDA7Ci0gICAgfQotCi0gICAgZnVuY3Rpb24gYWRkTGluZWJyZWFrVG9PdXRw
dXQoKSB7Ci0gICAgICAgIGxldCBlbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiYnIi
KTsKLSAgICAgICAgb3V0cHV0LmFwcGVuZENoaWxkKGVsZW1lbnQpOwotICAgIH0KLQotICAgIGZ1
bmN0aW9uIGFkZE91dHB1dChtZXNzYWdlKSB7Ci0gICAgICAgIGxldCBlbGVtZW50ID0gZG9jdW1l
bnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7Ci0gICAgICAgIGVsZW1lbnQuaW5uZXJUZXh0ID0gbWVz
c2FnZTsKLSAgICAgICAgb3V0cHV0LmFwcGVuZENoaWxkKGVsZW1lbnQpOwotICAgIH0KLQotICAg
IGZ1bmN0aW9uIGNoZWNrQ29va2llcyhpc0FmdGVyRGVsZXRpb24pIHsKLSAgICAgICAgbGV0IHVu
c29ydGVkVGVzdFBhc3NlZE1lc3NhZ2VzID0gW107Ci0gICAgICAgIGxldCBjb29raWVzID0gaW50
ZXJuYWxzLmdldENvb2tpZXMoKTsKLSAgICAgICAgaWYgKCFjb29raWVzLmxlbmd0aCkKLSAgICAg
ICAgICAgIHRlc3RGYWlsZWQoKGlzQWZ0ZXJEZWxldGlvbiA/ICJBZnRlciIgOiAiQmVmb3JlIikg
KyAiIHNjcmlwdC1hY2Nlc3NpYmxlIGRlbGV0aW9uOiBObyBjb29raWVzIGZvdW5kLiIpOwotICAg
ICAgICBmb3IgKGxldCBjb29raWUgb2YgY29va2llcykgewotICAgICAgICAgICAgc3dpdGNoIChj
b29raWUubmFtZSkgewotICAgICAgICAgICAgICAgIGNhc2UgaHR0cE9ubHlDb29raWVOYW1lOgot
ICAgICAgICAgICAgICAgICAgICB1bnNvcnRlZFRlc3RQYXNzZWRNZXNzYWdlcy5wdXNoKChpc0Fm
dGVyRGVsZXRpb24gPyAiQWZ0ZXIiIDogIkJlZm9yZSIpICsgIiBkZWxldGlvbjogIiArIChpc0Fm
dGVyRGVsZXRpb24gPyAiICIgOiAiIikgKyAiSHR0cE9ubHkgY29va2llIGV4aXN0cy4iKTsKLSAg
ICAgICAgICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgICAgICAgICAgY2FzZSBzZXJ2ZXJTaWRl
Q29va2llTmFtZToKLSAgICAgICAgICAgICAgICAgICAgdW5zb3J0ZWRUZXN0UGFzc2VkTWVzc2Fn
ZXMucHVzaCgoaXNBZnRlckRlbGV0aW9uID8gIkFmdGVyIiA6ICJCZWZvcmUiKSArICIgZGVsZXRp
b246IFJlZ3VsYXIgc2VydmVyLXNpZGUgY29va2llIGV4aXN0cy4iKTsKLSAgICAgICAgICAgICAg
ICAgICAgYnJlYWs7Ci0gICAgICAgICAgICAgICAgY2FzZSBjbGllbnRTaWRlQ29va2llTmFtZToK
LSAgICAgICAgICAgICAgICAgICAgdW5zb3J0ZWRUZXN0UGFzc2VkTWVzc2FnZXMucHVzaCgoaXNB
ZnRlckRlbGV0aW9uID8gIkFmdGVyIiA6ICJCZWZvcmUiKSArICIgZGVsZXRpb246IENsaWVudC1z
aWRlIGNvb2tpZSBleGlzdHMuIik7Ci0gICAgICAgICAgICAgICAgICAgIGJyZWFrOwotICAgICAg
ICAgICAgfQotICAgICAgICB9Ci0gICAgICAgIGxldCBzb3J0ZWRUZXN0UGFzc2VkTWVzc2FnZXMg
PSB1bnNvcnRlZFRlc3RQYXNzZWRNZXNzYWdlcy5zb3J0KHNvcnRTdHJpbmdBcnJheSk7Ci0gICAg
ICAgIGZvciAobGV0IHRlc3RQYXNzZWRNZXNzYWdlIG9mIHNvcnRlZFRlc3RQYXNzZWRNZXNzYWdl
cykgewotICAgICAgICAgICAgYWRkT3V0cHV0KHRlc3RQYXNzZWRNZXNzYWdlKTsKLSAgICAgICAg
fQotICAgIH0KLQotICAgIGNvbnN0IGRiTmFtZSA9ICJUZXN0RGF0YWJhc2UiOwotCi0gICAgZnVu
Y3Rpb24gY3JlYXRlSURCRGF0YVN0b3JlKGNhbGxiYWNrKSB7Ci0gICAgICAgIGxldCByZXF1ZXN0
ID0gaW5kZXhlZERCLm9wZW4oZGJOYW1lKTsKLSAgICAgICAgcmVxdWVzdC5vbmVycm9yID0gZnVu
Y3Rpb24oKSB7Ci0gICAgICAgICAgICBhZGRPdXRwdXQoIkNvdWxkbid0IGNyZWF0ZSBpbmRleGVk
REIuIik7Ci0gICAgICAgICAgICBmaW5pc2hUZXN0KCk7Ci0gICAgICAgIH07Ci0gICAgICAgIHJl
cXVlc3Qub251cGdyYWRlbmVlZGVkID0gZnVuY3Rpb24oZXZlbnQpIHsKLSAgICAgICAgICAgIGxl
dCBkYiA9IGV2ZW50LnRhcmdldC5yZXN1bHQ7Ci0gICAgICAgICAgICBsZXQgb2JqU3RvcmUgPSBk
Yi5jcmVhdGVPYmplY3RTdG9yZSgidGVzdCIsIHthdXRvSW5jcmVtZW50OiB0cnVlfSk7Ci0gICAg
ICAgICAgICBvYmpTdG9yZS5hZGQoInZhbHVlIik7Ci0gICAgICAgICAgICBjYWxsYmFjaygpOwot
ICAgICAgICB9Ci0gICAgfQotCi0gICAgY29uc3QgbWF4SW50ZXJ2YWxzID0gMjA7Ci0KLSAgICBs
ZXQgaW50ZXJ2YWxDb3VudGVySURCOwotICAgIGxldCBjaGVja0lEQkNhbGxiYWNrOwotICAgIGxl
dCBjaGVja0lEQkludGVydmFsSUQ7Ci0gICAgbGV0IHNlbWFwaG9yZUlEQkNoZWNrID0gZmFsc2U7
Ci0gICAgZnVuY3Rpb24gY2hlY2tJREJEYXRhU3RvcmVFeGlzdHMoaXNBZnRlckRlbGV0aW9uLCBj
YWxsYmFjaykgewotICAgICAgICBsZXQgcmVxdWVzdDsKLSAgICAgICAgaW50ZXJ2YWxDb3VudGVy
SURCID0gMDsKLSAgICAgICAgY2hlY2tJREJDYWxsYmFjayA9IGNhbGxiYWNrOwotICAgICAgICBp
ZiAoIWlzQWZ0ZXJEZWxldGlvbikgewotICAgICAgICAgICAgLy8gQ2hlY2sgdW50aWwgdGhlcmUg
aXMgYSBJREIuCi0gICAgICAgICAgICBjaGVja0lEQkludGVydmFsSUQgPSBzZXRJbnRlcnZhbChm
dW5jdGlvbigpIHsKLSAgICAgICAgICAgICAgICBpZiAoc2VtYXBob3JlSURCQ2hlY2spCi0gICAg
ICAgICAgICAgICAgICAgIHJldHVybjsKLSAgICAgICAgICAgICAgICBzZW1hcGhvcmVJREJDaGVj
ayA9IHRydWU7Ci0KLSAgICAgICAgICAgICAgICBpZiAoKytpbnRlcnZhbENvdW50ZXJJREIgPj0g
bWF4SW50ZXJ2YWxzKSB7Ci0gICAgICAgICAgICAgICAgICAgIGNsZWFySW50ZXJ2YWwoY2hlY2tJ
REJJbnRlcnZhbElEKTsKLSAgICAgICAgICAgICAgICAgICAgYWRkT3V0cHV0KCJCZWZvcmUgZGVs
ZXRpb246IElEQiBlbnRyeSBkb2VzIG5vdCBleGlzdC4iKTsKLSAgICAgICAgICAgICAgICAgICAg
c2VtYXBob3JlSURCQ2hlY2sgPSBmYWxzZTsKLSAgICAgICAgICAgICAgICAgICAgY2hlY2tJREJD
YWxsYmFjaygpOwotICAgICAgICAgICAgICAgIH0gZWxzZSB7Ci0gICAgICAgICAgICAgICAgICAg
IHJlcXVlc3QgPSBpbmRleGVkREIub3BlbihkYk5hbWUpOwotICAgICAgICAgICAgICAgICAgICBy
ZXF1ZXN0Lm9uZXJyb3IgPSBmdW5jdGlvbiAoKSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICBj
bGVhckludGVydmFsKGNoZWNrSURCSW50ZXJ2YWxJRCk7Ci0gICAgICAgICAgICAgICAgICAgICAg
ICBhZGRPdXRwdXQoIkNvdWxkbid0IG9wZW4gaW5kZXhlZERCLiIpOwotICAgICAgICAgICAgICAg
ICAgICAgICAgc2VtYXBob3JlSURCQ2hlY2sgPSBmYWxzZTsKLSAgICAgICAgICAgICAgICAgICAg
ICAgIGZpbmlzaFRlc3QoKTsKLSAgICAgICAgICAgICAgICAgICAgfTsKLSAgICAgICAgICAgICAg
ICAgICAgcmVxdWVzdC5vbnVwZ3JhZGVuZWVkZWQgPSBmdW5jdGlvbiAoKSB7Ci0gICAgICAgICAg
ICAgICAgICAgICAgICAvLyBMZXQgdGhlIG5leHQgaW50ZXJ2YWwgY2hlY2sgYWdhaW4uCi0gICAg
ICAgICAgICAgICAgICAgICAgICBzZW1hcGhvcmVJREJDaGVjayA9IGZhbHNlOwotICAgICAgICAg
ICAgICAgICAgICB9OwotICAgICAgICAgICAgICAgICAgICByZXF1ZXN0Lm9uc3VjY2VzcyA9IGZ1
bmN0aW9uICgpIHsKLSAgICAgICAgICAgICAgICAgICAgICAgIGNsZWFySW50ZXJ2YWwoY2hlY2tJ
REJJbnRlcnZhbElEKTsKLSAgICAgICAgICAgICAgICAgICAgICAgIGFkZE91dHB1dCgiQmVmb3Jl
IGRlbGV0aW9uOiBJREIgZW50cnkgZG9lcyBleGlzdC4iKTsKLSAgICAgICAgICAgICAgICAgICAg
ICAgIHNlbWFwaG9yZUlEQkNoZWNrID0gZmFsc2U7Ci0gICAgICAgICAgICAgICAgICAgICAgICBj
aGVja0lEQkNhbGxiYWNrKCk7Ci0gICAgICAgICAgICAgICAgICAgIH07Ci0gICAgICAgICAgICAg
ICAgfQotICAgICAgICAgICAgfSwgMjAwKTsKLSAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAg
IC8vIENoZWNrIHVudGlsIHRoZXJlIGlzIG5vIElEQi4KLSAgICAgICAgICAgIGNoZWNrSURCSW50
ZXJ2YWxJRCA9IHNldEludGVydmFsKGZ1bmN0aW9uICgpIHsKLSAgICAgICAgICAgICAgICBpZiAo
c2VtYXBob3JlSURCQ2hlY2spCi0gICAgICAgICAgICAgICAgICAgIHJldHVybjsKLSAgICAgICAg
ICAgICAgICBzZW1hcGhvcmVJREJDaGVjayA9IHRydWU7Ci0KLSAgICAgICAgICAgICAgICBpZiAo
KytpbnRlcnZhbENvdW50ZXJJREIgPj0gbWF4SW50ZXJ2YWxzKSB7Ci0gICAgICAgICAgICAgICAg
ICAgIGNsZWFySW50ZXJ2YWwoY2hlY2tJREJJbnRlcnZhbElEKTsKLSAgICAgICAgICAgICAgICAg
ICAgYWRkT3V0cHV0KCJBZnRlciBkZWxldGlvbjogSURCIGVudHJ5IGNoZWNrcyBleGhhdXN0ZWQu
Iik7Ci0gICAgICAgICAgICAgICAgICAgIHNlbWFwaG9yZUlEQkNoZWNrID0gZmFsc2U7Ci0gICAg
ICAgICAgICAgICAgICAgIGNoZWNrSURCQ2FsbGJhY2soKTsKLSAgICAgICAgICAgICAgICB9IGVs
c2UgewotICAgICAgICAgICAgICAgICAgICByZXF1ZXN0ID0gaW5kZXhlZERCLm9wZW4oZGJOYW1l
KTsKLSAgICAgICAgICAgICAgICAgICAgcmVxdWVzdC5vbmVycm9yID0gZnVuY3Rpb24gKCkgewot
ICAgICAgICAgICAgICAgICAgICAgICAgY2xlYXJJbnRlcnZhbChjaGVja0lEQkludGVydmFsSUQp
OwotICAgICAgICAgICAgICAgICAgICAgICAgYWRkT3V0cHV0KCJDb3VsZG4ndCBvcGVuIGluZGV4
ZWREQi4iKTsKLSAgICAgICAgICAgICAgICAgICAgICAgIHNlbWFwaG9yZUlEQkNoZWNrID0gZmFs
c2U7Ci0gICAgICAgICAgICAgICAgICAgICAgICBmaW5pc2hUZXN0KCk7Ci0gICAgICAgICAgICAg
ICAgICAgIH07Ci0gICAgICAgICAgICAgICAgICAgIHJlcXVlc3Qub251cGdyYWRlbmVlZGVkID0g
ZnVuY3Rpb24gKCkgewotICAgICAgICAgICAgICAgICAgICAgICAgY2xlYXJJbnRlcnZhbChjaGVj
a0lEQkludGVydmFsSUQpOwotICAgICAgICAgICAgICAgICAgICAgICAgYWRkT3V0cHV0KCJBZnRl
ciBkZWxldGlvbjogSURCIGVudHJ5IGRvZXMgbm90IGV4aXN0LiIpOwotICAgICAgICAgICAgICAg
ICAgICAgICAgc2VtYXBob3JlSURCQ2hlY2sgPSBmYWxzZTsKLSAgICAgICAgICAgICAgICAgICAg
ICAgIGNoZWNrSURCQ2FsbGJhY2soKTsKLSAgICAgICAgICAgICAgICAgICAgfTsKLSAgICAgICAg
ICAgICAgICAgICAgcmVxdWVzdC5vbnN1Y2Nlc3MgPSBmdW5jdGlvbiAoKSB7Ci0gICAgICAgICAg
ICAgICAgICAgICAgICAvLyBMZXQgdGhlIG5leHQgaW50ZXJ2YWwgY2hlY2sgYWdhaW4uCi0gICAg
ICAgICAgICAgICAgICAgICAgICBzZW1hcGhvcmVJREJDaGVjayA9IGZhbHNlOwotICAgICAgICAg
ICAgICAgICAgICB9OwotICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgIH0sIDIwMCk7Ci0g
ICAgICAgIH0KLSAgICB9Ci0KLSAgICBsZXQgaW50ZXJ2YWxDb3VudGVyTG9jYWxTdG9yYWdlOwot
ICAgIGxldCBjaGVja0xvY2FsU3RvcmFnZUNhbGxiYWNrOwotICAgIGxldCBjaGVja0xvY2FsU3Rv
cmFnZUludGVydmFsSUQ7Ci0gICAgY29uc3QgbG9jYWxTdG9yYWdlTmFtZSA9ICJ0ZXN0IjsKLSAg
ICBjb25zdCBsb2NhbFN0b3JhZ2VWYWx1ZSA9ICJ2YWx1ZSI7Ci0gICAgZnVuY3Rpb24gY2hlY2tM
b2NhbFN0b3JhZ2VFeGlzdHMoaXNBZnRlckRlbGV0aW9uLCBjYWxsYmFjaykgewotICAgICAgICBp
bnRlcnZhbENvdW50ZXJMb2NhbFN0b3JhZ2UgPSAwOwotICAgICAgICBjaGVja0xvY2FsU3RvcmFn
ZUNhbGxiYWNrID0gY2FsbGJhY2s7Ci0gICAgICAgIGlmICghaXNBZnRlckRlbGV0aW9uKSB7Ci0g
ICAgICAgICAgICAvLyBDaGVjayB1bnRpbCB0aGVyZSBpcyBMb2NhbFN0b3JhZ2UuCi0gICAgICAg
ICAgICBjaGVja0xvY2FsU3RvcmFnZUludGVydmFsSUQgPSBzZXRJbnRlcnZhbChmdW5jdGlvbigp
IHsKLSAgICAgICAgICAgICAgICBpZiAoKytpbnRlcnZhbENvdW50ZXJMb2NhbFN0b3JhZ2UgPj0g
bWF4SW50ZXJ2YWxzKSB7Ci0gICAgICAgICAgICAgICAgICAgIGNsZWFySW50ZXJ2YWwoY2hlY2tM
b2NhbFN0b3JhZ2VJbnRlcnZhbElEKTsKLSAgICAgICAgICAgICAgICAgICAgbGV0IHZhbHVlID0g
bG9jYWxTdG9yYWdlLmdldEl0ZW0obG9jYWxTdG9yYWdlTmFtZSk7Ci0gICAgICAgICAgICAgICAg
ICAgIGFkZE91dHB1dCgiQmVmb3JlIGRlbGV0aW9uOiBMb2NhbFN0b3JhZ2UgZW50cnkgIiArICh2
YWx1ZSA9PT0gbG9jYWxTdG9yYWdlVmFsdWUgPyAiZG9lcyIgOiAiZG9lcyBub3QiKSArICIgZXhp
c3QuIik7Ci0gICAgICAgICAgICAgICAgICAgIGNoZWNrTG9jYWxTdG9yYWdlQ2FsbGJhY2soKTsK
LSAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKHRlc3RSdW5uZXIuaXNTdGF0aXN0aWNzSGFzTG9j
YWxTdG9yYWdlKG9yaWdpblVuZGVyVGVzdCkpIHsKLSAgICAgICAgICAgICAgICAgICAgY2xlYXJJ
bnRlcnZhbChjaGVja0xvY2FsU3RvcmFnZUludGVydmFsSUQpOwotICAgICAgICAgICAgICAgICAg
ICBsZXQgdmFsdWUgPSBsb2NhbFN0b3JhZ2UuZ2V0SXRlbShsb2NhbFN0b3JhZ2VOYW1lKTsKLSAg
ICAgICAgICAgICAgICAgICAgYWRkT3V0cHV0KCJCZWZvcmUgZGVsZXRpb246IExvY2FsU3RvcmFn
ZSBlbnRyeSAiICsgKHZhbHVlID09PSBsb2NhbFN0b3JhZ2VWYWx1ZSA/ICJkb2VzIiA6ICJkb2Vz
IG5vdCIpICsgIiBleGlzdC4iKTsKLSAgICAgICAgICAgICAgICAgICAgY2hlY2tMb2NhbFN0b3Jh
Z2VDYWxsYmFjaygpOwotICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgIH0sIDEwMCk7Ci0g
ICAgICAgIH0gZWxzZSB7Ci0gICAgICAgICAgICAvLyBDaGVjayB1bnRpbCB0aGVyZSBpcyBubyBM
b2NhbFN0b3JhZ2UuCi0gICAgICAgICAgICBjaGVja0xvY2FsU3RvcmFnZUludGVydmFsSUQgPSBz
ZXRJbnRlcnZhbChmdW5jdGlvbigpIHsKLSAgICAgICAgICAgICAgICBpZiAoKytpbnRlcnZhbENv
dW50ZXJMb2NhbFN0b3JhZ2UgPj0gbWF4SW50ZXJ2YWxzKSB7Ci0gICAgICAgICAgICAgICAgICAg
IGNsZWFySW50ZXJ2YWwoY2hlY2tMb2NhbFN0b3JhZ2VJbnRlcnZhbElEKTsKLSAgICAgICAgICAg
ICAgICAgICAgbGV0IHZhbHVlID0gbG9jYWxTdG9yYWdlLmdldEl0ZW0obG9jYWxTdG9yYWdlTmFt
ZSk7Ci0gICAgICAgICAgICAgICAgICAgIGFkZE91dHB1dCgiQWZ0ZXIgZGVsZXRpb246IExvY2Fs
U3RvcmFnZSBlbnRyeSAiICsgKHZhbHVlID09PSBsb2NhbFN0b3JhZ2VWYWx1ZSA/ICJkb2VzIiA6
ICJkb2VzIG5vdCIpICsgIiBleGlzdC4iKTsKLSAgICAgICAgICAgICAgICAgICAgY2hlY2tMb2Nh
bFN0b3JhZ2VDYWxsYmFjaygpOwotICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAoIXRlc3RSdW5u
ZXIuaXNTdGF0aXN0aWNzSGFzTG9jYWxTdG9yYWdlKG9yaWdpblVuZGVyVGVzdCkpIHsKLSAgICAg
ICAgICAgICAgICAgICAgY2xlYXJJbnRlcnZhbChjaGVja0xvY2FsU3RvcmFnZUludGVydmFsSUQp
OwotICAgICAgICAgICAgICAgICAgICBsZXQgdmFsdWUgPSBsb2NhbFN0b3JhZ2UuZ2V0SXRlbShs
b2NhbFN0b3JhZ2VOYW1lKTsKLSAgICAgICAgICAgICAgICAgICAgYWRkT3V0cHV0KCJBZnRlciBk
ZWxldGlvbjogTG9jYWxTdG9yYWdlIGVudHJ5ICIgKyAodmFsdWUgPT09IGxvY2FsU3RvcmFnZVZh
bHVlID8gImRvZXMiIDogImRvZXMgbm90IikgKyAiIGV4aXN0LiIpOwotICAgICAgICAgICAgICAg
ICAgICBjaGVja0xvY2FsU3RvcmFnZUNhbGxiYWNrKCk7Ci0gICAgICAgICAgICAgICAgfQotICAg
ICAgICAgICAgfSwgMTAwKTsKLSAgICAgICAgfQotICAgIH0KLQotICAgIGFzeW5jIGZ1bmN0aW9u
IHdyaXRlV2Vic2l0ZURhdGFBbmRDb250aW51ZSgpIHsKLSAgICAgICAgLy8gV3JpdGUgY29va2ll
cy4KLSAgICAgICAgYXdhaXQgZmV0Y2goIi9jb29raWVzL3Jlc291cmNlcy9zZXQtaHR0cC1vbmx5
LWNvb2tpZS5waHA/Y29va2llTmFtZT0iICsgaHR0cE9ubHlDb29raWVOYW1lLCB7IGNyZWRlbnRp
YWxzOiAic2FtZS1vcmlnaW4iIH0pOwotICAgICAgICBhd2FpdCBmZXRjaCgiL2Nvb2tpZXMvcmVz
b3VyY2VzL3NldENvb2tpZXMuY2dpIiwgeyBoZWFkZXJzOiB7ICJTZXQtQ29va2llIjogc2VydmVy
U2lkZUNvb2tpZU5hbWUgKyAiPTE7IHBhdGg9LzsiIH0sIGNyZWRlbnRpYWxzOiAic2FtZS1vcmln
aW4iIH0pOwotICAgICAgICBkb2N1bWVudC5jb29raWUgPSBjbGllbnRTaWRlQ29va2llTmFtZSAr
ICI9MSI7Ci0KLSAgICAgICAgY2hlY2tDb29raWVzKGZhbHNlKTsKLQotICAgICAgICAvLyBXcml0
ZSBMb2NhbFN0b3JhZ2UKLSAgICAgICAgbG9jYWxTdG9yYWdlLnNldEl0ZW0obG9jYWxTdG9yYWdl
TmFtZSwgbG9jYWxTdG9yYWdlVmFsdWUpOwotICAgICAgICBjaGVja0xvY2FsU3RvcmFnZUV4aXN0
cyhmYWxzZSwgZnVuY3Rpb24oKSB7Ci0KLSAgICAgICAgICAgIC8vIFdyaXRlIEluZGV4ZWREQi4K
LSAgICAgICAgICAgIGNyZWF0ZUlEQkRhdGFTdG9yZShmdW5jdGlvbiAoKSB7Ci0gICAgICAgICAg
ICAgICAgY2hlY2tJREJEYXRhU3RvcmVFeGlzdHMoZmFsc2UsIGZ1bmN0aW9uKCkgewotICAgICAg
ICAgICAgICAgICAgICBhZGRMaW5lYnJlYWtUb091dHB1dCgpOwotICAgICAgICAgICAgICAgICAg
ICBwcm9jZXNzV2Vic2l0ZURhdGFBbmRDb250aW51ZSgpOwotICAgICAgICAgICAgICAgIH0pOwot
ICAgICAgICAgICAgfSk7Ci0gICAgICAgIH0pOwotICAgIH0KLQotICAgIGZ1bmN0aW9uIHByb2Nl
c3NXZWJzaXRlRGF0YUFuZENvbnRpbnVlKCkgewotICAgICAgICB0ZXN0UnVubmVyLmluc3RhbGxT
dGF0aXN0aWNzRGlkU2NhbkRhdGFSZWNvcmRzQ2FsbGJhY2soY2hlY2tXZWJzaXRlRGF0YUFuZENv
bnRpbnVlKTsKLSAgICAgICAgdGVzdFJ1bm5lci5zdGF0aXN0aWNzUHJvY2Vzc1N0YXRpc3RpY3NB
bmREYXRhUmVjb3JkcygpOwotICAgIH0KLQotICAgIGZ1bmN0aW9uIGNoZWNrV2Vic2l0ZURhdGFB
bmRDb250aW51ZSgpIHsKLSAgICAgICAgY2hlY2tDb29raWVzKHRydWUpOwotICAgICAgICBjaGVj
a0xvY2FsU3RvcmFnZUV4aXN0cyh0cnVlLCBmdW5jdGlvbiAoKSB7Ci0gICAgICAgICAgICBjaGVj
a0lEQkRhdGFTdG9yZUV4aXN0cyh0cnVlLCBmaW5pc2hUZXN0KTsKLSAgICAgICAgfSk7Ci0gICAg
fQotCi0gICAgZnVuY3Rpb24gZmluaXNoVGVzdCgpIHsKLSAgICAgICAgcmVzZXRDb29raWVzKCk7
Ci0gICAgICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc0ZpcnN0UGFydHlXZWJzaXRlRGF0YVJl
bW92YWxNb2RlKGZhbHNlLCBmdW5jdGlvbigpIHsKLSAgICAgICAgICAgIHNldEVuYWJsZUZlYXR1
cmUoZmFsc2UsIGZ1bmN0aW9uKCkgewotICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIubm90aWZ5
RG9uZSgpOwotICAgICAgICAgICAgfSk7Ci0gICAgICAgIH0pOwotICAgIH0KLQotICAgIGNvbnN0
IG9yaWdpblVuZGVyVGVzdCAgPSAiaHR0cDovLzEyNy4wLjAuMTo4MDAwIjsKLSAgICBmdW5jdGlv
biBydW5UZXN0KCkgewotICAgICAgICBzZXRFbmFibGVGZWF0dXJlKHRydWUsIGZ1bmN0aW9uICgp
IHsKLSAgICAgICAgICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc0ZpcnN0UGFydHlXZWJzaXRl
RGF0YVJlbW92YWxNb2RlKHRydWUsIGZ1bmN0aW9uKCkgewotICAgICAgICAgICAgICAgIHRlc3RS
dW5uZXIuc2V0U3RhdGlzdGljc0hhc0hhZFVzZXJJbnRlcmFjdGlvbihvcmlnaW5VbmRlclRlc3Qs
IGZhbHNlLCBmdW5jdGlvbigpIHsKLSAgICAgICAgICAgICAgICAgICAgaWYgKHRlc3RSdW5uZXIu
aXNTdGF0aXN0aWNzSGFzSGFkVXNlckludGVyYWN0aW9uKG9yaWdpblVuZGVyVGVzdCkpCi0gICAg
ICAgICAgICAgICAgICAgICAgICBhZGRPdXRwdXQoIkZBSUw6ICIgKyBvcmlnaW5VbmRlclRlc3Qg
KyAiIGdvdCBsb2dnZWQgZm9yIHVzZXIgaW50ZXJhY3Rpb24uIik7Ci0gICAgICAgICAgICAgICAg
ICAgIHdyaXRlV2Vic2l0ZURhdGFBbmRDb250aW51ZSgpOwotICAgICAgICAgICAgICAgIH0pOwot
ICAgICAgICAgICAgfSk7Ci0gICAgICAgIH0pOwotICAgIH0KLTwvc2NyaXB0PgotPC9ib2R5Pgot
PC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL1Rlc3RFeHBlY3Rh
dGlvbnMgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGsvVGVzdEV4cGVjdGF0aW9ucwppbmRleCA2
YzIxODYyNTU5YTY5YTZlZjk0YTEzOTI4MDM5NWI5NGZkNDBjMzVkLi45OWMwMzdmMTkwOTYxZDQx
ZjEzYmY4Njc0NWQxMmEzZGJmNWM0OGMzIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9y
bS9ndGsvVGVzdEV4cGVjdGF0aW9ucworKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGsvVGVz
dEV4cGVjdGF0aW9ucwpAQCAtMTE1OCwxMCArMTE1OCw4IEBAIHdlYmtpdC5vcmcvYi8yMDk3Mjcg
ZmFzdC9mb3Jtcy9wbGFjZWhvbGRlci1jb250ZW50LWxpbmUtaGVpZ2h0Lmh0bWwgWyBJbWFnZU9u
bHlGCiAKIHdlYmtpdC5vcmcvYi8yMTAyMjYgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9JbmRleGVkREIvaW50ZXJsZWF2ZWQtY3Vyc29ycy1zbWFsbC5odG1sIFsgRmFpbHVyZSBdCiAK
LXdlYmtpdC5vcmcvYi8yMTA0ODcgaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3N3
aXRjaC1zZXNzaW9uLW9uLW5hdmlnYXRpb24tdG8tcHJldmFsZW50LXdpdGgtaW50ZXJhY3Rpb24t
ZGF0YWJhc2UucGhwIFsgRmFpbHVyZSBdCiB3ZWJraXQub3JnL2IvMjEwNDg3IGh0dHAvdGVzdHMv
cmVzb3VyY2VMb2FkU3RhdGlzdGljcy9zd2l0Y2gtc2Vzc2lvbi1vbi1uYXZpZ2F0aW9uLXRvLXBy
ZXZhbGVudC13aXRoLWludGVyYWN0aW9uLnBocCBbIEZhaWx1cmUgXQogCi13ZWJraXQub3JnL2Iv
MjEwNzk2IGh0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9zdGFuZGFsb25lLXdlYi1h
cHBsaWNhdGlvbi1leGVtcHQtZnJvbS13ZWJzaXRlLWRhdGEtZGVsZXRpb24tZGF0YWJhc2UuaHRt
bCBbIEZhaWx1cmUgXQogd2Via2l0Lm9yZy9iLzIxMDc5NiBodHRwL3Rlc3RzL3Jlc291cmNlTG9h
ZFN0YXRpc3RpY3Mvc3RhbmRhbG9uZS13ZWItYXBwbGljYXRpb24tZXhlbXB0LWZyb20td2Vic2l0
ZS1kYXRhLWRlbGV0aW9uLmh0bWwgWyBGYWlsdXJlIF0KIAogd2Via2l0Lm9yZy9iLzIxMDg0OSBj
b21wb3NpdGluZy9vdmVyZmxvdy9ydGwtc2Nyb2xsYmFyLWxheWVyLXBvc2l0aW9uaW5nLmh0bWwg
WyBGYWlsdXJlIF0KQEAgLTI0MTIsMTcgKzI0MTAsMTEgQEAgd2Via2l0Lm9yZy9iLzIxMjIwMiBm
YXN0L3Njcm9sbGluZy9wcm9ncmFtbWF0aWMtc2Nyb2xsLXRvLXplcm8temVyby5odG1sIFsgU2tp
cAogd2Via2l0Lm9yZy9iLzIxMjIwMiBmYXN0L3Njcm9sbGluZy9ydGwtcG9pbnQtaW4taWZyYW1l
Lmh0bWwgWyBTa2lwIF0KIHdlYmtpdC5vcmcvYi8yMTIyMDIgY29tcG9zaXRpbmcvZml4ZWQtd2l0
aC1tYWluLXRocmVhZC1zY3JvbGxpbmcuaHRtbCBbIFNraXAgXQogCi13ZWJraXQub3JnL2IvMjEw
Nzk2IGh0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jbGVhci1pbi1tZW1vcnktYW5k
LXBlcnNpc3RlbnQtc3RvcmUtb25lLWhvdXItZGF0YWJhc2UuaHRtbCBbIFRpbWVvdXQgUGFzcyBd
CiB3ZWJraXQub3JnL2IvMjEwNzk2IGh0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9j
bGVhci1pbi1tZW1vcnktYW5kLXBlcnNpc3RlbnQtc3RvcmUtb25lLWhvdXIuaHRtbCBbIFRpbWVv
dXQgUGFzcyBdCi13ZWJraXQub3JnL2IvMjEwNzk2IGh0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3Rh
dGlzdGljcy9vcGVyYXRpbmctZGF0ZXMtYWxsLXdlYnNpdGUtZGF0YS1yZW1vdmVkLWRhdGFiYXNl
Lmh0bWwgWyBUaW1lb3V0IFBhc3MgXQogd2Via2l0Lm9yZy9iLzIxMDc5NiBodHRwL3Rlc3RzL3Jl
c291cmNlTG9hZFN0YXRpc3RpY3Mvb3BlcmF0aW5nLWRhdGVzLWFsbC13ZWJzaXRlLWRhdGEtcmVt
b3ZlZC5odG1sIFsgVGltZW91dCBQYXNzIF0KLXdlYmtpdC5vcmcvYi8yMTA3OTYgaHR0cC90ZXN0
cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3BpbmctdG8tcHJldmFsZW50LXJlc291cmNlLWRhdGFi
YXNlLmh0bWwgWyBUaW1lb3V0IFBhc3MgXQogd2Via2l0Lm9yZy9iLzIxMDc5NiBodHRwL3Rlc3Rz
L3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvcGluZy10by1wcmV2YWxlbnQtcmVzb3VyY2UuaHRtbCBb
IFRpbWVvdXQgUGFzcyBdCi13ZWJraXQub3JnL2IvMjEwNzk2IGh0dHAvdGVzdHMvcmVzb3VyY2VM
b2FkU3RhdGlzdGljcy9wcmV2YWxlbnQtcmVzb3VyY2UtaGFuZGxlZC1rZXlkb3duLWRhdGFiYXNl
Lmh0bWwgWyBUaW1lb3V0IFBhc3MgXQotd2Via2l0Lm9yZy9iLzIxMDc5NiBodHRwL3Rlc3RzL3Jl
c291cmNlTG9hZFN0YXRpc3RpY3MvdGVsZW1ldHJ5LWdlbmVyYXRpb24tYWR2YW5jZWQtZnVuY3Rp
b25hbGl0eS1kYXRhYmFzZS5odG1sIFsgRmFpbHVyZSBQYXNzIF0KIHdlYmtpdC5vcmcvYi8yMTA3
OTYgaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3VzZXItaW50ZXJhY3Rpb24tb25s
eS1yZXBvcnRlZC1vbmNlLXdpdGhpbi1zaG9ydC1wZXJpb2Qtb2YtdGltZS5odG1sIFsgRmFpbHVy
ZSBQYXNzIF0KIHdlYmtpdC5vcmcvYi8yMTA3OTYgaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0
aXN0aWNzL3dlYnNpdGUtZGF0YS1yZW1vdmFsLWZvci1zaXRlLW5hdmlnYXRlZC10by13aXRoLWxp
bmstZGVjb3JhdGlvbi5odG1sIFsgVGltZW91dCBQYXNzIF0KLXdlYmtpdC5vcmcvYi8yMTA3OTYg
aHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3dlYnNpdGUtZGF0YS1yZW1vdmFsLWZv
ci1zaXRlLXdpdGgtdXNlci1pbnRlcmFjdGlvbi1kYXRhYmFzZS5odG1sIFsgVGltZW91dCBQYXNz
IF0KIHdlYmtpdC5vcmcvYi8yMTA3OTYgaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNz
L3dlYnNpdGUtZGF0YS1yZW1vdmFsLWZvci1zaXRlLXdpdGgtdXNlci1pbnRlcmFjdGlvbi5odG1s
IFsgVGltZW91dCBQYXNzIF0KIAogd2Via2l0Lm9yZy9iLzIxMTU2NiBodHRwL3Rlc3RzL3Jlc291
cmNlTG9hZFN0YXRpc3RpY3MvZXhlbXB0RG9tYWlucy9hcHAtYm91bmQtZG9tYWlucy1leGVtcHQt
ZnJvbS1jb29raWUtYmxvY2tpbmctYmV0d2Vlbi1lYWNoLW90aGVyLmh0bWwgWyBTa2lwIF0KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2lvcy13azIvVGVzdEV4cGVjdGF0aW9ucyBi
L0xheW91dFRlc3RzL3BsYXRmb3JtL2lvcy13azIvVGVzdEV4cGVjdGF0aW9ucwppbmRleCBiMTcy
OGMzNGM0NDQ4MmQ1MWUzNzAyOTJmMWEyNWQzNmQ1NmFjYWMxLi5jOWViN2EyOTAyZGI5M2VlZGNj
MGFkMTBiZWFkODUxYjVmMTAwNmFkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9p
b3Mtd2syL1Rlc3RFeHBlY3RhdGlvbnMKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9zLXdr
Mi9UZXN0RXhwZWN0YXRpb25zCkBAIC0xNDA0LDggKzE0MDQsNiBAQCB3ZWJraXQub3JnL2IvMjA4
NjAxIGZhc3QvYmFja2dyb3VuZHMvaGlkcGktYml0bWFwLWJhY2tncm91bmQtb24tc3VicGl4ZWwt
cG9zaXRpbwogCiB3ZWJraXQub3JnL2IvMjA4NzM5IGh0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3Rh
dGlzdGljcy90aGlyZC1wYXJ0eS1jb29raWUtYmxvY2tpbmctZXBoZW1lcmFsLmh0bWwgWyBQYXNz
IFRpbWVvdXQgXQogCi13ZWJraXQub3JnL2IvMjA4NzM5IGh0dHAvdGVzdHMvcmVzb3VyY2VMb2Fk
U3RhdGlzdGljcy90aGlyZC1wYXJ0eS1jb29raWUtYmxvY2tpbmctZXBoZW1lcmFsLWRhdGFiYXNl
Lmh0bWwgWyBQYXNzIFRpbWVvdXQgXQotCiB3ZWJraXQub3JnL2IvMjA4ODkwIGltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2lkYm9iamVjdHN0b3JlX29wZW5LZXlDdXJz
b3IuaHRtIFsgUGFzcyBGYWlsdXJlIF0KIAogd2Via2l0Lm9yZy9iLzIwOTAwNiBpbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50aWNzL3NjcmlwdGluZy0xL3RoZS1zY3Jp
cHQtZWxlbWVudC9leGVjdXRpb24tdGltaW5nLzA4NS5odG1sIFsgUGFzcyBGYWlsdXJlIF0KQEAg
LTE3NjAsOCArMTc1OCw2IEBAIHdlYmtpdC5vcmcvYi8yMDkxODkgaHR0cC90ZXN0cy9JbmRleGVk
REIvc3RvcmFnZS1saW1pdC5odHRwcy5odG1sIFsgUGFzcyBGYWlsdXJlCiAKIHdlYmtpdC5vcmcv
Yi8yMTAwNDYgWyBSZWxlYXNlIF0gc3RvcmFnZS9pbmRleGVkZGIvdmFsdWUtY3Vyc29yLWN5Y2xl
Lmh0bWwgWyBQYXNzIEZhaWx1cmUgXQogCi13ZWJraXQub3JnL2IvMjExOTI4IGh0dHAvdGVzdHMv
cmVzb3VyY2VMb2FkU3RhdGlzdGljcy9zdGFuZGFsb25lLXdlYi1hcHBsaWNhdGlvbi1leGVtcHQt
ZnJvbS13ZWJzaXRlLWRhdGEtZGVsZXRpb24tZGF0YWJhc2UuaHRtbCBbIFBhc3MgVGltZW91dCBd
Ci0KIHdlYmtpdC5vcmcvYi8yMTIyMTkgbWVkaWEvdHJhY2svdHJhY2stY3VlLW1pc3NpbmcuaHRt
bCBbIFBhc3MgRmFpbHVyZSBdCiAKIHdlYmtpdC5vcmcvYi8xODYwNDUgWyBSZWxlYXNlIF0gaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWRpc3BsYXkvZGlzcGxheS1ub25l
LWlubGluZS1pbWcuaHRtbCBbIFBhc3MgSW1hZ2VPbmx5RmFpbHVyZSBdCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3MvVGVzdEV4cGVjdGF0aW9ucyBiL0xheW91dFRlc3RzL3Bs
YXRmb3JtL2lvcy9UZXN0RXhwZWN0YXRpb25zCmluZGV4IDViZjJmYmQ0ZWRkYTJmOWFmZjgwMGE4
ZDMyYjhhMzY1NzE3ZWZiY2IuLmRlYjJkODkyZGMzZDk0YjE2Y2U1OGNmZDYxNzE5YjA2YzJhZDI4
NDUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2lvcy9UZXN0RXhwZWN0YXRpb25z
CisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2lvcy9UZXN0RXhwZWN0YXRpb25zCkBAIC0xMDA1
LDcgKzEwMDUsNiBAQCBmYXN0L3NwYXRpYWwtbmF2aWdhdGlvbi9zbmF2LXVuaXQtb3ZlcmZsb3ct
YW5kLXNjcm9sbC1pbi1kaXJlY3Rpb24uaHRtbCBbIFNraXAgXQogaHR0cC90ZXN0cy9uYXZpZ2F0
aW9uL2tleWJvYXJkLWV2ZW50cy1kdXJpbmctcHJvdmlzaW9uYWwtbmF2aWdhdGlvbi5odG1sIFsg
U2tpcCBdCiBodHRwL3Rlc3RzL25hdmlnYXRpb24va2V5Ym9hcmQtZXZlbnRzLWR1cmluZy1wcm92
aXNpb25hbC1zdWJmcmFtZS1uYXZpZ2F0aW9uLmh0bWwgWyBTa2lwIF0KIGh0dHAvdGVzdHMvcmVz
b3VyY2VMb2FkU3RhdGlzdGljcy9wcmV2YWxlbnQtcmVzb3VyY2UtaGFuZGxlZC1rZXlkb3duLmh0
bWwgWyBTa2lwIF0KLWh0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9wcmV2YWxlbnQt
cmVzb3VyY2UtaGFuZGxlZC1rZXlkb3duLWRhdGFiYXNlLmh0bWwgWyBTa2lwIF0KIG1lZGlhL2F1
ZGlvLXBsYXliYWNrLXZvbHVtZS1jaGFuZ2VzLXdpdGgtcmVzdHJpY3Rpb25zLWFuZC11c2VyLWdl
c3R1cmVzLmh0bWwgWyBTa2lwIF0KIG1lZGlhL2F1ZGlvLXBsYXliYWNrLXZvbHVtZS1jaGFuZ2Vz
LXdpdGgtcmVzdHJpY3Rpb25zLmh0bWwgWyBTa2lwIF0KIG1lZGlhL3BpY3R1cmUtaW4tcGljdHVy
ZS9waWN0dXJlLWluLXBpY3R1cmUtaW50ZXJydXB0aW9uLmh0bWwgWyBTa2lwIF0KQEAgLTI3MTYs
OSArMjcxNSw2IEBAIGZhc3QvY2FudmFzL3dlYmdsL3JlYWRQaXhlbHMtZmxvYXQuaHRtbCBbIFNr
aXAgXQogd2Via2l0Lm9yZy9iLzE3NDEyMCBodHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3Rp
Y3MvdXNlci1pbnRlcmFjdGlvbi1pbi1jcm9zcy1vcmlnaW4tc3ViLWZyYW1lLmh0bWwgWyBTa2lw
IF0KIGh0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy91c2VyLWludGVyYWN0aW9uLW9u
bHktcmVwb3J0ZWQtb25jZS13aXRoaW4tc2hvcnQtcGVyaW9kLW9mLXRpbWUuaHRtbCBbIFNraXAg
XQogaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3VzZXItaW50ZXJhY3Rpb24tcmVw
b3J0ZWQtYWZ0ZXItd2Vic2l0ZS1kYXRhLXJlbW92YWwuaHRtbCBbIFNraXAgXQotd2Via2l0Lm9y
Zy9iLzE3NDEyMCBodHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvdXNlci1pbnRlcmFj
dGlvbi1pbi1jcm9zcy1vcmlnaW4tc3ViLWZyYW1lLWRhdGFiYXNlLmh0bWwgWyBTa2lwIF0KLWh0
dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy91c2VyLWludGVyYWN0aW9uLW9ubHktcmVw
b3J0ZWQtb25jZS13aXRoaW4tc2hvcnQtcGVyaW9kLW9mLXRpbWUtZGF0YWJhc2UuaHRtbCBbIFNr
aXAgXQotaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3VzZXItaW50ZXJhY3Rpb24t
cmVwb3J0ZWQtYWZ0ZXItd2Vic2l0ZS1kYXRhLXJlbW92YWwtZGF0YWJhc2UuaHRtbCBbIFNraXAg
XQogIyBTa2lwcGVkIGluIFdLMiBleHBlY3RhdGlvbnMgYmVjYXVzZSBjb29raWUgcGFydGl0aW9u
aW5nIGlzIG9ubHkgYXZhaWxhYmxlIGluIG1hY09TIEhpZ2ggU2llcnJhIGFuZCBpT1MgMTEuCiBo
dHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY29va2llLWRlbGV0aW9uLmh0bWwgWyBQ
YXNzIF0KIGh0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jb29raWVzLXdpdGgtYW5k
LXdpdGhvdXQtdXNlci1pbnRlcmFjdGlvbi5odG1sIFsgUGFzcyBdCkBAIC0yNzM0LDcgKzI3MzAs
NiBAQCBodHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3Mvc3RyaXAtcmVmZXJyZXItdG8t
b3JpZ2luLWZvci10aGlyZC1wYXJ0eS1yZXF1ZQogIyBUaGUgU2FtZVNpdGUgY29va2llIEFQSSBp
cyBvbmx5IGF2YWlsYWJsZSBpbiBtYWNPUyBDYXRhbGluYSBhbmQgYWJvdmUsIGFuZCB0aHVzIHNr
aXBwZWQgZm9yIFdLMiBpbiBnZW5lcmFsLgogaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0
aWNzL3NldC1hbGwtY29va2llcy10by1zYW1lLXNpdGUtc3RyaWN0Lmh0bWwgWyBQYXNzIF0KIGh0
dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9lbmZvcmNlLXNhbWVzaXRlLXN0cmljdC1i
YXNlZC1vbi10b3AtZnJhbWUtdW5pcXVlLXJlZGlyZWN0cy10by5odG1sIFsgUGFzcyBdCi1odHRw
L3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvZW5mb3JjZS1zYW1lc2l0ZS1zdHJpY3QtYmFz
ZWQtb24tdG9wLWZyYW1lLXVuaXF1ZS1yZWRpcmVjdHMtdG8tZGF0YWJhc2UuaHRtbCBbIFBhc3Mg
XQogCiBodHRwL3Rlc3RzL3N0b3JhZ2VBY2Nlc3MvZGVueS1zdG9yYWdlLWFjY2Vzcy11bmRlci1v
cGVuZXIuaHRtbCBbIFBhc3MgXQogaHR0cC90ZXN0cy9zdG9yYWdlQWNjZXNzL2Rlbnktc3RvcmFn
ZS1hY2Nlc3MtdW5kZXItb3BlbmVyLWlmLWF1dG8tZGlzbWlzcy5odG1sIFsgUGFzcyBdCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtd2syL1Rlc3RFeHBlY3RhdGlvbnMgYi9M
YXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtd2syL1Rlc3RFeHBlY3RhdGlvbnMKaW5kZXggMTQyYjQx
ZDhiZjk2M2NmYjk0N2RjMTg4OTA0OWY2NTI4MzZlMTQ4NS4uZDk2MTJlYzk0ZmFkNWZjMzk0Yzhj
MmRmNzVjZTI1Y2RhNTQ0ZmIwYiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFj
LXdrMi9UZXN0RXhwZWN0YXRpb25zCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy13azIv
VGVzdEV4cGVjdGF0aW9ucwpAQCAtNjQ5LDcgKzY0OSw2IEBAIGh0dHAvdGVzdHMvc3RvcmFnZUFj
Y2Vzcy9oYXMtc3RvcmFnZS1hY2Nlc3MtdHJ1ZS1pZi10aGlyZC1wYXJ0eS1oYXMtY29va2llcy1l
cGhlCiAKICMgQXMgb2YgaHR0cHM6Ly90cmFjLndlYmtpdC5vcmcvY2hhbmdlc2V0LzIyNzc2MiB0
aGUgdGltZXN0YW1wUmVzb2x1dGlvbiBpcyBqdXN0IDUgc2Vjb25kcyB3aGljaCBtYWtlcyB0aGlz
IHRlc3QgZmxha3kKIGh0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy91c2VyLWludGVy
YWN0aW9uLW9ubHktcmVwb3J0ZWQtb25jZS13aXRoaW4tc2hvcnQtcGVyaW9kLW9mLXRpbWUuaHRt
bCBbIFNraXAgXQotaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3VzZXItaW50ZXJh
Y3Rpb24tb25seS1yZXBvcnRlZC1vbmNlLXdpdGhpbi1zaG9ydC1wZXJpb2Qtb2YtdGltZS1kYXRh
YmFzZS5odG1sIFsgU2tpcCBdCiAKIHdlYmtpdC5vcmcvYi8xNzM4NjEgWyBSZWxlYXNlIF0gaHR0
cC90ZXN0cy93ZWJydGMvZmlsdGVyaW5nLWljZS1jYW5kaWRhdGUtc2FtZS1vcmlnaW4tZnJhbWUu
aHRtbCBbIFBhc3MgVGltZW91dCBdCiB3ZWJraXQub3JnL2IvMTczODYxIFsgUmVsZWFzZSBdIGh0
dHAvdGVzdHMvd2VicnRjL2ZpbHRlcmluZy1pY2UtY2FuZGlkYXRlLWNyb3NzLW9yaWdpbi1mcmFt
ZS5odG1sIFsgUGFzcyBUaW1lb3V0IF0KQEAgLTcxMCw3ICs3MDksNiBAQCBodHRwL3Rlc3RzL3Jl
c291cmNlTG9hZFN0YXRpc3RpY3MvY2FwLWNhY2hlLW1heC1hZ2UtZm9yLXByZXZhbGVudC1yZXNv
dXJjZS5odG1sCiAjIFRoZSBTYW1lU2l0ZSBjb29raWUgQVBJIGlzIG9ubHkgYXZhaWxhYmxlIGlu
IG1hY09TIENhdGFsaW5hIGFuZCBhYm92ZS4KIFsgQ2F0YWxpbmErIF0gaHR0cC90ZXN0cy9yZXNv
dXJjZUxvYWRTdGF0aXN0aWNzL3NldC1hbGwtY29va2llcy10by1zYW1lLXNpdGUtc3RyaWN0Lmh0
bWwgWyBQYXNzIF0KIFsgQ2F0YWxpbmErIF0gaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0
aWNzL2VuZm9yY2Utc2FtZXNpdGUtc3RyaWN0LWJhc2VkLW9uLXRvcC1mcmFtZS11bmlxdWUtcmVk
aXJlY3RzLXRvLmh0bWwgWyBQYXNzIF0KLVsgQ2F0YWxpbmErIF0gaHR0cC90ZXN0cy9yZXNvdXJj
ZUxvYWRTdGF0aXN0aWNzL2VuZm9yY2Utc2FtZXNpdGUtc3RyaWN0LWJhc2VkLW9uLXRvcC1mcmFt
ZS11bmlxdWUtcmVkaXJlY3RzLXRvLWRhdGFiYXNlLmh0bWwgWyBQYXNzIF0KIAogIyBUaGUgQ05B
TUUgYW5kIGNvb2tpZSB0cmFuc2Zvcm0gU1BJcyBhcmUgb25seSBhdmFpbGFibGUgaW4gbWFjT1Mg
QmlnIFN1ciBhbmQgYWJvdmUuCiBbIEJpZ1N1cisgXSBodHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0
YXRpc3RpY3MvY25hbWUtY2xvYWtpbmctdG9wLWNuYW1lLXN1Yi0xcC1jbmFtZS5odG1sIFsgUGFz
cyBdCkBAIC0xMDYxLDggKzEwNTksNiBAQCB3ZWJraXQub3JnL2IvMjEzMjkyIFsgQ2F0YWxpbmEg
UmVsZWFzZSBdIGh0dHAvdGVzdHMvSW5kZXhlZERCL3N0b3JhZ2UtbGltaXQtMS5odAogCiB3ZWJr
aXQub3JnL2IvMjEzNDYxIGZhc3QvbWVkaWFzdHJlYW0vbWVkaWFzdHJlYW10cmFjay12aWRlby1m
cmFtZVJhdGUtY2xvbmUtaW5jcmVhc2luZy5odG1sIFsgUGFzcyBGYWlsdXJlIF0KIAotd2Via2l0
Lm9yZy9iLzIxMzU1MyBodHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvZ3JhbmRmYXRo
ZXJpbmctZGF0YWJhc2UuaHRtbCBbIFBhc3MgVGltZW91dCBdCi0KIHdlYmtpdC5vcmcvYi8yMTM2
MjEgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93ZWJydGMvUlRDUnRwUmVjZWl2ZXIt
Z2V0Q29udHJpYnV0aW5nU291cmNlcy5odHRwcy5odG1sIFsgUGFzcyBGYWlsdXJlIF0KIAogd2Vi
a2l0Lm9yZy9iLzIxMzY1MiB3ZWJydGMvdmlkZW8tYXV0b3BsYXkxLmh0bWwgWyBQYXNzIEZhaWx1
cmUgXQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2syL1Rlc3RFeHBlY3RhdGlv
bnMgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93azIvVGVzdEV4cGVjdGF0aW9ucwppbmRleCAxYjg0
OTQzNTlkNjUyMjIzZGVhOTg4YjZiNGE5NmRiNTViNTA4NjY0Li5mNGVlMmZkOTE3YWE4MjNlNzVk
ZjFjYjA4ZGJjNWFhOGRjYmRiNmRlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93
azIvVGVzdEV4cGVjdGF0aW9ucworKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93azIvVGVzdEV4
cGVjdGF0aW9ucwpAQCAtNzM0LDcgKzczNCw2IEBAIGh0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3Rh
dGlzdGljcy9leGVtcHREb21haW5zLyBbIFNraXAgXQogIyBUaGUgU2FtZVNpdGUgY29va2llIEFQ
SSBpcyBvbmx5IGF2YWlsYWJsZSBpbiBtYWNPUyBDYXRhbGluYSBhbmQgYWJvdmUuCiBodHRwL3Rl
c3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3Mvc2V0LWFsbC1jb29raWVzLXRvLXNhbWUtc2l0ZS1z
dHJpY3QuaHRtbCBbIFNraXAgXQogaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2Vu
Zm9yY2Utc2FtZXNpdGUtc3RyaWN0LWJhc2VkLW9uLXRvcC1mcmFtZS11bmlxdWUtcmVkaXJlY3Rz
LXRvLmh0bWwgWyBTa2lwIF0KLWh0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9lbmZv
cmNlLXNhbWVzaXRlLXN0cmljdC1iYXNlZC1vbi10b3AtZnJhbWUtdW5pcXVlLXJlZGlyZWN0cy10
by1kYXRhYmFzZS5odG1sIFsgU2tpcCBdCiAKICMgVGhlIENOQU1FIGFuZCBjb29raWUgdHJhbnNm
b3JtIFNQSXMgYXJlIG9ubHkgYXZhaWxhYmxlIGluIG1hY09TIEJpZyBTdXIgKyBpT1MgMTQgYW5k
IGFib3ZlLgogaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NuYW1lLWNsb2FraW5n
LXRvcC1jbmFtZS1zdWItMXAtY25hbWUuaHRtbCBbIFNraXAgXQpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvcGxhdGZvcm0vd3BlL1Rlc3RFeHBlY3RhdGlvbnMgYi9MYXlvdXRUZXN0cy9wbGF0Zm9y
bS93cGUvVGVzdEV4cGVjdGF0aW9ucwppbmRleCBkMzliOGQ2ZDE5OTYwM2E5ODllNmM3MTYwOWIz
ZWE4ZmM4ODFiZDdkLi4yOGQxOTMxM2FiZmM0M2M2YWM4MWRmY2U1ZGFjNjExMTg2YmQxYjQzIDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93cGUvVGVzdEV4cGVjdGF0aW9ucworKysg
Yi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93cGUvVGVzdEV4cGVjdGF0aW9ucwpAQCAtNjQyLDcgKzY0
Miw2IEBAIG1lZGlhL21lZGlhLXVzYWdlLXN0YXRlLmh0bWwgWyBTa2lwIF0KIG1lZGlhL21lZGlh
LXVzYWdlLXN0YXRlLXByaXZhdGUtYnJvd3NpbmcuaHRtbCBbIFNraXAgXQogbWVkaWEvbm93LXBs
YXlpbmctc3RhdHVzLXdpdGhvdXQtbWVkaWEuaHRtbCBbIFNraXAgXQogCi13ZWJraXQub3JnL2Iv
MjEwNDg3IGh0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9zd2l0Y2gtc2Vzc2lvbi1v
bi1uYXZpZ2F0aW9uLXRvLXByZXZhbGVudC13aXRoLWludGVyYWN0aW9uLWRhdGFiYXNlLnBocCBb
IEZhaWx1cmUgXQogd2Via2l0Lm9yZy9iLzIxMDQ4NyBodHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0
YXRpc3RpY3Mvc3dpdGNoLXNlc3Npb24tb24tbmF2aWdhdGlvbi10by1wcmV2YWxlbnQtd2l0aC1p
bnRlcmFjdGlvbi5waHAgWyBGYWlsdXJlIF0KIAogIyBGYWlsaW5nIGluIHRlc3QgYm90cy4gU3Rh
cnRlZCBmYWlsaW5nIHNpbmNlIHIyNjA2MTUuCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>409922</attachid>
            <date>2020-09-28 14:16:17 -0700</date>
            <delta_ts>2020-09-28 14:24:49 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-217063-20200928141615.patch</filename>
            <type>text/plain</type>
            <size>818607</size>
            <attacher name="Alex Christensen">achristensen</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY3NzA5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNGFmYzA5ZDZkNzBkNzM3
NjlmNGYyMzg4YTk3MGE1YjcyMTJkNGIzNS4uMTQ3MTc1OWI5OTkwNGU0MGYzNmU5YzgyMDEyOWQy
OTc1YmM2YWJjNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE4IEBACisyMDIwLTA5LTI4ICBBbGV4
IENocmlzdGVuc2VuICA8YWNocmlzdGVuc2VuQHdlYmtpdC5vcmc+CisKKyAgICAgICAgUmVtb3Zl
IHBsaXN0LWJhc2VkIFJlc291cmNlTG9hZFN0YXRpc3RpY3Mgc3RvcmFnZSwgd2hpY2ggaGFzIGJl
ZW4gcmVwbGFjZWQgYnkgZGF0YWJhc2UtYmFzZWQgc3RvcmFnZQorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjE3MDYzCisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgUmVzb3VyY2VMb2FkU3RhdGlzdGljcyB3YXMg
aW5pdGlhbGx5IGltcGxlbWVudGVkIHVzaW5nIHBsaXN0cyB0byBzdG9yZSB0aGUgcGVyc2lzdGVu
dCBkYXRhIG9uIGRpc2suCisgICAgICAgIFRoaXMgY2F1c2VkIHNvbWUgcGVyZm9ybWFuY2UgaXNz
dWVzLCBzbyBhIHNxbGl0ZSBkYXRhYmFzZSBiYWNrZW5kIHdhcyBpbXBsZW1lbnRlZCBhbmQgdHJh
bnNpdGlvbmVkIHRvLgorICAgICAgICBOb3cgdGhhdCB0aGUgdHJhbnNpdGlvbiBpcyBjb21wbGV0
ZSwgbGV0J3MgcmVtb3ZlIHRoZSBvbGQgcGxpc3QgYmFja2VuZC4KKworICAgICAgICAqIHBhZ2Uv
UnVudGltZUVuYWJsZWRGZWF0dXJlcy5oOgorICAgICAgICAoV2ViQ29yZTo6UnVudGltZUVuYWJs
ZWRGZWF0dXJlczo6c2V0SXNJVFBEYXRhYmFzZUVuYWJsZWQpOiBEZWxldGVkLgorICAgICAgICAo
V2ViQ29yZTo6UnVudGltZUVuYWJsZWRGZWF0dXJlczo6aXNJVFBEYXRhYmFzZUVuYWJsZWQgY29u
c3QpOiBEZWxldGVkLgorCiAyMDIwLTA5LTI4ICBEZXZpbiBSb3Vzc28gIDxkcm91c3NvQGFwcGxl
LmNvbT4KIAogICAgICAgICBbaU9TXSB1bmFibGUgdG8gYWlycGxheSBkaXJlY3RseSBsb2FkZWQg
ZnVsbHNjcmVlbiB2aWRlbwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cgYi9T
b3VyY2UvV2ViS2l0L0NoYW5nZUxvZwppbmRleCAzYzg1MjJjMWMyNzVmNmIzZGIwZWRlOTg2ZDJh
OGQ3OWY3MmEzMGQ2Li40M2ZmYWEzMzg3N2EzNWFmNzBmZWQ2NmFiNDc5NDQzY2I3YWY2YjE2IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZwpAQCAtMSwzICsxLDczIEBACisyMDIwLTA5LTI4ICBBbGV4IENocmlzdGVuc2VuICA8
YWNocmlzdGVuc2VuQHdlYmtpdC5vcmc+CisKKyAgICAgICAgUmVtb3ZlIHBsaXN0LWJhc2VkIFJl
c291cmNlTG9hZFN0YXRpc3RpY3Mgc3RvcmFnZSwgd2hpY2ggaGFzIGJlZW4gcmVwbGFjZWQgYnkg
ZGF0YWJhc2UtYmFzZWQgc3RvcmFnZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MjE3MDYzCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9DbGFzc2lmaWVyL1Jlc291cmNlTG9hZFN0
YXRpc3RpY3NEYXRhYmFzZVN0b3JlLmg6CisgICAgICAgICogTmV0d29ya1Byb2Nlc3MvQ2xhc3Np
Zmllci9SZXNvdXJjZUxvYWRTdGF0aXN0aWNzTWVtb3J5U3RvcmUuY3BwOgorICAgICAgICAoV2Vi
S2l0OjpSZXNvdXJjZUxvYWRTdGF0aXN0aWNzTWVtb3J5U3RvcmU6OnNldFBlcnNpc3RlbnRTdG9y
YWdlKTogRGVsZXRlZC4KKyAgICAgICAgKFdlYktpdDo6UmVzb3VyY2VMb2FkU3RhdGlzdGljc01l
bW9yeVN0b3JlOjpzeW5jU3RvcmFnZUlmTmVlZGVkKTogRGVsZXRlZC4KKyAgICAgICAgKFdlYktp
dDo6UmVzb3VyY2VMb2FkU3RhdGlzdGljc01lbW9yeVN0b3JlOjpzeW5jU3RvcmFnZUltbWVkaWF0
ZWx5KTogRGVsZXRlZC4KKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9DbGFzc2lmaWVyL1Jlc291
cmNlTG9hZFN0YXRpc3RpY3NNZW1vcnlTdG9yZS5oOgorICAgICAgICAqIE5ldHdvcmtQcm9jZXNz
L0NsYXNzaWZpZXIvUmVzb3VyY2VMb2FkU3RhdGlzdGljc1BlcnNpc3RlbnRTdG9yYWdlLmNwcDog
UmVtb3ZlZC4KKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9DbGFzc2lmaWVyL1Jlc291cmNlTG9h
ZFN0YXRpc3RpY3NQZXJzaXN0ZW50U3RvcmFnZS5oOiBSZW1vdmVkLgorICAgICAgICAqIE5ldHdv
cmtQcm9jZXNzL0NsYXNzaWZpZXIvUmVzb3VyY2VMb2FkU3RhdGlzdGljc1N0b3JlLmNwcDoKKyAg
ICAgICAgKFdlYktpdDo6UmVzb3VyY2VMb2FkU3RhdGlzdGljc1N0b3JlOjpwcm9jZXNzU3RhdGlz
dGljc0FuZERhdGFSZWNvcmRzKToKKyAgICAgICAgKFdlYktpdDo6UmVzb3VyY2VMb2FkU3RhdGlz
dGljc1N0b3JlOjpncmFuZGZhdGhlckV4aXN0aW5nV2Vic2l0ZURhdGEpOgorICAgICAgICAqIE5l
dHdvcmtQcm9jZXNzL0NsYXNzaWZpZXIvUmVzb3VyY2VMb2FkU3RhdGlzdGljc1N0b3JlLmg6Cisg
ICAgICAgICogTmV0d29ya1Byb2Nlc3MvQ2xhc3NpZmllci9XZWJSZXNvdXJjZUxvYWRTdGF0aXN0
aWNzU3RvcmUuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJSZXNvdXJjZUxvYWRTdGF0aXN0aWNz
U3RvcmU6OldlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NTdG9yZSk6CisgICAgICAgIChXZWJLaXQ6
OldlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NTdG9yZTo6fldlYlJlc291cmNlTG9hZFN0YXRpc3Rp
Y3NTdG9yZSk6CisgICAgICAgIChXZWJLaXQ6OldlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NTdG9y
ZTo6ZGlkRGVzdHJveU5ldHdvcmtTZXNzaW9uKToKKyAgICAgICAgKFdlYktpdDo6V2ViUmVzb3Vy
Y2VMb2FkU3RhdGlzdGljc1N0b3JlOjpwb3B1bGF0ZU1lbW9yeVN0b3JlRnJvbURpc2spOgorICAg
ICAgICAoV2ViS2l0OjpXZWJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzU3RvcmU6OnNjaGVkdWxlQ2xl
YXJJbk1lbW9yeUFuZFBlcnNpc3RlbnQpOgorICAgICAgICAoV2ViS2l0OjpXZWJSZXNvdXJjZUxv
YWRTdGF0aXN0aWNzU3RvcmU6OmZsdXNoQW5kRGVzdHJveVBlcnNpc3RlbnRTdG9yZSk6IERlbGV0
ZWQuCisgICAgICAgICogTmV0d29ya1Byb2Nlc3MvQ2xhc3NpZmllci9XZWJSZXNvdXJjZUxvYWRT
dGF0aXN0aWNzU3RvcmUuaDoKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUHJvY2Vz
cy5jcHA6CisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtQcm9jZXNzOjpkaWRDbG9zZSk6CisgICAg
ICAgIChXZWJLaXQ6Ok5ldHdvcmtQcm9jZXNzOjppbml0aWFsaXplTmV0d29ya1Byb2Nlc3MpOgor
ICAgICAgICAoV2ViS2l0OjpOZXR3b3JrUHJvY2Vzczo6c2V0VXNlSVRQRGF0YWJhc2UpOiBEZWxl
dGVkLgorICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzLmg6CisgICAgICAg
IChXZWJLaXQ6Ok5ldHdvcmtQcm9jZXNzOjppc0lUUERhdGFiYXNlRW5hYmxlZCBjb25zdCk6IERl
bGV0ZWQuCisgICAgICAgICogTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Byb2Nlc3MubWVzc2FnZXMu
aW46CisgICAgICAgICogTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Byb2Nlc3NDcmVhdGlvblBhcmFt
ZXRlcnMuY3BwOgorICAgICAgICAoV2ViS2l0OjpOZXR3b3JrUHJvY2Vzc0NyZWF0aW9uUGFyYW1l
dGVyczo6ZW5jb2RlIGNvbnN0KToKKyAgICAgICAgKFdlYktpdDo6TmV0d29ya1Byb2Nlc3NDcmVh
dGlvblBhcmFtZXRlcnM6OmRlY29kZSk6CisgICAgICAgICogTmV0d29ya1Byb2Nlc3MvTmV0d29y
a1Byb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMuaDoKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9O
ZXR3b3JrU2Vzc2lvbi5jcHA6CisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtTZXNzaW9uOjpkZXN0
cm95UmVzb3VyY2VMb2FkU3RhdGlzdGljcyk6CisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtTZXNz
aW9uOjpmbHVzaEFuZERlc3Ryb3lQZXJzaXN0ZW50U3RvcmUpOiBEZWxldGVkLgorICAgICAgICAq
IE5ldHdvcmtQcm9jZXNzL05ldHdvcmtTZXNzaW9uLmg6CisgICAgICAgICogU2hhcmVkL1dlYlBy
ZWZlcmVuY2VzSW50ZXJuYWwueWFtbDoKKyAgICAgICAgKiBTb3VyY2VzLnR4dDoKKyAgICAgICAg
KiBTb3VyY2VzQ29jb2EudHh0OgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQy9XS1ByZWZlcmVu
Y2VzLmNwcDoKKyAgICAgICAgKFdLUHJlZmVyZW5jZXNTZXRJc0lUUERhdGFiYXNlRW5hYmxlZCk6
IERlbGV0ZWQuCisgICAgICAgIChXS1ByZWZlcmVuY2VzR2V0SXNJVFBEYXRhYmFzZUVuYWJsZWQp
OiBEZWxldGVkLgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQy9XS1ByZWZlcmVuY2VzUmVmLmg6
CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9DL1dLV2Vic2l0ZURhdGFTdG9yZVJlZi5jcHA6Cisg
ICAgICAgIChXS1dlYnNpdGVEYXRhU3RvcmVTdGF0aXN0aWNzUmVzZXRUb0NvbnNpc3RlbnRTdGF0
ZSk6CisgICAgICAgIChXS1dlYnNpdGVEYXRhU3RvcmVTZXRVc2VJVFBEYXRhYmFzZSk6IERlbGV0
ZWQuCisgICAgICAgICogVUlQcm9jZXNzL0FQSS9DL1dLV2Vic2l0ZURhdGFTdG9yZVJlZi5oOgor
ICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQ29jb2EvV0tQcmVmZXJlbmNlcy5tbToKKyAgICAgICAg
KC1bV0tQcmVmZXJlbmNlcyBfaXNJVFBEYXRhYmFzZUVuYWJsZWRdKTogRGVsZXRlZC4KKyAgICAg
ICAgKiBVSVByb2Nlc3MvQVBJL0NvY29hL1dLUHJlZmVyZW5jZXNQcml2YXRlLmg6CisgICAgICAg
ICogVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYnNpdGVEYXRhU3RvcmUubW06CisgICAgICAgICgt
W1dLV2Vic2l0ZURhdGFTdG9yZSBfc2V0VXNlSVRQRGF0YWJhc2U6Y29tcGxldGlvbkhhbmRsZXI6
XSk6IERlbGV0ZWQuCisgICAgICAgICogVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYnNpdGVEYXRh
U3RvcmVQcml2YXRlLmg6CisgICAgICAgICogVUlQcm9jZXNzL0NvY29hL1dlYlByb2Nlc3NQb29s
Q29jb2EubW06CisgICAgICAgIChXZWJLaXQ6OldlYlByb2Nlc3NQb29sOjpwbGF0Zm9ybUluaXRp
YWxpemVOZXR3b3JrUHJvY2Vzcyk6CisgICAgICAgICogVUlQcm9jZXNzL05ldHdvcmsvTmV0d29y
a1Byb2Nlc3NQcm94eS5jcHA6CisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtQcm9jZXNzUHJveHk6
OnNldFVzZUlUUERhdGFiYXNlKTogRGVsZXRlZC4KKyAgICAgICAgKiBVSVByb2Nlc3MvTmV0d29y
ay9OZXR3b3JrUHJvY2Vzc1Byb3h5Lmg6CisgICAgICAgICogVUlQcm9jZXNzL1dlYnNpdGVEYXRh
L1dlYnNpdGVEYXRhU3RvcmUuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJzaXRlRGF0YVN0b3Jl
OjpzZXRVc2VJVFBEYXRhYmFzZSk6IERlbGV0ZWQuCisgICAgICAgICogVUlQcm9jZXNzL1dlYnNp
dGVEYXRhL1dlYnNpdGVEYXRhU3RvcmUuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvaW9zL1Jlc291
cmNlTG9hZFN0YXRpc3RpY3NQZXJzaXN0ZW50U3RvcmFnZUlPUy5tbTogUmVtb3ZlZC4KKyAgICAg
ICAgKiBXZWJLaXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKwogMjAyMC0wOS0yOCAgRGV2
aW4gUm91c3NvICA8ZHJvdXNzb0BhcHBsZS5jb20+CiAKICAgICAgICAgW2lPU10gdW5hYmxlIHRv
IGFpcnBsYXkgZGlyZWN0bHkgbG9hZGVkIGZ1bGxzY3JlZW4gdmlkZW8KZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXRMZWdhY3kvbWFjL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFj
L0NoYW5nZUxvZwppbmRleCA2YjNiMTdlODM5YTVhYzg0YjcxYzc1YzQ5ZWMxMjZlOGYzODQwNTc5
Li41YzVkMThkODcyMjdiODQ4MTNjMjQ5MTM2NmVhZDdjMmM3OTRhNWNmIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0TGVnYWN5L21hYy9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdExlZ2Fj
eS9tYWMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTIgQEAKKzIwMjAtMDktMjggIEFsZXggQ2hyaXN0
ZW5zZW4gIDxhY2hyaXN0ZW5zZW5Ad2Via2l0Lm9yZz4KKworICAgICAgICBSZW1vdmUgcGxpc3Qt
YmFzZWQgUmVzb3VyY2VMb2FkU3RhdGlzdGljcyBzdG9yYWdlLCB3aGljaCBoYXMgYmVlbiByZXBs
YWNlZCBieSBkYXRhYmFzZS1iYXNlZCBzdG9yYWdlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTcwNjMKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICAqIFdlYlZpZXcvV2ViUHJlZmVyZW5jZXNJbnRlcm5hbC55
YW1sOgorCiAyMDIwLTA5LTI4ICBEZXZpbiBSb3Vzc28gIDxkcm91c3NvQGFwcGxlLmNvbT4KIAog
ICAgICAgICBbaU9TXSB1bmFibGUgdG8gYWlycGxheSBkaXJlY3RseSBsb2FkZWQgZnVsbHNjcmVl
biB2aWRlbwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9SdW50aW1lRW5hYmxlZEZl
YXR1cmVzLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1J1bnRpbWVFbmFibGVkRmVhdHVyZXMuaApp
bmRleCBmMzZhZTdkNGRjYWVjZWY0MDBmMTJhOTUxNGFlY2FiOGIwN2FiZjc2Li4wOTI1N2M1N2I0
MGNmNjk3NmVmMjU1M2FlNGFmMzg4NzM2ZGViOGZiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL1J1bnRpbWVFbmFibGVkRmVhdHVyZXMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdl
L1J1bnRpbWVFbmFibGVkRmVhdHVyZXMuaApAQCAtOTksOSArOTksNiBAQCBwdWJsaWM6CiAgICAg
dm9pZCBzZXRJdHBEZWJ1Z01vZGVFbmFibGVkKGJvb2wgaXNFbmFibGVkKSB7IG1faXRwRGVidWdN
b2RlID0gaXNFbmFibGVkOyB9CiAgICAgYm9vbCBpdHBEZWJ1Z01vZGVFbmFibGVkKCkgY29uc3Qg
eyByZXR1cm4gbV9pdHBEZWJ1Z01vZGU7IH0KIAotICAgIHZvaWQgc2V0SXNJVFBEYXRhYmFzZUVu
YWJsZWQoYm9vbCBpc0VuYWJsZWQpIHsgbV9pc0lUUERhdGFiYXNlRW5hYmxlZCA9IGlzRW5hYmxl
ZDsgfQotICAgIGJvb2wgaXNJVFBEYXRhYmFzZUVuYWJsZWQoKSBjb25zdCB7IHJldHVybiBtX2lz
SVRQRGF0YWJhc2VFbmFibGVkOyB9Ci0KICAgICB2b2lkIHNldFJlc3RyaWN0ZWRIVFRQUmVzcG9u
c2VBY2Nlc3MoYm9vbCBpc0VuYWJsZWQpIHsgbV9pc1Jlc3RyaWN0ZWRIVFRQUmVzcG9uc2VBY2Nl
c3MgPSBpc0VuYWJsZWQ7IH0KICAgICBib29sIHJlc3RyaWN0ZWRIVFRQUmVzcG9uc2VBY2Nlc3Mo
KSBjb25zdCB7IHJldHVybiBtX2lzUmVzdHJpY3RlZEhUVFBSZXNwb25zZUFjY2VzczsgfQogCkBA
IC0zNzcsOCArMzc0LDYgQEAgcHJpdmF0ZToKICAgICBPcHRpb25hbDxib29sPiBtX3RvdWNoRXZl
bnRzRW5hYmxlZDsKICNlbmRpZgogCi0gICAgYm9vbCBtX2lzSVRQRGF0YWJhc2VFbmFibGVkIHsg
dHJ1ZSB9OwotCiAjaWYgSEFWRShOU1VSTFNFU1NJT05fV0VCU09DS0VUKQogICAgIGJvb2wgbV9p
c05TVVJMU2Vzc2lvbldlYlNvY2tldEVuYWJsZWQgeyBmYWxzZSB9OwogI2VuZGlmCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL0NsYXNzaWZpZXIvUmVzb3VyY2VMb2Fk
U3RhdGlzdGljc0RhdGFiYXNlU3RvcmUuaCBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3Mv
Q2xhc3NpZmllci9SZXNvdXJjZUxvYWRTdGF0aXN0aWNzRGF0YWJhc2VTdG9yZS5oCmluZGV4IDcy
ODU2N2Y3MDdhOTg3YzY1ODYzZjczNzUyZTFiMjlkMDMyMTIzZjcuLmEyYzVhNTI1YmQ3NDczZTBj
NGM4NGY2N2E0NWJmNjEwYjMxYTYyNjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvTmV0d29y
a1Byb2Nlc3MvQ2xhc3NpZmllci9SZXNvdXJjZUxvYWRTdGF0aXN0aWNzRGF0YWJhc2VTdG9yZS5o
CisrKyBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvQ2xhc3NpZmllci9SZXNvdXJjZUxv
YWRTdGF0aXN0aWNzRGF0YWJhc2VTdG9yZS5oCkBAIC05Myw4ICs5Myw2IEBAIHB1YmxpYzoKICAg
ICB2b2lkIHVwZGF0ZUNvb2tpZUJsb2NraW5nKENvbXBsZXRpb25IYW5kbGVyPHZvaWQoKT4mJikg
b3ZlcnJpZGU7CiAKICAgICB2b2lkIGNsYXNzaWZ5UHJldmFsZW50UmVzb3VyY2VzKCkgb3ZlcnJp
ZGU7Ci0gICAgdm9pZCBzeW5jU3RvcmFnZUlmTmVlZGVkKCkgb3ZlcnJpZGUgeyB9OwotICAgIHZv
aWQgc3luY1N0b3JhZ2VJbW1lZGlhdGVseSgpIG92ZXJyaWRlIHsgfTsKICAgICB2b2lkIHJ1bklu
Y3JlbWVudGFsVmFjdXVtQ29tbWFuZCgpOwogCiAgICAgdm9pZCByZXF1ZXN0U3RvcmFnZUFjY2Vz
c1VuZGVyT3BlbmVyKERvbWFpbkluTmVlZE9mU3RvcmFnZUFjY2VzcyYmLCBXZWJDb3JlOjpQYWdl
SWRlbnRpZmllciBvcGVuZXJJRCwgT3BlbmVyRG9tYWluJiYpIG92ZXJyaWRlOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9DbGFzc2lmaWVyL1Jlc291cmNlTG9hZFN0
YXRpc3RpY3NNZW1vcnlTdG9yZS5jcHAgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL0Ns
YXNzaWZpZXIvUmVzb3VyY2VMb2FkU3RhdGlzdGljc01lbW9yeVN0b3JlLmNwcAppbmRleCA5NDJm
ZWQ2MzI0NmIwZDFmMGRkYzljYzg0YzQzMTI5N2Y3ZGM5MGEzLi41MzlmNTMxZWEwNzhmYmJkYzEw
OGUyZTVlOTdlMWNjNmQ1M2QxYjFmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQ
cm9jZXNzL0NsYXNzaWZpZXIvUmVzb3VyY2VMb2FkU3RhdGlzdGljc01lbW9yeVN0b3JlLmNwcAor
KysgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL0NsYXNzaWZpZXIvUmVzb3VyY2VMb2Fk
U3RhdGlzdGljc01lbW9yeVN0b3JlLmNwcApAQCAtMzIsNyArMzIsNiBAQAogI2luY2x1ZGUgIk5l
dHdvcmtTZXNzaW9uLmgiCiAjaW5jbHVkZSAiUGx1Z2luUHJvY2Vzc01hbmFnZXIuaCIKICNpbmNs
dWRlICJQbHVnaW5Qcm9jZXNzUHJveHkuaCIKLSNpbmNsdWRlICJSZXNvdXJjZUxvYWRTdGF0aXN0
aWNzUGVyc2lzdGVudFN0b3JhZ2UuaCIKICNpbmNsdWRlICJTdG9yYWdlQWNjZXNzU3RhdHVzLmgi
CiAjaW5jbHVkZSAiV2ViUHJvY2Vzc1Byb3h5LmgiCiAjaW5jbHVkZSAiV2ViUmVzb3VyY2VMb2Fk
U3RhdGlzdGljc1RlbGVtZXRyeS5oIgpAQCAtOTEsMTMgKzkwLDYgQEAgYm9vbCBSZXNvdXJjZUxv
YWRTdGF0aXN0aWNzTWVtb3J5U3RvcmU6OmlzRW1wdHkoKSBjb25zdAogICAgIHJldHVybiBtX3Jl
c291cmNlU3RhdGlzdGljc01hcC5pc0VtcHR5KCk7CiB9CiAKLXZvaWQgUmVzb3VyY2VMb2FkU3Rh
dGlzdGljc01lbW9yeVN0b3JlOjpzZXRQZXJzaXN0ZW50U3RvcmFnZShSZXNvdXJjZUxvYWRTdGF0
aXN0aWNzUGVyc2lzdGVudFN0b3JhZ2UmIHBlcnNpc3RlbnRTdG9yYWdlKQotewotICAgIEFTU0VS
VCghUnVuTG9vcDo6aXNNYWluKCkpOwotCi0gICAgbV9wZXJzaXN0ZW50U3RvcmFnZSA9IG1ha2VX
ZWFrUHRyKHBlcnNpc3RlbnRTdG9yYWdlKTsKLX0KLQogdm9pZCBSZXNvdXJjZUxvYWRTdGF0aXN0
aWNzTWVtb3J5U3RvcmU6OmNhbGN1bGF0ZUFuZFN1Ym1pdFRlbGVtZXRyeShOb3RpZnlQYWdlc0Zv
clRlc3Rpbmcgc2hvdWxkTm90aWZ5UGFnZXNGb3JUZXN0aW5nKSBjb25zdAogewogICAgIEFTU0VS
VCghUnVuTG9vcDo6aXNNYWluKCkpOwpAQCAtMjM5LDIyICsyMzEsNiBAQCB2b2lkIFJlc291cmNl
TG9hZFN0YXRpc3RpY3NNZW1vcnlTdG9yZTo6Y2xhc3NpZnlQcmV2YWxlbnRSZXNvdXJjZXMoKQog
ICAgIH0KIH0KIAotdm9pZCBSZXNvdXJjZUxvYWRTdGF0aXN0aWNzTWVtb3J5U3RvcmU6OnN5bmNT
dG9yYWdlSWZOZWVkZWQoKQotewotICAgIEFTU0VSVCghUnVuTG9vcDo6aXNNYWluKCkpOwotCi0g
ICAgaWYgKG1fcGVyc2lzdGVudFN0b3JhZ2UpCi0gICAgICAgIG1fcGVyc2lzdGVudFN0b3JhZ2Ut
PnNjaGVkdWxlT3JXcml0ZU1lbW9yeVN0b3JlKFJlc291cmNlTG9hZFN0YXRpc3RpY3NQZXJzaXN0
ZW50U3RvcmFnZTo6Rm9yY2VJbW1lZGlhdGVXcml0ZTo6Tm8pOwotfQotCi12b2lkIFJlc291cmNl
TG9hZFN0YXRpc3RpY3NNZW1vcnlTdG9yZTo6c3luY1N0b3JhZ2VJbW1lZGlhdGVseSgpCi17Ci0g
ICAgQVNTRVJUKCFSdW5Mb29wOjppc01haW4oKSk7Ci0KLSAgICBpZiAobV9wZXJzaXN0ZW50U3Rv
cmFnZSkKLSAgICAgICAgbV9wZXJzaXN0ZW50U3RvcmFnZS0+c2NoZWR1bGVPcldyaXRlTWVtb3J5
U3RvcmUoUmVzb3VyY2VMb2FkU3RhdGlzdGljc1BlcnNpc3RlbnRTdG9yYWdlOjpGb3JjZUltbWVk
aWF0ZVdyaXRlOjpZZXMpOwotfQotCiBib29sIFJlc291cmNlTG9hZFN0YXRpc3RpY3NNZW1vcnlT
dG9yZTo6YXJlQWxsVGhpcmRQYXJ0eUNvb2tpZXNCbG9ja2VkVW5kZXIoY29uc3QgVG9wRnJhbWVE
b21haW4mIHRvcEZyYW1lRG9tYWluKQogewogICAgIGlmICh0aGlyZFBhcnR5Q29va2llQmxvY2tp
bmdNb2RlKCkgPT0gVGhpcmRQYXJ0eUNvb2tpZUJsb2NraW5nTW9kZTo6QWxsKQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9DbGFzc2lmaWVyL1Jlc291cmNlTG9hZFN0
YXRpc3RpY3NNZW1vcnlTdG9yZS5oIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9DbGFz
c2lmaWVyL1Jlc291cmNlTG9hZFN0YXRpc3RpY3NNZW1vcnlTdG9yZS5oCmluZGV4IDA5YzllYmU4
YTdmYzA1ZDAwMTA0OTRiMjQ1MWQzM2I2ZTZmNzg5YTEuLjA4ZDVmZDFjYzIyZmNlZDljMDVjZWE2
N2FhNjk1YTZkNmVlYTUxOGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nl
c3MvQ2xhc3NpZmllci9SZXNvdXJjZUxvYWRTdGF0aXN0aWNzTWVtb3J5U3RvcmUuaAorKysgYi9T
b3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL0NsYXNzaWZpZXIvUmVzb3VyY2VMb2FkU3RhdGlz
dGljc01lbW9yeVN0b3JlLmgKQEAgLTQ0LDE1ICs0NCwxMSBAQCBzdHJ1Y3QgUmVzb3VyY2VMb2Fk
U3RhdGlzdGljczsKIAogbmFtZXNwYWNlIFdlYktpdCB7CiAKLWNsYXNzIFJlc291cmNlTG9hZFN0
YXRpc3RpY3NQZXJzaXN0ZW50U3RvcmFnZTsKLQogLy8gVGhpcyBpcyBhbHdheXMgY29uc3RydWN0
ZWQgLyB1c2VkIC8gZGVzdHJveWVkIG9uIHRoZSBXZWJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzU3Rv
cmUncyBzdGF0aXN0aWNzIHF1ZXVlLgogY2xhc3MgUmVzb3VyY2VMb2FkU3RhdGlzdGljc01lbW9y
eVN0b3JlIGZpbmFsIDogcHVibGljIFJlc291cmNlTG9hZFN0YXRpc3RpY3NTdG9yZSB7CiBwdWJs
aWM6CiAgICAgUmVzb3VyY2VMb2FkU3RhdGlzdGljc01lbW9yeVN0b3JlKFdlYlJlc291cmNlTG9h
ZFN0YXRpc3RpY3NTdG9yZSYsIFdvcmtRdWV1ZSYsIFNob3VsZEluY2x1ZGVMb2NhbGhvc3QpOwog
Ci0gICAgdm9pZCBzZXRQZXJzaXN0ZW50U3RvcmFnZShSZXNvdXJjZUxvYWRTdGF0aXN0aWNzUGVy
c2lzdGVudFN0b3JhZ2UmKTsKLQogICAgIHZvaWQgY2xlYXIoQ29tcGxldGlvbkhhbmRsZXI8dm9p
ZCgpPiYmKSBvdmVycmlkZTsKICAgICBib29sIGlzRW1wdHkoKSBjb25zdCBvdmVycmlkZTsKIApA
QCAtNjgsOCArNjQsNiBAQCBwdWJsaWM6CiAgICAgdm9pZCB1cGRhdGVDb29raWVCbG9ja2luZyhD
b21wbGV0aW9uSGFuZGxlcjx2b2lkKCk+JiYpIG92ZXJyaWRlOwogCiAgICAgdm9pZCBjbGFzc2lm
eVByZXZhbGVudFJlc291cmNlcygpIG92ZXJyaWRlOwotICAgIHZvaWQgc3luY1N0b3JhZ2VJZk5l
ZWRlZCgpIG92ZXJyaWRlOwotICAgIHZvaWQgc3luY1N0b3JhZ2VJbW1lZGlhdGVseSgpIG92ZXJy
aWRlOwogCiAgICAgdm9pZCByZXF1ZXN0U3RvcmFnZUFjY2Vzc1VuZGVyT3BlbmVyKERvbWFpbklu
TmVlZE9mU3RvcmFnZUFjY2VzcyYmLCBXZWJDb3JlOjpQYWdlSWRlbnRpZmllciwgT3BlbmVyRG9t
YWluJiYpIG92ZXJyaWRlOwogCkBAIC0xNDYsNyArMTQwLDYgQEAgcHJpdmF0ZToKICAgICBib29s
IGlzTWVtb3J5U3RvcmUoKSBjb25zdCBmaW5hbCB7IHJldHVybiB0cnVlOyB9CiAgICAgT3B0aW9u
YWw8V2FsbFRpbWU+IG1vc3RSZWNlbnRVc2VySW50ZXJhY3Rpb25UaW1lKGNvbnN0IFJlc291cmNl
TG9hZFN0YXRpc3RpY3MmKTsKIAotICAgIFdlYWtQdHI8UmVzb3VyY2VMb2FkU3RhdGlzdGljc1Bl
cnNpc3RlbnRTdG9yYWdlPiBtX3BlcnNpc3RlbnRTdG9yYWdlOwogICAgIEhhc2hNYXA8UmVnaXN0
cmFibGVEb21haW4sIFJlc291cmNlTG9hZFN0YXRpc3RpY3M+IG1fcmVzb3VyY2VTdGF0aXN0aWNz
TWFwOwogICAgIFZlY3RvcjxPcGVyYXRpbmdEYXRlPiBtX29wZXJhdGluZ0RhdGVzOwogfTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvQ2xhc3NpZmllci9SZXNvdXJj
ZUxvYWRTdGF0aXN0aWNzUGVyc2lzdGVudFN0b3JhZ2UuY3BwIGIvU291cmNlL1dlYktpdC9OZXR3
b3JrUHJvY2Vzcy9DbGFzc2lmaWVyL1Jlc291cmNlTG9hZFN0YXRpc3RpY3NQZXJzaXN0ZW50U3Rv
cmFnZS5jcHAKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDczZGFlNzA2YmU5M2E0YmM5
M2UwYWViNGRmMzlmMzdhZmE1NzNkMGUuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAKLS0tIGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9DbGFzc2lmaWVyL1Jl
c291cmNlTG9hZFN0YXRpc3RpY3NQZXJzaXN0ZW50U3RvcmFnZS5jcHAKKysrIC9kZXYvbnVsbApA
QCAtMSwyNzcgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAxNy0yMDE4IEFwcGxlIElu
Yy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGlu
IHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlv
biwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwot
ICogYXJlIG1ldDoKLSAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJl
dGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAyLiBSZWRpc3RyaWJ1dGlv
bnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotICog
ICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyIGluIHRoZQotICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxz
IHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElT
IFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCi0g
KiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywKLSAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklM
SVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKLSAqIFBVUlBPU0UgQVJFIERJU0NMQUlN
RUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUwotICog
QkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwg
RVhFTVBMQVJZLCBPUgotICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKLSAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VS
VklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUwotICogSU5U
RVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFks
IFdIRVRIRVIgSU4KLSAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNM
VURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCi0gKiBBUklTSU5HIElOIEFOWSBXQVkgT1VU
IE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCi0gKiBUSEUg
UE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCi0gKi8KLQotI2luY2x1ZGUgImNvbmZpZy5oIgot
I2luY2x1ZGUgIlJlc291cmNlTG9hZFN0YXRpc3RpY3NQZXJzaXN0ZW50U3RvcmFnZS5oIgotCi0j
aWYgRU5BQkxFKFJFU09VUkNFX0xPQURfU1RBVElTVElDUykKLQotI2luY2x1ZGUgIkxvZ2dpbmcu
aCIKLSNpbmNsdWRlICJQZXJzaXN0ZW5jeVV0aWxzLmgiCi0jaW5jbHVkZSAiUmVzb3VyY2VMb2Fk
U3RhdGlzdGljc01lbW9yeVN0b3JlLmgiCi0jaW5jbHVkZSAiV2ViUmVzb3VyY2VMb2FkU3RhdGlz
dGljc1N0b3JlLmgiCi0jaW5jbHVkZSA8V2ViQ29yZS9GaWxlTW9uaXRvci5oPgotI2luY2x1ZGUg
PFdlYkNvcmUvS2V5ZWRDb2RpbmcuaD4KLSNpbmNsdWRlIDxXZWJDb3JlL1NoYXJlZEJ1ZmZlci5o
PgotI2luY2x1ZGUgPHd0Zi9GaWxlU3lzdGVtLmg+Ci0jaW5jbHVkZSA8d3RmL1J1bkxvb3AuaD4K
LSNpbmNsdWRlIDx3dGYvV29ya1F1ZXVlLmg+Ci0KLW5hbWVzcGFjZSBXZWJLaXQgewotCi1jb25z
dGV4cHIgU2Vjb25kcyBtaW5pbXVtV3JpdGVJbnRlcnZhbCB7IDVfbWluIH07Ci0KLXVzaW5nIG5h
bWVzcGFjZSBXZWJDb3JlOwotCi1zdGF0aWMgYm9vbCBoYXNGaWxlQ2hhbmdlZFNpbmNlKGNvbnN0
IFN0cmluZyYgcGF0aCwgV2FsbFRpbWUgc2luY2UpCi17Ci0gICAgQVNTRVJUKCFSdW5Mb29wOjpp
c01haW4oKSk7Ci0gICAgYXV0byBtb2RpZmljYXRpb25UaW1lID0gRmlsZVN5c3RlbTo6Z2V0Rmls
ZU1vZGlmaWNhdGlvblRpbWUocGF0aCk7Ci0gICAgaWYgKCFtb2RpZmljYXRpb25UaW1lKQotICAg
ICAgICByZXR1cm4gdHJ1ZTsKLQotICAgIHJldHVybiBtb2RpZmljYXRpb25UaW1lLnZhbHVlKCkg
PiBzaW5jZTsKLX0KLQotUmVzb3VyY2VMb2FkU3RhdGlzdGljc1BlcnNpc3RlbnRTdG9yYWdlOjpS
ZXNvdXJjZUxvYWRTdGF0aXN0aWNzUGVyc2lzdGVudFN0b3JhZ2UoUmVzb3VyY2VMb2FkU3RhdGlz
dGljc01lbW9yeVN0b3JlJiBtZW1vcnlTdG9yZSwgV29ya1F1ZXVlJiB3b3JrUXVldWUsIGNvbnN0
IFN0cmluZyYgc3RvcmFnZURpcmVjdG9yeVBhdGgpCi0gICAgOiBtX21lbW9yeVN0b3JlKG1lbW9y
eVN0b3JlKQotICAgICwgbV93b3JrUXVldWUod29ya1F1ZXVlKQotICAgICwgbV9zdG9yYWdlRGly
ZWN0b3J5UGF0aChzdG9yYWdlRGlyZWN0b3J5UGF0aCkKLXsKLSAgICBSRUxFQVNFX0FTU0VSVCgh
UnVuTG9vcDo6aXNNYWluKCkpOwotCi0gICAgbV9tZW1vcnlTdG9yZS5zZXRQZXJzaXN0ZW50U3Rv
cmFnZSgqdGhpcyk7Ci0KLSAgICBzdGFydE1vbml0b3JpbmdEaXNrKCk7Ci19Ci0KLVJlc291cmNl
TG9hZFN0YXRpc3RpY3NQZXJzaXN0ZW50U3RvcmFnZTo6flJlc291cmNlTG9hZFN0YXRpc3RpY3NQ
ZXJzaXN0ZW50U3RvcmFnZSgpCi17Ci0gICAgUkVMRUFTRV9BU1NFUlQoIVJ1bkxvb3A6OmlzTWFp
bigpKTsKLQotICAgIGlmIChtX2hhc1BlbmRpbmdXcml0ZSkKLSAgICAgICAgd3JpdGVNZW1vcnlT
dG9yZVRvRGlzaygpOwotfQotCi1TdHJpbmcgUmVzb3VyY2VMb2FkU3RhdGlzdGljc1BlcnNpc3Rl
bnRTdG9yYWdlOjpzdG9yYWdlRGlyZWN0b3J5UGF0aElzb2xhdGVkQ29weSgpIGNvbnN0Ci17Ci0g
ICAgcmV0dXJuIG1fc3RvcmFnZURpcmVjdG9yeVBhdGguaXNvbGF0ZWRDb3B5KCk7Ci19Ci0KLVN0
cmluZyBSZXNvdXJjZUxvYWRTdGF0aXN0aWNzUGVyc2lzdGVudFN0b3JhZ2U6OnJlc291cmNlTG9n
RmlsZVBhdGgoKSBjb25zdAotewotICAgIFN0cmluZyBzdG9yYWdlUGF0aCA9IHN0b3JhZ2VEaXJl
Y3RvcnlQYXRoSXNvbGF0ZWRDb3B5KCk7Ci0gICAgaWYgKHN0b3JhZ2VQYXRoLmlzRW1wdHkoKSkK
LSAgICAgICAgcmV0dXJuIGVtcHR5U3RyaW5nKCk7Ci0KLSAgICByZXR1cm4gRmlsZVN5c3RlbTo6
cGF0aEJ5QXBwZW5kaW5nQ29tcG9uZW50KHN0b3JhZ2VQYXRoLCAiZnVsbF9icm93c2luZ19zZXNz
aW9uX3Jlc291cmNlTG9nLnBsaXN0Iik7Ci19Ci0KLXZvaWQgUmVzb3VyY2VMb2FkU3RhdGlzdGlj
c1BlcnNpc3RlbnRTdG9yYWdlOjpzdGFydE1vbml0b3JpbmdEaXNrKCkKLXsKLSAgICBBU1NFUlQo
IVJ1bkxvb3A6OmlzTWFpbigpKTsKLSAgICBpZiAobV9maWxlTW9uaXRvcikKLSAgICAgICAgcmV0
dXJuOwotCi0gICAgU3RyaW5nIHJlc291cmNlTG9nUGF0aCA9IHJlc291cmNlTG9nRmlsZVBhdGgo
KTsKLSAgICBpZiAocmVzb3VyY2VMb2dQYXRoLmlzRW1wdHkoKSkKLSAgICAgICAgcmV0dXJuOwot
Ci0gICAgbV9maWxlTW9uaXRvciA9IG1ha2VVbmlxdWU8RmlsZU1vbml0b3I+KHJlc291cmNlTG9n
UGF0aCwgbV93b3JrUXVldWUuY29weVJlZigpLCBbdGhpcywgd2Vha1RoaXMgPSBtYWtlV2Vha1B0
cigqdGhpcyldIChGaWxlTW9uaXRvcjo6RmlsZUNoYW5nZVR5cGUgdHlwZSkgewotICAgICAgICBB
U1NFUlQoIVJ1bkxvb3A6OmlzTWFpbigpKTsKLSAgICAgICAgaWYgKCF3ZWFrVGhpcykKLSAgICAg
ICAgICAgIHJldHVybjsKLQotICAgICAgICBzd2l0Y2ggKHR5cGUpIHsKLSAgICAgICAgY2FzZSBG
aWxlTW9uaXRvcjo6RmlsZUNoYW5nZVR5cGU6Ok1vZGlmaWNhdGlvbjoKLSAgICAgICAgICAgIHJl
ZnJlc2hNZW1vcnlTdG9yZUZyb21EaXNrKCk7Ci0gICAgICAgICAgICBicmVhazsKLSAgICAgICAg
Y2FzZSBGaWxlTW9uaXRvcjo6RmlsZUNoYW5nZVR5cGU6OlJlbW92YWw6Ci0gICAgICAgICAgICBt
X21lbW9yeVN0b3JlLmNsZWFyKFtdIHsgfSk7Ci0gICAgICAgICAgICBtX2ZpbGVNb25pdG9yID0g
bnVsbHB0cjsKLSAgICAgICAgICAgIG1vbml0b3JEaXJlY3RvcnlGb3JOZXdTdGF0aXN0aWNzKCk7
Ci0gICAgICAgICAgICBicmVhazsKLSAgICAgICAgfQotICAgIH0pOwotfQotCi12b2lkIFJlc291
cmNlTG9hZFN0YXRpc3RpY3NQZXJzaXN0ZW50U3RvcmFnZTo6bW9uaXRvckRpcmVjdG9yeUZvck5l
d1N0YXRpc3RpY3MoKQotewotICAgIEFTU0VSVCghUnVuTG9vcDo6aXNNYWluKCkpOwotCi0gICAg
U3RyaW5nIHN0b3JhZ2VQYXRoID0gc3RvcmFnZURpcmVjdG9yeVBhdGhJc29sYXRlZENvcHkoKTsK
LSAgICBBU1NFUlQoIXN0b3JhZ2VQYXRoLmlzRW1wdHkoKSk7Ci0KLSAgICBpZiAoIUZpbGVTeXN0
ZW06OmZpbGVFeGlzdHMoc3RvcmFnZVBhdGgpKSB7Ci0gICAgICAgIGlmICghRmlsZVN5c3RlbTo6
bWFrZUFsbERpcmVjdG9yaWVzKHN0b3JhZ2VQYXRoKSkgewotICAgICAgICAgICAgUkVMRUFTRV9M
T0dfRVJST1IoUmVzb3VyY2VMb2FkU3RhdGlzdGljcywgIlJlc291cmNlTG9hZFN0YXRpc3RpY3NQ
ZXJzaXN0ZW50U3RvcmFnZTogRmFpbGVkIHRvIGNyZWF0ZSBkaXJlY3RvcnkgcGF0aCAlcyIsIHN0
b3JhZ2VQYXRoLnV0ZjgoKS5kYXRhKCkpOwotICAgICAgICAgICAgcmV0dXJuOwotICAgICAgICB9
Ci0gICAgfQotCi0gICAgbV9maWxlTW9uaXRvciA9IG1ha2VVbmlxdWU8RmlsZU1vbml0b3I+KHN0
b3JhZ2VQYXRoLCBtX3dvcmtRdWV1ZS5jb3B5UmVmKCksIFt0aGlzXSAoRmlsZU1vbml0b3I6OkZp
bGVDaGFuZ2VUeXBlIHR5cGUpIHsKLSAgICAgICAgQVNTRVJUKCFSdW5Mb29wOjppc01haW4oKSk7
Ci0gICAgICAgIGlmICh0eXBlID09IEZpbGVNb25pdG9yOjpGaWxlQ2hhbmdlVHlwZTo6UmVtb3Zh
bCkgewotICAgICAgICAgICAgLy8gRGlyZWN0b3J5IHdhcyByZW1vdmVkIQotICAgICAgICAgICAg
bV9maWxlTW9uaXRvciA9IG51bGxwdHI7Ci0gICAgICAgICAgICByZXR1cm47Ci0gICAgICAgIH0K
LQotICAgICAgICBTdHJpbmcgcmVzb3VyY2VMb2dQYXRoID0gcmVzb3VyY2VMb2dGaWxlUGF0aCgp
OwotICAgICAgICBBU1NFUlQoIXJlc291cmNlTG9nUGF0aC5pc0VtcHR5KCkpOwotCi0gICAgICAg
IGlmICghRmlsZVN5c3RlbTo6ZmlsZUV4aXN0cyhyZXNvdXJjZUxvZ1BhdGgpKQotICAgICAgICAg
ICAgcmV0dXJuOwotCi0gICAgICAgIG1fZmlsZU1vbml0b3IgPSBudWxscHRyOwotCi0gICAgICAg
IHJlZnJlc2hNZW1vcnlTdG9yZUZyb21EaXNrKCk7Ci0gICAgICAgIHN0YXJ0TW9uaXRvcmluZ0Rp
c2soKTsKLSAgICB9KTsKLX0KLQotdm9pZCBSZXNvdXJjZUxvYWRTdGF0aXN0aWNzUGVyc2lzdGVu
dFN0b3JhZ2U6OnN0b3BNb25pdG9yaW5nRGlzaygpCi17Ci0gICAgQVNTRVJUKCFSdW5Mb29wOjpp
c01haW4oKSk7Ci0gICAgbV9maWxlTW9uaXRvciA9IG51bGxwdHI7Ci19Ci0KLS8vIFRoaXMgaXMg
Y2FsbGVkIHdoZW4gdGhlIGZpbGUgY2hhbmdlcyBvbiBkaXNrLgotdm9pZCBSZXNvdXJjZUxvYWRT
dGF0aXN0aWNzUGVyc2lzdGVudFN0b3JhZ2U6OnJlZnJlc2hNZW1vcnlTdG9yZUZyb21EaXNrKCkK
LXsKLSAgICBBU1NFUlQoIVJ1bkxvb3A6OmlzTWFpbigpKTsKLQotICAgIFN0cmluZyBmaWxlUGF0
aCA9IHJlc291cmNlTG9nRmlsZVBhdGgoKTsKLSAgICBpZiAoZmlsZVBhdGguaXNFbXB0eSgpKQot
ICAgICAgICByZXR1cm47Ci0KLSAgICAvLyBXZSBzb21ldGltZXMgc2VlIGZpbGUgY2hhbmdlZCBl
dmVudHMgZnJvbSBiZWZvcmUgb3VyIGxvYWQgY29tcGxldGVkICh3ZSBzdGFydAotICAgIC8vIHJl
YWRpbmcgYXQgdGhlIGZpcnN0IGNoYW5nZSBldmVudCwgYnV0IHdlIG1pZ2h0IHJlY2VpdmUgYSBz
ZXJpZXMgb2YgZXZlbnRzIHJlbGF0ZWQKLSAgICAvLyB0byB0aGUgc2FtZSBmaWxlIG9wZXJhdGlv
bikuIENhdGNoIHRoaXMgY2FzZSB0byBhdm9pZCByZWFkaW5nIG92ZXJseSBvZnRlbi4KLSAgICBp
ZiAoIWhhc0ZpbGVDaGFuZ2VkU2luY2UoZmlsZVBhdGgsIG1fbGFzdFN0YXRpc3RpY3NGaWxlU3lu
Y1RpbWUpKQotICAgICAgICByZXR1cm47Ci0KLSAgICBXYWxsVGltZSByZWFkVGltZSA9IFdhbGxU
aW1lOjpub3coKTsKLQotICAgIGF1dG8gZGVjb2RlciA9IGNyZWF0ZUZvckZpbGUoZmlsZVBhdGgp
OwotICAgIGlmICghZGVjb2RlcikKLSAgICAgICAgcmV0dXJuOwotCi0gICAgbV9tZW1vcnlTdG9y
ZS5tZXJnZVdpdGhEYXRhRnJvbURlY29kZXIoKmRlY29kZXIpOwotICAgIG1fbGFzdFN0YXRpc3Rp
Y3NGaWxlU3luY1RpbWUgPSByZWFkVGltZTsKLX0KLQotdm9pZCBSZXNvdXJjZUxvYWRTdGF0aXN0
aWNzUGVyc2lzdGVudFN0b3JhZ2U6OnBvcHVsYXRlTWVtb3J5U3RvcmVGcm9tRGlzayhDb21wbGV0
aW9uSGFuZGxlcjx2b2lkKCk+JiYgY29tcGxldGlvbkhhbmRsZXIpCi17Ci0gICAgQVNTRVJUKCFS
dW5Mb29wOjppc01haW4oKSk7Ci0KLSAgICBTdHJpbmcgZmlsZVBhdGggPSByZXNvdXJjZUxvZ0Zp
bGVQYXRoKCk7Ci0gICAgaWYgKGZpbGVQYXRoLmlzRW1wdHkoKSB8fCAhRmlsZVN5c3RlbTo6Zmls
ZUV4aXN0cyhmaWxlUGF0aCkpIHsKLSAgICAgICAgbV9tZW1vcnlTdG9yZS5ncmFuZGZhdGhlckV4
aXN0aW5nV2Vic2l0ZURhdGEoV1RGTW92ZShjb21wbGV0aW9uSGFuZGxlcikpOwotICAgICAgICBt
b25pdG9yRGlyZWN0b3J5Rm9yTmV3U3RhdGlzdGljcygpOwotICAgICAgICByZXR1cm47Ci0gICAg
fQotCi0gICAgaWYgKCFoYXNGaWxlQ2hhbmdlZFNpbmNlKGZpbGVQYXRoLCBtX2xhc3RTdGF0aXN0
aWNzRmlsZVN5bmNUaW1lKSkgewotICAgICAgICAvLyBObyBuZWVkIHRvIGdyYW5kZmF0aGVyIGlu
IHRoaXMgY2FzZS4KLSAgICAgICAgY29tcGxldGlvbkhhbmRsZXIoKTsKLSAgICAgICAgcmV0dXJu
OwotICAgIH0KLQotICAgIFdhbGxUaW1lIHJlYWRUaW1lID0gV2FsbFRpbWU6Om5vdygpOwotCi0g
ICAgYXV0byBkZWNvZGVyID0gY3JlYXRlRm9yRmlsZShmaWxlUGF0aCk7Ci0gICAgaWYgKCFkZWNv
ZGVyKSB7Ci0gICAgICAgIG1fbWVtb3J5U3RvcmUuZ3JhbmRmYXRoZXJFeGlzdGluZ1dlYnNpdGVE
YXRhKFdURk1vdmUoY29tcGxldGlvbkhhbmRsZXIpKTsKLSAgICAgICAgcmV0dXJuOwotICAgIH0K
LQotICAgIC8vIERlYnVnIG1vZGUgaGFzIGEgcHJlcG9wdWxhdGVkIG1lbW9yeSBzdG9yZS4KLSAg
ICBBU1NFUlRfV0lUSF9NRVNTQUdFKG1fbWVtb3J5U3RvcmUuaXNFbXB0eSgpIHx8IG1fbWVtb3J5
U3RvcmUuaXNEZWJ1Z01vZGVFbmFibGVkKCksICJUaGlzIGlzIHRoZSBpbml0aWFsIGltcG9ydCBz
byB0aGUgc3RvcmUgc2hvdWxkIGJlIGVtcHR5Iik7Ci0gICAgbV9tZW1vcnlTdG9yZS5tZXJnZVdp
dGhEYXRhRnJvbURlY29kZXIoKmRlY29kZXIpOwotCi0gICAgbV9sYXN0U3RhdGlzdGljc0ZpbGVT
eW5jVGltZSA9IHJlYWRUaW1lOwotCi0gICAgbV9tZW1vcnlTdG9yZS5sb2dUZXN0aW5nRXZlbnQo
IlBvcHVsYXRlZFdpdGhvdXRHcmFuZGZhdGhlcmluZyJfcyk7Ci0gICAgY29tcGxldGlvbkhhbmRs
ZXIoKTsKLX0KLQotdm9pZCBSZXNvdXJjZUxvYWRTdGF0aXN0aWNzUGVyc2lzdGVudFN0b3JhZ2U6
OndyaXRlTWVtb3J5U3RvcmVUb0Rpc2soKQotewotICAgIEFTU0VSVCghUnVuTG9vcDo6aXNNYWlu
KCkpOwotCi0gICAgbV9oYXNQZW5kaW5nV3JpdGUgPSBmYWxzZTsKLSAgICBzdG9wTW9uaXRvcmlu
Z0Rpc2soKTsKLQotICAgIHdyaXRlVG9EaXNrKG1fbWVtb3J5U3RvcmUuY3JlYXRlRW5jb2RlckZy
b21EYXRhKCksIHJlc291cmNlTG9nRmlsZVBhdGgoKSk7Ci0KLSAgICBtX2xhc3RTdGF0aXN0aWNz
RmlsZVN5bmNUaW1lID0gV2FsbFRpbWU6Om5vdygpOwotICAgIG1fbGFzdFN0YXRpc3RpY3NXcml0
ZVRpbWUgPSBNb25vdG9uaWNUaW1lOjpub3coKTsKLQotICAgIHN0YXJ0TW9uaXRvcmluZ0Rpc2so
KTsKLX0KLQotdm9pZCBSZXNvdXJjZUxvYWRTdGF0aXN0aWNzUGVyc2lzdGVudFN0b3JhZ2U6OnNj
aGVkdWxlT3JXcml0ZU1lbW9yeVN0b3JlKEZvcmNlSW1tZWRpYXRlV3JpdGUgZm9yY2VJbW1lZGlh
dGVXcml0ZSkKLXsKLSAgICBBU1NFUlQoIVJ1bkxvb3A6OmlzTWFpbigpKTsKLQotICAgIGF1dG8g
dGltZVNpbmNlTGFzdFdyaXRlID0gTW9ub3RvbmljVGltZTo6bm93KCkgLSBtX2xhc3RTdGF0aXN0
aWNzV3JpdGVUaW1lOwotICAgIGlmIChmb3JjZUltbWVkaWF0ZVdyaXRlICE9IEZvcmNlSW1tZWRp
YXRlV3JpdGU6OlllcyAmJiB0aW1lU2luY2VMYXN0V3JpdGUgPCBtaW5pbXVtV3JpdGVJbnRlcnZh
bCkgewotICAgICAgICBpZiAoIW1faGFzUGVuZGluZ1dyaXRlKSB7Ci0gICAgICAgICAgICBtX2hh
c1BlbmRpbmdXcml0ZSA9IHRydWU7Ci0gICAgICAgICAgICBTZWNvbmRzIGRlbGF5ID0gbWluaW11
bVdyaXRlSW50ZXJ2YWwgLSB0aW1lU2luY2VMYXN0V3JpdGUgKyAxX3M7Ci0gICAgICAgICAgICBt
X3dvcmtRdWV1ZS0+ZGlzcGF0Y2hBZnRlcihkZWxheSwgW3dlYWtUaGlzID0gbWFrZVdlYWtQdHIo
KnRoaXMpXSB7Ci0gICAgICAgICAgICAgICAgaWYgKHdlYWtUaGlzKQotICAgICAgICAgICAgICAg
ICAgICB3ZWFrVGhpcy0+d3JpdGVNZW1vcnlTdG9yZVRvRGlzaygpOwotICAgICAgICAgICAgfSk7
Ci0gICAgICAgIH0KLSAgICAgICAgcmV0dXJuOwotICAgIH0KLQotICAgIHdyaXRlTWVtb3J5U3Rv
cmVUb0Rpc2soKTsKLX0KLQotdm9pZCBSZXNvdXJjZUxvYWRTdGF0aXN0aWNzUGVyc2lzdGVudFN0
b3JhZ2U6OmNsZWFyKCkKLXsKLSAgICBBU1NFUlQoIVJ1bkxvb3A6OmlzTWFpbigpKTsKLSAgICBT
dHJpbmcgZmlsZVBhdGggPSByZXNvdXJjZUxvZ0ZpbGVQYXRoKCk7Ci0gICAgaWYgKGZpbGVQYXRo
LmlzRW1wdHkoKSkKLSAgICAgICAgcmV0dXJuOwotCi0gICAgc3RvcE1vbml0b3JpbmdEaXNrKCk7
Ci0KLSAgICBpZiAoIUZpbGVTeXN0ZW06OmRlbGV0ZUZpbGUoZmlsZVBhdGgpICYmIEZpbGVTeXN0
ZW06OmZpbGVFeGlzdHMoZmlsZVBhdGgpKQotICAgICAgICBSRUxFQVNFX0xPR19FUlJPUihSZXNv
dXJjZUxvYWRTdGF0aXN0aWNzLCAiUmVzb3VyY2VMb2FkU3RhdGlzdGljc1BlcnNpc3RlbnRTdG9y
YWdlOiBVbmFibGUgdG8gZGVsZXRlIHN0YXRpc3RpY3MgZmlsZTogJXMiLCBmaWxlUGF0aC51dGY4
KCkuZGF0YSgpKTsKLX0KLQotI2lmICFQTEFURk9STShJT1NfRkFNSUxZKQotdm9pZCBSZXNvdXJj
ZUxvYWRTdGF0aXN0aWNzUGVyc2lzdGVudFN0b3JhZ2U6OmV4Y2x1ZGVGcm9tQmFja3VwKCkgY29u
c3QKLXsKLX0KLSNlbmRpZgotCi19IC8vIG5hbWVzcGFjZSBXZWJLaXQKLQotI2VuZGlmCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL0NsYXNzaWZpZXIvUmVzb3VyY2VM
b2FkU3RhdGlzdGljc1BlcnNpc3RlbnRTdG9yYWdlLmggYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQ
cm9jZXNzL0NsYXNzaWZpZXIvUmVzb3VyY2VMb2FkU3RhdGlzdGljc1BlcnNpc3RlbnRTdG9yYWdl
LmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDk3NjRhNzg0YTY2OWFjNTBlZGVjMWE2
ZGE4ZDRiY2ZkMTlhNDRhYzUuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAKLS0tIGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9DbGFzc2lmaWVyL1Jlc291cmNl
TG9hZFN0YXRpc3RpY3NQZXJzaXN0ZW50U3RvcmFnZS5oCisrKyAvZGV2L251bGwKQEAgLTEsODIg
KzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAxNy0yMDE4IEFwcGxlIEluYy4gQWxsIHJp
Z2h0cyByZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBh
bmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBl
cm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotICogYXJlIG1l
dDoKLSAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUg
YWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmlu
YXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGlu
IHRoZQotICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVk
IHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVE
IEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCi0gKiBBTkQgQU5Z
IEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywKLSAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBG
SVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKLSAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5P
IEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUwotICogQkUgTElBQkxF
IEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZ
LCBPUgotICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywgUFJPQ1VSRU1FTlQgT0YKLSAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExP
U1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUwotICogSU5URVJSVVBUSU9O
KSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIg
SU4KLSAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVH
TElHRU5DRSBPUiBPVEhFUldJU0UpCi0gKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBV
U0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCi0gKiBUSEUgUE9TU0lCSUxJ
VFkgT0YgU1VDSCBEQU1BR0UuCi0gKi8KLQotI3ByYWdtYSBvbmNlCi0KLSNpZiBFTkFCTEUoUkVT
T1VSQ0VfTE9BRF9TVEFUSVNUSUNTKQotCi0jaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KLSNpbmNs
dWRlIDx3dGYvTW9ub3RvbmljVGltZS5oPgotI2luY2x1ZGUgPHd0Zi9SdW5Mb29wLmg+Ci0jaW5j
bHVkZSA8d3RmL1dhbGxUaW1lLmg+Ci0jaW5jbHVkZSA8d3RmL1dlYWtQdHIuaD4KLSNpbmNsdWRl
IDx3dGYvV29ya1F1ZXVlLmg+Ci0jaW5jbHVkZSA8d3RmL3RleHQvV1RGU3RyaW5nLmg+Ci0KLW5h
bWVzcGFjZSBXZWJDb3JlIHsKLWNsYXNzIEZpbGVNb25pdG9yOwotfQotCi1uYW1lc3BhY2UgV2Vi
S2l0IHsKLQotY2xhc3MgUmVzb3VyY2VMb2FkU3RhdGlzdGljc01lbW9yeVN0b3JlOwotCi0vLyBD
YW4gb25seSBiZSBjb25zdHJ1Y3RlZCAvIGRlc3Ryb3llZCAvIHVzZWQgZnJvbSB0aGUgV2ViUmVz
b3VyY2VMb2FkU3RhdGlzdGljc1N0b3JlJ3Mgc3RhdGlzdGljIHF1ZXVlLgotY2xhc3MgUmVzb3Vy
Y2VMb2FkU3RhdGlzdGljc1BlcnNpc3RlbnRTdG9yYWdlIDogcHVibGljIENhbk1ha2VXZWFrUHRy
PFJlc291cmNlTG9hZFN0YXRpc3RpY3NQZXJzaXN0ZW50U3RvcmFnZT4gewotICAgIFdURl9NQUtF
X0ZBU1RfQUxMT0NBVEVEOwotcHVibGljOgotICAgIFJlc291cmNlTG9hZFN0YXRpc3RpY3NQZXJz
aXN0ZW50U3RvcmFnZShSZXNvdXJjZUxvYWRTdGF0aXN0aWNzTWVtb3J5U3RvcmUmLCBXb3JrUXVl
dWUmLCBjb25zdCBTdHJpbmcmIHN0b3JhZ2VEaXJlY3RvcnlQYXRoKTsKLSAgICB+UmVzb3VyY2VM
b2FkU3RhdGlzdGljc1BlcnNpc3RlbnRTdG9yYWdlKCk7Ci0KLSAgICB2b2lkIGNsZWFyKCk7Ci0K
LSAgICBlbnVtIGNsYXNzIEZvcmNlSW1tZWRpYXRlV3JpdGUgeyBObywgWWVzLCB9OwotICAgIHZv
aWQgc2NoZWR1bGVPcldyaXRlTWVtb3J5U3RvcmUoRm9yY2VJbW1lZGlhdGVXcml0ZSk7Ci0gICAg
dm9pZCBwb3B1bGF0ZU1lbW9yeVN0b3JlRnJvbURpc2soQ29tcGxldGlvbkhhbmRsZXI8dm9pZCgp
PiYmKTsKLQotcHJpdmF0ZToKLSAgICBTdHJpbmcgc3RvcmFnZURpcmVjdG9yeVBhdGhJc29sYXRl
ZENvcHkoKSBjb25zdDsKLSAgICBTdHJpbmcgcmVzb3VyY2VMb2dGaWxlUGF0aCgpIGNvbnN0Owot
Ci0gICAgdm9pZCBzdGFydE1vbml0b3JpbmdEaXNrKCk7Ci0gICAgdm9pZCBzdG9wTW9uaXRvcmlu
Z0Rpc2soKTsKLSAgICB2b2lkIG1vbml0b3JEaXJlY3RvcnlGb3JOZXdTdGF0aXN0aWNzKCk7Ci0K
LSAgICB2b2lkIHdyaXRlTWVtb3J5U3RvcmVUb0Rpc2soKTsKLSAgICB2b2lkIGV4Y2x1ZGVGcm9t
QmFja3VwKCkgY29uc3Q7Ci0gICAgdm9pZCByZWZyZXNoTWVtb3J5U3RvcmVGcm9tRGlzaygpOwot
Ci0gICAgUmVzb3VyY2VMb2FkU3RhdGlzdGljc01lbW9yeVN0b3JlJiBtX21lbW9yeVN0b3JlOwot
ICAgIFJlZjxXb3JrUXVldWU+IG1fd29ya1F1ZXVlOwotICAgIGNvbnN0IFN0cmluZyBtX3N0b3Jh
Z2VEaXJlY3RvcnlQYXRoOwotICAgIHN0ZDo6dW5pcXVlX3B0cjxXZWJDb3JlOjpGaWxlTW9uaXRv
cj4gbV9maWxlTW9uaXRvcjsKLSAgICBXYWxsVGltZSBtX2xhc3RTdGF0aXN0aWNzRmlsZVN5bmNU
aW1lOwotICAgIE1vbm90b25pY1RpbWUgbV9sYXN0U3RhdGlzdGljc1dyaXRlVGltZTsKLSAgICBi
b29sIG1faGFzUGVuZGluZ1dyaXRlIHsgZmFsc2UgfTsKLX07Ci0KLX0KLQotI2VuZGlmCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL0NsYXNzaWZpZXIvUmVzb3VyY2VM
b2FkU3RhdGlzdGljc1N0b3JlLmNwcCBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvQ2xh
c3NpZmllci9SZXNvdXJjZUxvYWRTdGF0aXN0aWNzU3RvcmUuY3BwCmluZGV4IDAxOTUwZjA1ZWQ2
NDNkZTNiNTQ2MmUzZjI2ZWJiYWVkMjM4YWRkNDYuLjJkN2IxMjhjNTRjMWMzOWU1YThkNzQ1MjIz
NzZlYTMyZDJmODQyMmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3Mv
Q2xhc3NpZmllci9SZXNvdXJjZUxvYWRTdGF0aXN0aWNzU3RvcmUuY3BwCisrKyBiL1NvdXJjZS9X
ZWJLaXQvTmV0d29ya1Byb2Nlc3MvQ2xhc3NpZmllci9SZXNvdXJjZUxvYWRTdGF0aXN0aWNzU3Rv
cmUuY3BwCkBAIC0zMyw3ICszMyw2IEBACiAjaW5jbHVkZSAiTmV0d29ya1Nlc3Npb24uaCIKICNp
bmNsdWRlICJQbHVnaW5Qcm9jZXNzTWFuYWdlci5oIgogI2luY2x1ZGUgIlBsdWdpblByb2Nlc3NQ
cm94eS5oIgotI2luY2x1ZGUgIlJlc291cmNlTG9hZFN0YXRpc3RpY3NQZXJzaXN0ZW50U3RvcmFn
ZS5oIgogI2luY2x1ZGUgIlN0b3JhZ2VBY2Nlc3NTdGF0dXMuaCIKICNpbmNsdWRlICJXZWJQcm9j
ZXNzUHJveHkuaCIKICNpbmNsdWRlICJXZWJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzVGVsZW1ldHJ5
LmgiCkBAIC0yNDgsNyArMjQ3LDYgQEAgdm9pZCBSZXNvdXJjZUxvYWRTdGF0aXN0aWNzU3RvcmU6
OnByb2Nlc3NTdGF0aXN0aWNzQW5kRGF0YVJlY29yZHMoKQogICAgICAgICAgICAgcmV0dXJuOwog
CiAgICAgICAgIHBydW5lU3RhdGlzdGljc0lmTmVlZGVkKCk7Ci0gICAgICAgIHN5bmNTdG9yYWdl
SWZOZWVkZWQoKTsKIAogICAgICAgICBsb2dUZXN0aW5nRXZlbnQoIlN0b3JhZ2UgU3luY2VkIl9z
KTsKIApAQCAtMjc1LDcgKzI3Myw2IEBAIHZvaWQgUmVzb3VyY2VMb2FkU3RhdGlzdGljc1N0b3Jl
OjpncmFuZGZhdGhlckV4aXN0aW5nV2Vic2l0ZURhdGEoQ29tcGxldGlvbkhhbmRsCiAKICAgICAg
ICAgICAgICAgICB3ZWFrVGhpcy0+Z3JhbmRmYXRoZXJEYXRhRm9yRG9tYWlucyhkb21haW5zV2l0
aFdlYnNpdGVEYXRhKTsKICAgICAgICAgICAgICAgICB3ZWFrVGhpcy0+bV9lbmRPZkdyYW5kZmF0
aGVyaW5nVGltZXN0YW1wID0gV2FsbFRpbWU6Om5vdygpICsgd2Vha1RoaXMtPm1fcGFyYW1ldGVy
cy5ncmFuZGZhdGhlcmluZ1RpbWU7Ci0gICAgICAgICAgICAgICAgd2Vha1RoaXMtPnN5bmNTdG9y
YWdlSW1tZWRpYXRlbHkoKTsKICAgICAgICAgICAgICAgICBjYWxsYmFjaygpOwogICAgICAgICAg
ICAgICAgIHdlYWtUaGlzLT5sb2dUZXN0aW5nRXZlbnQoIkdyYW5kZmF0aGVyZWQiX3MpOwogICAg
ICAgICAgICAgfSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL0Ns
YXNzaWZpZXIvUmVzb3VyY2VMb2FkU3RhdGlzdGljc1N0b3JlLmggYi9Tb3VyY2UvV2ViS2l0L05l
dHdvcmtQcm9jZXNzL0NsYXNzaWZpZXIvUmVzb3VyY2VMb2FkU3RhdGlzdGljc1N0b3JlLmgKaW5k
ZXggMmM1YWFjNmVhM2JlODQ1ZjA1OTU2YTM4YTNhMGY5OTk0YzczNGRhMi4uMDA4YmJiYjk0OWY1
N2JhN2MzYzU4ZDM5NDg0ODQ1YTgwMDY3ZTFjZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9O
ZXR3b3JrUHJvY2Vzcy9DbGFzc2lmaWVyL1Jlc291cmNlTG9hZFN0YXRpc3RpY3NTdG9yZS5oCisr
KyBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvQ2xhc3NpZmllci9SZXNvdXJjZUxvYWRT
dGF0aXN0aWNzU3RvcmUuaApAQCAtNTEsOCArNTEsNiBAQCBzdHJ1Y3QgUmVzb3VyY2VMb2FkU3Rh
dGlzdGljczsKIAogbmFtZXNwYWNlIFdlYktpdCB7CiAKLWNsYXNzIFJlc291cmNlTG9hZFN0YXRp
c3RpY3NQZXJzaXN0ZW50U3RvcmFnZTsKLQogY2xhc3MgT3BlcmF0aW5nRGF0ZSB7CiBwdWJsaWM6
CiAgICAgT3BlcmF0aW5nRGF0ZSgpID0gZGVmYXVsdDsKQEAgLTExNyw4ICsxMTUsNiBAQCBwdWJs
aWM6CiAgICAgdm9pZCBwcm9jZXNzU3RhdGlzdGljc0FuZERhdGFSZWNvcmRzKCk7CiAKICAgICB2
aXJ0dWFsIHZvaWQgY2xhc3NpZnlQcmV2YWxlbnRSZXNvdXJjZXMoKSA9IDA7Ci0gICAgdmlydHVh
bCB2b2lkIHN5bmNTdG9yYWdlSWZOZWVkZWQoKSA9IDA7Ci0gICAgdmlydHVhbCB2b2lkIHN5bmNT
dG9yYWdlSW1tZWRpYXRlbHkoKSA9IDA7CiAgICAgdmlydHVhbCB2b2lkIG1lcmdlU3RhdGlzdGlj
cyhWZWN0b3I8UmVzb3VyY2VMb2FkU3RhdGlzdGljcz4mJikgPSAwOwogCiAgICAgdmlydHVhbCB2
b2lkIHJlcXVlc3RTdG9yYWdlQWNjZXNzVW5kZXJPcGVuZXIoRG9tYWluSW5OZWVkT2ZTdG9yYWdl
QWNjZXNzJiYsIFdlYkNvcmU6OlBhZ2VJZGVudGlmaWVyIG9wZW5lcklELCBPcGVuZXJEb21haW4m
JikgPSAwOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9DbGFzc2lm
aWVyL1dlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NTdG9yZS5jcHAgYi9Tb3VyY2UvV2ViS2l0L05l
dHdvcmtQcm9jZXNzL0NsYXNzaWZpZXIvV2ViUmVzb3VyY2VMb2FkU3RhdGlzdGljc1N0b3JlLmNw
cAppbmRleCAxZjBiYjE2NzBmYWZjOTMwY2Q5N2YyMTNjZTEyYzA5ZWI1MjJhOTM3Li5hOWRkODBi
MTQ2N2E5MmYzZDc5YTc1MzUyMjdhYTJlMDNmNGY4MGQyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L05ldHdvcmtQcm9jZXNzL0NsYXNzaWZpZXIvV2ViUmVzb3VyY2VMb2FkU3RhdGlzdGljc1N0
b3JlLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL0NsYXNzaWZpZXIvV2Vi
UmVzb3VyY2VMb2FkU3RhdGlzdGljc1N0b3JlLmNwcApAQCAtMzUsNyArMzUsNiBAQAogI2luY2x1
ZGUgIk5ldHdvcmtTZXNzaW9uLmgiCiAjaW5jbHVkZSAiUmVzb3VyY2VMb2FkU3RhdGlzdGljc0Rh
dGFiYXNlU3RvcmUuaCIKICNpbmNsdWRlICJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzTWVtb3J5U3Rv
cmUuaCIKLSNpbmNsdWRlICJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzUGVyc2lzdGVudFN0b3JhZ2Uu
aCIKICNpbmNsdWRlICJTaG91bGRHcmFuZGZhdGhlclN0YXRpc3RpY3MuaCIKICNpbmNsdWRlICJT
dG9yYWdlQWNjZXNzU3RhdHVzLmgiCiAjaW5jbHVkZSAiV2ViRnJhbWVQcm94eS5oIgpAQCAtMTc4
LDIzICsxNzcsMTUgQEAgV2ViUmVzb3VyY2VMb2FkU3RhdGlzdGljc1N0b3JlOjpXZWJSZXNvdXJj
ZUxvYWRTdGF0aXN0aWNzU3RvcmUoTmV0d29ya1Nlc3Npb24mIG4KICAgICAgICAgcmV0dXJuOwog
CiAgICAgaWYgKCFyZXNvdXJjZUxvYWRTdGF0aXN0aWNzRGlyZWN0b3J5LmlzRW1wdHkoKSkgewot
ICAgICAgICBwb3N0VGFzayhbdGhpcywgZGF0YWJhc2VFbmFibGVkID0gbmV0d29ya1Nlc3Npb24u
bmV0d29ya1Byb2Nlc3MoKS5pc0lUUERhdGFiYXNlRW5hYmxlZCgpLCByZXNvdXJjZUxvYWRTdGF0
aXN0aWNzRGlyZWN0b3J5ID0gcmVzb3VyY2VMb2FkU3RhdGlzdGljc0RpcmVjdG9yeS5pc29sYXRl
ZENvcHkoKSwgc2hvdWxkSW5jbHVkZUxvY2FsaG9zdCwgc2Vzc2lvbklEID0gbmV0d29ya1Nlc3Np
b24uc2Vzc2lvbklEKCldIHsKLSAgICAgICAgICAgIGlmIChkYXRhYmFzZUVuYWJsZWQpIHsKLSAg
ICAgICAgICAgICAgICBtX3N0YXRpc3RpY3NTdG9yZSA9IG1ha2VVbmlxdWU8UmVzb3VyY2VMb2Fk
U3RhdGlzdGljc0RhdGFiYXNlU3RvcmU+KCp0aGlzLCBtX3N0YXRpc3RpY3NRdWV1ZSwgc2hvdWxk
SW5jbHVkZUxvY2FsaG9zdCwgcmVzb3VyY2VMb2FkU3RhdGlzdGljc0RpcmVjdG9yeSwgc2Vzc2lv
bklEKTsKKyAgICAgICAgcG9zdFRhc2soW3RoaXMsIHJlc291cmNlTG9hZFN0YXRpc3RpY3NEaXJl
Y3RvcnkgPSByZXNvdXJjZUxvYWRTdGF0aXN0aWNzRGlyZWN0b3J5Lmlzb2xhdGVkQ29weSgpLCBz
aG91bGRJbmNsdWRlTG9jYWxob3N0LCBzZXNzaW9uSUQgPSBuZXR3b3JrU2Vzc2lvbi5zZXNzaW9u
SUQoKV0geworICAgICAgICAgICAgbV9zdGF0aXN0aWNzU3RvcmUgPSBtYWtlVW5pcXVlPFJlc291
cmNlTG9hZFN0YXRpc3RpY3NEYXRhYmFzZVN0b3JlPigqdGhpcywgbV9zdGF0aXN0aWNzUXVldWUs
IHNob3VsZEluY2x1ZGVMb2NhbGhvc3QsIHJlc291cmNlTG9hZFN0YXRpc3RpY3NEaXJlY3Rvcnks
IHNlc3Npb25JRCk7CiAKLSAgICAgICAgICAgICAgICBhdXRvIG1lbW9yeVN0b3JlID0gbWFrZVVu
aXF1ZTxSZXNvdXJjZUxvYWRTdGF0aXN0aWNzTWVtb3J5U3RvcmU+KCp0aGlzLCBtX3N0YXRpc3Rp
Y3NRdWV1ZSwgc2hvdWxkSW5jbHVkZUxvY2FsaG9zdCk7Ci0gICAgICAgICAgICAgICAgZG93bmNh
c3Q8UmVzb3VyY2VMb2FkU3RhdGlzdGljc0RhdGFiYXNlU3RvcmU+KCptX3N0YXRpc3RpY3NTdG9y
ZS5nZXQoKSkucG9wdWxhdGVGcm9tTWVtb3J5U3RvcmUoKm1lbW9yeVN0b3JlKTsKKyAgICAgICAg
ICAgIGF1dG8gbWVtb3J5U3RvcmUgPSBtYWtlVW5pcXVlPFJlc291cmNlTG9hZFN0YXRpc3RpY3NN
ZW1vcnlTdG9yZT4oKnRoaXMsIG1fc3RhdGlzdGljc1F1ZXVlLCBzaG91bGRJbmNsdWRlTG9jYWxo
b3N0KTsKKyAgICAgICAgICAgIGRvd25jYXN0PFJlc291cmNlTG9hZFN0YXRpc3RpY3NEYXRhYmFz
ZVN0b3JlPigqbV9zdGF0aXN0aWNzU3RvcmUuZ2V0KCkpLnBvcHVsYXRlRnJvbU1lbW9yeVN0b3Jl
KCptZW1vcnlTdG9yZSk7CiAKLSAgICAgICAgICAgICAgICBhdXRvIGxlZ2FjeVBsaXN0RmlsZVBh
dGggPSBGaWxlU3lzdGVtOjpwYXRoQnlBcHBlbmRpbmdDb21wb25lbnQocmVzb3VyY2VMb2FkU3Rh
dGlzdGljc0RpcmVjdG9yeSwgImZ1bGxfYnJvd3Npbmdfc2Vzc2lvbl9yZXNvdXJjZUxvZy5wbGlz
dCIpOwotICAgICAgICAgICAgICAgIGlmIChGaWxlU3lzdGVtOjpmaWxlRXhpc3RzKGxlZ2FjeVBs
aXN0RmlsZVBhdGgpKQotICAgICAgICAgICAgICAgICAgICBGaWxlU3lzdGVtOjpkZWxldGVGaWxl
KGxlZ2FjeVBsaXN0RmlsZVBhdGgpOwotCi0gICAgICAgICAgICB9IGVsc2UgewotICAgICAgICAg
ICAgICAgIG1fc3RhdGlzdGljc1N0b3JlID0gbWFrZVVuaXF1ZTxSZXNvdXJjZUxvYWRTdGF0aXN0
aWNzTWVtb3J5U3RvcmU+KCp0aGlzLCBtX3N0YXRpc3RpY3NRdWV1ZSwgc2hvdWxkSW5jbHVkZUxv
Y2FsaG9zdCk7Ci0gICAgICAgICAgICAgICAgbV9wZXJzaXN0ZW50U3RvcmFnZSA9IG1ha2VVbmlx
dWU8UmVzb3VyY2VMb2FkU3RhdGlzdGljc1BlcnNpc3RlbnRTdG9yYWdlPihkb3duY2FzdDxSZXNv
dXJjZUxvYWRTdGF0aXN0aWNzTWVtb3J5U3RvcmU+KCptX3N0YXRpc3RpY3NTdG9yZSksIG1fc3Rh
dGlzdGljc1F1ZXVlLCByZXNvdXJjZUxvYWRTdGF0aXN0aWNzRGlyZWN0b3J5KTsKLQotICAgICAg
ICAgICAgICAgIFNRTGl0ZUZpbGVTeXN0ZW06OmRlbGV0ZURhdGFiYXNlRmlsZShGaWxlU3lzdGVt
OjpwYXRoQnlBcHBlbmRpbmdDb21wb25lbnQocmVzb3VyY2VMb2FkU3RhdGlzdGljc0RpcmVjdG9y
eSwgIm9ic2VydmF0aW9ucy5kYiIpKTsKLSAgICAgICAgICAgIH0KKyAgICAgICAgICAgIGF1dG8g
bGVnYWN5UGxpc3RGaWxlUGF0aCA9IEZpbGVTeXN0ZW06OnBhdGhCeUFwcGVuZGluZ0NvbXBvbmVu
dChyZXNvdXJjZUxvYWRTdGF0aXN0aWNzRGlyZWN0b3J5LCAiZnVsbF9icm93c2luZ19zZXNzaW9u
X3Jlc291cmNlTG9nLnBsaXN0Iik7CisgICAgICAgICAgICBpZiAoRmlsZVN5c3RlbTo6ZmlsZUV4
aXN0cyhsZWdhY3lQbGlzdEZpbGVQYXRoKSkKKyAgICAgICAgICAgICAgICBGaWxlU3lzdGVtOjpk
ZWxldGVGaWxlKGxlZ2FjeVBsaXN0RmlsZVBhdGgpOwogCiAgICAgICAgICAgICBtX3N0YXRpc3Rp
Y3NTdG9yZS0+ZGlkQ3JlYXRlTmV0d29ya1Byb2Nlc3MoKTsKICAgICAgICAgfSk7CkBAIC0yMDcs
NyArMTk4LDYgQEAgV2ViUmVzb3VyY2VMb2FkU3RhdGlzdGljc1N0b3JlOjp+V2ViUmVzb3VyY2VM
b2FkU3RhdGlzdGljc1N0b3JlKCkKIHsKICAgICBSRUxFQVNFX0FTU0VSVChSdW5Mb29wOjppc01h
aW4oKSk7CiAgICAgUkVMRUFTRV9BU1NFUlQoIW1fc3RhdGlzdGljc1N0b3JlKTsKLSAgICBSRUxF
QVNFX0FTU0VSVCghbV9wZXJzaXN0ZW50U3RvcmFnZSk7CiB9CiAKIHZvaWQgV2ViUmVzb3VyY2VM
b2FkU3RhdGlzdGljc1N0b3JlOjpkaWREZXN0cm95TmV0d29ya1Nlc3Npb24oQ29tcGxldGlvbkhh
bmRsZXI8dm9pZCgpPiYmIGNvbXBsZXRpb25IYW5kbGVyKQpAQCAtMjE5LDcgKzIwOSw2IEBAIHZv
aWQgV2ViUmVzb3VyY2VMb2FkU3RhdGlzdGljc1N0b3JlOjpkaWREZXN0cm95TmV0d29ya1Nlc3Np
b24oQ29tcGxldGlvbkhhbmRsZXI8CiAgICAgfSk7CiAKICAgICBtX25ldHdvcmtTZXNzaW9uID0g
bnVsbHB0cjsKLSAgICBmbHVzaEFuZERlc3Ryb3lQZXJzaXN0ZW50U3RvcmUoW2NhbGxiYWNrQWdn
cmVnYXRvcl0geyB9KTsKICAgICBkZXN0cm95UmVzb3VyY2VMb2FkU3RhdGlzdGljc1N0b3JlKFtj
YWxsYmFja0FnZ3JlZ2F0b3JdIHsgfSk7CiB9CiAKQEAgLTI1NSwyOCArMjQ0LDEyIEBAIHZvaWQg
V2ViUmVzb3VyY2VMb2FkU3RhdGlzdGljc1N0b3JlOjpkZXN0cm95UmVzb3VyY2VMb2FkU3RhdGlz
dGljc1N0b3JlKENvbXBsZXRpCiAgICAgfSk7CiB9CiAKLXZvaWQgV2ViUmVzb3VyY2VMb2FkU3Rh
dGlzdGljc1N0b3JlOjpmbHVzaEFuZERlc3Ryb3lQZXJzaXN0ZW50U3RvcmUoQ29tcGxldGlvbkhh
bmRsZXI8dm9pZCgpPiYmIGNvbXBsZXRpb25IYW5kbGVyKQotewotICAgIFJFTEVBU0VfQVNTRVJU
KFJ1bkxvb3A6OmlzTWFpbigpKTsKLQotICAgIC8vIE1ha2Ugc3VyZSB3ZSBkZXN0cm95IHRoZSBw
ZXJzaXN0ZW50IHN0b3JlIG9uIHRoZSBiYWNrZ3JvdW5kIHF1ZXVlIGFuZCBzdGF5IGFsaXZlIHVu
dGlsIGl0Ci0gICAgLy8gaXMgZGVzdHJveWVkIGJlY2F1c2UgaXQgaGFzIGEgQysrIHJlZmVyZW5j
ZSB0byB1cy4KLSAgICBtX3N0YXRpc3RpY3NRdWV1ZS0+ZGlzcGF0Y2goW3RoaXMsIHByb3RlY3Rl
ZFRoaXMgPSBtYWtlUmVmKCp0aGlzKSwgY29tcGxldGlvbkhhbmRsZXIgPSBXVEZNb3ZlKGNvbXBs
ZXRpb25IYW5kbGVyKV0gKCkgbXV0YWJsZSB7Ci0gICAgICAgIG1fcGVyc2lzdGVudFN0b3JhZ2Ug
PSBudWxscHRyOwotICAgICAgICBSdW5Mb29wOjptYWluKCkuZGlzcGF0Y2goV1RGTW92ZShjb21w
bGV0aW9uSGFuZGxlcikpOwotICAgIH0pOwotfQotCiB2b2lkIFdlYlJlc291cmNlTG9hZFN0YXRp
c3RpY3NTdG9yZTo6cG9wdWxhdGVNZW1vcnlTdG9yZUZyb21EaXNrKENvbXBsZXRpb25IYW5kbGVy
PHZvaWQoKT4mJiBjb21wbGV0aW9uSGFuZGxlcikKIHsKICAgICBBU1NFUlQoUnVuTG9vcDo6aXNN
YWluKCkpOwogICAgIAogICAgIHBvc3RUYXNrKFt0aGlzLCBwcm90ZWN0ZWRUaGlzID0gbWFrZVJl
ZigqdGhpcyksIGNvbXBsZXRpb25IYW5kbGVyID0gV1RGTW92ZShjb21wbGV0aW9uSGFuZGxlcild
KCkgbXV0YWJsZSB7Ci0gICAgICAgIGlmIChtX3BlcnNpc3RlbnRTdG9yYWdlKQotICAgICAgICAg
ICAgbV9wZXJzaXN0ZW50U3RvcmFnZS0+cG9wdWxhdGVNZW1vcnlTdG9yZUZyb21EaXNrKFtwcm90
ZWN0ZWRUaGlzID0gV1RGTW92ZShwcm90ZWN0ZWRUaGlzKSwgY29tcGxldGlvbkhhbmRsZXIgPSBX
VEZNb3ZlKGNvbXBsZXRpb25IYW5kbGVyKV0oKSBtdXRhYmxlIHsKLSAgICAgICAgICAgICAgICBw
b3N0VGFza1JlcGx5KFdURk1vdmUoY29tcGxldGlvbkhhbmRsZXIpKTsKLSAgICAgICAgICAgIH0p
OwotICAgICAgICBlbHNlIGlmIChtX3N0YXRpc3RpY3NTdG9yZSAmJiBpczxSZXNvdXJjZUxvYWRT
dGF0aXN0aWNzRGF0YWJhc2VTdG9yZT4oKm1fc3RhdGlzdGljc1N0b3JlKSkgeworICAgICAgICBp
ZiAobV9zdGF0aXN0aWNzU3RvcmUgJiYgaXM8UmVzb3VyY2VMb2FkU3RhdGlzdGljc0RhdGFiYXNl
U3RvcmU+KCptX3N0YXRpc3RpY3NTdG9yZSkpIHsKICAgICAgICAgICAgIGF1dG8mIGRhdGFiYXNl
U3RvcmUgPSBkb3duY2FzdDxSZXNvdXJjZUxvYWRTdGF0aXN0aWNzRGF0YWJhc2VTdG9yZT4oKm1f
c3RhdGlzdGljc1N0b3JlKTsKICAgICAgICAgICAgIGlmIChkYXRhYmFzZVN0b3JlLmlzTmV3UmVz
b3VyY2VMb2FkU3RhdGlzdGljc0RhdGFiYXNlRmlsZSgpKSB7CiAgICAgICAgICAgICAgICAgbV9z
dGF0aXN0aWNzU3RvcmUtPmdyYW5kZmF0aGVyRXhpc3RpbmdXZWJzaXRlRGF0YShbcHJvdGVjdGVk
VGhpcyA9IFdURk1vdmUocHJvdGVjdGVkVGhpcyksIGNvbXBsZXRpb25IYW5kbGVyID0gV1RGTW92
ZShjb21wbGV0aW9uSGFuZGxlcildKCkgbXV0YWJsZSB7CkBAIC0xMTY4LDkgKzExNDEsNiBAQCB2
b2lkIFdlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NTdG9yZTo6c2NoZWR1bGVDbGVhckluTWVtb3J5
QW5kUGVyc2lzdGVudChTaG91bGRHcgogCiAgICAgQVNTRVJUKFJ1bkxvb3A6OmlzTWFpbigpKTsK
ICAgICBwb3N0VGFzayhbdGhpcywgcHJvdGVjdGVkVGhpcyA9IG1ha2VSZWYoKnRoaXMpLCBzaG91
bGRHcmFuZGZhdGhlciwgY29tcGxldGlvbkhhbmRsZXIgPSBXVEZNb3ZlKGNvbXBsZXRpb25IYW5k
bGVyKV0oKSBtdXRhYmxlIHsKLSAgICAgICAgaWYgKG1fcGVyc2lzdGVudFN0b3JhZ2UpCi0gICAg
ICAgICAgICBtX3BlcnNpc3RlbnRTdG9yYWdlLT5jbGVhcigpOwotCiAgICAgICAgIGlmICghbV9z
dGF0aXN0aWNzU3RvcmUpIHsKICAgICAgICAgICAgIGlmIChzaG91bGRHcmFuZGZhdGhlciA9PSBT
aG91bGRHcmFuZGZhdGhlclN0YXRpc3RpY3M6OlllcykKICAgICAgICAgICAgICAgICBSRUxFQVNF
X0xPRyhSZXNvdXJjZUxvYWRTdGF0aXN0aWNzLCAiV2ViUmVzb3VyY2VMb2FkU3RhdGlzdGljc1N0
b3JlOjpzY2hlZHVsZUNsZWFySW5NZW1vcnlBbmRQZXJzaXN0ZW50IEJlZm9yZSBiZWluZyBjbGVh
cmVkLCBtX3N0YXRpc3RpY3NTdG9yZSBpcyBudWxsIHdoZW4gdHJ5aW5nIHRvIGdyYW5kZmF0aGVy
IGRhdGEuIik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL0NsYXNz
aWZpZXIvV2ViUmVzb3VyY2VMb2FkU3RhdGlzdGljc1N0b3JlLmggYi9Tb3VyY2UvV2ViS2l0L05l
dHdvcmtQcm9jZXNzL0NsYXNzaWZpZXIvV2ViUmVzb3VyY2VMb2FkU3RhdGlzdGljc1N0b3JlLmgK
aW5kZXggYTc5N2M2ZGExNjE4N2JkYmRmMDQzZjlmZjk3NTNkNzNjMTU3MTk2Yi4uZmRkMjE0NDUx
Y2Q0MTc2NTdkM2VmNzY5NGM1ZmQ0Mjk3NzNjYWNjNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC9OZXR3b3JrUHJvY2Vzcy9DbGFzc2lmaWVyL1dlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NTdG9y
ZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvQ2xhc3NpZmllci9XZWJSZXNv
dXJjZUxvYWRTdGF0aXN0aWNzU3RvcmUuaApAQCAtNjMsNyArNjMsNiBAQCBuYW1lc3BhY2UgV2Vi
S2l0IHsKIAogY2xhc3MgTmV0d29ya1Nlc3Npb247CiBjbGFzcyBSZXNvdXJjZUxvYWRTdGF0aXN0
aWNzU3RvcmU7Ci1jbGFzcyBSZXNvdXJjZUxvYWRTdGF0aXN0aWNzUGVyc2lzdGVudFN0b3JhZ2U7
CiBjbGFzcyBXZWJGcmFtZVByb3h5OwogY2xhc3MgV2ViUHJvY2Vzc1Byb3h5OwogZW51bSBjbGFz
cyBTaG91bGRHcmFuZGZhdGhlclN0YXRpc3RpY3MgOiBib29sOwpAQCAtMzAyLDcgKzMwMSw2IEBA
IHN0cnVjdCBUaGlyZFBhcnR5RGF0YSB7CiAgICAgCiAgICAgYm9vbCBpc0VwaGVtZXJhbCgpIGNv
bnN0IHsgcmV0dXJuIG1faXNFcGhlbWVyYWwgPT0gV2ViQ29yZTo6UmVzb3VyY2VMb2FkU3RhdGlz
dGljczo6SXNFcGhlbWVyYWw6OlllczsgfTsKICAgICB2b2lkIGluc2VydEV4cGlyZWRTdGF0aXN0
aWNGb3JUZXN0aW5nKGNvbnN0IFJlZ2lzdHJhYmxlRG9tYWluJiwgYm9vbCBoYWRVc2VySW50ZXJh
Y3Rpb24sIGJvb2wgaXNTY2hlZHVsZWRGb3JBbGxCdXRDb29raWVEYXRhUmVtb3ZhbCwgYm9vbCBp
c1ByZXZhbGVudCwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZCgpPiYmKTsKLSAgICB2b2lkIGZsdXNo
QW5kRGVzdHJveVBlcnNpc3RlbnRTdG9yZShDb21wbGV0aW9uSGFuZGxlcjx2b2lkKCk+JiYpOwog
CiBwcml2YXRlOgogICAgIGV4cGxpY2l0IFdlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NTdG9yZShO
ZXR3b3JrU2Vzc2lvbiYsIGNvbnN0IFN0cmluZyYsIFNob3VsZEluY2x1ZGVMb2NhbGhvc3QsIFdl
YkNvcmU6OlJlc291cmNlTG9hZFN0YXRpc3RpY3M6OklzRXBoZW1lcmFsKTsKQEAgLTMyOCw3ICsz
MjYsNiBAQCBwcml2YXRlOgogICAgIFdlYWtQdHI8TmV0d29ya1Nlc3Npb24+IG1fbmV0d29ya1Nl
c3Npb247CiAgICAgUmVmPFdURjo6V29ya1F1ZXVlPiBtX3N0YXRpc3RpY3NRdWV1ZTsKICAgICBz
dGQ6OnVuaXF1ZV9wdHI8UmVzb3VyY2VMb2FkU3RhdGlzdGljc1N0b3JlPiBtX3N0YXRpc3RpY3NT
dG9yZTsKLSAgICBzdGQ6OnVuaXF1ZV9wdHI8UmVzb3VyY2VMb2FkU3RhdGlzdGljc1BlcnNpc3Rl
bnRTdG9yYWdlPiBtX3BlcnNpc3RlbnRTdG9yYWdlOwogCiAgICAgUnVuTG9vcDo6VGltZXI8V2Vi
UmVzb3VyY2VMb2FkU3RhdGlzdGljc1N0b3JlPiBtX2RhaWx5VGFza3NUaW1lcjsKIApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUHJvY2Vzcy5jcHAgYi9T
b3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzLmNwcAppbmRleCBiZThk
OTY2NjJiZTZkY2Q4NWZhM2MzMjkyOWFlMGYwYjVkMTgyMzQzLi40MDQxYzUyYjA3NWM2NDI1OWY2
ODA1MGJhOTdiNjgzMTFhM2E5NWNkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQ
cm9jZXNzL05ldHdvcmtQcm9jZXNzLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9j
ZXNzL05ldHdvcmtQcm9jZXNzLmNwcApAQCAtMjY5LDEyICsyNjksNyBAQCB2b2lkIE5ldHdvcmtQ
cm9jZXNzOjpkaWRDbG9zZShJUEM6OkNvbm5lY3Rpb24mKQogICAgICAgICBzdG9wUnVuTG9vcCgp
OwogICAgIH0pOwogCi0gICAgLy8gTWFrZSBzdXJlIHdlIGZsdXNoIGFsbCBjb29raWVzIGFuZCBy
ZXNvdXJjZSBsb2FkIHN0YXRpc3RpY3MgdG8gZGlzayBiZWZvcmUgZXhpdGluZy4KLSNpZiBFTkFC
TEUoUkVTT1VSQ0VfTE9BRF9TVEFUSVNUSUNTKQotICAgIGZvckVhY2hOZXR3b3JrU2Vzc2lvbihb
Jl0gKGF1dG8mIG5ldHdvcmtTZXNzaW9uKSB7Ci0gICAgICAgIG5ldHdvcmtTZXNzaW9uLmZsdXNo
QW5kRGVzdHJveVBlcnNpc3RlbnRTdG9yZShbY2FsbGJhY2tBZ2dyZWdhdG9yXSB7IH0pOwotICAg
IH0pOwotI2VuZGlmCisgICAgLy8gTWFrZSBzdXJlIHdlIGZsdXNoIGFsbCBjb29raWVzIHRvIGRp
c2sgYmVmb3JlIGV4aXRpbmcuCiAgICAgZm9yRWFjaE5ldHdvcmtTZXNzaW9uKFsmXSAoYXV0byYg
bmV0d29ya1Nlc3Npb24pIHsKICAgICAgICAgcGxhdGZvcm1GbHVzaENvb2tpZXMobmV0d29ya1Nl
c3Npb24uc2Vzc2lvbklEKCksIFtjYWxsYmFja0FnZ3JlZ2F0b3JdIHsgfSk7CiAgICAgfSk7CkBA
IC0zNDEsMTAgKzMzNiw2IEBAIHZvaWQgTmV0d29ya1Byb2Nlc3M6OmluaXRpYWxpemVOZXR3b3Jr
UHJvY2VzcyhOZXR3b3JrUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycyYmCiAKICAgICBzZXRDYWNo
ZU1vZGVsKHBhcmFtZXRlcnMuY2FjaGVNb2RlbCk7CiAKLSNpZiBFTkFCTEUoUkVTT1VSQ0VfTE9B
RF9TVEFUSVNUSUNTKQotICAgIG1faXNJVFBEYXRhYmFzZUVuYWJsZWQgPSBwYXJhbWV0ZXJzLnNo
b3VsZEVuYWJsZUlUUERhdGFiYXNlOwotI2VuZGlmCi0KICAgICBzZXRBZENsaWNrQXR0cmlidXRp
b25EZWJ1Z01vZGUocGFyYW1ldGVycy5lbmFibGVBZENsaWNrQXR0cmlidXRpb25EZWJ1Z01vZGUp
OwogCiAgICAgU2FuZGJveEV4dGVuc2lvbjo6Y29uc3VtZVBlcm1hbmVudGx5KHBhcmFtZXRlcnMu
ZGVmYXVsdERhdGFTdG9yZVBhcmFtZXRlcnMubmV0d29ya1Nlc3Npb25QYXJhbWV0ZXJzLnJlc291
cmNlTG9hZFN0YXRpc3RpY3NQYXJhbWV0ZXJzLmRpcmVjdG9yeUV4dGVuc2lvbkhhbmRsZSk7CkBA
IC02ODIsMjAgKzY3Myw2IEBAIHZvaWQgTmV0d29ya1Byb2Nlc3M6OnNldEdyYW5kZmF0aGVyZWQo
UEFMOjpTZXNzaW9uSUQgc2Vzc2lvbklELCBjb25zdCBSZWdpc3RyYWJsCiAgICAgfQogfQogCi12
b2lkIE5ldHdvcmtQcm9jZXNzOjpzZXRVc2VJVFBEYXRhYmFzZShQQUw6OlNlc3Npb25JRCBzZXNz
aW9uSUQsIGJvb2wgdmFsdWUsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoKT4mJiBjb21wbGV0aW9u
SGFuZGxlcikKLXsKLSAgICBpZiAoYXV0byogbmV0d29ya1Nlc3Npb24gPSB0aGlzLT5uZXR3b3Jr
U2Vzc2lvbihzZXNzaW9uSUQpKSB7Ci0gICAgICAgIGlmIChtX2lzSVRQRGF0YWJhc2VFbmFibGVk
ICE9IHZhbHVlKSB7Ci0gICAgICAgICAgICBtX2lzSVRQRGF0YWJhc2VFbmFibGVkID0gdmFsdWU7
Ci0gICAgICAgICAgICBuZXR3b3JrU2Vzc2lvbi0+cmVjcmVhdGVSZXNvdXJjZUxvYWRTdGF0aXN0
aWNTdG9yZShXVEZNb3ZlKGNvbXBsZXRpb25IYW5kbGVyKSk7Ci0gICAgICAgIH0gZWxzZQotICAg
ICAgICAgICAgY29tcGxldGlvbkhhbmRsZXIoKTsKLSAgICB9IGVsc2UgewotICAgICAgICBBU1NF
UlRfTk9UX1JFQUNIRUQoKTsKLSAgICAgICAgY29tcGxldGlvbkhhbmRsZXIoKTsKLSAgICB9Ci19
Ci0KIHZvaWQgTmV0d29ya1Byb2Nlc3M6OnNldFByZXZhbGVudFJlc291cmNlKFBBTDo6U2Vzc2lv
bklEIHNlc3Npb25JRCwgY29uc3QgUmVnaXN0cmFibGVEb21haW4mIGRvbWFpbiwgQ29tcGxldGlv
bkhhbmRsZXI8dm9pZCgpPiYmIGNvbXBsZXRpb25IYW5kbGVyKQogewogICAgIGlmIChhdXRvKiBu
ZXR3b3JrU2Vzc2lvbiA9IHRoaXMtPm5ldHdvcmtTZXNzaW9uKHNlc3Npb25JRCkpIHsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Byb2Nlc3MuaCBiL1Nv
dXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Byb2Nlc3MuaAppbmRleCA2YWQzZDY5
OWE4OTFjM2JmOTJkNWUyYzRkNDQ4M2MzNjJmMjY0NmQwLi43MTZhMTAxZGNiYzYyMjI1NDhhZmQ0
ZDZmMzg4ODdkZmFmY2RmMmFlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9j
ZXNzL05ldHdvcmtQcm9jZXNzLmgKKysrIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9O
ZXR3b3JrUHJvY2Vzcy5oCkBAIC0yMjAsNyArMjIwLDYgQEAgcHVibGljOgogICAgIHZvaWQgaXNS
ZWdpc3RlcmVkQXNTdWJGcmFtZVVuZGVyKFBBTDo6U2Vzc2lvbklELCBjb25zdCBTdWJGcmFtZURv
bWFpbiYsIGNvbnN0IFRvcEZyYW1lRG9tYWluJiwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChib29s
KT4mJik7CiAgICAgdm9pZCBpc1JlZ2lzdGVyZWRBc1N1YnJlc291cmNlVW5kZXIoUEFMOjpTZXNz
aW9uSUQsIGNvbnN0IFN1YlJlc291cmNlRG9tYWluJiwgY29uc3QgVG9wRnJhbWVEb21haW4mLCBD
b21wbGV0aW9uSGFuZGxlcjx2b2lkKGJvb2wpPiYmKTsKICAgICB2b2lkIHNldEdyYW5kZmF0aGVy
ZWQoUEFMOjpTZXNzaW9uSUQsIGNvbnN0IFJlZ2lzdHJhYmxlRG9tYWluJiwgYm9vbCBpc0dyYW5k
ZmF0aGVyZWQsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoKT4mJik7Ci0gICAgdm9pZCBzZXRVc2VJ
VFBEYXRhYmFzZShQQUw6OlNlc3Npb25JRCwgYm9vbCB2YWx1ZSwgQ29tcGxldGlvbkhhbmRsZXI8
dm9pZCgpPiYmKTsKICAgICB2b2lkIHNldE1heFN0YXRpc3RpY3NFbnRyaWVzKFBBTDo6U2Vzc2lv
bklELCB1aW50NjRfdCBtYXhpbXVtRW50cnlDb3VudCwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZCgp
PiYmKTsKICAgICB2b2lkIHNldFByZXZhbGVudFJlc291cmNlKFBBTDo6U2Vzc2lvbklELCBjb25z
dCBSZWdpc3RyYWJsZURvbWFpbiYsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoKT4mJik7CiAgICAg
dm9pZCBzZXRQcmV2YWxlbnRSZXNvdXJjZUZvckRlYnVnTW9kZShQQUw6OlNlc3Npb25JRCwgY29u
c3QgUmVnaXN0cmFibGVEb21haW4mLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKCk+JiYpOwpAQCAt
MjY5LDcgKzI2OCw2IEBAIHB1YmxpYzoKICNpZiBFTkFCTEUoQVBQX0JPVU5EX0RPTUFJTlMpCiAg
ICAgdm9pZCBzZXRBcHBCb3VuZERvbWFpbnNGb3JSZXNvdXJjZUxvYWRTdGF0aXN0aWNzKFBBTDo6
U2Vzc2lvbklELCBIYXNoU2V0PFdlYkNvcmU6OlJlZ2lzdHJhYmxlRG9tYWluPiYmLCBDb21wbGV0
aW9uSGFuZGxlcjx2b2lkKCk+JiYpOwogI2VuZGlmCi0gICAgYm9vbCBpc0lUUERhdGFiYXNlRW5h
YmxlZCgpIGNvbnN0IHsgcmV0dXJuIG1faXNJVFBEYXRhYmFzZUVuYWJsZWQ7IH0KICAgICB2b2lk
IHNldFNob3VsZERvd25ncmFkZVJlZmVycmVyRm9yVGVzdGluZyhib29sLCBDb21wbGV0aW9uSGFu
ZGxlcjx2b2lkKCk+JiYpOwogICAgIHZvaWQgc2V0VGhpcmRQYXJ0eUNvb2tpZUJsb2NraW5nTW9k
ZShQQUw6OlNlc3Npb25JRCwgV2ViQ29yZTo6VGhpcmRQYXJ0eUNvb2tpZUJsb2NraW5nTW9kZSwg
Q29tcGxldGlvbkhhbmRsZXI8dm9pZCgpPiYmKTsKICAgICB2b2lkIHNldFNob3VsZEVuYmxlU2Ft
ZVNpdGVTdHJpY3RFbmZvcmNlbWVudEZvclRlc3RpbmcoUEFMOjpTZXNzaW9uSUQsIFdlYkNvcmU6
OlNhbWVTaXRlU3RyaWN0RW5mb3JjZW1lbnRFbmFibGVkLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lk
KCk+JiYpOwpAQCAtNTgyLDEwICs1ODAsNiBAQCBwcml2YXRlOgogI2lmIFBMQVRGT1JNKENPQ09B
KQogICAgIHN0ZDo6dW5pcXVlX3B0cjxOZXR3b3JrSFRUUFNVcGdyYWRlQ2hlY2tlcj4gbV9uZXR3
b3JrSFRUUFNVcGdyYWRlQ2hlY2tlcjsKICNlbmRpZgotCi0jaWYgRU5BQkxFKFJFU09VUkNFX0xP
QURfU1RBVElTVElDUykKLSAgICBib29sIG1faXNJVFBEYXRhYmFzZUVuYWJsZWQgeyBmYWxzZSB9
OwotI2VuZGlmCiAgICAgCiAgICAgTG9jayBtX3Nlc3Npb25TdG9yYWdlUXVvdGFNYW5hZ2Vyc0xv
Y2s7CiAgICAgSGFzaE1hcDxQQUw6OlNlc3Npb25JRCwgc3RkOjp1bmlxdWVfcHRyPFNlc3Npb25T
dG9yYWdlUXVvdGFNYW5hZ2VyPj4gbV9zZXNzaW9uU3RvcmFnZVF1b3RhTWFuYWdlcnM7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzLm1lc3Nh
Z2VzLmluIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUHJvY2Vzcy5tZXNz
YWdlcy5pbgppbmRleCA5OWFkODQwYTNmODZjOGQ3NjE1MjA0MzNkZWMwM2FlNDViODA1OTY3Li43
N2RjMjNhZGMyZWJlMTgwNDE1OWFjZDFmNDgxODlhZjQyMDI1NjUwIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzLm1lc3NhZ2VzLmluCisrKyBi
L1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Byb2Nlc3MubWVzc2FnZXMuaW4K
QEAgLTExNyw3ICsxMTcsNiBAQCBtZXNzYWdlcyAtPiBOZXR3b3JrUHJvY2VzcyBMZWdhY3lSZWNl
aXZlciB7CiAgICAgU3VibWl0VGVsZW1ldHJ5KFBBTDo6U2Vzc2lvbklEIHNlc3Npb25JRCkgLT4g
KCkgQXN5bmMKICAgICBTZXRDYWNoZU1heEFnZUNhcEZvclByZXZhbGVudFJlc291cmNlcyhQQUw6
OlNlc3Npb25JRCBzZXNzaW9uSUQsIFNlY29uZHMgc2Vjb25kcykgLT4gKCkgQXN5bmMKICAgICBT
ZXRHcmFuZGZhdGhlcmVkKFBBTDo6U2Vzc2lvbklEIHNlc3Npb25JRCwgV2ViQ29yZTo6UmVnaXN0
cmFibGVEb21haW4gcmVzb3VyY2VEb21haW4sIGJvb2wgaXNHcmFuZGZhdGhlcmVkKSAtPiAoKSBB
c3luYwotICAgIFNldFVzZUlUUERhdGFiYXNlKFBBTDo6U2Vzc2lvbklEIHNlc3Npb25JRCwgYm9v
bCB2YWx1ZSkgLT4gKCkgQXN5bmMKICAgICBHZXRSZXNvdXJjZUxvYWRTdGF0aXN0aWNzRGF0YVN1
bW1hcnkoUEFMOjpTZXNzaW9uSUQgc2Vzc2lvbklEKSAtPiAoVmVjdG9yPFdlYktpdDo6V2ViUmVz
b3VyY2VMb2FkU3RhdGlzdGljc1N0b3JlOjpUaGlyZFBhcnR5RGF0YT4gdGhpcmRQYXJ0eURhdGEp
IEFzeW5jCiAgICAgU2V0R3JhbmRmYXRoZXJpbmdUaW1lKFBBTDo6U2Vzc2lvbklEIHNlc3Npb25J
RCwgU2Vjb25kcyBzZWNvbmRzKSAtPiAoKSBBc3luYwogICAgIFNldE1heFN0YXRpc3RpY3NFbnRy
aWVzKFBBTDo6U2Vzc2lvbklEIHNlc3Npb25JRCwgdWludDY0X3QgbWF4aW11bUVudHJ5Q291bnQp
IC0+ICgpIEFzeW5jCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05l
dHdvcmtQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzLmNwcCBiL1NvdXJjZS9XZWJLaXQvTmV0d29y
a1Byb2Nlc3MvTmV0d29ya1Byb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMuY3BwCmluZGV4IGNjNWM0
NGJjZGU0YzM2YjVkMzFmZTIzYTNjYjVmMjM1YzQ0OGUzMGMuLjcxNjNlYzIxNWU5YjI3MTlkN2Y4
MzVlZDY2ZDU5ZmU2ZGU4OTQxYWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1By
b2Nlc3MvTmV0d29ya1Byb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMuY3BwCisrKyBiL1NvdXJjZS9X
ZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Byb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMuY3Bw
CkBAIC02OSw3ICs2OSw2IEBAIHZvaWQgTmV0d29ya1Byb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnM6
OmVuY29kZShJUEM6OkVuY29kZXImIGVuY29kZXIpIGNvbnN0CiAjaWYgRU5BQkxFKFNFUlZJQ0Vf
V09SS0VSKQogICAgIGVuY29kZXIgPDwgc2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbkRpcmVjdG9y
eSA8PCBzZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uRGlyZWN0b3J5RXh0ZW5zaW9uSGFuZGxlIDw8
IHNob3VsZERpc2FibGVTZXJ2aWNlV29ya2VyUHJvY2Vzc1Rlcm1pbmF0aW9uRGVsYXk7CiAjZW5k
aWYKLSAgICBlbmNvZGVyIDw8IHNob3VsZEVuYWJsZUlUUERhdGFiYXNlOwogICAgIGVuY29kZXIg
PDwgZW5hYmxlQWRDbGlja0F0dHJpYnV0aW9uRGVidWdNb2RlOwogfQogCkBAIC0xNTAsOSArMTQ5
LDYgQEAgYm9vbCBOZXR3b3JrUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVyczo6ZGVjb2RlKElQQzo6
RGVjb2RlciYgZGVjb2RlciwgTmV0d29ya1Byb2MKICAgICAgICAgcmV0dXJuIGZhbHNlOwogI2Vu
ZGlmCiAKLSAgICBpZiAoIWRlY29kZXIuZGVjb2RlKHJlc3VsdC5zaG91bGRFbmFibGVJVFBEYXRh
YmFzZSkpCi0gICAgICAgIHJldHVybiBmYWxzZTsKLQogICAgIGlmICghZGVjb2Rlci5kZWNvZGUo
cmVzdWx0LmVuYWJsZUFkQ2xpY2tBdHRyaWJ1dGlvbkRlYnVnTW9kZSkpCiAgICAgICAgIHJldHVy
biBmYWxzZTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3
b3JrUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5oIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJv
Y2Vzcy9OZXR3b3JrUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5oCmluZGV4IGRmZjNlNWZmMDRi
OGRlZmQxZDg2ODg2MmEwMWIxODJlZmFhZWUwMmEuLjhmMGEwMDM5NmJiZjAzMzAxMzAwMTgyYjll
MWZkMzZkZmI0MDE5NTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3Mv
TmV0d29ya1Byb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMuaAorKysgYi9Tb3VyY2UvV2ViS2l0L05l
dHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzLmgKQEAgLTg3LDcg
Kzg3LDYgQEAgc3RydWN0IE5ldHdvcmtQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzIHsKICAgICBT
YW5kYm94RXh0ZW5zaW9uOjpIYW5kbGUgc2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbkRpcmVjdG9y
eUV4dGVuc2lvbkhhbmRsZTsKICAgICBib29sIHNob3VsZERpc2FibGVTZXJ2aWNlV29ya2VyUHJv
Y2Vzc1Rlcm1pbmF0aW9uRGVsYXkgeyBmYWxzZSB9OwogI2VuZGlmCi0gICAgYm9vbCBzaG91bGRF
bmFibGVJVFBEYXRhYmFzZSB7IGZhbHNlIH07CiAgICAgYm9vbCBlbmFibGVBZENsaWNrQXR0cmli
dXRpb25EZWJ1Z01vZGUgeyBmYWxzZSB9OwogfTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrU2Vzc2lvbi5jcHAgYi9Tb3VyY2UvV2ViS2l0L05ldHdv
cmtQcm9jZXNzL05ldHdvcmtTZXNzaW9uLmNwcAppbmRleCBlODc1YmI5ODRjMDE2ZTE3M2MwN2Iw
Yzg2NTgwYTZkMDRhZGI5OGQ1Li42OTgzMWE3MDBiZWJmNDY1YjIyMTEyMWJmNTNlZTJiY2Q1ZmQ4
ZDhkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtTZXNz
aW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtTZXNzaW9u
LmNwcApAQCAtMTQ4LDE0ICsxNDgsNiBAQCB2b2lkIE5ldHdvcmtTZXNzaW9uOjpkZXN0cm95UmVz
b3VyY2VMb2FkU3RhdGlzdGljcyhDb21wbGV0aW9uSGFuZGxlcjx2b2lkKCk+JiYgYwogICAgIG1f
cmVzb3VyY2VMb2FkU3RhdGlzdGljcy0+ZGlkRGVzdHJveU5ldHdvcmtTZXNzaW9uKFdURk1vdmUo
Y29tcGxldGlvbkhhbmRsZXIpKTsKICAgICBtX3Jlc291cmNlTG9hZFN0YXRpc3RpY3MgPSBudWxs
cHRyOwogfQotCi12b2lkIE5ldHdvcmtTZXNzaW9uOjpmbHVzaEFuZERlc3Ryb3lQZXJzaXN0ZW50
U3RvcmUoQ29tcGxldGlvbkhhbmRsZXI8dm9pZCgpPiYmIGNvbXBsZXRpb25IYW5kbGVyKQotewot
ICAgIGlmICghbV9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzKQotICAgICAgICByZXR1cm4gY29tcGxl
dGlvbkhhbmRsZXIoKTsKLQotICAgIG1fcmVzb3VyY2VMb2FkU3RhdGlzdGljcy0+Zmx1c2hBbmRE
ZXN0cm95UGVyc2lzdGVudFN0b3JlKFdURk1vdmUoY29tcGxldGlvbkhhbmRsZXIpKTsKLX0KICNl
bmRpZgogCiB2b2lkIE5ldHdvcmtTZXNzaW9uOjppbnZhbGlkYXRlQW5kQ2FuY2VsKCkKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Nlc3Npb24uaCBiL1Nv
dXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Nlc3Npb24uaAppbmRleCA2ZGVmZjBk
MGJhOWNkMmJkYWMxYjIxNzczNDZlM2ExOWM0MGU2NGU2Li5jMmQ0ZmM1NzBhNWZlOWRhNDAyMTBh
ZGVjOTM4MTlmMjQ4NWVmOTU5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9j
ZXNzL05ldHdvcmtTZXNzaW9uLmgKKysrIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9O
ZXR3b3JrU2Vzc2lvbi5oCkBAIC0xMTEsNyArMTExLDYgQEAgcHVibGljOgogICAgIE9wdGlvbmFs
PFdlYkNvcmU6OlJlZ2lzdHJhYmxlRG9tYWluPiB0aGlyZFBhcnR5Q05BTUVEb21haW5Gb3JUZXN0
aW5nKCkgY29uc3QgeyByZXR1cm4gbV90aGlyZFBhcnR5Q05BTUVEb21haW5Gb3JUZXN0aW5nOyB9
CiAgICAgdm9pZCByZXNldENOQU1FRG9tYWluRGF0YSgpOwogICAgIHZvaWQgZGVzdHJveVJlc291
cmNlTG9hZFN0YXRpc3RpY3MoQ29tcGxldGlvbkhhbmRsZXI8dm9pZCgpPiYmKTsKLSAgICB2b2lk
IGZsdXNoQW5kRGVzdHJveVBlcnNpc3RlbnRTdG9yZShDb21wbGV0aW9uSGFuZGxlcjx2b2lkKCk+
JiYpOwogI2VuZGlmCiAgICAgCiAjaWYgRU5BQkxFKEFQUF9CT1VORF9ET01BSU5TKQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC9TaGFyZWQvV2ViUHJlZmVyZW5jZXNJbnRlcm5hbC55YW1sIGIv
U291cmNlL1dlYktpdC9TaGFyZWQvV2ViUHJlZmVyZW5jZXNJbnRlcm5hbC55YW1sCmluZGV4IDI2
NzQ1Y2UzNGJmMmYwOTk3MDZhYzQ4NGMwOTdjNmZiN2Q1Mzk4NzAuLmFjMzg1Yjg2MmY0N2JiZjVh
MWRmMDI2OWMyMWMwMjI5NjM0ZmE3ZmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU2hhcmVk
L1dlYlByZWZlcmVuY2VzSW50ZXJuYWwueWFtbAorKysgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9X
ZWJQcmVmZXJlbmNlc0ludGVybmFsLnlhbWwKQEAgLTE1MywxMyArMTUzLDYgQEAgRXhwZXJpbWVu
dGFsUGx1Z0luU2FuZGJveFByb2ZpbGVzRW5hYmxlZDoKICAgd2ViY29yZUJpbmRpbmc6IFJ1bnRp
bWVFbmFibGVkRmVhdHVyZXMKICAgd2ViY29yZU5hbWU6IGV4cGVyaW1lbnRhbFBsdWdJblNhbmRi
b3hQcm9maWxlc0VuYWJsZWQKIAotSXNJVFBEYXRhYmFzZUVuYWJsZWQ6Ci0gIHR5cGU6IGJvb2wK
LSAgZGVmYXVsdFZhbHVlOiB0cnVlCi0gIGh1bWFuUmVhZGFibGVOYW1lOiAiSVRQIERhdGFiYXNl
IEJhY2tlbmQiCi0gIGh1bWFuUmVhZGFibGVEZXNjcmlwdGlvbjogIkVuYWJsZSBJbnRlbGxpZ2Vu
dCBUcmFja2luZyBQcmV2ZW50aW9uIERhdGFiYXNlIEJhY2tlbmQiCi0gIHdlYmNvcmVCaW5kaW5n
OiBSdW50aW1lRW5hYmxlZEZlYXR1cmVzCi0KIFNlcnZpY2VXb3JrZXJzRW5hYmxlZDoKICAgdHlw
ZTogYm9vbAogICBkZWZhdWx0VmFsdWU6IERFRkFVTFRfU0VSVklDRV9XT1JLRVJTX0VOQUJMRUQK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU291cmNlcy50eHQgYi9Tb3VyY2UvV2ViS2l0L1Nv
dXJjZXMudHh0CmluZGV4IGM4ODRmMGVkZThiOWRmYWIzMzJjODQzZGU0Yjg1YjExNjEyMGIwYjku
LmNmOWRhZDQwZThlZDU3M2MxODY0N2UxMGU3YjVlODRiYjU4MGQzOGUgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvU291cmNlcy50eHQKKysrIGIvU291cmNlL1dlYktpdC9Tb3VyY2VzLnR4dApA
QCAtNzcsNyArNzcsNiBAQCBOZXR3b3JrUHJvY2Vzcy9QcmVjb25uZWN0VGFzay5jcHAKIAogTmV0
d29ya1Byb2Nlc3MvQ2xhc3NpZmllci9SZXNvdXJjZUxvYWRTdGF0aXN0aWNzRGF0YWJhc2VTdG9y
ZS5jcHAKIE5ldHdvcmtQcm9jZXNzL0NsYXNzaWZpZXIvUmVzb3VyY2VMb2FkU3RhdGlzdGljc01l
bW9yeVN0b3JlLmNwcAotTmV0d29ya1Byb2Nlc3MvQ2xhc3NpZmllci9SZXNvdXJjZUxvYWRTdGF0
aXN0aWNzUGVyc2lzdGVudFN0b3JhZ2UuY3BwCiBOZXR3b3JrUHJvY2Vzcy9DbGFzc2lmaWVyL1Jl
c291cmNlTG9hZFN0YXRpc3RpY3NTdG9yZS5jcHAKIAogTmV0d29ya1Byb2Nlc3MvQ29va2llcy9X
ZWJDb29raWVNYW5hZ2VyLmNwcApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9Tb3VyY2VzQ29j
b2EudHh0IGIvU291cmNlL1dlYktpdC9Tb3VyY2VzQ29jb2EudHh0CmluZGV4IDg5MmVmNTRhN2Fh
ZjgwN2NlZjQ4MGY2NzMyZDg3NzMwZTliZGQ0ZjAuLmE1YTAxYzMwZTQ0ZWRiZTBhZWJjYTZkMmRh
YjVkZDljMzQyODg2M2QgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU291cmNlc0NvY29hLnR4
dAorKysgYi9Tb3VyY2UvV2ViS2l0L1NvdXJjZXNDb2NvYS50eHQKQEAgLTQ0Nyw3ICs0NDcsNiBA
QCBVSVByb2Nlc3MvaW9zL0RyYWdEcm9wSW50ZXJhY3Rpb25TdGF0ZS5tbQogVUlQcm9jZXNzL2lv
cy9JbnB1dFZpZXdVcGRhdGVEZWZlcnJlci5tbQogVUlQcm9jZXNzL2lvcy9QYWdlQ2xpZW50SW1w
bElPUy5tbQogVUlQcm9jZXNzL2lvcy9Qcm9jZXNzQXNzZXJ0aW9uSU9TLm1tCi1VSVByb2Nlc3Mv
aW9zL1Jlc291cmNlTG9hZFN0YXRpc3RpY3NQZXJzaXN0ZW50U3RvcmFnZUlPUy5tbQogVUlQcm9j
ZXNzL2lvcy9TbWFydE1hZ25pZmljYXRpb25Db250cm9sbGVyLm1tCiBVSVByb2Nlc3MvaW9zL1Rl
eHRDaGVja2VySU9TLm1tCiBVSVByb2Nlc3MvaW9zL1ZpZXdHZXN0dXJlQ29udHJvbGxlcklPUy5t
bQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0MvV0tQcmVmZXJlbmNl
cy5jcHAgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQy9XS1ByZWZlcmVuY2VzLmNwcApp
bmRleCA3NzdiNTliNjk5YWEzOTZkYWM0NzA3MDU3MWY4MWU1MTdhNzNjZmE2Li5lMDBkODlmMDQz
ZTE3YmZlYWRjOWIxMzUwYmQ0NzU1YzQ0MTM4ZDZiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9BUEkvQy9XS1ByZWZlcmVuY2VzLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9BUEkvQy9XS1ByZWZlcmVuY2VzLmNwcApAQCAtMTI1LDE2ICsxMjUsNiBAQCBib29s
IFdLUHJlZmVyZW5jZXNHZXRMb2Fkc1NpdGVJY29uc0lnbm9yaW5nSW1hZ2VMb2FkaW5nUHJlZmVy
ZW5jZShXS1ByZWZlcmVuY2VzUgogICAgIHJldHVybiB0b0ltcGwocHJlZmVyZW5jZXNSZWYpLT5s
b2Fkc1NpdGVJY29uc0lnbm9yaW5nSW1hZ2VMb2FkaW5nUHJlZmVyZW5jZSgpOwogfQogCi12b2lk
IFdLUHJlZmVyZW5jZXNTZXRJc0lUUERhdGFiYXNlRW5hYmxlZChXS1ByZWZlcmVuY2VzUmVmIHBy
ZWZlcmVuY2VzUmVmLCBib29sIGlzSVRQRGF0YWJhc2VFbmFibGVkKQotewotICAgIHRvSW1wbChw
cmVmZXJlbmNlc1JlZiktPnNldElzSVRQRGF0YWJhc2VFbmFibGVkKGlzSVRQRGF0YWJhc2VFbmFi
bGVkKTsKLX0KLQotYm9vbCBXS1ByZWZlcmVuY2VzR2V0SXNJVFBEYXRhYmFzZUVuYWJsZWQoV0tQ
cmVmZXJlbmNlc1JlZiBwcmVmZXJlbmNlc1JlZikKLXsKLSAgICByZXR1cm4gdG9JbXBsKHByZWZl
cmVuY2VzUmVmKS0+aXNJVFBEYXRhYmFzZUVuYWJsZWQoKTsKLX0KLQogdm9pZCBXS1ByZWZlcmVu
Y2VzU2V0T2ZmbGluZVdlYkFwcGxpY2F0aW9uQ2FjaGVFbmFibGVkKFdLUHJlZmVyZW5jZXNSZWYg
cHJlZmVyZW5jZXNSZWYsIGJvb2wgb2ZmbGluZVdlYkFwcGxpY2F0aW9uQ2FjaGVFbmFibGVkKQog
ewogICAgIHRvSW1wbChwcmVmZXJlbmNlc1JlZiktPnNldE9mZmxpbmVXZWJBcHBsaWNhdGlvbkNh
Y2hlRW5hYmxlZChvZmZsaW5lV2ViQXBwbGljYXRpb25DYWNoZUVuYWJsZWQpOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0MvV0tQcmVmZXJlbmNlc1JlZi5oIGIvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0MvV0tQcmVmZXJlbmNlc1JlZi5oCmluZGV4IGMyZTcw
NjY3ZmQwOWJjODY5MzFkMTUxZDEyMWQ5ODlmNWViMTg1OTUuLjNiMTdjYmU2MzkyMDliNjI3NDU1
MjI3ZTg3NjUzMmM3MWViYzZjZDggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L0FQSS9DL1dLUHJlZmVyZW5jZXNSZWYuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9B
UEkvQy9XS1ByZWZlcmVuY2VzUmVmLmgKQEAgLTc5LDEwICs3OSw2IEBAIFdLX0VYUE9SVCBib29s
IFdLUHJlZmVyZW5jZXNHZXRMb2Fkc0ltYWdlc0F1dG9tYXRpY2FsbHkoV0tQcmVmZXJlbmNlc1Jl
ZiBwcmVmZXJlCiBXS19FWFBPUlQgdm9pZCBXS1ByZWZlcmVuY2VzU2V0TG9hZHNTaXRlSWNvbnNJ
Z25vcmluZ0ltYWdlTG9hZGluZ1ByZWZlcmVuY2UoV0tQcmVmZXJlbmNlc1JlZiBwcmVmZXJlbmNl
cywgYm9vbCBsb2Fkc1NpdGVJY29uc0lnbm9yaW5nSW1hZ2VMb2FkaW5nUHJlZmVyZW5jZSk7CiBX
S19FWFBPUlQgYm9vbCBXS1ByZWZlcmVuY2VzR2V0TG9hZHNTaXRlSWNvbnNJZ25vcmluZ0ltYWdl
TG9hZGluZ1ByZWZlcmVuY2UoV0tQcmVmZXJlbmNlc1JlZiBwcmVmZXJlbmNlcyk7CiAKLS8vIERl
ZmF1bHRzIHRvIHRydWUuCi1XS19FWFBPUlQgdm9pZCBXS1ByZWZlcmVuY2VzU2V0SXNJVFBEYXRh
YmFzZUVuYWJsZWQoV0tQcmVmZXJlbmNlc1JlZiBwcmVmZXJlbmNlcywgYm9vbCBpc0lUUERhdGFi
YXNlRW5hYmxlZCk7Ci1XS19FWFBPUlQgYm9vbCBXS1ByZWZlcmVuY2VzR2V0SXNJVFBEYXRhYmFz
ZUVuYWJsZWQoV0tQcmVmZXJlbmNlc1JlZiBwcmVmZXJlbmNlcyk7Ci0KIC8vIERlZmF1bHRzIHRv
IHRydWUuCiBXS19FWFBPUlQgdm9pZCBXS1ByZWZlcmVuY2VzU2V0T2ZmbGluZVdlYkFwcGxpY2F0
aW9uQ2FjaGVFbmFibGVkKFdLUHJlZmVyZW5jZXNSZWYgcHJlZmVyZW5jZXMsIGJvb2wgb2ZmbGlu
ZVdlYkFwcGxpY2F0aW9uQ2FjaGVFbmFibGVkKTsKIFdLX0VYUE9SVCBib29sIFdLUHJlZmVyZW5j
ZXNHZXRPZmZsaW5lV2ViQXBwbGljYXRpb25DYWNoZUVuYWJsZWQoV0tQcmVmZXJlbmNlc1JlZiBw
cmVmZXJlbmNlcyk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQy9X
S1dlYnNpdGVEYXRhU3RvcmVSZWYuY3BwIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0Mv
V0tXZWJzaXRlRGF0YVN0b3JlUmVmLmNwcAppbmRleCA5ZGRhNTkxYzk1MTg5YWIwYzI1YWM1NTQ2
NmMwYTJiZmMzOTI3ZWJjLi5mZjg2MmJiMDU3M2U2MjAyZDYzNzczZmE4N2YwN2RjYzZjNDliMzRl
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQy9XS1dlYnNpdGVEYXRh
U3RvcmVSZWYuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9DL1dLV2Vic2l0
ZURhdGFTdG9yZVJlZi5jcHAKQEAgLTM3NCwxNyArMzc0LDYgQEAgdm9pZCBXS1dlYnNpdGVEYXRh
U3RvcmVJc1N0YXRpc3RpY3NHcmFuZGZhdGhlcmVkKFdLV2Vic2l0ZURhdGFTdG9yZVJlZiBkYXRh
U3RvcmUKICNlbmRpZgogfQogCi12b2lkIFdLV2Vic2l0ZURhdGFTdG9yZVNldFVzZUlUUERhdGFi
YXNlKFdLV2Vic2l0ZURhdGFTdG9yZVJlZiBkYXRhU3RvcmVSZWYsIGJvb2wgdmFsdWUsIHZvaWQq
IGNvbnRleHQsIFdLV2Vic2l0ZURhdGFTdG9yZVNldFVzZUlUUERhdGFiYXNlRnVuY3Rpb24gY29t
cGxldGlvbkhhbmRsZXIpCi17Ci0jaWYgRU5BQkxFKFJFU09VUkNFX0xPQURfU1RBVElTVElDUykK
LSAgICBXZWJLaXQ6OnRvSW1wbChkYXRhU3RvcmVSZWYpLT5zZXRVc2VJVFBEYXRhYmFzZSh2YWx1
ZSwgW2NvbnRleHQsIGNvbXBsZXRpb25IYW5kbGVyXSB7Ci0gICAgICAgIGNvbXBsZXRpb25IYW5k
bGVyKGNvbnRleHQpOwotICAgIH0pOwotI2Vsc2UKLSAgICBjb21wbGV0aW9uSGFuZGxlcihjb250
ZXh0KTsKLSNlbmRpZgotfQotCiB2b2lkIFdLV2Vic2l0ZURhdGFTdG9yZVNldFN0YXRpc3RpY3NT
dWJmcmFtZVVuZGVyVG9wRnJhbWVPcmlnaW4oV0tXZWJzaXRlRGF0YVN0b3JlUmVmIGRhdGFTdG9y
ZVJlZiwgV0tTdHJpbmdSZWYgaG9zdCwgV0tTdHJpbmdSZWYgdG9wRnJhbWVIb3N0KQogewogI2lm
IEVOQUJMRShSRVNPVVJDRV9MT0FEX1NUQVRJU1RJQ1MpCkBAIC03MjUsNyArNzE0LDYgQEAgdm9p
ZCBXS1dlYnNpdGVEYXRhU3RvcmVTdGF0aXN0aWNzUmVzZXRUb0NvbnNpc3RlbnRTdGF0ZShXS1dl
YnNpdGVEYXRhU3RvcmVSZWYgZGEKICAgICBzdG9yZS5zZXRSZXNvdXJjZUxvYWRTdGF0aXN0aWNz
Rmlyc3RQYXJ0eVdlYnNpdGVEYXRhUmVtb3ZhbE1vZGVGb3JUZXN0aW5nKGZhbHNlLCBbY2FsbGJh
Y2tBZ2dyZWdhdG9yXSB7IH0pOwogICAgIHN0b3JlLnJlc2V0UGFyYW1ldGVyc1RvRGVmYXVsdFZh
bHVlcyhbY2FsbGJhY2tBZ2dyZWdhdG9yXSB7IH0pOwogICAgIHN0b3JlLnNjaGVkdWxlQ2xlYXJJ
bk1lbW9yeUFuZFBlcnNpc3RlbnQoV2ViS2l0OjpTaG91bGRHcmFuZGZhdGhlclN0YXRpc3RpY3M6
Ok5vLCBbY2FsbGJhY2tBZ2dyZWdhdG9yXSB7IH0pOwotICAgIHN0b3JlLnNldFVzZUlUUERhdGFi
YXNlKGZhbHNlLCBbY2FsbGJhY2tBZ2dyZWdhdG9yXSB7IH0pOwogI2Vsc2UKICAgICBVTlVTRURf
UEFSQU0oZGF0YVN0b3JlUmVmKTsKICAgICBjb21wbGV0aW9uSGFuZGxlcihjb250ZXh0KTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9DL1dLV2Vic2l0ZURhdGFTdG9y
ZVJlZi5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0MvV0tXZWJzaXRlRGF0YVN0b3Jl
UmVmLmgKaW5kZXggZTc3ZDA5YzEwN2QxZGEwNzgzZDA5YzA3ZTI4MDNkMDg3MTI1ZTQ4Yi4uYjk2
NGI3MTcxMTQ1NjM4MzYxMWU3MTgzN2Q4MjljMGRjZDQyZDE0NiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvQVBJL0MvV0tXZWJzaXRlRGF0YVN0b3JlUmVmLmgKKysrIGIvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0MvV0tXZWJzaXRlRGF0YVN0b3JlUmVmLmgKQEAgLTg4
LDggKzg4LDYgQEAgV0tfRVhQT1JUIHZvaWQgV0tXZWJzaXRlRGF0YVN0b3JlSXNTdGF0aXN0aWNz
T25seUluRGF0YWJhc2VPbmNlKFdLV2Vic2l0ZURhdGFTdG8KIFdLX0VYUE9SVCB2b2lkIFdLV2Vi
c2l0ZURhdGFTdG9yZVNldFN0YXRpc3RpY3NHcmFuZGZhdGhlcmVkKFdLV2Vic2l0ZURhdGFTdG9y
ZVJlZiBkYXRhU3RvcmVSZWYsIFdLU3RyaW5nUmVmIGhvc3QsIGJvb2wgdmFsdWUpOwogdHlwZWRl
ZiB2b2lkICgqV0tXZWJzaXRlRGF0YVN0b3JlSXNTdGF0aXN0aWNzR3JhbmRmYXRoZXJlZEZ1bmN0
aW9uKShib29sIGlzR3JhbmRmYXRoZXJlZCwgdm9pZCogZnVuY3Rpb25Db250ZXh0KTsKIFdLX0VY
UE9SVCB2b2lkIFdLV2Vic2l0ZURhdGFTdG9yZUlzU3RhdGlzdGljc0dyYW5kZmF0aGVyZWQoV0tX
ZWJzaXRlRGF0YVN0b3JlUmVmIGRhdGFTdG9yZVJlZiwgV0tTdHJpbmdSZWYgaG9zdCwgdm9pZCog
Y29udGV4dCwgV0tXZWJzaXRlRGF0YVN0b3JlSXNTdGF0aXN0aWNzR3JhbmRmYXRoZXJlZEZ1bmN0
aW9uIGNhbGxiYWNrKTsKLXR5cGVkZWYgdm9pZCAoKldLV2Vic2l0ZURhdGFTdG9yZVNldFVzZUlU
UERhdGFiYXNlRnVuY3Rpb24pKHZvaWQqIGZ1bmN0aW9uQ29udGV4dCk7Ci1XS19FWFBPUlQgdm9p
ZCBXS1dlYnNpdGVEYXRhU3RvcmVTZXRVc2VJVFBEYXRhYmFzZShXS1dlYnNpdGVEYXRhU3RvcmVS
ZWYgZGF0YVN0b3JlUmVmLCBib29sIHZhbHVlLCB2b2lkKiBjb250ZXh0LCBXS1dlYnNpdGVEYXRh
U3RvcmVTZXRVc2VJVFBEYXRhYmFzZUZ1bmN0aW9uIGNhbGxiYWNrKTsKIFdLX0VYUE9SVCB2b2lk
IFdLV2Vic2l0ZURhdGFTdG9yZVNldFN0YXRpc3RpY3NTdWJmcmFtZVVuZGVyVG9wRnJhbWVPcmln
aW4oV0tXZWJzaXRlRGF0YVN0b3JlUmVmIGRhdGFTdG9yZVJlZiwgV0tTdHJpbmdSZWYgaG9zdCwg
V0tTdHJpbmdSZWYgdG9wRnJhbWVIb3N0KTsKIFdLX0VYUE9SVCB2b2lkIFdLV2Vic2l0ZURhdGFT
dG9yZVNldFN0YXRpc3RpY3NTdWJyZXNvdXJjZVVuZGVyVG9wRnJhbWVPcmlnaW4oV0tXZWJzaXRl
RGF0YVN0b3JlUmVmIGRhdGFTdG9yZVJlZiwgV0tTdHJpbmdSZWYgaG9zdCwgV0tTdHJpbmdSZWYg
dG9wRnJhbWVIb3N0KTsKIFdLX0VYUE9SVCB2b2lkIFdLV2Vic2l0ZURhdGFTdG9yZVNldFN0YXRp
c3RpY3NTdWJyZXNvdXJjZVVuaXF1ZVJlZGlyZWN0VG8oV0tXZWJzaXRlRGF0YVN0b3JlUmVmIGRh
dGFTdG9yZVJlZiwgV0tTdHJpbmdSZWYgaG9zdCwgV0tTdHJpbmdSZWYgaG9zdFJlZGlyZWN0ZWRU
byk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tQcmVm
ZXJlbmNlcy5tbSBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1ByZWZlcmVu
Y2VzLm1tCmluZGV4IGRhZGE5MTMzZmNkOTczYmY1ZmI2NjAwMmI1MzkxOTk2ZTIwOWVjYTAuLjhh
MmY5ZDE1MTdmYzFkYWRhMDAxMTE3YjhhOTI1ODZjN2JhNmYzNjYgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1ByZWZlcmVuY2VzLm1tCisrKyBiL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1ByZWZlcmVuY2VzLm1tCkBAIC05MTgsMTEg
KzkxOCw2IEBAIHN0YXRpYyBXZWJDb3JlOjpFZGl0YWJsZUxpbmtCZWhhdmlvciB0b0VkaXRhYmxl
TGlua0JlaGF2aW9yKF9XS0VkaXRhYmxlTGlua0JlaGF2CiAgICAgX3ByZWZlcmVuY2VzLT5zZXRS
ZW1vdGVQbGF5YmFja0VuYWJsZWQoZW5hYmxlZCk7CiB9CiAKLS0gKEJPT0wpX2lzSVRQRGF0YWJh
c2VFbmFibGVkCi17Ci0gICAgcmV0dXJuIF9wcmVmZXJlbmNlcy0+aXNJVFBEYXRhYmFzZUVuYWJs
ZWQoKTsKLX0KLQogLSAoQk9PTClfc2VydmljZVdvcmtlckVudGl0bGVtZW50RGlzYWJsZWRGb3JU
ZXN0aW5nCiB7CiAgICAgcmV0dXJuIF9wcmVmZXJlbmNlcy0+c2VydmljZVdvcmtlckVudGl0bGVt
ZW50RGlzYWJsZWRGb3JUZXN0aW5nKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9BUEkvQ29jb2EvV0tQcmVmZXJlbmNlc1ByaXZhdGUuaCBiL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL0FQSS9Db2NvYS9XS1ByZWZlcmVuY2VzUHJpdmF0ZS5oCmluZGV4IDU4NDA0YTY4NDVk
N2E0OWM4YTc2YWFlYWY4ODRkZjJhMGUzM2NkZGUuLjEzZWQyYmNlYmQ5MjczODdhOGI2MTNmNDVl
ODAyYzBiMWVlZjg1YzIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9D
b2NvYS9XS1ByZWZlcmVuY2VzUHJpdmF0ZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L0FQSS9Db2NvYS9XS1ByZWZlcmVuY2VzUHJpdmF0ZS5oCkBAIC0xNjAsNyArMTYwLDYgQEAgdHlw
ZWRlZiBOU19FTlVNKE5TSW50ZWdlciwgX1dLRWRpdGFibGVMaW5rQmVoYXZpb3IpIHsKIEBwcm9w
ZXJ0eSAobm9uYXRvbWljLCBzZXR0ZXI9X3NldFdlYkF1ZGlvRW5hYmxlZDopIEJPT0wgX3dlYkF1
ZGlvRW5hYmxlZCBXS19BUElfQVZBSUxBQkxFKG1hY29zKDEwLjE0KSwgaW9zKFdLX0lPU19UQkEp
KTsKIEBwcm9wZXJ0eSAobm9uYXRvbWljLCBzZXR0ZXI9X3NldEFjY2VsZXJhdGVkQ29tcG9zaXRp
bmdFbmFibGVkOikgQk9PTCBfYWNjZWxlcmF0ZWRDb21wb3NpdGluZ0VuYWJsZWQgV0tfQVBJX0FW
QUlMQUJMRShtYWNvcygxMC4xMy40KSwgaW9zKFdLX0lPU19UQkEpKTsKIEBwcm9wZXJ0eSAobm9u
YXRvbWljLCBzZXR0ZXI9X3NldFJlcXVlc3RBbmltYXRpb25GcmFtZUVuYWJsZWQ6KSBCT09MIF9y
ZXF1ZXN0QW5pbWF0aW9uRnJhbWVFbmFibGVkIFdLX0FQSV9BVkFJTEFCTEUobWFjb3MoV0tfTUFD
X1RCQSksIGlvcyhXS19JT1NfVEJBKSk7Ci1AcHJvcGVydHkgKG5vbmF0b21pYywgcmVhZG9ubHkp
IEJPT0wgX2lzSVRQRGF0YWJhc2VFbmFibGVkIFdLX0FQSV9BVkFJTEFCTEUobWFjb3MoV0tfTUFD
X1RCQSksIGlvcyhXS19JT1NfVEJBKSk7CiBAcHJvcGVydHkgKG5vbmF0b21pYywgc2V0dGVyPV9z
ZXRTZXJ2aWNlV29ya2VyRW50aXRsZW1lbnREaXNhYmxlZEZvclRlc3Rpbmc6KSBCT09MIF9zZXJ2
aWNlV29ya2VyRW50aXRsZW1lbnREaXNhYmxlZEZvclRlc3RpbmcgV0tfQVBJX0FWQUlMQUJMRSht
YWNvcyhXS19NQUNfVEJBKSwgaW9zKFdLX0lPU19UQkEpKTsKIEBwcm9wZXJ0eSAobm9uYXRvbWlj
LCBzZXR0ZXI9X3NldEFjY2Vzc2liaWxpdHlJc29sYXRlZFRyZWVFbmFibGVkOikgQk9PTCBfYWNj
ZXNzaWJpbGl0eUlzb2xhdGVkVHJlZUVuYWJsZWQgV0tfQVBJX0FWQUlMQUJMRShtYWNvcygxMC4x
NikpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tX
ZWJzaXRlRGF0YVN0b3JlLm1tIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dL
V2Vic2l0ZURhdGFTdG9yZS5tbQppbmRleCAyOThkOWNlYzllODRkOGE1MTIyMDY1Y2M5OTIzM2Vm
NGYwYjk1Mzg5Li5kMTZlZTI0ZTFmODRkZDliMmNlYmYwMDg3NmQ2NGRjMDY3NzE5M2UyIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJzaXRlRGF0YVN0
b3JlLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYnNpdGVE
YXRhU3RvcmUubW0KQEAgLTMwNCwxNyArMzA0LDYgQEAgc3RhdGljIFZlY3RvcjxXZWJLaXQ6Oldl
YnNpdGVEYXRhUmVjb3JkPiB0b1dlYnNpdGVEYXRhUmVjb3JkcyhOU0FycmF5ICpkYXRhUmVjb3IK
ICAgICBfd2Vic2l0ZURhdGFTdG9yZS0+c2V0UmVzb3VyY2VMb2FkU3RhdGlzdGljc0VuYWJsZWQo
ZW5hYmxlZCk7CiB9CiAKLS0gKHZvaWQpX3NldFVzZUlUUERhdGFiYXNlOihCT09MKWVuYWJsZWQg
Y29tcGxldGlvbkhhbmRsZXI6KHZvaWQgKF4pKHZvaWQpKWNvbXBsZXRpb25IYW5kbGVyCi17Ci0j
aWYgRU5BQkxFKFJFU09VUkNFX0xPQURfU1RBVElTVElDUykKLSAgICBfd2Vic2l0ZURhdGFTdG9y
ZS0+c2V0VXNlSVRQRGF0YWJhc2UoZW5hYmxlZCwgW2NvbXBsZXRpb25IYW5kbGVyID0gbWFrZUJs
b2NrUHRyKGNvbXBsZXRpb25IYW5kbGVyKV0oKSB7Ci0gICAgICAgIGNvbXBsZXRpb25IYW5kbGVy
KCk7Ci0gICAgfSk7Ci0jZWxzZQotICAgIGNvbXBsZXRpb25IYW5kbGVyKCk7Ci0jZW5kaWYKLX0K
LQogLSAoQk9PTClfcmVzb3VyY2VMb2FkU3RhdGlzdGljc0RlYnVnTW9kZQogewogI2lmIEVOQUJM
RShSRVNPVVJDRV9MT0FEX1NUQVRJU1RJQ1MpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJzaXRlRGF0YVN0b3JlUHJpdmF0ZS5oIGIvU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2Vic2l0ZURhdGFTdG9yZVByaXZhdGUuaAppbmRl
eCA5OTMyMDEwNDZiNTUxYzNmMjhkZjJkYzBhMDM0NmQ3YmM3OWFjNWY0Li44MjhiYmVmMzk1YThi
NTc5YmI1ZWVjMjYxODE5NDA0NzRjMjg4MWQxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJzaXRlRGF0YVN0b3JlUHJpdmF0ZS5oCisrKyBiL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYnNpdGVEYXRhU3RvcmVQcml2YXRlLmgK
QEAgLTcxLDcgKzcxLDYgQEAgdHlwZWRlZiBOU19PUFRJT05TKE5TVUludGVnZXIsIF9XS1dlYnNp
dGVEYXRhU3RvcmVGZXRjaE9wdGlvbnMpIHsKIC0gKHZvaWQpX3NldFByZXZhbGVudERvbWFpbjoo
TlNVUkwgKilkb21haW4gY29tcGxldGlvbkhhbmRsZXI6KHZvaWQgKF4pKHZvaWQpKWNvbXBsZXRp
b25IYW5kbGVyIFdLX0FQSV9BVkFJTEFCTEUobWFjb3MoMTAuMTUpLCBpb3MoMTMuMCkpOwogLSAo
dm9pZClfZ2V0SXNQcmV2YWxlbnREb21haW46KE5TVVJMICopZG9tYWluIGNvbXBsZXRpb25IYW5k
bGVyOih2b2lkICheKShCT09MKSljb21wbGV0aW9uSGFuZGxlciBXS19BUElfQVZBSUxBQkxFKG1h
Y29zKDEwLjE1KSwgaW9zKDEzLjApKTsKIC0gKHZvaWQpX2dldFJlc291cmNlTG9hZFN0YXRpc3Rp
Y3NEYXRhU3VtbWFyeToodm9pZCAoXikoTlNBcnJheTxfV0tSZXNvdXJjZUxvYWRTdGF0aXN0aWNz
VGhpcmRQYXJ0eSAqPiAqKSljb21wbGV0aW9uSGFuZGxlciBXS19BUElfQVZBSUxBQkxFKG1hY29z
KFdLX01BQ19UQkEpLCBpb3MoV0tfSU9TX1RCQSkpOwotLSAodm9pZClfc2V0VXNlSVRQRGF0YWJh
c2U6KEJPT0wpZW5hYmxlZCBjb21wbGV0aW9uSGFuZGxlcjoodm9pZCAoXikodm9pZCkpY29tcGxl
dGlvbkhhbmRsZXIgV0tfQVBJX0FWQUlMQUJMRShtYWNvcyhXS19NQUNfVEJBKSwgaW9zKFdLX0lP
U19UQkEpKTsKIC0gKHZvaWQpX2NsZWFyUHJldmFsZW50RG9tYWluOihOU1VSTCAqKWRvbWFpbiBj
b21wbGV0aW9uSGFuZGxlcjoodm9pZCAoXikodm9pZCkpY29tcGxldGlvbkhhbmRsZXIgV0tfQVBJ
X0FWQUlMQUJMRShtYWNvcyhXS19NQUNfVEJBKSwgaW9zKFdLX0lPU19UQkEpKTsKIC0gKHZvaWQp
X2NsZWFyUmVzb3VyY2VMb2FkU3RhdGlzdGljczoodm9pZCAoXikodm9pZCkpY29tcGxldGlvbkhh
bmRsZXIgV0tfQVBJX0FWQUlMQUJMRShtYWNvcyhXS19NQUNfVEJBKSwgaW9zKFdLX0lPU19UQkEp
KTsKIC0gKHZvaWQpX2lzUmVnaXN0ZXJlZEFzU3VicmVzb3VyY2VVbmRlckZpcnN0UGFydHk6KE5T
VVJMICopZmlyc3RQYXJ0eVVSTCB0aGlyZFBhcnR5OihOU1VSTCAqKXRoaXJkUGFydHlVUkwgY29t
cGxldGlvbkhhbmRsZXI6KHZvaWQgKF4pKEJPT0wpKWNvbXBsZXRpb25IYW5kbGVyIFdLX0FQSV9B
VkFJTEFCTEUobWFjb3MoV0tfTUFDX1RCQSksIGlvcyhXS19JT1NfVEJBKSk7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9XZWJQcm9jZXNzUG9vbENvY29hLm1tIGIv
U291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvV2ViUHJvY2Vzc1Bvb2xDb2NvYS5tbQppbmRl
eCA5MmFkMWM4NDI0OGVlYjFmODI4MjAxNTdhNTM2OWUwZTM5YTBlM2QyLi43NjJmNTY4OWM0MWI3
ZjIyNzA4ZTRmYmUzYzgwZGU4ZWExZWQwYzRkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9Db2NvYS9XZWJQcm9jZXNzUG9vbENvY29hLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL0NvY29hL1dlYlByb2Nlc3NQb29sQ29jb2EubW0KQEAgLTUyMSwxMiArNTIxLDYg
QEAgdm9pZCBXZWJQcm9jZXNzUG9vbDo6cGxhdGZvcm1Jbml0aWFsaXplTmV0d29ya1Byb2Nlc3Mo
TmV0d29ya1Byb2Nlc3NDcmVhdGlvblBhcmEKICAgICBwYXJhbWV0ZXJzLnVpUHJvY2Vzc0Nvb2tp
ZVN0b3JhZ2VJZGVudGlmaWVyID0gaWRlbnRpZnlpbmdEYXRhRnJvbUNvb2tpZVN0b3JhZ2UoW1tO
U0hUVFBDb29raWVTdG9yYWdlIHNoYXJlZEhUVFBDb29raWVTdG9yYWdlXSBfY29va2llU3RvcmFn
ZV0pOwogI2VuZGlmCiAKLSAgICBOU051bWJlciAqZGF0YWJhc2VFbmFibGVkVmFsdWUgPSBbZGVm
YXVsdHMgb2JqZWN0Rm9yS2V5OltOU1N0cmluZyBzdHJpbmdXaXRoRm9ybWF0OkAiSW50ZXJuYWxE
ZWJ1ZyVAIiwgV2ViUHJlZmVyZW5jZXNLZXk6OmlzSVRQRGF0YWJhc2VFbmFibGVkS2V5KCkuY3Jl
YXRlQ0ZTdHJpbmcoKS5nZXQoKV1dOwotICAgIGlmIChkYXRhYmFzZUVuYWJsZWRWYWx1ZSkKLSAg
ICAgICAgcGFyYW1ldGVycy5zaG91bGRFbmFibGVJVFBEYXRhYmFzZSA9IGRhdGFiYXNlRW5hYmxl
ZFZhbHVlLmJvb2xWYWx1ZTsKLSAgICBlbHNlCi0gICAgICAgIHBhcmFtZXRlcnMuc2hvdWxkRW5h
YmxlSVRQRGF0YWJhc2UgPSBtX2RlZmF1bHRQYWdlR3JvdXAtPnByZWZlcmVuY2VzKCkuaXNJVFBE
YXRhYmFzZUVuYWJsZWQoKTsKLQogICAgIHBhcmFtZXRlcnMuZW5hYmxlQWRDbGlja0F0dHJpYnV0
aW9uRGVidWdNb2RlID0gW2RlZmF1bHRzIGJvb2xGb3JLZXk6W05TU3RyaW5nIHN0cmluZ1dpdGhG
b3JtYXQ6QCJFeHBlcmltZW50YWwlQCIsIFdlYlByZWZlcmVuY2VzS2V5OjphZENsaWNrQXR0cmli
dXRpb25EZWJ1Z01vZGVFbmFibGVkS2V5KCkuY3JlYXRlQ0ZTdHJpbmcoKS5nZXQoKV1dOwogCiAg
ICAgcGFyYW1ldGVycy5kZWZhdWx0RGF0YVN0b3JlUGFyYW1ldGVycy5uZXR3b3JrU2Vzc2lvblBh
cmFtZXRlcnMuYXBwSGFzUmVxdWVzdGVkQ3Jvc3NXZWJzaXRlVHJhY2tpbmdQZXJtaXNzaW9uID0g
aGFzUmVxdWVzdGVkQ3Jvc3NXZWJzaXRlVHJhY2tpbmdQZXJtaXNzaW9uKCk7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9OZXR3b3JrL05ldHdvcmtQcm9jZXNzUHJveHkuY3Bw
IGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvTmV0d29yay9OZXR3b3JrUHJvY2Vzc1Byb3h5LmNw
cAppbmRleCBjMWY0NzA4YjgxY2ZhNTNhYjEyMmMyOTQ0Njc1ZTc4MjUxNjcxMjFmLi44MjVmOTA5
N2M1NDQ2YmY5YmFmN2IwMmQ2MTY2NDk0MzRiZDNhZWFkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9OZXR3b3JrL05ldHdvcmtQcm9jZXNzUHJveHkuY3BwCisrKyBiL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL05ldHdvcmsvTmV0d29ya1Byb2Nlc3NQcm94eS5jcHAKQEAgLTg1
MiwxMyArODUyLDYgQEAgdm9pZCBOZXR3b3JrUHJvY2Vzc1Byb3h5OjpzZXRHcmFuZGZhdGhlcmVk
KFBBTDo6U2Vzc2lvbklEIHNlc3Npb25JRCwgY29uc3QgUmVnaXMKICAgICBzZW5kV2l0aEFzeW5j
UmVwbHkoTWVzc2FnZXM6Ok5ldHdvcmtQcm9jZXNzOjpTZXRHcmFuZGZhdGhlcmVkKHNlc3Npb25J
RCwgcmVzb3VyY2VEb21haW4sIGlzR3JhbmRmYXRoZXJlZCksIFdURk1vdmUoY29tcGxldGlvbkhh
bmRsZXIpKTsKIH0KIAotdm9pZCBOZXR3b3JrUHJvY2Vzc1Byb3h5OjpzZXRVc2VJVFBEYXRhYmFz
ZShQQUw6OlNlc3Npb25JRCBzZXNzaW9uSUQsIGJvb2wgdmFsdWUsIENvbXBsZXRpb25IYW5kbGVy
PHZvaWQoKT4mJiBjb21wbGV0aW9uSGFuZGxlcikKLXsKLSAgICBzZW5kV2l0aEFzeW5jUmVwbHko
TWVzc2FnZXM6Ok5ldHdvcmtQcm9jZXNzOjpTZXRVc2VJVFBEYXRhYmFzZShzZXNzaW9uSUQsIHZh
bHVlKSwgW2NvbXBsZXRpb25IYW5kbGVyID0gV1RGTW92ZShjb21wbGV0aW9uSGFuZGxlcildKCkg
bXV0YWJsZSB7Ci0gICAgICAgIGNvbXBsZXRpb25IYW5kbGVyKCk7Ci0gICAgfSk7Ci19Ci0KIHZv
aWQgTmV0d29ya1Byb2Nlc3NQcm94eTo6cmVxdWVzdFN0b3JhZ2VBY2Nlc3NDb25maXJtKFdlYlBh
Z2VQcm94eUlkZW50aWZpZXIgcGFnZUlELCBGcmFtZUlkZW50aWZpZXIgZnJhbWVJRCwgY29uc3Qg
UmVnaXN0cmFibGVEb21haW4mIHN1YkZyYW1lRG9tYWluLCBjb25zdCBSZWdpc3RyYWJsZURvbWFp
biYgdG9wRnJhbWVEb21haW4sIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoYm9vbCk+JiYgY29tcGxl
dGlvbkhhbmRsZXIpCiB7CiAgICAgYXV0byogcGFnZSA9IFdlYlByb2Nlc3NQcm94eTo6d2ViUGFn
ZShwYWdlSUQpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvTmV0d29yay9O
ZXR3b3JrUHJvY2Vzc1Byb3h5LmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9OZXR3b3JrL05l
dHdvcmtQcm9jZXNzUHJveHkuaAppbmRleCBhMGI0YzFkODkzOGUyMDVlYzM2MWRlNWMxMDgyNWQx
ODI3NzY1M2I0Li41OTBmNTZjNWZiYjk0N2JmOWE3NmY1M2Y4NjExZmFjMzUxNmE1MjJiIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9OZXR3b3JrL05ldHdvcmtQcm9jZXNzUHJv
eHkuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9OZXR3b3JrL05ldHdvcmtQcm9jZXNz
UHJveHkuaApAQCAtMTQyLDcgKzE0Miw2IEBAIHB1YmxpYzoKICAgICB2b2lkIHNldEFnZUNhcEZv
ckNsaWVudFNpZGVDb29raWVzKFBBTDo6U2Vzc2lvbklELCBPcHRpb25hbDxTZWNvbmRzPiwgQ29t
cGxldGlvbkhhbmRsZXI8dm9pZCgpPiYmKTsKICAgICB2b2lkIHNldENhY2hlTWF4QWdlQ2FwKFBB
TDo6U2Vzc2lvbklELCBTZWNvbmRzLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKCk+JiYpOwogICAg
IHZvaWQgc2V0R3JhbmRmYXRoZXJlZChQQUw6OlNlc3Npb25JRCwgY29uc3QgUmVnaXN0cmFibGVE
b21haW4mLCBib29sIGlzR3JhbmRmYXRoZXJlZCwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZCgpPiYm
KTsKLSAgICB2b2lkIHNldFVzZUlUUERhdGFiYXNlKFBBTDo6U2Vzc2lvbklELCBib29sIHZhbHVl
LCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKCk+JiYpOwogICAgIHZvaWQgc2V0Tm90aWZ5UGFnZXNX
aGVuRGF0YVJlY29yZHNXZXJlU2Nhbm5lZChQQUw6OlNlc3Npb25JRCwgYm9vbCwgQ29tcGxldGlv
bkhhbmRsZXI8dm9pZCgpPiYmKTsKICAgICB2b2lkIHNldElzUnVubmluZ1Jlc291cmNlTG9hZFN0
YXRpc3RpY3NUZXN0KFBBTDo6U2Vzc2lvbklELCBib29sLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lk
KCk+JiYpOwogICAgIHZvaWQgc2V0U3ViZnJhbWVVbmRlclRvcEZyYW1lRG9tYWluKFBBTDo6U2Vz
c2lvbklELCBjb25zdCBTdWJGcmFtZURvbWFpbiYsIGNvbnN0IFRvcEZyYW1lRG9tYWluJiwgQ29t
cGxldGlvbkhhbmRsZXI8dm9pZCgpPiYmKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL1dlYnNpdGVEYXRhL1dlYnNpdGVEYXRhU3RvcmUuY3BwIGIvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvV2Vic2l0ZURhdGEvV2Vic2l0ZURhdGFTdG9yZS5jcHAKaW5kZXggMDgzMGNhNzVh
N2ZjMzhlNjQ1Yjc3NWIzOWIzMzc1ZDRjMjA1MDM3ZC4uNWIwYWViNzFiZDk3YzQzYmMyMGU0M2Ix
MWI2MDY1MTJiMmNhYWIzNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2Vi
c2l0ZURhdGEvV2Vic2l0ZURhdGFTdG9yZS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvV2Vic2l0ZURhdGEvV2Vic2l0ZURhdGFTdG9yZS5jcHAKQEAgLTE4MTUsMTggKzE4MTUsNiBA
QCB2b2lkIFdlYnNpdGVEYXRhU3RvcmU6OnNldEdyYW5kZmF0aGVyZWQoY29uc3QgVVJMJiB1cmws
IGJvb2wgaXNHcmFuZGZhdGhlcmVkLCBDbwogICAgIH0KIH0KIAotdm9pZCBXZWJzaXRlRGF0YVN0
b3JlOjpzZXRVc2VJVFBEYXRhYmFzZShib29sIHZhbHVlLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lk
KCk+JiYgY29tcGxldGlvbkhhbmRsZXIpCi17Ci0gICAgQVNTRVJUKFJ1bkxvb3A6OmlzTWFpbigp
KTsKLSAgICAKLSAgICBhdXRvIGNhbGxiYWNrQWdncmVnYXRvciA9IENhbGxiYWNrQWdncmVnYXRv
cjo6Y3JlYXRlKFdURk1vdmUoY29tcGxldGlvbkhhbmRsZXIpKTsKLSAgICAKLSAgICBmb3IgKGF1
dG8mIHByb2Nlc3NQb29sIDogcHJvY2Vzc1Bvb2xzKCkpIHsKLSAgICAgICAgaWYgKGF1dG8qIHBy
b2Nlc3MgPSBwcm9jZXNzUG9vbC0+bmV0d29ya1Byb2Nlc3MoKSkKLSAgICAgICAgICAgIHByb2Nl
c3MtPnNldFVzZUlUUERhdGFiYXNlKG1fc2Vzc2lvbklELCB2YWx1ZSwgW2NhbGxiYWNrQWdncmVn
YXRvcl0geyB9KTsKLSAgICB9Ci19Ci0KIHZvaWQgV2Vic2l0ZURhdGFTdG9yZTo6c2V0Q3Jvc3NT
aXRlTG9hZFdpdGhMaW5rRGVjb3JhdGlvbkZvclRlc3RpbmcoY29uc3QgVVJMJiBmcm9tVVJMLCBj
b25zdCBVUkwmIHRvVVJMLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKCk+JiYgY29tcGxldGlvbkhh
bmRsZXIpCiB7CiAgICAgQVNTRVJUKFJ1bkxvb3A6OmlzTWFpbigpKTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYnNpdGVEYXRhL1dlYnNpdGVEYXRhU3RvcmUuaCBiL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYnNpdGVEYXRhL1dlYnNpdGVEYXRhU3RvcmUuaAppbmRl
eCBlOWRlYmE0ODA4OGI5ZjMwNjY1N2VkZDk0MzQ5OTUzMDg2YjBlZDJlLi40ZjA0ZTkwMmQ3YjY1
YzhkZTFlN2YwYWQyNDQyYTBkYTUyOWY5ODM0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9XZWJzaXRlRGF0YS9XZWJzaXRlRGF0YVN0b3JlLmgKKysrIGIvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvV2Vic2l0ZURhdGEvV2Vic2l0ZURhdGFTdG9yZS5oCkBAIC0xNzMsNyArMTcz
LDYgQEAgcHVibGljOgogICAgIHZvaWQgc3VibWl0VGVsZW1ldHJ5KCk7CiAgICAgdm9pZCBzZXRH
cmFuZGZhdGhlcmVkKGNvbnN0IFVSTCYsIGJvb2wsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoKT4m
Jik7CiAgICAgdm9pZCBpc0dyYW5kZmF0aGVyZWQoY29uc3QgVVJMJiwgQ29tcGxldGlvbkhhbmRs
ZXI8dm9pZChib29sKT4mJik7Ci0gICAgdm9pZCBzZXRVc2VJVFBEYXRhYmFzZShib29sLCBDb21w
bGV0aW9uSGFuZGxlcjx2b2lkKCk+JiYpOwogICAgIHZvaWQgc2V0R3JhbmRmYXRoZXJpbmdUaW1l
KFNlY29uZHMsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoKT4mJik7CiAgICAgdm9pZCBzZXRMYXN0
U2Vlbihjb25zdCBVUkwmLCBTZWNvbmRzLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKCk+JiYpOwog
ICAgIHZvaWQgZG9tYWluSURFeGlzdHNJbkRhdGFiYXNlKGludCBkb21haW5JRCwgQ29tcGxldGlv
bkhhbmRsZXI8dm9pZChib29sKT4mJik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9pb3MvUmVzb3VyY2VMb2FkU3RhdGlzdGljc1BlcnNpc3RlbnRTdG9yYWdlSU9TLm1tIGIv
U291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1Jlc291cmNlTG9hZFN0YXRpc3RpY3NQZXJzaXN0
ZW50U3RvcmFnZUlPUy5tbQpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNmY4ZjZkNTVl
ODY5OGU2MDlmOWRhZGUwOWYyNzM3OGJmMjE0ZjE2Ni4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvUmVzb3Vy
Y2VMb2FkU3RhdGlzdGljc1BlcnNpc3RlbnRTdG9yYWdlSU9TLm1tCisrKyAvZGV2L251bGwKQEAg
LTEsNDAgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAxNyBBcHBsZSBJbmMuIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2Ug
YW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBw
ZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBt
ZXQ6Ci0gKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhl
IGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJp
bmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBp
biB0aGUKLSAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRl
ZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURF
RCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJwotICogQU5EIEFO
WSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sCi0gKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQg
RklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCi0gKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBO
TyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKLSAqIEJFIExJQUJM
RSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFS
WSwgT1IKLSAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sIFBST0NVUkVNRU5UIE9GCi0gKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBM
T1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKLSAqIElOVEVSUlVQVElP
TikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVS
IElOCi0gKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5F
R0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQotICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUg
VVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgotICogVEhFIFBPU1NJQklM
SVRZIE9GIFNVQ0ggREFNQUdFLgotICovCi0KLSNpbXBvcnQgImNvbmZpZy5oIgotI2ltcG9ydCAi
UmVzb3VyY2VMb2FkU3RhdGlzdGljc1BlcnNpc3RlbnRTdG9yYWdlLmgiCi0KLSNpZiBQTEFURk9S
TShJT1NfRkFNSUxZKQotCi1uYW1lc3BhY2UgV2ViS2l0IHsKLQotdm9pZCBSZXNvdXJjZUxvYWRT
dGF0aXN0aWNzUGVyc2lzdGVudFN0b3JhZ2U6OmV4Y2x1ZGVGcm9tQmFja3VwKCkgY29uc3QKLXsK
LSAgICBbW05TVVJMIGZpbGVVUkxXaXRoUGF0aDooTlNTdHJpbmcgKiltX3N0b3JhZ2VEaXJlY3Rv
cnlQYXRoIGlzRGlyZWN0b3J5OllFU10gc2V0UmVzb3VyY2VWYWx1ZTpAWUVTIGZvcktleTpOU1VS
TElzRXhjbHVkZWRGcm9tQmFja3VwS2V5IGVycm9yOm5pbF07Ci19Ci0KLX0KLQotI2VuZGlmCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9zb3VwL1dlYlByb2Nlc3NQb29sU291
cC5jcHAgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9zb3VwL1dlYlByb2Nlc3NQb29sU291cC5j
cHAKaW5kZXggNmI3YzViNDIyNGZhZTAyMmY4NTBjYmExMDJlNGVlZDUzMTlmNmJjYy4uMDNhOWIz
NjA1Mzk1OWEyMDZlNzJkODU4Yjg1ODY5NTIwOTEzNTI3MyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9VSVByb2Nlc3Mvc291cC9XZWJQcm9jZXNzUG9vbFNvdXAuY3BwCisrKyBiL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL3NvdXAvV2ViUHJvY2Vzc1Bvb2xTb3VwLmNwcApAQCAtNDcsNyArNDcs
NiBAQCB2b2lkIFdlYlByb2Nlc3NQb29sOjpwbGF0Zm9ybUluaXRpYWxpemVOZXR3b3JrUHJvY2Vz
cyhOZXR3b3JrUHJvY2Vzc0NyZWF0aW9uUGFyYQogCiAgICAgcGFyYW1ldGVycy5jb29raWVBY2Nl
cHRQb2xpY3kgPSBtX2luaXRpYWxIVFRQQ29va2llQWNjZXB0UG9saWN5OwogICAgIHBhcmFtZXRl
cnMubGFuZ3VhZ2VzID0gdXNlclByZWZlcnJlZExhbmd1YWdlcygpOwotICAgIHBhcmFtZXRlcnMu
c2hvdWxkRW5hYmxlSVRQRGF0YWJhc2UgPSB0cnVlOwogfQogCiB9IC8vIG5hbWVzcGFjZSBXZWJL
aXQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViS2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBi
eHByb2ogYi9Tb3VyY2UvV2ViS2l0L1dlYktpdC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmlu
ZGV4IDI0YzhlODkyMWRmZDMzNDZmNDM0OGNhYmUzYTgzMTE5ZTQ1YmQ2ZjQuLmFlNzNmYmI5MzA0
NGIwMWM1NjIzNTRiMjZiNTkxNDhkODc5MGYzYzUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
V2ViS2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291cmNlL1dlYktpdC9XZWJL
aXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtMTI0Niw3ICsxMjQ2LDYgQEAKIAkJN0FG
MjM2MjExRTc5QTQwODAwNDM4QTA1IC8qIFdlYkVycm9ycy5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gN0FGMjM2MUYxRTc5QTNEODAwNDM4QTA1IC8qIFdl
YkVycm9ycy5oICovOyB9OwogCQk3QUZCRDM2MzIxRTUwRjM5MDA1REJBQ0IgLyogV2ViUmVzb3Vy
Y2VMb2FkU3RhdGlzdGljc1N0b3JlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSA3QUZCRDM2MjIxRTUwRjM5MDA1REJBQ0IgLyogV2ViUmVzb3VyY2VMb2Fk
U3RhdGlzdGljc1N0b3JlLmggKi87IH07CiAJCTdBRkJEMzY3MjFFNTFCQUIwMDVEQkFDQiAvKiBS
ZXNvdXJjZUxvYWRTdGF0aXN0aWNzTWVtb3J5U3RvcmUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDdBRkJEMzY1MjFFNTFCQUIwMDVEQkFDQiAvKiBSZXNv
dXJjZUxvYWRTdGF0aXN0aWNzTWVtb3J5U3RvcmUuaCAqLzsgfTsKLQkJN0FGQkQzNkEyMUU1NDJG
MTAwNURCQUNCIC8qIFJlc291cmNlTG9hZFN0YXRpc3RpY3NQZXJzaXN0ZW50U3RvcmFnZS5oIGlu
IEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gN0FGQkQzNjgyMUU1
NDJFODAwNURCQUNCIC8qIFJlc291cmNlTG9hZFN0YXRpc3RpY3NQZXJzaXN0ZW50U3RvcmFnZS5o
ICovOyB9OwogCQk3QUZCRDM2RjIxRTU0NkY4MDA1REJBQ0IgLyogUGVyc2lzdGVuY3lVdGlscy5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gN0FGQkQzNkQy
MUU1NDZFMzAwNURCQUNCIC8qIFBlcnNpc3RlbmN5VXRpbHMuaCAqLzsgfTsKIAkJN0MwNjVGMkMx
QzhDRDk1RjAwQzJEOTUwIC8qIFdlYlVzZXJDb250ZW50Q29udHJvbGxlckRhdGFUeXBlcy5oIGlu
IEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gN0MwNjVGMkExQzhD
RDk1RjAwQzJEOTUwIC8qIFdlYlVzZXJDb250ZW50Q29udHJvbGxlckRhdGFUeXBlcy5oICovOyB9
OwogCQk3QzEzNUFBOTE3M0IwQkNBMDA1ODZBRTIgLyogV0tQbHVnaW5JbmZvcm1hdGlvbi5oIGlu
IEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gN0MxMzVBQTcxNzNC
MEJDQTAwNTg2QUUyIC8qIFdLUGx1Z2luSW5mb3JtYXRpb24uaCAqLzsgc2V0dGluZ3MgPSB7QVRU
UklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwpAQCAtMzgxMiw3ICszODExLDYgQEAKIAkJNTFF
MzUxQzgxODBGMkNDQzAwRTUzQkU5IC8qIElEQlV0aWxpdGllcy5jcHAgKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBJREJVdGlsaXRpZXMuY3BwOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwogCQk1MUUzNTFDOTE4MEYyQ0NDMDBFNTNCRTkgLyogSURCVXRpbGl0aWVzLmgg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IElEQlV0aWxpdGllcy5oOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwogCQk1MUUzOTkwNTFENkY1NEM1MDA5Qzg4MzEgLyogVUlHYW1l
cGFkUHJvdmlkZXJDb2NvYS5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0
aCA9IFVJR2FtZXBhZFByb3ZpZGVyQ29jb2EubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
Ci0JCTUxRTZDMTVGMUYyOTM1NTEwMEZEMzQzNyAvKiBSZXNvdXJjZUxvYWRTdGF0aXN0aWNzUGVy
c2lzdGVudFN0b3JhZ2VJT1MubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IG5hbWUgPSBSZXNvdXJjZUxvYWRT
dGF0aXN0aWNzUGVyc2lzdGVudFN0b3JhZ2VJT1MubW07IHBhdGggPSBpb3MvUmVzb3VyY2VMb2Fk
U3RhdGlzdGljc1BlcnNpc3RlbnRTdG9yYWdlSU9TLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwogCQk1MUU4QjY4RDFFNzEyODczMDAxQjcxMzIgLyogV2ViVVJMU2NoZW1lVGFzay5jcHAg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBXZWJVUkxTY2hlbWVUYXNrLmNw
cDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNTFFOTQ5OTYxRDc2MUNDNzAwRUM5RUI5
IC8qIFVJR2FtZXBhZFByb3ZpZGVySU9TLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2Jq
Y3BwOyBwYXRoID0gVUlHYW1lcGFkUHJvdmlkZXJJT1MubW07IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CiAJCTUxRjA2MEREMTY1NDMxNzUwMEYzMjgxQiAvKiBXZWJSZXNvdXJjZUxvYWRlck1l
c3NhZ2VSZWNlaXZlci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IG5hbWUgPSBXZWJSZXNvdXJjZUxvYWRlck1l
c3NhZ2VSZWNlaXZlci5jcHA7IHBhdGggPSBEZXJpdmVkU291cmNlcy9XZWJLaXQyL1dlYlJlc291
cmNlTG9hZGVyTWVzc2FnZVJlY2VpdmVyLmNwcDsgc291cmNlVHJlZSA9IEJVSUxUX1BST0RVQ1RT
X0RJUjsgfTsKQEAgLTQxOTQsOCArNDE5Miw2IEBACiAJCTdBRkJEMzYyMjFFNTBGMzkwMDVEQkFD
QiAvKiBXZWJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzU3RvcmUuaCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuYy5oOyBuYW1lID0gV2ViUmVzb3VyY2VMb2FkU3RhdGlzdGljc1N0b3JlLmg7IHBhdGggPSBD
bGFzc2lmaWVyL1dlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NTdG9yZS5oOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwogCQk3QUZCRDM2NDIxRTUxQkFCMDA1REJBQ0IgLyogUmVzb3VyY2VMb2Fk
U3RhdGlzdGljc01lbW9yeVN0b3JlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsg
bmFtZSA9IFJlc291cmNlTG9hZFN0YXRpc3RpY3NNZW1vcnlTdG9yZS5jcHA7IHBhdGggPSBDbGFz
c2lmaWVyL1Jlc291cmNlTG9hZFN0YXRpc3RpY3NNZW1vcnlTdG9yZS5jcHA7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CiAJCTdBRkJEMzY1MjFFNTFCQUIwMDVEQkFDQiAvKiBSZXNvdXJjZUxv
YWRTdGF0aXN0aWNzTWVtb3J5U3RvcmUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1l
ID0gUmVzb3VyY2VMb2FkU3RhdGlzdGljc01lbW9yeVN0b3JlLmg7IHBhdGggPSBDbGFzc2lmaWVy
L1Jlc291cmNlTG9hZFN0YXRpc3RpY3NNZW1vcnlTdG9yZS5oOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwotCQk3QUZCRDM2ODIxRTU0MkU4MDA1REJBQ0IgLyogUmVzb3VyY2VMb2FkU3RhdGlz
dGljc1BlcnNpc3RlbnRTdG9yYWdlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IFJlc291cmNlTG9hZFN0YXRp
c3RpY3NQZXJzaXN0ZW50U3RvcmFnZS5oOyBwYXRoID0gQ2xhc3NpZmllci9SZXNvdXJjZUxvYWRT
dGF0aXN0aWNzUGVyc2lzdGVudFN0b3JhZ2UuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
LQkJN0FGQkQzNjkyMUU1NDJFODAwNURCQUNCIC8qIFJlc291cmNlTG9hZFN0YXRpc3RpY3NQZXJz
aXN0ZW50U3RvcmFnZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IG5hbWUgPSBSZXNvdXJjZUxvYWRTdGF0aXN0
aWNzUGVyc2lzdGVudFN0b3JhZ2UuY3BwOyBwYXRoID0gQ2xhc3NpZmllci9SZXNvdXJjZUxvYWRT
dGF0aXN0aWNzUGVyc2lzdGVudFN0b3JhZ2UuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwogCQk3QUZCRDM2QjIxRTU0NTQ0MDA1REJBQ0IgLyogV2ViUmVzb3VyY2VMb2FkU3RhdGlzdGlj
c1RlbGVtZXRyeS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBXZWJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzVGVs
ZW1ldHJ5Lmg7IHBhdGggPSBDbGFzc2lmaWVyL1dlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NUZWxl
bWV0cnkuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJN0FGQkQzNkMyMUU1NDU0NDAw
NURCQUNCIC8qIFdlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NUZWxlbWV0cnkuY3BwICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAu
Y3BwOyBuYW1lID0gV2ViUmVzb3VyY2VMb2FkU3RhdGlzdGljc1RlbGVtZXRyeS5jcHA7IHBhdGgg
PSBDbGFzc2lmaWVyL1dlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NUZWxlbWV0cnkuY3BwOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk3QUZCRDM2RDIxRTU0NkUzMDA1REJBQ0IgLyogUGVy
c2lzdGVuY3lVdGlscy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBQZXJzaXN0ZW5jeVV0aWxzLmg7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC02Mzg5LDggKzYzODUsNiBAQAogCQkJCTFEQkJCMDYx
MjExQ0MzQ0IwMDUwMkVDQyAvKiBXS1NoYXJlU2hlZXQubW0gKi8sCiAJCQkJN0E3OEZGMkUyMjQx
OTE3NTAwOTY0ODNFIC8qIFdLU3RvcmFnZUFjY2Vzc0FsZXJ0LmggKi8sCiAJCQkJN0E3OEZGMkYy
MjQxOTE3NjAwOTY0ODNFIC8qIFdLU3RvcmFnZUFjY2Vzc0FsZXJ0Lm1tICovLAotCQkJCTQxNDdE
QzY4MjUxOUUyOUQwMDIxNEVFNyAvKiBXS1VzZXJNZWRpYUNhcHR1cmVBY2Nlc3NBbGVydC5oICov
LAotCQkJCTQxNDdEQzY3MjUxOUUyOUQwMDIxNEVFNyAvKiBXS1VzZXJNZWRpYUNhcHR1cmVBY2Nl
c3NBbGVydC5tbSAqLywKIAkJCQkyRDdBQUZEMjE4Qzg2NDA2MDBBN0FDRDQgLyogV0tXZWJWaWV3
Q29udGVudFByb3ZpZGVyLmggKi8sCiAJCQkJMkRDNkQ5QzExOEM0NEE2MTAwNDNCQUQ0IC8qIFdL
V2ViVmlld0NvbnRlbnRQcm92aWRlclJlZ2lzdHJ5LmggKi8sCiAJCQkJMkRDNkQ5QzIxOEM0NEE2
MTAwNDNCQUQ0IC8qIFdLV2ViVmlld0NvbnRlbnRQcm92aWRlclJlZ2lzdHJ5Lm1tICovLApAQCAt
NzAxMyw3ICs3MDA3LDYgQEAKIAkJCQkwRkNCNEUzNjE4QkJFMDQ0MDAwRkNGQzkgLyogUGFnZUNs
aWVudEltcGxJT1MuaCAqLywKIAkJCQkwRkNCNEUzNzE4QkJFMDQ0MDAwRkNGQzkgLyogUGFnZUNs
aWVudEltcGxJT1MubW0gKi8sCiAJCQkJODZGOTUzNjIxOEZGNTUwQjAwMURCMkVGIC8qIFByb2Nl
c3NBc3NlcnRpb25JT1MubW0gKi8sCi0JCQkJNTFFNkMxNUYxRjI5MzU1MTAwRkQzNDM3IC8qIFJl
c291cmNlTG9hZFN0YXRpc3RpY3NQZXJzaXN0ZW50U3RvcmFnZUlPUy5tbSAqLywKIAkJCQkyREFG
MDZENDE4QkQxQTQ3MDA4MUNFQjEgLyogU21hcnRNYWduaWZpY2F0aW9uQ29udHJvbGxlci5oICov
LAogCQkJCTJEQUYwNkQ4MThCRDIzQkEwMDgxQ0VCMSAvKiBTbWFydE1hZ25pZmljYXRpb25Db250
cm9sbGVyLm1lc3NhZ2VzLmluICovLAogCQkJCTJEQUYwNkQ1MThCRDFBNDcwMDgxQ0VCMSAvKiBT
bWFydE1hZ25pZmljYXRpb25Db250cm9sbGVyLm1tICovLApAQCAtODM3MSw4ICs4MzY0LDYgQEAK
IAkJCQk3QTBENzg2MTIyMDc5MUVDMDBFQkNGNTQgLyogUmVzb3VyY2VMb2FkU3RhdGlzdGljc0Rh
dGFiYXNlU3RvcmUuaCAqLywKIAkJCQk3QUZCRDM2NDIxRTUxQkFCMDA1REJBQ0IgLyogUmVzb3Vy
Y2VMb2FkU3RhdGlzdGljc01lbW9yeVN0b3JlLmNwcCAqLywKIAkJCQk3QUZCRDM2NTIxRTUxQkFC
MDA1REJBQ0IgLyogUmVzb3VyY2VMb2FkU3RhdGlzdGljc01lbW9yeVN0b3JlLmggKi8sCi0JCQkJ
N0FGQkQzNjkyMUU1NDJFODAwNURCQUNCIC8qIFJlc291cmNlTG9hZFN0YXRpc3RpY3NQZXJzaXN0
ZW50U3RvcmFnZS5jcHAgKi8sCi0JCQkJN0FGQkQzNjgyMUU1NDJFODAwNURCQUNCIC8qIFJlc291
cmNlTG9hZFN0YXRpc3RpY3NQZXJzaXN0ZW50U3RvcmFnZS5oICovLAogCQkJCTdBQ0U4MkU4MjIx
Q0FFMDcwMDBEQTk0QyAvKiBSZXNvdXJjZUxvYWRTdGF0aXN0aWNzU3RvcmUuY3BwICovLAogCQkJ
CTdBQ0U4MkU3MjIxQ0FFMDYwMDBEQTk0QyAvKiBSZXNvdXJjZUxvYWRTdGF0aXN0aWNzU3RvcmUu
aCAqLywKIAkJCQk3QTQxRTlGQTIxRjgxREFDMDBCODhDREIgLyogU2hvdWxkR3JhbmRmYXRoZXJT
dGF0aXN0aWNzLmggKi8sCkBAIC0xMTEyNSw3ICsxMTExNiw2IEBACiAJCQkJNkJFOTY5Q0QxRTU0
RTA1NDAwOEI3NDgzIC8qIFJlc291cmNlTG9hZFN0YXRpc3RpY3NDbGFzc2lmaWVyLmggaW4gSGVh
ZGVycyAqLywKIAkJCQk2QkU5NjlDQjFFNTRENENGMDA4Qjc0ODMgLyogUmVzb3VyY2VMb2FkU3Rh
dGlzdGljc0NsYXNzaWZpZXJDb2NvYS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJN0FGQkQzNjcyMUU1
MUJBQjAwNURCQUNCIC8qIFJlc291cmNlTG9hZFN0YXRpc3RpY3NNZW1vcnlTdG9yZS5oIGluIEhl
YWRlcnMgKi8sCi0JCQkJN0FGQkQzNkEyMUU1NDJGMTAwNURCQUNCIC8qIFJlc291cmNlTG9hZFN0
YXRpc3RpY3NQZXJzaXN0ZW50U3RvcmFnZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMUEzMDA2NkUx
MTEwRjRGNzAwMzE5MzdDIC8qIFJlc3BvbnNpdmVuZXNzVGltZXIuaCBpbiBIZWFkZXJzICovLAog
CQkJCTQxMDQ4MkNFMURERDMyNEYwMEYwMDZEMCAvKiBSVENOZXR3b3JrLmggaW4gSGVhZGVycyAq
LywKIAkJCQk0NkYzOEU4QzI0MTZFNjczMDA1OTM3NUEgLyogUnVubmluZ0JvYXJkU2VydmljZXNT
UEkuaCBpbiBIZWFkZXJzICovLApAQCAtMTMxMjgsNyArMTMxMTgsNiBAQAogCQkJCTFEQjAxOTQ0
MjExQ0YwMDUwMDlGQjNFOCAvKiBXS1NoYXJlU2hlZXQubW0gaW4gU291cmNlcyAqLywKIAkJCQk3
QTc4RkYzMzIyNDE5MTlCMDA5NjQ4M0UgLyogV0tTdG9yYWdlQWNjZXNzQWxlcnQubW0gaW4gU291
cmNlcyAqLywKIAkJCQlDRTIxMjE2MDI0MEVFNTcxMDA2RUQ0NDMgLyogV0tUZXh0UGxhY2Vob2xk
ZXIubW0gaW4gU291cmNlcyAqLywKLQkJCQk0MTQ3REM2OTI1MTlFQzMzMDAyMTRFRTcgLyogV0tV
c2VyTWVkaWFDYXB0dXJlQWNjZXNzQWxlcnQubW0gaW4gU291cmNlcyAqLywKIAkJCQlDMTREMzA2
OTI0Qjc5QkUwMDA0ODAzODcgLyogWFBDRW5kcG9pbnQubW0gaW4gU291cmNlcyAqLywKIAkJCQlD
MTREMzA2QTI0Qjc5QkU0MDA0ODAzODcgLyogWFBDRW5kcG9pbnRDbGllbnQubW0gaW4gU291cmNl
cyAqLywKIAkJCSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3
L1dlYlByZWZlcmVuY2VzSW50ZXJuYWwueWFtbCBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dl
YlZpZXcvV2ViUHJlZmVyZW5jZXNJbnRlcm5hbC55YW1sCmluZGV4IGMxYjIxODc4Mzc3NTk4ZWZj
NzdmNmY2YTJlODA1NjRlYTE0OGM1OWQuLmRiMjA1NDAxMzE1NzY5MmI0YjMxMjU3YmRmNzM5ZDc1
MGU3YTIyYzIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2Vi
UHJlZmVyZW5jZXNJbnRlcm5hbC55YW1sCisrKyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dl
YlZpZXcvV2ViUHJlZmVyZW5jZXNJbnRlcm5hbC55YW1sCkBAIC0zNjksMTggKzM2OSw2IEBAIElz
Rmlyc3RQYXJ0eVdlYnNpdGVEYXRhUmVtb3ZhbFJlcHJvVGVzdGluZ0VuYWJsZWQ6CiAgICAgV2Vi
S2l0OgogICAgICAgZGVmYXVsdDogZmFsc2UKIAotIyBGSVhNRTogVGhpcyBpcyBub3QgcmVsZXZl
bnQgZm9yIFdlYktpdExlZ2FjeSwgc28gc2hvdWxkIGJlIGV4Y2x1ZGVkIGZyb20gV2ViS2l0TGVn
YWN5IGVudGlyZWx5LgotSXNJVFBEYXRhYmFzZUVuYWJsZWQ6Ci0gIHR5cGU6IGJvb2wKLSAgaHVt
YW5SZWFkYWJsZU5hbWU6ICJJVFAgRGF0YWJhc2UgQmFja2VuZCIKLSAgaHVtYW5SZWFkYWJsZURl
c2NyaXB0aW9uOiAiRW5hYmxlIEludGVsbGlnZW50IFRyYWNraW5nIFByZXZlbnRpb24gRGF0YWJh
c2UgQmFja2VuZCIKLSAgd2ViY29yZUJpbmRpbmc6IFJ1bnRpbWVFbmFibGVkRmVhdHVyZXMKLSAg
ZGVmYXVsdFZhbHVlOgotICAgIFdlYktpdExlZ2FjeToKLSAgICAgIGRlZmF1bHQ6IGZhbHNlCi0g
ICAgV2ViS2l0OgotICAgICAgZGVmYXVsdDogdHJ1ZQotCiBLZXlnZW5FbGVtZW50RW5hYmxlZDoK
ICAgdHlwZTogYm9vbAogICB3ZWJLaXRMZWdhY3lQcmVmZXJlbmNlS2V5OiBXZWJLaXRLZXlnZW5F
bGVtZW50RW5hYmxlZFByZWZlcmVuY2VLZXkKZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBi
L1Rvb2xzL0NoYW5nZUxvZwppbmRleCAxNTAxMDY4MjAxOTAwMzE3YWYxM2I2MWY5Yzc3MDY3NDA0
ZjRiNTdkLi40NDJlNmI5MjkxNWRiOTI4NTRkMzE5MjRkMjkzZjEyYzA5OTY1ZWMwIDEwMDY0NAot
LS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzMg
QEAKKzIwMjAtMDktMjggIEFsZXggQ2hyaXN0ZW5zZW4gIDxhY2hyaXN0ZW5zZW5Ad2Via2l0Lm9y
Zz4KKworICAgICAgICBSZW1vdmUgcGxpc3QtYmFzZWQgUmVzb3VyY2VMb2FkU3RhdGlzdGljcyBz
dG9yYWdlLCB3aGljaCBoYXMgYmVlbiByZXBsYWNlZCBieSBkYXRhYmFzZS1iYXNlZCBzdG9yYWdl
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTcwNjMK
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUaGVzZSB0
aHJlZSB0ZXN0cyBBUEkgdGVzdHMgaGF2ZSBiZWVuIHJlbW92ZWQ6CisKKyAgICAgICAgUmVzb3Vy
Y2VMb2FkU3RhdGlzdGljcy5DaGlsZFByb2Nlc3Nlc05vdExhdW5jaGVkCisgICAgICAgIFJlc291
cmNlTG9hZFN0YXRpc3RpY3MuR3JhbmRmYXRoZXJDYWxsYmFjaworICAgICAgICBSZXNvdXJjZUxv
YWRTdGF0aXN0aWNzLlNob3VsZE5vdEdyYW5kZmF0aGVyT25TdGFydHVwCisKKyAgICAgICAgRWFj
aCBvZiB0aG9zZSB0ZXN0cyBoYXMgYSBjb3JyZXNwb25kaW5nIHRlc3QgdGhhdCBlbmRzIHdpdGgg
IkRhdGFiYXNlIiB0aGF0IHRlc3RzIHRoZSBkYXRhYmFzZSBiYWNrZW5kLAorICAgICAgICBzbyB0
aGUgb25seSB0ZXN0IGNvdmVyYWdlIGxvc3Mgd2FzIG9mIHRoZSBjb2RlIHRoYXQgd2FzIHJlbW92
ZWQuCisKKyAgICAgICAgKiBUZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdENvY29hL1Jlc291cmNl
TG9hZFN0YXRpc3RpY3MubW06CisgICAgICAgIChlbnN1cmVJVFBGaWxlSXNDcmVhdGVkKToKKyAg
ICAgICAgKFRFU1QpOgorICAgICAgICAoaXNJVFBEYXRhYmFzZUVuYWJsZWQpOiBEZWxldGVkLgor
ICAgICAgICAqIFdlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvQmluZGluZ3MvVGVzdFJ1
bm5lci5pZGw6CisgICAgICAgICogV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9UZXN0
UnVubmVyLmNwcDoKKyAgICAgICAgKFdUUjo6VGVzdFJ1bm5lcjo6c2V0VXNlSVRQRGF0YWJhc2Up
OiBEZWxldGVkLgorICAgICAgICAqIFdlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvVGVz
dFJ1bm5lci5oOgorICAgICAgICAqIFdlYktpdFRlc3RSdW5uZXIvVGVzdENvbnRyb2xsZXIuY3Bw
OgorICAgICAgICAoV1RSOjpUZXN0Q29udHJvbGxlcjo6c2V0VXNlSVRQRGF0YWJhc2UpOiBEZWxl
dGVkLgorICAgICAgICAqIFdlYktpdFRlc3RSdW5uZXIvVGVzdENvbnRyb2xsZXIuaDoKKyAgICAg
ICAgKiBXZWJLaXRUZXN0UnVubmVyL1Rlc3RJbnZvY2F0aW9uLmNwcDoKKyAgICAgICAgKFdUUjo6
VGVzdEludm9jYXRpb246OmRpZFJlY2VpdmVTeW5jaHJvbm91c01lc3NhZ2VGcm9tSW5qZWN0ZWRC
dW5kbGUpOgorCiAyMDIwLTA5LTI4ICBEZXZpbiBSb3Vzc28gIDxkcm91c3NvQGFwcGxlLmNvbT4K
IAogICAgICAgICBbaU9TXSB1bmFibGUgdG8gYWlycGxheSBkaXJlY3RseSBsb2FkZWQgZnVsbHNj
cmVlbiB2aWRlbwpkaWZmIC0tZ2l0IGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRD
b2NvYS9SZXNvdXJjZUxvYWRTdGF0aXN0aWNzLm1tIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0
cy9XZWJLaXRDb2NvYS9SZXNvdXJjZUxvYWRTdGF0aXN0aWNzLm1tCmluZGV4IDBlMTBjMzRlZWM4
MmM2ZjY1OTJiYjdjNDI3NGQwZTQ1NWVhZjExZTguLmQyZTI1M2VjNjRlNzdhZDg4NjAzYTE1ZmUw
YWJmMWQwN2MwMGFjYzUgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2Vi
S2l0Q29jb2EvUmVzb3VyY2VMb2FkU3RhdGlzdGljcy5tbQorKysgYi9Ub29scy9UZXN0V2ViS2l0
QVBJL1Rlc3RzL1dlYktpdENvY29hL1Jlc291cmNlTG9hZFN0YXRpc3RpY3MubW0KQEAgLTY5LDEy
MCArNjksMTUgQEAgc3RhdGljIGJvb2wgZmluaXNoZWROYXZpZ2F0aW9uID0gZmFsc2U7CiAKIEBl
bmQKIAotYm9vbCBpc0lUUERhdGFiYXNlRW5hYmxlZCgpCi17Ci0gICAgTlNVc2VyRGVmYXVsdHMg
KmRlZmF1bHRzID0gW05TVXNlckRlZmF1bHRzIHN0YW5kYXJkVXNlckRlZmF1bHRzXTsKLSAgICBh
dXRvIGNvbmZpZ3VyYXRpb24gPSBhZG9wdE5TKFtbV0tXZWJWaWV3Q29uZmlndXJhdGlvbiBhbGxv
Y10gaW5pdF0pOwotICAgIGF1dG8gZGVmYXVsdERhdGFiYXNlRW5hYmxlZCA9IFtjb25maWd1cmF0
aW9uIHByZWZlcmVuY2VzXS5faXNJVFBEYXRhYmFzZUVuYWJsZWQ7Ci0KLSAgICBOU051bWJlciAq
ZGF0YWJhc2VFbmFibGVkVmFsdWUgPSBbZGVmYXVsdHMgb2JqZWN0Rm9yS2V5OkAiSW50ZXJuYWxE
ZWJ1Z0lzSVRQRGF0YWJhc2VFbmFibGVkIl07Ci0gICAgaWYgKGRhdGFiYXNlRW5hYmxlZFZhbHVl
KQotICAgICAgICByZXR1cm4gZGF0YWJhc2VFbmFibGVkVmFsdWUuYm9vbFZhbHVlOwotCi0gICAg
cmV0dXJuIGRlZmF1bHREYXRhYmFzZUVuYWJsZWQ7Ci19Ci0KIHN0YXRpYyB2b2lkIGVuc3VyZUlU
UEZpbGVJc0NyZWF0ZWQoKQogewotICAgIHN0YXRpYyBib29sIGRvbmVGbGFnOwogICAgIGF1dG8g
KmRhdGFTdG9yZSA9IFtXS1dlYnNpdGVEYXRhU3RvcmUgZGVmYXVsdERhdGFTdG9yZV07CiAgICAg
YXV0byB3ZWJWaWV3ID0gYWRvcHROUyhbW1dLV2ViVmlldyBhbGxvY10gaW5pdFdpdGhGcmFtZTpO
U01ha2VSZWN0KDAsIDAsIDgwMCwgNjAwKV0pOwogICAgIFtkYXRhU3RvcmUgX3NldFJlc291cmNl
TG9hZFN0YXRpc3RpY3NFbmFibGVkOllFU107CiAgICAgW3dlYlZpZXcgbG9hZFJlcXVlc3Q6W05T
VVJMUmVxdWVzdCByZXF1ZXN0V2l0aFVSTDpbTlNVUkwgVVJMV2l0aFN0cmluZzpAImFib3V0OmJs
YW5rIl1dXTsKLSAgICBbZGF0YVN0b3JlIF9zZXRVc2VJVFBEYXRhYmFzZTp0cnVlIGNvbXBsZXRp
b25IYW5kbGVyOiBeKHZvaWQpIHsKLSAgICAgICAgZG9uZUZsYWcgPSB0cnVlOwotICAgIH1dOwot
ICAgIFRlc3RXZWJLaXRBUEk6OlV0aWw6OnJ1bigmZG9uZUZsYWcpOwogICAgIFtkYXRhU3RvcmUg
X3NldFJlc291cmNlTG9hZFN0YXRpc3RpY3NFbmFibGVkOk5PXTsKIH0KIAotVEVTVChSZXNvdXJj
ZUxvYWRTdGF0aXN0aWNzLCBHcmFuZGZhdGhlckNhbGxiYWNrKQotewotICAgIGF1dG8gKmRhdGFT
dG9yZSA9IFtXS1dlYnNpdGVEYXRhU3RvcmUgZGVmYXVsdERhdGFTdG9yZV07Ci0KLSAgICBOU1VS
TCAqc3RhdGlzdGljc0RpcmVjdG9yeVVSTCA9IFtOU1VSTCBmaWxlVVJMV2l0aFBhdGg6W0Aifi9M
aWJyYXJ5L1dlYktpdC9jb20uYXBwbGUuV2ViS2l0LlRlc3RXZWJLaXRBUEkvV2Vic2l0ZURhdGEv
UmVzb3VyY2VMb2FkU3RhdGlzdGljcyIgc3RyaW5nQnlFeHBhbmRpbmdUaWxkZUluUGF0aF0gaXNE
aXJlY3Rvcnk6WUVTXTsKLSAgICBOU1VSTCAqZmlsZVVSTCA9IFtzdGF0aXN0aWNzRGlyZWN0b3J5
VVJMIFVSTEJ5QXBwZW5kaW5nUGF0aENvbXBvbmVudDpAImZ1bGxfYnJvd3Npbmdfc2Vzc2lvbl9y
ZXNvdXJjZUxvZy5wbGlzdCJdOwotICAgIFtbTlNGaWxlTWFuYWdlciBkZWZhdWx0TWFuYWdlcl0g
cmVtb3ZlSXRlbUF0VVJMOmZpbGVVUkwgZXJyb3I6bmlsXTsKLSAgICBbW05TRmlsZU1hbmFnZXIg
ZGVmYXVsdE1hbmFnZXJdIHJlbW92ZUl0ZW1BdFVSTDpzdGF0aXN0aWNzRGlyZWN0b3J5VVJMIGVy
cm9yOm5pbF07Ci0gICAgRVhQRUNUX0ZBTFNFKFtbTlNGaWxlTWFuYWdlciBkZWZhdWx0TWFuYWdl
cl0gZmlsZUV4aXN0c0F0UGF0aDpzdGF0aXN0aWNzRGlyZWN0b3J5VVJMLnBhdGhdKTsKLQotICAg
IHN0YXRpYyBib29sIGRvbmVGbGFnOwotICAgIHN0YXRpYyBib29sIGdyYW5kZmF0aGVyZWRGbGFn
OwotCi0gICAgW2RhdGFTdG9yZSBfc2V0UmVzb3VyY2VMb2FkU3RhdGlzdGljc1Rlc3RpbmdDYWxs
YmFjazpeKFdLV2Vic2l0ZURhdGFTdG9yZSAqLCBOU1N0cmluZyAqbWVzc2FnZSkgewotICAgICAg
ICAvLyBPbmx5IGlmIHRoZSBkYXRhYmFzZSBzdG9yZSBpcyBub3QgZGVmYXVsdC1lbmFibGVkIGRv
IHdlIG5lZWQgdG8gY2hlY2sgdGhhdCB0aGlzIGZpcnN0IG1lc3NhZ2UgaXMgY29ycmVjdC4KLSAg
ICAgICAgaWYgKCFpc0lUUERhdGFiYXNlRW5hYmxlZCgpKQotICAgICAgICAgICAgQVNTRVJUX1RS
VUUoW21lc3NhZ2UgaXNFcXVhbFRvU3RyaW5nOkAiR3JhbmRmYXRoZXJlZCJdKTsKLSAgICAgICAg
Z3JhbmRmYXRoZXJlZEZsYWcgPSB0cnVlOwotICAgIH1dOwotCi0gICAgLy8gV2UgbmVlZCBhbiBh
Y3RpdmUgTmV0d29ya1Byb2Nlc3MgdG8gcGVyZm9ybSBSZXNvdXJjZUxvYWRTdGF0aXN0aWNzIG9w
ZXJhdGlvbnMuCi0gICAgYXV0byB3ZWJWaWV3ID0gYWRvcHROUyhbW1dLV2ViVmlldyBhbGxvY10g
aW5pdFdpdGhGcmFtZTpOU01ha2VSZWN0KDAsIDAsIDgwMCwgNjAwKV0pOwotICAgIFtkYXRhU3Rv
cmUgX3NldFJlc291cmNlTG9hZFN0YXRpc3RpY3NFbmFibGVkOllFU107Ci0gICAgW3dlYlZpZXcg
bG9hZFJlcXVlc3Q6W05TVVJMUmVxdWVzdCByZXF1ZXN0V2l0aFVSTDpbTlNVUkwgVVJMV2l0aFN0
cmluZzpAImFib3V0OmJsYW5rIl1dXTsKLQotICAgIGlmIChpc0lUUERhdGFiYXNlRW5hYmxlZCgp
KSB7Ci0gICAgICAgIFRlc3RXZWJLaXRBUEk6OlV0aWw6OnJ1bigmZ3JhbmRmYXRoZXJlZEZsYWcp
OwotCi0gICAgICAgIC8vIFNpbmNlIHRoZSBkYXRhYmFzZSBzdG9yZSBpcyBlbmFibGVkLCB3ZSBu
ZWVkIHRvIGRpc2FibGUgaXQgdG8gdGVzdCB0aGlzIGZ1bmN0aW9uYWxpdHkgd2l0aCB0aGUgcGxp
c3QuCi0gICAgICAgIC8vIFdlIGFscmVhZHkgaGF2ZSBhIE5ldHdvcmtQcm9jZXNzIHVwIGFuZCBy
dW5uaW5nIHdpdGggSVRQIGVuYWJsZWQuIFdlIG5vdyBtYWtlIGFub3RoZXIgY2FsbCBpbml0aWFs
aXppbmcKLSAgICAgICAgLy8gdGhlIG1lbW9yeSBzdG9yZSBhbmQgdGVzdGluZyBncmFuZGZhdGhl
cmluZy4KLSAgICAgICAgZ3JhbmRmYXRoZXJlZEZsYWcgPSBmYWxzZTsKLSAgICAgICAgW2RhdGFT
dG9yZSBfc2V0UmVzb3VyY2VMb2FkU3RhdGlzdGljc1Rlc3RpbmdDYWxsYmFjazpeKFdLV2Vic2l0
ZURhdGFTdG9yZSAqLCBOU1N0cmluZyAqbWVzc2FnZSkgewotICAgICAgICAgICAgQVNTRVJUX1RS
VUUoW21lc3NhZ2UgaXNFcXVhbFRvU3RyaW5nOkAiR3JhbmRmYXRoZXJlZCJdKTsKLSAgICAgICAg
ICAgIGdyYW5kZmF0aGVyZWRGbGFnID0gdHJ1ZTsKLSAgICAgICAgfV07Ci0KLSAgICAgICAgW2Rh
dGFTdG9yZSBfc2V0VXNlSVRQRGF0YWJhc2U6ZmFsc2UgY29tcGxldGlvbkhhbmRsZXI6IF4odm9p
ZCkgewotICAgICAgICAgICAgZG9uZUZsYWcgPSB0cnVlOwotICAgICAgICB9XTsKLQotICAgICAg
ICBUZXN0V2ViS2l0QVBJOjpVdGlsOjpydW4oJmRvbmVGbGFnKTsKLSAgICB9Ci0KLSAgICBUZXN0
V2ViS2l0QVBJOjpVdGlsOjpydW4oJmdyYW5kZmF0aGVyZWRGbGFnKTsKLQotICAgIC8vIFNwaW4g
dGhlIHJ1bmxvb3AgdW50aWwgdGhlIHJlc291cmNlIGxvYWQgc3RhdGlzdGljcyBmaWxlIGhhcyB3
cml0dGVuIHRvIGRpc2suCi0gICAgLy8gSWYgdGhlIHRlc3QgZW50ZXJzIGEgc3BpbiBsb29wIGhl
cmUsIGl0IGhhcyBmYWlsZWQuCi0gICAgd2hpbGUgKHRydWUpIHsKLSAgICAgICAgaWYgKFtbTlNG
aWxlTWFuYWdlciBkZWZhdWx0TWFuYWdlcl0gZmlsZUV4aXN0c0F0UGF0aDpmaWxlVVJMLnBhdGhd
KQotICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgIFRlc3RXZWJLaXRBUEk6OlV0aWw6OnNwaW5S
dW5Mb29wKDEpOwotICAgIH0KLQotICAgIGdyYW5kZmF0aGVyZWRGbGFnID0gZmFsc2U7Ci0gICAg
ZG9uZUZsYWcgPSBmYWxzZTsKLSAgICBbZGF0YVN0b3JlIHJlbW92ZURhdGFPZlR5cGVzOltXS1dl
YnNpdGVEYXRhU3RvcmUgX2FsbFdlYnNpdGVEYXRhVHlwZXNJbmNsdWRpbmdQcml2YXRlXSAgbW9k
aWZpZWRTaW5jZTpbTlNEYXRlIGRpc3RhbnRQYXN0XSBjb21wbGV0aW9uSGFuZGxlcjpeIHsKLSAg
ICAgICAgZG9uZUZsYWcgPSB0cnVlOwotICAgIH1dOwotCi0gICAgVGVzdFdlYktpdEFQSTo6VXRp
bDo6cnVuKCZkb25lRmxhZyk7Ci0gICAgVGVzdFdlYktpdEFQSTo6VXRpbDo6c3BpblJ1bkxvb3Ao
MTApOwotCi0gICAgLy8gVGhlIHdlYnNpdGUgZGF0YSBzdG9yZSByZW1vdmUgc2hvdWxkIGhhdmUg
Y29tcGxldGVkLCBidXQgc2luY2Ugd2UgcmVtb3ZlZCBhbGwgb2YgdGhlIGRhdGEgdHlwZXMgdGhh
dCBhcmUgbW9uaXRvcmVkIGJ5IHJlc291cmNlIGxvYWQgc3RhdGlzdGljcywKLSAgICAvLyBubyBn
cmFuZGZhdGhlcmluZyBjYWxsIHNob3VsZCBoYXZlIGJlZW4gbWFkZS4KLSAgICBFWFBFQ1RfRkFM
U0UoZ3JhbmRmYXRoZXJlZEZsYWcpOwotICAgIEVYUEVDVF9GQUxTRShbW05TRmlsZU1hbmFnZXIg
ZGVmYXVsdE1hbmFnZXJdIGZpbGVFeGlzdHNBdFBhdGg6ZmlsZVVSTC5wYXRoXSk7Ci0KLSAgICBk
b25lRmxhZyA9IGZhbHNlOwotICAgIFtkYXRhU3RvcmUgcmVtb3ZlRGF0YU9mVHlwZXM6W05TU2V0
IHNldFdpdGhPYmplY3RzOldLV2Vic2l0ZURhdGFUeXBlQ29va2llcywgX1dLV2Vic2l0ZURhdGFU
eXBlUmVzb3VyY2VMb2FkU3RhdGlzdGljcywgbmlsXSBtb2RpZmllZFNpbmNlOltOU0RhdGUgZGlz
dGFudFBhc3RdIGNvbXBsZXRpb25IYW5kbGVyOl4gewotICAgICAgICBkb25lRmxhZyA9IHRydWU7
Ci0gICAgfV07Ci0KLSAgICAvLyBTaW5jZSB3ZSBkaWQgbm90IHJlbW92ZSBldmVyeSBkYXRhIHR5
cGUgY292ZXJlZCBieSByZXNvdXJjZSBsb2FkIHN0YXRpc3RpY3MsIHdlIGRvIGV4cGVjdCB0aGF0
IGdyYW5kZmF0aGVyaW5nIHRvb2sgcGxhY2UgYWdhaW4uCi0gICAgLy8gSWYgdGhlIHRlc3QgaGFu
Z3Mgd2FpdGluZyBvbiBlaXRoZXIgb2YgdGhlc2UgY29uZGl0aW9ucywgaXQgaGFzIGZhaWxlZC4K
LSAgICBUZXN0V2ViS2l0QVBJOjpVdGlsOjpydW4oJmdyYW5kZmF0aGVyZWRGbGFnKTsKLSAgICBU
ZXN0V2ViS2l0QVBJOjpVdGlsOjpydW4oJmRvbmVGbGFnKTsKLQotICAgIC8vIFNwaW4gdGhlIHJ1
bmxvb3AgdW50aWwgdGhlIHJlc291cmNlIGxvYWQgc3RhdGlzdGljcyBmaWxlIGhhcyB3cml0dGVu
IHRvIGRpc2suCi0gICAgLy8gSWYgdGhlIHRlc3QgZW50ZXJzIGEgc3BpbiBsb29wIGhlcmUsIGl0
IGhhcyBmYWlsZWQuCi0gICAgd2hpbGUgKHRydWUpIHsKLSAgICAgICAgaWYgKFtbTlNGaWxlTWFu
YWdlciBkZWZhdWx0TWFuYWdlcl0gZmlsZUV4aXN0c0F0UGF0aDpmaWxlVVJMLnBhdGhdKQotICAg
ICAgICAgICAgYnJlYWs7Ci0gICAgICAgIFRlc3RXZWJLaXRBUEk6OlV0aWw6OnNwaW5SdW5Mb29w
KDEpOwotICAgIH0KLX0KLQogVEVTVChSZXNvdXJjZUxvYWRTdGF0aXN0aWNzLCBHcmFuZGZhdGhl
ckNhbGxiYWNrRGF0YWJhc2UpCiB7CiAgICAgYXV0byAqZGF0YVN0b3JlID0gW1dLV2Vic2l0ZURh
dGFTdG9yZSBkZWZhdWx0RGF0YVN0b3JlXTsKQEAgLTE5Nyw5ICs5Miw3IEBAIFRFU1QoUmVzb3Vy
Y2VMb2FkU3RhdGlzdGljcywgR3JhbmRmYXRoZXJDYWxsYmFja0RhdGFiYXNlKQogICAgIHN0YXRp
YyBib29sIGRvbmVGbGFnOwogCiAgICAgW2RhdGFTdG9yZSBfc2V0UmVzb3VyY2VMb2FkU3RhdGlz
dGljc1Rlc3RpbmdDYWxsYmFjazpeKFdLV2Vic2l0ZURhdGFTdG9yZSAqLCBOU1N0cmluZyAqbWVz
c2FnZSkgewotICAgICAgICAvLyBPbmx5IGlmIHRoZSBkYXRhYmFzZSBzdG9yZSBpcyBkZWZhdWx0
LWVuYWJsZWQgZG8gd2UgbmVlZCB0byBjaGVjayB0aGF0IHRoaXMgZmlyc3QgbWVzc2FnZSBpcyBj
b3JyZWN0LgotICAgICAgICBpZiAoaXNJVFBEYXRhYmFzZUVuYWJsZWQoKSkKLSAgICAgICAgICAg
IEFTU0VSVF9UUlVFKFttZXNzYWdlIGlzRXF1YWxUb1N0cmluZzpAIkdyYW5kZmF0aGVyZWQiXSk7
CisgICAgICAgIEFTU0VSVF9UUlVFKFttZXNzYWdlIGlzRXF1YWxUb1N0cmluZzpAIkdyYW5kZmF0
aGVyZWQiXSk7CiAgICAgICAgIGdyYW5kZmF0aGVyZWRGbGFnID0gdHJ1ZTsKICAgICB9XTsKIApA
QCAtMjA3LDI1ICsxMDAsNiBAQCBURVNUKFJlc291cmNlTG9hZFN0YXRpc3RpY3MsIEdyYW5kZmF0
aGVyQ2FsbGJhY2tEYXRhYmFzZSkKICAgICBbZGF0YVN0b3JlIF9zZXRSZXNvdXJjZUxvYWRTdGF0
aXN0aWNzRW5hYmxlZDpZRVNdOwogICAgIFt3ZWJWaWV3IGxvYWRSZXF1ZXN0OltOU1VSTFJlcXVl
c3QgcmVxdWVzdFdpdGhVUkw6W05TVVJMIFVSTFdpdGhTdHJpbmc6QCJhYm91dDpibGFuayJdXV07
CiAKLSAgICBpZiAoIWlzSVRQRGF0YWJhc2VFbmFibGVkKCkpIHsKLSAgICAgICAgVGVzdFdlYktp
dEFQSTo6VXRpbDo6cnVuKCZncmFuZGZhdGhlcmVkRmxhZyk7Ci0KLSAgICAgICAgLy8gU2luY2Ug
dGhlIGRhdGFiYXNlIHN0b3JlIGlzIG5vdCBlbmFibGVkLCB3ZSBuZWVkIHRvIHVwZGF0ZSB0aGUg
c3RvcmUgdG8gdXNlIGEgZGF0YWJhc2UgaW5zdGVhZCBvZiBhIHBsaXN0IGZvciB0aGlzIHRlc3Qu
Ci0gICAgICAgIC8vIFdlIGFscmVhZHkgaGF2ZSBhIE5ldHdvcmtQcm9jZXNzIHVwIGFuZCBydW5u
aW5nIHdpdGggSVRQIGVuYWJsZWQuIFdlIG5vdyBtYWtlIGFub3RoZXIgY2FsbCBpbml0aWFsaXpp
bmcKLSAgICAgICAgLy8gdGhlIGRhdGFiYXNlIHN0b3JlIGFuZCB0ZXN0aW5nIGdyYW5kZmF0aGVy
aW5nLgotICAgICAgICBncmFuZGZhdGhlcmVkRmxhZyA9IGZhbHNlOwotICAgICAgICBbZGF0YVN0
b3JlIF9zZXRSZXNvdXJjZUxvYWRTdGF0aXN0aWNzVGVzdGluZ0NhbGxiYWNrOl4oV0tXZWJzaXRl
RGF0YVN0b3JlICosIE5TU3RyaW5nICptZXNzYWdlKSB7Ci0gICAgICAgICAgICBBU1NFUlRfVFJV
RShbbWVzc2FnZSBpc0VxdWFsVG9TdHJpbmc6QCJHcmFuZGZhdGhlcmVkIl0pOwotICAgICAgICAg
ICAgZ3JhbmRmYXRoZXJlZEZsYWcgPSB0cnVlOwotICAgICAgICB9XTsKLQotICAgICAgICBbZGF0
YVN0b3JlIF9zZXRVc2VJVFBEYXRhYmFzZTp0cnVlIGNvbXBsZXRpb25IYW5kbGVyOiBeKHZvaWQp
IHsKLSAgICAgICAgICAgIGRvbmVGbGFnID0gdHJ1ZTsKLSAgICAgICAgfV07Ci0KLSAgICAgICAg
VGVzdFdlYktpdEFQSTo6VXRpbDo6cnVuKCZkb25lRmxhZyk7Ci0gICAgfQotCiAgICAgVGVzdFdl
YktpdEFQSTo6VXRpbDo6cnVuKCZncmFuZGZhdGhlcmVkRmxhZyk7CiAKICAgICAvLyBTcGluIHRo
ZSBydW5sb29wIHVudGlsIHRoZSByZXNvdXJjZSBsb2FkIHN0YXRpc3RpY3MgZmlsZSBoYXMgd3Jp
dHRlbiB0byBkaXNrLgpAQCAtMjYwLDc0ICsxMzQsMTYgQEAgVEVTVChSZXNvdXJjZUxvYWRTdGF0
aXN0aWNzLCBHcmFuZGZhdGhlckNhbGxiYWNrRGF0YWJhc2UpCiAgICAgVGVzdFdlYktpdEFQSTo6
VXRpbDo6cnVuKCZkb25lRmxhZyk7CiB9CiAKLVRFU1QoUmVzb3VyY2VMb2FkU3RhdGlzdGljcywg
U2hvdWxkTm90R3JhbmRmYXRoZXJPblN0YXJ0dXApCi17Ci0gICAgYXV0byAqZGF0YVN0b3JlID0g
W1dLV2Vic2l0ZURhdGFTdG9yZSBkZWZhdWx0RGF0YVN0b3JlXTsKLQotICAgIE5TVVJMICpzdGF0
aXN0aWNzRGlyZWN0b3J5VVJMID0gW05TVVJMIGZpbGVVUkxXaXRoUGF0aDpbQCJ+L0xpYnJhcnkv
V2ViS2l0L2NvbS5hcHBsZS5XZWJLaXQuVGVzdFdlYktpdEFQSS9XZWJzaXRlRGF0YS9SZXNvdXJj
ZUxvYWRTdGF0aXN0aWNzIiBzdHJpbmdCeUV4cGFuZGluZ1RpbGRlSW5QYXRoXSBpc0RpcmVjdG9y
eTpZRVNdOwotICAgIE5TVVJMICp0YXJnZXRVUkwgPSBbc3RhdGlzdGljc0RpcmVjdG9yeVVSTCBV
UkxCeUFwcGVuZGluZ1BhdGhDb21wb25lbnQ6QCJmdWxsX2Jyb3dzaW5nX3Nlc3Npb25fcmVzb3Vy
Y2VMb2cucGxpc3QiXTsKLSAgICBOU1VSTCAqdGVzdFJlc291cmNlVVJMID0gW1tOU0J1bmRsZSBt
YWluQnVuZGxlXSBVUkxGb3JSZXNvdXJjZTpAIkVtcHR5R3JhbmRmYXRoZXJlZFJlc291cmNlTG9h
ZFN0YXRpc3RpY3MiIHdpdGhFeHRlbnNpb246QCJwbGlzdCIgc3ViZGlyZWN0b3J5OkAiVGVzdFdl
YktpdEFQSS5yZXNvdXJjZXMiXTsKLQotICAgIFtbTlNGaWxlTWFuYWdlciBkZWZhdWx0TWFuYWdl
cl0gY3JlYXRlRGlyZWN0b3J5QXRVUkw6c3RhdGlzdGljc0RpcmVjdG9yeVVSTCB3aXRoSW50ZXJt
ZWRpYXRlRGlyZWN0b3JpZXM6WUVTIGF0dHJpYnV0ZXM6bmlsIGVycm9yOm5pbF07Ci0gICAgW1tO
U0ZpbGVNYW5hZ2VyIGRlZmF1bHRNYW5hZ2VyXSBjb3B5SXRlbUF0VVJMOnRlc3RSZXNvdXJjZVVS
TCB0b1VSTDp0YXJnZXRVUkwgZXJyb3I6bmlsXTsKLQotICAgIEVYUEVDVF9UUlVFKFtbTlNGaWxl
TWFuYWdlciBkZWZhdWx0TWFuYWdlcl0gZmlsZUV4aXN0c0F0UGF0aDp0YXJnZXRVUkwucGF0aF0p
OwotCi0gICAgc3RhdGljIGJvb2wgY2FsbGJhY2tGbGFnOwotICAgIHN0YXRpYyBib29sIGRvbmVG
bGFnOwotCi0gICAgW2RhdGFTdG9yZSBfc2V0UmVzb3VyY2VMb2FkU3RhdGlzdGljc1Rlc3RpbmdD
YWxsYmFjazpeKFdLV2Vic2l0ZURhdGFTdG9yZSAqLCBOU1N0cmluZyAqbWVzc2FnZSkgewotICAg
ICAgICAvLyBPbmx5IGlmIHRoZSBkYXRhYmFzZSBzdG9yZSBpcyBub3QgZGVmYXVsdC1lbmFibGVk
IGRvIHdlIG5lZWQgdG8gY2hlY2sgdGhhdCB0aGlzIGZpcnN0IG1lc3NhZ2UgaXMgY29ycmVjdC4K
LSAgICAgICAgaWYgKCFpc0lUUERhdGFiYXNlRW5hYmxlZCgpKQotICAgICAgICAgICAgQVNTRVJU
X1RSVUUoW21lc3NhZ2UgaXNFcXVhbFRvU3RyaW5nOkAiUG9wdWxhdGVkV2l0aG91dEdyYW5kZmF0
aGVyaW5nIl0pOwotICAgICAgICBjYWxsYmFja0ZsYWcgPSB0cnVlOwotICAgIH1dOwotCi0gICAg
Ly8gV2UgbmVlZCBhbiBhY3RpdmUgTmV0d29ya1Byb2Nlc3MgdG8gcGVyZm9ybSBSZXNvdXJjZUxv
YWRTdGF0aXN0aWNzIG9wZXJhdGlvbnMuCi0gICAgYXV0byB3ZWJWaWV3ID0gYWRvcHROUyhbW1dL
V2ViVmlldyBhbGxvY10gaW5pdFdpdGhGcmFtZTpOU01ha2VSZWN0KDAsIDAsIDgwMCwgNjAwKV0p
OwotICAgIFtkYXRhU3RvcmUgX3NldFJlc291cmNlTG9hZFN0YXRpc3RpY3NFbmFibGVkOllFU107
Ci0gICAgW3dlYlZpZXcgbG9hZFJlcXVlc3Q6W05TVVJMUmVxdWVzdCByZXF1ZXN0V2l0aFVSTDpb
TlNVUkwgVVJMV2l0aFN0cmluZzpAImFib3V0OmJsYW5rIl1dXTsKLQotICAgIGlmIChpc0lUUERh
dGFiYXNlRW5hYmxlZCgpKSB7Ci0gICAgICAgIFRlc3RXZWJLaXRBUEk6OlV0aWw6OnJ1bigmY2Fs
bGJhY2tGbGFnKTsKLQotICAgICAgICAvLyBTaW5jZSB0aGUgZGF0YWJhc2Ugc3RvcmUgaXMgZW5h
YmxlZCwgd2UgbmVlZCB0byBkaXNhYmxlIGl0IHRvIHRlc3QgdGhpcyBmdW5jdGlvbmFsaXR5IHdp
dGggdGhlIHBsaXN0LgotICAgICAgICAvLyBXZSBhbHJlYWR5IGhhdmUgYSBOZXR3b3JrUHJvY2Vz
cyB1cCBhbmQgcnVubmluZyB3aXRoIElUUCBlbmFibGVkLiBXZSBub3cgbWFrZSBhbm90aGVyIGNh
bGwgaW5pdGlhbGl6aW5nCi0gICAgICAgIC8vIHRoZSBtZW1vcnkgc3RvcmUgYW5kIHRlc3Rpbmcg
Z3JhbmRmYXRoZXJpbmcuCi0gICAgICAgIGNhbGxiYWNrRmxhZyA9IGZhbHNlOwotICAgICAgICBb
ZGF0YVN0b3JlIF9zZXRSZXNvdXJjZUxvYWRTdGF0aXN0aWNzVGVzdGluZ0NhbGxiYWNrOl4oV0tX
ZWJzaXRlRGF0YVN0b3JlICosIE5TU3RyaW5nICptZXNzYWdlKSB7Ci0gICAgICAgICAgICBBU1NF
UlRfVFJVRShbbWVzc2FnZSBpc0VxdWFsVG9TdHJpbmc6QCJQb3B1bGF0ZWRXaXRob3V0R3JhbmRm
YXRoZXJpbmciXSk7Ci0gICAgICAgICAgICBjYWxsYmFja0ZsYWcgPSB0cnVlOwotICAgICAgICB9
XTsKLQotICAgICAgICAvLyBTaW5jZSB0aGUgSVRQIERhdGFiYXNlIGlzIGVuYWJsZWQsIHRoZSBw
bGlzdCBmaWxlIGhhcyBiZWVuIGRlbGV0ZWQuIFdlIG5lZWQgdG8gY3JlYXRlIGl0IGFnYWluLgot
ICAgICAgICBbW05TRmlsZU1hbmFnZXIgZGVmYXVsdE1hbmFnZXJdIGNyZWF0ZURpcmVjdG9yeUF0
VVJMOnN0YXRpc3RpY3NEaXJlY3RvcnlVUkwgd2l0aEludGVybWVkaWF0ZURpcmVjdG9yaWVzOllF
UyBhdHRyaWJ1dGVzOm5pbCBlcnJvcjpuaWxdOwotICAgICAgICBbW05TRmlsZU1hbmFnZXIgZGVm
YXVsdE1hbmFnZXJdIGNvcHlJdGVtQXRVUkw6dGVzdFJlc291cmNlVVJMIHRvVVJMOnRhcmdldFVS
TCBlcnJvcjpuaWxdOwotICAgICAgICBFWFBFQ1RfVFJVRShbW05TRmlsZU1hbmFnZXIgZGVmYXVs
dE1hbmFnZXJdIGZpbGVFeGlzdHNBdFBhdGg6dGFyZ2V0VVJMLnBhdGhdKTsKLQotICAgICAgICBb
ZGF0YVN0b3JlIF9zZXRVc2VJVFBEYXRhYmFzZTpmYWxzZSBjb21wbGV0aW9uSGFuZGxlcjogXih2
b2lkKSB7Ci0gICAgICAgICAgICBkb25lRmxhZyA9IHRydWU7Ci0gICAgICAgIH1dOwotCi0gICAg
ICAgIFRlc3RXZWJLaXRBUEk6OlV0aWw6OnJ1bigmZG9uZUZsYWcpOwotICAgIH0KLQotICAgIFRl
c3RXZWJLaXRBUEk6OlV0aWw6OnJ1bigmY2FsbGJhY2tGbGFnKTsKLX0KLQogVEVTVChSZXNvdXJj
ZUxvYWRTdGF0aXN0aWNzLCBTaG91bGROb3RHcmFuZGZhdGhlck9uU3RhcnR1cERhdGFiYXNlKQog
ewogICAgIGF1dG8gKmRhdGFTdG9yZSA9IFtXS1dlYnNpdGVEYXRhU3RvcmUgZGVmYXVsdERhdGFT
dG9yZV07CiAKICAgICBlbnN1cmVJVFBGaWxlSXNDcmVhdGVkKCk7CiAKLSAgICBzdGF0aWMgYm9v
bCBjYWxsYmFja0ZsYWc7Ci0gICAgc3RhdGljIGJvb2wgZG9uZUZsYWc7CisgICAgX19ibG9jayBi
b29sIGNhbGxiYWNrRmxhZyA9IGZhbHNlOwogCiAgICAgW2RhdGFTdG9yZSBfc2V0UmVzb3VyY2VM
b2FkU3RhdGlzdGljc1Rlc3RpbmdDYWxsYmFjazpeKFdLV2Vic2l0ZURhdGFTdG9yZSAqLCBOU1N0
cmluZyAqbWVzc2FnZSkgewotICAgICAgICAvLyBPbmx5IGlmIHRoZSBkYXRhYmFzZSBzdG9yZSBp
cyBkZWZhdWx0LWVuYWJsZWQgZG8gd2UgbmVlZCB0byBjaGVjayB0aGF0IHRoaXMgZmlyc3QgbWVz
c2FnZSBpcyBjb3JyZWN0LgotICAgICAgICBpZiAoaXNJVFBEYXRhYmFzZUVuYWJsZWQoKSkKLSAg
ICAgICAgICAgIEFTU0VSVF9UUlVFKFttZXNzYWdlIGlzRXF1YWxUb1N0cmluZzpAIlBvcHVsYXRl
ZFdpdGhvdXRHcmFuZGZhdGhlcmluZyJdKTsKKyAgICAgICAgQVNTRVJUX1RSVUUoW21lc3NhZ2Ug
aXNFcXVhbFRvU3RyaW5nOkAiUG9wdWxhdGVkV2l0aG91dEdyYW5kZmF0aGVyaW5nIl0pOwogICAg
ICAgICBjYWxsYmFja0ZsYWcgPSB0cnVlOwogICAgIH1dOwogCkBAIC0zMzYsOTUgKzE1Miw5IEBA
IFRFU1QoUmVzb3VyY2VMb2FkU3RhdGlzdGljcywgU2hvdWxkTm90R3JhbmRmYXRoZXJPblN0YXJ0
dXBEYXRhYmFzZSkKICAgICBbZGF0YVN0b3JlIF9zZXRSZXNvdXJjZUxvYWRTdGF0aXN0aWNzRW5h
YmxlZDpZRVNdOwogICAgIFt3ZWJWaWV3IGxvYWRSZXF1ZXN0OltOU1VSTFJlcXVlc3QgcmVxdWVz
dFdpdGhVUkw6W05TVVJMIFVSTFdpdGhTdHJpbmc6QCJhYm91dDpibGFuayJdXV07CiAKLSAgICBp
ZiAoIWlzSVRQRGF0YWJhc2VFbmFibGVkKCkpIHsKLSAgICAgICAgVGVzdFdlYktpdEFQSTo6VXRp
bDo6cnVuKCZjYWxsYmFja0ZsYWcpOwotCi0gICAgICAgIC8vIFNpbmNlIHRoZSBkYXRhYmFzZSBz
dG9yZSBpcyBub3QgZW5hYmxlZCwgd2UgbmVlZCB0byB1cGRhdGUgdGhlIHN0b3JlIHRvIHVzZSBh
IGRhdGFiYXNlIGluc3RlYWQgb2YgYSBwbGlzdCBmb3IgdGhpcyB0ZXN0LgotICAgICAgICAvLyBX
ZSBhbHJlYWR5IGhhdmUgYSBOZXR3b3JrUHJvY2VzcyB1cCBhbmQgcnVubmluZyB3aXRoIElUUCBl
bmFibGVkLiBXZSBub3cgbWFrZSBhbm90aGVyIGNhbGwgaW5pdGlhbGl6aW5nCi0gICAgICAgIC8v
IHRoZSBkYXRhYmFzZSBzdG9yZSBhbmQgdGVzdGluZyBncmFuZGZhdGhlcmluZy4KLSAgICAgICAg
Y2FsbGJhY2tGbGFnID0gZmFsc2U7Ci0gICAgICAgIFtkYXRhU3RvcmUgX3NldFJlc291cmNlTG9h
ZFN0YXRpc3RpY3NUZXN0aW5nQ2FsbGJhY2s6XihXS1dlYnNpdGVEYXRhU3RvcmUgKiwgTlNTdHJp
bmcgKm1lc3NhZ2UpIHsKLSAgICAgICAgICAgIEFTU0VSVF9UUlVFKFttZXNzYWdlIGlzRXF1YWxU
b1N0cmluZzpAIlBvcHVsYXRlZFdpdGhvdXRHcmFuZGZhdGhlcmluZyJdKTsKLSAgICAgICAgICAg
IGNhbGxiYWNrRmxhZyA9IHRydWU7Ci0gICAgICAgIH1dOwotCi0gICAgICAgIGVuc3VyZUlUUEZp
bGVJc0NyZWF0ZWQoKTsKLQotICAgICAgICBbZGF0YVN0b3JlIF9zZXRVc2VJVFBEYXRhYmFzZTp0
cnVlIGNvbXBsZXRpb25IYW5kbGVyOiBeKHZvaWQpIHsKLSAgICAgICAgICAgIGRvbmVGbGFnID0g
dHJ1ZTsKLSAgICAgICAgfV07Ci0KLSAgICAgICAgVGVzdFdlYktpdEFQSTo6VXRpbDo6cnVuKCZk
b25lRmxhZyk7Ci0gICAgfQotCiAgICAgVGVzdFdlYktpdEFQSTo6VXRpbDo6cnVuKCZjYWxsYmFj
a0ZsYWcpOwogfQogCi1URVNUKFJlc291cmNlTG9hZFN0YXRpc3RpY3MsIENoaWxkUHJvY2Vzc2Vz
Tm90TGF1bmNoZWQpCi17Ci0gICAgLy8gRW5zdXJlIHRoZSBzaGFyZWQgcHJvY2VzcyBwb29sIGV4
aXN0cyBzbyB0aGUgZGF0YSBzdG9yZSBvcGVyYXRpb25zIHdlJ3JlIGFib3V0IHRvIGRvIHdvcmsg
d2l0aCBpdC4KLSAgICBXS1Byb2Nlc3NQb29sICpzaGFyZWRQcm9jZXNzUG9vbCA9IFtXS1Byb2Nl
c3NQb29sIF9zaGFyZWRQcm9jZXNzUG9vbF07Ci0KLSAgICBFWFBFQ1RfRVEoKHNpemVfdCkwLCBb
c2hhcmVkUHJvY2Vzc1Bvb2wgX3BsdWdpblByb2Nlc3NDb3VudF0pOwotCi0gICAgYXV0byAqZGF0
YVN0b3JlID0gW1dLV2Vic2l0ZURhdGFTdG9yZSBkZWZhdWx0RGF0YVN0b3JlXTsKLQotICAgIE5T
VVJMICpzdGF0aXN0aWNzRGlyZWN0b3J5VVJMID0gW05TVVJMIGZpbGVVUkxXaXRoUGF0aDpbQCJ+
L0xpYnJhcnkvV2ViS2l0L2NvbS5hcHBsZS5XZWJLaXQuVGVzdFdlYktpdEFQSS9XZWJzaXRlRGF0
YS9SZXNvdXJjZUxvYWRTdGF0aXN0aWNzIiBzdHJpbmdCeUV4cGFuZGluZ1RpbGRlSW5QYXRoXSBp
c0RpcmVjdG9yeTpZRVNdOwotICAgIE5TVVJMICp0YXJnZXRVUkwgPSBbc3RhdGlzdGljc0RpcmVj
dG9yeVVSTCBVUkxCeUFwcGVuZGluZ1BhdGhDb21wb25lbnQ6QCJmdWxsX2Jyb3dzaW5nX3Nlc3Np
b25fcmVzb3VyY2VMb2cucGxpc3QiXTsKLSAgICBOU1VSTCAqdGVzdFJlc291cmNlVVJMID0gW1tO
U0J1bmRsZSBtYWluQnVuZGxlXSBVUkxGb3JSZXNvdXJjZTpAIkVtcHR5R3JhbmRmYXRoZXJlZFJl
c291cmNlTG9hZFN0YXRpc3RpY3MiIHdpdGhFeHRlbnNpb246QCJwbGlzdCIgc3ViZGlyZWN0b3J5
OkAiVGVzdFdlYktpdEFQSS5yZXNvdXJjZXMiXTsKLQotICAgIFtbTlNGaWxlTWFuYWdlciBkZWZh
dWx0TWFuYWdlcl0gY3JlYXRlRGlyZWN0b3J5QXRVUkw6c3RhdGlzdGljc0RpcmVjdG9yeVVSTCB3
aXRoSW50ZXJtZWRpYXRlRGlyZWN0b3JpZXM6WUVTIGF0dHJpYnV0ZXM6bmlsIGVycm9yOm5pbF07
Ci0gICAgW1tOU0ZpbGVNYW5hZ2VyIGRlZmF1bHRNYW5hZ2VyXSBjb3B5SXRlbUF0VVJMOnRlc3RS
ZXNvdXJjZVVSTCB0b1VSTDp0YXJnZXRVUkwgZXJyb3I6bmlsXTsKLSAgICAKLSAgICBFWFBFQ1Rf
VFJVRShbW05TRmlsZU1hbmFnZXIgZGVmYXVsdE1hbmFnZXJdIGZpbGVFeGlzdHNBdFBhdGg6dGFy
Z2V0VVJMLnBhdGhdKTsKLQotICAgIHN0YXRpYyBib29sIGNhbGxiYWNrRmxhZzsKLSAgICBzdGF0
aWMgYm9vbCBkb25lRmxhZzsKLSAgICBbZGF0YVN0b3JlIF9zZXRSZXNvdXJjZUxvYWRTdGF0aXN0
aWNzVGVzdGluZ0NhbGxiYWNrOl4oV0tXZWJzaXRlRGF0YVN0b3JlICosIE5TU3RyaW5nICptZXNz
YWdlKSB7Ci0gICAgICAgIC8vIE9ubHkgaWYgdGhlIGRhdGFiYXNlIHN0b3JlIGlzIG5vdCBkZWZh
dWx0LWVuYWJsZWQgZG8gd2UgbmVlZCB0byBjaGVjayB0aGF0IHRoaXMgZmlyc3QgbWVzc2FnZSBp
cyBjb3JyZWN0LgotICAgICAgICBpZiAoIWlzSVRQRGF0YWJhc2VFbmFibGVkKCkpCi0gICAgICAg
ICAgICBFWFBFQ1RfVFJVRShbbWVzc2FnZSBpc0VxdWFsVG9TdHJpbmc6QCJQb3B1bGF0ZWRXaXRo
b3V0R3JhbmRmYXRoZXJpbmciXSk7Ci0gICAgICAgIGNhbGxiYWNrRmxhZyA9IHRydWU7Ci0gICAg
fV07Ci0KLSAgICAvLyBXZSBuZWVkIGFuIGFjdGl2ZSBOZXR3b3JrUHJvY2VzcyB0byBwZXJmb3Jt
IFJlc291cmNlTG9hZFN0YXRpc3RpY3Mgb3BlcmF0aW9ucy4KLSAgICBhdXRvIHdlYlZpZXcgPSBh
ZG9wdE5TKFtbV0tXZWJWaWV3IGFsbG9jXSBpbml0V2l0aEZyYW1lOk5TTWFrZVJlY3QoMCwgMCwg
ODAwLCA2MDApXSk7Ci0gICAgW2RhdGFTdG9yZSBfc2V0UmVzb3VyY2VMb2FkU3RhdGlzdGljc0Vu
YWJsZWQ6WUVTXTsKLSAgICBbd2ViVmlldyBsb2FkUmVxdWVzdDpbTlNVUkxSZXF1ZXN0IHJlcXVl
c3RXaXRoVVJMOltOU1VSTCBVUkxXaXRoU3RyaW5nOkAiYWJvdXQ6YmxhbmsiXV1dOwotCi0gICAg
aWYgKGlzSVRQRGF0YWJhc2VFbmFibGVkKCkpIHsKLSAgICAgICAgVGVzdFdlYktpdEFQSTo6VXRp
bDo6cnVuKCZjYWxsYmFja0ZsYWcpOwotCi0gICAgICAgIC8vIFNpbmNlIHRoZSBkYXRhYmFzZSBz
dG9yZSBpcyBlbmFibGVkLCB3ZSBuZWVkIHRvIGRpc2FibGUgaXQgdG8gdGVzdCB0aGlzIGZ1bmN0
aW9uYWxpdHkgd2l0aCB0aGUgcGxpc3QuCi0gICAgICAgIC8vIFdlIGFscmVhZHkgaGF2ZSBhIE5l
dHdvcmtQcm9jZXNzIHVwIGFuZCBydW5uaW5nIHdpdGggSVRQIGVuYWJsZWQuIFdlIG5vdyBtYWtl
IGFub3RoZXIgY2FsbCBpbml0aWFsaXppbmcKLSAgICAgICAgLy8gdGhlIG1lbW9yeSBzdG9yZSBh
bmQgdGVzdGluZyBncmFuZGZhdGhlcmluZy4KLSAgICAgICAgY2FsbGJhY2tGbGFnID0gZmFsc2U7
Ci0gICAgICAgIFtkYXRhU3RvcmUgX3NldFJlc291cmNlTG9hZFN0YXRpc3RpY3NUZXN0aW5nQ2Fs
bGJhY2s6XihXS1dlYnNpdGVEYXRhU3RvcmUgKiwgTlNTdHJpbmcgKm1lc3NhZ2UpIHsKLSAgICAg
ICAgICAgIEFTU0VSVF9UUlVFKFttZXNzYWdlIGlzRXF1YWxUb1N0cmluZzpAIlBvcHVsYXRlZFdp
dGhvdXRHcmFuZGZhdGhlcmluZyJdKTsKLSAgICAgICAgICAgIGNhbGxiYWNrRmxhZyA9IHRydWU7
Ci0gICAgICAgIH1dOwotCi0gICAgICAgIC8vIFNpbmNlIHRoZSBJVFAgRGF0YWJhc2UgaXMgZW5h
YmxlZCwgdGhlIHBsaXN0IGZpbGUgaGFzIGJlZW4gZGVsZXRlZC4gV2UgbmVlZCB0byBjcmVhdGUg
aXQgYWdhaW4uCi0gICAgICAgIFtbTlNGaWxlTWFuYWdlciBkZWZhdWx0TWFuYWdlcl0gY3JlYXRl
RGlyZWN0b3J5QXRVUkw6c3RhdGlzdGljc0RpcmVjdG9yeVVSTCB3aXRoSW50ZXJtZWRpYXRlRGly
ZWN0b3JpZXM6WUVTIGF0dHJpYnV0ZXM6bmlsIGVycm9yOm5pbF07Ci0gICAgICAgIFtbTlNGaWxl
TWFuYWdlciBkZWZhdWx0TWFuYWdlcl0gY29weUl0ZW1BdFVSTDp0ZXN0UmVzb3VyY2VVUkwgdG9V
Ukw6dGFyZ2V0VVJMIGVycm9yOm5pbF07Ci0gICAgICAgIEVYUEVDVF9UUlVFKFtbTlNGaWxlTWFu
YWdlciBkZWZhdWx0TWFuYWdlcl0gZmlsZUV4aXN0c0F0UGF0aDp0YXJnZXRVUkwucGF0aF0pOwot
Ci0gICAgICAgIFtkYXRhU3RvcmUgX3NldFVzZUlUUERhdGFiYXNlOmZhbHNlIGNvbXBsZXRpb25I
YW5kbGVyOiBeKHZvaWQpIHsKLSAgICAgICAgICAgIGRvbmVGbGFnID0gdHJ1ZTsKLSAgICAgICAg
fV07Ci0KLSAgICAgICAgVGVzdFdlYktpdEFQSTo6VXRpbDo6cnVuKCZkb25lRmxhZyk7Ci0gICAg
fQotCi0gICAgVGVzdFdlYktpdEFQSTo6VXRpbDo6cnVuKCZjYWxsYmFja0ZsYWcpOwotCi0gICAg
RVhQRUNUX1RSVUUoW1tOU0ZpbGVNYW5hZ2VyIGRlZmF1bHRNYW5hZ2VyXSBmaWxlRXhpc3RzQXRQ
YXRoOnRhcmdldFVSTC5wYXRoXSk7Ci0KLSAgICB3ZWJWaWV3LmNsZWFyKCk7Ci0KLSAgICBFWFBF
Q1RfRVEoKHNpemVfdCkwLCBbc2hhcmVkUHJvY2Vzc1Bvb2wgX3BsdWdpblByb2Nlc3NDb3VudF0p
OwotfQotCiBURVNUKFJlc291cmNlTG9hZFN0YXRpc3RpY3MsIENoaWxkUHJvY2Vzc2VzTm90TGF1
bmNoZWREYXRhYmFzZSkKIHsKICAgICAvLyBFbnN1cmUgdGhlIHNoYXJlZCBwcm9jZXNzIHBvb2wg
ZXhpc3RzIHNvIHRoZSBkYXRhIHN0b3JlIG9wZXJhdGlvbnMgd2UncmUgYWJvdXQgdG8gZG8gd29y
ayB3aXRoIGl0LgpAQCAtNDM5LDEzICsxNjksMTEgQEAgVEVTVChSZXNvdXJjZUxvYWRTdGF0aXN0
aWNzLCBDaGlsZFByb2Nlc3Nlc05vdExhdW5jaGVkRGF0YWJhc2UpCiAKICAgICBlbnN1cmVJVFBG
aWxlSXNDcmVhdGVkKCk7CiAKLSAgICBzdGF0aWMgYm9vbCBjYWxsYmFja0ZsYWc7Ci0gICAgc3Rh
dGljIGJvb2wgZG9uZUZsYWc7CisgICAgX19ibG9jayBib29sIGNhbGxiYWNrRmxhZyA9IGZhbHNl
OwogCiAgICAgW2RhdGFTdG9yZSBfc2V0UmVzb3VyY2VMb2FkU3RhdGlzdGljc1Rlc3RpbmdDYWxs
YmFjazpeKFdLV2Vic2l0ZURhdGFTdG9yZSAqLCBOU1N0cmluZyAqbWVzc2FnZSkgewogICAgICAg
ICAvLyBPbmx5IGlmIHRoZSBkYXRhYmFzZSBzdG9yZSBpcyBkZWZhdWx0LWVuYWJsZWQgZG8gd2Ug
bmVlZCB0byBjaGVjayB0aGF0IHRoaXMgZmlyc3QgbWVzc2FnZSBpcyBjb3JyZWN0LgotICAgICAg
ICBpZiAoaXNJVFBEYXRhYmFzZUVuYWJsZWQoKSkKLSAgICAgICAgICAgIEVYUEVDVF9UUlVFKFtt
ZXNzYWdlIGlzRXF1YWxUb1N0cmluZzpAIlBvcHVsYXRlZFdpdGhvdXRHcmFuZGZhdGhlcmluZyJd
KTsKKyAgICAgICAgRVhQRUNUX1RSVUUoW21lc3NhZ2UgaXNFcXVhbFRvU3RyaW5nOkAiUG9wdWxh
dGVkV2l0aG91dEdyYW5kZmF0aGVyaW5nIl0pOwogICAgICAgICBjYWxsYmFja0ZsYWcgPSB0cnVl
OwogICAgIH1dOwogCkBAIC00NTQsMjcgKzE4Miw2IEBAIFRFU1QoUmVzb3VyY2VMb2FkU3RhdGlz
dGljcywgQ2hpbGRQcm9jZXNzZXNOb3RMYXVuY2hlZERhdGFiYXNlKQogICAgIFtkYXRhU3RvcmUg
X3NldFJlc291cmNlTG9hZFN0YXRpc3RpY3NFbmFibGVkOllFU107CiAgICAgW3dlYlZpZXcgbG9h
ZFJlcXVlc3Q6W05TVVJMUmVxdWVzdCByZXF1ZXN0V2l0aFVSTDpbTlNVUkwgVVJMV2l0aFN0cmlu
ZzpAImFib3V0OmJsYW5rIl1dXTsKIAotICAgIGlmICghaXNJVFBEYXRhYmFzZUVuYWJsZWQoKSkg
ewotICAgICAgICBUZXN0V2ViS2l0QVBJOjpVdGlsOjpydW4oJmNhbGxiYWNrRmxhZyk7Ci0KLSAg
ICAgICAgLy8gU2luY2UgdGhlIGRhdGFiYXNlIHN0b3JlIGlzIG5vdCBlbmFibGVkLCB3ZSBuZWVk
IHRvIHVwZGF0ZSB0aGUgc3RvcmUgdG8gdXNlIGEgZGF0YWJhc2UgaW5zdGVhZCBvZiBhIHBsaXN0
IGZvciB0aGlzIHRlc3QuCi0gICAgICAgIC8vIFdlIGFscmVhZHkgaGF2ZSBhIE5ldHdvcmtQcm9j
ZXNzIHVwIGFuZCBydW5uaW5nIHdpdGggSVRQIGVuYWJsZWQuIFdlIG5vdyBtYWtlIGFub3RoZXIg
Y2FsbCBpbml0aWFsaXppbmcKLSAgICAgICAgLy8gdGhlIGRhdGFiYXNlIHN0b3JlIGFuZCB0ZXN0
aW5nIGdyYW5kZmF0aGVyaW5nLgotICAgICAgICBjYWxsYmFja0ZsYWcgPSBmYWxzZTsKLSAgICAg
ICAgW2RhdGFTdG9yZSBfc2V0UmVzb3VyY2VMb2FkU3RhdGlzdGljc1Rlc3RpbmdDYWxsYmFjazpe
KFdLV2Vic2l0ZURhdGFTdG9yZSAqLCBOU1N0cmluZyAqbWVzc2FnZSkgewotICAgICAgICAgICAg
QVNTRVJUX1RSVUUoW21lc3NhZ2UgaXNFcXVhbFRvU3RyaW5nOkAiUG9wdWxhdGVkV2l0aG91dEdy
YW5kZmF0aGVyaW5nIl0pOwotICAgICAgICAgICAgY2FsbGJhY2tGbGFnID0gdHJ1ZTsKLSAgICAg
ICAgfV07Ci0KLSAgICAgICAgZW5zdXJlSVRQRmlsZUlzQ3JlYXRlZCgpOwotCi0gICAgICAgIFtk
YXRhU3RvcmUgX3NldFVzZUlUUERhdGFiYXNlOnRydWUgY29tcGxldGlvbkhhbmRsZXI6IF4odm9p
ZCkgewotICAgICAgICAgICAgZG9uZUZsYWcgPSB0cnVlOwotICAgICAgICB9XTsKLQotICAgICAg
ICBUZXN0V2ViS2l0QVBJOjpVdGlsOjpydW4oJmRvbmVGbGFnKTsKLSAgICB9Ci0KICAgICBUZXN0
V2ViS2l0QVBJOjpVdGlsOjpydW4oJmNhbGxiYWNrRmxhZyk7CiAKICAgICBFWFBFQ1RfVFJVRShb
W05TRmlsZU1hbmFnZXIgZGVmYXVsdE1hbmFnZXJdIGZpbGVFeGlzdHNBdFBhdGg6dGFyZ2V0VVJM
LnBhdGhdKTsKQEAgLTk2OSwxNCArNjc2LDcgQEAgVEVTVChSZXNvdXJjZUxvYWRTdGF0aXN0aWNz
LCBHZXRSZXNvdXJjZUxvYWRTdGF0aXN0aWNzRGF0YVN1bW1hcnkpCiAKICAgICBbZGF0YVN0b3Jl
IF9zZXRSZXNvdXJjZUxvYWRTdGF0aXN0aWNzRW5hYmxlZDpZRVNdOwogCi0gICAgc3RhdGljIGJv
b2wgZG9uZUZsYWcgPSBmYWxzZTsKLSAgICBbZGF0YVN0b3JlIF9zZXRVc2VJVFBEYXRhYmFzZTpm
YWxzZSBjb21wbGV0aW9uSGFuZGxlcjogXih2b2lkKSB7Ci0gICAgICAgIGRvbmVGbGFnID0gdHJ1
ZTsKLSAgICB9XTsKLQotICAgIFRlc3RXZWJLaXRBUEk6OlV0aWw6OnJ1bigmZG9uZUZsYWcpOwot
Ci0gICAgZG9uZUZsYWcgPSBmYWxzZTsKKyAgICBfX2Jsb2NrIGJvb2wgZG9uZUZsYWcgPSBmYWxz
ZTsKICAgICBbZGF0YVN0b3JlIF9jbGVhclJlc291cmNlTG9hZFN0YXRpc3RpY3M6Xih2b2lkKSB7
CiAgICAgICAgIGRvbmVGbGFnID0gdHJ1ZTsKICAgICB9XTsKQEAgLTExNzksMTQgKzg3OSw3IEBA
IFRFU1QoUmVzb3VyY2VMb2FkU3RhdGlzdGljcywgR2V0UmVzb3VyY2VMb2FkU3RhdGlzdGljc0Rh
dGFTdW1tYXJ5RGF0YWJhc2UpCiAKICAgICBbZGF0YVN0b3JlIF9zZXRSZXNvdXJjZUxvYWRTdGF0
aXN0aWNzRW5hYmxlZDpZRVNdOwogCi0gICAgc3RhdGljIGJvb2wgZG9uZUZsYWcgPSBmYWxzZTsK
LSAgICBbZGF0YVN0b3JlIF9zZXRVc2VJVFBEYXRhYmFzZTp0cnVlIGNvbXBsZXRpb25IYW5kbGVy
OiBeKHZvaWQpIHsKLSAgICAgICAgZG9uZUZsYWcgPSB0cnVlOwotICAgIH1dOwotCi0gICAgVGVz
dFdlYktpdEFQSTo6VXRpbDo6cnVuKCZkb25lRmxhZyk7Ci0gICAgCi0gICAgZG9uZUZsYWcgPSBm
YWxzZTsKKyAgICBfX2Jsb2NrIGJvb2wgZG9uZUZsYWcgPSBmYWxzZTsKICAgICBbZGF0YVN0b3Jl
IF9zZXRUaGlyZFBhcnR5Q29va2llQmxvY2tpbmdNb2RlOnRydWUgb25seU9uU2l0ZXNXaXRob3V0
VXNlckludGVyYWN0aW9uOmZhbHNlIGNvbXBsZXRpb25IYW5kbGVyOiBeKHZvaWQpIHsKICAgICAg
ICAgZG9uZUZsYWcgPSB0cnVlOwogICAgIH1dOwpAQCAtMTQ0MCwxNSArMTEzMyw4IEBAIFRFU1Qo
UmVzb3VyY2VMb2FkU3RhdGlzdGljcywgTWlncmF0ZURhdGFGcm9tSW5jb3JyZWN0Q3JlYXRlVGFi
bGVTY2hlbWEpCiAgICAgW2RhdGFTdG9yZSBfc2V0UmVzb3VyY2VMb2FkU3RhdGlzdGljc0VuYWJs
ZWQ6WUVTXTsKICAgICBbd2ViVmlldyBsb2FkUmVxdWVzdDpbTlNVUkxSZXF1ZXN0IHJlcXVlc3RX
aXRoVVJMOltOU1VSTCBVUkxXaXRoU3RyaW5nOkAiYWJvdXQ6YmxhbmsiXV1dOwogCi0gICAgc3Rh
dGljIGJvb2wgZG9uZUZsYWc7Ci0gICAgW2RhdGFTdG9yZSBfc2V0VXNlSVRQRGF0YWJhc2U6dHJ1
ZSBjb21wbGV0aW9uSGFuZGxlcjogXih2b2lkKSB7Ci0gICAgICAgIGRvbmVGbGFnID0gdHJ1ZTsK
LSAgICB9XTsKLSAgICAKLSAgICBUZXN0V2ViS2l0QVBJOjpVdGlsOjpydW4oJmRvbmVGbGFnKTsK
LSAgICAKKyAgICBfX2Jsb2NrIGJvb2wgZG9uZUZsYWcgPSBmYWxzZTsKICAgICAvLyBDaGVjayB0
aGF0IHRoZSBwcmUtc2VlZGVkIGRhdGEgaXMgaW4gdGhlIG5ldyBkYXRhYmFzZSBhZnRlciBtaWdy
YXRpbmcuCi0gICAgZG9uZUZsYWcgPSBmYWxzZTsKICAgICBbZGF0YVN0b3JlIF9pc1JlZ2lzdGVy
ZWRBc1N1YnJlc291cmNlVW5kZXJGaXJzdFBhcnR5OltOU1VSTCBVUkxXaXRoU3RyaW5nOkAiaHR0
cDovL2FwcGxlLmNvbSJdIHRoaXJkUGFydHk6W05TVVJMIFVSTFdpdGhTdHJpbmc6QCJodHRwOi8v
d2Via2l0Lm9yZyJdIGNvbXBsZXRpb25IYW5kbGVyOiBeKEJPT0wgaXNSZWdpc3RlcmVkKSB7CiAg
ICAgICAgIEVYUEVDVF9UUlVFKGlzUmVnaXN0ZXJlZCk7CiAgICAgICAgIGRvbmVGbGFnID0gdHJ1
ZTsKQEAgLTE1MjksMTYgKzEyMTUsOSBAQCBURVNUKFJlc291cmNlTG9hZFN0YXRpc3RpY3MsIE1p
Z3JhdGVEYXRhRnJvbU1pc3NpbmdUb3BGcmFtZVVuaXF1ZVJlZGlyZWN0U2FtZVNpdAogICAgIFtk
YXRhU3RvcmUgX3NldFJlc291cmNlTG9hZFN0YXRpc3RpY3NFbmFibGVkOllFU107CiAgICAgW3dl
YlZpZXcgbG9hZFJlcXVlc3Q6W05TVVJMUmVxdWVzdCByZXF1ZXN0V2l0aFVSTDpbTlNVUkwgVVJM
V2l0aFN0cmluZzpAImFib3V0OmJsYW5rIl1dXTsKIAotICAgIHN0YXRpYyBib29sIGRvbmVGbGFn
OwotICAgIFtkYXRhU3RvcmUgX3NldFVzZUlUUERhdGFiYXNlOnRydWUgY29tcGxldGlvbkhhbmRs
ZXI6IF4odm9pZCkgewotICAgICAgICBkb25lRmxhZyA9IHRydWU7Ci0gICAgfV07Ci0KLSAgICBU
ZXN0V2ViS2l0QVBJOjpVdGlsOjpydW4oJmRvbmVGbGFnKTsKLQorICAgIF9fYmxvY2sgYm9vbCBk
b25lRmxhZyA9IGZhbHNlOwogICAgIC8vIFNpbmNlIHRoZSBkYXRhYmFzZSBzaG91bGQgbm90IGJl
IGRlbGV0ZWQsIHRoZSBwcmUtc2VlZGVkIGRhdGEgc2hvdWxkCiAgICAgLy8gc3RpbGwgYmUgdGhl
cmUgYWZ0ZXIgaW5pdGlhbGl6aW5nIElUUC4KLSAgICBkb25lRmxhZyA9IGZhbHNlOwogICAgIFtk
YXRhU3RvcmUgX2lzUmVnaXN0ZXJlZEFzU3VicmVzb3VyY2VVbmRlckZpcnN0UGFydHk6W05TVVJM
IFVSTFdpdGhTdHJpbmc6QCJodHRwOi8vYXBwbGUuY29tIl0gdGhpcmRQYXJ0eTpbTlNVUkwgVVJM
V2l0aFN0cmluZzpAImh0dHA6Ly93ZWJraXQub3JnIl0gY29tcGxldGlvbkhhbmRsZXI6IF4oQk9P
TCBpc1JlZ2lzdGVyZWQpIHsKICAgICAgICAgRVhQRUNUX1RSVUUoaXNSZWdpc3RlcmVkKTsKICAg
ICAgICAgZG9uZUZsYWcgPSB0cnVlOwpAQCAtMTYwMywxOCArMTI4Miw2IEBAIFRFU1QoUmVzb3Vy
Y2VMb2FkU3RhdGlzdGljcywgU3RvcmVTdXNwZW5zaW9uKQogICAgIFtkYXRhU3RvcmUxIF9zZXRS
ZXNvdXJjZUxvYWRTdGF0aXN0aWNzRW5hYmxlZDpZRVNdOwogICAgIFtkYXRhU3RvcmUyIF9zZXRS
ZXNvdXJjZUxvYWRTdGF0aXN0aWNzRW5hYmxlZDpZRVNdOwogCi0gICAgc3RhdGljIGJvb2wgZG9u
ZUZsYWcgPSBmYWxzZTsKLSAgICBbZGF0YVN0b3JlMSBfc2V0VXNlSVRQRGF0YWJhc2U6dHJ1ZSBj
b21wbGV0aW9uSGFuZGxlcjogXih2b2lkKSB7Ci0gICAgICAgIGRvbmVGbGFnID0gdHJ1ZTsKLSAg
ICB9XTsKLSAgICBUZXN0V2ViS2l0QVBJOjpVdGlsOjpydW4oJmRvbmVGbGFnKTsKLQotICAgIGRv
bmVGbGFnID0gZmFsc2U7Ci0gICAgW2RhdGFTdG9yZTIgX3NldFVzZUlUUERhdGFiYXNlOnRydWUg
Y29tcGxldGlvbkhhbmRsZXI6IF4odm9pZCkgewotICAgICAgICBkb25lRmxhZyA9IHRydWU7Ci0g
ICAgfV07Ci0gICAgVGVzdFdlYktpdEFQSTo6VXRpbDo6cnVuKCZkb25lRmxhZyk7Ci0KICAgICBh
dXRvIGNvbmZpZ3VyYXRpb24xID0gYWRvcHROUyhbW1dLV2ViVmlld0NvbmZpZ3VyYXRpb24gYWxs
b2NdIGluaXRdKTsKICAgICBbY29uZmlndXJhdGlvbjEgc2V0UHJvY2Vzc1Bvb2w6IHNoYXJlZFBy
b2Nlc3NQb29sXTsKICAgICBjb25maWd1cmF0aW9uMS5nZXQoKS53ZWJzaXRlRGF0YVN0b3JlID0g
ZGF0YVN0b3JlMTsKQEAgLTE2MzIsNyArMTI5OSw3IEBAIFRFU1QoUmVzb3VyY2VMb2FkU3RhdGlz
dGljcywgU3RvcmVTdXNwZW5zaW9uKQogICAgIFt3ZWJWaWV3MiBsb2FkSFRNTFN0cmluZzpAIldl
YktpdCBUZXN0IiBiYXNlVVJMOltOU1VSTCBVUkxXaXRoU3RyaW5nOkAiaHR0cDovL3dlYmtpdDIu
b3JnIl1dOwogICAgIFt3ZWJWaWV3MiBfdGVzdF93YWl0Rm9yRGlkRmluaXNoTmF2aWdhdGlvbl07
CiAKLSAgICBkb25lRmxhZyA9IGZhbHNlOworICAgIF9fYmxvY2sgYm9vbCBkb25lRmxhZyA9IGZh
bHNlOwogICAgIFtzaGFyZWRQcm9jZXNzUG9vbCBfc2VuZE5ldHdvcmtQcm9jZXNzUHJlcGFyZVRv
U3VzcGVuZDpeewogICAgICAgICBkb25lRmxhZyA9IHRydWU7CiAgICAgfV07CmRpZmYgLS1naXQg
YS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL0JpbmRpbmdzL1Rlc3RSdW5u
ZXIuaWRsIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9CaW5kaW5ncy9U
ZXN0UnVubmVyLmlkbAppbmRleCBmYmVmMzk2ZjVmNmYzYmZmNGY5OWM4YTU2YTZlNjJhYzAxNDBm
ZmE0Li40NTlhMTk0MDAwMTUwZjk3Yjc1MDMxMmQ1MmYxMTUxYmVhZWNkMzEwIDEwMDY0NAotLS0g
YS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL0JpbmRpbmdzL1Rlc3RSdW5u
ZXIuaWRsCisrKyBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvQmluZGlu
Z3MvVGVzdFJ1bm5lci5pZGwKQEAgLTMxNyw3ICszMTcsNiBAQCBpbnRlcmZhY2UgVGVzdFJ1bm5l
ciB7CiAgICAgYm9vbGVhbiBpc1N0YXRpc3RpY3NPbmx5SW5EYXRhYmFzZU9uY2UoRE9NU3RyaW5n
IHN1Ykhvc3QsIERPTVN0cmluZyB0b3BIb3N0KTsKICAgICB1bmRlZmluZWQgc2V0U3RhdGlzdGlj
c0dyYW5kZmF0aGVyZWQoRE9NU3RyaW5nIGhvc3ROYW1lLCBib29sZWFuIHZhbHVlKTsKICAgICBi
b29sZWFuIGlzU3RhdGlzdGljc0dyYW5kZmF0aGVyZWQoRE9NU3RyaW5nIGhvc3ROYW1lKTsKLSAg
ICB1bmRlZmluZWQgc2V0VXNlSVRQRGF0YWJhc2UoYm9vbGVhbiB2YWx1ZSk7CiAgICAgdW5kZWZp
bmVkIHNldFN0YXRpc3RpY3NTdWJmcmFtZVVuZGVyVG9wRnJhbWVPcmlnaW4oRE9NU3RyaW5nIGhv
c3ROYW1lLCBET01TdHJpbmcgdG9wRnJhbWVIb3N0TmFtZSk7CiAgICAgdW5kZWZpbmVkIHNldFN0
YXRpc3RpY3NTdWJyZXNvdXJjZVVuZGVyVG9wRnJhbWVPcmlnaW4oRE9NU3RyaW5nIGhvc3ROYW1l
LCBET01TdHJpbmcgdG9wRnJhbWVIb3N0TmFtZSk7CiAgICAgdW5kZWZpbmVkIHNldFN0YXRpc3Rp
Y3NTdWJyZXNvdXJjZVVuaXF1ZVJlZGlyZWN0VG8oRE9NU3RyaW5nIGhvc3ROYW1lLCBET01TdHJp
bmcgaG9zdE5hbWVSZWRpcmVjdGVkVG8pOwpkaWZmIC0tZ2l0IGEvVG9vbHMvV2ViS2l0VGVzdFJ1
bm5lci9JbmplY3RlZEJ1bmRsZS9UZXN0UnVubmVyLmNwcCBiL1Rvb2xzL1dlYktpdFRlc3RSdW5u
ZXIvSW5qZWN0ZWRCdW5kbGUvVGVzdFJ1bm5lci5jcHAKaW5kZXggYTYyNTU4OTcyN2JjNzFiNzQx
ZWNmMjU2NTE1MjFlZmI0ZjQ5OTdmMy4uYWJhMjhmNGNlZGJlZmFkYjQ1ODdmYTc1MTA3NzU1ZDJl
Yzc5NTdlMiAxMDA2NDQKLS0tIGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRs
ZS9UZXN0UnVubmVyLmNwcAorKysgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVu
ZGxlL1Rlc3RSdW5uZXIuY3BwCkBAIC0xOTE4LDE0ICsxOTE4LDYgQEAgdm9pZCBUZXN0UnVubmVy
OjpzZXRTdGF0aXN0aWNzR3JhbmRmYXRoZXJlZChKU1N0cmluZ1JlZiBob3N0TmFtZSwgYm9vbCB2
YWx1ZSkKICAgICBXS0J1bmRsZVBvc3RTeW5jaHJvbm91c01lc3NhZ2UoSW5qZWN0ZWRCdW5kbGU6
OnNpbmdsZXRvbigpLmJ1bmRsZSgpLCBtZXNzYWdlTmFtZS5nZXQoKSwgbWVzc2FnZUJvZHkuZ2V0
KCksIG51bGxwdHIpOwogfQogCi12b2lkIFRlc3RSdW5uZXI6OnNldFVzZUlUUERhdGFiYXNlKGJv
b2wgdmFsdWUpCi17Ci0gICAgV0tSZXRhaW5QdHI8V0tTdHJpbmdSZWY+IG1lc3NhZ2VOYW1lID0g
YWRvcHRXSyhXS1N0cmluZ0NyZWF0ZVdpdGhVVEY4Q1N0cmluZygiU2V0VXNlSVRQRGF0YWJhc2Ui
KSk7Ci0gICAgV0tSZXRhaW5QdHI8V0tCb29sZWFuUmVmPiBtZXNzYWdlQm9keSA9IGFkb3B0V0so
V0tCb29sZWFuQ3JlYXRlKHZhbHVlKSk7Ci0gICAgCi0gICAgV0tCdW5kbGVQb3N0U3luY2hyb25v
dXNNZXNzYWdlKEluamVjdGVkQnVuZGxlOjpzaW5nbGV0b24oKS5idW5kbGUoKSwgbWVzc2FnZU5h
bWUuZ2V0KCksIG1lc3NhZ2VCb2R5LmdldCgpLCBudWxscHRyKTsKLX0KLQogYm9vbCBUZXN0UnVu
bmVyOjppc1N0YXRpc3RpY3NHcmFuZGZhdGhlcmVkKEpTU3RyaW5nUmVmIGhvc3ROYW1lKQogewog
ICAgIFdLUmV0YWluUHRyPFdLU3RyaW5nUmVmPiBtZXNzYWdlTmFtZSA9IGFkb3B0V0soV0tTdHJp
bmdDcmVhdGVXaXRoVVRGOENTdHJpbmcoIklzU3RhdGlzdGljc0dyYW5kZmF0aGVyZWQiKSk7CmRp
ZmYgLS1naXQgYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL1Rlc3RSdW5u
ZXIuaCBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvVGVzdFJ1bm5lci5o
CmluZGV4IGMwYTE0MDkwNWVkZjNkZGE0YTc2MWFiNjIwN2Q5N2I0MzYyMDg2YmIuLmRkODg4MzI2
MTQ2NmZmMDUyOTk0ZmE4MWE0YWE2ZWVhYWY2YjBjODAgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1dlYktp
dFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvVGVzdFJ1bm5lci5oCisrKyBiL1Rvb2xzL1dlYktp
dFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvVGVzdFJ1bm5lci5oCkBAIC00MjIsNyArNDIyLDYg
QEAgcHVibGljOgogICAgIGJvb2wgaXNTdGF0aXN0aWNzT25seUluRGF0YWJhc2VPbmNlKEpTU3Ry
aW5nUmVmIHN1Ykhvc3QsIEpTU3RyaW5nUmVmIHRvcEhvc3QpOwogICAgIHZvaWQgc2V0U3RhdGlz
dGljc0dyYW5kZmF0aGVyZWQoSlNTdHJpbmdSZWYgaG9zdE5hbWUsIGJvb2wgdmFsdWUpOwogICAg
IGJvb2wgaXNTdGF0aXN0aWNzR3JhbmRmYXRoZXJlZChKU1N0cmluZ1JlZiBob3N0TmFtZSk7Ci0g
ICAgdm9pZCBzZXRVc2VJVFBEYXRhYmFzZShib29sIHZhbHVlKTsKICAgICB2b2lkIHNldFN0YXRp
c3RpY3NTdWJmcmFtZVVuZGVyVG9wRnJhbWVPcmlnaW4oSlNTdHJpbmdSZWYgaG9zdE5hbWUsIEpT
U3RyaW5nUmVmIHRvcEZyYW1lSG9zdE5hbWUpOwogICAgIHZvaWQgc2V0U3RhdGlzdGljc1N1YnJl
c291cmNlVW5kZXJUb3BGcmFtZU9yaWdpbihKU1N0cmluZ1JlZiBob3N0TmFtZSwgSlNTdHJpbmdS
ZWYgdG9wRnJhbWVIb3N0TmFtZSk7CiAgICAgdm9pZCBzZXRTdGF0aXN0aWNzU3VicmVzb3VyY2VV
bmlxdWVSZWRpcmVjdFRvKEpTU3RyaW5nUmVmIGhvc3ROYW1lLCBKU1N0cmluZ1JlZiBob3N0TmFt
ZVJlZGlyZWN0ZWRUbyk7CmRpZmYgLS1naXQgYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL1Rlc3RD
b250cm9sbGVyLmNwcCBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvVGVzdENvbnRyb2xsZXIuY3Bw
CmluZGV4IDEzNDVjNDJjMTFlNjJkYzA4OGM2ZjJkMzhiOTliMDkzNTY0ZTAxMzguLmUxNmYyYTQ0
NmYxN2QwOWM5ZWRkMTMwMDY3MDZjM2FhOTMxYjBjYzAgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1dlYktp
dFRlc3RSdW5uZXIvVGVzdENvbnRyb2xsZXIuY3BwCisrKyBiL1Rvb2xzL1dlYktpdFRlc3RSdW5u
ZXIvVGVzdENvbnRyb2xsZXIuY3BwCkBAIC0zNjU3LDEzICszNjU3LDYgQEAgYm9vbCBUZXN0Q29u
dHJvbGxlcjo6aXNTdGF0aXN0aWNzR3JhbmRmYXRoZXJlZChXS1N0cmluZ1JlZiBob3N0KQogICAg
IHJldHVybiBjb250ZXh0LnJlc3VsdDsKIH0KIAotdm9pZCBUZXN0Q29udHJvbGxlcjo6c2V0VXNl
SVRQRGF0YWJhc2UoYm9vbCB2YWx1ZSkKLXsKLSAgICBSZXNvdXJjZVN0YXRpc3RpY3NDYWxsYmFj
a0NvbnRleHQgY29udGV4dCgqdGhpcyk7Ci0gICAgV0tXZWJzaXRlRGF0YVN0b3JlU2V0VXNlSVRQ
RGF0YWJhc2Uod2Vic2l0ZURhdGFTdG9yZSgpLCB2YWx1ZSwgJmNvbnRleHQsIHJlc291cmNlU3Rh
dGlzdGljc1ZvaWRSZXN1bHRDYWxsYmFjayk7Ci0gICAgcnVuVW50aWwoY29udGV4dC5kb25lLCBu
b1RpbWVvdXQpOwotfQotCiB2b2lkIFRlc3RDb250cm9sbGVyOjpzZXRTdGF0aXN0aWNzU3ViZnJh
bWVVbmRlclRvcEZyYW1lT3JpZ2luKFdLU3RyaW5nUmVmIGhvc3QsIFdLU3RyaW5nUmVmIHRvcEZy
YW1lSG9zdCkKIHsKICAgICBXS1dlYnNpdGVEYXRhU3RvcmVTZXRTdGF0aXN0aWNzU3ViZnJhbWVV
bmRlclRvcEZyYW1lT3JpZ2luKHdlYnNpdGVEYXRhU3RvcmUoKSwgaG9zdCwgdG9wRnJhbWVIb3N0
KTsKZGlmZiAtLWdpdCBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvVGVzdENvbnRyb2xsZXIuaCBi
L1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvVGVzdENvbnRyb2xsZXIuaAppbmRleCBmOTRkNTdjMTQ3
YjMxNmYwNzhmYTg1ZjIyMGY0MDc2MDk0MTEzYzhjLi5kZjBlY2YwMjZmNTk4ZDU5NzAzZTFhMTE0
ZTU5YzRhY2JjZDI5OTliIDEwMDY0NAotLS0gYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL1Rlc3RD
b250cm9sbGVyLmgKKysrIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9UZXN0Q29udHJvbGxlci5o
CkBAIC0yMzYsNyArMjM2LDYgQEAgcHVibGljOgogICAgIGJvb2wgaXNTdGF0aXN0aWNzT25seUlu
RGF0YWJhc2VPbmNlKFdLU3RyaW5nUmVmIHN1Ykhvc3QsIFdLU3RyaW5nUmVmIHRvcEhvc3QpOwog
ICAgIHZvaWQgc2V0U3RhdGlzdGljc0dyYW5kZmF0aGVyZWQoV0tTdHJpbmdSZWYgaG9zdE5hbWUs
IGJvb2wgdmFsdWUpOwogICAgIGJvb2wgaXNTdGF0aXN0aWNzR3JhbmRmYXRoZXJlZChXS1N0cmlu
Z1JlZiBob3N0TmFtZSk7Ci0gICAgdm9pZCBzZXRVc2VJVFBEYXRhYmFzZShib29sIHZhbHVlKTsK
ICAgICB2b2lkIHNldFN0YXRpc3RpY3NTdWJmcmFtZVVuZGVyVG9wRnJhbWVPcmlnaW4oV0tTdHJp
bmdSZWYgaG9zdE5hbWUsIFdLU3RyaW5nUmVmIHRvcEZyYW1lSG9zdE5hbWUpOwogICAgIHZvaWQg
c2V0U3RhdGlzdGljc1N1YnJlc291cmNlVW5kZXJUb3BGcmFtZU9yaWdpbihXS1N0cmluZ1JlZiBo
b3N0TmFtZSwgV0tTdHJpbmdSZWYgdG9wRnJhbWVIb3N0TmFtZSk7CiAgICAgdm9pZCBzZXRTdGF0
aXN0aWNzU3VicmVzb3VyY2VVbmlxdWVSZWRpcmVjdFRvKFdLU3RyaW5nUmVmIGhvc3ROYW1lLCBX
S1N0cmluZ1JlZiBob3N0TmFtZVJlZGlyZWN0ZWRUbyk7CmRpZmYgLS1naXQgYS9Ub29scy9XZWJL
aXRUZXN0UnVubmVyL1Rlc3RJbnZvY2F0aW9uLmNwcCBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIv
VGVzdEludm9jYXRpb24uY3BwCmluZGV4IGE1YjZkZDA1NTgwYWUwYzJkOTU3MDc3ZGZlNDUwYTQ4
NmU2ZDAxZWMuLmM1NGJkOTIwNTYyNzA1ODY3YTE0Zjg0YzM1YWJmODk0ZGU5NWU5NjYgMTAwNjQ0
Ci0tLSBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvVGVzdEludm9jYXRpb24uY3BwCisrKyBiL1Rv
b2xzL1dlYktpdFRlc3RSdW5uZXIvVGVzdEludm9jYXRpb24uY3BwCkBAIC0xNDc1LDE0ICsxNDc1
LDYgQEAgV0tSZXRhaW5QdHI8V0tUeXBlUmVmPiBUZXN0SW52b2NhdGlvbjo6ZGlkUmVjZWl2ZVN5
bmNocm9ub3VzTWVzc2FnZUZyb21JbmplY3RlZEIKICAgICAgICAgV0tSZXRhaW5QdHI8V0tUeXBl
UmVmPiByZXN1bHQgPSBhZG9wdFdLKFdLQm9vbGVhbkNyZWF0ZShpc0dyYW5kZmF0aGVyZWQpKTsK
ICAgICAgICAgcmV0dXJuIHJlc3VsdDsKICAgICB9Ci0KLSAgICBpZiAoV0tTdHJpbmdJc0VxdWFs
VG9VVEY4Q1N0cmluZyhtZXNzYWdlTmFtZSwgIlNldFVzZUlUUERhdGFiYXNlIikpIHsKLSAgICAg
ICAgQVNTRVJUKFdLR2V0VHlwZUlEKG1lc3NhZ2VCb2R5KSA9PSBXS0Jvb2xlYW5HZXRUeXBlSUQo
KSk7Ci0KLSAgICAgICAgV0tCb29sZWFuUmVmIHZhbHVlID0gc3RhdGljX2Nhc3Q8V0tCb29sZWFu
UmVmPihtZXNzYWdlQm9keSk7Ci0gICAgICAgIFRlc3RDb250cm9sbGVyOjpzaW5nbGV0b24oKS5z
ZXRVc2VJVFBEYXRhYmFzZShXS0Jvb2xlYW5HZXRWYWx1ZSh2YWx1ZSkpOwotICAgICAgICByZXR1
cm4gbnVsbHB0cjsKLSAgICB9CiAgICAgCiAgICAgaWYgKFdLU3RyaW5nSXNFcXVhbFRvVVRGOENT
dHJpbmcobWVzc2FnZU5hbWUsICJTZXRTdGF0aXN0aWNzU3ViZnJhbWVVbmRlclRvcEZyYW1lT3Jp
Z2luIikpIHsKICAgICAgICAgQVNTRVJUKFdLR2V0VHlwZUlEKG1lc3NhZ2VCb2R5KSA9PSBXS0Rp
Y3Rpb25hcnlHZXRUeXBlSUQoKSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cg
Yi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggZDcxYWY5NzkyYzhlNmMzMzJhN2I2N2MyYjAw
ZWYyZDVkZWNjZmY3NC4uMThjYzE5MTRkMjZlNjcyOGE3MzkxNGNiN2I4NzczMTk1MWVjZTJkMyAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5n
ZUxvZwpAQCAtMSwzICsxLDI4NiBAQAorMjAyMC0wOS0yOCAgQWxleCBDaHJpc3RlbnNlbiAgPGFj
aHJpc3RlbnNlbkB3ZWJraXQub3JnPgorCisgICAgICAgIFJlbW92ZSBwbGlzdC1iYXNlZCBSZXNv
dXJjZUxvYWRTdGF0aXN0aWNzIHN0b3JhZ2UsIHdoaWNoIGhhcyBiZWVuIHJlcGxhY2VkIGJ5IGRh
dGFiYXNlLWJhc2VkIHN0b3JhZ2UKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTIxNzA2MworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgICogaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2FkZC1ibG9j
a2luZy10by1yZWRpcmVjdC1kYXRhYmFzZS1leHBlY3RlZC50eHQ6IFJlbW92ZWQuCisgICAgICAg
ICogaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2FkZC1ibG9ja2luZy10by1yZWRp
cmVjdC1kYXRhYmFzZS5odG1sOiBSZW1vdmVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvcmVzb3Vy
Y2VMb2FkU3RhdGlzdGljcy9hZ2dyZWdhdGUtc29ydGVkLWRhdGEtbm8tc3RvcmFnZS1hY2Nlc3Mt
ZGF0YWJhc2UtZXhwZWN0ZWQudHh0OiBSZW1vdmVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvcmVz
b3VyY2VMb2FkU3RhdGlzdGljcy9hZ2dyZWdhdGUtc29ydGVkLWRhdGEtbm8tc3RvcmFnZS1hY2Nl
c3MtZGF0YWJhc2UuaHRtbDogUmVtb3ZlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3Jlc291cmNl
TG9hZFN0YXRpc3RpY3MvYWdncmVnYXRlLXNvcnRlZC1kYXRhLW5vLXN0b3JhZ2UtYWNjZXNzLWV4
cGVjdGVkLnR4dDoKKyAgICAgICAgKiBodHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3Mv
YmxvY2tpbmctaW4td2ViLXdvcmtlci1zY3JpcHQtaW1wb3J0LWRhdGFiYXNlLWV4cGVjdGVkLnR4
dDogUmVtb3ZlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3Mv
YmxvY2tpbmctaW4td2ViLXdvcmtlci1zY3JpcHQtaW1wb3J0LWRhdGFiYXNlLmh0bWw6IFJlbW92
ZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NhcC1jYWNo
ZS1tYXgtYWdlLWZvci1wcmV2YWxlbnQtcmVzb3VyY2UtZGF0YWJhc2UtZXhwZWN0ZWQudHh0OiBS
ZW1vdmVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jYXAt
Y2FjaGUtbWF4LWFnZS1mb3ItcHJldmFsZW50LXJlc291cmNlLWRhdGFiYXNlLmh0bWw6IFJlbW92
ZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NhcHBlZC1s
aWZldGltZS1mb3ItY29va2llLXNldC1pbi1qcy1kYXRhYmFzZS1leHBlY3RlZC50eHQ6IFJlbW92
ZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NhcHBlZC1s
aWZldGltZS1mb3ItY29va2llLXNldC1pbi1qcy1kYXRhYmFzZS5odG1sOiBSZW1vdmVkLgorICAg
ICAgICAqIGh0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jYXBwZWQtbGlmZXRpbWUt
Zm9yLWNvb2tpZS1zZXQtaW4tanMtd2l0aC1saW5rLWRlY29yYXRpb24tc2FtZS1zaXRlLWRhdGFi
YXNlLWV4cGVjdGVkLnR4dDogUmVtb3ZlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3Jlc291cmNl
TG9hZFN0YXRpc3RpY3MvY2FwcGVkLWxpZmV0aW1lLWZvci1jb29raWUtc2V0LWluLWpzLXdpdGgt
bGluay1kZWNvcmF0aW9uLXNhbWUtc2l0ZS1kYXRhYmFzZS5odG1sOiBSZW1vdmVkLgorICAgICAg
ICAqIGh0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jYXBwZWQtbGlmZXRpbWUtZm9y
LWNvb2tpZS1zZXQtaW4tanMtd2l0aC1saW5rLWZyYWdtZW50LWZyb20tcHJldmFsZW50LXJlc291
cmNlLWRhdGFiYXNlLWV4cGVjdGVkLnR4dDogUmVtb3ZlZC4KKyAgICAgICAgKiBodHRwL3Rlc3Rz
L3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY2FwcGVkLWxpZmV0aW1lLWZvci1jb29raWUtc2V0LWlu
LWpzLXdpdGgtbGluay1mcmFnbWVudC1mcm9tLXByZXZhbGVudC1yZXNvdXJjZS1kYXRhYmFzZS5o
dG1sOiBSZW1vdmVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGlj
cy9jYXBwZWQtbGlmZXRpbWUtZm9yLWNvb2tpZS1zZXQtaW4tanMtd2l0aC1saW5rLXF1ZXJ5LWFu
ZC1mcmFnbWVudC1mcm9tLXByZXZhbGVudC1yZXNvdXJjZS1kYXRhYmFzZS1leHBlY3RlZC50eHQ6
IFJlbW92ZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2Nh
cHBlZC1saWZldGltZS1mb3ItY29va2llLXNldC1pbi1qcy13aXRoLWxpbmstcXVlcnktYW5kLWZy
YWdtZW50LWZyb20tcHJldmFsZW50LXJlc291cmNlLWRhdGFiYXNlLmh0bWw6IFJlbW92ZWQuCisg
ICAgICAgICogaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NhcHBlZC1saWZldGlt
ZS1mb3ItY29va2llLXNldC1pbi1qcy13aXRoLWxpbmstcXVlcnktZnJvbS1wcmV2YWxlbnQtcmVz
b3VyY2UtZGF0YWJhc2UtZXhwZWN0ZWQudHh0OiBSZW1vdmVkLgorICAgICAgICAqIGh0dHAvdGVz
dHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jYXBwZWQtbGlmZXRpbWUtZm9yLWNvb2tpZS1zZXQt
aW4tanMtd2l0aC1saW5rLXF1ZXJ5LWZyb20tcHJldmFsZW50LXJlc291cmNlLWRhdGFiYXNlLmh0
bWw6IFJlbW92ZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNz
L2NhcHBlZC1saWZldGltZS1mb3ItY29va2llLXNldC1pbi1qcy13aXRob3V0LWxpbmstZGVjb3Jh
dGlvbi1mcm9tLXByZXZhbGVudC1yZXNvdXJjZS1kYXRhYmFzZS1leHBlY3RlZC50eHQ6IFJlbW92
ZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NhcHBlZC1s
aWZldGltZS1mb3ItY29va2llLXNldC1pbi1qcy13aXRob3V0LWxpbmstZGVjb3JhdGlvbi1mcm9t
LXByZXZhbGVudC1yZXNvdXJjZS1kYXRhYmFzZS5odG1sOiBSZW1vdmVkLgorICAgICAgICAqIGh0
dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jbGFzc2lmeS1hcy1ub24tcHJldmFsZW50
LWJhc2VkLW9uLW1peGVkLXN0YXRpc3RpY3MtZGF0YWJhc2UtZXhwZWN0ZWQudHh0OiBSZW1vdmVk
LgorICAgICAgICAqIGh0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jbGFzc2lmeS1h
cy1ub24tcHJldmFsZW50LWJhc2VkLW9uLW1peGVkLXN0YXRpc3RpY3MtZGF0YWJhc2UuaHRtbDog
UmVtb3ZlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY2xh
c3NpZnktYXMtbm9uLXByZXZhbGVudC1iYXNlZC1vbi1zdWItZnJhbWUtdW5kZXItdG9wLWZyYW1l
LW9yaWdpbnMtZGF0YWJhc2UtZXhwZWN0ZWQudHh0OiBSZW1vdmVkLgorICAgICAgICAqIGh0dHAv
dGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jbGFzc2lmeS1hcy1ub24tcHJldmFsZW50LWJh
c2VkLW9uLXN1Yi1mcmFtZS11bmRlci10b3AtZnJhbWUtb3JpZ2lucy1kYXRhYmFzZS5odG1sOiBS
ZW1vdmVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jbGFz
c2lmeS1hcy1ub24tcHJldmFsZW50LWJhc2VkLW9uLXN1YnJlc291cmNlLXVuZGVyLXRvcC1mcmFt
ZS1vcmlnaW5zLWRhdGFiYXNlLWV4cGVjdGVkLnR4dDogUmVtb3ZlZC4KKyAgICAgICAgKiBodHRw
L3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY2xhc3NpZnktYXMtbm9uLXByZXZhbGVudC1i
YXNlZC1vbi1zdWJyZXNvdXJjZS11bmRlci10b3AtZnJhbWUtb3JpZ2lucy1kYXRhYmFzZS5odG1s
OiBSZW1vdmVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9j
bGFzc2lmeS1hcy1ub24tcHJldmFsZW50LWJhc2VkLW9uLXN1YnJlc291cmNlLXVuaXF1ZS1yZWRp
cmVjdHMtdG8tZGF0YWJhc2UtZXhwZWN0ZWQudHh0OiBSZW1vdmVkLgorICAgICAgICAqIGh0dHAv
dGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jbGFzc2lmeS1hcy1ub24tcHJldmFsZW50LWJh
c2VkLW9uLXN1YnJlc291cmNlLXVuaXF1ZS1yZWRpcmVjdHMtdG8tZGF0YWJhc2UuaHRtbDogUmVt
b3ZlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY2xhc3Np
ZnktYXMtcHJldmFsZW50LWJhc2VkLW9uLW1peGVkLXN0YXRpc3RpY3MtZGF0YWJhc2UtZXhwZWN0
ZWQudHh0OiBSZW1vdmVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlz
dGljcy9jbGFzc2lmeS1hcy1wcmV2YWxlbnQtYmFzZWQtb24tbWl4ZWQtc3RhdGlzdGljcy1kYXRh
YmFzZS5odG1sOiBSZW1vdmVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3Rh
dGlzdGljcy9jbGFzc2lmeS1hcy1wcmV2YWxlbnQtYmFzZWQtb24tc3ViLWZyYW1lLXVuZGVyLXRv
cC1mcmFtZS1vcmlnaW5zLWRhdGFiYXNlLWV4cGVjdGVkLnR4dDogUmVtb3ZlZC4KKyAgICAgICAg
KiBodHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY2xhc3NpZnktYXMtcHJldmFsZW50
LWJhc2VkLW9uLXN1Yi1mcmFtZS11bmRlci10b3AtZnJhbWUtb3JpZ2lucy1kYXRhYmFzZS5odG1s
OiBSZW1vdmVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9j
bGFzc2lmeS1hcy1wcmV2YWxlbnQtYmFzZWQtb24tc3VicmVzb3VyY2UtcmVkaXJlY3QtY29sbHVz
aW9uLWRhdGFiYXNlLWV4cGVjdGVkLnR4dDogUmVtb3ZlZC4KKyAgICAgICAgKiBodHRwL3Rlc3Rz
L3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY2xhc3NpZnktYXMtcHJldmFsZW50LWJhc2VkLW9uLXN1
YnJlc291cmNlLXJlZGlyZWN0LWNvbGx1c2lvbi1kYXRhYmFzZS5odG1sOiBSZW1vdmVkLgorICAg
ICAgICAqIGh0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jbGFzc2lmeS1hcy1wcmV2
YWxlbnQtYmFzZWQtb24tc3VicmVzb3VyY2UtcmVkaXJlY3QtdG8tcHJldmFsZW50LWRhdGFiYXNl
LWV4cGVjdGVkLnR4dDogUmVtb3ZlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3Jlc291cmNlTG9h
ZFN0YXRpc3RpY3MvY2xhc3NpZnktYXMtcHJldmFsZW50LWJhc2VkLW9uLXN1YnJlc291cmNlLXJl
ZGlyZWN0LXRvLXByZXZhbGVudC1kYXRhYmFzZS5odG1sOiBSZW1vdmVkLgorICAgICAgICAqIGh0
dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jbGFzc2lmeS1hcy1wcmV2YWxlbnQtYmFz
ZWQtb24tc3VicmVzb3VyY2UtdW5kZXItdG9wLWZyYW1lLW9yaWdpbnMtZGF0YWJhc2UtZXhwZWN0
ZWQudHh0OiBSZW1vdmVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlz
dGljcy9jbGFzc2lmeS1hcy1wcmV2YWxlbnQtYmFzZWQtb24tc3VicmVzb3VyY2UtdW5kZXItdG9w
LWZyYW1lLW9yaWdpbnMtZGF0YWJhc2UuaHRtbDogUmVtb3ZlZC4KKyAgICAgICAgKiBodHRwL3Rl
c3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY2xhc3NpZnktYXMtcHJldmFsZW50LWJhc2VkLW9u
LXN1YnJlc291cmNlLXVuaXF1ZS1yZWRpcmVjdHMtdG8tZGF0YWJhc2UtZXhwZWN0ZWQudHh0OiBS
ZW1vdmVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jbGFz
c2lmeS1hcy1wcmV2YWxlbnQtYmFzZWQtb24tc3VicmVzb3VyY2UtdW5pcXVlLXJlZGlyZWN0cy10
by1kYXRhYmFzZS5odG1sOiBSZW1vdmVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvcmVzb3VyY2VM
b2FkU3RhdGlzdGljcy9jbGFzc2lmeS1hcy1wcmV2YWxlbnQtYmFzZWQtb24tdG9wLWZyYW1lLXJl
ZGlyZWN0LWNvbGx1c2lvbi1kYXRhYmFzZS1leHBlY3RlZC50eHQ6IFJlbW92ZWQuCisgICAgICAg
ICogaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NsYXNzaWZ5LWFzLXByZXZhbGVu
dC1iYXNlZC1vbi10b3AtZnJhbWUtcmVkaXJlY3QtY29sbHVzaW9uLWRhdGFiYXNlLmh0bWw6IFJl
bW92ZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NsYXNz
aWZ5LWFzLXByZXZhbGVudC1iYXNlZC1vbi10b3AtZnJhbWUtcmVkaXJlY3QtdG8tcHJldmFsZW50
LWRhdGFiYXNlLWV4cGVjdGVkLnR4dDogUmVtb3ZlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3Jl
c291cmNlTG9hZFN0YXRpc3RpY3MvY2xhc3NpZnktYXMtcHJldmFsZW50LWJhc2VkLW9uLXRvcC1m
cmFtZS1yZWRpcmVjdC10by1wcmV2YWxlbnQtZGF0YWJhc2UuaHRtbDogUmVtb3ZlZC4KKyAgICAg
ICAgKiBodHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY2xhc3NpZnktYXMtcHJldmFs
ZW50LWJhc2VkLW9uLXRvcC1mcmFtZS11bmlxdWUtcmVkaXJlY3RzLXRvLWRhdGFiYXNlLWV4cGVj
dGVkLnR4dDogUmVtb3ZlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRp
c3RpY3MvY2xhc3NpZnktYXMtcHJldmFsZW50LWJhc2VkLW9uLXRvcC1mcmFtZS11bmlxdWUtcmVk
aXJlY3RzLXRvLWRhdGFiYXNlLmh0bWw6IFJlbW92ZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9y
ZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NsYXNzaWZ5LWFzLXZlcnktcHJldmFsZW50LWJhc2VkLW9u
LW1peGVkLXN0YXRpc3RpY3MtZGF0YWJhc2UtZXhwZWN0ZWQudHh0OiBSZW1vdmVkLgorICAgICAg
ICAqIGh0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jbGFzc2lmeS1hcy12ZXJ5LXBy
ZXZhbGVudC1iYXNlZC1vbi1taXhlZC1zdGF0aXN0aWNzLWRhdGFiYXNlLmh0bWw6IFJlbW92ZWQu
CisgICAgICAgICogaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NsZWFyLWluLW1l
bW9yeS1hbmQtcGVyc2lzdGVudC1zdG9yZS1kYXRhYmFzZS1leHBlY3RlZC50eHQ6IFJlbW92ZWQu
CisgICAgICAgICogaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NsZWFyLWluLW1l
bW9yeS1hbmQtcGVyc2lzdGVudC1zdG9yZS1kYXRhYmFzZS5odG1sOiBSZW1vdmVkLgorICAgICAg
ICAqIGh0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jbGVhci1pbi1tZW1vcnktYW5k
LXBlcnNpc3RlbnQtc3RvcmUtb25lLWhvdXItZGF0YWJhc2UtZXhwZWN0ZWQudHh0OiBSZW1vdmVk
LgorICAgICAgICAqIGh0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jbGVhci1pbi1t
ZW1vcnktYW5kLXBlcnNpc3RlbnQtc3RvcmUtb25lLWhvdXItZGF0YWJhc2UuaHRtbDogUmVtb3Zl
ZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY29va2llLWRl
bGV0aW9uLWRhdGFiYXNlLWV4cGVjdGVkLnR4dDogUmVtb3ZlZC4KKyAgICAgICAgKiBodHRwL3Rl
c3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY29va2llLWRlbGV0aW9uLWRhdGFiYXNlLmh0bWw6
IFJlbW92ZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2Nv
b2tpZXMtd2l0aC1hbmQtd2l0aG91dC11c2VyLWludGVyYWN0aW9uLWRhdGFiYXNlLWV4cGVjdGVk
LnR4dDogUmVtb3ZlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3Rp
Y3MvY29va2llcy13aXRoLWFuZC13aXRob3V0LXVzZXItaW50ZXJhY3Rpb24tZGF0YWJhc2UuaHRt
bDogUmVtb3ZlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3Mv
Y291bnQtdGhpcmQtcGFydHktc2NyaXB0LWltcG9ydC1pbi13b3JrZXItZGF0YWJhc2UtZXhwZWN0
ZWQudHh0OiBSZW1vdmVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlz
dGljcy9jb3VudC10aGlyZC1wYXJ0eS1zY3JpcHQtaW1wb3J0LWluLXdvcmtlci1kYXRhYmFzZS5o
dG1sOiBSZW1vdmVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGlj
cy9jb3VudC10aGlyZC1wYXJ0eS1zY3JpcHQtaW1wb3J0LWluLXdvcmtlci1leHBlY3RlZC50eHQ6
CisgICAgICAgICogaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NvdW50LXRoaXJk
LXBhcnR5LXNjcmlwdC1sb2Fkcy1kYXRhYmFzZS1leHBlY3RlZC50eHQ6IFJlbW92ZWQuCisgICAg
ICAgICogaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NvdW50LXRoaXJkLXBhcnR5
LXNjcmlwdC1sb2Fkcy1kYXRhYmFzZS5odG1sOiBSZW1vdmVkLgorICAgICAgICAqIGh0dHAvdGVz
dHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jb3VudC10aGlyZC1wYXJ0eS1zY3JpcHQtbG9hZHMt
ZXhwZWN0ZWQudHh0OgorICAgICAgICAqIGh0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGlj
cy9kZWxldGUtc2NyaXB0LWFjY2Vzc2libGUtY29va2llcy1kYXRhYmFzZS1leHBlY3RlZC50eHQ6
IFJlbW92ZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2Rl
bGV0ZS1zY3JpcHQtYWNjZXNzaWJsZS1jb29raWVzLWRhdGFiYXNlLmh0bWw6IFJlbW92ZWQuCisg
ICAgICAgICogaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2RvLW5vdC1ibG9jay10
b3AtbGV2ZWwtbmF2aWdhdGlvbi1yZWRpcmVjdC1kYXRhYmFzZS1leHBlY3RlZC50eHQ6IFJlbW92
ZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2RvLW5vdC1i
bG9jay10b3AtbGV2ZWwtbmF2aWdhdGlvbi1yZWRpcmVjdC1kYXRhYmFzZS5odG1sOiBSZW1vdmVk
LgorICAgICAgICAqIGh0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9kby1ub3QtY2Fw
dHVyZS1zdGF0aXN0aWNzLWZvci1zaW1wbGUtdG9wLW5hdmlnYXRpb25zLWRhdGFiYXNlLWV4cGVj
dGVkLnR4dDogUmVtb3ZlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRp
c3RpY3MvZG8tbm90LWNhcHR1cmUtc3RhdGlzdGljcy1mb3Itc2ltcGxlLXRvcC1uYXZpZ2F0aW9u
cy1kYXRhYmFzZS5odG1sOiBSZW1vdmVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvcmVzb3VyY2VM
b2FkU3RhdGlzdGljcy9kby1ub3QtcmVtb3ZlLWJsb2NraW5nLWluLXJlZGlyZWN0LWRhdGFiYXNl
LWV4cGVjdGVkLnR4dDogUmVtb3ZlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3Jlc291cmNlTG9h
ZFN0YXRpc3RpY3MvZG8tbm90LXJlbW92ZS1ibG9ja2luZy1pbi1yZWRpcmVjdC1kYXRhYmFzZS5o
dG1sOiBSZW1vdmVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGlj
cy9kby1ub3Qtc3dpdGNoLXNlc3Npb24tb24tbmF2aWdhdGlvbi10by1wcmV2YWxlbnQtd2l0aG91
dC1pbnRlcmFjdGlvbi1kYXRhYmFzZS1leHBlY3RlZC50eHQ6IFJlbW92ZWQuCisgICAgICAgICog
aHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2RvLW5vdC1zd2l0Y2gtc2Vzc2lvbi1v
bi1uYXZpZ2F0aW9uLXRvLXByZXZhbGVudC13aXRob3V0LWludGVyYWN0aW9uLWRhdGFiYXNlLnBo
cDogUmVtb3ZlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3Mv
ZG9udC1jb3VudC10aGlyZC1wYXJ0eS1pbWFnZS1hcy10aGlyZC1wYXJ0eS1zY3JpcHQtZGF0YWJh
c2UtZXhwZWN0ZWQudHh0OiBSZW1vdmVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvcmVzb3VyY2VM
b2FkU3RhdGlzdGljcy9kb250LWNvdW50LXRoaXJkLXBhcnR5LWltYWdlLWFzLXRoaXJkLXBhcnR5
LXNjcmlwdC1kYXRhYmFzZS5odG1sOiBSZW1vdmVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvcmVz
b3VyY2VMb2FkU3RhdGlzdGljcy9kb250LWNvdW50LXRoaXJkLXBhcnR5LWltYWdlLWFzLXRoaXJk
LXBhcnR5LXNjcmlwdC1leHBlY3RlZC50eHQ6CisgICAgICAgICogaHR0cC90ZXN0cy9yZXNvdXJj
ZUxvYWRTdGF0aXN0aWNzL2Rvd25ncmFkZS1kb2N1bWVudC1yZWZlcnJlci1uZXN0ZWQtdGhpcmQt
cGFydHktaWZyYW1lLmh0bWw6CisgICAgICAgICogaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0
aXN0aWNzL2Rvd25ncmFkZS1kb2N1bWVudC1yZWZlcnJlci10aGlyZC1wYXJ0eS1pZnJhbWUuaHRt
bDoKKyAgICAgICAgKiBodHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvZG93bmdyYWRl
ZC1yZWZlcnJlci1mb3ItbmF2aWdhdGlvbi13aXRoLWxpbmstcXVlcnktZnJvbS1wcmV2YWxlbnQt
cmVzb3VyY2UtZGF0YWJhc2UtZXhwZWN0ZWQudHh0OiBSZW1vdmVkLgorICAgICAgICAqIGh0dHAv
dGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9kb3duZ3JhZGVkLXJlZmVycmVyLWZvci1uYXZp
Z2F0aW9uLXdpdGgtbGluay1xdWVyeS1mcm9tLXByZXZhbGVudC1yZXNvdXJjZS1kYXRhYmFzZS5o
dG1sOiBSZW1vdmVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGlj
cy9lbmFibGUtZGVidWctbW9kZS1kYXRhYmFzZS1leHBlY3RlZC50eHQ6IFJlbW92ZWQuCisgICAg
ICAgICogaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2VuYWJsZS1kZWJ1Zy1tb2Rl
LWRhdGFiYXNlLmh0bWw6IFJlbW92ZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9yZXNvdXJjZUxv
YWRTdGF0aXN0aWNzL2VuZm9yY2Utc2FtZXNpdGUtc3RyaWN0LWJhc2VkLW9uLXRvcC1mcmFtZS11
bmlxdWUtcmVkaXJlY3RzLXRvLWRhdGFiYXNlLWV4cGVjdGVkLnR4dDogUmVtb3ZlZC4KKyAgICAg
ICAgKiBodHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvZW5mb3JjZS1zYW1lc2l0ZS1z
dHJpY3QtYmFzZWQtb24tdG9wLWZyYW1lLXVuaXF1ZS1yZWRpcmVjdHMtdG8tZGF0YWJhc2UuaHRt
bDogUmVtb3ZlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3Mv
ZXhlbXB0RG9tYWlucy9hcHAtYm91bmQtZG9tYWlucy1leGVtcHQtZnJvbS13ZWJzaXRlLWRhdGEt
ZGVsZXRpb24tZGF0YWJhc2UuaHRtbDoKKyAgICAgICAgKiBodHRwL3Rlc3RzL3Jlc291cmNlTG9h
ZFN0YXRpc3RpY3MvZ3JhbmRmYXRoZXJpbmctZGF0YWJhc2UtZXhwZWN0ZWQudHh0OiBSZW1vdmVk
LgorICAgICAgICAqIGh0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9ncmFuZGZhdGhl
cmluZy1kYXRhYmFzZS5odG1sOiBSZW1vdmVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvcmVzb3Vy
Y2VMb2FkU3RhdGlzdGljcy9sZWF2ZS1lbXB0eS1kb2N1bWVudC1yZWZlcnJlci1hbG9uZS10aGly
ZC1wYXJ0eS1pZnJhbWUuaHRtbDoKKyAgICAgICAgKiBodHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0
YXRpc3RpY3MvbG9nLWNyb3NzLXNpdGUtbG9hZC13aXRoLWxpbmstZGVjb3JhdGlvbi1kYXRhYmFz
ZS1leHBlY3RlZC50eHQ6IFJlbW92ZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9yZXNvdXJjZUxv
YWRTdGF0aXN0aWNzL2xvZy1jcm9zcy1zaXRlLWxvYWQtd2l0aC1saW5rLWRlY29yYXRpb24tZGF0
YWJhc2UuaHRtbDogUmVtb3ZlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0
YXRpc3RpY3MvbG9nLWNyb3NzLXNpdGUtbG9hZC13aXRoLWxpbmstZGVjb3JhdGlvbi1leHBlY3Rl
ZC50eHQ6CisgICAgICAgICogaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2xvZy1k
ZWxheWVkLWNsaWVudC1zaWRlLXJlZGlyZWN0cy1kYXRhYmFzZS1leHBlY3RlZC50eHQ6IFJlbW92
ZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2xvZy1kZWxh
eWVkLWNsaWVudC1zaWRlLXJlZGlyZWN0cy1kYXRhYmFzZS5odG1sOiBSZW1vdmVkLgorICAgICAg
ICAqIGh0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9sb2ctZGVsYXllZC1jbGllbnQt
c2lkZS1yZWRpcmVjdHMtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIGh0dHAvdGVzdHMvcmVzb3Vy
Y2VMb2FkU3RhdGlzdGljcy9tYW55LWluc2VydHMtb25seS1pbnNlcnQtb25jZS5odG1sOgorICAg
ICAgICAqIGh0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9tZXJnZS1zdGF0aXN0aWMt
ZG9lcy1ub3Qtb3ZlcndyaXRlLWRhdGFiYXNlLWV4cGVjdGVkLnR4dDogUmVtb3ZlZC4KKyAgICAg
ICAgKiBodHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvbWVyZ2Utc3RhdGlzdGljLWRv
ZXMtbm90LW92ZXJ3cml0ZS1kYXRhYmFzZS5odG1sOiBSZW1vdmVkLgorICAgICAgICAqIGh0dHAv
dGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9tZXJnZS1zdGF0aXN0aWMtZG9lcy1vdmVyd3Jp
dGUtZGF0YWJhc2UtZXhwZWN0ZWQudHh0OiBSZW1vdmVkLgorICAgICAgICAqIGh0dHAvdGVzdHMv
cmVzb3VyY2VMb2FkU3RhdGlzdGljcy9tZXJnZS1zdGF0aXN0aWMtZG9lcy1vdmVyd3JpdGUtZGF0
YWJhc2UuaHRtbDogUmVtb3ZlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0
YXRpc3RpY3MvbWVyZ2Utc3RhdGlzdGljLWRvZXMtcGFydGlhbGx5LW92ZXJ3cml0ZS1kYXRhYmFz
ZS1leHBlY3RlZC50eHQ6IFJlbW92ZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9yZXNvdXJjZUxv
YWRTdGF0aXN0aWNzL21lcmdlLXN0YXRpc3RpYy1kb2VzLXBhcnRpYWxseS1vdmVyd3JpdGUtZGF0
YWJhc2UuaHRtbDogUmVtb3ZlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0
YXRpc3RpY3Mvbm9uLXByZXZhbGVudC1yZXNvdXJjZS13aXRoLXVzZXItaW50ZXJhY3Rpb24tZGF0
YWJhc2UtZXhwZWN0ZWQudHh0OiBSZW1vdmVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvcmVzb3Vy
Y2VMb2FkU3RhdGlzdGljcy9ub24tcHJldmFsZW50LXJlc291cmNlLXdpdGgtdXNlci1pbnRlcmFj
dGlvbi1kYXRhYmFzZS5odG1sOiBSZW1vdmVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvcmVzb3Vy
Y2VMb2FkU3RhdGlzdGljcy9ub24tcHJldmFsZW50LXJlc291cmNlLXdpdGhvdXQtdXNlci1pbnRl
cmFjdGlvbi1kYXRhYmFzZS1leHBlY3RlZC50eHQ6IFJlbW92ZWQuCisgICAgICAgICogaHR0cC90
ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL25vbi1wcmV2YWxlbnQtcmVzb3VyY2Utd2l0aG91
dC11c2VyLWludGVyYWN0aW9uLWRhdGFiYXNlLmh0bWw6IFJlbW92ZWQuCisgICAgICAgICogaHR0
cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL25vbi1wcmV2YWxlbnQtcmVzb3VyY2VzLWNh
bi1hY2Nlc3MtY29va2llcy1pbi1hLXRoaXJkLXBhcnR5LWNvbnRleHQtZGF0YWJhc2UtZXhwZWN0
ZWQudHh0OiBSZW1vdmVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlz
dGljcy9ub24tcHJldmFsZW50LXJlc291cmNlcy1jYW4tYWNjZXNzLWNvb2tpZXMtaW4tYS10aGly
ZC1wYXJ0eS1jb250ZXh0LWRhdGFiYXNlLmh0bWw6IFJlbW92ZWQuCisgICAgICAgICogaHR0cC90
ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL25vbi1zYW5kYm94ZWQtaWZyYW1lLXJlZGlyZWN0
LWlwLXRvLWxvY2FsaG9zdC10by1pcC1kYXRhYmFzZS1leHBlY3RlZC50eHQ6IFJlbW92ZWQuCisg
ICAgICAgICogaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL25vbi1zYW5kYm94ZWQt
aWZyYW1lLXJlZGlyZWN0LWlwLXRvLWxvY2FsaG9zdC10by1pcC1kYXRhYmFzZS5odG1sOiBSZW1v
dmVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9ub24tc2Fu
ZGJveGVkLWlmcmFtZS1yZWRpcmVjdC1sb2NhbGhvc3QtdG8taXAtdG8tbG9jYWxob3N0LWRhdGFi
YXNlLWV4cGVjdGVkLnR4dDogUmVtb3ZlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3Jlc291cmNl
TG9hZFN0YXRpc3RpY3Mvbm9uLXNhbmRib3hlZC1pZnJhbWUtcmVkaXJlY3QtbG9jYWxob3N0LXRv
LWlwLXRvLWxvY2FsaG9zdC1kYXRhYmFzZS5odG1sOiBSZW1vdmVkLgorICAgICAgICAqIGh0dHAv
dGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9ub24tc2FuZGJveGVkLW5lc3RpbmctaWZyYW1l
LXdpdGgtbm9uLXNhbmRib3hlZC1pZnJhbWUtcmVkaXJlY3QtaXAtdG8tbG9jYWxob3N0LXRvLWlw
LWRhdGFiYXNlLWV4cGVjdGVkLnR4dDogUmVtb3ZlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3Jl
c291cmNlTG9hZFN0YXRpc3RpY3Mvbm9uLXNhbmRib3hlZC1uZXN0aW5nLWlmcmFtZS13aXRoLW5v
bi1zYW5kYm94ZWQtaWZyYW1lLXJlZGlyZWN0LWlwLXRvLWxvY2FsaG9zdC10by1pcC1kYXRhYmFz
ZS5odG1sOiBSZW1vdmVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlz
dGljcy9ub24tc2FuZGJveGVkLW5lc3RpbmctaWZyYW1lLXdpdGgtbm9uLXNhbmRib3hlZC1pZnJh
bWUtcmVkaXJlY3QtbG9jYWxob3N0LXRvLWlwLXRvLWxvY2FsaG9zdC1kYXRhYmFzZS1leHBlY3Rl
ZC50eHQ6IFJlbW92ZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0
aWNzL25vbi1zYW5kYm94ZWQtbmVzdGluZy1pZnJhbWUtd2l0aC1ub24tc2FuZGJveGVkLWlmcmFt
ZS1yZWRpcmVjdC1sb2NhbGhvc3QtdG8taXAtdG8tbG9jYWxob3N0LWRhdGFiYXNlLmh0bWw6IFJl
bW92ZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL25vbi1z
YW5kYm94ZWQtbmVzdGluZy1pZnJhbWUtd2l0aC1zYW5kYm94ZWQtaWZyYW1lLXJlZGlyZWN0LWlw
LXRvLWxvY2FsaG9zdC10by1pcC1kYXRhYmFzZS1leHBlY3RlZC50eHQ6IFJlbW92ZWQuCisgICAg
ICAgICogaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL25vbi1zYW5kYm94ZWQtbmVz
dGluZy1pZnJhbWUtd2l0aC1zYW5kYm94ZWQtaWZyYW1lLXJlZGlyZWN0LWlwLXRvLWxvY2FsaG9z
dC10by1pcC1kYXRhYmFzZS5odG1sOiBSZW1vdmVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvcmVz
b3VyY2VMb2FkU3RhdGlzdGljcy9ub24tc2FuZGJveGVkLW5lc3RpbmctaWZyYW1lLXdpdGgtc2Fu
ZGJveGVkLWlmcmFtZS1yZWRpcmVjdC1sb2NhbGhvc3QtdG8taXAtdG8tbG9jYWxob3N0LWRhdGFi
YXNlLWV4cGVjdGVkLnR4dDogUmVtb3ZlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3Jlc291cmNl
TG9hZFN0YXRpc3RpY3Mvbm9uLXNhbmRib3hlZC1uZXN0aW5nLWlmcmFtZS13aXRoLXNhbmRib3hl
ZC1pZnJhbWUtcmVkaXJlY3QtbG9jYWxob3N0LXRvLWlwLXRvLWxvY2FsaG9zdC1kYXRhYmFzZS5o
dG1sOiBSZW1vdmVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGlj
cy9vcGVyYXRpbmctZGF0ZXMtYWxsLWJ1dC1jb29raWVzLXJlbW92ZWQtc3RhdGlzdGljcy13aXRo
LW5vLXVzZXItaW50ZXJhY3Rpb24tZGF0YWJhc2UtZXhwZWN0ZWQudHh0OiBSZW1vdmVkLgorICAg
ICAgICAqIGh0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9vcGVyYXRpbmctZGF0ZXMt
YWxsLWJ1dC1jb29raWVzLXJlbW92ZWQtc3RhdGlzdGljcy13aXRoLW5vLXVzZXItaW50ZXJhY3Rp
b24tZGF0YWJhc2UuaHRtbDogUmVtb3ZlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3Jlc291cmNl
TG9hZFN0YXRpc3RpY3Mvb3BlcmF0aW5nLWRhdGVzLWFsbC1idXQtY29va2llcy1yZW1vdmVkLXN0
YXRpc3RpY3Mtd2l0aC1uby11c2VyLWludGVyYWN0aW9uLWV4cGVjdGVkLnR4dDoKKyAgICAgICAg
KiBodHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3Mvb3BlcmF0aW5nLWRhdGVzLWFsbC13
ZWJzaXRlLWRhdGEtcmVtb3ZlZC1kYXRhYmFzZS1leHBlY3RlZC50eHQ6IFJlbW92ZWQuCisgICAg
ICAgICogaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL29wZXJhdGluZy1kYXRlcy1h
bGwtd2Vic2l0ZS1kYXRhLXJlbW92ZWQtZGF0YWJhc2UuaHRtbDogUmVtb3ZlZC4KKyAgICAgICAg
KiBodHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvcGluZy10by1wcmV2YWxlbnQtcmVz
b3VyY2UtZGF0YWJhc2UtZXhwZWN0ZWQudHh0OiBSZW1vdmVkLgorICAgICAgICAqIGh0dHAvdGVz
dHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9waW5nLXRvLXByZXZhbGVudC1yZXNvdXJjZS1kYXRh
YmFzZS5odG1sOiBSZW1vdmVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3Rh
dGlzdGljcy9wcmV2YWxlbnQtcmVzb3VyY2UtaGFuZGxlZC1rZXlkb3duLWRhdGFiYXNlLWV4cGVj
dGVkLnR4dDogUmVtb3ZlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRp
c3RpY3MvcHJldmFsZW50LXJlc291cmNlLWhhbmRsZWQta2V5ZG93bi1kYXRhYmFzZS5odG1sOiBS
ZW1vdmVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9wcmV2
YWxlbnQtcmVzb3VyY2UtdW5oYW5kbGVkLWtleWRvd24tZGF0YWJhc2UtZXhwZWN0ZWQudHh0OiBS
ZW1vdmVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9wcmV2
YWxlbnQtcmVzb3VyY2UtdW5oYW5kbGVkLWtleWRvd24tZGF0YWJhc2UuaHRtbDogUmVtb3ZlZC4K
KyAgICAgICAgKiBodHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvcHJldmFsZW50LXJl
c291cmNlLXdpdGgtdXNlci1pbnRlcmFjdGlvbi1kYXRhYmFzZS1leHBlY3RlZC50eHQ6IFJlbW92
ZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3ByZXZhbGVu
dC1yZXNvdXJjZS13aXRoLXVzZXItaW50ZXJhY3Rpb24tZGF0YWJhc2UuaHRtbDogUmVtb3ZlZC4K
KyAgICAgICAgKiBodHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvcHJldmFsZW50LXJl
c291cmNlLXdpdGgtdXNlci1pbnRlcmFjdGlvbi10aW1lb3V0LWRhdGFiYXNlLWV4cGVjdGVkLnR4
dDogUmVtb3ZlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3Mv
cHJldmFsZW50LXJlc291cmNlLXdpdGgtdXNlci1pbnRlcmFjdGlvbi10aW1lb3V0LWRhdGFiYXNl
Lmh0bWw6IFJlbW92ZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0
aWNzL3ByZXZhbGVudC1yZXNvdXJjZS13aXRob3V0LXVzZXItaW50ZXJhY3Rpb24tZGF0YWJhc2Ut
ZXhwZWN0ZWQudHh0OiBSZW1vdmVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvcmVzb3VyY2VMb2Fk
U3RhdGlzdGljcy9wcmV2YWxlbnQtcmVzb3VyY2Utd2l0aG91dC11c2VyLWludGVyYWN0aW9uLWRh
dGFiYXNlLmh0bWw6IFJlbW92ZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRT
dGF0aXN0aWNzL3BydW5lLXN0YXRpc3RpY3MtZGF0YWJhc2UtZXhwZWN0ZWQudHh0OiBSZW1vdmVk
LgorICAgICAgICAqIGh0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9wcnVuZS1zdGF0
aXN0aWNzLWRhdGFiYXNlLmh0bWw6IFJlbW92ZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9yZXNv
dXJjZUxvYWRTdGF0aXN0aWNzL3JlbW92ZS13ZWJzaXRlLWRhdGEtZm9yLW9yaWdpbi1kZWxldGVz
LWxpbmstZGVjb3JhdGlvbi1kYXRhYmFzZS1leHBlY3RlZC50eHQ6IFJlbW92ZWQuCisgICAgICAg
ICogaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3JlbW92ZS13ZWJzaXRlLWRhdGEt
Zm9yLW9yaWdpbi1kZWxldGVzLWxpbmstZGVjb3JhdGlvbi1kYXRhYmFzZS5odG1sOiBSZW1vdmVk
LgorICAgICAgICAqIGh0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9yZW1vdmUtd2Vi
c2l0ZS1kYXRhLWZvci1vcmlnaW4tZGVsZXRlcy1saW5rLWRlY29yYXRpb24tZXhwZWN0ZWQudHh0
OgorICAgICAgICAqIGh0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9yZW1vdmUtd2Vi
c2l0ZS1kYXRhLWZvci1vcmlnaW4tZGVsZXRlcy1taXhlZC1zdGF0aXN0aWNzLWVudHJpZXMtZGF0
YWJhc2UtZXhwZWN0ZWQudHh0OiBSZW1vdmVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvcmVzb3Vy
Y2VMb2FkU3RhdGlzdGljcy9yZW1vdmUtd2Vic2l0ZS1kYXRhLWZvci1vcmlnaW4tZGVsZXRlcy1t
aXhlZC1zdGF0aXN0aWNzLWVudHJpZXMtZGF0YWJhc2UuaHRtbDogUmVtb3ZlZC4KKyAgICAgICAg
KiBodHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvcmVtb3ZlLXdlYnNpdGUtZGF0YS1m
b3Itb3JpZ2luLWRlbGV0ZXMtdGhpcmQtcGFydHktc2NyaXB0LWxvYWRzLWRhdGFiYXNlLWV4cGVj
dGVkLnR4dDogUmVtb3ZlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRp
c3RpY3MvcmVtb3ZlLXdlYnNpdGUtZGF0YS1mb3Itb3JpZ2luLWRlbGV0ZXMtdGhpcmQtcGFydHkt
c2NyaXB0LWxvYWRzLWRhdGFiYXNlLmh0bWw6IFJlbW92ZWQuCisgICAgICAgICogaHR0cC90ZXN0
cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3JlbW92ZS13ZWJzaXRlLWRhdGEtZm9yLW9yaWdpbi1k
ZWxldGVzLXRoaXJkLXBhcnR5LXNjcmlwdC1sb2Fkcy1leHBlY3RlZC50eHQ6CisgICAgICAgICog
aHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3NhbmRib3hlZC1pZnJhbWUtcmVkaXJl
Y3QtaXAtdG8tbG9jYWxob3N0LXRvLWlwLWRhdGFiYXNlLWV4cGVjdGVkLnR4dDogUmVtb3ZlZC4K
KyAgICAgICAgKiBodHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3Mvc2FuZGJveGVkLWlm
cmFtZS1yZWRpcmVjdC1pcC10by1sb2NhbGhvc3QtdG8taXAtZGF0YWJhc2UuaHRtbDogUmVtb3Zl
ZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3Mvc2FuZGJveGVk
LWlmcmFtZS1yZWRpcmVjdC1sb2NhbGhvc3QtdG8taXAtdG8tbG9jYWxob3N0LWRhdGFiYXNlLWV4
cGVjdGVkLnR4dDogUmVtb3ZlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0
YXRpc3RpY3Mvc2FuZGJveGVkLWlmcmFtZS1yZWRpcmVjdC1sb2NhbGhvc3QtdG8taXAtdG8tbG9j
YWxob3N0LWRhdGFiYXNlLmh0bWw6IFJlbW92ZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9yZXNv
dXJjZUxvYWRTdGF0aXN0aWNzL3NhbmRib3hlZC1uZXN0aW5nLWlmcmFtZS13aXRoLW5vbi1zYW5k
Ym94ZWQtaWZyYW1lLXJlZGlyZWN0LWlwLXRvLWxvY2FsaG9zdC10by1pcC1kYXRhYmFzZS1leHBl
Y3RlZC50eHQ6IFJlbW92ZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0
aXN0aWNzL3NhbmRib3hlZC1uZXN0aW5nLWlmcmFtZS13aXRoLW5vbi1zYW5kYm94ZWQtaWZyYW1l
LXJlZGlyZWN0LWlwLXRvLWxvY2FsaG9zdC10by1pcC1kYXRhYmFzZS5odG1sOiBSZW1vdmVkLgor
ICAgICAgICAqIGh0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9zYW5kYm94ZWQtbmVz
dGluZy1pZnJhbWUtd2l0aC1ub24tc2FuZGJveGVkLWlmcmFtZS1yZWRpcmVjdC1sb2NhbGhvc3Qt
dG8taXAtdG8tbG9jYWxob3N0LWRhdGFiYXNlLWV4cGVjdGVkLnR4dDogUmVtb3ZlZC4KKyAgICAg
ICAgKiBodHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3Mvc2FuZGJveGVkLW5lc3Rpbmct
aWZyYW1lLXdpdGgtbm9uLXNhbmRib3hlZC1pZnJhbWUtcmVkaXJlY3QtbG9jYWxob3N0LXRvLWlw
LXRvLWxvY2FsaG9zdC1kYXRhYmFzZS5odG1sOiBSZW1vdmVkLgorICAgICAgICAqIGh0dHAvdGVz
dHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9zYW5kYm94ZWQtbmVzdGluZy1pZnJhbWUtd2l0aC1z
YW5kYm94ZWQtaWZyYW1lLXJlZGlyZWN0LWlwLXRvLWxvY2FsaG9zdC10by1pcC1kYXRhYmFzZS1l
eHBlY3RlZC50eHQ6IFJlbW92ZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRT
dGF0aXN0aWNzL3NhbmRib3hlZC1uZXN0aW5nLWlmcmFtZS13aXRoLXNhbmRib3hlZC1pZnJhbWUt
cmVkaXJlY3QtaXAtdG8tbG9jYWxob3N0LXRvLWlwLWRhdGFiYXNlLmh0bWw6IFJlbW92ZWQuCisg
ICAgICAgICogaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3NhbmRib3hlZC1uZXN0
aW5nLWlmcmFtZS13aXRoLXNhbmRib3hlZC1pZnJhbWUtcmVkaXJlY3QtbG9jYWxob3N0LXRvLWlw
LXRvLWxvY2FsaG9zdC1kYXRhYmFzZS1leHBlY3RlZC50eHQ6IFJlbW92ZWQuCisgICAgICAgICog
aHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3NhbmRib3hlZC1uZXN0aW5nLWlmcmFt
ZS13aXRoLXNhbmRib3hlZC1pZnJhbWUtcmVkaXJlY3QtbG9jYWxob3N0LXRvLWlwLXRvLWxvY2Fs
aG9zdC1kYXRhYmFzZS5odG1sOiBSZW1vdmVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvcmVzb3Vy
Y2VMb2FkU3RhdGlzdGljcy9zZXQtY3VzdG9tLXByZXZhbGVudC1yZXNvdXJjZS1pbi1kZWJ1Zy1t
b2RlLWRhdGFiYXNlLWV4cGVjdGVkLnR4dDogUmVtb3ZlZC4KKyAgICAgICAgKiBodHRwL3Rlc3Rz
L3Jlc291cmNlTG9hZFN0YXRpc3RpY3Mvc2V0LWN1c3RvbS1wcmV2YWxlbnQtcmVzb3VyY2UtaW4t
ZGVidWctbW9kZS1kYXRhYmFzZS5odG1sOiBSZW1vdmVkLgorICAgICAgICAqIGh0dHAvdGVzdHMv
cmVzb3VyY2VMb2FkU3RhdGlzdGljcy9zdGFuZGFsb25lLXdlYi1hcHBsaWNhdGlvbi1leGVtcHQt
ZnJvbS13ZWJzaXRlLWRhdGEtZGVsZXRpb24tZGF0YWJhc2UtZXhwZWN0ZWQudHh0OiBSZW1vdmVk
LgorICAgICAgICAqIGh0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9zdGFuZGFsb25l
LXdlYi1hcHBsaWNhdGlvbi1leGVtcHQtZnJvbS13ZWJzaXRlLWRhdGEtZGVsZXRpb24tZGF0YWJh
c2UuaHRtbDogUmVtb3ZlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRp
c3RpY3Mvc3RyaXAtcmVmZXJyZXItdG8tb3JpZ2luLWZvci1wcmV2YWxlbnQtc3VicmVzb3VyY2Ut
cmVkaXJlY3RzLWRhdGFiYXNlLWV4cGVjdGVkLnR4dDogUmVtb3ZlZC4KKyAgICAgICAgKiBodHRw
L3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3Mvc3RyaXAtcmVmZXJyZXItdG8tb3JpZ2luLWZv
ci1wcmV2YWxlbnQtc3VicmVzb3VyY2UtcmVkaXJlY3RzLWRhdGFiYXNlLmh0bWw6IFJlbW92ZWQu
CisgICAgICAgICogaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3N0cmlwLXJlZmVy
cmVyLXRvLW9yaWdpbi1mb3ItcHJldmFsZW50LXN1YnJlc291cmNlLXJlcXVlc3RzLWRhdGFiYXNl
LWV4cGVjdGVkLnR4dDogUmVtb3ZlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3Jlc291cmNlTG9h
ZFN0YXRpc3RpY3Mvc3RyaXAtcmVmZXJyZXItdG8tb3JpZ2luLWZvci1wcmV2YWxlbnQtc3VicmVz
b3VyY2UtcmVxdWVzdHMtZGF0YWJhc2UuaHRtbDogUmVtb3ZlZC4KKyAgICAgICAgKiBodHRwL3Rl
c3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3Mvc3dpdGNoLXNlc3Npb24tb24tbmF2aWdhdGlvbi10
by1wcmV2YWxlbnQtd2l0aC1pbnRlcmFjdGlvbi1kYXRhYmFzZS1leHBlY3RlZC50eHQ6IFJlbW92
ZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3N3aXRjaC1z
ZXNzaW9uLW9uLW5hdmlnYXRpb24tdG8tcHJldmFsZW50LXdpdGgtaW50ZXJhY3Rpb24tZGF0YWJh
c2UucGhwOiBSZW1vdmVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlz
dGljcy90ZWxlbWV0cnktZ2VuZXJhdGlvbi1hZHZhbmNlZC1mdW5jdGlvbmFsaXR5LWRhdGFiYXNl
LWV4cGVjdGVkLnR4dDogUmVtb3ZlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3Jlc291cmNlTG9h
ZFN0YXRpc3RpY3MvdGVsZW1ldHJ5LWdlbmVyYXRpb24tYWR2YW5jZWQtZnVuY3Rpb25hbGl0eS1k
YXRhYmFzZS5odG1sOiBSZW1vdmVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvcmVzb3VyY2VMb2Fk
U3RhdGlzdGljcy90ZWxlbWV0cnktZ2VuZXJhdGlvbi1iYXNpYy1mdW5jdGlvbmFsaXR5LWRhdGFi
YXNlLWV4cGVjdGVkLnR4dDogUmVtb3ZlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3Jlc291cmNl
TG9hZFN0YXRpc3RpY3MvdGVsZW1ldHJ5LWdlbmVyYXRpb24tYmFzaWMtZnVuY3Rpb25hbGl0eS1k
YXRhYmFzZS5odG1sOiBSZW1vdmVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvcmVzb3VyY2VMb2Fk
U3RhdGlzdGljcy90ZWxlbWV0cnktZ2VuZXJhdGlvbi1leHBlY3RlZC50eHQ6CisgICAgICAgICog
aHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3RoaXJkLXBhcnR5LWNvb2tpZS1ibG9j
a2luZy1kYXRhYmFzZS1leHBlY3RlZC50eHQ6IFJlbW92ZWQuCisgICAgICAgICogaHR0cC90ZXN0
cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3RoaXJkLXBhcnR5LWNvb2tpZS1ibG9ja2luZy1kYXRh
YmFzZS5odG1sOiBSZW1vdmVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3Rh
dGlzdGljcy90aGlyZC1wYXJ0eS1jb29raWUtYmxvY2tpbmctZXBoZW1lcmFsLWRhdGFiYXNlLWV4
cGVjdGVkLnR4dDogUmVtb3ZlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0
YXRpc3RpY3MvdGhpcmQtcGFydHktY29va2llLWJsb2NraW5nLWVwaGVtZXJhbC1kYXRhYmFzZS5o
dG1sOiBSZW1vdmVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGlj
cy90aGlyZC1wYXJ0eS1jb29raWUtYmxvY2tpbmctb24tc2l0ZXMtd2l0aG91dC11c2VyLWludGVy
YWN0aW9uLWRhdGFiYXNlLWV4cGVjdGVkLnR4dDogUmVtb3ZlZC4KKyAgICAgICAgKiBodHRwL3Rl
c3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvdGhpcmQtcGFydHktY29va2llLWJsb2NraW5nLW9u
LXNpdGVzLXdpdGhvdXQtdXNlci1pbnRlcmFjdGlvbi1kYXRhYmFzZS5odG1sOiBSZW1vdmVkLgor
ICAgICAgICAqIGh0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy91c2VyLWludGVyYWN0
aW9uLWluLWNyb3NzLW9yaWdpbi1zdWItZnJhbWUtZGF0YWJhc2UtZXhwZWN0ZWQudHh0OiBSZW1v
dmVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy91c2VyLWlu
dGVyYWN0aW9uLWluLWNyb3NzLW9yaWdpbi1zdWItZnJhbWUtZGF0YWJhc2UuaHRtbDogUmVtb3Zl
ZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvdXNlci1pbnRl
cmFjdGlvbi1vbmx5LXJlcG9ydGVkLW9uY2Utd2l0aGluLXNob3J0LXBlcmlvZC1vZi10aW1lLWRh
dGFiYXNlLWV4cGVjdGVkLnR4dDogUmVtb3ZlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3Jlc291
cmNlTG9hZFN0YXRpc3RpY3MvdXNlci1pbnRlcmFjdGlvbi1vbmx5LXJlcG9ydGVkLW9uY2Utd2l0
aGluLXNob3J0LXBlcmlvZC1vZi10aW1lLWRhdGFiYXNlLmh0bWw6IFJlbW92ZWQuCisgICAgICAg
ICogaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3VzZXItaW50ZXJhY3Rpb24tcmVw
b3J0ZWQtYWZ0ZXItd2Vic2l0ZS1kYXRhLXJlbW92YWwtZGF0YWJhc2UtZXhwZWN0ZWQudHh0OiBS
ZW1vdmVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy91c2Vy
LWludGVyYWN0aW9uLXJlcG9ydGVkLWFmdGVyLXdlYnNpdGUtZGF0YS1yZW1vdmFsLWRhdGFiYXNl
Lmh0bWw6IFJlbW92ZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0
aWNzL3dlYnNpdGUtZGF0YS1yZW1vdmFsLWZvci1zaXRlLW5hdmlnYXRlZC10by13aXRoLWxpbmst
ZGVjb3JhdGlvbi1kYXRhYmFzZS1leHBlY3RlZC50eHQ6IFJlbW92ZWQuCisgICAgICAgICogaHR0
cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3dlYnNpdGUtZGF0YS1yZW1vdmFsLWZvci1z
aXRlLW5hdmlnYXRlZC10by13aXRoLWxpbmstZGVjb3JhdGlvbi1kYXRhYmFzZS5odG1sOiBSZW1v
dmVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy93ZWJzaXRl
LWRhdGEtcmVtb3ZhbC1mb3Itc2l0ZS1uYXZpZ2F0ZWQtdG8td2l0aC1saW5rLWRlY29yYXRpb24t
ZXhwZWN0ZWQudHh0OgorICAgICAgICAqIGh0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGlj
cy93ZWJzaXRlLWRhdGEtcmVtb3ZhbC1mb3Itc2l0ZS13aXRoLXVzZXItaW50ZXJhY3Rpb24tZGF0
YWJhc2UtZXhwZWN0ZWQudHh0OiBSZW1vdmVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvcmVzb3Vy
Y2VMb2FkU3RhdGlzdGljcy93ZWJzaXRlLWRhdGEtcmVtb3ZhbC1mb3Itc2l0ZS13aXRoLXVzZXIt
aW50ZXJhY3Rpb24tZGF0YWJhc2UuaHRtbDogUmVtb3ZlZC4KKyAgICAgICAgKiBodHRwL3Rlc3Rz
L3Jlc291cmNlTG9hZFN0YXRpc3RpY3Mvd2Vic2l0ZS1kYXRhLXJlbW92YWwtZm9yLXNpdGUtd2l0
aG91dC11c2VyLWludGVyYWN0aW9uLWRhdGFiYXNlLWV4cGVjdGVkLnR4dDogUmVtb3ZlZC4KKyAg
ICAgICAgKiBodHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3Mvd2Vic2l0ZS1kYXRhLXJl
bW92YWwtZm9yLXNpdGUtd2l0aG91dC11c2VyLWludGVyYWN0aW9uLWRhdGFiYXNlLmh0bWw6IFJl
bW92ZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9zdG9yYWdlQWNjZXNzL2FnZ3JlZ2F0ZS1zb3J0
ZWQtZGF0YS13aXRoLXN0b3JhZ2UtYWNjZXNzLWRhdGFiYXNlLWV4cGVjdGVkLnR4dDogUmVtb3Zl
ZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3N0b3JhZ2VBY2Nlc3MvYWdncmVnYXRlLXNvcnRlZC1k
YXRhLXdpdGgtc3RvcmFnZS1hY2Nlc3MtZGF0YWJhc2UuaHRtbDogUmVtb3ZlZC4KKyAgICAgICAg
KiBodHRwL3Rlc3RzL3N0b3JhZ2VBY2Nlc3MvYWdncmVnYXRlLXNvcnRlZC1kYXRhLXdpdGgtc3Rv
cmFnZS1hY2Nlc3MtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIGh0dHAvdGVzdHMvc3RvcmFnZUFj
Y2Vzcy9kZW55LWR1ZS10by1uby1pbnRlcmFjdGlvbi11bmRlci1nZW5lcmFsLXRoaXJkLXBhcnR5
LWNvb2tpZS1ibG9ja2luZy1kYXRhYmFzZS1leHBlY3RlZC50eHQ6IFJlbW92ZWQuCisgICAgICAg
ICogaHR0cC90ZXN0cy9zdG9yYWdlQWNjZXNzL2RlbnktZHVlLXRvLW5vLWludGVyYWN0aW9uLXVu
ZGVyLWdlbmVyYWwtdGhpcmQtcGFydHktY29va2llLWJsb2NraW5nLWRhdGFiYXNlLmh0bWw6IFJl
bW92ZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9zdG9yYWdlQWNjZXNzL2Rlbnktc3RvcmFnZS1h
Y2Nlc3MtdW5kZXItb3BlbmVyLWRhdGFiYXNlLWV4cGVjdGVkLnR4dDogUmVtb3ZlZC4KKyAgICAg
ICAgKiBodHRwL3Rlc3RzL3N0b3JhZ2VBY2Nlc3MvZGVueS1zdG9yYWdlLWFjY2Vzcy11bmRlci1v
cGVuZXItZGF0YWJhc2UuaHRtbDogUmVtb3ZlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3N0b3Jh
Z2VBY2Nlc3MvZGVueS1zdG9yYWdlLWFjY2Vzcy11bmRlci1vcGVuZXItaWYtYXV0by1kaXNtaXNz
LWRhdGFiYXNlLWV4cGVjdGVkLnR4dDogUmVtb3ZlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3N0
b3JhZ2VBY2Nlc3MvZGVueS1zdG9yYWdlLWFjY2Vzcy11bmRlci1vcGVuZXItaWYtYXV0by1kaXNt
aXNzLWRhdGFiYXNlLmh0bWw6IFJlbW92ZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9zdG9yYWdl
QWNjZXNzL2Rlbnktd2l0aC1wcm9tcHQtZG9lcy1ub3QtcHJlc2VydmUtZ2VzdHVyZS1kYXRhYmFz
ZS1leHBlY3RlZC50eHQ6IFJlbW92ZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9zdG9yYWdlQWNj
ZXNzL2Rlbnktd2l0aC1wcm9tcHQtZG9lcy1ub3QtcHJlc2VydmUtZ2VzdHVyZS1kYXRhYmFzZS5o
dG1sOiBSZW1vdmVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvc3RvcmFnZUFjY2Vzcy9kZW55LXdp
dGhvdXQtcHJvbXB0LXByZXNlcnZlcy1nZXN0dXJlLWRhdGFiYXNlLWV4cGVjdGVkLnR4dDogUmVt
b3ZlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3N0b3JhZ2VBY2Nlc3MvZGVueS13aXRob3V0LXBy
b21wdC1wcmVzZXJ2ZXMtZ2VzdHVyZS1kYXRhYmFzZS5odG1sOiBSZW1vdmVkLgorICAgICAgICAq
IGh0dHAvdGVzdHMvc3RvcmFnZUFjY2Vzcy9ncmFudC1zdG9yYWdlLWFjY2Vzcy11bmRlci1vcGVu
ZXItYXQtcG9wdXAtdXNlci1nZXN0dXJlLWRhdGFiYXNlLWV4cGVjdGVkLnR4dDogUmVtb3ZlZC4K
KyAgICAgICAgKiBodHRwL3Rlc3RzL3N0b3JhZ2VBY2Nlc3MvZ3JhbnQtc3RvcmFnZS1hY2Nlc3Mt
dW5kZXItb3BlbmVyLWF0LXBvcHVwLXVzZXItZ2VzdHVyZS1kYXRhYmFzZS5odG1sOiBSZW1vdmVk
LgorICAgICAgICAqIGh0dHAvdGVzdHMvc3RvcmFnZUFjY2Vzcy9ncmFudC13aXRoLXByb21wdC1w
cmVzZXJ2ZXMtZ2VzdHVyZS1kYXRhYmFzZS1leHBlY3RlZC50eHQ6IFJlbW92ZWQuCisgICAgICAg
ICogaHR0cC90ZXN0cy9zdG9yYWdlQWNjZXNzL2dyYW50LXdpdGgtcHJvbXB0LXByZXNlcnZlcy1n
ZXN0dXJlLWRhdGFiYXNlLmh0bWw6IFJlbW92ZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9zdG9y
YWdlQWNjZXNzL2dyYW50LXdpdGgtcHJvbXB0LXVuZGVyLWdlbmVyYWwtdGhpcmQtcGFydHktY29v
a2llLWJsb2NraW5nLWRhdGFiYXNlLWV4cGVjdGVkLnR4dDogUmVtb3ZlZC4KKyAgICAgICAgKiBo
dHRwL3Rlc3RzL3N0b3JhZ2VBY2Nlc3MvZ3JhbnQtd2l0aC1wcm9tcHQtdW5kZXItZ2VuZXJhbC10
aGlyZC1wYXJ0eS1jb29raWUtYmxvY2tpbmctZGF0YWJhc2UuaHRtbDogUmVtb3ZlZC4KKyAgICAg
ICAgKiBodHRwL3Rlc3RzL3N0b3JhZ2VBY2Nlc3MvaGFzLXN0b3JhZ2UtYWNjZXNzLWNyYXNoLWRh
dGFiYXNlLWV4cGVjdGVkLnR4dDogUmVtb3ZlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3N0b3Jh
Z2VBY2Nlc3MvaGFzLXN0b3JhZ2UtYWNjZXNzLWNyYXNoLWRhdGFiYXNlLmh0bWw6IFJlbW92ZWQu
CisgICAgICAgICogaHR0cC90ZXN0cy9zdG9yYWdlQWNjZXNzL2hhcy1zdG9yYWdlLWFjY2Vzcy1m
YWxzZS1ieS1kZWZhdWx0LWRhdGFiYXNlLWV4cGVjdGVkLnR4dDogUmVtb3ZlZC4KKyAgICAgICAg
KiBodHRwL3Rlc3RzL3N0b3JhZ2VBY2Nlc3MvaGFzLXN0b3JhZ2UtYWNjZXNzLWZhbHNlLWJ5LWRl
ZmF1bHQtZGF0YWJhc2UuaHRtbDogUmVtb3ZlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3N0b3Jh
Z2VBY2Nlc3MvaGFzLXN0b3JhZ2UtYWNjZXNzLWZhbHNlLWJ5LWRlZmF1bHQtZXBoZW1lcmFsLWRh
dGFiYXNlLWV4cGVjdGVkLnR4dDogUmVtb3ZlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3N0b3Jh
Z2VBY2Nlc3MvaGFzLXN0b3JhZ2UtYWNjZXNzLWZhbHNlLWJ5LWRlZmF1bHQtZXBoZW1lcmFsLWRh
dGFiYXNlLmh0bWw6IFJlbW92ZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9zdG9yYWdlQWNjZXNz
L2hhcy1zdG9yYWdlLWFjY2Vzcy1mcm9tLXByZXZhbGVudC1kb21haW4td2l0aC11c2VyLWludGVy
YWN0aW9uLWRhdGFiYXNlLWV4cGVjdGVkLnR4dDogUmVtb3ZlZC4KKyAgICAgICAgKiBodHRwL3Rl
c3RzL3N0b3JhZ2VBY2Nlc3MvaGFzLXN0b3JhZ2UtYWNjZXNzLWZyb20tcHJldmFsZW50LWRvbWFp
bi13aXRoLXVzZXItaW50ZXJhY3Rpb24tZGF0YWJhc2UuaHRtbDogUmVtb3ZlZC4KKyAgICAgICAg
KiBodHRwL3Rlc3RzL3N0b3JhZ2VBY2Nlc3MvaGFzLXN0b3JhZ2UtYWNjZXNzLXRydWUtaWYtdGhp
cmQtcGFydHktaGFzLWNvb2tpZXMtZGF0YWJhc2UtZXhwZWN0ZWQudHh0OiBSZW1vdmVkLgorICAg
ICAgICAqIGh0dHAvdGVzdHMvc3RvcmFnZUFjY2Vzcy9oYXMtc3RvcmFnZS1hY2Nlc3MtdHJ1ZS1p
Zi10aGlyZC1wYXJ0eS1oYXMtY29va2llcy1kYXRhYmFzZS5odG1sOiBSZW1vdmVkLgorICAgICAg
ICAqIGh0dHAvdGVzdHMvc3RvcmFnZUFjY2Vzcy9oYXMtc3RvcmFnZS1hY2Nlc3MtdHJ1ZS1pZi10
aGlyZC1wYXJ0eS1oYXMtY29va2llcy1lcGhlbWVyYWwtZGF0YWJhc2UtZXhwZWN0ZWQudHh0OiBS
ZW1vdmVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvc3RvcmFnZUFjY2Vzcy9oYXMtc3RvcmFnZS1h
Y2Nlc3MtdHJ1ZS1pZi10aGlyZC1wYXJ0eS1oYXMtY29va2llcy1lcGhlbWVyYWwtZGF0YWJhc2Uu
aHRtbDogUmVtb3ZlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3N0b3JhZ2VBY2Nlc3MvaGFzLXN0
b3JhZ2UtYWNjZXNzLXVuZGVyLWdlbmVyYWwtdGhpcmQtcGFydHktY29va2llLWJsb2NraW5nLXdp
dGgtY29va2llLWRhdGFiYXNlLWV4cGVjdGVkLnR4dDogUmVtb3ZlZC4KKyAgICAgICAgKiBodHRw
L3Rlc3RzL3N0b3JhZ2VBY2Nlc3MvaGFzLXN0b3JhZ2UtYWNjZXNzLXVuZGVyLWdlbmVyYWwtdGhp
cmQtcGFydHktY29va2llLWJsb2NraW5nLXdpdGgtY29va2llLWRhdGFiYXNlLmh0bWw6IFJlbW92
ZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9zdG9yYWdlQWNjZXNzL2hhcy1zdG9yYWdlLWFjY2Vz
cy11bmRlci1nZW5lcmFsLXRoaXJkLXBhcnR5LWNvb2tpZS1ibG9ja2luZy13aXRob3V0LWNvb2tp
ZS1kYXRhYmFzZS1leHBlY3RlZC50eHQ6IFJlbW92ZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9z
dG9yYWdlQWNjZXNzL2hhcy1zdG9yYWdlLWFjY2Vzcy11bmRlci1nZW5lcmFsLXRoaXJkLXBhcnR5
LWNvb2tpZS1ibG9ja2luZy13aXRob3V0LWNvb2tpZS1kYXRhYmFzZS5odG1sOiBSZW1vdmVkLgor
ICAgICAgICAqIGh0dHAvdGVzdHMvc3RvcmFnZUFjY2Vzcy9yZW1vdmUtcmVxdWVzdGluZy1pZnJh
bWUtZGF0YWJhc2UtZXhwZWN0ZWQudHh0OiBSZW1vdmVkLgorICAgICAgICAqIGh0dHAvdGVzdHMv
c3RvcmFnZUFjY2Vzcy9yZW1vdmUtcmVxdWVzdGluZy1pZnJhbWUtZGF0YWJhc2UuaHRtbDogUmVt
b3ZlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3N0b3JhZ2VBY2Nlc3MvcmVxdWVzdC1hbmQtZ3Jh
bnQtYWNjZXNzLWNyb3NzLW9yaWdpbi1ub24tc2FuZGJveGVkLWlmcmFtZS1kYXRhYmFzZS1leHBl
Y3RlZC50eHQ6IFJlbW92ZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9zdG9yYWdlQWNjZXNzL3Jl
cXVlc3QtYW5kLWdyYW50LWFjY2Vzcy1jcm9zcy1vcmlnaW4tbm9uLXNhbmRib3hlZC1pZnJhbWUt
ZGF0YWJhc2UuaHRtbDogUmVtb3ZlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3N0b3JhZ2VBY2Nl
c3MvcmVxdWVzdC1hbmQtZ3JhbnQtYWNjZXNzLWNyb3NzLW9yaWdpbi1zYW5kYm94ZWQtaWZyYW1l
LWRhdGFiYXNlLWV4cGVjdGVkLnR4dDogUmVtb3ZlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3N0
b3JhZ2VBY2Nlc3MvcmVxdWVzdC1hbmQtZ3JhbnQtYWNjZXNzLWNyb3NzLW9yaWdpbi1zYW5kYm94
ZWQtaWZyYW1lLWRhdGFiYXNlLmh0bWw6IFJlbW92ZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9z
dG9yYWdlQWNjZXNzL3JlcXVlc3QtYW5kLWdyYW50LWFjY2Vzcy1jcm9zcy1vcmlnaW4tc2FuZGJv
eGVkLWlmcmFtZS1mcm9tLXByZXZhbGVudC1kb21haW4td2l0aC11c2VyLWludGVyYWN0aW9uLWFu
ZC1hY2Nlc3MtZnJvbS1yaWdodC1mcmFtZS1kYXRhYmFzZS1leHBlY3RlZC50eHQ6IFJlbW92ZWQu
CisgICAgICAgICogaHR0cC90ZXN0cy9zdG9yYWdlQWNjZXNzL3JlcXVlc3QtYW5kLWdyYW50LWFj
Y2Vzcy1jcm9zcy1vcmlnaW4tc2FuZGJveGVkLWlmcmFtZS1mcm9tLXByZXZhbGVudC1kb21haW4t
d2l0aC11c2VyLWludGVyYWN0aW9uLWFuZC1hY2Nlc3MtZnJvbS1yaWdodC1mcmFtZS1kYXRhYmFz
ZS5odG1sOiBSZW1vdmVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvc3RvcmFnZUFjY2Vzcy9yZXF1
ZXN0LWFuZC1ncmFudC1hY2Nlc3MtY3Jvc3Mtb3JpZ2luLXNhbmRib3hlZC1pZnJhbWUtZnJvbS1w
cmV2YWxlbnQtZG9tYWluLXdpdGgtdXNlci1pbnRlcmFjdGlvbi1idXQtYWNjZXNzLWZyb20td3Jv
bmctZnJhbWUtZGF0YWJhc2UtZXhwZWN0ZWQudHh0OiBSZW1vdmVkLgorICAgICAgICAqIGh0dHAv
dGVzdHMvc3RvcmFnZUFjY2Vzcy9yZXF1ZXN0LWFuZC1ncmFudC1hY2Nlc3MtY3Jvc3Mtb3JpZ2lu
LXNhbmRib3hlZC1pZnJhbWUtZnJvbS1wcmV2YWxlbnQtZG9tYWluLXdpdGgtdXNlci1pbnRlcmFj
dGlvbi1idXQtYWNjZXNzLWZyb20td3JvbmctZnJhbWUtZGF0YWJhc2UuaHRtbDogUmVtb3ZlZC4K
KyAgICAgICAgKiBodHRwL3Rlc3RzL3N0b3JhZ2VBY2Nlc3MvcmVxdWVzdC1hbmQtZ3JhbnQtYWNj
ZXNzLWNyb3NzLW9yaWdpbi1zYW5kYm94ZWQtaWZyYW1lLWZyb20tcHJldmFsZW50LWRvbWFpbi13
aXRoLXVzZXItaW50ZXJhY3Rpb24tZGF0YWJhc2UtZXhwZWN0ZWQudHh0OiBSZW1vdmVkLgorICAg
ICAgICAqIGh0dHAvdGVzdHMvc3RvcmFnZUFjY2Vzcy9yZXF1ZXN0LWFuZC1ncmFudC1hY2Nlc3Mt
Y3Jvc3Mtb3JpZ2luLXNhbmRib3hlZC1pZnJhbWUtZnJvbS1wcmV2YWxlbnQtZG9tYWluLXdpdGgt
dXNlci1pbnRlcmFjdGlvbi1kYXRhYmFzZS5odG1sOiBSZW1vdmVkLgorICAgICAgICAqIGh0dHAv
dGVzdHMvc3RvcmFnZUFjY2Vzcy9yZXF1ZXN0LWFuZC1ncmFudC1hY2Nlc3MtY3Jvc3Mtb3JpZ2lu
LXNhbmRib3hlZC1pZnJhbWUtZnJvbS1wcmV2YWxlbnQtZG9tYWluLXdpdGhvdXQtdXNlci1pbnRl
cmFjdGlvbi1kYXRhYmFzZS1leHBlY3RlZC50eHQ6IFJlbW92ZWQuCisgICAgICAgICogaHR0cC90
ZXN0cy9zdG9yYWdlQWNjZXNzL3JlcXVlc3QtYW5kLWdyYW50LWFjY2Vzcy1jcm9zcy1vcmlnaW4t
c2FuZGJveGVkLWlmcmFtZS1mcm9tLXByZXZhbGVudC1kb21haW4td2l0aG91dC11c2VyLWludGVy
YWN0aW9uLWRhdGFiYXNlLmh0bWw6IFJlbW92ZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9zdG9y
YWdlQWNjZXNzL3JlcXVlc3QtYW5kLWdyYW50LWFjY2Vzcy1jcm9zcy1vcmlnaW4tc2FuZGJveGVk
LW5lc3RlZC1pZnJhbWUtZGF0YWJhc2UtZXhwZWN0ZWQudHh0OiBSZW1vdmVkLgorICAgICAgICAq
IGh0dHAvdGVzdHMvc3RvcmFnZUFjY2Vzcy9yZXF1ZXN0LWFuZC1ncmFudC1hY2Nlc3MtY3Jvc3Mt
b3JpZ2luLXNhbmRib3hlZC1uZXN0ZWQtaWZyYW1lLWRhdGFiYXNlLmh0bWw6IFJlbW92ZWQuCisg
ICAgICAgICogaHR0cC90ZXN0cy9zdG9yYWdlQWNjZXNzL3JlcXVlc3QtYW5kLWdyYW50LWFjY2Vz
cy10aGVuLWRldGFjaC1zaG91bGQtbm90LWhhdmUtYWNjZXNzLWRhdGFiYXNlLWV4cGVjdGVkLnR4
dDogUmVtb3ZlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3N0b3JhZ2VBY2Nlc3MvcmVxdWVzdC1h
bmQtZ3JhbnQtYWNjZXNzLXRoZW4tZGV0YWNoLXNob3VsZC1ub3QtaGF2ZS1hY2Nlc3MtZGF0YWJh
c2UuaHRtbDogUmVtb3ZlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3N0b3JhZ2VBY2Nlc3MvcmVx
dWVzdC1hbmQtZ3JhbnQtYWNjZXNzLXRoZW4tbmF2aWdhdGUtY3Jvc3Mtc2l0ZS1zaG91bGQtbm90
LWhhdmUtYWNjZXNzLWRhdGFiYXNlLWV4cGVjdGVkLnR4dDogUmVtb3ZlZC4KKyAgICAgICAgKiBo
dHRwL3Rlc3RzL3N0b3JhZ2VBY2Nlc3MvcmVxdWVzdC1hbmQtZ3JhbnQtYWNjZXNzLXRoZW4tbmF2
aWdhdGUtY3Jvc3Mtc2l0ZS1zaG91bGQtbm90LWhhdmUtYWNjZXNzLWRhdGFiYXNlLmh0bWw6IFJl
bW92ZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9zdG9yYWdlQWNjZXNzL3JlcXVlc3QtYW5kLWdy
YW50LWFjY2Vzcy10aGVuLW5hdmlnYXRlLXNhbWUtc2l0ZS1zaG91bGQtaGF2ZS1hY2Nlc3MtZGF0
YWJhc2UtZXhwZWN0ZWQudHh0OiBSZW1vdmVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvc3RvcmFn
ZUFjY2Vzcy9yZXF1ZXN0LWFuZC1ncmFudC1hY2Nlc3MtdGhlbi1uYXZpZ2F0ZS1zYW1lLXNpdGUt
c2hvdWxkLWhhdmUtYWNjZXNzLWRhdGFiYXNlLmh0bWw6IFJlbW92ZWQuCisgICAgICAgICogaHR0
cC90ZXN0cy9zdG9yYWdlQWNjZXNzL3JlcXVlc3Qtc3RvcmFnZS1hY2Nlc3MtY3Jhc2gtZGF0YWJh
c2UtZXhwZWN0ZWQudHh0OiBSZW1vdmVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvc3RvcmFnZUFj
Y2Vzcy9yZXF1ZXN0LXN0b3JhZ2UtYWNjZXNzLWNyYXNoLWRhdGFiYXNlLmh0bWw6IFJlbW92ZWQu
CisgICAgICAgICogaHR0cC90ZXN0cy9zdG9yYWdlQWNjZXNzL3JlcXVlc3Qtc3RvcmFnZS1hY2Nl
c3MtY3Jvc3Mtb3JpZ2luLXNhbmRib3hlZC1pZnJhbWUtd2l0aC11bmlxdWUtb3JpZ2luLWRhdGFi
YXNlLWV4cGVjdGVkLnR4dDogUmVtb3ZlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3N0b3JhZ2VB
Y2Nlc3MvcmVxdWVzdC1zdG9yYWdlLWFjY2Vzcy1jcm9zcy1vcmlnaW4tc2FuZGJveGVkLWlmcmFt
ZS13aXRoLXVuaXF1ZS1vcmlnaW4tZGF0YWJhc2UuaHRtbDogUmVtb3ZlZC4KKyAgICAgICAgKiBo
dHRwL3Rlc3RzL3N0b3JhZ2VBY2Nlc3MvcmVxdWVzdC1zdG9yYWdlLWFjY2Vzcy1jcm9zcy1vcmln
aW4tc2FuZGJveGVkLWlmcmFtZS13aXRob3V0LWFsbG93LXRva2VuLWRhdGFiYXNlLWV4cGVjdGVk
LnR4dDogUmVtb3ZlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3N0b3JhZ2VBY2Nlc3MvcmVxdWVz
dC1zdG9yYWdlLWFjY2Vzcy1jcm9zcy1vcmlnaW4tc2FuZGJveGVkLWlmcmFtZS13aXRob3V0LWFs
bG93LXRva2VuLWRhdGFiYXNlLmh0bWw6IFJlbW92ZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9z
dG9yYWdlQWNjZXNzL3JlcXVlc3Qtc3RvcmFnZS1hY2Nlc3MtY3Jvc3Mtb3JpZ2luLXNhbmRib3hl
ZC1pZnJhbWUtd2l0aG91dC11c2VyLWdlc3R1cmUtZGF0YWJhc2UtZXhwZWN0ZWQudHh0OiBSZW1v
dmVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvc3RvcmFnZUFjY2Vzcy9yZXF1ZXN0LXN0b3JhZ2Ut
YWNjZXNzLWNyb3NzLW9yaWdpbi1zYW5kYm94ZWQtaWZyYW1lLXdpdGhvdXQtdXNlci1nZXN0dXJl
LWRhdGFiYXNlLmh0bWw6IFJlbW92ZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9zdG9yYWdlQWNj
ZXNzL3JlcXVlc3Qtc3RvcmFnZS1hY2Nlc3Mtc2FtZS1vcmlnaW4taWZyYW1lLWRhdGFiYXNlLWV4
cGVjdGVkLnR4dDogUmVtb3ZlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3N0b3JhZ2VBY2Nlc3Mv
cmVxdWVzdC1zdG9yYWdlLWFjY2Vzcy1zYW1lLW9yaWdpbi1pZnJhbWUtZGF0YWJhc2UuaHRtbDog
UmVtb3ZlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3N0b3JhZ2VBY2Nlc3MvcmVxdWVzdC1zdG9y
YWdlLWFjY2Vzcy1zYW1lLW9yaWdpbi1zYW5kYm94ZWQtaWZyYW1lLWRhdGFiYXNlLWV4cGVjdGVk
LnR4dDogUmVtb3ZlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3N0b3JhZ2VBY2Nlc3MvcmVxdWVz
dC1zdG9yYWdlLWFjY2Vzcy1zYW1lLW9yaWdpbi1zYW5kYm94ZWQtaWZyYW1lLWRhdGFiYXNlLmh0
bWw6IFJlbW92ZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9zdG9yYWdlQWNjZXNzL3JlcXVlc3Qt
c3RvcmFnZS1hY2Nlc3Mtc2FtZS1vcmlnaW4tc2FuZGJveGVkLWlmcmFtZS13aXRob3V0LWFsbG93
LXRva2VuLWRhdGFiYXNlLWV4cGVjdGVkLnR4dDogUmVtb3ZlZC4KKyAgICAgICAgKiBodHRwL3Rl
c3RzL3N0b3JhZ2VBY2Nlc3MvcmVxdWVzdC1zdG9yYWdlLWFjY2Vzcy1zYW1lLW9yaWdpbi1zYW5k
Ym94ZWQtaWZyYW1lLXdpdGhvdXQtYWxsb3ctdG9rZW4tZGF0YWJhc2UuaHRtbDogUmVtb3ZlZC4K
KyAgICAgICAgKiBodHRwL3Rlc3RzL3N0b3JhZ2VBY2Nlc3MvcmVxdWVzdC1zdG9yYWdlLWFjY2Vz
cy10b3AtZnJhbWUtZGF0YWJhc2UtZXhwZWN0ZWQudHh0OiBSZW1vdmVkLgorICAgICAgICAqIGh0
dHAvdGVzdHMvc3RvcmFnZUFjY2Vzcy9yZXF1ZXN0LXN0b3JhZ2UtYWNjZXNzLXRvcC1mcmFtZS1k
YXRhYmFzZS5odG1sOiBSZW1vdmVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvd2ViQVBJU3RhdGlz
dGljcy9jYW52YXMtcmVhZC1hbmQtd3JpdGUtZGF0YS1jb2xsZWN0aW9uLWV4cGVjdGVkLnR4dDoK
KyAgICAgICAgKiBodHRwL3Rlc3RzL3dlYkFQSVN0YXRpc3RpY3MvZm9udC1sb2FkLWRhdGEtY29s
bGVjdGlvbi1leHBlY3RlZC50eHQ6CisgICAgICAgICogaHR0cC90ZXN0cy93ZWJBUElTdGF0aXN0
aWNzL25hdmlnYXRvci1mdW5jdGlvbnMtYWNjZXNzZWQtZGF0YS1jb2xsZWN0aW9uLWV4cGVjdGVk
LnR4dDoKKyAgICAgICAgKiBodHRwL3Rlc3RzL3dlYkFQSVN0YXRpc3RpY3Mvc2NyZWVuLWZ1bmN0
aW9ucy1hY2Nlc3NlZC1kYXRhLWNvbGxlY3Rpb24tZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHBs
YXRmb3JtL2d0ay9UZXN0RXhwZWN0YXRpb25zOgorICAgICAgICAqIHBsYXRmb3JtL2lvcy13azIv
VGVzdEV4cGVjdGF0aW9uczoKKyAgICAgICAgKiBwbGF0Zm9ybS9pb3MvVGVzdEV4cGVjdGF0aW9u
czoKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMtd2syL1Rlc3RFeHBlY3RhdGlvbnM6CisgICAgICAg
ICogcGxhdGZvcm0vd2syL1Rlc3RFeHBlY3RhdGlvbnM6CisgICAgICAgICogcGxhdGZvcm0vd3Bl
L1Rlc3RFeHBlY3RhdGlvbnM6CisKIDIwMjAtMDktMjggIFphbGFuIEJ1anRhcyAgPHphbGFuQGFw
cGxlLmNvbT4KIAogICAgICAgICBVbnJldmlld2VkLCB0ZXN0IGdhcmRlbmluZy4KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9hZGQtYmxv
Y2tpbmctdG8tcmVkaXJlY3QtZGF0YWJhc2UtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2FkZC1ibG9ja2luZy10by1yZWRpcmVjdC1k
YXRhYmFzZS1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGYwZWJh
OGZiODk3ZjM3Y2NiMjY2MjczOGUxZDIwZGY0NjIwM2RhMjcuLjAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJj
ZUxvYWRTdGF0aXN0aWNzL2FkZC1ibG9ja2luZy10by1yZWRpcmVjdC1kYXRhYmFzZS1leHBlY3Rl
ZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSw2MyArMCwwIEBACi1UZXN0cyB0aGF0IGJsb2NraW5n
IGlzIGFkZGVkIG1pZC1mbGlnaHQgaW4gcmVkaXJlY3RzLgotCi1PbiBzdWNjZXNzLCB5b3Ugd2ls
bCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01Q
TEVURSIuCi0KLQotUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQotCi1URVNUIENPTVBM
RVRFCi0KLQotLS0tLS0tLS0KLUZyYW1lOiAnPCEtLWZyYW1lMS0tPicKLS0tLS0tLS0tCi1TaG91
bGQgcmVjZWl2ZSBmaXJzdC1wYXJ0eSBjb29raWUuCi1SZWNlaXZlZCBjb29raWUgbmFtZWQgJ2Zp
cnN0UGFydHlDb29raWUnLgotRGlkIG5vdCByZWNlaXZlIGNvb2tpZSBuYW1lZCAncGFydGl0aW9u
ZWRDb29raWUnLgotQ2xpZW50LXNpZGUgZG9jdW1lbnQuY29va2llOiBmaXJzdFBhcnR5Q29va2ll
PXZhbHVlCi0KLS0tLS0tLS0tCi1GcmFtZTogJzwhLS1mcmFtZTItLT4nCi0tLS0tLS0tLQotUmVk
aXJlY3QgY2FzZSAxLCBzaG91bGQgcmVjZWl2ZSBmaXJzdC1wYXJ0eSBjb29raWUuCi1SZWNlaXZl
ZCBjb29raWUgbmFtZWQgJ2ZpcnN0UGFydHlDb29raWUnLgotRGlkIG5vdCByZWNlaXZlIGNvb2tp
ZSBuYW1lZCAncGFydGl0aW9uZWRDb29raWUnLgotQ2xpZW50LXNpZGUgZG9jdW1lbnQuY29va2ll
OiBmaXJzdFBhcnR5Q29va2llPXZhbHVlCi0KLS0tLS0tLS0tCi1GcmFtZTogJzwhLS1mcmFtZTMt
LT4nCi0tLS0tLS0tLQotU2hvdWxkIHJlY2VpdmUgbm8gY29va2llcy4KLURpZCBub3QgcmVjZWl2
ZSBjb29raWUgbmFtZWQgJ2ZpcnN0UGFydHlDb29raWUnLgotRGlkIG5vdCByZWNlaXZlIGNvb2tp
ZSBuYW1lZCAncGFydGl0aW9uZWRDb29raWUnLgotQ2xpZW50LXNpZGUgZG9jdW1lbnQuY29va2ll
OgotCi0tLS0tLS0tLQotRnJhbWU6ICc8IS0tZnJhbWU0LS0+JwotLS0tLS0tLS0KLVJlZGlyZWN0
IGNhc2UgMiwgc2hvdWxkIHJlY2VpdmUgbm8gY29va2llLgotRGlkIG5vdCByZWNlaXZlIGNvb2tp
ZSBuYW1lZCAnZmlyc3RQYXJ0eUNvb2tpZScuCi1EaWQgbm90IHJlY2VpdmUgY29va2llIG5hbWVk
ICdwYXJ0aXRpb25lZENvb2tpZScuCi1DbGllbnQtc2lkZSBkb2N1bWVudC5jb29raWU6Ci0KLS0t
LS0tLS0tCi1GcmFtZTogJzwhLS1mcmFtZTUtLT4nCi0tLS0tLS0tLQotVHJ5IHRvIHNldCB0aGly
ZC1wYXJ0eSBjb29raWUgaW4gYmxvY2tlZCBtb2RlLgotCi0KLS0tLS0tLS0tCi1GcmFtZTogJzwh
LS1mcmFtZTYtLT4nCi0tLS0tLS0tLQotQWZ0ZXIgYXR0ZW1wdGVkIGNvb2tpZSBjcmVhdGlvbiwg
c2hvdWxkIHJlY2VpdmUgbm8gY29va2llLgotRGlkIG5vdCByZWNlaXZlIGNvb2tpZSBuYW1lZCAn
Zmlyc3RQYXJ0eUNvb2tpZScuCi1EaWQgbm90IHJlY2VpdmUgY29va2llIG5hbWVkICdwYXJ0aXRp
b25lZENvb2tpZScuCi1DbGllbnQtc2lkZSBkb2N1bWVudC5jb29raWU6Ci0KLS0tLS0tLS0tCi1G
cmFtZTogJzwhLS1mcmFtZTctLT4nCi0tLS0tLS0tLQotUmVkaXJlY3QgY2FzZSAzLCBhZnRlciBh
dHRlbXB0ZWQgY29va2llIGNyZWF0aW9uLCBzaG91bGQgcmVjZWl2ZSBubyBjb29raWUuCi1EaWQg
bm90IHJlY2VpdmUgY29va2llIG5hbWVkICdmaXJzdFBhcnR5Q29va2llJy4KLURpZCBub3QgcmVj
ZWl2ZSBjb29raWUgbmFtZWQgJ3BhcnRpdGlvbmVkQ29va2llJy4KLUNsaWVudC1zaWRlIGRvY3Vt
ZW50LmNvb2tpZToKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VM
b2FkU3RhdGlzdGljcy9hZGQtYmxvY2tpbmctdG8tcmVkaXJlY3QtZGF0YWJhc2UuaHRtbCBiL0xh
eW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9hZGQtYmxvY2tpbmct
dG8tcmVkaXJlY3QtZGF0YWJhc2UuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MWU3OTQwNTc4OGMyZWU3NWJkYTgzYTg5NzU4OWViNzljNmU3YTQ3ZS4uMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jl
c291cmNlTG9hZFN0YXRpc3RpY3MvYWRkLWJsb2NraW5nLXRvLXJlZGlyZWN0LWRhdGFiYXNlLmh0
bWwKKysrIC9kZXYvbnVsbApAQCAtMSwxMDQgKzAsMCBAQAotPCFET0NUWVBFIGh0bWw+Ci08aHRt
bCBsYW5nPSJlbiI+Ci08aGVhZD4KLSAgICA8bWV0YSBjaGFyc2V0PSJVVEYtOCI+Ci0gICAgPHNj
cmlwdCBzcmM9Ii9qcy10ZXN0LXJlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KLSAgICA8
c2NyaXB0IHNyYz0icmVzb3VyY2VzL3V0aWwuanMiPjwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHk+
Ci08c2NyaXB0PgotICAgIGRlc2NyaXB0aW9uKCJUZXN0cyB0aGF0IGJsb2NraW5nIGlzIGFkZGVk
IG1pZC1mbGlnaHQgaW4gcmVkaXJlY3RzLiIpOwotICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOwot
Ci0gICAgY29uc3QgcGFydGl0aW9uSG9zdCA9ICIxMjcuMC4wLjE6ODAwMCI7Ci0gICAgY29uc3Qg
dGhpcmRQYXJ0eU9yaWdpbiA9ICJodHRwOi8vbG9jYWxob3N0OjgwMDAiOwotICAgIGNvbnN0IHJl
c291cmNlUGF0aCA9ICIvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9yZXNvdXJjZXMiOwotICAgIGNv
bnN0IHRoaXJkUGFydHlCYXNlVXJsID0gdGhpcmRQYXJ0eU9yaWdpbiArIHJlc291cmNlUGF0aDsK
LSAgICBjb25zdCBmaXJzdFBhcnR5Q29va2llTmFtZSA9ICJmaXJzdFBhcnR5Q29va2llIjsKLSAg
ICBjb25zdCBzdWJQYXRoVG9TZXRGaXJzdFBhcnR5Q29va2llID0gIi9zZXQtY29va2llLnBocD9u
YW1lPSIgKyBmaXJzdFBhcnR5Q29va2llTmFtZSArICImdmFsdWU9dmFsdWUiOwotICAgIGNvbnN0
IHBhcnRpdGlvbmVkQ29va2llTmFtZSA9ICJwYXJ0aXRpb25lZENvb2tpZSI7Ci0gICAgY29uc3Qg
c3ViUGF0aFRvU2V0UGFydGl0aW9uZWRDb29raWUgPSAiL3NldC1jb29raWUucGhwP25hbWU9IiAr
IHBhcnRpdGlvbmVkQ29va2llTmFtZSArICImdmFsdWU9dmFsdWUiOwotICAgIGNvbnN0IHJldHVy
blVybCA9ICJodHRwOi8vIiArIHBhcnRpdGlvbkhvc3QgKyAiL3Jlc291cmNlTG9hZFN0YXRpc3Rp
Y3MvYWRkLWJsb2NraW5nLXRvLXJlZGlyZWN0LWRhdGFiYXNlLmh0bWwiOwotICAgIGNvbnN0IHN1
YlBhdGhUb0dldENvb2tpZXMgPSAiL2dldC1jb29raWVzLnBocD9uYW1lMT0iICsgZmlyc3RQYXJ0
eUNvb2tpZU5hbWUgKyAiJm5hbWUyPSIgKyBwYXJ0aXRpb25lZENvb2tpZU5hbWU7Ci0gICAgY29u
c3QgcmVkaXJlY3RDaGFpblVybCA9ICJodHRwOi8vIiArIHBhcnRpdGlvbkhvc3QgKyByZXNvdXJj
ZVBhdGggKyAiL3JlZGlyZWN0LnBocD9yZWRpcmVjdFRvPSIgKyB0aGlyZFBhcnR5QmFzZVVybCAr
IHN1YlBhdGhUb0dldENvb2tpZXM7Ci0KLSAgICBmdW5jdGlvbiBvcGVuSWZyYW1lKHVybCwgb25M
b2FkSGFuZGxlcikgewotICAgICAgICBjb25zdCBlbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxl
bWVudCgiaWZyYW1lIik7Ci0gICAgICAgIGVsZW1lbnQuc3JjID0gdXJsOwotICAgICAgICBpZiAo
b25Mb2FkSGFuZGxlcikgewotICAgICAgICAgICAgZWxlbWVudC5vbmxvYWQgPSBvbkxvYWRIYW5k
bGVyOwotICAgICAgICB9Ci0gICAgICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoZWxlbWVu
dCk7Ci0gICAgfQotCi0gICAgZnVuY3Rpb24gcnVuVGVzdCgpIHsKLSAgICAgICAgc3dpdGNoIChk
b2N1bWVudC5sb2NhdGlvbi5oYXNoKSB7Ci0gICAgICAgICAgICBjYXNlICIjc3RlcDEiOgotICAg
ICAgICAgICAgICAgIC8vIFNldCBmaXJzdC1wYXJ0eSBjb29raWUgZm9yIGxvY2FsaG9zdC4KLSAg
ICAgICAgICAgICAgICBkb2N1bWVudC5sb2NhdGlvbi5ocmVmID0gdGhpcmRQYXJ0eUJhc2VVcmwg
KyBzdWJQYXRoVG9TZXRGaXJzdFBhcnR5Q29va2llICsgIiMiICsgcmV0dXJuVXJsICsgIiNzdGVw
MiI7Ci0gICAgICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgICAgICBjYXNlICIjc3RlcDIiOgot
ICAgICAgICAgICAgICAgIC8vIENoZWNrIHRoYXQgdGhlIGNvb2tpZSBnZXRzIHNlbnQgZm9yIGxv
Y2FsaG9zdCB1bmRlciAxMjcuMC4wLjEgc2luY2UgbG9jYWxob3N0IGlzIG5vdCBwcmV2YWxlbnQu
Ci0gICAgICAgICAgICAgICAgZG9jdW1lbnQubG9jYXRpb24uaGFzaCA9ICJzdGVwMyI7Ci0gICAg
ICAgICAgICAgICAgb3BlbklmcmFtZSh0aGlyZFBhcnR5QmFzZVVybCArIHN1YlBhdGhUb0dldENv
b2tpZXMgKyAiJm1lc3NhZ2U9U2hvdWxkIHJlY2VpdmUgZmlyc3QtcGFydHkgY29va2llLiIsIHJ1
blRlc3QpOwotICAgICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICAgICAgY2FzZSAiI3N0ZXAz
IjoKLSAgICAgICAgICAgICAgICBkb2N1bWVudC5sb2NhdGlvbi5oYXNoID0gInN0ZXA0IjsKLSAg
ICAgICAgICAgICAgICAvLyBMb2FkIGFuIGlmcmFtZSBpbiBhIHJlZGlyZWN0IGNoYWluIHRoYXQg
c3RhcnRzIHdpdGggMTI3LjAuMC4xIGFuZCBlbmRzIHdpdGggbG9jYWxob3N0LiBFeHBlY3QgYSBj
b29raWUgZm9yIGxvY2FsaG9zdC4KLSAgICAgICAgICAgICAgICBvcGVuSWZyYW1lKHJlZGlyZWN0
Q2hhaW5VcmwgKyAiJm1lc3NhZ2U9UmVkaXJlY3QgY2FzZSAxLCBzaG91bGQgcmVjZWl2ZSBmaXJz
dC1wYXJ0eSBjb29raWUuIiwgcnVuVGVzdCk7Ci0gICAgICAgICAgICAgICAgYnJlYWs7Ci0gICAg
ICAgICAgICBjYXNlICIjc3RlcDQiOgotICAgICAgICAgICAgICAgIC8vIFNldCBsb2NhbGhvc3Qg
YXMgcHJldmFsZW50IHRvIHB1dCBpdCBpbiB0aGUgYmxvY2tpbmcgY2F0ZWdvcnkuCi0gICAgICAg
ICAgICAgICAgZG9jdW1lbnQubG9jYXRpb24uaGFzaCA9ICJzdGVwNSI7Ci0gICAgICAgICAgICAg
ICAgdGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNzUHJldmFsZW50UmVzb3VyY2UodGhpcmRQYXJ0eU9y
aWdpbiwgdHJ1ZSwgZnVuY3Rpb24oKSB7Ci0gICAgICAgICAgICAgICAgICAgIGlmICghdGVzdFJ1
bm5lci5pc1N0YXRpc3RpY3NQcmV2YWxlbnRSZXNvdXJjZSh0aGlyZFBhcnR5T3JpZ2luKSkKLSAg
ICAgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoIkhvc3QgZGlkIG5vdCBnZXQgc2V0IGFz
IHByZXZhbGVudCByZXNvdXJjZS4iKTsKLSAgICAgICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5z
dGF0aXN0aWNzVXBkYXRlQ29va2llQmxvY2tpbmcocnVuVGVzdCk7Ci0gICAgICAgICAgICAgICAg
fSk7Ci0gICAgICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgICAgICBjYXNlICIjc3RlcDUiOgot
ICAgICAgICAgICAgICAgIC8vIENoZWNrIHRoYXQgbm8gY29va2llIGdldHMgc2VudCBmb3IgbG9j
YWxob3N0IHVuZGVyIDEyNy4wLjAuMSBzaW5jZSBsb2NhbGhvc3QncyBjb29raWVzIGFyZSBibG9j
a2VkLgotICAgICAgICAgICAgICAgIGRvY3VtZW50LmxvY2F0aW9uLmhhc2ggPSAic3RlcDYiOwot
ICAgICAgICAgICAgICAgIG9wZW5JZnJhbWUodGhpcmRQYXJ0eUJhc2VVcmwgKyBzdWJQYXRoVG9H
ZXRDb29raWVzICsgICImbWVzc2FnZT1TaG91bGQgcmVjZWl2ZSBubyBjb29raWVzLiIsIHJ1blRl
c3QpOwotICAgICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICAgICAgY2FzZSAiI3N0ZXA2IjoK
LSAgICAgICAgICAgICAgICAvLyBMb2FkIGFuIGlmcmFtZSBpbiBhIHJlZGlyZWN0IGNoYWluIHRo
YXQgc3RhcnRzIHdpdGggMTI3LjAuMC4xIGFuZCBlbmRzIHdpdGggbG9jYWxob3N0LiBFeHBlY3Qg
bm8gY29va2llIGZvciBsb2NhbGhvc3QuCi0gICAgICAgICAgICAgICAgZG9jdW1lbnQubG9jYXRp
b24uaGFzaCA9ICJzdGVwNyI7Ci0gICAgICAgICAgICAgICAgb3BlbklmcmFtZShyZWRpcmVjdENo
YWluVXJsICsgIiZtZXNzYWdlPVJlZGlyZWN0IGNhc2UgMiwgc2hvdWxkIHJlY2VpdmUgbm8gY29v
a2llLiIsIHJ1blRlc3QpOwotICAgICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICAgICAgY2Fz
ZSAiI3N0ZXA3IjoKLSAgICAgICAgICAgICAgICAvLyBUcnkgdG8gc2V0IGNvb2tpZSBmb3IgbG9j
YWxob3N0IHVuZGVyIDEyNy4wLjAuMS4KLSAgICAgICAgICAgICAgICBkb2N1bWVudC5sb2NhdGlv
bi5oYXNoID0gInN0ZXA4IjsKLSAgICAgICAgICAgICAgICBvcGVuSWZyYW1lKHRoaXJkUGFydHlC
YXNlVXJsICsgc3ViUGF0aFRvU2V0UGFydGl0aW9uZWRDb29raWUgKyAiJm1lc3NhZ2U9VHJ5IHRv
IHNldCB0aGlyZC1wYXJ0eSBjb29raWUgaW4gYmxvY2tlZCBtb2RlLiIsIHJ1blRlc3QpOwotICAg
ICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICAgICAgY2FzZSAiI3N0ZXA4IjoKLSAgICAgICAg
ICAgICAgICAvLyBDaGVjayB0aGF0IG5vIGNvb2tpZSBnZXRzIHNlbnQgZm9yIGxvY2FsaG9zdCB1
bmRlciAxMjcuMC4wLjEgc2luY2UgbG9jYWxob3N0J3MgY29va2llcyBhcmUgYmxvY2tlZC4KLSAg
ICAgICAgICAgICAgICBkb2N1bWVudC5sb2NhdGlvbi5oYXNoID0gInN0ZXA5IjsKLSAgICAgICAg
ICAgICAgICBvcGVuSWZyYW1lKHRoaXJkUGFydHlCYXNlVXJsICsgc3ViUGF0aFRvR2V0Q29va2ll
cyArICAiJm1lc3NhZ2U9QWZ0ZXIgYXR0ZW1wdGVkIGNvb2tpZSBjcmVhdGlvbiwgc2hvdWxkIHJl
Y2VpdmUgbm8gY29va2llLiIsIHJ1blRlc3QpOwotICAgICAgICAgICAgICAgIGJyZWFrOwotICAg
ICAgICAgICAgY2FzZSAiI3N0ZXA5IjoKLSAgICAgICAgICAgICAgICAvLyBMb2FkIGFuIGlmcmFt
ZSBpbiBhIHJlZGlyZWN0IGNoYWluIHRoYXQgc3RhcnRzIHdpdGggMTI3LjAuMC4xIGFuZCBlbmRz
IHdpdGggbG9jYWxob3N0LiBFeHBlY3Qgbm8gY29va2llIGZvciBsb2NhbGhvc3QuCi0gICAgICAg
ICAgICAgICAgZG9jdW1lbnQubG9jYXRpb24uaGFzaCA9ICJzdGVwMTAiOwotICAgICAgICAgICAg
ICAgIG9wZW5JZnJhbWUocmVkaXJlY3RDaGFpblVybCArICImbWVzc2FnZT1SZWRpcmVjdCBjYXNl
IDMsIGFmdGVyIGF0dGVtcHRlZCBjb29raWUgY3JlYXRpb24sIHNob3VsZCByZWNlaXZlIG5vIGNv
b2tpZS4iLCBydW5UZXN0KTsKLSAgICAgICAgICAgICAgICBicmVhazsKLSAgICAgICAgICAgIGNh
c2UgIiNzdGVwMTAiOgotICAgICAgICAgICAgICAgIHNldEVuYWJsZUZlYXR1cmUoZmFsc2UsIGZp
bmlzaEpTVGVzdCk7Ci0gICAgICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgIH0KLSAgICB9Ci0K
LSAgICBpZiAoZG9jdW1lbnQubG9jYXRpb24uaGFzaCA9PT0gIiIpIHsKLSAgICAgICAgdGVzdFJ1
bm5lci5zZXRVc2VJVFBEYXRhYmFzZSh0cnVlKTsKLSAgICAgICAgc2V0RW5hYmxlRmVhdHVyZSh0
cnVlLCBmdW5jdGlvbiAoKSB7Ci0gICAgICAgICAgICBpZiAodGVzdFJ1bm5lci5pc1N0YXRpc3Rp
Y3NQcmV2YWxlbnRSZXNvdXJjZSh0aGlyZFBhcnR5T3JpZ2luKSkKLSAgICAgICAgICAgICAgICB0
ZXN0RmFpbGVkKCJMb2NhbGhvc3Qgd2FzIGNsYXNzaWZpZWQgYXMgcHJldmFsZW50IHJlc291cmNl
IGJlZm9yZSB0aGUgdGVzdCBzdGFydHMuIik7Ci0gICAgICAgICAgICB0ZXN0UnVubmVyLmR1bXBD
aGlsZEZyYW1lc0FzVGV4dCgpOwotICAgICAgICAgICAgZG9jdW1lbnQubG9jYXRpb24uaGFzaCA9
ICJzdGVwMSI7Ci0gICAgICAgICAgICBydW5UZXN0KCk7Ci0gICAgICAgIH0pOwotICAgIH0gZWxz
ZSB7Ci0gICAgICAgIHJ1blRlc3QoKTsKLSAgICB9Ci08L3NjcmlwdD4KLTwvYm9keT4KLTwvaHRt
bD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlz
dGljcy9hZ2dyZWdhdGUtc29ydGVkLWRhdGEtbm8tc3RvcmFnZS1hY2Nlc3MtZGF0YWJhc2UtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNz
L2FnZ3JlZ2F0ZS1zb3J0ZWQtZGF0YS1uby1zdG9yYWdlLWFjY2Vzcy1kYXRhYmFzZS1leHBlY3Rl
ZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDFlYmQ0MmM4MjYxZDE0MmM0ZTVh
OTEzZWY1MTRiMzI2MWM3NzQ4NDQuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNz
L2FnZ3JlZ2F0ZS1zb3J0ZWQtZGF0YS1uby1zdG9yYWdlLWFjY2Vzcy1kYXRhYmFzZS1leHBlY3Rl
ZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSw4MyArMCwwIEBACi1DaGVjayBjb3JyZWN0IFVJIGRh
dGEgZ2V0cyByZXBvcnRlZCB3aXRoIG5vIHN0b3JhZ2UgYWNjZXNzLgotCi0KLQotUmVzb3VyY2Ug
bG9hZCBzdGF0aXN0aWNzOgotCi1SZWdpc3RyYWJsZSBkb21haW46IHN1YmZyYW1lMQotICAgIGhh
ZFVzZXJJbnRlcmFjdGlvbjogTm8KLSAgICBtb3N0UmVjZW50VXNlckludGVyYWN0aW9uOiAtMQot
ICAgIGdyYW5kZmF0aGVyZWQ6IE5vCi0gICAgSXNTY2hlZHVsZWRGb3JBbGxCdXRDb29raWVEYXRh
UmVtb3ZhbDogTm8KLSAgICBTdWJmcmFtZVVuZGVyVG9wRnJhbWVEb21haW5zOgotICAgICAgICB0
b3BmcmFtZTEKLSAgICBTdWJyZXNvdXJjZVVuaXF1ZVJlZGlyZWN0c1RvOgotICAgICAgICB0b3Bm
cmFtZTIKLSAgICBpc1ByZXZhbGVudFJlc291cmNlOiBZZXMKLSAgICBpc1ZlcnlQcmV2YWxlbnRS
ZXNvdXJjZTogTm8KLSAgICBkYXRhUmVjb3Jkc1JlbW92ZWQ6IDAKLVJlZ2lzdHJhYmxlIGRvbWFp
bjogc3ViZnJhbWUyCi0gICAgaGFkVXNlckludGVyYWN0aW9uOiBObwotICAgIG1vc3RSZWNlbnRV
c2VySW50ZXJhY3Rpb246IC0xCi0gICAgZ3JhbmRmYXRoZXJlZDogTm8KLSAgICBJc1NjaGVkdWxl
ZEZvckFsbEJ1dENvb2tpZURhdGFSZW1vdmFsOiBObwotICAgIFN1YmZyYW1lVW5kZXJUb3BGcmFt
ZURvbWFpbnM6Ci0gICAgICAgIHRvcGZyYW1lMQotICAgIGlzUHJldmFsZW50UmVzb3VyY2U6IFll
cwotICAgIGlzVmVyeVByZXZhbGVudFJlc291cmNlOiBObwotICAgIGRhdGFSZWNvcmRzUmVtb3Zl
ZDogMAotUmVnaXN0cmFibGUgZG9tYWluOiBzdWJmcmFtZTMKLSAgICBoYWRVc2VySW50ZXJhY3Rp
b246IE5vCi0gICAgbW9zdFJlY2VudFVzZXJJbnRlcmFjdGlvbjogLTEKLSAgICBncmFuZGZhdGhl
cmVkOiBObwotICAgIElzU2NoZWR1bGVkRm9yQWxsQnV0Q29va2llRGF0YVJlbW92YWw6IE5vCi0g
ICAgU3ViZnJhbWVVbmRlclRvcEZyYW1lRG9tYWluczoKLSAgICAgICAgdG9wZnJhbWUxCi0gICAg
ICAgIHRvcGZyYW1lNAotICAgIFN1YnJlc291cmNlVW5kZXJUb3BGcmFtZURvbWFpbnM6Ci0gICAg
ICAgIHRvcGZyYW1lMwotICAgIFN1YnJlc291cmNlVW5pcXVlUmVkaXJlY3RzVG86Ci0gICAgICAg
IHRvcGZyYW1lMgotICAgIGlzUHJldmFsZW50UmVzb3VyY2U6IFllcwotICAgIGlzVmVyeVByZXZh
bGVudFJlc291cmNlOiBObwotICAgIGRhdGFSZWNvcmRzUmVtb3ZlZDogMAotUmVnaXN0cmFibGUg
ZG9tYWluOiB0b3BmcmFtZTEKLSAgICBoYWRVc2VySW50ZXJhY3Rpb246IE5vCi0gICAgbW9zdFJl
Y2VudFVzZXJJbnRlcmFjdGlvbjogLTEKLSAgICBncmFuZGZhdGhlcmVkOiBObwotICAgIElzU2No
ZWR1bGVkRm9yQWxsQnV0Q29va2llRGF0YVJlbW92YWw6IE5vCi0gICAgaXNQcmV2YWxlbnRSZXNv
dXJjZTogTm8KLSAgICBpc1ZlcnlQcmV2YWxlbnRSZXNvdXJjZTogTm8KLSAgICBkYXRhUmVjb3Jk
c1JlbW92ZWQ6IDAKLVJlZ2lzdHJhYmxlIGRvbWFpbjogdG9wZnJhbWUyCi0gICAgaGFkVXNlcklu
dGVyYWN0aW9uOiBObwotICAgIG1vc3RSZWNlbnRVc2VySW50ZXJhY3Rpb246IC0xCi0gICAgZ3Jh
bmRmYXRoZXJlZDogTm8KLSAgICBJc1NjaGVkdWxlZEZvckFsbEJ1dENvb2tpZURhdGFSZW1vdmFs
OiBObwotICAgIGlzUHJldmFsZW50UmVzb3VyY2U6IE5vCi0gICAgaXNWZXJ5UHJldmFsZW50UmVz
b3VyY2U6IE5vCi0gICAgZGF0YVJlY29yZHNSZW1vdmVkOiAwCi1SZWdpc3RyYWJsZSBkb21haW46
IHRvcGZyYW1lMwotICAgIGhhZFVzZXJJbnRlcmFjdGlvbjogTm8KLSAgICBtb3N0UmVjZW50VXNl
ckludGVyYWN0aW9uOiAtMQotICAgIGdyYW5kZmF0aGVyZWQ6IE5vCi0gICAgSXNTY2hlZHVsZWRG
b3JBbGxCdXRDb29raWVEYXRhUmVtb3ZhbDogTm8KLSAgICBpc1ByZXZhbGVudFJlc291cmNlOiBO
bwotICAgIGlzVmVyeVByZXZhbGVudFJlc291cmNlOiBObwotICAgIGRhdGFSZWNvcmRzUmVtb3Zl
ZDogMAotUmVnaXN0cmFibGUgZG9tYWluOiB0b3BmcmFtZTQKLSAgICBoYWRVc2VySW50ZXJhY3Rp
b246IE5vCi0gICAgbW9zdFJlY2VudFVzZXJJbnRlcmFjdGlvbjogLTEKLSAgICBncmFuZGZhdGhl
cmVkOiBObwotICAgIElzU2NoZWR1bGVkRm9yQWxsQnV0Q29va2llRGF0YVJlbW92YWw6IE5vCi0g
ICAgaXNQcmV2YWxlbnRSZXNvdXJjZTogTm8KLSAgICBpc1ZlcnlQcmV2YWxlbnRSZXNvdXJjZTog
Tm8KLSAgICBkYXRhUmVjb3Jkc1JlbW92ZWQ6IDAKLQotSVRQIERhdGE6Ci1UaGlyZCBQYXJ0eSBS
ZWdpc3RyYWJsZSBEb21haW46IHN1YmZyYW1lMwotICAgIHt7IEhhcyBiZWVuIGdyYW50ZWQgc3Rv
cmFnZSBhY2Nlc3MgdW5kZXIgdG9wZnJhbWUxOiAwOyBIYXMgYmVlbiBzZWVuIHVuZGVyIHRvcGZy
YW1lMSBpbiB0aGUgbGFzdCAyNCBob3VyczogMSB9LHsgSGFzIGJlZW4gZ3JhbnRlZCBzdG9yYWdl
IGFjY2VzcyB1bmRlciB0b3BmcmFtZTQ6IDA7IEhhcyBiZWVuIHNlZW4gdW5kZXIgdG9wZnJhbWU0
IGluIHRoZSBsYXN0IDI0IGhvdXJzOiAxIH0seyBIYXMgYmVlbiBncmFudGVkIHN0b3JhZ2UgYWNj
ZXNzIHVuZGVyIHRvcGZyYW1lMzogMDsgSGFzIGJlZW4gc2VlbiB1bmRlciB0b3BmcmFtZTMgaW4g
dGhlIGxhc3QgMjQgaG91cnM6IDEgfSx7IEhhcyBiZWVuIGdyYW50ZWQgc3RvcmFnZSBhY2Nlc3Mg
dW5kZXIgdG9wZnJhbWUyOiAwOyBIYXMgYmVlbiBzZWVuIHVuZGVyIHRvcGZyYW1lMiBpbiB0aGUg
bGFzdCAyNCBob3VyczogMSB9LH0KLVRoaXJkIFBhcnR5IFJlZ2lzdHJhYmxlIERvbWFpbjogc3Vi
ZnJhbWUxCi0gICAge3sgSGFzIGJlZW4gZ3JhbnRlZCBzdG9yYWdlIGFjY2VzcyB1bmRlciB0b3Bm
cmFtZTE6IDA7IEhhcyBiZWVuIHNlZW4gdW5kZXIgdG9wZnJhbWUxIGluIHRoZSBsYXN0IDI0IGhv
dXJzOiAxIH0seyBIYXMgYmVlbiBncmFudGVkIHN0b3JhZ2UgYWNjZXNzIHVuZGVyIHRvcGZyYW1l
MjogMDsgSGFzIGJlZW4gc2VlbiB1bmRlciB0b3BmcmFtZTIgaW4gdGhlIGxhc3QgMjQgaG91cnM6
IDEgfSx9Ci1UaGlyZCBQYXJ0eSBSZWdpc3RyYWJsZSBEb21haW46IHN1YmZyYW1lMgotICAgIHt7
IEhhcyBiZWVuIGdyYW50ZWQgc3RvcmFnZSBhY2Nlc3MgdW5kZXIgdG9wZnJhbWUxOiAwOyBIYXMg
YmVlbiBzZWVuIHVuZGVyIHRvcGZyYW1lMSBpbiB0aGUgbGFzdCAyNCBob3VyczogMSB9LH0KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9h
Z2dyZWdhdGUtc29ydGVkLWRhdGEtbm8tc3RvcmFnZS1hY2Nlc3MtZGF0YWJhc2UuaHRtbCBiL0xh
eW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9hZ2dyZWdhdGUtc29y
dGVkLWRhdGEtbm8tc3RvcmFnZS1hY2Nlc3MtZGF0YWJhc2UuaHRtbApkZWxldGVkIGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggYTczNjkyMTFjMzNmZmY2OTA3ZTBjMGM0ZGMwYWM3ZGU4OGM5YmI1Ny4u
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvYWdncmVnYXRlLXNvcnRlZC1kYXRh
LW5vLXN0b3JhZ2UtYWNjZXNzLWRhdGFiYXNlLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSw1OSAr
MCwwIEBACi08IURPQ1RZUEUgaHRtbD4KLTxodG1sPgotPGhlYWQ+Ci0gICAgPHNjcmlwdCBzcmM9
Ii9jb29raWVzL3Jlc291cmNlcy9jb29raWUtdXRpbGl0aWVzLmpzIj48L3NjcmlwdD4KLSAgICA8
c2NyaXB0IHNyYz0icmVzb3VyY2VzL3V0aWwuanMiPjwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHkg
b25sb2FkPSJzZXRUaW1lb3V0KCdydW5UZXN0KCknLCAwKSI+Ci08ZGl2IGlkPSJkZXNjcmlwdGlv
biI+Q2hlY2sgY29ycmVjdCBVSSBkYXRhIGdldHMgcmVwb3J0ZWQgd2l0aCBubyBzdG9yYWdlIGFj
Y2Vzcy48L2Rpdj4KLTxicj4KLTxkaXYgaWQ9Im91dHB1dCI+PC9kaXY+Ci08YnI+Ci08c2NyaXB0
PgotICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOwotICAgIHRlc3RSdW5uZXIuZHVtcEFz
VGV4dCgpOwotCi0gICAgZnVuY3Rpb24gZmluaXNoVGVzdCgpIHsKLSAgICAgICAgdGVzdFJ1bm5l
ci5kdW1wUmVzb3VyY2VMb2FkU3RhdGlzdGljcygpOwotICAgICAgICBzZXRFbmFibGVGZWF0dXJl
KGZhbHNlLCBmdW5jdGlvbigpIHsKLSAgICAgICAgICAgIHRlc3RSdW5uZXIubm90aWZ5RG9uZSgp
OwotICAgICAgICB9KTsKLSAgICB9Ci0KLSAgICBjb25zdCBzdWJPcmlnaW4xID0gImh0dHA6Ly9z
dWJmcmFtZTE6ODAwMCI7Ci0gICAgY29uc3Qgc3ViT3JpZ2luMiAgPSAiaHR0cDovL3N1YmZyYW1l
Mjo4MDAwIjsKLSAgICBjb25zdCBzdWJPcmlnaW4zICA9ICJodHRwOi8vc3ViZnJhbWUzOjgwMDAi
OwotCi0gICAgY29uc3QgdG9wRnJhbWVPcmlnaW4xID0gImh0dHA6Ly90b3BmcmFtZTE6ODAwMCI7
Ci0gICAgY29uc3QgdG9wRnJhbWVPcmlnaW4yID0gImh0dHA6Ly90b3BmcmFtZTI6ODAwMCI7Ci0g
ICAgY29uc3QgdG9wRnJhbWVPcmlnaW4zID0gImh0dHA6Ly90b3BmcmFtZTM6ODAwMCI7Ci0gICAg
Y29uc3QgdG9wRnJhbWVPcmlnaW40ID0gImh0dHA6Ly90b3BmcmFtZTQ6ODAwMCI7Ci0KLSAgICBm
dW5jdGlvbiBydW5UZXN0KCkgewotICAgICAgICB0ZXN0UnVubmVyLnNldFVzZUlUUERhdGFiYXNl
KHRydWUpOwotICAgICAgICBzZXRFbmFibGVGZWF0dXJlKHRydWUsIGZ1bmN0aW9uICgpIHsKLSAg
ICAgICAgICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc1ByZXZhbGVudFJlc291cmNlKHN1Yk9y
aWdpbjEsIHRydWUsIGZ1bmN0aW9uICgpIHsKLSAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLnNl
dFN0YXRpc3RpY3NQcmV2YWxlbnRSZXNvdXJjZShzdWJPcmlnaW4yLCB0cnVlLCBmdW5jdGlvbiAo
KSB7Ci0gICAgICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc1ByZXZhbGVu
dFJlc291cmNlKHN1Yk9yaWdpbjMsIHRydWUsIGZ1bmN0aW9uICgpIHsKLSAgICAgICAgICAgICAg
ICAgICAgICAgLy8gc3ViT3JpZ2luMSB3aWxsIGJlIGxvZ2dlZCB1bmRlciAyIHRvcCBmcmFtZXMu
IFNob3VsZCBhcHBlYXIgc2Vjb25kCi0gICAgICAgICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIu
c2V0U3RhdGlzdGljc1N1YmZyYW1lVW5kZXJUb3BGcmFtZU9yaWdpbihzdWJPcmlnaW4xLCB0b3BG
cmFtZU9yaWdpbjEpOwotICAgICAgICAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLnNldFN0YXRp
c3RpY3NTdWJyZXNvdXJjZVVuaXF1ZVJlZGlyZWN0VG8oc3ViT3JpZ2luMSwgdG9wRnJhbWVPcmln
aW4yKTsKLQotICAgICAgICAgICAgICAgICAgICAgICAvLyBzdWJPcmlnaW4yIHdpbGwgYmUgbG9n
Z2VkIHVuZGVyIDEgdG9wIGZyYW1lLiBTaG91bGQgYXBwZWFyIHRoaXJkCi0gICAgICAgICAgICAg
ICAgICAgICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc1N1YmZyYW1lVW5kZXJUb3BGcmFtZU9y
aWdpbihzdWJPcmlnaW4yLCB0b3BGcmFtZU9yaWdpbjEpOwotCi0gICAgICAgICAgICAgICAgICAg
ICAgIC8vIHN1Yk9yaWdpbjMgd2lsbCBiZSBsb2dnZWQgdW5kZXIgNCB0b3AgZnJhbWVzLiBTaG91
bGQgYXBwZWFyIGZpcnN0Ci0gICAgICAgICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIuc2V0U3Rh
dGlzdGljc1N1YmZyYW1lVW5kZXJUb3BGcmFtZU9yaWdpbihzdWJPcmlnaW4zLCB0b3BGcmFtZU9y
aWdpbjEpOwotICAgICAgICAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NT
dWJyZXNvdXJjZVVuaXF1ZVJlZGlyZWN0VG8oc3ViT3JpZ2luMywgdG9wRnJhbWVPcmlnaW4yKTsK
LSAgICAgICAgICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNzU3VicmVzb3Vy
Y2VVbmRlclRvcEZyYW1lT3JpZ2luKHN1Yk9yaWdpbjMsIHRvcEZyYW1lT3JpZ2luMyk7Ci0gICAg
ICAgICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc1N1YmZyYW1lVW5kZXJU
b3BGcmFtZU9yaWdpbihzdWJPcmlnaW4zLCB0b3BGcmFtZU9yaWdpbjQpOwotCi0gICAgICAgICAg
ICAgICAgICAgICAgIHNldFRpbWVvdXQoZnVuY3Rpb24gKCkgeyBmaW5pc2hUZXN0KCkgfSwgNTAw
KTsKLSAgICAgICAgICAgICAgICAgICAgfSk7Ci0gICAgICAgICAgICAgICAgfSk7Ci0gICAgICAg
ICAgICB9KTsKLSAgICAgICAgfSk7Ci0gICAgfQotPC9zY3JpcHQ+Ci08L2JvZHk+Ci08L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3Rp
Y3MvYWdncmVnYXRlLXNvcnRlZC1kYXRhLW5vLXN0b3JhZ2UtYWNjZXNzLWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9hZ2dyZWdhdGUt
c29ydGVkLWRhdGEtbm8tc3RvcmFnZS1hY2Nlc3MtZXhwZWN0ZWQudHh0CmluZGV4IGRkY2U2ODlj
MTIyM2I5M2IwMmFiMDZkOTQzM2E0ZjBlMGUwZDJiMmQuLjY3NGQ0YzI4MjJiYmZlNDVkNDIyNzc5
Y2ZlODY0N2NmNTFlNWQ0MGYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVz
b3VyY2VMb2FkU3RhdGlzdGljcy9hZ2dyZWdhdGUtc29ydGVkLWRhdGEtbm8tc3RvcmFnZS1hY2Nl
c3MtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2Fk
U3RhdGlzdGljcy9hZ2dyZWdhdGUtc29ydGVkLWRhdGEtbm8tc3RvcmFnZS1hY2Nlc3MtZXhwZWN0
ZWQudHh0CkBAIC04LDkwICs4LDc2IEBAIFJlZ2lzdHJhYmxlIGRvbWFpbjogc3ViZnJhbWUxCiAg
ICAgaGFkVXNlckludGVyYWN0aW9uOiBObwogICAgIG1vc3RSZWNlbnRVc2VySW50ZXJhY3Rpb246
IC0xCiAgICAgZ3JhbmRmYXRoZXJlZDogTm8KLSAgICBnb3RMaW5rRGVjb3JhdGlvbkZyb21QcmV2
YWxlbnRSZXNvdXJjZTogTm8KLSAgICBzdWJmcmFtZVVuZGVyVG9wRnJhbWVEb21haW5zOgorICAg
IElzU2NoZWR1bGVkRm9yQWxsQnV0Q29va2llRGF0YVJlbW92YWw6IE5vCisgICAgU3ViZnJhbWVV
bmRlclRvcEZyYW1lRG9tYWluczoKICAgICAgICAgdG9wZnJhbWUxCi0gICAgc3VicmVzb3VyY2VV
bmlxdWVSZWRpcmVjdHNUbzoKKyAgICBTdWJyZXNvdXJjZVVuaXF1ZVJlZGlyZWN0c1RvOgogICAg
ICAgICB0b3BmcmFtZTIKICAgICBpc1ByZXZhbGVudFJlc291cmNlOiBZZXMKICAgICBpc1ZlcnlQ
cmV2YWxlbnRSZXNvdXJjZTogTm8KICAgICBkYXRhUmVjb3Jkc1JlbW92ZWQ6IDAKLSAgICBjYW52
YXNSZWFkRGF0YTogTm8KLQogUmVnaXN0cmFibGUgZG9tYWluOiBzdWJmcmFtZTIKICAgICBoYWRV
c2VySW50ZXJhY3Rpb246IE5vCiAgICAgbW9zdFJlY2VudFVzZXJJbnRlcmFjdGlvbjogLTEKICAg
ICBncmFuZGZhdGhlcmVkOiBObwotICAgIGdvdExpbmtEZWNvcmF0aW9uRnJvbVByZXZhbGVudFJl
c291cmNlOiBObwotICAgIHN1YmZyYW1lVW5kZXJUb3BGcmFtZURvbWFpbnM6CisgICAgSXNTY2hl
ZHVsZWRGb3JBbGxCdXRDb29raWVEYXRhUmVtb3ZhbDogTm8KKyAgICBTdWJmcmFtZVVuZGVyVG9w
RnJhbWVEb21haW5zOgogICAgICAgICB0b3BmcmFtZTEKICAgICBpc1ByZXZhbGVudFJlc291cmNl
OiBZZXMKICAgICBpc1ZlcnlQcmV2YWxlbnRSZXNvdXJjZTogTm8KICAgICBkYXRhUmVjb3Jkc1Jl
bW92ZWQ6IDAKLSAgICBjYW52YXNSZWFkRGF0YTogTm8KLQogUmVnaXN0cmFibGUgZG9tYWluOiBz
dWJmcmFtZTMKICAgICBoYWRVc2VySW50ZXJhY3Rpb246IE5vCiAgICAgbW9zdFJlY2VudFVzZXJJ
bnRlcmFjdGlvbjogLTEKICAgICBncmFuZGZhdGhlcmVkOiBObwotICAgIGdvdExpbmtEZWNvcmF0
aW9uRnJvbVByZXZhbGVudFJlc291cmNlOiBObwotICAgIHN1YmZyYW1lVW5kZXJUb3BGcmFtZURv
bWFpbnM6CisgICAgSXNTY2hlZHVsZWRGb3JBbGxCdXRDb29raWVEYXRhUmVtb3ZhbDogTm8KKyAg
ICBTdWJmcmFtZVVuZGVyVG9wRnJhbWVEb21haW5zOgogICAgICAgICB0b3BmcmFtZTEKICAgICAg
ICAgdG9wZnJhbWU0Ci0gICAgc3VicmVzb3VyY2VVbmRlclRvcEZyYW1lRG9tYWluczoKKyAgICBT
dWJyZXNvdXJjZVVuZGVyVG9wRnJhbWVEb21haW5zOgogICAgICAgICB0b3BmcmFtZTMKLSAgICBz
dWJyZXNvdXJjZVVuaXF1ZVJlZGlyZWN0c1RvOgorICAgIFN1YnJlc291cmNlVW5pcXVlUmVkaXJl
Y3RzVG86CiAgICAgICAgIHRvcGZyYW1lMgogICAgIGlzUHJldmFsZW50UmVzb3VyY2U6IFllcwog
ICAgIGlzVmVyeVByZXZhbGVudFJlc291cmNlOiBObwogICAgIGRhdGFSZWNvcmRzUmVtb3ZlZDog
MAotICAgIGNhbnZhc1JlYWREYXRhOiBObwotCiBSZWdpc3RyYWJsZSBkb21haW46IHRvcGZyYW1l
MQogICAgIGhhZFVzZXJJbnRlcmFjdGlvbjogTm8KICAgICBtb3N0UmVjZW50VXNlckludGVyYWN0
aW9uOiAtMQogICAgIGdyYW5kZmF0aGVyZWQ6IE5vCi0gICAgZ290TGlua0RlY29yYXRpb25Gcm9t
UHJldmFsZW50UmVzb3VyY2U6IE5vCisgICAgSXNTY2hlZHVsZWRGb3JBbGxCdXRDb29raWVEYXRh
UmVtb3ZhbDogTm8KICAgICBpc1ByZXZhbGVudFJlc291cmNlOiBObwogICAgIGlzVmVyeVByZXZh
bGVudFJlc291cmNlOiBObwogICAgIGRhdGFSZWNvcmRzUmVtb3ZlZDogMAotICAgIGNhbnZhc1Jl
YWREYXRhOiBObwotCiBSZWdpc3RyYWJsZSBkb21haW46IHRvcGZyYW1lMgogICAgIGhhZFVzZXJJ
bnRlcmFjdGlvbjogTm8KICAgICBtb3N0UmVjZW50VXNlckludGVyYWN0aW9uOiAtMQogICAgIGdy
YW5kZmF0aGVyZWQ6IE5vCi0gICAgZ290TGlua0RlY29yYXRpb25Gcm9tUHJldmFsZW50UmVzb3Vy
Y2U6IE5vCisgICAgSXNTY2hlZHVsZWRGb3JBbGxCdXRDb29raWVEYXRhUmVtb3ZhbDogTm8KICAg
ICBpc1ByZXZhbGVudFJlc291cmNlOiBObwogICAgIGlzVmVyeVByZXZhbGVudFJlc291cmNlOiBO
bwogICAgIGRhdGFSZWNvcmRzUmVtb3ZlZDogMAotICAgIGNhbnZhc1JlYWREYXRhOiBObwotCiBS
ZWdpc3RyYWJsZSBkb21haW46IHRvcGZyYW1lMwogICAgIGhhZFVzZXJJbnRlcmFjdGlvbjogTm8K
ICAgICBtb3N0UmVjZW50VXNlckludGVyYWN0aW9uOiAtMQogICAgIGdyYW5kZmF0aGVyZWQ6IE5v
Ci0gICAgZ290TGlua0RlY29yYXRpb25Gcm9tUHJldmFsZW50UmVzb3VyY2U6IE5vCisgICAgSXNT
Y2hlZHVsZWRGb3JBbGxCdXRDb29raWVEYXRhUmVtb3ZhbDogTm8KICAgICBpc1ByZXZhbGVudFJl
c291cmNlOiBObwogICAgIGlzVmVyeVByZXZhbGVudFJlc291cmNlOiBObwogICAgIGRhdGFSZWNv
cmRzUmVtb3ZlZDogMAotICAgIGNhbnZhc1JlYWREYXRhOiBObwotCiBSZWdpc3RyYWJsZSBkb21h
aW46IHRvcGZyYW1lNAogICAgIGhhZFVzZXJJbnRlcmFjdGlvbjogTm8KICAgICBtb3N0UmVjZW50
VXNlckludGVyYWN0aW9uOiAtMQogICAgIGdyYW5kZmF0aGVyZWQ6IE5vCi0gICAgZ290TGlua0Rl
Y29yYXRpb25Gcm9tUHJldmFsZW50UmVzb3VyY2U6IE5vCisgICAgSXNTY2hlZHVsZWRGb3JBbGxC
dXRDb29raWVEYXRhUmVtb3ZhbDogTm8KICAgICBpc1ByZXZhbGVudFJlc291cmNlOiBObwogICAg
IGlzVmVyeVByZXZhbGVudFJlc291cmNlOiBObwogICAgIGRhdGFSZWNvcmRzUmVtb3ZlZDogMAot
ICAgIGNhbnZhc1JlYWREYXRhOiBObwotCiAKIElUUCBEYXRhOgogVGhpcmQgUGFydHkgUmVnaXN0
cmFibGUgRG9tYWluOiBzdWJmcmFtZTMKLSAgICB7eyBIYXMgYmVlbiBncmFudGVkIHN0b3JhZ2Ug
YWNjZXNzIHVuZGVyIHRvcGZyYW1lMTogMDsgSGFzIGJlZW4gc2VlbiB1bmRlciB0b3BmcmFtZTEg
aW4gdGhlIGxhc3QgMjQgaG91cnM6IDAgfSx7IEhhcyBiZWVuIGdyYW50ZWQgc3RvcmFnZSBhY2Nl
c3MgdW5kZXIgdG9wZnJhbWU0OiAwOyBIYXMgYmVlbiBzZWVuIHVuZGVyIHRvcGZyYW1lNCBpbiB0
aGUgbGFzdCAyNCBob3VyczogMCB9LHsgSGFzIGJlZW4gZ3JhbnRlZCBzdG9yYWdlIGFjY2VzcyB1
bmRlciB0b3BmcmFtZTM6IDA7IEhhcyBiZWVuIHNlZW4gdW5kZXIgdG9wZnJhbWUzIGluIHRoZSBs
YXN0IDI0IGhvdXJzOiAwIH0seyBIYXMgYmVlbiBncmFudGVkIHN0b3JhZ2UgYWNjZXNzIHVuZGVy
IHRvcGZyYW1lMjogMDsgSGFzIGJlZW4gc2VlbiB1bmRlciB0b3BmcmFtZTIgaW4gdGhlIGxhc3Qg
MjQgaG91cnM6IDAgfSx9CisgICAge3sgSGFzIGJlZW4gZ3JhbnRlZCBzdG9yYWdlIGFjY2VzcyB1
bmRlciB0b3BmcmFtZTE6IDA7IEhhcyBiZWVuIHNlZW4gdW5kZXIgdG9wZnJhbWUxIGluIHRoZSBs
YXN0IDI0IGhvdXJzOiAxIH0seyBIYXMgYmVlbiBncmFudGVkIHN0b3JhZ2UgYWNjZXNzIHVuZGVy
IHRvcGZyYW1lNDogMDsgSGFzIGJlZW4gc2VlbiB1bmRlciB0b3BmcmFtZTQgaW4gdGhlIGxhc3Qg
MjQgaG91cnM6IDEgfSx7IEhhcyBiZWVuIGdyYW50ZWQgc3RvcmFnZSBhY2Nlc3MgdW5kZXIgdG9w
ZnJhbWUzOiAwOyBIYXMgYmVlbiBzZWVuIHVuZGVyIHRvcGZyYW1lMyBpbiB0aGUgbGFzdCAyNCBo
b3VyczogMSB9LHsgSGFzIGJlZW4gZ3JhbnRlZCBzdG9yYWdlIGFjY2VzcyB1bmRlciB0b3BmcmFt
ZTI6IDA7IEhhcyBiZWVuIHNlZW4gdW5kZXIgdG9wZnJhbWUyIGluIHRoZSBsYXN0IDI0IGhvdXJz
OiAxIH0sfQogVGhpcmQgUGFydHkgUmVnaXN0cmFibGUgRG9tYWluOiBzdWJmcmFtZTEKLSAgICB7
eyBIYXMgYmVlbiBncmFudGVkIHN0b3JhZ2UgYWNjZXNzIHVuZGVyIHRvcGZyYW1lMTogMDsgSGFz
IGJlZW4gc2VlbiB1bmRlciB0b3BmcmFtZTEgaW4gdGhlIGxhc3QgMjQgaG91cnM6IDAgfSx7IEhh
cyBiZWVuIGdyYW50ZWQgc3RvcmFnZSBhY2Nlc3MgdW5kZXIgdG9wZnJhbWUyOiAwOyBIYXMgYmVl
biBzZWVuIHVuZGVyIHRvcGZyYW1lMiBpbiB0aGUgbGFzdCAyNCBob3VyczogMCB9LH0KKyAgICB7
eyBIYXMgYmVlbiBncmFudGVkIHN0b3JhZ2UgYWNjZXNzIHVuZGVyIHRvcGZyYW1lMTogMDsgSGFz
IGJlZW4gc2VlbiB1bmRlciB0b3BmcmFtZTEgaW4gdGhlIGxhc3QgMjQgaG91cnM6IDEgfSx7IEhh
cyBiZWVuIGdyYW50ZWQgc3RvcmFnZSBhY2Nlc3MgdW5kZXIgdG9wZnJhbWUyOiAwOyBIYXMgYmVl
biBzZWVuIHVuZGVyIHRvcGZyYW1lMiBpbiB0aGUgbGFzdCAyNCBob3VyczogMSB9LH0KIFRoaXJk
IFBhcnR5IFJlZ2lzdHJhYmxlIERvbWFpbjogc3ViZnJhbWUyCi0gICAge3sgSGFzIGJlZW4gZ3Jh
bnRlZCBzdG9yYWdlIGFjY2VzcyB1bmRlciB0b3BmcmFtZTE6IDA7IEhhcyBiZWVuIHNlZW4gdW5k
ZXIgdG9wZnJhbWUxIGluIHRoZSBsYXN0IDI0IGhvdXJzOiAwIH0sfQorICAgIHt7IEhhcyBiZWVu
IGdyYW50ZWQgc3RvcmFnZSBhY2Nlc3MgdW5kZXIgdG9wZnJhbWUxOiAwOyBIYXMgYmVlbiBzZWVu
IHVuZGVyIHRvcGZyYW1lMSBpbiB0aGUgbGFzdCAyNCBob3VyczogMSB9LH0KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9ibG9ja2luZy1p
bi13ZWItd29ya2VyLXNjcmlwdC1pbXBvcnQtZGF0YWJhc2UtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2Jsb2NraW5nLWluLXdlYi13
b3JrZXItc2NyaXB0LWltcG9ydC1kYXRhYmFzZS1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDljYjc5OTQzZWQ4YjQ5YTg0MWJkMTI5YjNmNWFjYTZlMmEzYjIxYmMu
LjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2Jsb2NraW5nLWluLXdlYi13b3Jr
ZXItc2NyaXB0LWltcG9ydC1kYXRhYmFzZS1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAt
MSwxOCArMCwwIEBACi1UZXN0IGZvciBjb29raWUgYmxvY2tpbmcgd2hlbiB3ZWIgd29ya2VycyBp
bXBvcnQgY3Jvc3Mtc2l0ZSBzY3JpcHRzLgotCi1PbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBz
ZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCi0K
LQotUEFTUyBEaWQgcmVjZWl2ZSBmaXJzdFBhcnR5Q29va2llID09IHZhbHVlCi1QQVNTIERpZCBu
b3QgcmVjZWl2ZSBjb29raWUgbmFtZWQgZmlyc3RQYXJ0eUNvb2tpZQotUEFTUyBzdWNjZXNzZnVs
bHlQYXJzZWQgaXMgdHJ1ZQotCi1URVNUIENPTVBMRVRFCi0KLQotLS0tLS0tLS0KLUZyYW1lOiAn
PCEtLWZyYW1lMS0tPicKLS0tLS0tLS0tCi1TaG91bGQgcmVjZWl2ZSBmaXJzdC1wYXJ0eSBjb29r
aWUuCi1SZWNlaXZlZCBjb29raWUgbmFtZWQgJ2ZpcnN0UGFydHlDb29raWUnLgotQ2xpZW50LXNp
ZGUgZG9jdW1lbnQuY29va2llOiBmaXJzdFBhcnR5Q29va2llPXZhbHVlCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvYmxvY2tpbmctaW4t
d2ViLXdvcmtlci1zY3JpcHQtaW1wb3J0LWRhdGFiYXNlLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvYmxvY2tpbmctaW4td2ViLXdvcmtlci1zY3Jp
cHQtaW1wb3J0LWRhdGFiYXNlLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGRk
MDE0ZDhkMGZiMDc5ZjM4MDE5MmVmOTE4ODM3Y2UwYzlkZDYxZDMuLjAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNv
dXJjZUxvYWRTdGF0aXN0aWNzL2Jsb2NraW5nLWluLXdlYi13b3JrZXItc2NyaXB0LWltcG9ydC1k
YXRhYmFzZS5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsODggKzAsMCBAQAotPCFET0NUWVBFIGh0
bWw+Ci08aHRtbCBsYW5nPSJlbiI+Ci08aGVhZD4KLSAgICA8c2NyaXB0IHNyYz0iL2pzLXRlc3Qt
cmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgotICAgIDxzY3JpcHQgc3JjPSJyZXNvdXJj
ZXMvdXRpbC5qcyI+PC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keT4KLTxzY3JpcHQ+Ci0gICAgZGVz
Y3JpcHRpb24oIlRlc3QgZm9yIGNvb2tpZSBibG9ja2luZyB3aGVuIHdlYiB3b3JrZXJzIGltcG9y
dCBjcm9zcy1zaXRlIHNjcmlwdHMuIik7Ci0gICAganNUZXN0SXNBc3luYyA9IHRydWU7Ci0KLSAg
ICBjb25zdCBwYXJ0aXRpb25Ib3N0ID0gIjEyNy4wLjAuMTo4MDAwIjsKLSAgICBjb25zdCB0aGly
ZFBhcnR5T3JpZ2luID0gImh0dHA6Ly9sb2NhbGhvc3Q6ODAwMCI7Ci0gICAgY29uc3QgdGhpcmRQ
YXJ0eUJhc2VVcmwgPSB0aGlyZFBhcnR5T3JpZ2luICsgIi9yZXNvdXJjZUxvYWRTdGF0aXN0aWNz
L3Jlc291cmNlcyI7Ci0gICAgY29uc3QgZmlyc3RQYXJ0eUNvb2tpZU5hbWUgPSAiZmlyc3RQYXJ0
eUNvb2tpZSI7Ci0gICAgY29uc3Qgc3ViUGF0aFRvU2V0Rmlyc3RQYXJ0eUNvb2tpZSA9ICIvc2V0
LWNvb2tpZS5waHA/bmFtZT0iICsgZmlyc3RQYXJ0eUNvb2tpZU5hbWUgKyAiJnZhbHVlPXZhbHVl
IjsKLSAgICBjb25zdCByZXR1cm5VcmwgPSAiaHR0cDovLzEyNy4wLjAuMTo4MDAwL3Jlc291cmNl
TG9hZFN0YXRpc3RpY3MvYmxvY2tpbmctaW4td2ViLXdvcmtlci1zY3JpcHQtaW1wb3J0LWRhdGFi
YXNlLmh0bWwiOwotICAgIGNvbnN0IHN1YlBhdGhUb0dldENvb2tpZXMgPSAiL2dldC1jb29raWVz
LnBocD9uYW1lMT0iICsgZmlyc3RQYXJ0eUNvb2tpZU5hbWU7Ci0KLSAgICBmdW5jdGlvbiBvcGVu
SWZyYW1lKHVybCwgb25Mb2FkSGFuZGxlcikgewotICAgICAgICBjb25zdCBlbGVtZW50ID0gZG9j
dW1lbnQuY3JlYXRlRWxlbWVudCgiaWZyYW1lIik7Ci0gICAgICAgIGVsZW1lbnQuc3JjID0gdXJs
OwotICAgICAgICBpZiAob25Mb2FkSGFuZGxlcikgewotICAgICAgICAgICAgZWxlbWVudC5vbmxv
YWQgPSBvbkxvYWRIYW5kbGVyOwotICAgICAgICB9Ci0gICAgICAgIGRvY3VtZW50LmJvZHkuYXBw
ZW5kQ2hpbGQoZWxlbWVudCk7Ci0gICAgfQotCi0gICAgbGV0IHJlY2VpdmVkTWVzc2FnZXMgPSAw
OwotICAgIGZ1bmN0aW9uIHJlY2VpdmVNZXNzYWdlKGV2ZW50KSB7Ci0gICAgICAgIGlmIChldmVu
dC5kYXRhLmluZGV4T2YoIlBBU1MiKSA9PT0gLTEpCi0gICAgICAgICAgICB0ZXN0RmFpbGVkKGV2
ZW50LmRhdGEucmVwbGFjZSgiRkFJTCAiLCAiIikpOwotICAgICAgICBlbHNlCi0gICAgICAgICAg
ICB0ZXN0UGFzc2VkKGV2ZW50LmRhdGEucmVwbGFjZSgiUEFTUyAiLCAiIikpOwotCi0gICAgICAg
ICsrcmVjZWl2ZWRNZXNzYWdlczsKLSAgICAgICAgaWYgKHJlY2VpdmVkTWVzc2FnZXMgPj0gMikg
ewotICAgICAgICAgICAgc2V0RW5hYmxlRmVhdHVyZShmYWxzZSwgZmluaXNoSlNUZXN0KTsKLSAg
ICAgICAgfSBlbHNlCi0gICAgICAgICAgICBydW5UZXN0KCk7Ci0gICAgfQotCi0gICAgZnVuY3Rp
b24gcnVuVGVzdCgpIHsKLSAgICAgICAgc3dpdGNoIChkb2N1bWVudC5sb2NhdGlvbi5oYXNoKSB7
Ci0gICAgICAgICAgICBjYXNlICIjc3RlcDEiOgotICAgICAgICAgICAgICAgIGRvY3VtZW50Lmxv
Y2F0aW9uLmhyZWYgPSB0aGlyZFBhcnR5QmFzZVVybCArIHN1YlBhdGhUb1NldEZpcnN0UGFydHlD
b29raWUgKyAiIyIgKyByZXR1cm5VcmwgKyAiI3N0ZXAyIjsKLSAgICAgICAgICAgICAgICBicmVh
azsKLSAgICAgICAgICAgIGNhc2UgIiNzdGVwMiI6Ci0gICAgICAgICAgICAgICAgZG9jdW1lbnQu
bG9jYXRpb24uaGFzaCA9ICJzdGVwMyI7Ci0gICAgICAgICAgICAgICAgb3BlbklmcmFtZSh0aGly
ZFBhcnR5QmFzZVVybCArIHN1YlBhdGhUb0dldENvb2tpZXMgKyAiJm1lc3NhZ2U9U2hvdWxkIHJl
Y2VpdmUgZmlyc3QtcGFydHkgY29va2llLiIsIHJ1blRlc3QpOwotICAgICAgICAgICAgICAgIGJy
ZWFrOwotICAgICAgICAgICAgY2FzZSAiI3N0ZXAzIjoKLSAgICAgICAgICAgICAgICBkb2N1bWVu
dC5sb2NhdGlvbi5oYXNoID0gInN0ZXA0IjsKLSAgICAgICAgICAgICAgICBsZXQgdzEgPSBuZXcg
V29ya2VyKCJyZXNvdXJjZXMvd29ya2VyLWltcG9ydGluZy1sb2NhbGhvc3Qtc2NyaXB0LmpzIik7
Ci0gICAgICAgICAgICAgICAgdzEub25tZXNzYWdlID0gcmVjZWl2ZU1lc3NhZ2U7Ci0gICAgICAg
ICAgICAgICAgdzEucG9zdE1lc3NhZ2UoInNob3VsZFJlY2VpdmVDb29raWVzPXRydWUiKTsKLSAg
ICAgICAgICAgICAgICBicmVhazsKLSAgICAgICAgICAgIGNhc2UgIiNzdGVwNCI6Ci0gICAgICAg
ICAgICAgICAgZG9jdW1lbnQubG9jYXRpb24uaGFzaCA9ICJzdGVwNSI7Ci0gICAgICAgICAgICAg
ICAgdGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNzUHJldmFsZW50UmVzb3VyY2UodGhpcmRQYXJ0eU9y
aWdpbiwgdHJ1ZSwgZnVuY3Rpb24oKSB7Ci0gICAgICAgICAgICAgICAgICAgIGlmICghdGVzdFJ1
bm5lci5pc1N0YXRpc3RpY3NQcmV2YWxlbnRSZXNvdXJjZSh0aGlyZFBhcnR5T3JpZ2luKSkKLSAg
ICAgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoIkhvc3QgZGlkIG5vdCBnZXQgc2V0IGFz
IHByZXZhbGVudCByZXNvdXJjZS4iKTsKLSAgICAgICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5z
dGF0aXN0aWNzVXBkYXRlQ29va2llQmxvY2tpbmcocnVuVGVzdCk7Ci0gICAgICAgICAgICAgICAg
fSk7Ci0gICAgICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgICAgICBjYXNlICIjc3RlcDUiOgot
ICAgICAgICAgICAgICAgIGxldCB3MiA9IG5ldyBXb3JrZXIoInJlc291cmNlcy93b3JrZXItaW1w
b3J0aW5nLWxvY2FsaG9zdC1zY3JpcHQuanMiKTsKLSAgICAgICAgICAgICAgICB3Mi5vbm1lc3Nh
Z2UgPSByZWNlaXZlTWVzc2FnZTsKLSAgICAgICAgICAgICAgICB3Mi5wb3N0TWVzc2FnZSgic2hv
dWxkTm90UmVjZWl2ZUNvb2tpZXMiKTsKLSAgICAgICAgICAgICAgICBicmVhazsKLSAgICAgICAg
fQotICAgIH0KLQotICAgIGlmIChkb2N1bWVudC5sb2NhdGlvbi5ob3N0ID09PSBwYXJ0aXRpb25I
b3N0ICYmIGRvY3VtZW50LmxvY2F0aW9uLmhhc2ggPT09ICIiICYmIHdpbmRvdy50ZXN0UnVubmVy
ICYmIHdpbmRvdy5pbnRlcm5hbHMpIHsKLSAgICAgICAgdGVzdFJ1bm5lci5zZXRVc2VJVFBEYXRh
YmFzZSh0cnVlKTsKLSAgICAgICAgc2V0RW5hYmxlRmVhdHVyZSh0cnVlLCBmdW5jdGlvbigpIHsK
LSAgICAgICAgICAgIGRvY3VtZW50LmxvY2F0aW9uLmhhc2ggPSAic3RlcDEiOwotICAgICAgICAg
ICAgdGVzdFJ1bm5lci5kdW1wQ2hpbGRGcmFtZXNBc1RleHQoKTsKLSAgICAgICAgICAgIGlmICh0
ZXN0UnVubmVyLmlzU3RhdGlzdGljc1ByZXZhbGVudFJlc291cmNlKHRoaXJkUGFydHlPcmlnaW4p
KQotICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoIkxvY2FsaG9zdCB3YXMgY2xhc3NpZmllZCBh
cyBwcmV2YWxlbnQgcmVzb3VyY2UgYmVmb3JlIHRoZSB0ZXN0IHN0YXJ0cy4iKTsKLSAgICAgICAg
ICAgIHJ1blRlc3QoKTsKLSAgICAgICAgfSk7Ci0gICAgfSBlbHNlIHsKLSAgICAgICAgcnVuVGVz
dCgpOwotICAgIH0KLTwvc2NyaXB0PgotPC9ib2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NhcC1jYWNoZS1tYXgt
YWdlLWZvci1wcmV2YWxlbnQtcmVzb3VyY2UtZGF0YWJhc2UtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NhcC1jYWNoZS1tYXgtYWdl
LWZvci1wcmV2YWxlbnQtcmVzb3VyY2UtZGF0YWJhc2UtZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwY2NlNWFhMWMzNmE5NGQ1NTBiZGUyMjlhZGU0NDZmZjgzNTVj
MWNiLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91
dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jYXAtY2FjaGUtbWF4LWFn
ZS1mb3ItcHJldmFsZW50LXJlc291cmNlLWRhdGFiYXNlLWV4cGVjdGVkLnR4dAorKysgL2Rldi9u
dWxsCkBAIC0xLDE0ICswLDAgQEAKLVRlc3RzIHRoYXQgY2FjaGUgbWF4LWFnZSBpcyBjYXBwZWQg
Zm9yIHByZXZhbGVudCByZXNvdXJjZXMuCi0KLU9uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNl
cmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KLQot
Ci1QQVNTIGxvYWRlZFVybCBpcyAiaHR0cDovL2xvY2FsaG9zdDo4MDAwL3Jlc291cmNlTG9hZFN0
YXRpc3RpY3MvcmVzb3VyY2VzL2VjaG8tcXVlcnkucGhwP3ZhbHVlPTEyMzQiCi1QQVNTIGxvYWRl
ZFVybCBpcyAiaHR0cDovL2xvY2FsaG9zdDo4MDAwL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvcmVz
b3VyY2VzL2VjaG8tcXVlcnkucGhwP3ZhbHVlPTQzMjEiCi1QQVNTIGxvYWRlZFVybCBpcyAiaHR0
cDovL2xvY2FsaG9zdDo4MDAwL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvcmVzb3VyY2VzL2VjaG8t
cXVlcnkucGhwP3ZhbHVlPSIKLVBBU1MgbG9hZGVkVXJsIGlzICJodHRwOi8vbG9jYWxob3N0Ojgw
MDAvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9yZXNvdXJjZXMvZWNoby1xdWVyeS5waHA/dmFsdWU9
IgotUEFTUyBsb2FkZWRVcmwgaXMgImh0dHA6Ly9sb2NhbGhvc3Q6ODAwMC9yZXNvdXJjZUxvYWRT
dGF0aXN0aWNzL3Jlc291cmNlcy9lY2hvLXF1ZXJ5LnBocD92YWx1ZT0iCi1QQVNTIHN1Y2Nlc3Nm
dWxseVBhcnNlZCBpcyB0cnVlCi0KLVRFU1QgQ09NUExFVEUKLQpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NhcC1jYWNoZS1tYXgtYWdl
LWZvci1wcmV2YWxlbnQtcmVzb3VyY2UtZGF0YWJhc2UuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAv
dGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jYXAtY2FjaGUtbWF4LWFnZS1mb3ItcHJldmFs
ZW50LXJlc291cmNlLWRhdGFiYXNlLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDI2NGE0NTE4YTgzMzk0NjA5MDczMzM3M2YxZjYwMjE2M2FhYjkzMmEuLjAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9y
ZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NhcC1jYWNoZS1tYXgtYWdlLWZvci1wcmV2YWxlbnQtcmVz
b3VyY2UtZGF0YWJhc2UuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDExMyArMCwwIEBACi08IURP
Q1RZUEUgaHRtbD4KLTxodG1sPgotPGhlYWQ+Ci0gICAgPHNjcmlwdCBzcmM9Ii9qcy10ZXN0LXJl
c291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KLSAgICA8c2NyaXB0IHNyYz0icmVzb3VyY2Vz
L3V0aWwuanMiPjwvc2NyaXB0PgotICAgIDx0aXRsZT5UZXN0cyBmb3IgQ2FwcGVkIENhY2hlIE1h
eC1BZ2U8L3RpdGxlPgotPC9oZWFkPgotPGJvZHk+Ci08c2NyaXB0PgotICAgIGRlc2NyaXB0aW9u
KCJUZXN0cyB0aGF0IGNhY2hlIG1heC1hZ2UgaXMgY2FwcGVkIGZvciBwcmV2YWxlbnQgcmVzb3Vy
Y2VzLiIpOwotICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOwotCi0gICAgdmFyIGxvYWRlZFVybDsK
LSAgICBmdW5jdGlvbiBmaXJzdEZldGNoKCkgewotICAgICAgICAvLyBUaGlzIHNob3VsZCBjcmVh
dGUgYSBjYXBwZWQgY2FjaGUgZW50cnkuCi0gICAgICAgIGZldGNoKCJodHRwOi8vbG9jYWxob3N0
OjgwMDAvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9yZXNvdXJjZXMvY2FjaGVkLXBlcm1hbmVudC1y
ZWRpcmVjdC5waHAiLAotICAgICAgICAgICAgewotICAgICAgICAgICAgICAgIGNhY2hlOiAicmVs
b2FkIiwKLSAgICAgICAgICAgICAgICBoZWFkZXJzOiB7Ci0gICAgICAgICAgICAgICAgICAgICJY
LVdlYktpdCI6ICIxMjM0IiwKLSAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICB9Ci0gICAg
ICAgICkudGhlbihmdW5jdGlvbihyZXNwb25zZSkgewotICAgICAgICAgICAgbG9hZGVkVXJsID0g
cmVzcG9uc2UudXJsOwotICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJsb2FkZWRV
cmwiLCAiaHR0cDovL2xvY2FsaG9zdDo4MDAwL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvcmVzb3Vy
Y2VzL2VjaG8tcXVlcnkucGhwP3ZhbHVlPTEyMzQiKTsKLSAgICAgICAgICAgIHNlY29uZEZldGNo
KCk7Ci0gICAgICAgIH0pLmNhdGNoKGZ1bmN0aW9uKGVycm9yKSB7Ci0gICAgICAgICAgICB0ZXN0
RmFpbGVkKGVycm9yLm1lc3NhZ2UpOwotICAgICAgICAgICAgc2V0RW5hYmxlRmVhdHVyZShmYWxz
ZSwgZmluaXNoSlNUZXN0KTsKLSAgICAgICAgfSk7Ci0gICAgfQotCi0gICAgZnVuY3Rpb24gc2Vj
b25kRmV0Y2goKSB7Ci0gICAgICAgIC8vIFRoaXMgc2hvdWxkIG5vdCB0cmlnZ2VyIGEgc3VjY2Vz
c2Z1bCBjYWNoZSBoaXQgYW5kIGluc3RlYWQgY3JlYXRlIGFub3RoZXIgY2FwcGVkIGNhY2hlIGVu
dHJ5LgotICAgICAgICBmZXRjaCgiaHR0cDovL2xvY2FsaG9zdDo4MDAwL3Jlc291cmNlTG9hZFN0
YXRpc3RpY3MvcmVzb3VyY2VzL2NhY2hlZC1wZXJtYW5lbnQtcmVkaXJlY3QucGhwIiwKLSAgICAg
ICAgICAgIHsKLSAgICAgICAgICAgICAgICBjYWNoZTogImZvcmNlLWNhY2hlIiwKLSAgICAgICAg
ICAgICAgICBoZWFkZXJzOiB7Ci0gICAgICAgICAgICAgICAgICAgICJYLVdlYktpdCI6ICI0MzIx
IiwKLSAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICB9Ci0gICAgICAgICkudGhlbihmdW5j
dGlvbihyZXNwb25zZSkgewotICAgICAgICAgICAgbG9hZGVkVXJsID0gcmVzcG9uc2UudXJsOwot
ICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJsb2FkZWRVcmwiLCAiaHR0cDovL2xv
Y2FsaG9zdDo4MDAwL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvcmVzb3VyY2VzL2VjaG8tcXVlcnku
cGhwP3ZhbHVlPTQzMjEiKTsKLSAgICAgICAgICAgIHRoaXJkRmV0Y2goKTsKLSAgICAgICAgfSku
Y2F0Y2goZnVuY3Rpb24oZXJyb3IpIHsKLSAgICAgICAgICAgIHRlc3RGYWlsZWQoZXJyb3IubWVz
c2FnZSk7Ci0gICAgICAgICAgICBzZXRFbmFibGVGZWF0dXJlKGZhbHNlLCBmaW5pc2hKU1Rlc3Qp
OwotICAgICAgICB9KTsKLSAgICB9Ci0KLSAgICBmdW5jdGlvbiB0aGlyZEZldGNoKCkgewotICAg
ICAgICAvLyBUaGlzIHNob3VsZCBub3QgdHJpZ2dlciBhIHN1Y2Nlc3NmdWwgY2FjaGUgaGl0IGFu
ZCBpbnN0ZWFkIGNyZWF0ZSBhbm90aGVyIGNhcHBlZCBjYWNoZSBlbnRyeS4KLSAgICAgICAgZmV0
Y2goImh0dHA6Ly9sb2NhbGhvc3Q6ODAwMC9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3Jlc291cmNl
cy9jYWNoZWQtcGVybWFuZW50LXJlZGlyZWN0LnBocCIsCi0gICAgICAgICAgICB7Ci0gICAgICAg
ICAgICAgICAgY2FjaGU6ICJmb3JjZS1jYWNoZSIsCi0gICAgICAgICAgICB9Ci0gICAgICAgICku
dGhlbihmdW5jdGlvbihyZXNwb25zZSkgewotICAgICAgICAgICAgbG9hZGVkVXJsID0gcmVzcG9u
c2UudXJsOwotICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJsb2FkZWRVcmwiLCAi
aHR0cDovL2xvY2FsaG9zdDo4MDAwL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvcmVzb3VyY2VzL2Vj
aG8tcXVlcnkucGhwP3ZhbHVlPSIpOwotICAgICAgICAgICAgZm91cnRoRmV0Y2goKTsKLSAgICAg
ICAgfSkuY2F0Y2goZnVuY3Rpb24oZXJyb3IpIHsKLSAgICAgICAgICAgIHRlc3RGYWlsZWQoZXJy
b3IubWVzc2FnZSk7Ci0gICAgICAgICAgICBzZXRFbmFibGVGZWF0dXJlKGZhbHNlLCBmaW5pc2hK
U1Rlc3QpOwotICAgICAgICB9KTsKLSAgICB9Ci0KLSAgICBmdW5jdGlvbiBmb3VydGhGZXRjaCgp
IHsKLSAgICAgICAgLy8gVGhpcyBzaG91bGQgbm90IHRyaWdnZXIgYSBzdWNjZXNzZnVsIGNhY2hl
IGhpdCBidXQgY2xlYXIgY2FwcGluZy4KLSAgICAgICAgZmV0Y2goImh0dHA6Ly9sb2NhbGhvc3Q6
ODAwMC9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3Jlc291cmNlcy9jYWNoZWQtcGVybWFuZW50LXJl
ZGlyZWN0LnBocCIsCi0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgY2FjaGU6ICJmb3Jj
ZS1jYWNoZSIsCi0gICAgICAgICAgICB9Ci0gICAgICAgICkudGhlbihmdW5jdGlvbihyZXNwb25z
ZSkgewotICAgICAgICAgICAgbG9hZGVkVXJsID0gcmVzcG9uc2UudXJsOwotICAgICAgICAgICAg
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJsb2FkZWRVcmwiLCAiaHR0cDovL2xvY2FsaG9zdDo4MDAw
L3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvcmVzb3VyY2VzL2VjaG8tcXVlcnkucGhwP3ZhbHVlPSIp
OwotICAgICAgICAgICAgZmlmdGhGZXRjaCgpOwotICAgICAgICB9KS5jYXRjaChmdW5jdGlvbihl
cnJvcikgewotICAgICAgICAgICAgdGVzdEZhaWxlZChlcnJvci5tZXNzYWdlKTsKLSAgICAgICAg
ICAgIHNldEVuYWJsZUZlYXR1cmUoZmFsc2UsIGZpbmlzaEpTVGVzdCk7Ci0gICAgICAgIH0pOwot
ICAgIH0KLQotICAgIGZ1bmN0aW9uIGZpZnRoRmV0Y2goKSB7Ci0gICAgICAgIC8vIFRoaXMgc2hv
dWxkIHRyaWdnZXIgYSByZWd1bGFyLCBzdWNjZXNzZnVsIGNhY2hlIGhpdC4KLSAgICAgICAgZmV0
Y2goImh0dHA6Ly9sb2NhbGhvc3Q6ODAwMC9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3Jlc291cmNl
cy9jYWNoZWQtcGVybWFuZW50LXJlZGlyZWN0LnBocCIsCi0gICAgICAgICAgICB7Ci0gICAgICAg
ICAgICAgICAgaGVhZGVyczogewotICAgICAgICAgICAgICAgICAgICAiWC1XZWJLaXQiOiAiMTIz
NCIsCi0gICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgfQotICAgICAgICApLnRoZW4oZnVu
Y3Rpb24ocmVzcG9uc2UpIHsKLSAgICAgICAgICAgIGxvYWRlZFVybCA9IHJlc3BvbnNlLnVybDsK
LSAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygibG9hZGVkVXJsIiwgImh0dHA6Ly9s
b2NhbGhvc3Q6ODAwMC9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3Jlc291cmNlcy9lY2hvLXF1ZXJ5
LnBocD92YWx1ZT0iKTsKLSAgICAgICAgICAgIHNldEVuYWJsZUZlYXR1cmUoZmFsc2UsIGZpbmlz
aEpTVGVzdCk7Ci0gICAgICAgIH0pLmNhdGNoKGZ1bmN0aW9uKGVycm9yKSB7Ci0gICAgICAgICAg
ICB0ZXN0RmFpbGVkKGVycm9yLm1lc3NhZ2UpOwotICAgICAgICAgICAgc2V0RW5hYmxlRmVhdHVy
ZShmYWxzZSwgZmluaXNoSlNUZXN0KTsKLSAgICAgICAgfSk7Ci0gICAgfQotICAgIHRlc3RSdW5u
ZXIuc2V0VXNlSVRQRGF0YWJhc2UodHJ1ZSk7Ci0gICAgc2V0RW5hYmxlRmVhdHVyZSh0cnVlLCBm
dW5jdGlvbigpIHsKLSAgICAgICAgaWYgKHRlc3RSdW5uZXIuaXNTdGF0aXN0aWNzUHJldmFsZW50
UmVzb3VyY2UoImh0dHA6Ly9sb2NhbGhvc3QiKSkKLSAgICAgICAgICAgIHRlc3RGYWlsZWQoIkxv
Y2FsaG9zdCB3YXMgY2xhc3NpZmllZCBhcyBwcmV2YWxlbnQgcmVzb3VyY2UgYmVmb3JlIHRoZSB0
ZXN0IHN0YXJ0ZWQuIik7Ci0KLSAgICAgICAgdGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNzQ2FjaGVN
YXhBZ2VDYXAoMCk7Ci0gICAgICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc1ByZXZhbGVudFJl
c291cmNlKCJodHRwOi8vbG9jYWxob3N0IiwgdHJ1ZSwgZnVuY3Rpb24oKSB7Ci0gICAgICAgICAg
ICB0ZXN0UnVubmVyLnN0YXRpc3RpY3NVcGRhdGVDb29raWVCbG9ja2luZyhmaXJzdEZldGNoKTsK
LSAgICAgICAgfSk7Ci0gICAgfSk7Ci08L3NjcmlwdD4KLTwvYm9keT4KLTwvaHRtbD4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jYXBw
ZWQtbGlmZXRpbWUtZm9yLWNvb2tpZS1zZXQtaW4tanMtZGF0YWJhc2UtZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NhcHBlZC1saWZl
dGltZS1mb3ItY29va2llLXNldC1pbi1qcy1kYXRhYmFzZS1leHBlY3RlZC50eHQKZGVsZXRlZCBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDQ4NDYyMGQ2ZDMzMTIxMTY0NTFhOGE1OWM4NGJlNjE3NjRj
NDZlMzEuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NhcHBlZC1saWZldGlt
ZS1mb3ItY29va2llLXNldC1pbi1qcy1kYXRhYmFzZS1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVs
bApAQCAtMSwxMSArMCwwIEBACi1DaGVjayB0aGF0IGNvb2tpZXMgY3JlYXRlZCBieSBKYXZhU2Ny
aXB0IHdpdGggbWF4LWFnZSBvciBleHBpcnkgbG9uZ2VyIHRoYW4gYSB3ZWVrIGdldCBjYXBwZWQg
dG8gYSB3ZWVrLgotCi1PbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1Mi
IG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCi0KLQotUEFTUyBUaGUgdHdv
IHNob3J0LWxpdmVkIGNvb2tpZXMgZG9uJ3QgZXhwaXJlIGFmdGVyIG1vcmUgdGhhbiAxNzI4MzAg
c2Vjb25kcy4KLVBBU1MgVGhlIHR3byBsb25nLWxpdmVkIGNvb2tpZXMgZG9uJ3QgZXhwaXJlIGFm
dGVyIG1vcmUgdGhhbiA2MDQ4MzAgc2Vjb25kcy4KLVBBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlz
IHRydWUKLQotVEVTVCBDT01QTEVURQotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rl
c3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY2FwcGVkLWxpZmV0aW1lLWZvci1jb29raWUtc2V0
LWluLWpzLWRhdGFiYXNlLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9h
ZFN0YXRpc3RpY3MvY2FwcGVkLWxpZmV0aW1lLWZvci1jb29raWUtc2V0LWluLWpzLWRhdGFiYXNl
Lmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGUyZmZkMDQxYWUzMmRlMjg2MDNi
ODE5MTAzMGNlOGEzMDVkMjYyNmIuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNz
L2NhcHBlZC1saWZldGltZS1mb3ItY29va2llLXNldC1pbi1qcy1kYXRhYmFzZS5odG1sCisrKyAv
ZGV2L251bGwKQEAgLTEsODMgKzAsMCBAQAotPCFET0NUWVBFIGh0bWw+Ci08aHRtbD4KLTxoZWFk
PgotICAgIDxzY3JpcHQgc3JjPSIvanMtdGVzdC1yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3Jp
cHQ+Ci0gICAgPHNjcmlwdCBzcmM9Ii9jb29raWVzL3Jlc291cmNlcy9jb29raWUtdXRpbGl0aWVz
LmpzIj48L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5PgotPHNjcmlwdD4KLSAgICBkZXNjcmlwdGlv
bigiQ2hlY2sgdGhhdCBjb29raWVzIGNyZWF0ZWQgYnkgSmF2YVNjcmlwdCB3aXRoIG1heC1hZ2Ug
b3IgZXhwaXJ5IGxvbmdlciB0aGFuIGEgd2VlayBnZXQgY2FwcGVkIHRvIGEgd2Vlay4iKTsKLSAg
ICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKLSAgICB0ZXN0UnVubmVyLnNldFVzZUlUUERhdGFiYXNl
KHRydWUpOwotCi0gICAgaWYgKGludGVybmFscykKLSAgICAgICAgaW50ZXJuYWxzLnNldFJlc291
cmNlTG9hZFN0YXRpc3RpY3NFbmFibGVkKHRydWUpOwotCi0gICAgbGV0IHBhc3NlZFRlc3RzID0g
MDsKLSAgICBmdW5jdGlvbiBjaGVja1RoYXRDb29raWVEb2VzTm90RXhwaXJlQWZ0ZXIoY29va2ll
RGF0YSwgbWF4QWdlSW5TZWNvbmRzKSB7Ci0gICAgICAgIGxldCBub3cgPSBuZXcgRGF0ZSgpOwot
ICAgICAgICBsZXQgbWF4RXhwaXJ5RGF0ZUluTWlsbGlzZWNvbmRzID0gbm93LmdldFRpbWUoKSAr
IChtYXhBZ2VJblNlY29uZHMgKiAxMDAwKTsKLQotICAgICAgICBpZiAobWF4RXhwaXJ5RGF0ZUlu
TWlsbGlzZWNvbmRzID4gY29va2llRGF0YVsiZXhwaXJlcyJdKQotICAgICAgICAgICAgKytwYXNz
ZWRUZXN0czsKLSAgICAgICAgZWxzZQotICAgICAgICAgICAgdGVzdEZhaWxlZCgiQ29va2llIG5h
bWVkICIgKyBjb29raWVEYXRhWyJuYW1lIl0gKyAiIGV4cGlyZXMgaW4gbW9yZSB0aGFuICIgKyBt
YXhBZ2VJblNlY29uZHMgKyAiIHNlY29uZHMuIik7Ci0gICAgfQotCi0gICAgY29uc3QgdHdvRGF5
c0luU2Vjb25kcyA9IDIgKiAyNCAqIDYwICogNjA7Ci0gICAgY29uc3Qgc2hvcnRMaXZlZENvb2tp
ZU1heEFnZSA9IHsgbmFtZSA6ICJzaG9ydExpdmVkQ29va2llTWF4QWdlIiwgbGlmZXRpbWUgOiAi
TWF4LUFnZT0iICsgdHdvRGF5c0luU2Vjb25kcyArICI7IiB9OwotICAgIGRvY3VtZW50LmNvb2tp
ZSA9IHNob3J0TGl2ZWRDb29raWVNYXhBZ2UubmFtZSArICI9Zm9vYmFyOyAiICsgc2hvcnRMaXZl
ZENvb2tpZU1heEFnZS5saWZldGltZSArICIgcGF0aD0vIjsKLQotICAgIGNvbnN0IHR3b0RheXNB
c0V4cGlyZXNEYXRlID0gY3JlYXRlRXhwaXJlc0RhdGVGcm9tTWF4QWdlKHR3b0RheXNJblNlY29u
ZHMpOwotICAgIGNvbnN0IHNob3J0TGl2ZWRDb29raWVFeHBpcmVzID0geyBuYW1lIDogInNob3J0
TGl2ZWRDb29raWVFeHBpcmVzIiwgbGlmZXRpbWUgOiAiRXhwaXJlcz0iICsgdHdvRGF5c0FzRXhw
aXJlc0RhdGUgKyAiOyIgfTsKLSAgICBkb2N1bWVudC5jb29raWUgPSBzaG9ydExpdmVkQ29va2ll
RXhwaXJlcy5uYW1lICsgIj1mb29iYXI7ICIgKyBzaG9ydExpdmVkQ29va2llRXhwaXJlcy5saWZl
dGltZSArICIgcGF0aD0vIjsKLQotICAgIGNvbnN0IG9uZVdlZWtJblNlY29uZHMgPSA3ICogMjQg
KiA2MCAqIDYwOwotICAgIGNvbnN0IHR3b1dlZWtzSW5TZWNvbmRzID0gMiAqIG9uZVdlZWtJblNl
Y29uZHM7Ci0gICAgY29uc3QgbG9uZ0xpdmVkQ29va2llTWF4QWdlID0geyBuYW1lIDogImxvbmdM
aXZlZENvb2tpZU1heEFnZSIsIGxpZmV0aW1lIDogIk1heC1BZ2U9IiArIHR3b1dlZWtzSW5TZWNv
bmRzICsgIjsiIH07Ci0gICAgZG9jdW1lbnQuY29va2llID0gbG9uZ0xpdmVkQ29va2llTWF4QWdl
Lm5hbWUgKyAiPWZvb2JhcjsgIiArIGxvbmdMaXZlZENvb2tpZU1heEFnZS5saWZldGltZSArICIg
cGF0aD0vIjsKLQotICAgIGNvbnN0IHR3b1dlZWtzQXNFeHBpcmVzRGF0ZSA9IGNyZWF0ZUV4cGly
ZXNEYXRlRnJvbU1heEFnZSh0d29XZWVrc0luU2Vjb25kcyk7Ci0gICAgY29uc3QgbG9uZ0xpdmVk
Q29va2llRXhwaXJlcyA9IHsgbmFtZSA6ICJsb25nTGl2ZWRDb29raWVFeHBpcmVzIiwgbGlmZXRp
bWUgOiAiRXhwaXJlcz0iICsgdHdvV2Vla3NBc0V4cGlyZXNEYXRlICsgIjsiIH07Ci0gICAgZG9j
dW1lbnQuY29va2llID0gbG9uZ0xpdmVkQ29va2llRXhwaXJlcy5uYW1lICsgIj1mb29iYXI7ICIg
KyBsb25nTGl2ZWRDb29raWVFeHBpcmVzLmxpZmV0aW1lICsgIiBwYXRoPS8iOwotCi0gICAgY29u
c3Qgb3ZlclR3b0RheXNJblNlY29uZHMgPSB0d29EYXlzSW5TZWNvbmRzICsgMzA7Ci0gICAgY29u
c3Qgb3Zlck9uZVdlZWtJblNlY29uZHMgPSBvbmVXZWVrSW5TZWNvbmRzICsgMzA7Ci0gICAgaWYg
KGludGVybmFscykgewotICAgICAgICBsZXQgY29va2llcyA9IGludGVybmFscy5nZXRDb29raWVz
KCk7Ci0gICAgICAgIGlmICghY29va2llcy5sZW5ndGgpCi0gICAgICAgICAgICB0ZXN0RmFpbGVk
KCJObyBjb29raWVzIGZvdW5kLiIpOwotICAgICAgICBmb3IgKGxldCBjb29raWUgb2YgY29va2ll
cykgewotICAgICAgICAgICAgc3dpdGNoIChjb29raWUubmFtZSkgewotICAgICAgICAgICAgICAg
IGNhc2Ugc2hvcnRMaXZlZENvb2tpZU1heEFnZS5uYW1lOgotICAgICAgICAgICAgICAgICAgICBj
aGVja1RoYXRDb29raWVEb2VzTm90RXhwaXJlQWZ0ZXIoY29va2llLCBvdmVyVHdvRGF5c0luU2Vj
b25kcyk7Ci0gICAgICAgICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICAgICAgICAgIGNhc2Ug
c2hvcnRMaXZlZENvb2tpZUV4cGlyZXMubmFtZToKLSAgICAgICAgICAgICAgICAgICAgY2hlY2tU
aGF0Q29va2llRG9lc05vdEV4cGlyZUFmdGVyKGNvb2tpZSwgb3ZlclR3b0RheXNJblNlY29uZHMp
OwotICAgICAgICAgICAgICAgICAgICBicmVhazsKLSAgICAgICAgICAgICAgICBjYXNlIGxvbmdM
aXZlZENvb2tpZU1heEFnZS5uYW1lOgotICAgICAgICAgICAgICAgICAgICBjaGVja1RoYXRDb29r
aWVEb2VzTm90RXhwaXJlQWZ0ZXIoY29va2llLCBvdmVyT25lV2Vla0luU2Vjb25kcyk7Ci0gICAg
ICAgICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICAgICAgICAgIGNhc2UgbG9uZ0xpdmVkQ29v
a2llRXhwaXJlcy5uYW1lOgotICAgICAgICAgICAgICAgICAgICBjaGVja1RoYXRDb29raWVEb2Vz
Tm90RXhwaXJlQWZ0ZXIoY29va2llLCBvdmVyT25lV2Vla0luU2Vjb25kcyk7Ci0gICAgICAgICAg
ICAgICAgICAgIGJyZWFrOwotICAgICAgICAgICAgfQotICAgICAgICB9Ci0KLSAgICAgICAgcmVz
ZXRDb29raWVzRm9yQ3VycmVudE9yaWdpbigpOwotCi0gICAgICAgIGlmIChwYXNzZWRUZXN0cyA9
PT0gNCkgewotICAgICAgICAgICAgdGVzdFBhc3NlZCgiVGhlIHR3byBzaG9ydC1saXZlZCBjb29r
aWVzIGRvbid0IGV4cGlyZSBhZnRlciBtb3JlIHRoYW4gIiArIG92ZXJUd29EYXlzSW5TZWNvbmRz
ICsgIiBzZWNvbmRzLiIpOwotICAgICAgICAgICAgdGVzdFBhc3NlZCgiVGhlIHR3byBsb25nLWxp
dmVkIGNvb2tpZXMgZG9uJ3QgZXhwaXJlIGFmdGVyIG1vcmUgdGhhbiAiICsgb3Zlck9uZVdlZWtJ
blNlY29uZHMgKyAiIHNlY29uZHMuIik7Ci0gICAgICAgIH0gZWxzZQotICAgICAgICAgICAgdGVz
dEZhaWxlZCgiQXQgbGVhc3Qgb25lIGNvb2tpZSdzIGV4cGlyeSBhdHRyaWJ1dGUgd2FzIGJleW9u
ZCB0aGUgdGVzdCB0aHJlc2hvbGRzLiIpOwotICAgIH0gZWxzZQotICAgICAgICB0ZXN0RmFpbGVk
KCJObyBpbnRlcm5hbHMgb2JqZWN0LiIpOwotCi0gICAgaWYgKGludGVybmFscykKLSAgICAgICAg
aW50ZXJuYWxzLnNldFJlc291cmNlTG9hZFN0YXRpc3RpY3NFbmFibGVkKGZhbHNlKTsKLQotICAg
IGZpbmlzaEpTVGVzdCgpOwotPC9zY3JpcHQ+Ci08L2JvZHk+Ci08L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY2FwcGVkLWxp
ZmV0aW1lLWZvci1jb29raWUtc2V0LWluLWpzLXdpdGgtbGluay1kZWNvcmF0aW9uLXNhbWUtc2l0
ZS1kYXRhYmFzZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNl
TG9hZFN0YXRpc3RpY3MvY2FwcGVkLWxpZmV0aW1lLWZvci1jb29raWUtc2V0LWluLWpzLXdpdGgt
bGluay1kZWNvcmF0aW9uLXNhbWUtc2l0ZS1kYXRhYmFzZS1leHBlY3RlZC50eHQKZGVsZXRlZCBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IGE0OTU0NWEwMzRkM2FmMjU5MGM5OTMzN2QyMzA1YTliZWZk
YmE0MTAuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NhcHBlZC1saWZldGlt
ZS1mb3ItY29va2llLXNldC1pbi1qcy13aXRoLWxpbmstZGVjb3JhdGlvbi1zYW1lLXNpdGUtZGF0
YWJhc2UtZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEsMTAgKzAsMCBAQAotQ2hlY2sg
dGhhdCBjb29raWVzIGNyZWF0ZWQgYnkgSmF2YVNjcmlwdCBhZnRlciBhIHNhbWUtc2l0ZSBuYXZp
Z2F0aW9uIHdpdGggbGluayBkZWNvcmF0aW9uIGRvbid0IGdldCBjYXBwZWQgdG8gMjQgaG91cnMu
Ci0KLU9uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMs
IGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KLQotCi1QQVNTIFRoZSB0d28gbG9uZy1saXZl
ZCBjb29raWVzIGV4cGlyZSBhZnRlciBtb3JlIHRoYW4gODY0MzAgc2Vjb25kcy4KLVBBU1Mgc3Vj
Y2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKLQotVEVTVCBDT01QTEVURQotCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY2FwcGVkLWxpZmV0
aW1lLWZvci1jb29raWUtc2V0LWluLWpzLXdpdGgtbGluay1kZWNvcmF0aW9uLXNhbWUtc2l0ZS1k
YXRhYmFzZS5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0
aWNzL2NhcHBlZC1saWZldGltZS1mb3ItY29va2llLXNldC1pbi1qcy13aXRoLWxpbmstZGVjb3Jh
dGlvbi1zYW1lLXNpdGUtZGF0YWJhc2UuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggZWQwOTk5MWIzZmE4YWNkNDgxOTlhODUzMjM0ZDI1YWIyODkxNWRjMC4uMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY2FwcGVkLWxpZmV0aW1lLWZvci1jb29raWUtc2V0LWlu
LWpzLXdpdGgtbGluay1kZWNvcmF0aW9uLXNhbWUtc2l0ZS1kYXRhYmFzZS5odG1sCisrKyAvZGV2
L251bGwKQEAgLTEsODYgKzAsMCBAQAotPCFET0NUWVBFIGh0bWw+Ci08aHRtbD4KLTxoZWFkPgot
ICAgIDxzY3JpcHQgc3JjPSIvanMtdGVzdC1yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+
Ci0gICAgPHNjcmlwdCBzcmM9Ii9jb29raWVzL3Jlc291cmNlcy9jb29raWUtdXRpbGl0aWVzLmpz
Ij48L3NjcmlwdD4KLSAgICA8c2NyaXB0IHNyYz0icmVzb3VyY2VzL3V0aWwuanMiPjwvc2NyaXB0
PgotPC9oZWFkPgotPGJvZHkgb25sb2FkPSJzZXRUaW1lb3V0KCdydW5UZXN0KCknLCAwKSI+Ci08
c2NyaXB0PgotICAgIGRlc2NyaXB0aW9uKCJDaGVjayB0aGF0IGNvb2tpZXMgY3JlYXRlZCBieSBK
YXZhU2NyaXB0IGFmdGVyIGEgc2FtZS1zaXRlIG5hdmlnYXRpb24gd2l0aCBsaW5rIGRlY29yYXRp
b24gZG9uJ3QgZ2V0IGNhcHBlZCB0byAyNCBob3Vycy4iKTsKLSAgICBqc1Rlc3RJc0FzeW5jID0g
dHJ1ZTsKLQotICAgIGZ1bmN0aW9uIHRlc3RDb29raWVzKCkgewotICAgICAgICBsZXQgcGFzc2Vk
VGVzdHMgPSAwOwotCi0gICAgICAgIGZ1bmN0aW9uIGNoZWNrVGhhdENvb2tpZURvZXNFeHBpcmVB
ZnRlcihjb29raWVEYXRhLCBtYXhBZ2VJblNlY29uZHMpIHsKLSAgICAgICAgICAgIGxldCBub3cg
PSBuZXcgRGF0ZSgpOwotICAgICAgICAgICAgbGV0IG1heEV4cGlyeURhdGVJbk1pbGxpc2Vjb25k
cyA9IG5vdy5nZXRUaW1lKCkgKyAobWF4QWdlSW5TZWNvbmRzICogMTAwMCk7Ci0KLSAgICAgICAg
ICAgIGlmIChtYXhFeHBpcnlEYXRlSW5NaWxsaXNlY29uZHMgPCBjb29raWVEYXRhWyJleHBpcmVz
Il0pCi0gICAgICAgICAgICAgICAgKytwYXNzZWRUZXN0czsKLSAgICAgICAgICAgIGVsc2UKLSAg
ICAgICAgICAgICAgICB0ZXN0RmFpbGVkKCJDb29raWUgbmFtZWQgIiArIGNvb2tpZURhdGFbIm5h
bWUiXSArICIgZXhwaXJlcyBpbiBsZXNzIHRoYW4gIiArIG1heEFnZUluU2Vjb25kcyArICIgc2Vj
b25kcy4iKTsKLSAgICAgICAgfQotCi0gICAgICAgIGNvbnN0IG9uZURheUluU2Vjb25kcyA9IDI0
ICogNjAgKiA2MDsKLSAgICAgICAgY29uc3QgdHdvRGF5c0luU2Vjb25kcyA9IDIgKiBvbmVEYXlJ
blNlY29uZHM7Ci0gICAgICAgIGNvbnN0IGxvbmdMaXZlZENvb2tpZU1heEFnZSA9IHsgbmFtZSA6
ICJsb25nTGl2ZWRDb29raWVNYXhBZ2UiLCBsaWZldGltZSA6ICJNYXgtQWdlPSIgKyB0d29EYXlz
SW5TZWNvbmRzICsgIjsiIH07Ci0gICAgICAgIGRvY3VtZW50LmNvb2tpZSA9IGxvbmdMaXZlZENv
b2tpZU1heEFnZS5uYW1lICsgIj1mb29iYXI7ICIgKyBsb25nTGl2ZWRDb29raWVNYXhBZ2UubGlm
ZXRpbWUgKyAiIHBhdGg9LyI7Ci0KLSAgICAgICAgY29uc3QgdHdvRGF5c0FzRXhwaXJlc0RhdGUg
PSBjcmVhdGVFeHBpcmVzRGF0ZUZyb21NYXhBZ2UodHdvRGF5c0luU2Vjb25kcyk7Ci0gICAgICAg
IGNvbnN0IGxvbmdMaXZlZENvb2tpZUV4cGlyZXMgPSB7IG5hbWUgOiAibG9uZ0xpdmVkQ29va2ll
RXhwaXJlcyIsIGxpZmV0aW1lIDogIkV4cGlyZXM9IiArIHR3b0RheXNBc0V4cGlyZXNEYXRlICsg
IjsiIH07Ci0gICAgICAgIGRvY3VtZW50LmNvb2tpZSA9IGxvbmdMaXZlZENvb2tpZUV4cGlyZXMu
bmFtZSArICI9Zm9vYmFyOyAiICsgbG9uZ0xpdmVkQ29va2llRXhwaXJlcy5saWZldGltZSArICIg
cGF0aD0vIjsKLQotICAgICAgICBjb25zdCBvdmVyT25lRGF5SW5TZWNvbmRzID0gb25lRGF5SW5T
ZWNvbmRzICsgMzA7Ci0gICAgICAgIGlmIChpbnRlcm5hbHMpIHsKLSAgICAgICAgICAgIGxldCBj
b29raWVzID0gaW50ZXJuYWxzLmdldENvb2tpZXMoKTsKLSAgICAgICAgICAgIGlmICghY29va2ll
cy5sZW5ndGgpCi0gICAgICAgICAgICAgICAgdGVzdEZhaWxlZCgiTm8gY29va2llcyBmb3VuZC4i
KTsKLSAgICAgICAgICAgIGZvciAobGV0IGNvb2tpZSBvZiBjb29raWVzKSB7Ci0gICAgICAgICAg
ICAgICAgc3dpdGNoIChjb29raWUubmFtZSkgewotICAgICAgICAgICAgICAgICAgICBjYXNlIGxv
bmdMaXZlZENvb2tpZU1heEFnZS5uYW1lOgotICAgICAgICAgICAgICAgICAgICAgICAgY2hlY2tU
aGF0Q29va2llRG9lc0V4cGlyZUFmdGVyKGNvb2tpZSwgb3Zlck9uZURheUluU2Vjb25kcyk7Ci0g
ICAgICAgICAgICAgICAgICAgICAgICBicmVhazsKLSAgICAgICAgICAgICAgICAgICAgY2FzZSBs
b25nTGl2ZWRDb29raWVFeHBpcmVzLm5hbWU6Ci0gICAgICAgICAgICAgICAgICAgICAgICBjaGVj
a1RoYXRDb29raWVEb2VzRXhwaXJlQWZ0ZXIoY29va2llLCBvdmVyT25lRGF5SW5TZWNvbmRzKTsK
LSAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICAgICAgICAgIH0KLSAgICAg
ICAgICAgIH0KLQotICAgICAgICAgICAgcmVzZXRDb29raWVzRm9yQ3VycmVudE9yaWdpbigpOwot
Ci0gICAgICAgICAgICBpZiAocGFzc2VkVGVzdHMgPT09IDIpIHsKLSAgICAgICAgICAgICAgICB0
ZXN0UGFzc2VkKCJUaGUgdHdvIGxvbmctbGl2ZWQgY29va2llcyBleHBpcmUgYWZ0ZXIgbW9yZSB0
aGFuICIgKyBvdmVyT25lRGF5SW5TZWNvbmRzICsgIiBzZWNvbmRzLiIpOwotICAgICAgICAgICAg
fSBlbHNlCi0gICAgICAgICAgICAgICAgdGVzdEZhaWxlZCgiQXQgbGVhc3Qgb25lIGNvb2tpZSdz
IGV4cGlyeSBhdHRyaWJ1dGUgd2FzIGJlbG93IHRoZSB0ZXN0IHRocmVzaG9sZHMuIik7Ci0gICAg
ICAgIH0gZWxzZQotICAgICAgICAgICAgdGVzdEZhaWxlZCgiTm8gaW50ZXJuYWxzIG9iamVjdC4i
KTsKLQotICAgICAgICBzZXRFbmFibGVGZWF0dXJlKGZhbHNlLCBmaW5pc2hKU1Rlc3QpOwotICAg
IH0KLQotICAgIGZ1bmN0aW9uIG5hdmlnYXRlQ3Jvc3NPcmlnaW4oKSB7Ci0gICAgICAgIGRvY3Vt
ZW50LmxvY2F0aW9uLmhyZWYgPSBwcmV2YWxlbnRSZXNvdXJjZU9yaWdpbiArICIvcmVzb3VyY2VM
b2FkU3RhdGlzdGljcy9jYXBwZWQtbGlmZXRpbWUtZm9yLWNvb2tpZS1zZXQtaW4tanMtd2l0aC1s
aW5rLWRlY29yYXRpb24tc2FtZS1zaXRlLmh0bWw/bGluaz1kZWNvcmF0aW9uI2ZyYWdtZW50IjsK
LSAgICB9Ci0KLSAgICBjb25zdCBkZXN0aW5hdGlvbk9yaWdpbiA9ICJodHRwOi8vbG9jYWxob3N0
OjgwMDAiOwotICAgIGNvbnN0IHByZXZhbGVudFJlc291cmNlT3JpZ2luID0gImh0dHA6Ly8xMjcu
MC4wLjE6ODAwMCI7Ci0gICAgZnVuY3Rpb24gcnVuVGVzdCgpIHsKLSAgICAgICAgaWYgKGRvY3Vt
ZW50LmxvY2F0aW9uLm9yaWdpbiA9PT0gcHJldmFsZW50UmVzb3VyY2VPcmlnaW4gJiYgZG9jdW1l
bnQubG9jYXRpb24uaGFzaCAhPT0gIiNmcmFnbWVudCIpIHsKLSAgICAgICAgICAgIHRlc3RSdW5u
ZXIuc2V0VXNlSVRQRGF0YWJhc2UodHJ1ZSk7Ci0gICAgICAgICAgICBzZXRFbmFibGVGZWF0dXJl
KHRydWUsIGZ1bmN0aW9uICgpIHsKLSAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLnNldFN0YXRp
c3RpY3NQcmV2YWxlbnRSZXNvdXJjZShwcmV2YWxlbnRSZXNvdXJjZU9yaWdpbiwgdHJ1ZSwgZnVu
Y3Rpb24oKSB7Ci0gICAgICAgICAgICAgICAgICAgIGlmICghdGVzdFJ1bm5lci5pc1N0YXRpc3Rp
Y3NQcmV2YWxlbnRSZXNvdXJjZShwcmV2YWxlbnRSZXNvdXJjZU9yaWdpbikpCi0gICAgICAgICAg
ICAgICAgICAgICAgICB0ZXN0RmFpbGVkKCJIb3N0IGRpZCBub3QgZ2V0IHNldCBhcyBwcmV2YWxl
bnQgcmVzb3VyY2UuIik7Ci0gICAgICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIuc3RhdGlzdGlj
c1VwZGF0ZUNvb2tpZUJsb2NraW5nKG5hdmlnYXRlQ3Jvc3NPcmlnaW4pOwotICAgICAgICAgICAg
ICAgIH0pOwotCi0gICAgICAgICAgICB9KTsKLSAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAg
IHRlc3RDb29raWVzKCk7Ci0gICAgICAgIH0KLSAgICB9Ci08L3NjcmlwdD4KLTwvYm9keT4KLTwv
aHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3Rh
dGlzdGljcy9jYXBwZWQtbGlmZXRpbWUtZm9yLWNvb2tpZS1zZXQtaW4tanMtd2l0aC1saW5rLWZy
YWdtZW50LWZyb20tcHJldmFsZW50LXJlc291cmNlLWRhdGFiYXNlLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jYXBwZWQtbGlmZXRp
bWUtZm9yLWNvb2tpZS1zZXQtaW4tanMtd2l0aC1saW5rLWZyYWdtZW50LWZyb20tcHJldmFsZW50
LXJlc291cmNlLWRhdGFiYXNlLWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggZjdiYWQwMzJjNmYyMjQ1NzNhMzM1ZDNmNzA0MTlkY2I0YmU0M2ExNS4uMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rl
c3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY2FwcGVkLWxpZmV0aW1lLWZvci1jb29raWUtc2V0
LWluLWpzLXdpdGgtbGluay1mcmFnbWVudC1mcm9tLXByZXZhbGVudC1yZXNvdXJjZS1kYXRhYmFz
ZS1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSwxMSArMCwwIEBACi1DaGVjayB0aGF0
IGNvb2tpZXMgY3JlYXRlZCBieSBKYXZhU2NyaXB0IGFmdGVyIGEgY3Jvc3Mtc2l0ZSBuYXZpZ2F0
aW9uIHdpdGggbGluayBmcmFnbWVudCBnZXQgY2FwcGVkIHRvIDI0IGhvdXJzLgotCi1PbiBzdWNj
ZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBi
eSAiVEVTVCBDT01QTEVURSIuCi0KLQotUEFTUyBUaGUgdHdvIHNob3J0LWxpdmVkIGNvb2tpZXMg
ZG9uJ3QgZXhwaXJlIGFmdGVyIG1vcmUgdGhhbiA0MzIzMCBzZWNvbmRzLgotUEFTUyBUaGUgdHdv
IGxvbmctbGl2ZWQgY29va2llcyBkb24ndCBleHBpcmUgYWZ0ZXIgbW9yZSB0aGFuIDg2NDMwIHNl
Y29uZHMuCi1QQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCi0KLVRFU1QgQ09NUExFVEUK
LQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0
aWNzL2NhcHBlZC1saWZldGltZS1mb3ItY29va2llLXNldC1pbi1qcy13aXRoLWxpbmstZnJhZ21l
bnQtZnJvbS1wcmV2YWxlbnQtcmVzb3VyY2UtZGF0YWJhc2UuaHRtbCBiL0xheW91dFRlc3RzL2h0
dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jYXBwZWQtbGlmZXRpbWUtZm9yLWNvb2tp
ZS1zZXQtaW4tanMtd2l0aC1saW5rLWZyYWdtZW50LWZyb20tcHJldmFsZW50LXJlc291cmNlLWRh
dGFiYXNlLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDVjODRmYjg5NGY5OWIz
MjdjMTc3M2UyMDA3ZGMxMGQ5MWMyYTg3OTkuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0
aXN0aWNzL2NhcHBlZC1saWZldGltZS1mb3ItY29va2llLXNldC1pbi1qcy13aXRoLWxpbmstZnJh
Z21lbnQtZnJvbS1wcmV2YWxlbnQtcmVzb3VyY2UtZGF0YWJhc2UuaHRtbAorKysgL2Rldi9udWxs
CkBAIC0xLDEwMSArMCwwIEBACi08IURPQ1RZUEUgaHRtbD4KLTxodG1sPgotPGhlYWQ+Ci0gICAg
PHNjcmlwdCBzcmM9Ii9qcy10ZXN0LXJlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KLSAg
ICA8c2NyaXB0IHNyYz0iL2Nvb2tpZXMvcmVzb3VyY2VzL2Nvb2tpZS11dGlsaXRpZXMuanMiPjwv
c2NyaXB0PgotICAgIDxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvdXRpbC5qcyI+PC9zY3JpcHQ+Ci08
L2hlYWQ+Ci08Ym9keSBvbmxvYWQ9InNldFRpbWVvdXQoJ3J1blRlc3QoKScsIDApIj4KLTxzY3Jp
cHQ+Ci0gICAgZGVzY3JpcHRpb24oIkNoZWNrIHRoYXQgY29va2llcyBjcmVhdGVkIGJ5IEphdmFT
Y3JpcHQgYWZ0ZXIgYSBjcm9zcy1zaXRlIG5hdmlnYXRpb24gd2l0aCBsaW5rIGZyYWdtZW50IGdl
dCBjYXBwZWQgdG8gMjQgaG91cnMuIik7Ci0gICAganNUZXN0SXNBc3luYyA9IHRydWU7Ci0KLSAg
ICBmdW5jdGlvbiB0ZXN0Q29va2llcygpIHsKLSAgICAgICAgbGV0IHBhc3NlZFRlc3RzID0gMDsK
LSAgICAgICAgZnVuY3Rpb24gY2hlY2tUaGF0Q29va2llRG9lc05vdEV4cGlyZUFmdGVyKGNvb2tp
ZURhdGEsIG1heEFnZUluU2Vjb25kcykgewotICAgICAgICAgICAgbGV0IG5vdyA9IG5ldyBEYXRl
KCk7Ci0gICAgICAgICAgICBsZXQgbWF4RXhwaXJ5RGF0ZUluTWlsbGlzZWNvbmRzID0gbm93Lmdl
dFRpbWUoKSArIChtYXhBZ2VJblNlY29uZHMgKiAxMDAwKTsKLQotICAgICAgICAgICAgaWYgKG1h
eEV4cGlyeURhdGVJbk1pbGxpc2Vjb25kcyA+IGNvb2tpZURhdGFbImV4cGlyZXMiXSkKLSAgICAg
ICAgICAgICAgICArK3Bhc3NlZFRlc3RzOwotICAgICAgICAgICAgZWxzZQotICAgICAgICAgICAg
ICAgIHRlc3RGYWlsZWQoIkNvb2tpZSBuYW1lZCAiICsgY29va2llRGF0YVsibmFtZSJdICsgIiBl
eHBpcmVzIGluIG1vcmUgdGhhbiAiICsgbWF4QWdlSW5TZWNvbmRzICsgIiBzZWNvbmRzLiIpOwot
ICAgICAgICB9Ci0KLSAgICAgICAgY29uc3QgdHdlbHZlSG91cnNJblNlY29uZHMgPSAxMiAqIDYw
ICogNjA7Ci0gICAgICAgIGNvbnN0IHNob3J0TGl2ZWRDb29raWVNYXhBZ2UgPSB7IG5hbWUgOiAi
c2hvcnRMaXZlZENvb2tpZU1heEFnZSIsIGxpZmV0aW1lIDogIk1heC1BZ2U9IiArIHR3ZWx2ZUhv
dXJzSW5TZWNvbmRzICsgIjsiIH07Ci0gICAgICAgIGRvY3VtZW50LmNvb2tpZSA9IHNob3J0TGl2
ZWRDb29raWVNYXhBZ2UubmFtZSArICI9Zm9vYmFyOyAiICsgc2hvcnRMaXZlZENvb2tpZU1heEFn
ZS5saWZldGltZSArICIgcGF0aD0vIjsKLQotICAgICAgICBjb25zdCB0d2VsdmVIb3Vyc0FzRXhw
aXJlc0RhdGUgPSBjcmVhdGVFeHBpcmVzRGF0ZUZyb21NYXhBZ2UodHdlbHZlSG91cnNJblNlY29u
ZHMpOwotICAgICAgICBjb25zdCBzaG9ydExpdmVkQ29va2llRXhwaXJlcyA9IHsgbmFtZSA6ICJz
aG9ydExpdmVkQ29va2llRXhwaXJlcyIsIGxpZmV0aW1lIDogIkV4cGlyZXM9IiArIHR3ZWx2ZUhv
dXJzQXNFeHBpcmVzRGF0ZSArICI7IiB9OwotICAgICAgICBkb2N1bWVudC5jb29raWUgPSBzaG9y
dExpdmVkQ29va2llRXhwaXJlcy5uYW1lICsgIj1mb29iYXI7ICIgKyBzaG9ydExpdmVkQ29va2ll
RXhwaXJlcy5saWZldGltZSArICIgcGF0aD0vIjsKLQotICAgICAgICBjb25zdCBvbmVEYXlJblNl
Y29uZHMgPSAyICogdHdlbHZlSG91cnNJblNlY29uZHM7Ci0gICAgICAgIGNvbnN0IHR3b0RheXNJ
blNlY29uZHMgPSAyICogb25lRGF5SW5TZWNvbmRzOwotICAgICAgICBjb25zdCBsb25nTGl2ZWRD
b29raWVNYXhBZ2UgPSB7IG5hbWUgOiAibG9uZ0xpdmVkQ29va2llTWF4QWdlIiwgbGlmZXRpbWUg
OiAiTWF4LUFnZT0iICsgdHdvRGF5c0luU2Vjb25kcyArICI7IiB9OwotICAgICAgICBkb2N1bWVu
dC5jb29raWUgPSBsb25nTGl2ZWRDb29raWVNYXhBZ2UubmFtZSArICI9Zm9vYmFyOyAiICsgbG9u
Z0xpdmVkQ29va2llTWF4QWdlLmxpZmV0aW1lICsgIiBwYXRoPS8iOwotCi0gICAgICAgIGNvbnN0
IHR3b0RheXNBc0V4cGlyZXNEYXRlID0gY3JlYXRlRXhwaXJlc0RhdGVGcm9tTWF4QWdlKHR3b0Rh
eXNJblNlY29uZHMpOwotICAgICAgICBjb25zdCBsb25nTGl2ZWRDb29raWVFeHBpcmVzID0geyBu
YW1lIDogImxvbmdMaXZlZENvb2tpZUV4cGlyZXMiLCBsaWZldGltZSA6ICJFeHBpcmVzPSIgKyB0
d29EYXlzQXNFeHBpcmVzRGF0ZSArICI7IiB9OwotICAgICAgICBkb2N1bWVudC5jb29raWUgPSBs
b25nTGl2ZWRDb29raWVFeHBpcmVzLm5hbWUgKyAiPWZvb2JhcjsgIiArIGxvbmdMaXZlZENvb2tp
ZUV4cGlyZXMubGlmZXRpbWUgKyAiIHBhdGg9LyI7Ci0KLSAgICAgICAgY29uc3Qgb3ZlclR3ZWx2
ZUhvdXJzSW5TZWNvbmRzID0gdHdlbHZlSG91cnNJblNlY29uZHMgKyAzMDsKLSAgICAgICAgY29u
c3Qgb3Zlck9uZURheUluU2Vjb25kcyA9IG9uZURheUluU2Vjb25kcyArIDMwOwotICAgICAgICBp
ZiAoaW50ZXJuYWxzKSB7Ci0gICAgICAgICAgICBsZXQgY29va2llcyA9IGludGVybmFscy5nZXRD
b29raWVzKCk7Ci0gICAgICAgICAgICBpZiAoIWNvb2tpZXMubGVuZ3RoKQotICAgICAgICAgICAg
ICAgIHRlc3RGYWlsZWQoIk5vIGNvb2tpZXMgZm91bmQuIik7Ci0gICAgICAgICAgICBmb3IgKGxl
dCBjb29raWUgb2YgY29va2llcykgewotICAgICAgICAgICAgICAgIHN3aXRjaCAoY29va2llLm5h
bWUpIHsKLSAgICAgICAgICAgICAgICAgICAgY2FzZSBzaG9ydExpdmVkQ29va2llTWF4QWdlLm5h
bWU6Ci0gICAgICAgICAgICAgICAgICAgICAgICBjaGVja1RoYXRDb29raWVEb2VzTm90RXhwaXJl
QWZ0ZXIoY29va2llLCBvdmVyVHdlbHZlSG91cnNJblNlY29uZHMpOwotICAgICAgICAgICAgICAg
ICAgICAgICAgYnJlYWs7Ci0gICAgICAgICAgICAgICAgICAgIGNhc2Ugc2hvcnRMaXZlZENvb2tp
ZUV4cGlyZXMubmFtZToKLSAgICAgICAgICAgICAgICAgICAgICAgIGNoZWNrVGhhdENvb2tpZURv
ZXNOb3RFeHBpcmVBZnRlcihjb29raWUsIG92ZXJUd2VsdmVIb3Vyc0luU2Vjb25kcyk7Ci0gICAg
ICAgICAgICAgICAgICAgICAgICBicmVhazsKLSAgICAgICAgICAgICAgICAgICAgY2FzZSBsb25n
TGl2ZWRDb29raWVNYXhBZ2UubmFtZToKLSAgICAgICAgICAgICAgICAgICAgICAgIGNoZWNrVGhh
dENvb2tpZURvZXNOb3RFeHBpcmVBZnRlcihjb29raWUsIG92ZXJPbmVEYXlJblNlY29uZHMpOwot
ICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgICAgICAgICAgICAgIGNhc2Ug
bG9uZ0xpdmVkQ29va2llRXhwaXJlcy5uYW1lOgotICAgICAgICAgICAgICAgICAgICAgICAgY2hl
Y2tUaGF0Q29va2llRG9lc05vdEV4cGlyZUFmdGVyKGNvb2tpZSwgb3Zlck9uZURheUluU2Vjb25k
cyk7Ci0gICAgICAgICAgICAgICAgICAgICAgICBicmVhazsKLSAgICAgICAgICAgICAgICB9Ci0g
ICAgICAgICAgICB9Ci0KLSAgICAgICAgICAgIHJlc2V0Q29va2llc0ZvckN1cnJlbnRPcmlnaW4o
KTsKLQotICAgICAgICAgICAgaWYgKHBhc3NlZFRlc3RzID09PSA0KSB7Ci0gICAgICAgICAgICAg
ICAgdGVzdFBhc3NlZCgiVGhlIHR3byBzaG9ydC1saXZlZCBjb29raWVzIGRvbid0IGV4cGlyZSBh
ZnRlciBtb3JlIHRoYW4gIiArIG92ZXJUd2VsdmVIb3Vyc0luU2Vjb25kcyArICIgc2Vjb25kcy4i
KTsKLSAgICAgICAgICAgICAgICB0ZXN0UGFzc2VkKCJUaGUgdHdvIGxvbmctbGl2ZWQgY29va2ll
cyBkb24ndCBleHBpcmUgYWZ0ZXIgbW9yZSB0aGFuICIgKyBvdmVyT25lRGF5SW5TZWNvbmRzICsg
IiBzZWNvbmRzLiIpOwotICAgICAgICAgICAgfSBlbHNlCi0gICAgICAgICAgICAgICAgdGVzdEZh
aWxlZCgiQXQgbGVhc3Qgb25lIGNvb2tpZSdzIGV4cGlyeSBhdHRyaWJ1dGUgd2FzIGJleW9uZCB0
aGUgdGVzdCB0aHJlc2hvbGRzLiIpOwotICAgICAgICB9IGVsc2UKLSAgICAgICAgICAgIHRlc3RG
YWlsZWQoIk5vIGludGVybmFscyBvYmplY3QuIik7Ci0KLSAgICAgICAgc2V0RW5hYmxlRmVhdHVy
ZShmYWxzZSwgZmluaXNoSlNUZXN0KTsKLSAgICB9Ci0KLSAgICBmdW5jdGlvbiBuYXZpZ2F0ZUNy
b3NzT3JpZ2luKCkgewotICAgICAgICBkb2N1bWVudC5sb2NhdGlvbi5ocmVmID0gZGVzdGluYXRp
b25PcmlnaW4gKyAiL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY2FwcGVkLWxpZmV0aW1lLWZvci1j
b29raWUtc2V0LWluLWpzLXdpdGgtbGluay1mcmFnbWVudC1mcm9tLXByZXZhbGVudC1yZXNvdXJj
ZS5odG1sI2xpbms9ZnJhZ21lbnQiOwotICAgIH0KLQotICAgIGNvbnN0IGRlc3RpbmF0aW9uT3Jp
Z2luID0gImh0dHA6Ly9sb2NhbGhvc3Q6ODAwMCI7Ci0gICAgY29uc3QgcHJldmFsZW50UmVzb3Vy
Y2VPcmlnaW4gPSAiaHR0cDovLzEyNy4wLjAuMTo4MDAwIjsKLSAgICBmdW5jdGlvbiBydW5UZXN0
KCkgewotICAgICAgICBpZiAoZG9jdW1lbnQubG9jYXRpb24ub3JpZ2luID09PSBwcmV2YWxlbnRS
ZXNvdXJjZU9yaWdpbikgewotICAgICAgICAgICAgdGVzdFJ1bm5lci5zZXRVc2VJVFBEYXRhYmFz
ZSh0cnVlKTsKLSAgICAgICAgICAgIHNldEVuYWJsZUZlYXR1cmUodHJ1ZSwgZnVuY3Rpb24gKCkg
ewotICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc1ByZXZhbGVudFJlc291
cmNlKHByZXZhbGVudFJlc291cmNlT3JpZ2luLCB0cnVlLCBmdW5jdGlvbigpIHsKLSAgICAgICAg
ICAgICAgICAgICAgaWYgKCF0ZXN0UnVubmVyLmlzU3RhdGlzdGljc1ByZXZhbGVudFJlc291cmNl
KHByZXZhbGVudFJlc291cmNlT3JpZ2luKSkKLSAgICAgICAgICAgICAgICAgICAgICAgIHRlc3RG
YWlsZWQoIkhvc3QgZGlkIG5vdCBnZXQgc2V0IGFzIHByZXZhbGVudCByZXNvdXJjZS4iKTsKLSAg
ICAgICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5zdGF0aXN0aWNzVXBkYXRlQ29va2llQmxvY2tp
bmcobmF2aWdhdGVDcm9zc09yaWdpbik7Ci0gICAgICAgICAgICAgICAgfSk7Ci0KLSAgICAgICAg
ICAgIH0pOwotICAgICAgICB9IGVsc2UgewotICAgICAgICAgICAgdGVzdENvb2tpZXMoKTsKLSAg
ICAgICAgfQotICAgIH0KLTwvc2NyaXB0PgotPC9ib2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NhcHBlZC1saWZl
dGltZS1mb3ItY29va2llLXNldC1pbi1qcy13aXRoLWxpbmstcXVlcnktYW5kLWZyYWdtZW50LWZy
b20tcHJldmFsZW50LXJlc291cmNlLWRhdGFiYXNlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jYXBwZWQtbGlmZXRpbWUtZm9yLWNv
b2tpZS1zZXQtaW4tanMtd2l0aC1saW5rLXF1ZXJ5LWFuZC1mcmFnbWVudC1mcm9tLXByZXZhbGVu
dC1yZXNvdXJjZS1kYXRhYmFzZS1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDZlOThkYzhmOTBlMmRhMWIxOTgzYjQ4ZGMxODZlYWQ3YTY5NjVkN2EuLjAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90
ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NhcHBlZC1saWZldGltZS1mb3ItY29va2llLXNl
dC1pbi1qcy13aXRoLWxpbmstcXVlcnktYW5kLWZyYWdtZW50LWZyb20tcHJldmFsZW50LXJlc291
cmNlLWRhdGFiYXNlLWV4cGVjdGVkLnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDExICswLDAgQEAK
LUNoZWNrIHRoYXQgY29va2llcyBjcmVhdGVkIGJ5IEphdmFTY3JpcHQgYWZ0ZXIgYSBjcm9zcy1z
aXRlIG5hdmlnYXRpb24gd2l0aCBsaW5rIHF1ZXJ5IGFuZCBmcmFnbWVudCBnZXQgY2FwcGVkIHRv
IDI0IGhvdXJzLgotCi1PbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1Mi
IG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCi0KLQotUEFTUyBUaGUgdHdv
IHNob3J0LWxpdmVkIGNvb2tpZXMgZG9uJ3QgZXhwaXJlIGFmdGVyIG1vcmUgdGhhbiA0MzIzMCBz
ZWNvbmRzLgotUEFTUyBUaGUgdHdvIGxvbmctbGl2ZWQgY29va2llcyBkb24ndCBleHBpcmUgYWZ0
ZXIgbW9yZSB0aGFuIDg2NDMwIHNlY29uZHMuCi1QQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0
cnVlCi0KLVRFU1QgQ09NUExFVEUKLQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0
cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NhcHBlZC1saWZldGltZS1mb3ItY29va2llLXNldC1p
bi1qcy13aXRoLWxpbmstcXVlcnktYW5kLWZyYWdtZW50LWZyb20tcHJldmFsZW50LXJlc291cmNl
LWRhdGFiYXNlLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRp
c3RpY3MvY2FwcGVkLWxpZmV0aW1lLWZvci1jb29raWUtc2V0LWluLWpzLXdpdGgtbGluay1xdWVy
eS1hbmQtZnJhZ21lbnQtZnJvbS1wcmV2YWxlbnQtcmVzb3VyY2UtZGF0YWJhc2UuaHRtbApkZWxl
dGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMzU5MWViNGU5NThmYjFiNTBkYjdmODIyYTIwMGVj
Y2M2NzM4MjQxNi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0g
YS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY2FwcGVkLWxp
ZmV0aW1lLWZvci1jb29raWUtc2V0LWluLWpzLXdpdGgtbGluay1xdWVyeS1hbmQtZnJhZ21lbnQt
ZnJvbS1wcmV2YWxlbnQtcmVzb3VyY2UtZGF0YWJhc2UuaHRtbAorKysgL2Rldi9udWxsCkBAIC0x
LDEwMSArMCwwIEBACi08IURPQ1RZUEUgaHRtbD4KLTxodG1sPgotPGhlYWQ+Ci0gICAgPHNjcmlw
dCBzcmM9Ii9qcy10ZXN0LXJlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KLSAgICA8c2Ny
aXB0IHNyYz0iL2Nvb2tpZXMvcmVzb3VyY2VzL2Nvb2tpZS11dGlsaXRpZXMuanMiPjwvc2NyaXB0
PgotICAgIDxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvdXRpbC5qcyI+PC9zY3JpcHQ+Ci08L2hlYWQ+
Ci08Ym9keSBvbmxvYWQ9InNldFRpbWVvdXQoJ3J1blRlc3QoKScsIDApIj4KLTxzY3JpcHQ+Ci0g
ICAgZGVzY3JpcHRpb24oIkNoZWNrIHRoYXQgY29va2llcyBjcmVhdGVkIGJ5IEphdmFTY3JpcHQg
YWZ0ZXIgYSBjcm9zcy1zaXRlIG5hdmlnYXRpb24gd2l0aCBsaW5rIHF1ZXJ5IGFuZCBmcmFnbWVu
dCBnZXQgY2FwcGVkIHRvIDI0IGhvdXJzLiIpOwotICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOwot
Ci0gICAgZnVuY3Rpb24gdGVzdENvb2tpZXMoKSB7Ci0gICAgICAgIGxldCBwYXNzZWRUZXN0cyA9
IDA7Ci0gICAgICAgIGZ1bmN0aW9uIGNoZWNrVGhhdENvb2tpZURvZXNOb3RFeHBpcmVBZnRlcihj
b29raWVEYXRhLCBtYXhBZ2VJblNlY29uZHMpIHsKLSAgICAgICAgICAgIGxldCBub3cgPSBuZXcg
RGF0ZSgpOwotICAgICAgICAgICAgbGV0IG1heEV4cGlyeURhdGVJbk1pbGxpc2Vjb25kcyA9IG5v
dy5nZXRUaW1lKCkgKyAobWF4QWdlSW5TZWNvbmRzICogMTAwMCk7Ci0KLSAgICAgICAgICAgIGlm
IChtYXhFeHBpcnlEYXRlSW5NaWxsaXNlY29uZHMgPiBjb29raWVEYXRhWyJleHBpcmVzIl0pCi0g
ICAgICAgICAgICAgICAgKytwYXNzZWRUZXN0czsKLSAgICAgICAgICAgIGVsc2UKLSAgICAgICAg
ICAgICAgICB0ZXN0RmFpbGVkKCJDb29raWUgbmFtZWQgIiArIGNvb2tpZURhdGFbIm5hbWUiXSAr
ICIgZXhwaXJlcyBpbiBtb3JlIHRoYW4gIiArIG1heEFnZUluU2Vjb25kcyArICIgc2Vjb25kcy4i
KTsKLSAgICAgICAgfQotCi0gICAgICAgIGNvbnN0IHR3ZWx2ZUhvdXJzSW5TZWNvbmRzID0gMTIg
KiA2MCAqIDYwOwotICAgICAgICBjb25zdCBzaG9ydExpdmVkQ29va2llTWF4QWdlID0geyBuYW1l
IDogInNob3J0TGl2ZWRDb29raWVNYXhBZ2UiLCBsaWZldGltZSA6ICJNYXgtQWdlPSIgKyB0d2Vs
dmVIb3Vyc0luU2Vjb25kcyArICI7IiB9OwotICAgICAgICBkb2N1bWVudC5jb29raWUgPSBzaG9y
dExpdmVkQ29va2llTWF4QWdlLm5hbWUgKyAiPWZvb2JhcjsgIiArIHNob3J0TGl2ZWRDb29raWVN
YXhBZ2UubGlmZXRpbWUgKyAiIHBhdGg9LyI7Ci0KLSAgICAgICAgY29uc3QgdHdlbHZlSG91cnNB
c0V4cGlyZXNEYXRlID0gY3JlYXRlRXhwaXJlc0RhdGVGcm9tTWF4QWdlKHR3ZWx2ZUhvdXJzSW5T
ZWNvbmRzKTsKLSAgICAgICAgY29uc3Qgc2hvcnRMaXZlZENvb2tpZUV4cGlyZXMgPSB7IG5hbWUg
OiAic2hvcnRMaXZlZENvb2tpZUV4cGlyZXMiLCBsaWZldGltZSA6ICJFeHBpcmVzPSIgKyB0d2Vs
dmVIb3Vyc0FzRXhwaXJlc0RhdGUgKyAiOyIgfTsKLSAgICAgICAgZG9jdW1lbnQuY29va2llID0g
c2hvcnRMaXZlZENvb2tpZUV4cGlyZXMubmFtZSArICI9Zm9vYmFyOyAiICsgc2hvcnRMaXZlZENv
b2tpZUV4cGlyZXMubGlmZXRpbWUgKyAiIHBhdGg9LyI7Ci0KLSAgICAgICAgY29uc3Qgb25lRGF5
SW5TZWNvbmRzID0gMiAqIHR3ZWx2ZUhvdXJzSW5TZWNvbmRzOwotICAgICAgICBjb25zdCB0d29E
YXlzSW5TZWNvbmRzID0gMiAqIG9uZURheUluU2Vjb25kczsKLSAgICAgICAgY29uc3QgbG9uZ0xp
dmVkQ29va2llTWF4QWdlID0geyBuYW1lIDogImxvbmdMaXZlZENvb2tpZU1heEFnZSIsIGxpZmV0
aW1lIDogIk1heC1BZ2U9IiArIHR3b0RheXNJblNlY29uZHMgKyAiOyIgfTsKLSAgICAgICAgZG9j
dW1lbnQuY29va2llID0gbG9uZ0xpdmVkQ29va2llTWF4QWdlLm5hbWUgKyAiPWZvb2JhcjsgIiAr
IGxvbmdMaXZlZENvb2tpZU1heEFnZS5saWZldGltZSArICIgcGF0aD0vIjsKLQotICAgICAgICBj
b25zdCB0d29EYXlzQXNFeHBpcmVzRGF0ZSA9IGNyZWF0ZUV4cGlyZXNEYXRlRnJvbU1heEFnZSh0
d29EYXlzSW5TZWNvbmRzKTsKLSAgICAgICAgY29uc3QgbG9uZ0xpdmVkQ29va2llRXhwaXJlcyA9
IHsgbmFtZSA6ICJsb25nTGl2ZWRDb29raWVFeHBpcmVzIiwgbGlmZXRpbWUgOiAiRXhwaXJlcz0i
ICsgdHdvRGF5c0FzRXhwaXJlc0RhdGUgKyAiOyIgfTsKLSAgICAgICAgZG9jdW1lbnQuY29va2ll
ID0gbG9uZ0xpdmVkQ29va2llRXhwaXJlcy5uYW1lICsgIj1mb29iYXI7ICIgKyBsb25nTGl2ZWRD
b29raWVFeHBpcmVzLmxpZmV0aW1lICsgIiBwYXRoPS8iOwotCi0gICAgICAgIGNvbnN0IG92ZXJU
d2VsdmVIb3Vyc0luU2Vjb25kcyA9IHR3ZWx2ZUhvdXJzSW5TZWNvbmRzICsgMzA7Ci0gICAgICAg
IGNvbnN0IG92ZXJPbmVEYXlJblNlY29uZHMgPSBvbmVEYXlJblNlY29uZHMgKyAzMDsKLSAgICAg
ICAgaWYgKGludGVybmFscykgewotICAgICAgICAgICAgbGV0IGNvb2tpZXMgPSBpbnRlcm5hbHMu
Z2V0Q29va2llcygpOwotICAgICAgICAgICAgaWYgKCFjb29raWVzLmxlbmd0aCkKLSAgICAgICAg
ICAgICAgICB0ZXN0RmFpbGVkKCJObyBjb29raWVzIGZvdW5kLiIpOwotICAgICAgICAgICAgZm9y
IChsZXQgY29va2llIG9mIGNvb2tpZXMpIHsKLSAgICAgICAgICAgICAgICBzd2l0Y2ggKGNvb2tp
ZS5uYW1lKSB7Ci0gICAgICAgICAgICAgICAgICAgIGNhc2Ugc2hvcnRMaXZlZENvb2tpZU1heEFn
ZS5uYW1lOgotICAgICAgICAgICAgICAgICAgICAgICAgY2hlY2tUaGF0Q29va2llRG9lc05vdEV4
cGlyZUFmdGVyKGNvb2tpZSwgb3ZlclR3ZWx2ZUhvdXJzSW5TZWNvbmRzKTsKLSAgICAgICAgICAg
ICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICAgICAgICAgICAgICBjYXNlIHNob3J0TGl2ZWRD
b29raWVFeHBpcmVzLm5hbWU6Ci0gICAgICAgICAgICAgICAgICAgICAgICBjaGVja1RoYXRDb29r
aWVEb2VzTm90RXhwaXJlQWZ0ZXIoY29va2llLCBvdmVyVHdlbHZlSG91cnNJblNlY29uZHMpOwot
ICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgICAgICAgICAgICAgIGNhc2Ug
bG9uZ0xpdmVkQ29va2llTWF4QWdlLm5hbWU6Ci0gICAgICAgICAgICAgICAgICAgICAgICBjaGVj
a1RoYXRDb29raWVEb2VzTm90RXhwaXJlQWZ0ZXIoY29va2llLCBvdmVyT25lRGF5SW5TZWNvbmRz
KTsKLSAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICAgICAgICAgICAgICBj
YXNlIGxvbmdMaXZlZENvb2tpZUV4cGlyZXMubmFtZToKLSAgICAgICAgICAgICAgICAgICAgICAg
IGNoZWNrVGhhdENvb2tpZURvZXNOb3RFeHBpcmVBZnRlcihjb29raWUsIG92ZXJPbmVEYXlJblNl
Y29uZHMpOwotICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgICAgICAgICAg
fQotICAgICAgICAgICAgfQotCi0gICAgICAgICAgICByZXNldENvb2tpZXNGb3JDdXJyZW50T3Jp
Z2luKCk7Ci0KLSAgICAgICAgICAgIGlmIChwYXNzZWRUZXN0cyA9PT0gNCkgewotICAgICAgICAg
ICAgICAgIHRlc3RQYXNzZWQoIlRoZSB0d28gc2hvcnQtbGl2ZWQgY29va2llcyBkb24ndCBleHBp
cmUgYWZ0ZXIgbW9yZSB0aGFuICIgKyBvdmVyVHdlbHZlSG91cnNJblNlY29uZHMgKyAiIHNlY29u
ZHMuIik7Ci0gICAgICAgICAgICAgICAgdGVzdFBhc3NlZCgiVGhlIHR3byBsb25nLWxpdmVkIGNv
b2tpZXMgZG9uJ3QgZXhwaXJlIGFmdGVyIG1vcmUgdGhhbiAiICsgb3Zlck9uZURheUluU2Vjb25k
cyArICIgc2Vjb25kcy4iKTsKLSAgICAgICAgICAgIH0gZWxzZQotICAgICAgICAgICAgICAgIHRl
c3RGYWlsZWQoIkF0IGxlYXN0IG9uZSBjb29raWUncyBleHBpcnkgYXR0cmlidXRlIHdhcyBiZXlv
bmQgdGhlIHRlc3QgdGhyZXNob2xkcy4iKTsKLSAgICAgICAgfSBlbHNlCi0gICAgICAgICAgICB0
ZXN0RmFpbGVkKCJObyBpbnRlcm5hbHMgb2JqZWN0LiIpOwotCi0gICAgICAgIHNldEVuYWJsZUZl
YXR1cmUoZmFsc2UsIGZpbmlzaEpTVGVzdCk7Ci0gICAgfQotCi0gICAgZnVuY3Rpb24gbmF2aWdh
dGVDcm9zc09yaWdpbigpIHsKLSAgICAgICAgZG9jdW1lbnQubG9jYXRpb24uaHJlZiA9IGRlc3Rp
bmF0aW9uT3JpZ2luICsgIi9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NhcHBlZC1saWZldGltZS1m
b3ItY29va2llLXNldC1pbi1qcy13aXRoLWxpbmstcXVlcnktYW5kLWZyYWdtZW50LWZyb20tcHJl
dmFsZW50LXJlc291cmNlLmh0bWw/bGluaz1xdWVyeSNsaW5rPWZyYWdtZW50IjsKLSAgICB9Ci0K
LSAgICBjb25zdCBkZXN0aW5hdGlvbk9yaWdpbiA9ICJodHRwOi8vbG9jYWxob3N0OjgwMDAiOwot
ICAgIGNvbnN0IHByZXZhbGVudFJlc291cmNlT3JpZ2luID0gImh0dHA6Ly8xMjcuMC4wLjE6ODAw
MCI7Ci0gICAgZnVuY3Rpb24gcnVuVGVzdCgpIHsKLSAgICAgICAgaWYgKGRvY3VtZW50LmxvY2F0
aW9uLm9yaWdpbiA9PT0gcHJldmFsZW50UmVzb3VyY2VPcmlnaW4pIHsKLSAgICAgICAgICAgIHRl
c3RSdW5uZXIuc2V0VXNlSVRQRGF0YWJhc2UodHJ1ZSk7Ci0gICAgICAgICAgICBzZXRFbmFibGVG
ZWF0dXJlKHRydWUsIGZ1bmN0aW9uICgpIHsKLSAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLnNl
dFN0YXRpc3RpY3NQcmV2YWxlbnRSZXNvdXJjZShwcmV2YWxlbnRSZXNvdXJjZU9yaWdpbiwgdHJ1
ZSwgZnVuY3Rpb24oKSB7Ci0gICAgICAgICAgICAgICAgICAgIGlmICghdGVzdFJ1bm5lci5pc1N0
YXRpc3RpY3NQcmV2YWxlbnRSZXNvdXJjZShwcmV2YWxlbnRSZXNvdXJjZU9yaWdpbikpCi0gICAg
ICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKCJIb3N0IGRpZCBub3QgZ2V0IHNldCBhcyBw
cmV2YWxlbnQgcmVzb3VyY2UuIik7Ci0gICAgICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIuc3Rh
dGlzdGljc1VwZGF0ZUNvb2tpZUJsb2NraW5nKG5hdmlnYXRlQ3Jvc3NPcmlnaW4pOwotICAgICAg
ICAgICAgICAgIH0pOwotCi0gICAgICAgICAgICB9KTsKLSAgICAgICAgfSBlbHNlIHsKLSAgICAg
ICAgICAgIHRlc3RDb29raWVzKCk7Ci0gICAgICAgIH0KLSAgICB9Ci08L3NjcmlwdD4KLTwvYm9k
eT4KLTwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VM
b2FkU3RhdGlzdGljcy9jYXBwZWQtbGlmZXRpbWUtZm9yLWNvb2tpZS1zZXQtaW4tanMtd2l0aC1s
aW5rLXF1ZXJ5LWZyb20tcHJldmFsZW50LXJlc291cmNlLWRhdGFiYXNlLWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jYXBwZWQtbGlm
ZXRpbWUtZm9yLWNvb2tpZS1zZXQtaW4tanMtd2l0aC1saW5rLXF1ZXJ5LWZyb20tcHJldmFsZW50
LXJlc291cmNlLWRhdGFiYXNlLWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggZDQ1ZGQxNmMyZWUwMTA4MGUzYzFmMWI0MDIwNmI2NmE4MDJlMGFjMS4uMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rl
c3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY2FwcGVkLWxpZmV0aW1lLWZvci1jb29raWUtc2V0
LWluLWpzLXdpdGgtbGluay1xdWVyeS1mcm9tLXByZXZhbGVudC1yZXNvdXJjZS1kYXRhYmFzZS1l
eHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSwxMSArMCwwIEBACi1DaGVjayB0aGF0IGNv
b2tpZXMgY3JlYXRlZCBieSBKYXZhU2NyaXB0IGFmdGVyIGEgY3Jvc3Mtc2l0ZSBuYXZpZ2F0aW9u
IHdpdGggbGluayBxdWVyeSBnZXQgY2FwcGVkIHRvIDI0IGhvdXJzLgotCi1PbiBzdWNjZXNzLCB5
b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVT
VCBDT01QTEVURSIuCi0KLQotUEFTUyBUaGUgdHdvIHNob3J0LWxpdmVkIGNvb2tpZXMgZG9uJ3Qg
ZXhwaXJlIGFmdGVyIG1vcmUgdGhhbiA0MzIzMCBzZWNvbmRzLgotUEFTUyBUaGUgdHdvIGxvbmct
bGl2ZWQgY29va2llcyBkb24ndCBleHBpcmUgYWZ0ZXIgbW9yZSB0aGFuIDg2NDMwIHNlY29uZHMu
Ci1QQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCi0KLVRFU1QgQ09NUExFVEUKLQpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2Nh
cHBlZC1saWZldGltZS1mb3ItY29va2llLXNldC1pbi1qcy13aXRoLWxpbmstcXVlcnktZnJvbS1w
cmV2YWxlbnQtcmVzb3VyY2UtZGF0YWJhc2UuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMv
cmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jYXBwZWQtbGlmZXRpbWUtZm9yLWNvb2tpZS1zZXQtaW4t
anMtd2l0aC1saW5rLXF1ZXJ5LWZyb20tcHJldmFsZW50LXJlc291cmNlLWRhdGFiYXNlLmh0bWwK
ZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDI1ZjA5NzZiMjQ4NjY2Njg5YzE4MWFhNTk1
ZjBjMThmZjZhZjA1MGIuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAK
LS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NhcHBl
ZC1saWZldGltZS1mb3ItY29va2llLXNldC1pbi1qcy13aXRoLWxpbmstcXVlcnktZnJvbS1wcmV2
YWxlbnQtcmVzb3VyY2UtZGF0YWJhc2UuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDEwMSArMCww
IEBACi08IURPQ1RZUEUgaHRtbD4KLTxodG1sPgotPGhlYWQ+Ci0gICAgPHNjcmlwdCBzcmM9Ii9q
cy10ZXN0LXJlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KLSAgICA8c2NyaXB0IHNyYz0i
L2Nvb2tpZXMvcmVzb3VyY2VzL2Nvb2tpZS11dGlsaXRpZXMuanMiPjwvc2NyaXB0PgotICAgIDxz
Y3JpcHQgc3JjPSJyZXNvdXJjZXMvdXRpbC5qcyI+PC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keSBv
bmxvYWQ9InNldFRpbWVvdXQoJ3J1blRlc3QoKScsIDApIj4KLTxzY3JpcHQ+Ci0gICAgZGVzY3Jp
cHRpb24oIkNoZWNrIHRoYXQgY29va2llcyBjcmVhdGVkIGJ5IEphdmFTY3JpcHQgYWZ0ZXIgYSBj
cm9zcy1zaXRlIG5hdmlnYXRpb24gd2l0aCBsaW5rIHF1ZXJ5IGdldCBjYXBwZWQgdG8gMjQgaG91
cnMuIik7Ci0gICAganNUZXN0SXNBc3luYyA9IHRydWU7Ci0KLSAgICBmdW5jdGlvbiB0ZXN0Q29v
a2llcygpIHsKLSAgICAgICAgbGV0IHBhc3NlZFRlc3RzID0gMDsKLSAgICAgICAgZnVuY3Rpb24g
Y2hlY2tUaGF0Q29va2llRG9lc05vdEV4cGlyZUFmdGVyKGNvb2tpZURhdGEsIG1heEFnZUluU2Vj
b25kcykgewotICAgICAgICAgICAgbGV0IG5vdyA9IG5ldyBEYXRlKCk7Ci0gICAgICAgICAgICBs
ZXQgbWF4RXhwaXJ5RGF0ZUluTWlsbGlzZWNvbmRzID0gbm93LmdldFRpbWUoKSArIChtYXhBZ2VJ
blNlY29uZHMgKiAxMDAwKTsKLQotICAgICAgICAgICAgaWYgKG1heEV4cGlyeURhdGVJbk1pbGxp
c2Vjb25kcyA+IGNvb2tpZURhdGFbImV4cGlyZXMiXSkKLSAgICAgICAgICAgICAgICArK3Bhc3Nl
ZFRlc3RzOwotICAgICAgICAgICAgZWxzZQotICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoIkNv
b2tpZSBuYW1lZCAiICsgY29va2llRGF0YVsibmFtZSJdICsgIiBleHBpcmVzIGluIG1vcmUgdGhh
biAiICsgbWF4QWdlSW5TZWNvbmRzICsgIiBzZWNvbmRzLiIpOwotICAgICAgICB9Ci0KLSAgICAg
ICAgY29uc3QgdHdlbHZlSG91cnNJblNlY29uZHMgPSAxMiAqIDYwICogNjA7Ci0gICAgICAgIGNv
bnN0IHNob3J0TGl2ZWRDb29raWVNYXhBZ2UgPSB7IG5hbWUgOiAic2hvcnRMaXZlZENvb2tpZU1h
eEFnZSIsIGxpZmV0aW1lIDogIk1heC1BZ2U9IiArIHR3ZWx2ZUhvdXJzSW5TZWNvbmRzICsgIjsi
IH07Ci0gICAgICAgIGRvY3VtZW50LmNvb2tpZSA9IHNob3J0TGl2ZWRDb29raWVNYXhBZ2UubmFt
ZSArICI9Zm9vYmFyOyAiICsgc2hvcnRMaXZlZENvb2tpZU1heEFnZS5saWZldGltZSArICIgcGF0
aD0vIjsKLQotICAgICAgICBjb25zdCB0d2VsdmVIb3Vyc0FzRXhwaXJlc0RhdGUgPSBjcmVhdGVF
eHBpcmVzRGF0ZUZyb21NYXhBZ2UodHdlbHZlSG91cnNJblNlY29uZHMpOwotICAgICAgICBjb25z
dCBzaG9ydExpdmVkQ29va2llRXhwaXJlcyA9IHsgbmFtZSA6ICJzaG9ydExpdmVkQ29va2llRXhw
aXJlcyIsIGxpZmV0aW1lIDogIkV4cGlyZXM9IiArIHR3ZWx2ZUhvdXJzQXNFeHBpcmVzRGF0ZSAr
ICI7IiB9OwotICAgICAgICBkb2N1bWVudC5jb29raWUgPSBzaG9ydExpdmVkQ29va2llRXhwaXJl
cy5uYW1lICsgIj1mb29iYXI7ICIgKyBzaG9ydExpdmVkQ29va2llRXhwaXJlcy5saWZldGltZSAr
ICIgcGF0aD0vIjsKLQotICAgICAgICBjb25zdCBvbmVEYXlJblNlY29uZHMgPSAyICogdHdlbHZl
SG91cnNJblNlY29uZHM7Ci0gICAgICAgIGNvbnN0IHR3b0RheXNJblNlY29uZHMgPSAyICogb25l
RGF5SW5TZWNvbmRzOwotICAgICAgICBjb25zdCBsb25nTGl2ZWRDb29raWVNYXhBZ2UgPSB7IG5h
bWUgOiAibG9uZ0xpdmVkQ29va2llTWF4QWdlIiwgbGlmZXRpbWUgOiAiTWF4LUFnZT0iICsgdHdv
RGF5c0luU2Vjb25kcyArICI7IiB9OwotICAgICAgICBkb2N1bWVudC5jb29raWUgPSBsb25nTGl2
ZWRDb29raWVNYXhBZ2UubmFtZSArICI9Zm9vYmFyOyAiICsgbG9uZ0xpdmVkQ29va2llTWF4QWdl
LmxpZmV0aW1lICsgIiBwYXRoPS8iOwotCi0gICAgICAgIGNvbnN0IHR3b0RheXNBc0V4cGlyZXNE
YXRlID0gY3JlYXRlRXhwaXJlc0RhdGVGcm9tTWF4QWdlKHR3b0RheXNJblNlY29uZHMpOwotICAg
ICAgICBjb25zdCBsb25nTGl2ZWRDb29raWVFeHBpcmVzID0geyBuYW1lIDogImxvbmdMaXZlZENv
b2tpZUV4cGlyZXMiLCBsaWZldGltZSA6ICJFeHBpcmVzPSIgKyB0d29EYXlzQXNFeHBpcmVzRGF0
ZSArICI7IiB9OwotICAgICAgICBkb2N1bWVudC5jb29raWUgPSBsb25nTGl2ZWRDb29raWVFeHBp
cmVzLm5hbWUgKyAiPWZvb2JhcjsgIiArIGxvbmdMaXZlZENvb2tpZUV4cGlyZXMubGlmZXRpbWUg
KyAiIHBhdGg9LyI7Ci0KLSAgICAgICAgY29uc3Qgb3ZlclR3ZWx2ZUhvdXJzSW5TZWNvbmRzID0g
dHdlbHZlSG91cnNJblNlY29uZHMgKyAzMDsKLSAgICAgICAgY29uc3Qgb3Zlck9uZURheUluU2Vj
b25kcyA9IG9uZURheUluU2Vjb25kcyArIDMwOwotICAgICAgICBpZiAoaW50ZXJuYWxzKSB7Ci0g
ICAgICAgICAgICBsZXQgY29va2llcyA9IGludGVybmFscy5nZXRDb29raWVzKCk7Ci0gICAgICAg
ICAgICBpZiAoIWNvb2tpZXMubGVuZ3RoKQotICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoIk5v
IGNvb2tpZXMgZm91bmQuIik7Ci0gICAgICAgICAgICBmb3IgKGxldCBjb29raWUgb2YgY29va2ll
cykgewotICAgICAgICAgICAgICAgIHN3aXRjaCAoY29va2llLm5hbWUpIHsKLSAgICAgICAgICAg
ICAgICAgICAgY2FzZSBzaG9ydExpdmVkQ29va2llTWF4QWdlLm5hbWU6Ci0gICAgICAgICAgICAg
ICAgICAgICAgICBjaGVja1RoYXRDb29raWVEb2VzTm90RXhwaXJlQWZ0ZXIoY29va2llLCBvdmVy
VHdlbHZlSG91cnNJblNlY29uZHMpOwotICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7Ci0g
ICAgICAgICAgICAgICAgICAgIGNhc2Ugc2hvcnRMaXZlZENvb2tpZUV4cGlyZXMubmFtZToKLSAg
ICAgICAgICAgICAgICAgICAgICAgIGNoZWNrVGhhdENvb2tpZURvZXNOb3RFeHBpcmVBZnRlcihj
b29raWUsIG92ZXJUd2VsdmVIb3Vyc0luU2Vjb25kcyk7Ci0gICAgICAgICAgICAgICAgICAgICAg
ICBicmVhazsKLSAgICAgICAgICAgICAgICAgICAgY2FzZSBsb25nTGl2ZWRDb29raWVNYXhBZ2Uu
bmFtZToKLSAgICAgICAgICAgICAgICAgICAgICAgIGNoZWNrVGhhdENvb2tpZURvZXNOb3RFeHBp
cmVBZnRlcihjb29raWUsIG92ZXJPbmVEYXlJblNlY29uZHMpOwotICAgICAgICAgICAgICAgICAg
ICAgICAgYnJlYWs7Ci0gICAgICAgICAgICAgICAgICAgIGNhc2UgbG9uZ0xpdmVkQ29va2llRXhw
aXJlcy5uYW1lOgotICAgICAgICAgICAgICAgICAgICAgICAgY2hlY2tUaGF0Q29va2llRG9lc05v
dEV4cGlyZUFmdGVyKGNvb2tpZSwgb3Zlck9uZURheUluU2Vjb25kcyk7Ci0gICAgICAgICAgICAg
ICAgICAgICAgICBicmVhazsKLSAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICB9Ci0KLSAg
ICAgICAgICAgIHJlc2V0Q29va2llc0ZvckN1cnJlbnRPcmlnaW4oKTsKLQotICAgICAgICAgICAg
aWYgKHBhc3NlZFRlc3RzID09PSA0KSB7Ci0gICAgICAgICAgICAgICAgdGVzdFBhc3NlZCgiVGhl
IHR3byBzaG9ydC1saXZlZCBjb29raWVzIGRvbid0IGV4cGlyZSBhZnRlciBtb3JlIHRoYW4gIiAr
IG92ZXJUd2VsdmVIb3Vyc0luU2Vjb25kcyArICIgc2Vjb25kcy4iKTsKLSAgICAgICAgICAgICAg
ICB0ZXN0UGFzc2VkKCJUaGUgdHdvIGxvbmctbGl2ZWQgY29va2llcyBkb24ndCBleHBpcmUgYWZ0
ZXIgbW9yZSB0aGFuICIgKyBvdmVyT25lRGF5SW5TZWNvbmRzICsgIiBzZWNvbmRzLiIpOwotICAg
ICAgICAgICAgfSBlbHNlCi0gICAgICAgICAgICAgICAgdGVzdEZhaWxlZCgiQXQgbGVhc3Qgb25l
IGNvb2tpZSdzIGV4cGlyeSBhdHRyaWJ1dGUgd2FzIGJleW9uZCB0aGUgdGVzdCB0aHJlc2hvbGRz
LiIpOwotICAgICAgICB9IGVsc2UKLSAgICAgICAgICAgIHRlc3RGYWlsZWQoIk5vIGludGVybmFs
cyBvYmplY3QuIik7Ci0gICAgICAgIAotICAgICAgICBzZXRFbmFibGVGZWF0dXJlKGZhbHNlLCBm
aW5pc2hKU1Rlc3QpOwotICAgIH0KLQotICAgIGZ1bmN0aW9uIG5hdmlnYXRlQ3Jvc3NPcmlnaW4o
KSB7Ci0gICAgICAgIGRvY3VtZW50LmxvY2F0aW9uLmhyZWYgPSBkZXN0aW5hdGlvbk9yaWdpbiAr
ICIvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jYXBwZWQtbGlmZXRpbWUtZm9yLWNvb2tpZS1zZXQt
aW4tanMtd2l0aC1saW5rLXF1ZXJ5LWZyb20tcHJldmFsZW50LXJlc291cmNlLmh0bWw/bGluaz1x
dWVyeSI7Ci0gICAgfQotCi0gICAgY29uc3QgZGVzdGluYXRpb25PcmlnaW4gPSAiaHR0cDovL2xv
Y2FsaG9zdDo4MDAwIjsKLSAgICBjb25zdCBwcmV2YWxlbnRSZXNvdXJjZU9yaWdpbiA9ICJodHRw
Oi8vMTI3LjAuMC4xOjgwMDAiOwotICAgIGZ1bmN0aW9uIHJ1blRlc3QoKSB7Ci0gICAgICAgIGlm
IChkb2N1bWVudC5sb2NhdGlvbi5vcmlnaW4gPT09IHByZXZhbGVudFJlc291cmNlT3JpZ2luKSB7
Ci0gICAgICAgICAgICB0ZXN0UnVubmVyLnNldFVzZUlUUERhdGFiYXNlKHRydWUpOwotICAgICAg
ICAgICAgc2V0RW5hYmxlRmVhdHVyZSh0cnVlLCBmdW5jdGlvbiAoKSB7Ci0gICAgICAgICAgICAg
ICAgdGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNzUHJldmFsZW50UmVzb3VyY2UocHJldmFsZW50UmVz
b3VyY2VPcmlnaW4sIHRydWUsIGZ1bmN0aW9uKCkgewotICAgICAgICAgICAgICAgICAgICBpZiAo
IXRlc3RSdW5uZXIuaXNTdGF0aXN0aWNzUHJldmFsZW50UmVzb3VyY2UocHJldmFsZW50UmVzb3Vy
Y2VPcmlnaW4pKQotICAgICAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZCgiSG9zdCBkaWQg
bm90IGdldCBzZXQgYXMgcHJldmFsZW50IHJlc291cmNlLiIpOwotICAgICAgICAgICAgICAgICAg
ICB0ZXN0UnVubmVyLnN0YXRpc3RpY3NVcGRhdGVDb29raWVCbG9ja2luZyhuYXZpZ2F0ZUNyb3Nz
T3JpZ2luKTsKLSAgICAgICAgICAgICAgICB9KTsKLQotICAgICAgICAgICAgfSk7Ci0gICAgICAg
IH0gZWxzZSB7Ci0gICAgICAgICAgICB0ZXN0Q29va2llcygpOwotICAgICAgICB9Ci0gICAgfQot
PC9zY3JpcHQ+Ci08L2JvZHk+Ci08L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY2FwcGVkLWxpZmV0aW1lLWZvci1jb29raWUt
c2V0LWluLWpzLXdpdGhvdXQtbGluay1kZWNvcmF0aW9uLWZyb20tcHJldmFsZW50LXJlc291cmNl
LWRhdGFiYXNlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VM
b2FkU3RhdGlzdGljcy9jYXBwZWQtbGlmZXRpbWUtZm9yLWNvb2tpZS1zZXQtaW4tanMtd2l0aG91
dC1saW5rLWRlY29yYXRpb24tZnJvbS1wcmV2YWxlbnQtcmVzb3VyY2UtZGF0YWJhc2UtZXhwZWN0
ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAzYmY2NDlhNTdlMTM2NGMwNjA2
NDU2OTQxMzA0NTQxMTM3NDU4MzAxLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGlj
cy9jYXBwZWQtbGlmZXRpbWUtZm9yLWNvb2tpZS1zZXQtaW4tanMtd2l0aG91dC1saW5rLWRlY29y
YXRpb24tZnJvbS1wcmV2YWxlbnQtcmVzb3VyY2UtZGF0YWJhc2UtZXhwZWN0ZWQudHh0CisrKyAv
ZGV2L251bGwKQEAgLTEsMTAgKzAsMCBAQAotQ2hlY2sgdGhhdCBjb29raWVzIGNyZWF0ZWQgYnkg
SmF2YVNjcmlwdCBhZnRlciBhIGNyb3NzLXNpdGUgbmF2aWdhdGlvbiB3aXRob3V0IGxpbmsgZGVj
b3JhdGlvbiBkb24ndCBnZXQgY2FwcGVkIHRvIDI0IGhvdXJzLgotCi1PbiBzdWNjZXNzLCB5b3Ug
d2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBD
T01QTEVURSIuCi0KLQotUEFTUyBUaGUgdHdvIGxvbmctbGl2ZWQgY29va2llcyBleHBpcmUgYWZ0
ZXIgbW9yZSB0aGFuIDg2NDMwIHNlY29uZHMuCi1QQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0
cnVlCi0KLVRFU1QgQ09NUExFVEUKLQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0
cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NhcHBlZC1saWZldGltZS1mb3ItY29va2llLXNldC1p
bi1qcy13aXRob3V0LWxpbmstZGVjb3JhdGlvbi1mcm9tLXByZXZhbGVudC1yZXNvdXJjZS1kYXRh
YmFzZS5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNz
L2NhcHBlZC1saWZldGltZS1mb3ItY29va2llLXNldC1pbi1qcy13aXRob3V0LWxpbmstZGVjb3Jh
dGlvbi1mcm9tLXByZXZhbGVudC1yZXNvdXJjZS1kYXRhYmFzZS5odG1sCmRlbGV0ZWQgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCBhZTQ3YjQ5NDg3ZTg5NjcyOWQwYTRiNzc3MGI1MWQ3ODNmNGU4Y2Yw
Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRl
c3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jYXBwZWQtbGlmZXRpbWUtZm9y
LWNvb2tpZS1zZXQtaW4tanMtd2l0aG91dC1saW5rLWRlY29yYXRpb24tZnJvbS1wcmV2YWxlbnQt
cmVzb3VyY2UtZGF0YWJhc2UuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDg2ICswLDAgQEAKLTwh
RE9DVFlQRSBodG1sPgotPGh0bWw+Ci08aGVhZD4KLSAgICA8c2NyaXB0IHNyYz0iL2pzLXRlc3Qt
cmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgotICAgIDxzY3JpcHQgc3JjPSIvY29va2ll
cy9yZXNvdXJjZXMvY29va2llLXV0aWxpdGllcy5qcyI+PC9zY3JpcHQ+Ci0gICAgPHNjcmlwdCBz
cmM9InJlc291cmNlcy91dGlsLmpzIj48L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5IG9ubG9hZD0i
c2V0VGltZW91dCgncnVuVGVzdCgpJywgMCkiPgotPHNjcmlwdD4KLSAgICBkZXNjcmlwdGlvbigi
Q2hlY2sgdGhhdCBjb29raWVzIGNyZWF0ZWQgYnkgSmF2YVNjcmlwdCBhZnRlciBhIGNyb3NzLXNp
dGUgbmF2aWdhdGlvbiB3aXRob3V0IGxpbmsgZGVjb3JhdGlvbiBkb24ndCBnZXQgY2FwcGVkIHRv
IDI0IGhvdXJzLiIpOwotICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOwotCi0gICAgZnVuY3Rpb24g
dGVzdENvb2tpZXMoKSB7Ci0gICAgICAgIGxldCBwYXNzZWRUZXN0cyA9IDA7Ci0KLSAgICAgICAg
ZnVuY3Rpb24gY2hlY2tUaGF0Q29va2llRG9lc0V4cGlyZUFmdGVyKGNvb2tpZURhdGEsIG1heEFn
ZUluU2Vjb25kcykgewotICAgICAgICAgICAgbGV0IG5vdyA9IG5ldyBEYXRlKCk7Ci0gICAgICAg
ICAgICBsZXQgbWF4RXhwaXJ5RGF0ZUluTWlsbGlzZWNvbmRzID0gbm93LmdldFRpbWUoKSArICht
YXhBZ2VJblNlY29uZHMgKiAxMDAwKTsKLQotICAgICAgICAgICAgaWYgKG1heEV4cGlyeURhdGVJ
bk1pbGxpc2Vjb25kcyA8IGNvb2tpZURhdGFbImV4cGlyZXMiXSkKLSAgICAgICAgICAgICAgICAr
K3Bhc3NlZFRlc3RzOwotICAgICAgICAgICAgZWxzZQotICAgICAgICAgICAgICAgIHRlc3RGYWls
ZWQoIkNvb2tpZSBuYW1lZCAiICsgY29va2llRGF0YVsibmFtZSJdICsgIiBleHBpcmVzIGluIGxl
c3MgdGhhbiAiICsgbWF4QWdlSW5TZWNvbmRzICsgIiBzZWNvbmRzLiIpOwotICAgICAgICB9Ci0K
LSAgICAgICAgY29uc3Qgb25lRGF5SW5TZWNvbmRzID0gMjQgKiA2MCAqIDYwOwotICAgICAgICBj
b25zdCB0d29EYXlzSW5TZWNvbmRzID0gMiAqIG9uZURheUluU2Vjb25kczsKLSAgICAgICAgY29u
c3QgbG9uZ0xpdmVkQ29va2llTWF4QWdlID0geyBuYW1lIDogImxvbmdMaXZlZENvb2tpZU1heEFn
ZSIsIGxpZmV0aW1lIDogIk1heC1BZ2U9IiArIHR3b0RheXNJblNlY29uZHMgKyAiOyIgfTsKLSAg
ICAgICAgZG9jdW1lbnQuY29va2llID0gbG9uZ0xpdmVkQ29va2llTWF4QWdlLm5hbWUgKyAiPWZv
b2JhcjsgIiArIGxvbmdMaXZlZENvb2tpZU1heEFnZS5saWZldGltZSArICIgcGF0aD0vIjsKLQot
ICAgICAgICBjb25zdCB0d29EYXlzQXNFeHBpcmVzRGF0ZSA9IGNyZWF0ZUV4cGlyZXNEYXRlRnJv
bU1heEFnZSh0d29EYXlzSW5TZWNvbmRzKTsKLSAgICAgICAgY29uc3QgbG9uZ0xpdmVkQ29va2ll
RXhwaXJlcyA9IHsgbmFtZSA6ICJsb25nTGl2ZWRDb29raWVFeHBpcmVzIiwgbGlmZXRpbWUgOiAi
RXhwaXJlcz0iICsgdHdvRGF5c0FzRXhwaXJlc0RhdGUgKyAiOyIgfTsKLSAgICAgICAgZG9jdW1l
bnQuY29va2llID0gbG9uZ0xpdmVkQ29va2llRXhwaXJlcy5uYW1lICsgIj1mb29iYXI7ICIgKyBs
b25nTGl2ZWRDb29raWVFeHBpcmVzLmxpZmV0aW1lICsgIiBwYXRoPS8iOwotCi0gICAgICAgIGNv
bnN0IG92ZXJPbmVEYXlJblNlY29uZHMgPSBvbmVEYXlJblNlY29uZHMgKyAzMDsKLSAgICAgICAg
aWYgKGludGVybmFscykgewotICAgICAgICAgICAgbGV0IGNvb2tpZXMgPSBpbnRlcm5hbHMuZ2V0
Q29va2llcygpOwotICAgICAgICAgICAgaWYgKCFjb29raWVzLmxlbmd0aCkKLSAgICAgICAgICAg
ICAgICB0ZXN0RmFpbGVkKCJObyBjb29raWVzIGZvdW5kLiIpOwotICAgICAgICAgICAgZm9yIChs
ZXQgY29va2llIG9mIGNvb2tpZXMpIHsKLSAgICAgICAgICAgICAgICBzd2l0Y2ggKGNvb2tpZS5u
YW1lKSB7Ci0gICAgICAgICAgICAgICAgICAgIGNhc2UgbG9uZ0xpdmVkQ29va2llTWF4QWdlLm5h
bWU6Ci0gICAgICAgICAgICAgICAgICAgICAgICBjaGVja1RoYXRDb29raWVEb2VzRXhwaXJlQWZ0
ZXIoY29va2llLCBvdmVyT25lRGF5SW5TZWNvbmRzKTsKLSAgICAgICAgICAgICAgICAgICAgICAg
IGJyZWFrOwotICAgICAgICAgICAgICAgICAgICBjYXNlIGxvbmdMaXZlZENvb2tpZUV4cGlyZXMu
bmFtZToKLSAgICAgICAgICAgICAgICAgICAgICAgIGNoZWNrVGhhdENvb2tpZURvZXNFeHBpcmVB
ZnRlcihjb29raWUsIG92ZXJPbmVEYXlJblNlY29uZHMpOwotICAgICAgICAgICAgICAgICAgICAg
ICAgYnJlYWs7Ci0gICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgfQotCi0gICAgICAgICAg
ICByZXNldENvb2tpZXNGb3JDdXJyZW50T3JpZ2luKCk7Ci0KLSAgICAgICAgICAgIGlmIChwYXNz
ZWRUZXN0cyA9PT0gMikgewotICAgICAgICAgICAgICAgIHRlc3RQYXNzZWQoIlRoZSB0d28gbG9u
Zy1saXZlZCBjb29raWVzIGV4cGlyZSBhZnRlciBtb3JlIHRoYW4gIiArIG92ZXJPbmVEYXlJblNl
Y29uZHMgKyAiIHNlY29uZHMuIik7Ci0gICAgICAgICAgICB9IGVsc2UKLSAgICAgICAgICAgICAg
ICB0ZXN0RmFpbGVkKCJBdCBsZWFzdCBvbmUgY29va2llJ3MgZXhwaXJ5IGF0dHJpYnV0ZSB3YXMg
YmVsb3cgdGhlIHRlc3QgdGhyZXNob2xkcy4iKTsKLSAgICAgICAgfSBlbHNlCi0gICAgICAgICAg
ICB0ZXN0RmFpbGVkKCJObyBpbnRlcm5hbHMgb2JqZWN0LiIpOwotICAgICAgICAgICAgCi0gICAg
ICAgIHNldEVuYWJsZUZlYXR1cmUoZmFsc2UsIGZpbmlzaEpTVGVzdCk7Ci0gICAgfQotCi0gICAg
ZnVuY3Rpb24gbmF2aWdhdGVDcm9zc09yaWdpbigpIHsKLSAgICAgICAgZG9jdW1lbnQubG9jYXRp
b24uaHJlZiA9IGRlc3RpbmF0aW9uT3JpZ2luICsgIi9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2Nh
cHBlZC1saWZldGltZS1mb3ItY29va2llLXNldC1pbi1qcy13aXRob3V0LWxpbmstZGVjb3JhdGlv
bi1mcm9tLXByZXZhbGVudC1yZXNvdXJjZS5odG1sIjsKLSAgICB9Ci0KLSAgICBjb25zdCBkZXN0
aW5hdGlvbk9yaWdpbiA9ICJodHRwOi8vbG9jYWxob3N0OjgwMDAiOwotICAgIGNvbnN0IHByZXZh
bGVudFJlc291cmNlT3JpZ2luID0gImh0dHA6Ly8xMjcuMC4wLjE6ODAwMCI7Ci0gICAgZnVuY3Rp
b24gcnVuVGVzdCgpIHsKLSAgICAgICAgaWYgKGRvY3VtZW50LmxvY2F0aW9uLm9yaWdpbiA9PT0g
cHJldmFsZW50UmVzb3VyY2VPcmlnaW4pIHsKLSAgICAgICAgICAgIHRlc3RSdW5uZXIuc2V0VXNl
SVRQRGF0YWJhc2UodHJ1ZSk7Ci0gICAgICAgICAgICBzZXRFbmFibGVGZWF0dXJlKHRydWUsIGZ1
bmN0aW9uICgpIHsKLSAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NQcmV2
YWxlbnRSZXNvdXJjZShwcmV2YWxlbnRSZXNvdXJjZU9yaWdpbiwgdHJ1ZSwgZnVuY3Rpb24oKSB7
Ci0gICAgICAgICAgICAgICAgICAgIGlmICghdGVzdFJ1bm5lci5pc1N0YXRpc3RpY3NQcmV2YWxl
bnRSZXNvdXJjZShwcmV2YWxlbnRSZXNvdXJjZU9yaWdpbikpCi0gICAgICAgICAgICAgICAgICAg
ICAgICB0ZXN0RmFpbGVkKCJIb3N0IGRpZCBub3QgZ2V0IHNldCBhcyBwcmV2YWxlbnQgcmVzb3Vy
Y2UuIik7Ci0gICAgICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIuc3RhdGlzdGljc1VwZGF0ZUNv
b2tpZUJsb2NraW5nKG5hdmlnYXRlQ3Jvc3NPcmlnaW4pOwotICAgICAgICAgICAgICAgIH0pOwot
Ci0gICAgICAgICAgICB9KTsKLSAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAgIHRlc3RDb29r
aWVzKCk7Ci0gICAgICAgIH0KLSAgICB9Ci08L3NjcmlwdD4KLTwvYm9keT4KLTwvaHRtbD4KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9j
bGFzc2lmeS1hcy1ub24tcHJldmFsZW50LWJhc2VkLW9uLW1peGVkLXN0YXRpc3RpY3MtZGF0YWJh
c2UtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0
aXN0aWNzL2NsYXNzaWZ5LWFzLW5vbi1wcmV2YWxlbnQtYmFzZWQtb24tbWl4ZWQtc3RhdGlzdGlj
cy1kYXRhYmFzZS1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDIw
YzI1OGI4ZTAwNWQzNTU0MTgyYWYwNmQ0ODI1ODNhZTc3ZTVhMTMuLjAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNv
dXJjZUxvYWRTdGF0aXN0aWNzL2NsYXNzaWZ5LWFzLW5vbi1wcmV2YWxlbnQtYmFzZWQtb24tbWl4
ZWQtc3RhdGlzdGljcy1kYXRhYmFzZS1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSw1
ICswLDAgQEAKLVBBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKLQotVEVTVCBDT01QTEVU
RQotUEFTUyBIb3N0IGRpZCBub3QgZ2V0IGNsYXNzaWZpZWQgYXMgcHJldmFsZW50IHJlc291cmNl
LgotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRp
c3RpY3MvY2xhc3NpZnktYXMtbm9uLXByZXZhbGVudC1iYXNlZC1vbi1taXhlZC1zdGF0aXN0aWNz
LWRhdGFiYXNlLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRp
c3RpY3MvY2xhc3NpZnktYXMtbm9uLXByZXZhbGVudC1iYXNlZC1vbi1taXhlZC1zdGF0aXN0aWNz
LWRhdGFiYXNlLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDQwNWM4MjYzOGM2
OWM2M2Y0NGMxMzM0ODdjY2E2YTBkZWNmZGI4MzYuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRT
dGF0aXN0aWNzL2NsYXNzaWZ5LWFzLW5vbi1wcmV2YWxlbnQtYmFzZWQtb24tbWl4ZWQtc3RhdGlz
dGljcy1kYXRhYmFzZS5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsNTAgKzAsMCBAQAotPCFET0NU
WVBFIGh0bWw+Ci08aHRtbCBsYW5nPSJlbiI+Ci08aGVhZD4KLSAgICA8bWV0YSBjaGFyc2V0PSJV
VEYtOCI+Ci0gICAgPHRpdGxlPlRlc3RzIGZvciBDbGFzc2lmaWNhdGlvbiBCYXNlZCBvbiBNaXhl
ZCBTdGF0aXN0aWNzPC90aXRsZT4KLSAgICA8c2NyaXB0IHNyYz0iL2pzLXRlc3QtcmVzb3VyY2Vz
L2pzLXRlc3QuanMiPjwvc2NyaXB0PgotICAgIDxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvdXRpbC5q
cyI+PC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keT4KLTxzY3JpcHQ+Ci0gICAgY29uc3QgaG9zdFVu
ZGVyVGVzdCA9ICIxMjcuMC4wLjE6ODAwMCI7Ci0gICAgY29uc3Qgc3RhdGlzdGljc1VybCA9ICJo
dHRwOi8vIiArIGhvc3RVbmRlclRlc3QgKyAiL3RlbXAiOwotICAgIGNvbnN0IHRvcEZyYW1lT3Jp
Z2luMSA9ICJodHRwOi8vMTI3LjAuMC4yOjgwMDAvdGVtcCI7Ci0gICAgY29uc3QgdG9wRnJhbWVP
cmlnaW4yID0gImh0dHA6Ly8xMjcuMC4wLjM6ODAwMC90ZW1wIjsKLSAgICBjb25zdCB0b3BGcmFt
ZU9yaWdpbjMgPSAiaHR0cDovLzEyNy4wLjAuNDo4MDAwL3RlbXAiOwotCi0gICAgZnVuY3Rpb24g
Y29tcGxldGVUZXN0KCkgewotICAgICAgICBpZiAodGVzdFJ1bm5lci5pc1N0YXRpc3RpY3NQcmV2
YWxlbnRSZXNvdXJjZShzdGF0aXN0aWNzVXJsKSkKLSAgICAgICAgICAgIHRlc3RGYWlsZWQoIkhv
c3QgY2xhc3NpZmllZCBhcyBwcmV2YWxlbnQgcmVzb3VyY2UuIik7Ci0gICAgICAgIGVsc2UKLSAg
ICAgICAgICAgIHRlc3RQYXNzZWQoIkhvc3QgZGlkIG5vdCBnZXQgY2xhc3NpZmllZCBhcyBwcmV2
YWxlbnQgcmVzb3VyY2UuIik7Ci0KLSAgICAgICAgc2V0RW5hYmxlRmVhdHVyZShmYWxzZSwgZnVu
Y3Rpb24oKSB7Ci0gICAgICAgICAgICB0ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsKLSAgICAgICAg
fSk7Ci0gICAgfQotCi0gICAgZnVuY3Rpb24gcnVuVGVzdFJ1bm5lclRlc3QoKSB7Ci0gICAgICAg
IHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc1ByZXZhbGVudFJlc291cmNlKHN0YXRpc3RpY3NVcmws
IGZhbHNlLCBmdW5jdGlvbigpIHsKLSAgICAgICAgICAgIGlmICh0ZXN0UnVubmVyLmlzU3RhdGlz
dGljc1ByZXZhbGVudFJlc291cmNlKHN0YXRpc3RpY3NVcmwpKQotICAgICAgICAgICAgICAgIHRl
c3RGYWlsZWQoIkhvc3QgZGlkIG5vdCBnZXQgc2V0IGFzIG5vbi1wcmV2YWxlbnQgcmVzb3VyY2Uu
Iik7Ci0KLSAgICAgICAgICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc1N1YmZyYW1lVW5kZXJU
b3BGcmFtZU9yaWdpbihzdGF0aXN0aWNzVXJsLCB0b3BGcmFtZU9yaWdpbjEpOwotICAgICAgICAg
ICAgdGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNzU3VicmVzb3VyY2VVbmRlclRvcEZyYW1lT3JpZ2lu
KHN0YXRpc3RpY3NVcmwsIHRvcEZyYW1lT3JpZ2luMik7Ci0gICAgICAgICAgICB0ZXN0UnVubmVy
LnNldFN0YXRpc3RpY3NTdWJyZXNvdXJjZVVuaXF1ZVJlZGlyZWN0VG8oc3RhdGlzdGljc1VybCwg
dG9wRnJhbWVPcmlnaW4zKTsKLQotICAgICAgICAgICAgdGVzdFJ1bm5lci5pbnN0YWxsU3RhdGlz
dGljc0RpZFNjYW5EYXRhUmVjb3Jkc0NhbGxiYWNrKGNvbXBsZXRlVGVzdCk7Ci0KLSAgICAgICAg
ICAgIHRlc3RSdW5uZXIuc3RhdGlzdGljc1Byb2Nlc3NTdGF0aXN0aWNzQW5kRGF0YVJlY29yZHMo
KTsKLSAgICAgICAgfSk7Ci0gICAgfQotCi0gICAgaWYgKGRvY3VtZW50LmxvY2F0aW9uLmhvc3Qg
PT09IGhvc3RVbmRlclRlc3QgJiYgd2luZG93LnRlc3RSdW5uZXIgJiYgd2luZG93LmludGVybmFs
cykgewotICAgICAgICB0ZXN0UnVubmVyLnNldFVzZUlUUERhdGFiYXNlKHRydWUpOwotICAgICAg
ICB0ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTsKLSAgICAgICAgc2V0RW5hYmxlRmVhdHVyZSh0
cnVlLCBydW5UZXN0UnVubmVyVGVzdCk7Ci0gICAgfQotPC9zY3JpcHQ+Ci08L2JvZHk+Ci08L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRp
c3RpY3MvY2xhc3NpZnktYXMtbm9uLXByZXZhbGVudC1iYXNlZC1vbi1zdWItZnJhbWUtdW5kZXIt
dG9wLWZyYW1lLW9yaWdpbnMtZGF0YWJhc2UtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NsYXNzaWZ5LWFzLW5vbi1wcmV2YWxlbnQt
YmFzZWQtb24tc3ViLWZyYW1lLXVuZGVyLXRvcC1mcmFtZS1vcmlnaW5zLWRhdGFiYXNlLWV4cGVj
dGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMjBjMjU4YjhlMDA1ZDM1NTQx
ODJhZjA2ZDQ4MjU4M2FlNzdlNWExMy4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3Rp
Y3MvY2xhc3NpZnktYXMtbm9uLXByZXZhbGVudC1iYXNlZC1vbi1zdWItZnJhbWUtdW5kZXItdG9w
LWZyYW1lLW9yaWdpbnMtZGF0YWJhc2UtZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEs
NSArMCwwIEBACi1QQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCi0KLVRFU1QgQ09NUExF
VEUKLVBBU1MgSG9zdCBkaWQgbm90IGdldCBjbGFzc2lmaWVkIGFzIHByZXZhbGVudCByZXNvdXJj
ZS4KLQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0
aXN0aWNzL2NsYXNzaWZ5LWFzLW5vbi1wcmV2YWxlbnQtYmFzZWQtb24tc3ViLWZyYW1lLXVuZGVy
LXRvcC1mcmFtZS1vcmlnaW5zLWRhdGFiYXNlLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY2xhc3NpZnktYXMtbm9uLXByZXZhbGVudC1iYXNlZC1v
bi1zdWItZnJhbWUtdW5kZXItdG9wLWZyYW1lLW9yaWdpbnMtZGF0YWJhc2UuaHRtbApkZWxldGVk
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNWZiYjdiOTI2ZjJlMGNkZTk3OGYxYjU5ZTYxYzU3NmQ5
NWUyMjU3ZS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9M
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY2xhc3NpZnktYXMt
bm9uLXByZXZhbGVudC1iYXNlZC1vbi1zdWItZnJhbWUtdW5kZXItdG9wLWZyYW1lLW9yaWdpbnMt
ZGF0YWJhc2UuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDUyICswLDAgQEAKLTwhRE9DVFlQRSBo
dG1sPgotPGh0bWwgbGFuZz0iZW4iPgotPGhlYWQ+Ci0gICAgPG1ldGEgY2hhcnNldD0iVVRGLTgi
PgotICAgIDx0aXRsZT5UZXN0cyBmb3IgQ2xhc3NpZmljYXRpb24gQmFzZWQgb24gU3ViIEZyYW1l
IFVuZGVyIFRvcCBGcmFtZSBPcmlnaW5zPC90aXRsZT4KLSAgICA8c2NyaXB0IHNyYz0iL2pzLXRl
c3QtcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgotICAgIDxzY3JpcHQgc3JjPSJyZXNv
dXJjZXMvdXRpbC5qcyI+PC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keSBvbmxvYWQ9InJ1bigpIj4K
LTxzY3JpcHQ+Ci0gICAgY29uc3QgaG9zdFVuZGVyVGVzdCA9ICIxMjcuMC4wLjE6ODAwMCI7Ci0g
ICAgY29uc3Qgc3RhdGlzdGljc1VybCA9ICJodHRwOi8vIiArIGhvc3RVbmRlclRlc3QgKyAiL3Rl
bXAiOwotICAgIGNvbnN0IHRvcEZyYW1lT3JpZ2luMSA9ICJodHRwOi8vMTI3LjAuMC4yOjgwMDAv
dGVtcCI7Ci0gICAgY29uc3QgdG9wRnJhbWVPcmlnaW4yID0gImh0dHA6Ly8xMjcuMC4wLjM6ODAw
MC90ZW1wIjsKLSAgICBjb25zdCB0b3BGcmFtZU9yaWdpbjMgPSAiaHR0cDovLzEyNy4wLjAuNDo4
MDAwL3RlbXAiOwotCi0gICAgZnVuY3Rpb24gY29tcGxldGVUZXN0KCkgewotICAgICAgICBpZiAo
dGVzdFJ1bm5lci5pc1N0YXRpc3RpY3NQcmV2YWxlbnRSZXNvdXJjZShzdGF0aXN0aWNzVXJsKSkK
LSAgICAgICAgICAgIHRlc3RGYWlsZWQoIkhvc3QgY2xhc3NpZmllZCBhcyBwcmV2YWxlbnQgcmVz
b3VyY2UuIik7Ci0gICAgICAgIGVsc2UKLSAgICAgICAgICAgIHRlc3RQYXNzZWQoIkhvc3QgZGlk
IG5vdCBnZXQgY2xhc3NpZmllZCBhcyBwcmV2YWxlbnQgcmVzb3VyY2UuIik7Ci0KLSAgICAgICAg
c2V0RW5hYmxlRmVhdHVyZShmYWxzZSwgZnVuY3Rpb24oKSB7Ci0gICAgICAgICAgICB0ZXN0UnVu
bmVyLm5vdGlmeURvbmUoKTsKLSAgICAgICAgfSk7Ci0gICAgfQotCi0gICAgZnVuY3Rpb24gcnVu
VGVzdFJ1bm5lclRlc3QoKSB7Ci0gICAgICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc1ByZXZh
bGVudFJlc291cmNlKHN0YXRpc3RpY3NVcmwsIGZhbHNlLCBmdW5jdGlvbigpIHsKLSAgICAgICAg
ICAgIGlmICh0ZXN0UnVubmVyLmlzU3RhdGlzdGljc1ByZXZhbGVudFJlc291cmNlKHN0YXRpc3Rp
Y3NVcmwpKQotICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoIkhvc3QgZGlkIG5vdCBnZXQgc2V0
IGFzIG5vbi1wcmV2YWxlbnQgcmVzb3VyY2UuIik7Ci0KLSAgICAgICAgICAgIHRlc3RSdW5uZXIu
c2V0U3RhdGlzdGljc1N1YmZyYW1lVW5kZXJUb3BGcmFtZU9yaWdpbihzdGF0aXN0aWNzVXJsLCB0
b3BGcmFtZU9yaWdpbjEpOwotICAgICAgICAgICAgdGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNzU3Vi
ZnJhbWVVbmRlclRvcEZyYW1lT3JpZ2luKHN0YXRpc3RpY3NVcmwsIHRvcEZyYW1lT3JpZ2luMik7
Ci0gICAgICAgICAgICB0ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NTdWJmcmFtZVVuZGVyVG9wRnJh
bWVPcmlnaW4oc3RhdGlzdGljc1VybCwgdG9wRnJhbWVPcmlnaW4zKTsKLQotICAgICAgICAgICAg
dGVzdFJ1bm5lci5pbnN0YWxsU3RhdGlzdGljc0RpZFNjYW5EYXRhUmVjb3Jkc0NhbGxiYWNrKGNv
bXBsZXRlVGVzdCk7Ci0KLSAgICAgICAgICAgIHRlc3RSdW5uZXIuc3RhdGlzdGljc1Byb2Nlc3NT
dGF0aXN0aWNzQW5kRGF0YVJlY29yZHMoKTsKLSAgICAgICAgfSk7Ci0gICAgfQotCi0gICAgZnVu
Y3Rpb24gcnVuKCkgewotICAgICAgICBpZiAoZG9jdW1lbnQubG9jYXRpb24uaG9zdCA9PT0gaG9z
dFVuZGVyVGVzdCAmJiB3aW5kb3cudGVzdFJ1bm5lciAmJiB3aW5kb3cuaW50ZXJuYWxzKSB7Ci0g
ICAgICAgICAgICB0ZXN0UnVubmVyLnNldFVzZUlUUERhdGFiYXNlKHRydWUpOwotICAgICAgICAg
ICAgdGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7Ci0gICAgICAgICAgICBzZXRFbmFibGVGZWF0
dXJlKHRydWUsIHJ1blRlc3RSdW5uZXJUZXN0KTsKLSAgICAgICAgfQotICAgIH0KLTwvc2NyaXB0
PgotPC9ib2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9y
ZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NsYXNzaWZ5LWFzLW5vbi1wcmV2YWxlbnQtYmFzZWQtb24t
c3VicmVzb3VyY2UtdW5kZXItdG9wLWZyYW1lLW9yaWdpbnMtZGF0YWJhc2UtZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NsYXNzaWZ5
LWFzLW5vbi1wcmV2YWxlbnQtYmFzZWQtb24tc3VicmVzb3VyY2UtdW5kZXItdG9wLWZyYW1lLW9y
aWdpbnMtZGF0YWJhc2UtZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAyMGMyNThiOGUwMDVkMzU1NDE4MmFmMDZkNDgyNTgzYWU3N2U1YTEzLi4wMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMv
cmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jbGFzc2lmeS1hcy1ub24tcHJldmFsZW50LWJhc2VkLW9u
LXN1YnJlc291cmNlLXVuZGVyLXRvcC1mcmFtZS1vcmlnaW5zLWRhdGFiYXNlLWV4cGVjdGVkLnR4
dAorKysgL2Rldi9udWxsCkBAIC0xLDUgKzAsMCBAQAotUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQg
aXMgdHJ1ZQotCi1URVNUIENPTVBMRVRFCi1QQVNTIEhvc3QgZGlkIG5vdCBnZXQgY2xhc3NpZmll
ZCBhcyBwcmV2YWxlbnQgcmVzb3VyY2UuCi0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAv
dGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jbGFzc2lmeS1hcy1ub24tcHJldmFsZW50LWJh
c2VkLW9uLXN1YnJlc291cmNlLXVuZGVyLXRvcC1mcmFtZS1vcmlnaW5zLWRhdGFiYXNlLmh0bWwg
Yi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY2xhc3NpZnkt
YXMtbm9uLXByZXZhbGVudC1iYXNlZC1vbi1zdWJyZXNvdXJjZS11bmRlci10b3AtZnJhbWUtb3Jp
Z2lucy1kYXRhYmFzZS5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAxY2E1ZmE0
YzI0NzU0ODlhNmUzYmUzN2VhYzA2NGQ4NTNiZTM5ZjJkLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VM
b2FkU3RhdGlzdGljcy9jbGFzc2lmeS1hcy1ub24tcHJldmFsZW50LWJhc2VkLW9uLXN1YnJlc291
cmNlLXVuZGVyLXRvcC1mcmFtZS1vcmlnaW5zLWRhdGFiYXNlLmh0bWwKKysrIC9kZXYvbnVsbApA
QCAtMSw0OCArMCwwIEBACi08IURPQ1RZUEUgaHRtbD4KLTxodG1sIGxhbmc9ImVuIj4KLTxoZWFk
PgotICAgIDxtZXRhIGNoYXJzZXQ9IlVURi04Ij4KLSAgICA8dGl0bGU+VGVzdHMgZm9yIENsYXNz
aWZpY2F0aW9uIEJhc2VkIG9uIFN1YnJlc291cmNlIFVuZGVyIFRvcCBGcmFtZSBPcmlnaW5zPC90
aXRsZT4KLSAgICA8c2NyaXB0IHNyYz0iL2pzLXRlc3QtcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwv
c2NyaXB0PgotICAgIDxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvdXRpbC5qcyI+PC9zY3JpcHQ+Ci08
L2hlYWQ+Ci08Ym9keT4KLTxzY3JpcHQ+Ci0gICAgY29uc3QgaG9zdFVuZGVyVGVzdCA9ICIxMjcu
MC4wLjE6ODAwMCI7Ci0gICAgY29uc3Qgc3RhdGlzdGljc1VybCA9ICJodHRwOi8vIiArIGhvc3RV
bmRlclRlc3QgKyAiL3RlbXAiOwotICAgIGNvbnN0IHRvcEZyYW1lT3JpZ2luMSA9ICJodHRwOi8v
MTI3LjAuMC4yOjgwMDAvdGVtcCI7Ci0gICAgY29uc3QgdG9wRnJhbWVPcmlnaW4yID0gImh0dHA6
Ly8xMjcuMC4wLjM6ODAwMC90ZW1wIjsKLQotICAgIGZ1bmN0aW9uIGNvbXBsZXRlVGVzdCgpIHsK
LSAgICAgICAgaWYgKHRlc3RSdW5uZXIuaXNTdGF0aXN0aWNzUHJldmFsZW50UmVzb3VyY2Uoc3Rh
dGlzdGljc1VybCkpCi0gICAgICAgICAgICB0ZXN0RmFpbGVkKCJIb3N0IGNsYXNzaWZpZWQgYXMg
cHJldmFsZW50IHJlc291cmNlLiIpOwotICAgICAgICBlbHNlCi0gICAgICAgICAgICB0ZXN0UGFz
c2VkKCJIb3N0IGRpZCBub3QgZ2V0IGNsYXNzaWZpZWQgYXMgcHJldmFsZW50IHJlc291cmNlLiIp
OwotCi0gICAgICAgIHNldEVuYWJsZUZlYXR1cmUoZmFsc2UsIGZ1bmN0aW9uKCkgewotICAgICAg
ICAgICAgdGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7Ci0gICAgICAgIH0pOwotICAgIH0KLQotICAg
IGZ1bmN0aW9uIHJ1blRlc3RSdW5uZXJUZXN0KCkgeyAKLSAgICAgICAgdGVzdFJ1bm5lci5zZXRT
dGF0aXN0aWNzUHJldmFsZW50UmVzb3VyY2Uoc3RhdGlzdGljc1VybCwgZmFsc2UsIGZ1bmN0aW9u
KCkgewotICAgICAgICAgICAgaWYgKHRlc3RSdW5uZXIuaXNTdGF0aXN0aWNzUHJldmFsZW50UmVz
b3VyY2Uoc3RhdGlzdGljc1VybCkpCi0gICAgICAgICAgICAgICAgdGVzdEZhaWxlZCgiSG9zdCBk
aWQgbm90IGdldCBzZXQgYXMgbm9uLXByZXZhbGVudCByZXNvdXJjZS4iKTsKLQotICAgICAgICAg
ICAgdGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNzU3VicmVzb3VyY2VVbmRlclRvcEZyYW1lT3JpZ2lu
KHN0YXRpc3RpY3NVcmwsIHRvcEZyYW1lT3JpZ2luMSk7Ci0gICAgICAgICAgICB0ZXN0UnVubmVy
LnNldFN0YXRpc3RpY3NTdWJyZXNvdXJjZVVuZGVyVG9wRnJhbWVPcmlnaW4oc3RhdGlzdGljc1Vy
bCwgdG9wRnJhbWVPcmlnaW4yKTsKLQotICAgICAgICAgICAgdGVzdFJ1bm5lci5pbnN0YWxsU3Rh
dGlzdGljc0RpZFNjYW5EYXRhUmVjb3Jkc0NhbGxiYWNrKGNvbXBsZXRlVGVzdCk7Ci0KLSAgICAg
ICAgICAgIHRlc3RSdW5uZXIuc3RhdGlzdGljc1Byb2Nlc3NTdGF0aXN0aWNzQW5kRGF0YVJlY29y
ZHMoKTsKLSAgICAgICAgfSk7Ci0gICAgfQotCi0gICAgaWYgKGRvY3VtZW50LmxvY2F0aW9uLmhv
c3QgPT09IGhvc3RVbmRlclRlc3QgJiYgd2luZG93LnRlc3RSdW5uZXIgJiYgd2luZG93LmludGVy
bmFscykgewotICAgICAgICB0ZXN0UnVubmVyLnNldFVzZUlUUERhdGFiYXNlKHRydWUpOwotICAg
ICAgICB0ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTsKLSAgICAgICAgc2V0RW5hYmxlRmVhdHVy
ZSh0cnVlLCBydW5UZXN0UnVubmVyVGVzdCk7Ci0gICAgfQotPC9zY3JpcHQ+Ci08L2JvZHk+Ci08
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0
YXRpc3RpY3MvY2xhc3NpZnktYXMtbm9uLXByZXZhbGVudC1iYXNlZC1vbi1zdWJyZXNvdXJjZS11
bmlxdWUtcmVkaXJlY3RzLXRvLWRhdGFiYXNlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0
dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jbGFzc2lmeS1hcy1ub24tcHJldmFsZW50
LWJhc2VkLW9uLXN1YnJlc291cmNlLXVuaXF1ZS1yZWRpcmVjdHMtdG8tZGF0YWJhc2UtZXhwZWN0
ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAyMGMyNThiOGUwMDVkMzU1NDE4
MmFmMDZkNDgyNTgzYWU3N2U1YTEzLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGlj
cy9jbGFzc2lmeS1hcy1ub24tcHJldmFsZW50LWJhc2VkLW9uLXN1YnJlc291cmNlLXVuaXF1ZS1y
ZWRpcmVjdHMtdG8tZGF0YWJhc2UtZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEsNSAr
MCwwIEBACi1QQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCi0KLVRFU1QgQ09NUExFVEUK
LVBBU1MgSG9zdCBkaWQgbm90IGdldCBjbGFzc2lmaWVkIGFzIHByZXZhbGVudCByZXNvdXJjZS4K
LQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0
aWNzL2NsYXNzaWZ5LWFzLW5vbi1wcmV2YWxlbnQtYmFzZWQtb24tc3VicmVzb3VyY2UtdW5pcXVl
LXJlZGlyZWN0cy10by1kYXRhYmFzZS5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNv
dXJjZUxvYWRTdGF0aXN0aWNzL2NsYXNzaWZ5LWFzLW5vbi1wcmV2YWxlbnQtYmFzZWQtb24tc3Vi
cmVzb3VyY2UtdW5pcXVlLXJlZGlyZWN0cy10by1kYXRhYmFzZS5odG1sCmRlbGV0ZWQgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCA2MjUxNjhmYmYzMDA2NmNjOTg4MGMxMTViZWIxZGUyNzFiMWVjMDQ3
Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRl
c3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jbGFzc2lmeS1hcy1ub24tcHJl
dmFsZW50LWJhc2VkLW9uLXN1YnJlc291cmNlLXVuaXF1ZS1yZWRpcmVjdHMtdG8tZGF0YWJhc2Uu
aHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDQ4ICswLDAgQEAKLTwhRE9DVFlQRSBodG1sPgotPGh0
bWwgbGFuZz0iZW4iPgotPGhlYWQ+Ci0gICAgPG1ldGEgY2hhcnNldD0iVVRGLTgiPgotICAgIDx0
aXRsZT5UZXN0cyBmb3IgQ2xhc3NpZmljYXRpb24gQmFzZWQgb24gU3VicmVzb3VyY2UgVW5pcXVl
IFJlZGlyZWN0cyBUbzwvdGl0bGU+Ci0gICAgPHNjcmlwdCBzcmM9Ii9qcy10ZXN0LXJlc291cmNl
cy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KLSAgICA8c2NyaXB0IHNyYz0icmVzb3VyY2VzL3V0aWwu
anMiPjwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHk+Ci08c2NyaXB0PgotICAgIGNvbnN0IGhvc3RV
bmRlclRlc3QgPSAiMTI3LjAuMC4xOjgwMDAiOwotICAgIGNvbnN0IHN0YXRpc3RpY3NVcmwgPSAi
aHR0cDovLyIgKyBob3N0VW5kZXJUZXN0ICsgIi90ZW1wIjsKLSAgICBjb25zdCB0b3BGcmFtZU9y
aWdpbjEgPSAiaHR0cDovLzEyNy4wLjAuMjo4MDAwL3RlbXAiOwotICAgIGNvbnN0IHRvcEZyYW1l
T3JpZ2luMiA9ICJodHRwOi8vMTI3LjAuMC4zOjgwMDAvdGVtcCI7Ci0KLSAgICBmdW5jdGlvbiBj
b21wbGV0ZVRlc3QoKSB7Ci0gICAgICAgIGlmICh0ZXN0UnVubmVyLmlzU3RhdGlzdGljc1ByZXZh
bGVudFJlc291cmNlKHN0YXRpc3RpY3NVcmwpKQotICAgICAgICAgICAgdGVzdEZhaWxlZCgiSG9z
dCBjbGFzc2lmaWVkIGFzIHByZXZhbGVudCByZXNvdXJjZS4iKTsKLSAgICAgICAgZWxzZQotICAg
ICAgICAgICAgdGVzdFBhc3NlZCgiSG9zdCBkaWQgbm90IGdldCBjbGFzc2lmaWVkIGFzIHByZXZh
bGVudCByZXNvdXJjZS4iKTsKLQotICAgICAgICBzZXRFbmFibGVGZWF0dXJlKGZhbHNlLCBmdW5j
dGlvbigpIHsKLSAgICAgICAgICAgIHRlc3RSdW5uZXIubm90aWZ5RG9uZSgpOwotICAgICAgICB9
KTsKLSAgICB9Ci0KLSAgICBmdW5jdGlvbiBydW5UZXN0UnVubmVyVGVzdCgpIHsKLSAgICAgICAg
dGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNzUHJldmFsZW50UmVzb3VyY2Uoc3RhdGlzdGljc1VybCwg
ZmFsc2UsIGZ1bmN0aW9uKCkgewotICAgICAgICAgICAgaWYgKHRlc3RSdW5uZXIuaXNTdGF0aXN0
aWNzUHJldmFsZW50UmVzb3VyY2Uoc3RhdGlzdGljc1VybCkpCi0gICAgICAgICAgICAgICAgdGVz
dEZhaWxlZCgiSG9zdCBkaWQgbm90IGdldCBzZXQgYXMgbm9uLXByZXZhbGVudCByZXNvdXJjZS4i
KTsKLQotICAgICAgICAgICAgdGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNzU3VicmVzb3VyY2VVbmlx
dWVSZWRpcmVjdFRvKHN0YXRpc3RpY3NVcmwsIHRvcEZyYW1lT3JpZ2luMSk7Ci0gICAgICAgICAg
ICB0ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NTdWJyZXNvdXJjZVVuaXF1ZVJlZGlyZWN0VG8oc3Rh
dGlzdGljc1VybCwgdG9wRnJhbWVPcmlnaW4yKTsKLQotICAgICAgICAgICAgdGVzdFJ1bm5lci5p
bnN0YWxsU3RhdGlzdGljc0RpZFNjYW5EYXRhUmVjb3Jkc0NhbGxiYWNrKGNvbXBsZXRlVGVzdCk7
Ci0KLSAgICAgICAgICAgIHRlc3RSdW5uZXIuc3RhdGlzdGljc1Byb2Nlc3NTdGF0aXN0aWNzQW5k
RGF0YVJlY29yZHMoKTsKLSAgICAgICAgfSk7Ci0gICAgfQotCi0gICAgaWYgKGRvY3VtZW50Lmxv
Y2F0aW9uLmhvc3QgPT09IGhvc3RVbmRlclRlc3QgJiYgd2luZG93LnRlc3RSdW5uZXIgJiYgd2lu
ZG93LmludGVybmFscykgewotICAgICAgICB0ZXN0UnVubmVyLnNldFVzZUlUUERhdGFiYXNlKHRy
dWUpOwotICAgICAgICB0ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTsKLSAgICAgICAgc2V0RW5h
YmxlRmVhdHVyZSh0cnVlLCBydW5UZXN0UnVubmVyVGVzdCk7Ci0gICAgfQotPC9zY3JpcHQ+Ci08
L2JvZHk+Ci08L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291
cmNlTG9hZFN0YXRpc3RpY3MvY2xhc3NpZnktYXMtcHJldmFsZW50LWJhc2VkLW9uLW1peGVkLXN0
YXRpc3RpY3MtZGF0YWJhc2UtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9y
ZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NsYXNzaWZ5LWFzLXByZXZhbGVudC1iYXNlZC1vbi1taXhl
ZC1zdGF0aXN0aWNzLWRhdGFiYXNlLWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMzJkZDY5Zjk0MTlmNTE5ODk1N2YwOTA4ZGQ2NzRkNjg0MzZjYjljNy4uMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY2xhc3NpZnktYXMtcHJldmFsZW50LWJhc2Vk
LW9uLW1peGVkLXN0YXRpc3RpY3MtZGF0YWJhc2UtZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwK
QEAgLTEsNSArMCwwIEBACi1QQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCi0KLVRFU1Qg
Q09NUExFVEUKLVBBU1MgSG9zdCBjbGFzc2lmaWVkIGFzIHByZXZhbGVudCByZXNvdXJjZS4KLQpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNz
L2NsYXNzaWZ5LWFzLXByZXZhbGVudC1iYXNlZC1vbi1taXhlZC1zdGF0aXN0aWNzLWRhdGFiYXNl
Lmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY2xh
c3NpZnktYXMtcHJldmFsZW50LWJhc2VkLW9uLW1peGVkLXN0YXRpc3RpY3MtZGF0YWJhc2UuaHRt
bApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMzc1NjhhYjQ1YzcwN2EzYmQyZDBhZWNm
YTMxNTk2ZDg1MTNmZjlmYi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY2xh
c3NpZnktYXMtcHJldmFsZW50LWJhc2VkLW9uLW1peGVkLXN0YXRpc3RpY3MtZGF0YWJhc2UuaHRt
bAorKysgL2Rldi9udWxsCkBAIC0xLDU5ICswLDAgQEAKLTwhRE9DVFlQRSBodG1sPgotPGh0bWwg
bGFuZz0iZW4iPgotPGhlYWQ+Ci0gICAgPG1ldGEgY2hhcnNldD0iVVRGLTgiPgotICAgIDx0aXRs
ZT5UZXN0cyBmb3IgQ2xhc3NpZmljYXRpb24gQmFzZWQgb24gTWl4ZWQgU3RhdGlzdGljczwvdGl0
bGU+Ci0gICAgPHNjcmlwdCBzcmM9Ii9qcy10ZXN0LXJlc291cmNlcy9qcy10ZXN0LmpzIj48L3Nj
cmlwdD4KLSAgICA8c2NyaXB0IHNyYz0icmVzb3VyY2VzL3V0aWwuanMiPjwvc2NyaXB0PgotPC9o
ZWFkPgotPGJvZHk+Ci08c2NyaXB0PgotICAgIGNvbnN0IGhvc3RVbmRlclRlc3QgPSAiMTI3LjAu
MC4xOjgwMDAiOwotICAgIGNvbnN0IHN0YXRpc3RpY3NVcmwgPSAiaHR0cDovLyIgKyBob3N0VW5k
ZXJUZXN0ICsgIi90ZW1wIjsKLSAgICBjb25zdCB0b3BGcmFtZU9yaWdpbjEgPSAiaHR0cDovLzEy
Ny4wLjAuMjo4MDAwL3RlbXAiOwotICAgIGNvbnN0IHRvcEZyYW1lT3JpZ2luMiA9ICJodHRwOi8v
MTI3LjAuMC4zOjgwMDAvdGVtcCI7Ci0gICAgY29uc3QgdG9wRnJhbWVPcmlnaW4zID0gImh0dHA6
Ly8xMjcuMC4wLjQ6ODAwMC90ZW1wIjsKLSAgICBjb25zdCB0b3BGcmFtZU9yaWdpbjQgPSAiaHR0
cDovLzEyNy4wLjAuNTo4MDAwL3RlbXAiOwotCi0gICAgZnVuY3Rpb24gY29tcGxldGVUZXN0KCkg
ewotICAgICAgICBpZiAoIXRlc3RSdW5uZXIuaXNTdGF0aXN0aWNzUHJldmFsZW50UmVzb3VyY2Uo
c3RhdGlzdGljc1VybCkpCi0gICAgICAgICAgICB0ZXN0RmFpbGVkKCJIb3N0IGRpZCBub3QgZ2V0
IGNsYXNzaWZpZWQgYXMgcHJldmFsZW50IHJlc291cmNlLiIpOwotICAgICAgICBpZiAodGVzdFJ1
bm5lci5pc1N0YXRpc3RpY3NWZXJ5UHJldmFsZW50UmVzb3VyY2Uoc3RhdGlzdGljc1VybCkpCi0g
ICAgICAgICAgICB0ZXN0RmFpbGVkKCJIb3N0IGdvdCBjbGFzc2lmaWVkIGFzIHZlcnkgcHJldmFs
ZW50IHJlc291cmNlLiIpOwotICAgICAgICBlbHNlCi0gICAgICAgICAgICB0ZXN0UGFzc2VkKCJI
b3N0IGNsYXNzaWZpZWQgYXMgcHJldmFsZW50IHJlc291cmNlLiIpOwotCi0gICAgICAgIHNldEVu
YWJsZUZlYXR1cmUoZmFsc2UsIGZ1bmN0aW9uKCkgewotICAgICAgICAgICAgdGVzdFJ1bm5lci5u
b3RpZnlEb25lKCk7Ci0gICAgICAgIH0pOwotICAgIH0KLQotICAgIGZ1bmN0aW9uIHJ1blRlc3RS
dW5uZXJUZXN0KCkgeyAKLSAgICAgICAgdGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNzUHJldmFsZW50
UmVzb3VyY2Uoc3RhdGlzdGljc1VybCwgZmFsc2UsIGZ1bmN0aW9uKCkgewotICAgICAgICAgICAg
aWYgKHRlc3RSdW5uZXIuaXNTdGF0aXN0aWNzUHJldmFsZW50UmVzb3VyY2Uoc3RhdGlzdGljc1Vy
bCkpCi0gICAgICAgICAgICAgICAgdGVzdEZhaWxlZCgiSG9zdCBkaWQgbm90IGdldCBzZXQgYXMg
bm9uLXByZXZhbGVudCByZXNvdXJjZS4iKTsKLQotICAgICAgICAgICAgdGVzdFJ1bm5lci5zZXRT
dGF0aXN0aWNzU3ViZnJhbWVVbmRlclRvcEZyYW1lT3JpZ2luKHN0YXRpc3RpY3NVcmwsIHRvcEZy
YW1lT3JpZ2luMSk7Ci0gICAgICAgICAgICB0ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NTdWJmcmFt
ZVVuZGVyVG9wRnJhbWVPcmlnaW4oc3RhdGlzdGljc1VybCwgdG9wRnJhbWVPcmlnaW40KTsKLQot
ICAgICAgICAgICAgdGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNzU3VicmVzb3VyY2VVbmRlclRvcEZy
YW1lT3JpZ2luKHN0YXRpc3RpY3NVcmwsIHRvcEZyYW1lT3JpZ2luMik7Ci0gICAgICAgICAgICB0
ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NTdWJyZXNvdXJjZVVuZGVyVG9wRnJhbWVPcmlnaW4oc3Rh
dGlzdGljc1VybCwgdG9wRnJhbWVPcmlnaW4zKTsKLSAgICAgICAgICAgIHRlc3RSdW5uZXIuc2V0
U3RhdGlzdGljc1N1YnJlc291cmNlVW5kZXJUb3BGcmFtZU9yaWdpbihzdGF0aXN0aWNzVXJsLCB0
b3BGcmFtZU9yaWdpbjQpOwotCi0gICAgICAgICAgICB0ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NT
dWJyZXNvdXJjZVVuaXF1ZVJlZGlyZWN0VG8oc3RhdGlzdGljc1VybCwgdG9wRnJhbWVPcmlnaW4z
KTsKLSAgICAgICAgICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc1N1YnJlc291cmNlVW5pcXVl
UmVkaXJlY3RUbyhzdGF0aXN0aWNzVXJsLCB0b3BGcmFtZU9yaWdpbjEpOwotCi0gICAgICAgICAg
ICB0ZXN0UnVubmVyLmluc3RhbGxTdGF0aXN0aWNzRGlkU2NhbkRhdGFSZWNvcmRzQ2FsbGJhY2so
Y29tcGxldGVUZXN0KTsKLQotICAgICAgICAgICAgdGVzdFJ1bm5lci5zdGF0aXN0aWNzUHJvY2Vz
c1N0YXRpc3RpY3NBbmREYXRhUmVjb3JkcygpOwotICAgICAgICB9KTsKLSAgICB9Ci0KLSAgICBp
ZiAoZG9jdW1lbnQubG9jYXRpb24uaG9zdCA9PT0gaG9zdFVuZGVyVGVzdCAmJiB3aW5kb3cudGVz
dFJ1bm5lciAmJiB3aW5kb3cuaW50ZXJuYWxzKSB7Ci0gICAgICAgIHRlc3RSdW5uZXIuc2V0VXNl
SVRQRGF0YWJhc2UodHJ1ZSk7Ci0gICAgICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOwot
ICAgICAgICBzZXRFbmFibGVGZWF0dXJlKHRydWUsIHJ1blRlc3RSdW5uZXJUZXN0KTsKLSAgICB9
Ci08L3NjcmlwdD4KLTwvYm9keT4KLTwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0
dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jbGFzc2lmeS1hcy1wcmV2YWxlbnQtYmFz
ZWQtb24tc3ViLWZyYW1lLXVuZGVyLXRvcC1mcmFtZS1vcmlnaW5zLWRhdGFiYXNlLWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jbGFz
c2lmeS1hcy1wcmV2YWxlbnQtYmFzZWQtb24tc3ViLWZyYW1lLXVuZGVyLXRvcC1mcmFtZS1vcmln
aW5zLWRhdGFiYXNlLWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MzJkZDY5Zjk0MTlmNTE5ODk1N2YwOTA4ZGQ2NzRkNjg0MzZjYjljNy4uMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jl
c291cmNlTG9hZFN0YXRpc3RpY3MvY2xhc3NpZnktYXMtcHJldmFsZW50LWJhc2VkLW9uLXN1Yi1m
cmFtZS11bmRlci10b3AtZnJhbWUtb3JpZ2lucy1kYXRhYmFzZS1leHBlY3RlZC50eHQKKysrIC9k
ZXYvbnVsbApAQCAtMSw1ICswLDAgQEAKLVBBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUK
LQotVEVTVCBDT01QTEVURQotUEFTUyBIb3N0IGNsYXNzaWZpZWQgYXMgcHJldmFsZW50IHJlc291
cmNlLgotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0
YXRpc3RpY3MvY2xhc3NpZnktYXMtcHJldmFsZW50LWJhc2VkLW9uLXN1Yi1mcmFtZS11bmRlci10
b3AtZnJhbWUtb3JpZ2lucy1kYXRhYmFzZS5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9y
ZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NsYXNzaWZ5LWFzLXByZXZhbGVudC1iYXNlZC1vbi1zdWIt
ZnJhbWUtdW5kZXItdG9wLWZyYW1lLW9yaWdpbnMtZGF0YWJhc2UuaHRtbApkZWxldGVkIGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggNTQ0M2ZjYTQxZTE4NGY5YWNlNGZmZmVlMTczMTAwZTU5ZDQ5MDBl
My4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRU
ZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY2xhc3NpZnktYXMtcHJldmFs
ZW50LWJhc2VkLW9uLXN1Yi1mcmFtZS11bmRlci10b3AtZnJhbWUtb3JpZ2lucy1kYXRhYmFzZS5o
dG1sCisrKyAvZGV2L251bGwKQEAgLTEsNTQgKzAsMCBAQAotPCFET0NUWVBFIGh0bWw+Ci08aHRt
bCBsYW5nPSJlbiI+Ci08aGVhZD4KLSAgICA8bWV0YSBjaGFyc2V0PSJVVEYtOCI+Ci0gICAgPHRp
dGxlPlRlc3RzIGZvciBDbGFzc2lmaWNhdGlvbiBCYXNlZCBvbiBTdWIgRnJhbWUgVW5kZXIgVG9w
IEZyYW1lIE9yaWdpbnM8L3RpdGxlPgotICAgIDxzY3JpcHQgc3JjPSIvanMtdGVzdC1yZXNvdXJj
ZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+Ci0gICAgPHNjcmlwdCBzcmM9InJlc291cmNlcy91dGls
LmpzIj48L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5PgotPHNjcmlwdD4KLSAgICBjb25zdCBob3N0
VW5kZXJUZXN0ID0gIjEyNy4wLjAuMTo4MDAwIjsKLSAgICBjb25zdCBzdGF0aXN0aWNzVXJsID0g
Imh0dHA6Ly8iICsgaG9zdFVuZGVyVGVzdCArICIvdGVtcCI7Ci0gICAgY29uc3QgdG9wRnJhbWVP
cmlnaW4xID0gImh0dHA6Ly8xMjcuMC4wLjI6ODAwMC90ZW1wIjsKLSAgICBjb25zdCB0b3BGcmFt
ZU9yaWdpbjIgPSAiaHR0cDovLzEyNy4wLjAuMzo4MDAwL3RlbXAiOwotICAgIGNvbnN0IHRvcEZy
YW1lT3JpZ2luMyA9ICJodHRwOi8vMTI3LjAuMC40OjgwMDAvdGVtcCI7Ci0gICAgY29uc3QgdG9w
RnJhbWVPcmlnaW40ID0gImh0dHA6Ly8xMjcuMC4wLjU6ODAwMC90ZW1wIjsKLQotICAgIGZ1bmN0
aW9uIGNvbXBsZXRlVGVzdCgpIHsKLSAgICAgICAgaWYgKCF0ZXN0UnVubmVyLmlzU3RhdGlzdGlj
c1ByZXZhbGVudFJlc291cmNlKHN0YXRpc3RpY3NVcmwpKQotICAgICAgICAgICAgdGVzdEZhaWxl
ZCgiSG9zdCBkaWQgbm90IGdldCBjbGFzc2lmaWVkIGFzIHByZXZhbGVudCByZXNvdXJjZS4iKTsK
LSAgICAgICAgaWYgKHRlc3RSdW5uZXIuaXNTdGF0aXN0aWNzVmVyeVByZXZhbGVudFJlc291cmNl
KHN0YXRpc3RpY3NVcmwpKQotICAgICAgICAgICAgdGVzdEZhaWxlZCgiSG9zdCBnb3QgY2xhc3Np
ZmllZCBhcyB2ZXJ5IHByZXZhbGVudCByZXNvdXJjZS4iKTsKLSAgICAgICAgZWxzZQotICAgICAg
ICAgICAgdGVzdFBhc3NlZCgiSG9zdCBjbGFzc2lmaWVkIGFzIHByZXZhbGVudCByZXNvdXJjZS4i
KTsKLQotICAgICAgICBzZXRFbmFibGVGZWF0dXJlKGZhbHNlLCBmdW5jdGlvbigpIHsKLSAgICAg
ICAgICAgIHRlc3RSdW5uZXIubm90aWZ5RG9uZSgpOwotICAgICAgICB9KTsKLSAgICB9Ci0KLSAg
ICBmdW5jdGlvbiBydW5UZXN0UnVubmVyVGVzdCgpIHsKLSAgICAgICAgdGVzdFJ1bm5lci5zZXRT
dGF0aXN0aWNzUHJldmFsZW50UmVzb3VyY2Uoc3RhdGlzdGljc1VybCwgZmFsc2UsIGZ1bmN0aW9u
KCkgewotICAgICAgICAgICAgaWYgKHRlc3RSdW5uZXIuaXNTdGF0aXN0aWNzUHJldmFsZW50UmVz
b3VyY2Uoc3RhdGlzdGljc1VybCkpCi0gICAgICAgICAgICAgICAgdGVzdEZhaWxlZCgiSG9zdCBk
aWQgbm90IGdldCBzZXQgYXMgbm9uLXByZXZhbGVudCByZXNvdXJjZS4iKTsKLQotICAgICAgICAg
ICAgdGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNzU3ViZnJhbWVVbmRlclRvcEZyYW1lT3JpZ2luKHN0
YXRpc3RpY3NVcmwsIHRvcEZyYW1lT3JpZ2luMSk7Ci0gICAgICAgICAgICB0ZXN0UnVubmVyLnNl
dFN0YXRpc3RpY3NTdWJmcmFtZVVuZGVyVG9wRnJhbWVPcmlnaW4oc3RhdGlzdGljc1VybCwgdG9w
RnJhbWVPcmlnaW4yKTsKLSAgICAgICAgICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc1N1YmZy
YW1lVW5kZXJUb3BGcmFtZU9yaWdpbihzdGF0aXN0aWNzVXJsLCB0b3BGcmFtZU9yaWdpbjMpOwot
ICAgICAgICAgICAgdGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNzU3ViZnJhbWVVbmRlclRvcEZyYW1l
T3JpZ2luKHN0YXRpc3RpY3NVcmwsIHRvcEZyYW1lT3JpZ2luNCk7Ci0KLSAgICAgICAgICAgIHRl
c3RSdW5uZXIuaW5zdGFsbFN0YXRpc3RpY3NEaWRTY2FuRGF0YVJlY29yZHNDYWxsYmFjayhjb21w
bGV0ZVRlc3QpOwotCi0gICAgICAgICAgICB0ZXN0UnVubmVyLnN0YXRpc3RpY3NQcm9jZXNzU3Rh
dGlzdGljc0FuZERhdGFSZWNvcmRzKCk7Ci0gICAgICAgIH0pOwotICAgIH0KLQotICAgIGlmIChk
b2N1bWVudC5sb2NhdGlvbi5ob3N0ID09PSBob3N0VW5kZXJUZXN0ICYmIHdpbmRvdy50ZXN0UnVu
bmVyICYmIHdpbmRvdy5pbnRlcm5hbHMpIHsKLSAgICAgICAgdGVzdFJ1bm5lci5zZXRVc2VJVFBE
YXRhYmFzZSh0cnVlKTsKLSAgICAgICAgdGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7Ci0gICAg
ICAgIHNldEVuYWJsZUZlYXR1cmUodHJ1ZSwgcnVuVGVzdFJ1bm5lclRlc3QpOwotICAgIH0KLTwv
c2NyaXB0PgotPC9ib2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90
ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NsYXNzaWZ5LWFzLXByZXZhbGVudC1iYXNlZC1v
bi1zdWJyZXNvdXJjZS1yZWRpcmVjdC1jb2xsdXNpb24tZGF0YWJhc2UtZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NsYXNzaWZ5LWFz
LXByZXZhbGVudC1iYXNlZC1vbi1zdWJyZXNvdXJjZS1yZWRpcmVjdC1jb2xsdXNpb24tZGF0YWJh
c2UtZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBlNGRkY2U1YjMx
NGNkN2QyZDBkZWM0OGI2ZjlmOWUwZWNjYWI4MzA5Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2Fk
U3RhdGlzdGljcy9jbGFzc2lmeS1hcy1wcmV2YWxlbnQtYmFzZWQtb24tc3VicmVzb3VyY2UtcmVk
aXJlY3QtY29sbHVzaW9uLWRhdGFiYXNlLWV4cGVjdGVkLnR4dAorKysgL2Rldi9udWxsCkBAIC0x
LDE0ICswLDAgQEAKLVRlc3RzIGZvciBjbGFzc2lmaWNhdGlvbiBiYXNlZCBvbiBzdWJyZXNvdXJj
ZSByZWRpcmVjdCBjb2xsdXNpb24uCi0KLU9uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmll
cyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KLQotCi1Q
QVNTIENvbGx1ZGluZyBob3N0IDEgZ290IHNldCBhcyBwcmV2YWxlbnQgcmVzb3VyY2UuCi1QQVNT
IENvbGx1ZGluZyBob3N0IDIgZ290IHNldCBhcyBwcmV2YWxlbnQgcmVzb3VyY2UuCi1QQVNTIENv
bGx1ZGluZyBob3N0IDMgZ290IHNldCBhcyBwcmV2YWxlbnQgcmVzb3VyY2UuCi1QQVNTIENvbGx1
ZGluZyBob3N0IDQgZ290IHNldCBhcyBwcmV2YWxlbnQgcmVzb3VyY2UuCi1QQVNTIENvbGx1ZGlu
ZyBsb2NhbGhvc3QgZ290IHNldCBhcyBwcmV2YWxlbnQgcmVzb3VyY2UgYWZ0ZXIgYWN0dWFsIHN1
YiBmcmFtZSByZWRpcmVjdC4KLVBBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKLQotVEVT
VCBDT01QTEVURQotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNl
TG9hZFN0YXRpc3RpY3MvY2xhc3NpZnktYXMtcHJldmFsZW50LWJhc2VkLW9uLXN1YnJlc291cmNl
LXJlZGlyZWN0LWNvbGx1c2lvbi1kYXRhYmFzZS5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0
cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NsYXNzaWZ5LWFzLXByZXZhbGVudC1iYXNlZC1vbi1z
dWJyZXNvdXJjZS1yZWRpcmVjdC1jb2xsdXNpb24tZGF0YWJhc2UuaHRtbApkZWxldGVkIGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggZTRiZmIyZjI1NzdjYmNiZGYzYzFmNGMxNGE0NmE5YWFkNjE2Zjdh
ZS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRU
ZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY2xhc3NpZnktYXMtcHJldmFs
ZW50LWJhc2VkLW9uLXN1YnJlc291cmNlLXJlZGlyZWN0LWNvbGx1c2lvbi1kYXRhYmFzZS5odG1s
CisrKyAvZGV2L251bGwKQEAgLTEsNzEgKzAsMCBAQAotPCFET0NUWVBFIGh0bWw+Ci08aHRtbCBs
YW5nPSJlbiI+Ci08aGVhZD4KLSAgICA8bWV0YSBjaGFyc2V0PSJVVEYtOCI+Ci0gICAgPHNjcmlw
dCBzcmM9Ii9qcy10ZXN0LXJlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KLSAgICA8c2Ny
aXB0IHNyYz0icmVzb3VyY2VzL3V0aWwuanMiPjwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHk+Ci08
c2NyaXB0PgotICAgIGRlc2NyaXB0aW9uKCJUZXN0cyBmb3IgY2xhc3NpZmljYXRpb24gYmFzZWQg
b24gc3VicmVzb3VyY2UgcmVkaXJlY3QgY29sbHVzaW9uLiIpOwotICAgIGpzVGVzdElzQXN5bmMg
PSB0cnVlOwotCi0gICAgY29uc3QgaG9zdFVuZGVyVGVzdCA9ICIxMjcuMC4wLjE6ODAwMCI7Ci0g
ICAgY29uc3Qgc3RhdGlzdGljc1VybCA9ICJodHRwOi8vIiArIGhvc3RVbmRlclRlc3QgKyAiL3Rl
bXAiOwotICAgIGNvbnN0IHN1YnJlc291cmNlT3JpZ2luMSA9ICJodHRwOi8vMTI3LjAuMC4yOjgw
MDAvdGVtcCI7Ci0gICAgY29uc3Qgc3VicmVzb3VyY2VPcmlnaW4yID0gImh0dHA6Ly8xMjcuMC4w
LjM6ODAwMC90ZW1wIjsKLSAgICBjb25zdCBzdWJyZXNvdXJjZU9yaWdpbjMgPSAiaHR0cDovLzEy
Ny4wLjAuNDo4MDAwL3RlbXAiOwotICAgIGNvbnN0IHN1YnJlc291cmNlT3JpZ2luNCA9ICJodHRw
Oi8vMTI3LjAuMC41OjgwMDAvdGVtcCI7Ci0KLSAgICBmdW5jdGlvbiBydW5UZXN0KCkgewotICAg
ICAgICB0ZXN0UnVubmVyLnN0YXRpc3RpY3NOb3RpZnlPYnNlcnZlcigpOwotCi0gICAgICAgIHRl
c3RSdW5uZXIuc2V0U3RhdGlzdGljc1N1YnJlc291cmNlVW5pcXVlUmVkaXJlY3RGcm9tKHN0YXRp
c3RpY3NVcmwsIHN1YnJlc291cmNlT3JpZ2luMSk7Ci0gICAgICAgIHRlc3RSdW5uZXIuc2V0U3Rh
dGlzdGljc1N1YnJlc291cmNlVW5pcXVlUmVkaXJlY3RGcm9tKHN1YnJlc291cmNlT3JpZ2luMSwg
c3VicmVzb3VyY2VPcmlnaW4yKTsKLSAgICAgICAgdGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNzU3Vi
cmVzb3VyY2VVbmlxdWVSZWRpcmVjdEZyb20oc3VicmVzb3VyY2VPcmlnaW4yLCBzdWJyZXNvdXJj
ZU9yaWdpbjMpOwotICAgICAgICB0ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NTdWJyZXNvdXJjZVVu
aXF1ZVJlZGlyZWN0RnJvbShzdWJyZXNvdXJjZU9yaWdpbjMsIHN1YnJlc291cmNlT3JpZ2luNCk7
Ci0KLSAgICAgICAgdGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNzUHJldmFsZW50UmVzb3VyY2Uoc3Rh
dGlzdGljc1VybCwgdHJ1ZSwgZnVuY3Rpb24oKSB7Ci0gICAgICAgICAgICBpZiAoIXRlc3RSdW5u
ZXIuaXNTdGF0aXN0aWNzUHJldmFsZW50UmVzb3VyY2Uoc3RhdGlzdGljc1VybCkpCi0gICAgICAg
ICAgICAgICAgdGVzdEZhaWxlZCgiSG9zdCBleHBsaWNpdHkgc2V0IGRpZCBub3QgZ2V0IHNldCBh
cyBwcmV2YWxlbnQgcmVzb3VyY2UuIik7Ci0gICAgICAgICAgICBpZiAodGVzdFJ1bm5lci5pc1N0
YXRpc3RpY3NQcmV2YWxlbnRSZXNvdXJjZShzdWJyZXNvdXJjZU9yaWdpbjEpKQotICAgICAgICAg
ICAgICAgIHRlc3RQYXNzZWQoIkNvbGx1ZGluZyBob3N0IDEgZ290IHNldCBhcyBwcmV2YWxlbnQg
cmVzb3VyY2UuIik7Ci0gICAgICAgICAgICBpZiAodGVzdFJ1bm5lci5pc1N0YXRpc3RpY3NWZXJ5
UHJldmFsZW50UmVzb3VyY2Uoc3VicmVzb3VyY2VPcmlnaW4xKSkKLSAgICAgICAgICAgICAgICB0
ZXN0RmFpbGVkKCJDb2xsdWRpbmcgaG9zdCAxIGdvdCBjbGFzc2lmaWVkIGFzIHZlcnkgcHJldmFs
ZW50IHJlc291cmNlLiIpOwotICAgICAgICAgICAgaWYgKHRlc3RSdW5uZXIuaXNTdGF0aXN0aWNz
UHJldmFsZW50UmVzb3VyY2Uoc3VicmVzb3VyY2VPcmlnaW4yKSkKLSAgICAgICAgICAgICAgICB0
ZXN0UGFzc2VkKCJDb2xsdWRpbmcgaG9zdCAyIGdvdCBzZXQgYXMgcHJldmFsZW50IHJlc291cmNl
LiIpOwotICAgICAgICAgICAgaWYgKHRlc3RSdW5uZXIuaXNTdGF0aXN0aWNzVmVyeVByZXZhbGVu
dFJlc291cmNlKHN1YnJlc291cmNlT3JpZ2luMikpCi0gICAgICAgICAgICAgICAgdGVzdEZhaWxl
ZCgiQ29sbHVkaW5nIGhvc3QgMiBnb3QgY2xhc3NpZmllZCBhcyB2ZXJ5IHByZXZhbGVudCByZXNv
dXJjZS4iKTsKLSAgICAgICAgICAgIGlmICh0ZXN0UnVubmVyLmlzU3RhdGlzdGljc1ByZXZhbGVu
dFJlc291cmNlKHN1YnJlc291cmNlT3JpZ2luMykpCi0gICAgICAgICAgICAgICAgdGVzdFBhc3Nl
ZCgiQ29sbHVkaW5nIGhvc3QgMyBnb3Qgc2V0IGFzIHByZXZhbGVudCByZXNvdXJjZS4iKTsKLSAg
ICAgICAgICAgIGlmICh0ZXN0UnVubmVyLmlzU3RhdGlzdGljc1ZlcnlQcmV2YWxlbnRSZXNvdXJj
ZShzdWJyZXNvdXJjZU9yaWdpbjMpKQotICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoIkNvbGx1
ZGluZyBob3N0IDMgZ290IGNsYXNzaWZpZWQgYXMgdmVyeSBwcmV2YWxlbnQgcmVzb3VyY2UuIik7
Ci0gICAgICAgICAgICBpZiAodGVzdFJ1bm5lci5pc1N0YXRpc3RpY3NQcmV2YWxlbnRSZXNvdXJj
ZShzdWJyZXNvdXJjZU9yaWdpbjQpKQotICAgICAgICAgICAgICAgIHRlc3RQYXNzZWQoIkNvbGx1
ZGluZyBob3N0IDQgZ290IHNldCBhcyBwcmV2YWxlbnQgcmVzb3VyY2UuIik7Ci0gICAgICAgICAg
ICBpZiAodGVzdFJ1bm5lci5pc1N0YXRpc3RpY3NWZXJ5UHJldmFsZW50UmVzb3VyY2Uoc3VicmVz
b3VyY2VPcmlnaW40KSkKLSAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKCJDb2xsdWRpbmcgaG9z
dCA0IGdvdCBjbGFzc2lmaWVkIGFzIHZlcnkgcHJldmFsZW50IHJlc291cmNlLiIpOwotICAgICAg
ICAgICAgaWYgKHRlc3RSdW5uZXIuaXNTdGF0aXN0aWNzUHJldmFsZW50UmVzb3VyY2UoImh0dHA6
Ly9sb2NhbGhvc3Q6ODAwMCIpKQotICAgICAgICAgICAgICAgIHRlc3RQYXNzZWQoIkNvbGx1ZGlu
ZyBsb2NhbGhvc3QgZ290IHNldCBhcyBwcmV2YWxlbnQgcmVzb3VyY2UgYWZ0ZXIgYWN0dWFsIHN1
YiBmcmFtZSByZWRpcmVjdC4iKTsKLSAgICAgICAgICAgIGlmICh0ZXN0UnVubmVyLmlzU3RhdGlz
dGljc1ZlcnlQcmV2YWxlbnRSZXNvdXJjZSgiaHR0cDovL2xvY2FsaG9zdDo4MDAwIikpCi0gICAg
ICAgICAgICAgICAgdGVzdEZhaWxlZCgiQ29sbHVkaW5nIGxvY2FsaG9zdCBnb3QgY2xhc3NpZmll
ZCBhcyB2ZXJ5IHByZXZhbGVudCByZXNvdXJjZS4iKTsKLSAgICAgICAgICAgIAotICAgICAgICAg
ICAgc2V0RW5hYmxlRmVhdHVyZShmYWxzZSwgZmluaXNoSlNUZXN0KTsKLSAgICAgICAgfSk7Ci0g
ICAgfQotCi0gICAgaWYgKGRvY3VtZW50LmxvY2F0aW9uLmhvc3QgPT09IGhvc3RVbmRlclRlc3Qg
JiYgd2luZG93LnRlc3RSdW5uZXIgJiYgd2luZG93LmludGVybmFscykgewotICAgICAgICB0ZXN0
UnVubmVyLnNldFVzZUlUUERhdGFiYXNlKHRydWUpOwotICAgICAgICBzZXRFbmFibGVGZWF0dXJl
KHRydWUsIGZ1bmN0aW9uICgpIHsKLSAgICAgICAgICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGlj
c1ByZXZhbGVudFJlc291cmNlKHN0YXRpc3RpY3NVcmwsIGZhbHNlLCBmdW5jdGlvbigpwqB7Ci0g
ICAgICAgICAgICAgICAgaWYgKHRlc3RSdW5uZXIuaXNTdGF0aXN0aWNzUHJldmFsZW50UmVzb3Vy
Y2Uoc3RhdGlzdGljc1VybCkpCi0gICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoIkhvc3Qg
ZGlkIG5vdCBnZXQgc2V0IGFzIG5vbi1wcmV2YWxlbnQgcmVzb3VyY2UuIik7Ci0gICAgICAgICAg
ICAgICAgbGV0IGlmcmFtZUVsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJpZnJhbWUi
KTsKLSAgICAgICAgICAgICAgICBpZnJhbWVFbGVtZW50Lm9ubG9hZCA9IHJ1blRlc3Q7Ci0gICAg
ICAgICAgICAgICAgaWZyYW1lRWxlbWVudC5zcmMgPSAiaHR0cDovL2xvY2FsaG9zdDo4MDAwL3Jl
c291cmNlTG9hZFN0YXRpc3RpY3MvcmVzb3VyY2VzL3JlZGlyZWN0LnBocD9yZWRpcmVjdFRvPWh0
dHA6Ly8xMjcuMC4wLjE6ODAwMC9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL29uY2xpY2suaHRtbCI7
Ci0gICAgICAgICAgICAgICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChpZnJhbWVFbGVtZW50
KTsKLSAgICAgICAgICAgIH0pOwotICAgICAgICB9KTsKLSAgICB9Ci08L3NjcmlwdD4KLTwvYm9k
eT4KLTwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VM
b2FkU3RhdGlzdGljcy9jbGFzc2lmeS1hcy1wcmV2YWxlbnQtYmFzZWQtb24tc3VicmVzb3VyY2Ut
cmVkaXJlY3QtdG8tcHJldmFsZW50LWRhdGFiYXNlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jbGFzc2lmeS1hcy1wcmV2YWxlbnQt
YmFzZWQtb24tc3VicmVzb3VyY2UtcmVkaXJlY3QtdG8tcHJldmFsZW50LWRhdGFiYXNlLWV4cGVj
dGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYjhmY2JkOGQ4ZjZkMDVmYzQ5
NGQ0ZWVkZGNkOWNiNWViZGRlMGMzOS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3Rp
Y3MvY2xhc3NpZnktYXMtcHJldmFsZW50LWJhc2VkLW9uLXN1YnJlc291cmNlLXJlZGlyZWN0LXRv
LXByZXZhbGVudC1kYXRhYmFzZS1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSwxMCAr
MCwwIEBACi1UZXN0cyBmb3IgY2xhc3NpZmljYXRpb24gYmFzZWQgb24gc3VicmVzb3VyY2UgcmVk
aXJlY3QgdG8gb3RoZXIgcHJldmFsZW50LgotCi1PbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBz
ZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCi0K
LQotUEFTUyBIb3N0IGNsYXNzaWZpZWQgYXMgcHJldmFsZW50IHJlc291cmNlLgotUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQotCi1URVNUIENPTVBMRVRFCi0KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jbGFzc2lmeS1hcy1w
cmV2YWxlbnQtYmFzZWQtb24tc3VicmVzb3VyY2UtcmVkaXJlY3QtdG8tcHJldmFsZW50LWRhdGFi
YXNlLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3Mv
Y2xhc3NpZnktYXMtcHJldmFsZW50LWJhc2VkLW9uLXN1YnJlc291cmNlLXJlZGlyZWN0LXRvLXBy
ZXZhbGVudC1kYXRhYmFzZS5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA5ZDI1
OTdiYjI4NDFiMmE1NGM5ODYxOGI2NGQ4MGFlYzRjMTU0M2FlLi4wMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3Vy
Y2VMb2FkU3RhdGlzdGljcy9jbGFzc2lmeS1hcy1wcmV2YWxlbnQtYmFzZWQtb24tc3VicmVzb3Vy
Y2UtcmVkaXJlY3QtdG8tcHJldmFsZW50LWRhdGFiYXNlLmh0bWwKKysrIC9kZXYvbnVsbApAQCAt
MSw0OSArMCwwIEBACi08IURPQ1RZUEUgaHRtbD4KLTxodG1sIGxhbmc9ImVuIj4KLTxoZWFkPgot
ICAgIDxtZXRhIGNoYXJzZXQ9IlVURi04Ij4KLSAgICA8c2NyaXB0IHNyYz0iL2pzLXRlc3QtcmVz
b3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgotICAgIDxzY3JpcHQgc3JjPSJyZXNvdXJjZXMv
dXRpbC5qcyI+PC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keT4KLTxzY3JpcHQ+Ci0gICAgZGVzY3Jp
cHRpb24oIlRlc3RzIGZvciBjbGFzc2lmaWNhdGlvbiBiYXNlZCBvbiBzdWJyZXNvdXJjZSByZWRp
cmVjdCB0byBvdGhlciBwcmV2YWxlbnQuIik7Ci0gICAganNUZXN0SXNBc3luYyA9IHRydWU7Ci0K
LSAgICBjb25zdCBob3N0VW5kZXJUZXN0ID0gIjEyNy4wLjAuMTo4MDAwIjsKLSAgICBjb25zdCBz
dGF0aXN0aWNzVXJsID0gImh0dHA6Ly8iICsgaG9zdFVuZGVyVGVzdCArICIvdGVtcCI7Ci0gICAg
Y29uc3QgdG9wRnJhbWVPcmlnaW4xID0gImh0dHA6Ly8xMjcuMC4wLjI6ODAwMC90ZW1wIjsKLQot
ICAgIGZ1bmN0aW9uIGNvbXBsZXRlVGVzdCgpIHsKLSAgICAgICAgaWYgKCF0ZXN0UnVubmVyLmlz
U3RhdGlzdGljc1ByZXZhbGVudFJlc291cmNlKHN0YXRpc3RpY3NVcmwpKQotICAgICAgICAgICAg
dGVzdEZhaWxlZCgiSG9zdCBkaWQgbm90IGdldCBjbGFzc2lmaWVkIGFzIHByZXZhbGVudCByZXNv
dXJjZS4iKTsKLSAgICAgICAgZWxzZSBpZiAodGVzdFJ1bm5lci5pc1N0YXRpc3RpY3NWZXJ5UHJl
dmFsZW50UmVzb3VyY2Uoc3RhdGlzdGljc1VybCkpCi0gICAgICAgICAgICB0ZXN0RmFpbGVkKCJI
b3N0IGdvdCBjbGFzc2lmaWVkIGFzIHZlcnkgcHJldmFsZW50IHJlc291cmNlLiIpOwotICAgICAg
ICBlbHNlCi0gICAgICAgICAgICB0ZXN0UGFzc2VkKCJIb3N0IGNsYXNzaWZpZWQgYXMgcHJldmFs
ZW50IHJlc291cmNlLiIpOwotICAgICAgICAgICAgCi0gICAgICAgIHNldEVuYWJsZUZlYXR1cmUo
ZmFsc2UsIGZpbmlzaEpTVGVzdCk7Ci0gICAgfQotCi0gICAgZnVuY3Rpb24gcnVuVGVzdCgpIHsK
LSAgICAgICAgdGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNzUHJldmFsZW50UmVzb3VyY2UodG9wRnJh
bWVPcmlnaW4xLCB0cnVlLCBmdW5jdGlvbigpIHsKLSAgICAgICAgICAgIHRlc3RSdW5uZXIuc2V0
U3RhdGlzdGljc1N1YnJlc291cmNlVW5pcXVlUmVkaXJlY3RUbyhzdGF0aXN0aWNzVXJsLCB0b3BG
cmFtZU9yaWdpbjEpOwotCi0gICAgICAgICAgICB0ZXN0UnVubmVyLmluc3RhbGxTdGF0aXN0aWNz
RGlkU2NhbkRhdGFSZWNvcmRzQ2FsbGJhY2soY29tcGxldGVUZXN0KTsKLSAgICAgICAgICAgIHRl
c3RSdW5uZXIuc3RhdGlzdGljc1Byb2Nlc3NTdGF0aXN0aWNzQW5kRGF0YVJlY29yZHMoKTsKLSAg
ICAgICAgfSk7Ci0gICAgfQotCi0gICAgaWYgKGRvY3VtZW50LmxvY2F0aW9uLmhvc3QgPT09IGhv
c3RVbmRlclRlc3QgJiYgd2luZG93LnRlc3RSdW5uZXIgJiYgd2luZG93LmludGVybmFscykgewot
ICAgICAgICB0ZXN0UnVubmVyLnNldFVzZUlUUERhdGFiYXNlKHRydWUpOwotICAgICAgICBzZXRF
bmFibGVGZWF0dXJlKHRydWUsIGZ1bmN0aW9uKCkgewotICAgICAgICAgICAgdGVzdFJ1bm5lci5z
ZXRTdGF0aXN0aWNzUHJldmFsZW50UmVzb3VyY2Uoc3RhdGlzdGljc1VybCwgZmFsc2UsIGZ1bmN0
aW9uKCkgewotICAgICAgICAgICAgICAgIGlmICh0ZXN0UnVubmVyLmlzU3RhdGlzdGljc1ByZXZh
bGVudFJlc291cmNlKHN0YXRpc3RpY3NVcmwpKQotICAgICAgICAgICAgICAgICAgICB0ZXN0RmFp
bGVkKCJIb3N0IGRpZCBub3QgZ2V0IHNldCBhcyBub24tcHJldmFsZW50IHJlc291cmNlLiIpOwot
ICAgICAgICAgICAgICAgIHJ1blRlc3QoKTsKLSAgICAgICAgICAgIH0pOwotICAgICAgICB9KTsK
LSAgICB9Ci08L3NjcmlwdD4KLTwvYm9keT4KLTwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jbGFzc2lmeS1hcy1wcmV2YWxl
bnQtYmFzZWQtb24tc3VicmVzb3VyY2UtdW5kZXItdG9wLWZyYW1lLW9yaWdpbnMtZGF0YWJhc2Ut
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0
aWNzL2NsYXNzaWZ5LWFzLXByZXZhbGVudC1iYXNlZC1vbi1zdWJyZXNvdXJjZS11bmRlci10b3At
ZnJhbWUtb3JpZ2lucy1kYXRhYmFzZS1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDMyZGQ2OWY5NDE5ZjUxOTg5NTdmMDkwOGRkNjc0ZDY4NDM2Y2I5YzcuLjAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NsYXNzaWZ5LWFzLXByZXZhbGVudC1iYXNl
ZC1vbi1zdWJyZXNvdXJjZS11bmRlci10b3AtZnJhbWUtb3JpZ2lucy1kYXRhYmFzZS1leHBlY3Rl
ZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSw1ICswLDAgQEAKLVBBU1Mgc3VjY2Vzc2Z1bGx5UGFy
c2VkIGlzIHRydWUKLQotVEVTVCBDT01QTEVURQotUEFTUyBIb3N0IGNsYXNzaWZpZWQgYXMgcHJl
dmFsZW50IHJlc291cmNlLgotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jl
c291cmNlTG9hZFN0YXRpc3RpY3MvY2xhc3NpZnktYXMtcHJldmFsZW50LWJhc2VkLW9uLXN1YnJl
c291cmNlLXVuZGVyLXRvcC1mcmFtZS1vcmlnaW5zLWRhdGFiYXNlLmh0bWwgYi9MYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY2xhc3NpZnktYXMtcHJldmFsZW50
LWJhc2VkLW9uLXN1YnJlc291cmNlLXVuZGVyLXRvcC1mcmFtZS1vcmlnaW5zLWRhdGFiYXNlLmh0
bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDZiZGY4MzhmNmNkOWFmOWQ4ODUxMmM3
MDZkOGJhNTI3NTU5M2FjMjAuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2Ns
YXNzaWZ5LWFzLXByZXZhbGVudC1iYXNlZC1vbi1zdWJyZXNvdXJjZS11bmRlci10b3AtZnJhbWUt
b3JpZ2lucy1kYXRhYmFzZS5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsNTQgKzAsMCBAQAotPCFE
T0NUWVBFIGh0bWw+Ci08aHRtbCBsYW5nPSJlbiI+Ci08aGVhZD4KLSAgICA8bWV0YSBjaGFyc2V0
PSJVVEYtOCI+Ci0gICAgPHRpdGxlPlRlc3RzIGZvciBDbGFzc2lmaWNhdGlvbiBCYXNlZCBvbiBT
dWJyZXNvdXJjZSBVbmRlciBUb3AgRnJhbWUgT3JpZ2luczwvdGl0bGU+Ci0gICAgPHNjcmlwdCBz
cmM9Ii9qcy10ZXN0LXJlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KLSAgICA8c2NyaXB0
IHNyYz0icmVzb3VyY2VzL3V0aWwuanMiPjwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHk+Ci08c2Ny
aXB0PgotICAgIGNvbnN0IGhvc3RVbmRlclRlc3QgPSAiMTI3LjAuMC4xOjgwMDAiOwotICAgIGNv
bnN0IHN0YXRpc3RpY3NVcmwgPSAiaHR0cDovLyIgKyBob3N0VW5kZXJUZXN0ICsgIi90ZW1wIjsK
LSAgICBjb25zdCB0b3BGcmFtZU9yaWdpbjEgPSAiaHR0cDovLzEyNy4wLjAuMjo4MDAwL3RlbXAi
OwotICAgIGNvbnN0IHRvcEZyYW1lT3JpZ2luMiA9ICJodHRwOi8vMTI3LjAuMC4zOjgwMDAvdGVt
cCI7Ci0gICAgY29uc3QgdG9wRnJhbWVPcmlnaW4zID0gImh0dHA6Ly8xMjcuMC4wLjQ6ODAwMC90
ZW1wIjsKLSAgICBjb25zdCB0b3BGcmFtZU9yaWdpbjQgPSAiaHR0cDovLzEyNy4wLjAuNTo4MDAw
L3RlbXAiOwotCi0gICAgZnVuY3Rpb24gY29tcGxldGVUZXN0KCkgewotICAgICAgICBpZiAoIXRl
c3RSdW5uZXIuaXNTdGF0aXN0aWNzUHJldmFsZW50UmVzb3VyY2Uoc3RhdGlzdGljc1VybCkpCi0g
ICAgICAgICAgICB0ZXN0RmFpbGVkKCJIb3N0IGRpZCBub3QgZ2V0IGNsYXNzaWZpZWQgYXMgcHJl
dmFsZW50IHJlc291cmNlLiIpOwotICAgICAgICBpZiAodGVzdFJ1bm5lci5pc1N0YXRpc3RpY3NW
ZXJ5UHJldmFsZW50UmVzb3VyY2Uoc3RhdGlzdGljc1VybCkpCi0gICAgICAgICAgICB0ZXN0RmFp
bGVkKCJIb3N0IGdvdCBjbGFzc2lmaWVkIGFzIHZlcnkgcHJldmFsZW50IHJlc291cmNlLiIpOwot
ICAgICAgICBlbHNlCi0gICAgICAgICAgICB0ZXN0UGFzc2VkKCJIb3N0IGNsYXNzaWZpZWQgYXMg
cHJldmFsZW50IHJlc291cmNlLiIpOwotCi0gICAgICAgIHNldEVuYWJsZUZlYXR1cmUoZmFsc2Us
IGZ1bmN0aW9uKCkgewotICAgICAgICAgICAgdGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7Ci0gICAg
ICAgIH0pOwotICAgIH0KLQotICAgIGZ1bmN0aW9uIHJ1blRlc3RSdW5uZXJUZXN0KCkgeyAKLSAg
ICAgICAgdGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNzUHJldmFsZW50UmVzb3VyY2Uoc3RhdGlzdGlj
c1VybCwgZmFsc2UsIGZ1bmN0aW9uKCkgewotICAgICAgICAgICAgaWYgKHRlc3RSdW5uZXIuaXNT
dGF0aXN0aWNzUHJldmFsZW50UmVzb3VyY2Uoc3RhdGlzdGljc1VybCkpCi0gICAgICAgICAgICAg
ICAgdGVzdEZhaWxlZCgiSG9zdCBkaWQgbm90IGdldCBzZXQgYXMgbm9uLXByZXZhbGVudCByZXNv
dXJjZS4iKTsKLQotICAgICAgICAgICAgdGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNzU3VicmVzb3Vy
Y2VVbmRlclRvcEZyYW1lT3JpZ2luKHN0YXRpc3RpY3NVcmwsIHRvcEZyYW1lT3JpZ2luMSk7Ci0g
ICAgICAgICAgICB0ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NTdWJyZXNvdXJjZVVuZGVyVG9wRnJh
bWVPcmlnaW4oc3RhdGlzdGljc1VybCwgdG9wRnJhbWVPcmlnaW4yKTsKLSAgICAgICAgICAgIHRl
c3RSdW5uZXIuc2V0U3RhdGlzdGljc1N1YnJlc291cmNlVW5kZXJUb3BGcmFtZU9yaWdpbihzdGF0
aXN0aWNzVXJsLCB0b3BGcmFtZU9yaWdpbjMpOwotICAgICAgICAgICAgdGVzdFJ1bm5lci5zZXRT
dGF0aXN0aWNzU3VicmVzb3VyY2VVbmRlclRvcEZyYW1lT3JpZ2luKHN0YXRpc3RpY3NVcmwsIHRv
cEZyYW1lT3JpZ2luNCk7Ci0KLSAgICAgICAgICAgIHRlc3RSdW5uZXIuaW5zdGFsbFN0YXRpc3Rp
Y3NEaWRTY2FuRGF0YVJlY29yZHNDYWxsYmFjayhjb21wbGV0ZVRlc3QpOwotCi0gICAgICAgICAg
ICB0ZXN0UnVubmVyLnN0YXRpc3RpY3NQcm9jZXNzU3RhdGlzdGljc0FuZERhdGFSZWNvcmRzKCk7
Ci0gICAgICAgIH0pOwotICAgIH0KLQotICAgIGlmIChkb2N1bWVudC5sb2NhdGlvbi5ob3N0ID09
PSBob3N0VW5kZXJUZXN0ICYmIHdpbmRvdy50ZXN0UnVubmVyICYmIHdpbmRvdy5pbnRlcm5hbHMp
IHsKLSAgICAgICAgdGVzdFJ1bm5lci5zZXRVc2VJVFBEYXRhYmFzZSh0cnVlKTsKLSAgICAgICAg
dGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7Ci0gICAgICAgIHNldEVuYWJsZUZlYXR1cmUodHJ1
ZSwgcnVuVGVzdFJ1bm5lclRlc3QpOwotICAgIH0KLTwvc2NyaXB0PgotPC9ib2R5PgotPC9odG1s
PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0
aWNzL2NsYXNzaWZ5LWFzLXByZXZhbGVudC1iYXNlZC1vbi1zdWJyZXNvdXJjZS11bmlxdWUtcmVk
aXJlY3RzLXRvLWRhdGFiYXNlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMv
cmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jbGFzc2lmeS1hcy1wcmV2YWxlbnQtYmFzZWQtb24tc3Vi
cmVzb3VyY2UtdW5pcXVlLXJlZGlyZWN0cy10by1kYXRhYmFzZS1leHBlY3RlZC50eHQKZGVsZXRl
ZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDMyZGQ2OWY5NDE5ZjUxOTg5NTdmMDkwOGRkNjc0ZDY4
NDM2Y2I5YzcuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEv
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NsYXNzaWZ5LWFz
LXByZXZhbGVudC1iYXNlZC1vbi1zdWJyZXNvdXJjZS11bmlxdWUtcmVkaXJlY3RzLXRvLWRhdGFi
YXNlLWV4cGVjdGVkLnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDUgKzAsMCBAQAotUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQotCi1URVNUIENPTVBMRVRFCi1QQVNTIEhvc3QgY2xhc3Np
ZmllZCBhcyBwcmV2YWxlbnQgcmVzb3VyY2UuCi0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0
dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jbGFzc2lmeS1hcy1wcmV2YWxlbnQtYmFz
ZWQtb24tc3VicmVzb3VyY2UtdW5pcXVlLXJlZGlyZWN0cy10by1kYXRhYmFzZS5odG1sIGIvTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NsYXNzaWZ5LWFzLXBy
ZXZhbGVudC1iYXNlZC1vbi1zdWJyZXNvdXJjZS11bmlxdWUtcmVkaXJlY3RzLXRvLWRhdGFiYXNl
Lmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGZlMzY4Mjk1ZDlmYjhmZjgzYTc4
YjFiNTQ5OTQ5N2UyNTdiNDY1NDMuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNz
L2NsYXNzaWZ5LWFzLXByZXZhbGVudC1iYXNlZC1vbi1zdWJyZXNvdXJjZS11bmlxdWUtcmVkaXJl
Y3RzLXRvLWRhdGFiYXNlLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSw1NCArMCwwIEBACi08IURP
Q1RZUEUgaHRtbD4KLTxodG1sIGxhbmc9ImVuIj4KLTxoZWFkPgotICAgIDxtZXRhIGNoYXJzZXQ9
IlVURi04Ij4KLSAgICA8dGl0bGU+VGVzdHMgZm9yIENsYXNzaWZpY2F0aW9uIEJhc2VkIG9uIFN1
YnJlc291cmNlIFVuaXF1ZSBSZWRpcmVjdHMgVG88L3RpdGxlPgotICAgIDxzY3JpcHQgc3JjPSIv
anMtdGVzdC1yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+Ci0gICAgPHNjcmlwdCBzcmM9
InJlc291cmNlcy91dGlsLmpzIj48L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5PgotPHNjcmlwdD4K
LSAgICBjb25zdCBob3N0VW5kZXJUZXN0ID0gIjEyNy4wLjAuMTo4MDAwIjsKLSAgICBjb25zdCBz
dGF0aXN0aWNzVXJsID0gImh0dHA6Ly8iICsgaG9zdFVuZGVyVGVzdCArICIvdGVtcCI7Ci0gICAg
Y29uc3QgdG9wRnJhbWVPcmlnaW4xID0gImh0dHA6Ly8xMjcuMC4wLjI6ODAwMC90ZW1wIjsKLSAg
ICBjb25zdCB0b3BGcmFtZU9yaWdpbjIgPSAiaHR0cDovLzEyNy4wLjAuMzo4MDAwL3RlbXAiOwot
ICAgIGNvbnN0IHRvcEZyYW1lT3JpZ2luMyA9ICJodHRwOi8vMTI3LjAuMC40OjgwMDAvdGVtcCI7
Ci0gICAgY29uc3QgdG9wRnJhbWVPcmlnaW40ID0gImh0dHA6Ly8xMjcuMC4wLjU6ODAwMC90ZW1w
IjsKLQotICAgIGZ1bmN0aW9uIGNvbXBsZXRlVGVzdCgpIHsKLSAgICAgICAgaWYgKCF0ZXN0UnVu
bmVyLmlzU3RhdGlzdGljc1ByZXZhbGVudFJlc291cmNlKHN0YXRpc3RpY3NVcmwpKQotICAgICAg
ICAgICAgdGVzdEZhaWxlZCgiSG9zdCBkaWQgbm90IGdldCBjbGFzc2lmaWVkIGFzIHByZXZhbGVu
dCByZXNvdXJjZS4iKTsKLSAgICAgICAgaWYgKHRlc3RSdW5uZXIuaXNTdGF0aXN0aWNzVmVyeVBy
ZXZhbGVudFJlc291cmNlKHN0YXRpc3RpY3NVcmwpKQotICAgICAgICAgICAgdGVzdEZhaWxlZCgi
SG9zdCBnb3QgY2xhc3NpZmllZCBhcyB2ZXJ5IHByZXZhbGVudCByZXNvdXJjZS4iKTsKLSAgICAg
ICAgZWxzZQotICAgICAgICAgICAgdGVzdFBhc3NlZCgiSG9zdCBjbGFzc2lmaWVkIGFzIHByZXZh
bGVudCByZXNvdXJjZS4iKTsKLQotICAgICAgICBzZXRFbmFibGVGZWF0dXJlKGZhbHNlLCBmdW5j
dGlvbigpIHsKLSAgICAgICAgICAgIHRlc3RSdW5uZXIubm90aWZ5RG9uZSgpOwotICAgICAgICB9
KTsKLSAgICB9Ci0KLSAgICBmdW5jdGlvbiBydW5UZXN0UnVubmVyVGVzdCgpIHsgCi0gICAgICAg
IHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc1ByZXZhbGVudFJlc291cmNlKHN0YXRpc3RpY3NVcmws
IGZhbHNlLCBmdW5jdGlvbigpIHsKLSAgICAgICAgICAgIGlmICh0ZXN0UnVubmVyLmlzU3RhdGlz
dGljc1ByZXZhbGVudFJlc291cmNlKHN0YXRpc3RpY3NVcmwpKQotICAgICAgICAgICAgICAgIHRl
c3RGYWlsZWQoIkhvc3QgZGlkIG5vdCBnZXQgc2V0IGFzIG5vbi1wcmV2YWxlbnQgcmVzb3VyY2Uu
Iik7Ci0KLSAgICAgICAgICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc1N1YnJlc291cmNlVW5p
cXVlUmVkaXJlY3RUbyhzdGF0aXN0aWNzVXJsLCB0b3BGcmFtZU9yaWdpbjEpOwotICAgICAgICAg
ICAgdGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNzU3VicmVzb3VyY2VVbmlxdWVSZWRpcmVjdFRvKHN0
YXRpc3RpY3NVcmwsIHRvcEZyYW1lT3JpZ2luMik7Ci0gICAgICAgICAgICB0ZXN0UnVubmVyLnNl
dFN0YXRpc3RpY3NTdWJyZXNvdXJjZVVuaXF1ZVJlZGlyZWN0VG8oc3RhdGlzdGljc1VybCwgdG9w
RnJhbWVPcmlnaW4zKTsKLSAgICAgICAgICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc1N1YnJl
c291cmNlVW5pcXVlUmVkaXJlY3RUbyhzdGF0aXN0aWNzVXJsLCB0b3BGcmFtZU9yaWdpbjQpOwot
Ci0gICAgICAgICAgICB0ZXN0UnVubmVyLmluc3RhbGxTdGF0aXN0aWNzRGlkU2NhbkRhdGFSZWNv
cmRzQ2FsbGJhY2soY29tcGxldGVUZXN0KTsKLQotICAgICAgICAgICAgdGVzdFJ1bm5lci5zdGF0
aXN0aWNzUHJvY2Vzc1N0YXRpc3RpY3NBbmREYXRhUmVjb3JkcygpOwotICAgICAgICB9KTsKLSAg
ICB9Ci0KLSAgICBpZiAoZG9jdW1lbnQubG9jYXRpb24uaG9zdCA9PT0gaG9zdFVuZGVyVGVzdCAm
JiB3aW5kb3cudGVzdFJ1bm5lciAmJiB3aW5kb3cuaW50ZXJuYWxzKSB7Ci0gICAgICAgIHRlc3RS
dW5uZXIuc2V0VXNlSVRQRGF0YWJhc2UodHJ1ZSk7Ci0gICAgICAgIHRlc3RSdW5uZXIud2FpdFVu
dGlsRG9uZSgpOwotICAgICAgICBzZXRFbmFibGVGZWF0dXJlKHRydWUsIHJ1blRlc3RSdW5uZXJU
ZXN0KTsKLSAgICB9Ci08L3NjcmlwdD4KLTwvYm9keT4KLTwvaHRtbD4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jbGFzc2lmeS1hcy1w
cmV2YWxlbnQtYmFzZWQtb24tdG9wLWZyYW1lLXJlZGlyZWN0LWNvbGx1c2lvbi1kYXRhYmFzZS1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3Rp
Y3MvY2xhc3NpZnktYXMtcHJldmFsZW50LWJhc2VkLW9uLXRvcC1mcmFtZS1yZWRpcmVjdC1jb2xs
dXNpb24tZGF0YWJhc2UtZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCBmZDM5MzhiNzZjOTc0NGMzYWZhN2IyNTUwNWVhZWI0OWQ4NjZiNTIwLi4wMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMv
cmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jbGFzc2lmeS1hcy1wcmV2YWxlbnQtYmFzZWQtb24tdG9w
LWZyYW1lLXJlZGlyZWN0LWNvbGx1c2lvbi1kYXRhYmFzZS1leHBlY3RlZC50eHQKKysrIC9kZXYv
bnVsbApAQCAtMSwxNCArMCwwIEBACi1UZXN0cyBmb3IgY2xhc3NpZmljYXRpb24gYmFzZWQgb24g
dG9wIGZyYW1lIHJlZGlyZWN0IGNvbGx1c2lvbi4KLQotT24gc3VjY2VzcywgeW91IHdpbGwgc2Vl
IGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUi
LgotCi0KLVBBU1MgQ29sbHVkaW5nIGhvc3QgMSBnb3Qgc2V0IGFzIHByZXZhbGVudCByZXNvdXJj
ZS4KLVBBU1MgQ29sbHVkaW5nIGhvc3QgMiBnb3Qgc2V0IGFzIHByZXZhbGVudCByZXNvdXJjZS4K
LVBBU1MgQ29sbHVkaW5nIGhvc3QgMyBnb3Qgc2V0IGFzIHByZXZhbGVudCByZXNvdXJjZS4KLVBB
U1MgQ29sbHVkaW5nIGhvc3QgNCBnb3Qgc2V0IGFzIHByZXZhbGVudCByZXNvdXJjZS4KLVBBU1Mg
Q29sbHVkaW5nIGxvY2FsaG9zdCBnb3Qgc2V0IGFzIHByZXZhbGVudCByZXNvdXJjZSBhZnRlciBh
Y3R1YWwgbmF2aWdhdGlvbmFsIHJlZGlyZWN0LgotUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMg
dHJ1ZQotCi1URVNUIENPTVBMRVRFCi0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVz
dHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jbGFzc2lmeS1hcy1wcmV2YWxlbnQtYmFzZWQtb24t
dG9wLWZyYW1lLXJlZGlyZWN0LWNvbGx1c2lvbi1kYXRhYmFzZS5odG1sIGIvTGF5b3V0VGVzdHMv
aHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NsYXNzaWZ5LWFzLXByZXZhbGVudC1i
YXNlZC1vbi10b3AtZnJhbWUtcmVkaXJlY3QtY29sbHVzaW9uLWRhdGFiYXNlLmh0bWwKZGVsZXRl
ZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDRhOTgzYmMwNmQzNTBlZDU2NTUyNDAyZGZjZmQzMzQ1
OWM2MDVjZWQuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEv
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NsYXNzaWZ5LWFz
LXByZXZhbGVudC1iYXNlZC1vbi10b3AtZnJhbWUtcmVkaXJlY3QtY29sbHVzaW9uLWRhdGFiYXNl
Lmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSw3MSArMCwwIEBACi08IURPQ1RZUEUgaHRtbD4KLTxo
dG1sIGxhbmc9ImVuIj4KLTxoZWFkPgotICAgIDxtZXRhIGNoYXJzZXQ9IlVURi04Ij4KLSAgICA8
c2NyaXB0IHNyYz0iL2pzLXRlc3QtcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgotICAg
IDxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvdXRpbC5qcyI+PC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9k
eT4KLTxzY3JpcHQ+Ci0gICAgZGVzY3JpcHRpb24oIlRlc3RzIGZvciBjbGFzc2lmaWNhdGlvbiBi
YXNlZCBvbiB0b3AgZnJhbWUgcmVkaXJlY3QgY29sbHVzaW9uLiIpOwotICAgIGpzVGVzdElzQXN5
bmMgPSB0cnVlOwotCi0gICAgY29uc3QgaG9zdFVuZGVyVGVzdCA9ICIxMjcuMC4wLjE6ODAwMCI7
Ci0gICAgY29uc3Qgc3RhdGlzdGljc1VybCA9ICJodHRwOi8vIiArIGhvc3RVbmRlclRlc3QgKyAi
L3RlbXAiOwotICAgIGNvbnN0IHRvcEZyYW1lT3JpZ2luMSA9ICJodHRwOi8vMTI3LjAuMC4yOjgw
MDAvdGVtcCI7Ci0gICAgY29uc3QgdG9wRnJhbWVPcmlnaW4yID0gImh0dHA6Ly8xMjcuMC4wLjM6
ODAwMC90ZW1wIjsKLSAgICBjb25zdCB0b3BGcmFtZU9yaWdpbjMgPSAiaHR0cDovLzEyNy4wLjAu
NDo4MDAwL3RlbXAiOwotICAgIGNvbnN0IHRvcEZyYW1lT3JpZ2luNCA9ICJodHRwOi8vMTI3LjAu
MC41OjgwMDAvdGVtcCI7Ci0gICAgY29uc3QgdG9wRnJhbWVPcmlnaW41ID0gImh0dHA6Ly9sb2Nh
bGhvc3Q6ODAwMC8iOwotCi0gICAgZnVuY3Rpb24gcnVuVGVzdCgpIHsKLSAgICAgICAgdGVzdFJ1
bm5lci5zZXRTdGF0aXN0aWNzVG9wRnJhbWVVbmlxdWVSZWRpcmVjdEZyb20oc3RhdGlzdGljc1Vy
bCwgdG9wRnJhbWVPcmlnaW4xKTsKLSAgICAgICAgdGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNzVG9w
RnJhbWVVbmlxdWVSZWRpcmVjdEZyb20odG9wRnJhbWVPcmlnaW4xLCB0b3BGcmFtZU9yaWdpbjIp
OwotICAgICAgICB0ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NUb3BGcmFtZVVuaXF1ZVJlZGlyZWN0
RnJvbSh0b3BGcmFtZU9yaWdpbjIsIHRvcEZyYW1lT3JpZ2luMyk7Ci0gICAgICAgIHRlc3RSdW5u
ZXIuc2V0U3RhdGlzdGljc1RvcEZyYW1lVW5pcXVlUmVkaXJlY3RGcm9tKHRvcEZyYW1lT3JpZ2lu
MywgdG9wRnJhbWVPcmlnaW40KTsKLQotICAgICAgICB0ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NQ
cmV2YWxlbnRSZXNvdXJjZShzdGF0aXN0aWNzVXJsLCB0cnVlLCBmdW5jdGlvbigpIHsKLSAgICAg
ICAgICAgIGlmICghdGVzdFJ1bm5lci5pc1N0YXRpc3RpY3NQcmV2YWxlbnRSZXNvdXJjZShzdGF0
aXN0aWNzVXJsKSkKLSAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKCJIb3N0IGV4cGxpY2l0eSBz
ZXQgZGlkIG5vdCBnZXQgc2V0IGFzIHByZXZhbGVudCByZXNvdXJjZS4iKTsKLSAgICAgICAgICAg
IGlmICh0ZXN0UnVubmVyLmlzU3RhdGlzdGljc1ByZXZhbGVudFJlc291cmNlKHRvcEZyYW1lT3Jp
Z2luMSkpCi0gICAgICAgICAgICAgICAgdGVzdFBhc3NlZCgiQ29sbHVkaW5nIGhvc3QgMSBnb3Qg
c2V0IGFzIHByZXZhbGVudCByZXNvdXJjZS4iKTsKLSAgICAgICAgICAgIGlmICh0ZXN0UnVubmVy
LmlzU3RhdGlzdGljc1ZlcnlQcmV2YWxlbnRSZXNvdXJjZSh0b3BGcmFtZU9yaWdpbjEpKQotICAg
ICAgICAgICAgICAgIHRlc3RGYWlsZWQoIkNvbGx1ZGluZyBob3N0IDEgZ290IGNsYXNzaWZpZWQg
YXMgdmVyeSBwcmV2YWxlbnQgcmVzb3VyY2UuIik7Ci0gICAgICAgICAgICBpZiAodGVzdFJ1bm5l
ci5pc1N0YXRpc3RpY3NQcmV2YWxlbnRSZXNvdXJjZSh0b3BGcmFtZU9yaWdpbjIpKQotICAgICAg
ICAgICAgICAgIHRlc3RQYXNzZWQoIkNvbGx1ZGluZyBob3N0IDIgZ290IHNldCBhcyBwcmV2YWxl
bnQgcmVzb3VyY2UuIik7Ci0gICAgICAgICAgICBpZiAodGVzdFJ1bm5lci5pc1N0YXRpc3RpY3NW
ZXJ5UHJldmFsZW50UmVzb3VyY2UodG9wRnJhbWVPcmlnaW4yKSkKLSAgICAgICAgICAgICAgICB0
ZXN0RmFpbGVkKCJDb2xsdWRpbmcgaG9zdCAyIGdvdCBjbGFzc2lmaWVkIGFzIHZlcnkgcHJldmFs
ZW50IHJlc291cmNlLiIpOwotICAgICAgICAgICAgaWYgKHRlc3RSdW5uZXIuaXNTdGF0aXN0aWNz
UHJldmFsZW50UmVzb3VyY2UodG9wRnJhbWVPcmlnaW4zKSkKLSAgICAgICAgICAgICAgICB0ZXN0
UGFzc2VkKCJDb2xsdWRpbmcgaG9zdCAzIGdvdCBzZXQgYXMgcHJldmFsZW50IHJlc291cmNlLiIp
OwotICAgICAgICAgICAgaWYgKHRlc3RSdW5uZXIuaXNTdGF0aXN0aWNzVmVyeVByZXZhbGVudFJl
c291cmNlKHRvcEZyYW1lT3JpZ2luMykpCi0gICAgICAgICAgICAgICAgdGVzdEZhaWxlZCgiQ29s
bHVkaW5nIGhvc3QgMyBnb3QgY2xhc3NpZmllZCBhcyB2ZXJ5IHByZXZhbGVudCByZXNvdXJjZS4i
KTsKLSAgICAgICAgICAgIGlmICh0ZXN0UnVubmVyLmlzU3RhdGlzdGljc1ByZXZhbGVudFJlc291
cmNlKHRvcEZyYW1lT3JpZ2luNCkpCi0gICAgICAgICAgICAgICAgdGVzdFBhc3NlZCgiQ29sbHVk
aW5nIGhvc3QgNCBnb3Qgc2V0IGFzIHByZXZhbGVudCByZXNvdXJjZS4iKTsKLSAgICAgICAgICAg
IGlmICh0ZXN0UnVubmVyLmlzU3RhdGlzdGljc1ZlcnlQcmV2YWxlbnRSZXNvdXJjZSh0b3BGcmFt
ZU9yaWdpbjQpKQotICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoIkNvbGx1ZGluZyBob3N0IDQg
Z290IGNsYXNzaWZpZWQgYXMgdmVyeSBwcmV2YWxlbnQgcmVzb3VyY2UuIik7Ci0gICAgICAgICAg
ICBpZiAodGVzdFJ1bm5lci5pc1N0YXRpc3RpY3NQcmV2YWxlbnRSZXNvdXJjZSh0b3BGcmFtZU9y
aWdpbjUpKQotICAgICAgICAgICAgICAgIHRlc3RQYXNzZWQoIkNvbGx1ZGluZyBsb2NhbGhvc3Qg
Z290IHNldCBhcyBwcmV2YWxlbnQgcmVzb3VyY2UgYWZ0ZXIgYWN0dWFsIG5hdmlnYXRpb25hbCBy
ZWRpcmVjdC4iKTsKLSAgICAgICAgICAgIGlmICh0ZXN0UnVubmVyLmlzU3RhdGlzdGljc1ZlcnlQ
cmV2YWxlbnRSZXNvdXJjZSh0b3BGcmFtZU9yaWdpbjUpKQotICAgICAgICAgICAgICAgIHRlc3RG
YWlsZWQoIkNvbGx1ZGluZyBsb2NhbGhvc3QgZ290IGNsYXNzaWZpZWQgYXMgdmVyeSBwcmV2YWxl
bnQgcmVzb3VyY2UuIik7Ci0gICAgICAgICAgICAKLSAgICAgICAgICAgIHNldEVuYWJsZUZlYXR1
cmUoZmFsc2UsIGZpbmlzaEpTVGVzdCk7Ci0gICAgICAgIH0pOwotICAgIH0KLQotICAgIGlmIChk
b2N1bWVudC5sb2NhdGlvbi5oYXNoID09PSAiIiAmJiB3aW5kb3cudGVzdFJ1bm5lciAmJiB3aW5k
b3cuaW50ZXJuYWxzKSB7Ci0gICAgICAgIHRlc3RSdW5uZXIuc2V0VXNlSVRQRGF0YWJhc2UodHJ1
ZSk7Ci0gICAgICAgIHNldEVuYWJsZUZlYXR1cmUodHJ1ZSwgZnVuY3Rpb24oKSB7Ci0gICAgICAg
ICAgICB0ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NQcmV2YWxlbnRSZXNvdXJjZShzdGF0aXN0aWNz
VXJsLCBmYWxzZSwgZnVuY3Rpb24oKSB7Ci0gICAgICAgICAgICAgICAgaWYgKHRlc3RSdW5uZXIu
aXNTdGF0aXN0aWNzUHJldmFsZW50UmVzb3VyY2Uoc3RhdGlzdGljc1VybCkpCi0gICAgICAgICAg
ICAgICAgICAgIHRlc3RGYWlsZWQoIkhvc3QgZGlkIG5vdCBnZXQgc2V0IGFzIG5vbi1wcmV2YWxl
bnQgcmVzb3VyY2UuIik7Ci0KLSAgICAgICAgICAgICAgICBkb2N1bWVudC5sb2NhdGlvbi5ocmVm
ID0gdG9wRnJhbWVPcmlnaW41ICsgInJlc291cmNlTG9hZFN0YXRpc3RpY3MvcmVzb3VyY2VzL3Jl
ZGlyZWN0LnBocD9yZWRpcmVjdFRvPWh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9yZXNvdXJjZUxvYWRT
dGF0aXN0aWNzL2NsYXNzaWZ5LWFzLXByZXZhbGVudC1iYXNlZC1vbi10b3AtZnJhbWUtcmVkaXJl
Y3QtY29sbHVzaW9uLmh0bWwjY29udGludWUiOwotICAgICAgICAgICAgfSk7Ci0gICAgICAgIH0p
OwotICAgIH0gZWxzZSB7Ci0gICAgICAgIHRlc3RSdW5uZXIuc3RhdGlzdGljc05vdGlmeU9ic2Vy
dmVyKCk7Ci0gICAgICAgIHJ1blRlc3QoKTsKLSAgICB9Ci08L3NjcmlwdD4KLTwvYm9keT4KLTwv
aHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3Rh
dGlzdGljcy9jbGFzc2lmeS1hcy1wcmV2YWxlbnQtYmFzZWQtb24tdG9wLWZyYW1lLXJlZGlyZWN0
LXRvLXByZXZhbGVudC1kYXRhYmFzZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3Rl
c3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY2xhc3NpZnktYXMtcHJldmFsZW50LWJhc2VkLW9u
LXRvcC1mcmFtZS1yZWRpcmVjdC10by1wcmV2YWxlbnQtZGF0YWJhc2UtZXhwZWN0ZWQudHh0CmRl
bGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA1OWY5OTUzMzgyODBmMzE1YjIyMDAzZjAwODJk
MDgxNDg0N2U5YWIzLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0t
LSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jbGFzc2lm
eS1hcy1wcmV2YWxlbnQtYmFzZWQtb24tdG9wLWZyYW1lLXJlZGlyZWN0LXRvLXByZXZhbGVudC1k
YXRhYmFzZS1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSwxMCArMCwwIEBACi1UZXN0
cyBmb3IgY2xhc3NpZmljYXRpb24gYmFzZWQgb24gdG9wIGZyYW1lIHJlZGlyZWN0IHRvIG90aGVy
IHByZXZhbGVudC4KLQotT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNT
IiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgotCi0KLVBBU1MgSG9zdCBj
bGFzc2lmaWVkIGFzIHByZXZhbGVudCByZXNvdXJjZS4KLVBBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2Vk
IGlzIHRydWUKLQotVEVTVCBDT01QTEVURQotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY2xhc3NpZnktYXMtcHJldmFsZW50LWJhc2Vk
LW9uLXRvcC1mcmFtZS1yZWRpcmVjdC10by1wcmV2YWxlbnQtZGF0YWJhc2UuaHRtbCBiL0xheW91
dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jbGFzc2lmeS1hcy1wcmV2
YWxlbnQtYmFzZWQtb24tdG9wLWZyYW1lLXJlZGlyZWN0LXRvLXByZXZhbGVudC1kYXRhYmFzZS5o
dG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBlMzUwOWE4YmU4MTNmMThhYjFlYWY1
YzU5OTc4NGY5ZWIwMjBjNjg1Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwCi0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9j
bGFzc2lmeS1hcy1wcmV2YWxlbnQtYmFzZWQtb24tdG9wLWZyYW1lLXJlZGlyZWN0LXRvLXByZXZh
bGVudC1kYXRhYmFzZS5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsNDkgKzAsMCBAQAotPCFET0NU
WVBFIGh0bWw+Ci08aHRtbCBsYW5nPSJlbiI+Ci08aGVhZD4KLSAgICA8bWV0YSBjaGFyc2V0PSJV
VEYtOCI+Ci0gICAgPHNjcmlwdCBzcmM9Ii9qcy10ZXN0LXJlc291cmNlcy9qcy10ZXN0LmpzIj48
L3NjcmlwdD4KLSAgICA8c2NyaXB0IHNyYz0icmVzb3VyY2VzL3V0aWwuanMiPjwvc2NyaXB0Pgot
PC9oZWFkPgotPGJvZHk+Ci08c2NyaXB0PgotICAgIGRlc2NyaXB0aW9uKCJUZXN0cyBmb3IgY2xh
c3NpZmljYXRpb24gYmFzZWQgb24gdG9wIGZyYW1lIHJlZGlyZWN0IHRvIG90aGVyIHByZXZhbGVu
dC4iKTsKLSAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKLQotICAgIGNvbnN0IGhvc3RVbmRlclRl
c3QgPSAiMTI3LjAuMC4xOjgwMDAiOwotICAgIGNvbnN0IHN0YXRpc3RpY3NVcmwgPSAiaHR0cDov
LyIgKyBob3N0VW5kZXJUZXN0ICsgIi90ZW1wIjsKLSAgICBjb25zdCB0b3BGcmFtZU9yaWdpbjEg
PSAiaHR0cDovLzEyNy4wLjAuMjo4MDAwL3RlbXAiOwotCi0gICAgZnVuY3Rpb24gY29tcGxldGVU
ZXN0KCkgewotICAgICAgICBpZiAoIXRlc3RSdW5uZXIuaXNTdGF0aXN0aWNzUHJldmFsZW50UmVz
b3VyY2Uoc3RhdGlzdGljc1VybCkpCi0gICAgICAgICAgICB0ZXN0RmFpbGVkKCJIb3N0IGRpZCBu
b3QgZ2V0IGNsYXNzaWZpZWQgYXMgcHJldmFsZW50IHJlc291cmNlLiIpOwotICAgICAgICBlbHNl
IGlmICh0ZXN0UnVubmVyLmlzU3RhdGlzdGljc1ZlcnlQcmV2YWxlbnRSZXNvdXJjZShzdGF0aXN0
aWNzVXJsKSkKLSAgICAgICAgICAgIHRlc3RGYWlsZWQoIkhvc3QgZ290IGNsYXNzaWZpZWQgYXMg
dmVyeSBwcmV2YWxlbnQgcmVzb3VyY2UuIik7Ci0gICAgICAgIGVsc2UKLSAgICAgICAgICAgIHRl
c3RQYXNzZWQoIkhvc3QgY2xhc3NpZmllZCBhcyBwcmV2YWxlbnQgcmVzb3VyY2UuIik7Ci0gICAg
ICAgIAotICAgICAgICBzZXRFbmFibGVGZWF0dXJlKGZhbHNlLCBmaW5pc2hKU1Rlc3QpOwotICAg
IH0KLQotICAgIGZ1bmN0aW9uIHJ1blRlc3QoKSB7Ci0gICAgICAgIHRlc3RSdW5uZXIuc2V0U3Rh
dGlzdGljc1ByZXZhbGVudFJlc291cmNlKHRvcEZyYW1lT3JpZ2luMSwgdHJ1ZSwgZnVuY3Rpb24o
KSB7Ci0gICAgICAgICAgICB0ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NUb3BGcmFtZVVuaXF1ZVJl
ZGlyZWN0VG8oc3RhdGlzdGljc1VybCwgdG9wRnJhbWVPcmlnaW4xKTsKLQotICAgICAgICAgICAg
dGVzdFJ1bm5lci5pbnN0YWxsU3RhdGlzdGljc0RpZFNjYW5EYXRhUmVjb3Jkc0NhbGxiYWNrKGNv
bXBsZXRlVGVzdCk7Ci0gICAgICAgICAgICB0ZXN0UnVubmVyLnN0YXRpc3RpY3NQcm9jZXNzU3Rh
dGlzdGljc0FuZERhdGFSZWNvcmRzKCk7Ci0gICAgICAgIH0pOwotICAgIH0KLQotICAgIGlmIChk
b2N1bWVudC5sb2NhdGlvbi5ob3N0ID09PSBob3N0VW5kZXJUZXN0ICYmIHdpbmRvdy50ZXN0UnVu
bmVyICYmIHdpbmRvdy5pbnRlcm5hbHMpIHsKLSAgICAgICAgdGVzdFJ1bm5lci5zZXRVc2VJVFBE
YXRhYmFzZSh0cnVlKTsKLSAgICAgICAgc2V0RW5hYmxlRmVhdHVyZSh0cnVlLCBmdW5jdGlvbigp
IHsKLSAgICAgICAgICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc1ByZXZhbGVudFJlc291cmNl
KHN0YXRpc3RpY3NVcmwsIGZhbHNlLCBmdW5jdGlvbigpIHsKLSAgICAgICAgICAgICAgICBpZiAo
dGVzdFJ1bm5lci5pc1N0YXRpc3RpY3NQcmV2YWxlbnRSZXNvdXJjZShzdGF0aXN0aWNzVXJsKSkK
LSAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZCgiSG9zdCBkaWQgbm90IGdldCBzZXQgYXMg
bm9uLXByZXZhbGVudCByZXNvdXJjZS4iKTsKLSAgICAgICAgICAgICAgICBydW5UZXN0KCk7Ci0g
ICAgICAgICAgICB9KTsKLSAgICAgICAgfSk7Ci0gICAgfQotPC9zY3JpcHQ+Ci08L2JvZHk+Ci08
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0
YXRpc3RpY3MvY2xhc3NpZnktYXMtcHJldmFsZW50LWJhc2VkLW9uLXRvcC1mcmFtZS11bmlxdWUt
cmVkaXJlY3RzLXRvLWRhdGFiYXNlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvdGVz
dHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jbGFzc2lmeS1hcy1wcmV2YWxlbnQtYmFzZWQtb24t
dG9wLWZyYW1lLXVuaXF1ZS1yZWRpcmVjdHMtdG8tZGF0YWJhc2UtZXhwZWN0ZWQudHh0CmRlbGV0
ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBhNDkxYmY5NjAzMzU3MDljOTkxZGYxZmZkMzI0Mjhi
ZGJhZTgwNmY4Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBh
L0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jbGFzc2lmeS1h
cy1wcmV2YWxlbnQtYmFzZWQtb24tdG9wLWZyYW1lLXVuaXF1ZS1yZWRpcmVjdHMtdG8tZGF0YWJh
c2UtZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEsMTAgKzAsMCBAQAotVGVzdHMgZm9y
IGNsYXNzaWZpY2F0aW9uIGJhc2VkIG9uIHRvcCBmcmFtZSB1bmlxdWUgcmVkaXJlY3RzIHRvLgot
Ci1PbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBm
b2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCi0KLQotUEFTUyBIb3N0IGNsYXNzaWZpZWQgYXMg
cHJldmFsZW50IHJlc291cmNlLgotUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQotCi1U
RVNUIENPTVBMRVRFCi0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3Vy
Y2VMb2FkU3RhdGlzdGljcy9jbGFzc2lmeS1hcy1wcmV2YWxlbnQtYmFzZWQtb24tdG9wLWZyYW1l
LXVuaXF1ZS1yZWRpcmVjdHMtdG8tZGF0YWJhc2UuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVz
dHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jbGFzc2lmeS1hcy1wcmV2YWxlbnQtYmFzZWQtb24t
dG9wLWZyYW1lLXVuaXF1ZS1yZWRpcmVjdHMtdG8tZGF0YWJhc2UuaHRtbApkZWxldGVkIGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggNjYxMTUxNzEyY2FjZTNlNDdkOTdiMjZkMWFhNWM0NTRiMzFjY2E1
OS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRU
ZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY2xhc3NpZnktYXMtcHJldmFs
ZW50LWJhc2VkLW9uLXRvcC1mcmFtZS11bmlxdWUtcmVkaXJlY3RzLXRvLWRhdGFiYXNlLmh0bWwK
KysrIC9kZXYvbnVsbApAQCAtMSw1NCArMCwwIEBACi08IURPQ1RZUEUgaHRtbD4KLTxodG1sIGxh
bmc9ImVuIj4KLTxoZWFkPgotICAgIDxtZXRhIGNoYXJzZXQ9IlVURi04Ij4KLSAgICA8c2NyaXB0
IHNyYz0iL2pzLXRlc3QtcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgotICAgIDxzY3Jp
cHQgc3JjPSJyZXNvdXJjZXMvdXRpbC5qcyI+PC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keT4KLTxz
Y3JpcHQ+Ci0gICAgZGVzY3JpcHRpb24oIlRlc3RzIGZvciBjbGFzc2lmaWNhdGlvbiBiYXNlZCBv
biB0b3AgZnJhbWUgdW5pcXVlIHJlZGlyZWN0cyB0by4iKTsKLSAgICBqc1Rlc3RJc0FzeW5jID0g
dHJ1ZTsKLQotICAgIGNvbnN0IGhvc3RVbmRlclRlc3QgPSAiMTI3LjAuMC4xOjgwMDAiOwotICAg
IGNvbnN0IHN0YXRpc3RpY3NVcmwgPSAiaHR0cDovLyIgKyBob3N0VW5kZXJUZXN0ICsgIi90ZW1w
IjsKLSAgICBjb25zdCB0b3BGcmFtZU9yaWdpbjEgPSAiaHR0cDovLzEyNy4wLjAuMjo4MDAwL3Rl
bXAiOwotICAgIGNvbnN0IHRvcEZyYW1lT3JpZ2luMiA9ICJodHRwOi8vMTI3LjAuMC4zOjgwMDAv
dGVtcCI7Ci0gICAgY29uc3QgdG9wRnJhbWVPcmlnaW4zID0gImh0dHA6Ly8xMjcuMC4wLjQ6ODAw
MC90ZW1wIjsKLSAgICBjb25zdCB0b3BGcmFtZU9yaWdpbjQgPSAiaHR0cDovLzEyNy4wLjAuNTo4
MDAwL3RlbXAiOwotCi0gICAgZnVuY3Rpb24gY29tcGxldGVUZXN0KCkgewotICAgICAgICBpZiAo
IXRlc3RSdW5uZXIuaXNTdGF0aXN0aWNzUHJldmFsZW50UmVzb3VyY2Uoc3RhdGlzdGljc1VybCkp
Ci0gICAgICAgICAgICB0ZXN0RmFpbGVkKCJIb3N0IGRpZCBub3QgZ2V0IGNsYXNzaWZpZWQgYXMg
cHJldmFsZW50IHJlc291cmNlLiIpOwotICAgICAgICBpZiAodGVzdFJ1bm5lci5pc1N0YXRpc3Rp
Y3NWZXJ5UHJldmFsZW50UmVzb3VyY2Uoc3RhdGlzdGljc1VybCkpCi0gICAgICAgICAgICB0ZXN0
RmFpbGVkKCJIb3N0IGdvdCBjbGFzc2lmaWVkIGFzIHZlcnkgcHJldmFsZW50IHJlc291cmNlLiIp
OwotICAgICAgICBlbHNlCi0gICAgICAgICAgICB0ZXN0UGFzc2VkKCJIb3N0IGNsYXNzaWZpZWQg
YXMgcHJldmFsZW50IHJlc291cmNlLiIpOwotCi0gICAgICAgIHNldEVuYWJsZUZlYXR1cmUoZmFs
c2UsIGZpbmlzaEpTVGVzdCk7Ci0gICAgfQotCi0gICAgZnVuY3Rpb24gcnVuVGVzdCgpIHsKLSAg
ICAgICAgdGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNzVG9wRnJhbWVVbmlxdWVSZWRpcmVjdFRvKHN0
YXRpc3RpY3NVcmwsIHRvcEZyYW1lT3JpZ2luMSk7Ci0gICAgICAgIHRlc3RSdW5uZXIuc2V0U3Rh
dGlzdGljc1RvcEZyYW1lVW5pcXVlUmVkaXJlY3RUbyhzdGF0aXN0aWNzVXJsLCB0b3BGcmFtZU9y
aWdpbjIpOwotICAgICAgICB0ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NUb3BGcmFtZVVuaXF1ZVJl
ZGlyZWN0VG8oc3RhdGlzdGljc1VybCwgdG9wRnJhbWVPcmlnaW4zKTsKLSAgICAgICAgdGVzdFJ1
bm5lci5zZXRTdGF0aXN0aWNzVG9wRnJhbWVVbmlxdWVSZWRpcmVjdFRvKHN0YXRpc3RpY3NVcmws
IHRvcEZyYW1lT3JpZ2luNCk7Ci0KLSAgICAgICAgdGVzdFJ1bm5lci5pbnN0YWxsU3RhdGlzdGlj
c0RpZFNjYW5EYXRhUmVjb3Jkc0NhbGxiYWNrKGNvbXBsZXRlVGVzdCk7Ci0KLSAgICAgICAgdGVz
dFJ1bm5lci5zdGF0aXN0aWNzUHJvY2Vzc1N0YXRpc3RpY3NBbmREYXRhUmVjb3JkcygpOwotICAg
IH0KLQotICAgIGlmIChkb2N1bWVudC5sb2NhdGlvbi5ob3N0ID09PSBob3N0VW5kZXJUZXN0ICYm
IHdpbmRvdy50ZXN0UnVubmVyICYmIHdpbmRvdy5pbnRlcm5hbHMpIHsKLSAgICAgICAgdGVzdFJ1
bm5lci5zZXRVc2VJVFBEYXRhYmFzZSh0cnVlKTsKLSAgICAgICAgc2V0RW5hYmxlRmVhdHVyZSh0
cnVlLCBmdW5jdGlvbigpIHsKLSAgICAgICAgICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc1By
ZXZhbGVudFJlc291cmNlKHN0YXRpc3RpY3NVcmwsIGZhbHNlLCBmdW5jdGlvbigpIHsKLSAgICAg
ICAgICAgICAgICBpZiAodGVzdFJ1bm5lci5pc1N0YXRpc3RpY3NQcmV2YWxlbnRSZXNvdXJjZShz
dGF0aXN0aWNzVXJsKSkKLSAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZCgiSG9zdCBkaWQg
bm90IGdldCBzZXQgYXMgbm9uLXByZXZhbGVudCByZXNvdXJjZS4iKTsKLSAgICAgICAgICAgICAg
ICBydW5UZXN0KCk7Ci0gICAgICAgICAgICB9KTsKLSAgICAgICAgfSk7Ci0gICAgfQotPC9zY3Jp
cHQ+Ci08L2JvZHk+Ci08L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY2xhc3NpZnktYXMtdmVyeS1wcmV2YWxlbnQtYmFzZWQt
b24tbWl4ZWQtc3RhdGlzdGljcy1kYXRhYmFzZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9o
dHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY2xhc3NpZnktYXMtdmVyeS1wcmV2YWxl
bnQtYmFzZWQtb24tbWl4ZWQtc3RhdGlzdGljcy1kYXRhYmFzZS1leHBlY3RlZC50eHQKZGVsZXRl
ZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGIwZjAzMWRjYTVkMGM5NjA4ZjRkOGY1YWY4OTlhMTZl
OWVmNTFjNTguLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEv
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NsYXNzaWZ5LWFz
LXZlcnktcHJldmFsZW50LWJhc2VkLW9uLW1peGVkLXN0YXRpc3RpY3MtZGF0YWJhc2UtZXhwZWN0
ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEsMTAgKzAsMCBAQAotVGVzdCBmb3IgY2xhc3NpZmlj
YXRpb24gYXMgdmVyeSBwcmV2YWxlbnQgYmFzZWQgb24gbWl4ZWQgc3RhdGlzdGljcy4KLQotT24g
c3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93
ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgotCi0KLVBBU1MgSG9zdCBjbGFzc2lmaWVkIGFzIHZlcnkg
cHJldmFsZW50IHJlc291cmNlLgotUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQotCi1U
RVNUIENPTVBMRVRFCi0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3Vy
Y2VMb2FkU3RhdGlzdGljcy9jbGFzc2lmeS1hcy12ZXJ5LXByZXZhbGVudC1iYXNlZC1vbi1taXhl
ZC1zdGF0aXN0aWNzLWRhdGFiYXNlLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291
cmNlTG9hZFN0YXRpc3RpY3MvY2xhc3NpZnktYXMtdmVyeS1wcmV2YWxlbnQtYmFzZWQtb24tbWl4
ZWQtc3RhdGlzdGljcy1kYXRhYmFzZS5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCBmN2RkYWY3NTk0OTBjMDU2OTAzYTUwZDQ3ZmQ1YWE2ZWRiN2Y3YTIyLi4wMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMv
cmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jbGFzc2lmeS1hcy12ZXJ5LXByZXZhbGVudC1iYXNlZC1v
bi1taXhlZC1zdGF0aXN0aWNzLWRhdGFiYXNlLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSw2NCAr
MCwwIEBACi08IURPQ1RZUEUgaHRtbD4KLTxodG1sIGxhbmc9ImVuIj4KLTxoZWFkPgotICAgIDxt
ZXRhIGNoYXJzZXQ9IlVURi04Ij4KLSAgICA8c2NyaXB0IHNyYz0iL2pzLXRlc3QtcmVzb3VyY2Vz
L2pzLXRlc3QuanMiPjwvc2NyaXB0PgotICAgIDxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvdXRpbC5q
cyI+PC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keT4KLTxzY3JpcHQ+Ci0gICAgZGVzY3JpcHRpb24o
IlRlc3QgZm9yIGNsYXNzaWZpY2F0aW9uIGFzIHZlcnkgcHJldmFsZW50IGJhc2VkIG9uIG1peGVk
IHN0YXRpc3RpY3MuIik7Ci0gICAganNUZXN0SXNBc3luYyA9IHRydWU7Ci0KLSAgICBjb25zdCBo
b3N0VW5kZXJUZXN0ID0gIjEyNy4wLjAuMTo4MDAwIjsKLSAgICBjb25zdCBzdGF0aXN0aWNzVXJs
ID0gImh0dHA6Ly8iICsgaG9zdFVuZGVyVGVzdCArICIvdGVtcCI7Ci0gICAgdmFyIHRvcEZyYW1l
T3JpZ2lucyA9IFtdOwotICAgIGNvbnN0IHN0YXJ0TnVtID0gMjsKLSAgICBjb25zdCBudW1iZXJP
ZlN1YnJlc291cmNlRG9tYWlucyA9IDMwOwotICAgIGZvciAodmFyIGkgPSBzdGFydE51bTsgaSA8
IG51bWJlck9mU3VicmVzb3VyY2VEb21haW5zICsgc3RhcnROdW07ICsraSkKLSAgICAgICAgdG9w
RnJhbWVPcmlnaW5zLnB1c2goImh0dHA6Ly8xMjcuMC4wLiIgKyBpICsgIjo4MDAwL3RlbXAiKQot
Ci0gICAgZnVuY3Rpb24gY29tcGxldGVUZXN0KCkgewotICAgICAgICBpZiAoIXRlc3RSdW5uZXIu
aXNTdGF0aXN0aWNzUHJldmFsZW50UmVzb3VyY2Uoc3RhdGlzdGljc1VybCkpCi0gICAgICAgICAg
ICB0ZXN0RmFpbGVkKCJIb3N0IGRpZCBub3QgZ2V0IGNsYXNzaWZpZWQgYXMgcHJldmFsZW50IHJl
c291cmNlLiIpOwotICAgICAgICBpZiAoIXRlc3RSdW5uZXIuaXNTdGF0aXN0aWNzVmVyeVByZXZh
bGVudFJlc291cmNlKHN0YXRpc3RpY3NVcmwpKQotICAgICAgICAgICAgdGVzdEZhaWxlZCgiSG9z
dCBkaWQgbm90IGdldCBjbGFzc2lmaWVkIGFzIHZlcnkgcHJldmFsZW50IHJlc291cmNlLiIpOwot
ICAgICAgICBlbHNlCi0gICAgICAgICAgICB0ZXN0UGFzc2VkKCJIb3N0IGNsYXNzaWZpZWQgYXMg
dmVyeSBwcmV2YWxlbnQgcmVzb3VyY2UuIik7Ci0KLSAgICAgICAgc2V0RW5hYmxlRmVhdHVyZShm
YWxzZSwgZmluaXNoSlNUZXN0KTsKLSAgICB9Ci0KLSAgICBmdW5jdGlvbiBydW5UZXN0UnVubmVy
VGVzdCgpIHsgCi0gICAgICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc1ByZXZhbGVudFJlc291
cmNlKHN0YXRpc3RpY3NVcmwsIGZhbHNlLCBmdW5jdGlvbigpIHsKLSAgICAgICAgICAgIGlmICh0
ZXN0UnVubmVyLmlzU3RhdGlzdGljc1ByZXZhbGVudFJlc291cmNlKHN0YXRpc3RpY3NVcmwpKQot
ICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoIkhvc3Qgc3RhcnRlZCBvdXQgYXMgcHJldmFsZW50
IHJlc291cmNlLiIpOwotCi0gICAgICAgICAgICB2YXIgaSA9IDA7Ci0gICAgICAgICAgICB3aGls
ZSAoaSA8IG51bWJlck9mU3VicmVzb3VyY2VEb21haW5zKSB7Ci0gICAgICAgICAgICAgICAgdGVz
dFJ1bm5lci5zZXRTdGF0aXN0aWNzU3ViZnJhbWVVbmRlclRvcEZyYW1lT3JpZ2luKHN0YXRpc3Rp
Y3NVcmwsIHRvcEZyYW1lT3JpZ2luc1tpXSk7Ci0gICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5z
ZXRTdGF0aXN0aWNzU3VicmVzb3VyY2VVbmRlclRvcEZyYW1lT3JpZ2luKHN0YXRpc3RpY3NVcmws
IHRvcEZyYW1lT3JpZ2luc1tpXSk7Ci0gICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5zZXRTdGF0
aXN0aWNzU3VicmVzb3VyY2VVbmlxdWVSZWRpcmVjdFRvKHN0YXRpc3RpY3NVcmwsIHRvcEZyYW1l
T3JpZ2luc1tpXSk7Ci0KLSAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NT
dWJmcmFtZVVuZGVyVG9wRnJhbWVPcmlnaW4oc3RhdGlzdGljc1VybCwgdG9wRnJhbWVPcmlnaW5z
W2krMV0pOwotICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc1N1YnJlc291
cmNlVW5kZXJUb3BGcmFtZU9yaWdpbihzdGF0aXN0aWNzVXJsLCB0b3BGcmFtZU9yaWdpbnNbaSsx
XSk7Ci0gICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNzU3VicmVzb3VyY2VV
bmlxdWVSZWRpcmVjdFRvKHN0YXRpc3RpY3NVcmwsIHRvcEZyYW1lT3JpZ2luc1tpKzFdKTsKLQot
ICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc1N1YmZyYW1lVW5kZXJUb3BG
cmFtZU9yaWdpbihzdGF0aXN0aWNzVXJsLCB0b3BGcmFtZU9yaWdpbnNbaSsyXSk7Ci0gICAgICAg
ICAgICAgICAgdGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNzU3VicmVzb3VyY2VVbmRlclRvcEZyYW1l
T3JpZ2luKHN0YXRpc3RpY3NVcmwsIHRvcEZyYW1lT3JpZ2luc1tpKzJdKTsKLSAgICAgICAgICAg
ICAgICB0ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NTdWJyZXNvdXJjZVVuaXF1ZVJlZGlyZWN0VG8o
c3RhdGlzdGljc1VybCwgdG9wRnJhbWVPcmlnaW5zW2krMl0pOwotICAgICAgICAgICAgICAgIGkg
Kz0gMzsKLSAgICAgICAgICAgIH0KLQotICAgICAgICAgICAgdGVzdFJ1bm5lci5pbnN0YWxsU3Rh
dGlzdGljc0RpZFNjYW5EYXRhUmVjb3Jkc0NhbGxiYWNrKGNvbXBsZXRlVGVzdCk7Ci0gICAgICAg
ICAgICB0ZXN0UnVubmVyLnN0YXRpc3RpY3NQcm9jZXNzU3RhdGlzdGljc0FuZERhdGFSZWNvcmRz
KCk7Ci0gICAgICAgIH0pOwotICAgIH0KLQotICAgIGlmIChkb2N1bWVudC5sb2NhdGlvbi5ob3N0
ID09PSBob3N0VW5kZXJUZXN0ICYmIHdpbmRvdy50ZXN0UnVubmVyICYmIHdpbmRvdy5pbnRlcm5h
bHMpIHsKLSAgICAgICAgdGVzdFJ1bm5lci5zZXRVc2VJVFBEYXRhYmFzZSh0cnVlKTsKLSAgICAg
ICAgc2V0RW5hYmxlRmVhdHVyZSh0cnVlLCBydW5UZXN0UnVubmVyVGVzdCk7Ci0gICAgfQotPC9z
Y3JpcHQ+Ci08L2JvZHk+Ci08L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rl
c3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY2xlYXItaW4tbWVtb3J5LWFuZC1wZXJzaXN0ZW50
LXN0b3JlLWRhdGFiYXNlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVz
b3VyY2VMb2FkU3RhdGlzdGljcy9jbGVhci1pbi1tZW1vcnktYW5kLXBlcnNpc3RlbnQtc3RvcmUt
ZGF0YWJhc2UtZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBiYWUw
MDMzZmZjY2FlYzI2M2E5NmYyYjNkNzgzZWRjZjcwNDA4M2QzLi4wMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3Vy
Y2VMb2FkU3RhdGlzdGljcy9jbGVhci1pbi1tZW1vcnktYW5kLXBlcnNpc3RlbnQtc3RvcmUtZGF0
YWJhc2UtZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEsMTEgKzAsMCBAQAotVGVzdHMg
Y2xlYXJpbmcgb2Ygd2Vic2l0ZSBkYXRhIHN0b3JlLgotCi1PbiBzdWNjZXNzLCB5b3Ugd2lsbCBz
ZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVU
RSIuCi0KLQotUEFTUyBIb3N0IGNsYXNzaWZpZWQgYXMgcHJldmFsZW50IHJlc291cmNlLgotUEFT
UyBIb3N0IGlzIG5vIGxvbmdlciBhIHByZXZhbGVudCByZXNvdXJjZSBhZnRlciB0aGUgc3RvcmUg
d2FzIGNsZWFyZWQuCi1QQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCi0KLVRFU1QgQ09N
UExFVEUKLQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRT
dGF0aXN0aWNzL2NsZWFyLWluLW1lbW9yeS1hbmQtcGVyc2lzdGVudC1zdG9yZS1kYXRhYmFzZS5o
dG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NsZWFy
LWluLW1lbW9yeS1hbmQtcGVyc2lzdGVudC1zdG9yZS1kYXRhYmFzZS5odG1sCmRlbGV0ZWQgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCA1YTlmMTk2NzNmYjYwZWM4YjdjOTYxYzE3NzQ2ZGYwOGYyZDIy
YzJiLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91
dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jbGVhci1pbi1tZW1vcnkt
YW5kLXBlcnNpc3RlbnQtc3RvcmUtZGF0YWJhc2UuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDY1
ICswLDAgQEAKLTwhRE9DVFlQRSBodG1sPgotPGh0bWwgbGFuZz0iZW4iPgotPGhlYWQ+Ci0gICAg
PG1ldGEgY2hhcnNldD0iVVRGLTgiPgotICAgIDx0aXRsZT5UZXN0IENsZWFyZWQgU3RvcmU8L3Rp
dGxlPgotICAgIDxzY3JpcHQgc3JjPSIvanMtdGVzdC1yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9z
Y3JpcHQ+Ci0gICAgPHNjcmlwdCBzcmM9InJlc291cmNlcy91dGlsLmpzIj48L3NjcmlwdD4KLTwv
aGVhZD4KLTxib2R5PgotPHNjcmlwdD4KLSAgICBkZXNjcmlwdGlvbigiVGVzdHMgY2xlYXJpbmcg
b2Ygd2Vic2l0ZSBkYXRhIHN0b3JlLiIpOwotICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOwotCi0g
ICAgY29uc3QgaG9zdFVuZGVyVGVzdCA9ICIxMjcuMC4wLjE6ODAwMCI7Ci0gICAgY29uc3Qgc3Rh
dGlzdGljc1VybCA9ICJodHRwOi8vIiArIGhvc3RVbmRlclRlc3QgKyAiL3RlbXAiOwotICAgIGNv
bnN0IHRvcEZyYW1lT3JpZ2luMSA9ICJodHRwOi8vMTI3LjAuMC4yOjgwMDAvdGVtcCI7Ci0gICAg
Y29uc3QgdG9wRnJhbWVPcmlnaW4yID0gImh0dHA6Ly8xMjcuMC4wLjM6ODAwMC90ZW1wIjsKLSAg
ICBjb25zdCB0b3BGcmFtZU9yaWdpbjMgPSAiaHR0cDovLzEyNy4wLjAuNDo4MDAwL3RlbXAiOwot
Ci0gICAgZnVuY3Rpb24gdGVzdFN0ZXAyKCkgewotICAgICAgICBpZiAodGVzdFJ1bm5lci5pc1N0
YXRpc3RpY3NQcmV2YWxlbnRSZXNvdXJjZShzdGF0aXN0aWNzVXJsKSkKLSAgICAgICAgICAgIHRl
c3RQYXNzZWQoIkhvc3QgY2xhc3NpZmllZCBhcyBwcmV2YWxlbnQgcmVzb3VyY2UuIik7Ci0gICAg
ICAgIGVsc2UKLSAgICAgICAgICAgIHRlc3RGYWlsZWQoIkhvc3QgZGlkIG5vdCBnZXQgY2xhc3Np
ZmllZCBhcyBwcmV2YWxlbnQgcmVzb3VyY2UuIik7Ci0KLSAgICAgICAgdGVzdFJ1bm5lci5zdGF0
aXN0aWNzQ2xlYXJJbk1lbW9yeUFuZFBlcnNpc3RlbnRTdG9yZShjb21wbGV0ZVRlc3QpOwotICAg
IH0KLQotICAgIGZ1bmN0aW9uIGNvbXBsZXRlVGVzdCgpIHsKLSAgICAgICAgaWYgKHRlc3RSdW5u
ZXIuaXNTdGF0aXN0aWNzUHJldmFsZW50UmVzb3VyY2Uoc3RhdGlzdGljc1VybCkpCi0gICAgICAg
ICAgICB0ZXN0RmFpbGVkKCJIb3N0IGlzIHN0aWxsIGEgcHJldmFsZW50IHJlc291cmNlIGFmdGVy
IHRoZSBzdG9yZSB3YXMgY2xlYXJlZC4iKTsKLSAgICAgICAgZWxzZQotICAgICAgICAgICAgdGVz
dFBhc3NlZCgiSG9zdCBpcyBubyBsb25nZXIgYSBwcmV2YWxlbnQgcmVzb3VyY2UgYWZ0ZXIgdGhl
IHN0b3JlIHdhcyBjbGVhcmVkLiIpOwotCi0gICAgICAgIHNldEVuYWJsZUZlYXR1cmUoZmFsc2Us
IGZpbmlzaEpTVGVzdCk7Ci0gICAgfQotCi0gICAgZnVuY3Rpb24gcnVuVGVzdFJ1bm5lclRlc3Qo
KSB7Ci0gICAgICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc1ByZXZhbGVudFJlc291cmNlKHN0
YXRpc3RpY3NVcmwsIGZhbHNlLCBmdW5jdGlvbigpIHsKLSAgICAgICAgICAgIGlmICh0ZXN0UnVu
bmVyLmlzU3RhdGlzdGljc1ByZXZhbGVudFJlc291cmNlKHN0YXRpc3RpY3NVcmwpKQotICAgICAg
ICAgICAgICAgIHRlc3RGYWlsZWQoIkhvc3QgZGlkIG5vdCBnZXQgc2V0IGFzIG5vbi1wcmV2YWxl
bnQgcmVzb3VyY2UuIik7Ci0KLSAgICAgICAgICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc1N1
YmZyYW1lVW5kZXJUb3BGcmFtZU9yaWdpbihzdGF0aXN0aWNzVXJsLCB0b3BGcmFtZU9yaWdpbjEp
OwotICAgICAgICAgICAgdGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNzU3VicmVzb3VyY2VVbmlxdWVS
ZWRpcmVjdFRvKHN0YXRpc3RpY3NVcmwsIHRvcEZyYW1lT3JpZ2luMSk7Ci0gICAgICAgICAgICB0
ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NTdWJyZXNvdXJjZVVuZGVyVG9wRnJhbWVPcmlnaW4oc3Rh
dGlzdGljc1VybCwgdG9wRnJhbWVPcmlnaW4xKTsKLSAgICAgICAgICAgIHRlc3RSdW5uZXIuc2V0
U3RhdGlzdGljc1N1YnJlc291cmNlVW5kZXJUb3BGcmFtZU9yaWdpbihzdGF0aXN0aWNzVXJsLCB0
b3BGcmFtZU9yaWdpbjIpOwotICAgICAgICAgICAgdGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNzU3Vi
ZnJhbWVVbmRlclRvcEZyYW1lT3JpZ2luKHN0YXRpc3RpY3NVcmwsIHRvcEZyYW1lT3JpZ2luMik7
Ci0gICAgICAgICAgICB0ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NTdWJyZXNvdXJjZVVuaXF1ZVJl
ZGlyZWN0VG8oc3RhdGlzdGljc1VybCwgdG9wRnJhbWVPcmlnaW4zKTsKLSAgICAgICAgICAgIHRl
c3RSdW5uZXIuc2V0U3RhdGlzdGljc1N1YnJlc291cmNlVW5kZXJUb3BGcmFtZU9yaWdpbihzdGF0
aXN0aWNzVXJsLCB0b3BGcmFtZU9yaWdpbjMpOwotCi0gICAgICAgICAgICB0ZXN0UnVubmVyLmlu
c3RhbGxTdGF0aXN0aWNzRGlkU2NhbkRhdGFSZWNvcmRzQ2FsbGJhY2sodGVzdFN0ZXAyKTsKLQot
ICAgICAgICAgICAgdGVzdFJ1bm5lci5zdGF0aXN0aWNzUHJvY2Vzc1N0YXRpc3RpY3NBbmREYXRh
UmVjb3JkcygpOwotICAgICAgICB9KTsKLSAgICB9Ci0KLSAgICBpZiAoZG9jdW1lbnQubG9jYXRp
b24uaG9zdCA9PT0gaG9zdFVuZGVyVGVzdCAmJiB3aW5kb3cudGVzdFJ1bm5lciAmJiB3aW5kb3cu
aW50ZXJuYWxzKSB7Ci0gICAgICAgIHRlc3RSdW5uZXIuc2V0VXNlSVRQRGF0YWJhc2UodHJ1ZSk7
Ci0gICAgICAgIHNldEVuYWJsZUZlYXR1cmUodHJ1ZSwgZnVuY3Rpb24gKCkgewotICAgICAgICAg
ICAgcnVuVGVzdFJ1bm5lclRlc3QoKTsKLSAgICAgICAgfSk7Ci0gICAgfQotPC9zY3JpcHQ+Ci08
L2JvZHk+Ci08L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291
cmNlTG9hZFN0YXRpc3RpY3MvY2xlYXItaW4tbWVtb3J5LWFuZC1wZXJzaXN0ZW50LXN0b3JlLW9u
ZS1ob3VyLWRhdGFiYXNlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVz
b3VyY2VMb2FkU3RhdGlzdGljcy9jbGVhci1pbi1tZW1vcnktYW5kLXBlcnNpc3RlbnQtc3RvcmUt
b25lLWhvdXItZGF0YWJhc2UtZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwN2Y5OTljNmZlYjMyNjVkZWZmMzk1MWFjMmY4MTQwYWMxYTZlZWUwLi4wMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVz
dHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jbGVhci1pbi1tZW1vcnktYW5kLXBlcnNpc3RlbnQt
c3RvcmUtb25lLWhvdXItZGF0YWJhc2UtZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEs
MTEgKzAsMCBAQAotVGVzdHMgY2xlYXJpbmcgb2Ygd2Vic2l0ZSBkYXRhIHN0b3JlIChvbmUgaG91
cikuCi0KLU9uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2Fn
ZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KLQotCi1QQVNTIEhvc3QgY2xhc3NpZmll
ZCBhcyBwcmV2YWxlbnQgcmVzb3VyY2UuCi1QQVNTIEhvc3QgaXMgbm8gbG9uZ2VyIGEgcHJldmFs
ZW50IHJlc291cmNlIGFmdGVyIHRoZSBzdG9yZSB3YXMgY2xlYXJlZC4KLVBBU1Mgc3VjY2Vzc2Z1
bGx5UGFyc2VkIGlzIHRydWUKLQotVEVTVCBDT01QTEVURQotCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY2xlYXItaW4tbWVtb3J5LWFu
ZC1wZXJzaXN0ZW50LXN0b3JlLW9uZS1ob3VyLWRhdGFiYXNlLmh0bWwgYi9MYXlvdXRUZXN0cy9o
dHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY2xlYXItaW4tbWVtb3J5LWFuZC1wZXJz
aXN0ZW50LXN0b3JlLW9uZS1ob3VyLWRhdGFiYXNlLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IGFjMjFjMDY2NGU0MTMxM2ZmYTNmMzNkNGIwMTIzNzUyMTAyZGU0MGIuLjAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NsZWFyLWluLW1lbW9yeS1hbmQtcGVyc2lz
dGVudC1zdG9yZS1vbmUtaG91ci1kYXRhYmFzZS5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsNjMg
KzAsMCBAQAotPCFET0NUWVBFIGh0bWw+Ci08aHRtbCBsYW5nPSJlbiI+Ci08aGVhZD4KLSAgICA8
bWV0YSBjaGFyc2V0PSJVVEYtOCI+Ci0gICAgPHRpdGxlPjwvdGl0bGU+Ci0gICAgPHNjcmlwdCBz
cmM9Ii9qcy10ZXN0LXJlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KLSAgICA8c2NyaXB0
IHNyYz0icmVzb3VyY2VzL3V0aWwuanMiPjwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHk+Ci08c2Ny
aXB0PgotICAgIGRlc2NyaXB0aW9uKCJUZXN0cyBjbGVhcmluZyBvZiB3ZWJzaXRlIGRhdGEgc3Rv
cmUgKG9uZSBob3VyKS4iKTsKLSAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKLQotICAgIGNvbnN0
IGhvc3RVbmRlclRlc3QgPSAiMTI3LjAuMC4xOjgwMDAiOwotICAgIGNvbnN0IHN0YXRpc3RpY3NV
cmwgPSAiaHR0cDovLyIgKyBob3N0VW5kZXJUZXN0ICsgIi90ZW1wIjsKLSAgICBjb25zdCB0b3BG
cmFtZU9yaWdpbjEgPSAiaHR0cDovLzEyNy4wLjAuMjo4MDAwL3RlbXAiOwotICAgIGNvbnN0IHRv
cEZyYW1lT3JpZ2luMiA9ICJodHRwOi8vMTI3LjAuMC4zOjgwMDAvdGVtcCI7Ci0gICAgY29uc3Qg
dG9wRnJhbWVPcmlnaW4zID0gImh0dHA6Ly8xMjcuMC4wLjQ6ODAwMC90ZW1wIjsKLQotICAgIGZ1
bmN0aW9uIGNvbXBsZXRlVGVzdCgpIHsKLSAgICAgICAgaWYgKHRlc3RSdW5uZXIuaXNTdGF0aXN0
aWNzUHJldmFsZW50UmVzb3VyY2Uoc3RhdGlzdGljc1VybCkpCi0gICAgICAgICAgICB0ZXN0RmFp
bGVkKCJIb3N0IGlzIHN0aWxsIGEgcHJldmFsZW50IHJlc291cmNlIGFmdGVyIHRoZSBzdG9yZSB3
YXMgY2xlYXJlZC4iKTsKLSAgICAgICAgZWxzZQotICAgICAgICAgICAgdGVzdFBhc3NlZCgiSG9z
dCBpcyBubyBsb25nZXIgYSBwcmV2YWxlbnQgcmVzb3VyY2UgYWZ0ZXIgdGhlIHN0b3JlIHdhcyBj
bGVhcmVkLiIpOwotICAgICAgICBzZXRFbmFibGVGZWF0dXJlKGZhbHNlLCBmaW5pc2hKU1Rlc3Qp
OwotICAgIH0KLQotICAgIGZ1bmN0aW9uIHRlc3RTdGVwMigpIHsKLSAgICAgICAgaWYgKHRlc3RS
dW5uZXIuaXNTdGF0aXN0aWNzUHJldmFsZW50UmVzb3VyY2Uoc3RhdGlzdGljc1VybCkpCi0gICAg
ICAgICAgICB0ZXN0UGFzc2VkKCJIb3N0IGNsYXNzaWZpZWQgYXMgcHJldmFsZW50IHJlc291cmNl
LiIpOwotICAgICAgICBlbHNlCi0gICAgICAgICAgICB0ZXN0RmFpbGVkKCJIb3N0IGRpZCBub3Qg
Z2V0IGNsYXNzaWZpZWQgYXMgcHJldmFsZW50IHJlc291cmNlLiIpOwotCi0gICAgICAgIHRlc3RS
dW5uZXIuc3RhdGlzdGljc0NsZWFySW5NZW1vcnlBbmRQZXJzaXN0ZW50U3RvcmVNb2RpZmllZFNp
bmNlSG91cnMoMSwgY29tcGxldGVUZXN0KTsKLSAgICB9Ci0KLSAgICBmdW5jdGlvbiBydW5UZXN0
UnVubmVyVGVzdCgpIHsKLSAgICAgICAgdGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNzUHJldmFsZW50
UmVzb3VyY2Uoc3RhdGlzdGljc1VybCwgZmFsc2UsIGZ1bmN0aW9uKCkge30pOwotICAgICAgICBp
ZiAodGVzdFJ1bm5lci5pc1N0YXRpc3RpY3NQcmV2YWxlbnRSZXNvdXJjZShzdGF0aXN0aWNzVXJs
KSkKLSAgICAgICAgICAgIHRlc3RGYWlsZWQoIkhvc3QgZGlkIG5vdCBnZXQgc2V0IGFzIG5vbi1w
cmV2YWxlbnQgcmVzb3VyY2UuIik7Ci0KLSAgICAgICAgdGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNz
U3ViZnJhbWVVbmRlclRvcEZyYW1lT3JpZ2luKHN0YXRpc3RpY3NVcmwsIHRvcEZyYW1lT3JpZ2lu
MSk7Ci0gICAgICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc1N1YnJlc291cmNlVW5pcXVlUmVk
aXJlY3RUbyhzdGF0aXN0aWNzVXJsLCB0b3BGcmFtZU9yaWdpbjEpOwotICAgICAgICB0ZXN0UnVu
bmVyLnNldFN0YXRpc3RpY3NTdWJyZXNvdXJjZVVuZGVyVG9wRnJhbWVPcmlnaW4oc3RhdGlzdGlj
c1VybCwgdG9wRnJhbWVPcmlnaW4xKTsKLSAgICAgICAgdGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNz
U3VicmVzb3VyY2VVbmRlclRvcEZyYW1lT3JpZ2luKHN0YXRpc3RpY3NVcmwsIHRvcEZyYW1lT3Jp
Z2luMik7Ci0gICAgICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc1N1YmZyYW1lVW5kZXJUb3BG
cmFtZU9yaWdpbihzdGF0aXN0aWNzVXJsLCB0b3BGcmFtZU9yaWdpbjIpOwotICAgICAgICB0ZXN0
UnVubmVyLnNldFN0YXRpc3RpY3NTdWJyZXNvdXJjZVVuaXF1ZVJlZGlyZWN0VG8oc3RhdGlzdGlj
c1VybCwgdG9wRnJhbWVPcmlnaW4zKTsKLSAgICAgICAgdGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNz
U3VicmVzb3VyY2VVbmRlclRvcEZyYW1lT3JpZ2luKHN0YXRpc3RpY3NVcmwsIHRvcEZyYW1lT3Jp
Z2luMyk7Ci0KLSAgICAgICAgdGVzdFJ1bm5lci5pbnN0YWxsU3RhdGlzdGljc0RpZFNjYW5EYXRh
UmVjb3Jkc0NhbGxiYWNrKHRlc3RTdGVwMik7Ci0KLSAgICAgICAgdGVzdFJ1bm5lci5zdGF0aXN0
aWNzUHJvY2Vzc1N0YXRpc3RpY3NBbmREYXRhUmVjb3JkcygpOwotICAgIH0KLQotICAgIGlmIChk
b2N1bWVudC5sb2NhdGlvbi5ob3N0ID09PSBob3N0VW5kZXJUZXN0ICYmIHdpbmRvdy50ZXN0UnVu
bmVyICYmIHdpbmRvdy5pbnRlcm5hbHMpIHsKLSAgICAgICAgdGVzdFJ1bm5lci5zZXRVc2VJVFBE
YXRhYmFzZSh0cnVlKTsKLSAgICAgICAgc2V0RW5hYmxlRmVhdHVyZSh0cnVlLCBmdW5jdGlvbiAo
KSB7Ci0gICAgICAgICAgICBydW5UZXN0UnVubmVyVGVzdCgpOwotICAgICAgICB9KTsKLSAgICB9
Ci08L3NjcmlwdD4KLTwvYm9keT4KLTwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0
dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jb29raWUtZGVsZXRpb24tZGF0YWJhc2Ut
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0
aWNzL2Nvb2tpZS1kZWxldGlvbi1kYXRhYmFzZS1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IGFhNzczZWQ5Y2JmM2UyMzFhYzRkODRkZDY0ZTlmN2FjZDI4YWQwMjUu
LjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2Nvb2tpZS1kZWxldGlvbi1kYXRh
YmFzZS1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSw1NSArMCwwIEBACi1UZXN0IGZv
ciBwYXJ0aXRpb25lZCBhbmQgdW5wYXJ0aXRpb25lZCBjb29raWUgZGVsZXRpb24uCi0KLU9uIHN1
Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2Vk
IGJ5ICJURVNUIENPTVBMRVRFIi4KLQotCi1QQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVl
Ci0KLVRFU1QgQ09NUExFVEUKLQotCi0tLS0tLS0tLQotRnJhbWU6ICc8IS0tZnJhbWUxLS0+Jwot
LS0tLS0tLS0KLVNob3VsZCByZWNlaXZlIGZpcnN0LXBhcnR5IGNvb2tpZS4KLVJlY2VpdmVkIGNv
b2tpZSBuYW1lZCAnZmlyc3RQYXJ0eUNvb2tpZScuCi1EaWQgbm90IHJlY2VpdmUgY29va2llIG5h
bWVkICd0aGlyZFBhcnR5Q29va2llJy4KLUNsaWVudC1zaWRlIGRvY3VtZW50LmNvb2tpZTogZmly
c3RQYXJ0eUNvb2tpZT12YWx1ZQotCi0tLS0tLS0tLQotRnJhbWU6ICc8IS0tZnJhbWUyLS0+Jwot
LS0tLS0tLS0KLVNob3VsZCByZWNlaXZlIG5vIGNvb2tpZXMuCi1EaWQgbm90IHJlY2VpdmUgY29v
a2llIG5hbWVkICdmaXJzdFBhcnR5Q29va2llJy4KLURpZCBub3QgcmVjZWl2ZSBjb29raWUgbmFt
ZWQgJ3RoaXJkUGFydHlDb29raWUnLgotQ2xpZW50LXNpZGUgZG9jdW1lbnQuY29va2llOgotCi0t
LS0tLS0tLQotRnJhbWU6ICc8IS0tZnJhbWUzLS0+JwotLS0tLS0tLS0KLVRyeSB0byBzZXQgdGhp
cmQgcGFydHkgY29va2llLgotCi0KLS0tLS0tLS0tCi1GcmFtZTogJzwhLS1mcmFtZTQtLT4nCi0t
LS0tLS0tLQotU2hvdWxkIHJlY2VpdmUgbm8gY29va2llcy4KLURpZCBub3QgcmVjZWl2ZSBjb29r
aWUgbmFtZWQgJ2ZpcnN0UGFydHlDb29raWUnLgotRGlkIG5vdCByZWNlaXZlIGNvb2tpZSBuYW1l
ZCAndGhpcmRQYXJ0eUNvb2tpZScuCi1DbGllbnQtc2lkZSBkb2N1bWVudC5jb29raWU6Ci0KLS0t
LS0tLS0tCi1GcmFtZTogJzwhLS1mcmFtZTUtLT4nCi0tLS0tLS0tLQotQWZ0ZXIgcmVtb3ZhbCwg
c2hvdWxkIHJlY2VpdmUgbm8gY29va2llcy4KLURpZCBub3QgcmVjZWl2ZSBjb29raWUgbmFtZWQg
J2ZpcnN0UGFydHlDb29raWUnLgotRGlkIG5vdCByZWNlaXZlIGNvb2tpZSBuYW1lZCAndGhpcmRQ
YXJ0eUNvb2tpZScuCi1DbGllbnQtc2lkZSBkb2N1bWVudC5jb29raWU6Ci0KLS0tLS0tLS0tCi1G
cmFtZTogJzwhLS1mcmFtZTYtLT4nCi0tLS0tLS0tLQotQWZ0ZXIgZGVjbGFzc2lmaWVkLCBzaG91
bGQgcmVjZWl2ZSBubyBjb29raWVzLgotRGlkIG5vdCByZWNlaXZlIGNvb2tpZSBuYW1lZCAnZmly
c3RQYXJ0eUNvb2tpZScuCi1EaWQgbm90IHJlY2VpdmUgY29va2llIG5hbWVkICd0aGlyZFBhcnR5
Q29va2llJy4KLUNsaWVudC1zaWRlIGRvY3VtZW50LmNvb2tpZToKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jb29raWUtZGVsZXRpb24t
ZGF0YWJhc2UuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlz
dGljcy9jb29raWUtZGVsZXRpb24tZGF0YWJhc2UuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggNDE0MTQ4YTJkODNmYmUwYmYzNmNkNDMxNjhjOTQ1MjM3Y2I1ZGRhZi4uMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY29va2llLWRlbGV0aW9uLWRhdGFiYXNlLmh0
bWwKKysrIC9kZXYvbnVsbApAQCAtMSwxMTYgKzAsMCBAQAotPCFET0NUWVBFIGh0bWw+Ci08aHRt
bCBsYW5nPSJlbiI+Ci08aGVhZD4KLSAgICA8bWV0YSBjaGFyc2V0PSJVVEYtOCI+Ci0gICAgPHNj
cmlwdCBzcmM9Ii9qcy10ZXN0LXJlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KLSAgICA8
c2NyaXB0IHNyYz0icmVzb3VyY2VzL3V0aWwuanMiPjwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHk+
Ci08c2NyaXB0PgotICAgIGRlc2NyaXB0aW9uKCJUZXN0IGZvciBwYXJ0aXRpb25lZCBhbmQgdW5w
YXJ0aXRpb25lZCBjb29raWUgZGVsZXRpb24uIik7Ci0gICAganNUZXN0SXNBc3luYyA9IHRydWU7
Ci0KLSAgICBjb25zdCBwYXJ0aXRpb25Ib3N0ID0gIjEyNy4wLjAuMTo4MDAwIjsKLSAgICBjb25z
dCB0aGlyZFBhcnR5T3JpZ2luID0gImh0dHA6Ly9sb2NhbGhvc3Q6ODAwMCI7Ci0gICAgY29uc3Qg
dGhpcmRQYXJ0eUJhc2VVcmwgPSB0aGlyZFBhcnR5T3JpZ2luICsgIi9yZXNvdXJjZUxvYWRTdGF0
aXN0aWNzL3Jlc291cmNlcyI7Ci0gICAgY29uc3QgZmlyc3RQYXJ0eUNvb2tpZU5hbWUgPSAiZmly
c3RQYXJ0eUNvb2tpZSI7Ci0gICAgY29uc3Qgc3ViUGF0aFRvU2V0Rmlyc3RQYXJ0eUNvb2tpZSA9
ICIvc2V0LWNvb2tpZS5waHA/bmFtZT0iICsgZmlyc3RQYXJ0eUNvb2tpZU5hbWUgKyAiJnZhbHVl
PXZhbHVlIjsKLSAgICBjb25zdCB0aGlyZFBhcnR5Q29va2llTmFtZSA9ICJ0aGlyZFBhcnR5Q29v
a2llIjsKLSAgICBjb25zdCBzdWJQYXRoVG9TZXRUaGlyZFBhcnR5Q29va2llID0gIi9zZXQtY29v
a2llLnBocD9uYW1lPSIgKyB0aGlyZFBhcnR5Q29va2llTmFtZSArICImdmFsdWU9dmFsdWUiOwot
ICAgIGNvbnN0IGZyYWdtZW50V2l0aFJldHVyblVybCA9ICJodHRwOi8vIiArIHBhcnRpdGlvbkhv
c3QgKyAiL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY29va2llLWRlbGV0aW9uLWRhdGFiYXNlLmh0
bWwiOwotICAgIGNvbnN0IHN1YlBhdGhUb0dldENvb2tpZXMgPSAiL2dldC1jb29raWVzLnBocD9u
YW1lMT0iICsgZmlyc3RQYXJ0eUNvb2tpZU5hbWUgKyAiJm5hbWUyPSIgKyB0aGlyZFBhcnR5Q29v
a2llTmFtZTsKLQotICAgIGZ1bmN0aW9uIGZpbmlzaFRlc3QoKSB7Ci0gICAgICAgIHNldEVuYWJs
ZUZlYXR1cmUoZmFsc2UsIGZpbmlzaEpTVGVzdCk7Ci0gICAgfQotCi0gICAgZnVuY3Rpb24gb3Bl
bklmcmFtZSh1cmwsIG9uTG9hZEhhbmRsZXIpIHsKLSAgICAgICAgY29uc3QgZWxlbWVudCA9IGRv
Y3VtZW50LmNyZWF0ZUVsZW1lbnQoImlmcmFtZSIpOwotICAgICAgICBlbGVtZW50LnNyYyA9IHVy
bDsKLSAgICAgICAgaWYgKG9uTG9hZEhhbmRsZXIpIHsKLSAgICAgICAgICAgIGVsZW1lbnQub25s
b2FkID0gb25Mb2FkSGFuZGxlcjsKLSAgICAgICAgfQotICAgICAgICBkb2N1bWVudC5ib2R5LmFw
cGVuZENoaWxkKGVsZW1lbnQpOwotICAgIH0KLQotCi0gICAgZnVuY3Rpb24gZmlyZURhdGFNb2Rp
ZmljYXRpb25IYW5kbGVyQW5kQ29udGludWUoKSB7Ci0gICAgICAgIHRlc3RSdW5uZXIuaW5zdGFs
bFN0YXRpc3RpY3NEaWRTY2FuRGF0YVJlY29yZHNDYWxsYmFjayhmdW5jdGlvbigpIHsKLSAgICAg
ICAgICAgIHNldFRpbWVvdXQocnVuVGVzdCwgNTAwKTsKLSAgICAgICAgfSk7Ci0gICAgICAgIHRl
c3RSdW5uZXIuc3RhdGlzdGljc1Byb2Nlc3NTdGF0aXN0aWNzQW5kRGF0YVJlY29yZHMoKTsKLSAg
ICB9Ci0KLSAgICBmdW5jdGlvbiBzZXRBc05vblByZXZhbGVudEFuZENvbnRpbnVlKCkgewotICAg
ICAgICB0ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NQcmV2YWxlbnRSZXNvdXJjZSh0aGlyZFBhcnR5
T3JpZ2luLCBmYWxzZSwgZnVuY3Rpb24oKSB7Ci0gICAgICAgICAgICBpZiAodGVzdFJ1bm5lci5p
c1N0YXRpc3RpY3NQcmV2YWxlbnRSZXNvdXJjZSh0aGlyZFBhcnR5T3JpZ2luKSkKLSAgICAgICAg
ICAgICAgICB0ZXN0RmFpbGVkKCJIb3N0IHN0aWxsIHNldCBhcyBwcmV2YWxlbnQgcmVzb3VyY2Uu
Iik7Ci0gICAgICAgICAgICB0ZXN0UnVubmVyLnN0YXRpc3RpY3NVcGRhdGVDb29raWVCbG9ja2lu
ZyhydW5UZXN0KTsKLSAgICAgICAgfSk7Ci0gICAgfQotCi0gICAgZnVuY3Rpb24gcnVuVGVzdCgp
IHsKLSAgICAgICAgc3dpdGNoIChkb2N1bWVudC5sb2NhdGlvbi5oYXNoKSB7Ci0gICAgICAgICAg
ICBjYXNlICIjc3RlcDEiOgotICAgICAgICAgICAgICAgIC8vIFNldCBmaXJzdC1wYXJ0eSBjb29r
aWUgZm9yIGxvY2FsaG9zdC4KLSAgICAgICAgICAgICAgICBkb2N1bWVudC5sb2NhdGlvbi5ocmVm
ID0gdGhpcmRQYXJ0eUJhc2VVcmwgKyBzdWJQYXRoVG9TZXRGaXJzdFBhcnR5Q29va2llICsgIiMi
ICsgZnJhZ21lbnRXaXRoUmV0dXJuVXJsICsgIiNzdGVwMiI7Ci0gICAgICAgICAgICAgICAgYnJl
YWs7Ci0gICAgICAgICAgICBjYXNlICIjc3RlcDIiOgotICAgICAgICAgICAgICAgIC8vIENoZWNr
IHRoYXQgdGhlIHRoaXJkLXBhcnR5IGhhcyBhY2Nlc3MgdG8gaXRzIGZpcnN0LXBhcnR5IGNvb2tp
ZXMuCi0gICAgICAgICAgICAgICAgZG9jdW1lbnQubG9jYXRpb24uaGFzaCA9ICJzdGVwMyI7Ci0g
ICAgICAgICAgICAgICAgb3BlbklmcmFtZSh0aGlyZFBhcnR5QmFzZVVybCArIHN1YlBhdGhUb0dl
dENvb2tpZXMgKyAiJm1lc3NhZ2U9U2hvdWxkIHJlY2VpdmUgZmlyc3QtcGFydHkgY29va2llLiIs
IHJ1blRlc3QpOwotICAgICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICAgICAgY2FzZSAiI3N0
ZXAzIjoKLSAgICAgICAgICAgICAgICAvLyBDbGFzc2lmeSBsb2NhbGhvc3QgYXMgcHJldmFsZW50
LgotICAgICAgICAgICAgICAgIGRvY3VtZW50LmxvY2F0aW9uLmhhc2ggPSAic3RlcDQiOwotICAg
ICAgICAgICAgICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc1ByZXZhbGVudFJlc291cmNlKHRo
aXJkUGFydHlPcmlnaW4sIHRydWUsIGZ1bmN0aW9uKCkgewotICAgICAgICAgICAgICAgICAgICBp
ZiAoIXRlc3RSdW5uZXIuaXNTdGF0aXN0aWNzUHJldmFsZW50UmVzb3VyY2UodGhpcmRQYXJ0eU9y
aWdpbikpCi0gICAgICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKCJIb3N0IGRpZCBub3Qg
Z2V0IHNldCBhcyBwcmV2YWxlbnQgcmVzb3VyY2UuIik7Ci0gICAgICAgICAgICAgICAgICAgIHRl
c3RSdW5uZXIuc3RhdGlzdGljc1VwZGF0ZUNvb2tpZUJsb2NraW5nKHJ1blRlc3QpOwotICAgICAg
ICAgICAgICAgIH0pOwotICAgICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICAgICAgY2FzZSAi
I3N0ZXA0IjoKLSAgICAgICAgICAgICAgICAvLyBDaGVjayB0aGF0IHRoZSB0aGlyZC1wYXJ0eSBu
byBsb25nZXIgaGFzIGFjY2VzcyB0byBpdHMgZmlyc3QtcGFydHkgY29va2llcy4KLSAgICAgICAg
ICAgICAgICBkb2N1bWVudC5sb2NhdGlvbi5oYXNoID0gInN0ZXA1IjsKLSAgICAgICAgICAgICAg
ICBvcGVuSWZyYW1lKHRoaXJkUGFydHlCYXNlVXJsICsgc3ViUGF0aFRvR2V0Q29va2llcyArICIm
bWVzc2FnZT1TaG91bGQgcmVjZWl2ZSBubyBjb29raWVzLiIsIHJ1blRlc3QpOwotICAgICAgICAg
ICAgICAgIGJyZWFrOwotICAgICAgICAgICAgY2FzZSAiI3N0ZXA1IjoKLSAgICAgICAgICAgICAg
ICAvLyBUcnkgc2V0dGluZyBhIGNvb2tpZSBhcyB0aGlyZC1wYXJ0eS4KLSAgICAgICAgICAgICAg
ICBkb2N1bWVudC5sb2NhdGlvbi5oYXNoID0gInN0ZXA2IjsKLSAgICAgICAgICAgICAgICBvcGVu
SWZyYW1lKHRoaXJkUGFydHlCYXNlVXJsICsgc3ViUGF0aFRvU2V0VGhpcmRQYXJ0eUNvb2tpZSAr
ICImbWVzc2FnZT1UcnkgdG8gc2V0IHRoaXJkIHBhcnR5IGNvb2tpZS4iLCBydW5UZXN0KTsKLSAg
ICAgICAgICAgICAgICBicmVhazsKLSAgICAgICAgICAgIGNhc2UgIiNzdGVwNiI6Ci0gICAgICAg
ICAgICAgICAgLy8gQ2hlY2sgdGhhdCB0aGUgdGhpcmQtcGFydHkgc3RpbGwgaGFzIG5vIGFjY2Vz
cyB0byBjb29raWVzIGFuZCB0aGVuIGZpcmUgZGF0YSByZWNvcmQgcmVtb3ZhbC4KLSAgICAgICAg
ICAgICAgICBkb2N1bWVudC5sb2NhdGlvbi5oYXNoID0gInN0ZXA3IjsKLSAgICAgICAgICAgICAg
ICBvcGVuSWZyYW1lKHRoaXJkUGFydHlCYXNlVXJsICsgc3ViUGF0aFRvR2V0Q29va2llcyArICIm
bWVzc2FnZT1TaG91bGQgcmVjZWl2ZSBubyBjb29raWVzLiIsIGZpcmVEYXRhTW9kaWZpY2F0aW9u
SGFuZGxlckFuZENvbnRpbnVlKTsKLSAgICAgICAgICAgICAgICBicmVhazsKLSAgICAgICAgICAg
IGNhc2UgIiNzdGVwNyI6Ci0gICAgICAgICAgICAgICAgLy8gQ2hlY2sgdGhhdCB0aGUgdGhpcmQt
cGFydHkgc3RpbGwgaGFzIG5vIGFjY2VzcyB0byBjb29raWVzIGFuZCB0aGVuIGRlY2xhc3NpZnkg
bG9jYWxob3N0LgotICAgICAgICAgICAgICAgIGRvY3VtZW50LmxvY2F0aW9uLmhhc2ggPSAic3Rl
cDgiOwotICAgICAgICAgICAgICAgIG9wZW5JZnJhbWUodGhpcmRQYXJ0eUJhc2VVcmwgKyBzdWJQ
YXRoVG9HZXRDb29raWVzICsgIiZtZXNzYWdlPUFmdGVyIHJlbW92YWwsIHNob3VsZCByZWNlaXZl
IG5vIGNvb2tpZXMuIiwgc2V0QXNOb25QcmV2YWxlbnRBbmRDb250aW51ZSk7Ci0gICAgICAgICAg
ICAgICAgYnJlYWs7Ci0gICAgICAgICAgICBjYXNlICIjc3RlcDgiOgotICAgICAgICAgICAgICAg
IC8vIENoZWNrIHRoYXQgdGhlIHRoaXJkLXBhcnR5IHN0aWxsIGhhcyBubyBhY2Nlc3MgdG8gY29v
a2llcy4KLSAgICAgICAgICAgICAgICBvcGVuSWZyYW1lKHRoaXJkUGFydHlCYXNlVXJsICsgc3Vi
UGF0aFRvR2V0Q29va2llcyArICImbWVzc2FnZT1BZnRlciBkZWNsYXNzaWZpZWQsIHNob3VsZCBy
ZWNlaXZlIG5vIGNvb2tpZXMuIiwgZmluaXNoVGVzdCk7Ci0gICAgICAgICAgICAgICAgYnJlYWs7
Ci0gICAgICAgIH0KLSAgICB9Ci0KLSAgICBpZiAoZG9jdW1lbnQubG9jYXRpb24uaG9zdCA9PT0g
cGFydGl0aW9uSG9zdCAmJiBkb2N1bWVudC5sb2NhdGlvbi5oYXNoID09PSAiIiAmJiB3aW5kb3cu
dGVzdFJ1bm5lciAmJiB3aW5kb3cuaW50ZXJuYWxzKSB7Ci0gICAgICAgIHRlc3RSdW5uZXIuc2V0
VXNlSVRQRGF0YWJhc2UodHJ1ZSk7Ci0gICAgICAgIHNldEVuYWJsZUZlYXR1cmUodHJ1ZSwgZnVu
Y3Rpb24oKSB7Ci0gICAgICAgICAgICB0ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NTaG91bGRDbGFz
c2lmeVJlc291cmNlc0JlZm9yZURhdGFSZWNvcmRzUmVtb3ZhbChmYWxzZSk7Ci0gICAgICAgICAg
ICB0ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NNaW5pbXVtVGltZUJldHdlZW5EYXRhUmVjb3Jkc1Jl
bW92YWwoMCk7Ci0KLSAgICAgICAgICAgIHRlc3RSdW5uZXIuZHVtcENoaWxkRnJhbWVzQXNUZXh0
KCk7Ci0gICAgICAgICAgICBkb2N1bWVudC5sb2NhdGlvbi5oYXNoID0gInN0ZXAxIjsKLQotICAg
ICAgICAgICAgcnVuVGVzdCgpOwotICAgICAgICB9KTsKLSAgICB9IGVsc2UgewotICAgICAgICBy
dW5UZXN0KCk7Ci0gICAgfQotCi08L3NjcmlwdD4KLTwvYm9keT4KLTwvaHRtbD4KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jb29raWVz
LXdpdGgtYW5kLXdpdGhvdXQtdXNlci1pbnRlcmFjdGlvbi1kYXRhYmFzZS1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY29va2llcy13
aXRoLWFuZC13aXRob3V0LXVzZXItaW50ZXJhY3Rpb24tZGF0YWJhc2UtZXhwZWN0ZWQudHh0CmRl
bGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBhNDNhMDBkMDFjZmRhZGZlYzgxMGZhMTBkOTRh
OTc4MDFjMTVjMjU5Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0t
LSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jb29raWVz
LXdpdGgtYW5kLXdpdGhvdXQtdXNlci1pbnRlcmFjdGlvbi1kYXRhYmFzZS1leHBlY3RlZC50eHQK
KysrIC9kZXYvbnVsbApAQCAtMSwyNSArMCwwIEBACi1QQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBp
cyB0cnVlCi0KLVRFU1QgQ09NUExFVEUKLQotCi0tLS0tLS0tLQotRnJhbWU6ICc8IS0tZnJhbWUx
LS0+JwotLS0tLS0tLS0KLVNob3VsZCByZWNlaXZlIGZpcnN0LXBhcnR5IGNvb2tpZS4KLVJlY2Vp
dmVkIGNvb2tpZSBuYW1lZCAnZmlyc3RQYXJ0eUNvb2tpZScuCi1DbGllbnQtc2lkZSBkb2N1bWVu
dC5jb29raWU6IGZpcnN0UGFydHlDb29raWU9dmFsdWUKLQotLS0tLS0tLS0KLUZyYW1lOiAnPCEt
LWZyYW1lMi0tPicKLS0tLS0tLS0tCi1TaG91bGQgcmVjZWl2ZSBubyBjb29raWVzLgotRGlkIG5v
dCByZWNlaXZlIGNvb2tpZSBuYW1lZCAnZmlyc3RQYXJ0eUNvb2tpZScuCi1DbGllbnQtc2lkZSBk
b2N1bWVudC5jb29raWU6Ci0KLS0tLS0tLS0tCi1GcmFtZTogJzwhLS1mcmFtZTMtLT4nCi0tLS0t
LS0tLQotQWZ0ZXIgdXNlciBpbnRlcmFjdGlvbiwgc2hvdWxkIHN0aWxsIHJlY2VpdmUgbm8gY29v
a2llcy4KLURpZCBub3QgcmVjZWl2ZSBjb29raWUgbmFtZWQgJ2ZpcnN0UGFydHlDb29raWUnLgot
Q2xpZW50LXNpZGUgZG9jdW1lbnQuY29va2llOgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2Nvb2tpZXMtd2l0aC1hbmQtd2l0aG91dC11
c2VyLWludGVyYWN0aW9uLWRhdGFiYXNlLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jl
c291cmNlTG9hZFN0YXRpc3RpY3MvY29va2llcy13aXRoLWFuZC13aXRob3V0LXVzZXItaW50ZXJh
Y3Rpb24tZGF0YWJhc2UuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNWJhZGZh
NGNhYjIyZWQxNWQzYjg3NGMyYmRjOWJmZGQ0ODk0YTkxYy4uMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNl
TG9hZFN0YXRpc3RpY3MvY29va2llcy13aXRoLWFuZC13aXRob3V0LXVzZXItaW50ZXJhY3Rpb24t
ZGF0YWJhc2UuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDg0ICswLDAgQEAKLTwhRE9DVFlQRSBo
dG1sPgotPGh0bWwgbGFuZz0iZW4iPgotPGhlYWQ+Ci0gICAgPG1ldGEgY2hhcnNldD0iVVRGLTgi
PgotICAgIDx0aXRsZT5UZXN0IGZvciBQYXJ0aXRpb25lZCBDb29raWVzIFdpdGggYW5kIFdpdGhv
dXQgVXNlciBJbnRlcmFjdGlvbjwvdGl0bGU+Ci0gICAgPHNjcmlwdCBzcmM9Ii9qcy10ZXN0LXJl
c291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KLSAgICA8c2NyaXB0IHNyYz0icmVzb3VyY2Vz
L3V0aWwuanMiPjwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHk+Ci08c2NyaXB0PgotICAgIGNvbnN0
IHBhcnRpdGlvbkhvc3QgPSAiMTI3LjAuMC4xOjgwMDAiOwotICAgIGNvbnN0IHRoaXJkUGFydHlP
cmlnaW4gPSAiaHR0cDovL2xvY2FsaG9zdDo4MDAwIjsKLSAgICBjb25zdCB0aGlyZFBhcnR5QmFz
ZVVybCA9IHRoaXJkUGFydHlPcmlnaW4gKyAiL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvcmVzb3Vy
Y2VzIjsKLSAgICBjb25zdCBmaXJzdFBhcnR5Q29va2llTmFtZSA9ICJmaXJzdFBhcnR5Q29va2ll
IjsKLSAgICBjb25zdCBzdWJQYXRoVG9TZXRGaXJzdFBhcnR5Q29va2llID0gIi9zZXQtY29va2ll
LnBocD9uYW1lPSIgKyBmaXJzdFBhcnR5Q29va2llTmFtZSArICImdmFsdWU9dmFsdWUiOwotICAg
IGNvbnN0IGZyYWdtZW50V2l0aFJldHVyblVybCA9ICJodHRwOi8vMTI3LjAuMC4xOjgwMDAvcmVz
b3VyY2VMb2FkU3RhdGlzdGljcy9jb29raWVzLXdpdGgtYW5kLXdpdGhvdXQtdXNlci1pbnRlcmFj
dGlvbi1kYXRhYmFzZS5odG1sIjsKLSAgICBjb25zdCBzdWJQYXRoVG9HZXRDb29raWVzID0gIi9n
ZXQtY29va2llcy5waHA/bmFtZTE9IiArIGZpcnN0UGFydHlDb29raWVOYW1lOwotCi0gICAgZnVu
Y3Rpb24gZmluaXNoVGVzdCgpIHsKLSAgICAgICAgc2V0RW5hYmxlRmVhdHVyZShmYWxzZSwgZnVu
Y3Rpb24oKSB7Ci0gICAgICAgICAgICB0ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsKLSAgICAgICAg
fSk7Ci0gICAgfQotCi0gICAgZnVuY3Rpb24gb3BlbklmcmFtZSh1cmwsIG9uTG9hZEhhbmRsZXIp
IHsKLSAgICAgICAgY29uc3QgZWxlbWVudCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImlmcmFt
ZSIpOwotICAgICAgICBlbGVtZW50LnNyYyA9IHVybDsKLSAgICAgICAgaWYgKG9uTG9hZEhhbmRs
ZXIpIHsKLSAgICAgICAgICAgIGVsZW1lbnQub25sb2FkID0gb25Mb2FkSGFuZGxlcjsKLSAgICAg
ICAgfQotICAgICAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGVsZW1lbnQpOwotICAgIH0K
LQotICAgIGZ1bmN0aW9uIHNldFVzZXJJbnRlcmFjdGlvbkFuZENvbnRpbnVlKCkgewotICAgICAg
ICB0ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NIYXNIYWRVc2VySW50ZXJhY3Rpb24odGhpcmRQYXJ0
eU9yaWdpbiwgdHJ1ZSwgZnVuY3Rpb24oKSB7Ci0gICAgICAgICAgICBpZiAoIXRlc3RSdW5uZXIu
aXNTdGF0aXN0aWNzSGFzSGFkVXNlckludGVyYWN0aW9uKHRoaXJkUGFydHlPcmlnaW4pKQotICAg
ICAgICAgICAgICAgIHRlc3RGYWlsZWQoIlRoaXJkIHBhcnR5IGRpZCBub3QgZ2V0IGxvZ2dlZCBm
b3IgdXNlciBpbnRlcmFjdGlvbi4iKTsKLSAgICAgICAgICAgIHJ1blRlc3QoKTsKLSAgICAgICAg
fSk7Ci0gICAgfQotCi0gICAgZnVuY3Rpb24gcnVuVGVzdCgpIHsKLSAgICAgICAgc3dpdGNoIChk
b2N1bWVudC5sb2NhdGlvbi5oYXNoKSB7Ci0gICAgICAgICAgICBjYXNlICIjc3RlcDEiOgotICAg
ICAgICAgICAgICAgIGRvY3VtZW50LmxvY2F0aW9uLmhyZWYgPSB0aGlyZFBhcnR5QmFzZVVybCAr
IHN1YlBhdGhUb1NldEZpcnN0UGFydHlDb29raWUgKyAiIyIgKyBmcmFnbWVudFdpdGhSZXR1cm5V
cmwgKyAiI3N0ZXAyIjsKLSAgICAgICAgICAgICAgICBicmVhazsKLSAgICAgICAgICAgIGNhc2Ug
IiNzdGVwMiI6Ci0gICAgICAgICAgICAgICAgZG9jdW1lbnQubG9jYXRpb24uaGFzaCA9ICJzdGVw
MyI7Ci0gICAgICAgICAgICAgICAgb3BlbklmcmFtZSh0aGlyZFBhcnR5QmFzZVVybCArIHN1YlBh
dGhUb0dldENvb2tpZXMgKyAiJm1lc3NhZ2U9U2hvdWxkIHJlY2VpdmUgZmlyc3QtcGFydHkgY29v
a2llLiIsIHJ1blRlc3QpOwotICAgICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICAgICAgY2Fz
ZSAiI3N0ZXAzIjoKLSAgICAgICAgICAgICAgICBkb2N1bWVudC5sb2NhdGlvbi5oYXNoID0gInN0
ZXA0IjsKLSAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NQcmV2YWxlbnRS
ZXNvdXJjZSh0aGlyZFBhcnR5T3JpZ2luLCB0cnVlLCBmdW5jdGlvbigpIHsKLSAgICAgICAgICAg
ICAgICAgICAgaWYgKCF0ZXN0UnVubmVyLmlzU3RhdGlzdGljc1ByZXZhbGVudFJlc291cmNlKHRo
aXJkUGFydHlPcmlnaW4pKQotICAgICAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZCgiSG9z
dCBkaWQgbm90IGdldCBzZXQgYXMgcHJldmFsZW50IHJlc291cmNlLiIpOwotICAgICAgICAgICAg
ICAgICAgICB0ZXN0UnVubmVyLnN0YXRpc3RpY3NVcGRhdGVDb29raWVCbG9ja2luZyhydW5UZXN0
KTsKLSAgICAgICAgICAgICAgICB9KTsKLSAgICAgICAgICAgICAgICBicmVhazsKLSAgICAgICAg
ICAgIGNhc2UgIiNzdGVwNCI6Ci0gICAgICAgICAgICAgICAgZG9jdW1lbnQubG9jYXRpb24uaGFz
aCA9ICJzdGVwNSI7Ci0gICAgICAgICAgICAgICAgb3BlbklmcmFtZSh0aGlyZFBhcnR5QmFzZVVy
bCArIHN1YlBhdGhUb0dldENvb2tpZXMgKyAiJm1lc3NhZ2U9U2hvdWxkIHJlY2VpdmUgbm8gY29v
a2llcy4iLCBzZXRVc2VySW50ZXJhY3Rpb25BbmRDb250aW51ZSk7Ci0gICAgICAgICAgICAgICAg
YnJlYWs7Ci0gICAgICAgICAgICBjYXNlICIjc3RlcDUiOgotICAgICAgICAgICAgICAgIG9wZW5J
ZnJhbWUodGhpcmRQYXJ0eUJhc2VVcmwgKyBzdWJQYXRoVG9HZXRDb29raWVzICsgIiZtZXNzYWdl
PUFmdGVyIHVzZXIgaW50ZXJhY3Rpb24sIHNob3VsZCBzdGlsbCByZWNlaXZlIG5vIGNvb2tpZXMu
IiwgZmluaXNoVGVzdCk7Ci0gICAgICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgIH0KLSAgICB9
Ci0KLSAgICBpZiAoZG9jdW1lbnQubG9jYXRpb24uaG9zdCA9PT0gcGFydGl0aW9uSG9zdCAmJiBk
b2N1bWVudC5sb2NhdGlvbi5oYXNoID09ICIiICYmIHdpbmRvdy50ZXN0UnVubmVyICYmIHdpbmRv
dy5pbnRlcm5hbHMpIHsKLSAgICAgICAgdGVzdFJ1bm5lci5zZXRVc2VJVFBEYXRhYmFzZSh0cnVl
KTsKLSAgICAgICAgdGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7Ci0gICAgICAgIHNldEVuYWJs
ZUZlYXR1cmUodHJ1ZSwgZnVuY3Rpb24oKSB7Ci0gICAgICAgICAgICB0ZXN0UnVubmVyLmR1bXBD
aGlsZEZyYW1lc0FzVGV4dCgpOwotICAgICAgICAgICAgZG9jdW1lbnQubG9jYXRpb24uaGFzaCA9
ICJzdGVwMSI7Ci0gICAgICAgICAgICBpZiAodGVzdFJ1bm5lci5pc1N0YXRpc3RpY3NQcmV2YWxl
bnRSZXNvdXJjZSh0aGlyZFBhcnR5T3JpZ2luKSkKLSAgICAgICAgICAgICAgICB0ZXN0RmFpbGVk
KCJMb2NhbGhvc3Qgd2FzIGNsYXNzaWZpZWQgYXMgcHJldmFsZW50IHJlc291cmNlIGJlZm9yZSB0
aGUgdGVzdCBzdGFydHMuIik7Ci0gICAgICAgICAgICBydW5UZXN0KCk7Ci0gICAgICAgIH0pOwot
ICAgIH0gZWxzZSB7Ci0gICAgICAgIHJ1blRlc3QoKTsKLSAgICB9Ci08L3NjcmlwdD4KLTwvYm9k
eT4KLTwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VM
b2FkU3RhdGlzdGljcy9jb3VudC10aGlyZC1wYXJ0eS1zY3JpcHQtaW1wb3J0LWluLXdvcmtlci1k
YXRhYmFzZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9h
ZFN0YXRpc3RpY3MvY291bnQtdGhpcmQtcGFydHktc2NyaXB0LWltcG9ydC1pbi13b3JrZXItZGF0
YWJhc2UtZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAzNjljMWU0
ZjA3N2VjODIyNDgxNjhkY2I4MGM0Yjc0N2U2ZmM0MDM3Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VM
b2FkU3RhdGlzdGljcy9jb3VudC10aGlyZC1wYXJ0eS1zY3JpcHQtaW1wb3J0LWluLXdvcmtlci1k
YXRhYmFzZS1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSwyNiArMCwwIEBACi1QQVNT
IHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCi0KLVRFU1QgQ09NUExFVEUKLQotUmVzb3VyY2Ug
bG9hZCBzdGF0aXN0aWNzOgotCi1SZWdpc3RyYWJsZSBkb21haW46IDEyNy4wLjAuMQotICAgIGhh
ZFVzZXJJbnRlcmFjdGlvbjogTm8KLSAgICBtb3N0UmVjZW50VXNlckludGVyYWN0aW9uOiAtMQot
ICAgIGdyYW5kZmF0aGVyZWQ6IE5vCi0gICAgVG9wRnJhbWVMb2FkZWRUaGlyZFBhcnR5U2NyaXB0
czoKLSAgICAgICAgbG9jYWxob3N0Ci0gICAgSXNTY2hlZHVsZWRGb3JBbGxCdXRDb29raWVEYXRh
UmVtb3ZhbDogTm8KLSAgICBpc1ByZXZhbGVudFJlc291cmNlOiBObwotICAgIGlzVmVyeVByZXZh
bGVudFJlc291cmNlOiBObwotICAgIGRhdGFSZWNvcmRzUmVtb3ZlZDogMAotUmVnaXN0cmFibGUg
ZG9tYWluOiBsb2NhbGhvc3QKLSAgICBoYWRVc2VySW50ZXJhY3Rpb246IE5vCi0gICAgbW9zdFJl
Y2VudFVzZXJJbnRlcmFjdGlvbjogLTEKLSAgICBncmFuZGZhdGhlcmVkOiBObwotICAgIElzU2No
ZWR1bGVkRm9yQWxsQnV0Q29va2llRGF0YVJlbW92YWw6IE5vCi0gICAgU3VicmVzb3VyY2VVbmRl
clRvcEZyYW1lRG9tYWluczoKLSAgICAgICAgMTI3LjAuMC4xCi0gICAgaXNQcmV2YWxlbnRSZXNv
dXJjZTogTm8KLSAgICBpc1ZlcnlQcmV2YWxlbnRSZXNvdXJjZTogTm8KLSAgICBkYXRhUmVjb3Jk
c1JlbW92ZWQ6IDAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VM
b2FkU3RhdGlzdGljcy9jb3VudC10aGlyZC1wYXJ0eS1zY3JpcHQtaW1wb3J0LWluLXdvcmtlci1k
YXRhYmFzZS5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0
aWNzL2NvdW50LXRoaXJkLXBhcnR5LXNjcmlwdC1pbXBvcnQtaW4td29ya2VyLWRhdGFiYXNlLmh0
bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDA5MGE5MmVhZjhjNzQ4OTg3MzAyYjRm
NTJlN2UzZWY5Y2YwMWYzYTEuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2Nv
dW50LXRoaXJkLXBhcnR5LXNjcmlwdC1pbXBvcnQtaW4td29ya2VyLWRhdGFiYXNlLmh0bWwKKysr
IC9kZXYvbnVsbApAQCAtMSw0NyArMCwwIEBACi08IURPQ1RZUEUgaHRtbD4KLTxodG1sIGxhbmc9
ImVuIj4KLTxoZWFkPgotICAgIDxtZXRhIGNoYXJzZXQ9IlVURi04Ij4KLSAgICA8dGl0bGU+VGVz
dCBjb3VudGluZyBvZiB0aGlyZC1wYXJ0eSBzY3JpcHQgaW1wb3J0cyBpbiB3b3JrZXJzPC90aXRs
ZT4KLSAgICA8c2NyaXB0IHNyYz0iL2pzLXRlc3QtcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2Ny
aXB0PgotICAgIDxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvdXRpbC5qcyI+PC9zY3JpcHQ+Ci08L2hl
YWQ+Ci08Ym9keSBvbmxvYWQ9InJ1blRlc3QoKSI+Ci08c2NyaXB0PgotICAgIGZ1bmN0aW9uIGZp
bmlzaFRlc3QoKSB7Ci0gICAgICAgIHRlc3RSdW5uZXIuZHVtcFJlc291cmNlTG9hZFN0YXRpc3Rp
Y3MoKTsKLSAgICAgICAgc2V0RW5hYmxlRmVhdHVyZShmYWxzZSwgZnVuY3Rpb24oKSB7Ci0gICAg
ICAgICAgICB0ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsKLSAgICAgICAgfSk7Ci0gICAgfQotCi0g
ICAgZnVuY3Rpb24gcmVjZWl2ZU1lc3NhZ2UoZXZlbnQpIHsKLSAgICAgICAgaWYgKGV2ZW50LmRh
dGEuaW5kZXhPZigiUEFTUyIpID09PSAtMSkKLSAgICAgICAgICAgIHRlc3RGYWlsZWQoZXZlbnQu
ZGF0YS5yZXBsYWNlKCJGQUlMICIsICIiKSk7Ci0KLSAgICAgICAgdGVzdFJ1bm5lci5zdGF0aXN0
aWNzTm90aWZ5T2JzZXJ2ZXIoKTsKLSAgICB9Ci0KLSAgICBmdW5jdGlvbiBydW5UZXN0KCkgewot
ICAgICAgICBzd2l0Y2ggKGRvY3VtZW50LmxvY2F0aW9uLmhhc2gpIHsKLSAgICAgICAgICAgIGNh
c2UgIiI6Ci0gICAgICAgICAgICAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyICYmIHdpbmRvdy5p
bnRlcm5hbHMpIHsKLSAgICAgICAgICAgICAgICAgICAgdGVzdFJ1bm5lci53YWl0VW50aWxEb25l
KCk7Ci0gICAgICAgICAgICAgICAgICAgIHNldEVuYWJsZUZlYXR1cmUodHJ1ZSwgZnVuY3Rpb24o
KSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLnNldFVzZUlUUERhdGFiYXNl
KHRydWUpOwotICAgICAgICAgICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5pbnN0YWxsU3RhdGlz
dGljc0RpZFNjYW5EYXRhUmVjb3Jkc0NhbGxiYWNrKGZpbmlzaFRlc3QpOwotICAgICAgICAgICAg
ICAgICAgICAgICAgZG9jdW1lbnQubG9jYXRpb24uaGFzaCA9ICJMb2FkV29ya2VyIjsKLSAgICAg
ICAgICAgICAgICAgICAgICAgIHJ1blRlc3QoKTsKLSAgICAgICAgICAgICAgICAgICAgfSk7Ci0g
ICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICAgICAgY2Fz
ZSAiI0xvYWRXb3JrZXIiOgotICAgICAgICAgICAgICAgIGxldCB3MSA9IG5ldyBXb3JrZXIoInJl
c291cmNlcy93b3JrZXItaW1wb3J0aW5nLWxvY2FsaG9zdC1zY3JpcHQuanMiKTsKLSAgICAgICAg
ICAgICAgICB3MS5vbm1lc3NhZ2UgPSByZWNlaXZlTWVzc2FnZTsKLSAgICAgICAgICAgICAgICB3
MS5wb3N0TWVzc2FnZSgic2hvdWxkTm90UmVjZWl2ZUNvb2tpZXMiKTsKLSAgICAgICAgICAgICAg
ICBicmVhazsKLSAgICAgICAgfQotICAgIH0KLTwvc2NyaXB0PgotPC9ib2R5PgotPC9odG1sPgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNz
L2NvdW50LXRoaXJkLXBhcnR5LXNjcmlwdC1pbXBvcnQtaW4td29ya2VyLWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jb3VudC10aGly
ZC1wYXJ0eS1zY3JpcHQtaW1wb3J0LWluLXdvcmtlci1leHBlY3RlZC50eHQKaW5kZXggYzc2Yjhk
NzgxNDRlMTNkMmRjMmM5Y2IxMWQyN2U2MzQ3NjcyM2JjZC4uMzY5YzFlNGYwNzdlYzgyMjQ4MTY4
ZGNiODBjNGI3NDdlNmZjNDAzNyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9y
ZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NvdW50LXRoaXJkLXBhcnR5LXNjcmlwdC1pbXBvcnQtaW4t
d29ya2VyLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNl
TG9hZFN0YXRpc3RpY3MvY291bnQtdGhpcmQtcGFydHktc2NyaXB0LWltcG9ydC1pbi13b3JrZXIt
ZXhwZWN0ZWQudHh0CkBAIC04LDIzICs4LDE5IEBAIFJlZ2lzdHJhYmxlIGRvbWFpbjogMTI3LjAu
MC4xCiAgICAgaGFkVXNlckludGVyYWN0aW9uOiBObwogICAgIG1vc3RSZWNlbnRVc2VySW50ZXJh
Y3Rpb246IC0xCiAgICAgZ3JhbmRmYXRoZXJlZDogTm8KLSAgICBnb3RMaW5rRGVjb3JhdGlvbkZy
b21QcmV2YWxlbnRSZXNvdXJjZTogTm8KLSAgICB0b3BGcmFtZUxvYWRlZFRoaXJkUGFydHlTY3Jp
cHRzOgorICAgIFRvcEZyYW1lTG9hZGVkVGhpcmRQYXJ0eVNjcmlwdHM6CiAgICAgICAgIGxvY2Fs
aG9zdAorICAgIElzU2NoZWR1bGVkRm9yQWxsQnV0Q29va2llRGF0YVJlbW92YWw6IE5vCiAgICAg
aXNQcmV2YWxlbnRSZXNvdXJjZTogTm8KICAgICBpc1ZlcnlQcmV2YWxlbnRSZXNvdXJjZTogTm8K
ICAgICBkYXRhUmVjb3Jkc1JlbW92ZWQ6IDAKLSAgICBjYW52YXNSZWFkRGF0YTogTm8KLQogUmVn
aXN0cmFibGUgZG9tYWluOiBsb2NhbGhvc3QKICAgICBoYWRVc2VySW50ZXJhY3Rpb246IE5vCiAg
ICAgbW9zdFJlY2VudFVzZXJJbnRlcmFjdGlvbjogLTEKICAgICBncmFuZGZhdGhlcmVkOiBObwot
ICAgIGdvdExpbmtEZWNvcmF0aW9uRnJvbVByZXZhbGVudFJlc291cmNlOiBObwotICAgIHN1YnJl
c291cmNlVW5kZXJUb3BGcmFtZURvbWFpbnM6CisgICAgSXNTY2hlZHVsZWRGb3JBbGxCdXRDb29r
aWVEYXRhUmVtb3ZhbDogTm8KKyAgICBTdWJyZXNvdXJjZVVuZGVyVG9wRnJhbWVEb21haW5zOgog
ICAgICAgICAxMjcuMC4wLjEKICAgICBpc1ByZXZhbGVudFJlc291cmNlOiBObwogICAgIGlzVmVy
eVByZXZhbGVudFJlc291cmNlOiBObwogICAgIGRhdGFSZWNvcmRzUmVtb3ZlZDogMAotICAgIGNh
bnZhc1JlYWREYXRhOiBObwotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jl
c291cmNlTG9hZFN0YXRpc3RpY3MvY291bnQtdGhpcmQtcGFydHktc2NyaXB0LWxvYWRzLWRhdGFi
YXNlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3Rh
dGlzdGljcy9jb3VudC10aGlyZC1wYXJ0eS1zY3JpcHQtbG9hZHMtZGF0YWJhc2UtZXhwZWN0ZWQu
dHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAzNjljMWU0ZjA3N2VjODIyNDgxNjhk
Y2I4MGM0Yjc0N2U2ZmM0MDM3Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwCi0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9j
b3VudC10aGlyZC1wYXJ0eS1zY3JpcHQtbG9hZHMtZGF0YWJhc2UtZXhwZWN0ZWQudHh0CisrKyAv
ZGV2L251bGwKQEAgLTEsMjYgKzAsMCBAQAotUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1
ZQotCi1URVNUIENPTVBMRVRFCi0KLVJlc291cmNlIGxvYWQgc3RhdGlzdGljczoKLQotUmVnaXN0
cmFibGUgZG9tYWluOiAxMjcuMC4wLjEKLSAgICBoYWRVc2VySW50ZXJhY3Rpb246IE5vCi0gICAg
bW9zdFJlY2VudFVzZXJJbnRlcmFjdGlvbjogLTEKLSAgICBncmFuZGZhdGhlcmVkOiBObwotICAg
IFRvcEZyYW1lTG9hZGVkVGhpcmRQYXJ0eVNjcmlwdHM6Ci0gICAgICAgIGxvY2FsaG9zdAotICAg
IElzU2NoZWR1bGVkRm9yQWxsQnV0Q29va2llRGF0YVJlbW92YWw6IE5vCi0gICAgaXNQcmV2YWxl
bnRSZXNvdXJjZTogTm8KLSAgICBpc1ZlcnlQcmV2YWxlbnRSZXNvdXJjZTogTm8KLSAgICBkYXRh
UmVjb3Jkc1JlbW92ZWQ6IDAKLVJlZ2lzdHJhYmxlIGRvbWFpbjogbG9jYWxob3N0Ci0gICAgaGFk
VXNlckludGVyYWN0aW9uOiBObwotICAgIG1vc3RSZWNlbnRVc2VySW50ZXJhY3Rpb246IC0xCi0g
ICAgZ3JhbmRmYXRoZXJlZDogTm8KLSAgICBJc1NjaGVkdWxlZEZvckFsbEJ1dENvb2tpZURhdGFS
ZW1vdmFsOiBObwotICAgIFN1YnJlc291cmNlVW5kZXJUb3BGcmFtZURvbWFpbnM6Ci0gICAgICAg
IDEyNy4wLjAuMQotICAgIGlzUHJldmFsZW50UmVzb3VyY2U6IE5vCi0gICAgaXNWZXJ5UHJldmFs
ZW50UmVzb3VyY2U6IE5vCi0gICAgZGF0YVJlY29yZHNSZW1vdmVkOiAwCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY291bnQtdGhpcmQt
cGFydHktc2NyaXB0LWxvYWRzLWRhdGFiYXNlLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY291bnQtdGhpcmQtcGFydHktc2NyaXB0LWxvYWRzLWRh
dGFiYXNlLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGY2NmQ3ZjFkMTBmZmRh
MGZkOWZhNDlmOTliMDZkYmRhNGRlZmIyNzIuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0
aXN0aWNzL2NvdW50LXRoaXJkLXBhcnR5LXNjcmlwdC1sb2Fkcy1kYXRhYmFzZS5odG1sCisrKyAv
ZGV2L251bGwKQEAgLTEsNDggKzAsMCBAQAotPCFET0NUWVBFIGh0bWw+Ci08aHRtbCBsYW5nPSJl
biI+Ci08aGVhZD4KLSAgICA8bWV0YSBjaGFyc2V0PSJVVEYtOCI+Ci0gICAgPHRpdGxlPlRlc3Qg
Y291bnRpbmcgb2YgdGhpcmQtcGFydHkgc2NyaXB0IGxvYWRzPC90aXRsZT4KLSAgICA8c2NyaXB0
IHNyYz0iL2pzLXRlc3QtcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgotICAgIDxzY3Jp
cHQgc3JjPSJyZXNvdXJjZXMvdXRpbC5qcyI+PC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keSBvbmxv
YWQ9InJ1blRlc3QoKSI+Ci08c2NyaXB0PgotICAgIGNvbnN0IHRoaXJkUGFydHlPcmlnaW4gPSAi
aHR0cDovL2xvY2FsaG9zdDo4MDAwIjsKLSAgICBjb25zdCB0aGlyZFBhcnR5QmFzZVVybCA9IHRo
aXJkUGFydHlPcmlnaW4gKyAiL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvcmVzb3VyY2VzIjsKLQot
ICAgIGZ1bmN0aW9uIGZpbmlzaFRlc3QoKSB7Ci0gICAgICAgIHRlc3RSdW5uZXIuZHVtcFJlc291
cmNlTG9hZFN0YXRpc3RpY3MoKTsKLSAgICAgICAgc2V0RW5hYmxlRmVhdHVyZShmYWxzZSwgZnVu
Y3Rpb24oKSB7Ci0gICAgICAgICAgICB0ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsKLSAgICAgICAg
fSk7Ci0gICAgfQotCi0gICAgZnVuY3Rpb24gcnVuVGVzdCgpIHsKLSAgICAgICAgc3dpdGNoIChk
b2N1bWVudC5sb2NhdGlvbi5oYXNoKSB7Ci0gICAgICAgICAgICBjYXNlICIiOgotICAgICAgICAg
ICAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lciAmJiB3aW5kb3cuaW50ZXJuYWxzKSB7Ci0gICAg
ICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOwotICAgICAgICAgICAg
ICAgICAgICBzZXRFbmFibGVGZWF0dXJlKHRydWUsIGZ1bmN0aW9uKCkgewotICAgICAgICAgICAg
ICAgICAgICAgICAgdGVzdFJ1bm5lci5zZXRVc2VJVFBEYXRhYmFzZSh0cnVlKTsKLSAgICAgICAg
ICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIuaW5zdGFsbFN0YXRpc3RpY3NEaWRTY2FuRGF0YVJl
Y29yZHNDYWxsYmFjayhmaW5pc2hUZXN0KTsKLSAgICAgICAgICAgICAgICAgICAgICAgIGRvY3Vt
ZW50LmxvY2F0aW9uLmhhc2ggPSAic3RlcDEiOwotICAgICAgICAgICAgICAgICAgICAgICAgcnVu
VGVzdCgpOwotICAgICAgICAgICAgICAgICAgICB9KTsKLSAgICAgICAgICAgICAgICB9Ci0gICAg
ICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgICAgICBjYXNlICIjc3RlcDEiOgotICAgICAgICAg
ICAgICAgIGRvY3VtZW50LmxvY2F0aW9uLmhhc2ggPSAic3RlcDIiOwotICAgICAgICAgICAgICAg
IGxldCBzY3JpcHRFbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgic2NyaXB0Iik7Ci0g
ICAgICAgICAgICAgICAgc2NyaXB0RWxlbWVudC5vbmxvYWQgPSBydW5UZXN0OwotICAgICAgICAg
ICAgICAgIHNjcmlwdEVsZW1lbnQuc3JjID0gdGhpcmRQYXJ0eUJhc2VVcmwgKyAiL2R1bW15Lmpz
P2R1bW15UGFyYW09IiArIE1hdGgucmFuZG9tKCk7Ci0gICAgICAgICAgICAgICAgZG9jdW1lbnQu
Ym9keS5hcHBlbmRDaGlsZChzY3JpcHRFbGVtZW50KTsKLSAgICAgICAgICAgICAgICBicmVhazsK
LSAgICAgICAgICAgIGNhc2UgIiNzdGVwMiI6Ci0gICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5z
dGF0aXN0aWNzTm90aWZ5T2JzZXJ2ZXIoKTsKLSAgICAgICAgICAgICAgICBicmVhazsKLSAgICAg
ICAgfQotICAgIH0KLTwvc2NyaXB0PgotPC9ib2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NvdW50LXRoaXJkLXBh
cnR5LXNjcmlwdC1sb2Fkcy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jl
c291cmNlTG9hZFN0YXRpc3RpY3MvY291bnQtdGhpcmQtcGFydHktc2NyaXB0LWxvYWRzLWV4cGVj
dGVkLnR4dAppbmRleCBjNzZiOGQ3ODE0NGUxM2QyZGMyYzljYjExZDI3ZTYzNDc2NzIzYmNkLi4z
NjljMWU0ZjA3N2VjODIyNDgxNjhkY2I4MGM0Yjc0N2U2ZmM0MDM3IDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY291bnQtdGhpcmQtcGFy
dHktc2NyaXB0LWxvYWRzLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY291bnQtdGhpcmQtcGFydHktc2NyaXB0LWxvYWRzLWV4
cGVjdGVkLnR4dApAQCAtOCwyMyArOCwxOSBAQCBSZWdpc3RyYWJsZSBkb21haW46IDEyNy4wLjAu
MQogICAgIGhhZFVzZXJJbnRlcmFjdGlvbjogTm8KICAgICBtb3N0UmVjZW50VXNlckludGVyYWN0
aW9uOiAtMQogICAgIGdyYW5kZmF0aGVyZWQ6IE5vCi0gICAgZ290TGlua0RlY29yYXRpb25Gcm9t
UHJldmFsZW50UmVzb3VyY2U6IE5vCi0gICAgdG9wRnJhbWVMb2FkZWRUaGlyZFBhcnR5U2NyaXB0
czoKKyAgICBUb3BGcmFtZUxvYWRlZFRoaXJkUGFydHlTY3JpcHRzOgogICAgICAgICBsb2NhbGhv
c3QKKyAgICBJc1NjaGVkdWxlZEZvckFsbEJ1dENvb2tpZURhdGFSZW1vdmFsOiBObwogICAgIGlz
UHJldmFsZW50UmVzb3VyY2U6IE5vCiAgICAgaXNWZXJ5UHJldmFsZW50UmVzb3VyY2U6IE5vCiAg
ICAgZGF0YVJlY29yZHNSZW1vdmVkOiAwCi0gICAgY2FudmFzUmVhZERhdGE6IE5vCi0KIFJlZ2lz
dHJhYmxlIGRvbWFpbjogbG9jYWxob3N0CiAgICAgaGFkVXNlckludGVyYWN0aW9uOiBObwogICAg
IG1vc3RSZWNlbnRVc2VySW50ZXJhY3Rpb246IC0xCiAgICAgZ3JhbmRmYXRoZXJlZDogTm8KLSAg
ICBnb3RMaW5rRGVjb3JhdGlvbkZyb21QcmV2YWxlbnRSZXNvdXJjZTogTm8KLSAgICBzdWJyZXNv
dXJjZVVuZGVyVG9wRnJhbWVEb21haW5zOgorICAgIElzU2NoZWR1bGVkRm9yQWxsQnV0Q29va2ll
RGF0YVJlbW92YWw6IE5vCisgICAgU3VicmVzb3VyY2VVbmRlclRvcEZyYW1lRG9tYWluczoKICAg
ICAgICAgMTI3LjAuMC4xCiAgICAgaXNQcmV2YWxlbnRSZXNvdXJjZTogTm8KICAgICBpc1ZlcnlQ
cmV2YWxlbnRSZXNvdXJjZTogTm8KICAgICBkYXRhUmVjb3Jkc1JlbW92ZWQ6IDAKLSAgICBjYW52
YXNSZWFkRGF0YTogTm8KLQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNv
dXJjZUxvYWRTdGF0aXN0aWNzL2RlbGV0ZS1zY3JpcHQtYWNjZXNzaWJsZS1jb29raWVzLWRhdGFi
YXNlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3Rh
dGlzdGljcy9kZWxldGUtc2NyaXB0LWFjY2Vzc2libGUtY29va2llcy1kYXRhYmFzZS1leHBlY3Rl
ZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDYzNDA3ZGNmM2VkZWViNjBlYzk2
NDkyODUwMTQ1MWEwNTE5Mjg0NzguLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNz
L2RlbGV0ZS1zY3JpcHQtYWNjZXNzaWJsZS1jb29raWVzLWRhdGFiYXNlLWV4cGVjdGVkLnR4dAor
KysgL2Rldi9udWxsCkBAIC0xLDE0ICswLDAgQEAKLUNoZWNrIHRoYXQgb25seSBIdHRwT25seSBj
b29raWVzIHJlbWFpbiBpZiBhbGwgc2NyaXB0LWFjY2Vzc2libGUgY29va2llcyBhcmUgZGVsZXRl
ZC4KLQotT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdl
cywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgotCi0KLVBBU1MgQmVmb3JlIHNjcmlwdC1h
Y2Nlc3NpYmxlIGRlbGV0aW9uOiBDbGllbnQtc2lkZSBjb29raWUgZXhpc3RzLgotUEFTUyBCZWZv
cmUgc2NyaXB0LWFjY2Vzc2libGUgZGVsZXRpb246IEh0dHBPbmx5IGNvb2tpZSBleGlzdHMuCi1Q
QVNTIEJlZm9yZSBzY3JpcHQtYWNjZXNzaWJsZSBkZWxldGlvbjogUmVndWxhciBzZXJ2ZXItc2lk
ZSBjb29raWUgZXhpc3RzLgotUEFTUyBBZnRlciBzY3JpcHQtYWNjZXNzaWJsZSBkZWxldGlvbjog
IEh0dHBPbmx5IGNvb2tpZSBleGlzdHMuCi1QQVNTIEFmdGVyIGZ1bGwgZGVsZXRpb246ICAgICAg
ICAgICAgICAgQWxsIGNvb2tpZXMgYXJlIGdvbmUuCi1QQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBp
cyB0cnVlCi0KLVRFU1QgQ09NUExFVEUKLQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90
ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2RlbGV0ZS1zY3JpcHQtYWNjZXNzaWJsZS1jb29r
aWVzLWRhdGFiYXNlLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0
YXRpc3RpY3MvZGVsZXRlLXNjcmlwdC1hY2Nlc3NpYmxlLWNvb2tpZXMtZGF0YWJhc2UuaHRtbApk
ZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNjBmYzUzNzdkN2RlZTYwNDI5OTBiZTBjMmRi
ZmI3NDVhZTA1Y2Q1OS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAot
LS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvZGVsZXRl
LXNjcmlwdC1hY2Nlc3NpYmxlLWNvb2tpZXMtZGF0YWJhc2UuaHRtbAorKysgL2Rldi9udWxsCkBA
IC0xLDczICswLDAgQEAKLTwhRE9DVFlQRSBodG1sPgotPGh0bWw+Ci08aGVhZD4KLSAgICA8c2Ny
aXB0IHNyYz0iL2pzLXRlc3QtcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgotPC9oZWFk
PgotPGJvZHkgb25sb2FkPSJydW5UZXN0KCkiPgotPHNjcmlwdD4KLSAgICBkZXNjcmlwdGlvbigi
Q2hlY2sgdGhhdCBvbmx5IEh0dHBPbmx5IGNvb2tpZXMgcmVtYWluIGlmIGFsbCBzY3JpcHQtYWNj
ZXNzaWJsZSBjb29raWVzIGFyZSBkZWxldGVkLiIpOwotICAgIGpzVGVzdElzQXN5bmMgPSB0cnVl
OwotCi0gICAgY29uc3QgaHR0cE9ubHlDb29raWVOYW1lID0gImh0dHAtb25seS1jb29raWUiOwot
ICAgIGNvbnN0IHNlcnZlclNpZGVDb29raWVOYW1lID0gInNlcnZlci1zaWRlLWNvb2tpZSI7Ci0g
ICAgY29uc3QgY2xpZW50U2lkZUNvb2tpZU5hbWUgPSAiY2xpZW50LXNpZGUtY29va2llIjsKLQot
ICAgIGZ1bmN0aW9uIHNvcnRTdHJpbmdBcnJheShhLCBiKSB7Ci0gICAgICAgIGEgPSBhLnRvTG93
ZXJDYXNlKCk7Ci0gICAgICAgIGIgPSBiLnRvTG93ZXJDYXNlKCk7Ci0KLSAgICAgICAgcmV0dXJu
IGEgPiBiID8gMSA6IGIgPiBhID8gLTEgOiAwOwotICAgIH0KLQotICAgIGZ1bmN0aW9uIGNoZWNr
Q29va2llcyhpc0FmdGVyU2NyaXB0QWNjZXNzaWJsZURlbGV0aW9uKSB7Ci0gICAgICAgIGxldCB1
bnNvcnRlZFRlc3RQYXNzZWRNZXNzYWdlcyA9IFtdOwotICAgICAgICBsZXQgY29va2llcyA9IGlu
dGVybmFscy5nZXRDb29raWVzKCk7Ci0gICAgICAgIGlmICghY29va2llcy5sZW5ndGgpCi0gICAg
ICAgICAgICB0ZXN0RmFpbGVkKChpc0FmdGVyU2NyaXB0QWNjZXNzaWJsZURlbGV0aW9uID8gIkFm
dGVyIiA6ICJCZWZvcmUiKSArICIgc2NyaXB0LWFjY2Vzc2libGUgZGVsZXRpb246IE5vIGNvb2tp
ZXMgZm91bmQuIik7Ci0gICAgICAgIGZvciAobGV0IGNvb2tpZSBvZiBjb29raWVzKSB7Ci0gICAg
ICAgICAgICBzd2l0Y2ggKGNvb2tpZS5uYW1lKSB7Ci0gICAgICAgICAgICAgICAgY2FzZSBodHRw
T25seUNvb2tpZU5hbWU6Ci0gICAgICAgICAgICAgICAgICAgIHVuc29ydGVkVGVzdFBhc3NlZE1l
c3NhZ2VzLnB1c2goKGlzQWZ0ZXJTY3JpcHRBY2Nlc3NpYmxlRGVsZXRpb24gPyAiQWZ0ZXIiIDog
IkJlZm9yZSIpICsgIiBzY3JpcHQtYWNjZXNzaWJsZSBkZWxldGlvbjogIiArIChpc0FmdGVyU2Ny
aXB0QWNjZXNzaWJsZURlbGV0aW9uID8gIiAiIDogIiIpICsgIkh0dHBPbmx5IGNvb2tpZSBleGlz
dHMuIik7Ci0gICAgICAgICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICAgICAgICAgIGNhc2Ug
c2VydmVyU2lkZUNvb2tpZU5hbWU6Ci0gICAgICAgICAgICAgICAgICAgIGlmIChpc0FmdGVyU2Ny
aXB0QWNjZXNzaWJsZURlbGV0aW9uKQotICAgICAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxl
ZCgiQWZ0ZXIgc2NyaXB0LWFjY2Vzc2libGUgZGVsZXRpb246ICBSZWd1bGFyIHNlcnZlci1zaWRl
IGNvb2tpZSBleGlzdHMuIik7Ci0gICAgICAgICAgICAgICAgICAgIGVsc2UKLSAgICAgICAgICAg
ICAgICAgICAgICAgIHVuc29ydGVkVGVzdFBhc3NlZE1lc3NhZ2VzLnB1c2goIkJlZm9yZSBzY3Jp
cHQtYWNjZXNzaWJsZSBkZWxldGlvbjogUmVndWxhciBzZXJ2ZXItc2lkZSBjb29raWUgZXhpc3Rz
LiIpOwotICAgICAgICAgICAgICAgICAgICBicmVhazsKLSAgICAgICAgICAgICAgICBjYXNlIGNs
aWVudFNpZGVDb29raWVOYW1lOgotICAgICAgICAgICAgICAgICAgICBpZiAoaXNBZnRlclNjcmlw
dEFjY2Vzc2libGVEZWxldGlvbikKLSAgICAgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQo
IkFmdGVyIHNjcmlwdC1hY2Nlc3NpYmxlIGRlbGV0aW9uOiAgQ2xpZW50LXNpZGUgY29va2llIGV4
aXN0cy4iKTsKLSAgICAgICAgICAgICAgICAgICAgZWxzZQotICAgICAgICAgICAgICAgICAgICAg
ICAgdW5zb3J0ZWRUZXN0UGFzc2VkTWVzc2FnZXMucHVzaCgiQmVmb3JlIHNjcmlwdC1hY2Nlc3Np
YmxlIGRlbGV0aW9uOiBDbGllbnQtc2lkZSBjb29raWUgZXhpc3RzLiIpOwotICAgICAgICAgICAg
ICAgICAgICBicmVhazsKLSAgICAgICAgICAgIH0KLSAgICAgICAgfQotICAgICAgICBsZXQgc29y
dGVkVGVzdFBhc3NlZE1lc3NhZ2VzID0gdW5zb3J0ZWRUZXN0UGFzc2VkTWVzc2FnZXMuc29ydChz
b3J0U3RyaW5nQXJyYXkpOwotICAgICAgICBmb3IgKGxldCB0ZXN0UGFzc2VkTWVzc2FnZSBvZiBz
b3J0ZWRUZXN0UGFzc2VkTWVzc2FnZXMpCi0gICAgICAgICAgICB0ZXN0UGFzc2VkKHRlc3RQYXNz
ZWRNZXNzYWdlKTsKLSAgICB9Ci0KLSAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgewotICAg
ICAgICBpZiAoIXRlc3RSdW5uZXIgfHwgIWludGVybmFscykgewotICAgICAgICAgICAgdGVzdEZh
aWxlZCgiTm8gdGVzdFJ1bm5lciBvciBubyBpbnRlcm5hbHMuIik7Ci0gICAgICAgICAgICByZXR1
cm47Ci0gICAgICAgIH0KLSAgICAgICAgdGVzdFJ1bm5lci5zZXRVc2VJVFBEYXRhYmFzZSh0cnVl
KTsKLSAgICAgICAgYXdhaXQgZmV0Y2goIi9jb29raWVzL3Jlc291cmNlcy9zZXQtaHR0cC1vbmx5
LWNvb2tpZS5waHA/Y29va2llTmFtZT0iICsgaHR0cE9ubHlDb29raWVOYW1lLCB7IGNyZWRlbnRp
YWxzOiAic2FtZS1vcmlnaW4iIH0pOwotICAgICAgICBhd2FpdCBmZXRjaCgiL2Nvb2tpZXMvcmVz
b3VyY2VzL3NldENvb2tpZXMuY2dpIiwgeyBoZWFkZXJzOiB7ICJTZXQtQ29va2llIjogc2VydmVy
U2lkZUNvb2tpZU5hbWUgKyAiPTE7IHBhdGg9LzsiIH0sIGNyZWRlbnRpYWxzOiAic2FtZS1vcmln
aW4iIH0pOwotICAgICAgICBkb2N1bWVudC5jb29raWUgPSBjbGllbnRTaWRlQ29va2llTmFtZSAr
ICI9MSI7Ci0gICAgICAgIGNoZWNrQ29va2llcyhmYWxzZSk7Ci0gICAgICAgIHRlc3RSdW5uZXIu
c3RhdGlzdGljc0RlbGV0ZUNvb2tpZXNGb3JIb3N0KCJodHRwOi8vMTI3LjAuMC4xIiwgZmFsc2Up
OwotICAgICAgICBjaGVja0Nvb2tpZXModHJ1ZSk7Ci0gICAgICAgIHRlc3RSdW5uZXIuc3RhdGlz
dGljc0RlbGV0ZUNvb2tpZXNGb3JIb3N0KCJodHRwOi8vMTI3LjAuMC4xIiwgdHJ1ZSk7Ci0gICAg
ICAgIGxldCBjb29raWVzTGVmdCA9IGludGVybmFscy5nZXRDb29raWVzKCkubGVuZ3RoOwotICAg
ICAgICBpZiAoY29va2llc0xlZnQgPT09IDApCi0gICAgICAgICAgICB0ZXN0UGFzc2VkKCJBZnRl
ciBmdWxsIGRlbGV0aW9uOiAgICAgICAgICAgICAgIEFsbCBjb29raWVzIGFyZSBnb25lLiIpOwot
ICAgICAgICBlbHNlCi0gICAgICAgICAgICB0ZXN0RmFpbGVkKCJBZnRlciBmdWxsIGRlbGV0aW9u
OiAgICAgICAgICAgICAgIiArIGNvb2tpZXNMZWZ0ICsgIiBjb29raWUocykgbGVmdC4iKTsKLSAg
ICAgICAgZmluaXNoSlNUZXN0KCk7Ci0gICAgfQotPC9zY3JpcHQ+Ci08L2JvZHk+Ci08L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3Rp
Y3MvZG8tbm90LWJsb2NrLXRvcC1sZXZlbC1uYXZpZ2F0aW9uLXJlZGlyZWN0LWRhdGFiYXNlLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGlj
cy9kby1ub3QtYmxvY2stdG9wLWxldmVsLW5hdmlnYXRpb24tcmVkaXJlY3QtZGF0YWJhc2UtZXhw
ZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAzNzQzMDYxZmYxMTlmYWQz
ZjU5N2RjMTVhZTA0YjRiOGM2OTM3OTQ4Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlz
dGljcy9kby1ub3QtYmxvY2stdG9wLWxldmVsLW5hdmlnYXRpb24tcmVkaXJlY3QtZGF0YWJhc2Ut
ZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEgKzAsMCBAQAotUEFTU0VEOiBDb29raWUg
c3VjY2Vzc2Z1bGx5IHNldApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNv
dXJjZUxvYWRTdGF0aXN0aWNzL2RvLW5vdC1ibG9jay10b3AtbGV2ZWwtbmF2aWdhdGlvbi1yZWRp
cmVjdC1kYXRhYmFzZS5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRT
dGF0aXN0aWNzL2RvLW5vdC1ibG9jay10b3AtbGV2ZWwtbmF2aWdhdGlvbi1yZWRpcmVjdC1kYXRh
YmFzZS5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBkMjE5ZTNkNjg5MzJiZmYx
OGM1YTAxYzU2ODRjNDRmMzcxNmZkZTgxLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlz
dGljcy9kby1ub3QtYmxvY2stdG9wLWxldmVsLW5hdmlnYXRpb24tcmVkaXJlY3QtZGF0YWJhc2Uu
aHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDMwICswLDAgQEAKLTwhRE9DVFlQRSBodG1sPgotPGh0
bWwgbGFuZz0iZW4iPgotPGhlYWQ+Ci0gICAgPG1ldGEgY2hhcnNldD0iVVRGLTgiPgotICAgIDxz
Y3JpcHQgc3JjPSIvanMtdGVzdC1yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+Ci0gICAg
PHNjcmlwdCBzcmM9InJlc291cmNlcy91dGlsLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQ+Ci0gICAg
ZGVzY3JpcHRpb24oIlRlc3RzIHRoYXQgYmxvY2tpbmcgaXMgbm90IGFwcGxpZWQgdG8gdG9wLWxl
dmVsIG5hdmlnYXRpb24gcmVkaXJlY3RzLiIpOwotICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOwot
Ci0gICAgaW50ZXJuYWxzLnNldFJlc291cmNlTG9hZFN0YXRpc3RpY3NFbmFibGVkKHRydWUpOwot
Ci0gICAgZnVuY3Rpb24gZG9SZWRpcmVjdCgpCi0gICAgewotICAgICAgICB0ZXN0UnVubmVyLnNl
dFVzZUlUUERhdGFiYXNlKHRydWUpOwotICAgICAgICBzZXRFbmFibGVGZWF0dXJlKHRydWUsIGZ1
bmN0aW9uICgpIHsKLSAgICAgICAgICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc1ByZXZhbGVu
dFJlc291cmNlKCJodHRwOi8vbG9jYWxob3N0IiwgdHJ1ZSwgZnVuY3Rpb24gKCkgewotICAgICAg
ICAgICAgICAgIGlmICghdGVzdFJ1bm5lci5pc1N0YXRpc3RpY3NQcmV2YWxlbnRSZXNvdXJjZSgi
aHR0cDovL2xvY2FsaG9zdCIpKSB7Ci0gICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoIkhv
c3QgZGlkIG5vdCBnZXQgc2V0IGFzIHByZXZhbGVudCByZXNvdXJjZS4iKTsKLSAgICAgICAgICAg
ICAgICAgICAgc2V0RW5hYmxlRmVhdHVyZShmYWxzZSwgZmluaXNoSlNUZXN0KTsKLSAgICAgICAg
ICAgICAgICB9IGVsc2UKLSAgICAgICAgICAgICAgICAgICAgZG9jdW1lbnQubG9jYXRpb24uaHJl
ZiA9ICJodHRwOi8vbG9jYWxob3N0OjgwMDAvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9yZXNvdXJj
ZXMvc2V0LWNvb2tpZS1vbi1yZWRpcmVjdC5waHA/c3RlcD0xIjsKLSAgICAgICAgICAgIH0pOwot
ICAgICAgICB9KTsKLSAgICB9Ci08L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5IG9ubG9hZD0ic2V0
VGltZW91dCgnZG9SZWRpcmVjdCgpJywgMCkiPgotPC9ib2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2RvLW5vdC1j
YXB0dXJlLXN0YXRpc3RpY3MtZm9yLXNpbXBsZS10b3AtbmF2aWdhdGlvbnMtZGF0YWJhc2UtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNz
L2RvLW5vdC1jYXB0dXJlLXN0YXRpc3RpY3MtZm9yLXNpbXBsZS10b3AtbmF2aWdhdGlvbnMtZGF0
YWJhc2UtZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwNjljOTFj
YWU2ZWFhM2JkY2M4NDYwYzYzMzdiMDJmN2Q2NGYyNGZkLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VM
b2FkU3RhdGlzdGljcy9kby1ub3QtY2FwdHVyZS1zdGF0aXN0aWNzLWZvci1zaW1wbGUtdG9wLW5h
dmlnYXRpb25zLWRhdGFiYXNlLWV4cGVjdGVkLnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDExICsw
LDAgQEAKLVRlc3QgdGhhdCBhIG5vbi1yZWRpcmVjdGVkIHRvcCBmcmFtZSBuYXZpZ2F0aW9uIGRv
ZXNuJ3QgZ2V0IGNhcHR1cmVkIGluIHN0YXRpc3RpY3MuCi0KLU9uIHN1Y2Nlc3MsIHlvdSB3aWxs
IHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBM
RVRFIi4KLQotCi1QQVNTIHRlc3RSdW5uZXIuaXNTdGF0aXN0aWNzUmVnaXN0ZXJlZEFzU3ViRnJh
bWVVbmRlcigiaHR0cDovL2xvY2FsaG9zdCIsICJodHRwOi8vMTI3LjAuMC4xIikgaXMgZmFsc2UK
LVBBU1MgdGVzdFJ1bm5lci5pc1N0YXRpc3RpY3NSZWdpc3RlcmVkQXNTdWJGcmFtZVVuZGVyKCJo
dHRwOi8vMTI3LjAuMC4xIiwgImh0dHA6Ly9sb2NhbGhvc3QiKSBpcyBmYWxzZQotUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQotCi1URVNUIENPTVBMRVRFCi0KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9kby1ub3QtY2FwdHVy
ZS1zdGF0aXN0aWNzLWZvci1zaW1wbGUtdG9wLW5hdmlnYXRpb25zLWRhdGFiYXNlLmh0bWwgYi9M
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvZG8tbm90LWNhcHR1
cmUtc3RhdGlzdGljcy1mb3Itc2ltcGxlLXRvcC1uYXZpZ2F0aW9ucy1kYXRhYmFzZS5odG1sCmRl
bGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAzMzI3NmQzMTY3NDJkZTVmMTM5OGFjYzJmMTdm
YzVkN2RkYTdmMDE1Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0t
LSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9kby1ub3Qt
Y2FwdHVyZS1zdGF0aXN0aWNzLWZvci1zaW1wbGUtdG9wLW5hdmlnYXRpb25zLWRhdGFiYXNlLmh0
bWwKKysrIC9kZXYvbnVsbApAQCAtMSw0OCArMCwwIEBACi08IURPQ1RZUEUgaHRtbD4KLTxodG1s
IGxhbmc9ImVuIj4KLTxoZWFkPgotICAgIDxtZXRhIGNoYXJzZXQ9IlVURi04Ij4KLSAgICA8c2Ny
aXB0IHNyYz0iL2pzLXRlc3QtcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgotICAgIDxz
Y3JpcHQgc3JjPSJyZXNvdXJjZXMvdXRpbC5qcyI+PC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keT4K
LTxzY3JpcHQ+Ci0gICAgZGVzY3JpcHRpb24oIlRlc3QgdGhhdCBhIG5vbi1yZWRpcmVjdGVkIHRv
cCBmcmFtZSBuYXZpZ2F0aW9uIGRvZXNuJ3QgZ2V0IGNhcHR1cmVkIGluIHN0YXRpc3RpY3MuIik7
Ci0gICAganNUZXN0SXNBc3luYyA9IHRydWU7Ci0gICAgdGVzdFJ1bm5lci5zZXRVc2VJVFBEYXRh
YmFzZSh0cnVlKTsKLSAgICBsZXQgdGltZXJIYW5kbGUgPSAwOwotCi0gICAgZnVuY3Rpb24gZmlu
aXNoVGVzdCgpIHsKLSAgICAgICAgaWYgKHRpbWVySGFuZGxlKQotICAgICAgICAgIGNsZWFyVGlt
ZW91dCh0aW1lckhhbmRsZSk7Ci0KLSAgICAgICAgc2hvdWxkQmVGYWxzZSgndGVzdFJ1bm5lci5p
c1N0YXRpc3RpY3NSZWdpc3RlcmVkQXNTdWJGcmFtZVVuZGVyKCJodHRwOi8vbG9jYWxob3N0Iiwg
Imh0dHA6Ly8xMjcuMC4wLjEiKScpOwotICAgICAgICBzaG91bGRCZUZhbHNlKCd0ZXN0UnVubmVy
LmlzU3RhdGlzdGljc1JlZ2lzdGVyZWRBc1N1YkZyYW1lVW5kZXIoImh0dHA6Ly8xMjcuMC4wLjEi
LCAiaHR0cDovL2xvY2FsaG9zdCIpJyk7Ci0gICAgICAgIHNldEVuYWJsZUZlYXR1cmUoZmFsc2Us
IGZpbmlzaEpTVGVzdCk7Ci0gICAgfQotCi0gICAgZnVuY3Rpb24gcnVuVGVzdCgpIHsKLSAgICAg
ICAgc3dpdGNoIChkb2N1bWVudC5sb2NhdGlvbi5ob3N0KSB7Ci0gICAgICAgICAgICBjYXNlICIx
MjcuMC4wLjE6ODAwMCI6Ci0gICAgICAgICAgICAgICAgc2V0RW5hYmxlRmVhdHVyZSh0cnVlLCBm
dW5jdGlvbigpIHsKLSAgICAgICAgICAgICAgICAgICAgaWYgKHRlc3RSdW5uZXIuaXNTdGF0aXN0
aWNzUHJldmFsZW50UmVzb3VyY2UoImh0dHA6Ly9sb2NhbGhvc3Q6ODAwMCIpKQotICAgICAgICAg
ICAgICAgICAgICAgICAgdGVzdEZhaWxlZCgiTG9jYWxob3N0IHdhcyBjbGFzc2lmaWVkIGFzIHBy
ZXZhbGVudCByZXNvdXJjZSBiZWZvcmUgdGhlIHRlc3Qgc3RhcnRzLiIpOwotICAgICAgICAgICAg
ICAgICAgICBkb2N1bWVudC5sb2NhdGlvbi5ocmVmID0gImh0dHA6Ly9sb2NhbGhvc3Q6ODAwMC9y
ZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2RvLW5vdC1jYXB0dXJlLXN0YXRpc3RpY3MtZm9yLXNpbXBs
ZS10b3AtbmF2aWdhdGlvbnMtZGF0YWJhc2UuaHRtbCI7Ci0gICAgICAgICAgICAgICAgfSk7Ci0g
ICAgICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgICAgICBjYXNlICJsb2NhbGhvc3Q6ODAwMCI6
Ci0gICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5pbnN0YWxsU3RhdGlzdGljc0RpZFNjYW5EYXRh
UmVjb3Jkc0NhbGxiYWNrKGZpbmlzaFRlc3QpOwotICAgICAgICAgICAgICAgIGlmICghdGVzdFJ1
bm5lci5zdGF0aXN0aWNzTm90aWZ5T2JzZXJ2ZXIoKSkKLSAgICAgICAgICAgICAgICAgICAgdGlt
ZXJIYW5kbGUgPSBzZXRUaW1lb3V0KGZpbmlzaFRlc3QsIDEwMCk7Ci0gICAgICAgICAgICAgICAg
YnJlYWs7Ci0gICAgICAgICAgICBkZWZhdWx0OgotICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQo
IlVua25vd24gaG9zdDogIiArIGRvY3VtZW50LmxvY2F0aW9uLmhvc3QpOwotICAgICAgICAgICAg
ICAgIGZpbmlzaFRlc3QoKTsKLSAgICAgICAgfQotICAgIH0KLQotICAgIGlmICh3aW5kb3cudGVz
dFJ1bm5lciAmJiB3aW5kb3cuaW50ZXJuYWxzKQotICAgICAgICBydW5UZXN0KCk7Ci08L3Njcmlw
dD4KLTwvYm9keT4KLTwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMv
cmVzb3VyY2VMb2FkU3RhdGlzdGljcy9kby1ub3QtcmVtb3ZlLWJsb2NraW5nLWluLXJlZGlyZWN0
LWRhdGFiYXNlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VM
b2FkU3RhdGlzdGljcy9kby1ub3QtcmVtb3ZlLWJsb2NraW5nLWluLXJlZGlyZWN0LWRhdGFiYXNl
LWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZTg0NzE1ZjU4NWQ4
M2M5YTNlNThkMWQyMTA5MjIzMDE1ODQyNDAxNC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0
YXRpc3RpY3MvZG8tbm90LXJlbW92ZS1ibG9ja2luZy1pbi1yZWRpcmVjdC1kYXRhYmFzZS1leHBl
Y3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSw1MSArMCwwIEBACi1UZXN0cyB0aGF0IGJsb2Nr
aW5nIGlzIG5vdCByZW1vdmVkIG1pZC1mbGlnaHQgaW4gcmVkaXJlY3RzLgotCi1PbiBzdWNjZXNz
LCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAi
VEVTVCBDT01QTEVURSIuCi0KLQotUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQotCi1U
RVNUIENPTVBMRVRFCi0KLQotLS0tLS0tLS0KLUZyYW1lOiAnPCEtLWZyYW1lMS0tPicKLS0tLS0t
LS0tCi1TaG91bGQgcmVjZWl2ZSBmaXJzdC1wYXJ0eSBjb29raWUgZm9yIGxvY2FsaG9zdC4KLURp
ZCBub3QgcmVjZWl2ZSBjb29raWUgbmFtZWQgJ2ZpcnN0UGFydHlDb29raWVJUCcuCi1SZWNlaXZl
ZCBjb29raWUgbmFtZWQgJ2ZpcnN0UGFydHlDb29raWVMb2NhbGhvc3QnLgotRGlkIG5vdCByZWNl
aXZlIGNvb2tpZSBuYW1lZCAndGhpcmRQYXJ0eUNvb2tpZScuCi1DbGllbnQtc2lkZSBkb2N1bWVu
dC5jb29raWU6IGZpcnN0UGFydHlDb29raWVMb2NhbGhvc3Q9bG9jYWxob3N0Ci0KLS0tLS0tLS0t
Ci1GcmFtZTogJzwhLS1mcmFtZTItLT4nCi0tLS0tLS0tLQotUmVkaXJlY3QgY2FzZSAxLCBzaG91
bGQgcmVjZWl2ZSBmaXJzdC1wYXJ0eSBjb29raWUgZm9yIDEyNy4wLjAuMS4KLVJlY2VpdmVkIGNv
b2tpZSBuYW1lZCAnZmlyc3RQYXJ0eUNvb2tpZUlQJy4KLURpZCBub3QgcmVjZWl2ZSBjb29raWUg
bmFtZWQgJ2ZpcnN0UGFydHlDb29raWVMb2NhbGhvc3QnLgotRGlkIG5vdCByZWNlaXZlIGNvb2tp
ZSBuYW1lZCAndGhpcmRQYXJ0eUNvb2tpZScuCi1DbGllbnQtc2lkZSBkb2N1bWVudC5jb29raWU6
IGZpcnN0UGFydHlDb29raWVJUD0xMjcuMC4wLjEKLQotLS0tLS0tLS0KLUZyYW1lOiAnPCEtLWZy
YW1lMy0tPicKLS0tLS0tLS0tCi1UcnkgdG8gc2V0IHRoaXJkLXBhcnR5IGNvb2tpZSBmb3IgbG9j
YWxob3N0IGluIGJsb2NrZWQgbW9kZS4KLQotCi0tLS0tLS0tLQotRnJhbWU6ICc8IS0tZnJhbWU0
LS0+JwotLS0tLS0tLS0KLVNob3VsZCByZWNlaXZlIG5vIGNvb2tpZS4KLURpZCBub3QgcmVjZWl2
ZSBjb29raWUgbmFtZWQgJ2ZpcnN0UGFydHlDb29raWVJUCcuCi1EaWQgbm90IHJlY2VpdmUgY29v
a2llIG5hbWVkICdmaXJzdFBhcnR5Q29va2llTG9jYWxob3N0Jy4KLURpZCBub3QgcmVjZWl2ZSBj
b29raWUgbmFtZWQgJ3RoaXJkUGFydHlDb29raWUnLgotQ2xpZW50LXNpZGUgZG9jdW1lbnQuY29v
a2llOgotCi0tLS0tLS0tLQotRnJhbWU6ICc8IS0tZnJhbWU1LS0+JwotLS0tLS0tLS0KLVJlZGly
ZWN0IGNhc2UgMiwgc2hvdWxkIG5vdCByZWNlaXZlIGZpcnN0LXBhcnR5IGNvb2tpZSBmb3IgMTI3
LjAuMC4xLgotRGlkIG5vdCByZWNlaXZlIGNvb2tpZSBuYW1lZCAnZmlyc3RQYXJ0eUNvb2tpZUlQ
Jy4KLURpZCBub3QgcmVjZWl2ZSBjb29raWUgbmFtZWQgJ2ZpcnN0UGFydHlDb29raWVMb2NhbGhv
c3QnLgotRGlkIG5vdCByZWNlaXZlIGNvb2tpZSBuYW1lZCAndGhpcmRQYXJ0eUNvb2tpZScuCi1D
bGllbnQtc2lkZSBkb2N1bWVudC5jb29raWU6IGZpcnN0UGFydHlDb29raWVJUD0xMjcuMC4wLjEK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGlj
cy9kby1ub3QtcmVtb3ZlLWJsb2NraW5nLWluLXJlZGlyZWN0LWRhdGFiYXNlLmh0bWwgYi9MYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvZG8tbm90LXJlbW92ZS1i
bG9ja2luZy1pbi1yZWRpcmVjdC1kYXRhYmFzZS5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAzNmQzMGFhZGVmNDU3N2I4NTI0MjNjNmEyMzZmM2FhMzcxOWYxMDJkLi4wMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2h0dHAv
dGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9kby1ub3QtcmVtb3ZlLWJsb2NraW5nLWluLXJl
ZGlyZWN0LWRhdGFiYXNlLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSwxMDAgKzAsMCBAQAotPCFE
T0NUWVBFIGh0bWw+Ci08aHRtbCBsYW5nPSJlbiI+Ci08aGVhZD4KLSAgICA8bWV0YSBjaGFyc2V0
PSJVVEYtOCI+Ci0gICAgPHNjcmlwdCBzcmM9Ii9qcy10ZXN0LXJlc291cmNlcy9qcy10ZXN0Lmpz
Ij48L3NjcmlwdD4KLSAgICA8c2NyaXB0IHNyYz0icmVzb3VyY2VzL3V0aWwuanMiPjwvc2NyaXB0
PgotPC9oZWFkPgotPGJvZHk+Ci08c2NyaXB0PgotICAgIGRlc2NyaXB0aW9uKCJUZXN0cyB0aGF0
IGJsb2NraW5nIGlzIG5vdCByZW1vdmVkIG1pZC1mbGlnaHQgaW4gcmVkaXJlY3RzLiIpOwotICAg
IGpzVGVzdElzQXN5bmMgPSB0cnVlOwotCi0gICAgY29uc3QgcGFydGl0aW9uSG9zdCA9ICIxMjcu
MC4wLjE6ODAwMCI7Ci0gICAgY29uc3QgdGhpcmRQYXJ0eU9yaWdpbiA9ICJodHRwOi8vbG9jYWxo
b3N0OjgwMDAiOwotICAgIGNvbnN0IHJlc291cmNlUGF0aCA9ICIvcmVzb3VyY2VMb2FkU3RhdGlz
dGljcy9yZXNvdXJjZXMiOwotICAgIGNvbnN0IHRoaXJkUGFydHlCYXNlVXJsID0gdGhpcmRQYXJ0
eU9yaWdpbiArIHJlc291cmNlUGF0aDsKLSAgICBjb25zdCBmaXJzdFBhcnR5Q29va2llTmFtZVBy
ZWZpeCA9ICJmaXJzdFBhcnR5Q29va2llIjsKLSAgICBjb25zdCBmaXJzdFBhcnR5Q29va2llTmFt
ZUlQID0gZmlyc3RQYXJ0eUNvb2tpZU5hbWVQcmVmaXggKyAiSVAiOwotICAgIGNvbnN0IGZpcnN0
UGFydHlDb29raWVOYW1lTG9jYWxob3N0ID0gZmlyc3RQYXJ0eUNvb2tpZU5hbWVQcmVmaXggKyAi
TG9jYWxob3N0IjsKLSAgICBjb25zdCB0aGlyZFBhcnR5Q29va2llTmFtZSA9ICJ0aGlyZFBhcnR5
Q29va2llIjsKLSAgICBjb25zdCBzdWJQYXRoVG9TZXRUaGlyZFBhcnR5Q29va2llID0gIi9zZXQt
Y29va2llLnBocD9uYW1lPSIgKyB0aGlyZFBhcnR5Q29va2llTmFtZSArICImdmFsdWU9dmFsdWUi
OwotICAgIGNvbnN0IHN1YlBhdGhUb0dldENvb2tpZXMgPSAiL2dldC1jb29raWVzLnBocD9uYW1l
MT0iICsgZmlyc3RQYXJ0eUNvb2tpZU5hbWVJUCArICImbmFtZTI9IiArIGZpcnN0UGFydHlDb29r
aWVOYW1lTG9jYWxob3N0ICsgIiZuYW1lMz0iICsgdGhpcmRQYXJ0eUNvb2tpZU5hbWU7Ci0gICAg
Y29uc3QgcmVkaXJlY3RDaGFpblVybCA9IHRoaXJkUGFydHlPcmlnaW4gKyByZXNvdXJjZVBhdGgg
KyAiL3JlZGlyZWN0LnBocD9yZWRpcmVjdFRvPWh0dHA6Ly8iICsgcGFydGl0aW9uSG9zdCArIHJl
c291cmNlUGF0aCArIHN1YlBhdGhUb0dldENvb2tpZXM7Ci0KLSAgICBmdW5jdGlvbiBvcGVuSWZy
YW1lKHVybCwgb25Mb2FkSGFuZGxlcikgewotICAgICAgICBjb25zdCBlbGVtZW50ID0gZG9jdW1l
bnQuY3JlYXRlRWxlbWVudCgiaWZyYW1lIik7Ci0gICAgICAgIGVsZW1lbnQuc3JjID0gdXJsOwot
ICAgICAgICBpZiAob25Mb2FkSGFuZGxlcikgewotICAgICAgICAgICAgZWxlbWVudC5vbmxvYWQg
PSBvbkxvYWRIYW5kbGVyOwotICAgICAgICB9Ci0gICAgICAgIGRvY3VtZW50LmJvZHkuYXBwZW5k
Q2hpbGQoZWxlbWVudCk7Ci0gICAgfQotCi0gICAgZnVuY3Rpb24gcnVuVGVzdCgpIHsKLSAgICAg
ICAgc3dpdGNoIChkb2N1bWVudC5sb2NhdGlvbi5oYXNoKSB7Ci0gICAgICAgICAgICBjYXNlICIj
c3RlcDEiOgotICAgICAgICAgICAgICAgIC8vIFNldCBmaXJzdC1wYXJ0eSBjb29raWVzIGZvciAx
MjcuMC4wLjEgYW5kIGxvY2FsaG9zdC4KLSAgICAgICAgICAgICAgICBpZiAoZG9jdW1lbnQubG9j
YXRpb24ub3JpZ2luID09PSB0aGlyZFBhcnR5T3JpZ2luKSB7Ci0gICAgICAgICAgICAgICAgICAg
IGRvY3VtZW50LmNvb2tpZSA9IGZpcnN0UGFydHlDb29raWVOYW1lTG9jYWxob3N0ICsgIj1sb2Nh
bGhvc3Q7cGF0aD0nLyciOwotICAgICAgICAgICAgICAgICAgICBkb2N1bWVudC5sb2NhdGlvbi5o
cmVmID0gImh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2RvLW5v
dC1yZW1vdmUtYmxvY2tpbmctaW4tcmVkaXJlY3QtZGF0YWJhc2UuaHRtbCNzdGVwMiI7Ci0gICAg
ICAgICAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAgICAgICAgICAgZG9jdW1lbnQuY29va2ll
ID0gZmlyc3RQYXJ0eUNvb2tpZU5hbWVJUCArICI9MTI3LjAuMC4xO3BhdGg9Jy8nIjsKLSAgICAg
ICAgICAgICAgICAgICAgZG9jdW1lbnQubG9jYXRpb24uaHJlZiA9ICJodHRwOi8vbG9jYWxob3N0
OjgwMDAvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9kby1ub3QtcmVtb3ZlLWJsb2NraW5nLWluLXJl
ZGlyZWN0LWRhdGFiYXNlLmh0bWwjc3RlcDEiOwotICAgICAgICAgICAgICAgIH0KLSAgICAgICAg
ICAgICAgICBicmVhazsKLSAgICAgICAgICAgIGNhc2UgIiNzdGVwMiI6Ci0gICAgICAgICAgICAg
ICAgLy8gQ2hlY2sgdGhhdCB0aGUgY29va2llIGdldHMgc2VudCBmb3IgbG9jYWxob3N0IHVuZGVy
IDEyNy4wLjAuMSBzaW5jZSBsb2NhbGhvc3QgaXMgbm90IHByZXZhbGVudC4KLSAgICAgICAgICAg
ICAgICBkb2N1bWVudC5sb2NhdGlvbi5oYXNoID0gInN0ZXAzIjsKLSAgICAgICAgICAgICAgICBv
cGVuSWZyYW1lKHRoaXJkUGFydHlCYXNlVXJsICsgc3ViUGF0aFRvR2V0Q29va2llcyArICImbWVz
c2FnZT1TaG91bGQgcmVjZWl2ZSBmaXJzdC1wYXJ0eSBjb29raWUgZm9yIGxvY2FsaG9zdC4iLCBy
dW5UZXN0KTsKLSAgICAgICAgICAgICAgICBicmVhazsKLSAgICAgICAgICAgIGNhc2UgIiNzdGVw
MyI6Ci0gICAgICAgICAgICAgICAgZG9jdW1lbnQubG9jYXRpb24uaGFzaCA9ICJzdGVwNCI7Ci0g
ICAgICAgICAgICAgICAgLy8gTG9hZCBhbiBpZnJhbWUgaW4gYSByZWRpcmVjdCBjaGFpbiB0aGF0
IHN0YXJ0cyB3aXRoIGxvY2FsaG9zdCBhbmQgZW5kcyB3aXRoIDEyNy4wLjAuMS4gRXhwZWN0IGEg
Y29va2llIGZvciAxMjcuMC4wLjEuCi0gICAgICAgICAgICAgICAgb3BlbklmcmFtZShyZWRpcmVj
dENoYWluVXJsICsgIiZtZXNzYWdlPVJlZGlyZWN0IGNhc2UgMSwgc2hvdWxkIHJlY2VpdmUgZmly
c3QtcGFydHkgY29va2llIGZvciAxMjcuMC4wLjEuIiwgcnVuVGVzdCk7Ci0gICAgICAgICAgICAg
ICAgYnJlYWs7Ci0gICAgICAgICAgICBjYXNlICIjc3RlcDQiOgotICAgICAgICAgICAgICAgIC8v
IFNldCBsb2NhbGhvc3QgYXMgcHJldmFsZW50IHRvIHB1dCBpdCBpbiB0aGUgYmxvY2tpbmcgY2F0
ZWdvcnkuCi0gICAgICAgICAgICAgICAgZG9jdW1lbnQubG9jYXRpb24uaGFzaCA9ICJzdGVwNSI7
Ci0gICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNzUHJldmFsZW50UmVzb3Vy
Y2UodGhpcmRQYXJ0eU9yaWdpbiwgdHJ1ZSwgZnVuY3Rpb24oKSB7Ci0gICAgICAgICAgICAgICAg
ICAgIGlmICghdGVzdFJ1bm5lci5pc1N0YXRpc3RpY3NQcmV2YWxlbnRSZXNvdXJjZSh0aGlyZFBh
cnR5T3JpZ2luKSkKLSAgICAgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoIkhvc3QgZGlk
IG5vdCBnZXQgc2V0IGFzIHByZXZhbGVudCByZXNvdXJjZS4iKTsKLSAgICAgICAgICAgICAgICAg
ICAgdGVzdFJ1bm5lci5zdGF0aXN0aWNzVXBkYXRlQ29va2llQmxvY2tpbmcocnVuVGVzdCk7Ci0g
ICAgICAgICAgICAgICAgfSk7Ci0gICAgICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgICAgICBj
YXNlICIjc3RlcDUiOgotICAgICAgICAgICAgICAgIC8vIFRyeSB0byBzZXQgcGFydGl0aW9uZWQg
Y29va2llIGZvciBsb2NhbGhvc3QgdW5kZXIgMTI3LjAuMC4xLgotICAgICAgICAgICAgICAgIGRv
Y3VtZW50LmxvY2F0aW9uLmhhc2ggPSAic3RlcDYiOwotICAgICAgICAgICAgICAgIG9wZW5JZnJh
bWUodGhpcmRQYXJ0eUJhc2VVcmwgKyBzdWJQYXRoVG9TZXRUaGlyZFBhcnR5Q29va2llICsgIiZt
ZXNzYWdlPVRyeSB0byBzZXQgdGhpcmQtcGFydHkgY29va2llIGZvciBsb2NhbGhvc3QgaW4gYmxv
Y2tlZCBtb2RlLiIsIHJ1blRlc3QpOwotICAgICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICAg
ICAgY2FzZSAiI3N0ZXA2IjoKLSAgICAgICAgICAgICAgICAvLyBDaGVjayB0aGF0IG5vIGNvb2tp
ZSBnZXRzIHNlbnQgZm9yIGxvY2FsaG9zdCB1bmRlciAxMjcuMC4wLjEgc2luY2UgbG9jYWxob3N0
J3MgY29va2llcyBhcmUgYmxvY2tlZC4KLSAgICAgICAgICAgICAgICBkb2N1bWVudC5sb2NhdGlv
bi5oYXNoID0gInN0ZXA3IjsKLSAgICAgICAgICAgICAgICBvcGVuSWZyYW1lKHRoaXJkUGFydHlC
YXNlVXJsICsgc3ViUGF0aFRvR2V0Q29va2llcyArICAiJm1lc3NhZ2U9U2hvdWxkIHJlY2VpdmUg
bm8gY29va2llLiIsIHJ1blRlc3QpOwotICAgICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICAg
ICAgY2FzZSAiI3N0ZXA3IjoKLSAgICAgICAgICAgICAgICAvLyBMb2FkIGFuIGlmcmFtZSBpbiBh
IHJlZGlyZWN0IGNoYWluIHRoYXQgc3RhcnRzIHdpdGggbG9jYWxob3N0IGFuZCBlbmRzIHdpdGgg
MTI3LjAuMC4xLiBFeHBlY3QgYSBjb29raWUgZm9yIDEyNy4wLjAuMS4KLSAgICAgICAgICAgICAg
ICBkb2N1bWVudC5sb2NhdGlvbi5oYXNoID0gInN0ZXA4IjsKLSAgICAgICAgICAgICAgICBvcGVu
SWZyYW1lKHJlZGlyZWN0Q2hhaW5VcmwgKyAiJm1lc3NhZ2U9UmVkaXJlY3QgY2FzZSAyLCBzaG91
bGQgbm90IHJlY2VpdmUgZmlyc3QtcGFydHkgY29va2llIGZvciAxMjcuMC4wLjEuIiwgcnVuVGVz
dCk7Ci0gICAgICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgICAgICBjYXNlICIjc3RlcDgiOgot
ICAgICAgICAgICAgICAgIHNldEVuYWJsZUZlYXR1cmUoZmFsc2UsIGZpbmlzaEpTVGVzdCk7Ci0g
ICAgICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgIH0KLSAgICB9Ci0KLSAgICBpZiAoZG9jdW1l
bnQubG9jYXRpb24uaGFzaCA9PT0gIiIpIHsKLSAgICAgICAgdGVzdFJ1bm5lci5zZXRVc2VJVFBE
YXRhYmFzZSh0cnVlKTsKLSAgICAgICAgc2V0RW5hYmxlRmVhdHVyZSh0cnVlLCBmdW5jdGlvbigp
IHsKLSAgICAgICAgICAgIGlmICh0ZXN0UnVubmVyLmlzU3RhdGlzdGljc1ByZXZhbGVudFJlc291
cmNlKHRoaXJkUGFydHlPcmlnaW4pKQotICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoIkxvY2Fs
aG9zdCB3YXMgY2xhc3NpZmllZCBhcyBwcmV2YWxlbnQgcmVzb3VyY2UgYmVmb3JlIHRoZSB0ZXN0
IHN0YXJ0cy4iKTsKLSAgICAgICAgICAgIHRlc3RSdW5uZXIuZHVtcENoaWxkRnJhbWVzQXNUZXh0
KCk7Ci0gICAgICAgICAgICBkb2N1bWVudC5sb2NhdGlvbi5oYXNoID0gInN0ZXAxIjsKLSAgICAg
ICAgICAgIHJ1blRlc3QoKTsKLSAgICAgICAgfSk7Ci0gICAgfSBlbHNlIHsKLSAgICAgICAgcnVu
VGVzdCgpOwotICAgIH0KLTwvc2NyaXB0PgotPC9ib2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2RvLW5vdC1zd2l0
Y2gtc2Vzc2lvbi1vbi1uYXZpZ2F0aW9uLXRvLXByZXZhbGVudC13aXRob3V0LWludGVyYWN0aW9u
LWRhdGFiYXNlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VM
b2FkU3RhdGlzdGljcy9kby1ub3Qtc3dpdGNoLXNlc3Npb24tb24tbmF2aWdhdGlvbi10by1wcmV2
YWxlbnQtd2l0aG91dC1pbnRlcmFjdGlvbi1kYXRhYmFzZS1leHBlY3RlZC50eHQKZGVsZXRlZCBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IGQwNWRjMDliNjk2MzlmMWQ5MGM2YzM3YzIyZWQxYjk2Zjg2
MWM0NDkuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2RvLW5vdC1zd2l0Y2gt
c2Vzc2lvbi1vbi1uYXZpZ2F0aW9uLXRvLXByZXZhbGVudC13aXRob3V0LWludGVyYWN0aW9uLWRh
dGFiYXNlLWV4cGVjdGVkLnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDEyICswLDAgQEAKLVRlc3Rz
IHRoYXQgdGhlIHNlc3Npb24gaXMgbm90IHN3aXRjaGVkIHVwb24gdG9wIGZyYW1lIG5hdmlnYXRp
b24gdG8gYSBwcmV2YWxlbnQgcmVzb3VyY2Ugd2l0aG91dCB1c2VyIGludGVyYWN0aW9uLgotCi1P
biBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xs
b3dlZCBieSAiVEVTVCBDT01QTEVURSIuCi0KLQotUEFTUyBTaG91bGQgaGF2ZSBhbmQgaGFzIHRo
ZSBzZXNzaW9uIGNvb2tpZS4KLVBBU1MgU2hvdWxkIGhhdmUgYW5kIGhhcyB0aGUgcGVyc2lzdGVu
dCBjb29raWUuCi1QQVNTIE9yaWdpbiBoYXMgbm8gaXNvbGF0ZWQgc2Vzc2lvbi4KLVBBU1Mgc3Vj
Y2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKLQotVEVTVCBDT01QTEVURQotCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvZG8tbm90LXN3aXRj
aC1zZXNzaW9uLW9uLW5hdmlnYXRpb24tdG8tcHJldmFsZW50LXdpdGhvdXQtaW50ZXJhY3Rpb24t
ZGF0YWJhc2UucGhwIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0
aWNzL2RvLW5vdC1zd2l0Y2gtc2Vzc2lvbi1vbi1uYXZpZ2F0aW9uLXRvLXByZXZhbGVudC13aXRo
b3V0LWludGVyYWN0aW9uLWRhdGFiYXNlLnBocApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggYTJhMGY4YzhhMGVmYzEyN2Y4MmIxZWI0ODE0NjY4NDcwZDA3NmJlYy4uMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvZG8tbm90LXN3aXRjaC1zZXNzaW9uLW9uLW5hdmlnYXRp
b24tdG8tcHJldmFsZW50LXdpdGhvdXQtaW50ZXJhY3Rpb24tZGF0YWJhc2UucGhwCisrKyAvZGV2
L251bGwKQEAgLTEsMTEyICswLDAgQEAKLTw/cGhwCi0gICAgaGVhZGVyKCJDYWNoZS1Db250cm9s
OiBuby1zdG9yZSIpOwotPz4KLTwhRE9DVFlQRSBodG1sPgotPGh0bWwgbGFuZz0iZW4iPgotPGhl
YWQ+Ci0gICAgPG1ldGEgY2hhcnNldD0iVVRGLTgiPgotICAgIDxzY3JpcHQgc3JjPSIvanMtdGVz
dC1yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+Ci0gICAgPHNjcmlwdCBzcmM9InJlc291
cmNlcy91dGlsLmpzIj48L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5IG9ubG9hZD0icnVuVGVzdCgp
Ij4KLTxzY3JpcHQ+Ci0gICAgZGVzY3JpcHRpb24oIlRlc3RzIHRoYXQgdGhlIHNlc3Npb24gaXMg
bm90IHN3aXRjaGVkIHVwb24gdG9wIGZyYW1lIG5hdmlnYXRpb24gdG8gYSBwcmV2YWxlbnQgcmVz
b3VyY2Ugd2l0aG91dCB1c2VyIGludGVyYWN0aW9uLiIpOwotICAgIGpzVGVzdElzQXN5bmMgPSB0
cnVlOwotCi0gICAgY29uc3QgcHJldmFsZW50T3JpZ2luID0gImh0dHA6Ly8xMjcuMC4wLjE6ODAw
MCI7Ci0gICAgY29uc3Qgbm9uUHJldmFsZW50T3JpZ2luID0gImh0dHA6Ly9sb2NhbGhvc3Q6ODAw
MCI7Ci0gICAgY29uc3Qgc2Vzc2lvbkNvb2tpZU5hbWUgPSAic2Vzc2lvbkNvb2tpZSI7Ci0gICAg
Y29uc3QgcGVyc2lzdGVudENvb2tpZU5hbWUgPSAicGVyc2lzdGVudENvb2tpZSI7Ci0gICAgY29u
c3QgdHdvTWludXRlc0luU2Vjb25kcyA9IDEyMDsKLQotICAgIGZ1bmN0aW9uIHNldFNlc3Npb25D
b29raWUoKSB7Ci0gICAgICAgIGRvY3VtZW50LmNvb2tpZSA9IHNlc3Npb25Db29raWVOYW1lICsg
Ij0xOyBwYXRoPS8iOwotICAgIH0KLQotICAgIGZ1bmN0aW9uIHNldFBlcnNpc3RlbnRDb29raWUo
KSB7Ci0gICAgICAgIGRvY3VtZW50LmNvb2tpZSA9IHBlcnNpc3RlbnRDb29raWVOYW1lICsgIj0x
OyBwYXRoPS87IE1heC1BZ2U9IiArIHR3b01pbnV0ZXNJblNlY29uZHMgKyAiOyI7Ci0gICAgfQot
Ci0gICAgZnVuY3Rpb24gY2hlY2tDb29raWVzKHNob3VsZEhhdmVTZXNzaW9uQ29va2llLCBzaG91
bGRIYXZlUGVyc2lzdGVudENvb2tpZSkgewotICAgICAgICBsZXQgaGFzU2Vzc2lvbkNvb2tpZSA9
IChkb2N1bWVudC5jb29raWUgKyAiIikuaW5jbHVkZXMoc2Vzc2lvbkNvb2tpZU5hbWUpLAotICAg
ICAgICAgICAgaGFzUGVyc2lzdGVudENvb2tpZSA9IChkb2N1bWVudC5jb29raWUgKyAiIikuaW5j
bHVkZXMocGVyc2lzdGVudENvb2tpZU5hbWUpOwotCi0gICAgICAgIGlmIChzaG91bGRIYXZlU2Vz
c2lvbkNvb2tpZSAmJiBoYXNTZXNzaW9uQ29va2llKQotICAgICAgICAgICAgdGVzdFBhc3NlZCgi
U2hvdWxkIGhhdmUgYW5kIGhhcyB0aGUgc2Vzc2lvbiBjb29raWUuIik7Ci0gICAgICAgIGVsc2Ug
aWYgKHNob3VsZEhhdmVTZXNzaW9uQ29va2llICYmICFoYXNTZXNzaW9uQ29va2llKSB7Ci0gICAg
ICAgICAgICB0ZXN0RmFpbGVkKCJTaG91bGQgaGF2ZSBidXQgZG9lc24ndCBoYXZlIHRoZSBzZXNz
aW9uIGNvb2tpZS4iKTsKLSAgICAgICAgICAgIHNldEVuYWJsZUZlYXR1cmUoZmFsc2UsIGZpbmlz
aEpTVGVzdCk7Ci0gICAgICAgIH0gZWxzZSBpZiAoIXNob3VsZEhhdmVTZXNzaW9uQ29va2llICYm
IGhhc1Nlc3Npb25Db29raWUpIHsKLSAgICAgICAgICAgIHRlc3RGYWlsZWQoIlNob3VsZG4ndCBo
YXZlIGJ1dCBoYXMgdGhlIHNlc3Npb24gY29va2llLiIpOwotICAgICAgICAgICAgc2V0RW5hYmxl
RmVhdHVyZShmYWxzZSwgZmluaXNoSlNUZXN0KTsKLSAgICAgICAgfSBlbHNlCi0gICAgICAgICAg
ICB0ZXN0UGFzc2VkKCJTaG91bGRuJ3QgaGF2ZSBhbmQgZG9lc24ndCBoYXZlIHRoZSBzZXNzaW9u
IGNvb2tpZS4iKTsKLQotCi0gICAgICAgIGlmIChzaG91bGRIYXZlUGVyc2lzdGVudENvb2tpZSAm
JiBoYXNQZXJzaXN0ZW50Q29va2llKQotICAgICAgICAgICAgdGVzdFBhc3NlZCgiU2hvdWxkIGhh
dmUgYW5kIGhhcyB0aGUgcGVyc2lzdGVudCBjb29raWUuIik7Ci0gICAgICAgIGVsc2UgaWYgKHNo
b3VsZEhhdmVQZXJzaXN0ZW50Q29va2llICYmICFoYXNQZXJzaXN0ZW50Q29va2llKSB7Ci0gICAg
ICAgICAgICB0ZXN0RmFpbGVkKCJTaG91bGQgaGF2ZSBidXQgZG9lc24ndCBoYXZlIHRoZSBwZXJz
aXN0ZW50IGNvb2tpZS4iKTsKLSAgICAgICAgICAgIHNldEVuYWJsZUZlYXR1cmUoZmFsc2UsIGZp
bmlzaEpTVGVzdCk7Ci0gICAgICAgIH0gZWxzZSBpZiAoIXNob3VsZEhhdmVQZXJzaXN0ZW50Q29v
a2llICYmIGhhc1BlcnNpc3RlbnRDb29raWUpIHsKLSAgICAgICAgICAgIHRlc3RGYWlsZWQoIlNo
b3VsZG4ndCBoYXZlIGJ1dCBoYXMgdGhlIHBlcnNpc3RlbnQgY29va2llLiIpOwotICAgICAgICAg
ICAgc2V0RW5hYmxlRmVhdHVyZShmYWxzZSwgZmluaXNoSlNUZXN0KTsKLSAgICAgICAgfSBlbHNl
Ci0gICAgICAgICAgICB0ZXN0UGFzc2VkKCJTaG91bGRuJ3QgaGF2ZSBhbmQgZG9lc24ndCBoYXZl
IHRoZSBwZXJzaXN0ZW50IGNvb2tpZS4iKTsKLSAgICB9Ci0KLSAgICBmdW5jdGlvbiBydW5UZXN0
KCkgewotICAgICAgICBzd2l0Y2ggKGRvY3VtZW50LmxvY2F0aW9uLmhhc2gpIHsKLSAgICAgICAg
ICAgIGNhc2UgIiI6Ci0gICAgICAgICAgICAgICAgaWYgKGRvY3VtZW50LmxvY2F0aW9uLm9yaWdp
biAhPT0gcHJldmFsZW50T3JpZ2luKQotICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKCJU
ZXN0IGlzIG5vdCBzdGFydGluZyBvdXQgb24gIiArIHByZXZhbGVudE9yaWdpbiArICIuIik7Ci0K
LSAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLnNldFVzZUlUUERhdGFiYXNlKHRydWUpOwotICAg
ICAgICAgICAgICAgIHNldEVuYWJsZUZlYXR1cmUodHJ1ZSwgZnVuY3Rpb24gKCkgewotICAgICAg
ICAgICAgICAgICAgICBpZiAodGVzdFJ1bm5lci5pc1N0YXRpc3RpY3NQcmV2YWxlbnRSZXNvdXJj
ZShwcmV2YWxlbnRPcmlnaW4pKQotICAgICAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChw
cmV2YWxlbnRPcmlnaW4gKyAiIHdhcyBjbGFzc2lmaWVkIGFzIHByZXZhbGVudCByZXNvdXJjZSBi
ZWZvcmUgdGhlIHRlc3Qgc3RhcnRzLiIpOwotICAgICAgICAgICAgICAgICAgICBkb2N1bWVudC5s
b2NhdGlvbi5oYXNoID0gInN0ZXAxIjsKLSAgICAgICAgICAgICAgICAgICAgcnVuVGVzdCgpOwot
ICAgICAgICAgICAgICAgIH0pOwotICAgICAgICAgICAgY2FzZSAiI3N0ZXAxIjoKLSAgICAgICAg
ICAgICAgICBzZXRTZXNzaW9uQ29va2llKCk7Ci0gICAgICAgICAgICAgICAgc2V0UGVyc2lzdGVu
dENvb2tpZSgpOwotICAgICAgICAgICAgICAgIGNoZWNrQ29va2llcyh0cnVlLCB0cnVlKTsKLSAg
ICAgICAgICAgICAgICBpZiAodGVzdFJ1bm5lci5oYXNTdGF0aXN0aWNzSXNvbGF0ZWRTZXNzaW9u
KHByZXZhbGVudE9yaWdpbikpIHsKLSAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZCgiT3Jp
Z2luIGhhcyBpc29sYXRlZCBzZXNzaW9uLiIpOwotICAgICAgICAgICAgICAgICAgICBzZXRFbmFi
bGVGZWF0dXJlKGZhbHNlLCBmaW5pc2hKU1Rlc3QpOwotICAgICAgICAgICAgICAgIH0gZWxzZQot
ICAgICAgICAgICAgICAgICAgICB0ZXN0UGFzc2VkKCJPcmlnaW4gaGFzIG5vIGlzb2xhdGVkIHNl
c3Npb24uIik7Ci0gICAgICAgICAgICAgICAgZG9jdW1lbnQubG9jYXRpb24uaHJlZiA9IG5vblBy
ZXZhbGVudE9yaWdpbiArICIvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9kby1ub3Qtc3dpdGNoLXNl
c3Npb24tb24tbmF2aWdhdGlvbi10by1wcmV2YWxlbnQtd2l0aG91dC1pbnRlcmFjdGlvbi1kYXRh
YmFzZS5waHAjc3RlcDIiOwotICAgICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICAgICAgY2Fz
ZSAiI3N0ZXAyIjoKLSAgICAgICAgICAgICAgICBkb2N1bWVudC5sb2NhdGlvbi5oYXNoID0gInN0
ZXAzIjsKLSAgICAgICAgICAgICAgICBpZiAoZG9jdW1lbnQubG9jYXRpb24ub3JpZ2luICE9PSBu
b25QcmV2YWxlbnRPcmlnaW4pCi0gICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoIlN0ZXAg
MiBpcyBub3Qgb24gIiArIG5vblByZXZhbGVudE9yaWdpbiArICIuIik7Ci0gICAgICAgICAgICAg
ICAgdGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNzUHJldmFsZW50UmVzb3VyY2UocHJldmFsZW50T3Jp
Z2luLCB0cnVlLCBmdW5jdGlvbigpIHsKLSAgICAgICAgICAgICAgICAgICAgaWYgKCF0ZXN0UnVu
bmVyLmlzU3RhdGlzdGljc1ByZXZhbGVudFJlc291cmNlKHByZXZhbGVudE9yaWdpbikpIHsKLSAg
ICAgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQocHJldmFsZW50T3JpZ2luICsgIiBkaWQg
bm90IGdldCBzZXQgYXMgcHJldmFsZW50IHJlc291cmNlLiIpOwotICAgICAgICAgICAgICAgICAg
ICAgICAgc2V0RW5hYmxlRmVhdHVyZShmYWxzZSwgZmluaXNoSlNUZXN0KTsKLSAgICAgICAgICAg
ICAgICAgICAgfQotICAgICAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLnN0YXRpc3RpY3NVcGRh
dGVDb29raWVCbG9ja2luZyhydW5UZXN0KTsKLSAgICAgICAgICAgICAgICB9KTsKLSAgICAgICAg
ICAgICAgICBicmVhazsKLSAgICAgICAgICAgIGNhc2UgIiNzdGVwMyI6Ci0gICAgICAgICAgICAg
ICAgZG9jdW1lbnQubG9jYXRpb24uaHJlZiA9IHByZXZhbGVudE9yaWdpbiArICIvcmVzb3VyY2VM
b2FkU3RhdGlzdGljcy9kby1ub3Qtc3dpdGNoLXNlc3Npb24tb24tbmF2aWdhdGlvbi10by1wcmV2
YWxlbnQtd2l0aG91dC1pbnRlcmFjdGlvbi1kYXRhYmFzZS5waHAjc3RlcDQiOwotICAgICAgICAg
ICAgICAgIGJyZWFrOwotICAgICAgICAgICAgY2FzZSAiI3N0ZXA0IjoKLSAgICAgICAgICAgICAg
ICBjaGVja0Nvb2tpZXModHJ1ZSwgdHJ1ZSk7Ci0gICAgICAgICAgICAgICAgaWYgKHRlc3RSdW5u
ZXIuaGFzU3RhdGlzdGljc0lzb2xhdGVkU2Vzc2lvbihwcmV2YWxlbnRPcmlnaW4pKQotICAgICAg
ICAgICAgICAgICAgICB0ZXN0RmFpbGVkKCJPcmlnaW4gaGFzIGlzb2xhdGVkIHNlc3Npb24uIik7
Ci0gICAgICAgICAgICAgICAgZWxzZQotICAgICAgICAgICAgICAgICAgICB0ZXN0UGFzc2VkKCJP
cmlnaW4gaGFzIG5vIGlzb2xhdGVkIHNlc3Npb24uIik7Ci0gICAgICAgICAgICAgICAgc2V0RW5h
YmxlRmVhdHVyZShmYWxzZSwgZmluaXNoSlNUZXN0KTsKLSAgICAgICAgICAgICAgICBicmVhazsK
LSAgICAgICAgICAgIGRlZmF1bHQ6Ci0gICAgICAgICAgICAgICAgdGVzdEZhaWxlZCgiVW5rbm93
biBoYXNoLiIpOwotICAgICAgICAgICAgICAgIHNldEVuYWJsZUZlYXR1cmUoZmFsc2UsIGZpbmlz
aEpTVGVzdCk7Ci0gICAgICAgIH0KLSAgICB9Ci08L3NjcmlwdD4KLTwvYm9keT4KLTwvaHRtbD4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGlj
cy9kb250LWNvdW50LXRoaXJkLXBhcnR5LWltYWdlLWFzLXRoaXJkLXBhcnR5LXNjcmlwdC1kYXRh
YmFzZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0
YXRpc3RpY3MvZG9udC1jb3VudC10aGlyZC1wYXJ0eS1pbWFnZS1hcy10aGlyZC1wYXJ0eS1zY3Jp
cHQtZGF0YWJhc2UtZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MjVjMjNmOTIyZjRkNGU3ZTBmMjViYWU3NDViZGRiNDVjY2ZkYjFjLi4wMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVz
b3VyY2VMb2FkU3RhdGlzdGljcy9kb250LWNvdW50LXRoaXJkLXBhcnR5LWltYWdlLWFzLXRoaXJk
LXBhcnR5LXNjcmlwdC1kYXRhYmFzZS1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSwy
NCArMCwwIEBACi1QQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCi0KLVRFU1QgQ09NUExF
VEUKLQotUmVzb3VyY2UgbG9hZCBzdGF0aXN0aWNzOgotCi1SZWdpc3RyYWJsZSBkb21haW46IDEy
Ny4wLjAuMQotICAgIGhhZFVzZXJJbnRlcmFjdGlvbjogTm8KLSAgICBtb3N0UmVjZW50VXNlcklu
dGVyYWN0aW9uOiAtMQotICAgIGdyYW5kZmF0aGVyZWQ6IE5vCi0gICAgSXNTY2hlZHVsZWRGb3JB
bGxCdXRDb29raWVEYXRhUmVtb3ZhbDogTm8KLSAgICBpc1ByZXZhbGVudFJlc291cmNlOiBObwot
ICAgIGlzVmVyeVByZXZhbGVudFJlc291cmNlOiBObwotICAgIGRhdGFSZWNvcmRzUmVtb3ZlZDog
MAotUmVnaXN0cmFibGUgZG9tYWluOiBsb2NhbGhvc3QKLSAgICBoYWRVc2VySW50ZXJhY3Rpb246
IE5vCi0gICAgbW9zdFJlY2VudFVzZXJJbnRlcmFjdGlvbjogLTEKLSAgICBncmFuZGZhdGhlcmVk
OiBObwotICAgIElzU2NoZWR1bGVkRm9yQWxsQnV0Q29va2llRGF0YVJlbW92YWw6IE5vCi0gICAg
U3VicmVzb3VyY2VVbmRlclRvcEZyYW1lRG9tYWluczoKLSAgICAgICAgMTI3LjAuMC4xCi0gICAg
aXNQcmV2YWxlbnRSZXNvdXJjZTogTm8KLSAgICBpc1ZlcnlQcmV2YWxlbnRSZXNvdXJjZTogTm8K
LSAgICBkYXRhUmVjb3Jkc1JlbW92ZWQ6IDAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAv
dGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9kb250LWNvdW50LXRoaXJkLXBhcnR5LWltYWdl
LWFzLXRoaXJkLXBhcnR5LXNjcmlwdC1kYXRhYmFzZS5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90
ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2RvbnQtY291bnQtdGhpcmQtcGFydHktaW1hZ2Ut
YXMtdGhpcmQtcGFydHktc2NyaXB0LWRhdGFiYXNlLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IGJkMTAyOWZhZTVlOTdhZGFjODYwMmQ4MzdkZDBlNGE3Mzc3YTkyZmIuLjAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2RvbnQtY291bnQtdGhpcmQtcGFydHktaW1h
Z2UtYXMtdGhpcmQtcGFydHktc2NyaXB0LWRhdGFiYXNlLmh0bWwKKysrIC9kZXYvbnVsbApAQCAt
MSw0OCArMCwwIEBACi08IURPQ1RZUEUgaHRtbD4KLTxodG1sIGxhbmc9ImVuIj4KLTxoZWFkPgot
ICAgIDxtZXRhIGNoYXJzZXQ9IlVURi04Ij4KLSAgICA8dGl0bGU+VGVzdCBub3QgY291bnRpbmcg
dGhpcmQtcGFydHkgaW1hZ2VzIGFzIHRoaXJkLXBhcnR5IHNjcmlwdCBsb2FkczwvdGl0bGU+Ci0g
ICAgPHNjcmlwdCBzcmM9Ii9qcy10ZXN0LXJlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4K
LSAgICA8c2NyaXB0IHNyYz0icmVzb3VyY2VzL3V0aWwuanMiPjwvc2NyaXB0PgotPC9oZWFkPgot
PGJvZHkgb25sb2FkPSJydW5UZXN0KCkiPgotPHNjcmlwdD4KLSAgICBjb25zdCB0aGlyZFBhcnR5
T3JpZ2luID0gImh0dHA6Ly9sb2NhbGhvc3Q6ODAwMCI7Ci0gICAgY29uc3QgdGhpcmRQYXJ0eUJh
c2VVcmwgPSB0aGlyZFBhcnR5T3JpZ2luICsgIi9yZXNvdXJjZXMiOwotCi0gICAgZnVuY3Rpb24g
ZmluaXNoVGVzdCgpIHsKLSAgICAgICAgdGVzdFJ1bm5lci5kdW1wUmVzb3VyY2VMb2FkU3RhdGlz
dGljcygpOwotICAgICAgICBzZXRFbmFibGVGZWF0dXJlKGZhbHNlLCBmdW5jdGlvbigpIHsKLSAg
ICAgICAgICAgIHRlc3RSdW5uZXIubm90aWZ5RG9uZSgpOwotICAgICAgICB9KTsKLSAgICB9Ci0K
LSAgICBmdW5jdGlvbiBydW5UZXN0KCkgewotICAgICAgICBzd2l0Y2ggKGRvY3VtZW50LmxvY2F0
aW9uLmhhc2gpIHsKLSAgICAgICAgICAgIGNhc2UgIiI6Ci0gICAgICAgICAgICAgICAgaWYgKHdp
bmRvdy50ZXN0UnVubmVyICYmIHdpbmRvdy5pbnRlcm5hbHMpIHsKLSAgICAgICAgICAgICAgICAg
ICAgdGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7Ci0gICAgICAgICAgICAgICAgICAgIHNldEVu
YWJsZUZlYXR1cmUodHJ1ZSwgZnVuY3Rpb24oKSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICB0
ZXN0UnVubmVyLnNldFVzZUlUUERhdGFiYXNlKHRydWUpOwotICAgICAgICAgICAgICAgICAgICAg
ICAgdGVzdFJ1bm5lci5pbnN0YWxsU3RhdGlzdGljc0RpZFNjYW5EYXRhUmVjb3Jkc0NhbGxiYWNr
KGZpbmlzaFRlc3QpOwotICAgICAgICAgICAgICAgICAgICAgICAgZG9jdW1lbnQubG9jYXRpb24u
aGFzaCA9ICJzdGVwMSI7Ci0gICAgICAgICAgICAgICAgICAgICAgICBydW5UZXN0KCk7Ci0gICAg
ICAgICAgICAgICAgICAgIH0pOwotICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICBi
cmVhazsKLSAgICAgICAgICAgIGNhc2UgIiNzdGVwMSI6Ci0gICAgICAgICAgICAgICAgZG9jdW1l
bnQubG9jYXRpb24uaGFzaCA9ICJzdGVwMiI7Ci0gICAgICAgICAgICAgICAgbGV0IGltZ0VsZW1l
bnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJpbWciKTsKLSAgICAgICAgICAgICAgICBpbWdF
bGVtZW50Lm9ubG9hZCA9IHJ1blRlc3Q7Ci0gICAgICAgICAgICAgICAgaW1nRWxlbWVudC5zcmMg
PSB0aGlyZFBhcnR5QmFzZVVybCArICIvc3F1YXJlMjAuanBnP2R1bW15UGFyYW09IiArIE1hdGgu
cmFuZG9tKCk7Ci0gICAgICAgICAgICAgICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChpbWdF
bGVtZW50KTsKLSAgICAgICAgICAgICAgICBicmVhazsKLSAgICAgICAgICAgIGNhc2UgIiNzdGVw
MiI6Ci0gICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5zdGF0aXN0aWNzTm90aWZ5T2JzZXJ2ZXIo
KTsKLSAgICAgICAgICAgICAgICBicmVhazsKLSAgICAgICAgfQotICAgIH0KLTwvc2NyaXB0Pgot
PC9ib2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNv
dXJjZUxvYWRTdGF0aXN0aWNzL2RvbnQtY291bnQtdGhpcmQtcGFydHktaW1hZ2UtYXMtdGhpcmQt
cGFydHktc2NyaXB0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3Vy
Y2VMb2FkU3RhdGlzdGljcy9kb250LWNvdW50LXRoaXJkLXBhcnR5LWltYWdlLWFzLXRoaXJkLXBh
cnR5LXNjcmlwdC1leHBlY3RlZC50eHQKaW5kZXggMDZjNmFlMDZjZjM1ZTM1NWNlZTYwMjI3MTA0
MTk3NDI1ZTk4MTE3Mi4uMDI1YzIzZjkyMmY0ZDRlN2UwZjI1YmFlNzQ1YmRkYjQ1Y2NmZGIxYyAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNz
L2RvbnQtY291bnQtdGhpcmQtcGFydHktaW1hZ2UtYXMtdGhpcmQtcGFydHktc2NyaXB0LWV4cGVj
dGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3Rp
Y3MvZG9udC1jb3VudC10aGlyZC1wYXJ0eS1pbWFnZS1hcy10aGlyZC1wYXJ0eS1zY3JpcHQtZXhw
ZWN0ZWQudHh0CkBAIC00LDE1ICs0LDIxIEBAIFRFU1QgQ09NUExFVEUKIAogUmVzb3VyY2UgbG9h
ZCBzdGF0aXN0aWNzOgogCitSZWdpc3RyYWJsZSBkb21haW46IDEyNy4wLjAuMQorICAgIGhhZFVz
ZXJJbnRlcmFjdGlvbjogTm8KKyAgICBtb3N0UmVjZW50VXNlckludGVyYWN0aW9uOiAtMQorICAg
IGdyYW5kZmF0aGVyZWQ6IE5vCisgICAgSXNTY2hlZHVsZWRGb3JBbGxCdXRDb29raWVEYXRhUmVt
b3ZhbDogTm8KKyAgICBpc1ByZXZhbGVudFJlc291cmNlOiBObworICAgIGlzVmVyeVByZXZhbGVu
dFJlc291cmNlOiBObworICAgIGRhdGFSZWNvcmRzUmVtb3ZlZDogMAogUmVnaXN0cmFibGUgZG9t
YWluOiBsb2NhbGhvc3QKICAgICBoYWRVc2VySW50ZXJhY3Rpb246IE5vCiAgICAgbW9zdFJlY2Vu
dFVzZXJJbnRlcmFjdGlvbjogLTEKICAgICBncmFuZGZhdGhlcmVkOiBObwotICAgIGdvdExpbmtE
ZWNvcmF0aW9uRnJvbVByZXZhbGVudFJlc291cmNlOiBObwotICAgIHN1YnJlc291cmNlVW5kZXJU
b3BGcmFtZURvbWFpbnM6CisgICAgSXNTY2hlZHVsZWRGb3JBbGxCdXRDb29raWVEYXRhUmVtb3Zh
bDogTm8KKyAgICBTdWJyZXNvdXJjZVVuZGVyVG9wRnJhbWVEb21haW5zOgogICAgICAgICAxMjcu
MC4wLjEKICAgICBpc1ByZXZhbGVudFJlc291cmNlOiBObwogICAgIGlzVmVyeVByZXZhbGVudFJl
c291cmNlOiBObwogICAgIGRhdGFSZWNvcmRzUmVtb3ZlZDogMAotICAgIGNhbnZhc1JlYWREYXRh
OiBObwotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0
YXRpc3RpY3MvZG93bmdyYWRlLWRvY3VtZW50LXJlZmVycmVyLW5lc3RlZC10aGlyZC1wYXJ0eS1p
ZnJhbWUuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGlj
cy9kb3duZ3JhZGUtZG9jdW1lbnQtcmVmZXJyZXItbmVzdGVkLXRoaXJkLXBhcnR5LWlmcmFtZS5o
dG1sCmluZGV4IDRlMWUyM2EwZjNlODk3ZjlmZDg5OWExYjNlODI1YzZhNGU3Y2RjYWMuLjkyOTEy
MjIwNGI3ZWUxOGQxOTI2OWJmZDJkOGJmOTQ4Njg4Y2RiNmMgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9kb3duZ3JhZGUtZG9jdW1lbnQt
cmVmZXJyZXItbmVzdGVkLXRoaXJkLXBhcnR5LWlmcmFtZS5odG1sCisrKyBiL0xheW91dFRlc3Rz
L2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9kb3duZ3JhZGUtZG9jdW1lbnQtcmVm
ZXJyZXItbmVzdGVkLXRoaXJkLXBhcnR5LWlmcmFtZS5odG1sCkBAIC0yNCw3ICsyNCw2IEBACiAK
ICAgICBmdW5jdGlvbiBydW5UZXN0KCkgewogICAgICAgICBpZiAodGVzdFJ1bm5lcikgewotICAg
ICAgICAgICAgdGVzdFJ1bm5lci5zZXRVc2VJVFBEYXRhYmFzZSh0cnVlKTsKICAgICAgICAgICAg
IHNldEVuYWJsZUZlYXR1cmUodHJ1ZSwgZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgICAgbGV0
IGlmcmFtZUVsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJpZnJhbWUiKTsKICAgICAg
ICAgICAgICAgICBpZnJhbWVFbGVtZW50LnNyYyA9ICJodHRwOi8vMTI3LjAuMC4xOjgwMDAvcmVz
b3VyY2VMb2FkU3RhdGlzdGljcy9yZXNvdXJjZXMvbmVzdC1pZnJhbWUtcmVwb3J0LWRvY3VtZW50
LXJlZmVycmVyLmh0bWwiOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNv
dXJjZUxvYWRTdGF0aXN0aWNzL2Rvd25ncmFkZS1kb2N1bWVudC1yZWZlcnJlci10aGlyZC1wYXJ0
eS1pZnJhbWUuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlz
dGljcy9kb3duZ3JhZGUtZG9jdW1lbnQtcmVmZXJyZXItdGhpcmQtcGFydHktaWZyYW1lLmh0bWwK
aW5kZXggODY0ZDExZmNkYzlmMmU4ODFhOWY1NDAxOTJiNzQ4NjdmY2ZlYjA0OC4uZDE0MTk0NzEz
YjIxM2EzNGZlYjEwZDNkZGVmOGVkYmFiNTBlNzNjNiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
aHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2Rvd25ncmFkZS1kb2N1bWVudC1yZWZl
cnJlci10aGlyZC1wYXJ0eS1pZnJhbWUuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvZG93bmdyYWRlLWRvY3VtZW50LXJlZmVycmVyLXRoaXJk
LXBhcnR5LWlmcmFtZS5odG1sCkBAIC0yNCw3ICsyNCw2IEBACiAKICAgICBmdW5jdGlvbiBydW5U
ZXN0KCkgewogICAgICAgICBpZiAodGVzdFJ1bm5lcikgewotICAgICAgICAgICAgdGVzdFJ1bm5l
ci5zZXRVc2VJVFBEYXRhYmFzZSh0cnVlKTsKICAgICAgICAgICAgIHNldEVuYWJsZUZlYXR1cmUo
dHJ1ZSwgZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgICAgbGV0IGlmcmFtZUVsZW1lbnQgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KCJpZnJhbWUiKTsKICAgICAgICAgICAgICAgICBpZnJhbWVF
bGVtZW50LnNyYyA9ICJodHRwOi8vbG9jYWxob3N0OjgwMDAvcmVzb3VyY2VMb2FkU3RhdGlzdGlj
cy9yZXNvdXJjZXMvcmVwb3J0LWRvY3VtZW50LXJlZmVycmVyLmh0bWwiOwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2Rvd25ncmFkZWQt
cmVmZXJyZXItZm9yLW5hdmlnYXRpb24td2l0aC1saW5rLXF1ZXJ5LWZyb20tcHJldmFsZW50LXJl
c291cmNlLWRhdGFiYXNlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVz
b3VyY2VMb2FkU3RhdGlzdGljcy9kb3duZ3JhZGVkLXJlZmVycmVyLWZvci1uYXZpZ2F0aW9uLXdp
dGgtbGluay1xdWVyeS1mcm9tLXByZXZhbGVudC1yZXNvdXJjZS1kYXRhYmFzZS1leHBlY3RlZC50
eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDBmYmE4MTAzNWUyZmVjYmExMzk0ZDAx
ZGYyZTliZTIwNjk1ZTg1YTUuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2Rv
d25ncmFkZWQtcmVmZXJyZXItZm9yLW5hdmlnYXRpb24td2l0aC1saW5rLXF1ZXJ5LWZyb20tcHJl
dmFsZW50LXJlc291cmNlLWRhdGFiYXNlLWV4cGVjdGVkLnR4dAorKysgL2Rldi9udWxsCkBAIC0x
LDEwICswLDAgQEAKLUNoZWNrIHRoYXQgZG9jdW1lbnQucmVmZXJyZXIgaXMgZG93bmdyYWRlZCB0
byB0aGUgZVRMRCsxIGFmdGVyIGEgY3Jvc3Mtc2l0ZSBuYXZpZ2F0aW9uIHdpdGggbGluayBxdWVy
eS4KLQotT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdl
cywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgotCi0KLVBBU1MgVGhlIHJlZmVycmVyIGlz
IGRvd25ncmFkZWQuCi1QQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCi0KLVRFU1QgQ09N
UExFVEUKLQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRT
dGF0aXN0aWNzL2Rvd25ncmFkZWQtcmVmZXJyZXItZm9yLW5hdmlnYXRpb24td2l0aC1saW5rLXF1
ZXJ5LWZyb20tcHJldmFsZW50LXJlc291cmNlLWRhdGFiYXNlLmh0bWwgYi9MYXlvdXRUZXN0cy9o
dHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvZG93bmdyYWRlZC1yZWZlcnJlci1mb3It
bmF2aWdhdGlvbi13aXRoLWxpbmstcXVlcnktZnJvbS1wcmV2YWxlbnQtcmVzb3VyY2UtZGF0YWJh
c2UuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYjM2MDIwYjJlMDFhNWIxZjY2
ZTM1ZGFiYmQ4MDE0YmNiOGMyZWUzZC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3Rp
Y3MvZG93bmdyYWRlZC1yZWZlcnJlci1mb3ItbmF2aWdhdGlvbi13aXRoLWxpbmstcXVlcnktZnJv
bS1wcmV2YWxlbnQtcmVzb3VyY2UtZGF0YWJhc2UuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDU0
ICswLDAgQEAKLTwhRE9DVFlQRSBodG1sPgotPGh0bWw+Ci08aGVhZD4KLSAgICA8c2NyaXB0IHNy
Yz0iL2pzLXRlc3QtcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgotICAgIDxzY3JpcHQg
c3JjPSIvY29va2llcy9yZXNvdXJjZXMvY29va2llLXV0aWxpdGllcy5qcyI+PC9zY3JpcHQ+Ci0g
ICAgPHNjcmlwdCBzcmM9InJlc291cmNlcy91dGlsLmpzIj48L3NjcmlwdD4KLTwvaGVhZD4KLTxi
b2R5IG9ubG9hZD0ic2V0VGltZW91dCgncnVuVGVzdCgpJywgMCkiPgotPHNjcmlwdD4KLSAgICBk
ZXNjcmlwdGlvbigiQ2hlY2sgdGhhdCBkb2N1bWVudC5yZWZlcnJlciBpcyBkb3duZ3JhZGVkIHRv
IHRoZSBlVExEKzEgYWZ0ZXIgYSBjcm9zcy1zaXRlIG5hdmlnYXRpb24gd2l0aCBsaW5rIHF1ZXJ5
LiIpOwotICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOwotCi0gICAgbGV0IG51bWJlck9mVHJpZXMg
PSAwOwotICAgIGZ1bmN0aW9uIHRlc3RSZWZlcnJlcigpIHsKLSAgICAgICAgaWYgKGRvY3VtZW50
LnJlZmVycmVyID09PSBwcmV2YWxlbnRSZXNvdXJjZU9yaWdpbiArICIvIikgewotICAgICAgICAg
ICAgdGVzdFBhc3NlZCgiVGhlIHJlZmVycmVyIGlzIGRvd25ncmFkZWQuIik7Ci0gICAgICAgICAg
ICBzZXRFbmFibGVGZWF0dXJlKGZhbHNlLCBmaW5pc2hKU1Rlc3QpOwotICAgICAgICB9IGVsc2Ug
aWYgKCsrbnVtYmVyT2ZUcmllcyA8PSA1KQotICAgICAgICAgICAgc2V0VGltZW91dCh0ZXN0UmVm
ZXJyZXIsIDIwMCk7Ci0gICAgICAgIGVsc2UgewotICAgICAgICAgICAgdGVzdEZhaWxlZCgiVGhl
IHJlZmVycmVyIGlzIG5vdCBkb3duZ3JhZGVkOiAiICsgZG9jdW1lbnQucmVmZXJyZXIpOwotICAg
ICAgICAgICAgc2V0RW5hYmxlRmVhdHVyZShmYWxzZSwgZmluaXNoSlNUZXN0KTsKLSAgICAgICAg
fQotICAgIH0KLQotICAgIGZ1bmN0aW9uIG5hdmlnYXRlU2FtZU9yaWdpblRvQWRkUXVlcnkoKSB7
Ci0gICAgICAgIGRvY3VtZW50LmxvY2F0aW9uLmhyZWYgPSBwcmV2YWxlbnRSZXNvdXJjZU9yaWdp
biArICIvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9kb3duZ3JhZGVkLXJlZmVycmVyLWZvci1uYXZp
Z2F0aW9uLXdpdGgtbGluay1xdWVyeS1mcm9tLXByZXZhbGVudC1yZXNvdXJjZS1kYXRhYmFzZS5o
dG1sP2xpbms9cXVlcnkiOwotICAgIH0KLQotICAgIGZ1bmN0aW9uIG5hdmlnYXRlQ3Jvc3NPcmln
aW4oKSB7Ci0gICAgICAgIGRvY3VtZW50LmxvY2F0aW9uLmhyZWYgPSBkZXN0aW5hdGlvbk9yaWdp
biArICIvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9kb3duZ3JhZGVkLXJlZmVycmVyLWZvci1uYXZp
Z2F0aW9uLXdpdGgtbGluay1xdWVyeS1mcm9tLXByZXZhbGVudC1yZXNvdXJjZS1kYXRhYmFzZS5o
dG1sIjsKLSAgICB9Ci0KLSAgICBjb25zdCBkZXN0aW5hdGlvbk9yaWdpbiA9ICJodHRwOi8vbG9j
YWxob3N0OjgwMDAiOwotICAgIGNvbnN0IHByZXZhbGVudFJlc291cmNlT3JpZ2luID0gImh0dHA6
Ly8xMjcuMC4wLjE6ODAwMCI7Ci0gICAgZnVuY3Rpb24gcnVuVGVzdCgpIHsKLSAgICAgICAgaWYg
KGRvY3VtZW50LmxvY2F0aW9uLm9yaWdpbiA9PT0gcHJldmFsZW50UmVzb3VyY2VPcmlnaW4gJiYg
ZG9jdW1lbnQubG9jYXRpb24uc2VhcmNoID09PSAiIikgewotICAgICAgICAgICAgbmF2aWdhdGVT
YW1lT3JpZ2luVG9BZGRRdWVyeSgpOwotICAgICAgICB9IGVsc2UgaWYgKGRvY3VtZW50LmxvY2F0
aW9uLm9yaWdpbiA9PT0gcHJldmFsZW50UmVzb3VyY2VPcmlnaW4pIHsKLSAgICAgICAgICAgIHRl
c3RSdW5uZXIuc2V0VXNlSVRQRGF0YWJhc2UodHJ1ZSk7Ci0gICAgICAgICAgICBzZXRFbmFibGVG
ZWF0dXJlKHRydWUsIGZ1bmN0aW9uICgpIHsKLSAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLnNl
dFN0YXRpc3RpY3NQcmV2YWxlbnRSZXNvdXJjZShwcmV2YWxlbnRSZXNvdXJjZU9yaWdpbiwgdHJ1
ZSwgZnVuY3Rpb24oKSB7Ci0gICAgICAgICAgICAgICAgICAgIGlmICghdGVzdFJ1bm5lci5pc1N0
YXRpc3RpY3NQcmV2YWxlbnRSZXNvdXJjZShwcmV2YWxlbnRSZXNvdXJjZU9yaWdpbikpCi0gICAg
ICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKCJIb3N0IGRpZCBub3QgZ2V0IHNldCBhcyBw
cmV2YWxlbnQgcmVzb3VyY2UuIik7Ci0gICAgICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIuc3Rh
dGlzdGljc1VwZGF0ZUNvb2tpZUJsb2NraW5nKG5hdmlnYXRlQ3Jvc3NPcmlnaW4pOwotICAgICAg
ICAgICAgICAgIH0pOwotICAgICAgICAgICAgfSk7Ci0gICAgICAgIH0gZWxzZSB7Ci0gICAgICAg
ICAgICB0ZXN0UmVmZXJyZXIoKTsKLSAgICAgICAgfQotICAgIH0KLTwvc2NyaXB0PgotPC9ib2R5
PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxv
YWRTdGF0aXN0aWNzL2VuYWJsZS1kZWJ1Zy1tb2RlLWRhdGFiYXNlLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9lbmFibGUtZGVidWct
bW9kZS1kYXRhYmFzZS1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDY1MjE5ZGQzYjExZjJhMzRjNDU3NTM0MGU3MzhkYWRjZmEwY2NmY2MuLjAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9y
ZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2VuYWJsZS1kZWJ1Zy1tb2RlLWRhdGFiYXNlLWV4cGVjdGVk
LnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDEwICswLDAgQEAKLVRlc3QgZm9yIGVuYWJsaW5nIGRl
YnVnIG1vZGUgYW5kIHRoYXQgaXQgcGVybWFuZW50bHkgdHJlYXRzIDNyZHBhcnR5dGVzdHdlYmtp
dC5vcmcgYXMgYSBwcmV2YWxlbnQgcmVzb3VyY2UuCi0KLU9uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNl
ZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRF
Ii4KLQotCi1QQVNTIGh0dHA6Ly8zcmRwYXJ0eXRlc3R3ZWJraXQub3JnIGdvdCBzZXQgYXMgcHJl
dmFsZW50IHJlc291cmNlIGluIGRlYnVnIG1vZGUuCi1QQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBp
cyB0cnVlCi0KLVRFU1QgQ09NUExFVEUKLQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90
ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2VuYWJsZS1kZWJ1Zy1tb2RlLWRhdGFiYXNlLmh0
bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvZW5hYmxl
LWRlYnVnLW1vZGUtZGF0YWJhc2UuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
NjM3ZmY5MjI1NjdmOWE0NzI4MjczZGZhNDczMjYzN2E0ODVjYjlmNS4uMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jl
c291cmNlTG9hZFN0YXRpc3RpY3MvZW5hYmxlLWRlYnVnLW1vZGUtZGF0YWJhc2UuaHRtbAorKysg
L2Rldi9udWxsCkBAIC0xLDM0ICswLDAgQEAKLTwhRE9DVFlQRSBodG1sPgotPGh0bWwgbGFuZz0i
ZW4iPgotPGhlYWQ+Ci0gICAgPG1ldGEgY2hhcnNldD0iVVRGLTgiPgotICAgIDxzY3JpcHQgc3Jj
PSIvanMtdGVzdC1yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+Ci0gICAgPHNjcmlwdCBz
cmM9InJlc291cmNlcy91dGlsLmpzIj48L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5PgotPHNjcmlw
dD4KLSAgICBkZXNjcmlwdGlvbigiVGVzdCBmb3IgZW5hYmxpbmcgZGVidWcgbW9kZSBhbmQgdGhh
dCBpdCBwZXJtYW5lbnRseSB0cmVhdHMgM3JkcGFydHl0ZXN0d2Via2l0Lm9yZyBhcyBhIHByZXZh
bGVudCByZXNvdXJjZS4iKTsKLSAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKLQotICAgIGNvbnN0
IHRoaXJkUGFydHlPcmlnaW4gPSAiaHR0cDovLzNyZHBhcnR5dGVzdHdlYmtpdC5vcmciOwotCi0g
ICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyICYmIHdpbmRvdy5pbnRlcm5hbHMpIHsKLSAgICAgICAg
dGVzdFJ1bm5lci5zZXRVc2VJVFBEYXRhYmFzZSh0cnVlKTsKLSAgICAgICAgc2V0RW5hYmxlRmVh
dHVyZSh0cnVlLCBmdW5jdGlvbigpIHsKLSAgICAgICAgICAgIGlmICh0ZXN0UnVubmVyLmlzU3Rh
dGlzdGljc1ByZXZhbGVudFJlc291cmNlKHRoaXJkUGFydHlPcmlnaW4pKQotICAgICAgICAgICAg
ICAgIHRlc3RGYWlsZWQodGhpcmRQYXJ0eU9yaWdpbiArICIgYWxyZWFkeSBzZXQgYXMgcHJldmFs
ZW50IHJlc291cmNlLiIpOwotCi0gICAgICAgICAgICB0ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NE
ZWJ1Z01vZGUodHJ1ZSwgZnVuY3Rpb24oKSB7Ci0gICAgICAgICAgICAgICAgaWYgKCF0ZXN0UnVu
bmVyLmlzU3RhdGlzdGljc1ByZXZhbGVudFJlc291cmNlKHRoaXJkUGFydHlPcmlnaW4pKQotICAg
ICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKHRoaXJkUGFydHlPcmlnaW4gKyAiIGRpZG4ndCBn
ZXQgc2V0IGFzIHByZXZhbGVudCByZXNvdXJjZS4iKTsKLSAgICAgICAgICAgICAgICBlbHNlCi0g
ICAgICAgICAgICAgICAgICAgIHRlc3RQYXNzZWQodGhpcmRQYXJ0eU9yaWdpbiArICIgZ290IHNl
dCBhcyBwcmV2YWxlbnQgcmVzb3VyY2UgaW4gZGVidWcgbW9kZS4iKTsKLSAgICAgICAgICAgICAg
ICB0ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NEZWJ1Z01vZGUoZmFsc2UsIGZ1bmN0aW9uKCkgewot
ICAgICAgICAgICAgICAgICAgICBzZXRFbmFibGVGZWF0dXJlKGZhbHNlLCBmaW5pc2hKU1Rlc3Qp
OwotICAgICAgICAgICAgICAgIH0pOwotICAgICAgICAgICAgfSk7Ci0gICAgICAgIH0pOwotICAg
IH0KLTwvc2NyaXB0PgotPC9ib2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2VuZm9yY2Utc2FtZXNpdGUtc3RyaWN0
LWJhc2VkLW9uLXRvcC1mcmFtZS11bmlxdWUtcmVkaXJlY3RzLXRvLWRhdGFiYXNlLWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9lbmZv
cmNlLXNhbWVzaXRlLXN0cmljdC1iYXNlZC1vbi10b3AtZnJhbWUtdW5pcXVlLXJlZGlyZWN0cy10
by1kYXRhYmFzZS1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGEw
MGIxODUzYWQzNTE3MzM2Yjg3YzdjNDMwM2YwMjdlNDAyN2FlZDcuLjAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNv
dXJjZUxvYWRTdGF0aXN0aWNzL2VuZm9yY2Utc2FtZXNpdGUtc3RyaWN0LWJhc2VkLW9uLXRvcC1m
cmFtZS11bmlxdWUtcmVkaXJlY3RzLXRvLWRhdGFiYXNlLWV4cGVjdGVkLnR4dAorKysgL2Rldi9u
dWxsCkBAIC0xLDEyICswLDAgQEAKLVRlc3RzIGZvciBTYW1lU2l0ZT1zdHJpY3QgZW5mb3JjZW1l
bnQgYmFzZWQgb24gdG9wIGZyYW1lIHVuaXF1ZSByZWRpcmVjdHMgdG8uCi0KLU9uIHN1Y2Nlc3Ms
IHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJU
RVNUIENPTVBMRVRFIi4KLQotCi1QQVNTIENvb2tpZSB3YXMgbm90IFNhbWVTaXRlPXN0cmljdCBi
ZWZvcmUgdGVzdC4KLVBBU1MgQ29va2llIHdhcyBTYW1lU2l0ZT1zdHJpY3QgYWZ0ZXIgZmlyc3Qg
dGVzdC4KLVBBU1MgQ29va2llIHdhcyBub3QgU2FtZVNpdGU9c3RyaWN0IGFmdGVyIHNlY29uZCB0
ZXN0LgotUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQotCi1URVNUIENPTVBMRVRFCi0K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGlj
cy9lbmZvcmNlLXNhbWVzaXRlLXN0cmljdC1iYXNlZC1vbi10b3AtZnJhbWUtdW5pcXVlLXJlZGly
ZWN0cy10by1kYXRhYmFzZS5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxv
YWRTdGF0aXN0aWNzL2VuZm9yY2Utc2FtZXNpdGUtc3RyaWN0LWJhc2VkLW9uLXRvcC1mcmFtZS11
bmlxdWUtcmVkaXJlY3RzLXRvLWRhdGFiYXNlLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IGQwYTMzMjMyMDdkZTk5YTY0MGE0MDA5ZGI1MDA3MDljZjk3NDY3MjUuLjAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90
ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2VuZm9yY2Utc2FtZXNpdGUtc3RyaWN0LWJhc2Vk
LW9uLXRvcC1mcmFtZS11bmlxdWUtcmVkaXJlY3RzLXRvLWRhdGFiYXNlLmh0bWwKKysrIC9kZXYv
bnVsbApAQCAtMSw5OCArMCwwIEBACi08IURPQ1RZUEUgaHRtbD4KLTxodG1sIGxhbmc9ImVuIj4K
LTxoZWFkPgotICAgIDxtZXRhIGNoYXJzZXQ9IlVURi04Ij4KLSAgICA8c2NyaXB0IHNyYz0iL2pz
LXRlc3QtcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgotICAgIDxzY3JpcHQgc3JjPSJy
ZXNvdXJjZXMvdXRpbC5qcyI+PC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keT4KLTxzY3JpcHQ+Ci0g
ICAgZGVzY3JpcHRpb24oIlRlc3RzIGZvciBTYW1lU2l0ZT1zdHJpY3QgZW5mb3JjZW1lbnQgYmFz
ZWQgb24gdG9wIGZyYW1lIHVuaXF1ZSByZWRpcmVjdHMgdG8uIik7Ci0gICAganNUZXN0SXNBc3lu
YyA9IHRydWU7Ci0KLSAgICBjb25zdCBob3N0VW5kZXJUZXN0ID0gIjEyNy4wLjAuMTo4MDAwIjsK
LSAgICBjb25zdCBzdGF0aXN0aWNzVXJsID0gImh0dHA6Ly8iICsgaG9zdFVuZGVyVGVzdCArICIv
dGVtcCI7Ci0gICAgZnVuY3Rpb24gc2V0TXVsdGlwbGVUb3BGcmFtZVVuaXF1ZVJlZGlyZWN0VG8o
cmVkaXJlY3RpbmdQYXJ0eSkgewotICAgICAgICB0ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NUb3BG
cmFtZVVuaXF1ZVJlZGlyZWN0VG8ocmVkaXJlY3RpbmdQYXJ0eSwgImh0dHA6Ly8xMjcuMC4wLjI6
ODAwMC90ZW1wIik7Ci0gICAgICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc1RvcEZyYW1lVW5p
cXVlUmVkaXJlY3RUbyhyZWRpcmVjdGluZ1BhcnR5LCAiaHR0cDovLzEyNy4wLjAuMzo4MDAwL3Rl
bXAiKTsKLSAgICAgICAgdGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNzVG9wRnJhbWVVbmlxdWVSZWRp
cmVjdFRvKHJlZGlyZWN0aW5nUGFydHksICJodHRwOi8vMTI3LjAuMC40OjgwMDAvdGVtcCIpOwot
ICAgICAgICB0ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NUb3BGcmFtZVVuaXF1ZVJlZGlyZWN0VG8o
cmVkaXJlY3RpbmdQYXJ0eSwgImh0dHA6Ly8xMjcuMC4wLjU6ODAwMC90ZW1wIik7Ci0gICAgICAg
IHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc1RvcEZyYW1lVW5pcXVlUmVkaXJlY3RUbyhyZWRpcmVj
dGluZ1BhcnR5LCAiaHR0cDovLzEyNy4wLjAuNjo4MDAwL3RlbXAiKTsKLSAgICAgICAgdGVzdFJ1
bm5lci5zZXRTdGF0aXN0aWNzVG9wRnJhbWVVbmlxdWVSZWRpcmVjdFRvKHJlZGlyZWN0aW5nUGFy
dHksICJodHRwOi8vMTI3LjAuMC43OjgwMDAvdGVtcCIpOwotICAgICAgICB0ZXN0UnVubmVyLnNl
dFN0YXRpc3RpY3NUb3BGcmFtZVVuaXF1ZVJlZGlyZWN0VG8ocmVkaXJlY3RpbmdQYXJ0eSwgImh0
dHA6Ly8xMjcuMC4wLjg6ODAwMC90ZW1wIik7Ci0gICAgICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlz
dGljc1RvcEZyYW1lVW5pcXVlUmVkaXJlY3RUbyhyZWRpcmVjdGluZ1BhcnR5LCAiaHR0cDovLzEy
Ny4wLjAuOTo4MDAwL3RlbXAiKTsKLSAgICAgICAgdGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNzVG9w
RnJhbWVVbmlxdWVSZWRpcmVjdFRvKHJlZGlyZWN0aW5nUGFydHksICJodHRwOi8vMTI3LjAuMC4x
MDo4MDAwL3RlbXAiKTsKLSAgICAgICAgdGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNzVG9wRnJhbWVV
bmlxdWVSZWRpcmVjdFRvKHJlZGlyZWN0aW5nUGFydHksICJodHRwOi8vMTI3LjAuMC4xMTo4MDAw
L3RlbXAiKTsKLSAgICAgICAgdGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNzVG9wRnJhbWVVbmlxdWVS
ZWRpcmVjdFRvKHJlZGlyZWN0aW5nUGFydHksICJodHRwOi8vMTI3LjAuMC4xMjo4MDAwL3RlbXAi
KTsKLSAgICB9Ci0KLSAgICBmdW5jdGlvbiBjb21wbGV0ZVRlc3QoKSB7Ci0gICAgICAgIGxldCBj
b29raWVzID0gaW50ZXJuYWxzLmdldENvb2tpZXMoKTsKLSAgICAgICAgaWYgKGNvb2tpZXMubGVu
Z3RoICE9PSAxKSB7Ci0gICAgICAgICAgICB0ZXN0RmFpbGVkKCJTaG91bGQgaGF2ZSBleGFjdGx5
IG9uZSBjb29raWUgYmVmb3JlIHRlc3QgYnV0IGZvdW5kICIgKyBjb29raWVzLmxlbmd0aCArICIg
Y29va2llcy4iKTsKLSAgICAgICAgICAgIHNldEVuYWJsZUZlYXR1cmUoZmFsc2UsIGZpbmlzaEpT
VGVzdCk7Ci0gICAgICAgICAgICByZXR1cm47Ci0gICAgICAgIH0KLQotICAgICAgICBpZiAoY29v
a2llc1swXS5pc1NhbWVTaXRlU3RyaWN0KQotICAgICAgICAgICAgdGVzdEZhaWxlZCgiQ29va2ll
IHdhcyBTYW1lU2l0ZT1zdHJpY3QgYWZ0ZXIgc2Vjb25kIHRlc3QuIik7Ci0gICAgICAgIGVsc2UK
LSAgICAgICAgICAgIHRlc3RQYXNzZWQoIkNvb2tpZSB3YXMgbm90IFNhbWVTaXRlPXN0cmljdCBh
ZnRlciBzZWNvbmQgdGVzdC4iKTsKLQotICAgICAgICBzZXRFbmFibGVGZWF0dXJlKGZhbHNlLCBm
aW5pc2hKU1Rlc3QpOwotICAgIH0KLQotICAgIGZ1bmN0aW9uIHNlY29uZFN0ZXAoKSB7Ci0gICAg
ICAgIGxldCBjb29raWVzID0gaW50ZXJuYWxzLmdldENvb2tpZXMoKTsKLSAgICAgICAgaWYgKGNv
b2tpZXMubGVuZ3RoICE9PSAxKSB7Ci0gICAgICAgICAgICB0ZXN0RmFpbGVkKCJTaG91bGQgaGF2
ZSBleGFjdGx5IG9uZSBjb29raWUgYmVmb3JlIHRlc3QgYnV0IGZvdW5kICIgKyBjb29raWVzLmxl
bmd0aCArICIgY29va2llcy4iKTsKLSAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOwotICAgICAg
ICAgICAgcmV0dXJuOwotICAgICAgICB9Ci0KLSAgICAgICAgaWYgKGNvb2tpZXNbMF0uaXNTYW1l
U2l0ZVN0cmljdCkKLSAgICAgICAgICAgIHRlc3RQYXNzZWQoIkNvb2tpZSB3YXMgU2FtZVNpdGU9
c3RyaWN0IGFmdGVyIGZpcnN0IHRlc3QuIik7Ci0gICAgICAgIGVsc2UKLSAgICAgICAgICAgIHRl
c3RGYWlsZWQoIkNvb2tpZSB3YXMgbm90IFNhbWVTaXRlPXN0cmljdCBhZnRlciBmaXJzdCB0ZXN0
LiIpOwotCi0gICAgICAgIC8vIFNldCB0aGUgY29va2llIGFnYWluIHRvIHJlc2V0IGl0cyBTYW1l
U2l0ZSBzdGF0dXMuCi0gICAgICAgIGRvY3VtZW50LmNvb2tpZSA9ICJjbGllbnRTaWRlQ29va2ll
PTEiOwotCi0gICAgICAgIHRlc3RSdW5uZXIuaW5zdGFsbFN0YXRpc3RpY3NEaWRTY2FuRGF0YVJl
Y29yZHNDYWxsYmFjayhjb21wbGV0ZVRlc3QpOwotCi0gICAgICAgIHRlc3RSdW5uZXIuc3RhdGlz
dGljc1Byb2Nlc3NTdGF0aXN0aWNzQW5kRGF0YVJlY29yZHMoKTsKLSAgICB9Ci0KLSAgICBmdW5j
dGlvbiBydW5UZXN0KCkgewotICAgICAgICBkb2N1bWVudC5jb29raWUgPSAiY2xpZW50U2lkZUNv
b2tpZT0xIjsKLQotICAgICAgICB0ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NIYXNIYWRVc2VySW50
ZXJhY3Rpb24oc3RhdGlzdGljc1VybCwgdHJ1ZSk7Ci0KLSAgICAgICAgbGV0IGNvb2tpZXMgPSBp
bnRlcm5hbHMuZ2V0Q29va2llcygpOwotICAgICAgICBpZiAoY29va2llcy5sZW5ndGggIT09IDEp
IHsKLSAgICAgICAgICAgIHRlc3RGYWlsZWQoIlNob3VsZCBoYXZlIGV4YWN0bHkgb25lIGNvb2tp
ZSBiZWZvcmUgdGVzdCBidXQgZm91bmQgIiArIGNvb2tpZXMubGVuZ3RoICsgIiBjb29raWVzLiIp
OwotICAgICAgICAgICAgc2V0RW5hYmxlRmVhdHVyZShmYWxzZSwgZmluaXNoSlNUZXN0KTsKLSAg
ICAgICAgICAgIHJldHVybjsKLSAgICAgICAgfQotCi0gICAgICAgIGlmIChjb29raWVzWzBdLmlz
U2FtZVNpdGVTdHJpY3QpCi0gICAgICAgICAgICB0ZXN0RmFpbGVkKCJDb29raWUgd2FzIFNhbWVT
aXRlPXN0cmljdCBiZWZvcmUgdGVzdC4iKTsKLSAgICAgICAgZWxzZQotICAgICAgICAgICAgdGVz
dFBhc3NlZCgiQ29va2llIHdhcyBub3QgU2FtZVNpdGU9c3RyaWN0IGJlZm9yZSB0ZXN0LiIpOwot
Ci0gICAgICAgIHNldE11bHRpcGxlVG9wRnJhbWVVbmlxdWVSZWRpcmVjdFRvKHN0YXRpc3RpY3NV
cmwpOwotCi0gICAgICAgIHRlc3RSdW5uZXIuaW5zdGFsbFN0YXRpc3RpY3NEaWRTY2FuRGF0YVJl
Y29yZHNDYWxsYmFjayhzZWNvbmRTdGVwKTsKLQotICAgICAgICB0ZXN0UnVubmVyLnN0YXRpc3Rp
Y3NQcm9jZXNzU3RhdGlzdGljc0FuZERhdGFSZWNvcmRzKCk7Ci0gICAgfQotCi0gICAgaWYgKGRv
Y3VtZW50LmxvY2F0aW9uLmhvc3QgPT09IGhvc3RVbmRlclRlc3QgJiYgd2luZG93LnRlc3RSdW5u
ZXIgJiYgd2luZG93LmludGVybmFscykgewotICAgICAgICB0ZXN0UnVubmVyLnNldFVzZUlUUERh
dGFiYXNlKHRydWUpOwotICAgICAgICBzZXRFbmFibGVGZWF0dXJlKHRydWUsIGZ1bmN0aW9uKCkg
ewotICAgICAgICAgICAgcnVuVGVzdCgpOwotICAgICAgICB9KTsKLSAgICB9Ci08L3NjcmlwdD4K
LTwvYm9keT4KLTwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVz
b3VyY2VMb2FkU3RhdGlzdGljcy9leGVtcHREb21haW5zL2FwcC1ib3VuZC1kb21haW5zLWV4ZW1w
dC1mcm9tLXdlYnNpdGUtZGF0YS1kZWxldGlvbi1kYXRhYmFzZS5odG1sIGIvTGF5b3V0VGVzdHMv
aHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2V4ZW1wdERvbWFpbnMvYXBwLWJvdW5k
LWRvbWFpbnMtZXhlbXB0LWZyb20td2Vic2l0ZS1kYXRhLWRlbGV0aW9uLWRhdGFiYXNlLmh0bWwK
aW5kZXggZTRlNjcxYjBiODMzYTBlNWJhMmRhNjgwOTRiM2NmMDUzZWQyMDFjNC4uYTkwNDc5NWVh
ZDZhOTY1MTNmNjIzMTUzYjM1ZmI2ODUzMjZmYjcxMyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
aHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2V4ZW1wdERvbWFpbnMvYXBwLWJvdW5k
LWRvbWFpbnMtZXhlbXB0LWZyb20td2Vic2l0ZS1kYXRhLWRlbGV0aW9uLWRhdGFiYXNlLmh0bWwK
KysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2V4ZW1w
dERvbWFpbnMvYXBwLWJvdW5kLWRvbWFpbnMtZXhlbXB0LWZyb20td2Vic2l0ZS1kYXRhLWRlbGV0
aW9uLWRhdGFiYXNlLmh0bWwKQEAgLTEyLDcgKzEyLDYgQEAKIDxzY3JpcHQ+CiAgICAgdGVzdFJ1
bm5lci53YWl0VW50aWxEb25lKCk7CiAgICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7Ci0gICAg
dGVzdFJ1bm5lci5zZXRVc2VJVFBEYXRhYmFzZSh0cnVlKTsKIAogICAgIGNvbnN0IGh0dHBPbmx5
Q29va2llTmFtZSA9ICJodHRwLW9ubHktY29va2llIjsKICAgICBjb25zdCBzZXJ2ZXJTaWRlQ29v
a2llTmFtZSA9ICJzZXJ2ZXItc2lkZS1jb29raWUiOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2dyYW5kZmF0aGVyaW5nLWRhdGFiYXNl
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlz
dGljcy9ncmFuZGZhdGhlcmluZy1kYXRhYmFzZS1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAxODAzYmZjYjUzYjE0MDQ5ZDVlMWRhYWU1YjI1YjYyN2ZhY2U1YTUu
LjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2dyYW5kZmF0aGVyaW5nLWRhdGFi
YXNlLWV4cGVjdGVkLnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDUgKzAsMCBAQAotUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQotCi1URVNUIENPTVBMRVRFCi1QQVNTIEdyYW5kZmF0aGVy
ZWQgY29va2llIHdhcyBub3QgcHVyZ2VkLgotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvZ3JhbmRmYXRoZXJpbmctZGF0YWJhc2UuaHRt
bCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9ncmFuZGZh
dGhlcmluZy1kYXRhYmFzZS5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwYjY4
MDg4ZDdjMWFiMDJlN2IxM2YyNTZlM2FiZTI4MmIwZjgyZmM2Li4wMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3Vy
Y2VMb2FkU3RhdGlzdGljcy9ncmFuZGZhdGhlcmluZy1kYXRhYmFzZS5odG1sCisrKyAvZGV2L251
bGwKQEAgLTEsMTE1ICswLDAgQEAKLTwhRE9DVFlQRSBodG1sPgotPGh0bWwgbGFuZz0iZW4iPgot
PGhlYWQ+Ci0gICAgPG1ldGEgY2hhcnNldD0iVVRGLTgiPgotICAgIDx0aXRsZT5UZXN0IGZvciBH
cmFuZGZhdGhlcmluZzwvdGl0bGU+Ci0gICAgPHNjcmlwdCBzcmM9Ii9qcy10ZXN0LXJlc291cmNl
cy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KLSAgICA8c2NyaXB0IHNyYz0icmVzb3VyY2VzL3V0aWwu
anMiPjwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHk+Ci08c2NyaXB0PgotICAgIGNvbnN0IGZpcnN0
UGFydHlPcmlnaW4gPSAiaHR0cDovL2xvY2FsaG9zdDo4MDAwIjsKLSAgICBjb25zdCBmaXJzdFBh
cnR5QmFzZVVybCA9IGZpcnN0UGFydHlPcmlnaW4gKyAiL3Jlc291cmNlTG9hZFN0YXRpc3RpY3Mv
cmVzb3VyY2VzIjsKLSAgICBjb25zdCBmaXJzdFBhcnR5Q29va2llTmFtZSA9ICJmaXJzdFBhcnR5
Q29va2llIjsKLSAgICBjb25zdCB0aGlyZFBhcnR5Q29va2llTmFtZSA9ICJ0aGlyZFBhcnR5Q29v
a2llIjsKLSAgICBjb25zdCBjb29raWVWYWx1ZSA9ICJ2YWx1ZSI7Ci0gICAgY29uc3Qgc3ViUGF0
aFRvU2V0Rmlyc3RQYXJ0eUNvb2tpZSA9ICIvc2V0LWNvb2tpZS5waHA/bmFtZT0iICsgZmlyc3RQ
YXJ0eUNvb2tpZU5hbWUgKyAiJnZhbHVlPSIgKyBjb29raWVWYWx1ZTsKLSAgICBjb25zdCByZXR1
cm5VcmwgPSBmaXJzdFBhcnR5T3JpZ2luICsgIi9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2dyYW5k
ZmF0aGVyaW5nLWRhdGFiYXNlLmh0bWwiOwotICAgIGNvbnN0IHRoaXJkUGFydHlPcmlnaW4gPSAi
aHR0cDovLzEyNy4wLjAuMTo4MDAwIjsKLSAgICBjb25zdCB0aGlyZFBhcnR5QmFzZVVybCA9IHRo
aXJkUGFydHlPcmlnaW4gKyAiL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvcmVzb3VyY2VzIjsKLSAg
ICBjb25zdCBzdWJQYXRoVG9TZXRUaGlyZFBhcnR5Q29va2llID0gIi9zZXQtY29va2llLnBocD9u
YW1lPSIgKyB0aGlyZFBhcnR5Q29va2llTmFtZSArICImdmFsdWU9IiArIGNvb2tpZVZhbHVlOwot
Ci0gICAgZnVuY3Rpb24gZmluaXNoVGVzdCgpIHsKLSAgICAgICAgc2V0RW5hYmxlRmVhdHVyZShm
YWxzZSwgZnVuY3Rpb24oKSB7Ci0gICAgICAgICAgICB0ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsK
LSAgICAgICAgfSk7Ci0gICAgfQotCi0gICAgZnVuY3Rpb24gZmlyZURhdGFNb2RpZmljYXRpb25I
YW5kbGVyQW5kQ29udGludWUoKSB7Ci0gICAgICAgIHRlc3RSdW5uZXIuaW5zdGFsbFN0YXRpc3Rp
Y3NEaWRTY2FuRGF0YVJlY29yZHNDYWxsYmFjayhmdW5jdGlvbigpIHsKLSAgICAgICAgICAgIHJ1
blRlc3QoKTsKLSAgICAgICAgfSk7Ci0gICAgICAgIHRlc3RSdW5uZXIuc3RhdGlzdGljc1Byb2Nl
c3NTdGF0aXN0aWNzQW5kRGF0YVJlY29yZHMoKTsKLSAgICB9Ci0KLSAgICBmdW5jdGlvbiBjbGVh
ckluTWVtb3J5QW5kUGVyc2lzdGVudFN0b3JlQW5kQ29udGludWUoKSB7Ci0gICAgICAgIHRlc3RS
dW5uZXIuc3RhdGlzdGljc0NsZWFySW5NZW1vcnlBbmRQZXJzaXN0ZW50U3RvcmUoZnVuY3Rpb24o
KSB7Ci0gICAgICAgICAgICBydW5UZXN0KCk7Ci0gICAgICAgIH0pOwotICAgIH0KLQotICAgIGZ1
bmN0aW9uIHJ1blRlc3QoKSB7Ci0gICAgICAgIHN3aXRjaCAoZG9jdW1lbnQubG9jYXRpb24uaGFz
aCkgewotICAgICAgICAgICAgY2FzZSAiI3N0ZXAxIjoKLSAgICAgICAgICAgICAgICAvLyBTZXQg
YSBmaXJzdC1wYXJ0eSBjb29raWUgZm9yIGxvY2FsaG9zdC4KLSAgICAgICAgICAgICAgICBkb2N1
bWVudC5sb2NhdGlvbi5ocmVmID0gZmlyc3RQYXJ0eUJhc2VVcmwgKyBzdWJQYXRoVG9TZXRGaXJz
dFBhcnR5Q29va2llICsgIiMiICsgcmV0dXJuVXJsICsgIiNzdGVwMiI7Ci0gICAgICAgICAgICAg
ICAgYnJlYWs7Ci0gICAgICAgICAgICBjYXNlICIjc3RlcDIiOgotICAgICAgICAgICAgICAgIGRv
Y3VtZW50LmxvY2F0aW9uLmhhc2ggPSAic3RlcDMiOwotICAgICAgICAgICAgICAgIC8vIENoZWNr
IHRoYXQgbG9jYWxob3N0J3MgY29va2llIGlzIHRoZXJlLgotICAgICAgICAgICAgICAgIGlmIChk
b2N1bWVudC5jb29raWUgIT09IGZpcnN0UGFydHlDb29raWVOYW1lICsgIj0iICsgY29va2llVmFs
dWUpCi0gICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoIkZpcnN0LXBhcnR5IGNvb2tpZSBu
b3Qgc2V0LiIpOwotICAgICAgICAgICAgICAgIHJ1blRlc3QoKTsKLSAgICAgICAgICAgICAgICBi
cmVhazsKLSAgICAgICAgICAgIGNhc2UgIiNzdGVwMyI6Ci0gICAgICAgICAgICAgICAgZG9jdW1l
bnQubG9jYXRpb24uaGFzaCA9ICJzdGVwNCI7Ci0gICAgICAgICAgICAgICAgLy8gQ2xlYXIgc3Rv
cmUgdG8gdHJpZ2dlciBncmFuZGZhdGhlcmluZy4KLSAgICAgICAgICAgICAgICBjbGVhckluTWVt
b3J5QW5kUGVyc2lzdGVudFN0b3JlQW5kQ29udGludWUoKTsKLSAgICAgICAgICAgICAgICBicmVh
azsKLSAgICAgICAgICAgIGNhc2UgIiNzdGVwNCI6Ci0gICAgICAgICAgICAgICAgZG9jdW1lbnQu
bG9jYXRpb24uaGFzaCA9ICJzdGVwNSI7Ci0gICAgICAgICAgICAgICAgLy8gU2V0IGxvY2FsaG9z
dCBhcyBwcmV2YWxlbnQgcmVzb3VyY2UuCi0gICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5zZXRT
dGF0aXN0aWNzUHJldmFsZW50UmVzb3VyY2UoImh0dHA6Ly9sb2NhbGhvc3QiLCB0cnVlLCBmdW5j
dGlvbigpIHsKLSAgICAgICAgICAgICAgICAgICAgaWYgKCF0ZXN0UnVubmVyLmlzU3RhdGlzdGlj
c1ByZXZhbGVudFJlc291cmNlKCJodHRwOi8vbG9jYWxob3N0IikpCi0gICAgICAgICAgICAgICAg
ICAgICAgICB0ZXN0RmFpbGVkKCJMb2NhbGhvc3QgZGlkIG5vdCBnZXQgc2V0IGFzIHByZXZhbGVu
dCByZXNvdXJjZS4iKTsKLSAgICAgICAgICAgICAgICAgICAgcnVuVGVzdCgpOwotICAgICAgICAg
ICAgICAgIH0pOwotICAgICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICAgICAgY2FzZSAiI3N0
ZXA1IjoKLSAgICAgICAgICAgICAgICAvLyBTZXQgYSBmaXJzdC1wYXJ0eSBjb29raWUgZm9yIDEy
Ny4wLjAuMS4KLSAgICAgICAgICAgICAgICBkb2N1bWVudC5sb2NhdGlvbi5ocmVmID0gdGhpcmRQ
YXJ0eUJhc2VVcmwgKyBzdWJQYXRoVG9TZXRUaGlyZFBhcnR5Q29va2llICsgIiMiICsgcmV0dXJu
VXJsICsgIiNzdGVwNiI7Ci0gICAgICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgICAgICBjYXNl
ICIjc3RlcDYiOgotICAgICAgICAgICAgICAgIGRvY3VtZW50LmxvY2F0aW9uLmhhc2ggPSAic3Rl
cDciOwotICAgICAgICAgICAgICAgIC8vIFNldCAxMjcuMC4wLjEgYXMgcHJldmFsZW50IHJlc291
cmNlCi0gICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNzUHJldmFsZW50UmVz
b3VyY2UoImh0dHA6Ly8xMjcuMC4wLjEiLCB0cnVlLCBmdW5jdGlvbigpIHsKLSAgICAgICAgICAg
ICAgICAgICAgaWYgKCF0ZXN0UnVubmVyLmlzU3RhdGlzdGljc1ByZXZhbGVudFJlc291cmNlKCJo
dHRwOi8vMTI3LjAuMC4xIikpCi0gICAgICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKCIx
MjcuMC4wLjEgZGlkIG5vdCBnZXQgc2V0IGFzIHByZXZhbGVudCByZXNvdXJjZS4iKTsKLSAgICAg
ICAgICAgICAgICAgICAgcnVuVGVzdCgpOwotICAgICAgICAgICAgICAgIH0pOwotICAgICAgICAg
ICAgICAgIGJyZWFrOwotICAgICAgICAgICAgY2FzZSAiI3N0ZXA3IjoKLSAgICAgICAgICAgICAg
ICBkb2N1bWVudC5sb2NhdGlvbi5oYXNoID0gInN0ZXA4IjsKLSAgICAgICAgICAgICAgICAvLyBU
cmlnZ2VyIGEgcHVyZ2UuCi0gICAgICAgICAgICAgICAgZmlyZURhdGFNb2RpZmljYXRpb25IYW5k
bGVyQW5kQ29udGludWUoKTsKLSAgICAgICAgICAgICAgICBicmVhazsKLSAgICAgICAgICAgIGNh
c2UgIiNzdGVwOCI6Ci0gICAgICAgICAgICAgICAgLy8gQ2hlY2sgdGhhdCBsb2NhbGhvc3QncyBj
b29raWUgaXMgc3RpbGwgdGhlcmUuCi0gICAgICAgICAgICAgICAgaWYgKGRvY3VtZW50LmNvb2tp
ZSAhPT0gZmlyc3RQYXJ0eUNvb2tpZU5hbWUgKyAiPSIgKyBjb29raWVWYWx1ZSkKLSAgICAgICAg
ICAgICAgICAgICAgdGVzdEZhaWxlZCgiRmlyc3QtcGFydHkgY29va2llIHB1cmdlZC4iKTsKLSAg
ICAgICAgICAgICAgICBlbHNlCi0gICAgICAgICAgICAgICAgICAgIHRlc3RQYXNzZWQoIkdyYW5k
ZmF0aGVyZWQgY29va2llIHdhcyBub3QgcHVyZ2VkLiIpOwotICAgICAgICAgICAgICAgIGZpbmlz
aFRlc3QoKTsKLSAgICAgICAgICAgICAgICBicmVhazsKLSAgICAgICAgICAgIGRlZmF1bHQ6Ci0g
ICAgICAgICAgICAgICAgdGVzdEZhaWxlZCgiU2hvdWxkIG5vdCBiZSByZWFjaGVkLiIpOwotICAg
ICAgICAgICAgICAgIGZpbmlzaFRlc3QoKTsKLSAgICAgICAgfQotICAgIH0KLQotICAgIGlmIChk
b2N1bWVudC5sb2NhdGlvbi5oYXNoID09PSAiIiAmJiB3aW5kb3cudGVzdFJ1bm5lciAmJiB3aW5k
b3cuaW50ZXJuYWxzKSB7Ci0gICAgICAgIHRlc3RSdW5uZXIuc2V0VXNlSVRQRGF0YWJhc2UodHJ1
ZSk7Ci0gICAgICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOwotICAgICAgICBzZXRFbmFi
bGVGZWF0dXJlKHRydWUsIGZ1bmN0aW9uKCkgewotICAgICAgICAgICAgdGVzdFJ1bm5lci5zZXRT
dGF0aXN0aWNzU2hvdWxkQ2xhc3NpZnlSZXNvdXJjZXNCZWZvcmVEYXRhUmVjb3Jkc1JlbW92YWwo
ZmFsc2UpOwotICAgICAgICAgICAgdGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNzTWluaW11bVRpbWVC
ZXR3ZWVuRGF0YVJlY29yZHNSZW1vdmFsKDApOwotCi0gICAgICAgICAgICB0ZXN0UnVubmVyLmR1
bXBDaGlsZEZyYW1lc0FzVGV4dCgpOwotICAgICAgICAgICAgZG9jdW1lbnQubG9jYXRpb24uaGFz
aCA9ICJzdGVwMSI7Ci0gICAgICAgICAgICBydW5UZXN0KCk7Ci0gICAgICAgIH0pOwotICAgIH0g
ZWxzZQotICAgICAgICBydW5UZXN0KCk7Ci08L3NjcmlwdD4KLTwvYm9keT4KLTwvaHRtbD4KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9s
ZWF2ZS1lbXB0eS1kb2N1bWVudC1yZWZlcnJlci1hbG9uZS10aGlyZC1wYXJ0eS1pZnJhbWUuaHRt
bCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9sZWF2ZS1l
bXB0eS1kb2N1bWVudC1yZWZlcnJlci1hbG9uZS10aGlyZC1wYXJ0eS1pZnJhbWUuaHRtbAppbmRl
eCAzODVlYWRhODE0ZDQ0MzU1NmE1YjAyZjdjZjgwODE2MzFiNjY1Nzg2Li4zMzUzZTc0M2JiNzZm
NGFkZDlhYzg0ZmMyMmM5YjdkODhhZmEyMDg0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvbGVhdmUtZW1wdHktZG9jdW1lbnQtcmVmZXJy
ZXItYWxvbmUtdGhpcmQtcGFydHktaWZyYW1lLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90
ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2xlYXZlLWVtcHR5LWRvY3VtZW50LXJlZmVycmVy
LWFsb25lLXRoaXJkLXBhcnR5LWlmcmFtZS5odG1sCkBAIC0yNCw3ICsyNCw2IEBACiAKICAgICBm
dW5jdGlvbiBydW5UZXN0KCkgewogICAgICAgICBpZiAodGVzdFJ1bm5lcikgewotICAgICAgICAg
ICAgdGVzdFJ1bm5lci5zZXRVc2VJVFBEYXRhYmFzZSh0cnVlKTsKICAgICAgICAgICAgIHNldEVu
YWJsZUZlYXR1cmUodHJ1ZSwgZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgICAgbGV0IGlmcmFt
ZUVsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJpZnJhbWUiKTsKICAgICAgICAgICAg
ICAgICBpZnJhbWVFbGVtZW50LnJlZmVycmVyUG9saWN5ID0gIm5vLXJlZmVycmVyIjsKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9sb2ct
Y3Jvc3Mtc2l0ZS1sb2FkLXdpdGgtbGluay1kZWNvcmF0aW9uLWRhdGFiYXNlLWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9sb2ctY3Jv
c3Mtc2l0ZS1sb2FkLXdpdGgtbGluay1kZWNvcmF0aW9uLWRhdGFiYXNlLWV4cGVjdGVkLnR4dApk
ZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNjdmODY1YmVlMTc4NzljYjRkNjhjMGQ1N2Y5
ZWFmM2RmMGY5NGYwOC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAot
LS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvbG9nLWNy
b3NzLXNpdGUtbG9hZC13aXRoLWxpbmstZGVjb3JhdGlvbi1kYXRhYmFzZS1leHBlY3RlZC50eHQK
KysrIC9kZXYvbnVsbApAQCAtMSwzNSArMCwwIEBACi1UZXN0IGxvZ2dpbmcgb2YgbGluayBkZWNv
cmF0ZWQgY3Jvc3Mtc2l0ZSBuYXZpZ2F0aW9ucyBmcm9tIGEgcHJldmFsZW50IHJlc291cmNlLgot
Ci1SZXNvdXJjZSBsb2FkIHN0YXRpc3RpY3M6Ci0KLVJlZ2lzdHJhYmxlIGRvbWFpbjogMTI3LjAu
MC4xCi0gICAgaGFkVXNlckludGVyYWN0aW9uOiBObwotICAgIG1vc3RSZWNlbnRVc2VySW50ZXJh
Y3Rpb246IC0xCi0gICAgZ3JhbmRmYXRoZXJlZDogTm8KLSAgICBUb3BGcmFtZVVuaXF1ZVJlZGly
ZWN0c1RvOgotICAgICAgICBsb2NhbGhvc3QKLSAgICBJc1NjaGVkdWxlZEZvckFsbEJ1dENvb2tp
ZURhdGFSZW1vdmFsOiBObwotICAgIGlzUHJldmFsZW50UmVzb3VyY2U6IFllcwotICAgIGlzVmVy
eVByZXZhbGVudFJlc291cmNlOiBObwotICAgIGRhdGFSZWNvcmRzUmVtb3ZlZDogMAotUmVnaXN0
cmFibGUgZG9tYWluOiAxMjcuMC4wLjIKLSAgICBoYWRVc2VySW50ZXJhY3Rpb246IE5vCi0gICAg
bW9zdFJlY2VudFVzZXJJbnRlcmFjdGlvbjogLTEKLSAgICBncmFuZGZhdGhlcmVkOiBObwotICAg
IElzU2NoZWR1bGVkRm9yQWxsQnV0Q29va2llRGF0YVJlbW92YWw6IE5vCi0gICAgaXNQcmV2YWxl
bnRSZXNvdXJjZTogTm8KLSAgICBpc1ZlcnlQcmV2YWxlbnRSZXNvdXJjZTogTm8KLSAgICBkYXRh
UmVjb3Jkc1JlbW92ZWQ6IDAKLVJlZ2lzdHJhYmxlIGRvbWFpbjogbG9jYWxob3N0Ci0gICAgaGFk
VXNlckludGVyYWN0aW9uOiBObwotICAgIG1vc3RSZWNlbnRVc2VySW50ZXJhY3Rpb246IC0xCi0g
ICAgZ3JhbmRmYXRoZXJlZDogTm8KLSAgICBUb3BGcmFtZVVuaXF1ZVJlZGlyZWN0c0Zyb206Ci0g
ICAgICAgIDEyNy4wLjAuMQotICAgIFRvcEZyYW1lTGlua0RlY29yYXRpb25zRnJvbToKLSAgICAg
ICAgMTI3LjAuMC4xCi0gICAgICAgIDEyNy4wLjAuMgotICAgIElzU2NoZWR1bGVkRm9yQWxsQnV0
Q29va2llRGF0YVJlbW92YWw6IFllcwotICAgIGlzUHJldmFsZW50UmVzb3VyY2U6IE5vCi0gICAg
aXNWZXJ5UHJldmFsZW50UmVzb3VyY2U6IE5vCi0gICAgZGF0YVJlY29yZHNSZW1vdmVkOiAwCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3Mv
bG9nLWNyb3NzLXNpdGUtbG9hZC13aXRoLWxpbmstZGVjb3JhdGlvbi1kYXRhYmFzZS5odG1sIGIv
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2xvZy1jcm9zcy1z
aXRlLWxvYWQtd2l0aC1saW5rLWRlY29yYXRpb24tZGF0YWJhc2UuaHRtbApkZWxldGVkIGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggYWQ0M2IyMDY0OTdiZDdjYzc4MGM4OTc2MjM5OTdlOTAyOGYxMzJl
ZC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRU
ZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvbG9nLWNyb3NzLXNpdGUtbG9h
ZC13aXRoLWxpbmstZGVjb3JhdGlvbi1kYXRhYmFzZS5odG1sCisrKyAvZGV2L251bGwKQEAgLTEs
NDMgKzAsMCBAQAotPCFET0NUWVBFIGh0bWw+Ci08aHRtbD4KLTxoZWFkPgotICAgIDxzY3JpcHQg
c3JjPSJyZXNvdXJjZXMvdXRpbC5qcyI+PC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keSBvbmxvYWQ9
InNldFRpbWVvdXQoJ3J1blRlc3QoKScsIDApIj4KLTxkaXYgaWQ9ImRlc2NyaXB0aW9uIj5UZXN0
IGxvZ2dpbmcgb2YgbGluayBkZWNvcmF0ZWQgY3Jvc3Mtc2l0ZSBuYXZpZ2F0aW9ucyBmcm9tIGEg
cHJldmFsZW50IHJlc291cmNlLjwvZGl2PgotPGRpdiBpZD0ib3V0cHV0Ij48L2Rpdj4KLTxzY3Jp
cHQ+Ci0gICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7Ci0gICAgICAgIHRlc3RSdW5uZXIuc2V0
VXNlSVRQRGF0YWJhc2UodHJ1ZSk7Ci0gICAgICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgp
OwotICAgICAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKLSAgICB9Ci0KLSAgICBmdW5jdGlv
biBuYXZpZ2F0ZUNyb3NzT3JpZ2luKCkgewotICAgICAgICBkb2N1bWVudC5sb2NhdGlvbi5ocmVm
ID0gZGVzdGluYXRpb25PcmlnaW4gKyAiL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvbG9nLWNyb3Nz
LXNpdGUtbG9hZC13aXRoLWxpbmstZGVjb3JhdGlvbi1kYXRhYmFzZS5odG1sP2xpbms9ZGVjb3Jh
dGlvbiI7Ci0gICAgfQotCi0gICAgY29uc3QgZGVzdGluYXRpb25PcmlnaW4gPSAiaHR0cDovL2xv
Y2FsaG9zdDo4MDAwIjsKLSAgICBjb25zdCBwcmV2YWxlbnRSZXNvdXJjZU9yaWdpbiA9ICJodHRw
Oi8vMTI3LjAuMC4xOjgwMDAiOwotICAgIGNvbnN0IHRlc3RPcmlnaW4gPSAiaHR0cDovLzEyNy4w
LjAuMjo4MDAwIjsKLSAgICBmdW5jdGlvbiBydW5UZXN0KCkgewotICAgICAgICBpZiAoZG9jdW1l
bnQubG9jYXRpb24ub3JpZ2luID09PSBwcmV2YWxlbnRSZXNvdXJjZU9yaWdpbikgewotICAgICAg
ICAgICAgc2V0RW5hYmxlRmVhdHVyZSh0cnVlLCBmdW5jdGlvbiAoKSB7Ci0gICAgICAgICAgICAg
ICAgdGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNzUHJldmFsZW50UmVzb3VyY2UocHJldmFsZW50UmVz
b3VyY2VPcmlnaW4sIHRydWUsIGZ1bmN0aW9uKCkgewotICAgICAgICAgICAgICAgICAgICBpZiAo
IXRlc3RSdW5uZXIuaXNTdGF0aXN0aWNzUHJldmFsZW50UmVzb3VyY2UocHJldmFsZW50UmVzb3Vy
Y2VPcmlnaW4pKQotICAgICAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZCgiSG9zdCBkaWQg
bm90IGdldCBzZXQgYXMgcHJldmFsZW50IHJlc291cmNlLiIpOwotICAgICAgICAgICAgICAgICAg
ICAgICAgdGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNzQ3Jvc3NTaXRlTG9hZFdpdGhMaW5rRGVjb3Jh
dGlvbih0ZXN0T3JpZ2luLCBkZXN0aW5hdGlvbk9yaWdpbik7Ci0gICAgICAgICAgICAgICAgICAg
IHRlc3RSdW5uZXIuc3RhdGlzdGljc1VwZGF0ZUNvb2tpZUJsb2NraW5nKG5hdmlnYXRlQ3Jvc3NP
cmlnaW4pOwotICAgICAgICAgICAgICAgIH0pOwotCi0gICAgICAgICAgICB9KTsKLSAgICAgICAg
fSBlbHNlIHsKLSAgICAgICAgICAgIHRlc3RSdW5uZXIuZHVtcFJlc291cmNlTG9hZFN0YXRpc3Rp
Y3MoKTsKLSAgICAgICAgICAgIHNldEVuYWJsZUZlYXR1cmUoZmFsc2UsIGZ1bmN0aW9uICgpIHsK
LSAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsKLSAgICAgICAgICAgIH0p
OwotICAgICAgICB9Ci0gICAgfQotPC9zY3JpcHQ+Ci08L2JvZHk+Ci08L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvbG9nLWNy
b3NzLXNpdGUtbG9hZC13aXRoLWxpbmstZGVjb3JhdGlvbi1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvbG9nLWNyb3NzLXNpdGUtbG9h
ZC13aXRoLWxpbmstZGVjb3JhdGlvbi1leHBlY3RlZC50eHQKaW5kZXggODkxZTNkNjkzZDYxOTNl
ZjZhODQzYzllZDY4YTU0ZjI0YjI5M2YwNC4uM2ZlMjBhNGVjNmM0ODRlMGM4ODA1NTJmYzYwMzQw
ZjEwOWZmZmQzZSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxv
YWRTdGF0aXN0aWNzL2xvZy1jcm9zcy1zaXRlLWxvYWQtd2l0aC1saW5rLWRlY29yYXRpb24tZXhw
ZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlz
dGljcy9sb2ctY3Jvc3Mtc2l0ZS1sb2FkLXdpdGgtbGluay1kZWNvcmF0aW9uLWV4cGVjdGVkLnR4
dApAQCAtNiwyNSArNiwyMSBAQCBSZWdpc3RyYWJsZSBkb21haW46IDEyNy4wLjAuMQogICAgIGhh
ZFVzZXJJbnRlcmFjdGlvbjogTm8KICAgICBtb3N0UmVjZW50VXNlckludGVyYWN0aW9uOiAtMQog
ICAgIGdyYW5kZmF0aGVyZWQ6IE5vCi0gICAgdG9wRnJhbWVVbmlxdWVSZWRpcmVjdHNUbzoKKyAg
ICBUb3BGcmFtZVVuaXF1ZVJlZGlyZWN0c1RvOgogICAgICAgICBsb2NhbGhvc3QKLSAgICBnb3RM
aW5rRGVjb3JhdGlvbkZyb21QcmV2YWxlbnRSZXNvdXJjZTogTm8KKyAgICBJc1NjaGVkdWxlZEZv
ckFsbEJ1dENvb2tpZURhdGFSZW1vdmFsOiBObwogICAgIGlzUHJldmFsZW50UmVzb3VyY2U6IFll
cwogICAgIGlzVmVyeVByZXZhbGVudFJlc291cmNlOiBObwogICAgIGRhdGFSZWNvcmRzUmVtb3Zl
ZDogMAotICAgIGNhbnZhc1JlYWREYXRhOiBObwotCiBSZWdpc3RyYWJsZSBkb21haW46IGxvY2Fs
aG9zdAogICAgIGhhZFVzZXJJbnRlcmFjdGlvbjogTm8KICAgICBtb3N0UmVjZW50VXNlckludGVy
YWN0aW9uOiAtMQogICAgIGdyYW5kZmF0aGVyZWQ6IE5vCi0gICAgdG9wRnJhbWVVbmlxdWVSZWRp
cmVjdHNGcm9tOgorICAgIFRvcEZyYW1lVW5pcXVlUmVkaXJlY3RzRnJvbToKICAgICAgICAgMTI3
LjAuMC4xCi0gICAgdG9wRnJhbWVMaW5rRGVjb3JhdGlvbnNGcm9tOgorICAgIFRvcEZyYW1lTGlu
a0RlY29yYXRpb25zRnJvbToKICAgICAgICAgMTI3LjAuMC4xCi0gICAgZ290TGlua0RlY29yYXRp
b25Gcm9tUHJldmFsZW50UmVzb3VyY2U6IFllcworICAgIElzU2NoZWR1bGVkRm9yQWxsQnV0Q29v
a2llRGF0YVJlbW92YWw6IFllcwogICAgIGlzUHJldmFsZW50UmVzb3VyY2U6IE5vCiAgICAgaXNW
ZXJ5UHJldmFsZW50UmVzb3VyY2U6IE5vCiAgICAgZGF0YVJlY29yZHNSZW1vdmVkOiAwCi0gICAg
Y2FudmFzUmVhZERhdGE6IE5vCi0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMv
cmVzb3VyY2VMb2FkU3RhdGlzdGljcy9sb2ctZGVsYXllZC1jbGllbnQtc2lkZS1yZWRpcmVjdHMt
ZGF0YWJhc2UtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxv
YWRTdGF0aXN0aWNzL2xvZy1kZWxheWVkLWNsaWVudC1zaWRlLXJlZGlyZWN0cy1kYXRhYmFzZS1l
eHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDQwZjgxYzc3YTAyZDZm
M2JmZGY0YWI3YTA3NDhlYmQxNTQ3ZDI2ZWUuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0
aXN0aWNzL2xvZy1kZWxheWVkLWNsaWVudC1zaWRlLXJlZGlyZWN0cy1kYXRhYmFzZS1leHBlY3Rl
ZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSwyNCArMCwwIEBACi1Ob24tdXNlciBpbml0aWF0ZWQs
IGRlbGF5ZWQgY3Jvc3Mtc2l0ZSBuYXZpZ2F0aW9ucyBkb25lIGNsaWVudC1zaWRlIHNob3VsZCBi
ZSBkZXRlY3RlZCBhcyB0b3AgZnJhbWUgcmVkaXJlY3RzIGJ5IElUUC4KLQotUmVzb3VyY2UgbG9h
ZCBzdGF0aXN0aWNzOgotCi1SZWdpc3RyYWJsZSBkb21haW46IDEyNy4wLjAuMQotICAgIGhhZFVz
ZXJJbnRlcmFjdGlvbjogTm8KLSAgICBtb3N0UmVjZW50VXNlckludGVyYWN0aW9uOiAtMQotICAg
IGdyYW5kZmF0aGVyZWQ6IE5vCi0gICAgVG9wRnJhbWVVbmlxdWVSZWRpcmVjdHNUbzoKLSAgICAg
ICAgbG9jYWxob3N0Ci0gICAgSXNTY2hlZHVsZWRGb3JBbGxCdXRDb29raWVEYXRhUmVtb3ZhbDog
Tm8KLSAgICBpc1ByZXZhbGVudFJlc291cmNlOiBObwotICAgIGlzVmVyeVByZXZhbGVudFJlc291
cmNlOiBObwotICAgIGRhdGFSZWNvcmRzUmVtb3ZlZDogMAotUmVnaXN0cmFibGUgZG9tYWluOiBs
b2NhbGhvc3QKLSAgICBoYWRVc2VySW50ZXJhY3Rpb246IE5vCi0gICAgbW9zdFJlY2VudFVzZXJJ
bnRlcmFjdGlvbjogLTEKLSAgICBncmFuZGZhdGhlcmVkOiBObwotICAgIFRvcEZyYW1lVW5pcXVl
UmVkaXJlY3RzRnJvbToKLSAgICAgICAgMTI3LjAuMC4xCi0gICAgSXNTY2hlZHVsZWRGb3JBbGxC
dXRDb29raWVEYXRhUmVtb3ZhbDogTm8KLSAgICBpc1ByZXZhbGVudFJlc291cmNlOiBObwotICAg
IGlzVmVyeVByZXZhbGVudFJlc291cmNlOiBObwotICAgIGRhdGFSZWNvcmRzUmVtb3ZlZDogMApk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNz
L2xvZy1kZWxheWVkLWNsaWVudC1zaWRlLXJlZGlyZWN0cy1kYXRhYmFzZS5odG1sIGIvTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2xvZy1kZWxheWVkLWNsaWVu
dC1zaWRlLXJlZGlyZWN0cy1kYXRhYmFzZS5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCBiZWFhM2EzOTMxODM2YWExNDlhOWM1ZTZhNWNlMjE0ZWUzNDk5ZWRlLi4wMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVz
dHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9sb2ctZGVsYXllZC1jbGllbnQtc2lkZS1yZWRpcmVj
dHMtZGF0YWJhc2UuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDM1ICswLDAgQEAKLTwhRE9DVFlQ
RSBodG1sPgotPGh0bWw+Ci08aGVhZD4KLSAgICA8c2NyaXB0IHNyYz0icmVzb3VyY2VzL3V0aWwu
anMiPjwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHkgb25sb2FkPSJzZXRUaW1lb3V0KCdydW5UZXN0
KCknLCAxMDApIj4KLTxkaXYgaWQ9ImRlc2NyaXB0aW9uIj5Ob24tdXNlciBpbml0aWF0ZWQsIGRl
bGF5ZWQgY3Jvc3Mtc2l0ZSBuYXZpZ2F0aW9ucyBkb25lIGNsaWVudC1zaWRlIHNob3VsZCBiZSBk
ZXRlY3RlZCBhcyB0b3AgZnJhbWUgcmVkaXJlY3RzIGJ5IElUUC48L2Rpdj4KLTxkaXYgaWQ9Im91
dHB1dCI+PC9kaXY+Ci08c2NyaXB0PgotICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikgewotICAg
ICAgICB0ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTsKLSAgICAgICAgdGVzdFJ1bm5lci5kdW1w
QXNUZXh0KCk7Ci0gICAgfQotCi0gICAgY29uc3QgbmF2aWdhdGlvbkVuZE9yaWdpbiA9ICJodHRw
Oi8vbG9jYWxob3N0OjgwMDAiOwotICAgIGNvbnN0IG5hdmlnYXRpb25TdGFydE9yaWdpbiA9ICJo
dHRwOi8vMTI3LjAuMC4xOjgwMDAiOwotCi0gICAgZnVuY3Rpb24gbmF2aWdhdGVDcm9zc1NpdGUo
KSB7Ci0gICAgICAgIGRvY3VtZW50LmxvY2F0aW9uLmhyZWYgPSBuYXZpZ2F0aW9uRW5kT3JpZ2lu
ICsgIi9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2xvZy1kZWxheWVkLWNsaWVudC1zaWRlLXJlZGly
ZWN0cy5odG1sP2R1bW15UGFyYW09IiArIE1hdGgucmFuZG9tKCk7Ci0gICAgfQotCi0gICAgZnVu
Y3Rpb24gcnVuVGVzdCgpIHsKLSAgICAgICAgaWYgKGRvY3VtZW50LmxvY2F0aW9uLm9yaWdpbiA9
PT0gbmF2aWdhdGlvblN0YXJ0T3JpZ2luKSB7Ci0gICAgICAgICAgICB0ZXN0UnVubmVyLnNldFVz
ZUlUUERhdGFiYXNlKHRydWUpOwotICAgICAgICAgICAgc2V0RW5hYmxlRmVhdHVyZSh0cnVlLCBu
YXZpZ2F0ZUNyb3NzU2l0ZSk7Ci0gICAgICAgIH0gZWxzZSB7Ci0gICAgICAgICAgICB0ZXN0UnVu
bmVyLmR1bXBSZXNvdXJjZUxvYWRTdGF0aXN0aWNzKCk7Ci0gICAgICAgICAgICBzZXRFbmFibGVG
ZWF0dXJlKGZhbHNlLCBmdW5jdGlvbiAoKSB7Ci0gICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5u
b3RpZnlEb25lKCk7Ci0gICAgICAgICAgICB9KTsKLSAgICAgICAgfQotICAgIH0KLTwvc2NyaXB0
PgotPC9ib2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9y
ZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2xvZy1kZWxheWVkLWNsaWVudC1zaWRlLXJlZGlyZWN0cy1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3Rp
Y3MvbG9nLWRlbGF5ZWQtY2xpZW50LXNpZGUtcmVkaXJlY3RzLWV4cGVjdGVkLnR4dAppbmRleCA3
YTgwZDkwM2Q3YjMxMTY4YTdjMGM3OTk4NTI5NzhhZGQ1YmM3MjlhLi40MGY4MWM3N2EwMmQ2ZjNi
ZmRmNGFiN2EwNzQ4ZWJkMTU0N2QyNmVlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rl
c3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvbG9nLWRlbGF5ZWQtY2xpZW50LXNpZGUtcmVkaXJl
Y3RzLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9h
ZFN0YXRpc3RpY3MvbG9nLWRlbGF5ZWQtY2xpZW50LXNpZGUtcmVkaXJlY3RzLWV4cGVjdGVkLnR4
dApAQCAtNiwyMyArNiwxOSBAQCBSZWdpc3RyYWJsZSBkb21haW46IDEyNy4wLjAuMQogICAgIGhh
ZFVzZXJJbnRlcmFjdGlvbjogTm8KICAgICBtb3N0UmVjZW50VXNlckludGVyYWN0aW9uOiAtMQog
ICAgIGdyYW5kZmF0aGVyZWQ6IE5vCi0gICAgdG9wRnJhbWVVbmlxdWVSZWRpcmVjdHNUbzoKKyAg
ICBUb3BGcmFtZVVuaXF1ZVJlZGlyZWN0c1RvOgogICAgICAgICBsb2NhbGhvc3QKLSAgICBnb3RM
aW5rRGVjb3JhdGlvbkZyb21QcmV2YWxlbnRSZXNvdXJjZTogTm8KKyAgICBJc1NjaGVkdWxlZEZv
ckFsbEJ1dENvb2tpZURhdGFSZW1vdmFsOiBObwogICAgIGlzUHJldmFsZW50UmVzb3VyY2U6IE5v
CiAgICAgaXNWZXJ5UHJldmFsZW50UmVzb3VyY2U6IE5vCiAgICAgZGF0YVJlY29yZHNSZW1vdmVk
OiAwCi0gICAgY2FudmFzUmVhZERhdGE6IE5vCi0KIFJlZ2lzdHJhYmxlIGRvbWFpbjogbG9jYWxo
b3N0CiAgICAgaGFkVXNlckludGVyYWN0aW9uOiBObwogICAgIG1vc3RSZWNlbnRVc2VySW50ZXJh
Y3Rpb246IC0xCiAgICAgZ3JhbmRmYXRoZXJlZDogTm8KLSAgICB0b3BGcmFtZVVuaXF1ZVJlZGly
ZWN0c0Zyb206CisgICAgVG9wRnJhbWVVbmlxdWVSZWRpcmVjdHNGcm9tOgogICAgICAgICAxMjcu
MC4wLjEKLSAgICBnb3RMaW5rRGVjb3JhdGlvbkZyb21QcmV2YWxlbnRSZXNvdXJjZTogTm8KKyAg
ICBJc1NjaGVkdWxlZEZvckFsbEJ1dENvb2tpZURhdGFSZW1vdmFsOiBObwogICAgIGlzUHJldmFs
ZW50UmVzb3VyY2U6IE5vCiAgICAgaXNWZXJ5UHJldmFsZW50UmVzb3VyY2U6IE5vCiAgICAgZGF0
YVJlY29yZHNSZW1vdmVkOiAwCi0gICAgY2FudmFzUmVhZERhdGE6IE5vCi0KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9tYW55LWluc2Vy
dHMtb25seS1pbnNlcnQtb25jZS5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJj
ZUxvYWRTdGF0aXN0aWNzL21hbnktaW5zZXJ0cy1vbmx5LWluc2VydC1vbmNlLmh0bWwKaW5kZXgg
OGFhMWIzYzVmZTY2YTYzNDA0NjE5OGU4Nzk2OGVhNTIzMjMwOGUyZS4uMGUyYWY4OGYxMjE5YWZj
YjNlMGZmNGJiODkyM2I4OWU5YmIxZjUzYyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90
ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL21hbnktaW5zZXJ0cy1vbmx5LWluc2VydC1vbmNl
Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNz
L21hbnktaW5zZXJ0cy1vbmx5LWluc2VydC1vbmNlLmh0bWwKQEAgLTgsNyArOCw2IEBACiA8L2hl
YWQ+CiA8Ym9keT4KIDxzY3JpcHQ+Ci0gICAgdGVzdFJ1bm5lci5zZXRVc2VJVFBEYXRhYmFzZSh0
cnVlKTsKICAgICBkZXNjcmlwdGlvbigiVGVzdHMgdGhhdCBtYW55IGluc2VydHMgaW50byB0aGUg
ZGF0YWJhc2Ugb25seSByZXN1bHQgaW4gb25lIHJvdy4iKTsKICAgICBqc1Rlc3RJc0FzeW5jID0g
dHJ1ZTsKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRT
dGF0aXN0aWNzL21lcmdlLXN0YXRpc3RpYy1kb2VzLW5vdC1vdmVyd3JpdGUtZGF0YWJhc2UtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNz
L21lcmdlLXN0YXRpc3RpYy1kb2VzLW5vdC1vdmVyd3JpdGUtZGF0YWJhc2UtZXhwZWN0ZWQudHh0
CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBiYjQwMWY5YTVlOWRjY2YyM2EzNzcwMDNk
NjI3YWE1Zjg4NGZkMzg2Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9tZXJn
ZS1zdGF0aXN0aWMtZG9lcy1ub3Qtb3ZlcndyaXRlLWRhdGFiYXNlLWV4cGVjdGVkLnR4dAorKysg
L2Rldi9udWxsCkBAIC0xLDEzICswLDAgQEAKLVRlc3RzIHRoYXQgbWVyZ2VkIHN0YXRpc3RpYyBk
b2VzIG5vdCBvdmVyd3JpdGUgb2xkIHN0YXRpc3RpYwotCi1PbiBzdWNjZXNzLCB5b3Ugd2lsbCBz
ZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVU
RSIuCi0KLQotUEFTUyBIb3N0IGRpZCBub3Qgb3ZlcndyaXRlIG9sZCBwcmV2YWxlbnQgcmVzb3Vy
Y2UgdmFsdWUuCi1QQVNTIEhvc3QgZGlkIG5vdCBvdmVyd3JpdGUgb2xkIHZlcnkgcHJldmFsZW50
IHJlc291cmNlIHZhbHVlLgotUEFTUyBIb3N0IGRpZCBub3Qgb3ZlcndyaXRlIG9sZCBoYWQgdXNl
ciBpbnRlcmFjdGlvbiB2YWx1ZQotUEFTUyBIb3N0IGRpZCBub3Qgb3ZlcndyaXRlIG9sZCBncmFu
ZGZhdGhlcmVkIHZhbHVlLgotUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQotCi1URVNU
IENPTVBMRVRFCi0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VM
b2FkU3RhdGlzdGljcy9tZXJnZS1zdGF0aXN0aWMtZG9lcy1ub3Qtb3ZlcndyaXRlLWRhdGFiYXNl
Lmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvbWVy
Z2Utc3RhdGlzdGljLWRvZXMtbm90LW92ZXJ3cml0ZS1kYXRhYmFzZS5odG1sCmRlbGV0ZWQgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCA0ZDRhMjgzNjdiZjZhNDcyMDdhY2I1OWZiMWIyYTk5M2JlMGJj
ODExLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91
dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9tZXJnZS1zdGF0aXN0aWMt
ZG9lcy1ub3Qtb3ZlcndyaXRlLWRhdGFiYXNlLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSw3OSAr
MCwwIEBACi08IURPQ1RZUEUgaHRtbD4KLTxodG1sIGxhbmc9ImVuIj4KLTxoZWFkPgotICAgIDxt
ZXRhIGNoYXJzZXQ9IlVURi04Ij4KLSAgICA8c2NyaXB0IHNyYz0iL2pzLXRlc3QtcmVzb3VyY2Vz
L2pzLXRlc3QuanMiPjwvc2NyaXB0PgotICAgIDxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvdXRpbC5q
cyI+PC9zY3JpcHQ+Ci0gICAgPHNjcmlwdD5kZXNjcmlwdGlvbigiVGVzdHMgdGhhdCBtZXJnZWQg
c3RhdGlzdGljIGRvZXMgbm90IG92ZXJ3cml0ZSBvbGQgc3RhdGlzdGljIik7PC9zY3JpcHQ+Ci08
L2hlYWQ+Ci08Ym9keSBvbmxvYWQ9InNldFRpbWVvdXQoJ3NldFVwQW5kUnVuKCknLCAwKSI+Ci08
c2NyaXB0PgotICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOwotCi0gICAgY29uc3QgdXJsID0gImh0
dHA6Ly8xMjcuMC4wLjE6ODAwMCI7Ci0gICAgY29uc3Qgc2FtcGxlVG9wRnJhbWVVUkwgPSAiaHR0
cDovL2xvY2FsaG9zdDo4MDAwIjsKLSAgICBjb25zdCBvbGRlclRpbWVzdGFtcCA9IE1hdGgucm91
bmQoKG5ldyBEYXRlKCkpLmdldFRpbWUoKSAvIDEwMDApOwotICAgIGNvbnN0IG5ld2VyVGltZXN0
YW1wID0gb2xkZXJUaW1lc3RhbXAgKyAxMDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgCi0gICAgZnVuY3Rpb24gaW5zZXJ0U2Vjb25kU3RhdGlzdGljKCkgewotICAgICAg
dGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNzTWVyZ2VTdGF0aXN0aWModXJsLCAiIiwgIiIsIG9sZGVy
VGltZXN0YW1wLCBmYWxzZSwgOTksIGZhbHNlLCBmYWxzZSwgZmFsc2UsIDAsIGZ1bmN0aW9uKCkg
ewotICAgICAgICAgIGlmICh0ZXN0UnVubmVyLmlzU3RhdGlzdGljc1ByZXZhbGVudFJlc291cmNl
KHVybCkpCi0gICAgICAgICAgICAgIHRlc3RQYXNzZWQoIkhvc3QgZGlkIG5vdCBvdmVyd3JpdGUg
b2xkIHByZXZhbGVudCByZXNvdXJjZSB2YWx1ZS4iKTsKLSAgICAgICAgICBlbHNlCi0gICAgICAg
ICAgICAgIHRlc3RGYWlsZWQoIkhvc3QgZGlkIG92ZXJ3cml0ZSBvbGQgcHJldmFsZW50IHJlc291
cmNlIHZhbHVlLiIpCi0gICAgICAgICAgCi0gICAgICAgICAgaWYgKHRlc3RSdW5uZXIuaXNTdGF0
aXN0aWNzVmVyeVByZXZhbGVudFJlc291cmNlKHVybCkpCi0gICAgICAgICAgICAgIHRlc3RQYXNz
ZWQoIkhvc3QgZGlkIG5vdCBvdmVyd3JpdGUgb2xkIHZlcnkgcHJldmFsZW50IHJlc291cmNlIHZh
bHVlLiIpOwotICAgICAgICAgIGVsc2UKLSAgICAgICAgICAgICAgdGVzdEZhaWxlZCgiSG9zdCBk
aWQgb3ZlcndyaXRlIG9sZCB2ZXJ5IHByZXZhbGVudCByZXNvdXJjZSB2YWx1ZS4iKTsKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAotICAgICAgICAgIGlmICh0
ZXN0UnVubmVyLmlzU3RhdGlzdGljc0hhc0hhZFVzZXJJbnRlcmFjdGlvbih1cmwpKQotICAgICAg
ICAgICAgICB0ZXN0UGFzc2VkKCJIb3N0IGRpZCBub3Qgb3ZlcndyaXRlIG9sZCBoYWQgdXNlciBp
bnRlcmFjdGlvbiB2YWx1ZSIpOwotICAgICAgICAgIGVsc2UKLSAgICAgICAgICAgICAgdGVzdEZh
aWxlZCgiSG9zdCBkaWQgb3ZlcndyaXRlIG9sZCBoYWQgdXNlciBpbnRlcmFjdGlvbiB2YWx1ZSIp
OwotCi0gICAgICAgICAgaWYgKHRlc3RSdW5uZXIuaXNTdGF0aXN0aWNzR3JhbmRmYXRoZXJlZCh1
cmwpKQotICAgICAgICAgICAgICB0ZXN0UGFzc2VkKCJIb3N0IGRpZCBub3Qgb3ZlcndyaXRlIG9s
ZCBncmFuZGZhdGhlcmVkIHZhbHVlLiIpOwotICAgICAgICAgIGVsc2UKLSAgICAgICAgICAgICAg
dGVzdEZhaWxlZCgiSG9zdCBkaWQgb3ZlcndyaXRlIG9sZCBncmFuZGZhdGhlcmVkIHZhbHVlLiIp
OwotCi0gICAgICAgICAgdGVzdFJ1bm5lci5zdGF0aXN0aWNzUmVzZXRUb0NvbnNpc3RlbnRTdGF0
ZShmdW5jdGlvbigpIHsKLSAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7Ci0gICAgICAgICAg
fSk7Ci0gICAgICB9KTsKLSAgICB9Ci0gICAgCi0gICAgZnVuY3Rpb24gcnVuVGVzdFJ1bm5lclRl
c3QoKSB7Ci0gICAgICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc01lcmdlU3RhdGlzdGljKHVy
bCwgIiIsICIiLCBuZXdlclRpbWVzdGFtcCwgdHJ1ZSwgMTAwLCB0cnVlLCB0cnVlLCB0cnVlLCAx
LCBmdW5jdGlvbigpIHsKLSAgICAgICAgICAgIGlmICghdGVzdFJ1bm5lci5pc1N0YXRpc3RpY3NQ
cmV2YWxlbnRSZXNvdXJjZSh1cmwpKQotICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoIkhvc3Qg
Z290IHNldCBhcyBwcmV2YWxlbnQgcmVzb3VyY2UuIik7Ci0KLSAgICAgICAgICAgIGlmICghdGVz
dFJ1bm5lci5pc1N0YXRpc3RpY3NWZXJ5UHJldmFsZW50UmVzb3VyY2UodXJsKSkKLSAgICAgICAg
ICAgICAgICB0ZXN0RmFpbGVkKCJIb3N0IGdvdCBzZXQgYXMgcHJldmFsZW50IHJlc291cmNlLiIp
OwotCi0gICAgICAgICAgICBpZiAoIXRlc3RSdW5uZXIuaXNTdGF0aXN0aWNzSGFzSGFkVXNlcklu
dGVyYWN0aW9uKHVybCkpCi0gICAgICAgICAgICAgICAgdGVzdEZhaWxlZCgiSG9zdCBnb3QgbG9n
Z2VkIGZvciB1c2VyIGludGVyYWN0aW9uLiIpOwotICAgICAgICAgICAgIAotICAgICAgICAgICAg
aWYgKCF0ZXN0UnVubmVyLmlzU3RhdGlzdGljc0dyYW5kZmF0aGVyZWQodXJsKSkKLSAgICAgICAg
ICAgICAgICB0ZXN0RmFpbGVkKCJIb3N0IGdvdCBzZXQgYXMgZ3JhbmRmYXRoZXJlZC4iKTsKLQot
ICAgICAgICAgICAgaW5zZXJ0U2Vjb25kU3RhdGlzdGljKCk7Ci0gICAgICAgIH0pOwotICAgIH0K
LQotICAgIGZ1bmN0aW9uIHNldFVwQW5kUnVuKCkgewotICAgICAgICBpZiAod2luZG93LnRlc3RS
dW5uZXIpIHsKLSAgICAgICAgICAgIHRlc3RSdW5uZXIuc2V0VXNlSVRQRGF0YWJhc2UodHJ1ZSk7
Ci0gICAgICAgICAgICBzZXRFbmFibGVGZWF0dXJlKHRydWUsIGZ1bmN0aW9uICgpIHsKLSAgICAg
ICAgICAgICAgICBydW5UZXN0UnVubmVyVGVzdCgpOwotICAgICAgICAgICAgfSk7Ci0gICAgICAg
IH0gZWxzZSB7Ci0gICAgICAgICAgICB0ZXN0RmFpbGVkKCJubyB0ZXN0UnVubmVyIik7Ci0gICAg
ICAgICAgICB0ZXN0UnVubmVyLnN0YXRpc3RpY3NSZXNldFRvQ29uc2lzdGVudFN0YXRlKGZ1bmN0
aW9uKCkgewotICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOwotICAgICAgICAgICAgfSk7
Ci0gICAgICAgIH0KLSAgICB9Ci08L3NjcmlwdD4KLTwvYm9keT4KLTwvaHRtbD4KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9tZXJnZS1z
dGF0aXN0aWMtZG9lcy1vdmVyd3JpdGUtZGF0YWJhc2UtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL21lcmdlLXN0YXRpc3RpYy1kb2Vz
LW92ZXJ3cml0ZS1kYXRhYmFzZS1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDVmYjFlNGE1MzA3ZDBmOGNlNGQ2MzBiZWRiODE1MzQzNzBlOGEyNjMuLjAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90
ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL21lcmdlLXN0YXRpc3RpYy1kb2VzLW92ZXJ3cml0
ZS1kYXRhYmFzZS1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSwxNSArMCwwIEBACi1U
ZXN0cyB0aGF0IG1lcmdlZCBzdGF0aXN0aWMgb3ZlcndyaXRlcyBvbGQgc3RhdGlzdGljCi0KLU9u
IHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxv
d2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KLQotCi1QQVNTIEhvc3Qgb3Zlcndyb3RlIG9sZCBwcmV2
YWxlbnQgcmVzb3VyY2UgdmFsdWUuCi1QQVNTIEhvc3Qgb3Zlcndyb3RlIG9sZCB2ZXJ5IHByZXZh
bGVudCByZXNvdXJjZSB2YWx1ZS4KLVBBU1MgSG9zdCBvdmVyd3JvdGUgb2xkIHVzZXIgaW50ZXJh
Y3Rpb24gdmFsdWUuCi1QQVNTIEhvc3Qgb3Zlcndyb3RlIG9sZCBncmFuZGZhdGhlcmVkIHZhbHVl
LgotUEFTUyBIb3N0IHNldCBhcyBzdWJmcmFtZSB1bmRlciB0b3AgZnJhbWUxLgotUEFTUyBIb3N0
IHNldCBhcyBzdWJmcmFtZSB1bmRlciB0b3AgZnJhbWUyLgotUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQotCi1URVNUIENPTVBMRVRFCi0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0
dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9tZXJnZS1zdGF0aXN0aWMtZG9lcy1vdmVy
d3JpdGUtZGF0YWJhc2UuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2Fk
U3RhdGlzdGljcy9tZXJnZS1zdGF0aXN0aWMtZG9lcy1vdmVyd3JpdGUtZGF0YWJhc2UuaHRtbApk
ZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMWExOTk0OTQ1N2UyYzc2OGE0MDdkYTE1MDAy
NTNjYmFiMmNiZmZkYy4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAot
LS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvbWVyZ2Ut
c3RhdGlzdGljLWRvZXMtb3ZlcndyaXRlLWRhdGFiYXNlLmh0bWwKKysrIC9kZXYvbnVsbApAQCAt
MSw5NyArMCwwIEBACi08IURPQ1RZUEUgaHRtbD4KLTxodG1sIGxhbmc9ImVuIj4KLTxoZWFkPgot
ICAgIDxtZXRhIGNoYXJzZXQ9IlVURi04Ij4KLSAgICA8c2NyaXB0IHNyYz0iL2pzLXRlc3QtcmVz
b3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgotICAgIDxzY3JpcHQgc3JjPSJyZXNvdXJjZXMv
dXRpbC5qcyI+PC9zY3JpcHQ+Ci0gICAgPHNjcmlwdD5kZXNjcmlwdGlvbigiVGVzdHMgdGhhdCBt
ZXJnZWQgc3RhdGlzdGljIG92ZXJ3cml0ZXMgb2xkIHN0YXRpc3RpYyIpOzwvc2NyaXB0PgotPC9o
ZWFkPgotPGJvZHkgb25sb2FkPSJzZXRUaW1lb3V0KCdzZXRVcEFuZFJ1bigpJywgMCkiPgotPHNj
cmlwdD4KLSAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKLQotICAgIGNvbnN0IHVybCA9ICJodHRw
Oi8vMTI3LjAuMC4xOjgwMDAiOwotICAgIGNvbnN0IHNhbXBsZVRvcEZyYW1lVVJMMSA9ICJodHRw
Oi8vdG9wRnJhbWVEb21haW4xOjgwMDAiOwotICAgIGNvbnN0IHNhbXBsZVRvcEZyYW1lVVJMMiA9
ICJodHRwOi8vdG9wRnJhbWVEb21haW4yOjgwMDAiOwotICAgIGNvbnN0IG9sZGVyVGltZXN0YW1w
ID0gTWF0aC5yb3VuZCgobmV3IERhdGUoKSkuZ2V0VGltZSgpIC8gMTAwMCk7Ci0gICAgY29uc3Qg
bmV3ZXJUaW1lc3RhbXAgPSBvbGRlclRpbWVzdGFtcCArIDEwOwotICAgIGNvbnN0IG1vc3RSZWNl
bnRVSVRvVHJpZ2dlckZpcnN0UGFydHlJbnRlcmFjdGlvbkNvdW50ID0gbmV3ZXJUaW1lc3RhbXAg
KyA5MDAwMDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCi0gICAgZnVu
Y3Rpb24gaW5zZXJ0U2Vjb25kU3RhdGlzdGljKCkgewotICAgIAotICAgICAgICAvLyBzZXQgdXJs
MSBhcyBwcmV2YWxlbnQgc28gaXQgaXMgaW4gdGhlIHN0YXRpc3RpY3Mgc3RvcmUKLSAgICAgICAg
Ly8gc2V0IHVybDIgaGF2aW5nIFVJIHNvIGl0IGlzIGluIHRoZSBzdGF0aXN0aWNzIHN0b3JlCi0g
ICAgICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc1ByZXZhbGVudFJlc291cmNlKHNhbXBsZVRv
cEZyYW1lVVJMMSwgdHJ1ZSwgZnVuY3Rpb24oKSB7Ci0gICAgICAgICAgICB0ZXN0UnVubmVyLnNl
dFN0YXRpc3RpY3NIYXNIYWRVc2VySW50ZXJhY3Rpb24oc2FtcGxlVG9wRnJhbWVVUkwyLCB0cnVl
LCBmdW5jdGlvbiAoKSB7Ci0gICAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLnNldFN0YXRpc3Rp
Y3NNZXJnZVN0YXRpc3RpYyh1cmwsIHNhbXBsZVRvcEZyYW1lVVJMMSwgc2FtcGxlVG9wRnJhbWVV
UkwyLCBuZXdlclRpbWVzdGFtcCwgdHJ1ZSwgbW9zdFJlY2VudFVJVG9UcmlnZ2VyRmlyc3RQYXJ0
eUludGVyYWN0aW9uQ291bnQsIHRydWUsIHRydWUsIHRydWUsIDEsIGZ1bmN0aW9uKCkgewotICAg
ICAgICAgICAgICAgICAgICAgIGlmICh0ZXN0UnVubmVyLmlzU3RhdGlzdGljc1ByZXZhbGVudFJl
c291cmNlKHVybCkpCi0gICAgICAgICAgICAgICAgICAgICAgICAgIHRlc3RQYXNzZWQoIkhvc3Qg
b3Zlcndyb3RlIG9sZCBwcmV2YWxlbnQgcmVzb3VyY2UgdmFsdWUuIik7Ci0gICAgICAgICAgICAg
ICAgICAgICAgZWxzZQotICAgICAgICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKCJIb3N0
IG5vdCBzZXQgYXMgcHJldmFsZW50IHJlc291cmNlLiIpOwotCi0gICAgICAgICAgICAgICAgICAg
ICAgaWYgKHRlc3RSdW5uZXIuaXNTdGF0aXN0aWNzVmVyeVByZXZhbGVudFJlc291cmNlKHVybCkp
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgIHRlc3RQYXNzZWQoIkhvc3Qgb3Zlcndyb3RlIG9s
ZCB2ZXJ5IHByZXZhbGVudCByZXNvdXJjZSB2YWx1ZS4iKTsKLSAgICAgICAgICAgICAgICAgICAg
ICBlbHNlCi0gICAgICAgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoIkhvc3Qgbm90IHNl
dCBhcyB2ZXJ5IHByZXZhbGVudCByZXNvdXJjZS4iKTsKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAotICAgICAgICAgICAgICAgICAgICAg
IGlmICh0ZXN0UnVubmVyLmlzU3RhdGlzdGljc0hhc0hhZFVzZXJJbnRlcmFjdGlvbih1cmwpKQot
ICAgICAgICAgICAgICAgICAgICAgICAgICB0ZXN0UGFzc2VkKCJIb3N0IG92ZXJ3cm90ZSBvbGQg
dXNlciBpbnRlcmFjdGlvbiB2YWx1ZS4iKTsKLSAgICAgICAgICAgICAgICAgICAgICBlbHNlCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoIkhvc3Qgbm90IGxvZ2dlZCBmb3Ig
dXNlciBpbnRlcmFjdGlvbi4iKTsKLSAgICAgICAgICAgICAgICAgICAgICAgCi0gICAgICAgICAg
ICAgICAgICAgICAgaWYgKHRlc3RSdW5uZXIuaXNTdGF0aXN0aWNzR3JhbmRmYXRoZXJlZCh1cmwp
KQotICAgICAgICAgICAgICAgICAgICAgICAgICB0ZXN0UGFzc2VkKCJIb3N0IG92ZXJ3cm90ZSBv
bGQgZ3JhbmRmYXRoZXJlZCB2YWx1ZS4iKTsKLSAgICAgICAgICAgICAgICAgICAgICBlbHNlCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoIkhvc3Qgbm90IHNldCBhcyBncmFu
ZGZhdGhlcmVkLiIpOwotCi0gICAgICAgICAgICAgICAgICAgICAgaWYgKHRlc3RSdW5uZXIuaXNT
dGF0aXN0aWNzUmVnaXN0ZXJlZEFzU3ViRnJhbWVVbmRlcih1cmwsIHNhbXBsZVRvcEZyYW1lVVJM
MSkpCi0gICAgICAgICAgICAgICAgICAgICAgICAgIHRlc3RQYXNzZWQoIkhvc3Qgc2V0IGFzIHN1
YmZyYW1lIHVuZGVyIHRvcCBmcmFtZTEuIik7Ci0gICAgICAgICAgICAgICAgICAgICAgZWxzZQot
ICAgICAgICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKCJIb3N0IG5vdCBzZXQgYXMgc3Vi
ZnJhbWUgdW5kZXIgdG9wIGZyYW1lMS4iKTsKLSAgICAgICAgICAgICAgICAgICAgICBpZiAodGVz
dFJ1bm5lci5pc1N0YXRpc3RpY3NSZWdpc3RlcmVkQXNTdWJGcmFtZVVuZGVyKHVybCwgc2FtcGxl
VG9wRnJhbWVVUkwyKSkKLSAgICAgICAgICAgICAgICAgICAgICAgICAgdGVzdFBhc3NlZCgiSG9z
dCBzZXQgYXMgc3ViZnJhbWUgdW5kZXIgdG9wIGZyYW1lMi4iKTsKLSAgICAgICAgICAgICAgICAg
ICAgICBlbHNlCi0gICAgICAgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoIkhvc3Qgbm90
IHNldCBhcyBzdWJmcmFtZSB1bmRlciB0b3AgZnJhbWUyLiIpOwotCi0gICAgICAgICAgICAgICAg
ICAgICAgdGVzdFJ1bm5lci5zdGF0aXN0aWNzUmVzZXRUb0NvbnNpc3RlbnRTdGF0ZShmdW5jdGlv
bigpIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7Ci0gICAgICAg
ICAgICAgICAgICAgICAgfSk7Ci0gICAgICAgICAgICAgICAgICB9KTsKLSAgICAgICAgICAgICB9
KTsKLSAgICAgICAgfSk7Ci0gICAgfQotICAgIAotICAgIGZ1bmN0aW9uIHJ1blRlc3RSdW5uZXJU
ZXN0KCkgewotICAgICAgICB0ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NNZXJnZVN0YXRpc3RpYyh1
cmwsICIiLCAiIiwgb2xkZXJUaW1lc3RhbXAsIGZhbHNlLCAwLCBmYWxzZSwgZmFsc2UsIGZhbHNl
LCAwLCBmdW5jdGlvbigpIHsKLSAgICAgICAgICAgIGlmICh0ZXN0UnVubmVyLmlzU3RhdGlzdGlj
c1ByZXZhbGVudFJlc291cmNlKHVybCkpCi0gICAgICAgICAgICAgICAgdGVzdEZhaWxlZCgiSG9z
dCBnb3Qgc2V0IGFzIHByZXZhbGVudCByZXNvdXJjZS4iKTsKLQotICAgICAgICAgICAgaWYgKHRl
c3RSdW5uZXIuaXNTdGF0aXN0aWNzVmVyeVByZXZhbGVudFJlc291cmNlKHVybCkpCi0gICAgICAg
ICAgICAgICAgdGVzdEZhaWxlZCgiSG9zdCBnb3Qgc2V0IGFzIHByZXZhbGVudCByZXNvdXJjZS4i
KTsKLQotICAgICAgICAgICAgaWYgKHRlc3RSdW5uZXIuaXNTdGF0aXN0aWNzSGFzSGFkVXNlcklu
dGVyYWN0aW9uKHVybCkpCi0gICAgICAgICAgICAgICAgdGVzdEZhaWxlZCgiSG9zdCBnb3QgbG9n
Z2VkIGZvciB1c2VyIGludGVyYWN0aW9uLiIpOwotICAgICAgICAgICAgIAotICAgICAgICAgICAg
aWYgKHRlc3RSdW5uZXIuaXNTdGF0aXN0aWNzR3JhbmRmYXRoZXJlZCh1cmwpKQotICAgICAgICAg
ICAgICAgIHRlc3RGYWlsZWQoIkhvc3QgZ290IHNldCBhcyBncmFuZGZhdGhlcmVkLiIpOwotCi0g
ICAgICAgICAgICBpbnNlcnRTZWNvbmRTdGF0aXN0aWMoKTsKLSAgICAgICAgfSk7Ci0gICAgfQot
Ci0gICAgZnVuY3Rpb24gc2V0VXBBbmRSdW4oKSB7Ci0gICAgICAgIGlmICh3aW5kb3cudGVzdFJ1
bm5lcikgewotICAgICAgICAgICAgdGVzdFJ1bm5lci5zZXRVc2VJVFBEYXRhYmFzZSh0cnVlKTsK
LSAgICAgICAgICAgIHNldEVuYWJsZUZlYXR1cmUodHJ1ZSwgZnVuY3Rpb24gKCkgewotICAgICAg
ICAgICAgICAgIHJ1blRlc3RSdW5uZXJUZXN0KCk7Ci0gICAgICAgICAgICB9KTsKLSAgICAgICAg
fSBlbHNlIHsKLSAgICAgICAgICAgIHRlc3RGYWlsZWQoIm5vIHRlc3RSdW5uZXIiKTsKLSAgICAg
ICAgICAgIHRlc3RSdW5uZXIuc3RhdGlzdGljc1Jlc2V0VG9Db25zaXN0ZW50U3RhdGUoZnVuY3Rp
b24oKSB7Ci0gICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7Ci0gICAgICAgICAgICB9KTsK
LSAgICAgICAgfQotICAgIH0KLTwvc2NyaXB0PgotPC9ib2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL21lcmdlLXN0
YXRpc3RpYy1kb2VzLXBhcnRpYWxseS1vdmVyd3JpdGUtZGF0YWJhc2UtZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL21lcmdlLXN0YXRp
c3RpYy1kb2VzLXBhcnRpYWxseS1vdmVyd3JpdGUtZGF0YWJhc2UtZXhwZWN0ZWQudHh0CmRlbGV0
ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBjNzFlNDZiNzljOTE1NWVhODcxMTkwYTE2MzAzMThl
OWRiZWRiNzAwLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBh
L0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9tZXJnZS1zdGF0
aXN0aWMtZG9lcy1wYXJ0aWFsbHktb3ZlcndyaXRlLWRhdGFiYXNlLWV4cGVjdGVkLnR4dAorKysg
L2Rldi9udWxsCkBAIC0xLDE0ICswLDAgQEAKLVRlc3RzIHRoYXQgbWVyZ2VkIHN0YXRpc3RpYyBv
dmVyd3JpdGVzIG9sZCBzdGF0aXN0aWMKLQotT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2Vy
aWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgotCi0K
LVBBU1MgSG9zdCBvdmVyd3JvdGUgb2xkIHByZXZhbGVudCByZXNvdXJjZSB2YWx1ZS4KLVBBU1Mg
SG9zdCBvdmVyd3JvdGUgb2xkIHZlcnkgcHJldmFsZW50IHJlc291cmNlIHZhbHVlLgotUEFTUyBI
b3N0IGRpZCBub3Qgb3ZlcndyaXRlIG9sZCB1c2VyIGludGVyYWN0aW9uIHZhbHVlLgotUEFTUyBI
b3N0IG92ZXJ3cm90ZSBvbGQgZ3JhbmRmYXRoZXJlZCB2YWx1ZS4KLVBBU1MgSG9zdCBzZXQgYXMg
c3ViZnJhbWUgdW5kZXIgdG9wIGZyYW1lLgotUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1
ZQotCi1URVNUIENPTVBMRVRFCi0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMv
cmVzb3VyY2VMb2FkU3RhdGlzdGljcy9tZXJnZS1zdGF0aXN0aWMtZG9lcy1wYXJ0aWFsbHktb3Zl
cndyaXRlLWRhdGFiYXNlLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9h
ZFN0YXRpc3RpY3MvbWVyZ2Utc3RhdGlzdGljLWRvZXMtcGFydGlhbGx5LW92ZXJ3cml0ZS1kYXRh
YmFzZS5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBhYjNjNzJiNTY0YmYwNjM0
NjIzY2VkMGQyYjI3NDE4ZDgzYTM5YTE1Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlz
dGljcy9tZXJnZS1zdGF0aXN0aWMtZG9lcy1wYXJ0aWFsbHktb3ZlcndyaXRlLWRhdGFiYXNlLmh0
bWwKKysrIC9kZXYvbnVsbApAQCAtMSw5MCArMCwwIEBACi08IURPQ1RZUEUgaHRtbD4KLTxodG1s
IGxhbmc9ImVuIj4KLTxoZWFkPgotICAgIDxtZXRhIGNoYXJzZXQ9IlVURi04Ij4KLSAgICA8c2Ny
aXB0IHNyYz0iL2pzLXRlc3QtcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgotICAgIDxz
Y3JpcHQgc3JjPSJyZXNvdXJjZXMvdXRpbC5qcyI+PC9zY3JpcHQ+Ci0gICAgPHNjcmlwdD5kZXNj
cmlwdGlvbigiVGVzdHMgdGhhdCBtZXJnZWQgc3RhdGlzdGljIG92ZXJ3cml0ZXMgb2xkIHN0YXRp
c3RpYyIpOzwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHkgb25sb2FkPSJzZXRUaW1lb3V0KCdzZXRV
cEFuZFJ1bigpJywgMCkiPgotPHNjcmlwdD4KLSAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKLQot
ICAgIGNvbnN0IHVybCA9ICJodHRwOi8vMTI3LjAuMC4xOjgwMDAiOwotICAgIGNvbnN0IHNhbXBs
ZVRvcEZyYW1lVVJMID0gImh0dHA6Ly90b3BGcmFtZURvbWFpbjo4MDAwIjsKLSAgICBjb25zdCBv
bGRlclRpbWVzdGFtcCA9IE1hdGgucm91bmQoKG5ldyBEYXRlKCkpLmdldFRpbWUoKSAvIDEwMDAp
OwotICAgIGNvbnN0IG5ld2VyVGltZXN0YW1wID0gb2xkZXJUaW1lc3RhbXAgKyAxMDsKLSAgICBj
b25zdCBtb3N0UmVjZW50VUlUb1RyaWdnZXJGaXJzdFBhcnR5SW50ZXJhY3Rpb25Db3VudCA9IG5l
d2VyVGltZXN0YW1wICsgOTAwMDA7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIAotICAgIGZ1bmN0aW9uIGluc2VydFNlY29uZFN0YXRpc3RpYygpIHsKLSAgICAKLSAgICAg
ICAgLy8gc2V0IHRoaXMgcmVzb3VyY2UgYXMgcHJldmFsZW50IHNvIGl0IGlzIGluIHRoZSBzdGF0
aXN0aWNzIHN0b3JlCi0gICAgICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc1ByZXZhbGVudFJl
c291cmNlKHNhbXBsZVRvcEZyYW1lVVJMLCB0cnVlLCBmdW5jdGlvbigpIHsKLSAgICAgICAgCi0g
ICAgICAgICAgICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc01lcmdlU3RhdGlzdGljKHVybCwg
c2FtcGxlVG9wRnJhbWVVUkwsICIiLCBuZXdlclRpbWVzdGFtcCwgZmFsc2UsIG1vc3RSZWNlbnRV
SVRvVHJpZ2dlckZpcnN0UGFydHlJbnRlcmFjdGlvbkNvdW50LCB0cnVlLCB0cnVlLCB0cnVlLCAx
LCBmdW5jdGlvbigpIHsKLSAgICAgICAgICAgICAgICAgIGlmICh0ZXN0UnVubmVyLmlzU3RhdGlz
dGljc1ByZXZhbGVudFJlc291cmNlKHVybCkpCi0gICAgICAgICAgICAgICAgICAgICAgdGVzdFBh
c3NlZCgiSG9zdCBvdmVyd3JvdGUgb2xkIHByZXZhbGVudCByZXNvdXJjZSB2YWx1ZS4iKTsKLSAg
ICAgICAgICAgICAgICAgIGVsc2UKLSAgICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKCJI
b3N0IG5vdCBzZXQgYXMgcHJldmFsZW50IHJlc291cmNlLiIpOwotCi0gICAgICAgICAgICAgICAg
ICBpZiAodGVzdFJ1bm5lci5pc1N0YXRpc3RpY3NWZXJ5UHJldmFsZW50UmVzb3VyY2UodXJsKSkK
LSAgICAgICAgICAgICAgICAgICAgICB0ZXN0UGFzc2VkKCJIb3N0IG92ZXJ3cm90ZSBvbGQgdmVy
eSBwcmV2YWxlbnQgcmVzb3VyY2UgdmFsdWUuIik7Ci0gICAgICAgICAgICAgICAgICBlbHNlCi0g
ICAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZCgiSG9zdCBub3Qgc2V0IGFzIHZlcnkgcHJl
dmFsZW50IHJlc291cmNlLiIpOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAKLSAgICAgICAgICAgICAgICAgIGlmICghdGVzdFJ1bm5lci5pc1N0
YXRpc3RpY3NIYXNIYWRVc2VySW50ZXJhY3Rpb24odXJsKSkKLSAgICAgICAgICAgICAgICAgICAg
ICB0ZXN0UGFzc2VkKCJIb3N0IGRpZCBub3Qgb3ZlcndyaXRlIG9sZCB1c2VyIGludGVyYWN0aW9u
IHZhbHVlLiIpOwotICAgICAgICAgICAgICAgICAgZWxzZQotICAgICAgICAgICAgICAgICAgICAg
IHRlc3RGYWlsZWQoIkhvc3Qgbm90IGxvZ2dlZCBmb3IgdXNlciBpbnRlcmFjdGlvbi4iKTsKLQot
ICAgICAgICAgICAgICAgICAgaWYgKHRlc3RSdW5uZXIuaXNTdGF0aXN0aWNzR3JhbmRmYXRoZXJl
ZCh1cmwpKQotICAgICAgICAgICAgICAgICAgICAgIHRlc3RQYXNzZWQoIkhvc3Qgb3Zlcndyb3Rl
IG9sZCBncmFuZGZhdGhlcmVkIHZhbHVlLiIpOwotICAgICAgICAgICAgICAgICAgZWxzZQotICAg
ICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoIkhvc3Qgbm90IHNldCBhcyBncmFuZGZhdGhl
cmVkLiIpOwotCi0gICAgICAgICAgICAgICAgICBpZiAodGVzdFJ1bm5lci5pc1N0YXRpc3RpY3NS
ZWdpc3RlcmVkQXNTdWJGcmFtZVVuZGVyKHVybCwgc2FtcGxlVG9wRnJhbWVVUkwpKQotICAgICAg
ICAgICAgICAgICAgICAgIHRlc3RQYXNzZWQoIkhvc3Qgc2V0IGFzIHN1YmZyYW1lIHVuZGVyIHRv
cCBmcmFtZS4iKTsKLSAgICAgICAgICAgICAgICAgIGVsc2UKLSAgICAgICAgICAgICAgICAgICAg
ICB0ZXN0RmFpbGVkKCJIb3N0IG5vdCBzZXQgYXMgc3ViZnJhbWUgdW5kZXIgdG9wIGZyYW1lLiIp
OwotCi0gICAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLnN0YXRpc3RpY3NSZXNldFRvQ29uc2lz
dGVudFN0YXRlKGZ1bmN0aW9uKCkgewotICAgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVz
dCgpOwotICAgICAgICAgICAgICAgICAgfSk7Ci0gICAgICAgICAgICAgIH0pOwotICAgICAgICAg
fSk7Ci0gICAgfQotICAgIAotICAgIGZ1bmN0aW9uIHJ1blRlc3RSdW5uZXJUZXN0KCkgewotICAg
ICAgICB0ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NNZXJnZVN0YXRpc3RpYyh1cmwsICIiLCAiIiwg
b2xkZXJUaW1lc3RhbXAsIGZhbHNlLCAwLCBmYWxzZSwgZmFsc2UsIGZhbHNlLCAwLCBmdW5jdGlv
bigpIHsKLSAgICAgICAgICAgIGlmICh0ZXN0UnVubmVyLmlzU3RhdGlzdGljc1ByZXZhbGVudFJl
c291cmNlKHVybCkpCi0gICAgICAgICAgICAgICAgdGVzdEZhaWxlZCgiSG9zdCBnb3Qgc2V0IGFz
IHByZXZhbGVudCByZXNvdXJjZS4iKTsKLQotICAgICAgICAgICAgaWYgKHRlc3RSdW5uZXIuaXNT
dGF0aXN0aWNzVmVyeVByZXZhbGVudFJlc291cmNlKHVybCkpCi0gICAgICAgICAgICAgICAgdGVz
dEZhaWxlZCgiSG9zdCBnb3Qgc2V0IGFzIHByZXZhbGVudCByZXNvdXJjZS4iKTsKLQotICAgICAg
ICAgICAgaWYgKHRlc3RSdW5uZXIuaXNTdGF0aXN0aWNzSGFzSGFkVXNlckludGVyYWN0aW9uKHVy
bCkpCi0gICAgICAgICAgICAgICAgdGVzdEZhaWxlZCgiSG9zdCBnb3QgbG9nZ2VkIGZvciB1c2Vy
IGludGVyYWN0aW9uLiIpOwotICAgICAgICAgICAgIAotICAgICAgICAgICAgaWYgKHRlc3RSdW5u
ZXIuaXNTdGF0aXN0aWNzR3JhbmRmYXRoZXJlZCh1cmwpKQotICAgICAgICAgICAgICAgIHRlc3RG
YWlsZWQoIkhvc3QgZ290IHNldCBhcyBncmFuZGZhdGhlcmVkLiIpOwotCi0gICAgICAgICAgICBp
bnNlcnRTZWNvbmRTdGF0aXN0aWMoKTsKLSAgICAgICAgfSk7Ci0gICAgfQotCi0gICAgZnVuY3Rp
b24gc2V0VXBBbmRSdW4oKSB7Ci0gICAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikgewotICAg
ICAgICAgICAgdGVzdFJ1bm5lci5zZXRVc2VJVFBEYXRhYmFzZSh0cnVlKTsKLSAgICAgICAgICAg
IHNldEVuYWJsZUZlYXR1cmUodHJ1ZSwgZnVuY3Rpb24gKCkgewotICAgICAgICAgICAgICAgIHJ1
blRlc3RSdW5uZXJUZXN0KCk7Ci0gICAgICAgICAgICB9KTsKLSAgICAgICAgfSBlbHNlIHsKLSAg
ICAgICAgICAgIHRlc3RGYWlsZWQoIm5vIHRlc3RSdW5uZXIiKTsKLSAgICAgICAgICAgIHRlc3RS
dW5uZXIuc3RhdGlzdGljc1Jlc2V0VG9Db25zaXN0ZW50U3RhdGUoZnVuY3Rpb24oKSB7Ci0gICAg
ICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7Ci0gICAgICAgICAgICB9KTsKLSAgICAgICAgfQot
ICAgIH0KLTwvc2NyaXB0PgotPC9ib2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL25vbi1wcmV2YWxlbnQtcmVzb3Vy
Y2Utd2l0aC11c2VyLWludGVyYWN0aW9uLWRhdGFiYXNlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9ub24tcHJldmFsZW50LXJlc291
cmNlLXdpdGgtdXNlci1pbnRlcmFjdGlvbi1kYXRhYmFzZS1leHBlY3RlZC50eHQKZGVsZXRlZCBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IGM4OWY4NTVhNzg5Y2YxMGJmMzMwZjRjOTJlYTEyYjk0MWFi
ZWZjMDcuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL25vbi1wcmV2YWxlbnQt
cmVzb3VyY2Utd2l0aC11c2VyLWludGVyYWN0aW9uLWRhdGFiYXNlLWV4cGVjdGVkLnR4dAorKysg
L2Rldi9udWxsCkBAIC0xLDUgKzAsMCBAQAotUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1
ZQotCi1URVNUIENPTVBMRVRFCi1QQVNTIENvb2tpZSBub3QgZGVsZXRlZC4KLQpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL25vbi1wcmV2
YWxlbnQtcmVzb3VyY2Utd2l0aC11c2VyLWludGVyYWN0aW9uLWRhdGFiYXNlLmh0bWwgYi9MYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3Mvbm9uLXByZXZhbGVudC1y
ZXNvdXJjZS13aXRoLXVzZXItaW50ZXJhY3Rpb24tZGF0YWJhc2UuaHRtbApkZWxldGVkIGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggYWYzMWQ4YWEwNDM0ZjM1ZTlmMGU4MjdiYzQ1Mzg5YWZkODI4ODBi
Yi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRU
ZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3Mvbm9uLXByZXZhbGVudC1yZXNv
dXJjZS13aXRoLXVzZXItaW50ZXJhY3Rpb24tZGF0YWJhc2UuaHRtbAorKysgL2Rldi9udWxsCkBA
IC0xLDYyICswLDAgQEAKLTwhRE9DVFlQRSBodG1sPgotPGh0bWwgbGFuZz0iZW4iPgotPGhlYWQ+
Ci0gICAgPG1ldGEgY2hhcnNldD0iVVRGLTgiPgotICAgIDx0aXRsZT5UZXN0cyBmb3IgTm9uLVBy
ZXZhbGVudCBSZXNvdXJjZSBXaXRoIFVzZXIgSW50ZXJhY3Rpb248L3RpdGxlPgotICAgIDxzY3Jp
cHQgc3JjPSIvanMtdGVzdC1yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+Ci0gICAgPHNj
cmlwdCBzcmM9InJlc291cmNlcy91dGlsLmpzIj48L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5Pgot
PHNjcmlwdD4KLSAgICBjb25zdCBob3N0VW5kZXJUZXN0ID0gIjEyNy4wLjAuMTo4MDAwIjsKLSAg
ICBjb25zdCBzdGF0aXN0aWNzVXJsID0gImh0dHA6Ly8iICsgaG9zdFVuZGVyVGVzdCArICIvdGVt
cCI7Ci0gICAgY29uc3Qgb3RoZXJQcmV2YWxlbnRVcmwgPSAiaHR0cDovL2xvY2FsaG9zdDo4MDAw
L3RlbXAiOwotCi0gICAgZnVuY3Rpb24gcnVuVGVzdFJ1bm5lclRlc3QoKSB7Ci0gICAgICAgIGlm
IChkb2N1bWVudC5jb29raWUgIT09ICIiKQotICAgICAgICAgICAgdGVzdEZhaWxlZCgiZG9jdW1l
bnQuY29va2llIG5vdCBlbXB0eS4iKTsKLSAgICAgICAgY29uc3QgY29va2llID0gInRlc3RDb29r
aWU9dGVzdFZhbHVlIjsKLSAgICAgICAgZG9jdW1lbnQuY29va2llID0gY29va2llICsgIjsgbWF4
LWFnZT0xMDA7IjsKLSAgICAgICAgaWYgKGRvY3VtZW50LmNvb2tpZSAhPT0gY29va2llKQotICAg
ICAgICAgICAgdGVzdEZhaWxlZCgiZG9jdW1lbnQuY29va2llIGRpZCBub3QgZ2V0IHNldC4iKTsK
LQotICAgICAgICB0ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NQcmV2YWxlbnRSZXNvdXJjZShzdGF0
aXN0aWNzVXJsLCBmYWxzZSwgZnVuY3Rpb24oKSB7Ci0gICAgICAgICAgICBpZiAodGVzdFJ1bm5l
ci5pc1N0YXRpc3RpY3NQcmV2YWxlbnRSZXNvdXJjZShzdGF0aXN0aWNzVXJsKSkKLSAgICAgICAg
ICAgICAgICB0ZXN0RmFpbGVkKCJIb3N0IGRpZCBub3QgZ2V0IHNldCBhcyBub24tcHJldmFsZW50
IHJlc291cmNlLiIpOwotCi0gICAgICAgICAgICAvLyBUaGlzIGlzIGRvbmUgdG8gbm90IGhhdmUg
YW4gZW1wdHkgc2V0IG9mIHByZXZhbGVudCByZXNvdXJjZXMuCi0gICAgICAgICAgICAvLyBPdGhl
cndpc2UgZGF0YSByZWNvcmRzIGFyZSBuZXZlciBzY2FubmVkLgotICAgICAgICAgICAgdGVzdFJ1
bm5lci5zZXRTdGF0aXN0aWNzUHJldmFsZW50UmVzb3VyY2Uob3RoZXJQcmV2YWxlbnRVcmwsIHRy
dWUsIGZ1bmN0aW9uKCkgewotICAgICAgICAgICAgICAgIGlmICghdGVzdFJ1bm5lci5pc1N0YXRp
c3RpY3NQcmV2YWxlbnRSZXNvdXJjZShvdGhlclByZXZhbGVudFVybCkpCi0gICAgICAgICAgICAg
ICAgICAgIHRlc3RGYWlsZWQoIk90aGVyIGhvc3QgZGlkIG5vdCBnZXQgc2V0IGFzIHByZXZhbGVu
dCByZXNvdXJjZS4iKTsKLQotICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGlj
c0hhc0hhZFVzZXJJbnRlcmFjdGlvbihzdGF0aXN0aWNzVXJsLCB0cnVlLCBmdW5jdGlvbigpIHsK
LSAgICAgICAgICAgICAgICAgICAgaWYgKCF0ZXN0UnVubmVyLmlzU3RhdGlzdGljc0hhc0hhZFVz
ZXJJbnRlcmFjdGlvbihzdGF0aXN0aWNzVXJsKSkKLSAgICAgICAgICAgICAgICAgICAgICAgIHRl
c3RGYWlsZWQoIkhvc3QgZGlkIG5vdCBnZXQgbG9nZ2VkIGZvciB1c2VyIGludGVyYWN0aW9uLiIp
OwotCi0gICAgICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIuaW5zdGFsbFN0YXRpc3RpY3NEaWRT
Y2FuRGF0YVJlY29yZHNDYWxsYmFjayhmdW5jdGlvbigpIHsKLSAgICAgICAgICAgICAgICAgICAg
ICAgIGlmIChkb2N1bWVudC5jb29raWUgPT09IGNvb2tpZSkKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICB0ZXN0UGFzc2VkKCJDb29raWUgbm90IGRlbGV0ZWQuIik7Ci0gICAgICAgICAgICAg
ICAgICAgICAgICBlbHNlCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZCgi
Q29va2llIGRlbGV0ZWQgb3IgZG9jdW1lbnQuY29va2llIGNvbnRhaW5zIG90aGVyIGNvb2tpZXM6
ICIgKyBkb2N1bWVudC5jb29raWUpOwotCi0gICAgICAgICAgICAgICAgICAgICAgICBzZXRFbmFi
bGVGZWF0dXJlKGZhbHNlLCBmdW5jdGlvbigpIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICB0ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsKLSAgICAgICAgICAgICAgICAgICAgICAgIH0pOwot
ICAgICAgICAgICAgICAgICAgICB9KTsKLSAgICAgICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5z
ZXRTdGF0aXN0aWNzU2hvdWxkQ2xhc3NpZnlSZXNvdXJjZXNCZWZvcmVEYXRhUmVjb3Jkc1JlbW92
YWwoZmFsc2UpOwotICAgICAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NN
aW5pbXVtVGltZUJldHdlZW5EYXRhUmVjb3Jkc1JlbW92YWwoMCk7Ci0gICAgICAgICAgICAgICAg
ICAgIHRlc3RSdW5uZXIuc3RhdGlzdGljc1Byb2Nlc3NTdGF0aXN0aWNzQW5kRGF0YVJlY29yZHMo
KTsKLSAgICAgICAgICAgICAgICB9KTsKLSAgICAgICAgICAgIH0pOwotICAgICAgICB9KTsKLSAg
ICB9Ci0KLSAgICBpZiAoZG9jdW1lbnQubG9jYXRpb24uaG9zdCA9PT0gaG9zdFVuZGVyVGVzdCAm
JiB3aW5kb3cudGVzdFJ1bm5lciAmJiB3aW5kb3cuaW50ZXJuYWxzKSB7Ci0gICAgICAgIHRlc3RS
dW5uZXIuc2V0VXNlSVRQRGF0YWJhc2UodHJ1ZSk7Ci0gICAgICAgIHRlc3RSdW5uZXIud2FpdFVu
dGlsRG9uZSgpOwotICAgICAgICBzZXRFbmFibGVGZWF0dXJlKHRydWUsIHJ1blRlc3RSdW5uZXJU
ZXN0KTsKLSAgICB9Ci08L3NjcmlwdD4KLTwvYm9keT4KLTwvaHRtbD4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9ub24tcHJldmFsZW50
LXJlc291cmNlLXdpdGhvdXQtdXNlci1pbnRlcmFjdGlvbi1kYXRhYmFzZS1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3Mvbm9uLXByZXZh
bGVudC1yZXNvdXJjZS13aXRob3V0LXVzZXItaW50ZXJhY3Rpb24tZGF0YWJhc2UtZXhwZWN0ZWQu
dHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBjODlmODU1YTc4OWNmMTBiZjMzMGY0
YzkyZWExMmI5NDFhYmVmYzA3Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwCi0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9u
b24tcHJldmFsZW50LXJlc291cmNlLXdpdGhvdXQtdXNlci1pbnRlcmFjdGlvbi1kYXRhYmFzZS1l
eHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSw1ICswLDAgQEAKLVBBU1Mgc3VjY2Vzc2Z1
bGx5UGFyc2VkIGlzIHRydWUKLQotVEVTVCBDT01QTEVURQotUEFTUyBDb29raWUgbm90IGRlbGV0
ZWQuCi0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3Rh
dGlzdGljcy9ub24tcHJldmFsZW50LXJlc291cmNlLXdpdGhvdXQtdXNlci1pbnRlcmFjdGlvbi1k
YXRhYmFzZS5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0
aWNzL25vbi1wcmV2YWxlbnQtcmVzb3VyY2Utd2l0aG91dC11c2VyLWludGVyYWN0aW9uLWRhdGFi
YXNlLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDc0NWY2OThiZWQwNDI1NjEx
OTk5Nzc3NGFjZDY5YjY1NzM0MTc3OGQuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0
aWNzL25vbi1wcmV2YWxlbnQtcmVzb3VyY2Utd2l0aG91dC11c2VyLWludGVyYWN0aW9uLWRhdGFi
YXNlLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSw2MiArMCwwIEBACi08IURPQ1RZUEUgaHRtbD4K
LTxodG1sIGxhbmc9ImVuIj4KLTxoZWFkPgotICAgIDxtZXRhIGNoYXJzZXQ9IlVURi04Ij4KLSAg
ICA8dGl0bGU+VGVzdHMgZm9yIE5vbi1QcmV2YWxlbnQgUmVzb3VyY2UgV2l0aG91dCBVc2VyIElu
dGVyYWN0aW9uPC90aXRsZT4KLSAgICA8c2NyaXB0IHNyYz0iL2pzLXRlc3QtcmVzb3VyY2VzL2pz
LXRlc3QuanMiPjwvc2NyaXB0PgotICAgIDxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvdXRpbC5qcyI+
PC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keT4KLTxzY3JpcHQ+Ci0gICAgY29uc3QgaG9zdFVuZGVy
VGVzdCA9ICIxMjcuMC4wLjE6ODAwMCI7Ci0gICAgY29uc3Qgc3RhdGlzdGljc1VybCA9ICJodHRw
Oi8vIiArIGhvc3RVbmRlclRlc3QgKyAiL3RlbXAiOwotICAgIGNvbnN0IG90aGVyUHJldmFsZW50
VXJsID0gImh0dHA6Ly9sb2NhbGhvc3Q6ODAwMC90ZW1wIjsKLQotICAgIGZ1bmN0aW9uIHJ1blRl
c3RSdW5uZXJUZXN0KCkgewotICAgICAgICBpZiAoZG9jdW1lbnQuY29va2llICE9PSAiIikKLSAg
ICAgICAgICAgIHRlc3RGYWlsZWQoImRvY3VtZW50LmNvb2tpZSBub3QgZW1wdHkuIik7Ci0gICAg
ICAgIGNvbnN0IGNvb2tpZSA9ICJ0ZXN0Q29va2llPXRlc3RWYWx1ZSI7Ci0gICAgICAgIGRvY3Vt
ZW50LmNvb2tpZSA9IGNvb2tpZSArICI7IG1heC1hZ2U9MTAwOyI7Ci0gICAgICAgIGlmIChkb2N1
bWVudC5jb29raWUgIT09IGNvb2tpZSkKLSAgICAgICAgICAgIHRlc3RGYWlsZWQoImRvY3VtZW50
LmNvb2tpZSBkaWQgbm90IGdldCBzZXQuIik7Ci0KLSAgICAgICAgdGVzdFJ1bm5lci5zZXRTdGF0
aXN0aWNzUHJldmFsZW50UmVzb3VyY2Uoc3RhdGlzdGljc1VybCwgZmFsc2UsIGZ1bmN0aW9uKCkg
ewotICAgICAgICAgICAgaWYgKHRlc3RSdW5uZXIuaXNTdGF0aXN0aWNzUHJldmFsZW50UmVzb3Vy
Y2Uoc3RhdGlzdGljc1VybCkpCi0gICAgICAgICAgICAgICAgdGVzdEZhaWxlZCgiSG9zdCBkaWQg
bm90IGdldCBzZXQgYXMgbm9uLXByZXZhbGVudCByZXNvdXJjZS4iKTsKLQotICAgICAgICAgICAg
Ly8gVGhpcyBpcyBkb25lIHRvIG5vdCBoYXZlIGFuIGVtcHR5IHNldCBvZiBwcmV2YWxlbnQgcmVz
b3VyY2VzLgotICAgICAgICAgICAgLy8gT3RoZXJ3aXNlIGRhdGEgcmVjb3JkcyBhcmUgbmV2ZXIg
c2Nhbm5lZC4KLSAgICAgICAgICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc1ByZXZhbGVudFJl
c291cmNlKG90aGVyUHJldmFsZW50VXJsLCB0cnVlLCBmdW5jdGlvbigpIHsKLSAgICAgICAgICAg
ICAgICBpZiAoIXRlc3RSdW5uZXIuaXNTdGF0aXN0aWNzUHJldmFsZW50UmVzb3VyY2Uob3RoZXJQ
cmV2YWxlbnRVcmwpKQotICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKCJPdGhlciBob3N0
IGRpZCBub3QgZ2V0IHNldCBhcyBwcmV2YWxlbnQgcmVzb3VyY2UuIik7Ci0KLSAgICAgICAgICAg
ICAgICB0ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NIYXNIYWRVc2VySW50ZXJhY3Rpb24oc3RhdGlz
dGljc1VybCwgZmFsc2UsIGZ1bmN0aW9uKCkgewotICAgICAgICAgICAgICAgICAgICBpZiAodGVz
dFJ1bm5lci5pc1N0YXRpc3RpY3NIYXNIYWRVc2VySW50ZXJhY3Rpb24oc3RhdGlzdGljc1VybCkp
Ci0gICAgICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKCJIb3N0IGRpZCBub3QgZ2V0IGNs
ZWFyZWQgb2YgdXNlciBpbnRlcmFjdGlvbi4iKTsKLQotICAgICAgICAgICAgICAgICAgICB0ZXN0
UnVubmVyLmluc3RhbGxTdGF0aXN0aWNzRGlkU2NhbkRhdGFSZWNvcmRzQ2FsbGJhY2soZnVuY3Rp
b24oKSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICBpZiAoZG9jdW1lbnQuY29va2llID09PSBj
b29raWUpCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGVzdFBhc3NlZCgiQ29va2llIG5v
dCBkZWxldGVkLiIpOwotICAgICAgICAgICAgICAgICAgICAgICAgZWxzZQotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoIkNvb2tpZSBkZWxldGVkIG9yIGRvY3VtZW50LmNv
b2tpZSBjb250YWlucyBvdGhlciBjb29raWVzOiAiICsgZG9jdW1lbnQuY29va2llKTsKLQotICAg
ICAgICAgICAgICAgICAgICAgICAgc2V0RW5hYmxlRmVhdHVyZShmYWxzZSwgZnVuY3Rpb24oKSB7
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7Ci0g
ICAgICAgICAgICAgICAgICAgICAgICB9KTsKLSAgICAgICAgICAgICAgICAgICAgfSk7Ci0gICAg
ICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc1Nob3VsZENsYXNzaWZ5UmVz
b3VyY2VzQmVmb3JlRGF0YVJlY29yZHNSZW1vdmFsKGZhbHNlKTsKLSAgICAgICAgICAgICAgICAg
ICAgdGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNzTWluaW11bVRpbWVCZXR3ZWVuRGF0YVJlY29yZHNS
ZW1vdmFsKDApOwotICAgICAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLnN0YXRpc3RpY3NQcm9j
ZXNzU3RhdGlzdGljc0FuZERhdGFSZWNvcmRzKCk7Ci0gICAgICAgICAgICAgICAgfSk7Ci0gICAg
ICAgICAgICB9KTsKLSAgICAgICAgfSk7Ci0gICAgfQotCi0gICAgaWYgKGRvY3VtZW50LmxvY2F0
aW9uLmhvc3QgPT09IGhvc3RVbmRlclRlc3QgJiYgd2luZG93LnRlc3RSdW5uZXIgJiYgd2luZG93
LmludGVybmFscykgewotICAgICAgICB0ZXN0UnVubmVyLnNldFVzZUlUUERhdGFiYXNlKHRydWUp
OwotICAgICAgICB0ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTsKLSAgICAgICAgc2V0RW5hYmxl
RmVhdHVyZSh0cnVlLCBydW5UZXN0UnVubmVyVGVzdCk7Ci0gICAgfQotPC9zY3JpcHQ+Ci08L2Jv
ZHk+Ci08L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNl
TG9hZFN0YXRpc3RpY3Mvbm9uLXByZXZhbGVudC1yZXNvdXJjZXMtY2FuLWFjY2Vzcy1jb29raWVz
LWluLWEtdGhpcmQtcGFydHktY29udGV4dC1kYXRhYmFzZS1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3Mvbm9uLXByZXZhbGVudC1yZXNv
dXJjZXMtY2FuLWFjY2Vzcy1jb29raWVzLWluLWEtdGhpcmQtcGFydHktY29udGV4dC1kYXRhYmFz
ZS1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDBmYjk3ZjkxZmNk
MzNjYzk3ODk3OWNkNDhhNTVhNDk0NzRkMjc3MTEuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRT
dGF0aXN0aWNzL25vbi1wcmV2YWxlbnQtcmVzb3VyY2VzLWNhbi1hY2Nlc3MtY29va2llcy1pbi1h
LXRoaXJkLXBhcnR5LWNvbnRleHQtZGF0YWJhc2UtZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwK
QEAgLTEsMTEgKzAsMCBAQAotUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQotCi1URVNU
IENPTVBMRVRFCi0KLQotLS0tLS0tLS0KLUZyYW1lOiAnPCEtLWZyYW1lMS0tPicKLS0tLS0tLS0t
Ci1TaG91bGQgcmVjZWl2ZSBvbmUgY29va2llLgotUmVjZWl2ZWQgY29va2llIG5hbWVkICdmaXJz
dFBhcnR5Q29va2llJy4KLUNsaWVudC1zaWRlIGRvY3VtZW50LmNvb2tpZTogZmlyc3RQYXJ0eUNv
b2tpZT12YWx1ZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxv
YWRTdGF0aXN0aWNzL25vbi1wcmV2YWxlbnQtcmVzb3VyY2VzLWNhbi1hY2Nlc3MtY29va2llcy1p
bi1hLXRoaXJkLXBhcnR5LWNvbnRleHQtZGF0YWJhc2UuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAv
dGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9ub24tcHJldmFsZW50LXJlc291cmNlcy1jYW4t
YWNjZXNzLWNvb2tpZXMtaW4tYS10aGlyZC1wYXJ0eS1jb250ZXh0LWRhdGFiYXNlLmh0bWwKZGVs
ZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDgyYzE4NzU2YWQ1MWI0Zjg3M2FmMTYxYzk0ZWMw
OGQ4MDNjMjAxODguLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0t
IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL25vbi1wcmV2
YWxlbnQtcmVzb3VyY2VzLWNhbi1hY2Nlc3MtY29va2llcy1pbi1hLXRoaXJkLXBhcnR5LWNvbnRl
eHQtZGF0YWJhc2UuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDY0ICswLDAgQEAKLTwhRE9DVFlQ
RSBodG1sPgotPGh0bWwgbGFuZz0iZW4iPgotPGhlYWQ+Ci0gICAgPG1ldGEgY2hhcnNldD0iVVRG
LTgiPgotICAgIDx0aXRsZT5UZXN0IHRvIGVuc3VyZSBub24tcHJldmFsZW50IHJlc291cmNlcyBj
YW4gYWNjZXNzIHRoZWlyIGNvb2tpZXMgaW4gYSB0aGlyZCBwYXJ0eSBjb250ZXh0PC90aXRsZT4K
LSAgICA8c2NyaXB0IHNyYz0iL2pzLXRlc3QtcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0
PgotICAgIDxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvdXRpbC5qcyI+PC9zY3JpcHQ+Ci08L2hlYWQ+
Ci08Ym9keT4KLTxzY3JpcHQ+Ci0gICAgY29uc3QgcGFydGl0aW9uSG9zdCA9ICIxMjcuMC4wLjE6
ODAwMCI7Ci0gICAgY29uc3QgdGhpcmRQYXJ0eU9yaWdpbiA9ICJodHRwOi8vbG9jYWxob3N0Ojgw
MDAiOwotICAgIGNvbnN0IHRoaXJkUGFydHlCYXNlVXJsID0gdGhpcmRQYXJ0eU9yaWdpbiArICIv
cmVzb3VyY2VMb2FkU3RhdGlzdGljcy9yZXNvdXJjZXMiOwotICAgIGNvbnN0IGZpcnN0UGFydHlD
b29raWVOYW1lID0gImZpcnN0UGFydHlDb29raWUiOwotICAgIGNvbnN0IHN1YlBhdGhUb1NldEZp
cnN0UGFydHlDb29raWUgPSAiL3NldC1jb29raWUucGhwP25hbWU9IiArIGZpcnN0UGFydHlDb29r
aWVOYW1lICsgIiZ2YWx1ZT12YWx1ZSI7Ci0gICAgY29uc3QgZnJhZ21lbnRXaXRoUmV0dXJuVXJs
ID0gImh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL25vbi1wcmV2
YWxlbnQtcmVzb3VyY2VzLWNhbi1hY2Nlc3MtY29va2llcy1pbi1hLXRoaXJkLXBhcnR5LWNvbnRl
eHQtZGF0YWJhc2UuaHRtbCI7Ci0gICAgY29uc3Qgc3ViUGF0aFRvR2V0Q29va2llcyA9ICIvZ2V0
LWNvb2tpZXMucGhwP25hbWUxPSIgKyBmaXJzdFBhcnR5Q29va2llTmFtZTsKLQotICAgIGZ1bmN0
aW9uIGZpbmlzaFRlc3QoKSB7Ci0gICAgICAgIHNldEVuYWJsZUZlYXR1cmUoZmFsc2UsIGZ1bmN0
aW9uKCkgewotICAgICAgICAgICAgdGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7Ci0gICAgICAgIH0p
OwotICAgIH0KLQotICAgIGZ1bmN0aW9uIG9wZW5JZnJhbWUodXJsLCBvbkxvYWRIYW5kbGVyKSB7
Ci0gICAgICAgIGNvbnN0IGVsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJpZnJhbWUi
KTsKLSAgICAgICAgZWxlbWVudC5zcmMgPSB1cmw7Ci0gICAgICAgIGlmIChvbkxvYWRIYW5kbGVy
KSB7Ci0gICAgICAgICAgICBlbGVtZW50Lm9ubG9hZCA9IG9uTG9hZEhhbmRsZXI7Ci0gICAgICAg
IH0KLSAgICAgICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChlbGVtZW50KTsKLSAgICB9Ci0K
LSAgICBmdW5jdGlvbiBydW5UZXN0KCkgewotICAgICAgICBzd2l0Y2ggKGRvY3VtZW50LmxvY2F0
aW9uLmhhc2gpIHsKLSAgICAgICAgICAgIGNhc2UgIiNzdGVwMSI6Ci0gICAgICAgICAgICAgICAg
Ly8gU2V0IGEgZmlyc3QtcGFydHkgY29va2llIGZvciBsb2NhbGhvc3QuCi0gICAgICAgICAgICAg
ICAgZG9jdW1lbnQubG9jYXRpb24uaHJlZiA9IHRoaXJkUGFydHlCYXNlVXJsICsgc3ViUGF0aFRv
U2V0Rmlyc3RQYXJ0eUNvb2tpZSArICIjIiArIGZyYWdtZW50V2l0aFJldHVyblVybCArICIjc3Rl
cDIiOwotICAgICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICAgICAgY2FzZSAiI3N0ZXAyIjoK
LSAgICAgICAgICAgICAgICAvLyBMb2FkIGxvY2FsaG9zdCB1bmRlciAxMjcuMC4wLjEgYW5kIGNo
ZWNrIHRoYXQgaXQgZ2V0cyBpdHMgY29va2llLgotICAgICAgICAgICAgICAgIG9wZW5JZnJhbWUo
dGhpcmRQYXJ0eUJhc2VVcmwgKyBzdWJQYXRoVG9HZXRDb29raWVzICsgIiZtZXNzYWdlPVNob3Vs
ZCByZWNlaXZlIG9uZSBjb29raWUuIiwgZmluaXNoVGVzdCk7Ci0gICAgICAgICAgICAgICAgYnJl
YWs7Ci0gICAgICAgIH0KLSAgICB9Ci0KLSAgICBpZiAoZG9jdW1lbnQubG9jYXRpb24uaG9zdCA9
PT0gcGFydGl0aW9uSG9zdCAmJiBkb2N1bWVudC5sb2NhdGlvbi5oYXNoID09ICIiICYmIHdpbmRv
dy50ZXN0UnVubmVyICYmIHdpbmRvdy5pbnRlcm5hbHMpIHsKLSAgICAgICAgdGVzdFJ1bm5lci5z
ZXRVc2VJVFBEYXRhYmFzZSh0cnVlKTsKLSAgICAgICAgdGVzdFJ1bm5lci53YWl0VW50aWxEb25l
KCk7Ci0gICAgICAgIHRlc3RSdW5uZXIuZHVtcENoaWxkRnJhbWVzQXNUZXh0KCk7Ci0gICAgICAg
IHNldEVuYWJsZUZlYXR1cmUodHJ1ZSwgZnVuY3Rpb24oKSB7Ci0gICAgICAgICAgICB0ZXN0UnVu
bmVyLnNldFN0YXRpc3RpY3NQcmV2YWxlbnRSZXNvdXJjZSh0aGlyZFBhcnR5T3JpZ2luLCBmYWxz
ZSwgZnVuY3Rpb24oKSB7Ci0gICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNz
SGFzSGFkVXNlckludGVyYWN0aW9uKHRoaXJkUGFydHlPcmlnaW4sIGZhbHNlLCBmdW5jdGlvbigp
IHsKLSAgICAgICAgICAgICAgICAgICAgZG9jdW1lbnQubG9jYXRpb24uaGFzaCA9ICJzdGVwMSI7
Ci0gICAgICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIuc3RhdGlzdGljc1VwZGF0ZUNvb2tpZUJs
b2NraW5nKHJ1blRlc3QpOwotICAgICAgICAgICAgICAgIH0pOwotICAgICAgICAgICAgfSk7Ci0g
ICAgICAgIH0pOwotICAgIH0gZWxzZSB7Ci0gICAgICAgIHJ1blRlc3QoKTsKLSAgICB9Ci08L3Nj
cmlwdD4KLTwvYm9keT4KLTwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVz
dHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9ub24tc2FuZGJveGVkLWlmcmFtZS1yZWRpcmVjdC1p
cC10by1sb2NhbGhvc3QtdG8taXAtZGF0YWJhc2UtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
aHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL25vbi1zYW5kYm94ZWQtaWZyYW1lLXJl
ZGlyZWN0LWlwLXRvLWxvY2FsaG9zdC10by1pcC1kYXRhYmFzZS1leHBlY3RlZC50eHQKZGVsZXRl
ZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDg2M2M3MjAyYjAzZTc3MGQ2ZTQ0NmZiNmYzNDAwZmIz
OGM1OWY1MzAuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEv
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL25vbi1zYW5kYm94
ZWQtaWZyYW1lLXJlZGlyZWN0LWlwLXRvLWxvY2FsaG9zdC10by1pcC1kYXRhYmFzZS1leHBlY3Rl
ZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSwxMiArMCwwIEBACi1UZXN0cyB0aGF0IHJlZGlyZWN0
cyBmb3IgYSBub24tc2FuZGJveGVkIGlmcmFtZSBnZXQgY291bnRlZCBwcm9wZXJseS4KLQotT24g
c3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93
ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgotCi0KLVBBU1MgdGVzdFJ1bm5lci5pc1N0YXRpc3RpY3NS
ZWdpc3RlcmVkQXNTdWJGcmFtZVVuZGVyKCJodHRwOi8vbG9jYWxob3N0IiwgImh0dHA6Ly8xMjcu
MC4wLjEiKSBpcyB0cnVlCi1QQVNTIHRlc3RSdW5uZXIuaXNTdGF0aXN0aWNzUmVnaXN0ZXJlZEFz
UmVkaXJlY3RpbmdUbygiaHR0cDovL2xvY2FsaG9zdCIsICJodHRwOi8vMTI3LjAuMC4xIikgaXMg
dHJ1ZQotUEFTUyB0ZXN0UnVubmVyLmlzU3RhdGlzdGljc1JlZ2lzdGVyZWRBc1JlZGlyZWN0aW5n
VG8oImh0dHA6Ly8xMjcuMC4wLjEiLCAiaHR0cDovL2xvY2FsaG9zdCIpIGlzIHRydWUKLVBBU1Mg
c3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKLQotVEVTVCBDT01QTEVURQotCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3Mvbm9uLXNhbmRi
b3hlZC1pZnJhbWUtcmVkaXJlY3QtaXAtdG8tbG9jYWxob3N0LXRvLWlwLWRhdGFiYXNlLmh0bWwg
Yi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3Mvbm9uLXNhbmRi
b3hlZC1pZnJhbWUtcmVkaXJlY3QtaXAtdG8tbG9jYWxob3N0LXRvLWlwLWRhdGFiYXNlLmh0bWwK
ZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGI1YmRhNmY5ZjFiY2ViZjQ4OTQ1NWJlY2U0
ODVmNWNlY2QxZjYwOWMuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAK
LS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL25vbi1z
YW5kYm94ZWQtaWZyYW1lLXJlZGlyZWN0LWlwLXRvLWxvY2FsaG9zdC10by1pcC1kYXRhYmFzZS5o
dG1sCisrKyAvZGV2L251bGwKQEAgLTEsNTQgKzAsMCBAQAotPCFET0NUWVBFIGh0bWw+Ci08aHRt
bD4KLTxoZWFkPgotICAgIDxzY3JpcHQgc3JjPSIvanMtdGVzdC1yZXNvdXJjZXMvanMtdGVzdC5q
cyI+PC9zY3JpcHQ+Ci0gICAgPHNjcmlwdCBzcmM9InJlc291cmNlcy91dGlsLmpzIj48L3Njcmlw
dD4KLSAgICA8c2NyaXB0PgotICAgICAgICBkZXNjcmlwdGlvbigiVGVzdHMgdGhhdCByZWRpcmVj
dHMgZm9yIGEgbm9uLXNhbmRib3hlZCBpZnJhbWUgZ2V0IGNvdW50ZWQgcHJvcGVybHkuIik7Ci0g
ICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOwotICAgICAgICB3aW5kb3cuYWRkRXZlbnRMaXN0
ZW5lcigibWVzc2FnZSIsIHJlY2VpdmVNZXNzYWdlLCBmYWxzZSk7Ci0KLSAgICAgICAgZnVuY3Rp
b24gZmluaXNoVGVzdCgpIHsKLSAgICAgICAgICAgIHNldEVuYWJsZUZlYXR1cmUoZmFsc2UsIGZp
bmlzaEpTVGVzdCk7Ci0gICAgICAgIH0KLQotICAgICAgICB2YXIgbGFzdFBhZ2VJblJlZGlyZWN0
Q2hhaW5Mb2FkZWQgPSBmYWxzZTsKLSAgICAgICAgdmFyIHN0YXRzQ2hlY2tlZCA9IGZhbHNlOwot
Ci0gICAgICAgIGZ1bmN0aW9uIHJlY2VpdmVNZXNzYWdlKGV2ZW50KSB7Ci0gICAgICAgICAgICBp
ZiAoZXZlbnQub3JpZ2luID09PSAiaHR0cDovLzEyNy4wLjAuMTo4MDAwIikgewotICAgICAgICAg
ICAgICAgIGlmIChldmVudC5kYXRhLmluZGV4T2YoIlBBU1MiKSA9PT0gLTEpCi0gICAgICAgICAg
ICAgICAgICAgIHRlc3RGYWlsZWQoZXZlbnQuZGF0YS5yZXBsYWNlKCJGQUlMICIsICIiKSk7Ci0g
ICAgICAgICAgICB9IGVsc2UKLSAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKCJSZWNlaXZlZCBh
IG1lc3NhZ2UgZnJvbSBhbiB1bmV4cGVjdGVkIG9yaWdpbjogIiArIGV2ZW50Lm9yaWdpbik7Ci0K
LSAgICAgICAgICAgIGxhc3RQYWdlSW5SZWRpcmVjdENoYWluTG9hZGVkID0gdHJ1ZTsKLSAgICAg
ICAgICAgIGlmIChzdGF0c0NoZWNrZWQpCi0gICAgICAgICAgICAgICAgZmluaXNoVGVzdCgpOwot
ICAgICAgICAgICAgZWxzZQotICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIuc3RhdGlzdGljc05v
dGlmeU9ic2VydmVyKCk7Ci0gICAgICAgIH0KLQotICAgICAgICBmdW5jdGlvbiBjaGVja1N0YXRz
KCkgewotICAgICAgICAgICAgc2hvdWxkQmVUcnVlKCd0ZXN0UnVubmVyLmlzU3RhdGlzdGljc1Jl
Z2lzdGVyZWRBc1N1YkZyYW1lVW5kZXIoImh0dHA6Ly9sb2NhbGhvc3QiLCAiaHR0cDovLzEyNy4w
LjAuMSIpJyk7Ci0gICAgICAgICAgICBzaG91bGRCZVRydWUoJ3Rlc3RSdW5uZXIuaXNTdGF0aXN0
aWNzUmVnaXN0ZXJlZEFzUmVkaXJlY3RpbmdUbygiaHR0cDovL2xvY2FsaG9zdCIsICJodHRwOi8v
MTI3LjAuMC4xIiknKTsKLSAgICAgICAgICAgIHNob3VsZEJlVHJ1ZSgndGVzdFJ1bm5lci5pc1N0
YXRpc3RpY3NSZWdpc3RlcmVkQXNSZWRpcmVjdGluZ1RvKCJodHRwOi8vMTI3LjAuMC4xIiwgImh0
dHA6Ly9sb2NhbGhvc3QiKScpOwotCi0gICAgICAgICAgICBzdGF0c0NoZWNrZWQgPSB0cnVlOwot
ICAgICAgICAgICAgaWYgKGxhc3RQYWdlSW5SZWRpcmVjdENoYWluTG9hZGVkKQotICAgICAgICAg
ICAgICAgIGZpbmlzaFRlc3QoKTsKLSAgICAgICAgfQotCi0gICAgICAgIGlmICh0ZXN0UnVubmVy
KSB7Ci0gICAgICAgICAgICB0ZXN0UnVubmVyLnNldFVzZUlUUERhdGFiYXNlKHRydWUpOwotICAg
ICAgICAgICAgc2V0RW5hYmxlRmVhdHVyZSh0cnVlLCBmdW5jdGlvbigpIHsKLSAgICAgICAgICAg
ICAgICB0ZXN0UnVubmVyLmluc3RhbGxTdGF0aXN0aWNzRGlkU2NhbkRhdGFSZWNvcmRzQ2FsbGJh
Y2soY2hlY2tTdGF0cyk7Ci0gICAgICAgICAgICB9KTsKLSAgICAgICAgfQotICAgIDwvc2NyaXB0
PgotPC9oZWFkPgotPGJvZHk+Ci08aWZyYW1lIHNyYz0iaHR0cDovLzEyNy4wLjAuMTo4MDAwL3Jl
c291cmNlTG9hZFN0YXRpc3RpY3MvcmVzb3VyY2VzL3JlZGlyZWN0LnBocD9yZWRpcmVjdFRvPWh0
dHA6Ly9sb2NhbGhvc3Q6ODAwMC9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3Jlc291cmNlcy9yZWRp
cmVjdC5waHAvP3JlZGlyZWN0VG89aHR0cDovLzEyNy4wLjAuMTo4MDAwL3Jlc291cmNlTG9hZFN0
YXRpc3RpY3MvcmVzb3VyY2VzL2lmcmFtZS1yZXBvcnQtYmFjay1sb2FkZWQuaHRtbCI+Ci08L2lm
cmFtZT4KLTwvYm9keT4KLTwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVz
dHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9ub24tc2FuZGJveGVkLWlmcmFtZS1yZWRpcmVjdC1s
b2NhbGhvc3QtdG8taXAtdG8tbG9jYWxob3N0LWRhdGFiYXNlLWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9ub24tc2FuZGJveGVkLWlm
cmFtZS1yZWRpcmVjdC1sb2NhbGhvc3QtdG8taXAtdG8tbG9jYWxob3N0LWRhdGFiYXNlLWV4cGVj
dGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggODYzYzcyMDJiMDNlNzcwZDZl
NDQ2ZmI2ZjM0MDBmYjM4YzU5ZjUzMC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3Rp
Y3Mvbm9uLXNhbmRib3hlZC1pZnJhbWUtcmVkaXJlY3QtbG9jYWxob3N0LXRvLWlwLXRvLWxvY2Fs
aG9zdC1kYXRhYmFzZS1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSwxMiArMCwwIEBA
Ci1UZXN0cyB0aGF0IHJlZGlyZWN0cyBmb3IgYSBub24tc2FuZGJveGVkIGlmcmFtZSBnZXQgY291
bnRlZCBwcm9wZXJseS4KLQotT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQ
QVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgotCi0KLVBBU1MgdGVz
dFJ1bm5lci5pc1N0YXRpc3RpY3NSZWdpc3RlcmVkQXNTdWJGcmFtZVVuZGVyKCJodHRwOi8vbG9j
YWxob3N0IiwgImh0dHA6Ly8xMjcuMC4wLjEiKSBpcyB0cnVlCi1QQVNTIHRlc3RSdW5uZXIuaXNT
dGF0aXN0aWNzUmVnaXN0ZXJlZEFzUmVkaXJlY3RpbmdUbygiaHR0cDovL2xvY2FsaG9zdCIsICJo
dHRwOi8vMTI3LjAuMC4xIikgaXMgdHJ1ZQotUEFTUyB0ZXN0UnVubmVyLmlzU3RhdGlzdGljc1Jl
Z2lzdGVyZWRBc1JlZGlyZWN0aW5nVG8oImh0dHA6Ly8xMjcuMC4wLjEiLCAiaHR0cDovL2xvY2Fs
aG9zdCIpIGlzIHRydWUKLVBBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKLQotVEVTVCBD
T01QTEVURQotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9h
ZFN0YXRpc3RpY3Mvbm9uLXNhbmRib3hlZC1pZnJhbWUtcmVkaXJlY3QtbG9jYWxob3N0LXRvLWlw
LXRvLWxvY2FsaG9zdC1kYXRhYmFzZS5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNv
dXJjZUxvYWRTdGF0aXN0aWNzL25vbi1zYW5kYm94ZWQtaWZyYW1lLXJlZGlyZWN0LWxvY2FsaG9z
dC10by1pcC10by1sb2NhbGhvc3QtZGF0YWJhc2UuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggZjJlMDM0YzRjZjcwOTM1YmMyY2JjYjcyYmU0ZjNkZmFlMjVmMDA3ZS4uMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3Mvbm9uLXNhbmRib3hlZC1pZnJhbWUtcmVkaXJl
Y3QtbG9jYWxob3N0LXRvLWlwLXRvLWxvY2FsaG9zdC1kYXRhYmFzZS5odG1sCisrKyAvZGV2L251
bGwKQEAgLTEsNTQgKzAsMCBAQAotPCFET0NUWVBFIGh0bWw+Ci08aHRtbD4KLTxoZWFkPgotICAg
IDxzY3JpcHQgc3JjPSIvanMtdGVzdC1yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+Ci0g
ICAgPHNjcmlwdCBzcmM9InJlc291cmNlcy91dGlsLmpzIj48L3NjcmlwdD4KLSAgICA8c2NyaXB0
PgotICAgICAgICBkZXNjcmlwdGlvbigiVGVzdHMgdGhhdCByZWRpcmVjdHMgZm9yIGEgbm9uLXNh
bmRib3hlZCBpZnJhbWUgZ2V0IGNvdW50ZWQgcHJvcGVybHkuIik7Ci0gICAgICAgIGpzVGVzdElz
QXN5bmMgPSB0cnVlOwotICAgICAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigibWVzc2FnZSIs
IHJlY2VpdmVNZXNzYWdlLCBmYWxzZSk7Ci0KLSAgICAgICAgZnVuY3Rpb24gZmluaXNoVGVzdCgp
IHsKLSAgICAgICAgICAgIHNldEVuYWJsZUZlYXR1cmUoZmFsc2UsIGZpbmlzaEpTVGVzdCk7Ci0g
ICAgICAgIH0KLQotICAgICAgICB2YXIgbGFzdFBhZ2VJblJlZGlyZWN0Q2hhaW5Mb2FkZWQgPSBm
YWxzZTsKLSAgICAgICAgdmFyIHN0YXRzQ2hlY2tlZCA9IGZhbHNlOwotCi0gICAgICAgIGZ1bmN0
aW9uIHJlY2VpdmVNZXNzYWdlKGV2ZW50KSB7Ci0gICAgICAgICAgICBpZiAoZXZlbnQub3JpZ2lu
ID09PSAiaHR0cDovL2xvY2FsaG9zdDo4MDAwIikgewotICAgICAgICAgICAgICAgIGlmIChldmVu
dC5kYXRhLmluZGV4T2YoIlBBU1MiKSA9PT0gLTEpCi0gICAgICAgICAgICAgICAgICAgIHRlc3RG
YWlsZWQoZXZlbnQuZGF0YS5yZXBsYWNlKCJGQUlMICIsICIiKSk7Ci0gICAgICAgICAgICB9IGVs
c2UKLSAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKCJSZWNlaXZlZCBhIG1lc3NhZ2UgZnJvbSBh
biB1bmV4cGVjdGVkIG9yaWdpbjogIiArIGV2ZW50Lm9yaWdpbik7Ci0KLSAgICAgICAgICAgIGxh
c3RQYWdlSW5SZWRpcmVjdENoYWluTG9hZGVkID0gdHJ1ZTsKLSAgICAgICAgICAgIGlmIChzdGF0
c0NoZWNrZWQpCi0gICAgICAgICAgICAgICAgZmluaXNoVGVzdCgpOwotICAgICAgICAgICAgZWxz
ZQotICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIuc3RhdGlzdGljc05vdGlmeU9ic2VydmVyKCk7
Ci0gICAgICAgIH0KLQotICAgICAgICBmdW5jdGlvbiBjaGVja1N0YXRzKCkgewotICAgICAgICAg
ICAgc2hvdWxkQmVUcnVlKCd0ZXN0UnVubmVyLmlzU3RhdGlzdGljc1JlZ2lzdGVyZWRBc1N1YkZy
YW1lVW5kZXIoImh0dHA6Ly9sb2NhbGhvc3QiLCAiaHR0cDovLzEyNy4wLjAuMSIpJyk7Ci0gICAg
ICAgICAgICBzaG91bGRCZVRydWUoJ3Rlc3RSdW5uZXIuaXNTdGF0aXN0aWNzUmVnaXN0ZXJlZEFz
UmVkaXJlY3RpbmdUbygiaHR0cDovL2xvY2FsaG9zdCIsICJodHRwOi8vMTI3LjAuMC4xIiknKTsK
LSAgICAgICAgICAgIHNob3VsZEJlVHJ1ZSgndGVzdFJ1bm5lci5pc1N0YXRpc3RpY3NSZWdpc3Rl
cmVkQXNSZWRpcmVjdGluZ1RvKCJodHRwOi8vMTI3LjAuMC4xIiwgImh0dHA6Ly9sb2NhbGhvc3Qi
KScpOwotCi0gICAgICAgICAgICBzdGF0c0NoZWNrZWQgPSB0cnVlOwotICAgICAgICAgICAgaWYg
KGxhc3RQYWdlSW5SZWRpcmVjdENoYWluTG9hZGVkKQotICAgICAgICAgICAgICAgIGZpbmlzaFRl
c3QoKTsKLSAgICAgICAgfQotCi0gICAgICAgIGlmICh0ZXN0UnVubmVyKSB7Ci0gICAgICAgICAg
ICB0ZXN0UnVubmVyLnNldFVzZUlUUERhdGFiYXNlKHRydWUpOwotICAgICAgICAgICAgc2V0RW5h
YmxlRmVhdHVyZSh0cnVlLCBmdW5jdGlvbigpIHsKLSAgICAgICAgICAgICAgICB0ZXN0UnVubmVy
Lmluc3RhbGxTdGF0aXN0aWNzRGlkU2NhbkRhdGFSZWNvcmRzQ2FsbGJhY2soY2hlY2tTdGF0cyk7
Ci0gICAgICAgICAgICB9KTsKLSAgICAgICAgfQotICAgIDwvc2NyaXB0PgotPC9oZWFkPgotPGJv
ZHk+Ci08aWZyYW1lIHNyYz0iaHR0cDovL2xvY2FsaG9zdDo4MDAwL3Jlc291cmNlTG9hZFN0YXRp
c3RpY3MvcmVzb3VyY2VzL3JlZGlyZWN0LnBocC8/cmVkaXJlY3RUbz1odHRwOi8vMTI3LjAuMC4x
OjgwMDAvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9yZXNvdXJjZXMvcmVkaXJlY3QucGhwLz9yZWRp
cmVjdFRvPWh0dHA6Ly9sb2NhbGhvc3Q6ODAwMC9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3Jlc291
cmNlcy9pZnJhbWUtcmVwb3J0LWJhY2stbG9hZGVkLmh0bWwiPgotPC9pZnJhbWU+Ci08L2JvZHk+
Ci08L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9h
ZFN0YXRpc3RpY3Mvbm9uLXNhbmRib3hlZC1uZXN0aW5nLWlmcmFtZS13aXRoLW5vbi1zYW5kYm94
ZWQtaWZyYW1lLXJlZGlyZWN0LWlwLXRvLWxvY2FsaG9zdC10by1pcC1kYXRhYmFzZS1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3Mvbm9u
LXNhbmRib3hlZC1uZXN0aW5nLWlmcmFtZS13aXRoLW5vbi1zYW5kYm94ZWQtaWZyYW1lLXJlZGly
ZWN0LWlwLXRvLWxvY2FsaG9zdC10by1pcC1kYXRhYmFzZS1leHBlY3RlZC50eHQKZGVsZXRlZCBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDliNTE2ZjEzMmY5ZmIxMDEzNjgyMjYzYzZmMmM4MTBiN2Zh
ZjlkOGYuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL25vbi1zYW5kYm94ZWQt
bmVzdGluZy1pZnJhbWUtd2l0aC1ub24tc2FuZGJveGVkLWlmcmFtZS1yZWRpcmVjdC1pcC10by1s
b2NhbGhvc3QtdG8taXAtZGF0YWJhc2UtZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEs
MTIgKzAsMCBAQAotVGVzdHMgdGhhdCByZWRpcmVjdHMgZm9yIGEgbm9uLXNhbmRib3hlZCBpZnJh
bWUgbmVzdGVkIGluIGEgbm9uLXNhbmRib3hlZCBpZnJhbWUgZ2V0IGNvdW50ZWQgcHJvcGVybHku
Ci0KLU9uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMs
IGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KLQotCi1QQVNTIHRlc3RSdW5uZXIuaXNTdGF0
aXN0aWNzUmVnaXN0ZXJlZEFzU3ViRnJhbWVVbmRlcigiaHR0cDovL2xvY2FsaG9zdCIsICJodHRw
Oi8vMTI3LjAuMC4xIikgaXMgdHJ1ZQotUEFTUyB0ZXN0UnVubmVyLmlzU3RhdGlzdGljc1JlZ2lz
dGVyZWRBc1JlZGlyZWN0aW5nVG8oImh0dHA6Ly9sb2NhbGhvc3QiLCAiaHR0cDovLzEyNy4wLjAu
MSIpIGlzIHRydWUKLVBBU1MgdGVzdFJ1bm5lci5pc1N0YXRpc3RpY3NSZWdpc3RlcmVkQXNSZWRp
cmVjdGluZ1RvKCJodHRwOi8vMTI3LjAuMC4xIiwgImh0dHA6Ly9sb2NhbGhvc3QiKSBpcyB0cnVl
Ci1QQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCi0KLVRFU1QgQ09NUExFVEUKLQpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL25v
bi1zYW5kYm94ZWQtbmVzdGluZy1pZnJhbWUtd2l0aC1ub24tc2FuZGJveGVkLWlmcmFtZS1yZWRp
cmVjdC1pcC10by1sb2NhbGhvc3QtdG8taXAtZGF0YWJhc2UuaHRtbCBiL0xheW91dFRlc3RzL2h0
dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9ub24tc2FuZGJveGVkLW5lc3RpbmctaWZy
YW1lLXdpdGgtbm9uLXNhbmRib3hlZC1pZnJhbWUtcmVkaXJlY3QtaXAtdG8tbG9jYWxob3N0LXRv
LWlwLWRhdGFiYXNlLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDBkNmU3MmYz
YzA3YjAxZTE3NDIxZThlM2NjNDgzNTRiZWI0M2UyMjYuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxv
YWRTdGF0aXN0aWNzL25vbi1zYW5kYm94ZWQtbmVzdGluZy1pZnJhbWUtd2l0aC1ub24tc2FuZGJv
eGVkLWlmcmFtZS1yZWRpcmVjdC1pcC10by1sb2NhbGhvc3QtdG8taXAtZGF0YWJhc2UuaHRtbAor
KysgL2Rldi9udWxsCkBAIC0xLDU0ICswLDAgQEAKLTwhRE9DVFlQRSBodG1sPgotPGh0bWw+Ci08
aGVhZD4KLSAgICA8c2NyaXB0IHNyYz0iL2pzLXRlc3QtcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwv
c2NyaXB0PgotICAgIDxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvdXRpbC5qcyI+PC9zY3JpcHQ+Ci0g
ICAgPHNjcmlwdD4KLSAgICAgICAgZGVzY3JpcHRpb24oIlRlc3RzIHRoYXQgcmVkaXJlY3RzIGZv
ciBhIG5vbi1zYW5kYm94ZWQgaWZyYW1lIG5lc3RlZCBpbiBhIG5vbi1zYW5kYm94ZWQgaWZyYW1l
IGdldCBjb3VudGVkIHByb3Blcmx5LiIpOwotICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsK
LSAgICAgICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoIm1lc3NhZ2UiLCByZWNlaXZlTWVzc2Fn
ZSwgZmFsc2UpOwotCi0gICAgICAgIGZ1bmN0aW9uIGZpbmlzaFRlc3QoKSB7Ci0gICAgICAgICAg
ICBzZXRFbmFibGVGZWF0dXJlKGZhbHNlLCBmaW5pc2hKU1Rlc3QpOwotICAgICAgICB9Ci0KLSAg
ICAgICAgdmFyIGxhc3RQYWdlSW5SZWRpcmVjdENoYWluTG9hZGVkID0gZmFsc2U7Ci0gICAgICAg
IHZhciBzdGF0c0NoZWNrZWQgPSBmYWxzZTsKLQotICAgICAgICBmdW5jdGlvbiByZWNlaXZlTWVz
c2FnZShldmVudCkgewotICAgICAgICAgICAgaWYgKGV2ZW50Lm9yaWdpbiA9PT0gImh0dHA6Ly8x
MjcuMC4wLjE6ODAwMCIpIHsKLSAgICAgICAgICAgICAgICBpZiAoZXZlbnQuZGF0YS5pbmRleE9m
KCJQQVNTIikgPT09IC0xKQotICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGV2ZW50LmRh
dGEucmVwbGFjZSgiRkFJTCAiLCAiIikpOwotICAgICAgICAgICAgfSBlbHNlCi0gICAgICAgICAg
ICAgICAgdGVzdEZhaWxlZCgiUmVjZWl2ZWQgYSBtZXNzYWdlIGZyb20gYW4gdW5leHBlY3RlZCBv
cmlnaW46ICIgKyBldmVudC5vcmlnaW4pOwotCi0gICAgICAgICAgICBsYXN0UGFnZUluUmVkaXJl
Y3RDaGFpbkxvYWRlZCA9IHRydWU7Ci0gICAgICAgICAgICBpZiAoc3RhdHNDaGVja2VkKQotICAg
ICAgICAgICAgICAgIGZpbmlzaFRlc3QoKTsKLSAgICAgICAgICAgIGVsc2UKLSAgICAgICAgICAg
ICAgICB0ZXN0UnVubmVyLnN0YXRpc3RpY3NOb3RpZnlPYnNlcnZlcigpOwotICAgICAgICB9Ci0K
LSAgICAgICAgZnVuY3Rpb24gY2hlY2tTdGF0cygpIHsKLSAgICAgICAgICAgIHNob3VsZEJlVHJ1
ZSgndGVzdFJ1bm5lci5pc1N0YXRpc3RpY3NSZWdpc3RlcmVkQXNTdWJGcmFtZVVuZGVyKCJodHRw
Oi8vbG9jYWxob3N0IiwgImh0dHA6Ly8xMjcuMC4wLjEiKScpOwotICAgICAgICAgICAgc2hvdWxk
QmVUcnVlKCd0ZXN0UnVubmVyLmlzU3RhdGlzdGljc1JlZ2lzdGVyZWRBc1JlZGlyZWN0aW5nVG8o
Imh0dHA6Ly9sb2NhbGhvc3QiLCAiaHR0cDovLzEyNy4wLjAuMSIpJyk7Ci0gICAgICAgICAgICBz
aG91bGRCZVRydWUoJ3Rlc3RSdW5uZXIuaXNTdGF0aXN0aWNzUmVnaXN0ZXJlZEFzUmVkaXJlY3Rp
bmdUbygiaHR0cDovLzEyNy4wLjAuMSIsICJodHRwOi8vbG9jYWxob3N0IiknKTsKLQotICAgICAg
ICAgICAgc3RhdHNDaGVja2VkID0gdHJ1ZTsKLSAgICAgICAgICAgIGlmIChsYXN0UGFnZUluUmVk
aXJlY3RDaGFpbkxvYWRlZCkKLSAgICAgICAgICAgICAgICBmaW5pc2hUZXN0KCk7Ci0gICAgICAg
IH0KLQotICAgICAgICBpZiAodGVzdFJ1bm5lcikgewotICAgICAgICAgICAgdGVzdFJ1bm5lci5z
ZXRVc2VJVFBEYXRhYmFzZSh0cnVlKTsKLSAgICAgICAgICAgIHNldEVuYWJsZUZlYXR1cmUodHJ1
ZSwgZnVuY3Rpb24oKSB7Ci0gICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5pbnN0YWxsU3RhdGlz
dGljc0RpZFNjYW5EYXRhUmVjb3Jkc0NhbGxiYWNrKGNoZWNrU3RhdHMpOwotICAgICAgICAgICAg
fSk7Ci0gICAgICAgIH0KLSAgICA8L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5PgotPGlmcmFtZSBz
cmM9Imh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3Jlc291cmNl
cy9wYWdlLXdpdGgtbm9uLXNhbmRib3hlZC1pZnJhbWUtcmVkaXJlY3QtaXAtdG8tbG9jYWxob3N0
LXRvLWlwLmh0bWwiPgotPC9pZnJhbWU+Ci08L2JvZHk+Ci08L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3Mvbm9uLXNhbmRib3hl
ZC1uZXN0aW5nLWlmcmFtZS13aXRoLW5vbi1zYW5kYm94ZWQtaWZyYW1lLXJlZGlyZWN0LWxvY2Fs
aG9zdC10by1pcC10by1sb2NhbGhvc3QtZGF0YWJhc2UtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL25vbi1zYW5kYm94ZWQtbmVzdGlu
Zy1pZnJhbWUtd2l0aC1ub24tc2FuZGJveGVkLWlmcmFtZS1yZWRpcmVjdC1sb2NhbGhvc3QtdG8t
aXAtdG8tbG9jYWxob3N0LWRhdGFiYXNlLWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggOWI1MTZmMTMyZjlmYjEwMTM2ODIyNjNjNmYyYzgxMGI3ZmFmOWQ4Zi4uMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9o
dHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3Mvbm9uLXNhbmRib3hlZC1uZXN0aW5nLWlm
cmFtZS13aXRoLW5vbi1zYW5kYm94ZWQtaWZyYW1lLXJlZGlyZWN0LWxvY2FsaG9zdC10by1pcC10
by1sb2NhbGhvc3QtZGF0YWJhc2UtZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEsMTIg
KzAsMCBAQAotVGVzdHMgdGhhdCByZWRpcmVjdHMgZm9yIGEgbm9uLXNhbmRib3hlZCBpZnJhbWUg
bmVzdGVkIGluIGEgbm9uLXNhbmRib3hlZCBpZnJhbWUgZ2V0IGNvdW50ZWQgcHJvcGVybHkuCi0K
LU9uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZv
bGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KLQotCi1QQVNTIHRlc3RSdW5uZXIuaXNTdGF0aXN0
aWNzUmVnaXN0ZXJlZEFzU3ViRnJhbWVVbmRlcigiaHR0cDovL2xvY2FsaG9zdCIsICJodHRwOi8v
MTI3LjAuMC4xIikgaXMgdHJ1ZQotUEFTUyB0ZXN0UnVubmVyLmlzU3RhdGlzdGljc1JlZ2lzdGVy
ZWRBc1JlZGlyZWN0aW5nVG8oImh0dHA6Ly9sb2NhbGhvc3QiLCAiaHR0cDovLzEyNy4wLjAuMSIp
IGlzIHRydWUKLVBBU1MgdGVzdFJ1bm5lci5pc1N0YXRpc3RpY3NSZWdpc3RlcmVkQXNSZWRpcmVj
dGluZ1RvKCJodHRwOi8vMTI3LjAuMC4xIiwgImh0dHA6Ly9sb2NhbGhvc3QiKSBpcyB0cnVlCi1Q
QVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCi0KLVRFU1QgQ09NUExFVEUKLQpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL25vbi1z
YW5kYm94ZWQtbmVzdGluZy1pZnJhbWUtd2l0aC1ub24tc2FuZGJveGVkLWlmcmFtZS1yZWRpcmVj
dC1sb2NhbGhvc3QtdG8taXAtdG8tbG9jYWxob3N0LWRhdGFiYXNlLmh0bWwgYi9MYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3Mvbm9uLXNhbmRib3hlZC1uZXN0aW5n
LWlmcmFtZS13aXRoLW5vbi1zYW5kYm94ZWQtaWZyYW1lLXJlZGlyZWN0LWxvY2FsaG9zdC10by1p
cC10by1sb2NhbGhvc3QtZGF0YWJhc2UuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggNzA1NDY1N2I4ZWQyNzVmZmNhZTQyYjEyYTc2MWY4MWQyMzdkMTA2NS4uMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L3Jlc291cmNlTG9hZFN0YXRpc3RpY3Mvbm9uLXNhbmRib3hlZC1uZXN0aW5nLWlmcmFtZS13aXRo
LW5vbi1zYW5kYm94ZWQtaWZyYW1lLXJlZGlyZWN0LWxvY2FsaG9zdC10by1pcC10by1sb2NhbGhv
c3QtZGF0YWJhc2UuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDU0ICswLDAgQEAKLTwhRE9DVFlQ
RSBodG1sPgotPGh0bWw+Ci08aGVhZD4KLSAgICA8c2NyaXB0IHNyYz0iL2pzLXRlc3QtcmVzb3Vy
Y2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgotICAgIDxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvdXRp
bC5qcyI+PC9zY3JpcHQ+Ci0gICAgPHNjcmlwdD4KLSAgICAgICAgZGVzY3JpcHRpb24oIlRlc3Rz
IHRoYXQgcmVkaXJlY3RzIGZvciBhIG5vbi1zYW5kYm94ZWQgaWZyYW1lIG5lc3RlZCBpbiBhIG5v
bi1zYW5kYm94ZWQgaWZyYW1lIGdldCBjb3VudGVkIHByb3Blcmx5LiIpOwotICAgICAgICBqc1Rl
c3RJc0FzeW5jID0gdHJ1ZTsKLSAgICAgICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoIm1lc3Nh
Z2UiLCByZWNlaXZlTWVzc2FnZSwgZmFsc2UpOwotCi0gICAgICAgIGZ1bmN0aW9uIGZpbmlzaFRl
c3QoKSB7Ci0gICAgICAgICAgICBzZXRFbmFibGVGZWF0dXJlKGZhbHNlLCBmaW5pc2hKU1Rlc3Qp
OwotICAgICAgICB9Ci0KLSAgICAgICAgdmFyIGxhc3RQYWdlSW5SZWRpcmVjdENoYWluTG9hZGVk
ID0gZmFsc2U7Ci0gICAgICAgIHZhciBzdGF0c0NoZWNrZWQgPSBmYWxzZTsKLQotICAgICAgICBm
dW5jdGlvbiByZWNlaXZlTWVzc2FnZShldmVudCkgewotICAgICAgICAgICAgaWYgKGV2ZW50Lm9y
aWdpbiA9PT0gImh0dHA6Ly9sb2NhbGhvc3Q6ODAwMCIpIHsKLSAgICAgICAgICAgICAgICBpZiAo
ZXZlbnQuZGF0YS5pbmRleE9mKCJQQVNTIikgPT09IC0xKQotICAgICAgICAgICAgICAgICAgICB0
ZXN0RmFpbGVkKGV2ZW50LmRhdGEucmVwbGFjZSgiRkFJTCAiLCAiIikpOwotICAgICAgICAgICAg
fSBlbHNlCi0gICAgICAgICAgICAgICAgdGVzdEZhaWxlZCgiUmVjZWl2ZWQgYSBtZXNzYWdlIGZy
b20gYW4gdW5leHBlY3RlZCBvcmlnaW46ICIgKyBldmVudC5vcmlnaW4pOwotCi0gICAgICAgICAg
ICBsYXN0UGFnZUluUmVkaXJlY3RDaGFpbkxvYWRlZCA9IHRydWU7Ci0gICAgICAgICAgICBpZiAo
c3RhdHNDaGVja2VkKQotICAgICAgICAgICAgICAgIGZpbmlzaFRlc3QoKTsKLSAgICAgICAgICAg
IGVsc2UKLSAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLnN0YXRpc3RpY3NOb3RpZnlPYnNlcnZl
cigpOwotICAgICAgICB9Ci0KLSAgICAgICAgZnVuY3Rpb24gY2hlY2tTdGF0cygpIHsKLSAgICAg
ICAgICAgIHNob3VsZEJlVHJ1ZSgndGVzdFJ1bm5lci5pc1N0YXRpc3RpY3NSZWdpc3RlcmVkQXNT
dWJGcmFtZVVuZGVyKCJodHRwOi8vbG9jYWxob3N0IiwgImh0dHA6Ly8xMjcuMC4wLjEiKScpOwot
ICAgICAgICAgICAgc2hvdWxkQmVUcnVlKCd0ZXN0UnVubmVyLmlzU3RhdGlzdGljc1JlZ2lzdGVy
ZWRBc1JlZGlyZWN0aW5nVG8oImh0dHA6Ly9sb2NhbGhvc3QiLCAiaHR0cDovLzEyNy4wLjAuMSIp
Jyk7Ci0gICAgICAgICAgICBzaG91bGRCZVRydWUoJ3Rlc3RSdW5uZXIuaXNTdGF0aXN0aWNzUmVn
aXN0ZXJlZEFzUmVkaXJlY3RpbmdUbygiaHR0cDovLzEyNy4wLjAuMSIsICJodHRwOi8vbG9jYWxo
b3N0IiknKTsKLQotICAgICAgICAgICAgc3RhdHNDaGVja2VkID0gdHJ1ZTsKLSAgICAgICAgICAg
IGlmIChsYXN0UGFnZUluUmVkaXJlY3RDaGFpbkxvYWRlZCkKLSAgICAgICAgICAgICAgICBmaW5p
c2hUZXN0KCk7Ci0gICAgICAgIH0KLQotICAgICAgICBpZiAodGVzdFJ1bm5lcikgewotICAgICAg
ICAgICAgdGVzdFJ1bm5lci5zZXRVc2VJVFBEYXRhYmFzZSh0cnVlKTsKLSAgICAgICAgICAgIHNl
dEVuYWJsZUZlYXR1cmUodHJ1ZSwgZnVuY3Rpb24oKSB7Ci0gICAgICAgICAgICAgICAgdGVzdFJ1
bm5lci5pbnN0YWxsU3RhdGlzdGljc0RpZFNjYW5EYXRhUmVjb3Jkc0NhbGxiYWNrKGNoZWNrU3Rh
dHMpOwotICAgICAgICAgICAgfSk7Ci0gICAgICAgIH0KLSAgICA8L3NjcmlwdD4KLTwvaGVhZD4K
LTxib2R5PgotPGlmcmFtZSBzcmM9Imh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9yZXNvdXJjZUxvYWRT
dGF0aXN0aWNzL3Jlc291cmNlcy9wYWdlLXdpdGgtbm9uLXNhbmRib3hlZC1pZnJhbWUtcmVkaXJl
Y3QtbG9jYWxob3N0LXRvLWlwLXRvLWxvY2FsaG9zdC5odG1sIj4KLTwvaWZyYW1lPgotPC9ib2R5
PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxv
YWRTdGF0aXN0aWNzL25vbi1zYW5kYm94ZWQtbmVzdGluZy1pZnJhbWUtd2l0aC1zYW5kYm94ZWQt
aWZyYW1lLXJlZGlyZWN0LWlwLXRvLWxvY2FsaG9zdC10by1pcC1kYXRhYmFzZS1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3Mvbm9uLXNh
bmRib3hlZC1uZXN0aW5nLWlmcmFtZS13aXRoLXNhbmRib3hlZC1pZnJhbWUtcmVkaXJlY3QtaXAt
dG8tbG9jYWxob3N0LXRvLWlwLWRhdGFiYXNlLWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggNzE1Yzg1ZWI0N2UwZjA4NDE2ZTYxZmQwMTVmZDdhZTNjYjg2NmI2OS4u
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3Mvbm9uLXNhbmRib3hlZC1uZXN0aW5n
LWlmcmFtZS13aXRoLXNhbmRib3hlZC1pZnJhbWUtcmVkaXJlY3QtaXAtdG8tbG9jYWxob3N0LXRv
LWlwLWRhdGFiYXNlLWV4cGVjdGVkLnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDEyICswLDAgQEAK
LVRlc3RzIHRoYXQgcmVkaXJlY3RzIGZvciBhIHNhbmRib3hlZCBpZnJhbWUgbmVzdGVkIGluIGEg
bm9uLXNhbmRib3hlZCBpZnJhbWUgZ2V0IGNvdW50ZWQgcHJvcGVybHkuCi0KLU9uIHN1Y2Nlc3Ms
IHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJU
RVNUIENPTVBMRVRFIi4KLQotCi1QQVNTIHRlc3RSdW5uZXIuaXNTdGF0aXN0aWNzUmVnaXN0ZXJl
ZEFzU3ViRnJhbWVVbmRlcigiaHR0cDovL2xvY2FsaG9zdCIsICJodHRwOi8vMTI3LjAuMC4xIikg
aXMgdHJ1ZQotUEFTUyB0ZXN0UnVubmVyLmlzU3RhdGlzdGljc1JlZ2lzdGVyZWRBc1JlZGlyZWN0
aW5nVG8oImh0dHA6Ly9sb2NhbGhvc3QiLCAiaHR0cDovLzEyNy4wLjAuMSIpIGlzIHRydWUKLVBB
U1MgdGVzdFJ1bm5lci5pc1N0YXRpc3RpY3NSZWdpc3RlcmVkQXNSZWRpcmVjdGluZ1RvKCJodHRw
Oi8vMTI3LjAuMC4xIiwgImh0dHA6Ly9sb2NhbGhvc3QiKSBpcyB0cnVlCi1QQVNTIHN1Y2Nlc3Nm
dWxseVBhcnNlZCBpcyB0cnVlCi0KLVRFU1QgQ09NUExFVEUKLQpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL25vbi1zYW5kYm94ZWQtbmVz
dGluZy1pZnJhbWUtd2l0aC1zYW5kYm94ZWQtaWZyYW1lLXJlZGlyZWN0LWlwLXRvLWxvY2FsaG9z
dC10by1pcC1kYXRhYmFzZS5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxv
YWRTdGF0aXN0aWNzL25vbi1zYW5kYm94ZWQtbmVzdGluZy1pZnJhbWUtd2l0aC1zYW5kYm94ZWQt
aWZyYW1lLXJlZGlyZWN0LWlwLXRvLWxvY2FsaG9zdC10by1pcC1kYXRhYmFzZS5odG1sCmRlbGV0
ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBlZDJhYWU0NGJiYjI4ZjdiODVmOGZiYWNkYTgxZjk3
ODFlNmU3ZjY3Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBh
L0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9ub24tc2FuZGJv
eGVkLW5lc3RpbmctaWZyYW1lLXdpdGgtc2FuZGJveGVkLWlmcmFtZS1yZWRpcmVjdC1pcC10by1s
b2NhbGhvc3QtdG8taXAtZGF0YWJhc2UuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDU0ICswLDAg
QEAKLTwhRE9DVFlQRSBodG1sPgotPGh0bWw+Ci08aGVhZD4KLSAgICA8c2NyaXB0IHNyYz0iL2pz
LXRlc3QtcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgotICAgIDxzY3JpcHQgc3JjPSJy
ZXNvdXJjZXMvdXRpbC5qcyI+PC9zY3JpcHQ+Ci0gICAgPHNjcmlwdD4KLSAgICAgICAgZGVzY3Jp
cHRpb24oIlRlc3RzIHRoYXQgcmVkaXJlY3RzIGZvciBhIHNhbmRib3hlZCBpZnJhbWUgbmVzdGVk
IGluIGEgbm9uLXNhbmRib3hlZCBpZnJhbWUgZ2V0IGNvdW50ZWQgcHJvcGVybHkuIik7Ci0gICAg
ICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOwotICAgICAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5l
cigibWVzc2FnZSIsIHJlY2VpdmVNZXNzYWdlLCBmYWxzZSk7Ci0KLSAgICAgICAgZnVuY3Rpb24g
ZmluaXNoVGVzdCgpIHsKLSAgICAgICAgICAgIHNldEVuYWJsZUZlYXR1cmUoZmFsc2UsIGZpbmlz
aEpTVGVzdCk7Ci0gICAgICAgIH0KLQotICAgICAgICB2YXIgbGFzdFBhZ2VJblJlZGlyZWN0Q2hh
aW5Mb2FkZWQgPSBmYWxzZTsKLSAgICAgICAgdmFyIHN0YXRzQ2hlY2tlZCA9IGZhbHNlOwotCi0g
ICAgICAgIGZ1bmN0aW9uIHJlY2VpdmVNZXNzYWdlKGV2ZW50KSB7Ci0gICAgICAgICAgICBpZiAo
ZXZlbnQub3JpZ2luID09PSAibnVsbCIpIHsKLSAgICAgICAgICAgICAgICBpZiAoZXZlbnQuZGF0
YS5pbmRleE9mKCJQQVNTIikgPT09IC0xKQotICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVk
KGV2ZW50LmRhdGEucmVwbGFjZSgiRkFJTCAiLCAiIikpOwotICAgICAgICAgICAgfSBlbHNlCi0g
ICAgICAgICAgICAgICAgdGVzdEZhaWxlZCgiUmVjZWl2ZWQgYSBtZXNzYWdlIGZyb20gYW4gdW5l
eHBlY3RlZCBvcmlnaW46ICIgKyBldmVudC5vcmlnaW4pOwotCi0gICAgICAgICAgICBsYXN0UGFn
ZUluUmVkaXJlY3RDaGFpbkxvYWRlZCA9IHRydWU7Ci0gICAgICAgICAgICBpZiAoc3RhdHNDaGVj
a2VkKQotICAgICAgICAgICAgICAgIGZpbmlzaFRlc3QoKTsKLSAgICAgICAgICAgIGVsc2UKLSAg
ICAgICAgICAgICAgICB0ZXN0UnVubmVyLnN0YXRpc3RpY3NOb3RpZnlPYnNlcnZlcigpOwotICAg
ICAgICB9Ci0KLSAgICAgICAgZnVuY3Rpb24gY2hlY2tTdGF0cygpIHsKLSAgICAgICAgICAgIHNo
b3VsZEJlVHJ1ZSgndGVzdFJ1bm5lci5pc1N0YXRpc3RpY3NSZWdpc3RlcmVkQXNTdWJGcmFtZVVu
ZGVyKCJodHRwOi8vbG9jYWxob3N0IiwgImh0dHA6Ly8xMjcuMC4wLjEiKScpOwotICAgICAgICAg
ICAgc2hvdWxkQmVUcnVlKCd0ZXN0UnVubmVyLmlzU3RhdGlzdGljc1JlZ2lzdGVyZWRBc1JlZGly
ZWN0aW5nVG8oImh0dHA6Ly9sb2NhbGhvc3QiLCAiaHR0cDovLzEyNy4wLjAuMSIpJyk7Ci0gICAg
ICAgICAgICBzaG91bGRCZVRydWUoJ3Rlc3RSdW5uZXIuaXNTdGF0aXN0aWNzUmVnaXN0ZXJlZEFz
UmVkaXJlY3RpbmdUbygiaHR0cDovLzEyNy4wLjAuMSIsICJodHRwOi8vbG9jYWxob3N0IiknKTsK
LQotICAgICAgICAgICAgc3RhdHNDaGVja2VkID0gdHJ1ZTsKLSAgICAgICAgICAgIGlmIChsYXN0
UGFnZUluUmVkaXJlY3RDaGFpbkxvYWRlZCkKLSAgICAgICAgICAgICAgICBmaW5pc2hUZXN0KCk7
Ci0gICAgICAgIH0KLQotICAgICAgICBpZiAodGVzdFJ1bm5lcikgewotICAgICAgICAgICAgdGVz
dFJ1bm5lci5zZXRVc2VJVFBEYXRhYmFzZSh0cnVlKTsKLSAgICAgICAgICAgIHNldEVuYWJsZUZl
YXR1cmUodHJ1ZSwgZnVuY3Rpb24oKSB7Ci0gICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5pbnN0
YWxsU3RhdGlzdGljc0RpZFNjYW5EYXRhUmVjb3Jkc0NhbGxiYWNrKGNoZWNrU3RhdHMpOwotICAg
ICAgICAgICAgfSk7Ci0gICAgICAgIH0KLSAgICA8L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5Pgot
PGlmcmFtZSBzcmM9Imh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9yZXNvdXJjZUxvYWRTdGF0aXN0aWNz
L3Jlc291cmNlcy9wYWdlLXdpdGgtc2FuZGJveGVkLWlmcmFtZS1yZWRpcmVjdC1pcC10by1sb2Nh
bGhvc3QtdG8taXAuaHRtbCI+Ci08L2lmcmFtZT4KLTwvYm9keT4KLTwvaHRtbD4KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9ub24tc2Fu
ZGJveGVkLW5lc3RpbmctaWZyYW1lLXdpdGgtc2FuZGJveGVkLWlmcmFtZS1yZWRpcmVjdC1sb2Nh
bGhvc3QtdG8taXAtdG8tbG9jYWxob3N0LWRhdGFiYXNlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9ub24tc2FuZGJveGVkLW5lc3Rp
bmctaWZyYW1lLXdpdGgtc2FuZGJveGVkLWlmcmFtZS1yZWRpcmVjdC1sb2NhbGhvc3QtdG8taXAt
dG8tbG9jYWxob3N0LWRhdGFiYXNlLWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggNzE1Yzg1ZWI0N2UwZjA4NDE2ZTYxZmQwMTVmZDdhZTNjYjg2NmI2OS4uMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3Mvbm9uLXNhbmRib3hlZC1uZXN0aW5nLWlmcmFt
ZS13aXRoLXNhbmRib3hlZC1pZnJhbWUtcmVkaXJlY3QtbG9jYWxob3N0LXRvLWlwLXRvLWxvY2Fs
aG9zdC1kYXRhYmFzZS1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSwxMiArMCwwIEBA
Ci1UZXN0cyB0aGF0IHJlZGlyZWN0cyBmb3IgYSBzYW5kYm94ZWQgaWZyYW1lIG5lc3RlZCBpbiBh
IG5vbi1zYW5kYm94ZWQgaWZyYW1lIGdldCBjb3VudGVkIHByb3Blcmx5LgotCi1PbiBzdWNjZXNz
LCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAi
VEVTVCBDT01QTEVURSIuCi0KLQotUEFTUyB0ZXN0UnVubmVyLmlzU3RhdGlzdGljc1JlZ2lzdGVy
ZWRBc1N1YkZyYW1lVW5kZXIoImh0dHA6Ly9sb2NhbGhvc3QiLCAiaHR0cDovLzEyNy4wLjAuMSIp
IGlzIHRydWUKLVBBU1MgdGVzdFJ1bm5lci5pc1N0YXRpc3RpY3NSZWdpc3RlcmVkQXNSZWRpcmVj
dGluZ1RvKCJodHRwOi8vbG9jYWxob3N0IiwgImh0dHA6Ly8xMjcuMC4wLjEiKSBpcyB0cnVlCi1Q
QVNTIHRlc3RSdW5uZXIuaXNTdGF0aXN0aWNzUmVnaXN0ZXJlZEFzUmVkaXJlY3RpbmdUbygiaHR0
cDovLzEyNy4wLjAuMSIsICJodHRwOi8vbG9jYWxob3N0IikgaXMgdHJ1ZQotUEFTUyBzdWNjZXNz
ZnVsbHlQYXJzZWQgaXMgdHJ1ZQotCi1URVNUIENPTVBMRVRFCi0KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9ub24tc2FuZGJveGVkLW5l
c3RpbmctaWZyYW1lLXdpdGgtc2FuZGJveGVkLWlmcmFtZS1yZWRpcmVjdC1sb2NhbGhvc3QtdG8t
aXAtdG8tbG9jYWxob3N0LWRhdGFiYXNlLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jl
c291cmNlTG9hZFN0YXRpc3RpY3Mvbm9uLXNhbmRib3hlZC1uZXN0aW5nLWlmcmFtZS13aXRoLXNh
bmRib3hlZC1pZnJhbWUtcmVkaXJlY3QtbG9jYWxob3N0LXRvLWlwLXRvLWxvY2FsaG9zdC1kYXRh
YmFzZS5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwNWNiM2QzYjlhMDc3ZjYz
NWIxOTJmOTJjZjJkYmUyMjQ0ODU1ZTk0Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlz
dGljcy9ub24tc2FuZGJveGVkLW5lc3RpbmctaWZyYW1lLXdpdGgtc2FuZGJveGVkLWlmcmFtZS1y
ZWRpcmVjdC1sb2NhbGhvc3QtdG8taXAtdG8tbG9jYWxob3N0LWRhdGFiYXNlLmh0bWwKKysrIC9k
ZXYvbnVsbApAQCAtMSw1NCArMCwwIEBACi08IURPQ1RZUEUgaHRtbD4KLTxodG1sPgotPGhlYWQ+
Ci0gICAgPHNjcmlwdCBzcmM9Ii9qcy10ZXN0LXJlc291cmNlcy9qcy10ZXN0LmpzIj48L3Njcmlw
dD4KLSAgICA8c2NyaXB0IHNyYz0icmVzb3VyY2VzL3V0aWwuanMiPjwvc2NyaXB0PgotICAgIDxz
Y3JpcHQ+Ci0gICAgICAgIGRlc2NyaXB0aW9uKCJUZXN0cyB0aGF0IHJlZGlyZWN0cyBmb3IgYSBz
YW5kYm94ZWQgaWZyYW1lIG5lc3RlZCBpbiBhIG5vbi1zYW5kYm94ZWQgaWZyYW1lIGdldCBjb3Vu
dGVkIHByb3Blcmx5LiIpOwotICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKLSAgICAgICAg
d2luZG93LmFkZEV2ZW50TGlzdGVuZXIoIm1lc3NhZ2UiLCByZWNlaXZlTWVzc2FnZSwgZmFsc2Up
OwotCi0gICAgICAgIGZ1bmN0aW9uIGZpbmlzaFRlc3QoKSB7Ci0gICAgICAgICAgICBzZXRFbmFi
bGVGZWF0dXJlKGZhbHNlLCBmaW5pc2hKU1Rlc3QpOwotICAgICAgICB9Ci0KLSAgICAgICAgdmFy
IGxhc3RQYWdlSW5SZWRpcmVjdENoYWluTG9hZGVkID0gZmFsc2U7Ci0gICAgICAgIHZhciBzdGF0
c0NoZWNrZWQgPSBmYWxzZTsKLQotICAgICAgICBmdW5jdGlvbiByZWNlaXZlTWVzc2FnZShldmVu
dCkgewotICAgICAgICAgICAgaWYgKGV2ZW50Lm9yaWdpbiA9PT0gIm51bGwiKSB7Ci0gICAgICAg
ICAgICAgICAgaWYgKGV2ZW50LmRhdGEuaW5kZXhPZigiUEFTUyIpID09PSAtMSkKLSAgICAgICAg
ICAgICAgICAgICAgdGVzdEZhaWxlZChldmVudC5kYXRhLnJlcGxhY2UoIkZBSUwgIiwgIiIpKTsK
LSAgICAgICAgICAgIH0gZWxzZQotICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoIlJlY2VpdmVk
IGEgbWVzc2FnZSBmcm9tIGFuIHVuZXhwZWN0ZWQgb3JpZ2luOiAiICsgZXZlbnQub3JpZ2luKTsK
LQotICAgICAgICAgICAgbGFzdFBhZ2VJblJlZGlyZWN0Q2hhaW5Mb2FkZWQgPSB0cnVlOwotICAg
ICAgICAgICAgaWYgKHN0YXRzQ2hlY2tlZCkKLSAgICAgICAgICAgICAgICBmaW5pc2hUZXN0KCk7
Ci0gICAgICAgICAgICBlbHNlCi0gICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5zdGF0aXN0aWNz
Tm90aWZ5T2JzZXJ2ZXIoKTsKLSAgICAgICAgfQotCi0gICAgICAgIGZ1bmN0aW9uIGNoZWNrU3Rh
dHMoKSB7Ci0gICAgICAgICAgICBzaG91bGRCZVRydWUoJ3Rlc3RSdW5uZXIuaXNTdGF0aXN0aWNz
UmVnaXN0ZXJlZEFzU3ViRnJhbWVVbmRlcigiaHR0cDovL2xvY2FsaG9zdCIsICJodHRwOi8vMTI3
LjAuMC4xIiknKTsKLSAgICAgICAgICAgIHNob3VsZEJlVHJ1ZSgndGVzdFJ1bm5lci5pc1N0YXRp
c3RpY3NSZWdpc3RlcmVkQXNSZWRpcmVjdGluZ1RvKCJodHRwOi8vbG9jYWxob3N0IiwgImh0dHA6
Ly8xMjcuMC4wLjEiKScpOwotICAgICAgICAgICAgc2hvdWxkQmVUcnVlKCd0ZXN0UnVubmVyLmlz
U3RhdGlzdGljc1JlZ2lzdGVyZWRBc1JlZGlyZWN0aW5nVG8oImh0dHA6Ly8xMjcuMC4wLjEiLCAi
aHR0cDovL2xvY2FsaG9zdCIpJyk7Ci0KLSAgICAgICAgICAgIHN0YXRzQ2hlY2tlZCA9IHRydWU7
Ci0gICAgICAgICAgICBpZiAobGFzdFBhZ2VJblJlZGlyZWN0Q2hhaW5Mb2FkZWQpCi0gICAgICAg
ICAgICAgICAgZmluaXNoVGVzdCgpOwotICAgICAgICB9Ci0KLSAgICAgICAgaWYgKHRlc3RSdW5u
ZXIpIHsKLSAgICAgICAgICAgIHRlc3RSdW5uZXIuc2V0VXNlSVRQRGF0YWJhc2UodHJ1ZSk7Ci0g
ICAgICAgICAgICBzZXRFbmFibGVGZWF0dXJlKHRydWUsIGZ1bmN0aW9uKCkgewotICAgICAgICAg
ICAgICAgIHRlc3RSdW5uZXIuaW5zdGFsbFN0YXRpc3RpY3NEaWRTY2FuRGF0YVJlY29yZHNDYWxs
YmFjayhjaGVja1N0YXRzKTsKLSAgICAgICAgICAgIH0pOwotICAgICAgICB9Ci0gICAgPC9zY3Jp
cHQ+Ci08L2hlYWQ+Ci08Ym9keT4KLTxpZnJhbWUgc3JjPSJodHRwOi8vMTI3LjAuMC4xOjgwMDAv
cmVzb3VyY2VMb2FkU3RhdGlzdGljcy9yZXNvdXJjZXMvcGFnZS13aXRoLXNhbmRib3hlZC1pZnJh
bWUtcmVkaXJlY3QtbG9jYWxob3N0LXRvLWlwLXRvLWxvY2FsaG9zdC5odG1sIj4KLTwvaWZyYW1l
PgotPC9ib2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9y
ZXNvdXJjZUxvYWRTdGF0aXN0aWNzL29wZXJhdGluZy1kYXRlcy1hbGwtYnV0LWNvb2tpZXMtcmVt
b3ZlZC1zdGF0aXN0aWNzLXdpdGgtbm8tdXNlci1pbnRlcmFjdGlvbi1kYXRhYmFzZS1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3Mvb3Bl
cmF0aW5nLWRhdGVzLWFsbC1idXQtY29va2llcy1yZW1vdmVkLXN0YXRpc3RpY3Mtd2l0aC1uby11
c2VyLWludGVyYWN0aW9uLWRhdGFiYXNlLWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggZjVhNWVhMjQxMDg1ZTRiNTExYTgxMGY4OTZhYzRlMzQ5OWE4NDc0MC4uMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9o
dHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3Mvb3BlcmF0aW5nLWRhdGVzLWFsbC1idXQt
Y29va2llcy1yZW1vdmVkLXN0YXRpc3RpY3Mtd2l0aC1uby11c2VyLWludGVyYWN0aW9uLWRhdGFi
YXNlLWV4cGVjdGVkLnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDE0ICswLDAgQEAKLQotQmVmb3Jl
IHN0YXRpc3RpY3MgcHJvY2Vzc2luZzogQ2xpZW50LXNpZGUgY29va2llIGV4aXN0cy4KLUJlZm9y
ZSBzdGF0aXN0aWNzIHByb2Nlc3Npbmc6IEh0dHBPbmx5IGNvb2tpZSBleGlzdHMuCi1CZWZvcmUg
c3RhdGlzdGljcyBwcm9jZXNzaW5nOiBSZWd1bGFyIHNlcnZlci1zaWRlIGNvb2tpZSBleGlzdHMu
Ci1CZWZvcmUgc3RhdGlzdGljcyBwcm9jZXNzaW5nOiBMb2NhbFN0b3JhZ2UgZW50cnkgZG9lcyBl
eGlzdC4KLUJlZm9yZSBzdGF0aXN0aWNzIHByb2Nlc3Npbmc6IElEQiBlbnRyeSBkb2VzIGV4aXN0
LgotCi1BZnRlciBzdGF0aXN0aWNzIHByb2Nlc3Npbmc6IEh0dHBPbmx5IGNvb2tpZSBleGlzdHMu
Ci1BZnRlciBzdGF0aXN0aWNzIHByb2Nlc3Npbmc6IENsaWVudC1zaWRlIGNvb2tpZSBleGlzdHMu
Ci1BZnRlciBzdGF0aXN0aWNzIHByb2Nlc3Npbmc6IFJlZ3VsYXIgc2VydmVyLXNpZGUgY29va2ll
IGV4aXN0cy4KLUFmdGVyIHN0YXRpc3RpY3MgcHJvY2Vzc2luZzogTG9jYWxTdG9yYWdlIGVudHJ5
IGRvZXMgbm90IGV4aXN0LgotQWZ0ZXIgc3RhdGlzdGljcyBwcm9jZXNzaW5nOiBJREIgZW50cnkg
ZG9lcyBub3QgZXhpc3QuCi0KLQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9y
ZXNvdXJjZUxvYWRTdGF0aXN0aWNzL29wZXJhdGluZy1kYXRlcy1hbGwtYnV0LWNvb2tpZXMtcmVt
b3ZlZC1zdGF0aXN0aWNzLXdpdGgtbm8tdXNlci1pbnRlcmFjdGlvbi1kYXRhYmFzZS5odG1sIGIv
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL29wZXJhdGluZy1k
YXRlcy1hbGwtYnV0LWNvb2tpZXMtcmVtb3ZlZC1zdGF0aXN0aWNzLXdpdGgtbm8tdXNlci1pbnRl
cmFjdGlvbi1kYXRhYmFzZS5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBjZmJl
OGY4MWE3YmEzNzE5MjZjNmI2YzIyZGExMDZhOTRiZGUyNzk2Li4wMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3Vy
Y2VMb2FkU3RhdGlzdGljcy9vcGVyYXRpbmctZGF0ZXMtYWxsLWJ1dC1jb29raWVzLXJlbW92ZWQt
c3RhdGlzdGljcy13aXRoLW5vLXVzZXItaW50ZXJhY3Rpb24tZGF0YWJhc2UuaHRtbAorKysgL2Rl
di9udWxsCkBAIC0xLDI1OCArMCwwIEBACi08IURPQ1RZUEUgaHRtbD4KLTxodG1sPgotPGhlYWQ+
Ci0gICAgPHNjcmlwdCBzcmM9Ii9jb29raWVzL3Jlc291cmNlcy9jb29raWUtdXRpbGl0aWVzLmpz
Ij48L3NjcmlwdD4KLSAgICA8c2NyaXB0IHNyYz0icmVzb3VyY2VzL3V0aWwuanMiPjwvc2NyaXB0
PgotPC9oZWFkPgotPGJvZHkgb25sb2FkPSJzZXRUaW1lb3V0KCdydW5UZXN0KCknLCAwKSI+Ci08
YnI+Ci08ZGl2IGlkPSJvdXRwdXQiPjwvZGl2PgotPGJyPgotPHNjcmlwdD4KLSAgICB0ZXN0UnVu
bmVyLndhaXRVbnRpbERvbmUoKTsKLSAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKLSAgICB0
ZXN0UnVubmVyLnNldFVzZUlUUERhdGFiYXNlKHRydWUpOwotCi0gICAgY29uc3QgaHR0cE9ubHlD
b29raWVOYW1lID0gImh0dHAtb25seS1jb29raWUiOwotICAgIGNvbnN0IHNlcnZlclNpZGVDb29r
aWVOYW1lID0gInNlcnZlci1zaWRlLWNvb2tpZSI7Ci0gICAgY29uc3QgY2xpZW50U2lkZUNvb2tp
ZU5hbWUgPSAiY2xpZW50LXNpZGUtY29va2llIjsKLQotICAgIGZ1bmN0aW9uIHNvcnRTdHJpbmdB
cnJheShhLCBiKSB7Ci0gICAgICAgIGEgPSBhLnRvTG93ZXJDYXNlKCk7Ci0gICAgICAgIGIgPSBi
LnRvTG93ZXJDYXNlKCk7Ci0KLSAgICAgICAgcmV0dXJuIGEgPiBiID8gMSA6IGIgPiBhID8gLTEg
OiAwOwotICAgIH0KLQotICAgIGZ1bmN0aW9uIGFkZExpbmVicmVha1RvT3V0cHV0KCkgewotICAg
ICAgICBsZXQgZWxlbWVudCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImJyIik7Ci0gICAgICAg
IG91dHB1dC5hcHBlbmRDaGlsZChlbGVtZW50KTsKLSAgICB9Ci0KLSAgICBmdW5jdGlvbiBhZGRP
dXRwdXQobWVzc2FnZSkgewotICAgICAgICBsZXQgZWxlbWVudCA9IGRvY3VtZW50LmNyZWF0ZUVs
ZW1lbnQoImRpdiIpOwotICAgICAgICBlbGVtZW50LmlubmVyVGV4dCA9IG1lc3NhZ2U7Ci0gICAg
ICAgIG91dHB1dC5hcHBlbmRDaGlsZChlbGVtZW50KTsKLSAgICB9Ci0KLSAgICBmdW5jdGlvbiBj
aGVja0Nvb2tpZXMoaXNBZnRlckRlbGV0aW9uKSB7Ci0gICAgICAgIGxldCB1bnNvcnRlZFRlc3RQ
YXNzZWRNZXNzYWdlcyA9IFtdOwotICAgICAgICBsZXQgY29va2llcyA9IGludGVybmFscy5nZXRD
b29raWVzKCk7Ci0gICAgICAgIGlmICghY29va2llcy5sZW5ndGggJiYgaXNBZnRlckRlbGV0aW9u
KQotICAgICAgICAgICAgYWRkT3V0cHV0KCJGQUlMOiAiICsgIk5vIGNvb2tpZXMgZm91bmQuIik7
Ci0gICAgICAgIGZvciAobGV0IGNvb2tpZSBvZiBjb29raWVzKSB7Ci0gICAgICAgICAgICBzd2l0
Y2ggKGNvb2tpZS5uYW1lKSB7Ci0gICAgICAgICAgICAgICAgY2FzZSBodHRwT25seUNvb2tpZU5h
bWU6Ci0gICAgICAgICAgICAgICAgICAgIHVuc29ydGVkVGVzdFBhc3NlZE1lc3NhZ2VzLnB1c2go
KGlzQWZ0ZXJEZWxldGlvbiA/ICJBZnRlciIgOiAiQmVmb3JlIikgKyAiIHN0YXRpc3RpY3MgcHJv
Y2Vzc2luZzogIiArIChpc0FmdGVyRGVsZXRpb24gPyAiICIgOiAiIikgKyAiSHR0cE9ubHkgY29v
a2llIGV4aXN0cy4iKTsKLSAgICAgICAgICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgICAgICAg
ICAgY2FzZSBzZXJ2ZXJTaWRlQ29va2llTmFtZToKLSAgICAgICAgICAgICAgICAgICAgdW5zb3J0
ZWRUZXN0UGFzc2VkTWVzc2FnZXMucHVzaCgoaXNBZnRlckRlbGV0aW9uID8gIkFmdGVyIiA6ICJC
ZWZvcmUiKSArICIgc3RhdGlzdGljcyBwcm9jZXNzaW5nOiBSZWd1bGFyIHNlcnZlci1zaWRlIGNv
b2tpZSBleGlzdHMuIik7Ci0gICAgICAgICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICAgICAg
ICAgIGNhc2UgY2xpZW50U2lkZUNvb2tpZU5hbWU6Ci0gICAgICAgICAgICAgICAgICAgIHVuc29y
dGVkVGVzdFBhc3NlZE1lc3NhZ2VzLnB1c2goKGlzQWZ0ZXJEZWxldGlvbiA/ICJBZnRlciIgOiAi
QmVmb3JlIikgKyAiIHN0YXRpc3RpY3MgcHJvY2Vzc2luZzogQ2xpZW50LXNpZGUgY29va2llIGV4
aXN0cy4iKTsKLSAgICAgICAgICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgICAgICB9Ci0gICAg
ICAgIH0KLSAgICAgICAgbGV0IHNvcnRlZFRlc3RQYXNzZWRNZXNzYWdlcyA9IHVuc29ydGVkVGVz
dFBhc3NlZE1lc3NhZ2VzLnNvcnQoc29ydFN0cmluZ0FycmF5KTsKLSAgICAgICAgZm9yIChsZXQg
dGVzdFBhc3NlZE1lc3NhZ2Ugb2Ygc29ydGVkVGVzdFBhc3NlZE1lc3NhZ2VzKSB7Ci0gICAgICAg
ICAgICBhZGRPdXRwdXQodGVzdFBhc3NlZE1lc3NhZ2UpOwotICAgICAgICB9Ci0gICAgfQotCi0g
ICAgY29uc3QgZGJOYW1lID0gIlRlc3REYXRhYmFzZSI7Ci0KLSAgICBmdW5jdGlvbiBjcmVhdGVJ
REJEYXRhU3RvcmUoY2FsbGJhY2spIHsKLSAgICAgICAgbGV0IHJlcXVlc3QgPSBpbmRleGVkREIu
b3BlbihkYk5hbWUpOwotICAgICAgICByZXF1ZXN0Lm9uZXJyb3IgPSBmdW5jdGlvbigpIHsKLSAg
ICAgICAgICAgIGFkZE91dHB1dCgiQ291bGRuJ3QgY3JlYXRlIGluZGV4ZWREQi4iKTsKLSAgICAg
ICAgICAgIGZpbmlzaFRlc3QoKTsKLSAgICAgICAgfTsKLSAgICAgICAgcmVxdWVzdC5vbnVwZ3Jh
ZGVuZWVkZWQgPSBmdW5jdGlvbihldmVudCkgewotICAgICAgICAgICAgbGV0IGRiID0gZXZlbnQu
dGFyZ2V0LnJlc3VsdDsKLSAgICAgICAgICAgIGxldCBvYmpTdG9yZSA9IGRiLmNyZWF0ZU9iamVj
dFN0b3JlKCJ0ZXN0Iiwge2F1dG9JbmNyZW1lbnQ6IHRydWV9KTsKLSAgICAgICAgICAgIG9ialN0
b3JlLmFkZCgidmFsdWUiKTsKLSAgICAgICAgICAgIGNhbGxiYWNrKCk7Ci0gICAgICAgIH0KLSAg
ICB9Ci0KLSAgICBjb25zdCBtYXhJbnRlcnZhbHMgPSAyMDsKLQotICAgIGxldCBpbnRlcnZhbENv
dW50ZXJJREI7Ci0gICAgbGV0IGNoZWNrSURCQ2FsbGJhY2s7Ci0gICAgbGV0IGNoZWNrSURCSW50
ZXJ2YWxJRDsKLSAgICBsZXQgc2VtYXBob3JlSURCQ2hlY2sgPSBmYWxzZTsKLSAgICBmdW5jdGlv
biBjaGVja0lEQkRhdGFTdG9yZUV4aXN0cyhpc0FmdGVyRGVsZXRpb24sIGNhbGxiYWNrKSB7Ci0g
ICAgICAgIGxldCByZXF1ZXN0OwotICAgICAgICBpbnRlcnZhbENvdW50ZXJJREIgPSAwOwotICAg
ICAgICBjaGVja0lEQkNhbGxiYWNrID0gY2FsbGJhY2s7Ci0gICAgICAgIGlmICghaXNBZnRlckRl
bGV0aW9uKSB7Ci0gICAgICAgICAgICAvLyBDaGVjayB1bnRpbCB0aGVyZSBpcyBhIElEQi4KLSAg
ICAgICAgICAgIGNoZWNrSURCSW50ZXJ2YWxJRCA9IHNldEludGVydmFsKGZ1bmN0aW9uKCkgewot
ICAgICAgICAgICAgICAgIGlmIChzZW1hcGhvcmVJREJDaGVjaykKLSAgICAgICAgICAgICAgICAg
ICAgcmV0dXJuOwotICAgICAgICAgICAgICAgIHNlbWFwaG9yZUlEQkNoZWNrID0gdHJ1ZTsKLQot
ICAgICAgICAgICAgICAgIGlmICgrK2ludGVydmFsQ291bnRlcklEQiA+PSBtYXhJbnRlcnZhbHMp
IHsKLSAgICAgICAgICAgICAgICAgICAgY2xlYXJJbnRlcnZhbChjaGVja0lEQkludGVydmFsSUQp
OwotICAgICAgICAgICAgICAgICAgICBhZGRPdXRwdXQoIkJlZm9yZSBzdGF0aXN0aWNzIHByb2Nl
c3Npbmc6IElEQiBlbnRyeSBkb2VzIG5vdCBleGlzdC4iKTsKLSAgICAgICAgICAgICAgICAgICAg
c2VtYXBob3JlSURCQ2hlY2sgPSBmYWxzZTsKLSAgICAgICAgICAgICAgICAgICAgY2hlY2tJREJD
YWxsYmFjaygpOwotICAgICAgICAgICAgICAgIH0gZWxzZSB7Ci0gICAgICAgICAgICAgICAgICAg
IHJlcXVlc3QgPSBpbmRleGVkREIub3BlbihkYk5hbWUpOwotICAgICAgICAgICAgICAgICAgICBy
ZXF1ZXN0Lm9uZXJyb3IgPSBmdW5jdGlvbiAoKSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICBj
bGVhckludGVydmFsKGNoZWNrSURCSW50ZXJ2YWxJRCk7Ci0gICAgICAgICAgICAgICAgICAgICAg
ICBhZGRPdXRwdXQoIkNvdWxkbid0IG9wZW4gaW5kZXhlZERCLiIpOwotICAgICAgICAgICAgICAg
ICAgICAgICAgc2VtYXBob3JlSURCQ2hlY2sgPSBmYWxzZTsKLSAgICAgICAgICAgICAgICAgICAg
ICAgIGZpbmlzaFRlc3QoKTsKLSAgICAgICAgICAgICAgICAgICAgfTsKLSAgICAgICAgICAgICAg
ICAgICAgcmVxdWVzdC5vbnVwZ3JhZGVuZWVkZWQgPSBmdW5jdGlvbiAoKSB7Ci0gICAgICAgICAg
ICAgICAgICAgICAgICAvLyBMZXQgdGhlIG5leHQgaW50ZXJ2YWwgY2hlY2sgYWdhaW4uCi0gICAg
ICAgICAgICAgICAgICAgICAgICBzZW1hcGhvcmVJREJDaGVjayA9IGZhbHNlOwotICAgICAgICAg
ICAgICAgICAgICB9OwotICAgICAgICAgICAgICAgICAgICByZXF1ZXN0Lm9uc3VjY2VzcyA9IGZ1
bmN0aW9uICgpIHsKLSAgICAgICAgICAgICAgICAgICAgICAgIGNsZWFySW50ZXJ2YWwoY2hlY2tJ
REJJbnRlcnZhbElEKTsKLSAgICAgICAgICAgICAgICAgICAgICAgIGFkZE91dHB1dCgiQmVmb3Jl
IHN0YXRpc3RpY3MgcHJvY2Vzc2luZzogSURCIGVudHJ5IGRvZXMgZXhpc3QuIik7Ci0gICAgICAg
ICAgICAgICAgICAgICAgICBzZW1hcGhvcmVJREJDaGVjayA9IGZhbHNlOwotICAgICAgICAgICAg
ICAgICAgICAgICAgY2hlY2tJREJDYWxsYmFjaygpOwotICAgICAgICAgICAgICAgICAgICB9Owot
ICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgIH0sIDIwMCk7Ci0gICAgICAgIH0gZWxzZSB7
Ci0gICAgICAgICAgICAvLyBDaGVjayB1bnRpbCB0aGVyZSBpcyBubyBJREIuCi0gICAgICAgICAg
ICBjaGVja0lEQkludGVydmFsSUQgPSBzZXRJbnRlcnZhbChmdW5jdGlvbiAoKSB7Ci0gICAgICAg
ICAgICAgICAgaWYgKHNlbWFwaG9yZUlEQkNoZWNrKQotICAgICAgICAgICAgICAgICAgICByZXR1
cm47Ci0gICAgICAgICAgICAgICAgc2VtYXBob3JlSURCQ2hlY2sgPSB0cnVlOwotCi0gICAgICAg
ICAgICAgICAgaWYgKCsraW50ZXJ2YWxDb3VudGVySURCID49IG1heEludGVydmFscykgewotICAg
ICAgICAgICAgICAgICAgICBjbGVhckludGVydmFsKGNoZWNrSURCSW50ZXJ2YWxJRCk7Ci0gICAg
ICAgICAgICAgICAgICAgIGFkZE91dHB1dCgiQWZ0ZXIgc3RhdGlzdGljcyBwcm9jZXNzaW5nOiBJ
REIgZW50cnkgZG9lcyBleGlzdC4iKTsKLSAgICAgICAgICAgICAgICAgICAgc2VtYXBob3JlSURC
Q2hlY2sgPSBmYWxzZTsKLSAgICAgICAgICAgICAgICAgICAgY2hlY2tJREJDYWxsYmFjaygpOwot
ICAgICAgICAgICAgICAgIH0gZWxzZSB7Ci0gICAgICAgICAgICAgICAgICAgIHJlcXVlc3QgPSBp
bmRleGVkREIub3BlbihkYk5hbWUpOwotICAgICAgICAgICAgICAgICAgICByZXF1ZXN0Lm9uZXJy
b3IgPSBmdW5jdGlvbiAoKSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICBjbGVhckludGVydmFs
KGNoZWNrSURCSW50ZXJ2YWxJRCk7Ci0gICAgICAgICAgICAgICAgICAgICAgICBhZGRPdXRwdXQo
IkNvdWxkbid0IG9wZW4gaW5kZXhlZERCLiIpOwotICAgICAgICAgICAgICAgICAgICAgICAgc2Vt
YXBob3JlSURCQ2hlY2sgPSBmYWxzZTsKLSAgICAgICAgICAgICAgICAgICAgICAgIGZpbmlzaFRl
c3QoKTsKLSAgICAgICAgICAgICAgICAgICAgfTsKLSAgICAgICAgICAgICAgICAgICAgcmVxdWVz
dC5vbnVwZ3JhZGVuZWVkZWQgPSBmdW5jdGlvbiAoKSB7Ci0gICAgICAgICAgICAgICAgICAgICAg
ICBjbGVhckludGVydmFsKGNoZWNrSURCSW50ZXJ2YWxJRCk7Ci0gICAgICAgICAgICAgICAgICAg
ICAgICBhZGRPdXRwdXQoIkFmdGVyIHN0YXRpc3RpY3MgcHJvY2Vzc2luZzogSURCIGVudHJ5IGRv
ZXMgbm90IGV4aXN0LiIpOwotICAgICAgICAgICAgICAgICAgICAgICAgc2VtYXBob3JlSURCQ2hl
Y2sgPSBmYWxzZTsKLSAgICAgICAgICAgICAgICAgICAgICAgIGZpbmlzaFRlc3QoKTsKLSAgICAg
ICAgICAgICAgICAgICAgfTsKLSAgICAgICAgICAgICAgICAgICAgcmVxdWVzdC5vbnN1Y2Nlc3Mg
PSBmdW5jdGlvbiAoKSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAvLyBMZXQgdGhlIG5leHQg
aW50ZXJ2YWwgY2hlY2sgYWdhaW4gYmVjYXVzZSBkZWxldGlvbiBtaWdodCBiZSBkZWxheWVkLgot
ICAgICAgICAgICAgICAgICAgICAgICAgc2VtYXBob3JlSURCQ2hlY2sgPSBmYWxzZTsKLSAgICAg
ICAgICAgICAgICAgICAgfTsKLSAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICB9LCAyMDAp
OwotICAgICAgICB9Ci0gICAgfQotCi0gICAgbGV0IGludGVydmFsQ291bnRlckxvY2FsU3RvcmFn
ZTsKLSAgICBsZXQgY2hlY2tMb2NhbFN0b3JhZ2VDYWxsYmFjazsKLSAgICBsZXQgY2hlY2tMb2Nh
bFN0b3JhZ2VJbnRlcnZhbElEOwotICAgIGNvbnN0IGxvY2FsU3RvcmFnZU5hbWUgPSAidGVzdCI7
Ci0gICAgY29uc3QgbG9jYWxTdG9yYWdlVmFsdWUgPSAidmFsdWUiOwotICAgIGZ1bmN0aW9uIGNo
ZWNrTG9jYWxTdG9yYWdlRXhpc3RzKGlzQWZ0ZXJEZWxldGlvbiwgY2FsbGJhY2spIHsKLSAgICAg
ICAgaW50ZXJ2YWxDb3VudGVyTG9jYWxTdG9yYWdlID0gMDsKLSAgICAgICAgY2hlY2tMb2NhbFN0
b3JhZ2VDYWxsYmFjayA9IGNhbGxiYWNrOwotICAgICAgICBpZiAoIWlzQWZ0ZXJEZWxldGlvbikg
ewotICAgICAgICAgICAgLy8gQ2hlY2sgdW50aWwgdGhlcmUgaXMgTG9jYWxTdG9yYWdlLgotICAg
ICAgICAgICAgY2hlY2tMb2NhbFN0b3JhZ2VJbnRlcnZhbElEID0gc2V0SW50ZXJ2YWwoZnVuY3Rp
b24oKSB7Ci0gICAgICAgICAgICAgICAgaWYgKCsraW50ZXJ2YWxDb3VudGVyTG9jYWxTdG9yYWdl
ID49IG1heEludGVydmFscykgewotICAgICAgICAgICAgICAgICAgICBjbGVhckludGVydmFsKGNo
ZWNrTG9jYWxTdG9yYWdlSW50ZXJ2YWxJRCk7Ci0gICAgICAgICAgICAgICAgICAgIGxldCB2YWx1
ZSA9IGxvY2FsU3RvcmFnZS5nZXRJdGVtKGxvY2FsU3RvcmFnZU5hbWUpOwotICAgICAgICAgICAg
ICAgICAgICBhZGRPdXRwdXQoIkJlZm9yZSBzdGF0aXN0aWNzIHByb2Nlc3Npbmc6IExvY2FsU3Rv
cmFnZSBlbnRyeSAiICsgKHZhbHVlID09PSBsb2NhbFN0b3JhZ2VWYWx1ZSA/ICJkb2VzIiA6ICJk
b2VzIG5vdCIpICsgIiBleGlzdC4iKTsKLSAgICAgICAgICAgICAgICAgICAgY2hlY2tMb2NhbFN0
b3JhZ2VDYWxsYmFjaygpOwotICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAodGVzdFJ1bm5lci5p
c1N0YXRpc3RpY3NIYXNMb2NhbFN0b3JhZ2Uob3JpZ2luVW5kZXJUZXN0KSkgewotICAgICAgICAg
ICAgICAgICAgICBjbGVhckludGVydmFsKGNoZWNrTG9jYWxTdG9yYWdlSW50ZXJ2YWxJRCk7Ci0g
ICAgICAgICAgICAgICAgICAgIGxldCB2YWx1ZSA9IGxvY2FsU3RvcmFnZS5nZXRJdGVtKGxvY2Fs
U3RvcmFnZU5hbWUpOwotICAgICAgICAgICAgICAgICAgICBhZGRPdXRwdXQoIkJlZm9yZSBzdGF0
aXN0aWNzIHByb2Nlc3Npbmc6IExvY2FsU3RvcmFnZSBlbnRyeSAiICsgKHZhbHVlID09PSBsb2Nh
bFN0b3JhZ2VWYWx1ZSA/ICJkb2VzIiA6ICJkb2VzIG5vdCIpICsgIiBleGlzdC4iKTsKLSAgICAg
ICAgICAgICAgICAgICAgY2hlY2tMb2NhbFN0b3JhZ2VDYWxsYmFjaygpOwotICAgICAgICAgICAg
ICAgIH0KLSAgICAgICAgICAgIH0sIDEwMCk7Ci0gICAgICAgIH0gZWxzZSB7Ci0gICAgICAgICAg
ICAvLyBDaGVjayB1bnRpbCB0aGVyZSBpcyBubyBMb2NhbFN0b3JhZ2UuCi0gICAgICAgICAgICBj
aGVja0xvY2FsU3RvcmFnZUludGVydmFsSUQgPSBzZXRJbnRlcnZhbChmdW5jdGlvbigpIHsKLSAg
ICAgICAgICAgICAgICBpZiAoKytpbnRlcnZhbENvdW50ZXJMb2NhbFN0b3JhZ2UgPj0gbWF4SW50
ZXJ2YWxzKSB7Ci0gICAgICAgICAgICAgICAgICAgIGNsZWFySW50ZXJ2YWwoY2hlY2tMb2NhbFN0
b3JhZ2VJbnRlcnZhbElEKTsKLSAgICAgICAgICAgICAgICAgICAgbGV0IHZhbHVlID0gbG9jYWxT
dG9yYWdlLmdldEl0ZW0obG9jYWxTdG9yYWdlTmFtZSk7Ci0gICAgICAgICAgICAgICAgICAgIGFk
ZE91dHB1dCgiQWZ0ZXIgc3RhdGlzdGljcyBwcm9jZXNzaW5nOiBMb2NhbFN0b3JhZ2UgZW50cnkg
IiArICh2YWx1ZSA9PT0gbG9jYWxTdG9yYWdlVmFsdWUgPyAiZG9lcyIgOiAiZG9lcyBub3QiKSAr
ICIgZXhpc3QuIik7Ci0gICAgICAgICAgICAgICAgICAgIGNoZWNrTG9jYWxTdG9yYWdlQ2FsbGJh
Y2soKTsKLSAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKCF0ZXN0UnVubmVyLmlzU3RhdGlzdGlj
c0hhc0xvY2FsU3RvcmFnZShvcmlnaW5VbmRlclRlc3QpKSB7Ci0gICAgICAgICAgICAgICAgICAg
IGNsZWFySW50ZXJ2YWwoY2hlY2tMb2NhbFN0b3JhZ2VJbnRlcnZhbElEKTsKLSAgICAgICAgICAg
ICAgICAgICAgbGV0IHZhbHVlID0gbG9jYWxTdG9yYWdlLmdldEl0ZW0obG9jYWxTdG9yYWdlTmFt
ZSk7Ci0gICAgICAgICAgICAgICAgICAgIGFkZE91dHB1dCgiQWZ0ZXIgc3RhdGlzdGljcyBwcm9j
ZXNzaW5nOiBMb2NhbFN0b3JhZ2UgZW50cnkgIiArICh2YWx1ZSA9PT0gbG9jYWxTdG9yYWdlVmFs
dWUgPyAiZG9lcyIgOiAiZG9lcyBub3QiKSArICIgZXhpc3QuIik7Ci0gICAgICAgICAgICAgICAg
ICAgIGNoZWNrTG9jYWxTdG9yYWdlQ2FsbGJhY2soKTsKLSAgICAgICAgICAgICAgICB9Ci0gICAg
ICAgICAgICB9LCAxMDApOwotICAgICAgICB9Ci0gICAgfQotCi0gICAgYXN5bmMgZnVuY3Rpb24g
d3JpdGVXZWJzaXRlRGF0YUFuZENvbnRpbnVlKCkgewotICAgICAgICAvLyBXcml0ZSBjb29raWVz
LgotICAgICAgICBhd2FpdCBmZXRjaCgiL2Nvb2tpZXMvcmVzb3VyY2VzL3NldC1odHRwLW9ubHkt
Y29va2llLnBocD9jb29raWVOYW1lPSIgKyBodHRwT25seUNvb2tpZU5hbWUsIHsgY3JlZGVudGlh
bHM6ICJzYW1lLW9yaWdpbiIgfSk7Ci0gICAgICAgIGF3YWl0IGZldGNoKCIvY29va2llcy9yZXNv
dXJjZXMvc2V0Q29va2llcy5jZ2kiLCB7IGhlYWRlcnM6IHsgIlNldC1Db29raWUiOiBzZXJ2ZXJT
aWRlQ29va2llTmFtZSArICI9MTsgcGF0aD0vOyIgfSwgY3JlZGVudGlhbHM6ICJzYW1lLW9yaWdp
biIgfSk7Ci0gICAgICAgIGRvY3VtZW50LmNvb2tpZSA9IGNsaWVudFNpZGVDb29raWVOYW1lICsg
Ij0xIjsKLQotICAgICAgICBjaGVja0Nvb2tpZXMoZmFsc2UpOwotCi0gICAgICAgIC8vIFdyaXRl
IExvY2FsU3RvcmFnZQotICAgICAgICBsb2NhbFN0b3JhZ2Uuc2V0SXRlbShsb2NhbFN0b3JhZ2VO
YW1lLCBsb2NhbFN0b3JhZ2VWYWx1ZSk7Ci0gICAgICAgIGNoZWNrTG9jYWxTdG9yYWdlRXhpc3Rz
KGZhbHNlLCBmdW5jdGlvbigpIHsKLQotICAgICAgICAgICAgLy8gV3JpdGUgSW5kZXhlZERCLgot
ICAgICAgICAgICAgY3JlYXRlSURCRGF0YVN0b3JlKGZ1bmN0aW9uICgpIHsKLSAgICAgICAgICAg
ICAgICBjaGVja0lEQkRhdGFTdG9yZUV4aXN0cyhmYWxzZSwgZnVuY3Rpb24oKSB7Ci0gICAgICAg
ICAgICAgICAgICAgIGFkZExpbmVicmVha1RvT3V0cHV0KCk7Ci0gICAgICAgICAgICAgICAgICAg
IHByb2Nlc3NXZWJzaXRlRGF0YUFuZENvbnRpbnVlKCk7Ci0gICAgICAgICAgICAgICAgfSk7Ci0g
ICAgICAgICAgICB9KTsKLSAgICAgICAgfSk7Ci0gICAgfQotCi0gICAgZnVuY3Rpb24gcHJvY2Vz
c1dlYnNpdGVEYXRhQW5kQ29udGludWUoKSB7Ci0gICAgICAgIHRlc3RSdW5uZXIuaW5zdGFsbFN0
YXRpc3RpY3NEaWRTY2FuRGF0YVJlY29yZHNDYWxsYmFjayhjaGVja1dlYnNpdGVEYXRhQW5kQ29u
dGludWUpOwotICAgICAgICB0ZXN0UnVubmVyLnN0YXRpc3RpY3NQcm9jZXNzU3RhdGlzdGljc0Fu
ZERhdGFSZWNvcmRzKCk7Ci0gICAgfQotCi0gICAgZnVuY3Rpb24gY2hlY2tXZWJzaXRlRGF0YUFu
ZENvbnRpbnVlKCkgewotICAgICAgICBjaGVja0Nvb2tpZXModHJ1ZSk7Ci0gICAgICAgIGNoZWNr
TG9jYWxTdG9yYWdlRXhpc3RzKHRydWUsIGZ1bmN0aW9uICgpIHsKLSAgICAgICAgICAgIGNoZWNr
SURCRGF0YVN0b3JlRXhpc3RzKHRydWUsIGZpbmlzaFRlc3QpOwotICAgICAgICB9KTsKLSAgICB9
Ci0KLSAgICBjb25zdCBvcmlnaW5VbmRlclRlc3QgID0gImh0dHA6Ly8xMjcuMC4wLjE6ODAwMCI7
Ci0gICAgY29uc3Qgb3RoZXJPcmlnaW4gPSAiaHR0cDovL2xvY2FsaG9zdDo4MDAwIjsKLSAgICBj
b25zdCB0b3BGcmFtZU9yaWdpbiA9ICJodHRwOi8vMTI3LjAuMC4yOjgwMDAiOwotCi0gICAgY29u
c3QgdGltZVN0YW1wID0gTWF0aC5yb3VuZCgobmV3IERhdGUoKSkuZ2V0VGltZSgpIC8gMTAwMCk7
Ci0gICAgZnVuY3Rpb24gZmluaXNoVGVzdCgpIHsKLSAgICAgICAgaWYgKHRlc3RSdW5uZXIuaXNT
dGF0aXN0aWNzSGFzSGFkVXNlckludGVyYWN0aW9uKG9yaWdpblVuZGVyVGVzdCkpCi0gICAgICAg
ICAgICBhZGRPdXRwdXQoIkZBSUw6ICIgKyBvcmlnaW5VbmRlclRlc3QgKyAiIHN0aWxsIGhhcyB1
c2VyIGludGVyYWN0aW9uIGFmdGVyIHByb2Nlc3NpbmcuIik7Ci0gICAgICAgIHJlc2V0Q29va2ll
cygpOwotICAgICAgICB0ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsKLSAgICB9Ci0KLSAgICAvLyBE
byBub3QgdXNlIHNldEVuYWJsZUZlYXR1cmUgaGVyZSBiZWNhdXNlIHdlIHdhbnQgdG8gbWFrZSBz
dXJlIHdlYnNpdGUgZGF0YSBkZWxldGlvbiBpcyBub3Qgc2tpcHBlZAotICAgIC8vIGJ5IHRoZSBw
cmVzZW5jZSBvZiBwYXJhbWV0ZXJzKCkuaXNSdW5uaW5nVGVzdC4KLSAgICBmdW5jdGlvbiBydW5U
ZXN0KCkgewotICAgICAgICB0ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NNaW5pbXVtVGltZUJldHdl
ZW5EYXRhUmVjb3Jkc1JlbW92YWwoMzYwMCk7Ci0gICAgICAgIC8vIE1lcmdlIGEgc3RhdGlzdGlj
IHdpdGggbm8gdXNlciBpbnRlcmFjdGlvbiB0byBjaGVjayB0aGUgLTEgY2FzZS4KLSAgICAgICAg
dGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNzTWVyZ2VTdGF0aXN0aWMob3RoZXJPcmlnaW4sIHRvcEZy
YW1lT3JpZ2luLCAiIiwgdGltZVN0YW1wLCBmYWxzZSwgLTEsIGZhbHNlLCBmYWxzZSwgZmFsc2Us
IDAsIGZ1bmN0aW9uKCkgewotICAgICAgICAgICAgdGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNzRmly
c3RQYXJ0eVdlYnNpdGVEYXRhUmVtb3ZhbE1vZGUodHJ1ZSwgZnVuY3Rpb24gKCkgewotICAgICAg
ICAgICAgICAgIC8vIGluc2VydFN0YXRpc3RpY3NFeHBpcmVkU3RhdGlzdGljKGRvbWFpbiwgaGFz
SGFkVXNlckludGVyYWN0aW9uLCBpc1NjaGVkdWxlZEZvckFsbEJ1dENvb2tpZURhdGFSZW1vdmFs
LCBpc1ByZXZhbGVudCkKLSAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NF
eHBpcmVkU3RhdGlzdGljKG9yaWdpblVuZGVyVGVzdCwgdHJ1ZSwgdHJ1ZSwgZmFsc2UsIGZ1bmN0
aW9uKCkgewotICAgICAgICAgICAgICAgICAgICB3cml0ZVdlYnNpdGVEYXRhQW5kQ29udGludWUo
KTsKLSAgICAgICAgICAgICAgICB9KTsKLSAgICAgICAgICAgIH0pOwotICAgICAgICB9KTsKLSAg
ICB9Ci08L3NjcmlwdD4KLTwvYm9keT4KLTwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9vcGVyYXRpbmctZGF0ZXMtYWxsLWJ1
dC1jb29raWVzLXJlbW92ZWQtc3RhdGlzdGljcy13aXRoLW5vLXVzZXItaW50ZXJhY3Rpb24tZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNz
L29wZXJhdGluZy1kYXRlcy1hbGwtYnV0LWNvb2tpZXMtcmVtb3ZlZC1zdGF0aXN0aWNzLXdpdGgt
bm8tdXNlci1pbnRlcmFjdGlvbi1leHBlY3RlZC50eHQKaW5kZXggZjVhNWVhMjQxMDg1ZTRiNTEx
YTgxMGY4OTZhYzRlMzQ5OWE4NDc0MC4uZjRlYTM0ODUxNjVhMzRlMjVhMWYzNTY2MTBlZWNhYTI0
ZWVmMDUxMCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRT
dGF0aXN0aWNzL29wZXJhdGluZy1kYXRlcy1hbGwtYnV0LWNvb2tpZXMtcmVtb3ZlZC1zdGF0aXN0
aWNzLXdpdGgtbm8tdXNlci1pbnRlcmFjdGlvbi1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL29wZXJhdGluZy1kYXRlcy1hbGwt
YnV0LWNvb2tpZXMtcmVtb3ZlZC1zdGF0aXN0aWNzLXdpdGgtbm8tdXNlci1pbnRlcmFjdGlvbi1l
eHBlY3RlZC50eHQKQEAgLTgsNyArOCw3IEBAIEJlZm9yZSBzdGF0aXN0aWNzIHByb2Nlc3Npbmc6
IElEQiBlbnRyeSBkb2VzIGV4aXN0LgogQWZ0ZXIgc3RhdGlzdGljcyBwcm9jZXNzaW5nOiBIdHRw
T25seSBjb29raWUgZXhpc3RzLgogQWZ0ZXIgc3RhdGlzdGljcyBwcm9jZXNzaW5nOiBDbGllbnQt
c2lkZSBjb29raWUgZXhpc3RzLgogQWZ0ZXIgc3RhdGlzdGljcyBwcm9jZXNzaW5nOiBSZWd1bGFy
IHNlcnZlci1zaWRlIGNvb2tpZSBleGlzdHMuCi1BZnRlciBzdGF0aXN0aWNzIHByb2Nlc3Npbmc6
IExvY2FsU3RvcmFnZSBlbnRyeSBkb2VzIG5vdCBleGlzdC4KLUFmdGVyIHN0YXRpc3RpY3MgcHJv
Y2Vzc2luZzogSURCIGVudHJ5IGRvZXMgbm90IGV4aXN0LgorQWZ0ZXIgc3RhdGlzdGljcyBwcm9j
ZXNzaW5nOiBMb2NhbFN0b3JhZ2UgZW50cnkgZG9lcyBleGlzdC4KK0FmdGVyIHN0YXRpc3RpY3Mg
cHJvY2Vzc2luZzogSURCIGVudHJ5IGRvZXMgZXhpc3QuCiAKIApkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL29wZXJhdGluZy1kYXRlcy1h
bGwtd2Vic2l0ZS1kYXRhLXJlbW92ZWQtZGF0YWJhc2UtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL29wZXJhdGluZy1kYXRlcy1hbGwt
d2Vic2l0ZS1kYXRhLXJlbW92ZWQtZGF0YWJhc2UtZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAxNzMwOTZjODJlM2FmMTgxNTIzYjc5ODY0NzY2Y2Y0YzU1MTBlNjUx
Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRl
c3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9vcGVyYXRpbmctZGF0ZXMtYWxs
LXdlYnNpdGUtZGF0YS1yZW1vdmVkLWRhdGFiYXNlLWV4cGVjdGVkLnR4dAorKysgL2Rldi9udWxs
CkBAIC0xLDEyICswLDAgQEAKLQotQmVmb3JlIHN0YXRpc3RpY3MgcHJvY2Vzc2luZzogQ2xpZW50
LXNpZGUgY29va2llIGV4aXN0cy4KLUJlZm9yZSBzdGF0aXN0aWNzIHByb2Nlc3Npbmc6IEh0dHBP
bmx5IGNvb2tpZSBleGlzdHMuCi1CZWZvcmUgc3RhdGlzdGljcyBwcm9jZXNzaW5nOiBSZWd1bGFy
IHNlcnZlci1zaWRlIGNvb2tpZSBleGlzdHMuCi1CZWZvcmUgc3RhdGlzdGljcyBwcm9jZXNzaW5n
OiBMb2NhbFN0b3JhZ2UgZW50cnkgZG9lcyBleGlzdC4KLUJlZm9yZSBzdGF0aXN0aWNzIHByb2Nl
c3Npbmc6IElEQiBlbnRyeSBkb2VzIGV4aXN0LgotCi1BZnRlciBzdGF0aXN0aWNzIHByb2Nlc3Np
bmc6IE5vIGNvb2tpZXMgZm91bmQuCi1BZnRlciBzdGF0aXN0aWNzIHByb2Nlc3Npbmc6IExvY2Fs
U3RvcmFnZSBlbnRyeSBkb2VzIG5vdCBleGlzdC4KLUFmdGVyIHN0YXRpc3RpY3MgcHJvY2Vzc2lu
ZzogSURCIGVudHJ5IGRvZXMgbm90IGV4aXN0LgotCi0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9vcGVyYXRpbmctZGF0ZXMtYWxsLXdl
YnNpdGUtZGF0YS1yZW1vdmVkLWRhdGFiYXNlLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L3Jlc291cmNlTG9hZFN0YXRpc3RpY3Mvb3BlcmF0aW5nLWRhdGVzLWFsbC13ZWJzaXRlLWRhdGEt
cmVtb3ZlZC1kYXRhYmFzZS5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAyZTdm
NTZmODIxYzZlNGFkNmRmMDg5NGYxNmNiNDNhY2QwOWVhYjRlLi4wMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3Vy
Y2VMb2FkU3RhdGlzdGljcy9vcGVyYXRpbmctZGF0ZXMtYWxsLXdlYnNpdGUtZGF0YS1yZW1vdmVk
LWRhdGFiYXNlLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSwyNTIgKzAsMCBAQAotPCFET0NUWVBF
IGh0bWw+Ci08aHRtbD4KLTxoZWFkPgotICAgIDxzY3JpcHQgc3JjPSIvY29va2llcy9yZXNvdXJj
ZXMvY29va2llLXV0aWxpdGllcy5qcyI+PC9zY3JpcHQ+Ci0gICAgPHNjcmlwdCBzcmM9InJlc291
cmNlcy91dGlsLmpzIj48L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5IG9ubG9hZD0ic2V0VGltZW91
dCgncnVuVGVzdCgpJywgMCkiPgotPGJyPgotPGRpdiBpZD0ib3V0cHV0Ij48L2Rpdj4KLTxicj4K
LTxzY3JpcHQ+Ci0gICAgdGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7Ci0gICAgdGVzdFJ1bm5l
ci5kdW1wQXNUZXh0KCk7Ci0gICAgdGVzdFJ1bm5lci5zZXRVc2VJVFBEYXRhYmFzZSh0cnVlKTsK
LQotICAgIGNvbnN0IGh0dHBPbmx5Q29va2llTmFtZSA9ICJodHRwLW9ubHktY29va2llIjsKLSAg
ICBjb25zdCBzZXJ2ZXJTaWRlQ29va2llTmFtZSA9ICJzZXJ2ZXItc2lkZS1jb29raWUiOwotICAg
IGNvbnN0IGNsaWVudFNpZGVDb29raWVOYW1lID0gImNsaWVudC1zaWRlLWNvb2tpZSI7Ci0KLSAg
ICBmdW5jdGlvbiBzb3J0U3RyaW5nQXJyYXkoYSwgYikgewotICAgICAgICBhID0gYS50b0xvd2Vy
Q2FzZSgpOwotICAgICAgICBiID0gYi50b0xvd2VyQ2FzZSgpOwotCi0gICAgICAgIHJldHVybiBh
ID4gYiA/IDEgOiBiID4gYSA/IC0xIDogMDsKLSAgICB9Ci0KLSAgICBmdW5jdGlvbiBhZGRMaW5l
YnJlYWtUb091dHB1dCgpIHsKLSAgICAgICAgbGV0IGVsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KCJiciIpOwotICAgICAgICBvdXRwdXQuYXBwZW5kQ2hpbGQoZWxlbWVudCk7Ci0gICAg
fQotCi0gICAgZnVuY3Rpb24gYWRkT3V0cHV0KG1lc3NhZ2UpIHsKLSAgICAgICAgbGV0IGVsZW1l
bnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTsKLSAgICAgICAgZWxlbWVudC5pbm5l
clRleHQgPSBtZXNzYWdlOwotICAgICAgICBvdXRwdXQuYXBwZW5kQ2hpbGQoZWxlbWVudCk7Ci0g
ICAgfQotCi0gICAgZnVuY3Rpb24gY2hlY2tDb29raWVzKGlzQWZ0ZXJEZWxldGlvbikgewotICAg
ICAgICBsZXQgdW5zb3J0ZWRUZXN0UGFzc2VkTWVzc2FnZXMgPSBbXTsKLSAgICAgICAgbGV0IGNv
b2tpZXMgPSBpbnRlcm5hbHMuZ2V0Q29va2llcygpOwotICAgICAgICBpZiAoIWNvb2tpZXMubGVu
Z3RoICYmIGlzQWZ0ZXJEZWxldGlvbikKLSAgICAgICAgdW5zb3J0ZWRUZXN0UGFzc2VkTWVzc2Fn
ZXMucHVzaCgoaXNBZnRlckRlbGV0aW9uID8gIkFmdGVyIiA6ICJCZWZvcmUiKSArICIgc3RhdGlz
dGljcyBwcm9jZXNzaW5nOiBObyBjb29raWVzIGZvdW5kLiIpOwotICAgICAgICBmb3IgKGxldCBj
b29raWUgb2YgY29va2llcykgewotICAgICAgICAgICAgc3dpdGNoIChjb29raWUubmFtZSkgewot
ICAgICAgICAgICAgICAgIGNhc2UgaHR0cE9ubHlDb29raWVOYW1lOgotICAgICAgICAgICAgICAg
ICAgICB1bnNvcnRlZFRlc3RQYXNzZWRNZXNzYWdlcy5wdXNoKChpc0FmdGVyRGVsZXRpb24gPyAi
QWZ0ZXIiIDogIkJlZm9yZSIpICsgIiBzdGF0aXN0aWNzIHByb2Nlc3Npbmc6ICIgKyAoaXNBZnRl
ckRlbGV0aW9uID8gIiAiIDogIiIpICsgIkh0dHBPbmx5IGNvb2tpZSBleGlzdHMuIik7Ci0gICAg
ICAgICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICAgICAgICAgIGNhc2Ugc2VydmVyU2lkZUNv
b2tpZU5hbWU6Ci0gICAgICAgICAgICAgICAgICAgIHVuc29ydGVkVGVzdFBhc3NlZE1lc3NhZ2Vz
LnB1c2goKGlzQWZ0ZXJEZWxldGlvbiA/ICJBZnRlciIgOiAiQmVmb3JlIikgKyAiIHN0YXRpc3Rp
Y3MgcHJvY2Vzc2luZzogUmVndWxhciBzZXJ2ZXItc2lkZSBjb29raWUgZXhpc3RzLiIpOwotICAg
ICAgICAgICAgICAgICAgICBicmVhazsKLSAgICAgICAgICAgICAgICBjYXNlIGNsaWVudFNpZGVD
b29raWVOYW1lOgotICAgICAgICAgICAgICAgICAgICB1bnNvcnRlZFRlc3RQYXNzZWRNZXNzYWdl
cy5wdXNoKChpc0FmdGVyRGVsZXRpb24gPyAiQWZ0ZXIiIDogIkJlZm9yZSIpICsgIiBzdGF0aXN0
aWNzIHByb2Nlc3Npbmc6IENsaWVudC1zaWRlIGNvb2tpZSBleGlzdHMuIik7Ci0gICAgICAgICAg
ICAgICAgICAgIGJyZWFrOwotICAgICAgICAgICAgfQotICAgICAgICB9Ci0gICAgICAgIGxldCBz
b3J0ZWRUZXN0UGFzc2VkTWVzc2FnZXMgPSB1bnNvcnRlZFRlc3RQYXNzZWRNZXNzYWdlcy5zb3J0
KHNvcnRTdHJpbmdBcnJheSk7Ci0gICAgICAgIGZvciAobGV0IHRlc3RQYXNzZWRNZXNzYWdlIG9m
IHNvcnRlZFRlc3RQYXNzZWRNZXNzYWdlcykgewotICAgICAgICAgICAgYWRkT3V0cHV0KHRlc3RQ
YXNzZWRNZXNzYWdlKTsKLSAgICAgICAgfQotICAgIH0KLQotICAgIGNvbnN0IGRiTmFtZSA9ICJU
ZXN0RGF0YWJhc2UiOwotCi0gICAgZnVuY3Rpb24gY3JlYXRlSURCRGF0YVN0b3JlKGNhbGxiYWNr
KSB7Ci0gICAgICAgIGxldCByZXF1ZXN0ID0gaW5kZXhlZERCLm9wZW4oZGJOYW1lKTsKLSAgICAg
ICAgcmVxdWVzdC5vbmVycm9yID0gZnVuY3Rpb24oKSB7Ci0gICAgICAgICAgICBhZGRPdXRwdXQo
IkNvdWxkbid0IGNyZWF0ZSBpbmRleGVkREIuIik7Ci0gICAgICAgICAgICBmaW5pc2hUZXN0KCk7
Ci0gICAgICAgIH07Ci0gICAgICAgIHJlcXVlc3Qub251cGdyYWRlbmVlZGVkID0gZnVuY3Rpb24o
ZXZlbnQpIHsKLSAgICAgICAgICAgIGxldCBkYiA9IGV2ZW50LnRhcmdldC5yZXN1bHQ7Ci0gICAg
ICAgICAgICBsZXQgb2JqU3RvcmUgPSBkYi5jcmVhdGVPYmplY3RTdG9yZSgidGVzdCIsIHthdXRv
SW5jcmVtZW50OiB0cnVlfSk7Ci0gICAgICAgICAgICBvYmpTdG9yZS5hZGQoInZhbHVlIik7Ci0g
ICAgICAgICAgICBjYWxsYmFjaygpOwotICAgICAgICB9Ci0gICAgfQotCi0gICAgY29uc3QgbWF4
SW50ZXJ2YWxzID0gMjA7Ci0KLSAgICBsZXQgaW50ZXJ2YWxDb3VudGVySURCOwotICAgIGxldCBj
aGVja0lEQkNhbGxiYWNrOwotICAgIGxldCBjaGVja0lEQkludGVydmFsSUQ7Ci0gICAgbGV0IHNl
bWFwaG9yZUlEQkNoZWNrID0gZmFsc2U7Ci0gICAgZnVuY3Rpb24gY2hlY2tJREJEYXRhU3RvcmVF
eGlzdHMoaXNBZnRlckRlbGV0aW9uLCBjYWxsYmFjaykgewotICAgICAgICBsZXQgcmVxdWVzdDsK
LSAgICAgICAgaW50ZXJ2YWxDb3VudGVySURCID0gMDsKLSAgICAgICAgY2hlY2tJREJDYWxsYmFj
ayA9IGNhbGxiYWNrOwotICAgICAgICBpZiAoIWlzQWZ0ZXJEZWxldGlvbikgewotICAgICAgICAg
ICAgLy8gQ2hlY2sgdW50aWwgdGhlcmUgaXMgYSBJREIuCi0gICAgICAgICAgICBjaGVja0lEQklu
dGVydmFsSUQgPSBzZXRJbnRlcnZhbChmdW5jdGlvbigpIHsKLSAgICAgICAgICAgICAgICBpZiAo
c2VtYXBob3JlSURCQ2hlY2spCi0gICAgICAgICAgICAgICAgICAgIHJldHVybjsKLSAgICAgICAg
ICAgICAgICBzZW1hcGhvcmVJREJDaGVjayA9IHRydWU7Ci0KLSAgICAgICAgICAgICAgICBpZiAo
KytpbnRlcnZhbENvdW50ZXJJREIgPj0gbWF4SW50ZXJ2YWxzKSB7Ci0gICAgICAgICAgICAgICAg
ICAgIGNsZWFySW50ZXJ2YWwoY2hlY2tJREJJbnRlcnZhbElEKTsKLSAgICAgICAgICAgICAgICAg
ICAgYWRkT3V0cHV0KCJCZWZvcmUgc3RhdGlzdGljcyBwcm9jZXNzaW5nOiBJREIgZW50cnkgZG9l
cyBub3QgZXhpc3QuIik7Ci0gICAgICAgICAgICAgICAgICAgIHNlbWFwaG9yZUlEQkNoZWNrID0g
ZmFsc2U7Ci0gICAgICAgICAgICAgICAgICAgIGNoZWNrSURCQ2FsbGJhY2soKTsKLSAgICAgICAg
ICAgICAgICB9IGVsc2UgewotICAgICAgICAgICAgICAgICAgICByZXF1ZXN0ID0gaW5kZXhlZERC
Lm9wZW4oZGJOYW1lKTsKLSAgICAgICAgICAgICAgICAgICAgcmVxdWVzdC5vbmVycm9yID0gZnVu
Y3Rpb24gKCkgewotICAgICAgICAgICAgICAgICAgICAgICAgY2xlYXJJbnRlcnZhbChjaGVja0lE
QkludGVydmFsSUQpOwotICAgICAgICAgICAgICAgICAgICAgICAgYWRkT3V0cHV0KCJDb3VsZG4n
dCBvcGVuIGluZGV4ZWREQi4iKTsKLSAgICAgICAgICAgICAgICAgICAgICAgIHNlbWFwaG9yZUlE
QkNoZWNrID0gZmFsc2U7Ci0gICAgICAgICAgICAgICAgICAgICAgICBmaW5pc2hUZXN0KCk7Ci0g
ICAgICAgICAgICAgICAgICAgIH07Ci0gICAgICAgICAgICAgICAgICAgIHJlcXVlc3Qub251cGdy
YWRlbmVlZGVkID0gZnVuY3Rpb24gKCkgewotICAgICAgICAgICAgICAgICAgICAgICAgLy8gTGV0
IHRoZSBuZXh0IGludGVydmFsIGNoZWNrIGFnYWluLgotICAgICAgICAgICAgICAgICAgICAgICAg
c2VtYXBob3JlSURCQ2hlY2sgPSBmYWxzZTsKLSAgICAgICAgICAgICAgICAgICAgfTsKLSAgICAg
ICAgICAgICAgICAgICAgcmVxdWVzdC5vbnN1Y2Nlc3MgPSBmdW5jdGlvbiAoKSB7Ci0gICAgICAg
ICAgICAgICAgICAgICAgICBjbGVhckludGVydmFsKGNoZWNrSURCSW50ZXJ2YWxJRCk7Ci0gICAg
ICAgICAgICAgICAgICAgICAgICBhZGRPdXRwdXQoIkJlZm9yZSBzdGF0aXN0aWNzIHByb2Nlc3Np
bmc6IElEQiBlbnRyeSBkb2VzIGV4aXN0LiIpOwotICAgICAgICAgICAgICAgICAgICAgICAgc2Vt
YXBob3JlSURCQ2hlY2sgPSBmYWxzZTsKLSAgICAgICAgICAgICAgICAgICAgICAgIGNoZWNrSURC
Q2FsbGJhY2soKTsKLSAgICAgICAgICAgICAgICAgICAgfTsKLSAgICAgICAgICAgICAgICB9Ci0g
ICAgICAgICAgICB9LCAyMDApOwotICAgICAgICB9IGVsc2UgewotICAgICAgICAgICAgLy8gQ2hl
Y2sgdW50aWwgdGhlcmUgaXMgbm8gSURCLgotICAgICAgICAgICAgY2hlY2tJREJJbnRlcnZhbElE
ID0gc2V0SW50ZXJ2YWwoZnVuY3Rpb24gKCkgewotICAgICAgICAgICAgICAgIGlmIChzZW1hcGhv
cmVJREJDaGVjaykKLSAgICAgICAgICAgICAgICAgICAgcmV0dXJuOwotICAgICAgICAgICAgICAg
IHNlbWFwaG9yZUlEQkNoZWNrID0gdHJ1ZTsKLQotICAgICAgICAgICAgICAgIGlmICgrK2ludGVy
dmFsQ291bnRlcklEQiA+PSBtYXhJbnRlcnZhbHMpIHsKLSAgICAgICAgICAgICAgICAgICAgY2xl
YXJJbnRlcnZhbChjaGVja0lEQkludGVydmFsSUQpOwotICAgICAgICAgICAgICAgICAgICBhZGRP
dXRwdXQoIkFmdGVyIHN0YXRpc3RpY3MgcHJvY2Vzc2luZzogSURCIGVudHJ5IGRvZXMgZXhpc3Qu
Iik7Ci0gICAgICAgICAgICAgICAgICAgIHNlbWFwaG9yZUlEQkNoZWNrID0gZmFsc2U7Ci0gICAg
ICAgICAgICAgICAgICAgIGNoZWNrSURCQ2FsbGJhY2soKTsKLSAgICAgICAgICAgICAgICB9IGVs
c2UgewotICAgICAgICAgICAgICAgICAgICByZXF1ZXN0ID0gaW5kZXhlZERCLm9wZW4oZGJOYW1l
KTsKLSAgICAgICAgICAgICAgICAgICAgcmVxdWVzdC5vbmVycm9yID0gZnVuY3Rpb24gKCkgewot
ICAgICAgICAgICAgICAgICAgICAgICAgY2xlYXJJbnRlcnZhbChjaGVja0lEQkludGVydmFsSUQp
OwotICAgICAgICAgICAgICAgICAgICAgICAgYWRkT3V0cHV0KCJDb3VsZG4ndCBvcGVuIGluZGV4
ZWREQi4iKTsKLSAgICAgICAgICAgICAgICAgICAgICAgIHNlbWFwaG9yZUlEQkNoZWNrID0gZmFs
c2U7Ci0gICAgICAgICAgICAgICAgICAgICAgICBmaW5pc2hUZXN0KCk7Ci0gICAgICAgICAgICAg
ICAgICAgIH07Ci0gICAgICAgICAgICAgICAgICAgIHJlcXVlc3Qub251cGdyYWRlbmVlZGVkID0g
ZnVuY3Rpb24gKCkgewotICAgICAgICAgICAgICAgICAgICAgICAgY2xlYXJJbnRlcnZhbChjaGVj
a0lEQkludGVydmFsSUQpOwotICAgICAgICAgICAgICAgICAgICAgICAgYWRkT3V0cHV0KCJBZnRl
ciBzdGF0aXN0aWNzIHByb2Nlc3Npbmc6IElEQiBlbnRyeSBkb2VzIG5vdCBleGlzdC4iKTsKLSAg
ICAgICAgICAgICAgICAgICAgICAgIHNlbWFwaG9yZUlEQkNoZWNrID0gZmFsc2U7Ci0gICAgICAg
ICAgICAgICAgICAgICAgICBmaW5pc2hUZXN0KCk7Ci0gICAgICAgICAgICAgICAgICAgIH07Ci0g
ICAgICAgICAgICAgICAgICAgIHJlcXVlc3Qub25zdWNjZXNzID0gZnVuY3Rpb24gKCkgewotICAg
ICAgICAgICAgICAgICAgICAgICAgLy8gTGV0IHRoZSBuZXh0IGludGVydmFsIGNoZWNrIGFnYWlu
IGJlY2F1c2UgZGVsZXRpb24gbWlnaHQgYmUgZGVsYXllZC4KLSAgICAgICAgICAgICAgICAgICAg
ICAgIHNlbWFwaG9yZUlEQkNoZWNrID0gZmFsc2U7Ci0gICAgICAgICAgICAgICAgICAgIH07Ci0g
ICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgfSwgMjAwKTsKLSAgICAgICAgfQotICAgIH0K
LQotICAgIGxldCBpbnRlcnZhbENvdW50ZXJMb2NhbFN0b3JhZ2U7Ci0gICAgbGV0IGNoZWNrTG9j
YWxTdG9yYWdlQ2FsbGJhY2s7Ci0gICAgbGV0IGNoZWNrTG9jYWxTdG9yYWdlSW50ZXJ2YWxJRDsK
LSAgICBjb25zdCBsb2NhbFN0b3JhZ2VOYW1lID0gInRlc3QiOwotICAgIGNvbnN0IGxvY2FsU3Rv
cmFnZVZhbHVlID0gInZhbHVlIjsKLSAgICBmdW5jdGlvbiBjaGVja0xvY2FsU3RvcmFnZUV4aXN0
cyhpc0FmdGVyRGVsZXRpb24sIGNhbGxiYWNrKSB7Ci0gICAgICAgIGludGVydmFsQ291bnRlckxv
Y2FsU3RvcmFnZSA9IDA7Ci0gICAgICAgIGNoZWNrTG9jYWxTdG9yYWdlQ2FsbGJhY2sgPSBjYWxs
YmFjazsKLSAgICAgICAgaWYgKCFpc0FmdGVyRGVsZXRpb24pIHsKLSAgICAgICAgICAgIC8vIENo
ZWNrIHVudGlsIHRoZXJlIGlzIExvY2FsU3RvcmFnZS4KLSAgICAgICAgICAgIGNoZWNrTG9jYWxT
dG9yYWdlSW50ZXJ2YWxJRCA9IHNldEludGVydmFsKGZ1bmN0aW9uKCkgewotICAgICAgICAgICAg
ICAgIGlmICgrK2ludGVydmFsQ291bnRlckxvY2FsU3RvcmFnZSA+PSBtYXhJbnRlcnZhbHMpIHsK
LSAgICAgICAgICAgICAgICAgICAgY2xlYXJJbnRlcnZhbChjaGVja0xvY2FsU3RvcmFnZUludGVy
dmFsSUQpOwotICAgICAgICAgICAgICAgICAgICBsZXQgdmFsdWUgPSBsb2NhbFN0b3JhZ2UuZ2V0
SXRlbShsb2NhbFN0b3JhZ2VOYW1lKTsKLSAgICAgICAgICAgICAgICAgICAgYWRkT3V0cHV0KCJC
ZWZvcmUgc3RhdGlzdGljcyBwcm9jZXNzaW5nOiBMb2NhbFN0b3JhZ2UgZW50cnkgIiArICh2YWx1
ZSA9PT0gbG9jYWxTdG9yYWdlVmFsdWUgPyAiZG9lcyIgOiAiZG9lcyBub3QiKSArICIgZXhpc3Qu
Iik7Ci0gICAgICAgICAgICAgICAgICAgIGNoZWNrTG9jYWxTdG9yYWdlQ2FsbGJhY2soKTsKLSAg
ICAgICAgICAgICAgICB9IGVsc2UgaWYgKHRlc3RSdW5uZXIuaXNTdGF0aXN0aWNzSGFzTG9jYWxT
dG9yYWdlKG9yaWdpblVuZGVyVGVzdCkpIHsKLSAgICAgICAgICAgICAgICAgICAgY2xlYXJJbnRl
cnZhbChjaGVja0xvY2FsU3RvcmFnZUludGVydmFsSUQpOwotICAgICAgICAgICAgICAgICAgICBs
ZXQgdmFsdWUgPSBsb2NhbFN0b3JhZ2UuZ2V0SXRlbShsb2NhbFN0b3JhZ2VOYW1lKTsKLSAgICAg
ICAgICAgICAgICAgICAgYWRkT3V0cHV0KCJCZWZvcmUgc3RhdGlzdGljcyBwcm9jZXNzaW5nOiBM
b2NhbFN0b3JhZ2UgZW50cnkgIiArICh2YWx1ZSA9PT0gbG9jYWxTdG9yYWdlVmFsdWUgPyAiZG9l
cyIgOiAiZG9lcyBub3QiKSArICIgZXhpc3QuIik7Ci0gICAgICAgICAgICAgICAgICAgIGNoZWNr
TG9jYWxTdG9yYWdlQ2FsbGJhY2soKTsKLSAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICB9
LCAxMDApOwotICAgICAgICB9IGVsc2UgewotICAgICAgICAgICAgLy8gQ2hlY2sgdW50aWwgdGhl
cmUgaXMgbm8gTG9jYWxTdG9yYWdlLgotICAgICAgICAgICAgY2hlY2tMb2NhbFN0b3JhZ2VJbnRl
cnZhbElEID0gc2V0SW50ZXJ2YWwoZnVuY3Rpb24oKSB7Ci0gICAgICAgICAgICAgICAgaWYgKCsr
aW50ZXJ2YWxDb3VudGVyTG9jYWxTdG9yYWdlID49IG1heEludGVydmFscykgewotICAgICAgICAg
ICAgICAgICAgICBjbGVhckludGVydmFsKGNoZWNrTG9jYWxTdG9yYWdlSW50ZXJ2YWxJRCk7Ci0g
ICAgICAgICAgICAgICAgICAgIGxldCB2YWx1ZSA9IGxvY2FsU3RvcmFnZS5nZXRJdGVtKGxvY2Fs
U3RvcmFnZU5hbWUpOwotICAgICAgICAgICAgICAgICAgICBhZGRPdXRwdXQoIkFmdGVyIHN0YXRp
c3RpY3MgcHJvY2Vzc2luZzogTG9jYWxTdG9yYWdlIGVudHJ5ICIgKyAodmFsdWUgPT09IGxvY2Fs
U3RvcmFnZVZhbHVlID8gImRvZXMiIDogImRvZXMgbm90IikgKyAiIGV4aXN0LiIpOwotICAgICAg
ICAgICAgICAgICAgICBjaGVja0xvY2FsU3RvcmFnZUNhbGxiYWNrKCk7Ci0gICAgICAgICAgICAg
ICAgfSBlbHNlIGlmICghdGVzdFJ1bm5lci5pc1N0YXRpc3RpY3NIYXNMb2NhbFN0b3JhZ2Uob3Jp
Z2luVW5kZXJUZXN0KSkgewotICAgICAgICAgICAgICAgICAgICBjbGVhckludGVydmFsKGNoZWNr
TG9jYWxTdG9yYWdlSW50ZXJ2YWxJRCk7Ci0gICAgICAgICAgICAgICAgICAgIGxldCB2YWx1ZSA9
IGxvY2FsU3RvcmFnZS5nZXRJdGVtKGxvY2FsU3RvcmFnZU5hbWUpOwotICAgICAgICAgICAgICAg
ICAgICBhZGRPdXRwdXQoIkFmdGVyIHN0YXRpc3RpY3MgcHJvY2Vzc2luZzogTG9jYWxTdG9yYWdl
IGVudHJ5ICIgKyAodmFsdWUgPT09IGxvY2FsU3RvcmFnZVZhbHVlID8gImRvZXMiIDogImRvZXMg
bm90IikgKyAiIGV4aXN0LiIpOwotICAgICAgICAgICAgICAgICAgICBjaGVja0xvY2FsU3RvcmFn
ZUNhbGxiYWNrKCk7Ci0gICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgfSwgMTAwKTsKLSAg
ICAgICAgfQotICAgIH0KLQotICAgIGFzeW5jIGZ1bmN0aW9uIHdyaXRlV2Vic2l0ZURhdGFBbmRD
b250aW51ZSgpIHsKLSAgICAgICAgLy8gV3JpdGUgY29va2llcy4KLSAgICAgICAgYXdhaXQgZmV0
Y2goIi9jb29raWVzL3Jlc291cmNlcy9zZXQtaHR0cC1vbmx5LWNvb2tpZS5waHA/Y29va2llTmFt
ZT0iICsgaHR0cE9ubHlDb29raWVOYW1lLCB7IGNyZWRlbnRpYWxzOiAic2FtZS1vcmlnaW4iIH0p
OwotICAgICAgICBhd2FpdCBmZXRjaCgiL2Nvb2tpZXMvcmVzb3VyY2VzL3NldENvb2tpZXMuY2dp
IiwgeyBoZWFkZXJzOiB7ICJTZXQtQ29va2llIjogc2VydmVyU2lkZUNvb2tpZU5hbWUgKyAiPTE7
IHBhdGg9LzsiIH0sIGNyZWRlbnRpYWxzOiAic2FtZS1vcmlnaW4iIH0pOwotICAgICAgICBkb2N1
bWVudC5jb29raWUgPSBjbGllbnRTaWRlQ29va2llTmFtZSArICI9MSI7Ci0KLSAgICAgICAgY2hl
Y2tDb29raWVzKGZhbHNlKTsKLQotICAgICAgICAvLyBXcml0ZSBMb2NhbFN0b3JhZ2UKLSAgICAg
ICAgbG9jYWxTdG9yYWdlLnNldEl0ZW0obG9jYWxTdG9yYWdlTmFtZSwgbG9jYWxTdG9yYWdlVmFs
dWUpOwotICAgICAgICBjaGVja0xvY2FsU3RvcmFnZUV4aXN0cyhmYWxzZSwgZnVuY3Rpb24oKSB7
Ci0KLSAgICAgICAgICAgIC8vIFdyaXRlIEluZGV4ZWREQi4KLSAgICAgICAgICAgIGNyZWF0ZUlE
QkRhdGFTdG9yZShmdW5jdGlvbiAoKSB7Ci0gICAgICAgICAgICAgICAgY2hlY2tJREJEYXRhU3Rv
cmVFeGlzdHMoZmFsc2UsIGZ1bmN0aW9uKCkgewotICAgICAgICAgICAgICAgICAgICBhZGRMaW5l
YnJlYWtUb091dHB1dCgpOwotICAgICAgICAgICAgICAgICAgICBwcm9jZXNzV2Vic2l0ZURhdGFB
bmRDb250aW51ZSgpOwotICAgICAgICAgICAgICAgIH0pOwotICAgICAgICAgICAgfSk7Ci0gICAg
ICAgIH0pOwotICAgIH0KLQotICAgIGZ1bmN0aW9uIHByb2Nlc3NXZWJzaXRlRGF0YUFuZENvbnRp
bnVlKCkgewotICAgICAgICB0ZXN0UnVubmVyLmluc3RhbGxTdGF0aXN0aWNzRGlkU2NhbkRhdGFS
ZWNvcmRzQ2FsbGJhY2soY2hlY2tXZWJzaXRlRGF0YUFuZENvbnRpbnVlKTsKLSAgICAgICAgdGVz
dFJ1bm5lci5zdGF0aXN0aWNzUHJvY2Vzc1N0YXRpc3RpY3NBbmREYXRhUmVjb3JkcygpOwotICAg
IH0KLQotICAgIGZ1bmN0aW9uIGNoZWNrV2Vic2l0ZURhdGFBbmRDb250aW51ZSgpIHsKLSAgICAg
ICAgY2hlY2tDb29raWVzKHRydWUpOwotICAgICAgICBjaGVja0xvY2FsU3RvcmFnZUV4aXN0cyh0
cnVlLCBmdW5jdGlvbiAoKSB7Ci0gICAgICAgICAgICBjaGVja0lEQkRhdGFTdG9yZUV4aXN0cyh0
cnVlLCBmaW5pc2hUZXN0KTsKLSAgICAgICAgfSk7Ci0gICAgfQotCi0gICAgY29uc3Qgb3JpZ2lu
VW5kZXJUZXN0ICA9ICJodHRwOi8vMTI3LjAuMC4xOjgwMDAiOwotICAgIGZ1bmN0aW9uIGZpbmlz
aFRlc3QoKSB7Ci0gICAgICAgIGlmICh0ZXN0UnVubmVyLmlzU3RhdGlzdGljc0hhc0hhZFVzZXJJ
bnRlcmFjdGlvbihvcmlnaW5VbmRlclRlc3QpKQotICAgICAgICAgICAgYWRkT3V0cHV0KCJGQUlM
OiAiICsgb3JpZ2luVW5kZXJUZXN0ICsgIiBzdGlsbCBoYXMgdXNlciBpbnRlcmFjdGlvbiBhZnRl
ciBwcm9jZXNzaW5nLiIpOwotICAgICAgICByZXNldENvb2tpZXMoKTsKLSAgICAgICAgc2V0RW5h
YmxlRmVhdHVyZShmYWxzZSwgZnVuY3Rpb24oKSB7Ci0gICAgICAgICAgICB0ZXN0UnVubmVyLm5v
dGlmeURvbmUoKTsKLSAgICAgICAgfSk7Ci0gICAgfQotCi0gICAgZnVuY3Rpb24gcnVuVGVzdCgp
IHsKLSAgICAgICAgc2V0RW5hYmxlRmVhdHVyZSh0cnVlLCBmdW5jdGlvbiAoKSB7Ci0gICAgICAg
ICAgICAvLyBpbnNlcnRTdGF0aXN0aWNzRXhwaXJlZFN0YXRpc3RpYyhkb21haW4sIGhhc0hhZFVz
ZXJJbnRlcmFjdGlvbiwgaXNTY2hlZHVsZWRGb3JBbGxCdXRDb29raWVEYXRhUmVtb3ZhbCwgaXNQ
cmV2YWxlbnQpCi0gICAgICAgICAgICB0ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NFeHBpcmVkU3Rh
dGlzdGljKG9yaWdpblVuZGVyVGVzdCwgdHJ1ZSwgZmFsc2UsIHRydWUsIGZ1bmN0aW9uKCkgewot
ICAgICAgICAgICAgICAgIGlmICghdGVzdFJ1bm5lci5pc1N0YXRpc3RpY3NQcmV2YWxlbnRSZXNv
dXJjZShvcmlnaW5VbmRlclRlc3QpKQotICAgICAgICAgICAgICAgICAgICBhZGRPdXRwdXQoIkZB
SUw6ICIgKyBvcmlnaW5VbmRlclRlc3QgKyAiIGRpZCBub3QgZ2V0IGluc2VydGVkIGludG8gZGF0
YWJhc2UuIik7Ci0gICAgICAgICAgICAgICAgd3JpdGVXZWJzaXRlRGF0YUFuZENvbnRpbnVlKCk7
Ci0gICAgICAgICAgICB9KTsKLSAgICAgICAgfSk7Ci0gICAgfQotPC9zY3JpcHQ+Ci08L2JvZHk+
Ci08L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9h
ZFN0YXRpc3RpY3MvcGluZy10by1wcmV2YWxlbnQtcmVzb3VyY2UtZGF0YWJhc2UtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3Bpbmct
dG8tcHJldmFsZW50LXJlc291cmNlLWRhdGFiYXNlLWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggYzNmMDY3MGQ5ZWY0Y2EwOThkMDgzMDAzMDIzNmFmNjU3ZGNhMmQx
MC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRU
ZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvcGluZy10by1wcmV2YWxlbnQt
cmVzb3VyY2UtZGF0YWJhc2UtZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEsMjQgKzAs
MCBAQAotVGVzdHMgdGhhdCBjb29raWUgYmxvY2tpbmcgaXMgYXBwbGllZCB0byBwaW5nIGxvYWRz
LgotCi0KLS0tLS0tLS0tCi1GcmFtZTogJzwhLS1mcmFtZTEtLT4nCi0tLS0tLS0tLQotU2hvdWxk
IHJlY2VpdmUgZmlyc3QtcGFydHkgY29va2llLgotUmVjZWl2ZWQgY29va2llIG5hbWVkICdmaXJz
dFBhcnR5Q29va2llJy4KLUNsaWVudC1zaWRlIGRvY3VtZW50LmNvb2tpZTogZmlyc3RQYXJ0eUNv
b2tpZT12YWx1ZQotCi0tLS0tLS0tLQotRnJhbWU6ICc8IS0tZnJhbWUyLS0+JwotLS0tLS0tLS0K
LVNob3VsZCByZWNlaXZlIG5vIGNvb2tpZXMuCi1EaWQgbm90IHJlY2VpdmUgY29va2llIG5hbWVk
ICdmaXJzdFBhcnR5Q29va2llJy4KLUNsaWVudC1zaWRlIGRvY3VtZW50LmNvb2tpZToKLQotLS0t
LS0tLS0KLUZyYW1lOiAnPCEtLWZyYW1lMy0tPicKLS0tLS0tLS0tCi1QaW5nIHJlY2VpdmVkLgot
SFRUUF9IT1NUOiBsb2NhbGhvc3Q6ODAwMAotUkVRVUVTVF9VUkk6IC9jb250ZW50ZXh0ZW5zaW9u
cy9yZXNvdXJjZXMvc2F2ZS1waW5nLnBocD90ZXN0PXBpbmctdG8tcHJldmFsZW50LXJlc291cmNl
Ci1ObyBjb29raWVzIGluIHBpbmcuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvcGluZy10by1wcmV2YWxlbnQtcmVzb3VyY2UtZGF0YWJh
c2UuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9w
aW5nLXRvLXByZXZhbGVudC1yZXNvdXJjZS1kYXRhYmFzZS5odG1sCmRlbGV0ZWQgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCBiNGIzOWFlOWM3YTQzMGE4YmI3YmI0ZWFmYmRlYjFkZmIxMTU3MTlkLi4w
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3Rz
L2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9waW5nLXRvLXByZXZhbGVudC1yZXNv
dXJjZS1kYXRhYmFzZS5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsMTAwICswLDAgQEAKLTwhRE9D
VFlQRSBodG1sPgotPGh0bWwgbGFuZz0iZW4iPgotPGhlYWQ+Ci0gICAgPG1ldGEgY2hhcnNldD0i
VVRGLTgiPgotICAgIDxzY3JpcHQgc3JjPSIvanMtdGVzdC1yZXNvdXJjZXMvdWktaGVscGVyLmpz
Ij48L3NjcmlwdD4KLSAgICA8c2NyaXB0IHNyYz0icmVzb3VyY2VzL3V0aWwuanMiPjwvc2NyaXB0
PgotPC9oZWFkPgotPGJvZHk+Ci08ZGl2IGlkPSJkZXNjcmlwdGlvbiI+VGVzdHMgdGhhdCBjb29r
aWUgYmxvY2tpbmcgaXMgYXBwbGllZCB0byBwaW5nIGxvYWRzLjwvZGl2PgotPGEgaWQ9InRhcmdl
dExpbmsiIGhyZWY9IiMiIHBpbmc9Imh0dHA6Ly9sb2NhbGhvc3Q6ODAwMC9jb250ZW50ZXh0ZW5z
aW9ucy9yZXNvdXJjZXMvc2F2ZS1waW5nLnBocD90ZXN0PXBpbmctdG8tcHJldmFsZW50LXJlc291
cmNlIj5UaGUgbGluazwvYT4KLTxzY3JpcHQ+Ci0gICAgaWYgKHRlc3RSdW5uZXIpCi0gICAgICAg
IHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOwotCi0gICAgY29uc3QgcGFydGl0aW9uSG9zdCA9
ICIxMjcuMC4wLjE6ODAwMCI7Ci0gICAgY29uc3QgdGhpcmRQYXJ0eU9yaWdpbiA9ICJodHRwOi8v
bG9jYWxob3N0OjgwMDAiOwotICAgIGNvbnN0IHJlc291cmNlUGF0aCA9ICIvcmVzb3VyY2VMb2Fk
U3RhdGlzdGljcy9yZXNvdXJjZXMiOwotICAgIGNvbnN0IHRoaXJkUGFydHlCYXNlVXJsID0gdGhp
cmRQYXJ0eU9yaWdpbiArIHJlc291cmNlUGF0aDsKLSAgICBjb25zdCBmaXJzdFBhcnR5Q29va2ll
TmFtZSA9ICJmaXJzdFBhcnR5Q29va2llIjsKLSAgICBjb25zdCBzdWJQYXRoVG9TZXRGaXJzdFBh
cnR5Q29va2llID0gIi9zZXQtY29va2llLnBocD9uYW1lPSIgKyBmaXJzdFBhcnR5Q29va2llTmFt
ZSArICImdmFsdWU9dmFsdWUiOwotICAgIGNvbnN0IHJldHVyblVybCA9ICJodHRwOi8vIiArIHBh
cnRpdGlvbkhvc3QgKyAiL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvcGluZy10by1wcmV2YWxlbnQt
cmVzb3VyY2UtZGF0YWJhc2UuaHRtbCI7Ci0gICAgY29uc3Qgc3ViUGF0aFRvR2V0Q29va2llcyA9
ICIvZ2V0LWNvb2tpZXMucGhwP25hbWUxPSIgKyBmaXJzdFBhcnR5Q29va2llTmFtZTsKLQotICAg
IGZ1bmN0aW9uIGFjdGl2YXRlRWxlbWVudChlbGVtZW50SUQsIGNhbGxiYWNrKSB7Ci0gICAgICAg
IHZhciBlbGVtZW50ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoZWxlbWVudElEKTsKLSAgICAg
ICAgdmFyIGNlbnRlclggPSBlbGVtZW50Lm9mZnNldExlZnQgKyBlbGVtZW50Lm9mZnNldFdpZHRo
IC8gMjsKLSAgICAgICAgdmFyIGNlbnRlclkgPSBlbGVtZW50Lm9mZnNldFRvcCArIGVsZW1lbnQu
b2Zmc2V0SGVpZ2h0IC8gMjsKLSAgICAgICAgVUlIZWxwZXIuYWN0aXZhdGVBdChjZW50ZXJYLCBj
ZW50ZXJZKS50aGVuKAotICAgICAgICAgICAgZnVuY3Rpb24gKCkgewotICAgICAgICAgICAgICAg
IGNhbGxiYWNrKCk7Ci0gICAgICAgICAgICB9LAotICAgICAgICAgICAgZnVuY3Rpb24gKCkgewot
ICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIubm90aWZ5RG9uZSgpOwotICAgICAgICAgICAgfQot
ICAgICAgICApOwotICAgIH0KLQotICAgIGZ1bmN0aW9uIG9wZW5JZnJhbWUodXJsLCBvbkxvYWRI
YW5kbGVyKSB7Ci0gICAgICAgIGNvbnN0IGVsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KCJpZnJhbWUiKTsKLSAgICAgICAgZWxlbWVudC5zcmMgPSB1cmw7Ci0gICAgICAgIGlmIChvbkxv
YWRIYW5kbGVyKSB7Ci0gICAgICAgICAgICBlbGVtZW50Lm9ubG9hZCA9IG9uTG9hZEhhbmRsZXI7
Ci0gICAgICAgIH0KLSAgICAgICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChlbGVtZW50KTsK
LSAgICB9Ci0KLSAgICBmdW5jdGlvbiBydW5UZXN0KCkgewotICAgICAgICBzd2l0Y2ggKGRvY3Vt
ZW50LmxvY2F0aW9uLmhhc2gpIHsKLSAgICAgICAgICAgIGNhc2UgIiNzdGVwMSI6Ci0gICAgICAg
ICAgICAgICAgLy8gU2V0IGZpcnN0LXBhcnR5IGNvb2tpZSBmb3IgbG9jYWxob3N0LgotICAgICAg
ICAgICAgICAgIGRvY3VtZW50LmxvY2F0aW9uLmhyZWYgPSB0aGlyZFBhcnR5QmFzZVVybCArIHN1
YlBhdGhUb1NldEZpcnN0UGFydHlDb29raWUgKyAiIyIgKyByZXR1cm5VcmwgKyAiI3N0ZXAyIjsK
LSAgICAgICAgICAgICAgICBicmVhazsKLSAgICAgICAgICAgIGNhc2UgIiNzdGVwMiI6Ci0gICAg
ICAgICAgICAgICAgLy8gQ2hlY2sgdGhhdCB0aGUgY29va2llIGdldHMgc2VudCBmb3IgbG9jYWxo
b3N0IHVuZGVyIDEyNy4wLjAuMSBzaW5jZSBsb2NhbGhvc3QgaXMgbm90IHByZXZhbGVudC4KLSAg
ICAgICAgICAgICAgICBkb2N1bWVudC5sb2NhdGlvbi5oYXNoID0gInN0ZXAzIjsKLSAgICAgICAg
ICAgICAgICBvcGVuSWZyYW1lKHRoaXJkUGFydHlCYXNlVXJsICsgc3ViUGF0aFRvR2V0Q29va2ll
cyArICImbWVzc2FnZT1TaG91bGQgcmVjZWl2ZSBmaXJzdC1wYXJ0eSBjb29raWUuIiwgcnVuVGVz
dCk7Ci0gICAgICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgICAgICBjYXNlICIjc3RlcDMiOgot
ICAgICAgICAgICAgICAgIC8vIFNldCBsb2NhbGhvc3QgYXMgcHJldmFsZW50IHRvIHB1dCBpdCBp
biB0aGUgYmxvY2tpbmcgY2F0ZWdvcnkuCi0gICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5zZXRT
dGF0aXN0aWNzUHJldmFsZW50UmVzb3VyY2UodGhpcmRQYXJ0eU9yaWdpbiwgdHJ1ZSwgZnVuY3Rp
b24oKSB7Ci0gICAgICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIuc3RhdGlzdGljc1VwZGF0ZUNv
b2tpZUJsb2NraW5nKHJ1blRlc3QpOwotICAgICAgICAgICAgICAgICAgICBkb2N1bWVudC5sb2Nh
dGlvbi5oYXNoID0gInN0ZXA0IjsKLSAgICAgICAgICAgICAgICB9KTsKLSAgICAgICAgICAgICAg
ICBicmVhazsKLSAgICAgICAgICAgIGNhc2UgIiNzdGVwNCI6Ci0gICAgICAgICAgICAgICAgLy8g
Q2hlY2sgdGhhdCBubyBjb29raWUgZ2V0cyBzZW50IGZvciBsb2NhbGhvc3QgdW5kZXIgMTI3LjAu
MC4xIHNpbmNlIGxvY2FsaG9zdCdzIGNvb2tpZXMgYXJlIGJsb2NrZWQuCi0gICAgICAgICAgICAg
ICAgZG9jdW1lbnQubG9jYXRpb24uaGFzaCA9ICJzdGVwNSI7Ci0gICAgICAgICAgICAgICAgb3Bl
bklmcmFtZSh0aGlyZFBhcnR5QmFzZVVybCArIHN1YlBhdGhUb0dldENvb2tpZXMgKyAgIiZtZXNz
YWdlPVNob3VsZCByZWNlaXZlIG5vIGNvb2tpZXMuIiwgcnVuVGVzdCk7Ci0gICAgICAgICAgICAg
ICAgYnJlYWs7Ci0gICAgICAgICAgICBjYXNlICIjc3RlcDUiOgotICAgICAgICAgICAgICAgIC8v
IENsaWNrIHRoZSBsaW5rIHRvIHRyaWdnZXIgdGhlIHBpbmcuCi0gICAgICAgICAgICAgICAgYWN0
aXZhdGVFbGVtZW50KCJ0YXJnZXRMaW5rIiwgZnVuY3Rpb24oKSB7Ci0gICAgICAgICAgICAgICAg
ICAgIG9wZW5JZnJhbWUodGhpcmRQYXJ0eU9yaWdpbiArICIvY29udGVudGV4dGVuc2lvbnMvcmVz
b3VyY2VzL2dldC1waW5nLWRhdGEucGhwP3Rlc3Q9cGluZy10by1wcmV2YWxlbnQtcmVzb3VyY2Ui
LCBmdW5jdGlvbigpIHsKLSAgICAgICAgICAgICAgICAgICAgICAgIGRvY3VtZW50LmJvZHkucmVt
b3ZlQ2hpbGQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInRhcmdldExpbmsiKSk7Ci0gICAgICAg
ICAgICAgICAgICAgICAgICBzZXRFbmFibGVGZWF0dXJlKGZhbHNlLCBmdW5jdGlvbigpIHsKLSAg
ICAgICAgICAgICAgICAgICAgZmV0Y2goIi9jb250ZW50ZXh0ZW5zaW9ucy9yZXNvdXJjZXMvZGVs
ZXRlLXBpbmcucGhwP3Rlc3Q9cGluZy10by1wcmV2YWxlbnQtcmVzb3VyY2UiKS50aGVuKCgpPT57
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIu
bm90aWZ5RG9uZSgpOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KTsKLSAgICAg
ICAgICAgICAgICAgICAgICAgIH0pOwotICAgICAgICAgICAgICAgICAgICB9KTsKLSAgICAgICAg
ICAgICAgICB9KTsKLSAgICAgICAgICAgICAgICBicmVhazsKLSAgICAgICAgfQotICAgIH0KLQot
ICAgIGlmIChkb2N1bWVudC5sb2NhdGlvbi5oYXNoID09PSAiIikgewotICAgICAgICBpZiAodGVz
dFJ1bm5lcikgewotICAgICAgICAgICAgdGVzdFJ1bm5lci5zZXRVc2VJVFBEYXRhYmFzZSh0cnVl
KTsKLSAgICAgICAgICAgIHNldEVuYWJsZUZlYXR1cmUodHJ1ZSwgZnVuY3Rpb24gKCkgewotICAg
ICAgICAgICAgICAgIHRlc3RSdW5uZXIuZHVtcENoaWxkRnJhbWVzQXNUZXh0KCk7Ci0gICAgICAg
ICAgICAgICAgZG9jdW1lbnQubG9jYXRpb24uaGFzaCA9ICJzdGVwMSI7Ci0gICAgICAgICAgICAg
ICAgcnVuVGVzdCgpOwotICAgICAgICAgICAgfSk7Ci0gICAgICAgIH0KLSAgICB9IGVsc2Ugewot
ICAgICAgICBydW5UZXN0KCk7Ci0gICAgfQotPC9zY3JpcHQ+Ci08L2JvZHk+Ci08L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3Mv
cHJldmFsZW50LXJlc291cmNlLWhhbmRsZWQta2V5ZG93bi1kYXRhYmFzZS1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvcHJldmFsZW50
LXJlc291cmNlLWhhbmRsZWQta2V5ZG93bi1kYXRhYmFzZS1leHBlY3RlZC50eHQKZGVsZXRlZCBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDU3MGZhYzUwOWY0ODI0NzM4ZmJiNGExNTM2OTE5MzIxZDk1
OTgyZmUuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3ByZXZhbGVudC1yZXNv
dXJjZS1oYW5kbGVkLWtleWRvd24tZGF0YWJhc2UtZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwK
QEAgLTEsMTIgKzAsMCBAQAotVGVzdHMgdGhhdCB3ZSBncmFudCBVc2VyIEludGVyYWN0aW9uIGNy
ZWRpdCBmb3IgaGFuZGxlZCBrZXlwcmVzc2VzLgotCi1PbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUg
YSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIu
Ci0KLQotU2ltdWxhdGUgdXNlciB0eXBpbmcgbGV0dGVyICdhJyBpbnRvIHRoZSBmaWVsZC4KLVBB
U1MgdGVzdElucHV0LnZhbHVlIGlzICJhIgotUEFTUyBPcmlnaW4gd2FzIGdyYW50ZWQgdXNlciBp
bnRlcmFjdGlvbi4KLVBBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKLQotVEVTVCBDT01Q
TEVURQotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0
YXRpc3RpY3MvcHJldmFsZW50LXJlc291cmNlLWhhbmRsZWQta2V5ZG93bi1kYXRhYmFzZS5odG1s
IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3ByZXZhbGVu
dC1yZXNvdXJjZS1oYW5kbGVkLWtleWRvd24tZGF0YWJhc2UuaHRtbApkZWxldGVkIGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggNTY2ODYzNjZhOTgxNzY0OWQ1ZmEyMDgxMzE1OGNiY2E4ZWEyZjgyMS4u
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvcHJldmFsZW50LXJlc291cmNlLWhh
bmRsZWQta2V5ZG93bi1kYXRhYmFzZS5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsNjAgKzAsMCBA
QAotPCFET0NUWVBFIGh0bWw+Ci08aHRtbD4KLTxib2R5PgotPHNjcmlwdCBzcmM9Ii9qcy10ZXN0
LXJlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSJyZXNvdXJjZXMv
dXRpbC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0PgotZGVzY3JpcHRpb24oIlRlc3RzIHRoYXQgd2Ug
Z3JhbnQgVXNlciBJbnRlcmFjdGlvbiBjcmVkaXQgZm9yIGhhbmRsZWQga2V5cHJlc3Nlcy4iKTsK
LWpzVGVzdElzQXN5bmMgPSB0cnVlOwotCi1jb25zdCBzdGF0aXN0aWNzVXJsID0gImh0dHA6Ly8x
MjcuMC4wLjE6ODAwMC90ZW1wIjsKLQotb25sb2FkID0gZnVuY3Rpb24oKSB7Ci0gICAgY29uc3Qg
dGVzdEZyYW1lID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInRlc3RGcmFtZSIpOwotCi0gICAg
aWYgKHdpbmRvdy50ZXN0UnVubmVyICYmIHdpbmRvdy5pbnRlcm5hbHMpIHsKLSAgICAgICAgdGVz
dFJ1bm5lci5zZXRVc2VJVFBEYXRhYmFzZSh0cnVlKTsKLSAgICAgICAgc2V0RW5hYmxlRmVhdHVy
ZSh0cnVlLCBmdW5jdGlvbigpIHsKLSAgICAgICAgICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGlj
c1ByZXZhbGVudFJlc291cmNlKHN0YXRpc3RpY3NVcmwsIHRydWUsIGZ1bmN0aW9uKCkgewotICAg
ICAgICAgICAgICAgIGlmICghdGVzdFJ1bm5lci5pc1N0YXRpc3RpY3NQcmV2YWxlbnRSZXNvdXJj
ZShzdGF0aXN0aWNzVXJsKSkKLSAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZCgiSG9zdCBk
aWQgbm90IGdldCBzZXQgYXMgcHJldmFsZW50IHJlc291cmNlLiIpOwotCi0gICAgICAgICAgICAg
ICAgdGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNzSGFzSGFkVXNlckludGVyYWN0aW9uKHN0YXRpc3Rp
Y3NVcmwsIGZhbHNlLCBmdW5jdGlvbigpIHsKLSAgICAgICAgICAgICAgICAgICAgaWYgKHRlc3RS
dW5uZXIuaXNTdGF0aXN0aWNzSGFzSGFkVXNlckludGVyYWN0aW9uKHN0YXRpc3RpY3NVcmwpKQot
ICAgICAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZCgiSG9zdCBkaWQgbm90IGdldCBjbGVh
cmVkIG9mIHVzZXIgaW50ZXJhY3Rpb24uIik7Ci0KLSAgICAgICAgICAgICAgICAgICAgdGVzdElu
cHV0ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInRlc3RJbnB1dCIpOwotCi0gICAgICAgICAg
ICAgICAgICAgIHRlc3RSdW5uZXIuaW5zdGFsbFN0YXRpc3RpY3NEaWRNb2RpZnlEYXRhUmVjb3Jk
c0NhbGxiYWNrKGZ1bmN0aW9uKCkgewotICAgICAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCJ0ZXN0SW5wdXQudmFsdWUiLCAiYSIpOwotCi0gICAgICAgICAgICAgICAg
ICAgICAgICBpZiAoIXRlc3RSdW5uZXIuaXNTdGF0aXN0aWNzSGFzSGFkVXNlckludGVyYWN0aW9u
KHN0YXRpc3RpY3NVcmwpKQotICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQo
Ik9yaWdpbiBkaWQgbm90IGdldCB1c2VyIGludGVyYWN0aW9uIGNyZWRpdC4iKTsKLSAgICAgICAg
ICAgICAgICAgICAgICAgIGVsc2UKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICB0ZXN0UGFz
c2VkKCJPcmlnaW4gd2FzIGdyYW50ZWQgdXNlciBpbnRlcmFjdGlvbi4iKTsKLQotICAgICAgICAg
ICAgICAgICAgICAgICAgc2V0VGltZW91dChmdW5jdGlvbigpIHsKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICB0ZXN0RnJhbWUuc3JjID0gImFib3V0OmJsYW5rIjsKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBzZXRUaW1lb3V0KGZ1bmN0aW9uKCkgewotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBzZXRFbmFibGVGZWF0dXJlKGZhbHNlLCBmaW5pc2hKU1Rlc3QpOwotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIH0sIDApOwotICAgICAgICAgICAgICAgICAgICAgICAg
fSwgMCk7Ci0gICAgICAgICAgICAgICAgICAgIH0pOwotICAgICAgICAgICAgICAgICAgICB0ZXN0
UnVubmVyLnNldFN0YXRpc3RpY3NTaG91bGRDbGFzc2lmeVJlc291cmNlc0JlZm9yZURhdGFSZWNv
cmRzUmVtb3ZhbChmYWxzZSk7Ci0gICAgICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIuc2V0U3Rh
dGlzdGljc01pbmltdW1UaW1lQmV0d2VlbkRhdGFSZWNvcmRzUmVtb3ZhbCgwKTsKLSAgICAgICAg
ICAgICAgICAgICAgdGVzdFJ1bm5lci5zdGF0aXN0aWNzUHJvY2Vzc1N0YXRpc3RpY3NBbmREYXRh
UmVjb3JkcygpOwotCi0gICAgICAgICAgICAgICAgICAgIGRlYnVnKCJTaW11bGF0ZSB1c2VyIHR5
cGluZyBsZXR0ZXIgJ2EnIGludG8gdGhlIGZpZWxkLiIpOwotICAgICAgICAgICAgICAgICAgICB0
ZXN0SW5wdXQuZm9jdXMoKTsKLSAgICAgICAgICAgICAgICAgICAgaWYgKHdpbmRvdy5ldmVudFNl
bmRlcikKLSAgICAgICAgICAgICAgICAgICAgICAgIGV2ZW50U2VuZGVyLmtleURvd24oImEiKTsK
LSAgICAgICAgICAgICAgICB9KTsKLSAgICAgICAgICAgIH0pOwotICAgICAgICB9KTsKLSAgICB9
Ci19Ci08L3NjcmlwdD4KLTxpZnJhbWUgaWQ9InRlc3RGcmFtZSIgc3JjPSJyZXNvdXJjZXMvb25j
bGljay5odG1sIj48L2lmcmFtZT4KLTxpbnB1dCBpZD0idGVzdElucHV0IiB0eXBlPSJ0ZXh0Ij4K
LTwvYm9keT4KLTwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVz
b3VyY2VMb2FkU3RhdGlzdGljcy9wcmV2YWxlbnQtcmVzb3VyY2UtdW5oYW5kbGVkLWtleWRvd24t
ZGF0YWJhc2UtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxv
YWRTdGF0aXN0aWNzL3ByZXZhbGVudC1yZXNvdXJjZS11bmhhbmRsZWQta2V5ZG93bi1kYXRhYmFz
ZS1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDM2ZTU1OWJmYTJk
ZDI0NjE2Nzk4OWIyNWFiODIzOWM0NTZiMTY0YjAuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRT
dGF0aXN0aWNzL3ByZXZhbGVudC1yZXNvdXJjZS11bmhhbmRsZWQta2V5ZG93bi1kYXRhYmFzZS1l
eHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSwxMSArMCwwIEBACi1UZXN0cyB0aGF0IHdl
IGRvIG5vdCBncmFudCBVc2VyIEludGVyYWN0aW9uIGNyZWRpdCBmb3IgdW5oYW5kbGVkIGtleXBy
ZXNzLgotCi1PbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3Nh
Z2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCi0KLQotU2ltdWxhdGUgYW4gdW5oYW5k
bGVkIHVzZXIga2V5IHByZXNzLgotUEFTUyBPcmlnaW4gZGlkIG5vdCBnZXQgdXNlciBpbnRlcmFj
dGlvbiBjcmVkaXQuCi1QQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCi0KLVRFU1QgQ09N
UExFVEUKLQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRT
dGF0aXN0aWNzL3ByZXZhbGVudC1yZXNvdXJjZS11bmhhbmRsZWQta2V5ZG93bi1kYXRhYmFzZS5o
dG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3ByZXZh
bGVudC1yZXNvdXJjZS11bmhhbmRsZWQta2V5ZG93bi1kYXRhYmFzZS5odG1sCmRlbGV0ZWQgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCBlNTNmMGI4Nzc1NTczZWFkNGY0MDdkZGU5MzNmZWQyZDA1ZDJh
MTAyLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91
dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9wcmV2YWxlbnQtcmVzb3Vy
Y2UtdW5oYW5kbGVkLWtleWRvd24tZGF0YWJhc2UuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDU0
ICswLDAgQEAKLTwhRE9DVFlQRSBodG1sPgotPGh0bWw+Ci08Ym9keT4KLTxzY3JpcHQgc3JjPSIv
anMtdGVzdC1yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0icmVz
b3VyY2VzL3V0aWwuanMiPjwvc2NyaXB0PgotPHNjcmlwdD4KLWRlc2NyaXB0aW9uKCJUZXN0cyB0
aGF0IHdlIGRvIG5vdCBncmFudCBVc2VyIEludGVyYWN0aW9uIGNyZWRpdCBmb3IgdW5oYW5kbGVk
IGtleXByZXNzLiIpOwotanNUZXN0SXNBc3luYyA9IHRydWU7Ci0KLWNvbnN0IHN0YXRpc3RpY3NV
cmwgPSAiaHR0cDovLzEyNy4wLjAuMTo4MDAwL3RlbXAiOwotCi1vbmxvYWQgPSBmdW5jdGlvbigp
IHsKLSAgICBjb25zdCB0ZXN0RnJhbWUgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgidGVzdEZy
YW1lIik7Ci0KLSAgICBpZiAod2luZG93LnRlc3RSdW5uZXIgJiYgd2luZG93LmludGVybmFscykg
ewotICAgICAgICB0ZXN0UnVubmVyLnNldFVzZUlUUERhdGFiYXNlKHRydWUpOwotICAgICAgICBz
ZXRFbmFibGVGZWF0dXJlKHRydWUsIGZ1bmN0aW9uKCkgewotICAgICAgICAgICAgdGVzdFJ1bm5l
ci5zZXRTdGF0aXN0aWNzUHJldmFsZW50UmVzb3VyY2Uoc3RhdGlzdGljc1VybCwgdHJ1ZSwgZnVu
Y3Rpb24oKSB7Ci0gICAgICAgICAgICAgICAgaWYgKCF0ZXN0UnVubmVyLmlzU3RhdGlzdGljc1By
ZXZhbGVudFJlc291cmNlKHN0YXRpc3RpY3NVcmwpKQotICAgICAgICAgICAgICAgICAgICB0ZXN0
RmFpbGVkKCJIb3N0IGRpZCBub3QgZ2V0IHNldCBhcyBwcmV2YWxlbnQgcmVzb3VyY2UuIik7Ci0K
LSAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NIYXNIYWRVc2VySW50ZXJh
Y3Rpb24oc3RhdGlzdGljc1VybCwgZmFsc2UsIGZ1bmN0aW9uKCkgewotICAgICAgICAgICAgICAg
ICAgICBpZiAodGVzdFJ1bm5lci5pc1N0YXRpc3RpY3NIYXNIYWRVc2VySW50ZXJhY3Rpb24oc3Rh
dGlzdGljc1VybCkpCi0gICAgICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKCJIb3N0IGRp
ZCBub3QgZ2V0IGNsZWFyZWQgb2YgdXNlciBpbnRlcmFjdGlvbi4iKTsKLQotICAgICAgICAgICAg
ICAgICAgICB0ZXN0UnVubmVyLmluc3RhbGxTdGF0aXN0aWNzRGlkTW9kaWZ5RGF0YVJlY29yZHND
YWxsYmFjayhmdW5jdGlvbigpIHsKLQotICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCF0ZXN0
UnVubmVyLmlzU3RhdGlzdGljc0hhc0hhZFVzZXJJbnRlcmFjdGlvbihzdGF0aXN0aWNzVXJsKSkK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICB0ZXN0UGFzc2VkKCJPcmlnaW4gZGlkIG5vdCBn
ZXQgdXNlciBpbnRlcmFjdGlvbiBjcmVkaXQuIik7Ci0KLSAgICAgICAgICAgICAgICAgICAgICAg
IHNldFRpbWVvdXQoZnVuY3Rpb24oKSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGVz
dEZyYW1lLnNyYyA9ICJhYm91dDpibGFuayI7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
c2V0VGltZW91dChmdW5jdGlvbigpIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
c2V0RW5hYmxlRmVhdHVyZShmYWxzZSwgZmluaXNoSlNUZXN0KTsKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICB9LCAwKTsKLSAgICAgICAgICAgICAgICAgICAgICAgIH0sIDApOwotICAgICAg
ICAgICAgICAgICAgICB9KTsKLSAgICAgICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5zZXRTdGF0
aXN0aWNzU2hvdWxkQ2xhc3NpZnlSZXNvdXJjZXNCZWZvcmVEYXRhUmVjb3Jkc1JlbW92YWwoZmFs
c2UpOwotICAgICAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NNaW5pbXVt
VGltZUJldHdlZW5EYXRhUmVjb3Jkc1JlbW92YWwoMCk7Ci0gICAgICAgICAgICAgICAgICAgIHRl
c3RSdW5uZXIuc3RhdGlzdGljc1Byb2Nlc3NTdGF0aXN0aWNzQW5kRGF0YVJlY29yZHMoKTsKLQot
ICAgICAgICAgICAgICAgICAgICBkZWJ1ZygiU2ltdWxhdGUgYW4gdW5oYW5kbGVkIHVzZXIga2V5
IHByZXNzLiIpOwotICAgICAgICAgICAgICAgICAgICBpZiAod2luZG93LmV2ZW50U2VuZGVyKQot
ICAgICAgICAgICAgICAgICAgICAgICAgZXZlbnRTZW5kZXIua2V5RG93bigiYSIsIFsibWV0YUtl
eSJdKTsKLSAgICAgICAgICAgICAgICB9KTsKLSAgICAgICAgICAgIH0pOwotICAgICAgICB9KTsK
LSAgICB9Ci0KLX0KLTwvc2NyaXB0PgotPGlmcmFtZSBpZD0idGVzdEZyYW1lIiBzcmM9InJlc291
cmNlcy9vbmNsaWNrLmh0bWwiPjwvaWZyYW1lPgotPC9ib2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3ByZXZhbGVu
dC1yZXNvdXJjZS13aXRoLXVzZXItaW50ZXJhY3Rpb24tZGF0YWJhc2UtZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3ByZXZhbGVudC1y
ZXNvdXJjZS13aXRoLXVzZXItaW50ZXJhY3Rpb24tZGF0YWJhc2UtZXhwZWN0ZWQudHh0CmRlbGV0
ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBjODlmODU1YTc4OWNmMTBiZjMzMGY0YzkyZWExMmI5
NDFhYmVmYzA3Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBh
L0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9wcmV2YWxlbnQt
cmVzb3VyY2Utd2l0aC11c2VyLWludGVyYWN0aW9uLWRhdGFiYXNlLWV4cGVjdGVkLnR4dAorKysg
L2Rldi9udWxsCkBAIC0xLDUgKzAsMCBAQAotUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1
ZQotCi1URVNUIENPTVBMRVRFCi1QQVNTIENvb2tpZSBub3QgZGVsZXRlZC4KLQpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3ByZXZhbGVu
dC1yZXNvdXJjZS13aXRoLXVzZXItaW50ZXJhY3Rpb24tZGF0YWJhc2UuaHRtbCBiL0xheW91dFRl
c3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9wcmV2YWxlbnQtcmVzb3VyY2Ut
d2l0aC11c2VyLWludGVyYWN0aW9uLWRhdGFiYXNlLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IGVjMTNhNTAyNzRjNmRkOTRiZmU4YTE2NDU5YzRjYmFiOGE5MGU5MGMuLjAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3ByZXZhbGVudC1yZXNvdXJjZS13aXRoLXVz
ZXItaW50ZXJhY3Rpb24tZGF0YWJhc2UuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDY5ICswLDAg
QEAKLTwhRE9DVFlQRSBodG1sPgotPGh0bWwgbGFuZz0iZW4iPgotPGhlYWQ+Ci0gICAgPG1ldGEg
Y2hhcnNldD0iVVRGLTgiPgotICAgIDx0aXRsZT5UZXN0cyBmb3IgUHJldmFsZW50IFJlc291cmNl
IFdpdGggVXNlciBJbnRlcmFjdGlvbjwvdGl0bGU+Ci0gICAgPHNjcmlwdCBzcmM9Ii9qcy10ZXN0
LXJlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KLSAgICA8c2NyaXB0IHNyYz0icmVzb3Vy
Y2VzL3V0aWwuanMiPjwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHkgb25sb2FkPSJzZXRUaW1lb3V0
KCdzZXRVcEFuZFJ1bigpJywgMCkiPgotPHNjcmlwdD4KLSAgICBpZiAodGVzdFJ1bm5lcikKLSAg
ICAgICAgdGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7Ci0KLSAgICBjb25zdCBob3N0VW5kZXJU
ZXN0ID0gIjEyNy4wLjAuMTo4MDAwIjsKLSAgICBjb25zdCBzdGF0aXN0aWNzVXJsID0gImh0dHA6
Ly8iICsgaG9zdFVuZGVyVGVzdCArICIvdGVtcCI7Ci0gICAgY29uc3Qgb3RoZXJQcmV2YWxlbnRV
cmwgPSAiaHR0cDovL2xvY2FsaG9zdDo4MDAwL3RlbXAiOwotICAgIGZ1bmN0aW9uIHJ1blRlc3RS
dW5uZXJUZXN0KCkgewotICAgICAgICBpZiAoZG9jdW1lbnQuY29va2llICE9PSAiIikKLSAgICAg
ICAgICAgIHRlc3RGYWlsZWQoImRvY3VtZW50LmNvb2tpZSBub3QgZW1wdHkuIik7Ci0gICAgICAg
IGNvbnN0IGNvb2tpZSA9ICJ0ZXN0Q29va2llPXRlc3RWYWx1ZSI7Ci0gICAgICAgIGRvY3VtZW50
LmNvb2tpZSA9IGNvb2tpZSArICI7IG1heC1hZ2U9MTAwOyI7Ci0gICAgICAgIGlmIChkb2N1bWVu
dC5jb29raWUgIT09IGNvb2tpZSkKLSAgICAgICAgICAgIHRlc3RGYWlsZWQoImRvY3VtZW50LmNv
b2tpZSBkaWQgbm90IGdldCBzZXQuIik7Ci0KLSAgICAgICAgdGVzdFJ1bm5lci5zZXRTdGF0aXN0
aWNzUHJldmFsZW50UmVzb3VyY2Uoc3RhdGlzdGljc1VybCwgdHJ1ZSwgZnVuY3Rpb24oKSB7Ci0g
ICAgICAgICAgICBpZiAoIXRlc3RSdW5uZXIuaXNTdGF0aXN0aWNzUHJldmFsZW50UmVzb3VyY2Uo
c3RhdGlzdGljc1VybCkpCi0gICAgICAgICAgICAgICAgdGVzdEZhaWxlZCgiSG9zdCBkaWQgbm90
IGdldCBzZXQgYXMgcHJldmFsZW50IHJlc291cmNlLiIpOwotCi0gICAgICAgICAgICAvLyBUaGlz
IGlzIGRvbmUgdG8gbm90IGhhdmUgYW4gZW1wdHkgc2V0IG9mIHByZXZhbGVudCByZXNvdXJjZXMu
Ci0gICAgICAgICAgICAvLyBPdGhlcndpc2UgZGF0YSByZWNvcmRzIGFyZSBuZXZlciBzY2FubmVk
LgotICAgICAgICAgICAgdGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNzUHJldmFsZW50UmVzb3VyY2Uo
b3RoZXJQcmV2YWxlbnRVcmwsIHRydWUsIGZ1bmN0aW9uKCkgewotICAgICAgICAgICAgICAgIGlm
ICghdGVzdFJ1bm5lci5pc1N0YXRpc3RpY3NQcmV2YWxlbnRSZXNvdXJjZShvdGhlclByZXZhbGVu
dFVybCkpCi0gICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoIk90aGVyIGhvc3QgZGlkIG5v
dCBnZXQgc2V0IGFzIHByZXZhbGVudCByZXNvdXJjZS4iKTsKLQotICAgICAgICAgICAgICAgIHRl
c3RSdW5uZXIuc2V0U3RhdGlzdGljc0hhc0hhZFVzZXJJbnRlcmFjdGlvbihzdGF0aXN0aWNzVXJs
LCB0cnVlLCBmdW5jdGlvbigpIHsKLSAgICAgICAgICAgICAgICAgICAgaWYgKCF0ZXN0UnVubmVy
LmlzU3RhdGlzdGljc0hhc0hhZFVzZXJJbnRlcmFjdGlvbihzdGF0aXN0aWNzVXJsKSkKLSAgICAg
ICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoIkhvc3QgZGlkIG5vdCBnZXQgbG9nZ2VkIGZv
ciB1c2VyIGludGVyYWN0aW9uLiIpOwotCi0gICAgICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIu
aW5zdGFsbFN0YXRpc3RpY3NEaWRNb2RpZnlEYXRhUmVjb3Jkc0NhbGxiYWNrKGZ1bmN0aW9uKCkg
ewotICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGRvY3VtZW50LmNvb2tpZSA9PT0gY29va2ll
KQotICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRlc3RQYXNzZWQoIkNvb2tpZSBub3QgZGVs
ZXRlZC4iKTsKLSAgICAgICAgICAgICAgICAgICAgICAgIGVsc2UKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICB0ZXN0RmFpbGVkKCJDb29raWUgZGVsZXRlZCBvciBkb2N1bWVudC5jb29raWUg
Y29udGFpbnMgb3RoZXIgY29va2llczogIiArIGRvY3VtZW50LmNvb2tpZSk7Ci0gICAgICAgICAg
ICAgICAgICAgICAgICBzZXRFbmFibGVGZWF0dXJlKGZhbHNlLCBmdW5jdGlvbigpIHsKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsKLSAgICAgICAg
ICAgICAgICAgICAgICAgIH0pOwotICAgICAgICAgICAgICAgICAgICB9KTsKLSAgICAgICAgICAg
ICAgICAgICAgdGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNzU2hvdWxkQ2xhc3NpZnlSZXNvdXJjZXNC
ZWZvcmVEYXRhUmVjb3Jkc1JlbW92YWwoZmFsc2UpOwotICAgICAgICAgICAgICAgICAgICB0ZXN0
UnVubmVyLnNldFN0YXRpc3RpY3NNaW5pbXVtVGltZUJldHdlZW5EYXRhUmVjb3Jkc1JlbW92YWwo
MCk7Ci0gICAgICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIuc3RhdGlzdGljc1Byb2Nlc3NTdGF0
aXN0aWNzQW5kRGF0YVJlY29yZHMoKTsKLSAgICAgICAgICAgICAgICB9KTsKLSAgICAgICAgICAg
IH0pOwotICAgICAgICB9KTsKLSAgICB9Ci0KLSAgICBmdW5jdGlvbiBzZXRVcEFuZFJ1bigpIHsK
LSAgICAgICAgaWYgKGRvY3VtZW50LmxvY2F0aW9uLmhvc3QgPT09IGhvc3RVbmRlclRlc3QgJiYg
d2luZG93LnRlc3RSdW5uZXIgJiYgd2luZG93LmludGVybmFscykgewotICAgICAgICAgICAgdGVz
dFJ1bm5lci5zZXRVc2VJVFBEYXRhYmFzZSh0cnVlKTsKLSAgICAgICAgICAgIHNldEVuYWJsZUZl
YXR1cmUodHJ1ZSwgZnVuY3Rpb24gKCkgewotICAgICAgICAgICAgICAgIHJ1blRlc3RSdW5uZXJU
ZXN0KCk7Ci0gICAgICAgICAgICB9KTsKLSAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAgIHRl
c3RGYWlsZWQoIldyb25nIGhvc3QsIG5vIHRlc3RSdW5uZXIsIG9yIG5vIGludGVybmFscy4iKTsK
LSAgICAgICAgICAgIHRlc3RSdW5uZXIubm90aWZ5RG9uZSgpOwotICAgICAgICB9Ci0gICAgfQot
PC9zY3JpcHQ+Ci08L2JvZHk+Ci08L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvcHJldmFsZW50LXJlc291cmNlLXdpdGgtdXNl
ci1pbnRlcmFjdGlvbi10aW1lb3V0LWRhdGFiYXNlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9wcmV2YWxlbnQtcmVzb3VyY2Utd2l0
aC11c2VyLWludGVyYWN0aW9uLXRpbWVvdXQtZGF0YWJhc2UtZXhwZWN0ZWQudHh0CmRlbGV0ZWQg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCBmNzgwOWU5MWMyM2MyM2EyMzY5Y2QwODU0ZWIxODE2NDdk
ZmFlYjQzLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xh
eW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9wcmV2YWxlbnQtcmVz
b3VyY2Utd2l0aC11c2VyLWludGVyYWN0aW9uLXRpbWVvdXQtZGF0YWJhc2UtZXhwZWN0ZWQudHh0
CisrKyAvZGV2L251bGwKQEAgLTEsNSArMCwwIEBACi1QQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBp
cyB0cnVlCi0KLVRFU1QgQ09NUExFVEUKLVBBU1MgQ29va2llIGRlbGV0ZWQuCi0KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9wcmV2YWxl
bnQtcmVzb3VyY2Utd2l0aC11c2VyLWludGVyYWN0aW9uLXRpbWVvdXQtZGF0YWJhc2UuaHRtbCBi
L0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9wcmV2YWxlbnQt
cmVzb3VyY2Utd2l0aC11c2VyLWludGVyYWN0aW9uLXRpbWVvdXQtZGF0YWJhc2UuaHRtbApkZWxl
dGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYzFjNDc3NzhiYjY1YWQxNGE2YWU1Mjc0MDA2YjMx
NjY2MmM4ZjNjOC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0g
YS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvcHJldmFsZW50
LXJlc291cmNlLXdpdGgtdXNlci1pbnRlcmFjdGlvbi10aW1lb3V0LWRhdGFiYXNlLmh0bWwKKysr
IC9kZXYvbnVsbApAQCAtMSw1NiArMCwwIEBACi08IURPQ1RZUEUgaHRtbD4KLTxodG1sIGxhbmc9
ImVuIj4KLTxoZWFkPgotICAgIDxtZXRhIGNoYXJzZXQ9IlVURi04Ij4KLSAgICA8dGl0bGU+VGVz
dHMgZm9yIFByZXZhbGVudCBSZXNvdXJjZSBXaXRoIFVzZXIgSW50ZXJhY3Rpb24gVGltZW91dDwv
dGl0bGU+Ci0gICAgPHNjcmlwdCBzcmM9Ii9qcy10ZXN0LXJlc291cmNlcy9qcy10ZXN0LmpzIj48
L3NjcmlwdD4KLSAgICA8c2NyaXB0IHNyYz0icmVzb3VyY2VzL3V0aWwuanMiPjwvc2NyaXB0Pgot
PC9oZWFkPgotPGJvZHk+Ci08c2NyaXB0PgotICAgIGNvbnN0IGhvc3RVbmRlclRlc3QgPSAiMTI3
LjAuMC4xOjgwMDAiOwotICAgIGNvbnN0IHN0YXRpc3RpY3NVcmwgPSAiaHR0cDovLyIgKyBob3N0
VW5kZXJUZXN0ICsgIi90ZW1wIjsKLSAgICBmdW5jdGlvbiBydW5UZXN0UnVubmVyVGVzdCgpIHsK
LSAgICAgICAgaWYgKGRvY3VtZW50LmNvb2tpZSAhPT0gIiIpCi0gICAgICAgICAgICB0ZXN0RmFp
bGVkKCJkb2N1bWVudC5jb29raWUgbm90IGVtcHR5LiIpOwotICAgICAgICBjb25zdCBjb29raWUg
PSAidGVzdENvb2tpZT10ZXN0VmFsdWUiOwotICAgICAgICBkb2N1bWVudC5jb29raWUgPSBjb29r
aWUgKyAiOyBtYXgtYWdlPTEwMDsiOwotICAgICAgICBpZiAoZG9jdW1lbnQuY29va2llICE9PSBj
b29raWUpCi0gICAgICAgICAgICB0ZXN0RmFpbGVkKCJkb2N1bWVudC5jb29raWUgZGlkIG5vdCBn
ZXQgc2V0LiIpOwotCi0gICAgICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc1ByZXZhbGVudFJl
c291cmNlKHN0YXRpc3RpY3NVcmwsIHRydWUsIGZ1bmN0aW9uKCkgewotICAgICAgICAgICAgaWYg
KCF0ZXN0UnVubmVyLmlzU3RhdGlzdGljc1ByZXZhbGVudFJlc291cmNlKHN0YXRpc3RpY3NVcmwp
KQotICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoIkhvc3QgZGlkIG5vdCBnZXQgc2V0IGFzIHBy
ZXZhbGVudCByZXNvdXJjZS4iKTsKLQotICAgICAgICAgICAgdGVzdFJ1bm5lci5zZXRTdGF0aXN0
aWNzSGFzSGFkVXNlckludGVyYWN0aW9uKHN0YXRpc3RpY3NVcmwsIHRydWUsIGZ1bmN0aW9uKCkg
ewotICAgICAgICAgICAgICAgIGlmICghdGVzdFJ1bm5lci5pc1N0YXRpc3RpY3NIYXNIYWRVc2Vy
SW50ZXJhY3Rpb24oc3RhdGlzdGljc1VybCkpCi0gICAgICAgICAgICAgICAgICAgIHRlc3RGYWls
ZWQoIkhvc3QgZGlkIG5vdCBnZXQgbG9nZ2VkIGZvciB1c2VyIGludGVyYWN0aW9uLiIpOwotCi0g
ICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5pbnN0YWxsU3RhdGlzdGljc0RpZE1vZGlmeURhdGFS
ZWNvcmRzQ2FsbGJhY2soZnVuY3Rpb24oKSB7Ci0gICAgICAgICAgICAgICAgICAgIGlmIChkb2N1
bWVudC5jb29raWUgIT09ICIiKQotICAgICAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZCgi
Q29va2llIG5vdCBkZWxldGVkOiAiICsgZG9jdW1lbnQuY29va2llKTsKLSAgICAgICAgICAgICAg
ICAgICAgZWxzZQotICAgICAgICAgICAgICAgICAgICAgICAgdGVzdFBhc3NlZCgiQ29va2llIGRl
bGV0ZWQuIik7Ci0gICAgICAgICAgICAgICAgICAgIGludGVybmFscy5zZXRSZXNvdXJjZUxvYWRT
dGF0aXN0aWNzRW5hYmxlZChmYWxzZSk7Ci0gICAgICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIu
c3RhdGlzdGljc1Jlc2V0VG9Db25zaXN0ZW50U3RhdGUoZnVuY3Rpb24oKSB7Ci0gICAgICAgICAg
ICAgICAgICAgICAgICB0ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsKLSAgICAgICAgICAgICAgICAg
ICAgfSk7Ci0gICAgICAgICAgICAgICAgfSk7Ci0gICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5z
ZXRTdGF0aXN0aWNzU2hvdWxkQ2xhc3NpZnlSZXNvdXJjZXNCZWZvcmVEYXRhUmVjb3Jkc1JlbW92
YWwoZmFsc2UpOwotICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc01pbmlt
dW1UaW1lQmV0d2VlbkRhdGFSZWNvcmRzUmVtb3ZhbCgwKTsKLSAgICAgICAgICAgICAgICB0ZXN0
UnVubmVyLnNldFN0YXRpc3RpY3NUaW1lVG9MaXZlVXNlckludGVyYWN0aW9uKDApOwotCi0gICAg
ICAgICAgICAgICAgLy8gVGhpcyBpcyB0byBlbnN1cmUgdGhlIHRpbWVvdXQgd2UncmUgdGVzdGlu
Zy4KLSAgICAgICAgICAgICAgICBzZXRUaW1lb3V0KCJ0ZXN0UnVubmVyLnN0YXRpc3RpY3NQcm9j
ZXNzU3RhdGlzdGljc0FuZERhdGFSZWNvcmRzKCkiLCAxMDAwKTsKLSAgICAgICAgICAgIH0pOwot
ICAgICAgICB9KTsKLSAgICB9Ci0KLSAgICBpZiAoZG9jdW1lbnQubG9jYXRpb24uaG9zdCA9PT0g
aG9zdFVuZGVyVGVzdCAmJiB3aW5kb3cudGVzdFJ1bm5lciAmJiB3aW5kb3cuaW50ZXJuYWxzKSB7
Ci0gICAgICAgIHRlc3RSdW5uZXIuc2V0VXNlSVRQRGF0YWJhc2UodHJ1ZSk7Ci0gICAgICAgIHRl
c3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOwotICAgICAgICBzZXRFbmFibGVGZWF0dXJlKHRydWUs
IHJ1blRlc3RSdW5uZXJUZXN0KTsKLSAgICB9Ci08L3NjcmlwdD4KLTwvYm9keT4KLTwvaHRtbD4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGlj
cy9wcmV2YWxlbnQtcmVzb3VyY2Utd2l0aG91dC11c2VyLWludGVyYWN0aW9uLWRhdGFiYXNlLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGlj
cy9wcmV2YWxlbnQtcmVzb3VyY2Utd2l0aG91dC11c2VyLWludGVyYWN0aW9uLWRhdGFiYXNlLWV4
cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZjc4MDllOTFjMjNjMjNh
MjM2OWNkMDg1NGViMTgxNjQ3ZGZhZWI0My4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRp
c3RpY3MvcHJldmFsZW50LXJlc291cmNlLXdpdGhvdXQtdXNlci1pbnRlcmFjdGlvbi1kYXRhYmFz
ZS1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSw1ICswLDAgQEAKLVBBU1Mgc3VjY2Vz
c2Z1bGx5UGFyc2VkIGlzIHRydWUKLQotVEVTVCBDT01QTEVURQotUEFTUyBDb29raWUgZGVsZXRl
ZC4KLQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0
aXN0aWNzL3ByZXZhbGVudC1yZXNvdXJjZS13aXRob3V0LXVzZXItaW50ZXJhY3Rpb24tZGF0YWJh
c2UuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9w
cmV2YWxlbnQtcmVzb3VyY2Utd2l0aG91dC11c2VyLWludGVyYWN0aW9uLWRhdGFiYXNlLmh0bWwK
ZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDBhOWVhMTM5MTM3ZGE5ODRlOTE5NmFkZjBh
N2Y0ZjZlYTBlZTllMjMuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAK
LS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3ByZXZh
bGVudC1yZXNvdXJjZS13aXRob3V0LXVzZXItaW50ZXJhY3Rpb24tZGF0YWJhc2UuaHRtbAorKysg
L2Rldi9udWxsCkBAIC0xLDU5ICswLDAgQEAKLTwhRE9DVFlQRSBodG1sPgotPGh0bWwgbGFuZz0i
ZW4iPgotPGhlYWQ+Ci0gICAgPG1ldGEgY2hhcnNldD0iVVRGLTgiPgotICAgIDx0aXRsZT5UZXN0
cyBmb3IgUHJldmFsZW50IFJlc291cmNlIFdpdGhvdXQgVXNlciBJbnRlcmFjdGlvbjwvdGl0bGU+
Ci0gICAgPHNjcmlwdCBzcmM9Ii9qcy10ZXN0LXJlc291cmNlcy9qcy10ZXN0LmpzIj48L3Njcmlw
dD4KLSAgICA8c2NyaXB0IHNyYz0icmVzb3VyY2VzL3V0aWwuanMiPjwvc2NyaXB0PgotPC9oZWFk
PgotPGJvZHk+Ci08c2NyaXB0PgotICAgIGNvbnN0IGhvc3RVbmRlclRlc3QgPSAiMTI3LjAuMC4x
OjgwMDAiOwotICAgIGNvbnN0IHN0YXRpc3RpY3NVcmwgPSAiaHR0cDovLyIgKyBob3N0VW5kZXJU
ZXN0ICsgIi90ZW1wIjsKLQotICAgIGZ1bmN0aW9uIGZpbmlzaFRlc3QgKCkgewotICAgICAgICBp
ZiAoZG9jdW1lbnQuY29va2llICE9PSAiIikKLSAgICAgICAgICAgIHRlc3RGYWlsZWQoIkNvb2tp
ZSBub3QgZGVsZXRlZDogIiArIGRvY3VtZW50LmNvb2tpZSk7Ci0gICAgICAgIGVsc2UKLSAgICAg
ICAgICAgIHRlc3RQYXNzZWQoIkNvb2tpZSBkZWxldGVkLiIpOwotICAgICAgICBzZXRFbmFibGVG
ZWF0dXJlKGZhbHNlLCBmdW5jdGlvbigpIHsKLSAgICAgICAgICAgIHRlc3RSdW5uZXIubm90aWZ5
RG9uZSgpOwotICAgICAgICB9KTsKLSAgICB9Ci0KLSAgICBmdW5jdGlvbiBydW5UZXN0UnVubmVy
VGVzdCgpIHsKLSAgICAgICAgaWYgKGRvY3VtZW50LmNvb2tpZSAhPT0gIiIpCi0gICAgICAgICAg
ICB0ZXN0RmFpbGVkKCJkb2N1bWVudC5jb29raWUgbm90IGVtcHR5LiIpOwotICAgICAgICBjb25z
dCBjb29raWUgPSAidGVzdENvb2tpZT10ZXN0VmFsdWUiOwotICAgICAgICBkb2N1bWVudC5jb29r
aWUgPSBjb29raWUgKyAiOyBtYXgtYWdlPTEwMDsiOwotICAgICAgICBpZiAoZG9jdW1lbnQuY29v
a2llICE9PSBjb29raWUpCi0gICAgICAgICAgICB0ZXN0RmFpbGVkKCJkb2N1bWVudC5jb29raWUg
ZGlkIG5vdCBnZXQgc2V0LiIpOwotCi0gICAgICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc1By
ZXZhbGVudFJlc291cmNlKHN0YXRpc3RpY3NVcmwsIHRydWUsIGZ1bmN0aW9uKCkgewotICAgICAg
ICAgICAgaWYgKCF0ZXN0UnVubmVyLmlzU3RhdGlzdGljc1ByZXZhbGVudFJlc291cmNlKHN0YXRp
c3RpY3NVcmwpKQotICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoIkhvc3QgZGlkIG5vdCBnZXQg
c2V0IGFzIHByZXZhbGVudCByZXNvdXJjZS4iKTsKLQotICAgICAgICAgICAgdGVzdFJ1bm5lci5z
ZXRTdGF0aXN0aWNzSGFzSGFkVXNlckludGVyYWN0aW9uKHN0YXRpc3RpY3NVcmwsIGZhbHNlLCBm
dW5jdGlvbigpIHsKLSAgICAgICAgICAgICAgICBpZiAodGVzdFJ1bm5lci5pc1N0YXRpc3RpY3NI
YXNIYWRVc2VySW50ZXJhY3Rpb24oc3RhdGlzdGljc1VybCkpCi0gICAgICAgICAgICAgICAgICAg
IHRlc3RGYWlsZWQoIkhvc3QgZGlkIG5vdCBnZXQgY2xlYXJlZCBvZiB1c2VyIGludGVyYWN0aW9u
LiIpOwotCi0gICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5pbnN0YWxsU3RhdGlzdGljc0RpZE1v
ZGlmeURhdGFSZWNvcmRzQ2FsbGJhY2soZnVuY3Rpb24oKSB7Ci0gICAgICAgICAgICAgICAgICAg
IHNldFRpbWVvdXQoImZpbmlzaFRlc3QoKSIsIDEwMDApOwotICAgICAgICAgICAgICAgIH0pOwot
ICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc1Nob3VsZENsYXNzaWZ5UmVz
b3VyY2VzQmVmb3JlRGF0YVJlY29yZHNSZW1vdmFsKGZhbHNlKTsKLSAgICAgICAgICAgICAgICB0
ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NNaW5pbXVtVGltZUJldHdlZW5EYXRhUmVjb3Jkc1JlbW92
YWwoMCk7Ci0gICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5zdGF0aXN0aWNzUHJvY2Vzc1N0YXRp
c3RpY3NBbmREYXRhUmVjb3JkcygpOwotICAgICAgICAgICAgfSk7Ci0gICAgICAgIH0pOwotICAg
IH0KLQotICAgIGlmIChkb2N1bWVudC5sb2NhdGlvbi5ob3N0ID09PSBob3N0VW5kZXJUZXN0ICYm
IHdpbmRvdy50ZXN0UnVubmVyICYmIHdpbmRvdy5pbnRlcm5hbHMpIHsKLSAgICAgICAgdGVzdFJ1
bm5lci53YWl0VW50aWxEb25lKCk7Ci0gICAgICAgIHRlc3RSdW5uZXIuc2V0VXNlSVRQRGF0YWJh
c2UodHJ1ZSk7Ci0gICAgICAgIHNldEVuYWJsZUZlYXR1cmUodHJ1ZSwgZnVuY3Rpb24oKSB7Ci0g
ICAgICAgICAgICBydW5UZXN0UnVubmVyVGVzdCgpOwotICAgICAgICB9KTsKLSAgICB9Ci08L3Nj
cmlwdD4KLTwvYm9keT4KLTwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVz
dHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9wcnVuZS1zdGF0aXN0aWNzLWRhdGFiYXNlLWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9w
cnVuZS1zdGF0aXN0aWNzLWRhdGFiYXNlLWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggZTc0NzU3YmM1MjU2MDA1MjFkNDYxNTQ1ZDAzNjdjMGYwNTAxYmVmMy4uMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9o
dHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvcHJ1bmUtc3RhdGlzdGljcy1kYXRhYmFz
ZS1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSwxNyArMCwwIEBACi1UZXN0cyB0aGF0
IHN0YXRpc3RpY3MgYXJlIHBydW5lZCBpbiB0aGUgcmlnaHQgb3JkZXIuCi0KLU9uIHN1Y2Nlc3Ms
IHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJU
RVNUIENPTVBMRVRFIi4KLQotCi1QQVNTIFRlc3QgaXRlcmF0aW9uIDEgcGFzc2VkLgotUEFTUyBU
ZXN0IGl0ZXJhdGlvbiAyIHBhc3NlZC4KLVBBU1MgVGVzdCBpdGVyYXRpb24gMyBwYXNzZWQuCi1Q
QVNTIFRlc3QgaXRlcmF0aW9uIDQgcGFzc2VkLgotUEFTUyBUZXN0IGl0ZXJhdGlvbiA1IHBhc3Nl
ZC4KLVBBU1MgVGVzdCBpdGVyYXRpb24gNiBwYXNzZWQuCi1QQVNTIFRlc3QgaXRlcmF0aW9uIDcg
cGFzc2VkLgotUEFTUyBUZXN0IGl0ZXJhdGlvbiA4IHBhc3NlZC4KLVBBU1Mgc3VjY2Vzc2Z1bGx5
UGFyc2VkIGlzIHRydWUKLQotVEVTVCBDT01QTEVURQotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvcHJ1bmUtc3RhdGlzdGljcy1kYXRh
YmFzZS5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNz
L3BydW5lLXN0YXRpc3RpY3MtZGF0YWJhc2UuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMjBiMDY0ZWFiN2ZmYTMwZmMyZjFmNjI1MTQ4YjkyODcyMDAzMTFkYi4uMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rl
c3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvcHJ1bmUtc3RhdGlzdGljcy1kYXRhYmFzZS5odG1s
CisrKyAvZGV2L251bGwKQEAgLTEsMTU2ICswLDAgQEAKLTwhRE9DVFlQRSBodG1sPgotPGh0bWw+
Ci08aGVhZD4KLSAgICA8bWV0YSBjaGFyc2V0PSJVVEYtOCI+Ci0gICAgPHRpdGxlPlRlc3QgZm9y
IFJlc291cmNlIExvYWQgU3RhdGlzdGljcyBQcnVuaW5nPC90aXRsZT4KLSAgICA8c2NyaXB0IHNy
Yz0iL2pzLXRlc3QtcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgotICAgIDxzY3JpcHQg
c3JjPSJyZXNvdXJjZXMvdXRpbC5qcyI+PC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keT4KLTxzY3Jp
cHQ+Ci0gICAgZGVzY3JpcHRpb24oIlRlc3RzIHRoYXQgc3RhdGlzdGljcyBhcmUgcHJ1bmVkIGlu
IHRoZSByaWdodCBvcmRlci4iKTsKLSAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKLQotICAgIGNv
bnN0IG9sZGVyVGltZXN0YW1wID0gTWF0aC5yb3VuZCgobmV3IERhdGUoKSkuZ2V0VGltZSgpIC8g
MTAwMCk7Ci0gICAgY29uc3QgbmV3ZXJUaW1lc3RhbXAgPSBvbGRlclRpbWVzdGFtcCArIDEwOwot
ICAgIGNvbnN0IG5ld2VzdFRpbWVzdGFtcCA9IG5ld2VyVGltZXN0YW1wICsgMTA7Ci0KLSAgICBj
b25zdCB1cmxzVG9CZVBydW5lZCA9IFsKLSAgICAgICAgeyB1cmw6ICJodHRwOi8vMTI3LjAuMC4x
OjgwMDAvdGVtcCIsIHByZXZhbGVudDogZmFsc2UgfSwKLSAgICAgICAgeyB1cmw6ICJodHRwOi8v
MTI3LjAuMC4yOjgwMDAvdGVtcCIsIHByZXZhbGVudDogZmFsc2UgfSwKLSAgICAgICAgeyB1cmw6
ICJodHRwOi8vMTI3LjAuMC4zOjgwMDAvdGVtcCIsIHByZXZhbGVudDogdHJ1ZSB9LAotICAgICAg
ICB7IHVybDogImh0dHA6Ly8xMjcuMC4wLjQ6ODAwMC90ZW1wIiwgcHJldmFsZW50OiB0cnVlIH0s
Ci0gICAgICAgIHsgdXJsOiAiaHR0cDovLzEyNy4wLjAuNTo4MDAwL3RlbXAiLCBwcmV2YWxlbnQ6
IGZhbHNlIH0sCi0gICAgICAgIHsgdXJsOiAiaHR0cDovLzEyNy4wLjAuNjo4MDAwL3RlbXAiLCBw
cmV2YWxlbnQ6IGZhbHNlIH0sCi0gICAgICAgIHsgdXJsOiAiaHR0cDovLzEyNy4wLjAuNzo4MDAw
L3RlbXAiLCBwcmV2YWxlbnQ6IHRydWUgfSwKLSAgICAgICAgeyB1cmw6ICJodHRwOi8vMTI3LjAu
MC44OjgwMDAvdGVtcCIsIHByZXZhbGVudDogdHJ1ZSB9Ci0gICAgXTsKLQotICAgIGZ1bmN0aW9u
IGNoZWNrSWZQcmV2YWxlbnRBY2NvcmRpbmdUb0luaXRpYWxFeHBlY3RhdGlvbihiZWdpbiwgZW5k
KSB7Ci0gICAgICAgIHZhciBmYWlsZWQgPSBmYWxzZTsKLSAgICAgICAgZm9yICh2YXIgaSA9IGJl
Z2luOyBpIDwgZW5kOyArK2kpIHsKLSAgICAgICAgICAgIGlmICh0ZXN0UnVubmVyLmlzU3RhdGlz
dGljc1ByZXZhbGVudFJlc291cmNlKHVybHNUb0JlUHJ1bmVkW2ldLnVybCkgIT09IHVybHNUb0Jl
UHJ1bmVkW2ldLnByZXZhbGVudCkgewotICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoImNoZWNr
SWZQcmV2YWxlbnRBY2NvcmRpbmdUb0luaXRpYWxFeHBlY3RhdGlvbjogVGVzdCBpdGVyYXRpb24g
IiArIGN1cnJlbnRUZXN0ICsgIiBmYWlsZWQuICIgKyB1cmxzVG9CZVBydW5lZFtpXS51cmwgKyAo
dXJsc1RvQmVQcnVuZWRbaV0ucHJldmFsZW50ID8gIiB3YXNuJ3QgIiA6ICIgd2FzICIpICsgInBy
ZXZhbGVudCIpOwotICAgICAgICAgICAgICAgIGZhaWxlZCA9IHRydWU7Ci0gICAgICAgICAgICB9
Ci0gICAgICAgIH0KLSAgICAgICAgaWYgKGZhaWxlZCkKLSAgICAgICAgICAgIHNldEVuYWJsZUZl
YXR1cmUoZmFsc2UsIGZpbmlzaEpTVGVzdCk7Ci0gICAgfQotCi0gICAgZnVuY3Rpb24gY2hlY2tJ
ZlByZXZhbGVudChiZWdpbiwgZW5kLCBleHBlY3RlZCkgewotICAgICAgICB2YXIgZmFpbGVkID0g
ZmFsc2U7Ci0gICAgICAgIGZvciAodmFyIGkgPSBiZWdpbjsgaSA8IGVuZDsgKytpKSB7Ci0gICAg
ICAgICAgICBpZiAodGVzdFJ1bm5lci5pc1N0YXRpc3RpY3NQcmV2YWxlbnRSZXNvdXJjZSh1cmxz
VG9CZVBydW5lZFtpXS51cmwpICE9PSBleHBlY3RlZCkgewotICAgICAgICAgICAgICAgIHRlc3RG
YWlsZWQoImNoZWNrSWZQcmV2YWxlbnQ6IFRlc3QgaXRlcmF0aW9uICIgKyBjdXJyZW50VGVzdCAr
ICIgZmFpbGVkLiAiICsgdXJsc1RvQmVQcnVuZWRbaV0udXJsICsgKGV4cGVjdGVkID8gIiB3YXNu
J3QgIiA6ICIgd2FzICIpICsgInByZXZhbGVudCIpOwotICAgICAgICAgICAgICAgIGZhaWxlZCA9
IHRydWU7Ci0gICAgICAgICAgICB9Ci0gICAgICAgIH0KLSAgICAgICAgaWYgKGZhaWxlZCkKLSAg
ICAgICAgICAgIHNldEVuYWJsZUZlYXR1cmUoZmFsc2UsIGZpbmlzaEpTVGVzdCk7Ci0gICAgfQot
Ci0gICAgZnVuY3Rpb24gaW5pdGlhbGl6ZVN0YXRpc3RpY3NBbmRSdW5UZXN0cyhzdGVwKSB7Ci0g
ICAgICAgIHN3aXRjaCAoc3RlcCkgewotICAgICAgICAgICAgLy8gTm9uLXByZXZhbGVudCB3aXRo
b3V0IHVzZXIgaW50ZXJhY3Rpb24gdG8gYmUgcHJ1bmVkIGZpcnN0LgotICAgICAgICAgICAgY2Fz
ZSAxOgotICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc0xhc3RTZWVuKHVy
bHNUb0JlUHJ1bmVkWzBdLnVybCwgb2xkZXJUaW1lc3RhbXAsIGZ1bmN0aW9uKCkgeyBpbml0aWFs
aXplU3RhdGlzdGljc0FuZFJ1blRlc3RzKDIpOyB9KTsKLSAgICAgICAgICAgICAgICBicmVhazsK
LSAgICAgICAgICAgIGNhc2UgMjoKLSAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLnNldFN0YXRp
c3RpY3NMYXN0U2Vlbih1cmxzVG9CZVBydW5lZFsxXS51cmwsIG5ld2VyVGltZXN0YW1wLCBmdW5j
dGlvbigpIHsgaW5pdGlhbGl6ZVN0YXRpc3RpY3NBbmRSdW5UZXN0cygzKTsgfSk7Ci0gICAgICAg
ICAgICAgICAgYnJlYWs7Ci0gICAgICAgICAgICAvLyBQcmV2YWxlbnQgd2l0aG91dCB1c2VyIGlu
dGVyYWN0aW9uIHRvIGJlIHBydW5lZCBzZWNvbmQuCi0gICAgICAgICAgICBjYXNlIDM6Ci0gICAg
ICAgICAgICAgICAgdGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNzUHJldmFsZW50UmVzb3VyY2UodXJs
c1RvQmVQcnVuZWRbMl0udXJsLCB0cnVlLCBmdW5jdGlvbigpIHsgaW5pdGlhbGl6ZVN0YXRpc3Rp
Y3NBbmRSdW5UZXN0cyg0KTsgfSk7Ci0gICAgICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgICAg
ICBjYXNlIDQ6Ci0gICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNzTGFzdFNl
ZW4odXJsc1RvQmVQcnVuZWRbMl0udXJsLCBvbGRlclRpbWVzdGFtcCwgZnVuY3Rpb24oKSB7IGlu
aXRpYWxpemVTdGF0aXN0aWNzQW5kUnVuVGVzdHMoNSk7IH0pOwotICAgICAgICAgICAgICAgIGJy
ZWFrOwotICAgICAgICAgICAgY2FzZSA1OgotICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIuc2V0
U3RhdGlzdGljc1ByZXZhbGVudFJlc291cmNlKHVybHNUb0JlUHJ1bmVkWzNdLnVybCwgdHJ1ZSwg
ZnVuY3Rpb24oKSB7IGluaXRpYWxpemVTdGF0aXN0aWNzQW5kUnVuVGVzdHMoNik7IH0pOwotICAg
ICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICAgICAgY2FzZSA2OgotICAgICAgICAgICAgICAg
IHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc0xhc3RTZWVuKHVybHNUb0JlUHJ1bmVkWzNdLnVybCwg
bmV3ZXJUaW1lc3RhbXAsIGZ1bmN0aW9uKCkgeyBpbml0aWFsaXplU3RhdGlzdGljc0FuZFJ1blRl
c3RzKDcpOyB9KTsKLSAgICAgICAgICAgICAgICBicmVhazsKLSAgICAgICAgICAgIC8vIE5vbi1w
cmV2YWxlbnQgd2l0aCB1c2VyIGludGVyYWN0aW9uIHRvIGJlIHBydW5lZCB0aGlyZC4KLSAgICAg
ICAgICAgIGNhc2UgNzoKLSAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NI
YXNIYWRVc2VySW50ZXJhY3Rpb24odXJsc1RvQmVQcnVuZWRbNF0udXJsLCB0cnVlLCBmdW5jdGlv
bigpIHsgaW5pdGlhbGl6ZVN0YXRpc3RpY3NBbmRSdW5UZXN0cyg4KTsgfSk7Ci0gICAgICAgICAg
ICAgICAgYnJlYWs7Ci0gICAgICAgICAgICBjYXNlIDg6Ci0gICAgICAgICAgICAgICAgdGVzdFJ1
bm5lci5zZXRTdGF0aXN0aWNzTGFzdFNlZW4odXJsc1RvQmVQcnVuZWRbNF0udXJsLCBvbGRlclRp
bWVzdGFtcCwgZnVuY3Rpb24oKSB7IGluaXRpYWxpemVTdGF0aXN0aWNzQW5kUnVuVGVzdHMoOSk7
IH0pOwotICAgICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICAgICAgY2FzZSA5OgotICAgICAg
ICAgICAgICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc0hhc0hhZFVzZXJJbnRlcmFjdGlvbih1
cmxzVG9CZVBydW5lZFs1XS51cmwsIHRydWUsIGZ1bmN0aW9uKCkgeyBpbml0aWFsaXplU3RhdGlz
dGljc0FuZFJ1blRlc3RzKDEwKTsgfSk7Ci0gICAgICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAg
ICAgICBjYXNlIDEwOgotICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc0xh
c3RTZWVuKHVybHNUb0JlUHJ1bmVkWzVdLnVybCwgbmV3ZXJUaW1lc3RhbXAsIGZ1bmN0aW9uKCkg
eyBpbml0aWFsaXplU3RhdGlzdGljc0FuZFJ1blRlc3RzKDExKTsgfSk7Ci0gICAgICAgICAgICAg
ICAgYnJlYWs7Ci0gICAgICAgICAgICAvLyBQcmV2YWxlbnQgd2l0aCB1c2VyIGludGVyYWN0aW9u
IHRvIGJlIHBydW5lZCBsYXN0LgotICAgICAgICAgICAgY2FzZSAxMToKLSAgICAgICAgICAgICAg
ICB0ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NQcmV2YWxlbnRSZXNvdXJjZSh1cmxzVG9CZVBydW5l
ZFs2XS51cmwsIHRydWUsIGZ1bmN0aW9uKCkgeyBpbml0aWFsaXplU3RhdGlzdGljc0FuZFJ1blRl
c3RzKDEyKTsgfSk7Ci0gICAgICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgICAgICBjYXNlIDEy
OgotICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc0hhc0hhZFVzZXJJbnRl
cmFjdGlvbih1cmxzVG9CZVBydW5lZFs2XS51cmwsIHRydWUsIGZ1bmN0aW9uKCkgeyBpbml0aWFs
aXplU3RhdGlzdGljc0FuZFJ1blRlc3RzKDEzKTsgfSk7Ci0gICAgICAgICAgICAgICAgYnJlYWs7
Ci0gICAgICAgICAgICBjYXNlIDEzOgotICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIuc2V0U3Rh
dGlzdGljc0xhc3RTZWVuKHVybHNUb0JlUHJ1bmVkWzZdLnVybCwgb2xkZXJUaW1lc3RhbXAsIGZ1
bmN0aW9uKCkgeyBpbml0aWFsaXplU3RhdGlzdGljc0FuZFJ1blRlc3RzKDE0KTsgfSk7Ci0gICAg
ICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgICAgICBjYXNlIDE0OgotICAgICAgICAgICAgICAg
IHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc1ByZXZhbGVudFJlc291cmNlKHVybHNUb0JlUHJ1bmVk
WzddLnVybCwgdHJ1ZSwgZnVuY3Rpb24oKSB7IGluaXRpYWxpemVTdGF0aXN0aWNzQW5kUnVuVGVz
dHMoMTUpOyB9KTsKLSAgICAgICAgICAgICAgICBicmVhazsKLSAgICAgICAgICAgIGNhc2UgMTU6
Ci0gICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNzSGFzSGFkVXNlckludGVy
YWN0aW9uKHVybHNUb0JlUHJ1bmVkWzddLnVybCwgdHJ1ZSwgZnVuY3Rpb24oKSB7IGluaXRpYWxp
emVTdGF0aXN0aWNzQW5kUnVuVGVzdHMoMTYpOyB9KTsKLSAgICAgICAgICAgICAgICBicmVhazsK
LSAgICAgICAgICAgIGNhc2UgMTY6Ci0gICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5zZXRTdGF0
aXN0aWNzTGFzdFNlZW4odXJsc1RvQmVQcnVuZWRbN10udXJsLCBuZXdlclRpbWVzdGFtcCwgZnVu
Y3Rpb24oKSB7IGluaXRpYWxpemVTdGF0aXN0aWNzQW5kUnVuVGVzdHMoMTcpOyB9KTsKLSAgICAg
ICAgICAgICAgICBicmVhazsKLSAgICAgICAgICAgIGNhc2UgMTc6Ci0gICAgICAgICAgICAgICAg
Y2hlY2tJZlByZXZhbGVudEFjY29yZGluZ1RvSW5pdGlhbEV4cGVjdGF0aW9uKDAsIHVybHNUb0Jl
UHJ1bmVkLmxlbmd0aCk7Ci0gICAgICAgICAgICAgICAgcnVuVGVzdCgpOwotICAgICAgICAgICAg
ICAgIGJyZWFrOwotICAgICAgICB9Ci0gICAgfQotCi0gICAgdmFyIGN1cnJlbnRUZXN0OwotICAg
IGZ1bmN0aW9uIGNoZWNrU3RhdGlzdGljc0FmdGVyUHJ1bmluZygpIHsKLSAgICAgICAgLy8gUHJ1
bmVkIGVudHJpZXMgc2hvdWxkIG5vdCBiZSBwcmV2YWxlbnQuCi0gICAgICAgIGNoZWNrSWZQcmV2
YWxlbnQoMCwgY3VycmVudFRlc3QsIGZhbHNlKTsKLSAgICAgICAgLy8gTm9uLXBydW5lZCBlbnRy
aWVzIHNob3VsZCBrZWVwIHRoZWlyIGV4cGVjdGVkIHN0YXR1cy4KLSAgICAgICAgY2hlY2tJZlBy
ZXZhbGVudEFjY29yZGluZ1RvSW5pdGlhbEV4cGVjdGF0aW9uKGN1cnJlbnRUZXN0LCB1cmxzVG9C
ZVBydW5lZC5sZW5ndGgpOwotICAgICAgICB0ZXN0UGFzc2VkKCJUZXN0IGl0ZXJhdGlvbiAiICsg
Y3VycmVudFRlc3QgKyAiIHBhc3NlZC4iKTsKLSAgICAgICAgaWYgKGN1cnJlbnRUZXN0IDwgdXJs
c1RvQmVQcnVuZWQubGVuZ3RoKSB7Ci0gICAgICAgICAgICArK2N1cnJlbnRUZXN0OwotICAgICAg
ICAgICAgdGVzdFJ1bm5lci5pbnN0YWxsU3RhdGlzdGljc0RpZFNjYW5EYXRhUmVjb3Jkc0NhbGxi
YWNrKGNoZWNrU3RhdGlzdGljc0FmdGVyUHJ1bmluZyk7Ci0gICAgICAgICAgICBpbml0aWFsaXpl
U3RhdGlzdGljc0FuZFJ1blRlc3RzKDEpOwotICAgICAgICB9IGVsc2UKLSAgICAgICAgICAgIHNl
dEVuYWJsZUZlYXR1cmUoZmFsc2UsIGZpbmlzaEpTVGVzdCk7Ci0gICAgfQotCi0gICAgbGV0IGZp
bGxlclVybDsKLSAgICBmdW5jdGlvbiBydW5UZXN0KCkgewotICAgICAgICBmaWxsZXJVcmwgPSAi
aHR0cDovLzEyNy4wLiIgKyBjdXJyZW50VGVzdCArICIuMTo4MDAwL3RlbXAiOwotICAgICAgICB0
ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NQcmV2YWxlbnRSZXNvdXJjZShmaWxsZXJVcmwsIHRydWUs
IGZ1bmN0aW9uKCkgewotICAgICAgICAgICAgdGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNzSGFzSGFk
VXNlckludGVyYWN0aW9uKGZpbGxlclVybCwgdHJ1ZSwgZnVuY3Rpb24oKSB7Ci0gICAgICAgICAg
ICAgICAgdGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNzTGFzdFNlZW4oZmlsbGVyVXJsLCBuZXdlc3RU
aW1lc3RhbXAsIGZ1bmN0aW9uKCkgewotICAgICAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLnN0
YXRpc3RpY3NQcm9jZXNzU3RhdGlzdGljc0FuZERhdGFSZWNvcmRzKCk7Ci0gICAgICAgICAgICAg
ICAgfSk7Ci0gICAgICAgICAgICB9KTsKLSAgICAgICAgfSk7Ci0gICAgfQotCi0gICAgaWYgKHdp
bmRvdy50ZXN0UnVubmVyKSB7Ci0gICAgICAgIHRlc3RSdW5uZXIuc2V0VXNlSVRQRGF0YWJhc2Uo
dHJ1ZSk7Ci0gICAgICAgIHNldEVuYWJsZUZlYXR1cmUodHJ1ZSwgZnVuY3Rpb24gKCkgewotICAg
ICAgICAgICAgdGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNzU2hvdWxkQ2xhc3NpZnlSZXNvdXJjZXNC
ZWZvcmVEYXRhUmVjb3Jkc1JlbW92YWwoZmFsc2UpOwotICAgICAgICAgICAgdGVzdFJ1bm5lci5z
ZXRTdGF0aXN0aWNzTWluaW11bVRpbWVCZXR3ZWVuRGF0YVJlY29yZHNSZW1vdmFsKDApOwotICAg
ICAgICAgICAgdGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNzTWF4U3RhdGlzdGljc0VudHJpZXModXJs
c1RvQmVQcnVuZWQubGVuZ3RoKTsKLSAgICAgICAgICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGlj
c1BydW5lRW50cmllc0Rvd25Ubyh1cmxzVG9CZVBydW5lZC5sZW5ndGgpOwotCi0gICAgICAgICAg
ICBjdXJyZW50VGVzdCA9IDE7Ci0gICAgICAgICAgICB0ZXN0UnVubmVyLmluc3RhbGxTdGF0aXN0
aWNzRGlkU2NhbkRhdGFSZWNvcmRzQ2FsbGJhY2soY2hlY2tTdGF0aXN0aWNzQWZ0ZXJQcnVuaW5n
KTsKLSAgICAgICAgICAgIGluaXRpYWxpemVTdGF0aXN0aWNzQW5kUnVuVGVzdHMoMSk7Ci0gICAg
ICAgIH0pOwotICAgIH0KLTwvc2NyaXB0PgotPC9ib2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3JlbW92ZS13ZWJz
aXRlLWRhdGEtZm9yLW9yaWdpbi1kZWxldGVzLWxpbmstZGVjb3JhdGlvbi1kYXRhYmFzZS1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3Mv
cmVtb3ZlLXdlYnNpdGUtZGF0YS1mb3Itb3JpZ2luLWRlbGV0ZXMtbGluay1kZWNvcmF0aW9uLWRh
dGFiYXNlLWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYzkzZTg2
NzIxNzI0MmMyYjY5OWU3Y2I5OTU3NDgxZGI1NDAxNDYxNS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNl
TG9hZFN0YXRpc3RpY3MvcmVtb3ZlLXdlYnNpdGUtZGF0YS1mb3Itb3JpZ2luLWRlbGV0ZXMtbGlu
ay1kZWNvcmF0aW9uLWRhdGFiYXNlLWV4cGVjdGVkLnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDUg
KzAsMCBAQAotUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQotCi1URVNUIENPTVBMRVRF
Ci1QQVNTIERvbWFpbiBJRCB3YXMgc3VjY2Vzc2Z1bGx5IGRlbGV0ZWQgZnJvbSB0aGUgZGF0YWJh
c2UuCi0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3Rh
dGlzdGljcy9yZW1vdmUtd2Vic2l0ZS1kYXRhLWZvci1vcmlnaW4tZGVsZXRlcy1saW5rLWRlY29y
YXRpb24tZGF0YWJhc2UuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2Fk
U3RhdGlzdGljcy9yZW1vdmUtd2Vic2l0ZS1kYXRhLWZvci1vcmlnaW4tZGVsZXRlcy1saW5rLWRl
Y29yYXRpb24tZGF0YWJhc2UuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZDY5
YmEzNjExNDMzNWUyYTk4ZTY0OWM2YTI2ZTYwMmZiMjI2YzY3Ni4uMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291
cmNlTG9hZFN0YXRpc3RpY3MvcmVtb3ZlLXdlYnNpdGUtZGF0YS1mb3Itb3JpZ2luLWRlbGV0ZXMt
bGluay1kZWNvcmF0aW9uLWRhdGFiYXNlLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSw1MiArMCww
IEBACi08IURPQ1RZUEUgaHRtbD4KLTxodG1sPgotPGhlYWQ+Ci0gICAgPHNjcmlwdCBzcmM9Ii9q
cy10ZXN0LXJlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KLSAgICA8c2NyaXB0IHNyYz0i
cmVzb3VyY2VzL3V0aWwuanMiPjwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHkgb25sb2FkPSJzZXRU
aW1lb3V0KCdydW5UZXN0KCknLCAwKSI+Ci08ZGl2IGlkPSJvdXRwdXQiPjwvZGl2PgotPHNjcmlw
dD4KLSAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpIHsKLSAgICAgICAgdGVzdFJ1bm5lci5zZXRV
c2VJVFBEYXRhYmFzZSh0cnVlKTsKLSAgICAgICAgdGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7
Ci0gICAgICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOwotICAgIH0KLQotICAgIGZ1bmN0aW9u
IG5hdmlnYXRlQ3Jvc3NPcmlnaW4oKSB7Ci0gICAgICAgIGRvY3VtZW50LmxvY2F0aW9uLmhyZWYg
PSBkZXN0aW5hdGlvbk9yaWdpbiArICIvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9yZW1vdmUtd2Vi
c2l0ZS1kYXRhLWZvci1vcmlnaW4tZGVsZXRlcy1saW5rLWRlY29yYXRpb24tZGF0YWJhc2UuaHRt
bD9saW5rPWRlY29yYXRpb24iOwotICAgIH0KLQotICAgIGNvbnN0IGhvc3QgPSAibG9jYWxob3N0
IjsKLSAgICBjb25zdCBkZXN0aW5hdGlvbk9yaWdpbiA9ICJodHRwOi8vbG9jYWxob3N0OjgwMDAi
OwotICAgIGNvbnN0IHByZXZhbGVudFJlc291cmNlT3JpZ2luID0gImh0dHA6Ly8xMjcuMC4wLjE6
ODAwMCI7Ci0gICAgY29uc3QgdGVzdE9yaWdpbiA9ICJodHRwOi8vMTI3LjAuMC4yOjgwMDAiOwot
ICAgIGZ1bmN0aW9uIHJ1blRlc3QoKSB7Ci0gICAgICAgIGlmIChkb2N1bWVudC5sb2NhdGlvbi5v
cmlnaW4gPT09IHByZXZhbGVudFJlc291cmNlT3JpZ2luKSB7Ci0gICAgICAgICAgICBzZXRFbmFi
bGVGZWF0dXJlKHRydWUsIGZ1bmN0aW9uICgpIHsKLSAgICAgICAgICAgICAgICB0ZXN0UnVubmVy
LnNldFN0YXRpc3RpY3NQcmV2YWxlbnRSZXNvdXJjZShwcmV2YWxlbnRSZXNvdXJjZU9yaWdpbiwg
dHJ1ZSwgZnVuY3Rpb24oKSB7Ci0gICAgICAgICAgICAgICAgICAgIGlmICghdGVzdFJ1bm5lci5p
c1N0YXRpc3RpY3NQcmV2YWxlbnRSZXNvdXJjZShwcmV2YWxlbnRSZXNvdXJjZU9yaWdpbikpCi0g
ICAgICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKCJIb3N0IGRpZCBub3QgZ2V0IHNldCBh
cyBwcmV2YWxlbnQgcmVzb3VyY2UuIik7Ci0gICAgICAgICAgICAgICAgICAgICAgICB0ZXN0UnVu
bmVyLnNldFN0YXRpc3RpY3NDcm9zc1NpdGVMb2FkV2l0aExpbmtEZWNvcmF0aW9uKHRlc3RPcmln
aW4sIGRlc3RpbmF0aW9uT3JpZ2luKTsKLSAgICAgICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5z
dGF0aXN0aWNzVXBkYXRlQ29va2llQmxvY2tpbmcobmF2aWdhdGVDcm9zc09yaWdpbik7Ci0gICAg
ICAgICAgICAgICAgfSk7Ci0KLSAgICAgICAgICAgIH0pOwotICAgICAgICB9IGVsc2UgewotICAg
ICAgICAgICAgdGVzdFJ1bm5lci5jbGVhclN0YXRpc3RpY3NEYXRhRm9yRG9tYWluKGhvc3QpOwot
ICAgICAgICAgICAgLy8gTXVzdCB1c2UgZG9tYWluSUQgdG8gZW5zdXJlIHRoaXMgd2FzIHByb3Bl
cmx5Ci0gICAgICAgICAgICAvLyBkZWxldGVkLCBvdGhlcndpc2UgdGhlIGxhY2sgb2YgcmVnaXN0
cmFibGUgZG9tYWluIC0tPiBkb21haW5JRCBtYXBwaW5nCi0gICAgICAgICAgICAvLyBjb3VsZCBj
cmVhdGUgYSBmYWxzZS1wb3NpdGl2ZSB0ZXN0IHJlc3VsdCBldmVuIHdoZW4gdGhlIGRvbWFpbklE
IHBlcnNpc3RzLgotICAgICAgICAgICAgaWYgKHRlc3RSdW5uZXIuZG9lc1N0YXRpc3RpY3NEb21h
aW5JREV4aXN0SW5EYXRhYmFzZSgyKSkKLSAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKCJEb21h
aW4gSUQgd2FzIG5vdCBkZWxldGVkIGZyb20gdGhlIGRhdGFiYXNlLiIpOwotICAgICAgICAgICAg
ZWxzZQotICAgICAgICAgICAgICAgIHRlc3RQYXNzZWQoIkRvbWFpbiBJRCB3YXMgc3VjY2Vzc2Z1
bGx5IGRlbGV0ZWQgZnJvbSB0aGUgZGF0YWJhc2UuIikKLQotICAgICAgICAgICAgc2V0RW5hYmxl
RmVhdHVyZShmYWxzZSwgZnVuY3Rpb24gKCkgewotICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIu
bm90aWZ5RG9uZSgpOwotICAgICAgICAgICAgfSk7Ci0gICAgICAgIH0KLSAgICB9Ci08L3Njcmlw
dD4KLTwvYm9keT4KLTwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMv
cmVzb3VyY2VMb2FkU3RhdGlzdGljcy9yZW1vdmUtd2Vic2l0ZS1kYXRhLWZvci1vcmlnaW4tZGVs
ZXRlcy1saW5rLWRlY29yYXRpb24tZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0
cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3JlbW92ZS13ZWJzaXRlLWRhdGEtZm9yLW9yaWdpbi1k
ZWxldGVzLWxpbmstZGVjb3JhdGlvbi1leHBlY3RlZC50eHQKaW5kZXggNDg4ODEwODI3OTEwYjY1
ZjljYmNkMWJjZTJhZmE1MWFmYjZmNjE4OS4uZGM5M2NhMjQ2MzQwMDIzYjIyNjA0ODVlNzFmYjk0
NmRkZjczODEzYiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxv
YWRTdGF0aXN0aWNzL3JlbW92ZS13ZWJzaXRlLWRhdGEtZm9yLW9yaWdpbi1kZWxldGVzLWxpbmst
ZGVjb3JhdGlvbi1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNv
dXJjZUxvYWRTdGF0aXN0aWNzL3JlbW92ZS13ZWJzaXRlLWRhdGEtZm9yLW9yaWdpbi1kZWxldGVz
LWxpbmstZGVjb3JhdGlvbi1leHBlY3RlZC50eHQKQEAgLTUsOSArNSw3IEBAIFJlZ2lzdHJhYmxl
IGRvbWFpbjogMTI3LjAuMC4xCiAgICAgaGFkVXNlckludGVyYWN0aW9uOiBObwogICAgIG1vc3RS
ZWNlbnRVc2VySW50ZXJhY3Rpb246IC0xCiAgICAgZ3JhbmRmYXRoZXJlZDogTm8KLSAgICBnb3RM
aW5rRGVjb3JhdGlvbkZyb21QcmV2YWxlbnRSZXNvdXJjZTogTm8KKyAgICBJc1NjaGVkdWxlZEZv
ckFsbEJ1dENvb2tpZURhdGFSZW1vdmFsOiBObwogICAgIGlzUHJldmFsZW50UmVzb3VyY2U6IFll
cwogICAgIGlzVmVyeVByZXZhbGVudFJlc291cmNlOiBObwogICAgIGRhdGFSZWNvcmRzUmVtb3Zl
ZDogMAotICAgIGNhbnZhc1JlYWREYXRhOiBObwotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9o
dHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvcmVtb3ZlLXdlYnNpdGUtZGF0YS1mb3It
b3JpZ2luLWRlbGV0ZXMtbWl4ZWQtc3RhdGlzdGljcy1lbnRyaWVzLWRhdGFiYXNlLWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9yZW1v
dmUtd2Vic2l0ZS1kYXRhLWZvci1vcmlnaW4tZGVsZXRlcy1taXhlZC1zdGF0aXN0aWNzLWVudHJp
ZXMtZGF0YWJhc2UtZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBm
Mjg3MmNkOWQ3YTA4ZTAzNjFiMzI2YWI5MjAxZDVhZjczODEwYmVmLi4wMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVz
b3VyY2VMb2FkU3RhdGlzdGljcy9yZW1vdmUtd2Vic2l0ZS1kYXRhLWZvci1vcmlnaW4tZGVsZXRl
cy1taXhlZC1zdGF0aXN0aWNzLWVudHJpZXMtZGF0YWJhc2UtZXhwZWN0ZWQudHh0CisrKyAvZGV2
L251bGwKQEAgLTEsNSArMCwwIEBACi1QQVNTIERvbWFpbiBJRCB3YXMgc3VjY2Vzc2Z1bGx5IGRl
bGV0ZWQgZnJvbSB0aGUgZGF0YWJhc2UuCi1QQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVl
Ci0KLVRFU1QgQ09NUExFVEUKLQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9y
ZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3JlbW92ZS13ZWJzaXRlLWRhdGEtZm9yLW9yaWdpbi1kZWxl
dGVzLW1peGVkLXN0YXRpc3RpY3MtZW50cmllcy1kYXRhYmFzZS5odG1sIGIvTGF5b3V0VGVzdHMv
aHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3JlbW92ZS13ZWJzaXRlLWRhdGEtZm9y
LW9yaWdpbi1kZWxldGVzLW1peGVkLXN0YXRpc3RpY3MtZW50cmllcy1kYXRhYmFzZS5odG1sCmRl
bGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBmNzM2ODJlYzZmYTU5Nzg5NGU1ODg1MzhkZjRk
YWYyYzY3YzgyZTM0Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0t
LSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9yZW1vdmUt
d2Vic2l0ZS1kYXRhLWZvci1vcmlnaW4tZGVsZXRlcy1taXhlZC1zdGF0aXN0aWNzLWVudHJpZXMt
ZGF0YWJhc2UuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDU1ICswLDAgQEAKLTwhRE9DVFlQRSBo
dG1sPgotPGh0bWwgbGFuZz0iZW4iPgotPGhlYWQ+Ci0gICAgPG1ldGEgY2hhcnNldD0iVVRGLTgi
PgotICAgIDx0aXRsZT5UZXN0cyB0aGF0IHJlbW92YWwgb2Ygd2Vic2l0ZSBkYXRhIGRlbGV0ZXMg
SVRQIGRhdGE8L3RpdGxlPgotICAgIDxzY3JpcHQgc3JjPSIvanMtdGVzdC1yZXNvdXJjZXMvanMt
dGVzdC5qcyI+PC9zY3JpcHQ+Ci0gICAgPHNjcmlwdCBzcmM9InJlc291cmNlcy91dGlsLmpzIj48
L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5PgotPHNjcmlwdD4KLSAgICBjb25zdCBob3N0VW5kZXJU
ZXN0ID0gIjEyNy4wLjAuMSI7Ci0gICAgY29uc3Qgc3RhdGlzdGljc1VybCA9ICJodHRwOi8vIiAr
IGhvc3RVbmRlclRlc3QgKyAiL3RlbXAiOwotICAgIGNvbnN0IHRvcEZyYW1lT3JpZ2luMSA9ICJo
dHRwOi8vMTI3LjAuMC4yOjgwMDAvdGVtcCI7Ci0gICAgY29uc3QgdG9wRnJhbWVPcmlnaW4yID0g
Imh0dHA6Ly8xMjcuMC4wLjM6ODAwMC90ZW1wIjsKLSAgICBjb25zdCB0b3BGcmFtZU9yaWdpbjMg
PSAiaHR0cDovLzEyNy4wLjAuNDo4MDAwL3RlbXAiOwotICAgIGNvbnN0IHRvcEZyYW1lT3JpZ2lu
NCA9ICJodHRwOi8vMTI3LjAuMC41OjgwMDAvdGVtcCI7Ci0KLSAgICBmdW5jdGlvbiBjb21wbGV0
ZVRlc3QoKSB7Ci0gICAgICAgIHRlc3RSdW5uZXIuY2xlYXJTdGF0aXN0aWNzRGF0YUZvckRvbWFp
bihob3N0VW5kZXJUZXN0KTsKLSAgICAgICAgLy8gTXVzdCB1c2UgZG9tYWluSUQgdG8gZW5zdXJl
IHRoaXMgd2FzIHByb3Blcmx5Ci0gICAgICAgIC8vIGRlbGV0ZWQsIG90aGVyd2lzZSB0aGUgbGFj
ayBvZiByZWdpc3RyYWJsZSBkb21haW4gLS0+IGRvbWFpbklEIG1hcHBpbmcKLSAgICAgICAgLy8g
Y291bGQgY3JlYXRlIGEgZmFsc2UtcG9zaXRpdmUgdGVzdCByZXN1bHQgZXZlbiB3aGVuIHRoZSBk
b21haW5JRCBwZXJzaXN0cy4KLSAgICAgICAgaWYgKHRlc3RSdW5uZXIuZG9lc1N0YXRpc3RpY3NE
b21haW5JREV4aXN0SW5EYXRhYmFzZSgxKSkKLSAgICAgICAgICAgIHRlc3RGYWlsZWQoIkRvbWFp
biBJRCB3YXMgbm90IGRlbGV0ZWQgZnJvbSB0aGUgZGF0YWJhc2UuIik7Ci0gICAgICAgIGVsc2UK
LSAgICAgICAgICAgIHRlc3RQYXNzZWQoIkRvbWFpbiBJRCB3YXMgc3VjY2Vzc2Z1bGx5IGRlbGV0
ZWQgZnJvbSB0aGUgZGF0YWJhc2UuIikKLSAgICAgICAgc2V0RW5hYmxlRmVhdHVyZShmYWxzZSwg
ZnVuY3Rpb24oKSB7Ci0gICAgICAgICAgICB0ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsKLSAgICAg
ICAgfSk7Ci0gICAgfQotCi0gICAgZnVuY3Rpb24gcnVuVGVzdFJ1bm5lclRlc3QoKSB7Ci0gICAg
ICAgIC8vIENyZWF0ZSBlbnRyaWVzIGluIG11bHRpcGxlIGRhdGFiYXNlIHRhYmxlcyB3aXRoIHRo
ZSBob3N0VW5kZXJUZXN0LgotICAgICAgICB0ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NTdWJmcmFt
ZVVuZGVyVG9wRnJhbWVPcmlnaW4oc3RhdGlzdGljc1VybCwgdG9wRnJhbWVPcmlnaW4xKTsKLSAg
ICAgICAgdGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNzU3VicmVzb3VyY2VVbmRlclRvcEZyYW1lT3Jp
Z2luKHRvcEZyYW1lT3JpZ2luMiwgc3RhdGlzdGljc1VybCk7Ci0gICAgICAgIHRlc3RSdW5uZXIu
c2V0U3RhdGlzdGljc1N1YnJlc291cmNlVW5kZXJUb3BGcmFtZU9yaWdpbihzdGF0aXN0aWNzVXJs
LCB0b3BGcmFtZU9yaWdpbjMpOwotICAgICAgICB0ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NTdWJy
ZXNvdXJjZVVuaXF1ZVJlZGlyZWN0VG8oc3RhdGlzdGljc1VybCwgdG9wRnJhbWVPcmlnaW40KTsK
LQotICAgICAgICBpZiAoIXRlc3RSdW5uZXIuaXNTdGF0aXN0aWNzUmVnaXN0ZXJlZEFzU3ViRnJh
bWVVbmRlcihzdGF0aXN0aWNzVXJsLCB0b3BGcmFtZU9yaWdpbjEpCi0gICAgICAgICAgICAgICAg
fHwgIXRlc3RSdW5uZXIuaXNTdGF0aXN0aWNzUmVnaXN0ZXJlZEFzU3VicmVzb3VyY2VVbmRlcih0
b3BGcmFtZU9yaWdpbjIsIHN0YXRpc3RpY3NVcmwpCi0gICAgICAgICAgICAgICAgfHwgIXRlc3RS
dW5uZXIuaXNTdGF0aXN0aWNzUmVnaXN0ZXJlZEFzU3VicmVzb3VyY2VVbmRlcihzdGF0aXN0aWNz
VXJsLCB0b3BGcmFtZU9yaWdpbjMpCi0gICAgICAgICAgICAgICAgfHwgIXRlc3RSdW5uZXIuaXNT
dGF0aXN0aWNzUmVnaXN0ZXJlZEFzUmVkaXJlY3RpbmdUbyhzdGF0aXN0aWNzVXJsLCB0b3BGcmFt
ZU9yaWdpbjQpKQotICAgICAgICAgICAgdGVzdEZhaWxlZCgiRmFpbGVkIHRvIHJlZ2lzdGVyIHN1
YlN0YXRpc3RpY3MuIik7Ci0KLSAgICAgICAgY29tcGxldGVUZXN0KCk7Ci0gICAgfQotCi0gICAg
aWYgKHdpbmRvdy50ZXN0UnVubmVyICYmIHdpbmRvdy5pbnRlcm5hbHMpIHsKLSAgICAgICAgdGVz
dFJ1bm5lci5zZXRVc2VJVFBEYXRhYmFzZSh0cnVlKTsKLSAgICAgICAgdGVzdFJ1bm5lci53YWl0
VW50aWxEb25lKCk7Ci0gICAgICAgIHNldEVuYWJsZUZlYXR1cmUodHJ1ZSwgcnVuVGVzdFJ1bm5l
clRlc3QpOwotICAgIH0KLTwvc2NyaXB0PgotPC9ib2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3JlbW92ZS13ZWJz
aXRlLWRhdGEtZm9yLW9yaWdpbi1kZWxldGVzLXRoaXJkLXBhcnR5LXNjcmlwdC1sb2Fkcy1kYXRh
YmFzZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0
YXRpc3RpY3MvcmVtb3ZlLXdlYnNpdGUtZGF0YS1mb3Itb3JpZ2luLWRlbGV0ZXMtdGhpcmQtcGFy
dHktc2NyaXB0LWxvYWRzLWRhdGFiYXNlLWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggYzkzZTg2NzIxNzI0MmMyYjY5OWU3Y2I5OTU3NDgxZGI1NDAxNDYxNS4uMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9o
dHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvcmVtb3ZlLXdlYnNpdGUtZGF0YS1mb3It
b3JpZ2luLWRlbGV0ZXMtdGhpcmQtcGFydHktc2NyaXB0LWxvYWRzLWRhdGFiYXNlLWV4cGVjdGVk
LnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDUgKzAsMCBAQAotUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQotCi1URVNUIENPTVBMRVRFCi1QQVNTIERvbWFpbiBJRCB3YXMgc3VjY2Vzc2Z1
bGx5IGRlbGV0ZWQgZnJvbSB0aGUgZGF0YWJhc2UuCi0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9yZW1vdmUtd2Vic2l0ZS1kYXRhLWZv
ci1vcmlnaW4tZGVsZXRlcy10aGlyZC1wYXJ0eS1zY3JpcHQtbG9hZHMtZGF0YWJhc2UuaHRtbCBi
L0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9yZW1vdmUtd2Vi
c2l0ZS1kYXRhLWZvci1vcmlnaW4tZGVsZXRlcy10aGlyZC1wYXJ0eS1zY3JpcHQtbG9hZHMtZGF0
YWJhc2UuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNzg0N2UxMGRjZGVhMTIy
NWEyMjVkZDU4MjkyZjI4ZTgyMmZlNjM2OC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRp
c3RpY3MvcmVtb3ZlLXdlYnNpdGUtZGF0YS1mb3Itb3JpZ2luLWRlbGV0ZXMtdGhpcmQtcGFydHkt
c2NyaXB0LWxvYWRzLWRhdGFiYXNlLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSw1NiArMCwwIEBA
Ci08IURPQ1RZUEUgaHRtbD4KLTxodG1sIGxhbmc9ImVuIj4KLTxoZWFkPgotICAgIDxtZXRhIGNo
YXJzZXQ9IlVURi04Ij4KLSAgICA8dGl0bGU+VGVzdHMgdGhhdCByZW1vdmFsIG9mIHdlYnNpdGUg
ZGF0YSBkZWxldGVzIElUUCBkYXRhPC90aXRsZT4KLSAgICA8c2NyaXB0IHNyYz0iL2pzLXRlc3Qt
cmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgotICAgIDxzY3JpcHQgc3JjPSJyZXNvdXJj
ZXMvdXRpbC5qcyI+PC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keSBvbmxvYWQ9InJ1blRlc3QoKSI+
Ci08c2NyaXB0PgotICAgIGNvbnN0IGhvc3QgPSAibG9jYWxob3N0IjsKLSAgICBjb25zdCB0aGly
ZFBhcnR5T3JpZ2luID0gImh0dHA6Ly9sb2NhbGhvc3Q6ODAwMCI7Ci0gICAgY29uc3QgdGhpcmRQ
YXJ0eUJhc2VVcmwgPSB0aGlyZFBhcnR5T3JpZ2luICsgIi9yZXNvdXJjZUxvYWRTdGF0aXN0aWNz
L3Jlc291cmNlcyI7Ci0KLSAgICBmdW5jdGlvbiBmaW5pc2hUZXN0KCkgewotICAgICAgICB0ZXN0
UnVubmVyLmNsZWFyU3RhdGlzdGljc0RhdGFGb3JEb21haW4oaG9zdCk7Ci0gICAgICAgIC8vIE11
c3QgdXNlIGRvbWFpbklEIHRvIGVuc3VyZSB0aGlzIHdhcyBwcm9wZXJseQotICAgICAgICAvLyBk
ZWxldGVkLCBvdGhlcndpc2UgdGhlIGxhY2sgb2YgcmVnaXN0cmFibGUgZG9tYWluIC0tPiBkb21h
aW5JRCBtYXBwaW5nCi0gICAgICAgIC8vIGNvdWxkIGNyZWF0ZSBhIGZhbHNlLXBvc2l0aXZlIHRl
c3QgcmVzdWx0IGV2ZW4gd2hlbiB0aGUgZG9tYWluSUQgcGVyc2lzdHMuCi0gICAgICAgIGlmICh0
ZXN0UnVubmVyLmRvZXNTdGF0aXN0aWNzRG9tYWluSURFeGlzdEluRGF0YWJhc2UoMSkpCi0gICAg
ICAgICAgICB0ZXN0RmFpbGVkKCJEb21haW4gSUQgd2FzIG5vdCBkZWxldGVkIGZyb20gdGhlIGRh
dGFiYXNlLiIpOwotICAgICAgICBlbHNlCi0gICAgICAgICAgICB0ZXN0UGFzc2VkKCJEb21haW4g
SUQgd2FzIHN1Y2Nlc3NmdWxseSBkZWxldGVkIGZyb20gdGhlIGRhdGFiYXNlLiIpCi0gICAgICAg
IHNldEVuYWJsZUZlYXR1cmUoZmFsc2UsIGZ1bmN0aW9uKCkgewotICAgICAgICAgICAgdGVzdFJ1
bm5lci5ub3RpZnlEb25lKCk7Ci0gICAgICAgIH0pOwotICAgIH0KLQotICAgIGZ1bmN0aW9uIHJ1
blRlc3QoKSB7Ci0gICAgICAgIHN3aXRjaCAoZG9jdW1lbnQubG9jYXRpb24uaGFzaCkgewotICAg
ICAgICAgICAgY2FzZSAiIjoKLSAgICAgICAgICAgICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIg
JiYgd2luZG93LmludGVybmFscykgewotICAgICAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLndh
aXRVbnRpbERvbmUoKTsKLSAgICAgICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5zZXRVc2VJVFBE
YXRhYmFzZSh0cnVlKTsKLSAgICAgICAgICAgICAgICAgICAgc2V0RW5hYmxlRmVhdHVyZSh0cnVl
LCBmdW5jdGlvbigpIHsKLSAgICAgICAgICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIuaW5zdGFs
bFN0YXRpc3RpY3NEaWRTY2FuRGF0YVJlY29yZHNDYWxsYmFjayhmaW5pc2hUZXN0KTsKLSAgICAg
ICAgICAgICAgICAgICAgICAgIGRvY3VtZW50LmxvY2F0aW9uLmhhc2ggPSAic3RlcDEiOwotICAg
ICAgICAgICAgICAgICAgICAgICAgcnVuVGVzdCgpOwotICAgICAgICAgICAgICAgICAgICB9KTsK
LSAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgICAgICBj
YXNlICIjc3RlcDEiOgotICAgICAgICAgICAgICAgIGRvY3VtZW50LmxvY2F0aW9uLmhhc2ggPSAi
c3RlcDIiOwotICAgICAgICAgICAgICAgIGxldCBzY3JpcHRFbGVtZW50ID0gZG9jdW1lbnQuY3Jl
YXRlRWxlbWVudCgic2NyaXB0Iik7Ci0gICAgICAgICAgICAgICAgc2NyaXB0RWxlbWVudC5vbmxv
YWQgPSBydW5UZXN0OwotICAgICAgICAgICAgICAgIHNjcmlwdEVsZW1lbnQuc3JjID0gdGhpcmRQ
YXJ0eUJhc2VVcmwgKyAiL2R1bW15LmpzP2R1bW15UGFyYW09IiArIE1hdGgucmFuZG9tKCk7Ci0g
ICAgICAgICAgICAgICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChzY3JpcHRFbGVtZW50KTsK
LSAgICAgICAgICAgICAgICBicmVhazsKLSAgICAgICAgICAgIGNhc2UgIiNzdGVwMiI6Ci0gICAg
ICAgICAgICAgICAgdGVzdFJ1bm5lci5zdGF0aXN0aWNzTm90aWZ5T2JzZXJ2ZXIoKTsKLSAgICAg
ICAgICAgICAgICBicmVhazsKLSAgICAgICAgfQotICAgIH0KLTwvc2NyaXB0PgotPC9ib2R5Pgot
PC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRT
dGF0aXN0aWNzL3JlbW92ZS13ZWJzaXRlLWRhdGEtZm9yLW9yaWdpbi1kZWxldGVzLXRoaXJkLXBh
cnR5LXNjcmlwdC1sb2Fkcy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jl
c291cmNlTG9hZFN0YXRpc3RpY3MvcmVtb3ZlLXdlYnNpdGUtZGF0YS1mb3Itb3JpZ2luLWRlbGV0
ZXMtdGhpcmQtcGFydHktc2NyaXB0LWxvYWRzLWV4cGVjdGVkLnR4dAppbmRleCAyMTQ0Njc1M2Vh
ZjE4OWFiYjYxMjcxNmQxOWZiODU3MzVmYTRjZWU2Li5lM2UzZmQ2MmE3NmU5OGNiOTA5YTQ2ZGM2
ZjM2OTQ1OWMyOGYxMDQ4IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291
cmNlTG9hZFN0YXRpc3RpY3MvcmVtb3ZlLXdlYnNpdGUtZGF0YS1mb3Itb3JpZ2luLWRlbGV0ZXMt
dGhpcmQtcGFydHktc2NyaXB0LWxvYWRzLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9o
dHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvcmVtb3ZlLXdlYnNpdGUtZGF0YS1mb3It
b3JpZ2luLWRlbGV0ZXMtdGhpcmQtcGFydHktc2NyaXB0LWxvYWRzLWV4cGVjdGVkLnR4dApAQCAt
OCw5ICs4LDcgQEAgUmVnaXN0cmFibGUgZG9tYWluOiAxMjcuMC4wLjEKICAgICBoYWRVc2VySW50
ZXJhY3Rpb246IE5vCiAgICAgbW9zdFJlY2VudFVzZXJJbnRlcmFjdGlvbjogLTEKICAgICBncmFu
ZGZhdGhlcmVkOiBObwotICAgIGdvdExpbmtEZWNvcmF0aW9uRnJvbVByZXZhbGVudFJlc291cmNl
OiBObworICAgIElzU2NoZWR1bGVkRm9yQWxsQnV0Q29va2llRGF0YVJlbW92YWw6IE5vCiAgICAg
aXNQcmV2YWxlbnRSZXNvdXJjZTogTm8KICAgICBpc1ZlcnlQcmV2YWxlbnRSZXNvdXJjZTogTm8K
ICAgICBkYXRhUmVjb3Jkc1JlbW92ZWQ6IDAKLSAgICBjYW52YXNSZWFkRGF0YTogTm8KLQpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3Nh
bmRib3hlZC1pZnJhbWUtcmVkaXJlY3QtaXAtdG8tbG9jYWxob3N0LXRvLWlwLWRhdGFiYXNlLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGlj
cy9zYW5kYm94ZWQtaWZyYW1lLXJlZGlyZWN0LWlwLXRvLWxvY2FsaG9zdC10by1pcC1kYXRhYmFz
ZS1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGI3YzE0MzhiMTg2
NDA2NDJhYTE2ZmMwNmI2OWQ4NDFmZGYzYmYxNmUuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRT
dGF0aXN0aWNzL3NhbmRib3hlZC1pZnJhbWUtcmVkaXJlY3QtaXAtdG8tbG9jYWxob3N0LXRvLWlw
LWRhdGFiYXNlLWV4cGVjdGVkLnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDEyICswLDAgQEAKLVRl
c3RzIHRoYXQgcmVkaXJlY3RzIGZvciBzYW5kYm94ZWQgaWZyYW1lcyBnZXQgY291bnRlZCBwcm9w
ZXJseS4KLQotT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNz
YWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgotCi0KLVBBU1MgdGVzdFJ1bm5lci5p
c1N0YXRpc3RpY3NSZWdpc3RlcmVkQXNTdWJGcmFtZVVuZGVyKCJodHRwOi8vbG9jYWxob3N0Iiwg
Imh0dHA6Ly8xMjcuMC4wLjEiKSBpcyB0cnVlCi1QQVNTIHRlc3RSdW5uZXIuaXNTdGF0aXN0aWNz
UmVnaXN0ZXJlZEFzUmVkaXJlY3RpbmdUbygiaHR0cDovL2xvY2FsaG9zdCIsICJodHRwOi8vMTI3
LjAuMC4xIikgaXMgdHJ1ZQotUEFTUyB0ZXN0UnVubmVyLmlzU3RhdGlzdGljc1JlZ2lzdGVyZWRB
c1JlZGlyZWN0aW5nVG8oImh0dHA6Ly8xMjcuMC4wLjEiLCAiaHR0cDovL2xvY2FsaG9zdCIpIGlz
IHRydWUKLVBBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKLQotVEVTVCBDT01QTEVURQot
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3Rp
Y3Mvc2FuZGJveGVkLWlmcmFtZS1yZWRpcmVjdC1pcC10by1sb2NhbGhvc3QtdG8taXAtZGF0YWJh
c2UuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9z
YW5kYm94ZWQtaWZyYW1lLXJlZGlyZWN0LWlwLXRvLWxvY2FsaG9zdC10by1pcC1kYXRhYmFzZS5o
dG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAyNTA3NDlkNDhjYTJmMDQzZmVhMmEz
YjMyY2VhMzJjNWM2NGQ5Nzk5Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwCi0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9z
YW5kYm94ZWQtaWZyYW1lLXJlZGlyZWN0LWlwLXRvLWxvY2FsaG9zdC10by1pcC1kYXRhYmFzZS5o
dG1sCisrKyAvZGV2L251bGwKQEAgLTEsNTQgKzAsMCBAQAotPCFET0NUWVBFIGh0bWw+Ci08aHRt
bD4KLTxoZWFkPgotICAgIDxzY3JpcHQgc3JjPSIvanMtdGVzdC1yZXNvdXJjZXMvanMtdGVzdC5q
cyI+PC9zY3JpcHQ+Ci0gICAgPHNjcmlwdCBzcmM9InJlc291cmNlcy91dGlsLmpzIj48L3Njcmlw
dD4KLSAgICA8c2NyaXB0PgotICAgICAgICBkZXNjcmlwdGlvbigiVGVzdHMgdGhhdCByZWRpcmVj
dHMgZm9yIHNhbmRib3hlZCBpZnJhbWVzIGdldCBjb3VudGVkIHByb3Blcmx5LiIpOwotICAgICAg
ICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKLSAgICAgICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIo
Im1lc3NhZ2UiLCByZWNlaXZlTWVzc2FnZSwgZmFsc2UpOwotCi0gICAgICAgIGZ1bmN0aW9uIGZp
bmlzaFRlc3QoKSB7Ci0gICAgICAgICAgICBzZXRFbmFibGVGZWF0dXJlKGZhbHNlLCBmaW5pc2hK
U1Rlc3QpOwotICAgICAgICB9Ci0KLSAgICAgICAgaWYgKHRlc3RSdW5uZXIpIHsKLSAgICAgICAg
ICAgIHRlc3RSdW5uZXIuc2V0VXNlSVRQRGF0YWJhc2UodHJ1ZSk7Ci0gICAgICAgICAgICBzZXRF
bmFibGVGZWF0dXJlKHRydWUsIGZ1bmN0aW9uKCkgewotICAgICAgICAgICAgICAgIHRlc3RSdW5u
ZXIuaW5zdGFsbFN0YXRpc3RpY3NEaWRTY2FuRGF0YVJlY29yZHNDYWxsYmFjayhjaGVja1N0YXRz
KTsKLSAgICAgICAgICAgIH0pOwotICAgICAgICB9Ci0KLSAgICAgICAgdmFyIGxhc3RQYWdlSW5S
ZWRpcmVjdENoYWluTG9hZGVkID0gZmFsc2U7Ci0gICAgICAgIHZhciBzdGF0c0NoZWNrZWQgPSBm
YWxzZTsKLQotICAgICAgICBmdW5jdGlvbiByZWNlaXZlTWVzc2FnZShldmVudCkgewotICAgICAg
ICAgICAgaWYgKGV2ZW50Lm9yaWdpbiA9PT0gIm51bGwiKSB7Ci0gICAgICAgICAgICAgICAgaWYg
KGV2ZW50LmRhdGEuaW5kZXhPZigiUEFTUyIpID09PSAtMSkKLSAgICAgICAgICAgICAgICAgICAg
dGVzdEZhaWxlZChldmVudC5kYXRhLnJlcGxhY2UoIkZBSUwgIiwgIiIpKTsKLSAgICAgICAgICAg
IH0gZWxzZQotICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoIlJlY2VpdmVkIGEgbWVzc2FnZSBm
cm9tIGFuIHVuZXhwZWN0ZWQgb3JpZ2luOiAiICsgZXZlbnQub3JpZ2luKTsKLQotICAgICAgICAg
ICAgbGFzdFBhZ2VJblJlZGlyZWN0Q2hhaW5Mb2FkZWQgPSB0cnVlOwotICAgICAgICAgICAgaWYg
KHN0YXRzQ2hlY2tlZCkKLSAgICAgICAgICAgICAgICBmaW5pc2hUZXN0KCk7Ci0gICAgICAgICAg
ICBlbHNlCi0gICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5zdGF0aXN0aWNzTm90aWZ5T2JzZXJ2
ZXIoKTsKLSAgICAgICAgfQotCi0gICAgICAgIGZ1bmN0aW9uIGNoZWNrU3RhdHMoKSB7Ci0gICAg
ICAgICAgICBzaG91bGRCZVRydWUoJ3Rlc3RSdW5uZXIuaXNTdGF0aXN0aWNzUmVnaXN0ZXJlZEFz
U3ViRnJhbWVVbmRlcigiaHR0cDovL2xvY2FsaG9zdCIsICJodHRwOi8vMTI3LjAuMC4xIiknKTsK
LSAgICAgICAgICAgIHNob3VsZEJlVHJ1ZSgndGVzdFJ1bm5lci5pc1N0YXRpc3RpY3NSZWdpc3Rl
cmVkQXNSZWRpcmVjdGluZ1RvKCJodHRwOi8vbG9jYWxob3N0IiwgImh0dHA6Ly8xMjcuMC4wLjEi
KScpOwotICAgICAgICAgICAgc2hvdWxkQmVUcnVlKCd0ZXN0UnVubmVyLmlzU3RhdGlzdGljc1Jl
Z2lzdGVyZWRBc1JlZGlyZWN0aW5nVG8oImh0dHA6Ly8xMjcuMC4wLjEiLCAiaHR0cDovL2xvY2Fs
aG9zdCIpJyk7Ci0KLSAgICAgICAgICAgIHN0YXRzQ2hlY2tlZCA9IHRydWU7Ci0gICAgICAgICAg
ICBpZiAobGFzdFBhZ2VJblJlZGlyZWN0Q2hhaW5Mb2FkZWQpCi0gICAgICAgICAgICAgICAgZmlu
aXNoVGVzdCgpOwotICAgICAgICB9Ci0gICAgPC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keT4KLTxp
ZnJhbWUgc2FuZGJveD0iYWxsb3ctc2NyaXB0cyIgc3JjPSJodHRwOi8vMTI3LjAuMC4xOjgwMDAv
cmVzb3VyY2VMb2FkU3RhdGlzdGljcy9yZXNvdXJjZXMvcmVkaXJlY3QucGhwLz9yZWRpcmVjdFRv
PWh0dHA6Ly9sb2NhbGhvc3Q6ODAwMC9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3Jlc291cmNlcy9y
ZWRpcmVjdC5waHAvP3JlZGlyZWN0VG89aHR0cDovLzEyNy4wLjAuMTo4MDAwL3Jlc291cmNlTG9h
ZFN0YXRpc3RpY3MvcmVzb3VyY2VzL2lmcmFtZS1yZXBvcnQtYmFjay1sb2FkZWQuaHRtbCI+Ci08
L2lmcmFtZT4KLTwvYm9keT4KLTwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAv
dGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9zYW5kYm94ZWQtaWZyYW1lLXJlZGlyZWN0LWxv
Y2FsaG9zdC10by1pcC10by1sb2NhbGhvc3QtZGF0YWJhc2UtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3NhbmRib3hlZC1pZnJhbWUt
cmVkaXJlY3QtbG9jYWxob3N0LXRvLWlwLXRvLWxvY2FsaG9zdC1kYXRhYmFzZS1leHBlY3RlZC50
eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGI3YzE0MzhiMTg2NDA2NDJhYTE2ZmMw
NmI2OWQ4NDFmZGYzYmYxNmUuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3Nh
bmRib3hlZC1pZnJhbWUtcmVkaXJlY3QtbG9jYWxob3N0LXRvLWlwLXRvLWxvY2FsaG9zdC1kYXRh
YmFzZS1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSwxMiArMCwwIEBACi1UZXN0cyB0
aGF0IHJlZGlyZWN0cyBmb3Igc2FuZGJveGVkIGlmcmFtZXMgZ2V0IGNvdW50ZWQgcHJvcGVybHku
Ci0KLU9uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMs
IGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KLQotCi1QQVNTIHRlc3RSdW5uZXIuaXNTdGF0
aXN0aWNzUmVnaXN0ZXJlZEFzU3ViRnJhbWVVbmRlcigiaHR0cDovL2xvY2FsaG9zdCIsICJodHRw
Oi8vMTI3LjAuMC4xIikgaXMgdHJ1ZQotUEFTUyB0ZXN0UnVubmVyLmlzU3RhdGlzdGljc1JlZ2lz
dGVyZWRBc1JlZGlyZWN0aW5nVG8oImh0dHA6Ly9sb2NhbGhvc3QiLCAiaHR0cDovLzEyNy4wLjAu
MSIpIGlzIHRydWUKLVBBU1MgdGVzdFJ1bm5lci5pc1N0YXRpc3RpY3NSZWdpc3RlcmVkQXNSZWRp
cmVjdGluZ1RvKCJodHRwOi8vMTI3LjAuMC4xIiwgImh0dHA6Ly9sb2NhbGhvc3QiKSBpcyB0cnVl
Ci1QQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCi0KLVRFU1QgQ09NUExFVEUKLQpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3Nh
bmRib3hlZC1pZnJhbWUtcmVkaXJlY3QtbG9jYWxob3N0LXRvLWlwLXRvLWxvY2FsaG9zdC1kYXRh
YmFzZS5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNz
L3NhbmRib3hlZC1pZnJhbWUtcmVkaXJlY3QtbG9jYWxob3N0LXRvLWlwLXRvLWxvY2FsaG9zdC1k
YXRhYmFzZS5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMmI1ZjZhNzk1Yzdj
ZmI0NjY1MDQ0YzBjMTRlYjhhNDRhNGQ5YmQ3Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3Rh
dGlzdGljcy9zYW5kYm94ZWQtaWZyYW1lLXJlZGlyZWN0LWxvY2FsaG9zdC10by1pcC10by1sb2Nh
bGhvc3QtZGF0YWJhc2UuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDU0ICswLDAgQEAKLTwhRE9D
VFlQRSBodG1sPgotPGh0bWw+Ci08aGVhZD4KLSAgICA8c2NyaXB0IHNyYz0iL2pzLXRlc3QtcmVz
b3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgotICAgIDxzY3JpcHQgc3JjPSJyZXNvdXJjZXMv
dXRpbC5qcyI+PC9zY3JpcHQ+Ci0gICAgPHNjcmlwdD4KLSAgICAgICAgZGVzY3JpcHRpb24oIlRl
c3RzIHRoYXQgcmVkaXJlY3RzIGZvciBzYW5kYm94ZWQgaWZyYW1lcyBnZXQgY291bnRlZCBwcm9w
ZXJseS4iKTsKLSAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7Ci0gICAgICAgIHdpbmRvdy5h
ZGRFdmVudExpc3RlbmVyKCJtZXNzYWdlIiwgcmVjZWl2ZU1lc3NhZ2UsIGZhbHNlKTsKLQotICAg
ICAgICBmdW5jdGlvbiBmaW5pc2hUZXN0KCkgewotICAgICAgICAgICAgc2V0RW5hYmxlRmVhdHVy
ZShmYWxzZSwgZmluaXNoSlNUZXN0KTsKLSAgICAgICAgfQotCi0gICAgICAgIGlmICh0ZXN0UnVu
bmVyKSB7Ci0gICAgICAgICAgICB0ZXN0UnVubmVyLnNldFVzZUlUUERhdGFiYXNlKHRydWUpOwot
ICAgICAgICAgICAgc2V0RW5hYmxlRmVhdHVyZSh0cnVlLCBmdW5jdGlvbigpIHsKLSAgICAgICAg
ICAgICAgICB0ZXN0UnVubmVyLmluc3RhbGxTdGF0aXN0aWNzRGlkU2NhbkRhdGFSZWNvcmRzQ2Fs
bGJhY2soY2hlY2tTdGF0cyk7Ci0gICAgICAgICAgICB9KTsKLSAgICAgICAgfQotCi0gICAgICAg
IHZhciBsYXN0UGFnZUluUmVkaXJlY3RDaGFpbkxvYWRlZCA9IGZhbHNlOwotICAgICAgICB2YXIg
c3RhdHNDaGVja2VkID0gZmFsc2U7Ci0KLSAgICAgICAgZnVuY3Rpb24gcmVjZWl2ZU1lc3NhZ2Uo
ZXZlbnQpIHsKLSAgICAgICAgICAgIGlmIChldmVudC5vcmlnaW4gPT09ICJudWxsIikgewotICAg
ICAgICAgICAgICAgIGlmIChldmVudC5kYXRhLmluZGV4T2YoIlBBU1MiKSA9PT0gLTEpCi0gICAg
ICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoZXZlbnQuZGF0YS5yZXBsYWNlKCJGQUlMICIsICIi
KSk7Ci0gICAgICAgICAgICB9IGVsc2UKLSAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKCJSZWNl
aXZlZCBhIG1lc3NhZ2UgZnJvbSBhbiB1bmV4cGVjdGVkIG9yaWdpbjogIiArIGV2ZW50Lm9yaWdp
bik7Ci0KLSAgICAgICAgICAgIGxhc3RQYWdlSW5SZWRpcmVjdENoYWluTG9hZGVkID0gdHJ1ZTsK
LSAgICAgICAgICAgIGlmIChzdGF0c0NoZWNrZWQpCi0gICAgICAgICAgICAgICAgZmluaXNoVGVz
dCgpOwotICAgICAgICAgICAgZWxzZQotICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIuc3RhdGlz
dGljc05vdGlmeU9ic2VydmVyKCk7Ci0gICAgICAgIH0KLQotICAgICAgICBmdW5jdGlvbiBjaGVj
a1N0YXRzKCkgewotICAgICAgICAgICAgc2hvdWxkQmVUcnVlKCd0ZXN0UnVubmVyLmlzU3RhdGlz
dGljc1JlZ2lzdGVyZWRBc1N1YkZyYW1lVW5kZXIoImh0dHA6Ly9sb2NhbGhvc3QiLCAiaHR0cDov
LzEyNy4wLjAuMSIpJyk7Ci0gICAgICAgICAgICBzaG91bGRCZVRydWUoJ3Rlc3RSdW5uZXIuaXNT
dGF0aXN0aWNzUmVnaXN0ZXJlZEFzUmVkaXJlY3RpbmdUbygiaHR0cDovL2xvY2FsaG9zdCIsICJo
dHRwOi8vMTI3LjAuMC4xIiknKTsKLSAgICAgICAgICAgIHNob3VsZEJlVHJ1ZSgndGVzdFJ1bm5l
ci5pc1N0YXRpc3RpY3NSZWdpc3RlcmVkQXNSZWRpcmVjdGluZ1RvKCJodHRwOi8vMTI3LjAuMC4x
IiwgImh0dHA6Ly9sb2NhbGhvc3QiKScpOwotCi0gICAgICAgICAgICBzdGF0c0NoZWNrZWQgPSB0
cnVlOwotICAgICAgICAgICAgaWYgKGxhc3RQYWdlSW5SZWRpcmVjdENoYWluTG9hZGVkKQotICAg
ICAgICAgICAgICAgIGZpbmlzaFRlc3QoKTsKLSAgICAgICAgfQotICAgIDwvc2NyaXB0PgotPC9o
ZWFkPgotPGJvZHk+Ci08aWZyYW1lIHNhbmRib3g9ImFsbG93LXNjcmlwdHMiIHNyYz0iaHR0cDov
L2xvY2FsaG9zdDo4MDAwL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvcmVzb3VyY2VzL3JlZGlyZWN0
LnBocC8/cmVkaXJlY3RUbz1odHRwOi8vMTI3LjAuMC4xOjgwMDAvcmVzb3VyY2VMb2FkU3RhdGlz
dGljcy9yZXNvdXJjZXMvcmVkaXJlY3QucGhwLz9yZWRpcmVjdFRvPWh0dHA6Ly9sb2NhbGhvc3Q6
ODAwMC9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3Jlc291cmNlcy9pZnJhbWUtcmVwb3J0LWJhY2st
bG9hZGVkLmh0bWwiPgotPC9pZnJhbWU+Ci08L2JvZHk+Ci08L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3Mvc2FuZGJveGVkLW5l
c3RpbmctaWZyYW1lLXdpdGgtbm9uLXNhbmRib3hlZC1pZnJhbWUtcmVkaXJlY3QtaXAtdG8tbG9j
YWxob3N0LXRvLWlwLWRhdGFiYXNlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvdGVz
dHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9zYW5kYm94ZWQtbmVzdGluZy1pZnJhbWUtd2l0aC1u
b24tc2FuZGJveGVkLWlmcmFtZS1yZWRpcmVjdC1pcC10by1sb2NhbGhvc3QtdG8taXAtZGF0YWJh
c2UtZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAyMzY1OGNkMzQz
ZjU1NmUwYzM0NDc1ZWY5ZWY0NWM2MjBkNGQ0MjdlLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2Fk
U3RhdGlzdGljcy9zYW5kYm94ZWQtbmVzdGluZy1pZnJhbWUtd2l0aC1ub24tc2FuZGJveGVkLWlm
cmFtZS1yZWRpcmVjdC1pcC10by1sb2NhbGhvc3QtdG8taXAtZGF0YWJhc2UtZXhwZWN0ZWQudHh0
CisrKyAvZGV2L251bGwKQEAgLTEsMTIgKzAsMCBAQAotVGVzdHMgdGhhdCByZWRpcmVjdHMgZm9y
IGEgbm9uLXNhbmRib3hlZCBpZnJhbWUgbmVzdGVkIGluIGEgc2FuZGJveGVkIGlmcmFtZSBnZXQg
Y291bnRlZCBwcm9wZXJseS4KLQotT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9m
ICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgotCi0KLVBBU1Mg
dGVzdFJ1bm5lci5pc1N0YXRpc3RpY3NSZWdpc3RlcmVkQXNTdWJGcmFtZVVuZGVyKCJodHRwOi8v
bG9jYWxob3N0IiwgImh0dHA6Ly8xMjcuMC4wLjEiKSBpcyB0cnVlCi1QQVNTIHRlc3RSdW5uZXIu
aXNTdGF0aXN0aWNzUmVnaXN0ZXJlZEFzUmVkaXJlY3RpbmdUbygiaHR0cDovL2xvY2FsaG9zdCIs
ICJodHRwOi8vMTI3LjAuMC4xIikgaXMgdHJ1ZQotUEFTUyB0ZXN0UnVubmVyLmlzU3RhdGlzdGlj
c1JlZ2lzdGVyZWRBc1JlZGlyZWN0aW5nVG8oImh0dHA6Ly8xMjcuMC4wLjEiLCAiaHR0cDovL2xv
Y2FsaG9zdCIpIGlzIHRydWUKLVBBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKLQotVEVT
VCBDT01QTEVURQotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNl
TG9hZFN0YXRpc3RpY3Mvc2FuZGJveGVkLW5lc3RpbmctaWZyYW1lLXdpdGgtbm9uLXNhbmRib3hl
ZC1pZnJhbWUtcmVkaXJlY3QtaXAtdG8tbG9jYWxob3N0LXRvLWlwLWRhdGFiYXNlLmh0bWwgYi9M
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3Mvc2FuZGJveGVkLW5l
c3RpbmctaWZyYW1lLXdpdGgtbm9uLXNhbmRib3hlZC1pZnJhbWUtcmVkaXJlY3QtaXAtdG8tbG9j
YWxob3N0LXRvLWlwLWRhdGFiYXNlLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDYwYjhhZTlkYjI5OWQyMTMzZjVhNDJjZWJlMzA4ZDQxNzViNzJhZjUuLjAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9y
ZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3NhbmRib3hlZC1uZXN0aW5nLWlmcmFtZS13aXRoLW5vbi1z
YW5kYm94ZWQtaWZyYW1lLXJlZGlyZWN0LWlwLXRvLWxvY2FsaG9zdC10by1pcC1kYXRhYmFzZS5o
dG1sCisrKyAvZGV2L251bGwKQEAgLTEsNTQgKzAsMCBAQAotPCFET0NUWVBFIGh0bWw+Ci08aHRt
bD4KLTxoZWFkPgotICAgIDxzY3JpcHQgc3JjPSIvanMtdGVzdC1yZXNvdXJjZXMvanMtdGVzdC5q
cyI+PC9zY3JpcHQ+Ci0gICAgPHNjcmlwdCBzcmM9InJlc291cmNlcy91dGlsLmpzIj48L3Njcmlw
dD4KLSAgICA8c2NyaXB0PgotICAgICAgICBkZXNjcmlwdGlvbigiVGVzdHMgdGhhdCByZWRpcmVj
dHMgZm9yIGEgbm9uLXNhbmRib3hlZCBpZnJhbWUgbmVzdGVkIGluIGEgc2FuZGJveGVkIGlmcmFt
ZSBnZXQgY291bnRlZCBwcm9wZXJseS4iKTsKLSAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7
Ci0gICAgICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJtZXNzYWdlIiwgcmVjZWl2ZU1lc3Nh
Z2UsIGZhbHNlKTsKLQotICAgICAgICBmdW5jdGlvbiBmaW5pc2hUZXN0KCkgewotICAgICAgICAg
ICAgc2V0RW5hYmxlRmVhdHVyZShmYWxzZSwgZmluaXNoSlNUZXN0KTsKLSAgICAgICAgfQotCi0g
ICAgICAgIGlmICh0ZXN0UnVubmVyKSB7Ci0gICAgICAgICAgICB0ZXN0UnVubmVyLnNldFVzZUlU
UERhdGFiYXNlKHRydWUpOwotICAgICAgICAgICAgc2V0RW5hYmxlRmVhdHVyZSh0cnVlLCBmdW5j
dGlvbigpIHsKLSAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLmluc3RhbGxTdGF0aXN0aWNzRGlk
U2NhbkRhdGFSZWNvcmRzQ2FsbGJhY2soY2hlY2tTdGF0cyk7Ci0gICAgICAgICAgICB9KTsKLSAg
ICAgICAgfQotCi0gICAgICAgIHZhciBsYXN0UGFnZUluUmVkaXJlY3RDaGFpbkxvYWRlZCA9IGZh
bHNlOwotICAgICAgICB2YXIgc3RhdHNDaGVja2VkID0gZmFsc2U7Ci0KLSAgICAgICAgZnVuY3Rp
b24gcmVjZWl2ZU1lc3NhZ2UoZXZlbnQpIHsKLSAgICAgICAgICAgIGlmIChldmVudC5vcmlnaW4g
PT09ICJudWxsIikgewotICAgICAgICAgICAgICAgIGlmIChldmVudC5kYXRhLmluZGV4T2YoIlBB
U1MiKSA9PT0gLTEpCi0gICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoZXZlbnQuZGF0YS5y
ZXBsYWNlKCJGQUlMICIsICIiKSk7Ci0gICAgICAgICAgICB9IGVsc2UKLSAgICAgICAgICAgICAg
ICB0ZXN0RmFpbGVkKCJSZWNlaXZlZCBhIG1lc3NhZ2UgZnJvbSBhbiB1bmV4cGVjdGVkIG9yaWdp
bjogIiArIGV2ZW50Lm9yaWdpbik7Ci0KLSAgICAgICAgICAgIGxhc3RQYWdlSW5SZWRpcmVjdENo
YWluTG9hZGVkID0gdHJ1ZTsKLSAgICAgICAgICAgIGlmIChzdGF0c0NoZWNrZWQpCi0gICAgICAg
ICAgICAgICAgZmluaXNoVGVzdCgpOwotICAgICAgICAgICAgZWxzZQotICAgICAgICAgICAgICAg
IHRlc3RSdW5uZXIuc3RhdGlzdGljc05vdGlmeU9ic2VydmVyKCk7Ci0gICAgICAgIH0KLQotICAg
ICAgICBmdW5jdGlvbiBjaGVja1N0YXRzKCkgewotICAgICAgICAgICAgc2hvdWxkQmVUcnVlKCd0
ZXN0UnVubmVyLmlzU3RhdGlzdGljc1JlZ2lzdGVyZWRBc1N1YkZyYW1lVW5kZXIoImh0dHA6Ly9s
b2NhbGhvc3QiLCAiaHR0cDovLzEyNy4wLjAuMSIpJyk7Ci0gICAgICAgICAgICBzaG91bGRCZVRy
dWUoJ3Rlc3RSdW5uZXIuaXNTdGF0aXN0aWNzUmVnaXN0ZXJlZEFzUmVkaXJlY3RpbmdUbygiaHR0
cDovL2xvY2FsaG9zdCIsICJodHRwOi8vMTI3LjAuMC4xIiknKTsKLSAgICAgICAgICAgIHNob3Vs
ZEJlVHJ1ZSgndGVzdFJ1bm5lci5pc1N0YXRpc3RpY3NSZWdpc3RlcmVkQXNSZWRpcmVjdGluZ1Rv
KCJodHRwOi8vMTI3LjAuMC4xIiwgImh0dHA6Ly9sb2NhbGhvc3QiKScpOwotCi0gICAgICAgICAg
ICBzdGF0c0NoZWNrZWQgPSB0cnVlOwotICAgICAgICAgICAgaWYgKGxhc3RQYWdlSW5SZWRpcmVj
dENoYWluTG9hZGVkKQotICAgICAgICAgICAgICAgIGZpbmlzaFRlc3QoKTsKLSAgICAgICAgfQot
ICAgIDwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHk+Ci08aWZyYW1lIHNhbmRib3g9ImFsbG93LXNj
cmlwdHMiIHNyYz0iaHR0cDovLzEyNy4wLjAuMTo4MDAwL3Jlc291cmNlTG9hZFN0YXRpc3RpY3Mv
cmVzb3VyY2VzL3BhZ2Utd2l0aC1ub24tc2FuZGJveGVkLWlmcmFtZS1yZWRpcmVjdC1pcC10by1s
b2NhbGhvc3QtdG8taXAuaHRtbCI+Ci08L2lmcmFtZT4KLTwvYm9keT4KLTwvaHRtbD4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9zYW5k
Ym94ZWQtbmVzdGluZy1pZnJhbWUtd2l0aC1ub24tc2FuZGJveGVkLWlmcmFtZS1yZWRpcmVjdC1s
b2NhbGhvc3QtdG8taXAtdG8tbG9jYWxob3N0LWRhdGFiYXNlLWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9zYW5kYm94ZWQtbmVzdGlu
Zy1pZnJhbWUtd2l0aC1ub24tc2FuZGJveGVkLWlmcmFtZS1yZWRpcmVjdC1sb2NhbGhvc3QtdG8t
aXAtdG8tbG9jYWxob3N0LWRhdGFiYXNlLWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMjM2NThjZDM0M2Y1NTZlMGMzNDQ3NWVmOWVmNDVjNjIwZDRkNDI3ZS4uMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9o
dHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3Mvc2FuZGJveGVkLW5lc3RpbmctaWZyYW1l
LXdpdGgtbm9uLXNhbmRib3hlZC1pZnJhbWUtcmVkaXJlY3QtbG9jYWxob3N0LXRvLWlwLXRvLWxv
Y2FsaG9zdC1kYXRhYmFzZS1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSwxMiArMCww
IEBACi1UZXN0cyB0aGF0IHJlZGlyZWN0cyBmb3IgYSBub24tc2FuZGJveGVkIGlmcmFtZSBuZXN0
ZWQgaW4gYSBzYW5kYm94ZWQgaWZyYW1lIGdldCBjb3VudGVkIHByb3Blcmx5LgotCi1PbiBzdWNj
ZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBi
eSAiVEVTVCBDT01QTEVURSIuCi0KLQotUEFTUyB0ZXN0UnVubmVyLmlzU3RhdGlzdGljc1JlZ2lz
dGVyZWRBc1N1YkZyYW1lVW5kZXIoImh0dHA6Ly9sb2NhbGhvc3QiLCAiaHR0cDovLzEyNy4wLjAu
MSIpIGlzIHRydWUKLVBBU1MgdGVzdFJ1bm5lci5pc1N0YXRpc3RpY3NSZWdpc3RlcmVkQXNSZWRp
cmVjdGluZ1RvKCJodHRwOi8vbG9jYWxob3N0IiwgImh0dHA6Ly8xMjcuMC4wLjEiKSBpcyB0cnVl
Ci1QQVNTIHRlc3RSdW5uZXIuaXNTdGF0aXN0aWNzUmVnaXN0ZXJlZEFzUmVkaXJlY3RpbmdUbygi
aHR0cDovLzEyNy4wLjAuMSIsICJodHRwOi8vbG9jYWxob3N0IikgaXMgdHJ1ZQotUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQotCi1URVNUIENPTVBMRVRFCi0KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9zYW5kYm94ZWQtbmVz
dGluZy1pZnJhbWUtd2l0aC1ub24tc2FuZGJveGVkLWlmcmFtZS1yZWRpcmVjdC1sb2NhbGhvc3Qt
dG8taXAtdG8tbG9jYWxob3N0LWRhdGFiYXNlLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L3Jlc291cmNlTG9hZFN0YXRpc3RpY3Mvc2FuZGJveGVkLW5lc3RpbmctaWZyYW1lLXdpdGgtbm9u
LXNhbmRib3hlZC1pZnJhbWUtcmVkaXJlY3QtbG9jYWxob3N0LXRvLWlwLXRvLWxvY2FsaG9zdC1k
YXRhYmFzZS5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA0YTQ5NjRmN2M0MjUx
ZjFiZDUwZDRhMzg3Y2FhZDViNTkxMTcwMTYwLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3Rh
dGlzdGljcy9zYW5kYm94ZWQtbmVzdGluZy1pZnJhbWUtd2l0aC1ub24tc2FuZGJveGVkLWlmcmFt
ZS1yZWRpcmVjdC1sb2NhbGhvc3QtdG8taXAtdG8tbG9jYWxob3N0LWRhdGFiYXNlLmh0bWwKKysr
IC9kZXYvbnVsbApAQCAtMSw1NCArMCwwIEBACi08IURPQ1RZUEUgaHRtbD4KLTxodG1sPgotPGhl
YWQ+Ci0gICAgPHNjcmlwdCBzcmM9Ii9qcy10ZXN0LXJlc291cmNlcy9qcy10ZXN0LmpzIj48L3Nj
cmlwdD4KLSAgICA8c2NyaXB0IHNyYz0icmVzb3VyY2VzL3V0aWwuanMiPjwvc2NyaXB0PgotICAg
IDxzY3JpcHQ+Ci0gICAgICAgIGRlc2NyaXB0aW9uKCJUZXN0cyB0aGF0IHJlZGlyZWN0cyBmb3Ig
YSBub24tc2FuZGJveGVkIGlmcmFtZSBuZXN0ZWQgaW4gYSBzYW5kYm94ZWQgaWZyYW1lIGdldCBj
b3VudGVkIHByb3Blcmx5LiIpOwotICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKLSAgICAg
ICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoIm1lc3NhZ2UiLCByZWNlaXZlTWVzc2FnZSwgZmFs
c2UpOwotCi0gICAgICAgIGZ1bmN0aW9uIGZpbmlzaFRlc3QoKSB7Ci0gICAgICAgICAgICBzZXRF
bmFibGVGZWF0dXJlKGZhbHNlLCBmaW5pc2hKU1Rlc3QpOwotICAgICAgICB9Ci0KLSAgICAgICAg
aWYgKHRlc3RSdW5uZXIpIHsKLSAgICAgICAgICAgIHRlc3RSdW5uZXIuc2V0VXNlSVRQRGF0YWJh
c2UodHJ1ZSk7Ci0gICAgICAgICAgICBzZXRFbmFibGVGZWF0dXJlKHRydWUsIGZ1bmN0aW9uKCkg
ewotICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIuaW5zdGFsbFN0YXRpc3RpY3NEaWRTY2FuRGF0
YVJlY29yZHNDYWxsYmFjayhjaGVja1N0YXRzKTsKLSAgICAgICAgICAgIH0pOwotICAgICAgICB9
Ci0KLSAgICAgICAgdmFyIGxhc3RQYWdlSW5SZWRpcmVjdENoYWluTG9hZGVkID0gZmFsc2U7Ci0g
ICAgICAgIHZhciBzdGF0c0NoZWNrZWQgPSBmYWxzZTsKLQotICAgICAgICBmdW5jdGlvbiByZWNl
aXZlTWVzc2FnZShldmVudCkgewotICAgICAgICAgICAgaWYgKGV2ZW50Lm9yaWdpbiA9PT0gIm51
bGwiKSB7Ci0gICAgICAgICAgICAgICAgaWYgKGV2ZW50LmRhdGEuaW5kZXhPZigiUEFTUyIpID09
PSAtMSkKLSAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChldmVudC5kYXRhLnJlcGxhY2Uo
IkZBSUwgIiwgIiIpKTsKLSAgICAgICAgICAgIH0gZWxzZQotICAgICAgICAgICAgICAgIHRlc3RG
YWlsZWQoIlJlY2VpdmVkIGEgbWVzc2FnZSBmcm9tIGFuIHVuZXhwZWN0ZWQgb3JpZ2luOiAiICsg
ZXZlbnQub3JpZ2luKTsKLQotICAgICAgICAgICAgbGFzdFBhZ2VJblJlZGlyZWN0Q2hhaW5Mb2Fk
ZWQgPSB0cnVlOwotICAgICAgICAgICAgaWYgKHN0YXRzQ2hlY2tlZCkKLSAgICAgICAgICAgICAg
ICBmaW5pc2hUZXN0KCk7Ci0gICAgICAgICAgICBlbHNlCi0gICAgICAgICAgICAgICAgdGVzdFJ1
bm5lci5zdGF0aXN0aWNzTm90aWZ5T2JzZXJ2ZXIoKTsKLSAgICAgICAgfQotCi0gICAgICAgIGZ1
bmN0aW9uIGNoZWNrU3RhdHMoKSB7Ci0gICAgICAgICAgICBzaG91bGRCZVRydWUoJ3Rlc3RSdW5u
ZXIuaXNTdGF0aXN0aWNzUmVnaXN0ZXJlZEFzU3ViRnJhbWVVbmRlcigiaHR0cDovL2xvY2FsaG9z
dCIsICJodHRwOi8vMTI3LjAuMC4xIiknKTsKLSAgICAgICAgICAgIHNob3VsZEJlVHJ1ZSgndGVz
dFJ1bm5lci5pc1N0YXRpc3RpY3NSZWdpc3RlcmVkQXNSZWRpcmVjdGluZ1RvKCJodHRwOi8vbG9j
YWxob3N0IiwgImh0dHA6Ly8xMjcuMC4wLjEiKScpOwotICAgICAgICAgICAgc2hvdWxkQmVUcnVl
KCd0ZXN0UnVubmVyLmlzU3RhdGlzdGljc1JlZ2lzdGVyZWRBc1JlZGlyZWN0aW5nVG8oImh0dHA6
Ly8xMjcuMC4wLjEiLCAiaHR0cDovL2xvY2FsaG9zdCIpJyk7Ci0KLSAgICAgICAgICAgIHN0YXRz
Q2hlY2tlZCA9IHRydWU7Ci0gICAgICAgICAgICBpZiAobGFzdFBhZ2VJblJlZGlyZWN0Q2hhaW5M
b2FkZWQpCi0gICAgICAgICAgICAgICAgZmluaXNoVGVzdCgpOwotICAgICAgICB9Ci0gICAgPC9z
Y3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keT4KLTxpZnJhbWUgc2FuZGJveD0iYWxsb3ctc2NyaXB0cyIg
c3JjPSJodHRwOi8vMTI3LjAuMC4xOjgwMDAvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9yZXNvdXJj
ZXMvcGFnZS13aXRoLW5vbi1zYW5kYm94ZWQtaWZyYW1lLXJlZGlyZWN0LWxvY2FsaG9zdC10by1p
cC10by1sb2NhbGhvc3QuaHRtbCI+Ci08L2lmcmFtZT4KLTwvYm9keT4KLTwvaHRtbD4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9zYW5k
Ym94ZWQtbmVzdGluZy1pZnJhbWUtd2l0aC1zYW5kYm94ZWQtaWZyYW1lLXJlZGlyZWN0LWlwLXRv
LWxvY2FsaG9zdC10by1pcC1kYXRhYmFzZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3Mvc2FuZGJveGVkLW5lc3RpbmctaWZyYW1lLXdp
dGgtc2FuZGJveGVkLWlmcmFtZS1yZWRpcmVjdC1pcC10by1sb2NhbGhvc3QtdG8taXAtZGF0YWJh
c2UtZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA3MTVjODVlYjQ3
ZTBmMDg0MTZlNjFmZDAxNWZkN2FlM2NiODY2YjY5Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2Fk
U3RhdGlzdGljcy9zYW5kYm94ZWQtbmVzdGluZy1pZnJhbWUtd2l0aC1zYW5kYm94ZWQtaWZyYW1l
LXJlZGlyZWN0LWlwLXRvLWxvY2FsaG9zdC10by1pcC1kYXRhYmFzZS1leHBlY3RlZC50eHQKKysr
IC9kZXYvbnVsbApAQCAtMSwxMiArMCwwIEBACi1UZXN0cyB0aGF0IHJlZGlyZWN0cyBmb3IgYSBz
YW5kYm94ZWQgaWZyYW1lIG5lc3RlZCBpbiBhIG5vbi1zYW5kYm94ZWQgaWZyYW1lIGdldCBjb3Vu
dGVkIHByb3Blcmx5LgotCi1PbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBB
U1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCi0KLQotUEFTUyB0ZXN0
UnVubmVyLmlzU3RhdGlzdGljc1JlZ2lzdGVyZWRBc1N1YkZyYW1lVW5kZXIoImh0dHA6Ly9sb2Nh
bGhvc3QiLCAiaHR0cDovLzEyNy4wLjAuMSIpIGlzIHRydWUKLVBBU1MgdGVzdFJ1bm5lci5pc1N0
YXRpc3RpY3NSZWdpc3RlcmVkQXNSZWRpcmVjdGluZ1RvKCJodHRwOi8vbG9jYWxob3N0IiwgImh0
dHA6Ly8xMjcuMC4wLjEiKSBpcyB0cnVlCi1QQVNTIHRlc3RSdW5uZXIuaXNTdGF0aXN0aWNzUmVn
aXN0ZXJlZEFzUmVkaXJlY3RpbmdUbygiaHR0cDovLzEyNy4wLjAuMSIsICJodHRwOi8vbG9jYWxo
b3N0IikgaXMgdHJ1ZQotUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQotCi1URVNUIENP
TVBMRVRFCi0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2Fk
U3RhdGlzdGljcy9zYW5kYm94ZWQtbmVzdGluZy1pZnJhbWUtd2l0aC1zYW5kYm94ZWQtaWZyYW1l
LXJlZGlyZWN0LWlwLXRvLWxvY2FsaG9zdC10by1pcC1kYXRhYmFzZS5odG1sIGIvTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3NhbmRib3hlZC1uZXN0aW5nLWlm
cmFtZS13aXRoLXNhbmRib3hlZC1pZnJhbWUtcmVkaXJlY3QtaXAtdG8tbG9jYWxob3N0LXRvLWlw
LWRhdGFiYXNlLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDVlZjI5YTY4YmIx
ZWZlNGM2YTljY2U5NzYyNDQwOThhNWNjNzg3MmQuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRT
dGF0aXN0aWNzL3NhbmRib3hlZC1uZXN0aW5nLWlmcmFtZS13aXRoLXNhbmRib3hlZC1pZnJhbWUt
cmVkaXJlY3QtaXAtdG8tbG9jYWxob3N0LXRvLWlwLWRhdGFiYXNlLmh0bWwKKysrIC9kZXYvbnVs
bApAQCAtMSw1NCArMCwwIEBACi08IURPQ1RZUEUgaHRtbD4KLTxodG1sPgotPGhlYWQ+Ci0gICAg
PHNjcmlwdCBzcmM9Ii9qcy10ZXN0LXJlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KLSAg
ICA8c2NyaXB0IHNyYz0icmVzb3VyY2VzL3V0aWwuanMiPjwvc2NyaXB0PgotICAgIDxzY3JpcHQ+
Ci0gICAgICAgIGRlc2NyaXB0aW9uKCJUZXN0cyB0aGF0IHJlZGlyZWN0cyBmb3IgYSBzYW5kYm94
ZWQgaWZyYW1lIG5lc3RlZCBpbiBhIG5vbi1zYW5kYm94ZWQgaWZyYW1lIGdldCBjb3VudGVkIHBy
b3Blcmx5LiIpOwotICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKLSAgICAgICAgd2luZG93
LmFkZEV2ZW50TGlzdGVuZXIoIm1lc3NhZ2UiLCByZWNlaXZlTWVzc2FnZSwgZmFsc2UpOwotCi0g
ICAgICAgIGZ1bmN0aW9uIGZpbmlzaFRlc3QoKSB7Ci0gICAgICAgICAgICBzZXRFbmFibGVGZWF0
dXJlKGZhbHNlLCBmaW5pc2hKU1Rlc3QpOwotICAgICAgICB9Ci0KLSAgICAgICAgaWYgKHRlc3RS
dW5uZXIpIHsKLSAgICAgICAgICAgIHRlc3RSdW5uZXIuc2V0VXNlSVRQRGF0YWJhc2UodHJ1ZSk7
Ci0gICAgICAgICAgICBzZXRFbmFibGVGZWF0dXJlKHRydWUsIGZ1bmN0aW9uKCkgewotICAgICAg
ICAgICAgICAgIHRlc3RSdW5uZXIuaW5zdGFsbFN0YXRpc3RpY3NEaWRTY2FuRGF0YVJlY29yZHND
YWxsYmFjayhjaGVja1N0YXRzKTsKLSAgICAgICAgICAgIH0pOwotICAgICAgICB9Ci0KLSAgICAg
ICAgdmFyIGxhc3RQYWdlSW5SZWRpcmVjdENoYWluTG9hZGVkID0gZmFsc2U7Ci0gICAgICAgIHZh
ciBzdGF0c0NoZWNrZWQgPSBmYWxzZTsKLQotICAgICAgICBmdW5jdGlvbiByZWNlaXZlTWVzc2Fn
ZShldmVudCkgewotICAgICAgICAgICAgaWYgKGV2ZW50Lm9yaWdpbiA9PT0gIm51bGwiKSB7Ci0g
ICAgICAgICAgICAgICAgaWYgKGV2ZW50LmRhdGEuaW5kZXhPZigiUEFTUyIpID09PSAtMSkKLSAg
ICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChldmVudC5kYXRhLnJlcGxhY2UoIkZBSUwgIiwg
IiIpKTsKLSAgICAgICAgICAgIH0gZWxzZQotICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoIlJl
Y2VpdmVkIGEgbWVzc2FnZSBmcm9tIGFuIHVuZXhwZWN0ZWQgb3JpZ2luOiAiICsgZXZlbnQub3Jp
Z2luKTsKLQotICAgICAgICAgICAgbGFzdFBhZ2VJblJlZGlyZWN0Q2hhaW5Mb2FkZWQgPSB0cnVl
OwotICAgICAgICAgICAgaWYgKHN0YXRzQ2hlY2tlZCkKLSAgICAgICAgICAgICAgICBmaW5pc2hU
ZXN0KCk7Ci0gICAgICAgICAgICBlbHNlCi0gICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5zdGF0
aXN0aWNzTm90aWZ5T2JzZXJ2ZXIoKTsKLSAgICAgICAgfQotCi0gICAgICAgIGZ1bmN0aW9uIGNo
ZWNrU3RhdHMoKSB7Ci0gICAgICAgICAgICBzaG91bGRCZVRydWUoJ3Rlc3RSdW5uZXIuaXNTdGF0
aXN0aWNzUmVnaXN0ZXJlZEFzU3ViRnJhbWVVbmRlcigiaHR0cDovL2xvY2FsaG9zdCIsICJodHRw
Oi8vMTI3LjAuMC4xIiknKTsKLSAgICAgICAgICAgIHNob3VsZEJlVHJ1ZSgndGVzdFJ1bm5lci5p
c1N0YXRpc3RpY3NSZWdpc3RlcmVkQXNSZWRpcmVjdGluZ1RvKCJodHRwOi8vbG9jYWxob3N0Iiwg
Imh0dHA6Ly8xMjcuMC4wLjEiKScpOwotICAgICAgICAgICAgc2hvdWxkQmVUcnVlKCd0ZXN0UnVu
bmVyLmlzU3RhdGlzdGljc1JlZ2lzdGVyZWRBc1JlZGlyZWN0aW5nVG8oImh0dHA6Ly8xMjcuMC4w
LjEiLCAiaHR0cDovL2xvY2FsaG9zdCIpJyk7Ci0KLSAgICAgICAgICAgIHN0YXRzQ2hlY2tlZCA9
IHRydWU7Ci0gICAgICAgICAgICBpZiAobGFzdFBhZ2VJblJlZGlyZWN0Q2hhaW5Mb2FkZWQpCi0g
ICAgICAgICAgICAgICAgZmluaXNoVGVzdCgpOwotICAgICAgICB9Ci0gICAgPC9zY3JpcHQ+Ci08
L2hlYWQ+Ci08Ym9keT4KLTxpZnJhbWUgc2FuZGJveD0iYWxsb3ctc2NyaXB0cyIgc3JjPSJodHRw
Oi8vMTI3LjAuMC4xOjgwMDAvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9yZXNvdXJjZXMvcGFnZS13
aXRoLXNhbmRib3hlZC1pZnJhbWUtcmVkaXJlY3QtaXAtdG8tbG9jYWxob3N0LXRvLWlwLmh0bWwi
PgotPC9pZnJhbWU+Ci08L2JvZHk+Ci08L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9o
dHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3Mvc2FuZGJveGVkLW5lc3RpbmctaWZyYW1l
LXdpdGgtc2FuZGJveGVkLWlmcmFtZS1yZWRpcmVjdC1sb2NhbGhvc3QtdG8taXAtdG8tbG9jYWxo
b3N0LWRhdGFiYXNlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3Vy
Y2VMb2FkU3RhdGlzdGljcy9zYW5kYm94ZWQtbmVzdGluZy1pZnJhbWUtd2l0aC1zYW5kYm94ZWQt
aWZyYW1lLXJlZGlyZWN0LWxvY2FsaG9zdC10by1pcC10by1sb2NhbGhvc3QtZGF0YWJhc2UtZXhw
ZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA3MTVjODVlYjQ3ZTBmMDg0
MTZlNjFmZDAxNWZkN2FlM2NiODY2YjY5Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlz
dGljcy9zYW5kYm94ZWQtbmVzdGluZy1pZnJhbWUtd2l0aC1zYW5kYm94ZWQtaWZyYW1lLXJlZGly
ZWN0LWxvY2FsaG9zdC10by1pcC10by1sb2NhbGhvc3QtZGF0YWJhc2UtZXhwZWN0ZWQudHh0Cisr
KyAvZGV2L251bGwKQEAgLTEsMTIgKzAsMCBAQAotVGVzdHMgdGhhdCByZWRpcmVjdHMgZm9yIGEg
c2FuZGJveGVkIGlmcmFtZSBuZXN0ZWQgaW4gYSBub24tc2FuZGJveGVkIGlmcmFtZSBnZXQgY291
bnRlZCBwcm9wZXJseS4KLQotT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQ
QVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgotCi0KLVBBU1MgdGVz
dFJ1bm5lci5pc1N0YXRpc3RpY3NSZWdpc3RlcmVkQXNTdWJGcmFtZVVuZGVyKCJodHRwOi8vbG9j
YWxob3N0IiwgImh0dHA6Ly8xMjcuMC4wLjEiKSBpcyB0cnVlCi1QQVNTIHRlc3RSdW5uZXIuaXNT
dGF0aXN0aWNzUmVnaXN0ZXJlZEFzUmVkaXJlY3RpbmdUbygiaHR0cDovL2xvY2FsaG9zdCIsICJo
dHRwOi8vMTI3LjAuMC4xIikgaXMgdHJ1ZQotUEFTUyB0ZXN0UnVubmVyLmlzU3RhdGlzdGljc1Jl
Z2lzdGVyZWRBc1JlZGlyZWN0aW5nVG8oImh0dHA6Ly8xMjcuMC4wLjEiLCAiaHR0cDovL2xvY2Fs
aG9zdCIpIGlzIHRydWUKLVBBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKLQotVEVTVCBD
T01QTEVURQotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9h
ZFN0YXRpc3RpY3Mvc2FuZGJveGVkLW5lc3RpbmctaWZyYW1lLXdpdGgtc2FuZGJveGVkLWlmcmFt
ZS1yZWRpcmVjdC1sb2NhbGhvc3QtdG8taXAtdG8tbG9jYWxob3N0LWRhdGFiYXNlLmh0bWwgYi9M
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3Mvc2FuZGJveGVkLW5l
c3RpbmctaWZyYW1lLXdpdGgtc2FuZGJveGVkLWlmcmFtZS1yZWRpcmVjdC1sb2NhbGhvc3QtdG8t
aXAtdG8tbG9jYWxob3N0LWRhdGFiYXNlLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDZkYjM3NDI3ZDU0YmU0MzYxNTRkY2ViM2QwMzEyMmQ1NmIxNTUxOWIuLjAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0
cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3NhbmRib3hlZC1uZXN0aW5nLWlmcmFtZS13aXRoLXNh
bmRib3hlZC1pZnJhbWUtcmVkaXJlY3QtbG9jYWxob3N0LXRvLWlwLXRvLWxvY2FsaG9zdC1kYXRh
YmFzZS5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsNTQgKzAsMCBAQAotPCFET0NUWVBFIGh0bWw+
Ci08aHRtbD4KLTxoZWFkPgotICAgIDxzY3JpcHQgc3JjPSIvanMtdGVzdC1yZXNvdXJjZXMvanMt
dGVzdC5qcyI+PC9zY3JpcHQ+Ci0gICAgPHNjcmlwdCBzcmM9InJlc291cmNlcy91dGlsLmpzIj48
L3NjcmlwdD4KLSAgICA8c2NyaXB0PgotICAgICAgICBkZXNjcmlwdGlvbigiVGVzdHMgdGhhdCBy
ZWRpcmVjdHMgZm9yIGEgc2FuZGJveGVkIGlmcmFtZSBuZXN0ZWQgaW4gYSBub24tc2FuZGJveGVk
IGlmcmFtZSBnZXQgY291bnRlZCBwcm9wZXJseS4iKTsKLSAgICAgICAganNUZXN0SXNBc3luYyA9
IHRydWU7Ci0gICAgICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJtZXNzYWdlIiwgcmVjZWl2
ZU1lc3NhZ2UsIGZhbHNlKTsKLQotICAgICAgICBmdW5jdGlvbiBmaW5pc2hUZXN0KCkgewotICAg
ICAgICAgICAgc2V0RW5hYmxlRmVhdHVyZShmYWxzZSwgZmluaXNoSlNUZXN0KTsKLSAgICAgICAg
fQotCi0gICAgICAgIGlmICh0ZXN0UnVubmVyKSB7Ci0gICAgICAgICAgICB0ZXN0UnVubmVyLnNl
dFVzZUlUUERhdGFiYXNlKHRydWUpOwotICAgICAgICAgICAgc2V0RW5hYmxlRmVhdHVyZSh0cnVl
LCBmdW5jdGlvbigpIHsKLSAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLmluc3RhbGxTdGF0aXN0
aWNzRGlkU2NhbkRhdGFSZWNvcmRzQ2FsbGJhY2soY2hlY2tTdGF0cyk7Ci0gICAgICAgICAgICB9
KTsKLSAgICAgICAgfQotCi0gICAgICAgIHZhciBsYXN0UGFnZUluUmVkaXJlY3RDaGFpbkxvYWRl
ZCA9IGZhbHNlOwotICAgICAgICB2YXIgc3RhdHNDaGVja2VkID0gZmFsc2U7Ci0KLSAgICAgICAg
ZnVuY3Rpb24gcmVjZWl2ZU1lc3NhZ2UoZXZlbnQpIHsKLSAgICAgICAgICAgIGlmIChldmVudC5v
cmlnaW4gPT09ICJudWxsIikgewotICAgICAgICAgICAgICAgIGlmIChldmVudC5kYXRhLmluZGV4
T2YoIlBBU1MiKSA9PT0gLTEpCi0gICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoZXZlbnQu
ZGF0YS5yZXBsYWNlKCJGQUlMICIsICIiKSk7Ci0gICAgICAgICAgICB9IGVsc2UKLSAgICAgICAg
ICAgICAgICB0ZXN0RmFpbGVkKCJSZWNlaXZlZCBhIG1lc3NhZ2UgZnJvbSBhbiB1bmV4cGVjdGVk
IG9yaWdpbjogIiArIGV2ZW50Lm9yaWdpbik7Ci0KLSAgICAgICAgICAgIGxhc3RQYWdlSW5SZWRp
cmVjdENoYWluTG9hZGVkID0gdHJ1ZTsKLSAgICAgICAgICAgIGlmIChzdGF0c0NoZWNrZWQpCi0g
ICAgICAgICAgICAgICAgZmluaXNoVGVzdCgpOwotICAgICAgICAgICAgZWxzZQotICAgICAgICAg
ICAgICAgIHRlc3RSdW5uZXIuc3RhdGlzdGljc05vdGlmeU9ic2VydmVyKCk7Ci0gICAgICAgIH0K
LQotICAgICAgICBmdW5jdGlvbiBjaGVja1N0YXRzKCkgewotICAgICAgICAgICAgc2hvdWxkQmVU
cnVlKCd0ZXN0UnVubmVyLmlzU3RhdGlzdGljc1JlZ2lzdGVyZWRBc1N1YkZyYW1lVW5kZXIoImh0
dHA6Ly9sb2NhbGhvc3QiLCAiaHR0cDovLzEyNy4wLjAuMSIpJyk7Ci0gICAgICAgICAgICBzaG91
bGRCZVRydWUoJ3Rlc3RSdW5uZXIuaXNTdGF0aXN0aWNzUmVnaXN0ZXJlZEFzUmVkaXJlY3RpbmdU
bygiaHR0cDovL2xvY2FsaG9zdCIsICJodHRwOi8vMTI3LjAuMC4xIiknKTsKLSAgICAgICAgICAg
IHNob3VsZEJlVHJ1ZSgndGVzdFJ1bm5lci5pc1N0YXRpc3RpY3NSZWdpc3RlcmVkQXNSZWRpcmVj
dGluZ1RvKCJodHRwOi8vMTI3LjAuMC4xIiwgImh0dHA6Ly9sb2NhbGhvc3QiKScpOwotCi0gICAg
ICAgICAgICBzdGF0c0NoZWNrZWQgPSB0cnVlOwotICAgICAgICAgICAgaWYgKGxhc3RQYWdlSW5S
ZWRpcmVjdENoYWluTG9hZGVkKQotICAgICAgICAgICAgICAgIGZpbmlzaFRlc3QoKTsKLSAgICAg
ICAgfQotICAgIDwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHk+Ci08aWZyYW1lIHNhbmRib3g9ImFs
bG93LXNjcmlwdHMiIHNyYz0iaHR0cDovLzEyNy4wLjAuMTo4MDAwL3Jlc291cmNlTG9hZFN0YXRp
c3RpY3MvcmVzb3VyY2VzL3BhZ2Utd2l0aC1zYW5kYm94ZWQtaWZyYW1lLXJlZGlyZWN0LWxvY2Fs
aG9zdC10by1pcC10by1sb2NhbGhvc3QuaHRtbCI+Ci08L2lmcmFtZT4KLTwvYm9keT4KLTwvaHRt
bD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlz
dGljcy9zZXQtY3VzdG9tLXByZXZhbGVudC1yZXNvdXJjZS1pbi1kZWJ1Zy1tb2RlLWRhdGFiYXNl
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlz
dGljcy9zZXQtY3VzdG9tLXByZXZhbGVudC1yZXNvdXJjZS1pbi1kZWJ1Zy1tb2RlLWRhdGFiYXNl
LWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMmRjMDczZGE0N2Ni
YTQ4NjA3NzIzZDRmZGI2M2NiYTE1NmQ4N2U2Mi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0
YXRpc3RpY3Mvc2V0LWN1c3RvbS1wcmV2YWxlbnQtcmVzb3VyY2UtaW4tZGVidWctbW9kZS1kYXRh
YmFzZS1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSwxMCArMCwwIEBACi1UZXN0IGZv
ciBlbmFibGluZyBkZWJ1ZyBtb2RlIGFuZCB0aGF0IGl0IGFsbG93cyBzZXR0aW5nIGEgY3VzdG9t
IGRvbWFpbiBhcyBhIHByZXZhbGVudCByZXNvdXJjZS4KLQotT24gc3VjY2VzcywgeW91IHdpbGwg
c2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExF
VEUiLgotCi0KLVBBU1MgaHR0cDovL2xvY2FsaG9zdDo4MDAwIGdvdCBzZXQgYXMgYSBjdXN0b20g
cHJldmFsZW50IHJlc291cmNlIGluIGRlYnVnIG1vZGUuCi1QQVNTIHN1Y2Nlc3NmdWxseVBhcnNl
ZCBpcyB0cnVlCi0KLVRFU1QgQ09NUExFVEUKLQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3NldC1jdXN0b20tcHJldmFsZW50LXJlc291
cmNlLWluLWRlYnVnLW1vZGUtZGF0YWJhc2UuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMv
cmVzb3VyY2VMb2FkU3RhdGlzdGljcy9zZXQtY3VzdG9tLXByZXZhbGVudC1yZXNvdXJjZS1pbi1k
ZWJ1Zy1tb2RlLWRhdGFiYXNlLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDVm
ZGE4MTIwMTlhOWU3M2ZmOTU1ODkxNWUwZjg4OTI2YThkOTA0OWEuLjAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNv
dXJjZUxvYWRTdGF0aXN0aWNzL3NldC1jdXN0b20tcHJldmFsZW50LXJlc291cmNlLWluLWRlYnVn
LW1vZGUtZGF0YWJhc2UuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDM2ICswLDAgQEAKLTwhRE9D
VFlQRSBodG1sPgotPGh0bWwgbGFuZz0iZW4iPgotPGhlYWQ+Ci0gICAgPG1ldGEgY2hhcnNldD0i
VVRGLTgiPgotICAgIDxzY3JpcHQgc3JjPSIvanMtdGVzdC1yZXNvdXJjZXMvanMtdGVzdC5qcyI+
PC9zY3JpcHQ+Ci0gICAgPHNjcmlwdCBzcmM9InJlc291cmNlcy91dGlsLmpzIj48L3NjcmlwdD4K
LTwvaGVhZD4KLTxib2R5PgotPHNjcmlwdD4KLSAgICBkZXNjcmlwdGlvbigiVGVzdCBmb3IgZW5h
YmxpbmcgZGVidWcgbW9kZSBhbmQgdGhhdCBpdCBhbGxvd3Mgc2V0dGluZyBhIGN1c3RvbSBkb21h
aW4gYXMgYSBwcmV2YWxlbnQgcmVzb3VyY2UuIik7Ci0gICAganNUZXN0SXNBc3luYyA9IHRydWU7
Ci0KLSAgICBjb25zdCB0aGlyZFBhcnR5T3JpZ2luID0gImh0dHA6Ly9sb2NhbGhvc3Q6ODAwMCI7
Ci0KLSAgICBpZiAod2luZG93LnRlc3RSdW5uZXIgJiYgd2luZG93LmludGVybmFscykgewotICAg
ICAgICB0ZXN0UnVubmVyLnNldFVzZUlUUERhdGFiYXNlKHRydWUpOwotICAgICAgICBzZXRFbmFi
bGVGZWF0dXJlKHRydWUsIGZ1bmN0aW9uKCkgewotICAgICAgICAgICAgaWYgKHRlc3RSdW5uZXIu
aXNTdGF0aXN0aWNzUHJldmFsZW50UmVzb3VyY2UodGhpcmRQYXJ0eU9yaWdpbikpCi0gICAgICAg
ICAgICAgICAgdGVzdEZhaWxlZCh0aGlyZFBhcnR5T3JpZ2luICsgIiBhbHJlYWR5IHNldCBhcyBw
cmV2YWxlbnQgcmVzb3VyY2UuIik7Ci0KLSAgICAgICAgICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlz
dGljc1ByZXZhbGVudFJlc291cmNlRm9yRGVidWdNb2RlKHRoaXJkUGFydHlPcmlnaW4sIGZ1bmN0
aW9uKCkgewotICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc0RlYnVnTW9k
ZSh0cnVlLCBmdW5jdGlvbigpIHsKLSAgICAgICAgICAgICAgICAgICAgaWYgKCF0ZXN0UnVubmVy
LmlzU3RhdGlzdGljc1ByZXZhbGVudFJlc291cmNlKHRoaXJkUGFydHlPcmlnaW4pKQotICAgICAg
ICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZCh0aGlyZFBhcnR5T3JpZ2luICsgIiBkaWRuJ3Qg
Z2V0IHNldCBhcyBwcmV2YWxlbnQgcmVzb3VyY2UuIik7Ci0gICAgICAgICAgICAgICAgICAgIGVs
c2UKLSAgICAgICAgICAgICAgICAgICAgICAgIHRlc3RQYXNzZWQodGhpcmRQYXJ0eU9yaWdpbiAr
ICIgZ290IHNldCBhcyBhIGN1c3RvbSBwcmV2YWxlbnQgcmVzb3VyY2UgaW4gZGVidWcgbW9kZS4i
KTsKLSAgICAgICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNzRGVidWdNb2Rl
KGZhbHNlLCBmdW5jdGlvbigpIHsKLSAgICAgICAgICAgICAgICAgICAgICAgIHNldEVuYWJsZUZl
YXR1cmUoZmFsc2UsIGZpbmlzaEpTVGVzdCk7Ci0gICAgICAgICAgICAgICAgICAgIH0pOwotICAg
ICAgICAgICAgICAgIH0pOwotICAgICAgICAgICAgfSk7Ci0gICAgICAgIH0pOwotICAgIH0KLTwv
c2NyaXB0PgotPC9ib2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90
ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3N0YW5kYWxvbmUtd2ViLWFwcGxpY2F0aW9uLWV4
ZW1wdC1mcm9tLXdlYnNpdGUtZGF0YS1kZWxldGlvbi1kYXRhYmFzZS1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3Mvc3RhbmRhbG9uZS13
ZWItYXBwbGljYXRpb24tZXhlbXB0LWZyb20td2Vic2l0ZS1kYXRhLWRlbGV0aW9uLWRhdGFiYXNl
LWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNWI2YTQzNTQ1Mzg5
OGM5MDVhZmZmNzE5OTI2YjQyZTQ3ODQxY2JmNy4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0
YXRpc3RpY3Mvc3RhbmRhbG9uZS13ZWItYXBwbGljYXRpb24tZXhlbXB0LWZyb20td2Vic2l0ZS1k
YXRhLWRlbGV0aW9uLWRhdGFiYXNlLWV4cGVjdGVkLnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDE1
ICswLDAgQEAKLUNoZWNrIHRoYXQgbm9uLWNvb2tpZSB3ZWJzaXRlIGRhdGEgZG9lcyBub3QgZ2V0
IHJlbW92ZWQgYWZ0ZXIgYSBwZXJpb2Qgb2Ygbm8gdXNlciBpbnRlcmFjdGlvbiBpZiB0aGUgd2Vi
c2l0ZSBpcyBhIHN0YW5kYWxvbmUgd2ViIGFwcGxpY2F0aW9uLgotCi1CZWZvcmUgZGVsZXRpb246
IENsaWVudC1zaWRlIGNvb2tpZSBleGlzdHMuCi1CZWZvcmUgZGVsZXRpb246IEh0dHBPbmx5IGNv
b2tpZSBleGlzdHMuCi1CZWZvcmUgZGVsZXRpb246IFJlZ3VsYXIgc2VydmVyLXNpZGUgY29va2ll
IGV4aXN0cy4KLUJlZm9yZSBkZWxldGlvbjogTG9jYWxTdG9yYWdlIGVudHJ5IGRvZXMgZXhpc3Qu
Ci1CZWZvcmUgZGVsZXRpb246IElEQiBlbnRyeSBkb2VzIGV4aXN0LgotCi1BZnRlciBkZWxldGlv
bjogSHR0cE9ubHkgY29va2llIGV4aXN0cy4KLUFmdGVyIGRlbGV0aW9uOiBDbGllbnQtc2lkZSBj
b29raWUgZXhpc3RzLgotQWZ0ZXIgZGVsZXRpb246IFJlZ3VsYXIgc2VydmVyLXNpZGUgY29va2ll
IGV4aXN0cy4KLUFmdGVyIGRlbGV0aW9uOiBMb2NhbFN0b3JhZ2UgZW50cnkgZG9lcyBleGlzdC4K
LUFmdGVyIGRlbGV0aW9uOiBJREIgZW50cnkgZG9lcyBleGlzdC4KLQotCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3Mvc3RhbmRhbG9uZS13
ZWItYXBwbGljYXRpb24tZXhlbXB0LWZyb20td2Vic2l0ZS1kYXRhLWRlbGV0aW9uLWRhdGFiYXNl
Lmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3Mvc3Rh
bmRhbG9uZS13ZWItYXBwbGljYXRpb24tZXhlbXB0LWZyb20td2Vic2l0ZS1kYXRhLWRlbGV0aW9u
LWRhdGFiYXNlLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDY0ZjY0MjMzM2Rm
NjdkNzA0M2U3Y2Q4OTE1ZjBhMDk3MzhjMGRiYTIuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRT
dGF0aXN0aWNzL3N0YW5kYWxvbmUtd2ViLWFwcGxpY2F0aW9uLWV4ZW1wdC1mcm9tLXdlYnNpdGUt
ZGF0YS1kZWxldGlvbi1kYXRhYmFzZS5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsMjU1ICswLDAg
QEAKLTwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgc3RhbmRhbG9uZVdlYkFwcGxpY2F0aW9uVVJM
PWh0dHA6Ly8xMjcuMC4wLjEgXSAtLT4KLTwhRE9DVFlQRSBodG1sPgotPGh0bWw+Ci08aGVhZD4K
LSAgICA8c2NyaXB0IHNyYz0iL2Nvb2tpZXMvcmVzb3VyY2VzL2Nvb2tpZS11dGlsaXRpZXMuanMi
Pjwvc2NyaXB0PgotICAgIDxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvdXRpbC5qcyI+PC9zY3JpcHQ+
Ci08L2hlYWQ+Ci08Ym9keSBvbmxvYWQ9InNldFRpbWVvdXQoJ3J1blRlc3QoKScsIDApIj4KLTxk
aXYgaWQ9ImRlc2NyaXB0aW9uIj5DaGVjayB0aGF0IG5vbi1jb29raWUgd2Vic2l0ZSBkYXRhIGRv
ZXMgbm90IGdldCByZW1vdmVkIGFmdGVyIGEgcGVyaW9kIG9mIG5vIHVzZXIgaW50ZXJhY3Rpb24g
aWYgdGhlIHdlYnNpdGUgaXMgYSBzdGFuZGFsb25lIHdlYiBhcHBsaWNhdGlvbi48L2Rpdj4KLTxi
cj4KLTxkaXYgaWQ9Im91dHB1dCI+PC9kaXY+Ci08YnI+Ci08c2NyaXB0PgotICAgIHRlc3RSdW5u
ZXIud2FpdFVudGlsRG9uZSgpOwotICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOwotICAgIHRl
c3RSdW5uZXIuc2V0VXNlSVRQRGF0YWJhc2UodHJ1ZSk7Ci0KLSAgICBjb25zdCBodHRwT25seUNv
b2tpZU5hbWUgPSAiaHR0cC1vbmx5LWNvb2tpZSI7Ci0gICAgY29uc3Qgc2VydmVyU2lkZUNvb2tp
ZU5hbWUgPSAic2VydmVyLXNpZGUtY29va2llIjsKLSAgICBjb25zdCBjbGllbnRTaWRlQ29va2ll
TmFtZSA9ICJjbGllbnQtc2lkZS1jb29raWUiOwotCi0gICAgZnVuY3Rpb24gc29ydFN0cmluZ0Fy
cmF5KGEsIGIpIHsKLSAgICAgICAgYSA9IGEudG9Mb3dlckNhc2UoKTsKLSAgICAgICAgYiA9IGIu
dG9Mb3dlckNhc2UoKTsKLQotICAgICAgICByZXR1cm4gYSA+IGIgPyAxIDogYiA+IGEgPyAtMSA6
IDA7Ci0gICAgfQotCi0gICAgZnVuY3Rpb24gYWRkTGluZWJyZWFrVG9PdXRwdXQoKSB7Ci0gICAg
ICAgIGxldCBlbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiYnIiKTsKLSAgICAgICAg
b3V0cHV0LmFwcGVuZENoaWxkKGVsZW1lbnQpOwotICAgIH0KLQotICAgIGZ1bmN0aW9uIGFkZE91
dHB1dChtZXNzYWdlKSB7Ci0gICAgICAgIGxldCBlbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxl
bWVudCgiZGl2Iik7Ci0gICAgICAgIGVsZW1lbnQuaW5uZXJUZXh0ID0gbWVzc2FnZTsKLSAgICAg
ICAgb3V0cHV0LmFwcGVuZENoaWxkKGVsZW1lbnQpOwotICAgIH0KLQotICAgIGZ1bmN0aW9uIGNo
ZWNrQ29va2llcyhpc0FmdGVyRGVsZXRpb24pIHsKLSAgICAgICAgbGV0IHVuc29ydGVkVGVzdFBh
c3NlZE1lc3NhZ2VzID0gW107Ci0gICAgICAgIGxldCBjb29raWVzID0gaW50ZXJuYWxzLmdldENv
b2tpZXMoKTsKLSAgICAgICAgaWYgKCFjb29raWVzLmxlbmd0aCkKLSAgICAgICAgICAgIGFkZE91
dHB1dCgoaXNBZnRlckRlbGV0aW9uID8gIkFmdGVyIiA6ICJCZWZvcmUiKSArICIgc2NyaXB0LWFj
Y2Vzc2libGUgZGVsZXRpb246IE5vIGNvb2tpZXMgZm91bmQuIik7Ci0gICAgICAgIGZvciAobGV0
IGNvb2tpZSBvZiBjb29raWVzKSB7Ci0gICAgICAgICAgICBzd2l0Y2ggKGNvb2tpZS5uYW1lKSB7
Ci0gICAgICAgICAgICAgICAgY2FzZSBodHRwT25seUNvb2tpZU5hbWU6Ci0gICAgICAgICAgICAg
ICAgICAgIHVuc29ydGVkVGVzdFBhc3NlZE1lc3NhZ2VzLnB1c2goKGlzQWZ0ZXJEZWxldGlvbiA/
ICJBZnRlciIgOiAiQmVmb3JlIikgKyAiIGRlbGV0aW9uOiAiICsgKGlzQWZ0ZXJEZWxldGlvbiA/
ICIgIiA6ICIiKSArICJIdHRwT25seSBjb29raWUgZXhpc3RzLiIpOwotICAgICAgICAgICAgICAg
ICAgICBicmVhazsKLSAgICAgICAgICAgICAgICBjYXNlIHNlcnZlclNpZGVDb29raWVOYW1lOgot
ICAgICAgICAgICAgICAgICAgICB1bnNvcnRlZFRlc3RQYXNzZWRNZXNzYWdlcy5wdXNoKChpc0Fm
dGVyRGVsZXRpb24gPyAiQWZ0ZXIiIDogIkJlZm9yZSIpICsgIiBkZWxldGlvbjogUmVndWxhciBz
ZXJ2ZXItc2lkZSBjb29raWUgZXhpc3RzLiIpOwotICAgICAgICAgICAgICAgICAgICBicmVhazsK
LSAgICAgICAgICAgICAgICBjYXNlIGNsaWVudFNpZGVDb29raWVOYW1lOgotICAgICAgICAgICAg
ICAgICAgICB1bnNvcnRlZFRlc3RQYXNzZWRNZXNzYWdlcy5wdXNoKChpc0FmdGVyRGVsZXRpb24g
PyAiQWZ0ZXIiIDogIkJlZm9yZSIpICsgIiBkZWxldGlvbjogQ2xpZW50LXNpZGUgY29va2llIGV4
aXN0cy4iKTsKLSAgICAgICAgICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgICAgICB9Ci0gICAg
ICAgIH0KLSAgICAgICAgbGV0IHNvcnRlZFRlc3RQYXNzZWRNZXNzYWdlcyA9IHVuc29ydGVkVGVz
dFBhc3NlZE1lc3NhZ2VzLnNvcnQoc29ydFN0cmluZ0FycmF5KTsKLSAgICAgICAgZm9yIChsZXQg
dGVzdFBhc3NlZE1lc3NhZ2Ugb2Ygc29ydGVkVGVzdFBhc3NlZE1lc3NhZ2VzKSB7Ci0gICAgICAg
ICAgICBhZGRPdXRwdXQodGVzdFBhc3NlZE1lc3NhZ2UpOwotICAgICAgICB9Ci0gICAgfQotCi0g
ICAgY29uc3QgZGJOYW1lID0gIlRlc3REYXRhYmFzZSI7Ci0KLSAgICBmdW5jdGlvbiBjcmVhdGVJ
REJEYXRhU3RvcmUoY2FsbGJhY2spIHsKLSAgICAgICAgbGV0IHJlcXVlc3QgPSBpbmRleGVkREIu
b3BlbihkYk5hbWUpOwotICAgICAgICByZXF1ZXN0Lm9uZXJyb3IgPSBmdW5jdGlvbigpIHsKLSAg
ICAgICAgICAgIGFkZE91dHB1dCgiQ291bGRuJ3QgY3JlYXRlIGluZGV4ZWREQi4iKTsKLSAgICAg
ICAgICAgIGZpbmlzaFRlc3QoKTsKLSAgICAgICAgfTsKLSAgICAgICAgcmVxdWVzdC5vbnVwZ3Jh
ZGVuZWVkZWQgPSBmdW5jdGlvbihldmVudCkgewotICAgICAgICAgICAgbGV0IGRiID0gZXZlbnQu
dGFyZ2V0LnJlc3VsdDsKLSAgICAgICAgICAgIGxldCBvYmpTdG9yZSA9IGRiLmNyZWF0ZU9iamVj
dFN0b3JlKCJ0ZXN0Iiwge2F1dG9JbmNyZW1lbnQ6IHRydWV9KTsKLSAgICAgICAgICAgIG9ialN0
b3JlLmFkZCgidmFsdWUiKTsKLSAgICAgICAgICAgIGNhbGxiYWNrKCk7Ci0gICAgICAgIH0KLSAg
ICB9Ci0KLSAgICBjb25zdCBtYXhJbnRlcnZhbHMgPSAyMDsKLQotICAgIGxldCBpbnRlcnZhbENv
dW50ZXJJREI7Ci0gICAgbGV0IGNoZWNrSURCQ2FsbGJhY2s7Ci0gICAgbGV0IGNoZWNrSURCSW50
ZXJ2YWxJRDsKLSAgICBsZXQgc2VtYXBob3JlSURCQ2hlY2sgPSBmYWxzZTsKLSAgICBmdW5jdGlv
biBjaGVja0lEQkRhdGFTdG9yZUV4aXN0cyhpc0FmdGVyRGVsZXRpb24sIGNhbGxiYWNrKSB7Ci0g
ICAgICAgIGxldCByZXF1ZXN0OwotICAgICAgICBpbnRlcnZhbENvdW50ZXJJREIgPSAwOwotICAg
ICAgICBjaGVja0lEQkNhbGxiYWNrID0gY2FsbGJhY2s7Ci0gICAgICAgIGlmICghaXNBZnRlckRl
bGV0aW9uKSB7Ci0gICAgICAgICAgICAvLyBDaGVjayB1bnRpbCB0aGVyZSBpcyBhIElEQi4KLSAg
ICAgICAgICAgIGNoZWNrSURCSW50ZXJ2YWxJRCA9IHNldEludGVydmFsKGZ1bmN0aW9uKCkgewot
ICAgICAgICAgICAgICAgIGlmIChzZW1hcGhvcmVJREJDaGVjaykKLSAgICAgICAgICAgICAgICAg
ICAgcmV0dXJuOwotICAgICAgICAgICAgICAgIHNlbWFwaG9yZUlEQkNoZWNrID0gdHJ1ZTsKLQot
ICAgICAgICAgICAgICAgIGlmICgrK2ludGVydmFsQ291bnRlcklEQiA+PSBtYXhJbnRlcnZhbHMp
IHsKLSAgICAgICAgICAgICAgICAgICAgY2xlYXJJbnRlcnZhbChjaGVja0lEQkludGVydmFsSUQp
OwotICAgICAgICAgICAgICAgICAgICBhZGRPdXRwdXQoIkJlZm9yZSBkZWxldGlvbjogSURCIGVu
dHJ5IGRvZXMgbm90IGV4aXN0LiIpOwotICAgICAgICAgICAgICAgICAgICBzZW1hcGhvcmVJREJD
aGVjayA9IGZhbHNlOwotICAgICAgICAgICAgICAgICAgICBjaGVja0lEQkNhbGxiYWNrKCk7Ci0g
ICAgICAgICAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAgICAgICAgICAgcmVxdWVzdCA9IGlu
ZGV4ZWREQi5vcGVuKGRiTmFtZSk7Ci0gICAgICAgICAgICAgICAgICAgIHJlcXVlc3Qub25lcnJv
ciA9IGZ1bmN0aW9uICgpIHsKLSAgICAgICAgICAgICAgICAgICAgICAgIGNsZWFySW50ZXJ2YWwo
Y2hlY2tJREJJbnRlcnZhbElEKTsKLSAgICAgICAgICAgICAgICAgICAgICAgIGFkZE91dHB1dCgi
Q291bGRuJ3Qgb3BlbiBpbmRleGVkREIuIik7Ci0gICAgICAgICAgICAgICAgICAgICAgICBzZW1h
cGhvcmVJREJDaGVjayA9IGZhbHNlOwotICAgICAgICAgICAgICAgICAgICAgICAgZmluaXNoVGVz
dCgpOwotICAgICAgICAgICAgICAgICAgICB9OwotICAgICAgICAgICAgICAgICAgICByZXF1ZXN0
Lm9udXBncmFkZW5lZWRlZCA9IGZ1bmN0aW9uICgpIHsKLSAgICAgICAgICAgICAgICAgICAgICAg
IC8vIExldCB0aGUgbmV4dCBpbnRlcnZhbCBjaGVjayBhZ2Fpbi4KLSAgICAgICAgICAgICAgICAg
ICAgICAgIHNlbWFwaG9yZUlEQkNoZWNrID0gZmFsc2U7Ci0gICAgICAgICAgICAgICAgICAgIH07
Ci0gICAgICAgICAgICAgICAgICAgIHJlcXVlc3Qub25zdWNjZXNzID0gZnVuY3Rpb24gKCkgewot
ICAgICAgICAgICAgICAgICAgICAgICAgY2xlYXJJbnRlcnZhbChjaGVja0lEQkludGVydmFsSUQp
OwotICAgICAgICAgICAgICAgICAgICAgICAgYWRkT3V0cHV0KCJCZWZvcmUgZGVsZXRpb246IElE
QiBlbnRyeSBkb2VzIGV4aXN0LiIpOwotICAgICAgICAgICAgICAgICAgICAgICAgc2VtYXBob3Jl
SURCQ2hlY2sgPSBmYWxzZTsKLSAgICAgICAgICAgICAgICAgICAgICAgIGNoZWNrSURCQ2FsbGJh
Y2soKTsKLSAgICAgICAgICAgICAgICAgICAgfTsKLSAgICAgICAgICAgICAgICB9Ci0gICAgICAg
ICAgICB9LCAyMDApOwotICAgICAgICB9IGVsc2UgewotICAgICAgICAgICAgLy8gQ2hlY2sgdW50
aWwgdGhlcmUgaXMgYSBJREIuCi0gICAgICAgICAgICBjaGVja0lEQkludGVydmFsSUQgPSBzZXRJ
bnRlcnZhbChmdW5jdGlvbiAoKSB7Ci0gICAgICAgICAgICAgICAgaWYgKHNlbWFwaG9yZUlEQkNo
ZWNrKQotICAgICAgICAgICAgICAgICAgICByZXR1cm47Ci0gICAgICAgICAgICAgICAgc2VtYXBo
b3JlSURCQ2hlY2sgPSB0cnVlOwotCi0gICAgICAgICAgICAgICAgaWYgKCsraW50ZXJ2YWxDb3Vu
dGVySURCID49IG1heEludGVydmFscykgewotICAgICAgICAgICAgICAgICAgICBjbGVhckludGVy
dmFsKGNoZWNrSURCSW50ZXJ2YWxJRCk7Ci0gICAgICAgICAgICAgICAgICAgIGFkZE91dHB1dCgi
QWZ0ZXIgZGVsZXRpb246IElEQiBlbnRyeSBjaGVja3MgZXhoYXVzdGVkLiIpOwotICAgICAgICAg
ICAgICAgICAgICBzZW1hcGhvcmVJREJDaGVjayA9IGZhbHNlOwotICAgICAgICAgICAgICAgICAg
ICBjaGVja0lEQkNhbGxiYWNrKCk7Ci0gICAgICAgICAgICAgICAgfSBlbHNlIHsKLSAgICAgICAg
ICAgICAgICAgICAgcmVxdWVzdCA9IGluZGV4ZWREQi5vcGVuKGRiTmFtZSk7Ci0gICAgICAgICAg
ICAgICAgICAgIHJlcXVlc3Qub25lcnJvciA9IGZ1bmN0aW9uICgpIHsKLSAgICAgICAgICAgICAg
ICAgICAgICAgIGNsZWFySW50ZXJ2YWwoY2hlY2tJREJJbnRlcnZhbElEKTsKLSAgICAgICAgICAg
ICAgICAgICAgICAgIGFkZE91dHB1dCgiQ291bGRuJ3Qgb3BlbiBpbmRleGVkREIuIik7Ci0gICAg
ICAgICAgICAgICAgICAgICAgICBzZW1hcGhvcmVJREJDaGVjayA9IGZhbHNlOwotICAgICAgICAg
ICAgICAgICAgICAgICAgZmluaXNoVGVzdCgpOwotICAgICAgICAgICAgICAgICAgICB9OwotICAg
ICAgICAgICAgICAgICAgICByZXF1ZXN0Lm9udXBncmFkZW5lZWRlZCA9IGZ1bmN0aW9uICgpIHsK
LSAgICAgICAgICAgICAgICAgICAgICAgIC8vIExldCB0aGUgbmV4dCBpbnRlcnZhbCBjaGVjayBh
Z2Fpbi4KLSAgICAgICAgICAgICAgICAgICAgICAgIHNlbWFwaG9yZUlEQkNoZWNrID0gZmFsc2U7
Ci0gICAgICAgICAgICAgICAgICAgIH07Ci0gICAgICAgICAgICAgICAgICAgIHJlcXVlc3Qub25z
dWNjZXNzID0gZnVuY3Rpb24gKCkgewotICAgICAgICAgICAgICAgICAgICAgICAgY2xlYXJJbnRl
cnZhbChjaGVja0lEQkludGVydmFsSUQpOwotICAgICAgICAgICAgICAgICAgICAgICAgYWRkT3V0
cHV0KCJBZnRlciBkZWxldGlvbjogSURCIGVudHJ5IGRvZXMgZXhpc3QuIik7Ci0gICAgICAgICAg
ICAgICAgICAgICAgICBzZW1hcGhvcmVJREJDaGVjayA9IGZhbHNlOwotICAgICAgICAgICAgICAg
ICAgICAgICAgY2hlY2tJREJDYWxsYmFjaygpOwotICAgICAgICAgICAgICAgICAgICB9OwotICAg
ICAgICAgICAgICAgIH0KLSAgICAgICAgICAgIH0sIDIwMCk7Ci0gICAgICAgIH0KLSAgICB9Ci0K
LSAgICBsZXQgaW50ZXJ2YWxDb3VudGVyTG9jYWxTdG9yYWdlOwotICAgIGxldCBjaGVja0xvY2Fs
U3RvcmFnZUNhbGxiYWNrOwotICAgIGxldCBjaGVja0xvY2FsU3RvcmFnZUludGVydmFsSUQ7Ci0g
ICAgY29uc3QgbG9jYWxTdG9yYWdlTmFtZSA9ICJ0ZXN0IjsKLSAgICBjb25zdCBsb2NhbFN0b3Jh
Z2VWYWx1ZSA9ICJ2YWx1ZSI7Ci0gICAgZnVuY3Rpb24gY2hlY2tMb2NhbFN0b3JhZ2VFeGlzdHMo
aXNBZnRlckRlbGV0aW9uLCBjYWxsYmFjaykgewotICAgICAgICBpbnRlcnZhbENvdW50ZXJMb2Nh
bFN0b3JhZ2UgPSAwOwotICAgICAgICBjaGVja0xvY2FsU3RvcmFnZUNhbGxiYWNrID0gY2FsbGJh
Y2s7Ci0gICAgICAgIGlmICghaXNBZnRlckRlbGV0aW9uKSB7Ci0gICAgICAgICAgICAvLyBDaGVj
ayB1bnRpbCB0aGVyZSBpcyBMb2NhbFN0b3JhZ2UuCi0gICAgICAgICAgICBjaGVja0xvY2FsU3Rv
cmFnZUludGVydmFsSUQgPSBzZXRJbnRlcnZhbChmdW5jdGlvbigpIHsKLSAgICAgICAgICAgICAg
ICBpZiAoKytpbnRlcnZhbENvdW50ZXJMb2NhbFN0b3JhZ2UgPj0gbWF4SW50ZXJ2YWxzKSB7Ci0g
ICAgICAgICAgICAgICAgICAgIGNsZWFySW50ZXJ2YWwoY2hlY2tMb2NhbFN0b3JhZ2VJbnRlcnZh
bElEKTsKLSAgICAgICAgICAgICAgICAgICAgbGV0IHZhbHVlID0gbG9jYWxTdG9yYWdlLmdldEl0
ZW0obG9jYWxTdG9yYWdlTmFtZSk7Ci0gICAgICAgICAgICAgICAgICAgIGFkZE91dHB1dCgiQmVm
b3JlIGRlbGV0aW9uOiBMb2NhbFN0b3JhZ2UgZW50cnkgIiArICh2YWx1ZSA9PT0gbG9jYWxTdG9y
YWdlVmFsdWUgPyAiZG9lcyIgOiAiZG9lcyBub3QiKSArICIgZXhpc3QuIik7Ci0gICAgICAgICAg
ICAgICAgICAgIGNoZWNrTG9jYWxTdG9yYWdlQ2FsbGJhY2soKTsKLSAgICAgICAgICAgICAgICB9
IGVsc2UgaWYgKHRlc3RSdW5uZXIuaXNTdGF0aXN0aWNzSGFzTG9jYWxTdG9yYWdlKG9yaWdpblVu
ZGVyVGVzdCkpIHsKLSAgICAgICAgICAgICAgICAgICAgY2xlYXJJbnRlcnZhbChjaGVja0xvY2Fs
U3RvcmFnZUludGVydmFsSUQpOwotICAgICAgICAgICAgICAgICAgICBsZXQgdmFsdWUgPSBsb2Nh
bFN0b3JhZ2UuZ2V0SXRlbShsb2NhbFN0b3JhZ2VOYW1lKTsKLSAgICAgICAgICAgICAgICAgICAg
YWRkT3V0cHV0KCJCZWZvcmUgZGVsZXRpb246IExvY2FsU3RvcmFnZSBlbnRyeSAiICsgKHZhbHVl
ID09PSBsb2NhbFN0b3JhZ2VWYWx1ZSA/ICJkb2VzIiA6ICJkb2VzIG5vdCIpICsgIiBleGlzdC4i
KTsKLSAgICAgICAgICAgICAgICAgICAgY2hlY2tMb2NhbFN0b3JhZ2VDYWxsYmFjaygpOwotICAg
ICAgICAgICAgICAgIH0KLSAgICAgICAgICAgIH0sIDEwMCk7Ci0gICAgICAgIH0gZWxzZSB7Ci0g
ICAgICAgICAgICAvLyBDaGVjayB1bnRpbCB0aGVyZSBpcyBubyBMb2NhbFN0b3JhZ2UuCi0gICAg
ICAgICAgICBjaGVja0xvY2FsU3RvcmFnZUludGVydmFsSUQgPSBzZXRJbnRlcnZhbChmdW5jdGlv
bigpIHsKLSAgICAgICAgICAgICAgICBpZiAoKytpbnRlcnZhbENvdW50ZXJMb2NhbFN0b3JhZ2Ug
Pj0gbWF4SW50ZXJ2YWxzKSB7Ci0gICAgICAgICAgICAgICAgICAgIGNsZWFySW50ZXJ2YWwoY2hl
Y2tMb2NhbFN0b3JhZ2VJbnRlcnZhbElEKTsKLSAgICAgICAgICAgICAgICAgICAgbGV0IHZhbHVl
ID0gbG9jYWxTdG9yYWdlLmdldEl0ZW0obG9jYWxTdG9yYWdlTmFtZSk7Ci0gICAgICAgICAgICAg
ICAgICAgIGFkZE91dHB1dCgiQWZ0ZXIgZGVsZXRpb246IExvY2FsU3RvcmFnZSBlbnRyeSAiICsg
KHZhbHVlID09PSBsb2NhbFN0b3JhZ2VWYWx1ZSA/ICJkb2VzIiA6ICJkb2VzIG5vdCIpICsgIiBl
eGlzdC4iKTsKLSAgICAgICAgICAgICAgICAgICAgY2hlY2tMb2NhbFN0b3JhZ2VDYWxsYmFjaygp
OwotICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAoIXRlc3RSdW5uZXIuaXNTdGF0aXN0aWNzSGFz
TG9jYWxTdG9yYWdlKG9yaWdpblVuZGVyVGVzdCkpIHsKLSAgICAgICAgICAgICAgICAgICAgY2xl
YXJJbnRlcnZhbChjaGVja0xvY2FsU3RvcmFnZUludGVydmFsSUQpOwotICAgICAgICAgICAgICAg
ICAgICBsZXQgdmFsdWUgPSBsb2NhbFN0b3JhZ2UuZ2V0SXRlbShsb2NhbFN0b3JhZ2VOYW1lKTsK
LSAgICAgICAgICAgICAgICAgICAgYWRkT3V0cHV0KCJBZnRlciBkZWxldGlvbjogTG9jYWxTdG9y
YWdlIGVudHJ5ICIgKyAodmFsdWUgPT09IGxvY2FsU3RvcmFnZVZhbHVlID8gImRvZXMiIDogImRv
ZXMgbm90IikgKyAiIGV4aXN0LiIpOwotICAgICAgICAgICAgICAgICAgICBjaGVja0xvY2FsU3Rv
cmFnZUNhbGxiYWNrKCk7Ci0gICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgfSwgMTAwKTsK
LSAgICAgICAgfQotICAgIH0KLQotICAgIGFzeW5jIGZ1bmN0aW9uIHdyaXRlV2Vic2l0ZURhdGFB
bmRDb250aW51ZSgpIHsKLSAgICAgICAgLy8gV3JpdGUgY29va2llcy4KLSAgICAgICAgYXdhaXQg
ZmV0Y2goIi9jb29raWVzL3Jlc291cmNlcy9zZXQtaHR0cC1vbmx5LWNvb2tpZS5waHA/Y29va2ll
TmFtZT0iICsgaHR0cE9ubHlDb29raWVOYW1lLCB7IGNyZWRlbnRpYWxzOiAic2FtZS1vcmlnaW4i
IH0pOwotICAgICAgICBhd2FpdCBmZXRjaCgiL2Nvb2tpZXMvcmVzb3VyY2VzL3NldENvb2tpZXMu
Y2dpIiwgeyBoZWFkZXJzOiB7ICJTZXQtQ29va2llIjogc2VydmVyU2lkZUNvb2tpZU5hbWUgKyAi
PTE7IHBhdGg9LzsiIH0sIGNyZWRlbnRpYWxzOiAic2FtZS1vcmlnaW4iIH0pOwotICAgICAgICBk
b2N1bWVudC5jb29raWUgPSBjbGllbnRTaWRlQ29va2llTmFtZSArICI9MSI7Ci0KLSAgICAgICAg
Y2hlY2tDb29raWVzKGZhbHNlKTsKLQotICAgICAgICAvLyBXcml0ZSBMb2NhbFN0b3JhZ2UKLSAg
ICAgICAgbG9jYWxTdG9yYWdlLnNldEl0ZW0obG9jYWxTdG9yYWdlTmFtZSwgbG9jYWxTdG9yYWdl
VmFsdWUpOwotICAgICAgICBjaGVja0xvY2FsU3RvcmFnZUV4aXN0cyhmYWxzZSwgZnVuY3Rpb24o
KSB7Ci0KLSAgICAgICAgICAgIC8vIFdyaXRlIEluZGV4ZWREQi4KLSAgICAgICAgICAgIGNyZWF0
ZUlEQkRhdGFTdG9yZShmdW5jdGlvbiAoKSB7Ci0gICAgICAgICAgICAgICAgY2hlY2tJREJEYXRh
U3RvcmVFeGlzdHMoZmFsc2UsIGZ1bmN0aW9uKCkgewotICAgICAgICAgICAgICAgICAgICBhZGRM
aW5lYnJlYWtUb091dHB1dCgpOwotICAgICAgICAgICAgICAgICAgICBwcm9jZXNzV2Vic2l0ZURh
dGFBbmRDb250aW51ZSgpOwotICAgICAgICAgICAgICAgIH0pOwotICAgICAgICAgICAgfSk7Ci0g
ICAgICAgIH0pOwotICAgIH0KLQotICAgIGZ1bmN0aW9uIHByb2Nlc3NXZWJzaXRlRGF0YUFuZENv
bnRpbnVlKCkgewotICAgICAgICB0ZXN0UnVubmVyLmluc3RhbGxTdGF0aXN0aWNzRGlkU2NhbkRh
dGFSZWNvcmRzQ2FsbGJhY2soY2hlY2tXZWJzaXRlRGF0YUFuZENvbnRpbnVlKTsKLSAgICAgICAg
dGVzdFJ1bm5lci5zdGF0aXN0aWNzUHJvY2Vzc1N0YXRpc3RpY3NBbmREYXRhUmVjb3JkcygpOwot
ICAgIH0KLQotICAgIGZ1bmN0aW9uIGNoZWNrV2Vic2l0ZURhdGFBbmRDb250aW51ZSgpIHsKLSAg
ICAgICAgY2hlY2tDb29raWVzKHRydWUpOwotICAgICAgICBjaGVja0xvY2FsU3RvcmFnZUV4aXN0
cyh0cnVlLCBmdW5jdGlvbiAoKSB7Ci0gICAgICAgICAgICBjaGVja0lEQkRhdGFTdG9yZUV4aXN0
cyh0cnVlLCBmaW5pc2hUZXN0KTsKLSAgICAgICAgfSk7Ci0gICAgfQotCi0gICAgZnVuY3Rpb24g
ZmluaXNoVGVzdCgpIHsKLSAgICAgICAgcmVzZXRDb29raWVzKCk7Ci0gICAgICAgIHRlc3RSdW5u
ZXIuc2V0U3RhdGlzdGljc0ZpcnN0UGFydHlXZWJzaXRlRGF0YVJlbW92YWxNb2RlKGZhbHNlLCBm
dW5jdGlvbigpIHsKLSAgICAgICAgICAgIHNldEVuYWJsZUZlYXR1cmUoZmFsc2UsIGZ1bmN0aW9u
KCkgewotICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIubm90aWZ5RG9uZSgpOwotICAgICAgICAg
ICAgfSk7Ci0gICAgICAgIH0pOwotICAgIH0KLQotICAgIGNvbnN0IG9yaWdpblVuZGVyVGVzdCAg
PSAiaHR0cDovLzEyNy4wLjAuMTo4MDAwIjsKLSAgICBmdW5jdGlvbiBydW5UZXN0KCkgewotICAg
ICAgICBzZXRFbmFibGVGZWF0dXJlKHRydWUsIGZ1bmN0aW9uICgpIHsKLSAgICAgICAgICAgIHRl
c3RSdW5uZXIuc2V0U3RhdGlzdGljc0ZpcnN0UGFydHlXZWJzaXRlRGF0YVJlbW92YWxNb2RlKHRy
dWUsIGZ1bmN0aW9uKCkgewotICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGlj
c1ByZXZhbGVudFJlc291cmNlKG9yaWdpblVuZGVyVGVzdCwgdHJ1ZSwgZnVuY3Rpb24oKSB7Ci0g
ICAgICAgICAgICAgICAgICAgIGlmICghdGVzdFJ1bm5lci5pc1N0YXRpc3RpY3NQcmV2YWxlbnRS
ZXNvdXJjZShvcmlnaW5VbmRlclRlc3QpKQotICAgICAgICAgICAgICAgICAgICAgICAgYWRkT3V0
cHV0KCJGQUlMOiAiICsgb3JpZ2luVW5kZXJUZXN0ICsgIiBkaWRuJ3QgZ2V0IGNsYXNzaWZpZWQg
YXMgcHJldmFsZW50LiIpOwotICAgICAgICAgICAgICAgICAgICB3cml0ZVdlYnNpdGVEYXRhQW5k
Q29udGludWUoKTsKLSAgICAgICAgICAgICAgICB9KTsKLSAgICAgICAgICAgIH0pOwotICAgICAg
ICB9KTsKLSAgICB9Ci08L3NjcmlwdD4KLTwvYm9keT4KLTwvaHRtbD4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9zdHJpcC1yZWZlcnJl
ci10by1vcmlnaW4tZm9yLXByZXZhbGVudC1zdWJyZXNvdXJjZS1yZWRpcmVjdHMtZGF0YWJhc2Ut
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0
aWNzL3N0cmlwLXJlZmVycmVyLXRvLW9yaWdpbi1mb3ItcHJldmFsZW50LXN1YnJlc291cmNlLXJl
ZGlyZWN0cy1kYXRhYmFzZS1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDdiZDU0M2VjOWFmMzI0YmQ1MGRjMWQ0Yzg2Y2RiMDllOWM0ZDViMjguLjAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0
cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3N0cmlwLXJlZmVycmVyLXRvLW9yaWdpbi1mb3ItcHJl
dmFsZW50LXN1YnJlc291cmNlLXJlZGlyZWN0cy1kYXRhYmFzZS1leHBlY3RlZC50eHQKKysrIC9k
ZXYvbnVsbApAQCAtMSwxNSArMCwwIEBACi1UZXN0cyB0aGF0IG9ubHkgdGhlIG9yaWdpbiBpcyBz
ZW50IGFzIHJlZmVycmVyIGluIHJlZGlyZWN0cyB0byBwcmV2YWxlbnQgcmVzb3VyY2VzIHdpdGhv
dXQgdXNlciBpbnRlcmFjdGlvbi4KLQotT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVz
IG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgotCi0KLVBB
U1MgcmVmZXJyZXIgaXMgImh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9yZXNvdXJjZUxvYWRTdGF0aXN0
aWNzL3N0cmlwLXJlZmVycmVyLXRvLW9yaWdpbi1mb3ItcHJldmFsZW50LXN1YnJlc291cmNlLXJl
ZGlyZWN0cy1kYXRhYmFzZS5odG1sIgotUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQot
Ci1URVNUIENPTVBMRVRFCi0KLQotLS0tLS0tLS0KLUZyYW1lOiAnPCEtLWZyYW1lMS0tPicKLS0t
LS0tLS0tCi1odHRwOi8vMTI3LjAuMC4xOjgwMDAvCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9o
dHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3Mvc3RyaXAtcmVmZXJyZXItdG8tb3JpZ2lu
LWZvci1wcmV2YWxlbnQtc3VicmVzb3VyY2UtcmVkaXJlY3RzLWRhdGFiYXNlLmh0bWwgYi9MYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3Mvc3RyaXAtcmVmZXJyZXIt
dG8tb3JpZ2luLWZvci1wcmV2YWxlbnQtc3VicmVzb3VyY2UtcmVkaXJlY3RzLWRhdGFiYXNlLmh0
bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGIwZjhhMmY0MjBiNWFhNjJjMzdhMjVk
NGJkZGZlZDMzYTMzYmZhNWYuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3N0
cmlwLXJlZmVycmVyLXRvLW9yaWdpbi1mb3ItcHJldmFsZW50LXN1YnJlc291cmNlLXJlZGlyZWN0
cy1kYXRhYmFzZS5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsNTEgKzAsMCBAQAotPCFET0NUWVBF
IGh0bWw+Ci08aHRtbD4KLTxoZWFkPgotICAgIDxzY3JpcHQgc3JjPSIvanMtdGVzdC1yZXNvdXJj
ZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+Ci0gICAgPHNjcmlwdCBzcmM9InJlc291cmNlcy91dGls
LmpzIj48L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5PgotPHNjcmlwdD4KLSAgICBkZXNjcmlwdGlv
bigiVGVzdHMgdGhhdCBvbmx5IHRoZSBvcmlnaW4gaXMgc2VudCBhcyByZWZlcnJlciBpbiByZWRp
cmVjdHMgdG8gcHJldmFsZW50IHJlc291cmNlcyB3aXRob3V0IHVzZXIgaW50ZXJhY3Rpb24uIik7
Ci0gICAganNUZXN0SXNBc3luYyA9IHRydWU7Ci0gICAgdGVzdFJ1bm5lci5kdW1wQ2hpbGRGcmFt
ZXNBc1RleHQoKTsKLQotICAgIGZ1bmN0aW9uIG9wZW5JZnJhbWUodXJsLCBvbkxvYWRIYW5kbGVy
KSB7Ci0gICAgICAgIGNvbnN0IGVsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJpZnJh
bWUiKTsKLSAgICAgICAgZWxlbWVudC5zcmMgPSB1cmw7Ci0gICAgICAgIGlmIChvbkxvYWRIYW5k
bGVyKSB7Ci0gICAgICAgICAgICBlbGVtZW50Lm9ubG9hZCA9IG9uTG9hZEhhbmRsZXI7Ci0gICAg
ICAgIH0KLSAgICAgICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChlbGVtZW50KTsKLSAgICB9
Ci0KLSAgICB2YXIgcmVmZXJyZXI7Ci0gICAgdGVzdFJ1bm5lci5zZXRVc2VJVFBEYXRhYmFzZSh0
cnVlKTsKLSAgICBzZXRFbmFibGVGZWF0dXJlKHRydWUsIGZ1bmN0aW9uKCkgewotICAgICAgICBp
ZiAodGVzdFJ1bm5lci5pc1N0YXRpc3RpY3NQcmV2YWxlbnRSZXNvdXJjZSgiaHR0cDovL2xvY2Fs
aG9zdCIpKQotICAgICAgICAgICAgdGVzdEZhaWxlZCgiTG9jYWxob3N0IHdhcyBjbGFzc2lmaWVk
IGFzIHByZXZhbGVudCByZXNvdXJjZSBiZWZvcmUgdGhlIHRlc3Qgc3RhcnRlZC4iKTsKLQotICAg
ICAgICBmZXRjaCgicmVzb3VyY2VzL2VjaG8tcmVmZXJyZXIucGhwIikudGhlbihmdW5jdGlvbihy
ZXNwb25zZSkgewotICAgICAgICAgICAgcmV0dXJuIHJlc3BvbnNlLnRleHQoKTsKLSAgICAgICAg
fSkudGhlbihmdW5jdGlvbihkYXRhKSB7Ci0gICAgICAgICAgICByZWZlcnJlciA9IGRhdGE7Ci0g
ICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInJlZmVycmVyIiwgImh0dHA6Ly8xMjcu
MC4wLjE6ODAwMC9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3N0cmlwLXJlZmVycmVyLXRvLW9yaWdp
bi1mb3ItcHJldmFsZW50LXN1YnJlc291cmNlLXJlZGlyZWN0cy1kYXRhYmFzZS5odG1sIik7Ci0K
LSAgICAgICAgICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc1ByZXZhbGVudFJlc291cmNlKCJo
dHRwOi8vbG9jYWxob3N0IiwgdHJ1ZSwgZnVuY3Rpb24oKSB7Ci0gICAgICAgICAgICAgICAgaWYg
KCF0ZXN0UnVubmVyLmlzU3RhdGlzdGljc1ByZXZhbGVudFJlc291cmNlKCJodHRwOi8vbG9jYWxo
b3N0IikpCi0gICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoIkhvc3QgZGlkIG5vdCBnZXQg
c2V0IGFzIHByZXZhbGVudCByZXNvdXJjZS4iKTsKLQotICAgICAgICAgICAgICAgIHRlc3RSdW5u
ZXIuc3RhdGlzdGljc1VwZGF0ZUNvb2tpZUJsb2NraW5nKGZ1bmN0aW9uKCkgewotICAgICAgICAg
ICAgICAgICAgICBvcGVuSWZyYW1lKCJyZXNvdXJjZXMvcmVkaXJlY3QucGhwP3JlZGlyZWN0VG89
aHR0cDovL2xvY2FsaG9zdDo4MDAwL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvcmVzb3VyY2VzL2Vj
aG8tcmVmZXJyZXIucGhwIiwgZnVuY3Rpb24oKSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICBz
ZXRFbmFibGVGZWF0dXJlKGZhbHNlLCBmaW5pc2hKU1Rlc3QpOwotICAgICAgICAgICAgICAgICAg
ICB9KTsKLSAgICAgICAgICAgICAgICB9KTsKLSAgICAgICAgICAgIH0pOwotICAgICAgICB9KS5j
YXRjaChmdW5jdGlvbihlcnJvcikgewotICAgICAgICAgICAgY29uc29sZS5sb2coZXJyb3IubWVz
c2FnZSk7Ci0gICAgICAgICAgICBzZXRFbmFibGVGZWF0dXJlKGZhbHNlLCBmaW5pc2hKU1Rlc3Qp
OwotICAgICAgICB9KTsKLSAgICB9KTsKLTwvc2NyaXB0PgotPC9ib2R5PgotPC9odG1sPgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3N0
cmlwLXJlZmVycmVyLXRvLW9yaWdpbi1mb3ItcHJldmFsZW50LXN1YnJlc291cmNlLXJlcXVlc3Rz
LWRhdGFiYXNlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VM
b2FkU3RhdGlzdGljcy9zdHJpcC1yZWZlcnJlci10by1vcmlnaW4tZm9yLXByZXZhbGVudC1zdWJy
ZXNvdXJjZS1yZXF1ZXN0cy1kYXRhYmFzZS1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDg5Y2NiOWMyMWZmMDA3MWE5ODAyMzliN2I3OTNmNTUxODdlYmVlNWUuLjAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMv
aHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3N0cmlwLXJlZmVycmVyLXRvLW9yaWdp
bi1mb3ItcHJldmFsZW50LXN1YnJlc291cmNlLXJlcXVlc3RzLWRhdGFiYXNlLWV4cGVjdGVkLnR4
dAorKysgL2Rldi9udWxsCkBAIC0xLDE2ICswLDAgQEAKLVRlc3RzIHRoYXQgb25seSB0aGUgb3Jp
Z2luIGlzIHNlbnQgYXMgcmVmZXJyZXIgZm9yIHByZXZhbGVudCByZXNvdXJjZXMgd2l0aG91dCB1
c2VyIGludGVyYWN0aW9uLgotCi1PbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2Yg
IlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCi0KLQotUEFTUyBy
ZWZlcnJlciBpcyAiaHR0cDovLzEyNy4wLjAuMTo4MDAwL3Jlc291cmNlTG9hZFN0YXRpc3RpY3Mv
c3RyaXAtcmVmZXJyZXItdG8tb3JpZ2luLWZvci1wcmV2YWxlbnQtc3VicmVzb3VyY2UtcmVxdWVz
dHMtZGF0YWJhc2UuaHRtbCIKLVBBU1MgcmVmZXJyZXIgaXMgImh0dHA6Ly8xMjcuMC4wLjE6ODAw
MC8iCi1QQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCi0KLVRFU1QgQ09NUExFVEUKLQot
Ci0tLS0tLS0tLQotRnJhbWU6ICc8IS0tZnJhbWUxLS0+JwotLS0tLS0tLS0KLWh0dHA6Ly8xMjcu
MC4wLjE6ODAwMC8KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VM
b2FkU3RhdGlzdGljcy9zdHJpcC1yZWZlcnJlci10by1vcmlnaW4tZm9yLXByZXZhbGVudC1zdWJy
ZXNvdXJjZS1yZXF1ZXN0cy1kYXRhYmFzZS5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9y
ZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3N0cmlwLXJlZmVycmVyLXRvLW9yaWdpbi1mb3ItcHJldmFs
ZW50LXN1YnJlc291cmNlLXJlcXVlc3RzLWRhdGFiYXNlLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDE1ZDRmMDM2NmY5N2NmY2U5NDI4YTZhODZlNTE1NDgzNjBlMzIxNzcuLjAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMv
aHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3N0cmlwLXJlZmVycmVyLXRvLW9yaWdp
bi1mb3ItcHJldmFsZW50LXN1YnJlc291cmNlLXJlcXVlc3RzLWRhdGFiYXNlLmh0bWwKKysrIC9k
ZXYvbnVsbApAQCAtMSw2MiArMCwwIEBACi08IURPQ1RZUEUgaHRtbD4KLTxodG1sPgotPGhlYWQ+
Ci0gICAgPHNjcmlwdCBzcmM9Ii9qcy10ZXN0LXJlc291cmNlcy9qcy10ZXN0LmpzIj48L3Njcmlw
dD4KLSAgICA8c2NyaXB0IHNyYz0icmVzb3VyY2VzL3V0aWwuanMiPjwvc2NyaXB0PgotPC9oZWFk
PgotPGJvZHk+Ci08c2NyaXB0PgotICAgIGRlc2NyaXB0aW9uKCJUZXN0cyB0aGF0IG9ubHkgdGhl
IG9yaWdpbiBpcyBzZW50IGFzIHJlZmVycmVyIGZvciBwcmV2YWxlbnQgcmVzb3VyY2VzIHdpdGhv
dXQgdXNlciBpbnRlcmFjdGlvbi4iKTsKLSAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKLSAgICB0
ZXN0UnVubmVyLmR1bXBDaGlsZEZyYW1lc0FzVGV4dCgpOwotCi0gICAgZnVuY3Rpb24gb3Blbklm
cmFtZSh1cmwsIG9uTG9hZEhhbmRsZXIpIHsKLSAgICAgICAgY29uc3QgZWxlbWVudCA9IGRvY3Vt
ZW50LmNyZWF0ZUVsZW1lbnQoImlmcmFtZSIpOwotICAgICAgICBlbGVtZW50LnNyYyA9IHVybDsK
LSAgICAgICAgaWYgKG9uTG9hZEhhbmRsZXIpIHsKLSAgICAgICAgICAgIGVsZW1lbnQub25sb2Fk
ID0gb25Mb2FkSGFuZGxlcjsKLSAgICAgICAgfQotICAgICAgICBkb2N1bWVudC5ib2R5LmFwcGVu
ZENoaWxkKGVsZW1lbnQpOwotICAgIH0KLQotICAgIHZhciByZWZlcnJlcjsKLSAgICB0ZXN0UnVu
bmVyLnNldFVzZUlUUERhdGFiYXNlKHRydWUpOwotICAgIHNldEVuYWJsZUZlYXR1cmUodHJ1ZSwg
ZnVuY3Rpb24oKSB7Ci0gICAgICAgIGlmICh0ZXN0UnVubmVyLmlzU3RhdGlzdGljc1ByZXZhbGVu
dFJlc291cmNlKCJodHRwOi8vbG9jYWxob3N0IikpCi0gICAgICAgICAgICB0ZXN0RmFpbGVkKCJM
b2NhbGhvc3Qgd2FzIGNsYXNzaWZpZWQgYXMgcHJldmFsZW50IHJlc291cmNlIGJlZm9yZSB0aGUg
dGVzdCBzdGFydGVkLiIpOwotCi0gICAgICAgIGZldGNoKCJyZXNvdXJjZXMvZWNoby1yZWZlcnJl
ci5waHAiKS50aGVuKGZ1bmN0aW9uKHJlc3BvbnNlKSB7Ci0gICAgICAgICAgICByZXR1cm4gcmVz
cG9uc2UudGV4dCgpOwotICAgICAgICB9KS50aGVuKGZ1bmN0aW9uKGRhdGEpIHsKLSAgICAgICAg
ICAgIHJlZmVycmVyID0gZGF0YTsKLSAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygi
cmVmZXJyZXIiLCAiaHR0cDovLzEyNy4wLjAuMTo4MDAwL3Jlc291cmNlTG9hZFN0YXRpc3RpY3Mv
c3RyaXAtcmVmZXJyZXItdG8tb3JpZ2luLWZvci1wcmV2YWxlbnQtc3VicmVzb3VyY2UtcmVxdWVz
dHMtZGF0YWJhc2UuaHRtbCIpOwotCi0gICAgICAgICAgICB0ZXN0UnVubmVyLnNldFN0YXRpc3Rp
Y3NQcmV2YWxlbnRSZXNvdXJjZSgiaHR0cDovL2xvY2FsaG9zdCIsIHRydWUsIGZ1bmN0aW9uKCkg
ewotICAgICAgICAgICAgICAgIGlmICghdGVzdFJ1bm5lci5pc1N0YXRpc3RpY3NQcmV2YWxlbnRS
ZXNvdXJjZSgiaHR0cDovL2xvY2FsaG9zdCIpKQotICAgICAgICAgICAgICAgICAgICB0ZXN0RmFp
bGVkKCJIb3N0IGRpZCBub3QgZ2V0IHNldCBhcyBwcmV2YWxlbnQgcmVzb3VyY2UuIik7Ci0KLSAg
ICAgICAgICAgICAgICB0ZXN0UnVubmVyLnN0YXRpc3RpY3NVcGRhdGVDb29raWVCbG9ja2luZyhm
dW5jdGlvbigpIHsKLSAgICAgICAgICAgICAgICAgICAgZmV0Y2goImh0dHA6Ly9sb2NhbGhvc3Q6
ODAwMC9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3Jlc291cmNlcy9lY2hvLXJlZmVycmVyLnBocCIp
LnRoZW4oZnVuY3Rpb24ocmVzcG9uc2UpIHsKLSAgICAgICAgICAgICAgICAgICAgICAgIHJldHVy
biByZXNwb25zZS50ZXh0KCk7Ci0gICAgICAgICAgICAgICAgICAgIH0pLnRoZW4oZnVuY3Rpb24o
ZGF0YSkgewotICAgICAgICAgICAgICAgICAgICAgICAgcmVmZXJyZXIgPSBkYXRhOwotICAgICAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJyZWZlcnJlciIsICJodHRw
Oi8vMTI3LjAuMC4xOjgwMDAvIik7Ci0KLSAgICAgICAgICAgICAgICAgICAgICAgIG9wZW5JZnJh
bWUoInJlc291cmNlcy9yZWRpcmVjdC5waHA/cmVkaXJlY3RUbz1odHRwOi8vbG9jYWxob3N0Ojgw
MDAvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9yZXNvdXJjZXMvZWNoby1yZWZlcnJlci5waHAiLCBm
dW5jdGlvbigpIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZXRFbmFibGVGZWF0dXJl
KGZhbHNlLCBmaW5pc2hKU1Rlc3QpOwotICAgICAgICAgICAgICAgICAgICAgICAgfSk7Ci0KLSAg
ICAgICAgICAgICAgICAgICAgfSkuY2F0Y2goZnVuY3Rpb24oZXJyb3IpIHsKLSAgICAgICAgICAg
ICAgICAgICAgICAgIGNvbnNvbGUubG9nKGVycm9yLm1lc3NhZ2UpOwotICAgICAgICAgICAgICAg
ICAgICAgICAgc2V0RW5hYmxlRmVhdHVyZShmYWxzZSwgZmluaXNoSlNUZXN0KTsKLSAgICAgICAg
ICAgICAgICAgICAgfSk7Ci0gICAgICAgICAgICAgICAgfSk7Ci0gICAgICAgICAgICB9KTsKLSAg
ICAgICAgfSkuY2F0Y2goZnVuY3Rpb24oZXJyb3IpIHsKLSAgICAgICAgICAgIGNvbnNvbGUubG9n
KGVycm9yLm1lc3NhZ2UpOwotICAgICAgICAgICAgc2V0RW5hYmxlRmVhdHVyZShmYWxzZSwgZmlu
aXNoSlNUZXN0KTsKLSAgICAgICAgfSk7Ci0gICAgfSk7Ci08L3NjcmlwdD4KLTwvYm9keT4KLTwv
aHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3Rh
dGlzdGljcy9zd2l0Y2gtc2Vzc2lvbi1vbi1uYXZpZ2F0aW9uLXRvLXByZXZhbGVudC13aXRoLWlu
dGVyYWN0aW9uLWRhdGFiYXNlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMv
cmVzb3VyY2VMb2FkU3RhdGlzdGljcy9zd2l0Y2gtc2Vzc2lvbi1vbi1uYXZpZ2F0aW9uLXRvLXBy
ZXZhbGVudC13aXRoLWludGVyYWN0aW9uLWRhdGFiYXNlLWV4cGVjdGVkLnR4dApkZWxldGVkIGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMzQzOTIyZmQ5M2YxYTU0NDRmMmNiMDY4ODRlZmMzMjkwYmFl
NTFmNC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3Mvc3dpdGNoLXNlc3Npb24t
b24tbmF2aWdhdGlvbi10by1wcmV2YWxlbnQtd2l0aC1pbnRlcmFjdGlvbi1kYXRhYmFzZS1leHBl
Y3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSwxMiArMCwwIEBACi1UZXN0cyB0aGF0IHRoZSBz
ZXNzaW9uIGlzIHN3aXRjaGVkIHVwb24gdG9wIGZyYW1lIG5hdmlnYXRpb24gdG8gYSBwcmV2YWxl
bnQgcmVzb3VyY2Ugd2l0aCB1c2VyIGludGVyYWN0aW9uLgotCi1PbiBzdWNjZXNzLCB5b3Ugd2ls
bCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01Q
TEVURSIuCi0KLQotUEFTUyBTaG91bGQgaGF2ZSBhbmQgaGFzIHRoZSBzZXNzaW9uIGNvb2tpZS4K
LVBBU1MgU2hvdWxkIGhhdmUgYW5kIGhhcyB0aGUgcGVyc2lzdGVudCBjb29raWUuCi1QQVNTIE9y
aWdpbiBoYXMgaXNvbGF0ZWQgc2Vzc2lvbi4KLVBBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRy
dWUKLQotVEVTVCBDT01QTEVURQotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L3Jlc291cmNlTG9hZFN0YXRpc3RpY3Mvc3dpdGNoLXNlc3Npb24tb24tbmF2aWdhdGlvbi10by1w
cmV2YWxlbnQtd2l0aC1pbnRlcmFjdGlvbi1kYXRhYmFzZS5waHAgYi9MYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3Mvc3dpdGNoLXNlc3Npb24tb24tbmF2aWdhdGlv
bi10by1wcmV2YWxlbnQtd2l0aC1pbnRlcmFjdGlvbi1kYXRhYmFzZS5waHAKZGVsZXRlZCBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDlkNjU4N2ZmNzkyNTczNzRmMGUzNzMzZjQ3ZjY0MGQwODY2OThl
MDEuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3N3aXRjaC1zZXNzaW9uLW9u
LW5hdmlnYXRpb24tdG8tcHJldmFsZW50LXdpdGgtaW50ZXJhY3Rpb24tZGF0YWJhc2UucGhwCisr
KyAvZGV2L251bGwKQEAgLTEsMTE0ICswLDAgQEAKLTw/cGhwCi0gICAgaGVhZGVyKCJDYWNoZS1D
b250cm9sOiBuby1zdG9yZSIpOwotPz4KLTwhRE9DVFlQRSBodG1sPgotPGh0bWwgbGFuZz0iZW4i
PgotPGhlYWQ+Ci0gICAgPG1ldGEgY2hhcnNldD0iVVRGLTgiPgotICAgIDxzY3JpcHQgc3JjPSIv
anMtdGVzdC1yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+Ci0gICAgPHNjcmlwdCBzcmM9
InJlc291cmNlcy91dGlsLmpzIj48L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5IG9ubG9hZD0icnVu
VGVzdCgpIj4KLTxzY3JpcHQ+Ci0gICAgZGVzY3JpcHRpb24oIlRlc3RzIHRoYXQgdGhlIHNlc3Np
b24gaXMgc3dpdGNoZWQgdXBvbiB0b3AgZnJhbWUgbmF2aWdhdGlvbiB0byBhIHByZXZhbGVudCBy
ZXNvdXJjZSB3aXRoIHVzZXIgaW50ZXJhY3Rpb24uIik7Ci0gICAganNUZXN0SXNBc3luYyA9IHRy
dWU7Ci0KLSAgICBjb25zdCBwcmV2YWxlbnRPcmlnaW4gPSAiaHR0cDovLzEyNy4wLjAuMTo4MDAw
IjsKLSAgICBjb25zdCBub25QcmV2YWxlbnRPcmlnaW4gPSAiaHR0cDovL2xvY2FsaG9zdDo4MDAw
IjsKLSAgICBjb25zdCBzZXNzaW9uQ29va2llTmFtZSA9ICJzZXNzaW9uQ29va2llIjsKLSAgICBj
b25zdCBwZXJzaXN0ZW50Q29va2llTmFtZSA9ICJwZXJzaXN0ZW50Q29va2llIjsKLSAgICBjb25z
dCB0d29NaW51dGVzSW5TZWNvbmRzID0gMTIwOwotCi0gICAgZnVuY3Rpb24gc2V0U2Vzc2lvbkNv
b2tpZSgpIHsKLSAgICAgICAgZG9jdW1lbnQuY29va2llID0gc2Vzc2lvbkNvb2tpZU5hbWUgKyAi
PTE7IHBhdGg9LyI7Ci0gICAgfQotCi0gICAgZnVuY3Rpb24gc2V0UGVyc2lzdGVudENvb2tpZSgp
IHsKLSAgICAgICAgZG9jdW1lbnQuY29va2llID0gcGVyc2lzdGVudENvb2tpZU5hbWUgKyAiPTE7
IHBhdGg9LzsgTWF4LUFnZT0iICsgdHdvTWludXRlc0luU2Vjb25kcyArICI7IjsKLSAgICB9Ci0K
LSAgICBmdW5jdGlvbiBjaGVja0Nvb2tpZXMoc2hvdWxkSGF2ZVNlc3Npb25Db29raWUsIHNob3Vs
ZEhhdmVQZXJzaXN0ZW50Q29va2llKSB7Ci0gICAgICAgIGxldCBoYXNTZXNzaW9uQ29va2llID0g
KGRvY3VtZW50LmNvb2tpZSArICIiKS5pbmNsdWRlcyhzZXNzaW9uQ29va2llTmFtZSksCi0gICAg
ICAgICAgICBoYXNQZXJzaXN0ZW50Q29va2llID0gKGRvY3VtZW50LmNvb2tpZSArICIiKS5pbmNs
dWRlcyhwZXJzaXN0ZW50Q29va2llTmFtZSk7Ci0KLSAgICAgICAgaWYgKHNob3VsZEhhdmVTZXNz
aW9uQ29va2llICYmIGhhc1Nlc3Npb25Db29raWUpCi0gICAgICAgICAgICB0ZXN0UGFzc2VkKCJT
aG91bGQgaGF2ZSBhbmQgaGFzIHRoZSBzZXNzaW9uIGNvb2tpZS4iKTsKLSAgICAgICAgZWxzZSBp
ZiAoc2hvdWxkSGF2ZVNlc3Npb25Db29raWUgJiYgIWhhc1Nlc3Npb25Db29raWUpIHsKLSAgICAg
ICAgICAgIHRlc3RGYWlsZWQoIlNob3VsZCBoYXZlIGJ1dCBkb2Vzbid0IGhhdmUgdGhlIHNlc3Np
b24gY29va2llLiIpOwotICAgICAgICAgICAgc2V0RW5hYmxlRmVhdHVyZShmYWxzZSwgZmluaXNo
SlNUZXN0KTsKLSAgICAgICAgfSBlbHNlIGlmICghc2hvdWxkSGF2ZVNlc3Npb25Db29raWUgJiYg
aGFzU2Vzc2lvbkNvb2tpZSkgewotICAgICAgICAgICAgdGVzdEZhaWxlZCgiU2hvdWxkbid0IGhh
dmUgYnV0IGhhcyB0aGUgc2Vzc2lvbiBjb29raWUuIik7Ci0gICAgICAgICAgICBzZXRFbmFibGVG
ZWF0dXJlKGZhbHNlLCBmaW5pc2hKU1Rlc3QpOwotICAgICAgICB9IGVsc2UKLSAgICAgICAgICAg
IHRlc3RQYXNzZWQoIlNob3VsZG4ndCBoYXZlIGFuZCBkb2Vzbid0IGhhdmUgdGhlIHNlc3Npb24g
Y29va2llLiIpOwotCi0KLSAgICAgICAgaWYgKHNob3VsZEhhdmVQZXJzaXN0ZW50Q29va2llICYm
IGhhc1BlcnNpc3RlbnRDb29raWUpCi0gICAgICAgICAgICB0ZXN0UGFzc2VkKCJTaG91bGQgaGF2
ZSBhbmQgaGFzIHRoZSBwZXJzaXN0ZW50IGNvb2tpZS4iKTsKLSAgICAgICAgZWxzZSBpZiAoc2hv
dWxkSGF2ZVBlcnNpc3RlbnRDb29raWUgJiYgIWhhc1BlcnNpc3RlbnRDb29raWUpIHsKLSAgICAg
ICAgICAgIHRlc3RGYWlsZWQoIlNob3VsZCBoYXZlIGJ1dCBkb2Vzbid0IGhhdmUgdGhlIHBlcnNp
c3RlbnQgY29va2llLiIpOwotICAgICAgICAgICAgc2V0RW5hYmxlRmVhdHVyZShmYWxzZSwgZmlu
aXNoSlNUZXN0KTsKLSAgICAgICAgfSBlbHNlIGlmICghc2hvdWxkSGF2ZVBlcnNpc3RlbnRDb29r
aWUgJiYgaGFzUGVyc2lzdGVudENvb2tpZSkgewotICAgICAgICAgICAgdGVzdEZhaWxlZCgiU2hv
dWxkbid0IGhhdmUgYnV0IGhhcyB0aGUgcGVyc2lzdGVudCBjb29raWUuIik7Ci0gICAgICAgICAg
ICBzZXRFbmFibGVGZWF0dXJlKGZhbHNlLCBmaW5pc2hKU1Rlc3QpOwotICAgICAgICB9IGVsc2UK
LSAgICAgICAgICAgIHRlc3RQYXNzZWQoIlNob3VsZG4ndCBoYXZlIGFuZCBkb2Vzbid0IGhhdmUg
dGhlIHBlcnNpc3RlbnQgY29va2llLiIpOwotICAgIH0KLQotICAgIGZ1bmN0aW9uIHJ1blRlc3Qo
KSB7Ci0gICAgICAgIHN3aXRjaCAoZG9jdW1lbnQubG9jYXRpb24uaGFzaCkgewotICAgICAgICAg
ICAgY2FzZSAiIjoKLSAgICAgICAgICAgICAgICBpZiAoZG9jdW1lbnQubG9jYXRpb24ub3JpZ2lu
ICE9PSBwcmV2YWxlbnRPcmlnaW4pCi0gICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoIlRl
c3QgaXMgbm90IHN0YXJ0aW5nIG91dCBvbiAiICsgcHJldmFsZW50T3JpZ2luICsgIi4iKTsKLSAg
ICAgICAgICAgICAgICB0ZXN0UnVubmVyLnNldFVzZUlUUERhdGFiYXNlKHRydWUpOwotICAgICAg
ICAgICAgICAgIHNldEVuYWJsZUZlYXR1cmUodHJ1ZSwgZnVuY3Rpb24gKCkgewotICAgICAgICAg
ICAgICAgICAgICBpZiAodGVzdFJ1bm5lci5pc1N0YXRpc3RpY3NQcmV2YWxlbnRSZXNvdXJjZShw
cmV2YWxlbnRPcmlnaW4pKQotICAgICAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChwcmV2
YWxlbnRPcmlnaW4gKyAiIHdhcyBjbGFzc2lmaWVkIGFzIHByZXZhbGVudCByZXNvdXJjZSBiZWZv
cmUgdGhlIHRlc3Qgc3RhcnRzLiIpOwotICAgICAgICAgICAgICAgICAgICBkb2N1bWVudC5sb2Nh
dGlvbi5oYXNoID0gInN0ZXAxIjsKLSAgICAgICAgICAgICAgICAgICAgcnVuVGVzdCgpOwotICAg
ICAgICAgICAgICAgIH0pOwotICAgICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICAgICAgY2Fz
ZSAiI3N0ZXAxIjoKLSAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NIYXNI
YWRVc2VySW50ZXJhY3Rpb24ocHJldmFsZW50T3JpZ2luLCB0cnVlLCBmdW5jdGlvbigpIHsKLSAg
ICAgICAgICAgICAgICAgICAgc2V0U2Vzc2lvbkNvb2tpZSgpOwotICAgICAgICAgICAgICAgICAg
ICBzZXRQZXJzaXN0ZW50Q29va2llKCk7Ci0gICAgICAgICAgICAgICAgICAgIGNoZWNrQ29va2ll
cyh0cnVlLCB0cnVlKTsKLSAgICAgICAgICAgICAgICAgICAgaWYgKHRlc3RSdW5uZXIuaGFzU3Rh
dGlzdGljc0lzb2xhdGVkU2Vzc2lvbihwcmV2YWxlbnRPcmlnaW4pKSB7Ci0gICAgICAgICAgICAg
ICAgICAgICAgICB0ZXN0RmFpbGVkKCJPcmlnaW4gaGFzIGlzb2xhdGVkIHNlc3Npb24uIik7Ci0g
ICAgICAgICAgICAgICAgICAgICAgICBzZXRFbmFibGVGZWF0dXJlKGZhbHNlLCBmaW5pc2hKU1Rl
c3QpOwotICAgICAgICAgICAgICAgICAgICB9IGVsc2UKLSAgICAgICAgICAgICAgICAgICAgICAg
IHRlc3RQYXNzZWQoIk9yaWdpbiBoYXMgbm8gaXNvbGF0ZWQgc2Vzc2lvbi4iKTsKLSAgICAgICAg
ICAgICAgICAgICAgZG9jdW1lbnQubG9jYXRpb24uaHJlZiA9IG5vblByZXZhbGVudE9yaWdpbiAr
ICIvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9zd2l0Y2gtc2Vzc2lvbi1vbi1uYXZpZ2F0aW9uLXRv
LXByZXZhbGVudC13aXRoLWludGVyYWN0aW9uLWRhdGFiYXNlLnBocCNzdGVwMiI7Ci0gICAgICAg
ICAgICAgICAgfSk7Ci0gICAgICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgICAgICBjYXNlICIj
c3RlcDIiOgotICAgICAgICAgICAgICAgIGRvY3VtZW50LmxvY2F0aW9uLmhhc2ggPSAic3RlcDMi
OwotICAgICAgICAgICAgICAgIGlmIChkb2N1bWVudC5sb2NhdGlvbi5vcmlnaW4gIT09IG5vblBy
ZXZhbGVudE9yaWdpbikKLSAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZCgiU3RlcCAyIGlz
IG5vdCBvbiAiICsgbm9uUHJldmFsZW50T3JpZ2luICsgIi4iKTsKLSAgICAgICAgICAgICAgICB0
ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NQcmV2YWxlbnRSZXNvdXJjZShwcmV2YWxlbnRPcmlnaW4s
IHRydWUsIGZ1bmN0aW9uKCkgewotICAgICAgICAgICAgICAgICAgICBpZiAoIXRlc3RSdW5uZXIu
aXNTdGF0aXN0aWNzUHJldmFsZW50UmVzb3VyY2UocHJldmFsZW50T3JpZ2luKSkgewotICAgICAg
ICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChwcmV2YWxlbnRPcmlnaW4gKyAiIGRpZCBub3Qg
Z2V0IHNldCBhcyBwcmV2YWxlbnQgcmVzb3VyY2UuIik7Ci0gICAgICAgICAgICAgICAgICAgICAg
ICBzZXRFbmFibGVGZWF0dXJlKGZhbHNlLCBmaW5pc2hKU1Rlc3QpOwotICAgICAgICAgICAgICAg
ICAgICB9Ci0gICAgICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIuc3RhdGlzdGljc1VwZGF0ZUNv
b2tpZUJsb2NraW5nKHJ1blRlc3QpOwotICAgICAgICAgICAgICAgIH0pOwotICAgICAgICAgICAg
ICAgIGJyZWFrOwotICAgICAgICAgICAgY2FzZSAiI3N0ZXAzIjoKLSAgICAgICAgICAgICAgICBk
b2N1bWVudC5sb2NhdGlvbi5ocmVmID0gcHJldmFsZW50T3JpZ2luICsgIi9yZXNvdXJjZUxvYWRT
dGF0aXN0aWNzL3N3aXRjaC1zZXNzaW9uLW9uLW5hdmlnYXRpb24tdG8tcHJldmFsZW50LXdpdGgt
aW50ZXJhY3Rpb24tZGF0YWJhc2UucGhwI3N0ZXA0IjsKLSAgICAgICAgICAgICAgICBicmVhazsK
LSAgICAgICAgICAgIGNhc2UgIiNzdGVwNCI6Ci0gICAgICAgICAgICAgICAgY2hlY2tDb29raWVz
KHRydWUsIHRydWUpOwotICAgICAgICAgICAgICAgIGlmICh0ZXN0UnVubmVyLmhhc1N0YXRpc3Rp
Y3NJc29sYXRlZFNlc3Npb24ocHJldmFsZW50T3JpZ2luKSkKLSAgICAgICAgICAgICAgICAgICAg
dGVzdFBhc3NlZCgiT3JpZ2luIGhhcyBpc29sYXRlZCBzZXNzaW9uLiIpOwotICAgICAgICAgICAg
ICAgIGVsc2UKLSAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZCgiT3JpZ2luIGhhcyBubyBp
c29sYXRlZCBzZXNzaW9uLiIpOwotICAgICAgICAgICAgICAgIHNldEVuYWJsZUZlYXR1cmUoZmFs
c2UsIGZpbmlzaEpTVGVzdCk7Ci0gICAgICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgICAgICBk
ZWZhdWx0OgotICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoIlVua25vd24gaGFzaC4iKTsKLSAg
ICAgICAgICAgICAgICBzZXRFbmFibGVGZWF0dXJlKGZhbHNlLCBmaW5pc2hKU1Rlc3QpOwotICAg
ICAgICB9Ci0gICAgfQotPC9zY3JpcHQ+Ci08L2JvZHk+Ci08L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvdGVsZW1ldHJ5LWdl
bmVyYXRpb24tYWR2YW5jZWQtZnVuY3Rpb25hbGl0eS1kYXRhYmFzZS1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvdGVsZW1ldHJ5LWdl
bmVyYXRpb24tYWR2YW5jZWQtZnVuY3Rpb25hbGl0eS1kYXRhYmFzZS1leHBlY3RlZC50eHQKZGVs
ZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGM2ODcxNTBhNDcxZmI3ODFjMzlkOGI0ZjU3MzVh
ZTVkYzQzZWNmNWYuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0t
IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3RlbGVtZXRy
eS1nZW5lcmF0aW9uLWFkdmFuY2VkLWZ1bmN0aW9uYWxpdHktZGF0YWJhc2UtZXhwZWN0ZWQudHh0
CisrKyAvZGV2L251bGwKQEAgLTEsMjAgKzAsMCBAQAotVGVzdHMgdGhhdCBhZHZhbmNlZCB0ZWxl
bWV0cnkgZm9yIHByZXZhbGVudCByZXNvdXJjZXMgaW4gdGhlIFNRTGl0ZSBEYXRhYmFzZSBpcyBj
YWxjdWxhdGVkIGNvcnJlY3RseS4KLQotT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVz
IG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgotCi0KLVBB
U1MgSG9zdHMgY2xhc3NpZmllZCBjb3JyZWN0bHkuCi1QQVNTIHRlc3RSZXN1bHQubnVtYmVyT2ZQ
cmV2YWxlbnRSZXNvdXJjZXMgaXMgNQotUEFTUyB0ZXN0UmVzdWx0Lm51bWJlck9mUHJldmFsZW50
UmVzb3VyY2VzV2l0aFVzZXJJbnRlcmFjdGlvbiBpcyAyCi1QQVNTIHRlc3RSZXN1bHQubnVtYmVy
T2ZQcmV2YWxlbnRSZXNvdXJjZXNXaXRob3V0VXNlckludGVyYWN0aW9uIGlzIDMKLVBBU1MgdGVz
dFJlc3VsdC50b3BQcmV2YWxlbnRSZXNvdXJjZVdpdGhVc2VySW50ZXJhY3Rpb25EYXlzU2luY2VV
c2VySW50ZXJhY3Rpb24gaXMgMAotUEFTUyB0ZXN0UmVzdWx0Lm1lZGlhbkRheXNTaW5jZVVzZXJJ
bnRlcmFjdGlvblByZXZhbGVudFJlc291cmNlV2l0aFVzZXJJbnRlcmFjdGlvbiBpcyAxCi1QQVNT
IHRlc3RSZXN1bHQudG9wM051bWJlck9mUHJldmFsZW50UmVzb3VyY2VzV2l0aFVJIGlzIDIKLVBB
U1MgdGVzdFJlc3VsdC50b3AzTWVkaWFuU3ViRnJhbWVXaXRob3V0VUkgaXMgNQotUEFTUyB0ZXN0
UmVzdWx0LnRvcDNNZWRpYW5TdWJSZXNvdXJjZVdpdGhvdXRVSSBpcyA1Ci1QQVNTIHRlc3RSZXN1
bHQudG9wM01lZGlhblVuaXF1ZVJlZGlyZWN0c1dpdGhvdXRVSSBpcyA0Ci1QQVNTIHRlc3RSZXN1
bHQudG9wM01lZGlhbkRhdGFSZWNvcmRzUmVtb3ZlZFdpdGhvdXRVSSBpcyAwCi1QQVNTIHN1Y2Nl
c3NmdWxseVBhcnNlZCBpcyB0cnVlCi0KLVRFU1QgQ09NUExFVEUKLQpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3RlbGVtZXRyeS1nZW5l
cmF0aW9uLWFkdmFuY2VkLWZ1bmN0aW9uYWxpdHktZGF0YWJhc2UuaHRtbCBiL0xheW91dFRlc3Rz
L2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy90ZWxlbWV0cnktZ2VuZXJhdGlvbi1h
ZHZhbmNlZC1mdW5jdGlvbmFsaXR5LWRhdGFiYXNlLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDM4YzZjZTBjYjU5ZjI3YTdjZWYxZjdjZjJhOTY1ZjJlYzgxYjdlYzQuLjAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3RlbGVtZXRyeS1nZW5lcmF0aW9uLWFkdmFu
Y2VkLWZ1bmN0aW9uYWxpdHktZGF0YWJhc2UuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDE1NSAr
MCwwIEBACi08IURPQ1RZUEUgaHRtbD4KLTxodG1sPgotPGhlYWQ+Ci0gICAgPG1ldGEgY2hhcnNl
dD0iVVRGLTgiPgotICAgIDx0aXRsZT5UZXN0IGZvciBBZHZhbmNlZCBUZWxlbWV0cnkgR2VuZXJh
dGlvbjwvdGl0bGU+Ci0gICAgPHNjcmlwdCBzcmM9Ii9qcy10ZXN0LXJlc291cmNlcy9qcy10ZXN0
LmpzIj48L3NjcmlwdD4KLSAgICA8c2NyaXB0IHNyYz0icmVzb3VyY2VzL3V0aWwuanMiPjwvc2Ny
aXB0PgotPC9oZWFkPgotPGJvZHk+Ci08c2NyaXB0PgotICAgIHRlc3RSdW5uZXIuc2V0VXNlSVRQ
RGF0YWJhc2UodHJ1ZSk7Ci0gICAgZGVzY3JpcHRpb24oIlRlc3RzIHRoYXQgYWR2YW5jZWQgdGVs
ZW1ldHJ5IGZvciBwcmV2YWxlbnQgcmVzb3VyY2VzIGluIHRoZSBTUUxpdGUgRGF0YWJhc2UgaXMg
Y2FsY3VsYXRlZCBjb3JyZWN0bHkuIik7Ci0gICAganNUZXN0SXNBc3luYyA9IHRydWU7Ci0KLSAg
ICBjb25zdCB0b3BGcmFtZVVybCA9ICJodHRwOi8vMTI3LjAuMC41OjgwMDAvdGVtcCI7Ci0gICAg
Y29uc3QgdG9wUmVzb3VyY2VVcmwgPSAiaHR0cDovLzEyNy4wLjAuNjo4MDAwL3RlbXAiOwotICAg
IGNvbnN0IHRvVW5pcXVlUmVkaXJlY3RVcmwgPSAiaHR0cDovLzEyNy4wLjAuNzo4MDAwL3RlbXAi
OwotICAgIAotICAgIGNvbnN0IHRvcEZyYW1lVXJsMSA9ICJodHRwOi8vMTI3LjAuMC4xOjgwMDAv
dGVtcCI7Ci0gICAgY29uc3QgdG9wRnJhbWVVcmwyID0gImh0dHA6Ly8xMjcuMC4wLjI6ODAwMC90
ZW1wIjsKLSAgICBjb25zdCB0b3BGcmFtZVVybDMgPSAiaHR0cDovLzEyNy4wLjAuMzo4MDAwL3Rl
bXAiOwotICAgIGNvbnN0IHRvcEZyYW1lVXJsNCA9ICJodHRwOi8vMTI3LjAuMC40OjgwMDAvdGVt
cCI7Ci0gICAgCi0gICAgCi0gICAgY29uc3QgdXJsMSA9ICJodHRwOi8vMTI3LjAuMS4xOjgwMDAv
dGVtcCI7Ci0gICAgY29uc3QgdXJsMiA9ICJodHRwOi8vMTI3LjAuMS4yOjgwMDAvdGVtcCI7Ci0g
ICAgY29uc3QgdXJsMyA9ICJodHRwOi8vMTI3LjAuMS4zOjgwMDAvdGVtcCI7Ci0gICAgY29uc3Qg
dXJsNCA9ICJodHRwOi8vMTI3LjAuMS40OjgwMDAvdGVtcCI7Ci0gICAgY29uc3QgdXJsNSA9ICJo
dHRwOi8vMTI3LjAuMS41OjgwMDAvdGVtcCI7Ci0gICAgCi0gICAgY29uc3QgdHdvRGF5c09sZCA9
IE1hdGgucm91bmQoKG5ldyBEYXRlKCkpLmdldFRpbWUoKSAvIDEwMDApIC0gMTgwMDAwOwotCi0g
ICAgZnVuY3Rpb24gY2hlY2tDbGFzc2lmaWNhdGlvbkFuZENvbnRpbnVlKCkgewotICAgICAgICBp
ZiAoIXRlc3RSdW5uZXIuaXNTdGF0aXN0aWNzUHJldmFsZW50UmVzb3VyY2UodXJsMSkpIHsKLSAg
ICAgICAgICAgIHRlc3RGYWlsZWQoIkhvc3QgMSBkaWQgbm90IGdldCBjbGFzc2lmaWVkIGFzIHBy
ZXZhbGVudCByZXNvdXJjZS4iKTsKLSAgICAgICAgICAgIHNldEVuYWJsZUZlYXR1cmUoZmFsc2Us
IGZpbmlzaEpTVGVzdCk7Ci0gICAgICAgIH0gZWxzZSBpZiAoIXRlc3RSdW5uZXIuaXNTdGF0aXN0
aWNzUHJldmFsZW50UmVzb3VyY2UodXJsMikpIHsKLSAgICAgICAgICAgIHRlc3RGYWlsZWQoIkhv
c3QgMiBkaWQgbm90IGdldCBjbGFzc2lmaWVkIGFzIHByZXZhbGVudCByZXNvdXJjZS4iKTsKLSAg
ICAgICAgICAgIHNldEVuYWJsZUZlYXR1cmUoZmFsc2UsIGZpbmlzaEpTVGVzdCk7Ci0gICAgICAg
IH0gZWxzZSBpZiAoIXRlc3RSdW5uZXIuaXNTdGF0aXN0aWNzUHJldmFsZW50UmVzb3VyY2UodXJs
MykpIHsKLSAgICAgICAgICAgIHRlc3RGYWlsZWQoIkhvc3QgMyBkaWQgbm90IGdldCBjbGFzc2lm
aWVkIGFzIHByZXZhbGVudCByZXNvdXJjZS4iKTsKLSAgICAgICAgICAgIHNldEVuYWJsZUZlYXR1
cmUoZmFsc2UsIGZpbmlzaEpTVGVzdCk7Ci0gICAgICAgIH0gZWxzZSBpZiAoIXRlc3RSdW5uZXIu
aXNTdGF0aXN0aWNzUHJldmFsZW50UmVzb3VyY2UodXJsNCkpIHsKLSAgICAgICAgICAgIHRlc3RG
YWlsZWQoIkhvc3QgNCBkaWQgbm90IGdldCBjbGFzc2lmaWVkIGFzIHByZXZhbGVudCByZXNvdXJj
ZS4iKTsKLSAgICAgICAgICAgIHNldEVuYWJsZUZlYXR1cmUoZmFsc2UsIGZpbmlzaEpTVGVzdCk7
Ci0gICAgICAgIH0gZWxzZSBpZiAoIXRlc3RSdW5uZXIuaXNTdGF0aXN0aWNzUHJldmFsZW50UmVz
b3VyY2UodXJsNSkpIHsKLSAgICAgICAgICAgIHRlc3RGYWlsZWQoIkhvc3QgNSBkaWQgbm90IGdl
dCBjbGFzc2lmaWVkIGFzIHByZXZhbGVudCByZXNvdXJjZS4iKTsKLSAgICAgICAgICAgIHNldEVu
YWJsZUZlYXR1cmUoZmFsc2UsIGZpbmlzaEpTVGVzdCk7Ci0gICAgICAgIH0gZWxzZSBpZiAoIXRl
c3RSdW5uZXIuaXNTdGF0aXN0aWNzSGFzSGFkVXNlckludGVyYWN0aW9uKHVybDEpKSB7Ci0gICAg
ICAgICAgICB0ZXN0RmFpbGVkKCJIb3N0IDEgZGlkIG5vdCBnZXQgY2xhc3NpZmllZCBhcyBoYXZp
bmcgdXNlciBpbnRlcmFjdGlvbi4iKTsKLSAgICAgICAgICAgIHNldEVuYWJsZUZlYXR1cmUoZmFs
c2UsIGZpbmlzaEpTVGVzdCk7Ci0gICAgICAgIH0gZWxzZSBpZiAoIXRlc3RSdW5uZXIuaXNTdGF0
aXN0aWNzSGFzSGFkVXNlckludGVyYWN0aW9uKHVybDIpKSB7Ci0gICAgICAgICAgICB0ZXN0RmFp
bGVkKCJIb3N0IDIgZGlkIG5vdCBnZXQgY2xhc3NpZmllZCBhcyBoYXZpbmcgdXNlciBpbnRlcmFj
dGlvbi4iKTsKLSAgICAgICAgICAgIHNldEVuYWJsZUZlYXR1cmUoZmFsc2UsIGZpbmlzaEpTVGVz
dCk7Ci0gICAgICAgIH0gZWxzZSBpZiAoIXRlc3RSdW5uZXIuaXNTdGF0aXN0aWNzUmVnaXN0ZXJl
ZEFzU3ViRnJhbWVVbmRlcih1cmwxLCB0b3BGcmFtZVVybCkpIHsKLSAgICAgICAgICAgIHRlc3RG
YWlsZWQoIkhvc3QgMSBkaWQgbm90IGdldCBzZXQgYXMgc3ViZnJhbWUuIik7Ci0gICAgICAgICAg
ICBzZXRFbmFibGVGZWF0dXJlKGZhbHNlLCBmaW5pc2hKU1Rlc3QpOwotICAgICAgICB9IGVsc2Ug
aWYgKCF0ZXN0UnVubmVyLmlzU3RhdGlzdGljc1JlZ2lzdGVyZWRBc1N1YnJlc291cmNlVW5kZXIo
dXJsMSwgdG9wUmVzb3VyY2VVcmwpKSB7Ci0gICAgICAgICAgICB0ZXN0RmFpbGVkKCJIb3N0IDEg
ZGlkIG5vdCBnZXQgc2V0IGFzIHN1YnJlc291cmNlLiIpOwotICAgICAgICAgICAgc2V0RW5hYmxl
RmVhdHVyZShmYWxzZSwgZmluaXNoSlNUZXN0KTsKLSAgICAgICAgfSBlbHNlIGlmICghdGVzdFJ1
bm5lci5pc1N0YXRpc3RpY3NSZWdpc3RlcmVkQXNTdWJGcmFtZVVuZGVyKHVybDIsIHRvcEZyYW1l
VXJsKSkgewotICAgICAgICAgICAgdGVzdEZhaWxlZCgiSG9zdCAyIGRpZCBub3QgZ2V0IHNldCBh
cyBzdWJmcmFtZS4iKTsKLSAgICAgICAgICAgIHNldEVuYWJsZUZlYXR1cmUoZmFsc2UsIGZpbmlz
aEpTVGVzdCk7Ci0gICAgICAgIH0gZWxzZSBpZiAoIXRlc3RSdW5uZXIuaXNTdGF0aXN0aWNzUmVn
aXN0ZXJlZEFzU3ViRnJhbWVVbmRlcih1cmwzLCB0b3BGcmFtZVVybCkpIHsKLSAgICAgICAgICAg
IHRlc3RGYWlsZWQoIkhvc3QgMyBkaWQgbm90IGdldCBzZXQgYXMgc3ViZnJhbWUuIik7Ci0gICAg
ICAgICAgICBzZXRFbmFibGVGZWF0dXJlKGZhbHNlLCBmaW5pc2hKU1Rlc3QpOwotICAgICAgICB9
IGVsc2UgaWYgKCF0ZXN0UnVubmVyLmlzU3RhdGlzdGljc1JlZ2lzdGVyZWRBc1N1YnJlc291cmNl
VW5kZXIodXJsMywgdG9wUmVzb3VyY2VVcmwpKSB7Ci0gICAgICAgICAgICB0ZXN0RmFpbGVkKCJI
b3N0IDMgZGlkIG5vdCBnZXQgc2V0IGFzIHN1YnJlc291cmNlLiIpOwotICAgICAgICAgICAgc2V0
RW5hYmxlRmVhdHVyZShmYWxzZSwgZmluaXNoSlNUZXN0KTsKLSAgICAgICAgfSBlbHNlIGlmICgh
dGVzdFJ1bm5lci5pc1N0YXRpc3RpY3NSZWdpc3RlcmVkQXNTdWJGcmFtZVVuZGVyKHVybDQsIHRv
cEZyYW1lVXJsKSkgewotICAgICAgICAgICAgdGVzdEZhaWxlZCgiSG9zdCA0IGRpZCBub3QgZ2V0
IHNldCBhcyBzdWJmcmFtZS4iKTsKLSAgICAgICAgICAgIHNldEVuYWJsZUZlYXR1cmUoZmFsc2Us
IGZpbmlzaEpTVGVzdCk7Ci0gICAgICAgIH0gZWxzZSB7Ci0gICAgICAgICAgICB0ZXN0UGFzc2Vk
KCJIb3N0cyBjbGFzc2lmaWVkIGNvcnJlY3RseS4iKTsKLSAgICAgICAgICAgIHJ1blRlbGVtZXRy
eUFuZENvbnRpbnVlKCk7Ci0gICAgICAgIH0KLSAgICB9Ci0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIAotICAgIGZ1bmN0aW9uIG1ha2VVcmxQcmV2YWxlbnQocHJldmFsZW50UmVzb3VyY2VV
cmwpIHsKLSAgICAgICAgdGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNzU3ViZnJhbWVVbmRlclRvcEZy
YW1lT3JpZ2luKHByZXZhbGVudFJlc291cmNlVXJsLCB0b3BGcmFtZVVybDEpOwotICAgICAgICB0
ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NTdWJmcmFtZVVuZGVyVG9wRnJhbWVPcmlnaW4ocHJldmFs
ZW50UmVzb3VyY2VVcmwsIHRvcEZyYW1lVXJsMik7Ci0gICAgICAgIHRlc3RSdW5uZXIuc2V0U3Rh
dGlzdGljc1N1YmZyYW1lVW5kZXJUb3BGcmFtZU9yaWdpbihwcmV2YWxlbnRSZXNvdXJjZVVybCwg
dG9wRnJhbWVVcmwzKTsKLSAgICAgICAgdGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNzU3ViZnJhbWVV
bmRlclRvcEZyYW1lT3JpZ2luKHByZXZhbGVudFJlc291cmNlVXJsLCB0b3BGcmFtZVVybDQpOwot
Ci0gICAgICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc1N1YnJlc291cmNlVW5pcXVlUmVkaXJl
Y3RUbyhwcmV2YWxlbnRSZXNvdXJjZVVybCwgdG9wRnJhbWVVcmwxKTsKLSAgICAgICAgdGVzdFJ1
bm5lci5zZXRTdGF0aXN0aWNzU3VicmVzb3VyY2VVbmlxdWVSZWRpcmVjdFRvKHByZXZhbGVudFJl
c291cmNlVXJsLCB0b3BGcmFtZVVybDIpOwotICAgICAgICB0ZXN0UnVubmVyLnNldFN0YXRpc3Rp
Y3NTdWJyZXNvdXJjZVVuaXF1ZVJlZGlyZWN0VG8ocHJldmFsZW50UmVzb3VyY2VVcmwsIHRvcEZy
YW1lVXJsMyk7Ci0gICAgICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc1N1YnJlc291cmNlVW5p
cXVlUmVkaXJlY3RUbyhwcmV2YWxlbnRSZXNvdXJjZVVybCwgdG9wRnJhbWVVcmw0KTsKLQotICAg
ICAgICB0ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NTdWJyZXNvdXJjZVVuZGVyVG9wRnJhbWVPcmln
aW4ocHJldmFsZW50UmVzb3VyY2VVcmwsIHRvcEZyYW1lVXJsMSk7Ci0gICAgICAgIHRlc3RSdW5u
ZXIuc2V0U3RhdGlzdGljc1N1YnJlc291cmNlVW5kZXJUb3BGcmFtZU9yaWdpbihwcmV2YWxlbnRS
ZXNvdXJjZVVybCwgdG9wRnJhbWVVcmwyKTsKLSAgICAgICAgdGVzdFJ1bm5lci5zZXRTdGF0aXN0
aWNzU3VicmVzb3VyY2VVbmRlclRvcEZyYW1lT3JpZ2luKHByZXZhbGVudFJlc291cmNlVXJsLCB0
b3BGcmFtZVVybDMpOwotICAgICAgICB0ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NTdWJyZXNvdXJj
ZVVuZGVyVG9wRnJhbWVPcmlnaW4ocHJldmFsZW50UmVzb3VyY2VVcmwsIHRvcEZyYW1lVXJsNCk7
Ci0gICAgfQotCi0gICAgZnVuY3Rpb24gc2V0VXBTdGF0aXN0aWNzQW5kQ29udGludWUoKSB7Ci0g
ICAgICAgIC8vIG1lcmdlIHN0YXRpc3RpYyBhcmd1bWVudHM6IGhvc3ROYW1lLCB0b3BGcmFtZURv
bWFpbiwgbGFzdFNlZW4sIGhhZFVzZXJJbnRlcmFjdGlvbiwgbW9zdFJlY2VudFVzZXJJbnRlcmFj
dGlvbiwgaXNHcmFuZGZhdGhlcmVkLCBpc1ByZXZhbGVudCwgaXNWZXJ5UHJldmFsZW50LCBkYXRh
UmVjb3Jkc1JlbW92ZWQKLSAgICAgICAgIG1ha2VVcmxQcmV2YWxlbnQodXJsMSk7Ci0gICAgICAg
ICB0ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NTdWJmcmFtZVVuZGVyVG9wRnJhbWVPcmlnaW4odXJs
MSwgdG9wRnJhbWVVcmwpOwotICAgICAgICAgdGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNzU3VicmVz
b3VyY2VVbmRlclRvcEZyYW1lT3JpZ2luKHVybDEsIHRvcFJlc291cmNlVXJsKTsKLSAgICAgICAg
IHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc1N1YnJlc291cmNlVW5pcXVlUmVkaXJlY3RUbyh1cmwx
LCB0b1VuaXF1ZVJlZGlyZWN0VXJsKTsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCi0g
ICAgICAgICBtYWtlVXJsUHJldmFsZW50KHVybDIpOwotICAgICAgICAgdGVzdFJ1bm5lci5zZXRT
dGF0aXN0aWNzU3ViZnJhbWVVbmRlclRvcEZyYW1lT3JpZ2luKHVybDIsIHRvcEZyYW1lVXJsKTsK
LSAgICAgICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc1N1YnJlc291cmNlVW5pcXVlUmVkaXJl
Y3RUbyh1cmwyLCB0b1VuaXF1ZVJlZGlyZWN0VXJsKTsKLQotICAgICAgICAgbWFrZVVybFByZXZh
bGVudCh1cmwzKTsKLSAgICAgICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc1N1YmZyYW1lVW5k
ZXJUb3BGcmFtZU9yaWdpbih1cmwzLCB0b3BGcmFtZVVybCk7Ci0gICAgICAgICB0ZXN0UnVubmVy
LnNldFN0YXRpc3RpY3NTdWJyZXNvdXJjZVVuZGVyVG9wRnJhbWVPcmlnaW4odXJsMywgdG9wUmVz
b3VyY2VVcmwpOwotICAgICAgICAgdGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNzU3VicmVzb3VyY2VV
bmlxdWVSZWRpcmVjdFRvKHVybDMsIHRvVW5pcXVlUmVkaXJlY3RVcmwpOwotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAKLSAgICAgICAgIG1ha2VVcmxQcmV2YWxlbnQodXJsNCk7Ci0gICAg
ICAgICB0ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NTdWJmcmFtZVVuZGVyVG9wRnJhbWVPcmlnaW4o
dXJsNCwgdG9wRnJhbWVVcmwpOwotICAgICAgICAgdGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNzU3Vi
cmVzb3VyY2VVbmRlclRvcEZyYW1lT3JpZ2luKHVybDQsIHRvcFJlc291cmNlVXJsKTsKLQotICAg
ICAgICAgbWFrZVVybFByZXZhbGVudCh1cmw1KTsKLQotICAgICAgICAvLyBzZXQgVVJMcyAxIGFu
ZCAyIHRvIGhhdmUgdXNlciBpbnRlcmFjdGlvbi4gVUkgZm9yIHVybCAyIHdpbGwgYmUgc2V0IHRv
IGJlIDIgZGF5cyBvbGQuCi0gICAgICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc0hhc0hhZFVz
ZXJJbnRlcmFjdGlvbih1cmwxLCB0cnVlLCBmdW5jdGlvbigpIHsKLSAgICAgICAgICAgIHRlc3RS
dW5uZXIuc2V0U3RhdGlzdGljc01lcmdlU3RhdGlzdGljKHVybDIsIHRvcEZyYW1lVXJsLCAiIiwg
dHdvRGF5c09sZCwgdHJ1ZSwgdHdvRGF5c09sZCwgZmFsc2UsIHRydWUsIGZhbHNlLCAwLCBmdW5j
dGlvbigpIHsKLSAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLmluc3RhbGxTdGF0aXN0aWNzRGlk
U2NhbkRhdGFSZWNvcmRzQ2FsbGJhY2soY2hlY2tDbGFzc2lmaWNhdGlvbkFuZENvbnRpbnVlKTsK
LSAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLmluc3RhbGxTdGF0aXN0aWNzRGlkUnVuVGVsZW1l
dHJ5Q2FsbGJhY2soY2hlY2tUZWxlbWV0cnkpOwotICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIu
c3RhdGlzdGljc1Byb2Nlc3NTdGF0aXN0aWNzQW5kRGF0YVJlY29yZHMoKTsKLSAgICAgICAgICAg
IH0pOwotICAgICAgICB9KTsKLSAgICB9Ci0KLSAgICBmdW5jdGlvbiBydW5UZWxlbWV0cnlBbmRD
b250aW51ZSgpIHsKLSAgICAgICAgdGVzdFJ1bm5lci5zdGF0aXN0aWNzU3VibWl0VGVsZW1ldHJ5
KCk7Ci0gICAgfQotCi0gICAgdmFyIHRlc3RSZXN1bHQ7Ci0gICAgZnVuY3Rpb24gY2hlY2tUZWxl
bWV0cnkocmVzdWx0KSB7Ci0gICAgICAgIHRlc3RSZXN1bHQgPSByZXN1bHQ7Ci0gICAgICAgIHNo
b3VsZEJlKCJ0ZXN0UmVzdWx0Lm51bWJlck9mUHJldmFsZW50UmVzb3VyY2VzIiwgIjUiKTsKLSAg
ICAgICAgc2hvdWxkQmUoInRlc3RSZXN1bHQubnVtYmVyT2ZQcmV2YWxlbnRSZXNvdXJjZXNXaXRo
VXNlckludGVyYWN0aW9uIiwgIjIiKTsKLSAgICAgICAgc2hvdWxkQmUoInRlc3RSZXN1bHQubnVt
YmVyT2ZQcmV2YWxlbnRSZXNvdXJjZXNXaXRob3V0VXNlckludGVyYWN0aW9uIiwgIjMiKTsKLSAg
ICAgICAgc2hvdWxkQmUoInRlc3RSZXN1bHQudG9wUHJldmFsZW50UmVzb3VyY2VXaXRoVXNlcklu
dGVyYWN0aW9uRGF5c1NpbmNlVXNlckludGVyYWN0aW9uIiwgIjAiKTsKLSAgICAgICAgc2hvdWxk
QmUoInRlc3RSZXN1bHQubWVkaWFuRGF5c1NpbmNlVXNlckludGVyYWN0aW9uUHJldmFsZW50UmVz
b3VyY2VXaXRoVXNlckludGVyYWN0aW9uIiwgIjEiKTsKLSAgICAgICAgc2hvdWxkQmUoInRlc3RS
ZXN1bHQudG9wM051bWJlck9mUHJldmFsZW50UmVzb3VyY2VzV2l0aFVJIiwgIjIiKTsKLSAgICAg
ICAgc2hvdWxkQmUoInRlc3RSZXN1bHQudG9wM01lZGlhblN1YkZyYW1lV2l0aG91dFVJIiwgIjUi
KTsKLSAgICAgICAgc2hvdWxkQmUoInRlc3RSZXN1bHQudG9wM01lZGlhblN1YlJlc291cmNlV2l0
aG91dFVJIiwgIjUiKTsKLSAgICAgICAgc2hvdWxkQmUoInRlc3RSZXN1bHQudG9wM01lZGlhblVu
aXF1ZVJlZGlyZWN0c1dpdGhvdXRVSSIsICI0Iik7Ci0gICAgICAgIHNob3VsZEJlKCJ0ZXN0UmVz
dWx0LnRvcDNNZWRpYW5EYXRhUmVjb3Jkc1JlbW92ZWRXaXRob3V0VUkiLCAiMCIpOwotICAgICAg
ICBzZXRFbmFibGVGZWF0dXJlKGZhbHNlLCBmaW5pc2hKU1Rlc3QpOwotICAgIH0KLQotICAgIGlm
ICh3aW5kb3cudGVzdFJ1bm5lcikgewotICAgICAgICBzZXRFbmFibGVGZWF0dXJlKHRydWUsIGZ1
bmN0aW9uKCkgewotICAgICAgICAgICAgc2V0VXBTdGF0aXN0aWNzQW5kQ29udGludWUoKTsKLSAg
ICAgICAgfSk7Ci0gICAgfQotPC9zY3JpcHQ+Ci08L2JvZHk+Ci08L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvdGVsZW1ldHJ5
LWdlbmVyYXRpb24tYmFzaWMtZnVuY3Rpb25hbGl0eS1kYXRhYmFzZS1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvdGVsZW1ldHJ5LWdl
bmVyYXRpb24tYmFzaWMtZnVuY3Rpb25hbGl0eS1kYXRhYmFzZS1leHBlY3RlZC50eHQKZGVsZXRl
ZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGZlNDM4YzllMTQ4NmFlNTdhMjBhMTVlYjk5Y2Y0YjJk
OGYwODQxM2UuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEv
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3RlbGVtZXRyeS1n
ZW5lcmF0aW9uLWJhc2ljLWZ1bmN0aW9uYWxpdHktZGF0YWJhc2UtZXhwZWN0ZWQudHh0CisrKyAv
ZGV2L251bGwKQEAgLTEsMzEgKzAsMCBAQAotVGVzdHMgdGhhdCBiYXNpYyB0ZWxlbWV0cnkgZm9y
IHByZXZhbGVudCByZXNvdXJjZXMgaW4gdGhlIFNRTGl0ZSBEYXRhYmFzZSBpcyBjYWxjdWxhdGVk
IGNvcnJlY3RseS4KLQotT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNT
IiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgotCi0KLVBBU1MgSG9zdHMg
Y2xhc3NpZmllZCBhcyBwcmV2YWxlbnQgcmVzb3VyY2VzLgotUEFTUyB0ZXN0UmVzdWx0Lm51bWJl
ck9mUHJldmFsZW50UmVzb3VyY2VzIGlzIDAKLVBBU1MgdGVzdFJlc3VsdC5udW1iZXJPZlByZXZh
bGVudFJlc291cmNlc1dpdGhVc2VySW50ZXJhY3Rpb24gaXMgMAotUEFTUyB0ZXN0UmVzdWx0Lm51
bWJlck9mUHJldmFsZW50UmVzb3VyY2VzV2l0aG91dFVzZXJJbnRlcmFjdGlvbiBpcyAwCi1QQVNT
IHRlc3RSZXN1bHQudG9wUHJldmFsZW50UmVzb3VyY2VXaXRoVXNlckludGVyYWN0aW9uRGF5c1Np
bmNlVXNlckludGVyYWN0aW9uIGlzIDAKLVBBU1MgdGVzdFJlc3VsdC5tZWRpYW5EYXlzU2luY2VV
c2VySW50ZXJhY3Rpb25QcmV2YWxlbnRSZXNvdXJjZVdpdGhVc2VySW50ZXJhY3Rpb24gaXMgMAot
UEFTUyB0ZXN0UmVzdWx0LnRvcDNOdW1iZXJPZlByZXZhbGVudFJlc291cmNlc1dpdGhVSSBpcyAw
Ci1QQVNTIHRlc3RSZXN1bHQudG9wM01lZGlhblN1YkZyYW1lV2l0aG91dFVJIGlzIDAKLVBBU1Mg
dGVzdFJlc3VsdC50b3AzTWVkaWFuU3ViUmVzb3VyY2VXaXRob3V0VUkgaXMgMAotUEFTUyB0ZXN0
UmVzdWx0LnRvcDNNZWRpYW5VbmlxdWVSZWRpcmVjdHNXaXRob3V0VUkgaXMgMAotUEFTUyB0ZXN0
UmVzdWx0LnRvcDNNZWRpYW5EYXRhUmVjb3Jkc1JlbW92ZWRXaXRob3V0VUkgaXMgMAotUEFTUyBI
b3N0cyBjbGFzc2lmaWVkIGFzIHByZXZhbGVudCByZXNvdXJjZXMuCi1QQVNTIHRlc3RSZXN1bHQu
bnVtYmVyT2ZQcmV2YWxlbnRSZXNvdXJjZXMgaXMgNAotUEFTUyB0ZXN0UmVzdWx0Lm51bWJlck9m
UHJldmFsZW50UmVzb3VyY2VzV2l0aFVzZXJJbnRlcmFjdGlvbiBpcyAxCi1QQVNTIHRlc3RSZXN1
bHQubnVtYmVyT2ZQcmV2YWxlbnRSZXNvdXJjZXNXaXRob3V0VXNlckludGVyYWN0aW9uIGlzIDMK
LVBBU1MgdGVzdFJlc3VsdC50b3BQcmV2YWxlbnRSZXNvdXJjZVdpdGhVc2VySW50ZXJhY3Rpb25E
YXlzU2luY2VVc2VySW50ZXJhY3Rpb24gaXMgMAotUEFTUyB0ZXN0UmVzdWx0Lm1lZGlhbkRheXNT
aW5jZVVzZXJJbnRlcmFjdGlvblByZXZhbGVudFJlc291cmNlV2l0aFVzZXJJbnRlcmFjdGlvbiBp
cyAwCi1QQVNTIHRlc3RSZXN1bHQudG9wM051bWJlck9mUHJldmFsZW50UmVzb3VyY2VzV2l0aFVJ
IGlzIDAKLVBBU1MgdGVzdFJlc3VsdC50b3AzTWVkaWFuU3ViRnJhbWVXaXRob3V0VUkgaXMgNAot
UEFTUyB0ZXN0UmVzdWx0LnRvcDNNZWRpYW5TdWJSZXNvdXJjZVdpdGhvdXRVSSBpcyA0Ci1QQVNT
IHRlc3RSZXN1bHQudG9wM01lZGlhblVuaXF1ZVJlZGlyZWN0c1dpdGhvdXRVSSBpcyA0Ci1QQVNT
IHRlc3RSZXN1bHQudG9wM01lZGlhbkRhdGFSZWNvcmRzUmVtb3ZlZFdpdGhvdXRVSSBpcyAwCi1Q
QVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCi0KLVRFU1QgQ09NUExFVEUKLQpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3RlbGVt
ZXRyeS1nZW5lcmF0aW9uLWJhc2ljLWZ1bmN0aW9uYWxpdHktZGF0YWJhc2UuaHRtbCBiL0xheW91
dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy90ZWxlbWV0cnktZ2VuZXJh
dGlvbi1iYXNpYy1mdW5jdGlvbmFsaXR5LWRhdGFiYXNlLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDI4MTM5MTllMDkwODQxZmZjY2RkZDI5YTJjMjA3NWFmNmY2OTNmYTMuLjAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMv
aHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3RlbGVtZXRyeS1nZW5lcmF0aW9uLWJh
c2ljLWZ1bmN0aW9uYWxpdHktZGF0YWJhc2UuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDEzNSAr
MCwwIEBACi08IURPQ1RZUEUgaHRtbD4KLTxodG1sPgotPGhlYWQ+Ci0gICAgPG1ldGEgY2hhcnNl
dD0iVVRGLTgiPgotICAgIDx0aXRsZT5UZXN0IGZvciBCYXNpYyBUZWxlbWV0cnkgR2VuZXJhdGlv
bjwvdGl0bGU+Ci0gICAgPHNjcmlwdCBzcmM9Ii9qcy10ZXN0LXJlc291cmNlcy9qcy10ZXN0Lmpz
Ij48L3NjcmlwdD4KLSAgICA8c2NyaXB0IHNyYz0icmVzb3VyY2VzL3V0aWwuanMiPjwvc2NyaXB0
PgotPC9oZWFkPgotPGJvZHk+Ci08c2NyaXB0PgotICAgIHRlc3RSdW5uZXIuc2V0VXNlSVRQRGF0
YWJhc2UodHJ1ZSk7Ci0gICAgZGVzY3JpcHRpb24oIlRlc3RzIHRoYXQgYmFzaWMgdGVsZW1ldHJ5
IGZvciBwcmV2YWxlbnQgcmVzb3VyY2VzIGluIHRoZSBTUUxpdGUgRGF0YWJhc2UgaXMgY2FsY3Vs
YXRlZCBjb3JyZWN0bHkuIik7Ci0gICAganNUZXN0SXNBc3luYyA9IHRydWU7Ci0KLSAgICBjb25z
dCB0b3BGcmFtZVVybDEgPSAiaHR0cDovLzEyNy4wLjAuMTo4MDAwL3RlbXAiOwotICAgIGNvbnN0
IHRvcEZyYW1lVXJsMiA9ICJodHRwOi8vMTI3LjAuMC4yOjgwMDAvdGVtcCI7Ci0gICAgY29uc3Qg
dG9wRnJhbWVVcmwzID0gImh0dHA6Ly8xMjcuMC4wLjM6ODAwMC90ZW1wIjsKLSAgICBjb25zdCB0
b3BGcmFtZVVybDQgPSAiaHR0cDovLzEyNy4wLjAuNDo4MDAwL3RlbXAiOwotICAgIGNvbnN0IHBy
ZXZhbGVudFJlc291cmNlVXJsMSA9ICJodHRwOi8vMTI3LjAuMS4xOjgwMDAvdGVtcCI7Ci0gICAg
Y29uc3QgcHJldmFsZW50UmVzb3VyY2VVcmwyID0gImh0dHA6Ly8xMjcuMC4xLjI6ODAwMC90ZW1w
IjsKLSAgICBjb25zdCBwcmV2YWxlbnRSZXNvdXJjZVVybDMgPSAiaHR0cDovLzEyNy4wLjEuMzo4
MDAwL3RlbXAiOwotICAgIGNvbnN0IHByZXZhbGVudFJlc291cmNlVXJsNCA9ICJodHRwOi8vMTI3
LjAuMS40OjgwMDAvdGVtcCI7Ci0KLSAgICBmdW5jdGlvbiBjaGVja0luc3VmZmljaWVudENsYXNz
aWZpY2F0aW9uQW5kQ29udGludWUoKSB7Ci0gICAgICAgIGlmICghdGVzdFJ1bm5lci5pc1N0YXRp
c3RpY3NQcmV2YWxlbnRSZXNvdXJjZShwcmV2YWxlbnRSZXNvdXJjZVVybDEpKSB7Ci0gICAgICAg
ICAgICB0ZXN0RmFpbGVkKCJIb3N0IDEgZGlkIG5vdCBnZXQgY2xhc3NpZmllZCBhcyBwcmV2YWxl
bnQgcmVzb3VyY2UuIik7Ci0gICAgICAgICAgICBzZXRFbmFibGVGZWF0dXJlKGZhbHNlLCBmaW5p
c2hKU1Rlc3QpOwotICAgICAgICB9IGVsc2UgaWYgKCF0ZXN0UnVubmVyLmlzU3RhdGlzdGljc1By
ZXZhbGVudFJlc291cmNlKHByZXZhbGVudFJlc291cmNlVXJsMikpIHsKLSAgICAgICAgICAgIHRl
c3RGYWlsZWQoIkhvc3QgMiBkaWQgbm90IGdldCBjbGFzc2lmaWVkIGFzIHByZXZhbGVudCByZXNv
dXJjZS4iKTsKLSAgICAgICAgICAgIHNldEVuYWJsZUZlYXR1cmUoZmFsc2UsIGZpbmlzaEpTVGVz
dCk7Ci0gICAgICAgIH0gZWxzZSB7Ci0gICAgICAgICAgICB0ZXN0UGFzc2VkKCJIb3N0cyBjbGFz
c2lmaWVkIGFzIHByZXZhbGVudCByZXNvdXJjZXMuIik7Ci0gICAgICAgICAgICBydW5UZWxlbWV0
cnlBbmRDb250aW51ZSgpOwotICAgICAgICB9Ci0gICAgfQotCi0gICAgZnVuY3Rpb24gY2hlY2tT
dWZmaWNpZW50Q2xhc3NpZmljYXRpb25BbmRDb250aW51ZSgpIHsKLSAgICAgICAgaWYgKCF0ZXN0
UnVubmVyLmlzU3RhdGlzdGljc1ByZXZhbGVudFJlc291cmNlKHByZXZhbGVudFJlc291cmNlVXJs
MSkpIHsKLSAgICAgICAgICAgIHRlc3RGYWlsZWQoIkhvc3QgMSBkaWQgbm90IGdldCBjbGFzc2lm
aWVkIGFzIHByZXZhbGVudCByZXNvdXJjZS4iKTsKLSAgICAgICAgICAgIHNldEVuYWJsZUZlYXR1
cmUoZmFsc2UsIGZpbmlzaEpTVGVzdCk7Ci0gICAgICAgIH0gZWxzZSBpZiAoIXRlc3RSdW5uZXIu
aXNTdGF0aXN0aWNzUHJldmFsZW50UmVzb3VyY2UocHJldmFsZW50UmVzb3VyY2VVcmwyKSkgewot
ICAgICAgICAgICAgdGVzdEZhaWxlZCgiSG9zdCAyIGRpZCBub3QgZ2V0IGNsYXNzaWZpZWQgYXMg
cHJldmFsZW50IHJlc291cmNlLiIpOwotICAgICAgICAgICAgc2V0RW5hYmxlRmVhdHVyZShmYWxz
ZSwgZmluaXNoSlNUZXN0KTsKLSAgICAgICAgfSBlbHNlIGlmICghdGVzdFJ1bm5lci5pc1N0YXRp
c3RpY3NQcmV2YWxlbnRSZXNvdXJjZShwcmV2YWxlbnRSZXNvdXJjZVVybDMpKSB7Ci0gICAgICAg
ICAgICB0ZXN0RmFpbGVkKCJIb3N0IDMgZGlkIG5vdCBnZXQgY2xhc3NpZmllZCBhcyBwcmV2YWxl
bnQgcmVzb3VyY2UuIik7Ci0gICAgICAgICAgICBzZXRFbmFibGVGZWF0dXJlKGZhbHNlLCBmaW5p
c2hKU1Rlc3QpOwotICAgICAgICB9IGVsc2UgaWYgKCF0ZXN0UnVubmVyLmlzU3RhdGlzdGljc1By
ZXZhbGVudFJlc291cmNlKHByZXZhbGVudFJlc291cmNlVXJsNCkpIHsKLSAgICAgICAgICAgIHRl
c3RGYWlsZWQoIkhvc3QgNCBkaWQgbm90IGdldCBjbGFzc2lmaWVkIGFzIHByZXZhbGVudCByZXNv
dXJjZS4iKTsKLSAgICAgICAgICAgIHNldEVuYWJsZUZlYXR1cmUoZmFsc2UsIGZpbmlzaEpTVGVz
dCk7Ci0gICAgICAgIH0gZWxzZSB7Ci0gICAgICAgICAgICB0ZXN0UGFzc2VkKCJIb3N0cyBjbGFz
c2lmaWVkIGFzIHByZXZhbGVudCByZXNvdXJjZXMuIik7Ci0gICAgICAgICAgICBydW5UZWxlbWV0
cnlBbmRDb250aW51ZSgpOwotICAgICAgICB9Ci0gICAgfQotCi0gICAgZnVuY3Rpb24gbWFrZVVy
bFByZXZhbGVudChwcmV2YWxlbnRSZXNvdXJjZVVybCkgewotICAgICAgICB0ZXN0UnVubmVyLnNl
dFN0YXRpc3RpY3NTdWJmcmFtZVVuZGVyVG9wRnJhbWVPcmlnaW4ocHJldmFsZW50UmVzb3VyY2VV
cmwsIHRvcEZyYW1lVXJsMSk7Ci0gICAgICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc1N1YmZy
YW1lVW5kZXJUb3BGcmFtZU9yaWdpbihwcmV2YWxlbnRSZXNvdXJjZVVybCwgdG9wRnJhbWVVcmwy
KTsKLSAgICAgICAgdGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNzU3ViZnJhbWVVbmRlclRvcEZyYW1l
T3JpZ2luKHByZXZhbGVudFJlc291cmNlVXJsLCB0b3BGcmFtZVVybDMpOwotICAgICAgICB0ZXN0
UnVubmVyLnNldFN0YXRpc3RpY3NTdWJmcmFtZVVuZGVyVG9wRnJhbWVPcmlnaW4ocHJldmFsZW50
UmVzb3VyY2VVcmwsIHRvcEZyYW1lVXJsNCk7Ci0KLSAgICAgICAgdGVzdFJ1bm5lci5zZXRTdGF0
aXN0aWNzU3VicmVzb3VyY2VVbmlxdWVSZWRpcmVjdFRvKHByZXZhbGVudFJlc291cmNlVXJsLCB0
b3BGcmFtZVVybDEpOwotICAgICAgICB0ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NTdWJyZXNvdXJj
ZVVuaXF1ZVJlZGlyZWN0VG8ocHJldmFsZW50UmVzb3VyY2VVcmwsIHRvcEZyYW1lVXJsMik7Ci0g
ICAgICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc1N1YnJlc291cmNlVW5pcXVlUmVkaXJlY3RU
byhwcmV2YWxlbnRSZXNvdXJjZVVybCwgdG9wRnJhbWVVcmwzKTsKLSAgICAgICAgdGVzdFJ1bm5l
ci5zZXRTdGF0aXN0aWNzU3VicmVzb3VyY2VVbmlxdWVSZWRpcmVjdFRvKHByZXZhbGVudFJlc291
cmNlVXJsLCB0b3BGcmFtZVVybDQpOwotCi0gICAgICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGlj
c1N1YnJlc291cmNlVW5kZXJUb3BGcmFtZU9yaWdpbihwcmV2YWxlbnRSZXNvdXJjZVVybCwgdG9w
RnJhbWVVcmwxKTsKLSAgICAgICAgdGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNzU3VicmVzb3VyY2VV
bmRlclRvcEZyYW1lT3JpZ2luKHByZXZhbGVudFJlc291cmNlVXJsLCB0b3BGcmFtZVVybDIpOwot
ICAgICAgICB0ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NTdWJyZXNvdXJjZVVuZGVyVG9wRnJhbWVP
cmlnaW4ocHJldmFsZW50UmVzb3VyY2VVcmwsIHRvcEZyYW1lVXJsMyk7Ci0gICAgICAgIHRlc3RS
dW5uZXIuc2V0U3RhdGlzdGljc1N1YnJlc291cmNlVW5kZXJUb3BGcmFtZU9yaWdpbihwcmV2YWxl
bnRSZXNvdXJjZVVybCwgdG9wRnJhbWVVcmw0KTsKLSAgICB9Ci0KLSAgICBmdW5jdGlvbiBzZXRV
cEluc3VmZmljaWVudFN0YXRpc3RpY3NBbmRDb250aW51ZSgpIHsKLSAgICAgICAgbWFrZVVybFBy
ZXZhbGVudChwcmV2YWxlbnRSZXNvdXJjZVVybDEpOwotICAgICAgICBtYWtlVXJsUHJldmFsZW50
KHByZXZhbGVudFJlc291cmNlVXJsMik7Ci0KLSAgICAgICAgdGVzdFJ1bm5lci5pbnN0YWxsU3Rh
dGlzdGljc0RpZFNjYW5EYXRhUmVjb3Jkc0NhbGxiYWNrKGNoZWNrSW5zdWZmaWNpZW50Q2xhc3Np
ZmljYXRpb25BbmRDb250aW51ZSk7Ci0gICAgICAgIHRlc3RSdW5uZXIuaW5zdGFsbFN0YXRpc3Rp
Y3NEaWRSdW5UZWxlbWV0cnlDYWxsYmFjayhjaGVja0luc3VmZmljaWVudFRlbGVtZXRyeSk7Ci0g
ICAgICAgIHRlc3RSdW5uZXIuc3RhdGlzdGljc1Byb2Nlc3NTdGF0aXN0aWNzQW5kRGF0YVJlY29y
ZHMoKTsKLSAgICB9Ci0KLSAgICBmdW5jdGlvbiBzZXRVcFN1ZmZpY2llbnRTdGF0aXN0aWNzQW5k
Q29udGludWUoKSB7Ci0gICAgICAgIG1ha2VVcmxQcmV2YWxlbnQocHJldmFsZW50UmVzb3VyY2VV
cmwzKTsKLSAgICAgICAgbWFrZVVybFByZXZhbGVudChwcmV2YWxlbnRSZXNvdXJjZVVybDQpOwot
Ci0gICAgICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc0hhc0hhZFVzZXJJbnRlcmFjdGlvbihw
cmV2YWxlbnRSZXNvdXJjZVVybDQsIHRydWUsIGZ1bmN0aW9uKCkgewotICAgICAgICAgICAgdGVz
dFJ1bm5lci5pbnN0YWxsU3RhdGlzdGljc0RpZFNjYW5EYXRhUmVjb3Jkc0NhbGxiYWNrKGNoZWNr
U3VmZmljaWVudENsYXNzaWZpY2F0aW9uQW5kQ29udGludWUpOwotICAgICAgICAgICAgdGVzdFJ1
bm5lci5pbnN0YWxsU3RhdGlzdGljc0RpZFJ1blRlbGVtZXRyeUNhbGxiYWNrKGNoZWNrU3VmZmlj
aWVudFRlbGVtZXRyeSk7Ci0gICAgICAgICAgICB0ZXN0UnVubmVyLnN0YXRpc3RpY3NQcm9jZXNz
U3RhdGlzdGljc0FuZERhdGFSZWNvcmRzKCk7Ci0gICAgICAgIH0pOwotICAgIH0KLQotICAgIGZ1
bmN0aW9uIHJ1blRlbGVtZXRyeUFuZENvbnRpbnVlKCkgewotICAgICAgICB0ZXN0UnVubmVyLnN0
YXRpc3RpY3NTdWJtaXRUZWxlbWV0cnkoKTsKLSAgICB9Ci0KLSAgICB2YXIgdGVzdFJlc3VsdDsK
LSAgICBmdW5jdGlvbiBjaGVja0luc3VmZmljaWVudFRlbGVtZXRyeShyZXN1bHQpIHsKLSAgICAg
ICAgdGVzdFJlc3VsdCA9IHJlc3VsdDsKLSAgICAgICAgc2hvdWxkQmUoInRlc3RSZXN1bHQubnVt
YmVyT2ZQcmV2YWxlbnRSZXNvdXJjZXMiLCAiMCIpOwotICAgICAgICBzaG91bGRCZSgidGVzdFJl
c3VsdC5udW1iZXJPZlByZXZhbGVudFJlc291cmNlc1dpdGhVc2VySW50ZXJhY3Rpb24iLCAiMCIp
OwotICAgICAgICBzaG91bGRCZSgidGVzdFJlc3VsdC5udW1iZXJPZlByZXZhbGVudFJlc291cmNl
c1dpdGhvdXRVc2VySW50ZXJhY3Rpb24iLCAiMCIpOwotICAgICAgICBzaG91bGRCZSgidGVzdFJl
c3VsdC50b3BQcmV2YWxlbnRSZXNvdXJjZVdpdGhVc2VySW50ZXJhY3Rpb25EYXlzU2luY2VVc2Vy
SW50ZXJhY3Rpb24iLCAiMCIpOwotICAgICAgICBzaG91bGRCZSgidGVzdFJlc3VsdC5tZWRpYW5E
YXlzU2luY2VVc2VySW50ZXJhY3Rpb25QcmV2YWxlbnRSZXNvdXJjZVdpdGhVc2VySW50ZXJhY3Rp
b24iLCAiMCIpOwotICAgICAgICBzaG91bGRCZSgidGVzdFJlc3VsdC50b3AzTnVtYmVyT2ZQcmV2
YWxlbnRSZXNvdXJjZXNXaXRoVUkiLCAiMCIpOwotICAgICAgICBzaG91bGRCZSgidGVzdFJlc3Vs
dC50b3AzTWVkaWFuU3ViRnJhbWVXaXRob3V0VUkiLCAiMCIpOwotICAgICAgICBzaG91bGRCZSgi
dGVzdFJlc3VsdC50b3AzTWVkaWFuU3ViUmVzb3VyY2VXaXRob3V0VUkiLCAiMCIpOwotICAgICAg
ICBzaG91bGRCZSgidGVzdFJlc3VsdC50b3AzTWVkaWFuVW5pcXVlUmVkaXJlY3RzV2l0aG91dFVJ
IiwgIjAiKTsKLSAgICAgICAgc2hvdWxkQmUoInRlc3RSZXN1bHQudG9wM01lZGlhbkRhdGFSZWNv
cmRzUmVtb3ZlZFdpdGhvdXRVSSIsICIwIik7Ci0gICAgICAgIHNldFVwU3VmZmljaWVudFN0YXRp
c3RpY3NBbmRDb250aW51ZSgpOwotICAgIH0KLQotICAgIGZ1bmN0aW9uIGNoZWNrU3VmZmljaWVu
dFRlbGVtZXRyeShyZXN1bHQpIHsKLSAgICAgICAgdGVzdFJlc3VsdCA9IHJlc3VsdDsKLSAgICAg
ICAgc2hvdWxkQmUoInRlc3RSZXN1bHQubnVtYmVyT2ZQcmV2YWxlbnRSZXNvdXJjZXMiLCAiNCIp
OwotICAgICAgICBzaG91bGRCZSgidGVzdFJlc3VsdC5udW1iZXJPZlByZXZhbGVudFJlc291cmNl
c1dpdGhVc2VySW50ZXJhY3Rpb24iLCAiMSIpOwotICAgICAgICBzaG91bGRCZSgidGVzdFJlc3Vs
dC5udW1iZXJPZlByZXZhbGVudFJlc291cmNlc1dpdGhvdXRVc2VySW50ZXJhY3Rpb24iLCAiMyIp
OwotICAgICAgICBzaG91bGRCZSgidGVzdFJlc3VsdC50b3BQcmV2YWxlbnRSZXNvdXJjZVdpdGhV
c2VySW50ZXJhY3Rpb25EYXlzU2luY2VVc2VySW50ZXJhY3Rpb24iLCAiMCIpOwotICAgICAgICBz
aG91bGRCZSgidGVzdFJlc3VsdC5tZWRpYW5EYXlzU2luY2VVc2VySW50ZXJhY3Rpb25QcmV2YWxl
bnRSZXNvdXJjZVdpdGhVc2VySW50ZXJhY3Rpb24iLCAiMCIpOwotICAgICAgICBzaG91bGRCZSgi
dGVzdFJlc3VsdC50b3AzTnVtYmVyT2ZQcmV2YWxlbnRSZXNvdXJjZXNXaXRoVUkiLCAiMCIpOwot
ICAgICAgICBzaG91bGRCZSgidGVzdFJlc3VsdC50b3AzTWVkaWFuU3ViRnJhbWVXaXRob3V0VUki
LCAiNCIpOwotICAgICAgICBzaG91bGRCZSgidGVzdFJlc3VsdC50b3AzTWVkaWFuU3ViUmVzb3Vy
Y2VXaXRob3V0VUkiLCAiNCIpOwotICAgICAgICBzaG91bGRCZSgidGVzdFJlc3VsdC50b3AzTWVk
aWFuVW5pcXVlUmVkaXJlY3RzV2l0aG91dFVJIiwgIjQiKTsKLSAgICAgICAgc2hvdWxkQmUoInRl
c3RSZXN1bHQudG9wM01lZGlhbkRhdGFSZWNvcmRzUmVtb3ZlZFdpdGhvdXRVSSIsICIwIik7Ci0g
ICAgICAgIHNldEVuYWJsZUZlYXR1cmUoZmFsc2UsIGZpbmlzaEpTVGVzdCk7Ci0gICAgfQotCi0g
ICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7Ci0gICAgICAgIHNldEVuYWJsZUZlYXR1cmUodHJ1
ZSwgZnVuY3Rpb24oKSB7Ci0gICAgICAgICAgICBzZXRVcEluc3VmZmljaWVudFN0YXRpc3RpY3NB
bmRDb250aW51ZSgpOwotICAgICAgICB9KTsKLSAgICB9Ci08L3NjcmlwdD4KLTwvYm9keT4KLTwv
aHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3Rh
dGlzdGljcy90ZWxlbWV0cnktZ2VuZXJhdGlvbi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9o
dHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvdGVsZW1ldHJ5LWdlbmVyYXRpb24tZXhw
ZWN0ZWQudHh0CmluZGV4IDgzOTY3NmUyMmI1ODNkMzJmZDdkOTVlNjA3ZjVkZjNhYjFiNDI0Yjgu
LmM2NzA1NjAwYmNiNGUzYWI1OGQxMzIzNWM2MDE4MjlkMTM4NGE1ZGUgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy90ZWxlbWV0cnktZ2Vu
ZXJhdGlvbi1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJj
ZUxvYWRTdGF0aXN0aWNzL3RlbGVtZXRyeS1nZW5lcmF0aW9uLWV4cGVjdGVkLnR4dApAQCAtNCwx
NCArNCwxNSBAQCBPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1l
c3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURQogCiAKIFBBU1MgSG9zdHMgY2xhc3Np
ZmllZCBhcyBwcmV2YWxlbnQgcmVzb3VyY2VzLgotUEFTUyB0ZXN0UmVzdWx0LnRvdGFsUHJldmFs
ZW50UmVzb3VyY2VzIGlzIDAKLVBBU1MgdGVzdFJlc3VsdC50b3RhbFByZXZhbGVudFJlc291cmNl
c1dpdGhVc2VySW50ZXJhY3Rpb24gaXMgMAotUEFTUyB0ZXN0UmVzdWx0LnRvcDNTdWJmcmFtZVVu
ZGVyVG9wRnJhbWVPcmlnaW5zIGlzIDAKK0ZBSUwgdGVzdFJlc3VsdC50b3RhbFByZXZhbGVudFJl
c291cmNlcyBzaG91bGQgYmUgMCAob2YgdHlwZSBudW1iZXIpLiBXYXMgdW5kZWZpbmVkIChvZiB0
eXBlIHVuZGVmaW5lZCkuCitGQUlMIHRlc3RSZXN1bHQudG90YWxQcmV2YWxlbnRSZXNvdXJjZXNX
aXRoVXNlckludGVyYWN0aW9uIHNob3VsZCBiZSAwIChvZiB0eXBlIG51bWJlcikuIFdhcyB1bmRl
ZmluZWQgKG9mIHR5cGUgdW5kZWZpbmVkKS4KK0ZBSUwgdGVzdFJlc3VsdC50b3AzU3ViZnJhbWVV
bmRlclRvcEZyYW1lT3JpZ2lucyBzaG91bGQgYmUgMCAob2YgdHlwZSBudW1iZXIpLiBXYXMgdW5k
ZWZpbmVkIChvZiB0eXBlIHVuZGVmaW5lZCkuCiBQQVNTIEhvc3RzIGNsYXNzaWZpZWQgYXMgcHJl
dmFsZW50IHJlc291cmNlcy4KLVBBU1MgdGVzdFJlc3VsdC50b3RhbFByZXZhbGVudFJlc291cmNl
cyBpcyA0Ci1QQVNTIHRlc3RSZXN1bHQudG90YWxQcmV2YWxlbnRSZXNvdXJjZXNXaXRoVXNlcklu
dGVyYWN0aW9uIGlzIDEKLVBBU1MgdGVzdFJlc3VsdC50b3AzU3ViZnJhbWVVbmRlclRvcEZyYW1l
T3JpZ2lucyBpcyA0CitGQUlMIHRlc3RSZXN1bHQudG90YWxQcmV2YWxlbnRSZXNvdXJjZXMgc2hv
dWxkIGJlIDQgKG9mIHR5cGUgbnVtYmVyKS4gV2FzIHVuZGVmaW5lZCAob2YgdHlwZSB1bmRlZmlu
ZWQpLgorRkFJTCB0ZXN0UmVzdWx0LnRvdGFsUHJldmFsZW50UmVzb3VyY2VzV2l0aFVzZXJJbnRl
cmFjdGlvbiBzaG91bGQgYmUgMSAob2YgdHlwZSBudW1iZXIpLiBXYXMgdW5kZWZpbmVkIChvZiB0
eXBlIHVuZGVmaW5lZCkuCitGQUlMIHRlc3RSZXN1bHQudG9wM1N1YmZyYW1lVW5kZXJUb3BGcmFt
ZU9yaWdpbnMgc2hvdWxkIGJlIDQgKG9mIHR5cGUgbnVtYmVyKS4gV2FzIHVuZGVmaW5lZCAob2Yg
dHlwZSB1bmRlZmluZWQpLgogUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorU29tZSB0
ZXN0cyBmYWlsZWQuCiAKIFRFU1QgQ09NUExFVEUKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3RoaXJkLXBhcnR5LWNvb2tpZS1ibG9j
a2luZy1kYXRhYmFzZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291
cmNlTG9hZFN0YXRpc3RpY3MvdGhpcmQtcGFydHktY29va2llLWJsb2NraW5nLWRhdGFiYXNlLWV4
cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMTBmZWUwMWZkZmQ0OWVh
MTNiMjI5ZTc0MzFkM2ZjOWQ2MDFhOGE2My4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRp
c3RpY3MvdGhpcmQtcGFydHktY29va2llLWJsb2NraW5nLWRhdGFiYXNlLWV4cGVjdGVkLnR4dAor
KysgL2Rldi9udWxsCkBAIC0xLDI1ICswLDAgQEAKLVRlc3RzIHRoYXQgYWxsIHRoaXJkLXBhcnR5
IGNvb2tpZXMgYXJlIGJsb2NrZWQuCi0KLU9uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmll
cyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KLQotCi1Q
QVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCi0KLVRFU1QgQ09NUExFVEUKLQotCi0tLS0t
LS0tLQotRnJhbWU6ICc8IS0tZnJhbWUxLS0+JwotLS0tLS0tLS0KLUJlZm9yZSB1c2VyIGludGVy
YWN0aW9uLCBzaG91bGQgcmVjZWl2ZSBubyBjb29raWVzLgotRGlkIG5vdCByZWNlaXZlIGNvb2tp
ZSBuYW1lZCAnZmlyc3RQYXJ0eUNvb2tpZScuCi1EaWQgbm90IHJlY2VpdmUgY29va2llIG5hbWVk
ICdwYXJ0aXRpb25lZENvb2tpZScuCi1DbGllbnQtc2lkZSBkb2N1bWVudC5jb29raWU6Ci0KLS0t
LS0tLS0tCi1GcmFtZTogJzwhLS1mcmFtZTItLT4nCi0tLS0tLS0tLQotQWZ0ZXIgdXNlciBpbnRl
cmFjdGlvbiwgc2hvdWxkIHJlY2VpdmUgbm8gY29va2llcy4KLURpZCBub3QgcmVjZWl2ZSBjb29r
aWUgbmFtZWQgJ2ZpcnN0UGFydHlDb29raWUnLgotRGlkIG5vdCByZWNlaXZlIGNvb2tpZSBuYW1l
ZCAncGFydGl0aW9uZWRDb29raWUnLgotQ2xpZW50LXNpZGUgZG9jdW1lbnQuY29va2llOgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3Ro
aXJkLXBhcnR5LWNvb2tpZS1ibG9ja2luZy1kYXRhYmFzZS5odG1sIGIvTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3RoaXJkLXBhcnR5LWNvb2tpZS1ibG9ja2lu
Zy1kYXRhYmFzZS5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBjMGJlMzZmMDQw
ZTNmZWU1ZjEwOGU4M2VmYzgyYzI0MjQ0NTBlMGQ2Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2Fk
U3RhdGlzdGljcy90aGlyZC1wYXJ0eS1jb29raWUtYmxvY2tpbmctZGF0YWJhc2UuaHRtbAorKysg
L2Rldi9udWxsCkBAIC0xLDc1ICswLDAgQEAKLTwhRE9DVFlQRSBodG1sPgotPGh0bWwgbGFuZz0i
ZW4iPgotPGhlYWQ+Ci0gICAgPG1ldGEgY2hhcnNldD0iVVRGLTgiPgotICAgIDxzY3JpcHQgc3Jj
PSIvanMtdGVzdC1yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+Ci0gICAgPHNjcmlwdCBz
cmM9InJlc291cmNlcy91dGlsLmpzIj48L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5PgotPHNjcmlw
dD4KLSAgICBkZXNjcmlwdGlvbigiVGVzdHMgdGhhdCBhbGwgdGhpcmQtcGFydHkgY29va2llcyBh
cmUgYmxvY2tlZC4iKTsKLSAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKLQotICAgIGNvbnN0IHBh
cnRpdGlvbkhvc3QgPSAiMTI3LjAuMC4xOjgwMDAiOwotICAgIGNvbnN0IHBhcnRpdGlvbk9yaWdp
biA9ICJodHRwOi8vIiArIHBhcnRpdGlvbkhvc3Q7Ci0gICAgY29uc3QgdGhpcmRQYXJ0eU9yaWdp
biA9ICJodHRwOi8vbG9jYWxob3N0OjgwMDAiOwotICAgIGNvbnN0IHJlc291cmNlUGF0aCA9ICIv
cmVzb3VyY2VMb2FkU3RhdGlzdGljcy9yZXNvdXJjZXMiOwotICAgIGNvbnN0IHRoaXJkUGFydHlC
YXNlVXJsID0gdGhpcmRQYXJ0eU9yaWdpbiArIHJlc291cmNlUGF0aDsKLSAgICBjb25zdCBmaXJz
dFBhcnR5Q29va2llTmFtZSA9ICJmaXJzdFBhcnR5Q29va2llIjsKLSAgICBjb25zdCBzdWJQYXRo
VG9TZXRGaXJzdFBhcnR5Q29va2llID0gIi9zZXQtY29va2llLnBocD9uYW1lPSIgKyBmaXJzdFBh
cnR5Q29va2llTmFtZSArICImdmFsdWU9dmFsdWUiOwotICAgIGNvbnN0IHBhcnRpdGlvbmVkQ29v
a2llTmFtZSA9ICJwYXJ0aXRpb25lZENvb2tpZSI7Ci0gICAgY29uc3Qgc3ViUGF0aFRvU2V0UGFy
dGl0aW9uZWRDb29raWUgPSAiL3NldC1jb29raWUucGhwP25hbWU9IiArIHBhcnRpdGlvbmVkQ29v
a2llTmFtZSArICImdmFsdWU9dmFsdWUiOwotICAgIGNvbnN0IHJldHVyblVybCA9IHBhcnRpdGlv
bk9yaWdpbiArICIvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy90aGlyZC1wYXJ0eS1jb29raWUtYmxv
Y2tpbmctZGF0YWJhc2UuaHRtbCI7Ci0gICAgY29uc3Qgc3ViUGF0aFRvR2V0Q29va2llcyA9ICIv
Z2V0LWNvb2tpZXMucGhwP25hbWUxPSIgKyBmaXJzdFBhcnR5Q29va2llTmFtZSArICImbmFtZTI9
IiArIHBhcnRpdGlvbmVkQ29va2llTmFtZTsKLQotICAgIGZ1bmN0aW9uIG9wZW5JZnJhbWUodXJs
LCBvbkxvYWRIYW5kbGVyKSB7Ci0gICAgICAgIGNvbnN0IGVsZW1lbnQgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KCJpZnJhbWUiKTsKLSAgICAgICAgZWxlbWVudC5zcmMgPSB1cmw7Ci0gICAgICAg
IGlmIChvbkxvYWRIYW5kbGVyKSB7Ci0gICAgICAgICAgICBlbGVtZW50Lm9ubG9hZCA9IG9uTG9h
ZEhhbmRsZXI7Ci0gICAgICAgIH0KLSAgICAgICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChl
bGVtZW50KTsKLSAgICB9Ci0KLSAgICBmdW5jdGlvbiBydW5UZXN0KCkgewotICAgICAgICBzd2l0
Y2ggKGRvY3VtZW50LmxvY2F0aW9uLmhhc2gpIHsKLSAgICAgICAgICAgIGNhc2UgIiNzdGVwMSI6
Ci0gICAgICAgICAgICAgICAgLy8gU2V0IGZpcnN0LXBhcnR5IGNvb2tpZSBmb3IgbG9jYWxob3N0
LgotICAgICAgICAgICAgICAgIGRvY3VtZW50LmxvY2F0aW9uLmhyZWYgPSB0aGlyZFBhcnR5QmFz
ZVVybCArIHN1YlBhdGhUb1NldEZpcnN0UGFydHlDb29raWUgKyAiIyIgKyByZXR1cm5VcmwgKyAi
I3N0ZXAyIjsKLSAgICAgICAgICAgICAgICBicmVhazsKLSAgICAgICAgICAgIGNhc2UgIiNzdGVw
MiI6Ci0gICAgICAgICAgICAgICAgZG9jdW1lbnQubG9jYXRpb24uaGFzaCA9ICJzdGVwMyI7Ci0g
ICAgICAgICAgICAgICAgLy8gQ2hlY2sgdGhhdCB0aGUgY29va2llIGlzIGJsb2NrZWQgZm9yIGxv
Y2FsaG9zdCB1bmRlciAxMjcuMC4wLjEgZXZlbiB0aG91Z2ggbG9jYWxob3N0IGlzIG5vdCBwcmV2
YWxlbnQuCi0gICAgICAgICAgICAgICAgb3BlbklmcmFtZSh0aGlyZFBhcnR5QmFzZVVybCArIHN1
YlBhdGhUb0dldENvb2tpZXMgKyAiJm1lc3NhZ2U9QmVmb3JlIHVzZXIgaW50ZXJhY3Rpb24sIHNo
b3VsZCByZWNlaXZlIG5vIGNvb2tpZXMuIiwgcnVuVGVzdCk7Ci0gICAgICAgICAgICAgICAgYnJl
YWs7Ci0gICAgICAgICAgICBjYXNlICIjc3RlcDMiOgotICAgICAgICAgICAgICAgIGRvY3VtZW50
LmxvY2F0aW9uLmhhc2ggPSAic3RlcDQiOwotICAgICAgICAgICAgICAgIC8vIFByb2R1Y2UgdXNl
ciBpbnRlcmFjdGlvbiBmb3IgdGhlIGZpcnN0LXBhcnR5LgotICAgICAgICAgICAgICAgIHRlc3RS
dW5uZXIuc2V0U3RhdGlzdGljc0hhc0hhZFVzZXJJbnRlcmFjdGlvbihwYXJ0aXRpb25PcmlnaW4s
IHRydWUsIGZ1bmN0aW9uKCkgewotICAgICAgICAgICAgICAgICAgICAvLyBDaGVjayB0aGF0IHRo
ZSBjb29raWUgaXMgc3RpbGwgYmxvY2tlZCBmb3IgbG9jYWxob3N0IHVuZGVyIDEyNy4wLjAuMS4K
LSAgICAgICAgICAgICAgICAgICAgb3BlbklmcmFtZSh0aGlyZFBhcnR5QmFzZVVybCArIHN1YlBh
dGhUb0dldENvb2tpZXMgKyAgIiZtZXNzYWdlPUFmdGVyIHVzZXIgaW50ZXJhY3Rpb24sIHNob3Vs
ZCByZWNlaXZlIG5vIGNvb2tpZXMuIiwgcnVuVGVzdCk7Ci0gICAgICAgICAgICAgICAgfSk7Ci0g
ICAgICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgICAgICBjYXNlICIjc3RlcDQiOgotICAgICAg
ICAgICAgICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc1Nob3VsZEJsb2NrVGhpcmRQYXJ0eUNv
b2tpZXMoZmFsc2UsIGZ1bmN0aW9uKCkgewotICAgICAgICAgICAgICAgICAgICBzZXRFbmFibGVG
ZWF0dXJlKGZhbHNlLCBmaW5pc2hKU1Rlc3QpOwotICAgICAgICAgICAgICAgIH0pOwotICAgICAg
ICAgICAgICAgIGJyZWFrOwotICAgICAgICB9Ci0gICAgfQotCi0gICAgaWYgKGRvY3VtZW50Lmxv
Y2F0aW9uLmhhc2ggPT09ICIiKSB7Ci0gICAgICAgIHRlc3RSdW5uZXIuc2V0VXNlSVRQRGF0YWJh
c2UodHJ1ZSk7Ci0gICAgICAgIHNldEVuYWJsZUZlYXR1cmUodHJ1ZSwgZnVuY3Rpb24gKCkgewot
ICAgICAgICAgICAgaWYgKHRlc3RSdW5uZXIuaXNTdGF0aXN0aWNzUHJldmFsZW50UmVzb3VyY2Uo
dGhpcmRQYXJ0eU9yaWdpbikpCi0gICAgICAgICAgICAgICAgdGVzdEZhaWxlZCgiTG9jYWxob3N0
IHdhcyBjbGFzc2lmaWVkIGFzIHByZXZhbGVudCByZXNvdXJjZSBiZWZvcmUgdGhlIHRlc3Qgc3Rh
cnRzLiIpOwotICAgICAgICAgICAgdGVzdFJ1bm5lci5kdW1wQ2hpbGRGcmFtZXNBc1RleHQoKTsK
LSAgICAgICAgICAgIGRvY3VtZW50LmxvY2F0aW9uLmhhc2ggPSAic3RlcDEiOwotICAgICAgICAg
ICAgdGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNzU2hvdWxkQmxvY2tUaGlyZFBhcnR5Q29va2llcyh0
cnVlLCBydW5UZXN0KTsKLSAgICAgICAgfSk7Ci0gICAgfSBlbHNlIHsKLSAgICAgICAgcnVuVGVz
dCgpOwotICAgIH0KLTwvc2NyaXB0PgotPC9ib2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3RoaXJkLXBhcnR5LWNv
b2tpZS1ibG9ja2luZy1lcGhlbWVyYWwtZGF0YWJhc2UtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3RoaXJkLXBhcnR5LWNvb2tpZS1i
bG9ja2luZy1lcGhlbWVyYWwtZGF0YWJhc2UtZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAzYzMyY2RhOGZjZTk2YzJlNzYzMDQ1ZTE1OWY5MDE3MzVkMTA1NDJiLi4w
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3Rz
L2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy90aGlyZC1wYXJ0eS1jb29raWUtYmxv
Y2tpbmctZXBoZW1lcmFsLWRhdGFiYXNlLWV4cGVjdGVkLnR4dAorKysgL2Rldi9udWxsCkBAIC0x
LDI0ICswLDAgQEAKLVRlc3RzIHRoYXQgYWxsIHRoaXJkLXBhcnR5IGNvb2tpZXMgYXJlIGJsb2Nr
ZWQgKGVwaGVtZXJhbCBzZXNzaW9uKS4KLQotT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2Vy
aWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgotCi0K
LVBBU1MgUmVzb3VyY2UgbG9hZCBzdGF0aXN0aWNzIGlzIHJ1bm5pbmcgaW4gZXBoZW1lcmFsIG1v
ZGUuCi1QQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCi0KLVRFU1QgQ09NUExFVEUKLQot
Ci0tLS0tLS0tLQotRnJhbWU6ICc8IS0tZnJhbWUxLS0+JwotLS0tLS0tLS0KLUJlZm9yZSB1c2Vy
IGludGVyYWN0aW9uLCBzaG91bGQgcmVjZWl2ZSBubyBjb29raWVzLgotRGlkIG5vdCByZWNlaXZl
IGNvb2tpZSBuYW1lZCAnZmlyc3RQYXJ0eUNvb2tpZScuCi1DbGllbnQtc2lkZSBkb2N1bWVudC5j
b29raWU6Ci0KLS0tLS0tLS0tCi1GcmFtZTogJzwhLS1mcmFtZTItLT4nCi0tLS0tLS0tLQotQWZ0
ZXIgdXNlciBpbnRlcmFjdGlvbiwgc2hvdWxkIHJlY2VpdmUgbm8gY29va2llcy4KLURpZCBub3Qg
cmVjZWl2ZSBjb29raWUgbmFtZWQgJ2ZpcnN0UGFydHlDb29raWUnLgotQ2xpZW50LXNpZGUgZG9j
dW1lbnQuY29va2llOgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJj
ZUxvYWRTdGF0aXN0aWNzL3RoaXJkLXBhcnR5LWNvb2tpZS1ibG9ja2luZy1lcGhlbWVyYWwtZGF0
YWJhc2UuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGlj
cy90aGlyZC1wYXJ0eS1jb29raWUtYmxvY2tpbmctZXBoZW1lcmFsLWRhdGFiYXNlLmh0bWwKZGVs
ZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDI0NGMwYmQ0YzU5MzVlODllOTc4NmEzMmY5NjQ5
YmRlOTI5YzZhNDEuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0t
IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3RoaXJkLXBh
cnR5LWNvb2tpZS1ibG9ja2luZy1lcGhlbWVyYWwtZGF0YWJhc2UuaHRtbAorKysgL2Rldi9udWxs
CkBAIC0xLDc0ICswLDAgQEAKLTwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRXBoZW1lcmFs
U2Vzc2lvbj10cnVlIF0gLS0+Ci08IURPQ1RZUEUgaHRtbD4KLTxodG1sIGxhbmc9ImVuIj4KLTxo
ZWFkPgotICAgIDxtZXRhIGNoYXJzZXQ9IlVURi04Ij4KLSAgICA8c2NyaXB0IHNyYz0iL2pzLXRl
c3QtcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgotICAgIDxzY3JpcHQgc3JjPSJyZXNv
dXJjZXMvdXRpbC5qcyI+PC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keT4KLTxzY3JpcHQ+Ci0gICAg
ZGVzY3JpcHRpb24oIlRlc3RzIHRoYXQgYWxsIHRoaXJkLXBhcnR5IGNvb2tpZXMgYXJlIGJsb2Nr
ZWQgKGVwaGVtZXJhbCBzZXNzaW9uKS4iKTsKLSAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKLQot
ICAgIGNvbnN0IHBhcnRpdGlvbkhvc3QgPSAiMTI3LjAuMC4xOjgwMDAiOwotICAgIGNvbnN0IHBh
cnRpdGlvbk9yaWdpbiA9ICJodHRwOi8vIiArIHBhcnRpdGlvbkhvc3Q7Ci0gICAgY29uc3QgdGhp
cmRQYXJ0eU9yaWdpbiA9ICJodHRwOi8vbG9jYWxob3N0OjgwMDAiOwotICAgIGNvbnN0IHJlc291
cmNlUGF0aCA9ICIvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9yZXNvdXJjZXMiOwotICAgIGNvbnN0
IHRoaXJkUGFydHlCYXNlVXJsID0gdGhpcmRQYXJ0eU9yaWdpbiArIHJlc291cmNlUGF0aDsKLSAg
ICBjb25zdCBmaXJzdFBhcnR5Q29va2llTmFtZSA9ICJmaXJzdFBhcnR5Q29va2llIjsKLSAgICBj
b25zdCBzdWJQYXRoVG9TZXRGaXJzdFBhcnR5Q29va2llID0gIi9zZXQtY29va2llLnBocD9uYW1l
PSIgKyBmaXJzdFBhcnR5Q29va2llTmFtZSArICImdmFsdWU9dmFsdWUiOwotICAgIGNvbnN0IHJl
dHVyblVybCA9IHBhcnRpdGlvbk9yaWdpbiArICIvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy90aGly
ZC1wYXJ0eS1jb29raWUtYmxvY2tpbmctZXBoZW1lcmFsLWRhdGFiYXNlLmh0bWwiOwotICAgIGNv
bnN0IHN1YlBhdGhUb0dldENvb2tpZXMgPSAiL2dldC1jb29raWVzLnBocD9uYW1lMT0iICsgZmly
c3RQYXJ0eUNvb2tpZU5hbWU7Ci0KLSAgICBmdW5jdGlvbiBvcGVuSWZyYW1lKHVybCwgb25Mb2Fk
SGFuZGxlcikgewotICAgICAgICBjb25zdCBlbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVu
dCgiaWZyYW1lIik7Ci0gICAgICAgIGVsZW1lbnQuc3JjID0gdXJsOwotICAgICAgICBpZiAob25M
b2FkSGFuZGxlcikgewotICAgICAgICAgICAgZWxlbWVudC5vbmxvYWQgPSBvbkxvYWRIYW5kbGVy
OwotICAgICAgICB9Ci0gICAgICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoZWxlbWVudCk7
Ci0gICAgfQotCi0gICAgZnVuY3Rpb24gcnVuVGVzdCgpIHsKLSAgICAgICAgc3dpdGNoIChkb2N1
bWVudC5sb2NhdGlvbi5oYXNoKSB7Ci0gICAgICAgICAgICBjYXNlICIjc3RlcDEiOgotICAgICAg
ICAgICAgICAgIC8vIFNldCBmaXJzdC1wYXJ0eSBjb29raWUgZm9yIGxvY2FsaG9zdC4KLSAgICAg
ICAgICAgICAgICBkb2N1bWVudC5sb2NhdGlvbi5ocmVmID0gdGhpcmRQYXJ0eUJhc2VVcmwgKyBz
dWJQYXRoVG9TZXRGaXJzdFBhcnR5Q29va2llICsgIiMiICsgcmV0dXJuVXJsICsgIiNzdGVwMiI7
Ci0gICAgICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgICAgICBjYXNlICIjc3RlcDIiOgotICAg
ICAgICAgICAgICAgIGRvY3VtZW50LmxvY2F0aW9uLmhhc2ggPSAic3RlcDMiOwotICAgICAgICAg
ICAgICAgIC8vIENoZWNrIHRoYXQgdGhlIGNvb2tpZSBpcyBibG9ja2VkIGZvciBsb2NhbGhvc3Qg
dW5kZXIgMTI3LjAuMC4xIGV2ZW4gdGhvdWdoIGxvY2FsaG9zdCBpcyBub3QgcHJldmFsZW50Lgot
ICAgICAgICAgICAgICAgIG9wZW5JZnJhbWUodGhpcmRQYXJ0eUJhc2VVcmwgKyBzdWJQYXRoVG9H
ZXRDb29raWVzICsgIiZtZXNzYWdlPUJlZm9yZSB1c2VyIGludGVyYWN0aW9uLCBzaG91bGQgcmVj
ZWl2ZSBubyBjb29raWVzLiIsIHJ1blRlc3QpOwotICAgICAgICAgICAgICAgIGJyZWFrOwotICAg
ICAgICAgICAgY2FzZSAiI3N0ZXAzIjoKLSAgICAgICAgICAgICAgICBkb2N1bWVudC5sb2NhdGlv
bi5oYXNoID0gInN0ZXA0IjsKLSAgICAgICAgICAgICAgICAvLyBQcm9kdWNlIHVzZXIgaW50ZXJh
Y3Rpb24gZm9yIHRoZSBmaXJzdC1wYXJ0eS4KLSAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLnNl
dFN0YXRpc3RpY3NIYXNIYWRVc2VySW50ZXJhY3Rpb24ocGFydGl0aW9uT3JpZ2luLCB0cnVlLCBm
dW5jdGlvbigpIHsKLSAgICAgICAgICAgICAgICAgICAgLy8gQ2hlY2sgdGhhdCB0aGUgY29va2ll
IGlzIHN0aWxsIGJsb2NrZWQgZm9yIGxvY2FsaG9zdCB1bmRlciAxMjcuMC4wLjEuCi0gICAgICAg
ICAgICAgICAgICAgIG9wZW5JZnJhbWUodGhpcmRQYXJ0eUJhc2VVcmwgKyBzdWJQYXRoVG9HZXRD
b29raWVzICsgICImbWVzc2FnZT1BZnRlciB1c2VyIGludGVyYWN0aW9uLCBzaG91bGQgcmVjZWl2
ZSBubyBjb29raWVzLiIsIHJ1blRlc3QpOwotICAgICAgICAgICAgICAgIH0pOwotICAgICAgICAg
ICAgICAgIGJyZWFrOwotICAgICAgICAgICAgY2FzZSAiI3N0ZXA0IjoKLSAgICAgICAgICAgICAg
ICB0ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NTaG91bGRCbG9ja1RoaXJkUGFydHlDb29raWVzKGZh
bHNlLCBmdW5jdGlvbigpIHsKLSAgICAgICAgICAgICAgICAgICAgc2V0RW5hYmxlRmVhdHVyZShm
YWxzZSwgZmluaXNoSlNUZXN0KTsKLSAgICAgICAgICAgICAgICB9KTsKLSAgICAgICAgICAgICAg
ICBicmVhazsKLSAgICAgICAgfQotICAgIH0KLQotICAgIGlmIChkb2N1bWVudC5sb2NhdGlvbi5o
YXNoID09PSAiIikgewotICAgICAgICB0ZXN0UnVubmVyLnNldFVzZUlUUERhdGFiYXNlKHRydWUp
OwotICAgICAgICBzZXRFbmFibGVGZWF0dXJlKHRydWUsIGZ1bmN0aW9uICgpIHsKLSAgICAgICAg
ICAgIHRlc3RSdW5uZXIuZHVtcENoaWxkRnJhbWVzQXNUZXh0KCk7Ci0gICAgICAgICAgICBkb2N1
bWVudC5sb2NhdGlvbi5oYXNoID0gInN0ZXAxIjsKLSAgICAgICAgICAgIHRlc3RSdW5uZXIuc2V0
U3RhdGlzdGljc1Nob3VsZEJsb2NrVGhpcmRQYXJ0eUNvb2tpZXModHJ1ZSwgcnVuVGVzdCk7Ci0g
ICAgICAgIH0pOwotICAgIH0gZWxzZSB7Ci0gICAgICAgIGlmICh0ZXN0UnVubmVyLmlzU3RhdGlz
dGljc0VwaGVtZXJhbCgpKQotICAgICAgICAgICAgdGVzdFBhc3NlZCgiUmVzb3VyY2UgbG9hZCBz
dGF0aXN0aWNzIGlzIHJ1bm5pbmcgaW4gZXBoZW1lcmFsIG1vZGUuIik7Ci0gICAgICAgIHJ1blRl
c3QoKTsKLSAgICB9Ci08L3NjcmlwdD4KLTwvYm9keT4KLTwvaHRtbD4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy90aGlyZC1wYXJ0eS1j
b29raWUtYmxvY2tpbmctb24tc2l0ZXMtd2l0aG91dC11c2VyLWludGVyYWN0aW9uLWRhdGFiYXNl
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlz
dGljcy90aGlyZC1wYXJ0eS1jb29raWUtYmxvY2tpbmctb24tc2l0ZXMtd2l0aG91dC11c2VyLWlu
dGVyYWN0aW9uLWRhdGFiYXNlLWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggNmU3N2NhOGEwN2U0ZDBlN2NkODYwY2M0ZDg4NDdkNGZlYTg4MzZjMy4uMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rl
c3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvdGhpcmQtcGFydHktY29va2llLWJsb2NraW5nLW9u
LXNpdGVzLXdpdGhvdXQtdXNlci1pbnRlcmFjdGlvbi1kYXRhYmFzZS1leHBlY3RlZC50eHQKKysr
IC9kZXYvbnVsbApAQCAtMSwyMyArMCwwIEBACi1UZXN0cyB0aGF0IGFsbCB0aGlyZC1wYXJ0eSBj
b29raWVzIGFyZSBibG9ja2VkIHVuZGVyIHdlYnNpdGVzIHRoYXQgaGF2ZSBub3QgcmVjZWl2ZWQg
dXNlciBpbnRlcmFjdGlvbi4KLQotT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9m
ICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgotCi0KLVBBU1Mg
c3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKLQotVEVTVCBDT01QTEVURQotCi0KLS0tLS0tLS0t
Ci1GcmFtZTogJzwhLS1mcmFtZTEtLT4nCi0tLS0tLS0tLQotQmVmb3JlIHVzZXIgaW50ZXJhY3Rp
b24sIHNob3VsZCByZWNlaXZlIG5vIGNvb2tpZXMuCi1EaWQgbm90IHJlY2VpdmUgY29va2llIG5h
bWVkICdmaXJzdFBhcnR5Q29va2llJy4KLUNsaWVudC1zaWRlIGRvY3VtZW50LmNvb2tpZToKLQot
LS0tLS0tLS0KLUZyYW1lOiAnPCEtLWZyYW1lMi0tPicKLS0tLS0tLS0tCi1BZnRlciB1c2VyIGlu
dGVyYWN0aW9uLCBzaG91bGQgcmVjZWl2ZSBmaXJzdC1wYXJ0eSBjb29raWUuCi1SZWNlaXZlZCBj
b29raWUgbmFtZWQgJ2ZpcnN0UGFydHlDb29raWUnLgotQ2xpZW50LXNpZGUgZG9jdW1lbnQuY29v
a2llOiBmaXJzdFBhcnR5Q29va2llPXZhbHVlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvdGhpcmQtcGFydHktY29va2llLWJsb2NraW5n
LW9uLXNpdGVzLXdpdGhvdXQtdXNlci1pbnRlcmFjdGlvbi1kYXRhYmFzZS5odG1sIGIvTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3RoaXJkLXBhcnR5LWNvb2tp
ZS1ibG9ja2luZy1vbi1zaXRlcy13aXRob3V0LXVzZXItaW50ZXJhY3Rpb24tZGF0YWJhc2UuaHRt
bApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMjdhZTA3MzVmNDA1NjAyYzNkMDU3YTc2
MDM2NDlmNDM2N2RiMTE5MS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvdGhp
cmQtcGFydHktY29va2llLWJsb2NraW5nLW9uLXNpdGVzLXdpdGhvdXQtdXNlci1pbnRlcmFjdGlv
bi1kYXRhYmFzZS5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsNzUgKzAsMCBAQAotPCFET0NUWVBF
IGh0bWw+Ci08aHRtbCBsYW5nPSJlbiI+Ci08aGVhZD4KLSAgICA8bWV0YSBjaGFyc2V0PSJVVEYt
OCI+Ci0gICAgPHNjcmlwdCBzcmM9Ii9qcy10ZXN0LXJlc291cmNlcy9qcy10ZXN0LmpzIj48L3Nj
cmlwdD4KLSAgICA8c2NyaXB0IHNyYz0icmVzb3VyY2VzL3V0aWwuanMiPjwvc2NyaXB0PgotPC9o
ZWFkPgotPGJvZHk+Ci08c2NyaXB0PgotICAgIGRlc2NyaXB0aW9uKCJUZXN0cyB0aGF0IGFsbCB0
aGlyZC1wYXJ0eSBjb29raWVzIGFyZSBibG9ja2VkIHVuZGVyIHdlYnNpdGVzIHRoYXQgaGF2ZSBu
b3QgcmVjZWl2ZWQgdXNlciBpbnRlcmFjdGlvbi4iKTsKLSAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1
ZTsKLQotICAgIGNvbnN0IHBhcnRpdGlvbkhvc3QgPSAiMTI3LjAuMC4xOjgwMDAiOwotICAgIGNv
bnN0IHBhcnRpdGlvbk9yaWdpbiA9ICJodHRwOi8vIiArIHBhcnRpdGlvbkhvc3Q7Ci0gICAgY29u
c3QgdGhpcmRQYXJ0eU9yaWdpbiA9ICJodHRwOi8vbG9jYWxob3N0OjgwMDAiOwotICAgIGNvbnN0
IHJlc291cmNlUGF0aCA9ICIvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9yZXNvdXJjZXMiOwotICAg
IGNvbnN0IHRoaXJkUGFydHlCYXNlVXJsID0gdGhpcmRQYXJ0eU9yaWdpbiArIHJlc291cmNlUGF0
aDsKLSAgICBjb25zdCBmaXJzdFBhcnR5Q29va2llTmFtZSA9ICJmaXJzdFBhcnR5Q29va2llIjsK
LSAgICBjb25zdCBzdWJQYXRoVG9TZXRGaXJzdFBhcnR5Q29va2llID0gIi9zZXQtY29va2llLnBo
cD9uYW1lPSIgKyBmaXJzdFBhcnR5Q29va2llTmFtZSArICImdmFsdWU9dmFsdWUiOwotICAgIGNv
bnN0IHJldHVyblVybCA9IHBhcnRpdGlvbk9yaWdpbiArICIvcmVzb3VyY2VMb2FkU3RhdGlzdGlj
cy90aGlyZC1wYXJ0eS1jb29raWUtYmxvY2tpbmctb24tc2l0ZXMtd2l0aG91dC11c2VyLWludGVy
YWN0aW9uLWRhdGFiYXNlLmh0bWwiOwotICAgIGNvbnN0IHN1YlBhdGhUb0dldENvb2tpZXMgPSAi
L2dldC1jb29raWVzLnBocD9uYW1lMT0iICsgZmlyc3RQYXJ0eUNvb2tpZU5hbWU7Ci0KLSAgICBm
dW5jdGlvbiBvcGVuSWZyYW1lKHVybCwgb25Mb2FkSGFuZGxlcikgewotICAgICAgICBjb25zdCBl
bGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiaWZyYW1lIik7Ci0gICAgICAgIGVsZW1l
bnQuc3JjID0gdXJsOwotICAgICAgICBpZiAob25Mb2FkSGFuZGxlcikgewotICAgICAgICAgICAg
ZWxlbWVudC5vbmxvYWQgPSBvbkxvYWRIYW5kbGVyOwotICAgICAgICB9Ci0gICAgICAgIGRvY3Vt
ZW50LmJvZHkuYXBwZW5kQ2hpbGQoZWxlbWVudCk7Ci0gICAgfQotCi0gICAgZnVuY3Rpb24gcnVu
VGVzdCgpIHsKLSAgICAgICAgc3dpdGNoIChkb2N1bWVudC5sb2NhdGlvbi5oYXNoKSB7Ci0gICAg
ICAgICAgICBjYXNlICIjc3RlcDEiOgotICAgICAgICAgICAgICAgIC8vIFNldCBmaXJzdC1wYXJ0
eSBjb29raWUgZm9yIGxvY2FsaG9zdC4KLSAgICAgICAgICAgICAgICBkb2N1bWVudC5sb2NhdGlv
bi5ocmVmID0gdGhpcmRQYXJ0eUJhc2VVcmwgKyBzdWJQYXRoVG9TZXRGaXJzdFBhcnR5Q29va2ll
ICsgIiMiICsgcmV0dXJuVXJsICsgIiNzdGVwMiI7Ci0gICAgICAgICAgICAgICAgYnJlYWs7Ci0g
ICAgICAgICAgICBjYXNlICIjc3RlcDIiOgotICAgICAgICAgICAgICAgIGRvY3VtZW50LmxvY2F0
aW9uLmhhc2ggPSAic3RlcDMiOwotICAgICAgICAgICAgICAgIC8vIENoZWNrIHRoYXQgdGhlIGNv
b2tpZSBpcyBibG9ja2VkIGZvciBsb2NhbGhvc3QgdW5kZXIgMTI3LjAuMC4xIGV2ZW4gdGhvdWdo
IGxvY2FsaG9zdCBpcyBub3QgcHJldmFsZW50LgotICAgICAgICAgICAgICAgIG9wZW5JZnJhbWUo
dGhpcmRQYXJ0eUJhc2VVcmwgKyBzdWJQYXRoVG9HZXRDb29raWVzICsgIiZtZXNzYWdlPUJlZm9y
ZSB1c2VyIGludGVyYWN0aW9uLCBzaG91bGQgcmVjZWl2ZSBubyBjb29raWVzLiIsIHJ1blRlc3Qp
OwotICAgICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICAgICAgY2FzZSAiI3N0ZXAzIjoKLSAg
ICAgICAgICAgICAgICBkb2N1bWVudC5sb2NhdGlvbi5oYXNoID0gInN0ZXA0IjsKLSAgICAgICAg
ICAgICAgICAvLyBQcm9kdWNlIHVzZXIgaW50ZXJhY3Rpb24gZm9yIHRoZSBmaXJzdC1wYXJ0eSB0
byBhbGxvdyB0aGlyZC1wYXJ0eSBjb29raWUgYWNjZXNzLgotICAgICAgICAgICAgICAgIHRlc3RS
dW5uZXIuc2V0U3RhdGlzdGljc0hhc0hhZFVzZXJJbnRlcmFjdGlvbihwYXJ0aXRpb25PcmlnaW4s
IHRydWUsIGZ1bmN0aW9uKCkgewotICAgICAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLnN0YXRp
c3RpY3NVcGRhdGVDb29raWVCbG9ja2luZyhmdW5jdGlvbigpIHsKLSAgICAgICAgICAgICAgICAg
ICAgICAgIC8vIENoZWNrIHRoYXQgdGhlIGNvb2tpZSBpcyBubyBsb25nZXIgYmxvY2tlZCBmb3Ig
bG9jYWxob3N0IHVuZGVyIDEyNy4wLjAuMS4KLSAgICAgICAgICAgICAgICAgICAgICAgIG9wZW5J
ZnJhbWUodGhpcmRQYXJ0eUJhc2VVcmwgKyBzdWJQYXRoVG9HZXRDb29raWVzICsgICImbWVzc2Fn
ZT1BZnRlciB1c2VyIGludGVyYWN0aW9uLCBzaG91bGQgcmVjZWl2ZSBmaXJzdC1wYXJ0eSBjb29r
aWUuIiwgcnVuVGVzdCk7Ci0gICAgICAgICAgICAgICAgICAgIH0pOwotICAgICAgICAgICAgICAg
IH0pOwotICAgICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICAgICAgY2FzZSAiI3N0ZXA0IjoK
LSAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NTaG91bGRCbG9ja1RoaXJk
UGFydHlDb29raWVzKGZhbHNlLCBmdW5jdGlvbigpIHsKLSAgICAgICAgICAgICAgICAgICAgc2V0
RW5hYmxlRmVhdHVyZShmYWxzZSwgZmluaXNoSlNUZXN0KTsKLSAgICAgICAgICAgICAgICB9KTsK
LSAgICAgICAgICAgICAgICBicmVhazsKLSAgICAgICAgfQotICAgIH0KLQotICAgIGlmIChkb2N1
bWVudC5sb2NhdGlvbi5oYXNoID09PSAiIikgewotICAgICAgICB0ZXN0UnVubmVyLnNldFVzZUlU
UERhdGFiYXNlKHRydWUpOwotICAgICAgICBzZXRFbmFibGVGZWF0dXJlKHRydWUsIGZ1bmN0aW9u
ICgpIHsKLSAgICAgICAgICAgIGlmICh0ZXN0UnVubmVyLmlzU3RhdGlzdGljc1ByZXZhbGVudFJl
c291cmNlKHRoaXJkUGFydHlPcmlnaW4pKQotICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoIkxv
Y2FsaG9zdCB3YXMgY2xhc3NpZmllZCBhcyBwcmV2YWxlbnQgcmVzb3VyY2UgYmVmb3JlIHRoZSB0
ZXN0IHN0YXJ0cy4iKTsKLSAgICAgICAgICAgIHRlc3RSdW5uZXIuZHVtcENoaWxkRnJhbWVzQXNU
ZXh0KCk7Ci0gICAgICAgICAgICBkb2N1bWVudC5sb2NhdGlvbi5oYXNoID0gInN0ZXAxIjsKLSAg
ICAgICAgICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc1Nob3VsZEJsb2NrVGhpcmRQYXJ0eUNv
b2tpZXModHJ1ZSwgcnVuVGVzdCwgdHJ1ZSk7Ci0gICAgICAgIH0pOwotICAgIH0gZWxzZSB7Ci0g
ICAgICAgIHJ1blRlc3QoKTsKLSAgICB9Ci08L3NjcmlwdD4KLTwvYm9keT4KLTwvaHRtbD4KXCBO
byBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rl
c3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvdXNlci1pbnRlcmFjdGlvbi1pbi1jcm9zcy1vcmln
aW4tc3ViLWZyYW1lLWRhdGFiYXNlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvdGVz
dHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy91c2VyLWludGVyYWN0aW9uLWluLWNyb3NzLW9yaWdp
bi1zdWItZnJhbWUtZGF0YWJhc2UtZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAyODQyNzMwYTQ1ZGFkZTZlYTZmMTVkZWNjMzlhN2U1YTlhMGUzMTJjLi4wMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2h0dHAv
dGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy91c2VyLWludGVyYWN0aW9uLWluLWNyb3NzLW9y
aWdpbi1zdWItZnJhbWUtZGF0YWJhc2UtZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEs
MTQgKzAsMCBAQAotVGVzdHMgdGhhdCB1c2VyIGludGVyYWN0aW9uIGlzIGFsd2F5cyBsb2dnZWQg
Zm9yIHRoZSB0b3AgZG9jdW1lbnQvZnJhbWUuCi0KLU9uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBh
IHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4K
LQotCi1QQVNTIGRvY3VtZW50LmxvY2F0aW9uLm9yaWdpbiBpcyB0b3BGcmFtZU9yaWdpbgotUEFT
UyB0ZXN0UnVubmVyLmlzU3RhdGlzdGljc0hhc0hhZFVzZXJJbnRlcmFjdGlvbih0b3BGcmFtZU9y
aWdpbikgaXMgZmFsc2UKLVBBU1MgdGVzdFJ1bm5lci5pc1N0YXRpc3RpY3NIYXNIYWRVc2VySW50
ZXJhY3Rpb24oc3ViRnJhbWVPcmlnaW4pIGlzIGZhbHNlCi1QQVNTIHRlc3RSdW5uZXIuaXNTdGF0
aXN0aWNzSGFzSGFkVXNlckludGVyYWN0aW9uKHRvcEZyYW1lT3JpZ2luKSBpcyB0cnVlCi1QQVNT
IHRlc3RSdW5uZXIuaXNTdGF0aXN0aWNzSGFzSGFkVXNlckludGVyYWN0aW9uKHN1YkZyYW1lT3Jp
Z2luKSBpcyBmYWxzZQotUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQotCi1URVNUIENP
TVBMRVRFCi0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2Fk
U3RhdGlzdGljcy91c2VyLWludGVyYWN0aW9uLWluLWNyb3NzLW9yaWdpbi1zdWItZnJhbWUtZGF0
YWJhc2UuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGlj
cy91c2VyLWludGVyYWN0aW9uLWluLWNyb3NzLW9yaWdpbi1zdWItZnJhbWUtZGF0YWJhc2UuaHRt
bApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNTE2NzJlODljMjdlZmY5OTdiOWRiZmIw
YWIyNTMzZDNkYTNmYjRiYi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvdXNl
ci1pbnRlcmFjdGlvbi1pbi1jcm9zcy1vcmlnaW4tc3ViLWZyYW1lLWRhdGFiYXNlLmh0bWwKKysr
IC9kZXYvbnVsbApAQCAtMSw0NyArMCwwIEBACi08IURPQ1RZUEUgaHRtbD4KLTxodG1sPgotPGJv
ZHk+Ci08c2NyaXB0IHNyYz0iL2pzLXRlc3QtcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0
PgotPHNjcmlwdCBzcmM9Ii9qcy10ZXN0LXJlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0
PgotPHNjcmlwdCBzcmM9InJlc291cmNlcy91dGlsLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQ+Ci1k
ZXNjcmlwdGlvbigiVGVzdHMgdGhhdCB1c2VyIGludGVyYWN0aW9uIGlzIGFsd2F5cyBsb2dnZWQg
Zm9yIHRoZSB0b3AgZG9jdW1lbnQvZnJhbWUuIik7Ci1qc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKLXRl
c3RSdW5uZXIuc2V0VXNlSVRQRGF0YWJhc2UodHJ1ZSk7Ci0KLWNvbnN0IHRvcEZyYW1lT3JpZ2lu
ID0gImh0dHA6Ly8xMjcuMC4wLjE6ODAwMCI7Ci1jb25zdCBzdWJGcmFtZU9yaWdpbiA9ICJodHRw
Oi8vbG9jYWxob3N0OjgwMDAiOwotCi1mdW5jdGlvbiBhY3RpdmF0ZUVsZW1lbnQoZWxlbWVudElk
KSB7Ci0gICAgdmFyIGVsZW1lbnQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChlbGVtZW50SWQp
OwotICAgIHZhciBjZW50ZXJYID0gZWxlbWVudC5vZmZzZXRMZWZ0ICsgZWxlbWVudC5vZmZzZXRX
aWR0aCAvIDI7Ci0gICAgdmFyIGNlbnRlclkgPSBlbGVtZW50Lm9mZnNldFRvcCArIGVsZW1lbnQu
b2Zmc2V0SGVpZ2h0IC8gMjsKLSAgICBVSUhlbHBlci5hY3RpdmF0ZUF0KGNlbnRlclgsIGNlbnRl
clkpOwotfQotCi1mdW5jdGlvbiBmaW5pc2hUZXN0KCkgewotICAgIHNob3VsZEJlVHJ1ZSgidGVz
dFJ1bm5lci5pc1N0YXRpc3RpY3NIYXNIYWRVc2VySW50ZXJhY3Rpb24odG9wRnJhbWVPcmlnaW4p
Iik7Ci0gICAgc2hvdWxkQmVGYWxzZSgidGVzdFJ1bm5lci5pc1N0YXRpc3RpY3NIYXNIYWRVc2Vy
SW50ZXJhY3Rpb24oc3ViRnJhbWVPcmlnaW4pIik7Ci0gICAgc2V0RW5hYmxlRmVhdHVyZShmYWxz
ZSwgZmluaXNoSlNUZXN0KTsKLX0KLQotb25sb2FkID0gZnVuY3Rpb24oKSB7Ci0gICAgc2V0RW5h
YmxlRmVhdHVyZSh0cnVlLCBmdW5jdGlvbigpIHsKLSAgICAgICAgaWYgKHRlc3RSdW5uZXIpIHsK
LSAgICAgICAgICAgIHRlc3RSdW5uZXIuaW5zdGFsbFN0YXRpc3RpY3NEaWRTY2FuRGF0YVJlY29y
ZHNDYWxsYmFjayhmaW5pc2hUZXN0KTsKLSAgICAgICAgfQotCi0gICAgICAgIHNob3VsZEJlKCJk
b2N1bWVudC5sb2NhdGlvbi5vcmlnaW4iLCAidG9wRnJhbWVPcmlnaW4iKTsKLQotICAgICAgICBp
ZiAodGVzdFJ1bm5lcikgewotICAgICAgICAgICAgc2hvdWxkQmVGYWxzZSgidGVzdFJ1bm5lci5p
c1N0YXRpc3RpY3NIYXNIYWRVc2VySW50ZXJhY3Rpb24odG9wRnJhbWVPcmlnaW4pIik7Ci0gICAg
ICAgICAgICBzaG91bGRCZUZhbHNlKCJ0ZXN0UnVubmVyLmlzU3RhdGlzdGljc0hhc0hhZFVzZXJJ
bnRlcmFjdGlvbihzdWJGcmFtZU9yaWdpbikiKTsKLQotICAgICAgICAgICAgYWN0aXZhdGVFbGVt
ZW50KCJ0ZXN0RnJhbWUiKTsKLSAgICAgICAgfQotICAgIH0pOwotfTsKLTwvc2NyaXB0PgotPGlm
cmFtZSBpZD0idGVzdEZyYW1lIiBzcmM9Imh0dHA6Ly9sb2NhbGhvc3Q6ODAwMC9yZXNvdXJjZUxv
YWRTdGF0aXN0aWNzL3Jlc291cmNlcy9kdW1teS5odG1sIj48L2lmcmFtZT4KLTwvYm9keT4KLTwv
aHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3Rh
dGlzdGljcy91c2VyLWludGVyYWN0aW9uLW9ubHktcmVwb3J0ZWQtb25jZS13aXRoaW4tc2hvcnQt
cGVyaW9kLW9mLXRpbWUtZGF0YWJhc2UtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC90
ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3VzZXItaW50ZXJhY3Rpb24tb25seS1yZXBvcnRl
ZC1vbmNlLXdpdGhpbi1zaG9ydC1wZXJpb2Qtb2YtdGltZS1kYXRhYmFzZS1leHBlY3RlZC50eHQK
ZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDU0MzJiYzhlZDczODFmYmM0OThkYjM0YzBm
YjNiZTdhNTdiZDkxZDEuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAK
LS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3VzZXIt
aW50ZXJhY3Rpb24tb25seS1yZXBvcnRlZC1vbmNlLXdpdGhpbi1zaG9ydC1wZXJpb2Qtb2YtdGlt
ZS1kYXRhYmFzZS1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSwxNyArMCwwIEBACi1U
ZXN0cyB0aGF0IHVzZXIgaW50ZXJhY3Rpb24gaXMgbm90IHJlcG9ydGVkIHJlcGVhdGVkbHkgd2l0
aGluIGEgc2hvcnQgcGVyaW9kIG9mIHRpbWUuCi0KLU9uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBh
IHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4K
LQotCi1QQVNTIGRvY3VtZW50LmxvY2F0aW9uLm9yaWdpbiBpcyB0b3BGcmFtZU9yaWdpbgotUEFT
UyB0ZXN0UnVubmVyLmlzU3RhdGlzdGljc0hhc0hhZFVzZXJJbnRlcmFjdGlvbih0b3BGcmFtZU9y
aWdpbikgaXMgZmFsc2UKLVBBU1MgdGVzdFJ1bm5lci5pc1N0YXRpc3RpY3NIYXNIYWRVc2VySW50
ZXJhY3Rpb24oc3ViRnJhbWVPcmlnaW4pIGlzIGZhbHNlCi1QQVNTIHRlc3RSdW5uZXIuaXNTdGF0
aXN0aWNzSGFzSGFkVXNlckludGVyYWN0aW9uKHRvcEZyYW1lT3JpZ2luKSBpcyB0cnVlCi1QQVNT
IHRlc3RSdW5uZXIuaXNTdGF0aXN0aWNzSGFzSGFkVXNlckludGVyYWN0aW9uKHN1YkZyYW1lT3Jp
Z2luKSBpcyBmYWxzZQotUEFTUyB0ZXN0UnVubmVyLmlzU3RhdGlzdGljc0hhc0hhZFVzZXJJbnRl
cmFjdGlvbih0b3BGcmFtZU9yaWdpbikgaXMgZmFsc2UKLVBBU1MgdGVzdFJ1bm5lci5pc1N0YXRp
c3RpY3NIYXNIYWRVc2VySW50ZXJhY3Rpb24odG9wRnJhbWVPcmlnaW4pIGlzIGZhbHNlCi1QQVNT
IHRlc3RSdW5uZXIuaXNTdGF0aXN0aWNzSGFzSGFkVXNlckludGVyYWN0aW9uKHN1YkZyYW1lT3Jp
Z2luKSBpcyBmYWxzZQotUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQotCi1URVNUIENP
TVBMRVRFCi1UaGlzIGlzIHRoZSB0ZXN0IGVsZW1lbnQKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy91c2VyLWludGVyYWN0aW9uLW9ubHkt
cmVwb3J0ZWQtb25jZS13aXRoaW4tc2hvcnQtcGVyaW9kLW9mLXRpbWUtZGF0YWJhc2UuaHRtbCBi
L0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy91c2VyLWludGVy
YWN0aW9uLW9ubHktcmVwb3J0ZWQtb25jZS13aXRoaW4tc2hvcnQtcGVyaW9kLW9mLXRpbWUtZGF0
YWJhc2UuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNjA5NTI0MmNhZDY3NDA0
MTdhYTk5NzI0NjE4OTgxNDRkYzJjZTkzZS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRp
c3RpY3MvdXNlci1pbnRlcmFjdGlvbi1vbmx5LXJlcG9ydGVkLW9uY2Utd2l0aGluLXNob3J0LXBl
cmlvZC1vZi10aW1lLWRhdGFiYXNlLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSw2NSArMCwwIEBA
Ci08IURPQ1RZUEUgaHRtbD4KLTxodG1sPgotPGJvZHk+Ci08c2NyaXB0IHNyYz0iL2pzLXRlc3Qt
cmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9qcy10ZXN0LXJl
c291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9InJlc291cmNlcy91
dGlsLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQ+Ci0gICAgZGVzY3JpcHRpb24oIlRlc3RzIHRoYXQg
dXNlciBpbnRlcmFjdGlvbiBpcyBub3QgcmVwb3J0ZWQgcmVwZWF0ZWRseSB3aXRoaW4gYSBzaG9y
dCBwZXJpb2Qgb2YgdGltZS4iKTsKLSAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKLQotICAgIGNv
bnN0IHRvcEZyYW1lT3JpZ2luID0gImh0dHA6Ly8xMjcuMC4wLjE6ODAwMCI7Ci0gICAgY29uc3Qg
c3ViRnJhbWVPcmlnaW4gPSAiaHR0cDovL2xvY2FsaG9zdDo4MDAwIjsKLQotICAgIGZ1bmN0aW9u
IGFjdGl2YXRlRWxlbWVudChlbGVtZW50SWQsIGNhbGxiYWNrKSB7Ci0gICAgICAgIHZhciBlbGVt
ZW50ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoZWxlbWVudElkKTsKLSAgICAgICAgdmFyIGNl
bnRlclggPSBlbGVtZW50Lm9mZnNldExlZnQgKyBlbGVtZW50Lm9mZnNldFdpZHRoIC8gMjsKLSAg
ICAgICAgdmFyIGNlbnRlclkgPSBlbGVtZW50Lm9mZnNldFRvcCArIGVsZW1lbnQub2Zmc2V0SGVp
Z2h0IC8gMjsKLSAgICAgICAgVUlIZWxwZXIuYWN0aXZhdGVBdChjZW50ZXJYLCBjZW50ZXJZKS50
aGVuKAotICAgICAgICAgICAgZnVuY3Rpb24oKSB7Ci0gICAgICAgICAgICAgICAgY2FsbGJhY2so
KTsKLSAgICAgICAgICAgIH0sCi0gICAgICAgICAgICBmdW5jdGlvbigpIHsKLSAgICAgICAgICAg
ICAgICB0ZXN0RmFpbGVkKCJQcm9taXNlIHJlamVjdGVkLiIpOwotICAgICAgICAgICAgICAgIHNl
dEVuYWJsZUZlYXR1cmUoZmFsc2UsIGZpbmlzaEpTVGVzdCk7Ci0gICAgICAgICAgICB9Ci0gICAg
ICAgICk7Ci0gICAgfQotCi0gICAgZnVuY3Rpb24gZmlyc3RJbnRlcmFjdGlvbigpIHsKLSAgICAg
ICAgc2hvdWxkQmVGYWxzZSgidGVzdFJ1bm5lci5pc1N0YXRpc3RpY3NIYXNIYWRVc2VySW50ZXJh
Y3Rpb24odG9wRnJhbWVPcmlnaW4pIik7Ci0gICAgICAgIHNob3VsZEJlRmFsc2UoInRlc3RSdW5u
ZXIuaXNTdGF0aXN0aWNzSGFzSGFkVXNlckludGVyYWN0aW9uKHN1YkZyYW1lT3JpZ2luKSIpOwot
ICAgICAgICBhY3RpdmF0ZUVsZW1lbnQoInRlc3RFbGVtZW50Iiwgc2Vjb25kSW50ZXJhY3Rpb24p
OwotICAgIH0KLQotICAgIGZ1bmN0aW9uIHNlY29uZEludGVyYWN0aW9uKCkgewotICAgICAgICBz
aG91bGRCZVRydWUoInRlc3RSdW5uZXIuaXNTdGF0aXN0aWNzSGFzSGFkVXNlckludGVyYWN0aW9u
KHRvcEZyYW1lT3JpZ2luKSIpOwotICAgICAgICBzaG91bGRCZUZhbHNlKCJ0ZXN0UnVubmVyLmlz
U3RhdGlzdGljc0hhc0hhZFVzZXJJbnRlcmFjdGlvbihzdWJGcmFtZU9yaWdpbikiKTsKLQotICAg
ICAgICBpZiAodGVzdFJ1bm5lcikgewotICAgICAgICAgICAgdGVzdFJ1bm5lci5zZXRTdGF0aXN0
aWNzSGFzSGFkVXNlckludGVyYWN0aW9uKHRvcEZyYW1lT3JpZ2luLCBmYWxzZSwgZnVuY3Rpb24o
KSB7Ci0gICAgICAgICAgICAgICAgc2hvdWxkQmVGYWxzZSgidGVzdFJ1bm5lci5pc1N0YXRpc3Rp
Y3NIYXNIYWRVc2VySW50ZXJhY3Rpb24odG9wRnJhbWVPcmlnaW4pIik7Ci0KLSAgICAgICAgICAg
ICAgICBhY3RpdmF0ZUVsZW1lbnQoInRlc3RFbGVtZW50IiwgZmluaXNoVGVzdCk7Ci0gICAgICAg
ICAgICB9KTsKLSAgICAgICAgfQotICAgIH0KLQotICAgIGZ1bmN0aW9uIGZpbmlzaFRlc3QoKSB7
Ci0gICAgICAgIHNob3VsZEJlRmFsc2UoInRlc3RSdW5uZXIuaXNTdGF0aXN0aWNzSGFzSGFkVXNl
ckludGVyYWN0aW9uKHRvcEZyYW1lT3JpZ2luKSIpOwotICAgICAgICBzaG91bGRCZUZhbHNlKCJ0
ZXN0UnVubmVyLmlzU3RhdGlzdGljc0hhc0hhZFVzZXJJbnRlcmFjdGlvbihzdWJGcmFtZU9yaWdp
bikiKTsKLSAgICAgICAgc2V0RW5hYmxlRmVhdHVyZShmYWxzZSwgZmluaXNoSlNUZXN0KTsKLSAg
ICB9Ci0KLSAgICBvbmxvYWQgPSBmdW5jdGlvbigpIHsKLSAgICAgICAgdGVzdFJ1bm5lci5zZXRV
c2VJVFBEYXRhYmFzZSh0cnVlKTsKLSAgICAgICAgc2V0RW5hYmxlRmVhdHVyZSh0cnVlLCBmdW5j
dGlvbigpIHsKLSAgICAgICAgICAgIHNob3VsZEJlKCJkb2N1bWVudC5sb2NhdGlvbi5vcmlnaW4i
LCAidG9wRnJhbWVPcmlnaW4iKTsKLQotICAgICAgICAgICAgZmlyc3RJbnRlcmFjdGlvbigpOwot
ICAgICAgICB9KTsKLSAgICB9OwotPC9zY3JpcHQ+Ci08ZGl2IGlkPSJ0ZXN0RWxlbWVudCI+VGhp
cyBpcyB0aGUgdGVzdCBlbGVtZW50PC9kaXY+Ci08L2JvZHk+Ci08L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvdXNlci1pbnRl
cmFjdGlvbi1yZXBvcnRlZC1hZnRlci13ZWJzaXRlLWRhdGEtcmVtb3ZhbC1kYXRhYmFzZS1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3Mv
dXNlci1pbnRlcmFjdGlvbi1yZXBvcnRlZC1hZnRlci13ZWJzaXRlLWRhdGEtcmVtb3ZhbC1kYXRh
YmFzZS1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGJmMjhjOTli
MzAyNDQ0NTYwYjUxYjM0OGI5NjAyMWIwNTg1NmVhM2MuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxv
YWRTdGF0aXN0aWNzL3VzZXItaW50ZXJhY3Rpb24tcmVwb3J0ZWQtYWZ0ZXItd2Vic2l0ZS1kYXRh
LXJlbW92YWwtZGF0YWJhc2UtZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEsMTcgKzAs
MCBAQAotVGVzdHMgdGhhdCB1c2VyIGludGVyYWN0aW9uIGlzIHJlcG9ydGVkIGFmdGVyIGhpc3Rv
cnkgcmVtb3ZhbCBzaW5jZSB0aGF0IG1lYW5zIGFsbCBzdGF0aXN0aWNzIGhhdmUgYmVlbiByZXNl
dC4KLQotT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdl
cywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgotCi0KLVBBU1MgZG9jdW1lbnQubG9jYXRp
b24ub3JpZ2luIGlzIHRvcEZyYW1lT3JpZ2luCi1QQVNTIHRlc3RSdW5uZXIuaXNTdGF0aXN0aWNz
SGFzSGFkVXNlckludGVyYWN0aW9uKHRvcEZyYW1lT3JpZ2luKSBpcyBmYWxzZQotUEFTUyB0ZXN0
UnVubmVyLmlzU3RhdGlzdGljc0hhc0hhZFVzZXJJbnRlcmFjdGlvbihzdWJGcmFtZU9yaWdpbikg
aXMgZmFsc2UKLVBBU1MgdGVzdFJ1bm5lci5pc1N0YXRpc3RpY3NIYXNIYWRVc2VySW50ZXJhY3Rp
b24odG9wRnJhbWVPcmlnaW4pIGlzIHRydWUKLVBBU1MgdGVzdFJ1bm5lci5pc1N0YXRpc3RpY3NI
YXNIYWRVc2VySW50ZXJhY3Rpb24oc3ViRnJhbWVPcmlnaW4pIGlzIGZhbHNlCi1QQVNTIHRlc3RS
dW5uZXIuaXNTdGF0aXN0aWNzSGFzSGFkVXNlckludGVyYWN0aW9uKHRvcEZyYW1lT3JpZ2luKSBp
cyBmYWxzZQotUEFTUyB0ZXN0UnVubmVyLmlzU3RhdGlzdGljc0hhc0hhZFVzZXJJbnRlcmFjdGlv
bih0b3BGcmFtZU9yaWdpbikgaXMgdHJ1ZQotUEFTUyB0ZXN0UnVubmVyLmlzU3RhdGlzdGljc0hh
c0hhZFVzZXJJbnRlcmFjdGlvbihzdWJGcmFtZU9yaWdpbikgaXMgZmFsc2UKLVBBU1Mgc3VjY2Vz
c2Z1bGx5UGFyc2VkIGlzIHRydWUKLQotVEVTVCBDT01QTEVURQotVGhpcyBpcyB0aGUgdGVzdCBl
bGVtZW50CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0
YXRpc3RpY3MvdXNlci1pbnRlcmFjdGlvbi1yZXBvcnRlZC1hZnRlci13ZWJzaXRlLWRhdGEtcmVt
b3ZhbC1kYXRhYmFzZS5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRT
dGF0aXN0aWNzL3VzZXItaW50ZXJhY3Rpb24tcmVwb3J0ZWQtYWZ0ZXItd2Vic2l0ZS1kYXRhLXJl
bW92YWwtZGF0YWJhc2UuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMmJlYjQy
Zjk0MmYxYjY4ZmZhY2ZlMGVmYjFmZTkyMzk2MmYyMjY4ZC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNl
TG9hZFN0YXRpc3RpY3MvdXNlci1pbnRlcmFjdGlvbi1yZXBvcnRlZC1hZnRlci13ZWJzaXRlLWRh
dGEtcmVtb3ZhbC1kYXRhYmFzZS5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsNjYgKzAsMCBAQAot
PCFET0NUWVBFIGh0bWw+Ci08aHRtbD4KLTxib2R5PgotPHNjcmlwdCBzcmM9Ii9qcy10ZXN0LXJl
c291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvanMtdGVzdC1yZXNv
dXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvdXRp
bC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0PgotICAgIGRlc2NyaXB0aW9uKCJUZXN0cyB0aGF0IHVz
ZXIgaW50ZXJhY3Rpb24gaXMgcmVwb3J0ZWQgYWZ0ZXIgaGlzdG9yeSByZW1vdmFsIHNpbmNlIHRo
YXQgbWVhbnMgYWxsIHN0YXRpc3RpY3MgaGF2ZSBiZWVuIHJlc2V0LiIpOwotICAgIGpzVGVzdElz
QXN5bmMgPSB0cnVlOwotCi0gICAgY29uc3QgdG9wRnJhbWVPcmlnaW4gPSAiaHR0cDovLzEyNy4w
LjAuMTo4MDAwIjsKLSAgICBjb25zdCBzdWJGcmFtZU9yaWdpbiA9ICJodHRwOi8vbG9jYWxob3N0
OjgwMDAiOwotCi0gICAgZnVuY3Rpb24gYWN0aXZhdGVFbGVtZW50KGVsZW1lbnRJZCwgY2FsbGJh
Y2spIHsKLSAgICAgICAgdmFyIGVsZW1lbnQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChlbGVt
ZW50SWQpOwotICAgICAgICB2YXIgY2VudGVyWCA9IGVsZW1lbnQub2Zmc2V0TGVmdCArIGVsZW1l
bnQub2Zmc2V0V2lkdGggLyAyOwotICAgICAgICB2YXIgY2VudGVyWSA9IGVsZW1lbnQub2Zmc2V0
VG9wICsgZWxlbWVudC5vZmZzZXRIZWlnaHQgLyAyOwotICAgICAgICBVSUhlbHBlci5hY3RpdmF0
ZUF0KGNlbnRlclgsIGNlbnRlclkpLnRoZW4oCi0gICAgICAgICAgICBmdW5jdGlvbigpIHsKLSAg
ICAgICAgICAgICAgICBjYWxsYmFjaygpOwotICAgICAgICAgICAgfSwKLSAgICAgICAgICAgIGZ1
bmN0aW9uKCkgewotICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoIlByb21pc2UgcmVqZWN0ZWQu
Iik7Ci0gICAgICAgICAgICAgICAgc2V0RW5hYmxlRmVhdHVyZShmYWxzZSwgZmluaXNoSlNUZXN0
KTsKLSAgICAgICAgICAgIH0KLSAgICAgICAgKTsKLSAgICB9Ci0KLSAgICBmdW5jdGlvbiBmaXJz
dEludGVyYWN0aW9uKCkgewotICAgICAgICBzaG91bGRCZUZhbHNlKCJ0ZXN0UnVubmVyLmlzU3Rh
dGlzdGljc0hhc0hhZFVzZXJJbnRlcmFjdGlvbih0b3BGcmFtZU9yaWdpbikiKTsKLSAgICAgICAg
c2hvdWxkQmVGYWxzZSgidGVzdFJ1bm5lci5pc1N0YXRpc3RpY3NIYXNIYWRVc2VySW50ZXJhY3Rp
b24oc3ViRnJhbWVPcmlnaW4pIik7Ci0gICAgICAgIGFjdGl2YXRlRWxlbWVudCgidGVzdEVsZW1l
bnQiLCBjbGVhcldlYnNpdGVEYXRhKTsKLSAgICB9Ci0KLSAgICBmdW5jdGlvbiBjbGVhcldlYnNp
dGVEYXRhKCkgewotICAgICAgICBzaG91bGRCZVRydWUoInRlc3RSdW5uZXIuaXNTdGF0aXN0aWNz
SGFzSGFkVXNlckludGVyYWN0aW9uKHRvcEZyYW1lT3JpZ2luKSIpOwotICAgICAgICBzaG91bGRC
ZUZhbHNlKCJ0ZXN0UnVubmVyLmlzU3RhdGlzdGljc0hhc0hhZFVzZXJJbnRlcmFjdGlvbihzdWJG
cmFtZU9yaWdpbikiKTsKLQotICAgICAgICBpZiAodGVzdFJ1bm5lcikKLSAgICAgICAgICAgIHRl
c3RSdW5uZXIuc3RhdGlzdGljc0NsZWFyVGhyb3VnaFdlYnNpdGVEYXRhUmVtb3ZhbChzZWNvbmRJ
bnRlcmFjdGlvbik7Ci0gICAgfQotCi0gICAgZnVuY3Rpb24gc2Vjb25kSW50ZXJhY3Rpb24oKSB7
Ci0gICAgICAgIHNob3VsZEJlRmFsc2UoInRlc3RSdW5uZXIuaXNTdGF0aXN0aWNzSGFzSGFkVXNl
ckludGVyYWN0aW9uKHRvcEZyYW1lT3JpZ2luKSIpOwotICAgICAgICBhY3RpdmF0ZUVsZW1lbnQo
InRlc3RFbGVtZW50IiwgZmluaXNoVGVzdCk7Ci0gICAgfQotCi0gICAgZnVuY3Rpb24gZmluaXNo
VGVzdCgpIHsKLSAgICAgICAgc2hvdWxkQmVUcnVlKCJ0ZXN0UnVubmVyLmlzU3RhdGlzdGljc0hh
c0hhZFVzZXJJbnRlcmFjdGlvbih0b3BGcmFtZU9yaWdpbikiKTsKLSAgICAgICAgc2hvdWxkQmVG
YWxzZSgidGVzdFJ1bm5lci5pc1N0YXRpc3RpY3NIYXNIYWRVc2VySW50ZXJhY3Rpb24oc3ViRnJh
bWVPcmlnaW4pIik7Ci0KLSAgICAgICAgc2V0RW5hYmxlRmVhdHVyZShmYWxzZSwgZmluaXNoSlNU
ZXN0KTsKLSAgICB9Ci0KLSAgICBvbmxvYWQgPSBmdW5jdGlvbigpIHsKLSAgICAgICAgdGVzdFJ1
bm5lci5zZXRVc2VJVFBEYXRhYmFzZSh0cnVlKTsKLSAgICAgICAgc2V0RW5hYmxlRmVhdHVyZSh0
cnVlLCBmdW5jdGlvbigpIHsKLSAgICAgICAgICAgIHNob3VsZEJlKCJkb2N1bWVudC5sb2NhdGlv
bi5vcmlnaW4iLCAidG9wRnJhbWVPcmlnaW4iKTsKLQotICAgICAgICAgICAgZmlyc3RJbnRlcmFj
dGlvbigpOwotICAgICAgICB9KTsKLSAgICB9OwotPC9zY3JpcHQ+Ci08ZGl2IGlkPSJ0ZXN0RWxl
bWVudCI+VGhpcyBpcyB0aGUgdGVzdCBlbGVtZW50PC9kaXY+Ci08L2JvZHk+Ci08L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3Mv
d2Vic2l0ZS1kYXRhLXJlbW92YWwtZm9yLXNpdGUtbmF2aWdhdGVkLXRvLXdpdGgtbGluay1kZWNv
cmF0aW9uLWRhdGFiYXNlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVz
b3VyY2VMb2FkU3RhdGlzdGljcy93ZWJzaXRlLWRhdGEtcmVtb3ZhbC1mb3Itc2l0ZS1uYXZpZ2F0
ZWQtdG8td2l0aC1saW5rLWRlY29yYXRpb24tZGF0YWJhc2UtZXhwZWN0ZWQudHh0CmRlbGV0ZWQg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCBkZTQxYTlhMWFiNDVmODY4ZTc1ZTg1YjQyYjVjOWY0M2Rk
NjI5M2JhLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xh
eW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy93ZWJzaXRlLWRhdGEt
cmVtb3ZhbC1mb3Itc2l0ZS1uYXZpZ2F0ZWQtdG8td2l0aC1saW5rLWRlY29yYXRpb24tZGF0YWJh
c2UtZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEsMzUgKzAsMCBAQAotQ2hlY2sgdGhh
dCBub24tY29va2llIHdlYnNpdGUgZGF0YSBnZXRzIHJlbW92ZWQgYWZ0ZXIgYSBuYXZpZ2F0aW9u
IHdpdGggbGluayBkZWNvcmF0aW9uIGZyb20gYSBwcmV2YWxlbnQgcmVzb3VyY2UuCi0KLUJlZm9y
ZSBkZWxldGlvbjogQ2xpZW50LXNpZGUgY29va2llIGV4aXN0cy4KLUJlZm9yZSBkZWxldGlvbjog
SHR0cE9ubHkgY29va2llIGV4aXN0cy4KLUJlZm9yZSBkZWxldGlvbjogUmVndWxhciBzZXJ2ZXIt
c2lkZSBjb29raWUgZXhpc3RzLgotQmVmb3JlIGRlbGV0aW9uOiBMb2NhbFN0b3JhZ2UgZW50cnkg
ZG9lcyBleGlzdC4KLUJlZm9yZSBkZWxldGlvbjogSURCIGVudHJ5IGRvZXMgZXhpc3QuCi0KLUFm
dGVyIGRlbGV0aW9uOiBIdHRwT25seSBjb29raWUgZXhpc3RzLgotQWZ0ZXIgZGVsZXRpb246IENs
aWVudC1zaWRlIGNvb2tpZSBleGlzdHMuCi1BZnRlciBkZWxldGlvbjogUmVndWxhciBzZXJ2ZXIt
c2lkZSBjb29raWUgZXhpc3RzLgotQWZ0ZXIgZGVsZXRpb246IExvY2FsU3RvcmFnZSBlbnRyeSBk
b2VzIG5vdCBleGlzdC4KLUFmdGVyIGRlbGV0aW9uOiBJREIgZW50cnkgZG9lcyBub3QgZXhpc3Qu
Ci0KLQotUmVzb3VyY2UgbG9hZCBzdGF0aXN0aWNzOgotCi1SZWdpc3RyYWJsZSBkb21haW46IDEy
Ny4wLjAuMQotICAgIGhhZFVzZXJJbnRlcmFjdGlvbjogTm8KLSAgICBtb3N0UmVjZW50VXNlcklu
dGVyYWN0aW9uOiAtMQotICAgIGdyYW5kZmF0aGVyZWQ6IE5vCi0gICAgVG9wRnJhbWVMaW5rRGVj
b3JhdGlvbnNGcm9tOgotICAgICAgICBsb2NhbGhvc3QKLSAgICBJc1NjaGVkdWxlZEZvckFsbEJ1
dENvb2tpZURhdGFSZW1vdmFsOiBObwotICAgIGlzUHJldmFsZW50UmVzb3VyY2U6IE5vCi0gICAg
aXNWZXJ5UHJldmFsZW50UmVzb3VyY2U6IE5vCi0gICAgZGF0YVJlY29yZHNSZW1vdmVkOiAxCi1S
ZWdpc3RyYWJsZSBkb21haW46IGxvY2FsaG9zdAotICAgIGhhZFVzZXJJbnRlcmFjdGlvbjogTm8K
LSAgICBtb3N0UmVjZW50VXNlckludGVyYWN0aW9uOiAtMQotICAgIGdyYW5kZmF0aGVyZWQ6IE5v
Ci0gICAgSXNTY2hlZHVsZWRGb3JBbGxCdXRDb29raWVEYXRhUmVtb3ZhbDogTm8KLSAgICBpc1By
ZXZhbGVudFJlc291cmNlOiBZZXMKLSAgICBpc1ZlcnlQcmV2YWxlbnRSZXNvdXJjZTogTm8KLSAg
ICBkYXRhUmVjb3Jkc1JlbW92ZWQ6IDAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVz
dHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy93ZWJzaXRlLWRhdGEtcmVtb3ZhbC1mb3Itc2l0ZS1u
YXZpZ2F0ZWQtdG8td2l0aC1saW5rLWRlY29yYXRpb24tZGF0YWJhc2UuaHRtbCBiL0xheW91dFRl
c3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy93ZWJzaXRlLWRhdGEtcmVtb3Zh
bC1mb3Itc2l0ZS1uYXZpZ2F0ZWQtdG8td2l0aC1saW5rLWRlY29yYXRpb24tZGF0YWJhc2UuaHRt
bApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZWIwY2Y1YzU2Yjk3Yjc5M2IwODM2N2Fi
MGM5YWZjNjZlNTRhNzcxOC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3Mvd2Vi
c2l0ZS1kYXRhLXJlbW92YWwtZm9yLXNpdGUtbmF2aWdhdGVkLXRvLXdpdGgtbGluay1kZWNvcmF0
aW9uLWRhdGFiYXNlLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSwyNTEgKzAsMCBAQAotPCFET0NU
WVBFIGh0bWw+Ci08aHRtbD4KLTxoZWFkPgotICAgIDxzY3JpcHQgc3JjPSIvY29va2llcy9yZXNv
dXJjZXMvY29va2llLXV0aWxpdGllcy5qcyI+PC9zY3JpcHQ+Ci0gICAgPHNjcmlwdCBzcmM9InJl
c291cmNlcy91dGlsLmpzIj48L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5IG9ubG9hZD0ic2V0VGlt
ZW91dCgncnVuVGVzdCgpJywgMCkiPgotPGRpdiBpZD0iZGVzY3JpcHRpb24iPkNoZWNrIHRoYXQg
bm9uLWNvb2tpZSB3ZWJzaXRlIGRhdGEgZ2V0cyByZW1vdmVkIGFmdGVyIGEgbmF2aWdhdGlvbiB3
aXRoIGxpbmsgZGVjb3JhdGlvbiBmcm9tIGEgcHJldmFsZW50IHJlc291cmNlLjwvZGl2PgotPGJy
PgotPGRpdiBpZD0ib3V0cHV0Ij48L2Rpdj4KLTxicj4KLTxzY3JpcHQ+Ci0gICAgdGVzdFJ1bm5l
ci5zZXRVc2VJVFBEYXRhYmFzZSh0cnVlKTsKLSAgICB0ZXN0UnVubmVyLndhaXRVbnRpbERvbmUo
KTsKLSAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKLQotICAgIGNvbnN0IGh0dHBPbmx5Q29v
a2llTmFtZSA9ICJodHRwLW9ubHktY29va2llIjsKLSAgICBjb25zdCBzZXJ2ZXJTaWRlQ29va2ll
TmFtZSA9ICJzZXJ2ZXItc2lkZS1jb29raWUiOwotICAgIGNvbnN0IGNsaWVudFNpZGVDb29raWVO
YW1lID0gImNsaWVudC1zaWRlLWNvb2tpZSI7Ci0KLSAgICBmdW5jdGlvbiBzb3J0U3RyaW5nQXJy
YXkoYSwgYikgewotICAgICAgICBhID0gYS50b0xvd2VyQ2FzZSgpOwotICAgICAgICBiID0gYi50
b0xvd2VyQ2FzZSgpOwotCi0gICAgICAgIHJldHVybiBhID4gYiA/IDEgOiBiID4gYSA/IC0xIDog
MDsKLSAgICB9Ci0KLSAgICBmdW5jdGlvbiBhZGRMaW5lYnJlYWtUb091dHB1dCgpIHsKLSAgICAg
ICAgbGV0IGVsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJiciIpOwotICAgICAgICBv
dXRwdXQuYXBwZW5kQ2hpbGQoZWxlbWVudCk7Ci0gICAgfQotCi0gICAgZnVuY3Rpb24gYWRkT3V0
cHV0KG1lc3NhZ2UpIHsKLSAgICAgICAgbGV0IGVsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KCJkaXYiKTsKLSAgICAgICAgZWxlbWVudC5pbm5lclRleHQgPSBtZXNzYWdlOwotICAgICAg
ICBvdXRwdXQuYXBwZW5kQ2hpbGQoZWxlbWVudCk7Ci0gICAgfQotCi0gICAgZnVuY3Rpb24gY2hl
Y2tDb29raWVzKGlzQWZ0ZXJEZWxldGlvbikgewotICAgICAgICBsZXQgdW5zb3J0ZWRUZXN0UGFz
c2VkTWVzc2FnZXMgPSBbXTsKLSAgICAgICAgbGV0IGNvb2tpZXMgPSBpbnRlcm5hbHMuZ2V0Q29v
a2llcygpOwotICAgICAgICBpZiAoIWNvb2tpZXMubGVuZ3RoKQotICAgICAgICAgICAgdGVzdEZh
aWxlZCgoaXNBZnRlckRlbGV0aW9uID8gIkFmdGVyIiA6ICJCZWZvcmUiKSArICIgc2NyaXB0LWFj
Y2Vzc2libGUgZGVsZXRpb246IE5vIGNvb2tpZXMgZm91bmQuIik7Ci0gICAgICAgIGZvciAobGV0
IGNvb2tpZSBvZiBjb29raWVzKSB7Ci0gICAgICAgICAgICBzd2l0Y2ggKGNvb2tpZS5uYW1lKSB7
Ci0gICAgICAgICAgICAgICAgY2FzZSBodHRwT25seUNvb2tpZU5hbWU6Ci0gICAgICAgICAgICAg
ICAgICAgIHVuc29ydGVkVGVzdFBhc3NlZE1lc3NhZ2VzLnB1c2goKGlzQWZ0ZXJEZWxldGlvbiA/
ICJBZnRlciIgOiAiQmVmb3JlIikgKyAiIGRlbGV0aW9uOiAiICsgKGlzQWZ0ZXJEZWxldGlvbiA/
ICIgIiA6ICIiKSArICJIdHRwT25seSBjb29raWUgZXhpc3RzLiIpOwotICAgICAgICAgICAgICAg
ICAgICBicmVhazsKLSAgICAgICAgICAgICAgICBjYXNlIHNlcnZlclNpZGVDb29raWVOYW1lOgot
ICAgICAgICAgICAgICAgICAgICB1bnNvcnRlZFRlc3RQYXNzZWRNZXNzYWdlcy5wdXNoKChpc0Fm
dGVyRGVsZXRpb24gPyAiQWZ0ZXIiIDogIkJlZm9yZSIpICsgIiBkZWxldGlvbjogUmVndWxhciBz
ZXJ2ZXItc2lkZSBjb29raWUgZXhpc3RzLiIpOwotICAgICAgICAgICAgICAgICAgICBicmVhazsK
LSAgICAgICAgICAgICAgICBjYXNlIGNsaWVudFNpZGVDb29raWVOYW1lOgotICAgICAgICAgICAg
ICAgICAgICB1bnNvcnRlZFRlc3RQYXNzZWRNZXNzYWdlcy5wdXNoKChpc0FmdGVyRGVsZXRpb24g
PyAiQWZ0ZXIiIDogIkJlZm9yZSIpICsgIiBkZWxldGlvbjogQ2xpZW50LXNpZGUgY29va2llIGV4
aXN0cy4iKTsKLSAgICAgICAgICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgICAgICB9Ci0gICAg
ICAgIH0KLSAgICAgICAgbGV0IHNvcnRlZFRlc3RQYXNzZWRNZXNzYWdlcyA9IHVuc29ydGVkVGVz
dFBhc3NlZE1lc3NhZ2VzLnNvcnQoc29ydFN0cmluZ0FycmF5KTsKLSAgICAgICAgZm9yIChsZXQg
dGVzdFBhc3NlZE1lc3NhZ2Ugb2Ygc29ydGVkVGVzdFBhc3NlZE1lc3NhZ2VzKSB7Ci0gICAgICAg
ICAgICBhZGRPdXRwdXQodGVzdFBhc3NlZE1lc3NhZ2UpOwotICAgICAgICB9Ci0gICAgfQotCi0g
ICAgY29uc3QgZGJOYW1lID0gIlRlc3REYXRhYmFzZSI7Ci0KLSAgICBmdW5jdGlvbiBjcmVhdGVJ
REJEYXRhU3RvcmUoY2FsbGJhY2spIHsKLSAgICAgICAgbGV0IHJlcXVlc3QgPSBpbmRleGVkREIu
b3BlbihkYk5hbWUpOwotICAgICAgICByZXF1ZXN0Lm9uZXJyb3IgPSBmdW5jdGlvbigpIHsKLSAg
ICAgICAgICAgIGFkZE91dHB1dCgiQ291bGRuJ3QgY3JlYXRlIGluZGV4ZWREQi4iKTsKLSAgICAg
ICAgICAgIGZpbmlzaFRlc3QoKTsKLSAgICAgICAgfTsKLSAgICAgICAgcmVxdWVzdC5vbnVwZ3Jh
ZGVuZWVkZWQgPSBmdW5jdGlvbihldmVudCkgewotICAgICAgICAgICAgbGV0IGRiID0gZXZlbnQu
dGFyZ2V0LnJlc3VsdDsKLSAgICAgICAgICAgIGxldCBvYmpTdG9yZSA9IGRiLmNyZWF0ZU9iamVj
dFN0b3JlKCJ0ZXN0Iiwge2F1dG9JbmNyZW1lbnQ6IHRydWV9KTsKLSAgICAgICAgICAgIG9ialN0
b3JlLmFkZCgidmFsdWUiKTsKLSAgICAgICAgICAgIGNhbGxiYWNrKCk7Ci0gICAgICAgIH0KLSAg
ICB9Ci0KLSAgICBjb25zdCBtYXhJbnRlcnZhbHMgPSAyMDsKLQotICAgIGxldCBpbnRlcnZhbENv
dW50ZXJJREI7Ci0gICAgbGV0IGNoZWNrSURCQ2FsbGJhY2s7Ci0gICAgbGV0IGNoZWNrSURCSW50
ZXJ2YWxJRDsKLSAgICBsZXQgc2VtYXBob3JlSURCQ2hlY2sgPSBmYWxzZTsKLSAgICBmdW5jdGlv
biBjaGVja0lEQkRhdGFTdG9yZUV4aXN0cyhpc0FmdGVyRGVsZXRpb24sIGNhbGxiYWNrKSB7Ci0g
ICAgICAgIGxldCByZXF1ZXN0OwotICAgICAgICBpbnRlcnZhbENvdW50ZXJJREIgPSAwOwotICAg
ICAgICBjaGVja0lEQkNhbGxiYWNrID0gY2FsbGJhY2s7Ci0gICAgICAgIGlmICghaXNBZnRlckRl
bGV0aW9uKSB7Ci0gICAgICAgICAgICAvLyBDaGVjayB1bnRpbCB0aGVyZSBpcyBhIElEQi4KLSAg
ICAgICAgICAgIGNoZWNrSURCSW50ZXJ2YWxJRCA9IHNldEludGVydmFsKGZ1bmN0aW9uKCkgewot
ICAgICAgICAgICAgICAgIGlmIChzZW1hcGhvcmVJREJDaGVjaykKLSAgICAgICAgICAgICAgICAg
ICAgcmV0dXJuOwotICAgICAgICAgICAgICAgIHNlbWFwaG9yZUlEQkNoZWNrID0gdHJ1ZTsKLQot
ICAgICAgICAgICAgICAgIGlmICgrK2ludGVydmFsQ291bnRlcklEQiA+PSBtYXhJbnRlcnZhbHMp
IHsKLSAgICAgICAgICAgICAgICAgICAgY2xlYXJJbnRlcnZhbChjaGVja0lEQkludGVydmFsSUQp
OwotICAgICAgICAgICAgICAgICAgICBhZGRPdXRwdXQoIkJlZm9yZSBkZWxldGlvbjogSURCIGVu
dHJ5IGRvZXMgbm90IGV4aXN0LiIpOwotICAgICAgICAgICAgICAgICAgICBzZW1hcGhvcmVJREJD
aGVjayA9IGZhbHNlOwotICAgICAgICAgICAgICAgICAgICBjaGVja0lEQkNhbGxiYWNrKCk7Ci0g
ICAgICAgICAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAgICAgICAgICAgcmVxdWVzdCA9IGlu
ZGV4ZWREQi5vcGVuKGRiTmFtZSk7Ci0gICAgICAgICAgICAgICAgICAgIHJlcXVlc3Qub25lcnJv
ciA9IGZ1bmN0aW9uICgpIHsKLSAgICAgICAgICAgICAgICAgICAgICAgIGNsZWFySW50ZXJ2YWwo
Y2hlY2tJREJJbnRlcnZhbElEKTsKLSAgICAgICAgICAgICAgICAgICAgICAgIGFkZE91dHB1dCgi
Q291bGRuJ3Qgb3BlbiBpbmRleGVkREIuIik7Ci0gICAgICAgICAgICAgICAgICAgICAgICBzZW1h
cGhvcmVJREJDaGVjayA9IGZhbHNlOwotICAgICAgICAgICAgICAgICAgICAgICAgZmluaXNoVGVz
dCgpOwotICAgICAgICAgICAgICAgICAgICB9OwotICAgICAgICAgICAgICAgICAgICByZXF1ZXN0
Lm9udXBncmFkZW5lZWRlZCA9IGZ1bmN0aW9uICgpIHsKLSAgICAgICAgICAgICAgICAgICAgICAg
IC8vIExldCB0aGUgbmV4dCBpbnRlcnZhbCBjaGVjayBhZ2Fpbi4KLSAgICAgICAgICAgICAgICAg
ICAgICAgIHNlbWFwaG9yZUlEQkNoZWNrID0gZmFsc2U7Ci0gICAgICAgICAgICAgICAgICAgIH07
Ci0gICAgICAgICAgICAgICAgICAgIHJlcXVlc3Qub25zdWNjZXNzID0gZnVuY3Rpb24gKCkgewot
ICAgICAgICAgICAgICAgICAgICAgICAgY2xlYXJJbnRlcnZhbChjaGVja0lEQkludGVydmFsSUQp
OwotICAgICAgICAgICAgICAgICAgICAgICAgYWRkT3V0cHV0KCJCZWZvcmUgZGVsZXRpb246IElE
QiBlbnRyeSBkb2VzIGV4aXN0LiIpOwotICAgICAgICAgICAgICAgICAgICAgICAgc2VtYXBob3Jl
SURCQ2hlY2sgPSBmYWxzZTsKLSAgICAgICAgICAgICAgICAgICAgICAgIGNoZWNrSURCQ2FsbGJh
Y2soKTsKLSAgICAgICAgICAgICAgICAgICAgfTsKLSAgICAgICAgICAgICAgICB9Ci0gICAgICAg
ICAgICB9LCAyMDApOwotICAgICAgICB9IGVsc2UgewotICAgICAgICAgICAgLy8gQ2hlY2sgdW50
aWwgdGhlcmUgaXMgbm8gSURCLgotICAgICAgICAgICAgY2hlY2tJREJJbnRlcnZhbElEID0gc2V0
SW50ZXJ2YWwoZnVuY3Rpb24gKCkgewotICAgICAgICAgICAgICAgIGlmIChzZW1hcGhvcmVJREJD
aGVjaykKLSAgICAgICAgICAgICAgICAgICAgcmV0dXJuOwotICAgICAgICAgICAgICAgIHNlbWFw
aG9yZUlEQkNoZWNrID0gdHJ1ZTsKLQotICAgICAgICAgICAgICAgIGlmICgrK2ludGVydmFsQ291
bnRlcklEQiA+PSBtYXhJbnRlcnZhbHMpIHsKLSAgICAgICAgICAgICAgICAgICAgY2xlYXJJbnRl
cnZhbChjaGVja0lEQkludGVydmFsSUQpOwotICAgICAgICAgICAgICAgICAgICBhZGRPdXRwdXQo
IkFmdGVyIGRlbGV0aW9uOiBJREIgZW50cnkgY2hlY2tzIGV4aGF1c3RlZC4iKTsKLSAgICAgICAg
ICAgICAgICAgICAgc2VtYXBob3JlSURCQ2hlY2sgPSBmYWxzZTsKLSAgICAgICAgICAgICAgICAg
ICAgY2hlY2tJREJDYWxsYmFjaygpOwotICAgICAgICAgICAgICAgIH0gZWxzZSB7Ci0gICAgICAg
ICAgICAgICAgICAgIHJlcXVlc3QgPSBpbmRleGVkREIub3BlbihkYk5hbWUpOwotICAgICAgICAg
ICAgICAgICAgICByZXF1ZXN0Lm9uZXJyb3IgPSBmdW5jdGlvbiAoKSB7Ci0gICAgICAgICAgICAg
ICAgICAgICAgICBjbGVhckludGVydmFsKGNoZWNrSURCSW50ZXJ2YWxJRCk7Ci0gICAgICAgICAg
ICAgICAgICAgICAgICBhZGRPdXRwdXQoIkNvdWxkbid0IG9wZW4gaW5kZXhlZERCLiIpOwotICAg
ICAgICAgICAgICAgICAgICAgICAgc2VtYXBob3JlSURCQ2hlY2sgPSBmYWxzZTsKLSAgICAgICAg
ICAgICAgICAgICAgICAgIGZpbmlzaFRlc3QoKTsKLSAgICAgICAgICAgICAgICAgICAgfTsKLSAg
ICAgICAgICAgICAgICAgICAgcmVxdWVzdC5vbnVwZ3JhZGVuZWVkZWQgPSBmdW5jdGlvbiAoKSB7
Ci0gICAgICAgICAgICAgICAgICAgICAgICBjbGVhckludGVydmFsKGNoZWNrSURCSW50ZXJ2YWxJ
RCk7Ci0gICAgICAgICAgICAgICAgICAgICAgICBhZGRPdXRwdXQoIkFmdGVyIGRlbGV0aW9uOiBJ
REIgZW50cnkgZG9lcyBub3QgZXhpc3QuIik7Ci0gICAgICAgICAgICAgICAgICAgICAgICBzZW1h
cGhvcmVJREJDaGVjayA9IGZhbHNlOwotICAgICAgICAgICAgICAgICAgICAgICAgY2hlY2tJREJD
YWxsYmFjaygpOwotICAgICAgICAgICAgICAgICAgICB9OwotICAgICAgICAgICAgICAgICAgICBy
ZXF1ZXN0Lm9uc3VjY2VzcyA9IGZ1bmN0aW9uICgpIHsKLSAgICAgICAgICAgICAgICAgICAgICAg
IC8vIExldCB0aGUgbmV4dCBpbnRlcnZhbCBjaGVjayBhZ2Fpbi4KLSAgICAgICAgICAgICAgICAg
ICAgICAgIHNlbWFwaG9yZUlEQkNoZWNrID0gZmFsc2U7Ci0gICAgICAgICAgICAgICAgICAgIH07
Ci0gICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgfSwgMjAwKTsKLSAgICAgICAgfQotICAg
IH0KLQotICAgIGxldCBpbnRlcnZhbENvdW50ZXJMb2NhbFN0b3JhZ2U7Ci0gICAgbGV0IGNoZWNr
TG9jYWxTdG9yYWdlQ2FsbGJhY2s7Ci0gICAgbGV0IGNoZWNrTG9jYWxTdG9yYWdlSW50ZXJ2YWxJ
RDsKLSAgICBjb25zdCBsb2NhbFN0b3JhZ2VOYW1lID0gInRlc3QiOwotICAgIGNvbnN0IGxvY2Fs
U3RvcmFnZVZhbHVlID0gInZhbHVlIjsKLSAgICBmdW5jdGlvbiBjaGVja0xvY2FsU3RvcmFnZUV4
aXN0cyhpc0FmdGVyRGVsZXRpb24sIGNhbGxiYWNrKSB7Ci0gICAgICAgIGludGVydmFsQ291bnRl
ckxvY2FsU3RvcmFnZSA9IDA7Ci0gICAgICAgIGNoZWNrTG9jYWxTdG9yYWdlQ2FsbGJhY2sgPSBj
YWxsYmFjazsKLSAgICAgICAgaWYgKCFpc0FmdGVyRGVsZXRpb24pIHsKLSAgICAgICAgICAgIC8v
IENoZWNrIHVudGlsIHRoZXJlIGlzIExvY2FsU3RvcmFnZS4KLSAgICAgICAgICAgIGNoZWNrTG9j
YWxTdG9yYWdlSW50ZXJ2YWxJRCA9IHNldEludGVydmFsKGZ1bmN0aW9uKCkgewotICAgICAgICAg
ICAgICAgIGlmICgrK2ludGVydmFsQ291bnRlckxvY2FsU3RvcmFnZSA+PSBtYXhJbnRlcnZhbHMp
IHsKLSAgICAgICAgICAgICAgICAgICAgY2xlYXJJbnRlcnZhbChjaGVja0xvY2FsU3RvcmFnZUlu
dGVydmFsSUQpOwotICAgICAgICAgICAgICAgICAgICBsZXQgdmFsdWUgPSBsb2NhbFN0b3JhZ2Uu
Z2V0SXRlbShsb2NhbFN0b3JhZ2VOYW1lKTsKLSAgICAgICAgICAgICAgICAgICAgYWRkT3V0cHV0
KCJCZWZvcmUgZGVsZXRpb246IExvY2FsU3RvcmFnZSBlbnRyeSAiICsgKHZhbHVlID09PSBsb2Nh
bFN0b3JhZ2VWYWx1ZSA/ICJkb2VzIiA6ICJkb2VzIG5vdCIpICsgIiBleGlzdC4iKTsKLSAgICAg
ICAgICAgICAgICAgICAgY2hlY2tMb2NhbFN0b3JhZ2VDYWxsYmFjaygpOwotICAgICAgICAgICAg
ICAgIH0gZWxzZSBpZiAodGVzdFJ1bm5lci5pc1N0YXRpc3RpY3NIYXNMb2NhbFN0b3JhZ2UoZGVz
dGluYXRpb25PcmlnaW4pKSB7Ci0gICAgICAgICAgICAgICAgICAgIGNsZWFySW50ZXJ2YWwoY2hl
Y2tMb2NhbFN0b3JhZ2VJbnRlcnZhbElEKTsKLSAgICAgICAgICAgICAgICAgICAgbGV0IHZhbHVl
ID0gbG9jYWxTdG9yYWdlLmdldEl0ZW0obG9jYWxTdG9yYWdlTmFtZSk7Ci0gICAgICAgICAgICAg
ICAgICAgIGFkZE91dHB1dCgiQmVmb3JlIGRlbGV0aW9uOiBMb2NhbFN0b3JhZ2UgZW50cnkgIiAr
ICh2YWx1ZSA9PT0gbG9jYWxTdG9yYWdlVmFsdWUgPyAiZG9lcyIgOiAiZG9lcyBub3QiKSArICIg
ZXhpc3QuIik7Ci0gICAgICAgICAgICAgICAgICAgIGNoZWNrTG9jYWxTdG9yYWdlQ2FsbGJhY2so
KTsKLSAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICB9LCAxMDApOwotICAgICAgICB9IGVs
c2UgewotICAgICAgICAgICAgLy8gQ2hlY2sgdW50aWwgdGhlcmUgaXMgbm8gTG9jYWxTdG9yYWdl
LgotICAgICAgICAgICAgY2hlY2tMb2NhbFN0b3JhZ2VJbnRlcnZhbElEID0gc2V0SW50ZXJ2YWwo
ZnVuY3Rpb24oKSB7Ci0gICAgICAgICAgICAgICAgaWYgKCsraW50ZXJ2YWxDb3VudGVyTG9jYWxT
dG9yYWdlID49IG1heEludGVydmFscykgewotICAgICAgICAgICAgICAgICAgICBjbGVhckludGVy
dmFsKGNoZWNrTG9jYWxTdG9yYWdlSW50ZXJ2YWxJRCk7Ci0gICAgICAgICAgICAgICAgICAgIGxl
dCB2YWx1ZSA9IGxvY2FsU3RvcmFnZS5nZXRJdGVtKGxvY2FsU3RvcmFnZU5hbWUpOwotICAgICAg
ICAgICAgICAgICAgICBhZGRPdXRwdXQoIkFmdGVyIGRlbGV0aW9uOiBMb2NhbFN0b3JhZ2UgZW50
cnkgIiArICh2YWx1ZSA9PT0gbG9jYWxTdG9yYWdlVmFsdWUgPyAiZG9lcyIgOiAiZG9lcyBub3Qi
KSArICIgZXhpc3QuIik7Ci0gICAgICAgICAgICAgICAgICAgIGNoZWNrTG9jYWxTdG9yYWdlQ2Fs
bGJhY2soKTsKLSAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKCF0ZXN0UnVubmVyLmlzU3RhdGlz
dGljc0hhc0xvY2FsU3RvcmFnZShkZXN0aW5hdGlvbk9yaWdpbikpIHsKLSAgICAgICAgICAgICAg
ICAgICAgY2xlYXJJbnRlcnZhbChjaGVja0xvY2FsU3RvcmFnZUludGVydmFsSUQpOwotICAgICAg
ICAgICAgICAgICAgICBsZXQgdmFsdWUgPSBsb2NhbFN0b3JhZ2UuZ2V0SXRlbShsb2NhbFN0b3Jh
Z2VOYW1lKTsKLSAgICAgICAgICAgICAgICAgICAgYWRkT3V0cHV0KCJBZnRlciBkZWxldGlvbjog
TG9jYWxTdG9yYWdlIGVudHJ5ICIgKyAodmFsdWUgPT09IGxvY2FsU3RvcmFnZVZhbHVlID8gImRv
ZXMiIDogImRvZXMgbm90IikgKyAiIGV4aXN0LiIpOwotICAgICAgICAgICAgICAgICAgICBjaGVj
a0xvY2FsU3RvcmFnZUNhbGxiYWNrKCk7Ci0gICAgICAgICAgICAgICAgfQotICAgICAgICAgICAg
fSwgMTAwKTsKLSAgICAgICAgfQotICAgIH0KLQotICAgIGFzeW5jIGZ1bmN0aW9uIHdyaXRlV2Vi
c2l0ZURhdGFBbmRDb250aW51ZSgpIHsKLSAgICAgICAgLy8gV3JpdGUgY29va2llcy4KLSAgICAg
ICAgYXdhaXQgZmV0Y2goIi9jb29raWVzL3Jlc291cmNlcy9zZXQtaHR0cC1vbmx5LWNvb2tpZS5w
aHA/Y29va2llTmFtZT0iICsgaHR0cE9ubHlDb29raWVOYW1lLCB7IGNyZWRlbnRpYWxzOiAic2Ft
ZS1vcmlnaW4iIH0pOwotICAgICAgICBhd2FpdCBmZXRjaCgiL2Nvb2tpZXMvcmVzb3VyY2VzL3Nl
dENvb2tpZXMuY2dpIiwgeyBoZWFkZXJzOiB7ICJTZXQtQ29va2llIjogc2VydmVyU2lkZUNvb2tp
ZU5hbWUgKyAiPTE7IHBhdGg9LzsiIH0sIGNyZWRlbnRpYWxzOiAic2FtZS1vcmlnaW4iIH0pOwot
ICAgICAgICBkb2N1bWVudC5jb29raWUgPSBjbGllbnRTaWRlQ29va2llTmFtZSArICI9MSI7Ci0K
LSAgICAgICAgY2hlY2tDb29raWVzKGZhbHNlKTsKLQotICAgICAgICAvLyBXcml0ZSBMb2NhbFN0
b3JhZ2UKLSAgICAgICAgbG9jYWxTdG9yYWdlLnNldEl0ZW0obG9jYWxTdG9yYWdlTmFtZSwgbG9j
YWxTdG9yYWdlVmFsdWUpOwotICAgICAgICBjaGVja0xvY2FsU3RvcmFnZUV4aXN0cyhmYWxzZSwg
ZnVuY3Rpb24oKSB7Ci0KLSAgICAgICAgICAgIC8vIFdyaXRlIEluZGV4ZWREQi4KLSAgICAgICAg
ICAgIGNyZWF0ZUlEQkRhdGFTdG9yZShmdW5jdGlvbiAoKSB7Ci0gICAgICAgICAgICAgICAgY2hl
Y2tJREJEYXRhU3RvcmVFeGlzdHMoZmFsc2UsIGZ1bmN0aW9uKCkgewotICAgICAgICAgICAgICAg
ICAgICBhZGRMaW5lYnJlYWtUb091dHB1dCgpOwotICAgICAgICAgICAgICAgICAgICBwcm9jZXNz
V2Vic2l0ZURhdGFBbmRDb250aW51ZSgpOwotICAgICAgICAgICAgICAgIH0pOwotICAgICAgICAg
ICAgfSk7Ci0gICAgICAgIH0pOwotICAgIH0KLQotICAgIGZ1bmN0aW9uIHByb2Nlc3NXZWJzaXRl
RGF0YUFuZENvbnRpbnVlKCkgewotICAgICAgICB0ZXN0UnVubmVyLmluc3RhbGxTdGF0aXN0aWNz
RGlkU2NhbkRhdGFSZWNvcmRzQ2FsbGJhY2soY2hlY2tXZWJzaXRlRGF0YUFuZENvbnRpbnVlKTsK
LSAgICAgICAgdGVzdFJ1bm5lci5zdGF0aXN0aWNzUHJvY2Vzc1N0YXRpc3RpY3NBbmREYXRhUmVj
b3JkcygpOwotICAgIH0KLQotICAgIGZ1bmN0aW9uIGNoZWNrV2Vic2l0ZURhdGFBbmRDb250aW51
ZSgpIHsKLSAgICAgICAgY2hlY2tDb29raWVzKHRydWUpOwotICAgICAgICBjaGVja0xvY2FsU3Rv
cmFnZUV4aXN0cyh0cnVlLCBmdW5jdGlvbiAoKSB7Ci0gICAgICAgICAgICBjaGVja0lEQkRhdGFT
dG9yZUV4aXN0cyh0cnVlLCBmaW5pc2hUZXN0KTsKLSAgICAgICAgfSk7Ci0gICAgfQotCi0gICAg
ZnVuY3Rpb24gZmluaXNoVGVzdCgpIHsKLSAgICAgICAgcmVzZXRDb29raWVzKCk7Ci0gICAgICAg
IHRlc3RSdW5uZXIuZHVtcFJlc291cmNlTG9hZFN0YXRpc3RpY3MoKTsKLSAgICAgICAgc2V0RW5h
YmxlRmVhdHVyZShmYWxzZSwgZnVuY3Rpb24oKSB7Ci0gICAgICAgICAgICB0ZXN0UnVubmVyLm5v
dGlmeURvbmUoKTsKLSAgICAgICAgfSk7Ci0gICAgfQotCi0gICAgY29uc3QgcHJldmFsZW50UmVz
b3VyY2VPcmlnaW4gPSAiaHR0cDovL2xvY2FsaG9zdDo4MDAwIjsKLSAgICBjb25zdCBkZXN0aW5h
dGlvbk9yaWdpbiAgPSAiaHR0cDovLzEyNy4wLjAuMTo4MDAwIjsKLSAgICBmdW5jdGlvbiBydW5U
ZXN0KCkgewotICAgICAgICBzZXRFbmFibGVGZWF0dXJlKHRydWUsIGZ1bmN0aW9uICgpIHsKLSAg
ICAgICAgICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc1ByZXZhbGVudFJlc291cmNlKHByZXZh
bGVudFJlc291cmNlT3JpZ2luLCB0cnVlLCBmdW5jdGlvbigpIHsKLSAgICAgICAgICAgICAgICB0
ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NDcm9zc1NpdGVMb2FkV2l0aExpbmtEZWNvcmF0aW9uKHBy
ZXZhbGVudFJlc291cmNlT3JpZ2luLCBkZXN0aW5hdGlvbk9yaWdpbik7Ci0gICAgICAgICAgICAg
ICAgd3JpdGVXZWJzaXRlRGF0YUFuZENvbnRpbnVlKCk7Ci0gICAgICAgICAgICB9KTsKLSAgICAg
ICAgfSk7Ci0gICAgfQotPC9zY3JpcHQ+Ci08L2JvZHk+Ci08L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3Mvd2Vic2l0ZS1kYXRh
LXJlbW92YWwtZm9yLXNpdGUtbmF2aWdhdGVkLXRvLXdpdGgtbGluay1kZWNvcmF0aW9uLWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy93
ZWJzaXRlLWRhdGEtcmVtb3ZhbC1mb3Itc2l0ZS1uYXZpZ2F0ZWQtdG8td2l0aC1saW5rLWRlY29y
YXRpb24tZXhwZWN0ZWQudHh0CmluZGV4IDhiNDdiMDg1NDY0M2E1ZWE4NGUyMGQwNDMzYzJmMzBl
OTRmNmVhMGQuLmRlNDFhOWExYWI0NWY4NjhlNzVlODViNDJiNWM5ZjQzZGQ2MjkzYmEgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy93ZWJz
aXRlLWRhdGEtcmVtb3ZhbC1mb3Itc2l0ZS1uYXZpZ2F0ZWQtdG8td2l0aC1saW5rLWRlY29yYXRp
b24tZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2Fk
U3RhdGlzdGljcy93ZWJzaXRlLWRhdGEtcmVtb3ZhbC1mb3Itc2l0ZS1uYXZpZ2F0ZWQtdG8td2l0
aC1saW5rLWRlY29yYXRpb24tZXhwZWN0ZWQudHh0CkBAIC0xOSwyMSArMTksMTcgQEAgUmVnaXN0
cmFibGUgZG9tYWluOiAxMjcuMC4wLjEKICAgICBoYWRVc2VySW50ZXJhY3Rpb246IE5vCiAgICAg
bW9zdFJlY2VudFVzZXJJbnRlcmFjdGlvbjogLTEKICAgICBncmFuZGZhdGhlcmVkOiBObwotICAg
IHRvcEZyYW1lTGlua0RlY29yYXRpb25zRnJvbToKKyAgICBUb3BGcmFtZUxpbmtEZWNvcmF0aW9u
c0Zyb206CiAgICAgICAgIGxvY2FsaG9zdAotICAgIGdvdExpbmtEZWNvcmF0aW9uRnJvbVByZXZh
bGVudFJlc291cmNlOiBObworICAgIElzU2NoZWR1bGVkRm9yQWxsQnV0Q29va2llRGF0YVJlbW92
YWw6IE5vCiAgICAgaXNQcmV2YWxlbnRSZXNvdXJjZTogTm8KICAgICBpc1ZlcnlQcmV2YWxlbnRS
ZXNvdXJjZTogTm8KICAgICBkYXRhUmVjb3Jkc1JlbW92ZWQ6IDEKLSAgICBjYW52YXNSZWFkRGF0
YTogTm8KLQogUmVnaXN0cmFibGUgZG9tYWluOiBsb2NhbGhvc3QKICAgICBoYWRVc2VySW50ZXJh
Y3Rpb246IE5vCiAgICAgbW9zdFJlY2VudFVzZXJJbnRlcmFjdGlvbjogLTEKICAgICBncmFuZGZh
dGhlcmVkOiBObwotICAgIGdvdExpbmtEZWNvcmF0aW9uRnJvbVByZXZhbGVudFJlc291cmNlOiBO
bworICAgIElzU2NoZWR1bGVkRm9yQWxsQnV0Q29va2llRGF0YVJlbW92YWw6IE5vCiAgICAgaXNQ
cmV2YWxlbnRSZXNvdXJjZTogWWVzCiAgICAgaXNWZXJ5UHJldmFsZW50UmVzb3VyY2U6IE5vCiAg
ICAgZGF0YVJlY29yZHNSZW1vdmVkOiAwCi0gICAgY2FudmFzUmVhZERhdGE6IE5vCi0KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy93ZWJz
aXRlLWRhdGEtcmVtb3ZhbC1mb3Itc2l0ZS13aXRoLXVzZXItaW50ZXJhY3Rpb24tZGF0YWJhc2Ut
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0
aWNzL3dlYnNpdGUtZGF0YS1yZW1vdmFsLWZvci1zaXRlLXdpdGgtdXNlci1pbnRlcmFjdGlvbi1k
YXRhYmFzZS1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGZjMDc2
ZGI1Y2UwYjBkZTRlZWYxOGY1Mjg2ZDRmN2NmYmIwZGE0OTQuLjAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJj
ZUxvYWRTdGF0aXN0aWNzL3dlYnNpdGUtZGF0YS1yZW1vdmFsLWZvci1zaXRlLXdpdGgtdXNlci1p
bnRlcmFjdGlvbi1kYXRhYmFzZS1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSwxNSAr
MCwwIEBACi1DaGVjayB0aGF0IG5vbi1jb29raWUgd2Vic2l0ZSBkYXRhIGRvZXMgbm90IGdldCBy
ZW1vdmVkIGZvciBzaXRlcyB3aXRoIHVzZXIgaW50ZXJhY3Rpb24uCi0KLUJlZm9yZSBkZWxldGlv
bjogQ2xpZW50LXNpZGUgY29va2llIGV4aXN0cy4KLUJlZm9yZSBkZWxldGlvbjogSHR0cE9ubHkg
Y29va2llIGV4aXN0cy4KLUJlZm9yZSBkZWxldGlvbjogUmVndWxhciBzZXJ2ZXItc2lkZSBjb29r
aWUgZXhpc3RzLgotQmVmb3JlIGRlbGV0aW9uOiBMb2NhbFN0b3JhZ2UgZW50cnkgZG9lcyBleGlz
dC4KLUJlZm9yZSBkZWxldGlvbjogSURCIGVudHJ5IGRvZXMgZXhpc3QuCi0KLUFmdGVyIGRlbGV0
aW9uOiBIdHRwT25seSBjb29raWUgZXhpc3RzLgotQWZ0ZXIgZGVsZXRpb246IENsaWVudC1zaWRl
IGNvb2tpZSBleGlzdHMuCi1BZnRlciBkZWxldGlvbjogUmVndWxhciBzZXJ2ZXItc2lkZSBjb29r
aWUgZXhpc3RzLgotQWZ0ZXIgZGVsZXRpb246IExvY2FsU3RvcmFnZSBlbnRyeSBkb2VzIGV4aXN0
LgotQWZ0ZXIgZGVsZXRpb246IElEQiBlbnRyeSBkb2VzIGV4aXN0LgotCi0KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy93ZWJzaXRlLWRh
dGEtcmVtb3ZhbC1mb3Itc2l0ZS13aXRoLXVzZXItaW50ZXJhY3Rpb24tZGF0YWJhc2UuaHRtbCBi
L0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy93ZWJzaXRlLWRh
dGEtcmVtb3ZhbC1mb3Itc2l0ZS13aXRoLXVzZXItaW50ZXJhY3Rpb24tZGF0YWJhc2UuaHRtbApk
ZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMTllNjc3YzkyMjQ3NTk2MGYwNDVmNTE1YjA0
MTkyZWI2ZjJmNjY5Yy4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAot
LS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3Mvd2Vic2l0
ZS1kYXRhLXJlbW92YWwtZm9yLXNpdGUtd2l0aC11c2VyLWludGVyYWN0aW9uLWRhdGFiYXNlLmh0
bWwKKysrIC9kZXYvbnVsbApAQCAtMSwyNTQgKzAsMCBAQAotPCFET0NUWVBFIGh0bWw+Ci08aHRt
bD4KLTxoZWFkPgotICAgIDxzY3JpcHQgc3JjPSIvY29va2llcy9yZXNvdXJjZXMvY29va2llLXV0
aWxpdGllcy5qcyI+PC9zY3JpcHQ+Ci0gICAgPHNjcmlwdCBzcmM9InJlc291cmNlcy91dGlsLmpz
Ij48L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5IG9ubG9hZD0ic2V0VGltZW91dCgncnVuVGVzdCgp
JywgMCkiPgotPGRpdiBpZD0iZGVzY3JpcHRpb24iPkNoZWNrIHRoYXQgbm9uLWNvb2tpZSB3ZWJz
aXRlIGRhdGEgZG9lcyBub3QgZ2V0IHJlbW92ZWQgZm9yIHNpdGVzIHdpdGggdXNlciBpbnRlcmFj
dGlvbi48L2Rpdj4KLTxicj4KLTxkaXYgaWQ9Im91dHB1dCI+PC9kaXY+Ci08YnI+Ci08c2NyaXB0
PgotICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOwotICAgIHRlc3RSdW5uZXIuZHVtcEFz
VGV4dCgpOwotICAgIHRlc3RSdW5uZXIuc2V0VXNlSVRQRGF0YWJhc2UodHJ1ZSk7Ci0KLSAgICBj
b25zdCBodHRwT25seUNvb2tpZU5hbWUgPSAiaHR0cC1vbmx5LWNvb2tpZSI7Ci0gICAgY29uc3Qg
c2VydmVyU2lkZUNvb2tpZU5hbWUgPSAic2VydmVyLXNpZGUtY29va2llIjsKLSAgICBjb25zdCBj
bGllbnRTaWRlQ29va2llTmFtZSA9ICJjbGllbnQtc2lkZS1jb29raWUiOwotCi0gICAgZnVuY3Rp
b24gc29ydFN0cmluZ0FycmF5KGEsIGIpIHsKLSAgICAgICAgYSA9IGEudG9Mb3dlckNhc2UoKTsK
LSAgICAgICAgYiA9IGIudG9Mb3dlckNhc2UoKTsKLQotICAgICAgICByZXR1cm4gYSA+IGIgPyAx
IDogYiA+IGEgPyAtMSA6IDA7Ci0gICAgfQotCi0gICAgZnVuY3Rpb24gYWRkTGluZWJyZWFrVG9P
dXRwdXQoKSB7Ci0gICAgICAgIGxldCBlbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgi
YnIiKTsKLSAgICAgICAgb3V0cHV0LmFwcGVuZENoaWxkKGVsZW1lbnQpOwotICAgIH0KLQotICAg
IGZ1bmN0aW9uIGFkZE91dHB1dChtZXNzYWdlKSB7Ci0gICAgICAgIGxldCBlbGVtZW50ID0gZG9j
dW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7Ci0gICAgICAgIGVsZW1lbnQuaW5uZXJUZXh0ID0g
bWVzc2FnZTsKLSAgICAgICAgb3V0cHV0LmFwcGVuZENoaWxkKGVsZW1lbnQpOwotICAgIH0KLQot
ICAgIGZ1bmN0aW9uIGNoZWNrQ29va2llcyhpc0FmdGVyRGVsZXRpb24pIHsKLSAgICAgICAgbGV0
IHVuc29ydGVkVGVzdFBhc3NlZE1lc3NhZ2VzID0gW107Ci0gICAgICAgIGxldCBjb29raWVzID0g
aW50ZXJuYWxzLmdldENvb2tpZXMoKTsKLSAgICAgICAgaWYgKCFjb29raWVzLmxlbmd0aCkKLSAg
ICAgICAgICAgIHRlc3RGYWlsZWQoKGlzQWZ0ZXJEZWxldGlvbiA/ICJBZnRlciIgOiAiQmVmb3Jl
IikgKyAiIHNjcmlwdC1hY2Nlc3NpYmxlIGRlbGV0aW9uOiBObyBjb29raWVzIGZvdW5kLiIpOwot
ICAgICAgICBmb3IgKGxldCBjb29raWUgb2YgY29va2llcykgewotICAgICAgICAgICAgc3dpdGNo
IChjb29raWUubmFtZSkgewotICAgICAgICAgICAgICAgIGNhc2UgaHR0cE9ubHlDb29raWVOYW1l
OgotICAgICAgICAgICAgICAgICAgICB1bnNvcnRlZFRlc3RQYXNzZWRNZXNzYWdlcy5wdXNoKChp
c0FmdGVyRGVsZXRpb24gPyAiQWZ0ZXIiIDogIkJlZm9yZSIpICsgIiBkZWxldGlvbjogIiArIChp
c0FmdGVyRGVsZXRpb24gPyAiICIgOiAiIikgKyAiSHR0cE9ubHkgY29va2llIGV4aXN0cy4iKTsK
LSAgICAgICAgICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgICAgICAgICAgY2FzZSBzZXJ2ZXJT
aWRlQ29va2llTmFtZToKLSAgICAgICAgICAgICAgICAgICAgdW5zb3J0ZWRUZXN0UGFzc2VkTWVz
c2FnZXMucHVzaCgoaXNBZnRlckRlbGV0aW9uID8gIkFmdGVyIiA6ICJCZWZvcmUiKSArICIgZGVs
ZXRpb246IFJlZ3VsYXIgc2VydmVyLXNpZGUgY29va2llIGV4aXN0cy4iKTsKLSAgICAgICAgICAg
ICAgICAgICAgYnJlYWs7Ci0gICAgICAgICAgICAgICAgY2FzZSBjbGllbnRTaWRlQ29va2llTmFt
ZToKLSAgICAgICAgICAgICAgICAgICAgdW5zb3J0ZWRUZXN0UGFzc2VkTWVzc2FnZXMucHVzaCgo
aXNBZnRlckRlbGV0aW9uID8gIkFmdGVyIiA6ICJCZWZvcmUiKSArICIgZGVsZXRpb246IENsaWVu
dC1zaWRlIGNvb2tpZSBleGlzdHMuIik7Ci0gICAgICAgICAgICAgICAgICAgIGJyZWFrOwotICAg
ICAgICAgICAgfQotICAgICAgICB9Ci0gICAgICAgIGxldCBzb3J0ZWRUZXN0UGFzc2VkTWVzc2Fn
ZXMgPSB1bnNvcnRlZFRlc3RQYXNzZWRNZXNzYWdlcy5zb3J0KHNvcnRTdHJpbmdBcnJheSk7Ci0g
ICAgICAgIGZvciAobGV0IHRlc3RQYXNzZWRNZXNzYWdlIG9mIHNvcnRlZFRlc3RQYXNzZWRNZXNz
YWdlcykgewotICAgICAgICAgICAgYWRkT3V0cHV0KHRlc3RQYXNzZWRNZXNzYWdlKTsKLSAgICAg
ICAgfQotICAgIH0KLQotICAgIGNvbnN0IGRiTmFtZSA9ICJUZXN0RGF0YWJhc2UiOwotCi0gICAg
ZnVuY3Rpb24gY3JlYXRlSURCRGF0YVN0b3JlKGNhbGxiYWNrKSB7Ci0gICAgICAgIGxldCByZXF1
ZXN0ID0gaW5kZXhlZERCLm9wZW4oZGJOYW1lKTsKLSAgICAgICAgcmVxdWVzdC5vbmVycm9yID0g
ZnVuY3Rpb24oKSB7Ci0gICAgICAgICAgICBhZGRPdXRwdXQoIkNvdWxkbid0IGNyZWF0ZSBpbmRl
eGVkREIuIik7Ci0gICAgICAgICAgICBmaW5pc2hUZXN0KCk7Ci0gICAgICAgIH07Ci0gICAgICAg
IHJlcXVlc3Qub251cGdyYWRlbmVlZGVkID0gZnVuY3Rpb24oZXZlbnQpIHsKLSAgICAgICAgICAg
IGxldCBkYiA9IGV2ZW50LnRhcmdldC5yZXN1bHQ7Ci0gICAgICAgICAgICBsZXQgb2JqU3RvcmUg
PSBkYi5jcmVhdGVPYmplY3RTdG9yZSgidGVzdCIsIHthdXRvSW5jcmVtZW50OiB0cnVlfSk7Ci0g
ICAgICAgICAgICBvYmpTdG9yZS5hZGQoInZhbHVlIik7Ci0gICAgICAgICAgICBjYWxsYmFjaygp
OwotICAgICAgICB9Ci0gICAgfQotCi0gICAgY29uc3QgbWF4SW50ZXJ2YWxzID0gMjA7Ci0KLSAg
ICBsZXQgaW50ZXJ2YWxDb3VudGVySURCOwotICAgIGxldCBjaGVja0lEQkNhbGxiYWNrOwotICAg
IGxldCBjaGVja0lEQkludGVydmFsSUQ7Ci0gICAgbGV0IHNlbWFwaG9yZUlEQkNoZWNrID0gZmFs
c2U7Ci0gICAgZnVuY3Rpb24gY2hlY2tJREJEYXRhU3RvcmVFeGlzdHMoaXNBZnRlckRlbGV0aW9u
LCBjYWxsYmFjaykgewotICAgICAgICBsZXQgcmVxdWVzdDsKLSAgICAgICAgaW50ZXJ2YWxDb3Vu
dGVySURCID0gMDsKLSAgICAgICAgY2hlY2tJREJDYWxsYmFjayA9IGNhbGxiYWNrOwotICAgICAg
ICBpZiAoIWlzQWZ0ZXJEZWxldGlvbikgewotICAgICAgICAgICAgLy8gQ2hlY2sgdW50aWwgdGhl
cmUgaXMgYSBJREIuCi0gICAgICAgICAgICBjaGVja0lEQkludGVydmFsSUQgPSBzZXRJbnRlcnZh
bChmdW5jdGlvbigpIHsKLSAgICAgICAgICAgICAgICBpZiAoc2VtYXBob3JlSURCQ2hlY2spCi0g
ICAgICAgICAgICAgICAgICAgIHJldHVybjsKLSAgICAgICAgICAgICAgICBzZW1hcGhvcmVJREJD
aGVjayA9IHRydWU7Ci0KLSAgICAgICAgICAgICAgICBpZiAoKytpbnRlcnZhbENvdW50ZXJJREIg
Pj0gbWF4SW50ZXJ2YWxzKSB7Ci0gICAgICAgICAgICAgICAgICAgIGNsZWFySW50ZXJ2YWwoY2hl
Y2tJREJJbnRlcnZhbElEKTsKLSAgICAgICAgICAgICAgICAgICAgYWRkT3V0cHV0KCJCZWZvcmUg
ZGVsZXRpb246IElEQiBlbnRyeSBkb2VzIG5vdCBleGlzdC4iKTsKLSAgICAgICAgICAgICAgICAg
ICAgc2VtYXBob3JlSURCQ2hlY2sgPSBmYWxzZTsKLSAgICAgICAgICAgICAgICAgICAgY2hlY2tJ
REJDYWxsYmFjaygpOwotICAgICAgICAgICAgICAgIH0gZWxzZSB7Ci0gICAgICAgICAgICAgICAg
ICAgIHJlcXVlc3QgPSBpbmRleGVkREIub3BlbihkYk5hbWUpOwotICAgICAgICAgICAgICAgICAg
ICByZXF1ZXN0Lm9uZXJyb3IgPSBmdW5jdGlvbiAoKSB7Ci0gICAgICAgICAgICAgICAgICAgICAg
ICBjbGVhckludGVydmFsKGNoZWNrSURCSW50ZXJ2YWxJRCk7Ci0gICAgICAgICAgICAgICAgICAg
ICAgICBhZGRPdXRwdXQoIkNvdWxkbid0IG9wZW4gaW5kZXhlZERCLiIpOwotICAgICAgICAgICAg
ICAgICAgICAgICAgc2VtYXBob3JlSURCQ2hlY2sgPSBmYWxzZTsKLSAgICAgICAgICAgICAgICAg
ICAgICAgIGZpbmlzaFRlc3QoKTsKLSAgICAgICAgICAgICAgICAgICAgfTsKLSAgICAgICAgICAg
ICAgICAgICAgcmVxdWVzdC5vbnVwZ3JhZGVuZWVkZWQgPSBmdW5jdGlvbiAoKSB7Ci0gICAgICAg
ICAgICAgICAgICAgICAgICAvLyBMZXQgdGhlIG5leHQgaW50ZXJ2YWwgY2hlY2sgYWdhaW4uCi0g
ICAgICAgICAgICAgICAgICAgICAgICBzZW1hcGhvcmVJREJDaGVjayA9IGZhbHNlOwotICAgICAg
ICAgICAgICAgICAgICB9OwotICAgICAgICAgICAgICAgICAgICByZXF1ZXN0Lm9uc3VjY2VzcyA9
IGZ1bmN0aW9uICgpIHsKLSAgICAgICAgICAgICAgICAgICAgICAgIGNsZWFySW50ZXJ2YWwoY2hl
Y2tJREJJbnRlcnZhbElEKTsKLSAgICAgICAgICAgICAgICAgICAgICAgIGFkZE91dHB1dCgiQmVm
b3JlIGRlbGV0aW9uOiBJREIgZW50cnkgZG9lcyBleGlzdC4iKTsKLSAgICAgICAgICAgICAgICAg
ICAgICAgIHNlbWFwaG9yZUlEQkNoZWNrID0gZmFsc2U7Ci0gICAgICAgICAgICAgICAgICAgICAg
ICBjaGVja0lEQkNhbGxiYWNrKCk7Ci0gICAgICAgICAgICAgICAgICAgIH07Ci0gICAgICAgICAg
ICAgICAgfQotICAgICAgICAgICAgfSwgMjAwKTsKLSAgICAgICAgfSBlbHNlIHsKLSAgICAgICAg
ICAgIC8vIENoZWNrIHVudGlsIHRoZXJlIGlzIG5vIElEQi4KLSAgICAgICAgICAgIGNoZWNrSURC
SW50ZXJ2YWxJRCA9IHNldEludGVydmFsKGZ1bmN0aW9uICgpIHsKLSAgICAgICAgICAgICAgICBp
ZiAoc2VtYXBob3JlSURCQ2hlY2spCi0gICAgICAgICAgICAgICAgICAgIHJldHVybjsKLSAgICAg
ICAgICAgICAgICBzZW1hcGhvcmVJREJDaGVjayA9IHRydWU7Ci0KLSAgICAgICAgICAgICAgICBp
ZiAoKytpbnRlcnZhbENvdW50ZXJJREIgPj0gbWF4SW50ZXJ2YWxzKSB7Ci0gICAgICAgICAgICAg
ICAgICAgIGNsZWFySW50ZXJ2YWwoY2hlY2tJREJJbnRlcnZhbElEKTsKLSAgICAgICAgICAgICAg
ICAgICAgYWRkT3V0cHV0KCJBZnRlciBkZWxldGlvbjogSURCIGVudHJ5IGRvZXMgZXhpc3QuIik7
Ci0gICAgICAgICAgICAgICAgICAgIHNlbWFwaG9yZUlEQkNoZWNrID0gZmFsc2U7Ci0gICAgICAg
ICAgICAgICAgICAgIGNoZWNrSURCQ2FsbGJhY2soKTsKLSAgICAgICAgICAgICAgICB9IGVsc2Ug
ewotICAgICAgICAgICAgICAgICAgICByZXF1ZXN0ID0gaW5kZXhlZERCLm9wZW4oZGJOYW1lKTsK
LSAgICAgICAgICAgICAgICAgICAgcmVxdWVzdC5vbmVycm9yID0gZnVuY3Rpb24gKCkgewotICAg
ICAgICAgICAgICAgICAgICAgICAgY2xlYXJJbnRlcnZhbChjaGVja0lEQkludGVydmFsSUQpOwot
ICAgICAgICAgICAgICAgICAgICAgICAgYWRkT3V0cHV0KCJDb3VsZG4ndCBvcGVuIGluZGV4ZWRE
Qi4iKTsKLSAgICAgICAgICAgICAgICAgICAgICAgIHNlbWFwaG9yZUlEQkNoZWNrID0gZmFsc2U7
Ci0gICAgICAgICAgICAgICAgICAgICAgICBmaW5pc2hUZXN0KCk7Ci0gICAgICAgICAgICAgICAg
ICAgIH07Ci0gICAgICAgICAgICAgICAgICAgIHJlcXVlc3Qub251cGdyYWRlbmVlZGVkID0gZnVu
Y3Rpb24gKCkgewotICAgICAgICAgICAgICAgICAgICAgICAgY2xlYXJJbnRlcnZhbChjaGVja0lE
QkludGVydmFsSUQpOwotICAgICAgICAgICAgICAgICAgICAgICAgYWRkT3V0cHV0KCJBZnRlciBk
ZWxldGlvbjogSURCIGVudHJ5IGRvZXMgbm90IGV4aXN0LiIpOwotICAgICAgICAgICAgICAgICAg
ICAgICAgc2VtYXBob3JlSURCQ2hlY2sgPSBmYWxzZTsKLSAgICAgICAgICAgICAgICAgICAgICAg
IGZpbmlzaFRlc3QoKTsKLSAgICAgICAgICAgICAgICAgICAgfTsKLSAgICAgICAgICAgICAgICAg
ICAgcmVxdWVzdC5vbnN1Y2Nlc3MgPSBmdW5jdGlvbiAoKSB7Ci0gICAgICAgICAgICAgICAgICAg
ICAgICAvLyBMZXQgdGhlIG5leHQgaW50ZXJ2YWwgY2hlY2sgYWdhaW4gYmVjYXVzZSBkZWxldGlv
biBtaWdodCBiZSBkZWxheWVkLgotICAgICAgICAgICAgICAgICAgICAgICAgc2VtYXBob3JlSURC
Q2hlY2sgPSBmYWxzZTsKLSAgICAgICAgICAgICAgICAgICAgfTsKLSAgICAgICAgICAgICAgICB9
Ci0gICAgICAgICAgICB9LCAyMDApOwotICAgICAgICB9Ci0gICAgfQotCi0gICAgbGV0IGludGVy
dmFsQ291bnRlckxvY2FsU3RvcmFnZTsKLSAgICBsZXQgY2hlY2tMb2NhbFN0b3JhZ2VDYWxsYmFj
azsKLSAgICBsZXQgY2hlY2tMb2NhbFN0b3JhZ2VJbnRlcnZhbElEOwotICAgIGNvbnN0IGxvY2Fs
U3RvcmFnZU5hbWUgPSAidGVzdCI7Ci0gICAgY29uc3QgbG9jYWxTdG9yYWdlVmFsdWUgPSAidmFs
dWUiOwotICAgIGZ1bmN0aW9uIGNoZWNrTG9jYWxTdG9yYWdlRXhpc3RzKGlzQWZ0ZXJEZWxldGlv
biwgY2FsbGJhY2spIHsKLSAgICAgICAgaW50ZXJ2YWxDb3VudGVyTG9jYWxTdG9yYWdlID0gMDsK
LSAgICAgICAgY2hlY2tMb2NhbFN0b3JhZ2VDYWxsYmFjayA9IGNhbGxiYWNrOwotICAgICAgICBp
ZiAoIWlzQWZ0ZXJEZWxldGlvbikgewotICAgICAgICAgICAgLy8gQ2hlY2sgdW50aWwgdGhlcmUg
aXMgTG9jYWxTdG9yYWdlLgotICAgICAgICAgICAgY2hlY2tMb2NhbFN0b3JhZ2VJbnRlcnZhbElE
ID0gc2V0SW50ZXJ2YWwoZnVuY3Rpb24oKSB7Ci0gICAgICAgICAgICAgICAgaWYgKCsraW50ZXJ2
YWxDb3VudGVyTG9jYWxTdG9yYWdlID49IG1heEludGVydmFscykgewotICAgICAgICAgICAgICAg
ICAgICBjbGVhckludGVydmFsKGNoZWNrTG9jYWxTdG9yYWdlSW50ZXJ2YWxJRCk7Ci0gICAgICAg
ICAgICAgICAgICAgIGxldCB2YWx1ZSA9IGxvY2FsU3RvcmFnZS5nZXRJdGVtKGxvY2FsU3RvcmFn
ZU5hbWUpOwotICAgICAgICAgICAgICAgICAgICBhZGRPdXRwdXQoIkJlZm9yZSBkZWxldGlvbjog
TG9jYWxTdG9yYWdlIGVudHJ5ICIgKyAodmFsdWUgPT09IGxvY2FsU3RvcmFnZVZhbHVlID8gImRv
ZXMiIDogImRvZXMgbm90IikgKyAiIGV4aXN0LiIpOwotICAgICAgICAgICAgICAgICAgICBjaGVj
a0xvY2FsU3RvcmFnZUNhbGxiYWNrKCk7Ci0gICAgICAgICAgICAgICAgfSBlbHNlIGlmICh0ZXN0
UnVubmVyLmlzU3RhdGlzdGljc0hhc0xvY2FsU3RvcmFnZShvcmlnaW5VbmRlclRlc3QpKSB7Ci0g
ICAgICAgICAgICAgICAgICAgIGNsZWFySW50ZXJ2YWwoY2hlY2tMb2NhbFN0b3JhZ2VJbnRlcnZh
bElEKTsKLSAgICAgICAgICAgICAgICAgICAgbGV0IHZhbHVlID0gbG9jYWxTdG9yYWdlLmdldEl0
ZW0obG9jYWxTdG9yYWdlTmFtZSk7Ci0gICAgICAgICAgICAgICAgICAgIGFkZE91dHB1dCgiQmVm
b3JlIGRlbGV0aW9uOiBMb2NhbFN0b3JhZ2UgZW50cnkgIiArICh2YWx1ZSA9PT0gbG9jYWxTdG9y
YWdlVmFsdWUgPyAiZG9lcyIgOiAiZG9lcyBub3QiKSArICIgZXhpc3QuIik7Ci0gICAgICAgICAg
ICAgICAgICAgIGNoZWNrTG9jYWxTdG9yYWdlQ2FsbGJhY2soKTsKLSAgICAgICAgICAgICAgICB9
Ci0gICAgICAgICAgICB9LCAxMDApOwotICAgICAgICB9IGVsc2UgewotICAgICAgICAgICAgLy8g
Q2hlY2sgdW50aWwgdGhlcmUgaXMgbm8gTG9jYWxTdG9yYWdlLgotICAgICAgICAgICAgY2hlY2tM
b2NhbFN0b3JhZ2VJbnRlcnZhbElEID0gc2V0SW50ZXJ2YWwoZnVuY3Rpb24oKSB7Ci0gICAgICAg
ICAgICAgICAgaWYgKCsraW50ZXJ2YWxDb3VudGVyTG9jYWxTdG9yYWdlID49IG1heEludGVydmFs
cykgewotICAgICAgICAgICAgICAgICAgICBjbGVhckludGVydmFsKGNoZWNrTG9jYWxTdG9yYWdl
SW50ZXJ2YWxJRCk7Ci0gICAgICAgICAgICAgICAgICAgIGxldCB2YWx1ZSA9IGxvY2FsU3RvcmFn
ZS5nZXRJdGVtKGxvY2FsU3RvcmFnZU5hbWUpOwotICAgICAgICAgICAgICAgICAgICBhZGRPdXRw
dXQoIkFmdGVyIGRlbGV0aW9uOiBMb2NhbFN0b3JhZ2UgZW50cnkgIiArICh2YWx1ZSA9PT0gbG9j
YWxTdG9yYWdlVmFsdWUgPyAiZG9lcyIgOiAiZG9lcyBub3QiKSArICIgZXhpc3QuIik7Ci0gICAg
ICAgICAgICAgICAgICAgIGNoZWNrTG9jYWxTdG9yYWdlQ2FsbGJhY2soKTsKLSAgICAgICAgICAg
ICAgICB9IGVsc2UgaWYgKCF0ZXN0UnVubmVyLmlzU3RhdGlzdGljc0hhc0xvY2FsU3RvcmFnZShv
cmlnaW5VbmRlclRlc3QpKSB7Ci0gICAgICAgICAgICAgICAgICAgIGNsZWFySW50ZXJ2YWwoY2hl
Y2tMb2NhbFN0b3JhZ2VJbnRlcnZhbElEKTsKLSAgICAgICAgICAgICAgICAgICAgbGV0IHZhbHVl
ID0gbG9jYWxTdG9yYWdlLmdldEl0ZW0obG9jYWxTdG9yYWdlTmFtZSk7Ci0gICAgICAgICAgICAg
ICAgICAgIGFkZE91dHB1dCgiQWZ0ZXIgZGVsZXRpb246IExvY2FsU3RvcmFnZSBlbnRyeSAiICsg
KHZhbHVlID09PSBsb2NhbFN0b3JhZ2VWYWx1ZSA/ICJkb2VzIiA6ICJkb2VzIG5vdCIpICsgIiBl
eGlzdC4iKTsKLSAgICAgICAgICAgICAgICAgICAgY2hlY2tMb2NhbFN0b3JhZ2VDYWxsYmFjaygp
OwotICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgIH0sIDEwMCk7Ci0gICAgICAgIH0KLSAg
ICB9Ci0KLSAgICBhc3luYyBmdW5jdGlvbiB3cml0ZVdlYnNpdGVEYXRhQW5kQ29udGludWUoKSB7
Ci0gICAgICAgIC8vIFdyaXRlIGNvb2tpZXMuCi0gICAgICAgIGF3YWl0IGZldGNoKCIvY29va2ll
cy9yZXNvdXJjZXMvc2V0LWh0dHAtb25seS1jb29raWUucGhwP2Nvb2tpZU5hbWU9IiArIGh0dHBP
bmx5Q29va2llTmFtZSwgeyBjcmVkZW50aWFsczogInNhbWUtb3JpZ2luIiB9KTsKLSAgICAgICAg
YXdhaXQgZmV0Y2goIi9jb29raWVzL3Jlc291cmNlcy9zZXRDb29raWVzLmNnaSIsIHsgaGVhZGVy
czogeyAiU2V0LUNvb2tpZSI6IHNlcnZlclNpZGVDb29raWVOYW1lICsgIj0xOyBwYXRoPS87IiB9
LCBjcmVkZW50aWFsczogInNhbWUtb3JpZ2luIiB9KTsKLSAgICAgICAgZG9jdW1lbnQuY29va2ll
ID0gY2xpZW50U2lkZUNvb2tpZU5hbWUgKyAiPTEiOwotCi0gICAgICAgIGNoZWNrQ29va2llcyhm
YWxzZSk7Ci0KLSAgICAgICAgLy8gV3JpdGUgTG9jYWxTdG9yYWdlCi0gICAgICAgIGxvY2FsU3Rv
cmFnZS5zZXRJdGVtKGxvY2FsU3RvcmFnZU5hbWUsIGxvY2FsU3RvcmFnZVZhbHVlKTsKLSAgICAg
ICAgY2hlY2tMb2NhbFN0b3JhZ2VFeGlzdHMoZmFsc2UsIGZ1bmN0aW9uKCkgewotCi0gICAgICAg
ICAgICAvLyBXcml0ZSBJbmRleGVkREIuCi0gICAgICAgICAgICBjcmVhdGVJREJEYXRhU3RvcmUo
ZnVuY3Rpb24gKCkgewotICAgICAgICAgICAgICAgIGNoZWNrSURCRGF0YVN0b3JlRXhpc3RzKGZh
bHNlLCBmdW5jdGlvbigpIHsKLSAgICAgICAgICAgICAgICAgICAgYWRkTGluZWJyZWFrVG9PdXRw
dXQoKTsKLSAgICAgICAgICAgICAgICAgICAgcHJvY2Vzc1dlYnNpdGVEYXRhQW5kQ29udGludWUo
KTsKLSAgICAgICAgICAgICAgICB9KTsKLSAgICAgICAgICAgIH0pOwotICAgICAgICB9KTsKLSAg
ICB9Ci0KLSAgICBmdW5jdGlvbiBwcm9jZXNzV2Vic2l0ZURhdGFBbmRDb250aW51ZSgpIHsKLSAg
ICAgICAgdGVzdFJ1bm5lci5pbnN0YWxsU3RhdGlzdGljc0RpZFNjYW5EYXRhUmVjb3Jkc0NhbGxi
YWNrKGNoZWNrV2Vic2l0ZURhdGFBbmRDb250aW51ZSk7Ci0gICAgICAgIHRlc3RSdW5uZXIuc3Rh
dGlzdGljc1Byb2Nlc3NTdGF0aXN0aWNzQW5kRGF0YVJlY29yZHMoKTsKLSAgICB9Ci0KLSAgICBm
dW5jdGlvbiBjaGVja1dlYnNpdGVEYXRhQW5kQ29udGludWUoKSB7Ci0gICAgICAgIGNoZWNrQ29v
a2llcyh0cnVlKTsKLSAgICAgICAgY2hlY2tMb2NhbFN0b3JhZ2VFeGlzdHModHJ1ZSwgZnVuY3Rp
b24gKCkgewotICAgICAgICAgICAgY2hlY2tJREJEYXRhU3RvcmVFeGlzdHModHJ1ZSwgZmluaXNo
VGVzdCk7Ci0gICAgICAgIH0pOwotICAgIH0KLQotICAgIGZ1bmN0aW9uIGZpbmlzaFRlc3QoKSB7
Ci0gICAgICAgIHJlc2V0Q29va2llcygpOwotICAgICAgICB0ZXN0UnVubmVyLnNldFN0YXRpc3Rp
Y3NGaXJzdFBhcnR5V2Vic2l0ZURhdGFSZW1vdmFsTW9kZShmYWxzZSwgZnVuY3Rpb24oKSB7Ci0g
ICAgICAgICAgICBzZXRFbmFibGVGZWF0dXJlKGZhbHNlLCBmdW5jdGlvbigpIHsKLSAgICAgICAg
ICAgICAgICB0ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsKLSAgICAgICAgICAgIH0pOwotICAgICAg
ICB9KTsKLSAgICB9Ci0KLSAgICBjb25zdCBvcmlnaW5VbmRlclRlc3QgID0gImh0dHA6Ly8xMjcu
MC4wLjE6ODAwMCI7Ci0gICAgZnVuY3Rpb24gcnVuVGVzdCgpIHsKLSAgICAgICAgc2V0RW5hYmxl
RmVhdHVyZSh0cnVlLCBmdW5jdGlvbiAoKSB7Ci0gICAgICAgICAgICB0ZXN0UnVubmVyLnNldFN0
YXRpc3RpY3NGaXJzdFBhcnR5V2Vic2l0ZURhdGFSZW1vdmFsTW9kZSh0cnVlLCBmdW5jdGlvbigp
IHsKLSAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NIYXNIYWRVc2VySW50
ZXJhY3Rpb24ob3JpZ2luVW5kZXJUZXN0LCB0cnVlLCBmdW5jdGlvbigpIHsKLSAgICAgICAgICAg
ICAgICAgICAgaWYgKCF0ZXN0UnVubmVyLmlzU3RhdGlzdGljc0hhc0hhZFVzZXJJbnRlcmFjdGlv
bihvcmlnaW5VbmRlclRlc3QpKQotICAgICAgICAgICAgICAgICAgICAgICAgYWRkT3V0cHV0KCJG
QUlMOiAiICsgb3JpZ2luVW5kZXJUZXN0ICsgIiBkaWQgbm90IGdldCBsb2dnZWQgZm9yIHVzZXIg
aW50ZXJhY3Rpb24uIik7Ci0gICAgICAgICAgICAgICAgICAgIHdyaXRlV2Vic2l0ZURhdGFBbmRD
b250aW51ZSgpOwotICAgICAgICAgICAgICAgIH0pOwotICAgICAgICAgICAgfSk7Ci0gICAgICAg
IH0pOwotICAgIH0KLTwvc2NyaXB0PgotPC9ib2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3dlYnNpdGUtZGF0YS1y
ZW1vdmFsLWZvci1zaXRlLXdpdGhvdXQtdXNlci1pbnRlcmFjdGlvbi1kYXRhYmFzZS1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3Mvd2Vi
c2l0ZS1kYXRhLXJlbW92YWwtZm9yLXNpdGUtd2l0aG91dC11c2VyLWludGVyYWN0aW9uLWRhdGFi
YXNlLWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMGViODZjYTMy
MGY0NjhlYWFmYWVlNTk5M2Q0MWNiM2ZlNzU1M2VjOC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9h
ZFN0YXRpc3RpY3Mvd2Vic2l0ZS1kYXRhLXJlbW92YWwtZm9yLXNpdGUtd2l0aG91dC11c2VyLWlu
dGVyYWN0aW9uLWRhdGFiYXNlLWV4cGVjdGVkLnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDE1ICsw
LDAgQEAKLUNoZWNrIHRoYXQgbm9uLWNvb2tpZSB3ZWJzaXRlIGRhdGEgZ2V0cyByZW1vdmVkIGFm
dGVyIGEgcGVyaW9kIG9mIG5vIHVzZXIgaW50ZXJhY3Rpb24uCi0KLUJlZm9yZSBkZWxldGlvbjog
Q2xpZW50LXNpZGUgY29va2llIGV4aXN0cy4KLUJlZm9yZSBkZWxldGlvbjogSHR0cE9ubHkgY29v
a2llIGV4aXN0cy4KLUJlZm9yZSBkZWxldGlvbjogUmVndWxhciBzZXJ2ZXItc2lkZSBjb29raWUg
ZXhpc3RzLgotQmVmb3JlIGRlbGV0aW9uOiBMb2NhbFN0b3JhZ2UgZW50cnkgZG9lcyBleGlzdC4K
LUJlZm9yZSBkZWxldGlvbjogSURCIGVudHJ5IGRvZXMgZXhpc3QuCi0KLUFmdGVyIGRlbGV0aW9u
OiBIdHRwT25seSBjb29raWUgZXhpc3RzLgotQWZ0ZXIgZGVsZXRpb246IENsaWVudC1zaWRlIGNv
b2tpZSBleGlzdHMuCi1BZnRlciBkZWxldGlvbjogUmVndWxhciBzZXJ2ZXItc2lkZSBjb29raWUg
ZXhpc3RzLgotQWZ0ZXIgZGVsZXRpb246IExvY2FsU3RvcmFnZSBlbnRyeSBkb2VzIG5vdCBleGlz
dC4KLUFmdGVyIGRlbGV0aW9uOiBJREIgZW50cnkgZG9lcyBub3QgZXhpc3QuCi0KLQpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3dlYnNp
dGUtZGF0YS1yZW1vdmFsLWZvci1zaXRlLXdpdGhvdXQtdXNlci1pbnRlcmFjdGlvbi1kYXRhYmFz
ZS5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3dl
YnNpdGUtZGF0YS1yZW1vdmFsLWZvci1zaXRlLXdpdGhvdXQtdXNlci1pbnRlcmFjdGlvbi1kYXRh
YmFzZS5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAyZTAwMTRjN2Y5NTBlMDli
MWM5MmQ4ZDc5ZGQ4NjY2NDcxZDRkYTMyLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlz
dGljcy93ZWJzaXRlLWRhdGEtcmVtb3ZhbC1mb3Itc2l0ZS13aXRob3V0LXVzZXItaW50ZXJhY3Rp
b24tZGF0YWJhc2UuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDI1NCArMCwwIEBACi08IURPQ1RZ
UEUgaHRtbD4KLTxodG1sPgotPGhlYWQ+Ci0gICAgPHNjcmlwdCBzcmM9Ii9jb29raWVzL3Jlc291
cmNlcy9jb29raWUtdXRpbGl0aWVzLmpzIj48L3NjcmlwdD4KLSAgICA8c2NyaXB0IHNyYz0icmVz
b3VyY2VzL3V0aWwuanMiPjwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHkgb25sb2FkPSJzZXRUaW1l
b3V0KCdydW5UZXN0KCknLCAwKSI+Ci08ZGl2IGlkPSJkZXNjcmlwdGlvbiI+Q2hlY2sgdGhhdCBu
b24tY29va2llIHdlYnNpdGUgZGF0YSBnZXRzIHJlbW92ZWQgYWZ0ZXIgYSBwZXJpb2Qgb2Ygbm8g
dXNlciBpbnRlcmFjdGlvbi48L2Rpdj4KLTxicj4KLTxkaXYgaWQ9Im91dHB1dCI+PC9kaXY+Ci08
YnI+Ci08c2NyaXB0PgotICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOwotICAgIHRlc3RS
dW5uZXIuZHVtcEFzVGV4dCgpOwotICAgIHRlc3RSdW5uZXIuc2V0VXNlSVRQRGF0YWJhc2UodHJ1
ZSk7Ci0KLSAgICBjb25zdCBodHRwT25seUNvb2tpZU5hbWUgPSAiaHR0cC1vbmx5LWNvb2tpZSI7
Ci0gICAgY29uc3Qgc2VydmVyU2lkZUNvb2tpZU5hbWUgPSAic2VydmVyLXNpZGUtY29va2llIjsK
LSAgICBjb25zdCBjbGllbnRTaWRlQ29va2llTmFtZSA9ICJjbGllbnQtc2lkZS1jb29raWUiOwot
Ci0gICAgZnVuY3Rpb24gc29ydFN0cmluZ0FycmF5KGEsIGIpIHsKLSAgICAgICAgYSA9IGEudG9M
b3dlckNhc2UoKTsKLSAgICAgICAgYiA9IGIudG9Mb3dlckNhc2UoKTsKLQotICAgICAgICByZXR1
cm4gYSA+IGIgPyAxIDogYiA+IGEgPyAtMSA6IDA7Ci0gICAgfQotCi0gICAgZnVuY3Rpb24gYWRk
TGluZWJyZWFrVG9PdXRwdXQoKSB7Ci0gICAgICAgIGxldCBlbGVtZW50ID0gZG9jdW1lbnQuY3Jl
YXRlRWxlbWVudCgiYnIiKTsKLSAgICAgICAgb3V0cHV0LmFwcGVuZENoaWxkKGVsZW1lbnQpOwot
ICAgIH0KLQotICAgIGZ1bmN0aW9uIGFkZE91dHB1dChtZXNzYWdlKSB7Ci0gICAgICAgIGxldCBl
bGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7Ci0gICAgICAgIGVsZW1lbnQu
aW5uZXJUZXh0ID0gbWVzc2FnZTsKLSAgICAgICAgb3V0cHV0LmFwcGVuZENoaWxkKGVsZW1lbnQp
OwotICAgIH0KLQotICAgIGZ1bmN0aW9uIGNoZWNrQ29va2llcyhpc0FmdGVyRGVsZXRpb24pIHsK
LSAgICAgICAgbGV0IHVuc29ydGVkVGVzdFBhc3NlZE1lc3NhZ2VzID0gW107Ci0gICAgICAgIGxl
dCBjb29raWVzID0gaW50ZXJuYWxzLmdldENvb2tpZXMoKTsKLSAgICAgICAgaWYgKCFjb29raWVz
Lmxlbmd0aCkKLSAgICAgICAgICAgIHRlc3RGYWlsZWQoKGlzQWZ0ZXJEZWxldGlvbiA/ICJBZnRl
ciIgOiAiQmVmb3JlIikgKyAiIHNjcmlwdC1hY2Nlc3NpYmxlIGRlbGV0aW9uOiBObyBjb29raWVz
IGZvdW5kLiIpOwotICAgICAgICBmb3IgKGxldCBjb29raWUgb2YgY29va2llcykgewotICAgICAg
ICAgICAgc3dpdGNoIChjb29raWUubmFtZSkgewotICAgICAgICAgICAgICAgIGNhc2UgaHR0cE9u
bHlDb29raWVOYW1lOgotICAgICAgICAgICAgICAgICAgICB1bnNvcnRlZFRlc3RQYXNzZWRNZXNz
YWdlcy5wdXNoKChpc0FmdGVyRGVsZXRpb24gPyAiQWZ0ZXIiIDogIkJlZm9yZSIpICsgIiBkZWxl
dGlvbjogIiArIChpc0FmdGVyRGVsZXRpb24gPyAiICIgOiAiIikgKyAiSHR0cE9ubHkgY29va2ll
IGV4aXN0cy4iKTsKLSAgICAgICAgICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgICAgICAgICAg
Y2FzZSBzZXJ2ZXJTaWRlQ29va2llTmFtZToKLSAgICAgICAgICAgICAgICAgICAgdW5zb3J0ZWRU
ZXN0UGFzc2VkTWVzc2FnZXMucHVzaCgoaXNBZnRlckRlbGV0aW9uID8gIkFmdGVyIiA6ICJCZWZv
cmUiKSArICIgZGVsZXRpb246IFJlZ3VsYXIgc2VydmVyLXNpZGUgY29va2llIGV4aXN0cy4iKTsK
LSAgICAgICAgICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgICAgICAgICAgY2FzZSBjbGllbnRT
aWRlQ29va2llTmFtZToKLSAgICAgICAgICAgICAgICAgICAgdW5zb3J0ZWRUZXN0UGFzc2VkTWVz
c2FnZXMucHVzaCgoaXNBZnRlckRlbGV0aW9uID8gIkFmdGVyIiA6ICJCZWZvcmUiKSArICIgZGVs
ZXRpb246IENsaWVudC1zaWRlIGNvb2tpZSBleGlzdHMuIik7Ci0gICAgICAgICAgICAgICAgICAg
IGJyZWFrOwotICAgICAgICAgICAgfQotICAgICAgICB9Ci0gICAgICAgIGxldCBzb3J0ZWRUZXN0
UGFzc2VkTWVzc2FnZXMgPSB1bnNvcnRlZFRlc3RQYXNzZWRNZXNzYWdlcy5zb3J0KHNvcnRTdHJp
bmdBcnJheSk7Ci0gICAgICAgIGZvciAobGV0IHRlc3RQYXNzZWRNZXNzYWdlIG9mIHNvcnRlZFRl
c3RQYXNzZWRNZXNzYWdlcykgewotICAgICAgICAgICAgYWRkT3V0cHV0KHRlc3RQYXNzZWRNZXNz
YWdlKTsKLSAgICAgICAgfQotICAgIH0KLQotICAgIGNvbnN0IGRiTmFtZSA9ICJUZXN0RGF0YWJh
c2UiOwotCi0gICAgZnVuY3Rpb24gY3JlYXRlSURCRGF0YVN0b3JlKGNhbGxiYWNrKSB7Ci0gICAg
ICAgIGxldCByZXF1ZXN0ID0gaW5kZXhlZERCLm9wZW4oZGJOYW1lKTsKLSAgICAgICAgcmVxdWVz
dC5vbmVycm9yID0gZnVuY3Rpb24oKSB7Ci0gICAgICAgICAgICBhZGRPdXRwdXQoIkNvdWxkbid0
IGNyZWF0ZSBpbmRleGVkREIuIik7Ci0gICAgICAgICAgICBmaW5pc2hUZXN0KCk7Ci0gICAgICAg
IH07Ci0gICAgICAgIHJlcXVlc3Qub251cGdyYWRlbmVlZGVkID0gZnVuY3Rpb24oZXZlbnQpIHsK
LSAgICAgICAgICAgIGxldCBkYiA9IGV2ZW50LnRhcmdldC5yZXN1bHQ7Ci0gICAgICAgICAgICBs
ZXQgb2JqU3RvcmUgPSBkYi5jcmVhdGVPYmplY3RTdG9yZSgidGVzdCIsIHthdXRvSW5jcmVtZW50
OiB0cnVlfSk7Ci0gICAgICAgICAgICBvYmpTdG9yZS5hZGQoInZhbHVlIik7Ci0gICAgICAgICAg
ICBjYWxsYmFjaygpOwotICAgICAgICB9Ci0gICAgfQotCi0gICAgY29uc3QgbWF4SW50ZXJ2YWxz
ID0gMjA7Ci0KLSAgICBsZXQgaW50ZXJ2YWxDb3VudGVySURCOwotICAgIGxldCBjaGVja0lEQkNh
bGxiYWNrOwotICAgIGxldCBjaGVja0lEQkludGVydmFsSUQ7Ci0gICAgbGV0IHNlbWFwaG9yZUlE
QkNoZWNrID0gZmFsc2U7Ci0gICAgZnVuY3Rpb24gY2hlY2tJREJEYXRhU3RvcmVFeGlzdHMoaXNB
ZnRlckRlbGV0aW9uLCBjYWxsYmFjaykgewotICAgICAgICBsZXQgcmVxdWVzdDsKLSAgICAgICAg
aW50ZXJ2YWxDb3VudGVySURCID0gMDsKLSAgICAgICAgY2hlY2tJREJDYWxsYmFjayA9IGNhbGxi
YWNrOwotICAgICAgICBpZiAoIWlzQWZ0ZXJEZWxldGlvbikgewotICAgICAgICAgICAgLy8gQ2hl
Y2sgdW50aWwgdGhlcmUgaXMgYSBJREIuCi0gICAgICAgICAgICBjaGVja0lEQkludGVydmFsSUQg
PSBzZXRJbnRlcnZhbChmdW5jdGlvbigpIHsKLSAgICAgICAgICAgICAgICBpZiAoc2VtYXBob3Jl
SURCQ2hlY2spCi0gICAgICAgICAgICAgICAgICAgIHJldHVybjsKLSAgICAgICAgICAgICAgICBz
ZW1hcGhvcmVJREJDaGVjayA9IHRydWU7Ci0KLSAgICAgICAgICAgICAgICBpZiAoKytpbnRlcnZh
bENvdW50ZXJJREIgPj0gbWF4SW50ZXJ2YWxzKSB7Ci0gICAgICAgICAgICAgICAgICAgIGNsZWFy
SW50ZXJ2YWwoY2hlY2tJREJJbnRlcnZhbElEKTsKLSAgICAgICAgICAgICAgICAgICAgYWRkT3V0
cHV0KCJCZWZvcmUgZGVsZXRpb246IElEQiBlbnRyeSBkb2VzIG5vdCBleGlzdC4iKTsKLSAgICAg
ICAgICAgICAgICAgICAgc2VtYXBob3JlSURCQ2hlY2sgPSBmYWxzZTsKLSAgICAgICAgICAgICAg
ICAgICAgY2hlY2tJREJDYWxsYmFjaygpOwotICAgICAgICAgICAgICAgIH0gZWxzZSB7Ci0gICAg
ICAgICAgICAgICAgICAgIHJlcXVlc3QgPSBpbmRleGVkREIub3BlbihkYk5hbWUpOwotICAgICAg
ICAgICAgICAgICAgICByZXF1ZXN0Lm9uZXJyb3IgPSBmdW5jdGlvbiAoKSB7Ci0gICAgICAgICAg
ICAgICAgICAgICAgICBjbGVhckludGVydmFsKGNoZWNrSURCSW50ZXJ2YWxJRCk7Ci0gICAgICAg
ICAgICAgICAgICAgICAgICBhZGRPdXRwdXQoIkNvdWxkbid0IG9wZW4gaW5kZXhlZERCLiIpOwot
ICAgICAgICAgICAgICAgICAgICAgICAgc2VtYXBob3JlSURCQ2hlY2sgPSBmYWxzZTsKLSAgICAg
ICAgICAgICAgICAgICAgICAgIGZpbmlzaFRlc3QoKTsKLSAgICAgICAgICAgICAgICAgICAgfTsK
LSAgICAgICAgICAgICAgICAgICAgcmVxdWVzdC5vbnVwZ3JhZGVuZWVkZWQgPSBmdW5jdGlvbiAo
KSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAvLyBMZXQgdGhlIG5leHQgaW50ZXJ2YWwgY2hl
Y2sgYWdhaW4uCi0gICAgICAgICAgICAgICAgICAgICAgICBzZW1hcGhvcmVJREJDaGVjayA9IGZh
bHNlOwotICAgICAgICAgICAgICAgICAgICB9OwotICAgICAgICAgICAgICAgICAgICByZXF1ZXN0
Lm9uc3VjY2VzcyA9IGZ1bmN0aW9uICgpIHsKLSAgICAgICAgICAgICAgICAgICAgICAgIGNsZWFy
SW50ZXJ2YWwoY2hlY2tJREJJbnRlcnZhbElEKTsKLSAgICAgICAgICAgICAgICAgICAgICAgIGFk
ZE91dHB1dCgiQmVmb3JlIGRlbGV0aW9uOiBJREIgZW50cnkgZG9lcyBleGlzdC4iKTsKLSAgICAg
ICAgICAgICAgICAgICAgICAgIHNlbWFwaG9yZUlEQkNoZWNrID0gZmFsc2U7Ci0gICAgICAgICAg
ICAgICAgICAgICAgICBjaGVja0lEQkNhbGxiYWNrKCk7Ci0gICAgICAgICAgICAgICAgICAgIH07
Ci0gICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgfSwgMjAwKTsKLSAgICAgICAgfSBlbHNl
IHsKLSAgICAgICAgICAgIC8vIENoZWNrIHVudGlsIHRoZXJlIGlzIG5vIElEQi4KLSAgICAgICAg
ICAgIGNoZWNrSURCSW50ZXJ2YWxJRCA9IHNldEludGVydmFsKGZ1bmN0aW9uICgpIHsKLSAgICAg
ICAgICAgICAgICBpZiAoc2VtYXBob3JlSURCQ2hlY2spCi0gICAgICAgICAgICAgICAgICAgIHJl
dHVybjsKLSAgICAgICAgICAgICAgICBzZW1hcGhvcmVJREJDaGVjayA9IHRydWU7Ci0KLSAgICAg
ICAgICAgICAgICBpZiAoKytpbnRlcnZhbENvdW50ZXJJREIgPj0gbWF4SW50ZXJ2YWxzKSB7Ci0g
ICAgICAgICAgICAgICAgICAgIGNsZWFySW50ZXJ2YWwoY2hlY2tJREJJbnRlcnZhbElEKTsKLSAg
ICAgICAgICAgICAgICAgICAgYWRkT3V0cHV0KCJBZnRlciBkZWxldGlvbjogSURCIGVudHJ5IGNo
ZWNrcyBleGhhdXN0ZWQuIik7Ci0gICAgICAgICAgICAgICAgICAgIHNlbWFwaG9yZUlEQkNoZWNr
ID0gZmFsc2U7Ci0gICAgICAgICAgICAgICAgICAgIGNoZWNrSURCQ2FsbGJhY2soKTsKLSAgICAg
ICAgICAgICAgICB9IGVsc2UgewotICAgICAgICAgICAgICAgICAgICByZXF1ZXN0ID0gaW5kZXhl
ZERCLm9wZW4oZGJOYW1lKTsKLSAgICAgICAgICAgICAgICAgICAgcmVxdWVzdC5vbmVycm9yID0g
ZnVuY3Rpb24gKCkgewotICAgICAgICAgICAgICAgICAgICAgICAgY2xlYXJJbnRlcnZhbChjaGVj
a0lEQkludGVydmFsSUQpOwotICAgICAgICAgICAgICAgICAgICAgICAgYWRkT3V0cHV0KCJDb3Vs
ZG4ndCBvcGVuIGluZGV4ZWREQi4iKTsKLSAgICAgICAgICAgICAgICAgICAgICAgIHNlbWFwaG9y
ZUlEQkNoZWNrID0gZmFsc2U7Ci0gICAgICAgICAgICAgICAgICAgICAgICBmaW5pc2hUZXN0KCk7
Ci0gICAgICAgICAgICAgICAgICAgIH07Ci0gICAgICAgICAgICAgICAgICAgIHJlcXVlc3Qub251
cGdyYWRlbmVlZGVkID0gZnVuY3Rpb24gKCkgewotICAgICAgICAgICAgICAgICAgICAgICAgY2xl
YXJJbnRlcnZhbChjaGVja0lEQkludGVydmFsSUQpOwotICAgICAgICAgICAgICAgICAgICAgICAg
YWRkT3V0cHV0KCJBZnRlciBkZWxldGlvbjogSURCIGVudHJ5IGRvZXMgbm90IGV4aXN0LiIpOwot
ICAgICAgICAgICAgICAgICAgICAgICAgc2VtYXBob3JlSURCQ2hlY2sgPSBmYWxzZTsKLSAgICAg
ICAgICAgICAgICAgICAgICAgIGNoZWNrSURCQ2FsbGJhY2soKTsKLSAgICAgICAgICAgICAgICAg
ICAgfTsKLSAgICAgICAgICAgICAgICAgICAgcmVxdWVzdC5vbnN1Y2Nlc3MgPSBmdW5jdGlvbiAo
KSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAvLyBMZXQgdGhlIG5leHQgaW50ZXJ2YWwgY2hl
Y2sgYWdhaW4uCi0gICAgICAgICAgICAgICAgICAgICAgICBzZW1hcGhvcmVJREJDaGVjayA9IGZh
bHNlOwotICAgICAgICAgICAgICAgICAgICB9OwotICAgICAgICAgICAgICAgIH0KLSAgICAgICAg
ICAgIH0sIDIwMCk7Ci0gICAgICAgIH0KLSAgICB9Ci0KLSAgICBsZXQgaW50ZXJ2YWxDb3VudGVy
TG9jYWxTdG9yYWdlOwotICAgIGxldCBjaGVja0xvY2FsU3RvcmFnZUNhbGxiYWNrOwotICAgIGxl
dCBjaGVja0xvY2FsU3RvcmFnZUludGVydmFsSUQ7Ci0gICAgY29uc3QgbG9jYWxTdG9yYWdlTmFt
ZSA9ICJ0ZXN0IjsKLSAgICBjb25zdCBsb2NhbFN0b3JhZ2VWYWx1ZSA9ICJ2YWx1ZSI7Ci0gICAg
ZnVuY3Rpb24gY2hlY2tMb2NhbFN0b3JhZ2VFeGlzdHMoaXNBZnRlckRlbGV0aW9uLCBjYWxsYmFj
aykgewotICAgICAgICBpbnRlcnZhbENvdW50ZXJMb2NhbFN0b3JhZ2UgPSAwOwotICAgICAgICBj
aGVja0xvY2FsU3RvcmFnZUNhbGxiYWNrID0gY2FsbGJhY2s7Ci0gICAgICAgIGlmICghaXNBZnRl
ckRlbGV0aW9uKSB7Ci0gICAgICAgICAgICAvLyBDaGVjayB1bnRpbCB0aGVyZSBpcyBMb2NhbFN0
b3JhZ2UuCi0gICAgICAgICAgICBjaGVja0xvY2FsU3RvcmFnZUludGVydmFsSUQgPSBzZXRJbnRl
cnZhbChmdW5jdGlvbigpIHsKLSAgICAgICAgICAgICAgICBpZiAoKytpbnRlcnZhbENvdW50ZXJM
b2NhbFN0b3JhZ2UgPj0gbWF4SW50ZXJ2YWxzKSB7Ci0gICAgICAgICAgICAgICAgICAgIGNsZWFy
SW50ZXJ2YWwoY2hlY2tMb2NhbFN0b3JhZ2VJbnRlcnZhbElEKTsKLSAgICAgICAgICAgICAgICAg
ICAgbGV0IHZhbHVlID0gbG9jYWxTdG9yYWdlLmdldEl0ZW0obG9jYWxTdG9yYWdlTmFtZSk7Ci0g
ICAgICAgICAgICAgICAgICAgIGFkZE91dHB1dCgiQmVmb3JlIGRlbGV0aW9uOiBMb2NhbFN0b3Jh
Z2UgZW50cnkgIiArICh2YWx1ZSA9PT0gbG9jYWxTdG9yYWdlVmFsdWUgPyAiZG9lcyIgOiAiZG9l
cyBub3QiKSArICIgZXhpc3QuIik7Ci0gICAgICAgICAgICAgICAgICAgIGNoZWNrTG9jYWxTdG9y
YWdlQ2FsbGJhY2soKTsKLSAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKHRlc3RSdW5uZXIuaXNT
dGF0aXN0aWNzSGFzTG9jYWxTdG9yYWdlKG9yaWdpblVuZGVyVGVzdCkpIHsKLSAgICAgICAgICAg
ICAgICAgICAgY2xlYXJJbnRlcnZhbChjaGVja0xvY2FsU3RvcmFnZUludGVydmFsSUQpOwotICAg
ICAgICAgICAgICAgICAgICBsZXQgdmFsdWUgPSBsb2NhbFN0b3JhZ2UuZ2V0SXRlbShsb2NhbFN0
b3JhZ2VOYW1lKTsKLSAgICAgICAgICAgICAgICAgICAgYWRkT3V0cHV0KCJCZWZvcmUgZGVsZXRp
b246IExvY2FsU3RvcmFnZSBlbnRyeSAiICsgKHZhbHVlID09PSBsb2NhbFN0b3JhZ2VWYWx1ZSA/
ICJkb2VzIiA6ICJkb2VzIG5vdCIpICsgIiBleGlzdC4iKTsKLSAgICAgICAgICAgICAgICAgICAg
Y2hlY2tMb2NhbFN0b3JhZ2VDYWxsYmFjaygpOwotICAgICAgICAgICAgICAgIH0KLSAgICAgICAg
ICAgIH0sIDEwMCk7Ci0gICAgICAgIH0gZWxzZSB7Ci0gICAgICAgICAgICAvLyBDaGVjayB1bnRp
bCB0aGVyZSBpcyBubyBMb2NhbFN0b3JhZ2UuCi0gICAgICAgICAgICBjaGVja0xvY2FsU3RvcmFn
ZUludGVydmFsSUQgPSBzZXRJbnRlcnZhbChmdW5jdGlvbigpIHsKLSAgICAgICAgICAgICAgICBp
ZiAoKytpbnRlcnZhbENvdW50ZXJMb2NhbFN0b3JhZ2UgPj0gbWF4SW50ZXJ2YWxzKSB7Ci0gICAg
ICAgICAgICAgICAgICAgIGNsZWFySW50ZXJ2YWwoY2hlY2tMb2NhbFN0b3JhZ2VJbnRlcnZhbElE
KTsKLSAgICAgICAgICAgICAgICAgICAgbGV0IHZhbHVlID0gbG9jYWxTdG9yYWdlLmdldEl0ZW0o
bG9jYWxTdG9yYWdlTmFtZSk7Ci0gICAgICAgICAgICAgICAgICAgIGFkZE91dHB1dCgiQWZ0ZXIg
ZGVsZXRpb246IExvY2FsU3RvcmFnZSBlbnRyeSAiICsgKHZhbHVlID09PSBsb2NhbFN0b3JhZ2VW
YWx1ZSA/ICJkb2VzIiA6ICJkb2VzIG5vdCIpICsgIiBleGlzdC4iKTsKLSAgICAgICAgICAgICAg
ICAgICAgY2hlY2tMb2NhbFN0b3JhZ2VDYWxsYmFjaygpOwotICAgICAgICAgICAgICAgIH0gZWxz
ZSBpZiAoIXRlc3RSdW5uZXIuaXNTdGF0aXN0aWNzSGFzTG9jYWxTdG9yYWdlKG9yaWdpblVuZGVy
VGVzdCkpIHsKLSAgICAgICAgICAgICAgICAgICAgY2xlYXJJbnRlcnZhbChjaGVja0xvY2FsU3Rv
cmFnZUludGVydmFsSUQpOwotICAgICAgICAgICAgICAgICAgICBsZXQgdmFsdWUgPSBsb2NhbFN0
b3JhZ2UuZ2V0SXRlbShsb2NhbFN0b3JhZ2VOYW1lKTsKLSAgICAgICAgICAgICAgICAgICAgYWRk
T3V0cHV0KCJBZnRlciBkZWxldGlvbjogTG9jYWxTdG9yYWdlIGVudHJ5ICIgKyAodmFsdWUgPT09
IGxvY2FsU3RvcmFnZVZhbHVlID8gImRvZXMiIDogImRvZXMgbm90IikgKyAiIGV4aXN0LiIpOwot
ICAgICAgICAgICAgICAgICAgICBjaGVja0xvY2FsU3RvcmFnZUNhbGxiYWNrKCk7Ci0gICAgICAg
ICAgICAgICAgfQotICAgICAgICAgICAgfSwgMTAwKTsKLSAgICAgICAgfQotICAgIH0KLQotICAg
IGFzeW5jIGZ1bmN0aW9uIHdyaXRlV2Vic2l0ZURhdGFBbmRDb250aW51ZSgpIHsKLSAgICAgICAg
Ly8gV3JpdGUgY29va2llcy4KLSAgICAgICAgYXdhaXQgZmV0Y2goIi9jb29raWVzL3Jlc291cmNl
cy9zZXQtaHR0cC1vbmx5LWNvb2tpZS5waHA/Y29va2llTmFtZT0iICsgaHR0cE9ubHlDb29raWVO
YW1lLCB7IGNyZWRlbnRpYWxzOiAic2FtZS1vcmlnaW4iIH0pOwotICAgICAgICBhd2FpdCBmZXRj
aCgiL2Nvb2tpZXMvcmVzb3VyY2VzL3NldENvb2tpZXMuY2dpIiwgeyBoZWFkZXJzOiB7ICJTZXQt
Q29va2llIjogc2VydmVyU2lkZUNvb2tpZU5hbWUgKyAiPTE7IHBhdGg9LzsiIH0sIGNyZWRlbnRp
YWxzOiAic2FtZS1vcmlnaW4iIH0pOwotICAgICAgICBkb2N1bWVudC5jb29raWUgPSBjbGllbnRT
aWRlQ29va2llTmFtZSArICI9MSI7Ci0KLSAgICAgICAgY2hlY2tDb29raWVzKGZhbHNlKTsKLQot
ICAgICAgICAvLyBXcml0ZSBMb2NhbFN0b3JhZ2UKLSAgICAgICAgbG9jYWxTdG9yYWdlLnNldEl0
ZW0obG9jYWxTdG9yYWdlTmFtZSwgbG9jYWxTdG9yYWdlVmFsdWUpOwotICAgICAgICBjaGVja0xv
Y2FsU3RvcmFnZUV4aXN0cyhmYWxzZSwgZnVuY3Rpb24oKSB7Ci0KLSAgICAgICAgICAgIC8vIFdy
aXRlIEluZGV4ZWREQi4KLSAgICAgICAgICAgIGNyZWF0ZUlEQkRhdGFTdG9yZShmdW5jdGlvbiAo
KSB7Ci0gICAgICAgICAgICAgICAgY2hlY2tJREJEYXRhU3RvcmVFeGlzdHMoZmFsc2UsIGZ1bmN0
aW9uKCkgewotICAgICAgICAgICAgICAgICAgICBhZGRMaW5lYnJlYWtUb091dHB1dCgpOwotICAg
ICAgICAgICAgICAgICAgICBwcm9jZXNzV2Vic2l0ZURhdGFBbmRDb250aW51ZSgpOwotICAgICAg
ICAgICAgICAgIH0pOwotICAgICAgICAgICAgfSk7Ci0gICAgICAgIH0pOwotICAgIH0KLQotICAg
IGZ1bmN0aW9uIHByb2Nlc3NXZWJzaXRlRGF0YUFuZENvbnRpbnVlKCkgewotICAgICAgICB0ZXN0
UnVubmVyLmluc3RhbGxTdGF0aXN0aWNzRGlkU2NhbkRhdGFSZWNvcmRzQ2FsbGJhY2soY2hlY2tX
ZWJzaXRlRGF0YUFuZENvbnRpbnVlKTsKLSAgICAgICAgdGVzdFJ1bm5lci5zdGF0aXN0aWNzUHJv
Y2Vzc1N0YXRpc3RpY3NBbmREYXRhUmVjb3JkcygpOwotICAgIH0KLQotICAgIGZ1bmN0aW9uIGNo
ZWNrV2Vic2l0ZURhdGFBbmRDb250aW51ZSgpIHsKLSAgICAgICAgY2hlY2tDb29raWVzKHRydWUp
OwotICAgICAgICBjaGVja0xvY2FsU3RvcmFnZUV4aXN0cyh0cnVlLCBmdW5jdGlvbiAoKSB7Ci0g
ICAgICAgICAgICBjaGVja0lEQkRhdGFTdG9yZUV4aXN0cyh0cnVlLCBmaW5pc2hUZXN0KTsKLSAg
ICAgICAgfSk7Ci0gICAgfQotCi0gICAgZnVuY3Rpb24gZmluaXNoVGVzdCgpIHsKLSAgICAgICAg
cmVzZXRDb29raWVzKCk7Ci0gICAgICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc0ZpcnN0UGFy
dHlXZWJzaXRlRGF0YVJlbW92YWxNb2RlKGZhbHNlLCBmdW5jdGlvbigpIHsKLSAgICAgICAgICAg
IHNldEVuYWJsZUZlYXR1cmUoZmFsc2UsIGZ1bmN0aW9uKCkgewotICAgICAgICAgICAgICAgIHRl
c3RSdW5uZXIubm90aWZ5RG9uZSgpOwotICAgICAgICAgICAgfSk7Ci0gICAgICAgIH0pOwotICAg
IH0KLQotICAgIGNvbnN0IG9yaWdpblVuZGVyVGVzdCAgPSAiaHR0cDovLzEyNy4wLjAuMTo4MDAw
IjsKLSAgICBmdW5jdGlvbiBydW5UZXN0KCkgewotICAgICAgICBzZXRFbmFibGVGZWF0dXJlKHRy
dWUsIGZ1bmN0aW9uICgpIHsKLSAgICAgICAgICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc0Zp
cnN0UGFydHlXZWJzaXRlRGF0YVJlbW92YWxNb2RlKHRydWUsIGZ1bmN0aW9uKCkgewotICAgICAg
ICAgICAgICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc0hhc0hhZFVzZXJJbnRlcmFjdGlvbihv
cmlnaW5VbmRlclRlc3QsIGZhbHNlLCBmdW5jdGlvbigpIHsKLSAgICAgICAgICAgICAgICAgICAg
aWYgKHRlc3RSdW5uZXIuaXNTdGF0aXN0aWNzSGFzSGFkVXNlckludGVyYWN0aW9uKG9yaWdpblVu
ZGVyVGVzdCkpCi0gICAgICAgICAgICAgICAgICAgICAgICBhZGRPdXRwdXQoIkZBSUw6ICIgKyBv
cmlnaW5VbmRlclRlc3QgKyAiIGdvdCBsb2dnZWQgZm9yIHVzZXIgaW50ZXJhY3Rpb24uIik7Ci0g
ICAgICAgICAgICAgICAgICAgIHdyaXRlV2Vic2l0ZURhdGFBbmRDb250aW51ZSgpOwotICAgICAg
ICAgICAgICAgIH0pOwotICAgICAgICAgICAgfSk7Ci0gICAgICAgIH0pOwotICAgIH0KLTwvc2Ny
aXB0PgotPC9ib2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0
cy9zdG9yYWdlQWNjZXNzL2FnZ3JlZ2F0ZS1zb3J0ZWQtZGF0YS13aXRoLXN0b3JhZ2UtYWNjZXNz
LWRhdGFiYXNlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc3RvcmFnZUFj
Y2Vzcy9hZ2dyZWdhdGUtc29ydGVkLWRhdGEtd2l0aC1zdG9yYWdlLWFjY2Vzcy1kYXRhYmFzZS1l
eHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDhlYmQyNmI2ZWM3NjUy
ZmRlNjUxZDcxZDM0ZjI3ZGFjMmNkODM1NjkuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zdG9yYWdlQWNjZXNzL2Fn
Z3JlZ2F0ZS1zb3J0ZWQtZGF0YS13aXRoLXN0b3JhZ2UtYWNjZXNzLWRhdGFiYXNlLWV4cGVjdGVk
LnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDQ0ICswLDAgQEAKLUNoZWNrIGNvcnJlY3QgVUkgZGF0
YSBnZXRzIHJlcG9ydGVkIHdpdGggc3RvcmFnZSBhY2Nlc3MgZ3JhbnRlZC4KLQotT24gc3VjY2Vz
cywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkg
IlRFU1QgQ09NUExFVEUiLgotCi0KLVBBU1MgU3RvcmFnZSBhY2Nlc3Mgd2FzIGdyYW50ZWQuIGRv
Y3VtZW50LmNvb2tpZSA9PSBmaXJzdFBhcnR5Q29va2llPXZhbHVlLCBjb29raWVzIHNlZW4gc2Vy
dmVyLXNpZGUgPT0geyJmaXJzdFBhcnR5Q29va2llIjoidmFsdWUifQotUEFTUyBzdWNjZXNzZnVs
bHlQYXJzZWQgaXMgdHJ1ZQotCi1URVNUIENPTVBMRVRFCi0KLVJlc291cmNlIGxvYWQgc3RhdGlz
dGljczoKLQotUmVnaXN0cmFibGUgZG9tYWluOiAxMjcuMC4wLjEKLSAgICBoYWRVc2VySW50ZXJh
Y3Rpb246IFllcwotICAgIG1vc3RSZWNlbnRVc2VySW50ZXJhY3Rpb246IHdpdGhpbiAyNCBob3Vy
cwotICAgIGdyYW5kZmF0aGVyZWQ6IE5vCi0gICAgVG9wRnJhbWVVbmlxdWVSZWRpcmVjdHNUbzoK
LSAgICAgICAgbG9jYWxob3N0Ci0gICAgVG9wRnJhbWVVbmlxdWVSZWRpcmVjdHNGcm9tOgotICAg
ICAgICBsb2NhbGhvc3QKLSAgICBJc1NjaGVkdWxlZEZvckFsbEJ1dENvb2tpZURhdGFSZW1vdmFs
OiBObwotICAgIGlzUHJldmFsZW50UmVzb3VyY2U6IFllcwotICAgIGlzVmVyeVByZXZhbGVudFJl
c291cmNlOiBObwotICAgIGRhdGFSZWNvcmRzUmVtb3ZlZDogMAotUmVnaXN0cmFibGUgZG9tYWlu
OiBsb2NhbGhvc3QKLSAgICBoYWRVc2VySW50ZXJhY3Rpb246IFllcwotICAgIG1vc3RSZWNlbnRV
c2VySW50ZXJhY3Rpb246IHdpdGhpbiAyNCBob3VycwotICAgIGdyYW5kZmF0aGVyZWQ6IE5vCi0g
ICAgU3RvcmFnZUFjY2Vzc1VuZGVyVG9wRnJhbWVEb21haW5zOgotICAgICAgICAxMjcuMC4wLjEK
LSAgICBUb3BGcmFtZVVuaXF1ZVJlZGlyZWN0c1RvOgotICAgICAgICAxMjcuMC4wLjEKLSAgICBU
b3BGcmFtZVVuaXF1ZVJlZGlyZWN0c0Zyb206Ci0gICAgICAgIDEyNy4wLjAuMQotICAgIElzU2No
ZWR1bGVkRm9yQWxsQnV0Q29va2llRGF0YVJlbW92YWw6IE5vCi0gICAgU3ViZnJhbWVVbmRlclRv
cEZyYW1lRG9tYWluczoKLSAgICAgICAgMTI3LjAuMC4xCi0gICAgaXNQcmV2YWxlbnRSZXNvdXJj
ZTogWWVzCi0gICAgaXNWZXJ5UHJldmFsZW50UmVzb3VyY2U6IE5vCi0gICAgZGF0YVJlY29yZHNS
ZW1vdmVkOiAwCi0KLUlUUCBEYXRhOgotVGhpcmQgUGFydHkgUmVnaXN0cmFibGUgRG9tYWluOiBs
b2NhbGhvc3QKLSAgICB7eyBIYXMgYmVlbiBncmFudGVkIHN0b3JhZ2UgYWNjZXNzIHVuZGVyIDEy
Ny4wLjAuMTogMTsgSGFzIGJlZW4gc2VlbiB1bmRlciAxMjcuMC4wLjEgaW4gdGhlIGxhc3QgMjQg
aG91cnM6IDEgfSx9CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3N0b3JhZ2VB
Y2Nlc3MvYWdncmVnYXRlLXNvcnRlZC1kYXRhLXdpdGgtc3RvcmFnZS1hY2Nlc3MtZGF0YWJhc2Uu
aHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc3RvcmFnZUFjY2Vzcy9hZ2dyZWdhdGUtc29y
dGVkLWRhdGEtd2l0aC1zdG9yYWdlLWFjY2Vzcy1kYXRhYmFzZS5odG1sCmRlbGV0ZWQgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAyNDQ4YzljMDBkZWY2OTY0MzZmOTdiNzg1YzUyZGEwOGMwYWUzYWYy
Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRl
c3RzL2h0dHAvdGVzdHMvc3RvcmFnZUFjY2Vzcy9hZ2dyZWdhdGUtc29ydGVkLWRhdGEtd2l0aC1z
dG9yYWdlLWFjY2Vzcy1kYXRhYmFzZS5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsOTIgKzAsMCBA
QAotPCFET0NUWVBFIGh0bWw+Ci08aHRtbD4KLTxoZWFkPgotICAgIDxzY3JpcHQgc3JjPSIvanMt
dGVzdC1yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+Ci0gICAgPHNjcmlwdCBzcmM9Ii9q
cy10ZXN0LXJlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgotICAgIDxzY3JpcHQgc3Jj
PSIvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9yZXNvdXJjZXMvdXRpbC5qcyI+PC9zY3JpcHQ+Ci0g
ICAgPHNjcmlwdD4KLSAgICAgICAgZGVzY3JpcHRpb24oIkNoZWNrIGNvcnJlY3QgVUkgZGF0YSBn
ZXRzIHJlcG9ydGVkIHdpdGggc3RvcmFnZSBhY2Nlc3MgZ3JhbnRlZC4iKTsKLSAgICAgICAganNU
ZXN0SXNBc3luYyA9IHRydWU7Ci0gICAgICAgIHRlc3RSdW5uZXIuc2V0VXNlSVRQRGF0YWJhc2Uo
dHJ1ZSk7Ci0KLSAgICAgICAgY29uc3QgZmlyc3RQYXJ0eVVybCA9ICJodHRwOi8vMTI3LjAuMC4x
OjgwMDAiOwotICAgICAgICBjb25zdCB0aGlyZFBhcnR5VXJsID0gImh0dHA6Ly9sb2NhbGhvc3Q6
ODAwMCI7Ci0KLSAgICAgICAgZnVuY3Rpb24gcmVjZWl2ZU1lc3NhZ2UoZXZlbnQpIHsKLSAgICAg
ICAgICAgIGlmIChldmVudC5vcmlnaW4gPT09ICJodHRwOi8vbG9jYWxob3N0OjgwMDAiKSB7Ci0g
ICAgICAgICAgICAgICAgaWYgKGV2ZW50LmRhdGEuaW5kZXhPZigiUEFTUyAiKSAhPT0gLTEpIHsK
LSAgICAgICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNzUHJldmFsZW50UmVz
b3VyY2UodGhpcmRQYXJ0eVVybCwgdHJ1ZSwgZnVuY3Rpb24gKCkgewotICAgICAgICAgICAgICAg
ICAgICAgICAgdGVzdFJ1bm5lci5kdW1wUmVzb3VyY2VMb2FkU3RhdGlzdGljcygpOwotICAgICAg
ICAgICAgICAgICAgICAgICAgdGVzdFBhc3NlZChldmVudC5kYXRhLnJlcGxhY2UoIlBBU1MgIiwg
IiIpKTsKLSAgICAgICAgICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc1No
b3VsZEJsb2NrVGhpcmRQYXJ0eUNvb2tpZXMoZmFsc2UsIGZ1bmN0aW9uKCkgewotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIHNldEVuYWJsZUZlYXR1cmUoZmFsc2UsIGZpbmlzaEpTVGVzdCk7
Ci0gICAgICAgICAgICAgICAgICAgICAgICB9KTsKLSAgICAgICAgICAgICAgICAgICAgfSk7Ci0g
ICAgICAgICAgICAgICAgICAgIHJldHVybjsKLSAgICAgICAgICAgICAgICB9IGVsc2UKLSAgICAg
ICAgICAgICAgICAgICAgdGVzdEZhaWxlZChldmVudC5kYXRhLnJlcGxhY2UoIkZBSUwgIiwgIiIp
KTsKLSAgICAgICAgICAgIH0gZWxzZQotICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoIlJlY2Vp
dmVkIGEgbWVzc2FnZSBmcm9tIGFuIHVuZXhwZWN0ZWQgb3JpZ2luOiAiICsgZXZlbnQub3JpZ2lu
KTsKLSAgICAgICAgICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc1Nob3VsZEJsb2NrVGhpcmRQ
YXJ0eUNvb2tpZXMoZmFsc2UsIGZ1bmN0aW9uKCkgewotICAgICAgICAgICAgICAgIHNldEVuYWJs
ZUZlYXR1cmUoZmFsc2UsIGZpbmlzaEpTVGVzdCk7Ci0gICAgICAgICAgICB9KTsKLSAgICAgICAg
fQotCi0gICAgICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJtZXNzYWdlIiwgcmVjZWl2ZU1l
c3NhZ2UsIGZhbHNlKTsKLQotICAgICAgICBmdW5jdGlvbiBhY3RpdmF0ZUVsZW1lbnQoZWxlbWVu
dElkKSB7Ci0gICAgICAgICAgICB2YXIgZWxlbWVudCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KGVsZW1lbnRJZCk7Ci0gICAgICAgICAgICB2YXIgY2VudGVyWCA9IGVsZW1lbnQub2Zmc2V0TGVm
dCArIGVsZW1lbnQub2Zmc2V0V2lkdGggLyAyOwotICAgICAgICAgICAgdmFyIGNlbnRlclkgPSBl
bGVtZW50Lm9mZnNldFRvcCArIGVsZW1lbnQub2Zmc2V0SGVpZ2h0IC8gMjsKLSAgICAgICAgICAg
IFVJSGVscGVyLmFjdGl2YXRlQXQoY2VudGVyWCwgY2VudGVyWSkudGhlbigKLSAgICAgICAgICAg
ICAgICBmdW5jdGlvbiAoKSB7Ci0gICAgICAgICAgICAgICAgICAgIGlmICh3aW5kb3cuZXZlbnRT
ZW5kZXIpCi0gICAgICAgICAgICAgICAgICAgICAgICBldmVudFNlbmRlci5rZXlEb3duKCJlc2Nh
cGUiKTsKLSAgICAgICAgICAgICAgICAgICAgZWxzZSB7Ci0gICAgICAgICAgICAgICAgICAgICAg
ICB0ZXN0RmFpbGVkKCJObyBldmVudFNlbmRlci4iKTsKLSAgICAgICAgICAgICAgICAgICAgICAg
IHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc1Nob3VsZEJsb2NrVGhpcmRQYXJ0eUNvb2tpZXMoZmFs
c2UsIGZ1bmN0aW9uKCkgewotICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNldEVuYWJsZUZl
YXR1cmUoZmFsc2UsIGZpbmlzaEpTVGVzdCk7Ci0gICAgICAgICAgICAgICAgICAgICAgICB9KTsK
LSAgICAgICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAg
ICAgZnVuY3Rpb24gKCkgewotICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKCJQcm9taXNl
IHJlamVjdGVkLiIpOwotICAgICAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLnNldFN0YXRpc3Rp
Y3NTaG91bGRCbG9ja1RoaXJkUGFydHlDb29raWVzKGZhbHNlLCBmdW5jdGlvbigpIHsKLSAgICAg
ICAgICAgICAgICAgICAgICAgIHNldEVuYWJsZUZlYXR1cmUoZmFsc2UsIGZpbmlzaEpTVGVzdCk7
Ci0gICAgICAgICAgICAgICAgICAgIH0pOwotICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAg
ICk7Ci0gICAgICAgIH0KLQotICAgICAgICBmdW5jdGlvbiBydW5UZXN0KCkgewotICAgICAgICAg
ICAgaWYgKGRvY3VtZW50LmxvY2F0aW9uLmhhc2ggIT09ICIjY29va2llU2V0IikgewotICAgICAg
ICAgICAgICAgIHNldEVuYWJsZUZlYXR1cmUodHJ1ZSwgZnVuY3Rpb24oKSB7Ci0gICAgICAgICAg
ICAgICAgICAgIGRvY3VtZW50LmxvY2F0aW9uLmhyZWYgPSB0aGlyZFBhcnR5VXJsICsgIi9zdG9y
YWdlQWNjZXNzL3Jlc291cmNlcy9zZXQtY29va2llLnBocD9uYW1lPWZpcnN0UGFydHlDb29raWUm
dmFsdWU9dmFsdWUjIiArIGZpcnN0UGFydHlVcmwgKyAiL3N0b3JhZ2VBY2Nlc3MvYWdncmVnYXRl
LXNvcnRlZC1kYXRhLXdpdGgtc3RvcmFnZS1hY2Nlc3MtZGF0YWJhc2UuaHRtbCNjb29raWVTZXQi
OwotICAgICAgICAgICAgICAgIH0pOwotICAgICAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAg
ICAgICB0ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NTaG91bGRCbG9ja1RoaXJkUGFydHlDb29raWVz
KHRydWUsIGZ1bmN0aW9uKCkgewotICAgICAgICAgICAgICAgICAgICBpZiAodGVzdFJ1bm5lci5p
c1N0YXRpc3RpY3NQcmV2YWxlbnRSZXNvdXJjZSh0aGlyZFBhcnR5VXJsKSkKLSAgICAgICAgICAg
ICAgICAgICAgICAgIHRlc3RGYWlsZWQoIlRoaXJkLXBhcnR5IHNldCBhcyBwcmV2YWxlbnQgcmVz
b3VyY2UuIik7Ci0gICAgICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc0hh
c0hhZFVzZXJJbnRlcmFjdGlvbihmaXJzdFBhcnR5VXJsLCB0cnVlLCBmdW5jdGlvbigpIHsKLSAg
ICAgICAgICAgICAgICAgICAgICAgIGlmICghdGVzdFJ1bm5lci5pc1N0YXRpc3RpY3NIYXNIYWRV
c2VySW50ZXJhY3Rpb24oZmlyc3RQYXJ0eVVybCkpCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgdGVzdEZhaWxlZCgiRmlyc3QtcGFydHkgZGlkIG5vdCBnZXQgbG9nZ2VkIGZvciB1c2VyIGlu
dGVyYWN0aW9uLiIpOwotICAgICAgICAgICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5zZXRTdGF0
aXN0aWNzSGFzSGFkVXNlckludGVyYWN0aW9uKHRoaXJkUGFydHlVcmwsIHRydWUsIGZ1bmN0aW9u
KCkgewotICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICghdGVzdFJ1bm5lci5pc1N0YXRp
c3RpY3NIYXNIYWRVc2VySW50ZXJhY3Rpb24odGhpcmRQYXJ0eVVybCkpCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoIlRoaXJkLXBhcnR5IGRpZCBub3QgZ2V0IGxv
Z2dlZCBmb3IgdXNlciBpbnRlcmFjdGlvbi4iKTsKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBsZXQgaWZyYW1lRWxlbWVudCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImlmcmFtZSIpOwot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmcmFtZUVsZW1lbnQub25sb2FkID0gZnVuY3Rp
b24oKSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFjdGl2YXRlRWxlbWVudCgi
VGhlSWZyYW1lVGhhdFJlcXVlc3RzU3RvcmFnZUFjY2VzcyIpOwotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIH07Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWZyYW1lRWxlbWVudC5p
ZCA9ICJUaGVJZnJhbWVUaGF0UmVxdWVzdHNTdG9yYWdlQWNjZXNzIjsKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBpZnJhbWVFbGVtZW50LnNyYyA9ICJodHRwOi8vbG9jYWxob3N0OjgwMDAv
c3RvcmFnZUFjY2Vzcy9yZXNvdXJjZXMvcmVxdWVzdC1zdG9yYWdlLWFjY2Vzcy1pZnJhbWUuaHRt
bCN1c2VyU2hvdWxkR3JhbnRBY2Nlc3MsdXNlclNob3VsZEJlQ29uc3VsdGVkLHBvbGljeVNob3Vs
ZEdyYW50QWNjZXNzLGlzTm90U2FtZU9yaWdpbklmcmFtZSI7Ci0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChpZnJhbWVFbGVtZW50KTsKLSAgICAg
ICAgICAgICAgICAgICAgICAgIH0pOwotICAgICAgICAgICAgICAgICAgICB9KTsKLSAgICAgICAg
ICAgICAgICB9KTsKLSAgICAgICAgICAgIH0KLSAgICAgICAgfQotICAgIDwvc2NyaXB0PgotPC9o
ZWFkPgotPGJvZHkgb25sb2FkPSJydW5UZXN0KCkiPgotPC9ib2R5PgotPC9odG1sPgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zdG9yYWdlQWNjZXNzL2FnZ3JlZ2F0ZS1zb3J0
ZWQtZGF0YS13aXRoLXN0b3JhZ2UtYWNjZXNzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0
dHAvdGVzdHMvc3RvcmFnZUFjY2Vzcy9hZ2dyZWdhdGUtc29ydGVkLWRhdGEtd2l0aC1zdG9yYWdl
LWFjY2Vzcy1leHBlY3RlZC50eHQKaW5kZXggMDE1NGM2ZjQ2NzUzYzM2MzE3ODE1OTgzNDg3ODI3
NTNjNjFkNDBhNC4uOGViZDI2YjZlYzc2NTJmZGU2NTFkNzFkMzRmMjdkYWMyY2Q4MzU2OSAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zdG9yYWdlQWNjZXNzL2FnZ3JlZ2F0ZS1z
b3J0ZWQtZGF0YS13aXRoLXN0b3JhZ2UtYWNjZXNzLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRU
ZXN0cy9odHRwL3Rlc3RzL3N0b3JhZ2VBY2Nlc3MvYWdncmVnYXRlLXNvcnRlZC1kYXRhLXdpdGgt
c3RvcmFnZS1hY2Nlc3MtZXhwZWN0ZWQudHh0CkBAIC0xNCwzNSArMTQsMzEgQEAgUmVnaXN0cmFi
bGUgZG9tYWluOiAxMjcuMC4wLjEKICAgICBoYWRVc2VySW50ZXJhY3Rpb246IFllcwogICAgIG1v
c3RSZWNlbnRVc2VySW50ZXJhY3Rpb246IHdpdGhpbiAyNCBob3VycwogICAgIGdyYW5kZmF0aGVy
ZWQ6IE5vCi0gICAgdG9wRnJhbWVVbmlxdWVSZWRpcmVjdHNUbzoKKyAgICBUb3BGcmFtZVVuaXF1
ZVJlZGlyZWN0c1RvOgogICAgICAgICBsb2NhbGhvc3QKLSAgICB0b3BGcmFtZVVuaXF1ZVJlZGly
ZWN0c0Zyb206CisgICAgVG9wRnJhbWVVbmlxdWVSZWRpcmVjdHNGcm9tOgogICAgICAgICBsb2Nh
bGhvc3QKLSAgICBnb3RMaW5rRGVjb3JhdGlvbkZyb21QcmV2YWxlbnRSZXNvdXJjZTogTm8KKyAg
ICBJc1NjaGVkdWxlZEZvckFsbEJ1dENvb2tpZURhdGFSZW1vdmFsOiBObwogICAgIGlzUHJldmFs
ZW50UmVzb3VyY2U6IFllcwogICAgIGlzVmVyeVByZXZhbGVudFJlc291cmNlOiBObwogICAgIGRh
dGFSZWNvcmRzUmVtb3ZlZDogMAotICAgIGNhbnZhc1JlYWREYXRhOiBObwotCiBSZWdpc3RyYWJs
ZSBkb21haW46IGxvY2FsaG9zdAogICAgIGhhZFVzZXJJbnRlcmFjdGlvbjogWWVzCiAgICAgbW9z
dFJlY2VudFVzZXJJbnRlcmFjdGlvbjogd2l0aGluIDI0IGhvdXJzCiAgICAgZ3JhbmRmYXRoZXJl
ZDogTm8KLSAgICBzdG9yYWdlQWNjZXNzVW5kZXJUb3BGcmFtZURvbWFpbnM6CisgICAgU3RvcmFn
ZUFjY2Vzc1VuZGVyVG9wRnJhbWVEb21haW5zOgogICAgICAgICAxMjcuMC4wLjEKLSAgICB0b3BG
cmFtZVVuaXF1ZVJlZGlyZWN0c1RvOgorICAgIFRvcEZyYW1lVW5pcXVlUmVkaXJlY3RzVG86CiAg
ICAgICAgIDEyNy4wLjAuMQotICAgIHRvcEZyYW1lVW5pcXVlUmVkaXJlY3RzRnJvbToKKyAgICBU
b3BGcmFtZVVuaXF1ZVJlZGlyZWN0c0Zyb206CiAgICAgICAgIDEyNy4wLjAuMQotICAgIGdvdExp
bmtEZWNvcmF0aW9uRnJvbVByZXZhbGVudFJlc291cmNlOiBObwotICAgIHN1YmZyYW1lVW5kZXJU
b3BGcmFtZURvbWFpbnM6CisgICAgSXNTY2hlZHVsZWRGb3JBbGxCdXRDb29raWVEYXRhUmVtb3Zh
bDogTm8KKyAgICBTdWJmcmFtZVVuZGVyVG9wRnJhbWVEb21haW5zOgogICAgICAgICAxMjcuMC4w
LjEKICAgICBpc1ByZXZhbGVudFJlc291cmNlOiBZZXMKICAgICBpc1ZlcnlQcmV2YWxlbnRSZXNv
dXJjZTogTm8KICAgICBkYXRhUmVjb3Jkc1JlbW92ZWQ6IDAKLSAgICBjYW52YXNSZWFkRGF0YTog
Tm8KLQogCiBJVFAgRGF0YToKIFRoaXJkIFBhcnR5IFJlZ2lzdHJhYmxlIERvbWFpbjogbG9jYWxo
b3N0Ci0gICAge3sgSGFzIGJlZW4gZ3JhbnRlZCBzdG9yYWdlIGFjY2VzcyB1bmRlciAxMjcuMC4w
LjE6IDE7IEhhcyBiZWVuIHNlZW4gdW5kZXIgMTI3LjAuMC4xIGluIHRoZSBsYXN0IDI0IGhvdXJz
OiAwIH0sfQorICAgIHt7IEhhcyBiZWVuIGdyYW50ZWQgc3RvcmFnZSBhY2Nlc3MgdW5kZXIgMTI3
LjAuMC4xOiAxOyBIYXMgYmVlbiBzZWVuIHVuZGVyIDEyNy4wLjAuMSBpbiB0aGUgbGFzdCAyNCBo
b3VyczogMSB9LH0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc3RvcmFnZUFj
Y2Vzcy9kZW55LWR1ZS10by1uby1pbnRlcmFjdGlvbi11bmRlci1nZW5lcmFsLXRoaXJkLXBhcnR5
LWNvb2tpZS1ibG9ja2luZy1kYXRhYmFzZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL3N0b3JhZ2VBY2Nlc3MvZGVueS1kdWUtdG8tbm8taW50ZXJhY3Rpb24tdW5kZXItZ2Vu
ZXJhbC10aGlyZC1wYXJ0eS1jb29raWUtYmxvY2tpbmctZGF0YWJhc2UtZXhwZWN0ZWQudHh0CmRl
bGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA0MTEwYzdlN2QwNTQxNDg1NjljYzIwZTIyMjky
YzBmYTNiMmQzMzAyLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0t
LSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc3RvcmFnZUFjY2Vzcy9kZW55LWR1ZS10by1uby1p
bnRlcmFjdGlvbi11bmRlci1nZW5lcmFsLXRoaXJkLXBhcnR5LWNvb2tpZS1ibG9ja2luZy1kYXRh
YmFzZS1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSwxMCArMCwwIEBACi1UZXN0cyB0
aGF0IGEgY3Jvc3Mtc2l0ZSBpZnJhbWUgY2FuIG5vdCByZXF1ZXN0IHN0b3JhZ2UgYWNjZXNzIHVu
ZGVyIGdlbmVyYWwgdGhpcmQtcGFydHkgY29va2llIGJsb2NraW5nIGlmIGl0IGhhcyBub3QgcmVj
ZWl2ZWQgdXNlciBpbnRlcmFjdGlvbiBhcyBmaXJzdC1wYXJ0eS4KLQotT24gc3VjY2VzcywgeW91
IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1Qg
Q09NUExFVEUiLgotCi0KLVBBU1MgU3RvcmFnZSBhY2Nlc3Mgd2FzIGRlbmllZC4gZG9jdW1lbnQu
Y29va2llID09ICwgY29va2llcyBzZWVuIHNlcnZlci1zaWRlID09ICJObyBjb29raWVzIgotUEFT
UyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQotCi1URVNUIENPTVBMRVRFCi0KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc3RvcmFnZUFjY2Vzcy9kZW55LWR1ZS10by1uby1p
bnRlcmFjdGlvbi11bmRlci1nZW5lcmFsLXRoaXJkLXBhcnR5LWNvb2tpZS1ibG9ja2luZy1kYXRh
YmFzZS5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zdG9yYWdlQWNjZXNzL2RlbnktZHVl
LXRvLW5vLWludGVyYWN0aW9uLXVuZGVyLWdlbmVyYWwtdGhpcmQtcGFydHktY29va2llLWJsb2Nr
aW5nLWRhdGFiYXNlLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDI1ZTVjNDlm
ZjljZDc3ZmJlOTYwNWNmOTVmYjYzMDhhNzgzNGJhZjguLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zdG9yYWdlQWNj
ZXNzL2RlbnktZHVlLXRvLW5vLWludGVyYWN0aW9uLXVuZGVyLWdlbmVyYWwtdGhpcmQtcGFydHkt
Y29va2llLWJsb2NraW5nLWRhdGFiYXNlLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSw4MSArMCww
IEBACi08IURPQ1RZUEUgaHRtbD4KLTxodG1sPgotPGhlYWQ+Ci0gICAgPHNjcmlwdCBzcmM9Ii9q
cy10ZXN0LXJlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KLSAgICA8c2NyaXB0IHNyYz0i
L2pzLXRlc3QtcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Ci0gICAgPHNjcmlwdCBz
cmM9Ii9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3Jlc291cmNlcy91dGlsLmpzIj48L3NjcmlwdD4K
LSAgICA8c2NyaXB0PgotICAgICAgICBkZXNjcmlwdGlvbigiVGVzdHMgdGhhdCBhIGNyb3NzLXNp
dGUgaWZyYW1lIGNhbiBub3QgcmVxdWVzdCBzdG9yYWdlIGFjY2VzcyB1bmRlciBnZW5lcmFsIHRo
aXJkLXBhcnR5IGNvb2tpZSBibG9ja2luZyBpZiBpdCBoYXMgbm90IHJlY2VpdmVkIHVzZXIgaW50
ZXJhY3Rpb24gYXMgZmlyc3QtcGFydHkuIik7Ci0gICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVl
OwotICAgICAgICB0ZXN0UnVubmVyLnNldFVzZUlUUERhdGFiYXNlKHRydWUpOwotCi0gICAgICAg
IGNvbnN0IGZpcnN0UGFydHlVcmwgPSAiaHR0cDovLzEyNy4wLjAuMTo4MDAwIjsKLSAgICAgICAg
Y29uc3QgdGhpcmRQYXJ0eVVybCA9ICJodHRwOi8vbG9jYWxob3N0OjgwMDAiOwotCi0gICAgICAg
IGZ1bmN0aW9uIHJlY2VpdmVNZXNzYWdlKGV2ZW50KSB7Ci0gICAgICAgICAgICBpZiAoZXZlbnQu
b3JpZ2luID09PSAiaHR0cDovL2xvY2FsaG9zdDo4MDAwIikgewotICAgICAgICAgICAgICAgIGlm
IChldmVudC5kYXRhLmluZGV4T2YoIlBBU1MgIikgIT09IC0xKQotICAgICAgICAgICAgICAgICAg
ICB0ZXN0UGFzc2VkKGV2ZW50LmRhdGEucmVwbGFjZSgiUEFTUyAiLCAiIikpOwotICAgICAgICAg
ICAgICAgIGVsc2UKLSAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChldmVudC5kYXRhLnJl
cGxhY2UoIkZBSUwgIiwgIiIpKTsKLSAgICAgICAgICAgIH0gZWxzZQotICAgICAgICAgICAgICAg
IHRlc3RGYWlsZWQoIlJlY2VpdmVkIGEgbWVzc2FnZSBmcm9tIGFuIHVuZXhwZWN0ZWQgb3JpZ2lu
OiAiICsgZXZlbnQub3JpZ2luKTsKLSAgICAgICAgICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGlj
c1Nob3VsZEJsb2NrVGhpcmRQYXJ0eUNvb2tpZXMoZmFsc2UsIGZ1bmN0aW9uKCkgewotICAgICAg
ICAgICAgICAgIHNldEVuYWJsZUZlYXR1cmUoZmFsc2UsIGZpbmlzaEpTVGVzdCk7Ci0gICAgICAg
ICAgICB9KTsKLSAgICAgICAgfQotCi0gICAgICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJt
ZXNzYWdlIiwgcmVjZWl2ZU1lc3NhZ2UsIGZhbHNlKTsKLQotICAgICAgICBmdW5jdGlvbiBhY3Rp
dmF0ZUVsZW1lbnQoZWxlbWVudElkKSB7Ci0gICAgICAgICAgICB2YXIgZWxlbWVudCA9IGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKGVsZW1lbnRJZCk7Ci0gICAgICAgICAgICB2YXIgY2VudGVyWCA9
IGVsZW1lbnQub2Zmc2V0TGVmdCArIGVsZW1lbnQub2Zmc2V0V2lkdGggLyAyOwotICAgICAgICAg
ICAgdmFyIGNlbnRlclkgPSBlbGVtZW50Lm9mZnNldFRvcCArIGVsZW1lbnQub2Zmc2V0SGVpZ2h0
IC8gMjsKLSAgICAgICAgICAgIFVJSGVscGVyLmFjdGl2YXRlQXQoY2VudGVyWCwgY2VudGVyWSku
dGhlbigKLSAgICAgICAgICAgICAgICBmdW5jdGlvbiAoKSB7Ci0gICAgICAgICAgICAgICAgICAg
IGlmICh3aW5kb3cuZXZlbnRTZW5kZXIpCi0gICAgICAgICAgICAgICAgICAgICAgICBldmVudFNl
bmRlci5rZXlEb3duKCJlc2NhcGUiKTsKLSAgICAgICAgICAgICAgICAgICAgZWxzZSB7Ci0gICAg
ICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKCJObyBldmVudFNlbmRlci4iKTsKLSAgICAg
ICAgICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc1Nob3VsZEJsb2NrVGhp
cmRQYXJ0eUNvb2tpZXMoZmFsc2UsIGZ1bmN0aW9uKCkgewotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIHNldEVuYWJsZUZlYXR1cmUoZmFsc2UsIGZpbmlzaEpTVGVzdCk7Ci0gICAgICAgICAg
ICAgICAgICAgICAgICB9KTsKLSAgICAgICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAg
IH0sCi0gICAgICAgICAgICAgICAgZnVuY3Rpb24gKCkgewotICAgICAgICAgICAgICAgICAgICB0
ZXN0RmFpbGVkKCJQcm9taXNlIHJlamVjdGVkLiIpOwotICAgICAgICAgICAgICAgICAgICB0ZXN0
UnVubmVyLnNldFN0YXRpc3RpY3NTaG91bGRCbG9ja1RoaXJkUGFydHlDb29raWVzKGZhbHNlLCBm
dW5jdGlvbigpIHsKLSAgICAgICAgICAgICAgICAgICAgICAgIHNldEVuYWJsZUZlYXR1cmUoZmFs
c2UsIGZpbmlzaEpTVGVzdCk7Ci0gICAgICAgICAgICAgICAgICAgIH0pOwotICAgICAgICAgICAg
ICAgIH0KLSAgICAgICAgICAgICk7Ci0gICAgICAgIH0KLQotICAgICAgICBmdW5jdGlvbiBydW5U
ZXN0KCkgewotICAgICAgICAgICAgaWYgKGRvY3VtZW50LmxvY2F0aW9uLmhhc2ggIT09ICIjY29v
a2llU2V0IikgewotICAgICAgICAgICAgICAgIHNldEVuYWJsZUZlYXR1cmUodHJ1ZSwgZnVuY3Rp
b24oKSB7Ci0gICAgICAgICAgICAgICAgICAgIGRvY3VtZW50LmxvY2F0aW9uLmhyZWYgPSB0aGly
ZFBhcnR5VXJsICsgIi9zdG9yYWdlQWNjZXNzL3Jlc291cmNlcy9zZXQtY29va2llLnBocD9uYW1l
PWZpcnN0UGFydHlDb29raWUmdmFsdWU9dmFsdWUjIiArIGZpcnN0UGFydHlVcmwgKyAiL3N0b3Jh
Z2VBY2Nlc3MvZGVueS1kdWUtdG8tbm8taW50ZXJhY3Rpb24tdW5kZXItZ2VuZXJhbC10aGlyZC1w
YXJ0eS1jb29raWUtYmxvY2tpbmctZGF0YWJhc2UuaHRtbCNjb29raWVTZXQiOwotICAgICAgICAg
ICAgICAgIH0pOwotICAgICAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAgICAgICB0ZXN0UnVu
bmVyLnNldFN0YXRpc3RpY3NTaG91bGRCbG9ja1RoaXJkUGFydHlDb29raWVzKHRydWUsIGZ1bmN0
aW9uKCkgewotICAgICAgICAgICAgICAgICAgICBpZiAodGVzdFJ1bm5lci5pc1N0YXRpc3RpY3NQ
cmV2YWxlbnRSZXNvdXJjZSh0aGlyZFBhcnR5VXJsKSkKLSAgICAgICAgICAgICAgICAgICAgICAg
IHRlc3RGYWlsZWQoIlRoaXJkLXBhcnR5IHNldCBhcyBwcmV2YWxlbnQgcmVzb3VyY2UuIik7Ci0g
ICAgICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc0hhc0hhZFVzZXJJbnRl
cmFjdGlvbihmaXJzdFBhcnR5VXJsLCB0cnVlLCBmdW5jdGlvbigpIHsKLSAgICAgICAgICAgICAg
ICAgICAgICAgIGlmICghdGVzdFJ1bm5lci5pc1N0YXRpc3RpY3NIYXNIYWRVc2VySW50ZXJhY3Rp
b24oZmlyc3RQYXJ0eVVybCkpCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxl
ZCgiRmlyc3QtcGFydHkgZGlkIG5vdCBnZXQgbG9nZ2VkIGZvciB1c2VyIGludGVyYWN0aW9uLiIp
OwotICAgICAgICAgICAgICAgICAgICAgICAgbGV0IGlmcmFtZUVsZW1lbnQgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KCJpZnJhbWUiKTsKLSAgICAgICAgICAgICAgICAgICAgICAgIGlmcmFtZUVs
ZW1lbnQub25sb2FkID0gZnVuY3Rpb24oKSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
YWN0aXZhdGVFbGVtZW50KCJUaGVJZnJhbWVUaGF0UmVxdWVzdHNTdG9yYWdlQWNjZXNzIik7Ci0g
ICAgICAgICAgICAgICAgICAgICAgICB9OwotICAgICAgICAgICAgICAgICAgICAgICAgaWZyYW1l
RWxlbWVudC5pZCA9ICJUaGVJZnJhbWVUaGF0UmVxdWVzdHNTdG9yYWdlQWNjZXNzIjsKLSAgICAg
ICAgICAgICAgICAgICAgICAgIGlmcmFtZUVsZW1lbnQuc3JjID0gImh0dHA6Ly9sb2NhbGhvc3Q6
ODAwMC9zdG9yYWdlQWNjZXNzL3Jlc291cmNlcy9yZXF1ZXN0LXN0b3JhZ2UtYWNjZXNzLWlmcmFt
ZS5odG1sI3VzZXJTaG91bGRHcmFudEFjY2Vzcyx1c2VyU2hvdWxkTm90QmVDb25zdWx0ZWQscG9s
aWN5U2hvdWxkTm90R3JhbnRBY2Nlc3MsaXNOb3RTYW1lT3JpZ2luSWZyYW1lIjsKLSAgICAgICAg
ICAgICAgICAgICAgICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoaWZyYW1lRWxlbWVudCk7
Ci0gICAgICAgICAgICAgICAgICAgIH0pOwotICAgICAgICAgICAgICAgIH0pOwotICAgICAgICAg
ICAgfQotICAgICAgICB9Ci0gICAgPC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keSBvbmxvYWQ9InJ1
blRlc3QoKSI+Ci08L2JvZHk+Ci08L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zdG9yYWdlQWNjZXNzL2Rlbnktc3Rv
cmFnZS1hY2Nlc3MtdW5kZXItb3BlbmVyLWRhdGFiYXNlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2h0dHAvdGVzdHMvc3RvcmFnZUFjY2Vzcy9kZW55LXN0b3JhZ2UtYWNjZXNzLXVuZGVyLW9w
ZW5lci1kYXRhYmFzZS1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDM2NWZkNjgxYjZkNmNkYmY5Y2I0MTBiYmFkZmUyODE3ZmU1MTY4OGQuLjAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9z
dG9yYWdlQWNjZXNzL2Rlbnktc3RvcmFnZS1hY2Nlc3MtdW5kZXItb3BlbmVyLWRhdGFiYXNlLWV4
cGVjdGVkLnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDE3ICswLDAgQEAKLVRlc3RzIHRoYXQgYSBj
cm9zcy1vcmlnaW4gd2luZG93IGZyb20gYSBwcmV2YWxlbnQgZG9tYWluIHdpdGhvdXQgdXNlciBp
bnRlcmFjdGlvbiBpcyBkZW5pZWQgc3RvcmFnZSBhY2Nlc3MgdW5kZXIgaXRzIG9wZW5lci4KLQot
T24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9s
bG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgotCi0KLVBBU1MgQ29va2llIGNyZWF0ZWQuCi1QQVNT
IHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCi0KLVRFU1QgQ09NUExFVEUKLQotCi0tLS0tLS0t
LQotRnJhbWU6ICc8IS0tZnJhbWUxLS0+JwotLS0tLS0tLS0KLVNob3VsZCBub3QgcmVjZWl2ZSBm
aXJzdC1wYXJ0eSBjb29raWUuCi1EaWQgbm90IHJlY2VpdmUgY29va2llIG5hbWVkICdmaXJzdFBh
cnR5Q29va2llJy4KLUNsaWVudC1zaWRlIGRvY3VtZW50LmNvb2tpZToKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2h0dHAvdGVzdHMvc3RvcmFnZUFjY2Vzcy9kZW55LXN0b3JhZ2UtYWNjZXNzLXVu
ZGVyLW9wZW5lci1kYXRhYmFzZS5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zdG9yYWdl
QWNjZXNzL2Rlbnktc3RvcmFnZS1hY2Nlc3MtdW5kZXItb3BlbmVyLWRhdGFiYXNlLmh0bWwKZGVs
ZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDIwOTkyZGRkZDIzNTVjNGRkMTViNGRkMzg0YTRj
NGZkODE3OTI4NjIuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0t
IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zdG9yYWdlQWNjZXNzL2Rlbnktc3RvcmFnZS1hY2Nl
c3MtdW5kZXItb3BlbmVyLWRhdGFiYXNlLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSw2NSArMCww
IEBACi08IURPQ1RZUEUgaHRtbD4KLTxodG1sPgotPGhlYWQ+Ci0gICAgPHNjcmlwdCBzcmM9Ii9q
cy10ZXN0LXJlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KLSAgICA8c2NyaXB0IHNyYz0i
L3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvcmVzb3VyY2VzL3V0aWwuanMiPjwvc2NyaXB0PgotICAg
IDxzY3JpcHQ+Ci0gICAgICAgIGRlc2NyaXB0aW9uKCJUZXN0cyB0aGF0IGEgY3Jvc3Mtb3JpZ2lu
IHdpbmRvdyBmcm9tIGEgcHJldmFsZW50IGRvbWFpbiB3aXRob3V0IHVzZXIgaW50ZXJhY3Rpb24g
aXMgZGVuaWVkIHN0b3JhZ2UgYWNjZXNzIHVuZGVyIGl0cyBvcGVuZXIuIik7Ci0gICAgICAgIGpz
VGVzdElzQXN5bmMgPSB0cnVlOwotICAgICAgICB0ZXN0UnVubmVyLnNldFVzZUlUUERhdGFiYXNl
KHRydWUpOwotICAgICAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigibWVzc2FnZSIsIHJlY2Vp
dmVNZXNzYWdlLCBmYWxzZSk7Ci0KLSAgICAgICAgZnVuY3Rpb24gZmluaXNoVGVzdCgpIHsKLSAg
ICAgICAgICAgIHNldEVuYWJsZUZlYXR1cmUoZmFsc2UsIGZpbmlzaEpTVGVzdCk7Ci0gICAgICAg
IH0KLQotICAgICAgICBmdW5jdGlvbiBvcGVuSWZyYW1lKHVybCwgb25Mb2FkSGFuZGxlcikgewot
ICAgICAgICAgICAgY29uc3QgZWxlbWVudCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImlmcmFt
ZSIpOwotICAgICAgICAgICAgZWxlbWVudC5zcmMgPSB1cmw7Ci0gICAgICAgICAgICBpZiAob25M
b2FkSGFuZGxlcikgewotICAgICAgICAgICAgICAgIGVsZW1lbnQub25sb2FkID0gb25Mb2FkSGFu
ZGxlcjsKLSAgICAgICAgICAgIH0KLSAgICAgICAgICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hp
bGQoZWxlbWVudCk7Ci0gICAgICAgIH0KLQotICAgICAgICBmdW5jdGlvbiByZWNlaXZlTWVzc2Fn
ZShldmVudCkgewotICAgICAgICAgICAgaWYgKGV2ZW50Lm9yaWdpbiA9PT0gImh0dHA6Ly9sb2Nh
bGhvc3Q6ODAwMCIpIHsKLSAgICAgICAgICAgICAgICBpZiAoZXZlbnQuZGF0YS5pbmRleE9mKCJQ
QVNTIikgIT09IC0xKQotICAgICAgICAgICAgICAgICAgICB0ZXN0UGFzc2VkKGV2ZW50LmRhdGEu
cmVwbGFjZSgiUEFTUyAiLCAiIikpOwotICAgICAgICAgICAgICAgIGVsc2UKLSAgICAgICAgICAg
ICAgICAgICAgdGVzdEZhaWxlZChldmVudC5kYXRhKTsKLSAgICAgICAgICAgIH0gZWxzZQotICAg
ICAgICAgICAgICAgIHRlc3RGYWlsZWQoIlJlY2VpdmVkIGEgbWVzc2FnZSBmcm9tIGFuIHVuZXhw
ZWN0ZWQgb3JpZ2luOiAiICsgZXZlbnQub3JpZ2luKTsKLQotICAgICAgICAgICAgbmV3V2luLmNs
b3NlKCk7Ci0gICAgICAgICAgICBvcGVuSWZyYW1lKHRoaXJkUGFydHlCYXNlVXJsICsgc3ViUGF0
aFRvR2V0Q29va2llcyArICImbWVzc2FnZT1TaG91bGQgbm90IHJlY2VpdmUgZmlyc3QtcGFydHkg
Y29va2llLiIsIGZpbmlzaFRlc3QpOwotICAgICAgICB9Ci0KLSAgICAgICAgY29uc3QgdGhpcmRQ
YXJ0eU9yaWdpbiA9ICJodHRwOi8vbG9jYWxob3N0OjgwMDAiOwotICAgICAgICBjb25zdCByZXNv
dXJjZVBhdGggPSAiL3N0b3JhZ2VBY2Nlc3MvcmVzb3VyY2VzIjsKLSAgICAgICAgY29uc3QgdGhp
cmRQYXJ0eUJhc2VVcmwgPSB0aGlyZFBhcnR5T3JpZ2luICsgcmVzb3VyY2VQYXRoOwotICAgICAg
ICBjb25zdCBmaXJzdFBhcnR5Q29va2llTmFtZSA9ICJmaXJzdFBhcnR5Q29va2llIjsKLSAgICAg
ICAgY29uc3Qgc3ViUGF0aFRvR2V0Q29va2llcyA9ICIvZ2V0LWNvb2tpZXMucGhwP25hbWUxPSIg
KyBmaXJzdFBhcnR5Q29va2llTmFtZTsKLQotICAgICAgICBsZXQgbmV3V2luOwotICAgICAgICBz
ZXRFbmFibGVGZWF0dXJlKHRydWUsIGZ1bmN0aW9uKCkgewotICAgICAgICAgICAgdGVzdFJ1bm5l
ci5zZXRDYW5PcGVuV2luZG93cygpOwotCi0gICAgICAgICAgICB0ZXN0UnVubmVyLnNldFN0YXRp
c3RpY3NQcmV2YWxlbnRSZXNvdXJjZSh0aGlyZFBhcnR5T3JpZ2luLCB0cnVlLCBmdW5jdGlvbigp
IHsKLSAgICAgICAgICAgICAgICBpZiAoIXRlc3RSdW5uZXIuaXNTdGF0aXN0aWNzUHJldmFsZW50
UmVzb3VyY2UodGhpcmRQYXJ0eU9yaWdpbikpCi0gICAgICAgICAgICAgICAgICAgIHRlc3RGYWls
ZWQoIkhvc3QgZGlkIG5vdCBnZXQgc2V0IGFzIHByZXZhbGVudCByZXNvdXJjZS4iKTsKLSAgICAg
ICAgICAgICAgICBpZiAodGVzdFJ1bm5lci5pc1N0YXRpc3RpY3NIYXNIYWRVc2VySW50ZXJhY3Rp
b24odGhpcmRQYXJ0eU9yaWdpbikpCi0gICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoIkhv
c3QgbG9nZ2VkIGZvciB1c2VyIGludGVyYWN0aW9uLiIpOwotICAgICAgICAgICAgICAgIHRlc3RS
dW5uZXIuZHVtcENoaWxkRnJhbWVzQXNUZXh0KCk7Ci0gICAgICAgICAgICAgICAgdGVzdFJ1bm5l
ci5zZXRDbG9zZVJlbWFpbmluZ1dpbmRvd3NXaGVuQ29tcGxldGUodHJ1ZSk7Ci0KLSAgICAgICAg
ICAgICAgICB0ZXN0UnVubmVyLnN0YXRpc3RpY3NVcGRhdGVDb29raWVCbG9ja2luZyhmdW5jdGlv
biAoKSB7Ci0gICAgICAgICAgICAgICAgICAgIG5ld1dpbiA9IHdpbmRvdy5vcGVuKHRoaXJkUGFy
dHlPcmlnaW4gKyAiL3N0b3JhZ2VBY2Nlc3MvcmVzb3VyY2VzL3NldC1jb29raWUtYW5kLXJlcG9y
dC1iYWNrLmh0bWwiLCAidGVzdFdpbmRvdyIpOwotICAgICAgICAgICAgICAgIH0pOwotICAgICAg
ICAgICAgfSk7Ci0gICAgICAgIH0pOwotICAgIDwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHk+Ci08
L2JvZHk+Ci08L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3N0b3Jh
Z2VBY2Nlc3MvZGVueS1zdG9yYWdlLWFjY2Vzcy11bmRlci1vcGVuZXItaWYtYXV0by1kaXNtaXNz
LWRhdGFiYXNlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc3RvcmFnZUFj
Y2Vzcy9kZW55LXN0b3JhZ2UtYWNjZXNzLXVuZGVyLW9wZW5lci1pZi1hdXRvLWRpc21pc3MtZGF0
YWJhc2UtZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwN2Q3ZWE2
NGM5MmQ2NDg3Zjc1Y2MzYzRjNDQwNGY5NTBhOWM0Mzc4Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc3RvcmFnZUFj
Y2Vzcy9kZW55LXN0b3JhZ2UtYWNjZXNzLXVuZGVyLW9wZW5lci1pZi1hdXRvLWRpc21pc3MtZGF0
YWJhc2UtZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEsMTcgKzAsMCBAQAotVGVzdHMg
dGhhdCBhIGNyb3NzLW9yaWdpbiB3aW5kb3cgZnJvbSBhIHByZXZhbGVudCBkb21haW4gd2l0aCBu
b24tcmVjZW50IHVzZXIgaW50ZXJhY3Rpb24gZG9lc24ndCBnZXQgc3RvcmFnZSBhY2Nlc3MgdW5k
ZXIgaXRzIG9wZW5lciBpZiBpdCBqdXN0IGxvYWRzIGFuZCBhdXRvLWRpc21pc3Nlcy4KLQotT24g
c3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93
ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgotCi0KLVBBU1MgQ29va2llIGNyZWF0ZWQuCi1QQVNTIHN1
Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCi0KLVRFU1QgQ09NUExFVEUKLQotCi0tLS0tLS0tLQot
RnJhbWU6ICc8IS0tZnJhbWUxLS0+JwotLS0tLS0tLS0KLVNob3VsZCBub3QgcmVjZWl2ZSBmaXJz
dC1wYXJ0eSBjb29raWUuCi1EaWQgbm90IHJlY2VpdmUgY29va2llIG5hbWVkICdmaXJzdFBhcnR5
Q29va2llJy4KLUNsaWVudC1zaWRlIGRvY3VtZW50LmNvb2tpZToKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2h0dHAvdGVzdHMvc3RvcmFnZUFjY2Vzcy9kZW55LXN0b3JhZ2UtYWNjZXNzLXVuZGVy
LW9wZW5lci1pZi1hdXRvLWRpc21pc3MtZGF0YWJhc2UuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAv
dGVzdHMvc3RvcmFnZUFjY2Vzcy9kZW55LXN0b3JhZ2UtYWNjZXNzLXVuZGVyLW9wZW5lci1pZi1h
dXRvLWRpc21pc3MtZGF0YWJhc2UuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MTU2MjVlNjM1Zjk0OGNkYmJjNWIzNjAxZjYzNWM1ODA3NGNlZmExZS4uMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3N0
b3JhZ2VBY2Nlc3MvZGVueS1zdG9yYWdlLWFjY2Vzcy11bmRlci1vcGVuZXItaWYtYXV0by1kaXNt
aXNzLWRhdGFiYXNlLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSw3MCArMCwwIEBACi08IURPQ1RZ
UEUgaHRtbD4KLTxodG1sPgotPGhlYWQ+Ci0gICAgPHNjcmlwdCBzcmM9Ii9qcy10ZXN0LXJlc291
cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KLSAgICA8c2NyaXB0IHNyYz0iL3Jlc291cmNlTG9h
ZFN0YXRpc3RpY3MvcmVzb3VyY2VzL3V0aWwuanMiPjwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHkg
b25sb2FkPSJydW4oKSI+Ci08c2NyaXB0PgotICAgIGRlc2NyaXB0aW9uKCJUZXN0cyB0aGF0IGEg
Y3Jvc3Mtb3JpZ2luIHdpbmRvdyBmcm9tIGEgcHJldmFsZW50IGRvbWFpbiB3aXRoIG5vbi1yZWNl
bnQgdXNlciBpbnRlcmFjdGlvbiBkb2Vzbid0IGdldCBzdG9yYWdlIGFjY2VzcyB1bmRlciBpdHMg
b3BlbmVyIGlmIGl0IGp1c3QgbG9hZHMgYW5kIGF1dG8tZGlzbWlzc2VzLiIpOwotICAgIGpzVGVz
dElzQXN5bmMgPSB0cnVlOwotCi0gICAgZnVuY3Rpb24gZmluaXNoVGVzdCgpIHsKLSAgICAgICAg
c2V0RW5hYmxlRmVhdHVyZShmYWxzZSwgZmluaXNoSlNUZXN0KTsKLSAgICB9Ci0KLSAgICBmdW5j
dGlvbiBvcGVuSWZyYW1lKHVybCwgb25Mb2FkSGFuZGxlcikgewotICAgICAgICBjb25zdCBlbGVt
ZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiaWZyYW1lIik7Ci0gICAgICAgIGVsZW1lbnQu
c3JjID0gdXJsOwotICAgICAgICBpZiAob25Mb2FkSGFuZGxlcikgewotICAgICAgICAgICAgZWxl
bWVudC5vbmxvYWQgPSBvbkxvYWRIYW5kbGVyOwotICAgICAgICB9Ci0gICAgICAgIGRvY3VtZW50
LmJvZHkuYXBwZW5kQ2hpbGQoZWxlbWVudCk7Ci0gICAgfQotCi0gICAgZnVuY3Rpb24gcmVjZWl2
ZU1lc3NhZ2UoZXZlbnQpIHsKLSAgICAgICAgaWYgKGV2ZW50Lm9yaWdpbiA9PT0gImh0dHA6Ly9s
b2NhbGhvc3Q6ODAwMCIpIHsKLSAgICAgICAgICAgIGlmIChldmVudC5kYXRhLmluZGV4T2YoIlBB
U1MiKSAhPT0gLTEpCi0gICAgICAgICAgICAgICAgdGVzdFBhc3NlZChldmVudC5kYXRhLnJlcGxh
Y2UoIlBBU1MgIiwgIiIpKTsKLSAgICAgICAgICAgIGVsc2UKLSAgICAgICAgICAgICAgICB0ZXN0
RmFpbGVkKGV2ZW50LmRhdGEpOwotICAgICAgICB9IGVsc2UKLSAgICAgICAgICAgIHRlc3RGYWls
ZWQoIlJlY2VpdmVkIGEgbWVzc2FnZSBmcm9tIGFuIHVuZXhwZWN0ZWQgb3JpZ2luOiAiICsgZXZl
bnQub3JpZ2luKTsKLQotICAgICAgICBuZXdXaW4uY2xvc2UoKTsKLSAgICAgICAgb3BlbklmcmFt
ZSh0aGlyZFBhcnR5QmFzZVVybCArIHN1YlBhdGhUb0dldENvb2tpZXMgKyAiJm1lc3NhZ2U9U2hv
dWxkIG5vdCByZWNlaXZlIGZpcnN0LXBhcnR5IGNvb2tpZS4iLCBmaW5pc2hUZXN0KTsKLSAgICB9
Ci0KLSAgICBjb25zdCB0aGlyZFBhcnR5T3JpZ2luID0gImh0dHA6Ly9sb2NhbGhvc3Q6ODAwMCI7
Ci0gICAgY29uc3QgcmVzb3VyY2VQYXRoID0gIi9zdG9yYWdlQWNjZXNzL3Jlc291cmNlcyI7Ci0g
ICAgY29uc3QgdGhpcmRQYXJ0eUJhc2VVcmwgPSB0aGlyZFBhcnR5T3JpZ2luICsgcmVzb3VyY2VQ
YXRoOwotICAgIGNvbnN0IGZpcnN0UGFydHlDb29raWVOYW1lID0gImZpcnN0UGFydHlDb29raWUi
OwotICAgIGNvbnN0IHN1YlBhdGhUb0dldENvb2tpZXMgPSAiL2dldC1jb29raWVzLnBocD9uYW1l
MT0iICsgZmlyc3RQYXJ0eUNvb2tpZU5hbWU7Ci0gICAgdmFyIG5ld1dpbjsKLQotICAgIGZ1bmN0
aW9uIHJ1bigpIHsKLSAgICAgICAgdGVzdFJ1bm5lci5zZXRVc2VJVFBEYXRhYmFzZSh0cnVlKTsK
LSAgICAgICAgc2V0RW5hYmxlRmVhdHVyZSh0cnVlLCBmdW5jdGlvbigpIHsKLSAgICAgICAgICAg
IHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJtZXNzYWdlIiwgcmVjZWl2ZU1lc3NhZ2UsIGZhbHNl
KTsKLQotICAgICAgICAgICAgdGVzdFJ1bm5lci5zZXRDYW5PcGVuV2luZG93cygpOwotCi0gICAg
ICAgICAgICB0ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NQcmV2YWxlbnRSZXNvdXJjZSh0aGlyZFBh
cnR5T3JpZ2luLCB0cnVlLCBmdW5jdGlvbigpIHsKLSAgICAgICAgICAgICAgICBpZiAoIXRlc3RS
dW5uZXIuaXNTdGF0aXN0aWNzUHJldmFsZW50UmVzb3VyY2UodGhpcmRQYXJ0eU9yaWdpbikpCi0g
ICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoIkhvc3QgZGlkIG5vdCBnZXQgc2V0IGFzIHBy
ZXZhbGVudCByZXNvdXJjZS4iKTsKLSAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLnNldFN0YXRp
c3RpY3NIYXNIYWRVc2VySW50ZXJhY3Rpb24odGhpcmRQYXJ0eU9yaWdpbiwgdHJ1ZSwgZnVuY3Rp
b24oKSB7Ci0gICAgICAgICAgICAgICAgICAgIGlmICghdGVzdFJ1bm5lci5pc1N0YXRpc3RpY3NI
YXNIYWRVc2VySW50ZXJhY3Rpb24odGhpcmRQYXJ0eU9yaWdpbikpCi0gICAgICAgICAgICAgICAg
ICAgICAgICB0ZXN0RmFpbGVkKCJIb3N0IGRpZCBub3QgZ2V0IGxvZ2dlZCBmb3IgdXNlciBpbnRl
cmFjdGlvbi4iKTsKLSAgICAgICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5kdW1wQ2hpbGRGcmFt
ZXNBc1RleHQoKTsKLSAgICAgICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5zZXRDbG9zZVJlbWFp
bmluZ1dpbmRvd3NXaGVuQ29tcGxldGUodHJ1ZSk7Ci0KLSAgICAgICAgICAgICAgICAgICAgdGVz
dFJ1bm5lci5zdGF0aXN0aWNzVXBkYXRlQ29va2llQmxvY2tpbmcoZnVuY3Rpb24gKCkgewotICAg
ICAgICAgICAgICAgICAgICAgICAgbmV3V2luID0gd2luZG93Lm9wZW4odGhpcmRQYXJ0eU9yaWdp
biArICIvc3RvcmFnZUFjY2Vzcy9yZXNvdXJjZXMvc2V0LWNvb2tpZS1hbmQtcmVwb3J0LWJhY2su
aHRtbCIsICJ0ZXN0V2luZG93Iik7Ci0gICAgICAgICAgICAgICAgICAgIH0pOwotICAgICAgICAg
ICAgICAgIH0pOwotICAgICAgICAgICAgfSk7Ci0gICAgICAgIH0pOwotICAgIH0KLTwvc2NyaXB0
PgotPC9ib2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9z
dG9yYWdlQWNjZXNzL2Rlbnktd2l0aC1wcm9tcHQtZG9lcy1ub3QtcHJlc2VydmUtZ2VzdHVyZS1k
YXRhYmFzZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3N0b3JhZ2VBY2Nl
c3MvZGVueS13aXRoLXByb21wdC1kb2VzLW5vdC1wcmVzZXJ2ZS1nZXN0dXJlLWRhdGFiYXNlLWV4
cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggN2FkMjEwOGNiYjMzZjUw
ZThkZmU0YjI5ODUzMTk2MTc1NTM3ZWZkYS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3N0b3JhZ2VBY2Nlc3MvZGVu
eS13aXRoLXByb21wdC1kb2VzLW5vdC1wcmVzZXJ2ZS1nZXN0dXJlLWRhdGFiYXNlLWV4cGVjdGVk
LnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDEwICswLDAgQEAKLVRlc3RzIHRoYXQgYSBjcm9zcy1v
cmlnaW4gaWZyYW1lIGNhbiBub3Qgb3BlbiBhIHdpbmRvdyBpZiBzdG9yYWdlIGFjY2VzcyBpcyBl
eHBsaWNpdGx5IGRlbmllZC4KLQotT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9m
ICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgotCi0KLVBBU1Mg
V2luZG93IHdhcyBzdWNjZXNzZnVsbHkgb3BlbmVkIHdpdGggdXNlciBpbnRlcmFjdGlvbiBzaW5j
ZSB0aGUgdXNlciB3YXMgbmV2ZXIgY29uc3VsdGVkL3Byb21wdGVkLgotUEFTUyBzdWNjZXNzZnVs
bHlQYXJzZWQgaXMgdHJ1ZQotCi1URVNUIENPTVBMRVRFCi0KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2h0dHAvdGVzdHMvc3RvcmFnZUFjY2Vzcy9kZW55LXdpdGgtcHJvbXB0LWRvZXMtbm90LXBy
ZXNlcnZlLWdlc3R1cmUtZGF0YWJhc2UuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc3Rv
cmFnZUFjY2Vzcy9kZW55LXdpdGgtcHJvbXB0LWRvZXMtbm90LXByZXNlcnZlLWdlc3R1cmUtZGF0
YWJhc2UuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZmRlMDc2NmZiYjFkZTk2
ZWU2ZjQ2NmE5YzgzMWYyY2Q4Zjk0Yjg2ZS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3N0b3JhZ2VBY2Nlc3MvZGVu
eS13aXRoLXByb21wdC1kb2VzLW5vdC1wcmVzZXJ2ZS1nZXN0dXJlLWRhdGFiYXNlLmh0bWwKKysr
IC9kZXYvbnVsbApAQCAtMSw3NSArMCwwIEBACi08IURPQ1RZUEUgaHRtbD4KLTxodG1sPgotPGhl
YWQ+Ci0gICAgPHNjcmlwdCBzcmM9Ii9qcy10ZXN0LXJlc291cmNlcy9qcy10ZXN0LmpzIj48L3Nj
cmlwdD4KLSAgICA8c2NyaXB0IHNyYz0iL2pzLXRlc3QtcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+
PC9zY3JpcHQ+Ci0gICAgPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3Jlc291
cmNlcy91dGlsLmpzIj48L3NjcmlwdD4KLSAgICA8c2NyaXB0PgotICAgICAgICBkZXNjcmlwdGlv
bigiVGVzdHMgdGhhdCBhIGNyb3NzLW9yaWdpbiBpZnJhbWUgY2FuIG5vdCBvcGVuIGEgd2luZG93
IGlmIHN0b3JhZ2UgYWNjZXNzIGlzIGV4cGxpY2l0bHkgZGVuaWVkLiIpOwotICAgICAgICBqc1Rl
c3RJc0FzeW5jID0gdHJ1ZTsKLQotICAgICAgICBjb25zdCBob3N0VW5kZXJUZXN0ID0gImxvY2Fs
aG9zdDo4MDAwIjsKLSAgICAgICAgY29uc3Qgc3RhdGlzdGljc1VybCA9ICJodHRwOi8vIiArIGhv
c3RVbmRlclRlc3QgKyAiL3RlbXAiOwotCi0gICAgICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVy
KCJtZXNzYWdlIiwgcmVjZWl2ZU1lc3NhZ2UsIGZhbHNlKTsKLQotICAgICAgICBmdW5jdGlvbiBy
ZWNlaXZlTWVzc2FnZShldmVudCkgewotICAgICAgICAgICAgaWYgKGV2ZW50Lm9yaWdpbiA9PT0g
Imh0dHA6Ly9sb2NhbGhvc3Q6ODAwMCIpIHsKLSAgICAgICAgICAgICAgICBpZiAoZXZlbnQuZGF0
YS5pbmRleE9mKCJQQVNTICIpICE9PSAtMSkKLSAgICAgICAgICAgICAgICAgICAgdGVzdFBhc3Nl
ZChldmVudC5kYXRhLnJlcGxhY2UoIlBBU1MgIiwgIiIpKTsKLSAgICAgICAgICAgICAgICBlbHNl
Ci0gICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoZXZlbnQuZGF0YS5yZXBsYWNlKCJGQUlM
ICIsICIiKSk7Ci0gICAgICAgICAgICB9IGVsc2UKLSAgICAgICAgICAgICAgICB0ZXN0RmFpbGVk
KCJSZWNlaXZlZCBhIG1lc3NhZ2UgZnJvbSBhbiB1bmV4cGVjdGVkIG9yaWdpbjogIiArIGV2ZW50
Lm9yaWdpbik7Ci0gICAgICAgICAgICBzZXRFbmFibGVGZWF0dXJlKGZhbHNlLCBmaW5pc2hKU1Rl
c3QpOwotICAgICAgICB9Ci0KLSAgICAgICAgZnVuY3Rpb24gYWN0aXZhdGVFbGVtZW50KGVsZW1l
bnRJZCkgewotICAgICAgICAgICAgdmFyIGVsZW1lbnQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZChlbGVtZW50SWQpOwotICAgICAgICAgICAgdmFyIGNlbnRlclggPSBlbGVtZW50Lm9mZnNldExl
ZnQgKyBlbGVtZW50Lm9mZnNldFdpZHRoIC8gMjsKLSAgICAgICAgICAgIHZhciBjZW50ZXJZID0g
ZWxlbWVudC5vZmZzZXRUb3AgKyBlbGVtZW50Lm9mZnNldEhlaWdodCAvIDI7Ci0gICAgICAgICAg
ICBVSUhlbHBlci5hY3RpdmF0ZUF0KGNlbnRlclgsIGNlbnRlclkpLnRoZW4oCi0gICAgICAgICAg
ICAgICAgZnVuY3Rpb24gKCkgewotICAgICAgICAgICAgICAgICAgICBpZiAod2luZG93LmV2ZW50
U2VuZGVyKQotICAgICAgICAgICAgICAgICAgICAgICAgZXZlbnRTZW5kZXIua2V5RG93bigiZXNj
YXBlIik7Ci0gICAgICAgICAgICAgICAgICAgIGVsc2UgewotICAgICAgICAgICAgICAgICAgICAg
ICAgdGVzdEZhaWxlZCgiTm8gZXZlbnRTZW5kZXIuIik7Ci0gICAgICAgICAgICAgICAgICAgICAg
ICBzZXRFbmFibGVGZWF0dXJlKGZhbHNlLCBmaW5pc2hKU1Rlc3QpOwotICAgICAgICAgICAgICAg
ICAgICB9Ci0gICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICBmdW5jdGlvbiAoKSB7
Ci0gICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoIlByb21pc2UgcmVqZWN0ZWQuIik7Ci0g
ICAgICAgICAgICAgICAgICAgIHNldEVuYWJsZUZlYXR1cmUoZmFsc2UsIGZpbmlzaEpTVGVzdCk7
Ci0gICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgKTsKLSAgICAgICAgfQotCi0gICAgICAg
IGZ1bmN0aW9uIHJ1blRlc3QoKSB7Ci0gICAgICAgICAgICB0ZXN0UnVubmVyLnNldFVzZUlUUERh
dGFiYXNlKHRydWUpOwotICAgICAgICAgICAgc2V0RW5hYmxlRmVhdHVyZSh0cnVlLCBmdW5jdGlv
bigpIHsKLSAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLnNldENhbk9wZW5XaW5kb3dzKGZhbHNl
KTsKLSAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLnNldFBvcHVwQmxvY2tpbmdFbmFibGVkKHRy
dWUpOwotICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc1ByZXZhbGVudFJl
c291cmNlKHN0YXRpc3RpY3NVcmwsIHRydWUsIGZ1bmN0aW9uKCkgewotICAgICAgICAgICAgICAg
ICAgICBpZiAoIXRlc3RSdW5uZXIuaXNTdGF0aXN0aWNzUHJldmFsZW50UmVzb3VyY2Uoc3RhdGlz
dGljc1VybCkpCi0gICAgICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKCJIb3N0IGRpZCBu
b3QgZ2V0IHNldCBhcyBwcmV2YWxlbnQgcmVzb3VyY2UuIik7Ci0gICAgICAgICAgICAgICAgICAg
IHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc0hhc0hhZFVzZXJJbnRlcmFjdGlvbihzdGF0aXN0aWNz
VXJsLCB0cnVlLCBmdW5jdGlvbigpIHsKLSAgICAgICAgICAgICAgICAgICAgICAgIGlmICghdGVz
dFJ1bm5lci5pc1N0YXRpc3RpY3NIYXNIYWRVc2VySW50ZXJhY3Rpb24oc3RhdGlzdGljc1VybCkp
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZCgiSG9zdCBkaWQgbm90IGdl
dCBsb2dnZWQgZm9yIHVzZXIgaW50ZXJhY3Rpb24uIik7Ci0gICAgICAgICAgICAgICAgICAgICAg
ICB0ZXN0UnVubmVyLnN0YXRpc3RpY3NVcGRhdGVDb29raWVCbG9ja2luZyhmdW5jdGlvbigpIHsK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZXQgaWZyYW1lRWxlbWVudCA9IGRvY3VtZW50
LmNyZWF0ZUVsZW1lbnQoImlmcmFtZSIpOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlm
cmFtZUVsZW1lbnQub25sb2FkID0gZnVuY3Rpb24oKSB7Ci0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGFjdGl2YXRlRWxlbWVudCgiVGhlSWZyYW1lVGhhdFJlcXVlc3RzU3RvcmFnZUFj
Y2VzcyIpOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgIH07Ci0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgaWZyYW1lRWxlbWVudC5pZCA9ICJUaGVJZnJhbWVUaGF0UmVxdWVzdHNTdG9y
YWdlQWNjZXNzIjsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZnJhbWVFbGVtZW50LnNy
YyA9ICJodHRwOi8vbG9jYWxob3N0OjgwMDAvc3RvcmFnZUFjY2Vzcy9yZXNvdXJjZXMvcmVxdWVz
dC1zdG9yYWdlLWFjY2Vzcy1pZnJhbWUtYW5kLXBvcC13aW5kb3cuaHRtbCN1c2VyU2hvdWxkTm90
R3JhbnRBY2Nlc3MsdXNlclNob3VsZEJlQ29uc3VsdGVkLHBvbGljeVNob3VsZE5vdEdyYW50QWNj
ZXNzLGlzTm90U2FtZU9yaWdpbklmcmFtZSI7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChpZnJhbWVFbGVtZW50KTsKLSAgICAgICAgICAgICAg
ICAgICAgICAgIH0pOwotICAgICAgICAgICAgICAgICAgICB9KTsKLSAgICAgICAgICAgICAgICB9
KTsKLSAgICAgICAgICAgIH0pOwotICAgICAgICB9Ci0gICAgPC9zY3JpcHQ+Ci08L2hlYWQ+Ci08
Ym9keSBvbmxvYWQ9InJ1blRlc3QoKSI+Ci08L2JvZHk+Ci08L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL3N0b3JhZ2VBY2Nlc3MvZGVueS13aXRob3V0LXByb21wdC1w
cmVzZXJ2ZXMtZ2VzdHVyZS1kYXRhYmFzZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL3N0b3JhZ2VBY2Nlc3MvZGVueS13aXRob3V0LXByb21wdC1wcmVzZXJ2ZXMtZ2VzdHVy
ZS1kYXRhYmFzZS1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDQ0
YWZkZTM0ZDc0MjYzY2M1MmViZmNkNjQzNzExNjE2MDFmNjMyMTAuLjAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zdG9y
YWdlQWNjZXNzL2Rlbnktd2l0aG91dC1wcm9tcHQtcHJlc2VydmVzLWdlc3R1cmUtZGF0YWJhc2Ut
ZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEsMTAgKzAsMCBAQAotVGVzdHMgdGhhdCBh
IGNyb3NzLW9yaWdpbiBpZnJhbWUgY2FuIG9wZW4gYSB3aW5kb3cgaWYgc3RvcmFnZSBhY2Nlc3Mg
aXMgZGVuaWVkIHdpdGhvdXQgcHJvbXB0LgotCi1PbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBz
ZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCi0K
LQotUEFTUyBXaW5kb3cgd2FzIHN1Y2Nlc3NmdWxseSBvcGVuZWQgd2l0aCB1c2VyIGludGVyYWN0
aW9uIHNpbmNlIHRoZSB1c2VyIHdhcyBuZXZlciBjb25zdWx0ZWQvcHJvbXB0ZWQuCi1QQVNTIHN1
Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCi0KLVRFU1QgQ09NUExFVEUKLQpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zdG9yYWdlQWNjZXNzL2Rlbnktd2l0aG91dC1wcm9tcHQt
cHJlc2VydmVzLWdlc3R1cmUtZGF0YWJhc2UuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMv
c3RvcmFnZUFjY2Vzcy9kZW55LXdpdGhvdXQtcHJvbXB0LXByZXNlcnZlcy1nZXN0dXJlLWRhdGFi
YXNlLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDEwYzY5NTBjMWJiM2FiOTU0
YzFhNjZiNjk5NTYyODA5ZGVhYWMyMWUuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zdG9yYWdlQWNjZXNzL2Rlbnkt
d2l0aG91dC1wcm9tcHQtcHJlc2VydmVzLWdlc3R1cmUtZGF0YWJhc2UuaHRtbAorKysgL2Rldi9u
dWxsCkBAIC0xLDc1ICswLDAgQEAKLTwhRE9DVFlQRSBodG1sPgotPGh0bWw+Ci08aGVhZD4KLSAg
ICA8c2NyaXB0IHNyYz0iL2pzLXRlc3QtcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0Pgot
ICAgIDxzY3JpcHQgc3JjPSIvanMtdGVzdC1yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Njcmlw
dD4KLSAgICA8c2NyaXB0IHNyYz0iL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvcmVzb3VyY2VzL3V0
aWwuanMiPjwvc2NyaXB0PgotICAgIDxzY3JpcHQ+Ci0gICAgICAgIGRlc2NyaXB0aW9uKCJUZXN0
cyB0aGF0IGEgY3Jvc3Mtb3JpZ2luIGlmcmFtZSBjYW4gb3BlbiBhIHdpbmRvdyBpZiBzdG9yYWdl
IGFjY2VzcyBpcyBkZW5pZWQgd2l0aG91dCBwcm9tcHQuIik7Ci0gICAgICAgIGpzVGVzdElzQXN5
bmMgPSB0cnVlOwotCi0gICAgICAgIGNvbnN0IGhvc3RVbmRlclRlc3QgPSAibG9jYWxob3N0Ojgw
MDAiOwotICAgICAgICBjb25zdCBzdGF0aXN0aWNzVXJsID0gImh0dHA6Ly8iICsgaG9zdFVuZGVy
VGVzdCArICIvdGVtcCI7Ci0KLSAgICAgICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoIm1lc3Nh
Z2UiLCByZWNlaXZlTWVzc2FnZSwgZmFsc2UpOwotCi0gICAgICAgIGZ1bmN0aW9uIHJlY2VpdmVN
ZXNzYWdlKGV2ZW50KSB7Ci0gICAgICAgICAgICBpZiAoZXZlbnQub3JpZ2luID09PSAiaHR0cDov
L2xvY2FsaG9zdDo4MDAwIikgewotICAgICAgICAgICAgICAgIGlmIChldmVudC5kYXRhLmluZGV4
T2YoIlBBU1MgIikgIT09IC0xKQotICAgICAgICAgICAgICAgICAgICB0ZXN0UGFzc2VkKGV2ZW50
LmRhdGEucmVwbGFjZSgiUEFTUyAiLCAiIikpOwotICAgICAgICAgICAgICAgIGVsc2UKLSAgICAg
ICAgICAgICAgICAgICAgdGVzdEZhaWxlZChldmVudC5kYXRhLnJlcGxhY2UoIkZBSUwgIiwgIiIp
KTsKLSAgICAgICAgICAgIH0gZWxzZQotICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoIlJlY2Vp
dmVkIGEgbWVzc2FnZSBmcm9tIGFuIHVuZXhwZWN0ZWQgb3JpZ2luOiAiICsgZXZlbnQub3JpZ2lu
KTsKLSAgICAgICAgICAgIHNldEVuYWJsZUZlYXR1cmUoZmFsc2UsIGZpbmlzaEpTVGVzdCk7Ci0g
ICAgICAgIH0KLQotICAgICAgICBmdW5jdGlvbiBhY3RpdmF0ZUVsZW1lbnQoZWxlbWVudElkKSB7
Ci0gICAgICAgICAgICB2YXIgZWxlbWVudCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGVsZW1l
bnRJZCk7Ci0gICAgICAgICAgICB2YXIgY2VudGVyWCA9IGVsZW1lbnQub2Zmc2V0TGVmdCArIGVs
ZW1lbnQub2Zmc2V0V2lkdGggLyAyOwotICAgICAgICAgICAgdmFyIGNlbnRlclkgPSBlbGVtZW50
Lm9mZnNldFRvcCArIGVsZW1lbnQub2Zmc2V0SGVpZ2h0IC8gMjsKLSAgICAgICAgICAgIFVJSGVs
cGVyLmFjdGl2YXRlQXQoY2VudGVyWCwgY2VudGVyWSkudGhlbigKLSAgICAgICAgICAgICAgICBm
dW5jdGlvbiAoKSB7Ci0gICAgICAgICAgICAgICAgICAgIGlmICh3aW5kb3cuZXZlbnRTZW5kZXIp
Ci0gICAgICAgICAgICAgICAgICAgICAgICBldmVudFNlbmRlci5rZXlEb3duKCJlc2NhcGUiKTsK
LSAgICAgICAgICAgICAgICAgICAgZWxzZSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICB0ZXN0
RmFpbGVkKCJObyBldmVudFNlbmRlci4iKTsKLSAgICAgICAgICAgICAgICAgICAgICAgIHNldEVu
YWJsZUZlYXR1cmUoZmFsc2UsIGZpbmlzaEpTVGVzdCk7Ci0gICAgICAgICAgICAgICAgICAgIH0K
LSAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgIGZ1bmN0aW9uICgpIHsKLSAgICAg
ICAgICAgICAgICAgICAgdGVzdEZhaWxlZCgiUHJvbWlzZSByZWplY3RlZC4iKTsKLSAgICAgICAg
ICAgICAgICAgICAgc2V0RW5hYmxlRmVhdHVyZShmYWxzZSwgZmluaXNoSlNUZXN0KTsKLSAgICAg
ICAgICAgICAgICB9Ci0gICAgICAgICAgICApOwotICAgICAgICB9Ci0KLSAgICAgICAgZnVuY3Rp
b24gcnVuVGVzdCgpIHsKLSAgICAgICAgICAgIHRlc3RSdW5uZXIuc2V0VXNlSVRQRGF0YWJhc2Uo
dHJ1ZSk7Ci0gICAgICAgICAgICBzZXRFbmFibGVGZWF0dXJlKHRydWUsIGZ1bmN0aW9uKCkgewot
ICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIuc2V0Q2FuT3BlbldpbmRvd3MoZmFsc2UpOwotICAg
ICAgICAgICAgICAgIHRlc3RSdW5uZXIuc2V0UG9wdXBCbG9ja2luZ0VuYWJsZWQodHJ1ZSk7Ci0g
ICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNzUHJldmFsZW50UmVzb3VyY2Uo
c3RhdGlzdGljc1VybCwgdHJ1ZSwgZnVuY3Rpb24oKSB7Ci0gICAgICAgICAgICAgICAgICAgIGlm
ICghdGVzdFJ1bm5lci5pc1N0YXRpc3RpY3NQcmV2YWxlbnRSZXNvdXJjZShzdGF0aXN0aWNzVXJs
KSkKLSAgICAgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoIkhvc3QgZGlkIG5vdCBnZXQg
c2V0IGFzIHByZXZhbGVudCByZXNvdXJjZS4iKTsKLSAgICAgICAgICAgICAgICAgICAgdGVzdFJ1
bm5lci5zZXRTdGF0aXN0aWNzSGFzSGFkVXNlckludGVyYWN0aW9uKHN0YXRpc3RpY3NVcmwsIGZh
bHNlLCBmdW5jdGlvbigpIHsKLSAgICAgICAgICAgICAgICAgICAgICAgIGlmICh0ZXN0UnVubmVy
LmlzU3RhdGlzdGljc0hhc0hhZFVzZXJJbnRlcmFjdGlvbihzdGF0aXN0aWNzVXJsKSkKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKCJIb3N0IGRpZCBnZXQgbG9nZ2VkIGZv
ciB1c2VyIGludGVyYWN0aW9uLiIpOwotICAgICAgICAgICAgICAgICAgICAgICAgdGVzdFJ1bm5l
ci5zdGF0aXN0aWNzVXBkYXRlQ29va2llQmxvY2tpbmcoZnVuY3Rpb24oKSB7Ci0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgbGV0IGlmcmFtZUVsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KCJpZnJhbWUiKTsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZnJhbWVFbGVtZW50
Lm9ubG9hZCA9IGZ1bmN0aW9uKCkgewotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBh
Y3RpdmF0ZUVsZW1lbnQoIlRoZUlmcmFtZVRoYXRSZXF1ZXN0c1N0b3JhZ2VBY2Nlc3MiKTsKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICB9OwotICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGlmcmFtZUVsZW1lbnQuaWQgPSAiVGhlSWZyYW1lVGhhdFJlcXVlc3RzU3RvcmFnZUFjY2VzcyI7
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWZyYW1lRWxlbWVudC5zcmMgPSAiaHR0cDov
L2xvY2FsaG9zdDo4MDAwL3N0b3JhZ2VBY2Nlc3MvcmVzb3VyY2VzL3JlcXVlc3Qtc3RvcmFnZS1h
Y2Nlc3MtaWZyYW1lLWFuZC1wb3Atd2luZG93Lmh0bWwjdXNlclNob3VsZE5vdEdyYW50QWNjZXNz
LHVzZXJTaG91bGROb3RCZUNvbnN1bHRlZCxwb2xpY3lTaG91bGROb3RHcmFudEFjY2Vzcyxpc05v
dFNhbWVPcmlnaW5JZnJhbWUiOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRvY3VtZW50
LmJvZHkuYXBwZW5kQ2hpbGQoaWZyYW1lRWxlbWVudCk7Ci0gICAgICAgICAgICAgICAgICAgICAg
ICB9KTsKLSAgICAgICAgICAgICAgICAgICAgfSk7Ci0gICAgICAgICAgICAgICAgfSk7Ci0gICAg
ICAgICAgICB9KTsKLSAgICAgICAgfQotICAgIDwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHkgb25s
b2FkPSJydW5UZXN0KCkiPgotPC9ib2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy9zdG9yYWdlQWNjZXNzL2dyYW50LXN0b3JhZ2UtYWNjZXNzLXVuZGVyLW9w
ZW5lci1hdC1wb3B1cC11c2VyLWdlc3R1cmUtZGF0YWJhc2UtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy9zdG9yYWdlQWNjZXNzL2dyYW50LXN0b3JhZ2UtYWNjZXNzLXVuZGVy
LW9wZW5lci1hdC1wb3B1cC11c2VyLWdlc3R1cmUtZGF0YWJhc2UtZXhwZWN0ZWQudHh0CmRlbGV0
ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBjYzYyYmZjZGU5ODkwYmFiYmM5OThhYTA0OWVmOGQ5
OGY5MDgyMjFmLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBh
L0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc3RvcmFnZUFjY2Vzcy9ncmFudC1zdG9yYWdlLWFjY2Vz
cy11bmRlci1vcGVuZXItYXQtcG9wdXAtdXNlci1nZXN0dXJlLWRhdGFiYXNlLWV4cGVjdGVkLnR4
dAorKysgL2Rldi9udWxsCkBAIC0xLDE3ICswLDAgQEAKLVRlc3RzIHRoYXQgYSBjcm9zcy1vcmln
aW4gd2luZG93IGZyb20gYSBwcmV2YWxlbnQgZG9tYWluIHdpdGggcHJldmlvdXMgdXNlciBpbnRl
cmFjdGlvbiBnZXRzIHN0b3JhZ2UgYWNjZXNzIHVuZGVyIGl0cyBvcGVuZXIgaWYgaXQgZ2V0cyB1
c2VyIGludGVyYWN0aW9uLgotCi1PbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2Yg
IlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCi0KLQotUEFTUyBD
b29raWUgY3JlYXRlZC4KLVBBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKLQotVEVTVCBD
T01QTEVURQotCi0KLS0tLS0tLS0tCi1GcmFtZTogJzwhLS1mcmFtZTEtLT4nCi0tLS0tLS0tLQot
U2hvdWxkIHJlY2VpdmUgZmlyc3QtcGFydHkgY29va2llLgotUmVjZWl2ZWQgY29va2llIG5hbWVk
ICdmaXJzdFBhcnR5Q29va2llJy4KLUNsaWVudC1zaWRlIGRvY3VtZW50LmNvb2tpZTogZmlyc3RQ
YXJ0eUNvb2tpZT12YWx1ZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zdG9y
YWdlQWNjZXNzL2dyYW50LXN0b3JhZ2UtYWNjZXNzLXVuZGVyLW9wZW5lci1hdC1wb3B1cC11c2Vy
LWdlc3R1cmUtZGF0YWJhc2UuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc3RvcmFnZUFj
Y2Vzcy9ncmFudC1zdG9yYWdlLWFjY2Vzcy11bmRlci1vcGVuZXItYXQtcG9wdXAtdXNlci1nZXN0
dXJlLWRhdGFiYXNlLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDQzNDg1ZjUw
N2U2MThmMWE3MjkzNzY1M2MxOGQ1NDczYTZjYjgyMDQuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zdG9yYWdlQWNj
ZXNzL2dyYW50LXN0b3JhZ2UtYWNjZXNzLXVuZGVyLW9wZW5lci1hdC1wb3B1cC11c2VyLWdlc3R1
cmUtZGF0YWJhc2UuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDcwICswLDAgQEAKLTwhRE9DVFlQ
RSBodG1sPgotPGh0bWw+Ci08aGVhZD4KLSAgICA8c2NyaXB0IHNyYz0iL2pzLXRlc3QtcmVzb3Vy
Y2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgotICAgIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VMb2Fk
U3RhdGlzdGljcy9yZXNvdXJjZXMvdXRpbC5qcyI+PC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keSBv
bmxvYWQ9InJ1bigpIj4KLTxzY3JpcHQ+Ci0gICAgZGVzY3JpcHRpb24oIlRlc3RzIHRoYXQgYSBj
cm9zcy1vcmlnaW4gd2luZG93IGZyb20gYSBwcmV2YWxlbnQgZG9tYWluIHdpdGggcHJldmlvdXMg
dXNlciBpbnRlcmFjdGlvbiBnZXRzIHN0b3JhZ2UgYWNjZXNzIHVuZGVyIGl0cyBvcGVuZXIgaWYg
aXQgZ2V0cyB1c2VyIGludGVyYWN0aW9uLiIpOwotICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOwot
Ci0gICAgZnVuY3Rpb24gZmluaXNoVGVzdCgpIHsKLSAgICAgICAgc2V0RW5hYmxlRmVhdHVyZShm
YWxzZSwgZmluaXNoSlNUZXN0KTsKLSAgICB9Ci0KLSAgICBmdW5jdGlvbiBvcGVuSWZyYW1lKHVy
bCwgb25Mb2FkSGFuZGxlcikgewotICAgICAgICBjb25zdCBlbGVtZW50ID0gZG9jdW1lbnQuY3Jl
YXRlRWxlbWVudCgiaWZyYW1lIik7Ci0gICAgICAgIGVsZW1lbnQuc3JjID0gdXJsOwotICAgICAg
ICBpZiAob25Mb2FkSGFuZGxlcikgewotICAgICAgICAgICAgZWxlbWVudC5vbmxvYWQgPSBvbkxv
YWRIYW5kbGVyOwotICAgICAgICB9Ci0gICAgICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQo
ZWxlbWVudCk7Ci0gICAgfQotCi0gICAgZnVuY3Rpb24gcmVjZWl2ZU1lc3NhZ2UoZXZlbnQpIHsK
LSAgICAgICAgaWYgKGV2ZW50Lm9yaWdpbiA9PT0gImh0dHA6Ly9sb2NhbGhvc3Q6ODAwMCIpIHsK
LSAgICAgICAgICAgIGlmIChldmVudC5kYXRhLmluZGV4T2YoIlBBU1MiKSAhPT0gLTEpCi0gICAg
ICAgICAgICAgICAgdGVzdFBhc3NlZChldmVudC5kYXRhLnJlcGxhY2UoIlBBU1MgIiwgIiIpKTsK
LSAgICAgICAgICAgIGVsc2UKLSAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGV2ZW50LmRhdGEp
OwotICAgICAgICB9IGVsc2UKLSAgICAgICAgICAgIHRlc3RGYWlsZWQoIlJlY2VpdmVkIGEgbWVz
c2FnZSBmcm9tIGFuIHVuZXhwZWN0ZWQgb3JpZ2luOiAiICsgZXZlbnQub3JpZ2luKTsKLQotICAg
ICAgICBuZXdXaW4uY2xvc2UoKTsKLSAgICAgICAgb3BlbklmcmFtZSh0aGlyZFBhcnR5QmFzZVVy
bCArIHN1YlBhdGhUb0dldENvb2tpZXMgKyAiJm1lc3NhZ2U9U2hvdWxkIHJlY2VpdmUgZmlyc3Qt
cGFydHkgY29va2llLiIsIGZpbmlzaFRlc3QpOwotICAgIH0KLQotICAgIGNvbnN0IHRoaXJkUGFy
dHlPcmlnaW4gPSAiaHR0cDovL2xvY2FsaG9zdDo4MDAwIjsKLSAgICBjb25zdCByZXNvdXJjZVBh
dGggPSAiL3N0b3JhZ2VBY2Nlc3MvcmVzb3VyY2VzIjsKLSAgICBjb25zdCB0aGlyZFBhcnR5QmFz
ZVVybCA9IHRoaXJkUGFydHlPcmlnaW4gKyByZXNvdXJjZVBhdGg7Ci0gICAgY29uc3QgZmlyc3RQ
YXJ0eUNvb2tpZU5hbWUgPSAiZmlyc3RQYXJ0eUNvb2tpZSI7Ci0gICAgY29uc3Qgc3ViUGF0aFRv
R2V0Q29va2llcyA9ICIvZ2V0LWNvb2tpZXMucGhwP25hbWUxPSIgKyBmaXJzdFBhcnR5Q29va2ll
TmFtZTsKLSAgICB2YXIgbmV3V2luOwotCi0gICAgZnVuY3Rpb24gcnVuKCkgewotICAgICAgICB0
ZXN0UnVubmVyLnNldFVzZUlUUERhdGFiYXNlKHRydWUpOwotICAgICAgICBzZXRFbmFibGVGZWF0
dXJlKHRydWUsIGZ1bmN0aW9uKCkgewotICAgICAgICAgICAgd2luZG93LmFkZEV2ZW50TGlzdGVu
ZXIoIm1lc3NhZ2UiLCByZWNlaXZlTWVzc2FnZSwgZmFsc2UpOwotCi0gICAgICAgICAgICB0ZXN0
UnVubmVyLnNldENhbk9wZW5XaW5kb3dzKCk7Ci0KLSAgICAgICAgICAgIHRlc3RSdW5uZXIuc2V0
U3RhdGlzdGljc1ByZXZhbGVudFJlc291cmNlKHRoaXJkUGFydHlPcmlnaW4sIHRydWUsIGZ1bmN0
aW9uKCkgewotICAgICAgICAgICAgICAgIGlmICghdGVzdFJ1bm5lci5pc1N0YXRpc3RpY3NQcmV2
YWxlbnRSZXNvdXJjZSh0aGlyZFBhcnR5T3JpZ2luKSkKLSAgICAgICAgICAgICAgICAgICAgdGVz
dEZhaWxlZCgiSG9zdCBkaWQgbm90IGdldCBzZXQgYXMgcHJldmFsZW50IHJlc291cmNlLiIpOwot
ICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc0hhc0hhZFVzZXJJbnRlcmFj
dGlvbih0aGlyZFBhcnR5T3JpZ2luLCB0cnVlLCBmdW5jdGlvbigpIHsKLSAgICAgICAgICAgICAg
ICAgICAgaWYgKCF0ZXN0UnVubmVyLmlzU3RhdGlzdGljc0hhc0hhZFVzZXJJbnRlcmFjdGlvbih0
aGlyZFBhcnR5T3JpZ2luKSkKLSAgICAgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoIkhv
c3QgZGlkIG5vdCBnZXQgbG9nZ2VkIGZvciB1c2VyIGludGVyYWN0aW9uLiIpOwotICAgICAgICAg
ICAgICAgICAgICB0ZXN0UnVubmVyLmR1bXBDaGlsZEZyYW1lc0FzVGV4dCgpOwotICAgICAgICAg
ICAgICAgICAgICB0ZXN0UnVubmVyLnNldENsb3NlUmVtYWluaW5nV2luZG93c1doZW5Db21wbGV0
ZSh0cnVlKTsKLQotICAgICAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLnN0YXRpc3RpY3NVcGRh
dGVDb29raWVCbG9ja2luZyhmdW5jdGlvbiAoKSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICBu
ZXdXaW4gPSB3aW5kb3cub3Blbih0aGlyZFBhcnR5T3JpZ2luICsgIi9zdG9yYWdlQWNjZXNzL3Jl
c291cmNlcy9wcm9kdWNlLXVzZXItZ2VzdHVyZS1zZXQtY29va2llLWFuZC1yZXBvcnQtYmFjay5o
dG1sIiwgInRlc3RXaW5kb3ciKTsKLSAgICAgICAgICAgICAgICAgICAgfSk7Ci0gICAgICAgICAg
ICAgICAgfSk7Ci0gICAgICAgICAgICB9KTsKLSAgICAgICAgfSk7Ci0gICAgfQotPC9zY3JpcHQ+
Ci08L2JvZHk+Ci08L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3N0
b3JhZ2VBY2Nlc3MvZ3JhbnQtd2l0aC1wcm9tcHQtcHJlc2VydmVzLWdlc3R1cmUtZGF0YWJhc2Ut
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zdG9yYWdlQWNjZXNzL2dyYW50
LXdpdGgtcHJvbXB0LXByZXNlcnZlcy1nZXN0dXJlLWRhdGFiYXNlLWV4cGVjdGVkLnR4dApkZWxl
dGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZDdlYzRjZjdmNzg0MWQ1N2M2OGRkYjVmYTY2Y2I1
NjM0YjMxZGEzYi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0g
YS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3N0b3JhZ2VBY2Nlc3MvZ3JhbnQtd2l0aC1wcm9tcHQt
cHJlc2VydmVzLWdlc3R1cmUtZGF0YWJhc2UtZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAg
LTEsMTAgKzAsMCBAQAotVGVzdHMgdGhhdCBjcm9zcy1vcmlnaW4gaWZyYW1lIGNhbiBkaXNwbGF5
IGEgd2luZG93IGlmIHN0b3JhZ2UgYWNjZXNzIGlzIGdyYW50ZWQuCi0KLU9uIHN1Y2Nlc3MsIHlv
dSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNU
IENPTVBMRVRFIi4KLQotCi1QQVNTIFdpbmRvdyB3YXMgc3VjY2Vzc2Z1bGx5IG9wZW5lZCB3aXRo
IHVzZXIgaW50ZXJhY3Rpb24uCi1QQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCi0KLVRF
U1QgQ09NUExFVEUKLQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zdG9yYWdl
QWNjZXNzL2dyYW50LXdpdGgtcHJvbXB0LXByZXNlcnZlcy1nZXN0dXJlLWRhdGFiYXNlLmh0bWwg
Yi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3N0b3JhZ2VBY2Nlc3MvZ3JhbnQtd2l0aC1wcm9tcHQt
cHJlc2VydmVzLWdlc3R1cmUtZGF0YWJhc2UuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggNjMyNTE4NjM0NTIyZjU5YTMwZWFiZTVkYmRjOTcyYTZlYmQyMjkxYy4uMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rl
c3RzL3N0b3JhZ2VBY2Nlc3MvZ3JhbnQtd2l0aC1wcm9tcHQtcHJlc2VydmVzLWdlc3R1cmUtZGF0
YWJhc2UuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDc1ICswLDAgQEAKLTwhRE9DVFlQRSBodG1s
PgotPGh0bWw+Ci08aGVhZD4KLSAgICA8c2NyaXB0IHNyYz0iL2pzLXRlc3QtcmVzb3VyY2VzL2pz
LXRlc3QuanMiPjwvc2NyaXB0PgotICAgIDxzY3JpcHQgc3JjPSIvanMtdGVzdC1yZXNvdXJjZXMv
dWktaGVscGVyLmpzIj48L3NjcmlwdD4KLSAgICA8c2NyaXB0IHNyYz0iL3Jlc291cmNlTG9hZFN0
YXRpc3RpY3MvcmVzb3VyY2VzL3V0aWwuanMiPjwvc2NyaXB0PgotICAgIDxzY3JpcHQ+Ci0gICAg
ICAgIGRlc2NyaXB0aW9uKCJUZXN0cyB0aGF0IGNyb3NzLW9yaWdpbiBpZnJhbWUgY2FuIGRpc3Bs
YXkgYSB3aW5kb3cgaWYgc3RvcmFnZSBhY2Nlc3MgaXMgZ3JhbnRlZC4iKTsKLSAgICAgICAganNU
ZXN0SXNBc3luYyA9IHRydWU7Ci0KLSAgICAgICAgY29uc3QgaG9zdFVuZGVyVGVzdCA9ICJsb2Nh
bGhvc3Q6ODAwMCI7Ci0gICAgICAgIGNvbnN0IHN0YXRpc3RpY3NVcmwgPSAiaHR0cDovLyIgKyBo
b3N0VW5kZXJUZXN0ICsgIi90ZW1wIjsKLQotICAgICAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5l
cigibWVzc2FnZSIsIHJlY2VpdmVNZXNzYWdlLCBmYWxzZSk7Ci0KLSAgICAgICAgZnVuY3Rpb24g
cmVjZWl2ZU1lc3NhZ2UoZXZlbnQpIHsKLSAgICAgICAgICAgIGlmIChldmVudC5vcmlnaW4gPT09
ICJodHRwOi8vbG9jYWxob3N0OjgwMDAiKSB7Ci0gICAgICAgICAgICAgICAgaWYgKGV2ZW50LmRh
dGEuaW5kZXhPZigiUEFTUyAiKSAhPT0gLTEpCi0gICAgICAgICAgICAgICAgICAgIHRlc3RQYXNz
ZWQoZXZlbnQuZGF0YS5yZXBsYWNlKCJQQVNTICIsICIiKSk7Ci0gICAgICAgICAgICAgICAgZWxz
ZQotICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGV2ZW50LmRhdGEucmVwbGFjZSgiRkFJ
TCAiLCAiIikpOwotICAgICAgICAgICAgfSBlbHNlCi0gICAgICAgICAgICAgICAgdGVzdEZhaWxl
ZCgiUmVjZWl2ZWQgYSBtZXNzYWdlIGZyb20gYW4gdW5leHBlY3RlZCBvcmlnaW46ICIgKyBldmVu
dC5vcmlnaW4pOwotICAgICAgICAgICAgc2V0RW5hYmxlRmVhdHVyZShmYWxzZSwgZmluaXNoSlNU
ZXN0KTsKLSAgICAgICAgfQotCi0gICAgICAgIGZ1bmN0aW9uIGFjdGl2YXRlRWxlbWVudChlbGVt
ZW50SWQpIHsKLSAgICAgICAgICAgIHZhciBlbGVtZW50ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoZWxlbWVudElkKTsKLSAgICAgICAgICAgIHZhciBjZW50ZXJYID0gZWxlbWVudC5vZmZzZXRM
ZWZ0ICsgZWxlbWVudC5vZmZzZXRXaWR0aCAvIDI7Ci0gICAgICAgICAgICB2YXIgY2VudGVyWSA9
IGVsZW1lbnQub2Zmc2V0VG9wICsgZWxlbWVudC5vZmZzZXRIZWlnaHQgLyAyOwotICAgICAgICAg
ICAgVUlIZWxwZXIuYWN0aXZhdGVBdChjZW50ZXJYLCBjZW50ZXJZKS50aGVuKAotICAgICAgICAg
ICAgICAgIGZ1bmN0aW9uICgpIHsKLSAgICAgICAgICAgICAgICAgICAgaWYgKHdpbmRvdy5ldmVu
dFNlbmRlcikKLSAgICAgICAgICAgICAgICAgICAgICAgIGV2ZW50U2VuZGVyLmtleURvd24oImVz
Y2FwZSIpOwotICAgICAgICAgICAgICAgICAgICBlbHNlIHsKLSAgICAgICAgICAgICAgICAgICAg
ICAgIHRlc3RGYWlsZWQoIk5vIGV2ZW50U2VuZGVyLiIpOwotICAgICAgICAgICAgICAgICAgICAg
ICAgc2V0RW5hYmxlRmVhdHVyZShmYWxzZSwgZmluaXNoSlNUZXN0KTsKLSAgICAgICAgICAgICAg
ICAgICAgfQotICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgZnVuY3Rpb24gKCkg
ewotICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKCJQcm9taXNlIHJlamVjdGVkLiIpOwot
ICAgICAgICAgICAgICAgICAgICBzZXRFbmFibGVGZWF0dXJlKGZhbHNlLCBmaW5pc2hKU1Rlc3Qp
OwotICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICk7Ci0gICAgICAgIH0KLQotICAgICAg
ICBmdW5jdGlvbiBydW5UZXN0KCkgewotICAgICAgICAgICAgdGVzdFJ1bm5lci5zZXRVc2VJVFBE
YXRhYmFzZSh0cnVlKTsKLSAgICAgICAgICAgIHNldEVuYWJsZUZlYXR1cmUodHJ1ZSwgZnVuY3Rp
b24oKSB7Ci0gICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5zZXRDYW5PcGVuV2luZG93cyhmYWxz
ZSk7Ci0gICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5zZXRQb3B1cEJsb2NraW5nRW5hYmxlZCh0
cnVlKTsKLSAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NQcmV2YWxlbnRS
ZXNvdXJjZShzdGF0aXN0aWNzVXJsLCB0cnVlLCBmdW5jdGlvbigpIHsKLSAgICAgICAgICAgICAg
ICAgICAgaWYgKCF0ZXN0UnVubmVyLmlzU3RhdGlzdGljc1ByZXZhbGVudFJlc291cmNlKHN0YXRp
c3RpY3NVcmwpKQotICAgICAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZCgiSG9zdCBkaWQg
bm90IGdldCBzZXQgYXMgcHJldmFsZW50IHJlc291cmNlLiIpOwotICAgICAgICAgICAgICAgICAg
ICB0ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NIYXNIYWRVc2VySW50ZXJhY3Rpb24oc3RhdGlzdGlj
c1VybCwgdHJ1ZSwgZnVuY3Rpb24oKSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICBpZiAoIXRl
c3RSdW5uZXIuaXNTdGF0aXN0aWNzSGFzSGFkVXNlckludGVyYWN0aW9uKHN0YXRpc3RpY3NVcmwp
KQotICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoIkhvc3QgZGlkIG5vdCBn
ZXQgbG9nZ2VkIGZvciB1c2VyIGludGVyYWN0aW9uLiIpOwotICAgICAgICAgICAgICAgICAgICAg
ICAgdGVzdFJ1bm5lci5zdGF0aXN0aWNzVXBkYXRlQ29va2llQmxvY2tpbmcoZnVuY3Rpb24oKSB7
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgbGV0IGlmcmFtZUVsZW1lbnQgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KCJpZnJhbWUiKTsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBp
ZnJhbWVFbGVtZW50Lm9ubG9hZCA9IGZ1bmN0aW9uKCkgewotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBhY3RpdmF0ZUVsZW1lbnQoIlRoZUlmcmFtZVRoYXRSZXF1ZXN0c1N0b3JhZ2VB
Y2Nlc3MiKTsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICB9OwotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGlmcmFtZUVsZW1lbnQuaWQgPSAiVGhlSWZyYW1lVGhhdFJlcXVlc3RzU3Rv
cmFnZUFjY2VzcyI7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWZyYW1lRWxlbWVudC5z
cmMgPSAiaHR0cDovL2xvY2FsaG9zdDo4MDAwL3N0b3JhZ2VBY2Nlc3MvcmVzb3VyY2VzL3JlcXVl
c3Qtc3RvcmFnZS1hY2Nlc3MtaWZyYW1lLWFuZC1wb3Atd2luZG93Lmh0bWwjdXNlclNob3VsZEdy
YW50QWNjZXNzLHVzZXJTaG91bGRCZUNvbnN1bHRlZCxwb2xpY3lTaG91bGRHcmFudEFjY2Vzcyxp
c05vdFNhbWVPcmlnaW5JZnJhbWUiOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRvY3Vt
ZW50LmJvZHkuYXBwZW5kQ2hpbGQoaWZyYW1lRWxlbWVudCk7Ci0gICAgICAgICAgICAgICAgICAg
ICAgICB9KTsKLSAgICAgICAgICAgICAgICAgICAgfSk7Ci0gICAgICAgICAgICAgICAgfSk7Ci0g
ICAgICAgICAgICB9KTsKLSAgICAgICAgfQotICAgIDwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHkg
b25sb2FkPSJydW5UZXN0KCkiPgotPC9ib2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy9zdG9yYWdlQWNjZXNzL2dyYW50LXdpdGgtcHJvbXB0LXVuZGVyLWdl
bmVyYWwtdGhpcmQtcGFydHktY29va2llLWJsb2NraW5nLWRhdGFiYXNlLWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc3RvcmFnZUFjY2Vzcy9ncmFudC13aXRoLXByb21wdC11
bmRlci1nZW5lcmFsLXRoaXJkLXBhcnR5LWNvb2tpZS1ibG9ja2luZy1kYXRhYmFzZS1leHBlY3Rl
ZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDMxM2U4NzlmNGQzNTJkY2FkM2Zj
NzhhNDVkMWMxZjNhYWQ3ZGZlNGEuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zdG9yYWdlQWNjZXNzL2dyYW50LXdp
dGgtcHJvbXB0LXVuZGVyLWdlbmVyYWwtdGhpcmQtcGFydHktY29va2llLWJsb2NraW5nLWRhdGFi
YXNlLWV4cGVjdGVkLnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDExICswLDAgQEAKLVRlc3RzIHRo
YXQgYSBjcm9zcy1zaXRlIGlmcmFtZSBjYW4gcmVxdWVzdCBhbmQgYmUgZ3JhbnRlZCBzdG9yYWdl
IGFjY2VzcyB1bmRlciBnZW5lcmFsIHRoaXJkLXBhcnR5IGNvb2tpZSBibG9ja2luZy4KLQotT24g
c3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93
ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgotCi0KLVBBU1MgU3RvcmFnZSBhY2Nlc3Mgd2FzIGdyYW50
ZWQuIGRvY3VtZW50LmNvb2tpZSA9PSBmaXJzdFBhcnR5Q29va2llPXZhbHVlLCBjb29raWVzIHNl
ZW4gc2VydmVyLXNpZGUgPT0geyJmaXJzdFBhcnR5Q29va2llIjoidmFsdWUifQotUEFTUyBTdG9y
YWdlIGFjY2VzcyB3YXMgZ3JhbnRlZC4gZG9jdW1lbnQuY29va2llID09IGZpcnN0UGFydHlDb29r
aWU9dmFsdWUsIGNvb2tpZXMgc2VlbiBzZXJ2ZXItc2lkZSA9PSB7ImZpcnN0UGFydHlDb29raWUi
OiJ2YWx1ZSJ9Ci1QQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCi0KLVRFU1QgQ09NUExF
VEUKLQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zdG9yYWdlQWNjZXNzL2dy
YW50LXdpdGgtcHJvbXB0LXVuZGVyLWdlbmVyYWwtdGhpcmQtcGFydHktY29va2llLWJsb2NraW5n
LWRhdGFiYXNlLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3N0b3JhZ2VBY2Nlc3MvZ3Jh
bnQtd2l0aC1wcm9tcHQtdW5kZXItZ2VuZXJhbC10aGlyZC1wYXJ0eS1jb29raWUtYmxvY2tpbmct
ZGF0YWJhc2UuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYzBjYmRjODBiYWY2
OTMzMzAxN2IxN2Y4NTYzZDRkYjhhY2ZmYWQ5My4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3N0b3JhZ2VBY2Nlc3Mv
Z3JhbnQtd2l0aC1wcm9tcHQtdW5kZXItZ2VuZXJhbC10aGlyZC1wYXJ0eS1jb29raWUtYmxvY2tp
bmctZGF0YWJhc2UuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDEyMSArMCwwIEBACi08IURPQ1RZ
UEUgaHRtbD4KLTxodG1sPgotPGhlYWQ+Ci0gICAgPHNjcmlwdCBzcmM9Ii9qcy10ZXN0LXJlc291
cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KLSAgICA8c2NyaXB0IHNyYz0iL2pzLXRlc3QtcmVz
b3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Ci0gICAgPHNjcmlwdCBzcmM9Ii9yZXNvdXJj
ZUxvYWRTdGF0aXN0aWNzL3Jlc291cmNlcy91dGlsLmpzIj48L3NjcmlwdD4KLSAgICA8c2NyaXB0
PgotICAgICAgICBkZXNjcmlwdGlvbigiVGVzdHMgdGhhdCBhIGNyb3NzLXNpdGUgaWZyYW1lIGNh
biByZXF1ZXN0IGFuZCBiZSBncmFudGVkIHN0b3JhZ2UgYWNjZXNzIHVuZGVyIGdlbmVyYWwgdGhp
cmQtcGFydHkgY29va2llIGJsb2NraW5nLiIpOwotICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1
ZTsKLSAgICAgICAgdGVzdFJ1bm5lci5zZXRVc2VJVFBEYXRhYmFzZSh0cnVlKTsKLQotICAgICAg
ICBjb25zdCBmaXJzdFBhcnR5VXJsID0gImh0dHA6Ly8xMjcuMC4wLjE6ODAwMCI7Ci0gICAgICAg
IGNvbnN0IHRoaXJkUGFydHlVcmwgPSAiaHR0cDovL2xvY2FsaG9zdDo4MDAwIjsKLQotICAgICAg
ICBmdW5jdGlvbiByZWNlaXZlTWVzc2FnZShldmVudCkgewotICAgICAgICAgICAgaWYgKGV2ZW50
Lm9yaWdpbiA9PT0gImh0dHA6Ly9sb2NhbGhvc3Q6ODAwMCIpIHsKLSAgICAgICAgICAgICAgICBp
ZiAoZXZlbnQuZGF0YS5pbmRleE9mKCJQQVNTICIpICE9PSAtMSkKLSAgICAgICAgICAgICAgICAg
ICAgdGVzdFBhc3NlZChldmVudC5kYXRhLnJlcGxhY2UoIlBBU1MgIiwgIiIpKTsKLSAgICAgICAg
ICAgICAgICBlbHNlCi0gICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoZXZlbnQuZGF0YS5y
ZXBsYWNlKCJGQUlMICIsICIiKSk7Ci0gICAgICAgICAgICB9IGVsc2UKLSAgICAgICAgICAgICAg
ICB0ZXN0RmFpbGVkKCJSZWNlaXZlZCBhIG1lc3NhZ2UgZnJvbSBhbiB1bmV4cGVjdGVkIG9yaWdp
bjogIiArIGV2ZW50Lm9yaWdpbik7Ci0KLSAgICAgICAgICAgIHN3aXRjaCAoZG9jdW1lbnQubG9j
YXRpb24uaGFzaCkgewotICAgICAgICAgICAgICAgIGNhc2UgIiNmaXJzdFRlc3QiOgotICAgICAg
ICAgICAgICAgICAgICBkb2N1bWVudC5sb2NhdGlvbi5oYXNoID0gInNlY29uZFRlc3QiOwotICAg
ICAgICAgICAgICAgICAgICAvLyBDbGVhciBhbGwgZGF0YSBzbyB0aGF0IHRoZSBwcmV2aW91cyBn
cmFudCBkb2Vzbid0IGNvdW50IHRvd2FyZCB0aGUgbmV4dCB0ZXN0LgotICAgICAgICAgICAgICAg
ICAgICB0ZXN0UnVubmVyLnN0YXRpc3RpY3NDbGVhckluTWVtb3J5QW5kUGVyc2lzdGVudFN0b3Jl
KHJ1blRlc3QpOwotICAgICAgICAgICAgICAgICAgICBicmVhazsKLSAgICAgICAgICAgICAgICBj
YXNlICIjc2Vjb25kVGVzdCI6Ci0gICAgICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIuc2V0U3Rh
dGlzdGljc1Nob3VsZEJsb2NrVGhpcmRQYXJ0eUNvb2tpZXMoZmFsc2UsIGZ1bmN0aW9uKCkgewot
ICAgICAgICAgICAgICAgICAgICAgICAgc2V0RW5hYmxlRmVhdHVyZShmYWxzZSwgZmluaXNoSlNU
ZXN0KTsKLSAgICAgICAgICAgICAgICAgICAgfSk7Ci0gICAgICAgICAgICAgICAgICAgIGJyZWFr
OwotICAgICAgICAgICAgICAgIGRlZmF1bHQ6Ci0gICAgICAgICAgICAgICAgICAgIHRlc3RGYWls
ZWQoIk1lc3NhZ2UgaGFuZGxlciBjYWxsZWQgdW5kZXIgdW5rbm93biBjaXJjdW1zdGFuY2VzLiIp
OwotICAgICAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NTaG91bGRCbG9j
a1RoaXJkUGFydHlDb29raWVzKGZhbHNlLCBmdW5jdGlvbigpIHsKLSAgICAgICAgICAgICAgICAg
ICAgICAgIHNldEVuYWJsZUZlYXR1cmUoZmFsc2UsIGZpbmlzaEpTVGVzdCk7Ci0gICAgICAgICAg
ICAgICAgICAgIH0pOwotICAgICAgICAgICAgfQotICAgICAgICB9Ci0KLSAgICAgICAgd2luZG93
LmFkZEV2ZW50TGlzdGVuZXIoIm1lc3NhZ2UiLCByZWNlaXZlTWVzc2FnZSwgZmFsc2UpOwotCi0g
ICAgICAgIGZ1bmN0aW9uIGFjdGl2YXRlRWxlbWVudChlbGVtZW50SWQpIHsKLSAgICAgICAgICAg
IHZhciBlbGVtZW50ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoZWxlbWVudElkKTsKLSAgICAg
ICAgICAgIHZhciBjZW50ZXJYID0gZWxlbWVudC5vZmZzZXRMZWZ0ICsgZWxlbWVudC5vZmZzZXRX
aWR0aCAvIDI7Ci0gICAgICAgICAgICB2YXIgY2VudGVyWSA9IGVsZW1lbnQub2Zmc2V0VG9wICsg
ZWxlbWVudC5vZmZzZXRIZWlnaHQgLyAyOwotICAgICAgICAgICAgVUlIZWxwZXIuYWN0aXZhdGVB
dChjZW50ZXJYLCBjZW50ZXJZKS50aGVuKAotICAgICAgICAgICAgICAgIGZ1bmN0aW9uICgpIHsK
LSAgICAgICAgICAgICAgICAgICAgaWYgKHdpbmRvdy5ldmVudFNlbmRlcikKLSAgICAgICAgICAg
ICAgICAgICAgICAgIGV2ZW50U2VuZGVyLmtleURvd24oImVzY2FwZSIpOwotICAgICAgICAgICAg
ICAgICAgICBlbHNlIHsKLSAgICAgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoIk5vIGV2
ZW50U2VuZGVyLiIpOwotICAgICAgICAgICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5zZXRTdGF0
aXN0aWNzU2hvdWxkQmxvY2tUaGlyZFBhcnR5Q29va2llcyhmYWxzZSwgZnVuY3Rpb24oKSB7Ci0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgc2V0RW5hYmxlRmVhdHVyZShmYWxzZSwgZmluaXNo
SlNUZXN0KTsKLSAgICAgICAgICAgICAgICAgICAgICAgIH0pOwotICAgICAgICAgICAgICAgICAg
ICB9Ci0gICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICBmdW5jdGlvbiAoKSB7Ci0g
ICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoIlByb21pc2UgcmVqZWN0ZWQuIik7Ci0gICAg
ICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc1Nob3VsZEJsb2NrVGhpcmRQ
YXJ0eUNvb2tpZXMoZmFsc2UsIGZ1bmN0aW9uKCkgewotICAgICAgICAgICAgICAgICAgICAgICAg
c2V0RW5hYmxlRmVhdHVyZShmYWxzZSwgZmluaXNoSlNUZXN0KTsKLSAgICAgICAgICAgICAgICAg
ICAgfSk7Ci0gICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgKTsKLSAgICAgICAgfQotCi0g
ICAgICAgIGZ1bmN0aW9uIHJ1blRlc3QoKSB7Ci0gICAgICAgICAgICBzd2l0Y2ggKGRvY3VtZW50
LmxvY2F0aW9uLmhhc2gpIHsKLSAgICAgICAgICAgICAgICBjYXNlICIiOgotICAgICAgICAgICAg
ICAgICAgICBzZXRFbmFibGVGZWF0dXJlKHRydWUsIGZ1bmN0aW9uKCkgewotICAgICAgICAgICAg
ICAgICAgICAgICAgZG9jdW1lbnQubG9jYXRpb24uaHJlZiA9IHRoaXJkUGFydHlVcmwgKyAiL3N0
b3JhZ2VBY2Nlc3MvcmVzb3VyY2VzL3NldC1jb29raWUucGhwP2R1bW15PSIgKyBNYXRoLnJhbmRv
bSgpICsgIiZuYW1lPWZpcnN0UGFydHlDb29raWUmdmFsdWU9dmFsdWUjIiArIGZpcnN0UGFydHlV
cmwgKyAiL3N0b3JhZ2VBY2Nlc3MvZ3JhbnQtd2l0aC1wcm9tcHQtdW5kZXItZ2VuZXJhbC10aGly
ZC1wYXJ0eS1jb29raWUtYmxvY2tpbmctZGF0YWJhc2UuaHRtbCNmaXJzdFRlc3QiOwotICAgICAg
ICAgICAgICAgICAgICB9KTsKLSAgICAgICAgICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgICAg
ICAgICAgY2FzZSAiI2ZpcnN0VGVzdCI6Ci0gICAgICAgICAgICAgICAgICAgIC8vIFRlc3QgdGhh
dCB0aGUgcmVxdWVzdCBpcyBncmFudGVkIGlmIHRoaXJkLXBhcnR5IGNvb2tpZXMgYXJlIGJsb2Nr
ZWQgdW5kZXIgZmlyc3QtcGFydGllcyB3aXRob3V0Ci0gICAgICAgICAgICAgICAgICAgIC8vIHVz
ZXIgaW50ZXJhY3Rpb24uCi0gICAgICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlz
dGljc1Nob3VsZEJsb2NrVGhpcmRQYXJ0eUNvb2tpZXModHJ1ZSwgZnVuY3Rpb24oKSB7Ci0gICAg
ICAgICAgICAgICAgICAgICAgICBpZiAodGVzdFJ1bm5lci5pc1N0YXRpc3RpY3NQcmV2YWxlbnRS
ZXNvdXJjZSh0aGlyZFBhcnR5VXJsKSkKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICB0ZXN0
RmFpbGVkKCJUaGlyZC1wYXJ0eSBzZXQgYXMgcHJldmFsZW50IHJlc291cmNlLiIpOwotICAgICAg
ICAgICAgICAgICAgICAgICAgaWYgKHRlc3RSdW5uZXIuaXNTdGF0aXN0aWNzSGFzSGFkVXNlcklu
dGVyYWN0aW9uKGZpcnN0UGFydHlVcmwpKQotICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRl
c3RGYWlsZWQoIkZpcnN0LXBhcnR5IHdhcyBsb2dnZWQgZm9yIHVzZXIgaW50ZXJhY3Rpb24uIik7
Ci0gICAgICAgICAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NIYXNIYWRV
c2VySW50ZXJhY3Rpb24odGhpcmRQYXJ0eVVybCwgdHJ1ZSwgZnVuY3Rpb24oKSB7Ci0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgaWYgKCF0ZXN0UnVubmVyLmlzU3RhdGlzdGljc0hhc0hhZFVz
ZXJJbnRlcmFjdGlvbih0aGlyZFBhcnR5VXJsKSkKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgdGVzdEZhaWxlZCgiVGhpcmQtcGFydHkgZGlkIG5vdCBnZXQgbG9nZ2VkIGZvciB1c2Vy
IGludGVyYWN0aW9uLiIpOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxldCBpZnJhbWVF
bGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiaWZyYW1lIik7Ci0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgaWZyYW1lRWxlbWVudC5vbmxvYWQgPSBmdW5jdGlvbigpIHsKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgYWN0aXZhdGVFbGVtZW50KCJUaGVGaXJzdElmcmFt
ZVRoYXRSZXF1ZXN0c1N0b3JhZ2VBY2Nlc3MiKTsKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICB9OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmcmFtZUVsZW1lbnQuaWQgPSAiVGhl
Rmlyc3RJZnJhbWVUaGF0UmVxdWVzdHNTdG9yYWdlQWNjZXNzIjsKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBpZnJhbWVFbGVtZW50LnNyYyA9ICJodHRwOi8vbG9jYWxob3N0OjgwMDAvc3Rv
cmFnZUFjY2Vzcy9yZXNvdXJjZXMvcmVxdWVzdC1zdG9yYWdlLWFjY2Vzcy1pZnJhbWUuaHRtbD9k
dW1teT0iICsgTWF0aC5yYW5kb20oKSArICIjdXNlclNob3VsZEdyYW50QWNjZXNzLHVzZXJTaG91
bGRCZUNvbnN1bHRlZCxwb2xpY3lTaG91bGRHcmFudEFjY2Vzcyxpc05vdFNhbWVPcmlnaW5JZnJh
bWUiOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hp
bGQoaWZyYW1lRWxlbWVudCk7Ci0gICAgICAgICAgICAgICAgICAgICAgICB9KTsKLSAgICAgICAg
ICAgICAgICAgICAgfSwgdHJ1ZSk7Ci0gICAgICAgICAgICAgICAgICAgIGJyZWFrOwotICAgICAg
ICAgICAgICAgIGNhc2UgIiNzZWNvbmRUZXN0IjoKLSAgICAgICAgICAgICAgICAgICAgLy8gVGVz
dCB0aGF0IHRoZSByZXF1ZXN0IGlzIGdyYW50ZWQgaWYgdGhpcmQtcGFydHkgY29va2llcyBhcmUg
YmxvY2tlZCB1bmNvbmRpdGlvbmFsbHkuCi0gICAgICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIu
c2V0U3RhdGlzdGljc1Nob3VsZEJsb2NrVGhpcmRQYXJ0eUNvb2tpZXModHJ1ZSwgZnVuY3Rpb24o
KSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICBpZiAodGVzdFJ1bm5lci5pc1N0YXRpc3RpY3NQ
cmV2YWxlbnRSZXNvdXJjZSh0aGlyZFBhcnR5VXJsKSkKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICB0ZXN0RmFpbGVkKCJUaGlyZC1wYXJ0eSBzZXQgYXMgcHJldmFsZW50IHJlc291cmNlLiIp
OwotICAgICAgICAgICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNzSGFzSGFk
VXNlckludGVyYWN0aW9uKHRoaXJkUGFydHlVcmwsIHRydWUsIGZ1bmN0aW9uKCkgewotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGlmICghdGVzdFJ1bm5lci5pc1N0YXRpc3RpY3NIYXNIYWRV
c2VySW50ZXJhY3Rpb24odGhpcmRQYXJ0eVVybCkpCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIHRlc3RGYWlsZWQoIlRoaXJkLXBhcnR5IGRpZCBub3QgZ2V0IGxvZ2dlZCBmb3IgdXNl
ciBpbnRlcmFjdGlvbi4iKTsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZXQgaWZyYW1l
RWxlbWVudCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImlmcmFtZSIpOwotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGlmcmFtZUVsZW1lbnQub25sb2FkID0gZnVuY3Rpb24oKSB7Ci0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFjdGl2YXRlRWxlbWVudCgiVGhlU2Vjb25kSWZy
YW1lVGhhdFJlcXVlc3RzU3RvcmFnZUFjY2VzcyIpOwotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIH07Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWZyYW1lRWxlbWVudC5pZCA9ICJU
aGVTZWNvbmRJZnJhbWVUaGF0UmVxdWVzdHNTdG9yYWdlQWNjZXNzIjsKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBpZnJhbWVFbGVtZW50LnNyYyA9ICJodHRwOi8vbG9jYWxob3N0OjgwMDAv
c3RvcmFnZUFjY2Vzcy9yZXNvdXJjZXMvcmVxdWVzdC1zdG9yYWdlLWFjY2Vzcy1pZnJhbWUuaHRt
bD9kdW1teT0iICsgTWF0aC5yYW5kb20oKSArICIjdXNlclNob3VsZEdyYW50QWNjZXNzLHVzZXJT
aG91bGRCZUNvbnN1bHRlZCxwb2xpY3lTaG91bGRHcmFudEFjY2Vzcyxpc05vdFNhbWVPcmlnaW5J
ZnJhbWUiOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRvY3VtZW50LmJvZHkuYXBwZW5k
Q2hpbGQoaWZyYW1lRWxlbWVudCk7Ci0gICAgICAgICAgICAgICAgICAgICAgICB9KTsKLSAgICAg
ICAgICAgICAgICAgICAgfSwgZmFsc2UpOwotICAgICAgICAgICAgICAgICAgICBicmVhazsKLSAg
ICAgICAgICAgIH0KLSAgICAgICAgfQotICAgIDwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHkgb25s
b2FkPSJydW5UZXN0KCkiPgotPC9ib2R5PgotPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9m
IGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc3RvcmFnZUFjY2Vzcy9o
YXMtc3RvcmFnZS1hY2Nlc3MtY3Jhc2gtZGF0YWJhc2UtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy9zdG9yYWdlQWNjZXNzL2hhcy1zdG9yYWdlLWFjY2Vzcy1jcmFzaC1kYXRh
YmFzZS1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDQ1OTViYWEx
MDM3NzY4MDFkYmNlZmEyMjZjYzViYmRkODE4ZWViMGYuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zdG9yYWdlQWNj
ZXNzL2hhcy1zdG9yYWdlLWFjY2Vzcy1jcmFzaC1kYXRhYmFzZS1leHBlY3RlZC50eHQKKysrIC9k
ZXYvbnVsbApAQCAtMSw1ICswLDAgQEAKLVRlc3QgdGhhdCBxdWVyeWluZyBzdG9yYWdlIGFjY2Vz
cyBBUEkgb24gYSBkZXRhY2hlZCBmcmFtZSBkb2Vzbid0IGNyYXNoLgotCi1bb2JqZWN0IEhUTUxE
b2N1bWVudF0KLVNVQ0NFU1M6IERpZCBub3QgY3Jhc2guCi0KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2h0dHAvdGVzdHMvc3RvcmFnZUFjY2Vzcy9oYXMtc3RvcmFnZS1hY2Nlc3MtY3Jhc2gtZGF0
YWJhc2UuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc3RvcmFnZUFjY2Vzcy9oYXMtc3Rv
cmFnZS1hY2Nlc3MtY3Jhc2gtZGF0YWJhc2UuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggZDBkOWUwODc5MzRjMjdmNTg5Y2U4MjI2ZWYzMGMzNTVjY2ZmNTA5Yi4uMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rl
c3RzL3N0b3JhZ2VBY2Nlc3MvaGFzLXN0b3JhZ2UtYWNjZXNzLWNyYXNoLWRhdGFiYXNlLmh0bWwK
KysrIC9kZXYvbnVsbApAQCAtMSwzNyArMCwwIEBACi08IURPQ1RZUEUgaHRtbD4KLTxodG1sPgot
PGhlYWQ+Ci0gICAgPHNjcmlwdD4KLSAgICBmdW5jdGlvbiBkZWJ1ZyhzdHIpIHsKLSAgICAgICAg
dmFyIGMgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29uc29sZSIpCi0gICAgICAgIGMuaW5u
ZXJIVE1MICs9IChzdHIgKyAiPGJyPiIpCi0gICAgfQotCi0gICAgaWYgKHdpbmRvdy50ZXN0UnVu
bmVyKSB7Ci0gICAgICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOwotICAgICAgICB0ZXN0UnVu
bmVyLndhaXRVbnRpbERvbmUoKTsKLSAgICB9Ci0KLSAgICBmdW5jdGlvbiBydW5UZXN0KCkgewot
ICAgICAgICB0ZXN0UnVubmVyLnNldFVzZUlUUERhdGFiYXNlKHRydWUpOwotICAgICAgICB2YXIg
dGVzdERpdiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ0ZXN0Iik7Ci0gICAgICAgIHZhciB0
ZXN0RnJhbWUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJpZnJhbWUiKTsKLSAgICAgICAgdGVz
dERpdi5hcHBlbmRDaGlsZCh0ZXN0RnJhbWUpOwotICAgICAgICB2YXIgdGVzdEZyYW1lRG9jdW1l
bnQgPSB0ZXN0RnJhbWUuY29udGVudERvY3VtZW50OwotICAgICAgICB0ZXN0RnJhbWUub3V0ZXJI
VE1MID0gdGVzdEZyYW1lRG9jdW1lbnQ7Ci0KLSAgICAgICAgdGVzdEZyYW1lRG9jdW1lbnQuaGFz
U3RvcmFnZUFjY2VzcygpOwotCi0gICAgICAgIGRlYnVnKCJTVUNDRVNTOiBEaWQgbm90IGNyYXNo
LiIpCi0gICAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKLSAgICAgICAgICAgIHRlc3RSdW5u
ZXIubm90aWZ5RG9uZSgpOwotICAgIH0KLSAgICA8L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5IG9u
bG9hZD0icnVuVGVzdCgpIj4KLSAgICA8ZGl2IGlkPSJ0ZXN0Ij4KLSAgICAgICAgPHA+VGVzdCB0
aGF0IHF1ZXJ5aW5nIHN0b3JhZ2UgYWNjZXNzIEFQSSBvbiBhIGRldGFjaGVkIGZyYW1lIGRvZXNu
J3QgY3Jhc2guPC9wPgotICAgIDwvZGl2PgotICAgIDxwcmUgaWQ9ImNvbnNvbGUiPjwvcHJlPgot
PC9ib2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zdG9y
YWdlQWNjZXNzL2hhcy1zdG9yYWdlLWFjY2Vzcy1mYWxzZS1ieS1kZWZhdWx0LWRhdGFiYXNlLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc3RvcmFnZUFjY2Vzcy9oYXMtc3Rv
cmFnZS1hY2Nlc3MtZmFsc2UtYnktZGVmYXVsdC1kYXRhYmFzZS1leHBlY3RlZC50eHQKZGVsZXRl
ZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDI4OWRhYThjZWJiM2QxN2QzODYwNzMwNjhjZTFhOGU0
NGVhZjQwZTAuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEv
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zdG9yYWdlQWNjZXNzL2hhcy1zdG9yYWdlLWFjY2Vzcy1m
YWxzZS1ieS1kZWZhdWx0LWRhdGFiYXNlLWV4cGVjdGVkLnR4dAorKysgL2Rldi9udWxsCkBAIC0x
LDEwICswLDAgQEAKLVRlc3RzIHRoYXQgZG9jdW1lbnQuaGFzU3RvcmFnZUFjY2VzcygpIHJldHVy
bnMgZmFsc2UgZm9yIGEgM3JkLXBhcnR5IGlmcmFtZSBieSBkZWZhdWx0LgotCi1PbiBzdWNjZXNz
LCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAi
VEVTVCBDT01QTEVURSIuCi0KLQotUEFTUyBObyBzdG9yYWdlIGFjY2Vzcy4gZG9jdW1lbnQuY29v
a2llID09ICwgY29va2llcyBzZWVuIHNlcnZlci1zaWRlID09ICJObyBjb29raWVzIgotUEFTUyBz
dWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQotCi1URVNUIENPTVBMRVRFCi0KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc3RvcmFnZUFjY2Vzcy9oYXMtc3RvcmFnZS1hY2Nlc3Mt
ZmFsc2UtYnktZGVmYXVsdC1kYXRhYmFzZS5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9z
dG9yYWdlQWNjZXNzL2hhcy1zdG9yYWdlLWFjY2Vzcy1mYWxzZS1ieS1kZWZhdWx0LWRhdGFiYXNl
Lmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGY0MWNmYmIxNDczNTYzM2JmMzA3
NjBmNmI5MTI4NWNjZjM5OWQwMjkuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zdG9yYWdlQWNjZXNzL2hhcy1zdG9y
YWdlLWFjY2Vzcy1mYWxzZS1ieS1kZWZhdWx0LWRhdGFiYXNlLmh0bWwKKysrIC9kZXYvbnVsbApA
QCAtMSwzOCArMCwwIEBACi08IURPQ1RZUEUgaHRtbD4KLTxodG1sPgotPGhlYWQ+Ci0gICAgPHNj
cmlwdCBzcmM9Ii9qcy10ZXN0LXJlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KLSAgICA8
c2NyaXB0IHNyYz0iL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvcmVzb3VyY2VzL3V0aWwuanMiPjwv
c2NyaXB0PgotICAgIDxzY3JpcHQ+Ci0gICAgICAgIGRlc2NyaXB0aW9uKCJUZXN0cyB0aGF0IGRv
Y3VtZW50Lmhhc1N0b3JhZ2VBY2Nlc3MoKSByZXR1cm5zIGZhbHNlIGZvciBhIDNyZC1wYXJ0eSBp
ZnJhbWUgYnkgZGVmYXVsdC4iKTsKLSAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7Ci0KLSAg
ICAgICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoIm1lc3NhZ2UiLCByZWNlaXZlTWVzc2FnZSwg
ZmFsc2UpOwotCi0gICAgICAgIGZ1bmN0aW9uIHJlY2VpdmVNZXNzYWdlKGV2ZW50KSB7Ci0gICAg
ICAgICAgICBpZiAoZXZlbnQub3JpZ2luID09PSAiaHR0cDovL2xvY2FsaG9zdDo4MDAwIikgewot
ICAgICAgICAgICAgICAgIGlmIChldmVudC5kYXRhLmluZGV4T2YoIlBBU1MiKSAhPT0gLTEpCi0g
ICAgICAgICAgICAgICAgICAgIHRlc3RQYXNzZWQoZXZlbnQuZGF0YS5yZXBsYWNlKCJQQVNTICIs
ICIiKSk7Ci0gICAgICAgICAgICAgICAgZWxzZQotICAgICAgICAgICAgICAgICAgICB0ZXN0RmFp
bGVkKGV2ZW50LmRhdGEucmVwbGFjZSgiRkFJTCAiLCAiIikpOwotICAgICAgICAgICAgfSBlbHNl
Ci0gICAgICAgICAgICAgICAgdGVzdEZhaWxlZCgiUmVjZWl2ZWQgYSBtZXNzYWdlIGZyb20gYW4g
dW5leHBlY3RlZCBvcmlnaW46ICIgKyBldmVudC5vcmlnaW4pOwotICAgICAgICAgICAgc2V0RW5h
YmxlRmVhdHVyZShmYWxzZSwgZmluaXNoSlNUZXN0KTsKLSAgICAgICAgfQotCi0gICAgICAgIGNv
bnN0IGhvc3RVbmRlclRlc3QgPSAibG9jYWxob3N0OjgwMDAiOwotICAgICAgICBjb25zdCBzdGF0
aXN0aWNzVXJsID0gImh0dHA6Ly8iICsgaG9zdFVuZGVyVGVzdCArICIvdGVtcCI7Ci0gICAgICAg
IGZ1bmN0aW9uIHJ1blRlc3QoKSB7Ci0gICAgICAgICAgICB0ZXN0UnVubmVyLnNldFVzZUlUUERh
dGFiYXNlKHRydWUpOwotICAgICAgICAgICAgc2V0RW5hYmxlRmVhdHVyZSh0cnVlLCBmdW5jdGlv
bigpIHsKLSAgICAgICAgICAgICAgICBsZXQgaWZyYW1lRWxlbWVudCA9IGRvY3VtZW50LmNyZWF0
ZUVsZW1lbnQoImlmcmFtZSIpOwotICAgICAgICAgICAgICAgIGlmcmFtZUVsZW1lbnQuaWQgPSAi
VGhlSWZyYW1lVGhhdFJlcXVlc3RzU3RvcmFnZUFjY2VzcyI7Ci0gICAgICAgICAgICAgICAgaWZy
YW1lRWxlbWVudC5zcmMgPSAiaHR0cDovL2xvY2FsaG9zdDo4MDAwL3N0b3JhZ2VBY2Nlc3MvcmVz
b3VyY2VzL2hhcy1zdG9yYWdlLWFjY2Vzcy1pZnJhbWUuaHRtbCNwb2xpY3lTaG91bGREZW55QWNj
ZXNzIjsKLSAgICAgICAgICAgICAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGlmcmFtZUVs
ZW1lbnQpOwotICAgICAgICAgICAgfSk7Ci0gICAgICAgIH0KLSAgICA8L3NjcmlwdD4KLTwvaGVh
ZD4KLTxib2R5IG9ubG9hZD0icnVuVGVzdCgpIj4KLTwvYm9keT4KLTwvaHRtbD4KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc3RvcmFnZUFjY2Vzcy9oYXMtc3RvcmFnZS1hY2Nl
c3MtZmFsc2UtYnktZGVmYXVsdC1lcGhlbWVyYWwtZGF0YWJhc2UtZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy9zdG9yYWdlQWNjZXNzL2hhcy1zdG9yYWdlLWFjY2Vzcy1mYWxz
ZS1ieS1kZWZhdWx0LWVwaGVtZXJhbC1kYXRhYmFzZS1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDcyNWU4MTQ1YWEzZTk3MTk3ZTgxNzQzMWEyNmYzMzE0OWEzNGNi
OTMuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy9zdG9yYWdlQWNjZXNzL2hhcy1zdG9yYWdlLWFjY2Vzcy1mYWxzZS1i
eS1kZWZhdWx0LWVwaGVtZXJhbC1kYXRhYmFzZS1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApA
QCAtMSwxMCArMCwwIEBACi1UZXN0cyB0aGF0IGRvY3VtZW50Lmhhc1N0b3JhZ2VBY2Nlc3MoKSBy
ZXR1cm5zIGZhbHNlIGZvciBhIDNyZC1wYXJ0eSBpZnJhbWUgYnkgZGVmYXVsdCAoZXBoZW1lcmFs
IHNlc3Npb24pLgotCi1PbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1Mi
IG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCi0KLQotUEFTUyBObyBzdG9y
YWdlIGFjY2Vzcy4gZG9jdW1lbnQuY29va2llID09ICwgY29va2llcyBzZWVuIHNlcnZlci1zaWRl
ID09ICJObyBjb29raWVzIgotUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQotCi1URVNU
IENPTVBMRVRFCi0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc3RvcmFnZUFj
Y2Vzcy9oYXMtc3RvcmFnZS1hY2Nlc3MtZmFsc2UtYnktZGVmYXVsdC1lcGhlbWVyYWwtZGF0YWJh
c2UuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc3RvcmFnZUFjY2Vzcy9oYXMtc3RvcmFn
ZS1hY2Nlc3MtZmFsc2UtYnktZGVmYXVsdC1lcGhlbWVyYWwtZGF0YWJhc2UuaHRtbApkZWxldGVk
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNjU2NjFmMTAxZWRkMTVmYWFjMDQ1MjAwYTUyMmNhMjcz
M2RlZmFiMy4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9M
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL3N0b3JhZ2VBY2Nlc3MvaGFzLXN0b3JhZ2UtYWNjZXNzLWZh
bHNlLWJ5LWRlZmF1bHQtZXBoZW1lcmFsLWRhdGFiYXNlLmh0bWwKKysrIC9kZXYvbnVsbApAQCAt
MSwzNyArMCwwIEBACi08IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUVwaGVtZXJhbFNlc3Np
b249dHJ1ZSBdIC0tPgotPCFET0NUWVBFIGh0bWw+Ci08aHRtbD4KLTxoZWFkPgotICAgIDxzY3Jp
cHQgc3JjPSIvanMtdGVzdC1yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+Ci0gICAgPHNj
cmlwdCBzcmM9Ii9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3Jlc291cmNlcy91dGlsLmpzIj48L3Nj
cmlwdD4KLSAgICA8c2NyaXB0PgotICAgICAgICBkZXNjcmlwdGlvbigiVGVzdHMgdGhhdCBkb2N1
bWVudC5oYXNTdG9yYWdlQWNjZXNzKCkgcmV0dXJucyBmYWxzZSBmb3IgYSAzcmQtcGFydHkgaWZy
YW1lIGJ5IGRlZmF1bHQgKGVwaGVtZXJhbCBzZXNzaW9uKS4iKTsKLSAgICAgICAganNUZXN0SXNB
c3luYyA9IHRydWU7Ci0KLSAgICAgICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoIm1lc3NhZ2Ui
LCByZWNlaXZlTWVzc2FnZSwgZmFsc2UpOwotCi0gICAgICAgIGZ1bmN0aW9uIHJlY2VpdmVNZXNz
YWdlKGV2ZW50KSB7Ci0gICAgICAgICAgICBpZiAoZXZlbnQub3JpZ2luID09PSAiaHR0cDovL2xv
Y2FsaG9zdDo4MDAwIikgewotICAgICAgICAgICAgICAgIGlmIChldmVudC5kYXRhLmluZGV4T2Yo
IlBBU1MiKSAhPT0gLTEpCi0gICAgICAgICAgICAgICAgICAgIHRlc3RQYXNzZWQoZXZlbnQuZGF0
YS5yZXBsYWNlKCJQQVNTICIsICIiKSk7Ci0gICAgICAgICAgICAgICAgZWxzZQotICAgICAgICAg
ICAgICAgICAgICB0ZXN0RmFpbGVkKGV2ZW50LmRhdGEucmVwbGFjZSgiRkFJTCAiLCAiIikpOwot
ICAgICAgICAgICAgfSBlbHNlCi0gICAgICAgICAgICAgICAgdGVzdEZhaWxlZCgiUmVjZWl2ZWQg
YSBtZXNzYWdlIGZyb20gYW4gdW5leHBlY3RlZCBvcmlnaW46ICIgKyBldmVudC5vcmlnaW4pOwot
ICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7Ci0gICAgICAgIH0KLQotICAgICAgICBjb25zdCBo
b3N0VW5kZXJUZXN0ID0gImxvY2FsaG9zdDo4MDAwIjsKLSAgICAgICAgY29uc3Qgc3RhdGlzdGlj
c1VybCA9ICJodHRwOi8vIiArIGhvc3RVbmRlclRlc3QgKyAiL3RlbXAiOwotICAgICAgICBmdW5j
dGlvbiBydW5UZXN0KCkgewotICAgICAgICAgICAgdGVzdFJ1bm5lci5zZXRVc2VJVFBEYXRhYmFz
ZSh0cnVlKTsKLSAgICAgICAgICAgIGxldCBpZnJhbWVFbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRl
RWxlbWVudCgiaWZyYW1lIik7Ci0gICAgICAgICAgICBpZnJhbWVFbGVtZW50LmlkID0gIlRoZUlm
cmFtZVRoYXRSZXF1ZXN0c1N0b3JhZ2VBY2Nlc3MiOwotICAgICAgICAgICAgaWZyYW1lRWxlbWVu
dC5zcmMgPSAiaHR0cDovL2xvY2FsaG9zdDo4MDAwL3N0b3JhZ2VBY2Nlc3MvcmVzb3VyY2VzL2hh
cy1zdG9yYWdlLWFjY2Vzcy1pZnJhbWUuaHRtbCNwb2xpY3lTaG91bGREZW55QWNjZXNzIjsKLSAg
ICAgICAgICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoaWZyYW1lRWxlbWVudCk7Ci0gICAg
ICAgIH0KLSAgICA8L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5IG9ubG9hZD0icnVuVGVzdCgpIj4K
LTwvYm9keT4KLTwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc3Rv
cmFnZUFjY2Vzcy9oYXMtc3RvcmFnZS1hY2Nlc3MtZnJvbS1wcmV2YWxlbnQtZG9tYWluLXdpdGgt
dXNlci1pbnRlcmFjdGlvbi1kYXRhYmFzZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL3N0b3JhZ2VBY2Nlc3MvaGFzLXN0b3JhZ2UtYWNjZXNzLWZyb20tcHJldmFsZW50LWRv
bWFpbi13aXRoLXVzZXItaW50ZXJhY3Rpb24tZGF0YWJhc2UtZXhwZWN0ZWQudHh0CmRlbGV0ZWQg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCA4Mzk4YzdiZDBkMDVhMmQzODUxYzk3YTQ4MTk4ZTQ2ZjNm
NzIzNTc5Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xh
eW91dFRlc3RzL2h0dHAvdGVzdHMvc3RvcmFnZUFjY2Vzcy9oYXMtc3RvcmFnZS1hY2Nlc3MtZnJv
bS1wcmV2YWxlbnQtZG9tYWluLXdpdGgtdXNlci1pbnRlcmFjdGlvbi1kYXRhYmFzZS1leHBlY3Rl
ZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSwxMCArMCwwIEBACi1UZXN0cyB0aGF0IGEgY3Jvc3Mt
b3JpZ2luIGlmcmFtZSBmcm9tIGEgcHJldmFsZW50IGRvbWFpbiB3aXRoIHVzZXIgaW50ZXJhY3Rp
b24gZG9lcyBub3QgaGF2ZSBzdG9yYWdlIGFjY2Vzcy4KLQotT24gc3VjY2VzcywgeW91IHdpbGwg
c2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExF
VEUiLgotCi0KLVBBU1MgTm8gc3RvcmFnZSBhY2Nlc3MuIGRvY3VtZW50LmNvb2tpZSA9PSAsIGNv
b2tpZXMgc2VlbiBzZXJ2ZXItc2lkZSA9PSAiTm8gY29va2llcyIKLVBBU1Mgc3VjY2Vzc2Z1bGx5
UGFyc2VkIGlzIHRydWUKLQotVEVTVCBDT01QTEVURQotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL3N0b3JhZ2VBY2Nlc3MvaGFzLXN0b3JhZ2UtYWNjZXNzLWZyb20tcHJldmFs
ZW50LWRvbWFpbi13aXRoLXVzZXItaW50ZXJhY3Rpb24tZGF0YWJhc2UuaHRtbCBiL0xheW91dFRl
c3RzL2h0dHAvdGVzdHMvc3RvcmFnZUFjY2Vzcy9oYXMtc3RvcmFnZS1hY2Nlc3MtZnJvbS1wcmV2
YWxlbnQtZG9tYWluLXdpdGgtdXNlci1pbnRlcmFjdGlvbi1kYXRhYmFzZS5odG1sCmRlbGV0ZWQg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCBjMzFkZDFlZDhmNDk3NmVjYjRjN2UzNzZmOTg4NmZhYTJh
NmFkOWZiLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xh
eW91dFRlc3RzL2h0dHAvdGVzdHMvc3RvcmFnZUFjY2Vzcy9oYXMtc3RvcmFnZS1hY2Nlc3MtZnJv
bS1wcmV2YWxlbnQtZG9tYWluLXdpdGgtdXNlci1pbnRlcmFjdGlvbi1kYXRhYmFzZS5odG1sCisr
KyAvZGV2L251bGwKQEAgLTEsNDkgKzAsMCBAQAotPCFET0NUWVBFIGh0bWw+Ci08aHRtbD4KLTxo
ZWFkPgotICAgIDxzY3JpcHQgc3JjPSIvanMtdGVzdC1yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9z
Y3JpcHQ+Ci0gICAgPHNjcmlwdCBzcmM9Ii9qcy10ZXN0LXJlc291cmNlcy91aS1oZWxwZXIuanMi
Pjwvc2NyaXB0PgotICAgIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9yZXNv
dXJjZXMvdXRpbC5qcyI+PC9zY3JpcHQ+Ci0gICAgPHNjcmlwdD4KLSAgICAgICAgZGVzY3JpcHRp
b24oIlRlc3RzIHRoYXQgYSBjcm9zcy1vcmlnaW4gaWZyYW1lIGZyb20gYSBwcmV2YWxlbnQgZG9t
YWluIHdpdGggdXNlciBpbnRlcmFjdGlvbiBkb2VzIG5vdCBoYXZlIHN0b3JhZ2UgYWNjZXNzLiIp
OwotICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKLQotICAgICAgICB3aW5kb3cuYWRkRXZl
bnRMaXN0ZW5lcigibWVzc2FnZSIsIHJlY2VpdmVNZXNzYWdlLCBmYWxzZSk7Ci0KLSAgICAgICAg
ZnVuY3Rpb24gcmVjZWl2ZU1lc3NhZ2UoZXZlbnQpIHsKLSAgICAgICAgICAgIGlmIChldmVudC5v
cmlnaW4gPT09ICJodHRwOi8vbG9jYWxob3N0OjgwMDAiKSB7Ci0gICAgICAgICAgICAgICAgaWYg
KGV2ZW50LmRhdGEuaW5kZXhPZigiUEFTUyIpICE9PSAtMSkKLSAgICAgICAgICAgICAgICAgICAg
dGVzdFBhc3NlZChldmVudC5kYXRhLnJlcGxhY2UoIlBBU1MgIiwgIiIpKTsKLSAgICAgICAgICAg
ICAgICBlbHNlCi0gICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoZXZlbnQuZGF0YSk7Ci0g
ICAgICAgICAgICB9IGVsc2UKLSAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKCJSZWNlaXZlZCBh
IG1lc3NhZ2UgZnJvbSBhbiB1bmV4cGVjdGVkIG9yaWdpbjogIiArIGV2ZW50Lm9yaWdpbik7Ci0g
ICAgICAgICAgICBzZXRFbmFibGVGZWF0dXJlKGZhbHNlLCBmaW5pc2hKU1Rlc3QpOwotICAgICAg
ICB9Ci0KLSAgICAgICAgY29uc3QgaG9zdFVuZGVyVGVzdCA9ICJsb2NhbGhvc3Q6ODAwMCI7Ci0g
ICAgICAgIGNvbnN0IHN0YXRpc3RpY3NVcmwgPSAiaHR0cDovLyIgKyBob3N0VW5kZXJUZXN0ICsg
Ii90ZW1wIjsKLSAgICAgICAgZnVuY3Rpb24gcnVuVGVzdCgpIHsKLSAgICAgICAgICAgIHRlc3RS
dW5uZXIuc2V0VXNlSVRQRGF0YWJhc2UodHJ1ZSk7Ci0gICAgICAgICAgICBzZXRFbmFibGVGZWF0
dXJlKHRydWUsIGZ1bmN0aW9uKCkgewotICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIuc2V0U3Rh
dGlzdGljc1ByZXZhbGVudFJlc291cmNlKHN0YXRpc3RpY3NVcmwsIHRydWUsIGZ1bmN0aW9uKCkg
ewotICAgICAgICAgICAgICAgICAgICBpZiAoIXRlc3RSdW5uZXIuaXNTdGF0aXN0aWNzUHJldmFs
ZW50UmVzb3VyY2Uoc3RhdGlzdGljc1VybCkpCi0gICAgICAgICAgICAgICAgICAgICAgICB0ZXN0
RmFpbGVkKCJIb3N0IGRpZCBub3QgZ2V0IHNldCBhcyBwcmV2YWxlbnQgcmVzb3VyY2UuIik7Ci0g
ICAgICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc0hhc0hhZFVzZXJJbnRl
cmFjdGlvbihzdGF0aXN0aWNzVXJsLCB0cnVlLCBmdW5jdGlvbigpIHsKLSAgICAgICAgICAgICAg
ICAgICAgICAgIGlmICghdGVzdFJ1bm5lci5pc1N0YXRpc3RpY3NIYXNIYWRVc2VySW50ZXJhY3Rp
b24oc3RhdGlzdGljc1VybCkpCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxl
ZCgiSG9zdCBkaWQgbm90IGdldCBsb2dnZWQgZm9yIHVzZXIgaW50ZXJhY3Rpb24uIik7Ci0gICAg
ICAgICAgICAgICAgICAgICAgICBsZXQgaWZyYW1lRWxlbWVudCA9IGRvY3VtZW50LmNyZWF0ZUVs
ZW1lbnQoImlmcmFtZSIpOwotICAgICAgICAgICAgICAgICAgICAgICAgaWZyYW1lRWxlbWVudC5z
ZXRBdHRyaWJ1dGUoInNhbmRib3giLCAiYWxsb3ctc3RvcmFnZS1hY2Nlc3MtYnktdXNlci1hY3Rp
dmF0aW9uIGFsbG93LXNjcmlwdHMgYWxsb3ctc2FtZS1vcmlnaW4gYWxsb3ctbW9kYWxzIik7Ci0g
ICAgICAgICAgICAgICAgICAgICAgICBpZnJhbWVFbGVtZW50LmlkID0gIlRoZUlmcmFtZVRoYXRS
ZXF1ZXN0c1N0b3JhZ2VBY2Nlc3MiOwotICAgICAgICAgICAgICAgICAgICAgICAgaWZyYW1lRWxl
bWVudC5zcmMgPSAiaHR0cDovL2xvY2FsaG9zdDo4MDAwL3N0b3JhZ2VBY2Nlc3MvcmVzb3VyY2Vz
L2hhcy1zdG9yYWdlLWFjY2Vzcy1pZnJhbWUuaHRtbCNwb2xpY3lTaG91bGROb3RHcmFudEFjY2Vz
cyI7Ci0gICAgICAgICAgICAgICAgICAgICAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGlm
cmFtZUVsZW1lbnQpOwotICAgICAgICAgICAgICAgICAgICB9KTsKLSAgICAgICAgICAgICAgICB9
KTsKLQotICAgICAgICAgICAgfSk7Ci0gICAgICAgIH0KLSAgICA8L3NjcmlwdD4KLTwvaGVhZD4K
LTxib2R5IG9ubG9hZD0icnVuVGVzdCgpIj4KLTwvYm9keT4KLTwvaHRtbD4KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc3RvcmFnZUFjY2Vzcy9oYXMtc3RvcmFnZS1hY2Nlc3Mt
dHJ1ZS1pZi10aGlyZC1wYXJ0eS1oYXMtY29va2llcy1kYXRhYmFzZS1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL3N0b3JhZ2VBY2Nlc3MvaGFzLXN0b3JhZ2UtYWNjZXNzLXRy
dWUtaWYtdGhpcmQtcGFydHktaGFzLWNvb2tpZXMtZGF0YWJhc2UtZXhwZWN0ZWQudHh0CmRlbGV0
ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBlZTU0MDQ5Mjg3NzhhMjZmMGJkN2ZhODllMTVjZDdm
YjExNGVjMjFlLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBh
L0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc3RvcmFnZUFjY2Vzcy9oYXMtc3RvcmFnZS1hY2Nlc3Mt
dHJ1ZS1pZi10aGlyZC1wYXJ0eS1oYXMtY29va2llcy1kYXRhYmFzZS1leHBlY3RlZC50eHQKKysr
IC9kZXYvbnVsbApAQCAtMSwxMCArMCwwIEBACi1UZXN0cyB0aGF0IGRvY3VtZW50Lmhhc1N0b3Jh
Z2VBY2Nlc3MoKSByZXR1cm5zIHRydWUgZm9yIGEgM3JkLXBhcnR5IGlmcmFtZSBpZiB0aGUgM3Jk
LXBhcnR5IGhhcyBjb29raWVzIHNldC4KLQotT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2Vy
aWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgotCi0K
LVBBU1MgSGFzIHN0b3JhZ2UgYWNjZXNzLiBkb2N1bWVudC5jb29raWUgPT0gZmlyc3RQYXJ0eUNv
b2tpZT12YWx1ZSwgY29va2llcyBzZWVuIHNlcnZlci1zaWRlID09IHsiZmlyc3RQYXJ0eUNvb2tp
ZSI6InZhbHVlIn0KLVBBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKLQotVEVTVCBDT01Q
TEVURQotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3N0b3JhZ2VBY2Nlc3Mv
aGFzLXN0b3JhZ2UtYWNjZXNzLXRydWUtaWYtdGhpcmQtcGFydHktaGFzLWNvb2tpZXMtZGF0YWJh
c2UuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc3RvcmFnZUFjY2Vzcy9oYXMtc3RvcmFn
ZS1hY2Nlc3MtdHJ1ZS1pZi10aGlyZC1wYXJ0eS1oYXMtY29va2llcy1kYXRhYmFzZS5odG1sCmRl
bGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBiYWQyZWNmNmU4YTIyNTM2OGNiMmQ0ZDYyOGFl
Yjg2N2RlMDYxMGFjLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0t
LSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc3RvcmFnZUFjY2Vzcy9oYXMtc3RvcmFnZS1hY2Nl
c3MtdHJ1ZS1pZi10aGlyZC1wYXJ0eS1oYXMtY29va2llcy1kYXRhYmFzZS5odG1sCisrKyAvZGV2
L251bGwKQEAgLTEsNDIgKzAsMCBAQAotPCFET0NUWVBFIGh0bWw+Ci08aHRtbD4KLTxoZWFkPgot
ICAgIDxzY3JpcHQgc3JjPSIvanMtdGVzdC1yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+
Ci0gICAgPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3Jlc291cmNlcy91dGls
LmpzIj48L3NjcmlwdD4KLSAgICA8c2NyaXB0PgotICAgICAgICBkZXNjcmlwdGlvbigiVGVzdHMg
dGhhdCBkb2N1bWVudC5oYXNTdG9yYWdlQWNjZXNzKCkgcmV0dXJucyB0cnVlIGZvciBhIDNyZC1w
YXJ0eSBpZnJhbWUgaWYgdGhlIDNyZC1wYXJ0eSBoYXMgY29va2llcyBzZXQuIik7Ci0gICAgICAg
IGpzVGVzdElzQXN5bmMgPSB0cnVlOwotCi0gICAgICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVy
KCJtZXNzYWdlIiwgcmVjZWl2ZU1lc3NhZ2UsIGZhbHNlKTsKLQotICAgICAgICBmdW5jdGlvbiBy
ZWNlaXZlTWVzc2FnZShldmVudCkgewotICAgICAgICAgICAgaWYgKGV2ZW50Lm9yaWdpbiA9PT0g
Imh0dHA6Ly9sb2NhbGhvc3Q6ODAwMCIpIHsKLSAgICAgICAgICAgICAgICBpZiAoZXZlbnQuZGF0
YS5pbmRleE9mKCJQQVNTIikgIT09IC0xKQotICAgICAgICAgICAgICAgICAgICB0ZXN0UGFzc2Vk
KGV2ZW50LmRhdGEucmVwbGFjZSgiUEFTUyAiLCAiIikpOwotICAgICAgICAgICAgICAgIGVsc2UK
LSAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChldmVudC5kYXRhLnJlcGxhY2UoIkZBSUwg
IiwgIiIpKTsKLSAgICAgICAgICAgIH0gZWxzZQotICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQo
IlJlY2VpdmVkIGEgbWVzc2FnZSBmcm9tIGFuIHVuZXhwZWN0ZWQgb3JpZ2luOiAiICsgZXZlbnQu
b3JpZ2luKTsKLSAgICAgICAgICAgIHNldEVuYWJsZUZlYXR1cmUoZmFsc2UsIGZpbmlzaEpTVGVz
dCk7Ci0gICAgICAgIH0KLQotICAgICAgICBjb25zdCBob3N0VW5kZXJUZXN0ID0gImxvY2FsaG9z
dDo4MDAwIjsKLSAgICAgICAgY29uc3Qgc3RhdGlzdGljc1VybCA9ICJodHRwOi8vIiArIGhvc3RV
bmRlclRlc3Q7Ci0gICAgICAgIGZ1bmN0aW9uIHJ1blRlc3QoKSB7Ci0gICAgICAgICAgICBpZiAo
ZG9jdW1lbnQubG9jYXRpb24uaGFzaCAhPT0gIiNmaXJzdFBhcnR5Q29va2llU2V0IikgewotICAg
ICAgICAgICAgICAgIHNldEVuYWJsZUZlYXR1cmUodHJ1ZSwgZnVuY3Rpb24oKSB7Ci0gICAgICAg
ICAgICAgICAgICAgIHRlc3RSdW5uZXIuc2V0VXNlSVRQRGF0YWJhc2UodHJ1ZSk7Ci0gICAgICAg
ICAgICAgICAgICAgIGRvY3VtZW50LmxvY2F0aW9uLmhyZWYgPSBzdGF0aXN0aWNzVXJsICsgIi9z
dG9yYWdlQWNjZXNzL3Jlc291cmNlcy9zZXQtY29va2llLnBocD9uYW1lPWZpcnN0UGFydHlDb29r
aWUmdmFsdWU9dmFsdWUjaHR0cDovLzEyNy4wLjAuMTo4MDAwL3N0b3JhZ2VBY2Nlc3MvaGFzLXN0
b3JhZ2UtYWNjZXNzLXRydWUtaWYtdGhpcmQtcGFydHktaGFzLWNvb2tpZXMtZGF0YWJhc2UuaHRt
bCNmaXJzdFBhcnR5Q29va2llU2V0IjsKLSAgICAgICAgICAgICAgICB9KTsKLSAgICAgICAgICAg
IH0gZWxzZSB7Ci0gICAgICAgICAgICAgICAgbGV0IGlmcmFtZUVsZW1lbnQgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KCJpZnJhbWUiKTsKLSAgICAgICAgICAgICAgICBpZnJhbWVFbGVtZW50Lmlk
ID0gIlRoZUlmcmFtZVRoYXRSZXF1ZXN0c1N0b3JhZ2VBY2Nlc3MiOwotICAgICAgICAgICAgICAg
IGlmcmFtZUVsZW1lbnQuc3JjID0gImh0dHA6Ly9sb2NhbGhvc3Q6ODAwMC9zdG9yYWdlQWNjZXNz
L3Jlc291cmNlcy9oYXMtc3RvcmFnZS1hY2Nlc3MtaWZyYW1lLmh0bWwjcG9saWN5U2hvdWxkR3Jh
bnRBY2Nlc3MiOwotICAgICAgICAgICAgICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoaWZy
YW1lRWxlbWVudCk7Ci0gICAgICAgICAgICB9Ci0gICAgICAgIH0KLSAgICA8L3NjcmlwdD4KLTwv
aGVhZD4KLTxib2R5IG9ubG9hZD0icnVuVGVzdCgpIj4KLTwvYm9keT4KLTwvaHRtbD4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc3RvcmFnZUFjY2Vzcy9oYXMtc3RvcmFnZS1h
Y2Nlc3MtdHJ1ZS1pZi10aGlyZC1wYXJ0eS1oYXMtY29va2llcy1lcGhlbWVyYWwtZGF0YWJhc2Ut
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zdG9yYWdlQWNjZXNzL2hhcy1z
dG9yYWdlLWFjY2Vzcy10cnVlLWlmLXRoaXJkLXBhcnR5LWhhcy1jb29raWVzLWVwaGVtZXJhbC1k
YXRhYmFzZS1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDQ3NzMy
ZjgxMmNmMGNhN2VmZGNmMmJhZDAyYTdjMWQxN2JkNTg2ZTcuLjAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zdG9yYWdl
QWNjZXNzL2hhcy1zdG9yYWdlLWFjY2Vzcy10cnVlLWlmLXRoaXJkLXBhcnR5LWhhcy1jb29raWVz
LWVwaGVtZXJhbC1kYXRhYmFzZS1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSwxMCAr
MCwwIEBACi1UZXN0cyB0aGF0IGRvY3VtZW50Lmhhc1N0b3JhZ2VBY2Nlc3MoKSByZXR1cm5zIHRy
dWUgZm9yIGEgM3JkLXBhcnR5IGlmcmFtZSBpZiB0aGUgM3JkLXBhcnR5IGhhcyBjb29raWVzIHNl
dCAoZXBoZW1lcmFsIHNlc3Npb24pLgotCi1PbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJp
ZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCi0KLQot
UEFTUyBIYXMgc3RvcmFnZSBhY2Nlc3MuIGRvY3VtZW50LmNvb2tpZSA9PSBmaXJzdFBhcnR5Q29v
a2llPXZhbHVlLCBjb29raWVzIHNlZW4gc2VydmVyLXNpZGUgPT0geyJmaXJzdFBhcnR5Q29va2ll
IjoidmFsdWUifQotUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQotCi1URVNUIENPTVBM
RVRFCi0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc3RvcmFnZUFjY2Vzcy9o
YXMtc3RvcmFnZS1hY2Nlc3MtdHJ1ZS1pZi10aGlyZC1wYXJ0eS1oYXMtY29va2llcy1lcGhlbWVy
YWwtZGF0YWJhc2UuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc3RvcmFnZUFjY2Vzcy9o
YXMtc3RvcmFnZS1hY2Nlc3MtdHJ1ZS1pZi10aGlyZC1wYXJ0eS1oYXMtY29va2llcy1lcGhlbWVy
YWwtZGF0YWJhc2UuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMWQ2MDE0YmMx
ZWRlOGEwZWY2OTU1OTMyMGZkZmU5MGJlNjBlN2JkMS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3N0b3JhZ2VBY2Nl
c3MvaGFzLXN0b3JhZ2UtYWNjZXNzLXRydWUtaWYtdGhpcmQtcGFydHktaGFzLWNvb2tpZXMtZXBo
ZW1lcmFsLWRhdGFiYXNlLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSw0MyArMCwwIEBACi08IS0t
IHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUVwaGVtZXJhbFNlc3Npb249dHJ1ZSBdIC0tPgotPCFE
T0NUWVBFIGh0bWw+Ci08aHRtbD4KLTxoZWFkPgotICAgIDxzY3JpcHQgc3JjPSIvanMtdGVzdC1y
ZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+Ci0gICAgPHNjcmlwdCBzcmM9Ii9yZXNvdXJj
ZUxvYWRTdGF0aXN0aWNzL3Jlc291cmNlcy91dGlsLmpzIj48L3NjcmlwdD4KLSAgICA8c2NyaXB0
PgotICAgICAgICBkZXNjcmlwdGlvbigiVGVzdHMgdGhhdCBkb2N1bWVudC5oYXNTdG9yYWdlQWNj
ZXNzKCkgcmV0dXJucyB0cnVlIGZvciBhIDNyZC1wYXJ0eSBpZnJhbWUgaWYgdGhlIDNyZC1wYXJ0
eSBoYXMgY29va2llcyBzZXQgKGVwaGVtZXJhbCBzZXNzaW9uKS4iKTsKLSAgICAgICAganNUZXN0
SXNBc3luYyA9IHRydWU7Ci0KLSAgICAgICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoIm1lc3Nh
Z2UiLCByZWNlaXZlTWVzc2FnZSwgZmFsc2UpOwotCi0gICAgICAgIGZ1bmN0aW9uIHJlY2VpdmVN
ZXNzYWdlKGV2ZW50KSB7Ci0gICAgICAgICAgICBpZiAoZXZlbnQub3JpZ2luID09PSAiaHR0cDov
L2xvY2FsaG9zdDo4MDAwIikgewotICAgICAgICAgICAgICAgIGlmIChldmVudC5kYXRhLmluZGV4
T2YoIlBBU1MiKSAhPT0gLTEpCi0gICAgICAgICAgICAgICAgICAgIHRlc3RQYXNzZWQoZXZlbnQu
ZGF0YS5yZXBsYWNlKCJQQVNTICIsICIiKSk7Ci0gICAgICAgICAgICAgICAgZWxzZQotICAgICAg
ICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGV2ZW50LmRhdGEucmVwbGFjZSgiRkFJTCAiLCAiIikp
OwotICAgICAgICAgICAgfSBlbHNlCi0gICAgICAgICAgICAgICAgdGVzdEZhaWxlZCgiUmVjZWl2
ZWQgYSBtZXNzYWdlIGZyb20gYW4gdW5leHBlY3RlZCBvcmlnaW46ICIgKyBldmVudC5vcmlnaW4p
OwotICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7Ci0gICAgICAgIH0KLQotICAgICAgICBjb25z
dCBob3N0VW5kZXJUZXN0ID0gImxvY2FsaG9zdDo4MDAwIjsKLSAgICAgICAgY29uc3Qgc3RhdGlz
dGljc1VybCA9ICJodHRwOi8vIiArIGhvc3RVbmRlclRlc3Q7Ci0gICAgICAgIGZ1bmN0aW9uIHJ1
blRlc3QoKSB7Ci0gICAgICAgICAgICB0ZXN0UnVubmVyLnNldFVzZUlUUERhdGFiYXNlKHRydWUp
OwotICAgICAgICAgICAgaWYgKGRvY3VtZW50LmxvY2F0aW9uLmhhc2ggIT09ICIjZmlyc3RQYXJ0
eUNvb2tpZVNldCIpIHsKLSAgICAgICAgICAgICAgICBkb2N1bWVudC5sb2NhdGlvbi5ocmVmID0g
c3RhdGlzdGljc1VybCArICIvc3RvcmFnZUFjY2Vzcy9yZXNvdXJjZXMvc2V0LWNvb2tpZS5waHA/
bmFtZT1maXJzdFBhcnR5Q29va2llJnZhbHVlPXZhbHVlI2h0dHA6Ly8xMjcuMC4wLjE6ODAwMC9z
dG9yYWdlQWNjZXNzL2hhcy1zdG9yYWdlLWFjY2Vzcy10cnVlLWlmLXRoaXJkLXBhcnR5LWhhcy1j
b29raWVzLWVwaGVtZXJhbC1kYXRhYmFzZS5odG1sI2ZpcnN0UGFydHlDb29raWVTZXQiOwotICAg
ICAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAgICAgICBzZXRFbmFibGVGZWF0dXJlKGZhbHNl
LCBmdW5jdGlvbiAoKSB7Ci0gICAgICAgICAgICAgICAgICAgIGxldCBpZnJhbWVFbGVtZW50ID0g
ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiaWZyYW1lIik7Ci0gICAgICAgICAgICAgICAgICAgIGlm
cmFtZUVsZW1lbnQuaWQgPSAiVGhlSWZyYW1lVGhhdFJlcXVlc3RzU3RvcmFnZUFjY2VzcyI7Ci0g
ICAgICAgICAgICAgICAgICAgIGlmcmFtZUVsZW1lbnQuc3JjID0gImh0dHA6Ly9sb2NhbGhvc3Q6
ODAwMC9zdG9yYWdlQWNjZXNzL3Jlc291cmNlcy9oYXMtc3RvcmFnZS1hY2Nlc3MtaWZyYW1lLmh0
bWwjcG9saWN5U2hvdWxkR3JhbnRBY2Nlc3MiOwotICAgICAgICAgICAgICAgICAgICBkb2N1bWVu
dC5ib2R5LmFwcGVuZENoaWxkKGlmcmFtZUVsZW1lbnQpOwotICAgICAgICAgICAgICAgIH0pOwot
ICAgICAgICAgICAgfQotICAgICAgICB9Ci0gICAgPC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keSBv
bmxvYWQ9InJ1blRlc3QoKSI+Ci08L2JvZHk+Ci08L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9odHRwL3Rlc3RzL3N0b3JhZ2VBY2Nlc3MvaGFzLXN0b3JhZ2UtYWNjZXNzLXVuZGVyLWdl
bmVyYWwtdGhpcmQtcGFydHktY29va2llLWJsb2NraW5nLXdpdGgtY29va2llLWRhdGFiYXNlLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc3RvcmFnZUFjY2Vzcy9oYXMtc3Rv
cmFnZS1hY2Nlc3MtdW5kZXItZ2VuZXJhbC10aGlyZC1wYXJ0eS1jb29raWUtYmxvY2tpbmctd2l0
aC1jb29raWUtZGF0YWJhc2UtZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCBjYjE3MTAzZDllMWIwYTc0ZjQyNjJjMzdiOWI4NTllNDg4MDQ5MGE5Li4wMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVz
dHMvc3RvcmFnZUFjY2Vzcy9oYXMtc3RvcmFnZS1hY2Nlc3MtdW5kZXItZ2VuZXJhbC10aGlyZC1w
YXJ0eS1jb29raWUtYmxvY2tpbmctd2l0aC1jb29raWUtZGF0YWJhc2UtZXhwZWN0ZWQudHh0Cisr
KyAvZGV2L251bGwKQEAgLTEsMTUgKzAsMCBAQAotVGVzdHMgZG9jdW1lbnQuaGFzU3RvcmFnZUFj
Y2VzcygpIGZvciBhIDNyZC1wYXJ0eSB3aXRoIGNvb2tpZXMgdW5kZXIgZ2VuZXJhbCB0aGlyZC1w
YXJ0eSBjb29raWUgYmxvY2tpbmcuCi0KLU9uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmll
cyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KLQotCi1Q
QVNTIEhhcyBzdG9yYWdlIGFjY2Vzcy4gZG9jdW1lbnQuY29va2llID09IGZpcnN0UGFydHlDb29r
aWU9dmFsdWUsIGNvb2tpZXMgc2VlbiBzZXJ2ZXItc2lkZSA9PSB7ImZpcnN0UGFydHlDb29raWUi
OiJ2YWx1ZSJ9Ci1QQVNTIEhhcyBzdG9yYWdlIGFjY2Vzcy4gZG9jdW1lbnQuY29va2llID09IGZp
cnN0UGFydHlDb29raWU9dmFsdWUsIGNvb2tpZXMgc2VlbiBzZXJ2ZXItc2lkZSA9PSB7ImZpcnN0
UGFydHlDb29raWUiOiJ2YWx1ZSJ9Ci1QQVNTIEhhcyBzdG9yYWdlIGFjY2Vzcy4gZG9jdW1lbnQu
Y29va2llID09IGZpcnN0UGFydHlDb29raWU9dmFsdWUsIGNvb2tpZXMgc2VlbiBzZXJ2ZXItc2lk
ZSA9PSB7ImZpcnN0UGFydHlDb29raWUiOiJ2YWx1ZSJ9Ci1QQVNTIE5vIHN0b3JhZ2UgYWNjZXNz
LiBkb2N1bWVudC5jb29raWUgPT0gLCBjb29raWVzIHNlZW4gc2VydmVyLXNpZGUgPT0gIk5vIGNv
b2tpZXMiCi1QQVNTIE5vIHN0b3JhZ2UgYWNjZXNzLiBkb2N1bWVudC5jb29raWUgPT0gLCBjb29r
aWVzIHNlZW4gc2VydmVyLXNpZGUgPT0gIk5vIGNvb2tpZXMiCi1QQVNTIE5vIHN0b3JhZ2UgYWNj
ZXNzLiBkb2N1bWVudC5jb29raWUgPT0gLCBjb29raWVzIHNlZW4gc2VydmVyLXNpZGUgPT0gIk5v
IGNvb2tpZXMiCi1QQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCi0KLVRFU1QgQ09NUExF
VEUKLQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zdG9yYWdlQWNjZXNzL2hh
cy1zdG9yYWdlLWFjY2Vzcy11bmRlci1nZW5lcmFsLXRoaXJkLXBhcnR5LWNvb2tpZS1ibG9ja2lu
Zy13aXRoLWNvb2tpZS1kYXRhYmFzZS5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zdG9y
YWdlQWNjZXNzL2hhcy1zdG9yYWdlLWFjY2Vzcy11bmRlci1nZW5lcmFsLXRoaXJkLXBhcnR5LWNv
b2tpZS1ibG9ja2luZy13aXRoLWNvb2tpZS1kYXRhYmFzZS5odG1sCmRlbGV0ZWQgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCBhY2Y1ZGYzOGZlNTIxMzg4ZmRkZjIwNWQzODJjMjhkNTU4MWMzZmYyLi4w
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3Rz
L2h0dHAvdGVzdHMvc3RvcmFnZUFjY2Vzcy9oYXMtc3RvcmFnZS1hY2Nlc3MtdW5kZXItZ2VuZXJh
bC10aGlyZC1wYXJ0eS1jb29raWUtYmxvY2tpbmctd2l0aC1jb29raWUtZGF0YWJhc2UuaHRtbAor
KysgL2Rldi9udWxsCkBAIC0xLDEyNCArMCwwIEBACi08IURPQ1RZUEUgaHRtbD4KLTxodG1sPgot
PGhlYWQ+Ci0gICAgPHNjcmlwdCBzcmM9Ii9qcy10ZXN0LXJlc291cmNlcy9qcy10ZXN0LmpzIj48
L3NjcmlwdD4KLSAgICA8c2NyaXB0IHNyYz0iL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvcmVzb3Vy
Y2VzL3V0aWwuanMiPjwvc2NyaXB0PgotICAgIDxzY3JpcHQ+Ci0gICAgICAgIGRlc2NyaXB0aW9u
KCJUZXN0cyBkb2N1bWVudC5oYXNTdG9yYWdlQWNjZXNzKCkgZm9yIGEgM3JkLXBhcnR5IHdpdGgg
Y29va2llcyB1bmRlciBnZW5lcmFsIHRoaXJkLXBhcnR5IGNvb2tpZSBibG9ja2luZy4iKTsKLSAg
ICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7Ci0gICAgICAgIHRlc3RSdW5uZXIuc2V0VXNlSVRQ
RGF0YWJhc2UodHJ1ZSk7Ci0KLSAgICAgICAgY29uc3QgZmlyc3RQYXJ0eVVybCA9ICJodHRwOi8v
MTI3LjAuMC4xOjgwMDAiOwotICAgICAgICBjb25zdCB0aGlyZFBhcnR5VXJsID0gImh0dHA6Ly9s
b2NhbGhvc3Q6ODAwMCI7Ci0KLSAgICAgICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoIm1lc3Nh
Z2UiLCByZWNlaXZlTWVzc2FnZSwgZmFsc2UpOwotCi0gICAgICAgIGZ1bmN0aW9uIHJlY2VpdmVN
ZXNzYWdlKGV2ZW50KSB7Ci0gICAgICAgICAgICBpZiAoZXZlbnQub3JpZ2luID09PSB0aGlyZFBh
cnR5VXJsKSB7Ci0gICAgICAgICAgICAgICAgaWYgKGV2ZW50LmRhdGEuaW5kZXhPZigiUEFTUyIp
ICE9PSAtMSkKLSAgICAgICAgICAgICAgICAgICAgdGVzdFBhc3NlZChldmVudC5kYXRhLnJlcGxh
Y2UoIlBBU1MgIiwgIiIpKTsKLSAgICAgICAgICAgICAgICBlbHNlCi0gICAgICAgICAgICAgICAg
ICAgIHRlc3RGYWlsZWQoZXZlbnQuZGF0YS5yZXBsYWNlKCJGQUlMICIsICIiKSk7Ci0gICAgICAg
ICAgICB9IGVsc2UKLSAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKCJSZWNlaXZlZCBhIG1lc3Nh
Z2UgZnJvbSBhbiB1bmV4cGVjdGVkIG9yaWdpbjogIiArIGV2ZW50Lm9yaWdpbik7Ci0KLSAgICAg
ICAgICAgIGlmIChkb2N1bWVudC5sb2NhdGlvbi5oYXNoID09PSAiI2xhc3RTdGVwIikgewotICAg
ICAgICAgICAgICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc1Nob3VsZEJsb2NrVGhpcmRQYXJ0
eUNvb2tpZXMoZmFsc2UsIGZ1bmN0aW9uKCkgewotICAgICAgICAgICAgICAgICAgICBzZXRFbmFi
bGVGZWF0dXJlKGZhbHNlLCBmaW5pc2hKU1Rlc3QpOwotICAgICAgICAgICAgICAgIH0pOwotICAg
ICAgICAgICAgfSBlbHNlCi0gICAgICAgICAgICAgICAgcnVuVGVzdHMoKTsKLSAgICAgICAgfQot
Ci0gICAgICAgIGZ1bmN0aW9uIHJ1blRlc3RzKCkgewotICAgICAgICAgICAgc3dpdGNoIChkb2N1
bWVudC5sb2NhdGlvbi5oYXNoKSB7Ci0gICAgICAgICAgICAgICAgY2FzZSAiIjoKLSAgICAgICAg
ICAgICAgICAgICAgc2V0RW5hYmxlRmVhdHVyZSh0cnVlLCBmdW5jdGlvbiAoKSB7Ci0gICAgICAg
ICAgICAgICAgICAgICAgICBpZiAodGVzdFJ1bm5lci5pc1N0YXRpc3RpY3NQcmV2YWxlbnRSZXNv
dXJjZSh0aGlyZFBhcnR5VXJsKSkKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICB0ZXN0RmFp
bGVkKCJUaGlyZC1wYXJ0eSBzdGFydGVkIG91dCBhcyBwcmV2YWxlbnQgcmVzb3VyY2UuIik7Ci0g
ICAgICAgICAgICAgICAgICAgICAgICBpZiAodGVzdFJ1bm5lci5pc1N0YXRpc3RpY3NIYXNIYWRV
c2VySW50ZXJhY3Rpb24odGhpcmRQYXJ0eVVybCkpCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgdGVzdEZhaWxlZCgiVGhpcmQtcGFydHkgc3RhcnRlZCBvdXQgbG9nZ2VkIGZvciB1c2VyIGlu
dGVyYWN0aW9uLiIpOwotICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHRlc3RSdW5uZXIuaXNT
dGF0aXN0aWNzSGFzSGFkVXNlckludGVyYWN0aW9uKGZpcnN0UGFydHlVcmwpKQotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoIkZpcnN0LXBhcnR5IHN0YXJ0ZWQgb3V0IGxv
Z2dlZCBmb3IgdXNlciBpbnRlcmFjdGlvbi4iKTsKLSAgICAgICAgICAgICAgICAgICAgICAgIGRv
Y3VtZW50LmxvY2F0aW9uLmhhc2ggPSAic3RlcDEiOwotCi0gICAgICAgICAgICAgICAgICAgICAg
ICAvLyBTZXQgYSBjb29raWUgZm9yIHRoZSB0aGlyZC1wYXJ0eSBhbmQgY29udGludWUuCi0gICAg
ICAgICAgICAgICAgICAgICAgICBkb2N1bWVudC5sb2NhdGlvbi5ocmVmID0gdGhpcmRQYXJ0eVVy
bCArICIvc3RvcmFnZUFjY2Vzcy9yZXNvdXJjZXMvc2V0LWNvb2tpZS5waHA/bmFtZT1maXJzdFBh
cnR5Q29va2llJnZhbHVlPXZhbHVlIyIgKyBmaXJzdFBhcnR5VXJsICsgIi9zdG9yYWdlQWNjZXNz
L2hhcy1zdG9yYWdlLWFjY2Vzcy11bmRlci1nZW5lcmFsLXRoaXJkLXBhcnR5LWNvb2tpZS1ibG9j
a2luZy13aXRoLWNvb2tpZS1kYXRhYmFzZS5odG1sI3N0ZXAxIjsKLSAgICAgICAgICAgICAgICAg
ICAgfSk7Ci0gICAgICAgICAgICAgICAgICAgIGJyZWFrOwotCi0gICAgICAgICAgICAgICAgY2Fz
ZSAiI3N0ZXAxIjoKLSAgICAgICAgICAgICAgICAgICAgZG9jdW1lbnQubG9jYXRpb24uaGFzaCA9
ICJzdGVwMiI7Ci0gICAgICAgICAgICAgICAgICAgIC8vIE5vIGdlbmVyYWwgdGhpcmQtcGFydHkg
Y29va2llIGJsb2NraW5nLCBubyB1c2VyIGludGVyYWN0aW9uLCBub3QgcHJldmFsZW50LgotICAg
ICAgICAgICAgICAgICAgICBsZXQgaWZyYW1lRWxlbWVudCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1l
bnQoImlmcmFtZSIpOwotICAgICAgICAgICAgICAgICAgICBpZnJhbWVFbGVtZW50LnNyYyA9IHRo
aXJkUGFydHlVcmwgKyAiL3N0b3JhZ2VBY2Nlc3MvcmVzb3VyY2VzL2hhcy1zdG9yYWdlLWFjY2Vz
cy1pZnJhbWUuaHRtbD9kdW1teT0iICsgTWF0aC5yYW5kb20oKSArICIjcG9saWN5U2hvdWxkR3Jh
bnRBY2Nlc3MiOwotICAgICAgICAgICAgICAgICAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxk
KGlmcmFtZUVsZW1lbnQpOwotICAgICAgICAgICAgICAgICAgICBicmVhazsKLSAgICAgICAgICAg
ICAgICBjYXNlICIjc3RlcDIiOgotICAgICAgICAgICAgICAgICAgICBkb2N1bWVudC5sb2NhdGlv
bi5oYXNoID0gInN0ZXAzIjsKLSAgICAgICAgICAgICAgICAgICAgLy8gTm8gZ2VuZXJhbCB0aGly
ZC1wYXJ0eSBjb29raWUgYmxvY2tpbmcsIHRoaXJkLXBhcnR5IHVzZXIgaW50ZXJhY3Rpb24sIG5v
dCBwcmV2YWxlbnQuCi0gICAgICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGlj
c0hhc0hhZFVzZXJJbnRlcmFjdGlvbih0aGlyZFBhcnR5VXJsLCB0cnVlLCBmdW5jdGlvbigpIHsK
LSAgICAgICAgICAgICAgICAgICAgICAgIGlmICghdGVzdFJ1bm5lci5pc1N0YXRpc3RpY3NIYXNI
YWRVc2VySW50ZXJhY3Rpb24odGhpcmRQYXJ0eVVybCkpCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgdGVzdEZhaWxlZCgiVGhpcmQtcGFydHkgZGlkIG5vdCBnZXQgbG9nZ2VkIGZvciB1c2Vy
IGludGVyYWN0aW9uLiIpOwotICAgICAgICAgICAgICAgICAgICAgICAgbGV0IGlmcmFtZUVsZW1l
bnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJpZnJhbWUiKTsKLSAgICAgICAgICAgICAgICAg
ICAgICAgIGlmcmFtZUVsZW1lbnQuc3JjID0gdGhpcmRQYXJ0eVVybCArICIvc3RvcmFnZUFjY2Vz
cy9yZXNvdXJjZXMvaGFzLXN0b3JhZ2UtYWNjZXNzLWlmcmFtZS5odG1sP2R1bW15PSIgKyBNYXRo
LnJhbmRvbSgpICsgIiNwb2xpY3lTaG91bGRHcmFudEFjY2VzcyI7Ci0gICAgICAgICAgICAgICAg
ICAgICAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGlmcmFtZUVsZW1lbnQpOwotICAgICAg
ICAgICAgICAgICAgICB9KTsKLSAgICAgICAgICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgICAg
ICAgICAgY2FzZSAiI3N0ZXAzIjoKLSAgICAgICAgICAgICAgICAgICAgZG9jdW1lbnQubG9jYXRp
b24uaGFzaCA9ICJzdGVwNCI7Ci0gICAgICAgICAgICAgICAgICAgIC8vIE5vIGdlbmVyYWwgdGhp
cmQtcGFydHkgY29va2llIGJsb2NraW5nLCBmaXJzdC0gYW5kIHRoaXJkLXBhcnR5IHVzZXIgaW50
ZXJhY3Rpb24sIG5vdCBwcmV2YWxlbnQuCi0gICAgICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIu
c2V0U3RhdGlzdGljc0hhc0hhZFVzZXJJbnRlcmFjdGlvbihmaXJzdFBhcnR5VXJsLCB0cnVlLCBm
dW5jdGlvbigpIHsKLSAgICAgICAgICAgICAgICAgICAgICAgIGlmICghdGVzdFJ1bm5lci5pc1N0
YXRpc3RpY3NIYXNIYWRVc2VySW50ZXJhY3Rpb24oZmlyc3RQYXJ0eVVybCkpCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZCgiRmlyc3QtcGFydHkgZGlkIG5vdCBnZXQgbG9n
Z2VkIGZvciB1c2VyIGludGVyYWN0aW9uLiIpOwotICAgICAgICAgICAgICAgICAgICAgICAgbGV0
IGlmcmFtZUVsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJpZnJhbWUiKTsKLSAgICAg
ICAgICAgICAgICAgICAgICAgIGlmcmFtZUVsZW1lbnQuc3JjID0gdGhpcmRQYXJ0eVVybCArICIv
c3RvcmFnZUFjY2Vzcy9yZXNvdXJjZXMvaGFzLXN0b3JhZ2UtYWNjZXNzLWlmcmFtZS5odG1sP2R1
bW15PSIgKyBNYXRoLnJhbmRvbSgpICsgIiNwb2xpY3lTaG91bGRHcmFudEFjY2VzcyI7Ci0gICAg
ICAgICAgICAgICAgICAgICAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGlmcmFtZUVsZW1l
bnQpOwotICAgICAgICAgICAgICAgICAgICB9KTsKLSAgICAgICAgICAgICAgICAgICAgYnJlYWs7
Ci0gICAgICAgICAgICAgICAgY2FzZSAiI3N0ZXA0IjoKLSAgICAgICAgICAgICAgICAgICAgZG9j
dW1lbnQubG9jYXRpb24uaGFzaCA9ICJzdGVwNSI7Ci0gICAgICAgICAgICAgICAgICAgIC8vIFRo
aXJkLXBhcnR5IGNvb2tpZSBibG9ja2luZyB1bmRlciBmaXJzdC1wYXJ0aWVzIHdpdGhvdXQgdXNl
ciBpbnRlcmFjdGlvbiwgb25seSB0aGlyZC1wYXJ0eSB1c2VyIGludGVyYWN0aW9uLCBub3QgcHJl
dmFsZW50LgotICAgICAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NTaG91
bGRCbG9ja1RoaXJkUGFydHlDb29raWVzKHRydWUsIGZ1bmN0aW9uKCkgewotICAgICAgICAgICAg
ICAgICAgICAgICAgdGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNzSGFzSGFkVXNlckludGVyYWN0aW9u
KGZpcnN0UGFydHlVcmwsIGZhbHNlLCBmdW5jdGlvbigpIHsKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBpZiAodGVzdFJ1bm5lci5pc1N0YXRpc3RpY3NIYXNIYWRVc2VySW50ZXJhY3Rpb24o
Zmlyc3RQYXJ0eVVybCkpCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRlc3RGYWls
ZWQoIkZpcnN0LXBhcnR5IGdvdCBsb2dnZWQgZm9yIHVzZXIgaW50ZXJhY3Rpb24uIik7Ci0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgbGV0IGlmcmFtZUVsZW1lbnQgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KCJpZnJhbWUiKTsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZnJhbWVF
bGVtZW50LnNyYyA9IHRoaXJkUGFydHlVcmwgKyAiL3N0b3JhZ2VBY2Nlc3MvcmVzb3VyY2VzL2hh
cy1zdG9yYWdlLWFjY2Vzcy1pZnJhbWUuaHRtbD9kdW1teT0iICsgTWF0aC5yYW5kb20oKSArICIj
cG9saWN5U2hvdWxkTm90R3JhbnRBY2Nlc3MiOwotICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoaWZyYW1lRWxlbWVudCk7Ci0gICAgICAgICAgICAg
ICAgICAgICAgICB9KTsKLSAgICAgICAgICAgICAgICAgICAgfSwgdHJ1ZSk7Ci0gICAgICAgICAg
ICAgICAgICAgIGJyZWFrOwotICAgICAgICAgICAgICAgIGNhc2UgIiNzdGVwNSI6Ci0gICAgICAg
ICAgICAgICAgICAgIGRvY3VtZW50LmxvY2F0aW9uLmhhc2ggPSAic3RlcDYiOwotICAgICAgICAg
ICAgICAgICAgICAvLyBHZW5lcmFsIHRoaXJkLXBhcnR5IGNvb2tpZSBibG9ja2luZywgZmlyc3Qt
IGFuZCB0aGlyZC1wYXJ0eSB1c2VyIGludGVyYWN0aW9uLCBub3QgcHJldmFsZW50LgotICAgICAg
ICAgICAgICAgICAgICB0ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NTaG91bGRCbG9ja1RoaXJkUGFy
dHlDb29raWVzKHRydWUsIGZ1bmN0aW9uKCkgewotICAgICAgICAgICAgICAgICAgICAgICAgdGVz
dFJ1bm5lci5zZXRTdGF0aXN0aWNzSGFzSGFkVXNlckludGVyYWN0aW9uKGZpcnN0UGFydHlVcmws
IHRydWUsIGZ1bmN0aW9uKCkgewotICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICghdGVz
dFJ1bm5lci5pc1N0YXRpc3RpY3NIYXNIYWRVc2VySW50ZXJhY3Rpb24oZmlyc3RQYXJ0eVVybCkp
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoIkZpcnN0LXBhcnR5
IGRpZCBub3QgZ2V0IGxvZ2dlZCBmb3IgdXNlciBpbnRlcmFjdGlvbi4iKTsKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBsZXQgaWZyYW1lRWxlbWVudCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1l
bnQoImlmcmFtZSIpOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmcmFtZUVsZW1lbnQu
c3JjID0gdGhpcmRQYXJ0eVVybCArICIvc3RvcmFnZUFjY2Vzcy9yZXNvdXJjZXMvaGFzLXN0b3Jh
Z2UtYWNjZXNzLWlmcmFtZS5odG1sP2R1bW15PSIgKyBNYXRoLnJhbmRvbSgpICsgIiNwb2xpY3lT
aG91bGROb3RHcmFudEFjY2VzcyI7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgZG9jdW1l
bnQuYm9keS5hcHBlbmRDaGlsZChpZnJhbWVFbGVtZW50KTsKLSAgICAgICAgICAgICAgICAgICAg
ICAgIH0pOwotICAgICAgICAgICAgICAgICAgICB9LCBmYWxzZSk7Ci0gICAgICAgICAgICAgICAg
ICAgIGJyZWFrOwotICAgICAgICAgICAgICAgIGNhc2UgIiNzdGVwNiI6Ci0gICAgICAgICAgICAg
ICAgICAgIGRvY3VtZW50LmxvY2F0aW9uLmhhc2ggPSAibGFzdFN0ZXAiOwotICAgICAgICAgICAg
ICAgICAgICAvLyBHZW5lcmFsIHRoaXJkLXBhcnR5IGNvb2tpZSBibG9ja2luZywgZmlyc3QtIGFu
ZCB0aGlyZC1wYXJ0eSB1c2VyIGludGVyYWN0aW9uLCBwcmV2YWxlbnQuCi0gICAgICAgICAgICAg
ICAgICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc1ByZXZhbGVudFJlc291cmNlKHRoaXJkUGFy
dHlVcmwsIHRydWUsIGZ1bmN0aW9uKCkgewotICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCF0
ZXN0UnVubmVyLmlzU3RhdGlzdGljc1ByZXZhbGVudFJlc291cmNlKHRoaXJkUGFydHlVcmwpKQot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoIlRoaXJkLXBhcnR5IG5vdCBz
ZXQgYXMgcHJldmFsZW50IHJlc291cmNlLiIpOwotICAgICAgICAgICAgICAgICAgICAgICAgdGVz
dFJ1bm5lci5zdGF0aXN0aWNzVXBkYXRlQ29va2llQmxvY2tpbmcoZnVuY3Rpb24oKSB7Ci0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgbGV0IGlmcmFtZUVsZW1lbnQgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KCJpZnJhbWUiKTsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZnJhbWVF
bGVtZW50LnNyYyA9IHRoaXJkUGFydHlVcmwgKyAiL3N0b3JhZ2VBY2Nlc3MvcmVzb3VyY2VzL2hh
cy1zdG9yYWdlLWFjY2Vzcy1pZnJhbWUuaHRtbD9kdW1teT0iICsgTWF0aC5yYW5kb20oKSArICIj
cG9saWN5U2hvdWxkTm90R3JhbnRBY2Nlc3MiOwotICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoaWZyYW1lRWxlbWVudCk7Ci0gICAgICAgICAgICAg
ICAgICAgICAgICB9KTsKLSAgICAgICAgICAgICAgICAgICAgfSk7Ci0gICAgICAgICAgICAgICAg
ICAgIGJyZWFrOwotICAgICAgICAgICAgfQotICAgICAgICB9Ci0gICAgPC9zY3JpcHQ+Ci08L2hl
YWQ+Ci08Ym9keSBvbmxvYWQ9InJ1blRlc3RzKCkiPgotPC9ib2R5PgotPC9odG1sPgpcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMv
c3RvcmFnZUFjY2Vzcy9oYXMtc3RvcmFnZS1hY2Nlc3MtdW5kZXItZ2VuZXJhbC10aGlyZC1wYXJ0
eS1jb29raWUtYmxvY2tpbmctd2l0aG91dC1jb29raWUtZGF0YWJhc2UtZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zdG9yYWdlQWNjZXNzL2hhcy1zdG9yYWdlLWFjY2Vzcy11
bmRlci1nZW5lcmFsLXRoaXJkLXBhcnR5LWNvb2tpZS1ibG9ja2luZy13aXRob3V0LWNvb2tpZS1k
YXRhYmFzZS1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGM0Yzky
OGFkYWE5NzFhM2Q4ZmM5YjNlMDZmYWFlMDJhOTU0NjM0YzUuLjAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zdG9yYWdl
QWNjZXNzL2hhcy1zdG9yYWdlLWFjY2Vzcy11bmRlci1nZW5lcmFsLXRoaXJkLXBhcnR5LWNvb2tp
ZS1ibG9ja2luZy13aXRob3V0LWNvb2tpZS1kYXRhYmFzZS1leHBlY3RlZC50eHQKKysrIC9kZXYv
bnVsbApAQCAtMSwxNCArMCwwIEBACi1UZXN0cyBkb2N1bWVudC5oYXNTdG9yYWdlQWNjZXNzKCkg
Zm9yIGEgM3JkLXBhcnR5IHdpdGhvdXQgY29va2llcyB1bmRlciBnZW5lcmFsIHRoaXJkLXBhcnR5
IGNvb2tpZSBibG9ja2luZy4KLQotT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9m
ICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgotCi0KLVBBU1Mg
Tm8gc3RvcmFnZSBhY2Nlc3MuIGRvY3VtZW50LmNvb2tpZSA9PSAsIGNvb2tpZXMgc2VlbiBzZXJ2
ZXItc2lkZSA9PSAiTm8gY29va2llcyIKLVBBU1MgTm8gc3RvcmFnZSBhY2Nlc3MuIGRvY3VtZW50
LmNvb2tpZSA9PSAsIGNvb2tpZXMgc2VlbiBzZXJ2ZXItc2lkZSA9PSAiTm8gY29va2llcyIKLVBB
U1MgTm8gc3RvcmFnZSBhY2Nlc3MuIGRvY3VtZW50LmNvb2tpZSA9PSAsIGNvb2tpZXMgc2VlbiBz
ZXJ2ZXItc2lkZSA9PSAiTm8gY29va2llcyIKLVBBU1MgTm8gc3RvcmFnZSBhY2Nlc3MuIGRvY3Vt
ZW50LmNvb2tpZSA9PSAsIGNvb2tpZXMgc2VlbiBzZXJ2ZXItc2lkZSA9PSAiTm8gY29va2llcyIK
LVBBU1MgTm8gc3RvcmFnZSBhY2Nlc3MuIGRvY3VtZW50LmNvb2tpZSA9PSAsIGNvb2tpZXMgc2Vl
biBzZXJ2ZXItc2lkZSA9PSAiTm8gY29va2llcyIKLVBBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlz
IHRydWUKLQotVEVTVCBDT01QTEVURQotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rl
c3RzL3N0b3JhZ2VBY2Nlc3MvaGFzLXN0b3JhZ2UtYWNjZXNzLXVuZGVyLWdlbmVyYWwtdGhpcmQt
cGFydHktY29va2llLWJsb2NraW5nLXdpdGhvdXQtY29va2llLWRhdGFiYXNlLmh0bWwgYi9MYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL3N0b3JhZ2VBY2Nlc3MvaGFzLXN0b3JhZ2UtYWNjZXNzLXVuZGVy
LWdlbmVyYWwtdGhpcmQtcGFydHktY29va2llLWJsb2NraW5nLXdpdGhvdXQtY29va2llLWRhdGFi
YXNlLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGYzZTkxNzZkZWI2MDQxYTIy
Y2UxMjBlNGZiMzJjNTZjYWRmMGYyZGQuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zdG9yYWdlQWNjZXNzL2hhcy1z
dG9yYWdlLWFjY2Vzcy11bmRlci1nZW5lcmFsLXRoaXJkLXBhcnR5LWNvb2tpZS1ibG9ja2luZy13
aXRob3V0LWNvb2tpZS1kYXRhYmFzZS5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsMTA0ICswLDAg
QEAKLTwhRE9DVFlQRSBodG1sPgotPGh0bWw+Ci08aGVhZD4KLSAgICA8c2NyaXB0IHNyYz0iL2pz
LXRlc3QtcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgotICAgIDxzY3JpcHQgc3JjPSIv
cmVzb3VyY2VMb2FkU3RhdGlzdGljcy9yZXNvdXJjZXMvdXRpbC5qcyI+PC9zY3JpcHQ+Ci0gICAg
PHNjcmlwdD4KLSAgICAgICAgZGVzY3JpcHRpb24oIlRlc3RzIGRvY3VtZW50Lmhhc1N0b3JhZ2VB
Y2Nlc3MoKSBmb3IgYSAzcmQtcGFydHkgd2l0aG91dCBjb29raWVzIHVuZGVyIGdlbmVyYWwgdGhp
cmQtcGFydHkgY29va2llIGJsb2NraW5nLiIpOwotICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1
ZTsKLSAgICAgICAgdGVzdFJ1bm5lci5zZXRVc2VJVFBEYXRhYmFzZSh0cnVlKTsKLQotICAgICAg
ICBjb25zdCBmaXJzdFBhcnR5VXJsID0gImh0dHA6Ly8xMjcuMC4wLjE6ODAwMCI7Ci0gICAgICAg
IGNvbnN0IHRoaXJkUGFydHlVcmwgPSAiaHR0cDovL2xvY2FsaG9zdDo4MDAwIjsKLQotICAgICAg
ICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigibWVzc2FnZSIsIHJlY2VpdmVNZXNzYWdlLCBmYWxz
ZSk7Ci0KLSAgICAgICAgZnVuY3Rpb24gcmVjZWl2ZU1lc3NhZ2UoZXZlbnQpIHsKLSAgICAgICAg
ICAgIGlmIChldmVudC5vcmlnaW4gPT09IHRoaXJkUGFydHlVcmwpIHsKLSAgICAgICAgICAgICAg
ICBpZiAoZXZlbnQuZGF0YS5pbmRleE9mKCJQQVNTIikgIT09IC0xKQotICAgICAgICAgICAgICAg
ICAgICB0ZXN0UGFzc2VkKGV2ZW50LmRhdGEucmVwbGFjZSgiUEFTUyAiLCAiIikpOwotICAgICAg
ICAgICAgICAgIGVsc2UKLSAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChldmVudC5kYXRh
LnJlcGxhY2UoIkZBSUwgIiwgIiIpKTsKLSAgICAgICAgICAgIH0gZWxzZQotICAgICAgICAgICAg
ICAgIHRlc3RGYWlsZWQoIlJlY2VpdmVkIGEgbWVzc2FnZSBmcm9tIGFuIHVuZXhwZWN0ZWQgb3Jp
Z2luOiAiICsgZXZlbnQub3JpZ2luKTsKLSAgICAgICAgICAgIGlmIChkb2N1bWVudC5sb2NhdGlv
bi5oYXNoID09PSAiI2xhc3RTdGVwIikgewotICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIuc2V0
U3RhdGlzdGljc1Nob3VsZEJsb2NrVGhpcmRQYXJ0eUNvb2tpZXMoZmFsc2UsIGZ1bmN0aW9uKCkg
ewotICAgICAgICAgICAgICAgICAgICBzZXRFbmFibGVGZWF0dXJlKGZhbHNlLCBmaW5pc2hKU1Rl
c3QpOwotICAgICAgICAgICAgICAgIH0pOwotICAgICAgICAgICAgfSBlbHNlCi0gICAgICAgICAg
ICAgICAgcnVuVGVzdHMoKTsKLSAgICAgICAgfQotCi0gICAgICAgIGZ1bmN0aW9uIHJ1blRlc3Rz
KCkgewotICAgICAgICAgICAgc3dpdGNoIChkb2N1bWVudC5sb2NhdGlvbi5oYXNoKSB7Ci0gICAg
ICAgICAgICAgICAgY2FzZSAiIjoKLSAgICAgICAgICAgICAgICAgICAgc2V0RW5hYmxlRmVhdHVy
ZSh0cnVlLCBmdW5jdGlvbiAoKSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICBpZiAodGVzdFJ1
bm5lci5pc1N0YXRpc3RpY3NQcmV2YWxlbnRSZXNvdXJjZSh0aGlyZFBhcnR5VXJsKSkKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKCJUaGlyZC1wYXJ0eSBzdGFydGVkIG91
dCBhcyBwcmV2YWxlbnQgcmVzb3VyY2UuIik7Ci0gICAgICAgICAgICAgICAgICAgICAgICBpZiAo
dGVzdFJ1bm5lci5pc1N0YXRpc3RpY3NIYXNIYWRVc2VySW50ZXJhY3Rpb24odGhpcmRQYXJ0eVVy
bCkpCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZCgiVGhpcmQtcGFydHkg
c3RhcnRlZCBvdXQgbG9nZ2VkIGZvciB1c2VyIGludGVyYWN0aW9uLiIpOwotICAgICAgICAgICAg
ICAgICAgICAgICAgaWYgKHRlc3RSdW5uZXIuaXNTdGF0aXN0aWNzSGFzSGFkVXNlckludGVyYWN0
aW9uKGZpcnN0UGFydHlVcmwpKQotICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRlc3RGYWls
ZWQoIkZpcnN0LXBhcnR5IHN0YXJ0ZWQgb3V0IGxvZ2dlZCBmb3IgdXNlciBpbnRlcmFjdGlvbi4i
KTsKLSAgICAgICAgICAgICAgICAgICAgICAgIGRvY3VtZW50LmxvY2F0aW9uLmhhc2ggPSAic3Rl
cDEiOwotICAgICAgICAgICAgICAgICAgICAgICAgcnVuVGVzdHMoKTsKLSAgICAgICAgICAgICAg
ICAgICAgfSk7Ci0gICAgICAgICAgICAgICAgICAgIGJyZWFrOwotCi0gICAgICAgICAgICAgICAg
Y2FzZSAiI3N0ZXAxIjoKLSAgICAgICAgICAgICAgICAgICAgZG9jdW1lbnQubG9jYXRpb24uaGFz
aCA9ICJzdGVwMiI7Ci0gICAgICAgICAgICAgICAgICAgIC8vIE5vIGdlbmVyYWwgdGhpcmQtcGFy
dHkgY29va2llIGJsb2NraW5nLCBubyB1c2VyIGludGVyYWN0aW9uLCBub3QgcHJldmFsZW50Lgot
ICAgICAgICAgICAgICAgICAgICBsZXQgaWZyYW1lRWxlbWVudCA9IGRvY3VtZW50LmNyZWF0ZUVs
ZW1lbnQoImlmcmFtZSIpOwotICAgICAgICAgICAgICAgICAgICBpZnJhbWVFbGVtZW50LnNyYyA9
IHRoaXJkUGFydHlVcmwgKyAiL3N0b3JhZ2VBY2Nlc3MvcmVzb3VyY2VzL2hhcy1zdG9yYWdlLWFj
Y2Vzcy1pZnJhbWUuaHRtbCNwb2xpY3lTaG91bGROb3RHcmFudEFjY2VzcyI7Ci0gICAgICAgICAg
ICAgICAgICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoaWZyYW1lRWxlbWVudCk7Ci0gICAg
ICAgICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICAgICAgICAgIGNhc2UgIiNzdGVwMiI6Ci0g
ICAgICAgICAgICAgICAgICAgIGRvY3VtZW50LmxvY2F0aW9uLmhhc2ggPSAic3RlcDMiOwotICAg
ICAgICAgICAgICAgICAgICAvLyBObyBnZW5lcmFsIHRoaXJkLXBhcnR5IGNvb2tpZSBibG9ja2lu
ZywgdGhpcmQtcGFydHkgdXNlciBpbnRlcmFjdGlvbiwgbm90IHByZXZhbGVudC4KLSAgICAgICAg
ICAgICAgICAgICAgdGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNzSGFzSGFkVXNlckludGVyYWN0aW9u
KHRoaXJkUGFydHlVcmwsIHRydWUsIGZ1bmN0aW9uKCkgewotICAgICAgICAgICAgICAgICAgICAg
ICAgaWYgKCF0ZXN0UnVubmVyLmlzU3RhdGlzdGljc0hhc0hhZFVzZXJJbnRlcmFjdGlvbih0aGly
ZFBhcnR5VXJsKSkKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKCJUaGly
ZC1wYXJ0eSBkaWQgbm90IGdldCBsb2dnZWQgZm9yIHVzZXIgaW50ZXJhY3Rpb24uIik7Ci0gICAg
ICAgICAgICAgICAgICAgICAgICBsZXQgaWZyYW1lRWxlbWVudCA9IGRvY3VtZW50LmNyZWF0ZUVs
ZW1lbnQoImlmcmFtZSIpOwotICAgICAgICAgICAgICAgICAgICAgICAgaWZyYW1lRWxlbWVudC5z
cmMgPSB0aGlyZFBhcnR5VXJsICsgIi9zdG9yYWdlQWNjZXNzL3Jlc291cmNlcy9oYXMtc3RvcmFn
ZS1hY2Nlc3MtaWZyYW1lLmh0bWwjcG9saWN5U2hvdWxkTm90R3JhbnRBY2Nlc3MiOwotICAgICAg
ICAgICAgICAgICAgICAgICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChpZnJhbWVFbGVtZW50
KTsKLSAgICAgICAgICAgICAgICAgICAgfSk7Ci0gICAgICAgICAgICAgICAgICAgIGJyZWFrOwot
ICAgICAgICAgICAgICAgIGNhc2UgIiNzdGVwMyI6Ci0gICAgICAgICAgICAgICAgICAgIGRvY3Vt
ZW50LmxvY2F0aW9uLmhhc2ggPSAic3RlcDQiOwotICAgICAgICAgICAgICAgICAgICAvLyBObyBn
ZW5lcmFsIHRoaXJkLXBhcnR5IGNvb2tpZSBibG9ja2luZywgZmlyc3QtIGFuZCB0aGlyZC1wYXJ0
eSB1c2VyIGludGVyYWN0aW9uLCBub3QgcHJldmFsZW50LgotICAgICAgICAgICAgICAgICAgICB0
ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NIYXNIYWRVc2VySW50ZXJhY3Rpb24oZmlyc3RQYXJ0eVVy
bCwgdHJ1ZSwgZnVuY3Rpb24oKSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICBpZiAoIXRlc3RS
dW5uZXIuaXNTdGF0aXN0aWNzSGFzSGFkVXNlckludGVyYWN0aW9uKGZpcnN0UGFydHlVcmwpKQot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoIkZpcnN0LXBhcnR5IGRpZCBu
b3QgZ2V0IGxvZ2dlZCBmb3IgdXNlciBpbnRlcmFjdGlvbi4iKTsKLSAgICAgICAgICAgICAgICAg
ICAgICAgIGxldCBpZnJhbWVFbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiaWZyYW1l
Iik7Ci0gICAgICAgICAgICAgICAgICAgICAgICBpZnJhbWVFbGVtZW50LnNyYyA9IHRoaXJkUGFy
dHlVcmwgKyAiL3N0b3JhZ2VBY2Nlc3MvcmVzb3VyY2VzL2hhcy1zdG9yYWdlLWFjY2Vzcy1pZnJh
bWUuaHRtbCNwb2xpY3lTaG91bGROb3RHcmFudEFjY2VzcyI7Ci0gICAgICAgICAgICAgICAgICAg
ICAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGlmcmFtZUVsZW1lbnQpOwotICAgICAgICAg
ICAgICAgICAgICB9KTsKLSAgICAgICAgICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgICAgICAg
ICAgY2FzZSAiI3N0ZXA0IjoKLSAgICAgICAgICAgICAgICAgICAgZG9jdW1lbnQubG9jYXRpb24u
aGFzaCA9ICJzdGVwNSI7Ci0gICAgICAgICAgICAgICAgICAgIC8vIEdlbmVyYWwgdGhpcmQtcGFy
dHkgY29va2llIGJsb2NraW5nLCBmaXJzdC0gYW5kIHRoaXJkLXBhcnR5IHVzZXIgaW50ZXJhY3Rp
b24sIG5vdCBwcmV2YWxlbnQuCi0gICAgICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIuc2V0U3Rh
dGlzdGljc1Nob3VsZEJsb2NrVGhpcmRQYXJ0eUNvb2tpZXModHJ1ZSwgZnVuY3Rpb24oKSB7Ci0g
ICAgICAgICAgICAgICAgICAgICAgICBsZXQgaWZyYW1lRWxlbWVudCA9IGRvY3VtZW50LmNyZWF0
ZUVsZW1lbnQoImlmcmFtZSIpOwotICAgICAgICAgICAgICAgICAgICAgICAgaWZyYW1lRWxlbWVu
dC5zcmMgPSB0aGlyZFBhcnR5VXJsICsgIi9zdG9yYWdlQWNjZXNzL3Jlc291cmNlcy9oYXMtc3Rv
cmFnZS1hY2Nlc3MtaWZyYW1lLmh0bWwjcG9saWN5U2hvdWxkTm90R3JhbnRBY2Nlc3MiOwotICAg
ICAgICAgICAgICAgICAgICAgICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChpZnJhbWVFbGVt
ZW50KTsKLSAgICAgICAgICAgICAgICAgICAgfSk7Ci0gICAgICAgICAgICAgICAgICAgIGJyZWFr
OwotICAgICAgICAgICAgICAgIGNhc2UgIiNzdGVwNSI6Ci0gICAgICAgICAgICAgICAgICAgIGRv
Y3VtZW50LmxvY2F0aW9uLmhhc2ggPSAibGFzdFN0ZXAiOwotICAgICAgICAgICAgICAgICAgICAv
LyBHZW5lcmFsIHRoaXJkLXBhcnR5IGNvb2tpZSBibG9ja2luZywgZmlyc3QtIGFuZCB0aGlyZC1w
YXJ0eSB1c2VyIGludGVyYWN0aW9uLCBwcmV2YWxlbnQuCi0gICAgICAgICAgICAgICAgICAgIHRl
c3RSdW5uZXIuc2V0U3RhdGlzdGljc1ByZXZhbGVudFJlc291cmNlKHRoaXJkUGFydHlVcmwsIHRy
dWUsIGZ1bmN0aW9uKCkgewotICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCF0ZXN0UnVubmVy
LmlzU3RhdGlzdGljc1ByZXZhbGVudFJlc291cmNlKHRoaXJkUGFydHlVcmwpKQotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoIlRoaXJkLXBhcnR5IG5vdCBzZXQgYXMgcHJl
dmFsZW50IHJlc291cmNlLiIpOwotICAgICAgICAgICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5z
dGF0aXN0aWNzVXBkYXRlQ29va2llQmxvY2tpbmcoZnVuY3Rpb24oKSB7Ci0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgbGV0IGlmcmFtZUVsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KCJpZnJhbWUiKTsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZnJhbWVFbGVtZW50LnNy
YyA9IHRoaXJkUGFydHlVcmwgKyAiL3N0b3JhZ2VBY2Nlc3MvcmVzb3VyY2VzL2hhcy1zdG9yYWdl
LWFjY2Vzcy1pZnJhbWUuaHRtbCNwb2xpY3lTaG91bGROb3RHcmFudEFjY2VzcyI7Ci0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChpZnJhbWVFbGVt
ZW50KTsKLSAgICAgICAgICAgICAgICAgICAgICAgIH0pOwotICAgICAgICAgICAgICAgICAgICB9
KTsKLSAgICAgICAgICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgICAgICB9Ci0gICAgICAgIH0K
LSAgICA8L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5IG9ubG9hZD0icnVuVGVzdHMoKSI+Ci08L2Jv
ZHk+Ci08L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy9zdG9yYWdlQWNjZXNzL3JlbW92ZS1yZXF1ZXN0aW5nLWlmcmFt
ZS1kYXRhYmFzZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3N0b3JhZ2VB
Y2Nlc3MvcmVtb3ZlLXJlcXVlc3RpbmctaWZyYW1lLWRhdGFiYXNlLWV4cGVjdGVkLnR4dApkZWxl
dGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNzA1NDZkMjkzMjc5NDMwOTQzNjIzZTk5YzM3Yjcx
NzYzNmIyMzBkMi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0g
YS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3N0b3JhZ2VBY2Nlc3MvcmVtb3ZlLXJlcXVlc3Rpbmct
aWZyYW1lLWRhdGFiYXNlLWV4cGVjdGVkLnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDEwICswLDAg
QEAKLVRlc3RzIHRoYXQgU3RvcmFnZSBBY2Nlc3MgQVBJIGNhbGxzIHdvcmsgd2VsbCBmb3IgcmVt
b3ZlZCBmcmFtZXMuCi0KLU9uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFT
UyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KLQotCi1QQVNTIGlmcmFt
ZSByZW1vdmVkLgotUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQotCi1URVNUIENPTVBM
RVRFCi0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc3RvcmFnZUFjY2Vzcy9y
ZW1vdmUtcmVxdWVzdGluZy1pZnJhbWUtZGF0YWJhc2UuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAv
dGVzdHMvc3RvcmFnZUFjY2Vzcy9yZW1vdmUtcmVxdWVzdGluZy1pZnJhbWUtZGF0YWJhc2UuaHRt
bApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMjI2MTc0YmM0ZTFhY2I3ZDRkMDkzZTRm
NWUzZTAxNWU2YjA1M2NmNi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3N0b3JhZ2VBY2Nlc3MvcmVtb3ZlLXJlcXVl
c3RpbmctaWZyYW1lLWRhdGFiYXNlLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSw2MyArMCwwIEBA
Ci08IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZp
ZXdwb3J0PXRydWUgXSAtLT4KLTxodG1sPgotPGhlYWQ+Ci0gICAgPG1ldGEgbmFtZT0idmlld3Bv
cnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNj
YWxhYmxlPW5vIj4KLSAgICA8c2NyaXB0IHNyYz0iL2pzLXRlc3QtcmVzb3VyY2VzL2pzLXRlc3Qu
anMiPjwvc2NyaXB0PgotICAgIDxzY3JpcHQgc3JjPSIvanMtdGVzdC1yZXNvdXJjZXMvdWktaGVs
cGVyLmpzIj48L3NjcmlwdD4KLSAgICA8c2NyaXB0IHNyYz0iL3Jlc291cmNlTG9hZFN0YXRpc3Rp
Y3MvcmVzb3VyY2VzL3V0aWwuanMiPjwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHkgb25sb2FkPSJy
dW5UZXN0KCkiPgotPHNjcmlwdD4KLSAgICBkZXNjcmlwdGlvbigiVGVzdHMgdGhhdCBTdG9yYWdl
IEFjY2VzcyBBUEkgY2FsbHMgd29yayB3ZWxsIGZvciByZW1vdmVkIGZyYW1lcy4iKTsKLSAgICBq
c1Rlc3RJc0FzeW5jID0gdHJ1ZTsKLSAgICB0ZXN0UnVubmVyLnNldFVzZUlUUERhdGFiYXNlKHRy
dWUpOwotICAgIAotICAgIGZ1bmN0aW9uIGZpbmlzaFRlc3QoKSB7Ci0gICAgICAgIHNldEVuYWJs
ZUZlYXR1cmUoZmFsc2UsIGZpbmlzaEpTVGVzdCk7Ci0gICAgfQotCi0gICAgZnVuY3Rpb24gcmVj
ZWl2ZU1lc3NhZ2UoKSB7Ci0gICAgICAgIHJlcXVlc3RpbmdpZnJhbWUucmVtb3ZlKCk7Ci0gICAg
ICAgIHRlc3RQYXNzZWQoImlmcmFtZSByZW1vdmVkLiIpOwotICAgICAgICBzZXRUaW1lb3V0KGZp
bmlzaFRlc3QsIDAuNSk7Ci0gICAgfQotCi0gICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoIm1l
c3NhZ2UiLCByZWNlaXZlTWVzc2FnZSwgZmFsc2UpOwotCi0gICAgZnVuY3Rpb24gYWN0aXZhdGVF
bGVtZW50KGVsZW1lbnRJZCkgewotICAgICAgICB2YXIgZWxlbWVudCA9IGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKGVsZW1lbnRJZCk7Ci0gICAgICAgIHZhciBjZW50ZXJYID0gZWxlbWVudC5vZmZz
ZXRMZWZ0ICsgZWxlbWVudC5vZmZzZXRXaWR0aCAvIDI7Ci0gICAgICAgIHZhciBjZW50ZXJZID0g
ZWxlbWVudC5vZmZzZXRUb3AgKyBlbGVtZW50Lm9mZnNldEhlaWdodCAvIDI7Ci0gICAgICAgIFVJ
SGVscGVyLmFjdGl2YXRlQXQoY2VudGVyWCwgY2VudGVyWSkudGhlbigKLSAgICAgICAgICAgIGZ1
bmN0aW9uICgpIHsKLSAgICAgICAgICAgICAgICBpZiAod2luZG93LmV2ZW50U2VuZGVyKQotICAg
ICAgICAgICAgICAgICAgICBldmVudFNlbmRlci5rZXlEb3duKCJlc2NhcGUiKTsKLSAgICAgICAg
ICAgICAgICBlbHNlIHsKLSAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZCgiTm8gZXZlbnRT
ZW5kZXIuIik7Ci0gICAgICAgICAgICAgICAgICAgIGZpbmlzaFRlc3QoKTsKLSAgICAgICAgICAg
ICAgICB9Ci0gICAgICAgICAgICB9LAotICAgICAgICAgICAgZnVuY3Rpb24gKCkgewotICAgICAg
ICAgICAgICAgIHRlc3RGYWlsZWQoIlByb21pc2UgcmVqZWN0ZWQuIik7Ci0gICAgICAgICAgICAg
ICAgZmluaXNoVGVzdCgpOwotICAgICAgICAgICAgfQotICAgICAgICApOwotICAgIH0KLQotICAg
IGNvbnN0IGlmcmFtZUlEID0gInJlcXVlc3RpbmdpZnJhbWUiOwotICAgIGNvbnN0IGlmcmFtZVNv
dXJjZSA9ICJodHRwOi8vbG9jYWxob3N0OjgwMDAvc3RvcmFnZUFjY2Vzcy9yZXNvdXJjZXMvcmVx
dWVzdC1zdG9yYWdlLWFjY2Vzcy1hbmQtaW1tZWRpYXRlbHktcG9zdG1lc3NhZ2UtaWZyYW1lLmh0
bWwiOwotCi0gICAgZnVuY3Rpb24gcnVuVGVzdCgpIHsKLSAgICAgICAgbGV0IGlmcmFtZUVsZW1l
bnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJpZnJhbWUiKTsKLSAgICAgICAgaWZyYW1lRWxl
bWVudC5vbmxvYWQgPSBmdW5jdGlvbigpIHsKLSAgICAgICAgICAgIHRlc3RSdW5uZXIuc3RhdGlz
dGljc1VwZGF0ZUNvb2tpZUJsb2NraW5nKGZ1bmN0aW9uKCkgewotICAgICAgICAgICAgICAgIGFj
dGl2YXRlRWxlbWVudChpZnJhbWVJRCk7Ci0gICAgICAgICAgICB9KTsKLSAgICAgICAgfTsKLSAg
ICAgICAgaWZyYW1lRWxlbWVudC5pZCA9IGlmcmFtZUlEOwotICAgICAgICBpZnJhbWVFbGVtZW50
LnNyYyA9IGlmcmFtZVNvdXJjZTsKLSAgICAgICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChp
ZnJhbWVFbGVtZW50KTsKLSAgICB9Ci08L3NjcmlwdD4KLTwvYm9keT4KLTwvaHRtbD4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc3RvcmFnZUFjY2Vzcy9yZXF1ZXN0LWFuZC1n
cmFudC1hY2Nlc3MtY3Jvc3Mtb3JpZ2luLW5vbi1zYW5kYm94ZWQtaWZyYW1lLWRhdGFiYXNlLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc3RvcmFnZUFjY2Vzcy9yZXF1ZXN0
LWFuZC1ncmFudC1hY2Nlc3MtY3Jvc3Mtb3JpZ2luLW5vbi1zYW5kYm94ZWQtaWZyYW1lLWRhdGFi
YXNlLWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggOWRmNTM3YjI5
ZjMzNjg3MmE1MjExOTRkYTRkMWYzM2VlODA1NThmMy4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3N0b3JhZ2VBY2Nl
c3MvcmVxdWVzdC1hbmQtZ3JhbnQtYWNjZXNzLWNyb3NzLW9yaWdpbi1ub24tc2FuZGJveGVkLWlm
cmFtZS1kYXRhYmFzZS1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSwxMCArMCwwIEBA
Ci1UZXN0cyB0aGF0IGNyb3NzLW9yaWdpbiBpZnJhbWUgc3RvcmFnZSBhY2Nlc3MgaXMgZ3JhbnRl
ZCBpZiB0aGUgaWZyYW1lIGlzIG5vdCBzYW5kYm94ZWQgYW5kIHRoZSB1c2VyIGFjY2VwdHMuCi0K
LU9uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZv
bGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KLQotCi1QQVNTIFN0b3JhZ2UgYWNjZXNzIHdhcyBn
cmFudGVkLiBkb2N1bWVudC5jb29raWUgPT0gLCBjb29raWVzIHNlZW4gc2VydmVyLXNpZGUgPT0g
Ik5vIGNvb2tpZXMiCi1QQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCi0KLVRFU1QgQ09N
UExFVEUKLQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zdG9yYWdlQWNjZXNz
L3JlcXVlc3QtYW5kLWdyYW50LWFjY2Vzcy1jcm9zcy1vcmlnaW4tbm9uLXNhbmRib3hlZC1pZnJh
bWUtZGF0YWJhc2UuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc3RvcmFnZUFjY2Vzcy9y
ZXF1ZXN0LWFuZC1ncmFudC1hY2Nlc3MtY3Jvc3Mtb3JpZ2luLW5vbi1zYW5kYm94ZWQtaWZyYW1l
LWRhdGFiYXNlLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGUyZTk5YmFhNjUy
ZGU3ODQ3NDZlNjE2ZTAzZjI0NmYyZmZlMWZiMGMuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zdG9yYWdlQWNjZXNz
L3JlcXVlc3QtYW5kLWdyYW50LWFjY2Vzcy1jcm9zcy1vcmlnaW4tbm9uLXNhbmRib3hlZC1pZnJh
bWUtZGF0YWJhc2UuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDY4ICswLDAgQEAKLTwhRE9DVFlQ
RSBodG1sPgotPGh0bWw+Ci08aGVhZD4KLSAgICA8c2NyaXB0IHNyYz0iL2pzLXRlc3QtcmVzb3Vy
Y2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgotICAgIDxzY3JpcHQgc3JjPSIvanMtdGVzdC1yZXNv
dXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KLSAgICA8c2NyaXB0IHNyYz0iL3Jlc291cmNl
TG9hZFN0YXRpc3RpY3MvcmVzb3VyY2VzL3V0aWwuanMiPjwvc2NyaXB0PgotICAgIDxzY3JpcHQ+
Ci0gICAgICAgIGRlc2NyaXB0aW9uKCJUZXN0cyB0aGF0IGNyb3NzLW9yaWdpbiBpZnJhbWUgc3Rv
cmFnZSBhY2Nlc3MgaXMgZ3JhbnRlZCBpZiB0aGUgaWZyYW1lIGlzIG5vdCBzYW5kYm94ZWQgYW5k
IHRoZSB1c2VyIGFjY2VwdHMuIik7Ci0gICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOwotICAg
ICAgICB0ZXN0UnVubmVyLnNldFVzZUlUUERhdGFiYXNlKHRydWUpOwotCi0gICAgICAgIGNvbnN0
IGhvc3RVbmRlclRlc3QgPSAibG9jYWxob3N0OjgwMDAiOwotICAgICAgICBjb25zdCBzdGF0aXN0
aWNzVXJsID0gImh0dHA6Ly8iICsgaG9zdFVuZGVyVGVzdCArICIvdGVtcCI7Ci0KLSAgICAgICAg
d2luZG93LmFkZEV2ZW50TGlzdGVuZXIoIm1lc3NhZ2UiLCByZWNlaXZlTWVzc2FnZSwgZmFsc2Up
OwotCi0gICAgICAgIGZ1bmN0aW9uIHJlY2VpdmVNZXNzYWdlKGV2ZW50KSB7Ci0gICAgICAgICAg
ICBpZiAoZXZlbnQub3JpZ2luID09PSAiaHR0cDovL2xvY2FsaG9zdDo4MDAwIikgewotICAgICAg
ICAgICAgICAgIGlmIChldmVudC5kYXRhLmluZGV4T2YoIlBBU1MgIikgIT09IC0xKQotICAgICAg
ICAgICAgICAgICAgICB0ZXN0UGFzc2VkKGV2ZW50LmRhdGEucmVwbGFjZSgiUEFTUyAiLCAiIikp
OwotICAgICAgICAgICAgICAgIGVsc2UKLSAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChl
dmVudC5kYXRhKTsKLSAgICAgICAgICAgIH0gZWxzZQotICAgICAgICAgICAgICAgIHRlc3RGYWls
ZWQoIlJlY2VpdmVkIGEgbWVzc2FnZSBmcm9tIGFuIHVuZXhwZWN0ZWQgb3JpZ2luOiAiICsgZXZl
bnQub3JpZ2luKTsKLSAgICAgICAgICAgIHNldEVuYWJsZUZlYXR1cmUoZmFsc2UsIGZpbmlzaEpT
VGVzdCk7Ci0gICAgICAgIH0KLQotICAgICAgICBmdW5jdGlvbiBhY3RpdmF0ZUVsZW1lbnQoZWxl
bWVudElkKSB7Ci0gICAgICAgICAgICB2YXIgZWxlbWVudCA9IGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKGVsZW1lbnRJZCk7Ci0gICAgICAgICAgICB2YXIgY2VudGVyWCA9IGVsZW1lbnQub2Zmc2V0
TGVmdCArIGVsZW1lbnQub2Zmc2V0V2lkdGggLyAyOwotICAgICAgICAgICAgdmFyIGNlbnRlclkg
PSBlbGVtZW50Lm9mZnNldFRvcCArIGVsZW1lbnQub2Zmc2V0SGVpZ2h0IC8gMjsKLSAgICAgICAg
ICAgIFVJSGVscGVyLmFjdGl2YXRlQXQoY2VudGVyWCwgY2VudGVyWSkudGhlbigKLSAgICAgICAg
ICAgICAgICBmdW5jdGlvbiAoKSB7Ci0gICAgICAgICAgICAgICAgICAgIGlmICh3aW5kb3cuZXZl
bnRTZW5kZXIpCi0gICAgICAgICAgICAgICAgICAgICAgICBldmVudFNlbmRlci5rZXlEb3duKCJl
c2NhcGUiKTsKLSAgICAgICAgICAgICAgICAgICAgZWxzZSB7Ci0gICAgICAgICAgICAgICAgICAg
ICAgICB0ZXN0RmFpbGVkKCJObyBldmVudFNlbmRlci4iKTsKLSAgICAgICAgICAgICAgICAgICAg
ICAgIHNldEVuYWJsZUZlYXR1cmUoZmFsc2UsIGZpbmlzaEpTVGVzdCk7Ci0gICAgICAgICAgICAg
ICAgICAgIH0KLSAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgIGZ1bmN0aW9uICgp
IHsKLSAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZCgiUHJvbWlzZSByZWplY3RlZC4iKTsK
LSAgICAgICAgICAgICAgICAgICAgc2V0RW5hYmxlRmVhdHVyZShmYWxzZSwgZmluaXNoSlNUZXN0
KTsKLSAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICApOwotICAgICAgICB9Ci0KLSAgICAg
ICAgZnVuY3Rpb24gcnVuVGVzdCgpIHsKLSAgICAgICAgICAgIHNldEVuYWJsZUZlYXR1cmUodHJ1
ZSwgZnVuY3Rpb24oKSB7Ci0gICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNz
UHJldmFsZW50UmVzb3VyY2Uoc3RhdGlzdGljc1VybCwgdHJ1ZSwgZnVuY3Rpb24oKSB7Ci0gICAg
ICAgICAgICAgICAgICAgIGlmICghdGVzdFJ1bm5lci5pc1N0YXRpc3RpY3NQcmV2YWxlbnRSZXNv
dXJjZShzdGF0aXN0aWNzVXJsKSkKLSAgICAgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQo
Ikhvc3QgZGlkIG5vdCBnZXQgc2V0IGFzIHByZXZhbGVudCByZXNvdXJjZS4iKTsKLSAgICAgICAg
ICAgICAgICAgICAgdGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNzSGFzSGFkVXNlckludGVyYWN0aW9u
KHN0YXRpc3RpY3NVcmwsIHRydWUsIGZ1bmN0aW9uKCkgewotICAgICAgICAgICAgICAgICAgICAg
ICAgaWYgKCF0ZXN0UnVubmVyLmlzU3RhdGlzdGljc0hhc0hhZFVzZXJJbnRlcmFjdGlvbihzdGF0
aXN0aWNzVXJsKSkKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKCJIb3N0
IGRpZCBub3QgZ2V0IGxvZ2dlZCBmb3IgdXNlciBpbnRlcmFjdGlvbi4iKTsKLSAgICAgICAgICAg
ICAgICAgICAgICAgIHRlc3RSdW5uZXIuc3RhdGlzdGljc1VwZGF0ZUNvb2tpZUJsb2NraW5nKGZ1
bmN0aW9uKCkgewotICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFjdGl2YXRlRWxlbWVudCgi
VGhlSWZyYW1lVGhhdFJlcXVlc3RzU3RvcmFnZUFjY2VzcyIpOwotICAgICAgICAgICAgICAgICAg
ICAgICAgfSk7Ci0gICAgICAgICAgICAgICAgICAgIH0pOwotICAgICAgICAgICAgICAgIH0pOwot
ICAgICAgICAgICAgfSk7Ci0gICAgICAgIH0KLSAgICA8L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5
PgotICAgIDxpZnJhbWUgb25sb2FkPSJydW5UZXN0KCkiIGlkPSJUaGVJZnJhbWVUaGF0UmVxdWVz
dHNTdG9yYWdlQWNjZXNzIiBzcmM9Imh0dHA6Ly9sb2NhbGhvc3Q6ODAwMC9zdG9yYWdlQWNjZXNz
L3Jlc291cmNlcy9yZXF1ZXN0LXN0b3JhZ2UtYWNjZXNzLWlmcmFtZS5odG1sI3VzZXJTaG91bGRH
cmFudEFjY2Vzcyx1c2VyU2hvdWxkQmVDb25zdWx0ZWQscG9saWN5U2hvdWxkR3JhbnRBY2Nlc3Ms
aXNOb3RTYW1lT3JpZ2luSWZyYW1lIj48L2lmcmFtZT4KLTwvYm9keT4KLTwvaHRtbD4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc3RvcmFnZUFjY2Vzcy9yZXF1ZXN0LWFuZC1n
cmFudC1hY2Nlc3MtY3Jvc3Mtb3JpZ2luLXNhbmRib3hlZC1pZnJhbWUtZGF0YWJhc2UtZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zdG9yYWdlQWNjZXNzL3JlcXVlc3QtYW5k
LWdyYW50LWFjY2Vzcy1jcm9zcy1vcmlnaW4tc2FuZGJveGVkLWlmcmFtZS1kYXRhYmFzZS1leHBl
Y3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDZjNzVlNjc4YzI5M2E3M2U3
NjI3NDk5M2M2ZDVmODM0MGI4YmNlNjYuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zdG9yYWdlQWNjZXNzL3JlcXVl
c3QtYW5kLWdyYW50LWFjY2Vzcy1jcm9zcy1vcmlnaW4tc2FuZGJveGVkLWlmcmFtZS1kYXRhYmFz
ZS1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSwxMCArMCwwIEBACi1UZXN0cyB0aGF0
IGNyb3NzLW9yaWdpbiBpZnJhbWUgc3RvcmFnZSBhY2Nlc3MgaXMgZ3JhbnRlZCBpZiB0aGUgaWZy
YW1lIGlzIHNhbmRib3hlZCwgaGFzIHRoZSBhbGxvdyB0b2tlbiwgYW5kIHRoZSB1c2VyIG9wdHMg
aW4uCi0KLU9uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2Fn
ZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KLQotCi1QQVNTIFN0b3JhZ2UgYWNjZXNz
IHdhcyBncmFudGVkLiBkb2N1bWVudC5jb29raWUgPT0gLCBjb29raWVzIHNlZW4gc2VydmVyLXNp
ZGUgPT0gIk5vIGNvb2tpZXMiCi1QQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCi0KLVRF
U1QgQ09NUExFVEUKLQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zdG9yYWdl
QWNjZXNzL3JlcXVlc3QtYW5kLWdyYW50LWFjY2Vzcy1jcm9zcy1vcmlnaW4tc2FuZGJveGVkLWlm
cmFtZS1kYXRhYmFzZS5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zdG9yYWdlQWNjZXNz
L3JlcXVlc3QtYW5kLWdyYW50LWFjY2Vzcy1jcm9zcy1vcmlnaW4tc2FuZGJveGVkLWlmcmFtZS1k
YXRhYmFzZS5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAyY2ZlOWFiNjA0N2Jh
OTQwYTQwMWVkNTc2YzZjYWU2NTZmNThkNDY4Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc3RvcmFnZUFjY2Vzcy9y
ZXF1ZXN0LWFuZC1ncmFudC1hY2Nlc3MtY3Jvc3Mtb3JpZ2luLXNhbmRib3hlZC1pZnJhbWUtZGF0
YWJhc2UuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDU1ICswLDAgQEAKLTwhRE9DVFlQRSBodG1s
PgotPGh0bWw+Ci08aGVhZD4KLSAgICA8c2NyaXB0IHNyYz0iL2pzLXRlc3QtcmVzb3VyY2VzL2pz
LXRlc3QuanMiPjwvc2NyaXB0PgotICAgIDxzY3JpcHQgc3JjPSIvanMtdGVzdC1yZXNvdXJjZXMv
dWktaGVscGVyLmpzIj48L3NjcmlwdD4KLSAgICA8c2NyaXB0IHNyYz0iL3Jlc291cmNlTG9hZFN0
YXRpc3RpY3MvcmVzb3VyY2VzL3V0aWwuanMiPjwvc2NyaXB0PgotICAgIDxzY3JpcHQ+Ci0gICAg
ICAgIGRlc2NyaXB0aW9uKCJUZXN0cyB0aGF0IGNyb3NzLW9yaWdpbiBpZnJhbWUgc3RvcmFnZSBh
Y2Nlc3MgaXMgZ3JhbnRlZCBpZiB0aGUgaWZyYW1lIGlzIHNhbmRib3hlZCwgaGFzIHRoZSBhbGxv
dyB0b2tlbiwgYW5kIHRoZSB1c2VyIG9wdHMgaW4uIik7Ci0gICAgICAgIGpzVGVzdElzQXN5bmMg
PSB0cnVlOwotCi0gICAgICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJtZXNzYWdlIiwgcmVj
ZWl2ZU1lc3NhZ2UsIGZhbHNlKTsKLQotICAgICAgICBmdW5jdGlvbiByZWNlaXZlTWVzc2FnZShl
dmVudCkgewotICAgICAgICAgICAgaWYgKGV2ZW50Lm9yaWdpbiA9PT0gImh0dHA6Ly9sb2NhbGhv
c3Q6ODAwMCIpIHsKLSAgICAgICAgICAgICAgICBpZiAoZXZlbnQuZGF0YS5pbmRleE9mKCJQQVNT
IikgIT09IC0xKQotICAgICAgICAgICAgICAgICAgICB0ZXN0UGFzc2VkKGV2ZW50LmRhdGEucmVw
bGFjZSgiUEFTUyAiLCAiIikpOwotICAgICAgICAgICAgICAgIGVsc2UKLSAgICAgICAgICAgICAg
ICAgICAgdGVzdEZhaWxlZChldmVudC5kYXRhKTsKLSAgICAgICAgICAgIH0gZWxzZQotICAgICAg
ICAgICAgICAgIHRlc3RGYWlsZWQoIlJlY2VpdmVkIGEgbWVzc2FnZSBmcm9tIGFuIHVuZXhwZWN0
ZWQgb3JpZ2luOiAiICsgZXZlbnQub3JpZ2luKTsKLSAgICAgICAgICAgIHNldEVuYWJsZUZlYXR1
cmUoZmFsc2UsIGZpbmlzaEpTVGVzdCk7Ci0gICAgICAgIH0KLQotICAgICAgICBmdW5jdGlvbiBh
Y3RpdmF0ZUVsZW1lbnQoZWxlbWVudElkKSB7Ci0gICAgICAgICAgICB2YXIgZWxlbWVudCA9IGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKGVsZW1lbnRJZCk7Ci0gICAgICAgICAgICB2YXIgY2VudGVy
WCA9IGVsZW1lbnQub2Zmc2V0TGVmdCArIGVsZW1lbnQub2Zmc2V0V2lkdGggLyAyOwotICAgICAg
ICAgICAgdmFyIGNlbnRlclkgPSBlbGVtZW50Lm9mZnNldFRvcCArIGVsZW1lbnQub2Zmc2V0SGVp
Z2h0IC8gMjsKLSAgICAgICAgICAgIFVJSGVscGVyLmFjdGl2YXRlQXQoY2VudGVyWCwgY2VudGVy
WSkudGhlbigKLSAgICAgICAgICAgICAgICBmdW5jdGlvbiAoKSB7Ci0gICAgICAgICAgICAgICAg
ICAgIGlmICh3aW5kb3cuZXZlbnRTZW5kZXIpCi0gICAgICAgICAgICAgICAgICAgICAgICBldmVu
dFNlbmRlci5rZXlEb3duKCJlc2NhcGUiKTsKLSAgICAgICAgICAgICAgICAgICAgZWxzZSB7Ci0g
ICAgICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKCJObyBldmVudFNlbmRlci4iKTsKLSAg
ICAgICAgICAgICAgICAgICAgICAgIHNldEVuYWJsZUZlYXR1cmUoZmFsc2UsIGZpbmlzaEpTVGVz
dCk7Ci0gICAgICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICB9LAotICAgICAgICAg
ICAgICAgIGZ1bmN0aW9uICgpIHsKLSAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZCgiUHJv
bWlzZSByZWplY3RlZC4iKTsKLSAgICAgICAgICAgICAgICAgICAgc2V0RW5hYmxlRmVhdHVyZShm
YWxzZSwgZmluaXNoSlNUZXN0KTsKLSAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICApOwot
ICAgICAgICB9Ci0KLSAgICAgICAgZnVuY3Rpb24gcnVuVGVzdCgpIHsKLSAgICAgICAgICAgIHRl
c3RSdW5uZXIuc2V0VXNlSVRQRGF0YWJhc2UodHJ1ZSk7Ci0gICAgICAgICAgICBzZXRFbmFibGVG
ZWF0dXJlKHRydWUsIGZ1bmN0aW9uKCkgewotICAgICAgICAgICAgICAgIGFjdGl2YXRlRWxlbWVu
dCgiVGhlSWZyYW1lVGhhdFJlcXVlc3RzU3RvcmFnZUFjY2VzcyIpOwotICAgICAgICAgICAgfSk7
Ci0gICAgICAgIH0KLSAgICA8L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5PgotICAgIDxpZnJhbWUg
c2FuZGJveD0iYWxsb3ctc3RvcmFnZS1hY2Nlc3MtYnktdXNlci1hY3RpdmF0aW9uIGFsbG93LXNj
cmlwdHMgYWxsb3ctc2FtZS1vcmlnaW4gYWxsb3ctbW9kYWxzIiBvbmxvYWQ9InJ1blRlc3QoKSIg
aWQ9IlRoZUlmcmFtZVRoYXRSZXF1ZXN0c1N0b3JhZ2VBY2Nlc3MiIHNyYz0iaHR0cDovL2xvY2Fs
aG9zdDo4MDAwL3N0b3JhZ2VBY2Nlc3MvcmVzb3VyY2VzL3JlcXVlc3Qtc3RvcmFnZS1hY2Nlc3Mt
aWZyYW1lLmh0bWwjdXNlclNob3VsZEdyYW50QWNjZXNzLHVzZXJTaG91bGRCZUNvbnN1bHRlZCxw
b2xpY3lTaG91bGRHcmFudEFjY2Vzcyxpc05vdFNhbWVPcmlnaW5JZnJhbWUiPjwvaWZyYW1lPgot
PC9ib2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zdG9y
YWdlQWNjZXNzL3JlcXVlc3QtYW5kLWdyYW50LWFjY2Vzcy1jcm9zcy1vcmlnaW4tc2FuZGJveGVk
LWlmcmFtZS1mcm9tLXByZXZhbGVudC1kb21haW4td2l0aC11c2VyLWludGVyYWN0aW9uLWFuZC1h
Y2Nlc3MtZnJvbS1yaWdodC1mcmFtZS1kYXRhYmFzZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL3N0b3JhZ2VBY2Nlc3MvcmVxdWVzdC1hbmQtZ3JhbnQtYWNjZXNzLWNyb3Nz
LW9yaWdpbi1zYW5kYm94ZWQtaWZyYW1lLWZyb20tcHJldmFsZW50LWRvbWFpbi13aXRoLXVzZXIt
aW50ZXJhY3Rpb24tYW5kLWFjY2Vzcy1mcm9tLXJpZ2h0LWZyYW1lLWRhdGFiYXNlLWV4cGVjdGVk
LnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggN2VmODU4OTVjYjYwNjBiNGQ3NDkw
Y2U1N2NmOTM1MGEzNTgyYjc3YS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3N0b3JhZ2VBY2Nlc3MvcmVxdWVzdC1h
bmQtZ3JhbnQtYWNjZXNzLWNyb3NzLW9yaWdpbi1zYW5kYm94ZWQtaWZyYW1lLWZyb20tcHJldmFs
ZW50LWRvbWFpbi13aXRoLXVzZXItaW50ZXJhY3Rpb24tYW5kLWFjY2Vzcy1mcm9tLXJpZ2h0LWZy
YW1lLWRhdGFiYXNlLWV4cGVjdGVkLnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDUwICswLDAgQEAK
LVRlc3RzIHRoYXQgY3Jvc3Mtb3JpZ2luIGlmcmFtZSBzdG9yYWdlIGFjY2VzcyBpcyBncmFudGVk
IGlmIHRoZSBpZnJhbWUgaXMgc2FuZGJveGVkLCBoYXMgdGhlIGFsbG93IHRva2VuLCB0aGUgaWZy
YW1lIG9yaWdpbiBpcyBhIHByZXZhbGVudCByZXNvdXJjZSwgdGhlIGlmcmFtZSBvcmlnaW4gaGFz
IGhhZCB1c2VyIGludGVyYWN0aW9uLCB0aGUgdXNlciBvcHRzIGluLCBhbmQgdGhlIGZyYW1lIGlz
IHRoZSBvbmUgd2l0aCBhY2Nlc3MuCi0KLU9uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmll
cyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KLQotCi1Q
QVNTIFN0b3JhZ2UgYWNjZXNzIHdhcyBncmFudGVkLiBkb2N1bWVudC5jb29raWUgPT0gZmlyc3RQ
YXJ0eUNvb2tpZT12YWx1ZSwgY29va2llcyBzZWVuIHNlcnZlci1zaWRlID09IHsiZmlyc3RQYXJ0
eUNvb2tpZSI6InZhbHVlIn0KLURpZCBuYXZpZ2F0ZSBpZnJhbWUgc2FtZS1zaXRlIGFuZCB3aWxs
IG5vdyBjaGVjayB0aGF0IGl0IHN0aWxsIGhhcyBzdG9yYWdlIGFjY2Vzcy4KLVBBU1MgZG9jdW1l
bnQuY29va2llID09IGZpcnN0UGFydHlDb29raWU9dmFsdWUsIGNvb2tpZXMgc2VlbiBzZXJ2ZXIt
c2lkZSA9PSB7ImZpcnN0UGFydHlDb29raWUiOiJ2YWx1ZSJ9Ci1QQVNTIHN1Y2Nlc3NmdWxseVBh
cnNlZCBpcyB0cnVlCi0KLVRFU1QgQ09NUExFVEUKLQotCi0tLS0tLS0tLQotRnJhbWU6ICc8IS0t
ZnJhbWUxLS0+JwotLS0tLS0tLS0KLVNob3VsZCByZWNlaXZlIGZpcnN0LXBhcnR5IGNvb2tpZS4K
LVJlY2VpdmVkIGNvb2tpZSBuYW1lZCAnZmlyc3RQYXJ0eUNvb2tpZScuCi1EaWQgbm90IHJlY2Vp
dmUgY29va2llIG5hbWVkICdwYXJ0aXRpb25lZENvb2tpZScuCi1DbGllbnQtc2lkZSBkb2N1bWVu
dC5jb29raWU6IGZpcnN0UGFydHlDb29raWU9dmFsdWUKLQotLS0tLS0tLS0KLUZyYW1lOiAnPCEt
LWZyYW1lMi0tPicKLS0tLS0tLS0tCi1TaG91bGQgbm90IHJlY2VpdmUgY29va2llcy4KLURpZCBu
b3QgcmVjZWl2ZSBjb29raWUgbmFtZWQgJ2ZpcnN0UGFydHlDb29raWUnLgotRGlkIG5vdCByZWNl
aXZlIGNvb2tpZSBuYW1lZCAncGFydGl0aW9uZWRDb29raWUnLgotQ2xpZW50LXNpZGUgZG9jdW1l
bnQuY29va2llOgotCi0tLS0tLS0tLQotRnJhbWU6ICc8IS0tZnJhbWUzLS0+JwotLS0tLS0tLS0K
LQotCi0KLS0tLS0tLS0tCi1GcmFtZTogJzwhLS1mcmFtZTQtLT4nCi0tLS0tLS0tLQotU2hvdWxk
IG5vdCByZWNlaXZlIGNvb2tpZXMuCi1EaWQgbm90IHJlY2VpdmUgY29va2llIG5hbWVkICdmaXJz
dFBhcnR5Q29va2llJy4KLURpZCBub3QgcmVjZWl2ZSBjb29raWUgbmFtZWQgJ3BhcnRpdGlvbmVk
Q29va2llJy4KLUNsaWVudC1zaWRlIGRvY3VtZW50LmNvb2tpZToKLQotLS0tLS0tLS0KLUZyYW1l
OiAnPCEtLWZyYW1lNS0tPicKLS0tLS0tLS0tCi1BZnRlciB0aGUgdG9wIGZyYW1lIG5hdmlnYXRl
cyB0aGUgc3ViIGZyYW1lIGNyb3NzLXNpdGUgYW5kIGJhY2ssIHRoZSBzdWIgZnJhbWUgc2hvdWxk
IG5vIGxvbmdlciBoYXZlIGFjY2VzcyB0byBjb29raWVzLgotRGlkIG5vdCByZWNlaXZlIGNvb2tp
ZSBuYW1lZCAnZmlyc3RQYXJ0eUNvb2tpZScuCi1EaWQgbm90IHJlY2VpdmUgY29va2llIG5hbWVk
ICdwYXJ0aXRpb25lZENvb2tpZScuCi1DbGllbnQtc2lkZSBkb2N1bWVudC5jb29raWU6CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3N0b3JhZ2VBY2Nlc3MvcmVxdWVzdC1hbmQt
Z3JhbnQtYWNjZXNzLWNyb3NzLW9yaWdpbi1zYW5kYm94ZWQtaWZyYW1lLWZyb20tcHJldmFsZW50
LWRvbWFpbi13aXRoLXVzZXItaW50ZXJhY3Rpb24tYW5kLWFjY2Vzcy1mcm9tLXJpZ2h0LWZyYW1l
LWRhdGFiYXNlLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3N0b3JhZ2VBY2Nlc3MvcmVx
dWVzdC1hbmQtZ3JhbnQtYWNjZXNzLWNyb3NzLW9yaWdpbi1zYW5kYm94ZWQtaWZyYW1lLWZyb20t
cHJldmFsZW50LWRvbWFpbi13aXRoLXVzZXItaW50ZXJhY3Rpb24tYW5kLWFjY2Vzcy1mcm9tLXJp
Z2h0LWZyYW1lLWRhdGFiYXNlLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDQ2
OTg1ZDRiMDQ5YTNhYTI1MDA3N2I3NTMyMGFmYzZhYzRjZDIyMTkuLjAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zdG9y
YWdlQWNjZXNzL3JlcXVlc3QtYW5kLWdyYW50LWFjY2Vzcy1jcm9zcy1vcmlnaW4tc2FuZGJveGVk
LWlmcmFtZS1mcm9tLXByZXZhbGVudC1kb21haW4td2l0aC11c2VyLWludGVyYWN0aW9uLWFuZC1h
Y2Nlc3MtZnJvbS1yaWdodC1mcmFtZS1kYXRhYmFzZS5odG1sCisrKyAvZGV2L251bGwKQEAgLTEs
MTY2ICswLDAgQEAKLTwhRE9DVFlQRSBodG1sPgotPGh0bWw+Ci08aGVhZD4KLSAgICA8c2NyaXB0
IHNyYz0iL2pzLXRlc3QtcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgotICAgIDxzY3Jp
cHQgc3JjPSIvanMtdGVzdC1yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KLSAgICA8
c2NyaXB0IHNyYz0iL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvcmVzb3VyY2VzL3V0aWwuanMiPjwv
c2NyaXB0PgotPC9oZWFkPgotPGJvZHk+Ci0gICAgPHNjcmlwdD4KLSAgICAgICAgZGVzY3JpcHRp
b24oIlRlc3RzIHRoYXQgY3Jvc3Mtb3JpZ2luIGlmcmFtZSBzdG9yYWdlIGFjY2VzcyBpcyBncmFu
dGVkIGlmIHRoZSBpZnJhbWUgaXMgc2FuZGJveGVkLCBoYXMgdGhlIGFsbG93IHRva2VuLCB0aGUg
aWZyYW1lIG9yaWdpbiBpcyBhIHByZXZhbGVudCByZXNvdXJjZSwgdGhlIGlmcmFtZSBvcmlnaW4g
aGFzIGhhZCB1c2VyIGludGVyYWN0aW9uLCB0aGUgdXNlciBvcHRzIGluLCBhbmQgdGhlIGZyYW1l
IGlzIHRoZSBvbmUgd2l0aCBhY2Nlc3MuIik7Ci0gICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVl
OwotICAgICAgICB0ZXN0UnVubmVyLnNldFVzZUlUUERhdGFiYXNlKHRydWUpOwotCi0gICAgICAg
IGNvbnN0IGhvc3RVbmRlclRlc3QgPSAibG9jYWxob3N0OjgwMDAiOwotICAgICAgICBjb25zdCBz
dGF0aXN0aWNzVXJsID0gImh0dHA6Ly8iICsgaG9zdFVuZGVyVGVzdCArICIvdGVtcCI7Ci0KLSAg
ICAgICAgY29uc3QgcGFydGl0aW9uSG9zdCA9ICIxMjcuMC4wLjE6ODAwMCI7Ci0gICAgICAgIGNv
bnN0IHRoaXJkUGFydHlPcmlnaW4gPSAiaHR0cDovL2xvY2FsaG9zdDo4MDAwIjsKLSAgICAgICAg
Y29uc3QgcmVzb3VyY2VQYXRoID0gIi9zdG9yYWdlQWNjZXNzL3Jlc291cmNlcyI7Ci0gICAgICAg
IGNvbnN0IHRoaXJkUGFydHlCYXNlVXJsID0gdGhpcmRQYXJ0eU9yaWdpbiArIHJlc291cmNlUGF0
aDsKLSAgICAgICAgY29uc3QgZmlyc3RQYXJ0eUNvb2tpZU5hbWUgPSAiZmlyc3RQYXJ0eUNvb2tp
ZSI7Ci0gICAgICAgIGNvbnN0IHN1YlBhdGhUb1NldEZpcnN0UGFydHlDb29raWUgPSAiL3NldC1j
b29raWUucGhwP25hbWU9IiArIGZpcnN0UGFydHlDb29raWVOYW1lICsgIiZ2YWx1ZT12YWx1ZSI7
Ci0gICAgICAgIGNvbnN0IHBhcnRpdGlvbmVkQ29va2llTmFtZSA9ICJwYXJ0aXRpb25lZENvb2tp
ZSI7Ci0gICAgICAgIGNvbnN0IHN1YlBhdGhUb1NldFBhcnRpdGlvbmVkQ29va2llID0gIi9zZXQt
Y29va2llLnBocD9uYW1lPSIgKyBwYXJ0aXRpb25lZENvb2tpZU5hbWUgKyAiJnZhbHVlPXZhbHVl
IjsKLSAgICAgICAgY29uc3QgcmV0dXJuVXJsID0gImh0dHA6Ly8iICsgcGFydGl0aW9uSG9zdCAr
ICIvc3RvcmFnZUFjY2Vzcy9yZXF1ZXN0LWFuZC1ncmFudC1hY2Nlc3MtY3Jvc3Mtb3JpZ2luLXNh
bmRib3hlZC1pZnJhbWUtZnJvbS1wcmV2YWxlbnQtZG9tYWluLXdpdGgtdXNlci1pbnRlcmFjdGlv
bi1hbmQtYWNjZXNzLWZyb20tcmlnaHQtZnJhbWUtZGF0YWJhc2UuaHRtbCI7Ci0gICAgICAgIGNv
bnN0IHN1YlBhdGhUb0dldENvb2tpZXMgPSAiL2dldC1jb29raWVzLnBocD9uYW1lMT0iICsgZmly
c3RQYXJ0eUNvb2tpZU5hbWUgKyAiJm5hbWUyPSIgKyBwYXJ0aXRpb25lZENvb2tpZU5hbWU7Ci0K
LSAgICAgICAgZnVuY3Rpb24gb3BlbklmcmFtZSh1cmwsIG9uTG9hZEhhbmRsZXIpIHsKLSAgICAg
ICAgICAgIGNvbnN0IGVsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJpZnJhbWUiKTsK
LSAgICAgICAgICAgIGVsZW1lbnQuc3JjID0gdXJsOwotICAgICAgICAgICAgaWYgKG9uTG9hZEhh
bmRsZXIpIHsKLSAgICAgICAgICAgICAgICBlbGVtZW50Lm9ubG9hZCA9IG9uTG9hZEhhbmRsZXI7
Ci0gICAgICAgICAgICB9Ci0gICAgICAgICAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGVs
ZW1lbnQpOwotICAgICAgICB9Ci0KLSAgICAgICAgZnVuY3Rpb24gcmVjZWl2ZU1lc3NhZ2UoZXZl
bnQpIHsKLSAgICAgICAgICAgIGlmIChldmVudC5vcmlnaW4gPT09ICJodHRwOi8vbG9jYWxob3N0
OjgwMDAiKSB7Ci0gICAgICAgICAgICAgICAgaWYgKGV2ZW50LmRhdGEuaW5kZXhPZigiUEFTUyIp
ICE9PSAtMSkKLSAgICAgICAgICAgICAgICAgICAgdGVzdFBhc3NlZChldmVudC5kYXRhLnJlcGxh
Y2UoIlBBU1MgIiwgIiIpKTsKLSAgICAgICAgICAgICAgICBlbHNlCi0gICAgICAgICAgICAgICAg
ICAgIHRlc3RGYWlsZWQoZXZlbnQuZGF0YSk7Ci0gICAgICAgICAgICB9IGVsc2UKLSAgICAgICAg
ICAgICAgICB0ZXN0RmFpbGVkKCJSZWNlaXZlZCBhIG1lc3NhZ2UgZnJvbSBhbiB1bmV4cGVjdGVk
IG9yaWdpbjogIiArIGV2ZW50Lm9yaWdpbik7Ci0gICAgICAgICAgICBydW5UZXN0KCk7Ci0gICAg
ICAgIH0KLQotICAgICAgICBmdW5jdGlvbiBhY3RpdmF0ZUVsZW1lbnQoZWxlbWVudElkKSB7Ci0g
ICAgICAgICAgICB2YXIgZWxlbWVudCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGVsZW1lbnRJ
ZCk7Ci0gICAgICAgICAgICB2YXIgY2VudGVyWCA9IGVsZW1lbnQub2Zmc2V0TGVmdCArIGVsZW1l
bnQub2Zmc2V0V2lkdGggLyAyOwotICAgICAgICAgICAgdmFyIGNlbnRlclkgPSBlbGVtZW50Lm9m
ZnNldFRvcCArIGVsZW1lbnQub2Zmc2V0SGVpZ2h0IC8gMjsKLSAgICAgICAgICAgIFVJSGVscGVy
LmFjdGl2YXRlQXQoY2VudGVyWCwgY2VudGVyWSkudGhlbigKLSAgICAgICAgICAgICAgICBmdW5j
dGlvbiAoKSB7Ci0gICAgICAgICAgICAgICAgICAgIGlmICh3aW5kb3cuZXZlbnRTZW5kZXIpCi0g
ICAgICAgICAgICAgICAgICAgICAgICBldmVudFNlbmRlci5rZXlEb3duKCJlc2NhcGUiKTsKLSAg
ICAgICAgICAgICAgICAgICAgZWxzZSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICB0ZXN0RmFp
bGVkKCJObyBldmVudFNlbmRlci4iKTsKLSAgICAgICAgICAgICAgICAgICAgICAgIHNldEVuYWJs
ZUZlYXR1cmUoZmFsc2UsIGZpbmlzaEpTVGVzdCk7Ci0gICAgICAgICAgICAgICAgICAgIH0KLSAg
ICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgIGZ1bmN0aW9uICgpIHsKLSAgICAgICAg
ICAgICAgICAgICAgdGVzdEZhaWxlZCgiUHJvbWlzZSByZWplY3RlZC4iKTsKLSAgICAgICAgICAg
ICAgICAgICAgc2V0RW5hYmxlRmVhdHVyZShmYWxzZSwgZmluaXNoSlNUZXN0KTsKLSAgICAgICAg
ICAgICAgICB9Ci0gICAgICAgICAgICApOwotICAgICAgICB9Ci0KLSAgICAgICAgZnVuY3Rpb24g
cnVuVGVzdCgpIHsKLSAgICAgICAgICAgIHN3aXRjaCAoZG9jdW1lbnQubG9jYXRpb24uaGFzaCkg
ewotICAgICAgICAgICAgICAgIGNhc2UgIiNzdGVwMSI6Ci0gICAgICAgICAgICAgICAgICAgIGlm
ICh0ZXN0UnVubmVyLmlzU3RhdGlzdGljc1ByZXZhbGVudFJlc291cmNlKHN0YXRpc3RpY3NVcmwp
KQotICAgICAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZCgiSG9zdCBwcmVtYXR1cmVseSBz
ZXQgYXMgcHJldmFsZW50IHJlc291cmNlLiIpOwotICAgICAgICAgICAgICAgICAgICAvLyBTZXQg
Zmlyc3QtcGFydHkgY29va2llIGZvciBsb2NhbGhvc3QuCi0gICAgICAgICAgICAgICAgICAgIGRv
Y3VtZW50LmxvY2F0aW9uLmhyZWYgPSB0aGlyZFBhcnR5QmFzZVVybCArIHN1YlBhdGhUb1NldEZp
cnN0UGFydHlDb29raWUgKyAiIyIgKyByZXR1cm5VcmwgKyAiI3N0ZXAyIjsKLSAgICAgICAgICAg
ICAgICAgICAgYnJlYWs7Ci0gICAgICAgICAgICAgICAgY2FzZSAiI3N0ZXAyIjoKLSAgICAgICAg
ICAgICAgICAgICAgZG9jdW1lbnQubG9jYXRpb24uaGFzaCA9ICJzdGVwMyI7Ci0gICAgICAgICAg
ICAgICAgICAgIC8vIENoZWNrIHRoYXQgdGhlIGZpcnN0LXBhcnR5IGNvb2tpZSBkb2VzIGdldCBz
ZW50IGZvciBsb2NhbGhvc3QgdW5kZXIgMTI3LjAuMC4xLgotICAgICAgICAgICAgICAgICAgICBv
cGVuSWZyYW1lKHRoaXJkUGFydHlCYXNlVXJsICsgc3ViUGF0aFRvR2V0Q29va2llcyArICImbWVz
c2FnZT1TaG91bGQgcmVjZWl2ZSBmaXJzdC1wYXJ0eSBjb29raWUuIiwgcnVuVGVzdCk7Ci0gICAg
ICAgICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICAgICAgICAgIGNhc2UgIiNzdGVwMyI6Ci0g
ICAgICAgICAgICAgICAgICAgIGRvY3VtZW50LmxvY2F0aW9uLmhhc2ggPSAic3RlcDQiOwotICAg
ICAgICAgICAgICAgICAgICAvLyBTZXQgbG9jYWxob3N0IGFzIHByZXZhbGVudCB3aXRoIHVzZXIg
aW50ZXJhY3Rpb24uCi0gICAgICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGlj
c0hhc0hhZFVzZXJJbnRlcmFjdGlvbihzdGF0aXN0aWNzVXJsLCB0cnVlLCBmdW5jdGlvbigpIHsK
LSAgICAgICAgICAgICAgICAgICAgICAgIGlmICghdGVzdFJ1bm5lci5pc1N0YXRpc3RpY3NIYXNI
YWRVc2VySW50ZXJhY3Rpb24oc3RhdGlzdGljc1VybCkpCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgdGVzdEZhaWxlZCgiSG9zdCBkaWQgbm90IGdldCBsb2dnZWQgZm9yIHVzZXIgaW50ZXJh
Y3Rpb24uIik7Ci0gICAgICAgICAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLnNldFN0YXRpc3Rp
Y3NQcmV2YWxlbnRSZXNvdXJjZShzdGF0aXN0aWNzVXJsLCB0cnVlLCBmdW5jdGlvbigpIHsKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoIXRlc3RSdW5uZXIuaXNTdGF0aXN0aWNzUHJl
dmFsZW50UmVzb3VyY2Uoc3RhdGlzdGljc1VybCkpCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIHRlc3RGYWlsZWQoIkhvc3QgZGlkIG5vdCBnZXQgc2V0IGFzIHByZXZhbGVudCByZXNv
dXJjZS4iKTsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLnN0YXRpc3Rp
Y3NVcGRhdGVDb29raWVCbG9ja2luZyhmdW5jdGlvbigpIHsKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgLy8gQ2hlY2sgdGhhdCB0aGUgZmlyc3QtcGFydHkgY29va2llIGRvZXMgbm90
IGdldCBzZW50IGZvciBsb2NhbGhvc3QgdW5kZXIgMTI3LjAuMC4xLgotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBvcGVuSWZyYW1lKHRoaXJkUGFydHlCYXNlVXJsICsgc3ViUGF0aFRv
R2V0Q29va2llcyArICImbWVzc2FnZT1TaG91bGQgbm90IHJlY2VpdmUgY29va2llcy4iLCBydW5U
ZXN0KTsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KTsKLSAgICAgICAgICAgICAgICAg
ICAgICAgIH0pOwotICAgICAgICAgICAgICAgICAgICB9KTsKLSAgICAgICAgICAgICAgICAgICAg
YnJlYWs7Ci0gICAgICAgICAgICAgICAgY2FzZSAiI3N0ZXA0IjoKLSAgICAgICAgICAgICAgICAg
ICAgZG9jdW1lbnQubG9jYXRpb24uaGFzaCA9ICJzdGVwNSI7Ci0gICAgICAgICAgICAgICAgICAg
IC8vIFRyeSB0byBzZXQgYSBjb29raWUgZm9yIGxvY2FsaG9zdC4KLSAgICAgICAgICAgICAgICAg
ICAgb3BlbklmcmFtZSh0aGlyZFBhcnR5QmFzZVVybCArIHN1YlBhdGhUb1NldFBhcnRpdGlvbmVk
Q29va2llLCBydW5UZXN0KTsKLSAgICAgICAgICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgICAg
ICAgICAgY2FzZSAiI3N0ZXA1IjoKLSAgICAgICAgICAgICAgICAgICAgZG9jdW1lbnQubG9jYXRp
b24uaGFzaCA9ICJzdGVwNiI7Ci0gICAgICAgICAgICAgICAgICAgIC8vIENoZWNrIHRoYXQgbm8g
Y29va2llIGdldHMgc2VudCBmb3IgbG9jYWxob3N0IHVuZGVyIDEyNy4wLjAuMS4KLSAgICAgICAg
ICAgICAgICAgICAgb3BlbklmcmFtZSh0aGlyZFBhcnR5QmFzZVVybCArIHN1YlBhdGhUb0dldENv
b2tpZXMgKyAiJm1lc3NhZ2U9U2hvdWxkIG5vdCByZWNlaXZlIGNvb2tpZXMuIiwgcnVuVGVzdCk7
Ci0gICAgICAgICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICAgICAgICAgIGNhc2UgIiNzdGVw
NiI6Ci0gICAgICAgICAgICAgICAgICAgIGRvY3VtZW50LmxvY2F0aW9uLmhhc2ggPSAic3RlcDci
OwotICAgICAgICAgICAgICAgICAgICAvLyBDcmVhdGUgaWZyYW1lIHRoYXQgd2lsbCByZXF1ZXN0
IHN0b3JhZ2UgYWNjZXNzLgotICAgICAgICAgICAgICAgICAgICBsZXQgaWZyYW1lRWxlbWVudCA9
IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImlmcmFtZSIpOwotICAgICAgICAgICAgICAgICAgICBp
ZnJhbWVFbGVtZW50LnNldEF0dHJpYnV0ZSgic2FuZGJveCIsICJhbGxvdy1zdG9yYWdlLWFjY2Vz
cy1ieS11c2VyLWFjdGl2YXRpb24gYWxsb3ctc2NyaXB0cyBhbGxvdy1zYW1lLW9yaWdpbiBhbGxv
dy1tb2RhbHMiKTsKLSAgICAgICAgICAgICAgICAgICAgaWZyYW1lRWxlbWVudC5vbmxvYWQgPSBm
dW5jdGlvbigpIHsKLSAgICAgICAgICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIuc3RhdGlzdGlj
c1VwZGF0ZUNvb2tpZUJsb2NraW5nKGZ1bmN0aW9uKCkgewotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGFjdGl2YXRlRWxlbWVudCgiVGhlSWZyYW1lVGhhdFJlcXVlc3RzU3RvcmFnZUFjY2Vz
cyIpOwotICAgICAgICAgICAgICAgICAgICAgICAgfSk7Ci0gICAgICAgICAgICAgICAgICAgIH07
Ci0gICAgICAgICAgICAgICAgICAgIGlmcmFtZUVsZW1lbnQuaWQgPSAiVGhlSWZyYW1lVGhhdFJl
cXVlc3RzU3RvcmFnZUFjY2VzcyI7Ci0gICAgICAgICAgICAgICAgICAgIGlmcmFtZUVsZW1lbnQu
c3JjID0gImh0dHA6Ly9sb2NhbGhvc3Q6ODAwMC9zdG9yYWdlQWNjZXNzL3Jlc291cmNlcy9yZXF1
ZXN0LXN0b3JhZ2UtYWNjZXNzLWlmcmFtZS5odG1sP2JvZ3VzI3VzZXJTaG91bGRHcmFudEFjY2Vz
cyx1c2VyU2hvdWxkQmVDb25zdWx0ZWQscG9saWN5U2hvdWxkR3JhbnRBY2Nlc3MsaXNOb3RTYW1l
T3JpZ2luSWZyYW1lIjsKLSAgICAgICAgICAgICAgICAgICAgZG9jdW1lbnQuYm9keS5hcHBlbmRD
aGlsZChpZnJhbWVFbGVtZW50KTsKLSAgICAgICAgICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAg
ICAgICAgICAgY2FzZSAiI3N0ZXA3IjoKLSAgICAgICAgICAgICAgICAgICAgZG9jdW1lbnQubG9j
YXRpb24uaGFzaCA9ICJzdGVwOCI7Ci0gICAgICAgICAgICAgICAgICAgIC8vIE5hdmlnYXRlIHRo
ZSBmcmFtZSBzYW1lLXNpdGUuCi0gICAgICAgICAgICAgICAgICAgIGxldCBleGlzdGluZ0lmcmFt
ZTEgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiVGhlSWZyYW1lVGhhdFJlcXVlc3RzU3RvcmFn
ZUFjY2VzcyIpOwotICAgICAgICAgICAgICAgICAgICBleGlzdGluZ0lmcmFtZTEub25sb2FkID0g
ZnVuY3Rpb24gKCkgewotICAgICAgICAgICAgICAgICAgICAgICAgZGVidWcoIkRpZCBuYXZpZ2F0
ZSBpZnJhbWUgc2FtZS1zaXRlIGFuZCB3aWxsIG5vdyBjaGVjayB0aGF0IGl0IHN0aWxsIGhhcyBz
dG9yYWdlIGFjY2Vzcy4iKTsKLSAgICAgICAgICAgICAgICAgICAgICAgIGxldCBpZnJhbWUgPSBk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiVGhlSWZyYW1lVGhhdFJlcXVlc3RzU3RvcmFnZUFjY2Vz
cyIpOwotICAgICAgICAgICAgICAgICAgICAgICAgaWZyYW1lLmNvbnRlbnRXaW5kb3cucG9zdE1l
c3NhZ2UoInJlcG9ydEJhY2tDb29raWVzIiwgImh0dHA6Ly9sb2NhbGhvc3Q6ODAwMCIpOwotICAg
ICAgICAgICAgICAgICAgICB9OwotICAgICAgICAgICAgICAgICAgICBleGlzdGluZ0lmcmFtZTEu
c3JjID0gdGhpcmRQYXJ0eUJhc2VVcmwgKyBzdWJQYXRoVG9HZXRDb29raWVzOwotICAgICAgICAg
ICAgICAgICAgICBicmVhazsKLSAgICAgICAgICAgICAgICBjYXNlICIjc3RlcDgiOgotICAgICAg
ICAgICAgICAgICAgICBkb2N1bWVudC5sb2NhdGlvbi5oYXNoID0gInN0ZXA5IjsKLSAgICAgICAg
ICAgICAgICAgICAgLy8gTmF2aWdhdGUgdGhlIGZyYW1lIGNyb3NzLXNpdGUuIFRoaXMgc2hvdWxk
IGNsZWFyIG91dCBzdG9yYWdlIGFjY2Vzcy4KLSAgICAgICAgICAgICAgICAgICAgbGV0IGV4aXN0
aW5nSWZyYW1lMiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJUaGVJZnJhbWVUaGF0UmVxdWVz
dHNTdG9yYWdlQWNjZXNzIik7Ci0gICAgICAgICAgICAgICAgICAgIGV4aXN0aW5nSWZyYW1lMi5v
bmxvYWQgPSBydW5UZXN0OwotICAgICAgICAgICAgICAgICAgICBleGlzdGluZ0lmcmFtZTIuc3Jj
ID0gImh0dHA6Ly8iICsgcGFydGl0aW9uSG9zdDsKLSAgICAgICAgICAgICAgICAgICAgYnJlYWs7
Ci0gICAgICAgICAgICAgICAgY2FzZSAiI3N0ZXA5IjoKLSAgICAgICAgICAgICAgICAgICAgZG9j
dW1lbnQubG9jYXRpb24uaGFzaCA9ICJzdGVwMTAiOwotICAgICAgICAgICAgICAgICAgICAvLyBB
Z2FpbiBvcGVuIGxvY2FsaG9zdCBpbiB0aGUgZXhpc3RpbmcgZnJhbWUgYW5kIGNoZWNrIHRoYXQg
bm8gY29va2llIGdldHMgc2VudCBmb3IgbG9jYWxob3N0IHVuZGVyIDEyNy4wLjAuMSBzaW5jZSBp
dCBoYXMgYmVlbiBuYXZpZ2F0ZWQgY3Jvc3Mtc2l0ZS4KLSAgICAgICAgICAgICAgICAgICAgbGV0
IGV4aXN0aW5nSWZyYW1lMyA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJUaGVJZnJhbWVUaGF0
UmVxdWVzdHNTdG9yYWdlQWNjZXNzIik7Ci0gICAgICAgICAgICAgICAgICAgIGV4aXN0aW5nSWZy
YW1lMy5vbmxvYWQgPSBydW5UZXN0OwotICAgICAgICAgICAgICAgICAgICBleGlzdGluZ0lmcmFt
ZTMuc3JjID0gdGhpcmRQYXJ0eUJhc2VVcmwgKyBzdWJQYXRoVG9HZXRDb29raWVzICsgIiZtZXNz
YWdlPUFmdGVyIHRoZSB0b3AgZnJhbWUgbmF2aWdhdGVzIHRoZSBzdWIgZnJhbWUgY3Jvc3Mtc2l0
ZSBhbmQgYmFjaywgdGhlIHN1YiBmcmFtZSBzaG91bGQgbm8gbG9uZ2VyIGhhdmUgYWNjZXNzIHRv
IGNvb2tpZXMuIjsKLSAgICAgICAgICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgICAgICAgICAg
Y2FzZSAiI3N0ZXAxMCI6Ci0gICAgICAgICAgICAgICAgICAgIHNldEVuYWJsZUZlYXR1cmUoZmFs
c2UsIGZpbmlzaEpTVGVzdCk7Ci0gICAgICAgICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICAg
ICAgfQotICAgICAgICB9Ci0KLSAgICAgICAgaWYgKGRvY3VtZW50LmxvY2F0aW9uLmhhc2ggPT09
ICIiKSB7Ci0gICAgICAgICAgICBzZXRFbmFibGVGZWF0dXJlKHRydWUsIGZ1bmN0aW9uKCkgewot
ICAgICAgICAgICAgICAgIGlmICh0ZXN0UnVubmVyLmlzU3RhdGlzdGljc1ByZXZhbGVudFJlc291
cmNlKHRoaXJkUGFydHlCYXNlVXJsKSkKLSAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZCgi
TG9jYWxob3N0IHdhcyBjbGFzc2lmaWVkIGFzIHByZXZhbGVudCByZXNvdXJjZSBiZWZvcmUgdGhl
IHRlc3Qgc3RhcnRzLiIpOwotICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIuZHVtcENoaWxkRnJh
bWVzQXNUZXh0KCk7Ci0gICAgICAgICAgICAgICAgZG9jdW1lbnQubG9jYXRpb24uaGFzaCA9ICJz
dGVwMSI7Ci0gICAgICAgICAgICB9KTsKLSAgICAgICAgfQotCi0gICAgICAgIHdpbmRvdy5hZGRF
dmVudExpc3RlbmVyKCJtZXNzYWdlIiwgcmVjZWl2ZU1lc3NhZ2UsIGZhbHNlKTsKLQotICAgICAg
ICBydW5UZXN0KCk7Ci0gICAgPC9zY3JpcHQ+Ci08L2JvZHk+Ci08L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3N0b3JhZ2VBY2Nlc3MvcmVxdWVzdC1hbmQtZ3JhbnQt
YWNjZXNzLWNyb3NzLW9yaWdpbi1zYW5kYm94ZWQtaWZyYW1lLWZyb20tcHJldmFsZW50LWRvbWFp
bi13aXRoLXVzZXItaW50ZXJhY3Rpb24tYnV0LWFjY2Vzcy1mcm9tLXdyb25nLWZyYW1lLWRhdGFi
YXNlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc3RvcmFnZUFjY2Vzcy9y
ZXF1ZXN0LWFuZC1ncmFudC1hY2Nlc3MtY3Jvc3Mtb3JpZ2luLXNhbmRib3hlZC1pZnJhbWUtZnJv
bS1wcmV2YWxlbnQtZG9tYWluLXdpdGgtdXNlci1pbnRlcmFjdGlvbi1idXQtYWNjZXNzLWZyb20t
d3JvbmctZnJhbWUtZGF0YWJhc2UtZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCA2YzA0OGViNWVjMTM2OGFmYTVjYmJjOTQwZjRjMTQ3YjY0Y2IzNzIyLi4wMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2h0dHAv
dGVzdHMvc3RvcmFnZUFjY2Vzcy9yZXF1ZXN0LWFuZC1ncmFudC1hY2Nlc3MtY3Jvc3Mtb3JpZ2lu
LXNhbmRib3hlZC1pZnJhbWUtZnJvbS1wcmV2YWxlbnQtZG9tYWluLXdpdGgtdXNlci1pbnRlcmFj
dGlvbi1idXQtYWNjZXNzLWZyb20td3JvbmctZnJhbWUtZGF0YWJhc2UtZXhwZWN0ZWQudHh0Cisr
KyAvZGV2L251bGwKQEAgLTEsNTMgKzAsMCBAQAotVGVzdHMgdGhhdCBjcm9zcy1vcmlnaW4gaWZy
YW1lIHN0b3JhZ2UgYWNjZXNzIGlzIGRlbmllZCBpZiB0aGUgaWZyYW1lIGlzIHNhbmRib3hlZCwg
aGFzIHRoZSBhbGxvdyB0b2tlbiwgdGhlIGlmcmFtZSBvcmlnaW4gaXMgYSBwcmV2YWxlbnQgcmVz
b3VyY2UsIHRoZSBpZnJhbWUgb3JpZ2luIGhhcyBoYWQgdXNlciBpbnRlcmFjdGlvbiwgdGhlIHVz
ZXIgb3B0cyBpbiwgYnV0IHRoZSBmcmFtZSBpcyBub3QgdGhlIG9uZSB3aXRoIGFjY2Vzcy4KLQot
T24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9s
bG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgotCi0KLVBBU1MgU3RvcmFnZSBhY2Nlc3Mgd2FzIGdy
YW50ZWQuIGRvY3VtZW50LmNvb2tpZSA9PSBmaXJzdFBhcnR5Q29va2llPXZhbHVlLCBjb29raWVz
IHNlZW4gc2VydmVyLXNpZGUgPT0geyJmaXJzdFBhcnR5Q29va2llIjoidmFsdWUifQotUEFTUyBz
dWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQotCi1URVNUIENPTVBMRVRFCi0KLQotLS0tLS0tLS0K
LUZyYW1lOiAnPCEtLWZyYW1lMS0tPicKLS0tLS0tLS0tCi1TaG91bGQgcmVjZWl2ZSBmaXJzdC1w
YXJ0eSBjb29raWUuCi1SZWNlaXZlZCBjb29raWUgbmFtZWQgJ2ZpcnN0UGFydHlDb29raWUnLgot
RGlkIG5vdCByZWNlaXZlIGNvb2tpZSBuYW1lZCAncGFydGl0aW9uZWRDb29raWUnLgotQ2xpZW50
LXNpZGUgZG9jdW1lbnQuY29va2llOiBmaXJzdFBhcnR5Q29va2llPXZhbHVlCi0KLS0tLS0tLS0t
Ci1GcmFtZTogJzwhLS1mcmFtZTItLT4nCi0tLS0tLS0tLQotU2hvdWxkIG5vdCByZWNlaXZlIGNv
b2tpZXMuCi1EaWQgbm90IHJlY2VpdmUgY29va2llIG5hbWVkICdmaXJzdFBhcnR5Q29va2llJy4K
LURpZCBub3QgcmVjZWl2ZSBjb29raWUgbmFtZWQgJ3BhcnRpdGlvbmVkQ29va2llJy4KLUNsaWVu
dC1zaWRlIGRvY3VtZW50LmNvb2tpZToKLQotLS0tLS0tLS0KLUZyYW1lOiAnPCEtLWZyYW1lMy0t
PicKLS0tLS0tLS0tCi0KLQotCi0tLS0tLS0tLQotRnJhbWU6ICc8IS0tZnJhbWU0LS0+JwotLS0t
LS0tLS0KLVNob3VsZCBub3QgcmVjZWl2ZSBjb29raWVzLgotRGlkIG5vdCByZWNlaXZlIGNvb2tp
ZSBuYW1lZCAnZmlyc3RQYXJ0eUNvb2tpZScuCi1EaWQgbm90IHJlY2VpdmUgY29va2llIG5hbWVk
ICdwYXJ0aXRpb25lZENvb2tpZScuCi1DbGllbnQtc2lkZSBkb2N1bWVudC5jb29raWU6Ci0KLS0t
LS0tLS0tCi1GcmFtZTogJzwhLS1mcmFtZTUtLT4nCi0tLS0tLS0tLQotCi0KLS0tLS0tLS0tCi1G
cmFtZTogJzwhLS1mcmFtZTYtLT4nCi0tLS0tLS0tLQotU2hvdWxkIG5vdCByZWNlaXZlIGNvb2tp
ZXMuCi1EaWQgbm90IHJlY2VpdmUgY29va2llIG5hbWVkICdmaXJzdFBhcnR5Q29va2llJy4KLURp
ZCBub3QgcmVjZWl2ZSBjb29raWUgbmFtZWQgJ3BhcnRpdGlvbmVkQ29va2llJy4KLUNsaWVudC1z
aWRlIGRvY3VtZW50LmNvb2tpZToKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMv
c3RvcmFnZUFjY2Vzcy9yZXF1ZXN0LWFuZC1ncmFudC1hY2Nlc3MtY3Jvc3Mtb3JpZ2luLXNhbmRi
b3hlZC1pZnJhbWUtZnJvbS1wcmV2YWxlbnQtZG9tYWluLXdpdGgtdXNlci1pbnRlcmFjdGlvbi1i
dXQtYWNjZXNzLWZyb20td3JvbmctZnJhbWUtZGF0YWJhc2UuaHRtbCBiL0xheW91dFRlc3RzL2h0
dHAvdGVzdHMvc3RvcmFnZUFjY2Vzcy9yZXF1ZXN0LWFuZC1ncmFudC1hY2Nlc3MtY3Jvc3Mtb3Jp
Z2luLXNhbmRib3hlZC1pZnJhbWUtZnJvbS1wcmV2YWxlbnQtZG9tYWluLXdpdGgtdXNlci1pbnRl
cmFjdGlvbi1idXQtYWNjZXNzLWZyb20td3JvbmctZnJhbWUtZGF0YWJhc2UuaHRtbApkZWxldGVk
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYzU1NDg2OTY3YmFjMDRmNDdlMjdjM2JlZjZjOWViYmFl
NWZkOTA4NS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9M
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL3N0b3JhZ2VBY2Nlc3MvcmVxdWVzdC1hbmQtZ3JhbnQtYWNj
ZXNzLWNyb3NzLW9yaWdpbi1zYW5kYm94ZWQtaWZyYW1lLWZyb20tcHJldmFsZW50LWRvbWFpbi13
aXRoLXVzZXItaW50ZXJhY3Rpb24tYnV0LWFjY2Vzcy1mcm9tLXdyb25nLWZyYW1lLWRhdGFiYXNl
Lmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSwxNDUgKzAsMCBAQAotPCFET0NUWVBFIGh0bWw+Ci08
aHRtbD4KLTxoZWFkPgotICAgIDxzY3JpcHQgc3JjPSIvanMtdGVzdC1yZXNvdXJjZXMvanMtdGVz
dC5qcyI+PC9zY3JpcHQ+Ci0gICAgPHNjcmlwdCBzcmM9Ii9qcy10ZXN0LXJlc291cmNlcy91aS1o
ZWxwZXIuanMiPjwvc2NyaXB0PgotICAgIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VMb2FkU3RhdGlz
dGljcy9yZXNvdXJjZXMvdXRpbC5qcyI+PC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keT4KLSAgICA8
c2NyaXB0PgotICAgICAgICBkZXNjcmlwdGlvbigiVGVzdHMgdGhhdCBjcm9zcy1vcmlnaW4gaWZy
YW1lIHN0b3JhZ2UgYWNjZXNzIGlzIGRlbmllZCBpZiB0aGUgaWZyYW1lIGlzIHNhbmRib3hlZCwg
aGFzIHRoZSBhbGxvdyB0b2tlbiwgdGhlIGlmcmFtZSBvcmlnaW4gaXMgYSBwcmV2YWxlbnQgcmVz
b3VyY2UsIHRoZSBpZnJhbWUgb3JpZ2luIGhhcyBoYWQgdXNlciBpbnRlcmFjdGlvbiwgdGhlIHVz
ZXIgb3B0cyBpbiwgYnV0IHRoZSBmcmFtZSBpcyBub3QgdGhlIG9uZSB3aXRoIGFjY2Vzcy4iKTsK
LSAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7Ci0KLSAgICAgICAgY29uc3QgaG9zdFVuZGVy
VGVzdCA9ICJsb2NhbGhvc3Q6ODAwMCI7Ci0gICAgICAgIGNvbnN0IHN0YXRpc3RpY3NVcmwgPSAi
aHR0cDovLyIgKyBob3N0VW5kZXJUZXN0ICsgIi90ZW1wIjsKLQotICAgICAgICBjb25zdCBwYXJ0
aXRpb25Ib3N0ID0gIjEyNy4wLjAuMTo4MDAwIjsKLSAgICAgICAgY29uc3QgdGhpcmRQYXJ0eU9y
aWdpbiA9ICJodHRwOi8vbG9jYWxob3N0OjgwMDAiOwotICAgICAgICBjb25zdCByZXNvdXJjZVBh
dGggPSAiL3N0b3JhZ2VBY2Nlc3MvcmVzb3VyY2VzIjsKLSAgICAgICAgY29uc3QgdGhpcmRQYXJ0
eUJhc2VVcmwgPSB0aGlyZFBhcnR5T3JpZ2luICsgcmVzb3VyY2VQYXRoOwotICAgICAgICBjb25z
dCBmaXJzdFBhcnR5Q29va2llTmFtZSA9ICJmaXJzdFBhcnR5Q29va2llIjsKLSAgICAgICAgY29u
c3Qgc3ViUGF0aFRvU2V0Rmlyc3RQYXJ0eUNvb2tpZSA9ICIvc2V0LWNvb2tpZS5waHA/bmFtZT0i
ICsgZmlyc3RQYXJ0eUNvb2tpZU5hbWUgKyAiJnZhbHVlPXZhbHVlIjsKLSAgICAgICAgY29uc3Qg
cGFydGl0aW9uZWRDb29raWVOYW1lID0gInBhcnRpdGlvbmVkQ29va2llIjsKLSAgICAgICAgY29u
c3Qgc3ViUGF0aFRvU2V0UGFydGl0aW9uZWRDb29raWUgPSAiL3NldC1jb29raWUucGhwP25hbWU9
IiArIHBhcnRpdGlvbmVkQ29va2llTmFtZSArICImdmFsdWU9dmFsdWUiOwotICAgICAgICBjb25z
dCByZXR1cm5VcmwgPSAiaHR0cDovLyIgKyBwYXJ0aXRpb25Ib3N0ICsgIi9zdG9yYWdlQWNjZXNz
L3JlcXVlc3QtYW5kLWdyYW50LWFjY2Vzcy1jcm9zcy1vcmlnaW4tc2FuZGJveGVkLWlmcmFtZS1m
cm9tLXByZXZhbGVudC1kb21haW4td2l0aC11c2VyLWludGVyYWN0aW9uLWJ1dC1hY2Nlc3MtZnJv
bS13cm9uZy1mcmFtZS1kYXRhYmFzZS5odG1sIjsKLSAgICAgICAgY29uc3Qgc3ViUGF0aFRvR2V0
Q29va2llcyA9ICIvZ2V0LWNvb2tpZXMucGhwP25hbWUxPSIgKyBmaXJzdFBhcnR5Q29va2llTmFt
ZSArICImbmFtZTI9IiArIHBhcnRpdGlvbmVkQ29va2llTmFtZTsKLQotICAgICAgICBmdW5jdGlv
biBvcGVuSWZyYW1lKHVybCwgb25Mb2FkSGFuZGxlcikgewotICAgICAgICAgICAgY29uc3QgZWxl
bWVudCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImlmcmFtZSIpOwotICAgICAgICAgICAgZWxl
bWVudC5zcmMgPSB1cmw7Ci0gICAgICAgICAgICBpZiAob25Mb2FkSGFuZGxlcikgewotICAgICAg
ICAgICAgICAgIGVsZW1lbnQub25sb2FkID0gb25Mb2FkSGFuZGxlcjsKLSAgICAgICAgICAgIH0K
LSAgICAgICAgICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoZWxlbWVudCk7Ci0gICAgICAg
IH0KLQotICAgICAgICBmdW5jdGlvbiByZWNlaXZlTWVzc2FnZShldmVudCkgewotICAgICAgICAg
ICAgaWYgKGV2ZW50Lm9yaWdpbiA9PT0gImh0dHA6Ly9sb2NhbGhvc3Q6ODAwMCIpIHsKLSAgICAg
ICAgICAgICAgICBpZiAoZXZlbnQuZGF0YS5pbmRleE9mKCJQQVNTIikgIT09IC0xKQotICAgICAg
ICAgICAgICAgICAgICB0ZXN0UGFzc2VkKGV2ZW50LmRhdGEucmVwbGFjZSgiUEFTUyAiLCAiIikp
OwotICAgICAgICAgICAgICAgIGVsc2UKLSAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChl
dmVudC5kYXRhKTsKLSAgICAgICAgICAgIH0gZWxzZQotICAgICAgICAgICAgICAgIHRlc3RGYWls
ZWQoIlJlY2VpdmVkIGEgbWVzc2FnZSBmcm9tIGFuIHVuZXhwZWN0ZWQgb3JpZ2luOiAiICsgZXZl
bnQub3JpZ2luKTsKLSAgICAgICAgICAgIHJ1blRlc3QoKTsKLSAgICAgICAgfQotCi0gICAgICAg
IGZ1bmN0aW9uIGFjdGl2YXRlRWxlbWVudChlbGVtZW50SWQpIHsKLSAgICAgICAgICAgIHZhciBl
bGVtZW50ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoZWxlbWVudElkKTsKLSAgICAgICAgICAg
IHZhciBjZW50ZXJYID0gZWxlbWVudC5vZmZzZXRMZWZ0ICsgZWxlbWVudC5vZmZzZXRXaWR0aCAv
IDI7Ci0gICAgICAgICAgICB2YXIgY2VudGVyWSA9IGVsZW1lbnQub2Zmc2V0VG9wICsgZWxlbWVu
dC5vZmZzZXRIZWlnaHQgLyAyOwotICAgICAgICAgICAgVUlIZWxwZXIuYWN0aXZhdGVBdChjZW50
ZXJYLCBjZW50ZXJZKS50aGVuKAotICAgICAgICAgICAgICAgIGZ1bmN0aW9uICgpIHsKLSAgICAg
ICAgICAgICAgICAgICAgaWYgKHdpbmRvdy5ldmVudFNlbmRlcikKLSAgICAgICAgICAgICAgICAg
ICAgICAgIGV2ZW50U2VuZGVyLmtleURvd24oImVzY2FwZSIpOwotICAgICAgICAgICAgICAgICAg
ICBlbHNlIHsKLSAgICAgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoIk5vIGV2ZW50U2Vu
ZGVyLiIpOwotICAgICAgICAgICAgICAgICAgICAgICAgc2V0RW5hYmxlRmVhdHVyZShmYWxzZSwg
ZmluaXNoSlNUZXN0KTsKLSAgICAgICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgIH0s
Ci0gICAgICAgICAgICAgICAgZnVuY3Rpb24gKCkgewotICAgICAgICAgICAgICAgICAgICB0ZXN0
RmFpbGVkKCJQcm9taXNlIHJlamVjdGVkLiIpOwotICAgICAgICAgICAgICAgICAgICBzZXRFbmFi
bGVGZWF0dXJlKGZhbHNlLCBmaW5pc2hKU1Rlc3QpOwotICAgICAgICAgICAgICAgIH0KLSAgICAg
ICAgICAgICk7Ci0gICAgICAgIH0KLQotICAgICAgICBmdW5jdGlvbiBydW5UZXN0KCkgewotICAg
ICAgICAgICAgc3dpdGNoIChkb2N1bWVudC5sb2NhdGlvbi5oYXNoKSB7Ci0gICAgICAgICAgICAg
ICAgY2FzZSAiI3N0ZXAxIjoKLSAgICAgICAgICAgICAgICAgICAgaWYgKHRlc3RSdW5uZXIuaXNT
dGF0aXN0aWNzUHJldmFsZW50UmVzb3VyY2Uoc3RhdGlzdGljc1VybCkpCi0gICAgICAgICAgICAg
ICAgICAgICAgICB0ZXN0RmFpbGVkKCJIb3N0IHByZW1hdHVyZWx5IHNldCBhcyBwcmV2YWxlbnQg
cmVzb3VyY2UuIik7Ci0gICAgICAgICAgICAgICAgICAgIC8vIFNldCBmaXJzdC1wYXJ0eSBjb29r
aWUgZm9yIGxvY2FsaG9zdC4KLSAgICAgICAgICAgICAgICAgICAgZG9jdW1lbnQubG9jYXRpb24u
aHJlZiA9IHRoaXJkUGFydHlCYXNlVXJsICsgc3ViUGF0aFRvU2V0Rmlyc3RQYXJ0eUNvb2tpZSAr
ICIjIiArIHJldHVyblVybCArICIjc3RlcDIiOwotICAgICAgICAgICAgICAgICAgICBicmVhazsK
LSAgICAgICAgICAgICAgICBjYXNlICIjc3RlcDIiOgotICAgICAgICAgICAgICAgICAgICBkb2N1
bWVudC5sb2NhdGlvbi5oYXNoID0gInN0ZXAzIjsKLSAgICAgICAgICAgICAgICAgICAgLy8gQ2hl
Y2sgdGhhdCB0aGUgZmlyc3QtcGFydHkgY29va2llIGRvZXMgZ2V0IHNlbnQgZm9yIGxvY2FsaG9z
dCB1bmRlciAxMjcuMC4wLjEuCi0gICAgICAgICAgICAgICAgICAgIG9wZW5JZnJhbWUodGhpcmRQ
YXJ0eUJhc2VVcmwgKyBzdWJQYXRoVG9HZXRDb29raWVzICsgIiZtZXNzYWdlPVNob3VsZCByZWNl
aXZlIGZpcnN0LXBhcnR5IGNvb2tpZS4iLCBydW5UZXN0KTsKLSAgICAgICAgICAgICAgICAgICAg
YnJlYWs7Ci0gICAgICAgICAgICAgICAgY2FzZSAiI3N0ZXAzIjoKLSAgICAgICAgICAgICAgICAg
ICAgZG9jdW1lbnQubG9jYXRpb24uaGFzaCA9ICJzdGVwNCI7Ci0gICAgICAgICAgICAgICAgICAg
IC8vIFNldCBsb2NhbGhvc3QgYXMgcHJldmFsZW50LgotICAgICAgICAgICAgICAgICAgICB0ZXN0
UnVubmVyLnNldFN0YXRpc3RpY3NQcmV2YWxlbnRSZXNvdXJjZShzdGF0aXN0aWNzVXJsLCB0cnVl
LCBmdW5jdGlvbigpIHsKLSAgICAgICAgICAgICAgICAgICAgICAgIGlmICghdGVzdFJ1bm5lci5p
c1N0YXRpc3RpY3NQcmV2YWxlbnRSZXNvdXJjZShzdGF0aXN0aWNzVXJsKSkKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKCJIb3N0IGRpZCBub3QgZ2V0IHNldCBhcyBwcmV2
YWxlbnQgcmVzb3VyY2UuIik7Ci0gICAgICAgICAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLnNl
dFN0YXRpc3RpY3NIYXNIYWRVc2VySW50ZXJhY3Rpb24oc3RhdGlzdGljc1VybCwgdHJ1ZSwgZnVu
Y3Rpb24oKSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCF0ZXN0UnVubmVyLmlz
U3RhdGlzdGljc0hhc0hhZFVzZXJJbnRlcmFjdGlvbihzdGF0aXN0aWNzVXJsKSkKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZCgiSG9zdCBkaWQgbm90IGdldCBsb2dn
ZWQgZm9yIHVzZXIgaW50ZXJhY3Rpb24uIik7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
dGVzdFJ1bm5lci5zdGF0aXN0aWNzVXBkYXRlQ29va2llQmxvY2tpbmcoZnVuY3Rpb24oKSB7Ci0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIENoZWNrIHRoYXQgdGhlIGZpcnN0LXBh
cnR5IGNvb2tpZSBkb2VzIG5vdCBnZXQgc2VudCBmb3IgbG9jYWxob3N0IHVuZGVyIDEyNy4wLjAu
MS4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3BlbklmcmFtZSh0aGlyZFBhcnR5
QmFzZVVybCArIHN1YlBhdGhUb0dldENvb2tpZXMgKyAiJm1lc3NhZ2U9U2hvdWxkIG5vdCByZWNl
aXZlIGNvb2tpZXMuIiwgcnVuVGVzdCk7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSk7
Ci0gICAgICAgICAgICAgICAgICAgICAgICB9KTsKLSAgICAgICAgICAgICAgICAgICAgfSk7Ci0g
ICAgICAgICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICAgICAgICAgIGNhc2UgIiNzdGVwNCI6
Ci0gICAgICAgICAgICAgICAgICAgIGRvY3VtZW50LmxvY2F0aW9uLmhhc2ggPSAic3RlcDUiOwot
ICAgICAgICAgICAgICAgICAgICAvLyBUcnkgdG8gc2V0IGNvb2tpZSBmb3IgbG9jYWxob3N0Lgot
ICAgICAgICAgICAgICAgICAgICBvcGVuSWZyYW1lKHRoaXJkUGFydHlCYXNlVXJsICsgc3ViUGF0
aFRvU2V0UGFydGl0aW9uZWRDb29raWUsIHJ1blRlc3QpOwotICAgICAgICAgICAgICAgICAgICBi
cmVhazsKLSAgICAgICAgICAgICAgICBjYXNlICIjc3RlcDUiOgotICAgICAgICAgICAgICAgICAg
ICBkb2N1bWVudC5sb2NhdGlvbi5oYXNoID0gInN0ZXA2IjsKLSAgICAgICAgICAgICAgICAgICAg
Ly8gQ2hlY2sgdGhhdCBubyBjb29raWUgZ2V0cyBzZW50IGZvciBsb2NhbGhvc3QgdW5kZXIgMTI3
LjAuMC4xLgotICAgICAgICAgICAgICAgICAgICBvcGVuSWZyYW1lKHRoaXJkUGFydHlCYXNlVXJs
ICsgc3ViUGF0aFRvR2V0Q29va2llcyArICImbWVzc2FnZT1TaG91bGQgbm90IHJlY2VpdmUgY29v
a2llcy4iLCBydW5UZXN0KTsKLSAgICAgICAgICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgICAg
ICAgICAgY2FzZSAiI3N0ZXA2IjoKLSAgICAgICAgICAgICAgICAgICAgZG9jdW1lbnQubG9jYXRp
b24uaGFzaCA9ICJzdGVwNyI7Ci0gICAgICAgICAgICAgICAgICAgIGxldCBpZnJhbWVFbGVtZW50
ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiaWZyYW1lIik7Ci0gICAgICAgICAgICAgICAgICAg
IGlmcmFtZUVsZW1lbnQuc2V0QXR0cmlidXRlKCJzYW5kYm94IiwgImFsbG93LXN0b3JhZ2UtYWNj
ZXNzLWJ5LXVzZXItYWN0aXZhdGlvbiBhbGxvdy1zY3JpcHRzIGFsbG93LXNhbWUtb3JpZ2luIGFs
bG93LW1vZGFscyIpOwotICAgICAgICAgICAgICAgICAgICBpZnJhbWVFbGVtZW50Lm9ubG9hZCA9
IGZ1bmN0aW9uKCkgewotICAgICAgICAgICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5zdGF0aXN0
aWNzVXBkYXRlQ29va2llQmxvY2tpbmcoZnVuY3Rpb24oKSB7Ci0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgYWN0aXZhdGVFbGVtZW50KCJUaGVJZnJhbWVUaGF0UmVxdWVzdHNTdG9yYWdlQWNj
ZXNzIik7Ci0gICAgICAgICAgICAgICAgICAgICAgICB9KTsKLSAgICAgICAgICAgICAgICAgICAg
fTsKLSAgICAgICAgICAgICAgICAgICAgaWZyYW1lRWxlbWVudC5pZCA9ICJUaGVJZnJhbWVUaGF0
UmVxdWVzdHNTdG9yYWdlQWNjZXNzIjsKLSAgICAgICAgICAgICAgICAgICAgaWZyYW1lRWxlbWVu
dC5zcmMgPSAiaHR0cDovL2xvY2FsaG9zdDo4MDAwL3N0b3JhZ2VBY2Nlc3MvcmVzb3VyY2VzL3Jl
cXVlc3Qtc3RvcmFnZS1hY2Nlc3MtaWZyYW1lLmh0bWwjdXNlclNob3VsZEdyYW50QWNjZXNzLHVz
ZXJTaG91bGRCZUNvbnN1bHRlZCxwb2xpY3lTaG91bGRHcmFudEFjY2Vzcyxpc05vdFNhbWVPcmln
aW5JZnJhbWUiOwotICAgICAgICAgICAgICAgICAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxk
KGlmcmFtZUVsZW1lbnQpOwotICAgICAgICAgICAgICAgICAgICBicmVhazsKLSAgICAgICAgICAg
ICAgICBjYXNlICIjc3RlcDciOgotICAgICAgICAgICAgICAgICAgICBkb2N1bWVudC5sb2NhdGlv
bi5oYXNoID0gInN0ZXA4IjsKLSAgICAgICAgICAgICAgICAgICAgLy8gQ2hlY2sgdGhhdCBubyBj
b29raWUgZ2V0cyBzZW50IGZvciBsb2NhbGhvc3QgdW5kZXIgMTI3LjAuMC4xIHNpbmNlIHdlJ3Jl
IG9wZW5pbmcgYSBuZXcgZnJhbWUuCi0gICAgICAgICAgICAgICAgICAgIG9wZW5JZnJhbWUodGhp
cmRQYXJ0eUJhc2VVcmwgKyBzdWJQYXRoVG9HZXRDb29raWVzICsgIiZtZXNzYWdlPVNob3VsZCBu
b3QgcmVjZWl2ZSBjb29raWVzLiIsIHJ1blRlc3QpOwotICAgICAgICAgICAgICAgICAgICBicmVh
azsKLSAgICAgICAgICAgICAgICBjYXNlICIjc3RlcDgiOgotICAgICAgICAgICAgICAgICAgICBz
ZXRFbmFibGVGZWF0dXJlKGZhbHNlLCBmaW5pc2hKU1Rlc3QpOwotICAgICAgICAgICAgICAgICAg
ICBicmVhazsKLSAgICAgICAgICAgIH0KLSAgICAgICAgfQotCi0gICAgICAgIGlmIChkb2N1bWVu
dC5sb2NhdGlvbi5oYXNoID09PSAiIikgewotICAgICAgICAgICAgdGVzdFJ1bm5lci5zZXRVc2VJ
VFBEYXRhYmFzZSh0cnVlKTsKLSAgICAgICAgICAgIHNldEVuYWJsZUZlYXR1cmUodHJ1ZSwgZnVu
Y3Rpb24oKSB7Ci0gICAgICAgICAgICAgICAgaWYgKHRlc3RSdW5uZXIuaXNTdGF0aXN0aWNzUHJl
dmFsZW50UmVzb3VyY2UodGhpcmRQYXJ0eUJhc2VVcmwpKQotICAgICAgICAgICAgICAgICAgICB0
ZXN0RmFpbGVkKCJMb2NhbGhvc3Qgd2FzIGNsYXNzaWZpZWQgYXMgcHJldmFsZW50IHJlc291cmNl
IGJlZm9yZSB0aGUgdGVzdCBzdGFydHMuIik7Ci0gICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5k
dW1wQ2hpbGRGcmFtZXNBc1RleHQoKTsKLSAgICAgICAgICAgICAgICBkb2N1bWVudC5sb2NhdGlv
bi5oYXNoID0gInN0ZXAxIjsKLSAgICAgICAgICAgIH0pOwotICAgICAgICB9Ci0KLSAgICAgICAg
d2luZG93LmFkZEV2ZW50TGlzdGVuZXIoIm1lc3NhZ2UiLCByZWNlaXZlTWVzc2FnZSwgZmFsc2Up
OwotCi0gICAgICAgIHJ1blRlc3QoKTsKLSAgICA8L3NjcmlwdD4KLTwvYm9keT4KLTwvaHRtbD4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc3RvcmFnZUFjY2Vzcy9yZXF1ZXN0
LWFuZC1ncmFudC1hY2Nlc3MtY3Jvc3Mtb3JpZ2luLXNhbmRib3hlZC1pZnJhbWUtZnJvbS1wcmV2
YWxlbnQtZG9tYWluLXdpdGgtdXNlci1pbnRlcmFjdGlvbi1kYXRhYmFzZS1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3N0b3JhZ2VBY2Nlc3MvcmVxdWVzdC1hbmQtZ3JhbnQt
YWNjZXNzLWNyb3NzLW9yaWdpbi1zYW5kYm94ZWQtaWZyYW1lLWZyb20tcHJldmFsZW50LWRvbWFp
bi13aXRoLXVzZXItaW50ZXJhY3Rpb24tZGF0YWJhc2UtZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCA4MGYwMjRhMDc5ODhjY2Q2MjdmMjM0MWM4ZTFkZTFkOTgxYzBk
NGVlLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91
dFRlc3RzL2h0dHAvdGVzdHMvc3RvcmFnZUFjY2Vzcy9yZXF1ZXN0LWFuZC1ncmFudC1hY2Nlc3Mt
Y3Jvc3Mtb3JpZ2luLXNhbmRib3hlZC1pZnJhbWUtZnJvbS1wcmV2YWxlbnQtZG9tYWluLXdpdGgt
dXNlci1pbnRlcmFjdGlvbi1kYXRhYmFzZS1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAt
MSwxMCArMCwwIEBACi1UZXN0cyB0aGF0IGNyb3NzLW9yaWdpbiBpZnJhbWUgc3RvcmFnZSBhY2Nl
c3MgaXMgZ3JhbnRlZCBpZiB0aGUgaWZyYW1lIGlzIHNhbmRib3hlZCwgaGFzIHRoZSBhbGxvdyB0
b2tlbiwgdGhlIGlmcmFtZSBvcmlnaW4gaXMgYSBwcmV2YWxlbnQgcmVzb3VyY2UsIHRoZSBpZnJh
bWUgb3JpZ2luIGhhcyBoYWQgcmVjZW50IHVzZXIgaW50ZXJhY3Rpb24sIGFuZCB0aGUgdXNlciBv
cHRzIGluLgotCi1PbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1l
c3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCi0KLQotUEFTUyBTdG9yYWdlIGFj
Y2VzcyB3YXMgZ3JhbnRlZC4gZG9jdW1lbnQuY29va2llID09ICwgY29va2llcyBzZWVuIHNlcnZl
ci1zaWRlID09ICJObyBjb29raWVzIgotUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQot
Ci1URVNUIENPTVBMRVRFCi0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc3Rv
cmFnZUFjY2Vzcy9yZXF1ZXN0LWFuZC1ncmFudC1hY2Nlc3MtY3Jvc3Mtb3JpZ2luLXNhbmRib3hl
ZC1pZnJhbWUtZnJvbS1wcmV2YWxlbnQtZG9tYWluLXdpdGgtdXNlci1pbnRlcmFjdGlvbi1kYXRh
YmFzZS5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zdG9yYWdlQWNjZXNzL3JlcXVlc3Qt
YW5kLWdyYW50LWFjY2Vzcy1jcm9zcy1vcmlnaW4tc2FuZGJveGVkLWlmcmFtZS1mcm9tLXByZXZh
bGVudC1kb21haW4td2l0aC11c2VyLWludGVyYWN0aW9uLWRhdGFiYXNlLmh0bWwKZGVsZXRlZCBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDQzMTE0MTkwYzQwNDE3Nzg1ZTc0YTUxN2YzMjgzOTk4ZTJk
MWI0YWYuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy9zdG9yYWdlQWNjZXNzL3JlcXVlc3QtYW5kLWdyYW50LWFjY2Vz
cy1jcm9zcy1vcmlnaW4tc2FuZGJveGVkLWlmcmFtZS1mcm9tLXByZXZhbGVudC1kb21haW4td2l0
aC11c2VyLWludGVyYWN0aW9uLWRhdGFiYXNlLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSw3MSAr
MCwwIEBACi08IURPQ1RZUEUgaHRtbD4KLTxodG1sPgotPGhlYWQ+Ci0gICAgPHNjcmlwdCBzcmM9
Ii9qcy10ZXN0LXJlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KLSAgICA8c2NyaXB0IHNy
Yz0iL2pzLXRlc3QtcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Ci0gICAgPHNjcmlw
dCBzcmM9Ii9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3Jlc291cmNlcy91dGlsLmpzIj48L3Njcmlw
dD4KLSAgICA8c2NyaXB0PgotICAgICAgICBkZXNjcmlwdGlvbigiVGVzdHMgdGhhdCBjcm9zcy1v
cmlnaW4gaWZyYW1lIHN0b3JhZ2UgYWNjZXNzIGlzIGdyYW50ZWQgaWYgdGhlIGlmcmFtZSBpcyBz
YW5kYm94ZWQsIGhhcyB0aGUgYWxsb3cgdG9rZW4sIHRoZSBpZnJhbWUgb3JpZ2luIGlzIGEgcHJl
dmFsZW50IHJlc291cmNlLCB0aGUgaWZyYW1lIG9yaWdpbiBoYXMgaGFkIHJlY2VudCB1c2VyIGlu
dGVyYWN0aW9uLCBhbmQgdGhlIHVzZXIgb3B0cyBpbi4iKTsKLSAgICAgICAganNUZXN0SXNBc3lu
YyA9IHRydWU7Ci0KLSAgICAgICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoIm1lc3NhZ2UiLCBy
ZWNlaXZlTWVzc2FnZSwgZmFsc2UpOwotCi0gICAgICAgIGZ1bmN0aW9uIHJlY2VpdmVNZXNzYWdl
KGV2ZW50KSB7Ci0gICAgICAgICAgICBpZiAoZXZlbnQub3JpZ2luID09PSAiaHR0cDovL2xvY2Fs
aG9zdDo4MDAwIikgewotICAgICAgICAgICAgICAgIGlmIChldmVudC5kYXRhLmluZGV4T2YoIlBB
U1MiKSAhPT0gLTEpCi0gICAgICAgICAgICAgICAgICAgIHRlc3RQYXNzZWQoZXZlbnQuZGF0YS5y
ZXBsYWNlKCJQQVNTICIsICIiKSk7Ci0gICAgICAgICAgICAgICAgZWxzZQotICAgICAgICAgICAg
ICAgICAgICB0ZXN0RmFpbGVkKGV2ZW50LmRhdGEpOwotICAgICAgICAgICAgfSBlbHNlCi0gICAg
ICAgICAgICAgICAgdGVzdEZhaWxlZCgiUmVjZWl2ZWQgYSBtZXNzYWdlIGZyb20gYW4gdW5leHBl
Y3RlZCBvcmlnaW46ICIgKyBldmVudC5vcmlnaW4pOwotICAgICAgICAgICAgc2V0RW5hYmxlRmVh
dHVyZShmYWxzZSwgZmluaXNoSlNUZXN0KTsKLSAgICAgICAgfQotCi0gICAgICAgIGZ1bmN0aW9u
IGFjdGl2YXRlRWxlbWVudChlbGVtZW50SWQpIHsKLSAgICAgICAgICAgIHZhciBlbGVtZW50ID0g
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoZWxlbWVudElkKTsKLSAgICAgICAgICAgIHZhciBjZW50
ZXJYID0gZWxlbWVudC5vZmZzZXRMZWZ0ICsgZWxlbWVudC5vZmZzZXRXaWR0aCAvIDI7Ci0gICAg
ICAgICAgICB2YXIgY2VudGVyWSA9IGVsZW1lbnQub2Zmc2V0VG9wICsgZWxlbWVudC5vZmZzZXRI
ZWlnaHQgLyAyOwotICAgICAgICAgICAgVUlIZWxwZXIuYWN0aXZhdGVBdChjZW50ZXJYLCBjZW50
ZXJZKS50aGVuKAotICAgICAgICAgICAgICAgIGZ1bmN0aW9uICgpIHsKLSAgICAgICAgICAgICAg
ICAgICAgaWYgKHdpbmRvdy5ldmVudFNlbmRlcikKLSAgICAgICAgICAgICAgICAgICAgICAgIGV2
ZW50U2VuZGVyLmtleURvd24oImVzY2FwZSIpOwotICAgICAgICAgICAgICAgICAgICBlbHNlIHsK
LSAgICAgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoIk5vIGV2ZW50U2VuZGVyLiIpOwot
ICAgICAgICAgICAgICAgICAgICAgICAgc2V0RW5hYmxlRmVhdHVyZShmYWxzZSwgZmluaXNoSlNU
ZXN0KTsKLSAgICAgICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgIH0sCi0gICAgICAg
ICAgICAgICAgZnVuY3Rpb24gKCkgewotICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKCJQ
cm9taXNlIHJlamVjdGVkLiIpOwotICAgICAgICAgICAgICAgICAgICBzZXRFbmFibGVGZWF0dXJl
KGZhbHNlLCBmaW5pc2hKU1Rlc3QpOwotICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICk7
Ci0gICAgICAgIH0KLQotICAgICAgICBmdW5jdGlvbiBydW5UZXN0KCkgewotICAgICAgICAgICAg
YWN0aXZhdGVFbGVtZW50KCJUaGVJZnJhbWVUaGF0UmVxdWVzdHNTdG9yYWdlQWNjZXNzIik7Ci0g
ICAgICAgIH0KLQotICAgICAgICBjb25zdCBob3N0VW5kZXJUZXN0ID0gImxvY2FsaG9zdDo4MDAw
IjsKLSAgICAgICAgY29uc3Qgc3RhdGlzdGljc1VybCA9ICJodHRwOi8vIiArIGhvc3RVbmRlclRl
c3QgKyAiL3RlbXAiOwotICAgICAgICB0ZXN0UnVubmVyLnNldFVzZUlUUERhdGFiYXNlKHRydWUp
OwotICAgICAgICBzZXRFbmFibGVGZWF0dXJlKHRydWUsIGZ1bmN0aW9uKCkgewotICAgICAgICAg
ICAgdGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNzUHJldmFsZW50UmVzb3VyY2Uoc3RhdGlzdGljc1Vy
bCwgdHJ1ZSwgZnVuY3Rpb24oKSB7Ci0gICAgICAgICAgICAgICAgaWYgKCF0ZXN0UnVubmVyLmlz
U3RhdGlzdGljc1ByZXZhbGVudFJlc291cmNlKHN0YXRpc3RpY3NVcmwpKQotICAgICAgICAgICAg
ICAgICAgICB0ZXN0RmFpbGVkKCJIb3N0IGRpZCBub3QgZ2V0IHNldCBhcyBwcmV2YWxlbnQgcmVz
b3VyY2UuIik7Ci0gICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNzSGFzSGFk
VXNlckludGVyYWN0aW9uKHN0YXRpc3RpY3NVcmwsIHRydWUsIGZ1bmN0aW9uKCkgewotICAgICAg
ICAgICAgICAgICAgICBpZiAoIXRlc3RSdW5uZXIuaXNTdGF0aXN0aWNzSGFzSGFkVXNlckludGVy
YWN0aW9uKHN0YXRpc3RpY3NVcmwpKQotICAgICAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxl
ZCgiSG9zdCBkaWQgbm90IGdldCBsb2dnZWQgZm9yIHVzZXIgaW50ZXJhY3Rpb24uIik7Ci0gICAg
ICAgICAgICAgICAgICAgIGxldCBpZnJhbWVFbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVu
dCgiaWZyYW1lIik7Ci0gICAgICAgICAgICAgICAgICAgIGlmcmFtZUVsZW1lbnQuc2V0QXR0cmli
dXRlKCJzYW5kYm94IiwgImFsbG93LXN0b3JhZ2UtYWNjZXNzLWJ5LXVzZXItYWN0aXZhdGlvbiBh
bGxvdy1zY3JpcHRzIGFsbG93LXNhbWUtb3JpZ2luIGFsbG93LW1vZGFscyIpOwotICAgICAgICAg
ICAgICAgICAgICBpZnJhbWVFbGVtZW50Lm9ubG9hZCA9IHJ1blRlc3Q7Ci0gICAgICAgICAgICAg
ICAgICAgIGlmcmFtZUVsZW1lbnQuaWQgPSAiVGhlSWZyYW1lVGhhdFJlcXVlc3RzU3RvcmFnZUFj
Y2VzcyI7Ci0gICAgICAgICAgICAgICAgICAgIGlmcmFtZUVsZW1lbnQuc3JjID0gImh0dHA6Ly9s
b2NhbGhvc3Q6ODAwMC9zdG9yYWdlQWNjZXNzL3Jlc291cmNlcy9yZXF1ZXN0LXN0b3JhZ2UtYWNj
ZXNzLWlmcmFtZS5odG1sI3VzZXJTaG91bGRHcmFudEFjY2Vzcyx1c2VyU2hvdWxkQmVDb25zdWx0
ZWQscG9saWN5U2hvdWxkR3JhbnRBY2Nlc3MsaXNOb3RTYW1lT3JpZ2luSWZyYW1lIjsKLSAgICAg
ICAgICAgICAgICAgICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChpZnJhbWVFbGVtZW50KTsK
LSAgICAgICAgICAgICAgICB9KTsKLSAgICAgICAgICAgIH0pOwotICAgICAgICB9KTsKLSAgICA8
L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5PgotPC9ib2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zdG9yYWdlQWNjZXNzL3JlcXVlc3QtYW5kLWdyYW50LWFj
Y2Vzcy1jcm9zcy1vcmlnaW4tc2FuZGJveGVkLWlmcmFtZS1mcm9tLXByZXZhbGVudC1kb21haW4t
d2l0aG91dC11c2VyLWludGVyYWN0aW9uLWRhdGFiYXNlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2h0dHAvdGVzdHMvc3RvcmFnZUFjY2Vzcy9yZXF1ZXN0LWFuZC1ncmFudC1hY2Nlc3MtY3Jv
c3Mtb3JpZ2luLXNhbmRib3hlZC1pZnJhbWUtZnJvbS1wcmV2YWxlbnQtZG9tYWluLXdpdGhvdXQt
dXNlci1pbnRlcmFjdGlvbi1kYXRhYmFzZS1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDY0MGY2Yzg1YzcwNTcxYTY4NDllYzkwYTg2NzAwYTA1Nzk3NmI0MTUuLjAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMv
aHR0cC90ZXN0cy9zdG9yYWdlQWNjZXNzL3JlcXVlc3QtYW5kLWdyYW50LWFjY2Vzcy1jcm9zcy1v
cmlnaW4tc2FuZGJveGVkLWlmcmFtZS1mcm9tLXByZXZhbGVudC1kb21haW4td2l0aG91dC11c2Vy
LWludGVyYWN0aW9uLWRhdGFiYXNlLWV4cGVjdGVkLnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDEw
ICswLDAgQEAKLVRlc3RzIHRoYXQgY3Jvc3Mtb3JpZ2luIGlmcmFtZSBzdG9yYWdlIGFjY2VzcyBp
cyBkZW5pZWQgaWYgdGhlIGlmcmFtZSBpcyBzYW5kYm94ZWQsIGhhcyB0aGUgYWxsb3cgdG9rZW4s
IHRoZSBpZnJhbWUgb3JpZ2luIGlzIGEgcHJldmFsZW50IHJlc291cmNlLCB0aGUgaWZyYW1lIG9y
aWdpbiBoYXMgbm90IGhhZCB1c2VyIGludGVyYWN0aW9uLCBhbmQgdGhlIHVzZXIgb3B0cyBpbi4K
LQotT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywg
Zm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgotCi0KLVBBU1MgU3RvcmFnZSBhY2Nlc3Mgd2Fz
IGRlbmllZC4gZG9jdW1lbnQuY29va2llID09ICwgY29va2llcyBzZWVuIHNlcnZlci1zaWRlID09
ICJObyBjb29raWVzIgotUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQotCi1URVNUIENP
TVBMRVRFCi0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc3RvcmFnZUFjY2Vz
cy9yZXF1ZXN0LWFuZC1ncmFudC1hY2Nlc3MtY3Jvc3Mtb3JpZ2luLXNhbmRib3hlZC1pZnJhbWUt
ZnJvbS1wcmV2YWxlbnQtZG9tYWluLXdpdGhvdXQtdXNlci1pbnRlcmFjdGlvbi1kYXRhYmFzZS5o
dG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zdG9yYWdlQWNjZXNzL3JlcXVlc3QtYW5kLWdy
YW50LWFjY2Vzcy1jcm9zcy1vcmlnaW4tc2FuZGJveGVkLWlmcmFtZS1mcm9tLXByZXZhbGVudC1k
b21haW4td2l0aG91dC11c2VyLWludGVyYWN0aW9uLWRhdGFiYXNlLmh0bWwKZGVsZXRlZCBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDlkY2FhM2E4ZWI3MDU4ZWUzY2QzNzk3OTdiZTZlYmM0OTAwYmQy
YmIuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy9zdG9yYWdlQWNjZXNzL3JlcXVlc3QtYW5kLWdyYW50LWFjY2Vzcy1j
cm9zcy1vcmlnaW4tc2FuZGJveGVkLWlmcmFtZS1mcm9tLXByZXZhbGVudC1kb21haW4td2l0aG91
dC11c2VyLWludGVyYWN0aW9uLWRhdGFiYXNlLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSw2NyAr
MCwwIEBACi08IURPQ1RZUEUgaHRtbD4KLTxodG1sPgotPGhlYWQ+Ci0gICAgPHNjcmlwdCBzcmM9
Ii9qcy10ZXN0LXJlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KLSAgICA8c2NyaXB0IHNy
Yz0iL2pzLXRlc3QtcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Ci0gICAgPHNjcmlw
dCBzcmM9Ii9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3Jlc291cmNlcy91dGlsLmpzIj48L3Njcmlw
dD4KLSAgICA8c2NyaXB0PgotICAgICAgICBkZXNjcmlwdGlvbigiVGVzdHMgdGhhdCBjcm9zcy1v
cmlnaW4gaWZyYW1lIHN0b3JhZ2UgYWNjZXNzIGlzIGRlbmllZCBpZiB0aGUgaWZyYW1lIGlzIHNh
bmRib3hlZCwgaGFzIHRoZSBhbGxvdyB0b2tlbiwgdGhlIGlmcmFtZSBvcmlnaW4gaXMgYSBwcmV2
YWxlbnQgcmVzb3VyY2UsIHRoZSBpZnJhbWUgb3JpZ2luIGhhcyBub3QgaGFkIHVzZXIgaW50ZXJh
Y3Rpb24sIGFuZCB0aGUgdXNlciBvcHRzIGluLiIpOwotICAgICAgICBqc1Rlc3RJc0FzeW5jID0g
dHJ1ZTsKLQotICAgICAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigibWVzc2FnZSIsIHJlY2Vp
dmVNZXNzYWdlLCBmYWxzZSk7Ci0KLSAgICAgICAgZnVuY3Rpb24gcmVjZWl2ZU1lc3NhZ2UoZXZl
bnQpIHsKLSAgICAgICAgICAgIGlmIChldmVudC5vcmlnaW4gPT09ICJodHRwOi8vbG9jYWxob3N0
OjgwMDAiKSB7Ci0gICAgICAgICAgICAgICAgaWYgKGV2ZW50LmRhdGEuaW5kZXhPZigiUEFTUyIp
ICE9PSAtMSkKLSAgICAgICAgICAgICAgICAgICAgdGVzdFBhc3NlZChldmVudC5kYXRhLnJlcGxh
Y2UoIlBBU1MgIiwgIiIpKTsKLSAgICAgICAgICAgICAgICBlbHNlCi0gICAgICAgICAgICAgICAg
ICAgIHRlc3RGYWlsZWQoZXZlbnQuZGF0YSk7Ci0gICAgICAgICAgICB9IGVsc2UKLSAgICAgICAg
ICAgICAgICB0ZXN0RmFpbGVkKCJSZWNlaXZlZCBhIG1lc3NhZ2UgZnJvbSBhbiB1bmV4cGVjdGVk
IG9yaWdpbjogIiArIGV2ZW50Lm9yaWdpbik7Ci0gICAgICAgICAgICBzZXRFbmFibGVGZWF0dXJl
KGZhbHNlLCBmaW5pc2hKU1Rlc3QpOwotICAgICAgICB9Ci0KLSAgICAgICAgZnVuY3Rpb24gYWN0
aXZhdGVFbGVtZW50KGVsZW1lbnRJZCkgewotICAgICAgICAgICAgdmFyIGVsZW1lbnQgPSBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZChlbGVtZW50SWQpOwotICAgICAgICAgICAgdmFyIGNlbnRlclgg
PSBlbGVtZW50Lm9mZnNldExlZnQgKyBlbGVtZW50Lm9mZnNldFdpZHRoIC8gMjsKLSAgICAgICAg
ICAgIHZhciBjZW50ZXJZID0gZWxlbWVudC5vZmZzZXRUb3AgKyBlbGVtZW50Lm9mZnNldEhlaWdo
dCAvIDI7Ci0gICAgICAgICAgICBVSUhlbHBlci5hY3RpdmF0ZUF0KGNlbnRlclgsIGNlbnRlclkp
LnRoZW4oCi0gICAgICAgICAgICAgICAgZnVuY3Rpb24gKCkgewotICAgICAgICAgICAgICAgICAg
ICBpZiAod2luZG93LmV2ZW50U2VuZGVyKQotICAgICAgICAgICAgICAgICAgICAgICAgZXZlbnRT
ZW5kZXIua2V5RG93bigiZXNjYXBlIik7Ci0gICAgICAgICAgICAgICAgICAgIGVsc2UgewotICAg
ICAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZCgiTm8gZXZlbnRTZW5kZXIuIik7Ci0gICAg
ICAgICAgICAgICAgICAgICAgICBzZXRFbmFibGVGZWF0dXJlKGZhbHNlLCBmaW5pc2hKU1Rlc3Qp
OwotICAgICAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAg
ICAgICBmdW5jdGlvbiAoKSB7Ci0gICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoIlByb21p
c2UgcmVqZWN0ZWQuIik7Ci0gICAgICAgICAgICAgICAgICAgIHNldEVuYWJsZUZlYXR1cmUoZmFs
c2UsIGZpbmlzaEpTVGVzdCk7Ci0gICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgKTsKLSAg
ICAgICAgfQotCi0gICAgICAgIGZ1bmN0aW9uIHJ1blRlc3QoKSB7Ci0gICAgICAgICAgICBhY3Rp
dmF0ZUVsZW1lbnQoIlRoZUlmcmFtZVRoYXRSZXF1ZXN0c1N0b3JhZ2VBY2Nlc3MiKTsKLSAgICAg
ICAgfQotCi0gICAgICAgIGNvbnN0IGhvc3RVbmRlclRlc3QgPSAibG9jYWxob3N0OjgwMDAiOwot
ICAgICAgICBjb25zdCBzdGF0aXN0aWNzVXJsID0gImh0dHA6Ly8iICsgaG9zdFVuZGVyVGVzdCAr
ICIvdGVtcCI7Ci0gICAgICAgIHRlc3RSdW5uZXIuc2V0VXNlSVRQRGF0YWJhc2UodHJ1ZSk7Ci0g
ICAgICAgIHNldEVuYWJsZUZlYXR1cmUodHJ1ZSwgZnVuY3Rpb24oKSB7Ci0gICAgICAgICAgICB0
ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NQcmV2YWxlbnRSZXNvdXJjZShzdGF0aXN0aWNzVXJsLCB0
cnVlLCBmdW5jdGlvbigpIHsKLSAgICAgICAgICAgICAgICBpZiAoIXRlc3RSdW5uZXIuaXNTdGF0
aXN0aWNzUHJldmFsZW50UmVzb3VyY2Uoc3RhdGlzdGljc1VybCkpCi0gICAgICAgICAgICAgICAg
ICAgIHRlc3RGYWlsZWQoIkhvc3QgZGlkIG5vdCBnZXQgc2V0IGFzIHByZXZhbGVudCByZXNvdXJj
ZS4iKTsKLSAgICAgICAgICAgICAgICBsZXQgaWZyYW1lRWxlbWVudCA9IGRvY3VtZW50LmNyZWF0
ZUVsZW1lbnQoImlmcmFtZSIpOwotICAgICAgICAgICAgICAgIGlmcmFtZUVsZW1lbnQuc2V0QXR0
cmlidXRlKCJzYW5kYm94IiwgImFsbG93LXN0b3JhZ2UtYWNjZXNzLWJ5LXVzZXItYWN0aXZhdGlv
biBhbGxvdy1zY3JpcHRzIGFsbG93LXNhbWUtb3JpZ2luIGFsbG93LW1vZGFscyIpOwotICAgICAg
ICAgICAgICAgIGlmcmFtZUVsZW1lbnQub25sb2FkID0gcnVuVGVzdDsKLSAgICAgICAgICAgICAg
ICBpZnJhbWVFbGVtZW50LmlkID0gIlRoZUlmcmFtZVRoYXRSZXF1ZXN0c1N0b3JhZ2VBY2Nlc3Mi
OwotICAgICAgICAgICAgICAgIGlmcmFtZUVsZW1lbnQuc3JjID0gImh0dHA6Ly9sb2NhbGhvc3Q6
ODAwMC9zdG9yYWdlQWNjZXNzL3Jlc291cmNlcy9yZXF1ZXN0LXN0b3JhZ2UtYWNjZXNzLWlmcmFt
ZS5odG1sI3VzZXJTaG91bGRHcmFudEFjY2Vzcyx1c2VyU2hvdWxkQmVDb25zdWx0ZWQscG9saWN5
U2hvdWxkTm90R3JhbnRBY2Nlc3MsaXNOb3RTYW1lT3JpZ2luSWZyYW1lIjsKLSAgICAgICAgICAg
ICAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGlmcmFtZUVsZW1lbnQpOwotICAgICAgICAg
ICAgfSk7Ci0gICAgICAgIH0pOwotICAgIDwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHk+Ci08L2Jv
ZHk+Ci08L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3N0b3JhZ2VB
Y2Nlc3MvcmVxdWVzdC1hbmQtZ3JhbnQtYWNjZXNzLWNyb3NzLW9yaWdpbi1zYW5kYm94ZWQtbmVz
dGVkLWlmcmFtZS1kYXRhYmFzZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L3N0b3JhZ2VBY2Nlc3MvcmVxdWVzdC1hbmQtZ3JhbnQtYWNjZXNzLWNyb3NzLW9yaWdpbi1zYW5k
Ym94ZWQtbmVzdGVkLWlmcmFtZS1kYXRhYmFzZS1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDY3ZjIzMTk3YmMyZDc3YjE5ZWY1MWNmNDBjZDNlNWJkYmJkZDRlY2Eu
LjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy9zdG9yYWdlQWNjZXNzL3JlcXVlc3QtYW5kLWdyYW50LWFjY2Vzcy1jcm9z
cy1vcmlnaW4tc2FuZGJveGVkLW5lc3RlZC1pZnJhbWUtZGF0YWJhc2UtZXhwZWN0ZWQudHh0Cisr
KyAvZGV2L251bGwKQEAgLTEsMjcgKzAsMCBAQAotVGVzdHMgdGhhdCBjcm9zcy1vcmlnaW4gaWZy
YW1lIHN0b3JhZ2UgYWNjZXNzIGlzIGdyYW50ZWQgaWYgdGhlIGlmcmFtZSBpcyBzYW5kYm94ZWQs
IGhhcyB0aGUgYWxsb3cgdG9rZW4sIGFuZCBpcyBuZXN0ZWQuCi0KLU9uIHN1Y2Nlc3MsIHlvdSB3
aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENP
TVBMRVRFIi4KLQotCi1QQVNTIFN0b3JhZ2UgYWNjZXNzIHdhcyBncmFudGVkLiBkb2N1bWVudC5j
b29raWUgPT0gZmlyc3RQYXJ0eUNvb2tpZT12YWx1ZSwgY29va2llcyBzZWVuIHNlcnZlci1zaWRl
ID09IHsiZmlyc3RQYXJ0eUNvb2tpZSI6InZhbHVlIn0KLVBBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2Vk
IGlzIHRydWUKLQotVEVTVCBDT01QTEVURQotCi0KLS0tLS0tLS0tCi1GcmFtZTogJzwhLS1mcmFt
ZTEtLT4nCi0tLS0tLS0tLQotU2hvdWxkIG5vdCByZWNlaXZlIGNvb2tpZXMuCi1EaWQgbm90IHJl
Y2VpdmUgY29va2llIG5hbWVkICdmaXJzdFBhcnR5Q29va2llJy4KLUNsaWVudC1zaWRlIGRvY3Vt
ZW50LmNvb2tpZToKLQotLS0tLS0tLS0KLUZyYW1lOiAnPCEtLWZyYW1lMi0tPicKLS0tLS0tLS0t
Ci0KLQotLS0tLS0tLS0KLUZyYW1lOiAnPCEtLWZyYW1lMy0tPicKLS0tLS0tLS0tCi0KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc3RvcmFnZUFjY2Vzcy9yZXF1ZXN0LWFuZC1n
cmFudC1hY2Nlc3MtY3Jvc3Mtb3JpZ2luLXNhbmRib3hlZC1uZXN0ZWQtaWZyYW1lLWRhdGFiYXNl
Lmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3N0b3JhZ2VBY2Nlc3MvcmVxdWVzdC1hbmQt
Z3JhbnQtYWNjZXNzLWNyb3NzLW9yaWdpbi1zYW5kYm94ZWQtbmVzdGVkLWlmcmFtZS1kYXRhYmFz
ZS5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBjOWIxN2FiNDhlYTlmZWQ5NzI2
NTNiNWU0MWQ2OWQ2OTE1MjQ0M2QxLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc3RvcmFnZUFjY2Vzcy9yZXF1ZXN0
LWFuZC1ncmFudC1hY2Nlc3MtY3Jvc3Mtb3JpZ2luLXNhbmRib3hlZC1uZXN0ZWQtaWZyYW1lLWRh
dGFiYXNlLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSwxMDUgKzAsMCBAQAotPCFET0NUWVBFIGh0
bWw+Ci08aHRtbD4KLTxoZWFkPgotICAgIDxzY3JpcHQgc3JjPSIvanMtdGVzdC1yZXNvdXJjZXMv
anMtdGVzdC5qcyI+PC9zY3JpcHQ+Ci0gICAgPHNjcmlwdCBzcmM9Ii9qcy10ZXN0LXJlc291cmNl
cy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgotICAgIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VMb2Fk
U3RhdGlzdGljcy9yZXNvdXJjZXMvdXRpbC5qcyI+PC9zY3JpcHQ+Ci0gICAgPHNjcmlwdD4KLSAg
ICAgICAgZGVzY3JpcHRpb24oIlRlc3RzIHRoYXQgY3Jvc3Mtb3JpZ2luIGlmcmFtZSBzdG9yYWdl
IGFjY2VzcyBpcyBncmFudGVkIGlmIHRoZSBpZnJhbWUgaXMgc2FuZGJveGVkLCBoYXMgdGhlIGFs
bG93IHRva2VuLCBhbmQgaXMgbmVzdGVkLiIpOwotICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1
ZTsKLQotICAgICAgICBjb25zdCBob3N0VW5kZXJUZXN0ID0gImxvY2FsaG9zdDo4MDAwIjsKLSAg
ICAgICAgY29uc3Qgc3RhdGlzdGljc1VybCA9ICJodHRwOi8vIiArIGhvc3RVbmRlclRlc3QgKyAi
L3RlbXAiOwotCi0gICAgICAgIGNvbnN0IHBhcnRpdGlvbkhvc3QgPSAiMTI3LjAuMC4xOjgwMDAi
OwotICAgICAgICBjb25zdCB0aGlyZFBhcnR5T3JpZ2luID0gImh0dHA6Ly9sb2NhbGhvc3Q6ODAw
MCI7Ci0gICAgICAgIGNvbnN0IHJlc291cmNlUGF0aCA9ICIvc3RvcmFnZUFjY2Vzcy9yZXNvdXJj
ZXMiOwotICAgICAgICBjb25zdCB0aGlyZFBhcnR5QmFzZVVybCA9IHRoaXJkUGFydHlPcmlnaW4g
KyByZXNvdXJjZVBhdGg7Ci0gICAgICAgIGNvbnN0IGZpcnN0UGFydHlDb29raWVOYW1lID0gImZp
cnN0UGFydHlDb29raWUiOwotICAgICAgICBjb25zdCBzdWJQYXRoVG9TZXRGaXJzdFBhcnR5Q29v
a2llID0gIi9zZXQtY29va2llLnBocD9uYW1lPSIgKyBmaXJzdFBhcnR5Q29va2llTmFtZSArICIm
dmFsdWU9dmFsdWUiOwotICAgICAgICBjb25zdCByZXR1cm5VcmwgPSAiaHR0cDovLyIgKyBwYXJ0
aXRpb25Ib3N0ICsgIi9zdG9yYWdlQWNjZXNzL3JlcXVlc3QtYW5kLWdyYW50LWFjY2Vzcy1jcm9z
cy1vcmlnaW4tc2FuZGJveGVkLW5lc3RlZC1pZnJhbWUtZGF0YWJhc2UuaHRtbCI7Ci0gICAgICAg
IGNvbnN0IHN1YlBhdGhUb0dldENvb2tpZXMgPSAiL2dldC1jb29raWVzLnBocD9uYW1lMT0iICsg
Zmlyc3RQYXJ0eUNvb2tpZU5hbWU7Ci0KLSAgICAgICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIo
Im1lc3NhZ2UiLCByZWNlaXZlTWVzc2FnZSwgZmFsc2UpOwotCi0gICAgICAgIGZ1bmN0aW9uIG9w
ZW5JZnJhbWUodXJsLCBvbkxvYWRIYW5kbGVyKSB7Ci0gICAgICAgICAgICBjb25zdCBlbGVtZW50
ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiaWZyYW1lIik7Ci0gICAgICAgICAgICBlbGVtZW50
LnNyYyA9IHVybDsKLSAgICAgICAgICAgIGlmIChvbkxvYWRIYW5kbGVyKSB7Ci0gICAgICAgICAg
ICAgICAgZWxlbWVudC5vbmxvYWQgPSBvbkxvYWRIYW5kbGVyOwotICAgICAgICAgICAgfQotICAg
ICAgICAgICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChlbGVtZW50KTsKLSAgICAgICAgfQot
Ci0gICAgICAgIGZ1bmN0aW9uIHJlY2VpdmVNZXNzYWdlKGV2ZW50KSB7Ci0gICAgICAgICAgICBp
ZiAoZXZlbnQub3JpZ2luID09PSAiaHR0cDovL2xvY2FsaG9zdDo4MDAwIikgewotICAgICAgICAg
ICAgICAgIGlmIChldmVudC5kYXRhLmluZGV4T2YoIlBBU1MiKSAhPT0gLTEpCi0gICAgICAgICAg
ICAgICAgICAgIHRlc3RQYXNzZWQoZXZlbnQuZGF0YS5yZXBsYWNlKCJQQVNTICIsICIiKSk7Ci0g
ICAgICAgICAgICAgICAgZWxzZQotICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGV2ZW50
LmRhdGEucmVwbGFjZSgiRkFJTCAiLCAiIikpOwotICAgICAgICAgICAgfSBlbHNlCi0gICAgICAg
ICAgICAgICAgdGVzdEZhaWxlZCgiUmVjZWl2ZWQgYSBtZXNzYWdlIGZyb20gYW4gdW5leHBlY3Rl
ZCBvcmlnaW46ICIgKyBldmVudC5vcmlnaW4pOwotICAgICAgICAgICAgc2V0RW5hYmxlRmVhdHVy
ZShmYWxzZSwgZmluaXNoSlNUZXN0KTsKLSAgICAgICAgfQotCi0gICAgICAgIGZ1bmN0aW9uIGFj
dGl2YXRlRWxlbWVudChlbGVtZW50SWQpIHsKLSAgICAgICAgICAgIHZhciBlbGVtZW50ID0gZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoZWxlbWVudElkKTsKLSAgICAgICAgICAgIHZhciBjZW50ZXJY
ID0gZWxlbWVudC5vZmZzZXRMZWZ0ICsgZWxlbWVudC5vZmZzZXRXaWR0aCAvIDI7Ci0gICAgICAg
ICAgICB2YXIgY2VudGVyWSA9IGVsZW1lbnQub2Zmc2V0VG9wICsgZWxlbWVudC5vZmZzZXRIZWln
aHQgLyAyOwotICAgICAgICAgICAgVUlIZWxwZXIuYWN0aXZhdGVBdChjZW50ZXJYLCBjZW50ZXJZ
KS50aGVuKAotICAgICAgICAgICAgICAgIGZ1bmN0aW9uICgpIHsKLSAgICAgICAgICAgICAgICAg
ICAgaWYgKHdpbmRvdy5ldmVudFNlbmRlcikKLSAgICAgICAgICAgICAgICAgICAgICAgIGV2ZW50
U2VuZGVyLmtleURvd24oImVzY2FwZSIpOwotICAgICAgICAgICAgICAgICAgICBlbHNlIHsKLSAg
ICAgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoIk5vIGV2ZW50U2VuZGVyLiIpOwotICAg
ICAgICAgICAgICAgICAgICAgICAgc2V0RW5hYmxlRmVhdHVyZShmYWxzZSwgZmluaXNoSlNUZXN0
KTsKLSAgICAgICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAg
ICAgICAgZnVuY3Rpb24gKCkgewotICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKCJQcm9t
aXNlIHJlamVjdGVkLiIpOwotICAgICAgICAgICAgICAgICAgICBzZXRFbmFibGVGZWF0dXJlKGZh
bHNlLCBmaW5pc2hKU1Rlc3QpOwotICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICk7Ci0g
ICAgICAgIH0KLQotICAgICAgICBmdW5jdGlvbiBydW5UZXN0KCkgewotICAgICAgICAgICAgc3dp
dGNoIChkb2N1bWVudC5sb2NhdGlvbi5oYXNoKSB7Ci0gICAgICAgICAgICAgICAgY2FzZSAiIjoK
LSAgICAgICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5zZXRVc2VJVFBEYXRhYmFzZSh0cnVlKTsK
LSAgICAgICAgICAgICAgICAgICAgc2V0RW5hYmxlRmVhdHVyZSh0cnVlLCBmdW5jdGlvbigpIHsK
LSAgICAgICAgICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIuZHVtcENoaWxkRnJhbWVzQXNUZXh0
KCk7Ci0gICAgICAgICAgICAgICAgICAgICAgICBkb2N1bWVudC5sb2NhdGlvbi5oYXNoID0gInN0
ZXAxIjsKLSAgICAgICAgICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc1No
b3VsZEJsb2NrVGhpcmRQYXJ0eUNvb2tpZXModHJ1ZSwgcnVuVGVzdCk7Ci0gICAgICAgICAgICAg
ICAgICAgIH0pOwotICAgICAgICAgICAgICAgICAgICBicmVhazsKLSAgICAgICAgICAgICAgICBj
YXNlICIjc3RlcDEiOgotICAgICAgICAgICAgICAgICAgICAvLyBTZXQgZmlyc3QtcGFydHkgY29v
a2llIGZvciBsb2NhbGhvc3QuCi0gICAgICAgICAgICAgICAgICAgIGRvY3VtZW50LmxvY2F0aW9u
LmhyZWYgPSB0aGlyZFBhcnR5QmFzZVVybCArIHN1YlBhdGhUb1NldEZpcnN0UGFydHlDb29raWUg
KyAiIyIgKyByZXR1cm5VcmwgKyAiI3N0ZXAyIjsKLSAgICAgICAgICAgICAgICAgICAgYnJlYWs7
Ci0gICAgICAgICAgICAgICAgY2FzZSAiI3N0ZXAyIjoKLSAgICAgICAgICAgICAgICAgICAgZG9j
dW1lbnQubG9jYXRpb24uaGFzaCA9ICJzdGVwMyI7Ci0gICAgICAgICAgICAgICAgICAgIC8vIENo
ZWNrIHRoYXQgdGhlIGZpcnN0LXBhcnR5IGNvb2tpZSBkb2VzIG5vdCBnZXQgc2VudCBmb3IgbG9j
YWxob3N0IHVuZGVyIDEyNy4wLjAuMS4KLSAgICAgICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5z
ZXRTdGF0aXN0aWNzSGFzSGFkVXNlckludGVyYWN0aW9uKHN0YXRpc3RpY3NVcmwsIHRydWUsIGZ1
bmN0aW9uKCkgewotICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCF0ZXN0UnVubmVyLmlzU3Rh
dGlzdGljc0hhc0hhZFVzZXJJbnRlcmFjdGlvbihzdGF0aXN0aWNzVXJsKSkKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKCJIb3N0IGRpZCBub3QgZ2V0IGxvZ2dlZCBmb3Ig
dXNlciBpbnRlcmFjdGlvbi4iKTsKLSAgICAgICAgICAgICAgICAgICAgICAgIG9wZW5JZnJhbWUo
dGhpcmRQYXJ0eUJhc2VVcmwgKyBzdWJQYXRoVG9HZXRDb29raWVzICsgIiZtZXNzYWdlPVNob3Vs
ZCBub3QgcmVjZWl2ZSBjb29raWVzLiIsIHJ1blRlc3QpOwotICAgICAgICAgICAgICAgICAgICB9
KTsKLSAgICAgICAgICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgICAgICAgICAgY2FzZSAiI3N0
ZXAzIjoKLSAgICAgICAgICAgICAgICAgICAgLy8gUmVxdWVzdCBhbmQgZ2V0IGdyYW50ZWQgc3Rv
cmFnZSBhY2Nlc3MgaW4gYSBuZXN0ZWQgaWZyYW1lLgotICAgICAgICAgICAgICAgICAgICBsZXQg
aWZyYW1lRWxlbWVudCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImlmcmFtZSIpOwotICAgICAg
ICAgICAgICAgICAgICBpZnJhbWVFbGVtZW50LnNldEF0dHJpYnV0ZSgic2FuZGJveCIsICJhbGxv
dy1zdG9yYWdlLWFjY2Vzcy1ieS11c2VyLWFjdGl2YXRpb24gYWxsb3ctc2NyaXB0cyBhbGxvdy1z
YW1lLW9yaWdpbiBhbGxvdy1tb2RhbHMiKTsKLSAgICAgICAgICAgICAgICAgICAgaWZyYW1lRWxl
bWVudC5vbmxvYWQgPSBmdW5jdGlvbigpIHsKLSAgICAgICAgICAgICAgICAgICAgICAgIGFjdGl2
YXRlRWxlbWVudCgiVGhlSWZyYW1lVGhhdFJlcXVlc3RzU3RvcmFnZUFjY2VzcyIpOwotICAgICAg
ICAgICAgICAgICAgICB9OwotICAgICAgICAgICAgICAgICAgICBpZnJhbWVFbGVtZW50LmlkID0g
IlRoZUlmcmFtZVRoYXRSZXF1ZXN0c1N0b3JhZ2VBY2Nlc3MiOwotICAgICAgICAgICAgICAgICAg
ICBpZnJhbWVFbGVtZW50LnNyYyA9ICJyZXNvdXJjZXMvbmVzdGluZy1pZnJhbWUuaHRtbCI7Ci0g
ICAgICAgICAgICAgICAgICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoaWZyYW1lRWxlbWVu
dCk7Ci0gICAgICAgICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICAgICAgfQotICAgICAgICB9
Ci0gICAgPC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keSBvbmxvYWQ9InJ1blRlc3QoKSI+Ci08L2Jv
ZHk+Ci08L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3N0b3JhZ2VB
Y2Nlc3MvcmVxdWVzdC1hbmQtZ3JhbnQtYWNjZXNzLXRoZW4tZGV0YWNoLXNob3VsZC1ub3QtaGF2
ZS1hY2Nlc3MtZGF0YWJhc2UtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9z
dG9yYWdlQWNjZXNzL3JlcXVlc3QtYW5kLWdyYW50LWFjY2Vzcy10aGVuLWRldGFjaC1zaG91bGQt
bm90LWhhdmUtYWNjZXNzLWRhdGFiYXNlLWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggOTEzMTA2OTg4MGVlNjkxOGNjNThkMGI5NGYwZmE1M2EwOTkzNzNjOS4uMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9o
dHRwL3Rlc3RzL3N0b3JhZ2VBY2Nlc3MvcmVxdWVzdC1hbmQtZ3JhbnQtYWNjZXNzLXRoZW4tZGV0
YWNoLXNob3VsZC1ub3QtaGF2ZS1hY2Nlc3MtZGF0YWJhc2UtZXhwZWN0ZWQudHh0CisrKyAvZGV2
L251bGwKQEAgLTEsMTIgKzAsMCBAQAotVGVzdHMgdGhhdCBhIGNyb3NzLW9yaWdpbiBpZnJhbWUg
ZnJvbSBhIHByZXZhbGVudCBkb21haW4gdGhhdCBpcyBncmFudGVkIHN0b3JhZ2UgYWNjZXNzIGFu
ZCB0aGVuIGlzIGRldGFjaGVkIGZyb20gdGhlIERPTSBkb2VzIG5vdCBoYXZlIHN0b3JhZ2UgYWNj
ZXNzLgotCi1PbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3Nh
Z2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCi0KLQotUEFTUyBTdG9yYWdlIGFjY2Vz
cyB3YXMgZ3JhbnRlZC4gZG9jdW1lbnQuY29va2llID09IGZpcnN0UGFydHlDb29raWU9dmFsdWUs
IGNvb2tpZXMgc2VlbiBzZXJ2ZXItc2lkZSA9PSB7ImZpcnN0UGFydHlDb29raWUiOiJ2YWx1ZSJ9
Ci1QQVNTIFRoZXJlIGlzIGEgc3RvcmFnZSBhY2Nlc3MgZW50cnkgZm9yIGxvY2FsaG9zdC4KLVBB
U1MgVGhlcmUgaXMgbm8gc3RvcmFnZSBhY2Nlc3MgZW50cnkgZm9yIGxvY2FsaG9zdCBhZnRlciBp
ZnJhbWUgZGV0YWNoLgotUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQotCi1URVNUIENP
TVBMRVRFCi0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc3RvcmFnZUFjY2Vz
cy9yZXF1ZXN0LWFuZC1ncmFudC1hY2Nlc3MtdGhlbi1kZXRhY2gtc2hvdWxkLW5vdC1oYXZlLWFj
Y2Vzcy1kYXRhYmFzZS5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zdG9yYWdlQWNjZXNz
L3JlcXVlc3QtYW5kLWdyYW50LWFjY2Vzcy10aGVuLWRldGFjaC1zaG91bGQtbm90LWhhdmUtYWNj
ZXNzLWRhdGFiYXNlLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDY1MGFlN2Fi
ODc4NzRjMWE1OGM3ZGUyNjk1MWE0NGQxN2UwMDJhOTYuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zdG9yYWdlQWNj
ZXNzL3JlcXVlc3QtYW5kLWdyYW50LWFjY2Vzcy10aGVuLWRldGFjaC1zaG91bGQtbm90LWhhdmUt
YWNjZXNzLWRhdGFiYXNlLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSwxMTggKzAsMCBAQAotPCFE
T0NUWVBFIGh0bWw+Ci08aHRtbD4KLTxoZWFkPgotICAgIDxzY3JpcHQgc3JjPSIvanMtdGVzdC1y
ZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+Ci0gICAgPHNjcmlwdCBzcmM9Ii9qcy10ZXN0
LXJlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgotICAgIDxzY3JpcHQgc3JjPSIvcmVz
b3VyY2VMb2FkU3RhdGlzdGljcy9yZXNvdXJjZXMvdXRpbC5qcyI+PC9zY3JpcHQ+Ci0gICAgPHNj
cmlwdD4KLSAgICAgICAgZGVzY3JpcHRpb24oIlRlc3RzIHRoYXQgYSBjcm9zcy1vcmlnaW4gaWZy
YW1lIGZyb20gYSBwcmV2YWxlbnQgZG9tYWluIHRoYXQgaXMgZ3JhbnRlZCBzdG9yYWdlIGFjY2Vz
cyBhbmQgdGhlbiBpcyBkZXRhY2hlZCBmcm9tIHRoZSBET00gZG9lcyBub3QgaGF2ZSBzdG9yYWdl
IGFjY2Vzcy4iKTsKLSAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7Ci0KLSAgICAgICAgd2lu
ZG93LmFkZEV2ZW50TGlzdGVuZXIoIm1lc3NhZ2UiLCByZWNlaXZlTWVzc2FnZSwgZmFsc2UpOwot
Ci0gICAgICAgIGZ1bmN0aW9uIGZpbmlzaFRlc3QoKSB7Ci0gICAgICAgICAgICBzZXRFbmFibGVG
ZWF0dXJlKGZhbHNlLCBmaW5pc2hKU1Rlc3QpOwotICAgICAgICB9Ci0KLSAgICAgICAgY29uc3Qg
aWZyYW1lSUQgPSAiVGhlSWZyYW1lVGhhdFJlcXVlc3RzU3RvcmFnZUFjY2VzcyI7Ci0gICAgICAg
IGZ1bmN0aW9uIGFza0lmSWZyYW1lU3RpbGxIYXNTdG9yYWdlQWNjZXNzKCkgewotICAgICAgICAg
ICAgdGVzdFJ1bm5lci5nZXRBbGxTdG9yYWdlQWNjZXNzRW50cmllcyhmdW5jdGlvbiAoYXJyYXlP
ZkRvbWFpbnMpIHsKLSAgICAgICAgICAgICAgICB2YXIgcGFzc2VkID0gdHJ1ZTsKLSAgICAgICAg
ICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IGFycmF5T2ZEb21haW5zLmxlbmd0aDsgKytpKSB7
Ci0gICAgICAgICAgICAgICAgICAgIGlmIChhcnJheU9mRG9tYWluc1tpXSA9PT0gImxvY2FsaG9z
dCIpIHsKLSAgICAgICAgICAgICAgICAgICAgICAgIHBhc3NlZCA9IGZhbHNlOwotICAgICAgICAg
ICAgICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAg
ICAgICB9Ci0gICAgICAgICAgICAgICAgaWYgKHBhc3NlZCkKLSAgICAgICAgICAgICAgICAgICAg
dGVzdFBhc3NlZCgiVGhlcmUgaXMgbm8gc3RvcmFnZSBhY2Nlc3MgZW50cnkgZm9yIGxvY2FsaG9z
dCBhZnRlciBpZnJhbWUgZGV0YWNoLiIpOwotICAgICAgICAgICAgICAgIGVsc2UKLSAgICAgICAg
ICAgICAgICAgICAgdGVzdEZhaWxlZCgiVGhlcmUgaXMgc3RpbGwgYSBzdG9yYWdlIGFjY2VzcyBl
bnRyeSBmb3IgbG9jYWxob3N0IGFmdGVyIGlmcmFtZSBkZXRhY2guIik7Ci0gICAgICAgICAgICAg
ICAgZmluaXNoVGVzdCgpOwotICAgICAgICAgICAgfSk7Ci0gICAgICAgIH0KLQotICAgICAgICBm
dW5jdGlvbiBkZXRhY2hJZnJhbWVBbmRDaGVja1doZXRoZXJJdFN0aWxsSGFzU3RvcmFnZUFjY2Vz
cygpIHsKLSAgICAgICAgICAgIHRlc3RSdW5uZXIuZ2V0QWxsU3RvcmFnZUFjY2Vzc0VudHJpZXMo
ZnVuY3Rpb24gKGFycmF5T2ZEb21haW5zKSB7Ci0gICAgICAgICAgICAgICAgdmFyIHBhc3NlZCA9
IGZhbHNlOwotICAgICAgICAgICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgYXJyYXlPZkRvbWFp
bnMubGVuZ3RoOyArK2kpIHsKLSAgICAgICAgICAgICAgICAgICAgaWYgKGFycmF5T2ZEb21haW5z
W2ldID09PSAibG9jYWxob3N0IikgewotICAgICAgICAgICAgICAgICAgICAgICAgcGFzc2VkID0g
dHJ1ZTsKLSAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICAgICAgICAgICAg
ICB9Ci0gICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgIGlmIChwYXNzZWQpCi0gICAg
ICAgICAgICAgICAgICAgIHRlc3RQYXNzZWQoIlRoZXJlIGlzIGEgc3RvcmFnZSBhY2Nlc3MgZW50
cnkgZm9yIGxvY2FsaG9zdC4iKTsKLSAgICAgICAgICAgICAgICBlbHNlCi0gICAgICAgICAgICAg
ICAgICAgIHRlc3RGYWlsZWQoIlRoZXJlIGlzIG5vIHN0b3JhZ2UgYWNjZXNzIGVudHJ5IGZvciBs
b2NhbGhvc3QuIik7Ci0gICAgICAgICAgICAgICAgdmFyIHRoZUlmcmFtZSA9IGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKGlmcmFtZUlEKTsKLSAgICAgICAgICAgICAgICB0aGVJZnJhbWUub25sb2Fk
ID0gYXNrSWZJZnJhbWVTdGlsbEhhc1N0b3JhZ2VBY2Nlc3M7Ci0gICAgICAgICAgICAgICAgZG9j
dW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoJ2JvZHknKVswXS5hcHBlbmRDaGlsZCh0aGVJZnJh
bWUpOwotICAgICAgICAgICAgfSk7Ci0gICAgICAgIH0KLQotICAgICAgICBmdW5jdGlvbiByZWNl
aXZlTWVzc2FnZShldmVudCkgewotICAgICAgICAgICAgaWYgKGV2ZW50Lm9yaWdpbiA9PT0gImh0
dHA6Ly9sb2NhbGhvc3Q6ODAwMCIpIHsKLSAgICAgICAgICAgICAgICBpZiAoZXZlbnQuZGF0YS5p
bmRleE9mKCJQQVNTIikgIT09IC0xKSB7Ci0gICAgICAgICAgICAgICAgICAgIHRlc3RQYXNzZWQo
ZXZlbnQuZGF0YS5yZXBsYWNlKCJQQVNTICIsICIiKSk7Ci0gICAgICAgICAgICAgICAgICAgIGRl
dGFjaElmcmFtZUFuZENoZWNrV2hldGhlckl0U3RpbGxIYXNTdG9yYWdlQWNjZXNzKCk7Ci0gICAg
ICAgICAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChldmVu
dC5kYXRhKTsKLSAgICAgICAgICAgICAgICAgICAgZmluaXNoVGVzdCgpOwotICAgICAgICAgICAg
ICAgIH0KLSAgICAgICAgICAgIH0gZWxzZSB7Ci0gICAgICAgICAgICAgICAgdGVzdEZhaWxlZCgi
UmVjZWl2ZWQgYSBtZXNzYWdlIGZyb20gYW4gdW5leHBlY3RlZCBvcmlnaW46ICIgKyBldmVudC5v
cmlnaW4pOwotICAgICAgICAgICAgICAgIGZpbmlzaFRlc3QoKTsKLSAgICAgICAgICAgIH0KLSAg
ICAgICAgfQotCi0gICAgICAgIGZ1bmN0aW9uIGFjdGl2YXRlRWxlbWVudChlbGVtZW50SWQpIHsK
LSAgICAgICAgICAgIHZhciBlbGVtZW50ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoZWxlbWVu
dElkKTsKLSAgICAgICAgICAgIHZhciBjZW50ZXJYID0gZWxlbWVudC5vZmZzZXRMZWZ0ICsgZWxl
bWVudC5vZmZzZXRXaWR0aCAvIDI7Ci0gICAgICAgICAgICB2YXIgY2VudGVyWSA9IGVsZW1lbnQu
b2Zmc2V0VG9wICsgZWxlbWVudC5vZmZzZXRIZWlnaHQgLyAyOwotICAgICAgICAgICAgVUlIZWxw
ZXIuYWN0aXZhdGVBdChjZW50ZXJYLCBjZW50ZXJZKS50aGVuKAotICAgICAgICAgICAgICAgIGZ1
bmN0aW9uICgpIHsgfSwKLSAgICAgICAgICAgICAgICBmdW5jdGlvbiAoKSB7Ci0gICAgICAgICAg
ICAgICAgICAgIHRlc3RGYWlsZWQoIlByb21pc2UgcmVqZWN0ZWQuIik7Ci0gICAgICAgICAgICAg
ICAgICAgIGZpbmlzaFRlc3QoKTsKLSAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICApOwot
ICAgICAgICB9Ci0KLSAgICAgICAgZnVuY3Rpb24gcnVuVGVzdCgpIHsKLSAgICAgICAgICAgIGlm
IChkb2N1bWVudC5sb2NhdGlvbi5oYXNoICE9PSAiI2VsZW1lbnRBY3RpdmF0ZWQiKSB7Ci0gICAg
ICAgICAgICAgICAgZG9jdW1lbnQubG9jYXRpb24uaGFzaCA9ICJlbGVtZW50QWN0aXZhdGVkIjsK
LSAgICAgICAgICAgICAgICBhY3RpdmF0ZUVsZW1lbnQoaWZyYW1lSUQpOwotICAgICAgICAgICAg
fQotICAgICAgICB9Ci0KLSAgICAgICAgY29uc3QgaG9zdFVuZGVyVGVzdCA9ICJsb2NhbGhvc3Q6
ODAwMCI7Ci0gICAgICAgIGNvbnN0IHN0YXRpc3RpY3NVcmwgPSAiaHR0cDovLyIgKyBob3N0VW5k
ZXJUZXN0OwotICAgICAgICB0ZXN0UnVubmVyLnNldFVzZUlUUERhdGFiYXNlKHRydWUpOwotICAg
ICAgICBpZiAoZG9jdW1lbnQubG9jYXRpb24uaGFzaCAhPT0gIiNmaXJzdFBhcnR5Q29va2llU2V0
IiAmJiBkb2N1bWVudC5sb2NhdGlvbi5oYXNoICE9PSAiI2VsZW1lbnRBY3RpdmF0ZWQiKSB7Ci0g
ICAgICAgICAgICBzZXRFbmFibGVGZWF0dXJlKHRydWUsIGZ1bmN0aW9uKCkgewotICAgICAgICAg
ICAgICAgIGRvY3VtZW50LmxvY2F0aW9uLmhyZWYgPSBzdGF0aXN0aWNzVXJsICsgIi9zdG9yYWdl
QWNjZXNzL3Jlc291cmNlcy9zZXQtY29va2llLnBocD9uYW1lPWZpcnN0UGFydHlDb29raWUmdmFs
dWU9dmFsdWUjaHR0cDovLzEyNy4wLjAuMTo4MDAwL3N0b3JhZ2VBY2Nlc3MvcmVxdWVzdC1hbmQt
Z3JhbnQtYWNjZXNzLXRoZW4tZGV0YWNoLXNob3VsZC1ub3QtaGF2ZS1hY2Nlc3MtZGF0YWJhc2Uu
aHRtbCNmaXJzdFBhcnR5Q29va2llU2V0IjsKLSAgICAgICAgICAgIH0pOwotICAgICAgICB9IGVs
c2UgewotICAgICAgICAgICAgdGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNzUHJldmFsZW50UmVzb3Vy
Y2Uoc3RhdGlzdGljc1VybCwgdHJ1ZSwgZnVuY3Rpb24oKSB7Ci0gICAgICAgICAgICAgICAgaWYg
KCF0ZXN0UnVubmVyLmlzU3RhdGlzdGljc1ByZXZhbGVudFJlc291cmNlKHN0YXRpc3RpY3NVcmwp
KQotICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKCJIb3N0IGRpZCBub3QgZ2V0IHNldCBh
cyBwcmV2YWxlbnQgcmVzb3VyY2UuIik7Ci0gICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5zZXRT
dGF0aXN0aWNzSGFzSGFkVXNlckludGVyYWN0aW9uKHN0YXRpc3RpY3NVcmwsIHRydWUsIGZ1bmN0
aW9uKCkgewotICAgICAgICAgICAgICAgICAgICBpZiAoIXRlc3RSdW5uZXIuaXNTdGF0aXN0aWNz
SGFzSGFkVXNlckludGVyYWN0aW9uKHN0YXRpc3RpY3NVcmwpKQotICAgICAgICAgICAgICAgICAg
ICAgICAgdGVzdEZhaWxlZCgiSG9zdCBkaWQgbm90IGdldCBsb2dnZWQgZm9yIHVzZXIgaW50ZXJh
Y3Rpb24uIik7Ci0gICAgICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIuc3RhdGlzdGljc1VwZGF0
ZUNvb2tpZUJsb2NraW5nKGZ1bmN0aW9uKCkgewotICAgICAgICAgICAgICAgICAgICAgICAgbGV0
IGlmcmFtZUVsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJpZnJhbWUiKTsKLSAgICAg
ICAgICAgICAgICAgICAgICAgIGlmcmFtZUVsZW1lbnQuc2V0QXR0cmlidXRlKCJzYW5kYm94Iiwg
ImFsbG93LXN0b3JhZ2UtYWNjZXNzLWJ5LXVzZXItYWN0aXZhdGlvbiBhbGxvdy1zY3JpcHRzIGFs
bG93LXNhbWUtb3JpZ2luIGFsbG93LW1vZGFscyIpOwotICAgICAgICAgICAgICAgICAgICAgICAg
aWZyYW1lRWxlbWVudC5vbmxvYWQgPSBydW5UZXN0OwotICAgICAgICAgICAgICAgICAgICAgICAg
aWZyYW1lRWxlbWVudC5pZCA9ICJUaGVJZnJhbWVUaGF0UmVxdWVzdHNTdG9yYWdlQWNjZXNzIjsK
LSAgICAgICAgICAgICAgICAgICAgICAgIGlmcmFtZUVsZW1lbnQuc3JjID0gImh0dHA6Ly9sb2Nh
bGhvc3Q6ODAwMC9zdG9yYWdlQWNjZXNzL3Jlc291cmNlcy9yZXF1ZXN0LXN0b3JhZ2UtYWNjZXNz
LWlmcmFtZS5odG1sI3VzZXJTaG91bGRHcmFudEFjY2Vzcyx1c2VyU2hvdWxkQmVDb25zdWx0ZWQs
cG9saWN5U2hvdWxkR3JhbnRBY2Nlc3MiOwotICAgICAgICAgICAgICAgICAgICAgICAgZG9jdW1l
bnQuYm9keS5hcHBlbmRDaGlsZChpZnJhbWVFbGVtZW50KTsKLSAgICAgICAgICAgICAgICAgICAg
fSk7Ci0gICAgICAgICAgICAgICAgfSk7Ci0gICAgICAgICAgICB9KTsKLSAgICAgICAgfQotICAg
IDwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHk+Ci08L2JvZHk+Ci08L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3N0b3JhZ2VBY2Nlc3MvcmVxdWVzdC1hbmQtZ3JhbnQt
YWNjZXNzLXRoZW4tbmF2aWdhdGUtY3Jvc3Mtc2l0ZS1zaG91bGQtbm90LWhhdmUtYWNjZXNzLWRh
dGFiYXNlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc3RvcmFnZUFjY2Vz
cy9yZXF1ZXN0LWFuZC1ncmFudC1hY2Nlc3MtdGhlbi1uYXZpZ2F0ZS1jcm9zcy1zaXRlLXNob3Vs
ZC1ub3QtaGF2ZS1hY2Nlc3MtZGF0YWJhc2UtZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCA1ZTg5NjE2MDlkZWEwZTE0NTczN2ZlZWZhZTkzOTMzZDFkMjY2MTYzLi4w
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3Rz
L2h0dHAvdGVzdHMvc3RvcmFnZUFjY2Vzcy9yZXF1ZXN0LWFuZC1ncmFudC1hY2Nlc3MtdGhlbi1u
YXZpZ2F0ZS1jcm9zcy1zaXRlLXNob3VsZC1ub3QtaGF2ZS1hY2Nlc3MtZGF0YWJhc2UtZXhwZWN0
ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEsMTMgKzAsMCBAQAotVGVzdHMgdGhhdCBhIGNyb3Nz
LW9yaWdpbiBpZnJhbWUgZnJvbSBhIHByZXZhbGVudCBkb21haW4gdGhhdCBpcyBncmFudGVkIHN0
b3JhZ2UgYWNjZXNzIGFuZCB0aGVuIG5hdmlnYXRlcyBpdHNlbGYgY3Jvc3Mtc2l0ZSBkb2VzIG5v
dCBoYXZlIHN0b3JhZ2UgYWNjZXNzLgotCi1PbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJp
ZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCi0KLQot
UEFTUyBkb2N1bWVudC5jb29raWUgPT0KLVBBU1MgU3RvcmFnZSBhY2Nlc3Mgd2FzIGdyYW50ZWQu
Ci1QQVNTIGRvY3VtZW50LmNvb2tpZSA9PSBjb29raWVTZXRDbGllbnRTaWRlQWZ0ZXJHcmFudGVk
U3RvcmFnZUFjY2Vzcz12YWx1ZTsgZmlyc3RQYXJ0eUNvb2tpZT12YWx1ZQotUEFTUyBObyBzdG9y
YWdlIGFjY2Vzcy4gZG9jdW1lbnQuY29va2llID09ICwgY29va2llcyBzZWVuIHNlcnZlci1zaWRl
ID09ICJObyBjb29raWVzIgotUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQotCi1URVNU
IENPTVBMRVRFCi0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc3RvcmFnZUFj
Y2Vzcy9yZXF1ZXN0LWFuZC1ncmFudC1hY2Nlc3MtdGhlbi1uYXZpZ2F0ZS1jcm9zcy1zaXRlLXNo
b3VsZC1ub3QtaGF2ZS1hY2Nlc3MtZGF0YWJhc2UuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVz
dHMvc3RvcmFnZUFjY2Vzcy9yZXF1ZXN0LWFuZC1ncmFudC1hY2Nlc3MtdGhlbi1uYXZpZ2F0ZS1j
cm9zcy1zaXRlLXNob3VsZC1ub3QtaGF2ZS1hY2Nlc3MtZGF0YWJhc2UuaHRtbApkZWxldGVkIGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggZDE3OTYxNTMyY2Q1OWE2ODczYmY5MTI5NmJiNTM1YzA3ZTY3
MjQxZC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL3N0b3JhZ2VBY2Nlc3MvcmVxdWVzdC1hbmQtZ3JhbnQtYWNjZXNz
LXRoZW4tbmF2aWdhdGUtY3Jvc3Mtc2l0ZS1zaG91bGQtbm90LWhhdmUtYWNjZXNzLWRhdGFiYXNl
Lmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSw5MSArMCwwIEBACi08IURPQ1RZUEUgaHRtbD4KLTxo
dG1sPgotPGhlYWQ+Ci0gICAgPHNjcmlwdCBzcmM9Ii9qcy10ZXN0LXJlc291cmNlcy9qcy10ZXN0
LmpzIj48L3NjcmlwdD4KLSAgICA8c2NyaXB0IHNyYz0iL2pzLXRlc3QtcmVzb3VyY2VzL3VpLWhl
bHBlci5qcyI+PC9zY3JpcHQ+Ci0gICAgPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZUxvYWRTdGF0aXN0
aWNzL3Jlc291cmNlcy91dGlsLmpzIj48L3NjcmlwdD4KLSAgICA8c2NyaXB0PgotICAgICAgICBk
ZXNjcmlwdGlvbigiVGVzdHMgdGhhdCBhIGNyb3NzLW9yaWdpbiBpZnJhbWUgZnJvbSBhIHByZXZh
bGVudCBkb21haW4gdGhhdCBpcyBncmFudGVkIHN0b3JhZ2UgYWNjZXNzIGFuZCB0aGVuIG5hdmln
YXRlcyBpdHNlbGYgY3Jvc3Mtc2l0ZSBkb2VzIG5vdCBoYXZlIHN0b3JhZ2UgYWNjZXNzLiIpOwot
ICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKLQotICAgICAgICB3aW5kb3cuYWRkRXZlbnRM
aXN0ZW5lcigibWVzc2FnZSIsIHJlY2VpdmVNZXNzYWdlLCBmYWxzZSk7Ci0KLSAgICAgICAgZnVu
Y3Rpb24gZmluaXNoVGVzdCgpIHsKLSAgICAgICAgICAgIHNldEVuYWJsZUZlYXR1cmUoZmFsc2Us
IGZpbmlzaEpTVGVzdCk7Ci0gICAgICAgIH0KLQotICAgICAgICBjb25zdCBleHBlY3RlZFBhc3NN
ZXNzYWdlcyA9IDI7Ci0gICAgICAgIHZhciBwYXNzTWVzc2FnZXNSZWNlaXZlZCA9IDA7Ci0gICAg
ICAgIGZ1bmN0aW9uIHJlY2VpdmVNZXNzYWdlKGV2ZW50KSB7Ci0gICAgICAgICAgICBpZiAoZXZl
bnQub3JpZ2luID09PSAiaHR0cDovL2xvY2FsaG9zdDo4MDAwIikgewotICAgICAgICAgICAgICAg
IGlmIChldmVudC5kYXRhLmluZGV4T2YoImRvY3VtZW50LmNvb2tpZSIpID09PSAwKSB7Ci0gICAg
ICAgICAgICAgICAgICAgIHRlc3RQYXNzZWQoZXZlbnQuZGF0YSk7Ci0gICAgICAgICAgICAgICAg
fSBlbHNlIGlmIChldmVudC5kYXRhLmluZGV4T2YoIlBBU1MiKSAhPT0gLTEpIHsKLSAgICAgICAg
ICAgICAgICAgICAgdGVzdFBhc3NlZChldmVudC5kYXRhLnJlcGxhY2UoIlBBU1MgIiwgIiIpKTsK
LSAgICAgICAgICAgICAgICAgICAgcGFzc01lc3NhZ2VzUmVjZWl2ZWQrKzsKLSAgICAgICAgICAg
ICAgICAgICAgaWYgKHBhc3NNZXNzYWdlc1JlY2VpdmVkID49IGV4cGVjdGVkUGFzc01lc3NhZ2Vz
KQotICAgICAgICAgICAgICAgICAgICAgICAgZmluaXNoVGVzdCgpOwotICAgICAgICAgICAgICAg
IH0gZWxzZSB7Ci0gICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoZXZlbnQuZGF0YSk7Ci0g
ICAgICAgICAgICAgICAgICAgIGZpbmlzaFRlc3QoKTsKLSAgICAgICAgICAgICAgICB9Ci0gICAg
ICAgICAgICB9IGVsc2UgewotICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoIlJlY2VpdmVkIGEg
bWVzc2FnZSBmcm9tIGFuIHVuZXhwZWN0ZWQgb3JpZ2luOiAiICsgZXZlbnQub3JpZ2luKTsKLSAg
ICAgICAgICAgICAgICBmaW5pc2hUZXN0KCk7Ci0gICAgICAgICAgICB9Ci0gICAgICAgIH0KLQot
ICAgICAgICBmdW5jdGlvbiBhY3RpdmF0ZUVsZW1lbnQoZWxlbWVudElkKSB7Ci0gICAgICAgICAg
ICB2YXIgZWxlbWVudCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGVsZW1lbnRJZCk7Ci0gICAg
ICAgICAgICB2YXIgY2VudGVyWCA9IGVsZW1lbnQub2Zmc2V0TGVmdCArIGVsZW1lbnQub2Zmc2V0
V2lkdGggLyAyOwotICAgICAgICAgICAgdmFyIGNlbnRlclkgPSBlbGVtZW50Lm9mZnNldFRvcCAr
IGVsZW1lbnQub2Zmc2V0SGVpZ2h0IC8gMjsKLSAgICAgICAgICAgIFVJSGVscGVyLmFjdGl2YXRl
QXQoY2VudGVyWCwgY2VudGVyWSkudGhlbigKLSAgICAgICAgICAgICAgICBmdW5jdGlvbiAoKSB7
Ci0gICAgICAgICAgICAgICAgICAgIGlmICh3aW5kb3cuZXZlbnRTZW5kZXIpCi0gICAgICAgICAg
ICAgICAgICAgICAgICBldmVudFNlbmRlci5rZXlEb3duKCJlc2NhcGUiKTsKLSAgICAgICAgICAg
ICAgICAgICAgZWxzZSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKCJObyBl
dmVudFNlbmRlci4iKTsKLSAgICAgICAgICAgICAgICAgICAgICAgIGZpbmlzaFRlc3QoKTsKLSAg
ICAgICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAg
ZnVuY3Rpb24gKCkgewotICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKCJQcm9taXNlIHJl
amVjdGVkLiIpOwotICAgICAgICAgICAgICAgICAgICBmaW5pc2hUZXN0KCk7Ci0gICAgICAgICAg
ICAgICAgfQotICAgICAgICAgICAgKTsKLSAgICAgICAgfQotCi0gICAgICAgIGZ1bmN0aW9uIHJ1
blRlc3QoKSB7Ci0gICAgICAgICAgICBhY3RpdmF0ZUVsZW1lbnQoIlRoZUlmcmFtZVRoYXRSZXF1
ZXN0c1N0b3JhZ2VBY2Nlc3MiKTsKLSAgICAgICAgfQotCi0gICAgICAgIGNvbnN0IGhvc3RVbmRl
clRlc3QgPSAibG9jYWxob3N0OjgwMDAiOwotICAgICAgICBjb25zdCBzdGF0aXN0aWNzVXJsID0g
Imh0dHA6Ly8iICsgaG9zdFVuZGVyVGVzdDsKLSAgICAgICAgdGVzdFJ1bm5lci5zZXRVc2VJVFBE
YXRhYmFzZSh0cnVlKTsKLSAgICAgICAgaWYgKGRvY3VtZW50LmxvY2F0aW9uLmhhc2ggIT09ICIj
Zmlyc3RQYXJ0eUNvb2tpZVNldCIpIHsKLSAgICAgICAgICAgIHNldEVuYWJsZUZlYXR1cmUodHJ1
ZSwgZnVuY3Rpb24oKSB7Ci0gICAgICAgICAgICAgICAgZG9jdW1lbnQubG9jYXRpb24uaHJlZiA9
IHN0YXRpc3RpY3NVcmwgKyAiL3N0b3JhZ2VBY2Nlc3MvcmVzb3VyY2VzL3NldC1jb29raWUucGhw
P25hbWU9Zmlyc3RQYXJ0eUNvb2tpZSZ2YWx1ZT12YWx1ZSNodHRwOi8vMTI3LjAuMC4xOjgwMDAv
c3RvcmFnZUFjY2Vzcy9yZXF1ZXN0LWFuZC1ncmFudC1hY2Nlc3MtdGhlbi1uYXZpZ2F0ZS1jcm9z
cy1zaXRlLXNob3VsZC1ub3QtaGF2ZS1hY2Nlc3MtZGF0YWJhc2UuaHRtbCNmaXJzdFBhcnR5Q29v
a2llU2V0IjsKLSAgICAgICAgICAgIH0pOwotICAgICAgICB9IGVsc2UgewotICAgICAgICAgICAg
dGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNzUHJldmFsZW50UmVzb3VyY2Uoc3RhdGlzdGljc1VybCwg
dHJ1ZSwgZnVuY3Rpb24oKSB7Ci0gICAgICAgICAgICAgICAgaWYgKCF0ZXN0UnVubmVyLmlzU3Rh
dGlzdGljc1ByZXZhbGVudFJlc291cmNlKHN0YXRpc3RpY3NVcmwpKQotICAgICAgICAgICAgICAg
ICAgICB0ZXN0RmFpbGVkKCJIb3N0IGRpZCBub3QgZ2V0IHNldCBhcyBwcmV2YWxlbnQgcmVzb3Vy
Y2UuIik7Ci0gICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNzSGFzSGFkVXNl
ckludGVyYWN0aW9uKHN0YXRpc3RpY3NVcmwsIHRydWUsIGZ1bmN0aW9uKCkgewotICAgICAgICAg
ICAgICAgICAgICBpZiAoIXRlc3RSdW5uZXIuaXNTdGF0aXN0aWNzSGFzSGFkVXNlckludGVyYWN0
aW9uKHN0YXRpc3RpY3NVcmwpKQotICAgICAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZCgi
SG9zdCBkaWQgbm90IGdldCBsb2dnZWQgZm9yIHVzZXIgaW50ZXJhY3Rpb24uIik7Ci0gICAgICAg
ICAgICAgICAgICAgIHRlc3RSdW5uZXIuc3RhdGlzdGljc1VwZGF0ZUNvb2tpZUJsb2NraW5nKGZ1
bmN0aW9uKCkgewotICAgICAgICAgICAgICAgICAgICAgICAgbGV0IGlmcmFtZUVsZW1lbnQgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KCJpZnJhbWUiKTsKLSAgICAgICAgICAgICAgICAgICAgICAg
IGlmcmFtZUVsZW1lbnQuc2V0QXR0cmlidXRlKCJzYW5kYm94IiwgImFsbG93LXN0b3JhZ2UtYWNj
ZXNzLWJ5LXVzZXItYWN0aXZhdGlvbiBhbGxvdy1zY3JpcHRzIGFsbG93LXNhbWUtb3JpZ2luIGFs
bG93LW1vZGFscyIpOwotICAgICAgICAgICAgICAgICAgICAgICAgaWZyYW1lRWxlbWVudC5vbmxv
YWQgPSBydW5UZXN0OwotICAgICAgICAgICAgICAgICAgICAgICAgaWZyYW1lRWxlbWVudC5pZCA9
ICJUaGVJZnJhbWVUaGF0UmVxdWVzdHNTdG9yYWdlQWNjZXNzIjsKLSAgICAgICAgICAgICAgICAg
ICAgICAgIGlmcmFtZUVsZW1lbnQuc3JjID0gImh0dHA6Ly9sb2NhbGhvc3Q6ODAwMC9zdG9yYWdl
QWNjZXNzL3Jlc291cmNlcy9zZWxmLW5hdmlnYXRpbmctZnJhbWUtYWZ0ZXItZ3JhbnRlZC1hY2Nl
c3MuaHRtbCN1c2VyU2hvdWxkR3JhbnRBY2Nlc3MsdXNlclNob3VsZEJlQ29uc3VsdGVkLHBvbGlj
eVNob3VsZEdyYW50QWNjZXNzLGNyb3NzU2l0ZU5hdmlnYXRpb24iOwotICAgICAgICAgICAgICAg
ICAgICAgICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChpZnJhbWVFbGVtZW50KTsKLSAgICAg
ICAgICAgICAgICAgICAgfSk7Ci0gICAgICAgICAgICAgICAgfSk7Ci0gICAgICAgICAgICB9KTsK
LSAgICAgICAgfQotICAgIDwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHk+Ci08L2JvZHk+Ci08L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3N0b3JhZ2VBY2Nlc3MvcmVx
dWVzdC1hbmQtZ3JhbnQtYWNjZXNzLXRoZW4tbmF2aWdhdGUtc2FtZS1zaXRlLXNob3VsZC1oYXZl
LWFjY2Vzcy1kYXRhYmFzZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3N0
b3JhZ2VBY2Nlc3MvcmVxdWVzdC1hbmQtZ3JhbnQtYWNjZXNzLXRoZW4tbmF2aWdhdGUtc2FtZS1z
aXRlLXNob3VsZC1oYXZlLWFjY2Vzcy1kYXRhYmFzZS1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IGQ2ZjAzNGVmZTRmOGNhMmZkNmI2Y2Q1ZWVmYjQ4NzhlY2VlZjMw
MzcuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy9zdG9yYWdlQWNjZXNzL3JlcXVlc3QtYW5kLWdyYW50LWFjY2Vzcy10
aGVuLW5hdmlnYXRlLXNhbWUtc2l0ZS1zaG91bGQtaGF2ZS1hY2Nlc3MtZGF0YWJhc2UtZXhwZWN0
ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEsMTMgKzAsMCBAQAotVGVzdHMgdGhhdCBhIGNyb3Nz
LW9yaWdpbiBpZnJhbWUgZnJvbSBhIHByZXZhbGVudCBkb21haW4gdGhhdCBpcyBncmFudGVkIHN0
b3JhZ2UgYWNjZXNzIGFuZCB0aGVuIG5hdmlnYXRlcyBpdHNlbGYgc2FtZS1zaXRlIHN0aWxsIGhh
cyBzdG9yYWdlIGFjY2Vzcy4KLQotT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9m
ICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgotCi0KLVBBU1Mg
ZG9jdW1lbnQuY29va2llID09Ci1QQVNTIFN0b3JhZ2UgYWNjZXNzIHdhcyBncmFudGVkLgotUEFT
UyBkb2N1bWVudC5jb29raWUgPT0gY29va2llU2V0Q2xpZW50U2lkZUFmdGVyR3JhbnRlZFN0b3Jh
Z2VBY2Nlc3M9dmFsdWU7IGZpcnN0UGFydHlDb29raWU9dmFsdWUKLVBBU1MgSGFzIHN0b3JhZ2Ug
YWNjZXNzLiBkb2N1bWVudC5jb29raWUgPT0gY29va2llU2V0Q2xpZW50U2lkZUFmdGVyR3JhbnRl
ZFN0b3JhZ2VBY2Nlc3M9dmFsdWU7IGZpcnN0UGFydHlDb29raWU9dmFsdWUsIGNvb2tpZXMgc2Vl
biBzZXJ2ZXItc2lkZSA9PSB7ImNvb2tpZVNldENsaWVudFNpZGVBZnRlckdyYW50ZWRTdG9yYWdl
QWNjZXNzIjoidmFsdWUiLCJmaXJzdFBhcnR5Q29va2llIjoidmFsdWUifQotUEFTUyBzdWNjZXNz
ZnVsbHlQYXJzZWQgaXMgdHJ1ZQotCi1URVNUIENPTVBMRVRFCi0KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2h0dHAvdGVzdHMvc3RvcmFnZUFjY2Vzcy9yZXF1ZXN0LWFuZC1ncmFudC1hY2Nlc3Mt
dGhlbi1uYXZpZ2F0ZS1zYW1lLXNpdGUtc2hvdWxkLWhhdmUtYWNjZXNzLWRhdGFiYXNlLmh0bWwg
Yi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3N0b3JhZ2VBY2Nlc3MvcmVxdWVzdC1hbmQtZ3JhbnQt
YWNjZXNzLXRoZW4tbmF2aWdhdGUtc2FtZS1zaXRlLXNob3VsZC1oYXZlLWFjY2Vzcy1kYXRhYmFz
ZS5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBjYWEzNGNhNTU4ZWQwNjk0Zjlm
NTU4MzY0NzIyZTk0MjU0ZGEyY2E5Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc3RvcmFnZUFjY2Vzcy9yZXF1ZXN0
LWFuZC1ncmFudC1hY2Nlc3MtdGhlbi1uYXZpZ2F0ZS1zYW1lLXNpdGUtc2hvdWxkLWhhdmUtYWNj
ZXNzLWRhdGFiYXNlLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSw5MSArMCwwIEBACi08IURPQ1RZ
UEUgaHRtbD4KLTxodG1sPgotPGhlYWQ+Ci0gICAgPHNjcmlwdCBzcmM9Ii9qcy10ZXN0LXJlc291
cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KLSAgICA8c2NyaXB0IHNyYz0iL2pzLXRlc3QtcmVz
b3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Ci0gICAgPHNjcmlwdCBzcmM9Ii9yZXNvdXJj
ZUxvYWRTdGF0aXN0aWNzL3Jlc291cmNlcy91dGlsLmpzIj48L3NjcmlwdD4KLSAgICA8c2NyaXB0
PgotICAgICAgICBkZXNjcmlwdGlvbigiVGVzdHMgdGhhdCBhIGNyb3NzLW9yaWdpbiBpZnJhbWUg
ZnJvbSBhIHByZXZhbGVudCBkb21haW4gdGhhdCBpcyBncmFudGVkIHN0b3JhZ2UgYWNjZXNzIGFu
ZCB0aGVuIG5hdmlnYXRlcyBpdHNlbGYgc2FtZS1zaXRlIHN0aWxsIGhhcyBzdG9yYWdlIGFjY2Vz
cy4iKTsKLSAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7Ci0KLSAgICAgICAgd2luZG93LmFk
ZEV2ZW50TGlzdGVuZXIoIm1lc3NhZ2UiLCByZWNlaXZlTWVzc2FnZSwgZmFsc2UpOwotCi0gICAg
ICAgIGZ1bmN0aW9uIGZpbmlzaFRlc3QoKSB7Ci0gICAgICAgICAgICBzZXRFbmFibGVGZWF0dXJl
KGZhbHNlLCBmaW5pc2hKU1Rlc3QpOwotICAgICAgICB9Ci0KLSAgICAgICAgY29uc3QgZXhwZWN0
ZWRQYXNzTWVzc2FnZXMgPSAyOwotICAgICAgICB2YXIgcGFzc01lc3NhZ2VzUmVjZWl2ZWQgPSAw
OwotICAgICAgICBmdW5jdGlvbiByZWNlaXZlTWVzc2FnZShldmVudCkgewotICAgICAgICAgICAg
aWYgKGV2ZW50Lm9yaWdpbiA9PT0gImh0dHA6Ly9sb2NhbGhvc3Q6ODAwMCIpIHsKLSAgICAgICAg
ICAgICAgICBpZiAoZXZlbnQuZGF0YS5pbmRleE9mKCJkb2N1bWVudC5jb29raWUiKSA9PT0gMCkg
ewotICAgICAgICAgICAgICAgICAgICB0ZXN0UGFzc2VkKGV2ZW50LmRhdGEpOwotICAgICAgICAg
ICAgICAgIH0gZWxzZSBpZiAoZXZlbnQuZGF0YS5pbmRleE9mKCJQQVNTIikgIT09IC0xKSB7Ci0g
ICAgICAgICAgICAgICAgICAgIHRlc3RQYXNzZWQoZXZlbnQuZGF0YS5yZXBsYWNlKCJQQVNTICIs
ICIiKSk7Ci0gICAgICAgICAgICAgICAgICAgIHBhc3NNZXNzYWdlc1JlY2VpdmVkKys7Ci0gICAg
ICAgICAgICAgICAgICAgIGlmIChwYXNzTWVzc2FnZXNSZWNlaXZlZCA+PSBleHBlY3RlZFBhc3NN
ZXNzYWdlcykKLSAgICAgICAgICAgICAgICAgICAgICAgIGZpbmlzaFRlc3QoKTsKLSAgICAgICAg
ICAgICAgICB9IGVsc2UgewotICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGV2ZW50LmRh
dGEpOwotICAgICAgICAgICAgICAgICAgICBmaW5pc2hUZXN0KCk7Ci0gICAgICAgICAgICAgICAg
fQotICAgICAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKCJSZWNl
aXZlZCBhIG1lc3NhZ2UgZnJvbSBhbiB1bmV4cGVjdGVkIG9yaWdpbjogIiArIGV2ZW50Lm9yaWdp
bik7Ci0gICAgICAgICAgICAgICAgZmluaXNoVGVzdCgpOwotICAgICAgICAgICAgfQotICAgICAg
ICB9Ci0KLSAgICAgICAgZnVuY3Rpb24gYWN0aXZhdGVFbGVtZW50KGVsZW1lbnRJZCkgewotICAg
ICAgICAgICAgdmFyIGVsZW1lbnQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChlbGVtZW50SWQp
OwotICAgICAgICAgICAgdmFyIGNlbnRlclggPSBlbGVtZW50Lm9mZnNldExlZnQgKyBlbGVtZW50
Lm9mZnNldFdpZHRoIC8gMjsKLSAgICAgICAgICAgIHZhciBjZW50ZXJZID0gZWxlbWVudC5vZmZz
ZXRUb3AgKyBlbGVtZW50Lm9mZnNldEhlaWdodCAvIDI7Ci0gICAgICAgICAgICBVSUhlbHBlci5h
Y3RpdmF0ZUF0KGNlbnRlclgsIGNlbnRlclkpLnRoZW4oCi0gICAgICAgICAgICAgICAgZnVuY3Rp
b24gKCkgewotICAgICAgICAgICAgICAgICAgICBpZiAod2luZG93LmV2ZW50U2VuZGVyKQotICAg
ICAgICAgICAgICAgICAgICAgICAgZXZlbnRTZW5kZXIua2V5RG93bigiZXNjYXBlIik7Ci0gICAg
ICAgICAgICAgICAgICAgIGVsc2UgewotICAgICAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxl
ZCgiTm8gZXZlbnRTZW5kZXIuIik7Ci0gICAgICAgICAgICAgICAgICAgICAgICBmaW5pc2hUZXN0
KCk7Ci0gICAgICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICB9LAotICAgICAgICAg
ICAgICAgIGZ1bmN0aW9uICgpIHsKLSAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZCgiUHJv
bWlzZSByZWplY3RlZC4iKTsKLSAgICAgICAgICAgICAgICAgICAgZmluaXNoVGVzdCgpOwotICAg
ICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICk7Ci0gICAgICAgIH0KLQotICAgICAgICBmdW5j
dGlvbiBydW5UZXN0KCkgewotICAgICAgICAgICAgYWN0aXZhdGVFbGVtZW50KCJUaGVJZnJhbWVU
aGF0UmVxdWVzdHNTdG9yYWdlQWNjZXNzIik7Ci0gICAgICAgIH0KLQotICAgICAgICBjb25zdCBo
b3N0VW5kZXJUZXN0ID0gImxvY2FsaG9zdDo4MDAwIjsKLSAgICAgICAgY29uc3Qgc3RhdGlzdGlj
c1VybCA9ICJodHRwOi8vIiArIGhvc3RVbmRlclRlc3Q7Ci0gICAgICAgIHRlc3RSdW5uZXIuc2V0
VXNlSVRQRGF0YWJhc2UodHJ1ZSk7Ci0gICAgICAgIGlmIChkb2N1bWVudC5sb2NhdGlvbi5oYXNo
ICE9PSAiI2ZpcnN0UGFydHlDb29raWVTZXQiKSB7Ci0gICAgICAgICAgICBzZXRFbmFibGVGZWF0
dXJlKHRydWUsIGZ1bmN0aW9uKCkgewotICAgICAgICAgICAgICAgIGRvY3VtZW50LmxvY2F0aW9u
LmhyZWYgPSBzdGF0aXN0aWNzVXJsICsgIi9zdG9yYWdlQWNjZXNzL3Jlc291cmNlcy9zZXQtY29v
a2llLnBocD9uYW1lPWZpcnN0UGFydHlDb29raWUmdmFsdWU9dmFsdWUjaHR0cDovLzEyNy4wLjAu
MTo4MDAwL3N0b3JhZ2VBY2Nlc3MvcmVxdWVzdC1hbmQtZ3JhbnQtYWNjZXNzLXRoZW4tbmF2aWdh
dGUtc2FtZS1zaXRlLXNob3VsZC1oYXZlLWFjY2Vzcy1kYXRhYmFzZS5odG1sI2ZpcnN0UGFydHlD
b29raWVTZXQiOwotICAgICAgICAgICAgfSk7Ci0gICAgICAgIH0gZWxzZSB7Ci0gICAgICAgICAg
ICB0ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NQcmV2YWxlbnRSZXNvdXJjZShzdGF0aXN0aWNzVXJs
LCB0cnVlLCBmdW5jdGlvbigpIHsKLSAgICAgICAgICAgICAgICBpZiAoIXRlc3RSdW5uZXIuaXNT
dGF0aXN0aWNzUHJldmFsZW50UmVzb3VyY2Uoc3RhdGlzdGljc1VybCkpCi0gICAgICAgICAgICAg
ICAgICAgIHRlc3RGYWlsZWQoIkhvc3QgZGlkIG5vdCBnZXQgc2V0IGFzIHByZXZhbGVudCByZXNv
dXJjZS4iKTsKLSAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NIYXNIYWRV
c2VySW50ZXJhY3Rpb24oc3RhdGlzdGljc1VybCwgdHJ1ZSwgZnVuY3Rpb24oKSB7Ci0gICAgICAg
ICAgICAgICAgICAgIGlmICghdGVzdFJ1bm5lci5pc1N0YXRpc3RpY3NIYXNIYWRVc2VySW50ZXJh
Y3Rpb24oc3RhdGlzdGljc1VybCkpCi0gICAgICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVk
KCJIb3N0IGRpZCBub3QgZ2V0IGxvZ2dlZCBmb3IgdXNlciBpbnRlcmFjdGlvbi4iKTsKLSAgICAg
ICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5zdGF0aXN0aWNzVXBkYXRlQ29va2llQmxvY2tpbmco
ZnVuY3Rpb24oKSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICBsZXQgaWZyYW1lRWxlbWVudCA9
IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImlmcmFtZSIpOwotICAgICAgICAgICAgICAgICAgICAg
ICAgaWZyYW1lRWxlbWVudC5zZXRBdHRyaWJ1dGUoInNhbmRib3giLCAiYWxsb3ctc3RvcmFnZS1h
Y2Nlc3MtYnktdXNlci1hY3RpdmF0aW9uIGFsbG93LXNjcmlwdHMgYWxsb3ctc2FtZS1vcmlnaW4g
YWxsb3ctbW9kYWxzIik7Ci0gICAgICAgICAgICAgICAgICAgICAgICBpZnJhbWVFbGVtZW50Lm9u
bG9hZCA9IHJ1blRlc3Q7Ci0gICAgICAgICAgICAgICAgICAgICAgICBpZnJhbWVFbGVtZW50Lmlk
ID0gIlRoZUlmcmFtZVRoYXRSZXF1ZXN0c1N0b3JhZ2VBY2Nlc3MiOwotICAgICAgICAgICAgICAg
ICAgICAgICAgaWZyYW1lRWxlbWVudC5zcmMgPSAiaHR0cDovL2xvY2FsaG9zdDo4MDAwL3N0b3Jh
Z2VBY2Nlc3MvcmVzb3VyY2VzL3NlbGYtbmF2aWdhdGluZy1mcmFtZS1hZnRlci1ncmFudGVkLWFj
Y2Vzcy5odG1sI3VzZXJTaG91bGRHcmFudEFjY2Vzcyx1c2VyU2hvdWxkQmVDb25zdWx0ZWQscG9s
aWN5U2hvdWxkR3JhbnRBY2Nlc3Msc2FtZVNpdGVOYXZpZ2F0aW9uIjsKLSAgICAgICAgICAgICAg
ICAgICAgICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoaWZyYW1lRWxlbWVudCk7Ci0gICAg
ICAgICAgICAgICAgICAgIH0pOwotICAgICAgICAgICAgICAgIH0pOwotICAgICAgICAgICAgfSk7
Ci0gICAgICAgIH0KLSAgICA8L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5PgotPC9ib2R5PgotPC9o
dG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zdG9yYWdlQWNjZXNzL3Jl
cXVlc3Qtc3RvcmFnZS1hY2Nlc3MtY3Jhc2gtZGF0YWJhc2UtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy9zdG9yYWdlQWNjZXNzL3JlcXVlc3Qtc3RvcmFnZS1hY2Nlc3MtY3Jh
c2gtZGF0YWJhc2UtZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBi
N2Q5OTAzOTVlOGRjYWUzNzMwYjlmM2MxN2ZiNTVlMThkYThmYThmLi4wMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc3Rv
cmFnZUFjY2Vzcy9yZXF1ZXN0LXN0b3JhZ2UtYWNjZXNzLWNyYXNoLWRhdGFiYXNlLWV4cGVjdGVk
LnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDUgKzAsMCBAQAotVGVzdCB0aGF0IHJlcXVlc3Rpbmcg
c3RvcmFnZSBhY2Nlc3MgQVBJIG9uIGEgZGV0YWNoZWQgZnJhbWUgZG9lc24ndCBjcmFzaC4KLQot
W29iamVjdCBIVE1MRG9jdW1lbnRdCi1TVUNDRVNTOiBEaWQgbm90IGNyYXNoLgotCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3N0b3JhZ2VBY2Nlc3MvcmVxdWVzdC1zdG9yYWdl
LWFjY2Vzcy1jcmFzaC1kYXRhYmFzZS5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zdG9y
YWdlQWNjZXNzL3JlcXVlc3Qtc3RvcmFnZS1hY2Nlc3MtY3Jhc2gtZGF0YWJhc2UuaHRtbApkZWxl
dGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggOGY3MDNlZjU0MDFhODQ3ZjI3MWIyOWQ2OWIxMzlh
NGM5ZmIzZTIxMC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0g
YS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3N0b3JhZ2VBY2Nlc3MvcmVxdWVzdC1zdG9yYWdlLWFj
Y2Vzcy1jcmFzaC1kYXRhYmFzZS5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsMzcgKzAsMCBAQAot
PCFET0NUWVBFIGh0bWw+Ci08aHRtbD4KLTxoZWFkPgotICAgIDxzY3JpcHQ+Ci0gICAgZnVuY3Rp
b24gZGVidWcoc3RyKSB7Ci0gICAgICAgIHZhciBjID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvbnNvbGUiKQotICAgICAgICBjLmlubmVySFRNTCArPSAoc3RyICsgIjxicj4iKQotICAgIH0K
LQotICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikgewotICAgICAgICB0ZXN0UnVubmVyLmR1bXBB
c1RleHQoKTsKLSAgICAgICAgdGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7Ci0gICAgfQotCi0g
ICAgZnVuY3Rpb24gcnVuVGVzdCgpIHsKLSAgICAgICAgdGVzdFJ1bm5lci5zZXRVc2VJVFBEYXRh
YmFzZSh0cnVlKTsKLSAgICAgICAgdmFyIHRlc3REaXYgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgidGVzdCIpOwotICAgICAgICB2YXIgdGVzdEZyYW1lID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVu
dCgiaWZyYW1lIik7Ci0gICAgICAgIHRlc3REaXYuYXBwZW5kQ2hpbGQodGVzdEZyYW1lKTsKLSAg
ICAgICAgdmFyIHRlc3RGcmFtZURvY3VtZW50ID0gdGVzdEZyYW1lLmNvbnRlbnREb2N1bWVudDsK
LSAgICAgICAgdGVzdEZyYW1lLm91dGVySFRNTCA9IHRlc3RGcmFtZURvY3VtZW50OwotCi0gICAg
ICAgIHRlc3RGcmFtZURvY3VtZW50LnJlcXVlc3RTdG9yYWdlQWNjZXNzKCk7Ci0KLSAgICAgICAg
ZGVidWcoIlNVQ0NFU1M6IERpZCBub3QgY3Jhc2guIikKLSAgICAgICAgaWYgKHdpbmRvdy50ZXN0
UnVubmVyKQotICAgICAgICAgICAgdGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7Ci0gICAgfQotICAg
IDwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHkgb25sb2FkPSJydW5UZXN0KCkiPgotICAgIDxkaXYg
aWQ9InRlc3QiPgotICAgICAgICA8cD5UZXN0IHRoYXQgcmVxdWVzdGluZyBzdG9yYWdlIGFjY2Vz
cyBBUEkgb24gYSBkZXRhY2hlZCBmcmFtZSBkb2Vzbid0IGNyYXNoLjwvcD4KLSAgICA8L2Rpdj4K
LSAgICA8cHJlIGlkPSJjb25zb2xlIj48L3ByZT4KLTwvYm9keT4KLTwvaHRtbD4KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc3RvcmFnZUFjY2Vzcy9yZXF1ZXN0LXN0b3JhZ2Ut
YWNjZXNzLWNyb3NzLW9yaWdpbi1zYW5kYm94ZWQtaWZyYW1lLXdpdGgtdW5pcXVlLW9yaWdpbi1k
YXRhYmFzZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3N0b3JhZ2VBY2Nl
c3MvcmVxdWVzdC1zdG9yYWdlLWFjY2Vzcy1jcm9zcy1vcmlnaW4tc2FuZGJveGVkLWlmcmFtZS13
aXRoLXVuaXF1ZS1vcmlnaW4tZGF0YWJhc2UtZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCA0MTk3NjQ2ODQxMDEzMGI4NjY3OTE4ZWQ2OTI4ZWM4Y2I2MDdhZGFjLi4w
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3Rz
L2h0dHAvdGVzdHMvc3RvcmFnZUFjY2Vzcy9yZXF1ZXN0LXN0b3JhZ2UtYWNjZXNzLWNyb3NzLW9y
aWdpbi1zYW5kYm94ZWQtaWZyYW1lLXdpdGgtdW5pcXVlLW9yaWdpbi1kYXRhYmFzZS1leHBlY3Rl
ZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSwxMCArMCwwIEBACi1UZXN0cyB0aGF0IGNyb3NzLW9y
aWdpbiBpZnJhbWUgc3RvcmFnZSBhY2Nlc3MgaXMgZGVuaWVkIGlmIHRoZSBpZnJhbWUgaXMgc2Fu
ZGJveGVkIGFuZCBoYXMgdGhlIHVuaXF1ZSBvcmlnaW4gYmVjYXVzZSBpdCBsYWNrcyB0aGUgYWxs
b3ctc2FtZS1vcmlnaW4gdG9rZW4uCi0KLU9uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmll
cyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KLQotCi1Q
QVNTIFN0b3JhZ2UgYWNjZXNzIHdhcyBkZW5pZWQgZm9yIG9yaWdpbiBudWxsLgotUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQotCi1URVNUIENPTVBMRVRFCi0KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2h0dHAvdGVzdHMvc3RvcmFnZUFjY2Vzcy9yZXF1ZXN0LXN0b3JhZ2UtYWNjZXNz
LWNyb3NzLW9yaWdpbi1zYW5kYm94ZWQtaWZyYW1lLXdpdGgtdW5pcXVlLW9yaWdpbi1kYXRhYmFz
ZS5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zdG9yYWdlQWNjZXNzL3JlcXVlc3Qtc3Rv
cmFnZS1hY2Nlc3MtY3Jvc3Mtb3JpZ2luLXNhbmRib3hlZC1pZnJhbWUtd2l0aC11bmlxdWUtb3Jp
Z2luLWRhdGFiYXNlLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDkzMDEzYTY4
ZTg5NTc1MGU0OGZmYjUxZTEzMGMxYjcyNWY2MDdlMDAuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zdG9yYWdlQWNj
ZXNzL3JlcXVlc3Qtc3RvcmFnZS1hY2Nlc3MtY3Jvc3Mtb3JpZ2luLXNhbmRib3hlZC1pZnJhbWUt
d2l0aC11bmlxdWUtb3JpZ2luLWRhdGFiYXNlLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSw1NSAr
MCwwIEBACi08IURPQ1RZUEUgaHRtbD4KLTxodG1sPgotPGhlYWQ+Ci0gICAgPHNjcmlwdCBzcmM9
Ii9qcy10ZXN0LXJlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KLSAgICA8c2NyaXB0IHNy
Yz0iL2pzLXRlc3QtcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Ci0gICAgPHNjcmlw
dCBzcmM9Ii9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3Jlc291cmNlcy91dGlsLmpzIj48L3Njcmlw
dD4KLSAgICA8c2NyaXB0PgotICAgICAgICBkZXNjcmlwdGlvbigiVGVzdHMgdGhhdCBjcm9zcy1v
cmlnaW4gaWZyYW1lIHN0b3JhZ2UgYWNjZXNzIGlzIGRlbmllZCBpZiB0aGUgaWZyYW1lIGlzIHNh
bmRib3hlZCBhbmQgaGFzIHRoZSB1bmlxdWUgb3JpZ2luIGJlY2F1c2UgaXQgbGFja3MgdGhlIGFs
bG93LXNhbWUtb3JpZ2luIHRva2VuLiIpOwotICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsK
LQotICAgICAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigibWVzc2FnZSIsIHJlY2VpdmVNZXNz
YWdlLCBmYWxzZSk7Ci0KLSAgICAgICAgZnVuY3Rpb24gcmVjZWl2ZU1lc3NhZ2UoZXZlbnQpIHsK
LSAgICAgICAgICAgIGlmIChldmVudC5vcmlnaW4gPT09ICJudWxsIikgewotICAgICAgICAgICAg
ICAgIGlmIChldmVudC5kYXRhLmluZGV4T2YoIlBBU1MiKSAhPT0gLTEpCi0gICAgICAgICAgICAg
ICAgICAgIHRlc3RQYXNzZWQoZXZlbnQuZGF0YS5yZXBsYWNlKCJQQVNTICIsICIiKSk7Ci0gICAg
ICAgICAgICAgICAgZWxzZQotICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGV2ZW50LmRh
dGEucmVwbGFjZSgiRkFJTCAiLCAiIikpOwotICAgICAgICAgICAgfSBlbHNlCi0gICAgICAgICAg
ICAgICAgdGVzdEZhaWxlZCgiUmVjZWl2ZWQgYSBtZXNzYWdlIGZyb20gYW4gdW5leHBlY3RlZCBv
cmlnaW46ICIgKyBldmVudC5vcmlnaW4pOwotICAgICAgICAgICAgc2V0RW5hYmxlRmVhdHVyZShm
YWxzZSwgZmluaXNoSlNUZXN0KTsKLSAgICAgICAgfQotCi0gICAgICAgIGZ1bmN0aW9uIGFjdGl2
YXRlRWxlbWVudChlbGVtZW50SWQpIHsKLSAgICAgICAgICAgIHZhciBlbGVtZW50ID0gZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoZWxlbWVudElkKTsKLSAgICAgICAgICAgIHZhciBjZW50ZXJYID0g
ZWxlbWVudC5vZmZzZXRMZWZ0ICsgZWxlbWVudC5vZmZzZXRXaWR0aCAvIDI7Ci0gICAgICAgICAg
ICB2YXIgY2VudGVyWSA9IGVsZW1lbnQub2Zmc2V0VG9wICsgZWxlbWVudC5vZmZzZXRIZWlnaHQg
LyAyOwotICAgICAgICAgICAgVUlIZWxwZXIuYWN0aXZhdGVBdChjZW50ZXJYLCBjZW50ZXJZKS50
aGVuKAotICAgICAgICAgICAgICAgIGZ1bmN0aW9uICgpIHsKLSAgICAgICAgICAgICAgICAgICAg
aWYgKHdpbmRvdy5ldmVudFNlbmRlcikKLSAgICAgICAgICAgICAgICAgICAgICAgIGV2ZW50U2Vu
ZGVyLmtleURvd24oImVzY2FwZSIpOwotICAgICAgICAgICAgICAgICAgICBlbHNlIHsKLSAgICAg
ICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoIk5vIGV2ZW50U2VuZGVyLiIpOwotICAgICAg
ICAgICAgICAgICAgICAgICAgc2V0RW5hYmxlRmVhdHVyZShmYWxzZSwgZmluaXNoSlNUZXN0KTsK
LSAgICAgICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAg
ICAgZnVuY3Rpb24gKCkgewotICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKCJQcm9taXNl
IHJlamVjdGVkLiIpOwotICAgICAgICAgICAgICAgICAgICBzZXRFbmFibGVGZWF0dXJlKGZhbHNl
LCBmaW5pc2hKU1Rlc3QpOwotICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICk7Ci0gICAg
ICAgIH0KLQotICAgICAgICBmdW5jdGlvbiBydW5UZXN0KCkgewotICAgICAgICAgICAgdGVzdFJ1
bm5lci5zZXRVc2VJVFBEYXRhYmFzZSh0cnVlKTsKLSAgICAgICAgICAgIHNldEVuYWJsZUZlYXR1
cmUodHJ1ZSwgZnVuY3Rpb24oKSB7Ci0gICAgICAgICAgICAgICAgYWN0aXZhdGVFbGVtZW50KCJU
aGVJZnJhbWVUaGF0UmVxdWVzdHNTdG9yYWdlQWNjZXNzIik7Ci0gICAgICAgICAgICB9KTsKLSAg
ICAgICAgfQotICAgIDwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHk+Ci0gICAgPGlmcmFtZSBzYW5k
Ym94PSJhbGxvdy1zdG9yYWdlLWFjY2Vzcy1ieS11c2VyLWFjdGl2YXRpb24gYWxsb3ctc2NyaXB0
cyBhbGxvdy1tb2RhbHMiIG9ubG9hZD0icnVuVGVzdCgpIiBpZD0iVGhlSWZyYW1lVGhhdFJlcXVl
c3RzU3RvcmFnZUFjY2VzcyIgc3JjPSJodHRwOi8vbG9jYWxob3N0OjgwMDAvc3RvcmFnZUFjY2Vz
cy9yZXNvdXJjZXMvcmVxdWVzdC1zdG9yYWdlLWFjY2Vzcy1pZnJhbWUuaHRtbCN1c2VyU2hvdWxk
R3JhbnRBY2Nlc3MsdXNlclNob3VsZE5vdEJlQ29uc3VsdGVkLHBvbGljeVNob3VsZERlbnlBY2Nl
c3MsaXNOb3RTYW1lT3JpZ2luSWZyYW1lLG9yaWdpbklzTnVsbCI+PC9pZnJhbWU+Ci08L2JvZHk+
Ci08L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3N0b3JhZ2VBY2Nl
c3MvcmVxdWVzdC1zdG9yYWdlLWFjY2Vzcy1jcm9zcy1vcmlnaW4tc2FuZGJveGVkLWlmcmFtZS13
aXRob3V0LWFsbG93LXRva2VuLWRhdGFiYXNlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0
dHAvdGVzdHMvc3RvcmFnZUFjY2Vzcy9yZXF1ZXN0LXN0b3JhZ2UtYWNjZXNzLWNyb3NzLW9yaWdp
bi1zYW5kYm94ZWQtaWZyYW1lLXdpdGhvdXQtYWxsb3ctdG9rZW4tZGF0YWJhc2UtZXhwZWN0ZWQu
dHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBjNTE5YzdlOTFiMDQ0MDAyZGM4ZWEz
MGM5ZjVhMWJlZjAzZWFhYTNmLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwCi0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc3RvcmFnZUFjY2Vzcy9yZXF1ZXN0LXN0
b3JhZ2UtYWNjZXNzLWNyb3NzLW9yaWdpbi1zYW5kYm94ZWQtaWZyYW1lLXdpdGhvdXQtYWxsb3ct
dG9rZW4tZGF0YWJhc2UtZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEsMTAgKzAsMCBA
QAotVGVzdHMgdGhhdCBjcm9zcy1vcmlnaW4gaWZyYW1lIHN0b3JhZ2UgYWNjZXNzIGlzIGRlbmll
ZCBpZiB0aGUgaWZyYW1lIGlzIHNhbmRib3hlZCBhbmQgZG9lc24ndCBoYXZlIHRoZSBhbGxvdyB0
b2tlbi4KLQotT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNz
YWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgotCi0KLVBBU1MgU3RvcmFnZSBhY2Nl
c3Mgd2FzIGRlbmllZC4gZG9jdW1lbnQuY29va2llID09ICwgY29va2llcyBzZWVuIHNlcnZlci1z
aWRlID09ICJObyBjb29raWVzIgotUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQotCi1U
RVNUIENPTVBMRVRFCi0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc3RvcmFn
ZUFjY2Vzcy9yZXF1ZXN0LXN0b3JhZ2UtYWNjZXNzLWNyb3NzLW9yaWdpbi1zYW5kYm94ZWQtaWZy
YW1lLXdpdGhvdXQtYWxsb3ctdG9rZW4tZGF0YWJhc2UuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAv
dGVzdHMvc3RvcmFnZUFjY2Vzcy9yZXF1ZXN0LXN0b3JhZ2UtYWNjZXNzLWNyb3NzLW9yaWdpbi1z
YW5kYm94ZWQtaWZyYW1lLXdpdGhvdXQtYWxsb3ctdG9rZW4tZGF0YWJhc2UuaHRtbApkZWxldGVk
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYjljN2ZkMGZiZWY4YTA4NDBkMjRmZjgyMGVmODEzMjZh
MzQzNGI5Zi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9M
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL3N0b3JhZ2VBY2Nlc3MvcmVxdWVzdC1zdG9yYWdlLWFjY2Vz
cy1jcm9zcy1vcmlnaW4tc2FuZGJveGVkLWlmcmFtZS13aXRob3V0LWFsbG93LXRva2VuLWRhdGFi
YXNlLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSw3NCArMCwwIEBACi08IURPQ1RZUEUgaHRtbD4K
LTxodG1sPgotPGhlYWQ+Ci0gICAgPHNjcmlwdCBzcmM9Ii9qcy10ZXN0LXJlc291cmNlcy9qcy10
ZXN0LmpzIj48L3NjcmlwdD4KLSAgICA8c2NyaXB0IHNyYz0iL2pzLXRlc3QtcmVzb3VyY2VzL3Vp
LWhlbHBlci5qcyI+PC9zY3JpcHQ+Ci0gICAgPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZUxvYWRTdGF0
aXN0aWNzL3Jlc291cmNlcy91dGlsLmpzIj48L3NjcmlwdD4KLSAgICA8c2NyaXB0PgotICAgICAg
ICBkZXNjcmlwdGlvbigiVGVzdHMgdGhhdCBjcm9zcy1vcmlnaW4gaWZyYW1lIHN0b3JhZ2UgYWNj
ZXNzIGlzIGRlbmllZCBpZiB0aGUgaWZyYW1lIGlzIHNhbmRib3hlZCBhbmQgZG9lc24ndCBoYXZl
IHRoZSBhbGxvdyB0b2tlbi4iKTsKLSAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7Ci0KLSAg
ICAgICAgY29uc3QgaG9zdFVuZGVyVGVzdCA9ICJsb2NhbGhvc3Q6ODAwMCI7Ci0gICAgICAgIGNv
bnN0IHN0YXRpc3RpY3NVcmwgPSAiaHR0cDovLyIgKyBob3N0VW5kZXJUZXN0ICsgIi90ZW1wIjsK
LQotICAgICAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigibWVzc2FnZSIsIHJlY2VpdmVNZXNz
YWdlLCBmYWxzZSk7Ci0KLSAgICAgICAgZnVuY3Rpb24gcmVjZWl2ZU1lc3NhZ2UoZXZlbnQpIHsK
LSAgICAgICAgICAgIGlmIChldmVudC5vcmlnaW4gPT09ICJodHRwOi8vbG9jYWxob3N0OjgwMDAi
KSB7Ci0gICAgICAgICAgICAgICAgaWYgKGV2ZW50LmRhdGEuaW5kZXhPZigiUEFTUyIpICE9PSAt
MSkKLSAgICAgICAgICAgICAgICAgICAgdGVzdFBhc3NlZChldmVudC5kYXRhLnJlcGxhY2UoIlBB
U1MgIiwgIiIpKTsKLSAgICAgICAgICAgICAgICBlbHNlCi0gICAgICAgICAgICAgICAgICAgIHRl
c3RGYWlsZWQoZXZlbnQuZGF0YS5yZXBsYWNlKCJGQUlMICIsICIiKSk7Ci0gICAgICAgICAgICB9
IGVsc2UKLSAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKCJSZWNlaXZlZCBhIG1lc3NhZ2UgZnJv
bSBhbiB1bmV4cGVjdGVkIG9yaWdpbjogIiArIGV2ZW50Lm9yaWdpbik7Ci0gICAgICAgICAgICBz
ZXRFbmFibGVGZWF0dXJlKGZhbHNlLCBmaW5pc2hKU1Rlc3QpOwotICAgICAgICB9Ci0KLSAgICAg
ICAgZnVuY3Rpb24gYWN0aXZhdGVFbGVtZW50KGVsZW1lbnRJZCkgewotICAgICAgICAgICAgdmFy
IGVsZW1lbnQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChlbGVtZW50SWQpOwotICAgICAgICAg
ICAgdmFyIGNlbnRlclggPSBlbGVtZW50Lm9mZnNldExlZnQgKyBlbGVtZW50Lm9mZnNldFdpZHRo
IC8gMjsKLSAgICAgICAgICAgIHZhciBjZW50ZXJZID0gZWxlbWVudC5vZmZzZXRUb3AgKyBlbGVt
ZW50Lm9mZnNldEhlaWdodCAvIDI7Ci0gICAgICAgICAgICBVSUhlbHBlci5hY3RpdmF0ZUF0KGNl
bnRlclgsIGNlbnRlclkpLnRoZW4oCi0gICAgICAgICAgICAgICAgZnVuY3Rpb24gKCkgewotICAg
ICAgICAgICAgICAgICAgICBpZiAod2luZG93LmV2ZW50U2VuZGVyKQotICAgICAgICAgICAgICAg
ICAgICAgICAgZXZlbnRTZW5kZXIua2V5RG93bigiZXNjYXBlIik7Ci0gICAgICAgICAgICAgICAg
ICAgIGVsc2UgewotICAgICAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZCgiTm8gZXZlbnRT
ZW5kZXIuIik7Ci0gICAgICAgICAgICAgICAgICAgICAgICBzZXRFbmFibGVGZWF0dXJlKGZhbHNl
LCBmaW5pc2hKU1Rlc3QpOwotICAgICAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAg
fSwKLSAgICAgICAgICAgICAgICBmdW5jdGlvbiAoKSB7Ci0gICAgICAgICAgICAgICAgICAgIHRl
c3RGYWlsZWQoIlByb21pc2UgcmVqZWN0ZWQuIik7Ci0gICAgICAgICAgICAgICAgICAgIHNldEVu
YWJsZUZlYXR1cmUoZmFsc2UsIGZpbmlzaEpTVGVzdCk7Ci0gICAgICAgICAgICAgICAgfQotICAg
ICAgICAgICAgKTsKLSAgICAgICAgfQotCi0gICAgICAgIGZ1bmN0aW9uIHJ1blRlc3QoKSB7Ci0g
ICAgICAgICAgICB0ZXN0UnVubmVyLnNldFVzZUlUUERhdGFiYXNlKHRydWUpOwotICAgICAgICAg
ICAgc2V0RW5hYmxlRmVhdHVyZSh0cnVlLCBmdW5jdGlvbigpIHsKLSAgICAgICAgICAgICAgICB0
ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NQcmV2YWxlbnRSZXNvdXJjZShzdGF0aXN0aWNzVXJsLCB0
cnVlLCBmdW5jdGlvbigpIHsKLSAgICAgICAgICAgICAgICAgICAgaWYgKCF0ZXN0UnVubmVyLmlz
U3RhdGlzdGljc1ByZXZhbGVudFJlc291cmNlKHN0YXRpc3RpY3NVcmwpKQotICAgICAgICAgICAg
ICAgICAgICAgICAgdGVzdEZhaWxlZCgiSG9zdCBkaWQgbm90IGdldCBzZXQgYXMgcHJldmFsZW50
IHJlc291cmNlLiIpOwotICAgICAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLnNldFN0YXRpc3Rp
Y3NIYXNIYWRVc2VySW50ZXJhY3Rpb24oc3RhdGlzdGljc1VybCwgdHJ1ZSwgZnVuY3Rpb24oKSB7
Ci0gICAgICAgICAgICAgICAgICAgICAgICBpZiAoIXRlc3RSdW5uZXIuaXNTdGF0aXN0aWNzSGFz
SGFkVXNlckludGVyYWN0aW9uKHN0YXRpc3RpY3NVcmwpKQotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIHRlc3RGYWlsZWQoIkhvc3QgZGlkIG5vdCBnZXQgbG9nZ2VkIGZvciB1c2VyIGludGVy
YWN0aW9uLiIpOwotICAgICAgICAgICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5zdGF0aXN0aWNz
VXBkYXRlQ29va2llQmxvY2tpbmcoZnVuY3Rpb24oKSB7Ci0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgbGV0IGlmcmFtZUVsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJpZnJhbWUi
KTsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZnJhbWVFbGVtZW50LnNldEF0dHJpYnV0
ZSgic2FuZGJveCIsICJhbGxvdy1zY3JpcHRzIGFsbG93LXNhbWUtb3JpZ2luIGFsbG93LW1vZGFs
cyIpOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmcmFtZUVsZW1lbnQub25sb2FkID0g
ZnVuY3Rpb24oKSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFjdGl2YXRlRWxl
bWVudCgiVGhlSWZyYW1lVGhhdFJlcXVlc3RzU3RvcmFnZUFjY2VzcyIpOwotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIH07Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWZyYW1lRWxl
bWVudC5pZCA9ICJUaGVJZnJhbWVUaGF0UmVxdWVzdHNTdG9yYWdlQWNjZXNzIjsKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBpZnJhbWVFbGVtZW50LnNyYyA9ICJodHRwOi8vbG9jYWxob3N0
OjgwMDAvc3RvcmFnZUFjY2Vzcy9yZXNvdXJjZXMvcmVxdWVzdC1zdG9yYWdlLWFjY2Vzcy1pZnJh
bWUuaHRtbCN1c2VyU2hvdWxkR3JhbnRBY2Nlc3MsdXNlclNob3VsZE5vdEJlQ29uc3VsdGVkLHBv
bGljeVNob3VsZERlbnlBY2Nlc3MsaXNOb3RTYW1lT3JpZ2luSWZyYW1lIjsKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGlmcmFtZUVsZW1lbnQp
OwotICAgICAgICAgICAgICAgICAgICAgICAgfSk7Ci0gICAgICAgICAgICAgICAgICAgIH0pOwot
ICAgICAgICAgICAgICAgIH0pOwotICAgICAgICAgICAgfSk7Ci0gICAgICAgIH0KLSAgICA8L3Nj
cmlwdD4KLTwvaGVhZD4KLTxib2R5IG9ubG9hZD0icnVuVGVzdCgpIj4KLTwvYm9keT4KLTwvaHRt
bD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc3RvcmFnZUFjY2Vzcy9yZXF1
ZXN0LXN0b3JhZ2UtYWNjZXNzLWNyb3NzLW9yaWdpbi1zYW5kYm94ZWQtaWZyYW1lLXdpdGhvdXQt
dXNlci1nZXN0dXJlLWRhdGFiYXNlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvdGVz
dHMvc3RvcmFnZUFjY2Vzcy9yZXF1ZXN0LXN0b3JhZ2UtYWNjZXNzLWNyb3NzLW9yaWdpbi1zYW5k
Ym94ZWQtaWZyYW1lLXdpdGhvdXQtdXNlci1nZXN0dXJlLWRhdGFiYXNlLWV4cGVjdGVkLnR4dApk
ZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMzZjNTI0YWMzODRlNTExYWVkMjA4NmIyNjI1
YTk3ZTIxOTFhYjc3My4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAot
LS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3N0b3JhZ2VBY2Nlc3MvcmVxdWVzdC1zdG9yYWdl
LWFjY2Vzcy1jcm9zcy1vcmlnaW4tc2FuZGJveGVkLWlmcmFtZS13aXRob3V0LXVzZXItZ2VzdHVy
ZS1kYXRhYmFzZS1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSwxMCArMCwwIEBACi1U
ZXN0cyB0aGF0IGNyb3NzLW9yaWdpbiBpZnJhbWUgc3RvcmFnZSBhY2Nlc3MgaXMgZGVuaWVkIGlm
IHRoZSBpZnJhbWUgaXMgc2FuZGJveGVkLCBoYXMgdGhlIGFsbG93IHRva2VuLCBidXQgY2FsbHMg
dGhlIEFQSSB3aXRob3V0IGEgdXNlciBnZXN0dXJlIGJlaW5nIHByb2Nlc3NlZC4KLQotT24gc3Vj
Y2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQg
YnkgIlRFU1QgQ09NUExFVEUiLgotCi0KLVBBU1MgU3RvcmFnZSBhY2Nlc3Mgd2FzIGRlbmllZC4K
LVBBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKLQotVEVTVCBDT01QTEVURQotCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3N0b3JhZ2VBY2Nlc3MvcmVxdWVzdC1zdG9y
YWdlLWFjY2Vzcy1jcm9zcy1vcmlnaW4tc2FuZGJveGVkLWlmcmFtZS13aXRob3V0LXVzZXItZ2Vz
dHVyZS1kYXRhYmFzZS5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zdG9yYWdlQWNjZXNz
L3JlcXVlc3Qtc3RvcmFnZS1hY2Nlc3MtY3Jvc3Mtb3JpZ2luLXNhbmRib3hlZC1pZnJhbWUtd2l0
aG91dC11c2VyLWdlc3R1cmUtZGF0YWJhc2UuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggM2MzMGZlMmRmY2QxODBhNmIxMGY2ZTNiYjc0OTU5MDVmMTcyOGI2Yi4uMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rl
c3RzL3N0b3JhZ2VBY2Nlc3MvcmVxdWVzdC1zdG9yYWdlLWFjY2Vzcy1jcm9zcy1vcmlnaW4tc2Fu
ZGJveGVkLWlmcmFtZS13aXRob3V0LXVzZXItZ2VzdHVyZS1kYXRhYmFzZS5odG1sCisrKyAvZGV2
L251bGwKQEAgLTEsNTEgKzAsMCBAQAotPCFET0NUWVBFIGh0bWw+Ci08aHRtbD4KLTxoZWFkPgot
ICAgIDxzY3JpcHQgc3JjPSIvanMtdGVzdC1yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+
Ci0gICAgPHNjcmlwdCBzcmM9Ii9qcy10ZXN0LXJlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2Ny
aXB0PgotICAgIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9yZXNvdXJjZXMv
dXRpbC5qcyI+PC9zY3JpcHQ+Ci0gICAgPHNjcmlwdD4KLSAgICAgICAgZGVzY3JpcHRpb24oIlRl
c3RzIHRoYXQgY3Jvc3Mtb3JpZ2luIGlmcmFtZSBzdG9yYWdlIGFjY2VzcyBpcyBkZW5pZWQgaWYg
dGhlIGlmcmFtZSBpcyBzYW5kYm94ZWQsIGhhcyB0aGUgYWxsb3cgdG9rZW4sIGJ1dCBjYWxscyB0
aGUgQVBJIHdpdGhvdXQgYSB1c2VyIGdlc3R1cmUgYmVpbmcgcHJvY2Vzc2VkLiIpOwotICAgICAg
ICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKLQotICAgICAgICBjb25zdCBob3N0VW5kZXJUZXN0ID0g
ImxvY2FsaG9zdDo4MDAwIjsKLSAgICAgICAgY29uc3Qgc3RhdGlzdGljc1VybCA9ICJodHRwOi8v
IiArIGhvc3RVbmRlclRlc3QgKyAiL3RlbXAiOwotCi0gICAgICAgIHdpbmRvdy5hZGRFdmVudExp
c3RlbmVyKCJtZXNzYWdlIiwgcmVjZWl2ZU1lc3NhZ2UsIGZhbHNlKTsKLQotICAgICAgICBmdW5j
dGlvbiByZWNlaXZlTWVzc2FnZShldmVudCkgewotICAgICAgICAgICAgaWYgKGV2ZW50Lm9yaWdp
biA9PT0gImh0dHA6Ly9sb2NhbGhvc3Q6ODAwMCIpIHsKLSAgICAgICAgICAgICAgICBpZiAoZXZl
bnQuZGF0YS5pbmRleE9mKCJQQVNTIikgIT09IC0xKQotICAgICAgICAgICAgICAgICAgICB0ZXN0
UGFzc2VkKGV2ZW50LmRhdGEucmVwbGFjZSgiUEFTUyAiLCAiIikpOwotICAgICAgICAgICAgICAg
IGVsc2UKLSAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChldmVudC5kYXRhLnJlcGxhY2Uo
IkZBSUwgIiwgIiIpKTsKLSAgICAgICAgICAgIH0gZWxzZQotICAgICAgICAgICAgICAgIHRlc3RG
YWlsZWQoIlJlY2VpdmVkIGEgbWVzc2FnZSBmcm9tIGFuIHVuZXhwZWN0ZWQgb3JpZ2luOiAiICsg
ZXZlbnQub3JpZ2luKTsKLSAgICAgICAgICAgIHNldEVuYWJsZUZlYXR1cmUoZmFsc2UsIGZpbmlz
aEpTVGVzdCk7Ci0gICAgICAgIH0KLQotICAgICAgICBmdW5jdGlvbiBydW5UZXN0KCkgewotICAg
ICAgICAgICAgdGVzdFJ1bm5lci5zZXRVc2VJVFBEYXRhYmFzZSh0cnVlKTsKLSAgICAgICAgICAg
IHNldEVuYWJsZUZlYXR1cmUodHJ1ZSwgZnVuY3Rpb24oKSB7Ci0gICAgICAgICAgICAgICAgdGVz
dFJ1bm5lci5zZXRTdGF0aXN0aWNzUHJldmFsZW50UmVzb3VyY2Uoc3RhdGlzdGljc1VybCwgdHJ1
ZSwgZnVuY3Rpb24oKSB7Ci0gICAgICAgICAgICAgICAgICAgIGlmICghdGVzdFJ1bm5lci5pc1N0
YXRpc3RpY3NQcmV2YWxlbnRSZXNvdXJjZShzdGF0aXN0aWNzVXJsKSkKLSAgICAgICAgICAgICAg
ICAgICAgICAgIHRlc3RGYWlsZWQoIkhvc3QgZGlkIG5vdCBnZXQgc2V0IGFzIHByZXZhbGVudCBy
ZXNvdXJjZS4iKTsKLSAgICAgICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNz
SGFzSGFkVXNlckludGVyYWN0aW9uKHN0YXRpc3RpY3NVcmwsIHRydWUsIGZ1bmN0aW9uKCkgewot
ICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCF0ZXN0UnVubmVyLmlzU3RhdGlzdGljc0hhc0hh
ZFVzZXJJbnRlcmFjdGlvbihzdGF0aXN0aWNzVXJsKSkKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICB0ZXN0RmFpbGVkKCJIb3N0IGRpZCBub3QgZ2V0IGxvZ2dlZCBmb3IgdXNlciBpbnRlcmFj
dGlvbi4iKTsKLSAgICAgICAgICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIuc3RhdGlzdGljc1Vw
ZGF0ZUNvb2tpZUJsb2NraW5nKGZ1bmN0aW9uKCkgewotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGxldCBpZnJhbWVFbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiaWZyYW1lIik7
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWZyYW1lRWxlbWVudC5zZXRBdHRyaWJ1dGUo
InNhbmRib3giLCAiYWxsb3ctc3RvcmFnZS1hY2Nlc3MtYnktdXNlci1hY3RpdmF0aW9uIGFsbG93
LXNjcmlwdHMgYWxsb3ctc2FtZS1vcmlnaW4gYWxsb3ctbW9kYWxzIik7Ci0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgaWZyYW1lRWxlbWVudC5pZCA9ICJUaGVJZnJhbWVUaGF0UmVxdWVzdHNT
dG9yYWdlQWNjZXNzIjsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZnJhbWVFbGVtZW50
LnNyYyA9ICJodHRwOi8vbG9jYWxob3N0OjgwMDAvc3RvcmFnZUFjY2Vzcy9yZXNvdXJjZXMvcmVx
dWVzdC1zdG9yYWdlLWFjY2Vzcy13aXRob3V0LXVzZXItZ2VzdHVyZS1pZnJhbWUuaHRtbCN1c2Vy
U2hvdWxkR3JhbnRBY2Nlc3MsdXNlclNob3VsZE5vdEJlQ29uc3VsdGVkLHBvbGljeVNob3VsZE5v
dEdyYW50QWNjZXNzLGlzTm90U2FtZU9yaWdpbklmcmFtZSI7Ci0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChpZnJhbWVFbGVtZW50KTsKLSAgICAg
ICAgICAgICAgICAgICAgICAgIH0pOwotICAgICAgICAgICAgICAgICAgICB9KTsKLSAgICAgICAg
ICAgICAgICB9KTsKLSAgICAgICAgICAgIH0pOwotICAgICAgICB9Ci0gICAgPC9zY3JpcHQ+Ci08
L2hlYWQ+Ci08Ym9keSBvbmxvYWQ9InJ1blRlc3QoKSI+Ci08L2JvZHk+Ci08L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3N0b3JhZ2VBY2Nlc3MvcmVxdWVzdC1zdG9y
YWdlLWFjY2Vzcy1zYW1lLW9yaWdpbi1pZnJhbWUtZGF0YWJhc2UtZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy9zdG9yYWdlQWNjZXNzL3JlcXVlc3Qtc3RvcmFnZS1hY2Nlc3Mt
c2FtZS1vcmlnaW4taWZyYW1lLWRhdGFiYXNlLWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggZGU0ZGE4NjYyZjk2OGQ3YTNlNjVlNTJiNTI2OWQwZGJmZDdkMDc4NS4u
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL3N0b3JhZ2VBY2Nlc3MvcmVxdWVzdC1zdG9yYWdlLWFjY2Vzcy1zYW1lLW9y
aWdpbi1pZnJhbWUtZGF0YWJhc2UtZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEsMTAg
KzAsMCBAQAotVGVzdHMgdGhhdCBzYW1lLW9yaWdpbiBpZnJhbWUgc3RvcmFnZSBhY2Nlc3MgaXMg
Z3JhbnRlZCBpZiB0aGUgaWZyYW1lIGlzIG5vdCBzYW5kYm94ZWQuCi0KLU9uIHN1Y2Nlc3MsIHlv
dSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNU
IENPTVBMRVRFIi4KLQotCi1QQVNTIFN0b3JhZ2UgYWNjZXNzIHdhcyBncmFudGVkLiBkb2N1bWVu
dC5jb29raWUgPT0gLCBjb29raWVzIHNlZW4gc2VydmVyLXNpZGUgPT0gIk5vIGNvb2tpZXMiCi1Q
QVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCi0KLVRFU1QgQ09NUExFVEUKLQpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zdG9yYWdlQWNjZXNzL3JlcXVlc3Qtc3RvcmFn
ZS1hY2Nlc3Mtc2FtZS1vcmlnaW4taWZyYW1lLWRhdGFiYXNlLmh0bWwgYi9MYXlvdXRUZXN0cy9o
dHRwL3Rlc3RzL3N0b3JhZ2VBY2Nlc3MvcmVxdWVzdC1zdG9yYWdlLWFjY2Vzcy1zYW1lLW9yaWdp
bi1pZnJhbWUtZGF0YWJhc2UuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNTg4
MGI1Yzg1YTIzNDZiZGEzYjYyOTQzYmE4YzUzNDMxN2FhMzIzNi4uMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3N0b3Jh
Z2VBY2Nlc3MvcmVxdWVzdC1zdG9yYWdlLWFjY2Vzcy1zYW1lLW9yaWdpbi1pZnJhbWUtZGF0YWJh
c2UuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDU1ICswLDAgQEAKLTwhRE9DVFlQRSBodG1sPgot
PGh0bWw+Ci08aGVhZD4KLSAgICA8c2NyaXB0IHNyYz0iL2pzLXRlc3QtcmVzb3VyY2VzL2pzLXRl
c3QuanMiPjwvc2NyaXB0PgotICAgIDxzY3JpcHQgc3JjPSIvanMtdGVzdC1yZXNvdXJjZXMvdWkt
aGVscGVyLmpzIj48L3NjcmlwdD4KLSAgICA8c2NyaXB0IHNyYz0iL3Jlc291cmNlTG9hZFN0YXRp
c3RpY3MvcmVzb3VyY2VzL3V0aWwuanMiPjwvc2NyaXB0PgotICAgIDxzY3JpcHQ+Ci0gICAgICAg
IGRlc2NyaXB0aW9uKCJUZXN0cyB0aGF0IHNhbWUtb3JpZ2luIGlmcmFtZSBzdG9yYWdlIGFjY2Vz
cyBpcyBncmFudGVkIGlmIHRoZSBpZnJhbWUgaXMgbm90IHNhbmRib3hlZC4iKTsKLSAgICAgICAg
anNUZXN0SXNBc3luYyA9IHRydWU7Ci0KLSAgICAgICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIo
Im1lc3NhZ2UiLCByZWNlaXZlTWVzc2FnZSwgZmFsc2UpOwotCi0gICAgICAgIGZ1bmN0aW9uIHJl
Y2VpdmVNZXNzYWdlKGV2ZW50KSB7Ci0gICAgICAgICAgICBpZiAoZXZlbnQub3JpZ2luID09PSAi
aHR0cDovLzEyNy4wLjAuMTo4MDAwIikgewotICAgICAgICAgICAgICAgIGlmIChldmVudC5kYXRh
LmluZGV4T2YoIlBBU1MiKSAhPT0gLTEpCi0gICAgICAgICAgICAgICAgICAgIHRlc3RQYXNzZWQo
ZXZlbnQuZGF0YS5yZXBsYWNlKCJQQVNTICIsICIiKSk7Ci0gICAgICAgICAgICAgICAgZWxzZQot
ICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGV2ZW50LmRhdGEucmVwbGFjZSgiRkFJTCAi
LCAiIikpOwotICAgICAgICAgICAgfSBlbHNlCi0gICAgICAgICAgICAgICAgdGVzdEZhaWxlZCgi
UmVjZWl2ZWQgYSBtZXNzYWdlIGZyb20gYW4gdW5leHBlY3RlZCBvcmlnaW46ICIgKyBldmVudC5v
cmlnaW4pOwotICAgICAgICAgICAgc2V0RW5hYmxlRmVhdHVyZShmYWxzZSwgZmluaXNoSlNUZXN0
KTsKLSAgICAgICAgfQotCi0gICAgICAgIGZ1bmN0aW9uIGFjdGl2YXRlRWxlbWVudChlbGVtZW50
SWQpIHsKLSAgICAgICAgICAgIHZhciBlbGVtZW50ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ZWxlbWVudElkKTsKLSAgICAgICAgICAgIHZhciBjZW50ZXJYID0gZWxlbWVudC5vZmZzZXRMZWZ0
ICsgZWxlbWVudC5vZmZzZXRXaWR0aCAvIDI7Ci0gICAgICAgICAgICB2YXIgY2VudGVyWSA9IGVs
ZW1lbnQub2Zmc2V0VG9wICsgZWxlbWVudC5vZmZzZXRIZWlnaHQgLyAyOwotICAgICAgICAgICAg
VUlIZWxwZXIuYWN0aXZhdGVBdChjZW50ZXJYLCBjZW50ZXJZKS50aGVuKAotICAgICAgICAgICAg
ICAgIGZ1bmN0aW9uICgpIHsKLSAgICAgICAgICAgICAgICAgICAgaWYgKHdpbmRvdy5ldmVudFNl
bmRlcikKLSAgICAgICAgICAgICAgICAgICAgICAgIGV2ZW50U2VuZGVyLmtleURvd24oImVzY2Fw
ZSIpOwotICAgICAgICAgICAgICAgICAgICBlbHNlIHsKLSAgICAgICAgICAgICAgICAgICAgICAg
IHRlc3RGYWlsZWQoIk5vIGV2ZW50U2VuZGVyLiIpOwotICAgICAgICAgICAgICAgICAgICAgICAg
c2V0RW5hYmxlRmVhdHVyZShmYWxzZSwgZmluaXNoSlNUZXN0KTsKLSAgICAgICAgICAgICAgICAg
ICAgfQotICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgZnVuY3Rpb24gKCkgewot
ICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKCJQcm9taXNlIHJlamVjdGVkLiIpOwotICAg
ICAgICAgICAgICAgICAgICBzZXRFbmFibGVGZWF0dXJlKGZhbHNlLCBmaW5pc2hKU1Rlc3QpOwot
ICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICk7Ci0gICAgICAgIH0KLQotICAgICAgICBm
dW5jdGlvbiBydW5UZXN0KCkgewotICAgICAgICAgICAgdGVzdFJ1bm5lci5zZXRVc2VJVFBEYXRh
YmFzZSh0cnVlKTsKLSAgICAgICAgICAgIHNldEVuYWJsZUZlYXR1cmUodHJ1ZSwgZnVuY3Rpb24o
KSB7Ci0gICAgICAgICAgICAgICAgYWN0aXZhdGVFbGVtZW50KCJUaGVJZnJhbWVUaGF0UmVxdWVz
dHNTdG9yYWdlQWNjZXNzIik7Ci0gICAgICAgICAgICB9KTsKLSAgICAgICAgfQotICAgIDwvc2Ny
aXB0PgotPC9oZWFkPgotPGJvZHk+Ci0gICAgPGlmcmFtZSBvbmxvYWQ9InJ1blRlc3QoKSIgaWQ9
IlRoZUlmcmFtZVRoYXRSZXF1ZXN0c1N0b3JhZ2VBY2Nlc3MiIHNyYz0iaHR0cDovLzEyNy4wLjAu
MTo4MDAwL3N0b3JhZ2VBY2Nlc3MvcmVzb3VyY2VzL3JlcXVlc3Qtc3RvcmFnZS1hY2Nlc3MtaWZy
YW1lLmh0bWwjdXNlclNob3VsZERlbnlBY2Nlc3MsdXNlclNob3VsZE5vdEJlQ29uc3VsdGVkLHBv
bGljeVNob3VsZEdyYW50QWNjZXNzLGlzU2FtZU9yaWdpbklmcmFtZSI+PC9pZnJhbWU+Ci08L2Jv
ZHk+Ci08L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3N0b3JhZ2VB
Y2Nlc3MvcmVxdWVzdC1zdG9yYWdlLWFjY2Vzcy1zYW1lLW9yaWdpbi1zYW5kYm94ZWQtaWZyYW1l
LWRhdGFiYXNlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc3RvcmFnZUFj
Y2Vzcy9yZXF1ZXN0LXN0b3JhZ2UtYWNjZXNzLXNhbWUtb3JpZ2luLXNhbmRib3hlZC1pZnJhbWUt
ZGF0YWJhc2UtZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBjNWIw
ODUwOTI0NjcyM2U3OGYyYTgxYjMxN2VmZWU0YTVlODY3YjIxLi4wMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc3RvcmFn
ZUFjY2Vzcy9yZXF1ZXN0LXN0b3JhZ2UtYWNjZXNzLXNhbWUtb3JpZ2luLXNhbmRib3hlZC1pZnJh
bWUtZGF0YWJhc2UtZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEsMTAgKzAsMCBAQAot
VGVzdHMgdGhhdCBzYW1lLW9yaWdpbiBpZnJhbWUgc3RvcmFnZSBhY2Nlc3MgaXMgZ3JhbnRlZCBp
ZiB0aGUgaWZyYW1lIGlzIHNhbmRib3hlZCBhbmQgaGFzIHRoZSBhbGxvdyB0b2tlbi4KLQotT24g
c3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93
ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgotCi0KLVBBU1MgU3RvcmFnZSBhY2Nlc3Mgd2FzIGdyYW50
ZWQuIGRvY3VtZW50LmNvb2tpZSA9PSAsIGNvb2tpZXMgc2VlbiBzZXJ2ZXItc2lkZSA9PSAiTm8g
Y29va2llcyIKLVBBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKLQotVEVTVCBDT01QTEVU
RQotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3N0b3JhZ2VBY2Nlc3MvcmVx
dWVzdC1zdG9yYWdlLWFjY2Vzcy1zYW1lLW9yaWdpbi1zYW5kYm94ZWQtaWZyYW1lLWRhdGFiYXNl
Lmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3N0b3JhZ2VBY2Nlc3MvcmVxdWVzdC1zdG9y
YWdlLWFjY2Vzcy1zYW1lLW9yaWdpbi1zYW5kYm94ZWQtaWZyYW1lLWRhdGFiYXNlLmh0bWwKZGVs
ZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDYyYjE3MTVmZmIxYWRjMGJjNjA3MTYwYjgxMmZj
YmViNWEzYTZiNTMuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0t
IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zdG9yYWdlQWNjZXNzL3JlcXVlc3Qtc3RvcmFnZS1h
Y2Nlc3Mtc2FtZS1vcmlnaW4tc2FuZGJveGVkLWlmcmFtZS1kYXRhYmFzZS5odG1sCisrKyAvZGV2
L251bGwKQEAgLTEsNTUgKzAsMCBAQAotPCFET0NUWVBFIGh0bWw+Ci08aHRtbD4KLTxoZWFkPgot
ICAgIDxzY3JpcHQgc3JjPSIvanMtdGVzdC1yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+
Ci0gICAgPHNjcmlwdCBzcmM9Ii9qcy10ZXN0LXJlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2Ny
aXB0PgotICAgIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9yZXNvdXJjZXMv
dXRpbC5qcyI+PC9zY3JpcHQ+Ci0gICAgPHNjcmlwdD4KLSAgICAgICAgZGVzY3JpcHRpb24oIlRl
c3RzIHRoYXQgc2FtZS1vcmlnaW4gaWZyYW1lIHN0b3JhZ2UgYWNjZXNzIGlzIGdyYW50ZWQgaWYg
dGhlIGlmcmFtZSBpcyBzYW5kYm94ZWQgYW5kIGhhcyB0aGUgYWxsb3cgdG9rZW4uIik7Ci0gICAg
ICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOwotCi0gICAgICAgIHdpbmRvdy5hZGRFdmVudExpc3Rl
bmVyKCJtZXNzYWdlIiwgcmVjZWl2ZU1lc3NhZ2UsIGZhbHNlKTsKLQotICAgICAgICBmdW5jdGlv
biByZWNlaXZlTWVzc2FnZShldmVudCkgewotICAgICAgICAgICAgaWYgKGV2ZW50Lm9yaWdpbiA9
PT0gImh0dHA6Ly8xMjcuMC4wLjE6ODAwMCIpIHsKLSAgICAgICAgICAgICAgICBpZiAoZXZlbnQu
ZGF0YS5pbmRleE9mKCJQQVNTIikgIT09IC0xKQotICAgICAgICAgICAgICAgICAgICB0ZXN0UGFz
c2VkKGV2ZW50LmRhdGEucmVwbGFjZSgiUEFTUyAiLCAiIikpOwotICAgICAgICAgICAgICAgIGVs
c2UKLSAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChldmVudC5kYXRhLnJlcGxhY2UoIkZB
SUwgIiwgIiIpKTsKLSAgICAgICAgICAgIH0gZWxzZQotICAgICAgICAgICAgICAgIHRlc3RGYWls
ZWQoIlJlY2VpdmVkIGEgbWVzc2FnZSBmcm9tIGFuIHVuZXhwZWN0ZWQgb3JpZ2luOiAiICsgZXZl
bnQub3JpZ2luKTsKLSAgICAgICAgICAgIHNldEVuYWJsZUZlYXR1cmUoZmFsc2UsIGZpbmlzaEpT
VGVzdCk7Ci0gICAgICAgIH0KLQotICAgICAgICBmdW5jdGlvbiBhY3RpdmF0ZUVsZW1lbnQoZWxl
bWVudElkKSB7Ci0gICAgICAgICAgICB2YXIgZWxlbWVudCA9IGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKGVsZW1lbnRJZCk7Ci0gICAgICAgICAgICB2YXIgY2VudGVyWCA9IGVsZW1lbnQub2Zmc2V0
TGVmdCArIGVsZW1lbnQub2Zmc2V0V2lkdGggLyAyOwotICAgICAgICAgICAgdmFyIGNlbnRlclkg
PSBlbGVtZW50Lm9mZnNldFRvcCArIGVsZW1lbnQub2Zmc2V0SGVpZ2h0IC8gMjsKLSAgICAgICAg
ICAgIFVJSGVscGVyLmFjdGl2YXRlQXQoY2VudGVyWCwgY2VudGVyWSkudGhlbigKLSAgICAgICAg
ICAgICAgICBmdW5jdGlvbiAoKSB7Ci0gICAgICAgICAgICAgICAgICAgIGlmICh3aW5kb3cuZXZl
bnRTZW5kZXIpCi0gICAgICAgICAgICAgICAgICAgICAgICBldmVudFNlbmRlci5rZXlEb3duKCJl
c2NhcGUiKTsKLSAgICAgICAgICAgICAgICAgICAgZWxzZSB7Ci0gICAgICAgICAgICAgICAgICAg
ICAgICB0ZXN0RmFpbGVkKCJObyBldmVudFNlbmRlci4iKTsKLSAgICAgICAgICAgICAgICAgICAg
ICAgIHNldEVuYWJsZUZlYXR1cmUoZmFsc2UsIGZpbmlzaEpTVGVzdCk7Ci0gICAgICAgICAgICAg
ICAgICAgIH0KLSAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgIGZ1bmN0aW9uICgp
IHsKLSAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZCgiUHJvbWlzZSByZWplY3RlZC4iKTsK
LSAgICAgICAgICAgICAgICAgICAgc2V0RW5hYmxlRmVhdHVyZShmYWxzZSwgZmluaXNoSlNUZXN0
KTsKLSAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICApOwotICAgICAgICB9Ci0KLSAgICAg
ICAgZnVuY3Rpb24gcnVuVGVzdCgpIHsKLSAgICAgICAgICAgIHRlc3RSdW5uZXIuc2V0VXNlSVRQ
RGF0YWJhc2UodHJ1ZSk7Ci0gICAgICAgICAgICBzZXRFbmFibGVGZWF0dXJlKHRydWUsIGZ1bmN0
aW9uKCkgewotICAgICAgICAgICAgICAgIGFjdGl2YXRlRWxlbWVudCgiVGhlSWZyYW1lVGhhdFJl
cXVlc3RzU3RvcmFnZUFjY2VzcyIpOwotICAgICAgICAgICAgfSk7Ci0gICAgICAgIH0KLSAgICA8
L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5PgotICAgIDxpZnJhbWUgc2FuZGJveD0iYWxsb3ctc3Rv
cmFnZS1hY2Nlc3MtYnktdXNlci1hY3RpdmF0aW9uIGFsbG93LXNjcmlwdHMgYWxsb3ctc2FtZS1v
cmlnaW4gYWxsb3ctbW9kYWxzIiBvbmxvYWQ9InJ1blRlc3QoKSIgaWQ9IlRoZUlmcmFtZVRoYXRS
ZXF1ZXN0c1N0b3JhZ2VBY2Nlc3MiIHNyYz0iaHR0cDovLzEyNy4wLjAuMTo4MDAwL3N0b3JhZ2VB
Y2Nlc3MvcmVzb3VyY2VzL3JlcXVlc3Qtc3RvcmFnZS1hY2Nlc3MtaWZyYW1lLmh0bWwjdXNlclNo
b3VsZERlbnlBY2Nlc3MsdXNlclNob3VsZE5vdEJlQ29uc3VsdGVkLHBvbGljeVNob3VsZEdyYW50
QWNjZXNzLGlzU2FtZU9yaWdpbklmcmFtZSI+PC9pZnJhbWU+Ci08L2JvZHk+Ci08L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3N0b3JhZ2VBY2Nlc3MvcmVxdWVzdC1z
dG9yYWdlLWFjY2Vzcy1zYW1lLW9yaWdpbi1zYW5kYm94ZWQtaWZyYW1lLXdpdGhvdXQtYWxsb3ct
dG9rZW4tZGF0YWJhc2UtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zdG9y
YWdlQWNjZXNzL3JlcXVlc3Qtc3RvcmFnZS1hY2Nlc3Mtc2FtZS1vcmlnaW4tc2FuZGJveGVkLWlm
cmFtZS13aXRob3V0LWFsbG93LXRva2VuLWRhdGFiYXNlLWV4cGVjdGVkLnR4dApkZWxldGVkIGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggYzFmMTBlMjNkYWVjYjllMWYyNTU4NDQwZDAzMjRiYTQyZDVj
Mjg1Zi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL3N0b3JhZ2VBY2Nlc3MvcmVxdWVzdC1zdG9yYWdlLWFjY2Vzcy1z
YW1lLW9yaWdpbi1zYW5kYm94ZWQtaWZyYW1lLXdpdGhvdXQtYWxsb3ctdG9rZW4tZGF0YWJhc2Ut
ZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEsMTAgKzAsMCBAQAotVGVzdHMgdGhhdCBz
YW1lLW9yaWdpbiBpZnJhbWUgc3RvcmFnZSBhY2Nlc3MgaXMgZ3JhbnRlZCBpZiB0aGUgaWZyYW1l
IGlzIHNhbmRib3hlZCBidXQgZG9lc24ndCBoYXZlIHRoZSBhbGxvdyB0b2tlbi4KLQotT24gc3Vj
Y2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQg
YnkgIlRFU1QgQ09NUExFVEUiLgotCi0KLVBBU1MgU3RvcmFnZSBhY2Nlc3Mgd2FzIGdyYW50ZWQu
IGRvY3VtZW50LmNvb2tpZSA9PSAsIGNvb2tpZXMgc2VlbiBzZXJ2ZXItc2lkZSA9PSAiTm8gY29v
a2llcyIKLVBBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKLQotVEVTVCBDT01QTEVURQot
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3N0b3JhZ2VBY2Nlc3MvcmVxdWVz
dC1zdG9yYWdlLWFjY2Vzcy1zYW1lLW9yaWdpbi1zYW5kYm94ZWQtaWZyYW1lLXdpdGhvdXQtYWxs
b3ctdG9rZW4tZGF0YWJhc2UuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc3RvcmFnZUFj
Y2Vzcy9yZXF1ZXN0LXN0b3JhZ2UtYWNjZXNzLXNhbWUtb3JpZ2luLXNhbmRib3hlZC1pZnJhbWUt
d2l0aG91dC1hbGxvdy10b2tlbi1kYXRhYmFzZS5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCBhZjY5M2VkM2U4YzllMzQxOTI4MTQ4NDA3MDhmMDFmMTJlZWU1MGRjLi4wMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2h0dHAv
dGVzdHMvc3RvcmFnZUFjY2Vzcy9yZXF1ZXN0LXN0b3JhZ2UtYWNjZXNzLXNhbWUtb3JpZ2luLXNh
bmRib3hlZC1pZnJhbWUtd2l0aG91dC1hbGxvdy10b2tlbi1kYXRhYmFzZS5odG1sCisrKyAvZGV2
L251bGwKQEAgLTEsNzQgKzAsMCBAQAotPCFET0NUWVBFIGh0bWw+Ci08aHRtbD4KLTxoZWFkPgot
ICAgIDxzY3JpcHQgc3JjPSIvanMtdGVzdC1yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+
Ci0gICAgPHNjcmlwdCBzcmM9Ii9qcy10ZXN0LXJlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2Ny
aXB0PgotICAgIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9yZXNvdXJjZXMv
dXRpbC5qcyI+PC9zY3JpcHQ+Ci0gICAgPHNjcmlwdD4KLSAgICAgICAgZGVzY3JpcHRpb24oIlRl
c3RzIHRoYXQgc2FtZS1vcmlnaW4gaWZyYW1lIHN0b3JhZ2UgYWNjZXNzIGlzIGdyYW50ZWQgaWYg
dGhlIGlmcmFtZSBpcyBzYW5kYm94ZWQgYnV0IGRvZXNuJ3QgaGF2ZSB0aGUgYWxsb3cgdG9rZW4u
Iik7Ci0gICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOwotCi0gICAgICAgIGNvbnN0IGhvc3RV
bmRlclRlc3QgPSAibG9jYWxob3N0OjgwMDAiOwotICAgICAgICBjb25zdCBzdGF0aXN0aWNzVXJs
ID0gImh0dHA6Ly8iICsgaG9zdFVuZGVyVGVzdCArICIvdGVtcCI7Ci0KLSAgICAgICAgd2luZG93
LmFkZEV2ZW50TGlzdGVuZXIoIm1lc3NhZ2UiLCByZWNlaXZlTWVzc2FnZSwgZmFsc2UpOwotCi0g
ICAgICAgIGZ1bmN0aW9uIHJlY2VpdmVNZXNzYWdlKGV2ZW50KSB7Ci0gICAgICAgICAgICBpZiAo
ZXZlbnQub3JpZ2luID09PSAiaHR0cDovLzEyNy4wLjAuMTo4MDAwIikgewotICAgICAgICAgICAg
ICAgIGlmIChldmVudC5kYXRhLmluZGV4T2YoIlBBU1MiKSAhPT0gLTEpCi0gICAgICAgICAgICAg
ICAgICAgIHRlc3RQYXNzZWQoZXZlbnQuZGF0YS5yZXBsYWNlKCJQQVNTICIsICIiKSk7Ci0gICAg
ICAgICAgICAgICAgZWxzZQotICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGV2ZW50LmRh
dGEucmVwbGFjZSgiRkFJTCAiLCAiIikpOwotICAgICAgICAgICAgfSBlbHNlCi0gICAgICAgICAg
ICAgICAgdGVzdEZhaWxlZCgiUmVjZWl2ZWQgYSBtZXNzYWdlIGZyb20gYW4gdW5leHBlY3RlZCBv
cmlnaW46ICIgKyBldmVudC5vcmlnaW4pOwotICAgICAgICAgICAgc2V0RW5hYmxlRmVhdHVyZShm
YWxzZSwgZmluaXNoSlNUZXN0KTsKLSAgICAgICAgfQotCi0gICAgICAgIGZ1bmN0aW9uIGFjdGl2
YXRlRWxlbWVudChlbGVtZW50SWQpIHsKLSAgICAgICAgICAgIHZhciBlbGVtZW50ID0gZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoZWxlbWVudElkKTsKLSAgICAgICAgICAgIHZhciBjZW50ZXJYID0g
ZWxlbWVudC5vZmZzZXRMZWZ0ICsgZWxlbWVudC5vZmZzZXRXaWR0aCAvIDI7Ci0gICAgICAgICAg
ICB2YXIgY2VudGVyWSA9IGVsZW1lbnQub2Zmc2V0VG9wICsgZWxlbWVudC5vZmZzZXRIZWlnaHQg
LyAyOwotICAgICAgICAgICAgVUlIZWxwZXIuYWN0aXZhdGVBdChjZW50ZXJYLCBjZW50ZXJZKS50
aGVuKAotICAgICAgICAgICAgICAgIGZ1bmN0aW9uICgpIHsKLSAgICAgICAgICAgICAgICAgICAg
aWYgKHdpbmRvdy5ldmVudFNlbmRlcikKLSAgICAgICAgICAgICAgICAgICAgICAgIGV2ZW50U2Vu
ZGVyLmtleURvd24oImVzY2FwZSIpOwotICAgICAgICAgICAgICAgICAgICBlbHNlIHsKLSAgICAg
ICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoIk5vIGV2ZW50U2VuZGVyLiIpOwotICAgICAg
ICAgICAgICAgICAgICAgICAgc2V0RW5hYmxlRmVhdHVyZShmYWxzZSwgZmluaXNoSlNUZXN0KTsK
LSAgICAgICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAg
ICAgZnVuY3Rpb24gKCkgewotICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKCJQcm9taXNl
IHJlamVjdGVkLiIpOwotICAgICAgICAgICAgICAgICAgICBzZXRFbmFibGVGZWF0dXJlKGZhbHNl
LCBmaW5pc2hKU1Rlc3QpOwotICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICk7Ci0gICAg
ICAgIH0KLQotICAgICAgICBmdW5jdGlvbiBydW5UZXN0KCkgewotICAgICAgICAgICAgdGVzdFJ1
bm5lci5zZXRVc2VJVFBEYXRhYmFzZSh0cnVlKTsKLSAgICAgICAgICAgIHNldEVuYWJsZUZlYXR1
cmUodHJ1ZSwgZnVuY3Rpb24oKSB7Ci0gICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5zZXRTdGF0
aXN0aWNzUHJldmFsZW50UmVzb3VyY2Uoc3RhdGlzdGljc1VybCwgdHJ1ZSwgZnVuY3Rpb24oKSB7
Ci0gICAgICAgICAgICAgICAgICAgIGlmICghdGVzdFJ1bm5lci5pc1N0YXRpc3RpY3NQcmV2YWxl
bnRSZXNvdXJjZShzdGF0aXN0aWNzVXJsKSkKLSAgICAgICAgICAgICAgICAgICAgICAgIHRlc3RG
YWlsZWQoIkhvc3QgZGlkIG5vdCBnZXQgc2V0IGFzIHByZXZhbGVudCByZXNvdXJjZS4iKTsKLSAg
ICAgICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNzSGFzSGFkVXNlckludGVy
YWN0aW9uKHN0YXRpc3RpY3NVcmwsIHRydWUsIGZ1bmN0aW9uKCkgewotICAgICAgICAgICAgICAg
ICAgICAgICAgaWYgKCF0ZXN0UnVubmVyLmlzU3RhdGlzdGljc0hhc0hhZFVzZXJJbnRlcmFjdGlv
bihzdGF0aXN0aWNzVXJsKSkKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVk
KCJIb3N0IGRpZCBub3QgZ2V0IGxvZ2dlZCBmb3IgdXNlciBpbnRlcmFjdGlvbi4iKTsKLSAgICAg
ICAgICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIuc3RhdGlzdGljc1VwZGF0ZUNvb2tpZUJsb2Nr
aW5nKGZ1bmN0aW9uKCkgewotICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxldCBpZnJhbWVF
bGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiaWZyYW1lIik7Ci0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgaWZyYW1lRWxlbWVudC5zZXRBdHRyaWJ1dGUoInNhbmRib3giLCAiYWxs
b3ctc2NyaXB0cyBhbGxvdy1zYW1lLW9yaWdpbiBhbGxvdy1tb2RhbHMiKTsKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBpZnJhbWVFbGVtZW50Lm9ubG9hZCA9IGZ1bmN0aW9uKCkgewotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhY3RpdmF0ZUVsZW1lbnQoIlRoZUlmcmFtZVRo
YXRSZXF1ZXN0c1N0b3JhZ2VBY2Nlc3MiKTsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICB9
OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmcmFtZUVsZW1lbnQuaWQgPSAiVGhlSWZy
YW1lVGhhdFJlcXVlc3RzU3RvcmFnZUFjY2VzcyI7Ci0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgaWZyYW1lRWxlbWVudC5zcmMgPSAiaHR0cDovLzEyNy4wLjAuMTo4MDAwL3N0b3JhZ2VBY2Nl
c3MvcmVzb3VyY2VzL3JlcXVlc3Qtc3RvcmFnZS1hY2Nlc3MtaWZyYW1lLmh0bWwjdXNlclNob3Vs
ZERlbnlBY2Nlc3MsdXNlclNob3VsZE5vdEJlQ29uc3VsdGVkLHBvbGljeVNob3VsZEdyYW50QWNj
ZXNzLGlzU2FtZU9yaWdpbklmcmFtZSI7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgZG9j
dW1lbnQuYm9keS5hcHBlbmRDaGlsZChpZnJhbWVFbGVtZW50KTsKLSAgICAgICAgICAgICAgICAg
ICAgICAgIH0pOwotICAgICAgICAgICAgICAgICAgICB9KTsKLSAgICAgICAgICAgICAgICB9KTsK
LSAgICAgICAgICAgIH0pOwotICAgICAgICB9Ci0gICAgPC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9k
eSBvbmxvYWQ9InJ1blRlc3QoKSI+Ci08L2JvZHk+Ci08L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL3N0b3JhZ2VBY2Nlc3MvcmVxdWVzdC1zdG9yYWdlLWFjY2Vzcy10
b3AtZnJhbWUtZGF0YWJhc2UtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9z
dG9yYWdlQWNjZXNzL3JlcXVlc3Qtc3RvcmFnZS1hY2Nlc3MtdG9wLWZyYW1lLWRhdGFiYXNlLWV4
cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZjI1YTU5MWU0NzQ2NjI5
MDM2MWZlN2QzNGJiYzZhMTk0ODZhMDZkNS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3N0b3JhZ2VBY2Nlc3MvcmVx
dWVzdC1zdG9yYWdlLWFjY2Vzcy10b3AtZnJhbWUtZGF0YWJhc2UtZXhwZWN0ZWQudHh0CisrKyAv
ZGV2L251bGwKQEAgLTEsMTEgKzAsMCBAQAotVGVzdHMgdGhhdCB0b3AgZnJhbWUgc3RvcmFnZSBh
Y2Nlc3MgaXMgYWx3YXlzIGdyYW50ZWQgaW4gY2FzZSB0aGUgcGFnZSByZXF1ZXN0cyBpdC4KLQot
T24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9s
bG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgotCi0KLVBBU1MgcmVxdWVzdFN0b3JhZ2VBY2Nlc3NS
ZXNvbHZlZCBpcyB0cnVlCi1QQVNTIGhhc1N0b3JhZ2VBY2Nlc3MgaXMgdHJ1ZQotUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQotCi1URVNUIENPTVBMRVRFCi1SZXF1ZXN0IEFjY2Vzcwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zdG9yYWdlQWNjZXNzL3JlcXVlc3Qt
c3RvcmFnZS1hY2Nlc3MtdG9wLWZyYW1lLWRhdGFiYXNlLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL3N0b3JhZ2VBY2Nlc3MvcmVxdWVzdC1zdG9yYWdlLWFjY2Vzcy10b3AtZnJhbWUtZGF0
YWJhc2UuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNjMxODc2N2Y4Y2ZmNmUz
NTgzMWI4NThiZmI4YzY2MGMxMjU5NjM3MS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3N0b3JhZ2VBY2Nlc3MvcmVx
dWVzdC1zdG9yYWdlLWFjY2Vzcy10b3AtZnJhbWUtZGF0YWJhc2UuaHRtbAorKysgL2Rldi9udWxs
CkBAIC0xLDY3ICswLDAgQEAKLTwhRE9DVFlQRSBodG1sPgotPGh0bWw+Ci08Ym9keSBvbmxvYWQ9
InJ1blRlc3QoKSI+Ci08c2NyaXB0IHNyYz0iL2pzLXRlc3QtcmVzb3VyY2VzL2pzLXRlc3QuanMi
Pjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9qcy10ZXN0LXJlc291cmNlcy91aS1oZWxwZXIuanMi
Pjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3Jlc291cmNl
cy91dGlsLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQ+Ci0gICAgZGVzY3JpcHRpb24oIlRlc3RzIHRo
YXQgdG9wIGZyYW1lIHN0b3JhZ2UgYWNjZXNzIGlzIGFsd2F5cyBncmFudGVkIGluIGNhc2UgdGhl
IHBhZ2UgcmVxdWVzdHMgaXQuIik7Ci0gICAganNUZXN0SXNBc3luYyA9IHRydWU7Ci0KLSAgICBm
dW5jdGlvbiBhY3RpdmF0ZUVsZW1lbnQoZWxlbWVudElkKSB7Ci0gICAgICAgIHZhciBlbGVtZW50
ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoZWxlbWVudElkKTsKLSAgICAgICAgdmFyIGNlbnRl
clggPSBlbGVtZW50Lm9mZnNldExlZnQgKyBlbGVtZW50Lm9mZnNldFdpZHRoIC8gMjsKLSAgICAg
ICAgdmFyIGNlbnRlclkgPSBlbGVtZW50Lm9mZnNldFRvcCArIGVsZW1lbnQub2Zmc2V0SGVpZ2h0
IC8gMjsKLSAgICAgICAgVUlIZWxwZXIuYWN0aXZhdGVBdChjZW50ZXJYLCBjZW50ZXJZKS50aGVu
KAotICAgICAgICAgICAgZnVuY3Rpb24gKCkgewotICAgICAgICAgICAgfSwKLSAgICAgICAgICAg
IGZ1bmN0aW9uICgpIHsKLSAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKCJQcm9taXNlIHJlamVj
dGVkLiIpOwotICAgICAgICAgICAgICAgIHNldEVuYWJsZUZlYXR1cmUoZmFsc2UsIGZpbmlzaEpT
VGVzdCk7Ci0gICAgICAgICAgICB9Ci0gICAgICAgICk7Ci0gICAgfQotCi0gICAgdmFyIGhhc1N0
b3JhZ2VBY2Nlc3M7Ci0gICAgdmFyIHJlcXVlc3RTdG9yYWdlQWNjZXNzUmVzb2x2ZWQ7Ci0KLSAg
ICBmdW5jdGlvbiBtYWtlUmVxdWVzdFdpdGhVc2VyR2VzdHVyZSgpIHsKLSAgICAgICAgc2V0RW5h
YmxlRmVhdHVyZSh0cnVlLCBmdW5jdGlvbigpIHsKLSAgICAgICAgICAgIHZhciBwcm9taXNlID0g
ZG9jdW1lbnQucmVxdWVzdFN0b3JhZ2VBY2Nlc3MoKTsKLSAgICAgICAgICAgIHByb21pc2UudGhl
bigKLSAgICAgICAgICAgICAgICBmdW5jdGlvbiAoKSB7Ci0gICAgICAgICAgICAgICAgICAgIHJl
cXVlc3RTdG9yYWdlQWNjZXNzUmVzb2x2ZWQgPSB0cnVlOwotICAgICAgICAgICAgICAgICAgICBj
b250aW51ZUFmdGVyUmVxdWVzdFdpdGhVc2VyR2VzdHVyZSgpOwotICAgICAgICAgICAgICAgIH0s
Ci0gICAgICAgICAgICAgICAgZnVuY3Rpb24gKCkgewotICAgICAgICAgICAgICAgICAgICByZXF1
ZXN0U3RvcmFnZUFjY2Vzc1Jlc29sdmVkID0gZmFsc2U7Ci0gICAgICAgICAgICAgICAgICAgIGNv
bnRpbnVlQWZ0ZXJSZXF1ZXN0V2l0aFVzZXJHZXN0dXJlKCk7Ci0gICAgICAgICAgICAgICAgfQot
ICAgICAgICAgICAgKTsKLSAgICAgICAgfSk7Ci0gICAgfQotCi0gICAgZnVuY3Rpb24gY29udGlu
dWVBZnRlclJlcXVlc3RXaXRoVXNlckdlc3R1cmUoKSB7Ci0gICAgICAgIHZhciBwcm9taXNlID0g
ZG9jdW1lbnQuaGFzU3RvcmFnZUFjY2VzcygpOwotICAgICAgICBwcm9taXNlLnRoZW4oCi0gICAg
ICAgICAgICBmdW5jdGlvbiAoaGFzQWNjZXNzKSB7Ci0gICAgICAgICAgICAgICAgaGFzU3RvcmFn
ZUFjY2VzcyA9IGhhc0FjY2VzczsKLSAgICAgICAgICAgICAgICBzaG91bGRCZSgicmVxdWVzdFN0
b3JhZ2VBY2Nlc3NSZXNvbHZlZCIsICJ0cnVlIik7Ci0gICAgICAgICAgICAgICAgc2hvdWxkQmUo
Imhhc1N0b3JhZ2VBY2Nlc3MiLCAidHJ1ZSIpOwotICAgICAgICAgICAgICAgIHNldEVuYWJsZUZl
YXR1cmUoZmFsc2UsIGZpbmlzaEpTVGVzdCk7Ci0gICAgICAgICAgICB9LAotICAgICAgICAgICAg
ZnVuY3Rpb24gKHJlYXNvbikgewotICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoImRvY3VtZW50
Lmhhc1N0b3JhZ2VBY2Nlc3MoKSB3YXMgcmVqZWN0ZWQuIFJlYXNvbjogIiArIHJlYXNvbik7Ci0g
ICAgICAgICAgICAgICAgc2V0RW5hYmxlRmVhdHVyZShmYWxzZSwgZmluaXNoSlNUZXN0KTsKLSAg
ICAgICAgICAgIH0KLSAgICAgICAgKTsKLSAgICB9Ci0KLSAgICBmdW5jdGlvbiBydW5UZXN0KCkg
ewotICAgICAgICB0ZXN0UnVubmVyLnNldFVzZUlUUERhdGFiYXNlKHRydWUpOwotICAgICAgICBh
Y3RpdmF0ZUVsZW1lbnQoInRoZUJ1dHRvbiIpOwotICAgIH0KLTwvc2NyaXB0PgotPGJ1dHRvbiBp
ZD0idGhlQnV0dG9uIiBvbmNsaWNrPSJtYWtlUmVxdWVzdFdpdGhVc2VyR2VzdHVyZSgpIj5SZXF1
ZXN0IEFjY2VzczwvYnV0dG9uPgotPC9ib2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy93ZWJBUElTdGF0aXN0aWNzL2NhbnZhcy1yZWFkLWFuZC13cml0ZS1k
YXRhLWNvbGxlY3Rpb24tZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJB
UElTdGF0aXN0aWNzL2NhbnZhcy1yZWFkLWFuZC13cml0ZS1kYXRhLWNvbGxlY3Rpb24tZXhwZWN0
ZWQudHh0CmluZGV4IDk0OTM2MjI4MzFmMjE2Yjk2OGM4NDY5MDQ1MjdmZTJjODVjM2ZkMmMuLjU2
MDY4MDljN2IyMjYxNzIyZmUyMDU0MTBmYWYzYTQ2Y2QwNjBiMDcgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL2h0dHAvdGVzdHMvd2ViQVBJU3RhdGlzdGljcy9jYW52YXMtcmVhZC1hbmQtd3JpdGUt
ZGF0YS1jb2xsZWN0aW9uLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L3dlYkFQSVN0YXRpc3RpY3MvY2FudmFzLXJlYWQtYW5kLXdyaXRlLWRhdGEtY29sbGVjdGlvbi1l
eHBlY3RlZC50eHQKQEAgLTUsMTYgKzUsNyBAQCBSZWdpc3RyYWJsZSBkb21haW46IDEyNy4wLjAu
MQogICAgIGhhZFVzZXJJbnRlcmFjdGlvbjogTm8KICAgICBtb3N0UmVjZW50VXNlckludGVyYWN0
aW9uOiAtMQogICAgIGdyYW5kZmF0aGVyZWQ6IE5vCi0gICAgZ290TGlua0RlY29yYXRpb25Gcm9t
UHJldmFsZW50UmVzb3VyY2U6IE5vCisgICAgSXNTY2hlZHVsZWRGb3JBbGxCdXRDb29raWVEYXRh
UmVtb3ZhbDogTm8KICAgICBpc1ByZXZhbGVudFJlc291cmNlOiBObwogICAgIGlzVmVyeVByZXZh
bGVudFJlc291cmNlOiBObwogICAgIGRhdGFSZWNvcmRzUmVtb3ZlZDogMAotICAgIGZvbnRzU3Vj
Y2Vzc2Z1bGx5TG9hZGVkOgotICAgICAgICBIZWx2ZXRpY2EKLSAgICAgICAgVGltZXMKLSAgICB0
b3BGcmFtZVJlZ2lzdHJhYmxlRG9tYWluc1doaWNoQWNjZXNzZWRXZWJBUElzOgotICAgICAgICAx
MjcuMC4wLjEKLSAgICBjYW52YXNUZXh0V3JpdHRlbjoKLSAgICAgICAgc3VzcGljaW91cyBpbnZp
c2libGUgdGV4dAotICAgIGNhbnZhc1JlYWREYXRhOiBZZXMKLQpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy93ZWJBUElTdGF0aXN0aWNzL2ZvbnQtbG9hZC1kYXRhLWNvbGxlY3Rp
b24tZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJBUElTdGF0aXN0aWNz
L2ZvbnQtbG9hZC1kYXRhLWNvbGxlY3Rpb24tZXhwZWN0ZWQudHh0CmluZGV4IGFiMTYzYmZjMDc2
YTllZGZkN2NkZWU1ODExZTRlNjlhM2QyOTYwYmEuLjdhNWYxMzBjMDlkNjkzYWM0MDdiOWMzMjIw
NzMwMDVkYTQ3ZjViMTcgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd2ViQVBJ
U3RhdGlzdGljcy9mb250LWxvYWQtZGF0YS1jb2xsZWN0aW9uLWV4cGVjdGVkLnR4dAorKysgYi9M
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYkFQSVN0YXRpc3RpY3MvZm9udC1sb2FkLWRhdGEtY29s
bGVjdGlvbi1leHBlY3RlZC50eHQKQEAgLTcsMTcgKzcsNyBAQCBSZWdpc3RyYWJsZSBkb21haW46
IDEyNy4wLjAuMQogICAgIGhhZFVzZXJJbnRlcmFjdGlvbjogTm8KICAgICBtb3N0UmVjZW50VXNl
ckludGVyYWN0aW9uOiAtMQogICAgIGdyYW5kZmF0aGVyZWQ6IE5vCi0gICAgZ290TGlua0RlY29y
YXRpb25Gcm9tUHJldmFsZW50UmVzb3VyY2U6IE5vCisgICAgSXNTY2hlZHVsZWRGb3JBbGxCdXRD
b29raWVEYXRhUmVtb3ZhbDogTm8KICAgICBpc1ByZXZhbGVudFJlc291cmNlOiBObwogICAgIGlz
VmVyeVByZXZhbGVudFJlc291cmNlOiBObwogICAgIGRhdGFSZWNvcmRzUmVtb3ZlZDogMAotICAg
IGZvbnRzRmFpbGVkVG9Mb2FkOgotICAgICAgICBGcmFuc2lzY2FuCi0gICAgICAgIEFuZGFsZQot
ICAgICAgICBub3RBUmVhbEZvbnQKLSAgICBmb250c1N1Y2Nlc3NmdWxseUxvYWRlZDoKLSAgICAg
ICAgVGltZXMKLSAgICB0b3BGcmFtZVJlZ2lzdHJhYmxlRG9tYWluc1doaWNoQWNjZXNzZWRXZWJB
UElzOgotICAgICAgICAxMjcuMC4wLjEKLSAgICBjYW52YXNSZWFkRGF0YTogTm8KLQpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJBUElTdGF0aXN0aWNzL25hdmlnYXRvci1m
dW5jdGlvbnMtYWNjZXNzZWQtZGF0YS1jb2xsZWN0aW9uLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2h0dHAvdGVzdHMvd2ViQVBJU3RhdGlzdGljcy9uYXZpZ2F0b3ItZnVuY3Rpb25zLWFjY2Vz
c2VkLWRhdGEtY29sbGVjdGlvbi1leHBlY3RlZC50eHQKaW5kZXggODdlYTIyYmM3NmM4Yjc5OWI0
OWQyN2UxNTIzZmJmNmY5ZWU3OGU1Zi4uMDQ2ODQyOWRmZmU0OTUxODE4OTAwMTRiODllYTNkMzNh
MWFhNWEzMyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJBUElTdGF0aXN0
aWNzL25hdmlnYXRvci1mdW5jdGlvbnMtYWNjZXNzZWQtZGF0YS1jb2xsZWN0aW9uLWV4cGVjdGVk
LnR4dAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYkFQSVN0YXRpc3RpY3MvbmF2aWdh
dG9yLWZ1bmN0aW9ucy1hY2Nlc3NlZC1kYXRhLWNvbGxlY3Rpb24tZXhwZWN0ZWQudHh0CkBAIC01
LDIwICs1LDcgQEAgUmVnaXN0cmFibGUgZG9tYWluOiAxMjcuMC4wLjEKICAgICBoYWRVc2VySW50
ZXJhY3Rpb246IE5vCiAgICAgbW9zdFJlY2VudFVzZXJJbnRlcmFjdGlvbjogLTEKICAgICBncmFu
ZGZhdGhlcmVkOiBObwotICAgIGdvdExpbmtEZWNvcmF0aW9uRnJvbVByZXZhbGVudFJlc291cmNl
OiBObworICAgIElzU2NoZWR1bGVkRm9yQWxsQnV0Q29va2llRGF0YVJlbW92YWw6IE5vCiAgICAg
aXNQcmV2YWxlbnRSZXNvdXJjZTogTm8KICAgICBpc1ZlcnlQcmV2YWxlbnRSZXNvdXJjZTogTm8K
ICAgICBkYXRhUmVjb3Jkc1JlbW92ZWQ6IDAKLSAgICBmb250c1N1Y2Nlc3NmdWxseUxvYWRlZDoK
LSAgICAgICAgVGltZXMKLSAgICB0b3BGcmFtZVJlZ2lzdHJhYmxlRG9tYWluc1doaWNoQWNjZXNz
ZWRXZWJBUElzOgotICAgICAgICAxMjcuMC4wLjEKLSAgICBuYXZpZ2F0b3JGdW5jdGlvbnNBY2Nl
c3NlZDoKLSAgICAgICAgYXBwVmVyc2lvbgotICAgICAgICB1c2VyQWdlbnQKLSAgICAgICAgcGx1
Z2lucwotICAgICAgICBtaW1lVHlwZXMKLSAgICAgICAgY29va2llRW5hYmxlZAotICAgICAgICBq
YXZhRW5hYmxlZAotICAgIGNhbnZhc1JlYWREYXRhOiBObwotCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9odHRwL3Rlc3RzL3dlYkFQSVN0YXRpc3RpY3Mvc2NyZWVuLWZ1bmN0aW9ucy1hY2Nlc3Nl
ZC1kYXRhLWNvbGxlY3Rpb24tZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93
ZWJBUElTdGF0aXN0aWNzL3NjcmVlbi1mdW5jdGlvbnMtYWNjZXNzZWQtZGF0YS1jb2xsZWN0aW9u
LWV4cGVjdGVkLnR4dAppbmRleCA2M2YyMDVmOTZjMjUxNzY4MGNkM2MyYzVjMTMzNzU0OWE1Zjkx
NjkwLi4wMzhiOGQwNTE3Nzk4NmZiY2JjNGNmNDcxYjUxMzEyMmYwNjE5ZjU1IDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYkFQSVN0YXRpc3RpY3Mvc2NyZWVuLWZ1bmN0aW9u
cy1hY2Nlc3NlZC1kYXRhLWNvbGxlY3Rpb24tZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3Rz
L2h0dHAvdGVzdHMvd2ViQVBJU3RhdGlzdGljcy9zY3JlZW4tZnVuY3Rpb25zLWFjY2Vzc2VkLWRh
dGEtY29sbGVjdGlvbi1leHBlY3RlZC50eHQKQEAgLTUsMjIgKzUsNyBAQCBSZWdpc3RyYWJsZSBk
b21haW46IDEyNy4wLjAuMQogICAgIGhhZFVzZXJJbnRlcmFjdGlvbjogTm8KICAgICBtb3N0UmVj
ZW50VXNlckludGVyYWN0aW9uOiAtMQogICAgIGdyYW5kZmF0aGVyZWQ6IE5vCi0gICAgZ290TGlu
a0RlY29yYXRpb25Gcm9tUHJldmFsZW50UmVzb3VyY2U6IE5vCisgICAgSXNTY2hlZHVsZWRGb3JB
bGxCdXRDb29raWVEYXRhUmVtb3ZhbDogTm8KICAgICBpc1ByZXZhbGVudFJlc291cmNlOiBObwog
ICAgIGlzVmVyeVByZXZhbGVudFJlc291cmNlOiBObwogICAgIGRhdGFSZWNvcmRzUmVtb3ZlZDog
MAotICAgIGZvbnRzU3VjY2Vzc2Z1bGx5TG9hZGVkOgotICAgICAgICBUaW1lcwotICAgIHRvcEZy
YW1lUmVnaXN0cmFibGVEb21haW5zV2hpY2hBY2Nlc3NlZFdlYkFQSXM6Ci0gICAgICAgIDEyNy4w
LjAuMQotICAgIHNjcmVlbkZ1bmN0aW9uc0FjY2Vzc2VkOgotICAgICAgICBoZWlnaHQKLSAgICAg
ICAgd2lkdGgKLSAgICAgICAgY29sb3JEZXB0aAotICAgICAgICBwaXhlbERlcHRoCi0gICAgICAg
IGF2YWlsTGVmdAotICAgICAgICBhdmFpbFRvcAotICAgICAgICBhdmFpbEhlaWdodAotICAgICAg
ICBhdmFpbFdpZHRoCi0gICAgY2FudmFzUmVhZERhdGE6IE5vCi0KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL3BsYXRmb3JtL2dsaWIvVGVzdEV4cGVjdGF0aW9ucyBiL0xheW91dFRlc3RzL3BsYXRm
b3JtL2dsaWIvVGVzdEV4cGVjdGF0aW9ucwppbmRleCA1MjQ0NjgyM2Q0N2M2ODRlODgyZWQ5NDhi
NWQ4NTdlMjI3M2Q0ZjI2Li5hODBlOWY1NWY5MmIzZDk2NDVjMzFlNTdiMmMwMTlmMGRiNjExZGIx
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9nbGliL1Rlc3RFeHBlY3RhdGlvbnMK
KysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ2xpYi9UZXN0RXhwZWN0YXRpb25zCkBAIC0xMDAx
LDggKzEwMDEsNiBAQCBmYXN0L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFycy5odG1sIFsgUGFzcyBd
CiAKIGh0dHAvdGVzdHMvc3RvcmFnZUFjY2Vzcy8gWyBQYXNzIF0KIGh0dHAvdGVzdHMvc3RvcmFn
ZUFjY2Vzcy9kZW55LXdpdGgtcHJvbXB0LWRvZXMtbm90LXByZXNlcnZlLWdlc3R1cmUuaHRtbCBb
IFNraXAgXQotaHR0cC90ZXN0cy9zdG9yYWdlQWNjZXNzL2Rlbnktd2l0aC1wcm9tcHQtZG9lcy1u
b3QtcHJlc2VydmUtZ2VzdHVyZS1kYXRhYmFzZS5odG1sIFsgU2tpcCBdCi13ZWJraXQub3JnL2Iv
MjA4NDAwIGh0dHAvdGVzdHMvc3RvcmFnZUFjY2Vzcy9oYXMtc3RvcmFnZS1hY2Nlc3MtdHJ1ZS1p
Zi10aGlyZC1wYXJ0eS1oYXMtY29va2llcy1lcGhlbWVyYWwtZGF0YWJhc2UuaHRtbCBbIEZhaWx1
cmUgXQogd2Via2l0Lm9yZy9iLzIwODQwMCBodHRwL3Rlc3RzL3N0b3JhZ2VBY2Nlc3MvaGFzLXN0
b3JhZ2UtYWNjZXNzLXRydWUtaWYtdGhpcmQtcGFydHktaGFzLWNvb2tpZXMtZXBoZW1lcmFsLmh0
bWwgWyBGYWlsdXJlIF0KIAogd2Via2l0Lm9yZy9iLzE3MjA1NiBmYXN0L3RleHQvbXVsdGlnbHlw
aC1jaGFyYWN0ZXJzLmh0bWwgWyBQYXNzIF0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRm
b3JtL2d0ay9UZXN0RXhwZWN0YXRpb25zIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL1Rlc3RF
eHBlY3RhdGlvbnMKaW5kZXggNmMyMTg2MjU1OWE2OWE2ZWY5NGExMzkyODAzOTViOTRmZDQwYzM1
ZC4uOTljMDM3ZjE5MDk2MWQ0MWYxM2JmODY3NDVkMTJhM2RiZjVjNDhjMyAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL1Rlc3RFeHBlY3RhdGlvbnMKKysrIGIvTGF5b3V0VGVz
dHMvcGxhdGZvcm0vZ3RrL1Rlc3RFeHBlY3RhdGlvbnMKQEAgLTExNTgsMTAgKzExNTgsOCBAQCB3
ZWJraXQub3JnL2IvMjA5NzI3IGZhc3QvZm9ybXMvcGxhY2Vob2xkZXItY29udGVudC1saW5lLWhl
aWdodC5odG1sIFsgSW1hZ2VPbmx5RgogCiB3ZWJraXQub3JnL2IvMjEwMjI2IGltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2ludGVybGVhdmVkLWN1cnNvcnMtc21hbGwu
aHRtbCBbIEZhaWx1cmUgXQogCi13ZWJraXQub3JnL2IvMjEwNDg3IGh0dHAvdGVzdHMvcmVzb3Vy
Y2VMb2FkU3RhdGlzdGljcy9zd2l0Y2gtc2Vzc2lvbi1vbi1uYXZpZ2F0aW9uLXRvLXByZXZhbGVu
dC13aXRoLWludGVyYWN0aW9uLWRhdGFiYXNlLnBocCBbIEZhaWx1cmUgXQogd2Via2l0Lm9yZy9i
LzIxMDQ4NyBodHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3Mvc3dpdGNoLXNlc3Npb24t
b24tbmF2aWdhdGlvbi10by1wcmV2YWxlbnQtd2l0aC1pbnRlcmFjdGlvbi5waHAgWyBGYWlsdXJl
IF0KIAotd2Via2l0Lm9yZy9iLzIxMDc5NiBodHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3Rp
Y3Mvc3RhbmRhbG9uZS13ZWItYXBwbGljYXRpb24tZXhlbXB0LWZyb20td2Vic2l0ZS1kYXRhLWRl
bGV0aW9uLWRhdGFiYXNlLmh0bWwgWyBGYWlsdXJlIF0KIHdlYmtpdC5vcmcvYi8yMTA3OTYgaHR0
cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3N0YW5kYWxvbmUtd2ViLWFwcGxpY2F0aW9u
LWV4ZW1wdC1mcm9tLXdlYnNpdGUtZGF0YS1kZWxldGlvbi5odG1sIFsgRmFpbHVyZSBdCiAKIHdl
YmtpdC5vcmcvYi8yMTA4NDkgY29tcG9zaXRpbmcvb3ZlcmZsb3cvcnRsLXNjcm9sbGJhci1sYXll
ci1wb3NpdGlvbmluZy5odG1sIFsgRmFpbHVyZSBdCkBAIC0yNDEyLDE3ICsyNDEwLDExIEBAIHdl
YmtpdC5vcmcvYi8yMTIyMDIgZmFzdC9zY3JvbGxpbmcvcHJvZ3JhbW1hdGljLXNjcm9sbC10by16
ZXJvLXplcm8uaHRtbCBbIFNraXAKIHdlYmtpdC5vcmcvYi8yMTIyMDIgZmFzdC9zY3JvbGxpbmcv
cnRsLXBvaW50LWluLWlmcmFtZS5odG1sIFsgU2tpcCBdCiB3ZWJraXQub3JnL2IvMjEyMjAyIGNv
bXBvc2l0aW5nL2ZpeGVkLXdpdGgtbWFpbi10aHJlYWQtc2Nyb2xsaW5nLmh0bWwgWyBTa2lwIF0K
IAotd2Via2l0Lm9yZy9iLzIxMDc5NiBodHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3Mv
Y2xlYXItaW4tbWVtb3J5LWFuZC1wZXJzaXN0ZW50LXN0b3JlLW9uZS1ob3VyLWRhdGFiYXNlLmh0
bWwgWyBUaW1lb3V0IFBhc3MgXQogd2Via2l0Lm9yZy9iLzIxMDc5NiBodHRwL3Rlc3RzL3Jlc291
cmNlTG9hZFN0YXRpc3RpY3MvY2xlYXItaW4tbWVtb3J5LWFuZC1wZXJzaXN0ZW50LXN0b3JlLW9u
ZS1ob3VyLmh0bWwgWyBUaW1lb3V0IFBhc3MgXQotd2Via2l0Lm9yZy9iLzIxMDc5NiBodHRwL3Rl
c3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3Mvb3BlcmF0aW5nLWRhdGVzLWFsbC13ZWJzaXRlLWRh
dGEtcmVtb3ZlZC1kYXRhYmFzZS5odG1sIFsgVGltZW91dCBQYXNzIF0KIHdlYmtpdC5vcmcvYi8y
MTA3OTYgaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL29wZXJhdGluZy1kYXRlcy1h
bGwtd2Vic2l0ZS1kYXRhLXJlbW92ZWQuaHRtbCBbIFRpbWVvdXQgUGFzcyBdCi13ZWJraXQub3Jn
L2IvMjEwNzk2IGh0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9waW5nLXRvLXByZXZh
bGVudC1yZXNvdXJjZS1kYXRhYmFzZS5odG1sIFsgVGltZW91dCBQYXNzIF0KIHdlYmtpdC5vcmcv
Yi8yMTA3OTYgaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3BpbmctdG8tcHJldmFs
ZW50LXJlc291cmNlLmh0bWwgWyBUaW1lb3V0IFBhc3MgXQotd2Via2l0Lm9yZy9iLzIxMDc5NiBo
dHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvcHJldmFsZW50LXJlc291cmNlLWhhbmRs
ZWQta2V5ZG93bi1kYXRhYmFzZS5odG1sIFsgVGltZW91dCBQYXNzIF0KLXdlYmtpdC5vcmcvYi8y
MTA3OTYgaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3RlbGVtZXRyeS1nZW5lcmF0
aW9uLWFkdmFuY2VkLWZ1bmN0aW9uYWxpdHktZGF0YWJhc2UuaHRtbCBbIEZhaWx1cmUgUGFzcyBd
CiB3ZWJraXQub3JnL2IvMjEwNzk2IGh0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy91
c2VyLWludGVyYWN0aW9uLW9ubHktcmVwb3J0ZWQtb25jZS13aXRoaW4tc2hvcnQtcGVyaW9kLW9m
LXRpbWUuaHRtbCBbIEZhaWx1cmUgUGFzcyBdCiB3ZWJraXQub3JnL2IvMjEwNzk2IGh0dHAvdGVz
dHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy93ZWJzaXRlLWRhdGEtcmVtb3ZhbC1mb3Itc2l0ZS1u
YXZpZ2F0ZWQtdG8td2l0aC1saW5rLWRlY29yYXRpb24uaHRtbCBbIFRpbWVvdXQgUGFzcyBdCi13
ZWJraXQub3JnL2IvMjEwNzk2IGh0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy93ZWJz
aXRlLWRhdGEtcmVtb3ZhbC1mb3Itc2l0ZS13aXRoLXVzZXItaW50ZXJhY3Rpb24tZGF0YWJhc2Uu
aHRtbCBbIFRpbWVvdXQgUGFzcyBdCiB3ZWJraXQub3JnL2IvMjEwNzk2IGh0dHAvdGVzdHMvcmVz
b3VyY2VMb2FkU3RhdGlzdGljcy93ZWJzaXRlLWRhdGEtcmVtb3ZhbC1mb3Itc2l0ZS13aXRoLXVz
ZXItaW50ZXJhY3Rpb24uaHRtbCBbIFRpbWVvdXQgUGFzcyBdCiAKIHdlYmtpdC5vcmcvYi8yMTE1
NjYgaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2V4ZW1wdERvbWFpbnMvYXBwLWJv
dW5kLWRvbWFpbnMtZXhlbXB0LWZyb20tY29va2llLWJsb2NraW5nLWJldHdlZW4tZWFjaC1vdGhl
ci5odG1sIFsgU2tpcCBdCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3Mtd2sy
L1Rlc3RFeHBlY3RhdGlvbnMgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3Mtd2syL1Rlc3RFeHBl
Y3RhdGlvbnMKaW5kZXggYjE3MjhjMzRjNDQ0ODJkNTFlMzcwMjkyZjFhMjVkMzZkNTZhY2FjMS4u
MGVkNzEzNTE4NWY2NTdjYjc1OGVkZTRhNDRjYTQ0YWU0OTdiNmIyYSAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvcGxhdGZvcm0vaW9zLXdrMi9UZXN0RXhwZWN0YXRpb25zCisrKyBiL0xheW91dFRl
c3RzL3BsYXRmb3JtL2lvcy13azIvVGVzdEV4cGVjdGF0aW9ucwpAQCAtMTQwNCw4ICsxNDA0LDYg
QEAgd2Via2l0Lm9yZy9iLzIwODYwMSBmYXN0L2JhY2tncm91bmRzL2hpZHBpLWJpdG1hcC1iYWNr
Z3JvdW5kLW9uLXN1YnBpeGVsLXBvc2l0aW8KIAogd2Via2l0Lm9yZy9iLzIwODczOSBodHRwL3Rl
c3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvdGhpcmQtcGFydHktY29va2llLWJsb2NraW5nLWVw
aGVtZXJhbC5odG1sIFsgUGFzcyBUaW1lb3V0IF0KIAotd2Via2l0Lm9yZy9iLzIwODczOSBodHRw
L3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvdGhpcmQtcGFydHktY29va2llLWJsb2NraW5n
LWVwaGVtZXJhbC1kYXRhYmFzZS5odG1sIFsgUGFzcyBUaW1lb3V0IF0KLQogd2Via2l0Lm9yZy9i
LzIwODg5MCBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9pZGJvYmpl
Y3RzdG9yZV9vcGVuS2V5Q3Vyc29yLmh0bSBbIFBhc3MgRmFpbHVyZSBdCiAKIHdlYmtpdC5vcmcv
Yi8yMDkwMDYgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGljcy9z
Y3JpcHRpbmctMS90aGUtc2NyaXB0LWVsZW1lbnQvZXhlY3V0aW9uLXRpbWluZy8wODUuaHRtbCBb
IFBhc3MgRmFpbHVyZSBdCkBAIC0xNzYwLDcgKzE3NTgsNyBAQCB3ZWJraXQub3JnL2IvMjA5MTg5
IGh0dHAvdGVzdHMvSW5kZXhlZERCL3N0b3JhZ2UtbGltaXQuaHR0cHMuaHRtbCBbIFBhc3MgRmFp
bHVyZQogCiB3ZWJraXQub3JnL2IvMjEwMDQ2IFsgUmVsZWFzZSBdIHN0b3JhZ2UvaW5kZXhlZGRi
L3ZhbHVlLWN1cnNvci1jeWNsZS5odG1sIFsgUGFzcyBGYWlsdXJlIF0KIAotd2Via2l0Lm9yZy9i
LzIxMTkyOCBodHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3Mvc3RhbmRhbG9uZS13ZWIt
YXBwbGljYXRpb24tZXhlbXB0LWZyb20td2Vic2l0ZS1kYXRhLWRlbGV0aW9uLWRhdGFiYXNlLmh0
bWwgWyBQYXNzIFRpbWVvdXQgXQord2Via2l0Lm9yZy9iLzIxMTkyOCBodHRwL3Rlc3RzL3Jlc291
cmNlTG9hZFN0YXRpc3RpY3Mvc3RhbmRhbG9uZS13ZWItYXBwbGljYXRpb24tZXhlbXB0LWZyb20t
d2Vic2l0ZS1kYXRhLWRlbGV0aW9uLmh0bWwgWyBQYXNzIFRpbWVvdXQgXQogCiB3ZWJraXQub3Jn
L2IvMjEyMjE5IG1lZGlhL3RyYWNrL3RyYWNrLWN1ZS1taXNzaW5nLmh0bWwgWyBQYXNzIEZhaWx1
cmUgXQogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3MvVGVzdEV4cGVjdGF0
aW9ucyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2lvcy9UZXN0RXhwZWN0YXRpb25zCmluZGV4IDVi
ZjJmYmQ0ZWRkYTJmOWFmZjgwMGE4ZDMyYjhhMzY1NzE3ZWZiY2IuLjY0MTAzNmYxY2EwZjZjNzEw
NzFhMWUyOTg1OTliMzNhMGM5MjcwNzAgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3Jt
L2lvcy9UZXN0RXhwZWN0YXRpb25zCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2lvcy9UZXN0
RXhwZWN0YXRpb25zCkBAIC0xMDA1LDcgKzEwMDUsNiBAQCBmYXN0L3NwYXRpYWwtbmF2aWdhdGlv
bi9zbmF2LXVuaXQtb3ZlcmZsb3ctYW5kLXNjcm9sbC1pbi1kaXJlY3Rpb24uaHRtbCBbIFNraXAg
XQogaHR0cC90ZXN0cy9uYXZpZ2F0aW9uL2tleWJvYXJkLWV2ZW50cy1kdXJpbmctcHJvdmlzaW9u
YWwtbmF2aWdhdGlvbi5odG1sIFsgU2tpcCBdCiBodHRwL3Rlc3RzL25hdmlnYXRpb24va2V5Ym9h
cmQtZXZlbnRzLWR1cmluZy1wcm92aXNpb25hbC1zdWJmcmFtZS1uYXZpZ2F0aW9uLmh0bWwgWyBT
a2lwIF0KIGh0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9wcmV2YWxlbnQtcmVzb3Vy
Y2UtaGFuZGxlZC1rZXlkb3duLmh0bWwgWyBTa2lwIF0KLWh0dHAvdGVzdHMvcmVzb3VyY2VMb2Fk
U3RhdGlzdGljcy9wcmV2YWxlbnQtcmVzb3VyY2UtaGFuZGxlZC1rZXlkb3duLWRhdGFiYXNlLmh0
bWwgWyBTa2lwIF0KIG1lZGlhL2F1ZGlvLXBsYXliYWNrLXZvbHVtZS1jaGFuZ2VzLXdpdGgtcmVz
dHJpY3Rpb25zLWFuZC11c2VyLWdlc3R1cmVzLmh0bWwgWyBTa2lwIF0KIG1lZGlhL2F1ZGlvLXBs
YXliYWNrLXZvbHVtZS1jaGFuZ2VzLXdpdGgtcmVzdHJpY3Rpb25zLmh0bWwgWyBTa2lwIF0KIG1l
ZGlhL3BpY3R1cmUtaW4tcGljdHVyZS9waWN0dXJlLWluLXBpY3R1cmUtaW50ZXJydXB0aW9uLmh0
bWwgWyBTa2lwIF0KQEAgLTI3MTYsOSArMjcxNSw2IEBAIGZhc3QvY2FudmFzL3dlYmdsL3JlYWRQ
aXhlbHMtZmxvYXQuaHRtbCBbIFNraXAgXQogd2Via2l0Lm9yZy9iLzE3NDEyMCBodHRwL3Rlc3Rz
L3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvdXNlci1pbnRlcmFjdGlvbi1pbi1jcm9zcy1vcmlnaW4t
c3ViLWZyYW1lLmh0bWwgWyBTa2lwIF0KIGh0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGlj
cy91c2VyLWludGVyYWN0aW9uLW9ubHktcmVwb3J0ZWQtb25jZS13aXRoaW4tc2hvcnQtcGVyaW9k
LW9mLXRpbWUuaHRtbCBbIFNraXAgXQogaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNz
L3VzZXItaW50ZXJhY3Rpb24tcmVwb3J0ZWQtYWZ0ZXItd2Vic2l0ZS1kYXRhLXJlbW92YWwuaHRt
bCBbIFNraXAgXQotd2Via2l0Lm9yZy9iLzE3NDEyMCBodHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0
YXRpc3RpY3MvdXNlci1pbnRlcmFjdGlvbi1pbi1jcm9zcy1vcmlnaW4tc3ViLWZyYW1lLWRhdGFi
YXNlLmh0bWwgWyBTa2lwIF0KLWh0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy91c2Vy
LWludGVyYWN0aW9uLW9ubHktcmVwb3J0ZWQtb25jZS13aXRoaW4tc2hvcnQtcGVyaW9kLW9mLXRp
bWUtZGF0YWJhc2UuaHRtbCBbIFNraXAgXQotaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0
aWNzL3VzZXItaW50ZXJhY3Rpb24tcmVwb3J0ZWQtYWZ0ZXItd2Vic2l0ZS1kYXRhLXJlbW92YWwt
ZGF0YWJhc2UuaHRtbCBbIFNraXAgXQogIyBTa2lwcGVkIGluIFdLMiBleHBlY3RhdGlvbnMgYmVj
YXVzZSBjb29raWUgcGFydGl0aW9uaW5nIGlzIG9ubHkgYXZhaWxhYmxlIGluIG1hY09TIEhpZ2gg
U2llcnJhIGFuZCBpT1MgMTEuCiBodHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY29v
a2llLWRlbGV0aW9uLmh0bWwgWyBQYXNzIF0KIGh0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlz
dGljcy9jb29raWVzLXdpdGgtYW5kLXdpdGhvdXQtdXNlci1pbnRlcmFjdGlvbi5odG1sIFsgUGFz
cyBdCkBAIC0yNzM0LDcgKzI3MzAsNiBAQCBodHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3Rp
Y3Mvc3RyaXAtcmVmZXJyZXItdG8tb3JpZ2luLWZvci10aGlyZC1wYXJ0eS1yZXF1ZQogIyBUaGUg
U2FtZVNpdGUgY29va2llIEFQSSBpcyBvbmx5IGF2YWlsYWJsZSBpbiBtYWNPUyBDYXRhbGluYSBh
bmQgYWJvdmUsIGFuZCB0aHVzIHNraXBwZWQgZm9yIFdLMiBpbiBnZW5lcmFsLgogaHR0cC90ZXN0
cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3NldC1hbGwtY29va2llcy10by1zYW1lLXNpdGUtc3Ry
aWN0Lmh0bWwgWyBQYXNzIF0KIGh0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9lbmZv
cmNlLXNhbWVzaXRlLXN0cmljdC1iYXNlZC1vbi10b3AtZnJhbWUtdW5pcXVlLXJlZGlyZWN0cy10
by5odG1sIFsgUGFzcyBdCi1odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvZW5mb3Jj
ZS1zYW1lc2l0ZS1zdHJpY3QtYmFzZWQtb24tdG9wLWZyYW1lLXVuaXF1ZS1yZWRpcmVjdHMtdG8t
ZGF0YWJhc2UuaHRtbCBbIFBhc3MgXQogCiBodHRwL3Rlc3RzL3N0b3JhZ2VBY2Nlc3MvZGVueS1z
dG9yYWdlLWFjY2Vzcy11bmRlci1vcGVuZXIuaHRtbCBbIFBhc3MgXQogaHR0cC90ZXN0cy9zdG9y
YWdlQWNjZXNzL2Rlbnktc3RvcmFnZS1hY2Nlc3MtdW5kZXItb3BlbmVyLWlmLWF1dG8tZGlzbWlz
cy5odG1sIFsgUGFzcyBdCkBAIC0yNzQyLDE1ICsyNzM3LDkgQEAgaHR0cC90ZXN0cy9yZXNvdXJj
ZUxvYWRTdGF0aXN0aWNzL2NhcC1jYWNoZS1tYXgtYWdlLWZvci1wcmV2YWxlbnQtcmVzb3VyY2Uu
aHRtbAogaHR0cC90ZXN0cy9zdG9yYWdlQWNjZXNzL2hhcy1zdG9yYWdlLWFjY2Vzcy1mYWxzZS1i
eS1kZWZhdWx0Lmh0bWwgWyBQYXNzIF0KIGh0dHAvdGVzdHMvc3RvcmFnZUFjY2Vzcy9oYXMtc3Rv
cmFnZS1hY2Nlc3MtZmFsc2UtYnktZGVmYXVsdC1lcGhlbWVyYWwuaHRtbCBbIFBhc3MgXQogaHR0
cC90ZXN0cy9zdG9yYWdlQWNjZXNzL2hhcy1zdG9yYWdlLWFjY2Vzcy10cnVlLWlmLXRoaXJkLXBh
cnR5LWhhcy1jb29raWVzLmh0bWwgWyBQYXNzIFRpbWVvdXQgXQotaHR0cC90ZXN0cy9zdG9yYWdl
QWNjZXNzL2hhcy1zdG9yYWdlLWFjY2Vzcy10cnVlLWlmLXRoaXJkLXBhcnR5LWhhcy1jb29raWVz
LWRhdGFiYXNlLmh0bWwgWyBQYXNzIFRpbWVvdXQgXQotaHR0cC90ZXN0cy9zdG9yYWdlQWNjZXNz
L2Rlbnktc3RvcmFnZS1hY2Nlc3MtdW5kZXItb3BlbmVyLWRhdGFiYXNlLmh0bWwgWyBQYXNzIF0K
LWh0dHAvdGVzdHMvc3RvcmFnZUFjY2Vzcy9kZW55LXN0b3JhZ2UtYWNjZXNzLXVuZGVyLW9wZW5l
ci1pZi1hdXRvLWRpc21pc3MtZGF0YWJhc2UuaHRtbCBbIFBhc3MgXQotaHR0cC90ZXN0cy9zdG9y
YWdlQWNjZXNzL2hhcy1zdG9yYWdlLWFjY2Vzcy1mYWxzZS1ieS1kZWZhdWx0LWRhdGFiYXNlLmh0
bWwgWyBQYXNzIF0KLWh0dHAvdGVzdHMvc3RvcmFnZUFjY2Vzcy9oYXMtc3RvcmFnZS1hY2Nlc3Mt
ZmFsc2UtYnktZGVmYXVsdC1lcGhlbWVyYWwtZGF0YWJhc2UuaHRtbCBbIFBhc3MgXQogCiAjIEVu
YWJsZSBhZ2FpbiB3aGVuIGZpeGluZyBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MjA4NDAwLgogaHR0cC90ZXN0cy9zdG9yYWdlQWNjZXNzL2hhcy1zdG9yYWdlLWFjY2Vz
cy10cnVlLWlmLXRoaXJkLXBhcnR5LWhhcy1jb29raWVzLWVwaGVtZXJhbC5odG1sIFsgU2tpcCBd
Ci1odHRwL3Rlc3RzL3N0b3JhZ2VBY2Nlc3MvaGFzLXN0b3JhZ2UtYWNjZXNzLXRydWUtaWYtdGhp
cmQtcGFydHktaGFzLWNvb2tpZXMtZXBoZW1lcmFsLWRhdGFiYXNlLmh0bWwgWyBTa2lwIF0KIAog
IyBTa2lwcGVkIGluIGdlbmVyYWwgZXhwZWN0YXRpb25zIHNpbmNlIHRoZXkgb25seSB3b3JrIG9u
IGlPUyBhbmQgTWFjLCBXSzIuCiBodHRwL3Rlc3RzL3NlY3VyaXR5L3N0cmlwLXJlZmVycmVyLXRv
LW9yaWdpbi1mb3ItdGhpcmQtcGFydHktcmVkaXJlY3RzLWluLXByaXZhdGUtbW9kZS5odG1sIFsg
UGFzcyBdCkBAIC0yODk1LDcgKzI4ODQsNiBAQCB3ZWJraXQub3JnL2IvMTc3NDQ1IGZhc3QvbG9h
ZGVyL2Zvcm0tc3VibWlzc2lvbi1hZnRlci1iZWZvcmV1bmxvYWQtY2FuY2VsLmh0bWwgWwogd2Vi
a2l0Lm9yZy9iLzE3NzM5NyBjb21wb3NpdGluZy9tYXNrcy9jb21wb3NpdGluZy1jbGlwLXBhdGgt
Y2hhbmdlLW5vLXJlcGFpbnQuaHRtbCBbIFBhc3MgRmFpbHVyZSBdCiAKIHdlYmtpdC5vcmcvYi8x
Nzc2MTcgaHR0cC90ZXN0cy9zdG9yYWdlQWNjZXNzL3JlcXVlc3Qtc3RvcmFnZS1hY2Nlc3MtdG9w
LWZyYW1lLmh0bWwgWyBQYXNzIFRpbWVvdXQgXQotaHR0cC90ZXN0cy9zdG9yYWdlQWNjZXNzL3Jl
cXVlc3Qtc3RvcmFnZS1hY2Nlc3MtdG9wLWZyYW1lLWRhdGFiYXNlLmh0bWwgWyBQYXNzIFRpbWVv
dXQgXQogCiB3ZWJraXQub3JnL2IvMTc3NTQ3IGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvZmV0Y2gvc2VjdXJpdHkvZGFuZ2xpbmctbWFya3VwLW1pdGlnYXRpb24tZGF0YS11cmwudGVu
dGF0aXZlLnN1Yi5odG1sIFsgUGFzcyBGYWlsdXJlIF0KIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvcGxhdGZvcm0vbWFjLXdrMi9UZXN0RXhwZWN0YXRpb25zIGIvTGF5b3V0VGVzdHMvcGxhdGZv
cm0vbWFjLXdrMi9UZXN0RXhwZWN0YXRpb25zCmluZGV4IDE0MmI0MWQ4YmY5NjNjZmI5NDdkYzE4
ODkwNDlmNjUyODM2ZTE0ODUuLjhkYmM4MThjNTRhMDM1ZmRiM2ZiYzY0ODk5MDk0ZjAwYjBkOTcx
YWIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy13azIvVGVzdEV4cGVjdGF0
aW9ucworKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtd2syL1Rlc3RFeHBlY3RhdGlvbnMK
QEAgLTYzOSwxNyArNjM5LDE0IEBAIHdlYmtpdC5vcmcvYi8xODc2NDkgZWRpdGluZy9zZWxlY3Rp
b24vdXBkYXRlLXNlbGVjdGlvbi1ieS1zdHlsZS1jaGFuZ2UuaHRtbCBbIFBhCiBodHRwL3Rlc3Rz
L3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvdXNlci1pbnRlcmFjdGlvbi1pbi1jcm9zcy1vcmlnaW4t
c3ViLWZyYW1lLmh0bWwgWyBQYXNzIF0KIGh0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGlj
cy91c2VyLWludGVyYWN0aW9uLXJlcG9ydGVkLWFmdGVyLXdlYnNpdGUtZGF0YS1yZW1vdmFsLmh0
bWwgWyBQYXNzIF0KIGh0dHAvdGVzdHMvc3RvcmFnZUFjY2Vzcy8gWyBQYXNzIF0KLWh0dHAvdGVz
dHMvc3RvcmFnZUFjY2Vzcy9yZXF1ZXN0LWFuZC1ncmFudC1hY2Nlc3MtdGhlbi1uYXZpZ2F0ZS1j
cm9zcy1zaXRlLXNob3VsZC1ub3QtaGF2ZS1hY2Nlc3MtZGF0YWJhc2UuaHRtbCBbIFBhc3MgVGlt
ZW91dCBdCitodHRwL3Rlc3RzL3N0b3JhZ2VBY2Nlc3MvcmVxdWVzdC1hbmQtZ3JhbnQtYWNjZXNz
LXRoZW4tbmF2aWdhdGUtY3Jvc3Mtc2l0ZS1zaG91bGQtbm90LWhhdmUtYWNjZXNzLmh0bWwgWyBQ
YXNzIFRpbWVvdXQgXQogaHR0cC90ZXN0cy9zdG9yYWdlQWNjZXNzL2Rlbnktd2l0aC1wcm9tcHQt
ZG9lcy1ub3QtcHJlc2VydmUtZ2VzdHVyZS5odG1sIFsgU2tpcCBdCi1odHRwL3Rlc3RzL3N0b3Jh
Z2VBY2Nlc3MvZGVueS13aXRoLXByb21wdC1kb2VzLW5vdC1wcmVzZXJ2ZS1nZXN0dXJlLWRhdGFi
YXNlLmh0bWwgWyBTa2lwIF0KIAogIyBFbmFibGUgYWdhaW4gd2hlbiBmaXhpbmcgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwODQwMC4KLWh0dHAvdGVzdHMvc3RvcmFn
ZUFjY2Vzcy9oYXMtc3RvcmFnZS1hY2Nlc3MtdHJ1ZS1pZi10aGlyZC1wYXJ0eS1oYXMtY29va2ll
cy1lcGhlbWVyYWwtZGF0YWJhc2UuaHRtbCBbIFNraXAgXQogaHR0cC90ZXN0cy9zdG9yYWdlQWNj
ZXNzL2hhcy1zdG9yYWdlLWFjY2Vzcy10cnVlLWlmLXRoaXJkLXBhcnR5LWhhcy1jb29raWVzLWVw
aGVtZXJhbC5odG1sIFsgU2tpcCBdCiAKICMgQXMgb2YgaHR0cHM6Ly90cmFjLndlYmtpdC5vcmcv
Y2hhbmdlc2V0LzIyNzc2MiB0aGUgdGltZXN0YW1wUmVzb2x1dGlvbiBpcyBqdXN0IDUgc2Vjb25k
cyB3aGljaCBtYWtlcyB0aGlzIHRlc3QgZmxha3kKIGh0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3Rh
dGlzdGljcy91c2VyLWludGVyYWN0aW9uLW9ubHktcmVwb3J0ZWQtb25jZS13aXRoaW4tc2hvcnQt
cGVyaW9kLW9mLXRpbWUuaHRtbCBbIFNraXAgXQotaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0
aXN0aWNzL3VzZXItaW50ZXJhY3Rpb24tb25seS1yZXBvcnRlZC1vbmNlLXdpdGhpbi1zaG9ydC1w
ZXJpb2Qtb2YtdGltZS1kYXRhYmFzZS5odG1sIFsgU2tpcCBdCiAKIHdlYmtpdC5vcmcvYi8xNzM4
NjEgWyBSZWxlYXNlIF0gaHR0cC90ZXN0cy93ZWJydGMvZmlsdGVyaW5nLWljZS1jYW5kaWRhdGUt
c2FtZS1vcmlnaW4tZnJhbWUuaHRtbCBbIFBhc3MgVGltZW91dCBdCiB3ZWJraXQub3JnL2IvMTcz
ODYxIFsgUmVsZWFzZSBdIGh0dHAvdGVzdHMvd2VicnRjL2ZpbHRlcmluZy1pY2UtY2FuZGlkYXRl
LWNyb3NzLW9yaWdpbi1mcmFtZS5odG1sIFsgUGFzcyBUaW1lb3V0IF0KQEAgLTcxMCw3ICs3MDcs
NiBAQCBodHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY2FwLWNhY2hlLW1heC1hZ2Ut
Zm9yLXByZXZhbGVudC1yZXNvdXJjZS5odG1sCiAjIFRoZSBTYW1lU2l0ZSBjb29raWUgQVBJIGlz
IG9ubHkgYXZhaWxhYmxlIGluIG1hY09TIENhdGFsaW5hIGFuZCBhYm92ZS4KIFsgQ2F0YWxpbmEr
IF0gaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3NldC1hbGwtY29va2llcy10by1z
YW1lLXNpdGUtc3RyaWN0Lmh0bWwgWyBQYXNzIF0KIFsgQ2F0YWxpbmErIF0gaHR0cC90ZXN0cy9y
ZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2VuZm9yY2Utc2FtZXNpdGUtc3RyaWN0LWJhc2VkLW9uLXRv
cC1mcmFtZS11bmlxdWUtcmVkaXJlY3RzLXRvLmh0bWwgWyBQYXNzIF0KLVsgQ2F0YWxpbmErIF0g
aHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2VuZm9yY2Utc2FtZXNpdGUtc3RyaWN0
LWJhc2VkLW9uLXRvcC1mcmFtZS11bmlxdWUtcmVkaXJlY3RzLXRvLWRhdGFiYXNlLmh0bWwgWyBQ
YXNzIF0KIAogIyBUaGUgQ05BTUUgYW5kIGNvb2tpZSB0cmFuc2Zvcm0gU1BJcyBhcmUgb25seSBh
dmFpbGFibGUgaW4gbWFjT1MgQmlnIFN1ciBhbmQgYWJvdmUuCiBbIEJpZ1N1cisgXSBodHRwL3Rl
c3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY25hbWUtY2xvYWtpbmctdG9wLWNuYW1lLXN1Yi0x
cC1jbmFtZS5odG1sIFsgUGFzcyBdCkBAIC04NDksNyArODQ1LDcgQEAgd2Via2l0Lm9yZy9iLzE5
NjQwMyBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL21lZGlhY2FwdHVyZS1yZWNvcmQv
TWVkaWFSZWMKIAogd2Via2l0Lm9yZy9iLzE4NzM5MSBhY2Nlc3NpYmlsaXR5L21hYy9hc3luYy1p
bmNyZW1lbnQtZGVjcmVtZW50LWFjdGlvbi5odG1sIFsgU2tpcCBdCiAKLWh0dHAvdGVzdHMvc3Rv
cmFnZUFjY2Vzcy9yZXF1ZXN0LWFuZC1ncmFudC1hY2Nlc3MtY3Jvc3Mtb3JpZ2luLXNhbmRib3hl
ZC1pZnJhbWUtZnJvbS1wcmV2YWxlbnQtZG9tYWluLXdpdGgtdXNlci1pbnRlcmFjdGlvbi1idXQt
YWNjZXNzLWZyb20td3JvbmctZnJhbWUtZGF0YWJhc2UuaHRtbCBbIFBhc3MgVGltZW91dCBdCito
dHRwL3Rlc3RzL3N0b3JhZ2VBY2Nlc3MvcmVxdWVzdC1hbmQtZ3JhbnQtYWNjZXNzLWNyb3NzLW9y
aWdpbi1zYW5kYm94ZWQtaWZyYW1lLWZyb20tcHJldmFsZW50LWRvbWFpbi13aXRoLXVzZXItaW50
ZXJhY3Rpb24tYnV0LWFjY2Vzcy1mcm9tLXdyb25nLWZyYW1lLmh0bWwgWyBQYXNzIFRpbWVvdXQg
XQogCiB3ZWJraXQub3JnL2IvMTk3MDY4IFsgRGVidWcgXSBmYXN0L3NlbGVjdG9ycy9pcy1iYWNr
dHJhY2tpbmcuaHRtbCBbIFBhc3MgVGltZW91dCBdCiB3ZWJraXQub3JnL2IvMTk3MDY4IFsgRGVi
dWcgXSBmYXN0L3NlbGVjdG9ycy9tYXRjaGVzLWJhY2t0cmFja2luZy5odG1sIFsgUGFzcyBUaW1l
b3V0IF0KQEAgLTEwNjEsOCArMTA1Nyw2IEBAIHdlYmtpdC5vcmcvYi8yMTMyOTIgWyBDYXRhbGlu
YSBSZWxlYXNlIF0gaHR0cC90ZXN0cy9JbmRleGVkREIvc3RvcmFnZS1saW1pdC0xLmh0CiAKIHdl
YmtpdC5vcmcvYi8yMTM0NjEgZmFzdC9tZWRpYXN0cmVhbS9tZWRpYXN0cmVhbXRyYWNrLXZpZGVv
LWZyYW1lUmF0ZS1jbG9uZS1pbmNyZWFzaW5nLmh0bWwgWyBQYXNzIEZhaWx1cmUgXQogCi13ZWJr
aXQub3JnL2IvMjEzNTUzIGh0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9ncmFuZGZh
dGhlcmluZy1kYXRhYmFzZS5odG1sIFsgUGFzcyBUaW1lb3V0IF0KLQogd2Via2l0Lm9yZy9iLzIx
MzYyMSBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dlYnJ0Yy9SVENSdHBSZWNlaXZl
ci1nZXRDb250cmlidXRpbmdTb3VyY2VzLmh0dHBzLmh0bWwgWyBQYXNzIEZhaWx1cmUgXQogCiB3
ZWJraXQub3JnL2IvMjEzNjUyIHdlYnJ0Yy92aWRlby1hdXRvcGxheTEuaHRtbCBbIFBhc3MgRmFp
bHVyZSBdCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93azIvVGVzdEV4cGVjdGF0
aW9ucyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL3drMi9UZXN0RXhwZWN0YXRpb25zCmluZGV4IDFi
ODQ5NDM1OWQ2NTIyMjNkZWE5ODhiNmI0YTk2ZGI1NWI1MDg2NjQuLmY0ZWUyZmQ5MTdhYTgyM2U3
NWRmMWNiMDhkYmM1YWE4ZGNiZGI2ZGUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3Jt
L3drMi9UZXN0RXhwZWN0YXRpb25zCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL3drMi9UZXN0
RXhwZWN0YXRpb25zCkBAIC03MzQsNyArNzM0LDYgQEAgaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRT
dGF0aXN0aWNzL2V4ZW1wdERvbWFpbnMvIFsgU2tpcCBdCiAjIFRoZSBTYW1lU2l0ZSBjb29raWUg
QVBJIGlzIG9ubHkgYXZhaWxhYmxlIGluIG1hY09TIENhdGFsaW5hIGFuZCBhYm92ZS4KIGh0dHAv
dGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9zZXQtYWxsLWNvb2tpZXMtdG8tc2FtZS1zaXRl
LXN0cmljdC5odG1sIFsgU2tpcCBdCiBodHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3Mv
ZW5mb3JjZS1zYW1lc2l0ZS1zdHJpY3QtYmFzZWQtb24tdG9wLWZyYW1lLXVuaXF1ZS1yZWRpcmVj
dHMtdG8uaHRtbCBbIFNraXAgXQotaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2Vu
Zm9yY2Utc2FtZXNpdGUtc3RyaWN0LWJhc2VkLW9uLXRvcC1mcmFtZS11bmlxdWUtcmVkaXJlY3Rz
LXRvLWRhdGFiYXNlLmh0bWwgWyBTa2lwIF0KIAogIyBUaGUgQ05BTUUgYW5kIGNvb2tpZSB0cmFu
c2Zvcm0gU1BJcyBhcmUgb25seSBhdmFpbGFibGUgaW4gbWFjT1MgQmlnIFN1ciArIGlPUyAxNCBh
bmQgYWJvdmUuCiBodHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY25hbWUtY2xvYWtp
bmctdG9wLWNuYW1lLXN1Yi0xcC1jbmFtZS5odG1sIFsgU2tpcCBdCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9wbGF0Zm9ybS93cGUvVGVzdEV4cGVjdGF0aW9ucyBiL0xheW91dFRlc3RzL3BsYXRm
b3JtL3dwZS9UZXN0RXhwZWN0YXRpb25zCmluZGV4IGQzOWI4ZDZkMTk5NjAzYTk4OWU2YzcxNjA5
YjNlYThmYzg4MWJkN2QuLjI4ZDE5MzEzYWJmYzQzYzZhYzgxZGZjZTVkYWM2MTExODZiZDFiNDMg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL3dwZS9UZXN0RXhwZWN0YXRpb25zCisr
KyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL3dwZS9UZXN0RXhwZWN0YXRpb25zCkBAIC02NDIsNyAr
NjQyLDYgQEAgbWVkaWEvbWVkaWEtdXNhZ2Utc3RhdGUuaHRtbCBbIFNraXAgXQogbWVkaWEvbWVk
aWEtdXNhZ2Utc3RhdGUtcHJpdmF0ZS1icm93c2luZy5odG1sIFsgU2tpcCBdCiBtZWRpYS9ub3ct
cGxheWluZy1zdGF0dXMtd2l0aG91dC1tZWRpYS5odG1sIFsgU2tpcCBdCiAKLXdlYmtpdC5vcmcv
Yi8yMTA0ODcgaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3N3aXRjaC1zZXNzaW9u
LW9uLW5hdmlnYXRpb24tdG8tcHJldmFsZW50LXdpdGgtaW50ZXJhY3Rpb24tZGF0YWJhc2UucGhw
IFsgRmFpbHVyZSBdCiB3ZWJraXQub3JnL2IvMjEwNDg3IGh0dHAvdGVzdHMvcmVzb3VyY2VMb2Fk
U3RhdGlzdGljcy9zd2l0Y2gtc2Vzc2lvbi1vbi1uYXZpZ2F0aW9uLXRvLXByZXZhbGVudC13aXRo
LWludGVyYWN0aW9uLnBocCBbIEZhaWx1cmUgXQogCiAjIEZhaWxpbmcgaW4gdGVzdCBib3RzLiBT
dGFydGVkIGZhaWxpbmcgc2luY2UgcjI2MDYxNS4K
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>409923</attachid>
            <date>2020-09-28 14:24:53 -0700</date>
            <delta_ts>2020-09-29 09:03:02 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-217063-20200928142450.patch</filename>
            <type>text/plain</type>
            <size>818573</size>
            <attacher name="Alex Christensen">achristensen</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY3NzE1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IGYyNjAxMmZhZmUwNGM2YzM5ZDVjMjlj
OWY4MWZmNDNiZTNhMDdhM2IuLjg0NjQ2ZmUzNGQyZWZmMjcyYjk2NGUwYTQ3ZGU3NmRjYzg0MDhk
MjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTIgQEAKKzIwMjAtMDktMjggIEFsZXggQ2hyaXN0ZW5zZW4gIDxh
Y2hyaXN0ZW5zZW5Ad2Via2l0Lm9yZz4KKworICAgICAgICBSZW1vdmUgcGxpc3QtYmFzZWQgUmVz
b3VyY2VMb2FkU3RhdGlzdGljcyBzdG9yYWdlLCB3aGljaCBoYXMgYmVlbiByZXBsYWNlZCBieSBk
YXRhYmFzZS1iYXNlZCBzdG9yYWdlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0yMTcwNjMKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICAqIFNjcmlwdHMvUHJlZmVyZW5jZXMvV2ViUHJlZmVyZW5jZXNJbnRlcm5h
bC55YW1sOgorCiAyMDIwLTA5LTI4ICBTYW0gV2VpbmlnICA8d2VpbmlnQGFwcGxlLmNvbT4KIAog
ICAgICAgICBbUHJlZmVyZW5jZXNdIE1vdmUgR2VuZXJhdGVQcmVmZXJlbmNlcy5yYiBhbmQgeWFt
bCBjb25maWd1cmF0aW9uIGZpbGVzIHRvIFdURiB0byBiZSBzaGFyZWQKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCBm
ZmNjNDIyYmM5N2JlMDEwMDQxNGUzYjgzZGViZWRkMGIxNTYwY2YzLi5hNjEwZGE5MzI3YTdkNDIx
Y2EyYzU3ZWIyNmU0NjE4NjdhMTE2ZWQ3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFu
Z2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTggQEAKKzIw
MjAtMDktMjggIEFsZXggQ2hyaXN0ZW5zZW4gIDxhY2hyaXN0ZW5zZW5Ad2Via2l0Lm9yZz4KKwor
ICAgICAgICBSZW1vdmUgcGxpc3QtYmFzZWQgUmVzb3VyY2VMb2FkU3RhdGlzdGljcyBzdG9yYWdl
LCB3aGljaCBoYXMgYmVlbiByZXBsYWNlZCBieSBkYXRhYmFzZS1iYXNlZCBzdG9yYWdlCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTcwNjMKKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBSZXNvdXJjZUxvYWRT
dGF0aXN0aWNzIHdhcyBpbml0aWFsbHkgaW1wbGVtZW50ZWQgdXNpbmcgcGxpc3RzIHRvIHN0b3Jl
IHRoZSBwZXJzaXN0ZW50IGRhdGEgb24gZGlzay4KKyAgICAgICAgVGhpcyBjYXVzZWQgc29tZSBw
ZXJmb3JtYW5jZSBpc3N1ZXMsIHNvIGEgc3FsaXRlIGRhdGFiYXNlIGJhY2tlbmQgd2FzIGltcGxl
bWVudGVkIGFuZCB0cmFuc2l0aW9uZWQgdG8uCisgICAgICAgIE5vdyB0aGF0IHRoZSB0cmFuc2l0
aW9uIGlzIGNvbXBsZXRlLCBsZXQncyByZW1vdmUgdGhlIG9sZCBwbGlzdCBiYWNrZW5kLgorCisg
ICAgICAgICogcGFnZS9SdW50aW1lRW5hYmxlZEZlYXR1cmVzLmg6CisgICAgICAgIChXZWJDb3Jl
OjpSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzZXRJc0lUUERhdGFiYXNlRW5hYmxlZCk6IERlbGV0
ZWQuCisgICAgICAgIChXZWJDb3JlOjpSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjppc0lUUERhdGFi
YXNlRW5hYmxlZCBjb25zdCk6IERlbGV0ZWQuCisKIDIwMjAtMDktMjggIEVyaWMgQ2FybHNvbiAg
PGVyaWMuY2FybHNvbkBhcHBsZS5jb20+CiAKICAgICAgICAgW0dQVVBdIE91dC1vZi1iYW5kIFRl
eHRUcmFja3MKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nIGIvU291cmNlL1dl
YktpdC9DaGFuZ2VMb2cKaW5kZXggNDQxZWRhOTJiMWI4YWYzMGUyNmUyYTY4NmEwNGNiNmMyMDBl
MWEwYS4uM2FjYTc2Mjc5MjA3ZjFmMWRjZjFhZjczNTRjNjFjMGE5YmU4YTIxYyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cK
QEAgLTEsMyArMSw3MyBAQAorMjAyMC0wOS0yOCAgQWxleCBDaHJpc3RlbnNlbiAgPGFjaHJpc3Rl
bnNlbkB3ZWJraXQub3JnPgorCisgICAgICAgIFJlbW92ZSBwbGlzdC1iYXNlZCBSZXNvdXJjZUxv
YWRTdGF0aXN0aWNzIHN0b3JhZ2UsIHdoaWNoIGhhcyBiZWVuIHJlcGxhY2VkIGJ5IGRhdGFiYXNl
LWJhc2VkIHN0b3JhZ2UKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTIxNzA2MworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgICogTmV0d29ya1Byb2Nlc3MvQ2xhc3NpZmllci9SZXNvdXJjZUxvYWRTdGF0aXN0aWNz
RGF0YWJhc2VTdG9yZS5oOgorICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL0NsYXNzaWZpZXIvUmVz
b3VyY2VMb2FkU3RhdGlzdGljc01lbW9yeVN0b3JlLmNwcDoKKyAgICAgICAgKFdlYktpdDo6UmVz
b3VyY2VMb2FkU3RhdGlzdGljc01lbW9yeVN0b3JlOjpzZXRQZXJzaXN0ZW50U3RvcmFnZSk6IERl
bGV0ZWQuCisgICAgICAgIChXZWJLaXQ6OlJlc291cmNlTG9hZFN0YXRpc3RpY3NNZW1vcnlTdG9y
ZTo6c3luY1N0b3JhZ2VJZk5lZWRlZCk6IERlbGV0ZWQuCisgICAgICAgIChXZWJLaXQ6OlJlc291
cmNlTG9hZFN0YXRpc3RpY3NNZW1vcnlTdG9yZTo6c3luY1N0b3JhZ2VJbW1lZGlhdGVseSk6IERl
bGV0ZWQuCisgICAgICAgICogTmV0d29ya1Byb2Nlc3MvQ2xhc3NpZmllci9SZXNvdXJjZUxvYWRT
dGF0aXN0aWNzTWVtb3J5U3RvcmUuaDoKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9DbGFzc2lm
aWVyL1Jlc291cmNlTG9hZFN0YXRpc3RpY3NQZXJzaXN0ZW50U3RvcmFnZS5jcHA6IFJlbW92ZWQu
CisgICAgICAgICogTmV0d29ya1Byb2Nlc3MvQ2xhc3NpZmllci9SZXNvdXJjZUxvYWRTdGF0aXN0
aWNzUGVyc2lzdGVudFN0b3JhZ2UuaDogUmVtb3ZlZC4KKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vz
cy9DbGFzc2lmaWVyL1Jlc291cmNlTG9hZFN0YXRpc3RpY3NTdG9yZS5jcHA6CisgICAgICAgIChX
ZWJLaXQ6OlJlc291cmNlTG9hZFN0YXRpc3RpY3NTdG9yZTo6cHJvY2Vzc1N0YXRpc3RpY3NBbmRE
YXRhUmVjb3Jkcyk6CisgICAgICAgIChXZWJLaXQ6OlJlc291cmNlTG9hZFN0YXRpc3RpY3NTdG9y
ZTo6Z3JhbmRmYXRoZXJFeGlzdGluZ1dlYnNpdGVEYXRhKToKKyAgICAgICAgKiBOZXR3b3JrUHJv
Y2Vzcy9DbGFzc2lmaWVyL1Jlc291cmNlTG9hZFN0YXRpc3RpY3NTdG9yZS5oOgorICAgICAgICAq
IE5ldHdvcmtQcm9jZXNzL0NsYXNzaWZpZXIvV2ViUmVzb3VyY2VMb2FkU3RhdGlzdGljc1N0b3Jl
LmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViUmVzb3VyY2VMb2FkU3RhdGlzdGljc1N0b3JlOjpX
ZWJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzU3RvcmUpOgorICAgICAgICAoV2ViS2l0OjpXZWJSZXNv
dXJjZUxvYWRTdGF0aXN0aWNzU3RvcmU6On5XZWJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzU3RvcmUp
OgorICAgICAgICAoV2ViS2l0OjpXZWJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzU3RvcmU6OmRpZERl
c3Ryb3lOZXR3b3JrU2Vzc2lvbik6CisgICAgICAgIChXZWJLaXQ6OldlYlJlc291cmNlTG9hZFN0
YXRpc3RpY3NTdG9yZTo6cG9wdWxhdGVNZW1vcnlTdG9yZUZyb21EaXNrKToKKyAgICAgICAgKFdl
YktpdDo6V2ViUmVzb3VyY2VMb2FkU3RhdGlzdGljc1N0b3JlOjpzY2hlZHVsZUNsZWFySW5NZW1v
cnlBbmRQZXJzaXN0ZW50KToKKyAgICAgICAgKFdlYktpdDo6V2ViUmVzb3VyY2VMb2FkU3RhdGlz
dGljc1N0b3JlOjpmbHVzaEFuZERlc3Ryb3lQZXJzaXN0ZW50U3RvcmUpOiBEZWxldGVkLgorICAg
ICAgICAqIE5ldHdvcmtQcm9jZXNzL0NsYXNzaWZpZXIvV2ViUmVzb3VyY2VMb2FkU3RhdGlzdGlj
c1N0b3JlLmg6CisgICAgICAgICogTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Byb2Nlc3MuY3BwOgor
ICAgICAgICAoV2ViS2l0OjpOZXR3b3JrUHJvY2Vzczo6ZGlkQ2xvc2UpOgorICAgICAgICAoV2Vi
S2l0OjpOZXR3b3JrUHJvY2Vzczo6aW5pdGlhbGl6ZU5ldHdvcmtQcm9jZXNzKToKKyAgICAgICAg
KFdlYktpdDo6TmV0d29ya1Byb2Nlc3M6OnNldFVzZUlUUERhdGFiYXNlKTogRGVsZXRlZC4KKyAg
ICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUHJvY2Vzcy5oOgorICAgICAgICAoV2ViS2l0
OjpOZXR3b3JrUHJvY2Vzczo6aXNJVFBEYXRhYmFzZUVuYWJsZWQgY29uc3QpOiBEZWxldGVkLgor
ICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzLm1lc3NhZ2VzLmluOgorICAg
ICAgICAqIE5ldHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzLmNw
cDoKKyAgICAgICAgKFdlYktpdDo6TmV0d29ya1Byb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnM6OmVu
Y29kZSBjb25zdCk6CisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtQcm9jZXNzQ3JlYXRpb25QYXJh
bWV0ZXJzOjpkZWNvZGUpOgorICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNz
Q3JlYXRpb25QYXJhbWV0ZXJzLmg6CisgICAgICAgICogTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Nl
c3Npb24uY3BwOgorICAgICAgICAoV2ViS2l0OjpOZXR3b3JrU2Vzc2lvbjo6ZGVzdHJveVJlc291
cmNlTG9hZFN0YXRpc3RpY3MpOgorICAgICAgICAoV2ViS2l0OjpOZXR3b3JrU2Vzc2lvbjo6Zmx1
c2hBbmREZXN0cm95UGVyc2lzdGVudFN0b3JlKTogRGVsZXRlZC4KKyAgICAgICAgKiBOZXR3b3Jr
UHJvY2Vzcy9OZXR3b3JrU2Vzc2lvbi5oOgorICAgICAgICAqIFNoYXJlZC9XZWJQcmVmZXJlbmNl
c0ludGVybmFsLnlhbWw6CisgICAgICAgICogU291cmNlcy50eHQ6CisgICAgICAgICogU291cmNl
c0NvY29hLnR4dDoKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0MvV0tQcmVmZXJlbmNlcy5jcHA6
CisgICAgICAgIChXS1ByZWZlcmVuY2VzU2V0SXNJVFBEYXRhYmFzZUVuYWJsZWQpOiBEZWxldGVk
LgorICAgICAgICAoV0tQcmVmZXJlbmNlc0dldElzSVRQRGF0YWJhc2VFbmFibGVkKTogRGVsZXRl
ZC4KKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0MvV0tQcmVmZXJlbmNlc1JlZi5oOgorICAgICAg
ICAqIFVJUHJvY2Vzcy9BUEkvQy9XS1dlYnNpdGVEYXRhU3RvcmVSZWYuY3BwOgorICAgICAgICAo
V0tXZWJzaXRlRGF0YVN0b3JlU3RhdGlzdGljc1Jlc2V0VG9Db25zaXN0ZW50U3RhdGUpOgorICAg
ICAgICAoV0tXZWJzaXRlRGF0YVN0b3JlU2V0VXNlSVRQRGF0YWJhc2UpOiBEZWxldGVkLgorICAg
ICAgICAqIFVJUHJvY2Vzcy9BUEkvQy9XS1dlYnNpdGVEYXRhU3RvcmVSZWYuaDoKKyAgICAgICAg
KiBVSVByb2Nlc3MvQVBJL0NvY29hL1dLUHJlZmVyZW5jZXMubW06CisgICAgICAgICgtW1dLUHJl
ZmVyZW5jZXMgX2lzSVRQRGF0YWJhc2VFbmFibGVkXSk6IERlbGV0ZWQuCisgICAgICAgICogVUlQ
cm9jZXNzL0FQSS9Db2NvYS9XS1ByZWZlcmVuY2VzUHJpdmF0ZS5oOgorICAgICAgICAqIFVJUHJv
Y2Vzcy9BUEkvQ29jb2EvV0tXZWJzaXRlRGF0YVN0b3JlLm1tOgorICAgICAgICAoLVtXS1dlYnNp
dGVEYXRhU3RvcmUgX3NldFVzZUlUUERhdGFiYXNlOmNvbXBsZXRpb25IYW5kbGVyOl0pOiBEZWxl
dGVkLgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJzaXRlRGF0YVN0b3JlUHJp
dmF0ZS5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9Db2NvYS9XZWJQcm9jZXNzUG9vbENvY29hLm1t
OgorICAgICAgICAoV2ViS2l0OjpXZWJQcm9jZXNzUG9vbDo6cGxhdGZvcm1Jbml0aWFsaXplTmV0
d29ya1Byb2Nlc3MpOgorICAgICAgICAqIFVJUHJvY2Vzcy9OZXR3b3JrL05ldHdvcmtQcm9jZXNz
UHJveHkuY3BwOgorICAgICAgICAoV2ViS2l0OjpOZXR3b3JrUHJvY2Vzc1Byb3h5OjpzZXRVc2VJ
VFBEYXRhYmFzZSk6IERlbGV0ZWQuCisgICAgICAgICogVUlQcm9jZXNzL05ldHdvcmsvTmV0d29y
a1Byb2Nlc3NQcm94eS5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJzaXRlRGF0YS9XZWJzaXRl
RGF0YVN0b3JlLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2Vic2l0ZURhdGFTdG9yZTo6c2V0VXNl
SVRQRGF0YWJhc2UpOiBEZWxldGVkLgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJzaXRlRGF0YS9X
ZWJzaXRlRGF0YVN0b3JlLmg6CisgICAgICAgICogVUlQcm9jZXNzL2lvcy9SZXNvdXJjZUxvYWRT
dGF0aXN0aWNzUGVyc2lzdGVudFN0b3JhZ2VJT1MubW06IFJlbW92ZWQuCisgICAgICAgICogV2Vi
S2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisKIDIwMjAtMDktMjggIEVyaWMgQ2FybHNv
biAgPGVyaWMuY2FybHNvbkBhcHBsZS5jb20+CiAKICAgICAgICAgW0dQVVBdIE91dC1vZi1iYW5k
IFRleHRUcmFja3MKZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvU2NyaXB0cy9QcmVmZXJlbmNlcy9X
ZWJQcmVmZXJlbmNlc0ludGVybmFsLnlhbWwgYi9Tb3VyY2UvV1RGL1NjcmlwdHMvUHJlZmVyZW5j
ZXMvV2ViUHJlZmVyZW5jZXNJbnRlcm5hbC55YW1sCmluZGV4IGMxYjIxODc4Mzc3NTk4ZWZjNzdm
NmY2YTJlODA1NjRlYTE0OGM1OWQuLmRiMjA1NDAxMzE1NzY5MmI0YjMxMjU3YmRmNzM5ZDc1MGU3
YTIyYzIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvU2NyaXB0cy9QcmVmZXJlbmNlcy9XZWJQcmVm
ZXJlbmNlc0ludGVybmFsLnlhbWwKKysrIGIvU291cmNlL1dURi9TY3JpcHRzL1ByZWZlcmVuY2Vz
L1dlYlByZWZlcmVuY2VzSW50ZXJuYWwueWFtbApAQCAtMzY5LDE4ICszNjksNiBAQCBJc0ZpcnN0
UGFydHlXZWJzaXRlRGF0YVJlbW92YWxSZXByb1Rlc3RpbmdFbmFibGVkOgogICAgIFdlYktpdDoK
ICAgICAgIGRlZmF1bHQ6IGZhbHNlCiAKLSMgRklYTUU6IFRoaXMgaXMgbm90IHJlbGV2ZW50IGZv
ciBXZWJLaXRMZWdhY3ksIHNvIHNob3VsZCBiZSBleGNsdWRlZCBmcm9tIFdlYktpdExlZ2FjeSBl
bnRpcmVseS4KLUlzSVRQRGF0YWJhc2VFbmFibGVkOgotICB0eXBlOiBib29sCi0gIGh1bWFuUmVh
ZGFibGVOYW1lOiAiSVRQIERhdGFiYXNlIEJhY2tlbmQiCi0gIGh1bWFuUmVhZGFibGVEZXNjcmlw
dGlvbjogIkVuYWJsZSBJbnRlbGxpZ2VudCBUcmFja2luZyBQcmV2ZW50aW9uIERhdGFiYXNlIEJh
Y2tlbmQiCi0gIHdlYmNvcmVCaW5kaW5nOiBSdW50aW1lRW5hYmxlZEZlYXR1cmVzCi0gIGRlZmF1
bHRWYWx1ZToKLSAgICBXZWJLaXRMZWdhY3k6Ci0gICAgICBkZWZhdWx0OiBmYWxzZQotICAgIFdl
YktpdDoKLSAgICAgIGRlZmF1bHQ6IHRydWUKLQogS2V5Z2VuRWxlbWVudEVuYWJsZWQ6CiAgIHR5
cGU6IGJvb2wKICAgd2ViS2l0TGVnYWN5UHJlZmVyZW5jZUtleTogV2ViS2l0S2V5Z2VuRWxlbWVu
dEVuYWJsZWRQcmVmZXJlbmNlS2V5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1J1
bnRpbWVFbmFibGVkRmVhdHVyZXMuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUnVudGltZUVuYWJs
ZWRGZWF0dXJlcy5oCmluZGV4IGYzNmFlN2Q0ZGNhZWNlZjQwMGYxMmE5NTE0YWVjYWI4YjA3YWJm
NzYuLjA5MjU3YzU3YjQwY2Y2OTc2ZWYyNTUzYWU0YWYzODg3MzZkZWI4ZmIgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3BhZ2UvUnVudGltZUVuYWJsZWRGZWF0dXJlcy5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BhZ2UvUnVudGltZUVuYWJsZWRGZWF0dXJlcy5oCkBAIC05OSw5ICs5OSw2IEBA
IHB1YmxpYzoKICAgICB2b2lkIHNldEl0cERlYnVnTW9kZUVuYWJsZWQoYm9vbCBpc0VuYWJsZWQp
IHsgbV9pdHBEZWJ1Z01vZGUgPSBpc0VuYWJsZWQ7IH0KICAgICBib29sIGl0cERlYnVnTW9kZUVu
YWJsZWQoKSBjb25zdCB7IHJldHVybiBtX2l0cERlYnVnTW9kZTsgfQogCi0gICAgdm9pZCBzZXRJ
c0lUUERhdGFiYXNlRW5hYmxlZChib29sIGlzRW5hYmxlZCkgeyBtX2lzSVRQRGF0YWJhc2VFbmFi
bGVkID0gaXNFbmFibGVkOyB9Ci0gICAgYm9vbCBpc0lUUERhdGFiYXNlRW5hYmxlZCgpIGNvbnN0
IHsgcmV0dXJuIG1faXNJVFBEYXRhYmFzZUVuYWJsZWQ7IH0KLQogICAgIHZvaWQgc2V0UmVzdHJp
Y3RlZEhUVFBSZXNwb25zZUFjY2Vzcyhib29sIGlzRW5hYmxlZCkgeyBtX2lzUmVzdHJpY3RlZEhU
VFBSZXNwb25zZUFjY2VzcyA9IGlzRW5hYmxlZDsgfQogICAgIGJvb2wgcmVzdHJpY3RlZEhUVFBS
ZXNwb25zZUFjY2VzcygpIGNvbnN0IHsgcmV0dXJuIG1faXNSZXN0cmljdGVkSFRUUFJlc3BvbnNl
QWNjZXNzOyB9CiAKQEAgLTM3Nyw4ICszNzQsNiBAQCBwcml2YXRlOgogICAgIE9wdGlvbmFsPGJv
b2w+IG1fdG91Y2hFdmVudHNFbmFibGVkOwogI2VuZGlmCiAKLSAgICBib29sIG1faXNJVFBEYXRh
YmFzZUVuYWJsZWQgeyB0cnVlIH07Ci0KICNpZiBIQVZFKE5TVVJMU0VTU0lPTl9XRUJTT0NLRVQp
CiAgICAgYm9vbCBtX2lzTlNVUkxTZXNzaW9uV2ViU29ja2V0RW5hYmxlZCB7IGZhbHNlIH07CiAj
ZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvQ2xhc3NpZmll
ci9SZXNvdXJjZUxvYWRTdGF0aXN0aWNzRGF0YWJhc2VTdG9yZS5oIGIvU291cmNlL1dlYktpdC9O
ZXR3b3JrUHJvY2Vzcy9DbGFzc2lmaWVyL1Jlc291cmNlTG9hZFN0YXRpc3RpY3NEYXRhYmFzZVN0
b3JlLmgKaW5kZXggNzI4NTY3ZjcwN2E5ODdjNjU4NjNmNzM3NTJlMWIyOWQwMzIxMjNmNy4uYTJj
NWE1MjViZDc0NzNlMGM0Yzg0ZjY3YTQ1YmY2MTBiMzFhNjI2NSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9DbGFzc2lmaWVyL1Jlc291cmNlTG9hZFN0YXRpc3RpY3NE
YXRhYmFzZVN0b3JlLmgKKysrIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9DbGFzc2lm
aWVyL1Jlc291cmNlTG9hZFN0YXRpc3RpY3NEYXRhYmFzZVN0b3JlLmgKQEAgLTkzLDggKzkzLDYg
QEAgcHVibGljOgogICAgIHZvaWQgdXBkYXRlQ29va2llQmxvY2tpbmcoQ29tcGxldGlvbkhhbmRs
ZXI8dm9pZCgpPiYmKSBvdmVycmlkZTsKIAogICAgIHZvaWQgY2xhc3NpZnlQcmV2YWxlbnRSZXNv
dXJjZXMoKSBvdmVycmlkZTsKLSAgICB2b2lkIHN5bmNTdG9yYWdlSWZOZWVkZWQoKSBvdmVycmlk
ZSB7IH07Ci0gICAgdm9pZCBzeW5jU3RvcmFnZUltbWVkaWF0ZWx5KCkgb3ZlcnJpZGUgeyB9Owog
ICAgIHZvaWQgcnVuSW5jcmVtZW50YWxWYWN1dW1Db21tYW5kKCk7CiAKICAgICB2b2lkIHJlcXVl
c3RTdG9yYWdlQWNjZXNzVW5kZXJPcGVuZXIoRG9tYWluSW5OZWVkT2ZTdG9yYWdlQWNjZXNzJiYs
IFdlYkNvcmU6OlBhZ2VJZGVudGlmaWVyIG9wZW5lcklELCBPcGVuZXJEb21haW4mJikgb3ZlcnJp
ZGU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL0NsYXNzaWZpZXIv
UmVzb3VyY2VMb2FkU3RhdGlzdGljc01lbW9yeVN0b3JlLmNwcCBiL1NvdXJjZS9XZWJLaXQvTmV0
d29ya1Byb2Nlc3MvQ2xhc3NpZmllci9SZXNvdXJjZUxvYWRTdGF0aXN0aWNzTWVtb3J5U3RvcmUu
Y3BwCmluZGV4IDk0MmZlZDYzMjQ2YjBkMWYwZGRjOWNjODRjNDMxMjk3ZjdkYzkwYTMuLjUzOWY1
MzFlYTA3OGZiYmRjMTA4ZTJlNWU5N2UxY2M2ZDUzZDFiMWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQvTmV0d29ya1Byb2Nlc3MvQ2xhc3NpZmllci9SZXNvdXJjZUxvYWRTdGF0aXN0aWNzTWVt
b3J5U3RvcmUuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvQ2xhc3NpZmll
ci9SZXNvdXJjZUxvYWRTdGF0aXN0aWNzTWVtb3J5U3RvcmUuY3BwCkBAIC0zMiw3ICszMiw2IEBA
CiAjaW5jbHVkZSAiTmV0d29ya1Nlc3Npb24uaCIKICNpbmNsdWRlICJQbHVnaW5Qcm9jZXNzTWFu
YWdlci5oIgogI2luY2x1ZGUgIlBsdWdpblByb2Nlc3NQcm94eS5oIgotI2luY2x1ZGUgIlJlc291
cmNlTG9hZFN0YXRpc3RpY3NQZXJzaXN0ZW50U3RvcmFnZS5oIgogI2luY2x1ZGUgIlN0b3JhZ2VB
Y2Nlc3NTdGF0dXMuaCIKICNpbmNsdWRlICJXZWJQcm9jZXNzUHJveHkuaCIKICNpbmNsdWRlICJX
ZWJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzVGVsZW1ldHJ5LmgiCkBAIC05MSwxMyArOTAsNiBAQCBi
b29sIFJlc291cmNlTG9hZFN0YXRpc3RpY3NNZW1vcnlTdG9yZTo6aXNFbXB0eSgpIGNvbnN0CiAg
ICAgcmV0dXJuIG1fcmVzb3VyY2VTdGF0aXN0aWNzTWFwLmlzRW1wdHkoKTsKIH0KIAotdm9pZCBS
ZXNvdXJjZUxvYWRTdGF0aXN0aWNzTWVtb3J5U3RvcmU6OnNldFBlcnNpc3RlbnRTdG9yYWdlKFJl
c291cmNlTG9hZFN0YXRpc3RpY3NQZXJzaXN0ZW50U3RvcmFnZSYgcGVyc2lzdGVudFN0b3JhZ2Up
Ci17Ci0gICAgQVNTRVJUKCFSdW5Mb29wOjppc01haW4oKSk7Ci0KLSAgICBtX3BlcnNpc3RlbnRT
dG9yYWdlID0gbWFrZVdlYWtQdHIocGVyc2lzdGVudFN0b3JhZ2UpOwotfQotCiB2b2lkIFJlc291
cmNlTG9hZFN0YXRpc3RpY3NNZW1vcnlTdG9yZTo6Y2FsY3VsYXRlQW5kU3VibWl0VGVsZW1ldHJ5
KE5vdGlmeVBhZ2VzRm9yVGVzdGluZyBzaG91bGROb3RpZnlQYWdlc0ZvclRlc3RpbmcpIGNvbnN0
CiB7CiAgICAgQVNTRVJUKCFSdW5Mb29wOjppc01haW4oKSk7CkBAIC0yMzksMjIgKzIzMSw2IEBA
IHZvaWQgUmVzb3VyY2VMb2FkU3RhdGlzdGljc01lbW9yeVN0b3JlOjpjbGFzc2lmeVByZXZhbGVu
dFJlc291cmNlcygpCiAgICAgfQogfQogCi12b2lkIFJlc291cmNlTG9hZFN0YXRpc3RpY3NNZW1v
cnlTdG9yZTo6c3luY1N0b3JhZ2VJZk5lZWRlZCgpCi17Ci0gICAgQVNTRVJUKCFSdW5Mb29wOjpp
c01haW4oKSk7Ci0KLSAgICBpZiAobV9wZXJzaXN0ZW50U3RvcmFnZSkKLSAgICAgICAgbV9wZXJz
aXN0ZW50U3RvcmFnZS0+c2NoZWR1bGVPcldyaXRlTWVtb3J5U3RvcmUoUmVzb3VyY2VMb2FkU3Rh
dGlzdGljc1BlcnNpc3RlbnRTdG9yYWdlOjpGb3JjZUltbWVkaWF0ZVdyaXRlOjpObyk7Ci19Ci0K
LXZvaWQgUmVzb3VyY2VMb2FkU3RhdGlzdGljc01lbW9yeVN0b3JlOjpzeW5jU3RvcmFnZUltbWVk
aWF0ZWx5KCkKLXsKLSAgICBBU1NFUlQoIVJ1bkxvb3A6OmlzTWFpbigpKTsKLQotICAgIGlmICht
X3BlcnNpc3RlbnRTdG9yYWdlKQotICAgICAgICBtX3BlcnNpc3RlbnRTdG9yYWdlLT5zY2hlZHVs
ZU9yV3JpdGVNZW1vcnlTdG9yZShSZXNvdXJjZUxvYWRTdGF0aXN0aWNzUGVyc2lzdGVudFN0b3Jh
Z2U6OkZvcmNlSW1tZWRpYXRlV3JpdGU6Olllcyk7Ci19Ci0KIGJvb2wgUmVzb3VyY2VMb2FkU3Rh
dGlzdGljc01lbW9yeVN0b3JlOjphcmVBbGxUaGlyZFBhcnR5Q29va2llc0Jsb2NrZWRVbmRlcihj
b25zdCBUb3BGcmFtZURvbWFpbiYgdG9wRnJhbWVEb21haW4pCiB7CiAgICAgaWYgKHRoaXJkUGFy
dHlDb29raWVCbG9ja2luZ01vZGUoKSA9PSBUaGlyZFBhcnR5Q29va2llQmxvY2tpbmdNb2RlOjpB
bGwpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL0NsYXNzaWZpZXIv
UmVzb3VyY2VMb2FkU3RhdGlzdGljc01lbW9yeVN0b3JlLmggYi9Tb3VyY2UvV2ViS2l0L05ldHdv
cmtQcm9jZXNzL0NsYXNzaWZpZXIvUmVzb3VyY2VMb2FkU3RhdGlzdGljc01lbW9yeVN0b3JlLmgK
aW5kZXggMDljOWViZThhN2ZjMDVkMDAxMDQ5NGIyNDUxZDMzYjZlNmY3ODlhMS4uMDhkNWZkMWNj
MjJmY2VkOWMwNWNlYTY3YWE2OTVhNmQ2ZWVhNTE4YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC9OZXR3b3JrUHJvY2Vzcy9DbGFzc2lmaWVyL1Jlc291cmNlTG9hZFN0YXRpc3RpY3NNZW1vcnlT
dG9yZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvQ2xhc3NpZmllci9SZXNv
dXJjZUxvYWRTdGF0aXN0aWNzTWVtb3J5U3RvcmUuaApAQCAtNDQsMTUgKzQ0LDExIEBAIHN0cnVj
dCBSZXNvdXJjZUxvYWRTdGF0aXN0aWNzOwogCiBuYW1lc3BhY2UgV2ViS2l0IHsKIAotY2xhc3Mg
UmVzb3VyY2VMb2FkU3RhdGlzdGljc1BlcnNpc3RlbnRTdG9yYWdlOwotCiAvLyBUaGlzIGlzIGFs
d2F5cyBjb25zdHJ1Y3RlZCAvIHVzZWQgLyBkZXN0cm95ZWQgb24gdGhlIFdlYlJlc291cmNlTG9h
ZFN0YXRpc3RpY3NTdG9yZSdzIHN0YXRpc3RpY3MgcXVldWUuCiBjbGFzcyBSZXNvdXJjZUxvYWRT
dGF0aXN0aWNzTWVtb3J5U3RvcmUgZmluYWwgOiBwdWJsaWMgUmVzb3VyY2VMb2FkU3RhdGlzdGlj
c1N0b3JlIHsKIHB1YmxpYzoKICAgICBSZXNvdXJjZUxvYWRTdGF0aXN0aWNzTWVtb3J5U3RvcmUo
V2ViUmVzb3VyY2VMb2FkU3RhdGlzdGljc1N0b3JlJiwgV29ya1F1ZXVlJiwgU2hvdWxkSW5jbHVk
ZUxvY2FsaG9zdCk7CiAKLSAgICB2b2lkIHNldFBlcnNpc3RlbnRTdG9yYWdlKFJlc291cmNlTG9h
ZFN0YXRpc3RpY3NQZXJzaXN0ZW50U3RvcmFnZSYpOwotCiAgICAgdm9pZCBjbGVhcihDb21wbGV0
aW9uSGFuZGxlcjx2b2lkKCk+JiYpIG92ZXJyaWRlOwogICAgIGJvb2wgaXNFbXB0eSgpIGNvbnN0
IG92ZXJyaWRlOwogCkBAIC02OCw4ICs2NCw2IEBAIHB1YmxpYzoKICAgICB2b2lkIHVwZGF0ZUNv
b2tpZUJsb2NraW5nKENvbXBsZXRpb25IYW5kbGVyPHZvaWQoKT4mJikgb3ZlcnJpZGU7CiAKICAg
ICB2b2lkIGNsYXNzaWZ5UHJldmFsZW50UmVzb3VyY2VzKCkgb3ZlcnJpZGU7Ci0gICAgdm9pZCBz
eW5jU3RvcmFnZUlmTmVlZGVkKCkgb3ZlcnJpZGU7Ci0gICAgdm9pZCBzeW5jU3RvcmFnZUltbWVk
aWF0ZWx5KCkgb3ZlcnJpZGU7CiAKICAgICB2b2lkIHJlcXVlc3RTdG9yYWdlQWNjZXNzVW5kZXJP
cGVuZXIoRG9tYWluSW5OZWVkT2ZTdG9yYWdlQWNjZXNzJiYsIFdlYkNvcmU6OlBhZ2VJZGVudGlm
aWVyLCBPcGVuZXJEb21haW4mJikgb3ZlcnJpZGU7CiAKQEAgLTE0Niw3ICsxNDAsNiBAQCBwcml2
YXRlOgogICAgIGJvb2wgaXNNZW1vcnlTdG9yZSgpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIHRydWU7
IH0KICAgICBPcHRpb25hbDxXYWxsVGltZT4gbW9zdFJlY2VudFVzZXJJbnRlcmFjdGlvblRpbWUo
Y29uc3QgUmVzb3VyY2VMb2FkU3RhdGlzdGljcyYpOwogCi0gICAgV2Vha1B0cjxSZXNvdXJjZUxv
YWRTdGF0aXN0aWNzUGVyc2lzdGVudFN0b3JhZ2U+IG1fcGVyc2lzdGVudFN0b3JhZ2U7CiAgICAg
SGFzaE1hcDxSZWdpc3RyYWJsZURvbWFpbiwgUmVzb3VyY2VMb2FkU3RhdGlzdGljcz4gbV9yZXNv
dXJjZVN0YXRpc3RpY3NNYXA7CiAgICAgVmVjdG9yPE9wZXJhdGluZ0RhdGU+IG1fb3BlcmF0aW5n
RGF0ZXM7CiB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9DbGFz
c2lmaWVyL1Jlc291cmNlTG9hZFN0YXRpc3RpY3NQZXJzaXN0ZW50U3RvcmFnZS5jcHAgYi9Tb3Vy
Y2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL0NsYXNzaWZpZXIvUmVzb3VyY2VMb2FkU3RhdGlzdGlj
c1BlcnNpc3RlbnRTdG9yYWdlLmNwcApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNzNk
YWU3MDZiZTkzYTRiYzkzZTBhZWI0ZGYzOWYzN2FmYTU3M2QwZS4uMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNz
L0NsYXNzaWZpZXIvUmVzb3VyY2VMb2FkU3RhdGlzdGljc1BlcnNpc3RlbnRTdG9yYWdlLmNwcAor
KysgL2Rldi9udWxsCkBAIC0xLDI3NyArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDE3
LTIwMTggQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICoKLSAqIFJlZGlzdHJpYnV0
aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAot
ICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2lu
ZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0OgotICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJj
ZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqIDIu
IFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUg
Y29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBv
dGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotICoKLSAqIFRI
SVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9S
UyBgYEFTIElTJycKLSAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAotICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBP
RiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgotICogUFVSUE9T
RSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09O
VFJJQlVUT1JTCi0gKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVO
VEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCi0gKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgotICogU1VCU1RJVFVU
RSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJV
U0lORVNTCi0gKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZ
IE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgotICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFks
IE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKLSAqIEFSSVNJTkcg
SU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklT
RUQgT0YKLSAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KLSAqLwotCi0jaW5jbHVk
ZSAiY29uZmlnLmgiCi0jaW5jbHVkZSAiUmVzb3VyY2VMb2FkU3RhdGlzdGljc1BlcnNpc3RlbnRT
dG9yYWdlLmgiCi0KLSNpZiBFTkFCTEUoUkVTT1VSQ0VfTE9BRF9TVEFUSVNUSUNTKQotCi0jaW5j
bHVkZSAiTG9nZ2luZy5oIgotI2luY2x1ZGUgIlBlcnNpc3RlbmN5VXRpbHMuaCIKLSNpbmNsdWRl
ICJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzTWVtb3J5U3RvcmUuaCIKLSNpbmNsdWRlICJXZWJSZXNv
dXJjZUxvYWRTdGF0aXN0aWNzU3RvcmUuaCIKLSNpbmNsdWRlIDxXZWJDb3JlL0ZpbGVNb25pdG9y
Lmg+Ci0jaW5jbHVkZSA8V2ViQ29yZS9LZXllZENvZGluZy5oPgotI2luY2x1ZGUgPFdlYkNvcmUv
U2hhcmVkQnVmZmVyLmg+Ci0jaW5jbHVkZSA8d3RmL0ZpbGVTeXN0ZW0uaD4KLSNpbmNsdWRlIDx3
dGYvUnVuTG9vcC5oPgotI2luY2x1ZGUgPHd0Zi9Xb3JrUXVldWUuaD4KLQotbmFtZXNwYWNlIFdl
YktpdCB7Ci0KLWNvbnN0ZXhwciBTZWNvbmRzIG1pbmltdW1Xcml0ZUludGVydmFsIHsgNV9taW4g
fTsKLQotdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7Ci0KLXN0YXRpYyBib29sIGhhc0ZpbGVDaGFu
Z2VkU2luY2UoY29uc3QgU3RyaW5nJiBwYXRoLCBXYWxsVGltZSBzaW5jZSkKLXsKLSAgICBBU1NF
UlQoIVJ1bkxvb3A6OmlzTWFpbigpKTsKLSAgICBhdXRvIG1vZGlmaWNhdGlvblRpbWUgPSBGaWxl
U3lzdGVtOjpnZXRGaWxlTW9kaWZpY2F0aW9uVGltZShwYXRoKTsKLSAgICBpZiAoIW1vZGlmaWNh
dGlvblRpbWUpCi0gICAgICAgIHJldHVybiB0cnVlOwotCi0gICAgcmV0dXJuIG1vZGlmaWNhdGlv
blRpbWUudmFsdWUoKSA+IHNpbmNlOwotfQotCi1SZXNvdXJjZUxvYWRTdGF0aXN0aWNzUGVyc2lz
dGVudFN0b3JhZ2U6OlJlc291cmNlTG9hZFN0YXRpc3RpY3NQZXJzaXN0ZW50U3RvcmFnZShSZXNv
dXJjZUxvYWRTdGF0aXN0aWNzTWVtb3J5U3RvcmUmIG1lbW9yeVN0b3JlLCBXb3JrUXVldWUmIHdv
cmtRdWV1ZSwgY29uc3QgU3RyaW5nJiBzdG9yYWdlRGlyZWN0b3J5UGF0aCkKLSAgICA6IG1fbWVt
b3J5U3RvcmUobWVtb3J5U3RvcmUpCi0gICAgLCBtX3dvcmtRdWV1ZSh3b3JrUXVldWUpCi0gICAg
LCBtX3N0b3JhZ2VEaXJlY3RvcnlQYXRoKHN0b3JhZ2VEaXJlY3RvcnlQYXRoKQotewotICAgIFJF
TEVBU0VfQVNTRVJUKCFSdW5Mb29wOjppc01haW4oKSk7Ci0KLSAgICBtX21lbW9yeVN0b3JlLnNl
dFBlcnNpc3RlbnRTdG9yYWdlKCp0aGlzKTsKLQotICAgIHN0YXJ0TW9uaXRvcmluZ0Rpc2soKTsK
LX0KLQotUmVzb3VyY2VMb2FkU3RhdGlzdGljc1BlcnNpc3RlbnRTdG9yYWdlOjp+UmVzb3VyY2VM
b2FkU3RhdGlzdGljc1BlcnNpc3RlbnRTdG9yYWdlKCkKLXsKLSAgICBSRUxFQVNFX0FTU0VSVCgh
UnVuTG9vcDo6aXNNYWluKCkpOwotCi0gICAgaWYgKG1faGFzUGVuZGluZ1dyaXRlKQotICAgICAg
ICB3cml0ZU1lbW9yeVN0b3JlVG9EaXNrKCk7Ci19Ci0KLVN0cmluZyBSZXNvdXJjZUxvYWRTdGF0
aXN0aWNzUGVyc2lzdGVudFN0b3JhZ2U6OnN0b3JhZ2VEaXJlY3RvcnlQYXRoSXNvbGF0ZWRDb3B5
KCkgY29uc3QKLXsKLSAgICByZXR1cm4gbV9zdG9yYWdlRGlyZWN0b3J5UGF0aC5pc29sYXRlZENv
cHkoKTsKLX0KLQotU3RyaW5nIFJlc291cmNlTG9hZFN0YXRpc3RpY3NQZXJzaXN0ZW50U3RvcmFn
ZTo6cmVzb3VyY2VMb2dGaWxlUGF0aCgpIGNvbnN0Ci17Ci0gICAgU3RyaW5nIHN0b3JhZ2VQYXRo
ID0gc3RvcmFnZURpcmVjdG9yeVBhdGhJc29sYXRlZENvcHkoKTsKLSAgICBpZiAoc3RvcmFnZVBh
dGguaXNFbXB0eSgpKQotICAgICAgICByZXR1cm4gZW1wdHlTdHJpbmcoKTsKLQotICAgIHJldHVy
biBGaWxlU3lzdGVtOjpwYXRoQnlBcHBlbmRpbmdDb21wb25lbnQoc3RvcmFnZVBhdGgsICJmdWxs
X2Jyb3dzaW5nX3Nlc3Npb25fcmVzb3VyY2VMb2cucGxpc3QiKTsKLX0KLQotdm9pZCBSZXNvdXJj
ZUxvYWRTdGF0aXN0aWNzUGVyc2lzdGVudFN0b3JhZ2U6OnN0YXJ0TW9uaXRvcmluZ0Rpc2soKQot
ewotICAgIEFTU0VSVCghUnVuTG9vcDo6aXNNYWluKCkpOwotICAgIGlmIChtX2ZpbGVNb25pdG9y
KQotICAgICAgICByZXR1cm47Ci0KLSAgICBTdHJpbmcgcmVzb3VyY2VMb2dQYXRoID0gcmVzb3Vy
Y2VMb2dGaWxlUGF0aCgpOwotICAgIGlmIChyZXNvdXJjZUxvZ1BhdGguaXNFbXB0eSgpKQotICAg
ICAgICByZXR1cm47Ci0KLSAgICBtX2ZpbGVNb25pdG9yID0gbWFrZVVuaXF1ZTxGaWxlTW9uaXRv
cj4ocmVzb3VyY2VMb2dQYXRoLCBtX3dvcmtRdWV1ZS5jb3B5UmVmKCksIFt0aGlzLCB3ZWFrVGhp
cyA9IG1ha2VXZWFrUHRyKCp0aGlzKV0gKEZpbGVNb25pdG9yOjpGaWxlQ2hhbmdlVHlwZSB0eXBl
KSB7Ci0gICAgICAgIEFTU0VSVCghUnVuTG9vcDo6aXNNYWluKCkpOwotICAgICAgICBpZiAoIXdl
YWtUaGlzKQotICAgICAgICAgICAgcmV0dXJuOwotCi0gICAgICAgIHN3aXRjaCAodHlwZSkgewot
ICAgICAgICBjYXNlIEZpbGVNb25pdG9yOjpGaWxlQ2hhbmdlVHlwZTo6TW9kaWZpY2F0aW9uOgot
ICAgICAgICAgICAgcmVmcmVzaE1lbW9yeVN0b3JlRnJvbURpc2soKTsKLSAgICAgICAgICAgIGJy
ZWFrOwotICAgICAgICBjYXNlIEZpbGVNb25pdG9yOjpGaWxlQ2hhbmdlVHlwZTo6UmVtb3ZhbDoK
LSAgICAgICAgICAgIG1fbWVtb3J5U3RvcmUuY2xlYXIoW10geyB9KTsKLSAgICAgICAgICAgIG1f
ZmlsZU1vbml0b3IgPSBudWxscHRyOwotICAgICAgICAgICAgbW9uaXRvckRpcmVjdG9yeUZvck5l
d1N0YXRpc3RpY3MoKTsKLSAgICAgICAgICAgIGJyZWFrOwotICAgICAgICB9Ci0gICAgfSk7Ci19
Ci0KLXZvaWQgUmVzb3VyY2VMb2FkU3RhdGlzdGljc1BlcnNpc3RlbnRTdG9yYWdlOjptb25pdG9y
RGlyZWN0b3J5Rm9yTmV3U3RhdGlzdGljcygpCi17Ci0gICAgQVNTRVJUKCFSdW5Mb29wOjppc01h
aW4oKSk7Ci0KLSAgICBTdHJpbmcgc3RvcmFnZVBhdGggPSBzdG9yYWdlRGlyZWN0b3J5UGF0aElz
b2xhdGVkQ29weSgpOwotICAgIEFTU0VSVCghc3RvcmFnZVBhdGguaXNFbXB0eSgpKTsKLQotICAg
IGlmICghRmlsZVN5c3RlbTo6ZmlsZUV4aXN0cyhzdG9yYWdlUGF0aCkpIHsKLSAgICAgICAgaWYg
KCFGaWxlU3lzdGVtOjptYWtlQWxsRGlyZWN0b3JpZXMoc3RvcmFnZVBhdGgpKSB7Ci0gICAgICAg
ICAgICBSRUxFQVNFX0xPR19FUlJPUihSZXNvdXJjZUxvYWRTdGF0aXN0aWNzLCAiUmVzb3VyY2VM
b2FkU3RhdGlzdGljc1BlcnNpc3RlbnRTdG9yYWdlOiBGYWlsZWQgdG8gY3JlYXRlIGRpcmVjdG9y
eSBwYXRoICVzIiwgc3RvcmFnZVBhdGgudXRmOCgpLmRhdGEoKSk7Ci0gICAgICAgICAgICByZXR1
cm47Ci0gICAgICAgIH0KLSAgICB9Ci0KLSAgICBtX2ZpbGVNb25pdG9yID0gbWFrZVVuaXF1ZTxG
aWxlTW9uaXRvcj4oc3RvcmFnZVBhdGgsIG1fd29ya1F1ZXVlLmNvcHlSZWYoKSwgW3RoaXNdIChG
aWxlTW9uaXRvcjo6RmlsZUNoYW5nZVR5cGUgdHlwZSkgewotICAgICAgICBBU1NFUlQoIVJ1bkxv
b3A6OmlzTWFpbigpKTsKLSAgICAgICAgaWYgKHR5cGUgPT0gRmlsZU1vbml0b3I6OkZpbGVDaGFu
Z2VUeXBlOjpSZW1vdmFsKSB7Ci0gICAgICAgICAgICAvLyBEaXJlY3Rvcnkgd2FzIHJlbW92ZWQh
Ci0gICAgICAgICAgICBtX2ZpbGVNb25pdG9yID0gbnVsbHB0cjsKLSAgICAgICAgICAgIHJldHVy
bjsKLSAgICAgICAgfQotCi0gICAgICAgIFN0cmluZyByZXNvdXJjZUxvZ1BhdGggPSByZXNvdXJj
ZUxvZ0ZpbGVQYXRoKCk7Ci0gICAgICAgIEFTU0VSVCghcmVzb3VyY2VMb2dQYXRoLmlzRW1wdHko
KSk7Ci0KLSAgICAgICAgaWYgKCFGaWxlU3lzdGVtOjpmaWxlRXhpc3RzKHJlc291cmNlTG9nUGF0
aCkpCi0gICAgICAgICAgICByZXR1cm47Ci0KLSAgICAgICAgbV9maWxlTW9uaXRvciA9IG51bGxw
dHI7Ci0KLSAgICAgICAgcmVmcmVzaE1lbW9yeVN0b3JlRnJvbURpc2soKTsKLSAgICAgICAgc3Rh
cnRNb25pdG9yaW5nRGlzaygpOwotICAgIH0pOwotfQotCi12b2lkIFJlc291cmNlTG9hZFN0YXRp
c3RpY3NQZXJzaXN0ZW50U3RvcmFnZTo6c3RvcE1vbml0b3JpbmdEaXNrKCkKLXsKLSAgICBBU1NF
UlQoIVJ1bkxvb3A6OmlzTWFpbigpKTsKLSAgICBtX2ZpbGVNb25pdG9yID0gbnVsbHB0cjsKLX0K
LQotLy8gVGhpcyBpcyBjYWxsZWQgd2hlbiB0aGUgZmlsZSBjaGFuZ2VzIG9uIGRpc2suCi12b2lk
IFJlc291cmNlTG9hZFN0YXRpc3RpY3NQZXJzaXN0ZW50U3RvcmFnZTo6cmVmcmVzaE1lbW9yeVN0
b3JlRnJvbURpc2soKQotewotICAgIEFTU0VSVCghUnVuTG9vcDo6aXNNYWluKCkpOwotCi0gICAg
U3RyaW5nIGZpbGVQYXRoID0gcmVzb3VyY2VMb2dGaWxlUGF0aCgpOwotICAgIGlmIChmaWxlUGF0
aC5pc0VtcHR5KCkpCi0gICAgICAgIHJldHVybjsKLQotICAgIC8vIFdlIHNvbWV0aW1lcyBzZWUg
ZmlsZSBjaGFuZ2VkIGV2ZW50cyBmcm9tIGJlZm9yZSBvdXIgbG9hZCBjb21wbGV0ZWQgKHdlIHN0
YXJ0Ci0gICAgLy8gcmVhZGluZyBhdCB0aGUgZmlyc3QgY2hhbmdlIGV2ZW50LCBidXQgd2UgbWln
aHQgcmVjZWl2ZSBhIHNlcmllcyBvZiBldmVudHMgcmVsYXRlZAotICAgIC8vIHRvIHRoZSBzYW1l
IGZpbGUgb3BlcmF0aW9uKS4gQ2F0Y2ggdGhpcyBjYXNlIHRvIGF2b2lkIHJlYWRpbmcgb3Zlcmx5
IG9mdGVuLgotICAgIGlmICghaGFzRmlsZUNoYW5nZWRTaW5jZShmaWxlUGF0aCwgbV9sYXN0U3Rh
dGlzdGljc0ZpbGVTeW5jVGltZSkpCi0gICAgICAgIHJldHVybjsKLQotICAgIFdhbGxUaW1lIHJl
YWRUaW1lID0gV2FsbFRpbWU6Om5vdygpOwotCi0gICAgYXV0byBkZWNvZGVyID0gY3JlYXRlRm9y
RmlsZShmaWxlUGF0aCk7Ci0gICAgaWYgKCFkZWNvZGVyKQotICAgICAgICByZXR1cm47Ci0KLSAg
ICBtX21lbW9yeVN0b3JlLm1lcmdlV2l0aERhdGFGcm9tRGVjb2RlcigqZGVjb2Rlcik7Ci0gICAg
bV9sYXN0U3RhdGlzdGljc0ZpbGVTeW5jVGltZSA9IHJlYWRUaW1lOwotfQotCi12b2lkIFJlc291
cmNlTG9hZFN0YXRpc3RpY3NQZXJzaXN0ZW50U3RvcmFnZTo6cG9wdWxhdGVNZW1vcnlTdG9yZUZy
b21EaXNrKENvbXBsZXRpb25IYW5kbGVyPHZvaWQoKT4mJiBjb21wbGV0aW9uSGFuZGxlcikKLXsK
LSAgICBBU1NFUlQoIVJ1bkxvb3A6OmlzTWFpbigpKTsKLQotICAgIFN0cmluZyBmaWxlUGF0aCA9
IHJlc291cmNlTG9nRmlsZVBhdGgoKTsKLSAgICBpZiAoZmlsZVBhdGguaXNFbXB0eSgpIHx8ICFG
aWxlU3lzdGVtOjpmaWxlRXhpc3RzKGZpbGVQYXRoKSkgewotICAgICAgICBtX21lbW9yeVN0b3Jl
LmdyYW5kZmF0aGVyRXhpc3RpbmdXZWJzaXRlRGF0YShXVEZNb3ZlKGNvbXBsZXRpb25IYW5kbGVy
KSk7Ci0gICAgICAgIG1vbml0b3JEaXJlY3RvcnlGb3JOZXdTdGF0aXN0aWNzKCk7Ci0gICAgICAg
IHJldHVybjsKLSAgICB9Ci0KLSAgICBpZiAoIWhhc0ZpbGVDaGFuZ2VkU2luY2UoZmlsZVBhdGgs
IG1fbGFzdFN0YXRpc3RpY3NGaWxlU3luY1RpbWUpKSB7Ci0gICAgICAgIC8vIE5vIG5lZWQgdG8g
Z3JhbmRmYXRoZXIgaW4gdGhpcyBjYXNlLgotICAgICAgICBjb21wbGV0aW9uSGFuZGxlcigpOwot
ICAgICAgICByZXR1cm47Ci0gICAgfQotCi0gICAgV2FsbFRpbWUgcmVhZFRpbWUgPSBXYWxsVGlt
ZTo6bm93KCk7Ci0KLSAgICBhdXRvIGRlY29kZXIgPSBjcmVhdGVGb3JGaWxlKGZpbGVQYXRoKTsK
LSAgICBpZiAoIWRlY29kZXIpIHsKLSAgICAgICAgbV9tZW1vcnlTdG9yZS5ncmFuZGZhdGhlckV4
aXN0aW5nV2Vic2l0ZURhdGEoV1RGTW92ZShjb21wbGV0aW9uSGFuZGxlcikpOwotICAgICAgICBy
ZXR1cm47Ci0gICAgfQotCi0gICAgLy8gRGVidWcgbW9kZSBoYXMgYSBwcmVwb3B1bGF0ZWQgbWVt
b3J5IHN0b3JlLgotICAgIEFTU0VSVF9XSVRIX01FU1NBR0UobV9tZW1vcnlTdG9yZS5pc0VtcHR5
KCkgfHwgbV9tZW1vcnlTdG9yZS5pc0RlYnVnTW9kZUVuYWJsZWQoKSwgIlRoaXMgaXMgdGhlIGlu
aXRpYWwgaW1wb3J0IHNvIHRoZSBzdG9yZSBzaG91bGQgYmUgZW1wdHkiKTsKLSAgICBtX21lbW9y
eVN0b3JlLm1lcmdlV2l0aERhdGFGcm9tRGVjb2RlcigqZGVjb2Rlcik7Ci0KLSAgICBtX2xhc3RT
dGF0aXN0aWNzRmlsZVN5bmNUaW1lID0gcmVhZFRpbWU7Ci0KLSAgICBtX21lbW9yeVN0b3JlLmxv
Z1Rlc3RpbmdFdmVudCgiUG9wdWxhdGVkV2l0aG91dEdyYW5kZmF0aGVyaW5nIl9zKTsKLSAgICBj
b21wbGV0aW9uSGFuZGxlcigpOwotfQotCi12b2lkIFJlc291cmNlTG9hZFN0YXRpc3RpY3NQZXJz
aXN0ZW50U3RvcmFnZTo6d3JpdGVNZW1vcnlTdG9yZVRvRGlzaygpCi17Ci0gICAgQVNTRVJUKCFS
dW5Mb29wOjppc01haW4oKSk7Ci0KLSAgICBtX2hhc1BlbmRpbmdXcml0ZSA9IGZhbHNlOwotICAg
IHN0b3BNb25pdG9yaW5nRGlzaygpOwotCi0gICAgd3JpdGVUb0Rpc2sobV9tZW1vcnlTdG9yZS5j
cmVhdGVFbmNvZGVyRnJvbURhdGEoKSwgcmVzb3VyY2VMb2dGaWxlUGF0aCgpKTsKLQotICAgIG1f
bGFzdFN0YXRpc3RpY3NGaWxlU3luY1RpbWUgPSBXYWxsVGltZTo6bm93KCk7Ci0gICAgbV9sYXN0
U3RhdGlzdGljc1dyaXRlVGltZSA9IE1vbm90b25pY1RpbWU6Om5vdygpOwotCi0gICAgc3RhcnRN
b25pdG9yaW5nRGlzaygpOwotfQotCi12b2lkIFJlc291cmNlTG9hZFN0YXRpc3RpY3NQZXJzaXN0
ZW50U3RvcmFnZTo6c2NoZWR1bGVPcldyaXRlTWVtb3J5U3RvcmUoRm9yY2VJbW1lZGlhdGVXcml0
ZSBmb3JjZUltbWVkaWF0ZVdyaXRlKQotewotICAgIEFTU0VSVCghUnVuTG9vcDo6aXNNYWluKCkp
OwotCi0gICAgYXV0byB0aW1lU2luY2VMYXN0V3JpdGUgPSBNb25vdG9uaWNUaW1lOjpub3coKSAt
IG1fbGFzdFN0YXRpc3RpY3NXcml0ZVRpbWU7Ci0gICAgaWYgKGZvcmNlSW1tZWRpYXRlV3JpdGUg
IT0gRm9yY2VJbW1lZGlhdGVXcml0ZTo6WWVzICYmIHRpbWVTaW5jZUxhc3RXcml0ZSA8IG1pbmlt
dW1Xcml0ZUludGVydmFsKSB7Ci0gICAgICAgIGlmICghbV9oYXNQZW5kaW5nV3JpdGUpIHsKLSAg
ICAgICAgICAgIG1faGFzUGVuZGluZ1dyaXRlID0gdHJ1ZTsKLSAgICAgICAgICAgIFNlY29uZHMg
ZGVsYXkgPSBtaW5pbXVtV3JpdGVJbnRlcnZhbCAtIHRpbWVTaW5jZUxhc3RXcml0ZSArIDFfczsK
LSAgICAgICAgICAgIG1fd29ya1F1ZXVlLT5kaXNwYXRjaEFmdGVyKGRlbGF5LCBbd2Vha1RoaXMg
PSBtYWtlV2Vha1B0cigqdGhpcyldIHsKLSAgICAgICAgICAgICAgICBpZiAod2Vha1RoaXMpCi0g
ICAgICAgICAgICAgICAgICAgIHdlYWtUaGlzLT53cml0ZU1lbW9yeVN0b3JlVG9EaXNrKCk7Ci0g
ICAgICAgICAgICB9KTsKLSAgICAgICAgfQotICAgICAgICByZXR1cm47Ci0gICAgfQotCi0gICAg
d3JpdGVNZW1vcnlTdG9yZVRvRGlzaygpOwotfQotCi12b2lkIFJlc291cmNlTG9hZFN0YXRpc3Rp
Y3NQZXJzaXN0ZW50U3RvcmFnZTo6Y2xlYXIoKQotewotICAgIEFTU0VSVCghUnVuTG9vcDo6aXNN
YWluKCkpOwotICAgIFN0cmluZyBmaWxlUGF0aCA9IHJlc291cmNlTG9nRmlsZVBhdGgoKTsKLSAg
ICBpZiAoZmlsZVBhdGguaXNFbXB0eSgpKQotICAgICAgICByZXR1cm47Ci0KLSAgICBzdG9wTW9u
aXRvcmluZ0Rpc2soKTsKLQotICAgIGlmICghRmlsZVN5c3RlbTo6ZGVsZXRlRmlsZShmaWxlUGF0
aCkgJiYgRmlsZVN5c3RlbTo6ZmlsZUV4aXN0cyhmaWxlUGF0aCkpCi0gICAgICAgIFJFTEVBU0Vf
TE9HX0VSUk9SKFJlc291cmNlTG9hZFN0YXRpc3RpY3MsICJSZXNvdXJjZUxvYWRTdGF0aXN0aWNz
UGVyc2lzdGVudFN0b3JhZ2U6IFVuYWJsZSB0byBkZWxldGUgc3RhdGlzdGljcyBmaWxlOiAlcyIs
IGZpbGVQYXRoLnV0ZjgoKS5kYXRhKCkpOwotfQotCi0jaWYgIVBMQVRGT1JNKElPU19GQU1JTFkp
Ci12b2lkIFJlc291cmNlTG9hZFN0YXRpc3RpY3NQZXJzaXN0ZW50U3RvcmFnZTo6ZXhjbHVkZUZy
b21CYWNrdXAoKSBjb25zdAotewotfQotI2VuZGlmCi0KLX0gLy8gbmFtZXNwYWNlIFdlYktpdAot
Ci0jZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvQ2xhc3Np
Zmllci9SZXNvdXJjZUxvYWRTdGF0aXN0aWNzUGVyc2lzdGVudFN0b3JhZ2UuaCBiL1NvdXJjZS9X
ZWJLaXQvTmV0d29ya1Byb2Nlc3MvQ2xhc3NpZmllci9SZXNvdXJjZUxvYWRTdGF0aXN0aWNzUGVy
c2lzdGVudFN0b3JhZ2UuaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggOTc2NGE3ODRh
NjY5YWM1MGVkZWMxYTZkYThkNGJjZmQxOWE0NGFjNS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL0NsYXNz
aWZpZXIvUmVzb3VyY2VMb2FkU3RhdGlzdGljc1BlcnNpc3RlbnRTdG9yYWdlLmgKKysrIC9kZXYv
bnVsbApAQCAtMSw4MiArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDE3LTIwMTggQXBw
bGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1
c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZp
Y2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRp
b25zCi0gKiBhcmUgbWV0OgotICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11
c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqIDIuIFJlZGlzdHJp
YnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0
Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRl
cmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotICoKLSAqIFRISVMgU09GVFdB
UkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElT
JycKLSAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLAotICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFO
VEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgotICogUFVSUE9TRSBBUkUgRElT
Q0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JT
Ci0gKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVD
SUFMLCBFWEVNUExBUlksIE9SCi0gKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgotICogU1VCU1RJVFVURSBHT09EUyBP
UiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCi0g
KiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJ
TElUWSwgV0hFVEhFUiBJTgotICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQg
KElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKLSAqIEFSSVNJTkcgSU4gQU5ZIFdB
WSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKLSAq
IFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KLSAqLwotCi0jcHJhZ21hIG9uY2UKLQot
I2lmIEVOQUJMRShSRVNPVVJDRV9MT0FEX1NUQVRJU1RJQ1MpCi0KLSNpbmNsdWRlIDx3dGYvRm9y
d2FyZC5oPgotI2luY2x1ZGUgPHd0Zi9Nb25vdG9uaWNUaW1lLmg+Ci0jaW5jbHVkZSA8d3RmL1J1
bkxvb3AuaD4KLSNpbmNsdWRlIDx3dGYvV2FsbFRpbWUuaD4KLSNpbmNsdWRlIDx3dGYvV2Vha1B0
ci5oPgotI2luY2x1ZGUgPHd0Zi9Xb3JrUXVldWUuaD4KLSNpbmNsdWRlIDx3dGYvdGV4dC9XVEZT
dHJpbmcuaD4KLQotbmFtZXNwYWNlIFdlYkNvcmUgewotY2xhc3MgRmlsZU1vbml0b3I7Ci19Ci0K
LW5hbWVzcGFjZSBXZWJLaXQgewotCi1jbGFzcyBSZXNvdXJjZUxvYWRTdGF0aXN0aWNzTWVtb3J5
U3RvcmU7Ci0KLS8vIENhbiBvbmx5IGJlIGNvbnN0cnVjdGVkIC8gZGVzdHJveWVkIC8gdXNlZCBm
cm9tIHRoZSBXZWJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzU3RvcmUncyBzdGF0aXN0aWMgcXVldWUu
Ci1jbGFzcyBSZXNvdXJjZUxvYWRTdGF0aXN0aWNzUGVyc2lzdGVudFN0b3JhZ2UgOiBwdWJsaWMg
Q2FuTWFrZVdlYWtQdHI8UmVzb3VyY2VMb2FkU3RhdGlzdGljc1BlcnNpc3RlbnRTdG9yYWdlPiB7
Ci0gICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7Ci1wdWJsaWM6Ci0gICAgUmVzb3VyY2VMb2Fk
U3RhdGlzdGljc1BlcnNpc3RlbnRTdG9yYWdlKFJlc291cmNlTG9hZFN0YXRpc3RpY3NNZW1vcnlT
dG9yZSYsIFdvcmtRdWV1ZSYsIGNvbnN0IFN0cmluZyYgc3RvcmFnZURpcmVjdG9yeVBhdGgpOwot
ICAgIH5SZXNvdXJjZUxvYWRTdGF0aXN0aWNzUGVyc2lzdGVudFN0b3JhZ2UoKTsKLQotICAgIHZv
aWQgY2xlYXIoKTsKLQotICAgIGVudW0gY2xhc3MgRm9yY2VJbW1lZGlhdGVXcml0ZSB7IE5vLCBZ
ZXMsIH07Ci0gICAgdm9pZCBzY2hlZHVsZU9yV3JpdGVNZW1vcnlTdG9yZShGb3JjZUltbWVkaWF0
ZVdyaXRlKTsKLSAgICB2b2lkIHBvcHVsYXRlTWVtb3J5U3RvcmVGcm9tRGlzayhDb21wbGV0aW9u
SGFuZGxlcjx2b2lkKCk+JiYpOwotCi1wcml2YXRlOgotICAgIFN0cmluZyBzdG9yYWdlRGlyZWN0
b3J5UGF0aElzb2xhdGVkQ29weSgpIGNvbnN0OwotICAgIFN0cmluZyByZXNvdXJjZUxvZ0ZpbGVQ
YXRoKCkgY29uc3Q7Ci0KLSAgICB2b2lkIHN0YXJ0TW9uaXRvcmluZ0Rpc2soKTsKLSAgICB2b2lk
IHN0b3BNb25pdG9yaW5nRGlzaygpOwotICAgIHZvaWQgbW9uaXRvckRpcmVjdG9yeUZvck5ld1N0
YXRpc3RpY3MoKTsKLQotICAgIHZvaWQgd3JpdGVNZW1vcnlTdG9yZVRvRGlzaygpOwotICAgIHZv
aWQgZXhjbHVkZUZyb21CYWNrdXAoKSBjb25zdDsKLSAgICB2b2lkIHJlZnJlc2hNZW1vcnlTdG9y
ZUZyb21EaXNrKCk7Ci0KLSAgICBSZXNvdXJjZUxvYWRTdGF0aXN0aWNzTWVtb3J5U3RvcmUmIG1f
bWVtb3J5U3RvcmU7Ci0gICAgUmVmPFdvcmtRdWV1ZT4gbV93b3JrUXVldWU7Ci0gICAgY29uc3Qg
U3RyaW5nIG1fc3RvcmFnZURpcmVjdG9yeVBhdGg7Ci0gICAgc3RkOjp1bmlxdWVfcHRyPFdlYkNv
cmU6OkZpbGVNb25pdG9yPiBtX2ZpbGVNb25pdG9yOwotICAgIFdhbGxUaW1lIG1fbGFzdFN0YXRp
c3RpY3NGaWxlU3luY1RpbWU7Ci0gICAgTW9ub3RvbmljVGltZSBtX2xhc3RTdGF0aXN0aWNzV3Jp
dGVUaW1lOwotICAgIGJvb2wgbV9oYXNQZW5kaW5nV3JpdGUgeyBmYWxzZSB9OwotfTsKLQotfQot
Ci0jZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvQ2xhc3Np
Zmllci9SZXNvdXJjZUxvYWRTdGF0aXN0aWNzU3RvcmUuY3BwIGIvU291cmNlL1dlYktpdC9OZXR3
b3JrUHJvY2Vzcy9DbGFzc2lmaWVyL1Jlc291cmNlTG9hZFN0YXRpc3RpY3NTdG9yZS5jcHAKaW5k
ZXggMDE5NTBmMDVlZDY0M2RlM2I1NDYyZTNmMjZlYmJhZWQyMzhhZGQ0Ni4uMmQ3YjEyOGM1NGMx
YzM5ZTVhOGQ3NDUyMjM3NmVhMzJkMmY4NDIyZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9O
ZXR3b3JrUHJvY2Vzcy9DbGFzc2lmaWVyL1Jlc291cmNlTG9hZFN0YXRpc3RpY3NTdG9yZS5jcHAK
KysrIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9DbGFzc2lmaWVyL1Jlc291cmNlTG9h
ZFN0YXRpc3RpY3NTdG9yZS5jcHAKQEAgLTMzLDcgKzMzLDYgQEAKICNpbmNsdWRlICJOZXR3b3Jr
U2Vzc2lvbi5oIgogI2luY2x1ZGUgIlBsdWdpblByb2Nlc3NNYW5hZ2VyLmgiCiAjaW5jbHVkZSAi
UGx1Z2luUHJvY2Vzc1Byb3h5LmgiCi0jaW5jbHVkZSAiUmVzb3VyY2VMb2FkU3RhdGlzdGljc1Bl
cnNpc3RlbnRTdG9yYWdlLmgiCiAjaW5jbHVkZSAiU3RvcmFnZUFjY2Vzc1N0YXR1cy5oIgogI2lu
Y2x1ZGUgIldlYlByb2Nlc3NQcm94eS5oIgogI2luY2x1ZGUgIldlYlJlc291cmNlTG9hZFN0YXRp
c3RpY3NUZWxlbWV0cnkuaCIKQEAgLTI0OCw3ICsyNDcsNiBAQCB2b2lkIFJlc291cmNlTG9hZFN0
YXRpc3RpY3NTdG9yZTo6cHJvY2Vzc1N0YXRpc3RpY3NBbmREYXRhUmVjb3JkcygpCiAgICAgICAg
ICAgICByZXR1cm47CiAKICAgICAgICAgcHJ1bmVTdGF0aXN0aWNzSWZOZWVkZWQoKTsKLSAgICAg
ICAgc3luY1N0b3JhZ2VJZk5lZWRlZCgpOwogCiAgICAgICAgIGxvZ1Rlc3RpbmdFdmVudCgiU3Rv
cmFnZSBTeW5jZWQiX3MpOwogCkBAIC0yNzUsNyArMjczLDYgQEAgdm9pZCBSZXNvdXJjZUxvYWRT
dGF0aXN0aWNzU3RvcmU6OmdyYW5kZmF0aGVyRXhpc3RpbmdXZWJzaXRlRGF0YShDb21wbGV0aW9u
SGFuZGwKIAogICAgICAgICAgICAgICAgIHdlYWtUaGlzLT5ncmFuZGZhdGhlckRhdGFGb3JEb21h
aW5zKGRvbWFpbnNXaXRoV2Vic2l0ZURhdGEpOwogICAgICAgICAgICAgICAgIHdlYWtUaGlzLT5t
X2VuZE9mR3JhbmRmYXRoZXJpbmdUaW1lc3RhbXAgPSBXYWxsVGltZTo6bm93KCkgKyB3ZWFrVGhp
cy0+bV9wYXJhbWV0ZXJzLmdyYW5kZmF0aGVyaW5nVGltZTsKLSAgICAgICAgICAgICAgICB3ZWFr
VGhpcy0+c3luY1N0b3JhZ2VJbW1lZGlhdGVseSgpOwogICAgICAgICAgICAgICAgIGNhbGxiYWNr
KCk7CiAgICAgICAgICAgICAgICAgd2Vha1RoaXMtPmxvZ1Rlc3RpbmdFdmVudCgiR3JhbmRmYXRo
ZXJlZCJfcyk7CiAgICAgICAgICAgICB9KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvTmV0
d29ya1Byb2Nlc3MvQ2xhc3NpZmllci9SZXNvdXJjZUxvYWRTdGF0aXN0aWNzU3RvcmUuaCBiL1Nv
dXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvQ2xhc3NpZmllci9SZXNvdXJjZUxvYWRTdGF0aXN0
aWNzU3RvcmUuaAppbmRleCAyYzVhYWM2ZWEzYmU4NDVmMDU5NTZhMzhhM2EwZjk5OTRjNzM0ZGEy
Li4wMDhiYmJiOTQ5ZjU3YmE3YzNjNThkMzk0ODQ4NDVhODAwNjdlMWNmIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL0NsYXNzaWZpZXIvUmVzb3VyY2VMb2FkU3RhdGlz
dGljc1N0b3JlLmgKKysrIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9DbGFzc2lmaWVy
L1Jlc291cmNlTG9hZFN0YXRpc3RpY3NTdG9yZS5oCkBAIC01MSw4ICs1MSw2IEBAIHN0cnVjdCBS
ZXNvdXJjZUxvYWRTdGF0aXN0aWNzOwogCiBuYW1lc3BhY2UgV2ViS2l0IHsKIAotY2xhc3MgUmVz
b3VyY2VMb2FkU3RhdGlzdGljc1BlcnNpc3RlbnRTdG9yYWdlOwotCiBjbGFzcyBPcGVyYXRpbmdE
YXRlIHsKIHB1YmxpYzoKICAgICBPcGVyYXRpbmdEYXRlKCkgPSBkZWZhdWx0OwpAQCAtMTE3LDgg
KzExNSw2IEBAIHB1YmxpYzoKICAgICB2b2lkIHByb2Nlc3NTdGF0aXN0aWNzQW5kRGF0YVJlY29y
ZHMoKTsKIAogICAgIHZpcnR1YWwgdm9pZCBjbGFzc2lmeVByZXZhbGVudFJlc291cmNlcygpID0g
MDsKLSAgICB2aXJ0dWFsIHZvaWQgc3luY1N0b3JhZ2VJZk5lZWRlZCgpID0gMDsKLSAgICB2aXJ0
dWFsIHZvaWQgc3luY1N0b3JhZ2VJbW1lZGlhdGVseSgpID0gMDsKICAgICB2aXJ0dWFsIHZvaWQg
bWVyZ2VTdGF0aXN0aWNzKFZlY3RvcjxSZXNvdXJjZUxvYWRTdGF0aXN0aWNzPiYmKSA9IDA7CiAK
ICAgICB2aXJ0dWFsIHZvaWQgcmVxdWVzdFN0b3JhZ2VBY2Nlc3NVbmRlck9wZW5lcihEb21haW5J
bk5lZWRPZlN0b3JhZ2VBY2Nlc3MmJiwgV2ViQ29yZTo6UGFnZUlkZW50aWZpZXIgb3BlbmVySUQs
IE9wZW5lckRvbWFpbiYmKSA9IDA7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQ
cm9jZXNzL0NsYXNzaWZpZXIvV2ViUmVzb3VyY2VMb2FkU3RhdGlzdGljc1N0b3JlLmNwcCBiL1Nv
dXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvQ2xhc3NpZmllci9XZWJSZXNvdXJjZUxvYWRTdGF0
aXN0aWNzU3RvcmUuY3BwCmluZGV4IDFmMGJiMTY3MGZhZmM5MzBjZDk3ZjIxM2NlMTJjMDllYjUy
MmE5MzcuLmE5ZGQ4MGIxNDY3YTkyZjNkNzlhNzUzNTIyN2FhMmUwM2Y0ZjgwZDIgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvQ2xhc3NpZmllci9XZWJSZXNvdXJjZUxv
YWRTdGF0aXN0aWNzU3RvcmUuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3Mv
Q2xhc3NpZmllci9XZWJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzU3RvcmUuY3BwCkBAIC0zNSw3ICsz
NSw2IEBACiAjaW5jbHVkZSAiTmV0d29ya1Nlc3Npb24uaCIKICNpbmNsdWRlICJSZXNvdXJjZUxv
YWRTdGF0aXN0aWNzRGF0YWJhc2VTdG9yZS5oIgogI2luY2x1ZGUgIlJlc291cmNlTG9hZFN0YXRp
c3RpY3NNZW1vcnlTdG9yZS5oIgotI2luY2x1ZGUgIlJlc291cmNlTG9hZFN0YXRpc3RpY3NQZXJz
aXN0ZW50U3RvcmFnZS5oIgogI2luY2x1ZGUgIlNob3VsZEdyYW5kZmF0aGVyU3RhdGlzdGljcy5o
IgogI2luY2x1ZGUgIlN0b3JhZ2VBY2Nlc3NTdGF0dXMuaCIKICNpbmNsdWRlICJXZWJGcmFtZVBy
b3h5LmgiCkBAIC0xNzgsMjMgKzE3NywxNSBAQCBXZWJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzU3Rv
cmU6OldlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NTdG9yZShOZXR3b3JrU2Vzc2lvbiYgbgogICAg
ICAgICByZXR1cm47CiAKICAgICBpZiAoIXJlc291cmNlTG9hZFN0YXRpc3RpY3NEaXJlY3Rvcnku
aXNFbXB0eSgpKSB7Ci0gICAgICAgIHBvc3RUYXNrKFt0aGlzLCBkYXRhYmFzZUVuYWJsZWQgPSBu
ZXR3b3JrU2Vzc2lvbi5uZXR3b3JrUHJvY2VzcygpLmlzSVRQRGF0YWJhc2VFbmFibGVkKCksIHJl
c291cmNlTG9hZFN0YXRpc3RpY3NEaXJlY3RvcnkgPSByZXNvdXJjZUxvYWRTdGF0aXN0aWNzRGly
ZWN0b3J5Lmlzb2xhdGVkQ29weSgpLCBzaG91bGRJbmNsdWRlTG9jYWxob3N0LCBzZXNzaW9uSUQg
PSBuZXR3b3JrU2Vzc2lvbi5zZXNzaW9uSUQoKV0gewotICAgICAgICAgICAgaWYgKGRhdGFiYXNl
RW5hYmxlZCkgewotICAgICAgICAgICAgICAgIG1fc3RhdGlzdGljc1N0b3JlID0gbWFrZVVuaXF1
ZTxSZXNvdXJjZUxvYWRTdGF0aXN0aWNzRGF0YWJhc2VTdG9yZT4oKnRoaXMsIG1fc3RhdGlzdGlj
c1F1ZXVlLCBzaG91bGRJbmNsdWRlTG9jYWxob3N0LCByZXNvdXJjZUxvYWRTdGF0aXN0aWNzRGly
ZWN0b3J5LCBzZXNzaW9uSUQpOworICAgICAgICBwb3N0VGFzayhbdGhpcywgcmVzb3VyY2VMb2Fk
U3RhdGlzdGljc0RpcmVjdG9yeSA9IHJlc291cmNlTG9hZFN0YXRpc3RpY3NEaXJlY3RvcnkuaXNv
bGF0ZWRDb3B5KCksIHNob3VsZEluY2x1ZGVMb2NhbGhvc3QsIHNlc3Npb25JRCA9IG5ldHdvcmtT
ZXNzaW9uLnNlc3Npb25JRCgpXSB7CisgICAgICAgICAgICBtX3N0YXRpc3RpY3NTdG9yZSA9IG1h
a2VVbmlxdWU8UmVzb3VyY2VMb2FkU3RhdGlzdGljc0RhdGFiYXNlU3RvcmU+KCp0aGlzLCBtX3N0
YXRpc3RpY3NRdWV1ZSwgc2hvdWxkSW5jbHVkZUxvY2FsaG9zdCwgcmVzb3VyY2VMb2FkU3RhdGlz
dGljc0RpcmVjdG9yeSwgc2Vzc2lvbklEKTsKIAotICAgICAgICAgICAgICAgIGF1dG8gbWVtb3J5
U3RvcmUgPSBtYWtlVW5pcXVlPFJlc291cmNlTG9hZFN0YXRpc3RpY3NNZW1vcnlTdG9yZT4oKnRo
aXMsIG1fc3RhdGlzdGljc1F1ZXVlLCBzaG91bGRJbmNsdWRlTG9jYWxob3N0KTsKLSAgICAgICAg
ICAgICAgICBkb3duY2FzdDxSZXNvdXJjZUxvYWRTdGF0aXN0aWNzRGF0YWJhc2VTdG9yZT4oKm1f
c3RhdGlzdGljc1N0b3JlLmdldCgpKS5wb3B1bGF0ZUZyb21NZW1vcnlTdG9yZSgqbWVtb3J5U3Rv
cmUpOworICAgICAgICAgICAgYXV0byBtZW1vcnlTdG9yZSA9IG1ha2VVbmlxdWU8UmVzb3VyY2VM
b2FkU3RhdGlzdGljc01lbW9yeVN0b3JlPigqdGhpcywgbV9zdGF0aXN0aWNzUXVldWUsIHNob3Vs
ZEluY2x1ZGVMb2NhbGhvc3QpOworICAgICAgICAgICAgZG93bmNhc3Q8UmVzb3VyY2VMb2FkU3Rh
dGlzdGljc0RhdGFiYXNlU3RvcmU+KCptX3N0YXRpc3RpY3NTdG9yZS5nZXQoKSkucG9wdWxhdGVG
cm9tTWVtb3J5U3RvcmUoKm1lbW9yeVN0b3JlKTsKIAotICAgICAgICAgICAgICAgIGF1dG8gbGVn
YWN5UGxpc3RGaWxlUGF0aCA9IEZpbGVTeXN0ZW06OnBhdGhCeUFwcGVuZGluZ0NvbXBvbmVudChy
ZXNvdXJjZUxvYWRTdGF0aXN0aWNzRGlyZWN0b3J5LCAiZnVsbF9icm93c2luZ19zZXNzaW9uX3Jl
c291cmNlTG9nLnBsaXN0Iik7Ci0gICAgICAgICAgICAgICAgaWYgKEZpbGVTeXN0ZW06OmZpbGVF
eGlzdHMobGVnYWN5UGxpc3RGaWxlUGF0aCkpCi0gICAgICAgICAgICAgICAgICAgIEZpbGVTeXN0
ZW06OmRlbGV0ZUZpbGUobGVnYWN5UGxpc3RGaWxlUGF0aCk7Ci0KLSAgICAgICAgICAgIH0gZWxz
ZSB7Ci0gICAgICAgICAgICAgICAgbV9zdGF0aXN0aWNzU3RvcmUgPSBtYWtlVW5pcXVlPFJlc291
cmNlTG9hZFN0YXRpc3RpY3NNZW1vcnlTdG9yZT4oKnRoaXMsIG1fc3RhdGlzdGljc1F1ZXVlLCBz
aG91bGRJbmNsdWRlTG9jYWxob3N0KTsKLSAgICAgICAgICAgICAgICBtX3BlcnNpc3RlbnRTdG9y
YWdlID0gbWFrZVVuaXF1ZTxSZXNvdXJjZUxvYWRTdGF0aXN0aWNzUGVyc2lzdGVudFN0b3JhZ2U+
KGRvd25jYXN0PFJlc291cmNlTG9hZFN0YXRpc3RpY3NNZW1vcnlTdG9yZT4oKm1fc3RhdGlzdGlj
c1N0b3JlKSwgbV9zdGF0aXN0aWNzUXVldWUsIHJlc291cmNlTG9hZFN0YXRpc3RpY3NEaXJlY3Rv
cnkpOwotCi0gICAgICAgICAgICAgICAgU1FMaXRlRmlsZVN5c3RlbTo6ZGVsZXRlRGF0YWJhc2VG
aWxlKEZpbGVTeXN0ZW06OnBhdGhCeUFwcGVuZGluZ0NvbXBvbmVudChyZXNvdXJjZUxvYWRTdGF0
aXN0aWNzRGlyZWN0b3J5LCAib2JzZXJ2YXRpb25zLmRiIikpOwotICAgICAgICAgICAgfQorICAg
ICAgICAgICAgYXV0byBsZWdhY3lQbGlzdEZpbGVQYXRoID0gRmlsZVN5c3RlbTo6cGF0aEJ5QXBw
ZW5kaW5nQ29tcG9uZW50KHJlc291cmNlTG9hZFN0YXRpc3RpY3NEaXJlY3RvcnksICJmdWxsX2Jy
b3dzaW5nX3Nlc3Npb25fcmVzb3VyY2VMb2cucGxpc3QiKTsKKyAgICAgICAgICAgIGlmIChGaWxl
U3lzdGVtOjpmaWxlRXhpc3RzKGxlZ2FjeVBsaXN0RmlsZVBhdGgpKQorICAgICAgICAgICAgICAg
IEZpbGVTeXN0ZW06OmRlbGV0ZUZpbGUobGVnYWN5UGxpc3RGaWxlUGF0aCk7CiAKICAgICAgICAg
ICAgIG1fc3RhdGlzdGljc1N0b3JlLT5kaWRDcmVhdGVOZXR3b3JrUHJvY2VzcygpOwogICAgICAg
ICB9KTsKQEAgLTIwNyw3ICsxOTgsNiBAQCBXZWJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzU3RvcmU6
On5XZWJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzU3RvcmUoKQogewogICAgIFJFTEVBU0VfQVNTRVJU
KFJ1bkxvb3A6OmlzTWFpbigpKTsKICAgICBSRUxFQVNFX0FTU0VSVCghbV9zdGF0aXN0aWNzU3Rv
cmUpOwotICAgIFJFTEVBU0VfQVNTRVJUKCFtX3BlcnNpc3RlbnRTdG9yYWdlKTsKIH0KIAogdm9p
ZCBXZWJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzU3RvcmU6OmRpZERlc3Ryb3lOZXR3b3JrU2Vzc2lv
bihDb21wbGV0aW9uSGFuZGxlcjx2b2lkKCk+JiYgY29tcGxldGlvbkhhbmRsZXIpCkBAIC0yMTks
NyArMjA5LDYgQEAgdm9pZCBXZWJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzU3RvcmU6OmRpZERlc3Ry
b3lOZXR3b3JrU2Vzc2lvbihDb21wbGV0aW9uSGFuZGxlcjwKICAgICB9KTsKIAogICAgIG1fbmV0
d29ya1Nlc3Npb24gPSBudWxscHRyOwotICAgIGZsdXNoQW5kRGVzdHJveVBlcnNpc3RlbnRTdG9y
ZShbY2FsbGJhY2tBZ2dyZWdhdG9yXSB7IH0pOwogICAgIGRlc3Ryb3lSZXNvdXJjZUxvYWRTdGF0
aXN0aWNzU3RvcmUoW2NhbGxiYWNrQWdncmVnYXRvcl0geyB9KTsKIH0KIApAQCAtMjU1LDI4ICsy
NDQsMTIgQEAgdm9pZCBXZWJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzU3RvcmU6OmRlc3Ryb3lSZXNv
dXJjZUxvYWRTdGF0aXN0aWNzU3RvcmUoQ29tcGxldGkKICAgICB9KTsKIH0KIAotdm9pZCBXZWJS
ZXNvdXJjZUxvYWRTdGF0aXN0aWNzU3RvcmU6OmZsdXNoQW5kRGVzdHJveVBlcnNpc3RlbnRTdG9y
ZShDb21wbGV0aW9uSGFuZGxlcjx2b2lkKCk+JiYgY29tcGxldGlvbkhhbmRsZXIpCi17Ci0gICAg
UkVMRUFTRV9BU1NFUlQoUnVuTG9vcDo6aXNNYWluKCkpOwotCi0gICAgLy8gTWFrZSBzdXJlIHdl
IGRlc3Ryb3kgdGhlIHBlcnNpc3RlbnQgc3RvcmUgb24gdGhlIGJhY2tncm91bmQgcXVldWUgYW5k
IHN0YXkgYWxpdmUgdW50aWwgaXQKLSAgICAvLyBpcyBkZXN0cm95ZWQgYmVjYXVzZSBpdCBoYXMg
YSBDKysgcmVmZXJlbmNlIHRvIHVzLgotICAgIG1fc3RhdGlzdGljc1F1ZXVlLT5kaXNwYXRjaChb
dGhpcywgcHJvdGVjdGVkVGhpcyA9IG1ha2VSZWYoKnRoaXMpLCBjb21wbGV0aW9uSGFuZGxlciA9
IFdURk1vdmUoY29tcGxldGlvbkhhbmRsZXIpXSAoKSBtdXRhYmxlIHsKLSAgICAgICAgbV9wZXJz
aXN0ZW50U3RvcmFnZSA9IG51bGxwdHI7Ci0gICAgICAgIFJ1bkxvb3A6Om1haW4oKS5kaXNwYXRj
aChXVEZNb3ZlKGNvbXBsZXRpb25IYW5kbGVyKSk7Ci0gICAgfSk7Ci19Ci0KIHZvaWQgV2ViUmVz
b3VyY2VMb2FkU3RhdGlzdGljc1N0b3JlOjpwb3B1bGF0ZU1lbW9yeVN0b3JlRnJvbURpc2soQ29t
cGxldGlvbkhhbmRsZXI8dm9pZCgpPiYmIGNvbXBsZXRpb25IYW5kbGVyKQogewogICAgIEFTU0VS
VChSdW5Mb29wOjppc01haW4oKSk7CiAgICAgCiAgICAgcG9zdFRhc2soW3RoaXMsIHByb3RlY3Rl
ZFRoaXMgPSBtYWtlUmVmKCp0aGlzKSwgY29tcGxldGlvbkhhbmRsZXIgPSBXVEZNb3ZlKGNvbXBs
ZXRpb25IYW5kbGVyKV0oKSBtdXRhYmxlIHsKLSAgICAgICAgaWYgKG1fcGVyc2lzdGVudFN0b3Jh
Z2UpCi0gICAgICAgICAgICBtX3BlcnNpc3RlbnRTdG9yYWdlLT5wb3B1bGF0ZU1lbW9yeVN0b3Jl
RnJvbURpc2soW3Byb3RlY3RlZFRoaXMgPSBXVEZNb3ZlKHByb3RlY3RlZFRoaXMpLCBjb21wbGV0
aW9uSGFuZGxlciA9IFdURk1vdmUoY29tcGxldGlvbkhhbmRsZXIpXSgpIG11dGFibGUgewotICAg
ICAgICAgICAgICAgIHBvc3RUYXNrUmVwbHkoV1RGTW92ZShjb21wbGV0aW9uSGFuZGxlcikpOwot
ICAgICAgICAgICAgfSk7Ci0gICAgICAgIGVsc2UgaWYgKG1fc3RhdGlzdGljc1N0b3JlICYmIGlz
PFJlc291cmNlTG9hZFN0YXRpc3RpY3NEYXRhYmFzZVN0b3JlPigqbV9zdGF0aXN0aWNzU3RvcmUp
KSB7CisgICAgICAgIGlmIChtX3N0YXRpc3RpY3NTdG9yZSAmJiBpczxSZXNvdXJjZUxvYWRTdGF0
aXN0aWNzRGF0YWJhc2VTdG9yZT4oKm1fc3RhdGlzdGljc1N0b3JlKSkgewogICAgICAgICAgICAg
YXV0byYgZGF0YWJhc2VTdG9yZSA9IGRvd25jYXN0PFJlc291cmNlTG9hZFN0YXRpc3RpY3NEYXRh
YmFzZVN0b3JlPigqbV9zdGF0aXN0aWNzU3RvcmUpOwogICAgICAgICAgICAgaWYgKGRhdGFiYXNl
U3RvcmUuaXNOZXdSZXNvdXJjZUxvYWRTdGF0aXN0aWNzRGF0YWJhc2VGaWxlKCkpIHsKICAgICAg
ICAgICAgICAgICBtX3N0YXRpc3RpY3NTdG9yZS0+Z3JhbmRmYXRoZXJFeGlzdGluZ1dlYnNpdGVE
YXRhKFtwcm90ZWN0ZWRUaGlzID0gV1RGTW92ZShwcm90ZWN0ZWRUaGlzKSwgY29tcGxldGlvbkhh
bmRsZXIgPSBXVEZNb3ZlKGNvbXBsZXRpb25IYW5kbGVyKV0oKSBtdXRhYmxlIHsKQEAgLTExNjgs
OSArMTE0MSw2IEBAIHZvaWQgV2ViUmVzb3VyY2VMb2FkU3RhdGlzdGljc1N0b3JlOjpzY2hlZHVs
ZUNsZWFySW5NZW1vcnlBbmRQZXJzaXN0ZW50KFNob3VsZEdyCiAKICAgICBBU1NFUlQoUnVuTG9v
cDo6aXNNYWluKCkpOwogICAgIHBvc3RUYXNrKFt0aGlzLCBwcm90ZWN0ZWRUaGlzID0gbWFrZVJl
ZigqdGhpcyksIHNob3VsZEdyYW5kZmF0aGVyLCBjb21wbGV0aW9uSGFuZGxlciA9IFdURk1vdmUo
Y29tcGxldGlvbkhhbmRsZXIpXSgpIG11dGFibGUgewotICAgICAgICBpZiAobV9wZXJzaXN0ZW50
U3RvcmFnZSkKLSAgICAgICAgICAgIG1fcGVyc2lzdGVudFN0b3JhZ2UtPmNsZWFyKCk7Ci0KICAg
ICAgICAgaWYgKCFtX3N0YXRpc3RpY3NTdG9yZSkgewogICAgICAgICAgICAgaWYgKHNob3VsZEdy
YW5kZmF0aGVyID09IFNob3VsZEdyYW5kZmF0aGVyU3RhdGlzdGljczo6WWVzKQogICAgICAgICAg
ICAgICAgIFJFTEVBU0VfTE9HKFJlc291cmNlTG9hZFN0YXRpc3RpY3MsICJXZWJSZXNvdXJjZUxv
YWRTdGF0aXN0aWNzU3RvcmU6OnNjaGVkdWxlQ2xlYXJJbk1lbW9yeUFuZFBlcnNpc3RlbnQgQmVm
b3JlIGJlaW5nIGNsZWFyZWQsIG1fc3RhdGlzdGljc1N0b3JlIGlzIG51bGwgd2hlbiB0cnlpbmcg
dG8gZ3JhbmRmYXRoZXIgZGF0YS4iKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvTmV0d29y
a1Byb2Nlc3MvQ2xhc3NpZmllci9XZWJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzU3RvcmUuaCBiL1Nv
dXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvQ2xhc3NpZmllci9XZWJSZXNvdXJjZUxvYWRTdGF0
aXN0aWNzU3RvcmUuaAppbmRleCBhNzk3YzZkYTE2MTg3YmRiZGYwNDNmOWZmOTc1M2Q3M2MxNTcx
OTZiLi5mZGQyMTQ0NTFjZDQxNzY1N2QzZWY3Njk0YzVmZDQyOTc3M2NhY2M3IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL0NsYXNzaWZpZXIvV2ViUmVzb3VyY2VMb2Fk
U3RhdGlzdGljc1N0b3JlLmgKKysrIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9DbGFz
c2lmaWVyL1dlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NTdG9yZS5oCkBAIC02Myw3ICs2Myw2IEBA
IG5hbWVzcGFjZSBXZWJLaXQgewogCiBjbGFzcyBOZXR3b3JrU2Vzc2lvbjsKIGNsYXNzIFJlc291
cmNlTG9hZFN0YXRpc3RpY3NTdG9yZTsKLWNsYXNzIFJlc291cmNlTG9hZFN0YXRpc3RpY3NQZXJz
aXN0ZW50U3RvcmFnZTsKIGNsYXNzIFdlYkZyYW1lUHJveHk7CiBjbGFzcyBXZWJQcm9jZXNzUHJv
eHk7CiBlbnVtIGNsYXNzIFNob3VsZEdyYW5kZmF0aGVyU3RhdGlzdGljcyA6IGJvb2w7CkBAIC0z
MDIsNyArMzAxLDYgQEAgc3RydWN0IFRoaXJkUGFydHlEYXRhIHsKICAgICAKICAgICBib29sIGlz
RXBoZW1lcmFsKCkgY29uc3QgeyByZXR1cm4gbV9pc0VwaGVtZXJhbCA9PSBXZWJDb3JlOjpSZXNv
dXJjZUxvYWRTdGF0aXN0aWNzOjpJc0VwaGVtZXJhbDo6WWVzOyB9OwogICAgIHZvaWQgaW5zZXJ0
RXhwaXJlZFN0YXRpc3RpY0ZvclRlc3RpbmcoY29uc3QgUmVnaXN0cmFibGVEb21haW4mLCBib29s
IGhhZFVzZXJJbnRlcmFjdGlvbiwgYm9vbCBpc1NjaGVkdWxlZEZvckFsbEJ1dENvb2tpZURhdGFS
ZW1vdmFsLCBib29sIGlzUHJldmFsZW50LCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKCk+JiYpOwot
ICAgIHZvaWQgZmx1c2hBbmREZXN0cm95UGVyc2lzdGVudFN0b3JlKENvbXBsZXRpb25IYW5kbGVy
PHZvaWQoKT4mJik7CiAKIHByaXZhdGU6CiAgICAgZXhwbGljaXQgV2ViUmVzb3VyY2VMb2FkU3Rh
dGlzdGljc1N0b3JlKE5ldHdvcmtTZXNzaW9uJiwgY29uc3QgU3RyaW5nJiwgU2hvdWxkSW5jbHVk
ZUxvY2FsaG9zdCwgV2ViQ29yZTo6UmVzb3VyY2VMb2FkU3RhdGlzdGljczo6SXNFcGhlbWVyYWwp
OwpAQCAtMzI4LDcgKzMyNiw2IEBAIHByaXZhdGU6CiAgICAgV2Vha1B0cjxOZXR3b3JrU2Vzc2lv
bj4gbV9uZXR3b3JrU2Vzc2lvbjsKICAgICBSZWY8V1RGOjpXb3JrUXVldWU+IG1fc3RhdGlzdGlj
c1F1ZXVlOwogICAgIHN0ZDo6dW5pcXVlX3B0cjxSZXNvdXJjZUxvYWRTdGF0aXN0aWNzU3RvcmU+
IG1fc3RhdGlzdGljc1N0b3JlOwotICAgIHN0ZDo6dW5pcXVlX3B0cjxSZXNvdXJjZUxvYWRTdGF0
aXN0aWNzUGVyc2lzdGVudFN0b3JhZ2U+IG1fcGVyc2lzdGVudFN0b3JhZ2U7CiAKICAgICBSdW5M
b29wOjpUaW1lcjxXZWJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzU3RvcmU+IG1fZGFpbHlUYXNrc1Rp
bWVyOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtQ
cm9jZXNzLmNwcCBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Byb2Nlc3Mu
Y3BwCmluZGV4IGJlOGQ5NjY2MmJlNmRjZDg1ZmEzYzMyOTI5YWUwZjBiNWQxODIzNDMuLjQwNDFj
NTJiMDc1YzY0MjU5ZjY4MDUwYmE5N2I2ODMxMWEzYTk1Y2QgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Byb2Nlc3MuY3BwCisrKyBiL1NvdXJjZS9XZWJL
aXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Byb2Nlc3MuY3BwCkBAIC0yNjksMTIgKzI2OSw3IEBA
IHZvaWQgTmV0d29ya1Byb2Nlc3M6OmRpZENsb3NlKElQQzo6Q29ubmVjdGlvbiYpCiAgICAgICAg
IHN0b3BSdW5Mb29wKCk7CiAgICAgfSk7CiAKLSAgICAvLyBNYWtlIHN1cmUgd2UgZmx1c2ggYWxs
IGNvb2tpZXMgYW5kIHJlc291cmNlIGxvYWQgc3RhdGlzdGljcyB0byBkaXNrIGJlZm9yZSBleGl0
aW5nLgotI2lmIEVOQUJMRShSRVNPVVJDRV9MT0FEX1NUQVRJU1RJQ1MpCi0gICAgZm9yRWFjaE5l
dHdvcmtTZXNzaW9uKFsmXSAoYXV0byYgbmV0d29ya1Nlc3Npb24pIHsKLSAgICAgICAgbmV0d29y
a1Nlc3Npb24uZmx1c2hBbmREZXN0cm95UGVyc2lzdGVudFN0b3JlKFtjYWxsYmFja0FnZ3JlZ2F0
b3JdIHsgfSk7Ci0gICAgfSk7Ci0jZW5kaWYKKyAgICAvLyBNYWtlIHN1cmUgd2UgZmx1c2ggYWxs
IGNvb2tpZXMgdG8gZGlzayBiZWZvcmUgZXhpdGluZy4KICAgICBmb3JFYWNoTmV0d29ya1Nlc3Np
b24oWyZdIChhdXRvJiBuZXR3b3JrU2Vzc2lvbikgewogICAgICAgICBwbGF0Zm9ybUZsdXNoQ29v
a2llcyhuZXR3b3JrU2Vzc2lvbi5zZXNzaW9uSUQoKSwgW2NhbGxiYWNrQWdncmVnYXRvcl0geyB9
KTsKICAgICB9KTsKQEAgLTM0MSwxMCArMzM2LDYgQEAgdm9pZCBOZXR3b3JrUHJvY2Vzczo6aW5p
dGlhbGl6ZU5ldHdvcmtQcm9jZXNzKE5ldHdvcmtQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzJiYK
IAogICAgIHNldENhY2hlTW9kZWwocGFyYW1ldGVycy5jYWNoZU1vZGVsKTsKIAotI2lmIEVOQUJM
RShSRVNPVVJDRV9MT0FEX1NUQVRJU1RJQ1MpCi0gICAgbV9pc0lUUERhdGFiYXNlRW5hYmxlZCA9
IHBhcmFtZXRlcnMuc2hvdWxkRW5hYmxlSVRQRGF0YWJhc2U7Ci0jZW5kaWYKLQogICAgIHNldEFk
Q2xpY2tBdHRyaWJ1dGlvbkRlYnVnTW9kZShwYXJhbWV0ZXJzLmVuYWJsZUFkQ2xpY2tBdHRyaWJ1
dGlvbkRlYnVnTW9kZSk7CiAKICAgICBTYW5kYm94RXh0ZW5zaW9uOjpjb25zdW1lUGVybWFuZW50
bHkocGFyYW1ldGVycy5kZWZhdWx0RGF0YVN0b3JlUGFyYW1ldGVycy5uZXR3b3JrU2Vzc2lvblBh
cmFtZXRlcnMucmVzb3VyY2VMb2FkU3RhdGlzdGljc1BhcmFtZXRlcnMuZGlyZWN0b3J5RXh0ZW5z
aW9uSGFuZGxlKTsKQEAgLTY4MiwyMCArNjczLDYgQEAgdm9pZCBOZXR3b3JrUHJvY2Vzczo6c2V0
R3JhbmRmYXRoZXJlZChQQUw6OlNlc3Npb25JRCBzZXNzaW9uSUQsIGNvbnN0IFJlZ2lzdHJhYmwK
ICAgICB9CiB9CiAKLXZvaWQgTmV0d29ya1Byb2Nlc3M6OnNldFVzZUlUUERhdGFiYXNlKFBBTDo6
U2Vzc2lvbklEIHNlc3Npb25JRCwgYm9vbCB2YWx1ZSwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZCgp
PiYmIGNvbXBsZXRpb25IYW5kbGVyKQotewotICAgIGlmIChhdXRvKiBuZXR3b3JrU2Vzc2lvbiA9
IHRoaXMtPm5ldHdvcmtTZXNzaW9uKHNlc3Npb25JRCkpIHsKLSAgICAgICAgaWYgKG1faXNJVFBE
YXRhYmFzZUVuYWJsZWQgIT0gdmFsdWUpIHsKLSAgICAgICAgICAgIG1faXNJVFBEYXRhYmFzZUVu
YWJsZWQgPSB2YWx1ZTsKLSAgICAgICAgICAgIG5ldHdvcmtTZXNzaW9uLT5yZWNyZWF0ZVJlc291
cmNlTG9hZFN0YXRpc3RpY1N0b3JlKFdURk1vdmUoY29tcGxldGlvbkhhbmRsZXIpKTsKLSAgICAg
ICAgfSBlbHNlCi0gICAgICAgICAgICBjb21wbGV0aW9uSGFuZGxlcigpOwotICAgIH0gZWxzZSB7
Ci0gICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwotICAgICAgICBjb21wbGV0aW9uSGFuZGxl
cigpOwotICAgIH0KLX0KLQogdm9pZCBOZXR3b3JrUHJvY2Vzczo6c2V0UHJldmFsZW50UmVzb3Vy
Y2UoUEFMOjpTZXNzaW9uSUQgc2Vzc2lvbklELCBjb25zdCBSZWdpc3RyYWJsZURvbWFpbiYgZG9t
YWluLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKCk+JiYgY29tcGxldGlvbkhhbmRsZXIpCiB7CiAg
ICAgaWYgKGF1dG8qIG5ldHdvcmtTZXNzaW9uID0gdGhpcy0+bmV0d29ya1Nlc3Npb24oc2Vzc2lv
bklEKSkgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3Jr
UHJvY2Vzcy5oIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUHJvY2Vzcy5o
CmluZGV4IDZhZDNkNjk5YTg5MWMzYmY5MmQ1ZTJjNGQ0NDgzYzM2MmYyNjQ2ZDAuLjcxNmExMDFk
Y2JjNjIyMjU0OGFmZDRkNmYzODg4N2RmYWZjZGYyYWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Byb2Nlc3MuaAorKysgYi9Tb3VyY2UvV2ViS2l0L05l
dHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzLmgKQEAgLTIyMCw3ICsyMjAsNiBAQCBwdWJsaWM6
CiAgICAgdm9pZCBpc1JlZ2lzdGVyZWRBc1N1YkZyYW1lVW5kZXIoUEFMOjpTZXNzaW9uSUQsIGNv
bnN0IFN1YkZyYW1lRG9tYWluJiwgY29uc3QgVG9wRnJhbWVEb21haW4mLCBDb21wbGV0aW9uSGFu
ZGxlcjx2b2lkKGJvb2wpPiYmKTsKICAgICB2b2lkIGlzUmVnaXN0ZXJlZEFzU3VicmVzb3VyY2VV
bmRlcihQQUw6OlNlc3Npb25JRCwgY29uc3QgU3ViUmVzb3VyY2VEb21haW4mLCBjb25zdCBUb3BG
cmFtZURvbWFpbiYsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoYm9vbCk+JiYpOwogICAgIHZvaWQg
c2V0R3JhbmRmYXRoZXJlZChQQUw6OlNlc3Npb25JRCwgY29uc3QgUmVnaXN0cmFibGVEb21haW4m
LCBib29sIGlzR3JhbmRmYXRoZXJlZCwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZCgpPiYmKTsKLSAg
ICB2b2lkIHNldFVzZUlUUERhdGFiYXNlKFBBTDo6U2Vzc2lvbklELCBib29sIHZhbHVlLCBDb21w
bGV0aW9uSGFuZGxlcjx2b2lkKCk+JiYpOwogICAgIHZvaWQgc2V0TWF4U3RhdGlzdGljc0VudHJp
ZXMoUEFMOjpTZXNzaW9uSUQsIHVpbnQ2NF90IG1heGltdW1FbnRyeUNvdW50LCBDb21wbGV0aW9u
SGFuZGxlcjx2b2lkKCk+JiYpOwogICAgIHZvaWQgc2V0UHJldmFsZW50UmVzb3VyY2UoUEFMOjpT
ZXNzaW9uSUQsIGNvbnN0IFJlZ2lzdHJhYmxlRG9tYWluJiwgQ29tcGxldGlvbkhhbmRsZXI8dm9p
ZCgpPiYmKTsKICAgICB2b2lkIHNldFByZXZhbGVudFJlc291cmNlRm9yRGVidWdNb2RlKFBBTDo6
U2Vzc2lvbklELCBjb25zdCBSZWdpc3RyYWJsZURvbWFpbiYsIENvbXBsZXRpb25IYW5kbGVyPHZv
aWQoKT4mJik7CkBAIC0yNjksNyArMjY4LDYgQEAgcHVibGljOgogI2lmIEVOQUJMRShBUFBfQk9V
TkRfRE9NQUlOUykKICAgICB2b2lkIHNldEFwcEJvdW5kRG9tYWluc0ZvclJlc291cmNlTG9hZFN0
YXRpc3RpY3MoUEFMOjpTZXNzaW9uSUQsIEhhc2hTZXQ8V2ViQ29yZTo6UmVnaXN0cmFibGVEb21h
aW4+JiYsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoKT4mJik7CiAjZW5kaWYKLSAgICBib29sIGlz
SVRQRGF0YWJhc2VFbmFibGVkKCkgY29uc3QgeyByZXR1cm4gbV9pc0lUUERhdGFiYXNlRW5hYmxl
ZDsgfQogICAgIHZvaWQgc2V0U2hvdWxkRG93bmdyYWRlUmVmZXJyZXJGb3JUZXN0aW5nKGJvb2ws
IENvbXBsZXRpb25IYW5kbGVyPHZvaWQoKT4mJik7CiAgICAgdm9pZCBzZXRUaGlyZFBhcnR5Q29v
a2llQmxvY2tpbmdNb2RlKFBBTDo6U2Vzc2lvbklELCBXZWJDb3JlOjpUaGlyZFBhcnR5Q29va2ll
QmxvY2tpbmdNb2RlLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKCk+JiYpOwogICAgIHZvaWQgc2V0
U2hvdWxkRW5ibGVTYW1lU2l0ZVN0cmljdEVuZm9yY2VtZW50Rm9yVGVzdGluZyhQQUw6OlNlc3Np
b25JRCwgV2ViQ29yZTo6U2FtZVNpdGVTdHJpY3RFbmZvcmNlbWVudEVuYWJsZWQsIENvbXBsZXRp
b25IYW5kbGVyPHZvaWQoKT4mJik7CkBAIC01ODIsMTAgKzU4MCw2IEBAIHByaXZhdGU6CiAjaWYg
UExBVEZPUk0oQ09DT0EpCiAgICAgc3RkOjp1bmlxdWVfcHRyPE5ldHdvcmtIVFRQU1VwZ3JhZGVD
aGVja2VyPiBtX25ldHdvcmtIVFRQU1VwZ3JhZGVDaGVja2VyOwogI2VuZGlmCi0KLSNpZiBFTkFC
TEUoUkVTT1VSQ0VfTE9BRF9TVEFUSVNUSUNTKQotICAgIGJvb2wgbV9pc0lUUERhdGFiYXNlRW5h
YmxlZCB7IGZhbHNlIH07Ci0jZW5kaWYKICAgICAKICAgICBMb2NrIG1fc2Vzc2lvblN0b3JhZ2VR
dW90YU1hbmFnZXJzTG9jazsKICAgICBIYXNoTWFwPFBBTDo6U2Vzc2lvbklELCBzdGQ6OnVuaXF1
ZV9wdHI8U2Vzc2lvblN0b3JhZ2VRdW90YU1hbmFnZXI+PiBtX3Nlc3Npb25TdG9yYWdlUXVvdGFN
YW5hZ2VyczsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29y
a1Byb2Nlc3MubWVzc2FnZXMuaW4gYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdv
cmtQcm9jZXNzLm1lc3NhZ2VzLmluCmluZGV4IDk5YWQ4NDBhM2Y4NmM4ZDc2MTUyMDQzM2RlYzAz
YWU0NWI4MDU5NjcuLjc3ZGMyM2FkYzJlYmUxODA0MTU5YWNkMWY0ODE4OWFmNDIwMjU2NTAgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Byb2Nlc3MubWVz
c2FnZXMuaW4KKysrIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUHJvY2Vz
cy5tZXNzYWdlcy5pbgpAQCAtMTE3LDcgKzExNyw2IEBAIG1lc3NhZ2VzIC0+IE5ldHdvcmtQcm9j
ZXNzIExlZ2FjeVJlY2VpdmVyIHsKICAgICBTdWJtaXRUZWxlbWV0cnkoUEFMOjpTZXNzaW9uSUQg
c2Vzc2lvbklEKSAtPiAoKSBBc3luYwogICAgIFNldENhY2hlTWF4QWdlQ2FwRm9yUHJldmFsZW50
UmVzb3VyY2VzKFBBTDo6U2Vzc2lvbklEIHNlc3Npb25JRCwgU2Vjb25kcyBzZWNvbmRzKSAtPiAo
KSBBc3luYwogICAgIFNldEdyYW5kZmF0aGVyZWQoUEFMOjpTZXNzaW9uSUQgc2Vzc2lvbklELCBX
ZWJDb3JlOjpSZWdpc3RyYWJsZURvbWFpbiByZXNvdXJjZURvbWFpbiwgYm9vbCBpc0dyYW5kZmF0
aGVyZWQpIC0+ICgpIEFzeW5jCi0gICAgU2V0VXNlSVRQRGF0YWJhc2UoUEFMOjpTZXNzaW9uSUQg
c2Vzc2lvbklELCBib29sIHZhbHVlKSAtPiAoKSBBc3luYwogICAgIEdldFJlc291cmNlTG9hZFN0
YXRpc3RpY3NEYXRhU3VtbWFyeShQQUw6OlNlc3Npb25JRCBzZXNzaW9uSUQpIC0+IChWZWN0b3I8
V2ViS2l0OjpXZWJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzU3RvcmU6OlRoaXJkUGFydHlEYXRhPiB0
aGlyZFBhcnR5RGF0YSkgQXN5bmMKICAgICBTZXRHcmFuZGZhdGhlcmluZ1RpbWUoUEFMOjpTZXNz
aW9uSUQgc2Vzc2lvbklELCBTZWNvbmRzIHNlY29uZHMpIC0+ICgpIEFzeW5jCiAgICAgU2V0TWF4
U3RhdGlzdGljc0VudHJpZXMoUEFMOjpTZXNzaW9uSUQgc2Vzc2lvbklELCB1aW50NjRfdCBtYXhp
bXVtRW50cnlDb3VudCkgLT4gKCkgQXN5bmMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvTmV0
d29ya1Byb2Nlc3MvTmV0d29ya1Byb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMuY3BwIGIvU291cmNl
L1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5j
cHAKaW5kZXggY2M1YzQ0YmNkZTRjMzZiNWQzMWZlMjNhM2NiNWYyMzVjNDQ4ZTMwYy4uNzE2M2Vj
MjE1ZTliMjcxOWQ3ZjgzNWVkNjZkNTlmZTZkZTg5NDFhZSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5jcHAK
KysrIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUHJvY2Vzc0NyZWF0aW9u
UGFyYW1ldGVycy5jcHAKQEAgLTY5LDcgKzY5LDYgQEAgdm9pZCBOZXR3b3JrUHJvY2Vzc0NyZWF0
aW9uUGFyYW1ldGVyczo6ZW5jb2RlKElQQzo6RW5jb2RlciYgZW5jb2RlcikgY29uc3QKICNpZiBF
TkFCTEUoU0VSVklDRV9XT1JLRVIpCiAgICAgZW5jb2RlciA8PCBzZXJ2aWNlV29ya2VyUmVnaXN0
cmF0aW9uRGlyZWN0b3J5IDw8IHNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25EaXJlY3RvcnlFeHRl
bnNpb25IYW5kbGUgPDwgc2hvdWxkRGlzYWJsZVNlcnZpY2VXb3JrZXJQcm9jZXNzVGVybWluYXRp
b25EZWxheTsKICNlbmRpZgotICAgIGVuY29kZXIgPDwgc2hvdWxkRW5hYmxlSVRQRGF0YWJhc2U7
CiAgICAgZW5jb2RlciA8PCBlbmFibGVBZENsaWNrQXR0cmlidXRpb25EZWJ1Z01vZGU7CiB9CiAK
QEAgLTE1MCw5ICsxNDksNiBAQCBib29sIE5ldHdvcmtQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJz
OjpkZWNvZGUoSVBDOjpEZWNvZGVyJiBkZWNvZGVyLCBOZXR3b3JrUHJvYwogICAgICAgICByZXR1
cm4gZmFsc2U7CiAjZW5kaWYKIAotICAgIGlmICghZGVjb2Rlci5kZWNvZGUocmVzdWx0LnNob3Vs
ZEVuYWJsZUlUUERhdGFiYXNlKSkKLSAgICAgICAgcmV0dXJuIGZhbHNlOwotCiAgICAgaWYgKCFk
ZWNvZGVyLmRlY29kZShyZXN1bHQuZW5hYmxlQWRDbGlja0F0dHJpYnV0aW9uRGVidWdNb2RlKSkK
ICAgICAgICAgcmV0dXJuIGZhbHNlOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L05ldHdv
cmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzLmggYi9Tb3VyY2UvV2Vi
S2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzLmgKaW5k
ZXggZGZmM2U1ZmYwNGI4ZGVmZDFkODY4ODYyYTAxYjE4MmVmYWFlZTAyYS4uOGYwYTAwMzk2YmJm
MDMzMDEzMDAxODJiOWUxZmQzNmRmYjQwMTk1MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9O
ZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5oCisrKyBiL1Nv
dXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Byb2Nlc3NDcmVhdGlvblBhcmFtZXRl
cnMuaApAQCAtODcsNyArODcsNiBAQCBzdHJ1Y3QgTmV0d29ya1Byb2Nlc3NDcmVhdGlvblBhcmFt
ZXRlcnMgewogICAgIFNhbmRib3hFeHRlbnNpb246OkhhbmRsZSBzZXJ2aWNlV29ya2VyUmVnaXN0
cmF0aW9uRGlyZWN0b3J5RXh0ZW5zaW9uSGFuZGxlOwogICAgIGJvb2wgc2hvdWxkRGlzYWJsZVNl
cnZpY2VXb3JrZXJQcm9jZXNzVGVybWluYXRpb25EZWxheSB7IGZhbHNlIH07CiAjZW5kaWYKLSAg
ICBib29sIHNob3VsZEVuYWJsZUlUUERhdGFiYXNlIHsgZmFsc2UgfTsKICAgICBib29sIGVuYWJs
ZUFkQ2xpY2tBdHRyaWJ1dGlvbkRlYnVnTW9kZSB7IGZhbHNlIH07CiB9OwogCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtTZXNzaW9uLmNwcCBiL1NvdXJj
ZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Nlc3Npb24uY3BwCmluZGV4IGU4NzViYjk4
NGMwMTZlMTczYzA3YjBjODY1ODBhNmQwNGFkYjk4ZDUuLjY5ODMxYTcwMGJlYmY0NjViMjIxMTIx
YmY1M2VlMmJjZDVmZDhkOGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nl
c3MvTmV0d29ya1Nlc3Npb24uY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3Mv
TmV0d29ya1Nlc3Npb24uY3BwCkBAIC0xNDgsMTQgKzE0OCw2IEBAIHZvaWQgTmV0d29ya1Nlc3Np
b246OmRlc3Ryb3lSZXNvdXJjZUxvYWRTdGF0aXN0aWNzKENvbXBsZXRpb25IYW5kbGVyPHZvaWQo
KT4mJiBjCiAgICAgbV9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzLT5kaWREZXN0cm95TmV0d29ya1Nl
c3Npb24oV1RGTW92ZShjb21wbGV0aW9uSGFuZGxlcikpOwogICAgIG1fcmVzb3VyY2VMb2FkU3Rh
dGlzdGljcyA9IG51bGxwdHI7CiB9Ci0KLXZvaWQgTmV0d29ya1Nlc3Npb246OmZsdXNoQW5kRGVz
dHJveVBlcnNpc3RlbnRTdG9yZShDb21wbGV0aW9uSGFuZGxlcjx2b2lkKCk+JiYgY29tcGxldGlv
bkhhbmRsZXIpCi17Ci0gICAgaWYgKCFtX3Jlc291cmNlTG9hZFN0YXRpc3RpY3MpCi0gICAgICAg
IHJldHVybiBjb21wbGV0aW9uSGFuZGxlcigpOwotCi0gICAgbV9yZXNvdXJjZUxvYWRTdGF0aXN0
aWNzLT5mbHVzaEFuZERlc3Ryb3lQZXJzaXN0ZW50U3RvcmUoV1RGTW92ZShjb21wbGV0aW9uSGFu
ZGxlcikpOwotfQogI2VuZGlmCiAKIHZvaWQgTmV0d29ya1Nlc3Npb246OmludmFsaWRhdGVBbmRD
YW5jZWwoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3Jr
U2Vzc2lvbi5oIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrU2Vzc2lvbi5o
CmluZGV4IDZkZWZmMGQwYmE5Y2QyYmRhYzFiMjE3NzM0NmUzYTE5YzQwZTY0ZTYuLmMyZDRmYzU3
MGE1ZmU5ZGE0MDIxMGFkZWM5MzgxOWYyNDg1ZWY5NTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Nlc3Npb24uaAorKysgYi9Tb3VyY2UvV2ViS2l0L05l
dHdvcmtQcm9jZXNzL05ldHdvcmtTZXNzaW9uLmgKQEAgLTExMSw3ICsxMTEsNiBAQCBwdWJsaWM6
CiAgICAgT3B0aW9uYWw8V2ViQ29yZTo6UmVnaXN0cmFibGVEb21haW4+IHRoaXJkUGFydHlDTkFN
RURvbWFpbkZvclRlc3RpbmcoKSBjb25zdCB7IHJldHVybiBtX3RoaXJkUGFydHlDTkFNRURvbWFp
bkZvclRlc3Rpbmc7IH0KICAgICB2b2lkIHJlc2V0Q05BTUVEb21haW5EYXRhKCk7CiAgICAgdm9p
ZCBkZXN0cm95UmVzb3VyY2VMb2FkU3RhdGlzdGljcyhDb21wbGV0aW9uSGFuZGxlcjx2b2lkKCk+
JiYpOwotICAgIHZvaWQgZmx1c2hBbmREZXN0cm95UGVyc2lzdGVudFN0b3JlKENvbXBsZXRpb25I
YW5kbGVyPHZvaWQoKT4mJik7CiAjZW5kaWYKICAgICAKICNpZiBFTkFCTEUoQVBQX0JPVU5EX0RP
TUFJTlMpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJQcmVmZXJlbmNlc0lu
dGVybmFsLnlhbWwgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJQcmVmZXJlbmNlc0ludGVybmFs
LnlhbWwKaW5kZXggMjY3NDVjZTM0YmYyZjA5OTcwNmFjNDg0YzA5N2M2ZmI3ZDUzOTg3MC4uYWMz
ODViODYyZjQ3YmJmNWExZGYwMjY5YzIxYzAyMjk2MzRmYTdmZiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9TaGFyZWQvV2ViUHJlZmVyZW5jZXNJbnRlcm5hbC55YW1sCisrKyBiL1NvdXJjZS9X
ZWJLaXQvU2hhcmVkL1dlYlByZWZlcmVuY2VzSW50ZXJuYWwueWFtbApAQCAtMTUzLDEzICsxNTMs
NiBAQCBFeHBlcmltZW50YWxQbHVnSW5TYW5kYm94UHJvZmlsZXNFbmFibGVkOgogICB3ZWJjb3Jl
QmluZGluZzogUnVudGltZUVuYWJsZWRGZWF0dXJlcwogICB3ZWJjb3JlTmFtZTogZXhwZXJpbWVu
dGFsUGx1Z0luU2FuZGJveFByb2ZpbGVzRW5hYmxlZAogCi1Jc0lUUERhdGFiYXNlRW5hYmxlZDoK
LSAgdHlwZTogYm9vbAotICBkZWZhdWx0VmFsdWU6IHRydWUKLSAgaHVtYW5SZWFkYWJsZU5hbWU6
ICJJVFAgRGF0YWJhc2UgQmFja2VuZCIKLSAgaHVtYW5SZWFkYWJsZURlc2NyaXB0aW9uOiAiRW5h
YmxlIEludGVsbGlnZW50IFRyYWNraW5nIFByZXZlbnRpb24gRGF0YWJhc2UgQmFja2VuZCIKLSAg
d2ViY29yZUJpbmRpbmc6IFJ1bnRpbWVFbmFibGVkRmVhdHVyZXMKLQogU2VydmljZVdvcmtlcnNF
bmFibGVkOgogICB0eXBlOiBib29sCiAgIGRlZmF1bHRWYWx1ZTogREVGQVVMVF9TRVJWSUNFX1dP
UktFUlNfRU5BQkxFRApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9Tb3VyY2VzLnR4dCBiL1Nv
dXJjZS9XZWJLaXQvU291cmNlcy50eHQKaW5kZXggYzg4NGYwZWRlOGI5ZGZhYjMzMmM4NDNkZTRi
ODViMTE2MTIwYjBiOS4uY2Y5ZGFkNDBlOGVkNTczYzE4NjQ3ZTEwZTdiNWU4NGJiNTgwZDM4ZSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9Tb3VyY2VzLnR4dAorKysgYi9Tb3VyY2UvV2ViS2l0
L1NvdXJjZXMudHh0CkBAIC03Nyw3ICs3Nyw2IEBAIE5ldHdvcmtQcm9jZXNzL1ByZWNvbm5lY3RU
YXNrLmNwcAogCiBOZXR3b3JrUHJvY2Vzcy9DbGFzc2lmaWVyL1Jlc291cmNlTG9hZFN0YXRpc3Rp
Y3NEYXRhYmFzZVN0b3JlLmNwcAogTmV0d29ya1Byb2Nlc3MvQ2xhc3NpZmllci9SZXNvdXJjZUxv
YWRTdGF0aXN0aWNzTWVtb3J5U3RvcmUuY3BwCi1OZXR3b3JrUHJvY2Vzcy9DbGFzc2lmaWVyL1Jl
c291cmNlTG9hZFN0YXRpc3RpY3NQZXJzaXN0ZW50U3RvcmFnZS5jcHAKIE5ldHdvcmtQcm9jZXNz
L0NsYXNzaWZpZXIvUmVzb3VyY2VMb2FkU3RhdGlzdGljc1N0b3JlLmNwcAogCiBOZXR3b3JrUHJv
Y2Vzcy9Db29raWVzL1dlYkNvb2tpZU1hbmFnZXIuY3BwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L1NvdXJjZXNDb2NvYS50eHQgYi9Tb3VyY2UvV2ViS2l0L1NvdXJjZXNDb2NvYS50eHQKaW5k
ZXggODkyZWY1NGE3YWFmODA3Y2VmNDgwZjY3MzJkODc3MzBlOWJkZDRmMC4uYTVhMDFjMzBlNDRl
ZGJlMGFlYmNhNmQyZGFiNWRkOWMzNDI4ODYzZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9T
b3VyY2VzQ29jb2EudHh0CisrKyBiL1NvdXJjZS9XZWJLaXQvU291cmNlc0NvY29hLnR4dApAQCAt
NDQ3LDcgKzQ0Nyw2IEBAIFVJUHJvY2Vzcy9pb3MvRHJhZ0Ryb3BJbnRlcmFjdGlvblN0YXRlLm1t
CiBVSVByb2Nlc3MvaW9zL0lucHV0Vmlld1VwZGF0ZURlZmVycmVyLm1tCiBVSVByb2Nlc3MvaW9z
L1BhZ2VDbGllbnRJbXBsSU9TLm1tCiBVSVByb2Nlc3MvaW9zL1Byb2Nlc3NBc3NlcnRpb25JT1Mu
bW0KLVVJUHJvY2Vzcy9pb3MvUmVzb3VyY2VMb2FkU3RhdGlzdGljc1BlcnNpc3RlbnRTdG9yYWdl
SU9TLm1tCiBVSVByb2Nlc3MvaW9zL1NtYXJ0TWFnbmlmaWNhdGlvbkNvbnRyb2xsZXIubW0KIFVJ
UHJvY2Vzcy9pb3MvVGV4dENoZWNrZXJJT1MubW0KIFVJUHJvY2Vzcy9pb3MvVmlld0dlc3R1cmVD
b250cm9sbGVySU9TLm1tCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkv
Qy9XS1ByZWZlcmVuY2VzLmNwcCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9DL1dLUHJl
ZmVyZW5jZXMuY3BwCmluZGV4IDc3N2I1OWI2OTlhYTM5NmRhYzQ3MDcwNTcxZjgxZTUxN2E3M2Nm
YTYuLmUwMGQ4OWYwNDNlMTdiZmVhZGM5YjEzNTBiZDQ3NTVjNDQxMzhkNmIgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9DL1dLUHJlZmVyZW5jZXMuY3BwCisrKyBiL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9DL1dLUHJlZmVyZW5jZXMuY3BwCkBAIC0xMjUsMTYg
KzEyNSw2IEBAIGJvb2wgV0tQcmVmZXJlbmNlc0dldExvYWRzU2l0ZUljb25zSWdub3JpbmdJbWFn
ZUxvYWRpbmdQcmVmZXJlbmNlKFdLUHJlZmVyZW5jZXNSCiAgICAgcmV0dXJuIHRvSW1wbChwcmVm
ZXJlbmNlc1JlZiktPmxvYWRzU2l0ZUljb25zSWdub3JpbmdJbWFnZUxvYWRpbmdQcmVmZXJlbmNl
KCk7CiB9CiAKLXZvaWQgV0tQcmVmZXJlbmNlc1NldElzSVRQRGF0YWJhc2VFbmFibGVkKFdLUHJl
ZmVyZW5jZXNSZWYgcHJlZmVyZW5jZXNSZWYsIGJvb2wgaXNJVFBEYXRhYmFzZUVuYWJsZWQpCi17
Ci0gICAgdG9JbXBsKHByZWZlcmVuY2VzUmVmKS0+c2V0SXNJVFBEYXRhYmFzZUVuYWJsZWQoaXNJ
VFBEYXRhYmFzZUVuYWJsZWQpOwotfQotCi1ib29sIFdLUHJlZmVyZW5jZXNHZXRJc0lUUERhdGFi
YXNlRW5hYmxlZChXS1ByZWZlcmVuY2VzUmVmIHByZWZlcmVuY2VzUmVmKQotewotICAgIHJldHVy
biB0b0ltcGwocHJlZmVyZW5jZXNSZWYpLT5pc0lUUERhdGFiYXNlRW5hYmxlZCgpOwotfQotCiB2
b2lkIFdLUHJlZmVyZW5jZXNTZXRPZmZsaW5lV2ViQXBwbGljYXRpb25DYWNoZUVuYWJsZWQoV0tQ
cmVmZXJlbmNlc1JlZiBwcmVmZXJlbmNlc1JlZiwgYm9vbCBvZmZsaW5lV2ViQXBwbGljYXRpb25D
YWNoZUVuYWJsZWQpCiB7CiAgICAgdG9JbXBsKHByZWZlcmVuY2VzUmVmKS0+c2V0T2ZmbGluZVdl
YkFwcGxpY2F0aW9uQ2FjaGVFbmFibGVkKG9mZmxpbmVXZWJBcHBsaWNhdGlvbkNhY2hlRW5hYmxl
ZCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQy9XS1ByZWZlcmVu
Y2VzUmVmLmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQy9XS1ByZWZlcmVuY2VzUmVm
LmgKaW5kZXggYzJlNzA2NjdmZDA5YmM4NjkzMWQxNTFkMTIxZDk4OWY1ZWIxODU5NS4uM2IxN2Ni
ZTYzOTIwOWI2Mjc0NTUyMjdlODc2NTMyYzcxZWJjNmNkOCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvQVBJL0MvV0tQcmVmZXJlbmNlc1JlZi5oCisrKyBiL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL0FQSS9DL1dLUHJlZmVyZW5jZXNSZWYuaApAQCAtNzksMTAgKzc5LDYgQEAg
V0tfRVhQT1JUIGJvb2wgV0tQcmVmZXJlbmNlc0dldExvYWRzSW1hZ2VzQXV0b21hdGljYWxseShX
S1ByZWZlcmVuY2VzUmVmIHByZWZlcmUKIFdLX0VYUE9SVCB2b2lkIFdLUHJlZmVyZW5jZXNTZXRM
b2Fkc1NpdGVJY29uc0lnbm9yaW5nSW1hZ2VMb2FkaW5nUHJlZmVyZW5jZShXS1ByZWZlcmVuY2Vz
UmVmIHByZWZlcmVuY2VzLCBib29sIGxvYWRzU2l0ZUljb25zSWdub3JpbmdJbWFnZUxvYWRpbmdQ
cmVmZXJlbmNlKTsKIFdLX0VYUE9SVCBib29sIFdLUHJlZmVyZW5jZXNHZXRMb2Fkc1NpdGVJY29u
c0lnbm9yaW5nSW1hZ2VMb2FkaW5nUHJlZmVyZW5jZShXS1ByZWZlcmVuY2VzUmVmIHByZWZlcmVu
Y2VzKTsKIAotLy8gRGVmYXVsdHMgdG8gdHJ1ZS4KLVdLX0VYUE9SVCB2b2lkIFdLUHJlZmVyZW5j
ZXNTZXRJc0lUUERhdGFiYXNlRW5hYmxlZChXS1ByZWZlcmVuY2VzUmVmIHByZWZlcmVuY2VzLCBi
b29sIGlzSVRQRGF0YWJhc2VFbmFibGVkKTsKLVdLX0VYUE9SVCBib29sIFdLUHJlZmVyZW5jZXNH
ZXRJc0lUUERhdGFiYXNlRW5hYmxlZChXS1ByZWZlcmVuY2VzUmVmIHByZWZlcmVuY2VzKTsKLQog
Ly8gRGVmYXVsdHMgdG8gdHJ1ZS4KIFdLX0VYUE9SVCB2b2lkIFdLUHJlZmVyZW5jZXNTZXRPZmZs
aW5lV2ViQXBwbGljYXRpb25DYWNoZUVuYWJsZWQoV0tQcmVmZXJlbmNlc1JlZiBwcmVmZXJlbmNl
cywgYm9vbCBvZmZsaW5lV2ViQXBwbGljYXRpb25DYWNoZUVuYWJsZWQpOwogV0tfRVhQT1JUIGJv
b2wgV0tQcmVmZXJlbmNlc0dldE9mZmxpbmVXZWJBcHBsaWNhdGlvbkNhY2hlRW5hYmxlZChXS1By
ZWZlcmVuY2VzUmVmIHByZWZlcmVuY2VzKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL0FQSS9DL1dLV2Vic2l0ZURhdGFTdG9yZVJlZi5jcHAgYi9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9BUEkvQy9XS1dlYnNpdGVEYXRhU3RvcmVSZWYuY3BwCmluZGV4IDlkZGE1OTFjOTUx
ODlhYjBjMjVhYzU1NDY2YzBhMmJmYzM5MjdlYmMuLmZmODYyYmIwNTczZTYyMDJkNjM3NzNmYTg3
ZjA3ZGNjNmM0OWIzNGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9D
L1dLV2Vic2l0ZURhdGFTdG9yZVJlZi5jcHAKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
QVBJL0MvV0tXZWJzaXRlRGF0YVN0b3JlUmVmLmNwcApAQCAtMzc0LDE3ICszNzQsNiBAQCB2b2lk
IFdLV2Vic2l0ZURhdGFTdG9yZUlzU3RhdGlzdGljc0dyYW5kZmF0aGVyZWQoV0tXZWJzaXRlRGF0
YVN0b3JlUmVmIGRhdGFTdG9yZQogI2VuZGlmCiB9CiAKLXZvaWQgV0tXZWJzaXRlRGF0YVN0b3Jl
U2V0VXNlSVRQRGF0YWJhc2UoV0tXZWJzaXRlRGF0YVN0b3JlUmVmIGRhdGFTdG9yZVJlZiwgYm9v
bCB2YWx1ZSwgdm9pZCogY29udGV4dCwgV0tXZWJzaXRlRGF0YVN0b3JlU2V0VXNlSVRQRGF0YWJh
c2VGdW5jdGlvbiBjb21wbGV0aW9uSGFuZGxlcikKLXsKLSNpZiBFTkFCTEUoUkVTT1VSQ0VfTE9B
RF9TVEFUSVNUSUNTKQotICAgIFdlYktpdDo6dG9JbXBsKGRhdGFTdG9yZVJlZiktPnNldFVzZUlU
UERhdGFiYXNlKHZhbHVlLCBbY29udGV4dCwgY29tcGxldGlvbkhhbmRsZXJdIHsKLSAgICAgICAg
Y29tcGxldGlvbkhhbmRsZXIoY29udGV4dCk7Ci0gICAgfSk7Ci0jZWxzZQotICAgIGNvbXBsZXRp
b25IYW5kbGVyKGNvbnRleHQpOwotI2VuZGlmCi19Ci0KIHZvaWQgV0tXZWJzaXRlRGF0YVN0b3Jl
U2V0U3RhdGlzdGljc1N1YmZyYW1lVW5kZXJUb3BGcmFtZU9yaWdpbihXS1dlYnNpdGVEYXRhU3Rv
cmVSZWYgZGF0YVN0b3JlUmVmLCBXS1N0cmluZ1JlZiBob3N0LCBXS1N0cmluZ1JlZiB0b3BGcmFt
ZUhvc3QpCiB7CiAjaWYgRU5BQkxFKFJFU09VUkNFX0xPQURfU1RBVElTVElDUykKQEAgLTcyNSw3
ICs3MTQsNiBAQCB2b2lkIFdLV2Vic2l0ZURhdGFTdG9yZVN0YXRpc3RpY3NSZXNldFRvQ29uc2lz
dGVudFN0YXRlKFdLV2Vic2l0ZURhdGFTdG9yZVJlZiBkYQogICAgIHN0b3JlLnNldFJlc291cmNl
TG9hZFN0YXRpc3RpY3NGaXJzdFBhcnR5V2Vic2l0ZURhdGFSZW1vdmFsTW9kZUZvclRlc3Rpbmco
ZmFsc2UsIFtjYWxsYmFja0FnZ3JlZ2F0b3JdIHsgfSk7CiAgICAgc3RvcmUucmVzZXRQYXJhbWV0
ZXJzVG9EZWZhdWx0VmFsdWVzKFtjYWxsYmFja0FnZ3JlZ2F0b3JdIHsgfSk7CiAgICAgc3RvcmUu
c2NoZWR1bGVDbGVhckluTWVtb3J5QW5kUGVyc2lzdGVudChXZWJLaXQ6OlNob3VsZEdyYW5kZmF0
aGVyU3RhdGlzdGljczo6Tm8sIFtjYWxsYmFja0FnZ3JlZ2F0b3JdIHsgfSk7Ci0gICAgc3RvcmUu
c2V0VXNlSVRQRGF0YWJhc2UoZmFsc2UsIFtjYWxsYmFja0FnZ3JlZ2F0b3JdIHsgfSk7CiAjZWxz
ZQogICAgIFVOVVNFRF9QQVJBTShkYXRhU3RvcmVSZWYpOwogICAgIGNvbXBsZXRpb25IYW5kbGVy
KGNvbnRleHQpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0MvV0tX
ZWJzaXRlRGF0YVN0b3JlUmVmLmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQy9XS1dl
YnNpdGVEYXRhU3RvcmVSZWYuaAppbmRleCBlNzdkMDljMTA3ZDFkYTA3ODNkMDljMDdlMjgwM2Qw
ODcxMjVlNDhiLi5iOTY0YjcxNzExNDU2MzgzNjExZTcxODM3ZDgyOWMwZGNkNDJkMTQ2IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQy9XS1dlYnNpdGVEYXRhU3RvcmVS
ZWYuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQy9XS1dlYnNpdGVEYXRhU3Rv
cmVSZWYuaApAQCAtODgsOCArODgsNiBAQCBXS19FWFBPUlQgdm9pZCBXS1dlYnNpdGVEYXRhU3Rv
cmVJc1N0YXRpc3RpY3NPbmx5SW5EYXRhYmFzZU9uY2UoV0tXZWJzaXRlRGF0YVN0bwogV0tfRVhQ
T1JUIHZvaWQgV0tXZWJzaXRlRGF0YVN0b3JlU2V0U3RhdGlzdGljc0dyYW5kZmF0aGVyZWQoV0tX
ZWJzaXRlRGF0YVN0b3JlUmVmIGRhdGFTdG9yZVJlZiwgV0tTdHJpbmdSZWYgaG9zdCwgYm9vbCB2
YWx1ZSk7CiB0eXBlZGVmIHZvaWQgKCpXS1dlYnNpdGVEYXRhU3RvcmVJc1N0YXRpc3RpY3NHcmFu
ZGZhdGhlcmVkRnVuY3Rpb24pKGJvb2wgaXNHcmFuZGZhdGhlcmVkLCB2b2lkKiBmdW5jdGlvbkNv
bnRleHQpOwogV0tfRVhQT1JUIHZvaWQgV0tXZWJzaXRlRGF0YVN0b3JlSXNTdGF0aXN0aWNzR3Jh
bmRmYXRoZXJlZChXS1dlYnNpdGVEYXRhU3RvcmVSZWYgZGF0YVN0b3JlUmVmLCBXS1N0cmluZ1Jl
ZiBob3N0LCB2b2lkKiBjb250ZXh0LCBXS1dlYnNpdGVEYXRhU3RvcmVJc1N0YXRpc3RpY3NHcmFu
ZGZhdGhlcmVkRnVuY3Rpb24gY2FsbGJhY2spOwotdHlwZWRlZiB2b2lkICgqV0tXZWJzaXRlRGF0
YVN0b3JlU2V0VXNlSVRQRGF0YWJhc2VGdW5jdGlvbikodm9pZCogZnVuY3Rpb25Db250ZXh0KTsK
LVdLX0VYUE9SVCB2b2lkIFdLV2Vic2l0ZURhdGFTdG9yZVNldFVzZUlUUERhdGFiYXNlKFdLV2Vi
c2l0ZURhdGFTdG9yZVJlZiBkYXRhU3RvcmVSZWYsIGJvb2wgdmFsdWUsIHZvaWQqIGNvbnRleHQs
IFdLV2Vic2l0ZURhdGFTdG9yZVNldFVzZUlUUERhdGFiYXNlRnVuY3Rpb24gY2FsbGJhY2spOwog
V0tfRVhQT1JUIHZvaWQgV0tXZWJzaXRlRGF0YVN0b3JlU2V0U3RhdGlzdGljc1N1YmZyYW1lVW5k
ZXJUb3BGcmFtZU9yaWdpbihXS1dlYnNpdGVEYXRhU3RvcmVSZWYgZGF0YVN0b3JlUmVmLCBXS1N0
cmluZ1JlZiBob3N0LCBXS1N0cmluZ1JlZiB0b3BGcmFtZUhvc3QpOwogV0tfRVhQT1JUIHZvaWQg
V0tXZWJzaXRlRGF0YVN0b3JlU2V0U3RhdGlzdGljc1N1YnJlc291cmNlVW5kZXJUb3BGcmFtZU9y
aWdpbihXS1dlYnNpdGVEYXRhU3RvcmVSZWYgZGF0YVN0b3JlUmVmLCBXS1N0cmluZ1JlZiBob3N0
LCBXS1N0cmluZ1JlZiB0b3BGcmFtZUhvc3QpOwogV0tfRVhQT1JUIHZvaWQgV0tXZWJzaXRlRGF0
YVN0b3JlU2V0U3RhdGlzdGljc1N1YnJlc291cmNlVW5pcXVlUmVkaXJlY3RUbyhXS1dlYnNpdGVE
YXRhU3RvcmVSZWYgZGF0YVN0b3JlUmVmLCBXS1N0cmluZ1JlZiBob3N0LCBXS1N0cmluZ1JlZiBo
b3N0UmVkaXJlY3RlZFRvKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQ
SS9Db2NvYS9XS1ByZWZlcmVuY2VzLm1tIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0Nv
Y29hL1dLUHJlZmVyZW5jZXMubW0KaW5kZXggZGFkYTkxMzNmY2Q5NzNiZjVmYjY2MDAyYjUzOTE5
OTZlMjA5ZWNhMC4uOGEyZjlkMTUxN2ZjMWRhZGEwMDExMTdiOGE5MjU4NmM3YmE2ZjM2NiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLUHJlZmVyZW5jZXMu
bW0KKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLUHJlZmVyZW5jZXMu
bW0KQEAgLTkxOCwxMSArOTE4LDYgQEAgc3RhdGljIFdlYkNvcmU6OkVkaXRhYmxlTGlua0JlaGF2
aW9yIHRvRWRpdGFibGVMaW5rQmVoYXZpb3IoX1dLRWRpdGFibGVMaW5rQmVoYXYKICAgICBfcHJl
ZmVyZW5jZXMtPnNldFJlbW90ZVBsYXliYWNrRW5hYmxlZChlbmFibGVkKTsKIH0KIAotLSAoQk9P
TClfaXNJVFBEYXRhYmFzZUVuYWJsZWQKLXsKLSAgICByZXR1cm4gX3ByZWZlcmVuY2VzLT5pc0lU
UERhdGFiYXNlRW5hYmxlZCgpOwotfQotCiAtIChCT09MKV9zZXJ2aWNlV29ya2VyRW50aXRsZW1l
bnREaXNhYmxlZEZvclRlc3RpbmcKIHsKICAgICByZXR1cm4gX3ByZWZlcmVuY2VzLT5zZXJ2aWNl
V29ya2VyRW50aXRsZW1lbnREaXNhYmxlZEZvclRlc3RpbmcoKTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1ByZWZlcmVuY2VzUHJpdmF0ZS5oIGIvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLUHJlZmVyZW5jZXNQcml2YXRlLmgKaW5k
ZXggNTg0MDRhNjg0NWQ3YTQ5YzhhNzZhYWVhZjg4NGRmMmEwZTMzY2RkZS4uMTNlZDJiY2ViZDky
NzM4N2E4YjYxM2Y0NWU4MDJjMGIxZWVmODVjMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvQVBJL0NvY29hL1dLUHJlZmVyZW5jZXNQcml2YXRlLmgKKysrIGIvU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLUHJlZmVyZW5jZXNQcml2YXRlLmgKQEAgLTE2MCw3
ICsxNjAsNiBAQCB0eXBlZGVmIE5TX0VOVU0oTlNJbnRlZ2VyLCBfV0tFZGl0YWJsZUxpbmtCZWhh
dmlvcikgewogQHByb3BlcnR5IChub25hdG9taWMsIHNldHRlcj1fc2V0V2ViQXVkaW9FbmFibGVk
OikgQk9PTCBfd2ViQXVkaW9FbmFibGVkIFdLX0FQSV9BVkFJTEFCTEUobWFjb3MoMTAuMTQpLCBp
b3MoV0tfSU9TX1RCQSkpOwogQHByb3BlcnR5IChub25hdG9taWMsIHNldHRlcj1fc2V0QWNjZWxl
cmF0ZWRDb21wb3NpdGluZ0VuYWJsZWQ6KSBCT09MIF9hY2NlbGVyYXRlZENvbXBvc2l0aW5nRW5h
YmxlZCBXS19BUElfQVZBSUxBQkxFKG1hY29zKDEwLjEzLjQpLCBpb3MoV0tfSU9TX1RCQSkpOwog
QHByb3BlcnR5IChub25hdG9taWMsIHNldHRlcj1fc2V0UmVxdWVzdEFuaW1hdGlvbkZyYW1lRW5h
YmxlZDopIEJPT0wgX3JlcXVlc3RBbmltYXRpb25GcmFtZUVuYWJsZWQgV0tfQVBJX0FWQUlMQUJM
RShtYWNvcyhXS19NQUNfVEJBKSwgaW9zKFdLX0lPU19UQkEpKTsKLUBwcm9wZXJ0eSAobm9uYXRv
bWljLCByZWFkb25seSkgQk9PTCBfaXNJVFBEYXRhYmFzZUVuYWJsZWQgV0tfQVBJX0FWQUlMQUJM
RShtYWNvcyhXS19NQUNfVEJBKSwgaW9zKFdLX0lPU19UQkEpKTsKIEBwcm9wZXJ0eSAobm9uYXRv
bWljLCBzZXR0ZXI9X3NldFNlcnZpY2VXb3JrZXJFbnRpdGxlbWVudERpc2FibGVkRm9yVGVzdGlu
ZzopIEJPT0wgX3NlcnZpY2VXb3JrZXJFbnRpdGxlbWVudERpc2FibGVkRm9yVGVzdGluZyBXS19B
UElfQVZBSUxBQkxFKG1hY29zKFdLX01BQ19UQkEpLCBpb3MoV0tfSU9TX1RCQSkpOwogQHByb3Bl
cnR5IChub25hdG9taWMsIHNldHRlcj1fc2V0QWNjZXNzaWJpbGl0eUlzb2xhdGVkVHJlZUVuYWJs
ZWQ6KSBCT09MIF9hY2Nlc3NpYmlsaXR5SXNvbGF0ZWRUcmVlRW5hYmxlZCBXS19BUElfQVZBSUxB
QkxFKG1hY29zKDEwLjE2KSk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L0FQSS9Db2NvYS9XS1dlYnNpdGVEYXRhU3RvcmUubW0gYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vz
cy9BUEkvQ29jb2EvV0tXZWJzaXRlRGF0YVN0b3JlLm1tCmluZGV4IDI5OGQ5Y2VjOWU4NGQ4YTUx
MjIwNjVjYzk5MjMzZWY0ZjBiOTUzODkuLmQxNmVlMjRlMWY4NGRkOWIyY2ViZjAwODc2ZDY0ZGMw
Njc3MTkzZTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9X
S1dlYnNpdGVEYXRhU3RvcmUubW0KKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0Nv
Y29hL1dLV2Vic2l0ZURhdGFTdG9yZS5tbQpAQCAtMzA0LDE3ICszMDQsNiBAQCBzdGF0aWMgVmVj
dG9yPFdlYktpdDo6V2Vic2l0ZURhdGFSZWNvcmQ+IHRvV2Vic2l0ZURhdGFSZWNvcmRzKE5TQXJy
YXkgKmRhdGFSZWNvcgogICAgIF93ZWJzaXRlRGF0YVN0b3JlLT5zZXRSZXNvdXJjZUxvYWRTdGF0
aXN0aWNzRW5hYmxlZChlbmFibGVkKTsKIH0KIAotLSAodm9pZClfc2V0VXNlSVRQRGF0YWJhc2U6
KEJPT0wpZW5hYmxlZCBjb21wbGV0aW9uSGFuZGxlcjoodm9pZCAoXikodm9pZCkpY29tcGxldGlv
bkhhbmRsZXIKLXsKLSNpZiBFTkFCTEUoUkVTT1VSQ0VfTE9BRF9TVEFUSVNUSUNTKQotICAgIF93
ZWJzaXRlRGF0YVN0b3JlLT5zZXRVc2VJVFBEYXRhYmFzZShlbmFibGVkLCBbY29tcGxldGlvbkhh
bmRsZXIgPSBtYWtlQmxvY2tQdHIoY29tcGxldGlvbkhhbmRsZXIpXSgpIHsKLSAgICAgICAgY29t
cGxldGlvbkhhbmRsZXIoKTsKLSAgICB9KTsKLSNlbHNlCi0gICAgY29tcGxldGlvbkhhbmRsZXIo
KTsKLSNlbmRpZgotfQotCiAtIChCT09MKV9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzRGVidWdNb2Rl
CiB7CiAjaWYgRU5BQkxFKFJFU09VUkNFX0xPQURfU1RBVElTVElDUykKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYnNpdGVEYXRhU3RvcmVQcml2YXRl
LmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJzaXRlRGF0YVN0b3Jl
UHJpdmF0ZS5oCmluZGV4IDk5MzIwMTA0NmI1NTFjM2YyOGRmMmRjMGEwMzQ2ZDdiYzc5YWM1ZjQu
LjgyOGJiZWYzOTVhOGI1NzliYjVlZWMyNjE4MTk0MDQ3NGMyODgxZDEgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYnNpdGVEYXRhU3RvcmVQcml2YXRl
LmgKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2Vic2l0ZURhdGFT
dG9yZVByaXZhdGUuaApAQCAtNzEsNyArNzEsNiBAQCB0eXBlZGVmIE5TX09QVElPTlMoTlNVSW50
ZWdlciwgX1dLV2Vic2l0ZURhdGFTdG9yZUZldGNoT3B0aW9ucykgewogLSAodm9pZClfc2V0UHJl
dmFsZW50RG9tYWluOihOU1VSTCAqKWRvbWFpbiBjb21wbGV0aW9uSGFuZGxlcjoodm9pZCAoXiko
dm9pZCkpY29tcGxldGlvbkhhbmRsZXIgV0tfQVBJX0FWQUlMQUJMRShtYWNvcygxMC4xNSksIGlv
cygxMy4wKSk7CiAtICh2b2lkKV9nZXRJc1ByZXZhbGVudERvbWFpbjooTlNVUkwgKilkb21haW4g
Y29tcGxldGlvbkhhbmRsZXI6KHZvaWQgKF4pKEJPT0wpKWNvbXBsZXRpb25IYW5kbGVyIFdLX0FQ
SV9BVkFJTEFCTEUobWFjb3MoMTAuMTUpLCBpb3MoMTMuMCkpOwogLSAodm9pZClfZ2V0UmVzb3Vy
Y2VMb2FkU3RhdGlzdGljc0RhdGFTdW1tYXJ5Oih2b2lkICheKShOU0FycmF5PF9XS1Jlc291cmNl
TG9hZFN0YXRpc3RpY3NUaGlyZFBhcnR5ICo+ICopKWNvbXBsZXRpb25IYW5kbGVyIFdLX0FQSV9B
VkFJTEFCTEUobWFjb3MoV0tfTUFDX1RCQSksIGlvcyhXS19JT1NfVEJBKSk7Ci0tICh2b2lkKV9z
ZXRVc2VJVFBEYXRhYmFzZTooQk9PTCllbmFibGVkIGNvbXBsZXRpb25IYW5kbGVyOih2b2lkIChe
KSh2b2lkKSljb21wbGV0aW9uSGFuZGxlciBXS19BUElfQVZBSUxBQkxFKG1hY29zKFdLX01BQ19U
QkEpLCBpb3MoV0tfSU9TX1RCQSkpOwogLSAodm9pZClfY2xlYXJQcmV2YWxlbnREb21haW46KE5T
VVJMICopZG9tYWluIGNvbXBsZXRpb25IYW5kbGVyOih2b2lkICheKSh2b2lkKSljb21wbGV0aW9u
SGFuZGxlciBXS19BUElfQVZBSUxBQkxFKG1hY29zKFdLX01BQ19UQkEpLCBpb3MoV0tfSU9TX1RC
QSkpOwogLSAodm9pZClfY2xlYXJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzOih2b2lkICheKSh2b2lk
KSljb21wbGV0aW9uSGFuZGxlciBXS19BUElfQVZBSUxBQkxFKG1hY29zKFdLX01BQ19UQkEpLCBp
b3MoV0tfSU9TX1RCQSkpOwogLSAodm9pZClfaXNSZWdpc3RlcmVkQXNTdWJyZXNvdXJjZVVuZGVy
Rmlyc3RQYXJ0eTooTlNVUkwgKilmaXJzdFBhcnR5VVJMIHRoaXJkUGFydHk6KE5TVVJMICopdGhp
cmRQYXJ0eVVSTCBjb21wbGV0aW9uSGFuZGxlcjoodm9pZCAoXikoQk9PTCkpY29tcGxldGlvbkhh
bmRsZXIgV0tfQVBJX0FWQUlMQUJMRShtYWNvcyhXS19NQUNfVEJBKSwgaW9zKFdLX0lPU19UQkEp
KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1dlYlByb2Nlc3NQ
b29sQ29jb2EubW0gYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9XZWJQcm9jZXNzUG9v
bENvY29hLm1tCmluZGV4IDkyYWQxYzg0MjQ4ZWViMWY4MjgyMDE1N2E1MzY5ZTBlMzlhMGUzZDIu
Ljc2MmY1Njg5YzQxYjdmMjI3MDhlNGZiZTNjODBkZThlYTFlZDBjNGQgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1dlYlByb2Nlc3NQb29sQ29jb2EubW0KKysrIGIv
U291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvV2ViUHJvY2Vzc1Bvb2xDb2NvYS5tbQpAQCAt
NTIxLDEyICs1MjEsNiBAQCB2b2lkIFdlYlByb2Nlc3NQb29sOjpwbGF0Zm9ybUluaXRpYWxpemVO
ZXR3b3JrUHJvY2VzcyhOZXR3b3JrUHJvY2Vzc0NyZWF0aW9uUGFyYQogICAgIHBhcmFtZXRlcnMu
dWlQcm9jZXNzQ29va2llU3RvcmFnZUlkZW50aWZpZXIgPSBpZGVudGlmeWluZ0RhdGFGcm9tQ29v
a2llU3RvcmFnZShbW05TSFRUUENvb2tpZVN0b3JhZ2Ugc2hhcmVkSFRUUENvb2tpZVN0b3JhZ2Vd
IF9jb29raWVTdG9yYWdlXSk7CiAjZW5kaWYKIAotICAgIE5TTnVtYmVyICpkYXRhYmFzZUVuYWJs
ZWRWYWx1ZSA9IFtkZWZhdWx0cyBvYmplY3RGb3JLZXk6W05TU3RyaW5nIHN0cmluZ1dpdGhGb3Jt
YXQ6QCJJbnRlcm5hbERlYnVnJUAiLCBXZWJQcmVmZXJlbmNlc0tleTo6aXNJVFBEYXRhYmFzZUVu
YWJsZWRLZXkoKS5jcmVhdGVDRlN0cmluZygpLmdldCgpXV07Ci0gICAgaWYgKGRhdGFiYXNlRW5h
YmxlZFZhbHVlKQotICAgICAgICBwYXJhbWV0ZXJzLnNob3VsZEVuYWJsZUlUUERhdGFiYXNlID0g
ZGF0YWJhc2VFbmFibGVkVmFsdWUuYm9vbFZhbHVlOwotICAgIGVsc2UKLSAgICAgICAgcGFyYW1l
dGVycy5zaG91bGRFbmFibGVJVFBEYXRhYmFzZSA9IG1fZGVmYXVsdFBhZ2VHcm91cC0+cHJlZmVy
ZW5jZXMoKS5pc0lUUERhdGFiYXNlRW5hYmxlZCgpOwotCiAgICAgcGFyYW1ldGVycy5lbmFibGVB
ZENsaWNrQXR0cmlidXRpb25EZWJ1Z01vZGUgPSBbZGVmYXVsdHMgYm9vbEZvcktleTpbTlNTdHJp
bmcgc3RyaW5nV2l0aEZvcm1hdDpAIkV4cGVyaW1lbnRhbCVAIiwgV2ViUHJlZmVyZW5jZXNLZXk6
OmFkQ2xpY2tBdHRyaWJ1dGlvbkRlYnVnTW9kZUVuYWJsZWRLZXkoKS5jcmVhdGVDRlN0cmluZygp
LmdldCgpXV07CiAKICAgICBwYXJhbWV0ZXJzLmRlZmF1bHREYXRhU3RvcmVQYXJhbWV0ZXJzLm5l
dHdvcmtTZXNzaW9uUGFyYW1ldGVycy5hcHBIYXNSZXF1ZXN0ZWRDcm9zc1dlYnNpdGVUcmFja2lu
Z1Blcm1pc3Npb24gPSBoYXNSZXF1ZXN0ZWRDcm9zc1dlYnNpdGVUcmFja2luZ1Blcm1pc3Npb24o
KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL05ldHdvcmsvTmV0d29ya1By
b2Nlc3NQcm94eS5jcHAgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9OZXR3b3JrL05ldHdvcmtQ
cm9jZXNzUHJveHkuY3BwCmluZGV4IGMxZjQ3MDhiODFjZmE1M2FiMTIyYzI5NDQ2NzVlNzgyNTE2
NzEyMWYuLjgyNWY5MDk3YzU0NDZiZjliYWY3YjAyZDYxNjY0OTQzNGJkM2FlYWQgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL05ldHdvcmsvTmV0d29ya1Byb2Nlc3NQcm94eS5j
cHAKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvTmV0d29yay9OZXR3b3JrUHJvY2Vzc1By
b3h5LmNwcApAQCAtODUyLDEzICs4NTIsNiBAQCB2b2lkIE5ldHdvcmtQcm9jZXNzUHJveHk6OnNl
dEdyYW5kZmF0aGVyZWQoUEFMOjpTZXNzaW9uSUQgc2Vzc2lvbklELCBjb25zdCBSZWdpcwogICAg
IHNlbmRXaXRoQXN5bmNSZXBseShNZXNzYWdlczo6TmV0d29ya1Byb2Nlc3M6OlNldEdyYW5kZmF0
aGVyZWQoc2Vzc2lvbklELCByZXNvdXJjZURvbWFpbiwgaXNHcmFuZGZhdGhlcmVkKSwgV1RGTW92
ZShjb21wbGV0aW9uSGFuZGxlcikpOwogfQogCi12b2lkIE5ldHdvcmtQcm9jZXNzUHJveHk6OnNl
dFVzZUlUUERhdGFiYXNlKFBBTDo6U2Vzc2lvbklEIHNlc3Npb25JRCwgYm9vbCB2YWx1ZSwgQ29t
cGxldGlvbkhhbmRsZXI8dm9pZCgpPiYmIGNvbXBsZXRpb25IYW5kbGVyKQotewotICAgIHNlbmRX
aXRoQXN5bmNSZXBseShNZXNzYWdlczo6TmV0d29ya1Byb2Nlc3M6OlNldFVzZUlUUERhdGFiYXNl
KHNlc3Npb25JRCwgdmFsdWUpLCBbY29tcGxldGlvbkhhbmRsZXIgPSBXVEZNb3ZlKGNvbXBsZXRp
b25IYW5kbGVyKV0oKSBtdXRhYmxlIHsKLSAgICAgICAgY29tcGxldGlvbkhhbmRsZXIoKTsKLSAg
ICB9KTsKLX0KLQogdm9pZCBOZXR3b3JrUHJvY2Vzc1Byb3h5OjpyZXF1ZXN0U3RvcmFnZUFjY2Vz
c0NvbmZpcm0oV2ViUGFnZVByb3h5SWRlbnRpZmllciBwYWdlSUQsIEZyYW1lSWRlbnRpZmllciBm
cmFtZUlELCBjb25zdCBSZWdpc3RyYWJsZURvbWFpbiYgc3ViRnJhbWVEb21haW4sIGNvbnN0IFJl
Z2lzdHJhYmxlRG9tYWluJiB0b3BGcmFtZURvbWFpbiwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChi
b29sKT4mJiBjb21wbGV0aW9uSGFuZGxlcikKIHsKICAgICBhdXRvKiBwYWdlID0gV2ViUHJvY2Vz
c1Byb3h5Ojp3ZWJQYWdlKHBhZ2VJRCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9OZXR3b3JrL05ldHdvcmtQcm9jZXNzUHJveHkuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9j
ZXNzL05ldHdvcmsvTmV0d29ya1Byb2Nlc3NQcm94eS5oCmluZGV4IGEwYjRjMWQ4OTM4ZTIwNWVj
MzYxZGU1YzEwODI1ZDE4Mjc3NjUzYjQuLjU5MGY1NmM1ZmJiOTQ3YmY5YTc2ZjUzZjg2MTFmYWMz
NTE2YTUyMmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL05ldHdvcmsvTmV0
d29ya1Byb2Nlc3NQcm94eS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL05ldHdvcmsv
TmV0d29ya1Byb2Nlc3NQcm94eS5oCkBAIC0xNDIsNyArMTQyLDYgQEAgcHVibGljOgogICAgIHZv
aWQgc2V0QWdlQ2FwRm9yQ2xpZW50U2lkZUNvb2tpZXMoUEFMOjpTZXNzaW9uSUQsIE9wdGlvbmFs
PFNlY29uZHM+LCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKCk+JiYpOwogICAgIHZvaWQgc2V0Q2Fj
aGVNYXhBZ2VDYXAoUEFMOjpTZXNzaW9uSUQsIFNlY29uZHMsIENvbXBsZXRpb25IYW5kbGVyPHZv
aWQoKT4mJik7CiAgICAgdm9pZCBzZXRHcmFuZGZhdGhlcmVkKFBBTDo6U2Vzc2lvbklELCBjb25z
dCBSZWdpc3RyYWJsZURvbWFpbiYsIGJvb2wgaXNHcmFuZGZhdGhlcmVkLCBDb21wbGV0aW9uSGFu
ZGxlcjx2b2lkKCk+JiYpOwotICAgIHZvaWQgc2V0VXNlSVRQRGF0YWJhc2UoUEFMOjpTZXNzaW9u
SUQsIGJvb2wgdmFsdWUsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoKT4mJik7CiAgICAgdm9pZCBz
ZXROb3RpZnlQYWdlc1doZW5EYXRhUmVjb3Jkc1dlcmVTY2FubmVkKFBBTDo6U2Vzc2lvbklELCBi
b29sLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKCk+JiYpOwogICAgIHZvaWQgc2V0SXNSdW5uaW5n
UmVzb3VyY2VMb2FkU3RhdGlzdGljc1Rlc3QoUEFMOjpTZXNzaW9uSUQsIGJvb2wsIENvbXBsZXRp
b25IYW5kbGVyPHZvaWQoKT4mJik7CiAgICAgdm9pZCBzZXRTdWJmcmFtZVVuZGVyVG9wRnJhbWVE
b21haW4oUEFMOjpTZXNzaW9uSUQsIGNvbnN0IFN1YkZyYW1lRG9tYWluJiwgY29uc3QgVG9wRnJh
bWVEb21haW4mLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKCk+JiYpOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvV2Vic2l0ZURhdGEvV2Vic2l0ZURhdGFTdG9yZS5jcHAgYi9T
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJzaXRlRGF0YS9XZWJzaXRlRGF0YVN0b3JlLmNwcApp
bmRleCAwODMwY2E3NWE3ZmMzOGU2NDViNzc1YjM5YjMzNzVkNGMyMDUwMzdkLi41YjBhZWI3MWJk
OTdjNDNiYzIwZTQzYjExYjYwNjUxMmIyY2FhYjM3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9XZWJzaXRlRGF0YS9XZWJzaXRlRGF0YVN0b3JlLmNwcAorKysgYi9Tb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9XZWJzaXRlRGF0YS9XZWJzaXRlRGF0YVN0b3JlLmNwcApAQCAtMTgx
NSwxOCArMTgxNSw2IEBAIHZvaWQgV2Vic2l0ZURhdGFTdG9yZTo6c2V0R3JhbmRmYXRoZXJlZChj
b25zdCBVUkwmIHVybCwgYm9vbCBpc0dyYW5kZmF0aGVyZWQsIENvCiAgICAgfQogfQogCi12b2lk
IFdlYnNpdGVEYXRhU3RvcmU6OnNldFVzZUlUUERhdGFiYXNlKGJvb2wgdmFsdWUsIENvbXBsZXRp
b25IYW5kbGVyPHZvaWQoKT4mJiBjb21wbGV0aW9uSGFuZGxlcikKLXsKLSAgICBBU1NFUlQoUnVu
TG9vcDo6aXNNYWluKCkpOwotICAgIAotICAgIGF1dG8gY2FsbGJhY2tBZ2dyZWdhdG9yID0gQ2Fs
bGJhY2tBZ2dyZWdhdG9yOjpjcmVhdGUoV1RGTW92ZShjb21wbGV0aW9uSGFuZGxlcikpOwotICAg
IAotICAgIGZvciAoYXV0byYgcHJvY2Vzc1Bvb2wgOiBwcm9jZXNzUG9vbHMoKSkgewotICAgICAg
ICBpZiAoYXV0byogcHJvY2VzcyA9IHByb2Nlc3NQb29sLT5uZXR3b3JrUHJvY2VzcygpKQotICAg
ICAgICAgICAgcHJvY2Vzcy0+c2V0VXNlSVRQRGF0YWJhc2UobV9zZXNzaW9uSUQsIHZhbHVlLCBb
Y2FsbGJhY2tBZ2dyZWdhdG9yXSB7IH0pOwotICAgIH0KLX0KLQogdm9pZCBXZWJzaXRlRGF0YVN0
b3JlOjpzZXRDcm9zc1NpdGVMb2FkV2l0aExpbmtEZWNvcmF0aW9uRm9yVGVzdGluZyhjb25zdCBV
UkwmIGZyb21VUkwsIGNvbnN0IFVSTCYgdG9VUkwsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoKT4m
JiBjb21wbGV0aW9uSGFuZGxlcikKIHsKICAgICBBU1NFUlQoUnVuTG9vcDo6aXNNYWluKCkpOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2Vic2l0ZURhdGEvV2Vic2l0ZURh
dGFTdG9yZS5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2Vic2l0ZURhdGEvV2Vic2l0ZURh
dGFTdG9yZS5oCmluZGV4IGU5ZGViYTQ4MDg4YjlmMzA2NjU3ZWRkOTQzNDk5NTMwODZiMGVkMmUu
LjRmMDRlOTAyZDdiNjVjOGRlMWU3ZjBhZDI0NDJhMGRhNTI5Zjk4MzQgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYnNpdGVEYXRhL1dlYnNpdGVEYXRhU3RvcmUuaAorKysg
Yi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJzaXRlRGF0YS9XZWJzaXRlRGF0YVN0b3JlLmgK
QEAgLTE3Myw3ICsxNzMsNiBAQCBwdWJsaWM6CiAgICAgdm9pZCBzdWJtaXRUZWxlbWV0cnkoKTsK
ICAgICB2b2lkIHNldEdyYW5kZmF0aGVyZWQoY29uc3QgVVJMJiwgYm9vbCwgQ29tcGxldGlvbkhh
bmRsZXI8dm9pZCgpPiYmKTsKICAgICB2b2lkIGlzR3JhbmRmYXRoZXJlZChjb25zdCBVUkwmLCBD
b21wbGV0aW9uSGFuZGxlcjx2b2lkKGJvb2wpPiYmKTsKLSAgICB2b2lkIHNldFVzZUlUUERhdGFi
YXNlKGJvb2wsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoKT4mJik7CiAgICAgdm9pZCBzZXRHcmFu
ZGZhdGhlcmluZ1RpbWUoU2Vjb25kcywgQ29tcGxldGlvbkhhbmRsZXI8dm9pZCgpPiYmKTsKICAg
ICB2b2lkIHNldExhc3RTZWVuKGNvbnN0IFVSTCYsIFNlY29uZHMsIENvbXBsZXRpb25IYW5kbGVy
PHZvaWQoKT4mJik7CiAgICAgdm9pZCBkb21haW5JREV4aXN0c0luRGF0YWJhc2UoaW50IGRvbWFp
bklELCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKGJvb2wpPiYmKTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9SZXNvdXJjZUxvYWRTdGF0aXN0aWNzUGVyc2lzdGVudFN0
b3JhZ2VJT1MubW0gYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvUmVzb3VyY2VMb2FkU3Rh
dGlzdGljc1BlcnNpc3RlbnRTdG9yYWdlSU9TLm1tCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCA2ZjhmNmQ1NWU4Njk4ZTYwOWY5ZGFkZTA5ZjI3Mzc4YmYyMTRmMTY2Li4wMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9j
ZXNzL2lvcy9SZXNvdXJjZUxvYWRTdGF0aXN0aWNzUGVyc2lzdGVudFN0b3JhZ2VJT1MubW0KKysr
IC9kZXYvbnVsbApAQCAtMSw0MCArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDE3IEFw
cGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQg
dXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlm
aWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0
aW9ucwotICogYXJlIG1ldDoKLSAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBt
dXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAyLiBSZWRpc3Ry
aWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdo
dAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyIGluIHRoZQotICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0
ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqCi0gKiBUSElTIFNPRlRX
QVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJ
UycnCi0gKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywKLSAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hB
TlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKLSAqIFBVUlBPU0UgQVJFIERJ
U0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9S
UwotICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BF
Q0lBTCwgRVhFTVBMQVJZLCBPUgotICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKLSAqIFNVQlNUSVRVVEUgR09PRFMg
T1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUwot
ICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFC
SUxJVFksIFdIRVRIRVIgSU4KLSAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JU
IChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCi0gKiBBUklTSU5HIElOIEFOWSBX
QVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCi0g
KiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCi0gKi8KLQotI2ltcG9ydCAiY29uZmln
LmgiCi0jaW1wb3J0ICJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzUGVyc2lzdGVudFN0b3JhZ2UuaCIK
LQotI2lmIFBMQVRGT1JNKElPU19GQU1JTFkpCi0KLW5hbWVzcGFjZSBXZWJLaXQgewotCi12b2lk
IFJlc291cmNlTG9hZFN0YXRpc3RpY3NQZXJzaXN0ZW50U3RvcmFnZTo6ZXhjbHVkZUZyb21CYWNr
dXAoKSBjb25zdAotewotICAgIFtbTlNVUkwgZmlsZVVSTFdpdGhQYXRoOihOU1N0cmluZyAqKW1f
c3RvcmFnZURpcmVjdG9yeVBhdGggaXNEaXJlY3Rvcnk6WUVTXSBzZXRSZXNvdXJjZVZhbHVlOkBZ
RVMgZm9yS2V5Ok5TVVJMSXNFeGNsdWRlZEZyb21CYWNrdXBLZXkgZXJyb3I6bmlsXTsKLX0KLQot
fQotCi0jZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL3NvdXAvV2Vi
UHJvY2Vzc1Bvb2xTb3VwLmNwcCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL3NvdXAvV2ViUHJv
Y2Vzc1Bvb2xTb3VwLmNwcAppbmRleCA2YjdjNWI0MjI0ZmFlMDIyZjg1MGNiYTEwMmU0ZWVkNTMx
OWY2YmNjLi4wM2E5YjM2MDUzOTU5YTIwNmU3MmQ4NThiODU4Njk1MjA5MTM1MjczIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9zb3VwL1dlYlByb2Nlc3NQb29sU291cC5jcHAK
KysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mvc291cC9XZWJQcm9jZXNzUG9vbFNvdXAuY3Bw
CkBAIC00Nyw3ICs0Nyw2IEBAIHZvaWQgV2ViUHJvY2Vzc1Bvb2w6OnBsYXRmb3JtSW5pdGlhbGl6
ZU5ldHdvcmtQcm9jZXNzKE5ldHdvcmtQcm9jZXNzQ3JlYXRpb25QYXJhCiAKICAgICBwYXJhbWV0
ZXJzLmNvb2tpZUFjY2VwdFBvbGljeSA9IG1faW5pdGlhbEhUVFBDb29raWVBY2NlcHRQb2xpY3k7
CiAgICAgcGFyYW1ldGVycy5sYW5ndWFnZXMgPSB1c2VyUHJlZmVycmVkTGFuZ3VhZ2VzKCk7Ci0g
ICAgcGFyYW1ldGVycy5zaG91bGRFbmFibGVJVFBEYXRhYmFzZSA9IHRydWU7CiB9CiAKIH0gLy8g
bmFtZXNwYWNlIFdlYktpdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJLaXQueGNvZGVw
cm9qL3Byb2plY3QucGJ4cHJvaiBiL1NvdXJjZS9XZWJLaXQvV2ViS2l0Lnhjb2RlcHJvai9wcm9q
ZWN0LnBieHByb2oKaW5kZXggMjRjOGU4OTIxZGZkMzM0NmY0MzQ4Y2FiZTNhODMxMTllNDViZDZm
NC4uYWU3M2ZiYjkzMDQ0YjAxYzU2MjM1NGIyNmI1OTE0OGQ4NzkwZjNjNSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdC9XZWJLaXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3Vy
Y2UvV2ViS2l0L1dlYktpdC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC0xMjQ2LDcgKzEy
NDYsNiBAQAogCQk3QUYyMzYyMTFFNzlBNDA4MDA0MzhBMDUgLyogV2ViRXJyb3JzLmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3QUYyMzYxRjFFNzlBM0Q4
MDA0MzhBMDUgLyogV2ViRXJyb3JzLmggKi87IH07CiAJCTdBRkJEMzYzMjFFNTBGMzkwMDVEQkFD
QiAvKiBXZWJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzU3RvcmUuaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDdBRkJEMzYyMjFFNTBGMzkwMDVEQkFDQiAvKiBX
ZWJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzU3RvcmUuaCAqLzsgfTsKIAkJN0FGQkQzNjcyMUU1MUJB
QjAwNURCQUNCIC8qIFJlc291cmNlTG9hZFN0YXRpc3RpY3NNZW1vcnlTdG9yZS5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gN0FGQkQzNjUyMUU1MUJBQjAw
NURCQUNCIC8qIFJlc291cmNlTG9hZFN0YXRpc3RpY3NNZW1vcnlTdG9yZS5oICovOyB9OwotCQk3
QUZCRDM2QTIxRTU0MkYxMDA1REJBQ0IgLyogUmVzb3VyY2VMb2FkU3RhdGlzdGljc1BlcnNpc3Rl
bnRTdG9yYWdlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSA3QUZCRDM2ODIxRTU0MkU4MDA1REJBQ0IgLyogUmVzb3VyY2VMb2FkU3RhdGlzdGljc1BlcnNp
c3RlbnRTdG9yYWdlLmggKi87IH07CiAJCTdBRkJEMzZGMjFFNTQ2RjgwMDVEQkFDQiAvKiBQZXJz
aXN0ZW5jeVV0aWxzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSA3QUZCRDM2RDIxRTU0NkUzMDA1REJBQ0IgLyogUGVyc2lzdGVuY3lVdGlscy5oICovOyB9
OwogCQk3QzA2NUYyQzFDOENEOTVGMDBDMkQ5NTAgLyogV2ViVXNlckNvbnRlbnRDb250cm9sbGVy
RGF0YVR5cGVzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSA3QzA2NUYyQTFDOENEOTVGMDBDMkQ5NTAgLyogV2ViVXNlckNvbnRlbnRDb250cm9sbGVyRGF0
YVR5cGVzLmggKi87IH07CiAJCTdDMTM1QUE5MTczQjBCQ0EwMDU4NkFFMiAvKiBXS1BsdWdpbklu
Zm9ybWF0aW9uLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSA3QzEzNUFBNzE3M0IwQkNBMDA1ODZBRTIgLyogV0tQbHVnaW5JbmZvcm1hdGlvbi5oICovOyBz
ZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CkBAIC0zODEyLDcgKzM4
MTEsNiBAQAogCQk1MUUzNTFDODE4MEYyQ0NDMDBFNTNCRTkgLyogSURCVXRpbGl0aWVzLmNwcCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IElEQlV0aWxpdGllcy5jcHA7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTUxRTM1MUM5MTgwRjJDQ0MwMEU1M0JFOSAvKiBJ
REJVdGlsaXRpZXMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSURCVXRpbGl0
aWVzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTUxRTM5OTA1MUQ2RjU0QzUwMDlD
ODgzMSAvKiBVSUdhbWVwYWRQcm92aWRlckNvY29hLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
cHAub2JqY3BwOyBwYXRoID0gVUlHYW1lcGFkUHJvdmlkZXJDb2NvYS5tbTsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKLQkJNTFFNkMxNUYxRjI5MzU1MTAwRkQzNDM3IC8qIFJlc291cmNlTG9h
ZFN0YXRpc3RpY3NQZXJzaXN0ZW50U3RvcmFnZUlPUy5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgbmFtZSA9
IFJlc291cmNlTG9hZFN0YXRpc3RpY3NQZXJzaXN0ZW50U3RvcmFnZUlPUy5tbTsgcGF0aCA9IGlv
cy9SZXNvdXJjZUxvYWRTdGF0aXN0aWNzUGVyc2lzdGVudFN0b3JhZ2VJT1MubW07IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CiAJCTUxRThCNjhEMUU3MTI4NzMwMDFCNzEzMiAvKiBXZWJVUkxT
Y2hlbWVUYXNrLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFdlYlVS
TFNjaGVtZVRhc2suY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk1MUU5NDk5NjFE
NzYxQ0M3MDBFQzlFQjkgLyogVUlHYW1lcGFkUHJvdmlkZXJJT1MubW0gKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBVSUdhbWVwYWRQcm92aWRlcklPUy5tbTsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNTFGMDYwREQxNjU0MzE3NTAwRjMyODFCIC8qIFdlYlJl
c291cmNlTG9hZGVyTWVzc2FnZVJlY2VpdmVyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgbmFtZSA9IFdlYlJl
c291cmNlTG9hZGVyTWVzc2FnZVJlY2VpdmVyLmNwcDsgcGF0aCA9IERlcml2ZWRTb3VyY2VzL1dl
YktpdDIvV2ViUmVzb3VyY2VMb2FkZXJNZXNzYWdlUmVjZWl2ZXIuY3BwOyBzb3VyY2VUcmVlID0g
QlVJTFRfUFJPRFVDVFNfRElSOyB9OwpAQCAtNDE5NCw4ICs0MTkyLDYgQEAKIAkJN0FGQkQzNjIy
MUU1MEYzOTAwNURCQUNCIC8qIFdlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NTdG9yZS5oICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBXZWJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzU3Rv
cmUuaDsgcGF0aCA9IENsYXNzaWZpZXIvV2ViUmVzb3VyY2VMb2FkU3RhdGlzdGljc1N0b3JlLmg7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTdBRkJEMzY0MjFFNTFCQUIwMDVEQkFDQiAv
KiBSZXNvdXJjZUxvYWRTdGF0aXN0aWNzTWVtb3J5U3RvcmUuY3BwICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jcHAuY3BwOyBuYW1lID0gUmVzb3VyY2VMb2FkU3RhdGlzdGljc01lbW9yeVN0b3JlLmNw
cDsgcGF0aCA9IENsYXNzaWZpZXIvUmVzb3VyY2VMb2FkU3RhdGlzdGljc01lbW9yeVN0b3JlLmNw
cDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJN0FGQkQzNjUyMUU1MUJBQjAwNURCQUNC
IC8qIFJlc291cmNlTG9hZFN0YXRpc3RpY3NNZW1vcnlTdG9yZS5oICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jLmg7IG5hbWUgPSBSZXNvdXJjZUxvYWRTdGF0aXN0aWNzTWVtb3J5U3RvcmUuaDsgcGF0
aCA9IENsYXNzaWZpZXIvUmVzb3VyY2VMb2FkU3RhdGlzdGljc01lbW9yeVN0b3JlLmg7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCTdBRkJEMzY4MjFFNTQyRTgwMDVEQkFDQiAvKiBSZXNv
dXJjZUxvYWRTdGF0aXN0aWNzUGVyc2lzdGVudFN0b3JhZ2UuaCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gUmVz
b3VyY2VMb2FkU3RhdGlzdGljc1BlcnNpc3RlbnRTdG9yYWdlLmg7IHBhdGggPSBDbGFzc2lmaWVy
L1Jlc291cmNlTG9hZFN0YXRpc3RpY3NQZXJzaXN0ZW50U3RvcmFnZS5oOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwotCQk3QUZCRDM2OTIxRTU0MkU4MDA1REJBQ0IgLyogUmVzb3VyY2VMb2Fk
U3RhdGlzdGljc1BlcnNpc3RlbnRTdG9yYWdlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgbmFtZSA9IFJlc291
cmNlTG9hZFN0YXRpc3RpY3NQZXJzaXN0ZW50U3RvcmFnZS5jcHA7IHBhdGggPSBDbGFzc2lmaWVy
L1Jlc291cmNlTG9hZFN0YXRpc3RpY3NQZXJzaXN0ZW50U3RvcmFnZS5jcHA7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CiAJCTdBRkJEMzZCMjFFNTQ1NDQwMDVEQkFDQiAvKiBXZWJSZXNvdXJj
ZUxvYWRTdGF0aXN0aWNzVGVsZW1ldHJ5LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IFdlYlJlc291cmNlTG9h
ZFN0YXRpc3RpY3NUZWxlbWV0cnkuaDsgcGF0aCA9IENsYXNzaWZpZXIvV2ViUmVzb3VyY2VMb2Fk
U3RhdGlzdGljc1RlbGVtZXRyeS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk3QUZC
RDM2QzIxRTU0NTQ0MDA1REJBQ0IgLyogV2ViUmVzb3VyY2VMb2FkU3RhdGlzdGljc1RlbGVtZXRy
eS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmNwcC5jcHA7IG5hbWUgPSBXZWJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzVGVsZW1l
dHJ5LmNwcDsgcGF0aCA9IENsYXNzaWZpZXIvV2ViUmVzb3VyY2VMb2FkU3RhdGlzdGljc1RlbGVt
ZXRyeS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTdBRkJEMzZEMjFFNTQ2RTMw
MDVEQkFDQiAvKiBQZXJzaXN0ZW5jeVV0aWxzLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFBlcnNpc3RlbmN5
VXRpbHMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTYzODksOCArNjM4NSw2IEBA
CiAJCQkJMURCQkIwNjEyMTFDQzNDQjAwNTAyRUNDIC8qIFdLU2hhcmVTaGVldC5tbSAqLywKIAkJ
CQk3QTc4RkYyRTIyNDE5MTc1MDA5NjQ4M0UgLyogV0tTdG9yYWdlQWNjZXNzQWxlcnQuaCAqLywK
IAkJCQk3QTc4RkYyRjIyNDE5MTc2MDA5NjQ4M0UgLyogV0tTdG9yYWdlQWNjZXNzQWxlcnQubW0g
Ki8sCi0JCQkJNDE0N0RDNjgyNTE5RTI5RDAwMjE0RUU3IC8qIFdLVXNlck1lZGlhQ2FwdHVyZUFj
Y2Vzc0FsZXJ0LmggKi8sCi0JCQkJNDE0N0RDNjcyNTE5RTI5RDAwMjE0RUU3IC8qIFdLVXNlck1l
ZGlhQ2FwdHVyZUFjY2Vzc0FsZXJ0Lm1tICovLAogCQkJCTJEN0FBRkQyMThDODY0MDYwMEE3QUNE
NCAvKiBXS1dlYlZpZXdDb250ZW50UHJvdmlkZXIuaCAqLywKIAkJCQkyREM2RDlDMTE4QzQ0QTYx
MDA0M0JBRDQgLyogV0tXZWJWaWV3Q29udGVudFByb3ZpZGVyUmVnaXN0cnkuaCAqLywKIAkJCQky
REM2RDlDMjE4QzQ0QTYxMDA0M0JBRDQgLyogV0tXZWJWaWV3Q29udGVudFByb3ZpZGVyUmVnaXN0
cnkubW0gKi8sCkBAIC03MDEzLDcgKzcwMDcsNiBAQAogCQkJCTBGQ0I0RTM2MThCQkUwNDQwMDBG
Q0ZDOSAvKiBQYWdlQ2xpZW50SW1wbElPUy5oICovLAogCQkJCTBGQ0I0RTM3MThCQkUwNDQwMDBG
Q0ZDOSAvKiBQYWdlQ2xpZW50SW1wbElPUy5tbSAqLywKIAkJCQk4NkY5NTM2MjE4RkY1NTBCMDAx
REIyRUYgLyogUHJvY2Vzc0Fzc2VydGlvbklPUy5tbSAqLywKLQkJCQk1MUU2QzE1RjFGMjkzNTUx
MDBGRDM0MzcgLyogUmVzb3VyY2VMb2FkU3RhdGlzdGljc1BlcnNpc3RlbnRTdG9yYWdlSU9TLm1t
ICovLAogCQkJCTJEQUYwNkQ0MThCRDFBNDcwMDgxQ0VCMSAvKiBTbWFydE1hZ25pZmljYXRpb25D
b250cm9sbGVyLmggKi8sCiAJCQkJMkRBRjA2RDgxOEJEMjNCQTAwODFDRUIxIC8qIFNtYXJ0TWFn
bmlmaWNhdGlvbkNvbnRyb2xsZXIubWVzc2FnZXMuaW4gKi8sCiAJCQkJMkRBRjA2RDUxOEJEMUE0
NzAwODFDRUIxIC8qIFNtYXJ0TWFnbmlmaWNhdGlvbkNvbnRyb2xsZXIubW0gKi8sCkBAIC04Mzcx
LDggKzgzNjQsNiBAQAogCQkJCTdBMEQ3ODYxMjIwNzkxRUMwMEVCQ0Y1NCAvKiBSZXNvdXJjZUxv
YWRTdGF0aXN0aWNzRGF0YWJhc2VTdG9yZS5oICovLAogCQkJCTdBRkJEMzY0MjFFNTFCQUIwMDVE
QkFDQiAvKiBSZXNvdXJjZUxvYWRTdGF0aXN0aWNzTWVtb3J5U3RvcmUuY3BwICovLAogCQkJCTdB
RkJEMzY1MjFFNTFCQUIwMDVEQkFDQiAvKiBSZXNvdXJjZUxvYWRTdGF0aXN0aWNzTWVtb3J5U3Rv
cmUuaCAqLywKLQkJCQk3QUZCRDM2OTIxRTU0MkU4MDA1REJBQ0IgLyogUmVzb3VyY2VMb2FkU3Rh
dGlzdGljc1BlcnNpc3RlbnRTdG9yYWdlLmNwcCAqLywKLQkJCQk3QUZCRDM2ODIxRTU0MkU4MDA1
REJBQ0IgLyogUmVzb3VyY2VMb2FkU3RhdGlzdGljc1BlcnNpc3RlbnRTdG9yYWdlLmggKi8sCiAJ
CQkJN0FDRTgyRTgyMjFDQUUwNzAwMERBOTRDIC8qIFJlc291cmNlTG9hZFN0YXRpc3RpY3NTdG9y
ZS5jcHAgKi8sCiAJCQkJN0FDRTgyRTcyMjFDQUUwNjAwMERBOTRDIC8qIFJlc291cmNlTG9hZFN0
YXRpc3RpY3NTdG9yZS5oICovLAogCQkJCTdBNDFFOUZBMjFGODFEQUMwMEI4OENEQiAvKiBTaG91
bGRHcmFuZGZhdGhlclN0YXRpc3RpY3MuaCAqLywKQEAgLTExMTI1LDcgKzExMTE2LDYgQEAKIAkJ
CQk2QkU5NjlDRDFFNTRFMDU0MDA4Qjc0ODMgLyogUmVzb3VyY2VMb2FkU3RhdGlzdGljc0NsYXNz
aWZpZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCTZCRTk2OUNCMUU1NEQ0Q0YwMDhCNzQ4MyAvKiBS
ZXNvdXJjZUxvYWRTdGF0aXN0aWNzQ2xhc3NpZmllckNvY29hLmggaW4gSGVhZGVycyAqLywKIAkJ
CQk3QUZCRDM2NzIxRTUxQkFCMDA1REJBQ0IgLyogUmVzb3VyY2VMb2FkU3RhdGlzdGljc01lbW9y
eVN0b3JlLmggaW4gSGVhZGVycyAqLywKLQkJCQk3QUZCRDM2QTIxRTU0MkYxMDA1REJBQ0IgLyog
UmVzb3VyY2VMb2FkU3RhdGlzdGljc1BlcnNpc3RlbnRTdG9yYWdlLmggaW4gSGVhZGVycyAqLywK
IAkJCQkxQTMwMDY2RTExMTBGNEY3MDAzMTkzN0MgLyogUmVzcG9uc2l2ZW5lc3NUaW1lci5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkJNDEwNDgyQ0UxREREMzI0RjAwRjAwNkQwIC8qIFJUQ05ldHdvcmsu
aCBpbiBIZWFkZXJzICovLAogCQkJCTQ2RjM4RThDMjQxNkU2NzMwMDU5Mzc1QSAvKiBSdW5uaW5n
Qm9hcmRTZXJ2aWNlc1NQSS5oIGluIEhlYWRlcnMgKi8sCkBAIC0xMzEyOCw3ICsxMzExOCw2IEBA
CiAJCQkJMURCMDE5NDQyMTFDRjAwNTAwOUZCM0U4IC8qIFdLU2hhcmVTaGVldC5tbSBpbiBTb3Vy
Y2VzICovLAogCQkJCTdBNzhGRjMzMjI0MTkxOUIwMDk2NDgzRSAvKiBXS1N0b3JhZ2VBY2Nlc3NB
bGVydC5tbSBpbiBTb3VyY2VzICovLAogCQkJCUNFMjEyMTYwMjQwRUU1NzEwMDZFRDQ0MyAvKiBX
S1RleHRQbGFjZWhvbGRlci5tbSBpbiBTb3VyY2VzICovLAotCQkJCTQxNDdEQzY5MjUxOUVDMzMw
MDIxNEVFNyAvKiBXS1VzZXJNZWRpYUNhcHR1cmVBY2Nlc3NBbGVydC5tbSBpbiBTb3VyY2VzICov
LAogCQkJCUMxNEQzMDY5MjRCNzlCRTAwMDQ4MDM4NyAvKiBYUENFbmRwb2ludC5tbSBpbiBTb3Vy
Y2VzICovLAogCQkJCUMxNEQzMDZBMjRCNzlCRTQwMDQ4MDM4NyAvKiBYUENFbmRwb2ludENsaWVu
dC5tbSBpbiBTb3VyY2VzICovLAogCQkJKTsKZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBi
L1Rvb2xzL0NoYW5nZUxvZwppbmRleCAzNDg5MDY2Y2VkNDIzMjEyZjcxYjYxYjY4NTVmYzNmNDRl
YzQ5NzVlLi4zZDk5YjlmMzE2NzRlNjE3OTc3NjI2NzM3YTI4NmJlYjk4NjUxMjIzIDEwMDY0NAot
LS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzMg
QEAKKzIwMjAtMDktMjggIEFsZXggQ2hyaXN0ZW5zZW4gIDxhY2hyaXN0ZW5zZW5Ad2Via2l0Lm9y
Zz4KKworICAgICAgICBSZW1vdmUgcGxpc3QtYmFzZWQgUmVzb3VyY2VMb2FkU3RhdGlzdGljcyBz
dG9yYWdlLCB3aGljaCBoYXMgYmVlbiByZXBsYWNlZCBieSBkYXRhYmFzZS1iYXNlZCBzdG9yYWdl
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTcwNjMK
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUaGVzZSB0
aHJlZSB0ZXN0cyBBUEkgdGVzdHMgaGF2ZSBiZWVuIHJlbW92ZWQ6CisKKyAgICAgICAgUmVzb3Vy
Y2VMb2FkU3RhdGlzdGljcy5DaGlsZFByb2Nlc3Nlc05vdExhdW5jaGVkCisgICAgICAgIFJlc291
cmNlTG9hZFN0YXRpc3RpY3MuR3JhbmRmYXRoZXJDYWxsYmFjaworICAgICAgICBSZXNvdXJjZUxv
YWRTdGF0aXN0aWNzLlNob3VsZE5vdEdyYW5kZmF0aGVyT25TdGFydHVwCisKKyAgICAgICAgRWFj
aCBvZiB0aG9zZSB0ZXN0cyBoYXMgYSBjb3JyZXNwb25kaW5nIHRlc3QgdGhhdCBlbmRzIHdpdGgg
IkRhdGFiYXNlIiB0aGF0IHRlc3RzIHRoZSBkYXRhYmFzZSBiYWNrZW5kLAorICAgICAgICBzbyB0
aGUgb25seSB0ZXN0IGNvdmVyYWdlIGxvc3Mgd2FzIG9mIHRoZSBjb2RlIHRoYXQgd2FzIHJlbW92
ZWQuCisKKyAgICAgICAgKiBUZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdENvY29hL1Jlc291cmNl
TG9hZFN0YXRpc3RpY3MubW06CisgICAgICAgIChlbnN1cmVJVFBGaWxlSXNDcmVhdGVkKToKKyAg
ICAgICAgKFRFU1QpOgorICAgICAgICAoaXNJVFBEYXRhYmFzZUVuYWJsZWQpOiBEZWxldGVkLgor
ICAgICAgICAqIFdlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvQmluZGluZ3MvVGVzdFJ1
bm5lci5pZGw6CisgICAgICAgICogV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9UZXN0
UnVubmVyLmNwcDoKKyAgICAgICAgKFdUUjo6VGVzdFJ1bm5lcjo6c2V0VXNlSVRQRGF0YWJhc2Up
OiBEZWxldGVkLgorICAgICAgICAqIFdlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvVGVz
dFJ1bm5lci5oOgorICAgICAgICAqIFdlYktpdFRlc3RSdW5uZXIvVGVzdENvbnRyb2xsZXIuY3Bw
OgorICAgICAgICAoV1RSOjpUZXN0Q29udHJvbGxlcjo6c2V0VXNlSVRQRGF0YWJhc2UpOiBEZWxl
dGVkLgorICAgICAgICAqIFdlYktpdFRlc3RSdW5uZXIvVGVzdENvbnRyb2xsZXIuaDoKKyAgICAg
ICAgKiBXZWJLaXRUZXN0UnVubmVyL1Rlc3RJbnZvY2F0aW9uLmNwcDoKKyAgICAgICAgKFdUUjo6
VGVzdEludm9jYXRpb246OmRpZFJlY2VpdmVTeW5jaHJvbm91c01lc3NhZ2VGcm9tSW5qZWN0ZWRC
dW5kbGUpOgorCiAyMDIwLTA5LTI4ICBNYXR0IExld2lzICA8amxld2lzM0BhcHBsZS5jb20+CiAK
ICAgICAgICAgRml4IEJ1aWxkIHRyaWdnZXJzIGZvciBpT1MsIHdhdGNoT1MsIGFuZCB0dk9TCmRp
ZmYgLS1naXQgYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdENvY29hL1Jlc291cmNl
TG9hZFN0YXRpc3RpY3MubW0gYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdENvY29h
L1Jlc291cmNlTG9hZFN0YXRpc3RpY3MubW0KaW5kZXggMGUxMGMzNGVlYzgyYzZmNjU5MmJiN2M0
Mjc0ZDBlNDU1ZWFmMTFlOC4uZDJlMjUzZWM2NGU3N2FkODg2MDNhMTVmZTBhYmYxZDA3YzAwYWNj
NSAxMDA2NDQKLS0tIGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9SZXNv
dXJjZUxvYWRTdGF0aXN0aWNzLm1tCisrKyBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2Vi
S2l0Q29jb2EvUmVzb3VyY2VMb2FkU3RhdGlzdGljcy5tbQpAQCAtNjksMTIwICs2OSwxNSBAQCBz
dGF0aWMgYm9vbCBmaW5pc2hlZE5hdmlnYXRpb24gPSBmYWxzZTsKIAogQGVuZAogCi1ib29sIGlz
SVRQRGF0YWJhc2VFbmFibGVkKCkKLXsKLSAgICBOU1VzZXJEZWZhdWx0cyAqZGVmYXVsdHMgPSBb
TlNVc2VyRGVmYXVsdHMgc3RhbmRhcmRVc2VyRGVmYXVsdHNdOwotICAgIGF1dG8gY29uZmlndXJh
dGlvbiA9IGFkb3B0TlMoW1tXS1dlYlZpZXdDb25maWd1cmF0aW9uIGFsbG9jXSBpbml0XSk7Ci0g
ICAgYXV0byBkZWZhdWx0RGF0YWJhc2VFbmFibGVkID0gW2NvbmZpZ3VyYXRpb24gcHJlZmVyZW5j
ZXNdLl9pc0lUUERhdGFiYXNlRW5hYmxlZDsKLQotICAgIE5TTnVtYmVyICpkYXRhYmFzZUVuYWJs
ZWRWYWx1ZSA9IFtkZWZhdWx0cyBvYmplY3RGb3JLZXk6QCJJbnRlcm5hbERlYnVnSXNJVFBEYXRh
YmFzZUVuYWJsZWQiXTsKLSAgICBpZiAoZGF0YWJhc2VFbmFibGVkVmFsdWUpCi0gICAgICAgIHJl
dHVybiBkYXRhYmFzZUVuYWJsZWRWYWx1ZS5ib29sVmFsdWU7Ci0KLSAgICByZXR1cm4gZGVmYXVs
dERhdGFiYXNlRW5hYmxlZDsKLX0KLQogc3RhdGljIHZvaWQgZW5zdXJlSVRQRmlsZUlzQ3JlYXRl
ZCgpCiB7Ci0gICAgc3RhdGljIGJvb2wgZG9uZUZsYWc7CiAgICAgYXV0byAqZGF0YVN0b3JlID0g
W1dLV2Vic2l0ZURhdGFTdG9yZSBkZWZhdWx0RGF0YVN0b3JlXTsKICAgICBhdXRvIHdlYlZpZXcg
PSBhZG9wdE5TKFtbV0tXZWJWaWV3IGFsbG9jXSBpbml0V2l0aEZyYW1lOk5TTWFrZVJlY3QoMCwg
MCwgODAwLCA2MDApXSk7CiAgICAgW2RhdGFTdG9yZSBfc2V0UmVzb3VyY2VMb2FkU3RhdGlzdGlj
c0VuYWJsZWQ6WUVTXTsKICAgICBbd2ViVmlldyBsb2FkUmVxdWVzdDpbTlNVUkxSZXF1ZXN0IHJl
cXVlc3RXaXRoVVJMOltOU1VSTCBVUkxXaXRoU3RyaW5nOkAiYWJvdXQ6YmxhbmsiXV1dOwotICAg
IFtkYXRhU3RvcmUgX3NldFVzZUlUUERhdGFiYXNlOnRydWUgY29tcGxldGlvbkhhbmRsZXI6IF4o
dm9pZCkgewotICAgICAgICBkb25lRmxhZyA9IHRydWU7Ci0gICAgfV07Ci0gICAgVGVzdFdlYktp
dEFQSTo6VXRpbDo6cnVuKCZkb25lRmxhZyk7CiAgICAgW2RhdGFTdG9yZSBfc2V0UmVzb3VyY2VM
b2FkU3RhdGlzdGljc0VuYWJsZWQ6Tk9dOwogfQogCi1URVNUKFJlc291cmNlTG9hZFN0YXRpc3Rp
Y3MsIEdyYW5kZmF0aGVyQ2FsbGJhY2spCi17Ci0gICAgYXV0byAqZGF0YVN0b3JlID0gW1dLV2Vi
c2l0ZURhdGFTdG9yZSBkZWZhdWx0RGF0YVN0b3JlXTsKLQotICAgIE5TVVJMICpzdGF0aXN0aWNz
RGlyZWN0b3J5VVJMID0gW05TVVJMIGZpbGVVUkxXaXRoUGF0aDpbQCJ+L0xpYnJhcnkvV2ViS2l0
L2NvbS5hcHBsZS5XZWJLaXQuVGVzdFdlYktpdEFQSS9XZWJzaXRlRGF0YS9SZXNvdXJjZUxvYWRT
dGF0aXN0aWNzIiBzdHJpbmdCeUV4cGFuZGluZ1RpbGRlSW5QYXRoXSBpc0RpcmVjdG9yeTpZRVNd
OwotICAgIE5TVVJMICpmaWxlVVJMID0gW3N0YXRpc3RpY3NEaXJlY3RvcnlVUkwgVVJMQnlBcHBl
bmRpbmdQYXRoQ29tcG9uZW50OkAiZnVsbF9icm93c2luZ19zZXNzaW9uX3Jlc291cmNlTG9nLnBs
aXN0Il07Ci0gICAgW1tOU0ZpbGVNYW5hZ2VyIGRlZmF1bHRNYW5hZ2VyXSByZW1vdmVJdGVtQXRV
Ukw6ZmlsZVVSTCBlcnJvcjpuaWxdOwotICAgIFtbTlNGaWxlTWFuYWdlciBkZWZhdWx0TWFuYWdl
cl0gcmVtb3ZlSXRlbUF0VVJMOnN0YXRpc3RpY3NEaXJlY3RvcnlVUkwgZXJyb3I6bmlsXTsKLSAg
ICBFWFBFQ1RfRkFMU0UoW1tOU0ZpbGVNYW5hZ2VyIGRlZmF1bHRNYW5hZ2VyXSBmaWxlRXhpc3Rz
QXRQYXRoOnN0YXRpc3RpY3NEaXJlY3RvcnlVUkwucGF0aF0pOwotCi0gICAgc3RhdGljIGJvb2wg
ZG9uZUZsYWc7Ci0gICAgc3RhdGljIGJvb2wgZ3JhbmRmYXRoZXJlZEZsYWc7Ci0KLSAgICBbZGF0
YVN0b3JlIF9zZXRSZXNvdXJjZUxvYWRTdGF0aXN0aWNzVGVzdGluZ0NhbGxiYWNrOl4oV0tXZWJz
aXRlRGF0YVN0b3JlICosIE5TU3RyaW5nICptZXNzYWdlKSB7Ci0gICAgICAgIC8vIE9ubHkgaWYg
dGhlIGRhdGFiYXNlIHN0b3JlIGlzIG5vdCBkZWZhdWx0LWVuYWJsZWQgZG8gd2UgbmVlZCB0byBj
aGVjayB0aGF0IHRoaXMgZmlyc3QgbWVzc2FnZSBpcyBjb3JyZWN0LgotICAgICAgICBpZiAoIWlz
SVRQRGF0YWJhc2VFbmFibGVkKCkpCi0gICAgICAgICAgICBBU1NFUlRfVFJVRShbbWVzc2FnZSBp
c0VxdWFsVG9TdHJpbmc6QCJHcmFuZGZhdGhlcmVkIl0pOwotICAgICAgICBncmFuZGZhdGhlcmVk
RmxhZyA9IHRydWU7Ci0gICAgfV07Ci0KLSAgICAvLyBXZSBuZWVkIGFuIGFjdGl2ZSBOZXR3b3Jr
UHJvY2VzcyB0byBwZXJmb3JtIFJlc291cmNlTG9hZFN0YXRpc3RpY3Mgb3BlcmF0aW9ucy4KLSAg
ICBhdXRvIHdlYlZpZXcgPSBhZG9wdE5TKFtbV0tXZWJWaWV3IGFsbG9jXSBpbml0V2l0aEZyYW1l
Ok5TTWFrZVJlY3QoMCwgMCwgODAwLCA2MDApXSk7Ci0gICAgW2RhdGFTdG9yZSBfc2V0UmVzb3Vy
Y2VMb2FkU3RhdGlzdGljc0VuYWJsZWQ6WUVTXTsKLSAgICBbd2ViVmlldyBsb2FkUmVxdWVzdDpb
TlNVUkxSZXF1ZXN0IHJlcXVlc3RXaXRoVVJMOltOU1VSTCBVUkxXaXRoU3RyaW5nOkAiYWJvdXQ6
YmxhbmsiXV1dOwotCi0gICAgaWYgKGlzSVRQRGF0YWJhc2VFbmFibGVkKCkpIHsKLSAgICAgICAg
VGVzdFdlYktpdEFQSTo6VXRpbDo6cnVuKCZncmFuZGZhdGhlcmVkRmxhZyk7Ci0KLSAgICAgICAg
Ly8gU2luY2UgdGhlIGRhdGFiYXNlIHN0b3JlIGlzIGVuYWJsZWQsIHdlIG5lZWQgdG8gZGlzYWJs
ZSBpdCB0byB0ZXN0IHRoaXMgZnVuY3Rpb25hbGl0eSB3aXRoIHRoZSBwbGlzdC4KLSAgICAgICAg
Ly8gV2UgYWxyZWFkeSBoYXZlIGEgTmV0d29ya1Byb2Nlc3MgdXAgYW5kIHJ1bm5pbmcgd2l0aCBJ
VFAgZW5hYmxlZC4gV2Ugbm93IG1ha2UgYW5vdGhlciBjYWxsIGluaXRpYWxpemluZwotICAgICAg
ICAvLyB0aGUgbWVtb3J5IHN0b3JlIGFuZCB0ZXN0aW5nIGdyYW5kZmF0aGVyaW5nLgotICAgICAg
ICBncmFuZGZhdGhlcmVkRmxhZyA9IGZhbHNlOwotICAgICAgICBbZGF0YVN0b3JlIF9zZXRSZXNv
dXJjZUxvYWRTdGF0aXN0aWNzVGVzdGluZ0NhbGxiYWNrOl4oV0tXZWJzaXRlRGF0YVN0b3JlICos
IE5TU3RyaW5nICptZXNzYWdlKSB7Ci0gICAgICAgICAgICBBU1NFUlRfVFJVRShbbWVzc2FnZSBp
c0VxdWFsVG9TdHJpbmc6QCJHcmFuZGZhdGhlcmVkIl0pOwotICAgICAgICAgICAgZ3JhbmRmYXRo
ZXJlZEZsYWcgPSB0cnVlOwotICAgICAgICB9XTsKLQotICAgICAgICBbZGF0YVN0b3JlIF9zZXRV
c2VJVFBEYXRhYmFzZTpmYWxzZSBjb21wbGV0aW9uSGFuZGxlcjogXih2b2lkKSB7Ci0gICAgICAg
ICAgICBkb25lRmxhZyA9IHRydWU7Ci0gICAgICAgIH1dOwotCi0gICAgICAgIFRlc3RXZWJLaXRB
UEk6OlV0aWw6OnJ1bigmZG9uZUZsYWcpOwotICAgIH0KLQotICAgIFRlc3RXZWJLaXRBUEk6OlV0
aWw6OnJ1bigmZ3JhbmRmYXRoZXJlZEZsYWcpOwotCi0gICAgLy8gU3BpbiB0aGUgcnVubG9vcCB1
bnRpbCB0aGUgcmVzb3VyY2UgbG9hZCBzdGF0aXN0aWNzIGZpbGUgaGFzIHdyaXR0ZW4gdG8gZGlz
ay4KLSAgICAvLyBJZiB0aGUgdGVzdCBlbnRlcnMgYSBzcGluIGxvb3AgaGVyZSwgaXQgaGFzIGZh
aWxlZC4KLSAgICB3aGlsZSAodHJ1ZSkgewotICAgICAgICBpZiAoW1tOU0ZpbGVNYW5hZ2VyIGRl
ZmF1bHRNYW5hZ2VyXSBmaWxlRXhpc3RzQXRQYXRoOmZpbGVVUkwucGF0aF0pCi0gICAgICAgICAg
ICBicmVhazsKLSAgICAgICAgVGVzdFdlYktpdEFQSTo6VXRpbDo6c3BpblJ1bkxvb3AoMSk7Ci0g
ICAgfQotCi0gICAgZ3JhbmRmYXRoZXJlZEZsYWcgPSBmYWxzZTsKLSAgICBkb25lRmxhZyA9IGZh
bHNlOwotICAgIFtkYXRhU3RvcmUgcmVtb3ZlRGF0YU9mVHlwZXM6W1dLV2Vic2l0ZURhdGFTdG9y
ZSBfYWxsV2Vic2l0ZURhdGFUeXBlc0luY2x1ZGluZ1ByaXZhdGVdICBtb2RpZmllZFNpbmNlOltO
U0RhdGUgZGlzdGFudFBhc3RdIGNvbXBsZXRpb25IYW5kbGVyOl4gewotICAgICAgICBkb25lRmxh
ZyA9IHRydWU7Ci0gICAgfV07Ci0KLSAgICBUZXN0V2ViS2l0QVBJOjpVdGlsOjpydW4oJmRvbmVG
bGFnKTsKLSAgICBUZXN0V2ViS2l0QVBJOjpVdGlsOjpzcGluUnVuTG9vcCgxMCk7Ci0KLSAgICAv
LyBUaGUgd2Vic2l0ZSBkYXRhIHN0b3JlIHJlbW92ZSBzaG91bGQgaGF2ZSBjb21wbGV0ZWQsIGJ1
dCBzaW5jZSB3ZSByZW1vdmVkIGFsbCBvZiB0aGUgZGF0YSB0eXBlcyB0aGF0IGFyZSBtb25pdG9y
ZWQgYnkgcmVzb3VyY2UgbG9hZCBzdGF0aXN0aWNzLAotICAgIC8vIG5vIGdyYW5kZmF0aGVyaW5n
IGNhbGwgc2hvdWxkIGhhdmUgYmVlbiBtYWRlLgotICAgIEVYUEVDVF9GQUxTRShncmFuZGZhdGhl
cmVkRmxhZyk7Ci0gICAgRVhQRUNUX0ZBTFNFKFtbTlNGaWxlTWFuYWdlciBkZWZhdWx0TWFuYWdl
cl0gZmlsZUV4aXN0c0F0UGF0aDpmaWxlVVJMLnBhdGhdKTsKLQotICAgIGRvbmVGbGFnID0gZmFs
c2U7Ci0gICAgW2RhdGFTdG9yZSByZW1vdmVEYXRhT2ZUeXBlczpbTlNTZXQgc2V0V2l0aE9iamVj
dHM6V0tXZWJzaXRlRGF0YVR5cGVDb29raWVzLCBfV0tXZWJzaXRlRGF0YVR5cGVSZXNvdXJjZUxv
YWRTdGF0aXN0aWNzLCBuaWxdIG1vZGlmaWVkU2luY2U6W05TRGF0ZSBkaXN0YW50UGFzdF0gY29t
cGxldGlvbkhhbmRsZXI6XiB7Ci0gICAgICAgIGRvbmVGbGFnID0gdHJ1ZTsKLSAgICB9XTsKLQot
ICAgIC8vIFNpbmNlIHdlIGRpZCBub3QgcmVtb3ZlIGV2ZXJ5IGRhdGEgdHlwZSBjb3ZlcmVkIGJ5
IHJlc291cmNlIGxvYWQgc3RhdGlzdGljcywgd2UgZG8gZXhwZWN0IHRoYXQgZ3JhbmRmYXRoZXJp
bmcgdG9vayBwbGFjZSBhZ2Fpbi4KLSAgICAvLyBJZiB0aGUgdGVzdCBoYW5ncyB3YWl0aW5nIG9u
IGVpdGhlciBvZiB0aGVzZSBjb25kaXRpb25zLCBpdCBoYXMgZmFpbGVkLgotICAgIFRlc3RXZWJL
aXRBUEk6OlV0aWw6OnJ1bigmZ3JhbmRmYXRoZXJlZEZsYWcpOwotICAgIFRlc3RXZWJLaXRBUEk6
OlV0aWw6OnJ1bigmZG9uZUZsYWcpOwotCi0gICAgLy8gU3BpbiB0aGUgcnVubG9vcCB1bnRpbCB0
aGUgcmVzb3VyY2UgbG9hZCBzdGF0aXN0aWNzIGZpbGUgaGFzIHdyaXR0ZW4gdG8gZGlzay4KLSAg
ICAvLyBJZiB0aGUgdGVzdCBlbnRlcnMgYSBzcGluIGxvb3AgaGVyZSwgaXQgaGFzIGZhaWxlZC4K
LSAgICB3aGlsZSAodHJ1ZSkgewotICAgICAgICBpZiAoW1tOU0ZpbGVNYW5hZ2VyIGRlZmF1bHRN
YW5hZ2VyXSBmaWxlRXhpc3RzQXRQYXRoOmZpbGVVUkwucGF0aF0pCi0gICAgICAgICAgICBicmVh
azsKLSAgICAgICAgVGVzdFdlYktpdEFQSTo6VXRpbDo6c3BpblJ1bkxvb3AoMSk7Ci0gICAgfQot
fQotCiBURVNUKFJlc291cmNlTG9hZFN0YXRpc3RpY3MsIEdyYW5kZmF0aGVyQ2FsbGJhY2tEYXRh
YmFzZSkKIHsKICAgICBhdXRvICpkYXRhU3RvcmUgPSBbV0tXZWJzaXRlRGF0YVN0b3JlIGRlZmF1
bHREYXRhU3RvcmVdOwpAQCAtMTk3LDkgKzkyLDcgQEAgVEVTVChSZXNvdXJjZUxvYWRTdGF0aXN0
aWNzLCBHcmFuZGZhdGhlckNhbGxiYWNrRGF0YWJhc2UpCiAgICAgc3RhdGljIGJvb2wgZG9uZUZs
YWc7CiAKICAgICBbZGF0YVN0b3JlIF9zZXRSZXNvdXJjZUxvYWRTdGF0aXN0aWNzVGVzdGluZ0Nh
bGxiYWNrOl4oV0tXZWJzaXRlRGF0YVN0b3JlICosIE5TU3RyaW5nICptZXNzYWdlKSB7Ci0gICAg
ICAgIC8vIE9ubHkgaWYgdGhlIGRhdGFiYXNlIHN0b3JlIGlzIGRlZmF1bHQtZW5hYmxlZCBkbyB3
ZSBuZWVkIHRvIGNoZWNrIHRoYXQgdGhpcyBmaXJzdCBtZXNzYWdlIGlzIGNvcnJlY3QuCi0gICAg
ICAgIGlmIChpc0lUUERhdGFiYXNlRW5hYmxlZCgpKQotICAgICAgICAgICAgQVNTRVJUX1RSVUUo
W21lc3NhZ2UgaXNFcXVhbFRvU3RyaW5nOkAiR3JhbmRmYXRoZXJlZCJdKTsKKyAgICAgICAgQVNT
RVJUX1RSVUUoW21lc3NhZ2UgaXNFcXVhbFRvU3RyaW5nOkAiR3JhbmRmYXRoZXJlZCJdKTsKICAg
ICAgICAgZ3JhbmRmYXRoZXJlZEZsYWcgPSB0cnVlOwogICAgIH1dOwogCkBAIC0yMDcsMjUgKzEw
MCw2IEBAIFRFU1QoUmVzb3VyY2VMb2FkU3RhdGlzdGljcywgR3JhbmRmYXRoZXJDYWxsYmFja0Rh
dGFiYXNlKQogICAgIFtkYXRhU3RvcmUgX3NldFJlc291cmNlTG9hZFN0YXRpc3RpY3NFbmFibGVk
OllFU107CiAgICAgW3dlYlZpZXcgbG9hZFJlcXVlc3Q6W05TVVJMUmVxdWVzdCByZXF1ZXN0V2l0
aFVSTDpbTlNVUkwgVVJMV2l0aFN0cmluZzpAImFib3V0OmJsYW5rIl1dXTsKIAotICAgIGlmICgh
aXNJVFBEYXRhYmFzZUVuYWJsZWQoKSkgewotICAgICAgICBUZXN0V2ViS2l0QVBJOjpVdGlsOjpy
dW4oJmdyYW5kZmF0aGVyZWRGbGFnKTsKLQotICAgICAgICAvLyBTaW5jZSB0aGUgZGF0YWJhc2Ug
c3RvcmUgaXMgbm90IGVuYWJsZWQsIHdlIG5lZWQgdG8gdXBkYXRlIHRoZSBzdG9yZSB0byB1c2Ug
YSBkYXRhYmFzZSBpbnN0ZWFkIG9mIGEgcGxpc3QgZm9yIHRoaXMgdGVzdC4KLSAgICAgICAgLy8g
V2UgYWxyZWFkeSBoYXZlIGEgTmV0d29ya1Byb2Nlc3MgdXAgYW5kIHJ1bm5pbmcgd2l0aCBJVFAg
ZW5hYmxlZC4gV2Ugbm93IG1ha2UgYW5vdGhlciBjYWxsIGluaXRpYWxpemluZwotICAgICAgICAv
LyB0aGUgZGF0YWJhc2Ugc3RvcmUgYW5kIHRlc3RpbmcgZ3JhbmRmYXRoZXJpbmcuCi0gICAgICAg
IGdyYW5kZmF0aGVyZWRGbGFnID0gZmFsc2U7Ci0gICAgICAgIFtkYXRhU3RvcmUgX3NldFJlc291
cmNlTG9hZFN0YXRpc3RpY3NUZXN0aW5nQ2FsbGJhY2s6XihXS1dlYnNpdGVEYXRhU3RvcmUgKiwg
TlNTdHJpbmcgKm1lc3NhZ2UpIHsKLSAgICAgICAgICAgIEFTU0VSVF9UUlVFKFttZXNzYWdlIGlz
RXF1YWxUb1N0cmluZzpAIkdyYW5kZmF0aGVyZWQiXSk7Ci0gICAgICAgICAgICBncmFuZGZhdGhl
cmVkRmxhZyA9IHRydWU7Ci0gICAgICAgIH1dOwotCi0gICAgICAgIFtkYXRhU3RvcmUgX3NldFVz
ZUlUUERhdGFiYXNlOnRydWUgY29tcGxldGlvbkhhbmRsZXI6IF4odm9pZCkgewotICAgICAgICAg
ICAgZG9uZUZsYWcgPSB0cnVlOwotICAgICAgICB9XTsKLQotICAgICAgICBUZXN0V2ViS2l0QVBJ
OjpVdGlsOjpydW4oJmRvbmVGbGFnKTsKLSAgICB9Ci0KICAgICBUZXN0V2ViS2l0QVBJOjpVdGls
OjpydW4oJmdyYW5kZmF0aGVyZWRGbGFnKTsKIAogICAgIC8vIFNwaW4gdGhlIHJ1bmxvb3AgdW50
aWwgdGhlIHJlc291cmNlIGxvYWQgc3RhdGlzdGljcyBmaWxlIGhhcyB3cml0dGVuIHRvIGRpc2su
CkBAIC0yNjAsNzQgKzEzNCwxNiBAQCBURVNUKFJlc291cmNlTG9hZFN0YXRpc3RpY3MsIEdyYW5k
ZmF0aGVyQ2FsbGJhY2tEYXRhYmFzZSkKICAgICBUZXN0V2ViS2l0QVBJOjpVdGlsOjpydW4oJmRv
bmVGbGFnKTsKIH0KIAotVEVTVChSZXNvdXJjZUxvYWRTdGF0aXN0aWNzLCBTaG91bGROb3RHcmFu
ZGZhdGhlck9uU3RhcnR1cCkKLXsKLSAgICBhdXRvICpkYXRhU3RvcmUgPSBbV0tXZWJzaXRlRGF0
YVN0b3JlIGRlZmF1bHREYXRhU3RvcmVdOwotCi0gICAgTlNVUkwgKnN0YXRpc3RpY3NEaXJlY3Rv
cnlVUkwgPSBbTlNVUkwgZmlsZVVSTFdpdGhQYXRoOltAIn4vTGlicmFyeS9XZWJLaXQvY29tLmFw
cGxlLldlYktpdC5UZXN0V2ViS2l0QVBJL1dlYnNpdGVEYXRhL1Jlc291cmNlTG9hZFN0YXRpc3Rp
Y3MiIHN0cmluZ0J5RXhwYW5kaW5nVGlsZGVJblBhdGhdIGlzRGlyZWN0b3J5OllFU107Ci0gICAg
TlNVUkwgKnRhcmdldFVSTCA9IFtzdGF0aXN0aWNzRGlyZWN0b3J5VVJMIFVSTEJ5QXBwZW5kaW5n
UGF0aENvbXBvbmVudDpAImZ1bGxfYnJvd3Npbmdfc2Vzc2lvbl9yZXNvdXJjZUxvZy5wbGlzdCJd
OwotICAgIE5TVVJMICp0ZXN0UmVzb3VyY2VVUkwgPSBbW05TQnVuZGxlIG1haW5CdW5kbGVdIFVS
TEZvclJlc291cmNlOkAiRW1wdHlHcmFuZGZhdGhlcmVkUmVzb3VyY2VMb2FkU3RhdGlzdGljcyIg
d2l0aEV4dGVuc2lvbjpAInBsaXN0IiBzdWJkaXJlY3Rvcnk6QCJUZXN0V2ViS2l0QVBJLnJlc291
cmNlcyJdOwotCi0gICAgW1tOU0ZpbGVNYW5hZ2VyIGRlZmF1bHRNYW5hZ2VyXSBjcmVhdGVEaXJl
Y3RvcnlBdFVSTDpzdGF0aXN0aWNzRGlyZWN0b3J5VVJMIHdpdGhJbnRlcm1lZGlhdGVEaXJlY3Rv
cmllczpZRVMgYXR0cmlidXRlczpuaWwgZXJyb3I6bmlsXTsKLSAgICBbW05TRmlsZU1hbmFnZXIg
ZGVmYXVsdE1hbmFnZXJdIGNvcHlJdGVtQXRVUkw6dGVzdFJlc291cmNlVVJMIHRvVVJMOnRhcmdl
dFVSTCBlcnJvcjpuaWxdOwotCi0gICAgRVhQRUNUX1RSVUUoW1tOU0ZpbGVNYW5hZ2VyIGRlZmF1
bHRNYW5hZ2VyXSBmaWxlRXhpc3RzQXRQYXRoOnRhcmdldFVSTC5wYXRoXSk7Ci0KLSAgICBzdGF0
aWMgYm9vbCBjYWxsYmFja0ZsYWc7Ci0gICAgc3RhdGljIGJvb2wgZG9uZUZsYWc7Ci0KLSAgICBb
ZGF0YVN0b3JlIF9zZXRSZXNvdXJjZUxvYWRTdGF0aXN0aWNzVGVzdGluZ0NhbGxiYWNrOl4oV0tX
ZWJzaXRlRGF0YVN0b3JlICosIE5TU3RyaW5nICptZXNzYWdlKSB7Ci0gICAgICAgIC8vIE9ubHkg
aWYgdGhlIGRhdGFiYXNlIHN0b3JlIGlzIG5vdCBkZWZhdWx0LWVuYWJsZWQgZG8gd2UgbmVlZCB0
byBjaGVjayB0aGF0IHRoaXMgZmlyc3QgbWVzc2FnZSBpcyBjb3JyZWN0LgotICAgICAgICBpZiAo
IWlzSVRQRGF0YWJhc2VFbmFibGVkKCkpCi0gICAgICAgICAgICBBU1NFUlRfVFJVRShbbWVzc2Fn
ZSBpc0VxdWFsVG9TdHJpbmc6QCJQb3B1bGF0ZWRXaXRob3V0R3JhbmRmYXRoZXJpbmciXSk7Ci0g
ICAgICAgIGNhbGxiYWNrRmxhZyA9IHRydWU7Ci0gICAgfV07Ci0KLSAgICAvLyBXZSBuZWVkIGFu
IGFjdGl2ZSBOZXR3b3JrUHJvY2VzcyB0byBwZXJmb3JtIFJlc291cmNlTG9hZFN0YXRpc3RpY3Mg
b3BlcmF0aW9ucy4KLSAgICBhdXRvIHdlYlZpZXcgPSBhZG9wdE5TKFtbV0tXZWJWaWV3IGFsbG9j
XSBpbml0V2l0aEZyYW1lOk5TTWFrZVJlY3QoMCwgMCwgODAwLCA2MDApXSk7Ci0gICAgW2RhdGFT
dG9yZSBfc2V0UmVzb3VyY2VMb2FkU3RhdGlzdGljc0VuYWJsZWQ6WUVTXTsKLSAgICBbd2ViVmll
dyBsb2FkUmVxdWVzdDpbTlNVUkxSZXF1ZXN0IHJlcXVlc3RXaXRoVVJMOltOU1VSTCBVUkxXaXRo
U3RyaW5nOkAiYWJvdXQ6YmxhbmsiXV1dOwotCi0gICAgaWYgKGlzSVRQRGF0YWJhc2VFbmFibGVk
KCkpIHsKLSAgICAgICAgVGVzdFdlYktpdEFQSTo6VXRpbDo6cnVuKCZjYWxsYmFja0ZsYWcpOwot
Ci0gICAgICAgIC8vIFNpbmNlIHRoZSBkYXRhYmFzZSBzdG9yZSBpcyBlbmFibGVkLCB3ZSBuZWVk
IHRvIGRpc2FibGUgaXQgdG8gdGVzdCB0aGlzIGZ1bmN0aW9uYWxpdHkgd2l0aCB0aGUgcGxpc3Qu
Ci0gICAgICAgIC8vIFdlIGFscmVhZHkgaGF2ZSBhIE5ldHdvcmtQcm9jZXNzIHVwIGFuZCBydW5u
aW5nIHdpdGggSVRQIGVuYWJsZWQuIFdlIG5vdyBtYWtlIGFub3RoZXIgY2FsbCBpbml0aWFsaXpp
bmcKLSAgICAgICAgLy8gdGhlIG1lbW9yeSBzdG9yZSBhbmQgdGVzdGluZyBncmFuZGZhdGhlcmlu
Zy4KLSAgICAgICAgY2FsbGJhY2tGbGFnID0gZmFsc2U7Ci0gICAgICAgIFtkYXRhU3RvcmUgX3Nl
dFJlc291cmNlTG9hZFN0YXRpc3RpY3NUZXN0aW5nQ2FsbGJhY2s6XihXS1dlYnNpdGVEYXRhU3Rv
cmUgKiwgTlNTdHJpbmcgKm1lc3NhZ2UpIHsKLSAgICAgICAgICAgIEFTU0VSVF9UUlVFKFttZXNz
YWdlIGlzRXF1YWxUb1N0cmluZzpAIlBvcHVsYXRlZFdpdGhvdXRHcmFuZGZhdGhlcmluZyJdKTsK
LSAgICAgICAgICAgIGNhbGxiYWNrRmxhZyA9IHRydWU7Ci0gICAgICAgIH1dOwotCi0gICAgICAg
IC8vIFNpbmNlIHRoZSBJVFAgRGF0YWJhc2UgaXMgZW5hYmxlZCwgdGhlIHBsaXN0IGZpbGUgaGFz
IGJlZW4gZGVsZXRlZC4gV2UgbmVlZCB0byBjcmVhdGUgaXQgYWdhaW4uCi0gICAgICAgIFtbTlNG
aWxlTWFuYWdlciBkZWZhdWx0TWFuYWdlcl0gY3JlYXRlRGlyZWN0b3J5QXRVUkw6c3RhdGlzdGlj
c0RpcmVjdG9yeVVSTCB3aXRoSW50ZXJtZWRpYXRlRGlyZWN0b3JpZXM6WUVTIGF0dHJpYnV0ZXM6
bmlsIGVycm9yOm5pbF07Ci0gICAgICAgIFtbTlNGaWxlTWFuYWdlciBkZWZhdWx0TWFuYWdlcl0g
Y29weUl0ZW1BdFVSTDp0ZXN0UmVzb3VyY2VVUkwgdG9VUkw6dGFyZ2V0VVJMIGVycm9yOm5pbF07
Ci0gICAgICAgIEVYUEVDVF9UUlVFKFtbTlNGaWxlTWFuYWdlciBkZWZhdWx0TWFuYWdlcl0gZmls
ZUV4aXN0c0F0UGF0aDp0YXJnZXRVUkwucGF0aF0pOwotCi0gICAgICAgIFtkYXRhU3RvcmUgX3Nl
dFVzZUlUUERhdGFiYXNlOmZhbHNlIGNvbXBsZXRpb25IYW5kbGVyOiBeKHZvaWQpIHsKLSAgICAg
ICAgICAgIGRvbmVGbGFnID0gdHJ1ZTsKLSAgICAgICAgfV07Ci0KLSAgICAgICAgVGVzdFdlYktp
dEFQSTo6VXRpbDo6cnVuKCZkb25lRmxhZyk7Ci0gICAgfQotCi0gICAgVGVzdFdlYktpdEFQSTo6
VXRpbDo6cnVuKCZjYWxsYmFja0ZsYWcpOwotfQotCiBURVNUKFJlc291cmNlTG9hZFN0YXRpc3Rp
Y3MsIFNob3VsZE5vdEdyYW5kZmF0aGVyT25TdGFydHVwRGF0YWJhc2UpCiB7CiAgICAgYXV0byAq
ZGF0YVN0b3JlID0gW1dLV2Vic2l0ZURhdGFTdG9yZSBkZWZhdWx0RGF0YVN0b3JlXTsKIAogICAg
IGVuc3VyZUlUUEZpbGVJc0NyZWF0ZWQoKTsKIAotICAgIHN0YXRpYyBib29sIGNhbGxiYWNrRmxh
ZzsKLSAgICBzdGF0aWMgYm9vbCBkb25lRmxhZzsKKyAgICBfX2Jsb2NrIGJvb2wgY2FsbGJhY2tG
bGFnID0gZmFsc2U7CiAKICAgICBbZGF0YVN0b3JlIF9zZXRSZXNvdXJjZUxvYWRTdGF0aXN0aWNz
VGVzdGluZ0NhbGxiYWNrOl4oV0tXZWJzaXRlRGF0YVN0b3JlICosIE5TU3RyaW5nICptZXNzYWdl
KSB7Ci0gICAgICAgIC8vIE9ubHkgaWYgdGhlIGRhdGFiYXNlIHN0b3JlIGlzIGRlZmF1bHQtZW5h
YmxlZCBkbyB3ZSBuZWVkIHRvIGNoZWNrIHRoYXQgdGhpcyBmaXJzdCBtZXNzYWdlIGlzIGNvcnJl
Y3QuCi0gICAgICAgIGlmIChpc0lUUERhdGFiYXNlRW5hYmxlZCgpKQotICAgICAgICAgICAgQVNT
RVJUX1RSVUUoW21lc3NhZ2UgaXNFcXVhbFRvU3RyaW5nOkAiUG9wdWxhdGVkV2l0aG91dEdyYW5k
ZmF0aGVyaW5nIl0pOworICAgICAgICBBU1NFUlRfVFJVRShbbWVzc2FnZSBpc0VxdWFsVG9TdHJp
bmc6QCJQb3B1bGF0ZWRXaXRob3V0R3JhbmRmYXRoZXJpbmciXSk7CiAgICAgICAgIGNhbGxiYWNr
RmxhZyA9IHRydWU7CiAgICAgfV07CiAKQEAgLTMzNiw5NSArMTUyLDkgQEAgVEVTVChSZXNvdXJj
ZUxvYWRTdGF0aXN0aWNzLCBTaG91bGROb3RHcmFuZGZhdGhlck9uU3RhcnR1cERhdGFiYXNlKQog
ICAgIFtkYXRhU3RvcmUgX3NldFJlc291cmNlTG9hZFN0YXRpc3RpY3NFbmFibGVkOllFU107CiAg
ICAgW3dlYlZpZXcgbG9hZFJlcXVlc3Q6W05TVVJMUmVxdWVzdCByZXF1ZXN0V2l0aFVSTDpbTlNV
UkwgVVJMV2l0aFN0cmluZzpAImFib3V0OmJsYW5rIl1dXTsKIAotICAgIGlmICghaXNJVFBEYXRh
YmFzZUVuYWJsZWQoKSkgewotICAgICAgICBUZXN0V2ViS2l0QVBJOjpVdGlsOjpydW4oJmNhbGxi
YWNrRmxhZyk7Ci0KLSAgICAgICAgLy8gU2luY2UgdGhlIGRhdGFiYXNlIHN0b3JlIGlzIG5vdCBl
bmFibGVkLCB3ZSBuZWVkIHRvIHVwZGF0ZSB0aGUgc3RvcmUgdG8gdXNlIGEgZGF0YWJhc2UgaW5z
dGVhZCBvZiBhIHBsaXN0IGZvciB0aGlzIHRlc3QuCi0gICAgICAgIC8vIFdlIGFscmVhZHkgaGF2
ZSBhIE5ldHdvcmtQcm9jZXNzIHVwIGFuZCBydW5uaW5nIHdpdGggSVRQIGVuYWJsZWQuIFdlIG5v
dyBtYWtlIGFub3RoZXIgY2FsbCBpbml0aWFsaXppbmcKLSAgICAgICAgLy8gdGhlIGRhdGFiYXNl
IHN0b3JlIGFuZCB0ZXN0aW5nIGdyYW5kZmF0aGVyaW5nLgotICAgICAgICBjYWxsYmFja0ZsYWcg
PSBmYWxzZTsKLSAgICAgICAgW2RhdGFTdG9yZSBfc2V0UmVzb3VyY2VMb2FkU3RhdGlzdGljc1Rl
c3RpbmdDYWxsYmFjazpeKFdLV2Vic2l0ZURhdGFTdG9yZSAqLCBOU1N0cmluZyAqbWVzc2FnZSkg
ewotICAgICAgICAgICAgQVNTRVJUX1RSVUUoW21lc3NhZ2UgaXNFcXVhbFRvU3RyaW5nOkAiUG9w
dWxhdGVkV2l0aG91dEdyYW5kZmF0aGVyaW5nIl0pOwotICAgICAgICAgICAgY2FsbGJhY2tGbGFn
ID0gdHJ1ZTsKLSAgICAgICAgfV07Ci0KLSAgICAgICAgZW5zdXJlSVRQRmlsZUlzQ3JlYXRlZCgp
OwotCi0gICAgICAgIFtkYXRhU3RvcmUgX3NldFVzZUlUUERhdGFiYXNlOnRydWUgY29tcGxldGlv
bkhhbmRsZXI6IF4odm9pZCkgewotICAgICAgICAgICAgZG9uZUZsYWcgPSB0cnVlOwotICAgICAg
ICB9XTsKLQotICAgICAgICBUZXN0V2ViS2l0QVBJOjpVdGlsOjpydW4oJmRvbmVGbGFnKTsKLSAg
ICB9Ci0KICAgICBUZXN0V2ViS2l0QVBJOjpVdGlsOjpydW4oJmNhbGxiYWNrRmxhZyk7CiB9CiAK
LVRFU1QoUmVzb3VyY2VMb2FkU3RhdGlzdGljcywgQ2hpbGRQcm9jZXNzZXNOb3RMYXVuY2hlZCkK
LXsKLSAgICAvLyBFbnN1cmUgdGhlIHNoYXJlZCBwcm9jZXNzIHBvb2wgZXhpc3RzIHNvIHRoZSBk
YXRhIHN0b3JlIG9wZXJhdGlvbnMgd2UncmUgYWJvdXQgdG8gZG8gd29yayB3aXRoIGl0LgotICAg
IFdLUHJvY2Vzc1Bvb2wgKnNoYXJlZFByb2Nlc3NQb29sID0gW1dLUHJvY2Vzc1Bvb2wgX3NoYXJl
ZFByb2Nlc3NQb29sXTsKLQotICAgIEVYUEVDVF9FUSgoc2l6ZV90KTAsIFtzaGFyZWRQcm9jZXNz
UG9vbCBfcGx1Z2luUHJvY2Vzc0NvdW50XSk7Ci0KLSAgICBhdXRvICpkYXRhU3RvcmUgPSBbV0tX
ZWJzaXRlRGF0YVN0b3JlIGRlZmF1bHREYXRhU3RvcmVdOwotCi0gICAgTlNVUkwgKnN0YXRpc3Rp
Y3NEaXJlY3RvcnlVUkwgPSBbTlNVUkwgZmlsZVVSTFdpdGhQYXRoOltAIn4vTGlicmFyeS9XZWJL
aXQvY29tLmFwcGxlLldlYktpdC5UZXN0V2ViS2l0QVBJL1dlYnNpdGVEYXRhL1Jlc291cmNlTG9h
ZFN0YXRpc3RpY3MiIHN0cmluZ0J5RXhwYW5kaW5nVGlsZGVJblBhdGhdIGlzRGlyZWN0b3J5OllF
U107Ci0gICAgTlNVUkwgKnRhcmdldFVSTCA9IFtzdGF0aXN0aWNzRGlyZWN0b3J5VVJMIFVSTEJ5
QXBwZW5kaW5nUGF0aENvbXBvbmVudDpAImZ1bGxfYnJvd3Npbmdfc2Vzc2lvbl9yZXNvdXJjZUxv
Zy5wbGlzdCJdOwotICAgIE5TVVJMICp0ZXN0UmVzb3VyY2VVUkwgPSBbW05TQnVuZGxlIG1haW5C
dW5kbGVdIFVSTEZvclJlc291cmNlOkAiRW1wdHlHcmFuZGZhdGhlcmVkUmVzb3VyY2VMb2FkU3Rh
dGlzdGljcyIgd2l0aEV4dGVuc2lvbjpAInBsaXN0IiBzdWJkaXJlY3Rvcnk6QCJUZXN0V2ViS2l0
QVBJLnJlc291cmNlcyJdOwotCi0gICAgW1tOU0ZpbGVNYW5hZ2VyIGRlZmF1bHRNYW5hZ2VyXSBj
cmVhdGVEaXJlY3RvcnlBdFVSTDpzdGF0aXN0aWNzRGlyZWN0b3J5VVJMIHdpdGhJbnRlcm1lZGlh
dGVEaXJlY3RvcmllczpZRVMgYXR0cmlidXRlczpuaWwgZXJyb3I6bmlsXTsKLSAgICBbW05TRmls
ZU1hbmFnZXIgZGVmYXVsdE1hbmFnZXJdIGNvcHlJdGVtQXRVUkw6dGVzdFJlc291cmNlVVJMIHRv
VVJMOnRhcmdldFVSTCBlcnJvcjpuaWxdOwotICAgIAotICAgIEVYUEVDVF9UUlVFKFtbTlNGaWxl
TWFuYWdlciBkZWZhdWx0TWFuYWdlcl0gZmlsZUV4aXN0c0F0UGF0aDp0YXJnZXRVUkwucGF0aF0p
OwotCi0gICAgc3RhdGljIGJvb2wgY2FsbGJhY2tGbGFnOwotICAgIHN0YXRpYyBib29sIGRvbmVG
bGFnOwotICAgIFtkYXRhU3RvcmUgX3NldFJlc291cmNlTG9hZFN0YXRpc3RpY3NUZXN0aW5nQ2Fs
bGJhY2s6XihXS1dlYnNpdGVEYXRhU3RvcmUgKiwgTlNTdHJpbmcgKm1lc3NhZ2UpIHsKLSAgICAg
ICAgLy8gT25seSBpZiB0aGUgZGF0YWJhc2Ugc3RvcmUgaXMgbm90IGRlZmF1bHQtZW5hYmxlZCBk
byB3ZSBuZWVkIHRvIGNoZWNrIHRoYXQgdGhpcyBmaXJzdCBtZXNzYWdlIGlzIGNvcnJlY3QuCi0g
ICAgICAgIGlmICghaXNJVFBEYXRhYmFzZUVuYWJsZWQoKSkKLSAgICAgICAgICAgIEVYUEVDVF9U
UlVFKFttZXNzYWdlIGlzRXF1YWxUb1N0cmluZzpAIlBvcHVsYXRlZFdpdGhvdXRHcmFuZGZhdGhl
cmluZyJdKTsKLSAgICAgICAgY2FsbGJhY2tGbGFnID0gdHJ1ZTsKLSAgICB9XTsKLQotICAgIC8v
IFdlIG5lZWQgYW4gYWN0aXZlIE5ldHdvcmtQcm9jZXNzIHRvIHBlcmZvcm0gUmVzb3VyY2VMb2Fk
U3RhdGlzdGljcyBvcGVyYXRpb25zLgotICAgIGF1dG8gd2ViVmlldyA9IGFkb3B0TlMoW1tXS1dl
YlZpZXcgYWxsb2NdIGluaXRXaXRoRnJhbWU6TlNNYWtlUmVjdCgwLCAwLCA4MDAsIDYwMCldKTsK
LSAgICBbZGF0YVN0b3JlIF9zZXRSZXNvdXJjZUxvYWRTdGF0aXN0aWNzRW5hYmxlZDpZRVNdOwot
ICAgIFt3ZWJWaWV3IGxvYWRSZXF1ZXN0OltOU1VSTFJlcXVlc3QgcmVxdWVzdFdpdGhVUkw6W05T
VVJMIFVSTFdpdGhTdHJpbmc6QCJhYm91dDpibGFuayJdXV07Ci0KLSAgICBpZiAoaXNJVFBEYXRh
YmFzZUVuYWJsZWQoKSkgewotICAgICAgICBUZXN0V2ViS2l0QVBJOjpVdGlsOjpydW4oJmNhbGxi
YWNrRmxhZyk7Ci0KLSAgICAgICAgLy8gU2luY2UgdGhlIGRhdGFiYXNlIHN0b3JlIGlzIGVuYWJs
ZWQsIHdlIG5lZWQgdG8gZGlzYWJsZSBpdCB0byB0ZXN0IHRoaXMgZnVuY3Rpb25hbGl0eSB3aXRo
IHRoZSBwbGlzdC4KLSAgICAgICAgLy8gV2UgYWxyZWFkeSBoYXZlIGEgTmV0d29ya1Byb2Nlc3Mg
dXAgYW5kIHJ1bm5pbmcgd2l0aCBJVFAgZW5hYmxlZC4gV2Ugbm93IG1ha2UgYW5vdGhlciBjYWxs
IGluaXRpYWxpemluZwotICAgICAgICAvLyB0aGUgbWVtb3J5IHN0b3JlIGFuZCB0ZXN0aW5nIGdy
YW5kZmF0aGVyaW5nLgotICAgICAgICBjYWxsYmFja0ZsYWcgPSBmYWxzZTsKLSAgICAgICAgW2Rh
dGFTdG9yZSBfc2V0UmVzb3VyY2VMb2FkU3RhdGlzdGljc1Rlc3RpbmdDYWxsYmFjazpeKFdLV2Vi
c2l0ZURhdGFTdG9yZSAqLCBOU1N0cmluZyAqbWVzc2FnZSkgewotICAgICAgICAgICAgQVNTRVJU
X1RSVUUoW21lc3NhZ2UgaXNFcXVhbFRvU3RyaW5nOkAiUG9wdWxhdGVkV2l0aG91dEdyYW5kZmF0
aGVyaW5nIl0pOwotICAgICAgICAgICAgY2FsbGJhY2tGbGFnID0gdHJ1ZTsKLSAgICAgICAgfV07
Ci0KLSAgICAgICAgLy8gU2luY2UgdGhlIElUUCBEYXRhYmFzZSBpcyBlbmFibGVkLCB0aGUgcGxp
c3QgZmlsZSBoYXMgYmVlbiBkZWxldGVkLiBXZSBuZWVkIHRvIGNyZWF0ZSBpdCBhZ2Fpbi4KLSAg
ICAgICAgW1tOU0ZpbGVNYW5hZ2VyIGRlZmF1bHRNYW5hZ2VyXSBjcmVhdGVEaXJlY3RvcnlBdFVS
TDpzdGF0aXN0aWNzRGlyZWN0b3J5VVJMIHdpdGhJbnRlcm1lZGlhdGVEaXJlY3RvcmllczpZRVMg
YXR0cmlidXRlczpuaWwgZXJyb3I6bmlsXTsKLSAgICAgICAgW1tOU0ZpbGVNYW5hZ2VyIGRlZmF1
bHRNYW5hZ2VyXSBjb3B5SXRlbUF0VVJMOnRlc3RSZXNvdXJjZVVSTCB0b1VSTDp0YXJnZXRVUkwg
ZXJyb3I6bmlsXTsKLSAgICAgICAgRVhQRUNUX1RSVUUoW1tOU0ZpbGVNYW5hZ2VyIGRlZmF1bHRN
YW5hZ2VyXSBmaWxlRXhpc3RzQXRQYXRoOnRhcmdldFVSTC5wYXRoXSk7Ci0KLSAgICAgICAgW2Rh
dGFTdG9yZSBfc2V0VXNlSVRQRGF0YWJhc2U6ZmFsc2UgY29tcGxldGlvbkhhbmRsZXI6IF4odm9p
ZCkgewotICAgICAgICAgICAgZG9uZUZsYWcgPSB0cnVlOwotICAgICAgICB9XTsKLQotICAgICAg
ICBUZXN0V2ViS2l0QVBJOjpVdGlsOjpydW4oJmRvbmVGbGFnKTsKLSAgICB9Ci0KLSAgICBUZXN0
V2ViS2l0QVBJOjpVdGlsOjpydW4oJmNhbGxiYWNrRmxhZyk7Ci0KLSAgICBFWFBFQ1RfVFJVRShb
W05TRmlsZU1hbmFnZXIgZGVmYXVsdE1hbmFnZXJdIGZpbGVFeGlzdHNBdFBhdGg6dGFyZ2V0VVJM
LnBhdGhdKTsKLQotICAgIHdlYlZpZXcuY2xlYXIoKTsKLQotICAgIEVYUEVDVF9FUSgoc2l6ZV90
KTAsIFtzaGFyZWRQcm9jZXNzUG9vbCBfcGx1Z2luUHJvY2Vzc0NvdW50XSk7Ci19Ci0KIFRFU1Qo
UmVzb3VyY2VMb2FkU3RhdGlzdGljcywgQ2hpbGRQcm9jZXNzZXNOb3RMYXVuY2hlZERhdGFiYXNl
KQogewogICAgIC8vIEVuc3VyZSB0aGUgc2hhcmVkIHByb2Nlc3MgcG9vbCBleGlzdHMgc28gdGhl
IGRhdGEgc3RvcmUgb3BlcmF0aW9ucyB3ZSdyZSBhYm91dCB0byBkbyB3b3JrIHdpdGggaXQuCkBA
IC00MzksMTMgKzE2OSwxMSBAQCBURVNUKFJlc291cmNlTG9hZFN0YXRpc3RpY3MsIENoaWxkUHJv
Y2Vzc2VzTm90TGF1bmNoZWREYXRhYmFzZSkKIAogICAgIGVuc3VyZUlUUEZpbGVJc0NyZWF0ZWQo
KTsKIAotICAgIHN0YXRpYyBib29sIGNhbGxiYWNrRmxhZzsKLSAgICBzdGF0aWMgYm9vbCBkb25l
RmxhZzsKKyAgICBfX2Jsb2NrIGJvb2wgY2FsbGJhY2tGbGFnID0gZmFsc2U7CiAKICAgICBbZGF0
YVN0b3JlIF9zZXRSZXNvdXJjZUxvYWRTdGF0aXN0aWNzVGVzdGluZ0NhbGxiYWNrOl4oV0tXZWJz
aXRlRGF0YVN0b3JlICosIE5TU3RyaW5nICptZXNzYWdlKSB7CiAgICAgICAgIC8vIE9ubHkgaWYg
dGhlIGRhdGFiYXNlIHN0b3JlIGlzIGRlZmF1bHQtZW5hYmxlZCBkbyB3ZSBuZWVkIHRvIGNoZWNr
IHRoYXQgdGhpcyBmaXJzdCBtZXNzYWdlIGlzIGNvcnJlY3QuCi0gICAgICAgIGlmIChpc0lUUERh
dGFiYXNlRW5hYmxlZCgpKQotICAgICAgICAgICAgRVhQRUNUX1RSVUUoW21lc3NhZ2UgaXNFcXVh
bFRvU3RyaW5nOkAiUG9wdWxhdGVkV2l0aG91dEdyYW5kZmF0aGVyaW5nIl0pOworICAgICAgICBF
WFBFQ1RfVFJVRShbbWVzc2FnZSBpc0VxdWFsVG9TdHJpbmc6QCJQb3B1bGF0ZWRXaXRob3V0R3Jh
bmRmYXRoZXJpbmciXSk7CiAgICAgICAgIGNhbGxiYWNrRmxhZyA9IHRydWU7CiAgICAgfV07CiAK
QEAgLTQ1NCwyNyArMTgyLDYgQEAgVEVTVChSZXNvdXJjZUxvYWRTdGF0aXN0aWNzLCBDaGlsZFBy
b2Nlc3Nlc05vdExhdW5jaGVkRGF0YWJhc2UpCiAgICAgW2RhdGFTdG9yZSBfc2V0UmVzb3VyY2VM
b2FkU3RhdGlzdGljc0VuYWJsZWQ6WUVTXTsKICAgICBbd2ViVmlldyBsb2FkUmVxdWVzdDpbTlNV
UkxSZXF1ZXN0IHJlcXVlc3RXaXRoVVJMOltOU1VSTCBVUkxXaXRoU3RyaW5nOkAiYWJvdXQ6Ymxh
bmsiXV1dOwogCi0gICAgaWYgKCFpc0lUUERhdGFiYXNlRW5hYmxlZCgpKSB7Ci0gICAgICAgIFRl
c3RXZWJLaXRBUEk6OlV0aWw6OnJ1bigmY2FsbGJhY2tGbGFnKTsKLQotICAgICAgICAvLyBTaW5j
ZSB0aGUgZGF0YWJhc2Ugc3RvcmUgaXMgbm90IGVuYWJsZWQsIHdlIG5lZWQgdG8gdXBkYXRlIHRo
ZSBzdG9yZSB0byB1c2UgYSBkYXRhYmFzZSBpbnN0ZWFkIG9mIGEgcGxpc3QgZm9yIHRoaXMgdGVz
dC4KLSAgICAgICAgLy8gV2UgYWxyZWFkeSBoYXZlIGEgTmV0d29ya1Byb2Nlc3MgdXAgYW5kIHJ1
bm5pbmcgd2l0aCBJVFAgZW5hYmxlZC4gV2Ugbm93IG1ha2UgYW5vdGhlciBjYWxsIGluaXRpYWxp
emluZwotICAgICAgICAvLyB0aGUgZGF0YWJhc2Ugc3RvcmUgYW5kIHRlc3RpbmcgZ3JhbmRmYXRo
ZXJpbmcuCi0gICAgICAgIGNhbGxiYWNrRmxhZyA9IGZhbHNlOwotICAgICAgICBbZGF0YVN0b3Jl
IF9zZXRSZXNvdXJjZUxvYWRTdGF0aXN0aWNzVGVzdGluZ0NhbGxiYWNrOl4oV0tXZWJzaXRlRGF0
YVN0b3JlICosIE5TU3RyaW5nICptZXNzYWdlKSB7Ci0gICAgICAgICAgICBBU1NFUlRfVFJVRShb
bWVzc2FnZSBpc0VxdWFsVG9TdHJpbmc6QCJQb3B1bGF0ZWRXaXRob3V0R3JhbmRmYXRoZXJpbmci
XSk7Ci0gICAgICAgICAgICBjYWxsYmFja0ZsYWcgPSB0cnVlOwotICAgICAgICB9XTsKLQotICAg
ICAgICBlbnN1cmVJVFBGaWxlSXNDcmVhdGVkKCk7Ci0KLSAgICAgICAgW2RhdGFTdG9yZSBfc2V0
VXNlSVRQRGF0YWJhc2U6dHJ1ZSBjb21wbGV0aW9uSGFuZGxlcjogXih2b2lkKSB7Ci0gICAgICAg
ICAgICBkb25lRmxhZyA9IHRydWU7Ci0gICAgICAgIH1dOwotCi0gICAgICAgIFRlc3RXZWJLaXRB
UEk6OlV0aWw6OnJ1bigmZG9uZUZsYWcpOwotICAgIH0KLQogICAgIFRlc3RXZWJLaXRBUEk6OlV0
aWw6OnJ1bigmY2FsbGJhY2tGbGFnKTsKIAogICAgIEVYUEVDVF9UUlVFKFtbTlNGaWxlTWFuYWdl
ciBkZWZhdWx0TWFuYWdlcl0gZmlsZUV4aXN0c0F0UGF0aDp0YXJnZXRVUkwucGF0aF0pOwpAQCAt
OTY5LDE0ICs2NzYsNyBAQCBURVNUKFJlc291cmNlTG9hZFN0YXRpc3RpY3MsIEdldFJlc291cmNl
TG9hZFN0YXRpc3RpY3NEYXRhU3VtbWFyeSkKIAogICAgIFtkYXRhU3RvcmUgX3NldFJlc291cmNl
TG9hZFN0YXRpc3RpY3NFbmFibGVkOllFU107CiAKLSAgICBzdGF0aWMgYm9vbCBkb25lRmxhZyA9
IGZhbHNlOwotICAgIFtkYXRhU3RvcmUgX3NldFVzZUlUUERhdGFiYXNlOmZhbHNlIGNvbXBsZXRp
b25IYW5kbGVyOiBeKHZvaWQpIHsKLSAgICAgICAgZG9uZUZsYWcgPSB0cnVlOwotICAgIH1dOwot
Ci0gICAgVGVzdFdlYktpdEFQSTo6VXRpbDo6cnVuKCZkb25lRmxhZyk7Ci0KLSAgICBkb25lRmxh
ZyA9IGZhbHNlOworICAgIF9fYmxvY2sgYm9vbCBkb25lRmxhZyA9IGZhbHNlOwogICAgIFtkYXRh
U3RvcmUgX2NsZWFyUmVzb3VyY2VMb2FkU3RhdGlzdGljczpeKHZvaWQpIHsKICAgICAgICAgZG9u
ZUZsYWcgPSB0cnVlOwogICAgIH1dOwpAQCAtMTE3OSwxNCArODc5LDcgQEAgVEVTVChSZXNvdXJj
ZUxvYWRTdGF0aXN0aWNzLCBHZXRSZXNvdXJjZUxvYWRTdGF0aXN0aWNzRGF0YVN1bW1hcnlEYXRh
YmFzZSkKIAogICAgIFtkYXRhU3RvcmUgX3NldFJlc291cmNlTG9hZFN0YXRpc3RpY3NFbmFibGVk
OllFU107CiAKLSAgICBzdGF0aWMgYm9vbCBkb25lRmxhZyA9IGZhbHNlOwotICAgIFtkYXRhU3Rv
cmUgX3NldFVzZUlUUERhdGFiYXNlOnRydWUgY29tcGxldGlvbkhhbmRsZXI6IF4odm9pZCkgewot
ICAgICAgICBkb25lRmxhZyA9IHRydWU7Ci0gICAgfV07Ci0KLSAgICBUZXN0V2ViS2l0QVBJOjpV
dGlsOjpydW4oJmRvbmVGbGFnKTsKLSAgICAKLSAgICBkb25lRmxhZyA9IGZhbHNlOworICAgIF9f
YmxvY2sgYm9vbCBkb25lRmxhZyA9IGZhbHNlOwogICAgIFtkYXRhU3RvcmUgX3NldFRoaXJkUGFy
dHlDb29raWVCbG9ja2luZ01vZGU6dHJ1ZSBvbmx5T25TaXRlc1dpdGhvdXRVc2VySW50ZXJhY3Rp
b246ZmFsc2UgY29tcGxldGlvbkhhbmRsZXI6IF4odm9pZCkgewogICAgICAgICBkb25lRmxhZyA9
IHRydWU7CiAgICAgfV07CkBAIC0xNDQwLDE1ICsxMTMzLDggQEAgVEVTVChSZXNvdXJjZUxvYWRT
dGF0aXN0aWNzLCBNaWdyYXRlRGF0YUZyb21JbmNvcnJlY3RDcmVhdGVUYWJsZVNjaGVtYSkKICAg
ICBbZGF0YVN0b3JlIF9zZXRSZXNvdXJjZUxvYWRTdGF0aXN0aWNzRW5hYmxlZDpZRVNdOwogICAg
IFt3ZWJWaWV3IGxvYWRSZXF1ZXN0OltOU1VSTFJlcXVlc3QgcmVxdWVzdFdpdGhVUkw6W05TVVJM
IFVSTFdpdGhTdHJpbmc6QCJhYm91dDpibGFuayJdXV07CiAKLSAgICBzdGF0aWMgYm9vbCBkb25l
RmxhZzsKLSAgICBbZGF0YVN0b3JlIF9zZXRVc2VJVFBEYXRhYmFzZTp0cnVlIGNvbXBsZXRpb25I
YW5kbGVyOiBeKHZvaWQpIHsKLSAgICAgICAgZG9uZUZsYWcgPSB0cnVlOwotICAgIH1dOwotICAg
IAotICAgIFRlc3RXZWJLaXRBUEk6OlV0aWw6OnJ1bigmZG9uZUZsYWcpOwotICAgIAorICAgIF9f
YmxvY2sgYm9vbCBkb25lRmxhZyA9IGZhbHNlOwogICAgIC8vIENoZWNrIHRoYXQgdGhlIHByZS1z
ZWVkZWQgZGF0YSBpcyBpbiB0aGUgbmV3IGRhdGFiYXNlIGFmdGVyIG1pZ3JhdGluZy4KLSAgICBk
b25lRmxhZyA9IGZhbHNlOwogICAgIFtkYXRhU3RvcmUgX2lzUmVnaXN0ZXJlZEFzU3VicmVzb3Vy
Y2VVbmRlckZpcnN0UGFydHk6W05TVVJMIFVSTFdpdGhTdHJpbmc6QCJodHRwOi8vYXBwbGUuY29t
Il0gdGhpcmRQYXJ0eTpbTlNVUkwgVVJMV2l0aFN0cmluZzpAImh0dHA6Ly93ZWJraXQub3JnIl0g
Y29tcGxldGlvbkhhbmRsZXI6IF4oQk9PTCBpc1JlZ2lzdGVyZWQpIHsKICAgICAgICAgRVhQRUNU
X1RSVUUoaXNSZWdpc3RlcmVkKTsKICAgICAgICAgZG9uZUZsYWcgPSB0cnVlOwpAQCAtMTUyOSwx
NiArMTIxNSw5IEBAIFRFU1QoUmVzb3VyY2VMb2FkU3RhdGlzdGljcywgTWlncmF0ZURhdGFGcm9t
TWlzc2luZ1RvcEZyYW1lVW5pcXVlUmVkaXJlY3RTYW1lU2l0CiAgICAgW2RhdGFTdG9yZSBfc2V0
UmVzb3VyY2VMb2FkU3RhdGlzdGljc0VuYWJsZWQ6WUVTXTsKICAgICBbd2ViVmlldyBsb2FkUmVx
dWVzdDpbTlNVUkxSZXF1ZXN0IHJlcXVlc3RXaXRoVVJMOltOU1VSTCBVUkxXaXRoU3RyaW5nOkAi
YWJvdXQ6YmxhbmsiXV1dOwogCi0gICAgc3RhdGljIGJvb2wgZG9uZUZsYWc7Ci0gICAgW2RhdGFT
dG9yZSBfc2V0VXNlSVRQRGF0YWJhc2U6dHJ1ZSBjb21wbGV0aW9uSGFuZGxlcjogXih2b2lkKSB7
Ci0gICAgICAgIGRvbmVGbGFnID0gdHJ1ZTsKLSAgICB9XTsKLQotICAgIFRlc3RXZWJLaXRBUEk6
OlV0aWw6OnJ1bigmZG9uZUZsYWcpOwotCisgICAgX19ibG9jayBib29sIGRvbmVGbGFnID0gZmFs
c2U7CiAgICAgLy8gU2luY2UgdGhlIGRhdGFiYXNlIHNob3VsZCBub3QgYmUgZGVsZXRlZCwgdGhl
IHByZS1zZWVkZWQgZGF0YSBzaG91bGQKICAgICAvLyBzdGlsbCBiZSB0aGVyZSBhZnRlciBpbml0
aWFsaXppbmcgSVRQLgotICAgIGRvbmVGbGFnID0gZmFsc2U7CiAgICAgW2RhdGFTdG9yZSBfaXNS
ZWdpc3RlcmVkQXNTdWJyZXNvdXJjZVVuZGVyRmlyc3RQYXJ0eTpbTlNVUkwgVVJMV2l0aFN0cmlu
ZzpAImh0dHA6Ly9hcHBsZS5jb20iXSB0aGlyZFBhcnR5OltOU1VSTCBVUkxXaXRoU3RyaW5nOkAi
aHR0cDovL3dlYmtpdC5vcmciXSBjb21wbGV0aW9uSGFuZGxlcjogXihCT09MIGlzUmVnaXN0ZXJl
ZCkgewogICAgICAgICBFWFBFQ1RfVFJVRShpc1JlZ2lzdGVyZWQpOwogICAgICAgICBkb25lRmxh
ZyA9IHRydWU7CkBAIC0xNjAzLDE4ICsxMjgyLDYgQEAgVEVTVChSZXNvdXJjZUxvYWRTdGF0aXN0
aWNzLCBTdG9yZVN1c3BlbnNpb24pCiAgICAgW2RhdGFTdG9yZTEgX3NldFJlc291cmNlTG9hZFN0
YXRpc3RpY3NFbmFibGVkOllFU107CiAgICAgW2RhdGFTdG9yZTIgX3NldFJlc291cmNlTG9hZFN0
YXRpc3RpY3NFbmFibGVkOllFU107CiAKLSAgICBzdGF0aWMgYm9vbCBkb25lRmxhZyA9IGZhbHNl
OwotICAgIFtkYXRhU3RvcmUxIF9zZXRVc2VJVFBEYXRhYmFzZTp0cnVlIGNvbXBsZXRpb25IYW5k
bGVyOiBeKHZvaWQpIHsKLSAgICAgICAgZG9uZUZsYWcgPSB0cnVlOwotICAgIH1dOwotICAgIFRl
c3RXZWJLaXRBUEk6OlV0aWw6OnJ1bigmZG9uZUZsYWcpOwotCi0gICAgZG9uZUZsYWcgPSBmYWxz
ZTsKLSAgICBbZGF0YVN0b3JlMiBfc2V0VXNlSVRQRGF0YWJhc2U6dHJ1ZSBjb21wbGV0aW9uSGFu
ZGxlcjogXih2b2lkKSB7Ci0gICAgICAgIGRvbmVGbGFnID0gdHJ1ZTsKLSAgICB9XTsKLSAgICBU
ZXN0V2ViS2l0QVBJOjpVdGlsOjpydW4oJmRvbmVGbGFnKTsKLQogICAgIGF1dG8gY29uZmlndXJh
dGlvbjEgPSBhZG9wdE5TKFtbV0tXZWJWaWV3Q29uZmlndXJhdGlvbiBhbGxvY10gaW5pdF0pOwog
ICAgIFtjb25maWd1cmF0aW9uMSBzZXRQcm9jZXNzUG9vbDogc2hhcmVkUHJvY2Vzc1Bvb2xdOwog
ICAgIGNvbmZpZ3VyYXRpb24xLmdldCgpLndlYnNpdGVEYXRhU3RvcmUgPSBkYXRhU3RvcmUxOwpA
QCAtMTYzMiw3ICsxMjk5LDcgQEAgVEVTVChSZXNvdXJjZUxvYWRTdGF0aXN0aWNzLCBTdG9yZVN1
c3BlbnNpb24pCiAgICAgW3dlYlZpZXcyIGxvYWRIVE1MU3RyaW5nOkAiV2ViS2l0IFRlc3QiIGJh
c2VVUkw6W05TVVJMIFVSTFdpdGhTdHJpbmc6QCJodHRwOi8vd2Via2l0Mi5vcmciXV07CiAgICAg
W3dlYlZpZXcyIF90ZXN0X3dhaXRGb3JEaWRGaW5pc2hOYXZpZ2F0aW9uXTsKIAotICAgIGRvbmVG
bGFnID0gZmFsc2U7CisgICAgX19ibG9jayBib29sIGRvbmVGbGFnID0gZmFsc2U7CiAgICAgW3No
YXJlZFByb2Nlc3NQb29sIF9zZW5kTmV0d29ya1Byb2Nlc3NQcmVwYXJlVG9TdXNwZW5kOl57CiAg
ICAgICAgIGRvbmVGbGFnID0gdHJ1ZTsKICAgICB9XTsKZGlmZiAtLWdpdCBhL1Rvb2xzL1dlYktp
dFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvQmluZGluZ3MvVGVzdFJ1bm5lci5pZGwgYi9Ub29s
cy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL0JpbmRpbmdzL1Rlc3RSdW5uZXIuaWRs
CmluZGV4IGZiZWYzOTZmNWY2ZjNiZmY0Zjk5YzhhNTZhNmU2MmFjMDE0MGZmYTQuLjQ1OWExOTQw
MDAxNTBmOTdiNzUwMzEyZDUyZjExNTFiZWFlY2QzMTAgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1dlYktp
dFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvQmluZGluZ3MvVGVzdFJ1bm5lci5pZGwKKysrIGIv
VG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9CaW5kaW5ncy9UZXN0UnVubmVy
LmlkbApAQCAtMzE3LDcgKzMxNyw2IEBAIGludGVyZmFjZSBUZXN0UnVubmVyIHsKICAgICBib29s
ZWFuIGlzU3RhdGlzdGljc09ubHlJbkRhdGFiYXNlT25jZShET01TdHJpbmcgc3ViSG9zdCwgRE9N
U3RyaW5nIHRvcEhvc3QpOwogICAgIHVuZGVmaW5lZCBzZXRTdGF0aXN0aWNzR3JhbmRmYXRoZXJl
ZChET01TdHJpbmcgaG9zdE5hbWUsIGJvb2xlYW4gdmFsdWUpOwogICAgIGJvb2xlYW4gaXNTdGF0
aXN0aWNzR3JhbmRmYXRoZXJlZChET01TdHJpbmcgaG9zdE5hbWUpOwotICAgIHVuZGVmaW5lZCBz
ZXRVc2VJVFBEYXRhYmFzZShib29sZWFuIHZhbHVlKTsKICAgICB1bmRlZmluZWQgc2V0U3RhdGlz
dGljc1N1YmZyYW1lVW5kZXJUb3BGcmFtZU9yaWdpbihET01TdHJpbmcgaG9zdE5hbWUsIERPTVN0
cmluZyB0b3BGcmFtZUhvc3ROYW1lKTsKICAgICB1bmRlZmluZWQgc2V0U3RhdGlzdGljc1N1YnJl
c291cmNlVW5kZXJUb3BGcmFtZU9yaWdpbihET01TdHJpbmcgaG9zdE5hbWUsIERPTVN0cmluZyB0
b3BGcmFtZUhvc3ROYW1lKTsKICAgICB1bmRlZmluZWQgc2V0U3RhdGlzdGljc1N1YnJlc291cmNl
VW5pcXVlUmVkaXJlY3RUbyhET01TdHJpbmcgaG9zdE5hbWUsIERPTVN0cmluZyBob3N0TmFtZVJl
ZGlyZWN0ZWRUbyk7CmRpZmYgLS1naXQgYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVk
QnVuZGxlL1Rlc3RSdW5uZXIuY3BwIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1
bmRsZS9UZXN0UnVubmVyLmNwcAppbmRleCBhNjI1NTg5NzI3YmM3MWI3NDFlY2YyNTY1MTUyMWVm
YjRmNDk5N2YzLi5hYmEyOGY0Y2VkYmVmYWRiNDU4N2ZhNzUxMDc3NTVkMmVjNzk1N2UyIDEwMDY0
NAotLS0gYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL1Rlc3RSdW5uZXIu
Y3BwCisrKyBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvVGVzdFJ1bm5l
ci5jcHAKQEAgLTE5MTgsMTQgKzE5MTgsNiBAQCB2b2lkIFRlc3RSdW5uZXI6OnNldFN0YXRpc3Rp
Y3NHcmFuZGZhdGhlcmVkKEpTU3RyaW5nUmVmIGhvc3ROYW1lLCBib29sIHZhbHVlKQogICAgIFdL
QnVuZGxlUG9zdFN5bmNocm9ub3VzTWVzc2FnZShJbmplY3RlZEJ1bmRsZTo6c2luZ2xldG9uKCku
YnVuZGxlKCksIG1lc3NhZ2VOYW1lLmdldCgpLCBtZXNzYWdlQm9keS5nZXQoKSwgbnVsbHB0cik7
CiB9CiAKLXZvaWQgVGVzdFJ1bm5lcjo6c2V0VXNlSVRQRGF0YWJhc2UoYm9vbCB2YWx1ZSkKLXsK
LSAgICBXS1JldGFpblB0cjxXS1N0cmluZ1JlZj4gbWVzc2FnZU5hbWUgPSBhZG9wdFdLKFdLU3Ry
aW5nQ3JlYXRlV2l0aFVURjhDU3RyaW5nKCJTZXRVc2VJVFBEYXRhYmFzZSIpKTsKLSAgICBXS1Jl
dGFpblB0cjxXS0Jvb2xlYW5SZWY+IG1lc3NhZ2VCb2R5ID0gYWRvcHRXSyhXS0Jvb2xlYW5DcmVh
dGUodmFsdWUpKTsKLSAgICAKLSAgICBXS0J1bmRsZVBvc3RTeW5jaHJvbm91c01lc3NhZ2UoSW5q
ZWN0ZWRCdW5kbGU6OnNpbmdsZXRvbigpLmJ1bmRsZSgpLCBtZXNzYWdlTmFtZS5nZXQoKSwgbWVz
c2FnZUJvZHkuZ2V0KCksIG51bGxwdHIpOwotfQotCiBib29sIFRlc3RSdW5uZXI6OmlzU3RhdGlz
dGljc0dyYW5kZmF0aGVyZWQoSlNTdHJpbmdSZWYgaG9zdE5hbWUpCiB7CiAgICAgV0tSZXRhaW5Q
dHI8V0tTdHJpbmdSZWY+IG1lc3NhZ2VOYW1lID0gYWRvcHRXSyhXS1N0cmluZ0NyZWF0ZVdpdGhV
VEY4Q1N0cmluZygiSXNTdGF0aXN0aWNzR3JhbmRmYXRoZXJlZCIpKTsKZGlmZiAtLWdpdCBhL1Rv
b2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvVGVzdFJ1bm5lci5oIGIvVG9vbHMv
V2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9UZXN0UnVubmVyLmgKaW5kZXggYzBhMTQw
OTA1ZWRmM2RkYTRhNzYxYWI2MjA3ZDk3YjQzNjIwODZiYi4uZGQ4ODgzMjYxNDY2ZmYwNTI5OTRm
YTgxYTRhYTZlZWFhZjZiMGM4MCAxMDA2NDQKLS0tIGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9J
bmplY3RlZEJ1bmRsZS9UZXN0UnVubmVyLmgKKysrIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9J
bmplY3RlZEJ1bmRsZS9UZXN0UnVubmVyLmgKQEAgLTQyMiw3ICs0MjIsNiBAQCBwdWJsaWM6CiAg
ICAgYm9vbCBpc1N0YXRpc3RpY3NPbmx5SW5EYXRhYmFzZU9uY2UoSlNTdHJpbmdSZWYgc3ViSG9z
dCwgSlNTdHJpbmdSZWYgdG9wSG9zdCk7CiAgICAgdm9pZCBzZXRTdGF0aXN0aWNzR3JhbmRmYXRo
ZXJlZChKU1N0cmluZ1JlZiBob3N0TmFtZSwgYm9vbCB2YWx1ZSk7CiAgICAgYm9vbCBpc1N0YXRp
c3RpY3NHcmFuZGZhdGhlcmVkKEpTU3RyaW5nUmVmIGhvc3ROYW1lKTsKLSAgICB2b2lkIHNldFVz
ZUlUUERhdGFiYXNlKGJvb2wgdmFsdWUpOwogICAgIHZvaWQgc2V0U3RhdGlzdGljc1N1YmZyYW1l
VW5kZXJUb3BGcmFtZU9yaWdpbihKU1N0cmluZ1JlZiBob3N0TmFtZSwgSlNTdHJpbmdSZWYgdG9w
RnJhbWVIb3N0TmFtZSk7CiAgICAgdm9pZCBzZXRTdGF0aXN0aWNzU3VicmVzb3VyY2VVbmRlclRv
cEZyYW1lT3JpZ2luKEpTU3RyaW5nUmVmIGhvc3ROYW1lLCBKU1N0cmluZ1JlZiB0b3BGcmFtZUhv
c3ROYW1lKTsKICAgICB2b2lkIHNldFN0YXRpc3RpY3NTdWJyZXNvdXJjZVVuaXF1ZVJlZGlyZWN0
VG8oSlNTdHJpbmdSZWYgaG9zdE5hbWUsIEpTU3RyaW5nUmVmIGhvc3ROYW1lUmVkaXJlY3RlZFRv
KTsKZGlmZiAtLWdpdCBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvVGVzdENvbnRyb2xsZXIuY3Bw
IGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9UZXN0Q29udHJvbGxlci5jcHAKaW5kZXggMTM0NWM0
MmMxMWU2MmRjMDg4YzZmMmQzOGI5OWIwOTM1NjRlMDEzOC4uZTE2ZjJhNDQ2ZjE3ZDA5YzllZGQx
MzAwNjcwNmMzYWE5MzFiMGNjMCAxMDA2NDQKLS0tIGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9U
ZXN0Q29udHJvbGxlci5jcHAKKysrIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9UZXN0Q29udHJv
bGxlci5jcHAKQEAgLTM2NTcsMTMgKzM2NTcsNiBAQCBib29sIFRlc3RDb250cm9sbGVyOjppc1N0
YXRpc3RpY3NHcmFuZGZhdGhlcmVkKFdLU3RyaW5nUmVmIGhvc3QpCiAgICAgcmV0dXJuIGNvbnRl
eHQucmVzdWx0OwogfQogCi12b2lkIFRlc3RDb250cm9sbGVyOjpzZXRVc2VJVFBEYXRhYmFzZShi
b29sIHZhbHVlKQotewotICAgIFJlc291cmNlU3RhdGlzdGljc0NhbGxiYWNrQ29udGV4dCBjb250
ZXh0KCp0aGlzKTsKLSAgICBXS1dlYnNpdGVEYXRhU3RvcmVTZXRVc2VJVFBEYXRhYmFzZSh3ZWJz
aXRlRGF0YVN0b3JlKCksIHZhbHVlLCAmY29udGV4dCwgcmVzb3VyY2VTdGF0aXN0aWNzVm9pZFJl
c3VsdENhbGxiYWNrKTsKLSAgICBydW5VbnRpbChjb250ZXh0LmRvbmUsIG5vVGltZW91dCk7Ci19
Ci0KIHZvaWQgVGVzdENvbnRyb2xsZXI6OnNldFN0YXRpc3RpY3NTdWJmcmFtZVVuZGVyVG9wRnJh
bWVPcmlnaW4oV0tTdHJpbmdSZWYgaG9zdCwgV0tTdHJpbmdSZWYgdG9wRnJhbWVIb3N0KQogewog
ICAgIFdLV2Vic2l0ZURhdGFTdG9yZVNldFN0YXRpc3RpY3NTdWJmcmFtZVVuZGVyVG9wRnJhbWVP
cmlnaW4od2Vic2l0ZURhdGFTdG9yZSgpLCBob3N0LCB0b3BGcmFtZUhvc3QpOwpkaWZmIC0tZ2l0
IGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9UZXN0Q29udHJvbGxlci5oIGIvVG9vbHMvV2ViS2l0
VGVzdFJ1bm5lci9UZXN0Q29udHJvbGxlci5oCmluZGV4IGY5NGQ1N2MxNDdiMzE2ZjA3OGZhODVm
MjIwZjQwNzYwOTQxMTNjOGMuLmRmMGVjZjAyNmY1OThkNTk3MDNlMWExMTRlNTljNGFjYmNkMjk5
OWIgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvVGVzdENvbnRyb2xsZXIuaAor
KysgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL1Rlc3RDb250cm9sbGVyLmgKQEAgLTIzNiw3ICsy
MzYsNiBAQCBwdWJsaWM6CiAgICAgYm9vbCBpc1N0YXRpc3RpY3NPbmx5SW5EYXRhYmFzZU9uY2Uo
V0tTdHJpbmdSZWYgc3ViSG9zdCwgV0tTdHJpbmdSZWYgdG9wSG9zdCk7CiAgICAgdm9pZCBzZXRT
dGF0aXN0aWNzR3JhbmRmYXRoZXJlZChXS1N0cmluZ1JlZiBob3N0TmFtZSwgYm9vbCB2YWx1ZSk7
CiAgICAgYm9vbCBpc1N0YXRpc3RpY3NHcmFuZGZhdGhlcmVkKFdLU3RyaW5nUmVmIGhvc3ROYW1l
KTsKLSAgICB2b2lkIHNldFVzZUlUUERhdGFiYXNlKGJvb2wgdmFsdWUpOwogICAgIHZvaWQgc2V0
U3RhdGlzdGljc1N1YmZyYW1lVW5kZXJUb3BGcmFtZU9yaWdpbihXS1N0cmluZ1JlZiBob3N0TmFt
ZSwgV0tTdHJpbmdSZWYgdG9wRnJhbWVIb3N0TmFtZSk7CiAgICAgdm9pZCBzZXRTdGF0aXN0aWNz
U3VicmVzb3VyY2VVbmRlclRvcEZyYW1lT3JpZ2luKFdLU3RyaW5nUmVmIGhvc3ROYW1lLCBXS1N0
cmluZ1JlZiB0b3BGcmFtZUhvc3ROYW1lKTsKICAgICB2b2lkIHNldFN0YXRpc3RpY3NTdWJyZXNv
dXJjZVVuaXF1ZVJlZGlyZWN0VG8oV0tTdHJpbmdSZWYgaG9zdE5hbWUsIFdLU3RyaW5nUmVmIGhv
c3ROYW1lUmVkaXJlY3RlZFRvKTsKZGlmZiAtLWdpdCBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIv
VGVzdEludm9jYXRpb24uY3BwIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9UZXN0SW52b2NhdGlv
bi5jcHAKaW5kZXggYTViNmRkMDU1ODBhZTBjMmQ5NTcwNzdkZmU0NTBhNDg2ZTZkMDFlYy4uYzU0
YmQ5MjA1NjI3MDU4NjdhMTRmODRjMzVhYmY4OTRkZTk1ZTk2NiAxMDA2NDQKLS0tIGEvVG9vbHMv
V2ViS2l0VGVzdFJ1bm5lci9UZXN0SW52b2NhdGlvbi5jcHAKKysrIGIvVG9vbHMvV2ViS2l0VGVz
dFJ1bm5lci9UZXN0SW52b2NhdGlvbi5jcHAKQEAgLTE0NzUsMTQgKzE0NzUsNiBAQCBXS1JldGFp
blB0cjxXS1R5cGVSZWY+IFRlc3RJbnZvY2F0aW9uOjpkaWRSZWNlaXZlU3luY2hyb25vdXNNZXNz
YWdlRnJvbUluamVjdGVkQgogICAgICAgICBXS1JldGFpblB0cjxXS1R5cGVSZWY+IHJlc3VsdCA9
IGFkb3B0V0soV0tCb29sZWFuQ3JlYXRlKGlzR3JhbmRmYXRoZXJlZCkpOwogICAgICAgICByZXR1
cm4gcmVzdWx0OwogICAgIH0KLQotICAgIGlmIChXS1N0cmluZ0lzRXF1YWxUb1VURjhDU3RyaW5n
KG1lc3NhZ2VOYW1lLCAiU2V0VXNlSVRQRGF0YWJhc2UiKSkgewotICAgICAgICBBU1NFUlQoV0tH
ZXRUeXBlSUQobWVzc2FnZUJvZHkpID09IFdLQm9vbGVhbkdldFR5cGVJRCgpKTsKLQotICAgICAg
ICBXS0Jvb2xlYW5SZWYgdmFsdWUgPSBzdGF0aWNfY2FzdDxXS0Jvb2xlYW5SZWY+KG1lc3NhZ2VC
b2R5KTsKLSAgICAgICAgVGVzdENvbnRyb2xsZXI6OnNpbmdsZXRvbigpLnNldFVzZUlUUERhdGFi
YXNlKFdLQm9vbGVhbkdldFZhbHVlKHZhbHVlKSk7Ci0gICAgICAgIHJldHVybiBudWxscHRyOwot
ICAgIH0KICAgICAKICAgICBpZiAoV0tTdHJpbmdJc0VxdWFsVG9VVEY4Q1N0cmluZyhtZXNzYWdl
TmFtZSwgIlNldFN0YXRpc3RpY3NTdWJmcmFtZVVuZGVyVG9wRnJhbWVPcmlnaW4iKSkgewogICAg
ICAgICBBU1NFUlQoV0tHZXRUeXBlSUQobWVzc2FnZUJvZHkpID09IFdLRGljdGlvbmFyeUdldFR5
cGVJRCgpKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3Rz
L0NoYW5nZUxvZwppbmRleCBkMjA4NTU0N2RmOWYxM2EyMjAyZDc5ZDViZjdmMDExNTM0ZmJhNjg5
Li4wZDYxM2Q0ZGZlNmNiNDhjM2Y0NzViMmU1YmJlM2FmMzliMzIyZWFlIDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMg
KzEsMjg2IEBACisyMDIwLTA5LTI4ICBBbGV4IENocmlzdGVuc2VuICA8YWNocmlzdGVuc2VuQHdl
YmtpdC5vcmc+CisKKyAgICAgICAgUmVtb3ZlIHBsaXN0LWJhc2VkIFJlc291cmNlTG9hZFN0YXRp
c3RpY3Mgc3RvcmFnZSwgd2hpY2ggaGFzIGJlZW4gcmVwbGFjZWQgYnkgZGF0YWJhc2UtYmFzZWQg
c3RvcmFnZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MjE3MDYzCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
KiBodHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvYWRkLWJsb2NraW5nLXRvLXJlZGly
ZWN0LWRhdGFiYXNlLWV4cGVjdGVkLnR4dDogUmVtb3ZlZC4KKyAgICAgICAgKiBodHRwL3Rlc3Rz
L3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvYWRkLWJsb2NraW5nLXRvLXJlZGlyZWN0LWRhdGFiYXNl
Lmh0bWw6IFJlbW92ZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0
aWNzL2FnZ3JlZ2F0ZS1zb3J0ZWQtZGF0YS1uby1zdG9yYWdlLWFjY2Vzcy1kYXRhYmFzZS1leHBl
Y3RlZC50eHQ6IFJlbW92ZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0
aXN0aWNzL2FnZ3JlZ2F0ZS1zb3J0ZWQtZGF0YS1uby1zdG9yYWdlLWFjY2Vzcy1kYXRhYmFzZS5o
dG1sOiBSZW1vdmVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGlj
cy9hZ2dyZWdhdGUtc29ydGVkLWRhdGEtbm8tc3RvcmFnZS1hY2Nlc3MtZXhwZWN0ZWQudHh0Ogor
ICAgICAgICAqIGh0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9ibG9ja2luZy1pbi13
ZWItd29ya2VyLXNjcmlwdC1pbXBvcnQtZGF0YWJhc2UtZXhwZWN0ZWQudHh0OiBSZW1vdmVkLgor
ICAgICAgICAqIGh0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9ibG9ja2luZy1pbi13
ZWItd29ya2VyLXNjcmlwdC1pbXBvcnQtZGF0YWJhc2UuaHRtbDogUmVtb3ZlZC4KKyAgICAgICAg
KiBodHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY2FwLWNhY2hlLW1heC1hZ2UtZm9y
LXByZXZhbGVudC1yZXNvdXJjZS1kYXRhYmFzZS1leHBlY3RlZC50eHQ6IFJlbW92ZWQuCisgICAg
ICAgICogaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NhcC1jYWNoZS1tYXgtYWdl
LWZvci1wcmV2YWxlbnQtcmVzb3VyY2UtZGF0YWJhc2UuaHRtbDogUmVtb3ZlZC4KKyAgICAgICAg
KiBodHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY2FwcGVkLWxpZmV0aW1lLWZvci1j
b29raWUtc2V0LWluLWpzLWRhdGFiYXNlLWV4cGVjdGVkLnR4dDogUmVtb3ZlZC4KKyAgICAgICAg
KiBodHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY2FwcGVkLWxpZmV0aW1lLWZvci1j
b29raWUtc2V0LWluLWpzLWRhdGFiYXNlLmh0bWw6IFJlbW92ZWQuCisgICAgICAgICogaHR0cC90
ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NhcHBlZC1saWZldGltZS1mb3ItY29va2llLXNl
dC1pbi1qcy13aXRoLWxpbmstZGVjb3JhdGlvbi1zYW1lLXNpdGUtZGF0YWJhc2UtZXhwZWN0ZWQu
dHh0OiBSZW1vdmVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGlj
cy9jYXBwZWQtbGlmZXRpbWUtZm9yLWNvb2tpZS1zZXQtaW4tanMtd2l0aC1saW5rLWRlY29yYXRp
b24tc2FtZS1zaXRlLWRhdGFiYXNlLmh0bWw6IFJlbW92ZWQuCisgICAgICAgICogaHR0cC90ZXN0
cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NhcHBlZC1saWZldGltZS1mb3ItY29va2llLXNldC1p
bi1qcy13aXRoLWxpbmstZnJhZ21lbnQtZnJvbS1wcmV2YWxlbnQtcmVzb3VyY2UtZGF0YWJhc2Ut
ZXhwZWN0ZWQudHh0OiBSZW1vdmVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvcmVzb3VyY2VMb2Fk
U3RhdGlzdGljcy9jYXBwZWQtbGlmZXRpbWUtZm9yLWNvb2tpZS1zZXQtaW4tanMtd2l0aC1saW5r
LWZyYWdtZW50LWZyb20tcHJldmFsZW50LXJlc291cmNlLWRhdGFiYXNlLmh0bWw6IFJlbW92ZWQu
CisgICAgICAgICogaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NhcHBlZC1saWZl
dGltZS1mb3ItY29va2llLXNldC1pbi1qcy13aXRoLWxpbmstcXVlcnktYW5kLWZyYWdtZW50LWZy
b20tcHJldmFsZW50LXJlc291cmNlLWRhdGFiYXNlLWV4cGVjdGVkLnR4dDogUmVtb3ZlZC4KKyAg
ICAgICAgKiBodHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY2FwcGVkLWxpZmV0aW1l
LWZvci1jb29raWUtc2V0LWluLWpzLXdpdGgtbGluay1xdWVyeS1hbmQtZnJhZ21lbnQtZnJvbS1w
cmV2YWxlbnQtcmVzb3VyY2UtZGF0YWJhc2UuaHRtbDogUmVtb3ZlZC4KKyAgICAgICAgKiBodHRw
L3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY2FwcGVkLWxpZmV0aW1lLWZvci1jb29raWUt
c2V0LWluLWpzLXdpdGgtbGluay1xdWVyeS1mcm9tLXByZXZhbGVudC1yZXNvdXJjZS1kYXRhYmFz
ZS1leHBlY3RlZC50eHQ6IFJlbW92ZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9yZXNvdXJjZUxv
YWRTdGF0aXN0aWNzL2NhcHBlZC1saWZldGltZS1mb3ItY29va2llLXNldC1pbi1qcy13aXRoLWxp
bmstcXVlcnktZnJvbS1wcmV2YWxlbnQtcmVzb3VyY2UtZGF0YWJhc2UuaHRtbDogUmVtb3ZlZC4K
KyAgICAgICAgKiBodHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY2FwcGVkLWxpZmV0
aW1lLWZvci1jb29raWUtc2V0LWluLWpzLXdpdGhvdXQtbGluay1kZWNvcmF0aW9uLWZyb20tcHJl
dmFsZW50LXJlc291cmNlLWRhdGFiYXNlLWV4cGVjdGVkLnR4dDogUmVtb3ZlZC4KKyAgICAgICAg
KiBodHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY2FwcGVkLWxpZmV0aW1lLWZvci1j
b29raWUtc2V0LWluLWpzLXdpdGhvdXQtbGluay1kZWNvcmF0aW9uLWZyb20tcHJldmFsZW50LXJl
c291cmNlLWRhdGFiYXNlLmh0bWw6IFJlbW92ZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9yZXNv
dXJjZUxvYWRTdGF0aXN0aWNzL2NsYXNzaWZ5LWFzLW5vbi1wcmV2YWxlbnQtYmFzZWQtb24tbWl4
ZWQtc3RhdGlzdGljcy1kYXRhYmFzZS1leHBlY3RlZC50eHQ6IFJlbW92ZWQuCisgICAgICAgICog
aHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NsYXNzaWZ5LWFzLW5vbi1wcmV2YWxl
bnQtYmFzZWQtb24tbWl4ZWQtc3RhdGlzdGljcy1kYXRhYmFzZS5odG1sOiBSZW1vdmVkLgorICAg
ICAgICAqIGh0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jbGFzc2lmeS1hcy1ub24t
cHJldmFsZW50LWJhc2VkLW9uLXN1Yi1mcmFtZS11bmRlci10b3AtZnJhbWUtb3JpZ2lucy1kYXRh
YmFzZS1leHBlY3RlZC50eHQ6IFJlbW92ZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9yZXNvdXJj
ZUxvYWRTdGF0aXN0aWNzL2NsYXNzaWZ5LWFzLW5vbi1wcmV2YWxlbnQtYmFzZWQtb24tc3ViLWZy
YW1lLXVuZGVyLXRvcC1mcmFtZS1vcmlnaW5zLWRhdGFiYXNlLmh0bWw6IFJlbW92ZWQuCisgICAg
ICAgICogaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NsYXNzaWZ5LWFzLW5vbi1w
cmV2YWxlbnQtYmFzZWQtb24tc3VicmVzb3VyY2UtdW5kZXItdG9wLWZyYW1lLW9yaWdpbnMtZGF0
YWJhc2UtZXhwZWN0ZWQudHh0OiBSZW1vdmVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvcmVzb3Vy
Y2VMb2FkU3RhdGlzdGljcy9jbGFzc2lmeS1hcy1ub24tcHJldmFsZW50LWJhc2VkLW9uLXN1YnJl
c291cmNlLXVuZGVyLXRvcC1mcmFtZS1vcmlnaW5zLWRhdGFiYXNlLmh0bWw6IFJlbW92ZWQuCisg
ICAgICAgICogaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NsYXNzaWZ5LWFzLW5v
bi1wcmV2YWxlbnQtYmFzZWQtb24tc3VicmVzb3VyY2UtdW5pcXVlLXJlZGlyZWN0cy10by1kYXRh
YmFzZS1leHBlY3RlZC50eHQ6IFJlbW92ZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9yZXNvdXJj
ZUxvYWRTdGF0aXN0aWNzL2NsYXNzaWZ5LWFzLW5vbi1wcmV2YWxlbnQtYmFzZWQtb24tc3VicmVz
b3VyY2UtdW5pcXVlLXJlZGlyZWN0cy10by1kYXRhYmFzZS5odG1sOiBSZW1vdmVkLgorICAgICAg
ICAqIGh0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jbGFzc2lmeS1hcy1wcmV2YWxl
bnQtYmFzZWQtb24tbWl4ZWQtc3RhdGlzdGljcy1kYXRhYmFzZS1leHBlY3RlZC50eHQ6IFJlbW92
ZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NsYXNzaWZ5
LWFzLXByZXZhbGVudC1iYXNlZC1vbi1taXhlZC1zdGF0aXN0aWNzLWRhdGFiYXNlLmh0bWw6IFJl
bW92ZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NsYXNz
aWZ5LWFzLXByZXZhbGVudC1iYXNlZC1vbi1zdWItZnJhbWUtdW5kZXItdG9wLWZyYW1lLW9yaWdp
bnMtZGF0YWJhc2UtZXhwZWN0ZWQudHh0OiBSZW1vdmVkLgorICAgICAgICAqIGh0dHAvdGVzdHMv
cmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jbGFzc2lmeS1hcy1wcmV2YWxlbnQtYmFzZWQtb24tc3Vi
LWZyYW1lLXVuZGVyLXRvcC1mcmFtZS1vcmlnaW5zLWRhdGFiYXNlLmh0bWw6IFJlbW92ZWQuCisg
ICAgICAgICogaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NsYXNzaWZ5LWFzLXBy
ZXZhbGVudC1iYXNlZC1vbi1zdWJyZXNvdXJjZS1yZWRpcmVjdC1jb2xsdXNpb24tZGF0YWJhc2Ut
ZXhwZWN0ZWQudHh0OiBSZW1vdmVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvcmVzb3VyY2VMb2Fk
U3RhdGlzdGljcy9jbGFzc2lmeS1hcy1wcmV2YWxlbnQtYmFzZWQtb24tc3VicmVzb3VyY2UtcmVk
aXJlY3QtY29sbHVzaW9uLWRhdGFiYXNlLmh0bWw6IFJlbW92ZWQuCisgICAgICAgICogaHR0cC90
ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NsYXNzaWZ5LWFzLXByZXZhbGVudC1iYXNlZC1v
bi1zdWJyZXNvdXJjZS1yZWRpcmVjdC10by1wcmV2YWxlbnQtZGF0YWJhc2UtZXhwZWN0ZWQudHh0
OiBSZW1vdmVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9j
bGFzc2lmeS1hcy1wcmV2YWxlbnQtYmFzZWQtb24tc3VicmVzb3VyY2UtcmVkaXJlY3QtdG8tcHJl
dmFsZW50LWRhdGFiYXNlLmh0bWw6IFJlbW92ZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9yZXNv
dXJjZUxvYWRTdGF0aXN0aWNzL2NsYXNzaWZ5LWFzLXByZXZhbGVudC1iYXNlZC1vbi1zdWJyZXNv
dXJjZS11bmRlci10b3AtZnJhbWUtb3JpZ2lucy1kYXRhYmFzZS1leHBlY3RlZC50eHQ6IFJlbW92
ZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NsYXNzaWZ5
LWFzLXByZXZhbGVudC1iYXNlZC1vbi1zdWJyZXNvdXJjZS11bmRlci10b3AtZnJhbWUtb3JpZ2lu
cy1kYXRhYmFzZS5odG1sOiBSZW1vdmVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvcmVzb3VyY2VM
b2FkU3RhdGlzdGljcy9jbGFzc2lmeS1hcy1wcmV2YWxlbnQtYmFzZWQtb24tc3VicmVzb3VyY2Ut
dW5pcXVlLXJlZGlyZWN0cy10by1kYXRhYmFzZS1leHBlY3RlZC50eHQ6IFJlbW92ZWQuCisgICAg
ICAgICogaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NsYXNzaWZ5LWFzLXByZXZh
bGVudC1iYXNlZC1vbi1zdWJyZXNvdXJjZS11bmlxdWUtcmVkaXJlY3RzLXRvLWRhdGFiYXNlLmh0
bWw6IFJlbW92ZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNz
L2NsYXNzaWZ5LWFzLXByZXZhbGVudC1iYXNlZC1vbi10b3AtZnJhbWUtcmVkaXJlY3QtY29sbHVz
aW9uLWRhdGFiYXNlLWV4cGVjdGVkLnR4dDogUmVtb3ZlZC4KKyAgICAgICAgKiBodHRwL3Rlc3Rz
L3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY2xhc3NpZnktYXMtcHJldmFsZW50LWJhc2VkLW9uLXRv
cC1mcmFtZS1yZWRpcmVjdC1jb2xsdXNpb24tZGF0YWJhc2UuaHRtbDogUmVtb3ZlZC4KKyAgICAg
ICAgKiBodHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY2xhc3NpZnktYXMtcHJldmFs
ZW50LWJhc2VkLW9uLXRvcC1mcmFtZS1yZWRpcmVjdC10by1wcmV2YWxlbnQtZGF0YWJhc2UtZXhw
ZWN0ZWQudHh0OiBSZW1vdmVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3Rh
dGlzdGljcy9jbGFzc2lmeS1hcy1wcmV2YWxlbnQtYmFzZWQtb24tdG9wLWZyYW1lLXJlZGlyZWN0
LXRvLXByZXZhbGVudC1kYXRhYmFzZS5odG1sOiBSZW1vdmVkLgorICAgICAgICAqIGh0dHAvdGVz
dHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jbGFzc2lmeS1hcy1wcmV2YWxlbnQtYmFzZWQtb24t
dG9wLWZyYW1lLXVuaXF1ZS1yZWRpcmVjdHMtdG8tZGF0YWJhc2UtZXhwZWN0ZWQudHh0OiBSZW1v
dmVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jbGFzc2lm
eS1hcy1wcmV2YWxlbnQtYmFzZWQtb24tdG9wLWZyYW1lLXVuaXF1ZS1yZWRpcmVjdHMtdG8tZGF0
YWJhc2UuaHRtbDogUmVtb3ZlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0
YXRpc3RpY3MvY2xhc3NpZnktYXMtdmVyeS1wcmV2YWxlbnQtYmFzZWQtb24tbWl4ZWQtc3RhdGlz
dGljcy1kYXRhYmFzZS1leHBlY3RlZC50eHQ6IFJlbW92ZWQuCisgICAgICAgICogaHR0cC90ZXN0
cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NsYXNzaWZ5LWFzLXZlcnktcHJldmFsZW50LWJhc2Vk
LW9uLW1peGVkLXN0YXRpc3RpY3MtZGF0YWJhc2UuaHRtbDogUmVtb3ZlZC4KKyAgICAgICAgKiBo
dHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY2xlYXItaW4tbWVtb3J5LWFuZC1wZXJz
aXN0ZW50LXN0b3JlLWRhdGFiYXNlLWV4cGVjdGVkLnR4dDogUmVtb3ZlZC4KKyAgICAgICAgKiBo
dHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY2xlYXItaW4tbWVtb3J5LWFuZC1wZXJz
aXN0ZW50LXN0b3JlLWRhdGFiYXNlLmh0bWw6IFJlbW92ZWQuCisgICAgICAgICogaHR0cC90ZXN0
cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NsZWFyLWluLW1lbW9yeS1hbmQtcGVyc2lzdGVudC1z
dG9yZS1vbmUtaG91ci1kYXRhYmFzZS1leHBlY3RlZC50eHQ6IFJlbW92ZWQuCisgICAgICAgICog
aHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NsZWFyLWluLW1lbW9yeS1hbmQtcGVy
c2lzdGVudC1zdG9yZS1vbmUtaG91ci1kYXRhYmFzZS5odG1sOiBSZW1vdmVkLgorICAgICAgICAq
IGh0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jb29raWUtZGVsZXRpb24tZGF0YWJh
c2UtZXhwZWN0ZWQudHh0OiBSZW1vdmVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvcmVzb3VyY2VM
b2FkU3RhdGlzdGljcy9jb29raWUtZGVsZXRpb24tZGF0YWJhc2UuaHRtbDogUmVtb3ZlZC4KKyAg
ICAgICAgKiBodHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY29va2llcy13aXRoLWFu
ZC13aXRob3V0LXVzZXItaW50ZXJhY3Rpb24tZGF0YWJhc2UtZXhwZWN0ZWQudHh0OiBSZW1vdmVk
LgorICAgICAgICAqIGh0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jb29raWVzLXdp
dGgtYW5kLXdpdGhvdXQtdXNlci1pbnRlcmFjdGlvbi1kYXRhYmFzZS5odG1sOiBSZW1vdmVkLgor
ICAgICAgICAqIGh0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jb3VudC10aGlyZC1w
YXJ0eS1zY3JpcHQtaW1wb3J0LWluLXdvcmtlci1kYXRhYmFzZS1leHBlY3RlZC50eHQ6IFJlbW92
ZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NvdW50LXRo
aXJkLXBhcnR5LXNjcmlwdC1pbXBvcnQtaW4td29ya2VyLWRhdGFiYXNlLmh0bWw6IFJlbW92ZWQu
CisgICAgICAgICogaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NvdW50LXRoaXJk
LXBhcnR5LXNjcmlwdC1pbXBvcnQtaW4td29ya2VyLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBo
dHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY291bnQtdGhpcmQtcGFydHktc2NyaXB0
LWxvYWRzLWRhdGFiYXNlLWV4cGVjdGVkLnR4dDogUmVtb3ZlZC4KKyAgICAgICAgKiBodHRwL3Rl
c3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY291bnQtdGhpcmQtcGFydHktc2NyaXB0LWxvYWRz
LWRhdGFiYXNlLmh0bWw6IFJlbW92ZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9yZXNvdXJjZUxv
YWRTdGF0aXN0aWNzL2NvdW50LXRoaXJkLXBhcnR5LXNjcmlwdC1sb2Fkcy1leHBlY3RlZC50eHQ6
CisgICAgICAgICogaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2RlbGV0ZS1zY3Jp
cHQtYWNjZXNzaWJsZS1jb29raWVzLWRhdGFiYXNlLWV4cGVjdGVkLnR4dDogUmVtb3ZlZC4KKyAg
ICAgICAgKiBodHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvZGVsZXRlLXNjcmlwdC1h
Y2Nlc3NpYmxlLWNvb2tpZXMtZGF0YWJhc2UuaHRtbDogUmVtb3ZlZC4KKyAgICAgICAgKiBodHRw
L3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvZG8tbm90LWJsb2NrLXRvcC1sZXZlbC1uYXZp
Z2F0aW9uLXJlZGlyZWN0LWRhdGFiYXNlLWV4cGVjdGVkLnR4dDogUmVtb3ZlZC4KKyAgICAgICAg
KiBodHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvZG8tbm90LWJsb2NrLXRvcC1sZXZl
bC1uYXZpZ2F0aW9uLXJlZGlyZWN0LWRhdGFiYXNlLmh0bWw6IFJlbW92ZWQuCisgICAgICAgICog
aHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2RvLW5vdC1jYXB0dXJlLXN0YXRpc3Rp
Y3MtZm9yLXNpbXBsZS10b3AtbmF2aWdhdGlvbnMtZGF0YWJhc2UtZXhwZWN0ZWQudHh0OiBSZW1v
dmVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9kby1ub3Qt
Y2FwdHVyZS1zdGF0aXN0aWNzLWZvci1zaW1wbGUtdG9wLW5hdmlnYXRpb25zLWRhdGFiYXNlLmh0
bWw6IFJlbW92ZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNz
L2RvLW5vdC1yZW1vdmUtYmxvY2tpbmctaW4tcmVkaXJlY3QtZGF0YWJhc2UtZXhwZWN0ZWQudHh0
OiBSZW1vdmVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9k
by1ub3QtcmVtb3ZlLWJsb2NraW5nLWluLXJlZGlyZWN0LWRhdGFiYXNlLmh0bWw6IFJlbW92ZWQu
CisgICAgICAgICogaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2RvLW5vdC1zd2l0
Y2gtc2Vzc2lvbi1vbi1uYXZpZ2F0aW9uLXRvLXByZXZhbGVudC13aXRob3V0LWludGVyYWN0aW9u
LWRhdGFiYXNlLWV4cGVjdGVkLnR4dDogUmVtb3ZlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3Jl
c291cmNlTG9hZFN0YXRpc3RpY3MvZG8tbm90LXN3aXRjaC1zZXNzaW9uLW9uLW5hdmlnYXRpb24t
dG8tcHJldmFsZW50LXdpdGhvdXQtaW50ZXJhY3Rpb24tZGF0YWJhc2UucGhwOiBSZW1vdmVkLgor
ICAgICAgICAqIGh0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9kb250LWNvdW50LXRo
aXJkLXBhcnR5LWltYWdlLWFzLXRoaXJkLXBhcnR5LXNjcmlwdC1kYXRhYmFzZS1leHBlY3RlZC50
eHQ6IFJlbW92ZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNz
L2RvbnQtY291bnQtdGhpcmQtcGFydHktaW1hZ2UtYXMtdGhpcmQtcGFydHktc2NyaXB0LWRhdGFi
YXNlLmh0bWw6IFJlbW92ZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0
aXN0aWNzL2RvbnQtY291bnQtdGhpcmQtcGFydHktaW1hZ2UtYXMtdGhpcmQtcGFydHktc2NyaXB0
LWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBodHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3Rp
Y3MvZG93bmdyYWRlLWRvY3VtZW50LXJlZmVycmVyLW5lc3RlZC10aGlyZC1wYXJ0eS1pZnJhbWUu
aHRtbDoKKyAgICAgICAgKiBodHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvZG93bmdy
YWRlLWRvY3VtZW50LXJlZmVycmVyLXRoaXJkLXBhcnR5LWlmcmFtZS5odG1sOgorICAgICAgICAq
IGh0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9kb3duZ3JhZGVkLXJlZmVycmVyLWZv
ci1uYXZpZ2F0aW9uLXdpdGgtbGluay1xdWVyeS1mcm9tLXByZXZhbGVudC1yZXNvdXJjZS1kYXRh
YmFzZS1leHBlY3RlZC50eHQ6IFJlbW92ZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9yZXNvdXJj
ZUxvYWRTdGF0aXN0aWNzL2Rvd25ncmFkZWQtcmVmZXJyZXItZm9yLW5hdmlnYXRpb24td2l0aC1s
aW5rLXF1ZXJ5LWZyb20tcHJldmFsZW50LXJlc291cmNlLWRhdGFiYXNlLmh0bWw6IFJlbW92ZWQu
CisgICAgICAgICogaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2VuYWJsZS1kZWJ1
Zy1tb2RlLWRhdGFiYXNlLWV4cGVjdGVkLnR4dDogUmVtb3ZlZC4KKyAgICAgICAgKiBodHRwL3Rl
c3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvZW5hYmxlLWRlYnVnLW1vZGUtZGF0YWJhc2UuaHRt
bDogUmVtb3ZlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3Mv
ZW5mb3JjZS1zYW1lc2l0ZS1zdHJpY3QtYmFzZWQtb24tdG9wLWZyYW1lLXVuaXF1ZS1yZWRpcmVj
dHMtdG8tZGF0YWJhc2UtZXhwZWN0ZWQudHh0OiBSZW1vdmVkLgorICAgICAgICAqIGh0dHAvdGVz
dHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9lbmZvcmNlLXNhbWVzaXRlLXN0cmljdC1iYXNlZC1v
bi10b3AtZnJhbWUtdW5pcXVlLXJlZGlyZWN0cy10by1kYXRhYmFzZS5odG1sOiBSZW1vdmVkLgor
ICAgICAgICAqIGh0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9leGVtcHREb21haW5z
L2FwcC1ib3VuZC1kb21haW5zLWV4ZW1wdC1mcm9tLXdlYnNpdGUtZGF0YS1kZWxldGlvbi1kYXRh
YmFzZS5odG1sOgorICAgICAgICAqIGh0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9n
cmFuZGZhdGhlcmluZy1kYXRhYmFzZS1leHBlY3RlZC50eHQ6IFJlbW92ZWQuCisgICAgICAgICog
aHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2dyYW5kZmF0aGVyaW5nLWRhdGFiYXNl
Lmh0bWw6IFJlbW92ZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0
aWNzL2xlYXZlLWVtcHR5LWRvY3VtZW50LXJlZmVycmVyLWFsb25lLXRoaXJkLXBhcnR5LWlmcmFt
ZS5odG1sOgorICAgICAgICAqIGh0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9sb2ct
Y3Jvc3Mtc2l0ZS1sb2FkLXdpdGgtbGluay1kZWNvcmF0aW9uLWRhdGFiYXNlLWV4cGVjdGVkLnR4
dDogUmVtb3ZlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3Mv
bG9nLWNyb3NzLXNpdGUtbG9hZC13aXRoLWxpbmstZGVjb3JhdGlvbi1kYXRhYmFzZS5odG1sOiBS
ZW1vdmVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9sb2ct
Y3Jvc3Mtc2l0ZS1sb2FkLXdpdGgtbGluay1kZWNvcmF0aW9uLWV4cGVjdGVkLnR4dDoKKyAgICAg
ICAgKiBodHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvbG9nLWRlbGF5ZWQtY2xpZW50
LXNpZGUtcmVkaXJlY3RzLWRhdGFiYXNlLWV4cGVjdGVkLnR4dDogUmVtb3ZlZC4KKyAgICAgICAg
KiBodHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvbG9nLWRlbGF5ZWQtY2xpZW50LXNp
ZGUtcmVkaXJlY3RzLWRhdGFiYXNlLmh0bWw6IFJlbW92ZWQuCisgICAgICAgICogaHR0cC90ZXN0
cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2xvZy1kZWxheWVkLWNsaWVudC1zaWRlLXJlZGlyZWN0
cy1leHBlY3RlZC50eHQ6CisgICAgICAgICogaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0
aWNzL21hbnktaW5zZXJ0cy1vbmx5LWluc2VydC1vbmNlLmh0bWw6CisgICAgICAgICogaHR0cC90
ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL21lcmdlLXN0YXRpc3RpYy1kb2VzLW5vdC1vdmVy
d3JpdGUtZGF0YWJhc2UtZXhwZWN0ZWQudHh0OiBSZW1vdmVkLgorICAgICAgICAqIGh0dHAvdGVz
dHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9tZXJnZS1zdGF0aXN0aWMtZG9lcy1ub3Qtb3Zlcndy
aXRlLWRhdGFiYXNlLmh0bWw6IFJlbW92ZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9yZXNvdXJj
ZUxvYWRTdGF0aXN0aWNzL21lcmdlLXN0YXRpc3RpYy1kb2VzLW92ZXJ3cml0ZS1kYXRhYmFzZS1l
eHBlY3RlZC50eHQ6IFJlbW92ZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRT
dGF0aXN0aWNzL21lcmdlLXN0YXRpc3RpYy1kb2VzLW92ZXJ3cml0ZS1kYXRhYmFzZS5odG1sOiBS
ZW1vdmVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9tZXJn
ZS1zdGF0aXN0aWMtZG9lcy1wYXJ0aWFsbHktb3ZlcndyaXRlLWRhdGFiYXNlLWV4cGVjdGVkLnR4
dDogUmVtb3ZlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3Mv
bWVyZ2Utc3RhdGlzdGljLWRvZXMtcGFydGlhbGx5LW92ZXJ3cml0ZS1kYXRhYmFzZS5odG1sOiBS
ZW1vdmVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9ub24t
cHJldmFsZW50LXJlc291cmNlLXdpdGgtdXNlci1pbnRlcmFjdGlvbi1kYXRhYmFzZS1leHBlY3Rl
ZC50eHQ6IFJlbW92ZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0
aWNzL25vbi1wcmV2YWxlbnQtcmVzb3VyY2Utd2l0aC11c2VyLWludGVyYWN0aW9uLWRhdGFiYXNl
Lmh0bWw6IFJlbW92ZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0
aWNzL25vbi1wcmV2YWxlbnQtcmVzb3VyY2Utd2l0aG91dC11c2VyLWludGVyYWN0aW9uLWRhdGFi
YXNlLWV4cGVjdGVkLnR4dDogUmVtb3ZlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3Jlc291cmNl
TG9hZFN0YXRpc3RpY3Mvbm9uLXByZXZhbGVudC1yZXNvdXJjZS13aXRob3V0LXVzZXItaW50ZXJh
Y3Rpb24tZGF0YWJhc2UuaHRtbDogUmVtb3ZlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3Jlc291
cmNlTG9hZFN0YXRpc3RpY3Mvbm9uLXByZXZhbGVudC1yZXNvdXJjZXMtY2FuLWFjY2Vzcy1jb29r
aWVzLWluLWEtdGhpcmQtcGFydHktY29udGV4dC1kYXRhYmFzZS1leHBlY3RlZC50eHQ6IFJlbW92
ZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL25vbi1wcmV2
YWxlbnQtcmVzb3VyY2VzLWNhbi1hY2Nlc3MtY29va2llcy1pbi1hLXRoaXJkLXBhcnR5LWNvbnRl
eHQtZGF0YWJhc2UuaHRtbDogUmVtb3ZlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3Jlc291cmNl
TG9hZFN0YXRpc3RpY3Mvbm9uLXNhbmRib3hlZC1pZnJhbWUtcmVkaXJlY3QtaXAtdG8tbG9jYWxo
b3N0LXRvLWlwLWRhdGFiYXNlLWV4cGVjdGVkLnR4dDogUmVtb3ZlZC4KKyAgICAgICAgKiBodHRw
L3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3Mvbm9uLXNhbmRib3hlZC1pZnJhbWUtcmVkaXJl
Y3QtaXAtdG8tbG9jYWxob3N0LXRvLWlwLWRhdGFiYXNlLmh0bWw6IFJlbW92ZWQuCisgICAgICAg
ICogaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL25vbi1zYW5kYm94ZWQtaWZyYW1l
LXJlZGlyZWN0LWxvY2FsaG9zdC10by1pcC10by1sb2NhbGhvc3QtZGF0YWJhc2UtZXhwZWN0ZWQu
dHh0OiBSZW1vdmVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGlj
cy9ub24tc2FuZGJveGVkLWlmcmFtZS1yZWRpcmVjdC1sb2NhbGhvc3QtdG8taXAtdG8tbG9jYWxo
b3N0LWRhdGFiYXNlLmh0bWw6IFJlbW92ZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9yZXNvdXJj
ZUxvYWRTdGF0aXN0aWNzL25vbi1zYW5kYm94ZWQtbmVzdGluZy1pZnJhbWUtd2l0aC1ub24tc2Fu
ZGJveGVkLWlmcmFtZS1yZWRpcmVjdC1pcC10by1sb2NhbGhvc3QtdG8taXAtZGF0YWJhc2UtZXhw
ZWN0ZWQudHh0OiBSZW1vdmVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3Rh
dGlzdGljcy9ub24tc2FuZGJveGVkLW5lc3RpbmctaWZyYW1lLXdpdGgtbm9uLXNhbmRib3hlZC1p
ZnJhbWUtcmVkaXJlY3QtaXAtdG8tbG9jYWxob3N0LXRvLWlwLWRhdGFiYXNlLmh0bWw6IFJlbW92
ZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL25vbi1zYW5k
Ym94ZWQtbmVzdGluZy1pZnJhbWUtd2l0aC1ub24tc2FuZGJveGVkLWlmcmFtZS1yZWRpcmVjdC1s
b2NhbGhvc3QtdG8taXAtdG8tbG9jYWxob3N0LWRhdGFiYXNlLWV4cGVjdGVkLnR4dDogUmVtb3Zl
ZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3Mvbm9uLXNhbmRi
b3hlZC1uZXN0aW5nLWlmcmFtZS13aXRoLW5vbi1zYW5kYm94ZWQtaWZyYW1lLXJlZGlyZWN0LWxv
Y2FsaG9zdC10by1pcC10by1sb2NhbGhvc3QtZGF0YWJhc2UuaHRtbDogUmVtb3ZlZC4KKyAgICAg
ICAgKiBodHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3Mvbm9uLXNhbmRib3hlZC1uZXN0
aW5nLWlmcmFtZS13aXRoLXNhbmRib3hlZC1pZnJhbWUtcmVkaXJlY3QtaXAtdG8tbG9jYWxob3N0
LXRvLWlwLWRhdGFiYXNlLWV4cGVjdGVkLnR4dDogUmVtb3ZlZC4KKyAgICAgICAgKiBodHRwL3Rl
c3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3Mvbm9uLXNhbmRib3hlZC1uZXN0aW5nLWlmcmFtZS13
aXRoLXNhbmRib3hlZC1pZnJhbWUtcmVkaXJlY3QtaXAtdG8tbG9jYWxob3N0LXRvLWlwLWRhdGFi
YXNlLmh0bWw6IFJlbW92ZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0
aXN0aWNzL25vbi1zYW5kYm94ZWQtbmVzdGluZy1pZnJhbWUtd2l0aC1zYW5kYm94ZWQtaWZyYW1l
LXJlZGlyZWN0LWxvY2FsaG9zdC10by1pcC10by1sb2NhbGhvc3QtZGF0YWJhc2UtZXhwZWN0ZWQu
dHh0OiBSZW1vdmVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGlj
cy9ub24tc2FuZGJveGVkLW5lc3RpbmctaWZyYW1lLXdpdGgtc2FuZGJveGVkLWlmcmFtZS1yZWRp
cmVjdC1sb2NhbGhvc3QtdG8taXAtdG8tbG9jYWxob3N0LWRhdGFiYXNlLmh0bWw6IFJlbW92ZWQu
CisgICAgICAgICogaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL29wZXJhdGluZy1k
YXRlcy1hbGwtYnV0LWNvb2tpZXMtcmVtb3ZlZC1zdGF0aXN0aWNzLXdpdGgtbm8tdXNlci1pbnRl
cmFjdGlvbi1kYXRhYmFzZS1leHBlY3RlZC50eHQ6IFJlbW92ZWQuCisgICAgICAgICogaHR0cC90
ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL29wZXJhdGluZy1kYXRlcy1hbGwtYnV0LWNvb2tp
ZXMtcmVtb3ZlZC1zdGF0aXN0aWNzLXdpdGgtbm8tdXNlci1pbnRlcmFjdGlvbi1kYXRhYmFzZS5o
dG1sOiBSZW1vdmVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGlj
cy9vcGVyYXRpbmctZGF0ZXMtYWxsLWJ1dC1jb29raWVzLXJlbW92ZWQtc3RhdGlzdGljcy13aXRo
LW5vLXVzZXItaW50ZXJhY3Rpb24tZXhwZWN0ZWQudHh0OgorICAgICAgICAqIGh0dHAvdGVzdHMv
cmVzb3VyY2VMb2FkU3RhdGlzdGljcy9vcGVyYXRpbmctZGF0ZXMtYWxsLXdlYnNpdGUtZGF0YS1y
ZW1vdmVkLWRhdGFiYXNlLWV4cGVjdGVkLnR4dDogUmVtb3ZlZC4KKyAgICAgICAgKiBodHRwL3Rl
c3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3Mvb3BlcmF0aW5nLWRhdGVzLWFsbC13ZWJzaXRlLWRh
dGEtcmVtb3ZlZC1kYXRhYmFzZS5odG1sOiBSZW1vdmVkLgorICAgICAgICAqIGh0dHAvdGVzdHMv
cmVzb3VyY2VMb2FkU3RhdGlzdGljcy9waW5nLXRvLXByZXZhbGVudC1yZXNvdXJjZS1kYXRhYmFz
ZS1leHBlY3RlZC50eHQ6IFJlbW92ZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9yZXNvdXJjZUxv
YWRTdGF0aXN0aWNzL3BpbmctdG8tcHJldmFsZW50LXJlc291cmNlLWRhdGFiYXNlLmh0bWw6IFJl
bW92ZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3ByZXZh
bGVudC1yZXNvdXJjZS1oYW5kbGVkLWtleWRvd24tZGF0YWJhc2UtZXhwZWN0ZWQudHh0OiBSZW1v
dmVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9wcmV2YWxl
bnQtcmVzb3VyY2UtaGFuZGxlZC1rZXlkb3duLWRhdGFiYXNlLmh0bWw6IFJlbW92ZWQuCisgICAg
ICAgICogaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3ByZXZhbGVudC1yZXNvdXJj
ZS11bmhhbmRsZWQta2V5ZG93bi1kYXRhYmFzZS1leHBlY3RlZC50eHQ6IFJlbW92ZWQuCisgICAg
ICAgICogaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3ByZXZhbGVudC1yZXNvdXJj
ZS11bmhhbmRsZWQta2V5ZG93bi1kYXRhYmFzZS5odG1sOiBSZW1vdmVkLgorICAgICAgICAqIGh0
dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9wcmV2YWxlbnQtcmVzb3VyY2Utd2l0aC11
c2VyLWludGVyYWN0aW9uLWRhdGFiYXNlLWV4cGVjdGVkLnR4dDogUmVtb3ZlZC4KKyAgICAgICAg
KiBodHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvcHJldmFsZW50LXJlc291cmNlLXdp
dGgtdXNlci1pbnRlcmFjdGlvbi1kYXRhYmFzZS5odG1sOiBSZW1vdmVkLgorICAgICAgICAqIGh0
dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9wcmV2YWxlbnQtcmVzb3VyY2Utd2l0aC11
c2VyLWludGVyYWN0aW9uLXRpbWVvdXQtZGF0YWJhc2UtZXhwZWN0ZWQudHh0OiBSZW1vdmVkLgor
ICAgICAgICAqIGh0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9wcmV2YWxlbnQtcmVz
b3VyY2Utd2l0aC11c2VyLWludGVyYWN0aW9uLXRpbWVvdXQtZGF0YWJhc2UuaHRtbDogUmVtb3Zl
ZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvcHJldmFsZW50
LXJlc291cmNlLXdpdGhvdXQtdXNlci1pbnRlcmFjdGlvbi1kYXRhYmFzZS1leHBlY3RlZC50eHQ6
IFJlbW92ZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3By
ZXZhbGVudC1yZXNvdXJjZS13aXRob3V0LXVzZXItaW50ZXJhY3Rpb24tZGF0YWJhc2UuaHRtbDog
UmVtb3ZlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvcHJ1
bmUtc3RhdGlzdGljcy1kYXRhYmFzZS1leHBlY3RlZC50eHQ6IFJlbW92ZWQuCisgICAgICAgICog
aHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3BydW5lLXN0YXRpc3RpY3MtZGF0YWJh
c2UuaHRtbDogUmVtb3ZlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRp
c3RpY3MvcmVtb3ZlLXdlYnNpdGUtZGF0YS1mb3Itb3JpZ2luLWRlbGV0ZXMtbGluay1kZWNvcmF0
aW9uLWRhdGFiYXNlLWV4cGVjdGVkLnR4dDogUmVtb3ZlZC4KKyAgICAgICAgKiBodHRwL3Rlc3Rz
L3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvcmVtb3ZlLXdlYnNpdGUtZGF0YS1mb3Itb3JpZ2luLWRl
bGV0ZXMtbGluay1kZWNvcmF0aW9uLWRhdGFiYXNlLmh0bWw6IFJlbW92ZWQuCisgICAgICAgICog
aHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3JlbW92ZS13ZWJzaXRlLWRhdGEtZm9y
LW9yaWdpbi1kZWxldGVzLWxpbmstZGVjb3JhdGlvbi1leHBlY3RlZC50eHQ6CisgICAgICAgICog
aHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3JlbW92ZS13ZWJzaXRlLWRhdGEtZm9y
LW9yaWdpbi1kZWxldGVzLW1peGVkLXN0YXRpc3RpY3MtZW50cmllcy1kYXRhYmFzZS1leHBlY3Rl
ZC50eHQ6IFJlbW92ZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0
aWNzL3JlbW92ZS13ZWJzaXRlLWRhdGEtZm9yLW9yaWdpbi1kZWxldGVzLW1peGVkLXN0YXRpc3Rp
Y3MtZW50cmllcy1kYXRhYmFzZS5odG1sOiBSZW1vdmVkLgorICAgICAgICAqIGh0dHAvdGVzdHMv
cmVzb3VyY2VMb2FkU3RhdGlzdGljcy9yZW1vdmUtd2Vic2l0ZS1kYXRhLWZvci1vcmlnaW4tZGVs
ZXRlcy10aGlyZC1wYXJ0eS1zY3JpcHQtbG9hZHMtZGF0YWJhc2UtZXhwZWN0ZWQudHh0OiBSZW1v
dmVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9yZW1vdmUt
d2Vic2l0ZS1kYXRhLWZvci1vcmlnaW4tZGVsZXRlcy10aGlyZC1wYXJ0eS1zY3JpcHQtbG9hZHMt
ZGF0YWJhc2UuaHRtbDogUmVtb3ZlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3Jlc291cmNlTG9h
ZFN0YXRpc3RpY3MvcmVtb3ZlLXdlYnNpdGUtZGF0YS1mb3Itb3JpZ2luLWRlbGV0ZXMtdGhpcmQt
cGFydHktc2NyaXB0LWxvYWRzLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBodHRwL3Rlc3RzL3Jl
c291cmNlTG9hZFN0YXRpc3RpY3Mvc2FuZGJveGVkLWlmcmFtZS1yZWRpcmVjdC1pcC10by1sb2Nh
bGhvc3QtdG8taXAtZGF0YWJhc2UtZXhwZWN0ZWQudHh0OiBSZW1vdmVkLgorICAgICAgICAqIGh0
dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9zYW5kYm94ZWQtaWZyYW1lLXJlZGlyZWN0
LWlwLXRvLWxvY2FsaG9zdC10by1pcC1kYXRhYmFzZS5odG1sOiBSZW1vdmVkLgorICAgICAgICAq
IGh0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9zYW5kYm94ZWQtaWZyYW1lLXJlZGly
ZWN0LWxvY2FsaG9zdC10by1pcC10by1sb2NhbGhvc3QtZGF0YWJhc2UtZXhwZWN0ZWQudHh0OiBS
ZW1vdmVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9zYW5k
Ym94ZWQtaWZyYW1lLXJlZGlyZWN0LWxvY2FsaG9zdC10by1pcC10by1sb2NhbGhvc3QtZGF0YWJh
c2UuaHRtbDogUmVtb3ZlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRp
c3RpY3Mvc2FuZGJveGVkLW5lc3RpbmctaWZyYW1lLXdpdGgtbm9uLXNhbmRib3hlZC1pZnJhbWUt
cmVkaXJlY3QtaXAtdG8tbG9jYWxob3N0LXRvLWlwLWRhdGFiYXNlLWV4cGVjdGVkLnR4dDogUmVt
b3ZlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3Mvc2FuZGJv
eGVkLW5lc3RpbmctaWZyYW1lLXdpdGgtbm9uLXNhbmRib3hlZC1pZnJhbWUtcmVkaXJlY3QtaXAt
dG8tbG9jYWxob3N0LXRvLWlwLWRhdGFiYXNlLmh0bWw6IFJlbW92ZWQuCisgICAgICAgICogaHR0
cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3NhbmRib3hlZC1uZXN0aW5nLWlmcmFtZS13
aXRoLW5vbi1zYW5kYm94ZWQtaWZyYW1lLXJlZGlyZWN0LWxvY2FsaG9zdC10by1pcC10by1sb2Nh
bGhvc3QtZGF0YWJhc2UtZXhwZWN0ZWQudHh0OiBSZW1vdmVkLgorICAgICAgICAqIGh0dHAvdGVz
dHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9zYW5kYm94ZWQtbmVzdGluZy1pZnJhbWUtd2l0aC1u
b24tc2FuZGJveGVkLWlmcmFtZS1yZWRpcmVjdC1sb2NhbGhvc3QtdG8taXAtdG8tbG9jYWxob3N0
LWRhdGFiYXNlLmh0bWw6IFJlbW92ZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9yZXNvdXJjZUxv
YWRTdGF0aXN0aWNzL3NhbmRib3hlZC1uZXN0aW5nLWlmcmFtZS13aXRoLXNhbmRib3hlZC1pZnJh
bWUtcmVkaXJlY3QtaXAtdG8tbG9jYWxob3N0LXRvLWlwLWRhdGFiYXNlLWV4cGVjdGVkLnR4dDog
UmVtb3ZlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3Mvc2Fu
ZGJveGVkLW5lc3RpbmctaWZyYW1lLXdpdGgtc2FuZGJveGVkLWlmcmFtZS1yZWRpcmVjdC1pcC10
by1sb2NhbGhvc3QtdG8taXAtZGF0YWJhc2UuaHRtbDogUmVtb3ZlZC4KKyAgICAgICAgKiBodHRw
L3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3Mvc2FuZGJveGVkLW5lc3RpbmctaWZyYW1lLXdp
dGgtc2FuZGJveGVkLWlmcmFtZS1yZWRpcmVjdC1sb2NhbGhvc3QtdG8taXAtdG8tbG9jYWxob3N0
LWRhdGFiYXNlLWV4cGVjdGVkLnR4dDogUmVtb3ZlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3Jl
c291cmNlTG9hZFN0YXRpc3RpY3Mvc2FuZGJveGVkLW5lc3RpbmctaWZyYW1lLXdpdGgtc2FuZGJv
eGVkLWlmcmFtZS1yZWRpcmVjdC1sb2NhbGhvc3QtdG8taXAtdG8tbG9jYWxob3N0LWRhdGFiYXNl
Lmh0bWw6IFJlbW92ZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0
aWNzL3NldC1jdXN0b20tcHJldmFsZW50LXJlc291cmNlLWluLWRlYnVnLW1vZGUtZGF0YWJhc2Ut
ZXhwZWN0ZWQudHh0OiBSZW1vdmVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvcmVzb3VyY2VMb2Fk
U3RhdGlzdGljcy9zZXQtY3VzdG9tLXByZXZhbGVudC1yZXNvdXJjZS1pbi1kZWJ1Zy1tb2RlLWRh
dGFiYXNlLmh0bWw6IFJlbW92ZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRT
dGF0aXN0aWNzL3N0YW5kYWxvbmUtd2ViLWFwcGxpY2F0aW9uLWV4ZW1wdC1mcm9tLXdlYnNpdGUt
ZGF0YS1kZWxldGlvbi1kYXRhYmFzZS1leHBlY3RlZC50eHQ6IFJlbW92ZWQuCisgICAgICAgICog
aHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3N0YW5kYWxvbmUtd2ViLWFwcGxpY2F0
aW9uLWV4ZW1wdC1mcm9tLXdlYnNpdGUtZGF0YS1kZWxldGlvbi1kYXRhYmFzZS5odG1sOiBSZW1v
dmVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9zdHJpcC1y
ZWZlcnJlci10by1vcmlnaW4tZm9yLXByZXZhbGVudC1zdWJyZXNvdXJjZS1yZWRpcmVjdHMtZGF0
YWJhc2UtZXhwZWN0ZWQudHh0OiBSZW1vdmVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvcmVzb3Vy
Y2VMb2FkU3RhdGlzdGljcy9zdHJpcC1yZWZlcnJlci10by1vcmlnaW4tZm9yLXByZXZhbGVudC1z
dWJyZXNvdXJjZS1yZWRpcmVjdHMtZGF0YWJhc2UuaHRtbDogUmVtb3ZlZC4KKyAgICAgICAgKiBo
dHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3Mvc3RyaXAtcmVmZXJyZXItdG8tb3JpZ2lu
LWZvci1wcmV2YWxlbnQtc3VicmVzb3VyY2UtcmVxdWVzdHMtZGF0YWJhc2UtZXhwZWN0ZWQudHh0
OiBSZW1vdmVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9z
dHJpcC1yZWZlcnJlci10by1vcmlnaW4tZm9yLXByZXZhbGVudC1zdWJyZXNvdXJjZS1yZXF1ZXN0
cy1kYXRhYmFzZS5odG1sOiBSZW1vdmVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvcmVzb3VyY2VM
b2FkU3RhdGlzdGljcy9zd2l0Y2gtc2Vzc2lvbi1vbi1uYXZpZ2F0aW9uLXRvLXByZXZhbGVudC13
aXRoLWludGVyYWN0aW9uLWRhdGFiYXNlLWV4cGVjdGVkLnR4dDogUmVtb3ZlZC4KKyAgICAgICAg
KiBodHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3Mvc3dpdGNoLXNlc3Npb24tb24tbmF2
aWdhdGlvbi10by1wcmV2YWxlbnQtd2l0aC1pbnRlcmFjdGlvbi1kYXRhYmFzZS5waHA6IFJlbW92
ZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3RlbGVtZXRy
eS1nZW5lcmF0aW9uLWFkdmFuY2VkLWZ1bmN0aW9uYWxpdHktZGF0YWJhc2UtZXhwZWN0ZWQudHh0
OiBSZW1vdmVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy90
ZWxlbWV0cnktZ2VuZXJhdGlvbi1hZHZhbmNlZC1mdW5jdGlvbmFsaXR5LWRhdGFiYXNlLmh0bWw6
IFJlbW92ZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3Rl
bGVtZXRyeS1nZW5lcmF0aW9uLWJhc2ljLWZ1bmN0aW9uYWxpdHktZGF0YWJhc2UtZXhwZWN0ZWQu
dHh0OiBSZW1vdmVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGlj
cy90ZWxlbWV0cnktZ2VuZXJhdGlvbi1iYXNpYy1mdW5jdGlvbmFsaXR5LWRhdGFiYXNlLmh0bWw6
IFJlbW92ZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3Rl
bGVtZXRyeS1nZW5lcmF0aW9uLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBodHRwL3Rlc3RzL3Jl
c291cmNlTG9hZFN0YXRpc3RpY3MvdGhpcmQtcGFydHktY29va2llLWJsb2NraW5nLWRhdGFiYXNl
LWV4cGVjdGVkLnR4dDogUmVtb3ZlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3Jlc291cmNlTG9h
ZFN0YXRpc3RpY3MvdGhpcmQtcGFydHktY29va2llLWJsb2NraW5nLWRhdGFiYXNlLmh0bWw6IFJl
bW92ZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3RoaXJk
LXBhcnR5LWNvb2tpZS1ibG9ja2luZy1lcGhlbWVyYWwtZGF0YWJhc2UtZXhwZWN0ZWQudHh0OiBS
ZW1vdmVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy90aGly
ZC1wYXJ0eS1jb29raWUtYmxvY2tpbmctZXBoZW1lcmFsLWRhdGFiYXNlLmh0bWw6IFJlbW92ZWQu
CisgICAgICAgICogaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3RoaXJkLXBhcnR5
LWNvb2tpZS1ibG9ja2luZy1vbi1zaXRlcy13aXRob3V0LXVzZXItaW50ZXJhY3Rpb24tZGF0YWJh
c2UtZXhwZWN0ZWQudHh0OiBSZW1vdmVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvcmVzb3VyY2VM
b2FkU3RhdGlzdGljcy90aGlyZC1wYXJ0eS1jb29raWUtYmxvY2tpbmctb24tc2l0ZXMtd2l0aG91
dC11c2VyLWludGVyYWN0aW9uLWRhdGFiYXNlLmh0bWw6IFJlbW92ZWQuCisgICAgICAgICogaHR0
cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3VzZXItaW50ZXJhY3Rpb24taW4tY3Jvc3Mt
b3JpZ2luLXN1Yi1mcmFtZS1kYXRhYmFzZS1leHBlY3RlZC50eHQ6IFJlbW92ZWQuCisgICAgICAg
ICogaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3VzZXItaW50ZXJhY3Rpb24taW4t
Y3Jvc3Mtb3JpZ2luLXN1Yi1mcmFtZS1kYXRhYmFzZS5odG1sOiBSZW1vdmVkLgorICAgICAgICAq
IGh0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy91c2VyLWludGVyYWN0aW9uLW9ubHkt
cmVwb3J0ZWQtb25jZS13aXRoaW4tc2hvcnQtcGVyaW9kLW9mLXRpbWUtZGF0YWJhc2UtZXhwZWN0
ZWQudHh0OiBSZW1vdmVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlz
dGljcy91c2VyLWludGVyYWN0aW9uLW9ubHktcmVwb3J0ZWQtb25jZS13aXRoaW4tc2hvcnQtcGVy
aW9kLW9mLXRpbWUtZGF0YWJhc2UuaHRtbDogUmVtb3ZlZC4KKyAgICAgICAgKiBodHRwL3Rlc3Rz
L3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvdXNlci1pbnRlcmFjdGlvbi1yZXBvcnRlZC1hZnRlci13
ZWJzaXRlLWRhdGEtcmVtb3ZhbC1kYXRhYmFzZS1leHBlY3RlZC50eHQ6IFJlbW92ZWQuCisgICAg
ICAgICogaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3VzZXItaW50ZXJhY3Rpb24t
cmVwb3J0ZWQtYWZ0ZXItd2Vic2l0ZS1kYXRhLXJlbW92YWwtZGF0YWJhc2UuaHRtbDogUmVtb3Zl
ZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3Mvd2Vic2l0ZS1k
YXRhLXJlbW92YWwtZm9yLXNpdGUtbmF2aWdhdGVkLXRvLXdpdGgtbGluay1kZWNvcmF0aW9uLWRh
dGFiYXNlLWV4cGVjdGVkLnR4dDogUmVtb3ZlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3Jlc291
cmNlTG9hZFN0YXRpc3RpY3Mvd2Vic2l0ZS1kYXRhLXJlbW92YWwtZm9yLXNpdGUtbmF2aWdhdGVk
LXRvLXdpdGgtbGluay1kZWNvcmF0aW9uLWRhdGFiYXNlLmh0bWw6IFJlbW92ZWQuCisgICAgICAg
ICogaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3dlYnNpdGUtZGF0YS1yZW1vdmFs
LWZvci1zaXRlLW5hdmlnYXRlZC10by13aXRoLWxpbmstZGVjb3JhdGlvbi1leHBlY3RlZC50eHQ6
CisgICAgICAgICogaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3dlYnNpdGUtZGF0
YS1yZW1vdmFsLWZvci1zaXRlLXdpdGgtdXNlci1pbnRlcmFjdGlvbi1kYXRhYmFzZS1leHBlY3Rl
ZC50eHQ6IFJlbW92ZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0
aWNzL3dlYnNpdGUtZGF0YS1yZW1vdmFsLWZvci1zaXRlLXdpdGgtdXNlci1pbnRlcmFjdGlvbi1k
YXRhYmFzZS5odG1sOiBSZW1vdmVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvcmVzb3VyY2VMb2Fk
U3RhdGlzdGljcy93ZWJzaXRlLWRhdGEtcmVtb3ZhbC1mb3Itc2l0ZS13aXRob3V0LXVzZXItaW50
ZXJhY3Rpb24tZGF0YWJhc2UtZXhwZWN0ZWQudHh0OiBSZW1vdmVkLgorICAgICAgICAqIGh0dHAv
dGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy93ZWJzaXRlLWRhdGEtcmVtb3ZhbC1mb3Itc2l0
ZS13aXRob3V0LXVzZXItaW50ZXJhY3Rpb24tZGF0YWJhc2UuaHRtbDogUmVtb3ZlZC4KKyAgICAg
ICAgKiBodHRwL3Rlc3RzL3N0b3JhZ2VBY2Nlc3MvYWdncmVnYXRlLXNvcnRlZC1kYXRhLXdpdGgt
c3RvcmFnZS1hY2Nlc3MtZGF0YWJhc2UtZXhwZWN0ZWQudHh0OiBSZW1vdmVkLgorICAgICAgICAq
IGh0dHAvdGVzdHMvc3RvcmFnZUFjY2Vzcy9hZ2dyZWdhdGUtc29ydGVkLWRhdGEtd2l0aC1zdG9y
YWdlLWFjY2Vzcy1kYXRhYmFzZS5odG1sOiBSZW1vdmVkLgorICAgICAgICAqIGh0dHAvdGVzdHMv
c3RvcmFnZUFjY2Vzcy9hZ2dyZWdhdGUtc29ydGVkLWRhdGEtd2l0aC1zdG9yYWdlLWFjY2Vzcy1l
eHBlY3RlZC50eHQ6CisgICAgICAgICogaHR0cC90ZXN0cy9zdG9yYWdlQWNjZXNzL2RlbnktZHVl
LXRvLW5vLWludGVyYWN0aW9uLXVuZGVyLWdlbmVyYWwtdGhpcmQtcGFydHktY29va2llLWJsb2Nr
aW5nLWRhdGFiYXNlLWV4cGVjdGVkLnR4dDogUmVtb3ZlZC4KKyAgICAgICAgKiBodHRwL3Rlc3Rz
L3N0b3JhZ2VBY2Nlc3MvZGVueS1kdWUtdG8tbm8taW50ZXJhY3Rpb24tdW5kZXItZ2VuZXJhbC10
aGlyZC1wYXJ0eS1jb29raWUtYmxvY2tpbmctZGF0YWJhc2UuaHRtbDogUmVtb3ZlZC4KKyAgICAg
ICAgKiBodHRwL3Rlc3RzL3N0b3JhZ2VBY2Nlc3MvZGVueS1zdG9yYWdlLWFjY2Vzcy11bmRlci1v
cGVuZXItZGF0YWJhc2UtZXhwZWN0ZWQudHh0OiBSZW1vdmVkLgorICAgICAgICAqIGh0dHAvdGVz
dHMvc3RvcmFnZUFjY2Vzcy9kZW55LXN0b3JhZ2UtYWNjZXNzLXVuZGVyLW9wZW5lci1kYXRhYmFz
ZS5odG1sOiBSZW1vdmVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvc3RvcmFnZUFjY2Vzcy9kZW55
LXN0b3JhZ2UtYWNjZXNzLXVuZGVyLW9wZW5lci1pZi1hdXRvLWRpc21pc3MtZGF0YWJhc2UtZXhw
ZWN0ZWQudHh0OiBSZW1vdmVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvc3RvcmFnZUFjY2Vzcy9k
ZW55LXN0b3JhZ2UtYWNjZXNzLXVuZGVyLW9wZW5lci1pZi1hdXRvLWRpc21pc3MtZGF0YWJhc2Uu
aHRtbDogUmVtb3ZlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3N0b3JhZ2VBY2Nlc3MvZGVueS13
aXRoLXByb21wdC1kb2VzLW5vdC1wcmVzZXJ2ZS1nZXN0dXJlLWRhdGFiYXNlLWV4cGVjdGVkLnR4
dDogUmVtb3ZlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3N0b3JhZ2VBY2Nlc3MvZGVueS13aXRo
LXByb21wdC1kb2VzLW5vdC1wcmVzZXJ2ZS1nZXN0dXJlLWRhdGFiYXNlLmh0bWw6IFJlbW92ZWQu
CisgICAgICAgICogaHR0cC90ZXN0cy9zdG9yYWdlQWNjZXNzL2Rlbnktd2l0aG91dC1wcm9tcHQt
cHJlc2VydmVzLWdlc3R1cmUtZGF0YWJhc2UtZXhwZWN0ZWQudHh0OiBSZW1vdmVkLgorICAgICAg
ICAqIGh0dHAvdGVzdHMvc3RvcmFnZUFjY2Vzcy9kZW55LXdpdGhvdXQtcHJvbXB0LXByZXNlcnZl
cy1nZXN0dXJlLWRhdGFiYXNlLmh0bWw6IFJlbW92ZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9z
dG9yYWdlQWNjZXNzL2dyYW50LXN0b3JhZ2UtYWNjZXNzLXVuZGVyLW9wZW5lci1hdC1wb3B1cC11
c2VyLWdlc3R1cmUtZGF0YWJhc2UtZXhwZWN0ZWQudHh0OiBSZW1vdmVkLgorICAgICAgICAqIGh0
dHAvdGVzdHMvc3RvcmFnZUFjY2Vzcy9ncmFudC1zdG9yYWdlLWFjY2Vzcy11bmRlci1vcGVuZXIt
YXQtcG9wdXAtdXNlci1nZXN0dXJlLWRhdGFiYXNlLmh0bWw6IFJlbW92ZWQuCisgICAgICAgICog
aHR0cC90ZXN0cy9zdG9yYWdlQWNjZXNzL2dyYW50LXdpdGgtcHJvbXB0LXByZXNlcnZlcy1nZXN0
dXJlLWRhdGFiYXNlLWV4cGVjdGVkLnR4dDogUmVtb3ZlZC4KKyAgICAgICAgKiBodHRwL3Rlc3Rz
L3N0b3JhZ2VBY2Nlc3MvZ3JhbnQtd2l0aC1wcm9tcHQtcHJlc2VydmVzLWdlc3R1cmUtZGF0YWJh
c2UuaHRtbDogUmVtb3ZlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3N0b3JhZ2VBY2Nlc3MvZ3Jh
bnQtd2l0aC1wcm9tcHQtdW5kZXItZ2VuZXJhbC10aGlyZC1wYXJ0eS1jb29raWUtYmxvY2tpbmct
ZGF0YWJhc2UtZXhwZWN0ZWQudHh0OiBSZW1vdmVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvc3Rv
cmFnZUFjY2Vzcy9ncmFudC13aXRoLXByb21wdC11bmRlci1nZW5lcmFsLXRoaXJkLXBhcnR5LWNv
b2tpZS1ibG9ja2luZy1kYXRhYmFzZS5odG1sOiBSZW1vdmVkLgorICAgICAgICAqIGh0dHAvdGVz
dHMvc3RvcmFnZUFjY2Vzcy9oYXMtc3RvcmFnZS1hY2Nlc3MtY3Jhc2gtZGF0YWJhc2UtZXhwZWN0
ZWQudHh0OiBSZW1vdmVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvc3RvcmFnZUFjY2Vzcy9oYXMt
c3RvcmFnZS1hY2Nlc3MtY3Jhc2gtZGF0YWJhc2UuaHRtbDogUmVtb3ZlZC4KKyAgICAgICAgKiBo
dHRwL3Rlc3RzL3N0b3JhZ2VBY2Nlc3MvaGFzLXN0b3JhZ2UtYWNjZXNzLWZhbHNlLWJ5LWRlZmF1
bHQtZGF0YWJhc2UtZXhwZWN0ZWQudHh0OiBSZW1vdmVkLgorICAgICAgICAqIGh0dHAvdGVzdHMv
c3RvcmFnZUFjY2Vzcy9oYXMtc3RvcmFnZS1hY2Nlc3MtZmFsc2UtYnktZGVmYXVsdC1kYXRhYmFz
ZS5odG1sOiBSZW1vdmVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvc3RvcmFnZUFjY2Vzcy9oYXMt
c3RvcmFnZS1hY2Nlc3MtZmFsc2UtYnktZGVmYXVsdC1lcGhlbWVyYWwtZGF0YWJhc2UtZXhwZWN0
ZWQudHh0OiBSZW1vdmVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvc3RvcmFnZUFjY2Vzcy9oYXMt
c3RvcmFnZS1hY2Nlc3MtZmFsc2UtYnktZGVmYXVsdC1lcGhlbWVyYWwtZGF0YWJhc2UuaHRtbDog
UmVtb3ZlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3N0b3JhZ2VBY2Nlc3MvaGFzLXN0b3JhZ2Ut
YWNjZXNzLWZyb20tcHJldmFsZW50LWRvbWFpbi13aXRoLXVzZXItaW50ZXJhY3Rpb24tZGF0YWJh
c2UtZXhwZWN0ZWQudHh0OiBSZW1vdmVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvc3RvcmFnZUFj
Y2Vzcy9oYXMtc3RvcmFnZS1hY2Nlc3MtZnJvbS1wcmV2YWxlbnQtZG9tYWluLXdpdGgtdXNlci1p
bnRlcmFjdGlvbi1kYXRhYmFzZS5odG1sOiBSZW1vdmVkLgorICAgICAgICAqIGh0dHAvdGVzdHMv
c3RvcmFnZUFjY2Vzcy9oYXMtc3RvcmFnZS1hY2Nlc3MtdHJ1ZS1pZi10aGlyZC1wYXJ0eS1oYXMt
Y29va2llcy1kYXRhYmFzZS1leHBlY3RlZC50eHQ6IFJlbW92ZWQuCisgICAgICAgICogaHR0cC90
ZXN0cy9zdG9yYWdlQWNjZXNzL2hhcy1zdG9yYWdlLWFjY2Vzcy10cnVlLWlmLXRoaXJkLXBhcnR5
LWhhcy1jb29raWVzLWRhdGFiYXNlLmh0bWw6IFJlbW92ZWQuCisgICAgICAgICogaHR0cC90ZXN0
cy9zdG9yYWdlQWNjZXNzL2hhcy1zdG9yYWdlLWFjY2Vzcy10cnVlLWlmLXRoaXJkLXBhcnR5LWhh
cy1jb29raWVzLWVwaGVtZXJhbC1kYXRhYmFzZS1leHBlY3RlZC50eHQ6IFJlbW92ZWQuCisgICAg
ICAgICogaHR0cC90ZXN0cy9zdG9yYWdlQWNjZXNzL2hhcy1zdG9yYWdlLWFjY2Vzcy10cnVlLWlm
LXRoaXJkLXBhcnR5LWhhcy1jb29raWVzLWVwaGVtZXJhbC1kYXRhYmFzZS5odG1sOiBSZW1vdmVk
LgorICAgICAgICAqIGh0dHAvdGVzdHMvc3RvcmFnZUFjY2Vzcy9oYXMtc3RvcmFnZS1hY2Nlc3Mt
dW5kZXItZ2VuZXJhbC10aGlyZC1wYXJ0eS1jb29raWUtYmxvY2tpbmctd2l0aC1jb29raWUtZGF0
YWJhc2UtZXhwZWN0ZWQudHh0OiBSZW1vdmVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvc3RvcmFn
ZUFjY2Vzcy9oYXMtc3RvcmFnZS1hY2Nlc3MtdW5kZXItZ2VuZXJhbC10aGlyZC1wYXJ0eS1jb29r
aWUtYmxvY2tpbmctd2l0aC1jb29raWUtZGF0YWJhc2UuaHRtbDogUmVtb3ZlZC4KKyAgICAgICAg
KiBodHRwL3Rlc3RzL3N0b3JhZ2VBY2Nlc3MvaGFzLXN0b3JhZ2UtYWNjZXNzLXVuZGVyLWdlbmVy
YWwtdGhpcmQtcGFydHktY29va2llLWJsb2NraW5nLXdpdGhvdXQtY29va2llLWRhdGFiYXNlLWV4
cGVjdGVkLnR4dDogUmVtb3ZlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3N0b3JhZ2VBY2Nlc3Mv
aGFzLXN0b3JhZ2UtYWNjZXNzLXVuZGVyLWdlbmVyYWwtdGhpcmQtcGFydHktY29va2llLWJsb2Nr
aW5nLXdpdGhvdXQtY29va2llLWRhdGFiYXNlLmh0bWw6IFJlbW92ZWQuCisgICAgICAgICogaHR0
cC90ZXN0cy9zdG9yYWdlQWNjZXNzL3JlbW92ZS1yZXF1ZXN0aW5nLWlmcmFtZS1kYXRhYmFzZS1l
eHBlY3RlZC50eHQ6IFJlbW92ZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9zdG9yYWdlQWNjZXNz
L3JlbW92ZS1yZXF1ZXN0aW5nLWlmcmFtZS1kYXRhYmFzZS5odG1sOiBSZW1vdmVkLgorICAgICAg
ICAqIGh0dHAvdGVzdHMvc3RvcmFnZUFjY2Vzcy9yZXF1ZXN0LWFuZC1ncmFudC1hY2Nlc3MtY3Jv
c3Mtb3JpZ2luLW5vbi1zYW5kYm94ZWQtaWZyYW1lLWRhdGFiYXNlLWV4cGVjdGVkLnR4dDogUmVt
b3ZlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3N0b3JhZ2VBY2Nlc3MvcmVxdWVzdC1hbmQtZ3Jh
bnQtYWNjZXNzLWNyb3NzLW9yaWdpbi1ub24tc2FuZGJveGVkLWlmcmFtZS1kYXRhYmFzZS5odG1s
OiBSZW1vdmVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvc3RvcmFnZUFjY2Vzcy9yZXF1ZXN0LWFu
ZC1ncmFudC1hY2Nlc3MtY3Jvc3Mtb3JpZ2luLXNhbmRib3hlZC1pZnJhbWUtZGF0YWJhc2UtZXhw
ZWN0ZWQudHh0OiBSZW1vdmVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvc3RvcmFnZUFjY2Vzcy9y
ZXF1ZXN0LWFuZC1ncmFudC1hY2Nlc3MtY3Jvc3Mtb3JpZ2luLXNhbmRib3hlZC1pZnJhbWUtZGF0
YWJhc2UuaHRtbDogUmVtb3ZlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3N0b3JhZ2VBY2Nlc3Mv
cmVxdWVzdC1hbmQtZ3JhbnQtYWNjZXNzLWNyb3NzLW9yaWdpbi1zYW5kYm94ZWQtaWZyYW1lLWZy
b20tcHJldmFsZW50LWRvbWFpbi13aXRoLXVzZXItaW50ZXJhY3Rpb24tYW5kLWFjY2Vzcy1mcm9t
LXJpZ2h0LWZyYW1lLWRhdGFiYXNlLWV4cGVjdGVkLnR4dDogUmVtb3ZlZC4KKyAgICAgICAgKiBo
dHRwL3Rlc3RzL3N0b3JhZ2VBY2Nlc3MvcmVxdWVzdC1hbmQtZ3JhbnQtYWNjZXNzLWNyb3NzLW9y
aWdpbi1zYW5kYm94ZWQtaWZyYW1lLWZyb20tcHJldmFsZW50LWRvbWFpbi13aXRoLXVzZXItaW50
ZXJhY3Rpb24tYW5kLWFjY2Vzcy1mcm9tLXJpZ2h0LWZyYW1lLWRhdGFiYXNlLmh0bWw6IFJlbW92
ZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9zdG9yYWdlQWNjZXNzL3JlcXVlc3QtYW5kLWdyYW50
LWFjY2Vzcy1jcm9zcy1vcmlnaW4tc2FuZGJveGVkLWlmcmFtZS1mcm9tLXByZXZhbGVudC1kb21h
aW4td2l0aC11c2VyLWludGVyYWN0aW9uLWJ1dC1hY2Nlc3MtZnJvbS13cm9uZy1mcmFtZS1kYXRh
YmFzZS1leHBlY3RlZC50eHQ6IFJlbW92ZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9zdG9yYWdl
QWNjZXNzL3JlcXVlc3QtYW5kLWdyYW50LWFjY2Vzcy1jcm9zcy1vcmlnaW4tc2FuZGJveGVkLWlm
cmFtZS1mcm9tLXByZXZhbGVudC1kb21haW4td2l0aC11c2VyLWludGVyYWN0aW9uLWJ1dC1hY2Nl
c3MtZnJvbS13cm9uZy1mcmFtZS1kYXRhYmFzZS5odG1sOiBSZW1vdmVkLgorICAgICAgICAqIGh0
dHAvdGVzdHMvc3RvcmFnZUFjY2Vzcy9yZXF1ZXN0LWFuZC1ncmFudC1hY2Nlc3MtY3Jvc3Mtb3Jp
Z2luLXNhbmRib3hlZC1pZnJhbWUtZnJvbS1wcmV2YWxlbnQtZG9tYWluLXdpdGgtdXNlci1pbnRl
cmFjdGlvbi1kYXRhYmFzZS1leHBlY3RlZC50eHQ6IFJlbW92ZWQuCisgICAgICAgICogaHR0cC90
ZXN0cy9zdG9yYWdlQWNjZXNzL3JlcXVlc3QtYW5kLWdyYW50LWFjY2Vzcy1jcm9zcy1vcmlnaW4t
c2FuZGJveGVkLWlmcmFtZS1mcm9tLXByZXZhbGVudC1kb21haW4td2l0aC11c2VyLWludGVyYWN0
aW9uLWRhdGFiYXNlLmh0bWw6IFJlbW92ZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9zdG9yYWdl
QWNjZXNzL3JlcXVlc3QtYW5kLWdyYW50LWFjY2Vzcy1jcm9zcy1vcmlnaW4tc2FuZGJveGVkLWlm
cmFtZS1mcm9tLXByZXZhbGVudC1kb21haW4td2l0aG91dC11c2VyLWludGVyYWN0aW9uLWRhdGFi
YXNlLWV4cGVjdGVkLnR4dDogUmVtb3ZlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3N0b3JhZ2VB
Y2Nlc3MvcmVxdWVzdC1hbmQtZ3JhbnQtYWNjZXNzLWNyb3NzLW9yaWdpbi1zYW5kYm94ZWQtaWZy
YW1lLWZyb20tcHJldmFsZW50LWRvbWFpbi13aXRob3V0LXVzZXItaW50ZXJhY3Rpb24tZGF0YWJh
c2UuaHRtbDogUmVtb3ZlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3N0b3JhZ2VBY2Nlc3MvcmVx
dWVzdC1hbmQtZ3JhbnQtYWNjZXNzLWNyb3NzLW9yaWdpbi1zYW5kYm94ZWQtbmVzdGVkLWlmcmFt
ZS1kYXRhYmFzZS1leHBlY3RlZC50eHQ6IFJlbW92ZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9z
dG9yYWdlQWNjZXNzL3JlcXVlc3QtYW5kLWdyYW50LWFjY2Vzcy1jcm9zcy1vcmlnaW4tc2FuZGJv
eGVkLW5lc3RlZC1pZnJhbWUtZGF0YWJhc2UuaHRtbDogUmVtb3ZlZC4KKyAgICAgICAgKiBodHRw
L3Rlc3RzL3N0b3JhZ2VBY2Nlc3MvcmVxdWVzdC1hbmQtZ3JhbnQtYWNjZXNzLXRoZW4tZGV0YWNo
LXNob3VsZC1ub3QtaGF2ZS1hY2Nlc3MtZGF0YWJhc2UtZXhwZWN0ZWQudHh0OiBSZW1vdmVkLgor
ICAgICAgICAqIGh0dHAvdGVzdHMvc3RvcmFnZUFjY2Vzcy9yZXF1ZXN0LWFuZC1ncmFudC1hY2Nl
c3MtdGhlbi1kZXRhY2gtc2hvdWxkLW5vdC1oYXZlLWFjY2Vzcy1kYXRhYmFzZS5odG1sOiBSZW1v
dmVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvc3RvcmFnZUFjY2Vzcy9yZXF1ZXN0LWFuZC1ncmFu
dC1hY2Nlc3MtdGhlbi1uYXZpZ2F0ZS1jcm9zcy1zaXRlLXNob3VsZC1ub3QtaGF2ZS1hY2Nlc3Mt
ZGF0YWJhc2UtZXhwZWN0ZWQudHh0OiBSZW1vdmVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvc3Rv
cmFnZUFjY2Vzcy9yZXF1ZXN0LWFuZC1ncmFudC1hY2Nlc3MtdGhlbi1uYXZpZ2F0ZS1jcm9zcy1z
aXRlLXNob3VsZC1ub3QtaGF2ZS1hY2Nlc3MtZGF0YWJhc2UuaHRtbDogUmVtb3ZlZC4KKyAgICAg
ICAgKiBodHRwL3Rlc3RzL3N0b3JhZ2VBY2Nlc3MvcmVxdWVzdC1hbmQtZ3JhbnQtYWNjZXNzLXRo
ZW4tbmF2aWdhdGUtc2FtZS1zaXRlLXNob3VsZC1oYXZlLWFjY2Vzcy1kYXRhYmFzZS1leHBlY3Rl
ZC50eHQ6IFJlbW92ZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9zdG9yYWdlQWNjZXNzL3JlcXVl
c3QtYW5kLWdyYW50LWFjY2Vzcy10aGVuLW5hdmlnYXRlLXNhbWUtc2l0ZS1zaG91bGQtaGF2ZS1h
Y2Nlc3MtZGF0YWJhc2UuaHRtbDogUmVtb3ZlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3N0b3Jh
Z2VBY2Nlc3MvcmVxdWVzdC1zdG9yYWdlLWFjY2Vzcy1jcmFzaC1kYXRhYmFzZS1leHBlY3RlZC50
eHQ6IFJlbW92ZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9zdG9yYWdlQWNjZXNzL3JlcXVlc3Qt
c3RvcmFnZS1hY2Nlc3MtY3Jhc2gtZGF0YWJhc2UuaHRtbDogUmVtb3ZlZC4KKyAgICAgICAgKiBo
dHRwL3Rlc3RzL3N0b3JhZ2VBY2Nlc3MvcmVxdWVzdC1zdG9yYWdlLWFjY2Vzcy1jcm9zcy1vcmln
aW4tc2FuZGJveGVkLWlmcmFtZS13aXRoLXVuaXF1ZS1vcmlnaW4tZGF0YWJhc2UtZXhwZWN0ZWQu
dHh0OiBSZW1vdmVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvc3RvcmFnZUFjY2Vzcy9yZXF1ZXN0
LXN0b3JhZ2UtYWNjZXNzLWNyb3NzLW9yaWdpbi1zYW5kYm94ZWQtaWZyYW1lLXdpdGgtdW5pcXVl
LW9yaWdpbi1kYXRhYmFzZS5odG1sOiBSZW1vdmVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvc3Rv
cmFnZUFjY2Vzcy9yZXF1ZXN0LXN0b3JhZ2UtYWNjZXNzLWNyb3NzLW9yaWdpbi1zYW5kYm94ZWQt
aWZyYW1lLXdpdGhvdXQtYWxsb3ctdG9rZW4tZGF0YWJhc2UtZXhwZWN0ZWQudHh0OiBSZW1vdmVk
LgorICAgICAgICAqIGh0dHAvdGVzdHMvc3RvcmFnZUFjY2Vzcy9yZXF1ZXN0LXN0b3JhZ2UtYWNj
ZXNzLWNyb3NzLW9yaWdpbi1zYW5kYm94ZWQtaWZyYW1lLXdpdGhvdXQtYWxsb3ctdG9rZW4tZGF0
YWJhc2UuaHRtbDogUmVtb3ZlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3N0b3JhZ2VBY2Nlc3Mv
cmVxdWVzdC1zdG9yYWdlLWFjY2Vzcy1jcm9zcy1vcmlnaW4tc2FuZGJveGVkLWlmcmFtZS13aXRo
b3V0LXVzZXItZ2VzdHVyZS1kYXRhYmFzZS1leHBlY3RlZC50eHQ6IFJlbW92ZWQuCisgICAgICAg
ICogaHR0cC90ZXN0cy9zdG9yYWdlQWNjZXNzL3JlcXVlc3Qtc3RvcmFnZS1hY2Nlc3MtY3Jvc3Mt
b3JpZ2luLXNhbmRib3hlZC1pZnJhbWUtd2l0aG91dC11c2VyLWdlc3R1cmUtZGF0YWJhc2UuaHRt
bDogUmVtb3ZlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3N0b3JhZ2VBY2Nlc3MvcmVxdWVzdC1z
dG9yYWdlLWFjY2Vzcy1zYW1lLW9yaWdpbi1pZnJhbWUtZGF0YWJhc2UtZXhwZWN0ZWQudHh0OiBS
ZW1vdmVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvc3RvcmFnZUFjY2Vzcy9yZXF1ZXN0LXN0b3Jh
Z2UtYWNjZXNzLXNhbWUtb3JpZ2luLWlmcmFtZS1kYXRhYmFzZS5odG1sOiBSZW1vdmVkLgorICAg
ICAgICAqIGh0dHAvdGVzdHMvc3RvcmFnZUFjY2Vzcy9yZXF1ZXN0LXN0b3JhZ2UtYWNjZXNzLXNh
bWUtb3JpZ2luLXNhbmRib3hlZC1pZnJhbWUtZGF0YWJhc2UtZXhwZWN0ZWQudHh0OiBSZW1vdmVk
LgorICAgICAgICAqIGh0dHAvdGVzdHMvc3RvcmFnZUFjY2Vzcy9yZXF1ZXN0LXN0b3JhZ2UtYWNj
ZXNzLXNhbWUtb3JpZ2luLXNhbmRib3hlZC1pZnJhbWUtZGF0YWJhc2UuaHRtbDogUmVtb3ZlZC4K
KyAgICAgICAgKiBodHRwL3Rlc3RzL3N0b3JhZ2VBY2Nlc3MvcmVxdWVzdC1zdG9yYWdlLWFjY2Vz
cy1zYW1lLW9yaWdpbi1zYW5kYm94ZWQtaWZyYW1lLXdpdGhvdXQtYWxsb3ctdG9rZW4tZGF0YWJh
c2UtZXhwZWN0ZWQudHh0OiBSZW1vdmVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvc3RvcmFnZUFj
Y2Vzcy9yZXF1ZXN0LXN0b3JhZ2UtYWNjZXNzLXNhbWUtb3JpZ2luLXNhbmRib3hlZC1pZnJhbWUt
d2l0aG91dC1hbGxvdy10b2tlbi1kYXRhYmFzZS5odG1sOiBSZW1vdmVkLgorICAgICAgICAqIGh0
dHAvdGVzdHMvc3RvcmFnZUFjY2Vzcy9yZXF1ZXN0LXN0b3JhZ2UtYWNjZXNzLXRvcC1mcmFtZS1k
YXRhYmFzZS1leHBlY3RlZC50eHQ6IFJlbW92ZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9zdG9y
YWdlQWNjZXNzL3JlcXVlc3Qtc3RvcmFnZS1hY2Nlc3MtdG9wLWZyYW1lLWRhdGFiYXNlLmh0bWw6
IFJlbW92ZWQuCisgICAgICAgICogaHR0cC90ZXN0cy93ZWJBUElTdGF0aXN0aWNzL2NhbnZhcy1y
ZWFkLWFuZC13cml0ZS1kYXRhLWNvbGxlY3Rpb24tZXhwZWN0ZWQudHh0OgorICAgICAgICAqIGh0
dHAvdGVzdHMvd2ViQVBJU3RhdGlzdGljcy9mb250LWxvYWQtZGF0YS1jb2xsZWN0aW9uLWV4cGVj
dGVkLnR4dDoKKyAgICAgICAgKiBodHRwL3Rlc3RzL3dlYkFQSVN0YXRpc3RpY3MvbmF2aWdhdG9y
LWZ1bmN0aW9ucy1hY2Nlc3NlZC1kYXRhLWNvbGxlY3Rpb24tZXhwZWN0ZWQudHh0OgorICAgICAg
ICAqIGh0dHAvdGVzdHMvd2ViQVBJU3RhdGlzdGljcy9zY3JlZW4tZnVuY3Rpb25zLWFjY2Vzc2Vk
LWRhdGEtY29sbGVjdGlvbi1leHBlY3RlZC50eHQ6CisgICAgICAgICogcGxhdGZvcm0vZ3RrL1Rl
c3RFeHBlY3RhdGlvbnM6CisgICAgICAgICogcGxhdGZvcm0vaW9zLXdrMi9UZXN0RXhwZWN0YXRp
b25zOgorICAgICAgICAqIHBsYXRmb3JtL2lvcy9UZXN0RXhwZWN0YXRpb25zOgorICAgICAgICAq
IHBsYXRmb3JtL21hYy13azIvVGVzdEV4cGVjdGF0aW9uczoKKyAgICAgICAgKiBwbGF0Zm9ybS93
azIvVGVzdEV4cGVjdGF0aW9uczoKKyAgICAgICAgKiBwbGF0Zm9ybS93cGUvVGVzdEV4cGVjdGF0
aW9uczoKKwogMjAyMC0wOS0yOCAgRnVqaWkgSGlyb25vcmkgIDxIaXJvbm9yaS5GdWppaUBzb255
LmNvbT4KIAogICAgICAgICBbVGV4dHVyZU1hcHBlcl0gRW5hYmxlIGEgZGVwdGggYnVmZmVyIGZv
ciBwcmVzZXJ2ZS0zZApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJj
ZUxvYWRTdGF0aXN0aWNzL2FkZC1ibG9ja2luZy10by1yZWRpcmVjdC1kYXRhYmFzZS1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvYWRk
LWJsb2NraW5nLXRvLXJlZGlyZWN0LWRhdGFiYXNlLWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggZjBlYmE4ZmI4OTdmMzdjY2IyNjYyNzM4ZTFkMjBkZjQ2MjAzZGEy
Ny4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRU
ZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvYWRkLWJsb2NraW5nLXRvLXJl
ZGlyZWN0LWRhdGFiYXNlLWV4cGVjdGVkLnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDYzICswLDAg
QEAKLVRlc3RzIHRoYXQgYmxvY2tpbmcgaXMgYWRkZWQgbWlkLWZsaWdodCBpbiByZWRpcmVjdHMu
Ci0KLU9uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMs
IGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KLQotCi1QQVNTIHN1Y2Nlc3NmdWxseVBhcnNl
ZCBpcyB0cnVlCi0KLVRFU1QgQ09NUExFVEUKLQotCi0tLS0tLS0tLQotRnJhbWU6ICc8IS0tZnJh
bWUxLS0+JwotLS0tLS0tLS0KLVNob3VsZCByZWNlaXZlIGZpcnN0LXBhcnR5IGNvb2tpZS4KLVJl
Y2VpdmVkIGNvb2tpZSBuYW1lZCAnZmlyc3RQYXJ0eUNvb2tpZScuCi1EaWQgbm90IHJlY2VpdmUg
Y29va2llIG5hbWVkICdwYXJ0aXRpb25lZENvb2tpZScuCi1DbGllbnQtc2lkZSBkb2N1bWVudC5j
b29raWU6IGZpcnN0UGFydHlDb29raWU9dmFsdWUKLQotLS0tLS0tLS0KLUZyYW1lOiAnPCEtLWZy
YW1lMi0tPicKLS0tLS0tLS0tCi1SZWRpcmVjdCBjYXNlIDEsIHNob3VsZCByZWNlaXZlIGZpcnN0
LXBhcnR5IGNvb2tpZS4KLVJlY2VpdmVkIGNvb2tpZSBuYW1lZCAnZmlyc3RQYXJ0eUNvb2tpZScu
Ci1EaWQgbm90IHJlY2VpdmUgY29va2llIG5hbWVkICdwYXJ0aXRpb25lZENvb2tpZScuCi1DbGll
bnQtc2lkZSBkb2N1bWVudC5jb29raWU6IGZpcnN0UGFydHlDb29raWU9dmFsdWUKLQotLS0tLS0t
LS0KLUZyYW1lOiAnPCEtLWZyYW1lMy0tPicKLS0tLS0tLS0tCi1TaG91bGQgcmVjZWl2ZSBubyBj
b29raWVzLgotRGlkIG5vdCByZWNlaXZlIGNvb2tpZSBuYW1lZCAnZmlyc3RQYXJ0eUNvb2tpZScu
Ci1EaWQgbm90IHJlY2VpdmUgY29va2llIG5hbWVkICdwYXJ0aXRpb25lZENvb2tpZScuCi1DbGll
bnQtc2lkZSBkb2N1bWVudC5jb29raWU6Ci0KLS0tLS0tLS0tCi1GcmFtZTogJzwhLS1mcmFtZTQt
LT4nCi0tLS0tLS0tLQotUmVkaXJlY3QgY2FzZSAyLCBzaG91bGQgcmVjZWl2ZSBubyBjb29raWUu
Ci1EaWQgbm90IHJlY2VpdmUgY29va2llIG5hbWVkICdmaXJzdFBhcnR5Q29va2llJy4KLURpZCBu
b3QgcmVjZWl2ZSBjb29raWUgbmFtZWQgJ3BhcnRpdGlvbmVkQ29va2llJy4KLUNsaWVudC1zaWRl
IGRvY3VtZW50LmNvb2tpZToKLQotLS0tLS0tLS0KLUZyYW1lOiAnPCEtLWZyYW1lNS0tPicKLS0t
LS0tLS0tCi1UcnkgdG8gc2V0IHRoaXJkLXBhcnR5IGNvb2tpZSBpbiBibG9ja2VkIG1vZGUuCi0K
LQotLS0tLS0tLS0KLUZyYW1lOiAnPCEtLWZyYW1lNi0tPicKLS0tLS0tLS0tCi1BZnRlciBhdHRl
bXB0ZWQgY29va2llIGNyZWF0aW9uLCBzaG91bGQgcmVjZWl2ZSBubyBjb29raWUuCi1EaWQgbm90
IHJlY2VpdmUgY29va2llIG5hbWVkICdmaXJzdFBhcnR5Q29va2llJy4KLURpZCBub3QgcmVjZWl2
ZSBjb29raWUgbmFtZWQgJ3BhcnRpdGlvbmVkQ29va2llJy4KLUNsaWVudC1zaWRlIGRvY3VtZW50
LmNvb2tpZToKLQotLS0tLS0tLS0KLUZyYW1lOiAnPCEtLWZyYW1lNy0tPicKLS0tLS0tLS0tCi1S
ZWRpcmVjdCBjYXNlIDMsIGFmdGVyIGF0dGVtcHRlZCBjb29raWUgY3JlYXRpb24sIHNob3VsZCBy
ZWNlaXZlIG5vIGNvb2tpZS4KLURpZCBub3QgcmVjZWl2ZSBjb29raWUgbmFtZWQgJ2ZpcnN0UGFy
dHlDb29raWUnLgotRGlkIG5vdCByZWNlaXZlIGNvb2tpZSBuYW1lZCAncGFydGl0aW9uZWRDb29r
aWUnLgotQ2xpZW50LXNpZGUgZG9jdW1lbnQuY29va2llOgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2FkZC1ibG9ja2luZy10by1yZWRp
cmVjdC1kYXRhYmFzZS5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRT
dGF0aXN0aWNzL2FkZC1ibG9ja2luZy10by1yZWRpcmVjdC1kYXRhYmFzZS5odG1sCmRlbGV0ZWQg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAxZTc5NDA1Nzg4YzJlZTc1YmRhODNhODk3NTg5ZWI3OWM2
ZTdhNDdlLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xh
eW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9hZGQtYmxvY2tpbmct
dG8tcmVkaXJlY3QtZGF0YWJhc2UuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDEwNCArMCwwIEBA
Ci08IURPQ1RZUEUgaHRtbD4KLTxodG1sIGxhbmc9ImVuIj4KLTxoZWFkPgotICAgIDxtZXRhIGNo
YXJzZXQ9IlVURi04Ij4KLSAgICA8c2NyaXB0IHNyYz0iL2pzLXRlc3QtcmVzb3VyY2VzL2pzLXRl
c3QuanMiPjwvc2NyaXB0PgotICAgIDxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvdXRpbC5qcyI+PC9z
Y3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keT4KLTxzY3JpcHQ+Ci0gICAgZGVzY3JpcHRpb24oIlRlc3Rz
IHRoYXQgYmxvY2tpbmcgaXMgYWRkZWQgbWlkLWZsaWdodCBpbiByZWRpcmVjdHMuIik7Ci0gICAg
anNUZXN0SXNBc3luYyA9IHRydWU7Ci0KLSAgICBjb25zdCBwYXJ0aXRpb25Ib3N0ID0gIjEyNy4w
LjAuMTo4MDAwIjsKLSAgICBjb25zdCB0aGlyZFBhcnR5T3JpZ2luID0gImh0dHA6Ly9sb2NhbGhv
c3Q6ODAwMCI7Ci0gICAgY29uc3QgcmVzb3VyY2VQYXRoID0gIi9yZXNvdXJjZUxvYWRTdGF0aXN0
aWNzL3Jlc291cmNlcyI7Ci0gICAgY29uc3QgdGhpcmRQYXJ0eUJhc2VVcmwgPSB0aGlyZFBhcnR5
T3JpZ2luICsgcmVzb3VyY2VQYXRoOwotICAgIGNvbnN0IGZpcnN0UGFydHlDb29raWVOYW1lID0g
ImZpcnN0UGFydHlDb29raWUiOwotICAgIGNvbnN0IHN1YlBhdGhUb1NldEZpcnN0UGFydHlDb29r
aWUgPSAiL3NldC1jb29raWUucGhwP25hbWU9IiArIGZpcnN0UGFydHlDb29raWVOYW1lICsgIiZ2
YWx1ZT12YWx1ZSI7Ci0gICAgY29uc3QgcGFydGl0aW9uZWRDb29raWVOYW1lID0gInBhcnRpdGlv
bmVkQ29va2llIjsKLSAgICBjb25zdCBzdWJQYXRoVG9TZXRQYXJ0aXRpb25lZENvb2tpZSA9ICIv
c2V0LWNvb2tpZS5waHA/bmFtZT0iICsgcGFydGl0aW9uZWRDb29raWVOYW1lICsgIiZ2YWx1ZT12
YWx1ZSI7Ci0gICAgY29uc3QgcmV0dXJuVXJsID0gImh0dHA6Ly8iICsgcGFydGl0aW9uSG9zdCAr
ICIvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9hZGQtYmxvY2tpbmctdG8tcmVkaXJlY3QtZGF0YWJh
c2UuaHRtbCI7Ci0gICAgY29uc3Qgc3ViUGF0aFRvR2V0Q29va2llcyA9ICIvZ2V0LWNvb2tpZXMu
cGhwP25hbWUxPSIgKyBmaXJzdFBhcnR5Q29va2llTmFtZSArICImbmFtZTI9IiArIHBhcnRpdGlv
bmVkQ29va2llTmFtZTsKLSAgICBjb25zdCByZWRpcmVjdENoYWluVXJsID0gImh0dHA6Ly8iICsg
cGFydGl0aW9uSG9zdCArIHJlc291cmNlUGF0aCArICIvcmVkaXJlY3QucGhwP3JlZGlyZWN0VG89
IiArIHRoaXJkUGFydHlCYXNlVXJsICsgc3ViUGF0aFRvR2V0Q29va2llczsKLQotICAgIGZ1bmN0
aW9uIG9wZW5JZnJhbWUodXJsLCBvbkxvYWRIYW5kbGVyKSB7Ci0gICAgICAgIGNvbnN0IGVsZW1l
bnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJpZnJhbWUiKTsKLSAgICAgICAgZWxlbWVudC5z
cmMgPSB1cmw7Ci0gICAgICAgIGlmIChvbkxvYWRIYW5kbGVyKSB7Ci0gICAgICAgICAgICBlbGVt
ZW50Lm9ubG9hZCA9IG9uTG9hZEhhbmRsZXI7Ci0gICAgICAgIH0KLSAgICAgICAgZG9jdW1lbnQu
Ym9keS5hcHBlbmRDaGlsZChlbGVtZW50KTsKLSAgICB9Ci0KLSAgICBmdW5jdGlvbiBydW5UZXN0
KCkgewotICAgICAgICBzd2l0Y2ggKGRvY3VtZW50LmxvY2F0aW9uLmhhc2gpIHsKLSAgICAgICAg
ICAgIGNhc2UgIiNzdGVwMSI6Ci0gICAgICAgICAgICAgICAgLy8gU2V0IGZpcnN0LXBhcnR5IGNv
b2tpZSBmb3IgbG9jYWxob3N0LgotICAgICAgICAgICAgICAgIGRvY3VtZW50LmxvY2F0aW9uLmhy
ZWYgPSB0aGlyZFBhcnR5QmFzZVVybCArIHN1YlBhdGhUb1NldEZpcnN0UGFydHlDb29raWUgKyAi
IyIgKyByZXR1cm5VcmwgKyAiI3N0ZXAyIjsKLSAgICAgICAgICAgICAgICBicmVhazsKLSAgICAg
ICAgICAgIGNhc2UgIiNzdGVwMiI6Ci0gICAgICAgICAgICAgICAgLy8gQ2hlY2sgdGhhdCB0aGUg
Y29va2llIGdldHMgc2VudCBmb3IgbG9jYWxob3N0IHVuZGVyIDEyNy4wLjAuMSBzaW5jZSBsb2Nh
bGhvc3QgaXMgbm90IHByZXZhbGVudC4KLSAgICAgICAgICAgICAgICBkb2N1bWVudC5sb2NhdGlv
bi5oYXNoID0gInN0ZXAzIjsKLSAgICAgICAgICAgICAgICBvcGVuSWZyYW1lKHRoaXJkUGFydHlC
YXNlVXJsICsgc3ViUGF0aFRvR2V0Q29va2llcyArICImbWVzc2FnZT1TaG91bGQgcmVjZWl2ZSBm
aXJzdC1wYXJ0eSBjb29raWUuIiwgcnVuVGVzdCk7Ci0gICAgICAgICAgICAgICAgYnJlYWs7Ci0g
ICAgICAgICAgICBjYXNlICIjc3RlcDMiOgotICAgICAgICAgICAgICAgIGRvY3VtZW50LmxvY2F0
aW9uLmhhc2ggPSAic3RlcDQiOwotICAgICAgICAgICAgICAgIC8vIExvYWQgYW4gaWZyYW1lIGlu
IGEgcmVkaXJlY3QgY2hhaW4gdGhhdCBzdGFydHMgd2l0aCAxMjcuMC4wLjEgYW5kIGVuZHMgd2l0
aCBsb2NhbGhvc3QuIEV4cGVjdCBhIGNvb2tpZSBmb3IgbG9jYWxob3N0LgotICAgICAgICAgICAg
ICAgIG9wZW5JZnJhbWUocmVkaXJlY3RDaGFpblVybCArICImbWVzc2FnZT1SZWRpcmVjdCBjYXNl
IDEsIHNob3VsZCByZWNlaXZlIGZpcnN0LXBhcnR5IGNvb2tpZS4iLCBydW5UZXN0KTsKLSAgICAg
ICAgICAgICAgICBicmVhazsKLSAgICAgICAgICAgIGNhc2UgIiNzdGVwNCI6Ci0gICAgICAgICAg
ICAgICAgLy8gU2V0IGxvY2FsaG9zdCBhcyBwcmV2YWxlbnQgdG8gcHV0IGl0IGluIHRoZSBibG9j
a2luZyBjYXRlZ29yeS4KLSAgICAgICAgICAgICAgICBkb2N1bWVudC5sb2NhdGlvbi5oYXNoID0g
InN0ZXA1IjsKLSAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NQcmV2YWxl
bnRSZXNvdXJjZSh0aGlyZFBhcnR5T3JpZ2luLCB0cnVlLCBmdW5jdGlvbigpIHsKLSAgICAgICAg
ICAgICAgICAgICAgaWYgKCF0ZXN0UnVubmVyLmlzU3RhdGlzdGljc1ByZXZhbGVudFJlc291cmNl
KHRoaXJkUGFydHlPcmlnaW4pKQotICAgICAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZCgi
SG9zdCBkaWQgbm90IGdldCBzZXQgYXMgcHJldmFsZW50IHJlc291cmNlLiIpOwotICAgICAgICAg
ICAgICAgICAgICB0ZXN0UnVubmVyLnN0YXRpc3RpY3NVcGRhdGVDb29raWVCbG9ja2luZyhydW5U
ZXN0KTsKLSAgICAgICAgICAgICAgICB9KTsKLSAgICAgICAgICAgICAgICBicmVhazsKLSAgICAg
ICAgICAgIGNhc2UgIiNzdGVwNSI6Ci0gICAgICAgICAgICAgICAgLy8gQ2hlY2sgdGhhdCBubyBj
b29raWUgZ2V0cyBzZW50IGZvciBsb2NhbGhvc3QgdW5kZXIgMTI3LjAuMC4xIHNpbmNlIGxvY2Fs
aG9zdCdzIGNvb2tpZXMgYXJlIGJsb2NrZWQuCi0gICAgICAgICAgICAgICAgZG9jdW1lbnQubG9j
YXRpb24uaGFzaCA9ICJzdGVwNiI7Ci0gICAgICAgICAgICAgICAgb3BlbklmcmFtZSh0aGlyZFBh
cnR5QmFzZVVybCArIHN1YlBhdGhUb0dldENvb2tpZXMgKyAgIiZtZXNzYWdlPVNob3VsZCByZWNl
aXZlIG5vIGNvb2tpZXMuIiwgcnVuVGVzdCk7Ci0gICAgICAgICAgICAgICAgYnJlYWs7Ci0gICAg
ICAgICAgICBjYXNlICIjc3RlcDYiOgotICAgICAgICAgICAgICAgIC8vIExvYWQgYW4gaWZyYW1l
IGluIGEgcmVkaXJlY3QgY2hhaW4gdGhhdCBzdGFydHMgd2l0aCAxMjcuMC4wLjEgYW5kIGVuZHMg
d2l0aCBsb2NhbGhvc3QuIEV4cGVjdCBubyBjb29raWUgZm9yIGxvY2FsaG9zdC4KLSAgICAgICAg
ICAgICAgICBkb2N1bWVudC5sb2NhdGlvbi5oYXNoID0gInN0ZXA3IjsKLSAgICAgICAgICAgICAg
ICBvcGVuSWZyYW1lKHJlZGlyZWN0Q2hhaW5VcmwgKyAiJm1lc3NhZ2U9UmVkaXJlY3QgY2FzZSAy
LCBzaG91bGQgcmVjZWl2ZSBubyBjb29raWUuIiwgcnVuVGVzdCk7Ci0gICAgICAgICAgICAgICAg
YnJlYWs7Ci0gICAgICAgICAgICBjYXNlICIjc3RlcDciOgotICAgICAgICAgICAgICAgIC8vIFRy
eSB0byBzZXQgY29va2llIGZvciBsb2NhbGhvc3QgdW5kZXIgMTI3LjAuMC4xLgotICAgICAgICAg
ICAgICAgIGRvY3VtZW50LmxvY2F0aW9uLmhhc2ggPSAic3RlcDgiOwotICAgICAgICAgICAgICAg
IG9wZW5JZnJhbWUodGhpcmRQYXJ0eUJhc2VVcmwgKyBzdWJQYXRoVG9TZXRQYXJ0aXRpb25lZENv
b2tpZSArICImbWVzc2FnZT1UcnkgdG8gc2V0IHRoaXJkLXBhcnR5IGNvb2tpZSBpbiBibG9ja2Vk
IG1vZGUuIiwgcnVuVGVzdCk7Ci0gICAgICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgICAgICBj
YXNlICIjc3RlcDgiOgotICAgICAgICAgICAgICAgIC8vIENoZWNrIHRoYXQgbm8gY29va2llIGdl
dHMgc2VudCBmb3IgbG9jYWxob3N0IHVuZGVyIDEyNy4wLjAuMSBzaW5jZSBsb2NhbGhvc3QncyBj
b29raWVzIGFyZSBibG9ja2VkLgotICAgICAgICAgICAgICAgIGRvY3VtZW50LmxvY2F0aW9uLmhh
c2ggPSAic3RlcDkiOwotICAgICAgICAgICAgICAgIG9wZW5JZnJhbWUodGhpcmRQYXJ0eUJhc2VV
cmwgKyBzdWJQYXRoVG9HZXRDb29raWVzICsgICImbWVzc2FnZT1BZnRlciBhdHRlbXB0ZWQgY29v
a2llIGNyZWF0aW9uLCBzaG91bGQgcmVjZWl2ZSBubyBjb29raWUuIiwgcnVuVGVzdCk7Ci0gICAg
ICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgICAgICBjYXNlICIjc3RlcDkiOgotICAgICAgICAg
ICAgICAgIC8vIExvYWQgYW4gaWZyYW1lIGluIGEgcmVkaXJlY3QgY2hhaW4gdGhhdCBzdGFydHMg
d2l0aCAxMjcuMC4wLjEgYW5kIGVuZHMgd2l0aCBsb2NhbGhvc3QuIEV4cGVjdCBubyBjb29raWUg
Zm9yIGxvY2FsaG9zdC4KLSAgICAgICAgICAgICAgICBkb2N1bWVudC5sb2NhdGlvbi5oYXNoID0g
InN0ZXAxMCI7Ci0gICAgICAgICAgICAgICAgb3BlbklmcmFtZShyZWRpcmVjdENoYWluVXJsICsg
IiZtZXNzYWdlPVJlZGlyZWN0IGNhc2UgMywgYWZ0ZXIgYXR0ZW1wdGVkIGNvb2tpZSBjcmVhdGlv
biwgc2hvdWxkIHJlY2VpdmUgbm8gY29va2llLiIsIHJ1blRlc3QpOwotICAgICAgICAgICAgICAg
IGJyZWFrOwotICAgICAgICAgICAgY2FzZSAiI3N0ZXAxMCI6Ci0gICAgICAgICAgICAgICAgc2V0
RW5hYmxlRmVhdHVyZShmYWxzZSwgZmluaXNoSlNUZXN0KTsKLSAgICAgICAgICAgICAgICBicmVh
azsKLSAgICAgICAgfQotICAgIH0KLQotICAgIGlmIChkb2N1bWVudC5sb2NhdGlvbi5oYXNoID09
PSAiIikgewotICAgICAgICB0ZXN0UnVubmVyLnNldFVzZUlUUERhdGFiYXNlKHRydWUpOwotICAg
ICAgICBzZXRFbmFibGVGZWF0dXJlKHRydWUsIGZ1bmN0aW9uICgpIHsKLSAgICAgICAgICAgIGlm
ICh0ZXN0UnVubmVyLmlzU3RhdGlzdGljc1ByZXZhbGVudFJlc291cmNlKHRoaXJkUGFydHlPcmln
aW4pKQotICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoIkxvY2FsaG9zdCB3YXMgY2xhc3NpZmll
ZCBhcyBwcmV2YWxlbnQgcmVzb3VyY2UgYmVmb3JlIHRoZSB0ZXN0IHN0YXJ0cy4iKTsKLSAgICAg
ICAgICAgIHRlc3RSdW5uZXIuZHVtcENoaWxkRnJhbWVzQXNUZXh0KCk7Ci0gICAgICAgICAgICBk
b2N1bWVudC5sb2NhdGlvbi5oYXNoID0gInN0ZXAxIjsKLSAgICAgICAgICAgIHJ1blRlc3QoKTsK
LSAgICAgICAgfSk7Ci0gICAgfSBlbHNlIHsKLSAgICAgICAgcnVuVGVzdCgpOwotICAgIH0KLTwv
c2NyaXB0PgotPC9ib2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90
ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2FnZ3JlZ2F0ZS1zb3J0ZWQtZGF0YS1uby1zdG9y
YWdlLWFjY2Vzcy1kYXRhYmFzZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvYWdncmVnYXRlLXNvcnRlZC1kYXRhLW5vLXN0b3JhZ2Ut
YWNjZXNzLWRhdGFiYXNlLWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMWViZDQyYzgyNjFkMTQyYzRlNWE5MTNlZjUxNGIzMjYxYzc3NDg0NC4uMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvYWdncmVnYXRlLXNvcnRlZC1kYXRhLW5vLXN0b3JhZ2Ut
YWNjZXNzLWRhdGFiYXNlLWV4cGVjdGVkLnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDgzICswLDAg
QEAKLUNoZWNrIGNvcnJlY3QgVUkgZGF0YSBnZXRzIHJlcG9ydGVkIHdpdGggbm8gc3RvcmFnZSBh
Y2Nlc3MuCi0KLQotCi1SZXNvdXJjZSBsb2FkIHN0YXRpc3RpY3M6Ci0KLVJlZ2lzdHJhYmxlIGRv
bWFpbjogc3ViZnJhbWUxCi0gICAgaGFkVXNlckludGVyYWN0aW9uOiBObwotICAgIG1vc3RSZWNl
bnRVc2VySW50ZXJhY3Rpb246IC0xCi0gICAgZ3JhbmRmYXRoZXJlZDogTm8KLSAgICBJc1NjaGVk
dWxlZEZvckFsbEJ1dENvb2tpZURhdGFSZW1vdmFsOiBObwotICAgIFN1YmZyYW1lVW5kZXJUb3BG
cmFtZURvbWFpbnM6Ci0gICAgICAgIHRvcGZyYW1lMQotICAgIFN1YnJlc291cmNlVW5pcXVlUmVk
aXJlY3RzVG86Ci0gICAgICAgIHRvcGZyYW1lMgotICAgIGlzUHJldmFsZW50UmVzb3VyY2U6IFll
cwotICAgIGlzVmVyeVByZXZhbGVudFJlc291cmNlOiBObwotICAgIGRhdGFSZWNvcmRzUmVtb3Zl
ZDogMAotUmVnaXN0cmFibGUgZG9tYWluOiBzdWJmcmFtZTIKLSAgICBoYWRVc2VySW50ZXJhY3Rp
b246IE5vCi0gICAgbW9zdFJlY2VudFVzZXJJbnRlcmFjdGlvbjogLTEKLSAgICBncmFuZGZhdGhl
cmVkOiBObwotICAgIElzU2NoZWR1bGVkRm9yQWxsQnV0Q29va2llRGF0YVJlbW92YWw6IE5vCi0g
ICAgU3ViZnJhbWVVbmRlclRvcEZyYW1lRG9tYWluczoKLSAgICAgICAgdG9wZnJhbWUxCi0gICAg
aXNQcmV2YWxlbnRSZXNvdXJjZTogWWVzCi0gICAgaXNWZXJ5UHJldmFsZW50UmVzb3VyY2U6IE5v
Ci0gICAgZGF0YVJlY29yZHNSZW1vdmVkOiAwCi1SZWdpc3RyYWJsZSBkb21haW46IHN1YmZyYW1l
MwotICAgIGhhZFVzZXJJbnRlcmFjdGlvbjogTm8KLSAgICBtb3N0UmVjZW50VXNlckludGVyYWN0
aW9uOiAtMQotICAgIGdyYW5kZmF0aGVyZWQ6IE5vCi0gICAgSXNTY2hlZHVsZWRGb3JBbGxCdXRD
b29raWVEYXRhUmVtb3ZhbDogTm8KLSAgICBTdWJmcmFtZVVuZGVyVG9wRnJhbWVEb21haW5zOgot
ICAgICAgICB0b3BmcmFtZTEKLSAgICAgICAgdG9wZnJhbWU0Ci0gICAgU3VicmVzb3VyY2VVbmRl
clRvcEZyYW1lRG9tYWluczoKLSAgICAgICAgdG9wZnJhbWUzCi0gICAgU3VicmVzb3VyY2VVbmlx
dWVSZWRpcmVjdHNUbzoKLSAgICAgICAgdG9wZnJhbWUyCi0gICAgaXNQcmV2YWxlbnRSZXNvdXJj
ZTogWWVzCi0gICAgaXNWZXJ5UHJldmFsZW50UmVzb3VyY2U6IE5vCi0gICAgZGF0YVJlY29yZHNS
ZW1vdmVkOiAwCi1SZWdpc3RyYWJsZSBkb21haW46IHRvcGZyYW1lMQotICAgIGhhZFVzZXJJbnRl
cmFjdGlvbjogTm8KLSAgICBtb3N0UmVjZW50VXNlckludGVyYWN0aW9uOiAtMQotICAgIGdyYW5k
ZmF0aGVyZWQ6IE5vCi0gICAgSXNTY2hlZHVsZWRGb3JBbGxCdXRDb29raWVEYXRhUmVtb3ZhbDog
Tm8KLSAgICBpc1ByZXZhbGVudFJlc291cmNlOiBObwotICAgIGlzVmVyeVByZXZhbGVudFJlc291
cmNlOiBObwotICAgIGRhdGFSZWNvcmRzUmVtb3ZlZDogMAotUmVnaXN0cmFibGUgZG9tYWluOiB0
b3BmcmFtZTIKLSAgICBoYWRVc2VySW50ZXJhY3Rpb246IE5vCi0gICAgbW9zdFJlY2VudFVzZXJJ
bnRlcmFjdGlvbjogLTEKLSAgICBncmFuZGZhdGhlcmVkOiBObwotICAgIElzU2NoZWR1bGVkRm9y
QWxsQnV0Q29va2llRGF0YVJlbW92YWw6IE5vCi0gICAgaXNQcmV2YWxlbnRSZXNvdXJjZTogTm8K
LSAgICBpc1ZlcnlQcmV2YWxlbnRSZXNvdXJjZTogTm8KLSAgICBkYXRhUmVjb3Jkc1JlbW92ZWQ6
IDAKLVJlZ2lzdHJhYmxlIGRvbWFpbjogdG9wZnJhbWUzCi0gICAgaGFkVXNlckludGVyYWN0aW9u
OiBObwotICAgIG1vc3RSZWNlbnRVc2VySW50ZXJhY3Rpb246IC0xCi0gICAgZ3JhbmRmYXRoZXJl
ZDogTm8KLSAgICBJc1NjaGVkdWxlZEZvckFsbEJ1dENvb2tpZURhdGFSZW1vdmFsOiBObwotICAg
IGlzUHJldmFsZW50UmVzb3VyY2U6IE5vCi0gICAgaXNWZXJ5UHJldmFsZW50UmVzb3VyY2U6IE5v
Ci0gICAgZGF0YVJlY29yZHNSZW1vdmVkOiAwCi1SZWdpc3RyYWJsZSBkb21haW46IHRvcGZyYW1l
NAotICAgIGhhZFVzZXJJbnRlcmFjdGlvbjogTm8KLSAgICBtb3N0UmVjZW50VXNlckludGVyYWN0
aW9uOiAtMQotICAgIGdyYW5kZmF0aGVyZWQ6IE5vCi0gICAgSXNTY2hlZHVsZWRGb3JBbGxCdXRD
b29raWVEYXRhUmVtb3ZhbDogTm8KLSAgICBpc1ByZXZhbGVudFJlc291cmNlOiBObwotICAgIGlz
VmVyeVByZXZhbGVudFJlc291cmNlOiBObwotICAgIGRhdGFSZWNvcmRzUmVtb3ZlZDogMAotCi1J
VFAgRGF0YToKLVRoaXJkIFBhcnR5IFJlZ2lzdHJhYmxlIERvbWFpbjogc3ViZnJhbWUzCi0gICAg
e3sgSGFzIGJlZW4gZ3JhbnRlZCBzdG9yYWdlIGFjY2VzcyB1bmRlciB0b3BmcmFtZTE6IDA7IEhh
cyBiZWVuIHNlZW4gdW5kZXIgdG9wZnJhbWUxIGluIHRoZSBsYXN0IDI0IGhvdXJzOiAxIH0seyBI
YXMgYmVlbiBncmFudGVkIHN0b3JhZ2UgYWNjZXNzIHVuZGVyIHRvcGZyYW1lNDogMDsgSGFzIGJl
ZW4gc2VlbiB1bmRlciB0b3BmcmFtZTQgaW4gdGhlIGxhc3QgMjQgaG91cnM6IDEgfSx7IEhhcyBi
ZWVuIGdyYW50ZWQgc3RvcmFnZSBhY2Nlc3MgdW5kZXIgdG9wZnJhbWUzOiAwOyBIYXMgYmVlbiBz
ZWVuIHVuZGVyIHRvcGZyYW1lMyBpbiB0aGUgbGFzdCAyNCBob3VyczogMSB9LHsgSGFzIGJlZW4g
Z3JhbnRlZCBzdG9yYWdlIGFjY2VzcyB1bmRlciB0b3BmcmFtZTI6IDA7IEhhcyBiZWVuIHNlZW4g
dW5kZXIgdG9wZnJhbWUyIGluIHRoZSBsYXN0IDI0IGhvdXJzOiAxIH0sfQotVGhpcmQgUGFydHkg
UmVnaXN0cmFibGUgRG9tYWluOiBzdWJmcmFtZTEKLSAgICB7eyBIYXMgYmVlbiBncmFudGVkIHN0
b3JhZ2UgYWNjZXNzIHVuZGVyIHRvcGZyYW1lMTogMDsgSGFzIGJlZW4gc2VlbiB1bmRlciB0b3Bm
cmFtZTEgaW4gdGhlIGxhc3QgMjQgaG91cnM6IDEgfSx7IEhhcyBiZWVuIGdyYW50ZWQgc3RvcmFn
ZSBhY2Nlc3MgdW5kZXIgdG9wZnJhbWUyOiAwOyBIYXMgYmVlbiBzZWVuIHVuZGVyIHRvcGZyYW1l
MiBpbiB0aGUgbGFzdCAyNCBob3VyczogMSB9LH0KLVRoaXJkIFBhcnR5IFJlZ2lzdHJhYmxlIERv
bWFpbjogc3ViZnJhbWUyCi0gICAge3sgSGFzIGJlZW4gZ3JhbnRlZCBzdG9yYWdlIGFjY2VzcyB1
bmRlciB0b3BmcmFtZTE6IDA7IEhhcyBiZWVuIHNlZW4gdW5kZXIgdG9wZnJhbWUxIGluIHRoZSBs
YXN0IDI0IGhvdXJzOiAxIH0sfQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9y
ZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2FnZ3JlZ2F0ZS1zb3J0ZWQtZGF0YS1uby1zdG9yYWdlLWFj
Y2Vzcy1kYXRhYmFzZS5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRT
dGF0aXN0aWNzL2FnZ3JlZ2F0ZS1zb3J0ZWQtZGF0YS1uby1zdG9yYWdlLWFjY2Vzcy1kYXRhYmFz
ZS5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBhNzM2OTIxMWMzM2ZmZjY5MDdl
MGMwYzRkYzBhYzdkZTg4YzliYjU3Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGlj
cy9hZ2dyZWdhdGUtc29ydGVkLWRhdGEtbm8tc3RvcmFnZS1hY2Nlc3MtZGF0YWJhc2UuaHRtbAor
KysgL2Rldi9udWxsCkBAIC0xLDU5ICswLDAgQEAKLTwhRE9DVFlQRSBodG1sPgotPGh0bWw+Ci08
aGVhZD4KLSAgICA8c2NyaXB0IHNyYz0iL2Nvb2tpZXMvcmVzb3VyY2VzL2Nvb2tpZS11dGlsaXRp
ZXMuanMiPjwvc2NyaXB0PgotICAgIDxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvdXRpbC5qcyI+PC9z
Y3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keSBvbmxvYWQ9InNldFRpbWVvdXQoJ3J1blRlc3QoKScsIDAp
Ij4KLTxkaXYgaWQ9ImRlc2NyaXB0aW9uIj5DaGVjayBjb3JyZWN0IFVJIGRhdGEgZ2V0cyByZXBv
cnRlZCB3aXRoIG5vIHN0b3JhZ2UgYWNjZXNzLjwvZGl2PgotPGJyPgotPGRpdiBpZD0ib3V0cHV0
Ij48L2Rpdj4KLTxicj4KLTxzY3JpcHQ+Ci0gICAgdGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7
Ci0gICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7Ci0KLSAgICBmdW5jdGlvbiBmaW5pc2hUZXN0
KCkgewotICAgICAgICB0ZXN0UnVubmVyLmR1bXBSZXNvdXJjZUxvYWRTdGF0aXN0aWNzKCk7Ci0g
ICAgICAgIHNldEVuYWJsZUZlYXR1cmUoZmFsc2UsIGZ1bmN0aW9uKCkgewotICAgICAgICAgICAg
dGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7Ci0gICAgICAgIH0pOwotICAgIH0KLQotICAgIGNvbnN0
IHN1Yk9yaWdpbjEgPSAiaHR0cDovL3N1YmZyYW1lMTo4MDAwIjsKLSAgICBjb25zdCBzdWJPcmln
aW4yICA9ICJodHRwOi8vc3ViZnJhbWUyOjgwMDAiOwotICAgIGNvbnN0IHN1Yk9yaWdpbjMgID0g
Imh0dHA6Ly9zdWJmcmFtZTM6ODAwMCI7Ci0KLSAgICBjb25zdCB0b3BGcmFtZU9yaWdpbjEgPSAi
aHR0cDovL3RvcGZyYW1lMTo4MDAwIjsKLSAgICBjb25zdCB0b3BGcmFtZU9yaWdpbjIgPSAiaHR0
cDovL3RvcGZyYW1lMjo4MDAwIjsKLSAgICBjb25zdCB0b3BGcmFtZU9yaWdpbjMgPSAiaHR0cDov
L3RvcGZyYW1lMzo4MDAwIjsKLSAgICBjb25zdCB0b3BGcmFtZU9yaWdpbjQgPSAiaHR0cDovL3Rv
cGZyYW1lNDo4MDAwIjsKLQotICAgIGZ1bmN0aW9uIHJ1blRlc3QoKSB7Ci0gICAgICAgIHRlc3RS
dW5uZXIuc2V0VXNlSVRQRGF0YWJhc2UodHJ1ZSk7Ci0gICAgICAgIHNldEVuYWJsZUZlYXR1cmUo
dHJ1ZSwgZnVuY3Rpb24gKCkgewotICAgICAgICAgICAgdGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNz
UHJldmFsZW50UmVzb3VyY2Uoc3ViT3JpZ2luMSwgdHJ1ZSwgZnVuY3Rpb24gKCkgewotICAgICAg
ICAgICAgICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc1ByZXZhbGVudFJlc291cmNlKHN1Yk9y
aWdpbjIsIHRydWUsIGZ1bmN0aW9uICgpIHsKLSAgICAgICAgICAgICAgICAgICAgdGVzdFJ1bm5l
ci5zZXRTdGF0aXN0aWNzUHJldmFsZW50UmVzb3VyY2Uoc3ViT3JpZ2luMywgdHJ1ZSwgZnVuY3Rp
b24gKCkgewotICAgICAgICAgICAgICAgICAgICAgICAvLyBzdWJPcmlnaW4xIHdpbGwgYmUgbG9n
Z2VkIHVuZGVyIDIgdG9wIGZyYW1lcy4gU2hvdWxkIGFwcGVhciBzZWNvbmQKLSAgICAgICAgICAg
ICAgICAgICAgICAgdGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNzU3ViZnJhbWVVbmRlclRvcEZyYW1l
T3JpZ2luKHN1Yk9yaWdpbjEsIHRvcEZyYW1lT3JpZ2luMSk7Ci0gICAgICAgICAgICAgICAgICAg
ICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc1N1YnJlc291cmNlVW5pcXVlUmVkaXJlY3RUbyhz
dWJPcmlnaW4xLCB0b3BGcmFtZU9yaWdpbjIpOwotCi0gICAgICAgICAgICAgICAgICAgICAgIC8v
IHN1Yk9yaWdpbjIgd2lsbCBiZSBsb2dnZWQgdW5kZXIgMSB0b3AgZnJhbWUuIFNob3VsZCBhcHBl
YXIgdGhpcmQKLSAgICAgICAgICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNz
U3ViZnJhbWVVbmRlclRvcEZyYW1lT3JpZ2luKHN1Yk9yaWdpbjIsIHRvcEZyYW1lT3JpZ2luMSk7
Ci0KLSAgICAgICAgICAgICAgICAgICAgICAgLy8gc3ViT3JpZ2luMyB3aWxsIGJlIGxvZ2dlZCB1
bmRlciA0IHRvcCBmcmFtZXMuIFNob3VsZCBhcHBlYXIgZmlyc3QKLSAgICAgICAgICAgICAgICAg
ICAgICAgdGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNzU3ViZnJhbWVVbmRlclRvcEZyYW1lT3JpZ2lu
KHN1Yk9yaWdpbjMsIHRvcEZyYW1lT3JpZ2luMSk7Ci0gICAgICAgICAgICAgICAgICAgICAgIHRl
c3RSdW5uZXIuc2V0U3RhdGlzdGljc1N1YnJlc291cmNlVW5pcXVlUmVkaXJlY3RUbyhzdWJPcmln
aW4zLCB0b3BGcmFtZU9yaWdpbjIpOwotICAgICAgICAgICAgICAgICAgICAgICB0ZXN0UnVubmVy
LnNldFN0YXRpc3RpY3NTdWJyZXNvdXJjZVVuZGVyVG9wRnJhbWVPcmlnaW4oc3ViT3JpZ2luMywg
dG9wRnJhbWVPcmlnaW4zKTsKLSAgICAgICAgICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5zZXRT
dGF0aXN0aWNzU3ViZnJhbWVVbmRlclRvcEZyYW1lT3JpZ2luKHN1Yk9yaWdpbjMsIHRvcEZyYW1l
T3JpZ2luNCk7Ci0KLSAgICAgICAgICAgICAgICAgICAgICAgc2V0VGltZW91dChmdW5jdGlvbiAo
KSB7IGZpbmlzaFRlc3QoKSB9LCA1MDApOwotICAgICAgICAgICAgICAgICAgICB9KTsKLSAgICAg
ICAgICAgICAgICB9KTsKLSAgICAgICAgICAgIH0pOwotICAgICAgICB9KTsKLSAgICB9Ci08L3Nj
cmlwdD4KLTwvYm9keT4KLTwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVz
dHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9hZ2dyZWdhdGUtc29ydGVkLWRhdGEtbm8tc3RvcmFn
ZS1hY2Nlc3MtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxv
YWRTdGF0aXN0aWNzL2FnZ3JlZ2F0ZS1zb3J0ZWQtZGF0YS1uby1zdG9yYWdlLWFjY2Vzcy1leHBl
Y3RlZC50eHQKaW5kZXggZGRjZTY4OWMxMjIzYjkzYjAyYWIwNmQ5NDMzYTRmMGUwZTBkMmIyZC4u
Njc0ZDRjMjgyMmJiZmU0NWQ0MjI3NzljZmU4NjQ3Y2Y1MWU1ZDQwZiAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2FnZ3JlZ2F0ZS1zb3J0
ZWQtZGF0YS1uby1zdG9yYWdlLWFjY2Vzcy1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMv
aHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2FnZ3JlZ2F0ZS1zb3J0ZWQtZGF0YS1u
by1zdG9yYWdlLWFjY2Vzcy1leHBlY3RlZC50eHQKQEAgLTgsOTAgKzgsNzYgQEAgUmVnaXN0cmFi
bGUgZG9tYWluOiBzdWJmcmFtZTEKICAgICBoYWRVc2VySW50ZXJhY3Rpb246IE5vCiAgICAgbW9z
dFJlY2VudFVzZXJJbnRlcmFjdGlvbjogLTEKICAgICBncmFuZGZhdGhlcmVkOiBObwotICAgIGdv
dExpbmtEZWNvcmF0aW9uRnJvbVByZXZhbGVudFJlc291cmNlOiBObwotICAgIHN1YmZyYW1lVW5k
ZXJUb3BGcmFtZURvbWFpbnM6CisgICAgSXNTY2hlZHVsZWRGb3JBbGxCdXRDb29raWVEYXRhUmVt
b3ZhbDogTm8KKyAgICBTdWJmcmFtZVVuZGVyVG9wRnJhbWVEb21haW5zOgogICAgICAgICB0b3Bm
cmFtZTEKLSAgICBzdWJyZXNvdXJjZVVuaXF1ZVJlZGlyZWN0c1RvOgorICAgIFN1YnJlc291cmNl
VW5pcXVlUmVkaXJlY3RzVG86CiAgICAgICAgIHRvcGZyYW1lMgogICAgIGlzUHJldmFsZW50UmVz
b3VyY2U6IFllcwogICAgIGlzVmVyeVByZXZhbGVudFJlc291cmNlOiBObwogICAgIGRhdGFSZWNv
cmRzUmVtb3ZlZDogMAotICAgIGNhbnZhc1JlYWREYXRhOiBObwotCiBSZWdpc3RyYWJsZSBkb21h
aW46IHN1YmZyYW1lMgogICAgIGhhZFVzZXJJbnRlcmFjdGlvbjogTm8KICAgICBtb3N0UmVjZW50
VXNlckludGVyYWN0aW9uOiAtMQogICAgIGdyYW5kZmF0aGVyZWQ6IE5vCi0gICAgZ290TGlua0Rl
Y29yYXRpb25Gcm9tUHJldmFsZW50UmVzb3VyY2U6IE5vCi0gICAgc3ViZnJhbWVVbmRlclRvcEZy
YW1lRG9tYWluczoKKyAgICBJc1NjaGVkdWxlZEZvckFsbEJ1dENvb2tpZURhdGFSZW1vdmFsOiBO
bworICAgIFN1YmZyYW1lVW5kZXJUb3BGcmFtZURvbWFpbnM6CiAgICAgICAgIHRvcGZyYW1lMQog
ICAgIGlzUHJldmFsZW50UmVzb3VyY2U6IFllcwogICAgIGlzVmVyeVByZXZhbGVudFJlc291cmNl
OiBObwogICAgIGRhdGFSZWNvcmRzUmVtb3ZlZDogMAotICAgIGNhbnZhc1JlYWREYXRhOiBObwot
CiBSZWdpc3RyYWJsZSBkb21haW46IHN1YmZyYW1lMwogICAgIGhhZFVzZXJJbnRlcmFjdGlvbjog
Tm8KICAgICBtb3N0UmVjZW50VXNlckludGVyYWN0aW9uOiAtMQogICAgIGdyYW5kZmF0aGVyZWQ6
IE5vCi0gICAgZ290TGlua0RlY29yYXRpb25Gcm9tUHJldmFsZW50UmVzb3VyY2U6IE5vCi0gICAg
c3ViZnJhbWVVbmRlclRvcEZyYW1lRG9tYWluczoKKyAgICBJc1NjaGVkdWxlZEZvckFsbEJ1dENv
b2tpZURhdGFSZW1vdmFsOiBObworICAgIFN1YmZyYW1lVW5kZXJUb3BGcmFtZURvbWFpbnM6CiAg
ICAgICAgIHRvcGZyYW1lMQogICAgICAgICB0b3BmcmFtZTQKLSAgICBzdWJyZXNvdXJjZVVuZGVy
VG9wRnJhbWVEb21haW5zOgorICAgIFN1YnJlc291cmNlVW5kZXJUb3BGcmFtZURvbWFpbnM6CiAg
ICAgICAgIHRvcGZyYW1lMwotICAgIHN1YnJlc291cmNlVW5pcXVlUmVkaXJlY3RzVG86CisgICAg
U3VicmVzb3VyY2VVbmlxdWVSZWRpcmVjdHNUbzoKICAgICAgICAgdG9wZnJhbWUyCiAgICAgaXNQ
cmV2YWxlbnRSZXNvdXJjZTogWWVzCiAgICAgaXNWZXJ5UHJldmFsZW50UmVzb3VyY2U6IE5vCiAg
ICAgZGF0YVJlY29yZHNSZW1vdmVkOiAwCi0gICAgY2FudmFzUmVhZERhdGE6IE5vCi0KIFJlZ2lz
dHJhYmxlIGRvbWFpbjogdG9wZnJhbWUxCiAgICAgaGFkVXNlckludGVyYWN0aW9uOiBObwogICAg
IG1vc3RSZWNlbnRVc2VySW50ZXJhY3Rpb246IC0xCiAgICAgZ3JhbmRmYXRoZXJlZDogTm8KLSAg
ICBnb3RMaW5rRGVjb3JhdGlvbkZyb21QcmV2YWxlbnRSZXNvdXJjZTogTm8KKyAgICBJc1NjaGVk
dWxlZEZvckFsbEJ1dENvb2tpZURhdGFSZW1vdmFsOiBObwogICAgIGlzUHJldmFsZW50UmVzb3Vy
Y2U6IE5vCiAgICAgaXNWZXJ5UHJldmFsZW50UmVzb3VyY2U6IE5vCiAgICAgZGF0YVJlY29yZHNS
ZW1vdmVkOiAwCi0gICAgY2FudmFzUmVhZERhdGE6IE5vCi0KIFJlZ2lzdHJhYmxlIGRvbWFpbjog
dG9wZnJhbWUyCiAgICAgaGFkVXNlckludGVyYWN0aW9uOiBObwogICAgIG1vc3RSZWNlbnRVc2Vy
SW50ZXJhY3Rpb246IC0xCiAgICAgZ3JhbmRmYXRoZXJlZDogTm8KLSAgICBnb3RMaW5rRGVjb3Jh
dGlvbkZyb21QcmV2YWxlbnRSZXNvdXJjZTogTm8KKyAgICBJc1NjaGVkdWxlZEZvckFsbEJ1dENv
b2tpZURhdGFSZW1vdmFsOiBObwogICAgIGlzUHJldmFsZW50UmVzb3VyY2U6IE5vCiAgICAgaXNW
ZXJ5UHJldmFsZW50UmVzb3VyY2U6IE5vCiAgICAgZGF0YVJlY29yZHNSZW1vdmVkOiAwCi0gICAg
Y2FudmFzUmVhZERhdGE6IE5vCi0KIFJlZ2lzdHJhYmxlIGRvbWFpbjogdG9wZnJhbWUzCiAgICAg
aGFkVXNlckludGVyYWN0aW9uOiBObwogICAgIG1vc3RSZWNlbnRVc2VySW50ZXJhY3Rpb246IC0x
CiAgICAgZ3JhbmRmYXRoZXJlZDogTm8KLSAgICBnb3RMaW5rRGVjb3JhdGlvbkZyb21QcmV2YWxl
bnRSZXNvdXJjZTogTm8KKyAgICBJc1NjaGVkdWxlZEZvckFsbEJ1dENvb2tpZURhdGFSZW1vdmFs
OiBObwogICAgIGlzUHJldmFsZW50UmVzb3VyY2U6IE5vCiAgICAgaXNWZXJ5UHJldmFsZW50UmVz
b3VyY2U6IE5vCiAgICAgZGF0YVJlY29yZHNSZW1vdmVkOiAwCi0gICAgY2FudmFzUmVhZERhdGE6
IE5vCi0KIFJlZ2lzdHJhYmxlIGRvbWFpbjogdG9wZnJhbWU0CiAgICAgaGFkVXNlckludGVyYWN0
aW9uOiBObwogICAgIG1vc3RSZWNlbnRVc2VySW50ZXJhY3Rpb246IC0xCiAgICAgZ3JhbmRmYXRo
ZXJlZDogTm8KLSAgICBnb3RMaW5rRGVjb3JhdGlvbkZyb21QcmV2YWxlbnRSZXNvdXJjZTogTm8K
KyAgICBJc1NjaGVkdWxlZEZvckFsbEJ1dENvb2tpZURhdGFSZW1vdmFsOiBObwogICAgIGlzUHJl
dmFsZW50UmVzb3VyY2U6IE5vCiAgICAgaXNWZXJ5UHJldmFsZW50UmVzb3VyY2U6IE5vCiAgICAg
ZGF0YVJlY29yZHNSZW1vdmVkOiAwCi0gICAgY2FudmFzUmVhZERhdGE6IE5vCi0KIAogSVRQIERh
dGE6CiBUaGlyZCBQYXJ0eSBSZWdpc3RyYWJsZSBEb21haW46IHN1YmZyYW1lMwotICAgIHt7IEhh
cyBiZWVuIGdyYW50ZWQgc3RvcmFnZSBhY2Nlc3MgdW5kZXIgdG9wZnJhbWUxOiAwOyBIYXMgYmVl
biBzZWVuIHVuZGVyIHRvcGZyYW1lMSBpbiB0aGUgbGFzdCAyNCBob3VyczogMCB9LHsgSGFzIGJl
ZW4gZ3JhbnRlZCBzdG9yYWdlIGFjY2VzcyB1bmRlciB0b3BmcmFtZTQ6IDA7IEhhcyBiZWVuIHNl
ZW4gdW5kZXIgdG9wZnJhbWU0IGluIHRoZSBsYXN0IDI0IGhvdXJzOiAwIH0seyBIYXMgYmVlbiBn
cmFudGVkIHN0b3JhZ2UgYWNjZXNzIHVuZGVyIHRvcGZyYW1lMzogMDsgSGFzIGJlZW4gc2VlbiB1
bmRlciB0b3BmcmFtZTMgaW4gdGhlIGxhc3QgMjQgaG91cnM6IDAgfSx7IEhhcyBiZWVuIGdyYW50
ZWQgc3RvcmFnZSBhY2Nlc3MgdW5kZXIgdG9wZnJhbWUyOiAwOyBIYXMgYmVlbiBzZWVuIHVuZGVy
IHRvcGZyYW1lMiBpbiB0aGUgbGFzdCAyNCBob3VyczogMCB9LH0KKyAgICB7eyBIYXMgYmVlbiBn
cmFudGVkIHN0b3JhZ2UgYWNjZXNzIHVuZGVyIHRvcGZyYW1lMTogMDsgSGFzIGJlZW4gc2VlbiB1
bmRlciB0b3BmcmFtZTEgaW4gdGhlIGxhc3QgMjQgaG91cnM6IDEgfSx7IEhhcyBiZWVuIGdyYW50
ZWQgc3RvcmFnZSBhY2Nlc3MgdW5kZXIgdG9wZnJhbWU0OiAwOyBIYXMgYmVlbiBzZWVuIHVuZGVy
IHRvcGZyYW1lNCBpbiB0aGUgbGFzdCAyNCBob3VyczogMSB9LHsgSGFzIGJlZW4gZ3JhbnRlZCBz
dG9yYWdlIGFjY2VzcyB1bmRlciB0b3BmcmFtZTM6IDA7IEhhcyBiZWVuIHNlZW4gdW5kZXIgdG9w
ZnJhbWUzIGluIHRoZSBsYXN0IDI0IGhvdXJzOiAxIH0seyBIYXMgYmVlbiBncmFudGVkIHN0b3Jh
Z2UgYWNjZXNzIHVuZGVyIHRvcGZyYW1lMjogMDsgSGFzIGJlZW4gc2VlbiB1bmRlciB0b3BmcmFt
ZTIgaW4gdGhlIGxhc3QgMjQgaG91cnM6IDEgfSx9CiBUaGlyZCBQYXJ0eSBSZWdpc3RyYWJsZSBE
b21haW46IHN1YmZyYW1lMQotICAgIHt7IEhhcyBiZWVuIGdyYW50ZWQgc3RvcmFnZSBhY2Nlc3Mg
dW5kZXIgdG9wZnJhbWUxOiAwOyBIYXMgYmVlbiBzZWVuIHVuZGVyIHRvcGZyYW1lMSBpbiB0aGUg
bGFzdCAyNCBob3VyczogMCB9LHsgSGFzIGJlZW4gZ3JhbnRlZCBzdG9yYWdlIGFjY2VzcyB1bmRl
ciB0b3BmcmFtZTI6IDA7IEhhcyBiZWVuIHNlZW4gdW5kZXIgdG9wZnJhbWUyIGluIHRoZSBsYXN0
IDI0IGhvdXJzOiAwIH0sfQorICAgIHt7IEhhcyBiZWVuIGdyYW50ZWQgc3RvcmFnZSBhY2Nlc3Mg
dW5kZXIgdG9wZnJhbWUxOiAwOyBIYXMgYmVlbiBzZWVuIHVuZGVyIHRvcGZyYW1lMSBpbiB0aGUg
bGFzdCAyNCBob3VyczogMSB9LHsgSGFzIGJlZW4gZ3JhbnRlZCBzdG9yYWdlIGFjY2VzcyB1bmRl
ciB0b3BmcmFtZTI6IDA7IEhhcyBiZWVuIHNlZW4gdW5kZXIgdG9wZnJhbWUyIGluIHRoZSBsYXN0
IDI0IGhvdXJzOiAxIH0sfQogVGhpcmQgUGFydHkgUmVnaXN0cmFibGUgRG9tYWluOiBzdWJmcmFt
ZTIKLSAgICB7eyBIYXMgYmVlbiBncmFudGVkIHN0b3JhZ2UgYWNjZXNzIHVuZGVyIHRvcGZyYW1l
MTogMDsgSGFzIGJlZW4gc2VlbiB1bmRlciB0b3BmcmFtZTEgaW4gdGhlIGxhc3QgMjQgaG91cnM6
IDAgfSx9CisgICAge3sgSGFzIGJlZW4gZ3JhbnRlZCBzdG9yYWdlIGFjY2VzcyB1bmRlciB0b3Bm
cmFtZTE6IDA7IEhhcyBiZWVuIHNlZW4gdW5kZXIgdG9wZnJhbWUxIGluIHRoZSBsYXN0IDI0IGhv
dXJzOiAxIH0sfQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxv
YWRTdGF0aXN0aWNzL2Jsb2NraW5nLWluLXdlYi13b3JrZXItc2NyaXB0LWltcG9ydC1kYXRhYmFz
ZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRp
c3RpY3MvYmxvY2tpbmctaW4td2ViLXdvcmtlci1zY3JpcHQtaW1wb3J0LWRhdGFiYXNlLWV4cGVj
dGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggOWNiNzk5NDNlZDhiNDlhODQx
YmQxMjliM2Y1YWNhNmUyYTNiMjFiYy4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3Rp
Y3MvYmxvY2tpbmctaW4td2ViLXdvcmtlci1zY3JpcHQtaW1wb3J0LWRhdGFiYXNlLWV4cGVjdGVk
LnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDE4ICswLDAgQEAKLVRlc3QgZm9yIGNvb2tpZSBibG9j
a2luZyB3aGVuIHdlYiB3b3JrZXJzIGltcG9ydCBjcm9zcy1zaXRlIHNjcmlwdHMuCi0KLU9uIHN1
Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2Vk
IGJ5ICJURVNUIENPTVBMRVRFIi4KLQotCi1QQVNTIERpZCByZWNlaXZlIGZpcnN0UGFydHlDb29r
aWUgPT0gdmFsdWUKLVBBU1MgRGlkIG5vdCByZWNlaXZlIGNvb2tpZSBuYW1lZCBmaXJzdFBhcnR5
Q29va2llCi1QQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCi0KLVRFU1QgQ09NUExFVEUK
LQotCi0tLS0tLS0tLQotRnJhbWU6ICc8IS0tZnJhbWUxLS0+JwotLS0tLS0tLS0KLVNob3VsZCBy
ZWNlaXZlIGZpcnN0LXBhcnR5IGNvb2tpZS4KLVJlY2VpdmVkIGNvb2tpZSBuYW1lZCAnZmlyc3RQ
YXJ0eUNvb2tpZScuCi1DbGllbnQtc2lkZSBkb2N1bWVudC5jb29raWU6IGZpcnN0UGFydHlDb29r
aWU9dmFsdWUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2Fk
U3RhdGlzdGljcy9ibG9ja2luZy1pbi13ZWItd29ya2VyLXNjcmlwdC1pbXBvcnQtZGF0YWJhc2Uu
aHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9ibG9j
a2luZy1pbi13ZWItd29ya2VyLXNjcmlwdC1pbXBvcnQtZGF0YWJhc2UuaHRtbApkZWxldGVkIGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggZGQwMTRkOGQwZmIwNzlmMzgwMTkyZWY5MTg4MzdjZTBjOWRk
NjFkMy4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvYmxvY2tpbmctaW4td2Vi
LXdvcmtlci1zY3JpcHQtaW1wb3J0LWRhdGFiYXNlLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSw4
OCArMCwwIEBACi08IURPQ1RZUEUgaHRtbD4KLTxodG1sIGxhbmc9ImVuIj4KLTxoZWFkPgotICAg
IDxzY3JpcHQgc3JjPSIvanMtdGVzdC1yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+Ci0g
ICAgPHNjcmlwdCBzcmM9InJlc291cmNlcy91dGlsLmpzIj48L3NjcmlwdD4KLTwvaGVhZD4KLTxi
b2R5PgotPHNjcmlwdD4KLSAgICBkZXNjcmlwdGlvbigiVGVzdCBmb3IgY29va2llIGJsb2NraW5n
IHdoZW4gd2ViIHdvcmtlcnMgaW1wb3J0IGNyb3NzLXNpdGUgc2NyaXB0cy4iKTsKLSAgICBqc1Rl
c3RJc0FzeW5jID0gdHJ1ZTsKLQotICAgIGNvbnN0IHBhcnRpdGlvbkhvc3QgPSAiMTI3LjAuMC4x
OjgwMDAiOwotICAgIGNvbnN0IHRoaXJkUGFydHlPcmlnaW4gPSAiaHR0cDovL2xvY2FsaG9zdDo4
MDAwIjsKLSAgICBjb25zdCB0aGlyZFBhcnR5QmFzZVVybCA9IHRoaXJkUGFydHlPcmlnaW4gKyAi
L3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvcmVzb3VyY2VzIjsKLSAgICBjb25zdCBmaXJzdFBhcnR5
Q29va2llTmFtZSA9ICJmaXJzdFBhcnR5Q29va2llIjsKLSAgICBjb25zdCBzdWJQYXRoVG9TZXRG
aXJzdFBhcnR5Q29va2llID0gIi9zZXQtY29va2llLnBocD9uYW1lPSIgKyBmaXJzdFBhcnR5Q29v
a2llTmFtZSArICImdmFsdWU9dmFsdWUiOwotICAgIGNvbnN0IHJldHVyblVybCA9ICJodHRwOi8v
MTI3LjAuMC4xOjgwMDAvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9ibG9ja2luZy1pbi13ZWItd29y
a2VyLXNjcmlwdC1pbXBvcnQtZGF0YWJhc2UuaHRtbCI7Ci0gICAgY29uc3Qgc3ViUGF0aFRvR2V0
Q29va2llcyA9ICIvZ2V0LWNvb2tpZXMucGhwP25hbWUxPSIgKyBmaXJzdFBhcnR5Q29va2llTmFt
ZTsKLQotICAgIGZ1bmN0aW9uIG9wZW5JZnJhbWUodXJsLCBvbkxvYWRIYW5kbGVyKSB7Ci0gICAg
ICAgIGNvbnN0IGVsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJpZnJhbWUiKTsKLSAg
ICAgICAgZWxlbWVudC5zcmMgPSB1cmw7Ci0gICAgICAgIGlmIChvbkxvYWRIYW5kbGVyKSB7Ci0g
ICAgICAgICAgICBlbGVtZW50Lm9ubG9hZCA9IG9uTG9hZEhhbmRsZXI7Ci0gICAgICAgIH0KLSAg
ICAgICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChlbGVtZW50KTsKLSAgICB9Ci0KLSAgICBs
ZXQgcmVjZWl2ZWRNZXNzYWdlcyA9IDA7Ci0gICAgZnVuY3Rpb24gcmVjZWl2ZU1lc3NhZ2UoZXZl
bnQpIHsKLSAgICAgICAgaWYgKGV2ZW50LmRhdGEuaW5kZXhPZigiUEFTUyIpID09PSAtMSkKLSAg
ICAgICAgICAgIHRlc3RGYWlsZWQoZXZlbnQuZGF0YS5yZXBsYWNlKCJGQUlMICIsICIiKSk7Ci0g
ICAgICAgIGVsc2UKLSAgICAgICAgICAgIHRlc3RQYXNzZWQoZXZlbnQuZGF0YS5yZXBsYWNlKCJQ
QVNTICIsICIiKSk7Ci0KLSAgICAgICAgKytyZWNlaXZlZE1lc3NhZ2VzOwotICAgICAgICBpZiAo
cmVjZWl2ZWRNZXNzYWdlcyA+PSAyKSB7Ci0gICAgICAgICAgICBzZXRFbmFibGVGZWF0dXJlKGZh
bHNlLCBmaW5pc2hKU1Rlc3QpOwotICAgICAgICB9IGVsc2UKLSAgICAgICAgICAgIHJ1blRlc3Qo
KTsKLSAgICB9Ci0KLSAgICBmdW5jdGlvbiBydW5UZXN0KCkgewotICAgICAgICBzd2l0Y2ggKGRv
Y3VtZW50LmxvY2F0aW9uLmhhc2gpIHsKLSAgICAgICAgICAgIGNhc2UgIiNzdGVwMSI6Ci0gICAg
ICAgICAgICAgICAgZG9jdW1lbnQubG9jYXRpb24uaHJlZiA9IHRoaXJkUGFydHlCYXNlVXJsICsg
c3ViUGF0aFRvU2V0Rmlyc3RQYXJ0eUNvb2tpZSArICIjIiArIHJldHVyblVybCArICIjc3RlcDIi
OwotICAgICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICAgICAgY2FzZSAiI3N0ZXAyIjoKLSAg
ICAgICAgICAgICAgICBkb2N1bWVudC5sb2NhdGlvbi5oYXNoID0gInN0ZXAzIjsKLSAgICAgICAg
ICAgICAgICBvcGVuSWZyYW1lKHRoaXJkUGFydHlCYXNlVXJsICsgc3ViUGF0aFRvR2V0Q29va2ll
cyArICImbWVzc2FnZT1TaG91bGQgcmVjZWl2ZSBmaXJzdC1wYXJ0eSBjb29raWUuIiwgcnVuVGVz
dCk7Ci0gICAgICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgICAgICBjYXNlICIjc3RlcDMiOgot
ICAgICAgICAgICAgICAgIGRvY3VtZW50LmxvY2F0aW9uLmhhc2ggPSAic3RlcDQiOwotICAgICAg
ICAgICAgICAgIGxldCB3MSA9IG5ldyBXb3JrZXIoInJlc291cmNlcy93b3JrZXItaW1wb3J0aW5n
LWxvY2FsaG9zdC1zY3JpcHQuanMiKTsKLSAgICAgICAgICAgICAgICB3MS5vbm1lc3NhZ2UgPSBy
ZWNlaXZlTWVzc2FnZTsKLSAgICAgICAgICAgICAgICB3MS5wb3N0TWVzc2FnZSgic2hvdWxkUmVj
ZWl2ZUNvb2tpZXM9dHJ1ZSIpOwotICAgICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICAgICAg
Y2FzZSAiI3N0ZXA0IjoKLSAgICAgICAgICAgICAgICBkb2N1bWVudC5sb2NhdGlvbi5oYXNoID0g
InN0ZXA1IjsKLSAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NQcmV2YWxl
bnRSZXNvdXJjZSh0aGlyZFBhcnR5T3JpZ2luLCB0cnVlLCBmdW5jdGlvbigpIHsKLSAgICAgICAg
ICAgICAgICAgICAgaWYgKCF0ZXN0UnVubmVyLmlzU3RhdGlzdGljc1ByZXZhbGVudFJlc291cmNl
KHRoaXJkUGFydHlPcmlnaW4pKQotICAgICAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZCgi
SG9zdCBkaWQgbm90IGdldCBzZXQgYXMgcHJldmFsZW50IHJlc291cmNlLiIpOwotICAgICAgICAg
ICAgICAgICAgICB0ZXN0UnVubmVyLnN0YXRpc3RpY3NVcGRhdGVDb29raWVCbG9ja2luZyhydW5U
ZXN0KTsKLSAgICAgICAgICAgICAgICB9KTsKLSAgICAgICAgICAgICAgICBicmVhazsKLSAgICAg
ICAgICAgIGNhc2UgIiNzdGVwNSI6Ci0gICAgICAgICAgICAgICAgbGV0IHcyID0gbmV3IFdvcmtl
cigicmVzb3VyY2VzL3dvcmtlci1pbXBvcnRpbmctbG9jYWxob3N0LXNjcmlwdC5qcyIpOwotICAg
ICAgICAgICAgICAgIHcyLm9ubWVzc2FnZSA9IHJlY2VpdmVNZXNzYWdlOwotICAgICAgICAgICAg
ICAgIHcyLnBvc3RNZXNzYWdlKCJzaG91bGROb3RSZWNlaXZlQ29va2llcyIpOwotICAgICAgICAg
ICAgICAgIGJyZWFrOwotICAgICAgICB9Ci0gICAgfQotCi0gICAgaWYgKGRvY3VtZW50LmxvY2F0
aW9uLmhvc3QgPT09IHBhcnRpdGlvbkhvc3QgJiYgZG9jdW1lbnQubG9jYXRpb24uaGFzaCA9PT0g
IiIgJiYgd2luZG93LnRlc3RSdW5uZXIgJiYgd2luZG93LmludGVybmFscykgewotICAgICAgICB0
ZXN0UnVubmVyLnNldFVzZUlUUERhdGFiYXNlKHRydWUpOwotICAgICAgICBzZXRFbmFibGVGZWF0
dXJlKHRydWUsIGZ1bmN0aW9uKCkgewotICAgICAgICAgICAgZG9jdW1lbnQubG9jYXRpb24uaGFz
aCA9ICJzdGVwMSI7Ci0gICAgICAgICAgICB0ZXN0UnVubmVyLmR1bXBDaGlsZEZyYW1lc0FzVGV4
dCgpOwotICAgICAgICAgICAgaWYgKHRlc3RSdW5uZXIuaXNTdGF0aXN0aWNzUHJldmFsZW50UmVz
b3VyY2UodGhpcmRQYXJ0eU9yaWdpbikpCi0gICAgICAgICAgICAgICAgdGVzdEZhaWxlZCgiTG9j
YWxob3N0IHdhcyBjbGFzc2lmaWVkIGFzIHByZXZhbGVudCByZXNvdXJjZSBiZWZvcmUgdGhlIHRl
c3Qgc3RhcnRzLiIpOwotICAgICAgICAgICAgcnVuVGVzdCgpOwotICAgICAgICB9KTsKLSAgICB9
IGVsc2UgewotICAgICAgICBydW5UZXN0KCk7Ci0gICAgfQotPC9zY3JpcHQ+Ci08L2JvZHk+Ci08
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0
YXRpc3RpY3MvY2FwLWNhY2hlLW1heC1hZ2UtZm9yLXByZXZhbGVudC1yZXNvdXJjZS1kYXRhYmFz
ZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRp
c3RpY3MvY2FwLWNhY2hlLW1heC1hZ2UtZm9yLXByZXZhbGVudC1yZXNvdXJjZS1kYXRhYmFzZS1l
eHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDBjY2U1YWExYzM2YTk0
ZDU1MGJkZTIyOWFkZTQ0NmZmODM1NWMxY2IuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0
aXN0aWNzL2NhcC1jYWNoZS1tYXgtYWdlLWZvci1wcmV2YWxlbnQtcmVzb3VyY2UtZGF0YWJhc2Ut
ZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEsMTQgKzAsMCBAQAotVGVzdHMgdGhhdCBj
YWNoZSBtYXgtYWdlIGlzIGNhcHBlZCBmb3IgcHJldmFsZW50IHJlc291cmNlcy4KLQotT24gc3Vj
Y2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQg
YnkgIlRFU1QgQ09NUExFVEUiLgotCi0KLVBBU1MgbG9hZGVkVXJsIGlzICJodHRwOi8vbG9jYWxo
b3N0OjgwMDAvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9yZXNvdXJjZXMvZWNoby1xdWVyeS5waHA/
dmFsdWU9MTIzNCIKLVBBU1MgbG9hZGVkVXJsIGlzICJodHRwOi8vbG9jYWxob3N0OjgwMDAvcmVz
b3VyY2VMb2FkU3RhdGlzdGljcy9yZXNvdXJjZXMvZWNoby1xdWVyeS5waHA/dmFsdWU9NDMyMSIK
LVBBU1MgbG9hZGVkVXJsIGlzICJodHRwOi8vbG9jYWxob3N0OjgwMDAvcmVzb3VyY2VMb2FkU3Rh
dGlzdGljcy9yZXNvdXJjZXMvZWNoby1xdWVyeS5waHA/dmFsdWU9IgotUEFTUyBsb2FkZWRVcmwg
aXMgImh0dHA6Ly9sb2NhbGhvc3Q6ODAwMC9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3Jlc291cmNl
cy9lY2hvLXF1ZXJ5LnBocD92YWx1ZT0iCi1QQVNTIGxvYWRlZFVybCBpcyAiaHR0cDovL2xvY2Fs
aG9zdDo4MDAwL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvcmVzb3VyY2VzL2VjaG8tcXVlcnkucGhw
P3ZhbHVlPSIKLVBBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKLQotVEVTVCBDT01QTEVU
RQotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRp
c3RpY3MvY2FwLWNhY2hlLW1heC1hZ2UtZm9yLXByZXZhbGVudC1yZXNvdXJjZS1kYXRhYmFzZS5o
dG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NhcC1j
YWNoZS1tYXgtYWdlLWZvci1wcmV2YWxlbnQtcmVzb3VyY2UtZGF0YWJhc2UuaHRtbApkZWxldGVk
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMjY0YTQ1MThhODMzOTQ2MDkwNzMzMzczZjFmNjAyMTYz
YWFiOTMyYS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9M
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY2FwLWNhY2hlLW1h
eC1hZ2UtZm9yLXByZXZhbGVudC1yZXNvdXJjZS1kYXRhYmFzZS5odG1sCisrKyAvZGV2L251bGwK
QEAgLTEsMTEzICswLDAgQEAKLTwhRE9DVFlQRSBodG1sPgotPGh0bWw+Ci08aGVhZD4KLSAgICA8
c2NyaXB0IHNyYz0iL2pzLXRlc3QtcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgotICAg
IDxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvdXRpbC5qcyI+PC9zY3JpcHQ+Ci0gICAgPHRpdGxlPlRl
c3RzIGZvciBDYXBwZWQgQ2FjaGUgTWF4LUFnZTwvdGl0bGU+Ci08L2hlYWQ+Ci08Ym9keT4KLTxz
Y3JpcHQ+Ci0gICAgZGVzY3JpcHRpb24oIlRlc3RzIHRoYXQgY2FjaGUgbWF4LWFnZSBpcyBjYXBw
ZWQgZm9yIHByZXZhbGVudCByZXNvdXJjZXMuIik7Ci0gICAganNUZXN0SXNBc3luYyA9IHRydWU7
Ci0KLSAgICB2YXIgbG9hZGVkVXJsOwotICAgIGZ1bmN0aW9uIGZpcnN0RmV0Y2goKSB7Ci0gICAg
ICAgIC8vIFRoaXMgc2hvdWxkIGNyZWF0ZSBhIGNhcHBlZCBjYWNoZSBlbnRyeS4KLSAgICAgICAg
ZmV0Y2goImh0dHA6Ly9sb2NhbGhvc3Q6ODAwMC9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3Jlc291
cmNlcy9jYWNoZWQtcGVybWFuZW50LXJlZGlyZWN0LnBocCIsCi0gICAgICAgICAgICB7Ci0gICAg
ICAgICAgICAgICAgY2FjaGU6ICJyZWxvYWQiLAotICAgICAgICAgICAgICAgIGhlYWRlcnM6IHsK
LSAgICAgICAgICAgICAgICAgICAgIlgtV2ViS2l0IjogIjEyMzQiLAotICAgICAgICAgICAgICAg
IH0KLSAgICAgICAgICAgIH0KLSAgICAgICAgKS50aGVuKGZ1bmN0aW9uKHJlc3BvbnNlKSB7Ci0g
ICAgICAgICAgICBsb2FkZWRVcmwgPSByZXNwb25zZS51cmw7Ci0gICAgICAgICAgICBzaG91bGRC
ZUVxdWFsVG9TdHJpbmcoImxvYWRlZFVybCIsICJodHRwOi8vbG9jYWxob3N0OjgwMDAvcmVzb3Vy
Y2VMb2FkU3RhdGlzdGljcy9yZXNvdXJjZXMvZWNoby1xdWVyeS5waHA/dmFsdWU9MTIzNCIpOwot
ICAgICAgICAgICAgc2Vjb25kRmV0Y2goKTsKLSAgICAgICAgfSkuY2F0Y2goZnVuY3Rpb24oZXJy
b3IpIHsKLSAgICAgICAgICAgIHRlc3RGYWlsZWQoZXJyb3IubWVzc2FnZSk7Ci0gICAgICAgICAg
ICBzZXRFbmFibGVGZWF0dXJlKGZhbHNlLCBmaW5pc2hKU1Rlc3QpOwotICAgICAgICB9KTsKLSAg
ICB9Ci0KLSAgICBmdW5jdGlvbiBzZWNvbmRGZXRjaCgpIHsKLSAgICAgICAgLy8gVGhpcyBzaG91
bGQgbm90IHRyaWdnZXIgYSBzdWNjZXNzZnVsIGNhY2hlIGhpdCBhbmQgaW5zdGVhZCBjcmVhdGUg
YW5vdGhlciBjYXBwZWQgY2FjaGUgZW50cnkuCi0gICAgICAgIGZldGNoKCJodHRwOi8vbG9jYWxo
b3N0OjgwMDAvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9yZXNvdXJjZXMvY2FjaGVkLXBlcm1hbmVu
dC1yZWRpcmVjdC5waHAiLAotICAgICAgICAgICAgewotICAgICAgICAgICAgICAgIGNhY2hlOiAi
Zm9yY2UtY2FjaGUiLAotICAgICAgICAgICAgICAgIGhlYWRlcnM6IHsKLSAgICAgICAgICAgICAg
ICAgICAgIlgtV2ViS2l0IjogIjQzMjEiLAotICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAg
IH0KLSAgICAgICAgKS50aGVuKGZ1bmN0aW9uKHJlc3BvbnNlKSB7Ci0gICAgICAgICAgICBsb2Fk
ZWRVcmwgPSByZXNwb25zZS51cmw7Ci0gICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmco
ImxvYWRlZFVybCIsICJodHRwOi8vbG9jYWxob3N0OjgwMDAvcmVzb3VyY2VMb2FkU3RhdGlzdGlj
cy9yZXNvdXJjZXMvZWNoby1xdWVyeS5waHA/dmFsdWU9NDMyMSIpOwotICAgICAgICAgICAgdGhp
cmRGZXRjaCgpOwotICAgICAgICB9KS5jYXRjaChmdW5jdGlvbihlcnJvcikgewotICAgICAgICAg
ICAgdGVzdEZhaWxlZChlcnJvci5tZXNzYWdlKTsKLSAgICAgICAgICAgIHNldEVuYWJsZUZlYXR1
cmUoZmFsc2UsIGZpbmlzaEpTVGVzdCk7Ci0gICAgICAgIH0pOwotICAgIH0KLQotICAgIGZ1bmN0
aW9uIHRoaXJkRmV0Y2goKSB7Ci0gICAgICAgIC8vIFRoaXMgc2hvdWxkIG5vdCB0cmlnZ2VyIGEg
c3VjY2Vzc2Z1bCBjYWNoZSBoaXQgYW5kIGluc3RlYWQgY3JlYXRlIGFub3RoZXIgY2FwcGVkIGNh
Y2hlIGVudHJ5LgotICAgICAgICBmZXRjaCgiaHR0cDovL2xvY2FsaG9zdDo4MDAwL3Jlc291cmNl
TG9hZFN0YXRpc3RpY3MvcmVzb3VyY2VzL2NhY2hlZC1wZXJtYW5lbnQtcmVkaXJlY3QucGhwIiwK
LSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICBjYWNoZTogImZvcmNlLWNhY2hlIiwKLSAg
ICAgICAgICAgIH0KLSAgICAgICAgKS50aGVuKGZ1bmN0aW9uKHJlc3BvbnNlKSB7Ci0gICAgICAg
ICAgICBsb2FkZWRVcmwgPSByZXNwb25zZS51cmw7Ci0gICAgICAgICAgICBzaG91bGRCZUVxdWFs
VG9TdHJpbmcoImxvYWRlZFVybCIsICJodHRwOi8vbG9jYWxob3N0OjgwMDAvcmVzb3VyY2VMb2Fk
U3RhdGlzdGljcy9yZXNvdXJjZXMvZWNoby1xdWVyeS5waHA/dmFsdWU9Iik7Ci0gICAgICAgICAg
ICBmb3VydGhGZXRjaCgpOwotICAgICAgICB9KS5jYXRjaChmdW5jdGlvbihlcnJvcikgewotICAg
ICAgICAgICAgdGVzdEZhaWxlZChlcnJvci5tZXNzYWdlKTsKLSAgICAgICAgICAgIHNldEVuYWJs
ZUZlYXR1cmUoZmFsc2UsIGZpbmlzaEpTVGVzdCk7Ci0gICAgICAgIH0pOwotICAgIH0KLQotICAg
IGZ1bmN0aW9uIGZvdXJ0aEZldGNoKCkgewotICAgICAgICAvLyBUaGlzIHNob3VsZCBub3QgdHJp
Z2dlciBhIHN1Y2Nlc3NmdWwgY2FjaGUgaGl0IGJ1dCBjbGVhciBjYXBwaW5nLgotICAgICAgICBm
ZXRjaCgiaHR0cDovL2xvY2FsaG9zdDo4MDAwL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvcmVzb3Vy
Y2VzL2NhY2hlZC1wZXJtYW5lbnQtcmVkaXJlY3QucGhwIiwKLSAgICAgICAgICAgIHsKLSAgICAg
ICAgICAgICAgICBjYWNoZTogImZvcmNlLWNhY2hlIiwKLSAgICAgICAgICAgIH0KLSAgICAgICAg
KS50aGVuKGZ1bmN0aW9uKHJlc3BvbnNlKSB7Ci0gICAgICAgICAgICBsb2FkZWRVcmwgPSByZXNw
b25zZS51cmw7Ci0gICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImxvYWRlZFVybCIs
ICJodHRwOi8vbG9jYWxob3N0OjgwMDAvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9yZXNvdXJjZXMv
ZWNoby1xdWVyeS5waHA/dmFsdWU9Iik7Ci0gICAgICAgICAgICBmaWZ0aEZldGNoKCk7Ci0gICAg
ICAgIH0pLmNhdGNoKGZ1bmN0aW9uKGVycm9yKSB7Ci0gICAgICAgICAgICB0ZXN0RmFpbGVkKGVy
cm9yLm1lc3NhZ2UpOwotICAgICAgICAgICAgc2V0RW5hYmxlRmVhdHVyZShmYWxzZSwgZmluaXNo
SlNUZXN0KTsKLSAgICAgICAgfSk7Ci0gICAgfQotCi0gICAgZnVuY3Rpb24gZmlmdGhGZXRjaCgp
IHsKLSAgICAgICAgLy8gVGhpcyBzaG91bGQgdHJpZ2dlciBhIHJlZ3VsYXIsIHN1Y2Nlc3NmdWwg
Y2FjaGUgaGl0LgotICAgICAgICBmZXRjaCgiaHR0cDovL2xvY2FsaG9zdDo4MDAwL3Jlc291cmNl
TG9hZFN0YXRpc3RpY3MvcmVzb3VyY2VzL2NhY2hlZC1wZXJtYW5lbnQtcmVkaXJlY3QucGhwIiwK
LSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICBoZWFkZXJzOiB7Ci0gICAgICAgICAgICAg
ICAgICAgICJYLVdlYktpdCI6ICIxMjM0IiwKLSAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAg
ICB9Ci0gICAgICAgICkudGhlbihmdW5jdGlvbihyZXNwb25zZSkgewotICAgICAgICAgICAgbG9h
ZGVkVXJsID0gcmVzcG9uc2UudXJsOwotICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCJsb2FkZWRVcmwiLCAiaHR0cDovL2xvY2FsaG9zdDo4MDAwL3Jlc291cmNlTG9hZFN0YXRpc3Rp
Y3MvcmVzb3VyY2VzL2VjaG8tcXVlcnkucGhwP3ZhbHVlPSIpOwotICAgICAgICAgICAgc2V0RW5h
YmxlRmVhdHVyZShmYWxzZSwgZmluaXNoSlNUZXN0KTsKLSAgICAgICAgfSkuY2F0Y2goZnVuY3Rp
b24oZXJyb3IpIHsKLSAgICAgICAgICAgIHRlc3RGYWlsZWQoZXJyb3IubWVzc2FnZSk7Ci0gICAg
ICAgICAgICBzZXRFbmFibGVGZWF0dXJlKGZhbHNlLCBmaW5pc2hKU1Rlc3QpOwotICAgICAgICB9
KTsKLSAgICB9Ci0gICAgdGVzdFJ1bm5lci5zZXRVc2VJVFBEYXRhYmFzZSh0cnVlKTsKLSAgICBz
ZXRFbmFibGVGZWF0dXJlKHRydWUsIGZ1bmN0aW9uKCkgewotICAgICAgICBpZiAodGVzdFJ1bm5l
ci5pc1N0YXRpc3RpY3NQcmV2YWxlbnRSZXNvdXJjZSgiaHR0cDovL2xvY2FsaG9zdCIpKQotICAg
ICAgICAgICAgdGVzdEZhaWxlZCgiTG9jYWxob3N0IHdhcyBjbGFzc2lmaWVkIGFzIHByZXZhbGVu
dCByZXNvdXJjZSBiZWZvcmUgdGhlIHRlc3Qgc3RhcnRlZC4iKTsKLQotICAgICAgICB0ZXN0UnVu
bmVyLnNldFN0YXRpc3RpY3NDYWNoZU1heEFnZUNhcCgwKTsKLSAgICAgICAgdGVzdFJ1bm5lci5z
ZXRTdGF0aXN0aWNzUHJldmFsZW50UmVzb3VyY2UoImh0dHA6Ly9sb2NhbGhvc3QiLCB0cnVlLCBm
dW5jdGlvbigpIHsKLSAgICAgICAgICAgIHRlc3RSdW5uZXIuc3RhdGlzdGljc1VwZGF0ZUNvb2tp
ZUJsb2NraW5nKGZpcnN0RmV0Y2gpOwotICAgICAgICB9KTsKLSAgICB9KTsKLTwvc2NyaXB0Pgot
PC9ib2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNv
dXJjZUxvYWRTdGF0aXN0aWNzL2NhcHBlZC1saWZldGltZS1mb3ItY29va2llLXNldC1pbi1qcy1k
YXRhYmFzZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9h
ZFN0YXRpc3RpY3MvY2FwcGVkLWxpZmV0aW1lLWZvci1jb29raWUtc2V0LWluLWpzLWRhdGFiYXNl
LWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNDg0NjIwZDZkMzMx
MjExNjQ1MWE4YTU5Yzg0YmU2MTc2NGM0NmUzMS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0
YXRpc3RpY3MvY2FwcGVkLWxpZmV0aW1lLWZvci1jb29raWUtc2V0LWluLWpzLWRhdGFiYXNlLWV4
cGVjdGVkLnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDExICswLDAgQEAKLUNoZWNrIHRoYXQgY29v
a2llcyBjcmVhdGVkIGJ5IEphdmFTY3JpcHQgd2l0aCBtYXgtYWdlIG9yIGV4cGlyeSBsb25nZXIg
dGhhbiBhIHdlZWsgZ2V0IGNhcHBlZCB0byBhIHdlZWsuCi0KLU9uIHN1Y2Nlc3MsIHlvdSB3aWxs
IHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBM
RVRFIi4KLQotCi1QQVNTIFRoZSB0d28gc2hvcnQtbGl2ZWQgY29va2llcyBkb24ndCBleHBpcmUg
YWZ0ZXIgbW9yZSB0aGFuIDE3MjgzMCBzZWNvbmRzLgotUEFTUyBUaGUgdHdvIGxvbmctbGl2ZWQg
Y29va2llcyBkb24ndCBleHBpcmUgYWZ0ZXIgbW9yZSB0aGFuIDYwNDgzMCBzZWNvbmRzLgotUEFT
UyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQotCi1URVNUIENPTVBMRVRFCi0KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jYXBwZWQt
bGlmZXRpbWUtZm9yLWNvb2tpZS1zZXQtaW4tanMtZGF0YWJhc2UuaHRtbCBiL0xheW91dFRlc3Rz
L2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jYXBwZWQtbGlmZXRpbWUtZm9yLWNv
b2tpZS1zZXQtaW4tanMtZGF0YWJhc2UuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggZTJmZmQwNDFhZTMyZGUyODYwM2I4MTkxMDMwY2U4YTMwNWQyNjI2Yi4uMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY2FwcGVkLWxpZmV0aW1lLWZvci1jb29raWUtc2V0LWlu
LWpzLWRhdGFiYXNlLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSw4MyArMCwwIEBACi08IURPQ1RZ
UEUgaHRtbD4KLTxodG1sPgotPGhlYWQ+Ci0gICAgPHNjcmlwdCBzcmM9Ii9qcy10ZXN0LXJlc291
cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KLSAgICA8c2NyaXB0IHNyYz0iL2Nvb2tpZXMvcmVz
b3VyY2VzL2Nvb2tpZS11dGlsaXRpZXMuanMiPjwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHk+Ci08
c2NyaXB0PgotICAgIGRlc2NyaXB0aW9uKCJDaGVjayB0aGF0IGNvb2tpZXMgY3JlYXRlZCBieSBK
YXZhU2NyaXB0IHdpdGggbWF4LWFnZSBvciBleHBpcnkgbG9uZ2VyIHRoYW4gYSB3ZWVrIGdldCBj
YXBwZWQgdG8gYSB3ZWVrLiIpOwotICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOwotICAgIHRlc3RS
dW5uZXIuc2V0VXNlSVRQRGF0YWJhc2UodHJ1ZSk7Ci0KLSAgICBpZiAoaW50ZXJuYWxzKQotICAg
ICAgICBpbnRlcm5hbHMuc2V0UmVzb3VyY2VMb2FkU3RhdGlzdGljc0VuYWJsZWQodHJ1ZSk7Ci0K
LSAgICBsZXQgcGFzc2VkVGVzdHMgPSAwOwotICAgIGZ1bmN0aW9uIGNoZWNrVGhhdENvb2tpZURv
ZXNOb3RFeHBpcmVBZnRlcihjb29raWVEYXRhLCBtYXhBZ2VJblNlY29uZHMpIHsKLSAgICAgICAg
bGV0IG5vdyA9IG5ldyBEYXRlKCk7Ci0gICAgICAgIGxldCBtYXhFeHBpcnlEYXRlSW5NaWxsaXNl
Y29uZHMgPSBub3cuZ2V0VGltZSgpICsgKG1heEFnZUluU2Vjb25kcyAqIDEwMDApOwotCi0gICAg
ICAgIGlmIChtYXhFeHBpcnlEYXRlSW5NaWxsaXNlY29uZHMgPiBjb29raWVEYXRhWyJleHBpcmVz
Il0pCi0gICAgICAgICAgICArK3Bhc3NlZFRlc3RzOwotICAgICAgICBlbHNlCi0gICAgICAgICAg
ICB0ZXN0RmFpbGVkKCJDb29raWUgbmFtZWQgIiArIGNvb2tpZURhdGFbIm5hbWUiXSArICIgZXhw
aXJlcyBpbiBtb3JlIHRoYW4gIiArIG1heEFnZUluU2Vjb25kcyArICIgc2Vjb25kcy4iKTsKLSAg
ICB9Ci0KLSAgICBjb25zdCB0d29EYXlzSW5TZWNvbmRzID0gMiAqIDI0ICogNjAgKiA2MDsKLSAg
ICBjb25zdCBzaG9ydExpdmVkQ29va2llTWF4QWdlID0geyBuYW1lIDogInNob3J0TGl2ZWRDb29r
aWVNYXhBZ2UiLCBsaWZldGltZSA6ICJNYXgtQWdlPSIgKyB0d29EYXlzSW5TZWNvbmRzICsgIjsi
IH07Ci0gICAgZG9jdW1lbnQuY29va2llID0gc2hvcnRMaXZlZENvb2tpZU1heEFnZS5uYW1lICsg
Ij1mb29iYXI7ICIgKyBzaG9ydExpdmVkQ29va2llTWF4QWdlLmxpZmV0aW1lICsgIiBwYXRoPS8i
OwotCi0gICAgY29uc3QgdHdvRGF5c0FzRXhwaXJlc0RhdGUgPSBjcmVhdGVFeHBpcmVzRGF0ZUZy
b21NYXhBZ2UodHdvRGF5c0luU2Vjb25kcyk7Ci0gICAgY29uc3Qgc2hvcnRMaXZlZENvb2tpZUV4
cGlyZXMgPSB7IG5hbWUgOiAic2hvcnRMaXZlZENvb2tpZUV4cGlyZXMiLCBsaWZldGltZSA6ICJF
eHBpcmVzPSIgKyB0d29EYXlzQXNFeHBpcmVzRGF0ZSArICI7IiB9OwotICAgIGRvY3VtZW50LmNv
b2tpZSA9IHNob3J0TGl2ZWRDb29raWVFeHBpcmVzLm5hbWUgKyAiPWZvb2JhcjsgIiArIHNob3J0
TGl2ZWRDb29raWVFeHBpcmVzLmxpZmV0aW1lICsgIiBwYXRoPS8iOwotCi0gICAgY29uc3Qgb25l
V2Vla0luU2Vjb25kcyA9IDcgKiAyNCAqIDYwICogNjA7Ci0gICAgY29uc3QgdHdvV2Vla3NJblNl
Y29uZHMgPSAyICogb25lV2Vla0luU2Vjb25kczsKLSAgICBjb25zdCBsb25nTGl2ZWRDb29raWVN
YXhBZ2UgPSB7IG5hbWUgOiAibG9uZ0xpdmVkQ29va2llTWF4QWdlIiwgbGlmZXRpbWUgOiAiTWF4
LUFnZT0iICsgdHdvV2Vla3NJblNlY29uZHMgKyAiOyIgfTsKLSAgICBkb2N1bWVudC5jb29raWUg
PSBsb25nTGl2ZWRDb29raWVNYXhBZ2UubmFtZSArICI9Zm9vYmFyOyAiICsgbG9uZ0xpdmVkQ29v
a2llTWF4QWdlLmxpZmV0aW1lICsgIiBwYXRoPS8iOwotCi0gICAgY29uc3QgdHdvV2Vla3NBc0V4
cGlyZXNEYXRlID0gY3JlYXRlRXhwaXJlc0RhdGVGcm9tTWF4QWdlKHR3b1dlZWtzSW5TZWNvbmRz
KTsKLSAgICBjb25zdCBsb25nTGl2ZWRDb29raWVFeHBpcmVzID0geyBuYW1lIDogImxvbmdMaXZl
ZENvb2tpZUV4cGlyZXMiLCBsaWZldGltZSA6ICJFeHBpcmVzPSIgKyB0d29XZWVrc0FzRXhwaXJl
c0RhdGUgKyAiOyIgfTsKLSAgICBkb2N1bWVudC5jb29raWUgPSBsb25nTGl2ZWRDb29raWVFeHBp
cmVzLm5hbWUgKyAiPWZvb2JhcjsgIiArIGxvbmdMaXZlZENvb2tpZUV4cGlyZXMubGlmZXRpbWUg
KyAiIHBhdGg9LyI7Ci0KLSAgICBjb25zdCBvdmVyVHdvRGF5c0luU2Vjb25kcyA9IHR3b0RheXNJ
blNlY29uZHMgKyAzMDsKLSAgICBjb25zdCBvdmVyT25lV2Vla0luU2Vjb25kcyA9IG9uZVdlZWtJ
blNlY29uZHMgKyAzMDsKLSAgICBpZiAoaW50ZXJuYWxzKSB7Ci0gICAgICAgIGxldCBjb29raWVz
ID0gaW50ZXJuYWxzLmdldENvb2tpZXMoKTsKLSAgICAgICAgaWYgKCFjb29raWVzLmxlbmd0aCkK
LSAgICAgICAgICAgIHRlc3RGYWlsZWQoIk5vIGNvb2tpZXMgZm91bmQuIik7Ci0gICAgICAgIGZv
ciAobGV0IGNvb2tpZSBvZiBjb29raWVzKSB7Ci0gICAgICAgICAgICBzd2l0Y2ggKGNvb2tpZS5u
YW1lKSB7Ci0gICAgICAgICAgICAgICAgY2FzZSBzaG9ydExpdmVkQ29va2llTWF4QWdlLm5hbWU6
Ci0gICAgICAgICAgICAgICAgICAgIGNoZWNrVGhhdENvb2tpZURvZXNOb3RFeHBpcmVBZnRlcihj
b29raWUsIG92ZXJUd29EYXlzSW5TZWNvbmRzKTsKLSAgICAgICAgICAgICAgICAgICAgYnJlYWs7
Ci0gICAgICAgICAgICAgICAgY2FzZSBzaG9ydExpdmVkQ29va2llRXhwaXJlcy5uYW1lOgotICAg
ICAgICAgICAgICAgICAgICBjaGVja1RoYXRDb29raWVEb2VzTm90RXhwaXJlQWZ0ZXIoY29va2ll
LCBvdmVyVHdvRGF5c0luU2Vjb25kcyk7Ci0gICAgICAgICAgICAgICAgICAgIGJyZWFrOwotICAg
ICAgICAgICAgICAgIGNhc2UgbG9uZ0xpdmVkQ29va2llTWF4QWdlLm5hbWU6Ci0gICAgICAgICAg
ICAgICAgICAgIGNoZWNrVGhhdENvb2tpZURvZXNOb3RFeHBpcmVBZnRlcihjb29raWUsIG92ZXJP
bmVXZWVrSW5TZWNvbmRzKTsKLSAgICAgICAgICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgICAg
ICAgICAgY2FzZSBsb25nTGl2ZWRDb29raWVFeHBpcmVzLm5hbWU6Ci0gICAgICAgICAgICAgICAg
ICAgIGNoZWNrVGhhdENvb2tpZURvZXNOb3RFeHBpcmVBZnRlcihjb29raWUsIG92ZXJPbmVXZWVr
SW5TZWNvbmRzKTsKLSAgICAgICAgICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgICAgICB9Ci0g
ICAgICAgIH0KLQotICAgICAgICByZXNldENvb2tpZXNGb3JDdXJyZW50T3JpZ2luKCk7Ci0KLSAg
ICAgICAgaWYgKHBhc3NlZFRlc3RzID09PSA0KSB7Ci0gICAgICAgICAgICB0ZXN0UGFzc2VkKCJU
aGUgdHdvIHNob3J0LWxpdmVkIGNvb2tpZXMgZG9uJ3QgZXhwaXJlIGFmdGVyIG1vcmUgdGhhbiAi
ICsgb3ZlclR3b0RheXNJblNlY29uZHMgKyAiIHNlY29uZHMuIik7Ci0gICAgICAgICAgICB0ZXN0
UGFzc2VkKCJUaGUgdHdvIGxvbmctbGl2ZWQgY29va2llcyBkb24ndCBleHBpcmUgYWZ0ZXIgbW9y
ZSB0aGFuICIgKyBvdmVyT25lV2Vla0luU2Vjb25kcyArICIgc2Vjb25kcy4iKTsKLSAgICAgICAg
fSBlbHNlCi0gICAgICAgICAgICB0ZXN0RmFpbGVkKCJBdCBsZWFzdCBvbmUgY29va2llJ3MgZXhw
aXJ5IGF0dHJpYnV0ZSB3YXMgYmV5b25kIHRoZSB0ZXN0IHRocmVzaG9sZHMuIik7Ci0gICAgfSBl
bHNlCi0gICAgICAgIHRlc3RGYWlsZWQoIk5vIGludGVybmFscyBvYmplY3QuIik7Ci0KLSAgICBp
ZiAoaW50ZXJuYWxzKQotICAgICAgICBpbnRlcm5hbHMuc2V0UmVzb3VyY2VMb2FkU3RhdGlzdGlj
c0VuYWJsZWQoZmFsc2UpOwotCi0gICAgZmluaXNoSlNUZXN0KCk7Ci08L3NjcmlwdD4KLTwvYm9k
eT4KLTwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VM
b2FkU3RhdGlzdGljcy9jYXBwZWQtbGlmZXRpbWUtZm9yLWNvb2tpZS1zZXQtaW4tanMtd2l0aC1s
aW5rLWRlY29yYXRpb24tc2FtZS1zaXRlLWRhdGFiYXNlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jYXBwZWQtbGlmZXRpbWUtZm9y
LWNvb2tpZS1zZXQtaW4tanMtd2l0aC1saW5rLWRlY29yYXRpb24tc2FtZS1zaXRlLWRhdGFiYXNl
LWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYTQ5NTQ1YTAzNGQz
YWYyNTkwYzk5MzM3ZDIzMDVhOWJlZmRiYTQxMC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0
YXRpc3RpY3MvY2FwcGVkLWxpZmV0aW1lLWZvci1jb29raWUtc2V0LWluLWpzLXdpdGgtbGluay1k
ZWNvcmF0aW9uLXNhbWUtc2l0ZS1kYXRhYmFzZS1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApA
QCAtMSwxMCArMCwwIEBACi1DaGVjayB0aGF0IGNvb2tpZXMgY3JlYXRlZCBieSBKYXZhU2NyaXB0
IGFmdGVyIGEgc2FtZS1zaXRlIG5hdmlnYXRpb24gd2l0aCBsaW5rIGRlY29yYXRpb24gZG9uJ3Qg
Z2V0IGNhcHBlZCB0byAyNCBob3Vycy4KLQotT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2Vy
aWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgotCi0K
LVBBU1MgVGhlIHR3byBsb25nLWxpdmVkIGNvb2tpZXMgZXhwaXJlIGFmdGVyIG1vcmUgdGhhbiA4
NjQzMCBzZWNvbmRzLgotUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQotCi1URVNUIENP
TVBMRVRFCi0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2Fk
U3RhdGlzdGljcy9jYXBwZWQtbGlmZXRpbWUtZm9yLWNvb2tpZS1zZXQtaW4tanMtd2l0aC1saW5r
LWRlY29yYXRpb24tc2FtZS1zaXRlLWRhdGFiYXNlLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rl
c3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY2FwcGVkLWxpZmV0aW1lLWZvci1jb29raWUtc2V0
LWluLWpzLXdpdGgtbGluay1kZWNvcmF0aW9uLXNhbWUtc2l0ZS1kYXRhYmFzZS5odG1sCmRlbGV0
ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBlZDA5OTkxYjNmYThhY2Q0ODE5OWE4NTMyMzRkMjVh
YjI4OTE1ZGMwLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBh
L0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jYXBwZWQtbGlm
ZXRpbWUtZm9yLWNvb2tpZS1zZXQtaW4tanMtd2l0aC1saW5rLWRlY29yYXRpb24tc2FtZS1zaXRl
LWRhdGFiYXNlLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSw4NiArMCwwIEBACi08IURPQ1RZUEUg
aHRtbD4KLTxodG1sPgotPGhlYWQ+Ci0gICAgPHNjcmlwdCBzcmM9Ii9qcy10ZXN0LXJlc291cmNl
cy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KLSAgICA8c2NyaXB0IHNyYz0iL2Nvb2tpZXMvcmVzb3Vy
Y2VzL2Nvb2tpZS11dGlsaXRpZXMuanMiPjwvc2NyaXB0PgotICAgIDxzY3JpcHQgc3JjPSJyZXNv
dXJjZXMvdXRpbC5qcyI+PC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keSBvbmxvYWQ9InNldFRpbWVv
dXQoJ3J1blRlc3QoKScsIDApIj4KLTxzY3JpcHQ+Ci0gICAgZGVzY3JpcHRpb24oIkNoZWNrIHRo
YXQgY29va2llcyBjcmVhdGVkIGJ5IEphdmFTY3JpcHQgYWZ0ZXIgYSBzYW1lLXNpdGUgbmF2aWdh
dGlvbiB3aXRoIGxpbmsgZGVjb3JhdGlvbiBkb24ndCBnZXQgY2FwcGVkIHRvIDI0IGhvdXJzLiIp
OwotICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOwotCi0gICAgZnVuY3Rpb24gdGVzdENvb2tpZXMo
KSB7Ci0gICAgICAgIGxldCBwYXNzZWRUZXN0cyA9IDA7Ci0KLSAgICAgICAgZnVuY3Rpb24gY2hl
Y2tUaGF0Q29va2llRG9lc0V4cGlyZUFmdGVyKGNvb2tpZURhdGEsIG1heEFnZUluU2Vjb25kcykg
ewotICAgICAgICAgICAgbGV0IG5vdyA9IG5ldyBEYXRlKCk7Ci0gICAgICAgICAgICBsZXQgbWF4
RXhwaXJ5RGF0ZUluTWlsbGlzZWNvbmRzID0gbm93LmdldFRpbWUoKSArIChtYXhBZ2VJblNlY29u
ZHMgKiAxMDAwKTsKLQotICAgICAgICAgICAgaWYgKG1heEV4cGlyeURhdGVJbk1pbGxpc2Vjb25k
cyA8IGNvb2tpZURhdGFbImV4cGlyZXMiXSkKLSAgICAgICAgICAgICAgICArK3Bhc3NlZFRlc3Rz
OwotICAgICAgICAgICAgZWxzZQotICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoIkNvb2tpZSBu
YW1lZCAiICsgY29va2llRGF0YVsibmFtZSJdICsgIiBleHBpcmVzIGluIGxlc3MgdGhhbiAiICsg
bWF4QWdlSW5TZWNvbmRzICsgIiBzZWNvbmRzLiIpOwotICAgICAgICB9Ci0KLSAgICAgICAgY29u
c3Qgb25lRGF5SW5TZWNvbmRzID0gMjQgKiA2MCAqIDYwOwotICAgICAgICBjb25zdCB0d29EYXlz
SW5TZWNvbmRzID0gMiAqIG9uZURheUluU2Vjb25kczsKLSAgICAgICAgY29uc3QgbG9uZ0xpdmVk
Q29va2llTWF4QWdlID0geyBuYW1lIDogImxvbmdMaXZlZENvb2tpZU1heEFnZSIsIGxpZmV0aW1l
IDogIk1heC1BZ2U9IiArIHR3b0RheXNJblNlY29uZHMgKyAiOyIgfTsKLSAgICAgICAgZG9jdW1l
bnQuY29va2llID0gbG9uZ0xpdmVkQ29va2llTWF4QWdlLm5hbWUgKyAiPWZvb2JhcjsgIiArIGxv
bmdMaXZlZENvb2tpZU1heEFnZS5saWZldGltZSArICIgcGF0aD0vIjsKLQotICAgICAgICBjb25z
dCB0d29EYXlzQXNFeHBpcmVzRGF0ZSA9IGNyZWF0ZUV4cGlyZXNEYXRlRnJvbU1heEFnZSh0d29E
YXlzSW5TZWNvbmRzKTsKLSAgICAgICAgY29uc3QgbG9uZ0xpdmVkQ29va2llRXhwaXJlcyA9IHsg
bmFtZSA6ICJsb25nTGl2ZWRDb29raWVFeHBpcmVzIiwgbGlmZXRpbWUgOiAiRXhwaXJlcz0iICsg
dHdvRGF5c0FzRXhwaXJlc0RhdGUgKyAiOyIgfTsKLSAgICAgICAgZG9jdW1lbnQuY29va2llID0g
bG9uZ0xpdmVkQ29va2llRXhwaXJlcy5uYW1lICsgIj1mb29iYXI7ICIgKyBsb25nTGl2ZWRDb29r
aWVFeHBpcmVzLmxpZmV0aW1lICsgIiBwYXRoPS8iOwotCi0gICAgICAgIGNvbnN0IG92ZXJPbmVE
YXlJblNlY29uZHMgPSBvbmVEYXlJblNlY29uZHMgKyAzMDsKLSAgICAgICAgaWYgKGludGVybmFs
cykgewotICAgICAgICAgICAgbGV0IGNvb2tpZXMgPSBpbnRlcm5hbHMuZ2V0Q29va2llcygpOwot
ICAgICAgICAgICAgaWYgKCFjb29raWVzLmxlbmd0aCkKLSAgICAgICAgICAgICAgICB0ZXN0RmFp
bGVkKCJObyBjb29raWVzIGZvdW5kLiIpOwotICAgICAgICAgICAgZm9yIChsZXQgY29va2llIG9m
IGNvb2tpZXMpIHsKLSAgICAgICAgICAgICAgICBzd2l0Y2ggKGNvb2tpZS5uYW1lKSB7Ci0gICAg
ICAgICAgICAgICAgICAgIGNhc2UgbG9uZ0xpdmVkQ29va2llTWF4QWdlLm5hbWU6Ci0gICAgICAg
ICAgICAgICAgICAgICAgICBjaGVja1RoYXRDb29raWVEb2VzRXhwaXJlQWZ0ZXIoY29va2llLCBv
dmVyT25lRGF5SW5TZWNvbmRzKTsKLSAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOwotICAg
ICAgICAgICAgICAgICAgICBjYXNlIGxvbmdMaXZlZENvb2tpZUV4cGlyZXMubmFtZToKLSAgICAg
ICAgICAgICAgICAgICAgICAgIGNoZWNrVGhhdENvb2tpZURvZXNFeHBpcmVBZnRlcihjb29raWUs
IG92ZXJPbmVEYXlJblNlY29uZHMpOwotICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7Ci0g
ICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgfQotCi0gICAgICAgICAgICByZXNldENvb2tp
ZXNGb3JDdXJyZW50T3JpZ2luKCk7Ci0KLSAgICAgICAgICAgIGlmIChwYXNzZWRUZXN0cyA9PT0g
MikgewotICAgICAgICAgICAgICAgIHRlc3RQYXNzZWQoIlRoZSB0d28gbG9uZy1saXZlZCBjb29r
aWVzIGV4cGlyZSBhZnRlciBtb3JlIHRoYW4gIiArIG92ZXJPbmVEYXlJblNlY29uZHMgKyAiIHNl
Y29uZHMuIik7Ci0gICAgICAgICAgICB9IGVsc2UKLSAgICAgICAgICAgICAgICB0ZXN0RmFpbGVk
KCJBdCBsZWFzdCBvbmUgY29va2llJ3MgZXhwaXJ5IGF0dHJpYnV0ZSB3YXMgYmVsb3cgdGhlIHRl
c3QgdGhyZXNob2xkcy4iKTsKLSAgICAgICAgfSBlbHNlCi0gICAgICAgICAgICB0ZXN0RmFpbGVk
KCJObyBpbnRlcm5hbHMgb2JqZWN0LiIpOwotCi0gICAgICAgIHNldEVuYWJsZUZlYXR1cmUoZmFs
c2UsIGZpbmlzaEpTVGVzdCk7Ci0gICAgfQotCi0gICAgZnVuY3Rpb24gbmF2aWdhdGVDcm9zc09y
aWdpbigpIHsKLSAgICAgICAgZG9jdW1lbnQubG9jYXRpb24uaHJlZiA9IHByZXZhbGVudFJlc291
cmNlT3JpZ2luICsgIi9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NhcHBlZC1saWZldGltZS1mb3It
Y29va2llLXNldC1pbi1qcy13aXRoLWxpbmstZGVjb3JhdGlvbi1zYW1lLXNpdGUuaHRtbD9saW5r
PWRlY29yYXRpb24jZnJhZ21lbnQiOwotICAgIH0KLQotICAgIGNvbnN0IGRlc3RpbmF0aW9uT3Jp
Z2luID0gImh0dHA6Ly9sb2NhbGhvc3Q6ODAwMCI7Ci0gICAgY29uc3QgcHJldmFsZW50UmVzb3Vy
Y2VPcmlnaW4gPSAiaHR0cDovLzEyNy4wLjAuMTo4MDAwIjsKLSAgICBmdW5jdGlvbiBydW5UZXN0
KCkgewotICAgICAgICBpZiAoZG9jdW1lbnQubG9jYXRpb24ub3JpZ2luID09PSBwcmV2YWxlbnRS
ZXNvdXJjZU9yaWdpbiAmJiBkb2N1bWVudC5sb2NhdGlvbi5oYXNoICE9PSAiI2ZyYWdtZW50Iikg
ewotICAgICAgICAgICAgdGVzdFJ1bm5lci5zZXRVc2VJVFBEYXRhYmFzZSh0cnVlKTsKLSAgICAg
ICAgICAgIHNldEVuYWJsZUZlYXR1cmUodHJ1ZSwgZnVuY3Rpb24gKCkgewotICAgICAgICAgICAg
ICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc1ByZXZhbGVudFJlc291cmNlKHByZXZhbGVudFJl
c291cmNlT3JpZ2luLCB0cnVlLCBmdW5jdGlvbigpIHsKLSAgICAgICAgICAgICAgICAgICAgaWYg
KCF0ZXN0UnVubmVyLmlzU3RhdGlzdGljc1ByZXZhbGVudFJlc291cmNlKHByZXZhbGVudFJlc291
cmNlT3JpZ2luKSkKLSAgICAgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoIkhvc3QgZGlk
IG5vdCBnZXQgc2V0IGFzIHByZXZhbGVudCByZXNvdXJjZS4iKTsKLSAgICAgICAgICAgICAgICAg
ICAgdGVzdFJ1bm5lci5zdGF0aXN0aWNzVXBkYXRlQ29va2llQmxvY2tpbmcobmF2aWdhdGVDcm9z
c09yaWdpbik7Ci0gICAgICAgICAgICAgICAgfSk7Ci0KLSAgICAgICAgICAgIH0pOwotICAgICAg
ICB9IGVsc2UgewotICAgICAgICAgICAgdGVzdENvb2tpZXMoKTsKLSAgICAgICAgfQotICAgIH0K
LTwvc2NyaXB0PgotPC9ib2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NhcHBlZC1saWZldGltZS1mb3ItY29va2ll
LXNldC1pbi1qcy13aXRoLWxpbmstZnJhZ21lbnQtZnJvbS1wcmV2YWxlbnQtcmVzb3VyY2UtZGF0
YWJhc2UtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRT
dGF0aXN0aWNzL2NhcHBlZC1saWZldGltZS1mb3ItY29va2llLXNldC1pbi1qcy13aXRoLWxpbmst
ZnJhZ21lbnQtZnJvbS1wcmV2YWxlbnQtcmVzb3VyY2UtZGF0YWJhc2UtZXhwZWN0ZWQudHh0CmRl
bGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBmN2JhZDAzMmM2ZjIyNDU3M2EzMzVkM2Y3MDQx
OWRjYjRiZTQzYTE1Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0t
LSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jYXBwZWQt
bGlmZXRpbWUtZm9yLWNvb2tpZS1zZXQtaW4tanMtd2l0aC1saW5rLWZyYWdtZW50LWZyb20tcHJl
dmFsZW50LXJlc291cmNlLWRhdGFiYXNlLWV4cGVjdGVkLnR4dAorKysgL2Rldi9udWxsCkBAIC0x
LDExICswLDAgQEAKLUNoZWNrIHRoYXQgY29va2llcyBjcmVhdGVkIGJ5IEphdmFTY3JpcHQgYWZ0
ZXIgYSBjcm9zcy1zaXRlIG5hdmlnYXRpb24gd2l0aCBsaW5rIGZyYWdtZW50IGdldCBjYXBwZWQg
dG8gMjQgaG91cnMuCi0KLU9uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFT
UyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KLQotCi1QQVNTIFRoZSB0
d28gc2hvcnQtbGl2ZWQgY29va2llcyBkb24ndCBleHBpcmUgYWZ0ZXIgbW9yZSB0aGFuIDQzMjMw
IHNlY29uZHMuCi1QQVNTIFRoZSB0d28gbG9uZy1saXZlZCBjb29raWVzIGRvbid0IGV4cGlyZSBh
ZnRlciBtb3JlIHRoYW4gODY0MzAgc2Vjb25kcy4KLVBBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlz
IHRydWUKLQotVEVTVCBDT01QTEVURQotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rl
c3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY2FwcGVkLWxpZmV0aW1lLWZvci1jb29raWUtc2V0
LWluLWpzLXdpdGgtbGluay1mcmFnbWVudC1mcm9tLXByZXZhbGVudC1yZXNvdXJjZS1kYXRhYmFz
ZS5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2Nh
cHBlZC1saWZldGltZS1mb3ItY29va2llLXNldC1pbi1qcy13aXRoLWxpbmstZnJhZ21lbnQtZnJv
bS1wcmV2YWxlbnQtcmVzb3VyY2UtZGF0YWJhc2UuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggNWM4NGZiODk0Zjk5YjMyN2MxNzczZTIwMDdkYzEwZDkxYzJhODc5OS4uMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY2FwcGVkLWxpZmV0aW1lLWZvci1jb29raWUt
c2V0LWluLWpzLXdpdGgtbGluay1mcmFnbWVudC1mcm9tLXByZXZhbGVudC1yZXNvdXJjZS1kYXRh
YmFzZS5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsMTAxICswLDAgQEAKLTwhRE9DVFlQRSBodG1s
PgotPGh0bWw+Ci08aGVhZD4KLSAgICA8c2NyaXB0IHNyYz0iL2pzLXRlc3QtcmVzb3VyY2VzL2pz
LXRlc3QuanMiPjwvc2NyaXB0PgotICAgIDxzY3JpcHQgc3JjPSIvY29va2llcy9yZXNvdXJjZXMv
Y29va2llLXV0aWxpdGllcy5qcyI+PC9zY3JpcHQ+Ci0gICAgPHNjcmlwdCBzcmM9InJlc291cmNl
cy91dGlsLmpzIj48L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5IG9ubG9hZD0ic2V0VGltZW91dCgn
cnVuVGVzdCgpJywgMCkiPgotPHNjcmlwdD4KLSAgICBkZXNjcmlwdGlvbigiQ2hlY2sgdGhhdCBj
b29raWVzIGNyZWF0ZWQgYnkgSmF2YVNjcmlwdCBhZnRlciBhIGNyb3NzLXNpdGUgbmF2aWdhdGlv
biB3aXRoIGxpbmsgZnJhZ21lbnQgZ2V0IGNhcHBlZCB0byAyNCBob3Vycy4iKTsKLSAgICBqc1Rl
c3RJc0FzeW5jID0gdHJ1ZTsKLQotICAgIGZ1bmN0aW9uIHRlc3RDb29raWVzKCkgewotICAgICAg
ICBsZXQgcGFzc2VkVGVzdHMgPSAwOwotICAgICAgICBmdW5jdGlvbiBjaGVja1RoYXRDb29raWVE
b2VzTm90RXhwaXJlQWZ0ZXIoY29va2llRGF0YSwgbWF4QWdlSW5TZWNvbmRzKSB7Ci0gICAgICAg
ICAgICBsZXQgbm93ID0gbmV3IERhdGUoKTsKLSAgICAgICAgICAgIGxldCBtYXhFeHBpcnlEYXRl
SW5NaWxsaXNlY29uZHMgPSBub3cuZ2V0VGltZSgpICsgKG1heEFnZUluU2Vjb25kcyAqIDEwMDAp
OwotCi0gICAgICAgICAgICBpZiAobWF4RXhwaXJ5RGF0ZUluTWlsbGlzZWNvbmRzID4gY29va2ll
RGF0YVsiZXhwaXJlcyJdKQotICAgICAgICAgICAgICAgICsrcGFzc2VkVGVzdHM7Ci0gICAgICAg
ICAgICBlbHNlCi0gICAgICAgICAgICAgICAgdGVzdEZhaWxlZCgiQ29va2llIG5hbWVkICIgKyBj
b29raWVEYXRhWyJuYW1lIl0gKyAiIGV4cGlyZXMgaW4gbW9yZSB0aGFuICIgKyBtYXhBZ2VJblNl
Y29uZHMgKyAiIHNlY29uZHMuIik7Ci0gICAgICAgIH0KLQotICAgICAgICBjb25zdCB0d2VsdmVI
b3Vyc0luU2Vjb25kcyA9IDEyICogNjAgKiA2MDsKLSAgICAgICAgY29uc3Qgc2hvcnRMaXZlZENv
b2tpZU1heEFnZSA9IHsgbmFtZSA6ICJzaG9ydExpdmVkQ29va2llTWF4QWdlIiwgbGlmZXRpbWUg
OiAiTWF4LUFnZT0iICsgdHdlbHZlSG91cnNJblNlY29uZHMgKyAiOyIgfTsKLSAgICAgICAgZG9j
dW1lbnQuY29va2llID0gc2hvcnRMaXZlZENvb2tpZU1heEFnZS5uYW1lICsgIj1mb29iYXI7ICIg
KyBzaG9ydExpdmVkQ29va2llTWF4QWdlLmxpZmV0aW1lICsgIiBwYXRoPS8iOwotCi0gICAgICAg
IGNvbnN0IHR3ZWx2ZUhvdXJzQXNFeHBpcmVzRGF0ZSA9IGNyZWF0ZUV4cGlyZXNEYXRlRnJvbU1h
eEFnZSh0d2VsdmVIb3Vyc0luU2Vjb25kcyk7Ci0gICAgICAgIGNvbnN0IHNob3J0TGl2ZWRDb29r
aWVFeHBpcmVzID0geyBuYW1lIDogInNob3J0TGl2ZWRDb29raWVFeHBpcmVzIiwgbGlmZXRpbWUg
OiAiRXhwaXJlcz0iICsgdHdlbHZlSG91cnNBc0V4cGlyZXNEYXRlICsgIjsiIH07Ci0gICAgICAg
IGRvY3VtZW50LmNvb2tpZSA9IHNob3J0TGl2ZWRDb29raWVFeHBpcmVzLm5hbWUgKyAiPWZvb2Jh
cjsgIiArIHNob3J0TGl2ZWRDb29raWVFeHBpcmVzLmxpZmV0aW1lICsgIiBwYXRoPS8iOwotCi0g
ICAgICAgIGNvbnN0IG9uZURheUluU2Vjb25kcyA9IDIgKiB0d2VsdmVIb3Vyc0luU2Vjb25kczsK
LSAgICAgICAgY29uc3QgdHdvRGF5c0luU2Vjb25kcyA9IDIgKiBvbmVEYXlJblNlY29uZHM7Ci0g
ICAgICAgIGNvbnN0IGxvbmdMaXZlZENvb2tpZU1heEFnZSA9IHsgbmFtZSA6ICJsb25nTGl2ZWRD
b29raWVNYXhBZ2UiLCBsaWZldGltZSA6ICJNYXgtQWdlPSIgKyB0d29EYXlzSW5TZWNvbmRzICsg
IjsiIH07Ci0gICAgICAgIGRvY3VtZW50LmNvb2tpZSA9IGxvbmdMaXZlZENvb2tpZU1heEFnZS5u
YW1lICsgIj1mb29iYXI7ICIgKyBsb25nTGl2ZWRDb29raWVNYXhBZ2UubGlmZXRpbWUgKyAiIHBh
dGg9LyI7Ci0KLSAgICAgICAgY29uc3QgdHdvRGF5c0FzRXhwaXJlc0RhdGUgPSBjcmVhdGVFeHBp
cmVzRGF0ZUZyb21NYXhBZ2UodHdvRGF5c0luU2Vjb25kcyk7Ci0gICAgICAgIGNvbnN0IGxvbmdM
aXZlZENvb2tpZUV4cGlyZXMgPSB7IG5hbWUgOiAibG9uZ0xpdmVkQ29va2llRXhwaXJlcyIsIGxp
ZmV0aW1lIDogIkV4cGlyZXM9IiArIHR3b0RheXNBc0V4cGlyZXNEYXRlICsgIjsiIH07Ci0gICAg
ICAgIGRvY3VtZW50LmNvb2tpZSA9IGxvbmdMaXZlZENvb2tpZUV4cGlyZXMubmFtZSArICI9Zm9v
YmFyOyAiICsgbG9uZ0xpdmVkQ29va2llRXhwaXJlcy5saWZldGltZSArICIgcGF0aD0vIjsKLQot
ICAgICAgICBjb25zdCBvdmVyVHdlbHZlSG91cnNJblNlY29uZHMgPSB0d2VsdmVIb3Vyc0luU2Vj
b25kcyArIDMwOwotICAgICAgICBjb25zdCBvdmVyT25lRGF5SW5TZWNvbmRzID0gb25lRGF5SW5T
ZWNvbmRzICsgMzA7Ci0gICAgICAgIGlmIChpbnRlcm5hbHMpIHsKLSAgICAgICAgICAgIGxldCBj
b29raWVzID0gaW50ZXJuYWxzLmdldENvb2tpZXMoKTsKLSAgICAgICAgICAgIGlmICghY29va2ll
cy5sZW5ndGgpCi0gICAgICAgICAgICAgICAgdGVzdEZhaWxlZCgiTm8gY29va2llcyBmb3VuZC4i
KTsKLSAgICAgICAgICAgIGZvciAobGV0IGNvb2tpZSBvZiBjb29raWVzKSB7Ci0gICAgICAgICAg
ICAgICAgc3dpdGNoIChjb29raWUubmFtZSkgewotICAgICAgICAgICAgICAgICAgICBjYXNlIHNo
b3J0TGl2ZWRDb29raWVNYXhBZ2UubmFtZToKLSAgICAgICAgICAgICAgICAgICAgICAgIGNoZWNr
VGhhdENvb2tpZURvZXNOb3RFeHBpcmVBZnRlcihjb29raWUsIG92ZXJUd2VsdmVIb3Vyc0luU2Vj
b25kcyk7Ci0gICAgICAgICAgICAgICAgICAgICAgICBicmVhazsKLSAgICAgICAgICAgICAgICAg
ICAgY2FzZSBzaG9ydExpdmVkQ29va2llRXhwaXJlcy5uYW1lOgotICAgICAgICAgICAgICAgICAg
ICAgICAgY2hlY2tUaGF0Q29va2llRG9lc05vdEV4cGlyZUFmdGVyKGNvb2tpZSwgb3ZlclR3ZWx2
ZUhvdXJzSW5TZWNvbmRzKTsKLSAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOwotICAgICAg
ICAgICAgICAgICAgICBjYXNlIGxvbmdMaXZlZENvb2tpZU1heEFnZS5uYW1lOgotICAgICAgICAg
ICAgICAgICAgICAgICAgY2hlY2tUaGF0Q29va2llRG9lc05vdEV4cGlyZUFmdGVyKGNvb2tpZSwg
b3Zlck9uZURheUluU2Vjb25kcyk7Ci0gICAgICAgICAgICAgICAgICAgICAgICBicmVhazsKLSAg
ICAgICAgICAgICAgICAgICAgY2FzZSBsb25nTGl2ZWRDb29raWVFeHBpcmVzLm5hbWU6Ci0gICAg
ICAgICAgICAgICAgICAgICAgICBjaGVja1RoYXRDb29raWVEb2VzTm90RXhwaXJlQWZ0ZXIoY29v
a2llLCBvdmVyT25lRGF5SW5TZWNvbmRzKTsKLSAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFr
OwotICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgIH0KLQotICAgICAgICAgICAgcmVzZXRD
b29raWVzRm9yQ3VycmVudE9yaWdpbigpOwotCi0gICAgICAgICAgICBpZiAocGFzc2VkVGVzdHMg
PT09IDQpIHsKLSAgICAgICAgICAgICAgICB0ZXN0UGFzc2VkKCJUaGUgdHdvIHNob3J0LWxpdmVk
IGNvb2tpZXMgZG9uJ3QgZXhwaXJlIGFmdGVyIG1vcmUgdGhhbiAiICsgb3ZlclR3ZWx2ZUhvdXJz
SW5TZWNvbmRzICsgIiBzZWNvbmRzLiIpOwotICAgICAgICAgICAgICAgIHRlc3RQYXNzZWQoIlRo
ZSB0d28gbG9uZy1saXZlZCBjb29raWVzIGRvbid0IGV4cGlyZSBhZnRlciBtb3JlIHRoYW4gIiAr
IG92ZXJPbmVEYXlJblNlY29uZHMgKyAiIHNlY29uZHMuIik7Ci0gICAgICAgICAgICB9IGVsc2UK
LSAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKCJBdCBsZWFzdCBvbmUgY29va2llJ3MgZXhwaXJ5
IGF0dHJpYnV0ZSB3YXMgYmV5b25kIHRoZSB0ZXN0IHRocmVzaG9sZHMuIik7Ci0gICAgICAgIH0g
ZWxzZQotICAgICAgICAgICAgdGVzdEZhaWxlZCgiTm8gaW50ZXJuYWxzIG9iamVjdC4iKTsKLQot
ICAgICAgICBzZXRFbmFibGVGZWF0dXJlKGZhbHNlLCBmaW5pc2hKU1Rlc3QpOwotICAgIH0KLQot
ICAgIGZ1bmN0aW9uIG5hdmlnYXRlQ3Jvc3NPcmlnaW4oKSB7Ci0gICAgICAgIGRvY3VtZW50Lmxv
Y2F0aW9uLmhyZWYgPSBkZXN0aW5hdGlvbk9yaWdpbiArICIvcmVzb3VyY2VMb2FkU3RhdGlzdGlj
cy9jYXBwZWQtbGlmZXRpbWUtZm9yLWNvb2tpZS1zZXQtaW4tanMtd2l0aC1saW5rLWZyYWdtZW50
LWZyb20tcHJldmFsZW50LXJlc291cmNlLmh0bWwjbGluaz1mcmFnbWVudCI7Ci0gICAgfQotCi0g
ICAgY29uc3QgZGVzdGluYXRpb25PcmlnaW4gPSAiaHR0cDovL2xvY2FsaG9zdDo4MDAwIjsKLSAg
ICBjb25zdCBwcmV2YWxlbnRSZXNvdXJjZU9yaWdpbiA9ICJodHRwOi8vMTI3LjAuMC4xOjgwMDAi
OwotICAgIGZ1bmN0aW9uIHJ1blRlc3QoKSB7Ci0gICAgICAgIGlmIChkb2N1bWVudC5sb2NhdGlv
bi5vcmlnaW4gPT09IHByZXZhbGVudFJlc291cmNlT3JpZ2luKSB7Ci0gICAgICAgICAgICB0ZXN0
UnVubmVyLnNldFVzZUlUUERhdGFiYXNlKHRydWUpOwotICAgICAgICAgICAgc2V0RW5hYmxlRmVh
dHVyZSh0cnVlLCBmdW5jdGlvbiAoKSB7Ci0gICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5zZXRT
dGF0aXN0aWNzUHJldmFsZW50UmVzb3VyY2UocHJldmFsZW50UmVzb3VyY2VPcmlnaW4sIHRydWUs
IGZ1bmN0aW9uKCkgewotICAgICAgICAgICAgICAgICAgICBpZiAoIXRlc3RSdW5uZXIuaXNTdGF0
aXN0aWNzUHJldmFsZW50UmVzb3VyY2UocHJldmFsZW50UmVzb3VyY2VPcmlnaW4pKQotICAgICAg
ICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZCgiSG9zdCBkaWQgbm90IGdldCBzZXQgYXMgcHJl
dmFsZW50IHJlc291cmNlLiIpOwotICAgICAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLnN0YXRp
c3RpY3NVcGRhdGVDb29raWVCbG9ja2luZyhuYXZpZ2F0ZUNyb3NzT3JpZ2luKTsKLSAgICAgICAg
ICAgICAgICB9KTsKLQotICAgICAgICAgICAgfSk7Ci0gICAgICAgIH0gZWxzZSB7Ci0gICAgICAg
ICAgICB0ZXN0Q29va2llcygpOwotICAgICAgICB9Ci0gICAgfQotPC9zY3JpcHQ+Ci08L2JvZHk+
Ci08L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9h
ZFN0YXRpc3RpY3MvY2FwcGVkLWxpZmV0aW1lLWZvci1jb29raWUtc2V0LWluLWpzLXdpdGgtbGlu
ay1xdWVyeS1hbmQtZnJhZ21lbnQtZnJvbS1wcmV2YWxlbnQtcmVzb3VyY2UtZGF0YWJhc2UtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNz
L2NhcHBlZC1saWZldGltZS1mb3ItY29va2llLXNldC1pbi1qcy13aXRoLWxpbmstcXVlcnktYW5k
LWZyYWdtZW50LWZyb20tcHJldmFsZW50LXJlc291cmNlLWRhdGFiYXNlLWV4cGVjdGVkLnR4dApk
ZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNmU5OGRjOGY5MGUyZGExYjE5ODNiNDhkYzE4
NmVhZDdhNjk2NWQ3YS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAot
LS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY2FwcGVk
LWxpZmV0aW1lLWZvci1jb29raWUtc2V0LWluLWpzLXdpdGgtbGluay1xdWVyeS1hbmQtZnJhZ21l
bnQtZnJvbS1wcmV2YWxlbnQtcmVzb3VyY2UtZGF0YWJhc2UtZXhwZWN0ZWQudHh0CisrKyAvZGV2
L251bGwKQEAgLTEsMTEgKzAsMCBAQAotQ2hlY2sgdGhhdCBjb29raWVzIGNyZWF0ZWQgYnkgSmF2
YVNjcmlwdCBhZnRlciBhIGNyb3NzLXNpdGUgbmF2aWdhdGlvbiB3aXRoIGxpbmsgcXVlcnkgYW5k
IGZyYWdtZW50IGdldCBjYXBwZWQgdG8gMjQgaG91cnMuCi0KLU9uIHN1Y2Nlc3MsIHlvdSB3aWxs
IHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBM
RVRFIi4KLQotCi1QQVNTIFRoZSB0d28gc2hvcnQtbGl2ZWQgY29va2llcyBkb24ndCBleHBpcmUg
YWZ0ZXIgbW9yZSB0aGFuIDQzMjMwIHNlY29uZHMuCi1QQVNTIFRoZSB0d28gbG9uZy1saXZlZCBj
b29raWVzIGRvbid0IGV4cGlyZSBhZnRlciBtb3JlIHRoYW4gODY0MzAgc2Vjb25kcy4KLVBBU1Mg
c3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKLQotVEVTVCBDT01QTEVURQotCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY2FwcGVkLWxp
ZmV0aW1lLWZvci1jb29raWUtc2V0LWluLWpzLXdpdGgtbGluay1xdWVyeS1hbmQtZnJhZ21lbnQt
ZnJvbS1wcmV2YWxlbnQtcmVzb3VyY2UtZGF0YWJhc2UuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAv
dGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jYXBwZWQtbGlmZXRpbWUtZm9yLWNvb2tpZS1z
ZXQtaW4tanMtd2l0aC1saW5rLXF1ZXJ5LWFuZC1mcmFnbWVudC1mcm9tLXByZXZhbGVudC1yZXNv
dXJjZS1kYXRhYmFzZS5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAzNTkxZWI0
ZTk1OGZiMWI1MGRiN2Y4MjJhMjAwZWNjYzY3MzgyNDE2Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VM
b2FkU3RhdGlzdGljcy9jYXBwZWQtbGlmZXRpbWUtZm9yLWNvb2tpZS1zZXQtaW4tanMtd2l0aC1s
aW5rLXF1ZXJ5LWFuZC1mcmFnbWVudC1mcm9tLXByZXZhbGVudC1yZXNvdXJjZS1kYXRhYmFzZS5o
dG1sCisrKyAvZGV2L251bGwKQEAgLTEsMTAxICswLDAgQEAKLTwhRE9DVFlQRSBodG1sPgotPGh0
bWw+Ci08aGVhZD4KLSAgICA8c2NyaXB0IHNyYz0iL2pzLXRlc3QtcmVzb3VyY2VzL2pzLXRlc3Qu
anMiPjwvc2NyaXB0PgotICAgIDxzY3JpcHQgc3JjPSIvY29va2llcy9yZXNvdXJjZXMvY29va2ll
LXV0aWxpdGllcy5qcyI+PC9zY3JpcHQ+Ci0gICAgPHNjcmlwdCBzcmM9InJlc291cmNlcy91dGls
LmpzIj48L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5IG9ubG9hZD0ic2V0VGltZW91dCgncnVuVGVz
dCgpJywgMCkiPgotPHNjcmlwdD4KLSAgICBkZXNjcmlwdGlvbigiQ2hlY2sgdGhhdCBjb29raWVz
IGNyZWF0ZWQgYnkgSmF2YVNjcmlwdCBhZnRlciBhIGNyb3NzLXNpdGUgbmF2aWdhdGlvbiB3aXRo
IGxpbmsgcXVlcnkgYW5kIGZyYWdtZW50IGdldCBjYXBwZWQgdG8gMjQgaG91cnMuIik7Ci0gICAg
anNUZXN0SXNBc3luYyA9IHRydWU7Ci0KLSAgICBmdW5jdGlvbiB0ZXN0Q29va2llcygpIHsKLSAg
ICAgICAgbGV0IHBhc3NlZFRlc3RzID0gMDsKLSAgICAgICAgZnVuY3Rpb24gY2hlY2tUaGF0Q29v
a2llRG9lc05vdEV4cGlyZUFmdGVyKGNvb2tpZURhdGEsIG1heEFnZUluU2Vjb25kcykgewotICAg
ICAgICAgICAgbGV0IG5vdyA9IG5ldyBEYXRlKCk7Ci0gICAgICAgICAgICBsZXQgbWF4RXhwaXJ5
RGF0ZUluTWlsbGlzZWNvbmRzID0gbm93LmdldFRpbWUoKSArIChtYXhBZ2VJblNlY29uZHMgKiAx
MDAwKTsKLQotICAgICAgICAgICAgaWYgKG1heEV4cGlyeURhdGVJbk1pbGxpc2Vjb25kcyA+IGNv
b2tpZURhdGFbImV4cGlyZXMiXSkKLSAgICAgICAgICAgICAgICArK3Bhc3NlZFRlc3RzOwotICAg
ICAgICAgICAgZWxzZQotICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoIkNvb2tpZSBuYW1lZCAi
ICsgY29va2llRGF0YVsibmFtZSJdICsgIiBleHBpcmVzIGluIG1vcmUgdGhhbiAiICsgbWF4QWdl
SW5TZWNvbmRzICsgIiBzZWNvbmRzLiIpOwotICAgICAgICB9Ci0KLSAgICAgICAgY29uc3QgdHdl
bHZlSG91cnNJblNlY29uZHMgPSAxMiAqIDYwICogNjA7Ci0gICAgICAgIGNvbnN0IHNob3J0TGl2
ZWRDb29raWVNYXhBZ2UgPSB7IG5hbWUgOiAic2hvcnRMaXZlZENvb2tpZU1heEFnZSIsIGxpZmV0
aW1lIDogIk1heC1BZ2U9IiArIHR3ZWx2ZUhvdXJzSW5TZWNvbmRzICsgIjsiIH07Ci0gICAgICAg
IGRvY3VtZW50LmNvb2tpZSA9IHNob3J0TGl2ZWRDb29raWVNYXhBZ2UubmFtZSArICI9Zm9vYmFy
OyAiICsgc2hvcnRMaXZlZENvb2tpZU1heEFnZS5saWZldGltZSArICIgcGF0aD0vIjsKLQotICAg
ICAgICBjb25zdCB0d2VsdmVIb3Vyc0FzRXhwaXJlc0RhdGUgPSBjcmVhdGVFeHBpcmVzRGF0ZUZy
b21NYXhBZ2UodHdlbHZlSG91cnNJblNlY29uZHMpOwotICAgICAgICBjb25zdCBzaG9ydExpdmVk
Q29va2llRXhwaXJlcyA9IHsgbmFtZSA6ICJzaG9ydExpdmVkQ29va2llRXhwaXJlcyIsIGxpZmV0
aW1lIDogIkV4cGlyZXM9IiArIHR3ZWx2ZUhvdXJzQXNFeHBpcmVzRGF0ZSArICI7IiB9OwotICAg
ICAgICBkb2N1bWVudC5jb29raWUgPSBzaG9ydExpdmVkQ29va2llRXhwaXJlcy5uYW1lICsgIj1m
b29iYXI7ICIgKyBzaG9ydExpdmVkQ29va2llRXhwaXJlcy5saWZldGltZSArICIgcGF0aD0vIjsK
LQotICAgICAgICBjb25zdCBvbmVEYXlJblNlY29uZHMgPSAyICogdHdlbHZlSG91cnNJblNlY29u
ZHM7Ci0gICAgICAgIGNvbnN0IHR3b0RheXNJblNlY29uZHMgPSAyICogb25lRGF5SW5TZWNvbmRz
OwotICAgICAgICBjb25zdCBsb25nTGl2ZWRDb29raWVNYXhBZ2UgPSB7IG5hbWUgOiAibG9uZ0xp
dmVkQ29va2llTWF4QWdlIiwgbGlmZXRpbWUgOiAiTWF4LUFnZT0iICsgdHdvRGF5c0luU2Vjb25k
cyArICI7IiB9OwotICAgICAgICBkb2N1bWVudC5jb29raWUgPSBsb25nTGl2ZWRDb29raWVNYXhB
Z2UubmFtZSArICI9Zm9vYmFyOyAiICsgbG9uZ0xpdmVkQ29va2llTWF4QWdlLmxpZmV0aW1lICsg
IiBwYXRoPS8iOwotCi0gICAgICAgIGNvbnN0IHR3b0RheXNBc0V4cGlyZXNEYXRlID0gY3JlYXRl
RXhwaXJlc0RhdGVGcm9tTWF4QWdlKHR3b0RheXNJblNlY29uZHMpOwotICAgICAgICBjb25zdCBs
b25nTGl2ZWRDb29raWVFeHBpcmVzID0geyBuYW1lIDogImxvbmdMaXZlZENvb2tpZUV4cGlyZXMi
LCBsaWZldGltZSA6ICJFeHBpcmVzPSIgKyB0d29EYXlzQXNFeHBpcmVzRGF0ZSArICI7IiB9Owot
ICAgICAgICBkb2N1bWVudC5jb29raWUgPSBsb25nTGl2ZWRDb29raWVFeHBpcmVzLm5hbWUgKyAi
PWZvb2JhcjsgIiArIGxvbmdMaXZlZENvb2tpZUV4cGlyZXMubGlmZXRpbWUgKyAiIHBhdGg9LyI7
Ci0KLSAgICAgICAgY29uc3Qgb3ZlclR3ZWx2ZUhvdXJzSW5TZWNvbmRzID0gdHdlbHZlSG91cnNJ
blNlY29uZHMgKyAzMDsKLSAgICAgICAgY29uc3Qgb3Zlck9uZURheUluU2Vjb25kcyA9IG9uZURh
eUluU2Vjb25kcyArIDMwOwotICAgICAgICBpZiAoaW50ZXJuYWxzKSB7Ci0gICAgICAgICAgICBs
ZXQgY29va2llcyA9IGludGVybmFscy5nZXRDb29raWVzKCk7Ci0gICAgICAgICAgICBpZiAoIWNv
b2tpZXMubGVuZ3RoKQotICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoIk5vIGNvb2tpZXMgZm91
bmQuIik7Ci0gICAgICAgICAgICBmb3IgKGxldCBjb29raWUgb2YgY29va2llcykgewotICAgICAg
ICAgICAgICAgIHN3aXRjaCAoY29va2llLm5hbWUpIHsKLSAgICAgICAgICAgICAgICAgICAgY2Fz
ZSBzaG9ydExpdmVkQ29va2llTWF4QWdlLm5hbWU6Ci0gICAgICAgICAgICAgICAgICAgICAgICBj
aGVja1RoYXRDb29raWVEb2VzTm90RXhwaXJlQWZ0ZXIoY29va2llLCBvdmVyVHdlbHZlSG91cnNJ
blNlY29uZHMpOwotICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgICAgICAg
ICAgICAgIGNhc2Ugc2hvcnRMaXZlZENvb2tpZUV4cGlyZXMubmFtZToKLSAgICAgICAgICAgICAg
ICAgICAgICAgIGNoZWNrVGhhdENvb2tpZURvZXNOb3RFeHBpcmVBZnRlcihjb29raWUsIG92ZXJU
d2VsdmVIb3Vyc0luU2Vjb25kcyk7Ci0gICAgICAgICAgICAgICAgICAgICAgICBicmVhazsKLSAg
ICAgICAgICAgICAgICAgICAgY2FzZSBsb25nTGl2ZWRDb29raWVNYXhBZ2UubmFtZToKLSAgICAg
ICAgICAgICAgICAgICAgICAgIGNoZWNrVGhhdENvb2tpZURvZXNOb3RFeHBpcmVBZnRlcihjb29r
aWUsIG92ZXJPbmVEYXlJblNlY29uZHMpOwotICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7
Ci0gICAgICAgICAgICAgICAgICAgIGNhc2UgbG9uZ0xpdmVkQ29va2llRXhwaXJlcy5uYW1lOgot
ICAgICAgICAgICAgICAgICAgICAgICAgY2hlY2tUaGF0Q29va2llRG9lc05vdEV4cGlyZUFmdGVy
KGNvb2tpZSwgb3Zlck9uZURheUluU2Vjb25kcyk7Ci0gICAgICAgICAgICAgICAgICAgICAgICBi
cmVhazsKLSAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICB9Ci0KLSAgICAgICAgICAgIHJl
c2V0Q29va2llc0ZvckN1cnJlbnRPcmlnaW4oKTsKLQotICAgICAgICAgICAgaWYgKHBhc3NlZFRl
c3RzID09PSA0KSB7Ci0gICAgICAgICAgICAgICAgdGVzdFBhc3NlZCgiVGhlIHR3byBzaG9ydC1s
aXZlZCBjb29raWVzIGRvbid0IGV4cGlyZSBhZnRlciBtb3JlIHRoYW4gIiArIG92ZXJUd2VsdmVI
b3Vyc0luU2Vjb25kcyArICIgc2Vjb25kcy4iKTsKLSAgICAgICAgICAgICAgICB0ZXN0UGFzc2Vk
KCJUaGUgdHdvIGxvbmctbGl2ZWQgY29va2llcyBkb24ndCBleHBpcmUgYWZ0ZXIgbW9yZSB0aGFu
ICIgKyBvdmVyT25lRGF5SW5TZWNvbmRzICsgIiBzZWNvbmRzLiIpOwotICAgICAgICAgICAgfSBl
bHNlCi0gICAgICAgICAgICAgICAgdGVzdEZhaWxlZCgiQXQgbGVhc3Qgb25lIGNvb2tpZSdzIGV4
cGlyeSBhdHRyaWJ1dGUgd2FzIGJleW9uZCB0aGUgdGVzdCB0aHJlc2hvbGRzLiIpOwotICAgICAg
ICB9IGVsc2UKLSAgICAgICAgICAgIHRlc3RGYWlsZWQoIk5vIGludGVybmFscyBvYmplY3QuIik7
Ci0KLSAgICAgICAgc2V0RW5hYmxlRmVhdHVyZShmYWxzZSwgZmluaXNoSlNUZXN0KTsKLSAgICB9
Ci0KLSAgICBmdW5jdGlvbiBuYXZpZ2F0ZUNyb3NzT3JpZ2luKCkgewotICAgICAgICBkb2N1bWVu
dC5sb2NhdGlvbi5ocmVmID0gZGVzdGluYXRpb25PcmlnaW4gKyAiL3Jlc291cmNlTG9hZFN0YXRp
c3RpY3MvY2FwcGVkLWxpZmV0aW1lLWZvci1jb29raWUtc2V0LWluLWpzLXdpdGgtbGluay1xdWVy
eS1hbmQtZnJhZ21lbnQtZnJvbS1wcmV2YWxlbnQtcmVzb3VyY2UuaHRtbD9saW5rPXF1ZXJ5I2xp
bms9ZnJhZ21lbnQiOwotICAgIH0KLQotICAgIGNvbnN0IGRlc3RpbmF0aW9uT3JpZ2luID0gImh0
dHA6Ly9sb2NhbGhvc3Q6ODAwMCI7Ci0gICAgY29uc3QgcHJldmFsZW50UmVzb3VyY2VPcmlnaW4g
PSAiaHR0cDovLzEyNy4wLjAuMTo4MDAwIjsKLSAgICBmdW5jdGlvbiBydW5UZXN0KCkgewotICAg
ICAgICBpZiAoZG9jdW1lbnQubG9jYXRpb24ub3JpZ2luID09PSBwcmV2YWxlbnRSZXNvdXJjZU9y
aWdpbikgewotICAgICAgICAgICAgdGVzdFJ1bm5lci5zZXRVc2VJVFBEYXRhYmFzZSh0cnVlKTsK
LSAgICAgICAgICAgIHNldEVuYWJsZUZlYXR1cmUodHJ1ZSwgZnVuY3Rpb24gKCkgewotICAgICAg
ICAgICAgICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc1ByZXZhbGVudFJlc291cmNlKHByZXZh
bGVudFJlc291cmNlT3JpZ2luLCB0cnVlLCBmdW5jdGlvbigpIHsKLSAgICAgICAgICAgICAgICAg
ICAgaWYgKCF0ZXN0UnVubmVyLmlzU3RhdGlzdGljc1ByZXZhbGVudFJlc291cmNlKHByZXZhbGVu
dFJlc291cmNlT3JpZ2luKSkKLSAgICAgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoIkhv
c3QgZGlkIG5vdCBnZXQgc2V0IGFzIHByZXZhbGVudCByZXNvdXJjZS4iKTsKLSAgICAgICAgICAg
ICAgICAgICAgdGVzdFJ1bm5lci5zdGF0aXN0aWNzVXBkYXRlQ29va2llQmxvY2tpbmcobmF2aWdh
dGVDcm9zc09yaWdpbik7Ci0gICAgICAgICAgICAgICAgfSk7Ci0KLSAgICAgICAgICAgIH0pOwot
ICAgICAgICB9IGVsc2UgewotICAgICAgICAgICAgdGVzdENvb2tpZXMoKTsKLSAgICAgICAgfQot
ICAgIH0KLTwvc2NyaXB0PgotPC9ib2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NhcHBlZC1saWZldGltZS1mb3It
Y29va2llLXNldC1pbi1qcy13aXRoLWxpbmstcXVlcnktZnJvbS1wcmV2YWxlbnQtcmVzb3VyY2Ut
ZGF0YWJhc2UtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxv
YWRTdGF0aXN0aWNzL2NhcHBlZC1saWZldGltZS1mb3ItY29va2llLXNldC1pbi1qcy13aXRoLWxp
bmstcXVlcnktZnJvbS1wcmV2YWxlbnQtcmVzb3VyY2UtZGF0YWJhc2UtZXhwZWN0ZWQudHh0CmRl
bGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBkNDVkZDE2YzJlZTAxMDgwZTNjMWYxYjQwMjA2
YjY2YTgwMmUwYWMxLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0t
LSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jYXBwZWQt
bGlmZXRpbWUtZm9yLWNvb2tpZS1zZXQtaW4tanMtd2l0aC1saW5rLXF1ZXJ5LWZyb20tcHJldmFs
ZW50LXJlc291cmNlLWRhdGFiYXNlLWV4cGVjdGVkLnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDEx
ICswLDAgQEAKLUNoZWNrIHRoYXQgY29va2llcyBjcmVhdGVkIGJ5IEphdmFTY3JpcHQgYWZ0ZXIg
YSBjcm9zcy1zaXRlIG5hdmlnYXRpb24gd2l0aCBsaW5rIHF1ZXJ5IGdldCBjYXBwZWQgdG8gMjQg
aG91cnMuCi0KLU9uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVz
c2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KLQotCi1QQVNTIFRoZSB0d28gc2hv
cnQtbGl2ZWQgY29va2llcyBkb24ndCBleHBpcmUgYWZ0ZXIgbW9yZSB0aGFuIDQzMjMwIHNlY29u
ZHMuCi1QQVNTIFRoZSB0d28gbG9uZy1saXZlZCBjb29raWVzIGRvbid0IGV4cGlyZSBhZnRlciBt
b3JlIHRoYW4gODY0MzAgc2Vjb25kcy4KLVBBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUK
LQotVEVTVCBDT01QTEVURQotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jl
c291cmNlTG9hZFN0YXRpc3RpY3MvY2FwcGVkLWxpZmV0aW1lLWZvci1jb29raWUtc2V0LWluLWpz
LXdpdGgtbGluay1xdWVyeS1mcm9tLXByZXZhbGVudC1yZXNvdXJjZS1kYXRhYmFzZS5odG1sIGIv
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NhcHBlZC1saWZl
dGltZS1mb3ItY29va2llLXNldC1pbi1qcy13aXRoLWxpbmstcXVlcnktZnJvbS1wcmV2YWxlbnQt
cmVzb3VyY2UtZGF0YWJhc2UuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMjVm
MDk3NmIyNDg2NjY2ODljMTgxYWE1OTVmMGMxOGZmNmFmMDUwYi4uMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291
cmNlTG9hZFN0YXRpc3RpY3MvY2FwcGVkLWxpZmV0aW1lLWZvci1jb29raWUtc2V0LWluLWpzLXdp
dGgtbGluay1xdWVyeS1mcm9tLXByZXZhbGVudC1yZXNvdXJjZS1kYXRhYmFzZS5odG1sCisrKyAv
ZGV2L251bGwKQEAgLTEsMTAxICswLDAgQEAKLTwhRE9DVFlQRSBodG1sPgotPGh0bWw+Ci08aGVh
ZD4KLSAgICA8c2NyaXB0IHNyYz0iL2pzLXRlc3QtcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2Ny
aXB0PgotICAgIDxzY3JpcHQgc3JjPSIvY29va2llcy9yZXNvdXJjZXMvY29va2llLXV0aWxpdGll
cy5qcyI+PC9zY3JpcHQ+Ci0gICAgPHNjcmlwdCBzcmM9InJlc291cmNlcy91dGlsLmpzIj48L3Nj
cmlwdD4KLTwvaGVhZD4KLTxib2R5IG9ubG9hZD0ic2V0VGltZW91dCgncnVuVGVzdCgpJywgMCki
PgotPHNjcmlwdD4KLSAgICBkZXNjcmlwdGlvbigiQ2hlY2sgdGhhdCBjb29raWVzIGNyZWF0ZWQg
YnkgSmF2YVNjcmlwdCBhZnRlciBhIGNyb3NzLXNpdGUgbmF2aWdhdGlvbiB3aXRoIGxpbmsgcXVl
cnkgZ2V0IGNhcHBlZCB0byAyNCBob3Vycy4iKTsKLSAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsK
LQotICAgIGZ1bmN0aW9uIHRlc3RDb29raWVzKCkgewotICAgICAgICBsZXQgcGFzc2VkVGVzdHMg
PSAwOwotICAgICAgICBmdW5jdGlvbiBjaGVja1RoYXRDb29raWVEb2VzTm90RXhwaXJlQWZ0ZXIo
Y29va2llRGF0YSwgbWF4QWdlSW5TZWNvbmRzKSB7Ci0gICAgICAgICAgICBsZXQgbm93ID0gbmV3
IERhdGUoKTsKLSAgICAgICAgICAgIGxldCBtYXhFeHBpcnlEYXRlSW5NaWxsaXNlY29uZHMgPSBu
b3cuZ2V0VGltZSgpICsgKG1heEFnZUluU2Vjb25kcyAqIDEwMDApOwotCi0gICAgICAgICAgICBp
ZiAobWF4RXhwaXJ5RGF0ZUluTWlsbGlzZWNvbmRzID4gY29va2llRGF0YVsiZXhwaXJlcyJdKQot
ICAgICAgICAgICAgICAgICsrcGFzc2VkVGVzdHM7Ci0gICAgICAgICAgICBlbHNlCi0gICAgICAg
ICAgICAgICAgdGVzdEZhaWxlZCgiQ29va2llIG5hbWVkICIgKyBjb29raWVEYXRhWyJuYW1lIl0g
KyAiIGV4cGlyZXMgaW4gbW9yZSB0aGFuICIgKyBtYXhBZ2VJblNlY29uZHMgKyAiIHNlY29uZHMu
Iik7Ci0gICAgICAgIH0KLQotICAgICAgICBjb25zdCB0d2VsdmVIb3Vyc0luU2Vjb25kcyA9IDEy
ICogNjAgKiA2MDsKLSAgICAgICAgY29uc3Qgc2hvcnRMaXZlZENvb2tpZU1heEFnZSA9IHsgbmFt
ZSA6ICJzaG9ydExpdmVkQ29va2llTWF4QWdlIiwgbGlmZXRpbWUgOiAiTWF4LUFnZT0iICsgdHdl
bHZlSG91cnNJblNlY29uZHMgKyAiOyIgfTsKLSAgICAgICAgZG9jdW1lbnQuY29va2llID0gc2hv
cnRMaXZlZENvb2tpZU1heEFnZS5uYW1lICsgIj1mb29iYXI7ICIgKyBzaG9ydExpdmVkQ29va2ll
TWF4QWdlLmxpZmV0aW1lICsgIiBwYXRoPS8iOwotCi0gICAgICAgIGNvbnN0IHR3ZWx2ZUhvdXJz
QXNFeHBpcmVzRGF0ZSA9IGNyZWF0ZUV4cGlyZXNEYXRlRnJvbU1heEFnZSh0d2VsdmVIb3Vyc0lu
U2Vjb25kcyk7Ci0gICAgICAgIGNvbnN0IHNob3J0TGl2ZWRDb29raWVFeHBpcmVzID0geyBuYW1l
IDogInNob3J0TGl2ZWRDb29raWVFeHBpcmVzIiwgbGlmZXRpbWUgOiAiRXhwaXJlcz0iICsgdHdl
bHZlSG91cnNBc0V4cGlyZXNEYXRlICsgIjsiIH07Ci0gICAgICAgIGRvY3VtZW50LmNvb2tpZSA9
IHNob3J0TGl2ZWRDb29raWVFeHBpcmVzLm5hbWUgKyAiPWZvb2JhcjsgIiArIHNob3J0TGl2ZWRD
b29raWVFeHBpcmVzLmxpZmV0aW1lICsgIiBwYXRoPS8iOwotCi0gICAgICAgIGNvbnN0IG9uZURh
eUluU2Vjb25kcyA9IDIgKiB0d2VsdmVIb3Vyc0luU2Vjb25kczsKLSAgICAgICAgY29uc3QgdHdv
RGF5c0luU2Vjb25kcyA9IDIgKiBvbmVEYXlJblNlY29uZHM7Ci0gICAgICAgIGNvbnN0IGxvbmdM
aXZlZENvb2tpZU1heEFnZSA9IHsgbmFtZSA6ICJsb25nTGl2ZWRDb29raWVNYXhBZ2UiLCBsaWZl
dGltZSA6ICJNYXgtQWdlPSIgKyB0d29EYXlzSW5TZWNvbmRzICsgIjsiIH07Ci0gICAgICAgIGRv
Y3VtZW50LmNvb2tpZSA9IGxvbmdMaXZlZENvb2tpZU1heEFnZS5uYW1lICsgIj1mb29iYXI7ICIg
KyBsb25nTGl2ZWRDb29raWVNYXhBZ2UubGlmZXRpbWUgKyAiIHBhdGg9LyI7Ci0KLSAgICAgICAg
Y29uc3QgdHdvRGF5c0FzRXhwaXJlc0RhdGUgPSBjcmVhdGVFeHBpcmVzRGF0ZUZyb21NYXhBZ2Uo
dHdvRGF5c0luU2Vjb25kcyk7Ci0gICAgICAgIGNvbnN0IGxvbmdMaXZlZENvb2tpZUV4cGlyZXMg
PSB7IG5hbWUgOiAibG9uZ0xpdmVkQ29va2llRXhwaXJlcyIsIGxpZmV0aW1lIDogIkV4cGlyZXM9
IiArIHR3b0RheXNBc0V4cGlyZXNEYXRlICsgIjsiIH07Ci0gICAgICAgIGRvY3VtZW50LmNvb2tp
ZSA9IGxvbmdMaXZlZENvb2tpZUV4cGlyZXMubmFtZSArICI9Zm9vYmFyOyAiICsgbG9uZ0xpdmVk
Q29va2llRXhwaXJlcy5saWZldGltZSArICIgcGF0aD0vIjsKLQotICAgICAgICBjb25zdCBvdmVy
VHdlbHZlSG91cnNJblNlY29uZHMgPSB0d2VsdmVIb3Vyc0luU2Vjb25kcyArIDMwOwotICAgICAg
ICBjb25zdCBvdmVyT25lRGF5SW5TZWNvbmRzID0gb25lRGF5SW5TZWNvbmRzICsgMzA7Ci0gICAg
ICAgIGlmIChpbnRlcm5hbHMpIHsKLSAgICAgICAgICAgIGxldCBjb29raWVzID0gaW50ZXJuYWxz
LmdldENvb2tpZXMoKTsKLSAgICAgICAgICAgIGlmICghY29va2llcy5sZW5ndGgpCi0gICAgICAg
ICAgICAgICAgdGVzdEZhaWxlZCgiTm8gY29va2llcyBmb3VuZC4iKTsKLSAgICAgICAgICAgIGZv
ciAobGV0IGNvb2tpZSBvZiBjb29raWVzKSB7Ci0gICAgICAgICAgICAgICAgc3dpdGNoIChjb29r
aWUubmFtZSkgewotICAgICAgICAgICAgICAgICAgICBjYXNlIHNob3J0TGl2ZWRDb29raWVNYXhB
Z2UubmFtZToKLSAgICAgICAgICAgICAgICAgICAgICAgIGNoZWNrVGhhdENvb2tpZURvZXNOb3RF
eHBpcmVBZnRlcihjb29raWUsIG92ZXJUd2VsdmVIb3Vyc0luU2Vjb25kcyk7Ci0gICAgICAgICAg
ICAgICAgICAgICAgICBicmVhazsKLSAgICAgICAgICAgICAgICAgICAgY2FzZSBzaG9ydExpdmVk
Q29va2llRXhwaXJlcy5uYW1lOgotICAgICAgICAgICAgICAgICAgICAgICAgY2hlY2tUaGF0Q29v
a2llRG9lc05vdEV4cGlyZUFmdGVyKGNvb2tpZSwgb3ZlclR3ZWx2ZUhvdXJzSW5TZWNvbmRzKTsK
LSAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICAgICAgICAgICAgICBjYXNl
IGxvbmdMaXZlZENvb2tpZU1heEFnZS5uYW1lOgotICAgICAgICAgICAgICAgICAgICAgICAgY2hl
Y2tUaGF0Q29va2llRG9lc05vdEV4cGlyZUFmdGVyKGNvb2tpZSwgb3Zlck9uZURheUluU2Vjb25k
cyk7Ci0gICAgICAgICAgICAgICAgICAgICAgICBicmVhazsKLSAgICAgICAgICAgICAgICAgICAg
Y2FzZSBsb25nTGl2ZWRDb29raWVFeHBpcmVzLm5hbWU6Ci0gICAgICAgICAgICAgICAgICAgICAg
ICBjaGVja1RoYXRDb29raWVEb2VzTm90RXhwaXJlQWZ0ZXIoY29va2llLCBvdmVyT25lRGF5SW5T
ZWNvbmRzKTsKLSAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICAgICAgICAg
IH0KLSAgICAgICAgICAgIH0KLQotICAgICAgICAgICAgcmVzZXRDb29raWVzRm9yQ3VycmVudE9y
aWdpbigpOwotCi0gICAgICAgICAgICBpZiAocGFzc2VkVGVzdHMgPT09IDQpIHsKLSAgICAgICAg
ICAgICAgICB0ZXN0UGFzc2VkKCJUaGUgdHdvIHNob3J0LWxpdmVkIGNvb2tpZXMgZG9uJ3QgZXhw
aXJlIGFmdGVyIG1vcmUgdGhhbiAiICsgb3ZlclR3ZWx2ZUhvdXJzSW5TZWNvbmRzICsgIiBzZWNv
bmRzLiIpOwotICAgICAgICAgICAgICAgIHRlc3RQYXNzZWQoIlRoZSB0d28gbG9uZy1saXZlZCBj
b29raWVzIGRvbid0IGV4cGlyZSBhZnRlciBtb3JlIHRoYW4gIiArIG92ZXJPbmVEYXlJblNlY29u
ZHMgKyAiIHNlY29uZHMuIik7Ci0gICAgICAgICAgICB9IGVsc2UKLSAgICAgICAgICAgICAgICB0
ZXN0RmFpbGVkKCJBdCBsZWFzdCBvbmUgY29va2llJ3MgZXhwaXJ5IGF0dHJpYnV0ZSB3YXMgYmV5
b25kIHRoZSB0ZXN0IHRocmVzaG9sZHMuIik7Ci0gICAgICAgIH0gZWxzZQotICAgICAgICAgICAg
dGVzdEZhaWxlZCgiTm8gaW50ZXJuYWxzIG9iamVjdC4iKTsKLSAgICAgICAgCi0gICAgICAgIHNl
dEVuYWJsZUZlYXR1cmUoZmFsc2UsIGZpbmlzaEpTVGVzdCk7Ci0gICAgfQotCi0gICAgZnVuY3Rp
b24gbmF2aWdhdGVDcm9zc09yaWdpbigpIHsKLSAgICAgICAgZG9jdW1lbnQubG9jYXRpb24uaHJl
ZiA9IGRlc3RpbmF0aW9uT3JpZ2luICsgIi9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NhcHBlZC1s
aWZldGltZS1mb3ItY29va2llLXNldC1pbi1qcy13aXRoLWxpbmstcXVlcnktZnJvbS1wcmV2YWxl
bnQtcmVzb3VyY2UuaHRtbD9saW5rPXF1ZXJ5IjsKLSAgICB9Ci0KLSAgICBjb25zdCBkZXN0aW5h
dGlvbk9yaWdpbiA9ICJodHRwOi8vbG9jYWxob3N0OjgwMDAiOwotICAgIGNvbnN0IHByZXZhbGVu
dFJlc291cmNlT3JpZ2luID0gImh0dHA6Ly8xMjcuMC4wLjE6ODAwMCI7Ci0gICAgZnVuY3Rpb24g
cnVuVGVzdCgpIHsKLSAgICAgICAgaWYgKGRvY3VtZW50LmxvY2F0aW9uLm9yaWdpbiA9PT0gcHJl
dmFsZW50UmVzb3VyY2VPcmlnaW4pIHsKLSAgICAgICAgICAgIHRlc3RSdW5uZXIuc2V0VXNlSVRQ
RGF0YWJhc2UodHJ1ZSk7Ci0gICAgICAgICAgICBzZXRFbmFibGVGZWF0dXJlKHRydWUsIGZ1bmN0
aW9uICgpIHsKLSAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NQcmV2YWxl
bnRSZXNvdXJjZShwcmV2YWxlbnRSZXNvdXJjZU9yaWdpbiwgdHJ1ZSwgZnVuY3Rpb24oKSB7Ci0g
ICAgICAgICAgICAgICAgICAgIGlmICghdGVzdFJ1bm5lci5pc1N0YXRpc3RpY3NQcmV2YWxlbnRS
ZXNvdXJjZShwcmV2YWxlbnRSZXNvdXJjZU9yaWdpbikpCi0gICAgICAgICAgICAgICAgICAgICAg
ICB0ZXN0RmFpbGVkKCJIb3N0IGRpZCBub3QgZ2V0IHNldCBhcyBwcmV2YWxlbnQgcmVzb3VyY2Uu
Iik7Ci0gICAgICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIuc3RhdGlzdGljc1VwZGF0ZUNvb2tp
ZUJsb2NraW5nKG5hdmlnYXRlQ3Jvc3NPcmlnaW4pOwotICAgICAgICAgICAgICAgIH0pOwotCi0g
ICAgICAgICAgICB9KTsKLSAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAgIHRlc3RDb29raWVz
KCk7Ci0gICAgICAgIH0KLSAgICB9Ci08L3NjcmlwdD4KLTwvYm9keT4KLTwvaHRtbD4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jYXBw
ZWQtbGlmZXRpbWUtZm9yLWNvb2tpZS1zZXQtaW4tanMtd2l0aG91dC1saW5rLWRlY29yYXRpb24t
ZnJvbS1wcmV2YWxlbnQtcmVzb3VyY2UtZGF0YWJhc2UtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NhcHBlZC1saWZldGltZS1mb3It
Y29va2llLXNldC1pbi1qcy13aXRob3V0LWxpbmstZGVjb3JhdGlvbi1mcm9tLXByZXZhbGVudC1y
ZXNvdXJjZS1kYXRhYmFzZS1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDNiZjY0OWE1N2UxMzY0YzA2MDY0NTY5NDEzMDQ1NDExMzc0NTgzMDEuLjAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0
cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NhcHBlZC1saWZldGltZS1mb3ItY29va2llLXNldC1p
bi1qcy13aXRob3V0LWxpbmstZGVjb3JhdGlvbi1mcm9tLXByZXZhbGVudC1yZXNvdXJjZS1kYXRh
YmFzZS1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSwxMCArMCwwIEBACi1DaGVjayB0
aGF0IGNvb2tpZXMgY3JlYXRlZCBieSBKYXZhU2NyaXB0IGFmdGVyIGEgY3Jvc3Mtc2l0ZSBuYXZp
Z2F0aW9uIHdpdGhvdXQgbGluayBkZWNvcmF0aW9uIGRvbid0IGdldCBjYXBwZWQgdG8gMjQgaG91
cnMuCi0KLU9uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2Fn
ZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KLQotCi1QQVNTIFRoZSB0d28gbG9uZy1s
aXZlZCBjb29raWVzIGV4cGlyZSBhZnRlciBtb3JlIHRoYW4gODY0MzAgc2Vjb25kcy4KLVBBU1Mg
c3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKLQotVEVTVCBDT01QTEVURQotCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY2FwcGVkLWxp
ZmV0aW1lLWZvci1jb29raWUtc2V0LWluLWpzLXdpdGhvdXQtbGluay1kZWNvcmF0aW9uLWZyb20t
cHJldmFsZW50LXJlc291cmNlLWRhdGFiYXNlLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY2FwcGVkLWxpZmV0aW1lLWZvci1jb29raWUtc2V0LWlu
LWpzLXdpdGhvdXQtbGluay1kZWNvcmF0aW9uLWZyb20tcHJldmFsZW50LXJlc291cmNlLWRhdGFi
YXNlLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGFlNDdiNDk0ODdlODk2NzI5
ZDBhNGI3NzcwYjUxZDc4M2Y0ZThjZjAuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0
aWNzL2NhcHBlZC1saWZldGltZS1mb3ItY29va2llLXNldC1pbi1qcy13aXRob3V0LWxpbmstZGVj
b3JhdGlvbi1mcm9tLXByZXZhbGVudC1yZXNvdXJjZS1kYXRhYmFzZS5odG1sCisrKyAvZGV2L251
bGwKQEAgLTEsODYgKzAsMCBAQAotPCFET0NUWVBFIGh0bWw+Ci08aHRtbD4KLTxoZWFkPgotICAg
IDxzY3JpcHQgc3JjPSIvanMtdGVzdC1yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+Ci0g
ICAgPHNjcmlwdCBzcmM9Ii9jb29raWVzL3Jlc291cmNlcy9jb29raWUtdXRpbGl0aWVzLmpzIj48
L3NjcmlwdD4KLSAgICA8c2NyaXB0IHNyYz0icmVzb3VyY2VzL3V0aWwuanMiPjwvc2NyaXB0Pgot
PC9oZWFkPgotPGJvZHkgb25sb2FkPSJzZXRUaW1lb3V0KCdydW5UZXN0KCknLCAwKSI+Ci08c2Ny
aXB0PgotICAgIGRlc2NyaXB0aW9uKCJDaGVjayB0aGF0IGNvb2tpZXMgY3JlYXRlZCBieSBKYXZh
U2NyaXB0IGFmdGVyIGEgY3Jvc3Mtc2l0ZSBuYXZpZ2F0aW9uIHdpdGhvdXQgbGluayBkZWNvcmF0
aW9uIGRvbid0IGdldCBjYXBwZWQgdG8gMjQgaG91cnMuIik7Ci0gICAganNUZXN0SXNBc3luYyA9
IHRydWU7Ci0KLSAgICBmdW5jdGlvbiB0ZXN0Q29va2llcygpIHsKLSAgICAgICAgbGV0IHBhc3Nl
ZFRlc3RzID0gMDsKLQotICAgICAgICBmdW5jdGlvbiBjaGVja1RoYXRDb29raWVEb2VzRXhwaXJl
QWZ0ZXIoY29va2llRGF0YSwgbWF4QWdlSW5TZWNvbmRzKSB7Ci0gICAgICAgICAgICBsZXQgbm93
ID0gbmV3IERhdGUoKTsKLSAgICAgICAgICAgIGxldCBtYXhFeHBpcnlEYXRlSW5NaWxsaXNlY29u
ZHMgPSBub3cuZ2V0VGltZSgpICsgKG1heEFnZUluU2Vjb25kcyAqIDEwMDApOwotCi0gICAgICAg
ICAgICBpZiAobWF4RXhwaXJ5RGF0ZUluTWlsbGlzZWNvbmRzIDwgY29va2llRGF0YVsiZXhwaXJl
cyJdKQotICAgICAgICAgICAgICAgICsrcGFzc2VkVGVzdHM7Ci0gICAgICAgICAgICBlbHNlCi0g
ICAgICAgICAgICAgICAgdGVzdEZhaWxlZCgiQ29va2llIG5hbWVkICIgKyBjb29raWVEYXRhWyJu
YW1lIl0gKyAiIGV4cGlyZXMgaW4gbGVzcyB0aGFuICIgKyBtYXhBZ2VJblNlY29uZHMgKyAiIHNl
Y29uZHMuIik7Ci0gICAgICAgIH0KLQotICAgICAgICBjb25zdCBvbmVEYXlJblNlY29uZHMgPSAy
NCAqIDYwICogNjA7Ci0gICAgICAgIGNvbnN0IHR3b0RheXNJblNlY29uZHMgPSAyICogb25lRGF5
SW5TZWNvbmRzOwotICAgICAgICBjb25zdCBsb25nTGl2ZWRDb29raWVNYXhBZ2UgPSB7IG5hbWUg
OiAibG9uZ0xpdmVkQ29va2llTWF4QWdlIiwgbGlmZXRpbWUgOiAiTWF4LUFnZT0iICsgdHdvRGF5
c0luU2Vjb25kcyArICI7IiB9OwotICAgICAgICBkb2N1bWVudC5jb29raWUgPSBsb25nTGl2ZWRD
b29raWVNYXhBZ2UubmFtZSArICI9Zm9vYmFyOyAiICsgbG9uZ0xpdmVkQ29va2llTWF4QWdlLmxp
ZmV0aW1lICsgIiBwYXRoPS8iOwotCi0gICAgICAgIGNvbnN0IHR3b0RheXNBc0V4cGlyZXNEYXRl
ID0gY3JlYXRlRXhwaXJlc0RhdGVGcm9tTWF4QWdlKHR3b0RheXNJblNlY29uZHMpOwotICAgICAg
ICBjb25zdCBsb25nTGl2ZWRDb29raWVFeHBpcmVzID0geyBuYW1lIDogImxvbmdMaXZlZENvb2tp
ZUV4cGlyZXMiLCBsaWZldGltZSA6ICJFeHBpcmVzPSIgKyB0d29EYXlzQXNFeHBpcmVzRGF0ZSAr
ICI7IiB9OwotICAgICAgICBkb2N1bWVudC5jb29raWUgPSBsb25nTGl2ZWRDb29raWVFeHBpcmVz
Lm5hbWUgKyAiPWZvb2JhcjsgIiArIGxvbmdMaXZlZENvb2tpZUV4cGlyZXMubGlmZXRpbWUgKyAi
IHBhdGg9LyI7Ci0KLSAgICAgICAgY29uc3Qgb3Zlck9uZURheUluU2Vjb25kcyA9IG9uZURheUlu
U2Vjb25kcyArIDMwOwotICAgICAgICBpZiAoaW50ZXJuYWxzKSB7Ci0gICAgICAgICAgICBsZXQg
Y29va2llcyA9IGludGVybmFscy5nZXRDb29raWVzKCk7Ci0gICAgICAgICAgICBpZiAoIWNvb2tp
ZXMubGVuZ3RoKQotICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoIk5vIGNvb2tpZXMgZm91bmQu
Iik7Ci0gICAgICAgICAgICBmb3IgKGxldCBjb29raWUgb2YgY29va2llcykgewotICAgICAgICAg
ICAgICAgIHN3aXRjaCAoY29va2llLm5hbWUpIHsKLSAgICAgICAgICAgICAgICAgICAgY2FzZSBs
b25nTGl2ZWRDb29raWVNYXhBZ2UubmFtZToKLSAgICAgICAgICAgICAgICAgICAgICAgIGNoZWNr
VGhhdENvb2tpZURvZXNFeHBpcmVBZnRlcihjb29raWUsIG92ZXJPbmVEYXlJblNlY29uZHMpOwot
ICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgICAgICAgICAgICAgIGNhc2Ug
bG9uZ0xpdmVkQ29va2llRXhwaXJlcy5uYW1lOgotICAgICAgICAgICAgICAgICAgICAgICAgY2hl
Y2tUaGF0Q29va2llRG9lc0V4cGlyZUFmdGVyKGNvb2tpZSwgb3Zlck9uZURheUluU2Vjb25kcyk7
Ci0gICAgICAgICAgICAgICAgICAgICAgICBicmVhazsKLSAgICAgICAgICAgICAgICB9Ci0gICAg
ICAgICAgICB9Ci0KLSAgICAgICAgICAgIHJlc2V0Q29va2llc0ZvckN1cnJlbnRPcmlnaW4oKTsK
LQotICAgICAgICAgICAgaWYgKHBhc3NlZFRlc3RzID09PSAyKSB7Ci0gICAgICAgICAgICAgICAg
dGVzdFBhc3NlZCgiVGhlIHR3byBsb25nLWxpdmVkIGNvb2tpZXMgZXhwaXJlIGFmdGVyIG1vcmUg
dGhhbiAiICsgb3Zlck9uZURheUluU2Vjb25kcyArICIgc2Vjb25kcy4iKTsKLSAgICAgICAgICAg
IH0gZWxzZQotICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoIkF0IGxlYXN0IG9uZSBjb29raWUn
cyBleHBpcnkgYXR0cmlidXRlIHdhcyBiZWxvdyB0aGUgdGVzdCB0aHJlc2hvbGRzLiIpOwotICAg
ICAgICB9IGVsc2UKLSAgICAgICAgICAgIHRlc3RGYWlsZWQoIk5vIGludGVybmFscyBvYmplY3Qu
Iik7Ci0gICAgICAgICAgICAKLSAgICAgICAgc2V0RW5hYmxlRmVhdHVyZShmYWxzZSwgZmluaXNo
SlNUZXN0KTsKLSAgICB9Ci0KLSAgICBmdW5jdGlvbiBuYXZpZ2F0ZUNyb3NzT3JpZ2luKCkgewot
ICAgICAgICBkb2N1bWVudC5sb2NhdGlvbi5ocmVmID0gZGVzdGluYXRpb25PcmlnaW4gKyAiL3Jl
c291cmNlTG9hZFN0YXRpc3RpY3MvY2FwcGVkLWxpZmV0aW1lLWZvci1jb29raWUtc2V0LWluLWpz
LXdpdGhvdXQtbGluay1kZWNvcmF0aW9uLWZyb20tcHJldmFsZW50LXJlc291cmNlLmh0bWwiOwot
ICAgIH0KLQotICAgIGNvbnN0IGRlc3RpbmF0aW9uT3JpZ2luID0gImh0dHA6Ly9sb2NhbGhvc3Q6
ODAwMCI7Ci0gICAgY29uc3QgcHJldmFsZW50UmVzb3VyY2VPcmlnaW4gPSAiaHR0cDovLzEyNy4w
LjAuMTo4MDAwIjsKLSAgICBmdW5jdGlvbiBydW5UZXN0KCkgewotICAgICAgICBpZiAoZG9jdW1l
bnQubG9jYXRpb24ub3JpZ2luID09PSBwcmV2YWxlbnRSZXNvdXJjZU9yaWdpbikgewotICAgICAg
ICAgICAgdGVzdFJ1bm5lci5zZXRVc2VJVFBEYXRhYmFzZSh0cnVlKTsKLSAgICAgICAgICAgIHNl
dEVuYWJsZUZlYXR1cmUodHJ1ZSwgZnVuY3Rpb24gKCkgewotICAgICAgICAgICAgICAgIHRlc3RS
dW5uZXIuc2V0U3RhdGlzdGljc1ByZXZhbGVudFJlc291cmNlKHByZXZhbGVudFJlc291cmNlT3Jp
Z2luLCB0cnVlLCBmdW5jdGlvbigpIHsKLSAgICAgICAgICAgICAgICAgICAgaWYgKCF0ZXN0UnVu
bmVyLmlzU3RhdGlzdGljc1ByZXZhbGVudFJlc291cmNlKHByZXZhbGVudFJlc291cmNlT3JpZ2lu
KSkKLSAgICAgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoIkhvc3QgZGlkIG5vdCBnZXQg
c2V0IGFzIHByZXZhbGVudCByZXNvdXJjZS4iKTsKLSAgICAgICAgICAgICAgICAgICAgdGVzdFJ1
bm5lci5zdGF0aXN0aWNzVXBkYXRlQ29va2llQmxvY2tpbmcobmF2aWdhdGVDcm9zc09yaWdpbik7
Ci0gICAgICAgICAgICAgICAgfSk7Ci0KLSAgICAgICAgICAgIH0pOwotICAgICAgICB9IGVsc2Ug
ewotICAgICAgICAgICAgdGVzdENvb2tpZXMoKTsKLSAgICAgICAgfQotICAgIH0KLTwvc2NyaXB0
PgotPC9ib2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9y
ZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NsYXNzaWZ5LWFzLW5vbi1wcmV2YWxlbnQtYmFzZWQtb24t
bWl4ZWQtc3RhdGlzdGljcy1kYXRhYmFzZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY2xhc3NpZnktYXMtbm9uLXByZXZhbGVudC1i
YXNlZC1vbi1taXhlZC1zdGF0aXN0aWNzLWRhdGFiYXNlLWV4cGVjdGVkLnR4dApkZWxldGVkIGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMjBjMjU4YjhlMDA1ZDM1NTQxODJhZjA2ZDQ4MjU4M2FlNzdl
NWExMy4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY2xhc3NpZnktYXMtbm9u
LXByZXZhbGVudC1iYXNlZC1vbi1taXhlZC1zdGF0aXN0aWNzLWRhdGFiYXNlLWV4cGVjdGVkLnR4
dAorKysgL2Rldi9udWxsCkBAIC0xLDUgKzAsMCBAQAotUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQg
aXMgdHJ1ZQotCi1URVNUIENPTVBMRVRFCi1QQVNTIEhvc3QgZGlkIG5vdCBnZXQgY2xhc3NpZmll
ZCBhcyBwcmV2YWxlbnQgcmVzb3VyY2UuCi0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAv
dGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jbGFzc2lmeS1hcy1ub24tcHJldmFsZW50LWJh
c2VkLW9uLW1peGVkLXN0YXRpc3RpY3MtZGF0YWJhc2UuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAv
dGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jbGFzc2lmeS1hcy1ub24tcHJldmFsZW50LWJh
c2VkLW9uLW1peGVkLXN0YXRpc3RpY3MtZGF0YWJhc2UuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggNDA1YzgyNjM4YzY5YzYzZjQ0YzEzMzQ4N2NjYTZhMGRlY2ZkYjgzNi4uMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9o
dHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY2xhc3NpZnktYXMtbm9uLXByZXZhbGVu
dC1iYXNlZC1vbi1taXhlZC1zdGF0aXN0aWNzLWRhdGFiYXNlLmh0bWwKKysrIC9kZXYvbnVsbApA
QCAtMSw1MCArMCwwIEBACi08IURPQ1RZUEUgaHRtbD4KLTxodG1sIGxhbmc9ImVuIj4KLTxoZWFk
PgotICAgIDxtZXRhIGNoYXJzZXQ9IlVURi04Ij4KLSAgICA8dGl0bGU+VGVzdHMgZm9yIENsYXNz
aWZpY2F0aW9uIEJhc2VkIG9uIE1peGVkIFN0YXRpc3RpY3M8L3RpdGxlPgotICAgIDxzY3JpcHQg
c3JjPSIvanMtdGVzdC1yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+Ci0gICAgPHNjcmlw
dCBzcmM9InJlc291cmNlcy91dGlsLmpzIj48L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5PgotPHNj
cmlwdD4KLSAgICBjb25zdCBob3N0VW5kZXJUZXN0ID0gIjEyNy4wLjAuMTo4MDAwIjsKLSAgICBj
b25zdCBzdGF0aXN0aWNzVXJsID0gImh0dHA6Ly8iICsgaG9zdFVuZGVyVGVzdCArICIvdGVtcCI7
Ci0gICAgY29uc3QgdG9wRnJhbWVPcmlnaW4xID0gImh0dHA6Ly8xMjcuMC4wLjI6ODAwMC90ZW1w
IjsKLSAgICBjb25zdCB0b3BGcmFtZU9yaWdpbjIgPSAiaHR0cDovLzEyNy4wLjAuMzo4MDAwL3Rl
bXAiOwotICAgIGNvbnN0IHRvcEZyYW1lT3JpZ2luMyA9ICJodHRwOi8vMTI3LjAuMC40OjgwMDAv
dGVtcCI7Ci0KLSAgICBmdW5jdGlvbiBjb21wbGV0ZVRlc3QoKSB7Ci0gICAgICAgIGlmICh0ZXN0
UnVubmVyLmlzU3RhdGlzdGljc1ByZXZhbGVudFJlc291cmNlKHN0YXRpc3RpY3NVcmwpKQotICAg
ICAgICAgICAgdGVzdEZhaWxlZCgiSG9zdCBjbGFzc2lmaWVkIGFzIHByZXZhbGVudCByZXNvdXJj
ZS4iKTsKLSAgICAgICAgZWxzZQotICAgICAgICAgICAgdGVzdFBhc3NlZCgiSG9zdCBkaWQgbm90
IGdldCBjbGFzc2lmaWVkIGFzIHByZXZhbGVudCByZXNvdXJjZS4iKTsKLQotICAgICAgICBzZXRF
bmFibGVGZWF0dXJlKGZhbHNlLCBmdW5jdGlvbigpIHsKLSAgICAgICAgICAgIHRlc3RSdW5uZXIu
bm90aWZ5RG9uZSgpOwotICAgICAgICB9KTsKLSAgICB9Ci0KLSAgICBmdW5jdGlvbiBydW5UZXN0
UnVubmVyVGVzdCgpIHsKLSAgICAgICAgdGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNzUHJldmFsZW50
UmVzb3VyY2Uoc3RhdGlzdGljc1VybCwgZmFsc2UsIGZ1bmN0aW9uKCkgewotICAgICAgICAgICAg
aWYgKHRlc3RSdW5uZXIuaXNTdGF0aXN0aWNzUHJldmFsZW50UmVzb3VyY2Uoc3RhdGlzdGljc1Vy
bCkpCi0gICAgICAgICAgICAgICAgdGVzdEZhaWxlZCgiSG9zdCBkaWQgbm90IGdldCBzZXQgYXMg
bm9uLXByZXZhbGVudCByZXNvdXJjZS4iKTsKLQotICAgICAgICAgICAgdGVzdFJ1bm5lci5zZXRT
dGF0aXN0aWNzU3ViZnJhbWVVbmRlclRvcEZyYW1lT3JpZ2luKHN0YXRpc3RpY3NVcmwsIHRvcEZy
YW1lT3JpZ2luMSk7Ci0gICAgICAgICAgICB0ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NTdWJyZXNv
dXJjZVVuZGVyVG9wRnJhbWVPcmlnaW4oc3RhdGlzdGljc1VybCwgdG9wRnJhbWVPcmlnaW4yKTsK
LSAgICAgICAgICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc1N1YnJlc291cmNlVW5pcXVlUmVk
aXJlY3RUbyhzdGF0aXN0aWNzVXJsLCB0b3BGcmFtZU9yaWdpbjMpOwotCi0gICAgICAgICAgICB0
ZXN0UnVubmVyLmluc3RhbGxTdGF0aXN0aWNzRGlkU2NhbkRhdGFSZWNvcmRzQ2FsbGJhY2soY29t
cGxldGVUZXN0KTsKLQotICAgICAgICAgICAgdGVzdFJ1bm5lci5zdGF0aXN0aWNzUHJvY2Vzc1N0
YXRpc3RpY3NBbmREYXRhUmVjb3JkcygpOwotICAgICAgICB9KTsKLSAgICB9Ci0KLSAgICBpZiAo
ZG9jdW1lbnQubG9jYXRpb24uaG9zdCA9PT0gaG9zdFVuZGVyVGVzdCAmJiB3aW5kb3cudGVzdFJ1
bm5lciAmJiB3aW5kb3cuaW50ZXJuYWxzKSB7Ci0gICAgICAgIHRlc3RSdW5uZXIuc2V0VXNlSVRQ
RGF0YWJhc2UodHJ1ZSk7Ci0gICAgICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOwotICAg
ICAgICBzZXRFbmFibGVGZWF0dXJlKHRydWUsIHJ1blRlc3RSdW5uZXJUZXN0KTsKLSAgICB9Ci08
L3NjcmlwdD4KLTwvYm9keT4KLTwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAv
dGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jbGFzc2lmeS1hcy1ub24tcHJldmFsZW50LWJh
c2VkLW9uLXN1Yi1mcmFtZS11bmRlci10b3AtZnJhbWUtb3JpZ2lucy1kYXRhYmFzZS1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY2xh
c3NpZnktYXMtbm9uLXByZXZhbGVudC1iYXNlZC1vbi1zdWItZnJhbWUtdW5kZXItdG9wLWZyYW1l
LW9yaWdpbnMtZGF0YWJhc2UtZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAyMGMyNThiOGUwMDVkMzU1NDE4MmFmMDZkNDgyNTgzYWU3N2U1YTEzLi4wMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVz
dHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jbGFzc2lmeS1hcy1ub24tcHJldmFsZW50LWJhc2Vk
LW9uLXN1Yi1mcmFtZS11bmRlci10b3AtZnJhbWUtb3JpZ2lucy1kYXRhYmFzZS1leHBlY3RlZC50
eHQKKysrIC9kZXYvbnVsbApAQCAtMSw1ICswLDAgQEAKLVBBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2Vk
IGlzIHRydWUKLQotVEVTVCBDT01QTEVURQotUEFTUyBIb3N0IGRpZCBub3QgZ2V0IGNsYXNzaWZp
ZWQgYXMgcHJldmFsZW50IHJlc291cmNlLgotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY2xhc3NpZnktYXMtbm9uLXByZXZhbGVudC1i
YXNlZC1vbi1zdWItZnJhbWUtdW5kZXItdG9wLWZyYW1lLW9yaWdpbnMtZGF0YWJhc2UuaHRtbCBi
L0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jbGFzc2lmeS1h
cy1ub24tcHJldmFsZW50LWJhc2VkLW9uLXN1Yi1mcmFtZS11bmRlci10b3AtZnJhbWUtb3JpZ2lu
cy1kYXRhYmFzZS5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA1ZmJiN2I5MjZm
MmUwY2RlOTc4ZjFiNTllNjFjNTc2ZDk1ZTIyNTdlLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2Fk
U3RhdGlzdGljcy9jbGFzc2lmeS1hcy1ub24tcHJldmFsZW50LWJhc2VkLW9uLXN1Yi1mcmFtZS11
bmRlci10b3AtZnJhbWUtb3JpZ2lucy1kYXRhYmFzZS5odG1sCisrKyAvZGV2L251bGwKQEAgLTEs
NTIgKzAsMCBAQAotPCFET0NUWVBFIGh0bWw+Ci08aHRtbCBsYW5nPSJlbiI+Ci08aGVhZD4KLSAg
ICA8bWV0YSBjaGFyc2V0PSJVVEYtOCI+Ci0gICAgPHRpdGxlPlRlc3RzIGZvciBDbGFzc2lmaWNh
dGlvbiBCYXNlZCBvbiBTdWIgRnJhbWUgVW5kZXIgVG9wIEZyYW1lIE9yaWdpbnM8L3RpdGxlPgot
ICAgIDxzY3JpcHQgc3JjPSIvanMtdGVzdC1yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+
Ci0gICAgPHNjcmlwdCBzcmM9InJlc291cmNlcy91dGlsLmpzIj48L3NjcmlwdD4KLTwvaGVhZD4K
LTxib2R5IG9ubG9hZD0icnVuKCkiPgotPHNjcmlwdD4KLSAgICBjb25zdCBob3N0VW5kZXJUZXN0
ID0gIjEyNy4wLjAuMTo4MDAwIjsKLSAgICBjb25zdCBzdGF0aXN0aWNzVXJsID0gImh0dHA6Ly8i
ICsgaG9zdFVuZGVyVGVzdCArICIvdGVtcCI7Ci0gICAgY29uc3QgdG9wRnJhbWVPcmlnaW4xID0g
Imh0dHA6Ly8xMjcuMC4wLjI6ODAwMC90ZW1wIjsKLSAgICBjb25zdCB0b3BGcmFtZU9yaWdpbjIg
PSAiaHR0cDovLzEyNy4wLjAuMzo4MDAwL3RlbXAiOwotICAgIGNvbnN0IHRvcEZyYW1lT3JpZ2lu
MyA9ICJodHRwOi8vMTI3LjAuMC40OjgwMDAvdGVtcCI7Ci0KLSAgICBmdW5jdGlvbiBjb21wbGV0
ZVRlc3QoKSB7Ci0gICAgICAgIGlmICh0ZXN0UnVubmVyLmlzU3RhdGlzdGljc1ByZXZhbGVudFJl
c291cmNlKHN0YXRpc3RpY3NVcmwpKQotICAgICAgICAgICAgdGVzdEZhaWxlZCgiSG9zdCBjbGFz
c2lmaWVkIGFzIHByZXZhbGVudCByZXNvdXJjZS4iKTsKLSAgICAgICAgZWxzZQotICAgICAgICAg
ICAgdGVzdFBhc3NlZCgiSG9zdCBkaWQgbm90IGdldCBjbGFzc2lmaWVkIGFzIHByZXZhbGVudCBy
ZXNvdXJjZS4iKTsKLQotICAgICAgICBzZXRFbmFibGVGZWF0dXJlKGZhbHNlLCBmdW5jdGlvbigp
IHsKLSAgICAgICAgICAgIHRlc3RSdW5uZXIubm90aWZ5RG9uZSgpOwotICAgICAgICB9KTsKLSAg
ICB9Ci0KLSAgICBmdW5jdGlvbiBydW5UZXN0UnVubmVyVGVzdCgpIHsKLSAgICAgICAgdGVzdFJ1
bm5lci5zZXRTdGF0aXN0aWNzUHJldmFsZW50UmVzb3VyY2Uoc3RhdGlzdGljc1VybCwgZmFsc2Us
IGZ1bmN0aW9uKCkgewotICAgICAgICAgICAgaWYgKHRlc3RSdW5uZXIuaXNTdGF0aXN0aWNzUHJl
dmFsZW50UmVzb3VyY2Uoc3RhdGlzdGljc1VybCkpCi0gICAgICAgICAgICAgICAgdGVzdEZhaWxl
ZCgiSG9zdCBkaWQgbm90IGdldCBzZXQgYXMgbm9uLXByZXZhbGVudCByZXNvdXJjZS4iKTsKLQot
ICAgICAgICAgICAgdGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNzU3ViZnJhbWVVbmRlclRvcEZyYW1l
T3JpZ2luKHN0YXRpc3RpY3NVcmwsIHRvcEZyYW1lT3JpZ2luMSk7Ci0gICAgICAgICAgICB0ZXN0
UnVubmVyLnNldFN0YXRpc3RpY3NTdWJmcmFtZVVuZGVyVG9wRnJhbWVPcmlnaW4oc3RhdGlzdGlj
c1VybCwgdG9wRnJhbWVPcmlnaW4yKTsKLSAgICAgICAgICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlz
dGljc1N1YmZyYW1lVW5kZXJUb3BGcmFtZU9yaWdpbihzdGF0aXN0aWNzVXJsLCB0b3BGcmFtZU9y
aWdpbjMpOwotCi0gICAgICAgICAgICB0ZXN0UnVubmVyLmluc3RhbGxTdGF0aXN0aWNzRGlkU2Nh
bkRhdGFSZWNvcmRzQ2FsbGJhY2soY29tcGxldGVUZXN0KTsKLQotICAgICAgICAgICAgdGVzdFJ1
bm5lci5zdGF0aXN0aWNzUHJvY2Vzc1N0YXRpc3RpY3NBbmREYXRhUmVjb3JkcygpOwotICAgICAg
ICB9KTsKLSAgICB9Ci0KLSAgICBmdW5jdGlvbiBydW4oKSB7Ci0gICAgICAgIGlmIChkb2N1bWVu
dC5sb2NhdGlvbi5ob3N0ID09PSBob3N0VW5kZXJUZXN0ICYmIHdpbmRvdy50ZXN0UnVubmVyICYm
IHdpbmRvdy5pbnRlcm5hbHMpIHsKLSAgICAgICAgICAgIHRlc3RSdW5uZXIuc2V0VXNlSVRQRGF0
YWJhc2UodHJ1ZSk7Ci0gICAgICAgICAgICB0ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTsKLSAg
ICAgICAgICAgIHNldEVuYWJsZUZlYXR1cmUodHJ1ZSwgcnVuVGVzdFJ1bm5lclRlc3QpOwotICAg
ICAgICB9Ci0gICAgfQotPC9zY3JpcHQ+Ci08L2JvZHk+Ci08L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY2xhc3NpZnktYXMt
bm9uLXByZXZhbGVudC1iYXNlZC1vbi1zdWJyZXNvdXJjZS11bmRlci10b3AtZnJhbWUtb3JpZ2lu
cy1kYXRhYmFzZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNl
TG9hZFN0YXRpc3RpY3MvY2xhc3NpZnktYXMtbm9uLXByZXZhbGVudC1iYXNlZC1vbi1zdWJyZXNv
dXJjZS11bmRlci10b3AtZnJhbWUtb3JpZ2lucy1kYXRhYmFzZS1leHBlY3RlZC50eHQKZGVsZXRl
ZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDIwYzI1OGI4ZTAwNWQzNTU0MTgyYWYwNmQ0ODI1ODNh
ZTc3ZTVhMTMuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEv
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NsYXNzaWZ5LWFz
LW5vbi1wcmV2YWxlbnQtYmFzZWQtb24tc3VicmVzb3VyY2UtdW5kZXItdG9wLWZyYW1lLW9yaWdp
bnMtZGF0YWJhc2UtZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEsNSArMCwwIEBACi1Q
QVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCi0KLVRFU1QgQ09NUExFVEUKLVBBU1MgSG9z
dCBkaWQgbm90IGdldCBjbGFzc2lmaWVkIGFzIHByZXZhbGVudCByZXNvdXJjZS4KLQpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NsYXNz
aWZ5LWFzLW5vbi1wcmV2YWxlbnQtYmFzZWQtb24tc3VicmVzb3VyY2UtdW5kZXItdG9wLWZyYW1l
LW9yaWdpbnMtZGF0YWJhc2UuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VM
b2FkU3RhdGlzdGljcy9jbGFzc2lmeS1hcy1ub24tcHJldmFsZW50LWJhc2VkLW9uLXN1YnJlc291
cmNlLXVuZGVyLXRvcC1mcmFtZS1vcmlnaW5zLWRhdGFiYXNlLmh0bWwKZGVsZXRlZCBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDFjYTVmYTRjMjQ3NTQ4OWE2ZTNiZTM3ZWFjMDY0ZDg1M2JlMzlmMmQu
LjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NsYXNzaWZ5LWFzLW5vbi1wcmV2
YWxlbnQtYmFzZWQtb24tc3VicmVzb3VyY2UtdW5kZXItdG9wLWZyYW1lLW9yaWdpbnMtZGF0YWJh
c2UuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDQ4ICswLDAgQEAKLTwhRE9DVFlQRSBodG1sPgot
PGh0bWwgbGFuZz0iZW4iPgotPGhlYWQ+Ci0gICAgPG1ldGEgY2hhcnNldD0iVVRGLTgiPgotICAg
IDx0aXRsZT5UZXN0cyBmb3IgQ2xhc3NpZmljYXRpb24gQmFzZWQgb24gU3VicmVzb3VyY2UgVW5k
ZXIgVG9wIEZyYW1lIE9yaWdpbnM8L3RpdGxlPgotICAgIDxzY3JpcHQgc3JjPSIvanMtdGVzdC1y
ZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+Ci0gICAgPHNjcmlwdCBzcmM9InJlc291cmNl
cy91dGlsLmpzIj48L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5PgotPHNjcmlwdD4KLSAgICBjb25z
dCBob3N0VW5kZXJUZXN0ID0gIjEyNy4wLjAuMTo4MDAwIjsKLSAgICBjb25zdCBzdGF0aXN0aWNz
VXJsID0gImh0dHA6Ly8iICsgaG9zdFVuZGVyVGVzdCArICIvdGVtcCI7Ci0gICAgY29uc3QgdG9w
RnJhbWVPcmlnaW4xID0gImh0dHA6Ly8xMjcuMC4wLjI6ODAwMC90ZW1wIjsKLSAgICBjb25zdCB0
b3BGcmFtZU9yaWdpbjIgPSAiaHR0cDovLzEyNy4wLjAuMzo4MDAwL3RlbXAiOwotCi0gICAgZnVu
Y3Rpb24gY29tcGxldGVUZXN0KCkgewotICAgICAgICBpZiAodGVzdFJ1bm5lci5pc1N0YXRpc3Rp
Y3NQcmV2YWxlbnRSZXNvdXJjZShzdGF0aXN0aWNzVXJsKSkKLSAgICAgICAgICAgIHRlc3RGYWls
ZWQoIkhvc3QgY2xhc3NpZmllZCBhcyBwcmV2YWxlbnQgcmVzb3VyY2UuIik7Ci0gICAgICAgIGVs
c2UKLSAgICAgICAgICAgIHRlc3RQYXNzZWQoIkhvc3QgZGlkIG5vdCBnZXQgY2xhc3NpZmllZCBh
cyBwcmV2YWxlbnQgcmVzb3VyY2UuIik7Ci0KLSAgICAgICAgc2V0RW5hYmxlRmVhdHVyZShmYWxz
ZSwgZnVuY3Rpb24oKSB7Ci0gICAgICAgICAgICB0ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsKLSAg
ICAgICAgfSk7Ci0gICAgfQotCi0gICAgZnVuY3Rpb24gcnVuVGVzdFJ1bm5lclRlc3QoKSB7IAot
ICAgICAgICB0ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NQcmV2YWxlbnRSZXNvdXJjZShzdGF0aXN0
aWNzVXJsLCBmYWxzZSwgZnVuY3Rpb24oKSB7Ci0gICAgICAgICAgICBpZiAodGVzdFJ1bm5lci5p
c1N0YXRpc3RpY3NQcmV2YWxlbnRSZXNvdXJjZShzdGF0aXN0aWNzVXJsKSkKLSAgICAgICAgICAg
ICAgICB0ZXN0RmFpbGVkKCJIb3N0IGRpZCBub3QgZ2V0IHNldCBhcyBub24tcHJldmFsZW50IHJl
c291cmNlLiIpOwotCi0gICAgICAgICAgICB0ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NTdWJyZXNv
dXJjZVVuZGVyVG9wRnJhbWVPcmlnaW4oc3RhdGlzdGljc1VybCwgdG9wRnJhbWVPcmlnaW4xKTsK
LSAgICAgICAgICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc1N1YnJlc291cmNlVW5kZXJUb3BG
cmFtZU9yaWdpbihzdGF0aXN0aWNzVXJsLCB0b3BGcmFtZU9yaWdpbjIpOwotCi0gICAgICAgICAg
ICB0ZXN0UnVubmVyLmluc3RhbGxTdGF0aXN0aWNzRGlkU2NhbkRhdGFSZWNvcmRzQ2FsbGJhY2so
Y29tcGxldGVUZXN0KTsKLQotICAgICAgICAgICAgdGVzdFJ1bm5lci5zdGF0aXN0aWNzUHJvY2Vz
c1N0YXRpc3RpY3NBbmREYXRhUmVjb3JkcygpOwotICAgICAgICB9KTsKLSAgICB9Ci0KLSAgICBp
ZiAoZG9jdW1lbnQubG9jYXRpb24uaG9zdCA9PT0gaG9zdFVuZGVyVGVzdCAmJiB3aW5kb3cudGVz
dFJ1bm5lciAmJiB3aW5kb3cuaW50ZXJuYWxzKSB7Ci0gICAgICAgIHRlc3RSdW5uZXIuc2V0VXNl
SVRQRGF0YWJhc2UodHJ1ZSk7Ci0gICAgICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOwot
ICAgICAgICBzZXRFbmFibGVGZWF0dXJlKHRydWUsIHJ1blRlc3RSdW5uZXJUZXN0KTsKLSAgICB9
Ci08L3NjcmlwdD4KLTwvYm9keT4KLTwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0
dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jbGFzc2lmeS1hcy1ub24tcHJldmFsZW50
LWJhc2VkLW9uLXN1YnJlc291cmNlLXVuaXF1ZS1yZWRpcmVjdHMtdG8tZGF0YWJhc2UtZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2Ns
YXNzaWZ5LWFzLW5vbi1wcmV2YWxlbnQtYmFzZWQtb24tc3VicmVzb3VyY2UtdW5pcXVlLXJlZGly
ZWN0cy10by1kYXRhYmFzZS1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDIwYzI1OGI4ZTAwNWQzNTU0MTgyYWYwNmQ0ODI1ODNhZTc3ZTVhMTMuLjAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0
cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NsYXNzaWZ5LWFzLW5vbi1wcmV2YWxlbnQtYmFzZWQt
b24tc3VicmVzb3VyY2UtdW5pcXVlLXJlZGlyZWN0cy10by1kYXRhYmFzZS1leHBlY3RlZC50eHQK
KysrIC9kZXYvbnVsbApAQCAtMSw1ICswLDAgQEAKLVBBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlz
IHRydWUKLQotVEVTVCBDT01QTEVURQotUEFTUyBIb3N0IGRpZCBub3QgZ2V0IGNsYXNzaWZpZWQg
YXMgcHJldmFsZW50IHJlc291cmNlLgotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rl
c3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY2xhc3NpZnktYXMtbm9uLXByZXZhbGVudC1iYXNl
ZC1vbi1zdWJyZXNvdXJjZS11bmlxdWUtcmVkaXJlY3RzLXRvLWRhdGFiYXNlLmh0bWwgYi9MYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY2xhc3NpZnktYXMtbm9u
LXByZXZhbGVudC1iYXNlZC1vbi1zdWJyZXNvdXJjZS11bmlxdWUtcmVkaXJlY3RzLXRvLWRhdGFi
YXNlLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDYyNTE2OGZiZjMwMDY2Y2M5
ODgwYzExNWJlYjFkZTI3MWIxZWMwNDcuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0
aWNzL2NsYXNzaWZ5LWFzLW5vbi1wcmV2YWxlbnQtYmFzZWQtb24tc3VicmVzb3VyY2UtdW5pcXVl
LXJlZGlyZWN0cy10by1kYXRhYmFzZS5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsNDggKzAsMCBA
QAotPCFET0NUWVBFIGh0bWw+Ci08aHRtbCBsYW5nPSJlbiI+Ci08aGVhZD4KLSAgICA8bWV0YSBj
aGFyc2V0PSJVVEYtOCI+Ci0gICAgPHRpdGxlPlRlc3RzIGZvciBDbGFzc2lmaWNhdGlvbiBCYXNl
ZCBvbiBTdWJyZXNvdXJjZSBVbmlxdWUgUmVkaXJlY3RzIFRvPC90aXRsZT4KLSAgICA8c2NyaXB0
IHNyYz0iL2pzLXRlc3QtcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgotICAgIDxzY3Jp
cHQgc3JjPSJyZXNvdXJjZXMvdXRpbC5qcyI+PC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keT4KLTxz
Y3JpcHQ+Ci0gICAgY29uc3QgaG9zdFVuZGVyVGVzdCA9ICIxMjcuMC4wLjE6ODAwMCI7Ci0gICAg
Y29uc3Qgc3RhdGlzdGljc1VybCA9ICJodHRwOi8vIiArIGhvc3RVbmRlclRlc3QgKyAiL3RlbXAi
OwotICAgIGNvbnN0IHRvcEZyYW1lT3JpZ2luMSA9ICJodHRwOi8vMTI3LjAuMC4yOjgwMDAvdGVt
cCI7Ci0gICAgY29uc3QgdG9wRnJhbWVPcmlnaW4yID0gImh0dHA6Ly8xMjcuMC4wLjM6ODAwMC90
ZW1wIjsKLQotICAgIGZ1bmN0aW9uIGNvbXBsZXRlVGVzdCgpIHsKLSAgICAgICAgaWYgKHRlc3RS
dW5uZXIuaXNTdGF0aXN0aWNzUHJldmFsZW50UmVzb3VyY2Uoc3RhdGlzdGljc1VybCkpCi0gICAg
ICAgICAgICB0ZXN0RmFpbGVkKCJIb3N0IGNsYXNzaWZpZWQgYXMgcHJldmFsZW50IHJlc291cmNl
LiIpOwotICAgICAgICBlbHNlCi0gICAgICAgICAgICB0ZXN0UGFzc2VkKCJIb3N0IGRpZCBub3Qg
Z2V0IGNsYXNzaWZpZWQgYXMgcHJldmFsZW50IHJlc291cmNlLiIpOwotCi0gICAgICAgIHNldEVu
YWJsZUZlYXR1cmUoZmFsc2UsIGZ1bmN0aW9uKCkgewotICAgICAgICAgICAgdGVzdFJ1bm5lci5u
b3RpZnlEb25lKCk7Ci0gICAgICAgIH0pOwotICAgIH0KLQotICAgIGZ1bmN0aW9uIHJ1blRlc3RS
dW5uZXJUZXN0KCkgewotICAgICAgICB0ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NQcmV2YWxlbnRS
ZXNvdXJjZShzdGF0aXN0aWNzVXJsLCBmYWxzZSwgZnVuY3Rpb24oKSB7Ci0gICAgICAgICAgICBp
ZiAodGVzdFJ1bm5lci5pc1N0YXRpc3RpY3NQcmV2YWxlbnRSZXNvdXJjZShzdGF0aXN0aWNzVXJs
KSkKLSAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKCJIb3N0IGRpZCBub3QgZ2V0IHNldCBhcyBu
b24tcHJldmFsZW50IHJlc291cmNlLiIpOwotCi0gICAgICAgICAgICB0ZXN0UnVubmVyLnNldFN0
YXRpc3RpY3NTdWJyZXNvdXJjZVVuaXF1ZVJlZGlyZWN0VG8oc3RhdGlzdGljc1VybCwgdG9wRnJh
bWVPcmlnaW4xKTsKLSAgICAgICAgICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc1N1YnJlc291
cmNlVW5pcXVlUmVkaXJlY3RUbyhzdGF0aXN0aWNzVXJsLCB0b3BGcmFtZU9yaWdpbjIpOwotCi0g
ICAgICAgICAgICB0ZXN0UnVubmVyLmluc3RhbGxTdGF0aXN0aWNzRGlkU2NhbkRhdGFSZWNvcmRz
Q2FsbGJhY2soY29tcGxldGVUZXN0KTsKLQotICAgICAgICAgICAgdGVzdFJ1bm5lci5zdGF0aXN0
aWNzUHJvY2Vzc1N0YXRpc3RpY3NBbmREYXRhUmVjb3JkcygpOwotICAgICAgICB9KTsKLSAgICB9
Ci0KLSAgICBpZiAoZG9jdW1lbnQubG9jYXRpb24uaG9zdCA9PT0gaG9zdFVuZGVyVGVzdCAmJiB3
aW5kb3cudGVzdFJ1bm5lciAmJiB3aW5kb3cuaW50ZXJuYWxzKSB7Ci0gICAgICAgIHRlc3RSdW5u
ZXIuc2V0VXNlSVRQRGF0YWJhc2UodHJ1ZSk7Ci0gICAgICAgIHRlc3RSdW5uZXIud2FpdFVudGls
RG9uZSgpOwotICAgICAgICBzZXRFbmFibGVGZWF0dXJlKHRydWUsIHJ1blRlc3RSdW5uZXJUZXN0
KTsKLSAgICB9Ci08L3NjcmlwdD4KLTwvYm9keT4KLTwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jbGFzc2lmeS1hcy1wcmV2
YWxlbnQtYmFzZWQtb24tbWl4ZWQtc3RhdGlzdGljcy1kYXRhYmFzZS1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY2xhc3NpZnktYXMt
cHJldmFsZW50LWJhc2VkLW9uLW1peGVkLXN0YXRpc3RpY3MtZGF0YWJhc2UtZXhwZWN0ZWQudHh0
CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAzMmRkNjlmOTQxOWY1MTk4OTU3ZjA5MDhk
ZDY3NGQ2ODQzNmNiOWM3Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jbGFz
c2lmeS1hcy1wcmV2YWxlbnQtYmFzZWQtb24tbWl4ZWQtc3RhdGlzdGljcy1kYXRhYmFzZS1leHBl
Y3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSw1ICswLDAgQEAKLVBBU1Mgc3VjY2Vzc2Z1bGx5
UGFyc2VkIGlzIHRydWUKLQotVEVTVCBDT01QTEVURQotUEFTUyBIb3N0IGNsYXNzaWZpZWQgYXMg
cHJldmFsZW50IHJlc291cmNlLgotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY2xhc3NpZnktYXMtcHJldmFsZW50LWJhc2VkLW9uLW1p
eGVkLXN0YXRpc3RpY3MtZGF0YWJhc2UuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVz
b3VyY2VMb2FkU3RhdGlzdGljcy9jbGFzc2lmeS1hcy1wcmV2YWxlbnQtYmFzZWQtb24tbWl4ZWQt
c3RhdGlzdGljcy1kYXRhYmFzZS5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAz
NzU2OGFiNDVjNzA3YTNiZDJkMGFlY2ZhMzE1OTZkODUxM2ZmOWZiLi4wMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVz
b3VyY2VMb2FkU3RhdGlzdGljcy9jbGFzc2lmeS1hcy1wcmV2YWxlbnQtYmFzZWQtb24tbWl4ZWQt
c3RhdGlzdGljcy1kYXRhYmFzZS5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsNTkgKzAsMCBAQAot
PCFET0NUWVBFIGh0bWw+Ci08aHRtbCBsYW5nPSJlbiI+Ci08aGVhZD4KLSAgICA8bWV0YSBjaGFy
c2V0PSJVVEYtOCI+Ci0gICAgPHRpdGxlPlRlc3RzIGZvciBDbGFzc2lmaWNhdGlvbiBCYXNlZCBv
biBNaXhlZCBTdGF0aXN0aWNzPC90aXRsZT4KLSAgICA8c2NyaXB0IHNyYz0iL2pzLXRlc3QtcmVz
b3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgotICAgIDxzY3JpcHQgc3JjPSJyZXNvdXJjZXMv
dXRpbC5qcyI+PC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keT4KLTxzY3JpcHQ+Ci0gICAgY29uc3Qg
aG9zdFVuZGVyVGVzdCA9ICIxMjcuMC4wLjE6ODAwMCI7Ci0gICAgY29uc3Qgc3RhdGlzdGljc1Vy
bCA9ICJodHRwOi8vIiArIGhvc3RVbmRlclRlc3QgKyAiL3RlbXAiOwotICAgIGNvbnN0IHRvcEZy
YW1lT3JpZ2luMSA9ICJodHRwOi8vMTI3LjAuMC4yOjgwMDAvdGVtcCI7Ci0gICAgY29uc3QgdG9w
RnJhbWVPcmlnaW4yID0gImh0dHA6Ly8xMjcuMC4wLjM6ODAwMC90ZW1wIjsKLSAgICBjb25zdCB0
b3BGcmFtZU9yaWdpbjMgPSAiaHR0cDovLzEyNy4wLjAuNDo4MDAwL3RlbXAiOwotICAgIGNvbnN0
IHRvcEZyYW1lT3JpZ2luNCA9ICJodHRwOi8vMTI3LjAuMC41OjgwMDAvdGVtcCI7Ci0KLSAgICBm
dW5jdGlvbiBjb21wbGV0ZVRlc3QoKSB7Ci0gICAgICAgIGlmICghdGVzdFJ1bm5lci5pc1N0YXRp
c3RpY3NQcmV2YWxlbnRSZXNvdXJjZShzdGF0aXN0aWNzVXJsKSkKLSAgICAgICAgICAgIHRlc3RG
YWlsZWQoIkhvc3QgZGlkIG5vdCBnZXQgY2xhc3NpZmllZCBhcyBwcmV2YWxlbnQgcmVzb3VyY2Uu
Iik7Ci0gICAgICAgIGlmICh0ZXN0UnVubmVyLmlzU3RhdGlzdGljc1ZlcnlQcmV2YWxlbnRSZXNv
dXJjZShzdGF0aXN0aWNzVXJsKSkKLSAgICAgICAgICAgIHRlc3RGYWlsZWQoIkhvc3QgZ290IGNs
YXNzaWZpZWQgYXMgdmVyeSBwcmV2YWxlbnQgcmVzb3VyY2UuIik7Ci0gICAgICAgIGVsc2UKLSAg
ICAgICAgICAgIHRlc3RQYXNzZWQoIkhvc3QgY2xhc3NpZmllZCBhcyBwcmV2YWxlbnQgcmVzb3Vy
Y2UuIik7Ci0KLSAgICAgICAgc2V0RW5hYmxlRmVhdHVyZShmYWxzZSwgZnVuY3Rpb24oKSB7Ci0g
ICAgICAgICAgICB0ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsKLSAgICAgICAgfSk7Ci0gICAgfQot
Ci0gICAgZnVuY3Rpb24gcnVuVGVzdFJ1bm5lclRlc3QoKSB7IAotICAgICAgICB0ZXN0UnVubmVy
LnNldFN0YXRpc3RpY3NQcmV2YWxlbnRSZXNvdXJjZShzdGF0aXN0aWNzVXJsLCBmYWxzZSwgZnVu
Y3Rpb24oKSB7Ci0gICAgICAgICAgICBpZiAodGVzdFJ1bm5lci5pc1N0YXRpc3RpY3NQcmV2YWxl
bnRSZXNvdXJjZShzdGF0aXN0aWNzVXJsKSkKLSAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKCJI
b3N0IGRpZCBub3QgZ2V0IHNldCBhcyBub24tcHJldmFsZW50IHJlc291cmNlLiIpOwotCi0gICAg
ICAgICAgICB0ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NTdWJmcmFtZVVuZGVyVG9wRnJhbWVPcmln
aW4oc3RhdGlzdGljc1VybCwgdG9wRnJhbWVPcmlnaW4xKTsKLSAgICAgICAgICAgIHRlc3RSdW5u
ZXIuc2V0U3RhdGlzdGljc1N1YmZyYW1lVW5kZXJUb3BGcmFtZU9yaWdpbihzdGF0aXN0aWNzVXJs
LCB0b3BGcmFtZU9yaWdpbjQpOwotCi0gICAgICAgICAgICB0ZXN0UnVubmVyLnNldFN0YXRpc3Rp
Y3NTdWJyZXNvdXJjZVVuZGVyVG9wRnJhbWVPcmlnaW4oc3RhdGlzdGljc1VybCwgdG9wRnJhbWVP
cmlnaW4yKTsKLSAgICAgICAgICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc1N1YnJlc291cmNl
VW5kZXJUb3BGcmFtZU9yaWdpbihzdGF0aXN0aWNzVXJsLCB0b3BGcmFtZU9yaWdpbjMpOwotICAg
ICAgICAgICAgdGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNzU3VicmVzb3VyY2VVbmRlclRvcEZyYW1l
T3JpZ2luKHN0YXRpc3RpY3NVcmwsIHRvcEZyYW1lT3JpZ2luNCk7Ci0KLSAgICAgICAgICAgIHRl
c3RSdW5uZXIuc2V0U3RhdGlzdGljc1N1YnJlc291cmNlVW5pcXVlUmVkaXJlY3RUbyhzdGF0aXN0
aWNzVXJsLCB0b3BGcmFtZU9yaWdpbjMpOwotICAgICAgICAgICAgdGVzdFJ1bm5lci5zZXRTdGF0
aXN0aWNzU3VicmVzb3VyY2VVbmlxdWVSZWRpcmVjdFRvKHN0YXRpc3RpY3NVcmwsIHRvcEZyYW1l
T3JpZ2luMSk7Ci0KLSAgICAgICAgICAgIHRlc3RSdW5uZXIuaW5zdGFsbFN0YXRpc3RpY3NEaWRT
Y2FuRGF0YVJlY29yZHNDYWxsYmFjayhjb21wbGV0ZVRlc3QpOwotCi0gICAgICAgICAgICB0ZXN0
UnVubmVyLnN0YXRpc3RpY3NQcm9jZXNzU3RhdGlzdGljc0FuZERhdGFSZWNvcmRzKCk7Ci0gICAg
ICAgIH0pOwotICAgIH0KLQotICAgIGlmIChkb2N1bWVudC5sb2NhdGlvbi5ob3N0ID09PSBob3N0
VW5kZXJUZXN0ICYmIHdpbmRvdy50ZXN0UnVubmVyICYmIHdpbmRvdy5pbnRlcm5hbHMpIHsKLSAg
ICAgICAgdGVzdFJ1bm5lci5zZXRVc2VJVFBEYXRhYmFzZSh0cnVlKTsKLSAgICAgICAgdGVzdFJ1
bm5lci53YWl0VW50aWxEb25lKCk7Ci0gICAgICAgIHNldEVuYWJsZUZlYXR1cmUodHJ1ZSwgcnVu
VGVzdFJ1bm5lclRlc3QpOwotICAgIH0KLTwvc2NyaXB0PgotPC9ib2R5PgotPC9odG1sPgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2Ns
YXNzaWZ5LWFzLXByZXZhbGVudC1iYXNlZC1vbi1zdWItZnJhbWUtdW5kZXItdG9wLWZyYW1lLW9y
aWdpbnMtZGF0YWJhc2UtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNv
dXJjZUxvYWRTdGF0aXN0aWNzL2NsYXNzaWZ5LWFzLXByZXZhbGVudC1iYXNlZC1vbi1zdWItZnJh
bWUtdW5kZXItdG9wLWZyYW1lLW9yaWdpbnMtZGF0YWJhc2UtZXhwZWN0ZWQudHh0CmRlbGV0ZWQg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAzMmRkNjlmOTQxOWY1MTk4OTU3ZjA5MDhkZDY3NGQ2ODQz
NmNiOWM3Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xh
eW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jbGFzc2lmeS1hcy1w
cmV2YWxlbnQtYmFzZWQtb24tc3ViLWZyYW1lLXVuZGVyLXRvcC1mcmFtZS1vcmlnaW5zLWRhdGFi
YXNlLWV4cGVjdGVkLnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDUgKzAsMCBAQAotUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQotCi1URVNUIENPTVBMRVRFCi1QQVNTIEhvc3QgY2xhc3Np
ZmllZCBhcyBwcmV2YWxlbnQgcmVzb3VyY2UuCi0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0
dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jbGFzc2lmeS1hcy1wcmV2YWxlbnQtYmFz
ZWQtb24tc3ViLWZyYW1lLXVuZGVyLXRvcC1mcmFtZS1vcmlnaW5zLWRhdGFiYXNlLmh0bWwgYi9M
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY2xhc3NpZnktYXMt
cHJldmFsZW50LWJhc2VkLW9uLXN1Yi1mcmFtZS11bmRlci10b3AtZnJhbWUtb3JpZ2lucy1kYXRh
YmFzZS5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA1NDQzZmNhNDFlMTg0Zjlh
Y2U0ZmZmZWUxNzMxMDBlNTlkNDkwMGUzLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlz
dGljcy9jbGFzc2lmeS1hcy1wcmV2YWxlbnQtYmFzZWQtb24tc3ViLWZyYW1lLXVuZGVyLXRvcC1m
cmFtZS1vcmlnaW5zLWRhdGFiYXNlLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSw1NCArMCwwIEBA
Ci08IURPQ1RZUEUgaHRtbD4KLTxodG1sIGxhbmc9ImVuIj4KLTxoZWFkPgotICAgIDxtZXRhIGNo
YXJzZXQ9IlVURi04Ij4KLSAgICA8dGl0bGU+VGVzdHMgZm9yIENsYXNzaWZpY2F0aW9uIEJhc2Vk
IG9uIFN1YiBGcmFtZSBVbmRlciBUb3AgRnJhbWUgT3JpZ2luczwvdGl0bGU+Ci0gICAgPHNjcmlw
dCBzcmM9Ii9qcy10ZXN0LXJlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KLSAgICA8c2Ny
aXB0IHNyYz0icmVzb3VyY2VzL3V0aWwuanMiPjwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHk+Ci08
c2NyaXB0PgotICAgIGNvbnN0IGhvc3RVbmRlclRlc3QgPSAiMTI3LjAuMC4xOjgwMDAiOwotICAg
IGNvbnN0IHN0YXRpc3RpY3NVcmwgPSAiaHR0cDovLyIgKyBob3N0VW5kZXJUZXN0ICsgIi90ZW1w
IjsKLSAgICBjb25zdCB0b3BGcmFtZU9yaWdpbjEgPSAiaHR0cDovLzEyNy4wLjAuMjo4MDAwL3Rl
bXAiOwotICAgIGNvbnN0IHRvcEZyYW1lT3JpZ2luMiA9ICJodHRwOi8vMTI3LjAuMC4zOjgwMDAv
dGVtcCI7Ci0gICAgY29uc3QgdG9wRnJhbWVPcmlnaW4zID0gImh0dHA6Ly8xMjcuMC4wLjQ6ODAw
MC90ZW1wIjsKLSAgICBjb25zdCB0b3BGcmFtZU9yaWdpbjQgPSAiaHR0cDovLzEyNy4wLjAuNTo4
MDAwL3RlbXAiOwotCi0gICAgZnVuY3Rpb24gY29tcGxldGVUZXN0KCkgewotICAgICAgICBpZiAo
IXRlc3RSdW5uZXIuaXNTdGF0aXN0aWNzUHJldmFsZW50UmVzb3VyY2Uoc3RhdGlzdGljc1VybCkp
Ci0gICAgICAgICAgICB0ZXN0RmFpbGVkKCJIb3N0IGRpZCBub3QgZ2V0IGNsYXNzaWZpZWQgYXMg
cHJldmFsZW50IHJlc291cmNlLiIpOwotICAgICAgICBpZiAodGVzdFJ1bm5lci5pc1N0YXRpc3Rp
Y3NWZXJ5UHJldmFsZW50UmVzb3VyY2Uoc3RhdGlzdGljc1VybCkpCi0gICAgICAgICAgICB0ZXN0
RmFpbGVkKCJIb3N0IGdvdCBjbGFzc2lmaWVkIGFzIHZlcnkgcHJldmFsZW50IHJlc291cmNlLiIp
OwotICAgICAgICBlbHNlCi0gICAgICAgICAgICB0ZXN0UGFzc2VkKCJIb3N0IGNsYXNzaWZpZWQg
YXMgcHJldmFsZW50IHJlc291cmNlLiIpOwotCi0gICAgICAgIHNldEVuYWJsZUZlYXR1cmUoZmFs
c2UsIGZ1bmN0aW9uKCkgewotICAgICAgICAgICAgdGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7Ci0g
ICAgICAgIH0pOwotICAgIH0KLQotICAgIGZ1bmN0aW9uIHJ1blRlc3RSdW5uZXJUZXN0KCkgewot
ICAgICAgICB0ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NQcmV2YWxlbnRSZXNvdXJjZShzdGF0aXN0
aWNzVXJsLCBmYWxzZSwgZnVuY3Rpb24oKSB7Ci0gICAgICAgICAgICBpZiAodGVzdFJ1bm5lci5p
c1N0YXRpc3RpY3NQcmV2YWxlbnRSZXNvdXJjZShzdGF0aXN0aWNzVXJsKSkKLSAgICAgICAgICAg
ICAgICB0ZXN0RmFpbGVkKCJIb3N0IGRpZCBub3QgZ2V0IHNldCBhcyBub24tcHJldmFsZW50IHJl
c291cmNlLiIpOwotCi0gICAgICAgICAgICB0ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NTdWJmcmFt
ZVVuZGVyVG9wRnJhbWVPcmlnaW4oc3RhdGlzdGljc1VybCwgdG9wRnJhbWVPcmlnaW4xKTsKLSAg
ICAgICAgICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc1N1YmZyYW1lVW5kZXJUb3BGcmFtZU9y
aWdpbihzdGF0aXN0aWNzVXJsLCB0b3BGcmFtZU9yaWdpbjIpOwotICAgICAgICAgICAgdGVzdFJ1
bm5lci5zZXRTdGF0aXN0aWNzU3ViZnJhbWVVbmRlclRvcEZyYW1lT3JpZ2luKHN0YXRpc3RpY3NV
cmwsIHRvcEZyYW1lT3JpZ2luMyk7Ci0gICAgICAgICAgICB0ZXN0UnVubmVyLnNldFN0YXRpc3Rp
Y3NTdWJmcmFtZVVuZGVyVG9wRnJhbWVPcmlnaW4oc3RhdGlzdGljc1VybCwgdG9wRnJhbWVPcmln
aW40KTsKLQotICAgICAgICAgICAgdGVzdFJ1bm5lci5pbnN0YWxsU3RhdGlzdGljc0RpZFNjYW5E
YXRhUmVjb3Jkc0NhbGxiYWNrKGNvbXBsZXRlVGVzdCk7Ci0KLSAgICAgICAgICAgIHRlc3RSdW5u
ZXIuc3RhdGlzdGljc1Byb2Nlc3NTdGF0aXN0aWNzQW5kRGF0YVJlY29yZHMoKTsKLSAgICAgICAg
fSk7Ci0gICAgfQotCi0gICAgaWYgKGRvY3VtZW50LmxvY2F0aW9uLmhvc3QgPT09IGhvc3RVbmRl
clRlc3QgJiYgd2luZG93LnRlc3RSdW5uZXIgJiYgd2luZG93LmludGVybmFscykgewotICAgICAg
ICB0ZXN0UnVubmVyLnNldFVzZUlUUERhdGFiYXNlKHRydWUpOwotICAgICAgICB0ZXN0UnVubmVy
LndhaXRVbnRpbERvbmUoKTsKLSAgICAgICAgc2V0RW5hYmxlRmVhdHVyZSh0cnVlLCBydW5UZXN0
UnVubmVyVGVzdCk7Ci0gICAgfQotPC9zY3JpcHQ+Ci08L2JvZHk+Ci08L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY2xhc3Np
ZnktYXMtcHJldmFsZW50LWJhc2VkLW9uLXN1YnJlc291cmNlLXJlZGlyZWN0LWNvbGx1c2lvbi1k
YXRhYmFzZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9h
ZFN0YXRpc3RpY3MvY2xhc3NpZnktYXMtcHJldmFsZW50LWJhc2VkLW9uLXN1YnJlc291cmNlLXJl
ZGlyZWN0LWNvbGx1c2lvbi1kYXRhYmFzZS1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IGU0ZGRjZTViMzE0Y2Q3ZDJkMGRlYzQ4YjZmOWY5ZTBlY2NhYjgzMDkuLjAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMv
aHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NsYXNzaWZ5LWFzLXByZXZhbGVudC1i
YXNlZC1vbi1zdWJyZXNvdXJjZS1yZWRpcmVjdC1jb2xsdXNpb24tZGF0YWJhc2UtZXhwZWN0ZWQu
dHh0CisrKyAvZGV2L251bGwKQEAgLTEsMTQgKzAsMCBAQAotVGVzdHMgZm9yIGNsYXNzaWZpY2F0
aW9uIGJhc2VkIG9uIHN1YnJlc291cmNlIHJlZGlyZWN0IGNvbGx1c2lvbi4KLQotT24gc3VjY2Vz
cywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkg
IlRFU1QgQ09NUExFVEUiLgotCi0KLVBBU1MgQ29sbHVkaW5nIGhvc3QgMSBnb3Qgc2V0IGFzIHBy
ZXZhbGVudCByZXNvdXJjZS4KLVBBU1MgQ29sbHVkaW5nIGhvc3QgMiBnb3Qgc2V0IGFzIHByZXZh
bGVudCByZXNvdXJjZS4KLVBBU1MgQ29sbHVkaW5nIGhvc3QgMyBnb3Qgc2V0IGFzIHByZXZhbGVu
dCByZXNvdXJjZS4KLVBBU1MgQ29sbHVkaW5nIGhvc3QgNCBnb3Qgc2V0IGFzIHByZXZhbGVudCBy
ZXNvdXJjZS4KLVBBU1MgQ29sbHVkaW5nIGxvY2FsaG9zdCBnb3Qgc2V0IGFzIHByZXZhbGVudCBy
ZXNvdXJjZSBhZnRlciBhY3R1YWwgc3ViIGZyYW1lIHJlZGlyZWN0LgotUEFTUyBzdWNjZXNzZnVs
bHlQYXJzZWQgaXMgdHJ1ZQotCi1URVNUIENPTVBMRVRFCi0KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jbGFzc2lmeS1hcy1wcmV2YWxl
bnQtYmFzZWQtb24tc3VicmVzb3VyY2UtcmVkaXJlY3QtY29sbHVzaW9uLWRhdGFiYXNlLmh0bWwg
Yi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY2xhc3NpZnkt
YXMtcHJldmFsZW50LWJhc2VkLW9uLXN1YnJlc291cmNlLXJlZGlyZWN0LWNvbGx1c2lvbi1kYXRh
YmFzZS5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBlNGJmYjJmMjU3N2NiY2Jk
ZjNjMWY0YzE0YTQ2YTlhYWQ2MTZmN2FlLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlz
dGljcy9jbGFzc2lmeS1hcy1wcmV2YWxlbnQtYmFzZWQtb24tc3VicmVzb3VyY2UtcmVkaXJlY3Qt
Y29sbHVzaW9uLWRhdGFiYXNlLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSw3MSArMCwwIEBACi08
IURPQ1RZUEUgaHRtbD4KLTxodG1sIGxhbmc9ImVuIj4KLTxoZWFkPgotICAgIDxtZXRhIGNoYXJz
ZXQ9IlVURi04Ij4KLSAgICA8c2NyaXB0IHNyYz0iL2pzLXRlc3QtcmVzb3VyY2VzL2pzLXRlc3Qu
anMiPjwvc2NyaXB0PgotICAgIDxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvdXRpbC5qcyI+PC9zY3Jp
cHQ+Ci08L2hlYWQ+Ci08Ym9keT4KLTxzY3JpcHQ+Ci0gICAgZGVzY3JpcHRpb24oIlRlc3RzIGZv
ciBjbGFzc2lmaWNhdGlvbiBiYXNlZCBvbiBzdWJyZXNvdXJjZSByZWRpcmVjdCBjb2xsdXNpb24u
Iik7Ci0gICAganNUZXN0SXNBc3luYyA9IHRydWU7Ci0KLSAgICBjb25zdCBob3N0VW5kZXJUZXN0
ID0gIjEyNy4wLjAuMTo4MDAwIjsKLSAgICBjb25zdCBzdGF0aXN0aWNzVXJsID0gImh0dHA6Ly8i
ICsgaG9zdFVuZGVyVGVzdCArICIvdGVtcCI7Ci0gICAgY29uc3Qgc3VicmVzb3VyY2VPcmlnaW4x
ID0gImh0dHA6Ly8xMjcuMC4wLjI6ODAwMC90ZW1wIjsKLSAgICBjb25zdCBzdWJyZXNvdXJjZU9y
aWdpbjIgPSAiaHR0cDovLzEyNy4wLjAuMzo4MDAwL3RlbXAiOwotICAgIGNvbnN0IHN1YnJlc291
cmNlT3JpZ2luMyA9ICJodHRwOi8vMTI3LjAuMC40OjgwMDAvdGVtcCI7Ci0gICAgY29uc3Qgc3Vi
cmVzb3VyY2VPcmlnaW40ID0gImh0dHA6Ly8xMjcuMC4wLjU6ODAwMC90ZW1wIjsKLQotICAgIGZ1
bmN0aW9uIHJ1blRlc3QoKSB7Ci0gICAgICAgIHRlc3RSdW5uZXIuc3RhdGlzdGljc05vdGlmeU9i
c2VydmVyKCk7Ci0KLSAgICAgICAgdGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNzU3VicmVzb3VyY2VV
bmlxdWVSZWRpcmVjdEZyb20oc3RhdGlzdGljc1VybCwgc3VicmVzb3VyY2VPcmlnaW4xKTsKLSAg
ICAgICAgdGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNzU3VicmVzb3VyY2VVbmlxdWVSZWRpcmVjdEZy
b20oc3VicmVzb3VyY2VPcmlnaW4xLCBzdWJyZXNvdXJjZU9yaWdpbjIpOwotICAgICAgICB0ZXN0
UnVubmVyLnNldFN0YXRpc3RpY3NTdWJyZXNvdXJjZVVuaXF1ZVJlZGlyZWN0RnJvbShzdWJyZXNv
dXJjZU9yaWdpbjIsIHN1YnJlc291cmNlT3JpZ2luMyk7Ci0gICAgICAgIHRlc3RSdW5uZXIuc2V0
U3RhdGlzdGljc1N1YnJlc291cmNlVW5pcXVlUmVkaXJlY3RGcm9tKHN1YnJlc291cmNlT3JpZ2lu
Mywgc3VicmVzb3VyY2VPcmlnaW40KTsKLQotICAgICAgICB0ZXN0UnVubmVyLnNldFN0YXRpc3Rp
Y3NQcmV2YWxlbnRSZXNvdXJjZShzdGF0aXN0aWNzVXJsLCB0cnVlLCBmdW5jdGlvbigpIHsKLSAg
ICAgICAgICAgIGlmICghdGVzdFJ1bm5lci5pc1N0YXRpc3RpY3NQcmV2YWxlbnRSZXNvdXJjZShz
dGF0aXN0aWNzVXJsKSkKLSAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKCJIb3N0IGV4cGxpY2l0
eSBzZXQgZGlkIG5vdCBnZXQgc2V0IGFzIHByZXZhbGVudCByZXNvdXJjZS4iKTsKLSAgICAgICAg
ICAgIGlmICh0ZXN0UnVubmVyLmlzU3RhdGlzdGljc1ByZXZhbGVudFJlc291cmNlKHN1YnJlc291
cmNlT3JpZ2luMSkpCi0gICAgICAgICAgICAgICAgdGVzdFBhc3NlZCgiQ29sbHVkaW5nIGhvc3Qg
MSBnb3Qgc2V0IGFzIHByZXZhbGVudCByZXNvdXJjZS4iKTsKLSAgICAgICAgICAgIGlmICh0ZXN0
UnVubmVyLmlzU3RhdGlzdGljc1ZlcnlQcmV2YWxlbnRSZXNvdXJjZShzdWJyZXNvdXJjZU9yaWdp
bjEpKQotICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoIkNvbGx1ZGluZyBob3N0IDEgZ290IGNs
YXNzaWZpZWQgYXMgdmVyeSBwcmV2YWxlbnQgcmVzb3VyY2UuIik7Ci0gICAgICAgICAgICBpZiAo
dGVzdFJ1bm5lci5pc1N0YXRpc3RpY3NQcmV2YWxlbnRSZXNvdXJjZShzdWJyZXNvdXJjZU9yaWdp
bjIpKQotICAgICAgICAgICAgICAgIHRlc3RQYXNzZWQoIkNvbGx1ZGluZyBob3N0IDIgZ290IHNl
dCBhcyBwcmV2YWxlbnQgcmVzb3VyY2UuIik7Ci0gICAgICAgICAgICBpZiAodGVzdFJ1bm5lci5p
c1N0YXRpc3RpY3NWZXJ5UHJldmFsZW50UmVzb3VyY2Uoc3VicmVzb3VyY2VPcmlnaW4yKSkKLSAg
ICAgICAgICAgICAgICB0ZXN0RmFpbGVkKCJDb2xsdWRpbmcgaG9zdCAyIGdvdCBjbGFzc2lmaWVk
IGFzIHZlcnkgcHJldmFsZW50IHJlc291cmNlLiIpOwotICAgICAgICAgICAgaWYgKHRlc3RSdW5u
ZXIuaXNTdGF0aXN0aWNzUHJldmFsZW50UmVzb3VyY2Uoc3VicmVzb3VyY2VPcmlnaW4zKSkKLSAg
ICAgICAgICAgICAgICB0ZXN0UGFzc2VkKCJDb2xsdWRpbmcgaG9zdCAzIGdvdCBzZXQgYXMgcHJl
dmFsZW50IHJlc291cmNlLiIpOwotICAgICAgICAgICAgaWYgKHRlc3RSdW5uZXIuaXNTdGF0aXN0
aWNzVmVyeVByZXZhbGVudFJlc291cmNlKHN1YnJlc291cmNlT3JpZ2luMykpCi0gICAgICAgICAg
ICAgICAgdGVzdEZhaWxlZCgiQ29sbHVkaW5nIGhvc3QgMyBnb3QgY2xhc3NpZmllZCBhcyB2ZXJ5
IHByZXZhbGVudCByZXNvdXJjZS4iKTsKLSAgICAgICAgICAgIGlmICh0ZXN0UnVubmVyLmlzU3Rh
dGlzdGljc1ByZXZhbGVudFJlc291cmNlKHN1YnJlc291cmNlT3JpZ2luNCkpCi0gICAgICAgICAg
ICAgICAgdGVzdFBhc3NlZCgiQ29sbHVkaW5nIGhvc3QgNCBnb3Qgc2V0IGFzIHByZXZhbGVudCBy
ZXNvdXJjZS4iKTsKLSAgICAgICAgICAgIGlmICh0ZXN0UnVubmVyLmlzU3RhdGlzdGljc1ZlcnlQ
cmV2YWxlbnRSZXNvdXJjZShzdWJyZXNvdXJjZU9yaWdpbjQpKQotICAgICAgICAgICAgICAgIHRl
c3RGYWlsZWQoIkNvbGx1ZGluZyBob3N0IDQgZ290IGNsYXNzaWZpZWQgYXMgdmVyeSBwcmV2YWxl
bnQgcmVzb3VyY2UuIik7Ci0gICAgICAgICAgICBpZiAodGVzdFJ1bm5lci5pc1N0YXRpc3RpY3NQ
cmV2YWxlbnRSZXNvdXJjZSgiaHR0cDovL2xvY2FsaG9zdDo4MDAwIikpCi0gICAgICAgICAgICAg
ICAgdGVzdFBhc3NlZCgiQ29sbHVkaW5nIGxvY2FsaG9zdCBnb3Qgc2V0IGFzIHByZXZhbGVudCBy
ZXNvdXJjZSBhZnRlciBhY3R1YWwgc3ViIGZyYW1lIHJlZGlyZWN0LiIpOwotICAgICAgICAgICAg
aWYgKHRlc3RSdW5uZXIuaXNTdGF0aXN0aWNzVmVyeVByZXZhbGVudFJlc291cmNlKCJodHRwOi8v
bG9jYWxob3N0OjgwMDAiKSkKLSAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKCJDb2xsdWRpbmcg
bG9jYWxob3N0IGdvdCBjbGFzc2lmaWVkIGFzIHZlcnkgcHJldmFsZW50IHJlc291cmNlLiIpOwot
ICAgICAgICAgICAgCi0gICAgICAgICAgICBzZXRFbmFibGVGZWF0dXJlKGZhbHNlLCBmaW5pc2hK
U1Rlc3QpOwotICAgICAgICB9KTsKLSAgICB9Ci0KLSAgICBpZiAoZG9jdW1lbnQubG9jYXRpb24u
aG9zdCA9PT0gaG9zdFVuZGVyVGVzdCAmJiB3aW5kb3cudGVzdFJ1bm5lciAmJiB3aW5kb3cuaW50
ZXJuYWxzKSB7Ci0gICAgICAgIHRlc3RSdW5uZXIuc2V0VXNlSVRQRGF0YWJhc2UodHJ1ZSk7Ci0g
ICAgICAgIHNldEVuYWJsZUZlYXR1cmUodHJ1ZSwgZnVuY3Rpb24gKCkgewotICAgICAgICAgICAg
dGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNzUHJldmFsZW50UmVzb3VyY2Uoc3RhdGlzdGljc1VybCwg
ZmFsc2UsIGZ1bmN0aW9uKCnCoHsKLSAgICAgICAgICAgICAgICBpZiAodGVzdFJ1bm5lci5pc1N0
YXRpc3RpY3NQcmV2YWxlbnRSZXNvdXJjZShzdGF0aXN0aWNzVXJsKSkKLSAgICAgICAgICAgICAg
ICAgICAgdGVzdEZhaWxlZCgiSG9zdCBkaWQgbm90IGdldCBzZXQgYXMgbm9uLXByZXZhbGVudCBy
ZXNvdXJjZS4iKTsKLSAgICAgICAgICAgICAgICBsZXQgaWZyYW1lRWxlbWVudCA9IGRvY3VtZW50
LmNyZWF0ZUVsZW1lbnQoImlmcmFtZSIpOwotICAgICAgICAgICAgICAgIGlmcmFtZUVsZW1lbnQu
b25sb2FkID0gcnVuVGVzdDsKLSAgICAgICAgICAgICAgICBpZnJhbWVFbGVtZW50LnNyYyA9ICJo
dHRwOi8vbG9jYWxob3N0OjgwMDAvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9yZXNvdXJjZXMvcmVk
aXJlY3QucGhwP3JlZGlyZWN0VG89aHR0cDovLzEyNy4wLjAuMTo4MDAwL3Jlc291cmNlTG9hZFN0
YXRpc3RpY3Mvb25jbGljay5odG1sIjsKLSAgICAgICAgICAgICAgICBkb2N1bWVudC5ib2R5LmFw
cGVuZENoaWxkKGlmcmFtZUVsZW1lbnQpOwotICAgICAgICAgICAgfSk7Ci0gICAgICAgIH0pOwot
ICAgIH0KLTwvc2NyaXB0PgotPC9ib2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NsYXNzaWZ5LWFzLXByZXZhbGVu
dC1iYXNlZC1vbi1zdWJyZXNvdXJjZS1yZWRpcmVjdC10by1wcmV2YWxlbnQtZGF0YWJhc2UtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNz
L2NsYXNzaWZ5LWFzLXByZXZhbGVudC1iYXNlZC1vbi1zdWJyZXNvdXJjZS1yZWRpcmVjdC10by1w
cmV2YWxlbnQtZGF0YWJhc2UtZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCBiOGZjYmQ4ZDhmNmQwNWZjNDk0ZDRlZWRkY2Q5Y2I1ZWJkZGUwYzM5Li4wMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVz
dHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jbGFzc2lmeS1hcy1wcmV2YWxlbnQtYmFzZWQtb24t
c3VicmVzb3VyY2UtcmVkaXJlY3QtdG8tcHJldmFsZW50LWRhdGFiYXNlLWV4cGVjdGVkLnR4dAor
KysgL2Rldi9udWxsCkBAIC0xLDEwICswLDAgQEAKLVRlc3RzIGZvciBjbGFzc2lmaWNhdGlvbiBi
YXNlZCBvbiBzdWJyZXNvdXJjZSByZWRpcmVjdCB0byBvdGhlciBwcmV2YWxlbnQuCi0KLU9uIHN1
Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2Vk
IGJ5ICJURVNUIENPTVBMRVRFIi4KLQotCi1QQVNTIEhvc3QgY2xhc3NpZmllZCBhcyBwcmV2YWxl
bnQgcmVzb3VyY2UuCi1QQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCi0KLVRFU1QgQ09N
UExFVEUKLQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRT
dGF0aXN0aWNzL2NsYXNzaWZ5LWFzLXByZXZhbGVudC1iYXNlZC1vbi1zdWJyZXNvdXJjZS1yZWRp
cmVjdC10by1wcmV2YWxlbnQtZGF0YWJhc2UuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMv
cmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jbGFzc2lmeS1hcy1wcmV2YWxlbnQtYmFzZWQtb24tc3Vi
cmVzb3VyY2UtcmVkaXJlY3QtdG8tcHJldmFsZW50LWRhdGFiYXNlLmh0bWwKZGVsZXRlZCBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDlkMjU5N2JiMjg0MWIyYTU0Yzk4NjE4YjY0ZDgwYWVjNGMxNTQz
YWUuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NsYXNzaWZ5LWFzLXByZXZh
bGVudC1iYXNlZC1vbi1zdWJyZXNvdXJjZS1yZWRpcmVjdC10by1wcmV2YWxlbnQtZGF0YWJhc2Uu
aHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDQ5ICswLDAgQEAKLTwhRE9DVFlQRSBodG1sPgotPGh0
bWwgbGFuZz0iZW4iPgotPGhlYWQ+Ci0gICAgPG1ldGEgY2hhcnNldD0iVVRGLTgiPgotICAgIDxz
Y3JpcHQgc3JjPSIvanMtdGVzdC1yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+Ci0gICAg
PHNjcmlwdCBzcmM9InJlc291cmNlcy91dGlsLmpzIj48L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5
PgotPHNjcmlwdD4KLSAgICBkZXNjcmlwdGlvbigiVGVzdHMgZm9yIGNsYXNzaWZpY2F0aW9uIGJh
c2VkIG9uIHN1YnJlc291cmNlIHJlZGlyZWN0IHRvIG90aGVyIHByZXZhbGVudC4iKTsKLSAgICBq
c1Rlc3RJc0FzeW5jID0gdHJ1ZTsKLQotICAgIGNvbnN0IGhvc3RVbmRlclRlc3QgPSAiMTI3LjAu
MC4xOjgwMDAiOwotICAgIGNvbnN0IHN0YXRpc3RpY3NVcmwgPSAiaHR0cDovLyIgKyBob3N0VW5k
ZXJUZXN0ICsgIi90ZW1wIjsKLSAgICBjb25zdCB0b3BGcmFtZU9yaWdpbjEgPSAiaHR0cDovLzEy
Ny4wLjAuMjo4MDAwL3RlbXAiOwotCi0gICAgZnVuY3Rpb24gY29tcGxldGVUZXN0KCkgewotICAg
ICAgICBpZiAoIXRlc3RSdW5uZXIuaXNTdGF0aXN0aWNzUHJldmFsZW50UmVzb3VyY2Uoc3RhdGlz
dGljc1VybCkpCi0gICAgICAgICAgICB0ZXN0RmFpbGVkKCJIb3N0IGRpZCBub3QgZ2V0IGNsYXNz
aWZpZWQgYXMgcHJldmFsZW50IHJlc291cmNlLiIpOwotICAgICAgICBlbHNlIGlmICh0ZXN0UnVu
bmVyLmlzU3RhdGlzdGljc1ZlcnlQcmV2YWxlbnRSZXNvdXJjZShzdGF0aXN0aWNzVXJsKSkKLSAg
ICAgICAgICAgIHRlc3RGYWlsZWQoIkhvc3QgZ290IGNsYXNzaWZpZWQgYXMgdmVyeSBwcmV2YWxl
bnQgcmVzb3VyY2UuIik7Ci0gICAgICAgIGVsc2UKLSAgICAgICAgICAgIHRlc3RQYXNzZWQoIkhv
c3QgY2xhc3NpZmllZCBhcyBwcmV2YWxlbnQgcmVzb3VyY2UuIik7Ci0gICAgICAgICAgICAKLSAg
ICAgICAgc2V0RW5hYmxlRmVhdHVyZShmYWxzZSwgZmluaXNoSlNUZXN0KTsKLSAgICB9Ci0KLSAg
ICBmdW5jdGlvbiBydW5UZXN0KCkgewotICAgICAgICB0ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NQ
cmV2YWxlbnRSZXNvdXJjZSh0b3BGcmFtZU9yaWdpbjEsIHRydWUsIGZ1bmN0aW9uKCkgewotICAg
ICAgICAgICAgdGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNzU3VicmVzb3VyY2VVbmlxdWVSZWRpcmVj
dFRvKHN0YXRpc3RpY3NVcmwsIHRvcEZyYW1lT3JpZ2luMSk7Ci0KLSAgICAgICAgICAgIHRlc3RS
dW5uZXIuaW5zdGFsbFN0YXRpc3RpY3NEaWRTY2FuRGF0YVJlY29yZHNDYWxsYmFjayhjb21wbGV0
ZVRlc3QpOwotICAgICAgICAgICAgdGVzdFJ1bm5lci5zdGF0aXN0aWNzUHJvY2Vzc1N0YXRpc3Rp
Y3NBbmREYXRhUmVjb3JkcygpOwotICAgICAgICB9KTsKLSAgICB9Ci0KLSAgICBpZiAoZG9jdW1l
bnQubG9jYXRpb24uaG9zdCA9PT0gaG9zdFVuZGVyVGVzdCAmJiB3aW5kb3cudGVzdFJ1bm5lciAm
JiB3aW5kb3cuaW50ZXJuYWxzKSB7Ci0gICAgICAgIHRlc3RSdW5uZXIuc2V0VXNlSVRQRGF0YWJh
c2UodHJ1ZSk7Ci0gICAgICAgIHNldEVuYWJsZUZlYXR1cmUodHJ1ZSwgZnVuY3Rpb24oKSB7Ci0g
ICAgICAgICAgICB0ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NQcmV2YWxlbnRSZXNvdXJjZShzdGF0
aXN0aWNzVXJsLCBmYWxzZSwgZnVuY3Rpb24oKSB7Ci0gICAgICAgICAgICAgICAgaWYgKHRlc3RS
dW5uZXIuaXNTdGF0aXN0aWNzUHJldmFsZW50UmVzb3VyY2Uoc3RhdGlzdGljc1VybCkpCi0gICAg
ICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoIkhvc3QgZGlkIG5vdCBnZXQgc2V0IGFzIG5vbi1w
cmV2YWxlbnQgcmVzb3VyY2UuIik7Ci0gICAgICAgICAgICAgICAgcnVuVGVzdCgpOwotICAgICAg
ICAgICAgfSk7Ci0gICAgICAgIH0pOwotICAgIH0KLTwvc2NyaXB0PgotPC9ib2R5PgotPC9odG1s
PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0
aWNzL2NsYXNzaWZ5LWFzLXByZXZhbGVudC1iYXNlZC1vbi1zdWJyZXNvdXJjZS11bmRlci10b3At
ZnJhbWUtb3JpZ2lucy1kYXRhYmFzZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3Rl
c3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY2xhc3NpZnktYXMtcHJldmFsZW50LWJhc2VkLW9u
LXN1YnJlc291cmNlLXVuZGVyLXRvcC1mcmFtZS1vcmlnaW5zLWRhdGFiYXNlLWV4cGVjdGVkLnR4
dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMzJkZDY5Zjk0MTlmNTE5ODk1N2YwOTA4
ZGQ2NzRkNjg0MzZjYjljNy4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY2xh
c3NpZnktYXMtcHJldmFsZW50LWJhc2VkLW9uLXN1YnJlc291cmNlLXVuZGVyLXRvcC1mcmFtZS1v
cmlnaW5zLWRhdGFiYXNlLWV4cGVjdGVkLnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDUgKzAsMCBA
QAotUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQotCi1URVNUIENPTVBMRVRFCi1QQVNT
IEhvc3QgY2xhc3NpZmllZCBhcyBwcmV2YWxlbnQgcmVzb3VyY2UuCi0KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jbGFzc2lmeS1hcy1w
cmV2YWxlbnQtYmFzZWQtb24tc3VicmVzb3VyY2UtdW5kZXItdG9wLWZyYW1lLW9yaWdpbnMtZGF0
YWJhc2UuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGlj
cy9jbGFzc2lmeS1hcy1wcmV2YWxlbnQtYmFzZWQtb24tc3VicmVzb3VyY2UtdW5kZXItdG9wLWZy
YW1lLW9yaWdpbnMtZGF0YWJhc2UuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
NmJkZjgzOGY2Y2Q5YWY5ZDg4NTEyYzcwNmQ4YmE1Mjc1NTkzYWMyMC4uMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jl
c291cmNlTG9hZFN0YXRpc3RpY3MvY2xhc3NpZnktYXMtcHJldmFsZW50LWJhc2VkLW9uLXN1YnJl
c291cmNlLXVuZGVyLXRvcC1mcmFtZS1vcmlnaW5zLWRhdGFiYXNlLmh0bWwKKysrIC9kZXYvbnVs
bApAQCAtMSw1NCArMCwwIEBACi08IURPQ1RZUEUgaHRtbD4KLTxodG1sIGxhbmc9ImVuIj4KLTxo
ZWFkPgotICAgIDxtZXRhIGNoYXJzZXQ9IlVURi04Ij4KLSAgICA8dGl0bGU+VGVzdHMgZm9yIENs
YXNzaWZpY2F0aW9uIEJhc2VkIG9uIFN1YnJlc291cmNlIFVuZGVyIFRvcCBGcmFtZSBPcmlnaW5z
PC90aXRsZT4KLSAgICA8c2NyaXB0IHNyYz0iL2pzLXRlc3QtcmVzb3VyY2VzL2pzLXRlc3QuanMi
Pjwvc2NyaXB0PgotICAgIDxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvdXRpbC5qcyI+PC9zY3JpcHQ+
Ci08L2hlYWQ+Ci08Ym9keT4KLTxzY3JpcHQ+Ci0gICAgY29uc3QgaG9zdFVuZGVyVGVzdCA9ICIx
MjcuMC4wLjE6ODAwMCI7Ci0gICAgY29uc3Qgc3RhdGlzdGljc1VybCA9ICJodHRwOi8vIiArIGhv
c3RVbmRlclRlc3QgKyAiL3RlbXAiOwotICAgIGNvbnN0IHRvcEZyYW1lT3JpZ2luMSA9ICJodHRw
Oi8vMTI3LjAuMC4yOjgwMDAvdGVtcCI7Ci0gICAgY29uc3QgdG9wRnJhbWVPcmlnaW4yID0gImh0
dHA6Ly8xMjcuMC4wLjM6ODAwMC90ZW1wIjsKLSAgICBjb25zdCB0b3BGcmFtZU9yaWdpbjMgPSAi
aHR0cDovLzEyNy4wLjAuNDo4MDAwL3RlbXAiOwotICAgIGNvbnN0IHRvcEZyYW1lT3JpZ2luNCA9
ICJodHRwOi8vMTI3LjAuMC41OjgwMDAvdGVtcCI7Ci0KLSAgICBmdW5jdGlvbiBjb21wbGV0ZVRl
c3QoKSB7Ci0gICAgICAgIGlmICghdGVzdFJ1bm5lci5pc1N0YXRpc3RpY3NQcmV2YWxlbnRSZXNv
dXJjZShzdGF0aXN0aWNzVXJsKSkKLSAgICAgICAgICAgIHRlc3RGYWlsZWQoIkhvc3QgZGlkIG5v
dCBnZXQgY2xhc3NpZmllZCBhcyBwcmV2YWxlbnQgcmVzb3VyY2UuIik7Ci0gICAgICAgIGlmICh0
ZXN0UnVubmVyLmlzU3RhdGlzdGljc1ZlcnlQcmV2YWxlbnRSZXNvdXJjZShzdGF0aXN0aWNzVXJs
KSkKLSAgICAgICAgICAgIHRlc3RGYWlsZWQoIkhvc3QgZ290IGNsYXNzaWZpZWQgYXMgdmVyeSBw
cmV2YWxlbnQgcmVzb3VyY2UuIik7Ci0gICAgICAgIGVsc2UKLSAgICAgICAgICAgIHRlc3RQYXNz
ZWQoIkhvc3QgY2xhc3NpZmllZCBhcyBwcmV2YWxlbnQgcmVzb3VyY2UuIik7Ci0KLSAgICAgICAg
c2V0RW5hYmxlRmVhdHVyZShmYWxzZSwgZnVuY3Rpb24oKSB7Ci0gICAgICAgICAgICB0ZXN0UnVu
bmVyLm5vdGlmeURvbmUoKTsKLSAgICAgICAgfSk7Ci0gICAgfQotCi0gICAgZnVuY3Rpb24gcnVu
VGVzdFJ1bm5lclRlc3QoKSB7IAotICAgICAgICB0ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NQcmV2
YWxlbnRSZXNvdXJjZShzdGF0aXN0aWNzVXJsLCBmYWxzZSwgZnVuY3Rpb24oKSB7Ci0gICAgICAg
ICAgICBpZiAodGVzdFJ1bm5lci5pc1N0YXRpc3RpY3NQcmV2YWxlbnRSZXNvdXJjZShzdGF0aXN0
aWNzVXJsKSkKLSAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKCJIb3N0IGRpZCBub3QgZ2V0IHNl
dCBhcyBub24tcHJldmFsZW50IHJlc291cmNlLiIpOwotCi0gICAgICAgICAgICB0ZXN0UnVubmVy
LnNldFN0YXRpc3RpY3NTdWJyZXNvdXJjZVVuZGVyVG9wRnJhbWVPcmlnaW4oc3RhdGlzdGljc1Vy
bCwgdG9wRnJhbWVPcmlnaW4xKTsKLSAgICAgICAgICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGlj
c1N1YnJlc291cmNlVW5kZXJUb3BGcmFtZU9yaWdpbihzdGF0aXN0aWNzVXJsLCB0b3BGcmFtZU9y
aWdpbjIpOwotICAgICAgICAgICAgdGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNzU3VicmVzb3VyY2VV
bmRlclRvcEZyYW1lT3JpZ2luKHN0YXRpc3RpY3NVcmwsIHRvcEZyYW1lT3JpZ2luMyk7Ci0gICAg
ICAgICAgICB0ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NTdWJyZXNvdXJjZVVuZGVyVG9wRnJhbWVP
cmlnaW4oc3RhdGlzdGljc1VybCwgdG9wRnJhbWVPcmlnaW40KTsKLQotICAgICAgICAgICAgdGVz
dFJ1bm5lci5pbnN0YWxsU3RhdGlzdGljc0RpZFNjYW5EYXRhUmVjb3Jkc0NhbGxiYWNrKGNvbXBs
ZXRlVGVzdCk7Ci0KLSAgICAgICAgICAgIHRlc3RSdW5uZXIuc3RhdGlzdGljc1Byb2Nlc3NTdGF0
aXN0aWNzQW5kRGF0YVJlY29yZHMoKTsKLSAgICAgICAgfSk7Ci0gICAgfQotCi0gICAgaWYgKGRv
Y3VtZW50LmxvY2F0aW9uLmhvc3QgPT09IGhvc3RVbmRlclRlc3QgJiYgd2luZG93LnRlc3RSdW5u
ZXIgJiYgd2luZG93LmludGVybmFscykgewotICAgICAgICB0ZXN0UnVubmVyLnNldFVzZUlUUERh
dGFiYXNlKHRydWUpOwotICAgICAgICB0ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTsKLSAgICAg
ICAgc2V0RW5hYmxlRmVhdHVyZSh0cnVlLCBydW5UZXN0UnVubmVyVGVzdCk7Ci0gICAgfQotPC9z
Y3JpcHQ+Ci08L2JvZHk+Ci08L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rl
c3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY2xhc3NpZnktYXMtcHJldmFsZW50LWJhc2VkLW9u
LXN1YnJlc291cmNlLXVuaXF1ZS1yZWRpcmVjdHMtdG8tZGF0YWJhc2UtZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NsYXNzaWZ5LWFz
LXByZXZhbGVudC1iYXNlZC1vbi1zdWJyZXNvdXJjZS11bmlxdWUtcmVkaXJlY3RzLXRvLWRhdGFi
YXNlLWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMzJkZDY5Zjk0
MTlmNTE5ODk1N2YwOTA4ZGQ2NzRkNjg0MzZjYjljNy4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9h
ZFN0YXRpc3RpY3MvY2xhc3NpZnktYXMtcHJldmFsZW50LWJhc2VkLW9uLXN1YnJlc291cmNlLXVu
aXF1ZS1yZWRpcmVjdHMtdG8tZGF0YWJhc2UtZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAg
LTEsNSArMCwwIEBACi1QQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCi0KLVRFU1QgQ09N
UExFVEUKLVBBU1MgSG9zdCBjbGFzc2lmaWVkIGFzIHByZXZhbGVudCByZXNvdXJjZS4KLQpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2Ns
YXNzaWZ5LWFzLXByZXZhbGVudC1iYXNlZC1vbi1zdWJyZXNvdXJjZS11bmlxdWUtcmVkaXJlY3Rz
LXRvLWRhdGFiYXNlLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0
YXRpc3RpY3MvY2xhc3NpZnktYXMtcHJldmFsZW50LWJhc2VkLW9uLXN1YnJlc291cmNlLXVuaXF1
ZS1yZWRpcmVjdHMtdG8tZGF0YWJhc2UuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggZmUzNjgyOTVkOWZiOGZmODNhNzhiMWI1NDk5NDk3ZTI1N2I0NjU0My4uMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY2xhc3NpZnktYXMtcHJldmFsZW50LWJhc2VkLW9uLXN1
YnJlc291cmNlLXVuaXF1ZS1yZWRpcmVjdHMtdG8tZGF0YWJhc2UuaHRtbAorKysgL2Rldi9udWxs
CkBAIC0xLDU0ICswLDAgQEAKLTwhRE9DVFlQRSBodG1sPgotPGh0bWwgbGFuZz0iZW4iPgotPGhl
YWQ+Ci0gICAgPG1ldGEgY2hhcnNldD0iVVRGLTgiPgotICAgIDx0aXRsZT5UZXN0cyBmb3IgQ2xh
c3NpZmljYXRpb24gQmFzZWQgb24gU3VicmVzb3VyY2UgVW5pcXVlIFJlZGlyZWN0cyBUbzwvdGl0
bGU+Ci0gICAgPHNjcmlwdCBzcmM9Ii9qcy10ZXN0LXJlc291cmNlcy9qcy10ZXN0LmpzIj48L3Nj
cmlwdD4KLSAgICA8c2NyaXB0IHNyYz0icmVzb3VyY2VzL3V0aWwuanMiPjwvc2NyaXB0PgotPC9o
ZWFkPgotPGJvZHk+Ci08c2NyaXB0PgotICAgIGNvbnN0IGhvc3RVbmRlclRlc3QgPSAiMTI3LjAu
MC4xOjgwMDAiOwotICAgIGNvbnN0IHN0YXRpc3RpY3NVcmwgPSAiaHR0cDovLyIgKyBob3N0VW5k
ZXJUZXN0ICsgIi90ZW1wIjsKLSAgICBjb25zdCB0b3BGcmFtZU9yaWdpbjEgPSAiaHR0cDovLzEy
Ny4wLjAuMjo4MDAwL3RlbXAiOwotICAgIGNvbnN0IHRvcEZyYW1lT3JpZ2luMiA9ICJodHRwOi8v
MTI3LjAuMC4zOjgwMDAvdGVtcCI7Ci0gICAgY29uc3QgdG9wRnJhbWVPcmlnaW4zID0gImh0dHA6
Ly8xMjcuMC4wLjQ6ODAwMC90ZW1wIjsKLSAgICBjb25zdCB0b3BGcmFtZU9yaWdpbjQgPSAiaHR0
cDovLzEyNy4wLjAuNTo4MDAwL3RlbXAiOwotCi0gICAgZnVuY3Rpb24gY29tcGxldGVUZXN0KCkg
ewotICAgICAgICBpZiAoIXRlc3RSdW5uZXIuaXNTdGF0aXN0aWNzUHJldmFsZW50UmVzb3VyY2Uo
c3RhdGlzdGljc1VybCkpCi0gICAgICAgICAgICB0ZXN0RmFpbGVkKCJIb3N0IGRpZCBub3QgZ2V0
IGNsYXNzaWZpZWQgYXMgcHJldmFsZW50IHJlc291cmNlLiIpOwotICAgICAgICBpZiAodGVzdFJ1
bm5lci5pc1N0YXRpc3RpY3NWZXJ5UHJldmFsZW50UmVzb3VyY2Uoc3RhdGlzdGljc1VybCkpCi0g
ICAgICAgICAgICB0ZXN0RmFpbGVkKCJIb3N0IGdvdCBjbGFzc2lmaWVkIGFzIHZlcnkgcHJldmFs
ZW50IHJlc291cmNlLiIpOwotICAgICAgICBlbHNlCi0gICAgICAgICAgICB0ZXN0UGFzc2VkKCJI
b3N0IGNsYXNzaWZpZWQgYXMgcHJldmFsZW50IHJlc291cmNlLiIpOwotCi0gICAgICAgIHNldEVu
YWJsZUZlYXR1cmUoZmFsc2UsIGZ1bmN0aW9uKCkgewotICAgICAgICAgICAgdGVzdFJ1bm5lci5u
b3RpZnlEb25lKCk7Ci0gICAgICAgIH0pOwotICAgIH0KLQotICAgIGZ1bmN0aW9uIHJ1blRlc3RS
dW5uZXJUZXN0KCkgeyAKLSAgICAgICAgdGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNzUHJldmFsZW50
UmVzb3VyY2Uoc3RhdGlzdGljc1VybCwgZmFsc2UsIGZ1bmN0aW9uKCkgewotICAgICAgICAgICAg
aWYgKHRlc3RSdW5uZXIuaXNTdGF0aXN0aWNzUHJldmFsZW50UmVzb3VyY2Uoc3RhdGlzdGljc1Vy
bCkpCi0gICAgICAgICAgICAgICAgdGVzdEZhaWxlZCgiSG9zdCBkaWQgbm90IGdldCBzZXQgYXMg
bm9uLXByZXZhbGVudCByZXNvdXJjZS4iKTsKLQotICAgICAgICAgICAgdGVzdFJ1bm5lci5zZXRT
dGF0aXN0aWNzU3VicmVzb3VyY2VVbmlxdWVSZWRpcmVjdFRvKHN0YXRpc3RpY3NVcmwsIHRvcEZy
YW1lT3JpZ2luMSk7Ci0gICAgICAgICAgICB0ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NTdWJyZXNv
dXJjZVVuaXF1ZVJlZGlyZWN0VG8oc3RhdGlzdGljc1VybCwgdG9wRnJhbWVPcmlnaW4yKTsKLSAg
ICAgICAgICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc1N1YnJlc291cmNlVW5pcXVlUmVkaXJl
Y3RUbyhzdGF0aXN0aWNzVXJsLCB0b3BGcmFtZU9yaWdpbjMpOwotICAgICAgICAgICAgdGVzdFJ1
bm5lci5zZXRTdGF0aXN0aWNzU3VicmVzb3VyY2VVbmlxdWVSZWRpcmVjdFRvKHN0YXRpc3RpY3NV
cmwsIHRvcEZyYW1lT3JpZ2luNCk7Ci0KLSAgICAgICAgICAgIHRlc3RSdW5uZXIuaW5zdGFsbFN0
YXRpc3RpY3NEaWRTY2FuRGF0YVJlY29yZHNDYWxsYmFjayhjb21wbGV0ZVRlc3QpOwotCi0gICAg
ICAgICAgICB0ZXN0UnVubmVyLnN0YXRpc3RpY3NQcm9jZXNzU3RhdGlzdGljc0FuZERhdGFSZWNv
cmRzKCk7Ci0gICAgICAgIH0pOwotICAgIH0KLQotICAgIGlmIChkb2N1bWVudC5sb2NhdGlvbi5o
b3N0ID09PSBob3N0VW5kZXJUZXN0ICYmIHdpbmRvdy50ZXN0UnVubmVyICYmIHdpbmRvdy5pbnRl
cm5hbHMpIHsKLSAgICAgICAgdGVzdFJ1bm5lci5zZXRVc2VJVFBEYXRhYmFzZSh0cnVlKTsKLSAg
ICAgICAgdGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7Ci0gICAgICAgIHNldEVuYWJsZUZlYXR1
cmUodHJ1ZSwgcnVuVGVzdFJ1bm5lclRlc3QpOwotICAgIH0KLTwvc2NyaXB0PgotPC9ib2R5Pgot
PC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRT
dGF0aXN0aWNzL2NsYXNzaWZ5LWFzLXByZXZhbGVudC1iYXNlZC1vbi10b3AtZnJhbWUtcmVkaXJl
Y3QtY29sbHVzaW9uLWRhdGFiYXNlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvdGVz
dHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jbGFzc2lmeS1hcy1wcmV2YWxlbnQtYmFzZWQtb24t
dG9wLWZyYW1lLXJlZGlyZWN0LWNvbGx1c2lvbi1kYXRhYmFzZS1leHBlY3RlZC50eHQKZGVsZXRl
ZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGZkMzkzOGI3NmM5NzQ0YzNhZmE3YjI1NTA1ZWFlYjQ5
ZDg2NmI1MjAuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEv
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NsYXNzaWZ5LWFz
LXByZXZhbGVudC1iYXNlZC1vbi10b3AtZnJhbWUtcmVkaXJlY3QtY29sbHVzaW9uLWRhdGFiYXNl
LWV4cGVjdGVkLnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDE0ICswLDAgQEAKLVRlc3RzIGZvciBj
bGFzc2lmaWNhdGlvbiBiYXNlZCBvbiB0b3AgZnJhbWUgcmVkaXJlY3QgY29sbHVzaW9uLgotCi1P
biBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xs
b3dlZCBieSAiVEVTVCBDT01QTEVURSIuCi0KLQotUEFTUyBDb2xsdWRpbmcgaG9zdCAxIGdvdCBz
ZXQgYXMgcHJldmFsZW50IHJlc291cmNlLgotUEFTUyBDb2xsdWRpbmcgaG9zdCAyIGdvdCBzZXQg
YXMgcHJldmFsZW50IHJlc291cmNlLgotUEFTUyBDb2xsdWRpbmcgaG9zdCAzIGdvdCBzZXQgYXMg
cHJldmFsZW50IHJlc291cmNlLgotUEFTUyBDb2xsdWRpbmcgaG9zdCA0IGdvdCBzZXQgYXMgcHJl
dmFsZW50IHJlc291cmNlLgotUEFTUyBDb2xsdWRpbmcgbG9jYWxob3N0IGdvdCBzZXQgYXMgcHJl
dmFsZW50IHJlc291cmNlIGFmdGVyIGFjdHVhbCBuYXZpZ2F0aW9uYWwgcmVkaXJlY3QuCi1QQVNT
IHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCi0KLVRFU1QgQ09NUExFVEUKLQpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NsYXNzaWZ5
LWFzLXByZXZhbGVudC1iYXNlZC1vbi10b3AtZnJhbWUtcmVkaXJlY3QtY29sbHVzaW9uLWRhdGFi
YXNlLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3Mv
Y2xhc3NpZnktYXMtcHJldmFsZW50LWJhc2VkLW9uLXRvcC1mcmFtZS1yZWRpcmVjdC1jb2xsdXNp
b24tZGF0YWJhc2UuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNGE5ODNiYzA2
ZDM1MGVkNTY1NTI0MDJkZmNmZDMzNDU5YzYwNWNlZC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9h
ZFN0YXRpc3RpY3MvY2xhc3NpZnktYXMtcHJldmFsZW50LWJhc2VkLW9uLXRvcC1mcmFtZS1yZWRp
cmVjdC1jb2xsdXNpb24tZGF0YWJhc2UuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDcxICswLDAg
QEAKLTwhRE9DVFlQRSBodG1sPgotPGh0bWwgbGFuZz0iZW4iPgotPGhlYWQ+Ci0gICAgPG1ldGEg
Y2hhcnNldD0iVVRGLTgiPgotICAgIDxzY3JpcHQgc3JjPSIvanMtdGVzdC1yZXNvdXJjZXMvanMt
dGVzdC5qcyI+PC9zY3JpcHQ+Ci0gICAgPHNjcmlwdCBzcmM9InJlc291cmNlcy91dGlsLmpzIj48
L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5PgotPHNjcmlwdD4KLSAgICBkZXNjcmlwdGlvbigiVGVz
dHMgZm9yIGNsYXNzaWZpY2F0aW9uIGJhc2VkIG9uIHRvcCBmcmFtZSByZWRpcmVjdCBjb2xsdXNp
b24uIik7Ci0gICAganNUZXN0SXNBc3luYyA9IHRydWU7Ci0KLSAgICBjb25zdCBob3N0VW5kZXJU
ZXN0ID0gIjEyNy4wLjAuMTo4MDAwIjsKLSAgICBjb25zdCBzdGF0aXN0aWNzVXJsID0gImh0dHA6
Ly8iICsgaG9zdFVuZGVyVGVzdCArICIvdGVtcCI7Ci0gICAgY29uc3QgdG9wRnJhbWVPcmlnaW4x
ID0gImh0dHA6Ly8xMjcuMC4wLjI6ODAwMC90ZW1wIjsKLSAgICBjb25zdCB0b3BGcmFtZU9yaWdp
bjIgPSAiaHR0cDovLzEyNy4wLjAuMzo4MDAwL3RlbXAiOwotICAgIGNvbnN0IHRvcEZyYW1lT3Jp
Z2luMyA9ICJodHRwOi8vMTI3LjAuMC40OjgwMDAvdGVtcCI7Ci0gICAgY29uc3QgdG9wRnJhbWVP
cmlnaW40ID0gImh0dHA6Ly8xMjcuMC4wLjU6ODAwMC90ZW1wIjsKLSAgICBjb25zdCB0b3BGcmFt
ZU9yaWdpbjUgPSAiaHR0cDovL2xvY2FsaG9zdDo4MDAwLyI7Ci0KLSAgICBmdW5jdGlvbiBydW5U
ZXN0KCkgewotICAgICAgICB0ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NUb3BGcmFtZVVuaXF1ZVJl
ZGlyZWN0RnJvbShzdGF0aXN0aWNzVXJsLCB0b3BGcmFtZU9yaWdpbjEpOwotICAgICAgICB0ZXN0
UnVubmVyLnNldFN0YXRpc3RpY3NUb3BGcmFtZVVuaXF1ZVJlZGlyZWN0RnJvbSh0b3BGcmFtZU9y
aWdpbjEsIHRvcEZyYW1lT3JpZ2luMik7Ci0gICAgICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGlj
c1RvcEZyYW1lVW5pcXVlUmVkaXJlY3RGcm9tKHRvcEZyYW1lT3JpZ2luMiwgdG9wRnJhbWVPcmln
aW4zKTsKLSAgICAgICAgdGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNzVG9wRnJhbWVVbmlxdWVSZWRp
cmVjdEZyb20odG9wRnJhbWVPcmlnaW4zLCB0b3BGcmFtZU9yaWdpbjQpOwotCi0gICAgICAgIHRl
c3RSdW5uZXIuc2V0U3RhdGlzdGljc1ByZXZhbGVudFJlc291cmNlKHN0YXRpc3RpY3NVcmwsIHRy
dWUsIGZ1bmN0aW9uKCkgewotICAgICAgICAgICAgaWYgKCF0ZXN0UnVubmVyLmlzU3RhdGlzdGlj
c1ByZXZhbGVudFJlc291cmNlKHN0YXRpc3RpY3NVcmwpKQotICAgICAgICAgICAgICAgIHRlc3RG
YWlsZWQoIkhvc3QgZXhwbGljaXR5IHNldCBkaWQgbm90IGdldCBzZXQgYXMgcHJldmFsZW50IHJl
c291cmNlLiIpOwotICAgICAgICAgICAgaWYgKHRlc3RSdW5uZXIuaXNTdGF0aXN0aWNzUHJldmFs
ZW50UmVzb3VyY2UodG9wRnJhbWVPcmlnaW4xKSkKLSAgICAgICAgICAgICAgICB0ZXN0UGFzc2Vk
KCJDb2xsdWRpbmcgaG9zdCAxIGdvdCBzZXQgYXMgcHJldmFsZW50IHJlc291cmNlLiIpOwotICAg
ICAgICAgICAgaWYgKHRlc3RSdW5uZXIuaXNTdGF0aXN0aWNzVmVyeVByZXZhbGVudFJlc291cmNl
KHRvcEZyYW1lT3JpZ2luMSkpCi0gICAgICAgICAgICAgICAgdGVzdEZhaWxlZCgiQ29sbHVkaW5n
IGhvc3QgMSBnb3QgY2xhc3NpZmllZCBhcyB2ZXJ5IHByZXZhbGVudCByZXNvdXJjZS4iKTsKLSAg
ICAgICAgICAgIGlmICh0ZXN0UnVubmVyLmlzU3RhdGlzdGljc1ByZXZhbGVudFJlc291cmNlKHRv
cEZyYW1lT3JpZ2luMikpCi0gICAgICAgICAgICAgICAgdGVzdFBhc3NlZCgiQ29sbHVkaW5nIGhv
c3QgMiBnb3Qgc2V0IGFzIHByZXZhbGVudCByZXNvdXJjZS4iKTsKLSAgICAgICAgICAgIGlmICh0
ZXN0UnVubmVyLmlzU3RhdGlzdGljc1ZlcnlQcmV2YWxlbnRSZXNvdXJjZSh0b3BGcmFtZU9yaWdp
bjIpKQotICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoIkNvbGx1ZGluZyBob3N0IDIgZ290IGNs
YXNzaWZpZWQgYXMgdmVyeSBwcmV2YWxlbnQgcmVzb3VyY2UuIik7Ci0gICAgICAgICAgICBpZiAo
dGVzdFJ1bm5lci5pc1N0YXRpc3RpY3NQcmV2YWxlbnRSZXNvdXJjZSh0b3BGcmFtZU9yaWdpbjMp
KQotICAgICAgICAgICAgICAgIHRlc3RQYXNzZWQoIkNvbGx1ZGluZyBob3N0IDMgZ290IHNldCBh
cyBwcmV2YWxlbnQgcmVzb3VyY2UuIik7Ci0gICAgICAgICAgICBpZiAodGVzdFJ1bm5lci5pc1N0
YXRpc3RpY3NWZXJ5UHJldmFsZW50UmVzb3VyY2UodG9wRnJhbWVPcmlnaW4zKSkKLSAgICAgICAg
ICAgICAgICB0ZXN0RmFpbGVkKCJDb2xsdWRpbmcgaG9zdCAzIGdvdCBjbGFzc2lmaWVkIGFzIHZl
cnkgcHJldmFsZW50IHJlc291cmNlLiIpOwotICAgICAgICAgICAgaWYgKHRlc3RSdW5uZXIuaXNT
dGF0aXN0aWNzUHJldmFsZW50UmVzb3VyY2UodG9wRnJhbWVPcmlnaW40KSkKLSAgICAgICAgICAg
ICAgICB0ZXN0UGFzc2VkKCJDb2xsdWRpbmcgaG9zdCA0IGdvdCBzZXQgYXMgcHJldmFsZW50IHJl
c291cmNlLiIpOwotICAgICAgICAgICAgaWYgKHRlc3RSdW5uZXIuaXNTdGF0aXN0aWNzVmVyeVBy
ZXZhbGVudFJlc291cmNlKHRvcEZyYW1lT3JpZ2luNCkpCi0gICAgICAgICAgICAgICAgdGVzdEZh
aWxlZCgiQ29sbHVkaW5nIGhvc3QgNCBnb3QgY2xhc3NpZmllZCBhcyB2ZXJ5IHByZXZhbGVudCBy
ZXNvdXJjZS4iKTsKLSAgICAgICAgICAgIGlmICh0ZXN0UnVubmVyLmlzU3RhdGlzdGljc1ByZXZh
bGVudFJlc291cmNlKHRvcEZyYW1lT3JpZ2luNSkpCi0gICAgICAgICAgICAgICAgdGVzdFBhc3Nl
ZCgiQ29sbHVkaW5nIGxvY2FsaG9zdCBnb3Qgc2V0IGFzIHByZXZhbGVudCByZXNvdXJjZSBhZnRl
ciBhY3R1YWwgbmF2aWdhdGlvbmFsIHJlZGlyZWN0LiIpOwotICAgICAgICAgICAgaWYgKHRlc3RS
dW5uZXIuaXNTdGF0aXN0aWNzVmVyeVByZXZhbGVudFJlc291cmNlKHRvcEZyYW1lT3JpZ2luNSkp
Ci0gICAgICAgICAgICAgICAgdGVzdEZhaWxlZCgiQ29sbHVkaW5nIGxvY2FsaG9zdCBnb3QgY2xh
c3NpZmllZCBhcyB2ZXJ5IHByZXZhbGVudCByZXNvdXJjZS4iKTsKLSAgICAgICAgICAgIAotICAg
ICAgICAgICAgc2V0RW5hYmxlRmVhdHVyZShmYWxzZSwgZmluaXNoSlNUZXN0KTsKLSAgICAgICAg
fSk7Ci0gICAgfQotCi0gICAgaWYgKGRvY3VtZW50LmxvY2F0aW9uLmhhc2ggPT09ICIiICYmIHdp
bmRvdy50ZXN0UnVubmVyICYmIHdpbmRvdy5pbnRlcm5hbHMpIHsKLSAgICAgICAgdGVzdFJ1bm5l
ci5zZXRVc2VJVFBEYXRhYmFzZSh0cnVlKTsKLSAgICAgICAgc2V0RW5hYmxlRmVhdHVyZSh0cnVl
LCBmdW5jdGlvbigpIHsKLSAgICAgICAgICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc1ByZXZh
bGVudFJlc291cmNlKHN0YXRpc3RpY3NVcmwsIGZhbHNlLCBmdW5jdGlvbigpIHsKLSAgICAgICAg
ICAgICAgICBpZiAodGVzdFJ1bm5lci5pc1N0YXRpc3RpY3NQcmV2YWxlbnRSZXNvdXJjZShzdGF0
aXN0aWNzVXJsKSkKLSAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZCgiSG9zdCBkaWQgbm90
IGdldCBzZXQgYXMgbm9uLXByZXZhbGVudCByZXNvdXJjZS4iKTsKLQotICAgICAgICAgICAgICAg
IGRvY3VtZW50LmxvY2F0aW9uLmhyZWYgPSB0b3BGcmFtZU9yaWdpbjUgKyAicmVzb3VyY2VMb2Fk
U3RhdGlzdGljcy9yZXNvdXJjZXMvcmVkaXJlY3QucGhwP3JlZGlyZWN0VG89aHR0cDovLzEyNy4w
LjAuMTo4MDAwL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY2xhc3NpZnktYXMtcHJldmFsZW50LWJh
c2VkLW9uLXRvcC1mcmFtZS1yZWRpcmVjdC1jb2xsdXNpb24uaHRtbCNjb250aW51ZSI7Ci0gICAg
ICAgICAgICB9KTsKLSAgICAgICAgfSk7Ci0gICAgfSBlbHNlIHsKLSAgICAgICAgdGVzdFJ1bm5l
ci5zdGF0aXN0aWNzTm90aWZ5T2JzZXJ2ZXIoKTsKLSAgICAgICAgcnVuVGVzdCgpOwotICAgIH0K
LTwvc2NyaXB0PgotPC9ib2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NsYXNzaWZ5LWFzLXByZXZhbGVudC1iYXNl
ZC1vbi10b3AtZnJhbWUtcmVkaXJlY3QtdG8tcHJldmFsZW50LWRhdGFiYXNlLWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jbGFzc2lm
eS1hcy1wcmV2YWxlbnQtYmFzZWQtb24tdG9wLWZyYW1lLXJlZGlyZWN0LXRvLXByZXZhbGVudC1k
YXRhYmFzZS1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDU5Zjk5
NTMzODI4MGYzMTViMjIwMDNmMDA4MmQwODE0ODQ3ZTlhYjMuLjAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJj
ZUxvYWRTdGF0aXN0aWNzL2NsYXNzaWZ5LWFzLXByZXZhbGVudC1iYXNlZC1vbi10b3AtZnJhbWUt
cmVkaXJlY3QtdG8tcHJldmFsZW50LWRhdGFiYXNlLWV4cGVjdGVkLnR4dAorKysgL2Rldi9udWxs
CkBAIC0xLDEwICswLDAgQEAKLVRlc3RzIGZvciBjbGFzc2lmaWNhdGlvbiBiYXNlZCBvbiB0b3Ag
ZnJhbWUgcmVkaXJlY3QgdG8gb3RoZXIgcHJldmFsZW50LgotCi1PbiBzdWNjZXNzLCB5b3Ugd2ls
bCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01Q
TEVURSIuCi0KLQotUEFTUyBIb3N0IGNsYXNzaWZpZWQgYXMgcHJldmFsZW50IHJlc291cmNlLgot
UEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQotCi1URVNUIENPTVBMRVRFCi0KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jbGFz
c2lmeS1hcy1wcmV2YWxlbnQtYmFzZWQtb24tdG9wLWZyYW1lLXJlZGlyZWN0LXRvLXByZXZhbGVu
dC1kYXRhYmFzZS5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0
aXN0aWNzL2NsYXNzaWZ5LWFzLXByZXZhbGVudC1iYXNlZC1vbi10b3AtZnJhbWUtcmVkaXJlY3Qt
dG8tcHJldmFsZW50LWRhdGFiYXNlLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IGUzNTA5YThiZTgxM2YxOGFiMWVhZjVjNTk5Nzg0ZjllYjAyMGM2ODUuLjAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9y
ZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NsYXNzaWZ5LWFzLXByZXZhbGVudC1iYXNlZC1vbi10b3At
ZnJhbWUtcmVkaXJlY3QtdG8tcHJldmFsZW50LWRhdGFiYXNlLmh0bWwKKysrIC9kZXYvbnVsbApA
QCAtMSw0OSArMCwwIEBACi08IURPQ1RZUEUgaHRtbD4KLTxodG1sIGxhbmc9ImVuIj4KLTxoZWFk
PgotICAgIDxtZXRhIGNoYXJzZXQ9IlVURi04Ij4KLSAgICA8c2NyaXB0IHNyYz0iL2pzLXRlc3Qt
cmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgotICAgIDxzY3JpcHQgc3JjPSJyZXNvdXJj
ZXMvdXRpbC5qcyI+PC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keT4KLTxzY3JpcHQ+Ci0gICAgZGVz
Y3JpcHRpb24oIlRlc3RzIGZvciBjbGFzc2lmaWNhdGlvbiBiYXNlZCBvbiB0b3AgZnJhbWUgcmVk
aXJlY3QgdG8gb3RoZXIgcHJldmFsZW50LiIpOwotICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOwot
Ci0gICAgY29uc3QgaG9zdFVuZGVyVGVzdCA9ICIxMjcuMC4wLjE6ODAwMCI7Ci0gICAgY29uc3Qg
c3RhdGlzdGljc1VybCA9ICJodHRwOi8vIiArIGhvc3RVbmRlclRlc3QgKyAiL3RlbXAiOwotICAg
IGNvbnN0IHRvcEZyYW1lT3JpZ2luMSA9ICJodHRwOi8vMTI3LjAuMC4yOjgwMDAvdGVtcCI7Ci0K
LSAgICBmdW5jdGlvbiBjb21wbGV0ZVRlc3QoKSB7Ci0gICAgICAgIGlmICghdGVzdFJ1bm5lci5p
c1N0YXRpc3RpY3NQcmV2YWxlbnRSZXNvdXJjZShzdGF0aXN0aWNzVXJsKSkKLSAgICAgICAgICAg
IHRlc3RGYWlsZWQoIkhvc3QgZGlkIG5vdCBnZXQgY2xhc3NpZmllZCBhcyBwcmV2YWxlbnQgcmVz
b3VyY2UuIik7Ci0gICAgICAgIGVsc2UgaWYgKHRlc3RSdW5uZXIuaXNTdGF0aXN0aWNzVmVyeVBy
ZXZhbGVudFJlc291cmNlKHN0YXRpc3RpY3NVcmwpKQotICAgICAgICAgICAgdGVzdEZhaWxlZCgi
SG9zdCBnb3QgY2xhc3NpZmllZCBhcyB2ZXJ5IHByZXZhbGVudCByZXNvdXJjZS4iKTsKLSAgICAg
ICAgZWxzZQotICAgICAgICAgICAgdGVzdFBhc3NlZCgiSG9zdCBjbGFzc2lmaWVkIGFzIHByZXZh
bGVudCByZXNvdXJjZS4iKTsKLSAgICAgICAgCi0gICAgICAgIHNldEVuYWJsZUZlYXR1cmUoZmFs
c2UsIGZpbmlzaEpTVGVzdCk7Ci0gICAgfQotCi0gICAgZnVuY3Rpb24gcnVuVGVzdCgpIHsKLSAg
ICAgICAgdGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNzUHJldmFsZW50UmVzb3VyY2UodG9wRnJhbWVP
cmlnaW4xLCB0cnVlLCBmdW5jdGlvbigpIHsKLSAgICAgICAgICAgIHRlc3RSdW5uZXIuc2V0U3Rh
dGlzdGljc1RvcEZyYW1lVW5pcXVlUmVkaXJlY3RUbyhzdGF0aXN0aWNzVXJsLCB0b3BGcmFtZU9y
aWdpbjEpOwotCi0gICAgICAgICAgICB0ZXN0UnVubmVyLmluc3RhbGxTdGF0aXN0aWNzRGlkU2Nh
bkRhdGFSZWNvcmRzQ2FsbGJhY2soY29tcGxldGVUZXN0KTsKLSAgICAgICAgICAgIHRlc3RSdW5u
ZXIuc3RhdGlzdGljc1Byb2Nlc3NTdGF0aXN0aWNzQW5kRGF0YVJlY29yZHMoKTsKLSAgICAgICAg
fSk7Ci0gICAgfQotCi0gICAgaWYgKGRvY3VtZW50LmxvY2F0aW9uLmhvc3QgPT09IGhvc3RVbmRl
clRlc3QgJiYgd2luZG93LnRlc3RSdW5uZXIgJiYgd2luZG93LmludGVybmFscykgewotICAgICAg
ICB0ZXN0UnVubmVyLnNldFVzZUlUUERhdGFiYXNlKHRydWUpOwotICAgICAgICBzZXRFbmFibGVG
ZWF0dXJlKHRydWUsIGZ1bmN0aW9uKCkgewotICAgICAgICAgICAgdGVzdFJ1bm5lci5zZXRTdGF0
aXN0aWNzUHJldmFsZW50UmVzb3VyY2Uoc3RhdGlzdGljc1VybCwgZmFsc2UsIGZ1bmN0aW9uKCkg
ewotICAgICAgICAgICAgICAgIGlmICh0ZXN0UnVubmVyLmlzU3RhdGlzdGljc1ByZXZhbGVudFJl
c291cmNlKHN0YXRpc3RpY3NVcmwpKQotICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKCJI
b3N0IGRpZCBub3QgZ2V0IHNldCBhcyBub24tcHJldmFsZW50IHJlc291cmNlLiIpOwotICAgICAg
ICAgICAgICAgIHJ1blRlc3QoKTsKLSAgICAgICAgICAgIH0pOwotICAgICAgICB9KTsKLSAgICB9
Ci08L3NjcmlwdD4KLTwvYm9keT4KLTwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0
dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jbGFzc2lmeS1hcy1wcmV2YWxlbnQtYmFz
ZWQtb24tdG9wLWZyYW1lLXVuaXF1ZS1yZWRpcmVjdHMtdG8tZGF0YWJhc2UtZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NsYXNzaWZ5
LWFzLXByZXZhbGVudC1iYXNlZC1vbi10b3AtZnJhbWUtdW5pcXVlLXJlZGlyZWN0cy10by1kYXRh
YmFzZS1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGE0OTFiZjk2
MDMzNTcwOWM5OTFkZjFmZmQzMjQyOGJkYmFlODA2ZjguLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxv
YWRTdGF0aXN0aWNzL2NsYXNzaWZ5LWFzLXByZXZhbGVudC1iYXNlZC1vbi10b3AtZnJhbWUtdW5p
cXVlLXJlZGlyZWN0cy10by1kYXRhYmFzZS1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAt
MSwxMCArMCwwIEBACi1UZXN0cyBmb3IgY2xhc3NpZmljYXRpb24gYmFzZWQgb24gdG9wIGZyYW1l
IHVuaXF1ZSByZWRpcmVjdHMgdG8uCi0KLU9uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmll
cyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KLQotCi1Q
QVNTIEhvc3QgY2xhc3NpZmllZCBhcyBwcmV2YWxlbnQgcmVzb3VyY2UuCi1QQVNTIHN1Y2Nlc3Nm
dWxseVBhcnNlZCBpcyB0cnVlCi0KLVRFU1QgQ09NUExFVEUKLQpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NsYXNzaWZ5LWFzLXByZXZh
bGVudC1iYXNlZC1vbi10b3AtZnJhbWUtdW5pcXVlLXJlZGlyZWN0cy10by1kYXRhYmFzZS5odG1s
IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NsYXNzaWZ5
LWFzLXByZXZhbGVudC1iYXNlZC1vbi10b3AtZnJhbWUtdW5pcXVlLXJlZGlyZWN0cy10by1kYXRh
YmFzZS5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA2NjExNTE3MTJjYWNlM2U0
N2Q5N2IyNmQxYWE1YzQ1NGIzMWNjYTU5Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlz
dGljcy9jbGFzc2lmeS1hcy1wcmV2YWxlbnQtYmFzZWQtb24tdG9wLWZyYW1lLXVuaXF1ZS1yZWRp
cmVjdHMtdG8tZGF0YWJhc2UuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDU0ICswLDAgQEAKLTwh
RE9DVFlQRSBodG1sPgotPGh0bWwgbGFuZz0iZW4iPgotPGhlYWQ+Ci0gICAgPG1ldGEgY2hhcnNl
dD0iVVRGLTgiPgotICAgIDxzY3JpcHQgc3JjPSIvanMtdGVzdC1yZXNvdXJjZXMvanMtdGVzdC5q
cyI+PC9zY3JpcHQ+Ci0gICAgPHNjcmlwdCBzcmM9InJlc291cmNlcy91dGlsLmpzIj48L3Njcmlw
dD4KLTwvaGVhZD4KLTxib2R5PgotPHNjcmlwdD4KLSAgICBkZXNjcmlwdGlvbigiVGVzdHMgZm9y
IGNsYXNzaWZpY2F0aW9uIGJhc2VkIG9uIHRvcCBmcmFtZSB1bmlxdWUgcmVkaXJlY3RzIHRvLiIp
OwotICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOwotCi0gICAgY29uc3QgaG9zdFVuZGVyVGVzdCA9
ICIxMjcuMC4wLjE6ODAwMCI7Ci0gICAgY29uc3Qgc3RhdGlzdGljc1VybCA9ICJodHRwOi8vIiAr
IGhvc3RVbmRlclRlc3QgKyAiL3RlbXAiOwotICAgIGNvbnN0IHRvcEZyYW1lT3JpZ2luMSA9ICJo
dHRwOi8vMTI3LjAuMC4yOjgwMDAvdGVtcCI7Ci0gICAgY29uc3QgdG9wRnJhbWVPcmlnaW4yID0g
Imh0dHA6Ly8xMjcuMC4wLjM6ODAwMC90ZW1wIjsKLSAgICBjb25zdCB0b3BGcmFtZU9yaWdpbjMg
PSAiaHR0cDovLzEyNy4wLjAuNDo4MDAwL3RlbXAiOwotICAgIGNvbnN0IHRvcEZyYW1lT3JpZ2lu
NCA9ICJodHRwOi8vMTI3LjAuMC41OjgwMDAvdGVtcCI7Ci0KLSAgICBmdW5jdGlvbiBjb21wbGV0
ZVRlc3QoKSB7Ci0gICAgICAgIGlmICghdGVzdFJ1bm5lci5pc1N0YXRpc3RpY3NQcmV2YWxlbnRS
ZXNvdXJjZShzdGF0aXN0aWNzVXJsKSkKLSAgICAgICAgICAgIHRlc3RGYWlsZWQoIkhvc3QgZGlk
IG5vdCBnZXQgY2xhc3NpZmllZCBhcyBwcmV2YWxlbnQgcmVzb3VyY2UuIik7Ci0gICAgICAgIGlm
ICh0ZXN0UnVubmVyLmlzU3RhdGlzdGljc1ZlcnlQcmV2YWxlbnRSZXNvdXJjZShzdGF0aXN0aWNz
VXJsKSkKLSAgICAgICAgICAgIHRlc3RGYWlsZWQoIkhvc3QgZ290IGNsYXNzaWZpZWQgYXMgdmVy
eSBwcmV2YWxlbnQgcmVzb3VyY2UuIik7Ci0gICAgICAgIGVsc2UKLSAgICAgICAgICAgIHRlc3RQ
YXNzZWQoIkhvc3QgY2xhc3NpZmllZCBhcyBwcmV2YWxlbnQgcmVzb3VyY2UuIik7Ci0KLSAgICAg
ICAgc2V0RW5hYmxlRmVhdHVyZShmYWxzZSwgZmluaXNoSlNUZXN0KTsKLSAgICB9Ci0KLSAgICBm
dW5jdGlvbiBydW5UZXN0KCkgewotICAgICAgICB0ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NUb3BG
cmFtZVVuaXF1ZVJlZGlyZWN0VG8oc3RhdGlzdGljc1VybCwgdG9wRnJhbWVPcmlnaW4xKTsKLSAg
ICAgICAgdGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNzVG9wRnJhbWVVbmlxdWVSZWRpcmVjdFRvKHN0
YXRpc3RpY3NVcmwsIHRvcEZyYW1lT3JpZ2luMik7Ci0gICAgICAgIHRlc3RSdW5uZXIuc2V0U3Rh
dGlzdGljc1RvcEZyYW1lVW5pcXVlUmVkaXJlY3RUbyhzdGF0aXN0aWNzVXJsLCB0b3BGcmFtZU9y
aWdpbjMpOwotICAgICAgICB0ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NUb3BGcmFtZVVuaXF1ZVJl
ZGlyZWN0VG8oc3RhdGlzdGljc1VybCwgdG9wRnJhbWVPcmlnaW40KTsKLQotICAgICAgICB0ZXN0
UnVubmVyLmluc3RhbGxTdGF0aXN0aWNzRGlkU2NhbkRhdGFSZWNvcmRzQ2FsbGJhY2soY29tcGxl
dGVUZXN0KTsKLQotICAgICAgICB0ZXN0UnVubmVyLnN0YXRpc3RpY3NQcm9jZXNzU3RhdGlzdGlj
c0FuZERhdGFSZWNvcmRzKCk7Ci0gICAgfQotCi0gICAgaWYgKGRvY3VtZW50LmxvY2F0aW9uLmhv
c3QgPT09IGhvc3RVbmRlclRlc3QgJiYgd2luZG93LnRlc3RSdW5uZXIgJiYgd2luZG93LmludGVy
bmFscykgewotICAgICAgICB0ZXN0UnVubmVyLnNldFVzZUlUUERhdGFiYXNlKHRydWUpOwotICAg
ICAgICBzZXRFbmFibGVGZWF0dXJlKHRydWUsIGZ1bmN0aW9uKCkgewotICAgICAgICAgICAgdGVz
dFJ1bm5lci5zZXRTdGF0aXN0aWNzUHJldmFsZW50UmVzb3VyY2Uoc3RhdGlzdGljc1VybCwgZmFs
c2UsIGZ1bmN0aW9uKCkgewotICAgICAgICAgICAgICAgIGlmICh0ZXN0UnVubmVyLmlzU3RhdGlz
dGljc1ByZXZhbGVudFJlc291cmNlKHN0YXRpc3RpY3NVcmwpKQotICAgICAgICAgICAgICAgICAg
ICB0ZXN0RmFpbGVkKCJIb3N0IGRpZCBub3QgZ2V0IHNldCBhcyBub24tcHJldmFsZW50IHJlc291
cmNlLiIpOwotICAgICAgICAgICAgICAgIHJ1blRlc3QoKTsKLSAgICAgICAgICAgIH0pOwotICAg
ICAgICB9KTsKLSAgICB9Ci08L3NjcmlwdD4KLTwvYm9keT4KLTwvaHRtbD4KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jbGFzc2lmeS1h
cy12ZXJ5LXByZXZhbGVudC1iYXNlZC1vbi1taXhlZC1zdGF0aXN0aWNzLWRhdGFiYXNlLWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9j
bGFzc2lmeS1hcy12ZXJ5LXByZXZhbGVudC1iYXNlZC1vbi1taXhlZC1zdGF0aXN0aWNzLWRhdGFi
YXNlLWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYjBmMDMxZGNh
NWQwYzk2MDhmNGQ4ZjVhZjg5OWExNmU5ZWY1MWM1OC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9h
ZFN0YXRpc3RpY3MvY2xhc3NpZnktYXMtdmVyeS1wcmV2YWxlbnQtYmFzZWQtb24tbWl4ZWQtc3Rh
dGlzdGljcy1kYXRhYmFzZS1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSwxMCArMCww
IEBACi1UZXN0IGZvciBjbGFzc2lmaWNhdGlvbiBhcyB2ZXJ5IHByZXZhbGVudCBiYXNlZCBvbiBt
aXhlZCBzdGF0aXN0aWNzLgotCi1PbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2Yg
IlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCi0KLQotUEFTUyBI
b3N0IGNsYXNzaWZpZWQgYXMgdmVyeSBwcmV2YWxlbnQgcmVzb3VyY2UuCi1QQVNTIHN1Y2Nlc3Nm
dWxseVBhcnNlZCBpcyB0cnVlCi0KLVRFU1QgQ09NUExFVEUKLQpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NsYXNzaWZ5LWFzLXZlcnkt
cHJldmFsZW50LWJhc2VkLW9uLW1peGVkLXN0YXRpc3RpY3MtZGF0YWJhc2UuaHRtbCBiL0xheW91
dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jbGFzc2lmeS1hcy12ZXJ5
LXByZXZhbGVudC1iYXNlZC1vbi1taXhlZC1zdGF0aXN0aWNzLWRhdGFiYXNlLmh0bWwKZGVsZXRl
ZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGY3ZGRhZjc1OTQ5MGMwNTY5MDNhNTBkNDdmZDVhYTZl
ZGI3ZjdhMjIuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEv
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NsYXNzaWZ5LWFz
LXZlcnktcHJldmFsZW50LWJhc2VkLW9uLW1peGVkLXN0YXRpc3RpY3MtZGF0YWJhc2UuaHRtbAor
KysgL2Rldi9udWxsCkBAIC0xLDY0ICswLDAgQEAKLTwhRE9DVFlQRSBodG1sPgotPGh0bWwgbGFu
Zz0iZW4iPgotPGhlYWQ+Ci0gICAgPG1ldGEgY2hhcnNldD0iVVRGLTgiPgotICAgIDxzY3JpcHQg
c3JjPSIvanMtdGVzdC1yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+Ci0gICAgPHNjcmlw
dCBzcmM9InJlc291cmNlcy91dGlsLmpzIj48L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5PgotPHNj
cmlwdD4KLSAgICBkZXNjcmlwdGlvbigiVGVzdCBmb3IgY2xhc3NpZmljYXRpb24gYXMgdmVyeSBw
cmV2YWxlbnQgYmFzZWQgb24gbWl4ZWQgc3RhdGlzdGljcy4iKTsKLSAgICBqc1Rlc3RJc0FzeW5j
ID0gdHJ1ZTsKLQotICAgIGNvbnN0IGhvc3RVbmRlclRlc3QgPSAiMTI3LjAuMC4xOjgwMDAiOwot
ICAgIGNvbnN0IHN0YXRpc3RpY3NVcmwgPSAiaHR0cDovLyIgKyBob3N0VW5kZXJUZXN0ICsgIi90
ZW1wIjsKLSAgICB2YXIgdG9wRnJhbWVPcmlnaW5zID0gW107Ci0gICAgY29uc3Qgc3RhcnROdW0g
PSAyOwotICAgIGNvbnN0IG51bWJlck9mU3VicmVzb3VyY2VEb21haW5zID0gMzA7Ci0gICAgZm9y
ICh2YXIgaSA9IHN0YXJ0TnVtOyBpIDwgbnVtYmVyT2ZTdWJyZXNvdXJjZURvbWFpbnMgKyBzdGFy
dE51bTsgKytpKQotICAgICAgICB0b3BGcmFtZU9yaWdpbnMucHVzaCgiaHR0cDovLzEyNy4wLjAu
IiArIGkgKyAiOjgwMDAvdGVtcCIpCi0KLSAgICBmdW5jdGlvbiBjb21wbGV0ZVRlc3QoKSB7Ci0g
ICAgICAgIGlmICghdGVzdFJ1bm5lci5pc1N0YXRpc3RpY3NQcmV2YWxlbnRSZXNvdXJjZShzdGF0
aXN0aWNzVXJsKSkKLSAgICAgICAgICAgIHRlc3RGYWlsZWQoIkhvc3QgZGlkIG5vdCBnZXQgY2xh
c3NpZmllZCBhcyBwcmV2YWxlbnQgcmVzb3VyY2UuIik7Ci0gICAgICAgIGlmICghdGVzdFJ1bm5l
ci5pc1N0YXRpc3RpY3NWZXJ5UHJldmFsZW50UmVzb3VyY2Uoc3RhdGlzdGljc1VybCkpCi0gICAg
ICAgICAgICB0ZXN0RmFpbGVkKCJIb3N0IGRpZCBub3QgZ2V0IGNsYXNzaWZpZWQgYXMgdmVyeSBw
cmV2YWxlbnQgcmVzb3VyY2UuIik7Ci0gICAgICAgIGVsc2UKLSAgICAgICAgICAgIHRlc3RQYXNz
ZWQoIkhvc3QgY2xhc3NpZmllZCBhcyB2ZXJ5IHByZXZhbGVudCByZXNvdXJjZS4iKTsKLQotICAg
ICAgICBzZXRFbmFibGVGZWF0dXJlKGZhbHNlLCBmaW5pc2hKU1Rlc3QpOwotICAgIH0KLQotICAg
IGZ1bmN0aW9uIHJ1blRlc3RSdW5uZXJUZXN0KCkgeyAKLSAgICAgICAgdGVzdFJ1bm5lci5zZXRT
dGF0aXN0aWNzUHJldmFsZW50UmVzb3VyY2Uoc3RhdGlzdGljc1VybCwgZmFsc2UsIGZ1bmN0aW9u
KCkgewotICAgICAgICAgICAgaWYgKHRlc3RSdW5uZXIuaXNTdGF0aXN0aWNzUHJldmFsZW50UmVz
b3VyY2Uoc3RhdGlzdGljc1VybCkpCi0gICAgICAgICAgICAgICAgdGVzdEZhaWxlZCgiSG9zdCBz
dGFydGVkIG91dCBhcyBwcmV2YWxlbnQgcmVzb3VyY2UuIik7Ci0KLSAgICAgICAgICAgIHZhciBp
ID0gMDsKLSAgICAgICAgICAgIHdoaWxlIChpIDwgbnVtYmVyT2ZTdWJyZXNvdXJjZURvbWFpbnMp
IHsKLSAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NTdWJmcmFtZVVuZGVy
VG9wRnJhbWVPcmlnaW4oc3RhdGlzdGljc1VybCwgdG9wRnJhbWVPcmlnaW5zW2ldKTsKLSAgICAg
ICAgICAgICAgICB0ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NTdWJyZXNvdXJjZVVuZGVyVG9wRnJh
bWVPcmlnaW4oc3RhdGlzdGljc1VybCwgdG9wRnJhbWVPcmlnaW5zW2ldKTsKLSAgICAgICAgICAg
ICAgICB0ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NTdWJyZXNvdXJjZVVuaXF1ZVJlZGlyZWN0VG8o
c3RhdGlzdGljc1VybCwgdG9wRnJhbWVPcmlnaW5zW2ldKTsKLQotICAgICAgICAgICAgICAgIHRl
c3RSdW5uZXIuc2V0U3RhdGlzdGljc1N1YmZyYW1lVW5kZXJUb3BGcmFtZU9yaWdpbihzdGF0aXN0
aWNzVXJsLCB0b3BGcmFtZU9yaWdpbnNbaSsxXSk7Ci0gICAgICAgICAgICAgICAgdGVzdFJ1bm5l
ci5zZXRTdGF0aXN0aWNzU3VicmVzb3VyY2VVbmRlclRvcEZyYW1lT3JpZ2luKHN0YXRpc3RpY3NV
cmwsIHRvcEZyYW1lT3JpZ2luc1tpKzFdKTsKLSAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLnNl
dFN0YXRpc3RpY3NTdWJyZXNvdXJjZVVuaXF1ZVJlZGlyZWN0VG8oc3RhdGlzdGljc1VybCwgdG9w
RnJhbWVPcmlnaW5zW2krMV0pOwotCi0gICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5zZXRTdGF0
aXN0aWNzU3ViZnJhbWVVbmRlclRvcEZyYW1lT3JpZ2luKHN0YXRpc3RpY3NVcmwsIHRvcEZyYW1l
T3JpZ2luc1tpKzJdKTsKLSAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NT
dWJyZXNvdXJjZVVuZGVyVG9wRnJhbWVPcmlnaW4oc3RhdGlzdGljc1VybCwgdG9wRnJhbWVPcmln
aW5zW2krMl0pOwotICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc1N1YnJl
c291cmNlVW5pcXVlUmVkaXJlY3RUbyhzdGF0aXN0aWNzVXJsLCB0b3BGcmFtZU9yaWdpbnNbaSsy
XSk7Ci0gICAgICAgICAgICAgICAgaSArPSAzOwotICAgICAgICAgICAgfQotCi0gICAgICAgICAg
ICB0ZXN0UnVubmVyLmluc3RhbGxTdGF0aXN0aWNzRGlkU2NhbkRhdGFSZWNvcmRzQ2FsbGJhY2so
Y29tcGxldGVUZXN0KTsKLSAgICAgICAgICAgIHRlc3RSdW5uZXIuc3RhdGlzdGljc1Byb2Nlc3NT
dGF0aXN0aWNzQW5kRGF0YVJlY29yZHMoKTsKLSAgICAgICAgfSk7Ci0gICAgfQotCi0gICAgaWYg
KGRvY3VtZW50LmxvY2F0aW9uLmhvc3QgPT09IGhvc3RVbmRlclRlc3QgJiYgd2luZG93LnRlc3RS
dW5uZXIgJiYgd2luZG93LmludGVybmFscykgewotICAgICAgICB0ZXN0UnVubmVyLnNldFVzZUlU
UERhdGFiYXNlKHRydWUpOwotICAgICAgICBzZXRFbmFibGVGZWF0dXJlKHRydWUsIHJ1blRlc3RS
dW5uZXJUZXN0KTsKLSAgICB9Ci08L3NjcmlwdD4KLTwvYm9keT4KLTwvaHRtbD4KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jbGVhci1p
bi1tZW1vcnktYW5kLXBlcnNpc3RlbnQtc3RvcmUtZGF0YWJhc2UtZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NsZWFyLWluLW1lbW9y
eS1hbmQtcGVyc2lzdGVudC1zdG9yZS1kYXRhYmFzZS1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IGJhZTAwMzNmZmNjYWVjMjYzYTk2ZjJiM2Q3ODNlZGNmNzA0MDgz
ZDMuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NsZWFyLWluLW1lbW9yeS1h
bmQtcGVyc2lzdGVudC1zdG9yZS1kYXRhYmFzZS1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApA
QCAtMSwxMSArMCwwIEBACi1UZXN0cyBjbGVhcmluZyBvZiB3ZWJzaXRlIGRhdGEgc3RvcmUuCi0K
LU9uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZv
bGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KLQotCi1QQVNTIEhvc3QgY2xhc3NpZmllZCBhcyBw
cmV2YWxlbnQgcmVzb3VyY2UuCi1QQVNTIEhvc3QgaXMgbm8gbG9uZ2VyIGEgcHJldmFsZW50IHJl
c291cmNlIGFmdGVyIHRoZSBzdG9yZSB3YXMgY2xlYXJlZC4KLVBBU1Mgc3VjY2Vzc2Z1bGx5UGFy
c2VkIGlzIHRydWUKLQotVEVTVCBDT01QTEVURQotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9o
dHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY2xlYXItaW4tbWVtb3J5LWFuZC1wZXJz
aXN0ZW50LXN0b3JlLWRhdGFiYXNlLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291
cmNlTG9hZFN0YXRpc3RpY3MvY2xlYXItaW4tbWVtb3J5LWFuZC1wZXJzaXN0ZW50LXN0b3JlLWRh
dGFiYXNlLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDVhOWYxOTY3M2ZiNjBl
YzhiN2M5NjFjMTc3NDZkZjA4ZjJkMjJjMmIuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0
aXN0aWNzL2NsZWFyLWluLW1lbW9yeS1hbmQtcGVyc2lzdGVudC1zdG9yZS1kYXRhYmFzZS5odG1s
CisrKyAvZGV2L251bGwKQEAgLTEsNjUgKzAsMCBAQAotPCFET0NUWVBFIGh0bWw+Ci08aHRtbCBs
YW5nPSJlbiI+Ci08aGVhZD4KLSAgICA8bWV0YSBjaGFyc2V0PSJVVEYtOCI+Ci0gICAgPHRpdGxl
PlRlc3QgQ2xlYXJlZCBTdG9yZTwvdGl0bGU+Ci0gICAgPHNjcmlwdCBzcmM9Ii9qcy10ZXN0LXJl
c291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KLSAgICA8c2NyaXB0IHNyYz0icmVzb3VyY2Vz
L3V0aWwuanMiPjwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHk+Ci08c2NyaXB0PgotICAgIGRlc2Ny
aXB0aW9uKCJUZXN0cyBjbGVhcmluZyBvZiB3ZWJzaXRlIGRhdGEgc3RvcmUuIik7Ci0gICAganNU
ZXN0SXNBc3luYyA9IHRydWU7Ci0KLSAgICBjb25zdCBob3N0VW5kZXJUZXN0ID0gIjEyNy4wLjAu
MTo4MDAwIjsKLSAgICBjb25zdCBzdGF0aXN0aWNzVXJsID0gImh0dHA6Ly8iICsgaG9zdFVuZGVy
VGVzdCArICIvdGVtcCI7Ci0gICAgY29uc3QgdG9wRnJhbWVPcmlnaW4xID0gImh0dHA6Ly8xMjcu
MC4wLjI6ODAwMC90ZW1wIjsKLSAgICBjb25zdCB0b3BGcmFtZU9yaWdpbjIgPSAiaHR0cDovLzEy
Ny4wLjAuMzo4MDAwL3RlbXAiOwotICAgIGNvbnN0IHRvcEZyYW1lT3JpZ2luMyA9ICJodHRwOi8v
MTI3LjAuMC40OjgwMDAvdGVtcCI7Ci0KLSAgICBmdW5jdGlvbiB0ZXN0U3RlcDIoKSB7Ci0gICAg
ICAgIGlmICh0ZXN0UnVubmVyLmlzU3RhdGlzdGljc1ByZXZhbGVudFJlc291cmNlKHN0YXRpc3Rp
Y3NVcmwpKQotICAgICAgICAgICAgdGVzdFBhc3NlZCgiSG9zdCBjbGFzc2lmaWVkIGFzIHByZXZh
bGVudCByZXNvdXJjZS4iKTsKLSAgICAgICAgZWxzZQotICAgICAgICAgICAgdGVzdEZhaWxlZCgi
SG9zdCBkaWQgbm90IGdldCBjbGFzc2lmaWVkIGFzIHByZXZhbGVudCByZXNvdXJjZS4iKTsKLQot
ICAgICAgICB0ZXN0UnVubmVyLnN0YXRpc3RpY3NDbGVhckluTWVtb3J5QW5kUGVyc2lzdGVudFN0
b3JlKGNvbXBsZXRlVGVzdCk7Ci0gICAgfQotCi0gICAgZnVuY3Rpb24gY29tcGxldGVUZXN0KCkg
ewotICAgICAgICBpZiAodGVzdFJ1bm5lci5pc1N0YXRpc3RpY3NQcmV2YWxlbnRSZXNvdXJjZShz
dGF0aXN0aWNzVXJsKSkKLSAgICAgICAgICAgIHRlc3RGYWlsZWQoIkhvc3QgaXMgc3RpbGwgYSBw
cmV2YWxlbnQgcmVzb3VyY2UgYWZ0ZXIgdGhlIHN0b3JlIHdhcyBjbGVhcmVkLiIpOwotICAgICAg
ICBlbHNlCi0gICAgICAgICAgICB0ZXN0UGFzc2VkKCJIb3N0IGlzIG5vIGxvbmdlciBhIHByZXZh
bGVudCByZXNvdXJjZSBhZnRlciB0aGUgc3RvcmUgd2FzIGNsZWFyZWQuIik7Ci0KLSAgICAgICAg
c2V0RW5hYmxlRmVhdHVyZShmYWxzZSwgZmluaXNoSlNUZXN0KTsKLSAgICB9Ci0KLSAgICBmdW5j
dGlvbiBydW5UZXN0UnVubmVyVGVzdCgpIHsKLSAgICAgICAgdGVzdFJ1bm5lci5zZXRTdGF0aXN0
aWNzUHJldmFsZW50UmVzb3VyY2Uoc3RhdGlzdGljc1VybCwgZmFsc2UsIGZ1bmN0aW9uKCkgewot
ICAgICAgICAgICAgaWYgKHRlc3RSdW5uZXIuaXNTdGF0aXN0aWNzUHJldmFsZW50UmVzb3VyY2Uo
c3RhdGlzdGljc1VybCkpCi0gICAgICAgICAgICAgICAgdGVzdEZhaWxlZCgiSG9zdCBkaWQgbm90
IGdldCBzZXQgYXMgbm9uLXByZXZhbGVudCByZXNvdXJjZS4iKTsKLQotICAgICAgICAgICAgdGVz
dFJ1bm5lci5zZXRTdGF0aXN0aWNzU3ViZnJhbWVVbmRlclRvcEZyYW1lT3JpZ2luKHN0YXRpc3Rp
Y3NVcmwsIHRvcEZyYW1lT3JpZ2luMSk7Ci0gICAgICAgICAgICB0ZXN0UnVubmVyLnNldFN0YXRp
c3RpY3NTdWJyZXNvdXJjZVVuaXF1ZVJlZGlyZWN0VG8oc3RhdGlzdGljc1VybCwgdG9wRnJhbWVP
cmlnaW4xKTsKLSAgICAgICAgICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc1N1YnJlc291cmNl
VW5kZXJUb3BGcmFtZU9yaWdpbihzdGF0aXN0aWNzVXJsLCB0b3BGcmFtZU9yaWdpbjEpOwotICAg
ICAgICAgICAgdGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNzU3VicmVzb3VyY2VVbmRlclRvcEZyYW1l
T3JpZ2luKHN0YXRpc3RpY3NVcmwsIHRvcEZyYW1lT3JpZ2luMik7Ci0gICAgICAgICAgICB0ZXN0
UnVubmVyLnNldFN0YXRpc3RpY3NTdWJmcmFtZVVuZGVyVG9wRnJhbWVPcmlnaW4oc3RhdGlzdGlj
c1VybCwgdG9wRnJhbWVPcmlnaW4yKTsKLSAgICAgICAgICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlz
dGljc1N1YnJlc291cmNlVW5pcXVlUmVkaXJlY3RUbyhzdGF0aXN0aWNzVXJsLCB0b3BGcmFtZU9y
aWdpbjMpOwotICAgICAgICAgICAgdGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNzU3VicmVzb3VyY2VV
bmRlclRvcEZyYW1lT3JpZ2luKHN0YXRpc3RpY3NVcmwsIHRvcEZyYW1lT3JpZ2luMyk7Ci0KLSAg
ICAgICAgICAgIHRlc3RSdW5uZXIuaW5zdGFsbFN0YXRpc3RpY3NEaWRTY2FuRGF0YVJlY29yZHND
YWxsYmFjayh0ZXN0U3RlcDIpOwotCi0gICAgICAgICAgICB0ZXN0UnVubmVyLnN0YXRpc3RpY3NQ
cm9jZXNzU3RhdGlzdGljc0FuZERhdGFSZWNvcmRzKCk7Ci0gICAgICAgIH0pOwotICAgIH0KLQot
ICAgIGlmIChkb2N1bWVudC5sb2NhdGlvbi5ob3N0ID09PSBob3N0VW5kZXJUZXN0ICYmIHdpbmRv
dy50ZXN0UnVubmVyICYmIHdpbmRvdy5pbnRlcm5hbHMpIHsKLSAgICAgICAgdGVzdFJ1bm5lci5z
ZXRVc2VJVFBEYXRhYmFzZSh0cnVlKTsKLSAgICAgICAgc2V0RW5hYmxlRmVhdHVyZSh0cnVlLCBm
dW5jdGlvbiAoKSB7Ci0gICAgICAgICAgICBydW5UZXN0UnVubmVyVGVzdCgpOwotICAgICAgICB9
KTsKLSAgICB9Ci08L3NjcmlwdD4KLTwvYm9keT4KLTwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jbGVhci1pbi1tZW1vcnkt
YW5kLXBlcnNpc3RlbnQtc3RvcmUtb25lLWhvdXItZGF0YWJhc2UtZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NsZWFyLWluLW1lbW9y
eS1hbmQtcGVyc2lzdGVudC1zdG9yZS1vbmUtaG91ci1kYXRhYmFzZS1leHBlY3RlZC50eHQKZGVs
ZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDA3Zjk5OWM2ZmViMzI2NWRlZmYzOTUxYWMyZjgx
NDBhYzFhNmVlZTAuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0t
IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NsZWFyLWlu
LW1lbW9yeS1hbmQtcGVyc2lzdGVudC1zdG9yZS1vbmUtaG91ci1kYXRhYmFzZS1leHBlY3RlZC50
eHQKKysrIC9kZXYvbnVsbApAQCAtMSwxMSArMCwwIEBACi1UZXN0cyBjbGVhcmluZyBvZiB3ZWJz
aXRlIGRhdGEgc3RvcmUgKG9uZSBob3VyKS4KLQotT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEg
c2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgot
Ci0KLVBBU1MgSG9zdCBjbGFzc2lmaWVkIGFzIHByZXZhbGVudCByZXNvdXJjZS4KLVBBU1MgSG9z
dCBpcyBubyBsb25nZXIgYSBwcmV2YWxlbnQgcmVzb3VyY2UgYWZ0ZXIgdGhlIHN0b3JlIHdhcyBj
bGVhcmVkLgotUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQotCi1URVNUIENPTVBMRVRF
Ci0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlz
dGljcy9jbGVhci1pbi1tZW1vcnktYW5kLXBlcnNpc3RlbnQtc3RvcmUtb25lLWhvdXItZGF0YWJh
c2UuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9j
bGVhci1pbi1tZW1vcnktYW5kLXBlcnNpc3RlbnQtc3RvcmUtb25lLWhvdXItZGF0YWJhc2UuaHRt
bApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYWMyMWMwNjY0ZTQxMzEzZmZhM2YzM2Q0
YjAxMjM3NTIxMDJkZTQwYi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY2xl
YXItaW4tbWVtb3J5LWFuZC1wZXJzaXN0ZW50LXN0b3JlLW9uZS1ob3VyLWRhdGFiYXNlLmh0bWwK
KysrIC9kZXYvbnVsbApAQCAtMSw2MyArMCwwIEBACi08IURPQ1RZUEUgaHRtbD4KLTxodG1sIGxh
bmc9ImVuIj4KLTxoZWFkPgotICAgIDxtZXRhIGNoYXJzZXQ9IlVURi04Ij4KLSAgICA8dGl0bGU+
PC90aXRsZT4KLSAgICA8c2NyaXB0IHNyYz0iL2pzLXRlc3QtcmVzb3VyY2VzL2pzLXRlc3QuanMi
Pjwvc2NyaXB0PgotICAgIDxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvdXRpbC5qcyI+PC9zY3JpcHQ+
Ci08L2hlYWQ+Ci08Ym9keT4KLTxzY3JpcHQ+Ci0gICAgZGVzY3JpcHRpb24oIlRlc3RzIGNsZWFy
aW5nIG9mIHdlYnNpdGUgZGF0YSBzdG9yZSAob25lIGhvdXIpLiIpOwotICAgIGpzVGVzdElzQXN5
bmMgPSB0cnVlOwotCi0gICAgY29uc3QgaG9zdFVuZGVyVGVzdCA9ICIxMjcuMC4wLjE6ODAwMCI7
Ci0gICAgY29uc3Qgc3RhdGlzdGljc1VybCA9ICJodHRwOi8vIiArIGhvc3RVbmRlclRlc3QgKyAi
L3RlbXAiOwotICAgIGNvbnN0IHRvcEZyYW1lT3JpZ2luMSA9ICJodHRwOi8vMTI3LjAuMC4yOjgw
MDAvdGVtcCI7Ci0gICAgY29uc3QgdG9wRnJhbWVPcmlnaW4yID0gImh0dHA6Ly8xMjcuMC4wLjM6
ODAwMC90ZW1wIjsKLSAgICBjb25zdCB0b3BGcmFtZU9yaWdpbjMgPSAiaHR0cDovLzEyNy4wLjAu
NDo4MDAwL3RlbXAiOwotCi0gICAgZnVuY3Rpb24gY29tcGxldGVUZXN0KCkgewotICAgICAgICBp
ZiAodGVzdFJ1bm5lci5pc1N0YXRpc3RpY3NQcmV2YWxlbnRSZXNvdXJjZShzdGF0aXN0aWNzVXJs
KSkKLSAgICAgICAgICAgIHRlc3RGYWlsZWQoIkhvc3QgaXMgc3RpbGwgYSBwcmV2YWxlbnQgcmVz
b3VyY2UgYWZ0ZXIgdGhlIHN0b3JlIHdhcyBjbGVhcmVkLiIpOwotICAgICAgICBlbHNlCi0gICAg
ICAgICAgICB0ZXN0UGFzc2VkKCJIb3N0IGlzIG5vIGxvbmdlciBhIHByZXZhbGVudCByZXNvdXJj
ZSBhZnRlciB0aGUgc3RvcmUgd2FzIGNsZWFyZWQuIik7Ci0gICAgICAgIHNldEVuYWJsZUZlYXR1
cmUoZmFsc2UsIGZpbmlzaEpTVGVzdCk7Ci0gICAgfQotCi0gICAgZnVuY3Rpb24gdGVzdFN0ZXAy
KCkgewotICAgICAgICBpZiAodGVzdFJ1bm5lci5pc1N0YXRpc3RpY3NQcmV2YWxlbnRSZXNvdXJj
ZShzdGF0aXN0aWNzVXJsKSkKLSAgICAgICAgICAgIHRlc3RQYXNzZWQoIkhvc3QgY2xhc3NpZmll
ZCBhcyBwcmV2YWxlbnQgcmVzb3VyY2UuIik7Ci0gICAgICAgIGVsc2UKLSAgICAgICAgICAgIHRl
c3RGYWlsZWQoIkhvc3QgZGlkIG5vdCBnZXQgY2xhc3NpZmllZCBhcyBwcmV2YWxlbnQgcmVzb3Vy
Y2UuIik7Ci0KLSAgICAgICAgdGVzdFJ1bm5lci5zdGF0aXN0aWNzQ2xlYXJJbk1lbW9yeUFuZFBl
cnNpc3RlbnRTdG9yZU1vZGlmaWVkU2luY2VIb3VycygxLCBjb21wbGV0ZVRlc3QpOwotICAgIH0K
LQotICAgIGZ1bmN0aW9uIHJ1blRlc3RSdW5uZXJUZXN0KCkgewotICAgICAgICB0ZXN0UnVubmVy
LnNldFN0YXRpc3RpY3NQcmV2YWxlbnRSZXNvdXJjZShzdGF0aXN0aWNzVXJsLCBmYWxzZSwgZnVu
Y3Rpb24oKSB7fSk7Ci0gICAgICAgIGlmICh0ZXN0UnVubmVyLmlzU3RhdGlzdGljc1ByZXZhbGVu
dFJlc291cmNlKHN0YXRpc3RpY3NVcmwpKQotICAgICAgICAgICAgdGVzdEZhaWxlZCgiSG9zdCBk
aWQgbm90IGdldCBzZXQgYXMgbm9uLXByZXZhbGVudCByZXNvdXJjZS4iKTsKLQotICAgICAgICB0
ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NTdWJmcmFtZVVuZGVyVG9wRnJhbWVPcmlnaW4oc3RhdGlz
dGljc1VybCwgdG9wRnJhbWVPcmlnaW4xKTsKLSAgICAgICAgdGVzdFJ1bm5lci5zZXRTdGF0aXN0
aWNzU3VicmVzb3VyY2VVbmlxdWVSZWRpcmVjdFRvKHN0YXRpc3RpY3NVcmwsIHRvcEZyYW1lT3Jp
Z2luMSk7Ci0gICAgICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc1N1YnJlc291cmNlVW5kZXJU
b3BGcmFtZU9yaWdpbihzdGF0aXN0aWNzVXJsLCB0b3BGcmFtZU9yaWdpbjEpOwotICAgICAgICB0
ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NTdWJyZXNvdXJjZVVuZGVyVG9wRnJhbWVPcmlnaW4oc3Rh
dGlzdGljc1VybCwgdG9wRnJhbWVPcmlnaW4yKTsKLSAgICAgICAgdGVzdFJ1bm5lci5zZXRTdGF0
aXN0aWNzU3ViZnJhbWVVbmRlclRvcEZyYW1lT3JpZ2luKHN0YXRpc3RpY3NVcmwsIHRvcEZyYW1l
T3JpZ2luMik7Ci0gICAgICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc1N1YnJlc291cmNlVW5p
cXVlUmVkaXJlY3RUbyhzdGF0aXN0aWNzVXJsLCB0b3BGcmFtZU9yaWdpbjMpOwotICAgICAgICB0
ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NTdWJyZXNvdXJjZVVuZGVyVG9wRnJhbWVPcmlnaW4oc3Rh
dGlzdGljc1VybCwgdG9wRnJhbWVPcmlnaW4zKTsKLQotICAgICAgICB0ZXN0UnVubmVyLmluc3Rh
bGxTdGF0aXN0aWNzRGlkU2NhbkRhdGFSZWNvcmRzQ2FsbGJhY2sodGVzdFN0ZXAyKTsKLQotICAg
ICAgICB0ZXN0UnVubmVyLnN0YXRpc3RpY3NQcm9jZXNzU3RhdGlzdGljc0FuZERhdGFSZWNvcmRz
KCk7Ci0gICAgfQotCi0gICAgaWYgKGRvY3VtZW50LmxvY2F0aW9uLmhvc3QgPT09IGhvc3RVbmRl
clRlc3QgJiYgd2luZG93LnRlc3RSdW5uZXIgJiYgd2luZG93LmludGVybmFscykgewotICAgICAg
ICB0ZXN0UnVubmVyLnNldFVzZUlUUERhdGFiYXNlKHRydWUpOwotICAgICAgICBzZXRFbmFibGVG
ZWF0dXJlKHRydWUsIGZ1bmN0aW9uICgpIHsKLSAgICAgICAgICAgIHJ1blRlc3RSdW5uZXJUZXN0
KCk7Ci0gICAgICAgIH0pOwotICAgIH0KLTwvc2NyaXB0PgotPC9ib2R5PgotPC9odG1sPgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2Nv
b2tpZS1kZWxldGlvbi1kYXRhYmFzZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3Rl
c3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY29va2llLWRlbGV0aW9uLWRhdGFiYXNlLWV4cGVj
dGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYWE3NzNlZDljYmYzZTIzMWFj
NGQ4NGRkNjRlOWY3YWNkMjhhZDAyNS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3Rp
Y3MvY29va2llLWRlbGV0aW9uLWRhdGFiYXNlLWV4cGVjdGVkLnR4dAorKysgL2Rldi9udWxsCkBA
IC0xLDU1ICswLDAgQEAKLVRlc3QgZm9yIHBhcnRpdGlvbmVkIGFuZCB1bnBhcnRpdGlvbmVkIGNv
b2tpZSBkZWxldGlvbi4KLQotT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQ
QVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgotCi0KLVBBU1Mgc3Vj
Y2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKLQotVEVTVCBDT01QTEVURQotCi0KLS0tLS0tLS0tCi1G
cmFtZTogJzwhLS1mcmFtZTEtLT4nCi0tLS0tLS0tLQotU2hvdWxkIHJlY2VpdmUgZmlyc3QtcGFy
dHkgY29va2llLgotUmVjZWl2ZWQgY29va2llIG5hbWVkICdmaXJzdFBhcnR5Q29va2llJy4KLURp
ZCBub3QgcmVjZWl2ZSBjb29raWUgbmFtZWQgJ3RoaXJkUGFydHlDb29raWUnLgotQ2xpZW50LXNp
ZGUgZG9jdW1lbnQuY29va2llOiBmaXJzdFBhcnR5Q29va2llPXZhbHVlCi0KLS0tLS0tLS0tCi1G
cmFtZTogJzwhLS1mcmFtZTItLT4nCi0tLS0tLS0tLQotU2hvdWxkIHJlY2VpdmUgbm8gY29va2ll
cy4KLURpZCBub3QgcmVjZWl2ZSBjb29raWUgbmFtZWQgJ2ZpcnN0UGFydHlDb29raWUnLgotRGlk
IG5vdCByZWNlaXZlIGNvb2tpZSBuYW1lZCAndGhpcmRQYXJ0eUNvb2tpZScuCi1DbGllbnQtc2lk
ZSBkb2N1bWVudC5jb29raWU6Ci0KLS0tLS0tLS0tCi1GcmFtZTogJzwhLS1mcmFtZTMtLT4nCi0t
LS0tLS0tLQotVHJ5IHRvIHNldCB0aGlyZCBwYXJ0eSBjb29raWUuCi0KLQotLS0tLS0tLS0KLUZy
YW1lOiAnPCEtLWZyYW1lNC0tPicKLS0tLS0tLS0tCi1TaG91bGQgcmVjZWl2ZSBubyBjb29raWVz
LgotRGlkIG5vdCByZWNlaXZlIGNvb2tpZSBuYW1lZCAnZmlyc3RQYXJ0eUNvb2tpZScuCi1EaWQg
bm90IHJlY2VpdmUgY29va2llIG5hbWVkICd0aGlyZFBhcnR5Q29va2llJy4KLUNsaWVudC1zaWRl
IGRvY3VtZW50LmNvb2tpZToKLQotLS0tLS0tLS0KLUZyYW1lOiAnPCEtLWZyYW1lNS0tPicKLS0t
LS0tLS0tCi1BZnRlciByZW1vdmFsLCBzaG91bGQgcmVjZWl2ZSBubyBjb29raWVzLgotRGlkIG5v
dCByZWNlaXZlIGNvb2tpZSBuYW1lZCAnZmlyc3RQYXJ0eUNvb2tpZScuCi1EaWQgbm90IHJlY2Vp
dmUgY29va2llIG5hbWVkICd0aGlyZFBhcnR5Q29va2llJy4KLUNsaWVudC1zaWRlIGRvY3VtZW50
LmNvb2tpZToKLQotLS0tLS0tLS0KLUZyYW1lOiAnPCEtLWZyYW1lNi0tPicKLS0tLS0tLS0tCi1B
ZnRlciBkZWNsYXNzaWZpZWQsIHNob3VsZCByZWNlaXZlIG5vIGNvb2tpZXMuCi1EaWQgbm90IHJl
Y2VpdmUgY29va2llIG5hbWVkICdmaXJzdFBhcnR5Q29va2llJy4KLURpZCBub3QgcmVjZWl2ZSBj
b29raWUgbmFtZWQgJ3RoaXJkUGFydHlDb29raWUnLgotQ2xpZW50LXNpZGUgZG9jdW1lbnQuY29v
a2llOgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0
aXN0aWNzL2Nvb2tpZS1kZWxldGlvbi1kYXRhYmFzZS5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90
ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2Nvb2tpZS1kZWxldGlvbi1kYXRhYmFzZS5odG1s
CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA0MTQxNDhhMmQ4M2ZiZTBiZjM2Y2Q0MzE2
OGM5NDUyMzdjYjVkZGFmLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jb29r
aWUtZGVsZXRpb24tZGF0YWJhc2UuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDExNiArMCwwIEBA
Ci08IURPQ1RZUEUgaHRtbD4KLTxodG1sIGxhbmc9ImVuIj4KLTxoZWFkPgotICAgIDxtZXRhIGNo
YXJzZXQ9IlVURi04Ij4KLSAgICA8c2NyaXB0IHNyYz0iL2pzLXRlc3QtcmVzb3VyY2VzL2pzLXRl
c3QuanMiPjwvc2NyaXB0PgotICAgIDxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvdXRpbC5qcyI+PC9z
Y3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keT4KLTxzY3JpcHQ+Ci0gICAgZGVzY3JpcHRpb24oIlRlc3Qg
Zm9yIHBhcnRpdGlvbmVkIGFuZCB1bnBhcnRpdGlvbmVkIGNvb2tpZSBkZWxldGlvbi4iKTsKLSAg
ICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKLQotICAgIGNvbnN0IHBhcnRpdGlvbkhvc3QgPSAiMTI3
LjAuMC4xOjgwMDAiOwotICAgIGNvbnN0IHRoaXJkUGFydHlPcmlnaW4gPSAiaHR0cDovL2xvY2Fs
aG9zdDo4MDAwIjsKLSAgICBjb25zdCB0aGlyZFBhcnR5QmFzZVVybCA9IHRoaXJkUGFydHlPcmln
aW4gKyAiL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvcmVzb3VyY2VzIjsKLSAgICBjb25zdCBmaXJz
dFBhcnR5Q29va2llTmFtZSA9ICJmaXJzdFBhcnR5Q29va2llIjsKLSAgICBjb25zdCBzdWJQYXRo
VG9TZXRGaXJzdFBhcnR5Q29va2llID0gIi9zZXQtY29va2llLnBocD9uYW1lPSIgKyBmaXJzdFBh
cnR5Q29va2llTmFtZSArICImdmFsdWU9dmFsdWUiOwotICAgIGNvbnN0IHRoaXJkUGFydHlDb29r
aWVOYW1lID0gInRoaXJkUGFydHlDb29raWUiOwotICAgIGNvbnN0IHN1YlBhdGhUb1NldFRoaXJk
UGFydHlDb29raWUgPSAiL3NldC1jb29raWUucGhwP25hbWU9IiArIHRoaXJkUGFydHlDb29raWVO
YW1lICsgIiZ2YWx1ZT12YWx1ZSI7Ci0gICAgY29uc3QgZnJhZ21lbnRXaXRoUmV0dXJuVXJsID0g
Imh0dHA6Ly8iICsgcGFydGl0aW9uSG9zdCArICIvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jb29r
aWUtZGVsZXRpb24tZGF0YWJhc2UuaHRtbCI7Ci0gICAgY29uc3Qgc3ViUGF0aFRvR2V0Q29va2ll
cyA9ICIvZ2V0LWNvb2tpZXMucGhwP25hbWUxPSIgKyBmaXJzdFBhcnR5Q29va2llTmFtZSArICIm
bmFtZTI9IiArIHRoaXJkUGFydHlDb29raWVOYW1lOwotCi0gICAgZnVuY3Rpb24gZmluaXNoVGVz
dCgpIHsKLSAgICAgICAgc2V0RW5hYmxlRmVhdHVyZShmYWxzZSwgZmluaXNoSlNUZXN0KTsKLSAg
ICB9Ci0KLSAgICBmdW5jdGlvbiBvcGVuSWZyYW1lKHVybCwgb25Mb2FkSGFuZGxlcikgewotICAg
ICAgICBjb25zdCBlbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiaWZyYW1lIik7Ci0g
ICAgICAgIGVsZW1lbnQuc3JjID0gdXJsOwotICAgICAgICBpZiAob25Mb2FkSGFuZGxlcikgewot
ICAgICAgICAgICAgZWxlbWVudC5vbmxvYWQgPSBvbkxvYWRIYW5kbGVyOwotICAgICAgICB9Ci0g
ICAgICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoZWxlbWVudCk7Ci0gICAgfQotCi0KLSAg
ICBmdW5jdGlvbiBmaXJlRGF0YU1vZGlmaWNhdGlvbkhhbmRsZXJBbmRDb250aW51ZSgpIHsKLSAg
ICAgICAgdGVzdFJ1bm5lci5pbnN0YWxsU3RhdGlzdGljc0RpZFNjYW5EYXRhUmVjb3Jkc0NhbGxi
YWNrKGZ1bmN0aW9uKCkgewotICAgICAgICAgICAgc2V0VGltZW91dChydW5UZXN0LCA1MDApOwot
ICAgICAgICB9KTsKLSAgICAgICAgdGVzdFJ1bm5lci5zdGF0aXN0aWNzUHJvY2Vzc1N0YXRpc3Rp
Y3NBbmREYXRhUmVjb3JkcygpOwotICAgIH0KLQotICAgIGZ1bmN0aW9uIHNldEFzTm9uUHJldmFs
ZW50QW5kQ29udGludWUoKSB7Ci0gICAgICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc1ByZXZh
bGVudFJlc291cmNlKHRoaXJkUGFydHlPcmlnaW4sIGZhbHNlLCBmdW5jdGlvbigpIHsKLSAgICAg
ICAgICAgIGlmICh0ZXN0UnVubmVyLmlzU3RhdGlzdGljc1ByZXZhbGVudFJlc291cmNlKHRoaXJk
UGFydHlPcmlnaW4pKQotICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoIkhvc3Qgc3RpbGwgc2V0
IGFzIHByZXZhbGVudCByZXNvdXJjZS4iKTsKLSAgICAgICAgICAgIHRlc3RSdW5uZXIuc3RhdGlz
dGljc1VwZGF0ZUNvb2tpZUJsb2NraW5nKHJ1blRlc3QpOwotICAgICAgICB9KTsKLSAgICB9Ci0K
LSAgICBmdW5jdGlvbiBydW5UZXN0KCkgewotICAgICAgICBzd2l0Y2ggKGRvY3VtZW50LmxvY2F0
aW9uLmhhc2gpIHsKLSAgICAgICAgICAgIGNhc2UgIiNzdGVwMSI6Ci0gICAgICAgICAgICAgICAg
Ly8gU2V0IGZpcnN0LXBhcnR5IGNvb2tpZSBmb3IgbG9jYWxob3N0LgotICAgICAgICAgICAgICAg
IGRvY3VtZW50LmxvY2F0aW9uLmhyZWYgPSB0aGlyZFBhcnR5QmFzZVVybCArIHN1YlBhdGhUb1Nl
dEZpcnN0UGFydHlDb29raWUgKyAiIyIgKyBmcmFnbWVudFdpdGhSZXR1cm5VcmwgKyAiI3N0ZXAy
IjsKLSAgICAgICAgICAgICAgICBicmVhazsKLSAgICAgICAgICAgIGNhc2UgIiNzdGVwMiI6Ci0g
ICAgICAgICAgICAgICAgLy8gQ2hlY2sgdGhhdCB0aGUgdGhpcmQtcGFydHkgaGFzIGFjY2VzcyB0
byBpdHMgZmlyc3QtcGFydHkgY29va2llcy4KLSAgICAgICAgICAgICAgICBkb2N1bWVudC5sb2Nh
dGlvbi5oYXNoID0gInN0ZXAzIjsKLSAgICAgICAgICAgICAgICBvcGVuSWZyYW1lKHRoaXJkUGFy
dHlCYXNlVXJsICsgc3ViUGF0aFRvR2V0Q29va2llcyArICImbWVzc2FnZT1TaG91bGQgcmVjZWl2
ZSBmaXJzdC1wYXJ0eSBjb29raWUuIiwgcnVuVGVzdCk7Ci0gICAgICAgICAgICAgICAgYnJlYWs7
Ci0gICAgICAgICAgICBjYXNlICIjc3RlcDMiOgotICAgICAgICAgICAgICAgIC8vIENsYXNzaWZ5
IGxvY2FsaG9zdCBhcyBwcmV2YWxlbnQuCi0gICAgICAgICAgICAgICAgZG9jdW1lbnQubG9jYXRp
b24uaGFzaCA9ICJzdGVwNCI7Ci0gICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5zZXRTdGF0aXN0
aWNzUHJldmFsZW50UmVzb3VyY2UodGhpcmRQYXJ0eU9yaWdpbiwgdHJ1ZSwgZnVuY3Rpb24oKSB7
Ci0gICAgICAgICAgICAgICAgICAgIGlmICghdGVzdFJ1bm5lci5pc1N0YXRpc3RpY3NQcmV2YWxl
bnRSZXNvdXJjZSh0aGlyZFBhcnR5T3JpZ2luKSkKLSAgICAgICAgICAgICAgICAgICAgICAgIHRl
c3RGYWlsZWQoIkhvc3QgZGlkIG5vdCBnZXQgc2V0IGFzIHByZXZhbGVudCByZXNvdXJjZS4iKTsK
LSAgICAgICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5zdGF0aXN0aWNzVXBkYXRlQ29va2llQmxv
Y2tpbmcocnVuVGVzdCk7Ci0gICAgICAgICAgICAgICAgfSk7Ci0gICAgICAgICAgICAgICAgYnJl
YWs7Ci0gICAgICAgICAgICBjYXNlICIjc3RlcDQiOgotICAgICAgICAgICAgICAgIC8vIENoZWNr
IHRoYXQgdGhlIHRoaXJkLXBhcnR5IG5vIGxvbmdlciBoYXMgYWNjZXNzIHRvIGl0cyBmaXJzdC1w
YXJ0eSBjb29raWVzLgotICAgICAgICAgICAgICAgIGRvY3VtZW50LmxvY2F0aW9uLmhhc2ggPSAi
c3RlcDUiOwotICAgICAgICAgICAgICAgIG9wZW5JZnJhbWUodGhpcmRQYXJ0eUJhc2VVcmwgKyBz
dWJQYXRoVG9HZXRDb29raWVzICsgIiZtZXNzYWdlPVNob3VsZCByZWNlaXZlIG5vIGNvb2tpZXMu
IiwgcnVuVGVzdCk7Ci0gICAgICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgICAgICBjYXNlICIj
c3RlcDUiOgotICAgICAgICAgICAgICAgIC8vIFRyeSBzZXR0aW5nIGEgY29va2llIGFzIHRoaXJk
LXBhcnR5LgotICAgICAgICAgICAgICAgIGRvY3VtZW50LmxvY2F0aW9uLmhhc2ggPSAic3RlcDYi
OwotICAgICAgICAgICAgICAgIG9wZW5JZnJhbWUodGhpcmRQYXJ0eUJhc2VVcmwgKyBzdWJQYXRo
VG9TZXRUaGlyZFBhcnR5Q29va2llICsgIiZtZXNzYWdlPVRyeSB0byBzZXQgdGhpcmQgcGFydHkg
Y29va2llLiIsIHJ1blRlc3QpOwotICAgICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICAgICAg
Y2FzZSAiI3N0ZXA2IjoKLSAgICAgICAgICAgICAgICAvLyBDaGVjayB0aGF0IHRoZSB0aGlyZC1w
YXJ0eSBzdGlsbCBoYXMgbm8gYWNjZXNzIHRvIGNvb2tpZXMgYW5kIHRoZW4gZmlyZSBkYXRhIHJl
Y29yZCByZW1vdmFsLgotICAgICAgICAgICAgICAgIGRvY3VtZW50LmxvY2F0aW9uLmhhc2ggPSAi
c3RlcDciOwotICAgICAgICAgICAgICAgIG9wZW5JZnJhbWUodGhpcmRQYXJ0eUJhc2VVcmwgKyBz
dWJQYXRoVG9HZXRDb29raWVzICsgIiZtZXNzYWdlPVNob3VsZCByZWNlaXZlIG5vIGNvb2tpZXMu
IiwgZmlyZURhdGFNb2RpZmljYXRpb25IYW5kbGVyQW5kQ29udGludWUpOwotICAgICAgICAgICAg
ICAgIGJyZWFrOwotICAgICAgICAgICAgY2FzZSAiI3N0ZXA3IjoKLSAgICAgICAgICAgICAgICAv
LyBDaGVjayB0aGF0IHRoZSB0aGlyZC1wYXJ0eSBzdGlsbCBoYXMgbm8gYWNjZXNzIHRvIGNvb2tp
ZXMgYW5kIHRoZW4gZGVjbGFzc2lmeSBsb2NhbGhvc3QuCi0gICAgICAgICAgICAgICAgZG9jdW1l
bnQubG9jYXRpb24uaGFzaCA9ICJzdGVwOCI7Ci0gICAgICAgICAgICAgICAgb3BlbklmcmFtZSh0
aGlyZFBhcnR5QmFzZVVybCArIHN1YlBhdGhUb0dldENvb2tpZXMgKyAiJm1lc3NhZ2U9QWZ0ZXIg
cmVtb3ZhbCwgc2hvdWxkIHJlY2VpdmUgbm8gY29va2llcy4iLCBzZXRBc05vblByZXZhbGVudEFu
ZENvbnRpbnVlKTsKLSAgICAgICAgICAgICAgICBicmVhazsKLSAgICAgICAgICAgIGNhc2UgIiNz
dGVwOCI6Ci0gICAgICAgICAgICAgICAgLy8gQ2hlY2sgdGhhdCB0aGUgdGhpcmQtcGFydHkgc3Rp
bGwgaGFzIG5vIGFjY2VzcyB0byBjb29raWVzLgotICAgICAgICAgICAgICAgIG9wZW5JZnJhbWUo
dGhpcmRQYXJ0eUJhc2VVcmwgKyBzdWJQYXRoVG9HZXRDb29raWVzICsgIiZtZXNzYWdlPUFmdGVy
IGRlY2xhc3NpZmllZCwgc2hvdWxkIHJlY2VpdmUgbm8gY29va2llcy4iLCBmaW5pc2hUZXN0KTsK
LSAgICAgICAgICAgICAgICBicmVhazsKLSAgICAgICAgfQotICAgIH0KLQotICAgIGlmIChkb2N1
bWVudC5sb2NhdGlvbi5ob3N0ID09PSBwYXJ0aXRpb25Ib3N0ICYmIGRvY3VtZW50LmxvY2F0aW9u
Lmhhc2ggPT09ICIiICYmIHdpbmRvdy50ZXN0UnVubmVyICYmIHdpbmRvdy5pbnRlcm5hbHMpIHsK
LSAgICAgICAgdGVzdFJ1bm5lci5zZXRVc2VJVFBEYXRhYmFzZSh0cnVlKTsKLSAgICAgICAgc2V0
RW5hYmxlRmVhdHVyZSh0cnVlLCBmdW5jdGlvbigpIHsKLSAgICAgICAgICAgIHRlc3RSdW5uZXIu
c2V0U3RhdGlzdGljc1Nob3VsZENsYXNzaWZ5UmVzb3VyY2VzQmVmb3JlRGF0YVJlY29yZHNSZW1v
dmFsKGZhbHNlKTsKLSAgICAgICAgICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc01pbmltdW1U
aW1lQmV0d2VlbkRhdGFSZWNvcmRzUmVtb3ZhbCgwKTsKLQotICAgICAgICAgICAgdGVzdFJ1bm5l
ci5kdW1wQ2hpbGRGcmFtZXNBc1RleHQoKTsKLSAgICAgICAgICAgIGRvY3VtZW50LmxvY2F0aW9u
Lmhhc2ggPSAic3RlcDEiOwotCi0gICAgICAgICAgICBydW5UZXN0KCk7Ci0gICAgICAgIH0pOwot
ICAgIH0gZWxzZSB7Ci0gICAgICAgIHJ1blRlc3QoKTsKLSAgICB9Ci0KLTwvc2NyaXB0PgotPC9i
b2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJj
ZUxvYWRTdGF0aXN0aWNzL2Nvb2tpZXMtd2l0aC1hbmQtd2l0aG91dC11c2VyLWludGVyYWN0aW9u
LWRhdGFiYXNlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VM
b2FkU3RhdGlzdGljcy9jb29raWVzLXdpdGgtYW5kLXdpdGhvdXQtdXNlci1pbnRlcmFjdGlvbi1k
YXRhYmFzZS1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGE0M2Ew
MGQwMWNmZGFkZmVjODEwZmExMGQ5NGE5NzgwMWMxNWMyNTkuLjAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJj
ZUxvYWRTdGF0aXN0aWNzL2Nvb2tpZXMtd2l0aC1hbmQtd2l0aG91dC11c2VyLWludGVyYWN0aW9u
LWRhdGFiYXNlLWV4cGVjdGVkLnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDI1ICswLDAgQEAKLVBB
U1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKLQotVEVTVCBDT01QTEVURQotCi0KLS0tLS0t
LS0tCi1GcmFtZTogJzwhLS1mcmFtZTEtLT4nCi0tLS0tLS0tLQotU2hvdWxkIHJlY2VpdmUgZmly
c3QtcGFydHkgY29va2llLgotUmVjZWl2ZWQgY29va2llIG5hbWVkICdmaXJzdFBhcnR5Q29va2ll
Jy4KLUNsaWVudC1zaWRlIGRvY3VtZW50LmNvb2tpZTogZmlyc3RQYXJ0eUNvb2tpZT12YWx1ZQot
Ci0tLS0tLS0tLQotRnJhbWU6ICc8IS0tZnJhbWUyLS0+JwotLS0tLS0tLS0KLVNob3VsZCByZWNl
aXZlIG5vIGNvb2tpZXMuCi1EaWQgbm90IHJlY2VpdmUgY29va2llIG5hbWVkICdmaXJzdFBhcnR5
Q29va2llJy4KLUNsaWVudC1zaWRlIGRvY3VtZW50LmNvb2tpZToKLQotLS0tLS0tLS0KLUZyYW1l
OiAnPCEtLWZyYW1lMy0tPicKLS0tLS0tLS0tCi1BZnRlciB1c2VyIGludGVyYWN0aW9uLCBzaG91
bGQgc3RpbGwgcmVjZWl2ZSBubyBjb29raWVzLgotRGlkIG5vdCByZWNlaXZlIGNvb2tpZSBuYW1l
ZCAnZmlyc3RQYXJ0eUNvb2tpZScuCi1DbGllbnQtc2lkZSBkb2N1bWVudC5jb29raWU6CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY29v
a2llcy13aXRoLWFuZC13aXRob3V0LXVzZXItaW50ZXJhY3Rpb24tZGF0YWJhc2UuaHRtbCBiL0xh
eW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jb29raWVzLXdpdGgt
YW5kLXdpdGhvdXQtdXNlci1pbnRlcmFjdGlvbi1kYXRhYmFzZS5odG1sCmRlbGV0ZWQgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCA1YmFkZmE0Y2FiMjJlZDE1ZDNiODc0YzJiZGM5YmZkZDQ4OTRhOTFj
Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRl
c3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jb29raWVzLXdpdGgtYW5kLXdp
dGhvdXQtdXNlci1pbnRlcmFjdGlvbi1kYXRhYmFzZS5odG1sCisrKyAvZGV2L251bGwKQEAgLTEs
ODQgKzAsMCBAQAotPCFET0NUWVBFIGh0bWw+Ci08aHRtbCBsYW5nPSJlbiI+Ci08aGVhZD4KLSAg
ICA8bWV0YSBjaGFyc2V0PSJVVEYtOCI+Ci0gICAgPHRpdGxlPlRlc3QgZm9yIFBhcnRpdGlvbmVk
IENvb2tpZXMgV2l0aCBhbmQgV2l0aG91dCBVc2VyIEludGVyYWN0aW9uPC90aXRsZT4KLSAgICA8
c2NyaXB0IHNyYz0iL2pzLXRlc3QtcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgotICAg
IDxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvdXRpbC5qcyI+PC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9k
eT4KLTxzY3JpcHQ+Ci0gICAgY29uc3QgcGFydGl0aW9uSG9zdCA9ICIxMjcuMC4wLjE6ODAwMCI7
Ci0gICAgY29uc3QgdGhpcmRQYXJ0eU9yaWdpbiA9ICJodHRwOi8vbG9jYWxob3N0OjgwMDAiOwot
ICAgIGNvbnN0IHRoaXJkUGFydHlCYXNlVXJsID0gdGhpcmRQYXJ0eU9yaWdpbiArICIvcmVzb3Vy
Y2VMb2FkU3RhdGlzdGljcy9yZXNvdXJjZXMiOwotICAgIGNvbnN0IGZpcnN0UGFydHlDb29raWVO
YW1lID0gImZpcnN0UGFydHlDb29raWUiOwotICAgIGNvbnN0IHN1YlBhdGhUb1NldEZpcnN0UGFy
dHlDb29raWUgPSAiL3NldC1jb29raWUucGhwP25hbWU9IiArIGZpcnN0UGFydHlDb29raWVOYW1l
ICsgIiZ2YWx1ZT12YWx1ZSI7Ci0gICAgY29uc3QgZnJhZ21lbnRXaXRoUmV0dXJuVXJsID0gImh0
dHA6Ly8xMjcuMC4wLjE6ODAwMC9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2Nvb2tpZXMtd2l0aC1h
bmQtd2l0aG91dC11c2VyLWludGVyYWN0aW9uLWRhdGFiYXNlLmh0bWwiOwotICAgIGNvbnN0IHN1
YlBhdGhUb0dldENvb2tpZXMgPSAiL2dldC1jb29raWVzLnBocD9uYW1lMT0iICsgZmlyc3RQYXJ0
eUNvb2tpZU5hbWU7Ci0KLSAgICBmdW5jdGlvbiBmaW5pc2hUZXN0KCkgewotICAgICAgICBzZXRF
bmFibGVGZWF0dXJlKGZhbHNlLCBmdW5jdGlvbigpIHsKLSAgICAgICAgICAgIHRlc3RSdW5uZXIu
bm90aWZ5RG9uZSgpOwotICAgICAgICB9KTsKLSAgICB9Ci0KLSAgICBmdW5jdGlvbiBvcGVuSWZy
YW1lKHVybCwgb25Mb2FkSGFuZGxlcikgewotICAgICAgICBjb25zdCBlbGVtZW50ID0gZG9jdW1l
bnQuY3JlYXRlRWxlbWVudCgiaWZyYW1lIik7Ci0gICAgICAgIGVsZW1lbnQuc3JjID0gdXJsOwot
ICAgICAgICBpZiAob25Mb2FkSGFuZGxlcikgewotICAgICAgICAgICAgZWxlbWVudC5vbmxvYWQg
PSBvbkxvYWRIYW5kbGVyOwotICAgICAgICB9Ci0gICAgICAgIGRvY3VtZW50LmJvZHkuYXBwZW5k
Q2hpbGQoZWxlbWVudCk7Ci0gICAgfQotCi0gICAgZnVuY3Rpb24gc2V0VXNlckludGVyYWN0aW9u
QW5kQ29udGludWUoKSB7Ci0gICAgICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc0hhc0hhZFVz
ZXJJbnRlcmFjdGlvbih0aGlyZFBhcnR5T3JpZ2luLCB0cnVlLCBmdW5jdGlvbigpIHsKLSAgICAg
ICAgICAgIGlmICghdGVzdFJ1bm5lci5pc1N0YXRpc3RpY3NIYXNIYWRVc2VySW50ZXJhY3Rpb24o
dGhpcmRQYXJ0eU9yaWdpbikpCi0gICAgICAgICAgICAgICAgdGVzdEZhaWxlZCgiVGhpcmQgcGFy
dHkgZGlkIG5vdCBnZXQgbG9nZ2VkIGZvciB1c2VyIGludGVyYWN0aW9uLiIpOwotICAgICAgICAg
ICAgcnVuVGVzdCgpOwotICAgICAgICB9KTsKLSAgICB9Ci0KLSAgICBmdW5jdGlvbiBydW5UZXN0
KCkgewotICAgICAgICBzd2l0Y2ggKGRvY3VtZW50LmxvY2F0aW9uLmhhc2gpIHsKLSAgICAgICAg
ICAgIGNhc2UgIiNzdGVwMSI6Ci0gICAgICAgICAgICAgICAgZG9jdW1lbnQubG9jYXRpb24uaHJl
ZiA9IHRoaXJkUGFydHlCYXNlVXJsICsgc3ViUGF0aFRvU2V0Rmlyc3RQYXJ0eUNvb2tpZSArICIj
IiArIGZyYWdtZW50V2l0aFJldHVyblVybCArICIjc3RlcDIiOwotICAgICAgICAgICAgICAgIGJy
ZWFrOwotICAgICAgICAgICAgY2FzZSAiI3N0ZXAyIjoKLSAgICAgICAgICAgICAgICBkb2N1bWVu
dC5sb2NhdGlvbi5oYXNoID0gInN0ZXAzIjsKLSAgICAgICAgICAgICAgICBvcGVuSWZyYW1lKHRo
aXJkUGFydHlCYXNlVXJsICsgc3ViUGF0aFRvR2V0Q29va2llcyArICImbWVzc2FnZT1TaG91bGQg
cmVjZWl2ZSBmaXJzdC1wYXJ0eSBjb29raWUuIiwgcnVuVGVzdCk7Ci0gICAgICAgICAgICAgICAg
YnJlYWs7Ci0gICAgICAgICAgICBjYXNlICIjc3RlcDMiOgotICAgICAgICAgICAgICAgIGRvY3Vt
ZW50LmxvY2F0aW9uLmhhc2ggPSAic3RlcDQiOwotICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIu
c2V0U3RhdGlzdGljc1ByZXZhbGVudFJlc291cmNlKHRoaXJkUGFydHlPcmlnaW4sIHRydWUsIGZ1
bmN0aW9uKCkgewotICAgICAgICAgICAgICAgICAgICBpZiAoIXRlc3RSdW5uZXIuaXNTdGF0aXN0
aWNzUHJldmFsZW50UmVzb3VyY2UodGhpcmRQYXJ0eU9yaWdpbikpCi0gICAgICAgICAgICAgICAg
ICAgICAgICB0ZXN0RmFpbGVkKCJIb3N0IGRpZCBub3QgZ2V0IHNldCBhcyBwcmV2YWxlbnQgcmVz
b3VyY2UuIik7Ci0gICAgICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIuc3RhdGlzdGljc1VwZGF0
ZUNvb2tpZUJsb2NraW5nKHJ1blRlc3QpOwotICAgICAgICAgICAgICAgIH0pOwotICAgICAgICAg
ICAgICAgIGJyZWFrOwotICAgICAgICAgICAgY2FzZSAiI3N0ZXA0IjoKLSAgICAgICAgICAgICAg
ICBkb2N1bWVudC5sb2NhdGlvbi5oYXNoID0gInN0ZXA1IjsKLSAgICAgICAgICAgICAgICBvcGVu
SWZyYW1lKHRoaXJkUGFydHlCYXNlVXJsICsgc3ViUGF0aFRvR2V0Q29va2llcyArICImbWVzc2Fn
ZT1TaG91bGQgcmVjZWl2ZSBubyBjb29raWVzLiIsIHNldFVzZXJJbnRlcmFjdGlvbkFuZENvbnRp
bnVlKTsKLSAgICAgICAgICAgICAgICBicmVhazsKLSAgICAgICAgICAgIGNhc2UgIiNzdGVwNSI6
Ci0gICAgICAgICAgICAgICAgb3BlbklmcmFtZSh0aGlyZFBhcnR5QmFzZVVybCArIHN1YlBhdGhU
b0dldENvb2tpZXMgKyAiJm1lc3NhZ2U9QWZ0ZXIgdXNlciBpbnRlcmFjdGlvbiwgc2hvdWxkIHN0
aWxsIHJlY2VpdmUgbm8gY29va2llcy4iLCBmaW5pc2hUZXN0KTsKLSAgICAgICAgICAgICAgICBi
cmVhazsKLSAgICAgICAgfQotICAgIH0KLQotICAgIGlmIChkb2N1bWVudC5sb2NhdGlvbi5ob3N0
ID09PSBwYXJ0aXRpb25Ib3N0ICYmIGRvY3VtZW50LmxvY2F0aW9uLmhhc2ggPT0gIiIgJiYgd2lu
ZG93LnRlc3RSdW5uZXIgJiYgd2luZG93LmludGVybmFscykgewotICAgICAgICB0ZXN0UnVubmVy
LnNldFVzZUlUUERhdGFiYXNlKHRydWUpOwotICAgICAgICB0ZXN0UnVubmVyLndhaXRVbnRpbERv
bmUoKTsKLSAgICAgICAgc2V0RW5hYmxlRmVhdHVyZSh0cnVlLCBmdW5jdGlvbigpIHsKLSAgICAg
ICAgICAgIHRlc3RSdW5uZXIuZHVtcENoaWxkRnJhbWVzQXNUZXh0KCk7Ci0gICAgICAgICAgICBk
b2N1bWVudC5sb2NhdGlvbi5oYXNoID0gInN0ZXAxIjsKLSAgICAgICAgICAgIGlmICh0ZXN0UnVu
bmVyLmlzU3RhdGlzdGljc1ByZXZhbGVudFJlc291cmNlKHRoaXJkUGFydHlPcmlnaW4pKQotICAg
ICAgICAgICAgICAgIHRlc3RGYWlsZWQoIkxvY2FsaG9zdCB3YXMgY2xhc3NpZmllZCBhcyBwcmV2
YWxlbnQgcmVzb3VyY2UgYmVmb3JlIHRoZSB0ZXN0IHN0YXJ0cy4iKTsKLSAgICAgICAgICAgIHJ1
blRlc3QoKTsKLSAgICAgICAgfSk7Ci0gICAgfSBlbHNlIHsKLSAgICAgICAgcnVuVGVzdCgpOwot
ICAgIH0KLTwvc2NyaXB0PgotPC9ib2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NvdW50LXRoaXJkLXBhcnR5LXNj
cmlwdC1pbXBvcnQtaW4td29ya2VyLWRhdGFiYXNlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jb3VudC10aGlyZC1wYXJ0eS1zY3Jp
cHQtaW1wb3J0LWluLXdvcmtlci1kYXRhYmFzZS1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDM2OWMxZTRmMDc3ZWM4MjI0ODE2OGRjYjgwYzRiNzQ3ZTZmYzQwMzcu
LjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NvdW50LXRoaXJkLXBhcnR5LXNj
cmlwdC1pbXBvcnQtaW4td29ya2VyLWRhdGFiYXNlLWV4cGVjdGVkLnR4dAorKysgL2Rldi9udWxs
CkBAIC0xLDI2ICswLDAgQEAKLVBBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKLQotVEVT
VCBDT01QTEVURQotCi1SZXNvdXJjZSBsb2FkIHN0YXRpc3RpY3M6Ci0KLVJlZ2lzdHJhYmxlIGRv
bWFpbjogMTI3LjAuMC4xCi0gICAgaGFkVXNlckludGVyYWN0aW9uOiBObwotICAgIG1vc3RSZWNl
bnRVc2VySW50ZXJhY3Rpb246IC0xCi0gICAgZ3JhbmRmYXRoZXJlZDogTm8KLSAgICBUb3BGcmFt
ZUxvYWRlZFRoaXJkUGFydHlTY3JpcHRzOgotICAgICAgICBsb2NhbGhvc3QKLSAgICBJc1NjaGVk
dWxlZEZvckFsbEJ1dENvb2tpZURhdGFSZW1vdmFsOiBObwotICAgIGlzUHJldmFsZW50UmVzb3Vy
Y2U6IE5vCi0gICAgaXNWZXJ5UHJldmFsZW50UmVzb3VyY2U6IE5vCi0gICAgZGF0YVJlY29yZHNS
ZW1vdmVkOiAwCi1SZWdpc3RyYWJsZSBkb21haW46IGxvY2FsaG9zdAotICAgIGhhZFVzZXJJbnRl
cmFjdGlvbjogTm8KLSAgICBtb3N0UmVjZW50VXNlckludGVyYWN0aW9uOiAtMQotICAgIGdyYW5k
ZmF0aGVyZWQ6IE5vCi0gICAgSXNTY2hlZHVsZWRGb3JBbGxCdXRDb29raWVEYXRhUmVtb3ZhbDog
Tm8KLSAgICBTdWJyZXNvdXJjZVVuZGVyVG9wRnJhbWVEb21haW5zOgotICAgICAgICAxMjcuMC4w
LjEKLSAgICBpc1ByZXZhbGVudFJlc291cmNlOiBObwotICAgIGlzVmVyeVByZXZhbGVudFJlc291
cmNlOiBObwotICAgIGRhdGFSZWNvcmRzUmVtb3ZlZDogMApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NvdW50LXRoaXJkLXBhcnR5LXNj
cmlwdC1pbXBvcnQtaW4td29ya2VyLWRhdGFiYXNlLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rl
c3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY291bnQtdGhpcmQtcGFydHktc2NyaXB0LWltcG9y
dC1pbi13b3JrZXItZGF0YWJhc2UuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDkwYTkyZWFmOGM3NDg5ODczMDJiNGY1MmU3ZTNlZjljZjAxZjNhMS4uMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jl
c291cmNlTG9hZFN0YXRpc3RpY3MvY291bnQtdGhpcmQtcGFydHktc2NyaXB0LWltcG9ydC1pbi13
b3JrZXItZGF0YWJhc2UuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDQ3ICswLDAgQEAKLTwhRE9D
VFlQRSBodG1sPgotPGh0bWwgbGFuZz0iZW4iPgotPGhlYWQ+Ci0gICAgPG1ldGEgY2hhcnNldD0i
VVRGLTgiPgotICAgIDx0aXRsZT5UZXN0IGNvdW50aW5nIG9mIHRoaXJkLXBhcnR5IHNjcmlwdCBp
bXBvcnRzIGluIHdvcmtlcnM8L3RpdGxlPgotICAgIDxzY3JpcHQgc3JjPSIvanMtdGVzdC1yZXNv
dXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+Ci0gICAgPHNjcmlwdCBzcmM9InJlc291cmNlcy91
dGlsLmpzIj48L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5IG9ubG9hZD0icnVuVGVzdCgpIj4KLTxz
Y3JpcHQ+Ci0gICAgZnVuY3Rpb24gZmluaXNoVGVzdCgpIHsKLSAgICAgICAgdGVzdFJ1bm5lci5k
dW1wUmVzb3VyY2VMb2FkU3RhdGlzdGljcygpOwotICAgICAgICBzZXRFbmFibGVGZWF0dXJlKGZh
bHNlLCBmdW5jdGlvbigpIHsKLSAgICAgICAgICAgIHRlc3RSdW5uZXIubm90aWZ5RG9uZSgpOwot
ICAgICAgICB9KTsKLSAgICB9Ci0KLSAgICBmdW5jdGlvbiByZWNlaXZlTWVzc2FnZShldmVudCkg
ewotICAgICAgICBpZiAoZXZlbnQuZGF0YS5pbmRleE9mKCJQQVNTIikgPT09IC0xKQotICAgICAg
ICAgICAgdGVzdEZhaWxlZChldmVudC5kYXRhLnJlcGxhY2UoIkZBSUwgIiwgIiIpKTsKLQotICAg
ICAgICB0ZXN0UnVubmVyLnN0YXRpc3RpY3NOb3RpZnlPYnNlcnZlcigpOwotICAgIH0KLQotICAg
IGZ1bmN0aW9uIHJ1blRlc3QoKSB7Ci0gICAgICAgIHN3aXRjaCAoZG9jdW1lbnQubG9jYXRpb24u
aGFzaCkgewotICAgICAgICAgICAgY2FzZSAiIjoKLSAgICAgICAgICAgICAgICBpZiAod2luZG93
LnRlc3RSdW5uZXIgJiYgd2luZG93LmludGVybmFscykgewotICAgICAgICAgICAgICAgICAgICB0
ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTsKLSAgICAgICAgICAgICAgICAgICAgc2V0RW5hYmxl
RmVhdHVyZSh0cnVlLCBmdW5jdGlvbigpIHsKLSAgICAgICAgICAgICAgICAgICAgICAgIHRlc3RS
dW5uZXIuc2V0VXNlSVRQRGF0YWJhc2UodHJ1ZSk7Ci0gICAgICAgICAgICAgICAgICAgICAgICB0
ZXN0UnVubmVyLmluc3RhbGxTdGF0aXN0aWNzRGlkU2NhbkRhdGFSZWNvcmRzQ2FsbGJhY2soZmlu
aXNoVGVzdCk7Ci0gICAgICAgICAgICAgICAgICAgICAgICBkb2N1bWVudC5sb2NhdGlvbi5oYXNo
ID0gIkxvYWRXb3JrZXIiOwotICAgICAgICAgICAgICAgICAgICAgICAgcnVuVGVzdCgpOwotICAg
ICAgICAgICAgICAgICAgICB9KTsKLSAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAg
YnJlYWs7Ci0gICAgICAgICAgICBjYXNlICIjTG9hZFdvcmtlciI6Ci0gICAgICAgICAgICAgICAg
bGV0IHcxID0gbmV3IFdvcmtlcigicmVzb3VyY2VzL3dvcmtlci1pbXBvcnRpbmctbG9jYWxob3N0
LXNjcmlwdC5qcyIpOwotICAgICAgICAgICAgICAgIHcxLm9ubWVzc2FnZSA9IHJlY2VpdmVNZXNz
YWdlOwotICAgICAgICAgICAgICAgIHcxLnBvc3RNZXNzYWdlKCJzaG91bGROb3RSZWNlaXZlQ29v
a2llcyIpOwotICAgICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICB9Ci0gICAgfQotPC9zY3Jp
cHQ+Ci08L2JvZHk+Ci08L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY291bnQtdGhpcmQtcGFydHktc2NyaXB0LWltcG9ydC1p
bi13b3JrZXItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxv
YWRTdGF0aXN0aWNzL2NvdW50LXRoaXJkLXBhcnR5LXNjcmlwdC1pbXBvcnQtaW4td29ya2VyLWV4
cGVjdGVkLnR4dAppbmRleCBjNzZiOGQ3ODE0NGUxM2QyZGMyYzljYjExZDI3ZTYzNDc2NzIzYmNk
Li4zNjljMWU0ZjA3N2VjODIyNDgxNjhkY2I4MGM0Yjc0N2U2ZmM0MDM3IDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY291bnQtdGhpcmQt
cGFydHktc2NyaXB0LWltcG9ydC1pbi13b3JrZXItZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRl
c3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jb3VudC10aGlyZC1wYXJ0eS1z
Y3JpcHQtaW1wb3J0LWluLXdvcmtlci1leHBlY3RlZC50eHQKQEAgLTgsMjMgKzgsMTkgQEAgUmVn
aXN0cmFibGUgZG9tYWluOiAxMjcuMC4wLjEKICAgICBoYWRVc2VySW50ZXJhY3Rpb246IE5vCiAg
ICAgbW9zdFJlY2VudFVzZXJJbnRlcmFjdGlvbjogLTEKICAgICBncmFuZGZhdGhlcmVkOiBObwot
ICAgIGdvdExpbmtEZWNvcmF0aW9uRnJvbVByZXZhbGVudFJlc291cmNlOiBObwotICAgIHRvcEZy
YW1lTG9hZGVkVGhpcmRQYXJ0eVNjcmlwdHM6CisgICAgVG9wRnJhbWVMb2FkZWRUaGlyZFBhcnR5
U2NyaXB0czoKICAgICAgICAgbG9jYWxob3N0CisgICAgSXNTY2hlZHVsZWRGb3JBbGxCdXRDb29r
aWVEYXRhUmVtb3ZhbDogTm8KICAgICBpc1ByZXZhbGVudFJlc291cmNlOiBObwogICAgIGlzVmVy
eVByZXZhbGVudFJlc291cmNlOiBObwogICAgIGRhdGFSZWNvcmRzUmVtb3ZlZDogMAotICAgIGNh
bnZhc1JlYWREYXRhOiBObwotCiBSZWdpc3RyYWJsZSBkb21haW46IGxvY2FsaG9zdAogICAgIGhh
ZFVzZXJJbnRlcmFjdGlvbjogTm8KICAgICBtb3N0UmVjZW50VXNlckludGVyYWN0aW9uOiAtMQog
ICAgIGdyYW5kZmF0aGVyZWQ6IE5vCi0gICAgZ290TGlua0RlY29yYXRpb25Gcm9tUHJldmFsZW50
UmVzb3VyY2U6IE5vCi0gICAgc3VicmVzb3VyY2VVbmRlclRvcEZyYW1lRG9tYWluczoKKyAgICBJ
c1NjaGVkdWxlZEZvckFsbEJ1dENvb2tpZURhdGFSZW1vdmFsOiBObworICAgIFN1YnJlc291cmNl
VW5kZXJUb3BGcmFtZURvbWFpbnM6CiAgICAgICAgIDEyNy4wLjAuMQogICAgIGlzUHJldmFsZW50
UmVzb3VyY2U6IE5vCiAgICAgaXNWZXJ5UHJldmFsZW50UmVzb3VyY2U6IE5vCiAgICAgZGF0YVJl
Y29yZHNSZW1vdmVkOiAwCi0gICAgY2FudmFzUmVhZERhdGE6IE5vCi0KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jb3VudC10aGlyZC1w
YXJ0eS1zY3JpcHQtbG9hZHMtZGF0YWJhc2UtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NvdW50LXRoaXJkLXBhcnR5LXNjcmlwdC1s
b2Fkcy1kYXRhYmFzZS1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDM2OWMxZTRmMDc3ZWM4MjI0ODE2OGRjYjgwYzRiNzQ3ZTZmYzQwMzcuLjAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9y
ZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NvdW50LXRoaXJkLXBhcnR5LXNjcmlwdC1sb2Fkcy1kYXRh
YmFzZS1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSwyNiArMCwwIEBACi1QQVNTIHN1
Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCi0KLVRFU1QgQ09NUExFVEUKLQotUmVzb3VyY2UgbG9h
ZCBzdGF0aXN0aWNzOgotCi1SZWdpc3RyYWJsZSBkb21haW46IDEyNy4wLjAuMQotICAgIGhhZFVz
ZXJJbnRlcmFjdGlvbjogTm8KLSAgICBtb3N0UmVjZW50VXNlckludGVyYWN0aW9uOiAtMQotICAg
IGdyYW5kZmF0aGVyZWQ6IE5vCi0gICAgVG9wRnJhbWVMb2FkZWRUaGlyZFBhcnR5U2NyaXB0czoK
LSAgICAgICAgbG9jYWxob3N0Ci0gICAgSXNTY2hlZHVsZWRGb3JBbGxCdXRDb29raWVEYXRhUmVt
b3ZhbDogTm8KLSAgICBpc1ByZXZhbGVudFJlc291cmNlOiBObwotICAgIGlzVmVyeVByZXZhbGVu
dFJlc291cmNlOiBObwotICAgIGRhdGFSZWNvcmRzUmVtb3ZlZDogMAotUmVnaXN0cmFibGUgZG9t
YWluOiBsb2NhbGhvc3QKLSAgICBoYWRVc2VySW50ZXJhY3Rpb246IE5vCi0gICAgbW9zdFJlY2Vu
dFVzZXJJbnRlcmFjdGlvbjogLTEKLSAgICBncmFuZGZhdGhlcmVkOiBObwotICAgIElzU2NoZWR1
bGVkRm9yQWxsQnV0Q29va2llRGF0YVJlbW92YWw6IE5vCi0gICAgU3VicmVzb3VyY2VVbmRlclRv
cEZyYW1lRG9tYWluczoKLSAgICAgICAgMTI3LjAuMC4xCi0gICAgaXNQcmV2YWxlbnRSZXNvdXJj
ZTogTm8KLSAgICBpc1ZlcnlQcmV2YWxlbnRSZXNvdXJjZTogTm8KLSAgICBkYXRhUmVjb3Jkc1Jl
bW92ZWQ6IDAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2Fk
U3RhdGlzdGljcy9jb3VudC10aGlyZC1wYXJ0eS1zY3JpcHQtbG9hZHMtZGF0YWJhc2UuaHRtbCBi
L0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jb3VudC10aGly
ZC1wYXJ0eS1zY3JpcHQtbG9hZHMtZGF0YWJhc2UuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggZjY2ZDdmMWQxMGZmZGEwZmQ5ZmE0OWY5OWIwNmRiZGE0ZGVmYjI3Mi4uMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY291bnQtdGhpcmQtcGFydHktc2NyaXB0LWxv
YWRzLWRhdGFiYXNlLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSw0OCArMCwwIEBACi08IURPQ1RZ
UEUgaHRtbD4KLTxodG1sIGxhbmc9ImVuIj4KLTxoZWFkPgotICAgIDxtZXRhIGNoYXJzZXQ9IlVU
Ri04Ij4KLSAgICA8dGl0bGU+VGVzdCBjb3VudGluZyBvZiB0aGlyZC1wYXJ0eSBzY3JpcHQgbG9h
ZHM8L3RpdGxlPgotICAgIDxzY3JpcHQgc3JjPSIvanMtdGVzdC1yZXNvdXJjZXMvanMtdGVzdC5q
cyI+PC9zY3JpcHQ+Ci0gICAgPHNjcmlwdCBzcmM9InJlc291cmNlcy91dGlsLmpzIj48L3Njcmlw
dD4KLTwvaGVhZD4KLTxib2R5IG9ubG9hZD0icnVuVGVzdCgpIj4KLTxzY3JpcHQ+Ci0gICAgY29u
c3QgdGhpcmRQYXJ0eU9yaWdpbiA9ICJodHRwOi8vbG9jYWxob3N0OjgwMDAiOwotICAgIGNvbnN0
IHRoaXJkUGFydHlCYXNlVXJsID0gdGhpcmRQYXJ0eU9yaWdpbiArICIvcmVzb3VyY2VMb2FkU3Rh
dGlzdGljcy9yZXNvdXJjZXMiOwotCi0gICAgZnVuY3Rpb24gZmluaXNoVGVzdCgpIHsKLSAgICAg
ICAgdGVzdFJ1bm5lci5kdW1wUmVzb3VyY2VMb2FkU3RhdGlzdGljcygpOwotICAgICAgICBzZXRF
bmFibGVGZWF0dXJlKGZhbHNlLCBmdW5jdGlvbigpIHsKLSAgICAgICAgICAgIHRlc3RSdW5uZXIu
bm90aWZ5RG9uZSgpOwotICAgICAgICB9KTsKLSAgICB9Ci0KLSAgICBmdW5jdGlvbiBydW5UZXN0
KCkgewotICAgICAgICBzd2l0Y2ggKGRvY3VtZW50LmxvY2F0aW9uLmhhc2gpIHsKLSAgICAgICAg
ICAgIGNhc2UgIiI6Ci0gICAgICAgICAgICAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyICYmIHdp
bmRvdy5pbnRlcm5hbHMpIHsKLSAgICAgICAgICAgICAgICAgICAgdGVzdFJ1bm5lci53YWl0VW50
aWxEb25lKCk7Ci0gICAgICAgICAgICAgICAgICAgIHNldEVuYWJsZUZlYXR1cmUodHJ1ZSwgZnVu
Y3Rpb24oKSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLnNldFVzZUlUUERh
dGFiYXNlKHRydWUpOwotICAgICAgICAgICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5pbnN0YWxs
U3RhdGlzdGljc0RpZFNjYW5EYXRhUmVjb3Jkc0NhbGxiYWNrKGZpbmlzaFRlc3QpOwotICAgICAg
ICAgICAgICAgICAgICAgICAgZG9jdW1lbnQubG9jYXRpb24uaGFzaCA9ICJzdGVwMSI7Ci0gICAg
ICAgICAgICAgICAgICAgICAgICBydW5UZXN0KCk7Ci0gICAgICAgICAgICAgICAgICAgIH0pOwot
ICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICBicmVhazsKLSAgICAgICAgICAgIGNh
c2UgIiNzdGVwMSI6Ci0gICAgICAgICAgICAgICAgZG9jdW1lbnQubG9jYXRpb24uaGFzaCA9ICJz
dGVwMiI7Ci0gICAgICAgICAgICAgICAgbGV0IHNjcmlwdEVsZW1lbnQgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KCJzY3JpcHQiKTsKLSAgICAgICAgICAgICAgICBzY3JpcHRFbGVtZW50Lm9ubG9h
ZCA9IHJ1blRlc3Q7Ci0gICAgICAgICAgICAgICAgc2NyaXB0RWxlbWVudC5zcmMgPSB0aGlyZFBh
cnR5QmFzZVVybCArICIvZHVtbXkuanM/ZHVtbXlQYXJhbT0iICsgTWF0aC5yYW5kb20oKTsKLSAg
ICAgICAgICAgICAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHNjcmlwdEVsZW1lbnQpOwot
ICAgICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICAgICAgY2FzZSAiI3N0ZXAyIjoKLSAgICAg
ICAgICAgICAgICB0ZXN0UnVubmVyLnN0YXRpc3RpY3NOb3RpZnlPYnNlcnZlcigpOwotICAgICAg
ICAgICAgICAgIGJyZWFrOwotICAgICAgICB9Ci0gICAgfQotPC9zY3JpcHQ+Ci08L2JvZHk+Ci08
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0
YXRpc3RpY3MvY291bnQtdGhpcmQtcGFydHktc2NyaXB0LWxvYWRzLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jb3VudC10aGlyZC1w
YXJ0eS1zY3JpcHQtbG9hZHMtZXhwZWN0ZWQudHh0CmluZGV4IGM3NmI4ZDc4MTQ0ZTEzZDJkYzJj
OWNiMTFkMjdlNjM0NzY3MjNiY2QuLjM2OWMxZTRmMDc3ZWM4MjI0ODE2OGRjYjgwYzRiNzQ3ZTZm
YzQwMzcgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3Rh
dGlzdGljcy9jb3VudC10aGlyZC1wYXJ0eS1zY3JpcHQtbG9hZHMtZXhwZWN0ZWQudHh0CisrKyBi
L0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jb3VudC10aGly
ZC1wYXJ0eS1zY3JpcHQtbG9hZHMtZXhwZWN0ZWQudHh0CkBAIC04LDIzICs4LDE5IEBAIFJlZ2lz
dHJhYmxlIGRvbWFpbjogMTI3LjAuMC4xCiAgICAgaGFkVXNlckludGVyYWN0aW9uOiBObwogICAg
IG1vc3RSZWNlbnRVc2VySW50ZXJhY3Rpb246IC0xCiAgICAgZ3JhbmRmYXRoZXJlZDogTm8KLSAg
ICBnb3RMaW5rRGVjb3JhdGlvbkZyb21QcmV2YWxlbnRSZXNvdXJjZTogTm8KLSAgICB0b3BGcmFt
ZUxvYWRlZFRoaXJkUGFydHlTY3JpcHRzOgorICAgIFRvcEZyYW1lTG9hZGVkVGhpcmRQYXJ0eVNj
cmlwdHM6CiAgICAgICAgIGxvY2FsaG9zdAorICAgIElzU2NoZWR1bGVkRm9yQWxsQnV0Q29va2ll
RGF0YVJlbW92YWw6IE5vCiAgICAgaXNQcmV2YWxlbnRSZXNvdXJjZTogTm8KICAgICBpc1ZlcnlQ
cmV2YWxlbnRSZXNvdXJjZTogTm8KICAgICBkYXRhUmVjb3Jkc1JlbW92ZWQ6IDAKLSAgICBjYW52
YXNSZWFkRGF0YTogTm8KLQogUmVnaXN0cmFibGUgZG9tYWluOiBsb2NhbGhvc3QKICAgICBoYWRV
c2VySW50ZXJhY3Rpb246IE5vCiAgICAgbW9zdFJlY2VudFVzZXJJbnRlcmFjdGlvbjogLTEKICAg
ICBncmFuZGZhdGhlcmVkOiBObwotICAgIGdvdExpbmtEZWNvcmF0aW9uRnJvbVByZXZhbGVudFJl
c291cmNlOiBObwotICAgIHN1YnJlc291cmNlVW5kZXJUb3BGcmFtZURvbWFpbnM6CisgICAgSXNT
Y2hlZHVsZWRGb3JBbGxCdXRDb29raWVEYXRhUmVtb3ZhbDogTm8KKyAgICBTdWJyZXNvdXJjZVVu
ZGVyVG9wRnJhbWVEb21haW5zOgogICAgICAgICAxMjcuMC4wLjEKICAgICBpc1ByZXZhbGVudFJl
c291cmNlOiBObwogICAgIGlzVmVyeVByZXZhbGVudFJlc291cmNlOiBObwogICAgIGRhdGFSZWNv
cmRzUmVtb3ZlZDogMAotICAgIGNhbnZhc1JlYWREYXRhOiBObwotCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvZGVsZXRlLXNjcmlwdC1h
Y2Nlc3NpYmxlLWNvb2tpZXMtZGF0YWJhc2UtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2RlbGV0ZS1zY3JpcHQtYWNjZXNzaWJsZS1j
b29raWVzLWRhdGFiYXNlLWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggNjM0MDdkY2YzZWRlZWI2MGVjOTY0OTI4NTAxNDUxYTA1MTkyODQ3OC4uMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvZGVsZXRlLXNjcmlwdC1hY2Nlc3NpYmxlLWNvb2tpZXMt
ZGF0YWJhc2UtZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEsMTQgKzAsMCBAQAotQ2hl
Y2sgdGhhdCBvbmx5IEh0dHBPbmx5IGNvb2tpZXMgcmVtYWluIGlmIGFsbCBzY3JpcHQtYWNjZXNz
aWJsZSBjb29raWVzIGFyZSBkZWxldGVkLgotCi1PbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBz
ZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCi0K
LQotUEFTUyBCZWZvcmUgc2NyaXB0LWFjY2Vzc2libGUgZGVsZXRpb246IENsaWVudC1zaWRlIGNv
b2tpZSBleGlzdHMuCi1QQVNTIEJlZm9yZSBzY3JpcHQtYWNjZXNzaWJsZSBkZWxldGlvbjogSHR0
cE9ubHkgY29va2llIGV4aXN0cy4KLVBBU1MgQmVmb3JlIHNjcmlwdC1hY2Nlc3NpYmxlIGRlbGV0
aW9uOiBSZWd1bGFyIHNlcnZlci1zaWRlIGNvb2tpZSBleGlzdHMuCi1QQVNTIEFmdGVyIHNjcmlw
dC1hY2Nlc3NpYmxlIGRlbGV0aW9uOiAgSHR0cE9ubHkgY29va2llIGV4aXN0cy4KLVBBU1MgQWZ0
ZXIgZnVsbCBkZWxldGlvbjogICAgICAgICAgICAgICBBbGwgY29va2llcyBhcmUgZ29uZS4KLVBB
U1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKLQotVEVTVCBDT01QTEVURQotCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvZGVsZXRl
LXNjcmlwdC1hY2Nlc3NpYmxlLWNvb2tpZXMtZGF0YWJhc2UuaHRtbCBiL0xheW91dFRlc3RzL2h0
dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9kZWxldGUtc2NyaXB0LWFjY2Vzc2libGUt
Y29va2llcy1kYXRhYmFzZS5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA2MGZj
NTM3N2Q3ZGVlNjA0Mjk5MGJlMGMyZGJmYjc0NWFlMDVjZDU5Li4wMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3Vy
Y2VMb2FkU3RhdGlzdGljcy9kZWxldGUtc2NyaXB0LWFjY2Vzc2libGUtY29va2llcy1kYXRhYmFz
ZS5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsNzMgKzAsMCBAQAotPCFET0NUWVBFIGh0bWw+Ci08
aHRtbD4KLTxoZWFkPgotICAgIDxzY3JpcHQgc3JjPSIvanMtdGVzdC1yZXNvdXJjZXMvanMtdGVz
dC5qcyI+PC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keSBvbmxvYWQ9InJ1blRlc3QoKSI+Ci08c2Ny
aXB0PgotICAgIGRlc2NyaXB0aW9uKCJDaGVjayB0aGF0IG9ubHkgSHR0cE9ubHkgY29va2llcyBy
ZW1haW4gaWYgYWxsIHNjcmlwdC1hY2Nlc3NpYmxlIGNvb2tpZXMgYXJlIGRlbGV0ZWQuIik7Ci0g
ICAganNUZXN0SXNBc3luYyA9IHRydWU7Ci0KLSAgICBjb25zdCBodHRwT25seUNvb2tpZU5hbWUg
PSAiaHR0cC1vbmx5LWNvb2tpZSI7Ci0gICAgY29uc3Qgc2VydmVyU2lkZUNvb2tpZU5hbWUgPSAi
c2VydmVyLXNpZGUtY29va2llIjsKLSAgICBjb25zdCBjbGllbnRTaWRlQ29va2llTmFtZSA9ICJj
bGllbnQtc2lkZS1jb29raWUiOwotCi0gICAgZnVuY3Rpb24gc29ydFN0cmluZ0FycmF5KGEsIGIp
IHsKLSAgICAgICAgYSA9IGEudG9Mb3dlckNhc2UoKTsKLSAgICAgICAgYiA9IGIudG9Mb3dlckNh
c2UoKTsKLQotICAgICAgICByZXR1cm4gYSA+IGIgPyAxIDogYiA+IGEgPyAtMSA6IDA7Ci0gICAg
fQotCi0gICAgZnVuY3Rpb24gY2hlY2tDb29raWVzKGlzQWZ0ZXJTY3JpcHRBY2Nlc3NpYmxlRGVs
ZXRpb24pIHsKLSAgICAgICAgbGV0IHVuc29ydGVkVGVzdFBhc3NlZE1lc3NhZ2VzID0gW107Ci0g
ICAgICAgIGxldCBjb29raWVzID0gaW50ZXJuYWxzLmdldENvb2tpZXMoKTsKLSAgICAgICAgaWYg
KCFjb29raWVzLmxlbmd0aCkKLSAgICAgICAgICAgIHRlc3RGYWlsZWQoKGlzQWZ0ZXJTY3JpcHRB
Y2Nlc3NpYmxlRGVsZXRpb24gPyAiQWZ0ZXIiIDogIkJlZm9yZSIpICsgIiBzY3JpcHQtYWNjZXNz
aWJsZSBkZWxldGlvbjogTm8gY29va2llcyBmb3VuZC4iKTsKLSAgICAgICAgZm9yIChsZXQgY29v
a2llIG9mIGNvb2tpZXMpIHsKLSAgICAgICAgICAgIHN3aXRjaCAoY29va2llLm5hbWUpIHsKLSAg
ICAgICAgICAgICAgICBjYXNlIGh0dHBPbmx5Q29va2llTmFtZToKLSAgICAgICAgICAgICAgICAg
ICAgdW5zb3J0ZWRUZXN0UGFzc2VkTWVzc2FnZXMucHVzaCgoaXNBZnRlclNjcmlwdEFjY2Vzc2li
bGVEZWxldGlvbiA/ICJBZnRlciIgOiAiQmVmb3JlIikgKyAiIHNjcmlwdC1hY2Nlc3NpYmxlIGRl
bGV0aW9uOiAiICsgKGlzQWZ0ZXJTY3JpcHRBY2Nlc3NpYmxlRGVsZXRpb24gPyAiICIgOiAiIikg
KyAiSHR0cE9ubHkgY29va2llIGV4aXN0cy4iKTsKLSAgICAgICAgICAgICAgICAgICAgYnJlYWs7
Ci0gICAgICAgICAgICAgICAgY2FzZSBzZXJ2ZXJTaWRlQ29va2llTmFtZToKLSAgICAgICAgICAg
ICAgICAgICAgaWYgKGlzQWZ0ZXJTY3JpcHRBY2Nlc3NpYmxlRGVsZXRpb24pCi0gICAgICAgICAg
ICAgICAgICAgICAgICB0ZXN0RmFpbGVkKCJBZnRlciBzY3JpcHQtYWNjZXNzaWJsZSBkZWxldGlv
bjogIFJlZ3VsYXIgc2VydmVyLXNpZGUgY29va2llIGV4aXN0cy4iKTsKLSAgICAgICAgICAgICAg
ICAgICAgZWxzZQotICAgICAgICAgICAgICAgICAgICAgICAgdW5zb3J0ZWRUZXN0UGFzc2VkTWVz
c2FnZXMucHVzaCgiQmVmb3JlIHNjcmlwdC1hY2Nlc3NpYmxlIGRlbGV0aW9uOiBSZWd1bGFyIHNl
cnZlci1zaWRlIGNvb2tpZSBleGlzdHMuIik7Ci0gICAgICAgICAgICAgICAgICAgIGJyZWFrOwot
ICAgICAgICAgICAgICAgIGNhc2UgY2xpZW50U2lkZUNvb2tpZU5hbWU6Ci0gICAgICAgICAgICAg
ICAgICAgIGlmIChpc0FmdGVyU2NyaXB0QWNjZXNzaWJsZURlbGV0aW9uKQotICAgICAgICAgICAg
ICAgICAgICAgICAgdGVzdEZhaWxlZCgiQWZ0ZXIgc2NyaXB0LWFjY2Vzc2libGUgZGVsZXRpb246
ICBDbGllbnQtc2lkZSBjb29raWUgZXhpc3RzLiIpOwotICAgICAgICAgICAgICAgICAgICBlbHNl
Ci0gICAgICAgICAgICAgICAgICAgICAgICB1bnNvcnRlZFRlc3RQYXNzZWRNZXNzYWdlcy5wdXNo
KCJCZWZvcmUgc2NyaXB0LWFjY2Vzc2libGUgZGVsZXRpb246IENsaWVudC1zaWRlIGNvb2tpZSBl
eGlzdHMuIik7Ci0gICAgICAgICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICAgICAgfQotICAg
ICAgICB9Ci0gICAgICAgIGxldCBzb3J0ZWRUZXN0UGFzc2VkTWVzc2FnZXMgPSB1bnNvcnRlZFRl
c3RQYXNzZWRNZXNzYWdlcy5zb3J0KHNvcnRTdHJpbmdBcnJheSk7Ci0gICAgICAgIGZvciAobGV0
IHRlc3RQYXNzZWRNZXNzYWdlIG9mIHNvcnRlZFRlc3RQYXNzZWRNZXNzYWdlcykKLSAgICAgICAg
ICAgIHRlc3RQYXNzZWQodGVzdFBhc3NlZE1lc3NhZ2UpOwotICAgIH0KLQotICAgIGFzeW5jIGZ1
bmN0aW9uIHJ1blRlc3QoKSB7Ci0gICAgICAgIGlmICghdGVzdFJ1bm5lciB8fCAhaW50ZXJuYWxz
KSB7Ci0gICAgICAgICAgICB0ZXN0RmFpbGVkKCJObyB0ZXN0UnVubmVyIG9yIG5vIGludGVybmFs
cy4iKTsKLSAgICAgICAgICAgIHJldHVybjsKLSAgICAgICAgfQotICAgICAgICB0ZXN0UnVubmVy
LnNldFVzZUlUUERhdGFiYXNlKHRydWUpOwotICAgICAgICBhd2FpdCBmZXRjaCgiL2Nvb2tpZXMv
cmVzb3VyY2VzL3NldC1odHRwLW9ubHktY29va2llLnBocD9jb29raWVOYW1lPSIgKyBodHRwT25s
eUNvb2tpZU5hbWUsIHsgY3JlZGVudGlhbHM6ICJzYW1lLW9yaWdpbiIgfSk7Ci0gICAgICAgIGF3
YWl0IGZldGNoKCIvY29va2llcy9yZXNvdXJjZXMvc2V0Q29va2llcy5jZ2kiLCB7IGhlYWRlcnM6
IHsgIlNldC1Db29raWUiOiBzZXJ2ZXJTaWRlQ29va2llTmFtZSArICI9MTsgcGF0aD0vOyIgfSwg
Y3JlZGVudGlhbHM6ICJzYW1lLW9yaWdpbiIgfSk7Ci0gICAgICAgIGRvY3VtZW50LmNvb2tpZSA9
IGNsaWVudFNpZGVDb29raWVOYW1lICsgIj0xIjsKLSAgICAgICAgY2hlY2tDb29raWVzKGZhbHNl
KTsKLSAgICAgICAgdGVzdFJ1bm5lci5zdGF0aXN0aWNzRGVsZXRlQ29va2llc0Zvckhvc3QoImh0
dHA6Ly8xMjcuMC4wLjEiLCBmYWxzZSk7Ci0gICAgICAgIGNoZWNrQ29va2llcyh0cnVlKTsKLSAg
ICAgICAgdGVzdFJ1bm5lci5zdGF0aXN0aWNzRGVsZXRlQ29va2llc0Zvckhvc3QoImh0dHA6Ly8x
MjcuMC4wLjEiLCB0cnVlKTsKLSAgICAgICAgbGV0IGNvb2tpZXNMZWZ0ID0gaW50ZXJuYWxzLmdl
dENvb2tpZXMoKS5sZW5ndGg7Ci0gICAgICAgIGlmIChjb29raWVzTGVmdCA9PT0gMCkKLSAgICAg
ICAgICAgIHRlc3RQYXNzZWQoIkFmdGVyIGZ1bGwgZGVsZXRpb246ICAgICAgICAgICAgICAgQWxs
IGNvb2tpZXMgYXJlIGdvbmUuIik7Ci0gICAgICAgIGVsc2UKLSAgICAgICAgICAgIHRlc3RGYWls
ZWQoIkFmdGVyIGZ1bGwgZGVsZXRpb246ICAgICAgICAgICAgICAiICsgY29va2llc0xlZnQgKyAi
IGNvb2tpZShzKSBsZWZ0LiIpOwotICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKLSAgICB9Ci08L3Nj
cmlwdD4KLTwvYm9keT4KLTwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVz
dHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9kby1ub3QtYmxvY2stdG9wLWxldmVsLW5hdmlnYXRp
b24tcmVkaXJlY3QtZGF0YWJhc2UtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0
cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2RvLW5vdC1ibG9jay10b3AtbGV2ZWwtbmF2aWdhdGlv
bi1yZWRpcmVjdC1kYXRhYmFzZS1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDM3NDMwNjFmZjExOWZhZDNmNTk3ZGMxNWFlMDRiNGI4YzY5Mzc5NDguLjAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90
ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2RvLW5vdC1ibG9jay10b3AtbGV2ZWwtbmF2aWdh
dGlvbi1yZWRpcmVjdC1kYXRhYmFzZS1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSAr
MCwwIEBACi1QQVNTRUQ6IENvb2tpZSBzdWNjZXNzZnVsbHkgc2V0CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvZG8tbm90LWJsb2NrLXRv
cC1sZXZlbC1uYXZpZ2F0aW9uLXJlZGlyZWN0LWRhdGFiYXNlLmh0bWwgYi9MYXlvdXRUZXN0cy9o
dHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvZG8tbm90LWJsb2NrLXRvcC1sZXZlbC1u
YXZpZ2F0aW9uLXJlZGlyZWN0LWRhdGFiYXNlLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IGQyMTllM2Q2ODkzMmJmZjE4YzVhMDFjNTY4NGM0NGYzNzE2ZmRlODEuLjAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90
ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2RvLW5vdC1ibG9jay10b3AtbGV2ZWwtbmF2aWdh
dGlvbi1yZWRpcmVjdC1kYXRhYmFzZS5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsMzAgKzAsMCBA
QAotPCFET0NUWVBFIGh0bWw+Ci08aHRtbCBsYW5nPSJlbiI+Ci08aGVhZD4KLSAgICA8bWV0YSBj
aGFyc2V0PSJVVEYtOCI+Ci0gICAgPHNjcmlwdCBzcmM9Ii9qcy10ZXN0LXJlc291cmNlcy9qcy10
ZXN0LmpzIj48L3NjcmlwdD4KLSAgICA8c2NyaXB0IHNyYz0icmVzb3VyY2VzL3V0aWwuanMiPjwv
c2NyaXB0PgotPHNjcmlwdD4KLSAgICBkZXNjcmlwdGlvbigiVGVzdHMgdGhhdCBibG9ja2luZyBp
cyBub3QgYXBwbGllZCB0byB0b3AtbGV2ZWwgbmF2aWdhdGlvbiByZWRpcmVjdHMuIik7Ci0gICAg
anNUZXN0SXNBc3luYyA9IHRydWU7Ci0KLSAgICBpbnRlcm5hbHMuc2V0UmVzb3VyY2VMb2FkU3Rh
dGlzdGljc0VuYWJsZWQodHJ1ZSk7Ci0KLSAgICBmdW5jdGlvbiBkb1JlZGlyZWN0KCkKLSAgICB7
Ci0gICAgICAgIHRlc3RSdW5uZXIuc2V0VXNlSVRQRGF0YWJhc2UodHJ1ZSk7Ci0gICAgICAgIHNl
dEVuYWJsZUZlYXR1cmUodHJ1ZSwgZnVuY3Rpb24gKCkgewotICAgICAgICAgICAgdGVzdFJ1bm5l
ci5zZXRTdGF0aXN0aWNzUHJldmFsZW50UmVzb3VyY2UoImh0dHA6Ly9sb2NhbGhvc3QiLCB0cnVl
LCBmdW5jdGlvbiAoKSB7Ci0gICAgICAgICAgICAgICAgaWYgKCF0ZXN0UnVubmVyLmlzU3RhdGlz
dGljc1ByZXZhbGVudFJlc291cmNlKCJodHRwOi8vbG9jYWxob3N0IikpIHsKLSAgICAgICAgICAg
ICAgICAgICAgdGVzdEZhaWxlZCgiSG9zdCBkaWQgbm90IGdldCBzZXQgYXMgcHJldmFsZW50IHJl
c291cmNlLiIpOwotICAgICAgICAgICAgICAgICAgICBzZXRFbmFibGVGZWF0dXJlKGZhbHNlLCBm
aW5pc2hKU1Rlc3QpOwotICAgICAgICAgICAgICAgIH0gZWxzZQotICAgICAgICAgICAgICAgICAg
ICBkb2N1bWVudC5sb2NhdGlvbi5ocmVmID0gImh0dHA6Ly9sb2NhbGhvc3Q6ODAwMC9yZXNvdXJj
ZUxvYWRTdGF0aXN0aWNzL3Jlc291cmNlcy9zZXQtY29va2llLW9uLXJlZGlyZWN0LnBocD9zdGVw
PTEiOwotICAgICAgICAgICAgfSk7Ci0gICAgICAgIH0pOwotICAgIH0KLTwvc2NyaXB0PgotPC9o
ZWFkPgotPGJvZHkgb25sb2FkPSJzZXRUaW1lb3V0KCdkb1JlZGlyZWN0KCknLCAwKSI+Ci08L2Jv
ZHk+Ci08L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNl
TG9hZFN0YXRpc3RpY3MvZG8tbm90LWNhcHR1cmUtc3RhdGlzdGljcy1mb3Itc2ltcGxlLXRvcC1u
YXZpZ2F0aW9ucy1kYXRhYmFzZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvZG8tbm90LWNhcHR1cmUtc3RhdGlzdGljcy1mb3Itc2lt
cGxlLXRvcC1uYXZpZ2F0aW9ucy1kYXRhYmFzZS1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDA2OWM5MWNhZTZlYWEzYmRjYzg0NjBjNjMzN2IwMmY3ZDY0ZjI0ZmQu
LjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2RvLW5vdC1jYXB0dXJlLXN0YXRp
c3RpY3MtZm9yLXNpbXBsZS10b3AtbmF2aWdhdGlvbnMtZGF0YWJhc2UtZXhwZWN0ZWQudHh0Cisr
KyAvZGV2L251bGwKQEAgLTEsMTEgKzAsMCBAQAotVGVzdCB0aGF0IGEgbm9uLXJlZGlyZWN0ZWQg
dG9wIGZyYW1lIG5hdmlnYXRpb24gZG9lc24ndCBnZXQgY2FwdHVyZWQgaW4gc3RhdGlzdGljcy4K
LQotT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywg
Zm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgotCi0KLVBBU1MgdGVzdFJ1bm5lci5pc1N0YXRp
c3RpY3NSZWdpc3RlcmVkQXNTdWJGcmFtZVVuZGVyKCJodHRwOi8vbG9jYWxob3N0IiwgImh0dHA6
Ly8xMjcuMC4wLjEiKSBpcyBmYWxzZQotUEFTUyB0ZXN0UnVubmVyLmlzU3RhdGlzdGljc1JlZ2lz
dGVyZWRBc1N1YkZyYW1lVW5kZXIoImh0dHA6Ly8xMjcuMC4wLjEiLCAiaHR0cDovL2xvY2FsaG9z
dCIpIGlzIGZhbHNlCi1QQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCi0KLVRFU1QgQ09N
UExFVEUKLQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRT
dGF0aXN0aWNzL2RvLW5vdC1jYXB0dXJlLXN0YXRpc3RpY3MtZm9yLXNpbXBsZS10b3AtbmF2aWdh
dGlvbnMtZGF0YWJhc2UuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2Fk
U3RhdGlzdGljcy9kby1ub3QtY2FwdHVyZS1zdGF0aXN0aWNzLWZvci1zaW1wbGUtdG9wLW5hdmln
YXRpb25zLWRhdGFiYXNlLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDMzMjc2
ZDMxNjc0MmRlNWYxMzk4YWNjMmYxN2ZjNWQ3ZGRhN2YwMTUuLjAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJj
ZUxvYWRTdGF0aXN0aWNzL2RvLW5vdC1jYXB0dXJlLXN0YXRpc3RpY3MtZm9yLXNpbXBsZS10b3At
bmF2aWdhdGlvbnMtZGF0YWJhc2UuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDQ4ICswLDAgQEAK
LTwhRE9DVFlQRSBodG1sPgotPGh0bWwgbGFuZz0iZW4iPgotPGhlYWQ+Ci0gICAgPG1ldGEgY2hh
cnNldD0iVVRGLTgiPgotICAgIDxzY3JpcHQgc3JjPSIvanMtdGVzdC1yZXNvdXJjZXMvanMtdGVz
dC5qcyI+PC9zY3JpcHQ+Ci0gICAgPHNjcmlwdCBzcmM9InJlc291cmNlcy91dGlsLmpzIj48L3Nj
cmlwdD4KLTwvaGVhZD4KLTxib2R5PgotPHNjcmlwdD4KLSAgICBkZXNjcmlwdGlvbigiVGVzdCB0
aGF0IGEgbm9uLXJlZGlyZWN0ZWQgdG9wIGZyYW1lIG5hdmlnYXRpb24gZG9lc24ndCBnZXQgY2Fw
dHVyZWQgaW4gc3RhdGlzdGljcy4iKTsKLSAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKLSAgICB0
ZXN0UnVubmVyLnNldFVzZUlUUERhdGFiYXNlKHRydWUpOwotICAgIGxldCB0aW1lckhhbmRsZSA9
IDA7Ci0KLSAgICBmdW5jdGlvbiBmaW5pc2hUZXN0KCkgewotICAgICAgICBpZiAodGltZXJIYW5k
bGUpCi0gICAgICAgICAgY2xlYXJUaW1lb3V0KHRpbWVySGFuZGxlKTsKLQotICAgICAgICBzaG91
bGRCZUZhbHNlKCd0ZXN0UnVubmVyLmlzU3RhdGlzdGljc1JlZ2lzdGVyZWRBc1N1YkZyYW1lVW5k
ZXIoImh0dHA6Ly9sb2NhbGhvc3QiLCAiaHR0cDovLzEyNy4wLjAuMSIpJyk7Ci0gICAgICAgIHNo
b3VsZEJlRmFsc2UoJ3Rlc3RSdW5uZXIuaXNTdGF0aXN0aWNzUmVnaXN0ZXJlZEFzU3ViRnJhbWVV
bmRlcigiaHR0cDovLzEyNy4wLjAuMSIsICJodHRwOi8vbG9jYWxob3N0IiknKTsKLSAgICAgICAg
c2V0RW5hYmxlRmVhdHVyZShmYWxzZSwgZmluaXNoSlNUZXN0KTsKLSAgICB9Ci0KLSAgICBmdW5j
dGlvbiBydW5UZXN0KCkgewotICAgICAgICBzd2l0Y2ggKGRvY3VtZW50LmxvY2F0aW9uLmhvc3Qp
IHsKLSAgICAgICAgICAgIGNhc2UgIjEyNy4wLjAuMTo4MDAwIjoKLSAgICAgICAgICAgICAgICBz
ZXRFbmFibGVGZWF0dXJlKHRydWUsIGZ1bmN0aW9uKCkgewotICAgICAgICAgICAgICAgICAgICBp
ZiAodGVzdFJ1bm5lci5pc1N0YXRpc3RpY3NQcmV2YWxlbnRSZXNvdXJjZSgiaHR0cDovL2xvY2Fs
aG9zdDo4MDAwIikpCi0gICAgICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKCJMb2NhbGhv
c3Qgd2FzIGNsYXNzaWZpZWQgYXMgcHJldmFsZW50IHJlc291cmNlIGJlZm9yZSB0aGUgdGVzdCBz
dGFydHMuIik7Ci0gICAgICAgICAgICAgICAgICAgIGRvY3VtZW50LmxvY2F0aW9uLmhyZWYgPSAi
aHR0cDovL2xvY2FsaG9zdDo4MDAwL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvZG8tbm90LWNhcHR1
cmUtc3RhdGlzdGljcy1mb3Itc2ltcGxlLXRvcC1uYXZpZ2F0aW9ucy1kYXRhYmFzZS5odG1sIjsK
LSAgICAgICAgICAgICAgICB9KTsKLSAgICAgICAgICAgICAgICBicmVhazsKLSAgICAgICAgICAg
IGNhc2UgImxvY2FsaG9zdDo4MDAwIjoKLSAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLmluc3Rh
bGxTdGF0aXN0aWNzRGlkU2NhbkRhdGFSZWNvcmRzQ2FsbGJhY2soZmluaXNoVGVzdCk7Ci0gICAg
ICAgICAgICAgICAgaWYgKCF0ZXN0UnVubmVyLnN0YXRpc3RpY3NOb3RpZnlPYnNlcnZlcigpKQot
ICAgICAgICAgICAgICAgICAgICB0aW1lckhhbmRsZSA9IHNldFRpbWVvdXQoZmluaXNoVGVzdCwg
MTAwKTsKLSAgICAgICAgICAgICAgICBicmVhazsKLSAgICAgICAgICAgIGRlZmF1bHQ6Ci0gICAg
ICAgICAgICAgICAgdGVzdEZhaWxlZCgiVW5rbm93biBob3N0OiAiICsgZG9jdW1lbnQubG9jYXRp
b24uaG9zdCk7Ci0gICAgICAgICAgICAgICAgZmluaXNoVGVzdCgpOwotICAgICAgICB9Ci0gICAg
fQotCi0gICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyICYmIHdpbmRvdy5pbnRlcm5hbHMpCi0gICAg
ICAgIHJ1blRlc3QoKTsKLTwvc2NyaXB0PgotPC9ib2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2RvLW5vdC1yZW1v
dmUtYmxvY2tpbmctaW4tcmVkaXJlY3QtZGF0YWJhc2UtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2RvLW5vdC1yZW1vdmUtYmxvY2tp
bmctaW4tcmVkaXJlY3QtZGF0YWJhc2UtZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCBlODQ3MTVmNTg1ZDgzYzlhM2U1OGQxZDIxMDkyMjMwMTU4NDI0MDE0Li4wMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2h0
dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9kby1ub3QtcmVtb3ZlLWJsb2NraW5nLWlu
LXJlZGlyZWN0LWRhdGFiYXNlLWV4cGVjdGVkLnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDUxICsw
LDAgQEAKLVRlc3RzIHRoYXQgYmxvY2tpbmcgaXMgbm90IHJlbW92ZWQgbWlkLWZsaWdodCBpbiBy
ZWRpcmVjdHMuCi0KLU9uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIg
bWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KLQotCi1QQVNTIHN1Y2Nlc3Nm
dWxseVBhcnNlZCBpcyB0cnVlCi0KLVRFU1QgQ09NUExFVEUKLQotCi0tLS0tLS0tLQotRnJhbWU6
ICc8IS0tZnJhbWUxLS0+JwotLS0tLS0tLS0KLVNob3VsZCByZWNlaXZlIGZpcnN0LXBhcnR5IGNv
b2tpZSBmb3IgbG9jYWxob3N0LgotRGlkIG5vdCByZWNlaXZlIGNvb2tpZSBuYW1lZCAnZmlyc3RQ
YXJ0eUNvb2tpZUlQJy4KLVJlY2VpdmVkIGNvb2tpZSBuYW1lZCAnZmlyc3RQYXJ0eUNvb2tpZUxv
Y2FsaG9zdCcuCi1EaWQgbm90IHJlY2VpdmUgY29va2llIG5hbWVkICd0aGlyZFBhcnR5Q29va2ll
Jy4KLUNsaWVudC1zaWRlIGRvY3VtZW50LmNvb2tpZTogZmlyc3RQYXJ0eUNvb2tpZUxvY2FsaG9z
dD1sb2NhbGhvc3QKLQotLS0tLS0tLS0KLUZyYW1lOiAnPCEtLWZyYW1lMi0tPicKLS0tLS0tLS0t
Ci1SZWRpcmVjdCBjYXNlIDEsIHNob3VsZCByZWNlaXZlIGZpcnN0LXBhcnR5IGNvb2tpZSBmb3Ig
MTI3LjAuMC4xLgotUmVjZWl2ZWQgY29va2llIG5hbWVkICdmaXJzdFBhcnR5Q29va2llSVAnLgot
RGlkIG5vdCByZWNlaXZlIGNvb2tpZSBuYW1lZCAnZmlyc3RQYXJ0eUNvb2tpZUxvY2FsaG9zdCcu
Ci1EaWQgbm90IHJlY2VpdmUgY29va2llIG5hbWVkICd0aGlyZFBhcnR5Q29va2llJy4KLUNsaWVu
dC1zaWRlIGRvY3VtZW50LmNvb2tpZTogZmlyc3RQYXJ0eUNvb2tpZUlQPTEyNy4wLjAuMQotCi0t
LS0tLS0tLQotRnJhbWU6ICc8IS0tZnJhbWUzLS0+JwotLS0tLS0tLS0KLVRyeSB0byBzZXQgdGhp
cmQtcGFydHkgY29va2llIGZvciBsb2NhbGhvc3QgaW4gYmxvY2tlZCBtb2RlLgotCi0KLS0tLS0t
LS0tCi1GcmFtZTogJzwhLS1mcmFtZTQtLT4nCi0tLS0tLS0tLQotU2hvdWxkIHJlY2VpdmUgbm8g
Y29va2llLgotRGlkIG5vdCByZWNlaXZlIGNvb2tpZSBuYW1lZCAnZmlyc3RQYXJ0eUNvb2tpZUlQ
Jy4KLURpZCBub3QgcmVjZWl2ZSBjb29raWUgbmFtZWQgJ2ZpcnN0UGFydHlDb29raWVMb2NhbGhv
c3QnLgotRGlkIG5vdCByZWNlaXZlIGNvb2tpZSBuYW1lZCAndGhpcmRQYXJ0eUNvb2tpZScuCi1D
bGllbnQtc2lkZSBkb2N1bWVudC5jb29raWU6Ci0KLS0tLS0tLS0tCi1GcmFtZTogJzwhLS1mcmFt
ZTUtLT4nCi0tLS0tLS0tLQotUmVkaXJlY3QgY2FzZSAyLCBzaG91bGQgbm90IHJlY2VpdmUgZmly
c3QtcGFydHkgY29va2llIGZvciAxMjcuMC4wLjEuCi1EaWQgbm90IHJlY2VpdmUgY29va2llIG5h
bWVkICdmaXJzdFBhcnR5Q29va2llSVAnLgotRGlkIG5vdCByZWNlaXZlIGNvb2tpZSBuYW1lZCAn
Zmlyc3RQYXJ0eUNvb2tpZUxvY2FsaG9zdCcuCi1EaWQgbm90IHJlY2VpdmUgY29va2llIG5hbWVk
ICd0aGlyZFBhcnR5Q29va2llJy4KLUNsaWVudC1zaWRlIGRvY3VtZW50LmNvb2tpZTogZmlyc3RQ
YXJ0eUNvb2tpZUlQPTEyNy4wLjAuMQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0
cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2RvLW5vdC1yZW1vdmUtYmxvY2tpbmctaW4tcmVkaXJl
Y3QtZGF0YWJhc2UuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3Rh
dGlzdGljcy9kby1ub3QtcmVtb3ZlLWJsb2NraW5nLWluLXJlZGlyZWN0LWRhdGFiYXNlLmh0bWwK
ZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDM2ZDMwYWFkZWY0NTc3Yjg1MjQyM2M2YTIz
NmYzYWEzNzE5ZjEwMmQuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAK
LS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2RvLW5v
dC1yZW1vdmUtYmxvY2tpbmctaW4tcmVkaXJlY3QtZGF0YWJhc2UuaHRtbAorKysgL2Rldi9udWxs
CkBAIC0xLDEwMCArMCwwIEBACi08IURPQ1RZUEUgaHRtbD4KLTxodG1sIGxhbmc9ImVuIj4KLTxo
ZWFkPgotICAgIDxtZXRhIGNoYXJzZXQ9IlVURi04Ij4KLSAgICA8c2NyaXB0IHNyYz0iL2pzLXRl
c3QtcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgotICAgIDxzY3JpcHQgc3JjPSJyZXNv
dXJjZXMvdXRpbC5qcyI+PC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keT4KLTxzY3JpcHQ+Ci0gICAg
ZGVzY3JpcHRpb24oIlRlc3RzIHRoYXQgYmxvY2tpbmcgaXMgbm90IHJlbW92ZWQgbWlkLWZsaWdo
dCBpbiByZWRpcmVjdHMuIik7Ci0gICAganNUZXN0SXNBc3luYyA9IHRydWU7Ci0KLSAgICBjb25z
dCBwYXJ0aXRpb25Ib3N0ID0gIjEyNy4wLjAuMTo4MDAwIjsKLSAgICBjb25zdCB0aGlyZFBhcnR5
T3JpZ2luID0gImh0dHA6Ly9sb2NhbGhvc3Q6ODAwMCI7Ci0gICAgY29uc3QgcmVzb3VyY2VQYXRo
ID0gIi9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3Jlc291cmNlcyI7Ci0gICAgY29uc3QgdGhpcmRQ
YXJ0eUJhc2VVcmwgPSB0aGlyZFBhcnR5T3JpZ2luICsgcmVzb3VyY2VQYXRoOwotICAgIGNvbnN0
IGZpcnN0UGFydHlDb29raWVOYW1lUHJlZml4ID0gImZpcnN0UGFydHlDb29raWUiOwotICAgIGNv
bnN0IGZpcnN0UGFydHlDb29raWVOYW1lSVAgPSBmaXJzdFBhcnR5Q29va2llTmFtZVByZWZpeCAr
ICJJUCI7Ci0gICAgY29uc3QgZmlyc3RQYXJ0eUNvb2tpZU5hbWVMb2NhbGhvc3QgPSBmaXJzdFBh
cnR5Q29va2llTmFtZVByZWZpeCArICJMb2NhbGhvc3QiOwotICAgIGNvbnN0IHRoaXJkUGFydHlD
b29raWVOYW1lID0gInRoaXJkUGFydHlDb29raWUiOwotICAgIGNvbnN0IHN1YlBhdGhUb1NldFRo
aXJkUGFydHlDb29raWUgPSAiL3NldC1jb29raWUucGhwP25hbWU9IiArIHRoaXJkUGFydHlDb29r
aWVOYW1lICsgIiZ2YWx1ZT12YWx1ZSI7Ci0gICAgY29uc3Qgc3ViUGF0aFRvR2V0Q29va2llcyA9
ICIvZ2V0LWNvb2tpZXMucGhwP25hbWUxPSIgKyBmaXJzdFBhcnR5Q29va2llTmFtZUlQICsgIiZu
YW1lMj0iICsgZmlyc3RQYXJ0eUNvb2tpZU5hbWVMb2NhbGhvc3QgKyAiJm5hbWUzPSIgKyB0aGly
ZFBhcnR5Q29va2llTmFtZTsKLSAgICBjb25zdCByZWRpcmVjdENoYWluVXJsID0gdGhpcmRQYXJ0
eU9yaWdpbiArIHJlc291cmNlUGF0aCArICIvcmVkaXJlY3QucGhwP3JlZGlyZWN0VG89aHR0cDov
LyIgKyBwYXJ0aXRpb25Ib3N0ICsgcmVzb3VyY2VQYXRoICsgc3ViUGF0aFRvR2V0Q29va2llczsK
LQotICAgIGZ1bmN0aW9uIG9wZW5JZnJhbWUodXJsLCBvbkxvYWRIYW5kbGVyKSB7Ci0gICAgICAg
IGNvbnN0IGVsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJpZnJhbWUiKTsKLSAgICAg
ICAgZWxlbWVudC5zcmMgPSB1cmw7Ci0gICAgICAgIGlmIChvbkxvYWRIYW5kbGVyKSB7Ci0gICAg
ICAgICAgICBlbGVtZW50Lm9ubG9hZCA9IG9uTG9hZEhhbmRsZXI7Ci0gICAgICAgIH0KLSAgICAg
ICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChlbGVtZW50KTsKLSAgICB9Ci0KLSAgICBmdW5j
dGlvbiBydW5UZXN0KCkgewotICAgICAgICBzd2l0Y2ggKGRvY3VtZW50LmxvY2F0aW9uLmhhc2gp
IHsKLSAgICAgICAgICAgIGNhc2UgIiNzdGVwMSI6Ci0gICAgICAgICAgICAgICAgLy8gU2V0IGZp
cnN0LXBhcnR5IGNvb2tpZXMgZm9yIDEyNy4wLjAuMSBhbmQgbG9jYWxob3N0LgotICAgICAgICAg
ICAgICAgIGlmIChkb2N1bWVudC5sb2NhdGlvbi5vcmlnaW4gPT09IHRoaXJkUGFydHlPcmlnaW4p
IHsKLSAgICAgICAgICAgICAgICAgICAgZG9jdW1lbnQuY29va2llID0gZmlyc3RQYXJ0eUNvb2tp
ZU5hbWVMb2NhbGhvc3QgKyAiPWxvY2FsaG9zdDtwYXRoPScvJyI7Ci0gICAgICAgICAgICAgICAg
ICAgIGRvY3VtZW50LmxvY2F0aW9uLmhyZWYgPSAiaHR0cDovLzEyNy4wLjAuMTo4MDAwL3Jlc291
cmNlTG9hZFN0YXRpc3RpY3MvZG8tbm90LXJlbW92ZS1ibG9ja2luZy1pbi1yZWRpcmVjdC1kYXRh
YmFzZS5odG1sI3N0ZXAyIjsKLSAgICAgICAgICAgICAgICB9IGVsc2UgewotICAgICAgICAgICAg
ICAgICAgICBkb2N1bWVudC5jb29raWUgPSBmaXJzdFBhcnR5Q29va2llTmFtZUlQICsgIj0xMjcu
MC4wLjE7cGF0aD0nLyciOwotICAgICAgICAgICAgICAgICAgICBkb2N1bWVudC5sb2NhdGlvbi5o
cmVmID0gImh0dHA6Ly9sb2NhbGhvc3Q6ODAwMC9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2RvLW5v
dC1yZW1vdmUtYmxvY2tpbmctaW4tcmVkaXJlY3QtZGF0YWJhc2UuaHRtbCNzdGVwMSI7Ci0gICAg
ICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICAgICAgY2FzZSAi
I3N0ZXAyIjoKLSAgICAgICAgICAgICAgICAvLyBDaGVjayB0aGF0IHRoZSBjb29raWUgZ2V0cyBz
ZW50IGZvciBsb2NhbGhvc3QgdW5kZXIgMTI3LjAuMC4xIHNpbmNlIGxvY2FsaG9zdCBpcyBub3Qg
cHJldmFsZW50LgotICAgICAgICAgICAgICAgIGRvY3VtZW50LmxvY2F0aW9uLmhhc2ggPSAic3Rl
cDMiOwotICAgICAgICAgICAgICAgIG9wZW5JZnJhbWUodGhpcmRQYXJ0eUJhc2VVcmwgKyBzdWJQ
YXRoVG9HZXRDb29raWVzICsgIiZtZXNzYWdlPVNob3VsZCByZWNlaXZlIGZpcnN0LXBhcnR5IGNv
b2tpZSBmb3IgbG9jYWxob3N0LiIsIHJ1blRlc3QpOwotICAgICAgICAgICAgICAgIGJyZWFrOwot
ICAgICAgICAgICAgY2FzZSAiI3N0ZXAzIjoKLSAgICAgICAgICAgICAgICBkb2N1bWVudC5sb2Nh
dGlvbi5oYXNoID0gInN0ZXA0IjsKLSAgICAgICAgICAgICAgICAvLyBMb2FkIGFuIGlmcmFtZSBp
biBhIHJlZGlyZWN0IGNoYWluIHRoYXQgc3RhcnRzIHdpdGggbG9jYWxob3N0IGFuZCBlbmRzIHdp
dGggMTI3LjAuMC4xLiBFeHBlY3QgYSBjb29raWUgZm9yIDEyNy4wLjAuMS4KLSAgICAgICAgICAg
ICAgICBvcGVuSWZyYW1lKHJlZGlyZWN0Q2hhaW5VcmwgKyAiJm1lc3NhZ2U9UmVkaXJlY3QgY2Fz
ZSAxLCBzaG91bGQgcmVjZWl2ZSBmaXJzdC1wYXJ0eSBjb29raWUgZm9yIDEyNy4wLjAuMS4iLCBy
dW5UZXN0KTsKLSAgICAgICAgICAgICAgICBicmVhazsKLSAgICAgICAgICAgIGNhc2UgIiNzdGVw
NCI6Ci0gICAgICAgICAgICAgICAgLy8gU2V0IGxvY2FsaG9zdCBhcyBwcmV2YWxlbnQgdG8gcHV0
IGl0IGluIHRoZSBibG9ja2luZyBjYXRlZ29yeS4KLSAgICAgICAgICAgICAgICBkb2N1bWVudC5s
b2NhdGlvbi5oYXNoID0gInN0ZXA1IjsKLSAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLnNldFN0
YXRpc3RpY3NQcmV2YWxlbnRSZXNvdXJjZSh0aGlyZFBhcnR5T3JpZ2luLCB0cnVlLCBmdW5jdGlv
bigpIHsKLSAgICAgICAgICAgICAgICAgICAgaWYgKCF0ZXN0UnVubmVyLmlzU3RhdGlzdGljc1By
ZXZhbGVudFJlc291cmNlKHRoaXJkUGFydHlPcmlnaW4pKQotICAgICAgICAgICAgICAgICAgICAg
ICAgdGVzdEZhaWxlZCgiSG9zdCBkaWQgbm90IGdldCBzZXQgYXMgcHJldmFsZW50IHJlc291cmNl
LiIpOwotICAgICAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLnN0YXRpc3RpY3NVcGRhdGVDb29r
aWVCbG9ja2luZyhydW5UZXN0KTsKLSAgICAgICAgICAgICAgICB9KTsKLSAgICAgICAgICAgICAg
ICBicmVhazsKLSAgICAgICAgICAgIGNhc2UgIiNzdGVwNSI6Ci0gICAgICAgICAgICAgICAgLy8g
VHJ5IHRvIHNldCBwYXJ0aXRpb25lZCBjb29raWUgZm9yIGxvY2FsaG9zdCB1bmRlciAxMjcuMC4w
LjEuCi0gICAgICAgICAgICAgICAgZG9jdW1lbnQubG9jYXRpb24uaGFzaCA9ICJzdGVwNiI7Ci0g
ICAgICAgICAgICAgICAgb3BlbklmcmFtZSh0aGlyZFBhcnR5QmFzZVVybCArIHN1YlBhdGhUb1Nl
dFRoaXJkUGFydHlDb29raWUgKyAiJm1lc3NhZ2U9VHJ5IHRvIHNldCB0aGlyZC1wYXJ0eSBjb29r
aWUgZm9yIGxvY2FsaG9zdCBpbiBibG9ja2VkIG1vZGUuIiwgcnVuVGVzdCk7Ci0gICAgICAgICAg
ICAgICAgYnJlYWs7Ci0gICAgICAgICAgICBjYXNlICIjc3RlcDYiOgotICAgICAgICAgICAgICAg
IC8vIENoZWNrIHRoYXQgbm8gY29va2llIGdldHMgc2VudCBmb3IgbG9jYWxob3N0IHVuZGVyIDEy
Ny4wLjAuMSBzaW5jZSBsb2NhbGhvc3QncyBjb29raWVzIGFyZSBibG9ja2VkLgotICAgICAgICAg
ICAgICAgIGRvY3VtZW50LmxvY2F0aW9uLmhhc2ggPSAic3RlcDciOwotICAgICAgICAgICAgICAg
IG9wZW5JZnJhbWUodGhpcmRQYXJ0eUJhc2VVcmwgKyBzdWJQYXRoVG9HZXRDb29raWVzICsgICIm
bWVzc2FnZT1TaG91bGQgcmVjZWl2ZSBubyBjb29raWUuIiwgcnVuVGVzdCk7Ci0gICAgICAgICAg
ICAgICAgYnJlYWs7Ci0gICAgICAgICAgICBjYXNlICIjc3RlcDciOgotICAgICAgICAgICAgICAg
IC8vIExvYWQgYW4gaWZyYW1lIGluIGEgcmVkaXJlY3QgY2hhaW4gdGhhdCBzdGFydHMgd2l0aCBs
b2NhbGhvc3QgYW5kIGVuZHMgd2l0aCAxMjcuMC4wLjEuIEV4cGVjdCBhIGNvb2tpZSBmb3IgMTI3
LjAuMC4xLgotICAgICAgICAgICAgICAgIGRvY3VtZW50LmxvY2F0aW9uLmhhc2ggPSAic3RlcDgi
OwotICAgICAgICAgICAgICAgIG9wZW5JZnJhbWUocmVkaXJlY3RDaGFpblVybCArICImbWVzc2Fn
ZT1SZWRpcmVjdCBjYXNlIDIsIHNob3VsZCBub3QgcmVjZWl2ZSBmaXJzdC1wYXJ0eSBjb29raWUg
Zm9yIDEyNy4wLjAuMS4iLCBydW5UZXN0KTsKLSAgICAgICAgICAgICAgICBicmVhazsKLSAgICAg
ICAgICAgIGNhc2UgIiNzdGVwOCI6Ci0gICAgICAgICAgICAgICAgc2V0RW5hYmxlRmVhdHVyZShm
YWxzZSwgZmluaXNoSlNUZXN0KTsKLSAgICAgICAgICAgICAgICBicmVhazsKLSAgICAgICAgfQot
ICAgIH0KLQotICAgIGlmIChkb2N1bWVudC5sb2NhdGlvbi5oYXNoID09PSAiIikgewotICAgICAg
ICB0ZXN0UnVubmVyLnNldFVzZUlUUERhdGFiYXNlKHRydWUpOwotICAgICAgICBzZXRFbmFibGVG
ZWF0dXJlKHRydWUsIGZ1bmN0aW9uKCkgewotICAgICAgICAgICAgaWYgKHRlc3RSdW5uZXIuaXNT
dGF0aXN0aWNzUHJldmFsZW50UmVzb3VyY2UodGhpcmRQYXJ0eU9yaWdpbikpCi0gICAgICAgICAg
ICAgICAgdGVzdEZhaWxlZCgiTG9jYWxob3N0IHdhcyBjbGFzc2lmaWVkIGFzIHByZXZhbGVudCBy
ZXNvdXJjZSBiZWZvcmUgdGhlIHRlc3Qgc3RhcnRzLiIpOwotICAgICAgICAgICAgdGVzdFJ1bm5l
ci5kdW1wQ2hpbGRGcmFtZXNBc1RleHQoKTsKLSAgICAgICAgICAgIGRvY3VtZW50LmxvY2F0aW9u
Lmhhc2ggPSAic3RlcDEiOwotICAgICAgICAgICAgcnVuVGVzdCgpOwotICAgICAgICB9KTsKLSAg
ICB9IGVsc2UgewotICAgICAgICBydW5UZXN0KCk7Ci0gICAgfQotPC9zY3JpcHQ+Ci08L2JvZHk+
Ci08L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9h
ZFN0YXRpc3RpY3MvZG8tbm90LXN3aXRjaC1zZXNzaW9uLW9uLW5hdmlnYXRpb24tdG8tcHJldmFs
ZW50LXdpdGhvdXQtaW50ZXJhY3Rpb24tZGF0YWJhc2UtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2RvLW5vdC1zd2l0Y2gtc2Vzc2lv
bi1vbi1uYXZpZ2F0aW9uLXRvLXByZXZhbGVudC13aXRob3V0LWludGVyYWN0aW9uLWRhdGFiYXNl
LWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZDA1ZGMwOWI2OTYz
OWYxZDkwYzZjMzdjMjJlZDFiOTZmODYxYzQ0OS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0
YXRpc3RpY3MvZG8tbm90LXN3aXRjaC1zZXNzaW9uLW9uLW5hdmlnYXRpb24tdG8tcHJldmFsZW50
LXdpdGhvdXQtaW50ZXJhY3Rpb24tZGF0YWJhc2UtZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwK
QEAgLTEsMTIgKzAsMCBAQAotVGVzdHMgdGhhdCB0aGUgc2Vzc2lvbiBpcyBub3Qgc3dpdGNoZWQg
dXBvbiB0b3AgZnJhbWUgbmF2aWdhdGlvbiB0byBhIHByZXZhbGVudCByZXNvdXJjZSB3aXRob3V0
IHVzZXIgaW50ZXJhY3Rpb24uCi0KLU9uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBv
ZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KLQotCi1QQVNT
IFNob3VsZCBoYXZlIGFuZCBoYXMgdGhlIHNlc3Npb24gY29va2llLgotUEFTUyBTaG91bGQgaGF2
ZSBhbmQgaGFzIHRoZSBwZXJzaXN0ZW50IGNvb2tpZS4KLVBBU1MgT3JpZ2luIGhhcyBubyBpc29s
YXRlZCBzZXNzaW9uLgotUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQotCi1URVNUIENP
TVBMRVRFCi0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2Fk
U3RhdGlzdGljcy9kby1ub3Qtc3dpdGNoLXNlc3Npb24tb24tbmF2aWdhdGlvbi10by1wcmV2YWxl
bnQtd2l0aG91dC1pbnRlcmFjdGlvbi1kYXRhYmFzZS5waHAgYi9MYXlvdXRUZXN0cy9odHRwL3Rl
c3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvZG8tbm90LXN3aXRjaC1zZXNzaW9uLW9uLW5hdmln
YXRpb24tdG8tcHJldmFsZW50LXdpdGhvdXQtaW50ZXJhY3Rpb24tZGF0YWJhc2UucGhwCmRlbGV0
ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBhMmEwZjhjOGEwZWZjMTI3ZjgyYjFlYjQ4MTQ2Njg0
NzBkMDc2YmVjLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBh
L0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9kby1ub3Qtc3dp
dGNoLXNlc3Npb24tb24tbmF2aWdhdGlvbi10by1wcmV2YWxlbnQtd2l0aG91dC1pbnRlcmFjdGlv
bi1kYXRhYmFzZS5waHAKKysrIC9kZXYvbnVsbApAQCAtMSwxMTIgKzAsMCBAQAotPD9waHAKLSAg
ICBoZWFkZXIoIkNhY2hlLUNvbnRyb2w6IG5vLXN0b3JlIik7Ci0/PgotPCFET0NUWVBFIGh0bWw+
Ci08aHRtbCBsYW5nPSJlbiI+Ci08aGVhZD4KLSAgICA8bWV0YSBjaGFyc2V0PSJVVEYtOCI+Ci0g
ICAgPHNjcmlwdCBzcmM9Ii9qcy10ZXN0LXJlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4K
LSAgICA8c2NyaXB0IHNyYz0icmVzb3VyY2VzL3V0aWwuanMiPjwvc2NyaXB0PgotPC9oZWFkPgot
PGJvZHkgb25sb2FkPSJydW5UZXN0KCkiPgotPHNjcmlwdD4KLSAgICBkZXNjcmlwdGlvbigiVGVz
dHMgdGhhdCB0aGUgc2Vzc2lvbiBpcyBub3Qgc3dpdGNoZWQgdXBvbiB0b3AgZnJhbWUgbmF2aWdh
dGlvbiB0byBhIHByZXZhbGVudCByZXNvdXJjZSB3aXRob3V0IHVzZXIgaW50ZXJhY3Rpb24uIik7
Ci0gICAganNUZXN0SXNBc3luYyA9IHRydWU7Ci0KLSAgICBjb25zdCBwcmV2YWxlbnRPcmlnaW4g
PSAiaHR0cDovLzEyNy4wLjAuMTo4MDAwIjsKLSAgICBjb25zdCBub25QcmV2YWxlbnRPcmlnaW4g
PSAiaHR0cDovL2xvY2FsaG9zdDo4MDAwIjsKLSAgICBjb25zdCBzZXNzaW9uQ29va2llTmFtZSA9
ICJzZXNzaW9uQ29va2llIjsKLSAgICBjb25zdCBwZXJzaXN0ZW50Q29va2llTmFtZSA9ICJwZXJz
aXN0ZW50Q29va2llIjsKLSAgICBjb25zdCB0d29NaW51dGVzSW5TZWNvbmRzID0gMTIwOwotCi0g
ICAgZnVuY3Rpb24gc2V0U2Vzc2lvbkNvb2tpZSgpIHsKLSAgICAgICAgZG9jdW1lbnQuY29va2ll
ID0gc2Vzc2lvbkNvb2tpZU5hbWUgKyAiPTE7IHBhdGg9LyI7Ci0gICAgfQotCi0gICAgZnVuY3Rp
b24gc2V0UGVyc2lzdGVudENvb2tpZSgpIHsKLSAgICAgICAgZG9jdW1lbnQuY29va2llID0gcGVy
c2lzdGVudENvb2tpZU5hbWUgKyAiPTE7IHBhdGg9LzsgTWF4LUFnZT0iICsgdHdvTWludXRlc0lu
U2Vjb25kcyArICI7IjsKLSAgICB9Ci0KLSAgICBmdW5jdGlvbiBjaGVja0Nvb2tpZXMoc2hvdWxk
SGF2ZVNlc3Npb25Db29raWUsIHNob3VsZEhhdmVQZXJzaXN0ZW50Q29va2llKSB7Ci0gICAgICAg
IGxldCBoYXNTZXNzaW9uQ29va2llID0gKGRvY3VtZW50LmNvb2tpZSArICIiKS5pbmNsdWRlcyhz
ZXNzaW9uQ29va2llTmFtZSksCi0gICAgICAgICAgICBoYXNQZXJzaXN0ZW50Q29va2llID0gKGRv
Y3VtZW50LmNvb2tpZSArICIiKS5pbmNsdWRlcyhwZXJzaXN0ZW50Q29va2llTmFtZSk7Ci0KLSAg
ICAgICAgaWYgKHNob3VsZEhhdmVTZXNzaW9uQ29va2llICYmIGhhc1Nlc3Npb25Db29raWUpCi0g
ICAgICAgICAgICB0ZXN0UGFzc2VkKCJTaG91bGQgaGF2ZSBhbmQgaGFzIHRoZSBzZXNzaW9uIGNv
b2tpZS4iKTsKLSAgICAgICAgZWxzZSBpZiAoc2hvdWxkSGF2ZVNlc3Npb25Db29raWUgJiYgIWhh
c1Nlc3Npb25Db29raWUpIHsKLSAgICAgICAgICAgIHRlc3RGYWlsZWQoIlNob3VsZCBoYXZlIGJ1
dCBkb2Vzbid0IGhhdmUgdGhlIHNlc3Npb24gY29va2llLiIpOwotICAgICAgICAgICAgc2V0RW5h
YmxlRmVhdHVyZShmYWxzZSwgZmluaXNoSlNUZXN0KTsKLSAgICAgICAgfSBlbHNlIGlmICghc2hv
dWxkSGF2ZVNlc3Npb25Db29raWUgJiYgaGFzU2Vzc2lvbkNvb2tpZSkgewotICAgICAgICAgICAg
dGVzdEZhaWxlZCgiU2hvdWxkbid0IGhhdmUgYnV0IGhhcyB0aGUgc2Vzc2lvbiBjb29raWUuIik7
Ci0gICAgICAgICAgICBzZXRFbmFibGVGZWF0dXJlKGZhbHNlLCBmaW5pc2hKU1Rlc3QpOwotICAg
ICAgICB9IGVsc2UKLSAgICAgICAgICAgIHRlc3RQYXNzZWQoIlNob3VsZG4ndCBoYXZlIGFuZCBk
b2Vzbid0IGhhdmUgdGhlIHNlc3Npb24gY29va2llLiIpOwotCi0KLSAgICAgICAgaWYgKHNob3Vs
ZEhhdmVQZXJzaXN0ZW50Q29va2llICYmIGhhc1BlcnNpc3RlbnRDb29raWUpCi0gICAgICAgICAg
ICB0ZXN0UGFzc2VkKCJTaG91bGQgaGF2ZSBhbmQgaGFzIHRoZSBwZXJzaXN0ZW50IGNvb2tpZS4i
KTsKLSAgICAgICAgZWxzZSBpZiAoc2hvdWxkSGF2ZVBlcnNpc3RlbnRDb29raWUgJiYgIWhhc1Bl
cnNpc3RlbnRDb29raWUpIHsKLSAgICAgICAgICAgIHRlc3RGYWlsZWQoIlNob3VsZCBoYXZlIGJ1
dCBkb2Vzbid0IGhhdmUgdGhlIHBlcnNpc3RlbnQgY29va2llLiIpOwotICAgICAgICAgICAgc2V0
RW5hYmxlRmVhdHVyZShmYWxzZSwgZmluaXNoSlNUZXN0KTsKLSAgICAgICAgfSBlbHNlIGlmICgh
c2hvdWxkSGF2ZVBlcnNpc3RlbnRDb29raWUgJiYgaGFzUGVyc2lzdGVudENvb2tpZSkgewotICAg
ICAgICAgICAgdGVzdEZhaWxlZCgiU2hvdWxkbid0IGhhdmUgYnV0IGhhcyB0aGUgcGVyc2lzdGVu
dCBjb29raWUuIik7Ci0gICAgICAgICAgICBzZXRFbmFibGVGZWF0dXJlKGZhbHNlLCBmaW5pc2hK
U1Rlc3QpOwotICAgICAgICB9IGVsc2UKLSAgICAgICAgICAgIHRlc3RQYXNzZWQoIlNob3VsZG4n
dCBoYXZlIGFuZCBkb2Vzbid0IGhhdmUgdGhlIHBlcnNpc3RlbnQgY29va2llLiIpOwotICAgIH0K
LQotICAgIGZ1bmN0aW9uIHJ1blRlc3QoKSB7Ci0gICAgICAgIHN3aXRjaCAoZG9jdW1lbnQubG9j
YXRpb24uaGFzaCkgewotICAgICAgICAgICAgY2FzZSAiIjoKLSAgICAgICAgICAgICAgICBpZiAo
ZG9jdW1lbnQubG9jYXRpb24ub3JpZ2luICE9PSBwcmV2YWxlbnRPcmlnaW4pCi0gICAgICAgICAg
ICAgICAgICAgIHRlc3RGYWlsZWQoIlRlc3QgaXMgbm90IHN0YXJ0aW5nIG91dCBvbiAiICsgcHJl
dmFsZW50T3JpZ2luICsgIi4iKTsKLQotICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIuc2V0VXNl
SVRQRGF0YWJhc2UodHJ1ZSk7Ci0gICAgICAgICAgICAgICAgc2V0RW5hYmxlRmVhdHVyZSh0cnVl
LCBmdW5jdGlvbiAoKSB7Ci0gICAgICAgICAgICAgICAgICAgIGlmICh0ZXN0UnVubmVyLmlzU3Rh
dGlzdGljc1ByZXZhbGVudFJlc291cmNlKHByZXZhbGVudE9yaWdpbikpCi0gICAgICAgICAgICAg
ICAgICAgICAgICB0ZXN0RmFpbGVkKHByZXZhbGVudE9yaWdpbiArICIgd2FzIGNsYXNzaWZpZWQg
YXMgcHJldmFsZW50IHJlc291cmNlIGJlZm9yZSB0aGUgdGVzdCBzdGFydHMuIik7Ci0gICAgICAg
ICAgICAgICAgICAgIGRvY3VtZW50LmxvY2F0aW9uLmhhc2ggPSAic3RlcDEiOwotICAgICAgICAg
ICAgICAgICAgICBydW5UZXN0KCk7Ci0gICAgICAgICAgICAgICAgfSk7Ci0gICAgICAgICAgICBj
YXNlICIjc3RlcDEiOgotICAgICAgICAgICAgICAgIHNldFNlc3Npb25Db29raWUoKTsKLSAgICAg
ICAgICAgICAgICBzZXRQZXJzaXN0ZW50Q29va2llKCk7Ci0gICAgICAgICAgICAgICAgY2hlY2tD
b29raWVzKHRydWUsIHRydWUpOwotICAgICAgICAgICAgICAgIGlmICh0ZXN0UnVubmVyLmhhc1N0
YXRpc3RpY3NJc29sYXRlZFNlc3Npb24ocHJldmFsZW50T3JpZ2luKSkgewotICAgICAgICAgICAg
ICAgICAgICB0ZXN0RmFpbGVkKCJPcmlnaW4gaGFzIGlzb2xhdGVkIHNlc3Npb24uIik7Ci0gICAg
ICAgICAgICAgICAgICAgIHNldEVuYWJsZUZlYXR1cmUoZmFsc2UsIGZpbmlzaEpTVGVzdCk7Ci0g
ICAgICAgICAgICAgICAgfSBlbHNlCi0gICAgICAgICAgICAgICAgICAgIHRlc3RQYXNzZWQoIk9y
aWdpbiBoYXMgbm8gaXNvbGF0ZWQgc2Vzc2lvbi4iKTsKLSAgICAgICAgICAgICAgICBkb2N1bWVu
dC5sb2NhdGlvbi5ocmVmID0gbm9uUHJldmFsZW50T3JpZ2luICsgIi9yZXNvdXJjZUxvYWRTdGF0
aXN0aWNzL2RvLW5vdC1zd2l0Y2gtc2Vzc2lvbi1vbi1uYXZpZ2F0aW9uLXRvLXByZXZhbGVudC13
aXRob3V0LWludGVyYWN0aW9uLWRhdGFiYXNlLnBocCNzdGVwMiI7Ci0gICAgICAgICAgICAgICAg
YnJlYWs7Ci0gICAgICAgICAgICBjYXNlICIjc3RlcDIiOgotICAgICAgICAgICAgICAgIGRvY3Vt
ZW50LmxvY2F0aW9uLmhhc2ggPSAic3RlcDMiOwotICAgICAgICAgICAgICAgIGlmIChkb2N1bWVu
dC5sb2NhdGlvbi5vcmlnaW4gIT09IG5vblByZXZhbGVudE9yaWdpbikKLSAgICAgICAgICAgICAg
ICAgICAgdGVzdEZhaWxlZCgiU3RlcCAyIGlzIG5vdCBvbiAiICsgbm9uUHJldmFsZW50T3JpZ2lu
ICsgIi4iKTsKLSAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NQcmV2YWxl
bnRSZXNvdXJjZShwcmV2YWxlbnRPcmlnaW4sIHRydWUsIGZ1bmN0aW9uKCkgewotICAgICAgICAg
ICAgICAgICAgICBpZiAoIXRlc3RSdW5uZXIuaXNTdGF0aXN0aWNzUHJldmFsZW50UmVzb3VyY2Uo
cHJldmFsZW50T3JpZ2luKSkgewotICAgICAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChw
cmV2YWxlbnRPcmlnaW4gKyAiIGRpZCBub3QgZ2V0IHNldCBhcyBwcmV2YWxlbnQgcmVzb3VyY2Uu
Iik7Ci0gICAgICAgICAgICAgICAgICAgICAgICBzZXRFbmFibGVGZWF0dXJlKGZhbHNlLCBmaW5p
c2hKU1Rlc3QpOwotICAgICAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgICAgIHRl
c3RSdW5uZXIuc3RhdGlzdGljc1VwZGF0ZUNvb2tpZUJsb2NraW5nKHJ1blRlc3QpOwotICAgICAg
ICAgICAgICAgIH0pOwotICAgICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICAgICAgY2FzZSAi
I3N0ZXAzIjoKLSAgICAgICAgICAgICAgICBkb2N1bWVudC5sb2NhdGlvbi5ocmVmID0gcHJldmFs
ZW50T3JpZ2luICsgIi9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2RvLW5vdC1zd2l0Y2gtc2Vzc2lv
bi1vbi1uYXZpZ2F0aW9uLXRvLXByZXZhbGVudC13aXRob3V0LWludGVyYWN0aW9uLWRhdGFiYXNl
LnBocCNzdGVwNCI7Ci0gICAgICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgICAgICBjYXNlICIj
c3RlcDQiOgotICAgICAgICAgICAgICAgIGNoZWNrQ29va2llcyh0cnVlLCB0cnVlKTsKLSAgICAg
ICAgICAgICAgICBpZiAodGVzdFJ1bm5lci5oYXNTdGF0aXN0aWNzSXNvbGF0ZWRTZXNzaW9uKHBy
ZXZhbGVudE9yaWdpbikpCi0gICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoIk9yaWdpbiBo
YXMgaXNvbGF0ZWQgc2Vzc2lvbi4iKTsKLSAgICAgICAgICAgICAgICBlbHNlCi0gICAgICAgICAg
ICAgICAgICAgIHRlc3RQYXNzZWQoIk9yaWdpbiBoYXMgbm8gaXNvbGF0ZWQgc2Vzc2lvbi4iKTsK
LSAgICAgICAgICAgICAgICBzZXRFbmFibGVGZWF0dXJlKGZhbHNlLCBmaW5pc2hKU1Rlc3QpOwot
ICAgICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICAgICAgZGVmYXVsdDoKLSAgICAgICAgICAg
ICAgICB0ZXN0RmFpbGVkKCJVbmtub3duIGhhc2guIik7Ci0gICAgICAgICAgICAgICAgc2V0RW5h
YmxlRmVhdHVyZShmYWxzZSwgZmluaXNoSlNUZXN0KTsKLSAgICAgICAgfQotICAgIH0KLTwvc2Ny
aXB0PgotPC9ib2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0
cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2RvbnQtY291bnQtdGhpcmQtcGFydHktaW1hZ2UtYXMt
dGhpcmQtcGFydHktc2NyaXB0LWRhdGFiYXNlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0
dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9kb250LWNvdW50LXRoaXJkLXBhcnR5LWlt
YWdlLWFzLXRoaXJkLXBhcnR5LXNjcmlwdC1kYXRhYmFzZS1leHBlY3RlZC50eHQKZGVsZXRlZCBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAyNWMyM2Y5MjJmNGQ0ZTdlMGYyNWJhZTc0NWJkZGI0NWNj
ZmRiMWMuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2RvbnQtY291bnQtdGhp
cmQtcGFydHktaW1hZ2UtYXMtdGhpcmQtcGFydHktc2NyaXB0LWRhdGFiYXNlLWV4cGVjdGVkLnR4
dAorKysgL2Rldi9udWxsCkBAIC0xLDI0ICswLDAgQEAKLVBBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2Vk
IGlzIHRydWUKLQotVEVTVCBDT01QTEVURQotCi1SZXNvdXJjZSBsb2FkIHN0YXRpc3RpY3M6Ci0K
LVJlZ2lzdHJhYmxlIGRvbWFpbjogMTI3LjAuMC4xCi0gICAgaGFkVXNlckludGVyYWN0aW9uOiBO
bwotICAgIG1vc3RSZWNlbnRVc2VySW50ZXJhY3Rpb246IC0xCi0gICAgZ3JhbmRmYXRoZXJlZDog
Tm8KLSAgICBJc1NjaGVkdWxlZEZvckFsbEJ1dENvb2tpZURhdGFSZW1vdmFsOiBObwotICAgIGlz
UHJldmFsZW50UmVzb3VyY2U6IE5vCi0gICAgaXNWZXJ5UHJldmFsZW50UmVzb3VyY2U6IE5vCi0g
ICAgZGF0YVJlY29yZHNSZW1vdmVkOiAwCi1SZWdpc3RyYWJsZSBkb21haW46IGxvY2FsaG9zdAot
ICAgIGhhZFVzZXJJbnRlcmFjdGlvbjogTm8KLSAgICBtb3N0UmVjZW50VXNlckludGVyYWN0aW9u
OiAtMQotICAgIGdyYW5kZmF0aGVyZWQ6IE5vCi0gICAgSXNTY2hlZHVsZWRGb3JBbGxCdXRDb29r
aWVEYXRhUmVtb3ZhbDogTm8KLSAgICBTdWJyZXNvdXJjZVVuZGVyVG9wRnJhbWVEb21haW5zOgot
ICAgICAgICAxMjcuMC4wLjEKLSAgICBpc1ByZXZhbGVudFJlc291cmNlOiBObwotICAgIGlzVmVy
eVByZXZhbGVudFJlc291cmNlOiBObwotICAgIGRhdGFSZWNvcmRzUmVtb3ZlZDogMApkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2RvbnQt
Y291bnQtdGhpcmQtcGFydHktaW1hZ2UtYXMtdGhpcmQtcGFydHktc2NyaXB0LWRhdGFiYXNlLmh0
bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvZG9udC1j
b3VudC10aGlyZC1wYXJ0eS1pbWFnZS1hcy10aGlyZC1wYXJ0eS1zY3JpcHQtZGF0YWJhc2UuaHRt
bApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYmQxMDI5ZmFlNWU5N2FkYWM4NjAyZDgz
N2RkMGU0YTczNzdhOTJmYi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvZG9u
dC1jb3VudC10aGlyZC1wYXJ0eS1pbWFnZS1hcy10aGlyZC1wYXJ0eS1zY3JpcHQtZGF0YWJhc2Uu
aHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDQ4ICswLDAgQEAKLTwhRE9DVFlQRSBodG1sPgotPGh0
bWwgbGFuZz0iZW4iPgotPGhlYWQ+Ci0gICAgPG1ldGEgY2hhcnNldD0iVVRGLTgiPgotICAgIDx0
aXRsZT5UZXN0IG5vdCBjb3VudGluZyB0aGlyZC1wYXJ0eSBpbWFnZXMgYXMgdGhpcmQtcGFydHkg
c2NyaXB0IGxvYWRzPC90aXRsZT4KLSAgICA8c2NyaXB0IHNyYz0iL2pzLXRlc3QtcmVzb3VyY2Vz
L2pzLXRlc3QuanMiPjwvc2NyaXB0PgotICAgIDxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvdXRpbC5q
cyI+PC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keSBvbmxvYWQ9InJ1blRlc3QoKSI+Ci08c2NyaXB0
PgotICAgIGNvbnN0IHRoaXJkUGFydHlPcmlnaW4gPSAiaHR0cDovL2xvY2FsaG9zdDo4MDAwIjsK
LSAgICBjb25zdCB0aGlyZFBhcnR5QmFzZVVybCA9IHRoaXJkUGFydHlPcmlnaW4gKyAiL3Jlc291
cmNlcyI7Ci0KLSAgICBmdW5jdGlvbiBmaW5pc2hUZXN0KCkgewotICAgICAgICB0ZXN0UnVubmVy
LmR1bXBSZXNvdXJjZUxvYWRTdGF0aXN0aWNzKCk7Ci0gICAgICAgIHNldEVuYWJsZUZlYXR1cmUo
ZmFsc2UsIGZ1bmN0aW9uKCkgewotICAgICAgICAgICAgdGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7
Ci0gICAgICAgIH0pOwotICAgIH0KLQotICAgIGZ1bmN0aW9uIHJ1blRlc3QoKSB7Ci0gICAgICAg
IHN3aXRjaCAoZG9jdW1lbnQubG9jYXRpb24uaGFzaCkgewotICAgICAgICAgICAgY2FzZSAiIjoK
LSAgICAgICAgICAgICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIgJiYgd2luZG93LmludGVybmFs
cykgewotICAgICAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTsKLSAg
ICAgICAgICAgICAgICAgICAgc2V0RW5hYmxlRmVhdHVyZSh0cnVlLCBmdW5jdGlvbigpIHsKLSAg
ICAgICAgICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIuc2V0VXNlSVRQRGF0YWJhc2UodHJ1ZSk7
Ci0gICAgICAgICAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLmluc3RhbGxTdGF0aXN0aWNzRGlk
U2NhbkRhdGFSZWNvcmRzQ2FsbGJhY2soZmluaXNoVGVzdCk7Ci0gICAgICAgICAgICAgICAgICAg
ICAgICBkb2N1bWVudC5sb2NhdGlvbi5oYXNoID0gInN0ZXAxIjsKLSAgICAgICAgICAgICAgICAg
ICAgICAgIHJ1blRlc3QoKTsKLSAgICAgICAgICAgICAgICAgICAgfSk7Ci0gICAgICAgICAgICAg
ICAgfQotICAgICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICAgICAgY2FzZSAiI3N0ZXAxIjoK
LSAgICAgICAgICAgICAgICBkb2N1bWVudC5sb2NhdGlvbi5oYXNoID0gInN0ZXAyIjsKLSAgICAg
ICAgICAgICAgICBsZXQgaW1nRWxlbWVudCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImltZyIp
OwotICAgICAgICAgICAgICAgIGltZ0VsZW1lbnQub25sb2FkID0gcnVuVGVzdDsKLSAgICAgICAg
ICAgICAgICBpbWdFbGVtZW50LnNyYyA9IHRoaXJkUGFydHlCYXNlVXJsICsgIi9zcXVhcmUyMC5q
cGc/ZHVtbXlQYXJhbT0iICsgTWF0aC5yYW5kb20oKTsKLSAgICAgICAgICAgICAgICBkb2N1bWVu
dC5ib2R5LmFwcGVuZENoaWxkKGltZ0VsZW1lbnQpOwotICAgICAgICAgICAgICAgIGJyZWFrOwot
ICAgICAgICAgICAgY2FzZSAiI3N0ZXAyIjoKLSAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLnN0
YXRpc3RpY3NOb3RpZnlPYnNlcnZlcigpOwotICAgICAgICAgICAgICAgIGJyZWFrOwotICAgICAg
ICB9Ci0gICAgfQotPC9zY3JpcHQ+Ci08L2JvZHk+Ci08L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvZG9udC1jb3VudC10aGly
ZC1wYXJ0eS1pbWFnZS1hcy10aGlyZC1wYXJ0eS1zY3JpcHQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2RvbnQtY291bnQtdGhpcmQt
cGFydHktaW1hZ2UtYXMtdGhpcmQtcGFydHktc2NyaXB0LWV4cGVjdGVkLnR4dAppbmRleCAwNmM2
YWUwNmNmMzVlMzU1Y2VlNjAyMjcxMDQxOTc0MjVlOTgxMTcyLi4wMjVjMjNmOTIyZjRkNGU3ZTBm
MjViYWU3NDViZGRiNDVjY2ZkYjFjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvZG9udC1jb3VudC10aGlyZC1wYXJ0eS1pbWFnZS1hcy10
aGlyZC1wYXJ0eS1zY3JpcHQtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVz
dHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9kb250LWNvdW50LXRoaXJkLXBhcnR5LWltYWdlLWFz
LXRoaXJkLXBhcnR5LXNjcmlwdC1leHBlY3RlZC50eHQKQEAgLTQsMTUgKzQsMjEgQEAgVEVTVCBD
T01QTEVURQogCiBSZXNvdXJjZSBsb2FkIHN0YXRpc3RpY3M6CiAKK1JlZ2lzdHJhYmxlIGRvbWFp
bjogMTI3LjAuMC4xCisgICAgaGFkVXNlckludGVyYWN0aW9uOiBObworICAgIG1vc3RSZWNlbnRV
c2VySW50ZXJhY3Rpb246IC0xCisgICAgZ3JhbmRmYXRoZXJlZDogTm8KKyAgICBJc1NjaGVkdWxl
ZEZvckFsbEJ1dENvb2tpZURhdGFSZW1vdmFsOiBObworICAgIGlzUHJldmFsZW50UmVzb3VyY2U6
IE5vCisgICAgaXNWZXJ5UHJldmFsZW50UmVzb3VyY2U6IE5vCisgICAgZGF0YVJlY29yZHNSZW1v
dmVkOiAwCiBSZWdpc3RyYWJsZSBkb21haW46IGxvY2FsaG9zdAogICAgIGhhZFVzZXJJbnRlcmFj
dGlvbjogTm8KICAgICBtb3N0UmVjZW50VXNlckludGVyYWN0aW9uOiAtMQogICAgIGdyYW5kZmF0
aGVyZWQ6IE5vCi0gICAgZ290TGlua0RlY29yYXRpb25Gcm9tUHJldmFsZW50UmVzb3VyY2U6IE5v
Ci0gICAgc3VicmVzb3VyY2VVbmRlclRvcEZyYW1lRG9tYWluczoKKyAgICBJc1NjaGVkdWxlZEZv
ckFsbEJ1dENvb2tpZURhdGFSZW1vdmFsOiBObworICAgIFN1YnJlc291cmNlVW5kZXJUb3BGcmFt
ZURvbWFpbnM6CiAgICAgICAgIDEyNy4wLjAuMQogICAgIGlzUHJldmFsZW50UmVzb3VyY2U6IE5v
CiAgICAgaXNWZXJ5UHJldmFsZW50UmVzb3VyY2U6IE5vCiAgICAgZGF0YVJlY29yZHNSZW1vdmVk
OiAwCi0gICAgY2FudmFzUmVhZERhdGE6IE5vCi0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0
dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9kb3duZ3JhZGUtZG9jdW1lbnQtcmVmZXJy
ZXItbmVzdGVkLXRoaXJkLXBhcnR5LWlmcmFtZS5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0
cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2Rvd25ncmFkZS1kb2N1bWVudC1yZWZlcnJlci1uZXN0
ZWQtdGhpcmQtcGFydHktaWZyYW1lLmh0bWwKaW5kZXggNGUxZTIzYTBmM2U4OTdmOWZkODk5YTFi
M2U4MjVjNmE0ZTdjZGNhYy4uOTI5MTIyMjA0YjdlZTE4ZDE5MjY5YmZkMmQ4YmY5NDg2ODhjZGI2
YyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0
aWNzL2Rvd25ncmFkZS1kb2N1bWVudC1yZWZlcnJlci1uZXN0ZWQtdGhpcmQtcGFydHktaWZyYW1l
Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNz
L2Rvd25ncmFkZS1kb2N1bWVudC1yZWZlcnJlci1uZXN0ZWQtdGhpcmQtcGFydHktaWZyYW1lLmh0
bWwKQEAgLTI0LDcgKzI0LDYgQEAKIAogICAgIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CiAgICAgICAg
IGlmICh0ZXN0UnVubmVyKSB7Ci0gICAgICAgICAgICB0ZXN0UnVubmVyLnNldFVzZUlUUERhdGFi
YXNlKHRydWUpOwogICAgICAgICAgICAgc2V0RW5hYmxlRmVhdHVyZSh0cnVlLCBmdW5jdGlvbigp
IHsKICAgICAgICAgICAgICAgICBsZXQgaWZyYW1lRWxlbWVudCA9IGRvY3VtZW50LmNyZWF0ZUVs
ZW1lbnQoImlmcmFtZSIpOwogICAgICAgICAgICAgICAgIGlmcmFtZUVsZW1lbnQuc3JjID0gImh0
dHA6Ly8xMjcuMC4wLjE6ODAwMC9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3Jlc291cmNlcy9uZXN0
LWlmcmFtZS1yZXBvcnQtZG9jdW1lbnQtcmVmZXJyZXIuaHRtbCI7CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvZG93bmdyYWRlLWRvY3Vt
ZW50LXJlZmVycmVyLXRoaXJkLXBhcnR5LWlmcmFtZS5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90
ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2Rvd25ncmFkZS1kb2N1bWVudC1yZWZlcnJlci10
aGlyZC1wYXJ0eS1pZnJhbWUuaHRtbAppbmRleCA4NjRkMTFmY2RjOWYyZTg4MWE5ZjU0MDE5MmI3
NDg2N2ZjZmViMDQ4Li5kMTQxOTQ3MTNiMjEzYTM0ZmViMTBkM2RkZWY4ZWRiYWI1MGU3M2M2IDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3Mv
ZG93bmdyYWRlLWRvY3VtZW50LXJlZmVycmVyLXRoaXJkLXBhcnR5LWlmcmFtZS5odG1sCisrKyBi
L0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9kb3duZ3JhZGUt
ZG9jdW1lbnQtcmVmZXJyZXItdGhpcmQtcGFydHktaWZyYW1lLmh0bWwKQEAgLTI0LDcgKzI0LDYg
QEAKIAogICAgIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CiAgICAgICAgIGlmICh0ZXN0UnVubmVyKSB7
Ci0gICAgICAgICAgICB0ZXN0UnVubmVyLnNldFVzZUlUUERhdGFiYXNlKHRydWUpOwogICAgICAg
ICAgICAgc2V0RW5hYmxlRmVhdHVyZSh0cnVlLCBmdW5jdGlvbigpIHsKICAgICAgICAgICAgICAg
ICBsZXQgaWZyYW1lRWxlbWVudCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImlmcmFtZSIpOwog
ICAgICAgICAgICAgICAgIGlmcmFtZUVsZW1lbnQuc3JjID0gImh0dHA6Ly9sb2NhbGhvc3Q6ODAw
MC9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3Jlc291cmNlcy9yZXBvcnQtZG9jdW1lbnQtcmVmZXJy
ZXIuaHRtbCI7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9h
ZFN0YXRpc3RpY3MvZG93bmdyYWRlZC1yZWZlcnJlci1mb3ItbmF2aWdhdGlvbi13aXRoLWxpbmst
cXVlcnktZnJvbS1wcmV2YWxlbnQtcmVzb3VyY2UtZGF0YWJhc2UtZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2Rvd25ncmFkZWQtcmVm
ZXJyZXItZm9yLW5hdmlnYXRpb24td2l0aC1saW5rLXF1ZXJ5LWZyb20tcHJldmFsZW50LXJlc291
cmNlLWRhdGFiYXNlLWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MGZiYTgxMDM1ZTJmZWNiYTEzOTRkMDFkZjJlOWJlMjA2OTVlODVhNS4uMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jl
c291cmNlTG9hZFN0YXRpc3RpY3MvZG93bmdyYWRlZC1yZWZlcnJlci1mb3ItbmF2aWdhdGlvbi13
aXRoLWxpbmstcXVlcnktZnJvbS1wcmV2YWxlbnQtcmVzb3VyY2UtZGF0YWJhc2UtZXhwZWN0ZWQu
dHh0CisrKyAvZGV2L251bGwKQEAgLTEsMTAgKzAsMCBAQAotQ2hlY2sgdGhhdCBkb2N1bWVudC5y
ZWZlcnJlciBpcyBkb3duZ3JhZGVkIHRvIHRoZSBlVExEKzEgYWZ0ZXIgYSBjcm9zcy1zaXRlIG5h
dmlnYXRpb24gd2l0aCBsaW5rIHF1ZXJ5LgotCi1PbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBz
ZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCi0K
LQotUEFTUyBUaGUgcmVmZXJyZXIgaXMgZG93bmdyYWRlZC4KLVBBU1Mgc3VjY2Vzc2Z1bGx5UGFy
c2VkIGlzIHRydWUKLQotVEVTVCBDT01QTEVURQotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9o
dHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvZG93bmdyYWRlZC1yZWZlcnJlci1mb3It
bmF2aWdhdGlvbi13aXRoLWxpbmstcXVlcnktZnJvbS1wcmV2YWxlbnQtcmVzb3VyY2UtZGF0YWJh
c2UuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9k
b3duZ3JhZGVkLXJlZmVycmVyLWZvci1uYXZpZ2F0aW9uLXdpdGgtbGluay1xdWVyeS1mcm9tLXBy
ZXZhbGVudC1yZXNvdXJjZS1kYXRhYmFzZS5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCBiMzYwMjBiMmUwMWE1YjFmNjZlMzVkYWJiZDgwMTRiY2I4YzJlZTNkLi4wMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVz
dHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9kb3duZ3JhZGVkLXJlZmVycmVyLWZvci1uYXZpZ2F0
aW9uLXdpdGgtbGluay1xdWVyeS1mcm9tLXByZXZhbGVudC1yZXNvdXJjZS1kYXRhYmFzZS5odG1s
CisrKyAvZGV2L251bGwKQEAgLTEsNTQgKzAsMCBAQAotPCFET0NUWVBFIGh0bWw+Ci08aHRtbD4K
LTxoZWFkPgotICAgIDxzY3JpcHQgc3JjPSIvanMtdGVzdC1yZXNvdXJjZXMvanMtdGVzdC5qcyI+
PC9zY3JpcHQ+Ci0gICAgPHNjcmlwdCBzcmM9Ii9jb29raWVzL3Jlc291cmNlcy9jb29raWUtdXRp
bGl0aWVzLmpzIj48L3NjcmlwdD4KLSAgICA8c2NyaXB0IHNyYz0icmVzb3VyY2VzL3V0aWwuanMi
Pjwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHkgb25sb2FkPSJzZXRUaW1lb3V0KCdydW5UZXN0KCkn
LCAwKSI+Ci08c2NyaXB0PgotICAgIGRlc2NyaXB0aW9uKCJDaGVjayB0aGF0IGRvY3VtZW50LnJl
ZmVycmVyIGlzIGRvd25ncmFkZWQgdG8gdGhlIGVUTEQrMSBhZnRlciBhIGNyb3NzLXNpdGUgbmF2
aWdhdGlvbiB3aXRoIGxpbmsgcXVlcnkuIik7Ci0gICAganNUZXN0SXNBc3luYyA9IHRydWU7Ci0K
LSAgICBsZXQgbnVtYmVyT2ZUcmllcyA9IDA7Ci0gICAgZnVuY3Rpb24gdGVzdFJlZmVycmVyKCkg
ewotICAgICAgICBpZiAoZG9jdW1lbnQucmVmZXJyZXIgPT09IHByZXZhbGVudFJlc291cmNlT3Jp
Z2luICsgIi8iKSB7Ci0gICAgICAgICAgICB0ZXN0UGFzc2VkKCJUaGUgcmVmZXJyZXIgaXMgZG93
bmdyYWRlZC4iKTsKLSAgICAgICAgICAgIHNldEVuYWJsZUZlYXR1cmUoZmFsc2UsIGZpbmlzaEpT
VGVzdCk7Ci0gICAgICAgIH0gZWxzZSBpZiAoKytudW1iZXJPZlRyaWVzIDw9IDUpCi0gICAgICAg
ICAgICBzZXRUaW1lb3V0KHRlc3RSZWZlcnJlciwgMjAwKTsKLSAgICAgICAgZWxzZSB7Ci0gICAg
ICAgICAgICB0ZXN0RmFpbGVkKCJUaGUgcmVmZXJyZXIgaXMgbm90IGRvd25ncmFkZWQ6ICIgKyBk
b2N1bWVudC5yZWZlcnJlcik7Ci0gICAgICAgICAgICBzZXRFbmFibGVGZWF0dXJlKGZhbHNlLCBm
aW5pc2hKU1Rlc3QpOwotICAgICAgICB9Ci0gICAgfQotCi0gICAgZnVuY3Rpb24gbmF2aWdhdGVT
YW1lT3JpZ2luVG9BZGRRdWVyeSgpIHsKLSAgICAgICAgZG9jdW1lbnQubG9jYXRpb24uaHJlZiA9
IHByZXZhbGVudFJlc291cmNlT3JpZ2luICsgIi9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2Rvd25n
cmFkZWQtcmVmZXJyZXItZm9yLW5hdmlnYXRpb24td2l0aC1saW5rLXF1ZXJ5LWZyb20tcHJldmFs
ZW50LXJlc291cmNlLWRhdGFiYXNlLmh0bWw/bGluaz1xdWVyeSI7Ci0gICAgfQotCi0gICAgZnVu
Y3Rpb24gbmF2aWdhdGVDcm9zc09yaWdpbigpIHsKLSAgICAgICAgZG9jdW1lbnQubG9jYXRpb24u
aHJlZiA9IGRlc3RpbmF0aW9uT3JpZ2luICsgIi9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2Rvd25n
cmFkZWQtcmVmZXJyZXItZm9yLW5hdmlnYXRpb24td2l0aC1saW5rLXF1ZXJ5LWZyb20tcHJldmFs
ZW50LXJlc291cmNlLWRhdGFiYXNlLmh0bWwiOwotICAgIH0KLQotICAgIGNvbnN0IGRlc3RpbmF0
aW9uT3JpZ2luID0gImh0dHA6Ly9sb2NhbGhvc3Q6ODAwMCI7Ci0gICAgY29uc3QgcHJldmFsZW50
UmVzb3VyY2VPcmlnaW4gPSAiaHR0cDovLzEyNy4wLjAuMTo4MDAwIjsKLSAgICBmdW5jdGlvbiBy
dW5UZXN0KCkgewotICAgICAgICBpZiAoZG9jdW1lbnQubG9jYXRpb24ub3JpZ2luID09PSBwcmV2
YWxlbnRSZXNvdXJjZU9yaWdpbiAmJiBkb2N1bWVudC5sb2NhdGlvbi5zZWFyY2ggPT09ICIiKSB7
Ci0gICAgICAgICAgICBuYXZpZ2F0ZVNhbWVPcmlnaW5Ub0FkZFF1ZXJ5KCk7Ci0gICAgICAgIH0g
ZWxzZSBpZiAoZG9jdW1lbnQubG9jYXRpb24ub3JpZ2luID09PSBwcmV2YWxlbnRSZXNvdXJjZU9y
aWdpbikgewotICAgICAgICAgICAgdGVzdFJ1bm5lci5zZXRVc2VJVFBEYXRhYmFzZSh0cnVlKTsK
LSAgICAgICAgICAgIHNldEVuYWJsZUZlYXR1cmUodHJ1ZSwgZnVuY3Rpb24gKCkgewotICAgICAg
ICAgICAgICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc1ByZXZhbGVudFJlc291cmNlKHByZXZh
bGVudFJlc291cmNlT3JpZ2luLCB0cnVlLCBmdW5jdGlvbigpIHsKLSAgICAgICAgICAgICAgICAg
ICAgaWYgKCF0ZXN0UnVubmVyLmlzU3RhdGlzdGljc1ByZXZhbGVudFJlc291cmNlKHByZXZhbGVu
dFJlc291cmNlT3JpZ2luKSkKLSAgICAgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoIkhv
c3QgZGlkIG5vdCBnZXQgc2V0IGFzIHByZXZhbGVudCByZXNvdXJjZS4iKTsKLSAgICAgICAgICAg
ICAgICAgICAgdGVzdFJ1bm5lci5zdGF0aXN0aWNzVXBkYXRlQ29va2llQmxvY2tpbmcobmF2aWdh
dGVDcm9zc09yaWdpbik7Ci0gICAgICAgICAgICAgICAgfSk7Ci0gICAgICAgICAgICB9KTsKLSAg
ICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAgIHRlc3RSZWZlcnJlcigpOwotICAgICAgICB9Ci0g
ICAgfQotPC9zY3JpcHQ+Ci08L2JvZHk+Ci08L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvZW5hYmxlLWRlYnVnLW1vZGUtZGF0
YWJhc2UtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRT
dGF0aXN0aWNzL2VuYWJsZS1kZWJ1Zy1tb2RlLWRhdGFiYXNlLWV4cGVjdGVkLnR4dApkZWxldGVk
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNjUyMTlkZDNiMTFmMmEzNGM0NTc1MzQwZTczOGRhZGNm
YTBjY2ZjYy4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9M
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvZW5hYmxlLWRlYnVn
LW1vZGUtZGF0YWJhc2UtZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEsMTAgKzAsMCBA
QAotVGVzdCBmb3IgZW5hYmxpbmcgZGVidWcgbW9kZSBhbmQgdGhhdCBpdCBwZXJtYW5lbnRseSB0
cmVhdHMgM3JkcGFydHl0ZXN0d2Via2l0Lm9yZyBhcyBhIHByZXZhbGVudCByZXNvdXJjZS4KLQot
T24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9s
bG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgotCi0KLVBBU1MgaHR0cDovLzNyZHBhcnR5dGVzdHdl
YmtpdC5vcmcgZ290IHNldCBhcyBwcmV2YWxlbnQgcmVzb3VyY2UgaW4gZGVidWcgbW9kZS4KLVBB
U1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKLQotVEVTVCBDT01QTEVURQotCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvZW5hYmxl
LWRlYnVnLW1vZGUtZGF0YWJhc2UuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3Vy
Y2VMb2FkU3RhdGlzdGljcy9lbmFibGUtZGVidWctbW9kZS1kYXRhYmFzZS5odG1sCmRlbGV0ZWQg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCA2MzdmZjkyMjU2N2Y5YTQ3MjgyNzNkZmE0NzMyNjM3YTQ4
NWNiOWY1Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xh
eW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9lbmFibGUtZGVidWct
bW9kZS1kYXRhYmFzZS5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsMzQgKzAsMCBAQAotPCFET0NU
WVBFIGh0bWw+Ci08aHRtbCBsYW5nPSJlbiI+Ci08aGVhZD4KLSAgICA8bWV0YSBjaGFyc2V0PSJV
VEYtOCI+Ci0gICAgPHNjcmlwdCBzcmM9Ii9qcy10ZXN0LXJlc291cmNlcy9qcy10ZXN0LmpzIj48
L3NjcmlwdD4KLSAgICA8c2NyaXB0IHNyYz0icmVzb3VyY2VzL3V0aWwuanMiPjwvc2NyaXB0Pgot
PC9oZWFkPgotPGJvZHk+Ci08c2NyaXB0PgotICAgIGRlc2NyaXB0aW9uKCJUZXN0IGZvciBlbmFi
bGluZyBkZWJ1ZyBtb2RlIGFuZCB0aGF0IGl0IHBlcm1hbmVudGx5IHRyZWF0cyAzcmRwYXJ0eXRl
c3R3ZWJraXQub3JnIGFzIGEgcHJldmFsZW50IHJlc291cmNlLiIpOwotICAgIGpzVGVzdElzQXN5
bmMgPSB0cnVlOwotCi0gICAgY29uc3QgdGhpcmRQYXJ0eU9yaWdpbiA9ICJodHRwOi8vM3JkcGFy
dHl0ZXN0d2Via2l0Lm9yZyI7Ci0KLSAgICBpZiAod2luZG93LnRlc3RSdW5uZXIgJiYgd2luZG93
LmludGVybmFscykgewotICAgICAgICB0ZXN0UnVubmVyLnNldFVzZUlUUERhdGFiYXNlKHRydWUp
OwotICAgICAgICBzZXRFbmFibGVGZWF0dXJlKHRydWUsIGZ1bmN0aW9uKCkgewotICAgICAgICAg
ICAgaWYgKHRlc3RSdW5uZXIuaXNTdGF0aXN0aWNzUHJldmFsZW50UmVzb3VyY2UodGhpcmRQYXJ0
eU9yaWdpbikpCi0gICAgICAgICAgICAgICAgdGVzdEZhaWxlZCh0aGlyZFBhcnR5T3JpZ2luICsg
IiBhbHJlYWR5IHNldCBhcyBwcmV2YWxlbnQgcmVzb3VyY2UuIik7Ci0KLSAgICAgICAgICAgIHRl
c3RSdW5uZXIuc2V0U3RhdGlzdGljc0RlYnVnTW9kZSh0cnVlLCBmdW5jdGlvbigpIHsKLSAgICAg
ICAgICAgICAgICBpZiAoIXRlc3RSdW5uZXIuaXNTdGF0aXN0aWNzUHJldmFsZW50UmVzb3VyY2Uo
dGhpcmRQYXJ0eU9yaWdpbikpCi0gICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQodGhpcmRQ
YXJ0eU9yaWdpbiArICIgZGlkbid0IGdldCBzZXQgYXMgcHJldmFsZW50IHJlc291cmNlLiIpOwot
ICAgICAgICAgICAgICAgIGVsc2UKLSAgICAgICAgICAgICAgICAgICAgdGVzdFBhc3NlZCh0aGly
ZFBhcnR5T3JpZ2luICsgIiBnb3Qgc2V0IGFzIHByZXZhbGVudCByZXNvdXJjZSBpbiBkZWJ1ZyBt
b2RlLiIpOwotICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc0RlYnVnTW9k
ZShmYWxzZSwgZnVuY3Rpb24oKSB7Ci0gICAgICAgICAgICAgICAgICAgIHNldEVuYWJsZUZlYXR1
cmUoZmFsc2UsIGZpbmlzaEpTVGVzdCk7Ci0gICAgICAgICAgICAgICAgfSk7Ci0gICAgICAgICAg
ICB9KTsKLSAgICAgICAgfSk7Ci0gICAgfQotPC9zY3JpcHQ+Ci08L2JvZHk+Ci08L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3Mv
ZW5mb3JjZS1zYW1lc2l0ZS1zdHJpY3QtYmFzZWQtb24tdG9wLWZyYW1lLXVuaXF1ZS1yZWRpcmVj
dHMtdG8tZGF0YWJhc2UtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNv
dXJjZUxvYWRTdGF0aXN0aWNzL2VuZm9yY2Utc2FtZXNpdGUtc3RyaWN0LWJhc2VkLW9uLXRvcC1m
cmFtZS11bmlxdWUtcmVkaXJlY3RzLXRvLWRhdGFiYXNlLWV4cGVjdGVkLnR4dApkZWxldGVkIGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggYTAwYjE4NTNhZDM1MTczMzZiODdjN2M0MzAzZjAyN2U0MDI3
YWVkNy4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvZW5mb3JjZS1zYW1lc2l0
ZS1zdHJpY3QtYmFzZWQtb24tdG9wLWZyYW1lLXVuaXF1ZS1yZWRpcmVjdHMtdG8tZGF0YWJhc2Ut
ZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEsMTIgKzAsMCBAQAotVGVzdHMgZm9yIFNh
bWVTaXRlPXN0cmljdCBlbmZvcmNlbWVudCBiYXNlZCBvbiB0b3AgZnJhbWUgdW5pcXVlIHJlZGly
ZWN0cyB0by4KLQotT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBt
ZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgotCi0KLVBBU1MgQ29va2llIHdh
cyBub3QgU2FtZVNpdGU9c3RyaWN0IGJlZm9yZSB0ZXN0LgotUEFTUyBDb29raWUgd2FzIFNhbWVT
aXRlPXN0cmljdCBhZnRlciBmaXJzdCB0ZXN0LgotUEFTUyBDb29raWUgd2FzIG5vdCBTYW1lU2l0
ZT1zdHJpY3QgYWZ0ZXIgc2Vjb25kIHRlc3QuCi1QQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0
cnVlCi0KLVRFU1QgQ09NUExFVEUKLQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0
cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2VuZm9yY2Utc2FtZXNpdGUtc3RyaWN0LWJhc2VkLW9u
LXRvcC1mcmFtZS11bmlxdWUtcmVkaXJlY3RzLXRvLWRhdGFiYXNlLmh0bWwgYi9MYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvZW5mb3JjZS1zYW1lc2l0ZS1zdHJp
Y3QtYmFzZWQtb24tdG9wLWZyYW1lLXVuaXF1ZS1yZWRpcmVjdHMtdG8tZGF0YWJhc2UuaHRtbApk
ZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZDBhMzMyMzIwN2RlOTlhNjQwYTQwMDlkYjUw
MDcwOWNmOTc0NjcyNS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAot
LS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvZW5mb3Jj
ZS1zYW1lc2l0ZS1zdHJpY3QtYmFzZWQtb24tdG9wLWZyYW1lLXVuaXF1ZS1yZWRpcmVjdHMtdG8t
ZGF0YWJhc2UuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDk4ICswLDAgQEAKLTwhRE9DVFlQRSBo
dG1sPgotPGh0bWwgbGFuZz0iZW4iPgotPGhlYWQ+Ci0gICAgPG1ldGEgY2hhcnNldD0iVVRGLTgi
PgotICAgIDxzY3JpcHQgc3JjPSIvanMtdGVzdC1yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3Jp
cHQ+Ci0gICAgPHNjcmlwdCBzcmM9InJlc291cmNlcy91dGlsLmpzIj48L3NjcmlwdD4KLTwvaGVh
ZD4KLTxib2R5PgotPHNjcmlwdD4KLSAgICBkZXNjcmlwdGlvbigiVGVzdHMgZm9yIFNhbWVTaXRl
PXN0cmljdCBlbmZvcmNlbWVudCBiYXNlZCBvbiB0b3AgZnJhbWUgdW5pcXVlIHJlZGlyZWN0cyB0
by4iKTsKLSAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKLQotICAgIGNvbnN0IGhvc3RVbmRlclRl
c3QgPSAiMTI3LjAuMC4xOjgwMDAiOwotICAgIGNvbnN0IHN0YXRpc3RpY3NVcmwgPSAiaHR0cDov
LyIgKyBob3N0VW5kZXJUZXN0ICsgIi90ZW1wIjsKLSAgICBmdW5jdGlvbiBzZXRNdWx0aXBsZVRv
cEZyYW1lVW5pcXVlUmVkaXJlY3RUbyhyZWRpcmVjdGluZ1BhcnR5KSB7Ci0gICAgICAgIHRlc3RS
dW5uZXIuc2V0U3RhdGlzdGljc1RvcEZyYW1lVW5pcXVlUmVkaXJlY3RUbyhyZWRpcmVjdGluZ1Bh
cnR5LCAiaHR0cDovLzEyNy4wLjAuMjo4MDAwL3RlbXAiKTsKLSAgICAgICAgdGVzdFJ1bm5lci5z
ZXRTdGF0aXN0aWNzVG9wRnJhbWVVbmlxdWVSZWRpcmVjdFRvKHJlZGlyZWN0aW5nUGFydHksICJo
dHRwOi8vMTI3LjAuMC4zOjgwMDAvdGVtcCIpOwotICAgICAgICB0ZXN0UnVubmVyLnNldFN0YXRp
c3RpY3NUb3BGcmFtZVVuaXF1ZVJlZGlyZWN0VG8ocmVkaXJlY3RpbmdQYXJ0eSwgImh0dHA6Ly8x
MjcuMC4wLjQ6ODAwMC90ZW1wIik7Ci0gICAgICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc1Rv
cEZyYW1lVW5pcXVlUmVkaXJlY3RUbyhyZWRpcmVjdGluZ1BhcnR5LCAiaHR0cDovLzEyNy4wLjAu
NTo4MDAwL3RlbXAiKTsKLSAgICAgICAgdGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNzVG9wRnJhbWVV
bmlxdWVSZWRpcmVjdFRvKHJlZGlyZWN0aW5nUGFydHksICJodHRwOi8vMTI3LjAuMC42OjgwMDAv
dGVtcCIpOwotICAgICAgICB0ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NUb3BGcmFtZVVuaXF1ZVJl
ZGlyZWN0VG8ocmVkaXJlY3RpbmdQYXJ0eSwgImh0dHA6Ly8xMjcuMC4wLjc6ODAwMC90ZW1wIik7
Ci0gICAgICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc1RvcEZyYW1lVW5pcXVlUmVkaXJlY3RU
byhyZWRpcmVjdGluZ1BhcnR5LCAiaHR0cDovLzEyNy4wLjAuODo4MDAwL3RlbXAiKTsKLSAgICAg
ICAgdGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNzVG9wRnJhbWVVbmlxdWVSZWRpcmVjdFRvKHJlZGly
ZWN0aW5nUGFydHksICJodHRwOi8vMTI3LjAuMC45OjgwMDAvdGVtcCIpOwotICAgICAgICB0ZXN0
UnVubmVyLnNldFN0YXRpc3RpY3NUb3BGcmFtZVVuaXF1ZVJlZGlyZWN0VG8ocmVkaXJlY3RpbmdQ
YXJ0eSwgImh0dHA6Ly8xMjcuMC4wLjEwOjgwMDAvdGVtcCIpOwotICAgICAgICB0ZXN0UnVubmVy
LnNldFN0YXRpc3RpY3NUb3BGcmFtZVVuaXF1ZVJlZGlyZWN0VG8ocmVkaXJlY3RpbmdQYXJ0eSwg
Imh0dHA6Ly8xMjcuMC4wLjExOjgwMDAvdGVtcCIpOwotICAgICAgICB0ZXN0UnVubmVyLnNldFN0
YXRpc3RpY3NUb3BGcmFtZVVuaXF1ZVJlZGlyZWN0VG8ocmVkaXJlY3RpbmdQYXJ0eSwgImh0dHA6
Ly8xMjcuMC4wLjEyOjgwMDAvdGVtcCIpOwotICAgIH0KLQotICAgIGZ1bmN0aW9uIGNvbXBsZXRl
VGVzdCgpIHsKLSAgICAgICAgbGV0IGNvb2tpZXMgPSBpbnRlcm5hbHMuZ2V0Q29va2llcygpOwot
ICAgICAgICBpZiAoY29va2llcy5sZW5ndGggIT09IDEpIHsKLSAgICAgICAgICAgIHRlc3RGYWls
ZWQoIlNob3VsZCBoYXZlIGV4YWN0bHkgb25lIGNvb2tpZSBiZWZvcmUgdGVzdCBidXQgZm91bmQg
IiArIGNvb2tpZXMubGVuZ3RoICsgIiBjb29raWVzLiIpOwotICAgICAgICAgICAgc2V0RW5hYmxl
RmVhdHVyZShmYWxzZSwgZmluaXNoSlNUZXN0KTsKLSAgICAgICAgICAgIHJldHVybjsKLSAgICAg
ICAgfQotCi0gICAgICAgIGlmIChjb29raWVzWzBdLmlzU2FtZVNpdGVTdHJpY3QpCi0gICAgICAg
ICAgICB0ZXN0RmFpbGVkKCJDb29raWUgd2FzIFNhbWVTaXRlPXN0cmljdCBhZnRlciBzZWNvbmQg
dGVzdC4iKTsKLSAgICAgICAgZWxzZQotICAgICAgICAgICAgdGVzdFBhc3NlZCgiQ29va2llIHdh
cyBub3QgU2FtZVNpdGU9c3RyaWN0IGFmdGVyIHNlY29uZCB0ZXN0LiIpOwotCi0gICAgICAgIHNl
dEVuYWJsZUZlYXR1cmUoZmFsc2UsIGZpbmlzaEpTVGVzdCk7Ci0gICAgfQotCi0gICAgZnVuY3Rp
b24gc2Vjb25kU3RlcCgpIHsKLSAgICAgICAgbGV0IGNvb2tpZXMgPSBpbnRlcm5hbHMuZ2V0Q29v
a2llcygpOwotICAgICAgICBpZiAoY29va2llcy5sZW5ndGggIT09IDEpIHsKLSAgICAgICAgICAg
IHRlc3RGYWlsZWQoIlNob3VsZCBoYXZlIGV4YWN0bHkgb25lIGNvb2tpZSBiZWZvcmUgdGVzdCBi
dXQgZm91bmQgIiArIGNvb2tpZXMubGVuZ3RoICsgIiBjb29raWVzLiIpOwotICAgICAgICAgICAg
ZmluaXNoSlNUZXN0KCk7Ci0gICAgICAgICAgICByZXR1cm47Ci0gICAgICAgIH0KLQotICAgICAg
ICBpZiAoY29va2llc1swXS5pc1NhbWVTaXRlU3RyaWN0KQotICAgICAgICAgICAgdGVzdFBhc3Nl
ZCgiQ29va2llIHdhcyBTYW1lU2l0ZT1zdHJpY3QgYWZ0ZXIgZmlyc3QgdGVzdC4iKTsKLSAgICAg
ICAgZWxzZQotICAgICAgICAgICAgdGVzdEZhaWxlZCgiQ29va2llIHdhcyBub3QgU2FtZVNpdGU9
c3RyaWN0IGFmdGVyIGZpcnN0IHRlc3QuIik7Ci0KLSAgICAgICAgLy8gU2V0IHRoZSBjb29raWUg
YWdhaW4gdG8gcmVzZXQgaXRzIFNhbWVTaXRlIHN0YXR1cy4KLSAgICAgICAgZG9jdW1lbnQuY29v
a2llID0gImNsaWVudFNpZGVDb29raWU9MSI7Ci0KLSAgICAgICAgdGVzdFJ1bm5lci5pbnN0YWxs
U3RhdGlzdGljc0RpZFNjYW5EYXRhUmVjb3Jkc0NhbGxiYWNrKGNvbXBsZXRlVGVzdCk7Ci0KLSAg
ICAgICAgdGVzdFJ1bm5lci5zdGF0aXN0aWNzUHJvY2Vzc1N0YXRpc3RpY3NBbmREYXRhUmVjb3Jk
cygpOwotICAgIH0KLQotICAgIGZ1bmN0aW9uIHJ1blRlc3QoKSB7Ci0gICAgICAgIGRvY3VtZW50
LmNvb2tpZSA9ICJjbGllbnRTaWRlQ29va2llPTEiOwotCi0gICAgICAgIHRlc3RSdW5uZXIuc2V0
U3RhdGlzdGljc0hhc0hhZFVzZXJJbnRlcmFjdGlvbihzdGF0aXN0aWNzVXJsLCB0cnVlKTsKLQot
ICAgICAgICBsZXQgY29va2llcyA9IGludGVybmFscy5nZXRDb29raWVzKCk7Ci0gICAgICAgIGlm
IChjb29raWVzLmxlbmd0aCAhPT0gMSkgewotICAgICAgICAgICAgdGVzdEZhaWxlZCgiU2hvdWxk
IGhhdmUgZXhhY3RseSBvbmUgY29va2llIGJlZm9yZSB0ZXN0IGJ1dCBmb3VuZCAiICsgY29va2ll
cy5sZW5ndGggKyAiIGNvb2tpZXMuIik7Ci0gICAgICAgICAgICBzZXRFbmFibGVGZWF0dXJlKGZh
bHNlLCBmaW5pc2hKU1Rlc3QpOwotICAgICAgICAgICAgcmV0dXJuOwotICAgICAgICB9Ci0KLSAg
ICAgICAgaWYgKGNvb2tpZXNbMF0uaXNTYW1lU2l0ZVN0cmljdCkKLSAgICAgICAgICAgIHRlc3RG
YWlsZWQoIkNvb2tpZSB3YXMgU2FtZVNpdGU9c3RyaWN0IGJlZm9yZSB0ZXN0LiIpOwotICAgICAg
ICBlbHNlCi0gICAgICAgICAgICB0ZXN0UGFzc2VkKCJDb29raWUgd2FzIG5vdCBTYW1lU2l0ZT1z
dHJpY3QgYmVmb3JlIHRlc3QuIik7Ci0KLSAgICAgICAgc2V0TXVsdGlwbGVUb3BGcmFtZVVuaXF1
ZVJlZGlyZWN0VG8oc3RhdGlzdGljc1VybCk7Ci0KLSAgICAgICAgdGVzdFJ1bm5lci5pbnN0YWxs
U3RhdGlzdGljc0RpZFNjYW5EYXRhUmVjb3Jkc0NhbGxiYWNrKHNlY29uZFN0ZXApOwotCi0gICAg
ICAgIHRlc3RSdW5uZXIuc3RhdGlzdGljc1Byb2Nlc3NTdGF0aXN0aWNzQW5kRGF0YVJlY29yZHMo
KTsKLSAgICB9Ci0KLSAgICBpZiAoZG9jdW1lbnQubG9jYXRpb24uaG9zdCA9PT0gaG9zdFVuZGVy
VGVzdCAmJiB3aW5kb3cudGVzdFJ1bm5lciAmJiB3aW5kb3cuaW50ZXJuYWxzKSB7Ci0gICAgICAg
IHRlc3RSdW5uZXIuc2V0VXNlSVRQRGF0YWJhc2UodHJ1ZSk7Ci0gICAgICAgIHNldEVuYWJsZUZl
YXR1cmUodHJ1ZSwgZnVuY3Rpb24oKSB7Ci0gICAgICAgICAgICBydW5UZXN0KCk7Ci0gICAgICAg
IH0pOwotICAgIH0KLTwvc2NyaXB0PgotPC9ib2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2V4ZW1wdERvbWFpbnMv
YXBwLWJvdW5kLWRvbWFpbnMtZXhlbXB0LWZyb20td2Vic2l0ZS1kYXRhLWRlbGV0aW9uLWRhdGFi
YXNlLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3Mv
ZXhlbXB0RG9tYWlucy9hcHAtYm91bmQtZG9tYWlucy1leGVtcHQtZnJvbS13ZWJzaXRlLWRhdGEt
ZGVsZXRpb24tZGF0YWJhc2UuaHRtbAppbmRleCBlNGU2NzFiMGI4MzNhMGU1YmEyZGE2ODA5NGIz
Y2YwNTNlZDIwMWM0Li5hOTA0Nzk1ZWFkNmE5NjUxM2Y2MjMxNTNiMzVmYjY4NTMyNmZiNzEzIDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3Mv
ZXhlbXB0RG9tYWlucy9hcHAtYm91bmQtZG9tYWlucy1leGVtcHQtZnJvbS13ZWJzaXRlLWRhdGEt
ZGVsZXRpb24tZGF0YWJhc2UuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291
cmNlTG9hZFN0YXRpc3RpY3MvZXhlbXB0RG9tYWlucy9hcHAtYm91bmQtZG9tYWlucy1leGVtcHQt
ZnJvbS13ZWJzaXRlLWRhdGEtZGVsZXRpb24tZGF0YWJhc2UuaHRtbApAQCAtMTIsNyArMTIsNiBA
QAogPHNjcmlwdD4KICAgICB0ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTsKICAgICB0ZXN0UnVu
bmVyLmR1bXBBc1RleHQoKTsKLSAgICB0ZXN0UnVubmVyLnNldFVzZUlUUERhdGFiYXNlKHRydWUp
OwogCiAgICAgY29uc3QgaHR0cE9ubHlDb29raWVOYW1lID0gImh0dHAtb25seS1jb29raWUiOwog
ICAgIGNvbnN0IHNlcnZlclNpZGVDb29raWVOYW1lID0gInNlcnZlci1zaWRlLWNvb2tpZSI7CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3Mv
Z3JhbmRmYXRoZXJpbmctZGF0YWJhc2UtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC90
ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2dyYW5kZmF0aGVyaW5nLWRhdGFiYXNlLWV4cGVj
dGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDE4MDNiZmNiNTNiMTQwNDlk
NWUxZGFhZTViMjViNjI3ZmFjZTVhNS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3Rp
Y3MvZ3JhbmRmYXRoZXJpbmctZGF0YWJhc2UtZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAg
LTEsNSArMCwwIEBACi1QQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCi0KLVRFU1QgQ09N
UExFVEUKLVBBU1MgR3JhbmRmYXRoZXJlZCBjb29raWUgd2FzIG5vdCBwdXJnZWQuCi0KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9ncmFu
ZGZhdGhlcmluZy1kYXRhYmFzZS5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJj
ZUxvYWRTdGF0aXN0aWNzL2dyYW5kZmF0aGVyaW5nLWRhdGFiYXNlLmh0bWwKZGVsZXRlZCBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDBiNjgwODhkN2MxYWIwMmU3YjEzZjI1NmUzYWJlMjgyYjBmODJm
YzYuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2dyYW5kZmF0aGVyaW5nLWRh
dGFiYXNlLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSwxMTUgKzAsMCBAQAotPCFET0NUWVBFIGh0
bWw+Ci08aHRtbCBsYW5nPSJlbiI+Ci08aGVhZD4KLSAgICA8bWV0YSBjaGFyc2V0PSJVVEYtOCI+
Ci0gICAgPHRpdGxlPlRlc3QgZm9yIEdyYW5kZmF0aGVyaW5nPC90aXRsZT4KLSAgICA8c2NyaXB0
IHNyYz0iL2pzLXRlc3QtcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgotICAgIDxzY3Jp
cHQgc3JjPSJyZXNvdXJjZXMvdXRpbC5qcyI+PC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keT4KLTxz
Y3JpcHQ+Ci0gICAgY29uc3QgZmlyc3RQYXJ0eU9yaWdpbiA9ICJodHRwOi8vbG9jYWxob3N0Ojgw
MDAiOwotICAgIGNvbnN0IGZpcnN0UGFydHlCYXNlVXJsID0gZmlyc3RQYXJ0eU9yaWdpbiArICIv
cmVzb3VyY2VMb2FkU3RhdGlzdGljcy9yZXNvdXJjZXMiOwotICAgIGNvbnN0IGZpcnN0UGFydHlD
b29raWVOYW1lID0gImZpcnN0UGFydHlDb29raWUiOwotICAgIGNvbnN0IHRoaXJkUGFydHlDb29r
aWVOYW1lID0gInRoaXJkUGFydHlDb29raWUiOwotICAgIGNvbnN0IGNvb2tpZVZhbHVlID0gInZh
bHVlIjsKLSAgICBjb25zdCBzdWJQYXRoVG9TZXRGaXJzdFBhcnR5Q29va2llID0gIi9zZXQtY29v
a2llLnBocD9uYW1lPSIgKyBmaXJzdFBhcnR5Q29va2llTmFtZSArICImdmFsdWU9IiArIGNvb2tp
ZVZhbHVlOwotICAgIGNvbnN0IHJldHVyblVybCA9IGZpcnN0UGFydHlPcmlnaW4gKyAiL3Jlc291
cmNlTG9hZFN0YXRpc3RpY3MvZ3JhbmRmYXRoZXJpbmctZGF0YWJhc2UuaHRtbCI7Ci0gICAgY29u
c3QgdGhpcmRQYXJ0eU9yaWdpbiA9ICJodHRwOi8vMTI3LjAuMC4xOjgwMDAiOwotICAgIGNvbnN0
IHRoaXJkUGFydHlCYXNlVXJsID0gdGhpcmRQYXJ0eU9yaWdpbiArICIvcmVzb3VyY2VMb2FkU3Rh
dGlzdGljcy9yZXNvdXJjZXMiOwotICAgIGNvbnN0IHN1YlBhdGhUb1NldFRoaXJkUGFydHlDb29r
aWUgPSAiL3NldC1jb29raWUucGhwP25hbWU9IiArIHRoaXJkUGFydHlDb29raWVOYW1lICsgIiZ2
YWx1ZT0iICsgY29va2llVmFsdWU7Ci0KLSAgICBmdW5jdGlvbiBmaW5pc2hUZXN0KCkgewotICAg
ICAgICBzZXRFbmFibGVGZWF0dXJlKGZhbHNlLCBmdW5jdGlvbigpIHsKLSAgICAgICAgICAgIHRl
c3RSdW5uZXIubm90aWZ5RG9uZSgpOwotICAgICAgICB9KTsKLSAgICB9Ci0KLSAgICBmdW5jdGlv
biBmaXJlRGF0YU1vZGlmaWNhdGlvbkhhbmRsZXJBbmRDb250aW51ZSgpIHsKLSAgICAgICAgdGVz
dFJ1bm5lci5pbnN0YWxsU3RhdGlzdGljc0RpZFNjYW5EYXRhUmVjb3Jkc0NhbGxiYWNrKGZ1bmN0
aW9uKCkgewotICAgICAgICAgICAgcnVuVGVzdCgpOwotICAgICAgICB9KTsKLSAgICAgICAgdGVz
dFJ1bm5lci5zdGF0aXN0aWNzUHJvY2Vzc1N0YXRpc3RpY3NBbmREYXRhUmVjb3JkcygpOwotICAg
IH0KLQotICAgIGZ1bmN0aW9uIGNsZWFySW5NZW1vcnlBbmRQZXJzaXN0ZW50U3RvcmVBbmRDb250
aW51ZSgpIHsKLSAgICAgICAgdGVzdFJ1bm5lci5zdGF0aXN0aWNzQ2xlYXJJbk1lbW9yeUFuZFBl
cnNpc3RlbnRTdG9yZShmdW5jdGlvbigpIHsKLSAgICAgICAgICAgIHJ1blRlc3QoKTsKLSAgICAg
ICAgfSk7Ci0gICAgfQotCi0gICAgZnVuY3Rpb24gcnVuVGVzdCgpIHsKLSAgICAgICAgc3dpdGNo
IChkb2N1bWVudC5sb2NhdGlvbi5oYXNoKSB7Ci0gICAgICAgICAgICBjYXNlICIjc3RlcDEiOgot
ICAgICAgICAgICAgICAgIC8vIFNldCBhIGZpcnN0LXBhcnR5IGNvb2tpZSBmb3IgbG9jYWxob3N0
LgotICAgICAgICAgICAgICAgIGRvY3VtZW50LmxvY2F0aW9uLmhyZWYgPSBmaXJzdFBhcnR5QmFz
ZVVybCArIHN1YlBhdGhUb1NldEZpcnN0UGFydHlDb29raWUgKyAiIyIgKyByZXR1cm5VcmwgKyAi
I3N0ZXAyIjsKLSAgICAgICAgICAgICAgICBicmVhazsKLSAgICAgICAgICAgIGNhc2UgIiNzdGVw
MiI6Ci0gICAgICAgICAgICAgICAgZG9jdW1lbnQubG9jYXRpb24uaGFzaCA9ICJzdGVwMyI7Ci0g
ICAgICAgICAgICAgICAgLy8gQ2hlY2sgdGhhdCBsb2NhbGhvc3QncyBjb29raWUgaXMgdGhlcmUu
Ci0gICAgICAgICAgICAgICAgaWYgKGRvY3VtZW50LmNvb2tpZSAhPT0gZmlyc3RQYXJ0eUNvb2tp
ZU5hbWUgKyAiPSIgKyBjb29raWVWYWx1ZSkKLSAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxl
ZCgiRmlyc3QtcGFydHkgY29va2llIG5vdCBzZXQuIik7Ci0gICAgICAgICAgICAgICAgcnVuVGVz
dCgpOwotICAgICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICAgICAgY2FzZSAiI3N0ZXAzIjoK
LSAgICAgICAgICAgICAgICBkb2N1bWVudC5sb2NhdGlvbi5oYXNoID0gInN0ZXA0IjsKLSAgICAg
ICAgICAgICAgICAvLyBDbGVhciBzdG9yZSB0byB0cmlnZ2VyIGdyYW5kZmF0aGVyaW5nLgotICAg
ICAgICAgICAgICAgIGNsZWFySW5NZW1vcnlBbmRQZXJzaXN0ZW50U3RvcmVBbmRDb250aW51ZSgp
OwotICAgICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICAgICAgY2FzZSAiI3N0ZXA0IjoKLSAg
ICAgICAgICAgICAgICBkb2N1bWVudC5sb2NhdGlvbi5oYXNoID0gInN0ZXA1IjsKLSAgICAgICAg
ICAgICAgICAvLyBTZXQgbG9jYWxob3N0IGFzIHByZXZhbGVudCByZXNvdXJjZS4KLSAgICAgICAg
ICAgICAgICB0ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NQcmV2YWxlbnRSZXNvdXJjZSgiaHR0cDov
L2xvY2FsaG9zdCIsIHRydWUsIGZ1bmN0aW9uKCkgewotICAgICAgICAgICAgICAgICAgICBpZiAo
IXRlc3RSdW5uZXIuaXNTdGF0aXN0aWNzUHJldmFsZW50UmVzb3VyY2UoImh0dHA6Ly9sb2NhbGhv
c3QiKSkKLSAgICAgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoIkxvY2FsaG9zdCBkaWQg
bm90IGdldCBzZXQgYXMgcHJldmFsZW50IHJlc291cmNlLiIpOwotICAgICAgICAgICAgICAgICAg
ICBydW5UZXN0KCk7Ci0gICAgICAgICAgICAgICAgfSk7Ci0gICAgICAgICAgICAgICAgYnJlYWs7
Ci0gICAgICAgICAgICBjYXNlICIjc3RlcDUiOgotICAgICAgICAgICAgICAgIC8vIFNldCBhIGZp
cnN0LXBhcnR5IGNvb2tpZSBmb3IgMTI3LjAuMC4xLgotICAgICAgICAgICAgICAgIGRvY3VtZW50
LmxvY2F0aW9uLmhyZWYgPSB0aGlyZFBhcnR5QmFzZVVybCArIHN1YlBhdGhUb1NldFRoaXJkUGFy
dHlDb29raWUgKyAiIyIgKyByZXR1cm5VcmwgKyAiI3N0ZXA2IjsKLSAgICAgICAgICAgICAgICBi
cmVhazsKLSAgICAgICAgICAgIGNhc2UgIiNzdGVwNiI6Ci0gICAgICAgICAgICAgICAgZG9jdW1l
bnQubG9jYXRpb24uaGFzaCA9ICJzdGVwNyI7Ci0gICAgICAgICAgICAgICAgLy8gU2V0IDEyNy4w
LjAuMSBhcyBwcmV2YWxlbnQgcmVzb3VyY2UKLSAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLnNl
dFN0YXRpc3RpY3NQcmV2YWxlbnRSZXNvdXJjZSgiaHR0cDovLzEyNy4wLjAuMSIsIHRydWUsIGZ1
bmN0aW9uKCkgewotICAgICAgICAgICAgICAgICAgICBpZiAoIXRlc3RSdW5uZXIuaXNTdGF0aXN0
aWNzUHJldmFsZW50UmVzb3VyY2UoImh0dHA6Ly8xMjcuMC4wLjEiKSkKLSAgICAgICAgICAgICAg
ICAgICAgICAgIHRlc3RGYWlsZWQoIjEyNy4wLjAuMSBkaWQgbm90IGdldCBzZXQgYXMgcHJldmFs
ZW50IHJlc291cmNlLiIpOwotICAgICAgICAgICAgICAgICAgICBydW5UZXN0KCk7Ci0gICAgICAg
ICAgICAgICAgfSk7Ci0gICAgICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgICAgICBjYXNlICIj
c3RlcDciOgotICAgICAgICAgICAgICAgIGRvY3VtZW50LmxvY2F0aW9uLmhhc2ggPSAic3RlcDgi
OwotICAgICAgICAgICAgICAgIC8vIFRyaWdnZXIgYSBwdXJnZS4KLSAgICAgICAgICAgICAgICBm
aXJlRGF0YU1vZGlmaWNhdGlvbkhhbmRsZXJBbmRDb250aW51ZSgpOwotICAgICAgICAgICAgICAg
IGJyZWFrOwotICAgICAgICAgICAgY2FzZSAiI3N0ZXA4IjoKLSAgICAgICAgICAgICAgICAvLyBD
aGVjayB0aGF0IGxvY2FsaG9zdCdzIGNvb2tpZSBpcyBzdGlsbCB0aGVyZS4KLSAgICAgICAgICAg
ICAgICBpZiAoZG9jdW1lbnQuY29va2llICE9PSBmaXJzdFBhcnR5Q29va2llTmFtZSArICI9IiAr
IGNvb2tpZVZhbHVlKQotICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKCJGaXJzdC1wYXJ0
eSBjb29raWUgcHVyZ2VkLiIpOwotICAgICAgICAgICAgICAgIGVsc2UKLSAgICAgICAgICAgICAg
ICAgICAgdGVzdFBhc3NlZCgiR3JhbmRmYXRoZXJlZCBjb29raWUgd2FzIG5vdCBwdXJnZWQuIik7
Ci0gICAgICAgICAgICAgICAgZmluaXNoVGVzdCgpOwotICAgICAgICAgICAgICAgIGJyZWFrOwot
ICAgICAgICAgICAgZGVmYXVsdDoKLSAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKCJTaG91bGQg
bm90IGJlIHJlYWNoZWQuIik7Ci0gICAgICAgICAgICAgICAgZmluaXNoVGVzdCgpOwotICAgICAg
ICB9Ci0gICAgfQotCi0gICAgaWYgKGRvY3VtZW50LmxvY2F0aW9uLmhhc2ggPT09ICIiICYmIHdp
bmRvdy50ZXN0UnVubmVyICYmIHdpbmRvdy5pbnRlcm5hbHMpIHsKLSAgICAgICAgdGVzdFJ1bm5l
ci5zZXRVc2VJVFBEYXRhYmFzZSh0cnVlKTsKLSAgICAgICAgdGVzdFJ1bm5lci53YWl0VW50aWxE
b25lKCk7Ci0gICAgICAgIHNldEVuYWJsZUZlYXR1cmUodHJ1ZSwgZnVuY3Rpb24oKSB7Ci0gICAg
ICAgICAgICB0ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NTaG91bGRDbGFzc2lmeVJlc291cmNlc0Jl
Zm9yZURhdGFSZWNvcmRzUmVtb3ZhbChmYWxzZSk7Ci0gICAgICAgICAgICB0ZXN0UnVubmVyLnNl
dFN0YXRpc3RpY3NNaW5pbXVtVGltZUJldHdlZW5EYXRhUmVjb3Jkc1JlbW92YWwoMCk7Ci0KLSAg
ICAgICAgICAgIHRlc3RSdW5uZXIuZHVtcENoaWxkRnJhbWVzQXNUZXh0KCk7Ci0gICAgICAgICAg
ICBkb2N1bWVudC5sb2NhdGlvbi5oYXNoID0gInN0ZXAxIjsKLSAgICAgICAgICAgIHJ1blRlc3Qo
KTsKLSAgICAgICAgfSk7Ci0gICAgfSBlbHNlCi0gICAgICAgIHJ1blRlc3QoKTsKLTwvc2NyaXB0
PgotPC9ib2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9y
ZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2xlYXZlLWVtcHR5LWRvY3VtZW50LXJlZmVycmVyLWFsb25l
LXRoaXJkLXBhcnR5LWlmcmFtZS5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJj
ZUxvYWRTdGF0aXN0aWNzL2xlYXZlLWVtcHR5LWRvY3VtZW50LXJlZmVycmVyLWFsb25lLXRoaXJk
LXBhcnR5LWlmcmFtZS5odG1sCmluZGV4IDM4NWVhZGE4MTRkNDQzNTU2YTViMDJmN2NmODA4MTYz
MWI2NjU3ODYuLjMzNTNlNzQzYmI3NmY0YWRkOWFjODRmYzIyYzliN2Q4OGFmYTIwODQgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9sZWF2
ZS1lbXB0eS1kb2N1bWVudC1yZWZlcnJlci1hbG9uZS10aGlyZC1wYXJ0eS1pZnJhbWUuaHRtbAor
KysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvbGVhdmUt
ZW1wdHktZG9jdW1lbnQtcmVmZXJyZXItYWxvbmUtdGhpcmQtcGFydHktaWZyYW1lLmh0bWwKQEAg
LTI0LDcgKzI0LDYgQEAKIAogICAgIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CiAgICAgICAgIGlmICh0
ZXN0UnVubmVyKSB7Ci0gICAgICAgICAgICB0ZXN0UnVubmVyLnNldFVzZUlUUERhdGFiYXNlKHRy
dWUpOwogICAgICAgICAgICAgc2V0RW5hYmxlRmVhdHVyZSh0cnVlLCBmdW5jdGlvbigpIHsKICAg
ICAgICAgICAgICAgICBsZXQgaWZyYW1lRWxlbWVudCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQo
ImlmcmFtZSIpOwogICAgICAgICAgICAgICAgIGlmcmFtZUVsZW1lbnQucmVmZXJyZXJQb2xpY3kg
PSAibm8tcmVmZXJyZXIiOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNv
dXJjZUxvYWRTdGF0aXN0aWNzL2xvZy1jcm9zcy1zaXRlLWxvYWQtd2l0aC1saW5rLWRlY29yYXRp
b24tZGF0YWJhc2UtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJj
ZUxvYWRTdGF0aXN0aWNzL2xvZy1jcm9zcy1zaXRlLWxvYWQtd2l0aC1saW5rLWRlY29yYXRpb24t
ZGF0YWJhc2UtZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA2N2Y4
NjViZWUxNzg3OWNiNGQ2OGMwZDU3ZjllYWYzZGYwZjk0ZjA4Li4wMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3Vy
Y2VMb2FkU3RhdGlzdGljcy9sb2ctY3Jvc3Mtc2l0ZS1sb2FkLXdpdGgtbGluay1kZWNvcmF0aW9u
LWRhdGFiYXNlLWV4cGVjdGVkLnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDM1ICswLDAgQEAKLVRl
c3QgbG9nZ2luZyBvZiBsaW5rIGRlY29yYXRlZCBjcm9zcy1zaXRlIG5hdmlnYXRpb25zIGZyb20g
YSBwcmV2YWxlbnQgcmVzb3VyY2UuCi0KLVJlc291cmNlIGxvYWQgc3RhdGlzdGljczoKLQotUmVn
aXN0cmFibGUgZG9tYWluOiAxMjcuMC4wLjEKLSAgICBoYWRVc2VySW50ZXJhY3Rpb246IE5vCi0g
ICAgbW9zdFJlY2VudFVzZXJJbnRlcmFjdGlvbjogLTEKLSAgICBncmFuZGZhdGhlcmVkOiBObwot
ICAgIFRvcEZyYW1lVW5pcXVlUmVkaXJlY3RzVG86Ci0gICAgICAgIGxvY2FsaG9zdAotICAgIElz
U2NoZWR1bGVkRm9yQWxsQnV0Q29va2llRGF0YVJlbW92YWw6IE5vCi0gICAgaXNQcmV2YWxlbnRS
ZXNvdXJjZTogWWVzCi0gICAgaXNWZXJ5UHJldmFsZW50UmVzb3VyY2U6IE5vCi0gICAgZGF0YVJl
Y29yZHNSZW1vdmVkOiAwCi1SZWdpc3RyYWJsZSBkb21haW46IDEyNy4wLjAuMgotICAgIGhhZFVz
ZXJJbnRlcmFjdGlvbjogTm8KLSAgICBtb3N0UmVjZW50VXNlckludGVyYWN0aW9uOiAtMQotICAg
IGdyYW5kZmF0aGVyZWQ6IE5vCi0gICAgSXNTY2hlZHVsZWRGb3JBbGxCdXRDb29raWVEYXRhUmVt
b3ZhbDogTm8KLSAgICBpc1ByZXZhbGVudFJlc291cmNlOiBObwotICAgIGlzVmVyeVByZXZhbGVu
dFJlc291cmNlOiBObwotICAgIGRhdGFSZWNvcmRzUmVtb3ZlZDogMAotUmVnaXN0cmFibGUgZG9t
YWluOiBsb2NhbGhvc3QKLSAgICBoYWRVc2VySW50ZXJhY3Rpb246IE5vCi0gICAgbW9zdFJlY2Vu
dFVzZXJJbnRlcmFjdGlvbjogLTEKLSAgICBncmFuZGZhdGhlcmVkOiBObwotICAgIFRvcEZyYW1l
VW5pcXVlUmVkaXJlY3RzRnJvbToKLSAgICAgICAgMTI3LjAuMC4xCi0gICAgVG9wRnJhbWVMaW5r
RGVjb3JhdGlvbnNGcm9tOgotICAgICAgICAxMjcuMC4wLjEKLSAgICAgICAgMTI3LjAuMC4yCi0g
ICAgSXNTY2hlZHVsZWRGb3JBbGxCdXRDb29raWVEYXRhUmVtb3ZhbDogWWVzCi0gICAgaXNQcmV2
YWxlbnRSZXNvdXJjZTogTm8KLSAgICBpc1ZlcnlQcmV2YWxlbnRSZXNvdXJjZTogTm8KLSAgICBk
YXRhUmVjb3Jkc1JlbW92ZWQ6IDAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMv
cmVzb3VyY2VMb2FkU3RhdGlzdGljcy9sb2ctY3Jvc3Mtc2l0ZS1sb2FkLXdpdGgtbGluay1kZWNv
cmF0aW9uLWRhdGFiYXNlLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9h
ZFN0YXRpc3RpY3MvbG9nLWNyb3NzLXNpdGUtbG9hZC13aXRoLWxpbmstZGVjb3JhdGlvbi1kYXRh
YmFzZS5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBhZDQzYjIwNjQ5N2JkN2Nj
NzgwYzg5NzYyMzk5N2U5MDI4ZjEzMmVkLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlz
dGljcy9sb2ctY3Jvc3Mtc2l0ZS1sb2FkLXdpdGgtbGluay1kZWNvcmF0aW9uLWRhdGFiYXNlLmh0
bWwKKysrIC9kZXYvbnVsbApAQCAtMSw0MyArMCwwIEBACi08IURPQ1RZUEUgaHRtbD4KLTxodG1s
PgotPGhlYWQ+Ci0gICAgPHNjcmlwdCBzcmM9InJlc291cmNlcy91dGlsLmpzIj48L3NjcmlwdD4K
LTwvaGVhZD4KLTxib2R5IG9ubG9hZD0ic2V0VGltZW91dCgncnVuVGVzdCgpJywgMCkiPgotPGRp
diBpZD0iZGVzY3JpcHRpb24iPlRlc3QgbG9nZ2luZyBvZiBsaW5rIGRlY29yYXRlZCBjcm9zcy1z
aXRlIG5hdmlnYXRpb25zIGZyb20gYSBwcmV2YWxlbnQgcmVzb3VyY2UuPC9kaXY+Ci08ZGl2IGlk
PSJvdXRwdXQiPjwvZGl2PgotPHNjcmlwdD4KLSAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpIHsK
LSAgICAgICAgdGVzdFJ1bm5lci5zZXRVc2VJVFBEYXRhYmFzZSh0cnVlKTsKLSAgICAgICAgdGVz
dFJ1bm5lci53YWl0VW50aWxEb25lKCk7Ci0gICAgICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgp
OwotICAgIH0KLQotICAgIGZ1bmN0aW9uIG5hdmlnYXRlQ3Jvc3NPcmlnaW4oKSB7Ci0gICAgICAg
IGRvY3VtZW50LmxvY2F0aW9uLmhyZWYgPSBkZXN0aW5hdGlvbk9yaWdpbiArICIvcmVzb3VyY2VM
b2FkU3RhdGlzdGljcy9sb2ctY3Jvc3Mtc2l0ZS1sb2FkLXdpdGgtbGluay1kZWNvcmF0aW9uLWRh
dGFiYXNlLmh0bWw/bGluaz1kZWNvcmF0aW9uIjsKLSAgICB9Ci0KLSAgICBjb25zdCBkZXN0aW5h
dGlvbk9yaWdpbiA9ICJodHRwOi8vbG9jYWxob3N0OjgwMDAiOwotICAgIGNvbnN0IHByZXZhbGVu
dFJlc291cmNlT3JpZ2luID0gImh0dHA6Ly8xMjcuMC4wLjE6ODAwMCI7Ci0gICAgY29uc3QgdGVz
dE9yaWdpbiA9ICJodHRwOi8vMTI3LjAuMC4yOjgwMDAiOwotICAgIGZ1bmN0aW9uIHJ1blRlc3Qo
KSB7Ci0gICAgICAgIGlmIChkb2N1bWVudC5sb2NhdGlvbi5vcmlnaW4gPT09IHByZXZhbGVudFJl
c291cmNlT3JpZ2luKSB7Ci0gICAgICAgICAgICBzZXRFbmFibGVGZWF0dXJlKHRydWUsIGZ1bmN0
aW9uICgpIHsKLSAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NQcmV2YWxl
bnRSZXNvdXJjZShwcmV2YWxlbnRSZXNvdXJjZU9yaWdpbiwgdHJ1ZSwgZnVuY3Rpb24oKSB7Ci0g
ICAgICAgICAgICAgICAgICAgIGlmICghdGVzdFJ1bm5lci5pc1N0YXRpc3RpY3NQcmV2YWxlbnRS
ZXNvdXJjZShwcmV2YWxlbnRSZXNvdXJjZU9yaWdpbikpCi0gICAgICAgICAgICAgICAgICAgICAg
ICB0ZXN0RmFpbGVkKCJIb3N0IGRpZCBub3QgZ2V0IHNldCBhcyBwcmV2YWxlbnQgcmVzb3VyY2Uu
Iik7Ci0gICAgICAgICAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NDcm9z
c1NpdGVMb2FkV2l0aExpbmtEZWNvcmF0aW9uKHRlc3RPcmlnaW4sIGRlc3RpbmF0aW9uT3JpZ2lu
KTsKLSAgICAgICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5zdGF0aXN0aWNzVXBkYXRlQ29va2ll
QmxvY2tpbmcobmF2aWdhdGVDcm9zc09yaWdpbik7Ci0gICAgICAgICAgICAgICAgfSk7Ci0KLSAg
ICAgICAgICAgIH0pOwotICAgICAgICB9IGVsc2UgewotICAgICAgICAgICAgdGVzdFJ1bm5lci5k
dW1wUmVzb3VyY2VMb2FkU3RhdGlzdGljcygpOwotICAgICAgICAgICAgc2V0RW5hYmxlRmVhdHVy
ZShmYWxzZSwgZnVuY3Rpb24gKCkgewotICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIubm90aWZ5
RG9uZSgpOwotICAgICAgICAgICAgfSk7Ci0gICAgICAgIH0KLSAgICB9Ci08L3NjcmlwdD4KLTwv
Ym9keT4KLTwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3Vy
Y2VMb2FkU3RhdGlzdGljcy9sb2ctY3Jvc3Mtc2l0ZS1sb2FkLXdpdGgtbGluay1kZWNvcmF0aW9u
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlz
dGljcy9sb2ctY3Jvc3Mtc2l0ZS1sb2FkLXdpdGgtbGluay1kZWNvcmF0aW9uLWV4cGVjdGVkLnR4
dAppbmRleCA4OTFlM2Q2OTNkNjE5M2VmNmE4NDNjOWVkNjhhNTRmMjRiMjkzZjA0Li4zZmUyMGE0
ZWM2YzQ4NGUwYzg4MDU1MmZjNjAzNDBmMTA5ZmZmZDNlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvbG9nLWNyb3NzLXNpdGUtbG9hZC13
aXRoLWxpbmstZGVjb3JhdGlvbi1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90
ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2xvZy1jcm9zcy1zaXRlLWxvYWQtd2l0aC1saW5r
LWRlY29yYXRpb24tZXhwZWN0ZWQudHh0CkBAIC02LDI1ICs2LDIxIEBAIFJlZ2lzdHJhYmxlIGRv
bWFpbjogMTI3LjAuMC4xCiAgICAgaGFkVXNlckludGVyYWN0aW9uOiBObwogICAgIG1vc3RSZWNl
bnRVc2VySW50ZXJhY3Rpb246IC0xCiAgICAgZ3JhbmRmYXRoZXJlZDogTm8KLSAgICB0b3BGcmFt
ZVVuaXF1ZVJlZGlyZWN0c1RvOgorICAgIFRvcEZyYW1lVW5pcXVlUmVkaXJlY3RzVG86CiAgICAg
ICAgIGxvY2FsaG9zdAotICAgIGdvdExpbmtEZWNvcmF0aW9uRnJvbVByZXZhbGVudFJlc291cmNl
OiBObworICAgIElzU2NoZWR1bGVkRm9yQWxsQnV0Q29va2llRGF0YVJlbW92YWw6IE5vCiAgICAg
aXNQcmV2YWxlbnRSZXNvdXJjZTogWWVzCiAgICAgaXNWZXJ5UHJldmFsZW50UmVzb3VyY2U6IE5v
CiAgICAgZGF0YVJlY29yZHNSZW1vdmVkOiAwCi0gICAgY2FudmFzUmVhZERhdGE6IE5vCi0KIFJl
Z2lzdHJhYmxlIGRvbWFpbjogbG9jYWxob3N0CiAgICAgaGFkVXNlckludGVyYWN0aW9uOiBObwog
ICAgIG1vc3RSZWNlbnRVc2VySW50ZXJhY3Rpb246IC0xCiAgICAgZ3JhbmRmYXRoZXJlZDogTm8K
LSAgICB0b3BGcmFtZVVuaXF1ZVJlZGlyZWN0c0Zyb206CisgICAgVG9wRnJhbWVVbmlxdWVSZWRp
cmVjdHNGcm9tOgogICAgICAgICAxMjcuMC4wLjEKLSAgICB0b3BGcmFtZUxpbmtEZWNvcmF0aW9u
c0Zyb206CisgICAgVG9wRnJhbWVMaW5rRGVjb3JhdGlvbnNGcm9tOgogICAgICAgICAxMjcuMC4w
LjEKLSAgICBnb3RMaW5rRGVjb3JhdGlvbkZyb21QcmV2YWxlbnRSZXNvdXJjZTogWWVzCisgICAg
SXNTY2hlZHVsZWRGb3JBbGxCdXRDb29raWVEYXRhUmVtb3ZhbDogWWVzCiAgICAgaXNQcmV2YWxl
bnRSZXNvdXJjZTogTm8KICAgICBpc1ZlcnlQcmV2YWxlbnRSZXNvdXJjZTogTm8KICAgICBkYXRh
UmVjb3Jkc1JlbW92ZWQ6IDAKLSAgICBjYW52YXNSZWFkRGF0YTogTm8KLQpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2xvZy1kZWxheWVk
LWNsaWVudC1zaWRlLXJlZGlyZWN0cy1kYXRhYmFzZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvbG9nLWRlbGF5ZWQtY2xpZW50LXNp
ZGUtcmVkaXJlY3RzLWRhdGFiYXNlLWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggNDBmODFjNzdhMDJkNmYzYmZkZjRhYjdhMDc0OGViZDE1NDdkMjZlZS4uMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvbG9nLWRlbGF5ZWQtY2xpZW50LXNpZGUtcmVk
aXJlY3RzLWRhdGFiYXNlLWV4cGVjdGVkLnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDI0ICswLDAg
QEAKLU5vbi11c2VyIGluaXRpYXRlZCwgZGVsYXllZCBjcm9zcy1zaXRlIG5hdmlnYXRpb25zIGRv
bmUgY2xpZW50LXNpZGUgc2hvdWxkIGJlIGRldGVjdGVkIGFzIHRvcCBmcmFtZSByZWRpcmVjdHMg
YnkgSVRQLgotCi1SZXNvdXJjZSBsb2FkIHN0YXRpc3RpY3M6Ci0KLVJlZ2lzdHJhYmxlIGRvbWFp
bjogMTI3LjAuMC4xCi0gICAgaGFkVXNlckludGVyYWN0aW9uOiBObwotICAgIG1vc3RSZWNlbnRV
c2VySW50ZXJhY3Rpb246IC0xCi0gICAgZ3JhbmRmYXRoZXJlZDogTm8KLSAgICBUb3BGcmFtZVVu
aXF1ZVJlZGlyZWN0c1RvOgotICAgICAgICBsb2NhbGhvc3QKLSAgICBJc1NjaGVkdWxlZEZvckFs
bEJ1dENvb2tpZURhdGFSZW1vdmFsOiBObwotICAgIGlzUHJldmFsZW50UmVzb3VyY2U6IE5vCi0g
ICAgaXNWZXJ5UHJldmFsZW50UmVzb3VyY2U6IE5vCi0gICAgZGF0YVJlY29yZHNSZW1vdmVkOiAw
Ci1SZWdpc3RyYWJsZSBkb21haW46IGxvY2FsaG9zdAotICAgIGhhZFVzZXJJbnRlcmFjdGlvbjog
Tm8KLSAgICBtb3N0UmVjZW50VXNlckludGVyYWN0aW9uOiAtMQotICAgIGdyYW5kZmF0aGVyZWQ6
IE5vCi0gICAgVG9wRnJhbWVVbmlxdWVSZWRpcmVjdHNGcm9tOgotICAgICAgICAxMjcuMC4wLjEK
LSAgICBJc1NjaGVkdWxlZEZvckFsbEJ1dENvb2tpZURhdGFSZW1vdmFsOiBObwotICAgIGlzUHJl
dmFsZW50UmVzb3VyY2U6IE5vCi0gICAgaXNWZXJ5UHJldmFsZW50UmVzb3VyY2U6IE5vCi0gICAg
ZGF0YVJlY29yZHNSZW1vdmVkOiAwCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvbG9nLWRlbGF5ZWQtY2xpZW50LXNpZGUtcmVkaXJlY3Rz
LWRhdGFiYXNlLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRp
c3RpY3MvbG9nLWRlbGF5ZWQtY2xpZW50LXNpZGUtcmVkaXJlY3RzLWRhdGFiYXNlLmh0bWwKZGVs
ZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGJlYWEzYTM5MzE4MzZhYTE0OWE5YzVlNmE1Y2Uy
MTRlZTM0OTllZGUuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0t
IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2xvZy1kZWxh
eWVkLWNsaWVudC1zaWRlLXJlZGlyZWN0cy1kYXRhYmFzZS5odG1sCisrKyAvZGV2L251bGwKQEAg
LTEsMzUgKzAsMCBAQAotPCFET0NUWVBFIGh0bWw+Ci08aHRtbD4KLTxoZWFkPgotICAgIDxzY3Jp
cHQgc3JjPSJyZXNvdXJjZXMvdXRpbC5qcyI+PC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keSBvbmxv
YWQ9InNldFRpbWVvdXQoJ3J1blRlc3QoKScsIDEwMCkiPgotPGRpdiBpZD0iZGVzY3JpcHRpb24i
Pk5vbi11c2VyIGluaXRpYXRlZCwgZGVsYXllZCBjcm9zcy1zaXRlIG5hdmlnYXRpb25zIGRvbmUg
Y2xpZW50LXNpZGUgc2hvdWxkIGJlIGRldGVjdGVkIGFzIHRvcCBmcmFtZSByZWRpcmVjdHMgYnkg
SVRQLjwvZGl2PgotPGRpdiBpZD0ib3V0cHV0Ij48L2Rpdj4KLTxzY3JpcHQ+Ci0gICAgaWYgKHdp
bmRvdy50ZXN0UnVubmVyKSB7Ci0gICAgICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOwot
ICAgICAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKLSAgICB9Ci0KLSAgICBjb25zdCBuYXZp
Z2F0aW9uRW5kT3JpZ2luID0gImh0dHA6Ly9sb2NhbGhvc3Q6ODAwMCI7Ci0gICAgY29uc3QgbmF2
aWdhdGlvblN0YXJ0T3JpZ2luID0gImh0dHA6Ly8xMjcuMC4wLjE6ODAwMCI7Ci0KLSAgICBmdW5j
dGlvbiBuYXZpZ2F0ZUNyb3NzU2l0ZSgpIHsKLSAgICAgICAgZG9jdW1lbnQubG9jYXRpb24uaHJl
ZiA9IG5hdmlnYXRpb25FbmRPcmlnaW4gKyAiL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvbG9nLWRl
bGF5ZWQtY2xpZW50LXNpZGUtcmVkaXJlY3RzLmh0bWw/ZHVtbXlQYXJhbT0iICsgTWF0aC5yYW5k
b20oKTsKLSAgICB9Ci0KLSAgICBmdW5jdGlvbiBydW5UZXN0KCkgewotICAgICAgICBpZiAoZG9j
dW1lbnQubG9jYXRpb24ub3JpZ2luID09PSBuYXZpZ2F0aW9uU3RhcnRPcmlnaW4pIHsKLSAgICAg
ICAgICAgIHRlc3RSdW5uZXIuc2V0VXNlSVRQRGF0YWJhc2UodHJ1ZSk7Ci0gICAgICAgICAgICBz
ZXRFbmFibGVGZWF0dXJlKHRydWUsIG5hdmlnYXRlQ3Jvc3NTaXRlKTsKLSAgICAgICAgfSBlbHNl
IHsKLSAgICAgICAgICAgIHRlc3RSdW5uZXIuZHVtcFJlc291cmNlTG9hZFN0YXRpc3RpY3MoKTsK
LSAgICAgICAgICAgIHNldEVuYWJsZUZlYXR1cmUoZmFsc2UsIGZ1bmN0aW9uICgpIHsKLSAgICAg
ICAgICAgICAgICB0ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsKLSAgICAgICAgICAgIH0pOwotICAg
ICAgICB9Ci0gICAgfQotPC9zY3JpcHQ+Ci08L2JvZHk+Ci08L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvbG9nLWRlbGF5ZWQt
Y2xpZW50LXNpZGUtcmVkaXJlY3RzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvdGVz
dHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9sb2ctZGVsYXllZC1jbGllbnQtc2lkZS1yZWRpcmVj
dHMtZXhwZWN0ZWQudHh0CmluZGV4IDdhODBkOTAzZDdiMzExNjhhN2MwYzc5OTg1Mjk3OGFkZDVi
YzcyOWEuLjQwZjgxYzc3YTAyZDZmM2JmZGY0YWI3YTA3NDhlYmQxNTQ3ZDI2ZWUgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9sb2ctZGVs
YXllZC1jbGllbnQtc2lkZS1yZWRpcmVjdHMtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3Rz
L2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9sb2ctZGVsYXllZC1jbGllbnQtc2lk
ZS1yZWRpcmVjdHMtZXhwZWN0ZWQudHh0CkBAIC02LDIzICs2LDE5IEBAIFJlZ2lzdHJhYmxlIGRv
bWFpbjogMTI3LjAuMC4xCiAgICAgaGFkVXNlckludGVyYWN0aW9uOiBObwogICAgIG1vc3RSZWNl
bnRVc2VySW50ZXJhY3Rpb246IC0xCiAgICAgZ3JhbmRmYXRoZXJlZDogTm8KLSAgICB0b3BGcmFt
ZVVuaXF1ZVJlZGlyZWN0c1RvOgorICAgIFRvcEZyYW1lVW5pcXVlUmVkaXJlY3RzVG86CiAgICAg
ICAgIGxvY2FsaG9zdAotICAgIGdvdExpbmtEZWNvcmF0aW9uRnJvbVByZXZhbGVudFJlc291cmNl
OiBObworICAgIElzU2NoZWR1bGVkRm9yQWxsQnV0Q29va2llRGF0YVJlbW92YWw6IE5vCiAgICAg
aXNQcmV2YWxlbnRSZXNvdXJjZTogTm8KICAgICBpc1ZlcnlQcmV2YWxlbnRSZXNvdXJjZTogTm8K
ICAgICBkYXRhUmVjb3Jkc1JlbW92ZWQ6IDAKLSAgICBjYW52YXNSZWFkRGF0YTogTm8KLQogUmVn
aXN0cmFibGUgZG9tYWluOiBsb2NhbGhvc3QKICAgICBoYWRVc2VySW50ZXJhY3Rpb246IE5vCiAg
ICAgbW9zdFJlY2VudFVzZXJJbnRlcmFjdGlvbjogLTEKICAgICBncmFuZGZhdGhlcmVkOiBObwot
ICAgIHRvcEZyYW1lVW5pcXVlUmVkaXJlY3RzRnJvbToKKyAgICBUb3BGcmFtZVVuaXF1ZVJlZGly
ZWN0c0Zyb206CiAgICAgICAgIDEyNy4wLjAuMQotICAgIGdvdExpbmtEZWNvcmF0aW9uRnJvbVBy
ZXZhbGVudFJlc291cmNlOiBObworICAgIElzU2NoZWR1bGVkRm9yQWxsQnV0Q29va2llRGF0YVJl
bW92YWw6IE5vCiAgICAgaXNQcmV2YWxlbnRSZXNvdXJjZTogTm8KICAgICBpc1ZlcnlQcmV2YWxl
bnRSZXNvdXJjZTogTm8KICAgICBkYXRhUmVjb3Jkc1JlbW92ZWQ6IDAKLSAgICBjYW52YXNSZWFk
RGF0YTogTm8KLQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxv
YWRTdGF0aXN0aWNzL21hbnktaW5zZXJ0cy1vbmx5LWluc2VydC1vbmNlLmh0bWwgYi9MYXlvdXRU
ZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvbWFueS1pbnNlcnRzLW9ubHkt
aW5zZXJ0LW9uY2UuaHRtbAppbmRleCA4YWExYjNjNWZlNjZhNjM0MDQ2MTk4ZTg3OTY4ZWE1MjMy
MzA4ZTJlLi4wZTJhZjg4ZjEyMTlhZmNiM2UwZmY0YmI4OTIzYjg5ZTliYjFmNTNjIDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvbWFueS1p
bnNlcnRzLW9ubHktaW5zZXJ0LW9uY2UuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvbWFueS1pbnNlcnRzLW9ubHktaW5zZXJ0LW9uY2UuaHRt
bApAQCAtOCw3ICs4LDYgQEAKIDwvaGVhZD4KIDxib2R5PgogPHNjcmlwdD4KLSAgICB0ZXN0UnVu
bmVyLnNldFVzZUlUUERhdGFiYXNlKHRydWUpOwogICAgIGRlc2NyaXB0aW9uKCJUZXN0cyB0aGF0
IG1hbnkgaW5zZXJ0cyBpbnRvIHRoZSBkYXRhYmFzZSBvbmx5IHJlc3VsdCBpbiBvbmUgcm93LiIp
OwogICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOwogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9o
dHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvbWVyZ2Utc3RhdGlzdGljLWRvZXMtbm90
LW92ZXJ3cml0ZS1kYXRhYmFzZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvbWVyZ2Utc3RhdGlzdGljLWRvZXMtbm90LW92ZXJ3cml0
ZS1kYXRhYmFzZS1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGJi
NDAxZjlhNWU5ZGNjZjIzYTM3NzAwM2Q2MjdhYTVmODg0ZmQzODYuLjAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNv
dXJjZUxvYWRTdGF0aXN0aWNzL21lcmdlLXN0YXRpc3RpYy1kb2VzLW5vdC1vdmVyd3JpdGUtZGF0
YWJhc2UtZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEsMTMgKzAsMCBAQAotVGVzdHMg
dGhhdCBtZXJnZWQgc3RhdGlzdGljIGRvZXMgbm90IG92ZXJ3cml0ZSBvbGQgc3RhdGlzdGljCi0K
LU9uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZv
bGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KLQotCi1QQVNTIEhvc3QgZGlkIG5vdCBvdmVyd3Jp
dGUgb2xkIHByZXZhbGVudCByZXNvdXJjZSB2YWx1ZS4KLVBBU1MgSG9zdCBkaWQgbm90IG92ZXJ3
cml0ZSBvbGQgdmVyeSBwcmV2YWxlbnQgcmVzb3VyY2UgdmFsdWUuCi1QQVNTIEhvc3QgZGlkIG5v
dCBvdmVyd3JpdGUgb2xkIGhhZCB1c2VyIGludGVyYWN0aW9uIHZhbHVlCi1QQVNTIEhvc3QgZGlk
IG5vdCBvdmVyd3JpdGUgb2xkIGdyYW5kZmF0aGVyZWQgdmFsdWUuCi1QQVNTIHN1Y2Nlc3NmdWxs
eVBhcnNlZCBpcyB0cnVlCi0KLVRFU1QgQ09NUExFVEUKLQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL21lcmdlLXN0YXRpc3RpYy1kb2Vz
LW5vdC1vdmVyd3JpdGUtZGF0YWJhc2UuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVz
b3VyY2VMb2FkU3RhdGlzdGljcy9tZXJnZS1zdGF0aXN0aWMtZG9lcy1ub3Qtb3ZlcndyaXRlLWRh
dGFiYXNlLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDRkNGEyODM2N2JmNmE0
NzIwN2FjYjU5ZmIxYjJhOTkzYmUwYmM4MTEuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0
aXN0aWNzL21lcmdlLXN0YXRpc3RpYy1kb2VzLW5vdC1vdmVyd3JpdGUtZGF0YWJhc2UuaHRtbAor
KysgL2Rldi9udWxsCkBAIC0xLDc5ICswLDAgQEAKLTwhRE9DVFlQRSBodG1sPgotPGh0bWwgbGFu
Zz0iZW4iPgotPGhlYWQ+Ci0gICAgPG1ldGEgY2hhcnNldD0iVVRGLTgiPgotICAgIDxzY3JpcHQg
c3JjPSIvanMtdGVzdC1yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+Ci0gICAgPHNjcmlw
dCBzcmM9InJlc291cmNlcy91dGlsLmpzIj48L3NjcmlwdD4KLSAgICA8c2NyaXB0PmRlc2NyaXB0
aW9uKCJUZXN0cyB0aGF0IG1lcmdlZCBzdGF0aXN0aWMgZG9lcyBub3Qgb3ZlcndyaXRlIG9sZCBz
dGF0aXN0aWMiKTs8L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5IG9ubG9hZD0ic2V0VGltZW91dCgn
c2V0VXBBbmRSdW4oKScsIDApIj4KLTxzY3JpcHQ+Ci0gICAganNUZXN0SXNBc3luYyA9IHRydWU7
Ci0KLSAgICBjb25zdCB1cmwgPSAiaHR0cDovLzEyNy4wLjAuMTo4MDAwIjsKLSAgICBjb25zdCBz
YW1wbGVUb3BGcmFtZVVSTCA9ICJodHRwOi8vbG9jYWxob3N0OjgwMDAiOwotICAgIGNvbnN0IG9s
ZGVyVGltZXN0YW1wID0gTWF0aC5yb3VuZCgobmV3IERhdGUoKSkuZ2V0VGltZSgpIC8gMTAwMCk7
Ci0gICAgY29uc3QgbmV3ZXJUaW1lc3RhbXAgPSBvbGRlclRpbWVzdGFtcCArIDEwOwotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKLSAgICBmdW5jdGlvbiBpbnNlcnRTZWNv
bmRTdGF0aXN0aWMoKSB7Ci0gICAgICB0ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NNZXJnZVN0YXRp
c3RpYyh1cmwsICIiLCAiIiwgb2xkZXJUaW1lc3RhbXAsIGZhbHNlLCA5OSwgZmFsc2UsIGZhbHNl
LCBmYWxzZSwgMCwgZnVuY3Rpb24oKSB7Ci0gICAgICAgICAgaWYgKHRlc3RSdW5uZXIuaXNTdGF0
aXN0aWNzUHJldmFsZW50UmVzb3VyY2UodXJsKSkKLSAgICAgICAgICAgICAgdGVzdFBhc3NlZCgi
SG9zdCBkaWQgbm90IG92ZXJ3cml0ZSBvbGQgcHJldmFsZW50IHJlc291cmNlIHZhbHVlLiIpOwot
ICAgICAgICAgIGVsc2UKLSAgICAgICAgICAgICAgdGVzdEZhaWxlZCgiSG9zdCBkaWQgb3Zlcndy
aXRlIG9sZCBwcmV2YWxlbnQgcmVzb3VyY2UgdmFsdWUuIikKLSAgICAgICAgICAKLSAgICAgICAg
ICBpZiAodGVzdFJ1bm5lci5pc1N0YXRpc3RpY3NWZXJ5UHJldmFsZW50UmVzb3VyY2UodXJsKSkK
LSAgICAgICAgICAgICAgdGVzdFBhc3NlZCgiSG9zdCBkaWQgbm90IG92ZXJ3cml0ZSBvbGQgdmVy
eSBwcmV2YWxlbnQgcmVzb3VyY2UgdmFsdWUuIik7Ci0gICAgICAgICAgZWxzZQotICAgICAgICAg
ICAgICB0ZXN0RmFpbGVkKCJIb3N0IGRpZCBvdmVyd3JpdGUgb2xkIHZlcnkgcHJldmFsZW50IHJl
c291cmNlIHZhbHVlLiIpOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgCi0gICAgICAgICAgaWYgKHRlc3RSdW5uZXIuaXNTdGF0aXN0aWNzSGFzSGFkVXNlcklu
dGVyYWN0aW9uKHVybCkpCi0gICAgICAgICAgICAgIHRlc3RQYXNzZWQoIkhvc3QgZGlkIG5vdCBv
dmVyd3JpdGUgb2xkIGhhZCB1c2VyIGludGVyYWN0aW9uIHZhbHVlIik7Ci0gICAgICAgICAgZWxz
ZQotICAgICAgICAgICAgICB0ZXN0RmFpbGVkKCJIb3N0IGRpZCBvdmVyd3JpdGUgb2xkIGhhZCB1
c2VyIGludGVyYWN0aW9uIHZhbHVlIik7Ci0KLSAgICAgICAgICBpZiAodGVzdFJ1bm5lci5pc1N0
YXRpc3RpY3NHcmFuZGZhdGhlcmVkKHVybCkpCi0gICAgICAgICAgICAgIHRlc3RQYXNzZWQoIkhv
c3QgZGlkIG5vdCBvdmVyd3JpdGUgb2xkIGdyYW5kZmF0aGVyZWQgdmFsdWUuIik7Ci0gICAgICAg
ICAgZWxzZQotICAgICAgICAgICAgICB0ZXN0RmFpbGVkKCJIb3N0IGRpZCBvdmVyd3JpdGUgb2xk
IGdyYW5kZmF0aGVyZWQgdmFsdWUuIik7Ci0KLSAgICAgICAgICB0ZXN0UnVubmVyLnN0YXRpc3Rp
Y3NSZXNldFRvQ29uc2lzdGVudFN0YXRlKGZ1bmN0aW9uKCkgewotICAgICAgICAgICAgICBmaW5p
c2hKU1Rlc3QoKTsKLSAgICAgICAgICB9KTsKLSAgICAgIH0pOwotICAgIH0KLSAgICAKLSAgICBm
dW5jdGlvbiBydW5UZXN0UnVubmVyVGVzdCgpIHsKLSAgICAgICAgdGVzdFJ1bm5lci5zZXRTdGF0
aXN0aWNzTWVyZ2VTdGF0aXN0aWModXJsLCAiIiwgIiIsIG5ld2VyVGltZXN0YW1wLCB0cnVlLCAx
MDAsIHRydWUsIHRydWUsIHRydWUsIDEsIGZ1bmN0aW9uKCkgewotICAgICAgICAgICAgaWYgKCF0
ZXN0UnVubmVyLmlzU3RhdGlzdGljc1ByZXZhbGVudFJlc291cmNlKHVybCkpCi0gICAgICAgICAg
ICAgICAgdGVzdEZhaWxlZCgiSG9zdCBnb3Qgc2V0IGFzIHByZXZhbGVudCByZXNvdXJjZS4iKTsK
LQotICAgICAgICAgICAgaWYgKCF0ZXN0UnVubmVyLmlzU3RhdGlzdGljc1ZlcnlQcmV2YWxlbnRS
ZXNvdXJjZSh1cmwpKQotICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoIkhvc3QgZ290IHNldCBh
cyBwcmV2YWxlbnQgcmVzb3VyY2UuIik7Ci0KLSAgICAgICAgICAgIGlmICghdGVzdFJ1bm5lci5p
c1N0YXRpc3RpY3NIYXNIYWRVc2VySW50ZXJhY3Rpb24odXJsKSkKLSAgICAgICAgICAgICAgICB0
ZXN0RmFpbGVkKCJIb3N0IGdvdCBsb2dnZWQgZm9yIHVzZXIgaW50ZXJhY3Rpb24uIik7Ci0gICAg
ICAgICAgICAgCi0gICAgICAgICAgICBpZiAoIXRlc3RSdW5uZXIuaXNTdGF0aXN0aWNzR3JhbmRm
YXRoZXJlZCh1cmwpKQotICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoIkhvc3QgZ290IHNldCBh
cyBncmFuZGZhdGhlcmVkLiIpOwotCi0gICAgICAgICAgICBpbnNlcnRTZWNvbmRTdGF0aXN0aWMo
KTsKLSAgICAgICAgfSk7Ci0gICAgfQotCi0gICAgZnVuY3Rpb24gc2V0VXBBbmRSdW4oKSB7Ci0g
ICAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikgewotICAgICAgICAgICAgdGVzdFJ1bm5lci5z
ZXRVc2VJVFBEYXRhYmFzZSh0cnVlKTsKLSAgICAgICAgICAgIHNldEVuYWJsZUZlYXR1cmUodHJ1
ZSwgZnVuY3Rpb24gKCkgewotICAgICAgICAgICAgICAgIHJ1blRlc3RSdW5uZXJUZXN0KCk7Ci0g
ICAgICAgICAgICB9KTsKLSAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAgIHRlc3RGYWlsZWQo
Im5vIHRlc3RSdW5uZXIiKTsKLSAgICAgICAgICAgIHRlc3RSdW5uZXIuc3RhdGlzdGljc1Jlc2V0
VG9Db25zaXN0ZW50U3RhdGUoZnVuY3Rpb24oKSB7Ci0gICAgICAgICAgICAgICAgZmluaXNoSlNU
ZXN0KCk7Ci0gICAgICAgICAgICB9KTsKLSAgICAgICAgfQotICAgIH0KLTwvc2NyaXB0PgotPC9i
b2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJj
ZUxvYWRTdGF0aXN0aWNzL21lcmdlLXN0YXRpc3RpYy1kb2VzLW92ZXJ3cml0ZS1kYXRhYmFzZS1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3Rp
Y3MvbWVyZ2Utc3RhdGlzdGljLWRvZXMtb3ZlcndyaXRlLWRhdGFiYXNlLWV4cGVjdGVkLnR4dApk
ZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNWZiMWU0YTUzMDdkMGY4Y2U0ZDYzMGJlZGI4
MTUzNDM3MGU4YTI2My4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAot
LS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvbWVyZ2Ut
c3RhdGlzdGljLWRvZXMtb3ZlcndyaXRlLWRhdGFiYXNlLWV4cGVjdGVkLnR4dAorKysgL2Rldi9u
dWxsCkBAIC0xLDE1ICswLDAgQEAKLVRlc3RzIHRoYXQgbWVyZ2VkIHN0YXRpc3RpYyBvdmVyd3Jp
dGVzIG9sZCBzdGF0aXN0aWMKLQotT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9m
ICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgotCi0KLVBBU1Mg
SG9zdCBvdmVyd3JvdGUgb2xkIHByZXZhbGVudCByZXNvdXJjZSB2YWx1ZS4KLVBBU1MgSG9zdCBv
dmVyd3JvdGUgb2xkIHZlcnkgcHJldmFsZW50IHJlc291cmNlIHZhbHVlLgotUEFTUyBIb3N0IG92
ZXJ3cm90ZSBvbGQgdXNlciBpbnRlcmFjdGlvbiB2YWx1ZS4KLVBBU1MgSG9zdCBvdmVyd3JvdGUg
b2xkIGdyYW5kZmF0aGVyZWQgdmFsdWUuCi1QQVNTIEhvc3Qgc2V0IGFzIHN1YmZyYW1lIHVuZGVy
IHRvcCBmcmFtZTEuCi1QQVNTIEhvc3Qgc2V0IGFzIHN1YmZyYW1lIHVuZGVyIHRvcCBmcmFtZTIu
Ci1QQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCi0KLVRFU1QgQ09NUExFVEUKLQpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL21l
cmdlLXN0YXRpc3RpYy1kb2VzLW92ZXJ3cml0ZS1kYXRhYmFzZS5odG1sIGIvTGF5b3V0VGVzdHMv
aHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL21lcmdlLXN0YXRpc3RpYy1kb2VzLW92
ZXJ3cml0ZS1kYXRhYmFzZS5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAxYTE5
OTQ5NDU3ZTJjNzY4YTQwN2RhMTUwMDI1M2NiYWIyY2JmZmRjLi4wMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3Vy
Y2VMb2FkU3RhdGlzdGljcy9tZXJnZS1zdGF0aXN0aWMtZG9lcy1vdmVyd3JpdGUtZGF0YWJhc2Uu
aHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDk3ICswLDAgQEAKLTwhRE9DVFlQRSBodG1sPgotPGh0
bWwgbGFuZz0iZW4iPgotPGhlYWQ+Ci0gICAgPG1ldGEgY2hhcnNldD0iVVRGLTgiPgotICAgIDxz
Y3JpcHQgc3JjPSIvanMtdGVzdC1yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+Ci0gICAg
PHNjcmlwdCBzcmM9InJlc291cmNlcy91dGlsLmpzIj48L3NjcmlwdD4KLSAgICA8c2NyaXB0PmRl
c2NyaXB0aW9uKCJUZXN0cyB0aGF0IG1lcmdlZCBzdGF0aXN0aWMgb3ZlcndyaXRlcyBvbGQgc3Rh
dGlzdGljIik7PC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keSBvbmxvYWQ9InNldFRpbWVvdXQoJ3Nl
dFVwQW5kUnVuKCknLCAwKSI+Ci08c2NyaXB0PgotICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOwot
Ci0gICAgY29uc3QgdXJsID0gImh0dHA6Ly8xMjcuMC4wLjE6ODAwMCI7Ci0gICAgY29uc3Qgc2Ft
cGxlVG9wRnJhbWVVUkwxID0gImh0dHA6Ly90b3BGcmFtZURvbWFpbjE6ODAwMCI7Ci0gICAgY29u
c3Qgc2FtcGxlVG9wRnJhbWVVUkwyID0gImh0dHA6Ly90b3BGcmFtZURvbWFpbjI6ODAwMCI7Ci0g
ICAgY29uc3Qgb2xkZXJUaW1lc3RhbXAgPSBNYXRoLnJvdW5kKChuZXcgRGF0ZSgpKS5nZXRUaW1l
KCkgLyAxMDAwKTsKLSAgICBjb25zdCBuZXdlclRpbWVzdGFtcCA9IG9sZGVyVGltZXN0YW1wICsg
MTA7Ci0gICAgY29uc3QgbW9zdFJlY2VudFVJVG9UcmlnZ2VyRmlyc3RQYXJ0eUludGVyYWN0aW9u
Q291bnQgPSBuZXdlclRpbWVzdGFtcCArIDkwMDAwOwotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAKLSAgICBmdW5jdGlvbiBpbnNlcnRTZWNvbmRTdGF0aXN0aWMoKSB7Ci0g
ICAgCi0gICAgICAgIC8vIHNldCB1cmwxIGFzIHByZXZhbGVudCBzbyBpdCBpcyBpbiB0aGUgc3Rh
dGlzdGljcyBzdG9yZQotICAgICAgICAvLyBzZXQgdXJsMiBoYXZpbmcgVUkgc28gaXQgaXMgaW4g
dGhlIHN0YXRpc3RpY3Mgc3RvcmUKLSAgICAgICAgdGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNzUHJl
dmFsZW50UmVzb3VyY2Uoc2FtcGxlVG9wRnJhbWVVUkwxLCB0cnVlLCBmdW5jdGlvbigpIHsKLSAg
ICAgICAgICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc0hhc0hhZFVzZXJJbnRlcmFjdGlvbihz
YW1wbGVUb3BGcmFtZVVSTDIsIHRydWUsIGZ1bmN0aW9uICgpIHsKLSAgICAgICAgICAgICAgICAg
IHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc01lcmdlU3RhdGlzdGljKHVybCwgc2FtcGxlVG9wRnJh
bWVVUkwxLCBzYW1wbGVUb3BGcmFtZVVSTDIsIG5ld2VyVGltZXN0YW1wLCB0cnVlLCBtb3N0UmVj
ZW50VUlUb1RyaWdnZXJGaXJzdFBhcnR5SW50ZXJhY3Rpb25Db3VudCwgdHJ1ZSwgdHJ1ZSwgdHJ1
ZSwgMSwgZnVuY3Rpb24oKSB7Ci0gICAgICAgICAgICAgICAgICAgICAgaWYgKHRlc3RSdW5uZXIu
aXNTdGF0aXN0aWNzUHJldmFsZW50UmVzb3VyY2UodXJsKSkKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgdGVzdFBhc3NlZCgiSG9zdCBvdmVyd3JvdGUgb2xkIHByZXZhbGVudCByZXNvdXJjZSB2
YWx1ZS4iKTsKLSAgICAgICAgICAgICAgICAgICAgICBlbHNlCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgIHRlc3RGYWlsZWQoIkhvc3Qgbm90IHNldCBhcyBwcmV2YWxlbnQgcmVzb3VyY2UuIik7
Ci0KLSAgICAgICAgICAgICAgICAgICAgICBpZiAodGVzdFJ1bm5lci5pc1N0YXRpc3RpY3NWZXJ5
UHJldmFsZW50UmVzb3VyY2UodXJsKSkKLSAgICAgICAgICAgICAgICAgICAgICAgICAgdGVzdFBh
c3NlZCgiSG9zdCBvdmVyd3JvdGUgb2xkIHZlcnkgcHJldmFsZW50IHJlc291cmNlIHZhbHVlLiIp
OwotICAgICAgICAgICAgICAgICAgICAgIGVsc2UKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
dGVzdEZhaWxlZCgiSG9zdCBub3Qgc2V0IGFzIHZlcnkgcHJldmFsZW50IHJlc291cmNlLiIpOwot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Ci0gICAgICAgICAgICAgICAgICAgICAgaWYgKHRlc3RSdW5uZXIuaXNTdGF0aXN0aWNzSGFzSGFk
VXNlckludGVyYWN0aW9uKHVybCkpCi0gICAgICAgICAgICAgICAgICAgICAgICAgIHRlc3RQYXNz
ZWQoIkhvc3Qgb3Zlcndyb3RlIG9sZCB1c2VyIGludGVyYWN0aW9uIHZhbHVlLiIpOwotICAgICAg
ICAgICAgICAgICAgICAgIGVsc2UKLSAgICAgICAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxl
ZCgiSG9zdCBub3QgbG9nZ2VkIGZvciB1c2VyIGludGVyYWN0aW9uLiIpOwotICAgICAgICAgICAg
ICAgICAgICAgICAKLSAgICAgICAgICAgICAgICAgICAgICBpZiAodGVzdFJ1bm5lci5pc1N0YXRp
c3RpY3NHcmFuZGZhdGhlcmVkKHVybCkpCi0gICAgICAgICAgICAgICAgICAgICAgICAgIHRlc3RQ
YXNzZWQoIkhvc3Qgb3Zlcndyb3RlIG9sZCBncmFuZGZhdGhlcmVkIHZhbHVlLiIpOwotICAgICAg
ICAgICAgICAgICAgICAgIGVsc2UKLSAgICAgICAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxl
ZCgiSG9zdCBub3Qgc2V0IGFzIGdyYW5kZmF0aGVyZWQuIik7Ci0KLSAgICAgICAgICAgICAgICAg
ICAgICBpZiAodGVzdFJ1bm5lci5pc1N0YXRpc3RpY3NSZWdpc3RlcmVkQXNTdWJGcmFtZVVuZGVy
KHVybCwgc2FtcGxlVG9wRnJhbWVVUkwxKSkKLSAgICAgICAgICAgICAgICAgICAgICAgICAgdGVz
dFBhc3NlZCgiSG9zdCBzZXQgYXMgc3ViZnJhbWUgdW5kZXIgdG9wIGZyYW1lMS4iKTsKLSAgICAg
ICAgICAgICAgICAgICAgICBlbHNlCi0gICAgICAgICAgICAgICAgICAgICAgICAgIHRlc3RGYWls
ZWQoIkhvc3Qgbm90IHNldCBhcyBzdWJmcmFtZSB1bmRlciB0b3AgZnJhbWUxLiIpOwotICAgICAg
ICAgICAgICAgICAgICAgIGlmICh0ZXN0UnVubmVyLmlzU3RhdGlzdGljc1JlZ2lzdGVyZWRBc1N1
YkZyYW1lVW5kZXIodXJsLCBzYW1wbGVUb3BGcmFtZVVSTDIpKQotICAgICAgICAgICAgICAgICAg
ICAgICAgICB0ZXN0UGFzc2VkKCJIb3N0IHNldCBhcyBzdWJmcmFtZSB1bmRlciB0b3AgZnJhbWUy
LiIpOwotICAgICAgICAgICAgICAgICAgICAgIGVsc2UKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgdGVzdEZhaWxlZCgiSG9zdCBub3Qgc2V0IGFzIHN1YmZyYW1lIHVuZGVyIHRvcCBmcmFtZTIu
Iik7Ci0KLSAgICAgICAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLnN0YXRpc3RpY3NSZXNldFRv
Q29uc2lzdGVudFN0YXRlKGZ1bmN0aW9uKCkgewotICAgICAgICAgICAgICAgICAgICAgICAgICBm
aW5pc2hKU1Rlc3QoKTsKLSAgICAgICAgICAgICAgICAgICAgICB9KTsKLSAgICAgICAgICAgICAg
ICAgIH0pOwotICAgICAgICAgICAgIH0pOwotICAgICAgICB9KTsKLSAgICB9Ci0gICAgCi0gICAg
ZnVuY3Rpb24gcnVuVGVzdFJ1bm5lclRlc3QoKSB7Ci0gICAgICAgIHRlc3RSdW5uZXIuc2V0U3Rh
dGlzdGljc01lcmdlU3RhdGlzdGljKHVybCwgIiIsICIiLCBvbGRlclRpbWVzdGFtcCwgZmFsc2Us
IDAsIGZhbHNlLCBmYWxzZSwgZmFsc2UsIDAsIGZ1bmN0aW9uKCkgewotICAgICAgICAgICAgaWYg
KHRlc3RSdW5uZXIuaXNTdGF0aXN0aWNzUHJldmFsZW50UmVzb3VyY2UodXJsKSkKLSAgICAgICAg
ICAgICAgICB0ZXN0RmFpbGVkKCJIb3N0IGdvdCBzZXQgYXMgcHJldmFsZW50IHJlc291cmNlLiIp
OwotCi0gICAgICAgICAgICBpZiAodGVzdFJ1bm5lci5pc1N0YXRpc3RpY3NWZXJ5UHJldmFsZW50
UmVzb3VyY2UodXJsKSkKLSAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKCJIb3N0IGdvdCBzZXQg
YXMgcHJldmFsZW50IHJlc291cmNlLiIpOwotCi0gICAgICAgICAgICBpZiAodGVzdFJ1bm5lci5p
c1N0YXRpc3RpY3NIYXNIYWRVc2VySW50ZXJhY3Rpb24odXJsKSkKLSAgICAgICAgICAgICAgICB0
ZXN0RmFpbGVkKCJIb3N0IGdvdCBsb2dnZWQgZm9yIHVzZXIgaW50ZXJhY3Rpb24uIik7Ci0gICAg
ICAgICAgICAgCi0gICAgICAgICAgICBpZiAodGVzdFJ1bm5lci5pc1N0YXRpc3RpY3NHcmFuZGZh
dGhlcmVkKHVybCkpCi0gICAgICAgICAgICAgICAgdGVzdEZhaWxlZCgiSG9zdCBnb3Qgc2V0IGFz
IGdyYW5kZmF0aGVyZWQuIik7Ci0KLSAgICAgICAgICAgIGluc2VydFNlY29uZFN0YXRpc3RpYygp
OwotICAgICAgICB9KTsKLSAgICB9Ci0KLSAgICBmdW5jdGlvbiBzZXRVcEFuZFJ1bigpIHsKLSAg
ICAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7Ci0gICAgICAgICAgICB0ZXN0UnVubmVyLnNl
dFVzZUlUUERhdGFiYXNlKHRydWUpOwotICAgICAgICAgICAgc2V0RW5hYmxlRmVhdHVyZSh0cnVl
LCBmdW5jdGlvbiAoKSB7Ci0gICAgICAgICAgICAgICAgcnVuVGVzdFJ1bm5lclRlc3QoKTsKLSAg
ICAgICAgICAgIH0pOwotICAgICAgICB9IGVsc2UgewotICAgICAgICAgICAgdGVzdEZhaWxlZCgi
bm8gdGVzdFJ1bm5lciIpOwotICAgICAgICAgICAgdGVzdFJ1bm5lci5zdGF0aXN0aWNzUmVzZXRU
b0NvbnNpc3RlbnRTdGF0ZShmdW5jdGlvbigpIHsKLSAgICAgICAgICAgICAgICBmaW5pc2hKU1Rl
c3QoKTsKLSAgICAgICAgICAgIH0pOwotICAgICAgICB9Ci0gICAgfQotPC9zY3JpcHQ+Ci08L2Jv
ZHk+Ci08L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNl
TG9hZFN0YXRpc3RpY3MvbWVyZ2Utc3RhdGlzdGljLWRvZXMtcGFydGlhbGx5LW92ZXJ3cml0ZS1k
YXRhYmFzZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9h
ZFN0YXRpc3RpY3MvbWVyZ2Utc3RhdGlzdGljLWRvZXMtcGFydGlhbGx5LW92ZXJ3cml0ZS1kYXRh
YmFzZS1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGM3MWU0NmI3
OWM5MTU1ZWE4NzExOTBhMTYzMDMxOGU5ZGJlZGI3MDAuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxv
YWRTdGF0aXN0aWNzL21lcmdlLXN0YXRpc3RpYy1kb2VzLXBhcnRpYWxseS1vdmVyd3JpdGUtZGF0
YWJhc2UtZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEsMTQgKzAsMCBAQAotVGVzdHMg
dGhhdCBtZXJnZWQgc3RhdGlzdGljIG92ZXJ3cml0ZXMgb2xkIHN0YXRpc3RpYwotCi1PbiBzdWNj
ZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBi
eSAiVEVTVCBDT01QTEVURSIuCi0KLQotUEFTUyBIb3N0IG92ZXJ3cm90ZSBvbGQgcHJldmFsZW50
IHJlc291cmNlIHZhbHVlLgotUEFTUyBIb3N0IG92ZXJ3cm90ZSBvbGQgdmVyeSBwcmV2YWxlbnQg
cmVzb3VyY2UgdmFsdWUuCi1QQVNTIEhvc3QgZGlkIG5vdCBvdmVyd3JpdGUgb2xkIHVzZXIgaW50
ZXJhY3Rpb24gdmFsdWUuCi1QQVNTIEhvc3Qgb3Zlcndyb3RlIG9sZCBncmFuZGZhdGhlcmVkIHZh
bHVlLgotUEFTUyBIb3N0IHNldCBhcyBzdWJmcmFtZSB1bmRlciB0b3AgZnJhbWUuCi1QQVNTIHN1
Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCi0KLVRFU1QgQ09NUExFVEUKLQpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL21lcmdlLXN0YXRp
c3RpYy1kb2VzLXBhcnRpYWxseS1vdmVyd3JpdGUtZGF0YWJhc2UuaHRtbCBiL0xheW91dFRlc3Rz
L2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9tZXJnZS1zdGF0aXN0aWMtZG9lcy1w
YXJ0aWFsbHktb3ZlcndyaXRlLWRhdGFiYXNlLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IGFiM2M3MmI1NjRiZjA2MzQ2MjNjZWQwZDJiMjc0MThkODNhMzlhMTUuLjAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90
ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL21lcmdlLXN0YXRpc3RpYy1kb2VzLXBhcnRpYWxs
eS1vdmVyd3JpdGUtZGF0YWJhc2UuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDkwICswLDAgQEAK
LTwhRE9DVFlQRSBodG1sPgotPGh0bWwgbGFuZz0iZW4iPgotPGhlYWQ+Ci0gICAgPG1ldGEgY2hh
cnNldD0iVVRGLTgiPgotICAgIDxzY3JpcHQgc3JjPSIvanMtdGVzdC1yZXNvdXJjZXMvanMtdGVz
dC5qcyI+PC9zY3JpcHQ+Ci0gICAgPHNjcmlwdCBzcmM9InJlc291cmNlcy91dGlsLmpzIj48L3Nj
cmlwdD4KLSAgICA8c2NyaXB0PmRlc2NyaXB0aW9uKCJUZXN0cyB0aGF0IG1lcmdlZCBzdGF0aXN0
aWMgb3ZlcndyaXRlcyBvbGQgc3RhdGlzdGljIik7PC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keSBv
bmxvYWQ9InNldFRpbWVvdXQoJ3NldFVwQW5kUnVuKCknLCAwKSI+Ci08c2NyaXB0PgotICAgIGpz
VGVzdElzQXN5bmMgPSB0cnVlOwotCi0gICAgY29uc3QgdXJsID0gImh0dHA6Ly8xMjcuMC4wLjE6
ODAwMCI7Ci0gICAgY29uc3Qgc2FtcGxlVG9wRnJhbWVVUkwgPSAiaHR0cDovL3RvcEZyYW1lRG9t
YWluOjgwMDAiOwotICAgIGNvbnN0IG9sZGVyVGltZXN0YW1wID0gTWF0aC5yb3VuZCgobmV3IERh
dGUoKSkuZ2V0VGltZSgpIC8gMTAwMCk7Ci0gICAgY29uc3QgbmV3ZXJUaW1lc3RhbXAgPSBvbGRl
clRpbWVzdGFtcCArIDEwOwotICAgIGNvbnN0IG1vc3RSZWNlbnRVSVRvVHJpZ2dlckZpcnN0UGFy
dHlJbnRlcmFjdGlvbkNvdW50ID0gbmV3ZXJUaW1lc3RhbXAgKyA5MDAwMDsKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgCi0gICAgZnVuY3Rpb24gaW5zZXJ0U2Vjb25kU3Rh
dGlzdGljKCkgewotICAgIAotICAgICAgICAvLyBzZXQgdGhpcyByZXNvdXJjZSBhcyBwcmV2YWxl
bnQgc28gaXQgaXMgaW4gdGhlIHN0YXRpc3RpY3Mgc3RvcmUKLSAgICAgICAgdGVzdFJ1bm5lci5z
ZXRTdGF0aXN0aWNzUHJldmFsZW50UmVzb3VyY2Uoc2FtcGxlVG9wRnJhbWVVUkwsIHRydWUsIGZ1
bmN0aW9uKCkgewotICAgICAgICAKLSAgICAgICAgICAgICAgdGVzdFJ1bm5lci5zZXRTdGF0aXN0
aWNzTWVyZ2VTdGF0aXN0aWModXJsLCBzYW1wbGVUb3BGcmFtZVVSTCwgIiIsIG5ld2VyVGltZXN0
YW1wLCBmYWxzZSwgbW9zdFJlY2VudFVJVG9UcmlnZ2VyRmlyc3RQYXJ0eUludGVyYWN0aW9uQ291
bnQsIHRydWUsIHRydWUsIHRydWUsIDEsIGZ1bmN0aW9uKCkgewotICAgICAgICAgICAgICAgICAg
aWYgKHRlc3RSdW5uZXIuaXNTdGF0aXN0aWNzUHJldmFsZW50UmVzb3VyY2UodXJsKSkKLSAgICAg
ICAgICAgICAgICAgICAgICB0ZXN0UGFzc2VkKCJIb3N0IG92ZXJ3cm90ZSBvbGQgcHJldmFsZW50
IHJlc291cmNlIHZhbHVlLiIpOwotICAgICAgICAgICAgICAgICAgZWxzZQotICAgICAgICAgICAg
ICAgICAgICAgIHRlc3RGYWlsZWQoIkhvc3Qgbm90IHNldCBhcyBwcmV2YWxlbnQgcmVzb3VyY2Uu
Iik7Ci0KLSAgICAgICAgICAgICAgICAgIGlmICh0ZXN0UnVubmVyLmlzU3RhdGlzdGljc1ZlcnlQ
cmV2YWxlbnRSZXNvdXJjZSh1cmwpKQotICAgICAgICAgICAgICAgICAgICAgIHRlc3RQYXNzZWQo
Ikhvc3Qgb3Zlcndyb3RlIG9sZCB2ZXJ5IHByZXZhbGVudCByZXNvdXJjZSB2YWx1ZS4iKTsKLSAg
ICAgICAgICAgICAgICAgIGVsc2UKLSAgICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKCJI
b3N0IG5vdCBzZXQgYXMgdmVyeSBwcmV2YWxlbnQgcmVzb3VyY2UuIik7Ci0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAotICAgICAgICAgICAgICAg
ICAgaWYgKCF0ZXN0UnVubmVyLmlzU3RhdGlzdGljc0hhc0hhZFVzZXJJbnRlcmFjdGlvbih1cmwp
KQotICAgICAgICAgICAgICAgICAgICAgIHRlc3RQYXNzZWQoIkhvc3QgZGlkIG5vdCBvdmVyd3Jp
dGUgb2xkIHVzZXIgaW50ZXJhY3Rpb24gdmFsdWUuIik7Ci0gICAgICAgICAgICAgICAgICBlbHNl
Ci0gICAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZCgiSG9zdCBub3QgbG9nZ2VkIGZvciB1
c2VyIGludGVyYWN0aW9uLiIpOwotCi0gICAgICAgICAgICAgICAgICBpZiAodGVzdFJ1bm5lci5p
c1N0YXRpc3RpY3NHcmFuZGZhdGhlcmVkKHVybCkpCi0gICAgICAgICAgICAgICAgICAgICAgdGVz
dFBhc3NlZCgiSG9zdCBvdmVyd3JvdGUgb2xkIGdyYW5kZmF0aGVyZWQgdmFsdWUuIik7Ci0gICAg
ICAgICAgICAgICAgICBlbHNlCi0gICAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZCgiSG9z
dCBub3Qgc2V0IGFzIGdyYW5kZmF0aGVyZWQuIik7Ci0KLSAgICAgICAgICAgICAgICAgIGlmICh0
ZXN0UnVubmVyLmlzU3RhdGlzdGljc1JlZ2lzdGVyZWRBc1N1YkZyYW1lVW5kZXIodXJsLCBzYW1w
bGVUb3BGcmFtZVVSTCkpCi0gICAgICAgICAgICAgICAgICAgICAgdGVzdFBhc3NlZCgiSG9zdCBz
ZXQgYXMgc3ViZnJhbWUgdW5kZXIgdG9wIGZyYW1lLiIpOwotICAgICAgICAgICAgICAgICAgZWxz
ZQotICAgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoIkhvc3Qgbm90IHNldCBhcyBzdWJm
cmFtZSB1bmRlciB0b3AgZnJhbWUuIik7Ci0KLSAgICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIu
c3RhdGlzdGljc1Jlc2V0VG9Db25zaXN0ZW50U3RhdGUoZnVuY3Rpb24oKSB7Ci0gICAgICAgICAg
ICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7Ci0gICAgICAgICAgICAgICAgICB9KTsKLSAgICAg
ICAgICAgICAgfSk7Ci0gICAgICAgICB9KTsKLSAgICB9Ci0gICAgCi0gICAgZnVuY3Rpb24gcnVu
VGVzdFJ1bm5lclRlc3QoKSB7Ci0gICAgICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc01lcmdl
U3RhdGlzdGljKHVybCwgIiIsICIiLCBvbGRlclRpbWVzdGFtcCwgZmFsc2UsIDAsIGZhbHNlLCBm
YWxzZSwgZmFsc2UsIDAsIGZ1bmN0aW9uKCkgewotICAgICAgICAgICAgaWYgKHRlc3RSdW5uZXIu
aXNTdGF0aXN0aWNzUHJldmFsZW50UmVzb3VyY2UodXJsKSkKLSAgICAgICAgICAgICAgICB0ZXN0
RmFpbGVkKCJIb3N0IGdvdCBzZXQgYXMgcHJldmFsZW50IHJlc291cmNlLiIpOwotCi0gICAgICAg
ICAgICBpZiAodGVzdFJ1bm5lci5pc1N0YXRpc3RpY3NWZXJ5UHJldmFsZW50UmVzb3VyY2UodXJs
KSkKLSAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKCJIb3N0IGdvdCBzZXQgYXMgcHJldmFsZW50
IHJlc291cmNlLiIpOwotCi0gICAgICAgICAgICBpZiAodGVzdFJ1bm5lci5pc1N0YXRpc3RpY3NI
YXNIYWRVc2VySW50ZXJhY3Rpb24odXJsKSkKLSAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKCJI
b3N0IGdvdCBsb2dnZWQgZm9yIHVzZXIgaW50ZXJhY3Rpb24uIik7Ci0gICAgICAgICAgICAgCi0g
ICAgICAgICAgICBpZiAodGVzdFJ1bm5lci5pc1N0YXRpc3RpY3NHcmFuZGZhdGhlcmVkKHVybCkp
Ci0gICAgICAgICAgICAgICAgdGVzdEZhaWxlZCgiSG9zdCBnb3Qgc2V0IGFzIGdyYW5kZmF0aGVy
ZWQuIik7Ci0KLSAgICAgICAgICAgIGluc2VydFNlY29uZFN0YXRpc3RpYygpOwotICAgICAgICB9
KTsKLSAgICB9Ci0KLSAgICBmdW5jdGlvbiBzZXRVcEFuZFJ1bigpIHsKLSAgICAgICAgaWYgKHdp
bmRvdy50ZXN0UnVubmVyKSB7Ci0gICAgICAgICAgICB0ZXN0UnVubmVyLnNldFVzZUlUUERhdGFi
YXNlKHRydWUpOwotICAgICAgICAgICAgc2V0RW5hYmxlRmVhdHVyZSh0cnVlLCBmdW5jdGlvbiAo
KSB7Ci0gICAgICAgICAgICAgICAgcnVuVGVzdFJ1bm5lclRlc3QoKTsKLSAgICAgICAgICAgIH0p
OwotICAgICAgICB9IGVsc2UgewotICAgICAgICAgICAgdGVzdEZhaWxlZCgibm8gdGVzdFJ1bm5l
ciIpOwotICAgICAgICAgICAgdGVzdFJ1bm5lci5zdGF0aXN0aWNzUmVzZXRUb0NvbnNpc3RlbnRT
dGF0ZShmdW5jdGlvbigpIHsKLSAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKLSAgICAg
ICAgICAgIH0pOwotICAgICAgICB9Ci0gICAgfQotPC9zY3JpcHQ+Ci08L2JvZHk+Ci08L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3Rp
Y3Mvbm9uLXByZXZhbGVudC1yZXNvdXJjZS13aXRoLXVzZXItaW50ZXJhY3Rpb24tZGF0YWJhc2Ut
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0
aWNzL25vbi1wcmV2YWxlbnQtcmVzb3VyY2Utd2l0aC11c2VyLWludGVyYWN0aW9uLWRhdGFiYXNl
LWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYzg5Zjg1NWE3ODlj
ZjEwYmYzMzBmNGM5MmVhMTJiOTQxYWJlZmMwNy4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0
YXRpc3RpY3Mvbm9uLXByZXZhbGVudC1yZXNvdXJjZS13aXRoLXVzZXItaW50ZXJhY3Rpb24tZGF0
YWJhc2UtZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEsNSArMCwwIEBACi1QQVNTIHN1
Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCi0KLVRFU1QgQ09NUExFVEUKLVBBU1MgQ29va2llIG5v
dCBkZWxldGVkLgotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNl
TG9hZFN0YXRpc3RpY3Mvbm9uLXByZXZhbGVudC1yZXNvdXJjZS13aXRoLXVzZXItaW50ZXJhY3Rp
b24tZGF0YWJhc2UuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3Rh
dGlzdGljcy9ub24tcHJldmFsZW50LXJlc291cmNlLXdpdGgtdXNlci1pbnRlcmFjdGlvbi1kYXRh
YmFzZS5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBhZjMxZDhhYTA0MzRmMzVl
OWYwZTgyN2JjNDUzODlhZmQ4Mjg4MGJiLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlz
dGljcy9ub24tcHJldmFsZW50LXJlc291cmNlLXdpdGgtdXNlci1pbnRlcmFjdGlvbi1kYXRhYmFz
ZS5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsNjIgKzAsMCBAQAotPCFET0NUWVBFIGh0bWw+Ci08
aHRtbCBsYW5nPSJlbiI+Ci08aGVhZD4KLSAgICA8bWV0YSBjaGFyc2V0PSJVVEYtOCI+Ci0gICAg
PHRpdGxlPlRlc3RzIGZvciBOb24tUHJldmFsZW50IFJlc291cmNlIFdpdGggVXNlciBJbnRlcmFj
dGlvbjwvdGl0bGU+Ci0gICAgPHNjcmlwdCBzcmM9Ii9qcy10ZXN0LXJlc291cmNlcy9qcy10ZXN0
LmpzIj48L3NjcmlwdD4KLSAgICA8c2NyaXB0IHNyYz0icmVzb3VyY2VzL3V0aWwuanMiPjwvc2Ny
aXB0PgotPC9oZWFkPgotPGJvZHk+Ci08c2NyaXB0PgotICAgIGNvbnN0IGhvc3RVbmRlclRlc3Qg
PSAiMTI3LjAuMC4xOjgwMDAiOwotICAgIGNvbnN0IHN0YXRpc3RpY3NVcmwgPSAiaHR0cDovLyIg
KyBob3N0VW5kZXJUZXN0ICsgIi90ZW1wIjsKLSAgICBjb25zdCBvdGhlclByZXZhbGVudFVybCA9
ICJodHRwOi8vbG9jYWxob3N0OjgwMDAvdGVtcCI7Ci0KLSAgICBmdW5jdGlvbiBydW5UZXN0UnVu
bmVyVGVzdCgpIHsKLSAgICAgICAgaWYgKGRvY3VtZW50LmNvb2tpZSAhPT0gIiIpCi0gICAgICAg
ICAgICB0ZXN0RmFpbGVkKCJkb2N1bWVudC5jb29raWUgbm90IGVtcHR5LiIpOwotICAgICAgICBj
b25zdCBjb29raWUgPSAidGVzdENvb2tpZT10ZXN0VmFsdWUiOwotICAgICAgICBkb2N1bWVudC5j
b29raWUgPSBjb29raWUgKyAiOyBtYXgtYWdlPTEwMDsiOwotICAgICAgICBpZiAoZG9jdW1lbnQu
Y29va2llICE9PSBjb29raWUpCi0gICAgICAgICAgICB0ZXN0RmFpbGVkKCJkb2N1bWVudC5jb29r
aWUgZGlkIG5vdCBnZXQgc2V0LiIpOwotCi0gICAgICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGlj
c1ByZXZhbGVudFJlc291cmNlKHN0YXRpc3RpY3NVcmwsIGZhbHNlLCBmdW5jdGlvbigpIHsKLSAg
ICAgICAgICAgIGlmICh0ZXN0UnVubmVyLmlzU3RhdGlzdGljc1ByZXZhbGVudFJlc291cmNlKHN0
YXRpc3RpY3NVcmwpKQotICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoIkhvc3QgZGlkIG5vdCBn
ZXQgc2V0IGFzIG5vbi1wcmV2YWxlbnQgcmVzb3VyY2UuIik7Ci0KLSAgICAgICAgICAgIC8vIFRo
aXMgaXMgZG9uZSB0byBub3QgaGF2ZSBhbiBlbXB0eSBzZXQgb2YgcHJldmFsZW50IHJlc291cmNl
cy4KLSAgICAgICAgICAgIC8vIE90aGVyd2lzZSBkYXRhIHJlY29yZHMgYXJlIG5ldmVyIHNjYW5u
ZWQuCi0gICAgICAgICAgICB0ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NQcmV2YWxlbnRSZXNvdXJj
ZShvdGhlclByZXZhbGVudFVybCwgdHJ1ZSwgZnVuY3Rpb24oKSB7Ci0gICAgICAgICAgICAgICAg
aWYgKCF0ZXN0UnVubmVyLmlzU3RhdGlzdGljc1ByZXZhbGVudFJlc291cmNlKG90aGVyUHJldmFs
ZW50VXJsKSkKLSAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZCgiT3RoZXIgaG9zdCBkaWQg
bm90IGdldCBzZXQgYXMgcHJldmFsZW50IHJlc291cmNlLiIpOwotCi0gICAgICAgICAgICAgICAg
dGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNzSGFzSGFkVXNlckludGVyYWN0aW9uKHN0YXRpc3RpY3NV
cmwsIHRydWUsIGZ1bmN0aW9uKCkgewotICAgICAgICAgICAgICAgICAgICBpZiAoIXRlc3RSdW5u
ZXIuaXNTdGF0aXN0aWNzSGFzSGFkVXNlckludGVyYWN0aW9uKHN0YXRpc3RpY3NVcmwpKQotICAg
ICAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZCgiSG9zdCBkaWQgbm90IGdldCBsb2dnZWQg
Zm9yIHVzZXIgaW50ZXJhY3Rpb24uIik7Ci0KLSAgICAgICAgICAgICAgICAgICAgdGVzdFJ1bm5l
ci5pbnN0YWxsU3RhdGlzdGljc0RpZFNjYW5EYXRhUmVjb3Jkc0NhbGxiYWNrKGZ1bmN0aW9uKCkg
ewotICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGRvY3VtZW50LmNvb2tpZSA9PT0gY29va2ll
KQotICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRlc3RQYXNzZWQoIkNvb2tpZSBub3QgZGVs
ZXRlZC4iKTsKLSAgICAgICAgICAgICAgICAgICAgICAgIGVsc2UKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICB0ZXN0RmFpbGVkKCJDb29raWUgZGVsZXRlZCBvciBkb2N1bWVudC5jb29raWUg
Y29udGFpbnMgb3RoZXIgY29va2llczogIiArIGRvY3VtZW50LmNvb2tpZSk7Ci0KLSAgICAgICAg
ICAgICAgICAgICAgICAgIHNldEVuYWJsZUZlYXR1cmUoZmFsc2UsIGZ1bmN0aW9uKCkgewotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIubm90aWZ5RG9uZSgpOwotICAgICAg
ICAgICAgICAgICAgICAgICAgfSk7Ci0gICAgICAgICAgICAgICAgICAgIH0pOwotICAgICAgICAg
ICAgICAgICAgICB0ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NTaG91bGRDbGFzc2lmeVJlc291cmNl
c0JlZm9yZURhdGFSZWNvcmRzUmVtb3ZhbChmYWxzZSk7Ci0gICAgICAgICAgICAgICAgICAgIHRl
c3RSdW5uZXIuc2V0U3RhdGlzdGljc01pbmltdW1UaW1lQmV0d2VlbkRhdGFSZWNvcmRzUmVtb3Zh
bCgwKTsKLSAgICAgICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5zdGF0aXN0aWNzUHJvY2Vzc1N0
YXRpc3RpY3NBbmREYXRhUmVjb3JkcygpOwotICAgICAgICAgICAgICAgIH0pOwotICAgICAgICAg
ICAgfSk7Ci0gICAgICAgIH0pOwotICAgIH0KLQotICAgIGlmIChkb2N1bWVudC5sb2NhdGlvbi5o
b3N0ID09PSBob3N0VW5kZXJUZXN0ICYmIHdpbmRvdy50ZXN0UnVubmVyICYmIHdpbmRvdy5pbnRl
cm5hbHMpIHsKLSAgICAgICAgdGVzdFJ1bm5lci5zZXRVc2VJVFBEYXRhYmFzZSh0cnVlKTsKLSAg
ICAgICAgdGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7Ci0gICAgICAgIHNldEVuYWJsZUZlYXR1
cmUodHJ1ZSwgcnVuVGVzdFJ1bm5lclRlc3QpOwotICAgIH0KLTwvc2NyaXB0PgotPC9ib2R5Pgot
PC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRT
dGF0aXN0aWNzL25vbi1wcmV2YWxlbnQtcmVzb3VyY2Utd2l0aG91dC11c2VyLWludGVyYWN0aW9u
LWRhdGFiYXNlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VM
b2FkU3RhdGlzdGljcy9ub24tcHJldmFsZW50LXJlc291cmNlLXdpdGhvdXQtdXNlci1pbnRlcmFj
dGlvbi1kYXRhYmFzZS1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IGM4OWY4NTVhNzg5Y2YxMGJmMzMwZjRjOTJlYTEyYjk0MWFiZWZjMDcuLjAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9y
ZXNvdXJjZUxvYWRTdGF0aXN0aWNzL25vbi1wcmV2YWxlbnQtcmVzb3VyY2Utd2l0aG91dC11c2Vy
LWludGVyYWN0aW9uLWRhdGFiYXNlLWV4cGVjdGVkLnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDUg
KzAsMCBAQAotUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQotCi1URVNUIENPTVBMRVRF
Ci1QQVNTIENvb2tpZSBub3QgZGVsZXRlZC4KLQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL25vbi1wcmV2YWxlbnQtcmVzb3VyY2Utd2l0
aG91dC11c2VyLWludGVyYWN0aW9uLWRhdGFiYXNlLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rl
c3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3Mvbm9uLXByZXZhbGVudC1yZXNvdXJjZS13aXRob3V0
LXVzZXItaW50ZXJhY3Rpb24tZGF0YWJhc2UuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggNzQ1ZjY5OGJlZDA0MjU2MTE5OTk3Nzc0YWNkNjliNjU3MzQxNzc4ZC4uMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rl
c3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3Mvbm9uLXByZXZhbGVudC1yZXNvdXJjZS13aXRob3V0
LXVzZXItaW50ZXJhY3Rpb24tZGF0YWJhc2UuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDYyICsw
LDAgQEAKLTwhRE9DVFlQRSBodG1sPgotPGh0bWwgbGFuZz0iZW4iPgotPGhlYWQ+Ci0gICAgPG1l
dGEgY2hhcnNldD0iVVRGLTgiPgotICAgIDx0aXRsZT5UZXN0cyBmb3IgTm9uLVByZXZhbGVudCBS
ZXNvdXJjZSBXaXRob3V0IFVzZXIgSW50ZXJhY3Rpb248L3RpdGxlPgotICAgIDxzY3JpcHQgc3Jj
PSIvanMtdGVzdC1yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+Ci0gICAgPHNjcmlwdCBz
cmM9InJlc291cmNlcy91dGlsLmpzIj48L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5PgotPHNjcmlw
dD4KLSAgICBjb25zdCBob3N0VW5kZXJUZXN0ID0gIjEyNy4wLjAuMTo4MDAwIjsKLSAgICBjb25z
dCBzdGF0aXN0aWNzVXJsID0gImh0dHA6Ly8iICsgaG9zdFVuZGVyVGVzdCArICIvdGVtcCI7Ci0g
ICAgY29uc3Qgb3RoZXJQcmV2YWxlbnRVcmwgPSAiaHR0cDovL2xvY2FsaG9zdDo4MDAwL3RlbXAi
OwotCi0gICAgZnVuY3Rpb24gcnVuVGVzdFJ1bm5lclRlc3QoKSB7Ci0gICAgICAgIGlmIChkb2N1
bWVudC5jb29raWUgIT09ICIiKQotICAgICAgICAgICAgdGVzdEZhaWxlZCgiZG9jdW1lbnQuY29v
a2llIG5vdCBlbXB0eS4iKTsKLSAgICAgICAgY29uc3QgY29va2llID0gInRlc3RDb29raWU9dGVz
dFZhbHVlIjsKLSAgICAgICAgZG9jdW1lbnQuY29va2llID0gY29va2llICsgIjsgbWF4LWFnZT0x
MDA7IjsKLSAgICAgICAgaWYgKGRvY3VtZW50LmNvb2tpZSAhPT0gY29va2llKQotICAgICAgICAg
ICAgdGVzdEZhaWxlZCgiZG9jdW1lbnQuY29va2llIGRpZCBub3QgZ2V0IHNldC4iKTsKLQotICAg
ICAgICB0ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NQcmV2YWxlbnRSZXNvdXJjZShzdGF0aXN0aWNz
VXJsLCBmYWxzZSwgZnVuY3Rpb24oKSB7Ci0gICAgICAgICAgICBpZiAodGVzdFJ1bm5lci5pc1N0
YXRpc3RpY3NQcmV2YWxlbnRSZXNvdXJjZShzdGF0aXN0aWNzVXJsKSkKLSAgICAgICAgICAgICAg
ICB0ZXN0RmFpbGVkKCJIb3N0IGRpZCBub3QgZ2V0IHNldCBhcyBub24tcHJldmFsZW50IHJlc291
cmNlLiIpOwotCi0gICAgICAgICAgICAvLyBUaGlzIGlzIGRvbmUgdG8gbm90IGhhdmUgYW4gZW1w
dHkgc2V0IG9mIHByZXZhbGVudCByZXNvdXJjZXMuCi0gICAgICAgICAgICAvLyBPdGhlcndpc2Ug
ZGF0YSByZWNvcmRzIGFyZSBuZXZlciBzY2FubmVkLgotICAgICAgICAgICAgdGVzdFJ1bm5lci5z
ZXRTdGF0aXN0aWNzUHJldmFsZW50UmVzb3VyY2Uob3RoZXJQcmV2YWxlbnRVcmwsIHRydWUsIGZ1
bmN0aW9uKCkgewotICAgICAgICAgICAgICAgIGlmICghdGVzdFJ1bm5lci5pc1N0YXRpc3RpY3NQ
cmV2YWxlbnRSZXNvdXJjZShvdGhlclByZXZhbGVudFVybCkpCi0gICAgICAgICAgICAgICAgICAg
IHRlc3RGYWlsZWQoIk90aGVyIGhvc3QgZGlkIG5vdCBnZXQgc2V0IGFzIHByZXZhbGVudCByZXNv
dXJjZS4iKTsKLQotICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc0hhc0hh
ZFVzZXJJbnRlcmFjdGlvbihzdGF0aXN0aWNzVXJsLCBmYWxzZSwgZnVuY3Rpb24oKSB7Ci0gICAg
ICAgICAgICAgICAgICAgIGlmICh0ZXN0UnVubmVyLmlzU3RhdGlzdGljc0hhc0hhZFVzZXJJbnRl
cmFjdGlvbihzdGF0aXN0aWNzVXJsKSkKLSAgICAgICAgICAgICAgICAgICAgICAgIHRlc3RGYWls
ZWQoIkhvc3QgZGlkIG5vdCBnZXQgY2xlYXJlZCBvZiB1c2VyIGludGVyYWN0aW9uLiIpOwotCi0g
ICAgICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIuaW5zdGFsbFN0YXRpc3RpY3NEaWRTY2FuRGF0
YVJlY29yZHNDYWxsYmFjayhmdW5jdGlvbigpIHsKLSAgICAgICAgICAgICAgICAgICAgICAgIGlm
IChkb2N1bWVudC5jb29raWUgPT09IGNvb2tpZSkKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICB0ZXN0UGFzc2VkKCJDb29raWUgbm90IGRlbGV0ZWQuIik7Ci0gICAgICAgICAgICAgICAgICAg
ICAgICBlbHNlCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZCgiQ29va2ll
IGRlbGV0ZWQgb3IgZG9jdW1lbnQuY29va2llIGNvbnRhaW5zIG90aGVyIGNvb2tpZXM6ICIgKyBk
b2N1bWVudC5jb29raWUpOwotCi0gICAgICAgICAgICAgICAgICAgICAgICBzZXRFbmFibGVGZWF0
dXJlKGZhbHNlLCBmdW5jdGlvbigpIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICB0ZXN0
UnVubmVyLm5vdGlmeURvbmUoKTsKLSAgICAgICAgICAgICAgICAgICAgICAgIH0pOwotICAgICAg
ICAgICAgICAgICAgICB9KTsKLSAgICAgICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5zZXRTdGF0
aXN0aWNzU2hvdWxkQ2xhc3NpZnlSZXNvdXJjZXNCZWZvcmVEYXRhUmVjb3Jkc1JlbW92YWwoZmFs
c2UpOwotICAgICAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NNaW5pbXVt
VGltZUJldHdlZW5EYXRhUmVjb3Jkc1JlbW92YWwoMCk7Ci0gICAgICAgICAgICAgICAgICAgIHRl
c3RSdW5uZXIuc3RhdGlzdGljc1Byb2Nlc3NTdGF0aXN0aWNzQW5kRGF0YVJlY29yZHMoKTsKLSAg
ICAgICAgICAgICAgICB9KTsKLSAgICAgICAgICAgIH0pOwotICAgICAgICB9KTsKLSAgICB9Ci0K
LSAgICBpZiAoZG9jdW1lbnQubG9jYXRpb24uaG9zdCA9PT0gaG9zdFVuZGVyVGVzdCAmJiB3aW5k
b3cudGVzdFJ1bm5lciAmJiB3aW5kb3cuaW50ZXJuYWxzKSB7Ci0gICAgICAgIHRlc3RSdW5uZXIu
c2V0VXNlSVRQRGF0YWJhc2UodHJ1ZSk7Ci0gICAgICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9u
ZSgpOwotICAgICAgICBzZXRFbmFibGVGZWF0dXJlKHRydWUsIHJ1blRlc3RSdW5uZXJUZXN0KTsK
LSAgICB9Ci08L3NjcmlwdD4KLTwvYm9keT4KLTwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9ub24tcHJldmFsZW50LXJlc291
cmNlcy1jYW4tYWNjZXNzLWNvb2tpZXMtaW4tYS10aGlyZC1wYXJ0eS1jb250ZXh0LWRhdGFiYXNl
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlz
dGljcy9ub24tcHJldmFsZW50LXJlc291cmNlcy1jYW4tYWNjZXNzLWNvb2tpZXMtaW4tYS10aGly
ZC1wYXJ0eS1jb250ZXh0LWRhdGFiYXNlLWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMGZiOTdmOTFmY2QzM2NjOTc4OTc5Y2Q0OGE1NWE0OTQ3NGQyNzcxMS4uMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9o
dHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3Mvbm9uLXByZXZhbGVudC1yZXNvdXJjZXMt
Y2FuLWFjY2Vzcy1jb29raWVzLWluLWEtdGhpcmQtcGFydHktY29udGV4dC1kYXRhYmFzZS1leHBl
Y3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSwxMSArMCwwIEBACi1QQVNTIHN1Y2Nlc3NmdWxs
eVBhcnNlZCBpcyB0cnVlCi0KLVRFU1QgQ09NUExFVEUKLQotCi0tLS0tLS0tLQotRnJhbWU6ICc8
IS0tZnJhbWUxLS0+JwotLS0tLS0tLS0KLVNob3VsZCByZWNlaXZlIG9uZSBjb29raWUuCi1SZWNl
aXZlZCBjb29raWUgbmFtZWQgJ2ZpcnN0UGFydHlDb29raWUnLgotQ2xpZW50LXNpZGUgZG9jdW1l
bnQuY29va2llOiBmaXJzdFBhcnR5Q29va2llPXZhbHVlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3Mvbm9uLXByZXZhbGVudC1yZXNvdXJj
ZXMtY2FuLWFjY2Vzcy1jb29raWVzLWluLWEtdGhpcmQtcGFydHktY29udGV4dC1kYXRhYmFzZS5o
dG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL25vbi1w
cmV2YWxlbnQtcmVzb3VyY2VzLWNhbi1hY2Nlc3MtY29va2llcy1pbi1hLXRoaXJkLXBhcnR5LWNv
bnRleHQtZGF0YWJhc2UuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggODJjMTg3
NTZhZDUxYjRmODczYWYxNjFjOTRlYzA4ZDgwM2MyMDE4OC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNl
TG9hZFN0YXRpc3RpY3Mvbm9uLXByZXZhbGVudC1yZXNvdXJjZXMtY2FuLWFjY2Vzcy1jb29raWVz
LWluLWEtdGhpcmQtcGFydHktY29udGV4dC1kYXRhYmFzZS5odG1sCisrKyAvZGV2L251bGwKQEAg
LTEsNjQgKzAsMCBAQAotPCFET0NUWVBFIGh0bWw+Ci08aHRtbCBsYW5nPSJlbiI+Ci08aGVhZD4K
LSAgICA8bWV0YSBjaGFyc2V0PSJVVEYtOCI+Ci0gICAgPHRpdGxlPlRlc3QgdG8gZW5zdXJlIG5v
bi1wcmV2YWxlbnQgcmVzb3VyY2VzIGNhbiBhY2Nlc3MgdGhlaXIgY29va2llcyBpbiBhIHRoaXJk
IHBhcnR5IGNvbnRleHQ8L3RpdGxlPgotICAgIDxzY3JpcHQgc3JjPSIvanMtdGVzdC1yZXNvdXJj
ZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+Ci0gICAgPHNjcmlwdCBzcmM9InJlc291cmNlcy91dGls
LmpzIj48L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5PgotPHNjcmlwdD4KLSAgICBjb25zdCBwYXJ0
aXRpb25Ib3N0ID0gIjEyNy4wLjAuMTo4MDAwIjsKLSAgICBjb25zdCB0aGlyZFBhcnR5T3JpZ2lu
ID0gImh0dHA6Ly9sb2NhbGhvc3Q6ODAwMCI7Ci0gICAgY29uc3QgdGhpcmRQYXJ0eUJhc2VVcmwg
PSB0aGlyZFBhcnR5T3JpZ2luICsgIi9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3Jlc291cmNlcyI7
Ci0gICAgY29uc3QgZmlyc3RQYXJ0eUNvb2tpZU5hbWUgPSAiZmlyc3RQYXJ0eUNvb2tpZSI7Ci0g
ICAgY29uc3Qgc3ViUGF0aFRvU2V0Rmlyc3RQYXJ0eUNvb2tpZSA9ICIvc2V0LWNvb2tpZS5waHA/
bmFtZT0iICsgZmlyc3RQYXJ0eUNvb2tpZU5hbWUgKyAiJnZhbHVlPXZhbHVlIjsKLSAgICBjb25z
dCBmcmFnbWVudFdpdGhSZXR1cm5VcmwgPSAiaHR0cDovLzEyNy4wLjAuMTo4MDAwL3Jlc291cmNl
TG9hZFN0YXRpc3RpY3Mvbm9uLXByZXZhbGVudC1yZXNvdXJjZXMtY2FuLWFjY2Vzcy1jb29raWVz
LWluLWEtdGhpcmQtcGFydHktY29udGV4dC1kYXRhYmFzZS5odG1sIjsKLSAgICBjb25zdCBzdWJQ
YXRoVG9HZXRDb29raWVzID0gIi9nZXQtY29va2llcy5waHA/bmFtZTE9IiArIGZpcnN0UGFydHlD
b29raWVOYW1lOwotCi0gICAgZnVuY3Rpb24gZmluaXNoVGVzdCgpIHsKLSAgICAgICAgc2V0RW5h
YmxlRmVhdHVyZShmYWxzZSwgZnVuY3Rpb24oKSB7Ci0gICAgICAgICAgICB0ZXN0UnVubmVyLm5v
dGlmeURvbmUoKTsKLSAgICAgICAgfSk7Ci0gICAgfQotCi0gICAgZnVuY3Rpb24gb3BlbklmcmFt
ZSh1cmwsIG9uTG9hZEhhbmRsZXIpIHsKLSAgICAgICAgY29uc3QgZWxlbWVudCA9IGRvY3VtZW50
LmNyZWF0ZUVsZW1lbnQoImlmcmFtZSIpOwotICAgICAgICBlbGVtZW50LnNyYyA9IHVybDsKLSAg
ICAgICAgaWYgKG9uTG9hZEhhbmRsZXIpIHsKLSAgICAgICAgICAgIGVsZW1lbnQub25sb2FkID0g
b25Mb2FkSGFuZGxlcjsKLSAgICAgICAgfQotICAgICAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENo
aWxkKGVsZW1lbnQpOwotICAgIH0KLQotICAgIGZ1bmN0aW9uIHJ1blRlc3QoKSB7Ci0gICAgICAg
IHN3aXRjaCAoZG9jdW1lbnQubG9jYXRpb24uaGFzaCkgewotICAgICAgICAgICAgY2FzZSAiI3N0
ZXAxIjoKLSAgICAgICAgICAgICAgICAvLyBTZXQgYSBmaXJzdC1wYXJ0eSBjb29raWUgZm9yIGxv
Y2FsaG9zdC4KLSAgICAgICAgICAgICAgICBkb2N1bWVudC5sb2NhdGlvbi5ocmVmID0gdGhpcmRQ
YXJ0eUJhc2VVcmwgKyBzdWJQYXRoVG9TZXRGaXJzdFBhcnR5Q29va2llICsgIiMiICsgZnJhZ21l
bnRXaXRoUmV0dXJuVXJsICsgIiNzdGVwMiI7Ci0gICAgICAgICAgICAgICAgYnJlYWs7Ci0gICAg
ICAgICAgICBjYXNlICIjc3RlcDIiOgotICAgICAgICAgICAgICAgIC8vIExvYWQgbG9jYWxob3N0
IHVuZGVyIDEyNy4wLjAuMSBhbmQgY2hlY2sgdGhhdCBpdCBnZXRzIGl0cyBjb29raWUuCi0gICAg
ICAgICAgICAgICAgb3BlbklmcmFtZSh0aGlyZFBhcnR5QmFzZVVybCArIHN1YlBhdGhUb0dldENv
b2tpZXMgKyAiJm1lc3NhZ2U9U2hvdWxkIHJlY2VpdmUgb25lIGNvb2tpZS4iLCBmaW5pc2hUZXN0
KTsKLSAgICAgICAgICAgICAgICBicmVhazsKLSAgICAgICAgfQotICAgIH0KLQotICAgIGlmIChk
b2N1bWVudC5sb2NhdGlvbi5ob3N0ID09PSBwYXJ0aXRpb25Ib3N0ICYmIGRvY3VtZW50LmxvY2F0
aW9uLmhhc2ggPT0gIiIgJiYgd2luZG93LnRlc3RSdW5uZXIgJiYgd2luZG93LmludGVybmFscykg
ewotICAgICAgICB0ZXN0UnVubmVyLnNldFVzZUlUUERhdGFiYXNlKHRydWUpOwotICAgICAgICB0
ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTsKLSAgICAgICAgdGVzdFJ1bm5lci5kdW1wQ2hpbGRG
cmFtZXNBc1RleHQoKTsKLSAgICAgICAgc2V0RW5hYmxlRmVhdHVyZSh0cnVlLCBmdW5jdGlvbigp
IHsKLSAgICAgICAgICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc1ByZXZhbGVudFJlc291cmNl
KHRoaXJkUGFydHlPcmlnaW4sIGZhbHNlLCBmdW5jdGlvbigpIHsKLSAgICAgICAgICAgICAgICB0
ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NIYXNIYWRVc2VySW50ZXJhY3Rpb24odGhpcmRQYXJ0eU9y
aWdpbiwgZmFsc2UsIGZ1bmN0aW9uKCkgewotICAgICAgICAgICAgICAgICAgICBkb2N1bWVudC5s
b2NhdGlvbi5oYXNoID0gInN0ZXAxIjsKLSAgICAgICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5z
dGF0aXN0aWNzVXBkYXRlQ29va2llQmxvY2tpbmcocnVuVGVzdCk7Ci0gICAgICAgICAgICAgICAg
fSk7Ci0gICAgICAgICAgICB9KTsKLSAgICAgICAgfSk7Ci0gICAgfSBlbHNlIHsKLSAgICAgICAg
cnVuVGVzdCgpOwotICAgIH0KLTwvc2NyaXB0PgotPC9ib2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL25vbi1zYW5k
Ym94ZWQtaWZyYW1lLXJlZGlyZWN0LWlwLXRvLWxvY2FsaG9zdC10by1pcC1kYXRhYmFzZS1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3Mv
bm9uLXNhbmRib3hlZC1pZnJhbWUtcmVkaXJlY3QtaXAtdG8tbG9jYWxob3N0LXRvLWlwLWRhdGFi
YXNlLWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggODYzYzcyMDJi
MDNlNzcwZDZlNDQ2ZmI2ZjM0MDBmYjM4YzU5ZjUzMC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9h
ZFN0YXRpc3RpY3Mvbm9uLXNhbmRib3hlZC1pZnJhbWUtcmVkaXJlY3QtaXAtdG8tbG9jYWxob3N0
LXRvLWlwLWRhdGFiYXNlLWV4cGVjdGVkLnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDEyICswLDAg
QEAKLVRlc3RzIHRoYXQgcmVkaXJlY3RzIGZvciBhIG5vbi1zYW5kYm94ZWQgaWZyYW1lIGdldCBj
b3VudGVkIHByb3Blcmx5LgotCi1PbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2Yg
IlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCi0KLQotUEFTUyB0
ZXN0UnVubmVyLmlzU3RhdGlzdGljc1JlZ2lzdGVyZWRBc1N1YkZyYW1lVW5kZXIoImh0dHA6Ly9s
b2NhbGhvc3QiLCAiaHR0cDovLzEyNy4wLjAuMSIpIGlzIHRydWUKLVBBU1MgdGVzdFJ1bm5lci5p
c1N0YXRpc3RpY3NSZWdpc3RlcmVkQXNSZWRpcmVjdGluZ1RvKCJodHRwOi8vbG9jYWxob3N0Iiwg
Imh0dHA6Ly8xMjcuMC4wLjEiKSBpcyB0cnVlCi1QQVNTIHRlc3RSdW5uZXIuaXNTdGF0aXN0aWNz
UmVnaXN0ZXJlZEFzUmVkaXJlY3RpbmdUbygiaHR0cDovLzEyNy4wLjAuMSIsICJodHRwOi8vbG9j
YWxob3N0IikgaXMgdHJ1ZQotUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQotCi1URVNU
IENPTVBMRVRFCi0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VM
b2FkU3RhdGlzdGljcy9ub24tc2FuZGJveGVkLWlmcmFtZS1yZWRpcmVjdC1pcC10by1sb2NhbGhv
c3QtdG8taXAtZGF0YWJhc2UuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VM
b2FkU3RhdGlzdGljcy9ub24tc2FuZGJveGVkLWlmcmFtZS1yZWRpcmVjdC1pcC10by1sb2NhbGhv
c3QtdG8taXAtZGF0YWJhc2UuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYjVi
ZGE2ZjlmMWJjZWJmNDg5NDU1YmVjZTQ4NWY1Y2VjZDFmNjA5Yy4uMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291
cmNlTG9hZFN0YXRpc3RpY3Mvbm9uLXNhbmRib3hlZC1pZnJhbWUtcmVkaXJlY3QtaXAtdG8tbG9j
YWxob3N0LXRvLWlwLWRhdGFiYXNlLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSw1NCArMCwwIEBA
Ci08IURPQ1RZUEUgaHRtbD4KLTxodG1sPgotPGhlYWQ+Ci0gICAgPHNjcmlwdCBzcmM9Ii9qcy10
ZXN0LXJlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KLSAgICA8c2NyaXB0IHNyYz0icmVz
b3VyY2VzL3V0aWwuanMiPjwvc2NyaXB0PgotICAgIDxzY3JpcHQ+Ci0gICAgICAgIGRlc2NyaXB0
aW9uKCJUZXN0cyB0aGF0IHJlZGlyZWN0cyBmb3IgYSBub24tc2FuZGJveGVkIGlmcmFtZSBnZXQg
Y291bnRlZCBwcm9wZXJseS4iKTsKLSAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7Ci0gICAg
ICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJtZXNzYWdlIiwgcmVjZWl2ZU1lc3NhZ2UsIGZh
bHNlKTsKLQotICAgICAgICBmdW5jdGlvbiBmaW5pc2hUZXN0KCkgewotICAgICAgICAgICAgc2V0
RW5hYmxlRmVhdHVyZShmYWxzZSwgZmluaXNoSlNUZXN0KTsKLSAgICAgICAgfQotCi0gICAgICAg
IHZhciBsYXN0UGFnZUluUmVkaXJlY3RDaGFpbkxvYWRlZCA9IGZhbHNlOwotICAgICAgICB2YXIg
c3RhdHNDaGVja2VkID0gZmFsc2U7Ci0KLSAgICAgICAgZnVuY3Rpb24gcmVjZWl2ZU1lc3NhZ2Uo
ZXZlbnQpIHsKLSAgICAgICAgICAgIGlmIChldmVudC5vcmlnaW4gPT09ICJodHRwOi8vMTI3LjAu
MC4xOjgwMDAiKSB7Ci0gICAgICAgICAgICAgICAgaWYgKGV2ZW50LmRhdGEuaW5kZXhPZigiUEFT
UyIpID09PSAtMSkKLSAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChldmVudC5kYXRhLnJl
cGxhY2UoIkZBSUwgIiwgIiIpKTsKLSAgICAgICAgICAgIH0gZWxzZQotICAgICAgICAgICAgICAg
IHRlc3RGYWlsZWQoIlJlY2VpdmVkIGEgbWVzc2FnZSBmcm9tIGFuIHVuZXhwZWN0ZWQgb3JpZ2lu
OiAiICsgZXZlbnQub3JpZ2luKTsKLQotICAgICAgICAgICAgbGFzdFBhZ2VJblJlZGlyZWN0Q2hh
aW5Mb2FkZWQgPSB0cnVlOwotICAgICAgICAgICAgaWYgKHN0YXRzQ2hlY2tlZCkKLSAgICAgICAg
ICAgICAgICBmaW5pc2hUZXN0KCk7Ci0gICAgICAgICAgICBlbHNlCi0gICAgICAgICAgICAgICAg
dGVzdFJ1bm5lci5zdGF0aXN0aWNzTm90aWZ5T2JzZXJ2ZXIoKTsKLSAgICAgICAgfQotCi0gICAg
ICAgIGZ1bmN0aW9uIGNoZWNrU3RhdHMoKSB7Ci0gICAgICAgICAgICBzaG91bGRCZVRydWUoJ3Rl
c3RSdW5uZXIuaXNTdGF0aXN0aWNzUmVnaXN0ZXJlZEFzU3ViRnJhbWVVbmRlcigiaHR0cDovL2xv
Y2FsaG9zdCIsICJodHRwOi8vMTI3LjAuMC4xIiknKTsKLSAgICAgICAgICAgIHNob3VsZEJlVHJ1
ZSgndGVzdFJ1bm5lci5pc1N0YXRpc3RpY3NSZWdpc3RlcmVkQXNSZWRpcmVjdGluZ1RvKCJodHRw
Oi8vbG9jYWxob3N0IiwgImh0dHA6Ly8xMjcuMC4wLjEiKScpOwotICAgICAgICAgICAgc2hvdWxk
QmVUcnVlKCd0ZXN0UnVubmVyLmlzU3RhdGlzdGljc1JlZ2lzdGVyZWRBc1JlZGlyZWN0aW5nVG8o
Imh0dHA6Ly8xMjcuMC4wLjEiLCAiaHR0cDovL2xvY2FsaG9zdCIpJyk7Ci0KLSAgICAgICAgICAg
IHN0YXRzQ2hlY2tlZCA9IHRydWU7Ci0gICAgICAgICAgICBpZiAobGFzdFBhZ2VJblJlZGlyZWN0
Q2hhaW5Mb2FkZWQpCi0gICAgICAgICAgICAgICAgZmluaXNoVGVzdCgpOwotICAgICAgICB9Ci0K
LSAgICAgICAgaWYgKHRlc3RSdW5uZXIpIHsKLSAgICAgICAgICAgIHRlc3RSdW5uZXIuc2V0VXNl
SVRQRGF0YWJhc2UodHJ1ZSk7Ci0gICAgICAgICAgICBzZXRFbmFibGVGZWF0dXJlKHRydWUsIGZ1
bmN0aW9uKCkgewotICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIuaW5zdGFsbFN0YXRpc3RpY3NE
aWRTY2FuRGF0YVJlY29yZHNDYWxsYmFjayhjaGVja1N0YXRzKTsKLSAgICAgICAgICAgIH0pOwot
ICAgICAgICB9Ci0gICAgPC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keT4KLTxpZnJhbWUgc3JjPSJo
dHRwOi8vMTI3LjAuMC4xOjgwMDAvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9yZXNvdXJjZXMvcmVk
aXJlY3QucGhwP3JlZGlyZWN0VG89aHR0cDovL2xvY2FsaG9zdDo4MDAwL3Jlc291cmNlTG9hZFN0
YXRpc3RpY3MvcmVzb3VyY2VzL3JlZGlyZWN0LnBocC8/cmVkaXJlY3RUbz1odHRwOi8vMTI3LjAu
MC4xOjgwMDAvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9yZXNvdXJjZXMvaWZyYW1lLXJlcG9ydC1i
YWNrLWxvYWRlZC5odG1sIj4KLTwvaWZyYW1lPgotPC9ib2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL25vbi1zYW5k
Ym94ZWQtaWZyYW1lLXJlZGlyZWN0LWxvY2FsaG9zdC10by1pcC10by1sb2NhbGhvc3QtZGF0YWJh
c2UtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0
aXN0aWNzL25vbi1zYW5kYm94ZWQtaWZyYW1lLXJlZGlyZWN0LWxvY2FsaG9zdC10by1pcC10by1s
b2NhbGhvc3QtZGF0YWJhc2UtZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCA4NjNjNzIwMmIwM2U3NzBkNmU0NDZmYjZmMzQwMGZiMzhjNTlmNTMwLi4wMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVz
dHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9ub24tc2FuZGJveGVkLWlmcmFtZS1yZWRpcmVjdC1s
b2NhbGhvc3QtdG8taXAtdG8tbG9jYWxob3N0LWRhdGFiYXNlLWV4cGVjdGVkLnR4dAorKysgL2Rl
di9udWxsCkBAIC0xLDEyICswLDAgQEAKLVRlc3RzIHRoYXQgcmVkaXJlY3RzIGZvciBhIG5vbi1z
YW5kYm94ZWQgaWZyYW1lIGdldCBjb3VudGVkIHByb3Blcmx5LgotCi1PbiBzdWNjZXNzLCB5b3Ug
d2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBD
T01QTEVURSIuCi0KLQotUEFTUyB0ZXN0UnVubmVyLmlzU3RhdGlzdGljc1JlZ2lzdGVyZWRBc1N1
YkZyYW1lVW5kZXIoImh0dHA6Ly9sb2NhbGhvc3QiLCAiaHR0cDovLzEyNy4wLjAuMSIpIGlzIHRy
dWUKLVBBU1MgdGVzdFJ1bm5lci5pc1N0YXRpc3RpY3NSZWdpc3RlcmVkQXNSZWRpcmVjdGluZ1Rv
KCJodHRwOi8vbG9jYWxob3N0IiwgImh0dHA6Ly8xMjcuMC4wLjEiKSBpcyB0cnVlCi1QQVNTIHRl
c3RSdW5uZXIuaXNTdGF0aXN0aWNzUmVnaXN0ZXJlZEFzUmVkaXJlY3RpbmdUbygiaHR0cDovLzEy
Ny4wLjAuMSIsICJodHRwOi8vbG9jYWxob3N0IikgaXMgdHJ1ZQotUEFTUyBzdWNjZXNzZnVsbHlQ
YXJzZWQgaXMgdHJ1ZQotCi1URVNUIENPTVBMRVRFCi0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9ub24tc2FuZGJveGVkLWlmcmFtZS1y
ZWRpcmVjdC1sb2NhbGhvc3QtdG8taXAtdG8tbG9jYWxob3N0LWRhdGFiYXNlLmh0bWwgYi9MYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3Mvbm9uLXNhbmRib3hlZC1p
ZnJhbWUtcmVkaXJlY3QtbG9jYWxob3N0LXRvLWlwLXRvLWxvY2FsaG9zdC1kYXRhYmFzZS5odG1s
CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBmMmUwMzRjNGNmNzA5MzViYzJjYmNiNzJi
ZTRmM2RmYWUyNWYwMDdlLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9ub24t
c2FuZGJveGVkLWlmcmFtZS1yZWRpcmVjdC1sb2NhbGhvc3QtdG8taXAtdG8tbG9jYWxob3N0LWRh
dGFiYXNlLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSw1NCArMCwwIEBACi08IURPQ1RZUEUgaHRt
bD4KLTxodG1sPgotPGhlYWQ+Ci0gICAgPHNjcmlwdCBzcmM9Ii9qcy10ZXN0LXJlc291cmNlcy9q
cy10ZXN0LmpzIj48L3NjcmlwdD4KLSAgICA8c2NyaXB0IHNyYz0icmVzb3VyY2VzL3V0aWwuanMi
Pjwvc2NyaXB0PgotICAgIDxzY3JpcHQ+Ci0gICAgICAgIGRlc2NyaXB0aW9uKCJUZXN0cyB0aGF0
IHJlZGlyZWN0cyBmb3IgYSBub24tc2FuZGJveGVkIGlmcmFtZSBnZXQgY291bnRlZCBwcm9wZXJs
eS4iKTsKLSAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7Ci0gICAgICAgIHdpbmRvdy5hZGRF
dmVudExpc3RlbmVyKCJtZXNzYWdlIiwgcmVjZWl2ZU1lc3NhZ2UsIGZhbHNlKTsKLQotICAgICAg
ICBmdW5jdGlvbiBmaW5pc2hUZXN0KCkgewotICAgICAgICAgICAgc2V0RW5hYmxlRmVhdHVyZShm
YWxzZSwgZmluaXNoSlNUZXN0KTsKLSAgICAgICAgfQotCi0gICAgICAgIHZhciBsYXN0UGFnZUlu
UmVkaXJlY3RDaGFpbkxvYWRlZCA9IGZhbHNlOwotICAgICAgICB2YXIgc3RhdHNDaGVja2VkID0g
ZmFsc2U7Ci0KLSAgICAgICAgZnVuY3Rpb24gcmVjZWl2ZU1lc3NhZ2UoZXZlbnQpIHsKLSAgICAg
ICAgICAgIGlmIChldmVudC5vcmlnaW4gPT09ICJodHRwOi8vbG9jYWxob3N0OjgwMDAiKSB7Ci0g
ICAgICAgICAgICAgICAgaWYgKGV2ZW50LmRhdGEuaW5kZXhPZigiUEFTUyIpID09PSAtMSkKLSAg
ICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChldmVudC5kYXRhLnJlcGxhY2UoIkZBSUwgIiwg
IiIpKTsKLSAgICAgICAgICAgIH0gZWxzZQotICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoIlJl
Y2VpdmVkIGEgbWVzc2FnZSBmcm9tIGFuIHVuZXhwZWN0ZWQgb3JpZ2luOiAiICsgZXZlbnQub3Jp
Z2luKTsKLQotICAgICAgICAgICAgbGFzdFBhZ2VJblJlZGlyZWN0Q2hhaW5Mb2FkZWQgPSB0cnVl
OwotICAgICAgICAgICAgaWYgKHN0YXRzQ2hlY2tlZCkKLSAgICAgICAgICAgICAgICBmaW5pc2hU
ZXN0KCk7Ci0gICAgICAgICAgICBlbHNlCi0gICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5zdGF0
aXN0aWNzTm90aWZ5T2JzZXJ2ZXIoKTsKLSAgICAgICAgfQotCi0gICAgICAgIGZ1bmN0aW9uIGNo
ZWNrU3RhdHMoKSB7Ci0gICAgICAgICAgICBzaG91bGRCZVRydWUoJ3Rlc3RSdW5uZXIuaXNTdGF0
aXN0aWNzUmVnaXN0ZXJlZEFzU3ViRnJhbWVVbmRlcigiaHR0cDovL2xvY2FsaG9zdCIsICJodHRw
Oi8vMTI3LjAuMC4xIiknKTsKLSAgICAgICAgICAgIHNob3VsZEJlVHJ1ZSgndGVzdFJ1bm5lci5p
c1N0YXRpc3RpY3NSZWdpc3RlcmVkQXNSZWRpcmVjdGluZ1RvKCJodHRwOi8vbG9jYWxob3N0Iiwg
Imh0dHA6Ly8xMjcuMC4wLjEiKScpOwotICAgICAgICAgICAgc2hvdWxkQmVUcnVlKCd0ZXN0UnVu
bmVyLmlzU3RhdGlzdGljc1JlZ2lzdGVyZWRBc1JlZGlyZWN0aW5nVG8oImh0dHA6Ly8xMjcuMC4w
LjEiLCAiaHR0cDovL2xvY2FsaG9zdCIpJyk7Ci0KLSAgICAgICAgICAgIHN0YXRzQ2hlY2tlZCA9
IHRydWU7Ci0gICAgICAgICAgICBpZiAobGFzdFBhZ2VJblJlZGlyZWN0Q2hhaW5Mb2FkZWQpCi0g
ICAgICAgICAgICAgICAgZmluaXNoVGVzdCgpOwotICAgICAgICB9Ci0KLSAgICAgICAgaWYgKHRl
c3RSdW5uZXIpIHsKLSAgICAgICAgICAgIHRlc3RSdW5uZXIuc2V0VXNlSVRQRGF0YWJhc2UodHJ1
ZSk7Ci0gICAgICAgICAgICBzZXRFbmFibGVGZWF0dXJlKHRydWUsIGZ1bmN0aW9uKCkgewotICAg
ICAgICAgICAgICAgIHRlc3RSdW5uZXIuaW5zdGFsbFN0YXRpc3RpY3NEaWRTY2FuRGF0YVJlY29y
ZHNDYWxsYmFjayhjaGVja1N0YXRzKTsKLSAgICAgICAgICAgIH0pOwotICAgICAgICB9Ci0gICAg
PC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keT4KLTxpZnJhbWUgc3JjPSJodHRwOi8vbG9jYWxob3N0
OjgwMDAvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9yZXNvdXJjZXMvcmVkaXJlY3QucGhwLz9yZWRp
cmVjdFRvPWh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3Jlc291
cmNlcy9yZWRpcmVjdC5waHAvP3JlZGlyZWN0VG89aHR0cDovL2xvY2FsaG9zdDo4MDAwL3Jlc291
cmNlTG9hZFN0YXRpc3RpY3MvcmVzb3VyY2VzL2lmcmFtZS1yZXBvcnQtYmFjay1sb2FkZWQuaHRt
bCI+Ci08L2lmcmFtZT4KLTwvYm9keT4KLTwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9ub24tc2FuZGJveGVkLW5lc3Rpbmct
aWZyYW1lLXdpdGgtbm9uLXNhbmRib3hlZC1pZnJhbWUtcmVkaXJlY3QtaXAtdG8tbG9jYWxob3N0
LXRvLWlwLWRhdGFiYXNlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVz
b3VyY2VMb2FkU3RhdGlzdGljcy9ub24tc2FuZGJveGVkLW5lc3RpbmctaWZyYW1lLXdpdGgtbm9u
LXNhbmRib3hlZC1pZnJhbWUtcmVkaXJlY3QtaXAtdG8tbG9jYWxob3N0LXRvLWlwLWRhdGFiYXNl
LWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggOWI1MTZmMTMyZjlm
YjEwMTM2ODIyNjNjNmYyYzgxMGI3ZmFmOWQ4Zi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0
YXRpc3RpY3Mvbm9uLXNhbmRib3hlZC1uZXN0aW5nLWlmcmFtZS13aXRoLW5vbi1zYW5kYm94ZWQt
aWZyYW1lLXJlZGlyZWN0LWlwLXRvLWxvY2FsaG9zdC10by1pcC1kYXRhYmFzZS1leHBlY3RlZC50
eHQKKysrIC9kZXYvbnVsbApAQCAtMSwxMiArMCwwIEBACi1UZXN0cyB0aGF0IHJlZGlyZWN0cyBm
b3IgYSBub24tc2FuZGJveGVkIGlmcmFtZSBuZXN0ZWQgaW4gYSBub24tc2FuZGJveGVkIGlmcmFt
ZSBnZXQgY291bnRlZCBwcm9wZXJseS4KLQotT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2Vy
aWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgotCi0K
LVBBU1MgdGVzdFJ1bm5lci5pc1N0YXRpc3RpY3NSZWdpc3RlcmVkQXNTdWJGcmFtZVVuZGVyKCJo
dHRwOi8vbG9jYWxob3N0IiwgImh0dHA6Ly8xMjcuMC4wLjEiKSBpcyB0cnVlCi1QQVNTIHRlc3RS
dW5uZXIuaXNTdGF0aXN0aWNzUmVnaXN0ZXJlZEFzUmVkaXJlY3RpbmdUbygiaHR0cDovL2xvY2Fs
aG9zdCIsICJodHRwOi8vMTI3LjAuMC4xIikgaXMgdHJ1ZQotUEFTUyB0ZXN0UnVubmVyLmlzU3Rh
dGlzdGljc1JlZ2lzdGVyZWRBc1JlZGlyZWN0aW5nVG8oImh0dHA6Ly8xMjcuMC4wLjEiLCAiaHR0
cDovL2xvY2FsaG9zdCIpIGlzIHRydWUKLVBBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUK
LQotVEVTVCBDT01QTEVURQotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jl
c291cmNlTG9hZFN0YXRpc3RpY3Mvbm9uLXNhbmRib3hlZC1uZXN0aW5nLWlmcmFtZS13aXRoLW5v
bi1zYW5kYm94ZWQtaWZyYW1lLXJlZGlyZWN0LWlwLXRvLWxvY2FsaG9zdC10by1pcC1kYXRhYmFz
ZS5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL25v
bi1zYW5kYm94ZWQtbmVzdGluZy1pZnJhbWUtd2l0aC1ub24tc2FuZGJveGVkLWlmcmFtZS1yZWRp
cmVjdC1pcC10by1sb2NhbGhvc3QtdG8taXAtZGF0YWJhc2UuaHRtbApkZWxldGVkIGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMGQ2ZTcyZjNjMDdiMDFlMTc0MjFlOGUzY2M0ODM1NGJlYjQzZTIyNi4u
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3Mvbm9uLXNhbmRib3hlZC1uZXN0aW5n
LWlmcmFtZS13aXRoLW5vbi1zYW5kYm94ZWQtaWZyYW1lLXJlZGlyZWN0LWlwLXRvLWxvY2FsaG9z
dC10by1pcC1kYXRhYmFzZS5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsNTQgKzAsMCBAQAotPCFE
T0NUWVBFIGh0bWw+Ci08aHRtbD4KLTxoZWFkPgotICAgIDxzY3JpcHQgc3JjPSIvanMtdGVzdC1y
ZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+Ci0gICAgPHNjcmlwdCBzcmM9InJlc291cmNl
cy91dGlsLmpzIj48L3NjcmlwdD4KLSAgICA8c2NyaXB0PgotICAgICAgICBkZXNjcmlwdGlvbigi
VGVzdHMgdGhhdCByZWRpcmVjdHMgZm9yIGEgbm9uLXNhbmRib3hlZCBpZnJhbWUgbmVzdGVkIGlu
IGEgbm9uLXNhbmRib3hlZCBpZnJhbWUgZ2V0IGNvdW50ZWQgcHJvcGVybHkuIik7Ci0gICAgICAg
IGpzVGVzdElzQXN5bmMgPSB0cnVlOwotICAgICAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigi
bWVzc2FnZSIsIHJlY2VpdmVNZXNzYWdlLCBmYWxzZSk7Ci0KLSAgICAgICAgZnVuY3Rpb24gZmlu
aXNoVGVzdCgpIHsKLSAgICAgICAgICAgIHNldEVuYWJsZUZlYXR1cmUoZmFsc2UsIGZpbmlzaEpT
VGVzdCk7Ci0gICAgICAgIH0KLQotICAgICAgICB2YXIgbGFzdFBhZ2VJblJlZGlyZWN0Q2hhaW5M
b2FkZWQgPSBmYWxzZTsKLSAgICAgICAgdmFyIHN0YXRzQ2hlY2tlZCA9IGZhbHNlOwotCi0gICAg
ICAgIGZ1bmN0aW9uIHJlY2VpdmVNZXNzYWdlKGV2ZW50KSB7Ci0gICAgICAgICAgICBpZiAoZXZl
bnQub3JpZ2luID09PSAiaHR0cDovLzEyNy4wLjAuMTo4MDAwIikgewotICAgICAgICAgICAgICAg
IGlmIChldmVudC5kYXRhLmluZGV4T2YoIlBBU1MiKSA9PT0gLTEpCi0gICAgICAgICAgICAgICAg
ICAgIHRlc3RGYWlsZWQoZXZlbnQuZGF0YS5yZXBsYWNlKCJGQUlMICIsICIiKSk7Ci0gICAgICAg
ICAgICB9IGVsc2UKLSAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKCJSZWNlaXZlZCBhIG1lc3Nh
Z2UgZnJvbSBhbiB1bmV4cGVjdGVkIG9yaWdpbjogIiArIGV2ZW50Lm9yaWdpbik7Ci0KLSAgICAg
ICAgICAgIGxhc3RQYWdlSW5SZWRpcmVjdENoYWluTG9hZGVkID0gdHJ1ZTsKLSAgICAgICAgICAg
IGlmIChzdGF0c0NoZWNrZWQpCi0gICAgICAgICAgICAgICAgZmluaXNoVGVzdCgpOwotICAgICAg
ICAgICAgZWxzZQotICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIuc3RhdGlzdGljc05vdGlmeU9i
c2VydmVyKCk7Ci0gICAgICAgIH0KLQotICAgICAgICBmdW5jdGlvbiBjaGVja1N0YXRzKCkgewot
ICAgICAgICAgICAgc2hvdWxkQmVUcnVlKCd0ZXN0UnVubmVyLmlzU3RhdGlzdGljc1JlZ2lzdGVy
ZWRBc1N1YkZyYW1lVW5kZXIoImh0dHA6Ly9sb2NhbGhvc3QiLCAiaHR0cDovLzEyNy4wLjAuMSIp
Jyk7Ci0gICAgICAgICAgICBzaG91bGRCZVRydWUoJ3Rlc3RSdW5uZXIuaXNTdGF0aXN0aWNzUmVn
aXN0ZXJlZEFzUmVkaXJlY3RpbmdUbygiaHR0cDovL2xvY2FsaG9zdCIsICJodHRwOi8vMTI3LjAu
MC4xIiknKTsKLSAgICAgICAgICAgIHNob3VsZEJlVHJ1ZSgndGVzdFJ1bm5lci5pc1N0YXRpc3Rp
Y3NSZWdpc3RlcmVkQXNSZWRpcmVjdGluZ1RvKCJodHRwOi8vMTI3LjAuMC4xIiwgImh0dHA6Ly9s
b2NhbGhvc3QiKScpOwotCi0gICAgICAgICAgICBzdGF0c0NoZWNrZWQgPSB0cnVlOwotICAgICAg
ICAgICAgaWYgKGxhc3RQYWdlSW5SZWRpcmVjdENoYWluTG9hZGVkKQotICAgICAgICAgICAgICAg
IGZpbmlzaFRlc3QoKTsKLSAgICAgICAgfQotCi0gICAgICAgIGlmICh0ZXN0UnVubmVyKSB7Ci0g
ICAgICAgICAgICB0ZXN0UnVubmVyLnNldFVzZUlUUERhdGFiYXNlKHRydWUpOwotICAgICAgICAg
ICAgc2V0RW5hYmxlRmVhdHVyZSh0cnVlLCBmdW5jdGlvbigpIHsKLSAgICAgICAgICAgICAgICB0
ZXN0UnVubmVyLmluc3RhbGxTdGF0aXN0aWNzRGlkU2NhbkRhdGFSZWNvcmRzQ2FsbGJhY2soY2hl
Y2tTdGF0cyk7Ci0gICAgICAgICAgICB9KTsKLSAgICAgICAgfQotICAgIDwvc2NyaXB0PgotPC9o
ZWFkPgotPGJvZHk+Ci08aWZyYW1lIHNyYz0iaHR0cDovLzEyNy4wLjAuMTo4MDAwL3Jlc291cmNl
TG9hZFN0YXRpc3RpY3MvcmVzb3VyY2VzL3BhZ2Utd2l0aC1ub24tc2FuZGJveGVkLWlmcmFtZS1y
ZWRpcmVjdC1pcC10by1sb2NhbGhvc3QtdG8taXAuaHRtbCI+Ci08L2lmcmFtZT4KLTwvYm9keT4K
LTwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2Fk
U3RhdGlzdGljcy9ub24tc2FuZGJveGVkLW5lc3RpbmctaWZyYW1lLXdpdGgtbm9uLXNhbmRib3hl
ZC1pZnJhbWUtcmVkaXJlY3QtbG9jYWxob3N0LXRvLWlwLXRvLWxvY2FsaG9zdC1kYXRhYmFzZS1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3Rp
Y3Mvbm9uLXNhbmRib3hlZC1uZXN0aW5nLWlmcmFtZS13aXRoLW5vbi1zYW5kYm94ZWQtaWZyYW1l
LXJlZGlyZWN0LWxvY2FsaG9zdC10by1pcC10by1sb2NhbGhvc3QtZGF0YWJhc2UtZXhwZWN0ZWQu
dHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA5YjUxNmYxMzJmOWZiMTAxMzY4MjI2
M2M2ZjJjODEwYjdmYWY5ZDhmLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwCi0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9u
b24tc2FuZGJveGVkLW5lc3RpbmctaWZyYW1lLXdpdGgtbm9uLXNhbmRib3hlZC1pZnJhbWUtcmVk
aXJlY3QtbG9jYWxob3N0LXRvLWlwLXRvLWxvY2FsaG9zdC1kYXRhYmFzZS1leHBlY3RlZC50eHQK
KysrIC9kZXYvbnVsbApAQCAtMSwxMiArMCwwIEBACi1UZXN0cyB0aGF0IHJlZGlyZWN0cyBmb3Ig
YSBub24tc2FuZGJveGVkIGlmcmFtZSBuZXN0ZWQgaW4gYSBub24tc2FuZGJveGVkIGlmcmFtZSBn
ZXQgY291bnRlZCBwcm9wZXJseS4KLQotT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVz
IG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgotCi0KLVBB
U1MgdGVzdFJ1bm5lci5pc1N0YXRpc3RpY3NSZWdpc3RlcmVkQXNTdWJGcmFtZVVuZGVyKCJodHRw
Oi8vbG9jYWxob3N0IiwgImh0dHA6Ly8xMjcuMC4wLjEiKSBpcyB0cnVlCi1QQVNTIHRlc3RSdW5u
ZXIuaXNTdGF0aXN0aWNzUmVnaXN0ZXJlZEFzUmVkaXJlY3RpbmdUbygiaHR0cDovL2xvY2FsaG9z
dCIsICJodHRwOi8vMTI3LjAuMC4xIikgaXMgdHJ1ZQotUEFTUyB0ZXN0UnVubmVyLmlzU3RhdGlz
dGljc1JlZ2lzdGVyZWRBc1JlZGlyZWN0aW5nVG8oImh0dHA6Ly8xMjcuMC4wLjEiLCAiaHR0cDov
L2xvY2FsaG9zdCIpIGlzIHRydWUKLVBBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKLQot
VEVTVCBDT01QTEVURQotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291
cmNlTG9hZFN0YXRpc3RpY3Mvbm9uLXNhbmRib3hlZC1uZXN0aW5nLWlmcmFtZS13aXRoLW5vbi1z
YW5kYm94ZWQtaWZyYW1lLXJlZGlyZWN0LWxvY2FsaG9zdC10by1pcC10by1sb2NhbGhvc3QtZGF0
YWJhc2UuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGlj
cy9ub24tc2FuZGJveGVkLW5lc3RpbmctaWZyYW1lLXdpdGgtbm9uLXNhbmRib3hlZC1pZnJhbWUt
cmVkaXJlY3QtbG9jYWxob3N0LXRvLWlwLXRvLWxvY2FsaG9zdC1kYXRhYmFzZS5odG1sCmRlbGV0
ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA3MDU0NjU3YjhlZDI3NWZmY2FlNDJiMTJhNzYxZjgx
ZDIzN2QxMDY1Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBh
L0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9ub24tc2FuZGJv
eGVkLW5lc3RpbmctaWZyYW1lLXdpdGgtbm9uLXNhbmRib3hlZC1pZnJhbWUtcmVkaXJlY3QtbG9j
YWxob3N0LXRvLWlwLXRvLWxvY2FsaG9zdC1kYXRhYmFzZS5odG1sCisrKyAvZGV2L251bGwKQEAg
LTEsNTQgKzAsMCBAQAotPCFET0NUWVBFIGh0bWw+Ci08aHRtbD4KLTxoZWFkPgotICAgIDxzY3Jp
cHQgc3JjPSIvanMtdGVzdC1yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+Ci0gICAgPHNj
cmlwdCBzcmM9InJlc291cmNlcy91dGlsLmpzIj48L3NjcmlwdD4KLSAgICA8c2NyaXB0PgotICAg
ICAgICBkZXNjcmlwdGlvbigiVGVzdHMgdGhhdCByZWRpcmVjdHMgZm9yIGEgbm9uLXNhbmRib3hl
ZCBpZnJhbWUgbmVzdGVkIGluIGEgbm9uLXNhbmRib3hlZCBpZnJhbWUgZ2V0IGNvdW50ZWQgcHJv
cGVybHkuIik7Ci0gICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOwotICAgICAgICB3aW5kb3cu
YWRkRXZlbnRMaXN0ZW5lcigibWVzc2FnZSIsIHJlY2VpdmVNZXNzYWdlLCBmYWxzZSk7Ci0KLSAg
ICAgICAgZnVuY3Rpb24gZmluaXNoVGVzdCgpIHsKLSAgICAgICAgICAgIHNldEVuYWJsZUZlYXR1
cmUoZmFsc2UsIGZpbmlzaEpTVGVzdCk7Ci0gICAgICAgIH0KLQotICAgICAgICB2YXIgbGFzdFBh
Z2VJblJlZGlyZWN0Q2hhaW5Mb2FkZWQgPSBmYWxzZTsKLSAgICAgICAgdmFyIHN0YXRzQ2hlY2tl
ZCA9IGZhbHNlOwotCi0gICAgICAgIGZ1bmN0aW9uIHJlY2VpdmVNZXNzYWdlKGV2ZW50KSB7Ci0g
ICAgICAgICAgICBpZiAoZXZlbnQub3JpZ2luID09PSAiaHR0cDovL2xvY2FsaG9zdDo4MDAwIikg
ewotICAgICAgICAgICAgICAgIGlmIChldmVudC5kYXRhLmluZGV4T2YoIlBBU1MiKSA9PT0gLTEp
Ci0gICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoZXZlbnQuZGF0YS5yZXBsYWNlKCJGQUlM
ICIsICIiKSk7Ci0gICAgICAgICAgICB9IGVsc2UKLSAgICAgICAgICAgICAgICB0ZXN0RmFpbGVk
KCJSZWNlaXZlZCBhIG1lc3NhZ2UgZnJvbSBhbiB1bmV4cGVjdGVkIG9yaWdpbjogIiArIGV2ZW50
Lm9yaWdpbik7Ci0KLSAgICAgICAgICAgIGxhc3RQYWdlSW5SZWRpcmVjdENoYWluTG9hZGVkID0g
dHJ1ZTsKLSAgICAgICAgICAgIGlmIChzdGF0c0NoZWNrZWQpCi0gICAgICAgICAgICAgICAgZmlu
aXNoVGVzdCgpOwotICAgICAgICAgICAgZWxzZQotICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIu
c3RhdGlzdGljc05vdGlmeU9ic2VydmVyKCk7Ci0gICAgICAgIH0KLQotICAgICAgICBmdW5jdGlv
biBjaGVja1N0YXRzKCkgewotICAgICAgICAgICAgc2hvdWxkQmVUcnVlKCd0ZXN0UnVubmVyLmlz
U3RhdGlzdGljc1JlZ2lzdGVyZWRBc1N1YkZyYW1lVW5kZXIoImh0dHA6Ly9sb2NhbGhvc3QiLCAi
aHR0cDovLzEyNy4wLjAuMSIpJyk7Ci0gICAgICAgICAgICBzaG91bGRCZVRydWUoJ3Rlc3RSdW5u
ZXIuaXNTdGF0aXN0aWNzUmVnaXN0ZXJlZEFzUmVkaXJlY3RpbmdUbygiaHR0cDovL2xvY2FsaG9z
dCIsICJodHRwOi8vMTI3LjAuMC4xIiknKTsKLSAgICAgICAgICAgIHNob3VsZEJlVHJ1ZSgndGVz
dFJ1bm5lci5pc1N0YXRpc3RpY3NSZWdpc3RlcmVkQXNSZWRpcmVjdGluZ1RvKCJodHRwOi8vMTI3
LjAuMC4xIiwgImh0dHA6Ly9sb2NhbGhvc3QiKScpOwotCi0gICAgICAgICAgICBzdGF0c0NoZWNr
ZWQgPSB0cnVlOwotICAgICAgICAgICAgaWYgKGxhc3RQYWdlSW5SZWRpcmVjdENoYWluTG9hZGVk
KQotICAgICAgICAgICAgICAgIGZpbmlzaFRlc3QoKTsKLSAgICAgICAgfQotCi0gICAgICAgIGlm
ICh0ZXN0UnVubmVyKSB7Ci0gICAgICAgICAgICB0ZXN0UnVubmVyLnNldFVzZUlUUERhdGFiYXNl
KHRydWUpOwotICAgICAgICAgICAgc2V0RW5hYmxlRmVhdHVyZSh0cnVlLCBmdW5jdGlvbigpIHsK
LSAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLmluc3RhbGxTdGF0aXN0aWNzRGlkU2NhbkRhdGFS
ZWNvcmRzQ2FsbGJhY2soY2hlY2tTdGF0cyk7Ci0gICAgICAgICAgICB9KTsKLSAgICAgICAgfQot
ICAgIDwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHk+Ci08aWZyYW1lIHNyYz0iaHR0cDovLzEyNy4w
LjAuMTo4MDAwL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvcmVzb3VyY2VzL3BhZ2Utd2l0aC1ub24t
c2FuZGJveGVkLWlmcmFtZS1yZWRpcmVjdC1sb2NhbGhvc3QtdG8taXAtdG8tbG9jYWxob3N0Lmh0
bWwiPgotPC9pZnJhbWU+Ci08L2JvZHk+Ci08L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3Mvbm9uLXNhbmRib3hlZC1uZXN0aW5n
LWlmcmFtZS13aXRoLXNhbmRib3hlZC1pZnJhbWUtcmVkaXJlY3QtaXAtdG8tbG9jYWxob3N0LXRv
LWlwLWRhdGFiYXNlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3Vy
Y2VMb2FkU3RhdGlzdGljcy9ub24tc2FuZGJveGVkLW5lc3RpbmctaWZyYW1lLXdpdGgtc2FuZGJv
eGVkLWlmcmFtZS1yZWRpcmVjdC1pcC10by1sb2NhbGhvc3QtdG8taXAtZGF0YWJhc2UtZXhwZWN0
ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA3MTVjODVlYjQ3ZTBmMDg0MTZl
NjFmZDAxNWZkN2FlM2NiODY2YjY5Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGlj
cy9ub24tc2FuZGJveGVkLW5lc3RpbmctaWZyYW1lLXdpdGgtc2FuZGJveGVkLWlmcmFtZS1yZWRp
cmVjdC1pcC10by1sb2NhbGhvc3QtdG8taXAtZGF0YWJhc2UtZXhwZWN0ZWQudHh0CisrKyAvZGV2
L251bGwKQEAgLTEsMTIgKzAsMCBAQAotVGVzdHMgdGhhdCByZWRpcmVjdHMgZm9yIGEgc2FuZGJv
eGVkIGlmcmFtZSBuZXN0ZWQgaW4gYSBub24tc2FuZGJveGVkIGlmcmFtZSBnZXQgY291bnRlZCBw
cm9wZXJseS4KLQotT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBt
ZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgotCi0KLVBBU1MgdGVzdFJ1bm5l
ci5pc1N0YXRpc3RpY3NSZWdpc3RlcmVkQXNTdWJGcmFtZVVuZGVyKCJodHRwOi8vbG9jYWxob3N0
IiwgImh0dHA6Ly8xMjcuMC4wLjEiKSBpcyB0cnVlCi1QQVNTIHRlc3RSdW5uZXIuaXNTdGF0aXN0
aWNzUmVnaXN0ZXJlZEFzUmVkaXJlY3RpbmdUbygiaHR0cDovL2xvY2FsaG9zdCIsICJodHRwOi8v
MTI3LjAuMC4xIikgaXMgdHJ1ZQotUEFTUyB0ZXN0UnVubmVyLmlzU3RhdGlzdGljc1JlZ2lzdGVy
ZWRBc1JlZGlyZWN0aW5nVG8oImh0dHA6Ly8xMjcuMC4wLjEiLCAiaHR0cDovL2xvY2FsaG9zdCIp
IGlzIHRydWUKLVBBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKLQotVEVTVCBDT01QTEVU
RQotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRp
c3RpY3Mvbm9uLXNhbmRib3hlZC1uZXN0aW5nLWlmcmFtZS13aXRoLXNhbmRib3hlZC1pZnJhbWUt
cmVkaXJlY3QtaXAtdG8tbG9jYWxob3N0LXRvLWlwLWRhdGFiYXNlLmh0bWwgYi9MYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3Mvbm9uLXNhbmRib3hlZC1uZXN0aW5n
LWlmcmFtZS13aXRoLXNhbmRib3hlZC1pZnJhbWUtcmVkaXJlY3QtaXAtdG8tbG9jYWxob3N0LXRv
LWlwLWRhdGFiYXNlLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGVkMmFhZTQ0
YmJiMjhmN2I4NWY4ZmJhY2RhODFmOTc4MWU2ZTdmNjcuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxv
YWRTdGF0aXN0aWNzL25vbi1zYW5kYm94ZWQtbmVzdGluZy1pZnJhbWUtd2l0aC1zYW5kYm94ZWQt
aWZyYW1lLXJlZGlyZWN0LWlwLXRvLWxvY2FsaG9zdC10by1pcC1kYXRhYmFzZS5odG1sCisrKyAv
ZGV2L251bGwKQEAgLTEsNTQgKzAsMCBAQAotPCFET0NUWVBFIGh0bWw+Ci08aHRtbD4KLTxoZWFk
PgotICAgIDxzY3JpcHQgc3JjPSIvanMtdGVzdC1yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3Jp
cHQ+Ci0gICAgPHNjcmlwdCBzcmM9InJlc291cmNlcy91dGlsLmpzIj48L3NjcmlwdD4KLSAgICA8
c2NyaXB0PgotICAgICAgICBkZXNjcmlwdGlvbigiVGVzdHMgdGhhdCByZWRpcmVjdHMgZm9yIGEg
c2FuZGJveGVkIGlmcmFtZSBuZXN0ZWQgaW4gYSBub24tc2FuZGJveGVkIGlmcmFtZSBnZXQgY291
bnRlZCBwcm9wZXJseS4iKTsKLSAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7Ci0gICAgICAg
IHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJtZXNzYWdlIiwgcmVjZWl2ZU1lc3NhZ2UsIGZhbHNl
KTsKLQotICAgICAgICBmdW5jdGlvbiBmaW5pc2hUZXN0KCkgewotICAgICAgICAgICAgc2V0RW5h
YmxlRmVhdHVyZShmYWxzZSwgZmluaXNoSlNUZXN0KTsKLSAgICAgICAgfQotCi0gICAgICAgIHZh
ciBsYXN0UGFnZUluUmVkaXJlY3RDaGFpbkxvYWRlZCA9IGZhbHNlOwotICAgICAgICB2YXIgc3Rh
dHNDaGVja2VkID0gZmFsc2U7Ci0KLSAgICAgICAgZnVuY3Rpb24gcmVjZWl2ZU1lc3NhZ2UoZXZl
bnQpIHsKLSAgICAgICAgICAgIGlmIChldmVudC5vcmlnaW4gPT09ICJudWxsIikgewotICAgICAg
ICAgICAgICAgIGlmIChldmVudC5kYXRhLmluZGV4T2YoIlBBU1MiKSA9PT0gLTEpCi0gICAgICAg
ICAgICAgICAgICAgIHRlc3RGYWlsZWQoZXZlbnQuZGF0YS5yZXBsYWNlKCJGQUlMICIsICIiKSk7
Ci0gICAgICAgICAgICB9IGVsc2UKLSAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKCJSZWNlaXZl
ZCBhIG1lc3NhZ2UgZnJvbSBhbiB1bmV4cGVjdGVkIG9yaWdpbjogIiArIGV2ZW50Lm9yaWdpbik7
Ci0KLSAgICAgICAgICAgIGxhc3RQYWdlSW5SZWRpcmVjdENoYWluTG9hZGVkID0gdHJ1ZTsKLSAg
ICAgICAgICAgIGlmIChzdGF0c0NoZWNrZWQpCi0gICAgICAgICAgICAgICAgZmluaXNoVGVzdCgp
OwotICAgICAgICAgICAgZWxzZQotICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIuc3RhdGlzdGlj
c05vdGlmeU9ic2VydmVyKCk7Ci0gICAgICAgIH0KLQotICAgICAgICBmdW5jdGlvbiBjaGVja1N0
YXRzKCkgewotICAgICAgICAgICAgc2hvdWxkQmVUcnVlKCd0ZXN0UnVubmVyLmlzU3RhdGlzdGlj
c1JlZ2lzdGVyZWRBc1N1YkZyYW1lVW5kZXIoImh0dHA6Ly9sb2NhbGhvc3QiLCAiaHR0cDovLzEy
Ny4wLjAuMSIpJyk7Ci0gICAgICAgICAgICBzaG91bGRCZVRydWUoJ3Rlc3RSdW5uZXIuaXNTdGF0
aXN0aWNzUmVnaXN0ZXJlZEFzUmVkaXJlY3RpbmdUbygiaHR0cDovL2xvY2FsaG9zdCIsICJodHRw
Oi8vMTI3LjAuMC4xIiknKTsKLSAgICAgICAgICAgIHNob3VsZEJlVHJ1ZSgndGVzdFJ1bm5lci5p
c1N0YXRpc3RpY3NSZWdpc3RlcmVkQXNSZWRpcmVjdGluZ1RvKCJodHRwOi8vMTI3LjAuMC4xIiwg
Imh0dHA6Ly9sb2NhbGhvc3QiKScpOwotCi0gICAgICAgICAgICBzdGF0c0NoZWNrZWQgPSB0cnVl
OwotICAgICAgICAgICAgaWYgKGxhc3RQYWdlSW5SZWRpcmVjdENoYWluTG9hZGVkKQotICAgICAg
ICAgICAgICAgIGZpbmlzaFRlc3QoKTsKLSAgICAgICAgfQotCi0gICAgICAgIGlmICh0ZXN0UnVu
bmVyKSB7Ci0gICAgICAgICAgICB0ZXN0UnVubmVyLnNldFVzZUlUUERhdGFiYXNlKHRydWUpOwot
ICAgICAgICAgICAgc2V0RW5hYmxlRmVhdHVyZSh0cnVlLCBmdW5jdGlvbigpIHsKLSAgICAgICAg
ICAgICAgICB0ZXN0UnVubmVyLmluc3RhbGxTdGF0aXN0aWNzRGlkU2NhbkRhdGFSZWNvcmRzQ2Fs
bGJhY2soY2hlY2tTdGF0cyk7Ci0gICAgICAgICAgICB9KTsKLSAgICAgICAgfQotICAgIDwvc2Ny
aXB0PgotPC9oZWFkPgotPGJvZHk+Ci08aWZyYW1lIHNyYz0iaHR0cDovLzEyNy4wLjAuMTo4MDAw
L3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvcmVzb3VyY2VzL3BhZ2Utd2l0aC1zYW5kYm94ZWQtaWZy
YW1lLXJlZGlyZWN0LWlwLXRvLWxvY2FsaG9zdC10by1pcC5odG1sIj4KLTwvaWZyYW1lPgotPC9i
b2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJj
ZUxvYWRTdGF0aXN0aWNzL25vbi1zYW5kYm94ZWQtbmVzdGluZy1pZnJhbWUtd2l0aC1zYW5kYm94
ZWQtaWZyYW1lLXJlZGlyZWN0LWxvY2FsaG9zdC10by1pcC10by1sb2NhbGhvc3QtZGF0YWJhc2Ut
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0
aWNzL25vbi1zYW5kYm94ZWQtbmVzdGluZy1pZnJhbWUtd2l0aC1zYW5kYm94ZWQtaWZyYW1lLXJl
ZGlyZWN0LWxvY2FsaG9zdC10by1pcC10by1sb2NhbGhvc3QtZGF0YWJhc2UtZXhwZWN0ZWQudHh0
CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA3MTVjODVlYjQ3ZTBmMDg0MTZlNjFmZDAx
NWZkN2FlM2NiODY2YjY5Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9ub24t
c2FuZGJveGVkLW5lc3RpbmctaWZyYW1lLXdpdGgtc2FuZGJveGVkLWlmcmFtZS1yZWRpcmVjdC1s
b2NhbGhvc3QtdG8taXAtdG8tbG9jYWxob3N0LWRhdGFiYXNlLWV4cGVjdGVkLnR4dAorKysgL2Rl
di9udWxsCkBAIC0xLDEyICswLDAgQEAKLVRlc3RzIHRoYXQgcmVkaXJlY3RzIGZvciBhIHNhbmRi
b3hlZCBpZnJhbWUgbmVzdGVkIGluIGEgbm9uLXNhbmRib3hlZCBpZnJhbWUgZ2V0IGNvdW50ZWQg
cHJvcGVybHkuCi0KLU9uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIg
bWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KLQotCi1QQVNTIHRlc3RSdW5u
ZXIuaXNTdGF0aXN0aWNzUmVnaXN0ZXJlZEFzU3ViRnJhbWVVbmRlcigiaHR0cDovL2xvY2FsaG9z
dCIsICJodHRwOi8vMTI3LjAuMC4xIikgaXMgdHJ1ZQotUEFTUyB0ZXN0UnVubmVyLmlzU3RhdGlz
dGljc1JlZ2lzdGVyZWRBc1JlZGlyZWN0aW5nVG8oImh0dHA6Ly9sb2NhbGhvc3QiLCAiaHR0cDov
LzEyNy4wLjAuMSIpIGlzIHRydWUKLVBBU1MgdGVzdFJ1bm5lci5pc1N0YXRpc3RpY3NSZWdpc3Rl
cmVkQXNSZWRpcmVjdGluZ1RvKCJodHRwOi8vMTI3LjAuMC4xIiwgImh0dHA6Ly9sb2NhbGhvc3Qi
KSBpcyB0cnVlCi1QQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCi0KLVRFU1QgQ09NUExF
VEUKLQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0
aXN0aWNzL25vbi1zYW5kYm94ZWQtbmVzdGluZy1pZnJhbWUtd2l0aC1zYW5kYm94ZWQtaWZyYW1l
LXJlZGlyZWN0LWxvY2FsaG9zdC10by1pcC10by1sb2NhbGhvc3QtZGF0YWJhc2UuaHRtbCBiL0xh
eW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9ub24tc2FuZGJveGVk
LW5lc3RpbmctaWZyYW1lLXdpdGgtc2FuZGJveGVkLWlmcmFtZS1yZWRpcmVjdC1sb2NhbGhvc3Qt
dG8taXAtdG8tbG9jYWxob3N0LWRhdGFiYXNlLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDA1Y2IzZDNiOWEwNzdmNjM1YjE5MmY5MmNmMmRiZTIyNDQ4NTVlOTQuLjAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90
ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL25vbi1zYW5kYm94ZWQtbmVzdGluZy1pZnJhbWUt
d2l0aC1zYW5kYm94ZWQtaWZyYW1lLXJlZGlyZWN0LWxvY2FsaG9zdC10by1pcC10by1sb2NhbGhv
c3QtZGF0YWJhc2UuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDU0ICswLDAgQEAKLTwhRE9DVFlQ
RSBodG1sPgotPGh0bWw+Ci08aGVhZD4KLSAgICA8c2NyaXB0IHNyYz0iL2pzLXRlc3QtcmVzb3Vy
Y2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgotICAgIDxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvdXRp
bC5qcyI+PC9zY3JpcHQ+Ci0gICAgPHNjcmlwdD4KLSAgICAgICAgZGVzY3JpcHRpb24oIlRlc3Rz
IHRoYXQgcmVkaXJlY3RzIGZvciBhIHNhbmRib3hlZCBpZnJhbWUgbmVzdGVkIGluIGEgbm9uLXNh
bmRib3hlZCBpZnJhbWUgZ2V0IGNvdW50ZWQgcHJvcGVybHkuIik7Ci0gICAgICAgIGpzVGVzdElz
QXN5bmMgPSB0cnVlOwotICAgICAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigibWVzc2FnZSIs
IHJlY2VpdmVNZXNzYWdlLCBmYWxzZSk7Ci0KLSAgICAgICAgZnVuY3Rpb24gZmluaXNoVGVzdCgp
IHsKLSAgICAgICAgICAgIHNldEVuYWJsZUZlYXR1cmUoZmFsc2UsIGZpbmlzaEpTVGVzdCk7Ci0g
ICAgICAgIH0KLQotICAgICAgICB2YXIgbGFzdFBhZ2VJblJlZGlyZWN0Q2hhaW5Mb2FkZWQgPSBm
YWxzZTsKLSAgICAgICAgdmFyIHN0YXRzQ2hlY2tlZCA9IGZhbHNlOwotCi0gICAgICAgIGZ1bmN0
aW9uIHJlY2VpdmVNZXNzYWdlKGV2ZW50KSB7Ci0gICAgICAgICAgICBpZiAoZXZlbnQub3JpZ2lu
ID09PSAibnVsbCIpIHsKLSAgICAgICAgICAgICAgICBpZiAoZXZlbnQuZGF0YS5pbmRleE9mKCJQ
QVNTIikgPT09IC0xKQotICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGV2ZW50LmRhdGEu
cmVwbGFjZSgiRkFJTCAiLCAiIikpOwotICAgICAgICAgICAgfSBlbHNlCi0gICAgICAgICAgICAg
ICAgdGVzdEZhaWxlZCgiUmVjZWl2ZWQgYSBtZXNzYWdlIGZyb20gYW4gdW5leHBlY3RlZCBvcmln
aW46ICIgKyBldmVudC5vcmlnaW4pOwotCi0gICAgICAgICAgICBsYXN0UGFnZUluUmVkaXJlY3RD
aGFpbkxvYWRlZCA9IHRydWU7Ci0gICAgICAgICAgICBpZiAoc3RhdHNDaGVja2VkKQotICAgICAg
ICAgICAgICAgIGZpbmlzaFRlc3QoKTsKLSAgICAgICAgICAgIGVsc2UKLSAgICAgICAgICAgICAg
ICB0ZXN0UnVubmVyLnN0YXRpc3RpY3NOb3RpZnlPYnNlcnZlcigpOwotICAgICAgICB9Ci0KLSAg
ICAgICAgZnVuY3Rpb24gY2hlY2tTdGF0cygpIHsKLSAgICAgICAgICAgIHNob3VsZEJlVHJ1ZSgn
dGVzdFJ1bm5lci5pc1N0YXRpc3RpY3NSZWdpc3RlcmVkQXNTdWJGcmFtZVVuZGVyKCJodHRwOi8v
bG9jYWxob3N0IiwgImh0dHA6Ly8xMjcuMC4wLjEiKScpOwotICAgICAgICAgICAgc2hvdWxkQmVU
cnVlKCd0ZXN0UnVubmVyLmlzU3RhdGlzdGljc1JlZ2lzdGVyZWRBc1JlZGlyZWN0aW5nVG8oImh0
dHA6Ly9sb2NhbGhvc3QiLCAiaHR0cDovLzEyNy4wLjAuMSIpJyk7Ci0gICAgICAgICAgICBzaG91
bGRCZVRydWUoJ3Rlc3RSdW5uZXIuaXNTdGF0aXN0aWNzUmVnaXN0ZXJlZEFzUmVkaXJlY3RpbmdU
bygiaHR0cDovLzEyNy4wLjAuMSIsICJodHRwOi8vbG9jYWxob3N0IiknKTsKLQotICAgICAgICAg
ICAgc3RhdHNDaGVja2VkID0gdHJ1ZTsKLSAgICAgICAgICAgIGlmIChsYXN0UGFnZUluUmVkaXJl
Y3RDaGFpbkxvYWRlZCkKLSAgICAgICAgICAgICAgICBmaW5pc2hUZXN0KCk7Ci0gICAgICAgIH0K
LQotICAgICAgICBpZiAodGVzdFJ1bm5lcikgewotICAgICAgICAgICAgdGVzdFJ1bm5lci5zZXRV
c2VJVFBEYXRhYmFzZSh0cnVlKTsKLSAgICAgICAgICAgIHNldEVuYWJsZUZlYXR1cmUodHJ1ZSwg
ZnVuY3Rpb24oKSB7Ci0gICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5pbnN0YWxsU3RhdGlzdGlj
c0RpZFNjYW5EYXRhUmVjb3Jkc0NhbGxiYWNrKGNoZWNrU3RhdHMpOwotICAgICAgICAgICAgfSk7
Ci0gICAgICAgIH0KLSAgICA8L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5PgotPGlmcmFtZSBzcmM9
Imh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3Jlc291cmNlcy9w
YWdlLXdpdGgtc2FuZGJveGVkLWlmcmFtZS1yZWRpcmVjdC1sb2NhbGhvc3QtdG8taXAtdG8tbG9j
YWxob3N0Lmh0bWwiPgotPC9pZnJhbWU+Ci08L2JvZHk+Ci08L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3Mvb3BlcmF0aW5nLWRh
dGVzLWFsbC1idXQtY29va2llcy1yZW1vdmVkLXN0YXRpc3RpY3Mtd2l0aC1uby11c2VyLWludGVy
YWN0aW9uLWRhdGFiYXNlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVz
b3VyY2VMb2FkU3RhdGlzdGljcy9vcGVyYXRpbmctZGF0ZXMtYWxsLWJ1dC1jb29raWVzLXJlbW92
ZWQtc3RhdGlzdGljcy13aXRoLW5vLXVzZXItaW50ZXJhY3Rpb24tZGF0YWJhc2UtZXhwZWN0ZWQu
dHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBmNWE1ZWEyNDEwODVlNGI1MTFhODEw
Zjg5NmFjNGUzNDk5YTg0NzQwLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwCi0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9v
cGVyYXRpbmctZGF0ZXMtYWxsLWJ1dC1jb29raWVzLXJlbW92ZWQtc3RhdGlzdGljcy13aXRoLW5v
LXVzZXItaW50ZXJhY3Rpb24tZGF0YWJhc2UtZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAg
LTEsMTQgKzAsMCBAQAotCi1CZWZvcmUgc3RhdGlzdGljcyBwcm9jZXNzaW5nOiBDbGllbnQtc2lk
ZSBjb29raWUgZXhpc3RzLgotQmVmb3JlIHN0YXRpc3RpY3MgcHJvY2Vzc2luZzogSHR0cE9ubHkg
Y29va2llIGV4aXN0cy4KLUJlZm9yZSBzdGF0aXN0aWNzIHByb2Nlc3Npbmc6IFJlZ3VsYXIgc2Vy
dmVyLXNpZGUgY29va2llIGV4aXN0cy4KLUJlZm9yZSBzdGF0aXN0aWNzIHByb2Nlc3Npbmc6IExv
Y2FsU3RvcmFnZSBlbnRyeSBkb2VzIGV4aXN0LgotQmVmb3JlIHN0YXRpc3RpY3MgcHJvY2Vzc2lu
ZzogSURCIGVudHJ5IGRvZXMgZXhpc3QuCi0KLUFmdGVyIHN0YXRpc3RpY3MgcHJvY2Vzc2luZzog
SHR0cE9ubHkgY29va2llIGV4aXN0cy4KLUFmdGVyIHN0YXRpc3RpY3MgcHJvY2Vzc2luZzogQ2xp
ZW50LXNpZGUgY29va2llIGV4aXN0cy4KLUFmdGVyIHN0YXRpc3RpY3MgcHJvY2Vzc2luZzogUmVn
dWxhciBzZXJ2ZXItc2lkZSBjb29raWUgZXhpc3RzLgotQWZ0ZXIgc3RhdGlzdGljcyBwcm9jZXNz
aW5nOiBMb2NhbFN0b3JhZ2UgZW50cnkgZG9lcyBub3QgZXhpc3QuCi1BZnRlciBzdGF0aXN0aWNz
IHByb2Nlc3Npbmc6IElEQiBlbnRyeSBkb2VzIG5vdCBleGlzdC4KLQotCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3Mvb3BlcmF0aW5nLWRh
dGVzLWFsbC1idXQtY29va2llcy1yZW1vdmVkLXN0YXRpc3RpY3Mtd2l0aC1uby11c2VyLWludGVy
YWN0aW9uLWRhdGFiYXNlLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9h
ZFN0YXRpc3RpY3Mvb3BlcmF0aW5nLWRhdGVzLWFsbC1idXQtY29va2llcy1yZW1vdmVkLXN0YXRp
c3RpY3Mtd2l0aC1uby11c2VyLWludGVyYWN0aW9uLWRhdGFiYXNlLmh0bWwKZGVsZXRlZCBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IGNmYmU4ZjgxYTdiYTM3MTkyNmM2YjZjMjJkYTEwNmE5NGJkZTI3
OTYuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL29wZXJhdGluZy1kYXRlcy1h
bGwtYnV0LWNvb2tpZXMtcmVtb3ZlZC1zdGF0aXN0aWNzLXdpdGgtbm8tdXNlci1pbnRlcmFjdGlv
bi1kYXRhYmFzZS5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsMjU4ICswLDAgQEAKLTwhRE9DVFlQ
RSBodG1sPgotPGh0bWw+Ci08aGVhZD4KLSAgICA8c2NyaXB0IHNyYz0iL2Nvb2tpZXMvcmVzb3Vy
Y2VzL2Nvb2tpZS11dGlsaXRpZXMuanMiPjwvc2NyaXB0PgotICAgIDxzY3JpcHQgc3JjPSJyZXNv
dXJjZXMvdXRpbC5qcyI+PC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keSBvbmxvYWQ9InNldFRpbWVv
dXQoJ3J1blRlc3QoKScsIDApIj4KLTxicj4KLTxkaXYgaWQ9Im91dHB1dCI+PC9kaXY+Ci08YnI+
Ci08c2NyaXB0PgotICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOwotICAgIHRlc3RSdW5u
ZXIuZHVtcEFzVGV4dCgpOwotICAgIHRlc3RSdW5uZXIuc2V0VXNlSVRQRGF0YWJhc2UodHJ1ZSk7
Ci0KLSAgICBjb25zdCBodHRwT25seUNvb2tpZU5hbWUgPSAiaHR0cC1vbmx5LWNvb2tpZSI7Ci0g
ICAgY29uc3Qgc2VydmVyU2lkZUNvb2tpZU5hbWUgPSAic2VydmVyLXNpZGUtY29va2llIjsKLSAg
ICBjb25zdCBjbGllbnRTaWRlQ29va2llTmFtZSA9ICJjbGllbnQtc2lkZS1jb29raWUiOwotCi0g
ICAgZnVuY3Rpb24gc29ydFN0cmluZ0FycmF5KGEsIGIpIHsKLSAgICAgICAgYSA9IGEudG9Mb3dl
ckNhc2UoKTsKLSAgICAgICAgYiA9IGIudG9Mb3dlckNhc2UoKTsKLQotICAgICAgICByZXR1cm4g
YSA+IGIgPyAxIDogYiA+IGEgPyAtMSA6IDA7Ci0gICAgfQotCi0gICAgZnVuY3Rpb24gYWRkTGlu
ZWJyZWFrVG9PdXRwdXQoKSB7Ci0gICAgICAgIGxldCBlbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRl
RWxlbWVudCgiYnIiKTsKLSAgICAgICAgb3V0cHV0LmFwcGVuZENoaWxkKGVsZW1lbnQpOwotICAg
IH0KLQotICAgIGZ1bmN0aW9uIGFkZE91dHB1dChtZXNzYWdlKSB7Ci0gICAgICAgIGxldCBlbGVt
ZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7Ci0gICAgICAgIGVsZW1lbnQuaW5u
ZXJUZXh0ID0gbWVzc2FnZTsKLSAgICAgICAgb3V0cHV0LmFwcGVuZENoaWxkKGVsZW1lbnQpOwot
ICAgIH0KLQotICAgIGZ1bmN0aW9uIGNoZWNrQ29va2llcyhpc0FmdGVyRGVsZXRpb24pIHsKLSAg
ICAgICAgbGV0IHVuc29ydGVkVGVzdFBhc3NlZE1lc3NhZ2VzID0gW107Ci0gICAgICAgIGxldCBj
b29raWVzID0gaW50ZXJuYWxzLmdldENvb2tpZXMoKTsKLSAgICAgICAgaWYgKCFjb29raWVzLmxl
bmd0aCAmJiBpc0FmdGVyRGVsZXRpb24pCi0gICAgICAgICAgICBhZGRPdXRwdXQoIkZBSUw6ICIg
KyAiTm8gY29va2llcyBmb3VuZC4iKTsKLSAgICAgICAgZm9yIChsZXQgY29va2llIG9mIGNvb2tp
ZXMpIHsKLSAgICAgICAgICAgIHN3aXRjaCAoY29va2llLm5hbWUpIHsKLSAgICAgICAgICAgICAg
ICBjYXNlIGh0dHBPbmx5Q29va2llTmFtZToKLSAgICAgICAgICAgICAgICAgICAgdW5zb3J0ZWRU
ZXN0UGFzc2VkTWVzc2FnZXMucHVzaCgoaXNBZnRlckRlbGV0aW9uID8gIkFmdGVyIiA6ICJCZWZv
cmUiKSArICIgc3RhdGlzdGljcyBwcm9jZXNzaW5nOiAiICsgKGlzQWZ0ZXJEZWxldGlvbiA/ICIg
IiA6ICIiKSArICJIdHRwT25seSBjb29raWUgZXhpc3RzLiIpOwotICAgICAgICAgICAgICAgICAg
ICBicmVhazsKLSAgICAgICAgICAgICAgICBjYXNlIHNlcnZlclNpZGVDb29raWVOYW1lOgotICAg
ICAgICAgICAgICAgICAgICB1bnNvcnRlZFRlc3RQYXNzZWRNZXNzYWdlcy5wdXNoKChpc0FmdGVy
RGVsZXRpb24gPyAiQWZ0ZXIiIDogIkJlZm9yZSIpICsgIiBzdGF0aXN0aWNzIHByb2Nlc3Npbmc6
IFJlZ3VsYXIgc2VydmVyLXNpZGUgY29va2llIGV4aXN0cy4iKTsKLSAgICAgICAgICAgICAgICAg
ICAgYnJlYWs7Ci0gICAgICAgICAgICAgICAgY2FzZSBjbGllbnRTaWRlQ29va2llTmFtZToKLSAg
ICAgICAgICAgICAgICAgICAgdW5zb3J0ZWRUZXN0UGFzc2VkTWVzc2FnZXMucHVzaCgoaXNBZnRl
ckRlbGV0aW9uID8gIkFmdGVyIiA6ICJCZWZvcmUiKSArICIgc3RhdGlzdGljcyBwcm9jZXNzaW5n
OiBDbGllbnQtc2lkZSBjb29raWUgZXhpc3RzLiIpOwotICAgICAgICAgICAgICAgICAgICBicmVh
azsKLSAgICAgICAgICAgIH0KLSAgICAgICAgfQotICAgICAgICBsZXQgc29ydGVkVGVzdFBhc3Nl
ZE1lc3NhZ2VzID0gdW5zb3J0ZWRUZXN0UGFzc2VkTWVzc2FnZXMuc29ydChzb3J0U3RyaW5nQXJy
YXkpOwotICAgICAgICBmb3IgKGxldCB0ZXN0UGFzc2VkTWVzc2FnZSBvZiBzb3J0ZWRUZXN0UGFz
c2VkTWVzc2FnZXMpIHsKLSAgICAgICAgICAgIGFkZE91dHB1dCh0ZXN0UGFzc2VkTWVzc2FnZSk7
Ci0gICAgICAgIH0KLSAgICB9Ci0KLSAgICBjb25zdCBkYk5hbWUgPSAiVGVzdERhdGFiYXNlIjsK
LQotICAgIGZ1bmN0aW9uIGNyZWF0ZUlEQkRhdGFTdG9yZShjYWxsYmFjaykgewotICAgICAgICBs
ZXQgcmVxdWVzdCA9IGluZGV4ZWREQi5vcGVuKGRiTmFtZSk7Ci0gICAgICAgIHJlcXVlc3Qub25l
cnJvciA9IGZ1bmN0aW9uKCkgewotICAgICAgICAgICAgYWRkT3V0cHV0KCJDb3VsZG4ndCBjcmVh
dGUgaW5kZXhlZERCLiIpOwotICAgICAgICAgICAgZmluaXNoVGVzdCgpOwotICAgICAgICB9Owot
ICAgICAgICByZXF1ZXN0Lm9udXBncmFkZW5lZWRlZCA9IGZ1bmN0aW9uKGV2ZW50KSB7Ci0gICAg
ICAgICAgICBsZXQgZGIgPSBldmVudC50YXJnZXQucmVzdWx0OwotICAgICAgICAgICAgbGV0IG9i
alN0b3JlID0gZGIuY3JlYXRlT2JqZWN0U3RvcmUoInRlc3QiLCB7YXV0b0luY3JlbWVudDogdHJ1
ZX0pOwotICAgICAgICAgICAgb2JqU3RvcmUuYWRkKCJ2YWx1ZSIpOwotICAgICAgICAgICAgY2Fs
bGJhY2soKTsKLSAgICAgICAgfQotICAgIH0KLQotICAgIGNvbnN0IG1heEludGVydmFscyA9IDIw
OwotCi0gICAgbGV0IGludGVydmFsQ291bnRlcklEQjsKLSAgICBsZXQgY2hlY2tJREJDYWxsYmFj
azsKLSAgICBsZXQgY2hlY2tJREJJbnRlcnZhbElEOwotICAgIGxldCBzZW1hcGhvcmVJREJDaGVj
ayA9IGZhbHNlOwotICAgIGZ1bmN0aW9uIGNoZWNrSURCRGF0YVN0b3JlRXhpc3RzKGlzQWZ0ZXJE
ZWxldGlvbiwgY2FsbGJhY2spIHsKLSAgICAgICAgbGV0IHJlcXVlc3Q7Ci0gICAgICAgIGludGVy
dmFsQ291bnRlcklEQiA9IDA7Ci0gICAgICAgIGNoZWNrSURCQ2FsbGJhY2sgPSBjYWxsYmFjazsK
LSAgICAgICAgaWYgKCFpc0FmdGVyRGVsZXRpb24pIHsKLSAgICAgICAgICAgIC8vIENoZWNrIHVu
dGlsIHRoZXJlIGlzIGEgSURCLgotICAgICAgICAgICAgY2hlY2tJREJJbnRlcnZhbElEID0gc2V0
SW50ZXJ2YWwoZnVuY3Rpb24oKSB7Ci0gICAgICAgICAgICAgICAgaWYgKHNlbWFwaG9yZUlEQkNo
ZWNrKQotICAgICAgICAgICAgICAgICAgICByZXR1cm47Ci0gICAgICAgICAgICAgICAgc2VtYXBo
b3JlSURCQ2hlY2sgPSB0cnVlOwotCi0gICAgICAgICAgICAgICAgaWYgKCsraW50ZXJ2YWxDb3Vu
dGVySURCID49IG1heEludGVydmFscykgewotICAgICAgICAgICAgICAgICAgICBjbGVhckludGVy
dmFsKGNoZWNrSURCSW50ZXJ2YWxJRCk7Ci0gICAgICAgICAgICAgICAgICAgIGFkZE91dHB1dCgi
QmVmb3JlIHN0YXRpc3RpY3MgcHJvY2Vzc2luZzogSURCIGVudHJ5IGRvZXMgbm90IGV4aXN0LiIp
OwotICAgICAgICAgICAgICAgICAgICBzZW1hcGhvcmVJREJDaGVjayA9IGZhbHNlOwotICAgICAg
ICAgICAgICAgICAgICBjaGVja0lEQkNhbGxiYWNrKCk7Ci0gICAgICAgICAgICAgICAgfSBlbHNl
IHsKLSAgICAgICAgICAgICAgICAgICAgcmVxdWVzdCA9IGluZGV4ZWREQi5vcGVuKGRiTmFtZSk7
Ci0gICAgICAgICAgICAgICAgICAgIHJlcXVlc3Qub25lcnJvciA9IGZ1bmN0aW9uICgpIHsKLSAg
ICAgICAgICAgICAgICAgICAgICAgIGNsZWFySW50ZXJ2YWwoY2hlY2tJREJJbnRlcnZhbElEKTsK
LSAgICAgICAgICAgICAgICAgICAgICAgIGFkZE91dHB1dCgiQ291bGRuJ3Qgb3BlbiBpbmRleGVk
REIuIik7Ci0gICAgICAgICAgICAgICAgICAgICAgICBzZW1hcGhvcmVJREJDaGVjayA9IGZhbHNl
OwotICAgICAgICAgICAgICAgICAgICAgICAgZmluaXNoVGVzdCgpOwotICAgICAgICAgICAgICAg
ICAgICB9OwotICAgICAgICAgICAgICAgICAgICByZXF1ZXN0Lm9udXBncmFkZW5lZWRlZCA9IGZ1
bmN0aW9uICgpIHsKLSAgICAgICAgICAgICAgICAgICAgICAgIC8vIExldCB0aGUgbmV4dCBpbnRl
cnZhbCBjaGVjayBhZ2Fpbi4KLSAgICAgICAgICAgICAgICAgICAgICAgIHNlbWFwaG9yZUlEQkNo
ZWNrID0gZmFsc2U7Ci0gICAgICAgICAgICAgICAgICAgIH07Ci0gICAgICAgICAgICAgICAgICAg
IHJlcXVlc3Qub25zdWNjZXNzID0gZnVuY3Rpb24gKCkgewotICAgICAgICAgICAgICAgICAgICAg
ICAgY2xlYXJJbnRlcnZhbChjaGVja0lEQkludGVydmFsSUQpOwotICAgICAgICAgICAgICAgICAg
ICAgICAgYWRkT3V0cHV0KCJCZWZvcmUgc3RhdGlzdGljcyBwcm9jZXNzaW5nOiBJREIgZW50cnkg
ZG9lcyBleGlzdC4iKTsKLSAgICAgICAgICAgICAgICAgICAgICAgIHNlbWFwaG9yZUlEQkNoZWNr
ID0gZmFsc2U7Ci0gICAgICAgICAgICAgICAgICAgICAgICBjaGVja0lEQkNhbGxiYWNrKCk7Ci0g
ICAgICAgICAgICAgICAgICAgIH07Ci0gICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgfSwg
MjAwKTsKLSAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAgIC8vIENoZWNrIHVudGlsIHRoZXJl
IGlzIG5vIElEQi4KLSAgICAgICAgICAgIGNoZWNrSURCSW50ZXJ2YWxJRCA9IHNldEludGVydmFs
KGZ1bmN0aW9uICgpIHsKLSAgICAgICAgICAgICAgICBpZiAoc2VtYXBob3JlSURCQ2hlY2spCi0g
ICAgICAgICAgICAgICAgICAgIHJldHVybjsKLSAgICAgICAgICAgICAgICBzZW1hcGhvcmVJREJD
aGVjayA9IHRydWU7Ci0KLSAgICAgICAgICAgICAgICBpZiAoKytpbnRlcnZhbENvdW50ZXJJREIg
Pj0gbWF4SW50ZXJ2YWxzKSB7Ci0gICAgICAgICAgICAgICAgICAgIGNsZWFySW50ZXJ2YWwoY2hl
Y2tJREJJbnRlcnZhbElEKTsKLSAgICAgICAgICAgICAgICAgICAgYWRkT3V0cHV0KCJBZnRlciBz
dGF0aXN0aWNzIHByb2Nlc3Npbmc6IElEQiBlbnRyeSBkb2VzIGV4aXN0LiIpOwotICAgICAgICAg
ICAgICAgICAgICBzZW1hcGhvcmVJREJDaGVjayA9IGZhbHNlOwotICAgICAgICAgICAgICAgICAg
ICBjaGVja0lEQkNhbGxiYWNrKCk7Ci0gICAgICAgICAgICAgICAgfSBlbHNlIHsKLSAgICAgICAg
ICAgICAgICAgICAgcmVxdWVzdCA9IGluZGV4ZWREQi5vcGVuKGRiTmFtZSk7Ci0gICAgICAgICAg
ICAgICAgICAgIHJlcXVlc3Qub25lcnJvciA9IGZ1bmN0aW9uICgpIHsKLSAgICAgICAgICAgICAg
ICAgICAgICAgIGNsZWFySW50ZXJ2YWwoY2hlY2tJREJJbnRlcnZhbElEKTsKLSAgICAgICAgICAg
ICAgICAgICAgICAgIGFkZE91dHB1dCgiQ291bGRuJ3Qgb3BlbiBpbmRleGVkREIuIik7Ci0gICAg
ICAgICAgICAgICAgICAgICAgICBzZW1hcGhvcmVJREJDaGVjayA9IGZhbHNlOwotICAgICAgICAg
ICAgICAgICAgICAgICAgZmluaXNoVGVzdCgpOwotICAgICAgICAgICAgICAgICAgICB9OwotICAg
ICAgICAgICAgICAgICAgICByZXF1ZXN0Lm9udXBncmFkZW5lZWRlZCA9IGZ1bmN0aW9uICgpIHsK
LSAgICAgICAgICAgICAgICAgICAgICAgIGNsZWFySW50ZXJ2YWwoY2hlY2tJREJJbnRlcnZhbElE
KTsKLSAgICAgICAgICAgICAgICAgICAgICAgIGFkZE91dHB1dCgiQWZ0ZXIgc3RhdGlzdGljcyBw
cm9jZXNzaW5nOiBJREIgZW50cnkgZG9lcyBub3QgZXhpc3QuIik7Ci0gICAgICAgICAgICAgICAg
ICAgICAgICBzZW1hcGhvcmVJREJDaGVjayA9IGZhbHNlOwotICAgICAgICAgICAgICAgICAgICAg
ICAgZmluaXNoVGVzdCgpOwotICAgICAgICAgICAgICAgICAgICB9OwotICAgICAgICAgICAgICAg
ICAgICByZXF1ZXN0Lm9uc3VjY2VzcyA9IGZ1bmN0aW9uICgpIHsKLSAgICAgICAgICAgICAgICAg
ICAgICAgIC8vIExldCB0aGUgbmV4dCBpbnRlcnZhbCBjaGVjayBhZ2FpbiBiZWNhdXNlIGRlbGV0
aW9uIG1pZ2h0IGJlIGRlbGF5ZWQuCi0gICAgICAgICAgICAgICAgICAgICAgICBzZW1hcGhvcmVJ
REJDaGVjayA9IGZhbHNlOwotICAgICAgICAgICAgICAgICAgICB9OwotICAgICAgICAgICAgICAg
IH0KLSAgICAgICAgICAgIH0sIDIwMCk7Ci0gICAgICAgIH0KLSAgICB9Ci0KLSAgICBsZXQgaW50
ZXJ2YWxDb3VudGVyTG9jYWxTdG9yYWdlOwotICAgIGxldCBjaGVja0xvY2FsU3RvcmFnZUNhbGxi
YWNrOwotICAgIGxldCBjaGVja0xvY2FsU3RvcmFnZUludGVydmFsSUQ7Ci0gICAgY29uc3QgbG9j
YWxTdG9yYWdlTmFtZSA9ICJ0ZXN0IjsKLSAgICBjb25zdCBsb2NhbFN0b3JhZ2VWYWx1ZSA9ICJ2
YWx1ZSI7Ci0gICAgZnVuY3Rpb24gY2hlY2tMb2NhbFN0b3JhZ2VFeGlzdHMoaXNBZnRlckRlbGV0
aW9uLCBjYWxsYmFjaykgewotICAgICAgICBpbnRlcnZhbENvdW50ZXJMb2NhbFN0b3JhZ2UgPSAw
OwotICAgICAgICBjaGVja0xvY2FsU3RvcmFnZUNhbGxiYWNrID0gY2FsbGJhY2s7Ci0gICAgICAg
IGlmICghaXNBZnRlckRlbGV0aW9uKSB7Ci0gICAgICAgICAgICAvLyBDaGVjayB1bnRpbCB0aGVy
ZSBpcyBMb2NhbFN0b3JhZ2UuCi0gICAgICAgICAgICBjaGVja0xvY2FsU3RvcmFnZUludGVydmFs
SUQgPSBzZXRJbnRlcnZhbChmdW5jdGlvbigpIHsKLSAgICAgICAgICAgICAgICBpZiAoKytpbnRl
cnZhbENvdW50ZXJMb2NhbFN0b3JhZ2UgPj0gbWF4SW50ZXJ2YWxzKSB7Ci0gICAgICAgICAgICAg
ICAgICAgIGNsZWFySW50ZXJ2YWwoY2hlY2tMb2NhbFN0b3JhZ2VJbnRlcnZhbElEKTsKLSAgICAg
ICAgICAgICAgICAgICAgbGV0IHZhbHVlID0gbG9jYWxTdG9yYWdlLmdldEl0ZW0obG9jYWxTdG9y
YWdlTmFtZSk7Ci0gICAgICAgICAgICAgICAgICAgIGFkZE91dHB1dCgiQmVmb3JlIHN0YXRpc3Rp
Y3MgcHJvY2Vzc2luZzogTG9jYWxTdG9yYWdlIGVudHJ5ICIgKyAodmFsdWUgPT09IGxvY2FsU3Rv
cmFnZVZhbHVlID8gImRvZXMiIDogImRvZXMgbm90IikgKyAiIGV4aXN0LiIpOwotICAgICAgICAg
ICAgICAgICAgICBjaGVja0xvY2FsU3RvcmFnZUNhbGxiYWNrKCk7Ci0gICAgICAgICAgICAgICAg
fSBlbHNlIGlmICh0ZXN0UnVubmVyLmlzU3RhdGlzdGljc0hhc0xvY2FsU3RvcmFnZShvcmlnaW5V
bmRlclRlc3QpKSB7Ci0gICAgICAgICAgICAgICAgICAgIGNsZWFySW50ZXJ2YWwoY2hlY2tMb2Nh
bFN0b3JhZ2VJbnRlcnZhbElEKTsKLSAgICAgICAgICAgICAgICAgICAgbGV0IHZhbHVlID0gbG9j
YWxTdG9yYWdlLmdldEl0ZW0obG9jYWxTdG9yYWdlTmFtZSk7Ci0gICAgICAgICAgICAgICAgICAg
IGFkZE91dHB1dCgiQmVmb3JlIHN0YXRpc3RpY3MgcHJvY2Vzc2luZzogTG9jYWxTdG9yYWdlIGVu
dHJ5ICIgKyAodmFsdWUgPT09IGxvY2FsU3RvcmFnZVZhbHVlID8gImRvZXMiIDogImRvZXMgbm90
IikgKyAiIGV4aXN0LiIpOwotICAgICAgICAgICAgICAgICAgICBjaGVja0xvY2FsU3RvcmFnZUNh
bGxiYWNrKCk7Ci0gICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgfSwgMTAwKTsKLSAgICAg
ICAgfSBlbHNlIHsKLSAgICAgICAgICAgIC8vIENoZWNrIHVudGlsIHRoZXJlIGlzIG5vIExvY2Fs
U3RvcmFnZS4KLSAgICAgICAgICAgIGNoZWNrTG9jYWxTdG9yYWdlSW50ZXJ2YWxJRCA9IHNldElu
dGVydmFsKGZ1bmN0aW9uKCkgewotICAgICAgICAgICAgICAgIGlmICgrK2ludGVydmFsQ291bnRl
ckxvY2FsU3RvcmFnZSA+PSBtYXhJbnRlcnZhbHMpIHsKLSAgICAgICAgICAgICAgICAgICAgY2xl
YXJJbnRlcnZhbChjaGVja0xvY2FsU3RvcmFnZUludGVydmFsSUQpOwotICAgICAgICAgICAgICAg
ICAgICBsZXQgdmFsdWUgPSBsb2NhbFN0b3JhZ2UuZ2V0SXRlbShsb2NhbFN0b3JhZ2VOYW1lKTsK
LSAgICAgICAgICAgICAgICAgICAgYWRkT3V0cHV0KCJBZnRlciBzdGF0aXN0aWNzIHByb2Nlc3Np
bmc6IExvY2FsU3RvcmFnZSBlbnRyeSAiICsgKHZhbHVlID09PSBsb2NhbFN0b3JhZ2VWYWx1ZSA/
ICJkb2VzIiA6ICJkb2VzIG5vdCIpICsgIiBleGlzdC4iKTsKLSAgICAgICAgICAgICAgICAgICAg
Y2hlY2tMb2NhbFN0b3JhZ2VDYWxsYmFjaygpOwotICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAo
IXRlc3RSdW5uZXIuaXNTdGF0aXN0aWNzSGFzTG9jYWxTdG9yYWdlKG9yaWdpblVuZGVyVGVzdCkp
IHsKLSAgICAgICAgICAgICAgICAgICAgY2xlYXJJbnRlcnZhbChjaGVja0xvY2FsU3RvcmFnZUlu
dGVydmFsSUQpOwotICAgICAgICAgICAgICAgICAgICBsZXQgdmFsdWUgPSBsb2NhbFN0b3JhZ2Uu
Z2V0SXRlbShsb2NhbFN0b3JhZ2VOYW1lKTsKLSAgICAgICAgICAgICAgICAgICAgYWRkT3V0cHV0
KCJBZnRlciBzdGF0aXN0aWNzIHByb2Nlc3Npbmc6IExvY2FsU3RvcmFnZSBlbnRyeSAiICsgKHZh
bHVlID09PSBsb2NhbFN0b3JhZ2VWYWx1ZSA/ICJkb2VzIiA6ICJkb2VzIG5vdCIpICsgIiBleGlz
dC4iKTsKLSAgICAgICAgICAgICAgICAgICAgY2hlY2tMb2NhbFN0b3JhZ2VDYWxsYmFjaygpOwot
ICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgIH0sIDEwMCk7Ci0gICAgICAgIH0KLSAgICB9
Ci0KLSAgICBhc3luYyBmdW5jdGlvbiB3cml0ZVdlYnNpdGVEYXRhQW5kQ29udGludWUoKSB7Ci0g
ICAgICAgIC8vIFdyaXRlIGNvb2tpZXMuCi0gICAgICAgIGF3YWl0IGZldGNoKCIvY29va2llcy9y
ZXNvdXJjZXMvc2V0LWh0dHAtb25seS1jb29raWUucGhwP2Nvb2tpZU5hbWU9IiArIGh0dHBPbmx5
Q29va2llTmFtZSwgeyBjcmVkZW50aWFsczogInNhbWUtb3JpZ2luIiB9KTsKLSAgICAgICAgYXdh
aXQgZmV0Y2goIi9jb29raWVzL3Jlc291cmNlcy9zZXRDb29raWVzLmNnaSIsIHsgaGVhZGVyczog
eyAiU2V0LUNvb2tpZSI6IHNlcnZlclNpZGVDb29raWVOYW1lICsgIj0xOyBwYXRoPS87IiB9LCBj
cmVkZW50aWFsczogInNhbWUtb3JpZ2luIiB9KTsKLSAgICAgICAgZG9jdW1lbnQuY29va2llID0g
Y2xpZW50U2lkZUNvb2tpZU5hbWUgKyAiPTEiOwotCi0gICAgICAgIGNoZWNrQ29va2llcyhmYWxz
ZSk7Ci0KLSAgICAgICAgLy8gV3JpdGUgTG9jYWxTdG9yYWdlCi0gICAgICAgIGxvY2FsU3RvcmFn
ZS5zZXRJdGVtKGxvY2FsU3RvcmFnZU5hbWUsIGxvY2FsU3RvcmFnZVZhbHVlKTsKLSAgICAgICAg
Y2hlY2tMb2NhbFN0b3JhZ2VFeGlzdHMoZmFsc2UsIGZ1bmN0aW9uKCkgewotCi0gICAgICAgICAg
ICAvLyBXcml0ZSBJbmRleGVkREIuCi0gICAgICAgICAgICBjcmVhdGVJREJEYXRhU3RvcmUoZnVu
Y3Rpb24gKCkgewotICAgICAgICAgICAgICAgIGNoZWNrSURCRGF0YVN0b3JlRXhpc3RzKGZhbHNl
LCBmdW5jdGlvbigpIHsKLSAgICAgICAgICAgICAgICAgICAgYWRkTGluZWJyZWFrVG9PdXRwdXQo
KTsKLSAgICAgICAgICAgICAgICAgICAgcHJvY2Vzc1dlYnNpdGVEYXRhQW5kQ29udGludWUoKTsK
LSAgICAgICAgICAgICAgICB9KTsKLSAgICAgICAgICAgIH0pOwotICAgICAgICB9KTsKLSAgICB9
Ci0KLSAgICBmdW5jdGlvbiBwcm9jZXNzV2Vic2l0ZURhdGFBbmRDb250aW51ZSgpIHsKLSAgICAg
ICAgdGVzdFJ1bm5lci5pbnN0YWxsU3RhdGlzdGljc0RpZFNjYW5EYXRhUmVjb3Jkc0NhbGxiYWNr
KGNoZWNrV2Vic2l0ZURhdGFBbmRDb250aW51ZSk7Ci0gICAgICAgIHRlc3RSdW5uZXIuc3RhdGlz
dGljc1Byb2Nlc3NTdGF0aXN0aWNzQW5kRGF0YVJlY29yZHMoKTsKLSAgICB9Ci0KLSAgICBmdW5j
dGlvbiBjaGVja1dlYnNpdGVEYXRhQW5kQ29udGludWUoKSB7Ci0gICAgICAgIGNoZWNrQ29va2ll
cyh0cnVlKTsKLSAgICAgICAgY2hlY2tMb2NhbFN0b3JhZ2VFeGlzdHModHJ1ZSwgZnVuY3Rpb24g
KCkgewotICAgICAgICAgICAgY2hlY2tJREJEYXRhU3RvcmVFeGlzdHModHJ1ZSwgZmluaXNoVGVz
dCk7Ci0gICAgICAgIH0pOwotICAgIH0KLQotICAgIGNvbnN0IG9yaWdpblVuZGVyVGVzdCAgPSAi
aHR0cDovLzEyNy4wLjAuMTo4MDAwIjsKLSAgICBjb25zdCBvdGhlck9yaWdpbiA9ICJodHRwOi8v
bG9jYWxob3N0OjgwMDAiOwotICAgIGNvbnN0IHRvcEZyYW1lT3JpZ2luID0gImh0dHA6Ly8xMjcu
MC4wLjI6ODAwMCI7Ci0KLSAgICBjb25zdCB0aW1lU3RhbXAgPSBNYXRoLnJvdW5kKChuZXcgRGF0
ZSgpKS5nZXRUaW1lKCkgLyAxMDAwKTsKLSAgICBmdW5jdGlvbiBmaW5pc2hUZXN0KCkgewotICAg
ICAgICBpZiAodGVzdFJ1bm5lci5pc1N0YXRpc3RpY3NIYXNIYWRVc2VySW50ZXJhY3Rpb24ob3Jp
Z2luVW5kZXJUZXN0KSkKLSAgICAgICAgICAgIGFkZE91dHB1dCgiRkFJTDogIiArIG9yaWdpblVu
ZGVyVGVzdCArICIgc3RpbGwgaGFzIHVzZXIgaW50ZXJhY3Rpb24gYWZ0ZXIgcHJvY2Vzc2luZy4i
KTsKLSAgICAgICAgcmVzZXRDb29raWVzKCk7Ci0gICAgICAgIHRlc3RSdW5uZXIubm90aWZ5RG9u
ZSgpOwotICAgIH0KLQotICAgIC8vIERvIG5vdCB1c2Ugc2V0RW5hYmxlRmVhdHVyZSBoZXJlIGJl
Y2F1c2Ugd2Ugd2FudCB0byBtYWtlIHN1cmUgd2Vic2l0ZSBkYXRhIGRlbGV0aW9uIGlzIG5vdCBz
a2lwcGVkCi0gICAgLy8gYnkgdGhlIHByZXNlbmNlIG9mIHBhcmFtZXRlcnMoKS5pc1J1bm5pbmdU
ZXN0LgotICAgIGZ1bmN0aW9uIHJ1blRlc3QoKSB7Ci0gICAgICAgIHRlc3RSdW5uZXIuc2V0U3Rh
dGlzdGljc01pbmltdW1UaW1lQmV0d2VlbkRhdGFSZWNvcmRzUmVtb3ZhbCgzNjAwKTsKLSAgICAg
ICAgLy8gTWVyZ2UgYSBzdGF0aXN0aWMgd2l0aCBubyB1c2VyIGludGVyYWN0aW9uIHRvIGNoZWNr
IHRoZSAtMSBjYXNlLgotICAgICAgICB0ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NNZXJnZVN0YXRp
c3RpYyhvdGhlck9yaWdpbiwgdG9wRnJhbWVPcmlnaW4sICIiLCB0aW1lU3RhbXAsIGZhbHNlLCAt
MSwgZmFsc2UsIGZhbHNlLCBmYWxzZSwgMCwgZnVuY3Rpb24oKSB7Ci0gICAgICAgICAgICB0ZXN0
UnVubmVyLnNldFN0YXRpc3RpY3NGaXJzdFBhcnR5V2Vic2l0ZURhdGFSZW1vdmFsTW9kZSh0cnVl
LCBmdW5jdGlvbiAoKSB7Ci0gICAgICAgICAgICAgICAgLy8gaW5zZXJ0U3RhdGlzdGljc0V4cGly
ZWRTdGF0aXN0aWMoZG9tYWluLCBoYXNIYWRVc2VySW50ZXJhY3Rpb24sIGlzU2NoZWR1bGVkRm9y
QWxsQnV0Q29va2llRGF0YVJlbW92YWwsIGlzUHJldmFsZW50KQotICAgICAgICAgICAgICAgIHRl
c3RSdW5uZXIuc2V0U3RhdGlzdGljc0V4cGlyZWRTdGF0aXN0aWMob3JpZ2luVW5kZXJUZXN0LCB0
cnVlLCB0cnVlLCBmYWxzZSwgZnVuY3Rpb24oKSB7Ci0gICAgICAgICAgICAgICAgICAgIHdyaXRl
V2Vic2l0ZURhdGFBbmRDb250aW51ZSgpOwotICAgICAgICAgICAgICAgIH0pOwotICAgICAgICAg
ICAgfSk7Ci0gICAgICAgIH0pOwotICAgIH0KLTwvc2NyaXB0PgotPC9ib2R5PgotPC9odG1sPgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNz
L29wZXJhdGluZy1kYXRlcy1hbGwtYnV0LWNvb2tpZXMtcmVtb3ZlZC1zdGF0aXN0aWNzLXdpdGgt
bm8tdXNlci1pbnRlcmFjdGlvbi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L3Jlc291cmNlTG9hZFN0YXRpc3RpY3Mvb3BlcmF0aW5nLWRhdGVzLWFsbC1idXQtY29va2llcy1y
ZW1vdmVkLXN0YXRpc3RpY3Mtd2l0aC1uby11c2VyLWludGVyYWN0aW9uLWV4cGVjdGVkLnR4dApp
bmRleCBmNWE1ZWEyNDEwODVlNGI1MTFhODEwZjg5NmFjNGUzNDk5YTg0NzQwLi5mNGVhMzQ4NTE2
NWEzNGUyNWExZjM1NjYxMGVlY2FhMjRlZWYwNTEwIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9o
dHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3Mvb3BlcmF0aW5nLWRhdGVzLWFsbC1idXQt
Y29va2llcy1yZW1vdmVkLXN0YXRpc3RpY3Mtd2l0aC1uby11c2VyLWludGVyYWN0aW9uLWV4cGVj
dGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3Rp
Y3Mvb3BlcmF0aW5nLWRhdGVzLWFsbC1idXQtY29va2llcy1yZW1vdmVkLXN0YXRpc3RpY3Mtd2l0
aC1uby11c2VyLWludGVyYWN0aW9uLWV4cGVjdGVkLnR4dApAQCAtOCw3ICs4LDcgQEAgQmVmb3Jl
IHN0YXRpc3RpY3MgcHJvY2Vzc2luZzogSURCIGVudHJ5IGRvZXMgZXhpc3QuCiBBZnRlciBzdGF0
aXN0aWNzIHByb2Nlc3Npbmc6IEh0dHBPbmx5IGNvb2tpZSBleGlzdHMuCiBBZnRlciBzdGF0aXN0
aWNzIHByb2Nlc3Npbmc6IENsaWVudC1zaWRlIGNvb2tpZSBleGlzdHMuCiBBZnRlciBzdGF0aXN0
aWNzIHByb2Nlc3Npbmc6IFJlZ3VsYXIgc2VydmVyLXNpZGUgY29va2llIGV4aXN0cy4KLUFmdGVy
IHN0YXRpc3RpY3MgcHJvY2Vzc2luZzogTG9jYWxTdG9yYWdlIGVudHJ5IGRvZXMgbm90IGV4aXN0
LgotQWZ0ZXIgc3RhdGlzdGljcyBwcm9jZXNzaW5nOiBJREIgZW50cnkgZG9lcyBub3QgZXhpc3Qu
CitBZnRlciBzdGF0aXN0aWNzIHByb2Nlc3Npbmc6IExvY2FsU3RvcmFnZSBlbnRyeSBkb2VzIGV4
aXN0LgorQWZ0ZXIgc3RhdGlzdGljcyBwcm9jZXNzaW5nOiBJREIgZW50cnkgZG9lcyBleGlzdC4K
IAogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRp
c3RpY3Mvb3BlcmF0aW5nLWRhdGVzLWFsbC13ZWJzaXRlLWRhdGEtcmVtb3ZlZC1kYXRhYmFzZS1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3Rp
Y3Mvb3BlcmF0aW5nLWRhdGVzLWFsbC13ZWJzaXRlLWRhdGEtcmVtb3ZlZC1kYXRhYmFzZS1leHBl
Y3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDE3MzA5NmM4MmUzYWYxODE1
MjNiNzk4NjQ3NjZjZjRjNTUxMGU2NTEuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0
aWNzL29wZXJhdGluZy1kYXRlcy1hbGwtd2Vic2l0ZS1kYXRhLXJlbW92ZWQtZGF0YWJhc2UtZXhw
ZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEsMTIgKzAsMCBAQAotCi1CZWZvcmUgc3RhdGlz
dGljcyBwcm9jZXNzaW5nOiBDbGllbnQtc2lkZSBjb29raWUgZXhpc3RzLgotQmVmb3JlIHN0YXRp
c3RpY3MgcHJvY2Vzc2luZzogSHR0cE9ubHkgY29va2llIGV4aXN0cy4KLUJlZm9yZSBzdGF0aXN0
aWNzIHByb2Nlc3Npbmc6IFJlZ3VsYXIgc2VydmVyLXNpZGUgY29va2llIGV4aXN0cy4KLUJlZm9y
ZSBzdGF0aXN0aWNzIHByb2Nlc3Npbmc6IExvY2FsU3RvcmFnZSBlbnRyeSBkb2VzIGV4aXN0Lgot
QmVmb3JlIHN0YXRpc3RpY3MgcHJvY2Vzc2luZzogSURCIGVudHJ5IGRvZXMgZXhpc3QuCi0KLUFm
dGVyIHN0YXRpc3RpY3MgcHJvY2Vzc2luZzogTm8gY29va2llcyBmb3VuZC4KLUFmdGVyIHN0YXRp
c3RpY3MgcHJvY2Vzc2luZzogTG9jYWxTdG9yYWdlIGVudHJ5IGRvZXMgbm90IGV4aXN0LgotQWZ0
ZXIgc3RhdGlzdGljcyBwcm9jZXNzaW5nOiBJREIgZW50cnkgZG9lcyBub3QgZXhpc3QuCi0KLQpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNz
L29wZXJhdGluZy1kYXRlcy1hbGwtd2Vic2l0ZS1kYXRhLXJlbW92ZWQtZGF0YWJhc2UuaHRtbCBi
L0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9vcGVyYXRpbmct
ZGF0ZXMtYWxsLXdlYnNpdGUtZGF0YS1yZW1vdmVkLWRhdGFiYXNlLmh0bWwKZGVsZXRlZCBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDJlN2Y1NmY4MjFjNmU0YWQ2ZGYwODk0ZjE2Y2I0M2FjZDA5ZWFi
NGUuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL29wZXJhdGluZy1kYXRlcy1h
bGwtd2Vic2l0ZS1kYXRhLXJlbW92ZWQtZGF0YWJhc2UuaHRtbAorKysgL2Rldi9udWxsCkBAIC0x
LDI1MiArMCwwIEBACi08IURPQ1RZUEUgaHRtbD4KLTxodG1sPgotPGhlYWQ+Ci0gICAgPHNjcmlw
dCBzcmM9Ii9jb29raWVzL3Jlc291cmNlcy9jb29raWUtdXRpbGl0aWVzLmpzIj48L3NjcmlwdD4K
LSAgICA8c2NyaXB0IHNyYz0icmVzb3VyY2VzL3V0aWwuanMiPjwvc2NyaXB0PgotPC9oZWFkPgot
PGJvZHkgb25sb2FkPSJzZXRUaW1lb3V0KCdydW5UZXN0KCknLCAwKSI+Ci08YnI+Ci08ZGl2IGlk
PSJvdXRwdXQiPjwvZGl2PgotPGJyPgotPHNjcmlwdD4KLSAgICB0ZXN0UnVubmVyLndhaXRVbnRp
bERvbmUoKTsKLSAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKLSAgICB0ZXN0UnVubmVyLnNl
dFVzZUlUUERhdGFiYXNlKHRydWUpOwotCi0gICAgY29uc3QgaHR0cE9ubHlDb29raWVOYW1lID0g
Imh0dHAtb25seS1jb29raWUiOwotICAgIGNvbnN0IHNlcnZlclNpZGVDb29raWVOYW1lID0gInNl
cnZlci1zaWRlLWNvb2tpZSI7Ci0gICAgY29uc3QgY2xpZW50U2lkZUNvb2tpZU5hbWUgPSAiY2xp
ZW50LXNpZGUtY29va2llIjsKLQotICAgIGZ1bmN0aW9uIHNvcnRTdHJpbmdBcnJheShhLCBiKSB7
Ci0gICAgICAgIGEgPSBhLnRvTG93ZXJDYXNlKCk7Ci0gICAgICAgIGIgPSBiLnRvTG93ZXJDYXNl
KCk7Ci0KLSAgICAgICAgcmV0dXJuIGEgPiBiID8gMSA6IGIgPiBhID8gLTEgOiAwOwotICAgIH0K
LQotICAgIGZ1bmN0aW9uIGFkZExpbmVicmVha1RvT3V0cHV0KCkgewotICAgICAgICBsZXQgZWxl
bWVudCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImJyIik7Ci0gICAgICAgIG91dHB1dC5hcHBl
bmRDaGlsZChlbGVtZW50KTsKLSAgICB9Ci0KLSAgICBmdW5jdGlvbiBhZGRPdXRwdXQobWVzc2Fn
ZSkgewotICAgICAgICBsZXQgZWxlbWVudCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIp
OwotICAgICAgICBlbGVtZW50LmlubmVyVGV4dCA9IG1lc3NhZ2U7Ci0gICAgICAgIG91dHB1dC5h
cHBlbmRDaGlsZChlbGVtZW50KTsKLSAgICB9Ci0KLSAgICBmdW5jdGlvbiBjaGVja0Nvb2tpZXMo
aXNBZnRlckRlbGV0aW9uKSB7Ci0gICAgICAgIGxldCB1bnNvcnRlZFRlc3RQYXNzZWRNZXNzYWdl
cyA9IFtdOwotICAgICAgICBsZXQgY29va2llcyA9IGludGVybmFscy5nZXRDb29raWVzKCk7Ci0g
ICAgICAgIGlmICghY29va2llcy5sZW5ndGggJiYgaXNBZnRlckRlbGV0aW9uKQotICAgICAgICB1
bnNvcnRlZFRlc3RQYXNzZWRNZXNzYWdlcy5wdXNoKChpc0FmdGVyRGVsZXRpb24gPyAiQWZ0ZXIi
IDogIkJlZm9yZSIpICsgIiBzdGF0aXN0aWNzIHByb2Nlc3Npbmc6IE5vIGNvb2tpZXMgZm91bmQu
Iik7Ci0gICAgICAgIGZvciAobGV0IGNvb2tpZSBvZiBjb29raWVzKSB7Ci0gICAgICAgICAgICBz
d2l0Y2ggKGNvb2tpZS5uYW1lKSB7Ci0gICAgICAgICAgICAgICAgY2FzZSBodHRwT25seUNvb2tp
ZU5hbWU6Ci0gICAgICAgICAgICAgICAgICAgIHVuc29ydGVkVGVzdFBhc3NlZE1lc3NhZ2VzLnB1
c2goKGlzQWZ0ZXJEZWxldGlvbiA/ICJBZnRlciIgOiAiQmVmb3JlIikgKyAiIHN0YXRpc3RpY3Mg
cHJvY2Vzc2luZzogIiArIChpc0FmdGVyRGVsZXRpb24gPyAiICIgOiAiIikgKyAiSHR0cE9ubHkg
Y29va2llIGV4aXN0cy4iKTsKLSAgICAgICAgICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgICAg
ICAgICAgY2FzZSBzZXJ2ZXJTaWRlQ29va2llTmFtZToKLSAgICAgICAgICAgICAgICAgICAgdW5z
b3J0ZWRUZXN0UGFzc2VkTWVzc2FnZXMucHVzaCgoaXNBZnRlckRlbGV0aW9uID8gIkFmdGVyIiA6
ICJCZWZvcmUiKSArICIgc3RhdGlzdGljcyBwcm9jZXNzaW5nOiBSZWd1bGFyIHNlcnZlci1zaWRl
IGNvb2tpZSBleGlzdHMuIik7Ci0gICAgICAgICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICAg
ICAgICAgIGNhc2UgY2xpZW50U2lkZUNvb2tpZU5hbWU6Ci0gICAgICAgICAgICAgICAgICAgIHVu
c29ydGVkVGVzdFBhc3NlZE1lc3NhZ2VzLnB1c2goKGlzQWZ0ZXJEZWxldGlvbiA/ICJBZnRlciIg
OiAiQmVmb3JlIikgKyAiIHN0YXRpc3RpY3MgcHJvY2Vzc2luZzogQ2xpZW50LXNpZGUgY29va2ll
IGV4aXN0cy4iKTsKLSAgICAgICAgICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgICAgICB9Ci0g
ICAgICAgIH0KLSAgICAgICAgbGV0IHNvcnRlZFRlc3RQYXNzZWRNZXNzYWdlcyA9IHVuc29ydGVk
VGVzdFBhc3NlZE1lc3NhZ2VzLnNvcnQoc29ydFN0cmluZ0FycmF5KTsKLSAgICAgICAgZm9yIChs
ZXQgdGVzdFBhc3NlZE1lc3NhZ2Ugb2Ygc29ydGVkVGVzdFBhc3NlZE1lc3NhZ2VzKSB7Ci0gICAg
ICAgICAgICBhZGRPdXRwdXQodGVzdFBhc3NlZE1lc3NhZ2UpOwotICAgICAgICB9Ci0gICAgfQot
Ci0gICAgY29uc3QgZGJOYW1lID0gIlRlc3REYXRhYmFzZSI7Ci0KLSAgICBmdW5jdGlvbiBjcmVh
dGVJREJEYXRhU3RvcmUoY2FsbGJhY2spIHsKLSAgICAgICAgbGV0IHJlcXVlc3QgPSBpbmRleGVk
REIub3BlbihkYk5hbWUpOwotICAgICAgICByZXF1ZXN0Lm9uZXJyb3IgPSBmdW5jdGlvbigpIHsK
LSAgICAgICAgICAgIGFkZE91dHB1dCgiQ291bGRuJ3QgY3JlYXRlIGluZGV4ZWREQi4iKTsKLSAg
ICAgICAgICAgIGZpbmlzaFRlc3QoKTsKLSAgICAgICAgfTsKLSAgICAgICAgcmVxdWVzdC5vbnVw
Z3JhZGVuZWVkZWQgPSBmdW5jdGlvbihldmVudCkgewotICAgICAgICAgICAgbGV0IGRiID0gZXZl
bnQudGFyZ2V0LnJlc3VsdDsKLSAgICAgICAgICAgIGxldCBvYmpTdG9yZSA9IGRiLmNyZWF0ZU9i
amVjdFN0b3JlKCJ0ZXN0Iiwge2F1dG9JbmNyZW1lbnQ6IHRydWV9KTsKLSAgICAgICAgICAgIG9i
alN0b3JlLmFkZCgidmFsdWUiKTsKLSAgICAgICAgICAgIGNhbGxiYWNrKCk7Ci0gICAgICAgIH0K
LSAgICB9Ci0KLSAgICBjb25zdCBtYXhJbnRlcnZhbHMgPSAyMDsKLQotICAgIGxldCBpbnRlcnZh
bENvdW50ZXJJREI7Ci0gICAgbGV0IGNoZWNrSURCQ2FsbGJhY2s7Ci0gICAgbGV0IGNoZWNrSURC
SW50ZXJ2YWxJRDsKLSAgICBsZXQgc2VtYXBob3JlSURCQ2hlY2sgPSBmYWxzZTsKLSAgICBmdW5j
dGlvbiBjaGVja0lEQkRhdGFTdG9yZUV4aXN0cyhpc0FmdGVyRGVsZXRpb24sIGNhbGxiYWNrKSB7
Ci0gICAgICAgIGxldCByZXF1ZXN0OwotICAgICAgICBpbnRlcnZhbENvdW50ZXJJREIgPSAwOwot
ICAgICAgICBjaGVja0lEQkNhbGxiYWNrID0gY2FsbGJhY2s7Ci0gICAgICAgIGlmICghaXNBZnRl
ckRlbGV0aW9uKSB7Ci0gICAgICAgICAgICAvLyBDaGVjayB1bnRpbCB0aGVyZSBpcyBhIElEQi4K
LSAgICAgICAgICAgIGNoZWNrSURCSW50ZXJ2YWxJRCA9IHNldEludGVydmFsKGZ1bmN0aW9uKCkg
ewotICAgICAgICAgICAgICAgIGlmIChzZW1hcGhvcmVJREJDaGVjaykKLSAgICAgICAgICAgICAg
ICAgICAgcmV0dXJuOwotICAgICAgICAgICAgICAgIHNlbWFwaG9yZUlEQkNoZWNrID0gdHJ1ZTsK
LQotICAgICAgICAgICAgICAgIGlmICgrK2ludGVydmFsQ291bnRlcklEQiA+PSBtYXhJbnRlcnZh
bHMpIHsKLSAgICAgICAgICAgICAgICAgICAgY2xlYXJJbnRlcnZhbChjaGVja0lEQkludGVydmFs
SUQpOwotICAgICAgICAgICAgICAgICAgICBhZGRPdXRwdXQoIkJlZm9yZSBzdGF0aXN0aWNzIHBy
b2Nlc3Npbmc6IElEQiBlbnRyeSBkb2VzIG5vdCBleGlzdC4iKTsKLSAgICAgICAgICAgICAgICAg
ICAgc2VtYXBob3JlSURCQ2hlY2sgPSBmYWxzZTsKLSAgICAgICAgICAgICAgICAgICAgY2hlY2tJ
REJDYWxsYmFjaygpOwotICAgICAgICAgICAgICAgIH0gZWxzZSB7Ci0gICAgICAgICAgICAgICAg
ICAgIHJlcXVlc3QgPSBpbmRleGVkREIub3BlbihkYk5hbWUpOwotICAgICAgICAgICAgICAgICAg
ICByZXF1ZXN0Lm9uZXJyb3IgPSBmdW5jdGlvbiAoKSB7Ci0gICAgICAgICAgICAgICAgICAgICAg
ICBjbGVhckludGVydmFsKGNoZWNrSURCSW50ZXJ2YWxJRCk7Ci0gICAgICAgICAgICAgICAgICAg
ICAgICBhZGRPdXRwdXQoIkNvdWxkbid0IG9wZW4gaW5kZXhlZERCLiIpOwotICAgICAgICAgICAg
ICAgICAgICAgICAgc2VtYXBob3JlSURCQ2hlY2sgPSBmYWxzZTsKLSAgICAgICAgICAgICAgICAg
ICAgICAgIGZpbmlzaFRlc3QoKTsKLSAgICAgICAgICAgICAgICAgICAgfTsKLSAgICAgICAgICAg
ICAgICAgICAgcmVxdWVzdC5vbnVwZ3JhZGVuZWVkZWQgPSBmdW5jdGlvbiAoKSB7Ci0gICAgICAg
ICAgICAgICAgICAgICAgICAvLyBMZXQgdGhlIG5leHQgaW50ZXJ2YWwgY2hlY2sgYWdhaW4uCi0g
ICAgICAgICAgICAgICAgICAgICAgICBzZW1hcGhvcmVJREJDaGVjayA9IGZhbHNlOwotICAgICAg
ICAgICAgICAgICAgICB9OwotICAgICAgICAgICAgICAgICAgICByZXF1ZXN0Lm9uc3VjY2VzcyA9
IGZ1bmN0aW9uICgpIHsKLSAgICAgICAgICAgICAgICAgICAgICAgIGNsZWFySW50ZXJ2YWwoY2hl
Y2tJREJJbnRlcnZhbElEKTsKLSAgICAgICAgICAgICAgICAgICAgICAgIGFkZE91dHB1dCgiQmVm
b3JlIHN0YXRpc3RpY3MgcHJvY2Vzc2luZzogSURCIGVudHJ5IGRvZXMgZXhpc3QuIik7Ci0gICAg
ICAgICAgICAgICAgICAgICAgICBzZW1hcGhvcmVJREJDaGVjayA9IGZhbHNlOwotICAgICAgICAg
ICAgICAgICAgICAgICAgY2hlY2tJREJDYWxsYmFjaygpOwotICAgICAgICAgICAgICAgICAgICB9
OwotICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgIH0sIDIwMCk7Ci0gICAgICAgIH0gZWxz
ZSB7Ci0gICAgICAgICAgICAvLyBDaGVjayB1bnRpbCB0aGVyZSBpcyBubyBJREIuCi0gICAgICAg
ICAgICBjaGVja0lEQkludGVydmFsSUQgPSBzZXRJbnRlcnZhbChmdW5jdGlvbiAoKSB7Ci0gICAg
ICAgICAgICAgICAgaWYgKHNlbWFwaG9yZUlEQkNoZWNrKQotICAgICAgICAgICAgICAgICAgICBy
ZXR1cm47Ci0gICAgICAgICAgICAgICAgc2VtYXBob3JlSURCQ2hlY2sgPSB0cnVlOwotCi0gICAg
ICAgICAgICAgICAgaWYgKCsraW50ZXJ2YWxDb3VudGVySURCID49IG1heEludGVydmFscykgewot
ICAgICAgICAgICAgICAgICAgICBjbGVhckludGVydmFsKGNoZWNrSURCSW50ZXJ2YWxJRCk7Ci0g
ICAgICAgICAgICAgICAgICAgIGFkZE91dHB1dCgiQWZ0ZXIgc3RhdGlzdGljcyBwcm9jZXNzaW5n
OiBJREIgZW50cnkgZG9lcyBleGlzdC4iKTsKLSAgICAgICAgICAgICAgICAgICAgc2VtYXBob3Jl
SURCQ2hlY2sgPSBmYWxzZTsKLSAgICAgICAgICAgICAgICAgICAgY2hlY2tJREJDYWxsYmFjaygp
OwotICAgICAgICAgICAgICAgIH0gZWxzZSB7Ci0gICAgICAgICAgICAgICAgICAgIHJlcXVlc3Qg
PSBpbmRleGVkREIub3BlbihkYk5hbWUpOwotICAgICAgICAgICAgICAgICAgICByZXF1ZXN0Lm9u
ZXJyb3IgPSBmdW5jdGlvbiAoKSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICBjbGVhckludGVy
dmFsKGNoZWNrSURCSW50ZXJ2YWxJRCk7Ci0gICAgICAgICAgICAgICAgICAgICAgICBhZGRPdXRw
dXQoIkNvdWxkbid0IG9wZW4gaW5kZXhlZERCLiIpOwotICAgICAgICAgICAgICAgICAgICAgICAg
c2VtYXBob3JlSURCQ2hlY2sgPSBmYWxzZTsKLSAgICAgICAgICAgICAgICAgICAgICAgIGZpbmlz
aFRlc3QoKTsKLSAgICAgICAgICAgICAgICAgICAgfTsKLSAgICAgICAgICAgICAgICAgICAgcmVx
dWVzdC5vbnVwZ3JhZGVuZWVkZWQgPSBmdW5jdGlvbiAoKSB7Ci0gICAgICAgICAgICAgICAgICAg
ICAgICBjbGVhckludGVydmFsKGNoZWNrSURCSW50ZXJ2YWxJRCk7Ci0gICAgICAgICAgICAgICAg
ICAgICAgICBhZGRPdXRwdXQoIkFmdGVyIHN0YXRpc3RpY3MgcHJvY2Vzc2luZzogSURCIGVudHJ5
IGRvZXMgbm90IGV4aXN0LiIpOwotICAgICAgICAgICAgICAgICAgICAgICAgc2VtYXBob3JlSURC
Q2hlY2sgPSBmYWxzZTsKLSAgICAgICAgICAgICAgICAgICAgICAgIGZpbmlzaFRlc3QoKTsKLSAg
ICAgICAgICAgICAgICAgICAgfTsKLSAgICAgICAgICAgICAgICAgICAgcmVxdWVzdC5vbnN1Y2Nl
c3MgPSBmdW5jdGlvbiAoKSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAvLyBMZXQgdGhlIG5l
eHQgaW50ZXJ2YWwgY2hlY2sgYWdhaW4gYmVjYXVzZSBkZWxldGlvbiBtaWdodCBiZSBkZWxheWVk
LgotICAgICAgICAgICAgICAgICAgICAgICAgc2VtYXBob3JlSURCQ2hlY2sgPSBmYWxzZTsKLSAg
ICAgICAgICAgICAgICAgICAgfTsKLSAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICB9LCAy
MDApOwotICAgICAgICB9Ci0gICAgfQotCi0gICAgbGV0IGludGVydmFsQ291bnRlckxvY2FsU3Rv
cmFnZTsKLSAgICBsZXQgY2hlY2tMb2NhbFN0b3JhZ2VDYWxsYmFjazsKLSAgICBsZXQgY2hlY2tM
b2NhbFN0b3JhZ2VJbnRlcnZhbElEOwotICAgIGNvbnN0IGxvY2FsU3RvcmFnZU5hbWUgPSAidGVz
dCI7Ci0gICAgY29uc3QgbG9jYWxTdG9yYWdlVmFsdWUgPSAidmFsdWUiOwotICAgIGZ1bmN0aW9u
IGNoZWNrTG9jYWxTdG9yYWdlRXhpc3RzKGlzQWZ0ZXJEZWxldGlvbiwgY2FsbGJhY2spIHsKLSAg
ICAgICAgaW50ZXJ2YWxDb3VudGVyTG9jYWxTdG9yYWdlID0gMDsKLSAgICAgICAgY2hlY2tMb2Nh
bFN0b3JhZ2VDYWxsYmFjayA9IGNhbGxiYWNrOwotICAgICAgICBpZiAoIWlzQWZ0ZXJEZWxldGlv
bikgewotICAgICAgICAgICAgLy8gQ2hlY2sgdW50aWwgdGhlcmUgaXMgTG9jYWxTdG9yYWdlLgot
ICAgICAgICAgICAgY2hlY2tMb2NhbFN0b3JhZ2VJbnRlcnZhbElEID0gc2V0SW50ZXJ2YWwoZnVu
Y3Rpb24oKSB7Ci0gICAgICAgICAgICAgICAgaWYgKCsraW50ZXJ2YWxDb3VudGVyTG9jYWxTdG9y
YWdlID49IG1heEludGVydmFscykgewotICAgICAgICAgICAgICAgICAgICBjbGVhckludGVydmFs
KGNoZWNrTG9jYWxTdG9yYWdlSW50ZXJ2YWxJRCk7Ci0gICAgICAgICAgICAgICAgICAgIGxldCB2
YWx1ZSA9IGxvY2FsU3RvcmFnZS5nZXRJdGVtKGxvY2FsU3RvcmFnZU5hbWUpOwotICAgICAgICAg
ICAgICAgICAgICBhZGRPdXRwdXQoIkJlZm9yZSBzdGF0aXN0aWNzIHByb2Nlc3Npbmc6IExvY2Fs
U3RvcmFnZSBlbnRyeSAiICsgKHZhbHVlID09PSBsb2NhbFN0b3JhZ2VWYWx1ZSA/ICJkb2VzIiA6
ICJkb2VzIG5vdCIpICsgIiBleGlzdC4iKTsKLSAgICAgICAgICAgICAgICAgICAgY2hlY2tMb2Nh
bFN0b3JhZ2VDYWxsYmFjaygpOwotICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAodGVzdFJ1bm5l
ci5pc1N0YXRpc3RpY3NIYXNMb2NhbFN0b3JhZ2Uob3JpZ2luVW5kZXJUZXN0KSkgewotICAgICAg
ICAgICAgICAgICAgICBjbGVhckludGVydmFsKGNoZWNrTG9jYWxTdG9yYWdlSW50ZXJ2YWxJRCk7
Ci0gICAgICAgICAgICAgICAgICAgIGxldCB2YWx1ZSA9IGxvY2FsU3RvcmFnZS5nZXRJdGVtKGxv
Y2FsU3RvcmFnZU5hbWUpOwotICAgICAgICAgICAgICAgICAgICBhZGRPdXRwdXQoIkJlZm9yZSBz
dGF0aXN0aWNzIHByb2Nlc3Npbmc6IExvY2FsU3RvcmFnZSBlbnRyeSAiICsgKHZhbHVlID09PSBs
b2NhbFN0b3JhZ2VWYWx1ZSA/ICJkb2VzIiA6ICJkb2VzIG5vdCIpICsgIiBleGlzdC4iKTsKLSAg
ICAgICAgICAgICAgICAgICAgY2hlY2tMb2NhbFN0b3JhZ2VDYWxsYmFjaygpOwotICAgICAgICAg
ICAgICAgIH0KLSAgICAgICAgICAgIH0sIDEwMCk7Ci0gICAgICAgIH0gZWxzZSB7Ci0gICAgICAg
ICAgICAvLyBDaGVjayB1bnRpbCB0aGVyZSBpcyBubyBMb2NhbFN0b3JhZ2UuCi0gICAgICAgICAg
ICBjaGVja0xvY2FsU3RvcmFnZUludGVydmFsSUQgPSBzZXRJbnRlcnZhbChmdW5jdGlvbigpIHsK
LSAgICAgICAgICAgICAgICBpZiAoKytpbnRlcnZhbENvdW50ZXJMb2NhbFN0b3JhZ2UgPj0gbWF4
SW50ZXJ2YWxzKSB7Ci0gICAgICAgICAgICAgICAgICAgIGNsZWFySW50ZXJ2YWwoY2hlY2tMb2Nh
bFN0b3JhZ2VJbnRlcnZhbElEKTsKLSAgICAgICAgICAgICAgICAgICAgbGV0IHZhbHVlID0gbG9j
YWxTdG9yYWdlLmdldEl0ZW0obG9jYWxTdG9yYWdlTmFtZSk7Ci0gICAgICAgICAgICAgICAgICAg
IGFkZE91dHB1dCgiQWZ0ZXIgc3RhdGlzdGljcyBwcm9jZXNzaW5nOiBMb2NhbFN0b3JhZ2UgZW50
cnkgIiArICh2YWx1ZSA9PT0gbG9jYWxTdG9yYWdlVmFsdWUgPyAiZG9lcyIgOiAiZG9lcyBub3Qi
KSArICIgZXhpc3QuIik7Ci0gICAgICAgICAgICAgICAgICAgIGNoZWNrTG9jYWxTdG9yYWdlQ2Fs
bGJhY2soKTsKLSAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKCF0ZXN0UnVubmVyLmlzU3RhdGlz
dGljc0hhc0xvY2FsU3RvcmFnZShvcmlnaW5VbmRlclRlc3QpKSB7Ci0gICAgICAgICAgICAgICAg
ICAgIGNsZWFySW50ZXJ2YWwoY2hlY2tMb2NhbFN0b3JhZ2VJbnRlcnZhbElEKTsKLSAgICAgICAg
ICAgICAgICAgICAgbGV0IHZhbHVlID0gbG9jYWxTdG9yYWdlLmdldEl0ZW0obG9jYWxTdG9yYWdl
TmFtZSk7Ci0gICAgICAgICAgICAgICAgICAgIGFkZE91dHB1dCgiQWZ0ZXIgc3RhdGlzdGljcyBw
cm9jZXNzaW5nOiBMb2NhbFN0b3JhZ2UgZW50cnkgIiArICh2YWx1ZSA9PT0gbG9jYWxTdG9yYWdl
VmFsdWUgPyAiZG9lcyIgOiAiZG9lcyBub3QiKSArICIgZXhpc3QuIik7Ci0gICAgICAgICAgICAg
ICAgICAgIGNoZWNrTG9jYWxTdG9yYWdlQ2FsbGJhY2soKTsKLSAgICAgICAgICAgICAgICB9Ci0g
ICAgICAgICAgICB9LCAxMDApOwotICAgICAgICB9Ci0gICAgfQotCi0gICAgYXN5bmMgZnVuY3Rp
b24gd3JpdGVXZWJzaXRlRGF0YUFuZENvbnRpbnVlKCkgewotICAgICAgICAvLyBXcml0ZSBjb29r
aWVzLgotICAgICAgICBhd2FpdCBmZXRjaCgiL2Nvb2tpZXMvcmVzb3VyY2VzL3NldC1odHRwLW9u
bHktY29va2llLnBocD9jb29raWVOYW1lPSIgKyBodHRwT25seUNvb2tpZU5hbWUsIHsgY3JlZGVu
dGlhbHM6ICJzYW1lLW9yaWdpbiIgfSk7Ci0gICAgICAgIGF3YWl0IGZldGNoKCIvY29va2llcy9y
ZXNvdXJjZXMvc2V0Q29va2llcy5jZ2kiLCB7IGhlYWRlcnM6IHsgIlNldC1Db29raWUiOiBzZXJ2
ZXJTaWRlQ29va2llTmFtZSArICI9MTsgcGF0aD0vOyIgfSwgY3JlZGVudGlhbHM6ICJzYW1lLW9y
aWdpbiIgfSk7Ci0gICAgICAgIGRvY3VtZW50LmNvb2tpZSA9IGNsaWVudFNpZGVDb29raWVOYW1l
ICsgIj0xIjsKLQotICAgICAgICBjaGVja0Nvb2tpZXMoZmFsc2UpOwotCi0gICAgICAgIC8vIFdy
aXRlIExvY2FsU3RvcmFnZQotICAgICAgICBsb2NhbFN0b3JhZ2Uuc2V0SXRlbShsb2NhbFN0b3Jh
Z2VOYW1lLCBsb2NhbFN0b3JhZ2VWYWx1ZSk7Ci0gICAgICAgIGNoZWNrTG9jYWxTdG9yYWdlRXhp
c3RzKGZhbHNlLCBmdW5jdGlvbigpIHsKLQotICAgICAgICAgICAgLy8gV3JpdGUgSW5kZXhlZERC
LgotICAgICAgICAgICAgY3JlYXRlSURCRGF0YVN0b3JlKGZ1bmN0aW9uICgpIHsKLSAgICAgICAg
ICAgICAgICBjaGVja0lEQkRhdGFTdG9yZUV4aXN0cyhmYWxzZSwgZnVuY3Rpb24oKSB7Ci0gICAg
ICAgICAgICAgICAgICAgIGFkZExpbmVicmVha1RvT3V0cHV0KCk7Ci0gICAgICAgICAgICAgICAg
ICAgIHByb2Nlc3NXZWJzaXRlRGF0YUFuZENvbnRpbnVlKCk7Ci0gICAgICAgICAgICAgICAgfSk7
Ci0gICAgICAgICAgICB9KTsKLSAgICAgICAgfSk7Ci0gICAgfQotCi0gICAgZnVuY3Rpb24gcHJv
Y2Vzc1dlYnNpdGVEYXRhQW5kQ29udGludWUoKSB7Ci0gICAgICAgIHRlc3RSdW5uZXIuaW5zdGFs
bFN0YXRpc3RpY3NEaWRTY2FuRGF0YVJlY29yZHNDYWxsYmFjayhjaGVja1dlYnNpdGVEYXRhQW5k
Q29udGludWUpOwotICAgICAgICB0ZXN0UnVubmVyLnN0YXRpc3RpY3NQcm9jZXNzU3RhdGlzdGlj
c0FuZERhdGFSZWNvcmRzKCk7Ci0gICAgfQotCi0gICAgZnVuY3Rpb24gY2hlY2tXZWJzaXRlRGF0
YUFuZENvbnRpbnVlKCkgewotICAgICAgICBjaGVja0Nvb2tpZXModHJ1ZSk7Ci0gICAgICAgIGNo
ZWNrTG9jYWxTdG9yYWdlRXhpc3RzKHRydWUsIGZ1bmN0aW9uICgpIHsKLSAgICAgICAgICAgIGNo
ZWNrSURCRGF0YVN0b3JlRXhpc3RzKHRydWUsIGZpbmlzaFRlc3QpOwotICAgICAgICB9KTsKLSAg
ICB9Ci0KLSAgICBjb25zdCBvcmlnaW5VbmRlclRlc3QgID0gImh0dHA6Ly8xMjcuMC4wLjE6ODAw
MCI7Ci0gICAgZnVuY3Rpb24gZmluaXNoVGVzdCgpIHsKLSAgICAgICAgaWYgKHRlc3RSdW5uZXIu
aXNTdGF0aXN0aWNzSGFzSGFkVXNlckludGVyYWN0aW9uKG9yaWdpblVuZGVyVGVzdCkpCi0gICAg
ICAgICAgICBhZGRPdXRwdXQoIkZBSUw6ICIgKyBvcmlnaW5VbmRlclRlc3QgKyAiIHN0aWxsIGhh
cyB1c2VyIGludGVyYWN0aW9uIGFmdGVyIHByb2Nlc3NpbmcuIik7Ci0gICAgICAgIHJlc2V0Q29v
a2llcygpOwotICAgICAgICBzZXRFbmFibGVGZWF0dXJlKGZhbHNlLCBmdW5jdGlvbigpIHsKLSAg
ICAgICAgICAgIHRlc3RSdW5uZXIubm90aWZ5RG9uZSgpOwotICAgICAgICB9KTsKLSAgICB9Ci0K
LSAgICBmdW5jdGlvbiBydW5UZXN0KCkgewotICAgICAgICBzZXRFbmFibGVGZWF0dXJlKHRydWUs
IGZ1bmN0aW9uICgpIHsKLSAgICAgICAgICAgIC8vIGluc2VydFN0YXRpc3RpY3NFeHBpcmVkU3Rh
dGlzdGljKGRvbWFpbiwgaGFzSGFkVXNlckludGVyYWN0aW9uLCBpc1NjaGVkdWxlZEZvckFsbEJ1
dENvb2tpZURhdGFSZW1vdmFsLCBpc1ByZXZhbGVudCkKLSAgICAgICAgICAgIHRlc3RSdW5uZXIu
c2V0U3RhdGlzdGljc0V4cGlyZWRTdGF0aXN0aWMob3JpZ2luVW5kZXJUZXN0LCB0cnVlLCBmYWxz
ZSwgdHJ1ZSwgZnVuY3Rpb24oKSB7Ci0gICAgICAgICAgICAgICAgaWYgKCF0ZXN0UnVubmVyLmlz
U3RhdGlzdGljc1ByZXZhbGVudFJlc291cmNlKG9yaWdpblVuZGVyVGVzdCkpCi0gICAgICAgICAg
ICAgICAgICAgIGFkZE91dHB1dCgiRkFJTDogIiArIG9yaWdpblVuZGVyVGVzdCArICIgZGlkIG5v
dCBnZXQgaW5zZXJ0ZWQgaW50byBkYXRhYmFzZS4iKTsKLSAgICAgICAgICAgICAgICB3cml0ZVdl
YnNpdGVEYXRhQW5kQ29udGludWUoKTsKLSAgICAgICAgICAgIH0pOwotICAgICAgICB9KTsKLSAg
ICB9Ci08L3NjcmlwdD4KLTwvYm9keT4KLTwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9waW5nLXRvLXByZXZhbGVudC1yZXNv
dXJjZS1kYXRhYmFzZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291
cmNlTG9hZFN0YXRpc3RpY3MvcGluZy10by1wcmV2YWxlbnQtcmVzb3VyY2UtZGF0YWJhc2UtZXhw
ZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBjM2YwNjcwZDllZjRjYTA5
OGQwODMwMDMwMjM2YWY2NTdkY2EyZDEwLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlz
dGljcy9waW5nLXRvLXByZXZhbGVudC1yZXNvdXJjZS1kYXRhYmFzZS1leHBlY3RlZC50eHQKKysr
IC9kZXYvbnVsbApAQCAtMSwyNCArMCwwIEBACi1UZXN0cyB0aGF0IGNvb2tpZSBibG9ja2luZyBp
cyBhcHBsaWVkIHRvIHBpbmcgbG9hZHMuCi0KLQotLS0tLS0tLS0KLUZyYW1lOiAnPCEtLWZyYW1l
MS0tPicKLS0tLS0tLS0tCi1TaG91bGQgcmVjZWl2ZSBmaXJzdC1wYXJ0eSBjb29raWUuCi1SZWNl
aXZlZCBjb29raWUgbmFtZWQgJ2ZpcnN0UGFydHlDb29raWUnLgotQ2xpZW50LXNpZGUgZG9jdW1l
bnQuY29va2llOiBmaXJzdFBhcnR5Q29va2llPXZhbHVlCi0KLS0tLS0tLS0tCi1GcmFtZTogJzwh
LS1mcmFtZTItLT4nCi0tLS0tLS0tLQotU2hvdWxkIHJlY2VpdmUgbm8gY29va2llcy4KLURpZCBu
b3QgcmVjZWl2ZSBjb29raWUgbmFtZWQgJ2ZpcnN0UGFydHlDb29raWUnLgotQ2xpZW50LXNpZGUg
ZG9jdW1lbnQuY29va2llOgotCi0tLS0tLS0tLQotRnJhbWU6ICc8IS0tZnJhbWUzLS0+JwotLS0t
LS0tLS0KLVBpbmcgcmVjZWl2ZWQuCi1IVFRQX0hPU1Q6IGxvY2FsaG9zdDo4MDAwCi1SRVFVRVNU
X1VSSTogL2NvbnRlbnRleHRlbnNpb25zL3Jlc291cmNlcy9zYXZlLXBpbmcucGhwP3Rlc3Q9cGlu
Zy10by1wcmV2YWxlbnQtcmVzb3VyY2UKLU5vIGNvb2tpZXMgaW4gcGluZy4KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9waW5nLXRvLXBy
ZXZhbGVudC1yZXNvdXJjZS1kYXRhYmFzZS5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9y
ZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3BpbmctdG8tcHJldmFsZW50LXJlc291cmNlLWRhdGFiYXNl
Lmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGI0YjM5YWU5YzdhNDMwYThiYjdi
YjRlYWZiZGViMWRmYjExNTcxOWQuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNz
L3BpbmctdG8tcHJldmFsZW50LXJlc291cmNlLWRhdGFiYXNlLmh0bWwKKysrIC9kZXYvbnVsbApA
QCAtMSwxMDAgKzAsMCBAQAotPCFET0NUWVBFIGh0bWw+Ci08aHRtbCBsYW5nPSJlbiI+Ci08aGVh
ZD4KLSAgICA8bWV0YSBjaGFyc2V0PSJVVEYtOCI+Ci0gICAgPHNjcmlwdCBzcmM9Ii9qcy10ZXN0
LXJlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgotICAgIDxzY3JpcHQgc3JjPSJyZXNv
dXJjZXMvdXRpbC5qcyI+PC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keT4KLTxkaXYgaWQ9ImRlc2Ny
aXB0aW9uIj5UZXN0cyB0aGF0IGNvb2tpZSBibG9ja2luZyBpcyBhcHBsaWVkIHRvIHBpbmcgbG9h
ZHMuPC9kaXY+Ci08YSBpZD0idGFyZ2V0TGluayIgaHJlZj0iIyIgcGluZz0iaHR0cDovL2xvY2Fs
aG9zdDo4MDAwL2NvbnRlbnRleHRlbnNpb25zL3Jlc291cmNlcy9zYXZlLXBpbmcucGhwP3Rlc3Q9
cGluZy10by1wcmV2YWxlbnQtcmVzb3VyY2UiPlRoZSBsaW5rPC9hPgotPHNjcmlwdD4KLSAgICBp
ZiAodGVzdFJ1bm5lcikKLSAgICAgICAgdGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7Ci0KLSAg
ICBjb25zdCBwYXJ0aXRpb25Ib3N0ID0gIjEyNy4wLjAuMTo4MDAwIjsKLSAgICBjb25zdCB0aGly
ZFBhcnR5T3JpZ2luID0gImh0dHA6Ly9sb2NhbGhvc3Q6ODAwMCI7Ci0gICAgY29uc3QgcmVzb3Vy
Y2VQYXRoID0gIi9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3Jlc291cmNlcyI7Ci0gICAgY29uc3Qg
dGhpcmRQYXJ0eUJhc2VVcmwgPSB0aGlyZFBhcnR5T3JpZ2luICsgcmVzb3VyY2VQYXRoOwotICAg
IGNvbnN0IGZpcnN0UGFydHlDb29raWVOYW1lID0gImZpcnN0UGFydHlDb29raWUiOwotICAgIGNv
bnN0IHN1YlBhdGhUb1NldEZpcnN0UGFydHlDb29raWUgPSAiL3NldC1jb29raWUucGhwP25hbWU9
IiArIGZpcnN0UGFydHlDb29raWVOYW1lICsgIiZ2YWx1ZT12YWx1ZSI7Ci0gICAgY29uc3QgcmV0
dXJuVXJsID0gImh0dHA6Ly8iICsgcGFydGl0aW9uSG9zdCArICIvcmVzb3VyY2VMb2FkU3RhdGlz
dGljcy9waW5nLXRvLXByZXZhbGVudC1yZXNvdXJjZS1kYXRhYmFzZS5odG1sIjsKLSAgICBjb25z
dCBzdWJQYXRoVG9HZXRDb29raWVzID0gIi9nZXQtY29va2llcy5waHA/bmFtZTE9IiArIGZpcnN0
UGFydHlDb29raWVOYW1lOwotCi0gICAgZnVuY3Rpb24gYWN0aXZhdGVFbGVtZW50KGVsZW1lbnRJ
RCwgY2FsbGJhY2spIHsKLSAgICAgICAgdmFyIGVsZW1lbnQgPSBkb2N1bWVudC5nZXRFbGVtZW50
QnlJZChlbGVtZW50SUQpOwotICAgICAgICB2YXIgY2VudGVyWCA9IGVsZW1lbnQub2Zmc2V0TGVm
dCArIGVsZW1lbnQub2Zmc2V0V2lkdGggLyAyOwotICAgICAgICB2YXIgY2VudGVyWSA9IGVsZW1l
bnQub2Zmc2V0VG9wICsgZWxlbWVudC5vZmZzZXRIZWlnaHQgLyAyOwotICAgICAgICBVSUhlbHBl
ci5hY3RpdmF0ZUF0KGNlbnRlclgsIGNlbnRlclkpLnRoZW4oCi0gICAgICAgICAgICBmdW5jdGlv
biAoKSB7Ci0gICAgICAgICAgICAgICAgY2FsbGJhY2soKTsKLSAgICAgICAgICAgIH0sCi0gICAg
ICAgICAgICBmdW5jdGlvbiAoKSB7Ci0gICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5ub3RpZnlE
b25lKCk7Ci0gICAgICAgICAgICB9Ci0gICAgICAgICk7Ci0gICAgfQotCi0gICAgZnVuY3Rpb24g
b3BlbklmcmFtZSh1cmwsIG9uTG9hZEhhbmRsZXIpIHsKLSAgICAgICAgY29uc3QgZWxlbWVudCA9
IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImlmcmFtZSIpOwotICAgICAgICBlbGVtZW50LnNyYyA9
IHVybDsKLSAgICAgICAgaWYgKG9uTG9hZEhhbmRsZXIpIHsKLSAgICAgICAgICAgIGVsZW1lbnQu
b25sb2FkID0gb25Mb2FkSGFuZGxlcjsKLSAgICAgICAgfQotICAgICAgICBkb2N1bWVudC5ib2R5
LmFwcGVuZENoaWxkKGVsZW1lbnQpOwotICAgIH0KLQotICAgIGZ1bmN0aW9uIHJ1blRlc3QoKSB7
Ci0gICAgICAgIHN3aXRjaCAoZG9jdW1lbnQubG9jYXRpb24uaGFzaCkgewotICAgICAgICAgICAg
Y2FzZSAiI3N0ZXAxIjoKLSAgICAgICAgICAgICAgICAvLyBTZXQgZmlyc3QtcGFydHkgY29va2ll
IGZvciBsb2NhbGhvc3QuCi0gICAgICAgICAgICAgICAgZG9jdW1lbnQubG9jYXRpb24uaHJlZiA9
IHRoaXJkUGFydHlCYXNlVXJsICsgc3ViUGF0aFRvU2V0Rmlyc3RQYXJ0eUNvb2tpZSArICIjIiAr
IHJldHVyblVybCArICIjc3RlcDIiOwotICAgICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICAg
ICAgY2FzZSAiI3N0ZXAyIjoKLSAgICAgICAgICAgICAgICAvLyBDaGVjayB0aGF0IHRoZSBjb29r
aWUgZ2V0cyBzZW50IGZvciBsb2NhbGhvc3QgdW5kZXIgMTI3LjAuMC4xIHNpbmNlIGxvY2FsaG9z
dCBpcyBub3QgcHJldmFsZW50LgotICAgICAgICAgICAgICAgIGRvY3VtZW50LmxvY2F0aW9uLmhh
c2ggPSAic3RlcDMiOwotICAgICAgICAgICAgICAgIG9wZW5JZnJhbWUodGhpcmRQYXJ0eUJhc2VV
cmwgKyBzdWJQYXRoVG9HZXRDb29raWVzICsgIiZtZXNzYWdlPVNob3VsZCByZWNlaXZlIGZpcnN0
LXBhcnR5IGNvb2tpZS4iLCBydW5UZXN0KTsKLSAgICAgICAgICAgICAgICBicmVhazsKLSAgICAg
ICAgICAgIGNhc2UgIiNzdGVwMyI6Ci0gICAgICAgICAgICAgICAgLy8gU2V0IGxvY2FsaG9zdCBh
cyBwcmV2YWxlbnQgdG8gcHV0IGl0IGluIHRoZSBibG9ja2luZyBjYXRlZ29yeS4KLSAgICAgICAg
ICAgICAgICB0ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NQcmV2YWxlbnRSZXNvdXJjZSh0aGlyZFBh
cnR5T3JpZ2luLCB0cnVlLCBmdW5jdGlvbigpIHsKLSAgICAgICAgICAgICAgICAgICAgdGVzdFJ1
bm5lci5zdGF0aXN0aWNzVXBkYXRlQ29va2llQmxvY2tpbmcocnVuVGVzdCk7Ci0gICAgICAgICAg
ICAgICAgICAgIGRvY3VtZW50LmxvY2F0aW9uLmhhc2ggPSAic3RlcDQiOwotICAgICAgICAgICAg
ICAgIH0pOwotICAgICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICAgICAgY2FzZSAiI3N0ZXA0
IjoKLSAgICAgICAgICAgICAgICAvLyBDaGVjayB0aGF0IG5vIGNvb2tpZSBnZXRzIHNlbnQgZm9y
IGxvY2FsaG9zdCB1bmRlciAxMjcuMC4wLjEgc2luY2UgbG9jYWxob3N0J3MgY29va2llcyBhcmUg
YmxvY2tlZC4KLSAgICAgICAgICAgICAgICBkb2N1bWVudC5sb2NhdGlvbi5oYXNoID0gInN0ZXA1
IjsKLSAgICAgICAgICAgICAgICBvcGVuSWZyYW1lKHRoaXJkUGFydHlCYXNlVXJsICsgc3ViUGF0
aFRvR2V0Q29va2llcyArICAiJm1lc3NhZ2U9U2hvdWxkIHJlY2VpdmUgbm8gY29va2llcy4iLCBy
dW5UZXN0KTsKLSAgICAgICAgICAgICAgICBicmVhazsKLSAgICAgICAgICAgIGNhc2UgIiNzdGVw
NSI6Ci0gICAgICAgICAgICAgICAgLy8gQ2xpY2sgdGhlIGxpbmsgdG8gdHJpZ2dlciB0aGUgcGlu
Zy4KLSAgICAgICAgICAgICAgICBhY3RpdmF0ZUVsZW1lbnQoInRhcmdldExpbmsiLCBmdW5jdGlv
bigpIHsKLSAgICAgICAgICAgICAgICAgICAgb3BlbklmcmFtZSh0aGlyZFBhcnR5T3JpZ2luICsg
Ii9jb250ZW50ZXh0ZW5zaW9ucy9yZXNvdXJjZXMvZ2V0LXBpbmctZGF0YS5waHA/dGVzdD1waW5n
LXRvLXByZXZhbGVudC1yZXNvdXJjZSIsIGZ1bmN0aW9uKCkgewotICAgICAgICAgICAgICAgICAg
ICAgICAgZG9jdW1lbnQuYm9keS5yZW1vdmVDaGlsZChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
dGFyZ2V0TGluayIpKTsKLSAgICAgICAgICAgICAgICAgICAgICAgIHNldEVuYWJsZUZlYXR1cmUo
ZmFsc2UsIGZ1bmN0aW9uKCkgewotICAgICAgICAgICAgICAgICAgICBmZXRjaCgiL2NvbnRlbnRl
eHRlbnNpb25zL3Jlc291cmNlcy9kZWxldGUtcGluZy5waHA/dGVzdD1waW5nLXRvLXByZXZhbGVu
dC1yZXNvdXJjZSIpLnRoZW4oKCk9PnsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgdGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7Ci0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIH0pOwotICAgICAgICAgICAgICAgICAgICAgICAgfSk7Ci0gICAgICAgICAg
ICAgICAgICAgIH0pOwotICAgICAgICAgICAgICAgIH0pOwotICAgICAgICAgICAgICAgIGJyZWFr
OwotICAgICAgICB9Ci0gICAgfQotCi0gICAgaWYgKGRvY3VtZW50LmxvY2F0aW9uLmhhc2ggPT09
ICIiKSB7Ci0gICAgICAgIGlmICh0ZXN0UnVubmVyKSB7Ci0gICAgICAgICAgICB0ZXN0UnVubmVy
LnNldFVzZUlUUERhdGFiYXNlKHRydWUpOwotICAgICAgICAgICAgc2V0RW5hYmxlRmVhdHVyZSh0
cnVlLCBmdW5jdGlvbiAoKSB7Ci0gICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5kdW1wQ2hpbGRG
cmFtZXNBc1RleHQoKTsKLSAgICAgICAgICAgICAgICBkb2N1bWVudC5sb2NhdGlvbi5oYXNoID0g
InN0ZXAxIjsKLSAgICAgICAgICAgICAgICBydW5UZXN0KCk7Ci0gICAgICAgICAgICB9KTsKLSAg
ICAgICAgfQotICAgIH0gZWxzZSB7Ci0gICAgICAgIHJ1blRlc3QoKTsKLSAgICB9Ci08L3Njcmlw
dD4KLTwvYm9keT4KLTwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMv
cmVzb3VyY2VMb2FkU3RhdGlzdGljcy9wcmV2YWxlbnQtcmVzb3VyY2UtaGFuZGxlZC1rZXlkb3du
LWRhdGFiYXNlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VM
b2FkU3RhdGlzdGljcy9wcmV2YWxlbnQtcmVzb3VyY2UtaGFuZGxlZC1rZXlkb3duLWRhdGFiYXNl
LWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNTcwZmFjNTA5ZjQ4
MjQ3MzhmYmI0YTE1MzY5MTkzMjFkOTU5ODJmZS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0
YXRpc3RpY3MvcHJldmFsZW50LXJlc291cmNlLWhhbmRsZWQta2V5ZG93bi1kYXRhYmFzZS1leHBl
Y3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSwxMiArMCwwIEBACi1UZXN0cyB0aGF0IHdlIGdy
YW50IFVzZXIgSW50ZXJhY3Rpb24gY3JlZGl0IGZvciBoYW5kbGVkIGtleXByZXNzZXMuCi0KLU9u
IHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxv
d2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KLQotCi1TaW11bGF0ZSB1c2VyIHR5cGluZyBsZXR0ZXIg
J2EnIGludG8gdGhlIGZpZWxkLgotUEFTUyB0ZXN0SW5wdXQudmFsdWUgaXMgImEiCi1QQVNTIE9y
aWdpbiB3YXMgZ3JhbnRlZCB1c2VyIGludGVyYWN0aW9uLgotUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQotCi1URVNUIENPTVBMRVRFCi0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0
dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9wcmV2YWxlbnQtcmVzb3VyY2UtaGFuZGxl
ZC1rZXlkb3duLWRhdGFiYXNlLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNl
TG9hZFN0YXRpc3RpY3MvcHJldmFsZW50LXJlc291cmNlLWhhbmRsZWQta2V5ZG93bi1kYXRhYmFz
ZS5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA1NjY4NjM2NmE5ODE3NjQ5ZDVm
YTIwODEzMTU4Y2JjYThlYTJmODIxLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGlj
cy9wcmV2YWxlbnQtcmVzb3VyY2UtaGFuZGxlZC1rZXlkb3duLWRhdGFiYXNlLmh0bWwKKysrIC9k
ZXYvbnVsbApAQCAtMSw2MCArMCwwIEBACi08IURPQ1RZUEUgaHRtbD4KLTxodG1sPgotPGJvZHk+
Ci08c2NyaXB0IHNyYz0iL2pzLXRlc3QtcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0Pgot
PHNjcmlwdCBzcmM9InJlc291cmNlcy91dGlsLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQ+Ci1kZXNj
cmlwdGlvbigiVGVzdHMgdGhhdCB3ZSBncmFudCBVc2VyIEludGVyYWN0aW9uIGNyZWRpdCBmb3Ig
aGFuZGxlZCBrZXlwcmVzc2VzLiIpOwotanNUZXN0SXNBc3luYyA9IHRydWU7Ci0KLWNvbnN0IHN0
YXRpc3RpY3NVcmwgPSAiaHR0cDovLzEyNy4wLjAuMTo4MDAwL3RlbXAiOwotCi1vbmxvYWQgPSBm
dW5jdGlvbigpIHsKLSAgICBjb25zdCB0ZXN0RnJhbWUgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgidGVzdEZyYW1lIik7Ci0KLSAgICBpZiAod2luZG93LnRlc3RSdW5uZXIgJiYgd2luZG93Lmlu
dGVybmFscykgewotICAgICAgICB0ZXN0UnVubmVyLnNldFVzZUlUUERhdGFiYXNlKHRydWUpOwot
ICAgICAgICBzZXRFbmFibGVGZWF0dXJlKHRydWUsIGZ1bmN0aW9uKCkgewotICAgICAgICAgICAg
dGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNzUHJldmFsZW50UmVzb3VyY2Uoc3RhdGlzdGljc1VybCwg
dHJ1ZSwgZnVuY3Rpb24oKSB7Ci0gICAgICAgICAgICAgICAgaWYgKCF0ZXN0UnVubmVyLmlzU3Rh
dGlzdGljc1ByZXZhbGVudFJlc291cmNlKHN0YXRpc3RpY3NVcmwpKQotICAgICAgICAgICAgICAg
ICAgICB0ZXN0RmFpbGVkKCJIb3N0IGRpZCBub3QgZ2V0IHNldCBhcyBwcmV2YWxlbnQgcmVzb3Vy
Y2UuIik7Ci0KLSAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NIYXNIYWRV
c2VySW50ZXJhY3Rpb24oc3RhdGlzdGljc1VybCwgZmFsc2UsIGZ1bmN0aW9uKCkgewotICAgICAg
ICAgICAgICAgICAgICBpZiAodGVzdFJ1bm5lci5pc1N0YXRpc3RpY3NIYXNIYWRVc2VySW50ZXJh
Y3Rpb24oc3RhdGlzdGljc1VybCkpCi0gICAgICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVk
KCJIb3N0IGRpZCBub3QgZ2V0IGNsZWFyZWQgb2YgdXNlciBpbnRlcmFjdGlvbi4iKTsKLQotICAg
ICAgICAgICAgICAgICAgICB0ZXN0SW5wdXQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgidGVz
dElucHV0Iik7Ci0KLSAgICAgICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5pbnN0YWxsU3RhdGlz
dGljc0RpZE1vZGlmeURhdGFSZWNvcmRzQ2FsbGJhY2soZnVuY3Rpb24oKSB7Ci0gICAgICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRlc3RJbnB1dC52YWx1ZSIsICJh
Iik7Ci0KLSAgICAgICAgICAgICAgICAgICAgICAgIGlmICghdGVzdFJ1bm5lci5pc1N0YXRpc3Rp
Y3NIYXNIYWRVc2VySW50ZXJhY3Rpb24oc3RhdGlzdGljc1VybCkpCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgdGVzdEZhaWxlZCgiT3JpZ2luIGRpZCBub3QgZ2V0IHVzZXIgaW50ZXJhY3Rp
b24gY3JlZGl0LiIpOwotICAgICAgICAgICAgICAgICAgICAgICAgZWxzZQotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIHRlc3RQYXNzZWQoIk9yaWdpbiB3YXMgZ3JhbnRlZCB1c2VyIGludGVy
YWN0aW9uLiIpOwotCi0gICAgICAgICAgICAgICAgICAgICAgICBzZXRUaW1lb3V0KGZ1bmN0aW9u
KCkgewotICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRlc3RGcmFtZS5zcmMgPSAiYWJvdXQ6
YmxhbmsiOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNldFRpbWVvdXQoZnVuY3Rpb24o
KSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNldEVuYWJsZUZlYXR1cmUoZmFs
c2UsIGZpbmlzaEpTVGVzdCk7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgMCk7Ci0g
ICAgICAgICAgICAgICAgICAgICAgICB9LCAwKTsKLSAgICAgICAgICAgICAgICAgICAgfSk7Ci0g
ICAgICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc1Nob3VsZENsYXNzaWZ5
UmVzb3VyY2VzQmVmb3JlRGF0YVJlY29yZHNSZW1vdmFsKGZhbHNlKTsKLSAgICAgICAgICAgICAg
ICAgICAgdGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNzTWluaW11bVRpbWVCZXR3ZWVuRGF0YVJlY29y
ZHNSZW1vdmFsKDApOwotICAgICAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLnN0YXRpc3RpY3NQ
cm9jZXNzU3RhdGlzdGljc0FuZERhdGFSZWNvcmRzKCk7Ci0KLSAgICAgICAgICAgICAgICAgICAg
ZGVidWcoIlNpbXVsYXRlIHVzZXIgdHlwaW5nIGxldHRlciAnYScgaW50byB0aGUgZmllbGQuIik7
Ci0gICAgICAgICAgICAgICAgICAgIHRlc3RJbnB1dC5mb2N1cygpOwotICAgICAgICAgICAgICAg
ICAgICBpZiAod2luZG93LmV2ZW50U2VuZGVyKQotICAgICAgICAgICAgICAgICAgICAgICAgZXZl
bnRTZW5kZXIua2V5RG93bigiYSIpOwotICAgICAgICAgICAgICAgIH0pOwotICAgICAgICAgICAg
fSk7Ci0gICAgICAgIH0pOwotICAgIH0KLX0KLTwvc2NyaXB0PgotPGlmcmFtZSBpZD0idGVzdEZy
YW1lIiBzcmM9InJlc291cmNlcy9vbmNsaWNrLmh0bWwiPjwvaWZyYW1lPgotPGlucHV0IGlkPSJ0
ZXN0SW5wdXQiIHR5cGU9InRleHQiPgotPC9ib2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3ByZXZhbGVudC1yZXNv
dXJjZS11bmhhbmRsZWQta2V5ZG93bi1kYXRhYmFzZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvcHJldmFsZW50LXJlc291cmNlLXVu
aGFuZGxlZC1rZXlkb3duLWRhdGFiYXNlLWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMzZlNTU5YmZhMmRkMjQ2MTY3OTg5YjI1YWI4MjM5YzQ1NmIxNjRiMC4uMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9o
dHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvcHJldmFsZW50LXJlc291cmNlLXVuaGFu
ZGxlZC1rZXlkb3duLWRhdGFiYXNlLWV4cGVjdGVkLnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDEx
ICswLDAgQEAKLVRlc3RzIHRoYXQgd2UgZG8gbm90IGdyYW50IFVzZXIgSW50ZXJhY3Rpb24gY3Jl
ZGl0IGZvciB1bmhhbmRsZWQga2V5cHJlc3MuCi0KLU9uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBh
IHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4K
LQotCi1TaW11bGF0ZSBhbiB1bmhhbmRsZWQgdXNlciBrZXkgcHJlc3MuCi1QQVNTIE9yaWdpbiBk
aWQgbm90IGdldCB1c2VyIGludGVyYWN0aW9uIGNyZWRpdC4KLVBBU1Mgc3VjY2Vzc2Z1bGx5UGFy
c2VkIGlzIHRydWUKLQotVEVTVCBDT01QTEVURQotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9o
dHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvcHJldmFsZW50LXJlc291cmNlLXVuaGFu
ZGxlZC1rZXlkb3duLWRhdGFiYXNlLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291
cmNlTG9hZFN0YXRpc3RpY3MvcHJldmFsZW50LXJlc291cmNlLXVuaGFuZGxlZC1rZXlkb3duLWRh
dGFiYXNlLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGU1M2YwYjg3NzU1NzNl
YWQ0ZjQwN2RkZTkzM2ZlZDJkMDVkMmExMDIuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0
aXN0aWNzL3ByZXZhbGVudC1yZXNvdXJjZS11bmhhbmRsZWQta2V5ZG93bi1kYXRhYmFzZS5odG1s
CisrKyAvZGV2L251bGwKQEAgLTEsNTQgKzAsMCBAQAotPCFET0NUWVBFIGh0bWw+Ci08aHRtbD4K
LTxib2R5PgotPHNjcmlwdCBzcmM9Ii9qcy10ZXN0LXJlc291cmNlcy9qcy10ZXN0LmpzIj48L3Nj
cmlwdD4KLTxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvdXRpbC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0
PgotZGVzY3JpcHRpb24oIlRlc3RzIHRoYXQgd2UgZG8gbm90IGdyYW50IFVzZXIgSW50ZXJhY3Rp
b24gY3JlZGl0IGZvciB1bmhhbmRsZWQga2V5cHJlc3MuIik7Ci1qc1Rlc3RJc0FzeW5jID0gdHJ1
ZTsKLQotY29uc3Qgc3RhdGlzdGljc1VybCA9ICJodHRwOi8vMTI3LjAuMC4xOjgwMDAvdGVtcCI7
Ci0KLW9ubG9hZCA9IGZ1bmN0aW9uKCkgewotICAgIGNvbnN0IHRlc3RGcmFtZSA9IGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJ0ZXN0RnJhbWUiKTsKLQotICAgIGlmICh3aW5kb3cudGVzdFJ1bm5l
ciAmJiB3aW5kb3cuaW50ZXJuYWxzKSB7Ci0gICAgICAgIHRlc3RSdW5uZXIuc2V0VXNlSVRQRGF0
YWJhc2UodHJ1ZSk7Ci0gICAgICAgIHNldEVuYWJsZUZlYXR1cmUodHJ1ZSwgZnVuY3Rpb24oKSB7
Ci0gICAgICAgICAgICB0ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NQcmV2YWxlbnRSZXNvdXJjZShz
dGF0aXN0aWNzVXJsLCB0cnVlLCBmdW5jdGlvbigpIHsKLSAgICAgICAgICAgICAgICBpZiAoIXRl
c3RSdW5uZXIuaXNTdGF0aXN0aWNzUHJldmFsZW50UmVzb3VyY2Uoc3RhdGlzdGljc1VybCkpCi0g
ICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoIkhvc3QgZGlkIG5vdCBnZXQgc2V0IGFzIHBy
ZXZhbGVudCByZXNvdXJjZS4iKTsKLQotICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIuc2V0U3Rh
dGlzdGljc0hhc0hhZFVzZXJJbnRlcmFjdGlvbihzdGF0aXN0aWNzVXJsLCBmYWxzZSwgZnVuY3Rp
b24oKSB7Ci0gICAgICAgICAgICAgICAgICAgIGlmICh0ZXN0UnVubmVyLmlzU3RhdGlzdGljc0hh
c0hhZFVzZXJJbnRlcmFjdGlvbihzdGF0aXN0aWNzVXJsKSkKLSAgICAgICAgICAgICAgICAgICAg
ICAgIHRlc3RGYWlsZWQoIkhvc3QgZGlkIG5vdCBnZXQgY2xlYXJlZCBvZiB1c2VyIGludGVyYWN0
aW9uLiIpOwotCi0gICAgICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIuaW5zdGFsbFN0YXRpc3Rp
Y3NEaWRNb2RpZnlEYXRhUmVjb3Jkc0NhbGxiYWNrKGZ1bmN0aW9uKCkgewotCi0gICAgICAgICAg
ICAgICAgICAgICAgICBpZiAoIXRlc3RSdW5uZXIuaXNTdGF0aXN0aWNzSGFzSGFkVXNlckludGVy
YWN0aW9uKHN0YXRpc3RpY3NVcmwpKQotICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRlc3RQ
YXNzZWQoIk9yaWdpbiBkaWQgbm90IGdldCB1c2VyIGludGVyYWN0aW9uIGNyZWRpdC4iKTsKLQot
ICAgICAgICAgICAgICAgICAgICAgICAgc2V0VGltZW91dChmdW5jdGlvbigpIHsKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICB0ZXN0RnJhbWUuc3JjID0gImFib3V0OmJsYW5rIjsKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBzZXRUaW1lb3V0KGZ1bmN0aW9uKCkgewotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBzZXRFbmFibGVGZWF0dXJlKGZhbHNlLCBmaW5pc2hKU1Rl
c3QpOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIDApOwotICAgICAgICAgICAgICAg
ICAgICAgICAgfSwgMCk7Ci0gICAgICAgICAgICAgICAgICAgIH0pOwotICAgICAgICAgICAgICAg
ICAgICB0ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NTaG91bGRDbGFzc2lmeVJlc291cmNlc0JlZm9y
ZURhdGFSZWNvcmRzUmVtb3ZhbChmYWxzZSk7Ci0gICAgICAgICAgICAgICAgICAgIHRlc3RSdW5u
ZXIuc2V0U3RhdGlzdGljc01pbmltdW1UaW1lQmV0d2VlbkRhdGFSZWNvcmRzUmVtb3ZhbCgwKTsK
LSAgICAgICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5zdGF0aXN0aWNzUHJvY2Vzc1N0YXRpc3Rp
Y3NBbmREYXRhUmVjb3JkcygpOwotCi0gICAgICAgICAgICAgICAgICAgIGRlYnVnKCJTaW11bGF0
ZSBhbiB1bmhhbmRsZWQgdXNlciBrZXkgcHJlc3MuIik7Ci0gICAgICAgICAgICAgICAgICAgIGlm
ICh3aW5kb3cuZXZlbnRTZW5kZXIpCi0gICAgICAgICAgICAgICAgICAgICAgICBldmVudFNlbmRl
ci5rZXlEb3duKCJhIiwgWyJtZXRhS2V5Il0pOwotICAgICAgICAgICAgICAgIH0pOwotICAgICAg
ICAgICAgfSk7Ci0gICAgICAgIH0pOwotICAgIH0KLQotfQotPC9zY3JpcHQ+Ci08aWZyYW1lIGlk
PSJ0ZXN0RnJhbWUiIHNyYz0icmVzb3VyY2VzL29uY2xpY2suaHRtbCI+PC9pZnJhbWU+Ci08L2Jv
ZHk+Ci08L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNl
TG9hZFN0YXRpc3RpY3MvcHJldmFsZW50LXJlc291cmNlLXdpdGgtdXNlci1pbnRlcmFjdGlvbi1k
YXRhYmFzZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9h
ZFN0YXRpc3RpY3MvcHJldmFsZW50LXJlc291cmNlLXdpdGgtdXNlci1pbnRlcmFjdGlvbi1kYXRh
YmFzZS1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGM4OWY4NTVh
Nzg5Y2YxMGJmMzMwZjRjOTJlYTEyYjk0MWFiZWZjMDcuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxv
YWRTdGF0aXN0aWNzL3ByZXZhbGVudC1yZXNvdXJjZS13aXRoLXVzZXItaW50ZXJhY3Rpb24tZGF0
YWJhc2UtZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEsNSArMCwwIEBACi1QQVNTIHN1
Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCi0KLVRFU1QgQ09NUExFVEUKLVBBU1MgQ29va2llIG5v
dCBkZWxldGVkLgotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNl
TG9hZFN0YXRpc3RpY3MvcHJldmFsZW50LXJlc291cmNlLXdpdGgtdXNlci1pbnRlcmFjdGlvbi1k
YXRhYmFzZS5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0
aWNzL3ByZXZhbGVudC1yZXNvdXJjZS13aXRoLXVzZXItaW50ZXJhY3Rpb24tZGF0YWJhc2UuaHRt
bApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZWMxM2E1MDI3NGM2ZGQ5NGJmZThhMTY0
NTljNGNiYWI4YTkwZTkwYy4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvcHJl
dmFsZW50LXJlc291cmNlLXdpdGgtdXNlci1pbnRlcmFjdGlvbi1kYXRhYmFzZS5odG1sCisrKyAv
ZGV2L251bGwKQEAgLTEsNjkgKzAsMCBAQAotPCFET0NUWVBFIGh0bWw+Ci08aHRtbCBsYW5nPSJl
biI+Ci08aGVhZD4KLSAgICA8bWV0YSBjaGFyc2V0PSJVVEYtOCI+Ci0gICAgPHRpdGxlPlRlc3Rz
IGZvciBQcmV2YWxlbnQgUmVzb3VyY2UgV2l0aCBVc2VyIEludGVyYWN0aW9uPC90aXRsZT4KLSAg
ICA8c2NyaXB0IHNyYz0iL2pzLXRlc3QtcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0Pgot
ICAgIDxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvdXRpbC5qcyI+PC9zY3JpcHQ+Ci08L2hlYWQ+Ci08
Ym9keSBvbmxvYWQ9InNldFRpbWVvdXQoJ3NldFVwQW5kUnVuKCknLCAwKSI+Ci08c2NyaXB0Pgot
ICAgIGlmICh0ZXN0UnVubmVyKQotICAgICAgICB0ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTsK
LQotICAgIGNvbnN0IGhvc3RVbmRlclRlc3QgPSAiMTI3LjAuMC4xOjgwMDAiOwotICAgIGNvbnN0
IHN0YXRpc3RpY3NVcmwgPSAiaHR0cDovLyIgKyBob3N0VW5kZXJUZXN0ICsgIi90ZW1wIjsKLSAg
ICBjb25zdCBvdGhlclByZXZhbGVudFVybCA9ICJodHRwOi8vbG9jYWxob3N0OjgwMDAvdGVtcCI7
Ci0gICAgZnVuY3Rpb24gcnVuVGVzdFJ1bm5lclRlc3QoKSB7Ci0gICAgICAgIGlmIChkb2N1bWVu
dC5jb29raWUgIT09ICIiKQotICAgICAgICAgICAgdGVzdEZhaWxlZCgiZG9jdW1lbnQuY29va2ll
IG5vdCBlbXB0eS4iKTsKLSAgICAgICAgY29uc3QgY29va2llID0gInRlc3RDb29raWU9dGVzdFZh
bHVlIjsKLSAgICAgICAgZG9jdW1lbnQuY29va2llID0gY29va2llICsgIjsgbWF4LWFnZT0xMDA7
IjsKLSAgICAgICAgaWYgKGRvY3VtZW50LmNvb2tpZSAhPT0gY29va2llKQotICAgICAgICAgICAg
dGVzdEZhaWxlZCgiZG9jdW1lbnQuY29va2llIGRpZCBub3QgZ2V0IHNldC4iKTsKLQotICAgICAg
ICB0ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NQcmV2YWxlbnRSZXNvdXJjZShzdGF0aXN0aWNzVXJs
LCB0cnVlLCBmdW5jdGlvbigpIHsKLSAgICAgICAgICAgIGlmICghdGVzdFJ1bm5lci5pc1N0YXRp
c3RpY3NQcmV2YWxlbnRSZXNvdXJjZShzdGF0aXN0aWNzVXJsKSkKLSAgICAgICAgICAgICAgICB0
ZXN0RmFpbGVkKCJIb3N0IGRpZCBub3QgZ2V0IHNldCBhcyBwcmV2YWxlbnQgcmVzb3VyY2UuIik7
Ci0KLSAgICAgICAgICAgIC8vIFRoaXMgaXMgZG9uZSB0byBub3QgaGF2ZSBhbiBlbXB0eSBzZXQg
b2YgcHJldmFsZW50IHJlc291cmNlcy4KLSAgICAgICAgICAgIC8vIE90aGVyd2lzZSBkYXRhIHJl
Y29yZHMgYXJlIG5ldmVyIHNjYW5uZWQuCi0gICAgICAgICAgICB0ZXN0UnVubmVyLnNldFN0YXRp
c3RpY3NQcmV2YWxlbnRSZXNvdXJjZShvdGhlclByZXZhbGVudFVybCwgdHJ1ZSwgZnVuY3Rpb24o
KSB7Ci0gICAgICAgICAgICAgICAgaWYgKCF0ZXN0UnVubmVyLmlzU3RhdGlzdGljc1ByZXZhbGVu
dFJlc291cmNlKG90aGVyUHJldmFsZW50VXJsKSkKLSAgICAgICAgICAgICAgICAgICAgdGVzdEZh
aWxlZCgiT3RoZXIgaG9zdCBkaWQgbm90IGdldCBzZXQgYXMgcHJldmFsZW50IHJlc291cmNlLiIp
OwotCi0gICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNzSGFzSGFkVXNlcklu
dGVyYWN0aW9uKHN0YXRpc3RpY3NVcmwsIHRydWUsIGZ1bmN0aW9uKCkgewotICAgICAgICAgICAg
ICAgICAgICBpZiAoIXRlc3RSdW5uZXIuaXNTdGF0aXN0aWNzSGFzSGFkVXNlckludGVyYWN0aW9u
KHN0YXRpc3RpY3NVcmwpKQotICAgICAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZCgiSG9z
dCBkaWQgbm90IGdldCBsb2dnZWQgZm9yIHVzZXIgaW50ZXJhY3Rpb24uIik7Ci0KLSAgICAgICAg
ICAgICAgICAgICAgdGVzdFJ1bm5lci5pbnN0YWxsU3RhdGlzdGljc0RpZE1vZGlmeURhdGFSZWNv
cmRzQ2FsbGJhY2soZnVuY3Rpb24oKSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICBpZiAoZG9j
dW1lbnQuY29va2llID09PSBjb29raWUpCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGVz
dFBhc3NlZCgiQ29va2llIG5vdCBkZWxldGVkLiIpOwotICAgICAgICAgICAgICAgICAgICAgICAg
ZWxzZQotICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoIkNvb2tpZSBkZWxl
dGVkIG9yIGRvY3VtZW50LmNvb2tpZSBjb250YWlucyBvdGhlciBjb29raWVzOiAiICsgZG9jdW1l
bnQuY29va2llKTsKLSAgICAgICAgICAgICAgICAgICAgICAgIHNldEVuYWJsZUZlYXR1cmUoZmFs
c2UsIGZ1bmN0aW9uKCkgewotICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIu
bm90aWZ5RG9uZSgpOwotICAgICAgICAgICAgICAgICAgICAgICAgfSk7Ci0gICAgICAgICAgICAg
ICAgICAgIH0pOwotICAgICAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NT
aG91bGRDbGFzc2lmeVJlc291cmNlc0JlZm9yZURhdGFSZWNvcmRzUmVtb3ZhbChmYWxzZSk7Ci0g
ICAgICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc01pbmltdW1UaW1lQmV0
d2VlbkRhdGFSZWNvcmRzUmVtb3ZhbCgwKTsKLSAgICAgICAgICAgICAgICAgICAgdGVzdFJ1bm5l
ci5zdGF0aXN0aWNzUHJvY2Vzc1N0YXRpc3RpY3NBbmREYXRhUmVjb3JkcygpOwotICAgICAgICAg
ICAgICAgIH0pOwotICAgICAgICAgICAgfSk7Ci0gICAgICAgIH0pOwotICAgIH0KLQotICAgIGZ1
bmN0aW9uIHNldFVwQW5kUnVuKCkgewotICAgICAgICBpZiAoZG9jdW1lbnQubG9jYXRpb24uaG9z
dCA9PT0gaG9zdFVuZGVyVGVzdCAmJiB3aW5kb3cudGVzdFJ1bm5lciAmJiB3aW5kb3cuaW50ZXJu
YWxzKSB7Ci0gICAgICAgICAgICB0ZXN0UnVubmVyLnNldFVzZUlUUERhdGFiYXNlKHRydWUpOwot
ICAgICAgICAgICAgc2V0RW5hYmxlRmVhdHVyZSh0cnVlLCBmdW5jdGlvbiAoKSB7Ci0gICAgICAg
ICAgICAgICAgcnVuVGVzdFJ1bm5lclRlc3QoKTsKLSAgICAgICAgICAgIH0pOwotICAgICAgICB9
IGVsc2UgewotICAgICAgICAgICAgdGVzdEZhaWxlZCgiV3JvbmcgaG9zdCwgbm8gdGVzdFJ1bm5l
ciwgb3Igbm8gaW50ZXJuYWxzLiIpOwotICAgICAgICAgICAgdGVzdFJ1bm5lci5ub3RpZnlEb25l
KCk7Ci0gICAgICAgIH0KLSAgICB9Ci08L3NjcmlwdD4KLTwvYm9keT4KLTwvaHRtbD4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9wcmV2
YWxlbnQtcmVzb3VyY2Utd2l0aC11c2VyLWludGVyYWN0aW9uLXRpbWVvdXQtZGF0YWJhc2UtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNz
L3ByZXZhbGVudC1yZXNvdXJjZS13aXRoLXVzZXItaW50ZXJhY3Rpb24tdGltZW91dC1kYXRhYmFz
ZS1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGY3ODA5ZTkxYzIz
YzIzYTIzNjljZDA4NTRlYjE4MTY0N2RmYWViNDMuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRT
dGF0aXN0aWNzL3ByZXZhbGVudC1yZXNvdXJjZS13aXRoLXVzZXItaW50ZXJhY3Rpb24tdGltZW91
dC1kYXRhYmFzZS1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSw1ICswLDAgQEAKLVBB
U1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKLQotVEVTVCBDT01QTEVURQotUEFTUyBDb29r
aWUgZGVsZXRlZC4KLQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJj
ZUxvYWRTdGF0aXN0aWNzL3ByZXZhbGVudC1yZXNvdXJjZS13aXRoLXVzZXItaW50ZXJhY3Rpb24t
dGltZW91dC1kYXRhYmFzZS5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxv
YWRTdGF0aXN0aWNzL3ByZXZhbGVudC1yZXNvdXJjZS13aXRoLXVzZXItaW50ZXJhY3Rpb24tdGlt
ZW91dC1kYXRhYmFzZS5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBjMWM0Nzc3
OGJiNjVhZDE0YTZhZTUyNzQwMDZiMzE2NjYyYzhmM2M4Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VM
b2FkU3RhdGlzdGljcy9wcmV2YWxlbnQtcmVzb3VyY2Utd2l0aC11c2VyLWludGVyYWN0aW9uLXRp
bWVvdXQtZGF0YWJhc2UuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDU2ICswLDAgQEAKLTwhRE9D
VFlQRSBodG1sPgotPGh0bWwgbGFuZz0iZW4iPgotPGhlYWQ+Ci0gICAgPG1ldGEgY2hhcnNldD0i
VVRGLTgiPgotICAgIDx0aXRsZT5UZXN0cyBmb3IgUHJldmFsZW50IFJlc291cmNlIFdpdGggVXNl
ciBJbnRlcmFjdGlvbiBUaW1lb3V0PC90aXRsZT4KLSAgICA8c2NyaXB0IHNyYz0iL2pzLXRlc3Qt
cmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgotICAgIDxzY3JpcHQgc3JjPSJyZXNvdXJj
ZXMvdXRpbC5qcyI+PC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keT4KLTxzY3JpcHQ+Ci0gICAgY29u
c3QgaG9zdFVuZGVyVGVzdCA9ICIxMjcuMC4wLjE6ODAwMCI7Ci0gICAgY29uc3Qgc3RhdGlzdGlj
c1VybCA9ICJodHRwOi8vIiArIGhvc3RVbmRlclRlc3QgKyAiL3RlbXAiOwotICAgIGZ1bmN0aW9u
IHJ1blRlc3RSdW5uZXJUZXN0KCkgewotICAgICAgICBpZiAoZG9jdW1lbnQuY29va2llICE9PSAi
IikKLSAgICAgICAgICAgIHRlc3RGYWlsZWQoImRvY3VtZW50LmNvb2tpZSBub3QgZW1wdHkuIik7
Ci0gICAgICAgIGNvbnN0IGNvb2tpZSA9ICJ0ZXN0Q29va2llPXRlc3RWYWx1ZSI7Ci0gICAgICAg
IGRvY3VtZW50LmNvb2tpZSA9IGNvb2tpZSArICI7IG1heC1hZ2U9MTAwOyI7Ci0gICAgICAgIGlm
IChkb2N1bWVudC5jb29raWUgIT09IGNvb2tpZSkKLSAgICAgICAgICAgIHRlc3RGYWlsZWQoImRv
Y3VtZW50LmNvb2tpZSBkaWQgbm90IGdldCBzZXQuIik7Ci0KLSAgICAgICAgdGVzdFJ1bm5lci5z
ZXRTdGF0aXN0aWNzUHJldmFsZW50UmVzb3VyY2Uoc3RhdGlzdGljc1VybCwgdHJ1ZSwgZnVuY3Rp
b24oKSB7Ci0gICAgICAgICAgICBpZiAoIXRlc3RSdW5uZXIuaXNTdGF0aXN0aWNzUHJldmFsZW50
UmVzb3VyY2Uoc3RhdGlzdGljc1VybCkpCi0gICAgICAgICAgICAgICAgdGVzdEZhaWxlZCgiSG9z
dCBkaWQgbm90IGdldCBzZXQgYXMgcHJldmFsZW50IHJlc291cmNlLiIpOwotCi0gICAgICAgICAg
ICB0ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NIYXNIYWRVc2VySW50ZXJhY3Rpb24oc3RhdGlzdGlj
c1VybCwgdHJ1ZSwgZnVuY3Rpb24oKSB7Ci0gICAgICAgICAgICAgICAgaWYgKCF0ZXN0UnVubmVy
LmlzU3RhdGlzdGljc0hhc0hhZFVzZXJJbnRlcmFjdGlvbihzdGF0aXN0aWNzVXJsKSkKLSAgICAg
ICAgICAgICAgICAgICAgdGVzdEZhaWxlZCgiSG9zdCBkaWQgbm90IGdldCBsb2dnZWQgZm9yIHVz
ZXIgaW50ZXJhY3Rpb24uIik7Ci0KLSAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLmluc3RhbGxT
dGF0aXN0aWNzRGlkTW9kaWZ5RGF0YVJlY29yZHNDYWxsYmFjayhmdW5jdGlvbigpIHsKLSAgICAg
ICAgICAgICAgICAgICAgaWYgKGRvY3VtZW50LmNvb2tpZSAhPT0gIiIpCi0gICAgICAgICAgICAg
ICAgICAgICAgICB0ZXN0RmFpbGVkKCJDb29raWUgbm90IGRlbGV0ZWQ6ICIgKyBkb2N1bWVudC5j
b29raWUpOwotICAgICAgICAgICAgICAgICAgICBlbHNlCi0gICAgICAgICAgICAgICAgICAgICAg
ICB0ZXN0UGFzc2VkKCJDb29raWUgZGVsZXRlZC4iKTsKLSAgICAgICAgICAgICAgICAgICAgaW50
ZXJuYWxzLnNldFJlc291cmNlTG9hZFN0YXRpc3RpY3NFbmFibGVkKGZhbHNlKTsKLSAgICAgICAg
ICAgICAgICAgICAgdGVzdFJ1bm5lci5zdGF0aXN0aWNzUmVzZXRUb0NvbnNpc3RlbnRTdGF0ZShm
dW5jdGlvbigpIHsKLSAgICAgICAgICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIubm90aWZ5RG9u
ZSgpOwotICAgICAgICAgICAgICAgICAgICB9KTsKLSAgICAgICAgICAgICAgICB9KTsKLSAgICAg
ICAgICAgICAgICB0ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NTaG91bGRDbGFzc2lmeVJlc291cmNl
c0JlZm9yZURhdGFSZWNvcmRzUmVtb3ZhbChmYWxzZSk7Ci0gICAgICAgICAgICAgICAgdGVzdFJ1
bm5lci5zZXRTdGF0aXN0aWNzTWluaW11bVRpbWVCZXR3ZWVuRGF0YVJlY29yZHNSZW1vdmFsKDAp
OwotICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc1RpbWVUb0xpdmVVc2Vy
SW50ZXJhY3Rpb24oMCk7Ci0KLSAgICAgICAgICAgICAgICAvLyBUaGlzIGlzIHRvIGVuc3VyZSB0
aGUgdGltZW91dCB3ZSdyZSB0ZXN0aW5nLgotICAgICAgICAgICAgICAgIHNldFRpbWVvdXQoInRl
c3RSdW5uZXIuc3RhdGlzdGljc1Byb2Nlc3NTdGF0aXN0aWNzQW5kRGF0YVJlY29yZHMoKSIsIDEw
MDApOwotICAgICAgICAgICAgfSk7Ci0gICAgICAgIH0pOwotICAgIH0KLQotICAgIGlmIChkb2N1
bWVudC5sb2NhdGlvbi5ob3N0ID09PSBob3N0VW5kZXJUZXN0ICYmIHdpbmRvdy50ZXN0UnVubmVy
ICYmIHdpbmRvdy5pbnRlcm5hbHMpIHsKLSAgICAgICAgdGVzdFJ1bm5lci5zZXRVc2VJVFBEYXRh
YmFzZSh0cnVlKTsKLSAgICAgICAgdGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7Ci0gICAgICAg
IHNldEVuYWJsZUZlYXR1cmUodHJ1ZSwgcnVuVGVzdFJ1bm5lclRlc3QpOwotICAgIH0KLTwvc2Ny
aXB0PgotPC9ib2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0
cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3ByZXZhbGVudC1yZXNvdXJjZS13aXRob3V0LXVzZXIt
aW50ZXJhY3Rpb24tZGF0YWJhc2UtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0
cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3ByZXZhbGVudC1yZXNvdXJjZS13aXRob3V0LXVzZXIt
aW50ZXJhY3Rpb24tZGF0YWJhc2UtZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCBmNzgwOWU5MWMyM2MyM2EyMzY5Y2QwODU0ZWIxODE2NDdkZmFlYjQzLi4wMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2h0dHAv
dGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9wcmV2YWxlbnQtcmVzb3VyY2Utd2l0aG91dC11
c2VyLWludGVyYWN0aW9uLWRhdGFiYXNlLWV4cGVjdGVkLnR4dAorKysgL2Rldi9udWxsCkBAIC0x
LDUgKzAsMCBAQAotUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQotCi1URVNUIENPTVBM
RVRFCi1QQVNTIENvb2tpZSBkZWxldGVkLgotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvcHJldmFsZW50LXJlc291cmNlLXdpdGhvdXQt
dXNlci1pbnRlcmFjdGlvbi1kYXRhYmFzZS5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9y
ZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3ByZXZhbGVudC1yZXNvdXJjZS13aXRob3V0LXVzZXItaW50
ZXJhY3Rpb24tZGF0YWJhc2UuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMGE5
ZWExMzkxMzdkYTk4NGU5MTk2YWRmMGE3ZjRmNmVhMGVlOWUyMy4uMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291
cmNlTG9hZFN0YXRpc3RpY3MvcHJldmFsZW50LXJlc291cmNlLXdpdGhvdXQtdXNlci1pbnRlcmFj
dGlvbi1kYXRhYmFzZS5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsNTkgKzAsMCBAQAotPCFET0NU
WVBFIGh0bWw+Ci08aHRtbCBsYW5nPSJlbiI+Ci08aGVhZD4KLSAgICA8bWV0YSBjaGFyc2V0PSJV
VEYtOCI+Ci0gICAgPHRpdGxlPlRlc3RzIGZvciBQcmV2YWxlbnQgUmVzb3VyY2UgV2l0aG91dCBV
c2VyIEludGVyYWN0aW9uPC90aXRsZT4KLSAgICA8c2NyaXB0IHNyYz0iL2pzLXRlc3QtcmVzb3Vy
Y2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgotICAgIDxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvdXRp
bC5qcyI+PC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keT4KLTxzY3JpcHQ+Ci0gICAgY29uc3QgaG9z
dFVuZGVyVGVzdCA9ICIxMjcuMC4wLjE6ODAwMCI7Ci0gICAgY29uc3Qgc3RhdGlzdGljc1VybCA9
ICJodHRwOi8vIiArIGhvc3RVbmRlclRlc3QgKyAiL3RlbXAiOwotCi0gICAgZnVuY3Rpb24gZmlu
aXNoVGVzdCAoKSB7Ci0gICAgICAgIGlmIChkb2N1bWVudC5jb29raWUgIT09ICIiKQotICAgICAg
ICAgICAgdGVzdEZhaWxlZCgiQ29va2llIG5vdCBkZWxldGVkOiAiICsgZG9jdW1lbnQuY29va2ll
KTsKLSAgICAgICAgZWxzZQotICAgICAgICAgICAgdGVzdFBhc3NlZCgiQ29va2llIGRlbGV0ZWQu
Iik7Ci0gICAgICAgIHNldEVuYWJsZUZlYXR1cmUoZmFsc2UsIGZ1bmN0aW9uKCkgewotICAgICAg
ICAgICAgdGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7Ci0gICAgICAgIH0pOwotICAgIH0KLQotICAg
IGZ1bmN0aW9uIHJ1blRlc3RSdW5uZXJUZXN0KCkgewotICAgICAgICBpZiAoZG9jdW1lbnQuY29v
a2llICE9PSAiIikKLSAgICAgICAgICAgIHRlc3RGYWlsZWQoImRvY3VtZW50LmNvb2tpZSBub3Qg
ZW1wdHkuIik7Ci0gICAgICAgIGNvbnN0IGNvb2tpZSA9ICJ0ZXN0Q29va2llPXRlc3RWYWx1ZSI7
Ci0gICAgICAgIGRvY3VtZW50LmNvb2tpZSA9IGNvb2tpZSArICI7IG1heC1hZ2U9MTAwOyI7Ci0g
ICAgICAgIGlmIChkb2N1bWVudC5jb29raWUgIT09IGNvb2tpZSkKLSAgICAgICAgICAgIHRlc3RG
YWlsZWQoImRvY3VtZW50LmNvb2tpZSBkaWQgbm90IGdldCBzZXQuIik7Ci0KLSAgICAgICAgdGVz
dFJ1bm5lci5zZXRTdGF0aXN0aWNzUHJldmFsZW50UmVzb3VyY2Uoc3RhdGlzdGljc1VybCwgdHJ1
ZSwgZnVuY3Rpb24oKSB7Ci0gICAgICAgICAgICBpZiAoIXRlc3RSdW5uZXIuaXNTdGF0aXN0aWNz
UHJldmFsZW50UmVzb3VyY2Uoc3RhdGlzdGljc1VybCkpCi0gICAgICAgICAgICAgICAgdGVzdEZh
aWxlZCgiSG9zdCBkaWQgbm90IGdldCBzZXQgYXMgcHJldmFsZW50IHJlc291cmNlLiIpOwotCi0g
ICAgICAgICAgICB0ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NIYXNIYWRVc2VySW50ZXJhY3Rpb24o
c3RhdGlzdGljc1VybCwgZmFsc2UsIGZ1bmN0aW9uKCkgewotICAgICAgICAgICAgICAgIGlmICh0
ZXN0UnVubmVyLmlzU3RhdGlzdGljc0hhc0hhZFVzZXJJbnRlcmFjdGlvbihzdGF0aXN0aWNzVXJs
KSkKLSAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZCgiSG9zdCBkaWQgbm90IGdldCBjbGVh
cmVkIG9mIHVzZXIgaW50ZXJhY3Rpb24uIik7Ci0KLSAgICAgICAgICAgICAgICB0ZXN0UnVubmVy
Lmluc3RhbGxTdGF0aXN0aWNzRGlkTW9kaWZ5RGF0YVJlY29yZHNDYWxsYmFjayhmdW5jdGlvbigp
IHsKLSAgICAgICAgICAgICAgICAgICAgc2V0VGltZW91dCgiZmluaXNoVGVzdCgpIiwgMTAwMCk7
Ci0gICAgICAgICAgICAgICAgfSk7Ci0gICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5zZXRTdGF0
aXN0aWNzU2hvdWxkQ2xhc3NpZnlSZXNvdXJjZXNCZWZvcmVEYXRhUmVjb3Jkc1JlbW92YWwoZmFs
c2UpOwotICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc01pbmltdW1UaW1l
QmV0d2VlbkRhdGFSZWNvcmRzUmVtb3ZhbCgwKTsKLSAgICAgICAgICAgICAgICB0ZXN0UnVubmVy
LnN0YXRpc3RpY3NQcm9jZXNzU3RhdGlzdGljc0FuZERhdGFSZWNvcmRzKCk7Ci0gICAgICAgICAg
ICB9KTsKLSAgICAgICAgfSk7Ci0gICAgfQotCi0gICAgaWYgKGRvY3VtZW50LmxvY2F0aW9uLmhv
c3QgPT09IGhvc3RVbmRlclRlc3QgJiYgd2luZG93LnRlc3RSdW5uZXIgJiYgd2luZG93LmludGVy
bmFscykgewotICAgICAgICB0ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTsKLSAgICAgICAgdGVz
dFJ1bm5lci5zZXRVc2VJVFBEYXRhYmFzZSh0cnVlKTsKLSAgICAgICAgc2V0RW5hYmxlRmVhdHVy
ZSh0cnVlLCBmdW5jdGlvbigpIHsKLSAgICAgICAgICAgIHJ1blRlc3RSdW5uZXJUZXN0KCk7Ci0g
ICAgICAgIH0pOwotICAgIH0KLTwvc2NyaXB0PgotPC9ib2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3BydW5lLXN0
YXRpc3RpY3MtZGF0YWJhc2UtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9y
ZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3BydW5lLXN0YXRpc3RpY3MtZGF0YWJhc2UtZXhwZWN0ZWQu
dHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBlNzQ3NTdiYzUyNTYwMDUyMWQ0NjE1
NDVkMDM2N2MwZjA1MDFiZWYzLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwCi0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9w
cnVuZS1zdGF0aXN0aWNzLWRhdGFiYXNlLWV4cGVjdGVkLnR4dAorKysgL2Rldi9udWxsCkBAIC0x
LDE3ICswLDAgQEAKLVRlc3RzIHRoYXQgc3RhdGlzdGljcyBhcmUgcHJ1bmVkIGluIHRoZSByaWdo
dCBvcmRlci4KLQotT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBt
ZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgotCi0KLVBBU1MgVGVzdCBpdGVy
YXRpb24gMSBwYXNzZWQuCi1QQVNTIFRlc3QgaXRlcmF0aW9uIDIgcGFzc2VkLgotUEFTUyBUZXN0
IGl0ZXJhdGlvbiAzIHBhc3NlZC4KLVBBU1MgVGVzdCBpdGVyYXRpb24gNCBwYXNzZWQuCi1QQVNT
IFRlc3QgaXRlcmF0aW9uIDUgcGFzc2VkLgotUEFTUyBUZXN0IGl0ZXJhdGlvbiA2IHBhc3NlZC4K
LVBBU1MgVGVzdCBpdGVyYXRpb24gNyBwYXNzZWQuCi1QQVNTIFRlc3QgaXRlcmF0aW9uIDggcGFz
c2VkLgotUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQotCi1URVNUIENPTVBMRVRFCi0K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGlj
cy9wcnVuZS1zdGF0aXN0aWNzLWRhdGFiYXNlLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvcHJ1bmUtc3RhdGlzdGljcy1kYXRhYmFzZS5odG1sCmRl
bGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAyMGIwNjRlYWI3ZmZhMzBmYzJmMWY2MjUxNDhi
OTI4NzIwMDMxMWRiLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0t
LSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9wcnVuZS1z
dGF0aXN0aWNzLWRhdGFiYXNlLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSwxNTYgKzAsMCBAQAot
PCFET0NUWVBFIGh0bWw+Ci08aHRtbD4KLTxoZWFkPgotICAgIDxtZXRhIGNoYXJzZXQ9IlVURi04
Ij4KLSAgICA8dGl0bGU+VGVzdCBmb3IgUmVzb3VyY2UgTG9hZCBTdGF0aXN0aWNzIFBydW5pbmc8
L3RpdGxlPgotICAgIDxzY3JpcHQgc3JjPSIvanMtdGVzdC1yZXNvdXJjZXMvanMtdGVzdC5qcyI+
PC9zY3JpcHQ+Ci0gICAgPHNjcmlwdCBzcmM9InJlc291cmNlcy91dGlsLmpzIj48L3NjcmlwdD4K
LTwvaGVhZD4KLTxib2R5PgotPHNjcmlwdD4KLSAgICBkZXNjcmlwdGlvbigiVGVzdHMgdGhhdCBz
dGF0aXN0aWNzIGFyZSBwcnVuZWQgaW4gdGhlIHJpZ2h0IG9yZGVyLiIpOwotICAgIGpzVGVzdElz
QXN5bmMgPSB0cnVlOwotCi0gICAgY29uc3Qgb2xkZXJUaW1lc3RhbXAgPSBNYXRoLnJvdW5kKChu
ZXcgRGF0ZSgpKS5nZXRUaW1lKCkgLyAxMDAwKTsKLSAgICBjb25zdCBuZXdlclRpbWVzdGFtcCA9
IG9sZGVyVGltZXN0YW1wICsgMTA7Ci0gICAgY29uc3QgbmV3ZXN0VGltZXN0YW1wID0gbmV3ZXJU
aW1lc3RhbXAgKyAxMDsKLQotICAgIGNvbnN0IHVybHNUb0JlUHJ1bmVkID0gWwotICAgICAgICB7
IHVybDogImh0dHA6Ly8xMjcuMC4wLjE6ODAwMC90ZW1wIiwgcHJldmFsZW50OiBmYWxzZSB9LAot
ICAgICAgICB7IHVybDogImh0dHA6Ly8xMjcuMC4wLjI6ODAwMC90ZW1wIiwgcHJldmFsZW50OiBm
YWxzZSB9LAotICAgICAgICB7IHVybDogImh0dHA6Ly8xMjcuMC4wLjM6ODAwMC90ZW1wIiwgcHJl
dmFsZW50OiB0cnVlIH0sCi0gICAgICAgIHsgdXJsOiAiaHR0cDovLzEyNy4wLjAuNDo4MDAwL3Rl
bXAiLCBwcmV2YWxlbnQ6IHRydWUgfSwKLSAgICAgICAgeyB1cmw6ICJodHRwOi8vMTI3LjAuMC41
OjgwMDAvdGVtcCIsIHByZXZhbGVudDogZmFsc2UgfSwKLSAgICAgICAgeyB1cmw6ICJodHRwOi8v
MTI3LjAuMC42OjgwMDAvdGVtcCIsIHByZXZhbGVudDogZmFsc2UgfSwKLSAgICAgICAgeyB1cmw6
ICJodHRwOi8vMTI3LjAuMC43OjgwMDAvdGVtcCIsIHByZXZhbGVudDogdHJ1ZSB9LAotICAgICAg
ICB7IHVybDogImh0dHA6Ly8xMjcuMC4wLjg6ODAwMC90ZW1wIiwgcHJldmFsZW50OiB0cnVlIH0K
LSAgICBdOwotCi0gICAgZnVuY3Rpb24gY2hlY2tJZlByZXZhbGVudEFjY29yZGluZ1RvSW5pdGlh
bEV4cGVjdGF0aW9uKGJlZ2luLCBlbmQpIHsKLSAgICAgICAgdmFyIGZhaWxlZCA9IGZhbHNlOwot
ICAgICAgICBmb3IgKHZhciBpID0gYmVnaW47IGkgPCBlbmQ7ICsraSkgewotICAgICAgICAgICAg
aWYgKHRlc3RSdW5uZXIuaXNTdGF0aXN0aWNzUHJldmFsZW50UmVzb3VyY2UodXJsc1RvQmVQcnVu
ZWRbaV0udXJsKSAhPT0gdXJsc1RvQmVQcnVuZWRbaV0ucHJldmFsZW50KSB7Ci0gICAgICAgICAg
ICAgICAgdGVzdEZhaWxlZCgiY2hlY2tJZlByZXZhbGVudEFjY29yZGluZ1RvSW5pdGlhbEV4cGVj
dGF0aW9uOiBUZXN0IGl0ZXJhdGlvbiAiICsgY3VycmVudFRlc3QgKyAiIGZhaWxlZC4gIiArIHVy
bHNUb0JlUHJ1bmVkW2ldLnVybCArICh1cmxzVG9CZVBydW5lZFtpXS5wcmV2YWxlbnQgPyAiIHdh
c24ndCAiIDogIiB3YXMgIikgKyAicHJldmFsZW50Iik7Ci0gICAgICAgICAgICAgICAgZmFpbGVk
ID0gdHJ1ZTsKLSAgICAgICAgICAgIH0KLSAgICAgICAgfQotICAgICAgICBpZiAoZmFpbGVkKQot
ICAgICAgICAgICAgc2V0RW5hYmxlRmVhdHVyZShmYWxzZSwgZmluaXNoSlNUZXN0KTsKLSAgICB9
Ci0KLSAgICBmdW5jdGlvbiBjaGVja0lmUHJldmFsZW50KGJlZ2luLCBlbmQsIGV4cGVjdGVkKSB7
Ci0gICAgICAgIHZhciBmYWlsZWQgPSBmYWxzZTsKLSAgICAgICAgZm9yICh2YXIgaSA9IGJlZ2lu
OyBpIDwgZW5kOyArK2kpIHsKLSAgICAgICAgICAgIGlmICh0ZXN0UnVubmVyLmlzU3RhdGlzdGlj
c1ByZXZhbGVudFJlc291cmNlKHVybHNUb0JlUHJ1bmVkW2ldLnVybCkgIT09IGV4cGVjdGVkKSB7
Ci0gICAgICAgICAgICAgICAgdGVzdEZhaWxlZCgiY2hlY2tJZlByZXZhbGVudDogVGVzdCBpdGVy
YXRpb24gIiArIGN1cnJlbnRUZXN0ICsgIiBmYWlsZWQuICIgKyB1cmxzVG9CZVBydW5lZFtpXS51
cmwgKyAoZXhwZWN0ZWQgPyAiIHdhc24ndCAiIDogIiB3YXMgIikgKyAicHJldmFsZW50Iik7Ci0g
ICAgICAgICAgICAgICAgZmFpbGVkID0gdHJ1ZTsKLSAgICAgICAgICAgIH0KLSAgICAgICAgfQot
ICAgICAgICBpZiAoZmFpbGVkKQotICAgICAgICAgICAgc2V0RW5hYmxlRmVhdHVyZShmYWxzZSwg
ZmluaXNoSlNUZXN0KTsKLSAgICB9Ci0KLSAgICBmdW5jdGlvbiBpbml0aWFsaXplU3RhdGlzdGlj
c0FuZFJ1blRlc3RzKHN0ZXApIHsKLSAgICAgICAgc3dpdGNoIChzdGVwKSB7Ci0gICAgICAgICAg
ICAvLyBOb24tcHJldmFsZW50IHdpdGhvdXQgdXNlciBpbnRlcmFjdGlvbiB0byBiZSBwcnVuZWQg
Zmlyc3QuCi0gICAgICAgICAgICBjYXNlIDE6Ci0gICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5z
ZXRTdGF0aXN0aWNzTGFzdFNlZW4odXJsc1RvQmVQcnVuZWRbMF0udXJsLCBvbGRlclRpbWVzdGFt
cCwgZnVuY3Rpb24oKSB7IGluaXRpYWxpemVTdGF0aXN0aWNzQW5kUnVuVGVzdHMoMik7IH0pOwot
ICAgICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICAgICAgY2FzZSAyOgotICAgICAgICAgICAg
ICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc0xhc3RTZWVuKHVybHNUb0JlUHJ1bmVkWzFdLnVy
bCwgbmV3ZXJUaW1lc3RhbXAsIGZ1bmN0aW9uKCkgeyBpbml0aWFsaXplU3RhdGlzdGljc0FuZFJ1
blRlc3RzKDMpOyB9KTsKLSAgICAgICAgICAgICAgICBicmVhazsKLSAgICAgICAgICAgIC8vIFBy
ZXZhbGVudCB3aXRob3V0IHVzZXIgaW50ZXJhY3Rpb24gdG8gYmUgcHJ1bmVkIHNlY29uZC4KLSAg
ICAgICAgICAgIGNhc2UgMzoKLSAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLnNldFN0YXRpc3Rp
Y3NQcmV2YWxlbnRSZXNvdXJjZSh1cmxzVG9CZVBydW5lZFsyXS51cmwsIHRydWUsIGZ1bmN0aW9u
KCkgeyBpbml0aWFsaXplU3RhdGlzdGljc0FuZFJ1blRlc3RzKDQpOyB9KTsKLSAgICAgICAgICAg
ICAgICBicmVhazsKLSAgICAgICAgICAgIGNhc2UgNDoKLSAgICAgICAgICAgICAgICB0ZXN0UnVu
bmVyLnNldFN0YXRpc3RpY3NMYXN0U2Vlbih1cmxzVG9CZVBydW5lZFsyXS51cmwsIG9sZGVyVGlt
ZXN0YW1wLCBmdW5jdGlvbigpIHsgaW5pdGlhbGl6ZVN0YXRpc3RpY3NBbmRSdW5UZXN0cyg1KTsg
fSk7Ci0gICAgICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgICAgICBjYXNlIDU6Ci0gICAgICAg
ICAgICAgICAgdGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNzUHJldmFsZW50UmVzb3VyY2UodXJsc1Rv
QmVQcnVuZWRbM10udXJsLCB0cnVlLCBmdW5jdGlvbigpIHsgaW5pdGlhbGl6ZVN0YXRpc3RpY3NB
bmRSdW5UZXN0cyg2KTsgfSk7Ci0gICAgICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgICAgICBj
YXNlIDY6Ci0gICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNzTGFzdFNlZW4o
dXJsc1RvQmVQcnVuZWRbM10udXJsLCBuZXdlclRpbWVzdGFtcCwgZnVuY3Rpb24oKSB7IGluaXRp
YWxpemVTdGF0aXN0aWNzQW5kUnVuVGVzdHMoNyk7IH0pOwotICAgICAgICAgICAgICAgIGJyZWFr
OwotICAgICAgICAgICAgLy8gTm9uLXByZXZhbGVudCB3aXRoIHVzZXIgaW50ZXJhY3Rpb24gdG8g
YmUgcHJ1bmVkIHRoaXJkLgotICAgICAgICAgICAgY2FzZSA3OgotICAgICAgICAgICAgICAgIHRl
c3RSdW5uZXIuc2V0U3RhdGlzdGljc0hhc0hhZFVzZXJJbnRlcmFjdGlvbih1cmxzVG9CZVBydW5l
ZFs0XS51cmwsIHRydWUsIGZ1bmN0aW9uKCkgeyBpbml0aWFsaXplU3RhdGlzdGljc0FuZFJ1blRl
c3RzKDgpOyB9KTsKLSAgICAgICAgICAgICAgICBicmVhazsKLSAgICAgICAgICAgIGNhc2UgODoK
LSAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NMYXN0U2Vlbih1cmxzVG9C
ZVBydW5lZFs0XS51cmwsIG9sZGVyVGltZXN0YW1wLCBmdW5jdGlvbigpIHsgaW5pdGlhbGl6ZVN0
YXRpc3RpY3NBbmRSdW5UZXN0cyg5KTsgfSk7Ci0gICAgICAgICAgICAgICAgYnJlYWs7Ci0gICAg
ICAgICAgICBjYXNlIDk6Ci0gICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNz
SGFzSGFkVXNlckludGVyYWN0aW9uKHVybHNUb0JlUHJ1bmVkWzVdLnVybCwgdHJ1ZSwgZnVuY3Rp
b24oKSB7IGluaXRpYWxpemVTdGF0aXN0aWNzQW5kUnVuVGVzdHMoMTApOyB9KTsKLSAgICAgICAg
ICAgICAgICBicmVhazsKLSAgICAgICAgICAgIGNhc2UgMTA6Ci0gICAgICAgICAgICAgICAgdGVz
dFJ1bm5lci5zZXRTdGF0aXN0aWNzTGFzdFNlZW4odXJsc1RvQmVQcnVuZWRbNV0udXJsLCBuZXdl
clRpbWVzdGFtcCwgZnVuY3Rpb24oKSB7IGluaXRpYWxpemVTdGF0aXN0aWNzQW5kUnVuVGVzdHMo
MTEpOyB9KTsKLSAgICAgICAgICAgICAgICBicmVhazsKLSAgICAgICAgICAgIC8vIFByZXZhbGVu
dCB3aXRoIHVzZXIgaW50ZXJhY3Rpb24gdG8gYmUgcHJ1bmVkIGxhc3QuCi0gICAgICAgICAgICBj
YXNlIDExOgotICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc1ByZXZhbGVu
dFJlc291cmNlKHVybHNUb0JlUHJ1bmVkWzZdLnVybCwgdHJ1ZSwgZnVuY3Rpb24oKSB7IGluaXRp
YWxpemVTdGF0aXN0aWNzQW5kUnVuVGVzdHMoMTIpOyB9KTsKLSAgICAgICAgICAgICAgICBicmVh
azsKLSAgICAgICAgICAgIGNhc2UgMTI6Ci0gICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5zZXRT
dGF0aXN0aWNzSGFzSGFkVXNlckludGVyYWN0aW9uKHVybHNUb0JlUHJ1bmVkWzZdLnVybCwgdHJ1
ZSwgZnVuY3Rpb24oKSB7IGluaXRpYWxpemVTdGF0aXN0aWNzQW5kUnVuVGVzdHMoMTMpOyB9KTsK
LSAgICAgICAgICAgICAgICBicmVhazsKLSAgICAgICAgICAgIGNhc2UgMTM6Ci0gICAgICAgICAg
ICAgICAgdGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNzTGFzdFNlZW4odXJsc1RvQmVQcnVuZWRbNl0u
dXJsLCBvbGRlclRpbWVzdGFtcCwgZnVuY3Rpb24oKSB7IGluaXRpYWxpemVTdGF0aXN0aWNzQW5k
UnVuVGVzdHMoMTQpOyB9KTsKLSAgICAgICAgICAgICAgICBicmVhazsKLSAgICAgICAgICAgIGNh
c2UgMTQ6Ci0gICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNzUHJldmFsZW50
UmVzb3VyY2UodXJsc1RvQmVQcnVuZWRbN10udXJsLCB0cnVlLCBmdW5jdGlvbigpIHsgaW5pdGlh
bGl6ZVN0YXRpc3RpY3NBbmRSdW5UZXN0cygxNSk7IH0pOwotICAgICAgICAgICAgICAgIGJyZWFr
OwotICAgICAgICAgICAgY2FzZSAxNToKLSAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLnNldFN0
YXRpc3RpY3NIYXNIYWRVc2VySW50ZXJhY3Rpb24odXJsc1RvQmVQcnVuZWRbN10udXJsLCB0cnVl
LCBmdW5jdGlvbigpIHsgaW5pdGlhbGl6ZVN0YXRpc3RpY3NBbmRSdW5UZXN0cygxNik7IH0pOwot
ICAgICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICAgICAgY2FzZSAxNjoKLSAgICAgICAgICAg
ICAgICB0ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NMYXN0U2Vlbih1cmxzVG9CZVBydW5lZFs3XS51
cmwsIG5ld2VyVGltZXN0YW1wLCBmdW5jdGlvbigpIHsgaW5pdGlhbGl6ZVN0YXRpc3RpY3NBbmRS
dW5UZXN0cygxNyk7IH0pOwotICAgICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICAgICAgY2Fz
ZSAxNzoKLSAgICAgICAgICAgICAgICBjaGVja0lmUHJldmFsZW50QWNjb3JkaW5nVG9Jbml0aWFs
RXhwZWN0YXRpb24oMCwgdXJsc1RvQmVQcnVuZWQubGVuZ3RoKTsKLSAgICAgICAgICAgICAgICBy
dW5UZXN0KCk7Ci0gICAgICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgIH0KLSAgICB9Ci0KLSAg
ICB2YXIgY3VycmVudFRlc3Q7Ci0gICAgZnVuY3Rpb24gY2hlY2tTdGF0aXN0aWNzQWZ0ZXJQcnVu
aW5nKCkgewotICAgICAgICAvLyBQcnVuZWQgZW50cmllcyBzaG91bGQgbm90IGJlIHByZXZhbGVu
dC4KLSAgICAgICAgY2hlY2tJZlByZXZhbGVudCgwLCBjdXJyZW50VGVzdCwgZmFsc2UpOwotICAg
ICAgICAvLyBOb24tcHJ1bmVkIGVudHJpZXMgc2hvdWxkIGtlZXAgdGhlaXIgZXhwZWN0ZWQgc3Rh
dHVzLgotICAgICAgICBjaGVja0lmUHJldmFsZW50QWNjb3JkaW5nVG9Jbml0aWFsRXhwZWN0YXRp
b24oY3VycmVudFRlc3QsIHVybHNUb0JlUHJ1bmVkLmxlbmd0aCk7Ci0gICAgICAgIHRlc3RQYXNz
ZWQoIlRlc3QgaXRlcmF0aW9uICIgKyBjdXJyZW50VGVzdCArICIgcGFzc2VkLiIpOwotICAgICAg
ICBpZiAoY3VycmVudFRlc3QgPCB1cmxzVG9CZVBydW5lZC5sZW5ndGgpIHsKLSAgICAgICAgICAg
ICsrY3VycmVudFRlc3Q7Ci0gICAgICAgICAgICB0ZXN0UnVubmVyLmluc3RhbGxTdGF0aXN0aWNz
RGlkU2NhbkRhdGFSZWNvcmRzQ2FsbGJhY2soY2hlY2tTdGF0aXN0aWNzQWZ0ZXJQcnVuaW5nKTsK
LSAgICAgICAgICAgIGluaXRpYWxpemVTdGF0aXN0aWNzQW5kUnVuVGVzdHMoMSk7Ci0gICAgICAg
IH0gZWxzZQotICAgICAgICAgICAgc2V0RW5hYmxlRmVhdHVyZShmYWxzZSwgZmluaXNoSlNUZXN0
KTsKLSAgICB9Ci0KLSAgICBsZXQgZmlsbGVyVXJsOwotICAgIGZ1bmN0aW9uIHJ1blRlc3QoKSB7
Ci0gICAgICAgIGZpbGxlclVybCA9ICJodHRwOi8vMTI3LjAuIiArIGN1cnJlbnRUZXN0ICsgIi4x
OjgwMDAvdGVtcCI7Ci0gICAgICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc1ByZXZhbGVudFJl
c291cmNlKGZpbGxlclVybCwgdHJ1ZSwgZnVuY3Rpb24oKSB7Ci0gICAgICAgICAgICB0ZXN0UnVu
bmVyLnNldFN0YXRpc3RpY3NIYXNIYWRVc2VySW50ZXJhY3Rpb24oZmlsbGVyVXJsLCB0cnVlLCBm
dW5jdGlvbigpIHsKLSAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NMYXN0
U2VlbihmaWxsZXJVcmwsIG5ld2VzdFRpbWVzdGFtcCwgZnVuY3Rpb24oKSB7Ci0gICAgICAgICAg
ICAgICAgICAgIHRlc3RSdW5uZXIuc3RhdGlzdGljc1Byb2Nlc3NTdGF0aXN0aWNzQW5kRGF0YVJl
Y29yZHMoKTsKLSAgICAgICAgICAgICAgICB9KTsKLSAgICAgICAgICAgIH0pOwotICAgICAgICB9
KTsKLSAgICB9Ci0KLSAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpIHsKLSAgICAgICAgdGVzdFJ1
bm5lci5zZXRVc2VJVFBEYXRhYmFzZSh0cnVlKTsKLSAgICAgICAgc2V0RW5hYmxlRmVhdHVyZSh0
cnVlLCBmdW5jdGlvbiAoKSB7Ci0gICAgICAgICAgICB0ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NT
aG91bGRDbGFzc2lmeVJlc291cmNlc0JlZm9yZURhdGFSZWNvcmRzUmVtb3ZhbChmYWxzZSk7Ci0g
ICAgICAgICAgICB0ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NNaW5pbXVtVGltZUJldHdlZW5EYXRh
UmVjb3Jkc1JlbW92YWwoMCk7Ci0gICAgICAgICAgICB0ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NN
YXhTdGF0aXN0aWNzRW50cmllcyh1cmxzVG9CZVBydW5lZC5sZW5ndGgpOwotICAgICAgICAgICAg
dGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNzUHJ1bmVFbnRyaWVzRG93blRvKHVybHNUb0JlUHJ1bmVk
Lmxlbmd0aCk7Ci0KLSAgICAgICAgICAgIGN1cnJlbnRUZXN0ID0gMTsKLSAgICAgICAgICAgIHRl
c3RSdW5uZXIuaW5zdGFsbFN0YXRpc3RpY3NEaWRTY2FuRGF0YVJlY29yZHNDYWxsYmFjayhjaGVj
a1N0YXRpc3RpY3NBZnRlclBydW5pbmcpOwotICAgICAgICAgICAgaW5pdGlhbGl6ZVN0YXRpc3Rp
Y3NBbmRSdW5UZXN0cygxKTsKLSAgICAgICAgfSk7Ci0gICAgfQotPC9zY3JpcHQ+Ci08L2JvZHk+
Ci08L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9h
ZFN0YXRpc3RpY3MvcmVtb3ZlLXdlYnNpdGUtZGF0YS1mb3Itb3JpZ2luLWRlbGV0ZXMtbGluay1k
ZWNvcmF0aW9uLWRhdGFiYXNlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMv
cmVzb3VyY2VMb2FkU3RhdGlzdGljcy9yZW1vdmUtd2Vic2l0ZS1kYXRhLWZvci1vcmlnaW4tZGVs
ZXRlcy1saW5rLWRlY29yYXRpb24tZGF0YWJhc2UtZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCBjOTNlODY3MjE3MjQyYzJiNjk5ZTdjYjk5NTc0ODFkYjU0MDE0NjE1
Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRl
c3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9yZW1vdmUtd2Vic2l0ZS1kYXRh
LWZvci1vcmlnaW4tZGVsZXRlcy1saW5rLWRlY29yYXRpb24tZGF0YWJhc2UtZXhwZWN0ZWQudHh0
CisrKyAvZGV2L251bGwKQEAgLTEsNSArMCwwIEBACi1QQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBp
cyB0cnVlCi0KLVRFU1QgQ09NUExFVEUKLVBBU1MgRG9tYWluIElEIHdhcyBzdWNjZXNzZnVsbHkg
ZGVsZXRlZCBmcm9tIHRoZSBkYXRhYmFzZS4KLQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3JlbW92ZS13ZWJzaXRlLWRhdGEtZm9yLW9y
aWdpbi1kZWxldGVzLWxpbmstZGVjb3JhdGlvbi1kYXRhYmFzZS5odG1sIGIvTGF5b3V0VGVzdHMv
aHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3JlbW92ZS13ZWJzaXRlLWRhdGEtZm9y
LW9yaWdpbi1kZWxldGVzLWxpbmstZGVjb3JhdGlvbi1kYXRhYmFzZS5odG1sCmRlbGV0ZWQgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCBkNjliYTM2MTE0MzM1ZTJhOThlNjQ5YzZhMjZlNjAyZmIyMjZj
Njc2Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91
dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9yZW1vdmUtd2Vic2l0ZS1k
YXRhLWZvci1vcmlnaW4tZGVsZXRlcy1saW5rLWRlY29yYXRpb24tZGF0YWJhc2UuaHRtbAorKysg
L2Rldi9udWxsCkBAIC0xLDUyICswLDAgQEAKLTwhRE9DVFlQRSBodG1sPgotPGh0bWw+Ci08aGVh
ZD4KLSAgICA8c2NyaXB0IHNyYz0iL2pzLXRlc3QtcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2Ny
aXB0PgotICAgIDxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvdXRpbC5qcyI+PC9zY3JpcHQ+Ci08L2hl
YWQ+Ci08Ym9keSBvbmxvYWQ9InNldFRpbWVvdXQoJ3J1blRlc3QoKScsIDApIj4KLTxkaXYgaWQ9
Im91dHB1dCI+PC9kaXY+Ci08c2NyaXB0PgotICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikgewot
ICAgICAgICB0ZXN0UnVubmVyLnNldFVzZUlUUERhdGFiYXNlKHRydWUpOwotICAgICAgICB0ZXN0
UnVubmVyLndhaXRVbnRpbERvbmUoKTsKLSAgICAgICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7
Ci0gICAgfQotCi0gICAgZnVuY3Rpb24gbmF2aWdhdGVDcm9zc09yaWdpbigpIHsKLSAgICAgICAg
ZG9jdW1lbnQubG9jYXRpb24uaHJlZiA9IGRlc3RpbmF0aW9uT3JpZ2luICsgIi9yZXNvdXJjZUxv
YWRTdGF0aXN0aWNzL3JlbW92ZS13ZWJzaXRlLWRhdGEtZm9yLW9yaWdpbi1kZWxldGVzLWxpbmst
ZGVjb3JhdGlvbi1kYXRhYmFzZS5odG1sP2xpbms9ZGVjb3JhdGlvbiI7Ci0gICAgfQotCi0gICAg
Y29uc3QgaG9zdCA9ICJsb2NhbGhvc3QiOwotICAgIGNvbnN0IGRlc3RpbmF0aW9uT3JpZ2luID0g
Imh0dHA6Ly9sb2NhbGhvc3Q6ODAwMCI7Ci0gICAgY29uc3QgcHJldmFsZW50UmVzb3VyY2VPcmln
aW4gPSAiaHR0cDovLzEyNy4wLjAuMTo4MDAwIjsKLSAgICBjb25zdCB0ZXN0T3JpZ2luID0gImh0
dHA6Ly8xMjcuMC4wLjI6ODAwMCI7Ci0gICAgZnVuY3Rpb24gcnVuVGVzdCgpIHsKLSAgICAgICAg
aWYgKGRvY3VtZW50LmxvY2F0aW9uLm9yaWdpbiA9PT0gcHJldmFsZW50UmVzb3VyY2VPcmlnaW4p
IHsKLSAgICAgICAgICAgIHNldEVuYWJsZUZlYXR1cmUodHJ1ZSwgZnVuY3Rpb24gKCkgewotICAg
ICAgICAgICAgICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc1ByZXZhbGVudFJlc291cmNlKHBy
ZXZhbGVudFJlc291cmNlT3JpZ2luLCB0cnVlLCBmdW5jdGlvbigpIHsKLSAgICAgICAgICAgICAg
ICAgICAgaWYgKCF0ZXN0UnVubmVyLmlzU3RhdGlzdGljc1ByZXZhbGVudFJlc291cmNlKHByZXZh
bGVudFJlc291cmNlT3JpZ2luKSkKLSAgICAgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQo
Ikhvc3QgZGlkIG5vdCBnZXQgc2V0IGFzIHByZXZhbGVudCByZXNvdXJjZS4iKTsKLSAgICAgICAg
ICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc0Nyb3NzU2l0ZUxvYWRXaXRo
TGlua0RlY29yYXRpb24odGVzdE9yaWdpbiwgZGVzdGluYXRpb25PcmlnaW4pOwotICAgICAgICAg
ICAgICAgICAgICB0ZXN0UnVubmVyLnN0YXRpc3RpY3NVcGRhdGVDb29raWVCbG9ja2luZyhuYXZp
Z2F0ZUNyb3NzT3JpZ2luKTsKLSAgICAgICAgICAgICAgICB9KTsKLQotICAgICAgICAgICAgfSk7
Ci0gICAgICAgIH0gZWxzZSB7Ci0gICAgICAgICAgICB0ZXN0UnVubmVyLmNsZWFyU3RhdGlzdGlj
c0RhdGFGb3JEb21haW4oaG9zdCk7Ci0gICAgICAgICAgICAvLyBNdXN0IHVzZSBkb21haW5JRCB0
byBlbnN1cmUgdGhpcyB3YXMgcHJvcGVybHkKLSAgICAgICAgICAgIC8vIGRlbGV0ZWQsIG90aGVy
d2lzZSB0aGUgbGFjayBvZiByZWdpc3RyYWJsZSBkb21haW4gLS0+IGRvbWFpbklEIG1hcHBpbmcK
LSAgICAgICAgICAgIC8vIGNvdWxkIGNyZWF0ZSBhIGZhbHNlLXBvc2l0aXZlIHRlc3QgcmVzdWx0
IGV2ZW4gd2hlbiB0aGUgZG9tYWluSUQgcGVyc2lzdHMuCi0gICAgICAgICAgICBpZiAodGVzdFJ1
bm5lci5kb2VzU3RhdGlzdGljc0RvbWFpbklERXhpc3RJbkRhdGFiYXNlKDIpKQotICAgICAgICAg
ICAgICAgIHRlc3RGYWlsZWQoIkRvbWFpbiBJRCB3YXMgbm90IGRlbGV0ZWQgZnJvbSB0aGUgZGF0
YWJhc2UuIik7Ci0gICAgICAgICAgICBlbHNlCi0gICAgICAgICAgICAgICAgdGVzdFBhc3NlZCgi
RG9tYWluIElEIHdhcyBzdWNjZXNzZnVsbHkgZGVsZXRlZCBmcm9tIHRoZSBkYXRhYmFzZS4iKQot
Ci0gICAgICAgICAgICBzZXRFbmFibGVGZWF0dXJlKGZhbHNlLCBmdW5jdGlvbiAoKSB7Ci0gICAg
ICAgICAgICAgICAgdGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7Ci0gICAgICAgICAgICB9KTsKLSAg
ICAgICAgfQotICAgIH0KLTwvc2NyaXB0PgotPC9ib2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3JlbW92ZS13ZWJz
aXRlLWRhdGEtZm9yLW9yaWdpbi1kZWxldGVzLWxpbmstZGVjb3JhdGlvbi1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvcmVtb3ZlLXdl
YnNpdGUtZGF0YS1mb3Itb3JpZ2luLWRlbGV0ZXMtbGluay1kZWNvcmF0aW9uLWV4cGVjdGVkLnR4
dAppbmRleCA0ODg4MTA4Mjc5MTBiNjVmOWNiY2QxYmNlMmFmYTUxYWZiNmY2MTg5Li5kYzkzY2Ey
NDYzNDAwMjNiMjI2MDQ4NWU3MWZiOTQ2ZGRmNzM4MTNiIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvcmVtb3ZlLXdlYnNpdGUtZGF0YS1m
b3Itb3JpZ2luLWRlbGV0ZXMtbGluay1kZWNvcmF0aW9uLWV4cGVjdGVkLnR4dAorKysgYi9MYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvcmVtb3ZlLXdlYnNpdGUt
ZGF0YS1mb3Itb3JpZ2luLWRlbGV0ZXMtbGluay1kZWNvcmF0aW9uLWV4cGVjdGVkLnR4dApAQCAt
NSw5ICs1LDcgQEAgUmVnaXN0cmFibGUgZG9tYWluOiAxMjcuMC4wLjEKICAgICBoYWRVc2VySW50
ZXJhY3Rpb246IE5vCiAgICAgbW9zdFJlY2VudFVzZXJJbnRlcmFjdGlvbjogLTEKICAgICBncmFu
ZGZhdGhlcmVkOiBObwotICAgIGdvdExpbmtEZWNvcmF0aW9uRnJvbVByZXZhbGVudFJlc291cmNl
OiBObworICAgIElzU2NoZWR1bGVkRm9yQWxsQnV0Q29va2llRGF0YVJlbW92YWw6IE5vCiAgICAg
aXNQcmV2YWxlbnRSZXNvdXJjZTogWWVzCiAgICAgaXNWZXJ5UHJldmFsZW50UmVzb3VyY2U6IE5v
CiAgICAgZGF0YVJlY29yZHNSZW1vdmVkOiAwCi0gICAgY2FudmFzUmVhZERhdGE6IE5vCi0KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9y
ZW1vdmUtd2Vic2l0ZS1kYXRhLWZvci1vcmlnaW4tZGVsZXRlcy1taXhlZC1zdGF0aXN0aWNzLWVu
dHJpZXMtZGF0YWJhc2UtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNv
dXJjZUxvYWRTdGF0aXN0aWNzL3JlbW92ZS13ZWJzaXRlLWRhdGEtZm9yLW9yaWdpbi1kZWxldGVz
LW1peGVkLXN0YXRpc3RpY3MtZW50cmllcy1kYXRhYmFzZS1leHBlY3RlZC50eHQKZGVsZXRlZCBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IGYyODcyY2Q5ZDdhMDhlMDM2MWIzMjZhYjkyMDFkNWFmNzM4
MTBiZWYuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3JlbW92ZS13ZWJzaXRl
LWRhdGEtZm9yLW9yaWdpbi1kZWxldGVzLW1peGVkLXN0YXRpc3RpY3MtZW50cmllcy1kYXRhYmFz
ZS1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSw1ICswLDAgQEAKLVBBU1MgRG9tYWlu
IElEIHdhcyBzdWNjZXNzZnVsbHkgZGVsZXRlZCBmcm9tIHRoZSBkYXRhYmFzZS4KLVBBU1Mgc3Vj
Y2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKLQotVEVTVCBDT01QTEVURQotCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvcmVtb3ZlLXdlYnNp
dGUtZGF0YS1mb3Itb3JpZ2luLWRlbGV0ZXMtbWl4ZWQtc3RhdGlzdGljcy1lbnRyaWVzLWRhdGFi
YXNlLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3Mv
cmVtb3ZlLXdlYnNpdGUtZGF0YS1mb3Itb3JpZ2luLWRlbGV0ZXMtbWl4ZWQtc3RhdGlzdGljcy1l
bnRyaWVzLWRhdGFiYXNlLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGY3MzY4
MmVjNmZhNTk3ODk0ZTU4ODUzOGRmNGRhZjJjNjdjODJlMzQuLjAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJj
ZUxvYWRTdGF0aXN0aWNzL3JlbW92ZS13ZWJzaXRlLWRhdGEtZm9yLW9yaWdpbi1kZWxldGVzLW1p
eGVkLXN0YXRpc3RpY3MtZW50cmllcy1kYXRhYmFzZS5odG1sCisrKyAvZGV2L251bGwKQEAgLTEs
NTUgKzAsMCBAQAotPCFET0NUWVBFIGh0bWw+Ci08aHRtbCBsYW5nPSJlbiI+Ci08aGVhZD4KLSAg
ICA8bWV0YSBjaGFyc2V0PSJVVEYtOCI+Ci0gICAgPHRpdGxlPlRlc3RzIHRoYXQgcmVtb3ZhbCBv
ZiB3ZWJzaXRlIGRhdGEgZGVsZXRlcyBJVFAgZGF0YTwvdGl0bGU+Ci0gICAgPHNjcmlwdCBzcmM9
Ii9qcy10ZXN0LXJlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KLSAgICA8c2NyaXB0IHNy
Yz0icmVzb3VyY2VzL3V0aWwuanMiPjwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHk+Ci08c2NyaXB0
PgotICAgIGNvbnN0IGhvc3RVbmRlclRlc3QgPSAiMTI3LjAuMC4xIjsKLSAgICBjb25zdCBzdGF0
aXN0aWNzVXJsID0gImh0dHA6Ly8iICsgaG9zdFVuZGVyVGVzdCArICIvdGVtcCI7Ci0gICAgY29u
c3QgdG9wRnJhbWVPcmlnaW4xID0gImh0dHA6Ly8xMjcuMC4wLjI6ODAwMC90ZW1wIjsKLSAgICBj
b25zdCB0b3BGcmFtZU9yaWdpbjIgPSAiaHR0cDovLzEyNy4wLjAuMzo4MDAwL3RlbXAiOwotICAg
IGNvbnN0IHRvcEZyYW1lT3JpZ2luMyA9ICJodHRwOi8vMTI3LjAuMC40OjgwMDAvdGVtcCI7Ci0g
ICAgY29uc3QgdG9wRnJhbWVPcmlnaW40ID0gImh0dHA6Ly8xMjcuMC4wLjU6ODAwMC90ZW1wIjsK
LQotICAgIGZ1bmN0aW9uIGNvbXBsZXRlVGVzdCgpIHsKLSAgICAgICAgdGVzdFJ1bm5lci5jbGVh
clN0YXRpc3RpY3NEYXRhRm9yRG9tYWluKGhvc3RVbmRlclRlc3QpOwotICAgICAgICAvLyBNdXN0
IHVzZSBkb21haW5JRCB0byBlbnN1cmUgdGhpcyB3YXMgcHJvcGVybHkKLSAgICAgICAgLy8gZGVs
ZXRlZCwgb3RoZXJ3aXNlIHRoZSBsYWNrIG9mIHJlZ2lzdHJhYmxlIGRvbWFpbiAtLT4gZG9tYWlu
SUQgbWFwcGluZwotICAgICAgICAvLyBjb3VsZCBjcmVhdGUgYSBmYWxzZS1wb3NpdGl2ZSB0ZXN0
IHJlc3VsdCBldmVuIHdoZW4gdGhlIGRvbWFpbklEIHBlcnNpc3RzLgotICAgICAgICBpZiAodGVz
dFJ1bm5lci5kb2VzU3RhdGlzdGljc0RvbWFpbklERXhpc3RJbkRhdGFiYXNlKDEpKQotICAgICAg
ICAgICAgdGVzdEZhaWxlZCgiRG9tYWluIElEIHdhcyBub3QgZGVsZXRlZCBmcm9tIHRoZSBkYXRh
YmFzZS4iKTsKLSAgICAgICAgZWxzZQotICAgICAgICAgICAgdGVzdFBhc3NlZCgiRG9tYWluIElE
IHdhcyBzdWNjZXNzZnVsbHkgZGVsZXRlZCBmcm9tIHRoZSBkYXRhYmFzZS4iKQotICAgICAgICBz
ZXRFbmFibGVGZWF0dXJlKGZhbHNlLCBmdW5jdGlvbigpIHsKLSAgICAgICAgICAgIHRlc3RSdW5u
ZXIubm90aWZ5RG9uZSgpOwotICAgICAgICB9KTsKLSAgICB9Ci0KLSAgICBmdW5jdGlvbiBydW5U
ZXN0UnVubmVyVGVzdCgpIHsKLSAgICAgICAgLy8gQ3JlYXRlIGVudHJpZXMgaW4gbXVsdGlwbGUg
ZGF0YWJhc2UgdGFibGVzIHdpdGggdGhlIGhvc3RVbmRlclRlc3QuCi0gICAgICAgIHRlc3RSdW5u
ZXIuc2V0U3RhdGlzdGljc1N1YmZyYW1lVW5kZXJUb3BGcmFtZU9yaWdpbihzdGF0aXN0aWNzVXJs
LCB0b3BGcmFtZU9yaWdpbjEpOwotICAgICAgICB0ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NTdWJy
ZXNvdXJjZVVuZGVyVG9wRnJhbWVPcmlnaW4odG9wRnJhbWVPcmlnaW4yLCBzdGF0aXN0aWNzVXJs
KTsKLSAgICAgICAgdGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNzU3VicmVzb3VyY2VVbmRlclRvcEZy
YW1lT3JpZ2luKHN0YXRpc3RpY3NVcmwsIHRvcEZyYW1lT3JpZ2luMyk7Ci0gICAgICAgIHRlc3RS
dW5uZXIuc2V0U3RhdGlzdGljc1N1YnJlc291cmNlVW5pcXVlUmVkaXJlY3RUbyhzdGF0aXN0aWNz
VXJsLCB0b3BGcmFtZU9yaWdpbjQpOwotCi0gICAgICAgIGlmICghdGVzdFJ1bm5lci5pc1N0YXRp
c3RpY3NSZWdpc3RlcmVkQXNTdWJGcmFtZVVuZGVyKHN0YXRpc3RpY3NVcmwsIHRvcEZyYW1lT3Jp
Z2luMSkKLSAgICAgICAgICAgICAgICB8fCAhdGVzdFJ1bm5lci5pc1N0YXRpc3RpY3NSZWdpc3Rl
cmVkQXNTdWJyZXNvdXJjZVVuZGVyKHRvcEZyYW1lT3JpZ2luMiwgc3RhdGlzdGljc1VybCkKLSAg
ICAgICAgICAgICAgICB8fCAhdGVzdFJ1bm5lci5pc1N0YXRpc3RpY3NSZWdpc3RlcmVkQXNTdWJy
ZXNvdXJjZVVuZGVyKHN0YXRpc3RpY3NVcmwsIHRvcEZyYW1lT3JpZ2luMykKLSAgICAgICAgICAg
ICAgICB8fCAhdGVzdFJ1bm5lci5pc1N0YXRpc3RpY3NSZWdpc3RlcmVkQXNSZWRpcmVjdGluZ1Rv
KHN0YXRpc3RpY3NVcmwsIHRvcEZyYW1lT3JpZ2luNCkpCi0gICAgICAgICAgICB0ZXN0RmFpbGVk
KCJGYWlsZWQgdG8gcmVnaXN0ZXIgc3ViU3RhdGlzdGljcy4iKTsKLQotICAgICAgICBjb21wbGV0
ZVRlc3QoKTsKLSAgICB9Ci0KLSAgICBpZiAod2luZG93LnRlc3RSdW5uZXIgJiYgd2luZG93Lmlu
dGVybmFscykgewotICAgICAgICB0ZXN0UnVubmVyLnNldFVzZUlUUERhdGFiYXNlKHRydWUpOwot
ICAgICAgICB0ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTsKLSAgICAgICAgc2V0RW5hYmxlRmVh
dHVyZSh0cnVlLCBydW5UZXN0UnVubmVyVGVzdCk7Ci0gICAgfQotPC9zY3JpcHQ+Ci08L2JvZHk+
Ci08L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9h
ZFN0YXRpc3RpY3MvcmVtb3ZlLXdlYnNpdGUtZGF0YS1mb3Itb3JpZ2luLWRlbGV0ZXMtdGhpcmQt
cGFydHktc2NyaXB0LWxvYWRzLWRhdGFiYXNlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0
dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9yZW1vdmUtd2Vic2l0ZS1kYXRhLWZvci1v
cmlnaW4tZGVsZXRlcy10aGlyZC1wYXJ0eS1zY3JpcHQtbG9hZHMtZGF0YWJhc2UtZXhwZWN0ZWQu
dHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBjOTNlODY3MjE3MjQyYzJiNjk5ZTdj
Yjk5NTc0ODFkYjU0MDE0NjE1Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwCi0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9y
ZW1vdmUtd2Vic2l0ZS1kYXRhLWZvci1vcmlnaW4tZGVsZXRlcy10aGlyZC1wYXJ0eS1zY3JpcHQt
bG9hZHMtZGF0YWJhc2UtZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEsNSArMCwwIEBA
Ci1QQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCi0KLVRFU1QgQ09NUExFVEUKLVBBU1Mg
RG9tYWluIElEIHdhcyBzdWNjZXNzZnVsbHkgZGVsZXRlZCBmcm9tIHRoZSBkYXRhYmFzZS4KLQpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNz
L3JlbW92ZS13ZWJzaXRlLWRhdGEtZm9yLW9yaWdpbi1kZWxldGVzLXRoaXJkLXBhcnR5LXNjcmlw
dC1sb2Fkcy1kYXRhYmFzZS5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxv
YWRTdGF0aXN0aWNzL3JlbW92ZS13ZWJzaXRlLWRhdGEtZm9yLW9yaWdpbi1kZWxldGVzLXRoaXJk
LXBhcnR5LXNjcmlwdC1sb2Fkcy1kYXRhYmFzZS5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCA3ODQ3ZTEwZGNkZWExMjI1YTIyNWRkNTgyOTJmMjhlODIyZmU2MzY4Li4wMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2h0dHAv
dGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9yZW1vdmUtd2Vic2l0ZS1kYXRhLWZvci1vcmln
aW4tZGVsZXRlcy10aGlyZC1wYXJ0eS1zY3JpcHQtbG9hZHMtZGF0YWJhc2UuaHRtbAorKysgL2Rl
di9udWxsCkBAIC0xLDU2ICswLDAgQEAKLTwhRE9DVFlQRSBodG1sPgotPGh0bWwgbGFuZz0iZW4i
PgotPGhlYWQ+Ci0gICAgPG1ldGEgY2hhcnNldD0iVVRGLTgiPgotICAgIDx0aXRsZT5UZXN0cyB0
aGF0IHJlbW92YWwgb2Ygd2Vic2l0ZSBkYXRhIGRlbGV0ZXMgSVRQIGRhdGE8L3RpdGxlPgotICAg
IDxzY3JpcHQgc3JjPSIvanMtdGVzdC1yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+Ci0g
ICAgPHNjcmlwdCBzcmM9InJlc291cmNlcy91dGlsLmpzIj48L3NjcmlwdD4KLTwvaGVhZD4KLTxi
b2R5IG9ubG9hZD0icnVuVGVzdCgpIj4KLTxzY3JpcHQ+Ci0gICAgY29uc3QgaG9zdCA9ICJsb2Nh
bGhvc3QiOwotICAgIGNvbnN0IHRoaXJkUGFydHlPcmlnaW4gPSAiaHR0cDovL2xvY2FsaG9zdDo4
MDAwIjsKLSAgICBjb25zdCB0aGlyZFBhcnR5QmFzZVVybCA9IHRoaXJkUGFydHlPcmlnaW4gKyAi
L3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvcmVzb3VyY2VzIjsKLQotICAgIGZ1bmN0aW9uIGZpbmlz
aFRlc3QoKSB7Ci0gICAgICAgIHRlc3RSdW5uZXIuY2xlYXJTdGF0aXN0aWNzRGF0YUZvckRvbWFp
bihob3N0KTsKLSAgICAgICAgLy8gTXVzdCB1c2UgZG9tYWluSUQgdG8gZW5zdXJlIHRoaXMgd2Fz
IHByb3Blcmx5Ci0gICAgICAgIC8vIGRlbGV0ZWQsIG90aGVyd2lzZSB0aGUgbGFjayBvZiByZWdp
c3RyYWJsZSBkb21haW4gLS0+IGRvbWFpbklEIG1hcHBpbmcKLSAgICAgICAgLy8gY291bGQgY3Jl
YXRlIGEgZmFsc2UtcG9zaXRpdmUgdGVzdCByZXN1bHQgZXZlbiB3aGVuIHRoZSBkb21haW5JRCBw
ZXJzaXN0cy4KLSAgICAgICAgaWYgKHRlc3RSdW5uZXIuZG9lc1N0YXRpc3RpY3NEb21haW5JREV4
aXN0SW5EYXRhYmFzZSgxKSkKLSAgICAgICAgICAgIHRlc3RGYWlsZWQoIkRvbWFpbiBJRCB3YXMg
bm90IGRlbGV0ZWQgZnJvbSB0aGUgZGF0YWJhc2UuIik7Ci0gICAgICAgIGVsc2UKLSAgICAgICAg
ICAgIHRlc3RQYXNzZWQoIkRvbWFpbiBJRCB3YXMgc3VjY2Vzc2Z1bGx5IGRlbGV0ZWQgZnJvbSB0
aGUgZGF0YWJhc2UuIikKLSAgICAgICAgc2V0RW5hYmxlRmVhdHVyZShmYWxzZSwgZnVuY3Rpb24o
KSB7Ci0gICAgICAgICAgICB0ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsKLSAgICAgICAgfSk7Ci0g
ICAgfQotCi0gICAgZnVuY3Rpb24gcnVuVGVzdCgpIHsKLSAgICAgICAgc3dpdGNoIChkb2N1bWVu
dC5sb2NhdGlvbi5oYXNoKSB7Ci0gICAgICAgICAgICBjYXNlICIiOgotICAgICAgICAgICAgICAg
IGlmICh3aW5kb3cudGVzdFJ1bm5lciAmJiB3aW5kb3cuaW50ZXJuYWxzKSB7Ci0gICAgICAgICAg
ICAgICAgICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOwotICAgICAgICAgICAgICAgICAg
ICB0ZXN0UnVubmVyLnNldFVzZUlUUERhdGFiYXNlKHRydWUpOwotICAgICAgICAgICAgICAgICAg
ICBzZXRFbmFibGVGZWF0dXJlKHRydWUsIGZ1bmN0aW9uKCkgewotICAgICAgICAgICAgICAgICAg
ICAgICAgdGVzdFJ1bm5lci5pbnN0YWxsU3RhdGlzdGljc0RpZFNjYW5EYXRhUmVjb3Jkc0NhbGxi
YWNrKGZpbmlzaFRlc3QpOwotICAgICAgICAgICAgICAgICAgICAgICAgZG9jdW1lbnQubG9jYXRp
b24uaGFzaCA9ICJzdGVwMSI7Ci0gICAgICAgICAgICAgICAgICAgICAgICBydW5UZXN0KCk7Ci0g
ICAgICAgICAgICAgICAgICAgIH0pOwotICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAg
ICBicmVhazsKLSAgICAgICAgICAgIGNhc2UgIiNzdGVwMSI6Ci0gICAgICAgICAgICAgICAgZG9j
dW1lbnQubG9jYXRpb24uaGFzaCA9ICJzdGVwMiI7Ci0gICAgICAgICAgICAgICAgbGV0IHNjcmlw
dEVsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJzY3JpcHQiKTsKLSAgICAgICAgICAg
ICAgICBzY3JpcHRFbGVtZW50Lm9ubG9hZCA9IHJ1blRlc3Q7Ci0gICAgICAgICAgICAgICAgc2Ny
aXB0RWxlbWVudC5zcmMgPSB0aGlyZFBhcnR5QmFzZVVybCArICIvZHVtbXkuanM/ZHVtbXlQYXJh
bT0iICsgTWF0aC5yYW5kb20oKTsKLSAgICAgICAgICAgICAgICBkb2N1bWVudC5ib2R5LmFwcGVu
ZENoaWxkKHNjcmlwdEVsZW1lbnQpOwotICAgICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICAg
ICAgY2FzZSAiI3N0ZXAyIjoKLSAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLnN0YXRpc3RpY3NO
b3RpZnlPYnNlcnZlcigpOwotICAgICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICB9Ci0gICAg
fQotPC9zY3JpcHQ+Ci08L2JvZHk+Ci08L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9o
dHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvcmVtb3ZlLXdlYnNpdGUtZGF0YS1mb3It
b3JpZ2luLWRlbGV0ZXMtdGhpcmQtcGFydHktc2NyaXB0LWxvYWRzLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9yZW1vdmUtd2Vic2l0
ZS1kYXRhLWZvci1vcmlnaW4tZGVsZXRlcy10aGlyZC1wYXJ0eS1zY3JpcHQtbG9hZHMtZXhwZWN0
ZWQudHh0CmluZGV4IDIxNDQ2NzUzZWFmMTg5YWJiNjEyNzE2ZDE5ZmI4NTczNWZhNGNlZTYuLmUz
ZTNmZDYyYTc2ZTk4Y2I5MDlhNDZkYzZmMzY5NDU5YzI4ZjEwNDggMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9yZW1vdmUtd2Vic2l0ZS1k
YXRhLWZvci1vcmlnaW4tZGVsZXRlcy10aGlyZC1wYXJ0eS1zY3JpcHQtbG9hZHMtZXhwZWN0ZWQu
dHh0CisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9y
ZW1vdmUtd2Vic2l0ZS1kYXRhLWZvci1vcmlnaW4tZGVsZXRlcy10aGlyZC1wYXJ0eS1zY3JpcHQt
bG9hZHMtZXhwZWN0ZWQudHh0CkBAIC04LDkgKzgsNyBAQCBSZWdpc3RyYWJsZSBkb21haW46IDEy
Ny4wLjAuMQogICAgIGhhZFVzZXJJbnRlcmFjdGlvbjogTm8KICAgICBtb3N0UmVjZW50VXNlcklu
dGVyYWN0aW9uOiAtMQogICAgIGdyYW5kZmF0aGVyZWQ6IE5vCi0gICAgZ290TGlua0RlY29yYXRp
b25Gcm9tUHJldmFsZW50UmVzb3VyY2U6IE5vCisgICAgSXNTY2hlZHVsZWRGb3JBbGxCdXRDb29r
aWVEYXRhUmVtb3ZhbDogTm8KICAgICBpc1ByZXZhbGVudFJlc291cmNlOiBObwogICAgIGlzVmVy
eVByZXZhbGVudFJlc291cmNlOiBObwogICAgIGRhdGFSZWNvcmRzUmVtb3ZlZDogMAotICAgIGNh
bnZhc1JlYWREYXRhOiBObwotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jl
c291cmNlTG9hZFN0YXRpc3RpY3Mvc2FuZGJveGVkLWlmcmFtZS1yZWRpcmVjdC1pcC10by1sb2Nh
bGhvc3QtdG8taXAtZGF0YWJhc2UtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0
cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3NhbmRib3hlZC1pZnJhbWUtcmVkaXJlY3QtaXAtdG8t
bG9jYWxob3N0LXRvLWlwLWRhdGFiYXNlLWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggYjdjMTQzOGIxODY0MDY0MmFhMTZmYzA2YjY5ZDg0MWZkZjNiZjE2ZS4uMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9o
dHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3Mvc2FuZGJveGVkLWlmcmFtZS1yZWRpcmVj
dC1pcC10by1sb2NhbGhvc3QtdG8taXAtZGF0YWJhc2UtZXhwZWN0ZWQudHh0CisrKyAvZGV2L251
bGwKQEAgLTEsMTIgKzAsMCBAQAotVGVzdHMgdGhhdCByZWRpcmVjdHMgZm9yIHNhbmRib3hlZCBp
ZnJhbWVzIGdldCBjb3VudGVkIHByb3Blcmx5LgotCi1PbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUg
YSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIu
Ci0KLQotUEFTUyB0ZXN0UnVubmVyLmlzU3RhdGlzdGljc1JlZ2lzdGVyZWRBc1N1YkZyYW1lVW5k
ZXIoImh0dHA6Ly9sb2NhbGhvc3QiLCAiaHR0cDovLzEyNy4wLjAuMSIpIGlzIHRydWUKLVBBU1Mg
dGVzdFJ1bm5lci5pc1N0YXRpc3RpY3NSZWdpc3RlcmVkQXNSZWRpcmVjdGluZ1RvKCJodHRwOi8v
bG9jYWxob3N0IiwgImh0dHA6Ly8xMjcuMC4wLjEiKSBpcyB0cnVlCi1QQVNTIHRlc3RSdW5uZXIu
aXNTdGF0aXN0aWNzUmVnaXN0ZXJlZEFzUmVkaXJlY3RpbmdUbygiaHR0cDovLzEyNy4wLjAuMSIs
ICJodHRwOi8vbG9jYWxob3N0IikgaXMgdHJ1ZQotUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMg
dHJ1ZQotCi1URVNUIENPTVBMRVRFCi0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVz
dHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9zYW5kYm94ZWQtaWZyYW1lLXJlZGlyZWN0LWlwLXRv
LWxvY2FsaG9zdC10by1pcC1kYXRhYmFzZS5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9y
ZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3NhbmRib3hlZC1pZnJhbWUtcmVkaXJlY3QtaXAtdG8tbG9j
YWxob3N0LXRvLWlwLWRhdGFiYXNlLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDI1MDc0OWQ0OGNhMmYwNDNmZWEyYTNiMzJjZWEzMmM1YzY0ZDk3OTkuLjAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9y
ZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3NhbmRib3hlZC1pZnJhbWUtcmVkaXJlY3QtaXAtdG8tbG9j
YWxob3N0LXRvLWlwLWRhdGFiYXNlLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSw1NCArMCwwIEBA
Ci08IURPQ1RZUEUgaHRtbD4KLTxodG1sPgotPGhlYWQ+Ci0gICAgPHNjcmlwdCBzcmM9Ii9qcy10
ZXN0LXJlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KLSAgICA8c2NyaXB0IHNyYz0icmVz
b3VyY2VzL3V0aWwuanMiPjwvc2NyaXB0PgotICAgIDxzY3JpcHQ+Ci0gICAgICAgIGRlc2NyaXB0
aW9uKCJUZXN0cyB0aGF0IHJlZGlyZWN0cyBmb3Igc2FuZGJveGVkIGlmcmFtZXMgZ2V0IGNvdW50
ZWQgcHJvcGVybHkuIik7Ci0gICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOwotICAgICAgICB3
aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigibWVzc2FnZSIsIHJlY2VpdmVNZXNzYWdlLCBmYWxzZSk7
Ci0KLSAgICAgICAgZnVuY3Rpb24gZmluaXNoVGVzdCgpIHsKLSAgICAgICAgICAgIHNldEVuYWJs
ZUZlYXR1cmUoZmFsc2UsIGZpbmlzaEpTVGVzdCk7Ci0gICAgICAgIH0KLQotICAgICAgICBpZiAo
dGVzdFJ1bm5lcikgewotICAgICAgICAgICAgdGVzdFJ1bm5lci5zZXRVc2VJVFBEYXRhYmFzZSh0
cnVlKTsKLSAgICAgICAgICAgIHNldEVuYWJsZUZlYXR1cmUodHJ1ZSwgZnVuY3Rpb24oKSB7Ci0g
ICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5pbnN0YWxsU3RhdGlzdGljc0RpZFNjYW5EYXRhUmVj
b3Jkc0NhbGxiYWNrKGNoZWNrU3RhdHMpOwotICAgICAgICAgICAgfSk7Ci0gICAgICAgIH0KLQot
ICAgICAgICB2YXIgbGFzdFBhZ2VJblJlZGlyZWN0Q2hhaW5Mb2FkZWQgPSBmYWxzZTsKLSAgICAg
ICAgdmFyIHN0YXRzQ2hlY2tlZCA9IGZhbHNlOwotCi0gICAgICAgIGZ1bmN0aW9uIHJlY2VpdmVN
ZXNzYWdlKGV2ZW50KSB7Ci0gICAgICAgICAgICBpZiAoZXZlbnQub3JpZ2luID09PSAibnVsbCIp
IHsKLSAgICAgICAgICAgICAgICBpZiAoZXZlbnQuZGF0YS5pbmRleE9mKCJQQVNTIikgPT09IC0x
KQotICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGV2ZW50LmRhdGEucmVwbGFjZSgiRkFJ
TCAiLCAiIikpOwotICAgICAgICAgICAgfSBlbHNlCi0gICAgICAgICAgICAgICAgdGVzdEZhaWxl
ZCgiUmVjZWl2ZWQgYSBtZXNzYWdlIGZyb20gYW4gdW5leHBlY3RlZCBvcmlnaW46ICIgKyBldmVu
dC5vcmlnaW4pOwotCi0gICAgICAgICAgICBsYXN0UGFnZUluUmVkaXJlY3RDaGFpbkxvYWRlZCA9
IHRydWU7Ci0gICAgICAgICAgICBpZiAoc3RhdHNDaGVja2VkKQotICAgICAgICAgICAgICAgIGZp
bmlzaFRlc3QoKTsKLSAgICAgICAgICAgIGVsc2UKLSAgICAgICAgICAgICAgICB0ZXN0UnVubmVy
LnN0YXRpc3RpY3NOb3RpZnlPYnNlcnZlcigpOwotICAgICAgICB9Ci0KLSAgICAgICAgZnVuY3Rp
b24gY2hlY2tTdGF0cygpIHsKLSAgICAgICAgICAgIHNob3VsZEJlVHJ1ZSgndGVzdFJ1bm5lci5p
c1N0YXRpc3RpY3NSZWdpc3RlcmVkQXNTdWJGcmFtZVVuZGVyKCJodHRwOi8vbG9jYWxob3N0Iiwg
Imh0dHA6Ly8xMjcuMC4wLjEiKScpOwotICAgICAgICAgICAgc2hvdWxkQmVUcnVlKCd0ZXN0UnVu
bmVyLmlzU3RhdGlzdGljc1JlZ2lzdGVyZWRBc1JlZGlyZWN0aW5nVG8oImh0dHA6Ly9sb2NhbGhv
c3QiLCAiaHR0cDovLzEyNy4wLjAuMSIpJyk7Ci0gICAgICAgICAgICBzaG91bGRCZVRydWUoJ3Rl
c3RSdW5uZXIuaXNTdGF0aXN0aWNzUmVnaXN0ZXJlZEFzUmVkaXJlY3RpbmdUbygiaHR0cDovLzEy
Ny4wLjAuMSIsICJodHRwOi8vbG9jYWxob3N0IiknKTsKLQotICAgICAgICAgICAgc3RhdHNDaGVj
a2VkID0gdHJ1ZTsKLSAgICAgICAgICAgIGlmIChsYXN0UGFnZUluUmVkaXJlY3RDaGFpbkxvYWRl
ZCkKLSAgICAgICAgICAgICAgICBmaW5pc2hUZXN0KCk7Ci0gICAgICAgIH0KLSAgICA8L3Njcmlw
dD4KLTwvaGVhZD4KLTxib2R5PgotPGlmcmFtZSBzYW5kYm94PSJhbGxvdy1zY3JpcHRzIiBzcmM9
Imh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3Jlc291cmNlcy9y
ZWRpcmVjdC5waHAvP3JlZGlyZWN0VG89aHR0cDovL2xvY2FsaG9zdDo4MDAwL3Jlc291cmNlTG9h
ZFN0YXRpc3RpY3MvcmVzb3VyY2VzL3JlZGlyZWN0LnBocC8/cmVkaXJlY3RUbz1odHRwOi8vMTI3
LjAuMC4xOjgwMDAvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9yZXNvdXJjZXMvaWZyYW1lLXJlcG9y
dC1iYWNrLWxvYWRlZC5odG1sIj4KLTwvaWZyYW1lPgotPC9ib2R5PgotPC9odG1sPgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3NhbmRi
b3hlZC1pZnJhbWUtcmVkaXJlY3QtbG9jYWxob3N0LXRvLWlwLXRvLWxvY2FsaG9zdC1kYXRhYmFz
ZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRp
c3RpY3Mvc2FuZGJveGVkLWlmcmFtZS1yZWRpcmVjdC1sb2NhbGhvc3QtdG8taXAtdG8tbG9jYWxo
b3N0LWRhdGFiYXNlLWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
YjdjMTQzOGIxODY0MDY0MmFhMTZmYzA2YjY5ZDg0MWZkZjNiZjE2ZS4uMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jl
c291cmNlTG9hZFN0YXRpc3RpY3Mvc2FuZGJveGVkLWlmcmFtZS1yZWRpcmVjdC1sb2NhbGhvc3Qt
dG8taXAtdG8tbG9jYWxob3N0LWRhdGFiYXNlLWV4cGVjdGVkLnR4dAorKysgL2Rldi9udWxsCkBA
IC0xLDEyICswLDAgQEAKLVRlc3RzIHRoYXQgcmVkaXJlY3RzIGZvciBzYW5kYm94ZWQgaWZyYW1l
cyBnZXQgY291bnRlZCBwcm9wZXJseS4KLQotT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2Vy
aWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgotCi0K
LVBBU1MgdGVzdFJ1bm5lci5pc1N0YXRpc3RpY3NSZWdpc3RlcmVkQXNTdWJGcmFtZVVuZGVyKCJo
dHRwOi8vbG9jYWxob3N0IiwgImh0dHA6Ly8xMjcuMC4wLjEiKSBpcyB0cnVlCi1QQVNTIHRlc3RS
dW5uZXIuaXNTdGF0aXN0aWNzUmVnaXN0ZXJlZEFzUmVkaXJlY3RpbmdUbygiaHR0cDovL2xvY2Fs
aG9zdCIsICJodHRwOi8vMTI3LjAuMC4xIikgaXMgdHJ1ZQotUEFTUyB0ZXN0UnVubmVyLmlzU3Rh
dGlzdGljc1JlZ2lzdGVyZWRBc1JlZGlyZWN0aW5nVG8oImh0dHA6Ly8xMjcuMC4wLjEiLCAiaHR0
cDovL2xvY2FsaG9zdCIpIGlzIHRydWUKLVBBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUK
LQotVEVTVCBDT01QTEVURQotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jl
c291cmNlTG9hZFN0YXRpc3RpY3Mvc2FuZGJveGVkLWlmcmFtZS1yZWRpcmVjdC1sb2NhbGhvc3Qt
dG8taXAtdG8tbG9jYWxob3N0LWRhdGFiYXNlLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L3Jlc291cmNlTG9hZFN0YXRpc3RpY3Mvc2FuZGJveGVkLWlmcmFtZS1yZWRpcmVjdC1sb2NhbGhv
c3QtdG8taXAtdG8tbG9jYWxob3N0LWRhdGFiYXNlLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAyYjVmNmE3OTVjN2NmYjQ2NjUwNDRjMGMxNGViOGE0NGE0ZDliZDcuLjAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3NhbmRib3hlZC1pZnJhbWUtcmVkaXJlY3Qt
bG9jYWxob3N0LXRvLWlwLXRvLWxvY2FsaG9zdC1kYXRhYmFzZS5odG1sCisrKyAvZGV2L251bGwK
QEAgLTEsNTQgKzAsMCBAQAotPCFET0NUWVBFIGh0bWw+Ci08aHRtbD4KLTxoZWFkPgotICAgIDxz
Y3JpcHQgc3JjPSIvanMtdGVzdC1yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+Ci0gICAg
PHNjcmlwdCBzcmM9InJlc291cmNlcy91dGlsLmpzIj48L3NjcmlwdD4KLSAgICA8c2NyaXB0Pgot
ICAgICAgICBkZXNjcmlwdGlvbigiVGVzdHMgdGhhdCByZWRpcmVjdHMgZm9yIHNhbmRib3hlZCBp
ZnJhbWVzIGdldCBjb3VudGVkIHByb3Blcmx5LiIpOwotICAgICAgICBqc1Rlc3RJc0FzeW5jID0g
dHJ1ZTsKLSAgICAgICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoIm1lc3NhZ2UiLCByZWNlaXZl
TWVzc2FnZSwgZmFsc2UpOwotCi0gICAgICAgIGZ1bmN0aW9uIGZpbmlzaFRlc3QoKSB7Ci0gICAg
ICAgICAgICBzZXRFbmFibGVGZWF0dXJlKGZhbHNlLCBmaW5pc2hKU1Rlc3QpOwotICAgICAgICB9
Ci0KLSAgICAgICAgaWYgKHRlc3RSdW5uZXIpIHsKLSAgICAgICAgICAgIHRlc3RSdW5uZXIuc2V0
VXNlSVRQRGF0YWJhc2UodHJ1ZSk7Ci0gICAgICAgICAgICBzZXRFbmFibGVGZWF0dXJlKHRydWUs
IGZ1bmN0aW9uKCkgewotICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIuaW5zdGFsbFN0YXRpc3Rp
Y3NEaWRTY2FuRGF0YVJlY29yZHNDYWxsYmFjayhjaGVja1N0YXRzKTsKLSAgICAgICAgICAgIH0p
OwotICAgICAgICB9Ci0KLSAgICAgICAgdmFyIGxhc3RQYWdlSW5SZWRpcmVjdENoYWluTG9hZGVk
ID0gZmFsc2U7Ci0gICAgICAgIHZhciBzdGF0c0NoZWNrZWQgPSBmYWxzZTsKLQotICAgICAgICBm
dW5jdGlvbiByZWNlaXZlTWVzc2FnZShldmVudCkgewotICAgICAgICAgICAgaWYgKGV2ZW50Lm9y
aWdpbiA9PT0gIm51bGwiKSB7Ci0gICAgICAgICAgICAgICAgaWYgKGV2ZW50LmRhdGEuaW5kZXhP
ZigiUEFTUyIpID09PSAtMSkKLSAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChldmVudC5k
YXRhLnJlcGxhY2UoIkZBSUwgIiwgIiIpKTsKLSAgICAgICAgICAgIH0gZWxzZQotICAgICAgICAg
ICAgICAgIHRlc3RGYWlsZWQoIlJlY2VpdmVkIGEgbWVzc2FnZSBmcm9tIGFuIHVuZXhwZWN0ZWQg
b3JpZ2luOiAiICsgZXZlbnQub3JpZ2luKTsKLQotICAgICAgICAgICAgbGFzdFBhZ2VJblJlZGly
ZWN0Q2hhaW5Mb2FkZWQgPSB0cnVlOwotICAgICAgICAgICAgaWYgKHN0YXRzQ2hlY2tlZCkKLSAg
ICAgICAgICAgICAgICBmaW5pc2hUZXN0KCk7Ci0gICAgICAgICAgICBlbHNlCi0gICAgICAgICAg
ICAgICAgdGVzdFJ1bm5lci5zdGF0aXN0aWNzTm90aWZ5T2JzZXJ2ZXIoKTsKLSAgICAgICAgfQot
Ci0gICAgICAgIGZ1bmN0aW9uIGNoZWNrU3RhdHMoKSB7Ci0gICAgICAgICAgICBzaG91bGRCZVRy
dWUoJ3Rlc3RSdW5uZXIuaXNTdGF0aXN0aWNzUmVnaXN0ZXJlZEFzU3ViRnJhbWVVbmRlcigiaHR0
cDovL2xvY2FsaG9zdCIsICJodHRwOi8vMTI3LjAuMC4xIiknKTsKLSAgICAgICAgICAgIHNob3Vs
ZEJlVHJ1ZSgndGVzdFJ1bm5lci5pc1N0YXRpc3RpY3NSZWdpc3RlcmVkQXNSZWRpcmVjdGluZ1Rv
KCJodHRwOi8vbG9jYWxob3N0IiwgImh0dHA6Ly8xMjcuMC4wLjEiKScpOwotICAgICAgICAgICAg
c2hvdWxkQmVUcnVlKCd0ZXN0UnVubmVyLmlzU3RhdGlzdGljc1JlZ2lzdGVyZWRBc1JlZGlyZWN0
aW5nVG8oImh0dHA6Ly8xMjcuMC4wLjEiLCAiaHR0cDovL2xvY2FsaG9zdCIpJyk7Ci0KLSAgICAg
ICAgICAgIHN0YXRzQ2hlY2tlZCA9IHRydWU7Ci0gICAgICAgICAgICBpZiAobGFzdFBhZ2VJblJl
ZGlyZWN0Q2hhaW5Mb2FkZWQpCi0gICAgICAgICAgICAgICAgZmluaXNoVGVzdCgpOwotICAgICAg
ICB9Ci0gICAgPC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keT4KLTxpZnJhbWUgc2FuZGJveD0iYWxs
b3ctc2NyaXB0cyIgc3JjPSJodHRwOi8vbG9jYWxob3N0OjgwMDAvcmVzb3VyY2VMb2FkU3RhdGlz
dGljcy9yZXNvdXJjZXMvcmVkaXJlY3QucGhwLz9yZWRpcmVjdFRvPWh0dHA6Ly8xMjcuMC4wLjE6
ODAwMC9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3Jlc291cmNlcy9yZWRpcmVjdC5waHAvP3JlZGly
ZWN0VG89aHR0cDovL2xvY2FsaG9zdDo4MDAwL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvcmVzb3Vy
Y2VzL2lmcmFtZS1yZXBvcnQtYmFjay1sb2FkZWQuaHRtbCI+Ci08L2lmcmFtZT4KLTwvYm9keT4K
LTwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2Fk
U3RhdGlzdGljcy9zYW5kYm94ZWQtbmVzdGluZy1pZnJhbWUtd2l0aC1ub24tc2FuZGJveGVkLWlm
cmFtZS1yZWRpcmVjdC1pcC10by1sb2NhbGhvc3QtdG8taXAtZGF0YWJhc2UtZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3NhbmRib3hl
ZC1uZXN0aW5nLWlmcmFtZS13aXRoLW5vbi1zYW5kYm94ZWQtaWZyYW1lLXJlZGlyZWN0LWlwLXRv
LWxvY2FsaG9zdC10by1pcC1kYXRhYmFzZS1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDIzNjU4Y2QzNDNmNTU2ZTBjMzQ0NzVlZjllZjQ1YzYyMGQ0ZDQyN2UuLjAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMv
aHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3NhbmRib3hlZC1uZXN0aW5nLWlmcmFt
ZS13aXRoLW5vbi1zYW5kYm94ZWQtaWZyYW1lLXJlZGlyZWN0LWlwLXRvLWxvY2FsaG9zdC10by1p
cC1kYXRhYmFzZS1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSwxMiArMCwwIEBACi1U
ZXN0cyB0aGF0IHJlZGlyZWN0cyBmb3IgYSBub24tc2FuZGJveGVkIGlmcmFtZSBuZXN0ZWQgaW4g
YSBzYW5kYm94ZWQgaWZyYW1lIGdldCBjb3VudGVkIHByb3Blcmx5LgotCi1PbiBzdWNjZXNzLCB5
b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVT
VCBDT01QTEVURSIuCi0KLQotUEFTUyB0ZXN0UnVubmVyLmlzU3RhdGlzdGljc1JlZ2lzdGVyZWRB
c1N1YkZyYW1lVW5kZXIoImh0dHA6Ly9sb2NhbGhvc3QiLCAiaHR0cDovLzEyNy4wLjAuMSIpIGlz
IHRydWUKLVBBU1MgdGVzdFJ1bm5lci5pc1N0YXRpc3RpY3NSZWdpc3RlcmVkQXNSZWRpcmVjdGlu
Z1RvKCJodHRwOi8vbG9jYWxob3N0IiwgImh0dHA6Ly8xMjcuMC4wLjEiKSBpcyB0cnVlCi1QQVNT
IHRlc3RSdW5uZXIuaXNTdGF0aXN0aWNzUmVnaXN0ZXJlZEFzUmVkaXJlY3RpbmdUbygiaHR0cDov
LzEyNy4wLjAuMSIsICJodHRwOi8vbG9jYWxob3N0IikgaXMgdHJ1ZQotUEFTUyBzdWNjZXNzZnVs
bHlQYXJzZWQgaXMgdHJ1ZQotCi1URVNUIENPTVBMRVRFCi0KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9zYW5kYm94ZWQtbmVzdGluZy1p
ZnJhbWUtd2l0aC1ub24tc2FuZGJveGVkLWlmcmFtZS1yZWRpcmVjdC1pcC10by1sb2NhbGhvc3Qt
dG8taXAtZGF0YWJhc2UuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2Fk
U3RhdGlzdGljcy9zYW5kYm94ZWQtbmVzdGluZy1pZnJhbWUtd2l0aC1ub24tc2FuZGJveGVkLWlm
cmFtZS1yZWRpcmVjdC1pcC10by1sb2NhbGhvc3QtdG8taXAtZGF0YWJhc2UuaHRtbApkZWxldGVk
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNjBiOGFlOWRiMjk5ZDIxMzNmNWE0MmNlYmUzMDhkNDE3
NWI3MmFmNS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9M
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3Mvc2FuZGJveGVkLW5l
c3RpbmctaWZyYW1lLXdpdGgtbm9uLXNhbmRib3hlZC1pZnJhbWUtcmVkaXJlY3QtaXAtdG8tbG9j
YWxob3N0LXRvLWlwLWRhdGFiYXNlLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSw1NCArMCwwIEBA
Ci08IURPQ1RZUEUgaHRtbD4KLTxodG1sPgotPGhlYWQ+Ci0gICAgPHNjcmlwdCBzcmM9Ii9qcy10
ZXN0LXJlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KLSAgICA8c2NyaXB0IHNyYz0icmVz
b3VyY2VzL3V0aWwuanMiPjwvc2NyaXB0PgotICAgIDxzY3JpcHQ+Ci0gICAgICAgIGRlc2NyaXB0
aW9uKCJUZXN0cyB0aGF0IHJlZGlyZWN0cyBmb3IgYSBub24tc2FuZGJveGVkIGlmcmFtZSBuZXN0
ZWQgaW4gYSBzYW5kYm94ZWQgaWZyYW1lIGdldCBjb3VudGVkIHByb3Blcmx5LiIpOwotICAgICAg
ICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKLSAgICAgICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIo
Im1lc3NhZ2UiLCByZWNlaXZlTWVzc2FnZSwgZmFsc2UpOwotCi0gICAgICAgIGZ1bmN0aW9uIGZp
bmlzaFRlc3QoKSB7Ci0gICAgICAgICAgICBzZXRFbmFibGVGZWF0dXJlKGZhbHNlLCBmaW5pc2hK
U1Rlc3QpOwotICAgICAgICB9Ci0KLSAgICAgICAgaWYgKHRlc3RSdW5uZXIpIHsKLSAgICAgICAg
ICAgIHRlc3RSdW5uZXIuc2V0VXNlSVRQRGF0YWJhc2UodHJ1ZSk7Ci0gICAgICAgICAgICBzZXRF
bmFibGVGZWF0dXJlKHRydWUsIGZ1bmN0aW9uKCkgewotICAgICAgICAgICAgICAgIHRlc3RSdW5u
ZXIuaW5zdGFsbFN0YXRpc3RpY3NEaWRTY2FuRGF0YVJlY29yZHNDYWxsYmFjayhjaGVja1N0YXRz
KTsKLSAgICAgICAgICAgIH0pOwotICAgICAgICB9Ci0KLSAgICAgICAgdmFyIGxhc3RQYWdlSW5S
ZWRpcmVjdENoYWluTG9hZGVkID0gZmFsc2U7Ci0gICAgICAgIHZhciBzdGF0c0NoZWNrZWQgPSBm
YWxzZTsKLQotICAgICAgICBmdW5jdGlvbiByZWNlaXZlTWVzc2FnZShldmVudCkgewotICAgICAg
ICAgICAgaWYgKGV2ZW50Lm9yaWdpbiA9PT0gIm51bGwiKSB7Ci0gICAgICAgICAgICAgICAgaWYg
KGV2ZW50LmRhdGEuaW5kZXhPZigiUEFTUyIpID09PSAtMSkKLSAgICAgICAgICAgICAgICAgICAg
dGVzdEZhaWxlZChldmVudC5kYXRhLnJlcGxhY2UoIkZBSUwgIiwgIiIpKTsKLSAgICAgICAgICAg
IH0gZWxzZQotICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoIlJlY2VpdmVkIGEgbWVzc2FnZSBm
cm9tIGFuIHVuZXhwZWN0ZWQgb3JpZ2luOiAiICsgZXZlbnQub3JpZ2luKTsKLQotICAgICAgICAg
ICAgbGFzdFBhZ2VJblJlZGlyZWN0Q2hhaW5Mb2FkZWQgPSB0cnVlOwotICAgICAgICAgICAgaWYg
KHN0YXRzQ2hlY2tlZCkKLSAgICAgICAgICAgICAgICBmaW5pc2hUZXN0KCk7Ci0gICAgICAgICAg
ICBlbHNlCi0gICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5zdGF0aXN0aWNzTm90aWZ5T2JzZXJ2
ZXIoKTsKLSAgICAgICAgfQotCi0gICAgICAgIGZ1bmN0aW9uIGNoZWNrU3RhdHMoKSB7Ci0gICAg
ICAgICAgICBzaG91bGRCZVRydWUoJ3Rlc3RSdW5uZXIuaXNTdGF0aXN0aWNzUmVnaXN0ZXJlZEFz
U3ViRnJhbWVVbmRlcigiaHR0cDovL2xvY2FsaG9zdCIsICJodHRwOi8vMTI3LjAuMC4xIiknKTsK
LSAgICAgICAgICAgIHNob3VsZEJlVHJ1ZSgndGVzdFJ1bm5lci5pc1N0YXRpc3RpY3NSZWdpc3Rl
cmVkQXNSZWRpcmVjdGluZ1RvKCJodHRwOi8vbG9jYWxob3N0IiwgImh0dHA6Ly8xMjcuMC4wLjEi
KScpOwotICAgICAgICAgICAgc2hvdWxkQmVUcnVlKCd0ZXN0UnVubmVyLmlzU3RhdGlzdGljc1Jl
Z2lzdGVyZWRBc1JlZGlyZWN0aW5nVG8oImh0dHA6Ly8xMjcuMC4wLjEiLCAiaHR0cDovL2xvY2Fs
aG9zdCIpJyk7Ci0KLSAgICAgICAgICAgIHN0YXRzQ2hlY2tlZCA9IHRydWU7Ci0gICAgICAgICAg
ICBpZiAobGFzdFBhZ2VJblJlZGlyZWN0Q2hhaW5Mb2FkZWQpCi0gICAgICAgICAgICAgICAgZmlu
aXNoVGVzdCgpOwotICAgICAgICB9Ci0gICAgPC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keT4KLTxp
ZnJhbWUgc2FuZGJveD0iYWxsb3ctc2NyaXB0cyIgc3JjPSJodHRwOi8vMTI3LjAuMC4xOjgwMDAv
cmVzb3VyY2VMb2FkU3RhdGlzdGljcy9yZXNvdXJjZXMvcGFnZS13aXRoLW5vbi1zYW5kYm94ZWQt
aWZyYW1lLXJlZGlyZWN0LWlwLXRvLWxvY2FsaG9zdC10by1pcC5odG1sIj4KLTwvaWZyYW1lPgot
PC9ib2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNv
dXJjZUxvYWRTdGF0aXN0aWNzL3NhbmRib3hlZC1uZXN0aW5nLWlmcmFtZS13aXRoLW5vbi1zYW5k
Ym94ZWQtaWZyYW1lLXJlZGlyZWN0LWxvY2FsaG9zdC10by1pcC10by1sb2NhbGhvc3QtZGF0YWJh
c2UtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0
aXN0aWNzL3NhbmRib3hlZC1uZXN0aW5nLWlmcmFtZS13aXRoLW5vbi1zYW5kYm94ZWQtaWZyYW1l
LXJlZGlyZWN0LWxvY2FsaG9zdC10by1pcC10by1sb2NhbGhvc3QtZGF0YWJhc2UtZXhwZWN0ZWQu
dHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAyMzY1OGNkMzQzZjU1NmUwYzM0NDc1
ZWY5ZWY0NWM2MjBkNGQ0MjdlLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwCi0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9z
YW5kYm94ZWQtbmVzdGluZy1pZnJhbWUtd2l0aC1ub24tc2FuZGJveGVkLWlmcmFtZS1yZWRpcmVj
dC1sb2NhbGhvc3QtdG8taXAtdG8tbG9jYWxob3N0LWRhdGFiYXNlLWV4cGVjdGVkLnR4dAorKysg
L2Rldi9udWxsCkBAIC0xLDEyICswLDAgQEAKLVRlc3RzIHRoYXQgcmVkaXJlY3RzIGZvciBhIG5v
bi1zYW5kYm94ZWQgaWZyYW1lIG5lc3RlZCBpbiBhIHNhbmRib3hlZCBpZnJhbWUgZ2V0IGNvdW50
ZWQgcHJvcGVybHkuCi0KLU9uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFT
UyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KLQotCi1QQVNTIHRlc3RS
dW5uZXIuaXNTdGF0aXN0aWNzUmVnaXN0ZXJlZEFzU3ViRnJhbWVVbmRlcigiaHR0cDovL2xvY2Fs
aG9zdCIsICJodHRwOi8vMTI3LjAuMC4xIikgaXMgdHJ1ZQotUEFTUyB0ZXN0UnVubmVyLmlzU3Rh
dGlzdGljc1JlZ2lzdGVyZWRBc1JlZGlyZWN0aW5nVG8oImh0dHA6Ly9sb2NhbGhvc3QiLCAiaHR0
cDovLzEyNy4wLjAuMSIpIGlzIHRydWUKLVBBU1MgdGVzdFJ1bm5lci5pc1N0YXRpc3RpY3NSZWdp
c3RlcmVkQXNSZWRpcmVjdGluZ1RvKCJodHRwOi8vMTI3LjAuMC4xIiwgImh0dHA6Ly9sb2NhbGhv
c3QiKSBpcyB0cnVlCi1QQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCi0KLVRFU1QgQ09N
UExFVEUKLQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRT
dGF0aXN0aWNzL3NhbmRib3hlZC1uZXN0aW5nLWlmcmFtZS13aXRoLW5vbi1zYW5kYm94ZWQtaWZy
YW1lLXJlZGlyZWN0LWxvY2FsaG9zdC10by1pcC10by1sb2NhbGhvc3QtZGF0YWJhc2UuaHRtbCBi
L0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9zYW5kYm94ZWQt
bmVzdGluZy1pZnJhbWUtd2l0aC1ub24tc2FuZGJveGVkLWlmcmFtZS1yZWRpcmVjdC1sb2NhbGhv
c3QtdG8taXAtdG8tbG9jYWxob3N0LWRhdGFiYXNlLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDRhNDk2NGY3YzQyNTFmMWJkNTBkNGEzODdjYWFkNWI1OTExNzAxNjAuLjAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3NhbmRib3hlZC1uZXN0aW5nLWlmcmFtZS13
aXRoLW5vbi1zYW5kYm94ZWQtaWZyYW1lLXJlZGlyZWN0LWxvY2FsaG9zdC10by1pcC10by1sb2Nh
bGhvc3QtZGF0YWJhc2UuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDU0ICswLDAgQEAKLTwhRE9D
VFlQRSBodG1sPgotPGh0bWw+Ci08aGVhZD4KLSAgICA8c2NyaXB0IHNyYz0iL2pzLXRlc3QtcmVz
b3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgotICAgIDxzY3JpcHQgc3JjPSJyZXNvdXJjZXMv
dXRpbC5qcyI+PC9zY3JpcHQ+Ci0gICAgPHNjcmlwdD4KLSAgICAgICAgZGVzY3JpcHRpb24oIlRl
c3RzIHRoYXQgcmVkaXJlY3RzIGZvciBhIG5vbi1zYW5kYm94ZWQgaWZyYW1lIG5lc3RlZCBpbiBh
IHNhbmRib3hlZCBpZnJhbWUgZ2V0IGNvdW50ZWQgcHJvcGVybHkuIik7Ci0gICAgICAgIGpzVGVz
dElzQXN5bmMgPSB0cnVlOwotICAgICAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigibWVzc2Fn
ZSIsIHJlY2VpdmVNZXNzYWdlLCBmYWxzZSk7Ci0KLSAgICAgICAgZnVuY3Rpb24gZmluaXNoVGVz
dCgpIHsKLSAgICAgICAgICAgIHNldEVuYWJsZUZlYXR1cmUoZmFsc2UsIGZpbmlzaEpTVGVzdCk7
Ci0gICAgICAgIH0KLQotICAgICAgICBpZiAodGVzdFJ1bm5lcikgewotICAgICAgICAgICAgdGVz
dFJ1bm5lci5zZXRVc2VJVFBEYXRhYmFzZSh0cnVlKTsKLSAgICAgICAgICAgIHNldEVuYWJsZUZl
YXR1cmUodHJ1ZSwgZnVuY3Rpb24oKSB7Ci0gICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5pbnN0
YWxsU3RhdGlzdGljc0RpZFNjYW5EYXRhUmVjb3Jkc0NhbGxiYWNrKGNoZWNrU3RhdHMpOwotICAg
ICAgICAgICAgfSk7Ci0gICAgICAgIH0KLQotICAgICAgICB2YXIgbGFzdFBhZ2VJblJlZGlyZWN0
Q2hhaW5Mb2FkZWQgPSBmYWxzZTsKLSAgICAgICAgdmFyIHN0YXRzQ2hlY2tlZCA9IGZhbHNlOwot
Ci0gICAgICAgIGZ1bmN0aW9uIHJlY2VpdmVNZXNzYWdlKGV2ZW50KSB7Ci0gICAgICAgICAgICBp
ZiAoZXZlbnQub3JpZ2luID09PSAibnVsbCIpIHsKLSAgICAgICAgICAgICAgICBpZiAoZXZlbnQu
ZGF0YS5pbmRleE9mKCJQQVNTIikgPT09IC0xKQotICAgICAgICAgICAgICAgICAgICB0ZXN0RmFp
bGVkKGV2ZW50LmRhdGEucmVwbGFjZSgiRkFJTCAiLCAiIikpOwotICAgICAgICAgICAgfSBlbHNl
Ci0gICAgICAgICAgICAgICAgdGVzdEZhaWxlZCgiUmVjZWl2ZWQgYSBtZXNzYWdlIGZyb20gYW4g
dW5leHBlY3RlZCBvcmlnaW46ICIgKyBldmVudC5vcmlnaW4pOwotCi0gICAgICAgICAgICBsYXN0
UGFnZUluUmVkaXJlY3RDaGFpbkxvYWRlZCA9IHRydWU7Ci0gICAgICAgICAgICBpZiAoc3RhdHND
aGVja2VkKQotICAgICAgICAgICAgICAgIGZpbmlzaFRlc3QoKTsKLSAgICAgICAgICAgIGVsc2UK
LSAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLnN0YXRpc3RpY3NOb3RpZnlPYnNlcnZlcigpOwot
ICAgICAgICB9Ci0KLSAgICAgICAgZnVuY3Rpb24gY2hlY2tTdGF0cygpIHsKLSAgICAgICAgICAg
IHNob3VsZEJlVHJ1ZSgndGVzdFJ1bm5lci5pc1N0YXRpc3RpY3NSZWdpc3RlcmVkQXNTdWJGcmFt
ZVVuZGVyKCJodHRwOi8vbG9jYWxob3N0IiwgImh0dHA6Ly8xMjcuMC4wLjEiKScpOwotICAgICAg
ICAgICAgc2hvdWxkQmVUcnVlKCd0ZXN0UnVubmVyLmlzU3RhdGlzdGljc1JlZ2lzdGVyZWRBc1Jl
ZGlyZWN0aW5nVG8oImh0dHA6Ly9sb2NhbGhvc3QiLCAiaHR0cDovLzEyNy4wLjAuMSIpJyk7Ci0g
ICAgICAgICAgICBzaG91bGRCZVRydWUoJ3Rlc3RSdW5uZXIuaXNTdGF0aXN0aWNzUmVnaXN0ZXJl
ZEFzUmVkaXJlY3RpbmdUbygiaHR0cDovLzEyNy4wLjAuMSIsICJodHRwOi8vbG9jYWxob3N0Iikn
KTsKLQotICAgICAgICAgICAgc3RhdHNDaGVja2VkID0gdHJ1ZTsKLSAgICAgICAgICAgIGlmIChs
YXN0UGFnZUluUmVkaXJlY3RDaGFpbkxvYWRlZCkKLSAgICAgICAgICAgICAgICBmaW5pc2hUZXN0
KCk7Ci0gICAgICAgIH0KLSAgICA8L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5PgotPGlmcmFtZSBz
YW5kYm94PSJhbGxvdy1zY3JpcHRzIiBzcmM9Imh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9yZXNvdXJj
ZUxvYWRTdGF0aXN0aWNzL3Jlc291cmNlcy9wYWdlLXdpdGgtbm9uLXNhbmRib3hlZC1pZnJhbWUt
cmVkaXJlY3QtbG9jYWxob3N0LXRvLWlwLXRvLWxvY2FsaG9zdC5odG1sIj4KLTwvaWZyYW1lPgot
PC9ib2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNv
dXJjZUxvYWRTdGF0aXN0aWNzL3NhbmRib3hlZC1uZXN0aW5nLWlmcmFtZS13aXRoLXNhbmRib3hl
ZC1pZnJhbWUtcmVkaXJlY3QtaXAtdG8tbG9jYWxob3N0LXRvLWlwLWRhdGFiYXNlLWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9zYW5k
Ym94ZWQtbmVzdGluZy1pZnJhbWUtd2l0aC1zYW5kYm94ZWQtaWZyYW1lLXJlZGlyZWN0LWlwLXRv
LWxvY2FsaG9zdC10by1pcC1kYXRhYmFzZS1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDcxNWM4NWViNDdlMGYwODQxNmU2MWZkMDE1ZmQ3YWUzY2I4NjZiNjkuLjAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMv
aHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3NhbmRib3hlZC1uZXN0aW5nLWlmcmFt
ZS13aXRoLXNhbmRib3hlZC1pZnJhbWUtcmVkaXJlY3QtaXAtdG8tbG9jYWxob3N0LXRvLWlwLWRh
dGFiYXNlLWV4cGVjdGVkLnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDEyICswLDAgQEAKLVRlc3Rz
IHRoYXQgcmVkaXJlY3RzIGZvciBhIHNhbmRib3hlZCBpZnJhbWUgbmVzdGVkIGluIGEgbm9uLXNh
bmRib3hlZCBpZnJhbWUgZ2V0IGNvdW50ZWQgcHJvcGVybHkuCi0KLU9uIHN1Y2Nlc3MsIHlvdSB3
aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENP
TVBMRVRFIi4KLQotCi1QQVNTIHRlc3RSdW5uZXIuaXNTdGF0aXN0aWNzUmVnaXN0ZXJlZEFzU3Vi
RnJhbWVVbmRlcigiaHR0cDovL2xvY2FsaG9zdCIsICJodHRwOi8vMTI3LjAuMC4xIikgaXMgdHJ1
ZQotUEFTUyB0ZXN0UnVubmVyLmlzU3RhdGlzdGljc1JlZ2lzdGVyZWRBc1JlZGlyZWN0aW5nVG8o
Imh0dHA6Ly9sb2NhbGhvc3QiLCAiaHR0cDovLzEyNy4wLjAuMSIpIGlzIHRydWUKLVBBU1MgdGVz
dFJ1bm5lci5pc1N0YXRpc3RpY3NSZWdpc3RlcmVkQXNSZWRpcmVjdGluZ1RvKCJodHRwOi8vMTI3
LjAuMC4xIiwgImh0dHA6Ly9sb2NhbGhvc3QiKSBpcyB0cnVlCi1QQVNTIHN1Y2Nlc3NmdWxseVBh
cnNlZCBpcyB0cnVlCi0KLVRFU1QgQ09NUExFVEUKLQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3NhbmRib3hlZC1uZXN0aW5nLWlmcmFt
ZS13aXRoLXNhbmRib3hlZC1pZnJhbWUtcmVkaXJlY3QtaXAtdG8tbG9jYWxob3N0LXRvLWlwLWRh
dGFiYXNlLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3Rp
Y3Mvc2FuZGJveGVkLW5lc3RpbmctaWZyYW1lLXdpdGgtc2FuZGJveGVkLWlmcmFtZS1yZWRpcmVj
dC1pcC10by1sb2NhbGhvc3QtdG8taXAtZGF0YWJhc2UuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggNWVmMjlhNjhiYjFlZmU0YzZhOWNjZTk3NjI0NDA5OGE1Y2M3ODcyZC4uMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9o
dHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3Mvc2FuZGJveGVkLW5lc3RpbmctaWZyYW1l
LXdpdGgtc2FuZGJveGVkLWlmcmFtZS1yZWRpcmVjdC1pcC10by1sb2NhbGhvc3QtdG8taXAtZGF0
YWJhc2UuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDU0ICswLDAgQEAKLTwhRE9DVFlQRSBodG1s
PgotPGh0bWw+Ci08aGVhZD4KLSAgICA8c2NyaXB0IHNyYz0iL2pzLXRlc3QtcmVzb3VyY2VzL2pz
LXRlc3QuanMiPjwvc2NyaXB0PgotICAgIDxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvdXRpbC5qcyI+
PC9zY3JpcHQ+Ci0gICAgPHNjcmlwdD4KLSAgICAgICAgZGVzY3JpcHRpb24oIlRlc3RzIHRoYXQg
cmVkaXJlY3RzIGZvciBhIHNhbmRib3hlZCBpZnJhbWUgbmVzdGVkIGluIGEgbm9uLXNhbmRib3hl
ZCBpZnJhbWUgZ2V0IGNvdW50ZWQgcHJvcGVybHkuIik7Ci0gICAgICAgIGpzVGVzdElzQXN5bmMg
PSB0cnVlOwotICAgICAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigibWVzc2FnZSIsIHJlY2Vp
dmVNZXNzYWdlLCBmYWxzZSk7Ci0KLSAgICAgICAgZnVuY3Rpb24gZmluaXNoVGVzdCgpIHsKLSAg
ICAgICAgICAgIHNldEVuYWJsZUZlYXR1cmUoZmFsc2UsIGZpbmlzaEpTVGVzdCk7Ci0gICAgICAg
IH0KLQotICAgICAgICBpZiAodGVzdFJ1bm5lcikgewotICAgICAgICAgICAgdGVzdFJ1bm5lci5z
ZXRVc2VJVFBEYXRhYmFzZSh0cnVlKTsKLSAgICAgICAgICAgIHNldEVuYWJsZUZlYXR1cmUodHJ1
ZSwgZnVuY3Rpb24oKSB7Ci0gICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5pbnN0YWxsU3RhdGlz
dGljc0RpZFNjYW5EYXRhUmVjb3Jkc0NhbGxiYWNrKGNoZWNrU3RhdHMpOwotICAgICAgICAgICAg
fSk7Ci0gICAgICAgIH0KLQotICAgICAgICB2YXIgbGFzdFBhZ2VJblJlZGlyZWN0Q2hhaW5Mb2Fk
ZWQgPSBmYWxzZTsKLSAgICAgICAgdmFyIHN0YXRzQ2hlY2tlZCA9IGZhbHNlOwotCi0gICAgICAg
IGZ1bmN0aW9uIHJlY2VpdmVNZXNzYWdlKGV2ZW50KSB7Ci0gICAgICAgICAgICBpZiAoZXZlbnQu
b3JpZ2luID09PSAibnVsbCIpIHsKLSAgICAgICAgICAgICAgICBpZiAoZXZlbnQuZGF0YS5pbmRl
eE9mKCJQQVNTIikgPT09IC0xKQotICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGV2ZW50
LmRhdGEucmVwbGFjZSgiRkFJTCAiLCAiIikpOwotICAgICAgICAgICAgfSBlbHNlCi0gICAgICAg
ICAgICAgICAgdGVzdEZhaWxlZCgiUmVjZWl2ZWQgYSBtZXNzYWdlIGZyb20gYW4gdW5leHBlY3Rl
ZCBvcmlnaW46ICIgKyBldmVudC5vcmlnaW4pOwotCi0gICAgICAgICAgICBsYXN0UGFnZUluUmVk
aXJlY3RDaGFpbkxvYWRlZCA9IHRydWU7Ci0gICAgICAgICAgICBpZiAoc3RhdHNDaGVja2VkKQot
ICAgICAgICAgICAgICAgIGZpbmlzaFRlc3QoKTsKLSAgICAgICAgICAgIGVsc2UKLSAgICAgICAg
ICAgICAgICB0ZXN0UnVubmVyLnN0YXRpc3RpY3NOb3RpZnlPYnNlcnZlcigpOwotICAgICAgICB9
Ci0KLSAgICAgICAgZnVuY3Rpb24gY2hlY2tTdGF0cygpIHsKLSAgICAgICAgICAgIHNob3VsZEJl
VHJ1ZSgndGVzdFJ1bm5lci5pc1N0YXRpc3RpY3NSZWdpc3RlcmVkQXNTdWJGcmFtZVVuZGVyKCJo
dHRwOi8vbG9jYWxob3N0IiwgImh0dHA6Ly8xMjcuMC4wLjEiKScpOwotICAgICAgICAgICAgc2hv
dWxkQmVUcnVlKCd0ZXN0UnVubmVyLmlzU3RhdGlzdGljc1JlZ2lzdGVyZWRBc1JlZGlyZWN0aW5n
VG8oImh0dHA6Ly9sb2NhbGhvc3QiLCAiaHR0cDovLzEyNy4wLjAuMSIpJyk7Ci0gICAgICAgICAg
ICBzaG91bGRCZVRydWUoJ3Rlc3RSdW5uZXIuaXNTdGF0aXN0aWNzUmVnaXN0ZXJlZEFzUmVkaXJl
Y3RpbmdUbygiaHR0cDovLzEyNy4wLjAuMSIsICJodHRwOi8vbG9jYWxob3N0IiknKTsKLQotICAg
ICAgICAgICAgc3RhdHNDaGVja2VkID0gdHJ1ZTsKLSAgICAgICAgICAgIGlmIChsYXN0UGFnZUlu
UmVkaXJlY3RDaGFpbkxvYWRlZCkKLSAgICAgICAgICAgICAgICBmaW5pc2hUZXN0KCk7Ci0gICAg
ICAgIH0KLSAgICA8L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5PgotPGlmcmFtZSBzYW5kYm94PSJh
bGxvdy1zY3JpcHRzIiBzcmM9Imh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9yZXNvdXJjZUxvYWRTdGF0
aXN0aWNzL3Jlc291cmNlcy9wYWdlLXdpdGgtc2FuZGJveGVkLWlmcmFtZS1yZWRpcmVjdC1pcC10
by1sb2NhbGhvc3QtdG8taXAuaHRtbCI+Ci08L2lmcmFtZT4KLTwvYm9keT4KLTwvaHRtbD4KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9z
YW5kYm94ZWQtbmVzdGluZy1pZnJhbWUtd2l0aC1zYW5kYm94ZWQtaWZyYW1lLXJlZGlyZWN0LWxv
Y2FsaG9zdC10by1pcC10by1sb2NhbGhvc3QtZGF0YWJhc2UtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3NhbmRib3hlZC1uZXN0aW5n
LWlmcmFtZS13aXRoLXNhbmRib3hlZC1pZnJhbWUtcmVkaXJlY3QtbG9jYWxob3N0LXRvLWlwLXRv
LWxvY2FsaG9zdC1kYXRhYmFzZS1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDcxNWM4NWViNDdlMGYwODQxNmU2MWZkMDE1ZmQ3YWUzY2I4NjZiNjkuLjAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90
ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3NhbmRib3hlZC1uZXN0aW5nLWlmcmFtZS13aXRo
LXNhbmRib3hlZC1pZnJhbWUtcmVkaXJlY3QtbG9jYWxob3N0LXRvLWlwLXRvLWxvY2FsaG9zdC1k
YXRhYmFzZS1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSwxMiArMCwwIEBACi1UZXN0
cyB0aGF0IHJlZGlyZWN0cyBmb3IgYSBzYW5kYm94ZWQgaWZyYW1lIG5lc3RlZCBpbiBhIG5vbi1z
YW5kYm94ZWQgaWZyYW1lIGdldCBjb3VudGVkIHByb3Blcmx5LgotCi1PbiBzdWNjZXNzLCB5b3Ug
d2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBD
T01QTEVURSIuCi0KLQotUEFTUyB0ZXN0UnVubmVyLmlzU3RhdGlzdGljc1JlZ2lzdGVyZWRBc1N1
YkZyYW1lVW5kZXIoImh0dHA6Ly9sb2NhbGhvc3QiLCAiaHR0cDovLzEyNy4wLjAuMSIpIGlzIHRy
dWUKLVBBU1MgdGVzdFJ1bm5lci5pc1N0YXRpc3RpY3NSZWdpc3RlcmVkQXNSZWRpcmVjdGluZ1Rv
KCJodHRwOi8vbG9jYWxob3N0IiwgImh0dHA6Ly8xMjcuMC4wLjEiKSBpcyB0cnVlCi1QQVNTIHRl
c3RSdW5uZXIuaXNTdGF0aXN0aWNzUmVnaXN0ZXJlZEFzUmVkaXJlY3RpbmdUbygiaHR0cDovLzEy
Ny4wLjAuMSIsICJodHRwOi8vbG9jYWxob3N0IikgaXMgdHJ1ZQotUEFTUyBzdWNjZXNzZnVsbHlQ
YXJzZWQgaXMgdHJ1ZQotCi1URVNUIENPTVBMRVRFCi0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9zYW5kYm94ZWQtbmVzdGluZy1pZnJh
bWUtd2l0aC1zYW5kYm94ZWQtaWZyYW1lLXJlZGlyZWN0LWxvY2FsaG9zdC10by1pcC10by1sb2Nh
bGhvc3QtZGF0YWJhc2UuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2Fk
U3RhdGlzdGljcy9zYW5kYm94ZWQtbmVzdGluZy1pZnJhbWUtd2l0aC1zYW5kYm94ZWQtaWZyYW1l
LXJlZGlyZWN0LWxvY2FsaG9zdC10by1pcC10by1sb2NhbGhvc3QtZGF0YWJhc2UuaHRtbApkZWxl
dGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNmRiMzc0MjdkNTRiZTQzNjE1NGRjZWIzZDAzMTIy
ZDU2YjE1NTE5Yi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0g
YS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3Mvc2FuZGJveGVk
LW5lc3RpbmctaWZyYW1lLXdpdGgtc2FuZGJveGVkLWlmcmFtZS1yZWRpcmVjdC1sb2NhbGhvc3Qt
dG8taXAtdG8tbG9jYWxob3N0LWRhdGFiYXNlLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSw1NCAr
MCwwIEBACi08IURPQ1RZUEUgaHRtbD4KLTxodG1sPgotPGhlYWQ+Ci0gICAgPHNjcmlwdCBzcmM9
Ii9qcy10ZXN0LXJlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KLSAgICA8c2NyaXB0IHNy
Yz0icmVzb3VyY2VzL3V0aWwuanMiPjwvc2NyaXB0PgotICAgIDxzY3JpcHQ+Ci0gICAgICAgIGRl
c2NyaXB0aW9uKCJUZXN0cyB0aGF0IHJlZGlyZWN0cyBmb3IgYSBzYW5kYm94ZWQgaWZyYW1lIG5l
c3RlZCBpbiBhIG5vbi1zYW5kYm94ZWQgaWZyYW1lIGdldCBjb3VudGVkIHByb3Blcmx5LiIpOwot
ICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKLSAgICAgICAgd2luZG93LmFkZEV2ZW50TGlz
dGVuZXIoIm1lc3NhZ2UiLCByZWNlaXZlTWVzc2FnZSwgZmFsc2UpOwotCi0gICAgICAgIGZ1bmN0
aW9uIGZpbmlzaFRlc3QoKSB7Ci0gICAgICAgICAgICBzZXRFbmFibGVGZWF0dXJlKGZhbHNlLCBm
aW5pc2hKU1Rlc3QpOwotICAgICAgICB9Ci0KLSAgICAgICAgaWYgKHRlc3RSdW5uZXIpIHsKLSAg
ICAgICAgICAgIHRlc3RSdW5uZXIuc2V0VXNlSVRQRGF0YWJhc2UodHJ1ZSk7Ci0gICAgICAgICAg
ICBzZXRFbmFibGVGZWF0dXJlKHRydWUsIGZ1bmN0aW9uKCkgewotICAgICAgICAgICAgICAgIHRl
c3RSdW5uZXIuaW5zdGFsbFN0YXRpc3RpY3NEaWRTY2FuRGF0YVJlY29yZHNDYWxsYmFjayhjaGVj
a1N0YXRzKTsKLSAgICAgICAgICAgIH0pOwotICAgICAgICB9Ci0KLSAgICAgICAgdmFyIGxhc3RQ
YWdlSW5SZWRpcmVjdENoYWluTG9hZGVkID0gZmFsc2U7Ci0gICAgICAgIHZhciBzdGF0c0NoZWNr
ZWQgPSBmYWxzZTsKLQotICAgICAgICBmdW5jdGlvbiByZWNlaXZlTWVzc2FnZShldmVudCkgewot
ICAgICAgICAgICAgaWYgKGV2ZW50Lm9yaWdpbiA9PT0gIm51bGwiKSB7Ci0gICAgICAgICAgICAg
ICAgaWYgKGV2ZW50LmRhdGEuaW5kZXhPZigiUEFTUyIpID09PSAtMSkKLSAgICAgICAgICAgICAg
ICAgICAgdGVzdEZhaWxlZChldmVudC5kYXRhLnJlcGxhY2UoIkZBSUwgIiwgIiIpKTsKLSAgICAg
ICAgICAgIH0gZWxzZQotICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoIlJlY2VpdmVkIGEgbWVz
c2FnZSBmcm9tIGFuIHVuZXhwZWN0ZWQgb3JpZ2luOiAiICsgZXZlbnQub3JpZ2luKTsKLQotICAg
ICAgICAgICAgbGFzdFBhZ2VJblJlZGlyZWN0Q2hhaW5Mb2FkZWQgPSB0cnVlOwotICAgICAgICAg
ICAgaWYgKHN0YXRzQ2hlY2tlZCkKLSAgICAgICAgICAgICAgICBmaW5pc2hUZXN0KCk7Ci0gICAg
ICAgICAgICBlbHNlCi0gICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5zdGF0aXN0aWNzTm90aWZ5
T2JzZXJ2ZXIoKTsKLSAgICAgICAgfQotCi0gICAgICAgIGZ1bmN0aW9uIGNoZWNrU3RhdHMoKSB7
Ci0gICAgICAgICAgICBzaG91bGRCZVRydWUoJ3Rlc3RSdW5uZXIuaXNTdGF0aXN0aWNzUmVnaXN0
ZXJlZEFzU3ViRnJhbWVVbmRlcigiaHR0cDovL2xvY2FsaG9zdCIsICJodHRwOi8vMTI3LjAuMC4x
IiknKTsKLSAgICAgICAgICAgIHNob3VsZEJlVHJ1ZSgndGVzdFJ1bm5lci5pc1N0YXRpc3RpY3NS
ZWdpc3RlcmVkQXNSZWRpcmVjdGluZ1RvKCJodHRwOi8vbG9jYWxob3N0IiwgImh0dHA6Ly8xMjcu
MC4wLjEiKScpOwotICAgICAgICAgICAgc2hvdWxkQmVUcnVlKCd0ZXN0UnVubmVyLmlzU3RhdGlz
dGljc1JlZ2lzdGVyZWRBc1JlZGlyZWN0aW5nVG8oImh0dHA6Ly8xMjcuMC4wLjEiLCAiaHR0cDov
L2xvY2FsaG9zdCIpJyk7Ci0KLSAgICAgICAgICAgIHN0YXRzQ2hlY2tlZCA9IHRydWU7Ci0gICAg
ICAgICAgICBpZiAobGFzdFBhZ2VJblJlZGlyZWN0Q2hhaW5Mb2FkZWQpCi0gICAgICAgICAgICAg
ICAgZmluaXNoVGVzdCgpOwotICAgICAgICB9Ci0gICAgPC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9k
eT4KLTxpZnJhbWUgc2FuZGJveD0iYWxsb3ctc2NyaXB0cyIgc3JjPSJodHRwOi8vMTI3LjAuMC4x
OjgwMDAvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9yZXNvdXJjZXMvcGFnZS13aXRoLXNhbmRib3hl
ZC1pZnJhbWUtcmVkaXJlY3QtbG9jYWxob3N0LXRvLWlwLXRvLWxvY2FsaG9zdC5odG1sIj4KLTwv
aWZyYW1lPgotPC9ib2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90
ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3NldC1jdXN0b20tcHJldmFsZW50LXJlc291cmNl
LWluLWRlYnVnLW1vZGUtZGF0YWJhc2UtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC90
ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3NldC1jdXN0b20tcHJldmFsZW50LXJlc291cmNl
LWluLWRlYnVnLW1vZGUtZGF0YWJhc2UtZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAyZGMwNzNkYTQ3Y2JhNDg2MDc3MjNkNGZkYjYzY2JhMTU2ZDg3ZTYyLi4wMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2h0
dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9zZXQtY3VzdG9tLXByZXZhbGVudC1yZXNv
dXJjZS1pbi1kZWJ1Zy1tb2RlLWRhdGFiYXNlLWV4cGVjdGVkLnR4dAorKysgL2Rldi9udWxsCkBA
IC0xLDEwICswLDAgQEAKLVRlc3QgZm9yIGVuYWJsaW5nIGRlYnVnIG1vZGUgYW5kIHRoYXQgaXQg
YWxsb3dzIHNldHRpbmcgYSBjdXN0b20gZG9tYWluIGFzIGEgcHJldmFsZW50IHJlc291cmNlLgot
Ci1PbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBm
b2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCi0KLQotUEFTUyBodHRwOi8vbG9jYWxob3N0Ojgw
MDAgZ290IHNldCBhcyBhIGN1c3RvbSBwcmV2YWxlbnQgcmVzb3VyY2UgaW4gZGVidWcgbW9kZS4K
LVBBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKLQotVEVTVCBDT01QTEVURQotCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3Mvc2V0
LWN1c3RvbS1wcmV2YWxlbnQtcmVzb3VyY2UtaW4tZGVidWctbW9kZS1kYXRhYmFzZS5odG1sIGIv
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3NldC1jdXN0b20t
cHJldmFsZW50LXJlc291cmNlLWluLWRlYnVnLW1vZGUtZGF0YWJhc2UuaHRtbApkZWxldGVkIGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggNWZkYTgxMjAxOWE5ZTczZmY5NTU4OTE1ZTBmODg5MjZhOGQ5
MDQ5YS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3Mvc2V0LWN1c3RvbS1wcmV2
YWxlbnQtcmVzb3VyY2UtaW4tZGVidWctbW9kZS1kYXRhYmFzZS5odG1sCisrKyAvZGV2L251bGwK
QEAgLTEsMzYgKzAsMCBAQAotPCFET0NUWVBFIGh0bWw+Ci08aHRtbCBsYW5nPSJlbiI+Ci08aGVh
ZD4KLSAgICA8bWV0YSBjaGFyc2V0PSJVVEYtOCI+Ci0gICAgPHNjcmlwdCBzcmM9Ii9qcy10ZXN0
LXJlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KLSAgICA8c2NyaXB0IHNyYz0icmVzb3Vy
Y2VzL3V0aWwuanMiPjwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHk+Ci08c2NyaXB0PgotICAgIGRl
c2NyaXB0aW9uKCJUZXN0IGZvciBlbmFibGluZyBkZWJ1ZyBtb2RlIGFuZCB0aGF0IGl0IGFsbG93
cyBzZXR0aW5nIGEgY3VzdG9tIGRvbWFpbiBhcyBhIHByZXZhbGVudCByZXNvdXJjZS4iKTsKLSAg
ICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKLQotICAgIGNvbnN0IHRoaXJkUGFydHlPcmlnaW4gPSAi
aHR0cDovL2xvY2FsaG9zdDo4MDAwIjsKLQotICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lciAmJiB3
aW5kb3cuaW50ZXJuYWxzKSB7Ci0gICAgICAgIHRlc3RSdW5uZXIuc2V0VXNlSVRQRGF0YWJhc2Uo
dHJ1ZSk7Ci0gICAgICAgIHNldEVuYWJsZUZlYXR1cmUodHJ1ZSwgZnVuY3Rpb24oKSB7Ci0gICAg
ICAgICAgICBpZiAodGVzdFJ1bm5lci5pc1N0YXRpc3RpY3NQcmV2YWxlbnRSZXNvdXJjZSh0aGly
ZFBhcnR5T3JpZ2luKSkKLSAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKHRoaXJkUGFydHlPcmln
aW4gKyAiIGFscmVhZHkgc2V0IGFzIHByZXZhbGVudCByZXNvdXJjZS4iKTsKLQotICAgICAgICAg
ICAgdGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNzUHJldmFsZW50UmVzb3VyY2VGb3JEZWJ1Z01vZGUo
dGhpcmRQYXJ0eU9yaWdpbiwgZnVuY3Rpb24oKSB7Ci0gICAgICAgICAgICAgICAgdGVzdFJ1bm5l
ci5zZXRTdGF0aXN0aWNzRGVidWdNb2RlKHRydWUsIGZ1bmN0aW9uKCkgewotICAgICAgICAgICAg
ICAgICAgICBpZiAoIXRlc3RSdW5uZXIuaXNTdGF0aXN0aWNzUHJldmFsZW50UmVzb3VyY2UodGhp
cmRQYXJ0eU9yaWdpbikpCi0gICAgICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKHRoaXJk
UGFydHlPcmlnaW4gKyAiIGRpZG4ndCBnZXQgc2V0IGFzIHByZXZhbGVudCByZXNvdXJjZS4iKTsK
LSAgICAgICAgICAgICAgICAgICAgZWxzZQotICAgICAgICAgICAgICAgICAgICAgICAgdGVzdFBh
c3NlZCh0aGlyZFBhcnR5T3JpZ2luICsgIiBnb3Qgc2V0IGFzIGEgY3VzdG9tIHByZXZhbGVudCBy
ZXNvdXJjZSBpbiBkZWJ1ZyBtb2RlLiIpOwotICAgICAgICAgICAgICAgICAgICB0ZXN0UnVubmVy
LnNldFN0YXRpc3RpY3NEZWJ1Z01vZGUoZmFsc2UsIGZ1bmN0aW9uKCkgewotICAgICAgICAgICAg
ICAgICAgICAgICAgc2V0RW5hYmxlRmVhdHVyZShmYWxzZSwgZmluaXNoSlNUZXN0KTsKLSAgICAg
ICAgICAgICAgICAgICAgfSk7Ci0gICAgICAgICAgICAgICAgfSk7Ci0gICAgICAgICAgICB9KTsK
LSAgICAgICAgfSk7Ci0gICAgfQotPC9zY3JpcHQ+Ci08L2JvZHk+Ci08L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3Mvc3RhbmRh
bG9uZS13ZWItYXBwbGljYXRpb24tZXhlbXB0LWZyb20td2Vic2l0ZS1kYXRhLWRlbGV0aW9uLWRh
dGFiYXNlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2Fk
U3RhdGlzdGljcy9zdGFuZGFsb25lLXdlYi1hcHBsaWNhdGlvbi1leGVtcHQtZnJvbS13ZWJzaXRl
LWRhdGEtZGVsZXRpb24tZGF0YWJhc2UtZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCA1YjZhNDM1NDUzODk4YzkwNWFmZmY3MTk5MjZiNDJlNDc4NDFjYmY3Li4wMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2h0
dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9zdGFuZGFsb25lLXdlYi1hcHBsaWNhdGlv
bi1leGVtcHQtZnJvbS13ZWJzaXRlLWRhdGEtZGVsZXRpb24tZGF0YWJhc2UtZXhwZWN0ZWQudHh0
CisrKyAvZGV2L251bGwKQEAgLTEsMTUgKzAsMCBAQAotQ2hlY2sgdGhhdCBub24tY29va2llIHdl
YnNpdGUgZGF0YSBkb2VzIG5vdCBnZXQgcmVtb3ZlZCBhZnRlciBhIHBlcmlvZCBvZiBubyB1c2Vy
IGludGVyYWN0aW9uIGlmIHRoZSB3ZWJzaXRlIGlzIGEgc3RhbmRhbG9uZSB3ZWIgYXBwbGljYXRp
b24uCi0KLUJlZm9yZSBkZWxldGlvbjogQ2xpZW50LXNpZGUgY29va2llIGV4aXN0cy4KLUJlZm9y
ZSBkZWxldGlvbjogSHR0cE9ubHkgY29va2llIGV4aXN0cy4KLUJlZm9yZSBkZWxldGlvbjogUmVn
dWxhciBzZXJ2ZXItc2lkZSBjb29raWUgZXhpc3RzLgotQmVmb3JlIGRlbGV0aW9uOiBMb2NhbFN0
b3JhZ2UgZW50cnkgZG9lcyBleGlzdC4KLUJlZm9yZSBkZWxldGlvbjogSURCIGVudHJ5IGRvZXMg
ZXhpc3QuCi0KLUFmdGVyIGRlbGV0aW9uOiBIdHRwT25seSBjb29raWUgZXhpc3RzLgotQWZ0ZXIg
ZGVsZXRpb246IENsaWVudC1zaWRlIGNvb2tpZSBleGlzdHMuCi1BZnRlciBkZWxldGlvbjogUmVn
dWxhciBzZXJ2ZXItc2lkZSBjb29raWUgZXhpc3RzLgotQWZ0ZXIgZGVsZXRpb246IExvY2FsU3Rv
cmFnZSBlbnRyeSBkb2VzIGV4aXN0LgotQWZ0ZXIgZGVsZXRpb246IElEQiBlbnRyeSBkb2VzIGV4
aXN0LgotCi0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2Fk
U3RhdGlzdGljcy9zdGFuZGFsb25lLXdlYi1hcHBsaWNhdGlvbi1leGVtcHQtZnJvbS13ZWJzaXRl
LWRhdGEtZGVsZXRpb24tZGF0YWJhc2UuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVz
b3VyY2VMb2FkU3RhdGlzdGljcy9zdGFuZGFsb25lLXdlYi1hcHBsaWNhdGlvbi1leGVtcHQtZnJv
bS13ZWJzaXRlLWRhdGEtZGVsZXRpb24tZGF0YWJhc2UuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggNjRmNjQyMzMzZGY2N2Q3MDQzZTdjZDg5MTVmMGEwOTczOGMwZGJhMi4uMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9o
dHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3Mvc3RhbmRhbG9uZS13ZWItYXBwbGljYXRp
b24tZXhlbXB0LWZyb20td2Vic2l0ZS1kYXRhLWRlbGV0aW9uLWRhdGFiYXNlLmh0bWwKKysrIC9k
ZXYvbnVsbApAQCAtMSwyNTUgKzAsMCBAQAotPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyBzdGFu
ZGFsb25lV2ViQXBwbGljYXRpb25VUkw9aHR0cDovLzEyNy4wLjAuMSBdIC0tPgotPCFET0NUWVBF
IGh0bWw+Ci08aHRtbD4KLTxoZWFkPgotICAgIDxzY3JpcHQgc3JjPSIvY29va2llcy9yZXNvdXJj
ZXMvY29va2llLXV0aWxpdGllcy5qcyI+PC9zY3JpcHQ+Ci0gICAgPHNjcmlwdCBzcmM9InJlc291
cmNlcy91dGlsLmpzIj48L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5IG9ubG9hZD0ic2V0VGltZW91
dCgncnVuVGVzdCgpJywgMCkiPgotPGRpdiBpZD0iZGVzY3JpcHRpb24iPkNoZWNrIHRoYXQgbm9u
LWNvb2tpZSB3ZWJzaXRlIGRhdGEgZG9lcyBub3QgZ2V0IHJlbW92ZWQgYWZ0ZXIgYSBwZXJpb2Qg
b2Ygbm8gdXNlciBpbnRlcmFjdGlvbiBpZiB0aGUgd2Vic2l0ZSBpcyBhIHN0YW5kYWxvbmUgd2Vi
IGFwcGxpY2F0aW9uLjwvZGl2PgotPGJyPgotPGRpdiBpZD0ib3V0cHV0Ij48L2Rpdj4KLTxicj4K
LTxzY3JpcHQ+Ci0gICAgdGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7Ci0gICAgdGVzdFJ1bm5l
ci5kdW1wQXNUZXh0KCk7Ci0gICAgdGVzdFJ1bm5lci5zZXRVc2VJVFBEYXRhYmFzZSh0cnVlKTsK
LQotICAgIGNvbnN0IGh0dHBPbmx5Q29va2llTmFtZSA9ICJodHRwLW9ubHktY29va2llIjsKLSAg
ICBjb25zdCBzZXJ2ZXJTaWRlQ29va2llTmFtZSA9ICJzZXJ2ZXItc2lkZS1jb29raWUiOwotICAg
IGNvbnN0IGNsaWVudFNpZGVDb29raWVOYW1lID0gImNsaWVudC1zaWRlLWNvb2tpZSI7Ci0KLSAg
ICBmdW5jdGlvbiBzb3J0U3RyaW5nQXJyYXkoYSwgYikgewotICAgICAgICBhID0gYS50b0xvd2Vy
Q2FzZSgpOwotICAgICAgICBiID0gYi50b0xvd2VyQ2FzZSgpOwotCi0gICAgICAgIHJldHVybiBh
ID4gYiA/IDEgOiBiID4gYSA/IC0xIDogMDsKLSAgICB9Ci0KLSAgICBmdW5jdGlvbiBhZGRMaW5l
YnJlYWtUb091dHB1dCgpIHsKLSAgICAgICAgbGV0IGVsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KCJiciIpOwotICAgICAgICBvdXRwdXQuYXBwZW5kQ2hpbGQoZWxlbWVudCk7Ci0gICAg
fQotCi0gICAgZnVuY3Rpb24gYWRkT3V0cHV0KG1lc3NhZ2UpIHsKLSAgICAgICAgbGV0IGVsZW1l
bnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTsKLSAgICAgICAgZWxlbWVudC5pbm5l
clRleHQgPSBtZXNzYWdlOwotICAgICAgICBvdXRwdXQuYXBwZW5kQ2hpbGQoZWxlbWVudCk7Ci0g
ICAgfQotCi0gICAgZnVuY3Rpb24gY2hlY2tDb29raWVzKGlzQWZ0ZXJEZWxldGlvbikgewotICAg
ICAgICBsZXQgdW5zb3J0ZWRUZXN0UGFzc2VkTWVzc2FnZXMgPSBbXTsKLSAgICAgICAgbGV0IGNv
b2tpZXMgPSBpbnRlcm5hbHMuZ2V0Q29va2llcygpOwotICAgICAgICBpZiAoIWNvb2tpZXMubGVu
Z3RoKQotICAgICAgICAgICAgYWRkT3V0cHV0KChpc0FmdGVyRGVsZXRpb24gPyAiQWZ0ZXIiIDog
IkJlZm9yZSIpICsgIiBzY3JpcHQtYWNjZXNzaWJsZSBkZWxldGlvbjogTm8gY29va2llcyBmb3Vu
ZC4iKTsKLSAgICAgICAgZm9yIChsZXQgY29va2llIG9mIGNvb2tpZXMpIHsKLSAgICAgICAgICAg
IHN3aXRjaCAoY29va2llLm5hbWUpIHsKLSAgICAgICAgICAgICAgICBjYXNlIGh0dHBPbmx5Q29v
a2llTmFtZToKLSAgICAgICAgICAgICAgICAgICAgdW5zb3J0ZWRUZXN0UGFzc2VkTWVzc2FnZXMu
cHVzaCgoaXNBZnRlckRlbGV0aW9uID8gIkFmdGVyIiA6ICJCZWZvcmUiKSArICIgZGVsZXRpb246
ICIgKyAoaXNBZnRlckRlbGV0aW9uID8gIiAiIDogIiIpICsgIkh0dHBPbmx5IGNvb2tpZSBleGlz
dHMuIik7Ci0gICAgICAgICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICAgICAgICAgIGNhc2Ug
c2VydmVyU2lkZUNvb2tpZU5hbWU6Ci0gICAgICAgICAgICAgICAgICAgIHVuc29ydGVkVGVzdFBh
c3NlZE1lc3NhZ2VzLnB1c2goKGlzQWZ0ZXJEZWxldGlvbiA/ICJBZnRlciIgOiAiQmVmb3JlIikg
KyAiIGRlbGV0aW9uOiBSZWd1bGFyIHNlcnZlci1zaWRlIGNvb2tpZSBleGlzdHMuIik7Ci0gICAg
ICAgICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICAgICAgICAgIGNhc2UgY2xpZW50U2lkZUNv
b2tpZU5hbWU6Ci0gICAgICAgICAgICAgICAgICAgIHVuc29ydGVkVGVzdFBhc3NlZE1lc3NhZ2Vz
LnB1c2goKGlzQWZ0ZXJEZWxldGlvbiA/ICJBZnRlciIgOiAiQmVmb3JlIikgKyAiIGRlbGV0aW9u
OiBDbGllbnQtc2lkZSBjb29raWUgZXhpc3RzLiIpOwotICAgICAgICAgICAgICAgICAgICBicmVh
azsKLSAgICAgICAgICAgIH0KLSAgICAgICAgfQotICAgICAgICBsZXQgc29ydGVkVGVzdFBhc3Nl
ZE1lc3NhZ2VzID0gdW5zb3J0ZWRUZXN0UGFzc2VkTWVzc2FnZXMuc29ydChzb3J0U3RyaW5nQXJy
YXkpOwotICAgICAgICBmb3IgKGxldCB0ZXN0UGFzc2VkTWVzc2FnZSBvZiBzb3J0ZWRUZXN0UGFz
c2VkTWVzc2FnZXMpIHsKLSAgICAgICAgICAgIGFkZE91dHB1dCh0ZXN0UGFzc2VkTWVzc2FnZSk7
Ci0gICAgICAgIH0KLSAgICB9Ci0KLSAgICBjb25zdCBkYk5hbWUgPSAiVGVzdERhdGFiYXNlIjsK
LQotICAgIGZ1bmN0aW9uIGNyZWF0ZUlEQkRhdGFTdG9yZShjYWxsYmFjaykgewotICAgICAgICBs
ZXQgcmVxdWVzdCA9IGluZGV4ZWREQi5vcGVuKGRiTmFtZSk7Ci0gICAgICAgIHJlcXVlc3Qub25l
cnJvciA9IGZ1bmN0aW9uKCkgewotICAgICAgICAgICAgYWRkT3V0cHV0KCJDb3VsZG4ndCBjcmVh
dGUgaW5kZXhlZERCLiIpOwotICAgICAgICAgICAgZmluaXNoVGVzdCgpOwotICAgICAgICB9Owot
ICAgICAgICByZXF1ZXN0Lm9udXBncmFkZW5lZWRlZCA9IGZ1bmN0aW9uKGV2ZW50KSB7Ci0gICAg
ICAgICAgICBsZXQgZGIgPSBldmVudC50YXJnZXQucmVzdWx0OwotICAgICAgICAgICAgbGV0IG9i
alN0b3JlID0gZGIuY3JlYXRlT2JqZWN0U3RvcmUoInRlc3QiLCB7YXV0b0luY3JlbWVudDogdHJ1
ZX0pOwotICAgICAgICAgICAgb2JqU3RvcmUuYWRkKCJ2YWx1ZSIpOwotICAgICAgICAgICAgY2Fs
bGJhY2soKTsKLSAgICAgICAgfQotICAgIH0KLQotICAgIGNvbnN0IG1heEludGVydmFscyA9IDIw
OwotCi0gICAgbGV0IGludGVydmFsQ291bnRlcklEQjsKLSAgICBsZXQgY2hlY2tJREJDYWxsYmFj
azsKLSAgICBsZXQgY2hlY2tJREJJbnRlcnZhbElEOwotICAgIGxldCBzZW1hcGhvcmVJREJDaGVj
ayA9IGZhbHNlOwotICAgIGZ1bmN0aW9uIGNoZWNrSURCRGF0YVN0b3JlRXhpc3RzKGlzQWZ0ZXJE
ZWxldGlvbiwgY2FsbGJhY2spIHsKLSAgICAgICAgbGV0IHJlcXVlc3Q7Ci0gICAgICAgIGludGVy
dmFsQ291bnRlcklEQiA9IDA7Ci0gICAgICAgIGNoZWNrSURCQ2FsbGJhY2sgPSBjYWxsYmFjazsK
LSAgICAgICAgaWYgKCFpc0FmdGVyRGVsZXRpb24pIHsKLSAgICAgICAgICAgIC8vIENoZWNrIHVu
dGlsIHRoZXJlIGlzIGEgSURCLgotICAgICAgICAgICAgY2hlY2tJREJJbnRlcnZhbElEID0gc2V0
SW50ZXJ2YWwoZnVuY3Rpb24oKSB7Ci0gICAgICAgICAgICAgICAgaWYgKHNlbWFwaG9yZUlEQkNo
ZWNrKQotICAgICAgICAgICAgICAgICAgICByZXR1cm47Ci0gICAgICAgICAgICAgICAgc2VtYXBo
b3JlSURCQ2hlY2sgPSB0cnVlOwotCi0gICAgICAgICAgICAgICAgaWYgKCsraW50ZXJ2YWxDb3Vu
dGVySURCID49IG1heEludGVydmFscykgewotICAgICAgICAgICAgICAgICAgICBjbGVhckludGVy
dmFsKGNoZWNrSURCSW50ZXJ2YWxJRCk7Ci0gICAgICAgICAgICAgICAgICAgIGFkZE91dHB1dCgi
QmVmb3JlIGRlbGV0aW9uOiBJREIgZW50cnkgZG9lcyBub3QgZXhpc3QuIik7Ci0gICAgICAgICAg
ICAgICAgICAgIHNlbWFwaG9yZUlEQkNoZWNrID0gZmFsc2U7Ci0gICAgICAgICAgICAgICAgICAg
IGNoZWNrSURCQ2FsbGJhY2soKTsKLSAgICAgICAgICAgICAgICB9IGVsc2UgewotICAgICAgICAg
ICAgICAgICAgICByZXF1ZXN0ID0gaW5kZXhlZERCLm9wZW4oZGJOYW1lKTsKLSAgICAgICAgICAg
ICAgICAgICAgcmVxdWVzdC5vbmVycm9yID0gZnVuY3Rpb24gKCkgewotICAgICAgICAgICAgICAg
ICAgICAgICAgY2xlYXJJbnRlcnZhbChjaGVja0lEQkludGVydmFsSUQpOwotICAgICAgICAgICAg
ICAgICAgICAgICAgYWRkT3V0cHV0KCJDb3VsZG4ndCBvcGVuIGluZGV4ZWREQi4iKTsKLSAgICAg
ICAgICAgICAgICAgICAgICAgIHNlbWFwaG9yZUlEQkNoZWNrID0gZmFsc2U7Ci0gICAgICAgICAg
ICAgICAgICAgICAgICBmaW5pc2hUZXN0KCk7Ci0gICAgICAgICAgICAgICAgICAgIH07Ci0gICAg
ICAgICAgICAgICAgICAgIHJlcXVlc3Qub251cGdyYWRlbmVlZGVkID0gZnVuY3Rpb24gKCkgewot
ICAgICAgICAgICAgICAgICAgICAgICAgLy8gTGV0IHRoZSBuZXh0IGludGVydmFsIGNoZWNrIGFn
YWluLgotICAgICAgICAgICAgICAgICAgICAgICAgc2VtYXBob3JlSURCQ2hlY2sgPSBmYWxzZTsK
LSAgICAgICAgICAgICAgICAgICAgfTsKLSAgICAgICAgICAgICAgICAgICAgcmVxdWVzdC5vbnN1
Y2Nlc3MgPSBmdW5jdGlvbiAoKSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICBjbGVhckludGVy
dmFsKGNoZWNrSURCSW50ZXJ2YWxJRCk7Ci0gICAgICAgICAgICAgICAgICAgICAgICBhZGRPdXRw
dXQoIkJlZm9yZSBkZWxldGlvbjogSURCIGVudHJ5IGRvZXMgZXhpc3QuIik7Ci0gICAgICAgICAg
ICAgICAgICAgICAgICBzZW1hcGhvcmVJREJDaGVjayA9IGZhbHNlOwotICAgICAgICAgICAgICAg
ICAgICAgICAgY2hlY2tJREJDYWxsYmFjaygpOwotICAgICAgICAgICAgICAgICAgICB9OwotICAg
ICAgICAgICAgICAgIH0KLSAgICAgICAgICAgIH0sIDIwMCk7Ci0gICAgICAgIH0gZWxzZSB7Ci0g
ICAgICAgICAgICAvLyBDaGVjayB1bnRpbCB0aGVyZSBpcyBhIElEQi4KLSAgICAgICAgICAgIGNo
ZWNrSURCSW50ZXJ2YWxJRCA9IHNldEludGVydmFsKGZ1bmN0aW9uICgpIHsKLSAgICAgICAgICAg
ICAgICBpZiAoc2VtYXBob3JlSURCQ2hlY2spCi0gICAgICAgICAgICAgICAgICAgIHJldHVybjsK
LSAgICAgICAgICAgICAgICBzZW1hcGhvcmVJREJDaGVjayA9IHRydWU7Ci0KLSAgICAgICAgICAg
ICAgICBpZiAoKytpbnRlcnZhbENvdW50ZXJJREIgPj0gbWF4SW50ZXJ2YWxzKSB7Ci0gICAgICAg
ICAgICAgICAgICAgIGNsZWFySW50ZXJ2YWwoY2hlY2tJREJJbnRlcnZhbElEKTsKLSAgICAgICAg
ICAgICAgICAgICAgYWRkT3V0cHV0KCJBZnRlciBkZWxldGlvbjogSURCIGVudHJ5IGNoZWNrcyBl
eGhhdXN0ZWQuIik7Ci0gICAgICAgICAgICAgICAgICAgIHNlbWFwaG9yZUlEQkNoZWNrID0gZmFs
c2U7Ci0gICAgICAgICAgICAgICAgICAgIGNoZWNrSURCQ2FsbGJhY2soKTsKLSAgICAgICAgICAg
ICAgICB9IGVsc2UgewotICAgICAgICAgICAgICAgICAgICByZXF1ZXN0ID0gaW5kZXhlZERCLm9w
ZW4oZGJOYW1lKTsKLSAgICAgICAgICAgICAgICAgICAgcmVxdWVzdC5vbmVycm9yID0gZnVuY3Rp
b24gKCkgewotICAgICAgICAgICAgICAgICAgICAgICAgY2xlYXJJbnRlcnZhbChjaGVja0lEQklu
dGVydmFsSUQpOwotICAgICAgICAgICAgICAgICAgICAgICAgYWRkT3V0cHV0KCJDb3VsZG4ndCBv
cGVuIGluZGV4ZWREQi4iKTsKLSAgICAgICAgICAgICAgICAgICAgICAgIHNlbWFwaG9yZUlEQkNo
ZWNrID0gZmFsc2U7Ci0gICAgICAgICAgICAgICAgICAgICAgICBmaW5pc2hUZXN0KCk7Ci0gICAg
ICAgICAgICAgICAgICAgIH07Ci0gICAgICAgICAgICAgICAgICAgIHJlcXVlc3Qub251cGdyYWRl
bmVlZGVkID0gZnVuY3Rpb24gKCkgewotICAgICAgICAgICAgICAgICAgICAgICAgLy8gTGV0IHRo
ZSBuZXh0IGludGVydmFsIGNoZWNrIGFnYWluLgotICAgICAgICAgICAgICAgICAgICAgICAgc2Vt
YXBob3JlSURCQ2hlY2sgPSBmYWxzZTsKLSAgICAgICAgICAgICAgICAgICAgfTsKLSAgICAgICAg
ICAgICAgICAgICAgcmVxdWVzdC5vbnN1Y2Nlc3MgPSBmdW5jdGlvbiAoKSB7Ci0gICAgICAgICAg
ICAgICAgICAgICAgICBjbGVhckludGVydmFsKGNoZWNrSURCSW50ZXJ2YWxJRCk7Ci0gICAgICAg
ICAgICAgICAgICAgICAgICBhZGRPdXRwdXQoIkFmdGVyIGRlbGV0aW9uOiBJREIgZW50cnkgZG9l
cyBleGlzdC4iKTsKLSAgICAgICAgICAgICAgICAgICAgICAgIHNlbWFwaG9yZUlEQkNoZWNrID0g
ZmFsc2U7Ci0gICAgICAgICAgICAgICAgICAgICAgICBjaGVja0lEQkNhbGxiYWNrKCk7Ci0gICAg
ICAgICAgICAgICAgICAgIH07Ci0gICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgfSwgMjAw
KTsKLSAgICAgICAgfQotICAgIH0KLQotICAgIGxldCBpbnRlcnZhbENvdW50ZXJMb2NhbFN0b3Jh
Z2U7Ci0gICAgbGV0IGNoZWNrTG9jYWxTdG9yYWdlQ2FsbGJhY2s7Ci0gICAgbGV0IGNoZWNrTG9j
YWxTdG9yYWdlSW50ZXJ2YWxJRDsKLSAgICBjb25zdCBsb2NhbFN0b3JhZ2VOYW1lID0gInRlc3Qi
OwotICAgIGNvbnN0IGxvY2FsU3RvcmFnZVZhbHVlID0gInZhbHVlIjsKLSAgICBmdW5jdGlvbiBj
aGVja0xvY2FsU3RvcmFnZUV4aXN0cyhpc0FmdGVyRGVsZXRpb24sIGNhbGxiYWNrKSB7Ci0gICAg
ICAgIGludGVydmFsQ291bnRlckxvY2FsU3RvcmFnZSA9IDA7Ci0gICAgICAgIGNoZWNrTG9jYWxT
dG9yYWdlQ2FsbGJhY2sgPSBjYWxsYmFjazsKLSAgICAgICAgaWYgKCFpc0FmdGVyRGVsZXRpb24p
IHsKLSAgICAgICAgICAgIC8vIENoZWNrIHVudGlsIHRoZXJlIGlzIExvY2FsU3RvcmFnZS4KLSAg
ICAgICAgICAgIGNoZWNrTG9jYWxTdG9yYWdlSW50ZXJ2YWxJRCA9IHNldEludGVydmFsKGZ1bmN0
aW9uKCkgewotICAgICAgICAgICAgICAgIGlmICgrK2ludGVydmFsQ291bnRlckxvY2FsU3RvcmFn
ZSA+PSBtYXhJbnRlcnZhbHMpIHsKLSAgICAgICAgICAgICAgICAgICAgY2xlYXJJbnRlcnZhbChj
aGVja0xvY2FsU3RvcmFnZUludGVydmFsSUQpOwotICAgICAgICAgICAgICAgICAgICBsZXQgdmFs
dWUgPSBsb2NhbFN0b3JhZ2UuZ2V0SXRlbShsb2NhbFN0b3JhZ2VOYW1lKTsKLSAgICAgICAgICAg
ICAgICAgICAgYWRkT3V0cHV0KCJCZWZvcmUgZGVsZXRpb246IExvY2FsU3RvcmFnZSBlbnRyeSAi
ICsgKHZhbHVlID09PSBsb2NhbFN0b3JhZ2VWYWx1ZSA/ICJkb2VzIiA6ICJkb2VzIG5vdCIpICsg
IiBleGlzdC4iKTsKLSAgICAgICAgICAgICAgICAgICAgY2hlY2tMb2NhbFN0b3JhZ2VDYWxsYmFj
aygpOwotICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAodGVzdFJ1bm5lci5pc1N0YXRpc3RpY3NI
YXNMb2NhbFN0b3JhZ2Uob3JpZ2luVW5kZXJUZXN0KSkgewotICAgICAgICAgICAgICAgICAgICBj
bGVhckludGVydmFsKGNoZWNrTG9jYWxTdG9yYWdlSW50ZXJ2YWxJRCk7Ci0gICAgICAgICAgICAg
ICAgICAgIGxldCB2YWx1ZSA9IGxvY2FsU3RvcmFnZS5nZXRJdGVtKGxvY2FsU3RvcmFnZU5hbWUp
OwotICAgICAgICAgICAgICAgICAgICBhZGRPdXRwdXQoIkJlZm9yZSBkZWxldGlvbjogTG9jYWxT
dG9yYWdlIGVudHJ5ICIgKyAodmFsdWUgPT09IGxvY2FsU3RvcmFnZVZhbHVlID8gImRvZXMiIDog
ImRvZXMgbm90IikgKyAiIGV4aXN0LiIpOwotICAgICAgICAgICAgICAgICAgICBjaGVja0xvY2Fs
U3RvcmFnZUNhbGxiYWNrKCk7Ci0gICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgfSwgMTAw
KTsKLSAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAgIC8vIENoZWNrIHVudGlsIHRoZXJlIGlz
IG5vIExvY2FsU3RvcmFnZS4KLSAgICAgICAgICAgIGNoZWNrTG9jYWxTdG9yYWdlSW50ZXJ2YWxJ
RCA9IHNldEludGVydmFsKGZ1bmN0aW9uKCkgewotICAgICAgICAgICAgICAgIGlmICgrK2ludGVy
dmFsQ291bnRlckxvY2FsU3RvcmFnZSA+PSBtYXhJbnRlcnZhbHMpIHsKLSAgICAgICAgICAgICAg
ICAgICAgY2xlYXJJbnRlcnZhbChjaGVja0xvY2FsU3RvcmFnZUludGVydmFsSUQpOwotICAgICAg
ICAgICAgICAgICAgICBsZXQgdmFsdWUgPSBsb2NhbFN0b3JhZ2UuZ2V0SXRlbShsb2NhbFN0b3Jh
Z2VOYW1lKTsKLSAgICAgICAgICAgICAgICAgICAgYWRkT3V0cHV0KCJBZnRlciBkZWxldGlvbjog
TG9jYWxTdG9yYWdlIGVudHJ5ICIgKyAodmFsdWUgPT09IGxvY2FsU3RvcmFnZVZhbHVlID8gImRv
ZXMiIDogImRvZXMgbm90IikgKyAiIGV4aXN0LiIpOwotICAgICAgICAgICAgICAgICAgICBjaGVj
a0xvY2FsU3RvcmFnZUNhbGxiYWNrKCk7Ci0gICAgICAgICAgICAgICAgfSBlbHNlIGlmICghdGVz
dFJ1bm5lci5pc1N0YXRpc3RpY3NIYXNMb2NhbFN0b3JhZ2Uob3JpZ2luVW5kZXJUZXN0KSkgewot
ICAgICAgICAgICAgICAgICAgICBjbGVhckludGVydmFsKGNoZWNrTG9jYWxTdG9yYWdlSW50ZXJ2
YWxJRCk7Ci0gICAgICAgICAgICAgICAgICAgIGxldCB2YWx1ZSA9IGxvY2FsU3RvcmFnZS5nZXRJ
dGVtKGxvY2FsU3RvcmFnZU5hbWUpOwotICAgICAgICAgICAgICAgICAgICBhZGRPdXRwdXQoIkFm
dGVyIGRlbGV0aW9uOiBMb2NhbFN0b3JhZ2UgZW50cnkgIiArICh2YWx1ZSA9PT0gbG9jYWxTdG9y
YWdlVmFsdWUgPyAiZG9lcyIgOiAiZG9lcyBub3QiKSArICIgZXhpc3QuIik7Ci0gICAgICAgICAg
ICAgICAgICAgIGNoZWNrTG9jYWxTdG9yYWdlQ2FsbGJhY2soKTsKLSAgICAgICAgICAgICAgICB9
Ci0gICAgICAgICAgICB9LCAxMDApOwotICAgICAgICB9Ci0gICAgfQotCi0gICAgYXN5bmMgZnVu
Y3Rpb24gd3JpdGVXZWJzaXRlRGF0YUFuZENvbnRpbnVlKCkgewotICAgICAgICAvLyBXcml0ZSBj
b29raWVzLgotICAgICAgICBhd2FpdCBmZXRjaCgiL2Nvb2tpZXMvcmVzb3VyY2VzL3NldC1odHRw
LW9ubHktY29va2llLnBocD9jb29raWVOYW1lPSIgKyBodHRwT25seUNvb2tpZU5hbWUsIHsgY3Jl
ZGVudGlhbHM6ICJzYW1lLW9yaWdpbiIgfSk7Ci0gICAgICAgIGF3YWl0IGZldGNoKCIvY29va2ll
cy9yZXNvdXJjZXMvc2V0Q29va2llcy5jZ2kiLCB7IGhlYWRlcnM6IHsgIlNldC1Db29raWUiOiBz
ZXJ2ZXJTaWRlQ29va2llTmFtZSArICI9MTsgcGF0aD0vOyIgfSwgY3JlZGVudGlhbHM6ICJzYW1l
LW9yaWdpbiIgfSk7Ci0gICAgICAgIGRvY3VtZW50LmNvb2tpZSA9IGNsaWVudFNpZGVDb29raWVO
YW1lICsgIj0xIjsKLQotICAgICAgICBjaGVja0Nvb2tpZXMoZmFsc2UpOwotCi0gICAgICAgIC8v
IFdyaXRlIExvY2FsU3RvcmFnZQotICAgICAgICBsb2NhbFN0b3JhZ2Uuc2V0SXRlbShsb2NhbFN0
b3JhZ2VOYW1lLCBsb2NhbFN0b3JhZ2VWYWx1ZSk7Ci0gICAgICAgIGNoZWNrTG9jYWxTdG9yYWdl
RXhpc3RzKGZhbHNlLCBmdW5jdGlvbigpIHsKLQotICAgICAgICAgICAgLy8gV3JpdGUgSW5kZXhl
ZERCLgotICAgICAgICAgICAgY3JlYXRlSURCRGF0YVN0b3JlKGZ1bmN0aW9uICgpIHsKLSAgICAg
ICAgICAgICAgICBjaGVja0lEQkRhdGFTdG9yZUV4aXN0cyhmYWxzZSwgZnVuY3Rpb24oKSB7Ci0g
ICAgICAgICAgICAgICAgICAgIGFkZExpbmVicmVha1RvT3V0cHV0KCk7Ci0gICAgICAgICAgICAg
ICAgICAgIHByb2Nlc3NXZWJzaXRlRGF0YUFuZENvbnRpbnVlKCk7Ci0gICAgICAgICAgICAgICAg
fSk7Ci0gICAgICAgICAgICB9KTsKLSAgICAgICAgfSk7Ci0gICAgfQotCi0gICAgZnVuY3Rpb24g
cHJvY2Vzc1dlYnNpdGVEYXRhQW5kQ29udGludWUoKSB7Ci0gICAgICAgIHRlc3RSdW5uZXIuaW5z
dGFsbFN0YXRpc3RpY3NEaWRTY2FuRGF0YVJlY29yZHNDYWxsYmFjayhjaGVja1dlYnNpdGVEYXRh
QW5kQ29udGludWUpOwotICAgICAgICB0ZXN0UnVubmVyLnN0YXRpc3RpY3NQcm9jZXNzU3RhdGlz
dGljc0FuZERhdGFSZWNvcmRzKCk7Ci0gICAgfQotCi0gICAgZnVuY3Rpb24gY2hlY2tXZWJzaXRl
RGF0YUFuZENvbnRpbnVlKCkgewotICAgICAgICBjaGVja0Nvb2tpZXModHJ1ZSk7Ci0gICAgICAg
IGNoZWNrTG9jYWxTdG9yYWdlRXhpc3RzKHRydWUsIGZ1bmN0aW9uICgpIHsKLSAgICAgICAgICAg
IGNoZWNrSURCRGF0YVN0b3JlRXhpc3RzKHRydWUsIGZpbmlzaFRlc3QpOwotICAgICAgICB9KTsK
LSAgICB9Ci0KLSAgICBmdW5jdGlvbiBmaW5pc2hUZXN0KCkgewotICAgICAgICByZXNldENvb2tp
ZXMoKTsKLSAgICAgICAgdGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNzRmlyc3RQYXJ0eVdlYnNpdGVE
YXRhUmVtb3ZhbE1vZGUoZmFsc2UsIGZ1bmN0aW9uKCkgewotICAgICAgICAgICAgc2V0RW5hYmxl
RmVhdHVyZShmYWxzZSwgZnVuY3Rpb24oKSB7Ci0gICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5u
b3RpZnlEb25lKCk7Ci0gICAgICAgICAgICB9KTsKLSAgICAgICAgfSk7Ci0gICAgfQotCi0gICAg
Y29uc3Qgb3JpZ2luVW5kZXJUZXN0ICA9ICJodHRwOi8vMTI3LjAuMC4xOjgwMDAiOwotICAgIGZ1
bmN0aW9uIHJ1blRlc3QoKSB7Ci0gICAgICAgIHNldEVuYWJsZUZlYXR1cmUodHJ1ZSwgZnVuY3Rp
b24gKCkgewotICAgICAgICAgICAgdGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNzRmlyc3RQYXJ0eVdl
YnNpdGVEYXRhUmVtb3ZhbE1vZGUodHJ1ZSwgZnVuY3Rpb24oKSB7Ci0gICAgICAgICAgICAgICAg
dGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNzUHJldmFsZW50UmVzb3VyY2Uob3JpZ2luVW5kZXJUZXN0
LCB0cnVlLCBmdW5jdGlvbigpIHsKLSAgICAgICAgICAgICAgICAgICAgaWYgKCF0ZXN0UnVubmVy
LmlzU3RhdGlzdGljc1ByZXZhbGVudFJlc291cmNlKG9yaWdpblVuZGVyVGVzdCkpCi0gICAgICAg
ICAgICAgICAgICAgICAgICBhZGRPdXRwdXQoIkZBSUw6ICIgKyBvcmlnaW5VbmRlclRlc3QgKyAi
IGRpZG4ndCBnZXQgY2xhc3NpZmllZCBhcyBwcmV2YWxlbnQuIik7Ci0gICAgICAgICAgICAgICAg
ICAgIHdyaXRlV2Vic2l0ZURhdGFBbmRDb250aW51ZSgpOwotICAgICAgICAgICAgICAgIH0pOwot
ICAgICAgICAgICAgfSk7Ci0gICAgICAgIH0pOwotICAgIH0KLTwvc2NyaXB0PgotPC9ib2R5Pgot
PC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRT
dGF0aXN0aWNzL3N0cmlwLXJlZmVycmVyLXRvLW9yaWdpbi1mb3ItcHJldmFsZW50LXN1YnJlc291
cmNlLXJlZGlyZWN0cy1kYXRhYmFzZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3Rl
c3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3Mvc3RyaXAtcmVmZXJyZXItdG8tb3JpZ2luLWZvci1w
cmV2YWxlbnQtc3VicmVzb3VyY2UtcmVkaXJlY3RzLWRhdGFiYXNlLWV4cGVjdGVkLnR4dApkZWxl
dGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggN2JkNTQzZWM5YWYzMjRiZDUwZGMxZDRjODZjZGIw
OWU5YzRkNWIyOC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0g
YS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3Mvc3RyaXAtcmVm
ZXJyZXItdG8tb3JpZ2luLWZvci1wcmV2YWxlbnQtc3VicmVzb3VyY2UtcmVkaXJlY3RzLWRhdGFi
YXNlLWV4cGVjdGVkLnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDE1ICswLDAgQEAKLVRlc3RzIHRo
YXQgb25seSB0aGUgb3JpZ2luIGlzIHNlbnQgYXMgcmVmZXJyZXIgaW4gcmVkaXJlY3RzIHRvIHBy
ZXZhbGVudCByZXNvdXJjZXMgd2l0aG91dCB1c2VyIGludGVyYWN0aW9uLgotCi1PbiBzdWNjZXNz
LCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAi
VEVTVCBDT01QTEVURSIuCi0KLQotUEFTUyByZWZlcnJlciBpcyAiaHR0cDovLzEyNy4wLjAuMTo4
MDAwL3Jlc291cmNlTG9hZFN0YXRpc3RpY3Mvc3RyaXAtcmVmZXJyZXItdG8tb3JpZ2luLWZvci1w
cmV2YWxlbnQtc3VicmVzb3VyY2UtcmVkaXJlY3RzLWRhdGFiYXNlLmh0bWwiCi1QQVNTIHN1Y2Nl
c3NmdWxseVBhcnNlZCBpcyB0cnVlCi0KLVRFU1QgQ09NUExFVEUKLQotCi0tLS0tLS0tLQotRnJh
bWU6ICc8IS0tZnJhbWUxLS0+JwotLS0tLS0tLS0KLWh0dHA6Ly8xMjcuMC4wLjE6ODAwMC8KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9z
dHJpcC1yZWZlcnJlci10by1vcmlnaW4tZm9yLXByZXZhbGVudC1zdWJyZXNvdXJjZS1yZWRpcmVj
dHMtZGF0YWJhc2UuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3Rh
dGlzdGljcy9zdHJpcC1yZWZlcnJlci10by1vcmlnaW4tZm9yLXByZXZhbGVudC1zdWJyZXNvdXJj
ZS1yZWRpcmVjdHMtZGF0YWJhc2UuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
YjBmOGEyZjQyMGI1YWE2MmMzN2EyNWQ0YmRkZmVkMzNhMzNiZmE1Zi4uMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jl
c291cmNlTG9hZFN0YXRpc3RpY3Mvc3RyaXAtcmVmZXJyZXItdG8tb3JpZ2luLWZvci1wcmV2YWxl
bnQtc3VicmVzb3VyY2UtcmVkaXJlY3RzLWRhdGFiYXNlLmh0bWwKKysrIC9kZXYvbnVsbApAQCAt
MSw1MSArMCwwIEBACi08IURPQ1RZUEUgaHRtbD4KLTxodG1sPgotPGhlYWQ+Ci0gICAgPHNjcmlw
dCBzcmM9Ii9qcy10ZXN0LXJlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KLSAgICA8c2Ny
aXB0IHNyYz0icmVzb3VyY2VzL3V0aWwuanMiPjwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHk+Ci08
c2NyaXB0PgotICAgIGRlc2NyaXB0aW9uKCJUZXN0cyB0aGF0IG9ubHkgdGhlIG9yaWdpbiBpcyBz
ZW50IGFzIHJlZmVycmVyIGluIHJlZGlyZWN0cyB0byBwcmV2YWxlbnQgcmVzb3VyY2VzIHdpdGhv
dXQgdXNlciBpbnRlcmFjdGlvbi4iKTsKLSAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKLSAgICB0
ZXN0UnVubmVyLmR1bXBDaGlsZEZyYW1lc0FzVGV4dCgpOwotCi0gICAgZnVuY3Rpb24gb3Blbklm
cmFtZSh1cmwsIG9uTG9hZEhhbmRsZXIpIHsKLSAgICAgICAgY29uc3QgZWxlbWVudCA9IGRvY3Vt
ZW50LmNyZWF0ZUVsZW1lbnQoImlmcmFtZSIpOwotICAgICAgICBlbGVtZW50LnNyYyA9IHVybDsK
LSAgICAgICAgaWYgKG9uTG9hZEhhbmRsZXIpIHsKLSAgICAgICAgICAgIGVsZW1lbnQub25sb2Fk
ID0gb25Mb2FkSGFuZGxlcjsKLSAgICAgICAgfQotICAgICAgICBkb2N1bWVudC5ib2R5LmFwcGVu
ZENoaWxkKGVsZW1lbnQpOwotICAgIH0KLQotICAgIHZhciByZWZlcnJlcjsKLSAgICB0ZXN0UnVu
bmVyLnNldFVzZUlUUERhdGFiYXNlKHRydWUpOwotICAgIHNldEVuYWJsZUZlYXR1cmUodHJ1ZSwg
ZnVuY3Rpb24oKSB7Ci0gICAgICAgIGlmICh0ZXN0UnVubmVyLmlzU3RhdGlzdGljc1ByZXZhbGVu
dFJlc291cmNlKCJodHRwOi8vbG9jYWxob3N0IikpCi0gICAgICAgICAgICB0ZXN0RmFpbGVkKCJM
b2NhbGhvc3Qgd2FzIGNsYXNzaWZpZWQgYXMgcHJldmFsZW50IHJlc291cmNlIGJlZm9yZSB0aGUg
dGVzdCBzdGFydGVkLiIpOwotCi0gICAgICAgIGZldGNoKCJyZXNvdXJjZXMvZWNoby1yZWZlcnJl
ci5waHAiKS50aGVuKGZ1bmN0aW9uKHJlc3BvbnNlKSB7Ci0gICAgICAgICAgICByZXR1cm4gcmVz
cG9uc2UudGV4dCgpOwotICAgICAgICB9KS50aGVuKGZ1bmN0aW9uKGRhdGEpIHsKLSAgICAgICAg
ICAgIHJlZmVycmVyID0gZGF0YTsKLSAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygi
cmVmZXJyZXIiLCAiaHR0cDovLzEyNy4wLjAuMTo4MDAwL3Jlc291cmNlTG9hZFN0YXRpc3RpY3Mv
c3RyaXAtcmVmZXJyZXItdG8tb3JpZ2luLWZvci1wcmV2YWxlbnQtc3VicmVzb3VyY2UtcmVkaXJl
Y3RzLWRhdGFiYXNlLmh0bWwiKTsKLQotICAgICAgICAgICAgdGVzdFJ1bm5lci5zZXRTdGF0aXN0
aWNzUHJldmFsZW50UmVzb3VyY2UoImh0dHA6Ly9sb2NhbGhvc3QiLCB0cnVlLCBmdW5jdGlvbigp
IHsKLSAgICAgICAgICAgICAgICBpZiAoIXRlc3RSdW5uZXIuaXNTdGF0aXN0aWNzUHJldmFsZW50
UmVzb3VyY2UoImh0dHA6Ly9sb2NhbGhvc3QiKSkKLSAgICAgICAgICAgICAgICAgICAgdGVzdEZh
aWxlZCgiSG9zdCBkaWQgbm90IGdldCBzZXQgYXMgcHJldmFsZW50IHJlc291cmNlLiIpOwotCi0g
ICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5zdGF0aXN0aWNzVXBkYXRlQ29va2llQmxvY2tpbmco
ZnVuY3Rpb24oKSB7Ci0gICAgICAgICAgICAgICAgICAgIG9wZW5JZnJhbWUoInJlc291cmNlcy9y
ZWRpcmVjdC5waHA/cmVkaXJlY3RUbz1odHRwOi8vbG9jYWxob3N0OjgwMDAvcmVzb3VyY2VMb2Fk
U3RhdGlzdGljcy9yZXNvdXJjZXMvZWNoby1yZWZlcnJlci5waHAiLCBmdW5jdGlvbigpIHsKLSAg
ICAgICAgICAgICAgICAgICAgICAgIHNldEVuYWJsZUZlYXR1cmUoZmFsc2UsIGZpbmlzaEpTVGVz
dCk7Ci0gICAgICAgICAgICAgICAgICAgIH0pOwotICAgICAgICAgICAgICAgIH0pOwotICAgICAg
ICAgICAgfSk7Ci0gICAgICAgIH0pLmNhdGNoKGZ1bmN0aW9uKGVycm9yKSB7Ci0gICAgICAgICAg
ICBjb25zb2xlLmxvZyhlcnJvci5tZXNzYWdlKTsKLSAgICAgICAgICAgIHNldEVuYWJsZUZlYXR1
cmUoZmFsc2UsIGZpbmlzaEpTVGVzdCk7Ci0gICAgICAgIH0pOwotICAgIH0pOwotPC9zY3JpcHQ+
Ci08L2JvZHk+Ci08L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jl
c291cmNlTG9hZFN0YXRpc3RpY3Mvc3RyaXAtcmVmZXJyZXItdG8tb3JpZ2luLWZvci1wcmV2YWxl
bnQtc3VicmVzb3VyY2UtcmVxdWVzdHMtZGF0YWJhc2UtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3N0cmlwLXJlZmVycmVyLXRvLW9y
aWdpbi1mb3ItcHJldmFsZW50LXN1YnJlc291cmNlLXJlcXVlc3RzLWRhdGFiYXNlLWV4cGVjdGVk
LnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggODljY2I5YzIxZmYwMDcxYTk4MDIz
OWI3Yjc5M2Y1NTE4N2ViZWU1ZS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3Mv
c3RyaXAtcmVmZXJyZXItdG8tb3JpZ2luLWZvci1wcmV2YWxlbnQtc3VicmVzb3VyY2UtcmVxdWVz
dHMtZGF0YWJhc2UtZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEsMTYgKzAsMCBAQAot
VGVzdHMgdGhhdCBvbmx5IHRoZSBvcmlnaW4gaXMgc2VudCBhcyByZWZlcnJlciBmb3IgcHJldmFs
ZW50IHJlc291cmNlcyB3aXRob3V0IHVzZXIgaW50ZXJhY3Rpb24uCi0KLU9uIHN1Y2Nlc3MsIHlv
dSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNU
IENPTVBMRVRFIi4KLQotCi1QQVNTIHJlZmVycmVyIGlzICJodHRwOi8vMTI3LjAuMC4xOjgwMDAv
cmVzb3VyY2VMb2FkU3RhdGlzdGljcy9zdHJpcC1yZWZlcnJlci10by1vcmlnaW4tZm9yLXByZXZh
bGVudC1zdWJyZXNvdXJjZS1yZXF1ZXN0cy1kYXRhYmFzZS5odG1sIgotUEFTUyByZWZlcnJlciBp
cyAiaHR0cDovLzEyNy4wLjAuMTo4MDAwLyIKLVBBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRy
dWUKLQotVEVTVCBDT01QTEVURQotCi0KLS0tLS0tLS0tCi1GcmFtZTogJzwhLS1mcmFtZTEtLT4n
Ci0tLS0tLS0tLQotaHR0cDovLzEyNy4wLjAuMTo4MDAwLwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3N0cmlwLXJlZmVycmVyLXRvLW9y
aWdpbi1mb3ItcHJldmFsZW50LXN1YnJlc291cmNlLXJlcXVlc3RzLWRhdGFiYXNlLmh0bWwgYi9M
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3Mvc3RyaXAtcmVmZXJy
ZXItdG8tb3JpZ2luLWZvci1wcmV2YWxlbnQtc3VicmVzb3VyY2UtcmVxdWVzdHMtZGF0YWJhc2Uu
aHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMTVkNGYwMzY2Zjk3Y2ZjZTk0Mjhh
NmE4NmU1MTU0ODM2MGUzMjE3Ny4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3Mv
c3RyaXAtcmVmZXJyZXItdG8tb3JpZ2luLWZvci1wcmV2YWxlbnQtc3VicmVzb3VyY2UtcmVxdWVz
dHMtZGF0YWJhc2UuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDYyICswLDAgQEAKLTwhRE9DVFlQ
RSBodG1sPgotPGh0bWw+Ci08aGVhZD4KLSAgICA8c2NyaXB0IHNyYz0iL2pzLXRlc3QtcmVzb3Vy
Y2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgotICAgIDxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvdXRp
bC5qcyI+PC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keT4KLTxzY3JpcHQ+Ci0gICAgZGVzY3JpcHRp
b24oIlRlc3RzIHRoYXQgb25seSB0aGUgb3JpZ2luIGlzIHNlbnQgYXMgcmVmZXJyZXIgZm9yIHBy
ZXZhbGVudCByZXNvdXJjZXMgd2l0aG91dCB1c2VyIGludGVyYWN0aW9uLiIpOwotICAgIGpzVGVz
dElzQXN5bmMgPSB0cnVlOwotICAgIHRlc3RSdW5uZXIuZHVtcENoaWxkRnJhbWVzQXNUZXh0KCk7
Ci0KLSAgICBmdW5jdGlvbiBvcGVuSWZyYW1lKHVybCwgb25Mb2FkSGFuZGxlcikgewotICAgICAg
ICBjb25zdCBlbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiaWZyYW1lIik7Ci0gICAg
ICAgIGVsZW1lbnQuc3JjID0gdXJsOwotICAgICAgICBpZiAob25Mb2FkSGFuZGxlcikgewotICAg
ICAgICAgICAgZWxlbWVudC5vbmxvYWQgPSBvbkxvYWRIYW5kbGVyOwotICAgICAgICB9Ci0gICAg
ICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoZWxlbWVudCk7Ci0gICAgfQotCi0gICAgdmFy
IHJlZmVycmVyOwotICAgIHRlc3RSdW5uZXIuc2V0VXNlSVRQRGF0YWJhc2UodHJ1ZSk7Ci0gICAg
c2V0RW5hYmxlRmVhdHVyZSh0cnVlLCBmdW5jdGlvbigpIHsKLSAgICAgICAgaWYgKHRlc3RSdW5u
ZXIuaXNTdGF0aXN0aWNzUHJldmFsZW50UmVzb3VyY2UoImh0dHA6Ly9sb2NhbGhvc3QiKSkKLSAg
ICAgICAgICAgIHRlc3RGYWlsZWQoIkxvY2FsaG9zdCB3YXMgY2xhc3NpZmllZCBhcyBwcmV2YWxl
bnQgcmVzb3VyY2UgYmVmb3JlIHRoZSB0ZXN0IHN0YXJ0ZWQuIik7Ci0KLSAgICAgICAgZmV0Y2go
InJlc291cmNlcy9lY2hvLXJlZmVycmVyLnBocCIpLnRoZW4oZnVuY3Rpb24ocmVzcG9uc2UpIHsK
LSAgICAgICAgICAgIHJldHVybiByZXNwb25zZS50ZXh0KCk7Ci0gICAgICAgIH0pLnRoZW4oZnVu
Y3Rpb24oZGF0YSkgewotICAgICAgICAgICAgcmVmZXJyZXIgPSBkYXRhOwotICAgICAgICAgICAg
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJyZWZlcnJlciIsICJodHRwOi8vMTI3LjAuMC4xOjgwMDAv
cmVzb3VyY2VMb2FkU3RhdGlzdGljcy9zdHJpcC1yZWZlcnJlci10by1vcmlnaW4tZm9yLXByZXZh
bGVudC1zdWJyZXNvdXJjZS1yZXF1ZXN0cy1kYXRhYmFzZS5odG1sIik7Ci0KLSAgICAgICAgICAg
IHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc1ByZXZhbGVudFJlc291cmNlKCJodHRwOi8vbG9jYWxo
b3N0IiwgdHJ1ZSwgZnVuY3Rpb24oKSB7Ci0gICAgICAgICAgICAgICAgaWYgKCF0ZXN0UnVubmVy
LmlzU3RhdGlzdGljc1ByZXZhbGVudFJlc291cmNlKCJodHRwOi8vbG9jYWxob3N0IikpCi0gICAg
ICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoIkhvc3QgZGlkIG5vdCBnZXQgc2V0IGFzIHByZXZh
bGVudCByZXNvdXJjZS4iKTsKLQotICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIuc3RhdGlzdGlj
c1VwZGF0ZUNvb2tpZUJsb2NraW5nKGZ1bmN0aW9uKCkgewotICAgICAgICAgICAgICAgICAgICBm
ZXRjaCgiaHR0cDovL2xvY2FsaG9zdDo4MDAwL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvcmVzb3Vy
Y2VzL2VjaG8tcmVmZXJyZXIucGhwIikudGhlbihmdW5jdGlvbihyZXNwb25zZSkgewotICAgICAg
ICAgICAgICAgICAgICAgICAgcmV0dXJuIHJlc3BvbnNlLnRleHQoKTsKLSAgICAgICAgICAgICAg
ICAgICAgfSkudGhlbihmdW5jdGlvbihkYXRhKSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICBy
ZWZlcnJlciA9IGRhdGE7Ci0gICAgICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9T
dHJpbmcoInJlZmVycmVyIiwgImh0dHA6Ly8xMjcuMC4wLjE6ODAwMC8iKTsKLQotICAgICAgICAg
ICAgICAgICAgICAgICAgb3BlbklmcmFtZSgicmVzb3VyY2VzL3JlZGlyZWN0LnBocD9yZWRpcmVj
dFRvPWh0dHA6Ly9sb2NhbGhvc3Q6ODAwMC9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3Jlc291cmNl
cy9lY2hvLXJlZmVycmVyLnBocCIsIGZ1bmN0aW9uKCkgewotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIHNldEVuYWJsZUZlYXR1cmUoZmFsc2UsIGZpbmlzaEpTVGVzdCk7Ci0gICAgICAgICAg
ICAgICAgICAgICAgICB9KTsKLQotICAgICAgICAgICAgICAgICAgICB9KS5jYXRjaChmdW5jdGlv
bihlcnJvcikgewotICAgICAgICAgICAgICAgICAgICAgICAgY29uc29sZS5sb2coZXJyb3IubWVz
c2FnZSk7Ci0gICAgICAgICAgICAgICAgICAgICAgICBzZXRFbmFibGVGZWF0dXJlKGZhbHNlLCBm
aW5pc2hKU1Rlc3QpOwotICAgICAgICAgICAgICAgICAgICB9KTsKLSAgICAgICAgICAgICAgICB9
KTsKLSAgICAgICAgICAgIH0pOwotICAgICAgICB9KS5jYXRjaChmdW5jdGlvbihlcnJvcikgewot
ICAgICAgICAgICAgY29uc29sZS5sb2coZXJyb3IubWVzc2FnZSk7Ci0gICAgICAgICAgICBzZXRF
bmFibGVGZWF0dXJlKGZhbHNlLCBmaW5pc2hKU1Rlc3QpOwotICAgICAgICB9KTsKLSAgICB9KTsK
LTwvc2NyaXB0PgotPC9ib2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3N3aXRjaC1zZXNzaW9uLW9uLW5hdmlnYXRp
b24tdG8tcHJldmFsZW50LXdpdGgtaW50ZXJhY3Rpb24tZGF0YWJhc2UtZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3N3aXRjaC1zZXNz
aW9uLW9uLW5hdmlnYXRpb24tdG8tcHJldmFsZW50LXdpdGgtaW50ZXJhY3Rpb24tZGF0YWJhc2Ut
ZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAzNDM5MjJmZDkzZjFh
NTQ0NGYyY2IwNjg4NGVmYzMyOTBiYWU1MWY0Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3Rh
dGlzdGljcy9zd2l0Y2gtc2Vzc2lvbi1vbi1uYXZpZ2F0aW9uLXRvLXByZXZhbGVudC13aXRoLWlu
dGVyYWN0aW9uLWRhdGFiYXNlLWV4cGVjdGVkLnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDEyICsw
LDAgQEAKLVRlc3RzIHRoYXQgdGhlIHNlc3Npb24gaXMgc3dpdGNoZWQgdXBvbiB0b3AgZnJhbWUg
bmF2aWdhdGlvbiB0byBhIHByZXZhbGVudCByZXNvdXJjZSB3aXRoIHVzZXIgaW50ZXJhY3Rpb24u
Ci0KLU9uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMs
IGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KLQotCi1QQVNTIFNob3VsZCBoYXZlIGFuZCBo
YXMgdGhlIHNlc3Npb24gY29va2llLgotUEFTUyBTaG91bGQgaGF2ZSBhbmQgaGFzIHRoZSBwZXJz
aXN0ZW50IGNvb2tpZS4KLVBBU1MgT3JpZ2luIGhhcyBpc29sYXRlZCBzZXNzaW9uLgotUEFTUyBz
dWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQotCi1URVNUIENPTVBMRVRFCi0KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9zd2l0Y2gtc2Vz
c2lvbi1vbi1uYXZpZ2F0aW9uLXRvLXByZXZhbGVudC13aXRoLWludGVyYWN0aW9uLWRhdGFiYXNl
LnBocCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9zd2l0
Y2gtc2Vzc2lvbi1vbi1uYXZpZ2F0aW9uLXRvLXByZXZhbGVudC13aXRoLWludGVyYWN0aW9uLWRh
dGFiYXNlLnBocApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggOWQ2NTg3ZmY3OTI1NzM3
NGYwZTM3MzNmNDdmNjQwZDA4NjY5OGUwMS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRp
c3RpY3Mvc3dpdGNoLXNlc3Npb24tb24tbmF2aWdhdGlvbi10by1wcmV2YWxlbnQtd2l0aC1pbnRl
cmFjdGlvbi1kYXRhYmFzZS5waHAKKysrIC9kZXYvbnVsbApAQCAtMSwxMTQgKzAsMCBAQAotPD9w
aHAKLSAgICBoZWFkZXIoIkNhY2hlLUNvbnRyb2w6IG5vLXN0b3JlIik7Ci0/PgotPCFET0NUWVBF
IGh0bWw+Ci08aHRtbCBsYW5nPSJlbiI+Ci08aGVhZD4KLSAgICA8bWV0YSBjaGFyc2V0PSJVVEYt
OCI+Ci0gICAgPHNjcmlwdCBzcmM9Ii9qcy10ZXN0LXJlc291cmNlcy9qcy10ZXN0LmpzIj48L3Nj
cmlwdD4KLSAgICA8c2NyaXB0IHNyYz0icmVzb3VyY2VzL3V0aWwuanMiPjwvc2NyaXB0PgotPC9o
ZWFkPgotPGJvZHkgb25sb2FkPSJydW5UZXN0KCkiPgotPHNjcmlwdD4KLSAgICBkZXNjcmlwdGlv
bigiVGVzdHMgdGhhdCB0aGUgc2Vzc2lvbiBpcyBzd2l0Y2hlZCB1cG9uIHRvcCBmcmFtZSBuYXZp
Z2F0aW9uIHRvIGEgcHJldmFsZW50IHJlc291cmNlIHdpdGggdXNlciBpbnRlcmFjdGlvbi4iKTsK
LSAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKLQotICAgIGNvbnN0IHByZXZhbGVudE9yaWdpbiA9
ICJodHRwOi8vMTI3LjAuMC4xOjgwMDAiOwotICAgIGNvbnN0IG5vblByZXZhbGVudE9yaWdpbiA9
ICJodHRwOi8vbG9jYWxob3N0OjgwMDAiOwotICAgIGNvbnN0IHNlc3Npb25Db29raWVOYW1lID0g
InNlc3Npb25Db29raWUiOwotICAgIGNvbnN0IHBlcnNpc3RlbnRDb29raWVOYW1lID0gInBlcnNp
c3RlbnRDb29raWUiOwotICAgIGNvbnN0IHR3b01pbnV0ZXNJblNlY29uZHMgPSAxMjA7Ci0KLSAg
ICBmdW5jdGlvbiBzZXRTZXNzaW9uQ29va2llKCkgewotICAgICAgICBkb2N1bWVudC5jb29raWUg
PSBzZXNzaW9uQ29va2llTmFtZSArICI9MTsgcGF0aD0vIjsKLSAgICB9Ci0KLSAgICBmdW5jdGlv
biBzZXRQZXJzaXN0ZW50Q29va2llKCkgewotICAgICAgICBkb2N1bWVudC5jb29raWUgPSBwZXJz
aXN0ZW50Q29va2llTmFtZSArICI9MTsgcGF0aD0vOyBNYXgtQWdlPSIgKyB0d29NaW51dGVzSW5T
ZWNvbmRzICsgIjsiOwotICAgIH0KLQotICAgIGZ1bmN0aW9uIGNoZWNrQ29va2llcyhzaG91bGRI
YXZlU2Vzc2lvbkNvb2tpZSwgc2hvdWxkSGF2ZVBlcnNpc3RlbnRDb29raWUpIHsKLSAgICAgICAg
bGV0IGhhc1Nlc3Npb25Db29raWUgPSAoZG9jdW1lbnQuY29va2llICsgIiIpLmluY2x1ZGVzKHNl
c3Npb25Db29raWVOYW1lKSwKLSAgICAgICAgICAgIGhhc1BlcnNpc3RlbnRDb29raWUgPSAoZG9j
dW1lbnQuY29va2llICsgIiIpLmluY2x1ZGVzKHBlcnNpc3RlbnRDb29raWVOYW1lKTsKLQotICAg
ICAgICBpZiAoc2hvdWxkSGF2ZVNlc3Npb25Db29raWUgJiYgaGFzU2Vzc2lvbkNvb2tpZSkKLSAg
ICAgICAgICAgIHRlc3RQYXNzZWQoIlNob3VsZCBoYXZlIGFuZCBoYXMgdGhlIHNlc3Npb24gY29v
a2llLiIpOwotICAgICAgICBlbHNlIGlmIChzaG91bGRIYXZlU2Vzc2lvbkNvb2tpZSAmJiAhaGFz
U2Vzc2lvbkNvb2tpZSkgewotICAgICAgICAgICAgdGVzdEZhaWxlZCgiU2hvdWxkIGhhdmUgYnV0
IGRvZXNuJ3QgaGF2ZSB0aGUgc2Vzc2lvbiBjb29raWUuIik7Ci0gICAgICAgICAgICBzZXRFbmFi
bGVGZWF0dXJlKGZhbHNlLCBmaW5pc2hKU1Rlc3QpOwotICAgICAgICB9IGVsc2UgaWYgKCFzaG91
bGRIYXZlU2Vzc2lvbkNvb2tpZSAmJiBoYXNTZXNzaW9uQ29va2llKSB7Ci0gICAgICAgICAgICB0
ZXN0RmFpbGVkKCJTaG91bGRuJ3QgaGF2ZSBidXQgaGFzIHRoZSBzZXNzaW9uIGNvb2tpZS4iKTsK
LSAgICAgICAgICAgIHNldEVuYWJsZUZlYXR1cmUoZmFsc2UsIGZpbmlzaEpTVGVzdCk7Ci0gICAg
ICAgIH0gZWxzZQotICAgICAgICAgICAgdGVzdFBhc3NlZCgiU2hvdWxkbid0IGhhdmUgYW5kIGRv
ZXNuJ3QgaGF2ZSB0aGUgc2Vzc2lvbiBjb29raWUuIik7Ci0KLQotICAgICAgICBpZiAoc2hvdWxk
SGF2ZVBlcnNpc3RlbnRDb29raWUgJiYgaGFzUGVyc2lzdGVudENvb2tpZSkKLSAgICAgICAgICAg
IHRlc3RQYXNzZWQoIlNob3VsZCBoYXZlIGFuZCBoYXMgdGhlIHBlcnNpc3RlbnQgY29va2llLiIp
OwotICAgICAgICBlbHNlIGlmIChzaG91bGRIYXZlUGVyc2lzdGVudENvb2tpZSAmJiAhaGFzUGVy
c2lzdGVudENvb2tpZSkgewotICAgICAgICAgICAgdGVzdEZhaWxlZCgiU2hvdWxkIGhhdmUgYnV0
IGRvZXNuJ3QgaGF2ZSB0aGUgcGVyc2lzdGVudCBjb29raWUuIik7Ci0gICAgICAgICAgICBzZXRF
bmFibGVGZWF0dXJlKGZhbHNlLCBmaW5pc2hKU1Rlc3QpOwotICAgICAgICB9IGVsc2UgaWYgKCFz
aG91bGRIYXZlUGVyc2lzdGVudENvb2tpZSAmJiBoYXNQZXJzaXN0ZW50Q29va2llKSB7Ci0gICAg
ICAgICAgICB0ZXN0RmFpbGVkKCJTaG91bGRuJ3QgaGF2ZSBidXQgaGFzIHRoZSBwZXJzaXN0ZW50
IGNvb2tpZS4iKTsKLSAgICAgICAgICAgIHNldEVuYWJsZUZlYXR1cmUoZmFsc2UsIGZpbmlzaEpT
VGVzdCk7Ci0gICAgICAgIH0gZWxzZQotICAgICAgICAgICAgdGVzdFBhc3NlZCgiU2hvdWxkbid0
IGhhdmUgYW5kIGRvZXNuJ3QgaGF2ZSB0aGUgcGVyc2lzdGVudCBjb29raWUuIik7Ci0gICAgfQot
Ci0gICAgZnVuY3Rpb24gcnVuVGVzdCgpIHsKLSAgICAgICAgc3dpdGNoIChkb2N1bWVudC5sb2Nh
dGlvbi5oYXNoKSB7Ci0gICAgICAgICAgICBjYXNlICIiOgotICAgICAgICAgICAgICAgIGlmIChk
b2N1bWVudC5sb2NhdGlvbi5vcmlnaW4gIT09IHByZXZhbGVudE9yaWdpbikKLSAgICAgICAgICAg
ICAgICAgICAgdGVzdEZhaWxlZCgiVGVzdCBpcyBub3Qgc3RhcnRpbmcgb3V0IG9uICIgKyBwcmV2
YWxlbnRPcmlnaW4gKyAiLiIpOwotICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIuc2V0VXNlSVRQ
RGF0YWJhc2UodHJ1ZSk7Ci0gICAgICAgICAgICAgICAgc2V0RW5hYmxlRmVhdHVyZSh0cnVlLCBm
dW5jdGlvbiAoKSB7Ci0gICAgICAgICAgICAgICAgICAgIGlmICh0ZXN0UnVubmVyLmlzU3RhdGlz
dGljc1ByZXZhbGVudFJlc291cmNlKHByZXZhbGVudE9yaWdpbikpCi0gICAgICAgICAgICAgICAg
ICAgICAgICB0ZXN0RmFpbGVkKHByZXZhbGVudE9yaWdpbiArICIgd2FzIGNsYXNzaWZpZWQgYXMg
cHJldmFsZW50IHJlc291cmNlIGJlZm9yZSB0aGUgdGVzdCBzdGFydHMuIik7Ci0gICAgICAgICAg
ICAgICAgICAgIGRvY3VtZW50LmxvY2F0aW9uLmhhc2ggPSAic3RlcDEiOwotICAgICAgICAgICAg
ICAgICAgICBydW5UZXN0KCk7Ci0gICAgICAgICAgICAgICAgfSk7Ci0gICAgICAgICAgICAgICAg
YnJlYWs7Ci0gICAgICAgICAgICBjYXNlICIjc3RlcDEiOgotICAgICAgICAgICAgICAgIHRlc3RS
dW5uZXIuc2V0U3RhdGlzdGljc0hhc0hhZFVzZXJJbnRlcmFjdGlvbihwcmV2YWxlbnRPcmlnaW4s
IHRydWUsIGZ1bmN0aW9uKCkgewotICAgICAgICAgICAgICAgICAgICBzZXRTZXNzaW9uQ29va2ll
KCk7Ci0gICAgICAgICAgICAgICAgICAgIHNldFBlcnNpc3RlbnRDb29raWUoKTsKLSAgICAgICAg
ICAgICAgICAgICAgY2hlY2tDb29raWVzKHRydWUsIHRydWUpOwotICAgICAgICAgICAgICAgICAg
ICBpZiAodGVzdFJ1bm5lci5oYXNTdGF0aXN0aWNzSXNvbGF0ZWRTZXNzaW9uKHByZXZhbGVudE9y
aWdpbikpIHsKLSAgICAgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoIk9yaWdpbiBoYXMg
aXNvbGF0ZWQgc2Vzc2lvbi4iKTsKLSAgICAgICAgICAgICAgICAgICAgICAgIHNldEVuYWJsZUZl
YXR1cmUoZmFsc2UsIGZpbmlzaEpTVGVzdCk7Ci0gICAgICAgICAgICAgICAgICAgIH0gZWxzZQot
ICAgICAgICAgICAgICAgICAgICAgICAgdGVzdFBhc3NlZCgiT3JpZ2luIGhhcyBubyBpc29sYXRl
ZCBzZXNzaW9uLiIpOwotICAgICAgICAgICAgICAgICAgICBkb2N1bWVudC5sb2NhdGlvbi5ocmVm
ID0gbm9uUHJldmFsZW50T3JpZ2luICsgIi9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3N3aXRjaC1z
ZXNzaW9uLW9uLW5hdmlnYXRpb24tdG8tcHJldmFsZW50LXdpdGgtaW50ZXJhY3Rpb24tZGF0YWJh
c2UucGhwI3N0ZXAyIjsKLSAgICAgICAgICAgICAgICB9KTsKLSAgICAgICAgICAgICAgICBicmVh
azsKLSAgICAgICAgICAgIGNhc2UgIiNzdGVwMiI6Ci0gICAgICAgICAgICAgICAgZG9jdW1lbnQu
bG9jYXRpb24uaGFzaCA9ICJzdGVwMyI7Ci0gICAgICAgICAgICAgICAgaWYgKGRvY3VtZW50Lmxv
Y2F0aW9uLm9yaWdpbiAhPT0gbm9uUHJldmFsZW50T3JpZ2luKQotICAgICAgICAgICAgICAgICAg
ICB0ZXN0RmFpbGVkKCJTdGVwIDIgaXMgbm90IG9uICIgKyBub25QcmV2YWxlbnRPcmlnaW4gKyAi
LiIpOwotICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc1ByZXZhbGVudFJl
c291cmNlKHByZXZhbGVudE9yaWdpbiwgdHJ1ZSwgZnVuY3Rpb24oKSB7Ci0gICAgICAgICAgICAg
ICAgICAgIGlmICghdGVzdFJ1bm5lci5pc1N0YXRpc3RpY3NQcmV2YWxlbnRSZXNvdXJjZShwcmV2
YWxlbnRPcmlnaW4pKSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKHByZXZh
bGVudE9yaWdpbiArICIgZGlkIG5vdCBnZXQgc2V0IGFzIHByZXZhbGVudCByZXNvdXJjZS4iKTsK
LSAgICAgICAgICAgICAgICAgICAgICAgIHNldEVuYWJsZUZlYXR1cmUoZmFsc2UsIGZpbmlzaEpT
VGVzdCk7Ci0gICAgICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICAgICAgdGVzdFJ1
bm5lci5zdGF0aXN0aWNzVXBkYXRlQ29va2llQmxvY2tpbmcocnVuVGVzdCk7Ci0gICAgICAgICAg
ICAgICAgfSk7Ci0gICAgICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgICAgICBjYXNlICIjc3Rl
cDMiOgotICAgICAgICAgICAgICAgIGRvY3VtZW50LmxvY2F0aW9uLmhyZWYgPSBwcmV2YWxlbnRP
cmlnaW4gKyAiL3Jlc291cmNlTG9hZFN0YXRpc3RpY3Mvc3dpdGNoLXNlc3Npb24tb24tbmF2aWdh
dGlvbi10by1wcmV2YWxlbnQtd2l0aC1pbnRlcmFjdGlvbi1kYXRhYmFzZS5waHAjc3RlcDQiOwot
ICAgICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICAgICAgY2FzZSAiI3N0ZXA0IjoKLSAgICAg
ICAgICAgICAgICBjaGVja0Nvb2tpZXModHJ1ZSwgdHJ1ZSk7Ci0gICAgICAgICAgICAgICAgaWYg
KHRlc3RSdW5uZXIuaGFzU3RhdGlzdGljc0lzb2xhdGVkU2Vzc2lvbihwcmV2YWxlbnRPcmlnaW4p
KQotICAgICAgICAgICAgICAgICAgICB0ZXN0UGFzc2VkKCJPcmlnaW4gaGFzIGlzb2xhdGVkIHNl
c3Npb24uIik7Ci0gICAgICAgICAgICAgICAgZWxzZQotICAgICAgICAgICAgICAgICAgICB0ZXN0
RmFpbGVkKCJPcmlnaW4gaGFzIG5vIGlzb2xhdGVkIHNlc3Npb24uIik7Ci0gICAgICAgICAgICAg
ICAgc2V0RW5hYmxlRmVhdHVyZShmYWxzZSwgZmluaXNoSlNUZXN0KTsKLSAgICAgICAgICAgICAg
ICBicmVhazsKLSAgICAgICAgICAgIGRlZmF1bHQ6Ci0gICAgICAgICAgICAgICAgdGVzdEZhaWxl
ZCgiVW5rbm93biBoYXNoLiIpOwotICAgICAgICAgICAgICAgIHNldEVuYWJsZUZlYXR1cmUoZmFs
c2UsIGZpbmlzaEpTVGVzdCk7Ci0gICAgICAgIH0KLSAgICB9Ci08L3NjcmlwdD4KLTwvYm9keT4K
LTwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2Fk
U3RhdGlzdGljcy90ZWxlbWV0cnktZ2VuZXJhdGlvbi1hZHZhbmNlZC1mdW5jdGlvbmFsaXR5LWRh
dGFiYXNlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2Fk
U3RhdGlzdGljcy90ZWxlbWV0cnktZ2VuZXJhdGlvbi1hZHZhbmNlZC1mdW5jdGlvbmFsaXR5LWRh
dGFiYXNlLWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYzY4NzE1
MGE0NzFmYjc4MWMzOWQ4YjRmNTczNWFlNWRjNDNlY2Y1Zi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNl
TG9hZFN0YXRpc3RpY3MvdGVsZW1ldHJ5LWdlbmVyYXRpb24tYWR2YW5jZWQtZnVuY3Rpb25hbGl0
eS1kYXRhYmFzZS1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSwyMCArMCwwIEBACi1U
ZXN0cyB0aGF0IGFkdmFuY2VkIHRlbGVtZXRyeSBmb3IgcHJldmFsZW50IHJlc291cmNlcyBpbiB0
aGUgU1FMaXRlIERhdGFiYXNlIGlzIGNhbGN1bGF0ZWQgY29ycmVjdGx5LgotCi1PbiBzdWNjZXNz
LCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAi
VEVTVCBDT01QTEVURSIuCi0KLQotUEFTUyBIb3N0cyBjbGFzc2lmaWVkIGNvcnJlY3RseS4KLVBB
U1MgdGVzdFJlc3VsdC5udW1iZXJPZlByZXZhbGVudFJlc291cmNlcyBpcyA1Ci1QQVNTIHRlc3RS
ZXN1bHQubnVtYmVyT2ZQcmV2YWxlbnRSZXNvdXJjZXNXaXRoVXNlckludGVyYWN0aW9uIGlzIDIK
LVBBU1MgdGVzdFJlc3VsdC5udW1iZXJPZlByZXZhbGVudFJlc291cmNlc1dpdGhvdXRVc2VySW50
ZXJhY3Rpb24gaXMgMwotUEFTUyB0ZXN0UmVzdWx0LnRvcFByZXZhbGVudFJlc291cmNlV2l0aFVz
ZXJJbnRlcmFjdGlvbkRheXNTaW5jZVVzZXJJbnRlcmFjdGlvbiBpcyAwCi1QQVNTIHRlc3RSZXN1
bHQubWVkaWFuRGF5c1NpbmNlVXNlckludGVyYWN0aW9uUHJldmFsZW50UmVzb3VyY2VXaXRoVXNl
ckludGVyYWN0aW9uIGlzIDEKLVBBU1MgdGVzdFJlc3VsdC50b3AzTnVtYmVyT2ZQcmV2YWxlbnRS
ZXNvdXJjZXNXaXRoVUkgaXMgMgotUEFTUyB0ZXN0UmVzdWx0LnRvcDNNZWRpYW5TdWJGcmFtZVdp
dGhvdXRVSSBpcyA1Ci1QQVNTIHRlc3RSZXN1bHQudG9wM01lZGlhblN1YlJlc291cmNlV2l0aG91
dFVJIGlzIDUKLVBBU1MgdGVzdFJlc3VsdC50b3AzTWVkaWFuVW5pcXVlUmVkaXJlY3RzV2l0aG91
dFVJIGlzIDQKLVBBU1MgdGVzdFJlc3VsdC50b3AzTWVkaWFuRGF0YVJlY29yZHNSZW1vdmVkV2l0
aG91dFVJIGlzIDAKLVBBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKLQotVEVTVCBDT01Q
TEVURQotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0
YXRpc3RpY3MvdGVsZW1ldHJ5LWdlbmVyYXRpb24tYWR2YW5jZWQtZnVuY3Rpb25hbGl0eS1kYXRh
YmFzZS5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNz
L3RlbGVtZXRyeS1nZW5lcmF0aW9uLWFkdmFuY2VkLWZ1bmN0aW9uYWxpdHktZGF0YWJhc2UuaHRt
bApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMzhjNmNlMGNiNTlmMjdhN2NlZjFmN2Nm
MmE5NjVmMmVjODFiN2VjNC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvdGVs
ZW1ldHJ5LWdlbmVyYXRpb24tYWR2YW5jZWQtZnVuY3Rpb25hbGl0eS1kYXRhYmFzZS5odG1sCisr
KyAvZGV2L251bGwKQEAgLTEsMTU1ICswLDAgQEAKLTwhRE9DVFlQRSBodG1sPgotPGh0bWw+Ci08
aGVhZD4KLSAgICA8bWV0YSBjaGFyc2V0PSJVVEYtOCI+Ci0gICAgPHRpdGxlPlRlc3QgZm9yIEFk
dmFuY2VkIFRlbGVtZXRyeSBHZW5lcmF0aW9uPC90aXRsZT4KLSAgICA8c2NyaXB0IHNyYz0iL2pz
LXRlc3QtcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgotICAgIDxzY3JpcHQgc3JjPSJy
ZXNvdXJjZXMvdXRpbC5qcyI+PC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keT4KLTxzY3JpcHQ+Ci0g
ICAgdGVzdFJ1bm5lci5zZXRVc2VJVFBEYXRhYmFzZSh0cnVlKTsKLSAgICBkZXNjcmlwdGlvbigi
VGVzdHMgdGhhdCBhZHZhbmNlZCB0ZWxlbWV0cnkgZm9yIHByZXZhbGVudCByZXNvdXJjZXMgaW4g
dGhlIFNRTGl0ZSBEYXRhYmFzZSBpcyBjYWxjdWxhdGVkIGNvcnJlY3RseS4iKTsKLSAgICBqc1Rl
c3RJc0FzeW5jID0gdHJ1ZTsKLQotICAgIGNvbnN0IHRvcEZyYW1lVXJsID0gImh0dHA6Ly8xMjcu
MC4wLjU6ODAwMC90ZW1wIjsKLSAgICBjb25zdCB0b3BSZXNvdXJjZVVybCA9ICJodHRwOi8vMTI3
LjAuMC42OjgwMDAvdGVtcCI7Ci0gICAgY29uc3QgdG9VbmlxdWVSZWRpcmVjdFVybCA9ICJodHRw
Oi8vMTI3LjAuMC43OjgwMDAvdGVtcCI7Ci0gICAgCi0gICAgY29uc3QgdG9wRnJhbWVVcmwxID0g
Imh0dHA6Ly8xMjcuMC4wLjE6ODAwMC90ZW1wIjsKLSAgICBjb25zdCB0b3BGcmFtZVVybDIgPSAi
aHR0cDovLzEyNy4wLjAuMjo4MDAwL3RlbXAiOwotICAgIGNvbnN0IHRvcEZyYW1lVXJsMyA9ICJo
dHRwOi8vMTI3LjAuMC4zOjgwMDAvdGVtcCI7Ci0gICAgY29uc3QgdG9wRnJhbWVVcmw0ID0gImh0
dHA6Ly8xMjcuMC4wLjQ6ODAwMC90ZW1wIjsKLSAgICAKLSAgICAKLSAgICBjb25zdCB1cmwxID0g
Imh0dHA6Ly8xMjcuMC4xLjE6ODAwMC90ZW1wIjsKLSAgICBjb25zdCB1cmwyID0gImh0dHA6Ly8x
MjcuMC4xLjI6ODAwMC90ZW1wIjsKLSAgICBjb25zdCB1cmwzID0gImh0dHA6Ly8xMjcuMC4xLjM6
ODAwMC90ZW1wIjsKLSAgICBjb25zdCB1cmw0ID0gImh0dHA6Ly8xMjcuMC4xLjQ6ODAwMC90ZW1w
IjsKLSAgICBjb25zdCB1cmw1ID0gImh0dHA6Ly8xMjcuMC4xLjU6ODAwMC90ZW1wIjsKLSAgICAK
LSAgICBjb25zdCB0d29EYXlzT2xkID0gTWF0aC5yb3VuZCgobmV3IERhdGUoKSkuZ2V0VGltZSgp
IC8gMTAwMCkgLSAxODAwMDA7Ci0KLSAgICBmdW5jdGlvbiBjaGVja0NsYXNzaWZpY2F0aW9uQW5k
Q29udGludWUoKSB7Ci0gICAgICAgIGlmICghdGVzdFJ1bm5lci5pc1N0YXRpc3RpY3NQcmV2YWxl
bnRSZXNvdXJjZSh1cmwxKSkgewotICAgICAgICAgICAgdGVzdEZhaWxlZCgiSG9zdCAxIGRpZCBu
b3QgZ2V0IGNsYXNzaWZpZWQgYXMgcHJldmFsZW50IHJlc291cmNlLiIpOwotICAgICAgICAgICAg
c2V0RW5hYmxlRmVhdHVyZShmYWxzZSwgZmluaXNoSlNUZXN0KTsKLSAgICAgICAgfSBlbHNlIGlm
ICghdGVzdFJ1bm5lci5pc1N0YXRpc3RpY3NQcmV2YWxlbnRSZXNvdXJjZSh1cmwyKSkgewotICAg
ICAgICAgICAgdGVzdEZhaWxlZCgiSG9zdCAyIGRpZCBub3QgZ2V0IGNsYXNzaWZpZWQgYXMgcHJl
dmFsZW50IHJlc291cmNlLiIpOwotICAgICAgICAgICAgc2V0RW5hYmxlRmVhdHVyZShmYWxzZSwg
ZmluaXNoSlNUZXN0KTsKLSAgICAgICAgfSBlbHNlIGlmICghdGVzdFJ1bm5lci5pc1N0YXRpc3Rp
Y3NQcmV2YWxlbnRSZXNvdXJjZSh1cmwzKSkgewotICAgICAgICAgICAgdGVzdEZhaWxlZCgiSG9z
dCAzIGRpZCBub3QgZ2V0IGNsYXNzaWZpZWQgYXMgcHJldmFsZW50IHJlc291cmNlLiIpOwotICAg
ICAgICAgICAgc2V0RW5hYmxlRmVhdHVyZShmYWxzZSwgZmluaXNoSlNUZXN0KTsKLSAgICAgICAg
fSBlbHNlIGlmICghdGVzdFJ1bm5lci5pc1N0YXRpc3RpY3NQcmV2YWxlbnRSZXNvdXJjZSh1cmw0
KSkgewotICAgICAgICAgICAgdGVzdEZhaWxlZCgiSG9zdCA0IGRpZCBub3QgZ2V0IGNsYXNzaWZp
ZWQgYXMgcHJldmFsZW50IHJlc291cmNlLiIpOwotICAgICAgICAgICAgc2V0RW5hYmxlRmVhdHVy
ZShmYWxzZSwgZmluaXNoSlNUZXN0KTsKLSAgICAgICAgfSBlbHNlIGlmICghdGVzdFJ1bm5lci5p
c1N0YXRpc3RpY3NQcmV2YWxlbnRSZXNvdXJjZSh1cmw1KSkgewotICAgICAgICAgICAgdGVzdEZh
aWxlZCgiSG9zdCA1IGRpZCBub3QgZ2V0IGNsYXNzaWZpZWQgYXMgcHJldmFsZW50IHJlc291cmNl
LiIpOwotICAgICAgICAgICAgc2V0RW5hYmxlRmVhdHVyZShmYWxzZSwgZmluaXNoSlNUZXN0KTsK
LSAgICAgICAgfSBlbHNlIGlmICghdGVzdFJ1bm5lci5pc1N0YXRpc3RpY3NIYXNIYWRVc2VySW50
ZXJhY3Rpb24odXJsMSkpIHsKLSAgICAgICAgICAgIHRlc3RGYWlsZWQoIkhvc3QgMSBkaWQgbm90
IGdldCBjbGFzc2lmaWVkIGFzIGhhdmluZyB1c2VyIGludGVyYWN0aW9uLiIpOwotICAgICAgICAg
ICAgc2V0RW5hYmxlRmVhdHVyZShmYWxzZSwgZmluaXNoSlNUZXN0KTsKLSAgICAgICAgfSBlbHNl
IGlmICghdGVzdFJ1bm5lci5pc1N0YXRpc3RpY3NIYXNIYWRVc2VySW50ZXJhY3Rpb24odXJsMikp
IHsKLSAgICAgICAgICAgIHRlc3RGYWlsZWQoIkhvc3QgMiBkaWQgbm90IGdldCBjbGFzc2lmaWVk
IGFzIGhhdmluZyB1c2VyIGludGVyYWN0aW9uLiIpOwotICAgICAgICAgICAgc2V0RW5hYmxlRmVh
dHVyZShmYWxzZSwgZmluaXNoSlNUZXN0KTsKLSAgICAgICAgfSBlbHNlIGlmICghdGVzdFJ1bm5l
ci5pc1N0YXRpc3RpY3NSZWdpc3RlcmVkQXNTdWJGcmFtZVVuZGVyKHVybDEsIHRvcEZyYW1lVXJs
KSkgewotICAgICAgICAgICAgdGVzdEZhaWxlZCgiSG9zdCAxIGRpZCBub3QgZ2V0IHNldCBhcyBz
dWJmcmFtZS4iKTsKLSAgICAgICAgICAgIHNldEVuYWJsZUZlYXR1cmUoZmFsc2UsIGZpbmlzaEpT
VGVzdCk7Ci0gICAgICAgIH0gZWxzZSBpZiAoIXRlc3RSdW5uZXIuaXNTdGF0aXN0aWNzUmVnaXN0
ZXJlZEFzU3VicmVzb3VyY2VVbmRlcih1cmwxLCB0b3BSZXNvdXJjZVVybCkpIHsKLSAgICAgICAg
ICAgIHRlc3RGYWlsZWQoIkhvc3QgMSBkaWQgbm90IGdldCBzZXQgYXMgc3VicmVzb3VyY2UuIik7
Ci0gICAgICAgICAgICBzZXRFbmFibGVGZWF0dXJlKGZhbHNlLCBmaW5pc2hKU1Rlc3QpOwotICAg
ICAgICB9IGVsc2UgaWYgKCF0ZXN0UnVubmVyLmlzU3RhdGlzdGljc1JlZ2lzdGVyZWRBc1N1YkZy
YW1lVW5kZXIodXJsMiwgdG9wRnJhbWVVcmwpKSB7Ci0gICAgICAgICAgICB0ZXN0RmFpbGVkKCJI
b3N0IDIgZGlkIG5vdCBnZXQgc2V0IGFzIHN1YmZyYW1lLiIpOwotICAgICAgICAgICAgc2V0RW5h
YmxlRmVhdHVyZShmYWxzZSwgZmluaXNoSlNUZXN0KTsKLSAgICAgICAgfSBlbHNlIGlmICghdGVz
dFJ1bm5lci5pc1N0YXRpc3RpY3NSZWdpc3RlcmVkQXNTdWJGcmFtZVVuZGVyKHVybDMsIHRvcEZy
YW1lVXJsKSkgewotICAgICAgICAgICAgdGVzdEZhaWxlZCgiSG9zdCAzIGRpZCBub3QgZ2V0IHNl
dCBhcyBzdWJmcmFtZS4iKTsKLSAgICAgICAgICAgIHNldEVuYWJsZUZlYXR1cmUoZmFsc2UsIGZp
bmlzaEpTVGVzdCk7Ci0gICAgICAgIH0gZWxzZSBpZiAoIXRlc3RSdW5uZXIuaXNTdGF0aXN0aWNz
UmVnaXN0ZXJlZEFzU3VicmVzb3VyY2VVbmRlcih1cmwzLCB0b3BSZXNvdXJjZVVybCkpIHsKLSAg
ICAgICAgICAgIHRlc3RGYWlsZWQoIkhvc3QgMyBkaWQgbm90IGdldCBzZXQgYXMgc3VicmVzb3Vy
Y2UuIik7Ci0gICAgICAgICAgICBzZXRFbmFibGVGZWF0dXJlKGZhbHNlLCBmaW5pc2hKU1Rlc3Qp
OwotICAgICAgICB9IGVsc2UgaWYgKCF0ZXN0UnVubmVyLmlzU3RhdGlzdGljc1JlZ2lzdGVyZWRB
c1N1YkZyYW1lVW5kZXIodXJsNCwgdG9wRnJhbWVVcmwpKSB7Ci0gICAgICAgICAgICB0ZXN0RmFp
bGVkKCJIb3N0IDQgZGlkIG5vdCBnZXQgc2V0IGFzIHN1YmZyYW1lLiIpOwotICAgICAgICAgICAg
c2V0RW5hYmxlRmVhdHVyZShmYWxzZSwgZmluaXNoSlNUZXN0KTsKLSAgICAgICAgfSBlbHNlIHsK
LSAgICAgICAgICAgIHRlc3RQYXNzZWQoIkhvc3RzIGNsYXNzaWZpZWQgY29ycmVjdGx5LiIpOwot
ICAgICAgICAgICAgcnVuVGVsZW1ldHJ5QW5kQ29udGludWUoKTsKLSAgICAgICAgfQotICAgIH0K
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCi0gICAgZnVuY3Rpb24gbWFrZVVybFByZXZh
bGVudChwcmV2YWxlbnRSZXNvdXJjZVVybCkgewotICAgICAgICB0ZXN0UnVubmVyLnNldFN0YXRp
c3RpY3NTdWJmcmFtZVVuZGVyVG9wRnJhbWVPcmlnaW4ocHJldmFsZW50UmVzb3VyY2VVcmwsIHRv
cEZyYW1lVXJsMSk7Ci0gICAgICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc1N1YmZyYW1lVW5k
ZXJUb3BGcmFtZU9yaWdpbihwcmV2YWxlbnRSZXNvdXJjZVVybCwgdG9wRnJhbWVVcmwyKTsKLSAg
ICAgICAgdGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNzU3ViZnJhbWVVbmRlclRvcEZyYW1lT3JpZ2lu
KHByZXZhbGVudFJlc291cmNlVXJsLCB0b3BGcmFtZVVybDMpOwotICAgICAgICB0ZXN0UnVubmVy
LnNldFN0YXRpc3RpY3NTdWJmcmFtZVVuZGVyVG9wRnJhbWVPcmlnaW4ocHJldmFsZW50UmVzb3Vy
Y2VVcmwsIHRvcEZyYW1lVXJsNCk7Ci0KLSAgICAgICAgdGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNz
U3VicmVzb3VyY2VVbmlxdWVSZWRpcmVjdFRvKHByZXZhbGVudFJlc291cmNlVXJsLCB0b3BGcmFt
ZVVybDEpOwotICAgICAgICB0ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NTdWJyZXNvdXJjZVVuaXF1
ZVJlZGlyZWN0VG8ocHJldmFsZW50UmVzb3VyY2VVcmwsIHRvcEZyYW1lVXJsMik7Ci0gICAgICAg
IHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc1N1YnJlc291cmNlVW5pcXVlUmVkaXJlY3RUbyhwcmV2
YWxlbnRSZXNvdXJjZVVybCwgdG9wRnJhbWVVcmwzKTsKLSAgICAgICAgdGVzdFJ1bm5lci5zZXRT
dGF0aXN0aWNzU3VicmVzb3VyY2VVbmlxdWVSZWRpcmVjdFRvKHByZXZhbGVudFJlc291cmNlVXJs
LCB0b3BGcmFtZVVybDQpOwotCi0gICAgICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc1N1YnJl
c291cmNlVW5kZXJUb3BGcmFtZU9yaWdpbihwcmV2YWxlbnRSZXNvdXJjZVVybCwgdG9wRnJhbWVV
cmwxKTsKLSAgICAgICAgdGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNzU3VicmVzb3VyY2VVbmRlclRv
cEZyYW1lT3JpZ2luKHByZXZhbGVudFJlc291cmNlVXJsLCB0b3BGcmFtZVVybDIpOwotICAgICAg
ICB0ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NTdWJyZXNvdXJjZVVuZGVyVG9wRnJhbWVPcmlnaW4o
cHJldmFsZW50UmVzb3VyY2VVcmwsIHRvcEZyYW1lVXJsMyk7Ci0gICAgICAgIHRlc3RSdW5uZXIu
c2V0U3RhdGlzdGljc1N1YnJlc291cmNlVW5kZXJUb3BGcmFtZU9yaWdpbihwcmV2YWxlbnRSZXNv
dXJjZVVybCwgdG9wRnJhbWVVcmw0KTsKLSAgICB9Ci0KLSAgICBmdW5jdGlvbiBzZXRVcFN0YXRp
c3RpY3NBbmRDb250aW51ZSgpIHsKLSAgICAgICAgLy8gbWVyZ2Ugc3RhdGlzdGljIGFyZ3VtZW50
czogaG9zdE5hbWUsIHRvcEZyYW1lRG9tYWluLCBsYXN0U2VlbiwgaGFkVXNlckludGVyYWN0aW9u
LCBtb3N0UmVjZW50VXNlckludGVyYWN0aW9uLCBpc0dyYW5kZmF0aGVyZWQsIGlzUHJldmFsZW50
LCBpc1ZlcnlQcmV2YWxlbnQsIGRhdGFSZWNvcmRzUmVtb3ZlZAotICAgICAgICAgbWFrZVVybFBy
ZXZhbGVudCh1cmwxKTsKLSAgICAgICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc1N1YmZyYW1l
VW5kZXJUb3BGcmFtZU9yaWdpbih1cmwxLCB0b3BGcmFtZVVybCk7Ci0gICAgICAgICB0ZXN0UnVu
bmVyLnNldFN0YXRpc3RpY3NTdWJyZXNvdXJjZVVuZGVyVG9wRnJhbWVPcmlnaW4odXJsMSwgdG9w
UmVzb3VyY2VVcmwpOwotICAgICAgICAgdGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNzU3VicmVzb3Vy
Y2VVbmlxdWVSZWRpcmVjdFRvKHVybDEsIHRvVW5pcXVlUmVkaXJlY3RVcmwpOwotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAKLSAgICAgICAgIG1ha2VVcmxQcmV2YWxlbnQodXJsMik7Ci0g
ICAgICAgICB0ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NTdWJmcmFtZVVuZGVyVG9wRnJhbWVPcmln
aW4odXJsMiwgdG9wRnJhbWVVcmwpOwotICAgICAgICAgdGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNz
U3VicmVzb3VyY2VVbmlxdWVSZWRpcmVjdFRvKHVybDIsIHRvVW5pcXVlUmVkaXJlY3RVcmwpOwot
Ci0gICAgICAgICBtYWtlVXJsUHJldmFsZW50KHVybDMpOwotICAgICAgICAgdGVzdFJ1bm5lci5z
ZXRTdGF0aXN0aWNzU3ViZnJhbWVVbmRlclRvcEZyYW1lT3JpZ2luKHVybDMsIHRvcEZyYW1lVXJs
KTsKLSAgICAgICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc1N1YnJlc291cmNlVW5kZXJUb3BG
cmFtZU9yaWdpbih1cmwzLCB0b3BSZXNvdXJjZVVybCk7Ci0gICAgICAgICB0ZXN0UnVubmVyLnNl
dFN0YXRpc3RpY3NTdWJyZXNvdXJjZVVuaXF1ZVJlZGlyZWN0VG8odXJsMywgdG9VbmlxdWVSZWRp
cmVjdFVybCk7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIAotICAgICAgICAgbWFrZVVy
bFByZXZhbGVudCh1cmw0KTsKLSAgICAgICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc1N1YmZy
YW1lVW5kZXJUb3BGcmFtZU9yaWdpbih1cmw0LCB0b3BGcmFtZVVybCk7Ci0gICAgICAgICB0ZXN0
UnVubmVyLnNldFN0YXRpc3RpY3NTdWJyZXNvdXJjZVVuZGVyVG9wRnJhbWVPcmlnaW4odXJsNCwg
dG9wUmVzb3VyY2VVcmwpOwotCi0gICAgICAgICBtYWtlVXJsUHJldmFsZW50KHVybDUpOwotCi0g
ICAgICAgIC8vIHNldCBVUkxzIDEgYW5kIDIgdG8gaGF2ZSB1c2VyIGludGVyYWN0aW9uLiBVSSBm
b3IgdXJsIDIgd2lsbCBiZSBzZXQgdG8gYmUgMiBkYXlzIG9sZC4KLSAgICAgICAgdGVzdFJ1bm5l
ci5zZXRTdGF0aXN0aWNzSGFzSGFkVXNlckludGVyYWN0aW9uKHVybDEsIHRydWUsIGZ1bmN0aW9u
KCkgewotICAgICAgICAgICAgdGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNzTWVyZ2VTdGF0aXN0aWMo
dXJsMiwgdG9wRnJhbWVVcmwsICIiLCB0d29EYXlzT2xkLCB0cnVlLCB0d29EYXlzT2xkLCBmYWxz
ZSwgdHJ1ZSwgZmFsc2UsIDAsIGZ1bmN0aW9uKCkgewotICAgICAgICAgICAgICAgIHRlc3RSdW5u
ZXIuaW5zdGFsbFN0YXRpc3RpY3NEaWRTY2FuRGF0YVJlY29yZHNDYWxsYmFjayhjaGVja0NsYXNz
aWZpY2F0aW9uQW5kQ29udGludWUpOwotICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIuaW5zdGFs
bFN0YXRpc3RpY3NEaWRSdW5UZWxlbWV0cnlDYWxsYmFjayhjaGVja1RlbGVtZXRyeSk7Ci0gICAg
ICAgICAgICAgICAgdGVzdFJ1bm5lci5zdGF0aXN0aWNzUHJvY2Vzc1N0YXRpc3RpY3NBbmREYXRh
UmVjb3JkcygpOwotICAgICAgICAgICAgfSk7Ci0gICAgICAgIH0pOwotICAgIH0KLQotICAgIGZ1
bmN0aW9uIHJ1blRlbGVtZXRyeUFuZENvbnRpbnVlKCkgewotICAgICAgICB0ZXN0UnVubmVyLnN0
YXRpc3RpY3NTdWJtaXRUZWxlbWV0cnkoKTsKLSAgICB9Ci0KLSAgICB2YXIgdGVzdFJlc3VsdDsK
LSAgICBmdW5jdGlvbiBjaGVja1RlbGVtZXRyeShyZXN1bHQpIHsKLSAgICAgICAgdGVzdFJlc3Vs
dCA9IHJlc3VsdDsKLSAgICAgICAgc2hvdWxkQmUoInRlc3RSZXN1bHQubnVtYmVyT2ZQcmV2YWxl
bnRSZXNvdXJjZXMiLCAiNSIpOwotICAgICAgICBzaG91bGRCZSgidGVzdFJlc3VsdC5udW1iZXJP
ZlByZXZhbGVudFJlc291cmNlc1dpdGhVc2VySW50ZXJhY3Rpb24iLCAiMiIpOwotICAgICAgICBz
aG91bGRCZSgidGVzdFJlc3VsdC5udW1iZXJPZlByZXZhbGVudFJlc291cmNlc1dpdGhvdXRVc2Vy
SW50ZXJhY3Rpb24iLCAiMyIpOwotICAgICAgICBzaG91bGRCZSgidGVzdFJlc3VsdC50b3BQcmV2
YWxlbnRSZXNvdXJjZVdpdGhVc2VySW50ZXJhY3Rpb25EYXlzU2luY2VVc2VySW50ZXJhY3Rpb24i
LCAiMCIpOwotICAgICAgICBzaG91bGRCZSgidGVzdFJlc3VsdC5tZWRpYW5EYXlzU2luY2VVc2Vy
SW50ZXJhY3Rpb25QcmV2YWxlbnRSZXNvdXJjZVdpdGhVc2VySW50ZXJhY3Rpb24iLCAiMSIpOwot
ICAgICAgICBzaG91bGRCZSgidGVzdFJlc3VsdC50b3AzTnVtYmVyT2ZQcmV2YWxlbnRSZXNvdXJj
ZXNXaXRoVUkiLCAiMiIpOwotICAgICAgICBzaG91bGRCZSgidGVzdFJlc3VsdC50b3AzTWVkaWFu
U3ViRnJhbWVXaXRob3V0VUkiLCAiNSIpOwotICAgICAgICBzaG91bGRCZSgidGVzdFJlc3VsdC50
b3AzTWVkaWFuU3ViUmVzb3VyY2VXaXRob3V0VUkiLCAiNSIpOwotICAgICAgICBzaG91bGRCZSgi
dGVzdFJlc3VsdC50b3AzTWVkaWFuVW5pcXVlUmVkaXJlY3RzV2l0aG91dFVJIiwgIjQiKTsKLSAg
ICAgICAgc2hvdWxkQmUoInRlc3RSZXN1bHQudG9wM01lZGlhbkRhdGFSZWNvcmRzUmVtb3ZlZFdp
dGhvdXRVSSIsICIwIik7Ci0gICAgICAgIHNldEVuYWJsZUZlYXR1cmUoZmFsc2UsIGZpbmlzaEpT
VGVzdCk7Ci0gICAgfQotCi0gICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7Ci0gICAgICAgIHNl
dEVuYWJsZUZlYXR1cmUodHJ1ZSwgZnVuY3Rpb24oKSB7Ci0gICAgICAgICAgICBzZXRVcFN0YXRp
c3RpY3NBbmRDb250aW51ZSgpOwotICAgICAgICB9KTsKLSAgICB9Ci08L3NjcmlwdD4KLTwvYm9k
eT4KLTwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VM
b2FkU3RhdGlzdGljcy90ZWxlbWV0cnktZ2VuZXJhdGlvbi1iYXNpYy1mdW5jdGlvbmFsaXR5LWRh
dGFiYXNlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2Fk
U3RhdGlzdGljcy90ZWxlbWV0cnktZ2VuZXJhdGlvbi1iYXNpYy1mdW5jdGlvbmFsaXR5LWRhdGFi
YXNlLWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZmU0MzhjOWUx
NDg2YWU1N2EyMGExNWViOTljZjRiMmQ4ZjA4NDEzZS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9h
ZFN0YXRpc3RpY3MvdGVsZW1ldHJ5LWdlbmVyYXRpb24tYmFzaWMtZnVuY3Rpb25hbGl0eS1kYXRh
YmFzZS1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSwzMSArMCwwIEBACi1UZXN0cyB0
aGF0IGJhc2ljIHRlbGVtZXRyeSBmb3IgcHJldmFsZW50IHJlc291cmNlcyBpbiB0aGUgU1FMaXRl
IERhdGFiYXNlIGlzIGNhbGN1bGF0ZWQgY29ycmVjdGx5LgotCi1PbiBzdWNjZXNzLCB5b3Ugd2ls
bCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01Q
TEVURSIuCi0KLQotUEFTUyBIb3N0cyBjbGFzc2lmaWVkIGFzIHByZXZhbGVudCByZXNvdXJjZXMu
Ci1QQVNTIHRlc3RSZXN1bHQubnVtYmVyT2ZQcmV2YWxlbnRSZXNvdXJjZXMgaXMgMAotUEFTUyB0
ZXN0UmVzdWx0Lm51bWJlck9mUHJldmFsZW50UmVzb3VyY2VzV2l0aFVzZXJJbnRlcmFjdGlvbiBp
cyAwCi1QQVNTIHRlc3RSZXN1bHQubnVtYmVyT2ZQcmV2YWxlbnRSZXNvdXJjZXNXaXRob3V0VXNl
ckludGVyYWN0aW9uIGlzIDAKLVBBU1MgdGVzdFJlc3VsdC50b3BQcmV2YWxlbnRSZXNvdXJjZVdp
dGhVc2VySW50ZXJhY3Rpb25EYXlzU2luY2VVc2VySW50ZXJhY3Rpb24gaXMgMAotUEFTUyB0ZXN0
UmVzdWx0Lm1lZGlhbkRheXNTaW5jZVVzZXJJbnRlcmFjdGlvblByZXZhbGVudFJlc291cmNlV2l0
aFVzZXJJbnRlcmFjdGlvbiBpcyAwCi1QQVNTIHRlc3RSZXN1bHQudG9wM051bWJlck9mUHJldmFs
ZW50UmVzb3VyY2VzV2l0aFVJIGlzIDAKLVBBU1MgdGVzdFJlc3VsdC50b3AzTWVkaWFuU3ViRnJh
bWVXaXRob3V0VUkgaXMgMAotUEFTUyB0ZXN0UmVzdWx0LnRvcDNNZWRpYW5TdWJSZXNvdXJjZVdp
dGhvdXRVSSBpcyAwCi1QQVNTIHRlc3RSZXN1bHQudG9wM01lZGlhblVuaXF1ZVJlZGlyZWN0c1dp
dGhvdXRVSSBpcyAwCi1QQVNTIHRlc3RSZXN1bHQudG9wM01lZGlhbkRhdGFSZWNvcmRzUmVtb3Zl
ZFdpdGhvdXRVSSBpcyAwCi1QQVNTIEhvc3RzIGNsYXNzaWZpZWQgYXMgcHJldmFsZW50IHJlc291
cmNlcy4KLVBBU1MgdGVzdFJlc3VsdC5udW1iZXJPZlByZXZhbGVudFJlc291cmNlcyBpcyA0Ci1Q
QVNTIHRlc3RSZXN1bHQubnVtYmVyT2ZQcmV2YWxlbnRSZXNvdXJjZXNXaXRoVXNlckludGVyYWN0
aW9uIGlzIDEKLVBBU1MgdGVzdFJlc3VsdC5udW1iZXJPZlByZXZhbGVudFJlc291cmNlc1dpdGhv
dXRVc2VySW50ZXJhY3Rpb24gaXMgMwotUEFTUyB0ZXN0UmVzdWx0LnRvcFByZXZhbGVudFJlc291
cmNlV2l0aFVzZXJJbnRlcmFjdGlvbkRheXNTaW5jZVVzZXJJbnRlcmFjdGlvbiBpcyAwCi1QQVNT
IHRlc3RSZXN1bHQubWVkaWFuRGF5c1NpbmNlVXNlckludGVyYWN0aW9uUHJldmFsZW50UmVzb3Vy
Y2VXaXRoVXNlckludGVyYWN0aW9uIGlzIDAKLVBBU1MgdGVzdFJlc3VsdC50b3AzTnVtYmVyT2ZQ
cmV2YWxlbnRSZXNvdXJjZXNXaXRoVUkgaXMgMAotUEFTUyB0ZXN0UmVzdWx0LnRvcDNNZWRpYW5T
dWJGcmFtZVdpdGhvdXRVSSBpcyA0Ci1QQVNTIHRlc3RSZXN1bHQudG9wM01lZGlhblN1YlJlc291
cmNlV2l0aG91dFVJIGlzIDQKLVBBU1MgdGVzdFJlc3VsdC50b3AzTWVkaWFuVW5pcXVlUmVkaXJl
Y3RzV2l0aG91dFVJIGlzIDQKLVBBU1MgdGVzdFJlc3VsdC50b3AzTWVkaWFuRGF0YVJlY29yZHNS
ZW1vdmVkV2l0aG91dFVJIGlzIDAKLVBBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKLQot
VEVTVCBDT01QTEVURQotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291
cmNlTG9hZFN0YXRpc3RpY3MvdGVsZW1ldHJ5LWdlbmVyYXRpb24tYmFzaWMtZnVuY3Rpb25hbGl0
eS1kYXRhYmFzZS5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0
aXN0aWNzL3RlbGVtZXRyeS1nZW5lcmF0aW9uLWJhc2ljLWZ1bmN0aW9uYWxpdHktZGF0YWJhc2Uu
aHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMjgxMzkxOWUwOTA4NDFmZmNjZGRk
MjlhMmMyMDc1YWY2ZjY5M2ZhMy4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3Mv
dGVsZW1ldHJ5LWdlbmVyYXRpb24tYmFzaWMtZnVuY3Rpb25hbGl0eS1kYXRhYmFzZS5odG1sCisr
KyAvZGV2L251bGwKQEAgLTEsMTM1ICswLDAgQEAKLTwhRE9DVFlQRSBodG1sPgotPGh0bWw+Ci08
aGVhZD4KLSAgICA8bWV0YSBjaGFyc2V0PSJVVEYtOCI+Ci0gICAgPHRpdGxlPlRlc3QgZm9yIEJh
c2ljIFRlbGVtZXRyeSBHZW5lcmF0aW9uPC90aXRsZT4KLSAgICA8c2NyaXB0IHNyYz0iL2pzLXRl
c3QtcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgotICAgIDxzY3JpcHQgc3JjPSJyZXNv
dXJjZXMvdXRpbC5qcyI+PC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keT4KLTxzY3JpcHQ+Ci0gICAg
dGVzdFJ1bm5lci5zZXRVc2VJVFBEYXRhYmFzZSh0cnVlKTsKLSAgICBkZXNjcmlwdGlvbigiVGVz
dHMgdGhhdCBiYXNpYyB0ZWxlbWV0cnkgZm9yIHByZXZhbGVudCByZXNvdXJjZXMgaW4gdGhlIFNR
TGl0ZSBEYXRhYmFzZSBpcyBjYWxjdWxhdGVkIGNvcnJlY3RseS4iKTsKLSAgICBqc1Rlc3RJc0Fz
eW5jID0gdHJ1ZTsKLQotICAgIGNvbnN0IHRvcEZyYW1lVXJsMSA9ICJodHRwOi8vMTI3LjAuMC4x
OjgwMDAvdGVtcCI7Ci0gICAgY29uc3QgdG9wRnJhbWVVcmwyID0gImh0dHA6Ly8xMjcuMC4wLjI6
ODAwMC90ZW1wIjsKLSAgICBjb25zdCB0b3BGcmFtZVVybDMgPSAiaHR0cDovLzEyNy4wLjAuMzo4
MDAwL3RlbXAiOwotICAgIGNvbnN0IHRvcEZyYW1lVXJsNCA9ICJodHRwOi8vMTI3LjAuMC40Ojgw
MDAvdGVtcCI7Ci0gICAgY29uc3QgcHJldmFsZW50UmVzb3VyY2VVcmwxID0gImh0dHA6Ly8xMjcu
MC4xLjE6ODAwMC90ZW1wIjsKLSAgICBjb25zdCBwcmV2YWxlbnRSZXNvdXJjZVVybDIgPSAiaHR0
cDovLzEyNy4wLjEuMjo4MDAwL3RlbXAiOwotICAgIGNvbnN0IHByZXZhbGVudFJlc291cmNlVXJs
MyA9ICJodHRwOi8vMTI3LjAuMS4zOjgwMDAvdGVtcCI7Ci0gICAgY29uc3QgcHJldmFsZW50UmVz
b3VyY2VVcmw0ID0gImh0dHA6Ly8xMjcuMC4xLjQ6ODAwMC90ZW1wIjsKLQotICAgIGZ1bmN0aW9u
IGNoZWNrSW5zdWZmaWNpZW50Q2xhc3NpZmljYXRpb25BbmRDb250aW51ZSgpIHsKLSAgICAgICAg
aWYgKCF0ZXN0UnVubmVyLmlzU3RhdGlzdGljc1ByZXZhbGVudFJlc291cmNlKHByZXZhbGVudFJl
c291cmNlVXJsMSkpIHsKLSAgICAgICAgICAgIHRlc3RGYWlsZWQoIkhvc3QgMSBkaWQgbm90IGdl
dCBjbGFzc2lmaWVkIGFzIHByZXZhbGVudCByZXNvdXJjZS4iKTsKLSAgICAgICAgICAgIHNldEVu
YWJsZUZlYXR1cmUoZmFsc2UsIGZpbmlzaEpTVGVzdCk7Ci0gICAgICAgIH0gZWxzZSBpZiAoIXRl
c3RSdW5uZXIuaXNTdGF0aXN0aWNzUHJldmFsZW50UmVzb3VyY2UocHJldmFsZW50UmVzb3VyY2VV
cmwyKSkgewotICAgICAgICAgICAgdGVzdEZhaWxlZCgiSG9zdCAyIGRpZCBub3QgZ2V0IGNsYXNz
aWZpZWQgYXMgcHJldmFsZW50IHJlc291cmNlLiIpOwotICAgICAgICAgICAgc2V0RW5hYmxlRmVh
dHVyZShmYWxzZSwgZmluaXNoSlNUZXN0KTsKLSAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAg
IHRlc3RQYXNzZWQoIkhvc3RzIGNsYXNzaWZpZWQgYXMgcHJldmFsZW50IHJlc291cmNlcy4iKTsK
LSAgICAgICAgICAgIHJ1blRlbGVtZXRyeUFuZENvbnRpbnVlKCk7Ci0gICAgICAgIH0KLSAgICB9
Ci0KLSAgICBmdW5jdGlvbiBjaGVja1N1ZmZpY2llbnRDbGFzc2lmaWNhdGlvbkFuZENvbnRpbnVl
KCkgewotICAgICAgICBpZiAoIXRlc3RSdW5uZXIuaXNTdGF0aXN0aWNzUHJldmFsZW50UmVzb3Vy
Y2UocHJldmFsZW50UmVzb3VyY2VVcmwxKSkgewotICAgICAgICAgICAgdGVzdEZhaWxlZCgiSG9z
dCAxIGRpZCBub3QgZ2V0IGNsYXNzaWZpZWQgYXMgcHJldmFsZW50IHJlc291cmNlLiIpOwotICAg
ICAgICAgICAgc2V0RW5hYmxlRmVhdHVyZShmYWxzZSwgZmluaXNoSlNUZXN0KTsKLSAgICAgICAg
fSBlbHNlIGlmICghdGVzdFJ1bm5lci5pc1N0YXRpc3RpY3NQcmV2YWxlbnRSZXNvdXJjZShwcmV2
YWxlbnRSZXNvdXJjZVVybDIpKSB7Ci0gICAgICAgICAgICB0ZXN0RmFpbGVkKCJIb3N0IDIgZGlk
IG5vdCBnZXQgY2xhc3NpZmllZCBhcyBwcmV2YWxlbnQgcmVzb3VyY2UuIik7Ci0gICAgICAgICAg
ICBzZXRFbmFibGVGZWF0dXJlKGZhbHNlLCBmaW5pc2hKU1Rlc3QpOwotICAgICAgICB9IGVsc2Ug
aWYgKCF0ZXN0UnVubmVyLmlzU3RhdGlzdGljc1ByZXZhbGVudFJlc291cmNlKHByZXZhbGVudFJl
c291cmNlVXJsMykpIHsKLSAgICAgICAgICAgIHRlc3RGYWlsZWQoIkhvc3QgMyBkaWQgbm90IGdl
dCBjbGFzc2lmaWVkIGFzIHByZXZhbGVudCByZXNvdXJjZS4iKTsKLSAgICAgICAgICAgIHNldEVu
YWJsZUZlYXR1cmUoZmFsc2UsIGZpbmlzaEpTVGVzdCk7Ci0gICAgICAgIH0gZWxzZSBpZiAoIXRl
c3RSdW5uZXIuaXNTdGF0aXN0aWNzUHJldmFsZW50UmVzb3VyY2UocHJldmFsZW50UmVzb3VyY2VV
cmw0KSkgewotICAgICAgICAgICAgdGVzdEZhaWxlZCgiSG9zdCA0IGRpZCBub3QgZ2V0IGNsYXNz
aWZpZWQgYXMgcHJldmFsZW50IHJlc291cmNlLiIpOwotICAgICAgICAgICAgc2V0RW5hYmxlRmVh
dHVyZShmYWxzZSwgZmluaXNoSlNUZXN0KTsKLSAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAg
IHRlc3RQYXNzZWQoIkhvc3RzIGNsYXNzaWZpZWQgYXMgcHJldmFsZW50IHJlc291cmNlcy4iKTsK
LSAgICAgICAgICAgIHJ1blRlbGVtZXRyeUFuZENvbnRpbnVlKCk7Ci0gICAgICAgIH0KLSAgICB9
Ci0KLSAgICBmdW5jdGlvbiBtYWtlVXJsUHJldmFsZW50KHByZXZhbGVudFJlc291cmNlVXJsKSB7
Ci0gICAgICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc1N1YmZyYW1lVW5kZXJUb3BGcmFtZU9y
aWdpbihwcmV2YWxlbnRSZXNvdXJjZVVybCwgdG9wRnJhbWVVcmwxKTsKLSAgICAgICAgdGVzdFJ1
bm5lci5zZXRTdGF0aXN0aWNzU3ViZnJhbWVVbmRlclRvcEZyYW1lT3JpZ2luKHByZXZhbGVudFJl
c291cmNlVXJsLCB0b3BGcmFtZVVybDIpOwotICAgICAgICB0ZXN0UnVubmVyLnNldFN0YXRpc3Rp
Y3NTdWJmcmFtZVVuZGVyVG9wRnJhbWVPcmlnaW4ocHJldmFsZW50UmVzb3VyY2VVcmwsIHRvcEZy
YW1lVXJsMyk7Ci0gICAgICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc1N1YmZyYW1lVW5kZXJU
b3BGcmFtZU9yaWdpbihwcmV2YWxlbnRSZXNvdXJjZVVybCwgdG9wRnJhbWVVcmw0KTsKLQotICAg
ICAgICB0ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NTdWJyZXNvdXJjZVVuaXF1ZVJlZGlyZWN0VG8o
cHJldmFsZW50UmVzb3VyY2VVcmwsIHRvcEZyYW1lVXJsMSk7Ci0gICAgICAgIHRlc3RSdW5uZXIu
c2V0U3RhdGlzdGljc1N1YnJlc291cmNlVW5pcXVlUmVkaXJlY3RUbyhwcmV2YWxlbnRSZXNvdXJj
ZVVybCwgdG9wRnJhbWVVcmwyKTsKLSAgICAgICAgdGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNzU3Vi
cmVzb3VyY2VVbmlxdWVSZWRpcmVjdFRvKHByZXZhbGVudFJlc291cmNlVXJsLCB0b3BGcmFtZVVy
bDMpOwotICAgICAgICB0ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NTdWJyZXNvdXJjZVVuaXF1ZVJl
ZGlyZWN0VG8ocHJldmFsZW50UmVzb3VyY2VVcmwsIHRvcEZyYW1lVXJsNCk7Ci0KLSAgICAgICAg
dGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNzU3VicmVzb3VyY2VVbmRlclRvcEZyYW1lT3JpZ2luKHBy
ZXZhbGVudFJlc291cmNlVXJsLCB0b3BGcmFtZVVybDEpOwotICAgICAgICB0ZXN0UnVubmVyLnNl
dFN0YXRpc3RpY3NTdWJyZXNvdXJjZVVuZGVyVG9wRnJhbWVPcmlnaW4ocHJldmFsZW50UmVzb3Vy
Y2VVcmwsIHRvcEZyYW1lVXJsMik7Ci0gICAgICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc1N1
YnJlc291cmNlVW5kZXJUb3BGcmFtZU9yaWdpbihwcmV2YWxlbnRSZXNvdXJjZVVybCwgdG9wRnJh
bWVVcmwzKTsKLSAgICAgICAgdGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNzU3VicmVzb3VyY2VVbmRl
clRvcEZyYW1lT3JpZ2luKHByZXZhbGVudFJlc291cmNlVXJsLCB0b3BGcmFtZVVybDQpOwotICAg
IH0KLQotICAgIGZ1bmN0aW9uIHNldFVwSW5zdWZmaWNpZW50U3RhdGlzdGljc0FuZENvbnRpbnVl
KCkgewotICAgICAgICBtYWtlVXJsUHJldmFsZW50KHByZXZhbGVudFJlc291cmNlVXJsMSk7Ci0g
ICAgICAgIG1ha2VVcmxQcmV2YWxlbnQocHJldmFsZW50UmVzb3VyY2VVcmwyKTsKLQotICAgICAg
ICB0ZXN0UnVubmVyLmluc3RhbGxTdGF0aXN0aWNzRGlkU2NhbkRhdGFSZWNvcmRzQ2FsbGJhY2so
Y2hlY2tJbnN1ZmZpY2llbnRDbGFzc2lmaWNhdGlvbkFuZENvbnRpbnVlKTsKLSAgICAgICAgdGVz
dFJ1bm5lci5pbnN0YWxsU3RhdGlzdGljc0RpZFJ1blRlbGVtZXRyeUNhbGxiYWNrKGNoZWNrSW5z
dWZmaWNpZW50VGVsZW1ldHJ5KTsKLSAgICAgICAgdGVzdFJ1bm5lci5zdGF0aXN0aWNzUHJvY2Vz
c1N0YXRpc3RpY3NBbmREYXRhUmVjb3JkcygpOwotICAgIH0KLQotICAgIGZ1bmN0aW9uIHNldFVw
U3VmZmljaWVudFN0YXRpc3RpY3NBbmRDb250aW51ZSgpIHsKLSAgICAgICAgbWFrZVVybFByZXZh
bGVudChwcmV2YWxlbnRSZXNvdXJjZVVybDMpOwotICAgICAgICBtYWtlVXJsUHJldmFsZW50KHBy
ZXZhbGVudFJlc291cmNlVXJsNCk7Ci0KLSAgICAgICAgdGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNz
SGFzSGFkVXNlckludGVyYWN0aW9uKHByZXZhbGVudFJlc291cmNlVXJsNCwgdHJ1ZSwgZnVuY3Rp
b24oKSB7Ci0gICAgICAgICAgICB0ZXN0UnVubmVyLmluc3RhbGxTdGF0aXN0aWNzRGlkU2NhbkRh
dGFSZWNvcmRzQ2FsbGJhY2soY2hlY2tTdWZmaWNpZW50Q2xhc3NpZmljYXRpb25BbmRDb250aW51
ZSk7Ci0gICAgICAgICAgICB0ZXN0UnVubmVyLmluc3RhbGxTdGF0aXN0aWNzRGlkUnVuVGVsZW1l
dHJ5Q2FsbGJhY2soY2hlY2tTdWZmaWNpZW50VGVsZW1ldHJ5KTsKLSAgICAgICAgICAgIHRlc3RS
dW5uZXIuc3RhdGlzdGljc1Byb2Nlc3NTdGF0aXN0aWNzQW5kRGF0YVJlY29yZHMoKTsKLSAgICAg
ICAgfSk7Ci0gICAgfQotCi0gICAgZnVuY3Rpb24gcnVuVGVsZW1ldHJ5QW5kQ29udGludWUoKSB7
Ci0gICAgICAgIHRlc3RSdW5uZXIuc3RhdGlzdGljc1N1Ym1pdFRlbGVtZXRyeSgpOwotICAgIH0K
LQotICAgIHZhciB0ZXN0UmVzdWx0OwotICAgIGZ1bmN0aW9uIGNoZWNrSW5zdWZmaWNpZW50VGVs
ZW1ldHJ5KHJlc3VsdCkgewotICAgICAgICB0ZXN0UmVzdWx0ID0gcmVzdWx0OwotICAgICAgICBz
aG91bGRCZSgidGVzdFJlc3VsdC5udW1iZXJPZlByZXZhbGVudFJlc291cmNlcyIsICIwIik7Ci0g
ICAgICAgIHNob3VsZEJlKCJ0ZXN0UmVzdWx0Lm51bWJlck9mUHJldmFsZW50UmVzb3VyY2VzV2l0
aFVzZXJJbnRlcmFjdGlvbiIsICIwIik7Ci0gICAgICAgIHNob3VsZEJlKCJ0ZXN0UmVzdWx0Lm51
bWJlck9mUHJldmFsZW50UmVzb3VyY2VzV2l0aG91dFVzZXJJbnRlcmFjdGlvbiIsICIwIik7Ci0g
ICAgICAgIHNob3VsZEJlKCJ0ZXN0UmVzdWx0LnRvcFByZXZhbGVudFJlc291cmNlV2l0aFVzZXJJ
bnRlcmFjdGlvbkRheXNTaW5jZVVzZXJJbnRlcmFjdGlvbiIsICIwIik7Ci0gICAgICAgIHNob3Vs
ZEJlKCJ0ZXN0UmVzdWx0Lm1lZGlhbkRheXNTaW5jZVVzZXJJbnRlcmFjdGlvblByZXZhbGVudFJl
c291cmNlV2l0aFVzZXJJbnRlcmFjdGlvbiIsICIwIik7Ci0gICAgICAgIHNob3VsZEJlKCJ0ZXN0
UmVzdWx0LnRvcDNOdW1iZXJPZlByZXZhbGVudFJlc291cmNlc1dpdGhVSSIsICIwIik7Ci0gICAg
ICAgIHNob3VsZEJlKCJ0ZXN0UmVzdWx0LnRvcDNNZWRpYW5TdWJGcmFtZVdpdGhvdXRVSSIsICIw
Iik7Ci0gICAgICAgIHNob3VsZEJlKCJ0ZXN0UmVzdWx0LnRvcDNNZWRpYW5TdWJSZXNvdXJjZVdp
dGhvdXRVSSIsICIwIik7Ci0gICAgICAgIHNob3VsZEJlKCJ0ZXN0UmVzdWx0LnRvcDNNZWRpYW5V
bmlxdWVSZWRpcmVjdHNXaXRob3V0VUkiLCAiMCIpOwotICAgICAgICBzaG91bGRCZSgidGVzdFJl
c3VsdC50b3AzTWVkaWFuRGF0YVJlY29yZHNSZW1vdmVkV2l0aG91dFVJIiwgIjAiKTsKLSAgICAg
ICAgc2V0VXBTdWZmaWNpZW50U3RhdGlzdGljc0FuZENvbnRpbnVlKCk7Ci0gICAgfQotCi0gICAg
ZnVuY3Rpb24gY2hlY2tTdWZmaWNpZW50VGVsZW1ldHJ5KHJlc3VsdCkgewotICAgICAgICB0ZXN0
UmVzdWx0ID0gcmVzdWx0OwotICAgICAgICBzaG91bGRCZSgidGVzdFJlc3VsdC5udW1iZXJPZlBy
ZXZhbGVudFJlc291cmNlcyIsICI0Iik7Ci0gICAgICAgIHNob3VsZEJlKCJ0ZXN0UmVzdWx0Lm51
bWJlck9mUHJldmFsZW50UmVzb3VyY2VzV2l0aFVzZXJJbnRlcmFjdGlvbiIsICIxIik7Ci0gICAg
ICAgIHNob3VsZEJlKCJ0ZXN0UmVzdWx0Lm51bWJlck9mUHJldmFsZW50UmVzb3VyY2VzV2l0aG91
dFVzZXJJbnRlcmFjdGlvbiIsICIzIik7Ci0gICAgICAgIHNob3VsZEJlKCJ0ZXN0UmVzdWx0LnRv
cFByZXZhbGVudFJlc291cmNlV2l0aFVzZXJJbnRlcmFjdGlvbkRheXNTaW5jZVVzZXJJbnRlcmFj
dGlvbiIsICIwIik7Ci0gICAgICAgIHNob3VsZEJlKCJ0ZXN0UmVzdWx0Lm1lZGlhbkRheXNTaW5j
ZVVzZXJJbnRlcmFjdGlvblByZXZhbGVudFJlc291cmNlV2l0aFVzZXJJbnRlcmFjdGlvbiIsICIw
Iik7Ci0gICAgICAgIHNob3VsZEJlKCJ0ZXN0UmVzdWx0LnRvcDNOdW1iZXJPZlByZXZhbGVudFJl
c291cmNlc1dpdGhVSSIsICIwIik7Ci0gICAgICAgIHNob3VsZEJlKCJ0ZXN0UmVzdWx0LnRvcDNN
ZWRpYW5TdWJGcmFtZVdpdGhvdXRVSSIsICI0Iik7Ci0gICAgICAgIHNob3VsZEJlKCJ0ZXN0UmVz
dWx0LnRvcDNNZWRpYW5TdWJSZXNvdXJjZVdpdGhvdXRVSSIsICI0Iik7Ci0gICAgICAgIHNob3Vs
ZEJlKCJ0ZXN0UmVzdWx0LnRvcDNNZWRpYW5VbmlxdWVSZWRpcmVjdHNXaXRob3V0VUkiLCAiNCIp
OwotICAgICAgICBzaG91bGRCZSgidGVzdFJlc3VsdC50b3AzTWVkaWFuRGF0YVJlY29yZHNSZW1v
dmVkV2l0aG91dFVJIiwgIjAiKTsKLSAgICAgICAgc2V0RW5hYmxlRmVhdHVyZShmYWxzZSwgZmlu
aXNoSlNUZXN0KTsKLSAgICB9Ci0KLSAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpIHsKLSAgICAg
ICAgc2V0RW5hYmxlRmVhdHVyZSh0cnVlLCBmdW5jdGlvbigpIHsKLSAgICAgICAgICAgIHNldFVw
SW5zdWZmaWNpZW50U3RhdGlzdGljc0FuZENvbnRpbnVlKCk7Ci0gICAgICAgIH0pOwotICAgIH0K
LTwvc2NyaXB0PgotPC9ib2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3RlbGVtZXRyeS1nZW5lcmF0aW9uLWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy90
ZWxlbWV0cnktZ2VuZXJhdGlvbi1leHBlY3RlZC50eHQKaW5kZXggODM5Njc2ZTIyYjU4M2QzMmZk
N2Q5NWU2MDdmNWRmM2FiMWI0MjRiOC4uYzY3MDU2MDBiY2I0ZTNhYjU4ZDEzMjM1YzYwMTgyOWQx
Mzg0YTVkZSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRT
dGF0aXN0aWNzL3RlbGVtZXRyeS1nZW5lcmF0aW9uLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRU
ZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvdGVsZW1ldHJ5LWdlbmVyYXRp
b24tZXhwZWN0ZWQudHh0CkBAIC00LDE0ICs0LDE1IEBAIE9uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNl
ZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRF
CiAKIAogUEFTUyBIb3N0cyBjbGFzc2lmaWVkIGFzIHByZXZhbGVudCByZXNvdXJjZXMuCi1QQVNT
IHRlc3RSZXN1bHQudG90YWxQcmV2YWxlbnRSZXNvdXJjZXMgaXMgMAotUEFTUyB0ZXN0UmVzdWx0
LnRvdGFsUHJldmFsZW50UmVzb3VyY2VzV2l0aFVzZXJJbnRlcmFjdGlvbiBpcyAwCi1QQVNTIHRl
c3RSZXN1bHQudG9wM1N1YmZyYW1lVW5kZXJUb3BGcmFtZU9yaWdpbnMgaXMgMAorRkFJTCB0ZXN0
UmVzdWx0LnRvdGFsUHJldmFsZW50UmVzb3VyY2VzIHNob3VsZCBiZSAwIChvZiB0eXBlIG51bWJl
cikuIFdhcyB1bmRlZmluZWQgKG9mIHR5cGUgdW5kZWZpbmVkKS4KK0ZBSUwgdGVzdFJlc3VsdC50
b3RhbFByZXZhbGVudFJlc291cmNlc1dpdGhVc2VySW50ZXJhY3Rpb24gc2hvdWxkIGJlIDAgKG9m
IHR5cGUgbnVtYmVyKS4gV2FzIHVuZGVmaW5lZCAob2YgdHlwZSB1bmRlZmluZWQpLgorRkFJTCB0
ZXN0UmVzdWx0LnRvcDNTdWJmcmFtZVVuZGVyVG9wRnJhbWVPcmlnaW5zIHNob3VsZCBiZSAwIChv
ZiB0eXBlIG51bWJlcikuIFdhcyB1bmRlZmluZWQgKG9mIHR5cGUgdW5kZWZpbmVkKS4KIFBBU1Mg
SG9zdHMgY2xhc3NpZmllZCBhcyBwcmV2YWxlbnQgcmVzb3VyY2VzLgotUEFTUyB0ZXN0UmVzdWx0
LnRvdGFsUHJldmFsZW50UmVzb3VyY2VzIGlzIDQKLVBBU1MgdGVzdFJlc3VsdC50b3RhbFByZXZh
bGVudFJlc291cmNlc1dpdGhVc2VySW50ZXJhY3Rpb24gaXMgMQotUEFTUyB0ZXN0UmVzdWx0LnRv
cDNTdWJmcmFtZVVuZGVyVG9wRnJhbWVPcmlnaW5zIGlzIDQKK0ZBSUwgdGVzdFJlc3VsdC50b3Rh
bFByZXZhbGVudFJlc291cmNlcyBzaG91bGQgYmUgNCAob2YgdHlwZSBudW1iZXIpLiBXYXMgdW5k
ZWZpbmVkIChvZiB0eXBlIHVuZGVmaW5lZCkuCitGQUlMIHRlc3RSZXN1bHQudG90YWxQcmV2YWxl
bnRSZXNvdXJjZXNXaXRoVXNlckludGVyYWN0aW9uIHNob3VsZCBiZSAxIChvZiB0eXBlIG51bWJl
cikuIFdhcyB1bmRlZmluZWQgKG9mIHR5cGUgdW5kZWZpbmVkKS4KK0ZBSUwgdGVzdFJlc3VsdC50
b3AzU3ViZnJhbWVVbmRlclRvcEZyYW1lT3JpZ2lucyBzaG91bGQgYmUgNCAob2YgdHlwZSBudW1i
ZXIpLiBXYXMgdW5kZWZpbmVkIChvZiB0eXBlIHVuZGVmaW5lZCkuCiBQQVNTIHN1Y2Nlc3NmdWxs
eVBhcnNlZCBpcyB0cnVlCitTb21lIHRlc3RzIGZhaWxlZC4KIAogVEVTVCBDT01QTEVURQogCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3Mv
dGhpcmQtcGFydHktY29va2llLWJsb2NraW5nLWRhdGFiYXNlLWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy90aGlyZC1wYXJ0eS1jb29r
aWUtYmxvY2tpbmctZGF0YWJhc2UtZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAxMGZlZTAxZmRmZDQ5ZWExM2IyMjllNzQzMWQzZmM5ZDYwMWE4YTYzLi4wMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2h0dHAv
dGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy90aGlyZC1wYXJ0eS1jb29raWUtYmxvY2tpbmct
ZGF0YWJhc2UtZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEsMjUgKzAsMCBAQAotVGVz
dHMgdGhhdCBhbGwgdGhpcmQtcGFydHkgY29va2llcyBhcmUgYmxvY2tlZC4KLQotT24gc3VjY2Vz
cywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkg
IlRFU1QgQ09NUExFVEUiLgotCi0KLVBBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKLQot
VEVTVCBDT01QTEVURQotCi0KLS0tLS0tLS0tCi1GcmFtZTogJzwhLS1mcmFtZTEtLT4nCi0tLS0t
LS0tLQotQmVmb3JlIHVzZXIgaW50ZXJhY3Rpb24sIHNob3VsZCByZWNlaXZlIG5vIGNvb2tpZXMu
Ci1EaWQgbm90IHJlY2VpdmUgY29va2llIG5hbWVkICdmaXJzdFBhcnR5Q29va2llJy4KLURpZCBu
b3QgcmVjZWl2ZSBjb29raWUgbmFtZWQgJ3BhcnRpdGlvbmVkQ29va2llJy4KLUNsaWVudC1zaWRl
IGRvY3VtZW50LmNvb2tpZToKLQotLS0tLS0tLS0KLUZyYW1lOiAnPCEtLWZyYW1lMi0tPicKLS0t
LS0tLS0tCi1BZnRlciB1c2VyIGludGVyYWN0aW9uLCBzaG91bGQgcmVjZWl2ZSBubyBjb29raWVz
LgotRGlkIG5vdCByZWNlaXZlIGNvb2tpZSBuYW1lZCAnZmlyc3RQYXJ0eUNvb2tpZScuCi1EaWQg
bm90IHJlY2VpdmUgY29va2llIG5hbWVkICdwYXJ0aXRpb25lZENvb2tpZScuCi1DbGllbnQtc2lk
ZSBkb2N1bWVudC5jb29raWU6CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jl
c291cmNlTG9hZFN0YXRpc3RpY3MvdGhpcmQtcGFydHktY29va2llLWJsb2NraW5nLWRhdGFiYXNl
Lmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvdGhp
cmQtcGFydHktY29va2llLWJsb2NraW5nLWRhdGFiYXNlLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IGMwYmUzNmYwNDBlM2ZlZTVmMTA4ZTgzZWZjODJjMjQyNDQ1MGUwZDYuLjAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMv
aHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3RoaXJkLXBhcnR5LWNvb2tpZS1ibG9j
a2luZy1kYXRhYmFzZS5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsNzUgKzAsMCBAQAotPCFET0NU
WVBFIGh0bWw+Ci08aHRtbCBsYW5nPSJlbiI+Ci08aGVhZD4KLSAgICA8bWV0YSBjaGFyc2V0PSJV
VEYtOCI+Ci0gICAgPHNjcmlwdCBzcmM9Ii9qcy10ZXN0LXJlc291cmNlcy9qcy10ZXN0LmpzIj48
L3NjcmlwdD4KLSAgICA8c2NyaXB0IHNyYz0icmVzb3VyY2VzL3V0aWwuanMiPjwvc2NyaXB0Pgot
PC9oZWFkPgotPGJvZHk+Ci08c2NyaXB0PgotICAgIGRlc2NyaXB0aW9uKCJUZXN0cyB0aGF0IGFs
bCB0aGlyZC1wYXJ0eSBjb29raWVzIGFyZSBibG9ja2VkLiIpOwotICAgIGpzVGVzdElzQXN5bmMg
PSB0cnVlOwotCi0gICAgY29uc3QgcGFydGl0aW9uSG9zdCA9ICIxMjcuMC4wLjE6ODAwMCI7Ci0g
ICAgY29uc3QgcGFydGl0aW9uT3JpZ2luID0gImh0dHA6Ly8iICsgcGFydGl0aW9uSG9zdDsKLSAg
ICBjb25zdCB0aGlyZFBhcnR5T3JpZ2luID0gImh0dHA6Ly9sb2NhbGhvc3Q6ODAwMCI7Ci0gICAg
Y29uc3QgcmVzb3VyY2VQYXRoID0gIi9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3Jlc291cmNlcyI7
Ci0gICAgY29uc3QgdGhpcmRQYXJ0eUJhc2VVcmwgPSB0aGlyZFBhcnR5T3JpZ2luICsgcmVzb3Vy
Y2VQYXRoOwotICAgIGNvbnN0IGZpcnN0UGFydHlDb29raWVOYW1lID0gImZpcnN0UGFydHlDb29r
aWUiOwotICAgIGNvbnN0IHN1YlBhdGhUb1NldEZpcnN0UGFydHlDb29raWUgPSAiL3NldC1jb29r
aWUucGhwP25hbWU9IiArIGZpcnN0UGFydHlDb29raWVOYW1lICsgIiZ2YWx1ZT12YWx1ZSI7Ci0g
ICAgY29uc3QgcGFydGl0aW9uZWRDb29raWVOYW1lID0gInBhcnRpdGlvbmVkQ29va2llIjsKLSAg
ICBjb25zdCBzdWJQYXRoVG9TZXRQYXJ0aXRpb25lZENvb2tpZSA9ICIvc2V0LWNvb2tpZS5waHA/
bmFtZT0iICsgcGFydGl0aW9uZWRDb29raWVOYW1lICsgIiZ2YWx1ZT12YWx1ZSI7Ci0gICAgY29u
c3QgcmV0dXJuVXJsID0gcGFydGl0aW9uT3JpZ2luICsgIi9yZXNvdXJjZUxvYWRTdGF0aXN0aWNz
L3RoaXJkLXBhcnR5LWNvb2tpZS1ibG9ja2luZy1kYXRhYmFzZS5odG1sIjsKLSAgICBjb25zdCBz
dWJQYXRoVG9HZXRDb29raWVzID0gIi9nZXQtY29va2llcy5waHA/bmFtZTE9IiArIGZpcnN0UGFy
dHlDb29raWVOYW1lICsgIiZuYW1lMj0iICsgcGFydGl0aW9uZWRDb29raWVOYW1lOwotCi0gICAg
ZnVuY3Rpb24gb3BlbklmcmFtZSh1cmwsIG9uTG9hZEhhbmRsZXIpIHsKLSAgICAgICAgY29uc3Qg
ZWxlbWVudCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImlmcmFtZSIpOwotICAgICAgICBlbGVt
ZW50LnNyYyA9IHVybDsKLSAgICAgICAgaWYgKG9uTG9hZEhhbmRsZXIpIHsKLSAgICAgICAgICAg
IGVsZW1lbnQub25sb2FkID0gb25Mb2FkSGFuZGxlcjsKLSAgICAgICAgfQotICAgICAgICBkb2N1
bWVudC5ib2R5LmFwcGVuZENoaWxkKGVsZW1lbnQpOwotICAgIH0KLQotICAgIGZ1bmN0aW9uIHJ1
blRlc3QoKSB7Ci0gICAgICAgIHN3aXRjaCAoZG9jdW1lbnQubG9jYXRpb24uaGFzaCkgewotICAg
ICAgICAgICAgY2FzZSAiI3N0ZXAxIjoKLSAgICAgICAgICAgICAgICAvLyBTZXQgZmlyc3QtcGFy
dHkgY29va2llIGZvciBsb2NhbGhvc3QuCi0gICAgICAgICAgICAgICAgZG9jdW1lbnQubG9jYXRp
b24uaHJlZiA9IHRoaXJkUGFydHlCYXNlVXJsICsgc3ViUGF0aFRvU2V0Rmlyc3RQYXJ0eUNvb2tp
ZSArICIjIiArIHJldHVyblVybCArICIjc3RlcDIiOwotICAgICAgICAgICAgICAgIGJyZWFrOwot
ICAgICAgICAgICAgY2FzZSAiI3N0ZXAyIjoKLSAgICAgICAgICAgICAgICBkb2N1bWVudC5sb2Nh
dGlvbi5oYXNoID0gInN0ZXAzIjsKLSAgICAgICAgICAgICAgICAvLyBDaGVjayB0aGF0IHRoZSBj
b29raWUgaXMgYmxvY2tlZCBmb3IgbG9jYWxob3N0IHVuZGVyIDEyNy4wLjAuMSBldmVuIHRob3Vn
aCBsb2NhbGhvc3QgaXMgbm90IHByZXZhbGVudC4KLSAgICAgICAgICAgICAgICBvcGVuSWZyYW1l
KHRoaXJkUGFydHlCYXNlVXJsICsgc3ViUGF0aFRvR2V0Q29va2llcyArICImbWVzc2FnZT1CZWZv
cmUgdXNlciBpbnRlcmFjdGlvbiwgc2hvdWxkIHJlY2VpdmUgbm8gY29va2llcy4iLCBydW5UZXN0
KTsKLSAgICAgICAgICAgICAgICBicmVhazsKLSAgICAgICAgICAgIGNhc2UgIiNzdGVwMyI6Ci0g
ICAgICAgICAgICAgICAgZG9jdW1lbnQubG9jYXRpb24uaGFzaCA9ICJzdGVwNCI7Ci0gICAgICAg
ICAgICAgICAgLy8gUHJvZHVjZSB1c2VyIGludGVyYWN0aW9uIGZvciB0aGUgZmlyc3QtcGFydHku
Ci0gICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNzSGFzSGFkVXNlckludGVy
YWN0aW9uKHBhcnRpdGlvbk9yaWdpbiwgdHJ1ZSwgZnVuY3Rpb24oKSB7Ci0gICAgICAgICAgICAg
ICAgICAgIC8vIENoZWNrIHRoYXQgdGhlIGNvb2tpZSBpcyBzdGlsbCBibG9ja2VkIGZvciBsb2Nh
bGhvc3QgdW5kZXIgMTI3LjAuMC4xLgotICAgICAgICAgICAgICAgICAgICBvcGVuSWZyYW1lKHRo
aXJkUGFydHlCYXNlVXJsICsgc3ViUGF0aFRvR2V0Q29va2llcyArICAiJm1lc3NhZ2U9QWZ0ZXIg
dXNlciBpbnRlcmFjdGlvbiwgc2hvdWxkIHJlY2VpdmUgbm8gY29va2llcy4iLCBydW5UZXN0KTsK
LSAgICAgICAgICAgICAgICB9KTsKLSAgICAgICAgICAgICAgICBicmVhazsKLSAgICAgICAgICAg
IGNhc2UgIiNzdGVwNCI6Ci0gICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNz
U2hvdWxkQmxvY2tUaGlyZFBhcnR5Q29va2llcyhmYWxzZSwgZnVuY3Rpb24oKSB7Ci0gICAgICAg
ICAgICAgICAgICAgIHNldEVuYWJsZUZlYXR1cmUoZmFsc2UsIGZpbmlzaEpTVGVzdCk7Ci0gICAg
ICAgICAgICAgICAgfSk7Ci0gICAgICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgIH0KLSAgICB9
Ci0KLSAgICBpZiAoZG9jdW1lbnQubG9jYXRpb24uaGFzaCA9PT0gIiIpIHsKLSAgICAgICAgdGVz
dFJ1bm5lci5zZXRVc2VJVFBEYXRhYmFzZSh0cnVlKTsKLSAgICAgICAgc2V0RW5hYmxlRmVhdHVy
ZSh0cnVlLCBmdW5jdGlvbiAoKSB7Ci0gICAgICAgICAgICBpZiAodGVzdFJ1bm5lci5pc1N0YXRp
c3RpY3NQcmV2YWxlbnRSZXNvdXJjZSh0aGlyZFBhcnR5T3JpZ2luKSkKLSAgICAgICAgICAgICAg
ICB0ZXN0RmFpbGVkKCJMb2NhbGhvc3Qgd2FzIGNsYXNzaWZpZWQgYXMgcHJldmFsZW50IHJlc291
cmNlIGJlZm9yZSB0aGUgdGVzdCBzdGFydHMuIik7Ci0gICAgICAgICAgICB0ZXN0UnVubmVyLmR1
bXBDaGlsZEZyYW1lc0FzVGV4dCgpOwotICAgICAgICAgICAgZG9jdW1lbnQubG9jYXRpb24uaGFz
aCA9ICJzdGVwMSI7Ci0gICAgICAgICAgICB0ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NTaG91bGRC
bG9ja1RoaXJkUGFydHlDb29raWVzKHRydWUsIHJ1blRlc3QpOwotICAgICAgICB9KTsKLSAgICB9
IGVsc2UgewotICAgICAgICBydW5UZXN0KCk7Ci0gICAgfQotPC9zY3JpcHQ+Ci08L2JvZHk+Ci08
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0
YXRpc3RpY3MvdGhpcmQtcGFydHktY29va2llLWJsb2NraW5nLWVwaGVtZXJhbC1kYXRhYmFzZS1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3Rp
Y3MvdGhpcmQtcGFydHktY29va2llLWJsb2NraW5nLWVwaGVtZXJhbC1kYXRhYmFzZS1leHBlY3Rl
ZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDNjMzJjZGE4ZmNlOTZjMmU3NjMw
NDVlMTU5ZjkwMTczNWQxMDU0MmIuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNz
L3RoaXJkLXBhcnR5LWNvb2tpZS1ibG9ja2luZy1lcGhlbWVyYWwtZGF0YWJhc2UtZXhwZWN0ZWQu
dHh0CisrKyAvZGV2L251bGwKQEAgLTEsMjQgKzAsMCBAQAotVGVzdHMgdGhhdCBhbGwgdGhpcmQt
cGFydHkgY29va2llcyBhcmUgYmxvY2tlZCAoZXBoZW1lcmFsIHNlc3Npb24pLgotCi1PbiBzdWNj
ZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBi
eSAiVEVTVCBDT01QTEVURSIuCi0KLQotUEFTUyBSZXNvdXJjZSBsb2FkIHN0YXRpc3RpY3MgaXMg
cnVubmluZyBpbiBlcGhlbWVyYWwgbW9kZS4KLVBBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRy
dWUKLQotVEVTVCBDT01QTEVURQotCi0KLS0tLS0tLS0tCi1GcmFtZTogJzwhLS1mcmFtZTEtLT4n
Ci0tLS0tLS0tLQotQmVmb3JlIHVzZXIgaW50ZXJhY3Rpb24sIHNob3VsZCByZWNlaXZlIG5vIGNv
b2tpZXMuCi1EaWQgbm90IHJlY2VpdmUgY29va2llIG5hbWVkICdmaXJzdFBhcnR5Q29va2llJy4K
LUNsaWVudC1zaWRlIGRvY3VtZW50LmNvb2tpZToKLQotLS0tLS0tLS0KLUZyYW1lOiAnPCEtLWZy
YW1lMi0tPicKLS0tLS0tLS0tCi1BZnRlciB1c2VyIGludGVyYWN0aW9uLCBzaG91bGQgcmVjZWl2
ZSBubyBjb29raWVzLgotRGlkIG5vdCByZWNlaXZlIGNvb2tpZSBuYW1lZCAnZmlyc3RQYXJ0eUNv
b2tpZScuCi1DbGllbnQtc2lkZSBkb2N1bWVudC5jb29raWU6CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvdGhpcmQtcGFydHktY29va2ll
LWJsb2NraW5nLWVwaGVtZXJhbC1kYXRhYmFzZS5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0
cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3RoaXJkLXBhcnR5LWNvb2tpZS1ibG9ja2luZy1lcGhl
bWVyYWwtZGF0YWJhc2UuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMjQ0YzBi
ZDRjNTkzNWU4OWU5Nzg2YTMyZjk2NDliZGU5MjljNmE0MS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNl
TG9hZFN0YXRpc3RpY3MvdGhpcmQtcGFydHktY29va2llLWJsb2NraW5nLWVwaGVtZXJhbC1kYXRh
YmFzZS5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsNzQgKzAsMCBAQAotPCEtLSB3ZWJraXQtdGVz
dC1ydW5uZXIgWyB1c2VFcGhlbWVyYWxTZXNzaW9uPXRydWUgXSAtLT4KLTwhRE9DVFlQRSBodG1s
PgotPGh0bWwgbGFuZz0iZW4iPgotPGhlYWQ+Ci0gICAgPG1ldGEgY2hhcnNldD0iVVRGLTgiPgot
ICAgIDxzY3JpcHQgc3JjPSIvanMtdGVzdC1yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+
Ci0gICAgPHNjcmlwdCBzcmM9InJlc291cmNlcy91dGlsLmpzIj48L3NjcmlwdD4KLTwvaGVhZD4K
LTxib2R5PgotPHNjcmlwdD4KLSAgICBkZXNjcmlwdGlvbigiVGVzdHMgdGhhdCBhbGwgdGhpcmQt
cGFydHkgY29va2llcyBhcmUgYmxvY2tlZCAoZXBoZW1lcmFsIHNlc3Npb24pLiIpOwotICAgIGpz
VGVzdElzQXN5bmMgPSB0cnVlOwotCi0gICAgY29uc3QgcGFydGl0aW9uSG9zdCA9ICIxMjcuMC4w
LjE6ODAwMCI7Ci0gICAgY29uc3QgcGFydGl0aW9uT3JpZ2luID0gImh0dHA6Ly8iICsgcGFydGl0
aW9uSG9zdDsKLSAgICBjb25zdCB0aGlyZFBhcnR5T3JpZ2luID0gImh0dHA6Ly9sb2NhbGhvc3Q6
ODAwMCI7Ci0gICAgY29uc3QgcmVzb3VyY2VQYXRoID0gIi9yZXNvdXJjZUxvYWRTdGF0aXN0aWNz
L3Jlc291cmNlcyI7Ci0gICAgY29uc3QgdGhpcmRQYXJ0eUJhc2VVcmwgPSB0aGlyZFBhcnR5T3Jp
Z2luICsgcmVzb3VyY2VQYXRoOwotICAgIGNvbnN0IGZpcnN0UGFydHlDb29raWVOYW1lID0gImZp
cnN0UGFydHlDb29raWUiOwotICAgIGNvbnN0IHN1YlBhdGhUb1NldEZpcnN0UGFydHlDb29raWUg
PSAiL3NldC1jb29raWUucGhwP25hbWU9IiArIGZpcnN0UGFydHlDb29raWVOYW1lICsgIiZ2YWx1
ZT12YWx1ZSI7Ci0gICAgY29uc3QgcmV0dXJuVXJsID0gcGFydGl0aW9uT3JpZ2luICsgIi9yZXNv
dXJjZUxvYWRTdGF0aXN0aWNzL3RoaXJkLXBhcnR5LWNvb2tpZS1ibG9ja2luZy1lcGhlbWVyYWwt
ZGF0YWJhc2UuaHRtbCI7Ci0gICAgY29uc3Qgc3ViUGF0aFRvR2V0Q29va2llcyA9ICIvZ2V0LWNv
b2tpZXMucGhwP25hbWUxPSIgKyBmaXJzdFBhcnR5Q29va2llTmFtZTsKLQotICAgIGZ1bmN0aW9u
IG9wZW5JZnJhbWUodXJsLCBvbkxvYWRIYW5kbGVyKSB7Ci0gICAgICAgIGNvbnN0IGVsZW1lbnQg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJpZnJhbWUiKTsKLSAgICAgICAgZWxlbWVudC5zcmMg
PSB1cmw7Ci0gICAgICAgIGlmIChvbkxvYWRIYW5kbGVyKSB7Ci0gICAgICAgICAgICBlbGVtZW50
Lm9ubG9hZCA9IG9uTG9hZEhhbmRsZXI7Ci0gICAgICAgIH0KLSAgICAgICAgZG9jdW1lbnQuYm9k
eS5hcHBlbmRDaGlsZChlbGVtZW50KTsKLSAgICB9Ci0KLSAgICBmdW5jdGlvbiBydW5UZXN0KCkg
ewotICAgICAgICBzd2l0Y2ggKGRvY3VtZW50LmxvY2F0aW9uLmhhc2gpIHsKLSAgICAgICAgICAg
IGNhc2UgIiNzdGVwMSI6Ci0gICAgICAgICAgICAgICAgLy8gU2V0IGZpcnN0LXBhcnR5IGNvb2tp
ZSBmb3IgbG9jYWxob3N0LgotICAgICAgICAgICAgICAgIGRvY3VtZW50LmxvY2F0aW9uLmhyZWYg
PSB0aGlyZFBhcnR5QmFzZVVybCArIHN1YlBhdGhUb1NldEZpcnN0UGFydHlDb29raWUgKyAiIyIg
KyByZXR1cm5VcmwgKyAiI3N0ZXAyIjsKLSAgICAgICAgICAgICAgICBicmVhazsKLSAgICAgICAg
ICAgIGNhc2UgIiNzdGVwMiI6Ci0gICAgICAgICAgICAgICAgZG9jdW1lbnQubG9jYXRpb24uaGFz
aCA9ICJzdGVwMyI7Ci0gICAgICAgICAgICAgICAgLy8gQ2hlY2sgdGhhdCB0aGUgY29va2llIGlz
IGJsb2NrZWQgZm9yIGxvY2FsaG9zdCB1bmRlciAxMjcuMC4wLjEgZXZlbiB0aG91Z2ggbG9jYWxo
b3N0IGlzIG5vdCBwcmV2YWxlbnQuCi0gICAgICAgICAgICAgICAgb3BlbklmcmFtZSh0aGlyZFBh
cnR5QmFzZVVybCArIHN1YlBhdGhUb0dldENvb2tpZXMgKyAiJm1lc3NhZ2U9QmVmb3JlIHVzZXIg
aW50ZXJhY3Rpb24sIHNob3VsZCByZWNlaXZlIG5vIGNvb2tpZXMuIiwgcnVuVGVzdCk7Ci0gICAg
ICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgICAgICBjYXNlICIjc3RlcDMiOgotICAgICAgICAg
ICAgICAgIGRvY3VtZW50LmxvY2F0aW9uLmhhc2ggPSAic3RlcDQiOwotICAgICAgICAgICAgICAg
IC8vIFByb2R1Y2UgdXNlciBpbnRlcmFjdGlvbiBmb3IgdGhlIGZpcnN0LXBhcnR5LgotICAgICAg
ICAgICAgICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc0hhc0hhZFVzZXJJbnRlcmFjdGlvbihw
YXJ0aXRpb25PcmlnaW4sIHRydWUsIGZ1bmN0aW9uKCkgewotICAgICAgICAgICAgICAgICAgICAv
LyBDaGVjayB0aGF0IHRoZSBjb29raWUgaXMgc3RpbGwgYmxvY2tlZCBmb3IgbG9jYWxob3N0IHVu
ZGVyIDEyNy4wLjAuMS4KLSAgICAgICAgICAgICAgICAgICAgb3BlbklmcmFtZSh0aGlyZFBhcnR5
QmFzZVVybCArIHN1YlBhdGhUb0dldENvb2tpZXMgKyAgIiZtZXNzYWdlPUFmdGVyIHVzZXIgaW50
ZXJhY3Rpb24sIHNob3VsZCByZWNlaXZlIG5vIGNvb2tpZXMuIiwgcnVuVGVzdCk7Ci0gICAgICAg
ICAgICAgICAgfSk7Ci0gICAgICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgICAgICBjYXNlICIj
c3RlcDQiOgotICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc1Nob3VsZEJs
b2NrVGhpcmRQYXJ0eUNvb2tpZXMoZmFsc2UsIGZ1bmN0aW9uKCkgewotICAgICAgICAgICAgICAg
ICAgICBzZXRFbmFibGVGZWF0dXJlKGZhbHNlLCBmaW5pc2hKU1Rlc3QpOwotICAgICAgICAgICAg
ICAgIH0pOwotICAgICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICB9Ci0gICAgfQotCi0gICAg
aWYgKGRvY3VtZW50LmxvY2F0aW9uLmhhc2ggPT09ICIiKSB7Ci0gICAgICAgIHRlc3RSdW5uZXIu
c2V0VXNlSVRQRGF0YWJhc2UodHJ1ZSk7Ci0gICAgICAgIHNldEVuYWJsZUZlYXR1cmUodHJ1ZSwg
ZnVuY3Rpb24gKCkgewotICAgICAgICAgICAgdGVzdFJ1bm5lci5kdW1wQ2hpbGRGcmFtZXNBc1Rl
eHQoKTsKLSAgICAgICAgICAgIGRvY3VtZW50LmxvY2F0aW9uLmhhc2ggPSAic3RlcDEiOwotICAg
ICAgICAgICAgdGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNzU2hvdWxkQmxvY2tUaGlyZFBhcnR5Q29v
a2llcyh0cnVlLCBydW5UZXN0KTsKLSAgICAgICAgfSk7Ci0gICAgfSBlbHNlIHsKLSAgICAgICAg
aWYgKHRlc3RSdW5uZXIuaXNTdGF0aXN0aWNzRXBoZW1lcmFsKCkpCi0gICAgICAgICAgICB0ZXN0
UGFzc2VkKCJSZXNvdXJjZSBsb2FkIHN0YXRpc3RpY3MgaXMgcnVubmluZyBpbiBlcGhlbWVyYWwg
bW9kZS4iKTsKLSAgICAgICAgcnVuVGVzdCgpOwotICAgIH0KLTwvc2NyaXB0PgotPC9ib2R5Pgot
PC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRT
dGF0aXN0aWNzL3RoaXJkLXBhcnR5LWNvb2tpZS1ibG9ja2luZy1vbi1zaXRlcy13aXRob3V0LXVz
ZXItaW50ZXJhY3Rpb24tZGF0YWJhc2UtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC90
ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3RoaXJkLXBhcnR5LWNvb2tpZS1ibG9ja2luZy1v
bi1zaXRlcy13aXRob3V0LXVzZXItaW50ZXJhY3Rpb24tZGF0YWJhc2UtZXhwZWN0ZWQudHh0CmRl
bGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA2ZTc3Y2E4YTA3ZTRkMGU3Y2Q4NjBjYzRkODg0
N2Q0ZmVhODgzNmMzLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0t
LSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy90aGlyZC1w
YXJ0eS1jb29raWUtYmxvY2tpbmctb24tc2l0ZXMtd2l0aG91dC11c2VyLWludGVyYWN0aW9uLWRh
dGFiYXNlLWV4cGVjdGVkLnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDIzICswLDAgQEAKLVRlc3Rz
IHRoYXQgYWxsIHRoaXJkLXBhcnR5IGNvb2tpZXMgYXJlIGJsb2NrZWQgdW5kZXIgd2Vic2l0ZXMg
dGhhdCBoYXZlIG5vdCByZWNlaXZlZCB1c2VyIGludGVyYWN0aW9uLgotCi1PbiBzdWNjZXNzLCB5
b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVT
VCBDT01QTEVURSIuCi0KLQotUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQotCi1URVNU
IENPTVBMRVRFCi0KLQotLS0tLS0tLS0KLUZyYW1lOiAnPCEtLWZyYW1lMS0tPicKLS0tLS0tLS0t
Ci1CZWZvcmUgdXNlciBpbnRlcmFjdGlvbiwgc2hvdWxkIHJlY2VpdmUgbm8gY29va2llcy4KLURp
ZCBub3QgcmVjZWl2ZSBjb29raWUgbmFtZWQgJ2ZpcnN0UGFydHlDb29raWUnLgotQ2xpZW50LXNp
ZGUgZG9jdW1lbnQuY29va2llOgotCi0tLS0tLS0tLQotRnJhbWU6ICc8IS0tZnJhbWUyLS0+Jwot
LS0tLS0tLS0KLUFmdGVyIHVzZXIgaW50ZXJhY3Rpb24sIHNob3VsZCByZWNlaXZlIGZpcnN0LXBh
cnR5IGNvb2tpZS4KLVJlY2VpdmVkIGNvb2tpZSBuYW1lZCAnZmlyc3RQYXJ0eUNvb2tpZScuCi1D
bGllbnQtc2lkZSBkb2N1bWVudC5jb29raWU6IGZpcnN0UGFydHlDb29raWU9dmFsdWUKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy90aGly
ZC1wYXJ0eS1jb29raWUtYmxvY2tpbmctb24tc2l0ZXMtd2l0aG91dC11c2VyLWludGVyYWN0aW9u
LWRhdGFiYXNlLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRp
c3RpY3MvdGhpcmQtcGFydHktY29va2llLWJsb2NraW5nLW9uLXNpdGVzLXdpdGhvdXQtdXNlci1p
bnRlcmFjdGlvbi1kYXRhYmFzZS5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAy
N2FlMDczNWY0MDU2MDJjM2QwNTdhNzYwMzY0OWY0MzY3ZGIxMTkxLi4wMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVz
b3VyY2VMb2FkU3RhdGlzdGljcy90aGlyZC1wYXJ0eS1jb29raWUtYmxvY2tpbmctb24tc2l0ZXMt
d2l0aG91dC11c2VyLWludGVyYWN0aW9uLWRhdGFiYXNlLmh0bWwKKysrIC9kZXYvbnVsbApAQCAt
MSw3NSArMCwwIEBACi08IURPQ1RZUEUgaHRtbD4KLTxodG1sIGxhbmc9ImVuIj4KLTxoZWFkPgot
ICAgIDxtZXRhIGNoYXJzZXQ9IlVURi04Ij4KLSAgICA8c2NyaXB0IHNyYz0iL2pzLXRlc3QtcmVz
b3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgotICAgIDxzY3JpcHQgc3JjPSJyZXNvdXJjZXMv
dXRpbC5qcyI+PC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keT4KLTxzY3JpcHQ+Ci0gICAgZGVzY3Jp
cHRpb24oIlRlc3RzIHRoYXQgYWxsIHRoaXJkLXBhcnR5IGNvb2tpZXMgYXJlIGJsb2NrZWQgdW5k
ZXIgd2Vic2l0ZXMgdGhhdCBoYXZlIG5vdCByZWNlaXZlZCB1c2VyIGludGVyYWN0aW9uLiIpOwot
ICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOwotCi0gICAgY29uc3QgcGFydGl0aW9uSG9zdCA9ICIx
MjcuMC4wLjE6ODAwMCI7Ci0gICAgY29uc3QgcGFydGl0aW9uT3JpZ2luID0gImh0dHA6Ly8iICsg
cGFydGl0aW9uSG9zdDsKLSAgICBjb25zdCB0aGlyZFBhcnR5T3JpZ2luID0gImh0dHA6Ly9sb2Nh
bGhvc3Q6ODAwMCI7Ci0gICAgY29uc3QgcmVzb3VyY2VQYXRoID0gIi9yZXNvdXJjZUxvYWRTdGF0
aXN0aWNzL3Jlc291cmNlcyI7Ci0gICAgY29uc3QgdGhpcmRQYXJ0eUJhc2VVcmwgPSB0aGlyZFBh
cnR5T3JpZ2luICsgcmVzb3VyY2VQYXRoOwotICAgIGNvbnN0IGZpcnN0UGFydHlDb29raWVOYW1l
ID0gImZpcnN0UGFydHlDb29raWUiOwotICAgIGNvbnN0IHN1YlBhdGhUb1NldEZpcnN0UGFydHlD
b29raWUgPSAiL3NldC1jb29raWUucGhwP25hbWU9IiArIGZpcnN0UGFydHlDb29raWVOYW1lICsg
IiZ2YWx1ZT12YWx1ZSI7Ci0gICAgY29uc3QgcmV0dXJuVXJsID0gcGFydGl0aW9uT3JpZ2luICsg
Ii9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3RoaXJkLXBhcnR5LWNvb2tpZS1ibG9ja2luZy1vbi1z
aXRlcy13aXRob3V0LXVzZXItaW50ZXJhY3Rpb24tZGF0YWJhc2UuaHRtbCI7Ci0gICAgY29uc3Qg
c3ViUGF0aFRvR2V0Q29va2llcyA9ICIvZ2V0LWNvb2tpZXMucGhwP25hbWUxPSIgKyBmaXJzdFBh
cnR5Q29va2llTmFtZTsKLQotICAgIGZ1bmN0aW9uIG9wZW5JZnJhbWUodXJsLCBvbkxvYWRIYW5k
bGVyKSB7Ci0gICAgICAgIGNvbnN0IGVsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJp
ZnJhbWUiKTsKLSAgICAgICAgZWxlbWVudC5zcmMgPSB1cmw7Ci0gICAgICAgIGlmIChvbkxvYWRI
YW5kbGVyKSB7Ci0gICAgICAgICAgICBlbGVtZW50Lm9ubG9hZCA9IG9uTG9hZEhhbmRsZXI7Ci0g
ICAgICAgIH0KLSAgICAgICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChlbGVtZW50KTsKLSAg
ICB9Ci0KLSAgICBmdW5jdGlvbiBydW5UZXN0KCkgewotICAgICAgICBzd2l0Y2ggKGRvY3VtZW50
LmxvY2F0aW9uLmhhc2gpIHsKLSAgICAgICAgICAgIGNhc2UgIiNzdGVwMSI6Ci0gICAgICAgICAg
ICAgICAgLy8gU2V0IGZpcnN0LXBhcnR5IGNvb2tpZSBmb3IgbG9jYWxob3N0LgotICAgICAgICAg
ICAgICAgIGRvY3VtZW50LmxvY2F0aW9uLmhyZWYgPSB0aGlyZFBhcnR5QmFzZVVybCArIHN1YlBh
dGhUb1NldEZpcnN0UGFydHlDb29raWUgKyAiIyIgKyByZXR1cm5VcmwgKyAiI3N0ZXAyIjsKLSAg
ICAgICAgICAgICAgICBicmVhazsKLSAgICAgICAgICAgIGNhc2UgIiNzdGVwMiI6Ci0gICAgICAg
ICAgICAgICAgZG9jdW1lbnQubG9jYXRpb24uaGFzaCA9ICJzdGVwMyI7Ci0gICAgICAgICAgICAg
ICAgLy8gQ2hlY2sgdGhhdCB0aGUgY29va2llIGlzIGJsb2NrZWQgZm9yIGxvY2FsaG9zdCB1bmRl
ciAxMjcuMC4wLjEgZXZlbiB0aG91Z2ggbG9jYWxob3N0IGlzIG5vdCBwcmV2YWxlbnQuCi0gICAg
ICAgICAgICAgICAgb3BlbklmcmFtZSh0aGlyZFBhcnR5QmFzZVVybCArIHN1YlBhdGhUb0dldENv
b2tpZXMgKyAiJm1lc3NhZ2U9QmVmb3JlIHVzZXIgaW50ZXJhY3Rpb24sIHNob3VsZCByZWNlaXZl
IG5vIGNvb2tpZXMuIiwgcnVuVGVzdCk7Ci0gICAgICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAg
ICAgICBjYXNlICIjc3RlcDMiOgotICAgICAgICAgICAgICAgIGRvY3VtZW50LmxvY2F0aW9uLmhh
c2ggPSAic3RlcDQiOwotICAgICAgICAgICAgICAgIC8vIFByb2R1Y2UgdXNlciBpbnRlcmFjdGlv
biBmb3IgdGhlIGZpcnN0LXBhcnR5IHRvIGFsbG93IHRoaXJkLXBhcnR5IGNvb2tpZSBhY2Nlc3Mu
Ci0gICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNzSGFzSGFkVXNlckludGVy
YWN0aW9uKHBhcnRpdGlvbk9yaWdpbiwgdHJ1ZSwgZnVuY3Rpb24oKSB7Ci0gICAgICAgICAgICAg
ICAgICAgIHRlc3RSdW5uZXIuc3RhdGlzdGljc1VwZGF0ZUNvb2tpZUJsb2NraW5nKGZ1bmN0aW9u
KCkgewotICAgICAgICAgICAgICAgICAgICAgICAgLy8gQ2hlY2sgdGhhdCB0aGUgY29va2llIGlz
IG5vIGxvbmdlciBibG9ja2VkIGZvciBsb2NhbGhvc3QgdW5kZXIgMTI3LjAuMC4xLgotICAgICAg
ICAgICAgICAgICAgICAgICAgb3BlbklmcmFtZSh0aGlyZFBhcnR5QmFzZVVybCArIHN1YlBhdGhU
b0dldENvb2tpZXMgKyAgIiZtZXNzYWdlPUFmdGVyIHVzZXIgaW50ZXJhY3Rpb24sIHNob3VsZCBy
ZWNlaXZlIGZpcnN0LXBhcnR5IGNvb2tpZS4iLCBydW5UZXN0KTsKLSAgICAgICAgICAgICAgICAg
ICAgfSk7Ci0gICAgICAgICAgICAgICAgfSk7Ci0gICAgICAgICAgICAgICAgYnJlYWs7Ci0gICAg
ICAgICAgICBjYXNlICIjc3RlcDQiOgotICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIuc2V0U3Rh
dGlzdGljc1Nob3VsZEJsb2NrVGhpcmRQYXJ0eUNvb2tpZXMoZmFsc2UsIGZ1bmN0aW9uKCkgewot
ICAgICAgICAgICAgICAgICAgICBzZXRFbmFibGVGZWF0dXJlKGZhbHNlLCBmaW5pc2hKU1Rlc3Qp
OwotICAgICAgICAgICAgICAgIH0pOwotICAgICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICB9
Ci0gICAgfQotCi0gICAgaWYgKGRvY3VtZW50LmxvY2F0aW9uLmhhc2ggPT09ICIiKSB7Ci0gICAg
ICAgIHRlc3RSdW5uZXIuc2V0VXNlSVRQRGF0YWJhc2UodHJ1ZSk7Ci0gICAgICAgIHNldEVuYWJs
ZUZlYXR1cmUodHJ1ZSwgZnVuY3Rpb24gKCkgewotICAgICAgICAgICAgaWYgKHRlc3RSdW5uZXIu
aXNTdGF0aXN0aWNzUHJldmFsZW50UmVzb3VyY2UodGhpcmRQYXJ0eU9yaWdpbikpCi0gICAgICAg
ICAgICAgICAgdGVzdEZhaWxlZCgiTG9jYWxob3N0IHdhcyBjbGFzc2lmaWVkIGFzIHByZXZhbGVu
dCByZXNvdXJjZSBiZWZvcmUgdGhlIHRlc3Qgc3RhcnRzLiIpOwotICAgICAgICAgICAgdGVzdFJ1
bm5lci5kdW1wQ2hpbGRGcmFtZXNBc1RleHQoKTsKLSAgICAgICAgICAgIGRvY3VtZW50LmxvY2F0
aW9uLmhhc2ggPSAic3RlcDEiOwotICAgICAgICAgICAgdGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNz
U2hvdWxkQmxvY2tUaGlyZFBhcnR5Q29va2llcyh0cnVlLCBydW5UZXN0LCB0cnVlKTsKLSAgICAg
ICAgfSk7Ci0gICAgfSBlbHNlIHsKLSAgICAgICAgcnVuVGVzdCgpOwotICAgIH0KLTwvc2NyaXB0
PgotPC9ib2R5PgotPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy91c2VyLWlu
dGVyYWN0aW9uLWluLWNyb3NzLW9yaWdpbi1zdWItZnJhbWUtZGF0YWJhc2UtZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3VzZXItaW50
ZXJhY3Rpb24taW4tY3Jvc3Mtb3JpZ2luLXN1Yi1mcmFtZS1kYXRhYmFzZS1leHBlY3RlZC50eHQK
ZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDI4NDI3MzBhNDVkYWRlNmVhNmYxNWRlY2Mz
OWE3ZTVhOWEwZTMxMmMuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAK
LS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3VzZXIt
aW50ZXJhY3Rpb24taW4tY3Jvc3Mtb3JpZ2luLXN1Yi1mcmFtZS1kYXRhYmFzZS1leHBlY3RlZC50
eHQKKysrIC9kZXYvbnVsbApAQCAtMSwxNCArMCwwIEBACi1UZXN0cyB0aGF0IHVzZXIgaW50ZXJh
Y3Rpb24gaXMgYWx3YXlzIGxvZ2dlZCBmb3IgdGhlIHRvcCBkb2N1bWVudC9mcmFtZS4KLQotT24g
c3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93
ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgotCi0KLVBBU1MgZG9jdW1lbnQubG9jYXRpb24ub3JpZ2lu
IGlzIHRvcEZyYW1lT3JpZ2luCi1QQVNTIHRlc3RSdW5uZXIuaXNTdGF0aXN0aWNzSGFzSGFkVXNl
ckludGVyYWN0aW9uKHRvcEZyYW1lT3JpZ2luKSBpcyBmYWxzZQotUEFTUyB0ZXN0UnVubmVyLmlz
U3RhdGlzdGljc0hhc0hhZFVzZXJJbnRlcmFjdGlvbihzdWJGcmFtZU9yaWdpbikgaXMgZmFsc2UK
LVBBU1MgdGVzdFJ1bm5lci5pc1N0YXRpc3RpY3NIYXNIYWRVc2VySW50ZXJhY3Rpb24odG9wRnJh
bWVPcmlnaW4pIGlzIHRydWUKLVBBU1MgdGVzdFJ1bm5lci5pc1N0YXRpc3RpY3NIYXNIYWRVc2Vy
SW50ZXJhY3Rpb24oc3ViRnJhbWVPcmlnaW4pIGlzIGZhbHNlCi1QQVNTIHN1Y2Nlc3NmdWxseVBh
cnNlZCBpcyB0cnVlCi0KLVRFU1QgQ09NUExFVEUKLQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3VzZXItaW50ZXJhY3Rpb24taW4tY3Jv
c3Mtb3JpZ2luLXN1Yi1mcmFtZS1kYXRhYmFzZS5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0
cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3VzZXItaW50ZXJhY3Rpb24taW4tY3Jvc3Mtb3JpZ2lu
LXN1Yi1mcmFtZS1kYXRhYmFzZS5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA1
MTY3MmU4OWMyN2VmZjk5N2I5ZGJmYjBhYjI1MzNkM2RhM2ZiNGJiLi4wMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVz
b3VyY2VMb2FkU3RhdGlzdGljcy91c2VyLWludGVyYWN0aW9uLWluLWNyb3NzLW9yaWdpbi1zdWIt
ZnJhbWUtZGF0YWJhc2UuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDQ3ICswLDAgQEAKLTwhRE9D
VFlQRSBodG1sPgotPGh0bWw+Ci08Ym9keT4KLTxzY3JpcHQgc3JjPSIvanMtdGVzdC1yZXNvdXJj
ZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2pzLXRlc3QtcmVzb3VyY2Vz
L3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0icmVzb3VyY2VzL3V0aWwuanMi
Pjwvc2NyaXB0PgotPHNjcmlwdD4KLWRlc2NyaXB0aW9uKCJUZXN0cyB0aGF0IHVzZXIgaW50ZXJh
Y3Rpb24gaXMgYWx3YXlzIGxvZ2dlZCBmb3IgdGhlIHRvcCBkb2N1bWVudC9mcmFtZS4iKTsKLWpz
VGVzdElzQXN5bmMgPSB0cnVlOwotdGVzdFJ1bm5lci5zZXRVc2VJVFBEYXRhYmFzZSh0cnVlKTsK
LQotY29uc3QgdG9wRnJhbWVPcmlnaW4gPSAiaHR0cDovLzEyNy4wLjAuMTo4MDAwIjsKLWNvbnN0
IHN1YkZyYW1lT3JpZ2luID0gImh0dHA6Ly9sb2NhbGhvc3Q6ODAwMCI7Ci0KLWZ1bmN0aW9uIGFj
dGl2YXRlRWxlbWVudChlbGVtZW50SWQpIHsKLSAgICB2YXIgZWxlbWVudCA9IGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKGVsZW1lbnRJZCk7Ci0gICAgdmFyIGNlbnRlclggPSBlbGVtZW50Lm9mZnNl
dExlZnQgKyBlbGVtZW50Lm9mZnNldFdpZHRoIC8gMjsKLSAgICB2YXIgY2VudGVyWSA9IGVsZW1l
bnQub2Zmc2V0VG9wICsgZWxlbWVudC5vZmZzZXRIZWlnaHQgLyAyOwotICAgIFVJSGVscGVyLmFj
dGl2YXRlQXQoY2VudGVyWCwgY2VudGVyWSk7Ci19Ci0KLWZ1bmN0aW9uIGZpbmlzaFRlc3QoKSB7
Ci0gICAgc2hvdWxkQmVUcnVlKCJ0ZXN0UnVubmVyLmlzU3RhdGlzdGljc0hhc0hhZFVzZXJJbnRl
cmFjdGlvbih0b3BGcmFtZU9yaWdpbikiKTsKLSAgICBzaG91bGRCZUZhbHNlKCJ0ZXN0UnVubmVy
LmlzU3RhdGlzdGljc0hhc0hhZFVzZXJJbnRlcmFjdGlvbihzdWJGcmFtZU9yaWdpbikiKTsKLSAg
ICBzZXRFbmFibGVGZWF0dXJlKGZhbHNlLCBmaW5pc2hKU1Rlc3QpOwotfQotCi1vbmxvYWQgPSBm
dW5jdGlvbigpIHsKLSAgICBzZXRFbmFibGVGZWF0dXJlKHRydWUsIGZ1bmN0aW9uKCkgewotICAg
ICAgICBpZiAodGVzdFJ1bm5lcikgewotICAgICAgICAgICAgdGVzdFJ1bm5lci5pbnN0YWxsU3Rh
dGlzdGljc0RpZFNjYW5EYXRhUmVjb3Jkc0NhbGxiYWNrKGZpbmlzaFRlc3QpOwotICAgICAgICB9
Ci0KLSAgICAgICAgc2hvdWxkQmUoImRvY3VtZW50LmxvY2F0aW9uLm9yaWdpbiIsICJ0b3BGcmFt
ZU9yaWdpbiIpOwotCi0gICAgICAgIGlmICh0ZXN0UnVubmVyKSB7Ci0gICAgICAgICAgICBzaG91
bGRCZUZhbHNlKCJ0ZXN0UnVubmVyLmlzU3RhdGlzdGljc0hhc0hhZFVzZXJJbnRlcmFjdGlvbih0
b3BGcmFtZU9yaWdpbikiKTsKLSAgICAgICAgICAgIHNob3VsZEJlRmFsc2UoInRlc3RSdW5uZXIu
aXNTdGF0aXN0aWNzSGFzSGFkVXNlckludGVyYWN0aW9uKHN1YkZyYW1lT3JpZ2luKSIpOwotCi0g
ICAgICAgICAgICBhY3RpdmF0ZUVsZW1lbnQoInRlc3RGcmFtZSIpOwotICAgICAgICB9Ci0gICAg
fSk7Ci19OwotPC9zY3JpcHQ+Ci08aWZyYW1lIGlkPSJ0ZXN0RnJhbWUiIHNyYz0iaHR0cDovL2xv
Y2FsaG9zdDo4MDAwL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvcmVzb3VyY2VzL2R1bW15Lmh0bWwi
PjwvaWZyYW1lPgotPC9ib2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3VzZXItaW50ZXJhY3Rpb24tb25seS1yZXBv
cnRlZC1vbmNlLXdpdGhpbi1zaG9ydC1wZXJpb2Qtb2YtdGltZS1kYXRhYmFzZS1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvdXNlci1p
bnRlcmFjdGlvbi1vbmx5LXJlcG9ydGVkLW9uY2Utd2l0aGluLXNob3J0LXBlcmlvZC1vZi10aW1l
LWRhdGFiYXNlLWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNTQz
MmJjOGVkNzM4MWZiYzQ5OGRiMzRjMGZiM2JlN2E1N2JkOTFkMS4uMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291
cmNlTG9hZFN0YXRpc3RpY3MvdXNlci1pbnRlcmFjdGlvbi1vbmx5LXJlcG9ydGVkLW9uY2Utd2l0
aGluLXNob3J0LXBlcmlvZC1vZi10aW1lLWRhdGFiYXNlLWV4cGVjdGVkLnR4dAorKysgL2Rldi9u
dWxsCkBAIC0xLDE3ICswLDAgQEAKLVRlc3RzIHRoYXQgdXNlciBpbnRlcmFjdGlvbiBpcyBub3Qg
cmVwb3J0ZWQgcmVwZWF0ZWRseSB3aXRoaW4gYSBzaG9ydCBwZXJpb2Qgb2YgdGltZS4KLQotT24g
c3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93
ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgotCi0KLVBBU1MgZG9jdW1lbnQubG9jYXRpb24ub3JpZ2lu
IGlzIHRvcEZyYW1lT3JpZ2luCi1QQVNTIHRlc3RSdW5uZXIuaXNTdGF0aXN0aWNzSGFzSGFkVXNl
ckludGVyYWN0aW9uKHRvcEZyYW1lT3JpZ2luKSBpcyBmYWxzZQotUEFTUyB0ZXN0UnVubmVyLmlz
U3RhdGlzdGljc0hhc0hhZFVzZXJJbnRlcmFjdGlvbihzdWJGcmFtZU9yaWdpbikgaXMgZmFsc2UK
LVBBU1MgdGVzdFJ1bm5lci5pc1N0YXRpc3RpY3NIYXNIYWRVc2VySW50ZXJhY3Rpb24odG9wRnJh
bWVPcmlnaW4pIGlzIHRydWUKLVBBU1MgdGVzdFJ1bm5lci5pc1N0YXRpc3RpY3NIYXNIYWRVc2Vy
SW50ZXJhY3Rpb24oc3ViRnJhbWVPcmlnaW4pIGlzIGZhbHNlCi1QQVNTIHRlc3RSdW5uZXIuaXNT
dGF0aXN0aWNzSGFzSGFkVXNlckludGVyYWN0aW9uKHRvcEZyYW1lT3JpZ2luKSBpcyBmYWxzZQot
UEFTUyB0ZXN0UnVubmVyLmlzU3RhdGlzdGljc0hhc0hhZFVzZXJJbnRlcmFjdGlvbih0b3BGcmFt
ZU9yaWdpbikgaXMgZmFsc2UKLVBBU1MgdGVzdFJ1bm5lci5pc1N0YXRpc3RpY3NIYXNIYWRVc2Vy
SW50ZXJhY3Rpb24oc3ViRnJhbWVPcmlnaW4pIGlzIGZhbHNlCi1QQVNTIHN1Y2Nlc3NmdWxseVBh
cnNlZCBpcyB0cnVlCi0KLVRFU1QgQ09NUExFVEUKLVRoaXMgaXMgdGhlIHRlc3QgZWxlbWVudApk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNz
L3VzZXItaW50ZXJhY3Rpb24tb25seS1yZXBvcnRlZC1vbmNlLXdpdGhpbi1zaG9ydC1wZXJpb2Qt
b2YtdGltZS1kYXRhYmFzZS5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxv
YWRTdGF0aXN0aWNzL3VzZXItaW50ZXJhY3Rpb24tb25seS1yZXBvcnRlZC1vbmNlLXdpdGhpbi1z
aG9ydC1wZXJpb2Qtb2YtdGltZS1kYXRhYmFzZS5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCA2MDk1MjQyY2FkNjc0MDQxN2FhOTk3MjQ2MTg5ODE0NGRjMmNlOTNlLi4wMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2h0dHAv
dGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy91c2VyLWludGVyYWN0aW9uLW9ubHktcmVwb3J0
ZWQtb25jZS13aXRoaW4tc2hvcnQtcGVyaW9kLW9mLXRpbWUtZGF0YWJhc2UuaHRtbAorKysgL2Rl
di9udWxsCkBAIC0xLDY1ICswLDAgQEAKLTwhRE9DVFlQRSBodG1sPgotPGh0bWw+Ci08Ym9keT4K
LTxzY3JpcHQgc3JjPSIvanMtdGVzdC1yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+Ci08
c2NyaXB0IHNyYz0iL2pzLXRlc3QtcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Ci08
c2NyaXB0IHNyYz0icmVzb3VyY2VzL3V0aWwuanMiPjwvc2NyaXB0PgotPHNjcmlwdD4KLSAgICBk
ZXNjcmlwdGlvbigiVGVzdHMgdGhhdCB1c2VyIGludGVyYWN0aW9uIGlzIG5vdCByZXBvcnRlZCBy
ZXBlYXRlZGx5IHdpdGhpbiBhIHNob3J0IHBlcmlvZCBvZiB0aW1lLiIpOwotICAgIGpzVGVzdElz
QXN5bmMgPSB0cnVlOwotCi0gICAgY29uc3QgdG9wRnJhbWVPcmlnaW4gPSAiaHR0cDovLzEyNy4w
LjAuMTo4MDAwIjsKLSAgICBjb25zdCBzdWJGcmFtZU9yaWdpbiA9ICJodHRwOi8vbG9jYWxob3N0
OjgwMDAiOwotCi0gICAgZnVuY3Rpb24gYWN0aXZhdGVFbGVtZW50KGVsZW1lbnRJZCwgY2FsbGJh
Y2spIHsKLSAgICAgICAgdmFyIGVsZW1lbnQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChlbGVt
ZW50SWQpOwotICAgICAgICB2YXIgY2VudGVyWCA9IGVsZW1lbnQub2Zmc2V0TGVmdCArIGVsZW1l
bnQub2Zmc2V0V2lkdGggLyAyOwotICAgICAgICB2YXIgY2VudGVyWSA9IGVsZW1lbnQub2Zmc2V0
VG9wICsgZWxlbWVudC5vZmZzZXRIZWlnaHQgLyAyOwotICAgICAgICBVSUhlbHBlci5hY3RpdmF0
ZUF0KGNlbnRlclgsIGNlbnRlclkpLnRoZW4oCi0gICAgICAgICAgICBmdW5jdGlvbigpIHsKLSAg
ICAgICAgICAgICAgICBjYWxsYmFjaygpOwotICAgICAgICAgICAgfSwKLSAgICAgICAgICAgIGZ1
bmN0aW9uKCkgewotICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoIlByb21pc2UgcmVqZWN0ZWQu
Iik7Ci0gICAgICAgICAgICAgICAgc2V0RW5hYmxlRmVhdHVyZShmYWxzZSwgZmluaXNoSlNUZXN0
KTsKLSAgICAgICAgICAgIH0KLSAgICAgICAgKTsKLSAgICB9Ci0KLSAgICBmdW5jdGlvbiBmaXJz
dEludGVyYWN0aW9uKCkgewotICAgICAgICBzaG91bGRCZUZhbHNlKCJ0ZXN0UnVubmVyLmlzU3Rh
dGlzdGljc0hhc0hhZFVzZXJJbnRlcmFjdGlvbih0b3BGcmFtZU9yaWdpbikiKTsKLSAgICAgICAg
c2hvdWxkQmVGYWxzZSgidGVzdFJ1bm5lci5pc1N0YXRpc3RpY3NIYXNIYWRVc2VySW50ZXJhY3Rp
b24oc3ViRnJhbWVPcmlnaW4pIik7Ci0gICAgICAgIGFjdGl2YXRlRWxlbWVudCgidGVzdEVsZW1l
bnQiLCBzZWNvbmRJbnRlcmFjdGlvbik7Ci0gICAgfQotCi0gICAgZnVuY3Rpb24gc2Vjb25kSW50
ZXJhY3Rpb24oKSB7Ci0gICAgICAgIHNob3VsZEJlVHJ1ZSgidGVzdFJ1bm5lci5pc1N0YXRpc3Rp
Y3NIYXNIYWRVc2VySW50ZXJhY3Rpb24odG9wRnJhbWVPcmlnaW4pIik7Ci0gICAgICAgIHNob3Vs
ZEJlRmFsc2UoInRlc3RSdW5uZXIuaXNTdGF0aXN0aWNzSGFzSGFkVXNlckludGVyYWN0aW9uKHN1
YkZyYW1lT3JpZ2luKSIpOwotCi0gICAgICAgIGlmICh0ZXN0UnVubmVyKSB7Ci0gICAgICAgICAg
ICB0ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NIYXNIYWRVc2VySW50ZXJhY3Rpb24odG9wRnJhbWVP
cmlnaW4sIGZhbHNlLCBmdW5jdGlvbigpIHsKLSAgICAgICAgICAgICAgICBzaG91bGRCZUZhbHNl
KCJ0ZXN0UnVubmVyLmlzU3RhdGlzdGljc0hhc0hhZFVzZXJJbnRlcmFjdGlvbih0b3BGcmFtZU9y
aWdpbikiKTsKLQotICAgICAgICAgICAgICAgIGFjdGl2YXRlRWxlbWVudCgidGVzdEVsZW1lbnQi
LCBmaW5pc2hUZXN0KTsKLSAgICAgICAgICAgIH0pOwotICAgICAgICB9Ci0gICAgfQotCi0gICAg
ZnVuY3Rpb24gZmluaXNoVGVzdCgpIHsKLSAgICAgICAgc2hvdWxkQmVGYWxzZSgidGVzdFJ1bm5l
ci5pc1N0YXRpc3RpY3NIYXNIYWRVc2VySW50ZXJhY3Rpb24odG9wRnJhbWVPcmlnaW4pIik7Ci0g
ICAgICAgIHNob3VsZEJlRmFsc2UoInRlc3RSdW5uZXIuaXNTdGF0aXN0aWNzSGFzSGFkVXNlcklu
dGVyYWN0aW9uKHN1YkZyYW1lT3JpZ2luKSIpOwotICAgICAgICBzZXRFbmFibGVGZWF0dXJlKGZh
bHNlLCBmaW5pc2hKU1Rlc3QpOwotICAgIH0KLQotICAgIG9ubG9hZCA9IGZ1bmN0aW9uKCkgewot
ICAgICAgICB0ZXN0UnVubmVyLnNldFVzZUlUUERhdGFiYXNlKHRydWUpOwotICAgICAgICBzZXRF
bmFibGVGZWF0dXJlKHRydWUsIGZ1bmN0aW9uKCkgewotICAgICAgICAgICAgc2hvdWxkQmUoImRv
Y3VtZW50LmxvY2F0aW9uLm9yaWdpbiIsICJ0b3BGcmFtZU9yaWdpbiIpOwotCi0gICAgICAgICAg
ICBmaXJzdEludGVyYWN0aW9uKCk7Ci0gICAgICAgIH0pOwotICAgIH07Ci08L3NjcmlwdD4KLTxk
aXYgaWQ9InRlc3RFbGVtZW50Ij5UaGlzIGlzIHRoZSB0ZXN0IGVsZW1lbnQ8L2Rpdj4KLTwvYm9k
eT4KLTwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VM
b2FkU3RhdGlzdGljcy91c2VyLWludGVyYWN0aW9uLXJlcG9ydGVkLWFmdGVyLXdlYnNpdGUtZGF0
YS1yZW1vdmFsLWRhdGFiYXNlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMv
cmVzb3VyY2VMb2FkU3RhdGlzdGljcy91c2VyLWludGVyYWN0aW9uLXJlcG9ydGVkLWFmdGVyLXdl
YnNpdGUtZGF0YS1yZW1vdmFsLWRhdGFiYXNlLWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggYmYyOGM5OWIzMDI0NDQ1NjBiNTFiMzQ4Yjk2MDIxYjA1ODU2ZWEzYy4u
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvdXNlci1pbnRlcmFjdGlvbi1yZXBv
cnRlZC1hZnRlci13ZWJzaXRlLWRhdGEtcmVtb3ZhbC1kYXRhYmFzZS1leHBlY3RlZC50eHQKKysr
IC9kZXYvbnVsbApAQCAtMSwxNyArMCwwIEBACi1UZXN0cyB0aGF0IHVzZXIgaW50ZXJhY3Rpb24g
aXMgcmVwb3J0ZWQgYWZ0ZXIgaGlzdG9yeSByZW1vdmFsIHNpbmNlIHRoYXQgbWVhbnMgYWxsIHN0
YXRpc3RpY3MgaGF2ZSBiZWVuIHJlc2V0LgotCi1PbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBz
ZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCi0K
LQotUEFTUyBkb2N1bWVudC5sb2NhdGlvbi5vcmlnaW4gaXMgdG9wRnJhbWVPcmlnaW4KLVBBU1Mg
dGVzdFJ1bm5lci5pc1N0YXRpc3RpY3NIYXNIYWRVc2VySW50ZXJhY3Rpb24odG9wRnJhbWVPcmln
aW4pIGlzIGZhbHNlCi1QQVNTIHRlc3RSdW5uZXIuaXNTdGF0aXN0aWNzSGFzSGFkVXNlckludGVy
YWN0aW9uKHN1YkZyYW1lT3JpZ2luKSBpcyBmYWxzZQotUEFTUyB0ZXN0UnVubmVyLmlzU3RhdGlz
dGljc0hhc0hhZFVzZXJJbnRlcmFjdGlvbih0b3BGcmFtZU9yaWdpbikgaXMgdHJ1ZQotUEFTUyB0
ZXN0UnVubmVyLmlzU3RhdGlzdGljc0hhc0hhZFVzZXJJbnRlcmFjdGlvbihzdWJGcmFtZU9yaWdp
bikgaXMgZmFsc2UKLVBBU1MgdGVzdFJ1bm5lci5pc1N0YXRpc3RpY3NIYXNIYWRVc2VySW50ZXJh
Y3Rpb24odG9wRnJhbWVPcmlnaW4pIGlzIGZhbHNlCi1QQVNTIHRlc3RSdW5uZXIuaXNTdGF0aXN0
aWNzSGFzSGFkVXNlckludGVyYWN0aW9uKHRvcEZyYW1lT3JpZ2luKSBpcyB0cnVlCi1QQVNTIHRl
c3RSdW5uZXIuaXNTdGF0aXN0aWNzSGFzSGFkVXNlckludGVyYWN0aW9uKHN1YkZyYW1lT3JpZ2lu
KSBpcyBmYWxzZQotUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQotCi1URVNUIENPTVBM
RVRFCi1UaGlzIGlzIHRoZSB0ZXN0IGVsZW1lbnQKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0
dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy91c2VyLWludGVyYWN0aW9uLXJlcG9ydGVk
LWFmdGVyLXdlYnNpdGUtZGF0YS1yZW1vdmFsLWRhdGFiYXNlLmh0bWwgYi9MYXlvdXRUZXN0cy9o
dHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvdXNlci1pbnRlcmFjdGlvbi1yZXBvcnRl
ZC1hZnRlci13ZWJzaXRlLWRhdGEtcmVtb3ZhbC1kYXRhYmFzZS5odG1sCmRlbGV0ZWQgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAyYmViNDJmOTQyZjFiNjhmZmFjZmUwZWZiMWZlOTIzOTYyZjIyNjhk
Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRl
c3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy91c2VyLWludGVyYWN0aW9uLXJl
cG9ydGVkLWFmdGVyLXdlYnNpdGUtZGF0YS1yZW1vdmFsLWRhdGFiYXNlLmh0bWwKKysrIC9kZXYv
bnVsbApAQCAtMSw2NiArMCwwIEBACi08IURPQ1RZUEUgaHRtbD4KLTxodG1sPgotPGJvZHk+Ci08
c2NyaXB0IHNyYz0iL2pzLXRlc3QtcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgotPHNj
cmlwdCBzcmM9Ii9qcy10ZXN0LXJlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgotPHNj
cmlwdCBzcmM9InJlc291cmNlcy91dGlsLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQ+Ci0gICAgZGVz
Y3JpcHRpb24oIlRlc3RzIHRoYXQgdXNlciBpbnRlcmFjdGlvbiBpcyByZXBvcnRlZCBhZnRlciBo
aXN0b3J5IHJlbW92YWwgc2luY2UgdGhhdCBtZWFucyBhbGwgc3RhdGlzdGljcyBoYXZlIGJlZW4g
cmVzZXQuIik7Ci0gICAganNUZXN0SXNBc3luYyA9IHRydWU7Ci0KLSAgICBjb25zdCB0b3BGcmFt
ZU9yaWdpbiA9ICJodHRwOi8vMTI3LjAuMC4xOjgwMDAiOwotICAgIGNvbnN0IHN1YkZyYW1lT3Jp
Z2luID0gImh0dHA6Ly9sb2NhbGhvc3Q6ODAwMCI7Ci0KLSAgICBmdW5jdGlvbiBhY3RpdmF0ZUVs
ZW1lbnQoZWxlbWVudElkLCBjYWxsYmFjaykgewotICAgICAgICB2YXIgZWxlbWVudCA9IGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKGVsZW1lbnRJZCk7Ci0gICAgICAgIHZhciBjZW50ZXJYID0gZWxl
bWVudC5vZmZzZXRMZWZ0ICsgZWxlbWVudC5vZmZzZXRXaWR0aCAvIDI7Ci0gICAgICAgIHZhciBj
ZW50ZXJZID0gZWxlbWVudC5vZmZzZXRUb3AgKyBlbGVtZW50Lm9mZnNldEhlaWdodCAvIDI7Ci0g
ICAgICAgIFVJSGVscGVyLmFjdGl2YXRlQXQoY2VudGVyWCwgY2VudGVyWSkudGhlbigKLSAgICAg
ICAgICAgIGZ1bmN0aW9uKCkgewotICAgICAgICAgICAgICAgIGNhbGxiYWNrKCk7Ci0gICAgICAg
ICAgICB9LAotICAgICAgICAgICAgZnVuY3Rpb24oKSB7Ci0gICAgICAgICAgICAgICAgdGVzdEZh
aWxlZCgiUHJvbWlzZSByZWplY3RlZC4iKTsKLSAgICAgICAgICAgICAgICBzZXRFbmFibGVGZWF0
dXJlKGZhbHNlLCBmaW5pc2hKU1Rlc3QpOwotICAgICAgICAgICAgfQotICAgICAgICApOwotICAg
IH0KLQotICAgIGZ1bmN0aW9uIGZpcnN0SW50ZXJhY3Rpb24oKSB7Ci0gICAgICAgIHNob3VsZEJl
RmFsc2UoInRlc3RSdW5uZXIuaXNTdGF0aXN0aWNzSGFzSGFkVXNlckludGVyYWN0aW9uKHRvcEZy
YW1lT3JpZ2luKSIpOwotICAgICAgICBzaG91bGRCZUZhbHNlKCJ0ZXN0UnVubmVyLmlzU3RhdGlz
dGljc0hhc0hhZFVzZXJJbnRlcmFjdGlvbihzdWJGcmFtZU9yaWdpbikiKTsKLSAgICAgICAgYWN0
aXZhdGVFbGVtZW50KCJ0ZXN0RWxlbWVudCIsIGNsZWFyV2Vic2l0ZURhdGEpOwotICAgIH0KLQot
ICAgIGZ1bmN0aW9uIGNsZWFyV2Vic2l0ZURhdGEoKSB7Ci0gICAgICAgIHNob3VsZEJlVHJ1ZSgi
dGVzdFJ1bm5lci5pc1N0YXRpc3RpY3NIYXNIYWRVc2VySW50ZXJhY3Rpb24odG9wRnJhbWVPcmln
aW4pIik7Ci0gICAgICAgIHNob3VsZEJlRmFsc2UoInRlc3RSdW5uZXIuaXNTdGF0aXN0aWNzSGFz
SGFkVXNlckludGVyYWN0aW9uKHN1YkZyYW1lT3JpZ2luKSIpOwotCi0gICAgICAgIGlmICh0ZXN0
UnVubmVyKQotICAgICAgICAgICAgdGVzdFJ1bm5lci5zdGF0aXN0aWNzQ2xlYXJUaHJvdWdoV2Vi
c2l0ZURhdGFSZW1vdmFsKHNlY29uZEludGVyYWN0aW9uKTsKLSAgICB9Ci0KLSAgICBmdW5jdGlv
biBzZWNvbmRJbnRlcmFjdGlvbigpIHsKLSAgICAgICAgc2hvdWxkQmVGYWxzZSgidGVzdFJ1bm5l
ci5pc1N0YXRpc3RpY3NIYXNIYWRVc2VySW50ZXJhY3Rpb24odG9wRnJhbWVPcmlnaW4pIik7Ci0g
ICAgICAgIGFjdGl2YXRlRWxlbWVudCgidGVzdEVsZW1lbnQiLCBmaW5pc2hUZXN0KTsKLSAgICB9
Ci0KLSAgICBmdW5jdGlvbiBmaW5pc2hUZXN0KCkgewotICAgICAgICBzaG91bGRCZVRydWUoInRl
c3RSdW5uZXIuaXNTdGF0aXN0aWNzSGFzSGFkVXNlckludGVyYWN0aW9uKHRvcEZyYW1lT3JpZ2lu
KSIpOwotICAgICAgICBzaG91bGRCZUZhbHNlKCJ0ZXN0UnVubmVyLmlzU3RhdGlzdGljc0hhc0hh
ZFVzZXJJbnRlcmFjdGlvbihzdWJGcmFtZU9yaWdpbikiKTsKLQotICAgICAgICBzZXRFbmFibGVG
ZWF0dXJlKGZhbHNlLCBmaW5pc2hKU1Rlc3QpOwotICAgIH0KLQotICAgIG9ubG9hZCA9IGZ1bmN0
aW9uKCkgewotICAgICAgICB0ZXN0UnVubmVyLnNldFVzZUlUUERhdGFiYXNlKHRydWUpOwotICAg
ICAgICBzZXRFbmFibGVGZWF0dXJlKHRydWUsIGZ1bmN0aW9uKCkgewotICAgICAgICAgICAgc2hv
dWxkQmUoImRvY3VtZW50LmxvY2F0aW9uLm9yaWdpbiIsICJ0b3BGcmFtZU9yaWdpbiIpOwotCi0g
ICAgICAgICAgICBmaXJzdEludGVyYWN0aW9uKCk7Ci0gICAgICAgIH0pOwotICAgIH07Ci08L3Nj
cmlwdD4KLTxkaXYgaWQ9InRlc3RFbGVtZW50Ij5UaGlzIGlzIHRoZSB0ZXN0IGVsZW1lbnQ8L2Rp
dj4KLTwvYm9keT4KLTwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMv
cmVzb3VyY2VMb2FkU3RhdGlzdGljcy93ZWJzaXRlLWRhdGEtcmVtb3ZhbC1mb3Itc2l0ZS1uYXZp
Z2F0ZWQtdG8td2l0aC1saW5rLWRlY29yYXRpb24tZGF0YWJhc2UtZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3dlYnNpdGUtZGF0YS1y
ZW1vdmFsLWZvci1zaXRlLW5hdmlnYXRlZC10by13aXRoLWxpbmstZGVjb3JhdGlvbi1kYXRhYmFz
ZS1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGRlNDFhOWExYWI0
NWY4NjhlNzVlODViNDJiNWM5ZjQzZGQ2MjkzYmEuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRT
dGF0aXN0aWNzL3dlYnNpdGUtZGF0YS1yZW1vdmFsLWZvci1zaXRlLW5hdmlnYXRlZC10by13aXRo
LWxpbmstZGVjb3JhdGlvbi1kYXRhYmFzZS1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAt
MSwzNSArMCwwIEBACi1DaGVjayB0aGF0IG5vbi1jb29raWUgd2Vic2l0ZSBkYXRhIGdldHMgcmVt
b3ZlZCBhZnRlciBhIG5hdmlnYXRpb24gd2l0aCBsaW5rIGRlY29yYXRpb24gZnJvbSBhIHByZXZh
bGVudCByZXNvdXJjZS4KLQotQmVmb3JlIGRlbGV0aW9uOiBDbGllbnQtc2lkZSBjb29raWUgZXhp
c3RzLgotQmVmb3JlIGRlbGV0aW9uOiBIdHRwT25seSBjb29raWUgZXhpc3RzLgotQmVmb3JlIGRl
bGV0aW9uOiBSZWd1bGFyIHNlcnZlci1zaWRlIGNvb2tpZSBleGlzdHMuCi1CZWZvcmUgZGVsZXRp
b246IExvY2FsU3RvcmFnZSBlbnRyeSBkb2VzIGV4aXN0LgotQmVmb3JlIGRlbGV0aW9uOiBJREIg
ZW50cnkgZG9lcyBleGlzdC4KLQotQWZ0ZXIgZGVsZXRpb246IEh0dHBPbmx5IGNvb2tpZSBleGlz
dHMuCi1BZnRlciBkZWxldGlvbjogQ2xpZW50LXNpZGUgY29va2llIGV4aXN0cy4KLUFmdGVyIGRl
bGV0aW9uOiBSZWd1bGFyIHNlcnZlci1zaWRlIGNvb2tpZSBleGlzdHMuCi1BZnRlciBkZWxldGlv
bjogTG9jYWxTdG9yYWdlIGVudHJ5IGRvZXMgbm90IGV4aXN0LgotQWZ0ZXIgZGVsZXRpb246IElE
QiBlbnRyeSBkb2VzIG5vdCBleGlzdC4KLQotCi1SZXNvdXJjZSBsb2FkIHN0YXRpc3RpY3M6Ci0K
LVJlZ2lzdHJhYmxlIGRvbWFpbjogMTI3LjAuMC4xCi0gICAgaGFkVXNlckludGVyYWN0aW9uOiBO
bwotICAgIG1vc3RSZWNlbnRVc2VySW50ZXJhY3Rpb246IC0xCi0gICAgZ3JhbmRmYXRoZXJlZDog
Tm8KLSAgICBUb3BGcmFtZUxpbmtEZWNvcmF0aW9uc0Zyb206Ci0gICAgICAgIGxvY2FsaG9zdAot
ICAgIElzU2NoZWR1bGVkRm9yQWxsQnV0Q29va2llRGF0YVJlbW92YWw6IE5vCi0gICAgaXNQcmV2
YWxlbnRSZXNvdXJjZTogTm8KLSAgICBpc1ZlcnlQcmV2YWxlbnRSZXNvdXJjZTogTm8KLSAgICBk
YXRhUmVjb3Jkc1JlbW92ZWQ6IDEKLVJlZ2lzdHJhYmxlIGRvbWFpbjogbG9jYWxob3N0Ci0gICAg
aGFkVXNlckludGVyYWN0aW9uOiBObwotICAgIG1vc3RSZWNlbnRVc2VySW50ZXJhY3Rpb246IC0x
Ci0gICAgZ3JhbmRmYXRoZXJlZDogTm8KLSAgICBJc1NjaGVkdWxlZEZvckFsbEJ1dENvb2tpZURh
dGFSZW1vdmFsOiBObwotICAgIGlzUHJldmFsZW50UmVzb3VyY2U6IFllcwotICAgIGlzVmVyeVBy
ZXZhbGVudFJlc291cmNlOiBObwotICAgIGRhdGFSZWNvcmRzUmVtb3ZlZDogMApkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3dlYnNpdGUt
ZGF0YS1yZW1vdmFsLWZvci1zaXRlLW5hdmlnYXRlZC10by13aXRoLWxpbmstZGVjb3JhdGlvbi1k
YXRhYmFzZS5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0
aWNzL3dlYnNpdGUtZGF0YS1yZW1vdmFsLWZvci1zaXRlLW5hdmlnYXRlZC10by13aXRoLWxpbmst
ZGVjb3JhdGlvbi1kYXRhYmFzZS5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBl
YjBjZjVjNTZiOTdiNzkzYjA4MzY3YWIwYzlhZmM2NmU1NGE3NzE4Li4wMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVz
b3VyY2VMb2FkU3RhdGlzdGljcy93ZWJzaXRlLWRhdGEtcmVtb3ZhbC1mb3Itc2l0ZS1uYXZpZ2F0
ZWQtdG8td2l0aC1saW5rLWRlY29yYXRpb24tZGF0YWJhc2UuaHRtbAorKysgL2Rldi9udWxsCkBA
IC0xLDI1MSArMCwwIEBACi08IURPQ1RZUEUgaHRtbD4KLTxodG1sPgotPGhlYWQ+Ci0gICAgPHNj
cmlwdCBzcmM9Ii9jb29raWVzL3Jlc291cmNlcy9jb29raWUtdXRpbGl0aWVzLmpzIj48L3Njcmlw
dD4KLSAgICA8c2NyaXB0IHNyYz0icmVzb3VyY2VzL3V0aWwuanMiPjwvc2NyaXB0PgotPC9oZWFk
PgotPGJvZHkgb25sb2FkPSJzZXRUaW1lb3V0KCdydW5UZXN0KCknLCAwKSI+Ci08ZGl2IGlkPSJk
ZXNjcmlwdGlvbiI+Q2hlY2sgdGhhdCBub24tY29va2llIHdlYnNpdGUgZGF0YSBnZXRzIHJlbW92
ZWQgYWZ0ZXIgYSBuYXZpZ2F0aW9uIHdpdGggbGluayBkZWNvcmF0aW9uIGZyb20gYSBwcmV2YWxl
bnQgcmVzb3VyY2UuPC9kaXY+Ci08YnI+Ci08ZGl2IGlkPSJvdXRwdXQiPjwvZGl2PgotPGJyPgot
PHNjcmlwdD4KLSAgICB0ZXN0UnVubmVyLnNldFVzZUlUUERhdGFiYXNlKHRydWUpOwotICAgIHRl
c3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOwotICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOwot
Ci0gICAgY29uc3QgaHR0cE9ubHlDb29raWVOYW1lID0gImh0dHAtb25seS1jb29raWUiOwotICAg
IGNvbnN0IHNlcnZlclNpZGVDb29raWVOYW1lID0gInNlcnZlci1zaWRlLWNvb2tpZSI7Ci0gICAg
Y29uc3QgY2xpZW50U2lkZUNvb2tpZU5hbWUgPSAiY2xpZW50LXNpZGUtY29va2llIjsKLQotICAg
IGZ1bmN0aW9uIHNvcnRTdHJpbmdBcnJheShhLCBiKSB7Ci0gICAgICAgIGEgPSBhLnRvTG93ZXJD
YXNlKCk7Ci0gICAgICAgIGIgPSBiLnRvTG93ZXJDYXNlKCk7Ci0KLSAgICAgICAgcmV0dXJuIGEg
PiBiID8gMSA6IGIgPiBhID8gLTEgOiAwOwotICAgIH0KLQotICAgIGZ1bmN0aW9uIGFkZExpbmVi
cmVha1RvT3V0cHV0KCkgewotICAgICAgICBsZXQgZWxlbWVudCA9IGRvY3VtZW50LmNyZWF0ZUVs
ZW1lbnQoImJyIik7Ci0gICAgICAgIG91dHB1dC5hcHBlbmRDaGlsZChlbGVtZW50KTsKLSAgICB9
Ci0KLSAgICBmdW5jdGlvbiBhZGRPdXRwdXQobWVzc2FnZSkgewotICAgICAgICBsZXQgZWxlbWVu
dCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpOwotICAgICAgICBlbGVtZW50LmlubmVy
VGV4dCA9IG1lc3NhZ2U7Ci0gICAgICAgIG91dHB1dC5hcHBlbmRDaGlsZChlbGVtZW50KTsKLSAg
ICB9Ci0KLSAgICBmdW5jdGlvbiBjaGVja0Nvb2tpZXMoaXNBZnRlckRlbGV0aW9uKSB7Ci0gICAg
ICAgIGxldCB1bnNvcnRlZFRlc3RQYXNzZWRNZXNzYWdlcyA9IFtdOwotICAgICAgICBsZXQgY29v
a2llcyA9IGludGVybmFscy5nZXRDb29raWVzKCk7Ci0gICAgICAgIGlmICghY29va2llcy5sZW5n
dGgpCi0gICAgICAgICAgICB0ZXN0RmFpbGVkKChpc0FmdGVyRGVsZXRpb24gPyAiQWZ0ZXIiIDog
IkJlZm9yZSIpICsgIiBzY3JpcHQtYWNjZXNzaWJsZSBkZWxldGlvbjogTm8gY29va2llcyBmb3Vu
ZC4iKTsKLSAgICAgICAgZm9yIChsZXQgY29va2llIG9mIGNvb2tpZXMpIHsKLSAgICAgICAgICAg
IHN3aXRjaCAoY29va2llLm5hbWUpIHsKLSAgICAgICAgICAgICAgICBjYXNlIGh0dHBPbmx5Q29v
a2llTmFtZToKLSAgICAgICAgICAgICAgICAgICAgdW5zb3J0ZWRUZXN0UGFzc2VkTWVzc2FnZXMu
cHVzaCgoaXNBZnRlckRlbGV0aW9uID8gIkFmdGVyIiA6ICJCZWZvcmUiKSArICIgZGVsZXRpb246
ICIgKyAoaXNBZnRlckRlbGV0aW9uID8gIiAiIDogIiIpICsgIkh0dHBPbmx5IGNvb2tpZSBleGlz
dHMuIik7Ci0gICAgICAgICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICAgICAgICAgIGNhc2Ug
c2VydmVyU2lkZUNvb2tpZU5hbWU6Ci0gICAgICAgICAgICAgICAgICAgIHVuc29ydGVkVGVzdFBh
c3NlZE1lc3NhZ2VzLnB1c2goKGlzQWZ0ZXJEZWxldGlvbiA/ICJBZnRlciIgOiAiQmVmb3JlIikg
KyAiIGRlbGV0aW9uOiBSZWd1bGFyIHNlcnZlci1zaWRlIGNvb2tpZSBleGlzdHMuIik7Ci0gICAg
ICAgICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICAgICAgICAgIGNhc2UgY2xpZW50U2lkZUNv
b2tpZU5hbWU6Ci0gICAgICAgICAgICAgICAgICAgIHVuc29ydGVkVGVzdFBhc3NlZE1lc3NhZ2Vz
LnB1c2goKGlzQWZ0ZXJEZWxldGlvbiA/ICJBZnRlciIgOiAiQmVmb3JlIikgKyAiIGRlbGV0aW9u
OiBDbGllbnQtc2lkZSBjb29raWUgZXhpc3RzLiIpOwotICAgICAgICAgICAgICAgICAgICBicmVh
azsKLSAgICAgICAgICAgIH0KLSAgICAgICAgfQotICAgICAgICBsZXQgc29ydGVkVGVzdFBhc3Nl
ZE1lc3NhZ2VzID0gdW5zb3J0ZWRUZXN0UGFzc2VkTWVzc2FnZXMuc29ydChzb3J0U3RyaW5nQXJy
YXkpOwotICAgICAgICBmb3IgKGxldCB0ZXN0UGFzc2VkTWVzc2FnZSBvZiBzb3J0ZWRUZXN0UGFz
c2VkTWVzc2FnZXMpIHsKLSAgICAgICAgICAgIGFkZE91dHB1dCh0ZXN0UGFzc2VkTWVzc2FnZSk7
Ci0gICAgICAgIH0KLSAgICB9Ci0KLSAgICBjb25zdCBkYk5hbWUgPSAiVGVzdERhdGFiYXNlIjsK
LQotICAgIGZ1bmN0aW9uIGNyZWF0ZUlEQkRhdGFTdG9yZShjYWxsYmFjaykgewotICAgICAgICBs
ZXQgcmVxdWVzdCA9IGluZGV4ZWREQi5vcGVuKGRiTmFtZSk7Ci0gICAgICAgIHJlcXVlc3Qub25l
cnJvciA9IGZ1bmN0aW9uKCkgewotICAgICAgICAgICAgYWRkT3V0cHV0KCJDb3VsZG4ndCBjcmVh
dGUgaW5kZXhlZERCLiIpOwotICAgICAgICAgICAgZmluaXNoVGVzdCgpOwotICAgICAgICB9Owot
ICAgICAgICByZXF1ZXN0Lm9udXBncmFkZW5lZWRlZCA9IGZ1bmN0aW9uKGV2ZW50KSB7Ci0gICAg
ICAgICAgICBsZXQgZGIgPSBldmVudC50YXJnZXQucmVzdWx0OwotICAgICAgICAgICAgbGV0IG9i
alN0b3JlID0gZGIuY3JlYXRlT2JqZWN0U3RvcmUoInRlc3QiLCB7YXV0b0luY3JlbWVudDogdHJ1
ZX0pOwotICAgICAgICAgICAgb2JqU3RvcmUuYWRkKCJ2YWx1ZSIpOwotICAgICAgICAgICAgY2Fs
bGJhY2soKTsKLSAgICAgICAgfQotICAgIH0KLQotICAgIGNvbnN0IG1heEludGVydmFscyA9IDIw
OwotCi0gICAgbGV0IGludGVydmFsQ291bnRlcklEQjsKLSAgICBsZXQgY2hlY2tJREJDYWxsYmFj
azsKLSAgICBsZXQgY2hlY2tJREJJbnRlcnZhbElEOwotICAgIGxldCBzZW1hcGhvcmVJREJDaGVj
ayA9IGZhbHNlOwotICAgIGZ1bmN0aW9uIGNoZWNrSURCRGF0YVN0b3JlRXhpc3RzKGlzQWZ0ZXJE
ZWxldGlvbiwgY2FsbGJhY2spIHsKLSAgICAgICAgbGV0IHJlcXVlc3Q7Ci0gICAgICAgIGludGVy
dmFsQ291bnRlcklEQiA9IDA7Ci0gICAgICAgIGNoZWNrSURCQ2FsbGJhY2sgPSBjYWxsYmFjazsK
LSAgICAgICAgaWYgKCFpc0FmdGVyRGVsZXRpb24pIHsKLSAgICAgICAgICAgIC8vIENoZWNrIHVu
dGlsIHRoZXJlIGlzIGEgSURCLgotICAgICAgICAgICAgY2hlY2tJREJJbnRlcnZhbElEID0gc2V0
SW50ZXJ2YWwoZnVuY3Rpb24oKSB7Ci0gICAgICAgICAgICAgICAgaWYgKHNlbWFwaG9yZUlEQkNo
ZWNrKQotICAgICAgICAgICAgICAgICAgICByZXR1cm47Ci0gICAgICAgICAgICAgICAgc2VtYXBo
b3JlSURCQ2hlY2sgPSB0cnVlOwotCi0gICAgICAgICAgICAgICAgaWYgKCsraW50ZXJ2YWxDb3Vu
dGVySURCID49IG1heEludGVydmFscykgewotICAgICAgICAgICAgICAgICAgICBjbGVhckludGVy
dmFsKGNoZWNrSURCSW50ZXJ2YWxJRCk7Ci0gICAgICAgICAgICAgICAgICAgIGFkZE91dHB1dCgi
QmVmb3JlIGRlbGV0aW9uOiBJREIgZW50cnkgZG9lcyBub3QgZXhpc3QuIik7Ci0gICAgICAgICAg
ICAgICAgICAgIHNlbWFwaG9yZUlEQkNoZWNrID0gZmFsc2U7Ci0gICAgICAgICAgICAgICAgICAg
IGNoZWNrSURCQ2FsbGJhY2soKTsKLSAgICAgICAgICAgICAgICB9IGVsc2UgewotICAgICAgICAg
ICAgICAgICAgICByZXF1ZXN0ID0gaW5kZXhlZERCLm9wZW4oZGJOYW1lKTsKLSAgICAgICAgICAg
ICAgICAgICAgcmVxdWVzdC5vbmVycm9yID0gZnVuY3Rpb24gKCkgewotICAgICAgICAgICAgICAg
ICAgICAgICAgY2xlYXJJbnRlcnZhbChjaGVja0lEQkludGVydmFsSUQpOwotICAgICAgICAgICAg
ICAgICAgICAgICAgYWRkT3V0cHV0KCJDb3VsZG4ndCBvcGVuIGluZGV4ZWREQi4iKTsKLSAgICAg
ICAgICAgICAgICAgICAgICAgIHNlbWFwaG9yZUlEQkNoZWNrID0gZmFsc2U7Ci0gICAgICAgICAg
ICAgICAgICAgICAgICBmaW5pc2hUZXN0KCk7Ci0gICAgICAgICAgICAgICAgICAgIH07Ci0gICAg
ICAgICAgICAgICAgICAgIHJlcXVlc3Qub251cGdyYWRlbmVlZGVkID0gZnVuY3Rpb24gKCkgewot
ICAgICAgICAgICAgICAgICAgICAgICAgLy8gTGV0IHRoZSBuZXh0IGludGVydmFsIGNoZWNrIGFn
YWluLgotICAgICAgICAgICAgICAgICAgICAgICAgc2VtYXBob3JlSURCQ2hlY2sgPSBmYWxzZTsK
LSAgICAgICAgICAgICAgICAgICAgfTsKLSAgICAgICAgICAgICAgICAgICAgcmVxdWVzdC5vbnN1
Y2Nlc3MgPSBmdW5jdGlvbiAoKSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICBjbGVhckludGVy
dmFsKGNoZWNrSURCSW50ZXJ2YWxJRCk7Ci0gICAgICAgICAgICAgICAgICAgICAgICBhZGRPdXRw
dXQoIkJlZm9yZSBkZWxldGlvbjogSURCIGVudHJ5IGRvZXMgZXhpc3QuIik7Ci0gICAgICAgICAg
ICAgICAgICAgICAgICBzZW1hcGhvcmVJREJDaGVjayA9IGZhbHNlOwotICAgICAgICAgICAgICAg
ICAgICAgICAgY2hlY2tJREJDYWxsYmFjaygpOwotICAgICAgICAgICAgICAgICAgICB9OwotICAg
ICAgICAgICAgICAgIH0KLSAgICAgICAgICAgIH0sIDIwMCk7Ci0gICAgICAgIH0gZWxzZSB7Ci0g
ICAgICAgICAgICAvLyBDaGVjayB1bnRpbCB0aGVyZSBpcyBubyBJREIuCi0gICAgICAgICAgICBj
aGVja0lEQkludGVydmFsSUQgPSBzZXRJbnRlcnZhbChmdW5jdGlvbiAoKSB7Ci0gICAgICAgICAg
ICAgICAgaWYgKHNlbWFwaG9yZUlEQkNoZWNrKQotICAgICAgICAgICAgICAgICAgICByZXR1cm47
Ci0gICAgICAgICAgICAgICAgc2VtYXBob3JlSURCQ2hlY2sgPSB0cnVlOwotCi0gICAgICAgICAg
ICAgICAgaWYgKCsraW50ZXJ2YWxDb3VudGVySURCID49IG1heEludGVydmFscykgewotICAgICAg
ICAgICAgICAgICAgICBjbGVhckludGVydmFsKGNoZWNrSURCSW50ZXJ2YWxJRCk7Ci0gICAgICAg
ICAgICAgICAgICAgIGFkZE91dHB1dCgiQWZ0ZXIgZGVsZXRpb246IElEQiBlbnRyeSBjaGVja3Mg
ZXhoYXVzdGVkLiIpOwotICAgICAgICAgICAgICAgICAgICBzZW1hcGhvcmVJREJDaGVjayA9IGZh
bHNlOwotICAgICAgICAgICAgICAgICAgICBjaGVja0lEQkNhbGxiYWNrKCk7Ci0gICAgICAgICAg
ICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAgICAgICAgICAgcmVxdWVzdCA9IGluZGV4ZWREQi5v
cGVuKGRiTmFtZSk7Ci0gICAgICAgICAgICAgICAgICAgIHJlcXVlc3Qub25lcnJvciA9IGZ1bmN0
aW9uICgpIHsKLSAgICAgICAgICAgICAgICAgICAgICAgIGNsZWFySW50ZXJ2YWwoY2hlY2tJREJJ
bnRlcnZhbElEKTsKLSAgICAgICAgICAgICAgICAgICAgICAgIGFkZE91dHB1dCgiQ291bGRuJ3Qg
b3BlbiBpbmRleGVkREIuIik7Ci0gICAgICAgICAgICAgICAgICAgICAgICBzZW1hcGhvcmVJREJD
aGVjayA9IGZhbHNlOwotICAgICAgICAgICAgICAgICAgICAgICAgZmluaXNoVGVzdCgpOwotICAg
ICAgICAgICAgICAgICAgICB9OwotICAgICAgICAgICAgICAgICAgICByZXF1ZXN0Lm9udXBncmFk
ZW5lZWRlZCA9IGZ1bmN0aW9uICgpIHsKLSAgICAgICAgICAgICAgICAgICAgICAgIGNsZWFySW50
ZXJ2YWwoY2hlY2tJREJJbnRlcnZhbElEKTsKLSAgICAgICAgICAgICAgICAgICAgICAgIGFkZE91
dHB1dCgiQWZ0ZXIgZGVsZXRpb246IElEQiBlbnRyeSBkb2VzIG5vdCBleGlzdC4iKTsKLSAgICAg
ICAgICAgICAgICAgICAgICAgIHNlbWFwaG9yZUlEQkNoZWNrID0gZmFsc2U7Ci0gICAgICAgICAg
ICAgICAgICAgICAgICBjaGVja0lEQkNhbGxiYWNrKCk7Ci0gICAgICAgICAgICAgICAgICAgIH07
Ci0gICAgICAgICAgICAgICAgICAgIHJlcXVlc3Qub25zdWNjZXNzID0gZnVuY3Rpb24gKCkgewot
ICAgICAgICAgICAgICAgICAgICAgICAgLy8gTGV0IHRoZSBuZXh0IGludGVydmFsIGNoZWNrIGFn
YWluLgotICAgICAgICAgICAgICAgICAgICAgICAgc2VtYXBob3JlSURCQ2hlY2sgPSBmYWxzZTsK
LSAgICAgICAgICAgICAgICAgICAgfTsKLSAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICB9
LCAyMDApOwotICAgICAgICB9Ci0gICAgfQotCi0gICAgbGV0IGludGVydmFsQ291bnRlckxvY2Fs
U3RvcmFnZTsKLSAgICBsZXQgY2hlY2tMb2NhbFN0b3JhZ2VDYWxsYmFjazsKLSAgICBsZXQgY2hl
Y2tMb2NhbFN0b3JhZ2VJbnRlcnZhbElEOwotICAgIGNvbnN0IGxvY2FsU3RvcmFnZU5hbWUgPSAi
dGVzdCI7Ci0gICAgY29uc3QgbG9jYWxTdG9yYWdlVmFsdWUgPSAidmFsdWUiOwotICAgIGZ1bmN0
aW9uIGNoZWNrTG9jYWxTdG9yYWdlRXhpc3RzKGlzQWZ0ZXJEZWxldGlvbiwgY2FsbGJhY2spIHsK
LSAgICAgICAgaW50ZXJ2YWxDb3VudGVyTG9jYWxTdG9yYWdlID0gMDsKLSAgICAgICAgY2hlY2tM
b2NhbFN0b3JhZ2VDYWxsYmFjayA9IGNhbGxiYWNrOwotICAgICAgICBpZiAoIWlzQWZ0ZXJEZWxl
dGlvbikgewotICAgICAgICAgICAgLy8gQ2hlY2sgdW50aWwgdGhlcmUgaXMgTG9jYWxTdG9yYWdl
LgotICAgICAgICAgICAgY2hlY2tMb2NhbFN0b3JhZ2VJbnRlcnZhbElEID0gc2V0SW50ZXJ2YWwo
ZnVuY3Rpb24oKSB7Ci0gICAgICAgICAgICAgICAgaWYgKCsraW50ZXJ2YWxDb3VudGVyTG9jYWxT
dG9yYWdlID49IG1heEludGVydmFscykgewotICAgICAgICAgICAgICAgICAgICBjbGVhckludGVy
dmFsKGNoZWNrTG9jYWxTdG9yYWdlSW50ZXJ2YWxJRCk7Ci0gICAgICAgICAgICAgICAgICAgIGxl
dCB2YWx1ZSA9IGxvY2FsU3RvcmFnZS5nZXRJdGVtKGxvY2FsU3RvcmFnZU5hbWUpOwotICAgICAg
ICAgICAgICAgICAgICBhZGRPdXRwdXQoIkJlZm9yZSBkZWxldGlvbjogTG9jYWxTdG9yYWdlIGVu
dHJ5ICIgKyAodmFsdWUgPT09IGxvY2FsU3RvcmFnZVZhbHVlID8gImRvZXMiIDogImRvZXMgbm90
IikgKyAiIGV4aXN0LiIpOwotICAgICAgICAgICAgICAgICAgICBjaGVja0xvY2FsU3RvcmFnZUNh
bGxiYWNrKCk7Ci0gICAgICAgICAgICAgICAgfSBlbHNlIGlmICh0ZXN0UnVubmVyLmlzU3RhdGlz
dGljc0hhc0xvY2FsU3RvcmFnZShkZXN0aW5hdGlvbk9yaWdpbikpIHsKLSAgICAgICAgICAgICAg
ICAgICAgY2xlYXJJbnRlcnZhbChjaGVja0xvY2FsU3RvcmFnZUludGVydmFsSUQpOwotICAgICAg
ICAgICAgICAgICAgICBsZXQgdmFsdWUgPSBsb2NhbFN0b3JhZ2UuZ2V0SXRlbShsb2NhbFN0b3Jh
Z2VOYW1lKTsKLSAgICAgICAgICAgICAgICAgICAgYWRkT3V0cHV0KCJCZWZvcmUgZGVsZXRpb246
IExvY2FsU3RvcmFnZSBlbnRyeSAiICsgKHZhbHVlID09PSBsb2NhbFN0b3JhZ2VWYWx1ZSA/ICJk
b2VzIiA6ICJkb2VzIG5vdCIpICsgIiBleGlzdC4iKTsKLSAgICAgICAgICAgICAgICAgICAgY2hl
Y2tMb2NhbFN0b3JhZ2VDYWxsYmFjaygpOwotICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAg
IH0sIDEwMCk7Ci0gICAgICAgIH0gZWxzZSB7Ci0gICAgICAgICAgICAvLyBDaGVjayB1bnRpbCB0
aGVyZSBpcyBubyBMb2NhbFN0b3JhZ2UuCi0gICAgICAgICAgICBjaGVja0xvY2FsU3RvcmFnZUlu
dGVydmFsSUQgPSBzZXRJbnRlcnZhbChmdW5jdGlvbigpIHsKLSAgICAgICAgICAgICAgICBpZiAo
KytpbnRlcnZhbENvdW50ZXJMb2NhbFN0b3JhZ2UgPj0gbWF4SW50ZXJ2YWxzKSB7Ci0gICAgICAg
ICAgICAgICAgICAgIGNsZWFySW50ZXJ2YWwoY2hlY2tMb2NhbFN0b3JhZ2VJbnRlcnZhbElEKTsK
LSAgICAgICAgICAgICAgICAgICAgbGV0IHZhbHVlID0gbG9jYWxTdG9yYWdlLmdldEl0ZW0obG9j
YWxTdG9yYWdlTmFtZSk7Ci0gICAgICAgICAgICAgICAgICAgIGFkZE91dHB1dCgiQWZ0ZXIgZGVs
ZXRpb246IExvY2FsU3RvcmFnZSBlbnRyeSAiICsgKHZhbHVlID09PSBsb2NhbFN0b3JhZ2VWYWx1
ZSA/ICJkb2VzIiA6ICJkb2VzIG5vdCIpICsgIiBleGlzdC4iKTsKLSAgICAgICAgICAgICAgICAg
ICAgY2hlY2tMb2NhbFN0b3JhZ2VDYWxsYmFjaygpOwotICAgICAgICAgICAgICAgIH0gZWxzZSBp
ZiAoIXRlc3RSdW5uZXIuaXNTdGF0aXN0aWNzSGFzTG9jYWxTdG9yYWdlKGRlc3RpbmF0aW9uT3Jp
Z2luKSkgewotICAgICAgICAgICAgICAgICAgICBjbGVhckludGVydmFsKGNoZWNrTG9jYWxTdG9y
YWdlSW50ZXJ2YWxJRCk7Ci0gICAgICAgICAgICAgICAgICAgIGxldCB2YWx1ZSA9IGxvY2FsU3Rv
cmFnZS5nZXRJdGVtKGxvY2FsU3RvcmFnZU5hbWUpOwotICAgICAgICAgICAgICAgICAgICBhZGRP
dXRwdXQoIkFmdGVyIGRlbGV0aW9uOiBMb2NhbFN0b3JhZ2UgZW50cnkgIiArICh2YWx1ZSA9PT0g
bG9jYWxTdG9yYWdlVmFsdWUgPyAiZG9lcyIgOiAiZG9lcyBub3QiKSArICIgZXhpc3QuIik7Ci0g
ICAgICAgICAgICAgICAgICAgIGNoZWNrTG9jYWxTdG9yYWdlQ2FsbGJhY2soKTsKLSAgICAgICAg
ICAgICAgICB9Ci0gICAgICAgICAgICB9LCAxMDApOwotICAgICAgICB9Ci0gICAgfQotCi0gICAg
YXN5bmMgZnVuY3Rpb24gd3JpdGVXZWJzaXRlRGF0YUFuZENvbnRpbnVlKCkgewotICAgICAgICAv
LyBXcml0ZSBjb29raWVzLgotICAgICAgICBhd2FpdCBmZXRjaCgiL2Nvb2tpZXMvcmVzb3VyY2Vz
L3NldC1odHRwLW9ubHktY29va2llLnBocD9jb29raWVOYW1lPSIgKyBodHRwT25seUNvb2tpZU5h
bWUsIHsgY3JlZGVudGlhbHM6ICJzYW1lLW9yaWdpbiIgfSk7Ci0gICAgICAgIGF3YWl0IGZldGNo
KCIvY29va2llcy9yZXNvdXJjZXMvc2V0Q29va2llcy5jZ2kiLCB7IGhlYWRlcnM6IHsgIlNldC1D
b29raWUiOiBzZXJ2ZXJTaWRlQ29va2llTmFtZSArICI9MTsgcGF0aD0vOyIgfSwgY3JlZGVudGlh
bHM6ICJzYW1lLW9yaWdpbiIgfSk7Ci0gICAgICAgIGRvY3VtZW50LmNvb2tpZSA9IGNsaWVudFNp
ZGVDb29raWVOYW1lICsgIj0xIjsKLQotICAgICAgICBjaGVja0Nvb2tpZXMoZmFsc2UpOwotCi0g
ICAgICAgIC8vIFdyaXRlIExvY2FsU3RvcmFnZQotICAgICAgICBsb2NhbFN0b3JhZ2Uuc2V0SXRl
bShsb2NhbFN0b3JhZ2VOYW1lLCBsb2NhbFN0b3JhZ2VWYWx1ZSk7Ci0gICAgICAgIGNoZWNrTG9j
YWxTdG9yYWdlRXhpc3RzKGZhbHNlLCBmdW5jdGlvbigpIHsKLQotICAgICAgICAgICAgLy8gV3Jp
dGUgSW5kZXhlZERCLgotICAgICAgICAgICAgY3JlYXRlSURCRGF0YVN0b3JlKGZ1bmN0aW9uICgp
IHsKLSAgICAgICAgICAgICAgICBjaGVja0lEQkRhdGFTdG9yZUV4aXN0cyhmYWxzZSwgZnVuY3Rp
b24oKSB7Ci0gICAgICAgICAgICAgICAgICAgIGFkZExpbmVicmVha1RvT3V0cHV0KCk7Ci0gICAg
ICAgICAgICAgICAgICAgIHByb2Nlc3NXZWJzaXRlRGF0YUFuZENvbnRpbnVlKCk7Ci0gICAgICAg
ICAgICAgICAgfSk7Ci0gICAgICAgICAgICB9KTsKLSAgICAgICAgfSk7Ci0gICAgfQotCi0gICAg
ZnVuY3Rpb24gcHJvY2Vzc1dlYnNpdGVEYXRhQW5kQ29udGludWUoKSB7Ci0gICAgICAgIHRlc3RS
dW5uZXIuaW5zdGFsbFN0YXRpc3RpY3NEaWRTY2FuRGF0YVJlY29yZHNDYWxsYmFjayhjaGVja1dl
YnNpdGVEYXRhQW5kQ29udGludWUpOwotICAgICAgICB0ZXN0UnVubmVyLnN0YXRpc3RpY3NQcm9j
ZXNzU3RhdGlzdGljc0FuZERhdGFSZWNvcmRzKCk7Ci0gICAgfQotCi0gICAgZnVuY3Rpb24gY2hl
Y2tXZWJzaXRlRGF0YUFuZENvbnRpbnVlKCkgewotICAgICAgICBjaGVja0Nvb2tpZXModHJ1ZSk7
Ci0gICAgICAgIGNoZWNrTG9jYWxTdG9yYWdlRXhpc3RzKHRydWUsIGZ1bmN0aW9uICgpIHsKLSAg
ICAgICAgICAgIGNoZWNrSURCRGF0YVN0b3JlRXhpc3RzKHRydWUsIGZpbmlzaFRlc3QpOwotICAg
ICAgICB9KTsKLSAgICB9Ci0KLSAgICBmdW5jdGlvbiBmaW5pc2hUZXN0KCkgewotICAgICAgICBy
ZXNldENvb2tpZXMoKTsKLSAgICAgICAgdGVzdFJ1bm5lci5kdW1wUmVzb3VyY2VMb2FkU3RhdGlz
dGljcygpOwotICAgICAgICBzZXRFbmFibGVGZWF0dXJlKGZhbHNlLCBmdW5jdGlvbigpIHsKLSAg
ICAgICAgICAgIHRlc3RSdW5uZXIubm90aWZ5RG9uZSgpOwotICAgICAgICB9KTsKLSAgICB9Ci0K
LSAgICBjb25zdCBwcmV2YWxlbnRSZXNvdXJjZU9yaWdpbiA9ICJodHRwOi8vbG9jYWxob3N0Ojgw
MDAiOwotICAgIGNvbnN0IGRlc3RpbmF0aW9uT3JpZ2luICA9ICJodHRwOi8vMTI3LjAuMC4xOjgw
MDAiOwotICAgIGZ1bmN0aW9uIHJ1blRlc3QoKSB7Ci0gICAgICAgIHNldEVuYWJsZUZlYXR1cmUo
dHJ1ZSwgZnVuY3Rpb24gKCkgewotICAgICAgICAgICAgdGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNz
UHJldmFsZW50UmVzb3VyY2UocHJldmFsZW50UmVzb3VyY2VPcmlnaW4sIHRydWUsIGZ1bmN0aW9u
KCkgewotICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc0Nyb3NzU2l0ZUxv
YWRXaXRoTGlua0RlY29yYXRpb24ocHJldmFsZW50UmVzb3VyY2VPcmlnaW4sIGRlc3RpbmF0aW9u
T3JpZ2luKTsKLSAgICAgICAgICAgICAgICB3cml0ZVdlYnNpdGVEYXRhQW5kQ29udGludWUoKTsK
LSAgICAgICAgICAgIH0pOwotICAgICAgICB9KTsKLSAgICB9Ci08L3NjcmlwdD4KLTwvYm9keT4K
LTwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2Fk
U3RhdGlzdGljcy93ZWJzaXRlLWRhdGEtcmVtb3ZhbC1mb3Itc2l0ZS1uYXZpZ2F0ZWQtdG8td2l0
aC1saW5rLWRlY29yYXRpb24tZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9y
ZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3dlYnNpdGUtZGF0YS1yZW1vdmFsLWZvci1zaXRlLW5hdmln
YXRlZC10by13aXRoLWxpbmstZGVjb3JhdGlvbi1leHBlY3RlZC50eHQKaW5kZXggOGI0N2IwODU0
NjQzYTVlYTg0ZTIwZDA0MzNjMmYzMGU5NGY2ZWEwZC4uZGU0MWE5YTFhYjQ1Zjg2OGU3NWU4NWI0
MmI1YzlmNDNkZDYyOTNiYSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNv
dXJjZUxvYWRTdGF0aXN0aWNzL3dlYnNpdGUtZGF0YS1yZW1vdmFsLWZvci1zaXRlLW5hdmlnYXRl
ZC10by13aXRoLWxpbmstZGVjb3JhdGlvbi1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMv
aHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3dlYnNpdGUtZGF0YS1yZW1vdmFsLWZv
ci1zaXRlLW5hdmlnYXRlZC10by13aXRoLWxpbmstZGVjb3JhdGlvbi1leHBlY3RlZC50eHQKQEAg
LTE5LDIxICsxOSwxNyBAQCBSZWdpc3RyYWJsZSBkb21haW46IDEyNy4wLjAuMQogICAgIGhhZFVz
ZXJJbnRlcmFjdGlvbjogTm8KICAgICBtb3N0UmVjZW50VXNlckludGVyYWN0aW9uOiAtMQogICAg
IGdyYW5kZmF0aGVyZWQ6IE5vCi0gICAgdG9wRnJhbWVMaW5rRGVjb3JhdGlvbnNGcm9tOgorICAg
IFRvcEZyYW1lTGlua0RlY29yYXRpb25zRnJvbToKICAgICAgICAgbG9jYWxob3N0Ci0gICAgZ290
TGlua0RlY29yYXRpb25Gcm9tUHJldmFsZW50UmVzb3VyY2U6IE5vCisgICAgSXNTY2hlZHVsZWRG
b3JBbGxCdXRDb29raWVEYXRhUmVtb3ZhbDogTm8KICAgICBpc1ByZXZhbGVudFJlc291cmNlOiBO
bwogICAgIGlzVmVyeVByZXZhbGVudFJlc291cmNlOiBObwogICAgIGRhdGFSZWNvcmRzUmVtb3Zl
ZDogMQotICAgIGNhbnZhc1JlYWREYXRhOiBObwotCiBSZWdpc3RyYWJsZSBkb21haW46IGxvY2Fs
aG9zdAogICAgIGhhZFVzZXJJbnRlcmFjdGlvbjogTm8KICAgICBtb3N0UmVjZW50VXNlckludGVy
YWN0aW9uOiAtMQogICAgIGdyYW5kZmF0aGVyZWQ6IE5vCi0gICAgZ290TGlua0RlY29yYXRpb25G
cm9tUHJldmFsZW50UmVzb3VyY2U6IE5vCisgICAgSXNTY2hlZHVsZWRGb3JBbGxCdXRDb29raWVE
YXRhUmVtb3ZhbDogTm8KICAgICBpc1ByZXZhbGVudFJlc291cmNlOiBZZXMKICAgICBpc1ZlcnlQ
cmV2YWxlbnRSZXNvdXJjZTogTm8KICAgICBkYXRhUmVjb3Jkc1JlbW92ZWQ6IDAKLSAgICBjYW52
YXNSZWFkRGF0YTogTm8KLQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNv
dXJjZUxvYWRTdGF0aXN0aWNzL3dlYnNpdGUtZGF0YS1yZW1vdmFsLWZvci1zaXRlLXdpdGgtdXNl
ci1pbnRlcmFjdGlvbi1kYXRhYmFzZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3Rl
c3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3Mvd2Vic2l0ZS1kYXRhLXJlbW92YWwtZm9yLXNpdGUt
d2l0aC11c2VyLWludGVyYWN0aW9uLWRhdGFiYXNlLWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggZmMwNzZkYjVjZTBiMGRlNGVlZjE4ZjUyODZkNGY3Y2ZiYjBkYTQ5
NC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRU
ZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3Mvd2Vic2l0ZS1kYXRhLXJlbW92
YWwtZm9yLXNpdGUtd2l0aC11c2VyLWludGVyYWN0aW9uLWRhdGFiYXNlLWV4cGVjdGVkLnR4dAor
KysgL2Rldi9udWxsCkBAIC0xLDE1ICswLDAgQEAKLUNoZWNrIHRoYXQgbm9uLWNvb2tpZSB3ZWJz
aXRlIGRhdGEgZG9lcyBub3QgZ2V0IHJlbW92ZWQgZm9yIHNpdGVzIHdpdGggdXNlciBpbnRlcmFj
dGlvbi4KLQotQmVmb3JlIGRlbGV0aW9uOiBDbGllbnQtc2lkZSBjb29raWUgZXhpc3RzLgotQmVm
b3JlIGRlbGV0aW9uOiBIdHRwT25seSBjb29raWUgZXhpc3RzLgotQmVmb3JlIGRlbGV0aW9uOiBS
ZWd1bGFyIHNlcnZlci1zaWRlIGNvb2tpZSBleGlzdHMuCi1CZWZvcmUgZGVsZXRpb246IExvY2Fs
U3RvcmFnZSBlbnRyeSBkb2VzIGV4aXN0LgotQmVmb3JlIGRlbGV0aW9uOiBJREIgZW50cnkgZG9l
cyBleGlzdC4KLQotQWZ0ZXIgZGVsZXRpb246IEh0dHBPbmx5IGNvb2tpZSBleGlzdHMuCi1BZnRl
ciBkZWxldGlvbjogQ2xpZW50LXNpZGUgY29va2llIGV4aXN0cy4KLUFmdGVyIGRlbGV0aW9uOiBS
ZWd1bGFyIHNlcnZlci1zaWRlIGNvb2tpZSBleGlzdHMuCi1BZnRlciBkZWxldGlvbjogTG9jYWxT
dG9yYWdlIGVudHJ5IGRvZXMgZXhpc3QuCi1BZnRlciBkZWxldGlvbjogSURCIGVudHJ5IGRvZXMg
ZXhpc3QuCi0KLQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxv
YWRTdGF0aXN0aWNzL3dlYnNpdGUtZGF0YS1yZW1vdmFsLWZvci1zaXRlLXdpdGgtdXNlci1pbnRl
cmFjdGlvbi1kYXRhYmFzZS5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxv
YWRTdGF0aXN0aWNzL3dlYnNpdGUtZGF0YS1yZW1vdmFsLWZvci1zaXRlLXdpdGgtdXNlci1pbnRl
cmFjdGlvbi1kYXRhYmFzZS5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAxOWU2
NzdjOTIyNDc1OTYwZjA0NWY1MTViMDQxOTJlYjZmMmY2NjljLi4wMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3Vy
Y2VMb2FkU3RhdGlzdGljcy93ZWJzaXRlLWRhdGEtcmVtb3ZhbC1mb3Itc2l0ZS13aXRoLXVzZXIt
aW50ZXJhY3Rpb24tZGF0YWJhc2UuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDI1NCArMCwwIEBA
Ci08IURPQ1RZUEUgaHRtbD4KLTxodG1sPgotPGhlYWQ+Ci0gICAgPHNjcmlwdCBzcmM9Ii9jb29r
aWVzL3Jlc291cmNlcy9jb29raWUtdXRpbGl0aWVzLmpzIj48L3NjcmlwdD4KLSAgICA8c2NyaXB0
IHNyYz0icmVzb3VyY2VzL3V0aWwuanMiPjwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHkgb25sb2Fk
PSJzZXRUaW1lb3V0KCdydW5UZXN0KCknLCAwKSI+Ci08ZGl2IGlkPSJkZXNjcmlwdGlvbiI+Q2hl
Y2sgdGhhdCBub24tY29va2llIHdlYnNpdGUgZGF0YSBkb2VzIG5vdCBnZXQgcmVtb3ZlZCBmb3Ig
c2l0ZXMgd2l0aCB1c2VyIGludGVyYWN0aW9uLjwvZGl2PgotPGJyPgotPGRpdiBpZD0ib3V0cHV0
Ij48L2Rpdj4KLTxicj4KLTxzY3JpcHQ+Ci0gICAgdGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7
Ci0gICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7Ci0gICAgdGVzdFJ1bm5lci5zZXRVc2VJVFBE
YXRhYmFzZSh0cnVlKTsKLQotICAgIGNvbnN0IGh0dHBPbmx5Q29va2llTmFtZSA9ICJodHRwLW9u
bHktY29va2llIjsKLSAgICBjb25zdCBzZXJ2ZXJTaWRlQ29va2llTmFtZSA9ICJzZXJ2ZXItc2lk
ZS1jb29raWUiOwotICAgIGNvbnN0IGNsaWVudFNpZGVDb29raWVOYW1lID0gImNsaWVudC1zaWRl
LWNvb2tpZSI7Ci0KLSAgICBmdW5jdGlvbiBzb3J0U3RyaW5nQXJyYXkoYSwgYikgewotICAgICAg
ICBhID0gYS50b0xvd2VyQ2FzZSgpOwotICAgICAgICBiID0gYi50b0xvd2VyQ2FzZSgpOwotCi0g
ICAgICAgIHJldHVybiBhID4gYiA/IDEgOiBiID4gYSA/IC0xIDogMDsKLSAgICB9Ci0KLSAgICBm
dW5jdGlvbiBhZGRMaW5lYnJlYWtUb091dHB1dCgpIHsKLSAgICAgICAgbGV0IGVsZW1lbnQgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KCJiciIpOwotICAgICAgICBvdXRwdXQuYXBwZW5kQ2hpbGQo
ZWxlbWVudCk7Ci0gICAgfQotCi0gICAgZnVuY3Rpb24gYWRkT3V0cHV0KG1lc3NhZ2UpIHsKLSAg
ICAgICAgbGV0IGVsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTsKLSAgICAg
ICAgZWxlbWVudC5pbm5lclRleHQgPSBtZXNzYWdlOwotICAgICAgICBvdXRwdXQuYXBwZW5kQ2hp
bGQoZWxlbWVudCk7Ci0gICAgfQotCi0gICAgZnVuY3Rpb24gY2hlY2tDb29raWVzKGlzQWZ0ZXJE
ZWxldGlvbikgewotICAgICAgICBsZXQgdW5zb3J0ZWRUZXN0UGFzc2VkTWVzc2FnZXMgPSBbXTsK
LSAgICAgICAgbGV0IGNvb2tpZXMgPSBpbnRlcm5hbHMuZ2V0Q29va2llcygpOwotICAgICAgICBp
ZiAoIWNvb2tpZXMubGVuZ3RoKQotICAgICAgICAgICAgdGVzdEZhaWxlZCgoaXNBZnRlckRlbGV0
aW9uID8gIkFmdGVyIiA6ICJCZWZvcmUiKSArICIgc2NyaXB0LWFjY2Vzc2libGUgZGVsZXRpb246
IE5vIGNvb2tpZXMgZm91bmQuIik7Ci0gICAgICAgIGZvciAobGV0IGNvb2tpZSBvZiBjb29raWVz
KSB7Ci0gICAgICAgICAgICBzd2l0Y2ggKGNvb2tpZS5uYW1lKSB7Ci0gICAgICAgICAgICAgICAg
Y2FzZSBodHRwT25seUNvb2tpZU5hbWU6Ci0gICAgICAgICAgICAgICAgICAgIHVuc29ydGVkVGVz
dFBhc3NlZE1lc3NhZ2VzLnB1c2goKGlzQWZ0ZXJEZWxldGlvbiA/ICJBZnRlciIgOiAiQmVmb3Jl
IikgKyAiIGRlbGV0aW9uOiAiICsgKGlzQWZ0ZXJEZWxldGlvbiA/ICIgIiA6ICIiKSArICJIdHRw
T25seSBjb29raWUgZXhpc3RzLiIpOwotICAgICAgICAgICAgICAgICAgICBicmVhazsKLSAgICAg
ICAgICAgICAgICBjYXNlIHNlcnZlclNpZGVDb29raWVOYW1lOgotICAgICAgICAgICAgICAgICAg
ICB1bnNvcnRlZFRlc3RQYXNzZWRNZXNzYWdlcy5wdXNoKChpc0FmdGVyRGVsZXRpb24gPyAiQWZ0
ZXIiIDogIkJlZm9yZSIpICsgIiBkZWxldGlvbjogUmVndWxhciBzZXJ2ZXItc2lkZSBjb29raWUg
ZXhpc3RzLiIpOwotICAgICAgICAgICAgICAgICAgICBicmVhazsKLSAgICAgICAgICAgICAgICBj
YXNlIGNsaWVudFNpZGVDb29raWVOYW1lOgotICAgICAgICAgICAgICAgICAgICB1bnNvcnRlZFRl
c3RQYXNzZWRNZXNzYWdlcy5wdXNoKChpc0FmdGVyRGVsZXRpb24gPyAiQWZ0ZXIiIDogIkJlZm9y
ZSIpICsgIiBkZWxldGlvbjogQ2xpZW50LXNpZGUgY29va2llIGV4aXN0cy4iKTsKLSAgICAgICAg
ICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgICAgICB9Ci0gICAgICAgIH0KLSAgICAgICAgbGV0
IHNvcnRlZFRlc3RQYXNzZWRNZXNzYWdlcyA9IHVuc29ydGVkVGVzdFBhc3NlZE1lc3NhZ2VzLnNv
cnQoc29ydFN0cmluZ0FycmF5KTsKLSAgICAgICAgZm9yIChsZXQgdGVzdFBhc3NlZE1lc3NhZ2Ug
b2Ygc29ydGVkVGVzdFBhc3NlZE1lc3NhZ2VzKSB7Ci0gICAgICAgICAgICBhZGRPdXRwdXQodGVz
dFBhc3NlZE1lc3NhZ2UpOwotICAgICAgICB9Ci0gICAgfQotCi0gICAgY29uc3QgZGJOYW1lID0g
IlRlc3REYXRhYmFzZSI7Ci0KLSAgICBmdW5jdGlvbiBjcmVhdGVJREJEYXRhU3RvcmUoY2FsbGJh
Y2spIHsKLSAgICAgICAgbGV0IHJlcXVlc3QgPSBpbmRleGVkREIub3BlbihkYk5hbWUpOwotICAg
ICAgICByZXF1ZXN0Lm9uZXJyb3IgPSBmdW5jdGlvbigpIHsKLSAgICAgICAgICAgIGFkZE91dHB1
dCgiQ291bGRuJ3QgY3JlYXRlIGluZGV4ZWREQi4iKTsKLSAgICAgICAgICAgIGZpbmlzaFRlc3Qo
KTsKLSAgICAgICAgfTsKLSAgICAgICAgcmVxdWVzdC5vbnVwZ3JhZGVuZWVkZWQgPSBmdW5jdGlv
bihldmVudCkgewotICAgICAgICAgICAgbGV0IGRiID0gZXZlbnQudGFyZ2V0LnJlc3VsdDsKLSAg
ICAgICAgICAgIGxldCBvYmpTdG9yZSA9IGRiLmNyZWF0ZU9iamVjdFN0b3JlKCJ0ZXN0Iiwge2F1
dG9JbmNyZW1lbnQ6IHRydWV9KTsKLSAgICAgICAgICAgIG9ialN0b3JlLmFkZCgidmFsdWUiKTsK
LSAgICAgICAgICAgIGNhbGxiYWNrKCk7Ci0gICAgICAgIH0KLSAgICB9Ci0KLSAgICBjb25zdCBt
YXhJbnRlcnZhbHMgPSAyMDsKLQotICAgIGxldCBpbnRlcnZhbENvdW50ZXJJREI7Ci0gICAgbGV0
IGNoZWNrSURCQ2FsbGJhY2s7Ci0gICAgbGV0IGNoZWNrSURCSW50ZXJ2YWxJRDsKLSAgICBsZXQg
c2VtYXBob3JlSURCQ2hlY2sgPSBmYWxzZTsKLSAgICBmdW5jdGlvbiBjaGVja0lEQkRhdGFTdG9y
ZUV4aXN0cyhpc0FmdGVyRGVsZXRpb24sIGNhbGxiYWNrKSB7Ci0gICAgICAgIGxldCByZXF1ZXN0
OwotICAgICAgICBpbnRlcnZhbENvdW50ZXJJREIgPSAwOwotICAgICAgICBjaGVja0lEQkNhbGxi
YWNrID0gY2FsbGJhY2s7Ci0gICAgICAgIGlmICghaXNBZnRlckRlbGV0aW9uKSB7Ci0gICAgICAg
ICAgICAvLyBDaGVjayB1bnRpbCB0aGVyZSBpcyBhIElEQi4KLSAgICAgICAgICAgIGNoZWNrSURC
SW50ZXJ2YWxJRCA9IHNldEludGVydmFsKGZ1bmN0aW9uKCkgewotICAgICAgICAgICAgICAgIGlm
IChzZW1hcGhvcmVJREJDaGVjaykKLSAgICAgICAgICAgICAgICAgICAgcmV0dXJuOwotICAgICAg
ICAgICAgICAgIHNlbWFwaG9yZUlEQkNoZWNrID0gdHJ1ZTsKLQotICAgICAgICAgICAgICAgIGlm
ICgrK2ludGVydmFsQ291bnRlcklEQiA+PSBtYXhJbnRlcnZhbHMpIHsKLSAgICAgICAgICAgICAg
ICAgICAgY2xlYXJJbnRlcnZhbChjaGVja0lEQkludGVydmFsSUQpOwotICAgICAgICAgICAgICAg
ICAgICBhZGRPdXRwdXQoIkJlZm9yZSBkZWxldGlvbjogSURCIGVudHJ5IGRvZXMgbm90IGV4aXN0
LiIpOwotICAgICAgICAgICAgICAgICAgICBzZW1hcGhvcmVJREJDaGVjayA9IGZhbHNlOwotICAg
ICAgICAgICAgICAgICAgICBjaGVja0lEQkNhbGxiYWNrKCk7Ci0gICAgICAgICAgICAgICAgfSBl
bHNlIHsKLSAgICAgICAgICAgICAgICAgICAgcmVxdWVzdCA9IGluZGV4ZWREQi5vcGVuKGRiTmFt
ZSk7Ci0gICAgICAgICAgICAgICAgICAgIHJlcXVlc3Qub25lcnJvciA9IGZ1bmN0aW9uICgpIHsK
LSAgICAgICAgICAgICAgICAgICAgICAgIGNsZWFySW50ZXJ2YWwoY2hlY2tJREJJbnRlcnZhbElE
KTsKLSAgICAgICAgICAgICAgICAgICAgICAgIGFkZE91dHB1dCgiQ291bGRuJ3Qgb3BlbiBpbmRl
eGVkREIuIik7Ci0gICAgICAgICAgICAgICAgICAgICAgICBzZW1hcGhvcmVJREJDaGVjayA9IGZh
bHNlOwotICAgICAgICAgICAgICAgICAgICAgICAgZmluaXNoVGVzdCgpOwotICAgICAgICAgICAg
ICAgICAgICB9OwotICAgICAgICAgICAgICAgICAgICByZXF1ZXN0Lm9udXBncmFkZW5lZWRlZCA9
IGZ1bmN0aW9uICgpIHsKLSAgICAgICAgICAgICAgICAgICAgICAgIC8vIExldCB0aGUgbmV4dCBp
bnRlcnZhbCBjaGVjayBhZ2Fpbi4KLSAgICAgICAgICAgICAgICAgICAgICAgIHNlbWFwaG9yZUlE
QkNoZWNrID0gZmFsc2U7Ci0gICAgICAgICAgICAgICAgICAgIH07Ci0gICAgICAgICAgICAgICAg
ICAgIHJlcXVlc3Qub25zdWNjZXNzID0gZnVuY3Rpb24gKCkgewotICAgICAgICAgICAgICAgICAg
ICAgICAgY2xlYXJJbnRlcnZhbChjaGVja0lEQkludGVydmFsSUQpOwotICAgICAgICAgICAgICAg
ICAgICAgICAgYWRkT3V0cHV0KCJCZWZvcmUgZGVsZXRpb246IElEQiBlbnRyeSBkb2VzIGV4aXN0
LiIpOwotICAgICAgICAgICAgICAgICAgICAgICAgc2VtYXBob3JlSURCQ2hlY2sgPSBmYWxzZTsK
LSAgICAgICAgICAgICAgICAgICAgICAgIGNoZWNrSURCQ2FsbGJhY2soKTsKLSAgICAgICAgICAg
ICAgICAgICAgfTsKLSAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICB9LCAyMDApOwotICAg
ICAgICB9IGVsc2UgewotICAgICAgICAgICAgLy8gQ2hlY2sgdW50aWwgdGhlcmUgaXMgbm8gSURC
LgotICAgICAgICAgICAgY2hlY2tJREJJbnRlcnZhbElEID0gc2V0SW50ZXJ2YWwoZnVuY3Rpb24g
KCkgewotICAgICAgICAgICAgICAgIGlmIChzZW1hcGhvcmVJREJDaGVjaykKLSAgICAgICAgICAg
ICAgICAgICAgcmV0dXJuOwotICAgICAgICAgICAgICAgIHNlbWFwaG9yZUlEQkNoZWNrID0gdHJ1
ZTsKLQotICAgICAgICAgICAgICAgIGlmICgrK2ludGVydmFsQ291bnRlcklEQiA+PSBtYXhJbnRl
cnZhbHMpIHsKLSAgICAgICAgICAgICAgICAgICAgY2xlYXJJbnRlcnZhbChjaGVja0lEQkludGVy
dmFsSUQpOwotICAgICAgICAgICAgICAgICAgICBhZGRPdXRwdXQoIkFmdGVyIGRlbGV0aW9uOiBJ
REIgZW50cnkgZG9lcyBleGlzdC4iKTsKLSAgICAgICAgICAgICAgICAgICAgc2VtYXBob3JlSURC
Q2hlY2sgPSBmYWxzZTsKLSAgICAgICAgICAgICAgICAgICAgY2hlY2tJREJDYWxsYmFjaygpOwot
ICAgICAgICAgICAgICAgIH0gZWxzZSB7Ci0gICAgICAgICAgICAgICAgICAgIHJlcXVlc3QgPSBp
bmRleGVkREIub3BlbihkYk5hbWUpOwotICAgICAgICAgICAgICAgICAgICByZXF1ZXN0Lm9uZXJy
b3IgPSBmdW5jdGlvbiAoKSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICBjbGVhckludGVydmFs
KGNoZWNrSURCSW50ZXJ2YWxJRCk7Ci0gICAgICAgICAgICAgICAgICAgICAgICBhZGRPdXRwdXQo
IkNvdWxkbid0IG9wZW4gaW5kZXhlZERCLiIpOwotICAgICAgICAgICAgICAgICAgICAgICAgc2Vt
YXBob3JlSURCQ2hlY2sgPSBmYWxzZTsKLSAgICAgICAgICAgICAgICAgICAgICAgIGZpbmlzaFRl
c3QoKTsKLSAgICAgICAgICAgICAgICAgICAgfTsKLSAgICAgICAgICAgICAgICAgICAgcmVxdWVz
dC5vbnVwZ3JhZGVuZWVkZWQgPSBmdW5jdGlvbiAoKSB7Ci0gICAgICAgICAgICAgICAgICAgICAg
ICBjbGVhckludGVydmFsKGNoZWNrSURCSW50ZXJ2YWxJRCk7Ci0gICAgICAgICAgICAgICAgICAg
ICAgICBhZGRPdXRwdXQoIkFmdGVyIGRlbGV0aW9uOiBJREIgZW50cnkgZG9lcyBub3QgZXhpc3Qu
Iik7Ci0gICAgICAgICAgICAgICAgICAgICAgICBzZW1hcGhvcmVJREJDaGVjayA9IGZhbHNlOwot
ICAgICAgICAgICAgICAgICAgICAgICAgZmluaXNoVGVzdCgpOwotICAgICAgICAgICAgICAgICAg
ICB9OwotICAgICAgICAgICAgICAgICAgICByZXF1ZXN0Lm9uc3VjY2VzcyA9IGZ1bmN0aW9uICgp
IHsKLSAgICAgICAgICAgICAgICAgICAgICAgIC8vIExldCB0aGUgbmV4dCBpbnRlcnZhbCBjaGVj
ayBhZ2FpbiBiZWNhdXNlIGRlbGV0aW9uIG1pZ2h0IGJlIGRlbGF5ZWQuCi0gICAgICAgICAgICAg
ICAgICAgICAgICBzZW1hcGhvcmVJREJDaGVjayA9IGZhbHNlOwotICAgICAgICAgICAgICAgICAg
ICB9OwotICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgIH0sIDIwMCk7Ci0gICAgICAgIH0K
LSAgICB9Ci0KLSAgICBsZXQgaW50ZXJ2YWxDb3VudGVyTG9jYWxTdG9yYWdlOwotICAgIGxldCBj
aGVja0xvY2FsU3RvcmFnZUNhbGxiYWNrOwotICAgIGxldCBjaGVja0xvY2FsU3RvcmFnZUludGVy
dmFsSUQ7Ci0gICAgY29uc3QgbG9jYWxTdG9yYWdlTmFtZSA9ICJ0ZXN0IjsKLSAgICBjb25zdCBs
b2NhbFN0b3JhZ2VWYWx1ZSA9ICJ2YWx1ZSI7Ci0gICAgZnVuY3Rpb24gY2hlY2tMb2NhbFN0b3Jh
Z2VFeGlzdHMoaXNBZnRlckRlbGV0aW9uLCBjYWxsYmFjaykgewotICAgICAgICBpbnRlcnZhbENv
dW50ZXJMb2NhbFN0b3JhZ2UgPSAwOwotICAgICAgICBjaGVja0xvY2FsU3RvcmFnZUNhbGxiYWNr
ID0gY2FsbGJhY2s7Ci0gICAgICAgIGlmICghaXNBZnRlckRlbGV0aW9uKSB7Ci0gICAgICAgICAg
ICAvLyBDaGVjayB1bnRpbCB0aGVyZSBpcyBMb2NhbFN0b3JhZ2UuCi0gICAgICAgICAgICBjaGVj
a0xvY2FsU3RvcmFnZUludGVydmFsSUQgPSBzZXRJbnRlcnZhbChmdW5jdGlvbigpIHsKLSAgICAg
ICAgICAgICAgICBpZiAoKytpbnRlcnZhbENvdW50ZXJMb2NhbFN0b3JhZ2UgPj0gbWF4SW50ZXJ2
YWxzKSB7Ci0gICAgICAgICAgICAgICAgICAgIGNsZWFySW50ZXJ2YWwoY2hlY2tMb2NhbFN0b3Jh
Z2VJbnRlcnZhbElEKTsKLSAgICAgICAgICAgICAgICAgICAgbGV0IHZhbHVlID0gbG9jYWxTdG9y
YWdlLmdldEl0ZW0obG9jYWxTdG9yYWdlTmFtZSk7Ci0gICAgICAgICAgICAgICAgICAgIGFkZE91
dHB1dCgiQmVmb3JlIGRlbGV0aW9uOiBMb2NhbFN0b3JhZ2UgZW50cnkgIiArICh2YWx1ZSA9PT0g
bG9jYWxTdG9yYWdlVmFsdWUgPyAiZG9lcyIgOiAiZG9lcyBub3QiKSArICIgZXhpc3QuIik7Ci0g
ICAgICAgICAgICAgICAgICAgIGNoZWNrTG9jYWxTdG9yYWdlQ2FsbGJhY2soKTsKLSAgICAgICAg
ICAgICAgICB9IGVsc2UgaWYgKHRlc3RSdW5uZXIuaXNTdGF0aXN0aWNzSGFzTG9jYWxTdG9yYWdl
KG9yaWdpblVuZGVyVGVzdCkpIHsKLSAgICAgICAgICAgICAgICAgICAgY2xlYXJJbnRlcnZhbChj
aGVja0xvY2FsU3RvcmFnZUludGVydmFsSUQpOwotICAgICAgICAgICAgICAgICAgICBsZXQgdmFs
dWUgPSBsb2NhbFN0b3JhZ2UuZ2V0SXRlbShsb2NhbFN0b3JhZ2VOYW1lKTsKLSAgICAgICAgICAg
ICAgICAgICAgYWRkT3V0cHV0KCJCZWZvcmUgZGVsZXRpb246IExvY2FsU3RvcmFnZSBlbnRyeSAi
ICsgKHZhbHVlID09PSBsb2NhbFN0b3JhZ2VWYWx1ZSA/ICJkb2VzIiA6ICJkb2VzIG5vdCIpICsg
IiBleGlzdC4iKTsKLSAgICAgICAgICAgICAgICAgICAgY2hlY2tMb2NhbFN0b3JhZ2VDYWxsYmFj
aygpOwotICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgIH0sIDEwMCk7Ci0gICAgICAgIH0g
ZWxzZSB7Ci0gICAgICAgICAgICAvLyBDaGVjayB1bnRpbCB0aGVyZSBpcyBubyBMb2NhbFN0b3Jh
Z2UuCi0gICAgICAgICAgICBjaGVja0xvY2FsU3RvcmFnZUludGVydmFsSUQgPSBzZXRJbnRlcnZh
bChmdW5jdGlvbigpIHsKLSAgICAgICAgICAgICAgICBpZiAoKytpbnRlcnZhbENvdW50ZXJMb2Nh
bFN0b3JhZ2UgPj0gbWF4SW50ZXJ2YWxzKSB7Ci0gICAgICAgICAgICAgICAgICAgIGNsZWFySW50
ZXJ2YWwoY2hlY2tMb2NhbFN0b3JhZ2VJbnRlcnZhbElEKTsKLSAgICAgICAgICAgICAgICAgICAg
bGV0IHZhbHVlID0gbG9jYWxTdG9yYWdlLmdldEl0ZW0obG9jYWxTdG9yYWdlTmFtZSk7Ci0gICAg
ICAgICAgICAgICAgICAgIGFkZE91dHB1dCgiQWZ0ZXIgZGVsZXRpb246IExvY2FsU3RvcmFnZSBl
bnRyeSAiICsgKHZhbHVlID09PSBsb2NhbFN0b3JhZ2VWYWx1ZSA/ICJkb2VzIiA6ICJkb2VzIG5v
dCIpICsgIiBleGlzdC4iKTsKLSAgICAgICAgICAgICAgICAgICAgY2hlY2tMb2NhbFN0b3JhZ2VD
YWxsYmFjaygpOwotICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAoIXRlc3RSdW5uZXIuaXNTdGF0
aXN0aWNzSGFzTG9jYWxTdG9yYWdlKG9yaWdpblVuZGVyVGVzdCkpIHsKLSAgICAgICAgICAgICAg
ICAgICAgY2xlYXJJbnRlcnZhbChjaGVja0xvY2FsU3RvcmFnZUludGVydmFsSUQpOwotICAgICAg
ICAgICAgICAgICAgICBsZXQgdmFsdWUgPSBsb2NhbFN0b3JhZ2UuZ2V0SXRlbShsb2NhbFN0b3Jh
Z2VOYW1lKTsKLSAgICAgICAgICAgICAgICAgICAgYWRkT3V0cHV0KCJBZnRlciBkZWxldGlvbjog
TG9jYWxTdG9yYWdlIGVudHJ5ICIgKyAodmFsdWUgPT09IGxvY2FsU3RvcmFnZVZhbHVlID8gImRv
ZXMiIDogImRvZXMgbm90IikgKyAiIGV4aXN0LiIpOwotICAgICAgICAgICAgICAgICAgICBjaGVj
a0xvY2FsU3RvcmFnZUNhbGxiYWNrKCk7Ci0gICAgICAgICAgICAgICAgfQotICAgICAgICAgICAg
fSwgMTAwKTsKLSAgICAgICAgfQotICAgIH0KLQotICAgIGFzeW5jIGZ1bmN0aW9uIHdyaXRlV2Vi
c2l0ZURhdGFBbmRDb250aW51ZSgpIHsKLSAgICAgICAgLy8gV3JpdGUgY29va2llcy4KLSAgICAg
ICAgYXdhaXQgZmV0Y2goIi9jb29raWVzL3Jlc291cmNlcy9zZXQtaHR0cC1vbmx5LWNvb2tpZS5w
aHA/Y29va2llTmFtZT0iICsgaHR0cE9ubHlDb29raWVOYW1lLCB7IGNyZWRlbnRpYWxzOiAic2Ft
ZS1vcmlnaW4iIH0pOwotICAgICAgICBhd2FpdCBmZXRjaCgiL2Nvb2tpZXMvcmVzb3VyY2VzL3Nl
dENvb2tpZXMuY2dpIiwgeyBoZWFkZXJzOiB7ICJTZXQtQ29va2llIjogc2VydmVyU2lkZUNvb2tp
ZU5hbWUgKyAiPTE7IHBhdGg9LzsiIH0sIGNyZWRlbnRpYWxzOiAic2FtZS1vcmlnaW4iIH0pOwot
ICAgICAgICBkb2N1bWVudC5jb29raWUgPSBjbGllbnRTaWRlQ29va2llTmFtZSArICI9MSI7Ci0K
LSAgICAgICAgY2hlY2tDb29raWVzKGZhbHNlKTsKLQotICAgICAgICAvLyBXcml0ZSBMb2NhbFN0
b3JhZ2UKLSAgICAgICAgbG9jYWxTdG9yYWdlLnNldEl0ZW0obG9jYWxTdG9yYWdlTmFtZSwgbG9j
YWxTdG9yYWdlVmFsdWUpOwotICAgICAgICBjaGVja0xvY2FsU3RvcmFnZUV4aXN0cyhmYWxzZSwg
ZnVuY3Rpb24oKSB7Ci0KLSAgICAgICAgICAgIC8vIFdyaXRlIEluZGV4ZWREQi4KLSAgICAgICAg
ICAgIGNyZWF0ZUlEQkRhdGFTdG9yZShmdW5jdGlvbiAoKSB7Ci0gICAgICAgICAgICAgICAgY2hl
Y2tJREJEYXRhU3RvcmVFeGlzdHMoZmFsc2UsIGZ1bmN0aW9uKCkgewotICAgICAgICAgICAgICAg
ICAgICBhZGRMaW5lYnJlYWtUb091dHB1dCgpOwotICAgICAgICAgICAgICAgICAgICBwcm9jZXNz
V2Vic2l0ZURhdGFBbmRDb250aW51ZSgpOwotICAgICAgICAgICAgICAgIH0pOwotICAgICAgICAg
ICAgfSk7Ci0gICAgICAgIH0pOwotICAgIH0KLQotICAgIGZ1bmN0aW9uIHByb2Nlc3NXZWJzaXRl
RGF0YUFuZENvbnRpbnVlKCkgewotICAgICAgICB0ZXN0UnVubmVyLmluc3RhbGxTdGF0aXN0aWNz
RGlkU2NhbkRhdGFSZWNvcmRzQ2FsbGJhY2soY2hlY2tXZWJzaXRlRGF0YUFuZENvbnRpbnVlKTsK
LSAgICAgICAgdGVzdFJ1bm5lci5zdGF0aXN0aWNzUHJvY2Vzc1N0YXRpc3RpY3NBbmREYXRhUmVj
b3JkcygpOwotICAgIH0KLQotICAgIGZ1bmN0aW9uIGNoZWNrV2Vic2l0ZURhdGFBbmRDb250aW51
ZSgpIHsKLSAgICAgICAgY2hlY2tDb29raWVzKHRydWUpOwotICAgICAgICBjaGVja0xvY2FsU3Rv
cmFnZUV4aXN0cyh0cnVlLCBmdW5jdGlvbiAoKSB7Ci0gICAgICAgICAgICBjaGVja0lEQkRhdGFT
dG9yZUV4aXN0cyh0cnVlLCBmaW5pc2hUZXN0KTsKLSAgICAgICAgfSk7Ci0gICAgfQotCi0gICAg
ZnVuY3Rpb24gZmluaXNoVGVzdCgpIHsKLSAgICAgICAgcmVzZXRDb29raWVzKCk7Ci0gICAgICAg
IHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc0ZpcnN0UGFydHlXZWJzaXRlRGF0YVJlbW92YWxNb2Rl
KGZhbHNlLCBmdW5jdGlvbigpIHsKLSAgICAgICAgICAgIHNldEVuYWJsZUZlYXR1cmUoZmFsc2Us
IGZ1bmN0aW9uKCkgewotICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIubm90aWZ5RG9uZSgpOwot
ICAgICAgICAgICAgfSk7Ci0gICAgICAgIH0pOwotICAgIH0KLQotICAgIGNvbnN0IG9yaWdpblVu
ZGVyVGVzdCAgPSAiaHR0cDovLzEyNy4wLjAuMTo4MDAwIjsKLSAgICBmdW5jdGlvbiBydW5UZXN0
KCkgewotICAgICAgICBzZXRFbmFibGVGZWF0dXJlKHRydWUsIGZ1bmN0aW9uICgpIHsKLSAgICAg
ICAgICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc0ZpcnN0UGFydHlXZWJzaXRlRGF0YVJlbW92
YWxNb2RlKHRydWUsIGZ1bmN0aW9uKCkgewotICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIuc2V0
U3RhdGlzdGljc0hhc0hhZFVzZXJJbnRlcmFjdGlvbihvcmlnaW5VbmRlclRlc3QsIHRydWUsIGZ1
bmN0aW9uKCkgewotICAgICAgICAgICAgICAgICAgICBpZiAoIXRlc3RSdW5uZXIuaXNTdGF0aXN0
aWNzSGFzSGFkVXNlckludGVyYWN0aW9uKG9yaWdpblVuZGVyVGVzdCkpCi0gICAgICAgICAgICAg
ICAgICAgICAgICBhZGRPdXRwdXQoIkZBSUw6ICIgKyBvcmlnaW5VbmRlclRlc3QgKyAiIGRpZCBu
b3QgZ2V0IGxvZ2dlZCBmb3IgdXNlciBpbnRlcmFjdGlvbi4iKTsKLSAgICAgICAgICAgICAgICAg
ICAgd3JpdGVXZWJzaXRlRGF0YUFuZENvbnRpbnVlKCk7Ci0gICAgICAgICAgICAgICAgfSk7Ci0g
ICAgICAgICAgICB9KTsKLSAgICAgICAgfSk7Ci0gICAgfQotPC9zY3JpcHQ+Ci08L2JvZHk+Ci08
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0
YXRpc3RpY3Mvd2Vic2l0ZS1kYXRhLXJlbW92YWwtZm9yLXNpdGUtd2l0aG91dC11c2VyLWludGVy
YWN0aW9uLWRhdGFiYXNlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVz
b3VyY2VMb2FkU3RhdGlzdGljcy93ZWJzaXRlLWRhdGEtcmVtb3ZhbC1mb3Itc2l0ZS13aXRob3V0
LXVzZXItaW50ZXJhY3Rpb24tZGF0YWJhc2UtZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwZWI4NmNhMzIwZjQ2OGVhYWZhZWU1OTkzZDQxY2IzZmU3NTUzZWM4Li4w
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3Rz
L2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy93ZWJzaXRlLWRhdGEtcmVtb3ZhbC1m
b3Itc2l0ZS13aXRob3V0LXVzZXItaW50ZXJhY3Rpb24tZGF0YWJhc2UtZXhwZWN0ZWQudHh0Cisr
KyAvZGV2L251bGwKQEAgLTEsMTUgKzAsMCBAQAotQ2hlY2sgdGhhdCBub24tY29va2llIHdlYnNp
dGUgZGF0YSBnZXRzIHJlbW92ZWQgYWZ0ZXIgYSBwZXJpb2Qgb2Ygbm8gdXNlciBpbnRlcmFjdGlv
bi4KLQotQmVmb3JlIGRlbGV0aW9uOiBDbGllbnQtc2lkZSBjb29raWUgZXhpc3RzLgotQmVmb3Jl
IGRlbGV0aW9uOiBIdHRwT25seSBjb29raWUgZXhpc3RzLgotQmVmb3JlIGRlbGV0aW9uOiBSZWd1
bGFyIHNlcnZlci1zaWRlIGNvb2tpZSBleGlzdHMuCi1CZWZvcmUgZGVsZXRpb246IExvY2FsU3Rv
cmFnZSBlbnRyeSBkb2VzIGV4aXN0LgotQmVmb3JlIGRlbGV0aW9uOiBJREIgZW50cnkgZG9lcyBl
eGlzdC4KLQotQWZ0ZXIgZGVsZXRpb246IEh0dHBPbmx5IGNvb2tpZSBleGlzdHMuCi1BZnRlciBk
ZWxldGlvbjogQ2xpZW50LXNpZGUgY29va2llIGV4aXN0cy4KLUFmdGVyIGRlbGV0aW9uOiBSZWd1
bGFyIHNlcnZlci1zaWRlIGNvb2tpZSBleGlzdHMuCi1BZnRlciBkZWxldGlvbjogTG9jYWxTdG9y
YWdlIGVudHJ5IGRvZXMgbm90IGV4aXN0LgotQWZ0ZXIgZGVsZXRpb246IElEQiBlbnRyeSBkb2Vz
IG5vdCBleGlzdC4KLQotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291
cmNlTG9hZFN0YXRpc3RpY3Mvd2Vic2l0ZS1kYXRhLXJlbW92YWwtZm9yLXNpdGUtd2l0aG91dC11
c2VyLWludGVyYWN0aW9uLWRhdGFiYXNlLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jl
c291cmNlTG9hZFN0YXRpc3RpY3Mvd2Vic2l0ZS1kYXRhLXJlbW92YWwtZm9yLXNpdGUtd2l0aG91
dC11c2VyLWludGVyYWN0aW9uLWRhdGFiYXNlLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDJlMDAxNGM3Zjk1MGUwOWIxYzkyZDhkNzlkZDg2NjY0NzFkNGRhMzIuLjAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90
ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3dlYnNpdGUtZGF0YS1yZW1vdmFsLWZvci1zaXRl
LXdpdGhvdXQtdXNlci1pbnRlcmFjdGlvbi1kYXRhYmFzZS5odG1sCisrKyAvZGV2L251bGwKQEAg
LTEsMjU0ICswLDAgQEAKLTwhRE9DVFlQRSBodG1sPgotPGh0bWw+Ci08aGVhZD4KLSAgICA8c2Ny
aXB0IHNyYz0iL2Nvb2tpZXMvcmVzb3VyY2VzL2Nvb2tpZS11dGlsaXRpZXMuanMiPjwvc2NyaXB0
PgotICAgIDxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvdXRpbC5qcyI+PC9zY3JpcHQ+Ci08L2hlYWQ+
Ci08Ym9keSBvbmxvYWQ9InNldFRpbWVvdXQoJ3J1blRlc3QoKScsIDApIj4KLTxkaXYgaWQ9ImRl
c2NyaXB0aW9uIj5DaGVjayB0aGF0IG5vbi1jb29raWUgd2Vic2l0ZSBkYXRhIGdldHMgcmVtb3Zl
ZCBhZnRlciBhIHBlcmlvZCBvZiBubyB1c2VyIGludGVyYWN0aW9uLjwvZGl2PgotPGJyPgotPGRp
diBpZD0ib3V0cHV0Ij48L2Rpdj4KLTxicj4KLTxzY3JpcHQ+Ci0gICAgdGVzdFJ1bm5lci53YWl0
VW50aWxEb25lKCk7Ci0gICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7Ci0gICAgdGVzdFJ1bm5l
ci5zZXRVc2VJVFBEYXRhYmFzZSh0cnVlKTsKLQotICAgIGNvbnN0IGh0dHBPbmx5Q29va2llTmFt
ZSA9ICJodHRwLW9ubHktY29va2llIjsKLSAgICBjb25zdCBzZXJ2ZXJTaWRlQ29va2llTmFtZSA9
ICJzZXJ2ZXItc2lkZS1jb29raWUiOwotICAgIGNvbnN0IGNsaWVudFNpZGVDb29raWVOYW1lID0g
ImNsaWVudC1zaWRlLWNvb2tpZSI7Ci0KLSAgICBmdW5jdGlvbiBzb3J0U3RyaW5nQXJyYXkoYSwg
YikgewotICAgICAgICBhID0gYS50b0xvd2VyQ2FzZSgpOwotICAgICAgICBiID0gYi50b0xvd2Vy
Q2FzZSgpOwotCi0gICAgICAgIHJldHVybiBhID4gYiA/IDEgOiBiID4gYSA/IC0xIDogMDsKLSAg
ICB9Ci0KLSAgICBmdW5jdGlvbiBhZGRMaW5lYnJlYWtUb091dHB1dCgpIHsKLSAgICAgICAgbGV0
IGVsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJiciIpOwotICAgICAgICBvdXRwdXQu
YXBwZW5kQ2hpbGQoZWxlbWVudCk7Ci0gICAgfQotCi0gICAgZnVuY3Rpb24gYWRkT3V0cHV0KG1l
c3NhZ2UpIHsKLSAgICAgICAgbGV0IGVsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJk
aXYiKTsKLSAgICAgICAgZWxlbWVudC5pbm5lclRleHQgPSBtZXNzYWdlOwotICAgICAgICBvdXRw
dXQuYXBwZW5kQ2hpbGQoZWxlbWVudCk7Ci0gICAgfQotCi0gICAgZnVuY3Rpb24gY2hlY2tDb29r
aWVzKGlzQWZ0ZXJEZWxldGlvbikgewotICAgICAgICBsZXQgdW5zb3J0ZWRUZXN0UGFzc2VkTWVz
c2FnZXMgPSBbXTsKLSAgICAgICAgbGV0IGNvb2tpZXMgPSBpbnRlcm5hbHMuZ2V0Q29va2llcygp
OwotICAgICAgICBpZiAoIWNvb2tpZXMubGVuZ3RoKQotICAgICAgICAgICAgdGVzdEZhaWxlZCgo
aXNBZnRlckRlbGV0aW9uID8gIkFmdGVyIiA6ICJCZWZvcmUiKSArICIgc2NyaXB0LWFjY2Vzc2li
bGUgZGVsZXRpb246IE5vIGNvb2tpZXMgZm91bmQuIik7Ci0gICAgICAgIGZvciAobGV0IGNvb2tp
ZSBvZiBjb29raWVzKSB7Ci0gICAgICAgICAgICBzd2l0Y2ggKGNvb2tpZS5uYW1lKSB7Ci0gICAg
ICAgICAgICAgICAgY2FzZSBodHRwT25seUNvb2tpZU5hbWU6Ci0gICAgICAgICAgICAgICAgICAg
IHVuc29ydGVkVGVzdFBhc3NlZE1lc3NhZ2VzLnB1c2goKGlzQWZ0ZXJEZWxldGlvbiA/ICJBZnRl
ciIgOiAiQmVmb3JlIikgKyAiIGRlbGV0aW9uOiAiICsgKGlzQWZ0ZXJEZWxldGlvbiA/ICIgIiA6
ICIiKSArICJIdHRwT25seSBjb29raWUgZXhpc3RzLiIpOwotICAgICAgICAgICAgICAgICAgICBi
cmVhazsKLSAgICAgICAgICAgICAgICBjYXNlIHNlcnZlclNpZGVDb29raWVOYW1lOgotICAgICAg
ICAgICAgICAgICAgICB1bnNvcnRlZFRlc3RQYXNzZWRNZXNzYWdlcy5wdXNoKChpc0FmdGVyRGVs
ZXRpb24gPyAiQWZ0ZXIiIDogIkJlZm9yZSIpICsgIiBkZWxldGlvbjogUmVndWxhciBzZXJ2ZXIt
c2lkZSBjb29raWUgZXhpc3RzLiIpOwotICAgICAgICAgICAgICAgICAgICBicmVhazsKLSAgICAg
ICAgICAgICAgICBjYXNlIGNsaWVudFNpZGVDb29raWVOYW1lOgotICAgICAgICAgICAgICAgICAg
ICB1bnNvcnRlZFRlc3RQYXNzZWRNZXNzYWdlcy5wdXNoKChpc0FmdGVyRGVsZXRpb24gPyAiQWZ0
ZXIiIDogIkJlZm9yZSIpICsgIiBkZWxldGlvbjogQ2xpZW50LXNpZGUgY29va2llIGV4aXN0cy4i
KTsKLSAgICAgICAgICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgICAgICB9Ci0gICAgICAgIH0K
LSAgICAgICAgbGV0IHNvcnRlZFRlc3RQYXNzZWRNZXNzYWdlcyA9IHVuc29ydGVkVGVzdFBhc3Nl
ZE1lc3NhZ2VzLnNvcnQoc29ydFN0cmluZ0FycmF5KTsKLSAgICAgICAgZm9yIChsZXQgdGVzdFBh
c3NlZE1lc3NhZ2Ugb2Ygc29ydGVkVGVzdFBhc3NlZE1lc3NhZ2VzKSB7Ci0gICAgICAgICAgICBh
ZGRPdXRwdXQodGVzdFBhc3NlZE1lc3NhZ2UpOwotICAgICAgICB9Ci0gICAgfQotCi0gICAgY29u
c3QgZGJOYW1lID0gIlRlc3REYXRhYmFzZSI7Ci0KLSAgICBmdW5jdGlvbiBjcmVhdGVJREJEYXRh
U3RvcmUoY2FsbGJhY2spIHsKLSAgICAgICAgbGV0IHJlcXVlc3QgPSBpbmRleGVkREIub3Blbihk
Yk5hbWUpOwotICAgICAgICByZXF1ZXN0Lm9uZXJyb3IgPSBmdW5jdGlvbigpIHsKLSAgICAgICAg
ICAgIGFkZE91dHB1dCgiQ291bGRuJ3QgY3JlYXRlIGluZGV4ZWREQi4iKTsKLSAgICAgICAgICAg
IGZpbmlzaFRlc3QoKTsKLSAgICAgICAgfTsKLSAgICAgICAgcmVxdWVzdC5vbnVwZ3JhZGVuZWVk
ZWQgPSBmdW5jdGlvbihldmVudCkgewotICAgICAgICAgICAgbGV0IGRiID0gZXZlbnQudGFyZ2V0
LnJlc3VsdDsKLSAgICAgICAgICAgIGxldCBvYmpTdG9yZSA9IGRiLmNyZWF0ZU9iamVjdFN0b3Jl
KCJ0ZXN0Iiwge2F1dG9JbmNyZW1lbnQ6IHRydWV9KTsKLSAgICAgICAgICAgIG9ialN0b3JlLmFk
ZCgidmFsdWUiKTsKLSAgICAgICAgICAgIGNhbGxiYWNrKCk7Ci0gICAgICAgIH0KLSAgICB9Ci0K
LSAgICBjb25zdCBtYXhJbnRlcnZhbHMgPSAyMDsKLQotICAgIGxldCBpbnRlcnZhbENvdW50ZXJJ
REI7Ci0gICAgbGV0IGNoZWNrSURCQ2FsbGJhY2s7Ci0gICAgbGV0IGNoZWNrSURCSW50ZXJ2YWxJ
RDsKLSAgICBsZXQgc2VtYXBob3JlSURCQ2hlY2sgPSBmYWxzZTsKLSAgICBmdW5jdGlvbiBjaGVj
a0lEQkRhdGFTdG9yZUV4aXN0cyhpc0FmdGVyRGVsZXRpb24sIGNhbGxiYWNrKSB7Ci0gICAgICAg
IGxldCByZXF1ZXN0OwotICAgICAgICBpbnRlcnZhbENvdW50ZXJJREIgPSAwOwotICAgICAgICBj
aGVja0lEQkNhbGxiYWNrID0gY2FsbGJhY2s7Ci0gICAgICAgIGlmICghaXNBZnRlckRlbGV0aW9u
KSB7Ci0gICAgICAgICAgICAvLyBDaGVjayB1bnRpbCB0aGVyZSBpcyBhIElEQi4KLSAgICAgICAg
ICAgIGNoZWNrSURCSW50ZXJ2YWxJRCA9IHNldEludGVydmFsKGZ1bmN0aW9uKCkgewotICAgICAg
ICAgICAgICAgIGlmIChzZW1hcGhvcmVJREJDaGVjaykKLSAgICAgICAgICAgICAgICAgICAgcmV0
dXJuOwotICAgICAgICAgICAgICAgIHNlbWFwaG9yZUlEQkNoZWNrID0gdHJ1ZTsKLQotICAgICAg
ICAgICAgICAgIGlmICgrK2ludGVydmFsQ291bnRlcklEQiA+PSBtYXhJbnRlcnZhbHMpIHsKLSAg
ICAgICAgICAgICAgICAgICAgY2xlYXJJbnRlcnZhbChjaGVja0lEQkludGVydmFsSUQpOwotICAg
ICAgICAgICAgICAgICAgICBhZGRPdXRwdXQoIkJlZm9yZSBkZWxldGlvbjogSURCIGVudHJ5IGRv
ZXMgbm90IGV4aXN0LiIpOwotICAgICAgICAgICAgICAgICAgICBzZW1hcGhvcmVJREJDaGVjayA9
IGZhbHNlOwotICAgICAgICAgICAgICAgICAgICBjaGVja0lEQkNhbGxiYWNrKCk7Ci0gICAgICAg
ICAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAgICAgICAgICAgcmVxdWVzdCA9IGluZGV4ZWRE
Qi5vcGVuKGRiTmFtZSk7Ci0gICAgICAgICAgICAgICAgICAgIHJlcXVlc3Qub25lcnJvciA9IGZ1
bmN0aW9uICgpIHsKLSAgICAgICAgICAgICAgICAgICAgICAgIGNsZWFySW50ZXJ2YWwoY2hlY2tJ
REJJbnRlcnZhbElEKTsKLSAgICAgICAgICAgICAgICAgICAgICAgIGFkZE91dHB1dCgiQ291bGRu
J3Qgb3BlbiBpbmRleGVkREIuIik7Ci0gICAgICAgICAgICAgICAgICAgICAgICBzZW1hcGhvcmVJ
REJDaGVjayA9IGZhbHNlOwotICAgICAgICAgICAgICAgICAgICAgICAgZmluaXNoVGVzdCgpOwot
ICAgICAgICAgICAgICAgICAgICB9OwotICAgICAgICAgICAgICAgICAgICByZXF1ZXN0Lm9udXBn
cmFkZW5lZWRlZCA9IGZ1bmN0aW9uICgpIHsKLSAgICAgICAgICAgICAgICAgICAgICAgIC8vIExl
dCB0aGUgbmV4dCBpbnRlcnZhbCBjaGVjayBhZ2Fpbi4KLSAgICAgICAgICAgICAgICAgICAgICAg
IHNlbWFwaG9yZUlEQkNoZWNrID0gZmFsc2U7Ci0gICAgICAgICAgICAgICAgICAgIH07Ci0gICAg
ICAgICAgICAgICAgICAgIHJlcXVlc3Qub25zdWNjZXNzID0gZnVuY3Rpb24gKCkgewotICAgICAg
ICAgICAgICAgICAgICAgICAgY2xlYXJJbnRlcnZhbChjaGVja0lEQkludGVydmFsSUQpOwotICAg
ICAgICAgICAgICAgICAgICAgICAgYWRkT3V0cHV0KCJCZWZvcmUgZGVsZXRpb246IElEQiBlbnRy
eSBkb2VzIGV4aXN0LiIpOwotICAgICAgICAgICAgICAgICAgICAgICAgc2VtYXBob3JlSURCQ2hl
Y2sgPSBmYWxzZTsKLSAgICAgICAgICAgICAgICAgICAgICAgIGNoZWNrSURCQ2FsbGJhY2soKTsK
LSAgICAgICAgICAgICAgICAgICAgfTsKLSAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICB9
LCAyMDApOwotICAgICAgICB9IGVsc2UgewotICAgICAgICAgICAgLy8gQ2hlY2sgdW50aWwgdGhl
cmUgaXMgbm8gSURCLgotICAgICAgICAgICAgY2hlY2tJREJJbnRlcnZhbElEID0gc2V0SW50ZXJ2
YWwoZnVuY3Rpb24gKCkgewotICAgICAgICAgICAgICAgIGlmIChzZW1hcGhvcmVJREJDaGVjaykK
LSAgICAgICAgICAgICAgICAgICAgcmV0dXJuOwotICAgICAgICAgICAgICAgIHNlbWFwaG9yZUlE
QkNoZWNrID0gdHJ1ZTsKLQotICAgICAgICAgICAgICAgIGlmICgrK2ludGVydmFsQ291bnRlcklE
QiA+PSBtYXhJbnRlcnZhbHMpIHsKLSAgICAgICAgICAgICAgICAgICAgY2xlYXJJbnRlcnZhbChj
aGVja0lEQkludGVydmFsSUQpOwotICAgICAgICAgICAgICAgICAgICBhZGRPdXRwdXQoIkFmdGVy
IGRlbGV0aW9uOiBJREIgZW50cnkgY2hlY2tzIGV4aGF1c3RlZC4iKTsKLSAgICAgICAgICAgICAg
ICAgICAgc2VtYXBob3JlSURCQ2hlY2sgPSBmYWxzZTsKLSAgICAgICAgICAgICAgICAgICAgY2hl
Y2tJREJDYWxsYmFjaygpOwotICAgICAgICAgICAgICAgIH0gZWxzZSB7Ci0gICAgICAgICAgICAg
ICAgICAgIHJlcXVlc3QgPSBpbmRleGVkREIub3BlbihkYk5hbWUpOwotICAgICAgICAgICAgICAg
ICAgICByZXF1ZXN0Lm9uZXJyb3IgPSBmdW5jdGlvbiAoKSB7Ci0gICAgICAgICAgICAgICAgICAg
ICAgICBjbGVhckludGVydmFsKGNoZWNrSURCSW50ZXJ2YWxJRCk7Ci0gICAgICAgICAgICAgICAg
ICAgICAgICBhZGRPdXRwdXQoIkNvdWxkbid0IG9wZW4gaW5kZXhlZERCLiIpOwotICAgICAgICAg
ICAgICAgICAgICAgICAgc2VtYXBob3JlSURCQ2hlY2sgPSBmYWxzZTsKLSAgICAgICAgICAgICAg
ICAgICAgICAgIGZpbmlzaFRlc3QoKTsKLSAgICAgICAgICAgICAgICAgICAgfTsKLSAgICAgICAg
ICAgICAgICAgICAgcmVxdWVzdC5vbnVwZ3JhZGVuZWVkZWQgPSBmdW5jdGlvbiAoKSB7Ci0gICAg
ICAgICAgICAgICAgICAgICAgICBjbGVhckludGVydmFsKGNoZWNrSURCSW50ZXJ2YWxJRCk7Ci0g
ICAgICAgICAgICAgICAgICAgICAgICBhZGRPdXRwdXQoIkFmdGVyIGRlbGV0aW9uOiBJREIgZW50
cnkgZG9lcyBub3QgZXhpc3QuIik7Ci0gICAgICAgICAgICAgICAgICAgICAgICBzZW1hcGhvcmVJ
REJDaGVjayA9IGZhbHNlOwotICAgICAgICAgICAgICAgICAgICAgICAgY2hlY2tJREJDYWxsYmFj
aygpOwotICAgICAgICAgICAgICAgICAgICB9OwotICAgICAgICAgICAgICAgICAgICByZXF1ZXN0
Lm9uc3VjY2VzcyA9IGZ1bmN0aW9uICgpIHsKLSAgICAgICAgICAgICAgICAgICAgICAgIC8vIExl
dCB0aGUgbmV4dCBpbnRlcnZhbCBjaGVjayBhZ2Fpbi4KLSAgICAgICAgICAgICAgICAgICAgICAg
IHNlbWFwaG9yZUlEQkNoZWNrID0gZmFsc2U7Ci0gICAgICAgICAgICAgICAgICAgIH07Ci0gICAg
ICAgICAgICAgICAgfQotICAgICAgICAgICAgfSwgMjAwKTsKLSAgICAgICAgfQotICAgIH0KLQot
ICAgIGxldCBpbnRlcnZhbENvdW50ZXJMb2NhbFN0b3JhZ2U7Ci0gICAgbGV0IGNoZWNrTG9jYWxT
dG9yYWdlQ2FsbGJhY2s7Ci0gICAgbGV0IGNoZWNrTG9jYWxTdG9yYWdlSW50ZXJ2YWxJRDsKLSAg
ICBjb25zdCBsb2NhbFN0b3JhZ2VOYW1lID0gInRlc3QiOwotICAgIGNvbnN0IGxvY2FsU3RvcmFn
ZVZhbHVlID0gInZhbHVlIjsKLSAgICBmdW5jdGlvbiBjaGVja0xvY2FsU3RvcmFnZUV4aXN0cyhp
c0FmdGVyRGVsZXRpb24sIGNhbGxiYWNrKSB7Ci0gICAgICAgIGludGVydmFsQ291bnRlckxvY2Fs
U3RvcmFnZSA9IDA7Ci0gICAgICAgIGNoZWNrTG9jYWxTdG9yYWdlQ2FsbGJhY2sgPSBjYWxsYmFj
azsKLSAgICAgICAgaWYgKCFpc0FmdGVyRGVsZXRpb24pIHsKLSAgICAgICAgICAgIC8vIENoZWNr
IHVudGlsIHRoZXJlIGlzIExvY2FsU3RvcmFnZS4KLSAgICAgICAgICAgIGNoZWNrTG9jYWxTdG9y
YWdlSW50ZXJ2YWxJRCA9IHNldEludGVydmFsKGZ1bmN0aW9uKCkgewotICAgICAgICAgICAgICAg
IGlmICgrK2ludGVydmFsQ291bnRlckxvY2FsU3RvcmFnZSA+PSBtYXhJbnRlcnZhbHMpIHsKLSAg
ICAgICAgICAgICAgICAgICAgY2xlYXJJbnRlcnZhbChjaGVja0xvY2FsU3RvcmFnZUludGVydmFs
SUQpOwotICAgICAgICAgICAgICAgICAgICBsZXQgdmFsdWUgPSBsb2NhbFN0b3JhZ2UuZ2V0SXRl
bShsb2NhbFN0b3JhZ2VOYW1lKTsKLSAgICAgICAgICAgICAgICAgICAgYWRkT3V0cHV0KCJCZWZv
cmUgZGVsZXRpb246IExvY2FsU3RvcmFnZSBlbnRyeSAiICsgKHZhbHVlID09PSBsb2NhbFN0b3Jh
Z2VWYWx1ZSA/ICJkb2VzIiA6ICJkb2VzIG5vdCIpICsgIiBleGlzdC4iKTsKLSAgICAgICAgICAg
ICAgICAgICAgY2hlY2tMb2NhbFN0b3JhZ2VDYWxsYmFjaygpOwotICAgICAgICAgICAgICAgIH0g
ZWxzZSBpZiAodGVzdFJ1bm5lci5pc1N0YXRpc3RpY3NIYXNMb2NhbFN0b3JhZ2Uob3JpZ2luVW5k
ZXJUZXN0KSkgewotICAgICAgICAgICAgICAgICAgICBjbGVhckludGVydmFsKGNoZWNrTG9jYWxT
dG9yYWdlSW50ZXJ2YWxJRCk7Ci0gICAgICAgICAgICAgICAgICAgIGxldCB2YWx1ZSA9IGxvY2Fs
U3RvcmFnZS5nZXRJdGVtKGxvY2FsU3RvcmFnZU5hbWUpOwotICAgICAgICAgICAgICAgICAgICBh
ZGRPdXRwdXQoIkJlZm9yZSBkZWxldGlvbjogTG9jYWxTdG9yYWdlIGVudHJ5ICIgKyAodmFsdWUg
PT09IGxvY2FsU3RvcmFnZVZhbHVlID8gImRvZXMiIDogImRvZXMgbm90IikgKyAiIGV4aXN0LiIp
OwotICAgICAgICAgICAgICAgICAgICBjaGVja0xvY2FsU3RvcmFnZUNhbGxiYWNrKCk7Ci0gICAg
ICAgICAgICAgICAgfQotICAgICAgICAgICAgfSwgMTAwKTsKLSAgICAgICAgfSBlbHNlIHsKLSAg
ICAgICAgICAgIC8vIENoZWNrIHVudGlsIHRoZXJlIGlzIG5vIExvY2FsU3RvcmFnZS4KLSAgICAg
ICAgICAgIGNoZWNrTG9jYWxTdG9yYWdlSW50ZXJ2YWxJRCA9IHNldEludGVydmFsKGZ1bmN0aW9u
KCkgewotICAgICAgICAgICAgICAgIGlmICgrK2ludGVydmFsQ291bnRlckxvY2FsU3RvcmFnZSA+
PSBtYXhJbnRlcnZhbHMpIHsKLSAgICAgICAgICAgICAgICAgICAgY2xlYXJJbnRlcnZhbChjaGVj
a0xvY2FsU3RvcmFnZUludGVydmFsSUQpOwotICAgICAgICAgICAgICAgICAgICBsZXQgdmFsdWUg
PSBsb2NhbFN0b3JhZ2UuZ2V0SXRlbShsb2NhbFN0b3JhZ2VOYW1lKTsKLSAgICAgICAgICAgICAg
ICAgICAgYWRkT3V0cHV0KCJBZnRlciBkZWxldGlvbjogTG9jYWxTdG9yYWdlIGVudHJ5ICIgKyAo
dmFsdWUgPT09IGxvY2FsU3RvcmFnZVZhbHVlID8gImRvZXMiIDogImRvZXMgbm90IikgKyAiIGV4
aXN0LiIpOwotICAgICAgICAgICAgICAgICAgICBjaGVja0xvY2FsU3RvcmFnZUNhbGxiYWNrKCk7
Ci0gICAgICAgICAgICAgICAgfSBlbHNlIGlmICghdGVzdFJ1bm5lci5pc1N0YXRpc3RpY3NIYXNM
b2NhbFN0b3JhZ2Uob3JpZ2luVW5kZXJUZXN0KSkgewotICAgICAgICAgICAgICAgICAgICBjbGVh
ckludGVydmFsKGNoZWNrTG9jYWxTdG9yYWdlSW50ZXJ2YWxJRCk7Ci0gICAgICAgICAgICAgICAg
ICAgIGxldCB2YWx1ZSA9IGxvY2FsU3RvcmFnZS5nZXRJdGVtKGxvY2FsU3RvcmFnZU5hbWUpOwot
ICAgICAgICAgICAgICAgICAgICBhZGRPdXRwdXQoIkFmdGVyIGRlbGV0aW9uOiBMb2NhbFN0b3Jh
Z2UgZW50cnkgIiArICh2YWx1ZSA9PT0gbG9jYWxTdG9yYWdlVmFsdWUgPyAiZG9lcyIgOiAiZG9l
cyBub3QiKSArICIgZXhpc3QuIik7Ci0gICAgICAgICAgICAgICAgICAgIGNoZWNrTG9jYWxTdG9y
YWdlQ2FsbGJhY2soKTsKLSAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICB9LCAxMDApOwot
ICAgICAgICB9Ci0gICAgfQotCi0gICAgYXN5bmMgZnVuY3Rpb24gd3JpdGVXZWJzaXRlRGF0YUFu
ZENvbnRpbnVlKCkgewotICAgICAgICAvLyBXcml0ZSBjb29raWVzLgotICAgICAgICBhd2FpdCBm
ZXRjaCgiL2Nvb2tpZXMvcmVzb3VyY2VzL3NldC1odHRwLW9ubHktY29va2llLnBocD9jb29raWVO
YW1lPSIgKyBodHRwT25seUNvb2tpZU5hbWUsIHsgY3JlZGVudGlhbHM6ICJzYW1lLW9yaWdpbiIg
fSk7Ci0gICAgICAgIGF3YWl0IGZldGNoKCIvY29va2llcy9yZXNvdXJjZXMvc2V0Q29va2llcy5j
Z2kiLCB7IGhlYWRlcnM6IHsgIlNldC1Db29raWUiOiBzZXJ2ZXJTaWRlQ29va2llTmFtZSArICI9
MTsgcGF0aD0vOyIgfSwgY3JlZGVudGlhbHM6ICJzYW1lLW9yaWdpbiIgfSk7Ci0gICAgICAgIGRv
Y3VtZW50LmNvb2tpZSA9IGNsaWVudFNpZGVDb29raWVOYW1lICsgIj0xIjsKLQotICAgICAgICBj
aGVja0Nvb2tpZXMoZmFsc2UpOwotCi0gICAgICAgIC8vIFdyaXRlIExvY2FsU3RvcmFnZQotICAg
ICAgICBsb2NhbFN0b3JhZ2Uuc2V0SXRlbShsb2NhbFN0b3JhZ2VOYW1lLCBsb2NhbFN0b3JhZ2VW
YWx1ZSk7Ci0gICAgICAgIGNoZWNrTG9jYWxTdG9yYWdlRXhpc3RzKGZhbHNlLCBmdW5jdGlvbigp
IHsKLQotICAgICAgICAgICAgLy8gV3JpdGUgSW5kZXhlZERCLgotICAgICAgICAgICAgY3JlYXRl
SURCRGF0YVN0b3JlKGZ1bmN0aW9uICgpIHsKLSAgICAgICAgICAgICAgICBjaGVja0lEQkRhdGFT
dG9yZUV4aXN0cyhmYWxzZSwgZnVuY3Rpb24oKSB7Ci0gICAgICAgICAgICAgICAgICAgIGFkZExp
bmVicmVha1RvT3V0cHV0KCk7Ci0gICAgICAgICAgICAgICAgICAgIHByb2Nlc3NXZWJzaXRlRGF0
YUFuZENvbnRpbnVlKCk7Ci0gICAgICAgICAgICAgICAgfSk7Ci0gICAgICAgICAgICB9KTsKLSAg
ICAgICAgfSk7Ci0gICAgfQotCi0gICAgZnVuY3Rpb24gcHJvY2Vzc1dlYnNpdGVEYXRhQW5kQ29u
dGludWUoKSB7Ci0gICAgICAgIHRlc3RSdW5uZXIuaW5zdGFsbFN0YXRpc3RpY3NEaWRTY2FuRGF0
YVJlY29yZHNDYWxsYmFjayhjaGVja1dlYnNpdGVEYXRhQW5kQ29udGludWUpOwotICAgICAgICB0
ZXN0UnVubmVyLnN0YXRpc3RpY3NQcm9jZXNzU3RhdGlzdGljc0FuZERhdGFSZWNvcmRzKCk7Ci0g
ICAgfQotCi0gICAgZnVuY3Rpb24gY2hlY2tXZWJzaXRlRGF0YUFuZENvbnRpbnVlKCkgewotICAg
ICAgICBjaGVja0Nvb2tpZXModHJ1ZSk7Ci0gICAgICAgIGNoZWNrTG9jYWxTdG9yYWdlRXhpc3Rz
KHRydWUsIGZ1bmN0aW9uICgpIHsKLSAgICAgICAgICAgIGNoZWNrSURCRGF0YVN0b3JlRXhpc3Rz
KHRydWUsIGZpbmlzaFRlc3QpOwotICAgICAgICB9KTsKLSAgICB9Ci0KLSAgICBmdW5jdGlvbiBm
aW5pc2hUZXN0KCkgewotICAgICAgICByZXNldENvb2tpZXMoKTsKLSAgICAgICAgdGVzdFJ1bm5l
ci5zZXRTdGF0aXN0aWNzRmlyc3RQYXJ0eVdlYnNpdGVEYXRhUmVtb3ZhbE1vZGUoZmFsc2UsIGZ1
bmN0aW9uKCkgewotICAgICAgICAgICAgc2V0RW5hYmxlRmVhdHVyZShmYWxzZSwgZnVuY3Rpb24o
KSB7Ci0gICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7Ci0gICAgICAgICAg
ICB9KTsKLSAgICAgICAgfSk7Ci0gICAgfQotCi0gICAgY29uc3Qgb3JpZ2luVW5kZXJUZXN0ICA9
ICJodHRwOi8vMTI3LjAuMC4xOjgwMDAiOwotICAgIGZ1bmN0aW9uIHJ1blRlc3QoKSB7Ci0gICAg
ICAgIHNldEVuYWJsZUZlYXR1cmUodHJ1ZSwgZnVuY3Rpb24gKCkgewotICAgICAgICAgICAgdGVz
dFJ1bm5lci5zZXRTdGF0aXN0aWNzRmlyc3RQYXJ0eVdlYnNpdGVEYXRhUmVtb3ZhbE1vZGUodHJ1
ZSwgZnVuY3Rpb24oKSB7Ci0gICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNz
SGFzSGFkVXNlckludGVyYWN0aW9uKG9yaWdpblVuZGVyVGVzdCwgZmFsc2UsIGZ1bmN0aW9uKCkg
ewotICAgICAgICAgICAgICAgICAgICBpZiAodGVzdFJ1bm5lci5pc1N0YXRpc3RpY3NIYXNIYWRV
c2VySW50ZXJhY3Rpb24ob3JpZ2luVW5kZXJUZXN0KSkKLSAgICAgICAgICAgICAgICAgICAgICAg
IGFkZE91dHB1dCgiRkFJTDogIiArIG9yaWdpblVuZGVyVGVzdCArICIgZ290IGxvZ2dlZCBmb3Ig
dXNlciBpbnRlcmFjdGlvbi4iKTsKLSAgICAgICAgICAgICAgICAgICAgd3JpdGVXZWJzaXRlRGF0
YUFuZENvbnRpbnVlKCk7Ci0gICAgICAgICAgICAgICAgfSk7Ci0gICAgICAgICAgICB9KTsKLSAg
ICAgICAgfSk7Ci0gICAgfQotPC9zY3JpcHQ+Ci08L2JvZHk+Ci08L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3N0b3JhZ2VBY2Nlc3MvYWdncmVnYXRlLXNvcnRlZC1k
YXRhLXdpdGgtc3RvcmFnZS1hY2Nlc3MtZGF0YWJhc2UtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy9zdG9yYWdlQWNjZXNzL2FnZ3JlZ2F0ZS1zb3J0ZWQtZGF0YS13aXRoLXN0
b3JhZ2UtYWNjZXNzLWRhdGFiYXNlLWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggOGViZDI2YjZlYzc2NTJmZGU2NTFkNzFkMzRmMjdkYWMyY2Q4MzU2OS4uMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL3N0b3JhZ2VBY2Nlc3MvYWdncmVnYXRlLXNvcnRlZC1kYXRhLXdpdGgtc3RvcmFnZS1h
Y2Nlc3MtZGF0YWJhc2UtZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEsNDQgKzAsMCBA
QAotQ2hlY2sgY29ycmVjdCBVSSBkYXRhIGdldHMgcmVwb3J0ZWQgd2l0aCBzdG9yYWdlIGFjY2Vz
cyBncmFudGVkLgotCi1PbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1Mi
IG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCi0KLQotUEFTUyBTdG9yYWdl
IGFjY2VzcyB3YXMgZ3JhbnRlZC4gZG9jdW1lbnQuY29va2llID09IGZpcnN0UGFydHlDb29raWU9
dmFsdWUsIGNvb2tpZXMgc2VlbiBzZXJ2ZXItc2lkZSA9PSB7ImZpcnN0UGFydHlDb29raWUiOiJ2
YWx1ZSJ9Ci1QQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCi0KLVRFU1QgQ09NUExFVEUK
LQotUmVzb3VyY2UgbG9hZCBzdGF0aXN0aWNzOgotCi1SZWdpc3RyYWJsZSBkb21haW46IDEyNy4w
LjAuMQotICAgIGhhZFVzZXJJbnRlcmFjdGlvbjogWWVzCi0gICAgbW9zdFJlY2VudFVzZXJJbnRl
cmFjdGlvbjogd2l0aGluIDI0IGhvdXJzCi0gICAgZ3JhbmRmYXRoZXJlZDogTm8KLSAgICBUb3BG
cmFtZVVuaXF1ZVJlZGlyZWN0c1RvOgotICAgICAgICBsb2NhbGhvc3QKLSAgICBUb3BGcmFtZVVu
aXF1ZVJlZGlyZWN0c0Zyb206Ci0gICAgICAgIGxvY2FsaG9zdAotICAgIElzU2NoZWR1bGVkRm9y
QWxsQnV0Q29va2llRGF0YVJlbW92YWw6IE5vCi0gICAgaXNQcmV2YWxlbnRSZXNvdXJjZTogWWVz
Ci0gICAgaXNWZXJ5UHJldmFsZW50UmVzb3VyY2U6IE5vCi0gICAgZGF0YVJlY29yZHNSZW1vdmVk
OiAwCi1SZWdpc3RyYWJsZSBkb21haW46IGxvY2FsaG9zdAotICAgIGhhZFVzZXJJbnRlcmFjdGlv
bjogWWVzCi0gICAgbW9zdFJlY2VudFVzZXJJbnRlcmFjdGlvbjogd2l0aGluIDI0IGhvdXJzCi0g
ICAgZ3JhbmRmYXRoZXJlZDogTm8KLSAgICBTdG9yYWdlQWNjZXNzVW5kZXJUb3BGcmFtZURvbWFp
bnM6Ci0gICAgICAgIDEyNy4wLjAuMQotICAgIFRvcEZyYW1lVW5pcXVlUmVkaXJlY3RzVG86Ci0g
ICAgICAgIDEyNy4wLjAuMQotICAgIFRvcEZyYW1lVW5pcXVlUmVkaXJlY3RzRnJvbToKLSAgICAg
ICAgMTI3LjAuMC4xCi0gICAgSXNTY2hlZHVsZWRGb3JBbGxCdXRDb29raWVEYXRhUmVtb3ZhbDog
Tm8KLSAgICBTdWJmcmFtZVVuZGVyVG9wRnJhbWVEb21haW5zOgotICAgICAgICAxMjcuMC4wLjEK
LSAgICBpc1ByZXZhbGVudFJlc291cmNlOiBZZXMKLSAgICBpc1ZlcnlQcmV2YWxlbnRSZXNvdXJj
ZTogTm8KLSAgICBkYXRhUmVjb3Jkc1JlbW92ZWQ6IDAKLQotSVRQIERhdGE6Ci1UaGlyZCBQYXJ0
eSBSZWdpc3RyYWJsZSBEb21haW46IGxvY2FsaG9zdAotICAgIHt7IEhhcyBiZWVuIGdyYW50ZWQg
c3RvcmFnZSBhY2Nlc3MgdW5kZXIgMTI3LjAuMC4xOiAxOyBIYXMgYmVlbiBzZWVuIHVuZGVyIDEy
Ny4wLjAuMSBpbiB0aGUgbGFzdCAyNCBob3VyczogMSB9LH0KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2h0dHAvdGVzdHMvc3RvcmFnZUFjY2Vzcy9hZ2dyZWdhdGUtc29ydGVkLWRhdGEtd2l0aC1z
dG9yYWdlLWFjY2Vzcy1kYXRhYmFzZS5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zdG9y
YWdlQWNjZXNzL2FnZ3JlZ2F0ZS1zb3J0ZWQtZGF0YS13aXRoLXN0b3JhZ2UtYWNjZXNzLWRhdGFi
YXNlLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDI0NDhjOWMwMGRlZjY5NjQz
NmY5N2I3ODVjNTJkYTA4YzBhZTNhZjIuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zdG9yYWdlQWNjZXNzL2FnZ3Jl
Z2F0ZS1zb3J0ZWQtZGF0YS13aXRoLXN0b3JhZ2UtYWNjZXNzLWRhdGFiYXNlLmh0bWwKKysrIC9k
ZXYvbnVsbApAQCAtMSw5MiArMCwwIEBACi08IURPQ1RZUEUgaHRtbD4KLTxodG1sPgotPGhlYWQ+
Ci0gICAgPHNjcmlwdCBzcmM9Ii9qcy10ZXN0LXJlc291cmNlcy9qcy10ZXN0LmpzIj48L3Njcmlw
dD4KLSAgICA8c2NyaXB0IHNyYz0iL2pzLXRlc3QtcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9z
Y3JpcHQ+Ci0gICAgPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3Jlc291cmNl
cy91dGlsLmpzIj48L3NjcmlwdD4KLSAgICA8c2NyaXB0PgotICAgICAgICBkZXNjcmlwdGlvbigi
Q2hlY2sgY29ycmVjdCBVSSBkYXRhIGdldHMgcmVwb3J0ZWQgd2l0aCBzdG9yYWdlIGFjY2VzcyBn
cmFudGVkLiIpOwotICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKLSAgICAgICAgdGVzdFJ1
bm5lci5zZXRVc2VJVFBEYXRhYmFzZSh0cnVlKTsKLQotICAgICAgICBjb25zdCBmaXJzdFBhcnR5
VXJsID0gImh0dHA6Ly8xMjcuMC4wLjE6ODAwMCI7Ci0gICAgICAgIGNvbnN0IHRoaXJkUGFydHlV
cmwgPSAiaHR0cDovL2xvY2FsaG9zdDo4MDAwIjsKLQotICAgICAgICBmdW5jdGlvbiByZWNlaXZl
TWVzc2FnZShldmVudCkgewotICAgICAgICAgICAgaWYgKGV2ZW50Lm9yaWdpbiA9PT0gImh0dHA6
Ly9sb2NhbGhvc3Q6ODAwMCIpIHsKLSAgICAgICAgICAgICAgICBpZiAoZXZlbnQuZGF0YS5pbmRl
eE9mKCJQQVNTICIpICE9PSAtMSkgewotICAgICAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLnNl
dFN0YXRpc3RpY3NQcmV2YWxlbnRSZXNvdXJjZSh0aGlyZFBhcnR5VXJsLCB0cnVlLCBmdW5jdGlv
biAoKSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLmR1bXBSZXNvdXJjZUxv
YWRTdGF0aXN0aWNzKCk7Ci0gICAgICAgICAgICAgICAgICAgICAgICB0ZXN0UGFzc2VkKGV2ZW50
LmRhdGEucmVwbGFjZSgiUEFTUyAiLCAiIikpOwotICAgICAgICAgICAgICAgICAgICAgICAgdGVz
dFJ1bm5lci5zZXRTdGF0aXN0aWNzU2hvdWxkQmxvY2tUaGlyZFBhcnR5Q29va2llcyhmYWxzZSwg
ZnVuY3Rpb24oKSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgc2V0RW5hYmxlRmVhdHVy
ZShmYWxzZSwgZmluaXNoSlNUZXN0KTsKLSAgICAgICAgICAgICAgICAgICAgICAgIH0pOwotICAg
ICAgICAgICAgICAgICAgICB9KTsKLSAgICAgICAgICAgICAgICAgICAgcmV0dXJuOwotICAgICAg
ICAgICAgICAgIH0gZWxzZQotICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGV2ZW50LmRh
dGEucmVwbGFjZSgiRkFJTCAiLCAiIikpOwotICAgICAgICAgICAgfSBlbHNlCi0gICAgICAgICAg
ICAgICAgdGVzdEZhaWxlZCgiUmVjZWl2ZWQgYSBtZXNzYWdlIGZyb20gYW4gdW5leHBlY3RlZCBv
cmlnaW46ICIgKyBldmVudC5vcmlnaW4pOwotICAgICAgICAgICAgdGVzdFJ1bm5lci5zZXRTdGF0
aXN0aWNzU2hvdWxkQmxvY2tUaGlyZFBhcnR5Q29va2llcyhmYWxzZSwgZnVuY3Rpb24oKSB7Ci0g
ICAgICAgICAgICAgICAgc2V0RW5hYmxlRmVhdHVyZShmYWxzZSwgZmluaXNoSlNUZXN0KTsKLSAg
ICAgICAgICAgIH0pOwotICAgICAgICB9Ci0KLSAgICAgICAgd2luZG93LmFkZEV2ZW50TGlzdGVu
ZXIoIm1lc3NhZ2UiLCByZWNlaXZlTWVzc2FnZSwgZmFsc2UpOwotCi0gICAgICAgIGZ1bmN0aW9u
IGFjdGl2YXRlRWxlbWVudChlbGVtZW50SWQpIHsKLSAgICAgICAgICAgIHZhciBlbGVtZW50ID0g
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoZWxlbWVudElkKTsKLSAgICAgICAgICAgIHZhciBjZW50
ZXJYID0gZWxlbWVudC5vZmZzZXRMZWZ0ICsgZWxlbWVudC5vZmZzZXRXaWR0aCAvIDI7Ci0gICAg
ICAgICAgICB2YXIgY2VudGVyWSA9IGVsZW1lbnQub2Zmc2V0VG9wICsgZWxlbWVudC5vZmZzZXRI
ZWlnaHQgLyAyOwotICAgICAgICAgICAgVUlIZWxwZXIuYWN0aXZhdGVBdChjZW50ZXJYLCBjZW50
ZXJZKS50aGVuKAotICAgICAgICAgICAgICAgIGZ1bmN0aW9uICgpIHsKLSAgICAgICAgICAgICAg
ICAgICAgaWYgKHdpbmRvdy5ldmVudFNlbmRlcikKLSAgICAgICAgICAgICAgICAgICAgICAgIGV2
ZW50U2VuZGVyLmtleURvd24oImVzY2FwZSIpOwotICAgICAgICAgICAgICAgICAgICBlbHNlIHsK
LSAgICAgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoIk5vIGV2ZW50U2VuZGVyLiIpOwot
ICAgICAgICAgICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNzU2hvdWxkQmxv
Y2tUaGlyZFBhcnR5Q29va2llcyhmYWxzZSwgZnVuY3Rpb24oKSB7Ci0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgc2V0RW5hYmxlRmVhdHVyZShmYWxzZSwgZmluaXNoSlNUZXN0KTsKLSAgICAg
ICAgICAgICAgICAgICAgICAgIH0pOwotICAgICAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAg
ICAgICAgfSwKLSAgICAgICAgICAgICAgICBmdW5jdGlvbiAoKSB7Ci0gICAgICAgICAgICAgICAg
ICAgIHRlc3RGYWlsZWQoIlByb21pc2UgcmVqZWN0ZWQuIik7Ci0gICAgICAgICAgICAgICAgICAg
IHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc1Nob3VsZEJsb2NrVGhpcmRQYXJ0eUNvb2tpZXMoZmFs
c2UsIGZ1bmN0aW9uKCkgewotICAgICAgICAgICAgICAgICAgICAgICAgc2V0RW5hYmxlRmVhdHVy
ZShmYWxzZSwgZmluaXNoSlNUZXN0KTsKLSAgICAgICAgICAgICAgICAgICAgfSk7Ci0gICAgICAg
ICAgICAgICAgfQotICAgICAgICAgICAgKTsKLSAgICAgICAgfQotCi0gICAgICAgIGZ1bmN0aW9u
IHJ1blRlc3QoKSB7Ci0gICAgICAgICAgICBpZiAoZG9jdW1lbnQubG9jYXRpb24uaGFzaCAhPT0g
IiNjb29raWVTZXQiKSB7Ci0gICAgICAgICAgICAgICAgc2V0RW5hYmxlRmVhdHVyZSh0cnVlLCBm
dW5jdGlvbigpIHsKLSAgICAgICAgICAgICAgICAgICAgZG9jdW1lbnQubG9jYXRpb24uaHJlZiA9
IHRoaXJkUGFydHlVcmwgKyAiL3N0b3JhZ2VBY2Nlc3MvcmVzb3VyY2VzL3NldC1jb29raWUucGhw
P25hbWU9Zmlyc3RQYXJ0eUNvb2tpZSZ2YWx1ZT12YWx1ZSMiICsgZmlyc3RQYXJ0eVVybCArICIv
c3RvcmFnZUFjY2Vzcy9hZ2dyZWdhdGUtc29ydGVkLWRhdGEtd2l0aC1zdG9yYWdlLWFjY2Vzcy1k
YXRhYmFzZS5odG1sI2Nvb2tpZVNldCI7Ci0gICAgICAgICAgICAgICAgfSk7Ci0gICAgICAgICAg
ICB9IGVsc2UgewotICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc1Nob3Vs
ZEJsb2NrVGhpcmRQYXJ0eUNvb2tpZXModHJ1ZSwgZnVuY3Rpb24oKSB7Ci0gICAgICAgICAgICAg
ICAgICAgIGlmICh0ZXN0UnVubmVyLmlzU3RhdGlzdGljc1ByZXZhbGVudFJlc291cmNlKHRoaXJk
UGFydHlVcmwpKQotICAgICAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZCgiVGhpcmQtcGFy
dHkgc2V0IGFzIHByZXZhbGVudCByZXNvdXJjZS4iKTsKLSAgICAgICAgICAgICAgICAgICAgdGVz
dFJ1bm5lci5zZXRTdGF0aXN0aWNzSGFzSGFkVXNlckludGVyYWN0aW9uKGZpcnN0UGFydHlVcmws
IHRydWUsIGZ1bmN0aW9uKCkgewotICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCF0ZXN0UnVu
bmVyLmlzU3RhdGlzdGljc0hhc0hhZFVzZXJJbnRlcmFjdGlvbihmaXJzdFBhcnR5VXJsKSkKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKCJGaXJzdC1wYXJ0eSBkaWQgbm90
IGdldCBsb2dnZWQgZm9yIHVzZXIgaW50ZXJhY3Rpb24uIik7Ci0gICAgICAgICAgICAgICAgICAg
ICAgICB0ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NIYXNIYWRVc2VySW50ZXJhY3Rpb24odGhpcmRQ
YXJ0eVVybCwgdHJ1ZSwgZnVuY3Rpb24oKSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
aWYgKCF0ZXN0UnVubmVyLmlzU3RhdGlzdGljc0hhc0hhZFVzZXJJbnRlcmFjdGlvbih0aGlyZFBh
cnR5VXJsKSkKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZCgiVGhp
cmQtcGFydHkgZGlkIG5vdCBnZXQgbG9nZ2VkIGZvciB1c2VyIGludGVyYWN0aW9uLiIpOwotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGxldCBpZnJhbWVFbGVtZW50ID0gZG9jdW1lbnQuY3Jl
YXRlRWxlbWVudCgiaWZyYW1lIik7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWZyYW1l
RWxlbWVudC5vbmxvYWQgPSBmdW5jdGlvbigpIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgYWN0aXZhdGVFbGVtZW50KCJUaGVJZnJhbWVUaGF0UmVxdWVzdHNTdG9yYWdlQWNjZXNz
Iik7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgfTsKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBpZnJhbWVFbGVtZW50LmlkID0gIlRoZUlmcmFtZVRoYXRSZXF1ZXN0c1N0b3JhZ2VB
Y2Nlc3MiOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmcmFtZUVsZW1lbnQuc3JjID0g
Imh0dHA6Ly9sb2NhbGhvc3Q6ODAwMC9zdG9yYWdlQWNjZXNzL3Jlc291cmNlcy9yZXF1ZXN0LXN0
b3JhZ2UtYWNjZXNzLWlmcmFtZS5odG1sI3VzZXJTaG91bGRHcmFudEFjY2Vzcyx1c2VyU2hvdWxk
QmVDb25zdWx0ZWQscG9saWN5U2hvdWxkR3JhbnRBY2Nlc3MsaXNOb3RTYW1lT3JpZ2luSWZyYW1l
IjsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxk
KGlmcmFtZUVsZW1lbnQpOwotICAgICAgICAgICAgICAgICAgICAgICAgfSk7Ci0gICAgICAgICAg
ICAgICAgICAgIH0pOwotICAgICAgICAgICAgICAgIH0pOwotICAgICAgICAgICAgfQotICAgICAg
ICB9Ci0gICAgPC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keSBvbmxvYWQ9InJ1blRlc3QoKSI+Ci08
L2JvZHk+Ci08L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3N0b3Jh
Z2VBY2Nlc3MvYWdncmVnYXRlLXNvcnRlZC1kYXRhLXdpdGgtc3RvcmFnZS1hY2Nlc3MtZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zdG9yYWdlQWNjZXNzL2FnZ3JlZ2F0ZS1z
b3J0ZWQtZGF0YS13aXRoLXN0b3JhZ2UtYWNjZXNzLWV4cGVjdGVkLnR4dAppbmRleCAwMTU0YzZm
NDY3NTNjMzYzMTc4MTU5ODM0ODc4Mjc1M2M2MWQ0MGE0Li44ZWJkMjZiNmVjNzY1MmZkZTY1MWQ3
MWQzNGYyN2RhYzJjZDgzNTY5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3N0
b3JhZ2VBY2Nlc3MvYWdncmVnYXRlLXNvcnRlZC1kYXRhLXdpdGgtc3RvcmFnZS1hY2Nlc3MtZXhw
ZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc3RvcmFnZUFjY2Vzcy9hZ2dy
ZWdhdGUtc29ydGVkLWRhdGEtd2l0aC1zdG9yYWdlLWFjY2Vzcy1leHBlY3RlZC50eHQKQEAgLTE0
LDM1ICsxNCwzMSBAQCBSZWdpc3RyYWJsZSBkb21haW46IDEyNy4wLjAuMQogICAgIGhhZFVzZXJJ
bnRlcmFjdGlvbjogWWVzCiAgICAgbW9zdFJlY2VudFVzZXJJbnRlcmFjdGlvbjogd2l0aGluIDI0
IGhvdXJzCiAgICAgZ3JhbmRmYXRoZXJlZDogTm8KLSAgICB0b3BGcmFtZVVuaXF1ZVJlZGlyZWN0
c1RvOgorICAgIFRvcEZyYW1lVW5pcXVlUmVkaXJlY3RzVG86CiAgICAgICAgIGxvY2FsaG9zdAot
ICAgIHRvcEZyYW1lVW5pcXVlUmVkaXJlY3RzRnJvbToKKyAgICBUb3BGcmFtZVVuaXF1ZVJlZGly
ZWN0c0Zyb206CiAgICAgICAgIGxvY2FsaG9zdAotICAgIGdvdExpbmtEZWNvcmF0aW9uRnJvbVBy
ZXZhbGVudFJlc291cmNlOiBObworICAgIElzU2NoZWR1bGVkRm9yQWxsQnV0Q29va2llRGF0YVJl
bW92YWw6IE5vCiAgICAgaXNQcmV2YWxlbnRSZXNvdXJjZTogWWVzCiAgICAgaXNWZXJ5UHJldmFs
ZW50UmVzb3VyY2U6IE5vCiAgICAgZGF0YVJlY29yZHNSZW1vdmVkOiAwCi0gICAgY2FudmFzUmVh
ZERhdGE6IE5vCi0KIFJlZ2lzdHJhYmxlIGRvbWFpbjogbG9jYWxob3N0CiAgICAgaGFkVXNlcklu
dGVyYWN0aW9uOiBZZXMKICAgICBtb3N0UmVjZW50VXNlckludGVyYWN0aW9uOiB3aXRoaW4gMjQg
aG91cnMKICAgICBncmFuZGZhdGhlcmVkOiBObwotICAgIHN0b3JhZ2VBY2Nlc3NVbmRlclRvcEZy
YW1lRG9tYWluczoKKyAgICBTdG9yYWdlQWNjZXNzVW5kZXJUb3BGcmFtZURvbWFpbnM6CiAgICAg
ICAgIDEyNy4wLjAuMQotICAgIHRvcEZyYW1lVW5pcXVlUmVkaXJlY3RzVG86CisgICAgVG9wRnJh
bWVVbmlxdWVSZWRpcmVjdHNUbzoKICAgICAgICAgMTI3LjAuMC4xCi0gICAgdG9wRnJhbWVVbmlx
dWVSZWRpcmVjdHNGcm9tOgorICAgIFRvcEZyYW1lVW5pcXVlUmVkaXJlY3RzRnJvbToKICAgICAg
ICAgMTI3LjAuMC4xCi0gICAgZ290TGlua0RlY29yYXRpb25Gcm9tUHJldmFsZW50UmVzb3VyY2U6
IE5vCi0gICAgc3ViZnJhbWVVbmRlclRvcEZyYW1lRG9tYWluczoKKyAgICBJc1NjaGVkdWxlZEZv
ckFsbEJ1dENvb2tpZURhdGFSZW1vdmFsOiBObworICAgIFN1YmZyYW1lVW5kZXJUb3BGcmFtZURv
bWFpbnM6CiAgICAgICAgIDEyNy4wLjAuMQogICAgIGlzUHJldmFsZW50UmVzb3VyY2U6IFllcwog
ICAgIGlzVmVyeVByZXZhbGVudFJlc291cmNlOiBObwogICAgIGRhdGFSZWNvcmRzUmVtb3ZlZDog
MAotICAgIGNhbnZhc1JlYWREYXRhOiBObwotCiAKIElUUCBEYXRhOgogVGhpcmQgUGFydHkgUmVn
aXN0cmFibGUgRG9tYWluOiBsb2NhbGhvc3QKLSAgICB7eyBIYXMgYmVlbiBncmFudGVkIHN0b3Jh
Z2UgYWNjZXNzIHVuZGVyIDEyNy4wLjAuMTogMTsgSGFzIGJlZW4gc2VlbiB1bmRlciAxMjcuMC4w
LjEgaW4gdGhlIGxhc3QgMjQgaG91cnM6IDAgfSx9CisgICAge3sgSGFzIGJlZW4gZ3JhbnRlZCBz
dG9yYWdlIGFjY2VzcyB1bmRlciAxMjcuMC4wLjE6IDE7IEhhcyBiZWVuIHNlZW4gdW5kZXIgMTI3
LjAuMC4xIGluIHRoZSBsYXN0IDI0IGhvdXJzOiAxIH0sfQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy9zdG9yYWdlQWNjZXNzL2RlbnktZHVlLXRvLW5vLWludGVyYWN0aW9uLXVu
ZGVyLWdlbmVyYWwtdGhpcmQtcGFydHktY29va2llLWJsb2NraW5nLWRhdGFiYXNlLWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc3RvcmFnZUFjY2Vzcy9kZW55LWR1ZS10by1u
by1pbnRlcmFjdGlvbi11bmRlci1nZW5lcmFsLXRoaXJkLXBhcnR5LWNvb2tpZS1ibG9ja2luZy1k
YXRhYmFzZS1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDQxMTBj
N2U3ZDA1NDE0ODU2OWNjMjBlMjIyOTJjMGZhM2IyZDMzMDIuLjAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zdG9yYWdl
QWNjZXNzL2RlbnktZHVlLXRvLW5vLWludGVyYWN0aW9uLXVuZGVyLWdlbmVyYWwtdGhpcmQtcGFy
dHktY29va2llLWJsb2NraW5nLWRhdGFiYXNlLWV4cGVjdGVkLnR4dAorKysgL2Rldi9udWxsCkBA
IC0xLDEwICswLDAgQEAKLVRlc3RzIHRoYXQgYSBjcm9zcy1zaXRlIGlmcmFtZSBjYW4gbm90IHJl
cXVlc3Qgc3RvcmFnZSBhY2Nlc3MgdW5kZXIgZ2VuZXJhbCB0aGlyZC1wYXJ0eSBjb29raWUgYmxv
Y2tpbmcgaWYgaXQgaGFzIG5vdCByZWNlaXZlZCB1c2VyIGludGVyYWN0aW9uIGFzIGZpcnN0LXBh
cnR5LgotCi1PbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3Nh
Z2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCi0KLQotUEFTUyBTdG9yYWdlIGFjY2Vz
cyB3YXMgZGVuaWVkLiBkb2N1bWVudC5jb29raWUgPT0gLCBjb29raWVzIHNlZW4gc2VydmVyLXNp
ZGUgPT0gIk5vIGNvb2tpZXMiCi1QQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCi0KLVRF
U1QgQ09NUExFVEUKLQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zdG9yYWdl
QWNjZXNzL2RlbnktZHVlLXRvLW5vLWludGVyYWN0aW9uLXVuZGVyLWdlbmVyYWwtdGhpcmQtcGFy
dHktY29va2llLWJsb2NraW5nLWRhdGFiYXNlLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L3N0b3JhZ2VBY2Nlc3MvZGVueS1kdWUtdG8tbm8taW50ZXJhY3Rpb24tdW5kZXItZ2VuZXJhbC10
aGlyZC1wYXJ0eS1jb29raWUtYmxvY2tpbmctZGF0YWJhc2UuaHRtbApkZWxldGVkIGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMjVlNWM0OWZmOWNkNzdmYmU5NjA1Y2Y5NWZiNjMwOGE3ODM0YmFmOC4u
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL3N0b3JhZ2VBY2Nlc3MvZGVueS1kdWUtdG8tbm8taW50ZXJhY3Rpb24tdW5k
ZXItZ2VuZXJhbC10aGlyZC1wYXJ0eS1jb29raWUtYmxvY2tpbmctZGF0YWJhc2UuaHRtbAorKysg
L2Rldi9udWxsCkBAIC0xLDgxICswLDAgQEAKLTwhRE9DVFlQRSBodG1sPgotPGh0bWw+Ci08aGVh
ZD4KLSAgICA8c2NyaXB0IHNyYz0iL2pzLXRlc3QtcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2Ny
aXB0PgotICAgIDxzY3JpcHQgc3JjPSIvanMtdGVzdC1yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48
L3NjcmlwdD4KLSAgICA8c2NyaXB0IHNyYz0iL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvcmVzb3Vy
Y2VzL3V0aWwuanMiPjwvc2NyaXB0PgotICAgIDxzY3JpcHQ+Ci0gICAgICAgIGRlc2NyaXB0aW9u
KCJUZXN0cyB0aGF0IGEgY3Jvc3Mtc2l0ZSBpZnJhbWUgY2FuIG5vdCByZXF1ZXN0IHN0b3JhZ2Ug
YWNjZXNzIHVuZGVyIGdlbmVyYWwgdGhpcmQtcGFydHkgY29va2llIGJsb2NraW5nIGlmIGl0IGhh
cyBub3QgcmVjZWl2ZWQgdXNlciBpbnRlcmFjdGlvbiBhcyBmaXJzdC1wYXJ0eS4iKTsKLSAgICAg
ICAganNUZXN0SXNBc3luYyA9IHRydWU7Ci0gICAgICAgIHRlc3RSdW5uZXIuc2V0VXNlSVRQRGF0
YWJhc2UodHJ1ZSk7Ci0KLSAgICAgICAgY29uc3QgZmlyc3RQYXJ0eVVybCA9ICJodHRwOi8vMTI3
LjAuMC4xOjgwMDAiOwotICAgICAgICBjb25zdCB0aGlyZFBhcnR5VXJsID0gImh0dHA6Ly9sb2Nh
bGhvc3Q6ODAwMCI7Ci0KLSAgICAgICAgZnVuY3Rpb24gcmVjZWl2ZU1lc3NhZ2UoZXZlbnQpIHsK
LSAgICAgICAgICAgIGlmIChldmVudC5vcmlnaW4gPT09ICJodHRwOi8vbG9jYWxob3N0OjgwMDAi
KSB7Ci0gICAgICAgICAgICAgICAgaWYgKGV2ZW50LmRhdGEuaW5kZXhPZigiUEFTUyAiKSAhPT0g
LTEpCi0gICAgICAgICAgICAgICAgICAgIHRlc3RQYXNzZWQoZXZlbnQuZGF0YS5yZXBsYWNlKCJQ
QVNTICIsICIiKSk7Ci0gICAgICAgICAgICAgICAgZWxzZQotICAgICAgICAgICAgICAgICAgICB0
ZXN0RmFpbGVkKGV2ZW50LmRhdGEucmVwbGFjZSgiRkFJTCAiLCAiIikpOwotICAgICAgICAgICAg
fSBlbHNlCi0gICAgICAgICAgICAgICAgdGVzdEZhaWxlZCgiUmVjZWl2ZWQgYSBtZXNzYWdlIGZy
b20gYW4gdW5leHBlY3RlZCBvcmlnaW46ICIgKyBldmVudC5vcmlnaW4pOwotICAgICAgICAgICAg
dGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNzU2hvdWxkQmxvY2tUaGlyZFBhcnR5Q29va2llcyhmYWxz
ZSwgZnVuY3Rpb24oKSB7Ci0gICAgICAgICAgICAgICAgc2V0RW5hYmxlRmVhdHVyZShmYWxzZSwg
ZmluaXNoSlNUZXN0KTsKLSAgICAgICAgICAgIH0pOwotICAgICAgICB9Ci0KLSAgICAgICAgd2lu
ZG93LmFkZEV2ZW50TGlzdGVuZXIoIm1lc3NhZ2UiLCByZWNlaXZlTWVzc2FnZSwgZmFsc2UpOwot
Ci0gICAgICAgIGZ1bmN0aW9uIGFjdGl2YXRlRWxlbWVudChlbGVtZW50SWQpIHsKLSAgICAgICAg
ICAgIHZhciBlbGVtZW50ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoZWxlbWVudElkKTsKLSAg
ICAgICAgICAgIHZhciBjZW50ZXJYID0gZWxlbWVudC5vZmZzZXRMZWZ0ICsgZWxlbWVudC5vZmZz
ZXRXaWR0aCAvIDI7Ci0gICAgICAgICAgICB2YXIgY2VudGVyWSA9IGVsZW1lbnQub2Zmc2V0VG9w
ICsgZWxlbWVudC5vZmZzZXRIZWlnaHQgLyAyOwotICAgICAgICAgICAgVUlIZWxwZXIuYWN0aXZh
dGVBdChjZW50ZXJYLCBjZW50ZXJZKS50aGVuKAotICAgICAgICAgICAgICAgIGZ1bmN0aW9uICgp
IHsKLSAgICAgICAgICAgICAgICAgICAgaWYgKHdpbmRvdy5ldmVudFNlbmRlcikKLSAgICAgICAg
ICAgICAgICAgICAgICAgIGV2ZW50U2VuZGVyLmtleURvd24oImVzY2FwZSIpOwotICAgICAgICAg
ICAgICAgICAgICBlbHNlIHsKLSAgICAgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoIk5v
IGV2ZW50U2VuZGVyLiIpOwotICAgICAgICAgICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5zZXRT
dGF0aXN0aWNzU2hvdWxkQmxvY2tUaGlyZFBhcnR5Q29va2llcyhmYWxzZSwgZnVuY3Rpb24oKSB7
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgc2V0RW5hYmxlRmVhdHVyZShmYWxzZSwgZmlu
aXNoSlNUZXN0KTsKLSAgICAgICAgICAgICAgICAgICAgICAgIH0pOwotICAgICAgICAgICAgICAg
ICAgICB9Ci0gICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICBmdW5jdGlvbiAoKSB7
Ci0gICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoIlByb21pc2UgcmVqZWN0ZWQuIik7Ci0g
ICAgICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc1Nob3VsZEJsb2NrVGhp
cmRQYXJ0eUNvb2tpZXMoZmFsc2UsIGZ1bmN0aW9uKCkgewotICAgICAgICAgICAgICAgICAgICAg
ICAgc2V0RW5hYmxlRmVhdHVyZShmYWxzZSwgZmluaXNoSlNUZXN0KTsKLSAgICAgICAgICAgICAg
ICAgICAgfSk7Ci0gICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgKTsKLSAgICAgICAgfQot
Ci0gICAgICAgIGZ1bmN0aW9uIHJ1blRlc3QoKSB7Ci0gICAgICAgICAgICBpZiAoZG9jdW1lbnQu
bG9jYXRpb24uaGFzaCAhPT0gIiNjb29raWVTZXQiKSB7Ci0gICAgICAgICAgICAgICAgc2V0RW5h
YmxlRmVhdHVyZSh0cnVlLCBmdW5jdGlvbigpIHsKLSAgICAgICAgICAgICAgICAgICAgZG9jdW1l
bnQubG9jYXRpb24uaHJlZiA9IHRoaXJkUGFydHlVcmwgKyAiL3N0b3JhZ2VBY2Nlc3MvcmVzb3Vy
Y2VzL3NldC1jb29raWUucGhwP25hbWU9Zmlyc3RQYXJ0eUNvb2tpZSZ2YWx1ZT12YWx1ZSMiICsg
Zmlyc3RQYXJ0eVVybCArICIvc3RvcmFnZUFjY2Vzcy9kZW55LWR1ZS10by1uby1pbnRlcmFjdGlv
bi11bmRlci1nZW5lcmFsLXRoaXJkLXBhcnR5LWNvb2tpZS1ibG9ja2luZy1kYXRhYmFzZS5odG1s
I2Nvb2tpZVNldCI7Ci0gICAgICAgICAgICAgICAgfSk7Ci0gICAgICAgICAgICB9IGVsc2Ugewot
ICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc1Nob3VsZEJsb2NrVGhpcmRQ
YXJ0eUNvb2tpZXModHJ1ZSwgZnVuY3Rpb24oKSB7Ci0gICAgICAgICAgICAgICAgICAgIGlmICh0
ZXN0UnVubmVyLmlzU3RhdGlzdGljc1ByZXZhbGVudFJlc291cmNlKHRoaXJkUGFydHlVcmwpKQot
ICAgICAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZCgiVGhpcmQtcGFydHkgc2V0IGFzIHBy
ZXZhbGVudCByZXNvdXJjZS4iKTsKLSAgICAgICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5zZXRT
dGF0aXN0aWNzSGFzSGFkVXNlckludGVyYWN0aW9uKGZpcnN0UGFydHlVcmwsIHRydWUsIGZ1bmN0
aW9uKCkgewotICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCF0ZXN0UnVubmVyLmlzU3RhdGlz
dGljc0hhc0hhZFVzZXJJbnRlcmFjdGlvbihmaXJzdFBhcnR5VXJsKSkKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICB0ZXN0RmFpbGVkKCJGaXJzdC1wYXJ0eSBkaWQgbm90IGdldCBsb2dnZWQg
Zm9yIHVzZXIgaW50ZXJhY3Rpb24uIik7Ci0gICAgICAgICAgICAgICAgICAgICAgICBsZXQgaWZy
YW1lRWxlbWVudCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImlmcmFtZSIpOwotICAgICAgICAg
ICAgICAgICAgICAgICAgaWZyYW1lRWxlbWVudC5vbmxvYWQgPSBmdW5jdGlvbigpIHsKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBhY3RpdmF0ZUVsZW1lbnQoIlRoZUlmcmFtZVRoYXRSZXF1
ZXN0c1N0b3JhZ2VBY2Nlc3MiKTsKLSAgICAgICAgICAgICAgICAgICAgICAgIH07Ci0gICAgICAg
ICAgICAgICAgICAgICAgICBpZnJhbWVFbGVtZW50LmlkID0gIlRoZUlmcmFtZVRoYXRSZXF1ZXN0
c1N0b3JhZ2VBY2Nlc3MiOwotICAgICAgICAgICAgICAgICAgICAgICAgaWZyYW1lRWxlbWVudC5z
cmMgPSAiaHR0cDovL2xvY2FsaG9zdDo4MDAwL3N0b3JhZ2VBY2Nlc3MvcmVzb3VyY2VzL3JlcXVl
c3Qtc3RvcmFnZS1hY2Nlc3MtaWZyYW1lLmh0bWwjdXNlclNob3VsZEdyYW50QWNjZXNzLHVzZXJT
aG91bGROb3RCZUNvbnN1bHRlZCxwb2xpY3lTaG91bGROb3RHcmFudEFjY2Vzcyxpc05vdFNhbWVP
cmlnaW5JZnJhbWUiOwotICAgICAgICAgICAgICAgICAgICAgICAgZG9jdW1lbnQuYm9keS5hcHBl
bmRDaGlsZChpZnJhbWVFbGVtZW50KTsKLSAgICAgICAgICAgICAgICAgICAgfSk7Ci0gICAgICAg
ICAgICAgICAgfSk7Ci0gICAgICAgICAgICB9Ci0gICAgICAgIH0KLSAgICA8L3NjcmlwdD4KLTwv
aGVhZD4KLTxib2R5IG9ubG9hZD0icnVuVGVzdCgpIj4KLTwvYm9keT4KLTwvaHRtbD4KXCBObyBu
ZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L3N0b3JhZ2VBY2Nlc3MvZGVueS1zdG9yYWdlLWFjY2Vzcy11bmRlci1vcGVuZXItZGF0YWJhc2Ut
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zdG9yYWdlQWNjZXNzL2Rlbnkt
c3RvcmFnZS1hY2Nlc3MtdW5kZXItb3BlbmVyLWRhdGFiYXNlLWV4cGVjdGVkLnR4dApkZWxldGVk
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMzY1ZmQ2ODFiNmQ2Y2RiZjljYjQxMGJiYWRmZTI4MTdm
ZTUxNjg4ZC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9M
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL3N0b3JhZ2VBY2Nlc3MvZGVueS1zdG9yYWdlLWFjY2Vzcy11
bmRlci1vcGVuZXItZGF0YWJhc2UtZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEsMTcg
KzAsMCBAQAotVGVzdHMgdGhhdCBhIGNyb3NzLW9yaWdpbiB3aW5kb3cgZnJvbSBhIHByZXZhbGVu
dCBkb21haW4gd2l0aG91dCB1c2VyIGludGVyYWN0aW9uIGlzIGRlbmllZCBzdG9yYWdlIGFjY2Vz
cyB1bmRlciBpdHMgb3BlbmVyLgotCi1PbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMg
b2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCi0KLQotUEFT
UyBDb29raWUgY3JlYXRlZC4KLVBBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKLQotVEVT
VCBDT01QTEVURQotCi0KLS0tLS0tLS0tCi1GcmFtZTogJzwhLS1mcmFtZTEtLT4nCi0tLS0tLS0t
LQotU2hvdWxkIG5vdCByZWNlaXZlIGZpcnN0LXBhcnR5IGNvb2tpZS4KLURpZCBub3QgcmVjZWl2
ZSBjb29raWUgbmFtZWQgJ2ZpcnN0UGFydHlDb29raWUnLgotQ2xpZW50LXNpZGUgZG9jdW1lbnQu
Y29va2llOgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zdG9yYWdlQWNjZXNz
L2Rlbnktc3RvcmFnZS1hY2Nlc3MtdW5kZXItb3BlbmVyLWRhdGFiYXNlLmh0bWwgYi9MYXlvdXRU
ZXN0cy9odHRwL3Rlc3RzL3N0b3JhZ2VBY2Nlc3MvZGVueS1zdG9yYWdlLWFjY2Vzcy11bmRlci1v
cGVuZXItZGF0YWJhc2UuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMjA5OTJk
ZGRkMjM1NWM0ZGQxNWI0ZGQzODRhNGM0ZmQ4MTc5Mjg2Mi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3N0b3JhZ2VB
Y2Nlc3MvZGVueS1zdG9yYWdlLWFjY2Vzcy11bmRlci1vcGVuZXItZGF0YWJhc2UuaHRtbAorKysg
L2Rldi9udWxsCkBAIC0xLDY1ICswLDAgQEAKLTwhRE9DVFlQRSBodG1sPgotPGh0bWw+Ci08aGVh
ZD4KLSAgICA8c2NyaXB0IHNyYz0iL2pzLXRlc3QtcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2Ny
aXB0PgotICAgIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9yZXNvdXJjZXMv
dXRpbC5qcyI+PC9zY3JpcHQ+Ci0gICAgPHNjcmlwdD4KLSAgICAgICAgZGVzY3JpcHRpb24oIlRl
c3RzIHRoYXQgYSBjcm9zcy1vcmlnaW4gd2luZG93IGZyb20gYSBwcmV2YWxlbnQgZG9tYWluIHdp
dGhvdXQgdXNlciBpbnRlcmFjdGlvbiBpcyBkZW5pZWQgc3RvcmFnZSBhY2Nlc3MgdW5kZXIgaXRz
IG9wZW5lci4iKTsKLSAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7Ci0gICAgICAgIHRlc3RS
dW5uZXIuc2V0VXNlSVRQRGF0YWJhc2UodHJ1ZSk7Ci0gICAgICAgIHdpbmRvdy5hZGRFdmVudExp
c3RlbmVyKCJtZXNzYWdlIiwgcmVjZWl2ZU1lc3NhZ2UsIGZhbHNlKTsKLQotICAgICAgICBmdW5j
dGlvbiBmaW5pc2hUZXN0KCkgewotICAgICAgICAgICAgc2V0RW5hYmxlRmVhdHVyZShmYWxzZSwg
ZmluaXNoSlNUZXN0KTsKLSAgICAgICAgfQotCi0gICAgICAgIGZ1bmN0aW9uIG9wZW5JZnJhbWUo
dXJsLCBvbkxvYWRIYW5kbGVyKSB7Ci0gICAgICAgICAgICBjb25zdCBlbGVtZW50ID0gZG9jdW1l
bnQuY3JlYXRlRWxlbWVudCgiaWZyYW1lIik7Ci0gICAgICAgICAgICBlbGVtZW50LnNyYyA9IHVy
bDsKLSAgICAgICAgICAgIGlmIChvbkxvYWRIYW5kbGVyKSB7Ci0gICAgICAgICAgICAgICAgZWxl
bWVudC5vbmxvYWQgPSBvbkxvYWRIYW5kbGVyOwotICAgICAgICAgICAgfQotICAgICAgICAgICAg
ZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChlbGVtZW50KTsKLSAgICAgICAgfQotCi0gICAgICAg
IGZ1bmN0aW9uIHJlY2VpdmVNZXNzYWdlKGV2ZW50KSB7Ci0gICAgICAgICAgICBpZiAoZXZlbnQu
b3JpZ2luID09PSAiaHR0cDovL2xvY2FsaG9zdDo4MDAwIikgewotICAgICAgICAgICAgICAgIGlm
IChldmVudC5kYXRhLmluZGV4T2YoIlBBU1MiKSAhPT0gLTEpCi0gICAgICAgICAgICAgICAgICAg
IHRlc3RQYXNzZWQoZXZlbnQuZGF0YS5yZXBsYWNlKCJQQVNTICIsICIiKSk7Ci0gICAgICAgICAg
ICAgICAgZWxzZQotICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGV2ZW50LmRhdGEpOwot
ICAgICAgICAgICAgfSBlbHNlCi0gICAgICAgICAgICAgICAgdGVzdEZhaWxlZCgiUmVjZWl2ZWQg
YSBtZXNzYWdlIGZyb20gYW4gdW5leHBlY3RlZCBvcmlnaW46ICIgKyBldmVudC5vcmlnaW4pOwot
Ci0gICAgICAgICAgICBuZXdXaW4uY2xvc2UoKTsKLSAgICAgICAgICAgIG9wZW5JZnJhbWUodGhp
cmRQYXJ0eUJhc2VVcmwgKyBzdWJQYXRoVG9HZXRDb29raWVzICsgIiZtZXNzYWdlPVNob3VsZCBu
b3QgcmVjZWl2ZSBmaXJzdC1wYXJ0eSBjb29raWUuIiwgZmluaXNoVGVzdCk7Ci0gICAgICAgIH0K
LQotICAgICAgICBjb25zdCB0aGlyZFBhcnR5T3JpZ2luID0gImh0dHA6Ly9sb2NhbGhvc3Q6ODAw
MCI7Ci0gICAgICAgIGNvbnN0IHJlc291cmNlUGF0aCA9ICIvc3RvcmFnZUFjY2Vzcy9yZXNvdXJj
ZXMiOwotICAgICAgICBjb25zdCB0aGlyZFBhcnR5QmFzZVVybCA9IHRoaXJkUGFydHlPcmlnaW4g
KyByZXNvdXJjZVBhdGg7Ci0gICAgICAgIGNvbnN0IGZpcnN0UGFydHlDb29raWVOYW1lID0gImZp
cnN0UGFydHlDb29raWUiOwotICAgICAgICBjb25zdCBzdWJQYXRoVG9HZXRDb29raWVzID0gIi9n
ZXQtY29va2llcy5waHA/bmFtZTE9IiArIGZpcnN0UGFydHlDb29raWVOYW1lOwotCi0gICAgICAg
IGxldCBuZXdXaW47Ci0gICAgICAgIHNldEVuYWJsZUZlYXR1cmUodHJ1ZSwgZnVuY3Rpb24oKSB7
Ci0gICAgICAgICAgICB0ZXN0UnVubmVyLnNldENhbk9wZW5XaW5kb3dzKCk7Ci0KLSAgICAgICAg
ICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc1ByZXZhbGVudFJlc291cmNlKHRoaXJkUGFydHlP
cmlnaW4sIHRydWUsIGZ1bmN0aW9uKCkgewotICAgICAgICAgICAgICAgIGlmICghdGVzdFJ1bm5l
ci5pc1N0YXRpc3RpY3NQcmV2YWxlbnRSZXNvdXJjZSh0aGlyZFBhcnR5T3JpZ2luKSkKLSAgICAg
ICAgICAgICAgICAgICAgdGVzdEZhaWxlZCgiSG9zdCBkaWQgbm90IGdldCBzZXQgYXMgcHJldmFs
ZW50IHJlc291cmNlLiIpOwotICAgICAgICAgICAgICAgIGlmICh0ZXN0UnVubmVyLmlzU3RhdGlz
dGljc0hhc0hhZFVzZXJJbnRlcmFjdGlvbih0aGlyZFBhcnR5T3JpZ2luKSkKLSAgICAgICAgICAg
ICAgICAgICAgdGVzdEZhaWxlZCgiSG9zdCBsb2dnZWQgZm9yIHVzZXIgaW50ZXJhY3Rpb24uIik7
Ci0gICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5kdW1wQ2hpbGRGcmFtZXNBc1RleHQoKTsKLSAg
ICAgICAgICAgICAgICB0ZXN0UnVubmVyLnNldENsb3NlUmVtYWluaW5nV2luZG93c1doZW5Db21w
bGV0ZSh0cnVlKTsKLQotICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIuc3RhdGlzdGljc1VwZGF0
ZUNvb2tpZUJsb2NraW5nKGZ1bmN0aW9uICgpIHsKLSAgICAgICAgICAgICAgICAgICAgbmV3V2lu
ID0gd2luZG93Lm9wZW4odGhpcmRQYXJ0eU9yaWdpbiArICIvc3RvcmFnZUFjY2Vzcy9yZXNvdXJj
ZXMvc2V0LWNvb2tpZS1hbmQtcmVwb3J0LWJhY2suaHRtbCIsICJ0ZXN0V2luZG93Iik7Ci0gICAg
ICAgICAgICAgICAgfSk7Ci0gICAgICAgICAgICB9KTsKLSAgICAgICAgfSk7Ci0gICAgPC9zY3Jp
cHQ+Ci08L2hlYWQ+Ci08Ym9keT4KLTwvYm9keT4KLTwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2h0dHAvdGVzdHMvc3RvcmFnZUFjY2Vzcy9kZW55LXN0b3JhZ2UtYWNjZXNzLXVuZGVy
LW9wZW5lci1pZi1hdXRvLWRpc21pc3MtZGF0YWJhc2UtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy9zdG9yYWdlQWNjZXNzL2Rlbnktc3RvcmFnZS1hY2Nlc3MtdW5kZXItb3Bl
bmVyLWlmLWF1dG8tZGlzbWlzcy1kYXRhYmFzZS1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDA3ZDdlYTY0YzkyZDY0ODdmNzVjYzNjNGM0NDA0Zjk1MGE5YzQzNzgu
LjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy9zdG9yYWdlQWNjZXNzL2Rlbnktc3RvcmFnZS1hY2Nlc3MtdW5kZXItb3Bl
bmVyLWlmLWF1dG8tZGlzbWlzcy1kYXRhYmFzZS1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApA
QCAtMSwxNyArMCwwIEBACi1UZXN0cyB0aGF0IGEgY3Jvc3Mtb3JpZ2luIHdpbmRvdyBmcm9tIGEg
cHJldmFsZW50IGRvbWFpbiB3aXRoIG5vbi1yZWNlbnQgdXNlciBpbnRlcmFjdGlvbiBkb2Vzbid0
IGdldCBzdG9yYWdlIGFjY2VzcyB1bmRlciBpdHMgb3BlbmVyIGlmIGl0IGp1c3QgbG9hZHMgYW5k
IGF1dG8tZGlzbWlzc2VzLgotCi1PbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2Yg
IlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCi0KLQotUEFTUyBD
b29raWUgY3JlYXRlZC4KLVBBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKLQotVEVTVCBD
T01QTEVURQotCi0KLS0tLS0tLS0tCi1GcmFtZTogJzwhLS1mcmFtZTEtLT4nCi0tLS0tLS0tLQot
U2hvdWxkIG5vdCByZWNlaXZlIGZpcnN0LXBhcnR5IGNvb2tpZS4KLURpZCBub3QgcmVjZWl2ZSBj
b29raWUgbmFtZWQgJ2ZpcnN0UGFydHlDb29raWUnLgotQ2xpZW50LXNpZGUgZG9jdW1lbnQuY29v
a2llOgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zdG9yYWdlQWNjZXNzL2Rl
bnktc3RvcmFnZS1hY2Nlc3MtdW5kZXItb3BlbmVyLWlmLWF1dG8tZGlzbWlzcy1kYXRhYmFzZS5o
dG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zdG9yYWdlQWNjZXNzL2Rlbnktc3RvcmFnZS1h
Y2Nlc3MtdW5kZXItb3BlbmVyLWlmLWF1dG8tZGlzbWlzcy1kYXRhYmFzZS5odG1sCmRlbGV0ZWQg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAxNTYyNWU2MzVmOTQ4Y2RiYmM1YjM2MDFmNjM1YzU4MDc0
Y2VmYTFlLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xh
eW91dFRlc3RzL2h0dHAvdGVzdHMvc3RvcmFnZUFjY2Vzcy9kZW55LXN0b3JhZ2UtYWNjZXNzLXVu
ZGVyLW9wZW5lci1pZi1hdXRvLWRpc21pc3MtZGF0YWJhc2UuaHRtbAorKysgL2Rldi9udWxsCkBA
IC0xLDcwICswLDAgQEAKLTwhRE9DVFlQRSBodG1sPgotPGh0bWw+Ci08aGVhZD4KLSAgICA8c2Ny
aXB0IHNyYz0iL2pzLXRlc3QtcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgotICAgIDxz
Y3JpcHQgc3JjPSIvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9yZXNvdXJjZXMvdXRpbC5qcyI+PC9z
Y3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keSBvbmxvYWQ9InJ1bigpIj4KLTxzY3JpcHQ+Ci0gICAgZGVz
Y3JpcHRpb24oIlRlc3RzIHRoYXQgYSBjcm9zcy1vcmlnaW4gd2luZG93IGZyb20gYSBwcmV2YWxl
bnQgZG9tYWluIHdpdGggbm9uLXJlY2VudCB1c2VyIGludGVyYWN0aW9uIGRvZXNuJ3QgZ2V0IHN0
b3JhZ2UgYWNjZXNzIHVuZGVyIGl0cyBvcGVuZXIgaWYgaXQganVzdCBsb2FkcyBhbmQgYXV0by1k
aXNtaXNzZXMuIik7Ci0gICAganNUZXN0SXNBc3luYyA9IHRydWU7Ci0KLSAgICBmdW5jdGlvbiBm
aW5pc2hUZXN0KCkgewotICAgICAgICBzZXRFbmFibGVGZWF0dXJlKGZhbHNlLCBmaW5pc2hKU1Rl
c3QpOwotICAgIH0KLQotICAgIGZ1bmN0aW9uIG9wZW5JZnJhbWUodXJsLCBvbkxvYWRIYW5kbGVy
KSB7Ci0gICAgICAgIGNvbnN0IGVsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJpZnJh
bWUiKTsKLSAgICAgICAgZWxlbWVudC5zcmMgPSB1cmw7Ci0gICAgICAgIGlmIChvbkxvYWRIYW5k
bGVyKSB7Ci0gICAgICAgICAgICBlbGVtZW50Lm9ubG9hZCA9IG9uTG9hZEhhbmRsZXI7Ci0gICAg
ICAgIH0KLSAgICAgICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChlbGVtZW50KTsKLSAgICB9
Ci0KLSAgICBmdW5jdGlvbiByZWNlaXZlTWVzc2FnZShldmVudCkgewotICAgICAgICBpZiAoZXZl
bnQub3JpZ2luID09PSAiaHR0cDovL2xvY2FsaG9zdDo4MDAwIikgewotICAgICAgICAgICAgaWYg
KGV2ZW50LmRhdGEuaW5kZXhPZigiUEFTUyIpICE9PSAtMSkKLSAgICAgICAgICAgICAgICB0ZXN0
UGFzc2VkKGV2ZW50LmRhdGEucmVwbGFjZSgiUEFTUyAiLCAiIikpOwotICAgICAgICAgICAgZWxz
ZQotICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoZXZlbnQuZGF0YSk7Ci0gICAgICAgIH0gZWxz
ZQotICAgICAgICAgICAgdGVzdEZhaWxlZCgiUmVjZWl2ZWQgYSBtZXNzYWdlIGZyb20gYW4gdW5l
eHBlY3RlZCBvcmlnaW46ICIgKyBldmVudC5vcmlnaW4pOwotCi0gICAgICAgIG5ld1dpbi5jbG9z
ZSgpOwotICAgICAgICBvcGVuSWZyYW1lKHRoaXJkUGFydHlCYXNlVXJsICsgc3ViUGF0aFRvR2V0
Q29va2llcyArICImbWVzc2FnZT1TaG91bGQgbm90IHJlY2VpdmUgZmlyc3QtcGFydHkgY29va2ll
LiIsIGZpbmlzaFRlc3QpOwotICAgIH0KLQotICAgIGNvbnN0IHRoaXJkUGFydHlPcmlnaW4gPSAi
aHR0cDovL2xvY2FsaG9zdDo4MDAwIjsKLSAgICBjb25zdCByZXNvdXJjZVBhdGggPSAiL3N0b3Jh
Z2VBY2Nlc3MvcmVzb3VyY2VzIjsKLSAgICBjb25zdCB0aGlyZFBhcnR5QmFzZVVybCA9IHRoaXJk
UGFydHlPcmlnaW4gKyByZXNvdXJjZVBhdGg7Ci0gICAgY29uc3QgZmlyc3RQYXJ0eUNvb2tpZU5h
bWUgPSAiZmlyc3RQYXJ0eUNvb2tpZSI7Ci0gICAgY29uc3Qgc3ViUGF0aFRvR2V0Q29va2llcyA9
ICIvZ2V0LWNvb2tpZXMucGhwP25hbWUxPSIgKyBmaXJzdFBhcnR5Q29va2llTmFtZTsKLSAgICB2
YXIgbmV3V2luOwotCi0gICAgZnVuY3Rpb24gcnVuKCkgewotICAgICAgICB0ZXN0UnVubmVyLnNl
dFVzZUlUUERhdGFiYXNlKHRydWUpOwotICAgICAgICBzZXRFbmFibGVGZWF0dXJlKHRydWUsIGZ1
bmN0aW9uKCkgewotICAgICAgICAgICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoIm1lc3NhZ2Ui
LCByZWNlaXZlTWVzc2FnZSwgZmFsc2UpOwotCi0gICAgICAgICAgICB0ZXN0UnVubmVyLnNldENh
bk9wZW5XaW5kb3dzKCk7Ci0KLSAgICAgICAgICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc1By
ZXZhbGVudFJlc291cmNlKHRoaXJkUGFydHlPcmlnaW4sIHRydWUsIGZ1bmN0aW9uKCkgewotICAg
ICAgICAgICAgICAgIGlmICghdGVzdFJ1bm5lci5pc1N0YXRpc3RpY3NQcmV2YWxlbnRSZXNvdXJj
ZSh0aGlyZFBhcnR5T3JpZ2luKSkKLSAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZCgiSG9z
dCBkaWQgbm90IGdldCBzZXQgYXMgcHJldmFsZW50IHJlc291cmNlLiIpOwotICAgICAgICAgICAg
ICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc0hhc0hhZFVzZXJJbnRlcmFjdGlvbih0aGlyZFBh
cnR5T3JpZ2luLCB0cnVlLCBmdW5jdGlvbigpIHsKLSAgICAgICAgICAgICAgICAgICAgaWYgKCF0
ZXN0UnVubmVyLmlzU3RhdGlzdGljc0hhc0hhZFVzZXJJbnRlcmFjdGlvbih0aGlyZFBhcnR5T3Jp
Z2luKSkKLSAgICAgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoIkhvc3QgZGlkIG5vdCBn
ZXQgbG9nZ2VkIGZvciB1c2VyIGludGVyYWN0aW9uLiIpOwotICAgICAgICAgICAgICAgICAgICB0
ZXN0UnVubmVyLmR1bXBDaGlsZEZyYW1lc0FzVGV4dCgpOwotICAgICAgICAgICAgICAgICAgICB0
ZXN0UnVubmVyLnNldENsb3NlUmVtYWluaW5nV2luZG93c1doZW5Db21wbGV0ZSh0cnVlKTsKLQot
ICAgICAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLnN0YXRpc3RpY3NVcGRhdGVDb29raWVCbG9j
a2luZyhmdW5jdGlvbiAoKSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICBuZXdXaW4gPSB3aW5k
b3cub3Blbih0aGlyZFBhcnR5T3JpZ2luICsgIi9zdG9yYWdlQWNjZXNzL3Jlc291cmNlcy9zZXQt
Y29va2llLWFuZC1yZXBvcnQtYmFjay5odG1sIiwgInRlc3RXaW5kb3ciKTsKLSAgICAgICAgICAg
ICAgICAgICAgfSk7Ci0gICAgICAgICAgICAgICAgfSk7Ci0gICAgICAgICAgICB9KTsKLSAgICAg
ICAgfSk7Ci0gICAgfQotPC9zY3JpcHQ+Ci08L2JvZHk+Ci08L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL3N0b3JhZ2VBY2Nlc3MvZGVueS13aXRoLXByb21wdC1kb2Vz
LW5vdC1wcmVzZXJ2ZS1nZXN0dXJlLWRhdGFiYXNlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2h0dHAvdGVzdHMvc3RvcmFnZUFjY2Vzcy9kZW55LXdpdGgtcHJvbXB0LWRvZXMtbm90LXByZXNl
cnZlLWdlc3R1cmUtZGF0YWJhc2UtZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCA3YWQyMTA4Y2JiMzNmNTBlOGRmZTRiMjk4NTMxOTYxNzU1MzdlZmRhLi4wMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2h0dHAv
dGVzdHMvc3RvcmFnZUFjY2Vzcy9kZW55LXdpdGgtcHJvbXB0LWRvZXMtbm90LXByZXNlcnZlLWdl
c3R1cmUtZGF0YWJhc2UtZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEsMTAgKzAsMCBA
QAotVGVzdHMgdGhhdCBhIGNyb3NzLW9yaWdpbiBpZnJhbWUgY2FuIG5vdCBvcGVuIGEgd2luZG93
IGlmIHN0b3JhZ2UgYWNjZXNzIGlzIGV4cGxpY2l0bHkgZGVuaWVkLgotCi1PbiBzdWNjZXNzLCB5
b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVT
VCBDT01QTEVURSIuCi0KLQotUEFTUyBXaW5kb3cgd2FzIHN1Y2Nlc3NmdWxseSBvcGVuZWQgd2l0
aCB1c2VyIGludGVyYWN0aW9uIHNpbmNlIHRoZSB1c2VyIHdhcyBuZXZlciBjb25zdWx0ZWQvcHJv
bXB0ZWQuCi1QQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCi0KLVRFU1QgQ09NUExFVEUK
LQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zdG9yYWdlQWNjZXNzL2Rlbnkt
d2l0aC1wcm9tcHQtZG9lcy1ub3QtcHJlc2VydmUtZ2VzdHVyZS1kYXRhYmFzZS5odG1sIGIvTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy9zdG9yYWdlQWNjZXNzL2Rlbnktd2l0aC1wcm9tcHQtZG9lcy1u
b3QtcHJlc2VydmUtZ2VzdHVyZS1kYXRhYmFzZS5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCBmZGUwNzY2ZmJiMWRlOTZlZTZmNDY2YTljODMxZjJjZDhmOTRiODZlLi4wMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2h0dHAv
dGVzdHMvc3RvcmFnZUFjY2Vzcy9kZW55LXdpdGgtcHJvbXB0LWRvZXMtbm90LXByZXNlcnZlLWdl
c3R1cmUtZGF0YWJhc2UuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDc1ICswLDAgQEAKLTwhRE9D
VFlQRSBodG1sPgotPGh0bWw+Ci08aGVhZD4KLSAgICA8c2NyaXB0IHNyYz0iL2pzLXRlc3QtcmVz
b3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgotICAgIDxzY3JpcHQgc3JjPSIvanMtdGVzdC1y
ZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KLSAgICA8c2NyaXB0IHNyYz0iL3Jlc291
cmNlTG9hZFN0YXRpc3RpY3MvcmVzb3VyY2VzL3V0aWwuanMiPjwvc2NyaXB0PgotICAgIDxzY3Jp
cHQ+Ci0gICAgICAgIGRlc2NyaXB0aW9uKCJUZXN0cyB0aGF0IGEgY3Jvc3Mtb3JpZ2luIGlmcmFt
ZSBjYW4gbm90IG9wZW4gYSB3aW5kb3cgaWYgc3RvcmFnZSBhY2Nlc3MgaXMgZXhwbGljaXRseSBk
ZW5pZWQuIik7Ci0gICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOwotCi0gICAgICAgIGNvbnN0
IGhvc3RVbmRlclRlc3QgPSAibG9jYWxob3N0OjgwMDAiOwotICAgICAgICBjb25zdCBzdGF0aXN0
aWNzVXJsID0gImh0dHA6Ly8iICsgaG9zdFVuZGVyVGVzdCArICIvdGVtcCI7Ci0KLSAgICAgICAg
d2luZG93LmFkZEV2ZW50TGlzdGVuZXIoIm1lc3NhZ2UiLCByZWNlaXZlTWVzc2FnZSwgZmFsc2Up
OwotCi0gICAgICAgIGZ1bmN0aW9uIHJlY2VpdmVNZXNzYWdlKGV2ZW50KSB7Ci0gICAgICAgICAg
ICBpZiAoZXZlbnQub3JpZ2luID09PSAiaHR0cDovL2xvY2FsaG9zdDo4MDAwIikgewotICAgICAg
ICAgICAgICAgIGlmIChldmVudC5kYXRhLmluZGV4T2YoIlBBU1MgIikgIT09IC0xKQotICAgICAg
ICAgICAgICAgICAgICB0ZXN0UGFzc2VkKGV2ZW50LmRhdGEucmVwbGFjZSgiUEFTUyAiLCAiIikp
OwotICAgICAgICAgICAgICAgIGVsc2UKLSAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChl
dmVudC5kYXRhLnJlcGxhY2UoIkZBSUwgIiwgIiIpKTsKLSAgICAgICAgICAgIH0gZWxzZQotICAg
ICAgICAgICAgICAgIHRlc3RGYWlsZWQoIlJlY2VpdmVkIGEgbWVzc2FnZSBmcm9tIGFuIHVuZXhw
ZWN0ZWQgb3JpZ2luOiAiICsgZXZlbnQub3JpZ2luKTsKLSAgICAgICAgICAgIHNldEVuYWJsZUZl
YXR1cmUoZmFsc2UsIGZpbmlzaEpTVGVzdCk7Ci0gICAgICAgIH0KLQotICAgICAgICBmdW5jdGlv
biBhY3RpdmF0ZUVsZW1lbnQoZWxlbWVudElkKSB7Ci0gICAgICAgICAgICB2YXIgZWxlbWVudCA9
IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGVsZW1lbnRJZCk7Ci0gICAgICAgICAgICB2YXIgY2Vu
dGVyWCA9IGVsZW1lbnQub2Zmc2V0TGVmdCArIGVsZW1lbnQub2Zmc2V0V2lkdGggLyAyOwotICAg
ICAgICAgICAgdmFyIGNlbnRlclkgPSBlbGVtZW50Lm9mZnNldFRvcCArIGVsZW1lbnQub2Zmc2V0
SGVpZ2h0IC8gMjsKLSAgICAgICAgICAgIFVJSGVscGVyLmFjdGl2YXRlQXQoY2VudGVyWCwgY2Vu
dGVyWSkudGhlbigKLSAgICAgICAgICAgICAgICBmdW5jdGlvbiAoKSB7Ci0gICAgICAgICAgICAg
ICAgICAgIGlmICh3aW5kb3cuZXZlbnRTZW5kZXIpCi0gICAgICAgICAgICAgICAgICAgICAgICBl
dmVudFNlbmRlci5rZXlEb3duKCJlc2NhcGUiKTsKLSAgICAgICAgICAgICAgICAgICAgZWxzZSB7
Ci0gICAgICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKCJObyBldmVudFNlbmRlci4iKTsK
LSAgICAgICAgICAgICAgICAgICAgICAgIHNldEVuYWJsZUZlYXR1cmUoZmFsc2UsIGZpbmlzaEpT
VGVzdCk7Ci0gICAgICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICB9LAotICAgICAg
ICAgICAgICAgIGZ1bmN0aW9uICgpIHsKLSAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZCgi
UHJvbWlzZSByZWplY3RlZC4iKTsKLSAgICAgICAgICAgICAgICAgICAgc2V0RW5hYmxlRmVhdHVy
ZShmYWxzZSwgZmluaXNoSlNUZXN0KTsKLSAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAp
OwotICAgICAgICB9Ci0KLSAgICAgICAgZnVuY3Rpb24gcnVuVGVzdCgpIHsKLSAgICAgICAgICAg
IHRlc3RSdW5uZXIuc2V0VXNlSVRQRGF0YWJhc2UodHJ1ZSk7Ci0gICAgICAgICAgICBzZXRFbmFi
bGVGZWF0dXJlKHRydWUsIGZ1bmN0aW9uKCkgewotICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIu
c2V0Q2FuT3BlbldpbmRvd3MoZmFsc2UpOwotICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIuc2V0
UG9wdXBCbG9ja2luZ0VuYWJsZWQodHJ1ZSk7Ci0gICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5z
ZXRTdGF0aXN0aWNzUHJldmFsZW50UmVzb3VyY2Uoc3RhdGlzdGljc1VybCwgdHJ1ZSwgZnVuY3Rp
b24oKSB7Ci0gICAgICAgICAgICAgICAgICAgIGlmICghdGVzdFJ1bm5lci5pc1N0YXRpc3RpY3NQ
cmV2YWxlbnRSZXNvdXJjZShzdGF0aXN0aWNzVXJsKSkKLSAgICAgICAgICAgICAgICAgICAgICAg
IHRlc3RGYWlsZWQoIkhvc3QgZGlkIG5vdCBnZXQgc2V0IGFzIHByZXZhbGVudCByZXNvdXJjZS4i
KTsKLSAgICAgICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNzSGFzSGFkVXNl
ckludGVyYWN0aW9uKHN0YXRpc3RpY3NVcmwsIHRydWUsIGZ1bmN0aW9uKCkgewotICAgICAgICAg
ICAgICAgICAgICAgICAgaWYgKCF0ZXN0UnVubmVyLmlzU3RhdGlzdGljc0hhc0hhZFVzZXJJbnRl
cmFjdGlvbihzdGF0aXN0aWNzVXJsKSkKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICB0ZXN0
RmFpbGVkKCJIb3N0IGRpZCBub3QgZ2V0IGxvZ2dlZCBmb3IgdXNlciBpbnRlcmFjdGlvbi4iKTsK
LSAgICAgICAgICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIuc3RhdGlzdGljc1VwZGF0ZUNvb2tp
ZUJsb2NraW5nKGZ1bmN0aW9uKCkgewotICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxldCBp
ZnJhbWVFbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiaWZyYW1lIik7Ci0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgaWZyYW1lRWxlbWVudC5vbmxvYWQgPSBmdW5jdGlvbigpIHsK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYWN0aXZhdGVFbGVtZW50KCJUaGVJZnJh
bWVUaGF0UmVxdWVzdHNTdG9yYWdlQWNjZXNzIik7Ci0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgfTsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZnJhbWVFbGVtZW50LmlkID0gIlRo
ZUlmcmFtZVRoYXRSZXF1ZXN0c1N0b3JhZ2VBY2Nlc3MiOwotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGlmcmFtZUVsZW1lbnQuc3JjID0gImh0dHA6Ly9sb2NhbGhvc3Q6ODAwMC9zdG9yYWdl
QWNjZXNzL3Jlc291cmNlcy9yZXF1ZXN0LXN0b3JhZ2UtYWNjZXNzLWlmcmFtZS1hbmQtcG9wLXdp
bmRvdy5odG1sI3VzZXJTaG91bGROb3RHcmFudEFjY2Vzcyx1c2VyU2hvdWxkQmVDb25zdWx0ZWQs
cG9saWN5U2hvdWxkTm90R3JhbnRBY2Nlc3MsaXNOb3RTYW1lT3JpZ2luSWZyYW1lIjsKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGlmcmFtZUVs
ZW1lbnQpOwotICAgICAgICAgICAgICAgICAgICAgICAgfSk7Ci0gICAgICAgICAgICAgICAgICAg
IH0pOwotICAgICAgICAgICAgICAgIH0pOwotICAgICAgICAgICAgfSk7Ci0gICAgICAgIH0KLSAg
ICA8L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5IG9ubG9hZD0icnVuVGVzdCgpIj4KLTwvYm9keT4K
LTwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc3RvcmFnZUFjY2Vz
cy9kZW55LXdpdGhvdXQtcHJvbXB0LXByZXNlcnZlcy1nZXN0dXJlLWRhdGFiYXNlLWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc3RvcmFnZUFjY2Vzcy9kZW55LXdpdGhvdXQt
cHJvbXB0LXByZXNlcnZlcy1nZXN0dXJlLWRhdGFiYXNlLWV4cGVjdGVkLnR4dApkZWxldGVkIGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggNDRhZmRlMzRkNzQyNjNjYzUyZWJmY2Q2NDM3MTE2MTYwMWY2
MzIxMC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL3N0b3JhZ2VBY2Nlc3MvZGVueS13aXRob3V0LXByb21wdC1wcmVz
ZXJ2ZXMtZ2VzdHVyZS1kYXRhYmFzZS1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSwx
MCArMCwwIEBACi1UZXN0cyB0aGF0IGEgY3Jvc3Mtb3JpZ2luIGlmcmFtZSBjYW4gb3BlbiBhIHdp
bmRvdyBpZiBzdG9yYWdlIGFjY2VzcyBpcyBkZW5pZWQgd2l0aG91dCBwcm9tcHQuCi0KLU9uIHN1
Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2Vk
IGJ5ICJURVNUIENPTVBMRVRFIi4KLQotCi1QQVNTIFdpbmRvdyB3YXMgc3VjY2Vzc2Z1bGx5IG9w
ZW5lZCB3aXRoIHVzZXIgaW50ZXJhY3Rpb24gc2luY2UgdGhlIHVzZXIgd2FzIG5ldmVyIGNvbnN1
bHRlZC9wcm9tcHRlZC4KLVBBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKLQotVEVTVCBD
T01QTEVURQotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3N0b3JhZ2VBY2Nl
c3MvZGVueS13aXRob3V0LXByb21wdC1wcmVzZXJ2ZXMtZ2VzdHVyZS1kYXRhYmFzZS5odG1sIGIv
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zdG9yYWdlQWNjZXNzL2Rlbnktd2l0aG91dC1wcm9tcHQt
cHJlc2VydmVzLWdlc3R1cmUtZGF0YWJhc2UuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMTBjNjk1MGMxYmIzYWI5NTRjMWE2NmI2OTk1NjI4MDlkZWFhYzIxZS4uMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rl
c3RzL3N0b3JhZ2VBY2Nlc3MvZGVueS13aXRob3V0LXByb21wdC1wcmVzZXJ2ZXMtZ2VzdHVyZS1k
YXRhYmFzZS5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsNzUgKzAsMCBAQAotPCFET0NUWVBFIGh0
bWw+Ci08aHRtbD4KLTxoZWFkPgotICAgIDxzY3JpcHQgc3JjPSIvanMtdGVzdC1yZXNvdXJjZXMv
anMtdGVzdC5qcyI+PC9zY3JpcHQ+Ci0gICAgPHNjcmlwdCBzcmM9Ii9qcy10ZXN0LXJlc291cmNl
cy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgotICAgIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VMb2Fk
U3RhdGlzdGljcy9yZXNvdXJjZXMvdXRpbC5qcyI+PC9zY3JpcHQ+Ci0gICAgPHNjcmlwdD4KLSAg
ICAgICAgZGVzY3JpcHRpb24oIlRlc3RzIHRoYXQgYSBjcm9zcy1vcmlnaW4gaWZyYW1lIGNhbiBv
cGVuIGEgd2luZG93IGlmIHN0b3JhZ2UgYWNjZXNzIGlzIGRlbmllZCB3aXRob3V0IHByb21wdC4i
KTsKLSAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7Ci0KLSAgICAgICAgY29uc3QgaG9zdFVu
ZGVyVGVzdCA9ICJsb2NhbGhvc3Q6ODAwMCI7Ci0gICAgICAgIGNvbnN0IHN0YXRpc3RpY3NVcmwg
PSAiaHR0cDovLyIgKyBob3N0VW5kZXJUZXN0ICsgIi90ZW1wIjsKLQotICAgICAgICB3aW5kb3cu
YWRkRXZlbnRMaXN0ZW5lcigibWVzc2FnZSIsIHJlY2VpdmVNZXNzYWdlLCBmYWxzZSk7Ci0KLSAg
ICAgICAgZnVuY3Rpb24gcmVjZWl2ZU1lc3NhZ2UoZXZlbnQpIHsKLSAgICAgICAgICAgIGlmIChl
dmVudC5vcmlnaW4gPT09ICJodHRwOi8vbG9jYWxob3N0OjgwMDAiKSB7Ci0gICAgICAgICAgICAg
ICAgaWYgKGV2ZW50LmRhdGEuaW5kZXhPZigiUEFTUyAiKSAhPT0gLTEpCi0gICAgICAgICAgICAg
ICAgICAgIHRlc3RQYXNzZWQoZXZlbnQuZGF0YS5yZXBsYWNlKCJQQVNTICIsICIiKSk7Ci0gICAg
ICAgICAgICAgICAgZWxzZQotICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGV2ZW50LmRh
dGEucmVwbGFjZSgiRkFJTCAiLCAiIikpOwotICAgICAgICAgICAgfSBlbHNlCi0gICAgICAgICAg
ICAgICAgdGVzdEZhaWxlZCgiUmVjZWl2ZWQgYSBtZXNzYWdlIGZyb20gYW4gdW5leHBlY3RlZCBv
cmlnaW46ICIgKyBldmVudC5vcmlnaW4pOwotICAgICAgICAgICAgc2V0RW5hYmxlRmVhdHVyZShm
YWxzZSwgZmluaXNoSlNUZXN0KTsKLSAgICAgICAgfQotCi0gICAgICAgIGZ1bmN0aW9uIGFjdGl2
YXRlRWxlbWVudChlbGVtZW50SWQpIHsKLSAgICAgICAgICAgIHZhciBlbGVtZW50ID0gZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoZWxlbWVudElkKTsKLSAgICAgICAgICAgIHZhciBjZW50ZXJYID0g
ZWxlbWVudC5vZmZzZXRMZWZ0ICsgZWxlbWVudC5vZmZzZXRXaWR0aCAvIDI7Ci0gICAgICAgICAg
ICB2YXIgY2VudGVyWSA9IGVsZW1lbnQub2Zmc2V0VG9wICsgZWxlbWVudC5vZmZzZXRIZWlnaHQg
LyAyOwotICAgICAgICAgICAgVUlIZWxwZXIuYWN0aXZhdGVBdChjZW50ZXJYLCBjZW50ZXJZKS50
aGVuKAotICAgICAgICAgICAgICAgIGZ1bmN0aW9uICgpIHsKLSAgICAgICAgICAgICAgICAgICAg
aWYgKHdpbmRvdy5ldmVudFNlbmRlcikKLSAgICAgICAgICAgICAgICAgICAgICAgIGV2ZW50U2Vu
ZGVyLmtleURvd24oImVzY2FwZSIpOwotICAgICAgICAgICAgICAgICAgICBlbHNlIHsKLSAgICAg
ICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoIk5vIGV2ZW50U2VuZGVyLiIpOwotICAgICAg
ICAgICAgICAgICAgICAgICAgc2V0RW5hYmxlRmVhdHVyZShmYWxzZSwgZmluaXNoSlNUZXN0KTsK
LSAgICAgICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAg
ICAgZnVuY3Rpb24gKCkgewotICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKCJQcm9taXNl
IHJlamVjdGVkLiIpOwotICAgICAgICAgICAgICAgICAgICBzZXRFbmFibGVGZWF0dXJlKGZhbHNl
LCBmaW5pc2hKU1Rlc3QpOwotICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICk7Ci0gICAg
ICAgIH0KLQotICAgICAgICBmdW5jdGlvbiBydW5UZXN0KCkgewotICAgICAgICAgICAgdGVzdFJ1
bm5lci5zZXRVc2VJVFBEYXRhYmFzZSh0cnVlKTsKLSAgICAgICAgICAgIHNldEVuYWJsZUZlYXR1
cmUodHJ1ZSwgZnVuY3Rpb24oKSB7Ci0gICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5zZXRDYW5P
cGVuV2luZG93cyhmYWxzZSk7Ci0gICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5zZXRQb3B1cEJs
b2NraW5nRW5hYmxlZCh0cnVlKTsKLSAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLnNldFN0YXRp
c3RpY3NQcmV2YWxlbnRSZXNvdXJjZShzdGF0aXN0aWNzVXJsLCB0cnVlLCBmdW5jdGlvbigpIHsK
LSAgICAgICAgICAgICAgICAgICAgaWYgKCF0ZXN0UnVubmVyLmlzU3RhdGlzdGljc1ByZXZhbGVu
dFJlc291cmNlKHN0YXRpc3RpY3NVcmwpKQotICAgICAgICAgICAgICAgICAgICAgICAgdGVzdEZh
aWxlZCgiSG9zdCBkaWQgbm90IGdldCBzZXQgYXMgcHJldmFsZW50IHJlc291cmNlLiIpOwotICAg
ICAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NIYXNIYWRVc2VySW50ZXJh
Y3Rpb24oc3RhdGlzdGljc1VybCwgZmFsc2UsIGZ1bmN0aW9uKCkgewotICAgICAgICAgICAgICAg
ICAgICAgICAgaWYgKHRlc3RSdW5uZXIuaXNTdGF0aXN0aWNzSGFzSGFkVXNlckludGVyYWN0aW9u
KHN0YXRpc3RpY3NVcmwpKQotICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQo
Ikhvc3QgZGlkIGdldCBsb2dnZWQgZm9yIHVzZXIgaW50ZXJhY3Rpb24uIik7Ci0gICAgICAgICAg
ICAgICAgICAgICAgICB0ZXN0UnVubmVyLnN0YXRpc3RpY3NVcGRhdGVDb29raWVCbG9ja2luZyhm
dW5jdGlvbigpIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZXQgaWZyYW1lRWxlbWVu
dCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImlmcmFtZSIpOwotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGlmcmFtZUVsZW1lbnQub25sb2FkID0gZnVuY3Rpb24oKSB7Ci0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGFjdGl2YXRlRWxlbWVudCgiVGhlSWZyYW1lVGhhdFJlcXVl
c3RzU3RvcmFnZUFjY2VzcyIpOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgIH07Ci0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgaWZyYW1lRWxlbWVudC5pZCA9ICJUaGVJZnJhbWVUaGF0
UmVxdWVzdHNTdG9yYWdlQWNjZXNzIjsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZnJh
bWVFbGVtZW50LnNyYyA9ICJodHRwOi8vbG9jYWxob3N0OjgwMDAvc3RvcmFnZUFjY2Vzcy9yZXNv
dXJjZXMvcmVxdWVzdC1zdG9yYWdlLWFjY2Vzcy1pZnJhbWUtYW5kLXBvcC13aW5kb3cuaHRtbCN1
c2VyU2hvdWxkTm90R3JhbnRBY2Nlc3MsdXNlclNob3VsZE5vdEJlQ29uc3VsdGVkLHBvbGljeVNo
b3VsZE5vdEdyYW50QWNjZXNzLGlzTm90U2FtZU9yaWdpbklmcmFtZSI7Ci0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChpZnJhbWVFbGVtZW50KTsK
LSAgICAgICAgICAgICAgICAgICAgICAgIH0pOwotICAgICAgICAgICAgICAgICAgICB9KTsKLSAg
ICAgICAgICAgICAgICB9KTsKLSAgICAgICAgICAgIH0pOwotICAgICAgICB9Ci0gICAgPC9zY3Jp
cHQ+Ci08L2hlYWQ+Ci08Ym9keSBvbmxvYWQ9InJ1blRlc3QoKSI+Ci08L2JvZHk+Ci08L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3N0b3JhZ2VBY2Nlc3MvZ3JhbnQt
c3RvcmFnZS1hY2Nlc3MtdW5kZXItb3BlbmVyLWF0LXBvcHVwLXVzZXItZ2VzdHVyZS1kYXRhYmFz
ZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3N0b3JhZ2VBY2Nlc3MvZ3Jh
bnQtc3RvcmFnZS1hY2Nlc3MtdW5kZXItb3BlbmVyLWF0LXBvcHVwLXVzZXItZ2VzdHVyZS1kYXRh
YmFzZS1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGNjNjJiZmNk
ZTk4OTBiYWJiYzk5OGFhMDQ5ZWY4ZDk4ZjkwODIyMWYuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zdG9yYWdlQWNj
ZXNzL2dyYW50LXN0b3JhZ2UtYWNjZXNzLXVuZGVyLW9wZW5lci1hdC1wb3B1cC11c2VyLWdlc3R1
cmUtZGF0YWJhc2UtZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEsMTcgKzAsMCBAQAot
VGVzdHMgdGhhdCBhIGNyb3NzLW9yaWdpbiB3aW5kb3cgZnJvbSBhIHByZXZhbGVudCBkb21haW4g
d2l0aCBwcmV2aW91cyB1c2VyIGludGVyYWN0aW9uIGdldHMgc3RvcmFnZSBhY2Nlc3MgdW5kZXIg
aXRzIG9wZW5lciBpZiBpdCBnZXRzIHVzZXIgaW50ZXJhY3Rpb24uCi0KLU9uIHN1Y2Nlc3MsIHlv
dSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNU
IENPTVBMRVRFIi4KLQotCi1QQVNTIENvb2tpZSBjcmVhdGVkLgotUEFTUyBzdWNjZXNzZnVsbHlQ
YXJzZWQgaXMgdHJ1ZQotCi1URVNUIENPTVBMRVRFCi0KLQotLS0tLS0tLS0KLUZyYW1lOiAnPCEt
LWZyYW1lMS0tPicKLS0tLS0tLS0tCi1TaG91bGQgcmVjZWl2ZSBmaXJzdC1wYXJ0eSBjb29raWUu
Ci1SZWNlaXZlZCBjb29raWUgbmFtZWQgJ2ZpcnN0UGFydHlDb29raWUnLgotQ2xpZW50LXNpZGUg
ZG9jdW1lbnQuY29va2llOiBmaXJzdFBhcnR5Q29va2llPXZhbHVlCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL3N0b3JhZ2VBY2Nlc3MvZ3JhbnQtc3RvcmFnZS1hY2Nlc3MtdW5k
ZXItb3BlbmVyLWF0LXBvcHVwLXVzZXItZ2VzdHVyZS1kYXRhYmFzZS5odG1sIGIvTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy9zdG9yYWdlQWNjZXNzL2dyYW50LXN0b3JhZ2UtYWNjZXNzLXVuZGVyLW9w
ZW5lci1hdC1wb3B1cC11c2VyLWdlc3R1cmUtZGF0YWJhc2UuaHRtbApkZWxldGVkIGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggNDM0ODVmNTA3ZTYxOGYxYTcyOTM3NjUzYzE4ZDU0NzNhNmNiODIwNC4u
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL3N0b3JhZ2VBY2Nlc3MvZ3JhbnQtc3RvcmFnZS1hY2Nlc3MtdW5kZXItb3Bl
bmVyLWF0LXBvcHVwLXVzZXItZ2VzdHVyZS1kYXRhYmFzZS5odG1sCisrKyAvZGV2L251bGwKQEAg
LTEsNzAgKzAsMCBAQAotPCFET0NUWVBFIGh0bWw+Ci08aHRtbD4KLTxoZWFkPgotICAgIDxzY3Jp
cHQgc3JjPSIvanMtdGVzdC1yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+Ci0gICAgPHNj
cmlwdCBzcmM9Ii9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3Jlc291cmNlcy91dGlsLmpzIj48L3Nj
cmlwdD4KLTwvaGVhZD4KLTxib2R5IG9ubG9hZD0icnVuKCkiPgotPHNjcmlwdD4KLSAgICBkZXNj
cmlwdGlvbigiVGVzdHMgdGhhdCBhIGNyb3NzLW9yaWdpbiB3aW5kb3cgZnJvbSBhIHByZXZhbGVu
dCBkb21haW4gd2l0aCBwcmV2aW91cyB1c2VyIGludGVyYWN0aW9uIGdldHMgc3RvcmFnZSBhY2Nl
c3MgdW5kZXIgaXRzIG9wZW5lciBpZiBpdCBnZXRzIHVzZXIgaW50ZXJhY3Rpb24uIik7Ci0gICAg
anNUZXN0SXNBc3luYyA9IHRydWU7Ci0KLSAgICBmdW5jdGlvbiBmaW5pc2hUZXN0KCkgewotICAg
ICAgICBzZXRFbmFibGVGZWF0dXJlKGZhbHNlLCBmaW5pc2hKU1Rlc3QpOwotICAgIH0KLQotICAg
IGZ1bmN0aW9uIG9wZW5JZnJhbWUodXJsLCBvbkxvYWRIYW5kbGVyKSB7Ci0gICAgICAgIGNvbnN0
IGVsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJpZnJhbWUiKTsKLSAgICAgICAgZWxl
bWVudC5zcmMgPSB1cmw7Ci0gICAgICAgIGlmIChvbkxvYWRIYW5kbGVyKSB7Ci0gICAgICAgICAg
ICBlbGVtZW50Lm9ubG9hZCA9IG9uTG9hZEhhbmRsZXI7Ci0gICAgICAgIH0KLSAgICAgICAgZG9j
dW1lbnQuYm9keS5hcHBlbmRDaGlsZChlbGVtZW50KTsKLSAgICB9Ci0KLSAgICBmdW5jdGlvbiBy
ZWNlaXZlTWVzc2FnZShldmVudCkgewotICAgICAgICBpZiAoZXZlbnQub3JpZ2luID09PSAiaHR0
cDovL2xvY2FsaG9zdDo4MDAwIikgewotICAgICAgICAgICAgaWYgKGV2ZW50LmRhdGEuaW5kZXhP
ZigiUEFTUyIpICE9PSAtMSkKLSAgICAgICAgICAgICAgICB0ZXN0UGFzc2VkKGV2ZW50LmRhdGEu
cmVwbGFjZSgiUEFTUyAiLCAiIikpOwotICAgICAgICAgICAgZWxzZQotICAgICAgICAgICAgICAg
IHRlc3RGYWlsZWQoZXZlbnQuZGF0YSk7Ci0gICAgICAgIH0gZWxzZQotICAgICAgICAgICAgdGVz
dEZhaWxlZCgiUmVjZWl2ZWQgYSBtZXNzYWdlIGZyb20gYW4gdW5leHBlY3RlZCBvcmlnaW46ICIg
KyBldmVudC5vcmlnaW4pOwotCi0gICAgICAgIG5ld1dpbi5jbG9zZSgpOwotICAgICAgICBvcGVu
SWZyYW1lKHRoaXJkUGFydHlCYXNlVXJsICsgc3ViUGF0aFRvR2V0Q29va2llcyArICImbWVzc2Fn
ZT1TaG91bGQgcmVjZWl2ZSBmaXJzdC1wYXJ0eSBjb29raWUuIiwgZmluaXNoVGVzdCk7Ci0gICAg
fQotCi0gICAgY29uc3QgdGhpcmRQYXJ0eU9yaWdpbiA9ICJodHRwOi8vbG9jYWxob3N0OjgwMDAi
OwotICAgIGNvbnN0IHJlc291cmNlUGF0aCA9ICIvc3RvcmFnZUFjY2Vzcy9yZXNvdXJjZXMiOwot
ICAgIGNvbnN0IHRoaXJkUGFydHlCYXNlVXJsID0gdGhpcmRQYXJ0eU9yaWdpbiArIHJlc291cmNl
UGF0aDsKLSAgICBjb25zdCBmaXJzdFBhcnR5Q29va2llTmFtZSA9ICJmaXJzdFBhcnR5Q29va2ll
IjsKLSAgICBjb25zdCBzdWJQYXRoVG9HZXRDb29raWVzID0gIi9nZXQtY29va2llcy5waHA/bmFt
ZTE9IiArIGZpcnN0UGFydHlDb29raWVOYW1lOwotICAgIHZhciBuZXdXaW47Ci0KLSAgICBmdW5j
dGlvbiBydW4oKSB7Ci0gICAgICAgIHRlc3RSdW5uZXIuc2V0VXNlSVRQRGF0YWJhc2UodHJ1ZSk7
Ci0gICAgICAgIHNldEVuYWJsZUZlYXR1cmUodHJ1ZSwgZnVuY3Rpb24oKSB7Ci0gICAgICAgICAg
ICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigibWVzc2FnZSIsIHJlY2VpdmVNZXNzYWdlLCBmYWxz
ZSk7Ci0KLSAgICAgICAgICAgIHRlc3RSdW5uZXIuc2V0Q2FuT3BlbldpbmRvd3MoKTsKLQotICAg
ICAgICAgICAgdGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNzUHJldmFsZW50UmVzb3VyY2UodGhpcmRQ
YXJ0eU9yaWdpbiwgdHJ1ZSwgZnVuY3Rpb24oKSB7Ci0gICAgICAgICAgICAgICAgaWYgKCF0ZXN0
UnVubmVyLmlzU3RhdGlzdGljc1ByZXZhbGVudFJlc291cmNlKHRoaXJkUGFydHlPcmlnaW4pKQot
ICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKCJIb3N0IGRpZCBub3QgZ2V0IHNldCBhcyBw
cmV2YWxlbnQgcmVzb3VyY2UuIik7Ci0gICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5zZXRTdGF0
aXN0aWNzSGFzSGFkVXNlckludGVyYWN0aW9uKHRoaXJkUGFydHlPcmlnaW4sIHRydWUsIGZ1bmN0
aW9uKCkgewotICAgICAgICAgICAgICAgICAgICBpZiAoIXRlc3RSdW5uZXIuaXNTdGF0aXN0aWNz
SGFzSGFkVXNlckludGVyYWN0aW9uKHRoaXJkUGFydHlPcmlnaW4pKQotICAgICAgICAgICAgICAg
ICAgICAgICAgdGVzdEZhaWxlZCgiSG9zdCBkaWQgbm90IGdldCBsb2dnZWQgZm9yIHVzZXIgaW50
ZXJhY3Rpb24uIik7Ci0gICAgICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIuZHVtcENoaWxkRnJh
bWVzQXNUZXh0KCk7Ci0gICAgICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIuc2V0Q2xvc2VSZW1h
aW5pbmdXaW5kb3dzV2hlbkNvbXBsZXRlKHRydWUpOwotCi0gICAgICAgICAgICAgICAgICAgIHRl
c3RSdW5uZXIuc3RhdGlzdGljc1VwZGF0ZUNvb2tpZUJsb2NraW5nKGZ1bmN0aW9uICgpIHsKLSAg
ICAgICAgICAgICAgICAgICAgICAgIG5ld1dpbiA9IHdpbmRvdy5vcGVuKHRoaXJkUGFydHlPcmln
aW4gKyAiL3N0b3JhZ2VBY2Nlc3MvcmVzb3VyY2VzL3Byb2R1Y2UtdXNlci1nZXN0dXJlLXNldC1j
b29raWUtYW5kLXJlcG9ydC1iYWNrLmh0bWwiLCAidGVzdFdpbmRvdyIpOwotICAgICAgICAgICAg
ICAgICAgICB9KTsKLSAgICAgICAgICAgICAgICB9KTsKLSAgICAgICAgICAgIH0pOwotICAgICAg
ICB9KTsKLSAgICB9Ci08L3NjcmlwdD4KLTwvYm9keT4KLTwvaHRtbD4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2h0dHAvdGVzdHMvc3RvcmFnZUFjY2Vzcy9ncmFudC13aXRoLXByb21wdC1wcmVz
ZXJ2ZXMtZ2VzdHVyZS1kYXRhYmFzZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3Rl
c3RzL3N0b3JhZ2VBY2Nlc3MvZ3JhbnQtd2l0aC1wcm9tcHQtcHJlc2VydmVzLWdlc3R1cmUtZGF0
YWJhc2UtZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBkN2VjNGNm
N2Y3ODQxZDU3YzY4ZGRiNWZhNjZjYjU2MzRiMzFkYTNiLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc3RvcmFnZUFj
Y2Vzcy9ncmFudC13aXRoLXByb21wdC1wcmVzZXJ2ZXMtZ2VzdHVyZS1kYXRhYmFzZS1leHBlY3Rl
ZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSwxMCArMCwwIEBACi1UZXN0cyB0aGF0IGNyb3NzLW9y
aWdpbiBpZnJhbWUgY2FuIGRpc3BsYXkgYSB3aW5kb3cgaWYgc3RvcmFnZSBhY2Nlc3MgaXMgZ3Jh
bnRlZC4KLQotT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNz
YWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgotCi0KLVBBU1MgV2luZG93IHdhcyBz
dWNjZXNzZnVsbHkgb3BlbmVkIHdpdGggdXNlciBpbnRlcmFjdGlvbi4KLVBBU1Mgc3VjY2Vzc2Z1
bGx5UGFyc2VkIGlzIHRydWUKLQotVEVTVCBDT01QTEVURQotCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9odHRwL3Rlc3RzL3N0b3JhZ2VBY2Nlc3MvZ3JhbnQtd2l0aC1wcm9tcHQtcHJlc2VydmVz
LWdlc3R1cmUtZGF0YWJhc2UuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc3RvcmFnZUFj
Y2Vzcy9ncmFudC13aXRoLXByb21wdC1wcmVzZXJ2ZXMtZ2VzdHVyZS1kYXRhYmFzZS5odG1sCmRl
bGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA2MzI1MTg2MzQ1MjJmNTlhMzBlYWJlNWRiZGM5
NzJhNmViZDIyOTFjLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0t
LSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc3RvcmFnZUFjY2Vzcy9ncmFudC13aXRoLXByb21w
dC1wcmVzZXJ2ZXMtZ2VzdHVyZS1kYXRhYmFzZS5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsNzUg
KzAsMCBAQAotPCFET0NUWVBFIGh0bWw+Ci08aHRtbD4KLTxoZWFkPgotICAgIDxzY3JpcHQgc3Jj
PSIvanMtdGVzdC1yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+Ci0gICAgPHNjcmlwdCBz
cmM9Ii9qcy10ZXN0LXJlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgotICAgIDxzY3Jp
cHQgc3JjPSIvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9yZXNvdXJjZXMvdXRpbC5qcyI+PC9zY3Jp
cHQ+Ci0gICAgPHNjcmlwdD4KLSAgICAgICAgZGVzY3JpcHRpb24oIlRlc3RzIHRoYXQgY3Jvc3Mt
b3JpZ2luIGlmcmFtZSBjYW4gZGlzcGxheSBhIHdpbmRvdyBpZiBzdG9yYWdlIGFjY2VzcyBpcyBn
cmFudGVkLiIpOwotICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKLQotICAgICAgICBjb25z
dCBob3N0VW5kZXJUZXN0ID0gImxvY2FsaG9zdDo4MDAwIjsKLSAgICAgICAgY29uc3Qgc3RhdGlz
dGljc1VybCA9ICJodHRwOi8vIiArIGhvc3RVbmRlclRlc3QgKyAiL3RlbXAiOwotCi0gICAgICAg
IHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJtZXNzYWdlIiwgcmVjZWl2ZU1lc3NhZ2UsIGZhbHNl
KTsKLQotICAgICAgICBmdW5jdGlvbiByZWNlaXZlTWVzc2FnZShldmVudCkgewotICAgICAgICAg
ICAgaWYgKGV2ZW50Lm9yaWdpbiA9PT0gImh0dHA6Ly9sb2NhbGhvc3Q6ODAwMCIpIHsKLSAgICAg
ICAgICAgICAgICBpZiAoZXZlbnQuZGF0YS5pbmRleE9mKCJQQVNTICIpICE9PSAtMSkKLSAgICAg
ICAgICAgICAgICAgICAgdGVzdFBhc3NlZChldmVudC5kYXRhLnJlcGxhY2UoIlBBU1MgIiwgIiIp
KTsKLSAgICAgICAgICAgICAgICBlbHNlCi0gICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQo
ZXZlbnQuZGF0YS5yZXBsYWNlKCJGQUlMICIsICIiKSk7Ci0gICAgICAgICAgICB9IGVsc2UKLSAg
ICAgICAgICAgICAgICB0ZXN0RmFpbGVkKCJSZWNlaXZlZCBhIG1lc3NhZ2UgZnJvbSBhbiB1bmV4
cGVjdGVkIG9yaWdpbjogIiArIGV2ZW50Lm9yaWdpbik7Ci0gICAgICAgICAgICBzZXRFbmFibGVG
ZWF0dXJlKGZhbHNlLCBmaW5pc2hKU1Rlc3QpOwotICAgICAgICB9Ci0KLSAgICAgICAgZnVuY3Rp
b24gYWN0aXZhdGVFbGVtZW50KGVsZW1lbnRJZCkgewotICAgICAgICAgICAgdmFyIGVsZW1lbnQg
PSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChlbGVtZW50SWQpOwotICAgICAgICAgICAgdmFyIGNl
bnRlclggPSBlbGVtZW50Lm9mZnNldExlZnQgKyBlbGVtZW50Lm9mZnNldFdpZHRoIC8gMjsKLSAg
ICAgICAgICAgIHZhciBjZW50ZXJZID0gZWxlbWVudC5vZmZzZXRUb3AgKyBlbGVtZW50Lm9mZnNl
dEhlaWdodCAvIDI7Ci0gICAgICAgICAgICBVSUhlbHBlci5hY3RpdmF0ZUF0KGNlbnRlclgsIGNl
bnRlclkpLnRoZW4oCi0gICAgICAgICAgICAgICAgZnVuY3Rpb24gKCkgewotICAgICAgICAgICAg
ICAgICAgICBpZiAod2luZG93LmV2ZW50U2VuZGVyKQotICAgICAgICAgICAgICAgICAgICAgICAg
ZXZlbnRTZW5kZXIua2V5RG93bigiZXNjYXBlIik7Ci0gICAgICAgICAgICAgICAgICAgIGVsc2Ug
ewotICAgICAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZCgiTm8gZXZlbnRTZW5kZXIuIik7
Ci0gICAgICAgICAgICAgICAgICAgICAgICBzZXRFbmFibGVGZWF0dXJlKGZhbHNlLCBmaW5pc2hK
U1Rlc3QpOwotICAgICAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgfSwKLSAgICAg
ICAgICAgICAgICBmdW5jdGlvbiAoKSB7Ci0gICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQo
IlByb21pc2UgcmVqZWN0ZWQuIik7Ci0gICAgICAgICAgICAgICAgICAgIHNldEVuYWJsZUZlYXR1
cmUoZmFsc2UsIGZpbmlzaEpTVGVzdCk7Ci0gICAgICAgICAgICAgICAgfQotICAgICAgICAgICAg
KTsKLSAgICAgICAgfQotCi0gICAgICAgIGZ1bmN0aW9uIHJ1blRlc3QoKSB7Ci0gICAgICAgICAg
ICB0ZXN0UnVubmVyLnNldFVzZUlUUERhdGFiYXNlKHRydWUpOwotICAgICAgICAgICAgc2V0RW5h
YmxlRmVhdHVyZSh0cnVlLCBmdW5jdGlvbigpIHsKLSAgICAgICAgICAgICAgICB0ZXN0UnVubmVy
LnNldENhbk9wZW5XaW5kb3dzKGZhbHNlKTsKLSAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLnNl
dFBvcHVwQmxvY2tpbmdFbmFibGVkKHRydWUpOwotICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIu
c2V0U3RhdGlzdGljc1ByZXZhbGVudFJlc291cmNlKHN0YXRpc3RpY3NVcmwsIHRydWUsIGZ1bmN0
aW9uKCkgewotICAgICAgICAgICAgICAgICAgICBpZiAoIXRlc3RSdW5uZXIuaXNTdGF0aXN0aWNz
UHJldmFsZW50UmVzb3VyY2Uoc3RhdGlzdGljc1VybCkpCi0gICAgICAgICAgICAgICAgICAgICAg
ICB0ZXN0RmFpbGVkKCJIb3N0IGRpZCBub3QgZ2V0IHNldCBhcyBwcmV2YWxlbnQgcmVzb3VyY2Uu
Iik7Ci0gICAgICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc0hhc0hhZFVz
ZXJJbnRlcmFjdGlvbihzdGF0aXN0aWNzVXJsLCB0cnVlLCBmdW5jdGlvbigpIHsKLSAgICAgICAg
ICAgICAgICAgICAgICAgIGlmICghdGVzdFJ1bm5lci5pc1N0YXRpc3RpY3NIYXNIYWRVc2VySW50
ZXJhY3Rpb24oc3RhdGlzdGljc1VybCkpCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGVz
dEZhaWxlZCgiSG9zdCBkaWQgbm90IGdldCBsb2dnZWQgZm9yIHVzZXIgaW50ZXJhY3Rpb24uIik7
Ci0gICAgICAgICAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLnN0YXRpc3RpY3NVcGRhdGVDb29r
aWVCbG9ja2luZyhmdW5jdGlvbigpIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZXQg
aWZyYW1lRWxlbWVudCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImlmcmFtZSIpOwotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGlmcmFtZUVsZW1lbnQub25sb2FkID0gZnVuY3Rpb24oKSB7
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFjdGl2YXRlRWxlbWVudCgiVGhlSWZy
YW1lVGhhdFJlcXVlc3RzU3RvcmFnZUFjY2VzcyIpOwotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIH07Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWZyYW1lRWxlbWVudC5pZCA9ICJU
aGVJZnJhbWVUaGF0UmVxdWVzdHNTdG9yYWdlQWNjZXNzIjsKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBpZnJhbWVFbGVtZW50LnNyYyA9ICJodHRwOi8vbG9jYWxob3N0OjgwMDAvc3RvcmFn
ZUFjY2Vzcy9yZXNvdXJjZXMvcmVxdWVzdC1zdG9yYWdlLWFjY2Vzcy1pZnJhbWUtYW5kLXBvcC13
aW5kb3cuaHRtbCN1c2VyU2hvdWxkR3JhbnRBY2Nlc3MsdXNlclNob3VsZEJlQ29uc3VsdGVkLHBv
bGljeVNob3VsZEdyYW50QWNjZXNzLGlzTm90U2FtZU9yaWdpbklmcmFtZSI7Ci0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChpZnJhbWVFbGVtZW50
KTsKLSAgICAgICAgICAgICAgICAgICAgICAgIH0pOwotICAgICAgICAgICAgICAgICAgICB9KTsK
LSAgICAgICAgICAgICAgICB9KTsKLSAgICAgICAgICAgIH0pOwotICAgICAgICB9Ci0gICAgPC9z
Y3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keSBvbmxvYWQ9InJ1blRlc3QoKSI+Ci08L2JvZHk+Ci08L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3N0b3JhZ2VBY2Nlc3MvZ3Jh
bnQtd2l0aC1wcm9tcHQtdW5kZXItZ2VuZXJhbC10aGlyZC1wYXJ0eS1jb29raWUtYmxvY2tpbmct
ZGF0YWJhc2UtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zdG9yYWdlQWNj
ZXNzL2dyYW50LXdpdGgtcHJvbXB0LXVuZGVyLWdlbmVyYWwtdGhpcmQtcGFydHktY29va2llLWJs
b2NraW5nLWRhdGFiYXNlLWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMzEzZTg3OWY0ZDM1MmRjYWQzZmM3OGE0NWQxYzFmM2FhZDdkZmU0YS4uMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L3N0b3JhZ2VBY2Nlc3MvZ3JhbnQtd2l0aC1wcm9tcHQtdW5kZXItZ2VuZXJhbC10aGlyZC1wYXJ0
eS1jb29raWUtYmxvY2tpbmctZGF0YWJhc2UtZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAg
LTEsMTEgKzAsMCBAQAotVGVzdHMgdGhhdCBhIGNyb3NzLXNpdGUgaWZyYW1lIGNhbiByZXF1ZXN0
IGFuZCBiZSBncmFudGVkIHN0b3JhZ2UgYWNjZXNzIHVuZGVyIGdlbmVyYWwgdGhpcmQtcGFydHkg
Y29va2llIGJsb2NraW5nLgotCi1PbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2Yg
IlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCi0KLQotUEFTUyBT
dG9yYWdlIGFjY2VzcyB3YXMgZ3JhbnRlZC4gZG9jdW1lbnQuY29va2llID09IGZpcnN0UGFydHlD
b29raWU9dmFsdWUsIGNvb2tpZXMgc2VlbiBzZXJ2ZXItc2lkZSA9PSB7ImZpcnN0UGFydHlDb29r
aWUiOiJ2YWx1ZSJ9Ci1QQVNTIFN0b3JhZ2UgYWNjZXNzIHdhcyBncmFudGVkLiBkb2N1bWVudC5j
b29raWUgPT0gZmlyc3RQYXJ0eUNvb2tpZT12YWx1ZSwgY29va2llcyBzZWVuIHNlcnZlci1zaWRl
ID09IHsiZmlyc3RQYXJ0eUNvb2tpZSI6InZhbHVlIn0KLVBBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2Vk
IGlzIHRydWUKLQotVEVTVCBDT01QTEVURQotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL3N0b3JhZ2VBY2Nlc3MvZ3JhbnQtd2l0aC1wcm9tcHQtdW5kZXItZ2VuZXJhbC10aGly
ZC1wYXJ0eS1jb29raWUtYmxvY2tpbmctZGF0YWJhc2UuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAv
dGVzdHMvc3RvcmFnZUFjY2Vzcy9ncmFudC13aXRoLXByb21wdC11bmRlci1nZW5lcmFsLXRoaXJk
LXBhcnR5LWNvb2tpZS1ibG9ja2luZy1kYXRhYmFzZS5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCBjMGNiZGM4MGJhZjY5MzMzMDE3YjE3Zjg1NjNkNGRiOGFjZmZhZDkzLi4wMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2h0
dHAvdGVzdHMvc3RvcmFnZUFjY2Vzcy9ncmFudC13aXRoLXByb21wdC11bmRlci1nZW5lcmFsLXRo
aXJkLXBhcnR5LWNvb2tpZS1ibG9ja2luZy1kYXRhYmFzZS5odG1sCisrKyAvZGV2L251bGwKQEAg
LTEsMTIxICswLDAgQEAKLTwhRE9DVFlQRSBodG1sPgotPGh0bWw+Ci08aGVhZD4KLSAgICA8c2Ny
aXB0IHNyYz0iL2pzLXRlc3QtcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgotICAgIDxz
Y3JpcHQgc3JjPSIvanMtdGVzdC1yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KLSAg
ICA8c2NyaXB0IHNyYz0iL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvcmVzb3VyY2VzL3V0aWwuanMi
Pjwvc2NyaXB0PgotICAgIDxzY3JpcHQ+Ci0gICAgICAgIGRlc2NyaXB0aW9uKCJUZXN0cyB0aGF0
IGEgY3Jvc3Mtc2l0ZSBpZnJhbWUgY2FuIHJlcXVlc3QgYW5kIGJlIGdyYW50ZWQgc3RvcmFnZSBh
Y2Nlc3MgdW5kZXIgZ2VuZXJhbCB0aGlyZC1wYXJ0eSBjb29raWUgYmxvY2tpbmcuIik7Ci0gICAg
ICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOwotICAgICAgICB0ZXN0UnVubmVyLnNldFVzZUlUUERh
dGFiYXNlKHRydWUpOwotCi0gICAgICAgIGNvbnN0IGZpcnN0UGFydHlVcmwgPSAiaHR0cDovLzEy
Ny4wLjAuMTo4MDAwIjsKLSAgICAgICAgY29uc3QgdGhpcmRQYXJ0eVVybCA9ICJodHRwOi8vbG9j
YWxob3N0OjgwMDAiOwotCi0gICAgICAgIGZ1bmN0aW9uIHJlY2VpdmVNZXNzYWdlKGV2ZW50KSB7
Ci0gICAgICAgICAgICBpZiAoZXZlbnQub3JpZ2luID09PSAiaHR0cDovL2xvY2FsaG9zdDo4MDAw
IikgewotICAgICAgICAgICAgICAgIGlmIChldmVudC5kYXRhLmluZGV4T2YoIlBBU1MgIikgIT09
IC0xKQotICAgICAgICAgICAgICAgICAgICB0ZXN0UGFzc2VkKGV2ZW50LmRhdGEucmVwbGFjZSgi
UEFTUyAiLCAiIikpOwotICAgICAgICAgICAgICAgIGVsc2UKLSAgICAgICAgICAgICAgICAgICAg
dGVzdEZhaWxlZChldmVudC5kYXRhLnJlcGxhY2UoIkZBSUwgIiwgIiIpKTsKLSAgICAgICAgICAg
IH0gZWxzZQotICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoIlJlY2VpdmVkIGEgbWVzc2FnZSBm
cm9tIGFuIHVuZXhwZWN0ZWQgb3JpZ2luOiAiICsgZXZlbnQub3JpZ2luKTsKLQotICAgICAgICAg
ICAgc3dpdGNoIChkb2N1bWVudC5sb2NhdGlvbi5oYXNoKSB7Ci0gICAgICAgICAgICAgICAgY2Fz
ZSAiI2ZpcnN0VGVzdCI6Ci0gICAgICAgICAgICAgICAgICAgIGRvY3VtZW50LmxvY2F0aW9uLmhh
c2ggPSAic2Vjb25kVGVzdCI7Ci0gICAgICAgICAgICAgICAgICAgIC8vIENsZWFyIGFsbCBkYXRh
IHNvIHRoYXQgdGhlIHByZXZpb3VzIGdyYW50IGRvZXNuJ3QgY291bnQgdG93YXJkIHRoZSBuZXh0
IHRlc3QuCi0gICAgICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIuc3RhdGlzdGljc0NsZWFySW5N
ZW1vcnlBbmRQZXJzaXN0ZW50U3RvcmUocnVuVGVzdCk7Ci0gICAgICAgICAgICAgICAgICAgIGJy
ZWFrOwotICAgICAgICAgICAgICAgIGNhc2UgIiNzZWNvbmRUZXN0IjoKLSAgICAgICAgICAgICAg
ICAgICAgdGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNzU2hvdWxkQmxvY2tUaGlyZFBhcnR5Q29va2ll
cyhmYWxzZSwgZnVuY3Rpb24oKSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICBzZXRFbmFibGVG
ZWF0dXJlKGZhbHNlLCBmaW5pc2hKU1Rlc3QpOwotICAgICAgICAgICAgICAgICAgICB9KTsKLSAg
ICAgICAgICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgICAgICAgICAgZGVmYXVsdDoKLSAgICAg
ICAgICAgICAgICAgICAgdGVzdEZhaWxlZCgiTWVzc2FnZSBoYW5kbGVyIGNhbGxlZCB1bmRlciB1
bmtub3duIGNpcmN1bXN0YW5jZXMuIik7Ci0gICAgICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIu
c2V0U3RhdGlzdGljc1Nob3VsZEJsb2NrVGhpcmRQYXJ0eUNvb2tpZXMoZmFsc2UsIGZ1bmN0aW9u
KCkgewotICAgICAgICAgICAgICAgICAgICAgICAgc2V0RW5hYmxlRmVhdHVyZShmYWxzZSwgZmlu
aXNoSlNUZXN0KTsKLSAgICAgICAgICAgICAgICAgICAgfSk7Ci0gICAgICAgICAgICB9Ci0gICAg
ICAgIH0KLQotICAgICAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigibWVzc2FnZSIsIHJlY2Vp
dmVNZXNzYWdlLCBmYWxzZSk7Ci0KLSAgICAgICAgZnVuY3Rpb24gYWN0aXZhdGVFbGVtZW50KGVs
ZW1lbnRJZCkgewotICAgICAgICAgICAgdmFyIGVsZW1lbnQgPSBkb2N1bWVudC5nZXRFbGVtZW50
QnlJZChlbGVtZW50SWQpOwotICAgICAgICAgICAgdmFyIGNlbnRlclggPSBlbGVtZW50Lm9mZnNl
dExlZnQgKyBlbGVtZW50Lm9mZnNldFdpZHRoIC8gMjsKLSAgICAgICAgICAgIHZhciBjZW50ZXJZ
ID0gZWxlbWVudC5vZmZzZXRUb3AgKyBlbGVtZW50Lm9mZnNldEhlaWdodCAvIDI7Ci0gICAgICAg
ICAgICBVSUhlbHBlci5hY3RpdmF0ZUF0KGNlbnRlclgsIGNlbnRlclkpLnRoZW4oCi0gICAgICAg
ICAgICAgICAgZnVuY3Rpb24gKCkgewotICAgICAgICAgICAgICAgICAgICBpZiAod2luZG93LmV2
ZW50U2VuZGVyKQotICAgICAgICAgICAgICAgICAgICAgICAgZXZlbnRTZW5kZXIua2V5RG93bigi
ZXNjYXBlIik7Ci0gICAgICAgICAgICAgICAgICAgIGVsc2UgewotICAgICAgICAgICAgICAgICAg
ICAgICAgdGVzdEZhaWxlZCgiTm8gZXZlbnRTZW5kZXIuIik7Ci0gICAgICAgICAgICAgICAgICAg
ICAgICB0ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NTaG91bGRCbG9ja1RoaXJkUGFydHlDb29raWVz
KGZhbHNlLCBmdW5jdGlvbigpIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZXRFbmFi
bGVGZWF0dXJlKGZhbHNlLCBmaW5pc2hKU1Rlc3QpOwotICAgICAgICAgICAgICAgICAgICAgICAg
fSk7Ci0gICAgICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICB9LAotICAgICAgICAg
ICAgICAgIGZ1bmN0aW9uICgpIHsKLSAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZCgiUHJv
bWlzZSByZWplY3RlZC4iKTsKLSAgICAgICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5zZXRTdGF0
aXN0aWNzU2hvdWxkQmxvY2tUaGlyZFBhcnR5Q29va2llcyhmYWxzZSwgZnVuY3Rpb24oKSB7Ci0g
ICAgICAgICAgICAgICAgICAgICAgICBzZXRFbmFibGVGZWF0dXJlKGZhbHNlLCBmaW5pc2hKU1Rl
c3QpOwotICAgICAgICAgICAgICAgICAgICB9KTsKLSAgICAgICAgICAgICAgICB9Ci0gICAgICAg
ICAgICApOwotICAgICAgICB9Ci0KLSAgICAgICAgZnVuY3Rpb24gcnVuVGVzdCgpIHsKLSAgICAg
ICAgICAgIHN3aXRjaCAoZG9jdW1lbnQubG9jYXRpb24uaGFzaCkgewotICAgICAgICAgICAgICAg
IGNhc2UgIiI6Ci0gICAgICAgICAgICAgICAgICAgIHNldEVuYWJsZUZlYXR1cmUodHJ1ZSwgZnVu
Y3Rpb24oKSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICBkb2N1bWVudC5sb2NhdGlvbi5ocmVm
ID0gdGhpcmRQYXJ0eVVybCArICIvc3RvcmFnZUFjY2Vzcy9yZXNvdXJjZXMvc2V0LWNvb2tpZS5w
aHA/ZHVtbXk9IiArIE1hdGgucmFuZG9tKCkgKyAiJm5hbWU9Zmlyc3RQYXJ0eUNvb2tpZSZ2YWx1
ZT12YWx1ZSMiICsgZmlyc3RQYXJ0eVVybCArICIvc3RvcmFnZUFjY2Vzcy9ncmFudC13aXRoLXBy
b21wdC11bmRlci1nZW5lcmFsLXRoaXJkLXBhcnR5LWNvb2tpZS1ibG9ja2luZy1kYXRhYmFzZS5o
dG1sI2ZpcnN0VGVzdCI7Ci0gICAgICAgICAgICAgICAgICAgIH0pOwotICAgICAgICAgICAgICAg
ICAgICBicmVhazsKLSAgICAgICAgICAgICAgICBjYXNlICIjZmlyc3RUZXN0IjoKLSAgICAgICAg
ICAgICAgICAgICAgLy8gVGVzdCB0aGF0IHRoZSByZXF1ZXN0IGlzIGdyYW50ZWQgaWYgdGhpcmQt
cGFydHkgY29va2llcyBhcmUgYmxvY2tlZCB1bmRlciBmaXJzdC1wYXJ0aWVzIHdpdGhvdXQKLSAg
ICAgICAgICAgICAgICAgICAgLy8gdXNlciBpbnRlcmFjdGlvbi4KLSAgICAgICAgICAgICAgICAg
ICAgdGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNzU2hvdWxkQmxvY2tUaGlyZFBhcnR5Q29va2llcyh0
cnVlLCBmdW5jdGlvbigpIHsKLSAgICAgICAgICAgICAgICAgICAgICAgIGlmICh0ZXN0UnVubmVy
LmlzU3RhdGlzdGljc1ByZXZhbGVudFJlc291cmNlKHRoaXJkUGFydHlVcmwpKQotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoIlRoaXJkLXBhcnR5IHNldCBhcyBwcmV2YWxl
bnQgcmVzb3VyY2UuIik7Ci0gICAgICAgICAgICAgICAgICAgICAgICBpZiAodGVzdFJ1bm5lci5p
c1N0YXRpc3RpY3NIYXNIYWRVc2VySW50ZXJhY3Rpb24oZmlyc3RQYXJ0eVVybCkpCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZCgiRmlyc3QtcGFydHkgd2FzIGxvZ2dlZCBm
b3IgdXNlciBpbnRlcmFjdGlvbi4iKTsKLSAgICAgICAgICAgICAgICAgICAgICAgIHRlc3RSdW5u
ZXIuc2V0U3RhdGlzdGljc0hhc0hhZFVzZXJJbnRlcmFjdGlvbih0aGlyZFBhcnR5VXJsLCB0cnVl
LCBmdW5jdGlvbigpIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoIXRlc3RSdW5u
ZXIuaXNTdGF0aXN0aWNzSGFzSGFkVXNlckludGVyYWN0aW9uKHRoaXJkUGFydHlVcmwpKQotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKCJUaGlyZC1wYXJ0eSBkaWQg
bm90IGdldCBsb2dnZWQgZm9yIHVzZXIgaW50ZXJhY3Rpb24uIik7Ci0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgbGV0IGlmcmFtZUVsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJp
ZnJhbWUiKTsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZnJhbWVFbGVtZW50Lm9ubG9h
ZCA9IGZ1bmN0aW9uKCkgewotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhY3RpdmF0
ZUVsZW1lbnQoIlRoZUZpcnN0SWZyYW1lVGhhdFJlcXVlc3RzU3RvcmFnZUFjY2VzcyIpOwotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIH07Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
aWZyYW1lRWxlbWVudC5pZCA9ICJUaGVGaXJzdElmcmFtZVRoYXRSZXF1ZXN0c1N0b3JhZ2VBY2Nl
c3MiOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmcmFtZUVsZW1lbnQuc3JjID0gImh0
dHA6Ly9sb2NhbGhvc3Q6ODAwMC9zdG9yYWdlQWNjZXNzL3Jlc291cmNlcy9yZXF1ZXN0LXN0b3Jh
Z2UtYWNjZXNzLWlmcmFtZS5odG1sP2R1bW15PSIgKyBNYXRoLnJhbmRvbSgpICsgIiN1c2VyU2hv
dWxkR3JhbnRBY2Nlc3MsdXNlclNob3VsZEJlQ29uc3VsdGVkLHBvbGljeVNob3VsZEdyYW50QWNj
ZXNzLGlzTm90U2FtZU9yaWdpbklmcmFtZSI7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChpZnJhbWVFbGVtZW50KTsKLSAgICAgICAgICAgICAg
ICAgICAgICAgIH0pOwotICAgICAgICAgICAgICAgICAgICB9LCB0cnVlKTsKLSAgICAgICAgICAg
ICAgICAgICAgYnJlYWs7Ci0gICAgICAgICAgICAgICAgY2FzZSAiI3NlY29uZFRlc3QiOgotICAg
ICAgICAgICAgICAgICAgICAvLyBUZXN0IHRoYXQgdGhlIHJlcXVlc3QgaXMgZ3JhbnRlZCBpZiB0
aGlyZC1wYXJ0eSBjb29raWVzIGFyZSBibG9ja2VkIHVuY29uZGl0aW9uYWxseS4KLSAgICAgICAg
ICAgICAgICAgICAgdGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNzU2hvdWxkQmxvY2tUaGlyZFBhcnR5
Q29va2llcyh0cnVlLCBmdW5jdGlvbigpIHsKLSAgICAgICAgICAgICAgICAgICAgICAgIGlmICh0
ZXN0UnVubmVyLmlzU3RhdGlzdGljc1ByZXZhbGVudFJlc291cmNlKHRoaXJkUGFydHlVcmwpKQot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoIlRoaXJkLXBhcnR5IHNldCBh
cyBwcmV2YWxlbnQgcmVzb3VyY2UuIik7Ci0gICAgICAgICAgICAgICAgICAgICAgICB0ZXN0UnVu
bmVyLnNldFN0YXRpc3RpY3NIYXNIYWRVc2VySW50ZXJhY3Rpb24odGhpcmRQYXJ0eVVybCwgdHJ1
ZSwgZnVuY3Rpb24oKSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCF0ZXN0UnVu
bmVyLmlzU3RhdGlzdGljc0hhc0hhZFVzZXJJbnRlcmFjdGlvbih0aGlyZFBhcnR5VXJsKSkKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZCgiVGhpcmQtcGFydHkgZGlk
IG5vdCBnZXQgbG9nZ2VkIGZvciB1c2VyIGludGVyYWN0aW9uLiIpOwotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGxldCBpZnJhbWVFbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgi
aWZyYW1lIik7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWZyYW1lRWxlbWVudC5vbmxv
YWQgPSBmdW5jdGlvbigpIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYWN0aXZh
dGVFbGVtZW50KCJUaGVTZWNvbmRJZnJhbWVUaGF0UmVxdWVzdHNTdG9yYWdlQWNjZXNzIik7Ci0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgfTsKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBpZnJhbWVFbGVtZW50LmlkID0gIlRoZVNlY29uZElmcmFtZVRoYXRSZXF1ZXN0c1N0b3JhZ2VB
Y2Nlc3MiOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmcmFtZUVsZW1lbnQuc3JjID0g
Imh0dHA6Ly9sb2NhbGhvc3Q6ODAwMC9zdG9yYWdlQWNjZXNzL3Jlc291cmNlcy9yZXF1ZXN0LXN0
b3JhZ2UtYWNjZXNzLWlmcmFtZS5odG1sP2R1bW15PSIgKyBNYXRoLnJhbmRvbSgpICsgIiN1c2Vy
U2hvdWxkR3JhbnRBY2Nlc3MsdXNlclNob3VsZEJlQ29uc3VsdGVkLHBvbGljeVNob3VsZEdyYW50
QWNjZXNzLGlzTm90U2FtZU9yaWdpbklmcmFtZSI7Ci0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChpZnJhbWVFbGVtZW50KTsKLSAgICAgICAgICAg
ICAgICAgICAgICAgIH0pOwotICAgICAgICAgICAgICAgICAgICB9LCBmYWxzZSk7Ci0gICAgICAg
ICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICAgICAgfQotICAgICAgICB9Ci0gICAgPC9zY3Jp
cHQ+Ci08L2hlYWQ+Ci08Ym9keSBvbmxvYWQ9InJ1blRlc3QoKSI+Ci08L2JvZHk+Ci08L2h0bWw+
ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy9zdG9yYWdlQWNjZXNzL2hhcy1zdG9yYWdlLWFjY2Vzcy1jcmFzaC1kYXRhYmFzZS1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3N0b3JhZ2VBY2Nlc3MvaGFzLXN0
b3JhZ2UtYWNjZXNzLWNyYXNoLWRhdGFiYXNlLWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggNDU5NWJhYTEwMzc3NjgwMWRiY2VmYTIyNmNjNWJiZGQ4MThlZWIwZi4u
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL3N0b3JhZ2VBY2Nlc3MvaGFzLXN0b3JhZ2UtYWNjZXNzLWNyYXNoLWRhdGFi
YXNlLWV4cGVjdGVkLnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDUgKzAsMCBAQAotVGVzdCB0aGF0
IHF1ZXJ5aW5nIHN0b3JhZ2UgYWNjZXNzIEFQSSBvbiBhIGRldGFjaGVkIGZyYW1lIGRvZXNuJ3Qg
Y3Jhc2guCi0KLVtvYmplY3QgSFRNTERvY3VtZW50XQotU1VDQ0VTUzogRGlkIG5vdCBjcmFzaC4K
LQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zdG9yYWdlQWNjZXNzL2hhcy1z
dG9yYWdlLWFjY2Vzcy1jcmFzaC1kYXRhYmFzZS5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0
cy9zdG9yYWdlQWNjZXNzL2hhcy1zdG9yYWdlLWFjY2Vzcy1jcmFzaC1kYXRhYmFzZS5odG1sCmRl
bGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBkMGQ5ZTA4NzkzNGMyN2Y1ODljZTgyMjZlZjMw
YzM1NWNjZmY1MDliLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0t
LSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc3RvcmFnZUFjY2Vzcy9oYXMtc3RvcmFnZS1hY2Nl
c3MtY3Jhc2gtZGF0YWJhc2UuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDM3ICswLDAgQEAKLTwh
RE9DVFlQRSBodG1sPgotPGh0bWw+Ci08aGVhZD4KLSAgICA8c2NyaXB0PgotICAgIGZ1bmN0aW9u
IGRlYnVnKHN0cikgewotICAgICAgICB2YXIgYyA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b25zb2xlIikKLSAgICAgICAgYy5pbm5lckhUTUwgKz0gKHN0ciArICI8YnI+IikKLSAgICB9Ci0K
LSAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpIHsKLSAgICAgICAgdGVzdFJ1bm5lci5kdW1wQXNU
ZXh0KCk7Ci0gICAgICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOwotICAgIH0KLQotICAg
IGZ1bmN0aW9uIHJ1blRlc3QoKSB7Ci0gICAgICAgIHRlc3RSdW5uZXIuc2V0VXNlSVRQRGF0YWJh
c2UodHJ1ZSk7Ci0gICAgICAgIHZhciB0ZXN0RGl2ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
InRlc3QiKTsKLSAgICAgICAgdmFyIHRlc3RGcmFtZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQo
ImlmcmFtZSIpOwotICAgICAgICB0ZXN0RGl2LmFwcGVuZENoaWxkKHRlc3RGcmFtZSk7Ci0gICAg
ICAgIHZhciB0ZXN0RnJhbWVEb2N1bWVudCA9IHRlc3RGcmFtZS5jb250ZW50RG9jdW1lbnQ7Ci0g
ICAgICAgIHRlc3RGcmFtZS5vdXRlckhUTUwgPSB0ZXN0RnJhbWVEb2N1bWVudDsKLQotICAgICAg
ICB0ZXN0RnJhbWVEb2N1bWVudC5oYXNTdG9yYWdlQWNjZXNzKCk7Ci0KLSAgICAgICAgZGVidWco
IlNVQ0NFU1M6IERpZCBub3QgY3Jhc2guIikKLSAgICAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVy
KQotICAgICAgICAgICAgdGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7Ci0gICAgfQotICAgIDwvc2Ny
aXB0PgotPC9oZWFkPgotPGJvZHkgb25sb2FkPSJydW5UZXN0KCkiPgotICAgIDxkaXYgaWQ9InRl
c3QiPgotICAgICAgICA8cD5UZXN0IHRoYXQgcXVlcnlpbmcgc3RvcmFnZSBhY2Nlc3MgQVBJIG9u
IGEgZGV0YWNoZWQgZnJhbWUgZG9lc24ndCBjcmFzaC48L3A+Ci0gICAgPC9kaXY+Ci0gICAgPHBy
ZSBpZD0iY29uc29sZSI+PC9wcmU+Ci08L2JvZHk+Ci08L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL3N0b3JhZ2VBY2Nlc3MvaGFzLXN0b3JhZ2UtYWNjZXNzLWZhbHNl
LWJ5LWRlZmF1bHQtZGF0YWJhc2UtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0
cy9zdG9yYWdlQWNjZXNzL2hhcy1zdG9yYWdlLWFjY2Vzcy1mYWxzZS1ieS1kZWZhdWx0LWRhdGFi
YXNlLWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMjg5ZGFhOGNl
YmIzZDE3ZDM4NjA3MzA2OGNlMWE4ZTQ0ZWFmNDBlMC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3N0b3JhZ2VBY2Nl
c3MvaGFzLXN0b3JhZ2UtYWNjZXNzLWZhbHNlLWJ5LWRlZmF1bHQtZGF0YWJhc2UtZXhwZWN0ZWQu
dHh0CisrKyAvZGV2L251bGwKQEAgLTEsMTAgKzAsMCBAQAotVGVzdHMgdGhhdCBkb2N1bWVudC5o
YXNTdG9yYWdlQWNjZXNzKCkgcmV0dXJucyBmYWxzZSBmb3IgYSAzcmQtcGFydHkgaWZyYW1lIGJ5
IGRlZmF1bHQuCi0KLU9uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIg
bWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KLQotCi1QQVNTIE5vIHN0b3Jh
Z2UgYWNjZXNzLiBkb2N1bWVudC5jb29raWUgPT0gLCBjb29raWVzIHNlZW4gc2VydmVyLXNpZGUg
PT0gIk5vIGNvb2tpZXMiCi1QQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCi0KLVRFU1Qg
Q09NUExFVEUKLQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zdG9yYWdlQWNj
ZXNzL2hhcy1zdG9yYWdlLWFjY2Vzcy1mYWxzZS1ieS1kZWZhdWx0LWRhdGFiYXNlLmh0bWwgYi9M
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL3N0b3JhZ2VBY2Nlc3MvaGFzLXN0b3JhZ2UtYWNjZXNzLWZh
bHNlLWJ5LWRlZmF1bHQtZGF0YWJhc2UuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggZjQxY2ZiYjE0NzM1NjMzYmYzMDc2MGY2YjkxMjg1Y2NmMzk5ZDAyOS4uMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L3N0b3JhZ2VBY2Nlc3MvaGFzLXN0b3JhZ2UtYWNjZXNzLWZhbHNlLWJ5LWRlZmF1bHQtZGF0YWJh
c2UuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDM4ICswLDAgQEAKLTwhRE9DVFlQRSBodG1sPgot
PGh0bWw+Ci08aGVhZD4KLSAgICA8c2NyaXB0IHNyYz0iL2pzLXRlc3QtcmVzb3VyY2VzL2pzLXRl
c3QuanMiPjwvc2NyaXB0PgotICAgIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VMb2FkU3RhdGlzdGlj
cy9yZXNvdXJjZXMvdXRpbC5qcyI+PC9zY3JpcHQ+Ci0gICAgPHNjcmlwdD4KLSAgICAgICAgZGVz
Y3JpcHRpb24oIlRlc3RzIHRoYXQgZG9jdW1lbnQuaGFzU3RvcmFnZUFjY2VzcygpIHJldHVybnMg
ZmFsc2UgZm9yIGEgM3JkLXBhcnR5IGlmcmFtZSBieSBkZWZhdWx0LiIpOwotICAgICAgICBqc1Rl
c3RJc0FzeW5jID0gdHJ1ZTsKLQotICAgICAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigibWVz
c2FnZSIsIHJlY2VpdmVNZXNzYWdlLCBmYWxzZSk7Ci0KLSAgICAgICAgZnVuY3Rpb24gcmVjZWl2
ZU1lc3NhZ2UoZXZlbnQpIHsKLSAgICAgICAgICAgIGlmIChldmVudC5vcmlnaW4gPT09ICJodHRw
Oi8vbG9jYWxob3N0OjgwMDAiKSB7Ci0gICAgICAgICAgICAgICAgaWYgKGV2ZW50LmRhdGEuaW5k
ZXhPZigiUEFTUyIpICE9PSAtMSkKLSAgICAgICAgICAgICAgICAgICAgdGVzdFBhc3NlZChldmVu
dC5kYXRhLnJlcGxhY2UoIlBBU1MgIiwgIiIpKTsKLSAgICAgICAgICAgICAgICBlbHNlCi0gICAg
ICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoZXZlbnQuZGF0YS5yZXBsYWNlKCJGQUlMICIsICIi
KSk7Ci0gICAgICAgICAgICB9IGVsc2UKLSAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKCJSZWNl
aXZlZCBhIG1lc3NhZ2UgZnJvbSBhbiB1bmV4cGVjdGVkIG9yaWdpbjogIiArIGV2ZW50Lm9yaWdp
bik7Ci0gICAgICAgICAgICBzZXRFbmFibGVGZWF0dXJlKGZhbHNlLCBmaW5pc2hKU1Rlc3QpOwot
ICAgICAgICB9Ci0KLSAgICAgICAgY29uc3QgaG9zdFVuZGVyVGVzdCA9ICJsb2NhbGhvc3Q6ODAw
MCI7Ci0gICAgICAgIGNvbnN0IHN0YXRpc3RpY3NVcmwgPSAiaHR0cDovLyIgKyBob3N0VW5kZXJU
ZXN0ICsgIi90ZW1wIjsKLSAgICAgICAgZnVuY3Rpb24gcnVuVGVzdCgpIHsKLSAgICAgICAgICAg
IHRlc3RSdW5uZXIuc2V0VXNlSVRQRGF0YWJhc2UodHJ1ZSk7Ci0gICAgICAgICAgICBzZXRFbmFi
bGVGZWF0dXJlKHRydWUsIGZ1bmN0aW9uKCkgewotICAgICAgICAgICAgICAgIGxldCBpZnJhbWVF
bGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiaWZyYW1lIik7Ci0gICAgICAgICAgICAg
ICAgaWZyYW1lRWxlbWVudC5pZCA9ICJUaGVJZnJhbWVUaGF0UmVxdWVzdHNTdG9yYWdlQWNjZXNz
IjsKLSAgICAgICAgICAgICAgICBpZnJhbWVFbGVtZW50LnNyYyA9ICJodHRwOi8vbG9jYWxob3N0
OjgwMDAvc3RvcmFnZUFjY2Vzcy9yZXNvdXJjZXMvaGFzLXN0b3JhZ2UtYWNjZXNzLWlmcmFtZS5o
dG1sI3BvbGljeVNob3VsZERlbnlBY2Nlc3MiOwotICAgICAgICAgICAgICAgIGRvY3VtZW50LmJv
ZHkuYXBwZW5kQ2hpbGQoaWZyYW1lRWxlbWVudCk7Ci0gICAgICAgICAgICB9KTsKLSAgICAgICAg
fQotICAgIDwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHkgb25sb2FkPSJydW5UZXN0KCkiPgotPC9i
b2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zdG9yYWdl
QWNjZXNzL2hhcy1zdG9yYWdlLWFjY2Vzcy1mYWxzZS1ieS1kZWZhdWx0LWVwaGVtZXJhbC1kYXRh
YmFzZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3N0b3JhZ2VBY2Nlc3Mv
aGFzLXN0b3JhZ2UtYWNjZXNzLWZhbHNlLWJ5LWRlZmF1bHQtZXBoZW1lcmFsLWRhdGFiYXNlLWV4
cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNzI1ZTgxNDVhYTNlOTcx
OTdlODE3NDMxYTI2ZjMzMTQ5YTM0Y2I5My4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3N0b3JhZ2VBY2Nlc3MvaGFz
LXN0b3JhZ2UtYWNjZXNzLWZhbHNlLWJ5LWRlZmF1bHQtZXBoZW1lcmFsLWRhdGFiYXNlLWV4cGVj
dGVkLnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDEwICswLDAgQEAKLVRlc3RzIHRoYXQgZG9jdW1l
bnQuaGFzU3RvcmFnZUFjY2VzcygpIHJldHVybnMgZmFsc2UgZm9yIGEgM3JkLXBhcnR5IGlmcmFt
ZSBieSBkZWZhdWx0IChlcGhlbWVyYWwgc2Vzc2lvbikuCi0KLU9uIHN1Y2Nlc3MsIHlvdSB3aWxs
IHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBM
RVRFIi4KLQotCi1QQVNTIE5vIHN0b3JhZ2UgYWNjZXNzLiBkb2N1bWVudC5jb29raWUgPT0gLCBj
b29raWVzIHNlZW4gc2VydmVyLXNpZGUgPT0gIk5vIGNvb2tpZXMiCi1QQVNTIHN1Y2Nlc3NmdWxs
eVBhcnNlZCBpcyB0cnVlCi0KLVRFU1QgQ09NUExFVEUKLQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy9zdG9yYWdlQWNjZXNzL2hhcy1zdG9yYWdlLWFjY2Vzcy1mYWxzZS1ieS1k
ZWZhdWx0LWVwaGVtZXJhbC1kYXRhYmFzZS5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9z
dG9yYWdlQWNjZXNzL2hhcy1zdG9yYWdlLWFjY2Vzcy1mYWxzZS1ieS1kZWZhdWx0LWVwaGVtZXJh
bC1kYXRhYmFzZS5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA2NTY2MWYxMDFl
ZGQxNWZhYWMwNDUyMDBhNTIyY2EyNzMzZGVmYWIzLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc3RvcmFnZUFjY2Vz
cy9oYXMtc3RvcmFnZS1hY2Nlc3MtZmFsc2UtYnktZGVmYXVsdC1lcGhlbWVyYWwtZGF0YWJhc2Uu
aHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDM3ICswLDAgQEAKLTwhLS0gd2Via2l0LXRlc3QtcnVu
bmVyIFsgdXNlRXBoZW1lcmFsU2Vzc2lvbj10cnVlIF0gLS0+Ci08IURPQ1RZUEUgaHRtbD4KLTxo
dG1sPgotPGhlYWQ+Ci0gICAgPHNjcmlwdCBzcmM9Ii9qcy10ZXN0LXJlc291cmNlcy9qcy10ZXN0
LmpzIj48L3NjcmlwdD4KLSAgICA8c2NyaXB0IHNyYz0iL3Jlc291cmNlTG9hZFN0YXRpc3RpY3Mv
cmVzb3VyY2VzL3V0aWwuanMiPjwvc2NyaXB0PgotICAgIDxzY3JpcHQ+Ci0gICAgICAgIGRlc2Ny
aXB0aW9uKCJUZXN0cyB0aGF0IGRvY3VtZW50Lmhhc1N0b3JhZ2VBY2Nlc3MoKSByZXR1cm5zIGZh
bHNlIGZvciBhIDNyZC1wYXJ0eSBpZnJhbWUgYnkgZGVmYXVsdCAoZXBoZW1lcmFsIHNlc3Npb24p
LiIpOwotICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKLQotICAgICAgICB3aW5kb3cuYWRk
RXZlbnRMaXN0ZW5lcigibWVzc2FnZSIsIHJlY2VpdmVNZXNzYWdlLCBmYWxzZSk7Ci0KLSAgICAg
ICAgZnVuY3Rpb24gcmVjZWl2ZU1lc3NhZ2UoZXZlbnQpIHsKLSAgICAgICAgICAgIGlmIChldmVu
dC5vcmlnaW4gPT09ICJodHRwOi8vbG9jYWxob3N0OjgwMDAiKSB7Ci0gICAgICAgICAgICAgICAg
aWYgKGV2ZW50LmRhdGEuaW5kZXhPZigiUEFTUyIpICE9PSAtMSkKLSAgICAgICAgICAgICAgICAg
ICAgdGVzdFBhc3NlZChldmVudC5kYXRhLnJlcGxhY2UoIlBBU1MgIiwgIiIpKTsKLSAgICAgICAg
ICAgICAgICBlbHNlCi0gICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoZXZlbnQuZGF0YS5y
ZXBsYWNlKCJGQUlMICIsICIiKSk7Ci0gICAgICAgICAgICB9IGVsc2UKLSAgICAgICAgICAgICAg
ICB0ZXN0RmFpbGVkKCJSZWNlaXZlZCBhIG1lc3NhZ2UgZnJvbSBhbiB1bmV4cGVjdGVkIG9yaWdp
bjogIiArIGV2ZW50Lm9yaWdpbik7Ci0gICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKLSAgICAg
ICAgfQotCi0gICAgICAgIGNvbnN0IGhvc3RVbmRlclRlc3QgPSAibG9jYWxob3N0OjgwMDAiOwot
ICAgICAgICBjb25zdCBzdGF0aXN0aWNzVXJsID0gImh0dHA6Ly8iICsgaG9zdFVuZGVyVGVzdCAr
ICIvdGVtcCI7Ci0gICAgICAgIGZ1bmN0aW9uIHJ1blRlc3QoKSB7Ci0gICAgICAgICAgICB0ZXN0
UnVubmVyLnNldFVzZUlUUERhdGFiYXNlKHRydWUpOwotICAgICAgICAgICAgbGV0IGlmcmFtZUVs
ZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJpZnJhbWUiKTsKLSAgICAgICAgICAgIGlm
cmFtZUVsZW1lbnQuaWQgPSAiVGhlSWZyYW1lVGhhdFJlcXVlc3RzU3RvcmFnZUFjY2VzcyI7Ci0g
ICAgICAgICAgICBpZnJhbWVFbGVtZW50LnNyYyA9ICJodHRwOi8vbG9jYWxob3N0OjgwMDAvc3Rv
cmFnZUFjY2Vzcy9yZXNvdXJjZXMvaGFzLXN0b3JhZ2UtYWNjZXNzLWlmcmFtZS5odG1sI3BvbGlj
eVNob3VsZERlbnlBY2Nlc3MiOwotICAgICAgICAgICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGls
ZChpZnJhbWVFbGVtZW50KTsKLSAgICAgICAgfQotICAgIDwvc2NyaXB0PgotPC9oZWFkPgotPGJv
ZHkgb25sb2FkPSJydW5UZXN0KCkiPgotPC9ib2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy9zdG9yYWdlQWNjZXNzL2hhcy1zdG9yYWdlLWFjY2Vzcy1mcm9t
LXByZXZhbGVudC1kb21haW4td2l0aC11c2VyLWludGVyYWN0aW9uLWRhdGFiYXNlLWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc3RvcmFnZUFjY2Vzcy9oYXMtc3RvcmFnZS1h
Y2Nlc3MtZnJvbS1wcmV2YWxlbnQtZG9tYWluLXdpdGgtdXNlci1pbnRlcmFjdGlvbi1kYXRhYmFz
ZS1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDgzOThjN2JkMGQw
NWEyZDM4NTFjOTdhNDgxOThlNDZmM2Y3MjM1NzkuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zdG9yYWdlQWNjZXNz
L2hhcy1zdG9yYWdlLWFjY2Vzcy1mcm9tLXByZXZhbGVudC1kb21haW4td2l0aC11c2VyLWludGVy
YWN0aW9uLWRhdGFiYXNlLWV4cGVjdGVkLnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDEwICswLDAg
QEAKLVRlc3RzIHRoYXQgYSBjcm9zcy1vcmlnaW4gaWZyYW1lIGZyb20gYSBwcmV2YWxlbnQgZG9t
YWluIHdpdGggdXNlciBpbnRlcmFjdGlvbiBkb2VzIG5vdCBoYXZlIHN0b3JhZ2UgYWNjZXNzLgot
Ci1PbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBm
b2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCi0KLQotUEFTUyBObyBzdG9yYWdlIGFjY2Vzcy4g
ZG9jdW1lbnQuY29va2llID09ICwgY29va2llcyBzZWVuIHNlcnZlci1zaWRlID09ICJObyBjb29r
aWVzIgotUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQotCi1URVNUIENPTVBMRVRFCi0K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc3RvcmFnZUFjY2Vzcy9oYXMtc3Rv
cmFnZS1hY2Nlc3MtZnJvbS1wcmV2YWxlbnQtZG9tYWluLXdpdGgtdXNlci1pbnRlcmFjdGlvbi1k
YXRhYmFzZS5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zdG9yYWdlQWNjZXNzL2hhcy1z
dG9yYWdlLWFjY2Vzcy1mcm9tLXByZXZhbGVudC1kb21haW4td2l0aC11c2VyLWludGVyYWN0aW9u
LWRhdGFiYXNlLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGMzMWRkMWVkOGY0
OTc2ZWNiNGM3ZTM3NmY5ODg2ZmFhMmE2YWQ5ZmIuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zdG9yYWdlQWNjZXNz
L2hhcy1zdG9yYWdlLWFjY2Vzcy1mcm9tLXByZXZhbGVudC1kb21haW4td2l0aC11c2VyLWludGVy
YWN0aW9uLWRhdGFiYXNlLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSw0OSArMCwwIEBACi08IURP
Q1RZUEUgaHRtbD4KLTxodG1sPgotPGhlYWQ+Ci0gICAgPHNjcmlwdCBzcmM9Ii9qcy10ZXN0LXJl
c291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KLSAgICA8c2NyaXB0IHNyYz0iL2pzLXRlc3Qt
cmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Ci0gICAgPHNjcmlwdCBzcmM9Ii9yZXNv
dXJjZUxvYWRTdGF0aXN0aWNzL3Jlc291cmNlcy91dGlsLmpzIj48L3NjcmlwdD4KLSAgICA8c2Ny
aXB0PgotICAgICAgICBkZXNjcmlwdGlvbigiVGVzdHMgdGhhdCBhIGNyb3NzLW9yaWdpbiBpZnJh
bWUgZnJvbSBhIHByZXZhbGVudCBkb21haW4gd2l0aCB1c2VyIGludGVyYWN0aW9uIGRvZXMgbm90
IGhhdmUgc3RvcmFnZSBhY2Nlc3MuIik7Ci0gICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOwot
Ci0gICAgICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJtZXNzYWdlIiwgcmVjZWl2ZU1lc3Nh
Z2UsIGZhbHNlKTsKLQotICAgICAgICBmdW5jdGlvbiByZWNlaXZlTWVzc2FnZShldmVudCkgewot
ICAgICAgICAgICAgaWYgKGV2ZW50Lm9yaWdpbiA9PT0gImh0dHA6Ly9sb2NhbGhvc3Q6ODAwMCIp
IHsKLSAgICAgICAgICAgICAgICBpZiAoZXZlbnQuZGF0YS5pbmRleE9mKCJQQVNTIikgIT09IC0x
KQotICAgICAgICAgICAgICAgICAgICB0ZXN0UGFzc2VkKGV2ZW50LmRhdGEucmVwbGFjZSgiUEFT
UyAiLCAiIikpOwotICAgICAgICAgICAgICAgIGVsc2UKLSAgICAgICAgICAgICAgICAgICAgdGVz
dEZhaWxlZChldmVudC5kYXRhKTsKLSAgICAgICAgICAgIH0gZWxzZQotICAgICAgICAgICAgICAg
IHRlc3RGYWlsZWQoIlJlY2VpdmVkIGEgbWVzc2FnZSBmcm9tIGFuIHVuZXhwZWN0ZWQgb3JpZ2lu
OiAiICsgZXZlbnQub3JpZ2luKTsKLSAgICAgICAgICAgIHNldEVuYWJsZUZlYXR1cmUoZmFsc2Us
IGZpbmlzaEpTVGVzdCk7Ci0gICAgICAgIH0KLQotICAgICAgICBjb25zdCBob3N0VW5kZXJUZXN0
ID0gImxvY2FsaG9zdDo4MDAwIjsKLSAgICAgICAgY29uc3Qgc3RhdGlzdGljc1VybCA9ICJodHRw
Oi8vIiArIGhvc3RVbmRlclRlc3QgKyAiL3RlbXAiOwotICAgICAgICBmdW5jdGlvbiBydW5UZXN0
KCkgewotICAgICAgICAgICAgdGVzdFJ1bm5lci5zZXRVc2VJVFBEYXRhYmFzZSh0cnVlKTsKLSAg
ICAgICAgICAgIHNldEVuYWJsZUZlYXR1cmUodHJ1ZSwgZnVuY3Rpb24oKSB7Ci0gICAgICAgICAg
ICAgICAgdGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNzUHJldmFsZW50UmVzb3VyY2Uoc3RhdGlzdGlj
c1VybCwgdHJ1ZSwgZnVuY3Rpb24oKSB7Ci0gICAgICAgICAgICAgICAgICAgIGlmICghdGVzdFJ1
bm5lci5pc1N0YXRpc3RpY3NQcmV2YWxlbnRSZXNvdXJjZShzdGF0aXN0aWNzVXJsKSkKLSAgICAg
ICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoIkhvc3QgZGlkIG5vdCBnZXQgc2V0IGFzIHBy
ZXZhbGVudCByZXNvdXJjZS4iKTsKLSAgICAgICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5zZXRT
dGF0aXN0aWNzSGFzSGFkVXNlckludGVyYWN0aW9uKHN0YXRpc3RpY3NVcmwsIHRydWUsIGZ1bmN0
aW9uKCkgewotICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCF0ZXN0UnVubmVyLmlzU3RhdGlz
dGljc0hhc0hhZFVzZXJJbnRlcmFjdGlvbihzdGF0aXN0aWNzVXJsKSkKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICB0ZXN0RmFpbGVkKCJIb3N0IGRpZCBub3QgZ2V0IGxvZ2dlZCBmb3IgdXNl
ciBpbnRlcmFjdGlvbi4iKTsKLSAgICAgICAgICAgICAgICAgICAgICAgIGxldCBpZnJhbWVFbGVt
ZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiaWZyYW1lIik7Ci0gICAgICAgICAgICAgICAg
ICAgICAgICBpZnJhbWVFbGVtZW50LnNldEF0dHJpYnV0ZSgic2FuZGJveCIsICJhbGxvdy1zdG9y
YWdlLWFjY2Vzcy1ieS11c2VyLWFjdGl2YXRpb24gYWxsb3ctc2NyaXB0cyBhbGxvdy1zYW1lLW9y
aWdpbiBhbGxvdy1tb2RhbHMiKTsKLSAgICAgICAgICAgICAgICAgICAgICAgIGlmcmFtZUVsZW1l
bnQuaWQgPSAiVGhlSWZyYW1lVGhhdFJlcXVlc3RzU3RvcmFnZUFjY2VzcyI7Ci0gICAgICAgICAg
ICAgICAgICAgICAgICBpZnJhbWVFbGVtZW50LnNyYyA9ICJodHRwOi8vbG9jYWxob3N0OjgwMDAv
c3RvcmFnZUFjY2Vzcy9yZXNvdXJjZXMvaGFzLXN0b3JhZ2UtYWNjZXNzLWlmcmFtZS5odG1sI3Bv
bGljeVNob3VsZE5vdEdyYW50QWNjZXNzIjsKLSAgICAgICAgICAgICAgICAgICAgICAgIGRvY3Vt
ZW50LmJvZHkuYXBwZW5kQ2hpbGQoaWZyYW1lRWxlbWVudCk7Ci0gICAgICAgICAgICAgICAgICAg
IH0pOwotICAgICAgICAgICAgICAgIH0pOwotCi0gICAgICAgICAgICB9KTsKLSAgICAgICAgfQot
ICAgIDwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHkgb25sb2FkPSJydW5UZXN0KCkiPgotPC9ib2R5
PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zdG9yYWdlQWNj
ZXNzL2hhcy1zdG9yYWdlLWFjY2Vzcy10cnVlLWlmLXRoaXJkLXBhcnR5LWhhcy1jb29raWVzLWRh
dGFiYXNlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc3RvcmFnZUFjY2Vz
cy9oYXMtc3RvcmFnZS1hY2Nlc3MtdHJ1ZS1pZi10aGlyZC1wYXJ0eS1oYXMtY29va2llcy1kYXRh
YmFzZS1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGVlNTQwNDky
ODc3OGEyNmYwYmQ3ZmE4OWUxNWNkN2ZiMTE0ZWMyMWUuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zdG9yYWdlQWNj
ZXNzL2hhcy1zdG9yYWdlLWFjY2Vzcy10cnVlLWlmLXRoaXJkLXBhcnR5LWhhcy1jb29raWVzLWRh
dGFiYXNlLWV4cGVjdGVkLnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDEwICswLDAgQEAKLVRlc3Rz
IHRoYXQgZG9jdW1lbnQuaGFzU3RvcmFnZUFjY2VzcygpIHJldHVybnMgdHJ1ZSBmb3IgYSAzcmQt
cGFydHkgaWZyYW1lIGlmIHRoZSAzcmQtcGFydHkgaGFzIGNvb2tpZXMgc2V0LgotCi1PbiBzdWNj
ZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBi
eSAiVEVTVCBDT01QTEVURSIuCi0KLQotUEFTUyBIYXMgc3RvcmFnZSBhY2Nlc3MuIGRvY3VtZW50
LmNvb2tpZSA9PSBmaXJzdFBhcnR5Q29va2llPXZhbHVlLCBjb29raWVzIHNlZW4gc2VydmVyLXNp
ZGUgPT0geyJmaXJzdFBhcnR5Q29va2llIjoidmFsdWUifQotUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQotCi1URVNUIENPTVBMRVRFCi0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0
dHAvdGVzdHMvc3RvcmFnZUFjY2Vzcy9oYXMtc3RvcmFnZS1hY2Nlc3MtdHJ1ZS1pZi10aGlyZC1w
YXJ0eS1oYXMtY29va2llcy1kYXRhYmFzZS5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9z
dG9yYWdlQWNjZXNzL2hhcy1zdG9yYWdlLWFjY2Vzcy10cnVlLWlmLXRoaXJkLXBhcnR5LWhhcy1j
b29raWVzLWRhdGFiYXNlLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGJhZDJl
Y2Y2ZThhMjI1MzY4Y2IyZDRkNjI4YWViODY3ZGUwNjEwYWMuLjAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zdG9yYWdl
QWNjZXNzL2hhcy1zdG9yYWdlLWFjY2Vzcy10cnVlLWlmLXRoaXJkLXBhcnR5LWhhcy1jb29raWVz
LWRhdGFiYXNlLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSw0MiArMCwwIEBACi08IURPQ1RZUEUg
aHRtbD4KLTxodG1sPgotPGhlYWQ+Ci0gICAgPHNjcmlwdCBzcmM9Ii9qcy10ZXN0LXJlc291cmNl
cy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KLSAgICA8c2NyaXB0IHNyYz0iL3Jlc291cmNlTG9hZFN0
YXRpc3RpY3MvcmVzb3VyY2VzL3V0aWwuanMiPjwvc2NyaXB0PgotICAgIDxzY3JpcHQ+Ci0gICAg
ICAgIGRlc2NyaXB0aW9uKCJUZXN0cyB0aGF0IGRvY3VtZW50Lmhhc1N0b3JhZ2VBY2Nlc3MoKSBy
ZXR1cm5zIHRydWUgZm9yIGEgM3JkLXBhcnR5IGlmcmFtZSBpZiB0aGUgM3JkLXBhcnR5IGhhcyBj
b29raWVzIHNldC4iKTsKLSAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7Ci0KLSAgICAgICAg
d2luZG93LmFkZEV2ZW50TGlzdGVuZXIoIm1lc3NhZ2UiLCByZWNlaXZlTWVzc2FnZSwgZmFsc2Up
OwotCi0gICAgICAgIGZ1bmN0aW9uIHJlY2VpdmVNZXNzYWdlKGV2ZW50KSB7Ci0gICAgICAgICAg
ICBpZiAoZXZlbnQub3JpZ2luID09PSAiaHR0cDovL2xvY2FsaG9zdDo4MDAwIikgewotICAgICAg
ICAgICAgICAgIGlmIChldmVudC5kYXRhLmluZGV4T2YoIlBBU1MiKSAhPT0gLTEpCi0gICAgICAg
ICAgICAgICAgICAgIHRlc3RQYXNzZWQoZXZlbnQuZGF0YS5yZXBsYWNlKCJQQVNTICIsICIiKSk7
Ci0gICAgICAgICAgICAgICAgZWxzZQotICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGV2
ZW50LmRhdGEucmVwbGFjZSgiRkFJTCAiLCAiIikpOwotICAgICAgICAgICAgfSBlbHNlCi0gICAg
ICAgICAgICAgICAgdGVzdEZhaWxlZCgiUmVjZWl2ZWQgYSBtZXNzYWdlIGZyb20gYW4gdW5leHBl
Y3RlZCBvcmlnaW46ICIgKyBldmVudC5vcmlnaW4pOwotICAgICAgICAgICAgc2V0RW5hYmxlRmVh
dHVyZShmYWxzZSwgZmluaXNoSlNUZXN0KTsKLSAgICAgICAgfQotCi0gICAgICAgIGNvbnN0IGhv
c3RVbmRlclRlc3QgPSAibG9jYWxob3N0OjgwMDAiOwotICAgICAgICBjb25zdCBzdGF0aXN0aWNz
VXJsID0gImh0dHA6Ly8iICsgaG9zdFVuZGVyVGVzdDsKLSAgICAgICAgZnVuY3Rpb24gcnVuVGVz
dCgpIHsKLSAgICAgICAgICAgIGlmIChkb2N1bWVudC5sb2NhdGlvbi5oYXNoICE9PSAiI2ZpcnN0
UGFydHlDb29raWVTZXQiKSB7Ci0gICAgICAgICAgICAgICAgc2V0RW5hYmxlRmVhdHVyZSh0cnVl
LCBmdW5jdGlvbigpIHsKLSAgICAgICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5zZXRVc2VJVFBE
YXRhYmFzZSh0cnVlKTsKLSAgICAgICAgICAgICAgICAgICAgZG9jdW1lbnQubG9jYXRpb24uaHJl
ZiA9IHN0YXRpc3RpY3NVcmwgKyAiL3N0b3JhZ2VBY2Nlc3MvcmVzb3VyY2VzL3NldC1jb29raWUu
cGhwP25hbWU9Zmlyc3RQYXJ0eUNvb2tpZSZ2YWx1ZT12YWx1ZSNodHRwOi8vMTI3LjAuMC4xOjgw
MDAvc3RvcmFnZUFjY2Vzcy9oYXMtc3RvcmFnZS1hY2Nlc3MtdHJ1ZS1pZi10aGlyZC1wYXJ0eS1o
YXMtY29va2llcy1kYXRhYmFzZS5odG1sI2ZpcnN0UGFydHlDb29raWVTZXQiOwotICAgICAgICAg
ICAgICAgIH0pOwotICAgICAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAgICAgICBsZXQgaWZy
YW1lRWxlbWVudCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImlmcmFtZSIpOwotICAgICAgICAg
ICAgICAgIGlmcmFtZUVsZW1lbnQuaWQgPSAiVGhlSWZyYW1lVGhhdFJlcXVlc3RzU3RvcmFnZUFj
Y2VzcyI7Ci0gICAgICAgICAgICAgICAgaWZyYW1lRWxlbWVudC5zcmMgPSAiaHR0cDovL2xvY2Fs
aG9zdDo4MDAwL3N0b3JhZ2VBY2Nlc3MvcmVzb3VyY2VzL2hhcy1zdG9yYWdlLWFjY2Vzcy1pZnJh
bWUuaHRtbCNwb2xpY3lTaG91bGRHcmFudEFjY2VzcyI7Ci0gICAgICAgICAgICAgICAgZG9jdW1l
bnQuYm9keS5hcHBlbmRDaGlsZChpZnJhbWVFbGVtZW50KTsKLSAgICAgICAgICAgIH0KLSAgICAg
ICAgfQotICAgIDwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHkgb25sb2FkPSJydW5UZXN0KCkiPgot
PC9ib2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zdG9y
YWdlQWNjZXNzL2hhcy1zdG9yYWdlLWFjY2Vzcy10cnVlLWlmLXRoaXJkLXBhcnR5LWhhcy1jb29r
aWVzLWVwaGVtZXJhbC1kYXRhYmFzZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3Rl
c3RzL3N0b3JhZ2VBY2Nlc3MvaGFzLXN0b3JhZ2UtYWNjZXNzLXRydWUtaWYtdGhpcmQtcGFydHkt
aGFzLWNvb2tpZXMtZXBoZW1lcmFsLWRhdGFiYXNlLWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggNDc3MzJmODEyY2YwY2E3ZWZkY2YyYmFkMDJhN2MxZDE3YmQ1ODZl
Ny4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRU
ZXN0cy9odHRwL3Rlc3RzL3N0b3JhZ2VBY2Nlc3MvaGFzLXN0b3JhZ2UtYWNjZXNzLXRydWUtaWYt
dGhpcmQtcGFydHktaGFzLWNvb2tpZXMtZXBoZW1lcmFsLWRhdGFiYXNlLWV4cGVjdGVkLnR4dAor
KysgL2Rldi9udWxsCkBAIC0xLDEwICswLDAgQEAKLVRlc3RzIHRoYXQgZG9jdW1lbnQuaGFzU3Rv
cmFnZUFjY2VzcygpIHJldHVybnMgdHJ1ZSBmb3IgYSAzcmQtcGFydHkgaWZyYW1lIGlmIHRoZSAz
cmQtcGFydHkgaGFzIGNvb2tpZXMgc2V0IChlcGhlbWVyYWwgc2Vzc2lvbikuCi0KLU9uIHN1Y2Nl
c3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5
ICJURVNUIENPTVBMRVRFIi4KLQotCi1QQVNTIEhhcyBzdG9yYWdlIGFjY2Vzcy4gZG9jdW1lbnQu
Y29va2llID09IGZpcnN0UGFydHlDb29raWU9dmFsdWUsIGNvb2tpZXMgc2VlbiBzZXJ2ZXItc2lk
ZSA9PSB7ImZpcnN0UGFydHlDb29raWUiOiJ2YWx1ZSJ9Ci1QQVNTIHN1Y2Nlc3NmdWxseVBhcnNl
ZCBpcyB0cnVlCi0KLVRFU1QgQ09NUExFVEUKLQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy9zdG9yYWdlQWNjZXNzL2hhcy1zdG9yYWdlLWFjY2Vzcy10cnVlLWlmLXRoaXJkLXBh
cnR5LWhhcy1jb29raWVzLWVwaGVtZXJhbC1kYXRhYmFzZS5odG1sIGIvTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy9zdG9yYWdlQWNjZXNzL2hhcy1zdG9yYWdlLWFjY2Vzcy10cnVlLWlmLXRoaXJkLXBh
cnR5LWhhcy1jb29raWVzLWVwaGVtZXJhbC1kYXRhYmFzZS5odG1sCmRlbGV0ZWQgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAxZDYwMTRiYzFlZGU4YTBlZjY5NTU5MzIwZmRmZTkwYmU2MGU3YmQxLi4w
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3Rz
L2h0dHAvdGVzdHMvc3RvcmFnZUFjY2Vzcy9oYXMtc3RvcmFnZS1hY2Nlc3MtdHJ1ZS1pZi10aGly
ZC1wYXJ0eS1oYXMtY29va2llcy1lcGhlbWVyYWwtZGF0YWJhc2UuaHRtbAorKysgL2Rldi9udWxs
CkBAIC0xLDQzICswLDAgQEAKLTwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRXBoZW1lcmFs
U2Vzc2lvbj10cnVlIF0gLS0+Ci08IURPQ1RZUEUgaHRtbD4KLTxodG1sPgotPGhlYWQ+Ci0gICAg
PHNjcmlwdCBzcmM9Ii9qcy10ZXN0LXJlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KLSAg
ICA8c2NyaXB0IHNyYz0iL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvcmVzb3VyY2VzL3V0aWwuanMi
Pjwvc2NyaXB0PgotICAgIDxzY3JpcHQ+Ci0gICAgICAgIGRlc2NyaXB0aW9uKCJUZXN0cyB0aGF0
IGRvY3VtZW50Lmhhc1N0b3JhZ2VBY2Nlc3MoKSByZXR1cm5zIHRydWUgZm9yIGEgM3JkLXBhcnR5
IGlmcmFtZSBpZiB0aGUgM3JkLXBhcnR5IGhhcyBjb29raWVzIHNldCAoZXBoZW1lcmFsIHNlc3Np
b24pLiIpOwotICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKLQotICAgICAgICB3aW5kb3cu
YWRkRXZlbnRMaXN0ZW5lcigibWVzc2FnZSIsIHJlY2VpdmVNZXNzYWdlLCBmYWxzZSk7Ci0KLSAg
ICAgICAgZnVuY3Rpb24gcmVjZWl2ZU1lc3NhZ2UoZXZlbnQpIHsKLSAgICAgICAgICAgIGlmIChl
dmVudC5vcmlnaW4gPT09ICJodHRwOi8vbG9jYWxob3N0OjgwMDAiKSB7Ci0gICAgICAgICAgICAg
ICAgaWYgKGV2ZW50LmRhdGEuaW5kZXhPZigiUEFTUyIpICE9PSAtMSkKLSAgICAgICAgICAgICAg
ICAgICAgdGVzdFBhc3NlZChldmVudC5kYXRhLnJlcGxhY2UoIlBBU1MgIiwgIiIpKTsKLSAgICAg
ICAgICAgICAgICBlbHNlCi0gICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoZXZlbnQuZGF0
YS5yZXBsYWNlKCJGQUlMICIsICIiKSk7Ci0gICAgICAgICAgICB9IGVsc2UKLSAgICAgICAgICAg
ICAgICB0ZXN0RmFpbGVkKCJSZWNlaXZlZCBhIG1lc3NhZ2UgZnJvbSBhbiB1bmV4cGVjdGVkIG9y
aWdpbjogIiArIGV2ZW50Lm9yaWdpbik7Ci0gICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKLSAg
ICAgICAgfQotCi0gICAgICAgIGNvbnN0IGhvc3RVbmRlclRlc3QgPSAibG9jYWxob3N0OjgwMDAi
OwotICAgICAgICBjb25zdCBzdGF0aXN0aWNzVXJsID0gImh0dHA6Ly8iICsgaG9zdFVuZGVyVGVz
dDsKLSAgICAgICAgZnVuY3Rpb24gcnVuVGVzdCgpIHsKLSAgICAgICAgICAgIHRlc3RSdW5uZXIu
c2V0VXNlSVRQRGF0YWJhc2UodHJ1ZSk7Ci0gICAgICAgICAgICBpZiAoZG9jdW1lbnQubG9jYXRp
b24uaGFzaCAhPT0gIiNmaXJzdFBhcnR5Q29va2llU2V0IikgewotICAgICAgICAgICAgICAgIGRv
Y3VtZW50LmxvY2F0aW9uLmhyZWYgPSBzdGF0aXN0aWNzVXJsICsgIi9zdG9yYWdlQWNjZXNzL3Jl
c291cmNlcy9zZXQtY29va2llLnBocD9uYW1lPWZpcnN0UGFydHlDb29raWUmdmFsdWU9dmFsdWUj
aHR0cDovLzEyNy4wLjAuMTo4MDAwL3N0b3JhZ2VBY2Nlc3MvaGFzLXN0b3JhZ2UtYWNjZXNzLXRy
dWUtaWYtdGhpcmQtcGFydHktaGFzLWNvb2tpZXMtZXBoZW1lcmFsLWRhdGFiYXNlLmh0bWwjZmly
c3RQYXJ0eUNvb2tpZVNldCI7Ci0gICAgICAgICAgICB9IGVsc2UgewotICAgICAgICAgICAgICAg
IHNldEVuYWJsZUZlYXR1cmUoZmFsc2UsIGZ1bmN0aW9uICgpIHsKLSAgICAgICAgICAgICAgICAg
ICAgbGV0IGlmcmFtZUVsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJpZnJhbWUiKTsK
LSAgICAgICAgICAgICAgICAgICAgaWZyYW1lRWxlbWVudC5pZCA9ICJUaGVJZnJhbWVUaGF0UmVx
dWVzdHNTdG9yYWdlQWNjZXNzIjsKLSAgICAgICAgICAgICAgICAgICAgaWZyYW1lRWxlbWVudC5z
cmMgPSAiaHR0cDovL2xvY2FsaG9zdDo4MDAwL3N0b3JhZ2VBY2Nlc3MvcmVzb3VyY2VzL2hhcy1z
dG9yYWdlLWFjY2Vzcy1pZnJhbWUuaHRtbCNwb2xpY3lTaG91bGRHcmFudEFjY2VzcyI7Ci0gICAg
ICAgICAgICAgICAgICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoaWZyYW1lRWxlbWVudCk7
Ci0gICAgICAgICAgICAgICAgfSk7Ci0gICAgICAgICAgICB9Ci0gICAgICAgIH0KLSAgICA8L3Nj
cmlwdD4KLTwvaGVhZD4KLTxib2R5IG9ubG9hZD0icnVuVGVzdCgpIj4KLTwvYm9keT4KLTwvaHRt
bD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc3RvcmFnZUFjY2Vzcy9oYXMt
c3RvcmFnZS1hY2Nlc3MtdW5kZXItZ2VuZXJhbC10aGlyZC1wYXJ0eS1jb29raWUtYmxvY2tpbmct
d2l0aC1jb29raWUtZGF0YWJhc2UtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0
cy9zdG9yYWdlQWNjZXNzL2hhcy1zdG9yYWdlLWFjY2Vzcy11bmRlci1nZW5lcmFsLXRoaXJkLXBh
cnR5LWNvb2tpZS1ibG9ja2luZy13aXRoLWNvb2tpZS1kYXRhYmFzZS1leHBlY3RlZC50eHQKZGVs
ZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGNiMTcxMDNkOWUxYjBhNzRmNDI2MmMzN2I5Yjg1
OWU0ODgwNDkwYTkuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0t
IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zdG9yYWdlQWNjZXNzL2hhcy1zdG9yYWdlLWFjY2Vz
cy11bmRlci1nZW5lcmFsLXRoaXJkLXBhcnR5LWNvb2tpZS1ibG9ja2luZy13aXRoLWNvb2tpZS1k
YXRhYmFzZS1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSwxNSArMCwwIEBACi1UZXN0
cyBkb2N1bWVudC5oYXNTdG9yYWdlQWNjZXNzKCkgZm9yIGEgM3JkLXBhcnR5IHdpdGggY29va2ll
cyB1bmRlciBnZW5lcmFsIHRoaXJkLXBhcnR5IGNvb2tpZSBibG9ja2luZy4KLQotT24gc3VjY2Vz
cywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkg
IlRFU1QgQ09NUExFVEUiLgotCi0KLVBBU1MgSGFzIHN0b3JhZ2UgYWNjZXNzLiBkb2N1bWVudC5j
b29raWUgPT0gZmlyc3RQYXJ0eUNvb2tpZT12YWx1ZSwgY29va2llcyBzZWVuIHNlcnZlci1zaWRl
ID09IHsiZmlyc3RQYXJ0eUNvb2tpZSI6InZhbHVlIn0KLVBBU1MgSGFzIHN0b3JhZ2UgYWNjZXNz
LiBkb2N1bWVudC5jb29raWUgPT0gZmlyc3RQYXJ0eUNvb2tpZT12YWx1ZSwgY29va2llcyBzZWVu
IHNlcnZlci1zaWRlID09IHsiZmlyc3RQYXJ0eUNvb2tpZSI6InZhbHVlIn0KLVBBU1MgSGFzIHN0
b3JhZ2UgYWNjZXNzLiBkb2N1bWVudC5jb29raWUgPT0gZmlyc3RQYXJ0eUNvb2tpZT12YWx1ZSwg
Y29va2llcyBzZWVuIHNlcnZlci1zaWRlID09IHsiZmlyc3RQYXJ0eUNvb2tpZSI6InZhbHVlIn0K
LVBBU1MgTm8gc3RvcmFnZSBhY2Nlc3MuIGRvY3VtZW50LmNvb2tpZSA9PSAsIGNvb2tpZXMgc2Vl
biBzZXJ2ZXItc2lkZSA9PSAiTm8gY29va2llcyIKLVBBU1MgTm8gc3RvcmFnZSBhY2Nlc3MuIGRv
Y3VtZW50LmNvb2tpZSA9PSAsIGNvb2tpZXMgc2VlbiBzZXJ2ZXItc2lkZSA9PSAiTm8gY29va2ll
cyIKLVBBU1MgTm8gc3RvcmFnZSBhY2Nlc3MuIGRvY3VtZW50LmNvb2tpZSA9PSAsIGNvb2tpZXMg
c2VlbiBzZXJ2ZXItc2lkZSA9PSAiTm8gY29va2llcyIKLVBBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2Vk
IGlzIHRydWUKLQotVEVTVCBDT01QTEVURQotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL3N0b3JhZ2VBY2Nlc3MvaGFzLXN0b3JhZ2UtYWNjZXNzLXVuZGVyLWdlbmVyYWwtdGhp
cmQtcGFydHktY29va2llLWJsb2NraW5nLXdpdGgtY29va2llLWRhdGFiYXNlLmh0bWwgYi9MYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL3N0b3JhZ2VBY2Nlc3MvaGFzLXN0b3JhZ2UtYWNjZXNzLXVuZGVy
LWdlbmVyYWwtdGhpcmQtcGFydHktY29va2llLWJsb2NraW5nLXdpdGgtY29va2llLWRhdGFiYXNl
Lmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGFjZjVkZjM4ZmU1MjEzODhmZGRm
MjA1ZDM4MmMyOGQ1NTgxYzNmZjIuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zdG9yYWdlQWNjZXNzL2hhcy1zdG9y
YWdlLWFjY2Vzcy11bmRlci1nZW5lcmFsLXRoaXJkLXBhcnR5LWNvb2tpZS1ibG9ja2luZy13aXRo
LWNvb2tpZS1kYXRhYmFzZS5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsMTI0ICswLDAgQEAKLTwh
RE9DVFlQRSBodG1sPgotPGh0bWw+Ci08aGVhZD4KLSAgICA8c2NyaXB0IHNyYz0iL2pzLXRlc3Qt
cmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgotICAgIDxzY3JpcHQgc3JjPSIvcmVzb3Vy
Y2VMb2FkU3RhdGlzdGljcy9yZXNvdXJjZXMvdXRpbC5qcyI+PC9zY3JpcHQ+Ci0gICAgPHNjcmlw
dD4KLSAgICAgICAgZGVzY3JpcHRpb24oIlRlc3RzIGRvY3VtZW50Lmhhc1N0b3JhZ2VBY2Nlc3Mo
KSBmb3IgYSAzcmQtcGFydHkgd2l0aCBjb29raWVzIHVuZGVyIGdlbmVyYWwgdGhpcmQtcGFydHkg
Y29va2llIGJsb2NraW5nLiIpOwotICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKLSAgICAg
ICAgdGVzdFJ1bm5lci5zZXRVc2VJVFBEYXRhYmFzZSh0cnVlKTsKLQotICAgICAgICBjb25zdCBm
aXJzdFBhcnR5VXJsID0gImh0dHA6Ly8xMjcuMC4wLjE6ODAwMCI7Ci0gICAgICAgIGNvbnN0IHRo
aXJkUGFydHlVcmwgPSAiaHR0cDovL2xvY2FsaG9zdDo4MDAwIjsKLQotICAgICAgICB3aW5kb3cu
YWRkRXZlbnRMaXN0ZW5lcigibWVzc2FnZSIsIHJlY2VpdmVNZXNzYWdlLCBmYWxzZSk7Ci0KLSAg
ICAgICAgZnVuY3Rpb24gcmVjZWl2ZU1lc3NhZ2UoZXZlbnQpIHsKLSAgICAgICAgICAgIGlmIChl
dmVudC5vcmlnaW4gPT09IHRoaXJkUGFydHlVcmwpIHsKLSAgICAgICAgICAgICAgICBpZiAoZXZl
bnQuZGF0YS5pbmRleE9mKCJQQVNTIikgIT09IC0xKQotICAgICAgICAgICAgICAgICAgICB0ZXN0
UGFzc2VkKGV2ZW50LmRhdGEucmVwbGFjZSgiUEFTUyAiLCAiIikpOwotICAgICAgICAgICAgICAg
IGVsc2UKLSAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChldmVudC5kYXRhLnJlcGxhY2Uo
IkZBSUwgIiwgIiIpKTsKLSAgICAgICAgICAgIH0gZWxzZQotICAgICAgICAgICAgICAgIHRlc3RG
YWlsZWQoIlJlY2VpdmVkIGEgbWVzc2FnZSBmcm9tIGFuIHVuZXhwZWN0ZWQgb3JpZ2luOiAiICsg
ZXZlbnQub3JpZ2luKTsKLQotICAgICAgICAgICAgaWYgKGRvY3VtZW50LmxvY2F0aW9uLmhhc2gg
PT09ICIjbGFzdFN0ZXAiKSB7Ci0gICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5zZXRTdGF0aXN0
aWNzU2hvdWxkQmxvY2tUaGlyZFBhcnR5Q29va2llcyhmYWxzZSwgZnVuY3Rpb24oKSB7Ci0gICAg
ICAgICAgICAgICAgICAgIHNldEVuYWJsZUZlYXR1cmUoZmFsc2UsIGZpbmlzaEpTVGVzdCk7Ci0g
ICAgICAgICAgICAgICAgfSk7Ci0gICAgICAgICAgICB9IGVsc2UKLSAgICAgICAgICAgICAgICBy
dW5UZXN0cygpOwotICAgICAgICB9Ci0KLSAgICAgICAgZnVuY3Rpb24gcnVuVGVzdHMoKSB7Ci0g
ICAgICAgICAgICBzd2l0Y2ggKGRvY3VtZW50LmxvY2F0aW9uLmhhc2gpIHsKLSAgICAgICAgICAg
ICAgICBjYXNlICIiOgotICAgICAgICAgICAgICAgICAgICBzZXRFbmFibGVGZWF0dXJlKHRydWUs
IGZ1bmN0aW9uICgpIHsKLSAgICAgICAgICAgICAgICAgICAgICAgIGlmICh0ZXN0UnVubmVyLmlz
U3RhdGlzdGljc1ByZXZhbGVudFJlc291cmNlKHRoaXJkUGFydHlVcmwpKQotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoIlRoaXJkLXBhcnR5IHN0YXJ0ZWQgb3V0IGFzIHBy
ZXZhbGVudCByZXNvdXJjZS4iKTsKLSAgICAgICAgICAgICAgICAgICAgICAgIGlmICh0ZXN0UnVu
bmVyLmlzU3RhdGlzdGljc0hhc0hhZFVzZXJJbnRlcmFjdGlvbih0aGlyZFBhcnR5VXJsKSkKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKCJUaGlyZC1wYXJ0eSBzdGFydGVk
IG91dCBsb2dnZWQgZm9yIHVzZXIgaW50ZXJhY3Rpb24uIik7Ci0gICAgICAgICAgICAgICAgICAg
ICAgICBpZiAodGVzdFJ1bm5lci5pc1N0YXRpc3RpY3NIYXNIYWRVc2VySW50ZXJhY3Rpb24oZmly
c3RQYXJ0eVVybCkpCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZCgiRmly
c3QtcGFydHkgc3RhcnRlZCBvdXQgbG9nZ2VkIGZvciB1c2VyIGludGVyYWN0aW9uLiIpOwotICAg
ICAgICAgICAgICAgICAgICAgICAgZG9jdW1lbnQubG9jYXRpb24uaGFzaCA9ICJzdGVwMSI7Ci0K
LSAgICAgICAgICAgICAgICAgICAgICAgIC8vIFNldCBhIGNvb2tpZSBmb3IgdGhlIHRoaXJkLXBh
cnR5IGFuZCBjb250aW51ZS4KLSAgICAgICAgICAgICAgICAgICAgICAgIGRvY3VtZW50LmxvY2F0
aW9uLmhyZWYgPSB0aGlyZFBhcnR5VXJsICsgIi9zdG9yYWdlQWNjZXNzL3Jlc291cmNlcy9zZXQt
Y29va2llLnBocD9uYW1lPWZpcnN0UGFydHlDb29raWUmdmFsdWU9dmFsdWUjIiArIGZpcnN0UGFy
dHlVcmwgKyAiL3N0b3JhZ2VBY2Nlc3MvaGFzLXN0b3JhZ2UtYWNjZXNzLXVuZGVyLWdlbmVyYWwt
dGhpcmQtcGFydHktY29va2llLWJsb2NraW5nLXdpdGgtY29va2llLWRhdGFiYXNlLmh0bWwjc3Rl
cDEiOwotICAgICAgICAgICAgICAgICAgICB9KTsKLSAgICAgICAgICAgICAgICAgICAgYnJlYWs7
Ci0KLSAgICAgICAgICAgICAgICBjYXNlICIjc3RlcDEiOgotICAgICAgICAgICAgICAgICAgICBk
b2N1bWVudC5sb2NhdGlvbi5oYXNoID0gInN0ZXAyIjsKLSAgICAgICAgICAgICAgICAgICAgLy8g
Tm8gZ2VuZXJhbCB0aGlyZC1wYXJ0eSBjb29raWUgYmxvY2tpbmcsIG5vIHVzZXIgaW50ZXJhY3Rp
b24sIG5vdCBwcmV2YWxlbnQuCi0gICAgICAgICAgICAgICAgICAgIGxldCBpZnJhbWVFbGVtZW50
ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiaWZyYW1lIik7Ci0gICAgICAgICAgICAgICAgICAg
IGlmcmFtZUVsZW1lbnQuc3JjID0gdGhpcmRQYXJ0eVVybCArICIvc3RvcmFnZUFjY2Vzcy9yZXNv
dXJjZXMvaGFzLXN0b3JhZ2UtYWNjZXNzLWlmcmFtZS5odG1sP2R1bW15PSIgKyBNYXRoLnJhbmRv
bSgpICsgIiNwb2xpY3lTaG91bGRHcmFudEFjY2VzcyI7Ci0gICAgICAgICAgICAgICAgICAgIGRv
Y3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoaWZyYW1lRWxlbWVudCk7Ci0gICAgICAgICAgICAgICAg
ICAgIGJyZWFrOwotICAgICAgICAgICAgICAgIGNhc2UgIiNzdGVwMiI6Ci0gICAgICAgICAgICAg
ICAgICAgIGRvY3VtZW50LmxvY2F0aW9uLmhhc2ggPSAic3RlcDMiOwotICAgICAgICAgICAgICAg
ICAgICAvLyBObyBnZW5lcmFsIHRoaXJkLXBhcnR5IGNvb2tpZSBibG9ja2luZywgdGhpcmQtcGFy
dHkgdXNlciBpbnRlcmFjdGlvbiwgbm90IHByZXZhbGVudC4KLSAgICAgICAgICAgICAgICAgICAg
dGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNzSGFzSGFkVXNlckludGVyYWN0aW9uKHRoaXJkUGFydHlV
cmwsIHRydWUsIGZ1bmN0aW9uKCkgewotICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCF0ZXN0
UnVubmVyLmlzU3RhdGlzdGljc0hhc0hhZFVzZXJJbnRlcmFjdGlvbih0aGlyZFBhcnR5VXJsKSkK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKCJUaGlyZC1wYXJ0eSBkaWQg
bm90IGdldCBsb2dnZWQgZm9yIHVzZXIgaW50ZXJhY3Rpb24uIik7Ci0gICAgICAgICAgICAgICAg
ICAgICAgICBsZXQgaWZyYW1lRWxlbWVudCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImlmcmFt
ZSIpOwotICAgICAgICAgICAgICAgICAgICAgICAgaWZyYW1lRWxlbWVudC5zcmMgPSB0aGlyZFBh
cnR5VXJsICsgIi9zdG9yYWdlQWNjZXNzL3Jlc291cmNlcy9oYXMtc3RvcmFnZS1hY2Nlc3MtaWZy
YW1lLmh0bWw/ZHVtbXk9IiArIE1hdGgucmFuZG9tKCkgKyAiI3BvbGljeVNob3VsZEdyYW50QWNj
ZXNzIjsKLSAgICAgICAgICAgICAgICAgICAgICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQo
aWZyYW1lRWxlbWVudCk7Ci0gICAgICAgICAgICAgICAgICAgIH0pOwotICAgICAgICAgICAgICAg
ICAgICBicmVhazsKLSAgICAgICAgICAgICAgICBjYXNlICIjc3RlcDMiOgotICAgICAgICAgICAg
ICAgICAgICBkb2N1bWVudC5sb2NhdGlvbi5oYXNoID0gInN0ZXA0IjsKLSAgICAgICAgICAgICAg
ICAgICAgLy8gTm8gZ2VuZXJhbCB0aGlyZC1wYXJ0eSBjb29raWUgYmxvY2tpbmcsIGZpcnN0LSBh
bmQgdGhpcmQtcGFydHkgdXNlciBpbnRlcmFjdGlvbiwgbm90IHByZXZhbGVudC4KLSAgICAgICAg
ICAgICAgICAgICAgdGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNzSGFzSGFkVXNlckludGVyYWN0aW9u
KGZpcnN0UGFydHlVcmwsIHRydWUsIGZ1bmN0aW9uKCkgewotICAgICAgICAgICAgICAgICAgICAg
ICAgaWYgKCF0ZXN0UnVubmVyLmlzU3RhdGlzdGljc0hhc0hhZFVzZXJJbnRlcmFjdGlvbihmaXJz
dFBhcnR5VXJsKSkKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKCJGaXJz
dC1wYXJ0eSBkaWQgbm90IGdldCBsb2dnZWQgZm9yIHVzZXIgaW50ZXJhY3Rpb24uIik7Ci0gICAg
ICAgICAgICAgICAgICAgICAgICBsZXQgaWZyYW1lRWxlbWVudCA9IGRvY3VtZW50LmNyZWF0ZUVs
ZW1lbnQoImlmcmFtZSIpOwotICAgICAgICAgICAgICAgICAgICAgICAgaWZyYW1lRWxlbWVudC5z
cmMgPSB0aGlyZFBhcnR5VXJsICsgIi9zdG9yYWdlQWNjZXNzL3Jlc291cmNlcy9oYXMtc3RvcmFn
ZS1hY2Nlc3MtaWZyYW1lLmh0bWw/ZHVtbXk9IiArIE1hdGgucmFuZG9tKCkgKyAiI3BvbGljeVNo
b3VsZEdyYW50QWNjZXNzIjsKLSAgICAgICAgICAgICAgICAgICAgICAgIGRvY3VtZW50LmJvZHku
YXBwZW5kQ2hpbGQoaWZyYW1lRWxlbWVudCk7Ci0gICAgICAgICAgICAgICAgICAgIH0pOwotICAg
ICAgICAgICAgICAgICAgICBicmVhazsKLSAgICAgICAgICAgICAgICBjYXNlICIjc3RlcDQiOgot
ICAgICAgICAgICAgICAgICAgICBkb2N1bWVudC5sb2NhdGlvbi5oYXNoID0gInN0ZXA1IjsKLSAg
ICAgICAgICAgICAgICAgICAgLy8gVGhpcmQtcGFydHkgY29va2llIGJsb2NraW5nIHVuZGVyIGZp
cnN0LXBhcnRpZXMgd2l0aG91dCB1c2VyIGludGVyYWN0aW9uLCBvbmx5IHRoaXJkLXBhcnR5IHVz
ZXIgaW50ZXJhY3Rpb24sIG5vdCBwcmV2YWxlbnQuCi0gICAgICAgICAgICAgICAgICAgIHRlc3RS
dW5uZXIuc2V0U3RhdGlzdGljc1Nob3VsZEJsb2NrVGhpcmRQYXJ0eUNvb2tpZXModHJ1ZSwgZnVu
Y3Rpb24oKSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLnNldFN0YXRpc3Rp
Y3NIYXNIYWRVc2VySW50ZXJhY3Rpb24oZmlyc3RQYXJ0eVVybCwgZmFsc2UsIGZ1bmN0aW9uKCkg
ewotICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICh0ZXN0UnVubmVyLmlzU3RhdGlzdGlj
c0hhc0hhZFVzZXJJbnRlcmFjdGlvbihmaXJzdFBhcnR5VXJsKSkKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgdGVzdEZhaWxlZCgiRmlyc3QtcGFydHkgZ290IGxvZ2dlZCBmb3IgdXNl
ciBpbnRlcmFjdGlvbi4iKTsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZXQgaWZyYW1l
RWxlbWVudCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImlmcmFtZSIpOwotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGlmcmFtZUVsZW1lbnQuc3JjID0gdGhpcmRQYXJ0eVVybCArICIvc3Rv
cmFnZUFjY2Vzcy9yZXNvdXJjZXMvaGFzLXN0b3JhZ2UtYWNjZXNzLWlmcmFtZS5odG1sP2R1bW15
PSIgKyBNYXRoLnJhbmRvbSgpICsgIiNwb2xpY3lTaG91bGROb3RHcmFudEFjY2VzcyI7Ci0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChpZnJhbWVF
bGVtZW50KTsKLSAgICAgICAgICAgICAgICAgICAgICAgIH0pOwotICAgICAgICAgICAgICAgICAg
ICB9LCB0cnVlKTsKLSAgICAgICAgICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgICAgICAgICAg
Y2FzZSAiI3N0ZXA1IjoKLSAgICAgICAgICAgICAgICAgICAgZG9jdW1lbnQubG9jYXRpb24uaGFz
aCA9ICJzdGVwNiI7Ci0gICAgICAgICAgICAgICAgICAgIC8vIEdlbmVyYWwgdGhpcmQtcGFydHkg
Y29va2llIGJsb2NraW5nLCBmaXJzdC0gYW5kIHRoaXJkLXBhcnR5IHVzZXIgaW50ZXJhY3Rpb24s
IG5vdCBwcmV2YWxlbnQuCi0gICAgICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlz
dGljc1Nob3VsZEJsb2NrVGhpcmRQYXJ0eUNvb2tpZXModHJ1ZSwgZnVuY3Rpb24oKSB7Ci0gICAg
ICAgICAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NIYXNIYWRVc2VySW50
ZXJhY3Rpb24oZmlyc3RQYXJ0eVVybCwgdHJ1ZSwgZnVuY3Rpb24oKSB7Ci0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgaWYgKCF0ZXN0UnVubmVyLmlzU3RhdGlzdGljc0hhc0hhZFVzZXJJbnRl
cmFjdGlvbihmaXJzdFBhcnR5VXJsKSkKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
dGVzdEZhaWxlZCgiRmlyc3QtcGFydHkgZGlkIG5vdCBnZXQgbG9nZ2VkIGZvciB1c2VyIGludGVy
YWN0aW9uLiIpOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxldCBpZnJhbWVFbGVtZW50
ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiaWZyYW1lIik7Ci0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgaWZyYW1lRWxlbWVudC5zcmMgPSB0aGlyZFBhcnR5VXJsICsgIi9zdG9yYWdlQWNj
ZXNzL3Jlc291cmNlcy9oYXMtc3RvcmFnZS1hY2Nlc3MtaWZyYW1lLmh0bWw/ZHVtbXk9IiArIE1h
dGgucmFuZG9tKCkgKyAiI3BvbGljeVNob3VsZE5vdEdyYW50QWNjZXNzIjsKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGlmcmFtZUVsZW1lbnQp
OwotICAgICAgICAgICAgICAgICAgICAgICAgfSk7Ci0gICAgICAgICAgICAgICAgICAgIH0sIGZh
bHNlKTsKLSAgICAgICAgICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgICAgICAgICAgY2FzZSAi
I3N0ZXA2IjoKLSAgICAgICAgICAgICAgICAgICAgZG9jdW1lbnQubG9jYXRpb24uaGFzaCA9ICJs
YXN0U3RlcCI7Ci0gICAgICAgICAgICAgICAgICAgIC8vIEdlbmVyYWwgdGhpcmQtcGFydHkgY29v
a2llIGJsb2NraW5nLCBmaXJzdC0gYW5kIHRoaXJkLXBhcnR5IHVzZXIgaW50ZXJhY3Rpb24sIHBy
ZXZhbGVudC4KLSAgICAgICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNzUHJl
dmFsZW50UmVzb3VyY2UodGhpcmRQYXJ0eVVybCwgdHJ1ZSwgZnVuY3Rpb24oKSB7Ci0gICAgICAg
ICAgICAgICAgICAgICAgICBpZiAoIXRlc3RSdW5uZXIuaXNTdGF0aXN0aWNzUHJldmFsZW50UmVz
b3VyY2UodGhpcmRQYXJ0eVVybCkpCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGVzdEZh
aWxlZCgiVGhpcmQtcGFydHkgbm90IHNldCBhcyBwcmV2YWxlbnQgcmVzb3VyY2UuIik7Ci0gICAg
ICAgICAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLnN0YXRpc3RpY3NVcGRhdGVDb29raWVCbG9j
a2luZyhmdW5jdGlvbigpIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZXQgaWZyYW1l
RWxlbWVudCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImlmcmFtZSIpOwotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGlmcmFtZUVsZW1lbnQuc3JjID0gdGhpcmRQYXJ0eVVybCArICIvc3Rv
cmFnZUFjY2Vzcy9yZXNvdXJjZXMvaGFzLXN0b3JhZ2UtYWNjZXNzLWlmcmFtZS5odG1sP2R1bW15
PSIgKyBNYXRoLnJhbmRvbSgpICsgIiNwb2xpY3lTaG91bGROb3RHcmFudEFjY2VzcyI7Ci0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChpZnJhbWVF
bGVtZW50KTsKLSAgICAgICAgICAgICAgICAgICAgICAgIH0pOwotICAgICAgICAgICAgICAgICAg
ICB9KTsKLSAgICAgICAgICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgICAgICB9Ci0gICAgICAg
IH0KLSAgICA8L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5IG9ubG9hZD0icnVuVGVzdHMoKSI+Ci08
L2JvZHk+Ci08L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zdG9yYWdlQWNjZXNzL2hhcy1zdG9yYWdlLWFjY2Vzcy11
bmRlci1nZW5lcmFsLXRoaXJkLXBhcnR5LWNvb2tpZS1ibG9ja2luZy13aXRob3V0LWNvb2tpZS1k
YXRhYmFzZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3N0b3JhZ2VBY2Nl
c3MvaGFzLXN0b3JhZ2UtYWNjZXNzLXVuZGVyLWdlbmVyYWwtdGhpcmQtcGFydHktY29va2llLWJs
b2NraW5nLXdpdGhvdXQtY29va2llLWRhdGFiYXNlLWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggYzRjOTI4YWRhYTk3MWEzZDhmYzliM2UwNmZhYWUwMmE5NTQ2MzRj
NS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRU
ZXN0cy9odHRwL3Rlc3RzL3N0b3JhZ2VBY2Nlc3MvaGFzLXN0b3JhZ2UtYWNjZXNzLXVuZGVyLWdl
bmVyYWwtdGhpcmQtcGFydHktY29va2llLWJsb2NraW5nLXdpdGhvdXQtY29va2llLWRhdGFiYXNl
LWV4cGVjdGVkLnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDE0ICswLDAgQEAKLVRlc3RzIGRvY3Vt
ZW50Lmhhc1N0b3JhZ2VBY2Nlc3MoKSBmb3IgYSAzcmQtcGFydHkgd2l0aG91dCBjb29raWVzIHVu
ZGVyIGdlbmVyYWwgdGhpcmQtcGFydHkgY29va2llIGJsb2NraW5nLgotCi1PbiBzdWNjZXNzLCB5
b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVT
VCBDT01QTEVURSIuCi0KLQotUEFTUyBObyBzdG9yYWdlIGFjY2Vzcy4gZG9jdW1lbnQuY29va2ll
ID09ICwgY29va2llcyBzZWVuIHNlcnZlci1zaWRlID09ICJObyBjb29raWVzIgotUEFTUyBObyBz
dG9yYWdlIGFjY2Vzcy4gZG9jdW1lbnQuY29va2llID09ICwgY29va2llcyBzZWVuIHNlcnZlci1z
aWRlID09ICJObyBjb29raWVzIgotUEFTUyBObyBzdG9yYWdlIGFjY2Vzcy4gZG9jdW1lbnQuY29v
a2llID09ICwgY29va2llcyBzZWVuIHNlcnZlci1zaWRlID09ICJObyBjb29raWVzIgotUEFTUyBO
byBzdG9yYWdlIGFjY2Vzcy4gZG9jdW1lbnQuY29va2llID09ICwgY29va2llcyBzZWVuIHNlcnZl
ci1zaWRlID09ICJObyBjb29raWVzIgotUEFTUyBObyBzdG9yYWdlIGFjY2Vzcy4gZG9jdW1lbnQu
Y29va2llID09ICwgY29va2llcyBzZWVuIHNlcnZlci1zaWRlID09ICJObyBjb29raWVzIgotUEFT
UyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQotCi1URVNUIENPTVBMRVRFCi0KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc3RvcmFnZUFjY2Vzcy9oYXMtc3RvcmFnZS1hY2Nl
c3MtdW5kZXItZ2VuZXJhbC10aGlyZC1wYXJ0eS1jb29raWUtYmxvY2tpbmctd2l0aG91dC1jb29r
aWUtZGF0YWJhc2UuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc3RvcmFnZUFjY2Vzcy9o
YXMtc3RvcmFnZS1hY2Nlc3MtdW5kZXItZ2VuZXJhbC10aGlyZC1wYXJ0eS1jb29raWUtYmxvY2tp
bmctd2l0aG91dC1jb29raWUtZGF0YWJhc2UuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggZjNlOTE3NmRlYjYwNDFhMjJjZTEyMGU0ZmIzMmM1NmNhZGYwZjJkZC4uMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rl
c3RzL3N0b3JhZ2VBY2Nlc3MvaGFzLXN0b3JhZ2UtYWNjZXNzLXVuZGVyLWdlbmVyYWwtdGhpcmQt
cGFydHktY29va2llLWJsb2NraW5nLXdpdGhvdXQtY29va2llLWRhdGFiYXNlLmh0bWwKKysrIC9k
ZXYvbnVsbApAQCAtMSwxMDQgKzAsMCBAQAotPCFET0NUWVBFIGh0bWw+Ci08aHRtbD4KLTxoZWFk
PgotICAgIDxzY3JpcHQgc3JjPSIvanMtdGVzdC1yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3Jp
cHQ+Ci0gICAgPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3Jlc291cmNlcy91
dGlsLmpzIj48L3NjcmlwdD4KLSAgICA8c2NyaXB0PgotICAgICAgICBkZXNjcmlwdGlvbigiVGVz
dHMgZG9jdW1lbnQuaGFzU3RvcmFnZUFjY2VzcygpIGZvciBhIDNyZC1wYXJ0eSB3aXRob3V0IGNv
b2tpZXMgdW5kZXIgZ2VuZXJhbCB0aGlyZC1wYXJ0eSBjb29raWUgYmxvY2tpbmcuIik7Ci0gICAg
ICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOwotICAgICAgICB0ZXN0UnVubmVyLnNldFVzZUlUUERh
dGFiYXNlKHRydWUpOwotCi0gICAgICAgIGNvbnN0IGZpcnN0UGFydHlVcmwgPSAiaHR0cDovLzEy
Ny4wLjAuMTo4MDAwIjsKLSAgICAgICAgY29uc3QgdGhpcmRQYXJ0eVVybCA9ICJodHRwOi8vbG9j
YWxob3N0OjgwMDAiOwotCi0gICAgICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJtZXNzYWdl
IiwgcmVjZWl2ZU1lc3NhZ2UsIGZhbHNlKTsKLQotICAgICAgICBmdW5jdGlvbiByZWNlaXZlTWVz
c2FnZShldmVudCkgewotICAgICAgICAgICAgaWYgKGV2ZW50Lm9yaWdpbiA9PT0gdGhpcmRQYXJ0
eVVybCkgewotICAgICAgICAgICAgICAgIGlmIChldmVudC5kYXRhLmluZGV4T2YoIlBBU1MiKSAh
PT0gLTEpCi0gICAgICAgICAgICAgICAgICAgIHRlc3RQYXNzZWQoZXZlbnQuZGF0YS5yZXBsYWNl
KCJQQVNTICIsICIiKSk7Ci0gICAgICAgICAgICAgICAgZWxzZQotICAgICAgICAgICAgICAgICAg
ICB0ZXN0RmFpbGVkKGV2ZW50LmRhdGEucmVwbGFjZSgiRkFJTCAiLCAiIikpOwotICAgICAgICAg
ICAgfSBlbHNlCi0gICAgICAgICAgICAgICAgdGVzdEZhaWxlZCgiUmVjZWl2ZWQgYSBtZXNzYWdl
IGZyb20gYW4gdW5leHBlY3RlZCBvcmlnaW46ICIgKyBldmVudC5vcmlnaW4pOwotICAgICAgICAg
ICAgaWYgKGRvY3VtZW50LmxvY2F0aW9uLmhhc2ggPT09ICIjbGFzdFN0ZXAiKSB7Ci0gICAgICAg
ICAgICAgICAgdGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNzU2hvdWxkQmxvY2tUaGlyZFBhcnR5Q29v
a2llcyhmYWxzZSwgZnVuY3Rpb24oKSB7Ci0gICAgICAgICAgICAgICAgICAgIHNldEVuYWJsZUZl
YXR1cmUoZmFsc2UsIGZpbmlzaEpTVGVzdCk7Ci0gICAgICAgICAgICAgICAgfSk7Ci0gICAgICAg
ICAgICB9IGVsc2UKLSAgICAgICAgICAgICAgICBydW5UZXN0cygpOwotICAgICAgICB9Ci0KLSAg
ICAgICAgZnVuY3Rpb24gcnVuVGVzdHMoKSB7Ci0gICAgICAgICAgICBzd2l0Y2ggKGRvY3VtZW50
LmxvY2F0aW9uLmhhc2gpIHsKLSAgICAgICAgICAgICAgICBjYXNlICIiOgotICAgICAgICAgICAg
ICAgICAgICBzZXRFbmFibGVGZWF0dXJlKHRydWUsIGZ1bmN0aW9uICgpIHsKLSAgICAgICAgICAg
ICAgICAgICAgICAgIGlmICh0ZXN0UnVubmVyLmlzU3RhdGlzdGljc1ByZXZhbGVudFJlc291cmNl
KHRoaXJkUGFydHlVcmwpKQotICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQo
IlRoaXJkLXBhcnR5IHN0YXJ0ZWQgb3V0IGFzIHByZXZhbGVudCByZXNvdXJjZS4iKTsKLSAgICAg
ICAgICAgICAgICAgICAgICAgIGlmICh0ZXN0UnVubmVyLmlzU3RhdGlzdGljc0hhc0hhZFVzZXJJ
bnRlcmFjdGlvbih0aGlyZFBhcnR5VXJsKSkKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICB0
ZXN0RmFpbGVkKCJUaGlyZC1wYXJ0eSBzdGFydGVkIG91dCBsb2dnZWQgZm9yIHVzZXIgaW50ZXJh
Y3Rpb24uIik7Ci0gICAgICAgICAgICAgICAgICAgICAgICBpZiAodGVzdFJ1bm5lci5pc1N0YXRp
c3RpY3NIYXNIYWRVc2VySW50ZXJhY3Rpb24oZmlyc3RQYXJ0eVVybCkpCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgdGVzdEZhaWxlZCgiRmlyc3QtcGFydHkgc3RhcnRlZCBvdXQgbG9nZ2Vk
IGZvciB1c2VyIGludGVyYWN0aW9uLiIpOwotICAgICAgICAgICAgICAgICAgICAgICAgZG9jdW1l
bnQubG9jYXRpb24uaGFzaCA9ICJzdGVwMSI7Ci0gICAgICAgICAgICAgICAgICAgICAgICBydW5U
ZXN0cygpOwotICAgICAgICAgICAgICAgICAgICB9KTsKLSAgICAgICAgICAgICAgICAgICAgYnJl
YWs7Ci0KLSAgICAgICAgICAgICAgICBjYXNlICIjc3RlcDEiOgotICAgICAgICAgICAgICAgICAg
ICBkb2N1bWVudC5sb2NhdGlvbi5oYXNoID0gInN0ZXAyIjsKLSAgICAgICAgICAgICAgICAgICAg
Ly8gTm8gZ2VuZXJhbCB0aGlyZC1wYXJ0eSBjb29raWUgYmxvY2tpbmcsIG5vIHVzZXIgaW50ZXJh
Y3Rpb24sIG5vdCBwcmV2YWxlbnQuCi0gICAgICAgICAgICAgICAgICAgIGxldCBpZnJhbWVFbGVt
ZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiaWZyYW1lIik7Ci0gICAgICAgICAgICAgICAg
ICAgIGlmcmFtZUVsZW1lbnQuc3JjID0gdGhpcmRQYXJ0eVVybCArICIvc3RvcmFnZUFjY2Vzcy9y
ZXNvdXJjZXMvaGFzLXN0b3JhZ2UtYWNjZXNzLWlmcmFtZS5odG1sI3BvbGljeVNob3VsZE5vdEdy
YW50QWNjZXNzIjsKLSAgICAgICAgICAgICAgICAgICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGls
ZChpZnJhbWVFbGVtZW50KTsKLSAgICAgICAgICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgICAg
ICAgICAgY2FzZSAiI3N0ZXAyIjoKLSAgICAgICAgICAgICAgICAgICAgZG9jdW1lbnQubG9jYXRp
b24uaGFzaCA9ICJzdGVwMyI7Ci0gICAgICAgICAgICAgICAgICAgIC8vIE5vIGdlbmVyYWwgdGhp
cmQtcGFydHkgY29va2llIGJsb2NraW5nLCB0aGlyZC1wYXJ0eSB1c2VyIGludGVyYWN0aW9uLCBu
b3QgcHJldmFsZW50LgotICAgICAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLnNldFN0YXRpc3Rp
Y3NIYXNIYWRVc2VySW50ZXJhY3Rpb24odGhpcmRQYXJ0eVVybCwgdHJ1ZSwgZnVuY3Rpb24oKSB7
Ci0gICAgICAgICAgICAgICAgICAgICAgICBpZiAoIXRlc3RSdW5uZXIuaXNTdGF0aXN0aWNzSGFz
SGFkVXNlckludGVyYWN0aW9uKHRoaXJkUGFydHlVcmwpKQotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIHRlc3RGYWlsZWQoIlRoaXJkLXBhcnR5IGRpZCBub3QgZ2V0IGxvZ2dlZCBmb3IgdXNl
ciBpbnRlcmFjdGlvbi4iKTsKLSAgICAgICAgICAgICAgICAgICAgICAgIGxldCBpZnJhbWVFbGVt
ZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiaWZyYW1lIik7Ci0gICAgICAgICAgICAgICAg
ICAgICAgICBpZnJhbWVFbGVtZW50LnNyYyA9IHRoaXJkUGFydHlVcmwgKyAiL3N0b3JhZ2VBY2Nl
c3MvcmVzb3VyY2VzL2hhcy1zdG9yYWdlLWFjY2Vzcy1pZnJhbWUuaHRtbCNwb2xpY3lTaG91bGRO
b3RHcmFudEFjY2VzcyI7Ci0gICAgICAgICAgICAgICAgICAgICAgICBkb2N1bWVudC5ib2R5LmFw
cGVuZENoaWxkKGlmcmFtZUVsZW1lbnQpOwotICAgICAgICAgICAgICAgICAgICB9KTsKLSAgICAg
ICAgICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgICAgICAgICAgY2FzZSAiI3N0ZXAzIjoKLSAg
ICAgICAgICAgICAgICAgICAgZG9jdW1lbnQubG9jYXRpb24uaGFzaCA9ICJzdGVwNCI7Ci0gICAg
ICAgICAgICAgICAgICAgIC8vIE5vIGdlbmVyYWwgdGhpcmQtcGFydHkgY29va2llIGJsb2NraW5n
LCBmaXJzdC0gYW5kIHRoaXJkLXBhcnR5IHVzZXIgaW50ZXJhY3Rpb24sIG5vdCBwcmV2YWxlbnQu
Ci0gICAgICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc0hhc0hhZFVzZXJJ
bnRlcmFjdGlvbihmaXJzdFBhcnR5VXJsLCB0cnVlLCBmdW5jdGlvbigpIHsKLSAgICAgICAgICAg
ICAgICAgICAgICAgIGlmICghdGVzdFJ1bm5lci5pc1N0YXRpc3RpY3NIYXNIYWRVc2VySW50ZXJh
Y3Rpb24oZmlyc3RQYXJ0eVVybCkpCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGVzdEZh
aWxlZCgiRmlyc3QtcGFydHkgZGlkIG5vdCBnZXQgbG9nZ2VkIGZvciB1c2VyIGludGVyYWN0aW9u
LiIpOwotICAgICAgICAgICAgICAgICAgICAgICAgbGV0IGlmcmFtZUVsZW1lbnQgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KCJpZnJhbWUiKTsKLSAgICAgICAgICAgICAgICAgICAgICAgIGlmcmFt
ZUVsZW1lbnQuc3JjID0gdGhpcmRQYXJ0eVVybCArICIvc3RvcmFnZUFjY2Vzcy9yZXNvdXJjZXMv
aGFzLXN0b3JhZ2UtYWNjZXNzLWlmcmFtZS5odG1sI3BvbGljeVNob3VsZE5vdEdyYW50QWNjZXNz
IjsKLSAgICAgICAgICAgICAgICAgICAgICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoaWZy
YW1lRWxlbWVudCk7Ci0gICAgICAgICAgICAgICAgICAgIH0pOwotICAgICAgICAgICAgICAgICAg
ICBicmVhazsKLSAgICAgICAgICAgICAgICBjYXNlICIjc3RlcDQiOgotICAgICAgICAgICAgICAg
ICAgICBkb2N1bWVudC5sb2NhdGlvbi5oYXNoID0gInN0ZXA1IjsKLSAgICAgICAgICAgICAgICAg
ICAgLy8gR2VuZXJhbCB0aGlyZC1wYXJ0eSBjb29raWUgYmxvY2tpbmcsIGZpcnN0LSBhbmQgdGhp
cmQtcGFydHkgdXNlciBpbnRlcmFjdGlvbiwgbm90IHByZXZhbGVudC4KLSAgICAgICAgICAgICAg
ICAgICAgdGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNzU2hvdWxkQmxvY2tUaGlyZFBhcnR5Q29va2ll
cyh0cnVlLCBmdW5jdGlvbigpIHsKLSAgICAgICAgICAgICAgICAgICAgICAgIGxldCBpZnJhbWVF
bGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiaWZyYW1lIik7Ci0gICAgICAgICAgICAg
ICAgICAgICAgICBpZnJhbWVFbGVtZW50LnNyYyA9IHRoaXJkUGFydHlVcmwgKyAiL3N0b3JhZ2VB
Y2Nlc3MvcmVzb3VyY2VzL2hhcy1zdG9yYWdlLWFjY2Vzcy1pZnJhbWUuaHRtbCNwb2xpY3lTaG91
bGROb3RHcmFudEFjY2VzcyI7Ci0gICAgICAgICAgICAgICAgICAgICAgICBkb2N1bWVudC5ib2R5
LmFwcGVuZENoaWxkKGlmcmFtZUVsZW1lbnQpOwotICAgICAgICAgICAgICAgICAgICB9KTsKLSAg
ICAgICAgICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgICAgICAgICAgY2FzZSAiI3N0ZXA1IjoK
LSAgICAgICAgICAgICAgICAgICAgZG9jdW1lbnQubG9jYXRpb24uaGFzaCA9ICJsYXN0U3RlcCI7
Ci0gICAgICAgICAgICAgICAgICAgIC8vIEdlbmVyYWwgdGhpcmQtcGFydHkgY29va2llIGJsb2Nr
aW5nLCBmaXJzdC0gYW5kIHRoaXJkLXBhcnR5IHVzZXIgaW50ZXJhY3Rpb24sIHByZXZhbGVudC4K
LSAgICAgICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNzUHJldmFsZW50UmVz
b3VyY2UodGhpcmRQYXJ0eVVybCwgdHJ1ZSwgZnVuY3Rpb24oKSB7Ci0gICAgICAgICAgICAgICAg
ICAgICAgICBpZiAoIXRlc3RSdW5uZXIuaXNTdGF0aXN0aWNzUHJldmFsZW50UmVzb3VyY2UodGhp
cmRQYXJ0eVVybCkpCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZCgiVGhp
cmQtcGFydHkgbm90IHNldCBhcyBwcmV2YWxlbnQgcmVzb3VyY2UuIik7Ci0gICAgICAgICAgICAg
ICAgICAgICAgICB0ZXN0UnVubmVyLnN0YXRpc3RpY3NVcGRhdGVDb29raWVCbG9ja2luZyhmdW5j
dGlvbigpIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZXQgaWZyYW1lRWxlbWVudCA9
IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImlmcmFtZSIpOwotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGlmcmFtZUVsZW1lbnQuc3JjID0gdGhpcmRQYXJ0eVVybCArICIvc3RvcmFnZUFjY2Vz
cy9yZXNvdXJjZXMvaGFzLXN0b3JhZ2UtYWNjZXNzLWlmcmFtZS5odG1sI3BvbGljeVNob3VsZE5v
dEdyYW50QWNjZXNzIjsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBkb2N1bWVudC5ib2R5
LmFwcGVuZENoaWxkKGlmcmFtZUVsZW1lbnQpOwotICAgICAgICAgICAgICAgICAgICAgICAgfSk7
Ci0gICAgICAgICAgICAgICAgICAgIH0pOwotICAgICAgICAgICAgICAgICAgICBicmVhazsKLSAg
ICAgICAgICAgIH0KLSAgICAgICAgfQotICAgIDwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHkgb25s
b2FkPSJydW5UZXN0cygpIj4KLTwvYm9keT4KLTwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBv
ZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3N0b3JhZ2VBY2Nlc3Mv
cmVtb3ZlLXJlcXVlc3RpbmctaWZyYW1lLWRhdGFiYXNlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2h0dHAvdGVzdHMvc3RvcmFnZUFjY2Vzcy9yZW1vdmUtcmVxdWVzdGluZy1pZnJhbWUtZGF0
YWJhc2UtZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA3MDU0NmQy
OTMyNzk0MzA5NDM2MjNlOTljMzdiNzE3NjM2YjIzMGQyLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc3RvcmFnZUFj
Y2Vzcy9yZW1vdmUtcmVxdWVzdGluZy1pZnJhbWUtZGF0YWJhc2UtZXhwZWN0ZWQudHh0CisrKyAv
ZGV2L251bGwKQEAgLTEsMTAgKzAsMCBAQAotVGVzdHMgdGhhdCBTdG9yYWdlIEFjY2VzcyBBUEkg
Y2FsbHMgd29yayB3ZWxsIGZvciByZW1vdmVkIGZyYW1lcy4KLQotT24gc3VjY2VzcywgeW91IHdp
bGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09N
UExFVEUiLgotCi0KLVBBU1MgaWZyYW1lIHJlbW92ZWQuCi1QQVNTIHN1Y2Nlc3NmdWxseVBhcnNl
ZCBpcyB0cnVlCi0KLVRFU1QgQ09NUExFVEUKLQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy9zdG9yYWdlQWNjZXNzL3JlbW92ZS1yZXF1ZXN0aW5nLWlmcmFtZS1kYXRhYmFzZS5o
dG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zdG9yYWdlQWNjZXNzL3JlbW92ZS1yZXF1ZXN0
aW5nLWlmcmFtZS1kYXRhYmFzZS5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAy
MjYxNzRiYzRlMWFjYjdkNGQwOTNlNGY1ZTNlMDE1ZTZiMDUzY2Y2Li4wMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc3Rv
cmFnZUFjY2Vzcy9yZW1vdmUtcmVxdWVzdGluZy1pZnJhbWUtZGF0YWJhc2UuaHRtbAorKysgL2Rl
di9udWxsCkBAIC0xLDYzICswLDAgQEAKLTwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0
LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgotPGh0bWw+Ci08aGVhZD4K
LSAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBp
bml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgotICAgIDxzY3JpcHQgc3JjPSIvanMt
dGVzdC1yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+Ci0gICAgPHNjcmlwdCBzcmM9Ii9q
cy10ZXN0LXJlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgotICAgIDxzY3JpcHQgc3Jj
PSIvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9yZXNvdXJjZXMvdXRpbC5qcyI+PC9zY3JpcHQ+Ci08
L2hlYWQ+Ci08Ym9keSBvbmxvYWQ9InJ1blRlc3QoKSI+Ci08c2NyaXB0PgotICAgIGRlc2NyaXB0
aW9uKCJUZXN0cyB0aGF0IFN0b3JhZ2UgQWNjZXNzIEFQSSBjYWxscyB3b3JrIHdlbGwgZm9yIHJl
bW92ZWQgZnJhbWVzLiIpOwotICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOwotICAgIHRlc3RSdW5u
ZXIuc2V0VXNlSVRQRGF0YWJhc2UodHJ1ZSk7Ci0gICAgCi0gICAgZnVuY3Rpb24gZmluaXNoVGVz
dCgpIHsKLSAgICAgICAgc2V0RW5hYmxlRmVhdHVyZShmYWxzZSwgZmluaXNoSlNUZXN0KTsKLSAg
ICB9Ci0KLSAgICBmdW5jdGlvbiByZWNlaXZlTWVzc2FnZSgpIHsKLSAgICAgICAgcmVxdWVzdGlu
Z2lmcmFtZS5yZW1vdmUoKTsKLSAgICAgICAgdGVzdFBhc3NlZCgiaWZyYW1lIHJlbW92ZWQuIik7
Ci0gICAgICAgIHNldFRpbWVvdXQoZmluaXNoVGVzdCwgMC41KTsKLSAgICB9Ci0KLSAgICB3aW5k
b3cuYWRkRXZlbnRMaXN0ZW5lcigibWVzc2FnZSIsIHJlY2VpdmVNZXNzYWdlLCBmYWxzZSk7Ci0K
LSAgICBmdW5jdGlvbiBhY3RpdmF0ZUVsZW1lbnQoZWxlbWVudElkKSB7Ci0gICAgICAgIHZhciBl
bGVtZW50ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoZWxlbWVudElkKTsKLSAgICAgICAgdmFy
IGNlbnRlclggPSBlbGVtZW50Lm9mZnNldExlZnQgKyBlbGVtZW50Lm9mZnNldFdpZHRoIC8gMjsK
LSAgICAgICAgdmFyIGNlbnRlclkgPSBlbGVtZW50Lm9mZnNldFRvcCArIGVsZW1lbnQub2Zmc2V0
SGVpZ2h0IC8gMjsKLSAgICAgICAgVUlIZWxwZXIuYWN0aXZhdGVBdChjZW50ZXJYLCBjZW50ZXJZ
KS50aGVuKAotICAgICAgICAgICAgZnVuY3Rpb24gKCkgewotICAgICAgICAgICAgICAgIGlmICh3
aW5kb3cuZXZlbnRTZW5kZXIpCi0gICAgICAgICAgICAgICAgICAgIGV2ZW50U2VuZGVyLmtleURv
d24oImVzY2FwZSIpOwotICAgICAgICAgICAgICAgIGVsc2UgewotICAgICAgICAgICAgICAgICAg
ICB0ZXN0RmFpbGVkKCJObyBldmVudFNlbmRlci4iKTsKLSAgICAgICAgICAgICAgICAgICAgZmlu
aXNoVGVzdCgpOwotICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgIH0sCi0gICAgICAgICAg
ICBmdW5jdGlvbiAoKSB7Ci0gICAgICAgICAgICAgICAgdGVzdEZhaWxlZCgiUHJvbWlzZSByZWpl
Y3RlZC4iKTsKLSAgICAgICAgICAgICAgICBmaW5pc2hUZXN0KCk7Ci0gICAgICAgICAgICB9Ci0g
ICAgICAgICk7Ci0gICAgfQotCi0gICAgY29uc3QgaWZyYW1lSUQgPSAicmVxdWVzdGluZ2lmcmFt
ZSI7Ci0gICAgY29uc3QgaWZyYW1lU291cmNlID0gImh0dHA6Ly9sb2NhbGhvc3Q6ODAwMC9zdG9y
YWdlQWNjZXNzL3Jlc291cmNlcy9yZXF1ZXN0LXN0b3JhZ2UtYWNjZXNzLWFuZC1pbW1lZGlhdGVs
eS1wb3N0bWVzc2FnZS1pZnJhbWUuaHRtbCI7Ci0KLSAgICBmdW5jdGlvbiBydW5UZXN0KCkgewot
ICAgICAgICBsZXQgaWZyYW1lRWxlbWVudCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImlmcmFt
ZSIpOwotICAgICAgICBpZnJhbWVFbGVtZW50Lm9ubG9hZCA9IGZ1bmN0aW9uKCkgewotICAgICAg
ICAgICAgdGVzdFJ1bm5lci5zdGF0aXN0aWNzVXBkYXRlQ29va2llQmxvY2tpbmcoZnVuY3Rpb24o
KSB7Ci0gICAgICAgICAgICAgICAgYWN0aXZhdGVFbGVtZW50KGlmcmFtZUlEKTsKLSAgICAgICAg
ICAgIH0pOwotICAgICAgICB9OwotICAgICAgICBpZnJhbWVFbGVtZW50LmlkID0gaWZyYW1lSUQ7
Ci0gICAgICAgIGlmcmFtZUVsZW1lbnQuc3JjID0gaWZyYW1lU291cmNlOwotICAgICAgICBkb2N1
bWVudC5ib2R5LmFwcGVuZENoaWxkKGlmcmFtZUVsZW1lbnQpOwotICAgIH0KLTwvc2NyaXB0Pgot
PC9ib2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zdG9y
YWdlQWNjZXNzL3JlcXVlc3QtYW5kLWdyYW50LWFjY2Vzcy1jcm9zcy1vcmlnaW4tbm9uLXNhbmRi
b3hlZC1pZnJhbWUtZGF0YWJhc2UtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0
cy9zdG9yYWdlQWNjZXNzL3JlcXVlc3QtYW5kLWdyYW50LWFjY2Vzcy1jcm9zcy1vcmlnaW4tbm9u
LXNhbmRib3hlZC1pZnJhbWUtZGF0YWJhc2UtZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCA5ZGY1MzdiMjlmMzM2ODcyYTUyMTE5NGRhNGQxZjMzZWU4MDU1OGYzLi4w
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3Rz
L2h0dHAvdGVzdHMvc3RvcmFnZUFjY2Vzcy9yZXF1ZXN0LWFuZC1ncmFudC1hY2Nlc3MtY3Jvc3Mt
b3JpZ2luLW5vbi1zYW5kYm94ZWQtaWZyYW1lLWRhdGFiYXNlLWV4cGVjdGVkLnR4dAorKysgL2Rl
di9udWxsCkBAIC0xLDEwICswLDAgQEAKLVRlc3RzIHRoYXQgY3Jvc3Mtb3JpZ2luIGlmcmFtZSBz
dG9yYWdlIGFjY2VzcyBpcyBncmFudGVkIGlmIHRoZSBpZnJhbWUgaXMgbm90IHNhbmRib3hlZCBh
bmQgdGhlIHVzZXIgYWNjZXB0cy4KLQotT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVz
IG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgotCi0KLVBB
U1MgU3RvcmFnZSBhY2Nlc3Mgd2FzIGdyYW50ZWQuIGRvY3VtZW50LmNvb2tpZSA9PSAsIGNvb2tp
ZXMgc2VlbiBzZXJ2ZXItc2lkZSA9PSAiTm8gY29va2llcyIKLVBBU1Mgc3VjY2Vzc2Z1bGx5UGFy
c2VkIGlzIHRydWUKLQotVEVTVCBDT01QTEVURQotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9o
dHRwL3Rlc3RzL3N0b3JhZ2VBY2Nlc3MvcmVxdWVzdC1hbmQtZ3JhbnQtYWNjZXNzLWNyb3NzLW9y
aWdpbi1ub24tc2FuZGJveGVkLWlmcmFtZS1kYXRhYmFzZS5odG1sIGIvTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy9zdG9yYWdlQWNjZXNzL3JlcXVlc3QtYW5kLWdyYW50LWFjY2Vzcy1jcm9zcy1vcmln
aW4tbm9uLXNhbmRib3hlZC1pZnJhbWUtZGF0YWJhc2UuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggZTJlOTliYWE2NTJkZTc4NDc0NmU2MTZlMDNmMjQ2ZjJmZmUxZmIwYy4uMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9o
dHRwL3Rlc3RzL3N0b3JhZ2VBY2Nlc3MvcmVxdWVzdC1hbmQtZ3JhbnQtYWNjZXNzLWNyb3NzLW9y
aWdpbi1ub24tc2FuZGJveGVkLWlmcmFtZS1kYXRhYmFzZS5odG1sCisrKyAvZGV2L251bGwKQEAg
LTEsNjggKzAsMCBAQAotPCFET0NUWVBFIGh0bWw+Ci08aHRtbD4KLTxoZWFkPgotICAgIDxzY3Jp
cHQgc3JjPSIvanMtdGVzdC1yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+Ci0gICAgPHNj
cmlwdCBzcmM9Ii9qcy10ZXN0LXJlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgotICAg
IDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9yZXNvdXJjZXMvdXRpbC5qcyI+
PC9zY3JpcHQ+Ci0gICAgPHNjcmlwdD4KLSAgICAgICAgZGVzY3JpcHRpb24oIlRlc3RzIHRoYXQg
Y3Jvc3Mtb3JpZ2luIGlmcmFtZSBzdG9yYWdlIGFjY2VzcyBpcyBncmFudGVkIGlmIHRoZSBpZnJh
bWUgaXMgbm90IHNhbmRib3hlZCBhbmQgdGhlIHVzZXIgYWNjZXB0cy4iKTsKLSAgICAgICAganNU
ZXN0SXNBc3luYyA9IHRydWU7Ci0gICAgICAgIHRlc3RSdW5uZXIuc2V0VXNlSVRQRGF0YWJhc2Uo
dHJ1ZSk7Ci0KLSAgICAgICAgY29uc3QgaG9zdFVuZGVyVGVzdCA9ICJsb2NhbGhvc3Q6ODAwMCI7
Ci0gICAgICAgIGNvbnN0IHN0YXRpc3RpY3NVcmwgPSAiaHR0cDovLyIgKyBob3N0VW5kZXJUZXN0
ICsgIi90ZW1wIjsKLQotICAgICAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigibWVzc2FnZSIs
IHJlY2VpdmVNZXNzYWdlLCBmYWxzZSk7Ci0KLSAgICAgICAgZnVuY3Rpb24gcmVjZWl2ZU1lc3Nh
Z2UoZXZlbnQpIHsKLSAgICAgICAgICAgIGlmIChldmVudC5vcmlnaW4gPT09ICJodHRwOi8vbG9j
YWxob3N0OjgwMDAiKSB7Ci0gICAgICAgICAgICAgICAgaWYgKGV2ZW50LmRhdGEuaW5kZXhPZigi
UEFTUyAiKSAhPT0gLTEpCi0gICAgICAgICAgICAgICAgICAgIHRlc3RQYXNzZWQoZXZlbnQuZGF0
YS5yZXBsYWNlKCJQQVNTICIsICIiKSk7Ci0gICAgICAgICAgICAgICAgZWxzZQotICAgICAgICAg
ICAgICAgICAgICB0ZXN0RmFpbGVkKGV2ZW50LmRhdGEpOwotICAgICAgICAgICAgfSBlbHNlCi0g
ICAgICAgICAgICAgICAgdGVzdEZhaWxlZCgiUmVjZWl2ZWQgYSBtZXNzYWdlIGZyb20gYW4gdW5l
eHBlY3RlZCBvcmlnaW46ICIgKyBldmVudC5vcmlnaW4pOwotICAgICAgICAgICAgc2V0RW5hYmxl
RmVhdHVyZShmYWxzZSwgZmluaXNoSlNUZXN0KTsKLSAgICAgICAgfQotCi0gICAgICAgIGZ1bmN0
aW9uIGFjdGl2YXRlRWxlbWVudChlbGVtZW50SWQpIHsKLSAgICAgICAgICAgIHZhciBlbGVtZW50
ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoZWxlbWVudElkKTsKLSAgICAgICAgICAgIHZhciBj
ZW50ZXJYID0gZWxlbWVudC5vZmZzZXRMZWZ0ICsgZWxlbWVudC5vZmZzZXRXaWR0aCAvIDI7Ci0g
ICAgICAgICAgICB2YXIgY2VudGVyWSA9IGVsZW1lbnQub2Zmc2V0VG9wICsgZWxlbWVudC5vZmZz
ZXRIZWlnaHQgLyAyOwotICAgICAgICAgICAgVUlIZWxwZXIuYWN0aXZhdGVBdChjZW50ZXJYLCBj
ZW50ZXJZKS50aGVuKAotICAgICAgICAgICAgICAgIGZ1bmN0aW9uICgpIHsKLSAgICAgICAgICAg
ICAgICAgICAgaWYgKHdpbmRvdy5ldmVudFNlbmRlcikKLSAgICAgICAgICAgICAgICAgICAgICAg
IGV2ZW50U2VuZGVyLmtleURvd24oImVzY2FwZSIpOwotICAgICAgICAgICAgICAgICAgICBlbHNl
IHsKLSAgICAgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoIk5vIGV2ZW50U2VuZGVyLiIp
OwotICAgICAgICAgICAgICAgICAgICAgICAgc2V0RW5hYmxlRmVhdHVyZShmYWxzZSwgZmluaXNo
SlNUZXN0KTsKLSAgICAgICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgIH0sCi0gICAg
ICAgICAgICAgICAgZnVuY3Rpb24gKCkgewotICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVk
KCJQcm9taXNlIHJlamVjdGVkLiIpOwotICAgICAgICAgICAgICAgICAgICBzZXRFbmFibGVGZWF0
dXJlKGZhbHNlLCBmaW5pc2hKU1Rlc3QpOwotICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAg
ICk7Ci0gICAgICAgIH0KLQotICAgICAgICBmdW5jdGlvbiBydW5UZXN0KCkgewotICAgICAgICAg
ICAgc2V0RW5hYmxlRmVhdHVyZSh0cnVlLCBmdW5jdGlvbigpIHsKLSAgICAgICAgICAgICAgICB0
ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NQcmV2YWxlbnRSZXNvdXJjZShzdGF0aXN0aWNzVXJsLCB0
cnVlLCBmdW5jdGlvbigpIHsKLSAgICAgICAgICAgICAgICAgICAgaWYgKCF0ZXN0UnVubmVyLmlz
U3RhdGlzdGljc1ByZXZhbGVudFJlc291cmNlKHN0YXRpc3RpY3NVcmwpKQotICAgICAgICAgICAg
ICAgICAgICAgICAgdGVzdEZhaWxlZCgiSG9zdCBkaWQgbm90IGdldCBzZXQgYXMgcHJldmFsZW50
IHJlc291cmNlLiIpOwotICAgICAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLnNldFN0YXRpc3Rp
Y3NIYXNIYWRVc2VySW50ZXJhY3Rpb24oc3RhdGlzdGljc1VybCwgdHJ1ZSwgZnVuY3Rpb24oKSB7
Ci0gICAgICAgICAgICAgICAgICAgICAgICBpZiAoIXRlc3RSdW5uZXIuaXNTdGF0aXN0aWNzSGFz
SGFkVXNlckludGVyYWN0aW9uKHN0YXRpc3RpY3NVcmwpKQotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIHRlc3RGYWlsZWQoIkhvc3QgZGlkIG5vdCBnZXQgbG9nZ2VkIGZvciB1c2VyIGludGVy
YWN0aW9uLiIpOwotICAgICAgICAgICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5zdGF0aXN0aWNz
VXBkYXRlQ29va2llQmxvY2tpbmcoZnVuY3Rpb24oKSB7Ci0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgYWN0aXZhdGVFbGVtZW50KCJUaGVJZnJhbWVUaGF0UmVxdWVzdHNTdG9yYWdlQWNjZXNz
Iik7Ci0gICAgICAgICAgICAgICAgICAgICAgICB9KTsKLSAgICAgICAgICAgICAgICAgICAgfSk7
Ci0gICAgICAgICAgICAgICAgfSk7Ci0gICAgICAgICAgICB9KTsKLSAgICAgICAgfQotICAgIDwv
c2NyaXB0PgotPC9oZWFkPgotPGJvZHk+Ci0gICAgPGlmcmFtZSBvbmxvYWQ9InJ1blRlc3QoKSIg
aWQ9IlRoZUlmcmFtZVRoYXRSZXF1ZXN0c1N0b3JhZ2VBY2Nlc3MiIHNyYz0iaHR0cDovL2xvY2Fs
aG9zdDo4MDAwL3N0b3JhZ2VBY2Nlc3MvcmVzb3VyY2VzL3JlcXVlc3Qtc3RvcmFnZS1hY2Nlc3Mt
aWZyYW1lLmh0bWwjdXNlclNob3VsZEdyYW50QWNjZXNzLHVzZXJTaG91bGRCZUNvbnN1bHRlZCxw
b2xpY3lTaG91bGRHcmFudEFjY2Vzcyxpc05vdFNhbWVPcmlnaW5JZnJhbWUiPjwvaWZyYW1lPgot
PC9ib2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zdG9y
YWdlQWNjZXNzL3JlcXVlc3QtYW5kLWdyYW50LWFjY2Vzcy1jcm9zcy1vcmlnaW4tc2FuZGJveGVk
LWlmcmFtZS1kYXRhYmFzZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3N0
b3JhZ2VBY2Nlc3MvcmVxdWVzdC1hbmQtZ3JhbnQtYWNjZXNzLWNyb3NzLW9yaWdpbi1zYW5kYm94
ZWQtaWZyYW1lLWRhdGFiYXNlLWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggNmM3NWU2NzhjMjkzYTczZTc2Mjc0OTkzYzZkNWY4MzQwYjhiY2U2Ni4uMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rl
c3RzL3N0b3JhZ2VBY2Nlc3MvcmVxdWVzdC1hbmQtZ3JhbnQtYWNjZXNzLWNyb3NzLW9yaWdpbi1z
YW5kYm94ZWQtaWZyYW1lLWRhdGFiYXNlLWV4cGVjdGVkLnR4dAorKysgL2Rldi9udWxsCkBAIC0x
LDEwICswLDAgQEAKLVRlc3RzIHRoYXQgY3Jvc3Mtb3JpZ2luIGlmcmFtZSBzdG9yYWdlIGFjY2Vz
cyBpcyBncmFudGVkIGlmIHRoZSBpZnJhbWUgaXMgc2FuZGJveGVkLCBoYXMgdGhlIGFsbG93IHRv
a2VuLCBhbmQgdGhlIHVzZXIgb3B0cyBpbi4KLQotT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEg
c2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgot
Ci0KLVBBU1MgU3RvcmFnZSBhY2Nlc3Mgd2FzIGdyYW50ZWQuIGRvY3VtZW50LmNvb2tpZSA9PSAs
IGNvb2tpZXMgc2VlbiBzZXJ2ZXItc2lkZSA9PSAiTm8gY29va2llcyIKLVBBU1Mgc3VjY2Vzc2Z1
bGx5UGFyc2VkIGlzIHRydWUKLQotVEVTVCBDT01QTEVURQotCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9odHRwL3Rlc3RzL3N0b3JhZ2VBY2Nlc3MvcmVxdWVzdC1hbmQtZ3JhbnQtYWNjZXNzLWNy
b3NzLW9yaWdpbi1zYW5kYm94ZWQtaWZyYW1lLWRhdGFiYXNlLmh0bWwgYi9MYXlvdXRUZXN0cy9o
dHRwL3Rlc3RzL3N0b3JhZ2VBY2Nlc3MvcmVxdWVzdC1hbmQtZ3JhbnQtYWNjZXNzLWNyb3NzLW9y
aWdpbi1zYW5kYm94ZWQtaWZyYW1lLWRhdGFiYXNlLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDJjZmU5YWI2MDQ3YmE5NDBhNDAxZWQ1NzZjNmNhZTY1NmY1OGQ0NjguLjAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy9zdG9yYWdlQWNjZXNzL3JlcXVlc3QtYW5kLWdyYW50LWFjY2Vzcy1jcm9zcy1vcmln
aW4tc2FuZGJveGVkLWlmcmFtZS1kYXRhYmFzZS5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsNTUg
KzAsMCBAQAotPCFET0NUWVBFIGh0bWw+Ci08aHRtbD4KLTxoZWFkPgotICAgIDxzY3JpcHQgc3Jj
PSIvanMtdGVzdC1yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+Ci0gICAgPHNjcmlwdCBz
cmM9Ii9qcy10ZXN0LXJlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgotICAgIDxzY3Jp
cHQgc3JjPSIvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9yZXNvdXJjZXMvdXRpbC5qcyI+PC9zY3Jp
cHQ+Ci0gICAgPHNjcmlwdD4KLSAgICAgICAgZGVzY3JpcHRpb24oIlRlc3RzIHRoYXQgY3Jvc3Mt
b3JpZ2luIGlmcmFtZSBzdG9yYWdlIGFjY2VzcyBpcyBncmFudGVkIGlmIHRoZSBpZnJhbWUgaXMg
c2FuZGJveGVkLCBoYXMgdGhlIGFsbG93IHRva2VuLCBhbmQgdGhlIHVzZXIgb3B0cyBpbi4iKTsK
LSAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7Ci0KLSAgICAgICAgd2luZG93LmFkZEV2ZW50
TGlzdGVuZXIoIm1lc3NhZ2UiLCByZWNlaXZlTWVzc2FnZSwgZmFsc2UpOwotCi0gICAgICAgIGZ1
bmN0aW9uIHJlY2VpdmVNZXNzYWdlKGV2ZW50KSB7Ci0gICAgICAgICAgICBpZiAoZXZlbnQub3Jp
Z2luID09PSAiaHR0cDovL2xvY2FsaG9zdDo4MDAwIikgewotICAgICAgICAgICAgICAgIGlmIChl
dmVudC5kYXRhLmluZGV4T2YoIlBBU1MiKSAhPT0gLTEpCi0gICAgICAgICAgICAgICAgICAgIHRl
c3RQYXNzZWQoZXZlbnQuZGF0YS5yZXBsYWNlKCJQQVNTICIsICIiKSk7Ci0gICAgICAgICAgICAg
ICAgZWxzZQotICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGV2ZW50LmRhdGEpOwotICAg
ICAgICAgICAgfSBlbHNlCi0gICAgICAgICAgICAgICAgdGVzdEZhaWxlZCgiUmVjZWl2ZWQgYSBt
ZXNzYWdlIGZyb20gYW4gdW5leHBlY3RlZCBvcmlnaW46ICIgKyBldmVudC5vcmlnaW4pOwotICAg
ICAgICAgICAgc2V0RW5hYmxlRmVhdHVyZShmYWxzZSwgZmluaXNoSlNUZXN0KTsKLSAgICAgICAg
fQotCi0gICAgICAgIGZ1bmN0aW9uIGFjdGl2YXRlRWxlbWVudChlbGVtZW50SWQpIHsKLSAgICAg
ICAgICAgIHZhciBlbGVtZW50ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoZWxlbWVudElkKTsK
LSAgICAgICAgICAgIHZhciBjZW50ZXJYID0gZWxlbWVudC5vZmZzZXRMZWZ0ICsgZWxlbWVudC5v
ZmZzZXRXaWR0aCAvIDI7Ci0gICAgICAgICAgICB2YXIgY2VudGVyWSA9IGVsZW1lbnQub2Zmc2V0
VG9wICsgZWxlbWVudC5vZmZzZXRIZWlnaHQgLyAyOwotICAgICAgICAgICAgVUlIZWxwZXIuYWN0
aXZhdGVBdChjZW50ZXJYLCBjZW50ZXJZKS50aGVuKAotICAgICAgICAgICAgICAgIGZ1bmN0aW9u
ICgpIHsKLSAgICAgICAgICAgICAgICAgICAgaWYgKHdpbmRvdy5ldmVudFNlbmRlcikKLSAgICAg
ICAgICAgICAgICAgICAgICAgIGV2ZW50U2VuZGVyLmtleURvd24oImVzY2FwZSIpOwotICAgICAg
ICAgICAgICAgICAgICBlbHNlIHsKLSAgICAgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQo
Ik5vIGV2ZW50U2VuZGVyLiIpOwotICAgICAgICAgICAgICAgICAgICAgICAgc2V0RW5hYmxlRmVh
dHVyZShmYWxzZSwgZmluaXNoSlNUZXN0KTsKLSAgICAgICAgICAgICAgICAgICAgfQotICAgICAg
ICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgZnVuY3Rpb24gKCkgewotICAgICAgICAgICAg
ICAgICAgICB0ZXN0RmFpbGVkKCJQcm9taXNlIHJlamVjdGVkLiIpOwotICAgICAgICAgICAgICAg
ICAgICBzZXRFbmFibGVGZWF0dXJlKGZhbHNlLCBmaW5pc2hKU1Rlc3QpOwotICAgICAgICAgICAg
ICAgIH0KLSAgICAgICAgICAgICk7Ci0gICAgICAgIH0KLQotICAgICAgICBmdW5jdGlvbiBydW5U
ZXN0KCkgewotICAgICAgICAgICAgdGVzdFJ1bm5lci5zZXRVc2VJVFBEYXRhYmFzZSh0cnVlKTsK
LSAgICAgICAgICAgIHNldEVuYWJsZUZlYXR1cmUodHJ1ZSwgZnVuY3Rpb24oKSB7Ci0gICAgICAg
ICAgICAgICAgYWN0aXZhdGVFbGVtZW50KCJUaGVJZnJhbWVUaGF0UmVxdWVzdHNTdG9yYWdlQWNj
ZXNzIik7Ci0gICAgICAgICAgICB9KTsKLSAgICAgICAgfQotICAgIDwvc2NyaXB0PgotPC9oZWFk
PgotPGJvZHk+Ci0gICAgPGlmcmFtZSBzYW5kYm94PSJhbGxvdy1zdG9yYWdlLWFjY2Vzcy1ieS11
c2VyLWFjdGl2YXRpb24gYWxsb3ctc2NyaXB0cyBhbGxvdy1zYW1lLW9yaWdpbiBhbGxvdy1tb2Rh
bHMiIG9ubG9hZD0icnVuVGVzdCgpIiBpZD0iVGhlSWZyYW1lVGhhdFJlcXVlc3RzU3RvcmFnZUFj
Y2VzcyIgc3JjPSJodHRwOi8vbG9jYWxob3N0OjgwMDAvc3RvcmFnZUFjY2Vzcy9yZXNvdXJjZXMv
cmVxdWVzdC1zdG9yYWdlLWFjY2Vzcy1pZnJhbWUuaHRtbCN1c2VyU2hvdWxkR3JhbnRBY2Nlc3Ms
dXNlclNob3VsZEJlQ29uc3VsdGVkLHBvbGljeVNob3VsZEdyYW50QWNjZXNzLGlzTm90U2FtZU9y
aWdpbklmcmFtZSI+PC9pZnJhbWU+Ci08L2JvZHk+Ci08L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL3N0b3JhZ2VBY2Nlc3MvcmVxdWVzdC1hbmQtZ3JhbnQtYWNjZXNz
LWNyb3NzLW9yaWdpbi1zYW5kYm94ZWQtaWZyYW1lLWZyb20tcHJldmFsZW50LWRvbWFpbi13aXRo
LXVzZXItaW50ZXJhY3Rpb24tYW5kLWFjY2Vzcy1mcm9tLXJpZ2h0LWZyYW1lLWRhdGFiYXNlLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc3RvcmFnZUFjY2Vzcy9yZXF1ZXN0
LWFuZC1ncmFudC1hY2Nlc3MtY3Jvc3Mtb3JpZ2luLXNhbmRib3hlZC1pZnJhbWUtZnJvbS1wcmV2
YWxlbnQtZG9tYWluLXdpdGgtdXNlci1pbnRlcmFjdGlvbi1hbmQtYWNjZXNzLWZyb20tcmlnaHQt
ZnJhbWUtZGF0YWJhc2UtZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCA3ZWY4NTg5NWNiNjA2MGI0ZDc0OTBjZTU3Y2Y5MzUwYTM1ODJiNzdhLi4wMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMv
c3RvcmFnZUFjY2Vzcy9yZXF1ZXN0LWFuZC1ncmFudC1hY2Nlc3MtY3Jvc3Mtb3JpZ2luLXNhbmRi
b3hlZC1pZnJhbWUtZnJvbS1wcmV2YWxlbnQtZG9tYWluLXdpdGgtdXNlci1pbnRlcmFjdGlvbi1h
bmQtYWNjZXNzLWZyb20tcmlnaHQtZnJhbWUtZGF0YWJhc2UtZXhwZWN0ZWQudHh0CisrKyAvZGV2
L251bGwKQEAgLTEsNTAgKzAsMCBAQAotVGVzdHMgdGhhdCBjcm9zcy1vcmlnaW4gaWZyYW1lIHN0
b3JhZ2UgYWNjZXNzIGlzIGdyYW50ZWQgaWYgdGhlIGlmcmFtZSBpcyBzYW5kYm94ZWQsIGhhcyB0
aGUgYWxsb3cgdG9rZW4sIHRoZSBpZnJhbWUgb3JpZ2luIGlzIGEgcHJldmFsZW50IHJlc291cmNl
LCB0aGUgaWZyYW1lIG9yaWdpbiBoYXMgaGFkIHVzZXIgaW50ZXJhY3Rpb24sIHRoZSB1c2VyIG9w
dHMgaW4sIGFuZCB0aGUgZnJhbWUgaXMgdGhlIG9uZSB3aXRoIGFjY2Vzcy4KLQotT24gc3VjY2Vz
cywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkg
IlRFU1QgQ09NUExFVEUiLgotCi0KLVBBU1MgU3RvcmFnZSBhY2Nlc3Mgd2FzIGdyYW50ZWQuIGRv
Y3VtZW50LmNvb2tpZSA9PSBmaXJzdFBhcnR5Q29va2llPXZhbHVlLCBjb29raWVzIHNlZW4gc2Vy
dmVyLXNpZGUgPT0geyJmaXJzdFBhcnR5Q29va2llIjoidmFsdWUifQotRGlkIG5hdmlnYXRlIGlm
cmFtZSBzYW1lLXNpdGUgYW5kIHdpbGwgbm93IGNoZWNrIHRoYXQgaXQgc3RpbGwgaGFzIHN0b3Jh
Z2UgYWNjZXNzLgotUEFTUyBkb2N1bWVudC5jb29raWUgPT0gZmlyc3RQYXJ0eUNvb2tpZT12YWx1
ZSwgY29va2llcyBzZWVuIHNlcnZlci1zaWRlID09IHsiZmlyc3RQYXJ0eUNvb2tpZSI6InZhbHVl
In0KLVBBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKLQotVEVTVCBDT01QTEVURQotCi0K
LS0tLS0tLS0tCi1GcmFtZTogJzwhLS1mcmFtZTEtLT4nCi0tLS0tLS0tLQotU2hvdWxkIHJlY2Vp
dmUgZmlyc3QtcGFydHkgY29va2llLgotUmVjZWl2ZWQgY29va2llIG5hbWVkICdmaXJzdFBhcnR5
Q29va2llJy4KLURpZCBub3QgcmVjZWl2ZSBjb29raWUgbmFtZWQgJ3BhcnRpdGlvbmVkQ29va2ll
Jy4KLUNsaWVudC1zaWRlIGRvY3VtZW50LmNvb2tpZTogZmlyc3RQYXJ0eUNvb2tpZT12YWx1ZQot
Ci0tLS0tLS0tLQotRnJhbWU6ICc8IS0tZnJhbWUyLS0+JwotLS0tLS0tLS0KLVNob3VsZCBub3Qg
cmVjZWl2ZSBjb29raWVzLgotRGlkIG5vdCByZWNlaXZlIGNvb2tpZSBuYW1lZCAnZmlyc3RQYXJ0
eUNvb2tpZScuCi1EaWQgbm90IHJlY2VpdmUgY29va2llIG5hbWVkICdwYXJ0aXRpb25lZENvb2tp
ZScuCi1DbGllbnQtc2lkZSBkb2N1bWVudC5jb29raWU6Ci0KLS0tLS0tLS0tCi1GcmFtZTogJzwh
LS1mcmFtZTMtLT4nCi0tLS0tLS0tLQotCi0KLQotLS0tLS0tLS0KLUZyYW1lOiAnPCEtLWZyYW1l
NC0tPicKLS0tLS0tLS0tCi1TaG91bGQgbm90IHJlY2VpdmUgY29va2llcy4KLURpZCBub3QgcmVj
ZWl2ZSBjb29raWUgbmFtZWQgJ2ZpcnN0UGFydHlDb29raWUnLgotRGlkIG5vdCByZWNlaXZlIGNv
b2tpZSBuYW1lZCAncGFydGl0aW9uZWRDb29raWUnLgotQ2xpZW50LXNpZGUgZG9jdW1lbnQuY29v
a2llOgotCi0tLS0tLS0tLQotRnJhbWU6ICc8IS0tZnJhbWU1LS0+JwotLS0tLS0tLS0KLUFmdGVy
IHRoZSB0b3AgZnJhbWUgbmF2aWdhdGVzIHRoZSBzdWIgZnJhbWUgY3Jvc3Mtc2l0ZSBhbmQgYmFj
aywgdGhlIHN1YiBmcmFtZSBzaG91bGQgbm8gbG9uZ2VyIGhhdmUgYWNjZXNzIHRvIGNvb2tpZXMu
Ci1EaWQgbm90IHJlY2VpdmUgY29va2llIG5hbWVkICdmaXJzdFBhcnR5Q29va2llJy4KLURpZCBu
b3QgcmVjZWl2ZSBjb29raWUgbmFtZWQgJ3BhcnRpdGlvbmVkQ29va2llJy4KLUNsaWVudC1zaWRl
IGRvY3VtZW50LmNvb2tpZToKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc3Rv
cmFnZUFjY2Vzcy9yZXF1ZXN0LWFuZC1ncmFudC1hY2Nlc3MtY3Jvc3Mtb3JpZ2luLXNhbmRib3hl
ZC1pZnJhbWUtZnJvbS1wcmV2YWxlbnQtZG9tYWluLXdpdGgtdXNlci1pbnRlcmFjdGlvbi1hbmQt
YWNjZXNzLWZyb20tcmlnaHQtZnJhbWUtZGF0YWJhc2UuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAv
dGVzdHMvc3RvcmFnZUFjY2Vzcy9yZXF1ZXN0LWFuZC1ncmFudC1hY2Nlc3MtY3Jvc3Mtb3JpZ2lu
LXNhbmRib3hlZC1pZnJhbWUtZnJvbS1wcmV2YWxlbnQtZG9tYWluLXdpdGgtdXNlci1pbnRlcmFj
dGlvbi1hbmQtYWNjZXNzLWZyb20tcmlnaHQtZnJhbWUtZGF0YWJhc2UuaHRtbApkZWxldGVkIGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggNDY5ODVkNGIwNDlhM2FhMjUwMDc3Yjc1MzIwYWZjNmFjNGNk
MjIxOS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL3N0b3JhZ2VBY2Nlc3MvcmVxdWVzdC1hbmQtZ3JhbnQtYWNjZXNz
LWNyb3NzLW9yaWdpbi1zYW5kYm94ZWQtaWZyYW1lLWZyb20tcHJldmFsZW50LWRvbWFpbi13aXRo
LXVzZXItaW50ZXJhY3Rpb24tYW5kLWFjY2Vzcy1mcm9tLXJpZ2h0LWZyYW1lLWRhdGFiYXNlLmh0
bWwKKysrIC9kZXYvbnVsbApAQCAtMSwxNjYgKzAsMCBAQAotPCFET0NUWVBFIGh0bWw+Ci08aHRt
bD4KLTxoZWFkPgotICAgIDxzY3JpcHQgc3JjPSIvanMtdGVzdC1yZXNvdXJjZXMvanMtdGVzdC5q
cyI+PC9zY3JpcHQ+Ci0gICAgPHNjcmlwdCBzcmM9Ii9qcy10ZXN0LXJlc291cmNlcy91aS1oZWxw
ZXIuanMiPjwvc2NyaXB0PgotICAgIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VMb2FkU3RhdGlzdGlj
cy9yZXNvdXJjZXMvdXRpbC5qcyI+PC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keT4KLSAgICA8c2Ny
aXB0PgotICAgICAgICBkZXNjcmlwdGlvbigiVGVzdHMgdGhhdCBjcm9zcy1vcmlnaW4gaWZyYW1l
IHN0b3JhZ2UgYWNjZXNzIGlzIGdyYW50ZWQgaWYgdGhlIGlmcmFtZSBpcyBzYW5kYm94ZWQsIGhh
cyB0aGUgYWxsb3cgdG9rZW4sIHRoZSBpZnJhbWUgb3JpZ2luIGlzIGEgcHJldmFsZW50IHJlc291
cmNlLCB0aGUgaWZyYW1lIG9yaWdpbiBoYXMgaGFkIHVzZXIgaW50ZXJhY3Rpb24sIHRoZSB1c2Vy
IG9wdHMgaW4sIGFuZCB0aGUgZnJhbWUgaXMgdGhlIG9uZSB3aXRoIGFjY2Vzcy4iKTsKLSAgICAg
ICAganNUZXN0SXNBc3luYyA9IHRydWU7Ci0gICAgICAgIHRlc3RSdW5uZXIuc2V0VXNlSVRQRGF0
YWJhc2UodHJ1ZSk7Ci0KLSAgICAgICAgY29uc3QgaG9zdFVuZGVyVGVzdCA9ICJsb2NhbGhvc3Q6
ODAwMCI7Ci0gICAgICAgIGNvbnN0IHN0YXRpc3RpY3NVcmwgPSAiaHR0cDovLyIgKyBob3N0VW5k
ZXJUZXN0ICsgIi90ZW1wIjsKLQotICAgICAgICBjb25zdCBwYXJ0aXRpb25Ib3N0ID0gIjEyNy4w
LjAuMTo4MDAwIjsKLSAgICAgICAgY29uc3QgdGhpcmRQYXJ0eU9yaWdpbiA9ICJodHRwOi8vbG9j
YWxob3N0OjgwMDAiOwotICAgICAgICBjb25zdCByZXNvdXJjZVBhdGggPSAiL3N0b3JhZ2VBY2Nl
c3MvcmVzb3VyY2VzIjsKLSAgICAgICAgY29uc3QgdGhpcmRQYXJ0eUJhc2VVcmwgPSB0aGlyZFBh
cnR5T3JpZ2luICsgcmVzb3VyY2VQYXRoOwotICAgICAgICBjb25zdCBmaXJzdFBhcnR5Q29va2ll
TmFtZSA9ICJmaXJzdFBhcnR5Q29va2llIjsKLSAgICAgICAgY29uc3Qgc3ViUGF0aFRvU2V0Rmly
c3RQYXJ0eUNvb2tpZSA9ICIvc2V0LWNvb2tpZS5waHA/bmFtZT0iICsgZmlyc3RQYXJ0eUNvb2tp
ZU5hbWUgKyAiJnZhbHVlPXZhbHVlIjsKLSAgICAgICAgY29uc3QgcGFydGl0aW9uZWRDb29raWVO
YW1lID0gInBhcnRpdGlvbmVkQ29va2llIjsKLSAgICAgICAgY29uc3Qgc3ViUGF0aFRvU2V0UGFy
dGl0aW9uZWRDb29raWUgPSAiL3NldC1jb29raWUucGhwP25hbWU9IiArIHBhcnRpdGlvbmVkQ29v
a2llTmFtZSArICImdmFsdWU9dmFsdWUiOwotICAgICAgICBjb25zdCByZXR1cm5VcmwgPSAiaHR0
cDovLyIgKyBwYXJ0aXRpb25Ib3N0ICsgIi9zdG9yYWdlQWNjZXNzL3JlcXVlc3QtYW5kLWdyYW50
LWFjY2Vzcy1jcm9zcy1vcmlnaW4tc2FuZGJveGVkLWlmcmFtZS1mcm9tLXByZXZhbGVudC1kb21h
aW4td2l0aC11c2VyLWludGVyYWN0aW9uLWFuZC1hY2Nlc3MtZnJvbS1yaWdodC1mcmFtZS1kYXRh
YmFzZS5odG1sIjsKLSAgICAgICAgY29uc3Qgc3ViUGF0aFRvR2V0Q29va2llcyA9ICIvZ2V0LWNv
b2tpZXMucGhwP25hbWUxPSIgKyBmaXJzdFBhcnR5Q29va2llTmFtZSArICImbmFtZTI9IiArIHBh
cnRpdGlvbmVkQ29va2llTmFtZTsKLQotICAgICAgICBmdW5jdGlvbiBvcGVuSWZyYW1lKHVybCwg
b25Mb2FkSGFuZGxlcikgewotICAgICAgICAgICAgY29uc3QgZWxlbWVudCA9IGRvY3VtZW50LmNy
ZWF0ZUVsZW1lbnQoImlmcmFtZSIpOwotICAgICAgICAgICAgZWxlbWVudC5zcmMgPSB1cmw7Ci0g
ICAgICAgICAgICBpZiAob25Mb2FkSGFuZGxlcikgewotICAgICAgICAgICAgICAgIGVsZW1lbnQu
b25sb2FkID0gb25Mb2FkSGFuZGxlcjsKLSAgICAgICAgICAgIH0KLSAgICAgICAgICAgIGRvY3Vt
ZW50LmJvZHkuYXBwZW5kQ2hpbGQoZWxlbWVudCk7Ci0gICAgICAgIH0KLQotICAgICAgICBmdW5j
dGlvbiByZWNlaXZlTWVzc2FnZShldmVudCkgewotICAgICAgICAgICAgaWYgKGV2ZW50Lm9yaWdp
biA9PT0gImh0dHA6Ly9sb2NhbGhvc3Q6ODAwMCIpIHsKLSAgICAgICAgICAgICAgICBpZiAoZXZl
bnQuZGF0YS5pbmRleE9mKCJQQVNTIikgIT09IC0xKQotICAgICAgICAgICAgICAgICAgICB0ZXN0
UGFzc2VkKGV2ZW50LmRhdGEucmVwbGFjZSgiUEFTUyAiLCAiIikpOwotICAgICAgICAgICAgICAg
IGVsc2UKLSAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChldmVudC5kYXRhKTsKLSAgICAg
ICAgICAgIH0gZWxzZQotICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoIlJlY2VpdmVkIGEgbWVz
c2FnZSBmcm9tIGFuIHVuZXhwZWN0ZWQgb3JpZ2luOiAiICsgZXZlbnQub3JpZ2luKTsKLSAgICAg
ICAgICAgIHJ1blRlc3QoKTsKLSAgICAgICAgfQotCi0gICAgICAgIGZ1bmN0aW9uIGFjdGl2YXRl
RWxlbWVudChlbGVtZW50SWQpIHsKLSAgICAgICAgICAgIHZhciBlbGVtZW50ID0gZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoZWxlbWVudElkKTsKLSAgICAgICAgICAgIHZhciBjZW50ZXJYID0gZWxl
bWVudC5vZmZzZXRMZWZ0ICsgZWxlbWVudC5vZmZzZXRXaWR0aCAvIDI7Ci0gICAgICAgICAgICB2
YXIgY2VudGVyWSA9IGVsZW1lbnQub2Zmc2V0VG9wICsgZWxlbWVudC5vZmZzZXRIZWlnaHQgLyAy
OwotICAgICAgICAgICAgVUlIZWxwZXIuYWN0aXZhdGVBdChjZW50ZXJYLCBjZW50ZXJZKS50aGVu
KAotICAgICAgICAgICAgICAgIGZ1bmN0aW9uICgpIHsKLSAgICAgICAgICAgICAgICAgICAgaWYg
KHdpbmRvdy5ldmVudFNlbmRlcikKLSAgICAgICAgICAgICAgICAgICAgICAgIGV2ZW50U2VuZGVy
LmtleURvd24oImVzY2FwZSIpOwotICAgICAgICAgICAgICAgICAgICBlbHNlIHsKLSAgICAgICAg
ICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoIk5vIGV2ZW50U2VuZGVyLiIpOwotICAgICAgICAg
ICAgICAgICAgICAgICAgc2V0RW5hYmxlRmVhdHVyZShmYWxzZSwgZmluaXNoSlNUZXN0KTsKLSAg
ICAgICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAg
ZnVuY3Rpb24gKCkgewotICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKCJQcm9taXNlIHJl
amVjdGVkLiIpOwotICAgICAgICAgICAgICAgICAgICBzZXRFbmFibGVGZWF0dXJlKGZhbHNlLCBm
aW5pc2hKU1Rlc3QpOwotICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICk7Ci0gICAgICAg
IH0KLQotICAgICAgICBmdW5jdGlvbiBydW5UZXN0KCkgewotICAgICAgICAgICAgc3dpdGNoIChk
b2N1bWVudC5sb2NhdGlvbi5oYXNoKSB7Ci0gICAgICAgICAgICAgICAgY2FzZSAiI3N0ZXAxIjoK
LSAgICAgICAgICAgICAgICAgICAgaWYgKHRlc3RSdW5uZXIuaXNTdGF0aXN0aWNzUHJldmFsZW50
UmVzb3VyY2Uoc3RhdGlzdGljc1VybCkpCi0gICAgICAgICAgICAgICAgICAgICAgICB0ZXN0RmFp
bGVkKCJIb3N0IHByZW1hdHVyZWx5IHNldCBhcyBwcmV2YWxlbnQgcmVzb3VyY2UuIik7Ci0gICAg
ICAgICAgICAgICAgICAgIC8vIFNldCBmaXJzdC1wYXJ0eSBjb29raWUgZm9yIGxvY2FsaG9zdC4K
LSAgICAgICAgICAgICAgICAgICAgZG9jdW1lbnQubG9jYXRpb24uaHJlZiA9IHRoaXJkUGFydHlC
YXNlVXJsICsgc3ViUGF0aFRvU2V0Rmlyc3RQYXJ0eUNvb2tpZSArICIjIiArIHJldHVyblVybCAr
ICIjc3RlcDIiOwotICAgICAgICAgICAgICAgICAgICBicmVhazsKLSAgICAgICAgICAgICAgICBj
YXNlICIjc3RlcDIiOgotICAgICAgICAgICAgICAgICAgICBkb2N1bWVudC5sb2NhdGlvbi5oYXNo
ID0gInN0ZXAzIjsKLSAgICAgICAgICAgICAgICAgICAgLy8gQ2hlY2sgdGhhdCB0aGUgZmlyc3Qt
cGFydHkgY29va2llIGRvZXMgZ2V0IHNlbnQgZm9yIGxvY2FsaG9zdCB1bmRlciAxMjcuMC4wLjEu
Ci0gICAgICAgICAgICAgICAgICAgIG9wZW5JZnJhbWUodGhpcmRQYXJ0eUJhc2VVcmwgKyBzdWJQ
YXRoVG9HZXRDb29raWVzICsgIiZtZXNzYWdlPVNob3VsZCByZWNlaXZlIGZpcnN0LXBhcnR5IGNv
b2tpZS4iLCBydW5UZXN0KTsKLSAgICAgICAgICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgICAg
ICAgICAgY2FzZSAiI3N0ZXAzIjoKLSAgICAgICAgICAgICAgICAgICAgZG9jdW1lbnQubG9jYXRp
b24uaGFzaCA9ICJzdGVwNCI7Ci0gICAgICAgICAgICAgICAgICAgIC8vIFNldCBsb2NhbGhvc3Qg
YXMgcHJldmFsZW50IHdpdGggdXNlciBpbnRlcmFjdGlvbi4KLSAgICAgICAgICAgICAgICAgICAg
dGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNzSGFzSGFkVXNlckludGVyYWN0aW9uKHN0YXRpc3RpY3NV
cmwsIHRydWUsIGZ1bmN0aW9uKCkgewotICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCF0ZXN0
UnVubmVyLmlzU3RhdGlzdGljc0hhc0hhZFVzZXJJbnRlcmFjdGlvbihzdGF0aXN0aWNzVXJsKSkK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKCJIb3N0IGRpZCBub3QgZ2V0
IGxvZ2dlZCBmb3IgdXNlciBpbnRlcmFjdGlvbi4iKTsKLSAgICAgICAgICAgICAgICAgICAgICAg
IHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc1ByZXZhbGVudFJlc291cmNlKHN0YXRpc3RpY3NVcmws
IHRydWUsIGZ1bmN0aW9uKCkgewotICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICghdGVz
dFJ1bm5lci5pc1N0YXRpc3RpY3NQcmV2YWxlbnRSZXNvdXJjZShzdGF0aXN0aWNzVXJsKSkKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZCgiSG9zdCBkaWQgbm90IGdl
dCBzZXQgYXMgcHJldmFsZW50IHJlc291cmNlLiIpOwotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIHRlc3RSdW5uZXIuc3RhdGlzdGljc1VwZGF0ZUNvb2tpZUJsb2NraW5nKGZ1bmN0aW9uKCkg
ewotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBDaGVjayB0aGF0IHRoZSBmaXJz
dC1wYXJ0eSBjb29raWUgZG9lcyBub3QgZ2V0IHNlbnQgZm9yIGxvY2FsaG9zdCB1bmRlciAxMjcu
MC4wLjEuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9wZW5JZnJhbWUodGhpcmRQ
YXJ0eUJhc2VVcmwgKyBzdWJQYXRoVG9HZXRDb29raWVzICsgIiZtZXNzYWdlPVNob3VsZCBub3Qg
cmVjZWl2ZSBjb29raWVzLiIsIHJ1blRlc3QpOwotICAgICAgICAgICAgICAgICAgICAgICAgICAg
IH0pOwotICAgICAgICAgICAgICAgICAgICAgICAgfSk7Ci0gICAgICAgICAgICAgICAgICAgIH0p
OwotICAgICAgICAgICAgICAgICAgICBicmVhazsKLSAgICAgICAgICAgICAgICBjYXNlICIjc3Rl
cDQiOgotICAgICAgICAgICAgICAgICAgICBkb2N1bWVudC5sb2NhdGlvbi5oYXNoID0gInN0ZXA1
IjsKLSAgICAgICAgICAgICAgICAgICAgLy8gVHJ5IHRvIHNldCBhIGNvb2tpZSBmb3IgbG9jYWxo
b3N0LgotICAgICAgICAgICAgICAgICAgICBvcGVuSWZyYW1lKHRoaXJkUGFydHlCYXNlVXJsICsg
c3ViUGF0aFRvU2V0UGFydGl0aW9uZWRDb29raWUsIHJ1blRlc3QpOwotICAgICAgICAgICAgICAg
ICAgICBicmVhazsKLSAgICAgICAgICAgICAgICBjYXNlICIjc3RlcDUiOgotICAgICAgICAgICAg
ICAgICAgICBkb2N1bWVudC5sb2NhdGlvbi5oYXNoID0gInN0ZXA2IjsKLSAgICAgICAgICAgICAg
ICAgICAgLy8gQ2hlY2sgdGhhdCBubyBjb29raWUgZ2V0cyBzZW50IGZvciBsb2NhbGhvc3QgdW5k
ZXIgMTI3LjAuMC4xLgotICAgICAgICAgICAgICAgICAgICBvcGVuSWZyYW1lKHRoaXJkUGFydHlC
YXNlVXJsICsgc3ViUGF0aFRvR2V0Q29va2llcyArICImbWVzc2FnZT1TaG91bGQgbm90IHJlY2Vp
dmUgY29va2llcy4iLCBydW5UZXN0KTsKLSAgICAgICAgICAgICAgICAgICAgYnJlYWs7Ci0gICAg
ICAgICAgICAgICAgY2FzZSAiI3N0ZXA2IjoKLSAgICAgICAgICAgICAgICAgICAgZG9jdW1lbnQu
bG9jYXRpb24uaGFzaCA9ICJzdGVwNyI7Ci0gICAgICAgICAgICAgICAgICAgIC8vIENyZWF0ZSBp
ZnJhbWUgdGhhdCB3aWxsIHJlcXVlc3Qgc3RvcmFnZSBhY2Nlc3MuCi0gICAgICAgICAgICAgICAg
ICAgIGxldCBpZnJhbWVFbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiaWZyYW1lIik7
Ci0gICAgICAgICAgICAgICAgICAgIGlmcmFtZUVsZW1lbnQuc2V0QXR0cmlidXRlKCJzYW5kYm94
IiwgImFsbG93LXN0b3JhZ2UtYWNjZXNzLWJ5LXVzZXItYWN0aXZhdGlvbiBhbGxvdy1zY3JpcHRz
IGFsbG93LXNhbWUtb3JpZ2luIGFsbG93LW1vZGFscyIpOwotICAgICAgICAgICAgICAgICAgICBp
ZnJhbWVFbGVtZW50Lm9ubG9hZCA9IGZ1bmN0aW9uKCkgewotICAgICAgICAgICAgICAgICAgICAg
ICAgdGVzdFJ1bm5lci5zdGF0aXN0aWNzVXBkYXRlQ29va2llQmxvY2tpbmcoZnVuY3Rpb24oKSB7
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgYWN0aXZhdGVFbGVtZW50KCJUaGVJZnJhbWVU
aGF0UmVxdWVzdHNTdG9yYWdlQWNjZXNzIik7Ci0gICAgICAgICAgICAgICAgICAgICAgICB9KTsK
LSAgICAgICAgICAgICAgICAgICAgfTsKLSAgICAgICAgICAgICAgICAgICAgaWZyYW1lRWxlbWVu
dC5pZCA9ICJUaGVJZnJhbWVUaGF0UmVxdWVzdHNTdG9yYWdlQWNjZXNzIjsKLSAgICAgICAgICAg
ICAgICAgICAgaWZyYW1lRWxlbWVudC5zcmMgPSAiaHR0cDovL2xvY2FsaG9zdDo4MDAwL3N0b3Jh
Z2VBY2Nlc3MvcmVzb3VyY2VzL3JlcXVlc3Qtc3RvcmFnZS1hY2Nlc3MtaWZyYW1lLmh0bWw/Ym9n
dXMjdXNlclNob3VsZEdyYW50QWNjZXNzLHVzZXJTaG91bGRCZUNvbnN1bHRlZCxwb2xpY3lTaG91
bGRHcmFudEFjY2Vzcyxpc05vdFNhbWVPcmlnaW5JZnJhbWUiOwotICAgICAgICAgICAgICAgICAg
ICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGlmcmFtZUVsZW1lbnQpOwotICAgICAgICAgICAg
ICAgICAgICBicmVhazsKLSAgICAgICAgICAgICAgICBjYXNlICIjc3RlcDciOgotICAgICAgICAg
ICAgICAgICAgICBkb2N1bWVudC5sb2NhdGlvbi5oYXNoID0gInN0ZXA4IjsKLSAgICAgICAgICAg
ICAgICAgICAgLy8gTmF2aWdhdGUgdGhlIGZyYW1lIHNhbWUtc2l0ZS4KLSAgICAgICAgICAgICAg
ICAgICAgbGV0IGV4aXN0aW5nSWZyYW1lMSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJUaGVJ
ZnJhbWVUaGF0UmVxdWVzdHNTdG9yYWdlQWNjZXNzIik7Ci0gICAgICAgICAgICAgICAgICAgIGV4
aXN0aW5nSWZyYW1lMS5vbmxvYWQgPSBmdW5jdGlvbiAoKSB7Ci0gICAgICAgICAgICAgICAgICAg
ICAgICBkZWJ1ZygiRGlkIG5hdmlnYXRlIGlmcmFtZSBzYW1lLXNpdGUgYW5kIHdpbGwgbm93IGNo
ZWNrIHRoYXQgaXQgc3RpbGwgaGFzIHN0b3JhZ2UgYWNjZXNzLiIpOwotICAgICAgICAgICAgICAg
ICAgICAgICAgbGV0IGlmcmFtZSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJUaGVJZnJhbWVU
aGF0UmVxdWVzdHNTdG9yYWdlQWNjZXNzIik7Ci0gICAgICAgICAgICAgICAgICAgICAgICBpZnJh
bWUuY29udGVudFdpbmRvdy5wb3N0TWVzc2FnZSgicmVwb3J0QmFja0Nvb2tpZXMiLCAiaHR0cDov
L2xvY2FsaG9zdDo4MDAwIik7Ci0gICAgICAgICAgICAgICAgICAgIH07Ci0gICAgICAgICAgICAg
ICAgICAgIGV4aXN0aW5nSWZyYW1lMS5zcmMgPSB0aGlyZFBhcnR5QmFzZVVybCArIHN1YlBhdGhU
b0dldENvb2tpZXM7Ci0gICAgICAgICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICAgICAgICAg
IGNhc2UgIiNzdGVwOCI6Ci0gICAgICAgICAgICAgICAgICAgIGRvY3VtZW50LmxvY2F0aW9uLmhh
c2ggPSAic3RlcDkiOwotICAgICAgICAgICAgICAgICAgICAvLyBOYXZpZ2F0ZSB0aGUgZnJhbWUg
Y3Jvc3Mtc2l0ZS4gVGhpcyBzaG91bGQgY2xlYXIgb3V0IHN0b3JhZ2UgYWNjZXNzLgotICAgICAg
ICAgICAgICAgICAgICBsZXQgZXhpc3RpbmdJZnJhbWUyID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoIlRoZUlmcmFtZVRoYXRSZXF1ZXN0c1N0b3JhZ2VBY2Nlc3MiKTsKLSAgICAgICAgICAgICAg
ICAgICAgZXhpc3RpbmdJZnJhbWUyLm9ubG9hZCA9IHJ1blRlc3Q7Ci0gICAgICAgICAgICAgICAg
ICAgIGV4aXN0aW5nSWZyYW1lMi5zcmMgPSAiaHR0cDovLyIgKyBwYXJ0aXRpb25Ib3N0OwotICAg
ICAgICAgICAgICAgICAgICBicmVhazsKLSAgICAgICAgICAgICAgICBjYXNlICIjc3RlcDkiOgot
ICAgICAgICAgICAgICAgICAgICBkb2N1bWVudC5sb2NhdGlvbi5oYXNoID0gInN0ZXAxMCI7Ci0g
ICAgICAgICAgICAgICAgICAgIC8vIEFnYWluIG9wZW4gbG9jYWxob3N0IGluIHRoZSBleGlzdGlu
ZyBmcmFtZSBhbmQgY2hlY2sgdGhhdCBubyBjb29raWUgZ2V0cyBzZW50IGZvciBsb2NhbGhvc3Qg
dW5kZXIgMTI3LjAuMC4xIHNpbmNlIGl0IGhhcyBiZWVuIG5hdmlnYXRlZCBjcm9zcy1zaXRlLgot
ICAgICAgICAgICAgICAgICAgICBsZXQgZXhpc3RpbmdJZnJhbWUzID0gZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoIlRoZUlmcmFtZVRoYXRSZXF1ZXN0c1N0b3JhZ2VBY2Nlc3MiKTsKLSAgICAgICAg
ICAgICAgICAgICAgZXhpc3RpbmdJZnJhbWUzLm9ubG9hZCA9IHJ1blRlc3Q7Ci0gICAgICAgICAg
ICAgICAgICAgIGV4aXN0aW5nSWZyYW1lMy5zcmMgPSB0aGlyZFBhcnR5QmFzZVVybCArIHN1YlBh
dGhUb0dldENvb2tpZXMgKyAiJm1lc3NhZ2U9QWZ0ZXIgdGhlIHRvcCBmcmFtZSBuYXZpZ2F0ZXMg
dGhlIHN1YiBmcmFtZSBjcm9zcy1zaXRlIGFuZCBiYWNrLCB0aGUgc3ViIGZyYW1lIHNob3VsZCBu
byBsb25nZXIgaGF2ZSBhY2Nlc3MgdG8gY29va2llcy4iOwotICAgICAgICAgICAgICAgICAgICBi
cmVhazsKLSAgICAgICAgICAgICAgICBjYXNlICIjc3RlcDEwIjoKLSAgICAgICAgICAgICAgICAg
ICAgc2V0RW5hYmxlRmVhdHVyZShmYWxzZSwgZmluaXNoSlNUZXN0KTsKLSAgICAgICAgICAgICAg
ICAgICAgYnJlYWs7Ci0gICAgICAgICAgICB9Ci0gICAgICAgIH0KLQotICAgICAgICBpZiAoZG9j
dW1lbnQubG9jYXRpb24uaGFzaCA9PT0gIiIpIHsKLSAgICAgICAgICAgIHNldEVuYWJsZUZlYXR1
cmUodHJ1ZSwgZnVuY3Rpb24oKSB7Ci0gICAgICAgICAgICAgICAgaWYgKHRlc3RSdW5uZXIuaXNT
dGF0aXN0aWNzUHJldmFsZW50UmVzb3VyY2UodGhpcmRQYXJ0eUJhc2VVcmwpKQotICAgICAgICAg
ICAgICAgICAgICB0ZXN0RmFpbGVkKCJMb2NhbGhvc3Qgd2FzIGNsYXNzaWZpZWQgYXMgcHJldmFs
ZW50IHJlc291cmNlIGJlZm9yZSB0aGUgdGVzdCBzdGFydHMuIik7Ci0gICAgICAgICAgICAgICAg
dGVzdFJ1bm5lci5kdW1wQ2hpbGRGcmFtZXNBc1RleHQoKTsKLSAgICAgICAgICAgICAgICBkb2N1
bWVudC5sb2NhdGlvbi5oYXNoID0gInN0ZXAxIjsKLSAgICAgICAgICAgIH0pOwotICAgICAgICB9
Ci0KLSAgICAgICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoIm1lc3NhZ2UiLCByZWNlaXZlTWVz
c2FnZSwgZmFsc2UpOwotCi0gICAgICAgIHJ1blRlc3QoKTsKLSAgICA8L3NjcmlwdD4KLTwvYm9k
eT4KLTwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc3RvcmFnZUFj
Y2Vzcy9yZXF1ZXN0LWFuZC1ncmFudC1hY2Nlc3MtY3Jvc3Mtb3JpZ2luLXNhbmRib3hlZC1pZnJh
bWUtZnJvbS1wcmV2YWxlbnQtZG9tYWluLXdpdGgtdXNlci1pbnRlcmFjdGlvbi1idXQtYWNjZXNz
LWZyb20td3JvbmctZnJhbWUtZGF0YWJhc2UtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy9zdG9yYWdlQWNjZXNzL3JlcXVlc3QtYW5kLWdyYW50LWFjY2Vzcy1jcm9zcy1vcmln
aW4tc2FuZGJveGVkLWlmcmFtZS1mcm9tLXByZXZhbGVudC1kb21haW4td2l0aC11c2VyLWludGVy
YWN0aW9uLWJ1dC1hY2Nlc3MtZnJvbS13cm9uZy1mcmFtZS1kYXRhYmFzZS1leHBlY3RlZC50eHQK
ZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDZjMDQ4ZWI1ZWMxMzY4YWZhNWNiYmM5NDBm
NGMxNDdiNjRjYjM3MjIuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAK
LS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zdG9yYWdlQWNjZXNzL3JlcXVlc3QtYW5kLWdy
YW50LWFjY2Vzcy1jcm9zcy1vcmlnaW4tc2FuZGJveGVkLWlmcmFtZS1mcm9tLXByZXZhbGVudC1k
b21haW4td2l0aC11c2VyLWludGVyYWN0aW9uLWJ1dC1hY2Nlc3MtZnJvbS13cm9uZy1mcmFtZS1k
YXRhYmFzZS1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSw1MyArMCwwIEBACi1UZXN0
cyB0aGF0IGNyb3NzLW9yaWdpbiBpZnJhbWUgc3RvcmFnZSBhY2Nlc3MgaXMgZGVuaWVkIGlmIHRo
ZSBpZnJhbWUgaXMgc2FuZGJveGVkLCBoYXMgdGhlIGFsbG93IHRva2VuLCB0aGUgaWZyYW1lIG9y
aWdpbiBpcyBhIHByZXZhbGVudCByZXNvdXJjZSwgdGhlIGlmcmFtZSBvcmlnaW4gaGFzIGhhZCB1
c2VyIGludGVyYWN0aW9uLCB0aGUgdXNlciBvcHRzIGluLCBidXQgdGhlIGZyYW1lIGlzIG5vdCB0
aGUgb25lIHdpdGggYWNjZXNzLgotCi1PbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMg
b2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCi0KLQotUEFT
UyBTdG9yYWdlIGFjY2VzcyB3YXMgZ3JhbnRlZC4gZG9jdW1lbnQuY29va2llID09IGZpcnN0UGFy
dHlDb29raWU9dmFsdWUsIGNvb2tpZXMgc2VlbiBzZXJ2ZXItc2lkZSA9PSB7ImZpcnN0UGFydHlD
b29raWUiOiJ2YWx1ZSJ9Ci1QQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCi0KLVRFU1Qg
Q09NUExFVEUKLQotCi0tLS0tLS0tLQotRnJhbWU6ICc8IS0tZnJhbWUxLS0+JwotLS0tLS0tLS0K
LVNob3VsZCByZWNlaXZlIGZpcnN0LXBhcnR5IGNvb2tpZS4KLVJlY2VpdmVkIGNvb2tpZSBuYW1l
ZCAnZmlyc3RQYXJ0eUNvb2tpZScuCi1EaWQgbm90IHJlY2VpdmUgY29va2llIG5hbWVkICdwYXJ0
aXRpb25lZENvb2tpZScuCi1DbGllbnQtc2lkZSBkb2N1bWVudC5jb29raWU6IGZpcnN0UGFydHlD
b29raWU9dmFsdWUKLQotLS0tLS0tLS0KLUZyYW1lOiAnPCEtLWZyYW1lMi0tPicKLS0tLS0tLS0t
Ci1TaG91bGQgbm90IHJlY2VpdmUgY29va2llcy4KLURpZCBub3QgcmVjZWl2ZSBjb29raWUgbmFt
ZWQgJ2ZpcnN0UGFydHlDb29raWUnLgotRGlkIG5vdCByZWNlaXZlIGNvb2tpZSBuYW1lZCAncGFy
dGl0aW9uZWRDb29raWUnLgotQ2xpZW50LXNpZGUgZG9jdW1lbnQuY29va2llOgotCi0tLS0tLS0t
LQotRnJhbWU6ICc8IS0tZnJhbWUzLS0+JwotLS0tLS0tLS0KLQotCi0KLS0tLS0tLS0tCi1GcmFt
ZTogJzwhLS1mcmFtZTQtLT4nCi0tLS0tLS0tLQotU2hvdWxkIG5vdCByZWNlaXZlIGNvb2tpZXMu
Ci1EaWQgbm90IHJlY2VpdmUgY29va2llIG5hbWVkICdmaXJzdFBhcnR5Q29va2llJy4KLURpZCBu
b3QgcmVjZWl2ZSBjb29raWUgbmFtZWQgJ3BhcnRpdGlvbmVkQ29va2llJy4KLUNsaWVudC1zaWRl
IGRvY3VtZW50LmNvb2tpZToKLQotLS0tLS0tLS0KLUZyYW1lOiAnPCEtLWZyYW1lNS0tPicKLS0t
LS0tLS0tCi0KLQotLS0tLS0tLS0KLUZyYW1lOiAnPCEtLWZyYW1lNi0tPicKLS0tLS0tLS0tCi1T
aG91bGQgbm90IHJlY2VpdmUgY29va2llcy4KLURpZCBub3QgcmVjZWl2ZSBjb29raWUgbmFtZWQg
J2ZpcnN0UGFydHlDb29raWUnLgotRGlkIG5vdCByZWNlaXZlIGNvb2tpZSBuYW1lZCAncGFydGl0
aW9uZWRDb29raWUnLgotQ2xpZW50LXNpZGUgZG9jdW1lbnQuY29va2llOgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zdG9yYWdlQWNjZXNzL3JlcXVlc3QtYW5kLWdyYW50LWFj
Y2Vzcy1jcm9zcy1vcmlnaW4tc2FuZGJveGVkLWlmcmFtZS1mcm9tLXByZXZhbGVudC1kb21haW4t
d2l0aC11c2VyLWludGVyYWN0aW9uLWJ1dC1hY2Nlc3MtZnJvbS13cm9uZy1mcmFtZS1kYXRhYmFz
ZS5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zdG9yYWdlQWNjZXNzL3JlcXVlc3QtYW5k
LWdyYW50LWFjY2Vzcy1jcm9zcy1vcmlnaW4tc2FuZGJveGVkLWlmcmFtZS1mcm9tLXByZXZhbGVu
dC1kb21haW4td2l0aC11c2VyLWludGVyYWN0aW9uLWJ1dC1hY2Nlc3MtZnJvbS13cm9uZy1mcmFt
ZS1kYXRhYmFzZS5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBjNTU0ODY5Njdi
YWMwNGY0N2UyN2MzYmVmNmM5ZWJiYWU1ZmQ5MDg1Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc3RvcmFnZUFjY2Vz
cy9yZXF1ZXN0LWFuZC1ncmFudC1hY2Nlc3MtY3Jvc3Mtb3JpZ2luLXNhbmRib3hlZC1pZnJhbWUt
ZnJvbS1wcmV2YWxlbnQtZG9tYWluLXdpdGgtdXNlci1pbnRlcmFjdGlvbi1idXQtYWNjZXNzLWZy
b20td3JvbmctZnJhbWUtZGF0YWJhc2UuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDE0NSArMCww
IEBACi08IURPQ1RZUEUgaHRtbD4KLTxodG1sPgotPGhlYWQ+Ci0gICAgPHNjcmlwdCBzcmM9Ii9q
cy10ZXN0LXJlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KLSAgICA8c2NyaXB0IHNyYz0i
L2pzLXRlc3QtcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Ci0gICAgPHNjcmlwdCBz
cmM9Ii9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3Jlc291cmNlcy91dGlsLmpzIj48L3NjcmlwdD4K
LTwvaGVhZD4KLTxib2R5PgotICAgIDxzY3JpcHQ+Ci0gICAgICAgIGRlc2NyaXB0aW9uKCJUZXN0
cyB0aGF0IGNyb3NzLW9yaWdpbiBpZnJhbWUgc3RvcmFnZSBhY2Nlc3MgaXMgZGVuaWVkIGlmIHRo
ZSBpZnJhbWUgaXMgc2FuZGJveGVkLCBoYXMgdGhlIGFsbG93IHRva2VuLCB0aGUgaWZyYW1lIG9y
aWdpbiBpcyBhIHByZXZhbGVudCByZXNvdXJjZSwgdGhlIGlmcmFtZSBvcmlnaW4gaGFzIGhhZCB1
c2VyIGludGVyYWN0aW9uLCB0aGUgdXNlciBvcHRzIGluLCBidXQgdGhlIGZyYW1lIGlzIG5vdCB0
aGUgb25lIHdpdGggYWNjZXNzLiIpOwotICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKLQot
ICAgICAgICBjb25zdCBob3N0VW5kZXJUZXN0ID0gImxvY2FsaG9zdDo4MDAwIjsKLSAgICAgICAg
Y29uc3Qgc3RhdGlzdGljc1VybCA9ICJodHRwOi8vIiArIGhvc3RVbmRlclRlc3QgKyAiL3RlbXAi
OwotCi0gICAgICAgIGNvbnN0IHBhcnRpdGlvbkhvc3QgPSAiMTI3LjAuMC4xOjgwMDAiOwotICAg
ICAgICBjb25zdCB0aGlyZFBhcnR5T3JpZ2luID0gImh0dHA6Ly9sb2NhbGhvc3Q6ODAwMCI7Ci0g
ICAgICAgIGNvbnN0IHJlc291cmNlUGF0aCA9ICIvc3RvcmFnZUFjY2Vzcy9yZXNvdXJjZXMiOwot
ICAgICAgICBjb25zdCB0aGlyZFBhcnR5QmFzZVVybCA9IHRoaXJkUGFydHlPcmlnaW4gKyByZXNv
dXJjZVBhdGg7Ci0gICAgICAgIGNvbnN0IGZpcnN0UGFydHlDb29raWVOYW1lID0gImZpcnN0UGFy
dHlDb29raWUiOwotICAgICAgICBjb25zdCBzdWJQYXRoVG9TZXRGaXJzdFBhcnR5Q29va2llID0g
Ii9zZXQtY29va2llLnBocD9uYW1lPSIgKyBmaXJzdFBhcnR5Q29va2llTmFtZSArICImdmFsdWU9
dmFsdWUiOwotICAgICAgICBjb25zdCBwYXJ0aXRpb25lZENvb2tpZU5hbWUgPSAicGFydGl0aW9u
ZWRDb29raWUiOwotICAgICAgICBjb25zdCBzdWJQYXRoVG9TZXRQYXJ0aXRpb25lZENvb2tpZSA9
ICIvc2V0LWNvb2tpZS5waHA/bmFtZT0iICsgcGFydGl0aW9uZWRDb29raWVOYW1lICsgIiZ2YWx1
ZT12YWx1ZSI7Ci0gICAgICAgIGNvbnN0IHJldHVyblVybCA9ICJodHRwOi8vIiArIHBhcnRpdGlv
bkhvc3QgKyAiL3N0b3JhZ2VBY2Nlc3MvcmVxdWVzdC1hbmQtZ3JhbnQtYWNjZXNzLWNyb3NzLW9y
aWdpbi1zYW5kYm94ZWQtaWZyYW1lLWZyb20tcHJldmFsZW50LWRvbWFpbi13aXRoLXVzZXItaW50
ZXJhY3Rpb24tYnV0LWFjY2Vzcy1mcm9tLXdyb25nLWZyYW1lLWRhdGFiYXNlLmh0bWwiOwotICAg
ICAgICBjb25zdCBzdWJQYXRoVG9HZXRDb29raWVzID0gIi9nZXQtY29va2llcy5waHA/bmFtZTE9
IiArIGZpcnN0UGFydHlDb29raWVOYW1lICsgIiZuYW1lMj0iICsgcGFydGl0aW9uZWRDb29raWVO
YW1lOwotCi0gICAgICAgIGZ1bmN0aW9uIG9wZW5JZnJhbWUodXJsLCBvbkxvYWRIYW5kbGVyKSB7
Ci0gICAgICAgICAgICBjb25zdCBlbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiaWZy
YW1lIik7Ci0gICAgICAgICAgICBlbGVtZW50LnNyYyA9IHVybDsKLSAgICAgICAgICAgIGlmIChv
bkxvYWRIYW5kbGVyKSB7Ci0gICAgICAgICAgICAgICAgZWxlbWVudC5vbmxvYWQgPSBvbkxvYWRI
YW5kbGVyOwotICAgICAgICAgICAgfQotICAgICAgICAgICAgZG9jdW1lbnQuYm9keS5hcHBlbmRD
aGlsZChlbGVtZW50KTsKLSAgICAgICAgfQotCi0gICAgICAgIGZ1bmN0aW9uIHJlY2VpdmVNZXNz
YWdlKGV2ZW50KSB7Ci0gICAgICAgICAgICBpZiAoZXZlbnQub3JpZ2luID09PSAiaHR0cDovL2xv
Y2FsaG9zdDo4MDAwIikgewotICAgICAgICAgICAgICAgIGlmIChldmVudC5kYXRhLmluZGV4T2Yo
IlBBU1MiKSAhPT0gLTEpCi0gICAgICAgICAgICAgICAgICAgIHRlc3RQYXNzZWQoZXZlbnQuZGF0
YS5yZXBsYWNlKCJQQVNTICIsICIiKSk7Ci0gICAgICAgICAgICAgICAgZWxzZQotICAgICAgICAg
ICAgICAgICAgICB0ZXN0RmFpbGVkKGV2ZW50LmRhdGEpOwotICAgICAgICAgICAgfSBlbHNlCi0g
ICAgICAgICAgICAgICAgdGVzdEZhaWxlZCgiUmVjZWl2ZWQgYSBtZXNzYWdlIGZyb20gYW4gdW5l
eHBlY3RlZCBvcmlnaW46ICIgKyBldmVudC5vcmlnaW4pOwotICAgICAgICAgICAgcnVuVGVzdCgp
OwotICAgICAgICB9Ci0KLSAgICAgICAgZnVuY3Rpb24gYWN0aXZhdGVFbGVtZW50KGVsZW1lbnRJ
ZCkgewotICAgICAgICAgICAgdmFyIGVsZW1lbnQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChl
bGVtZW50SWQpOwotICAgICAgICAgICAgdmFyIGNlbnRlclggPSBlbGVtZW50Lm9mZnNldExlZnQg
KyBlbGVtZW50Lm9mZnNldFdpZHRoIC8gMjsKLSAgICAgICAgICAgIHZhciBjZW50ZXJZID0gZWxl
bWVudC5vZmZzZXRUb3AgKyBlbGVtZW50Lm9mZnNldEhlaWdodCAvIDI7Ci0gICAgICAgICAgICBV
SUhlbHBlci5hY3RpdmF0ZUF0KGNlbnRlclgsIGNlbnRlclkpLnRoZW4oCi0gICAgICAgICAgICAg
ICAgZnVuY3Rpb24gKCkgewotICAgICAgICAgICAgICAgICAgICBpZiAod2luZG93LmV2ZW50U2Vu
ZGVyKQotICAgICAgICAgICAgICAgICAgICAgICAgZXZlbnRTZW5kZXIua2V5RG93bigiZXNjYXBl
Iik7Ci0gICAgICAgICAgICAgICAgICAgIGVsc2UgewotICAgICAgICAgICAgICAgICAgICAgICAg
dGVzdEZhaWxlZCgiTm8gZXZlbnRTZW5kZXIuIik7Ci0gICAgICAgICAgICAgICAgICAgICAgICBz
ZXRFbmFibGVGZWF0dXJlKGZhbHNlLCBmaW5pc2hKU1Rlc3QpOwotICAgICAgICAgICAgICAgICAg
ICB9Ci0gICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICBmdW5jdGlvbiAoKSB7Ci0g
ICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoIlByb21pc2UgcmVqZWN0ZWQuIik7Ci0gICAg
ICAgICAgICAgICAgICAgIHNldEVuYWJsZUZlYXR1cmUoZmFsc2UsIGZpbmlzaEpTVGVzdCk7Ci0g
ICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgKTsKLSAgICAgICAgfQotCi0gICAgICAgIGZ1
bmN0aW9uIHJ1blRlc3QoKSB7Ci0gICAgICAgICAgICBzd2l0Y2ggKGRvY3VtZW50LmxvY2F0aW9u
Lmhhc2gpIHsKLSAgICAgICAgICAgICAgICBjYXNlICIjc3RlcDEiOgotICAgICAgICAgICAgICAg
ICAgICBpZiAodGVzdFJ1bm5lci5pc1N0YXRpc3RpY3NQcmV2YWxlbnRSZXNvdXJjZShzdGF0aXN0
aWNzVXJsKSkKLSAgICAgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoIkhvc3QgcHJlbWF0
dXJlbHkgc2V0IGFzIHByZXZhbGVudCByZXNvdXJjZS4iKTsKLSAgICAgICAgICAgICAgICAgICAg
Ly8gU2V0IGZpcnN0LXBhcnR5IGNvb2tpZSBmb3IgbG9jYWxob3N0LgotICAgICAgICAgICAgICAg
ICAgICBkb2N1bWVudC5sb2NhdGlvbi5ocmVmID0gdGhpcmRQYXJ0eUJhc2VVcmwgKyBzdWJQYXRo
VG9TZXRGaXJzdFBhcnR5Q29va2llICsgIiMiICsgcmV0dXJuVXJsICsgIiNzdGVwMiI7Ci0gICAg
ICAgICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICAgICAgICAgIGNhc2UgIiNzdGVwMiI6Ci0g
ICAgICAgICAgICAgICAgICAgIGRvY3VtZW50LmxvY2F0aW9uLmhhc2ggPSAic3RlcDMiOwotICAg
ICAgICAgICAgICAgICAgICAvLyBDaGVjayB0aGF0IHRoZSBmaXJzdC1wYXJ0eSBjb29raWUgZG9l
cyBnZXQgc2VudCBmb3IgbG9jYWxob3N0IHVuZGVyIDEyNy4wLjAuMS4KLSAgICAgICAgICAgICAg
ICAgICAgb3BlbklmcmFtZSh0aGlyZFBhcnR5QmFzZVVybCArIHN1YlBhdGhUb0dldENvb2tpZXMg
KyAiJm1lc3NhZ2U9U2hvdWxkIHJlY2VpdmUgZmlyc3QtcGFydHkgY29va2llLiIsIHJ1blRlc3Qp
OwotICAgICAgICAgICAgICAgICAgICBicmVhazsKLSAgICAgICAgICAgICAgICBjYXNlICIjc3Rl
cDMiOgotICAgICAgICAgICAgICAgICAgICBkb2N1bWVudC5sb2NhdGlvbi5oYXNoID0gInN0ZXA0
IjsKLSAgICAgICAgICAgICAgICAgICAgLy8gU2V0IGxvY2FsaG9zdCBhcyBwcmV2YWxlbnQuCi0g
ICAgICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc1ByZXZhbGVudFJlc291
cmNlKHN0YXRpc3RpY3NVcmwsIHRydWUsIGZ1bmN0aW9uKCkgewotICAgICAgICAgICAgICAgICAg
ICAgICAgaWYgKCF0ZXN0UnVubmVyLmlzU3RhdGlzdGljc1ByZXZhbGVudFJlc291cmNlKHN0YXRp
c3RpY3NVcmwpKQotICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoIkhvc3Qg
ZGlkIG5vdCBnZXQgc2V0IGFzIHByZXZhbGVudCByZXNvdXJjZS4iKTsKLSAgICAgICAgICAgICAg
ICAgICAgICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc0hhc0hhZFVzZXJJbnRlcmFjdGlvbihz
dGF0aXN0aWNzVXJsLCB0cnVlLCBmdW5jdGlvbigpIHsKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBpZiAoIXRlc3RSdW5uZXIuaXNTdGF0aXN0aWNzSGFzSGFkVXNlckludGVyYWN0aW9uKHN0
YXRpc3RpY3NVcmwpKQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVk
KCJIb3N0IGRpZCBub3QgZ2V0IGxvZ2dlZCBmb3IgdXNlciBpbnRlcmFjdGlvbi4iKTsKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLnN0YXRpc3RpY3NVcGRhdGVDb29raWVC
bG9ja2luZyhmdW5jdGlvbigpIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8g
Q2hlY2sgdGhhdCB0aGUgZmlyc3QtcGFydHkgY29va2llIGRvZXMgbm90IGdldCBzZW50IGZvciBs
b2NhbGhvc3QgdW5kZXIgMTI3LjAuMC4xLgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBvcGVuSWZyYW1lKHRoaXJkUGFydHlCYXNlVXJsICsgc3ViUGF0aFRvR2V0Q29va2llcyArICIm
bWVzc2FnZT1TaG91bGQgbm90IHJlY2VpdmUgY29va2llcy4iLCBydW5UZXN0KTsKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICB9KTsKLSAgICAgICAgICAgICAgICAgICAgICAgIH0pOwotICAg
ICAgICAgICAgICAgICAgICB9KTsKLSAgICAgICAgICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAg
ICAgICAgICAgY2FzZSAiI3N0ZXA0IjoKLSAgICAgICAgICAgICAgICAgICAgZG9jdW1lbnQubG9j
YXRpb24uaGFzaCA9ICJzdGVwNSI7Ci0gICAgICAgICAgICAgICAgICAgIC8vIFRyeSB0byBzZXQg
Y29va2llIGZvciBsb2NhbGhvc3QuCi0gICAgICAgICAgICAgICAgICAgIG9wZW5JZnJhbWUodGhp
cmRQYXJ0eUJhc2VVcmwgKyBzdWJQYXRoVG9TZXRQYXJ0aXRpb25lZENvb2tpZSwgcnVuVGVzdCk7
Ci0gICAgICAgICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICAgICAgICAgIGNhc2UgIiNzdGVw
NSI6Ci0gICAgICAgICAgICAgICAgICAgIGRvY3VtZW50LmxvY2F0aW9uLmhhc2ggPSAic3RlcDYi
OwotICAgICAgICAgICAgICAgICAgICAvLyBDaGVjayB0aGF0IG5vIGNvb2tpZSBnZXRzIHNlbnQg
Zm9yIGxvY2FsaG9zdCB1bmRlciAxMjcuMC4wLjEuCi0gICAgICAgICAgICAgICAgICAgIG9wZW5J
ZnJhbWUodGhpcmRQYXJ0eUJhc2VVcmwgKyBzdWJQYXRoVG9HZXRDb29raWVzICsgIiZtZXNzYWdl
PVNob3VsZCBub3QgcmVjZWl2ZSBjb29raWVzLiIsIHJ1blRlc3QpOwotICAgICAgICAgICAgICAg
ICAgICBicmVhazsKLSAgICAgICAgICAgICAgICBjYXNlICIjc3RlcDYiOgotICAgICAgICAgICAg
ICAgICAgICBkb2N1bWVudC5sb2NhdGlvbi5oYXNoID0gInN0ZXA3IjsKLSAgICAgICAgICAgICAg
ICAgICAgbGV0IGlmcmFtZUVsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJpZnJhbWUi
KTsKLSAgICAgICAgICAgICAgICAgICAgaWZyYW1lRWxlbWVudC5zZXRBdHRyaWJ1dGUoInNhbmRi
b3giLCAiYWxsb3ctc3RvcmFnZS1hY2Nlc3MtYnktdXNlci1hY3RpdmF0aW9uIGFsbG93LXNjcmlw
dHMgYWxsb3ctc2FtZS1vcmlnaW4gYWxsb3ctbW9kYWxzIik7Ci0gICAgICAgICAgICAgICAgICAg
IGlmcmFtZUVsZW1lbnQub25sb2FkID0gZnVuY3Rpb24oKSB7Ci0gICAgICAgICAgICAgICAgICAg
ICAgICB0ZXN0UnVubmVyLnN0YXRpc3RpY3NVcGRhdGVDb29raWVCbG9ja2luZyhmdW5jdGlvbigp
IHsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBhY3RpdmF0ZUVsZW1lbnQoIlRoZUlmcmFt
ZVRoYXRSZXF1ZXN0c1N0b3JhZ2VBY2Nlc3MiKTsKLSAgICAgICAgICAgICAgICAgICAgICAgIH0p
OwotICAgICAgICAgICAgICAgICAgICB9OwotICAgICAgICAgICAgICAgICAgICBpZnJhbWVFbGVt
ZW50LmlkID0gIlRoZUlmcmFtZVRoYXRSZXF1ZXN0c1N0b3JhZ2VBY2Nlc3MiOwotICAgICAgICAg
ICAgICAgICAgICBpZnJhbWVFbGVtZW50LnNyYyA9ICJodHRwOi8vbG9jYWxob3N0OjgwMDAvc3Rv
cmFnZUFjY2Vzcy9yZXNvdXJjZXMvcmVxdWVzdC1zdG9yYWdlLWFjY2Vzcy1pZnJhbWUuaHRtbCN1
c2VyU2hvdWxkR3JhbnRBY2Nlc3MsdXNlclNob3VsZEJlQ29uc3VsdGVkLHBvbGljeVNob3VsZEdy
YW50QWNjZXNzLGlzTm90U2FtZU9yaWdpbklmcmFtZSI7Ci0gICAgICAgICAgICAgICAgICAgIGRv
Y3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoaWZyYW1lRWxlbWVudCk7Ci0gICAgICAgICAgICAgICAg
ICAgIGJyZWFrOwotICAgICAgICAgICAgICAgIGNhc2UgIiNzdGVwNyI6Ci0gICAgICAgICAgICAg
ICAgICAgIGRvY3VtZW50LmxvY2F0aW9uLmhhc2ggPSAic3RlcDgiOwotICAgICAgICAgICAgICAg
ICAgICAvLyBDaGVjayB0aGF0IG5vIGNvb2tpZSBnZXRzIHNlbnQgZm9yIGxvY2FsaG9zdCB1bmRl
ciAxMjcuMC4wLjEgc2luY2Ugd2UncmUgb3BlbmluZyBhIG5ldyBmcmFtZS4KLSAgICAgICAgICAg
ICAgICAgICAgb3BlbklmcmFtZSh0aGlyZFBhcnR5QmFzZVVybCArIHN1YlBhdGhUb0dldENvb2tp
ZXMgKyAiJm1lc3NhZ2U9U2hvdWxkIG5vdCByZWNlaXZlIGNvb2tpZXMuIiwgcnVuVGVzdCk7Ci0g
ICAgICAgICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICAgICAgICAgIGNhc2UgIiNzdGVwOCI6
Ci0gICAgICAgICAgICAgICAgICAgIHNldEVuYWJsZUZlYXR1cmUoZmFsc2UsIGZpbmlzaEpTVGVz
dCk7Ci0gICAgICAgICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICAgICAgfQotICAgICAgICB9
Ci0KLSAgICAgICAgaWYgKGRvY3VtZW50LmxvY2F0aW9uLmhhc2ggPT09ICIiKSB7Ci0gICAgICAg
ICAgICB0ZXN0UnVubmVyLnNldFVzZUlUUERhdGFiYXNlKHRydWUpOwotICAgICAgICAgICAgc2V0
RW5hYmxlRmVhdHVyZSh0cnVlLCBmdW5jdGlvbigpIHsKLSAgICAgICAgICAgICAgICBpZiAodGVz
dFJ1bm5lci5pc1N0YXRpc3RpY3NQcmV2YWxlbnRSZXNvdXJjZSh0aGlyZFBhcnR5QmFzZVVybCkp
Ci0gICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoIkxvY2FsaG9zdCB3YXMgY2xhc3NpZmll
ZCBhcyBwcmV2YWxlbnQgcmVzb3VyY2UgYmVmb3JlIHRoZSB0ZXN0IHN0YXJ0cy4iKTsKLSAgICAg
ICAgICAgICAgICB0ZXN0UnVubmVyLmR1bXBDaGlsZEZyYW1lc0FzVGV4dCgpOwotICAgICAgICAg
ICAgICAgIGRvY3VtZW50LmxvY2F0aW9uLmhhc2ggPSAic3RlcDEiOwotICAgICAgICAgICAgfSk7
Ci0gICAgICAgIH0KLQotICAgICAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigibWVzc2FnZSIs
IHJlY2VpdmVNZXNzYWdlLCBmYWxzZSk7Ci0KLSAgICAgICAgcnVuVGVzdCgpOwotICAgIDwvc2Ny
aXB0PgotPC9ib2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0
cy9zdG9yYWdlQWNjZXNzL3JlcXVlc3QtYW5kLWdyYW50LWFjY2Vzcy1jcm9zcy1vcmlnaW4tc2Fu
ZGJveGVkLWlmcmFtZS1mcm9tLXByZXZhbGVudC1kb21haW4td2l0aC11c2VyLWludGVyYWN0aW9u
LWRhdGFiYXNlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc3RvcmFnZUFj
Y2Vzcy9yZXF1ZXN0LWFuZC1ncmFudC1hY2Nlc3MtY3Jvc3Mtb3JpZ2luLXNhbmRib3hlZC1pZnJh
bWUtZnJvbS1wcmV2YWxlbnQtZG9tYWluLXdpdGgtdXNlci1pbnRlcmFjdGlvbi1kYXRhYmFzZS1l
eHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDgwZjAyNGEwNzk4OGNj
ZDYyN2YyMzQxYzhlMWRlMWQ5ODFjMGQ0ZWUuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zdG9yYWdlQWNjZXNzL3Jl
cXVlc3QtYW5kLWdyYW50LWFjY2Vzcy1jcm9zcy1vcmlnaW4tc2FuZGJveGVkLWlmcmFtZS1mcm9t
LXByZXZhbGVudC1kb21haW4td2l0aC11c2VyLWludGVyYWN0aW9uLWRhdGFiYXNlLWV4cGVjdGVk
LnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDEwICswLDAgQEAKLVRlc3RzIHRoYXQgY3Jvc3Mtb3Jp
Z2luIGlmcmFtZSBzdG9yYWdlIGFjY2VzcyBpcyBncmFudGVkIGlmIHRoZSBpZnJhbWUgaXMgc2Fu
ZGJveGVkLCBoYXMgdGhlIGFsbG93IHRva2VuLCB0aGUgaWZyYW1lIG9yaWdpbiBpcyBhIHByZXZh
bGVudCByZXNvdXJjZSwgdGhlIGlmcmFtZSBvcmlnaW4gaGFzIGhhZCByZWNlbnQgdXNlciBpbnRl
cmFjdGlvbiwgYW5kIHRoZSB1c2VyIG9wdHMgaW4uCi0KLU9uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNl
ZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRF
Ii4KLQotCi1QQVNTIFN0b3JhZ2UgYWNjZXNzIHdhcyBncmFudGVkLiBkb2N1bWVudC5jb29raWUg
PT0gLCBjb29raWVzIHNlZW4gc2VydmVyLXNpZGUgPT0gIk5vIGNvb2tpZXMiCi1QQVNTIHN1Y2Nl
c3NmdWxseVBhcnNlZCBpcyB0cnVlCi0KLVRFU1QgQ09NUExFVEUKLQpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy9zdG9yYWdlQWNjZXNzL3JlcXVlc3QtYW5kLWdyYW50LWFjY2Vz
cy1jcm9zcy1vcmlnaW4tc2FuZGJveGVkLWlmcmFtZS1mcm9tLXByZXZhbGVudC1kb21haW4td2l0
aC11c2VyLWludGVyYWN0aW9uLWRhdGFiYXNlLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L3N0b3JhZ2VBY2Nlc3MvcmVxdWVzdC1hbmQtZ3JhbnQtYWNjZXNzLWNyb3NzLW9yaWdpbi1zYW5k
Ym94ZWQtaWZyYW1lLWZyb20tcHJldmFsZW50LWRvbWFpbi13aXRoLXVzZXItaW50ZXJhY3Rpb24t
ZGF0YWJhc2UuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNDMxMTQxOTBjNDA0
MTc3ODVlNzRhNTE3ZjMyODM5OThlMmQxYjRhZi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3N0b3JhZ2VBY2Nlc3Mv
cmVxdWVzdC1hbmQtZ3JhbnQtYWNjZXNzLWNyb3NzLW9yaWdpbi1zYW5kYm94ZWQtaWZyYW1lLWZy
b20tcHJldmFsZW50LWRvbWFpbi13aXRoLXVzZXItaW50ZXJhY3Rpb24tZGF0YWJhc2UuaHRtbAor
KysgL2Rldi9udWxsCkBAIC0xLDcxICswLDAgQEAKLTwhRE9DVFlQRSBodG1sPgotPGh0bWw+Ci08
aGVhZD4KLSAgICA8c2NyaXB0IHNyYz0iL2pzLXRlc3QtcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwv
c2NyaXB0PgotICAgIDxzY3JpcHQgc3JjPSIvanMtdGVzdC1yZXNvdXJjZXMvdWktaGVscGVyLmpz
Ij48L3NjcmlwdD4KLSAgICA8c2NyaXB0IHNyYz0iL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvcmVz
b3VyY2VzL3V0aWwuanMiPjwvc2NyaXB0PgotICAgIDxzY3JpcHQ+Ci0gICAgICAgIGRlc2NyaXB0
aW9uKCJUZXN0cyB0aGF0IGNyb3NzLW9yaWdpbiBpZnJhbWUgc3RvcmFnZSBhY2Nlc3MgaXMgZ3Jh
bnRlZCBpZiB0aGUgaWZyYW1lIGlzIHNhbmRib3hlZCwgaGFzIHRoZSBhbGxvdyB0b2tlbiwgdGhl
IGlmcmFtZSBvcmlnaW4gaXMgYSBwcmV2YWxlbnQgcmVzb3VyY2UsIHRoZSBpZnJhbWUgb3JpZ2lu
IGhhcyBoYWQgcmVjZW50IHVzZXIgaW50ZXJhY3Rpb24sIGFuZCB0aGUgdXNlciBvcHRzIGluLiIp
OwotICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKLQotICAgICAgICB3aW5kb3cuYWRkRXZl
bnRMaXN0ZW5lcigibWVzc2FnZSIsIHJlY2VpdmVNZXNzYWdlLCBmYWxzZSk7Ci0KLSAgICAgICAg
ZnVuY3Rpb24gcmVjZWl2ZU1lc3NhZ2UoZXZlbnQpIHsKLSAgICAgICAgICAgIGlmIChldmVudC5v
cmlnaW4gPT09ICJodHRwOi8vbG9jYWxob3N0OjgwMDAiKSB7Ci0gICAgICAgICAgICAgICAgaWYg
KGV2ZW50LmRhdGEuaW5kZXhPZigiUEFTUyIpICE9PSAtMSkKLSAgICAgICAgICAgICAgICAgICAg
dGVzdFBhc3NlZChldmVudC5kYXRhLnJlcGxhY2UoIlBBU1MgIiwgIiIpKTsKLSAgICAgICAgICAg
ICAgICBlbHNlCi0gICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoZXZlbnQuZGF0YSk7Ci0g
ICAgICAgICAgICB9IGVsc2UKLSAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKCJSZWNlaXZlZCBh
IG1lc3NhZ2UgZnJvbSBhbiB1bmV4cGVjdGVkIG9yaWdpbjogIiArIGV2ZW50Lm9yaWdpbik7Ci0g
ICAgICAgICAgICBzZXRFbmFibGVGZWF0dXJlKGZhbHNlLCBmaW5pc2hKU1Rlc3QpOwotICAgICAg
ICB9Ci0KLSAgICAgICAgZnVuY3Rpb24gYWN0aXZhdGVFbGVtZW50KGVsZW1lbnRJZCkgewotICAg
ICAgICAgICAgdmFyIGVsZW1lbnQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChlbGVtZW50SWQp
OwotICAgICAgICAgICAgdmFyIGNlbnRlclggPSBlbGVtZW50Lm9mZnNldExlZnQgKyBlbGVtZW50
Lm9mZnNldFdpZHRoIC8gMjsKLSAgICAgICAgICAgIHZhciBjZW50ZXJZID0gZWxlbWVudC5vZmZz
ZXRUb3AgKyBlbGVtZW50Lm9mZnNldEhlaWdodCAvIDI7Ci0gICAgICAgICAgICBVSUhlbHBlci5h
Y3RpdmF0ZUF0KGNlbnRlclgsIGNlbnRlclkpLnRoZW4oCi0gICAgICAgICAgICAgICAgZnVuY3Rp
b24gKCkgewotICAgICAgICAgICAgICAgICAgICBpZiAod2luZG93LmV2ZW50U2VuZGVyKQotICAg
ICAgICAgICAgICAgICAgICAgICAgZXZlbnRTZW5kZXIua2V5RG93bigiZXNjYXBlIik7Ci0gICAg
ICAgICAgICAgICAgICAgIGVsc2UgewotICAgICAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxl
ZCgiTm8gZXZlbnRTZW5kZXIuIik7Ci0gICAgICAgICAgICAgICAgICAgICAgICBzZXRFbmFibGVG
ZWF0dXJlKGZhbHNlLCBmaW5pc2hKU1Rlc3QpOwotICAgICAgICAgICAgICAgICAgICB9Ci0gICAg
ICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICBmdW5jdGlvbiAoKSB7Ci0gICAgICAgICAg
ICAgICAgICAgIHRlc3RGYWlsZWQoIlByb21pc2UgcmVqZWN0ZWQuIik7Ci0gICAgICAgICAgICAg
ICAgICAgIHNldEVuYWJsZUZlYXR1cmUoZmFsc2UsIGZpbmlzaEpTVGVzdCk7Ci0gICAgICAgICAg
ICAgICAgfQotICAgICAgICAgICAgKTsKLSAgICAgICAgfQotCi0gICAgICAgIGZ1bmN0aW9uIHJ1
blRlc3QoKSB7Ci0gICAgICAgICAgICBhY3RpdmF0ZUVsZW1lbnQoIlRoZUlmcmFtZVRoYXRSZXF1
ZXN0c1N0b3JhZ2VBY2Nlc3MiKTsKLSAgICAgICAgfQotCi0gICAgICAgIGNvbnN0IGhvc3RVbmRl
clRlc3QgPSAibG9jYWxob3N0OjgwMDAiOwotICAgICAgICBjb25zdCBzdGF0aXN0aWNzVXJsID0g
Imh0dHA6Ly8iICsgaG9zdFVuZGVyVGVzdCArICIvdGVtcCI7Ci0gICAgICAgIHRlc3RSdW5uZXIu
c2V0VXNlSVRQRGF0YWJhc2UodHJ1ZSk7Ci0gICAgICAgIHNldEVuYWJsZUZlYXR1cmUodHJ1ZSwg
ZnVuY3Rpb24oKSB7Ci0gICAgICAgICAgICB0ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NQcmV2YWxl
bnRSZXNvdXJjZShzdGF0aXN0aWNzVXJsLCB0cnVlLCBmdW5jdGlvbigpIHsKLSAgICAgICAgICAg
ICAgICBpZiAoIXRlc3RSdW5uZXIuaXNTdGF0aXN0aWNzUHJldmFsZW50UmVzb3VyY2Uoc3RhdGlz
dGljc1VybCkpCi0gICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoIkhvc3QgZGlkIG5vdCBn
ZXQgc2V0IGFzIHByZXZhbGVudCByZXNvdXJjZS4iKTsKLSAgICAgICAgICAgICAgICB0ZXN0UnVu
bmVyLnNldFN0YXRpc3RpY3NIYXNIYWRVc2VySW50ZXJhY3Rpb24oc3RhdGlzdGljc1VybCwgdHJ1
ZSwgZnVuY3Rpb24oKSB7Ci0gICAgICAgICAgICAgICAgICAgIGlmICghdGVzdFJ1bm5lci5pc1N0
YXRpc3RpY3NIYXNIYWRVc2VySW50ZXJhY3Rpb24oc3RhdGlzdGljc1VybCkpCi0gICAgICAgICAg
ICAgICAgICAgICAgICB0ZXN0RmFpbGVkKCJIb3N0IGRpZCBub3QgZ2V0IGxvZ2dlZCBmb3IgdXNl
ciBpbnRlcmFjdGlvbi4iKTsKLSAgICAgICAgICAgICAgICAgICAgbGV0IGlmcmFtZUVsZW1lbnQg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJpZnJhbWUiKTsKLSAgICAgICAgICAgICAgICAgICAg
aWZyYW1lRWxlbWVudC5zZXRBdHRyaWJ1dGUoInNhbmRib3giLCAiYWxsb3ctc3RvcmFnZS1hY2Nl
c3MtYnktdXNlci1hY3RpdmF0aW9uIGFsbG93LXNjcmlwdHMgYWxsb3ctc2FtZS1vcmlnaW4gYWxs
b3ctbW9kYWxzIik7Ci0gICAgICAgICAgICAgICAgICAgIGlmcmFtZUVsZW1lbnQub25sb2FkID0g
cnVuVGVzdDsKLSAgICAgICAgICAgICAgICAgICAgaWZyYW1lRWxlbWVudC5pZCA9ICJUaGVJZnJh
bWVUaGF0UmVxdWVzdHNTdG9yYWdlQWNjZXNzIjsKLSAgICAgICAgICAgICAgICAgICAgaWZyYW1l
RWxlbWVudC5zcmMgPSAiaHR0cDovL2xvY2FsaG9zdDo4MDAwL3N0b3JhZ2VBY2Nlc3MvcmVzb3Vy
Y2VzL3JlcXVlc3Qtc3RvcmFnZS1hY2Nlc3MtaWZyYW1lLmh0bWwjdXNlclNob3VsZEdyYW50QWNj
ZXNzLHVzZXJTaG91bGRCZUNvbnN1bHRlZCxwb2xpY3lTaG91bGRHcmFudEFjY2Vzcyxpc05vdFNh
bWVPcmlnaW5JZnJhbWUiOwotICAgICAgICAgICAgICAgICAgICBkb2N1bWVudC5ib2R5LmFwcGVu
ZENoaWxkKGlmcmFtZUVsZW1lbnQpOwotICAgICAgICAgICAgICAgIH0pOwotICAgICAgICAgICAg
fSk7Ci0gICAgICAgIH0pOwotICAgIDwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHk+Ci08L2JvZHk+
Ci08L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3N0b3JhZ2VBY2Nl
c3MvcmVxdWVzdC1hbmQtZ3JhbnQtYWNjZXNzLWNyb3NzLW9yaWdpbi1zYW5kYm94ZWQtaWZyYW1l
LWZyb20tcHJldmFsZW50LWRvbWFpbi13aXRob3V0LXVzZXItaW50ZXJhY3Rpb24tZGF0YWJhc2Ut
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zdG9yYWdlQWNjZXNzL3JlcXVl
c3QtYW5kLWdyYW50LWFjY2Vzcy1jcm9zcy1vcmlnaW4tc2FuZGJveGVkLWlmcmFtZS1mcm9tLXBy
ZXZhbGVudC1kb21haW4td2l0aG91dC11c2VyLWludGVyYWN0aW9uLWRhdGFiYXNlLWV4cGVjdGVk
LnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNjQwZjZjODVjNzA1NzFhNjg0OWVj
OTBhODY3MDBhMDU3OTc2YjQxNS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3N0b3JhZ2VBY2Nlc3MvcmVxdWVzdC1h
bmQtZ3JhbnQtYWNjZXNzLWNyb3NzLW9yaWdpbi1zYW5kYm94ZWQtaWZyYW1lLWZyb20tcHJldmFs
ZW50LWRvbWFpbi13aXRob3V0LXVzZXItaW50ZXJhY3Rpb24tZGF0YWJhc2UtZXhwZWN0ZWQudHh0
CisrKyAvZGV2L251bGwKQEAgLTEsMTAgKzAsMCBAQAotVGVzdHMgdGhhdCBjcm9zcy1vcmlnaW4g
aWZyYW1lIHN0b3JhZ2UgYWNjZXNzIGlzIGRlbmllZCBpZiB0aGUgaWZyYW1lIGlzIHNhbmRib3hl
ZCwgaGFzIHRoZSBhbGxvdyB0b2tlbiwgdGhlIGlmcmFtZSBvcmlnaW4gaXMgYSBwcmV2YWxlbnQg
cmVzb3VyY2UsIHRoZSBpZnJhbWUgb3JpZ2luIGhhcyBub3QgaGFkIHVzZXIgaW50ZXJhY3Rpb24s
IGFuZCB0aGUgdXNlciBvcHRzIGluLgotCi1PbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJp
ZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCi0KLQot
UEFTUyBTdG9yYWdlIGFjY2VzcyB3YXMgZGVuaWVkLiBkb2N1bWVudC5jb29raWUgPT0gLCBjb29r
aWVzIHNlZW4gc2VydmVyLXNpZGUgPT0gIk5vIGNvb2tpZXMiCi1QQVNTIHN1Y2Nlc3NmdWxseVBh
cnNlZCBpcyB0cnVlCi0KLVRFU1QgQ09NUExFVEUKLQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aHR0cC90ZXN0cy9zdG9yYWdlQWNjZXNzL3JlcXVlc3QtYW5kLWdyYW50LWFjY2Vzcy1jcm9zcy1v
cmlnaW4tc2FuZGJveGVkLWlmcmFtZS1mcm9tLXByZXZhbGVudC1kb21haW4td2l0aG91dC11c2Vy
LWludGVyYWN0aW9uLWRhdGFiYXNlLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3N0b3Jh
Z2VBY2Nlc3MvcmVxdWVzdC1hbmQtZ3JhbnQtYWNjZXNzLWNyb3NzLW9yaWdpbi1zYW5kYm94ZWQt
aWZyYW1lLWZyb20tcHJldmFsZW50LWRvbWFpbi13aXRob3V0LXVzZXItaW50ZXJhY3Rpb24tZGF0
YWJhc2UuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggOWRjYWEzYThlYjcwNThl
ZTNjZDM3OTc5N2JlNmViYzQ5MDBiZDJiYi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3N0b3JhZ2VBY2Nlc3MvcmVx
dWVzdC1hbmQtZ3JhbnQtYWNjZXNzLWNyb3NzLW9yaWdpbi1zYW5kYm94ZWQtaWZyYW1lLWZyb20t
cHJldmFsZW50LWRvbWFpbi13aXRob3V0LXVzZXItaW50ZXJhY3Rpb24tZGF0YWJhc2UuaHRtbAor
KysgL2Rldi9udWxsCkBAIC0xLDY3ICswLDAgQEAKLTwhRE9DVFlQRSBodG1sPgotPGh0bWw+Ci08
aGVhZD4KLSAgICA8c2NyaXB0IHNyYz0iL2pzLXRlc3QtcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwv
c2NyaXB0PgotICAgIDxzY3JpcHQgc3JjPSIvanMtdGVzdC1yZXNvdXJjZXMvdWktaGVscGVyLmpz
Ij48L3NjcmlwdD4KLSAgICA8c2NyaXB0IHNyYz0iL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvcmVz
b3VyY2VzL3V0aWwuanMiPjwvc2NyaXB0PgotICAgIDxzY3JpcHQ+Ci0gICAgICAgIGRlc2NyaXB0
aW9uKCJUZXN0cyB0aGF0IGNyb3NzLW9yaWdpbiBpZnJhbWUgc3RvcmFnZSBhY2Nlc3MgaXMgZGVu
aWVkIGlmIHRoZSBpZnJhbWUgaXMgc2FuZGJveGVkLCBoYXMgdGhlIGFsbG93IHRva2VuLCB0aGUg
aWZyYW1lIG9yaWdpbiBpcyBhIHByZXZhbGVudCByZXNvdXJjZSwgdGhlIGlmcmFtZSBvcmlnaW4g
aGFzIG5vdCBoYWQgdXNlciBpbnRlcmFjdGlvbiwgYW5kIHRoZSB1c2VyIG9wdHMgaW4uIik7Ci0g
ICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOwotCi0gICAgICAgIHdpbmRvdy5hZGRFdmVudExp
c3RlbmVyKCJtZXNzYWdlIiwgcmVjZWl2ZU1lc3NhZ2UsIGZhbHNlKTsKLQotICAgICAgICBmdW5j
dGlvbiByZWNlaXZlTWVzc2FnZShldmVudCkgewotICAgICAgICAgICAgaWYgKGV2ZW50Lm9yaWdp
biA9PT0gImh0dHA6Ly9sb2NhbGhvc3Q6ODAwMCIpIHsKLSAgICAgICAgICAgICAgICBpZiAoZXZl
bnQuZGF0YS5pbmRleE9mKCJQQVNTIikgIT09IC0xKQotICAgICAgICAgICAgICAgICAgICB0ZXN0
UGFzc2VkKGV2ZW50LmRhdGEucmVwbGFjZSgiUEFTUyAiLCAiIikpOwotICAgICAgICAgICAgICAg
IGVsc2UKLSAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChldmVudC5kYXRhKTsKLSAgICAg
ICAgICAgIH0gZWxzZQotICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoIlJlY2VpdmVkIGEgbWVz
c2FnZSBmcm9tIGFuIHVuZXhwZWN0ZWQgb3JpZ2luOiAiICsgZXZlbnQub3JpZ2luKTsKLSAgICAg
ICAgICAgIHNldEVuYWJsZUZlYXR1cmUoZmFsc2UsIGZpbmlzaEpTVGVzdCk7Ci0gICAgICAgIH0K
LQotICAgICAgICBmdW5jdGlvbiBhY3RpdmF0ZUVsZW1lbnQoZWxlbWVudElkKSB7Ci0gICAgICAg
ICAgICB2YXIgZWxlbWVudCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGVsZW1lbnRJZCk7Ci0g
ICAgICAgICAgICB2YXIgY2VudGVyWCA9IGVsZW1lbnQub2Zmc2V0TGVmdCArIGVsZW1lbnQub2Zm
c2V0V2lkdGggLyAyOwotICAgICAgICAgICAgdmFyIGNlbnRlclkgPSBlbGVtZW50Lm9mZnNldFRv
cCArIGVsZW1lbnQub2Zmc2V0SGVpZ2h0IC8gMjsKLSAgICAgICAgICAgIFVJSGVscGVyLmFjdGl2
YXRlQXQoY2VudGVyWCwgY2VudGVyWSkudGhlbigKLSAgICAgICAgICAgICAgICBmdW5jdGlvbiAo
KSB7Ci0gICAgICAgICAgICAgICAgICAgIGlmICh3aW5kb3cuZXZlbnRTZW5kZXIpCi0gICAgICAg
ICAgICAgICAgICAgICAgICBldmVudFNlbmRlci5rZXlEb3duKCJlc2NhcGUiKTsKLSAgICAgICAg
ICAgICAgICAgICAgZWxzZSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKCJO
byBldmVudFNlbmRlci4iKTsKLSAgICAgICAgICAgICAgICAgICAgICAgIHNldEVuYWJsZUZlYXR1
cmUoZmFsc2UsIGZpbmlzaEpTVGVzdCk7Ci0gICAgICAgICAgICAgICAgICAgIH0KLSAgICAgICAg
ICAgICAgICB9LAotICAgICAgICAgICAgICAgIGZ1bmN0aW9uICgpIHsKLSAgICAgICAgICAgICAg
ICAgICAgdGVzdEZhaWxlZCgiUHJvbWlzZSByZWplY3RlZC4iKTsKLSAgICAgICAgICAgICAgICAg
ICAgc2V0RW5hYmxlRmVhdHVyZShmYWxzZSwgZmluaXNoSlNUZXN0KTsKLSAgICAgICAgICAgICAg
ICB9Ci0gICAgICAgICAgICApOwotICAgICAgICB9Ci0KLSAgICAgICAgZnVuY3Rpb24gcnVuVGVz
dCgpIHsKLSAgICAgICAgICAgIGFjdGl2YXRlRWxlbWVudCgiVGhlSWZyYW1lVGhhdFJlcXVlc3Rz
U3RvcmFnZUFjY2VzcyIpOwotICAgICAgICB9Ci0KLSAgICAgICAgY29uc3QgaG9zdFVuZGVyVGVz
dCA9ICJsb2NhbGhvc3Q6ODAwMCI7Ci0gICAgICAgIGNvbnN0IHN0YXRpc3RpY3NVcmwgPSAiaHR0
cDovLyIgKyBob3N0VW5kZXJUZXN0ICsgIi90ZW1wIjsKLSAgICAgICAgdGVzdFJ1bm5lci5zZXRV
c2VJVFBEYXRhYmFzZSh0cnVlKTsKLSAgICAgICAgc2V0RW5hYmxlRmVhdHVyZSh0cnVlLCBmdW5j
dGlvbigpIHsKLSAgICAgICAgICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc1ByZXZhbGVudFJl
c291cmNlKHN0YXRpc3RpY3NVcmwsIHRydWUsIGZ1bmN0aW9uKCkgewotICAgICAgICAgICAgICAg
IGlmICghdGVzdFJ1bm5lci5pc1N0YXRpc3RpY3NQcmV2YWxlbnRSZXNvdXJjZShzdGF0aXN0aWNz
VXJsKSkKLSAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZCgiSG9zdCBkaWQgbm90IGdldCBz
ZXQgYXMgcHJldmFsZW50IHJlc291cmNlLiIpOwotICAgICAgICAgICAgICAgIGxldCBpZnJhbWVF
bGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiaWZyYW1lIik7Ci0gICAgICAgICAgICAg
ICAgaWZyYW1lRWxlbWVudC5zZXRBdHRyaWJ1dGUoInNhbmRib3giLCAiYWxsb3ctc3RvcmFnZS1h
Y2Nlc3MtYnktdXNlci1hY3RpdmF0aW9uIGFsbG93LXNjcmlwdHMgYWxsb3ctc2FtZS1vcmlnaW4g
YWxsb3ctbW9kYWxzIik7Ci0gICAgICAgICAgICAgICAgaWZyYW1lRWxlbWVudC5vbmxvYWQgPSBy
dW5UZXN0OwotICAgICAgICAgICAgICAgIGlmcmFtZUVsZW1lbnQuaWQgPSAiVGhlSWZyYW1lVGhh
dFJlcXVlc3RzU3RvcmFnZUFjY2VzcyI7Ci0gICAgICAgICAgICAgICAgaWZyYW1lRWxlbWVudC5z
cmMgPSAiaHR0cDovL2xvY2FsaG9zdDo4MDAwL3N0b3JhZ2VBY2Nlc3MvcmVzb3VyY2VzL3JlcXVl
c3Qtc3RvcmFnZS1hY2Nlc3MtaWZyYW1lLmh0bWwjdXNlclNob3VsZEdyYW50QWNjZXNzLHVzZXJT
aG91bGRCZUNvbnN1bHRlZCxwb2xpY3lTaG91bGROb3RHcmFudEFjY2Vzcyxpc05vdFNhbWVPcmln
aW5JZnJhbWUiOwotICAgICAgICAgICAgICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoaWZy
YW1lRWxlbWVudCk7Ci0gICAgICAgICAgICB9KTsKLSAgICAgICAgfSk7Ci0gICAgPC9zY3JpcHQ+
Ci08L2hlYWQ+Ci08Ym9keT4KLTwvYm9keT4KLTwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2h0dHAvdGVzdHMvc3RvcmFnZUFjY2Vzcy9yZXF1ZXN0LWFuZC1ncmFudC1hY2Nlc3MtY3Jv
c3Mtb3JpZ2luLXNhbmRib3hlZC1uZXN0ZWQtaWZyYW1lLWRhdGFiYXNlLWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc3RvcmFnZUFjY2Vzcy9yZXF1ZXN0LWFuZC1ncmFudC1h
Y2Nlc3MtY3Jvc3Mtb3JpZ2luLXNhbmRib3hlZC1uZXN0ZWQtaWZyYW1lLWRhdGFiYXNlLWV4cGVj
dGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNjdmMjMxOTdiYzJkNzdiMTll
ZjUxY2Y0MGNkM2U1YmRiYmRkNGVjYS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3N0b3JhZ2VBY2Nlc3MvcmVxdWVz
dC1hbmQtZ3JhbnQtYWNjZXNzLWNyb3NzLW9yaWdpbi1zYW5kYm94ZWQtbmVzdGVkLWlmcmFtZS1k
YXRhYmFzZS1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSwyNyArMCwwIEBACi1UZXN0
cyB0aGF0IGNyb3NzLW9yaWdpbiBpZnJhbWUgc3RvcmFnZSBhY2Nlc3MgaXMgZ3JhbnRlZCBpZiB0
aGUgaWZyYW1lIGlzIHNhbmRib3hlZCwgaGFzIHRoZSBhbGxvdyB0b2tlbiwgYW5kIGlzIG5lc3Rl
ZC4KLQotT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdl
cywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgotCi0KLVBBU1MgU3RvcmFnZSBhY2Nlc3Mg
d2FzIGdyYW50ZWQuIGRvY3VtZW50LmNvb2tpZSA9PSBmaXJzdFBhcnR5Q29va2llPXZhbHVlLCBj
b29raWVzIHNlZW4gc2VydmVyLXNpZGUgPT0geyJmaXJzdFBhcnR5Q29va2llIjoidmFsdWUifQot
UEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQotCi1URVNUIENPTVBMRVRFCi0KLQotLS0t
LS0tLS0KLUZyYW1lOiAnPCEtLWZyYW1lMS0tPicKLS0tLS0tLS0tCi1TaG91bGQgbm90IHJlY2Vp
dmUgY29va2llcy4KLURpZCBub3QgcmVjZWl2ZSBjb29raWUgbmFtZWQgJ2ZpcnN0UGFydHlDb29r
aWUnLgotQ2xpZW50LXNpZGUgZG9jdW1lbnQuY29va2llOgotCi0tLS0tLS0tLQotRnJhbWU6ICc8
IS0tZnJhbWUyLS0+JwotLS0tLS0tLS0KLQotCi0tLS0tLS0tLQotRnJhbWU6ICc8IS0tZnJhbWUz
LS0+JwotLS0tLS0tLS0KLQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zdG9y
YWdlQWNjZXNzL3JlcXVlc3QtYW5kLWdyYW50LWFjY2Vzcy1jcm9zcy1vcmlnaW4tc2FuZGJveGVk
LW5lc3RlZC1pZnJhbWUtZGF0YWJhc2UuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc3Rv
cmFnZUFjY2Vzcy9yZXF1ZXN0LWFuZC1ncmFudC1hY2Nlc3MtY3Jvc3Mtb3JpZ2luLXNhbmRib3hl
ZC1uZXN0ZWQtaWZyYW1lLWRhdGFiYXNlLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IGM5YjE3YWI0OGVhOWZlZDk3MjY1M2I1ZTQxZDY5ZDY5MTUyNDQzZDEuLjAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0
cy9zdG9yYWdlQWNjZXNzL3JlcXVlc3QtYW5kLWdyYW50LWFjY2Vzcy1jcm9zcy1vcmlnaW4tc2Fu
ZGJveGVkLW5lc3RlZC1pZnJhbWUtZGF0YWJhc2UuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDEw
NSArMCwwIEBACi08IURPQ1RZUEUgaHRtbD4KLTxodG1sPgotPGhlYWQ+Ci0gICAgPHNjcmlwdCBz
cmM9Ii9qcy10ZXN0LXJlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KLSAgICA8c2NyaXB0
IHNyYz0iL2pzLXRlc3QtcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Ci0gICAgPHNj
cmlwdCBzcmM9Ii9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3Jlc291cmNlcy91dGlsLmpzIj48L3Nj
cmlwdD4KLSAgICA8c2NyaXB0PgotICAgICAgICBkZXNjcmlwdGlvbigiVGVzdHMgdGhhdCBjcm9z
cy1vcmlnaW4gaWZyYW1lIHN0b3JhZ2UgYWNjZXNzIGlzIGdyYW50ZWQgaWYgdGhlIGlmcmFtZSBp
cyBzYW5kYm94ZWQsIGhhcyB0aGUgYWxsb3cgdG9rZW4sIGFuZCBpcyBuZXN0ZWQuIik7Ci0gICAg
ICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOwotCi0gICAgICAgIGNvbnN0IGhvc3RVbmRlclRlc3Qg
PSAibG9jYWxob3N0OjgwMDAiOwotICAgICAgICBjb25zdCBzdGF0aXN0aWNzVXJsID0gImh0dHA6
Ly8iICsgaG9zdFVuZGVyVGVzdCArICIvdGVtcCI7Ci0KLSAgICAgICAgY29uc3QgcGFydGl0aW9u
SG9zdCA9ICIxMjcuMC4wLjE6ODAwMCI7Ci0gICAgICAgIGNvbnN0IHRoaXJkUGFydHlPcmlnaW4g
PSAiaHR0cDovL2xvY2FsaG9zdDo4MDAwIjsKLSAgICAgICAgY29uc3QgcmVzb3VyY2VQYXRoID0g
Ii9zdG9yYWdlQWNjZXNzL3Jlc291cmNlcyI7Ci0gICAgICAgIGNvbnN0IHRoaXJkUGFydHlCYXNl
VXJsID0gdGhpcmRQYXJ0eU9yaWdpbiArIHJlc291cmNlUGF0aDsKLSAgICAgICAgY29uc3QgZmly
c3RQYXJ0eUNvb2tpZU5hbWUgPSAiZmlyc3RQYXJ0eUNvb2tpZSI7Ci0gICAgICAgIGNvbnN0IHN1
YlBhdGhUb1NldEZpcnN0UGFydHlDb29raWUgPSAiL3NldC1jb29raWUucGhwP25hbWU9IiArIGZp
cnN0UGFydHlDb29raWVOYW1lICsgIiZ2YWx1ZT12YWx1ZSI7Ci0gICAgICAgIGNvbnN0IHJldHVy
blVybCA9ICJodHRwOi8vIiArIHBhcnRpdGlvbkhvc3QgKyAiL3N0b3JhZ2VBY2Nlc3MvcmVxdWVz
dC1hbmQtZ3JhbnQtYWNjZXNzLWNyb3NzLW9yaWdpbi1zYW5kYm94ZWQtbmVzdGVkLWlmcmFtZS1k
YXRhYmFzZS5odG1sIjsKLSAgICAgICAgY29uc3Qgc3ViUGF0aFRvR2V0Q29va2llcyA9ICIvZ2V0
LWNvb2tpZXMucGhwP25hbWUxPSIgKyBmaXJzdFBhcnR5Q29va2llTmFtZTsKLQotICAgICAgICB3
aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigibWVzc2FnZSIsIHJlY2VpdmVNZXNzYWdlLCBmYWxzZSk7
Ci0KLSAgICAgICAgZnVuY3Rpb24gb3BlbklmcmFtZSh1cmwsIG9uTG9hZEhhbmRsZXIpIHsKLSAg
ICAgICAgICAgIGNvbnN0IGVsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJpZnJhbWUi
KTsKLSAgICAgICAgICAgIGVsZW1lbnQuc3JjID0gdXJsOwotICAgICAgICAgICAgaWYgKG9uTG9h
ZEhhbmRsZXIpIHsKLSAgICAgICAgICAgICAgICBlbGVtZW50Lm9ubG9hZCA9IG9uTG9hZEhhbmRs
ZXI7Ci0gICAgICAgICAgICB9Ci0gICAgICAgICAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxk
KGVsZW1lbnQpOwotICAgICAgICB9Ci0KLSAgICAgICAgZnVuY3Rpb24gcmVjZWl2ZU1lc3NhZ2Uo
ZXZlbnQpIHsKLSAgICAgICAgICAgIGlmIChldmVudC5vcmlnaW4gPT09ICJodHRwOi8vbG9jYWxo
b3N0OjgwMDAiKSB7Ci0gICAgICAgICAgICAgICAgaWYgKGV2ZW50LmRhdGEuaW5kZXhPZigiUEFT
UyIpICE9PSAtMSkKLSAgICAgICAgICAgICAgICAgICAgdGVzdFBhc3NlZChldmVudC5kYXRhLnJl
cGxhY2UoIlBBU1MgIiwgIiIpKTsKLSAgICAgICAgICAgICAgICBlbHNlCi0gICAgICAgICAgICAg
ICAgICAgIHRlc3RGYWlsZWQoZXZlbnQuZGF0YS5yZXBsYWNlKCJGQUlMICIsICIiKSk7Ci0gICAg
ICAgICAgICB9IGVsc2UKLSAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKCJSZWNlaXZlZCBhIG1l
c3NhZ2UgZnJvbSBhbiB1bmV4cGVjdGVkIG9yaWdpbjogIiArIGV2ZW50Lm9yaWdpbik7Ci0gICAg
ICAgICAgICBzZXRFbmFibGVGZWF0dXJlKGZhbHNlLCBmaW5pc2hKU1Rlc3QpOwotICAgICAgICB9
Ci0KLSAgICAgICAgZnVuY3Rpb24gYWN0aXZhdGVFbGVtZW50KGVsZW1lbnRJZCkgewotICAgICAg
ICAgICAgdmFyIGVsZW1lbnQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChlbGVtZW50SWQpOwot
ICAgICAgICAgICAgdmFyIGNlbnRlclggPSBlbGVtZW50Lm9mZnNldExlZnQgKyBlbGVtZW50Lm9m
ZnNldFdpZHRoIC8gMjsKLSAgICAgICAgICAgIHZhciBjZW50ZXJZID0gZWxlbWVudC5vZmZzZXRU
b3AgKyBlbGVtZW50Lm9mZnNldEhlaWdodCAvIDI7Ci0gICAgICAgICAgICBVSUhlbHBlci5hY3Rp
dmF0ZUF0KGNlbnRlclgsIGNlbnRlclkpLnRoZW4oCi0gICAgICAgICAgICAgICAgZnVuY3Rpb24g
KCkgewotICAgICAgICAgICAgICAgICAgICBpZiAod2luZG93LmV2ZW50U2VuZGVyKQotICAgICAg
ICAgICAgICAgICAgICAgICAgZXZlbnRTZW5kZXIua2V5RG93bigiZXNjYXBlIik7Ci0gICAgICAg
ICAgICAgICAgICAgIGVsc2UgewotICAgICAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZCgi
Tm8gZXZlbnRTZW5kZXIuIik7Ci0gICAgICAgICAgICAgICAgICAgICAgICBzZXRFbmFibGVGZWF0
dXJlKGZhbHNlLCBmaW5pc2hKU1Rlc3QpOwotICAgICAgICAgICAgICAgICAgICB9Ci0gICAgICAg
ICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICBmdW5jdGlvbiAoKSB7Ci0gICAgICAgICAgICAg
ICAgICAgIHRlc3RGYWlsZWQoIlByb21pc2UgcmVqZWN0ZWQuIik7Ci0gICAgICAgICAgICAgICAg
ICAgIHNldEVuYWJsZUZlYXR1cmUoZmFsc2UsIGZpbmlzaEpTVGVzdCk7Ci0gICAgICAgICAgICAg
ICAgfQotICAgICAgICAgICAgKTsKLSAgICAgICAgfQotCi0gICAgICAgIGZ1bmN0aW9uIHJ1blRl
c3QoKSB7Ci0gICAgICAgICAgICBzd2l0Y2ggKGRvY3VtZW50LmxvY2F0aW9uLmhhc2gpIHsKLSAg
ICAgICAgICAgICAgICBjYXNlICIiOgotICAgICAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLnNl
dFVzZUlUUERhdGFiYXNlKHRydWUpOwotICAgICAgICAgICAgICAgICAgICBzZXRFbmFibGVGZWF0
dXJlKHRydWUsIGZ1bmN0aW9uKCkgewotICAgICAgICAgICAgICAgICAgICAgICAgdGVzdFJ1bm5l
ci5kdW1wQ2hpbGRGcmFtZXNBc1RleHQoKTsKLSAgICAgICAgICAgICAgICAgICAgICAgIGRvY3Vt
ZW50LmxvY2F0aW9uLmhhc2ggPSAic3RlcDEiOwotICAgICAgICAgICAgICAgICAgICAgICAgdGVz
dFJ1bm5lci5zZXRTdGF0aXN0aWNzU2hvdWxkQmxvY2tUaGlyZFBhcnR5Q29va2llcyh0cnVlLCBy
dW5UZXN0KTsKLSAgICAgICAgICAgICAgICAgICAgfSk7Ci0gICAgICAgICAgICAgICAgICAgIGJy
ZWFrOwotICAgICAgICAgICAgICAgIGNhc2UgIiNzdGVwMSI6Ci0gICAgICAgICAgICAgICAgICAg
IC8vIFNldCBmaXJzdC1wYXJ0eSBjb29raWUgZm9yIGxvY2FsaG9zdC4KLSAgICAgICAgICAgICAg
ICAgICAgZG9jdW1lbnQubG9jYXRpb24uaHJlZiA9IHRoaXJkUGFydHlCYXNlVXJsICsgc3ViUGF0
aFRvU2V0Rmlyc3RQYXJ0eUNvb2tpZSArICIjIiArIHJldHVyblVybCArICIjc3RlcDIiOwotICAg
ICAgICAgICAgICAgICAgICBicmVhazsKLSAgICAgICAgICAgICAgICBjYXNlICIjc3RlcDIiOgot
ICAgICAgICAgICAgICAgICAgICBkb2N1bWVudC5sb2NhdGlvbi5oYXNoID0gInN0ZXAzIjsKLSAg
ICAgICAgICAgICAgICAgICAgLy8gQ2hlY2sgdGhhdCB0aGUgZmlyc3QtcGFydHkgY29va2llIGRv
ZXMgbm90IGdldCBzZW50IGZvciBsb2NhbGhvc3QgdW5kZXIgMTI3LjAuMC4xLgotICAgICAgICAg
ICAgICAgICAgICB0ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NIYXNIYWRVc2VySW50ZXJhY3Rpb24o
c3RhdGlzdGljc1VybCwgdHJ1ZSwgZnVuY3Rpb24oKSB7Ci0gICAgICAgICAgICAgICAgICAgICAg
ICBpZiAoIXRlc3RSdW5uZXIuaXNTdGF0aXN0aWNzSGFzSGFkVXNlckludGVyYWN0aW9uKHN0YXRp
c3RpY3NVcmwpKQotICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoIkhvc3Qg
ZGlkIG5vdCBnZXQgbG9nZ2VkIGZvciB1c2VyIGludGVyYWN0aW9uLiIpOwotICAgICAgICAgICAg
ICAgICAgICAgICAgb3BlbklmcmFtZSh0aGlyZFBhcnR5QmFzZVVybCArIHN1YlBhdGhUb0dldENv
b2tpZXMgKyAiJm1lc3NhZ2U9U2hvdWxkIG5vdCByZWNlaXZlIGNvb2tpZXMuIiwgcnVuVGVzdCk7
Ci0gICAgICAgICAgICAgICAgICAgIH0pOwotICAgICAgICAgICAgICAgICAgICBicmVhazsKLSAg
ICAgICAgICAgICAgICBjYXNlICIjc3RlcDMiOgotICAgICAgICAgICAgICAgICAgICAvLyBSZXF1
ZXN0IGFuZCBnZXQgZ3JhbnRlZCBzdG9yYWdlIGFjY2VzcyBpbiBhIG5lc3RlZCBpZnJhbWUuCi0g
ICAgICAgICAgICAgICAgICAgIGxldCBpZnJhbWVFbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxl
bWVudCgiaWZyYW1lIik7Ci0gICAgICAgICAgICAgICAgICAgIGlmcmFtZUVsZW1lbnQuc2V0QXR0
cmlidXRlKCJzYW5kYm94IiwgImFsbG93LXN0b3JhZ2UtYWNjZXNzLWJ5LXVzZXItYWN0aXZhdGlv
biBhbGxvdy1zY3JpcHRzIGFsbG93LXNhbWUtb3JpZ2luIGFsbG93LW1vZGFscyIpOwotICAgICAg
ICAgICAgICAgICAgICBpZnJhbWVFbGVtZW50Lm9ubG9hZCA9IGZ1bmN0aW9uKCkgewotICAgICAg
ICAgICAgICAgICAgICAgICAgYWN0aXZhdGVFbGVtZW50KCJUaGVJZnJhbWVUaGF0UmVxdWVzdHNT
dG9yYWdlQWNjZXNzIik7Ci0gICAgICAgICAgICAgICAgICAgIH07Ci0gICAgICAgICAgICAgICAg
ICAgIGlmcmFtZUVsZW1lbnQuaWQgPSAiVGhlSWZyYW1lVGhhdFJlcXVlc3RzU3RvcmFnZUFjY2Vz
cyI7Ci0gICAgICAgICAgICAgICAgICAgIGlmcmFtZUVsZW1lbnQuc3JjID0gInJlc291cmNlcy9u
ZXN0aW5nLWlmcmFtZS5odG1sIjsKLSAgICAgICAgICAgICAgICAgICAgZG9jdW1lbnQuYm9keS5h
cHBlbmRDaGlsZChpZnJhbWVFbGVtZW50KTsKLSAgICAgICAgICAgICAgICAgICAgYnJlYWs7Ci0g
ICAgICAgICAgICB9Ci0gICAgICAgIH0KLSAgICA8L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5IG9u
bG9hZD0icnVuVGVzdCgpIj4KLTwvYm9keT4KLTwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2h0dHAvdGVzdHMvc3RvcmFnZUFjY2Vzcy9yZXF1ZXN0LWFuZC1ncmFudC1hY2Nlc3MtdGhl
bi1kZXRhY2gtc2hvdWxkLW5vdC1oYXZlLWFjY2Vzcy1kYXRhYmFzZS1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL3N0b3JhZ2VBY2Nlc3MvcmVxdWVzdC1hbmQtZ3JhbnQtYWNj
ZXNzLXRoZW4tZGV0YWNoLXNob3VsZC1ub3QtaGF2ZS1hY2Nlc3MtZGF0YWJhc2UtZXhwZWN0ZWQu
dHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA5MTMxMDY5ODgwZWU2OTE4Y2M1OGQw
Yjk0ZjBmYTUzYTA5OTM3M2M5Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwCi0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc3RvcmFnZUFjY2Vzcy9yZXF1ZXN0LWFu
ZC1ncmFudC1hY2Nlc3MtdGhlbi1kZXRhY2gtc2hvdWxkLW5vdC1oYXZlLWFjY2Vzcy1kYXRhYmFz
ZS1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSwxMiArMCwwIEBACi1UZXN0cyB0aGF0
IGEgY3Jvc3Mtb3JpZ2luIGlmcmFtZSBmcm9tIGEgcHJldmFsZW50IGRvbWFpbiB0aGF0IGlzIGdy
YW50ZWQgc3RvcmFnZSBhY2Nlc3MgYW5kIHRoZW4gaXMgZGV0YWNoZWQgZnJvbSB0aGUgRE9NIGRv
ZXMgbm90IGhhdmUgc3RvcmFnZSBhY2Nlc3MuCi0KLU9uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBh
IHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4K
LQotCi1QQVNTIFN0b3JhZ2UgYWNjZXNzIHdhcyBncmFudGVkLiBkb2N1bWVudC5jb29raWUgPT0g
Zmlyc3RQYXJ0eUNvb2tpZT12YWx1ZSwgY29va2llcyBzZWVuIHNlcnZlci1zaWRlID09IHsiZmly
c3RQYXJ0eUNvb2tpZSI6InZhbHVlIn0KLVBBU1MgVGhlcmUgaXMgYSBzdG9yYWdlIGFjY2VzcyBl
bnRyeSBmb3IgbG9jYWxob3N0LgotUEFTUyBUaGVyZSBpcyBubyBzdG9yYWdlIGFjY2VzcyBlbnRy
eSBmb3IgbG9jYWxob3N0IGFmdGVyIGlmcmFtZSBkZXRhY2guCi1QQVNTIHN1Y2Nlc3NmdWxseVBh
cnNlZCBpcyB0cnVlCi0KLVRFU1QgQ09NUExFVEUKLQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aHR0cC90ZXN0cy9zdG9yYWdlQWNjZXNzL3JlcXVlc3QtYW5kLWdyYW50LWFjY2Vzcy10aGVuLWRl
dGFjaC1zaG91bGQtbm90LWhhdmUtYWNjZXNzLWRhdGFiYXNlLmh0bWwgYi9MYXlvdXRUZXN0cy9o
dHRwL3Rlc3RzL3N0b3JhZ2VBY2Nlc3MvcmVxdWVzdC1hbmQtZ3JhbnQtYWNjZXNzLXRoZW4tZGV0
YWNoLXNob3VsZC1ub3QtaGF2ZS1hY2Nlc3MtZGF0YWJhc2UuaHRtbApkZWxldGVkIGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggNjUwYWU3YWI4Nzg3NGMxYTU4YzdkZTI2OTUxYTQ0ZDE3ZTAwMmE5Ni4u
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL3N0b3JhZ2VBY2Nlc3MvcmVxdWVzdC1hbmQtZ3JhbnQtYWNjZXNzLXRoZW4t
ZGV0YWNoLXNob3VsZC1ub3QtaGF2ZS1hY2Nlc3MtZGF0YWJhc2UuaHRtbAorKysgL2Rldi9udWxs
CkBAIC0xLDExOCArMCwwIEBACi08IURPQ1RZUEUgaHRtbD4KLTxodG1sPgotPGhlYWQ+Ci0gICAg
PHNjcmlwdCBzcmM9Ii9qcy10ZXN0LXJlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KLSAg
ICA8c2NyaXB0IHNyYz0iL2pzLXRlc3QtcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+
Ci0gICAgPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3Jlc291cmNlcy91dGls
LmpzIj48L3NjcmlwdD4KLSAgICA8c2NyaXB0PgotICAgICAgICBkZXNjcmlwdGlvbigiVGVzdHMg
dGhhdCBhIGNyb3NzLW9yaWdpbiBpZnJhbWUgZnJvbSBhIHByZXZhbGVudCBkb21haW4gdGhhdCBp
cyBncmFudGVkIHN0b3JhZ2UgYWNjZXNzIGFuZCB0aGVuIGlzIGRldGFjaGVkIGZyb20gdGhlIERP
TSBkb2VzIG5vdCBoYXZlIHN0b3JhZ2UgYWNjZXNzLiIpOwotICAgICAgICBqc1Rlc3RJc0FzeW5j
ID0gdHJ1ZTsKLQotICAgICAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigibWVzc2FnZSIsIHJl
Y2VpdmVNZXNzYWdlLCBmYWxzZSk7Ci0KLSAgICAgICAgZnVuY3Rpb24gZmluaXNoVGVzdCgpIHsK
LSAgICAgICAgICAgIHNldEVuYWJsZUZlYXR1cmUoZmFsc2UsIGZpbmlzaEpTVGVzdCk7Ci0gICAg
ICAgIH0KLQotICAgICAgICBjb25zdCBpZnJhbWVJRCA9ICJUaGVJZnJhbWVUaGF0UmVxdWVzdHNT
dG9yYWdlQWNjZXNzIjsKLSAgICAgICAgZnVuY3Rpb24gYXNrSWZJZnJhbWVTdGlsbEhhc1N0b3Jh
Z2VBY2Nlc3MoKSB7Ci0gICAgICAgICAgICB0ZXN0UnVubmVyLmdldEFsbFN0b3JhZ2VBY2Nlc3NF
bnRyaWVzKGZ1bmN0aW9uIChhcnJheU9mRG9tYWlucykgewotICAgICAgICAgICAgICAgIHZhciBw
YXNzZWQgPSB0cnVlOwotICAgICAgICAgICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgYXJyYXlP
ZkRvbWFpbnMubGVuZ3RoOyArK2kpIHsKLSAgICAgICAgICAgICAgICAgICAgaWYgKGFycmF5T2ZE
b21haW5zW2ldID09PSAibG9jYWxob3N0IikgewotICAgICAgICAgICAgICAgICAgICAgICAgcGFz
c2VkID0gZmFsc2U7Ci0gICAgICAgICAgICAgICAgICAgICAgICBicmVhazsKLSAgICAgICAgICAg
ICAgICAgICAgfQotICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICBpZiAocGFzc2Vk
KQotICAgICAgICAgICAgICAgICAgICB0ZXN0UGFzc2VkKCJUaGVyZSBpcyBubyBzdG9yYWdlIGFj
Y2VzcyBlbnRyeSBmb3IgbG9jYWxob3N0IGFmdGVyIGlmcmFtZSBkZXRhY2guIik7Ci0gICAgICAg
ICAgICAgICAgZWxzZQotICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKCJUaGVyZSBpcyBz
dGlsbCBhIHN0b3JhZ2UgYWNjZXNzIGVudHJ5IGZvciBsb2NhbGhvc3QgYWZ0ZXIgaWZyYW1lIGRl
dGFjaC4iKTsKLSAgICAgICAgICAgICAgICBmaW5pc2hUZXN0KCk7Ci0gICAgICAgICAgICB9KTsK
LSAgICAgICAgfQotCi0gICAgICAgIGZ1bmN0aW9uIGRldGFjaElmcmFtZUFuZENoZWNrV2hldGhl
ckl0U3RpbGxIYXNTdG9yYWdlQWNjZXNzKCkgewotICAgICAgICAgICAgdGVzdFJ1bm5lci5nZXRB
bGxTdG9yYWdlQWNjZXNzRW50cmllcyhmdW5jdGlvbiAoYXJyYXlPZkRvbWFpbnMpIHsKLSAgICAg
ICAgICAgICAgICB2YXIgcGFzc2VkID0gZmFsc2U7Ci0gICAgICAgICAgICAgICAgZm9yICh2YXIg
aSA9IDA7IGkgPCBhcnJheU9mRG9tYWlucy5sZW5ndGg7ICsraSkgewotICAgICAgICAgICAgICAg
ICAgICBpZiAoYXJyYXlPZkRvbWFpbnNbaV0gPT09ICJsb2NhbGhvc3QiKSB7Ci0gICAgICAgICAg
ICAgICAgICAgICAgICBwYXNzZWQgPSB0cnVlOwotICAgICAgICAgICAgICAgICAgICAgICAgYnJl
YWs7Ci0gICAgICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAg
ICAgICAgaWYgKHBhc3NlZCkKLSAgICAgICAgICAgICAgICAgICAgdGVzdFBhc3NlZCgiVGhlcmUg
aXMgYSBzdG9yYWdlIGFjY2VzcyBlbnRyeSBmb3IgbG9jYWxob3N0LiIpOwotICAgICAgICAgICAg
ICAgIGVsc2UKLSAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZCgiVGhlcmUgaXMgbm8gc3Rv
cmFnZSBhY2Nlc3MgZW50cnkgZm9yIGxvY2FsaG9zdC4iKTsKLSAgICAgICAgICAgICAgICB2YXIg
dGhlSWZyYW1lID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoaWZyYW1lSUQpOwotICAgICAgICAg
ICAgICAgIHRoZUlmcmFtZS5vbmxvYWQgPSBhc2tJZklmcmFtZVN0aWxsSGFzU3RvcmFnZUFjY2Vz
czsKLSAgICAgICAgICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgnYm9keScp
WzBdLmFwcGVuZENoaWxkKHRoZUlmcmFtZSk7Ci0gICAgICAgICAgICB9KTsKLSAgICAgICAgfQot
Ci0gICAgICAgIGZ1bmN0aW9uIHJlY2VpdmVNZXNzYWdlKGV2ZW50KSB7Ci0gICAgICAgICAgICBp
ZiAoZXZlbnQub3JpZ2luID09PSAiaHR0cDovL2xvY2FsaG9zdDo4MDAwIikgewotICAgICAgICAg
ICAgICAgIGlmIChldmVudC5kYXRhLmluZGV4T2YoIlBBU1MiKSAhPT0gLTEpIHsKLSAgICAgICAg
ICAgICAgICAgICAgdGVzdFBhc3NlZChldmVudC5kYXRhLnJlcGxhY2UoIlBBU1MgIiwgIiIpKTsK
LSAgICAgICAgICAgICAgICAgICAgZGV0YWNoSWZyYW1lQW5kQ2hlY2tXaGV0aGVySXRTdGlsbEhh
c1N0b3JhZ2VBY2Nlc3MoKTsKLSAgICAgICAgICAgICAgICB9IGVsc2UgewotICAgICAgICAgICAg
ICAgICAgICB0ZXN0RmFpbGVkKGV2ZW50LmRhdGEpOwotICAgICAgICAgICAgICAgICAgICBmaW5p
c2hUZXN0KCk7Ci0gICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgfSBlbHNlIHsKLSAgICAg
ICAgICAgICAgICB0ZXN0RmFpbGVkKCJSZWNlaXZlZCBhIG1lc3NhZ2UgZnJvbSBhbiB1bmV4cGVj
dGVkIG9yaWdpbjogIiArIGV2ZW50Lm9yaWdpbik7Ci0gICAgICAgICAgICAgICAgZmluaXNoVGVz
dCgpOwotICAgICAgICAgICAgfQotICAgICAgICB9Ci0KLSAgICAgICAgZnVuY3Rpb24gYWN0aXZh
dGVFbGVtZW50KGVsZW1lbnRJZCkgewotICAgICAgICAgICAgdmFyIGVsZW1lbnQgPSBkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZChlbGVtZW50SWQpOwotICAgICAgICAgICAgdmFyIGNlbnRlclggPSBl
bGVtZW50Lm9mZnNldExlZnQgKyBlbGVtZW50Lm9mZnNldFdpZHRoIC8gMjsKLSAgICAgICAgICAg
IHZhciBjZW50ZXJZID0gZWxlbWVudC5vZmZzZXRUb3AgKyBlbGVtZW50Lm9mZnNldEhlaWdodCAv
IDI7Ci0gICAgICAgICAgICBVSUhlbHBlci5hY3RpdmF0ZUF0KGNlbnRlclgsIGNlbnRlclkpLnRo
ZW4oCi0gICAgICAgICAgICAgICAgZnVuY3Rpb24gKCkgeyB9LAotICAgICAgICAgICAgICAgIGZ1
bmN0aW9uICgpIHsKLSAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZCgiUHJvbWlzZSByZWpl
Y3RlZC4iKTsKLSAgICAgICAgICAgICAgICAgICAgZmluaXNoVGVzdCgpOwotICAgICAgICAgICAg
ICAgIH0KLSAgICAgICAgICAgICk7Ci0gICAgICAgIH0KLQotICAgICAgICBmdW5jdGlvbiBydW5U
ZXN0KCkgewotICAgICAgICAgICAgaWYgKGRvY3VtZW50LmxvY2F0aW9uLmhhc2ggIT09ICIjZWxl
bWVudEFjdGl2YXRlZCIpIHsKLSAgICAgICAgICAgICAgICBkb2N1bWVudC5sb2NhdGlvbi5oYXNo
ID0gImVsZW1lbnRBY3RpdmF0ZWQiOwotICAgICAgICAgICAgICAgIGFjdGl2YXRlRWxlbWVudChp
ZnJhbWVJRCk7Ci0gICAgICAgICAgICB9Ci0gICAgICAgIH0KLQotICAgICAgICBjb25zdCBob3N0
VW5kZXJUZXN0ID0gImxvY2FsaG9zdDo4MDAwIjsKLSAgICAgICAgY29uc3Qgc3RhdGlzdGljc1Vy
bCA9ICJodHRwOi8vIiArIGhvc3RVbmRlclRlc3Q7Ci0gICAgICAgIHRlc3RSdW5uZXIuc2V0VXNl
SVRQRGF0YWJhc2UodHJ1ZSk7Ci0gICAgICAgIGlmIChkb2N1bWVudC5sb2NhdGlvbi5oYXNoICE9
PSAiI2ZpcnN0UGFydHlDb29raWVTZXQiICYmIGRvY3VtZW50LmxvY2F0aW9uLmhhc2ggIT09ICIj
ZWxlbWVudEFjdGl2YXRlZCIpIHsKLSAgICAgICAgICAgIHNldEVuYWJsZUZlYXR1cmUodHJ1ZSwg
ZnVuY3Rpb24oKSB7Ci0gICAgICAgICAgICAgICAgZG9jdW1lbnQubG9jYXRpb24uaHJlZiA9IHN0
YXRpc3RpY3NVcmwgKyAiL3N0b3JhZ2VBY2Nlc3MvcmVzb3VyY2VzL3NldC1jb29raWUucGhwP25h
bWU9Zmlyc3RQYXJ0eUNvb2tpZSZ2YWx1ZT12YWx1ZSNodHRwOi8vMTI3LjAuMC4xOjgwMDAvc3Rv
cmFnZUFjY2Vzcy9yZXF1ZXN0LWFuZC1ncmFudC1hY2Nlc3MtdGhlbi1kZXRhY2gtc2hvdWxkLW5v
dC1oYXZlLWFjY2Vzcy1kYXRhYmFzZS5odG1sI2ZpcnN0UGFydHlDb29raWVTZXQiOwotICAgICAg
ICAgICAgfSk7Ci0gICAgICAgIH0gZWxzZSB7Ci0gICAgICAgICAgICB0ZXN0UnVubmVyLnNldFN0
YXRpc3RpY3NQcmV2YWxlbnRSZXNvdXJjZShzdGF0aXN0aWNzVXJsLCB0cnVlLCBmdW5jdGlvbigp
IHsKLSAgICAgICAgICAgICAgICBpZiAoIXRlc3RSdW5uZXIuaXNTdGF0aXN0aWNzUHJldmFsZW50
UmVzb3VyY2Uoc3RhdGlzdGljc1VybCkpCi0gICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQo
Ikhvc3QgZGlkIG5vdCBnZXQgc2V0IGFzIHByZXZhbGVudCByZXNvdXJjZS4iKTsKLSAgICAgICAg
ICAgICAgICB0ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NIYXNIYWRVc2VySW50ZXJhY3Rpb24oc3Rh
dGlzdGljc1VybCwgdHJ1ZSwgZnVuY3Rpb24oKSB7Ci0gICAgICAgICAgICAgICAgICAgIGlmICgh
dGVzdFJ1bm5lci5pc1N0YXRpc3RpY3NIYXNIYWRVc2VySW50ZXJhY3Rpb24oc3RhdGlzdGljc1Vy
bCkpCi0gICAgICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKCJIb3N0IGRpZCBub3QgZ2V0
IGxvZ2dlZCBmb3IgdXNlciBpbnRlcmFjdGlvbi4iKTsKLSAgICAgICAgICAgICAgICAgICAgdGVz
dFJ1bm5lci5zdGF0aXN0aWNzVXBkYXRlQ29va2llQmxvY2tpbmcoZnVuY3Rpb24oKSB7Ci0gICAg
ICAgICAgICAgICAgICAgICAgICBsZXQgaWZyYW1lRWxlbWVudCA9IGRvY3VtZW50LmNyZWF0ZUVs
ZW1lbnQoImlmcmFtZSIpOwotICAgICAgICAgICAgICAgICAgICAgICAgaWZyYW1lRWxlbWVudC5z
ZXRBdHRyaWJ1dGUoInNhbmRib3giLCAiYWxsb3ctc3RvcmFnZS1hY2Nlc3MtYnktdXNlci1hY3Rp
dmF0aW9uIGFsbG93LXNjcmlwdHMgYWxsb3ctc2FtZS1vcmlnaW4gYWxsb3ctbW9kYWxzIik7Ci0g
ICAgICAgICAgICAgICAgICAgICAgICBpZnJhbWVFbGVtZW50Lm9ubG9hZCA9IHJ1blRlc3Q7Ci0g
ICAgICAgICAgICAgICAgICAgICAgICBpZnJhbWVFbGVtZW50LmlkID0gIlRoZUlmcmFtZVRoYXRS
ZXF1ZXN0c1N0b3JhZ2VBY2Nlc3MiOwotICAgICAgICAgICAgICAgICAgICAgICAgaWZyYW1lRWxl
bWVudC5zcmMgPSAiaHR0cDovL2xvY2FsaG9zdDo4MDAwL3N0b3JhZ2VBY2Nlc3MvcmVzb3VyY2Vz
L3JlcXVlc3Qtc3RvcmFnZS1hY2Nlc3MtaWZyYW1lLmh0bWwjdXNlclNob3VsZEdyYW50QWNjZXNz
LHVzZXJTaG91bGRCZUNvbnN1bHRlZCxwb2xpY3lTaG91bGRHcmFudEFjY2VzcyI7Ci0gICAgICAg
ICAgICAgICAgICAgICAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGlmcmFtZUVsZW1lbnQp
OwotICAgICAgICAgICAgICAgICAgICB9KTsKLSAgICAgICAgICAgICAgICB9KTsKLSAgICAgICAg
ICAgIH0pOwotICAgICAgICB9Ci0gICAgPC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keT4KLTwvYm9k
eT4KLTwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc3RvcmFnZUFj
Y2Vzcy9yZXF1ZXN0LWFuZC1ncmFudC1hY2Nlc3MtdGhlbi1uYXZpZ2F0ZS1jcm9zcy1zaXRlLXNo
b3VsZC1ub3QtaGF2ZS1hY2Nlc3MtZGF0YWJhc2UtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
aHR0cC90ZXN0cy9zdG9yYWdlQWNjZXNzL3JlcXVlc3QtYW5kLWdyYW50LWFjY2Vzcy10aGVuLW5h
dmlnYXRlLWNyb3NzLXNpdGUtc2hvdWxkLW5vdC1oYXZlLWFjY2Vzcy1kYXRhYmFzZS1leHBlY3Rl
ZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDVlODk2MTYwOWRlYTBlMTQ1NzM3
ZmVlZmFlOTM5MzNkMWQyNjYxNjMuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zdG9yYWdlQWNjZXNzL3JlcXVlc3Qt
YW5kLWdyYW50LWFjY2Vzcy10aGVuLW5hdmlnYXRlLWNyb3NzLXNpdGUtc2hvdWxkLW5vdC1oYXZl
LWFjY2Vzcy1kYXRhYmFzZS1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSwxMyArMCww
IEBACi1UZXN0cyB0aGF0IGEgY3Jvc3Mtb3JpZ2luIGlmcmFtZSBmcm9tIGEgcHJldmFsZW50IGRv
bWFpbiB0aGF0IGlzIGdyYW50ZWQgc3RvcmFnZSBhY2Nlc3MgYW5kIHRoZW4gbmF2aWdhdGVzIGl0
c2VsZiBjcm9zcy1zaXRlIGRvZXMgbm90IGhhdmUgc3RvcmFnZSBhY2Nlc3MuCi0KLU9uIHN1Y2Nl
c3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5
ICJURVNUIENPTVBMRVRFIi4KLQotCi1QQVNTIGRvY3VtZW50LmNvb2tpZSA9PQotUEFTUyBTdG9y
YWdlIGFjY2VzcyB3YXMgZ3JhbnRlZC4KLVBBU1MgZG9jdW1lbnQuY29va2llID09IGNvb2tpZVNl
dENsaWVudFNpZGVBZnRlckdyYW50ZWRTdG9yYWdlQWNjZXNzPXZhbHVlOyBmaXJzdFBhcnR5Q29v
a2llPXZhbHVlCi1QQVNTIE5vIHN0b3JhZ2UgYWNjZXNzLiBkb2N1bWVudC5jb29raWUgPT0gLCBj
b29raWVzIHNlZW4gc2VydmVyLXNpZGUgPT0gIk5vIGNvb2tpZXMiCi1QQVNTIHN1Y2Nlc3NmdWxs
eVBhcnNlZCBpcyB0cnVlCi0KLVRFU1QgQ09NUExFVEUKLQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy9zdG9yYWdlQWNjZXNzL3JlcXVlc3QtYW5kLWdyYW50LWFjY2Vzcy10aGVu
LW5hdmlnYXRlLWNyb3NzLXNpdGUtc2hvdWxkLW5vdC1oYXZlLWFjY2Vzcy1kYXRhYmFzZS5odG1s
IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zdG9yYWdlQWNjZXNzL3JlcXVlc3QtYW5kLWdyYW50
LWFjY2Vzcy10aGVuLW5hdmlnYXRlLWNyb3NzLXNpdGUtc2hvdWxkLW5vdC1oYXZlLWFjY2Vzcy1k
YXRhYmFzZS5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBkMTc5NjE1MzJjZDU5
YTY4NzNiZjkxMjk2YmI1MzVjMDdlNjcyNDFkLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc3RvcmFnZUFjY2Vzcy9y
ZXF1ZXN0LWFuZC1ncmFudC1hY2Nlc3MtdGhlbi1uYXZpZ2F0ZS1jcm9zcy1zaXRlLXNob3VsZC1u
b3QtaGF2ZS1hY2Nlc3MtZGF0YWJhc2UuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDkxICswLDAg
QEAKLTwhRE9DVFlQRSBodG1sPgotPGh0bWw+Ci08aGVhZD4KLSAgICA8c2NyaXB0IHNyYz0iL2pz
LXRlc3QtcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgotICAgIDxzY3JpcHQgc3JjPSIv
anMtdGVzdC1yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KLSAgICA8c2NyaXB0IHNy
Yz0iL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvcmVzb3VyY2VzL3V0aWwuanMiPjwvc2NyaXB0Pgot
ICAgIDxzY3JpcHQ+Ci0gICAgICAgIGRlc2NyaXB0aW9uKCJUZXN0cyB0aGF0IGEgY3Jvc3Mtb3Jp
Z2luIGlmcmFtZSBmcm9tIGEgcHJldmFsZW50IGRvbWFpbiB0aGF0IGlzIGdyYW50ZWQgc3RvcmFn
ZSBhY2Nlc3MgYW5kIHRoZW4gbmF2aWdhdGVzIGl0c2VsZiBjcm9zcy1zaXRlIGRvZXMgbm90IGhh
dmUgc3RvcmFnZSBhY2Nlc3MuIik7Ci0gICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOwotCi0g
ICAgICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJtZXNzYWdlIiwgcmVjZWl2ZU1lc3NhZ2Us
IGZhbHNlKTsKLQotICAgICAgICBmdW5jdGlvbiBmaW5pc2hUZXN0KCkgewotICAgICAgICAgICAg
c2V0RW5hYmxlRmVhdHVyZShmYWxzZSwgZmluaXNoSlNUZXN0KTsKLSAgICAgICAgfQotCi0gICAg
ICAgIGNvbnN0IGV4cGVjdGVkUGFzc01lc3NhZ2VzID0gMjsKLSAgICAgICAgdmFyIHBhc3NNZXNz
YWdlc1JlY2VpdmVkID0gMDsKLSAgICAgICAgZnVuY3Rpb24gcmVjZWl2ZU1lc3NhZ2UoZXZlbnQp
IHsKLSAgICAgICAgICAgIGlmIChldmVudC5vcmlnaW4gPT09ICJodHRwOi8vbG9jYWxob3N0Ojgw
MDAiKSB7Ci0gICAgICAgICAgICAgICAgaWYgKGV2ZW50LmRhdGEuaW5kZXhPZigiZG9jdW1lbnQu
Y29va2llIikgPT09IDApIHsKLSAgICAgICAgICAgICAgICAgICAgdGVzdFBhc3NlZChldmVudC5k
YXRhKTsKLSAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKGV2ZW50LmRhdGEuaW5kZXhPZigiUEFT
UyIpICE9PSAtMSkgewotICAgICAgICAgICAgICAgICAgICB0ZXN0UGFzc2VkKGV2ZW50LmRhdGEu
cmVwbGFjZSgiUEFTUyAiLCAiIikpOwotICAgICAgICAgICAgICAgICAgICBwYXNzTWVzc2FnZXNS
ZWNlaXZlZCsrOwotICAgICAgICAgICAgICAgICAgICBpZiAocGFzc01lc3NhZ2VzUmVjZWl2ZWQg
Pj0gZXhwZWN0ZWRQYXNzTWVzc2FnZXMpCi0gICAgICAgICAgICAgICAgICAgICAgICBmaW5pc2hU
ZXN0KCk7Ci0gICAgICAgICAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAgICAgICAgICAgdGVz
dEZhaWxlZChldmVudC5kYXRhKTsKLSAgICAgICAgICAgICAgICAgICAgZmluaXNoVGVzdCgpOwot
ICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgIH0gZWxzZSB7Ci0gICAgICAgICAgICAgICAg
dGVzdEZhaWxlZCgiUmVjZWl2ZWQgYSBtZXNzYWdlIGZyb20gYW4gdW5leHBlY3RlZCBvcmlnaW46
ICIgKyBldmVudC5vcmlnaW4pOwotICAgICAgICAgICAgICAgIGZpbmlzaFRlc3QoKTsKLSAgICAg
ICAgICAgIH0KLSAgICAgICAgfQotCi0gICAgICAgIGZ1bmN0aW9uIGFjdGl2YXRlRWxlbWVudChl
bGVtZW50SWQpIHsKLSAgICAgICAgICAgIHZhciBlbGVtZW50ID0gZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoZWxlbWVudElkKTsKLSAgICAgICAgICAgIHZhciBjZW50ZXJYID0gZWxlbWVudC5vZmZz
ZXRMZWZ0ICsgZWxlbWVudC5vZmZzZXRXaWR0aCAvIDI7Ci0gICAgICAgICAgICB2YXIgY2VudGVy
WSA9IGVsZW1lbnQub2Zmc2V0VG9wICsgZWxlbWVudC5vZmZzZXRIZWlnaHQgLyAyOwotICAgICAg
ICAgICAgVUlIZWxwZXIuYWN0aXZhdGVBdChjZW50ZXJYLCBjZW50ZXJZKS50aGVuKAotICAgICAg
ICAgICAgICAgIGZ1bmN0aW9uICgpIHsKLSAgICAgICAgICAgICAgICAgICAgaWYgKHdpbmRvdy5l
dmVudFNlbmRlcikKLSAgICAgICAgICAgICAgICAgICAgICAgIGV2ZW50U2VuZGVyLmtleURvd24o
ImVzY2FwZSIpOwotICAgICAgICAgICAgICAgICAgICBlbHNlIHsKLSAgICAgICAgICAgICAgICAg
ICAgICAgIHRlc3RGYWlsZWQoIk5vIGV2ZW50U2VuZGVyLiIpOwotICAgICAgICAgICAgICAgICAg
ICAgICAgZmluaXNoVGVzdCgpOwotICAgICAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAg
ICAgfSwKLSAgICAgICAgICAgICAgICBmdW5jdGlvbiAoKSB7Ci0gICAgICAgICAgICAgICAgICAg
IHRlc3RGYWlsZWQoIlByb21pc2UgcmVqZWN0ZWQuIik7Ci0gICAgICAgICAgICAgICAgICAgIGZp
bmlzaFRlc3QoKTsKLSAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICApOwotICAgICAgICB9
Ci0KLSAgICAgICAgZnVuY3Rpb24gcnVuVGVzdCgpIHsKLSAgICAgICAgICAgIGFjdGl2YXRlRWxl
bWVudCgiVGhlSWZyYW1lVGhhdFJlcXVlc3RzU3RvcmFnZUFjY2VzcyIpOwotICAgICAgICB9Ci0K
LSAgICAgICAgY29uc3QgaG9zdFVuZGVyVGVzdCA9ICJsb2NhbGhvc3Q6ODAwMCI7Ci0gICAgICAg
IGNvbnN0IHN0YXRpc3RpY3NVcmwgPSAiaHR0cDovLyIgKyBob3N0VW5kZXJUZXN0OwotICAgICAg
ICB0ZXN0UnVubmVyLnNldFVzZUlUUERhdGFiYXNlKHRydWUpOwotICAgICAgICBpZiAoZG9jdW1l
bnQubG9jYXRpb24uaGFzaCAhPT0gIiNmaXJzdFBhcnR5Q29va2llU2V0IikgewotICAgICAgICAg
ICAgc2V0RW5hYmxlRmVhdHVyZSh0cnVlLCBmdW5jdGlvbigpIHsKLSAgICAgICAgICAgICAgICBk
b2N1bWVudC5sb2NhdGlvbi5ocmVmID0gc3RhdGlzdGljc1VybCArICIvc3RvcmFnZUFjY2Vzcy9y
ZXNvdXJjZXMvc2V0LWNvb2tpZS5waHA/bmFtZT1maXJzdFBhcnR5Q29va2llJnZhbHVlPXZhbHVl
I2h0dHA6Ly8xMjcuMC4wLjE6ODAwMC9zdG9yYWdlQWNjZXNzL3JlcXVlc3QtYW5kLWdyYW50LWFj
Y2Vzcy10aGVuLW5hdmlnYXRlLWNyb3NzLXNpdGUtc2hvdWxkLW5vdC1oYXZlLWFjY2Vzcy1kYXRh
YmFzZS5odG1sI2ZpcnN0UGFydHlDb29raWVTZXQiOwotICAgICAgICAgICAgfSk7Ci0gICAgICAg
IH0gZWxzZSB7Ci0gICAgICAgICAgICB0ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NQcmV2YWxlbnRS
ZXNvdXJjZShzdGF0aXN0aWNzVXJsLCB0cnVlLCBmdW5jdGlvbigpIHsKLSAgICAgICAgICAgICAg
ICBpZiAoIXRlc3RSdW5uZXIuaXNTdGF0aXN0aWNzUHJldmFsZW50UmVzb3VyY2Uoc3RhdGlzdGlj
c1VybCkpCi0gICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoIkhvc3QgZGlkIG5vdCBnZXQg
c2V0IGFzIHByZXZhbGVudCByZXNvdXJjZS4iKTsKLSAgICAgICAgICAgICAgICB0ZXN0UnVubmVy
LnNldFN0YXRpc3RpY3NIYXNIYWRVc2VySW50ZXJhY3Rpb24oc3RhdGlzdGljc1VybCwgdHJ1ZSwg
ZnVuY3Rpb24oKSB7Ci0gICAgICAgICAgICAgICAgICAgIGlmICghdGVzdFJ1bm5lci5pc1N0YXRp
c3RpY3NIYXNIYWRVc2VySW50ZXJhY3Rpb24oc3RhdGlzdGljc1VybCkpCi0gICAgICAgICAgICAg
ICAgICAgICAgICB0ZXN0RmFpbGVkKCJIb3N0IGRpZCBub3QgZ2V0IGxvZ2dlZCBmb3IgdXNlciBp
bnRlcmFjdGlvbi4iKTsKLSAgICAgICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5zdGF0aXN0aWNz
VXBkYXRlQ29va2llQmxvY2tpbmcoZnVuY3Rpb24oKSB7Ci0gICAgICAgICAgICAgICAgICAgICAg
ICBsZXQgaWZyYW1lRWxlbWVudCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImlmcmFtZSIpOwot
ICAgICAgICAgICAgICAgICAgICAgICAgaWZyYW1lRWxlbWVudC5zZXRBdHRyaWJ1dGUoInNhbmRi
b3giLCAiYWxsb3ctc3RvcmFnZS1hY2Nlc3MtYnktdXNlci1hY3RpdmF0aW9uIGFsbG93LXNjcmlw
dHMgYWxsb3ctc2FtZS1vcmlnaW4gYWxsb3ctbW9kYWxzIik7Ci0gICAgICAgICAgICAgICAgICAg
ICAgICBpZnJhbWVFbGVtZW50Lm9ubG9hZCA9IHJ1blRlc3Q7Ci0gICAgICAgICAgICAgICAgICAg
ICAgICBpZnJhbWVFbGVtZW50LmlkID0gIlRoZUlmcmFtZVRoYXRSZXF1ZXN0c1N0b3JhZ2VBY2Nl
c3MiOwotICAgICAgICAgICAgICAgICAgICAgICAgaWZyYW1lRWxlbWVudC5zcmMgPSAiaHR0cDov
L2xvY2FsaG9zdDo4MDAwL3N0b3JhZ2VBY2Nlc3MvcmVzb3VyY2VzL3NlbGYtbmF2aWdhdGluZy1m
cmFtZS1hZnRlci1ncmFudGVkLWFjY2Vzcy5odG1sI3VzZXJTaG91bGRHcmFudEFjY2Vzcyx1c2Vy
U2hvdWxkQmVDb25zdWx0ZWQscG9saWN5U2hvdWxkR3JhbnRBY2Nlc3MsY3Jvc3NTaXRlTmF2aWdh
dGlvbiI7Ci0gICAgICAgICAgICAgICAgICAgICAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxk
KGlmcmFtZUVsZW1lbnQpOwotICAgICAgICAgICAgICAgICAgICB9KTsKLSAgICAgICAgICAgICAg
ICB9KTsKLSAgICAgICAgICAgIH0pOwotICAgICAgICB9Ci0gICAgPC9zY3JpcHQ+Ci08L2hlYWQ+
Ci08Ym9keT4KLTwvYm9keT4KLTwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAv
dGVzdHMvc3RvcmFnZUFjY2Vzcy9yZXF1ZXN0LWFuZC1ncmFudC1hY2Nlc3MtdGhlbi1uYXZpZ2F0
ZS1zYW1lLXNpdGUtc2hvdWxkLWhhdmUtYWNjZXNzLWRhdGFiYXNlLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2h0dHAvdGVzdHMvc3RvcmFnZUFjY2Vzcy9yZXF1ZXN0LWFuZC1ncmFudC1hY2Nl
c3MtdGhlbi1uYXZpZ2F0ZS1zYW1lLXNpdGUtc2hvdWxkLWhhdmUtYWNjZXNzLWRhdGFiYXNlLWV4
cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZDZmMDM0ZWZlNGY4Y2Ey
ZmQ2YjZjZDVlZWZiNDg3OGVjZWVmMzAzNy4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3N0b3JhZ2VBY2Nlc3MvcmVx
dWVzdC1hbmQtZ3JhbnQtYWNjZXNzLXRoZW4tbmF2aWdhdGUtc2FtZS1zaXRlLXNob3VsZC1oYXZl
LWFjY2Vzcy1kYXRhYmFzZS1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSwxMyArMCww
IEBACi1UZXN0cyB0aGF0IGEgY3Jvc3Mtb3JpZ2luIGlmcmFtZSBmcm9tIGEgcHJldmFsZW50IGRv
bWFpbiB0aGF0IGlzIGdyYW50ZWQgc3RvcmFnZSBhY2Nlc3MgYW5kIHRoZW4gbmF2aWdhdGVzIGl0
c2VsZiBzYW1lLXNpdGUgc3RpbGwgaGFzIHN0b3JhZ2UgYWNjZXNzLgotCi1PbiBzdWNjZXNzLCB5
b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVT
VCBDT01QTEVURSIuCi0KLQotUEFTUyBkb2N1bWVudC5jb29raWUgPT0KLVBBU1MgU3RvcmFnZSBh
Y2Nlc3Mgd2FzIGdyYW50ZWQuCi1QQVNTIGRvY3VtZW50LmNvb2tpZSA9PSBjb29raWVTZXRDbGll
bnRTaWRlQWZ0ZXJHcmFudGVkU3RvcmFnZUFjY2Vzcz12YWx1ZTsgZmlyc3RQYXJ0eUNvb2tpZT12
YWx1ZQotUEFTUyBIYXMgc3RvcmFnZSBhY2Nlc3MuIGRvY3VtZW50LmNvb2tpZSA9PSBjb29raWVT
ZXRDbGllbnRTaWRlQWZ0ZXJHcmFudGVkU3RvcmFnZUFjY2Vzcz12YWx1ZTsgZmlyc3RQYXJ0eUNv
b2tpZT12YWx1ZSwgY29va2llcyBzZWVuIHNlcnZlci1zaWRlID09IHsiY29va2llU2V0Q2xpZW50
U2lkZUFmdGVyR3JhbnRlZFN0b3JhZ2VBY2Nlc3MiOiJ2YWx1ZSIsImZpcnN0UGFydHlDb29raWUi
OiJ2YWx1ZSJ9Ci1QQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCi0KLVRFU1QgQ09NUExF
VEUKLQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zdG9yYWdlQWNjZXNzL3Jl
cXVlc3QtYW5kLWdyYW50LWFjY2Vzcy10aGVuLW5hdmlnYXRlLXNhbWUtc2l0ZS1zaG91bGQtaGF2
ZS1hY2Nlc3MtZGF0YWJhc2UuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc3RvcmFnZUFj
Y2Vzcy9yZXF1ZXN0LWFuZC1ncmFudC1hY2Nlc3MtdGhlbi1uYXZpZ2F0ZS1zYW1lLXNpdGUtc2hv
dWxkLWhhdmUtYWNjZXNzLWRhdGFiYXNlLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IGNhYTM0Y2E1NThlZDA2OTRmOWY1NTgzNjQ3MjJlOTQyNTRkYTJjYTkuLjAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0
cy9zdG9yYWdlQWNjZXNzL3JlcXVlc3QtYW5kLWdyYW50LWFjY2Vzcy10aGVuLW5hdmlnYXRlLXNh
bWUtc2l0ZS1zaG91bGQtaGF2ZS1hY2Nlc3MtZGF0YWJhc2UuaHRtbAorKysgL2Rldi9udWxsCkBA
IC0xLDkxICswLDAgQEAKLTwhRE9DVFlQRSBodG1sPgotPGh0bWw+Ci08aGVhZD4KLSAgICA8c2Ny
aXB0IHNyYz0iL2pzLXRlc3QtcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgotICAgIDxz
Y3JpcHQgc3JjPSIvanMtdGVzdC1yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KLSAg
ICA8c2NyaXB0IHNyYz0iL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvcmVzb3VyY2VzL3V0aWwuanMi
Pjwvc2NyaXB0PgotICAgIDxzY3JpcHQ+Ci0gICAgICAgIGRlc2NyaXB0aW9uKCJUZXN0cyB0aGF0
IGEgY3Jvc3Mtb3JpZ2luIGlmcmFtZSBmcm9tIGEgcHJldmFsZW50IGRvbWFpbiB0aGF0IGlzIGdy
YW50ZWQgc3RvcmFnZSBhY2Nlc3MgYW5kIHRoZW4gbmF2aWdhdGVzIGl0c2VsZiBzYW1lLXNpdGUg
c3RpbGwgaGFzIHN0b3JhZ2UgYWNjZXNzLiIpOwotICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1
ZTsKLQotICAgICAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigibWVzc2FnZSIsIHJlY2VpdmVN
ZXNzYWdlLCBmYWxzZSk7Ci0KLSAgICAgICAgZnVuY3Rpb24gZmluaXNoVGVzdCgpIHsKLSAgICAg
ICAgICAgIHNldEVuYWJsZUZlYXR1cmUoZmFsc2UsIGZpbmlzaEpTVGVzdCk7Ci0gICAgICAgIH0K
LQotICAgICAgICBjb25zdCBleHBlY3RlZFBhc3NNZXNzYWdlcyA9IDI7Ci0gICAgICAgIHZhciBw
YXNzTWVzc2FnZXNSZWNlaXZlZCA9IDA7Ci0gICAgICAgIGZ1bmN0aW9uIHJlY2VpdmVNZXNzYWdl
KGV2ZW50KSB7Ci0gICAgICAgICAgICBpZiAoZXZlbnQub3JpZ2luID09PSAiaHR0cDovL2xvY2Fs
aG9zdDo4MDAwIikgewotICAgICAgICAgICAgICAgIGlmIChldmVudC5kYXRhLmluZGV4T2YoImRv
Y3VtZW50LmNvb2tpZSIpID09PSAwKSB7Ci0gICAgICAgICAgICAgICAgICAgIHRlc3RQYXNzZWQo
ZXZlbnQuZGF0YSk7Ci0gICAgICAgICAgICAgICAgfSBlbHNlIGlmIChldmVudC5kYXRhLmluZGV4
T2YoIlBBU1MiKSAhPT0gLTEpIHsKLSAgICAgICAgICAgICAgICAgICAgdGVzdFBhc3NlZChldmVu
dC5kYXRhLnJlcGxhY2UoIlBBU1MgIiwgIiIpKTsKLSAgICAgICAgICAgICAgICAgICAgcGFzc01l
c3NhZ2VzUmVjZWl2ZWQrKzsKLSAgICAgICAgICAgICAgICAgICAgaWYgKHBhc3NNZXNzYWdlc1Jl
Y2VpdmVkID49IGV4cGVjdGVkUGFzc01lc3NhZ2VzKQotICAgICAgICAgICAgICAgICAgICAgICAg
ZmluaXNoVGVzdCgpOwotICAgICAgICAgICAgICAgIH0gZWxzZSB7Ci0gICAgICAgICAgICAgICAg
ICAgIHRlc3RGYWlsZWQoZXZlbnQuZGF0YSk7Ci0gICAgICAgICAgICAgICAgICAgIGZpbmlzaFRl
c3QoKTsKLSAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICB9IGVsc2UgewotICAgICAgICAg
ICAgICAgIHRlc3RGYWlsZWQoIlJlY2VpdmVkIGEgbWVzc2FnZSBmcm9tIGFuIHVuZXhwZWN0ZWQg
b3JpZ2luOiAiICsgZXZlbnQub3JpZ2luKTsKLSAgICAgICAgICAgICAgICBmaW5pc2hUZXN0KCk7
Ci0gICAgICAgICAgICB9Ci0gICAgICAgIH0KLQotICAgICAgICBmdW5jdGlvbiBhY3RpdmF0ZUVs
ZW1lbnQoZWxlbWVudElkKSB7Ci0gICAgICAgICAgICB2YXIgZWxlbWVudCA9IGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKGVsZW1lbnRJZCk7Ci0gICAgICAgICAgICB2YXIgY2VudGVyWCA9IGVsZW1l
bnQub2Zmc2V0TGVmdCArIGVsZW1lbnQub2Zmc2V0V2lkdGggLyAyOwotICAgICAgICAgICAgdmFy
IGNlbnRlclkgPSBlbGVtZW50Lm9mZnNldFRvcCArIGVsZW1lbnQub2Zmc2V0SGVpZ2h0IC8gMjsK
LSAgICAgICAgICAgIFVJSGVscGVyLmFjdGl2YXRlQXQoY2VudGVyWCwgY2VudGVyWSkudGhlbigK
LSAgICAgICAgICAgICAgICBmdW5jdGlvbiAoKSB7Ci0gICAgICAgICAgICAgICAgICAgIGlmICh3
aW5kb3cuZXZlbnRTZW5kZXIpCi0gICAgICAgICAgICAgICAgICAgICAgICBldmVudFNlbmRlci5r
ZXlEb3duKCJlc2NhcGUiKTsKLSAgICAgICAgICAgICAgICAgICAgZWxzZSB7Ci0gICAgICAgICAg
ICAgICAgICAgICAgICB0ZXN0RmFpbGVkKCJObyBldmVudFNlbmRlci4iKTsKLSAgICAgICAgICAg
ICAgICAgICAgICAgIGZpbmlzaFRlc3QoKTsKLSAgICAgICAgICAgICAgICAgICAgfQotICAgICAg
ICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgZnVuY3Rpb24gKCkgewotICAgICAgICAgICAg
ICAgICAgICB0ZXN0RmFpbGVkKCJQcm9taXNlIHJlamVjdGVkLiIpOwotICAgICAgICAgICAgICAg
ICAgICBmaW5pc2hUZXN0KCk7Ci0gICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgKTsKLSAg
ICAgICAgfQotCi0gICAgICAgIGZ1bmN0aW9uIHJ1blRlc3QoKSB7Ci0gICAgICAgICAgICBhY3Rp
dmF0ZUVsZW1lbnQoIlRoZUlmcmFtZVRoYXRSZXF1ZXN0c1N0b3JhZ2VBY2Nlc3MiKTsKLSAgICAg
ICAgfQotCi0gICAgICAgIGNvbnN0IGhvc3RVbmRlclRlc3QgPSAibG9jYWxob3N0OjgwMDAiOwot
ICAgICAgICBjb25zdCBzdGF0aXN0aWNzVXJsID0gImh0dHA6Ly8iICsgaG9zdFVuZGVyVGVzdDsK
LSAgICAgICAgdGVzdFJ1bm5lci5zZXRVc2VJVFBEYXRhYmFzZSh0cnVlKTsKLSAgICAgICAgaWYg
KGRvY3VtZW50LmxvY2F0aW9uLmhhc2ggIT09ICIjZmlyc3RQYXJ0eUNvb2tpZVNldCIpIHsKLSAg
ICAgICAgICAgIHNldEVuYWJsZUZlYXR1cmUodHJ1ZSwgZnVuY3Rpb24oKSB7Ci0gICAgICAgICAg
ICAgICAgZG9jdW1lbnQubG9jYXRpb24uaHJlZiA9IHN0YXRpc3RpY3NVcmwgKyAiL3N0b3JhZ2VB
Y2Nlc3MvcmVzb3VyY2VzL3NldC1jb29raWUucGhwP25hbWU9Zmlyc3RQYXJ0eUNvb2tpZSZ2YWx1
ZT12YWx1ZSNodHRwOi8vMTI3LjAuMC4xOjgwMDAvc3RvcmFnZUFjY2Vzcy9yZXF1ZXN0LWFuZC1n
cmFudC1hY2Nlc3MtdGhlbi1uYXZpZ2F0ZS1zYW1lLXNpdGUtc2hvdWxkLWhhdmUtYWNjZXNzLWRh
dGFiYXNlLmh0bWwjZmlyc3RQYXJ0eUNvb2tpZVNldCI7Ci0gICAgICAgICAgICB9KTsKLSAgICAg
ICAgfSBlbHNlIHsKLSAgICAgICAgICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc1ByZXZhbGVu
dFJlc291cmNlKHN0YXRpc3RpY3NVcmwsIHRydWUsIGZ1bmN0aW9uKCkgewotICAgICAgICAgICAg
ICAgIGlmICghdGVzdFJ1bm5lci5pc1N0YXRpc3RpY3NQcmV2YWxlbnRSZXNvdXJjZShzdGF0aXN0
aWNzVXJsKSkKLSAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZCgiSG9zdCBkaWQgbm90IGdl
dCBzZXQgYXMgcHJldmFsZW50IHJlc291cmNlLiIpOwotICAgICAgICAgICAgICAgIHRlc3RSdW5u
ZXIuc2V0U3RhdGlzdGljc0hhc0hhZFVzZXJJbnRlcmFjdGlvbihzdGF0aXN0aWNzVXJsLCB0cnVl
LCBmdW5jdGlvbigpIHsKLSAgICAgICAgICAgICAgICAgICAgaWYgKCF0ZXN0UnVubmVyLmlzU3Rh
dGlzdGljc0hhc0hhZFVzZXJJbnRlcmFjdGlvbihzdGF0aXN0aWNzVXJsKSkKLSAgICAgICAgICAg
ICAgICAgICAgICAgIHRlc3RGYWlsZWQoIkhvc3QgZGlkIG5vdCBnZXQgbG9nZ2VkIGZvciB1c2Vy
IGludGVyYWN0aW9uLiIpOwotICAgICAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLnN0YXRpc3Rp
Y3NVcGRhdGVDb29raWVCbG9ja2luZyhmdW5jdGlvbigpIHsKLSAgICAgICAgICAgICAgICAgICAg
ICAgIGxldCBpZnJhbWVFbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiaWZyYW1lIik7
Ci0gICAgICAgICAgICAgICAgICAgICAgICBpZnJhbWVFbGVtZW50LnNldEF0dHJpYnV0ZSgic2Fu
ZGJveCIsICJhbGxvdy1zdG9yYWdlLWFjY2Vzcy1ieS11c2VyLWFjdGl2YXRpb24gYWxsb3ctc2Ny
aXB0cyBhbGxvdy1zYW1lLW9yaWdpbiBhbGxvdy1tb2RhbHMiKTsKLSAgICAgICAgICAgICAgICAg
ICAgICAgIGlmcmFtZUVsZW1lbnQub25sb2FkID0gcnVuVGVzdDsKLSAgICAgICAgICAgICAgICAg
ICAgICAgIGlmcmFtZUVsZW1lbnQuaWQgPSAiVGhlSWZyYW1lVGhhdFJlcXVlc3RzU3RvcmFnZUFj
Y2VzcyI7Ci0gICAgICAgICAgICAgICAgICAgICAgICBpZnJhbWVFbGVtZW50LnNyYyA9ICJodHRw
Oi8vbG9jYWxob3N0OjgwMDAvc3RvcmFnZUFjY2Vzcy9yZXNvdXJjZXMvc2VsZi1uYXZpZ2F0aW5n
LWZyYW1lLWFmdGVyLWdyYW50ZWQtYWNjZXNzLmh0bWwjdXNlclNob3VsZEdyYW50QWNjZXNzLHVz
ZXJTaG91bGRCZUNvbnN1bHRlZCxwb2xpY3lTaG91bGRHcmFudEFjY2VzcyxzYW1lU2l0ZU5hdmln
YXRpb24iOwotICAgICAgICAgICAgICAgICAgICAgICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGls
ZChpZnJhbWVFbGVtZW50KTsKLSAgICAgICAgICAgICAgICAgICAgfSk7Ci0gICAgICAgICAgICAg
ICAgfSk7Ci0gICAgICAgICAgICB9KTsKLSAgICAgICAgfQotICAgIDwvc2NyaXB0PgotPC9oZWFk
PgotPGJvZHk+Ci08L2JvZHk+Ci08L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL3N0b3JhZ2VBY2Nlc3MvcmVxdWVzdC1zdG9yYWdlLWFjY2Vzcy1jcmFzaC1kYXRhYmFz
ZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3N0b3JhZ2VBY2Nlc3MvcmVx
dWVzdC1zdG9yYWdlLWFjY2Vzcy1jcmFzaC1kYXRhYmFzZS1leHBlY3RlZC50eHQKZGVsZXRlZCBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IGI3ZDk5MDM5NWU4ZGNhZTM3MzBiOWYzYzE3ZmI1NWUxOGRh
OGZhOGYuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy9zdG9yYWdlQWNjZXNzL3JlcXVlc3Qtc3RvcmFnZS1hY2Nlc3Mt
Y3Jhc2gtZGF0YWJhc2UtZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEsNSArMCwwIEBA
Ci1UZXN0IHRoYXQgcmVxdWVzdGluZyBzdG9yYWdlIGFjY2VzcyBBUEkgb24gYSBkZXRhY2hlZCBm
cmFtZSBkb2Vzbid0IGNyYXNoLgotCi1bb2JqZWN0IEhUTUxEb2N1bWVudF0KLVNVQ0NFU1M6IERp
ZCBub3QgY3Jhc2guCi0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc3RvcmFn
ZUFjY2Vzcy9yZXF1ZXN0LXN0b3JhZ2UtYWNjZXNzLWNyYXNoLWRhdGFiYXNlLmh0bWwgYi9MYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL3N0b3JhZ2VBY2Nlc3MvcmVxdWVzdC1zdG9yYWdlLWFjY2Vzcy1j
cmFzaC1kYXRhYmFzZS5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA4ZjcwM2Vm
NTQwMWE4NDdmMjcxYjI5ZDY5YjEzOWE0YzlmYjNlMjEwLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc3RvcmFnZUFj
Y2Vzcy9yZXF1ZXN0LXN0b3JhZ2UtYWNjZXNzLWNyYXNoLWRhdGFiYXNlLmh0bWwKKysrIC9kZXYv
bnVsbApAQCAtMSwzNyArMCwwIEBACi08IURPQ1RZUEUgaHRtbD4KLTxodG1sPgotPGhlYWQ+Ci0g
ICAgPHNjcmlwdD4KLSAgICBmdW5jdGlvbiBkZWJ1ZyhzdHIpIHsKLSAgICAgICAgdmFyIGMgPSBk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29uc29sZSIpCi0gICAgICAgIGMuaW5uZXJIVE1MICs9
IChzdHIgKyAiPGJyPiIpCi0gICAgfQotCi0gICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7Ci0g
ICAgICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOwotICAgICAgICB0ZXN0UnVubmVyLndhaXRV
bnRpbERvbmUoKTsKLSAgICB9Ci0KLSAgICBmdW5jdGlvbiBydW5UZXN0KCkgewotICAgICAgICB0
ZXN0UnVubmVyLnNldFVzZUlUUERhdGFiYXNlKHRydWUpOwotICAgICAgICB2YXIgdGVzdERpdiA9
IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ0ZXN0Iik7Ci0gICAgICAgIHZhciB0ZXN0RnJhbWUg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJpZnJhbWUiKTsKLSAgICAgICAgdGVzdERpdi5hcHBl
bmRDaGlsZCh0ZXN0RnJhbWUpOwotICAgICAgICB2YXIgdGVzdEZyYW1lRG9jdW1lbnQgPSB0ZXN0
RnJhbWUuY29udGVudERvY3VtZW50OwotICAgICAgICB0ZXN0RnJhbWUub3V0ZXJIVE1MID0gdGVz
dEZyYW1lRG9jdW1lbnQ7Ci0KLSAgICAgICAgdGVzdEZyYW1lRG9jdW1lbnQucmVxdWVzdFN0b3Jh
Z2VBY2Nlc3MoKTsKLQotICAgICAgICBkZWJ1ZygiU1VDQ0VTUzogRGlkIG5vdCBjcmFzaC4iKQot
ICAgICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpCi0gICAgICAgICAgICB0ZXN0UnVubmVyLm5v
dGlmeURvbmUoKTsKLSAgICB9Ci0gICAgPC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keSBvbmxvYWQ9
InJ1blRlc3QoKSI+Ci0gICAgPGRpdiBpZD0idGVzdCI+Ci0gICAgICAgIDxwPlRlc3QgdGhhdCBy
ZXF1ZXN0aW5nIHN0b3JhZ2UgYWNjZXNzIEFQSSBvbiBhIGRldGFjaGVkIGZyYW1lIGRvZXNuJ3Qg
Y3Jhc2guPC9wPgotICAgIDwvZGl2PgotICAgIDxwcmUgaWQ9ImNvbnNvbGUiPjwvcHJlPgotPC9i
b2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zdG9yYWdl
QWNjZXNzL3JlcXVlc3Qtc3RvcmFnZS1hY2Nlc3MtY3Jvc3Mtb3JpZ2luLXNhbmRib3hlZC1pZnJh
bWUtd2l0aC11bmlxdWUtb3JpZ2luLWRhdGFiYXNlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2h0dHAvdGVzdHMvc3RvcmFnZUFjY2Vzcy9yZXF1ZXN0LXN0b3JhZ2UtYWNjZXNzLWNyb3NzLW9y
aWdpbi1zYW5kYm94ZWQtaWZyYW1lLXdpdGgtdW5pcXVlLW9yaWdpbi1kYXRhYmFzZS1leHBlY3Rl
ZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDQxOTc2NDY4NDEwMTMwYjg2Njc5
MThlZDY5MjhlYzhjYjYwN2FkYWMuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zdG9yYWdlQWNjZXNzL3JlcXVlc3Qt
c3RvcmFnZS1hY2Nlc3MtY3Jvc3Mtb3JpZ2luLXNhbmRib3hlZC1pZnJhbWUtd2l0aC11bmlxdWUt
b3JpZ2luLWRhdGFiYXNlLWV4cGVjdGVkLnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDEwICswLDAg
QEAKLVRlc3RzIHRoYXQgY3Jvc3Mtb3JpZ2luIGlmcmFtZSBzdG9yYWdlIGFjY2VzcyBpcyBkZW5p
ZWQgaWYgdGhlIGlmcmFtZSBpcyBzYW5kYm94ZWQgYW5kIGhhcyB0aGUgdW5pcXVlIG9yaWdpbiBi
ZWNhdXNlIGl0IGxhY2tzIHRoZSBhbGxvdy1zYW1lLW9yaWdpbiB0b2tlbi4KLQotT24gc3VjY2Vz
cywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkg
IlRFU1QgQ09NUExFVEUiLgotCi0KLVBBU1MgU3RvcmFnZSBhY2Nlc3Mgd2FzIGRlbmllZCBmb3Ig
b3JpZ2luIG51bGwuCi1QQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCi0KLVRFU1QgQ09N
UExFVEUKLQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zdG9yYWdlQWNjZXNz
L3JlcXVlc3Qtc3RvcmFnZS1hY2Nlc3MtY3Jvc3Mtb3JpZ2luLXNhbmRib3hlZC1pZnJhbWUtd2l0
aC11bmlxdWUtb3JpZ2luLWRhdGFiYXNlLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3N0
b3JhZ2VBY2Nlc3MvcmVxdWVzdC1zdG9yYWdlLWFjY2Vzcy1jcm9zcy1vcmlnaW4tc2FuZGJveGVk
LWlmcmFtZS13aXRoLXVuaXF1ZS1vcmlnaW4tZGF0YWJhc2UuaHRtbApkZWxldGVkIGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggOTMwMTNhNjhlODk1NzUwZTQ4ZmZiNTFlMTMwYzFiNzI1ZjYwN2UwMC4u
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL3N0b3JhZ2VBY2Nlc3MvcmVxdWVzdC1zdG9yYWdlLWFjY2Vzcy1jcm9zcy1v
cmlnaW4tc2FuZGJveGVkLWlmcmFtZS13aXRoLXVuaXF1ZS1vcmlnaW4tZGF0YWJhc2UuaHRtbAor
KysgL2Rldi9udWxsCkBAIC0xLDU1ICswLDAgQEAKLTwhRE9DVFlQRSBodG1sPgotPGh0bWw+Ci08
aGVhZD4KLSAgICA8c2NyaXB0IHNyYz0iL2pzLXRlc3QtcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwv
c2NyaXB0PgotICAgIDxzY3JpcHQgc3JjPSIvanMtdGVzdC1yZXNvdXJjZXMvdWktaGVscGVyLmpz
Ij48L3NjcmlwdD4KLSAgICA8c2NyaXB0IHNyYz0iL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvcmVz
b3VyY2VzL3V0aWwuanMiPjwvc2NyaXB0PgotICAgIDxzY3JpcHQ+Ci0gICAgICAgIGRlc2NyaXB0
aW9uKCJUZXN0cyB0aGF0IGNyb3NzLW9yaWdpbiBpZnJhbWUgc3RvcmFnZSBhY2Nlc3MgaXMgZGVu
aWVkIGlmIHRoZSBpZnJhbWUgaXMgc2FuZGJveGVkIGFuZCBoYXMgdGhlIHVuaXF1ZSBvcmlnaW4g
YmVjYXVzZSBpdCBsYWNrcyB0aGUgYWxsb3ctc2FtZS1vcmlnaW4gdG9rZW4uIik7Ci0gICAgICAg
IGpzVGVzdElzQXN5bmMgPSB0cnVlOwotCi0gICAgICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVy
KCJtZXNzYWdlIiwgcmVjZWl2ZU1lc3NhZ2UsIGZhbHNlKTsKLQotICAgICAgICBmdW5jdGlvbiBy
ZWNlaXZlTWVzc2FnZShldmVudCkgewotICAgICAgICAgICAgaWYgKGV2ZW50Lm9yaWdpbiA9PT0g
Im51bGwiKSB7Ci0gICAgICAgICAgICAgICAgaWYgKGV2ZW50LmRhdGEuaW5kZXhPZigiUEFTUyIp
ICE9PSAtMSkKLSAgICAgICAgICAgICAgICAgICAgdGVzdFBhc3NlZChldmVudC5kYXRhLnJlcGxh
Y2UoIlBBU1MgIiwgIiIpKTsKLSAgICAgICAgICAgICAgICBlbHNlCi0gICAgICAgICAgICAgICAg
ICAgIHRlc3RGYWlsZWQoZXZlbnQuZGF0YS5yZXBsYWNlKCJGQUlMICIsICIiKSk7Ci0gICAgICAg
ICAgICB9IGVsc2UKLSAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKCJSZWNlaXZlZCBhIG1lc3Nh
Z2UgZnJvbSBhbiB1bmV4cGVjdGVkIG9yaWdpbjogIiArIGV2ZW50Lm9yaWdpbik7Ci0gICAgICAg
ICAgICBzZXRFbmFibGVGZWF0dXJlKGZhbHNlLCBmaW5pc2hKU1Rlc3QpOwotICAgICAgICB9Ci0K
LSAgICAgICAgZnVuY3Rpb24gYWN0aXZhdGVFbGVtZW50KGVsZW1lbnRJZCkgewotICAgICAgICAg
ICAgdmFyIGVsZW1lbnQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChlbGVtZW50SWQpOwotICAg
ICAgICAgICAgdmFyIGNlbnRlclggPSBlbGVtZW50Lm9mZnNldExlZnQgKyBlbGVtZW50Lm9mZnNl
dFdpZHRoIC8gMjsKLSAgICAgICAgICAgIHZhciBjZW50ZXJZID0gZWxlbWVudC5vZmZzZXRUb3Ag
KyBlbGVtZW50Lm9mZnNldEhlaWdodCAvIDI7Ci0gICAgICAgICAgICBVSUhlbHBlci5hY3RpdmF0
ZUF0KGNlbnRlclgsIGNlbnRlclkpLnRoZW4oCi0gICAgICAgICAgICAgICAgZnVuY3Rpb24gKCkg
ewotICAgICAgICAgICAgICAgICAgICBpZiAod2luZG93LmV2ZW50U2VuZGVyKQotICAgICAgICAg
ICAgICAgICAgICAgICAgZXZlbnRTZW5kZXIua2V5RG93bigiZXNjYXBlIik7Ci0gICAgICAgICAg
ICAgICAgICAgIGVsc2UgewotICAgICAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZCgiTm8g
ZXZlbnRTZW5kZXIuIik7Ci0gICAgICAgICAgICAgICAgICAgICAgICBzZXRFbmFibGVGZWF0dXJl
KGZhbHNlLCBmaW5pc2hKU1Rlc3QpOwotICAgICAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAg
ICAgICAgfSwKLSAgICAgICAgICAgICAgICBmdW5jdGlvbiAoKSB7Ci0gICAgICAgICAgICAgICAg
ICAgIHRlc3RGYWlsZWQoIlByb21pc2UgcmVqZWN0ZWQuIik7Ci0gICAgICAgICAgICAgICAgICAg
IHNldEVuYWJsZUZlYXR1cmUoZmFsc2UsIGZpbmlzaEpTVGVzdCk7Ci0gICAgICAgICAgICAgICAg
fQotICAgICAgICAgICAgKTsKLSAgICAgICAgfQotCi0gICAgICAgIGZ1bmN0aW9uIHJ1blRlc3Qo
KSB7Ci0gICAgICAgICAgICB0ZXN0UnVubmVyLnNldFVzZUlUUERhdGFiYXNlKHRydWUpOwotICAg
ICAgICAgICAgc2V0RW5hYmxlRmVhdHVyZSh0cnVlLCBmdW5jdGlvbigpIHsKLSAgICAgICAgICAg
ICAgICBhY3RpdmF0ZUVsZW1lbnQoIlRoZUlmcmFtZVRoYXRSZXF1ZXN0c1N0b3JhZ2VBY2Nlc3Mi
KTsKLSAgICAgICAgICAgIH0pOwotICAgICAgICB9Ci0gICAgPC9zY3JpcHQ+Ci08L2hlYWQ+Ci08
Ym9keT4KLSAgICA8aWZyYW1lIHNhbmRib3g9ImFsbG93LXN0b3JhZ2UtYWNjZXNzLWJ5LXVzZXIt
YWN0aXZhdGlvbiBhbGxvdy1zY3JpcHRzIGFsbG93LW1vZGFscyIgb25sb2FkPSJydW5UZXN0KCki
IGlkPSJUaGVJZnJhbWVUaGF0UmVxdWVzdHNTdG9yYWdlQWNjZXNzIiBzcmM9Imh0dHA6Ly9sb2Nh
bGhvc3Q6ODAwMC9zdG9yYWdlQWNjZXNzL3Jlc291cmNlcy9yZXF1ZXN0LXN0b3JhZ2UtYWNjZXNz
LWlmcmFtZS5odG1sI3VzZXJTaG91bGRHcmFudEFjY2Vzcyx1c2VyU2hvdWxkTm90QmVDb25zdWx0
ZWQscG9saWN5U2hvdWxkRGVueUFjY2Vzcyxpc05vdFNhbWVPcmlnaW5JZnJhbWUsb3JpZ2luSXNO
dWxsIj48L2lmcmFtZT4KLTwvYm9keT4KLTwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2h0dHAvdGVzdHMvc3RvcmFnZUFjY2Vzcy9yZXF1ZXN0LXN0b3JhZ2UtYWNjZXNzLWNyb3NzLW9y
aWdpbi1zYW5kYm94ZWQtaWZyYW1lLXdpdGhvdXQtYWxsb3ctdG9rZW4tZGF0YWJhc2UtZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zdG9yYWdlQWNjZXNzL3JlcXVlc3Qtc3Rv
cmFnZS1hY2Nlc3MtY3Jvc3Mtb3JpZ2luLXNhbmRib3hlZC1pZnJhbWUtd2l0aG91dC1hbGxvdy10
b2tlbi1kYXRhYmFzZS1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IGM1MTljN2U5MWIwNDQwMDJkYzhlYTMwYzlmNWExYmVmMDNlYWFhM2YuLjAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9z
dG9yYWdlQWNjZXNzL3JlcXVlc3Qtc3RvcmFnZS1hY2Nlc3MtY3Jvc3Mtb3JpZ2luLXNhbmRib3hl
ZC1pZnJhbWUtd2l0aG91dC1hbGxvdy10b2tlbi1kYXRhYmFzZS1leHBlY3RlZC50eHQKKysrIC9k
ZXYvbnVsbApAQCAtMSwxMCArMCwwIEBACi1UZXN0cyB0aGF0IGNyb3NzLW9yaWdpbiBpZnJhbWUg
c3RvcmFnZSBhY2Nlc3MgaXMgZGVuaWVkIGlmIHRoZSBpZnJhbWUgaXMgc2FuZGJveGVkIGFuZCBk
b2Vzbid0IGhhdmUgdGhlIGFsbG93IHRva2VuLgotCi1PbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUg
YSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIu
Ci0KLQotUEFTUyBTdG9yYWdlIGFjY2VzcyB3YXMgZGVuaWVkLiBkb2N1bWVudC5jb29raWUgPT0g
LCBjb29raWVzIHNlZW4gc2VydmVyLXNpZGUgPT0gIk5vIGNvb2tpZXMiCi1QQVNTIHN1Y2Nlc3Nm
dWxseVBhcnNlZCBpcyB0cnVlCi0KLVRFU1QgQ09NUExFVEUKLQpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy9zdG9yYWdlQWNjZXNzL3JlcXVlc3Qtc3RvcmFnZS1hY2Nlc3MtY3Jv
c3Mtb3JpZ2luLXNhbmRib3hlZC1pZnJhbWUtd2l0aG91dC1hbGxvdy10b2tlbi1kYXRhYmFzZS5o
dG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zdG9yYWdlQWNjZXNzL3JlcXVlc3Qtc3RvcmFn
ZS1hY2Nlc3MtY3Jvc3Mtb3JpZ2luLXNhbmRib3hlZC1pZnJhbWUtd2l0aG91dC1hbGxvdy10b2tl
bi1kYXRhYmFzZS5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBiOWM3ZmQwZmJl
ZjhhMDg0MGQyNGZmODIwZWY4MTMyNmEzNDM0YjlmLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc3RvcmFnZUFjY2Vz
cy9yZXF1ZXN0LXN0b3JhZ2UtYWNjZXNzLWNyb3NzLW9yaWdpbi1zYW5kYm94ZWQtaWZyYW1lLXdp
dGhvdXQtYWxsb3ctdG9rZW4tZGF0YWJhc2UuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDc0ICsw
LDAgQEAKLTwhRE9DVFlQRSBodG1sPgotPGh0bWw+Ci08aGVhZD4KLSAgICA8c2NyaXB0IHNyYz0i
L2pzLXRlc3QtcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgotICAgIDxzY3JpcHQgc3Jj
PSIvanMtdGVzdC1yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KLSAgICA8c2NyaXB0
IHNyYz0iL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvcmVzb3VyY2VzL3V0aWwuanMiPjwvc2NyaXB0
PgotICAgIDxzY3JpcHQ+Ci0gICAgICAgIGRlc2NyaXB0aW9uKCJUZXN0cyB0aGF0IGNyb3NzLW9y
aWdpbiBpZnJhbWUgc3RvcmFnZSBhY2Nlc3MgaXMgZGVuaWVkIGlmIHRoZSBpZnJhbWUgaXMgc2Fu
ZGJveGVkIGFuZCBkb2Vzbid0IGhhdmUgdGhlIGFsbG93IHRva2VuLiIpOwotICAgICAgICBqc1Rl
c3RJc0FzeW5jID0gdHJ1ZTsKLQotICAgICAgICBjb25zdCBob3N0VW5kZXJUZXN0ID0gImxvY2Fs
aG9zdDo4MDAwIjsKLSAgICAgICAgY29uc3Qgc3RhdGlzdGljc1VybCA9ICJodHRwOi8vIiArIGhv
c3RVbmRlclRlc3QgKyAiL3RlbXAiOwotCi0gICAgICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVy
KCJtZXNzYWdlIiwgcmVjZWl2ZU1lc3NhZ2UsIGZhbHNlKTsKLQotICAgICAgICBmdW5jdGlvbiBy
ZWNlaXZlTWVzc2FnZShldmVudCkgewotICAgICAgICAgICAgaWYgKGV2ZW50Lm9yaWdpbiA9PT0g
Imh0dHA6Ly9sb2NhbGhvc3Q6ODAwMCIpIHsKLSAgICAgICAgICAgICAgICBpZiAoZXZlbnQuZGF0
YS5pbmRleE9mKCJQQVNTIikgIT09IC0xKQotICAgICAgICAgICAgICAgICAgICB0ZXN0UGFzc2Vk
KGV2ZW50LmRhdGEucmVwbGFjZSgiUEFTUyAiLCAiIikpOwotICAgICAgICAgICAgICAgIGVsc2UK
LSAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChldmVudC5kYXRhLnJlcGxhY2UoIkZBSUwg
IiwgIiIpKTsKLSAgICAgICAgICAgIH0gZWxzZQotICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQo
IlJlY2VpdmVkIGEgbWVzc2FnZSBmcm9tIGFuIHVuZXhwZWN0ZWQgb3JpZ2luOiAiICsgZXZlbnQu
b3JpZ2luKTsKLSAgICAgICAgICAgIHNldEVuYWJsZUZlYXR1cmUoZmFsc2UsIGZpbmlzaEpTVGVz
dCk7Ci0gICAgICAgIH0KLQotICAgICAgICBmdW5jdGlvbiBhY3RpdmF0ZUVsZW1lbnQoZWxlbWVu
dElkKSB7Ci0gICAgICAgICAgICB2YXIgZWxlbWVudCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KGVsZW1lbnRJZCk7Ci0gICAgICAgICAgICB2YXIgY2VudGVyWCA9IGVsZW1lbnQub2Zmc2V0TGVm
dCArIGVsZW1lbnQub2Zmc2V0V2lkdGggLyAyOwotICAgICAgICAgICAgdmFyIGNlbnRlclkgPSBl
bGVtZW50Lm9mZnNldFRvcCArIGVsZW1lbnQub2Zmc2V0SGVpZ2h0IC8gMjsKLSAgICAgICAgICAg
IFVJSGVscGVyLmFjdGl2YXRlQXQoY2VudGVyWCwgY2VudGVyWSkudGhlbigKLSAgICAgICAgICAg
ICAgICBmdW5jdGlvbiAoKSB7Ci0gICAgICAgICAgICAgICAgICAgIGlmICh3aW5kb3cuZXZlbnRT
ZW5kZXIpCi0gICAgICAgICAgICAgICAgICAgICAgICBldmVudFNlbmRlci5rZXlEb3duKCJlc2Nh
cGUiKTsKLSAgICAgICAgICAgICAgICAgICAgZWxzZSB7Ci0gICAgICAgICAgICAgICAgICAgICAg
ICB0ZXN0RmFpbGVkKCJObyBldmVudFNlbmRlci4iKTsKLSAgICAgICAgICAgICAgICAgICAgICAg
IHNldEVuYWJsZUZlYXR1cmUoZmFsc2UsIGZpbmlzaEpTVGVzdCk7Ci0gICAgICAgICAgICAgICAg
ICAgIH0KLSAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgIGZ1bmN0aW9uICgpIHsK
LSAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZCgiUHJvbWlzZSByZWplY3RlZC4iKTsKLSAg
ICAgICAgICAgICAgICAgICAgc2V0RW5hYmxlRmVhdHVyZShmYWxzZSwgZmluaXNoSlNUZXN0KTsK
LSAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICApOwotICAgICAgICB9Ci0KLSAgICAgICAg
ZnVuY3Rpb24gcnVuVGVzdCgpIHsKLSAgICAgICAgICAgIHRlc3RSdW5uZXIuc2V0VXNlSVRQRGF0
YWJhc2UodHJ1ZSk7Ci0gICAgICAgICAgICBzZXRFbmFibGVGZWF0dXJlKHRydWUsIGZ1bmN0aW9u
KCkgewotICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc1ByZXZhbGVudFJl
c291cmNlKHN0YXRpc3RpY3NVcmwsIHRydWUsIGZ1bmN0aW9uKCkgewotICAgICAgICAgICAgICAg
ICAgICBpZiAoIXRlc3RSdW5uZXIuaXNTdGF0aXN0aWNzUHJldmFsZW50UmVzb3VyY2Uoc3RhdGlz
dGljc1VybCkpCi0gICAgICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKCJIb3N0IGRpZCBu
b3QgZ2V0IHNldCBhcyBwcmV2YWxlbnQgcmVzb3VyY2UuIik7Ci0gICAgICAgICAgICAgICAgICAg
IHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc0hhc0hhZFVzZXJJbnRlcmFjdGlvbihzdGF0aXN0aWNz
VXJsLCB0cnVlLCBmdW5jdGlvbigpIHsKLSAgICAgICAgICAgICAgICAgICAgICAgIGlmICghdGVz
dFJ1bm5lci5pc1N0YXRpc3RpY3NIYXNIYWRVc2VySW50ZXJhY3Rpb24oc3RhdGlzdGljc1VybCkp
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZCgiSG9zdCBkaWQgbm90IGdl
dCBsb2dnZWQgZm9yIHVzZXIgaW50ZXJhY3Rpb24uIik7Ci0gICAgICAgICAgICAgICAgICAgICAg
ICB0ZXN0UnVubmVyLnN0YXRpc3RpY3NVcGRhdGVDb29raWVCbG9ja2luZyhmdW5jdGlvbigpIHsK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZXQgaWZyYW1lRWxlbWVudCA9IGRvY3VtZW50
LmNyZWF0ZUVsZW1lbnQoImlmcmFtZSIpOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlm
cmFtZUVsZW1lbnQuc2V0QXR0cmlidXRlKCJzYW5kYm94IiwgImFsbG93LXNjcmlwdHMgYWxsb3ct
c2FtZS1vcmlnaW4gYWxsb3ctbW9kYWxzIik7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
aWZyYW1lRWxlbWVudC5vbmxvYWQgPSBmdW5jdGlvbigpIHsKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgYWN0aXZhdGVFbGVtZW50KCJUaGVJZnJhbWVUaGF0UmVxdWVzdHNTdG9yYWdl
QWNjZXNzIik7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgfTsKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBpZnJhbWVFbGVtZW50LmlkID0gIlRoZUlmcmFtZVRoYXRSZXF1ZXN0c1N0
b3JhZ2VBY2Nlc3MiOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmcmFtZUVsZW1lbnQu
c3JjID0gImh0dHA6Ly9sb2NhbGhvc3Q6ODAwMC9zdG9yYWdlQWNjZXNzL3Jlc291cmNlcy9yZXF1
ZXN0LXN0b3JhZ2UtYWNjZXNzLWlmcmFtZS5odG1sI3VzZXJTaG91bGRHcmFudEFjY2Vzcyx1c2Vy
U2hvdWxkTm90QmVDb25zdWx0ZWQscG9saWN5U2hvdWxkRGVueUFjY2Vzcyxpc05vdFNhbWVPcmln
aW5JZnJhbWUiOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRvY3VtZW50LmJvZHkuYXBw
ZW5kQ2hpbGQoaWZyYW1lRWxlbWVudCk7Ci0gICAgICAgICAgICAgICAgICAgICAgICB9KTsKLSAg
ICAgICAgICAgICAgICAgICAgfSk7Ci0gICAgICAgICAgICAgICAgfSk7Ci0gICAgICAgICAgICB9
KTsKLSAgICAgICAgfQotICAgIDwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHkgb25sb2FkPSJydW5U
ZXN0KCkiPgotPC9ib2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90
ZXN0cy9zdG9yYWdlQWNjZXNzL3JlcXVlc3Qtc3RvcmFnZS1hY2Nlc3MtY3Jvc3Mtb3JpZ2luLXNh
bmRib3hlZC1pZnJhbWUtd2l0aG91dC11c2VyLWdlc3R1cmUtZGF0YWJhc2UtZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zdG9yYWdlQWNjZXNzL3JlcXVlc3Qtc3RvcmFnZS1h
Y2Nlc3MtY3Jvc3Mtb3JpZ2luLXNhbmRib3hlZC1pZnJhbWUtd2l0aG91dC11c2VyLWdlc3R1cmUt
ZGF0YWJhc2UtZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAzNmM1
MjRhYzM4NGU1MTFhZWQyMDg2YjI2MjVhOTdlMjE5MWFiNzczLi4wMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc3RvcmFn
ZUFjY2Vzcy9yZXF1ZXN0LXN0b3JhZ2UtYWNjZXNzLWNyb3NzLW9yaWdpbi1zYW5kYm94ZWQtaWZy
YW1lLXdpdGhvdXQtdXNlci1nZXN0dXJlLWRhdGFiYXNlLWV4cGVjdGVkLnR4dAorKysgL2Rldi9u
dWxsCkBAIC0xLDEwICswLDAgQEAKLVRlc3RzIHRoYXQgY3Jvc3Mtb3JpZ2luIGlmcmFtZSBzdG9y
YWdlIGFjY2VzcyBpcyBkZW5pZWQgaWYgdGhlIGlmcmFtZSBpcyBzYW5kYm94ZWQsIGhhcyB0aGUg
YWxsb3cgdG9rZW4sIGJ1dCBjYWxscyB0aGUgQVBJIHdpdGhvdXQgYSB1c2VyIGdlc3R1cmUgYmVp
bmcgcHJvY2Vzc2VkLgotCi1PbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBB
U1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCi0KLQotUEFTUyBTdG9y
YWdlIGFjY2VzcyB3YXMgZGVuaWVkLgotUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQot
Ci1URVNUIENPTVBMRVRFCi0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc3Rv
cmFnZUFjY2Vzcy9yZXF1ZXN0LXN0b3JhZ2UtYWNjZXNzLWNyb3NzLW9yaWdpbi1zYW5kYm94ZWQt
aWZyYW1lLXdpdGhvdXQtdXNlci1nZXN0dXJlLWRhdGFiYXNlLmh0bWwgYi9MYXlvdXRUZXN0cy9o
dHRwL3Rlc3RzL3N0b3JhZ2VBY2Nlc3MvcmVxdWVzdC1zdG9yYWdlLWFjY2Vzcy1jcm9zcy1vcmln
aW4tc2FuZGJveGVkLWlmcmFtZS13aXRob3V0LXVzZXItZ2VzdHVyZS1kYXRhYmFzZS5odG1sCmRl
bGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAzYzMwZmUyZGZjZDE4MGE2YjEwZjZlM2JiNzQ5
NTkwNWYxNzI4YjZiLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0t
LSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc3RvcmFnZUFjY2Vzcy9yZXF1ZXN0LXN0b3JhZ2Ut
YWNjZXNzLWNyb3NzLW9yaWdpbi1zYW5kYm94ZWQtaWZyYW1lLXdpdGhvdXQtdXNlci1nZXN0dXJl
LWRhdGFiYXNlLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSw1MSArMCwwIEBACi08IURPQ1RZUEUg
aHRtbD4KLTxodG1sPgotPGhlYWQ+Ci0gICAgPHNjcmlwdCBzcmM9Ii9qcy10ZXN0LXJlc291cmNl
cy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KLSAgICA8c2NyaXB0IHNyYz0iL2pzLXRlc3QtcmVzb3Vy
Y2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Ci0gICAgPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZUxv
YWRTdGF0aXN0aWNzL3Jlc291cmNlcy91dGlsLmpzIj48L3NjcmlwdD4KLSAgICA8c2NyaXB0Pgot
ICAgICAgICBkZXNjcmlwdGlvbigiVGVzdHMgdGhhdCBjcm9zcy1vcmlnaW4gaWZyYW1lIHN0b3Jh
Z2UgYWNjZXNzIGlzIGRlbmllZCBpZiB0aGUgaWZyYW1lIGlzIHNhbmRib3hlZCwgaGFzIHRoZSBh
bGxvdyB0b2tlbiwgYnV0IGNhbGxzIHRoZSBBUEkgd2l0aG91dCBhIHVzZXIgZ2VzdHVyZSBiZWlu
ZyBwcm9jZXNzZWQuIik7Ci0gICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOwotCi0gICAgICAg
IGNvbnN0IGhvc3RVbmRlclRlc3QgPSAibG9jYWxob3N0OjgwMDAiOwotICAgICAgICBjb25zdCBz
dGF0aXN0aWNzVXJsID0gImh0dHA6Ly8iICsgaG9zdFVuZGVyVGVzdCArICIvdGVtcCI7Ci0KLSAg
ICAgICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoIm1lc3NhZ2UiLCByZWNlaXZlTWVzc2FnZSwg
ZmFsc2UpOwotCi0gICAgICAgIGZ1bmN0aW9uIHJlY2VpdmVNZXNzYWdlKGV2ZW50KSB7Ci0gICAg
ICAgICAgICBpZiAoZXZlbnQub3JpZ2luID09PSAiaHR0cDovL2xvY2FsaG9zdDo4MDAwIikgewot
ICAgICAgICAgICAgICAgIGlmIChldmVudC5kYXRhLmluZGV4T2YoIlBBU1MiKSAhPT0gLTEpCi0g
ICAgICAgICAgICAgICAgICAgIHRlc3RQYXNzZWQoZXZlbnQuZGF0YS5yZXBsYWNlKCJQQVNTICIs
ICIiKSk7Ci0gICAgICAgICAgICAgICAgZWxzZQotICAgICAgICAgICAgICAgICAgICB0ZXN0RmFp
bGVkKGV2ZW50LmRhdGEucmVwbGFjZSgiRkFJTCAiLCAiIikpOwotICAgICAgICAgICAgfSBlbHNl
Ci0gICAgICAgICAgICAgICAgdGVzdEZhaWxlZCgiUmVjZWl2ZWQgYSBtZXNzYWdlIGZyb20gYW4g
dW5leHBlY3RlZCBvcmlnaW46ICIgKyBldmVudC5vcmlnaW4pOwotICAgICAgICAgICAgc2V0RW5h
YmxlRmVhdHVyZShmYWxzZSwgZmluaXNoSlNUZXN0KTsKLSAgICAgICAgfQotCi0gICAgICAgIGZ1
bmN0aW9uIHJ1blRlc3QoKSB7Ci0gICAgICAgICAgICB0ZXN0UnVubmVyLnNldFVzZUlUUERhdGFi
YXNlKHRydWUpOwotICAgICAgICAgICAgc2V0RW5hYmxlRmVhdHVyZSh0cnVlLCBmdW5jdGlvbigp
IHsKLSAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NQcmV2YWxlbnRSZXNv
dXJjZShzdGF0aXN0aWNzVXJsLCB0cnVlLCBmdW5jdGlvbigpIHsKLSAgICAgICAgICAgICAgICAg
ICAgaWYgKCF0ZXN0UnVubmVyLmlzU3RhdGlzdGljc1ByZXZhbGVudFJlc291cmNlKHN0YXRpc3Rp
Y3NVcmwpKQotICAgICAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZCgiSG9zdCBkaWQgbm90
IGdldCBzZXQgYXMgcHJldmFsZW50IHJlc291cmNlLiIpOwotICAgICAgICAgICAgICAgICAgICB0
ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NIYXNIYWRVc2VySW50ZXJhY3Rpb24oc3RhdGlzdGljc1Vy
bCwgdHJ1ZSwgZnVuY3Rpb24oKSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICBpZiAoIXRlc3RS
dW5uZXIuaXNTdGF0aXN0aWNzSGFzSGFkVXNlckludGVyYWN0aW9uKHN0YXRpc3RpY3NVcmwpKQot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoIkhvc3QgZGlkIG5vdCBnZXQg
bG9nZ2VkIGZvciB1c2VyIGludGVyYWN0aW9uLiIpOwotICAgICAgICAgICAgICAgICAgICAgICAg
dGVzdFJ1bm5lci5zdGF0aXN0aWNzVXBkYXRlQ29va2llQmxvY2tpbmcoZnVuY3Rpb24oKSB7Ci0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgbGV0IGlmcmFtZUVsZW1lbnQgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KCJpZnJhbWUiKTsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZnJh
bWVFbGVtZW50LnNldEF0dHJpYnV0ZSgic2FuZGJveCIsICJhbGxvdy1zdG9yYWdlLWFjY2Vzcy1i
eS11c2VyLWFjdGl2YXRpb24gYWxsb3ctc2NyaXB0cyBhbGxvdy1zYW1lLW9yaWdpbiBhbGxvdy1t
b2RhbHMiKTsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZnJhbWVFbGVtZW50LmlkID0g
IlRoZUlmcmFtZVRoYXRSZXF1ZXN0c1N0b3JhZ2VBY2Nlc3MiOwotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGlmcmFtZUVsZW1lbnQuc3JjID0gImh0dHA6Ly9sb2NhbGhvc3Q6ODAwMC9zdG9y
YWdlQWNjZXNzL3Jlc291cmNlcy9yZXF1ZXN0LXN0b3JhZ2UtYWNjZXNzLXdpdGhvdXQtdXNlci1n
ZXN0dXJlLWlmcmFtZS5odG1sI3VzZXJTaG91bGRHcmFudEFjY2Vzcyx1c2VyU2hvdWxkTm90QmVD
b25zdWx0ZWQscG9saWN5U2hvdWxkTm90R3JhbnRBY2Nlc3MsaXNOb3RTYW1lT3JpZ2luSWZyYW1l
IjsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxk
KGlmcmFtZUVsZW1lbnQpOwotICAgICAgICAgICAgICAgICAgICAgICAgfSk7Ci0gICAgICAgICAg
ICAgICAgICAgIH0pOwotICAgICAgICAgICAgICAgIH0pOwotICAgICAgICAgICAgfSk7Ci0gICAg
ICAgIH0KLSAgICA8L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5IG9ubG9hZD0icnVuVGVzdCgpIj4K
LTwvYm9keT4KLTwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc3Rv
cmFnZUFjY2Vzcy9yZXF1ZXN0LXN0b3JhZ2UtYWNjZXNzLXNhbWUtb3JpZ2luLWlmcmFtZS1kYXRh
YmFzZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3N0b3JhZ2VBY2Nlc3Mv
cmVxdWVzdC1zdG9yYWdlLWFjY2Vzcy1zYW1lLW9yaWdpbi1pZnJhbWUtZGF0YWJhc2UtZXhwZWN0
ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBkZTRkYTg2NjJmOTY4ZDdhM2U2
NWU1MmI1MjY5ZDBkYmZkN2QwNzg1Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc3RvcmFnZUFjY2Vzcy9yZXF1ZXN0
LXN0b3JhZ2UtYWNjZXNzLXNhbWUtb3JpZ2luLWlmcmFtZS1kYXRhYmFzZS1leHBlY3RlZC50eHQK
KysrIC9kZXYvbnVsbApAQCAtMSwxMCArMCwwIEBACi1UZXN0cyB0aGF0IHNhbWUtb3JpZ2luIGlm
cmFtZSBzdG9yYWdlIGFjY2VzcyBpcyBncmFudGVkIGlmIHRoZSBpZnJhbWUgaXMgbm90IHNhbmRi
b3hlZC4KLQotT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNz
YWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgotCi0KLVBBU1MgU3RvcmFnZSBhY2Nl
c3Mgd2FzIGdyYW50ZWQuIGRvY3VtZW50LmNvb2tpZSA9PSAsIGNvb2tpZXMgc2VlbiBzZXJ2ZXIt
c2lkZSA9PSAiTm8gY29va2llcyIKLVBBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKLQot
VEVTVCBDT01QTEVURQotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3N0b3Jh
Z2VBY2Nlc3MvcmVxdWVzdC1zdG9yYWdlLWFjY2Vzcy1zYW1lLW9yaWdpbi1pZnJhbWUtZGF0YWJh
c2UuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc3RvcmFnZUFjY2Vzcy9yZXF1ZXN0LXN0
b3JhZ2UtYWNjZXNzLXNhbWUtb3JpZ2luLWlmcmFtZS1kYXRhYmFzZS5odG1sCmRlbGV0ZWQgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCA1ODgwYjVjODVhMjM0NmJkYTNiNjI5NDNiYThjNTM0MzE3YWEz
MjM2Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91
dFRlc3RzL2h0dHAvdGVzdHMvc3RvcmFnZUFjY2Vzcy9yZXF1ZXN0LXN0b3JhZ2UtYWNjZXNzLXNh
bWUtb3JpZ2luLWlmcmFtZS1kYXRhYmFzZS5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsNTUgKzAs
MCBAQAotPCFET0NUWVBFIGh0bWw+Ci08aHRtbD4KLTxoZWFkPgotICAgIDxzY3JpcHQgc3JjPSIv
anMtdGVzdC1yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+Ci0gICAgPHNjcmlwdCBzcmM9
Ii9qcy10ZXN0LXJlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgotICAgIDxzY3JpcHQg
c3JjPSIvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9yZXNvdXJjZXMvdXRpbC5qcyI+PC9zY3JpcHQ+
Ci0gICAgPHNjcmlwdD4KLSAgICAgICAgZGVzY3JpcHRpb24oIlRlc3RzIHRoYXQgc2FtZS1vcmln
aW4gaWZyYW1lIHN0b3JhZ2UgYWNjZXNzIGlzIGdyYW50ZWQgaWYgdGhlIGlmcmFtZSBpcyBub3Qg
c2FuZGJveGVkLiIpOwotICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKLQotICAgICAgICB3
aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigibWVzc2FnZSIsIHJlY2VpdmVNZXNzYWdlLCBmYWxzZSk7
Ci0KLSAgICAgICAgZnVuY3Rpb24gcmVjZWl2ZU1lc3NhZ2UoZXZlbnQpIHsKLSAgICAgICAgICAg
IGlmIChldmVudC5vcmlnaW4gPT09ICJodHRwOi8vMTI3LjAuMC4xOjgwMDAiKSB7Ci0gICAgICAg
ICAgICAgICAgaWYgKGV2ZW50LmRhdGEuaW5kZXhPZigiUEFTUyIpICE9PSAtMSkKLSAgICAgICAg
ICAgICAgICAgICAgdGVzdFBhc3NlZChldmVudC5kYXRhLnJlcGxhY2UoIlBBU1MgIiwgIiIpKTsK
LSAgICAgICAgICAgICAgICBlbHNlCi0gICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoZXZl
bnQuZGF0YS5yZXBsYWNlKCJGQUlMICIsICIiKSk7Ci0gICAgICAgICAgICB9IGVsc2UKLSAgICAg
ICAgICAgICAgICB0ZXN0RmFpbGVkKCJSZWNlaXZlZCBhIG1lc3NhZ2UgZnJvbSBhbiB1bmV4cGVj
dGVkIG9yaWdpbjogIiArIGV2ZW50Lm9yaWdpbik7Ci0gICAgICAgICAgICBzZXRFbmFibGVGZWF0
dXJlKGZhbHNlLCBmaW5pc2hKU1Rlc3QpOwotICAgICAgICB9Ci0KLSAgICAgICAgZnVuY3Rpb24g
YWN0aXZhdGVFbGVtZW50KGVsZW1lbnRJZCkgewotICAgICAgICAgICAgdmFyIGVsZW1lbnQgPSBk
b2N1bWVudC5nZXRFbGVtZW50QnlJZChlbGVtZW50SWQpOwotICAgICAgICAgICAgdmFyIGNlbnRl
clggPSBlbGVtZW50Lm9mZnNldExlZnQgKyBlbGVtZW50Lm9mZnNldFdpZHRoIC8gMjsKLSAgICAg
ICAgICAgIHZhciBjZW50ZXJZID0gZWxlbWVudC5vZmZzZXRUb3AgKyBlbGVtZW50Lm9mZnNldEhl
aWdodCAvIDI7Ci0gICAgICAgICAgICBVSUhlbHBlci5hY3RpdmF0ZUF0KGNlbnRlclgsIGNlbnRl
clkpLnRoZW4oCi0gICAgICAgICAgICAgICAgZnVuY3Rpb24gKCkgewotICAgICAgICAgICAgICAg
ICAgICBpZiAod2luZG93LmV2ZW50U2VuZGVyKQotICAgICAgICAgICAgICAgICAgICAgICAgZXZl
bnRTZW5kZXIua2V5RG93bigiZXNjYXBlIik7Ci0gICAgICAgICAgICAgICAgICAgIGVsc2Ugewot
ICAgICAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZCgiTm8gZXZlbnRTZW5kZXIuIik7Ci0g
ICAgICAgICAgICAgICAgICAgICAgICBzZXRFbmFibGVGZWF0dXJlKGZhbHNlLCBmaW5pc2hKU1Rl
c3QpOwotICAgICAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgfSwKLSAgICAgICAg
ICAgICAgICBmdW5jdGlvbiAoKSB7Ci0gICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoIlBy
b21pc2UgcmVqZWN0ZWQuIik7Ci0gICAgICAgICAgICAgICAgICAgIHNldEVuYWJsZUZlYXR1cmUo
ZmFsc2UsIGZpbmlzaEpTVGVzdCk7Ci0gICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgKTsK
LSAgICAgICAgfQotCi0gICAgICAgIGZ1bmN0aW9uIHJ1blRlc3QoKSB7Ci0gICAgICAgICAgICB0
ZXN0UnVubmVyLnNldFVzZUlUUERhdGFiYXNlKHRydWUpOwotICAgICAgICAgICAgc2V0RW5hYmxl
RmVhdHVyZSh0cnVlLCBmdW5jdGlvbigpIHsKLSAgICAgICAgICAgICAgICBhY3RpdmF0ZUVsZW1l
bnQoIlRoZUlmcmFtZVRoYXRSZXF1ZXN0c1N0b3JhZ2VBY2Nlc3MiKTsKLSAgICAgICAgICAgIH0p
OwotICAgICAgICB9Ci0gICAgPC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keT4KLSAgICA8aWZyYW1l
IG9ubG9hZD0icnVuVGVzdCgpIiBpZD0iVGhlSWZyYW1lVGhhdFJlcXVlc3RzU3RvcmFnZUFjY2Vz
cyIgc3JjPSJodHRwOi8vMTI3LjAuMC4xOjgwMDAvc3RvcmFnZUFjY2Vzcy9yZXNvdXJjZXMvcmVx
dWVzdC1zdG9yYWdlLWFjY2Vzcy1pZnJhbWUuaHRtbCN1c2VyU2hvdWxkRGVueUFjY2Vzcyx1c2Vy
U2hvdWxkTm90QmVDb25zdWx0ZWQscG9saWN5U2hvdWxkR3JhbnRBY2Nlc3MsaXNTYW1lT3JpZ2lu
SWZyYW1lIj48L2lmcmFtZT4KLTwvYm9keT4KLTwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2h0dHAvdGVzdHMvc3RvcmFnZUFjY2Vzcy9yZXF1ZXN0LXN0b3JhZ2UtYWNjZXNzLXNhbWUt
b3JpZ2luLXNhbmRib3hlZC1pZnJhbWUtZGF0YWJhc2UtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy9zdG9yYWdlQWNjZXNzL3JlcXVlc3Qtc3RvcmFnZS1hY2Nlc3Mtc2FtZS1v
cmlnaW4tc2FuZGJveGVkLWlmcmFtZS1kYXRhYmFzZS1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IGM1YjA4NTA5MjQ2NzIzZTc4ZjJhODFiMzE3ZWZlZTRhNWU4Njdi
MjEuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy9zdG9yYWdlQWNjZXNzL3JlcXVlc3Qtc3RvcmFnZS1hY2Nlc3Mtc2Ft
ZS1vcmlnaW4tc2FuZGJveGVkLWlmcmFtZS1kYXRhYmFzZS1leHBlY3RlZC50eHQKKysrIC9kZXYv
bnVsbApAQCAtMSwxMCArMCwwIEBACi1UZXN0cyB0aGF0IHNhbWUtb3JpZ2luIGlmcmFtZSBzdG9y
YWdlIGFjY2VzcyBpcyBncmFudGVkIGlmIHRoZSBpZnJhbWUgaXMgc2FuZGJveGVkIGFuZCBoYXMg
dGhlIGFsbG93IHRva2VuLgotCi1PbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2Yg
IlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCi0KLQotUEFTUyBT
dG9yYWdlIGFjY2VzcyB3YXMgZ3JhbnRlZC4gZG9jdW1lbnQuY29va2llID09ICwgY29va2llcyBz
ZWVuIHNlcnZlci1zaWRlID09ICJObyBjb29raWVzIgotUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQg
aXMgdHJ1ZQotCi1URVNUIENPTVBMRVRFCi0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAv
dGVzdHMvc3RvcmFnZUFjY2Vzcy9yZXF1ZXN0LXN0b3JhZ2UtYWNjZXNzLXNhbWUtb3JpZ2luLXNh
bmRib3hlZC1pZnJhbWUtZGF0YWJhc2UuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc3Rv
cmFnZUFjY2Vzcy9yZXF1ZXN0LXN0b3JhZ2UtYWNjZXNzLXNhbWUtb3JpZ2luLXNhbmRib3hlZC1p
ZnJhbWUtZGF0YWJhc2UuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNjJiMTcx
NWZmYjFhZGMwYmM2MDcxNjBiODEyZmNiZWI1YTNhNmI1My4uMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3N0b3JhZ2VB
Y2Nlc3MvcmVxdWVzdC1zdG9yYWdlLWFjY2Vzcy1zYW1lLW9yaWdpbi1zYW5kYm94ZWQtaWZyYW1l
LWRhdGFiYXNlLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSw1NSArMCwwIEBACi08IURPQ1RZUEUg
aHRtbD4KLTxodG1sPgotPGhlYWQ+Ci0gICAgPHNjcmlwdCBzcmM9Ii9qcy10ZXN0LXJlc291cmNl
cy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KLSAgICA8c2NyaXB0IHNyYz0iL2pzLXRlc3QtcmVzb3Vy
Y2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Ci0gICAgPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZUxv
YWRTdGF0aXN0aWNzL3Jlc291cmNlcy91dGlsLmpzIj48L3NjcmlwdD4KLSAgICA8c2NyaXB0Pgot
ICAgICAgICBkZXNjcmlwdGlvbigiVGVzdHMgdGhhdCBzYW1lLW9yaWdpbiBpZnJhbWUgc3RvcmFn
ZSBhY2Nlc3MgaXMgZ3JhbnRlZCBpZiB0aGUgaWZyYW1lIGlzIHNhbmRib3hlZCBhbmQgaGFzIHRo
ZSBhbGxvdyB0b2tlbi4iKTsKLSAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7Ci0KLSAgICAg
ICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoIm1lc3NhZ2UiLCByZWNlaXZlTWVzc2FnZSwgZmFs
c2UpOwotCi0gICAgICAgIGZ1bmN0aW9uIHJlY2VpdmVNZXNzYWdlKGV2ZW50KSB7Ci0gICAgICAg
ICAgICBpZiAoZXZlbnQub3JpZ2luID09PSAiaHR0cDovLzEyNy4wLjAuMTo4MDAwIikgewotICAg
ICAgICAgICAgICAgIGlmIChldmVudC5kYXRhLmluZGV4T2YoIlBBU1MiKSAhPT0gLTEpCi0gICAg
ICAgICAgICAgICAgICAgIHRlc3RQYXNzZWQoZXZlbnQuZGF0YS5yZXBsYWNlKCJQQVNTICIsICIi
KSk7Ci0gICAgICAgICAgICAgICAgZWxzZQotICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVk
KGV2ZW50LmRhdGEucmVwbGFjZSgiRkFJTCAiLCAiIikpOwotICAgICAgICAgICAgfSBlbHNlCi0g
ICAgICAgICAgICAgICAgdGVzdEZhaWxlZCgiUmVjZWl2ZWQgYSBtZXNzYWdlIGZyb20gYW4gdW5l
eHBlY3RlZCBvcmlnaW46ICIgKyBldmVudC5vcmlnaW4pOwotICAgICAgICAgICAgc2V0RW5hYmxl
RmVhdHVyZShmYWxzZSwgZmluaXNoSlNUZXN0KTsKLSAgICAgICAgfQotCi0gICAgICAgIGZ1bmN0
aW9uIGFjdGl2YXRlRWxlbWVudChlbGVtZW50SWQpIHsKLSAgICAgICAgICAgIHZhciBlbGVtZW50
ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoZWxlbWVudElkKTsKLSAgICAgICAgICAgIHZhciBj
ZW50ZXJYID0gZWxlbWVudC5vZmZzZXRMZWZ0ICsgZWxlbWVudC5vZmZzZXRXaWR0aCAvIDI7Ci0g
ICAgICAgICAgICB2YXIgY2VudGVyWSA9IGVsZW1lbnQub2Zmc2V0VG9wICsgZWxlbWVudC5vZmZz
ZXRIZWlnaHQgLyAyOwotICAgICAgICAgICAgVUlIZWxwZXIuYWN0aXZhdGVBdChjZW50ZXJYLCBj
ZW50ZXJZKS50aGVuKAotICAgICAgICAgICAgICAgIGZ1bmN0aW9uICgpIHsKLSAgICAgICAgICAg
ICAgICAgICAgaWYgKHdpbmRvdy5ldmVudFNlbmRlcikKLSAgICAgICAgICAgICAgICAgICAgICAg
IGV2ZW50U2VuZGVyLmtleURvd24oImVzY2FwZSIpOwotICAgICAgICAgICAgICAgICAgICBlbHNl
IHsKLSAgICAgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoIk5vIGV2ZW50U2VuZGVyLiIp
OwotICAgICAgICAgICAgICAgICAgICAgICAgc2V0RW5hYmxlRmVhdHVyZShmYWxzZSwgZmluaXNo
SlNUZXN0KTsKLSAgICAgICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgIH0sCi0gICAg
ICAgICAgICAgICAgZnVuY3Rpb24gKCkgewotICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVk
KCJQcm9taXNlIHJlamVjdGVkLiIpOwotICAgICAgICAgICAgICAgICAgICBzZXRFbmFibGVGZWF0
dXJlKGZhbHNlLCBmaW5pc2hKU1Rlc3QpOwotICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAg
ICk7Ci0gICAgICAgIH0KLQotICAgICAgICBmdW5jdGlvbiBydW5UZXN0KCkgewotICAgICAgICAg
ICAgdGVzdFJ1bm5lci5zZXRVc2VJVFBEYXRhYmFzZSh0cnVlKTsKLSAgICAgICAgICAgIHNldEVu
YWJsZUZlYXR1cmUodHJ1ZSwgZnVuY3Rpb24oKSB7Ci0gICAgICAgICAgICAgICAgYWN0aXZhdGVF
bGVtZW50KCJUaGVJZnJhbWVUaGF0UmVxdWVzdHNTdG9yYWdlQWNjZXNzIik7Ci0gICAgICAgICAg
ICB9KTsKLSAgICAgICAgfQotICAgIDwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHk+Ci0gICAgPGlm
cmFtZSBzYW5kYm94PSJhbGxvdy1zdG9yYWdlLWFjY2Vzcy1ieS11c2VyLWFjdGl2YXRpb24gYWxs
b3ctc2NyaXB0cyBhbGxvdy1zYW1lLW9yaWdpbiBhbGxvdy1tb2RhbHMiIG9ubG9hZD0icnVuVGVz
dCgpIiBpZD0iVGhlSWZyYW1lVGhhdFJlcXVlc3RzU3RvcmFnZUFjY2VzcyIgc3JjPSJodHRwOi8v
MTI3LjAuMC4xOjgwMDAvc3RvcmFnZUFjY2Vzcy9yZXNvdXJjZXMvcmVxdWVzdC1zdG9yYWdlLWFj
Y2Vzcy1pZnJhbWUuaHRtbCN1c2VyU2hvdWxkRGVueUFjY2Vzcyx1c2VyU2hvdWxkTm90QmVDb25z
dWx0ZWQscG9saWN5U2hvdWxkR3JhbnRBY2Nlc3MsaXNTYW1lT3JpZ2luSWZyYW1lIj48L2lmcmFt
ZT4KLTwvYm9keT4KLTwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMv
c3RvcmFnZUFjY2Vzcy9yZXF1ZXN0LXN0b3JhZ2UtYWNjZXNzLXNhbWUtb3JpZ2luLXNhbmRib3hl
ZC1pZnJhbWUtd2l0aG91dC1hbGxvdy10b2tlbi1kYXRhYmFzZS1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL3N0b3JhZ2VBY2Nlc3MvcmVxdWVzdC1zdG9yYWdlLWFjY2Vzcy1z
YW1lLW9yaWdpbi1zYW5kYm94ZWQtaWZyYW1lLXdpdGhvdXQtYWxsb3ctdG9rZW4tZGF0YWJhc2Ut
ZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBjMWYxMGUyM2RhZWNi
OWUxZjI1NTg0NDBkMDMyNGJhNDJkNWMyODVmLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc3RvcmFnZUFjY2Vzcy9y
ZXF1ZXN0LXN0b3JhZ2UtYWNjZXNzLXNhbWUtb3JpZ2luLXNhbmRib3hlZC1pZnJhbWUtd2l0aG91
dC1hbGxvdy10b2tlbi1kYXRhYmFzZS1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSwx
MCArMCwwIEBACi1UZXN0cyB0aGF0IHNhbWUtb3JpZ2luIGlmcmFtZSBzdG9yYWdlIGFjY2VzcyBp
cyBncmFudGVkIGlmIHRoZSBpZnJhbWUgaXMgc2FuZGJveGVkIGJ1dCBkb2Vzbid0IGhhdmUgdGhl
IGFsbG93IHRva2VuLgotCi1PbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBB
U1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCi0KLQotUEFTUyBTdG9y
YWdlIGFjY2VzcyB3YXMgZ3JhbnRlZC4gZG9jdW1lbnQuY29va2llID09ICwgY29va2llcyBzZWVu
IHNlcnZlci1zaWRlID09ICJObyBjb29raWVzIgotUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMg
dHJ1ZQotCi1URVNUIENPTVBMRVRFCi0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVz
dHMvc3RvcmFnZUFjY2Vzcy9yZXF1ZXN0LXN0b3JhZ2UtYWNjZXNzLXNhbWUtb3JpZ2luLXNhbmRi
b3hlZC1pZnJhbWUtd2l0aG91dC1hbGxvdy10b2tlbi1kYXRhYmFzZS5odG1sIGIvTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy9zdG9yYWdlQWNjZXNzL3JlcXVlc3Qtc3RvcmFnZS1hY2Nlc3Mtc2FtZS1v
cmlnaW4tc2FuZGJveGVkLWlmcmFtZS13aXRob3V0LWFsbG93LXRva2VuLWRhdGFiYXNlLmh0bWwK
ZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGFmNjkzZWQzZThjOWUzNDE5MjgxNDg0MDcw
OGYwMWYxMmVlZTUwZGMuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAK
LS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zdG9yYWdlQWNjZXNzL3JlcXVlc3Qtc3RvcmFn
ZS1hY2Nlc3Mtc2FtZS1vcmlnaW4tc2FuZGJveGVkLWlmcmFtZS13aXRob3V0LWFsbG93LXRva2Vu
LWRhdGFiYXNlLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSw3NCArMCwwIEBACi08IURPQ1RZUEUg
aHRtbD4KLTxodG1sPgotPGhlYWQ+Ci0gICAgPHNjcmlwdCBzcmM9Ii9qcy10ZXN0LXJlc291cmNl
cy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KLSAgICA8c2NyaXB0IHNyYz0iL2pzLXRlc3QtcmVzb3Vy
Y2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Ci0gICAgPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZUxv
YWRTdGF0aXN0aWNzL3Jlc291cmNlcy91dGlsLmpzIj48L3NjcmlwdD4KLSAgICA8c2NyaXB0Pgot
ICAgICAgICBkZXNjcmlwdGlvbigiVGVzdHMgdGhhdCBzYW1lLW9yaWdpbiBpZnJhbWUgc3RvcmFn
ZSBhY2Nlc3MgaXMgZ3JhbnRlZCBpZiB0aGUgaWZyYW1lIGlzIHNhbmRib3hlZCBidXQgZG9lc24n
dCBoYXZlIHRoZSBhbGxvdyB0b2tlbi4iKTsKLSAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7
Ci0KLSAgICAgICAgY29uc3QgaG9zdFVuZGVyVGVzdCA9ICJsb2NhbGhvc3Q6ODAwMCI7Ci0gICAg
ICAgIGNvbnN0IHN0YXRpc3RpY3NVcmwgPSAiaHR0cDovLyIgKyBob3N0VW5kZXJUZXN0ICsgIi90
ZW1wIjsKLQotICAgICAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigibWVzc2FnZSIsIHJlY2Vp
dmVNZXNzYWdlLCBmYWxzZSk7Ci0KLSAgICAgICAgZnVuY3Rpb24gcmVjZWl2ZU1lc3NhZ2UoZXZl
bnQpIHsKLSAgICAgICAgICAgIGlmIChldmVudC5vcmlnaW4gPT09ICJodHRwOi8vMTI3LjAuMC4x
OjgwMDAiKSB7Ci0gICAgICAgICAgICAgICAgaWYgKGV2ZW50LmRhdGEuaW5kZXhPZigiUEFTUyIp
ICE9PSAtMSkKLSAgICAgICAgICAgICAgICAgICAgdGVzdFBhc3NlZChldmVudC5kYXRhLnJlcGxh
Y2UoIlBBU1MgIiwgIiIpKTsKLSAgICAgICAgICAgICAgICBlbHNlCi0gICAgICAgICAgICAgICAg
ICAgIHRlc3RGYWlsZWQoZXZlbnQuZGF0YS5yZXBsYWNlKCJGQUlMICIsICIiKSk7Ci0gICAgICAg
ICAgICB9IGVsc2UKLSAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKCJSZWNlaXZlZCBhIG1lc3Nh
Z2UgZnJvbSBhbiB1bmV4cGVjdGVkIG9yaWdpbjogIiArIGV2ZW50Lm9yaWdpbik7Ci0gICAgICAg
ICAgICBzZXRFbmFibGVGZWF0dXJlKGZhbHNlLCBmaW5pc2hKU1Rlc3QpOwotICAgICAgICB9Ci0K
LSAgICAgICAgZnVuY3Rpb24gYWN0aXZhdGVFbGVtZW50KGVsZW1lbnRJZCkgewotICAgICAgICAg
ICAgdmFyIGVsZW1lbnQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChlbGVtZW50SWQpOwotICAg
ICAgICAgICAgdmFyIGNlbnRlclggPSBlbGVtZW50Lm9mZnNldExlZnQgKyBlbGVtZW50Lm9mZnNl
dFdpZHRoIC8gMjsKLSAgICAgICAgICAgIHZhciBjZW50ZXJZID0gZWxlbWVudC5vZmZzZXRUb3Ag
KyBlbGVtZW50Lm9mZnNldEhlaWdodCAvIDI7Ci0gICAgICAgICAgICBVSUhlbHBlci5hY3RpdmF0
ZUF0KGNlbnRlclgsIGNlbnRlclkpLnRoZW4oCi0gICAgICAgICAgICAgICAgZnVuY3Rpb24gKCkg
ewotICAgICAgICAgICAgICAgICAgICBpZiAod2luZG93LmV2ZW50U2VuZGVyKQotICAgICAgICAg
ICAgICAgICAgICAgICAgZXZlbnRTZW5kZXIua2V5RG93bigiZXNjYXBlIik7Ci0gICAgICAgICAg
ICAgICAgICAgIGVsc2UgewotICAgICAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZCgiTm8g
ZXZlbnRTZW5kZXIuIik7Ci0gICAgICAgICAgICAgICAgICAgICAgICBzZXRFbmFibGVGZWF0dXJl
KGZhbHNlLCBmaW5pc2hKU1Rlc3QpOwotICAgICAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAg
ICAgICAgfSwKLSAgICAgICAgICAgICAgICBmdW5jdGlvbiAoKSB7Ci0gICAgICAgICAgICAgICAg
ICAgIHRlc3RGYWlsZWQoIlByb21pc2UgcmVqZWN0ZWQuIik7Ci0gICAgICAgICAgICAgICAgICAg
IHNldEVuYWJsZUZlYXR1cmUoZmFsc2UsIGZpbmlzaEpTVGVzdCk7Ci0gICAgICAgICAgICAgICAg
fQotICAgICAgICAgICAgKTsKLSAgICAgICAgfQotCi0gICAgICAgIGZ1bmN0aW9uIHJ1blRlc3Qo
KSB7Ci0gICAgICAgICAgICB0ZXN0UnVubmVyLnNldFVzZUlUUERhdGFiYXNlKHRydWUpOwotICAg
ICAgICAgICAgc2V0RW5hYmxlRmVhdHVyZSh0cnVlLCBmdW5jdGlvbigpIHsKLSAgICAgICAgICAg
ICAgICB0ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NQcmV2YWxlbnRSZXNvdXJjZShzdGF0aXN0aWNz
VXJsLCB0cnVlLCBmdW5jdGlvbigpIHsKLSAgICAgICAgICAgICAgICAgICAgaWYgKCF0ZXN0UnVu
bmVyLmlzU3RhdGlzdGljc1ByZXZhbGVudFJlc291cmNlKHN0YXRpc3RpY3NVcmwpKQotICAgICAg
ICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZCgiSG9zdCBkaWQgbm90IGdldCBzZXQgYXMgcHJl
dmFsZW50IHJlc291cmNlLiIpOwotICAgICAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLnNldFN0
YXRpc3RpY3NIYXNIYWRVc2VySW50ZXJhY3Rpb24oc3RhdGlzdGljc1VybCwgdHJ1ZSwgZnVuY3Rp
b24oKSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICBpZiAoIXRlc3RSdW5uZXIuaXNTdGF0aXN0
aWNzSGFzSGFkVXNlckludGVyYWN0aW9uKHN0YXRpc3RpY3NVcmwpKQotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIHRlc3RGYWlsZWQoIkhvc3QgZGlkIG5vdCBnZXQgbG9nZ2VkIGZvciB1c2Vy
IGludGVyYWN0aW9uLiIpOwotICAgICAgICAgICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5zdGF0
aXN0aWNzVXBkYXRlQ29va2llQmxvY2tpbmcoZnVuY3Rpb24oKSB7Ci0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgbGV0IGlmcmFtZUVsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJp
ZnJhbWUiKTsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZnJhbWVFbGVtZW50LnNldEF0
dHJpYnV0ZSgic2FuZGJveCIsICJhbGxvdy1zY3JpcHRzIGFsbG93LXNhbWUtb3JpZ2luIGFsbG93
LW1vZGFscyIpOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmcmFtZUVsZW1lbnQub25s
b2FkID0gZnVuY3Rpb24oKSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFjdGl2
YXRlRWxlbWVudCgiVGhlSWZyYW1lVGhhdFJlcXVlc3RzU3RvcmFnZUFjY2VzcyIpOwotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIH07Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWZy
YW1lRWxlbWVudC5pZCA9ICJUaGVJZnJhbWVUaGF0UmVxdWVzdHNTdG9yYWdlQWNjZXNzIjsKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBpZnJhbWVFbGVtZW50LnNyYyA9ICJodHRwOi8vMTI3
LjAuMC4xOjgwMDAvc3RvcmFnZUFjY2Vzcy9yZXNvdXJjZXMvcmVxdWVzdC1zdG9yYWdlLWFjY2Vz
cy1pZnJhbWUuaHRtbCN1c2VyU2hvdWxkRGVueUFjY2Vzcyx1c2VyU2hvdWxkTm90QmVDb25zdWx0
ZWQscG9saWN5U2hvdWxkR3JhbnRBY2Nlc3MsaXNTYW1lT3JpZ2luSWZyYW1lIjsKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGlmcmFtZUVsZW1l
bnQpOwotICAgICAgICAgICAgICAgICAgICAgICAgfSk7Ci0gICAgICAgICAgICAgICAgICAgIH0p
OwotICAgICAgICAgICAgICAgIH0pOwotICAgICAgICAgICAgfSk7Ci0gICAgICAgIH0KLSAgICA8
L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5IG9ubG9hZD0icnVuVGVzdCgpIj4KLTwvYm9keT4KLTwv
aHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc3RvcmFnZUFjY2Vzcy9y
ZXF1ZXN0LXN0b3JhZ2UtYWNjZXNzLXRvcC1mcmFtZS1kYXRhYmFzZS1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL3N0b3JhZ2VBY2Nlc3MvcmVxdWVzdC1zdG9yYWdlLWFjY2Vz
cy10b3AtZnJhbWUtZGF0YWJhc2UtZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCBmMjVhNTkxZTQ3NDY2MjkwMzYxZmU3ZDM0YmJjNmExOTQ4NmEwNmQ1Li4wMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2h0dHAv
dGVzdHMvc3RvcmFnZUFjY2Vzcy9yZXF1ZXN0LXN0b3JhZ2UtYWNjZXNzLXRvcC1mcmFtZS1kYXRh
YmFzZS1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSwxMSArMCwwIEBACi1UZXN0cyB0
aGF0IHRvcCBmcmFtZSBzdG9yYWdlIGFjY2VzcyBpcyBhbHdheXMgZ3JhbnRlZCBpbiBjYXNlIHRo
ZSBwYWdlIHJlcXVlc3RzIGl0LgotCi1PbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMg
b2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCi0KLQotUEFT
UyByZXF1ZXN0U3RvcmFnZUFjY2Vzc1Jlc29sdmVkIGlzIHRydWUKLVBBU1MgaGFzU3RvcmFnZUFj
Y2VzcyBpcyB0cnVlCi1QQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCi0KLVRFU1QgQ09N
UExFVEUKLVJlcXVlc3QgQWNjZXNzCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L3N0b3JhZ2VBY2Nlc3MvcmVxdWVzdC1zdG9yYWdlLWFjY2Vzcy10b3AtZnJhbWUtZGF0YWJhc2Uu
aHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc3RvcmFnZUFjY2Vzcy9yZXF1ZXN0LXN0b3Jh
Z2UtYWNjZXNzLXRvcC1mcmFtZS1kYXRhYmFzZS5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCA2MzE4NzY3ZjhjZmY2ZTM1ODMxYjg1OGJmYjhjNjYwYzEyNTk2MzcxLi4wMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2h0dHAv
dGVzdHMvc3RvcmFnZUFjY2Vzcy9yZXF1ZXN0LXN0b3JhZ2UtYWNjZXNzLXRvcC1mcmFtZS1kYXRh
YmFzZS5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsNjcgKzAsMCBAQAotPCFET0NUWVBFIGh0bWw+
Ci08aHRtbD4KLTxib2R5IG9ubG9hZD0icnVuVGVzdCgpIj4KLTxzY3JpcHQgc3JjPSIvanMtdGVz
dC1yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2pzLXRlc3Qt
cmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL3Jlc291cmNl
TG9hZFN0YXRpc3RpY3MvcmVzb3VyY2VzL3V0aWwuanMiPjwvc2NyaXB0PgotPHNjcmlwdD4KLSAg
ICBkZXNjcmlwdGlvbigiVGVzdHMgdGhhdCB0b3AgZnJhbWUgc3RvcmFnZSBhY2Nlc3MgaXMgYWx3
YXlzIGdyYW50ZWQgaW4gY2FzZSB0aGUgcGFnZSByZXF1ZXN0cyBpdC4iKTsKLSAgICBqc1Rlc3RJ
c0FzeW5jID0gdHJ1ZTsKLQotICAgIGZ1bmN0aW9uIGFjdGl2YXRlRWxlbWVudChlbGVtZW50SWQp
IHsKLSAgICAgICAgdmFyIGVsZW1lbnQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChlbGVtZW50
SWQpOwotICAgICAgICB2YXIgY2VudGVyWCA9IGVsZW1lbnQub2Zmc2V0TGVmdCArIGVsZW1lbnQu
b2Zmc2V0V2lkdGggLyAyOwotICAgICAgICB2YXIgY2VudGVyWSA9IGVsZW1lbnQub2Zmc2V0VG9w
ICsgZWxlbWVudC5vZmZzZXRIZWlnaHQgLyAyOwotICAgICAgICBVSUhlbHBlci5hY3RpdmF0ZUF0
KGNlbnRlclgsIGNlbnRlclkpLnRoZW4oCi0gICAgICAgICAgICBmdW5jdGlvbiAoKSB7Ci0gICAg
ICAgICAgICB9LAotICAgICAgICAgICAgZnVuY3Rpb24gKCkgewotICAgICAgICAgICAgICAgIHRl
c3RGYWlsZWQoIlByb21pc2UgcmVqZWN0ZWQuIik7Ci0gICAgICAgICAgICAgICAgc2V0RW5hYmxl
RmVhdHVyZShmYWxzZSwgZmluaXNoSlNUZXN0KTsKLSAgICAgICAgICAgIH0KLSAgICAgICAgKTsK
LSAgICB9Ci0KLSAgICB2YXIgaGFzU3RvcmFnZUFjY2VzczsKLSAgICB2YXIgcmVxdWVzdFN0b3Jh
Z2VBY2Nlc3NSZXNvbHZlZDsKLQotICAgIGZ1bmN0aW9uIG1ha2VSZXF1ZXN0V2l0aFVzZXJHZXN0
dXJlKCkgewotICAgICAgICBzZXRFbmFibGVGZWF0dXJlKHRydWUsIGZ1bmN0aW9uKCkgewotICAg
ICAgICAgICAgdmFyIHByb21pc2UgPSBkb2N1bWVudC5yZXF1ZXN0U3RvcmFnZUFjY2VzcygpOwot
ICAgICAgICAgICAgcHJvbWlzZS50aGVuKAotICAgICAgICAgICAgICAgIGZ1bmN0aW9uICgpIHsK
LSAgICAgICAgICAgICAgICAgICAgcmVxdWVzdFN0b3JhZ2VBY2Nlc3NSZXNvbHZlZCA9IHRydWU7
Ci0gICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlQWZ0ZXJSZXF1ZXN0V2l0aFVzZXJHZXN0dXJl
KCk7Ci0gICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICBmdW5jdGlvbiAoKSB7Ci0g
ICAgICAgICAgICAgICAgICAgIHJlcXVlc3RTdG9yYWdlQWNjZXNzUmVzb2x2ZWQgPSBmYWxzZTsK
LSAgICAgICAgICAgICAgICAgICAgY29udGludWVBZnRlclJlcXVlc3RXaXRoVXNlckdlc3R1cmUo
KTsKLSAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICApOwotICAgICAgICB9KTsKLSAgICB9
Ci0KLSAgICBmdW5jdGlvbiBjb250aW51ZUFmdGVyUmVxdWVzdFdpdGhVc2VyR2VzdHVyZSgpIHsK
LSAgICAgICAgdmFyIHByb21pc2UgPSBkb2N1bWVudC5oYXNTdG9yYWdlQWNjZXNzKCk7Ci0gICAg
ICAgIHByb21pc2UudGhlbigKLSAgICAgICAgICAgIGZ1bmN0aW9uIChoYXNBY2Nlc3MpIHsKLSAg
ICAgICAgICAgICAgICBoYXNTdG9yYWdlQWNjZXNzID0gaGFzQWNjZXNzOwotICAgICAgICAgICAg
ICAgIHNob3VsZEJlKCJyZXF1ZXN0U3RvcmFnZUFjY2Vzc1Jlc29sdmVkIiwgInRydWUiKTsKLSAg
ICAgICAgICAgICAgICBzaG91bGRCZSgiaGFzU3RvcmFnZUFjY2VzcyIsICJ0cnVlIik7Ci0gICAg
ICAgICAgICAgICAgc2V0RW5hYmxlRmVhdHVyZShmYWxzZSwgZmluaXNoSlNUZXN0KTsKLSAgICAg
ICAgICAgIH0sCi0gICAgICAgICAgICBmdW5jdGlvbiAocmVhc29uKSB7Ci0gICAgICAgICAgICAg
ICAgdGVzdEZhaWxlZCgiZG9jdW1lbnQuaGFzU3RvcmFnZUFjY2VzcygpIHdhcyByZWplY3RlZC4g
UmVhc29uOiAiICsgcmVhc29uKTsKLSAgICAgICAgICAgICAgICBzZXRFbmFibGVGZWF0dXJlKGZh
bHNlLCBmaW5pc2hKU1Rlc3QpOwotICAgICAgICAgICAgfQotICAgICAgICApOwotICAgIH0KLQot
ICAgIGZ1bmN0aW9uIHJ1blRlc3QoKSB7Ci0gICAgICAgIHRlc3RSdW5uZXIuc2V0VXNlSVRQRGF0
YWJhc2UodHJ1ZSk7Ci0gICAgICAgIGFjdGl2YXRlRWxlbWVudCgidGhlQnV0dG9uIik7Ci0gICAg
fQotPC9zY3JpcHQ+Ci08YnV0dG9uIGlkPSJ0aGVCdXR0b24iIG9uY2xpY2s9Im1ha2VSZXF1ZXN0
V2l0aFVzZXJHZXN0dXJlKCkiPlJlcXVlc3QgQWNjZXNzPC9idXR0b24+Ci08L2JvZHk+Ci08L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYkFQSVN0YXRpc3RpY3Mv
Y2FudmFzLXJlYWQtYW5kLXdyaXRlLWRhdGEtY29sbGVjdGlvbi1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL3dlYkFQSVN0YXRpc3RpY3MvY2FudmFzLXJlYWQtYW5kLXdyaXRl
LWRhdGEtY29sbGVjdGlvbi1leHBlY3RlZC50eHQKaW5kZXggOTQ5MzYyMjgzMWYyMTZiOTY4Yzg0
NjkwNDUyN2ZlMmM4NWMzZmQyYy4uNTYwNjgwOWM3YjIyNjE3MjJmZTIwNTQxMGZhZjNhNDZjZDA2
MGIwNyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJBUElTdGF0aXN0aWNz
L2NhbnZhcy1yZWFkLWFuZC13cml0ZS1kYXRhLWNvbGxlY3Rpb24tZXhwZWN0ZWQudHh0CisrKyBi
L0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd2ViQVBJU3RhdGlzdGljcy9jYW52YXMtcmVhZC1hbmQt
d3JpdGUtZGF0YS1jb2xsZWN0aW9uLWV4cGVjdGVkLnR4dApAQCAtNSwxNiArNSw3IEBAIFJlZ2lz
dHJhYmxlIGRvbWFpbjogMTI3LjAuMC4xCiAgICAgaGFkVXNlckludGVyYWN0aW9uOiBObwogICAg
IG1vc3RSZWNlbnRVc2VySW50ZXJhY3Rpb246IC0xCiAgICAgZ3JhbmRmYXRoZXJlZDogTm8KLSAg
ICBnb3RMaW5rRGVjb3JhdGlvbkZyb21QcmV2YWxlbnRSZXNvdXJjZTogTm8KKyAgICBJc1NjaGVk
dWxlZEZvckFsbEJ1dENvb2tpZURhdGFSZW1vdmFsOiBObwogICAgIGlzUHJldmFsZW50UmVzb3Vy
Y2U6IE5vCiAgICAgaXNWZXJ5UHJldmFsZW50UmVzb3VyY2U6IE5vCiAgICAgZGF0YVJlY29yZHNS
ZW1vdmVkOiAwCi0gICAgZm9udHNTdWNjZXNzZnVsbHlMb2FkZWQ6Ci0gICAgICAgIEhlbHZldGlj
YQotICAgICAgICBUaW1lcwotICAgIHRvcEZyYW1lUmVnaXN0cmFibGVEb21haW5zV2hpY2hBY2Nl
c3NlZFdlYkFQSXM6Ci0gICAgICAgIDEyNy4wLjAuMQotICAgIGNhbnZhc1RleHRXcml0dGVuOgot
ICAgICAgICBzdXNwaWNpb3VzIGludmlzaWJsZSB0ZXh0Ci0gICAgY2FudmFzUmVhZERhdGE6IFll
cwotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYkFQSVN0YXRpc3RpY3Mv
Zm9udC1sb2FkLWRhdGEtY29sbGVjdGlvbi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL3dlYkFQSVN0YXRpc3RpY3MvZm9udC1sb2FkLWRhdGEtY29sbGVjdGlvbi1leHBlY3Rl
ZC50eHQKaW5kZXggYWIxNjNiZmMwNzZhOWVkZmQ3Y2RlZTU4MTFlNGU2OWEzZDI5NjBiYS4uN2E1
ZjEzMGMwOWQ2OTNhYzQwN2I5YzMyMjA3MzAwNWRhNDdmNWIxNyAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy93ZWJBUElTdGF0aXN0aWNzL2ZvbnQtbG9hZC1kYXRhLWNvbGxlY3Rp
b24tZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd2ViQVBJU3RhdGlz
dGljcy9mb250LWxvYWQtZGF0YS1jb2xsZWN0aW9uLWV4cGVjdGVkLnR4dApAQCAtNywxNyArNyw3
IEBAIFJlZ2lzdHJhYmxlIGRvbWFpbjogMTI3LjAuMC4xCiAgICAgaGFkVXNlckludGVyYWN0aW9u
OiBObwogICAgIG1vc3RSZWNlbnRVc2VySW50ZXJhY3Rpb246IC0xCiAgICAgZ3JhbmRmYXRoZXJl
ZDogTm8KLSAgICBnb3RMaW5rRGVjb3JhdGlvbkZyb21QcmV2YWxlbnRSZXNvdXJjZTogTm8KKyAg
ICBJc1NjaGVkdWxlZEZvckFsbEJ1dENvb2tpZURhdGFSZW1vdmFsOiBObwogICAgIGlzUHJldmFs
ZW50UmVzb3VyY2U6IE5vCiAgICAgaXNWZXJ5UHJldmFsZW50UmVzb3VyY2U6IE5vCiAgICAgZGF0
YVJlY29yZHNSZW1vdmVkOiAwCi0gICAgZm9udHNGYWlsZWRUb0xvYWQ6Ci0gICAgICAgIEZyYW5z
aXNjYW4KLSAgICAgICAgQW5kYWxlCi0gICAgICAgIG5vdEFSZWFsRm9udAotICAgIGZvbnRzU3Vj
Y2Vzc2Z1bGx5TG9hZGVkOgotICAgICAgICBUaW1lcwotICAgIHRvcEZyYW1lUmVnaXN0cmFibGVE
b21haW5zV2hpY2hBY2Nlc3NlZFdlYkFQSXM6Ci0gICAgICAgIDEyNy4wLjAuMQotICAgIGNhbnZh
c1JlYWREYXRhOiBObwotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYkFQ
SVN0YXRpc3RpY3MvbmF2aWdhdG9yLWZ1bmN0aW9ucy1hY2Nlc3NlZC1kYXRhLWNvbGxlY3Rpb24t
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJBUElTdGF0aXN0aWNzL25h
dmlnYXRvci1mdW5jdGlvbnMtYWNjZXNzZWQtZGF0YS1jb2xsZWN0aW9uLWV4cGVjdGVkLnR4dApp
bmRleCA4N2VhMjJiYzc2YzhiNzk5YjQ5ZDI3ZTE1MjNmYmY2ZjllZTc4ZTVmLi4wNDY4NDI5ZGZm
ZTQ5NTE4MTg5MDAxNGI4OWVhM2QzM2ExYWE1YTMzIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9o
dHRwL3Rlc3RzL3dlYkFQSVN0YXRpc3RpY3MvbmF2aWdhdG9yLWZ1bmN0aW9ucy1hY2Nlc3NlZC1k
YXRhLWNvbGxlY3Rpb24tZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMv
d2ViQVBJU3RhdGlzdGljcy9uYXZpZ2F0b3ItZnVuY3Rpb25zLWFjY2Vzc2VkLWRhdGEtY29sbGVj
dGlvbi1leHBlY3RlZC50eHQKQEAgLTUsMjAgKzUsNyBAQCBSZWdpc3RyYWJsZSBkb21haW46IDEy
Ny4wLjAuMQogICAgIGhhZFVzZXJJbnRlcmFjdGlvbjogTm8KICAgICBtb3N0UmVjZW50VXNlcklu
dGVyYWN0aW9uOiAtMQogICAgIGdyYW5kZmF0aGVyZWQ6IE5vCi0gICAgZ290TGlua0RlY29yYXRp
b25Gcm9tUHJldmFsZW50UmVzb3VyY2U6IE5vCisgICAgSXNTY2hlZHVsZWRGb3JBbGxCdXRDb29r
aWVEYXRhUmVtb3ZhbDogTm8KICAgICBpc1ByZXZhbGVudFJlc291cmNlOiBObwogICAgIGlzVmVy
eVByZXZhbGVudFJlc291cmNlOiBObwogICAgIGRhdGFSZWNvcmRzUmVtb3ZlZDogMAotICAgIGZv
bnRzU3VjY2Vzc2Z1bGx5TG9hZGVkOgotICAgICAgICBUaW1lcwotICAgIHRvcEZyYW1lUmVnaXN0
cmFibGVEb21haW5zV2hpY2hBY2Nlc3NlZFdlYkFQSXM6Ci0gICAgICAgIDEyNy4wLjAuMQotICAg
IG5hdmlnYXRvckZ1bmN0aW9uc0FjY2Vzc2VkOgotICAgICAgICBhcHBWZXJzaW9uCi0gICAgICAg
IHVzZXJBZ2VudAotICAgICAgICBwbHVnaW5zCi0gICAgICAgIG1pbWVUeXBlcwotICAgICAgICBj
b29raWVFbmFibGVkCi0gICAgICAgIGphdmFFbmFibGVkCi0gICAgY2FudmFzUmVhZERhdGE6IE5v
Ci0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd2ViQVBJU3RhdGlzdGljcy9z
Y3JlZW4tZnVuY3Rpb25zLWFjY2Vzc2VkLWRhdGEtY29sbGVjdGlvbi1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYkFQSVN0YXRpc3RpY3Mvc2NyZWVuLWZ1bmN0aW9ucy1h
Y2Nlc3NlZC1kYXRhLWNvbGxlY3Rpb24tZXhwZWN0ZWQudHh0CmluZGV4IDYzZjIwNWY5NmMyNTE3
NjgwY2QzYzJjNWMxMzM3NTQ5YTVmOTE2OTAuLjAzOGI4ZDA1MTc3OTg2ZmJjYmM0Y2Y0NzFiNTEz
MTIyZjA2MTlmNTUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd2ViQVBJU3Rh
dGlzdGljcy9zY3JlZW4tZnVuY3Rpb25zLWFjY2Vzc2VkLWRhdGEtY29sbGVjdGlvbi1leHBlY3Rl
ZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJBUElTdGF0aXN0aWNzL3NjcmVl
bi1mdW5jdGlvbnMtYWNjZXNzZWQtZGF0YS1jb2xsZWN0aW9uLWV4cGVjdGVkLnR4dApAQCAtNSwy
MiArNSw3IEBAIFJlZ2lzdHJhYmxlIGRvbWFpbjogMTI3LjAuMC4xCiAgICAgaGFkVXNlckludGVy
YWN0aW9uOiBObwogICAgIG1vc3RSZWNlbnRVc2VySW50ZXJhY3Rpb246IC0xCiAgICAgZ3JhbmRm
YXRoZXJlZDogTm8KLSAgICBnb3RMaW5rRGVjb3JhdGlvbkZyb21QcmV2YWxlbnRSZXNvdXJjZTog
Tm8KKyAgICBJc1NjaGVkdWxlZEZvckFsbEJ1dENvb2tpZURhdGFSZW1vdmFsOiBObwogICAgIGlz
UHJldmFsZW50UmVzb3VyY2U6IE5vCiAgICAgaXNWZXJ5UHJldmFsZW50UmVzb3VyY2U6IE5vCiAg
ICAgZGF0YVJlY29yZHNSZW1vdmVkOiAwCi0gICAgZm9udHNTdWNjZXNzZnVsbHlMb2FkZWQ6Ci0g
ICAgICAgIFRpbWVzCi0gICAgdG9wRnJhbWVSZWdpc3RyYWJsZURvbWFpbnNXaGljaEFjY2Vzc2Vk
V2ViQVBJczoKLSAgICAgICAgMTI3LjAuMC4xCi0gICAgc2NyZWVuRnVuY3Rpb25zQWNjZXNzZWQ6
Ci0gICAgICAgIGhlaWdodAotICAgICAgICB3aWR0aAotICAgICAgICBjb2xvckRlcHRoCi0gICAg
ICAgIHBpeGVsRGVwdGgKLSAgICAgICAgYXZhaWxMZWZ0Ci0gICAgICAgIGF2YWlsVG9wCi0gICAg
ICAgIGF2YWlsSGVpZ2h0Ci0gICAgICAgIGF2YWlsV2lkdGgKLSAgICBjYW52YXNSZWFkRGF0YTog
Tm8KLQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ2xpYi9UZXN0RXhwZWN0YXRp
b25zIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ2xpYi9UZXN0RXhwZWN0YXRpb25zCmluZGV4IDUy
NDQ2ODIzZDQ3YzY4NGU4ODJlZDk0OGI1ZDg1N2UyMjczZDRmMjYuLmE4MGU5ZjU1ZjkyYjNkOTY0
NWMzMWU1N2IyYzAxOWYwZGI2MTFkYjEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3Jt
L2dsaWIvVGVzdEV4cGVjdGF0aW9ucworKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9nbGliL1Rl
c3RFeHBlY3RhdGlvbnMKQEAgLTEwMDEsOCArMTAwMSw2IEBAIGZhc3Qvc2Nyb2xsaW5nL3J0bC1z
Y3JvbGxiYXJzLmh0bWwgWyBQYXNzIF0KIAogaHR0cC90ZXN0cy9zdG9yYWdlQWNjZXNzLyBbIFBh
c3MgXQogaHR0cC90ZXN0cy9zdG9yYWdlQWNjZXNzL2Rlbnktd2l0aC1wcm9tcHQtZG9lcy1ub3Qt
cHJlc2VydmUtZ2VzdHVyZS5odG1sIFsgU2tpcCBdCi1odHRwL3Rlc3RzL3N0b3JhZ2VBY2Nlc3Mv
ZGVueS13aXRoLXByb21wdC1kb2VzLW5vdC1wcmVzZXJ2ZS1nZXN0dXJlLWRhdGFiYXNlLmh0bWwg
WyBTa2lwIF0KLXdlYmtpdC5vcmcvYi8yMDg0MDAgaHR0cC90ZXN0cy9zdG9yYWdlQWNjZXNzL2hh
cy1zdG9yYWdlLWFjY2Vzcy10cnVlLWlmLXRoaXJkLXBhcnR5LWhhcy1jb29raWVzLWVwaGVtZXJh
bC1kYXRhYmFzZS5odG1sIFsgRmFpbHVyZSBdCiB3ZWJraXQub3JnL2IvMjA4NDAwIGh0dHAvdGVz
dHMvc3RvcmFnZUFjY2Vzcy9oYXMtc3RvcmFnZS1hY2Nlc3MtdHJ1ZS1pZi10aGlyZC1wYXJ0eS1o
YXMtY29va2llcy1lcGhlbWVyYWwuaHRtbCBbIEZhaWx1cmUgXQogCiB3ZWJraXQub3JnL2IvMTcy
MDU2IGZhc3QvdGV4dC9tdWx0aWdseXBoLWNoYXJhY3RlcnMuaHRtbCBbIFBhc3MgXQpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL1Rlc3RFeHBlY3RhdGlvbnMgYi9MYXlvdXRU
ZXN0cy9wbGF0Zm9ybS9ndGsvVGVzdEV4cGVjdGF0aW9ucwppbmRleCA2YzIxODYyNTU5YTY5YTZl
Zjk0YTEzOTI4MDM5NWI5NGZkNDBjMzVkLi45OWMwMzdmMTkwOTYxZDQxZjEzYmY4Njc0NWQxMmEz
ZGJmNWM0OGMzIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGsvVGVzdEV4cGVj
dGF0aW9ucworKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGsvVGVzdEV4cGVjdGF0aW9ucwpA
QCAtMTE1OCwxMCArMTE1OCw4IEBAIHdlYmtpdC5vcmcvYi8yMDk3MjcgZmFzdC9mb3Jtcy9wbGFj
ZWhvbGRlci1jb250ZW50LWxpbmUtaGVpZ2h0Lmh0bWwgWyBJbWFnZU9ubHlGCiAKIHdlYmtpdC5v
cmcvYi8yMTAyMjYgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvaW50
ZXJsZWF2ZWQtY3Vyc29ycy1zbWFsbC5odG1sIFsgRmFpbHVyZSBdCiAKLXdlYmtpdC5vcmcvYi8y
MTA0ODcgaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3N3aXRjaC1zZXNzaW9uLW9u
LW5hdmlnYXRpb24tdG8tcHJldmFsZW50LXdpdGgtaW50ZXJhY3Rpb24tZGF0YWJhc2UucGhwIFsg
RmFpbHVyZSBdCiB3ZWJraXQub3JnL2IvMjEwNDg3IGh0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3Rh
dGlzdGljcy9zd2l0Y2gtc2Vzc2lvbi1vbi1uYXZpZ2F0aW9uLXRvLXByZXZhbGVudC13aXRoLWlu
dGVyYWN0aW9uLnBocCBbIEZhaWx1cmUgXQogCi13ZWJraXQub3JnL2IvMjEwNzk2IGh0dHAvdGVz
dHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9zdGFuZGFsb25lLXdlYi1hcHBsaWNhdGlvbi1leGVt
cHQtZnJvbS13ZWJzaXRlLWRhdGEtZGVsZXRpb24tZGF0YWJhc2UuaHRtbCBbIEZhaWx1cmUgXQog
d2Via2l0Lm9yZy9iLzIxMDc5NiBodHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3Mvc3Rh
bmRhbG9uZS13ZWItYXBwbGljYXRpb24tZXhlbXB0LWZyb20td2Vic2l0ZS1kYXRhLWRlbGV0aW9u
Lmh0bWwgWyBGYWlsdXJlIF0KIAogd2Via2l0Lm9yZy9iLzIxMDg0OSBjb21wb3NpdGluZy9vdmVy
Zmxvdy9ydGwtc2Nyb2xsYmFyLWxheWVyLXBvc2l0aW9uaW5nLmh0bWwgWyBGYWlsdXJlIF0KQEAg
LTI0MTIsMTcgKzI0MTAsMTEgQEAgd2Via2l0Lm9yZy9iLzIxMjIwMiBmYXN0L3Njcm9sbGluZy9w
cm9ncmFtbWF0aWMtc2Nyb2xsLXRvLXplcm8temVyby5odG1sIFsgU2tpcAogd2Via2l0Lm9yZy9i
LzIxMjIwMiBmYXN0L3Njcm9sbGluZy9ydGwtcG9pbnQtaW4taWZyYW1lLmh0bWwgWyBTa2lwIF0K
IHdlYmtpdC5vcmcvYi8yMTIyMDIgY29tcG9zaXRpbmcvZml4ZWQtd2l0aC1tYWluLXRocmVhZC1z
Y3JvbGxpbmcuaHRtbCBbIFNraXAgXQogCi13ZWJraXQub3JnL2IvMjEwNzk2IGh0dHAvdGVzdHMv
cmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jbGVhci1pbi1tZW1vcnktYW5kLXBlcnNpc3RlbnQtc3Rv
cmUtb25lLWhvdXItZGF0YWJhc2UuaHRtbCBbIFRpbWVvdXQgUGFzcyBdCiB3ZWJraXQub3JnL2Iv
MjEwNzk2IGh0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jbGVhci1pbi1tZW1vcnkt
YW5kLXBlcnNpc3RlbnQtc3RvcmUtb25lLWhvdXIuaHRtbCBbIFRpbWVvdXQgUGFzcyBdCi13ZWJr
aXQub3JnL2IvMjEwNzk2IGh0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9vcGVyYXRp
bmctZGF0ZXMtYWxsLXdlYnNpdGUtZGF0YS1yZW1vdmVkLWRhdGFiYXNlLmh0bWwgWyBUaW1lb3V0
IFBhc3MgXQogd2Via2l0Lm9yZy9iLzIxMDc5NiBodHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRp
c3RpY3Mvb3BlcmF0aW5nLWRhdGVzLWFsbC13ZWJzaXRlLWRhdGEtcmVtb3ZlZC5odG1sIFsgVGlt
ZW91dCBQYXNzIF0KLXdlYmtpdC5vcmcvYi8yMTA3OTYgaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRT
dGF0aXN0aWNzL3BpbmctdG8tcHJldmFsZW50LXJlc291cmNlLWRhdGFiYXNlLmh0bWwgWyBUaW1l
b3V0IFBhc3MgXQogd2Via2l0Lm9yZy9iLzIxMDc5NiBodHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0
YXRpc3RpY3MvcGluZy10by1wcmV2YWxlbnQtcmVzb3VyY2UuaHRtbCBbIFRpbWVvdXQgUGFzcyBd
Ci13ZWJraXQub3JnL2IvMjEwNzk2IGh0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9w
cmV2YWxlbnQtcmVzb3VyY2UtaGFuZGxlZC1rZXlkb3duLWRhdGFiYXNlLmh0bWwgWyBUaW1lb3V0
IFBhc3MgXQotd2Via2l0Lm9yZy9iLzIxMDc5NiBodHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRp
c3RpY3MvdGVsZW1ldHJ5LWdlbmVyYXRpb24tYWR2YW5jZWQtZnVuY3Rpb25hbGl0eS1kYXRhYmFz
ZS5odG1sIFsgRmFpbHVyZSBQYXNzIF0KIHdlYmtpdC5vcmcvYi8yMTA3OTYgaHR0cC90ZXN0cy9y
ZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3VzZXItaW50ZXJhY3Rpb24tb25seS1yZXBvcnRlZC1vbmNl
LXdpdGhpbi1zaG9ydC1wZXJpb2Qtb2YtdGltZS5odG1sIFsgRmFpbHVyZSBQYXNzIF0KIHdlYmtp
dC5vcmcvYi8yMTA3OTYgaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3dlYnNpdGUt
ZGF0YS1yZW1vdmFsLWZvci1zaXRlLW5hdmlnYXRlZC10by13aXRoLWxpbmstZGVjb3JhdGlvbi5o
dG1sIFsgVGltZW91dCBQYXNzIF0KLXdlYmtpdC5vcmcvYi8yMTA3OTYgaHR0cC90ZXN0cy9yZXNv
dXJjZUxvYWRTdGF0aXN0aWNzL3dlYnNpdGUtZGF0YS1yZW1vdmFsLWZvci1zaXRlLXdpdGgtdXNl
ci1pbnRlcmFjdGlvbi1kYXRhYmFzZS5odG1sIFsgVGltZW91dCBQYXNzIF0KIHdlYmtpdC5vcmcv
Yi8yMTA3OTYgaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3dlYnNpdGUtZGF0YS1y
ZW1vdmFsLWZvci1zaXRlLXdpdGgtdXNlci1pbnRlcmFjdGlvbi5odG1sIFsgVGltZW91dCBQYXNz
IF0KIAogd2Via2l0Lm9yZy9iLzIxMTU2NiBodHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3Rp
Y3MvZXhlbXB0RG9tYWlucy9hcHAtYm91bmQtZG9tYWlucy1leGVtcHQtZnJvbS1jb29raWUtYmxv
Y2tpbmctYmV0d2Vlbi1lYWNoLW90aGVyLmh0bWwgWyBTa2lwIF0KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL3BsYXRmb3JtL2lvcy13azIvVGVzdEV4cGVjdGF0aW9ucyBiL0xheW91dFRlc3RzL3Bs
YXRmb3JtL2lvcy13azIvVGVzdEV4cGVjdGF0aW9ucwppbmRleCBiMTcyOGMzNGM0NDQ4MmQ1MWUz
NzAyOTJmMWEyNWQzNmQ1NmFjYWMxLi4wZWQ3MTM1MTg1ZjY1N2NiNzU4ZWRlNGE0NGNhNDRhZTQ5
N2I2YjJhIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3Mtd2syL1Rlc3RFeHBl
Y3RhdGlvbnMKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9zLXdrMi9UZXN0RXhwZWN0YXRp
b25zCkBAIC0xNDA0LDggKzE0MDQsNiBAQCB3ZWJraXQub3JnL2IvMjA4NjAxIGZhc3QvYmFja2dy
b3VuZHMvaGlkcGktYml0bWFwLWJhY2tncm91bmQtb24tc3VicGl4ZWwtcG9zaXRpbwogCiB3ZWJr
aXQub3JnL2IvMjA4NzM5IGh0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy90aGlyZC1w
YXJ0eS1jb29raWUtYmxvY2tpbmctZXBoZW1lcmFsLmh0bWwgWyBQYXNzIFRpbWVvdXQgXQogCi13
ZWJraXQub3JnL2IvMjA4NzM5IGh0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy90aGly
ZC1wYXJ0eS1jb29raWUtYmxvY2tpbmctZXBoZW1lcmFsLWRhdGFiYXNlLmh0bWwgWyBQYXNzIFRp
bWVvdXQgXQotCiB3ZWJraXQub3JnL2IvMjA4ODkwIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvSW5kZXhlZERCL2lkYm9iamVjdHN0b3JlX29wZW5LZXlDdXJzb3IuaHRtIFsgUGFzcyBG
YWlsdXJlIF0KIAogd2Via2l0Lm9yZy9iLzIwOTAwNiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2h0bWwvc2VtYW50aWNzL3NjcmlwdGluZy0xL3RoZS1zY3JpcHQtZWxlbWVudC9leGVj
dXRpb24tdGltaW5nLzA4NS5odG1sIFsgUGFzcyBGYWlsdXJlIF0KQEAgLTE3NjAsNyArMTc1OCw3
IEBAIHdlYmtpdC5vcmcvYi8yMDkxODkgaHR0cC90ZXN0cy9JbmRleGVkREIvc3RvcmFnZS1saW1p
dC5odHRwcy5odG1sIFsgUGFzcyBGYWlsdXJlCiAKIHdlYmtpdC5vcmcvYi8yMTAwNDYgWyBSZWxl
YXNlIF0gc3RvcmFnZS9pbmRleGVkZGIvdmFsdWUtY3Vyc29yLWN5Y2xlLmh0bWwgWyBQYXNzIEZh
aWx1cmUgXQogCi13ZWJraXQub3JnL2IvMjExOTI4IGh0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3Rh
dGlzdGljcy9zdGFuZGFsb25lLXdlYi1hcHBsaWNhdGlvbi1leGVtcHQtZnJvbS13ZWJzaXRlLWRh
dGEtZGVsZXRpb24tZGF0YWJhc2UuaHRtbCBbIFBhc3MgVGltZW91dCBdCit3ZWJraXQub3JnL2Iv
MjExOTI4IGh0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9zdGFuZGFsb25lLXdlYi1h
cHBsaWNhdGlvbi1leGVtcHQtZnJvbS13ZWJzaXRlLWRhdGEtZGVsZXRpb24uaHRtbCBbIFBhc3Mg
VGltZW91dCBdCiAKIHdlYmtpdC5vcmcvYi8yMTIyMTkgbWVkaWEvdHJhY2svdHJhY2stY3VlLW1p
c3NpbmcuaHRtbCBbIFBhc3MgRmFpbHVyZSBdCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3Bs
YXRmb3JtL2lvcy9UZXN0RXhwZWN0YXRpb25zIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9zL1Rl
c3RFeHBlY3RhdGlvbnMKaW5kZXggNWJmMmZiZDRlZGRhMmY5YWZmODAwYThkMzJiOGEzNjU3MTdl
ZmJjYi4uNjQxMDM2ZjFjYTBmNmM3MTA3MWExZTI5ODU5OWIzM2EwYzkyNzA3MCAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9zL1Rlc3RFeHBlY3RhdGlvbnMKKysrIGIvTGF5b3V0
VGVzdHMvcGxhdGZvcm0vaW9zL1Rlc3RFeHBlY3RhdGlvbnMKQEAgLTEwMDUsNyArMTAwNSw2IEBA
IGZhc3Qvc3BhdGlhbC1uYXZpZ2F0aW9uL3NuYXYtdW5pdC1vdmVyZmxvdy1hbmQtc2Nyb2xsLWlu
LWRpcmVjdGlvbi5odG1sIFsgU2tpcCBdCiBodHRwL3Rlc3RzL25hdmlnYXRpb24va2V5Ym9hcmQt
ZXZlbnRzLWR1cmluZy1wcm92aXNpb25hbC1uYXZpZ2F0aW9uLmh0bWwgWyBTa2lwIF0KIGh0dHAv
dGVzdHMvbmF2aWdhdGlvbi9rZXlib2FyZC1ldmVudHMtZHVyaW5nLXByb3Zpc2lvbmFsLXN1YmZy
YW1lLW5hdmlnYXRpb24uaHRtbCBbIFNraXAgXQogaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0
aXN0aWNzL3ByZXZhbGVudC1yZXNvdXJjZS1oYW5kbGVkLWtleWRvd24uaHRtbCBbIFNraXAgXQot
aHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3ByZXZhbGVudC1yZXNvdXJjZS1oYW5k
bGVkLWtleWRvd24tZGF0YWJhc2UuaHRtbCBbIFNraXAgXQogbWVkaWEvYXVkaW8tcGxheWJhY2st
dm9sdW1lLWNoYW5nZXMtd2l0aC1yZXN0cmljdGlvbnMtYW5kLXVzZXItZ2VzdHVyZXMuaHRtbCBb
IFNraXAgXQogbWVkaWEvYXVkaW8tcGxheWJhY2stdm9sdW1lLWNoYW5nZXMtd2l0aC1yZXN0cmlj
dGlvbnMuaHRtbCBbIFNraXAgXQogbWVkaWEvcGljdHVyZS1pbi1waWN0dXJlL3BpY3R1cmUtaW4t
cGljdHVyZS1pbnRlcnJ1cHRpb24uaHRtbCBbIFNraXAgXQpAQCAtMjcxNiw5ICsyNzE1LDYgQEAg
ZmFzdC9jYW52YXMvd2ViZ2wvcmVhZFBpeGVscy1mbG9hdC5odG1sIFsgU2tpcCBdCiB3ZWJraXQu
b3JnL2IvMTc0MTIwIGh0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy91c2VyLWludGVy
YWN0aW9uLWluLWNyb3NzLW9yaWdpbi1zdWItZnJhbWUuaHRtbCBbIFNraXAgXQogaHR0cC90ZXN0
cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3VzZXItaW50ZXJhY3Rpb24tb25seS1yZXBvcnRlZC1v
bmNlLXdpdGhpbi1zaG9ydC1wZXJpb2Qtb2YtdGltZS5odG1sIFsgU2tpcCBdCiBodHRwL3Rlc3Rz
L3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvdXNlci1pbnRlcmFjdGlvbi1yZXBvcnRlZC1hZnRlci13
ZWJzaXRlLWRhdGEtcmVtb3ZhbC5odG1sIFsgU2tpcCBdCi13ZWJraXQub3JnL2IvMTc0MTIwIGh0
dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy91c2VyLWludGVyYWN0aW9uLWluLWNyb3Nz
LW9yaWdpbi1zdWItZnJhbWUtZGF0YWJhc2UuaHRtbCBbIFNraXAgXQotaHR0cC90ZXN0cy9yZXNv
dXJjZUxvYWRTdGF0aXN0aWNzL3VzZXItaW50ZXJhY3Rpb24tb25seS1yZXBvcnRlZC1vbmNlLXdp
dGhpbi1zaG9ydC1wZXJpb2Qtb2YtdGltZS1kYXRhYmFzZS5odG1sIFsgU2tpcCBdCi1odHRwL3Rl
c3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvdXNlci1pbnRlcmFjdGlvbi1yZXBvcnRlZC1hZnRl
ci13ZWJzaXRlLWRhdGEtcmVtb3ZhbC1kYXRhYmFzZS5odG1sIFsgU2tpcCBdCiAjIFNraXBwZWQg
aW4gV0syIGV4cGVjdGF0aW9ucyBiZWNhdXNlIGNvb2tpZSBwYXJ0aXRpb25pbmcgaXMgb25seSBh
dmFpbGFibGUgaW4gbWFjT1MgSGlnaCBTaWVycmEgYW5kIGlPUyAxMS4KIGh0dHAvdGVzdHMvcmVz
b3VyY2VMb2FkU3RhdGlzdGljcy9jb29raWUtZGVsZXRpb24uaHRtbCBbIFBhc3MgXQogaHR0cC90
ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2Nvb2tpZXMtd2l0aC1hbmQtd2l0aG91dC11c2Vy
LWludGVyYWN0aW9uLmh0bWwgWyBQYXNzIF0KQEAgLTI3MzQsNyArMjczMCw2IEBAIGh0dHAvdGVz
dHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9zdHJpcC1yZWZlcnJlci10by1vcmlnaW4tZm9yLXRo
aXJkLXBhcnR5LXJlcXVlCiAjIFRoZSBTYW1lU2l0ZSBjb29raWUgQVBJIGlzIG9ubHkgYXZhaWxh
YmxlIGluIG1hY09TIENhdGFsaW5hIGFuZCBhYm92ZSwgYW5kIHRodXMgc2tpcHBlZCBmb3IgV0sy
IGluIGdlbmVyYWwuCiBodHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3Mvc2V0LWFsbC1j
b29raWVzLXRvLXNhbWUtc2l0ZS1zdHJpY3QuaHRtbCBbIFBhc3MgXQogaHR0cC90ZXN0cy9yZXNv
dXJjZUxvYWRTdGF0aXN0aWNzL2VuZm9yY2Utc2FtZXNpdGUtc3RyaWN0LWJhc2VkLW9uLXRvcC1m
cmFtZS11bmlxdWUtcmVkaXJlY3RzLXRvLmh0bWwgWyBQYXNzIF0KLWh0dHAvdGVzdHMvcmVzb3Vy
Y2VMb2FkU3RhdGlzdGljcy9lbmZvcmNlLXNhbWVzaXRlLXN0cmljdC1iYXNlZC1vbi10b3AtZnJh
bWUtdW5pcXVlLXJlZGlyZWN0cy10by1kYXRhYmFzZS5odG1sIFsgUGFzcyBdCiAKIGh0dHAvdGVz
dHMvc3RvcmFnZUFjY2Vzcy9kZW55LXN0b3JhZ2UtYWNjZXNzLXVuZGVyLW9wZW5lci5odG1sIFsg
UGFzcyBdCiBodHRwL3Rlc3RzL3N0b3JhZ2VBY2Nlc3MvZGVueS1zdG9yYWdlLWFjY2Vzcy11bmRl
ci1vcGVuZXItaWYtYXV0by1kaXNtaXNzLmh0bWwgWyBQYXNzIF0KQEAgLTI3NDIsMTUgKzI3Mzcs
OSBAQCBodHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY2FwLWNhY2hlLW1heC1hZ2Ut
Zm9yLXByZXZhbGVudC1yZXNvdXJjZS5odG1sCiBodHRwL3Rlc3RzL3N0b3JhZ2VBY2Nlc3MvaGFz
LXN0b3JhZ2UtYWNjZXNzLWZhbHNlLWJ5LWRlZmF1bHQuaHRtbCBbIFBhc3MgXQogaHR0cC90ZXN0
cy9zdG9yYWdlQWNjZXNzL2hhcy1zdG9yYWdlLWFjY2Vzcy1mYWxzZS1ieS1kZWZhdWx0LWVwaGVt
ZXJhbC5odG1sIFsgUGFzcyBdCiBodHRwL3Rlc3RzL3N0b3JhZ2VBY2Nlc3MvaGFzLXN0b3JhZ2Ut
YWNjZXNzLXRydWUtaWYtdGhpcmQtcGFydHktaGFzLWNvb2tpZXMuaHRtbCBbIFBhc3MgVGltZW91
dCBdCi1odHRwL3Rlc3RzL3N0b3JhZ2VBY2Nlc3MvaGFzLXN0b3JhZ2UtYWNjZXNzLXRydWUtaWYt
dGhpcmQtcGFydHktaGFzLWNvb2tpZXMtZGF0YWJhc2UuaHRtbCBbIFBhc3MgVGltZW91dCBdCi1o
dHRwL3Rlc3RzL3N0b3JhZ2VBY2Nlc3MvZGVueS1zdG9yYWdlLWFjY2Vzcy11bmRlci1vcGVuZXIt
ZGF0YWJhc2UuaHRtbCBbIFBhc3MgXQotaHR0cC90ZXN0cy9zdG9yYWdlQWNjZXNzL2Rlbnktc3Rv
cmFnZS1hY2Nlc3MtdW5kZXItb3BlbmVyLWlmLWF1dG8tZGlzbWlzcy1kYXRhYmFzZS5odG1sIFsg
UGFzcyBdCi1odHRwL3Rlc3RzL3N0b3JhZ2VBY2Nlc3MvaGFzLXN0b3JhZ2UtYWNjZXNzLWZhbHNl
LWJ5LWRlZmF1bHQtZGF0YWJhc2UuaHRtbCBbIFBhc3MgXQotaHR0cC90ZXN0cy9zdG9yYWdlQWNj
ZXNzL2hhcy1zdG9yYWdlLWFjY2Vzcy1mYWxzZS1ieS1kZWZhdWx0LWVwaGVtZXJhbC1kYXRhYmFz
ZS5odG1sIFsgUGFzcyBdCiAKICMgRW5hYmxlIGFnYWluIHdoZW4gZml4aW5nIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDg0MDAuCiBodHRwL3Rlc3RzL3N0b3JhZ2VB
Y2Nlc3MvaGFzLXN0b3JhZ2UtYWNjZXNzLXRydWUtaWYtdGhpcmQtcGFydHktaGFzLWNvb2tpZXMt
ZXBoZW1lcmFsLmh0bWwgWyBTa2lwIF0KLWh0dHAvdGVzdHMvc3RvcmFnZUFjY2Vzcy9oYXMtc3Rv
cmFnZS1hY2Nlc3MtdHJ1ZS1pZi10aGlyZC1wYXJ0eS1oYXMtY29va2llcy1lcGhlbWVyYWwtZGF0
YWJhc2UuaHRtbCBbIFNraXAgXQogCiAjIFNraXBwZWQgaW4gZ2VuZXJhbCBleHBlY3RhdGlvbnMg
c2luY2UgdGhleSBvbmx5IHdvcmsgb24gaU9TIGFuZCBNYWMsIFdLMi4KIGh0dHAvdGVzdHMvc2Vj
dXJpdHkvc3RyaXAtcmVmZXJyZXItdG8tb3JpZ2luLWZvci10aGlyZC1wYXJ0eS1yZWRpcmVjdHMt
aW4tcHJpdmF0ZS1tb2RlLmh0bWwgWyBQYXNzIF0KQEAgLTI4OTUsNyArMjg4NCw2IEBAIHdlYmtp
dC5vcmcvYi8xNzc0NDUgZmFzdC9sb2FkZXIvZm9ybS1zdWJtaXNzaW9uLWFmdGVyLWJlZm9yZXVu
bG9hZC1jYW5jZWwuaHRtbCBbCiB3ZWJraXQub3JnL2IvMTc3Mzk3IGNvbXBvc2l0aW5nL21hc2tz
L2NvbXBvc2l0aW5nLWNsaXAtcGF0aC1jaGFuZ2Utbm8tcmVwYWludC5odG1sIFsgUGFzcyBGYWls
dXJlIF0KIAogd2Via2l0Lm9yZy9iLzE3NzYxNyBodHRwL3Rlc3RzL3N0b3JhZ2VBY2Nlc3MvcmVx
dWVzdC1zdG9yYWdlLWFjY2Vzcy10b3AtZnJhbWUuaHRtbCBbIFBhc3MgVGltZW91dCBdCi1odHRw
L3Rlc3RzL3N0b3JhZ2VBY2Nlc3MvcmVxdWVzdC1zdG9yYWdlLWFjY2Vzcy10b3AtZnJhbWUtZGF0
YWJhc2UuaHRtbCBbIFBhc3MgVGltZW91dCBdCiAKIHdlYmtpdC5vcmcvYi8xNzc1NDcgaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9zZWN1cml0eS9kYW5nbGluZy1tYXJrdXAt
bWl0aWdhdGlvbi1kYXRhLXVybC50ZW50YXRpdmUuc3ViLmh0bWwgWyBQYXNzIEZhaWx1cmUgXQog
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtd2syL1Rlc3RFeHBlY3RhdGlv
bnMgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtd2syL1Rlc3RFeHBlY3RhdGlvbnMKaW5kZXgg
MTQyYjQxZDhiZjk2M2NmYjk0N2RjMTg4OTA0OWY2NTI4MzZlMTQ4NS4uOGRiYzgxOGM1NGEwMzVm
ZGIzZmJjNjQ4OTkwOTRmMDBiMGQ5NzFhYiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZv
cm0vbWFjLXdrMi9UZXN0RXhwZWN0YXRpb25zCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21h
Yy13azIvVGVzdEV4cGVjdGF0aW9ucwpAQCAtNjM5LDE3ICs2MzksMTQgQEAgd2Via2l0Lm9yZy9i
LzE4NzY0OSBlZGl0aW5nL3NlbGVjdGlvbi91cGRhdGUtc2VsZWN0aW9uLWJ5LXN0eWxlLWNoYW5n
ZS5odG1sIFsgUGEKIGh0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy91c2VyLWludGVy
YWN0aW9uLWluLWNyb3NzLW9yaWdpbi1zdWItZnJhbWUuaHRtbCBbIFBhc3MgXQogaHR0cC90ZXN0
cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3VzZXItaW50ZXJhY3Rpb24tcmVwb3J0ZWQtYWZ0ZXIt
d2Vic2l0ZS1kYXRhLXJlbW92YWwuaHRtbCBbIFBhc3MgXQogaHR0cC90ZXN0cy9zdG9yYWdlQWNj
ZXNzLyBbIFBhc3MgXQotaHR0cC90ZXN0cy9zdG9yYWdlQWNjZXNzL3JlcXVlc3QtYW5kLWdyYW50
LWFjY2Vzcy10aGVuLW5hdmlnYXRlLWNyb3NzLXNpdGUtc2hvdWxkLW5vdC1oYXZlLWFjY2Vzcy1k
YXRhYmFzZS5odG1sIFsgUGFzcyBUaW1lb3V0IF0KK2h0dHAvdGVzdHMvc3RvcmFnZUFjY2Vzcy9y
ZXF1ZXN0LWFuZC1ncmFudC1hY2Nlc3MtdGhlbi1uYXZpZ2F0ZS1jcm9zcy1zaXRlLXNob3VsZC1u
b3QtaGF2ZS1hY2Nlc3MuaHRtbCBbIFBhc3MgVGltZW91dCBdCiBodHRwL3Rlc3RzL3N0b3JhZ2VB
Y2Nlc3MvZGVueS13aXRoLXByb21wdC1kb2VzLW5vdC1wcmVzZXJ2ZS1nZXN0dXJlLmh0bWwgWyBT
a2lwIF0KLWh0dHAvdGVzdHMvc3RvcmFnZUFjY2Vzcy9kZW55LXdpdGgtcHJvbXB0LWRvZXMtbm90
LXByZXNlcnZlLWdlc3R1cmUtZGF0YWJhc2UuaHRtbCBbIFNraXAgXQogCiAjIEVuYWJsZSBhZ2Fp
biB3aGVuIGZpeGluZyBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjA4
NDAwLgotaHR0cC90ZXN0cy9zdG9yYWdlQWNjZXNzL2hhcy1zdG9yYWdlLWFjY2Vzcy10cnVlLWlm
LXRoaXJkLXBhcnR5LWhhcy1jb29raWVzLWVwaGVtZXJhbC1kYXRhYmFzZS5odG1sIFsgU2tpcCBd
CiBodHRwL3Rlc3RzL3N0b3JhZ2VBY2Nlc3MvaGFzLXN0b3JhZ2UtYWNjZXNzLXRydWUtaWYtdGhp
cmQtcGFydHktaGFzLWNvb2tpZXMtZXBoZW1lcmFsLmh0bWwgWyBTa2lwIF0KIAogIyBBcyBvZiBo
dHRwczovL3RyYWMud2Via2l0Lm9yZy9jaGFuZ2VzZXQvMjI3NzYyIHRoZSB0aW1lc3RhbXBSZXNv
bHV0aW9uIGlzIGp1c3QgNSBzZWNvbmRzIHdoaWNoIG1ha2VzIHRoaXMgdGVzdCBmbGFreQogaHR0
cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3VzZXItaW50ZXJhY3Rpb24tb25seS1yZXBv
cnRlZC1vbmNlLXdpdGhpbi1zaG9ydC1wZXJpb2Qtb2YtdGltZS5odG1sIFsgU2tpcCBdCi1odHRw
L3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvdXNlci1pbnRlcmFjdGlvbi1vbmx5LXJlcG9y
dGVkLW9uY2Utd2l0aGluLXNob3J0LXBlcmlvZC1vZi10aW1lLWRhdGFiYXNlLmh0bWwgWyBTa2lw
IF0KIAogd2Via2l0Lm9yZy9iLzE3Mzg2MSBbIFJlbGVhc2UgXSBodHRwL3Rlc3RzL3dlYnJ0Yy9m
aWx0ZXJpbmctaWNlLWNhbmRpZGF0ZS1zYW1lLW9yaWdpbi1mcmFtZS5odG1sIFsgUGFzcyBUaW1l
b3V0IF0KIHdlYmtpdC5vcmcvYi8xNzM4NjEgWyBSZWxlYXNlIF0gaHR0cC90ZXN0cy93ZWJydGMv
ZmlsdGVyaW5nLWljZS1jYW5kaWRhdGUtY3Jvc3Mtb3JpZ2luLWZyYW1lLmh0bWwgWyBQYXNzIFRp
bWVvdXQgXQpAQCAtNzEwLDcgKzcwNyw2IEBAIGh0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlz
dGljcy9jYXAtY2FjaGUtbWF4LWFnZS1mb3ItcHJldmFsZW50LXJlc291cmNlLmh0bWwKICMgVGhl
IFNhbWVTaXRlIGNvb2tpZSBBUEkgaXMgb25seSBhdmFpbGFibGUgaW4gbWFjT1MgQ2F0YWxpbmEg
YW5kIGFib3ZlLgogWyBDYXRhbGluYSsgXSBodHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3Rp
Y3Mvc2V0LWFsbC1jb29raWVzLXRvLXNhbWUtc2l0ZS1zdHJpY3QuaHRtbCBbIFBhc3MgXQogWyBD
YXRhbGluYSsgXSBodHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvZW5mb3JjZS1zYW1l
c2l0ZS1zdHJpY3QtYmFzZWQtb24tdG9wLWZyYW1lLXVuaXF1ZS1yZWRpcmVjdHMtdG8uaHRtbCBb
IFBhc3MgXQotWyBDYXRhbGluYSsgXSBodHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3Mv
ZW5mb3JjZS1zYW1lc2l0ZS1zdHJpY3QtYmFzZWQtb24tdG9wLWZyYW1lLXVuaXF1ZS1yZWRpcmVj
dHMtdG8tZGF0YWJhc2UuaHRtbCBbIFBhc3MgXQogCiAjIFRoZSBDTkFNRSBhbmQgY29va2llIHRy
YW5zZm9ybSBTUElzIGFyZSBvbmx5IGF2YWlsYWJsZSBpbiBtYWNPUyBCaWcgU3VyIGFuZCBhYm92
ZS4KIFsgQmlnU3VyKyBdIGh0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jbmFtZS1j
bG9ha2luZy10b3AtY25hbWUtc3ViLTFwLWNuYW1lLmh0bWwgWyBQYXNzIF0KQEAgLTg0OSw3ICs4
NDUsNyBAQCB3ZWJraXQub3JnL2IvMTk2NDAzIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvbWVkaWFjYXB0dXJlLXJlY29yZC9NZWRpYVJlYwogCiB3ZWJraXQub3JnL2IvMTg3MzkxIGFj
Y2Vzc2liaWxpdHkvbWFjL2FzeW5jLWluY3JlbWVudC1kZWNyZW1lbnQtYWN0aW9uLmh0bWwgWyBT
a2lwIF0KIAotaHR0cC90ZXN0cy9zdG9yYWdlQWNjZXNzL3JlcXVlc3QtYW5kLWdyYW50LWFjY2Vz
cy1jcm9zcy1vcmlnaW4tc2FuZGJveGVkLWlmcmFtZS1mcm9tLXByZXZhbGVudC1kb21haW4td2l0
aC11c2VyLWludGVyYWN0aW9uLWJ1dC1hY2Nlc3MtZnJvbS13cm9uZy1mcmFtZS1kYXRhYmFzZS5o
dG1sIFsgUGFzcyBUaW1lb3V0IF0KK2h0dHAvdGVzdHMvc3RvcmFnZUFjY2Vzcy9yZXF1ZXN0LWFu
ZC1ncmFudC1hY2Nlc3MtY3Jvc3Mtb3JpZ2luLXNhbmRib3hlZC1pZnJhbWUtZnJvbS1wcmV2YWxl
bnQtZG9tYWluLXdpdGgtdXNlci1pbnRlcmFjdGlvbi1idXQtYWNjZXNzLWZyb20td3JvbmctZnJh
bWUuaHRtbCBbIFBhc3MgVGltZW91dCBdCiAKIHdlYmtpdC5vcmcvYi8xOTcwNjggWyBEZWJ1ZyBd
IGZhc3Qvc2VsZWN0b3JzL2lzLWJhY2t0cmFja2luZy5odG1sIFsgUGFzcyBUaW1lb3V0IF0KIHdl
YmtpdC5vcmcvYi8xOTcwNjggWyBEZWJ1ZyBdIGZhc3Qvc2VsZWN0b3JzL21hdGNoZXMtYmFja3Ry
YWNraW5nLmh0bWwgWyBQYXNzIFRpbWVvdXQgXQpAQCAtMTA2MSw4ICsxMDU3LDYgQEAgd2Via2l0
Lm9yZy9iLzIxMzI5MiBbIENhdGFsaW5hIFJlbGVhc2UgXSBodHRwL3Rlc3RzL0luZGV4ZWREQi9z
dG9yYWdlLWxpbWl0LTEuaHQKIAogd2Via2l0Lm9yZy9iLzIxMzQ2MSBmYXN0L21lZGlhc3RyZWFt
L21lZGlhc3RyZWFtdHJhY2stdmlkZW8tZnJhbWVSYXRlLWNsb25lLWluY3JlYXNpbmcuaHRtbCBb
IFBhc3MgRmFpbHVyZSBdCiAKLXdlYmtpdC5vcmcvYi8yMTM1NTMgaHR0cC90ZXN0cy9yZXNvdXJj
ZUxvYWRTdGF0aXN0aWNzL2dyYW5kZmF0aGVyaW5nLWRhdGFiYXNlLmh0bWwgWyBQYXNzIFRpbWVv
dXQgXQotCiB3ZWJraXQub3JnL2IvMjEzNjIxIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvd2VicnRjL1JUQ1J0cFJlY2VpdmVyLWdldENvbnRyaWJ1dGluZ1NvdXJjZXMuaHR0cHMuaHRt
bCBbIFBhc3MgRmFpbHVyZSBdCiAKIHdlYmtpdC5vcmcvYi8yMTM2NTIgd2VicnRjL3ZpZGVvLWF1
dG9wbGF5MS5odG1sIFsgUGFzcyBGYWlsdXJlIF0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3Bs
YXRmb3JtL3drMi9UZXN0RXhwZWN0YXRpb25zIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2syL1Rl
c3RFeHBlY3RhdGlvbnMKaW5kZXggMWI4NDk0MzU5ZDY1MjIyM2RlYTk4OGI2YjRhOTZkYjU1YjUw
ODY2NC4uZjRlZTJmZDkxN2FhODIzZTc1ZGYxY2IwOGRiYzVhYThkY2JkYjZkZSAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2syL1Rlc3RFeHBlY3RhdGlvbnMKKysrIGIvTGF5b3V0
VGVzdHMvcGxhdGZvcm0vd2syL1Rlc3RFeHBlY3RhdGlvbnMKQEAgLTczNCw3ICs3MzQsNiBAQCBo
dHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvZXhlbXB0RG9tYWlucy8gWyBTa2lwIF0K
ICMgVGhlIFNhbWVTaXRlIGNvb2tpZSBBUEkgaXMgb25seSBhdmFpbGFibGUgaW4gbWFjT1MgQ2F0
YWxpbmEgYW5kIGFib3ZlLgogaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3NldC1h
bGwtY29va2llcy10by1zYW1lLXNpdGUtc3RyaWN0Lmh0bWwgWyBTa2lwIF0KIGh0dHAvdGVzdHMv
cmVzb3VyY2VMb2FkU3RhdGlzdGljcy9lbmZvcmNlLXNhbWVzaXRlLXN0cmljdC1iYXNlZC1vbi10
b3AtZnJhbWUtdW5pcXVlLXJlZGlyZWN0cy10by5odG1sIFsgU2tpcCBdCi1odHRwL3Rlc3RzL3Jl
c291cmNlTG9hZFN0YXRpc3RpY3MvZW5mb3JjZS1zYW1lc2l0ZS1zdHJpY3QtYmFzZWQtb24tdG9w
LWZyYW1lLXVuaXF1ZS1yZWRpcmVjdHMtdG8tZGF0YWJhc2UuaHRtbCBbIFNraXAgXQogCiAjIFRo
ZSBDTkFNRSBhbmQgY29va2llIHRyYW5zZm9ybSBTUElzIGFyZSBvbmx5IGF2YWlsYWJsZSBpbiBt
YWNPUyBCaWcgU3VyICsgaU9TIDE0IGFuZCBhYm92ZS4KIGh0dHAvdGVzdHMvcmVzb3VyY2VMb2Fk
U3RhdGlzdGljcy9jbmFtZS1jbG9ha2luZy10b3AtY25hbWUtc3ViLTFwLWNuYW1lLmh0bWwgWyBT
a2lwIF0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL3dwZS9UZXN0RXhwZWN0YXRp
b25zIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd3BlL1Rlc3RFeHBlY3RhdGlvbnMKaW5kZXggZDM5
YjhkNmQxOTk2MDNhOTg5ZTZjNzE2MDliM2VhOGZjODgxYmQ3ZC4uMjhkMTkzMTNhYmZjNDNjNmFj
ODFkZmNlNWRhYzYxMTE4NmJkMWI0MyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0v
d3BlL1Rlc3RFeHBlY3RhdGlvbnMKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd3BlL1Rlc3RF
eHBlY3RhdGlvbnMKQEAgLTY0Miw3ICs2NDIsNiBAQCBtZWRpYS9tZWRpYS11c2FnZS1zdGF0ZS5o
dG1sIFsgU2tpcCBdCiBtZWRpYS9tZWRpYS11c2FnZS1zdGF0ZS1wcml2YXRlLWJyb3dzaW5nLmh0
bWwgWyBTa2lwIF0KIG1lZGlhL25vdy1wbGF5aW5nLXN0YXR1cy13aXRob3V0LW1lZGlhLmh0bWwg
WyBTa2lwIF0KIAotd2Via2l0Lm9yZy9iLzIxMDQ4NyBodHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0
YXRpc3RpY3Mvc3dpdGNoLXNlc3Npb24tb24tbmF2aWdhdGlvbi10by1wcmV2YWxlbnQtd2l0aC1p
bnRlcmFjdGlvbi1kYXRhYmFzZS5waHAgWyBGYWlsdXJlIF0KIHdlYmtpdC5vcmcvYi8yMTA0ODcg
aHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3N3aXRjaC1zZXNzaW9uLW9uLW5hdmln
YXRpb24tdG8tcHJldmFsZW50LXdpdGgtaW50ZXJhY3Rpb24ucGhwIFsgRmFpbHVyZSBdCiAKICMg
RmFpbGluZyBpbiB0ZXN0IGJvdHMuIFN0YXJ0ZWQgZmFpbGluZyBzaW5jZSByMjYwNjE1Lgo=
</data>
<flag name="review"
          id="425750"
          type_id="1"
          status="+"
          setter="wilander"
    />
    <flag name="commit-queue"
          id="425831"
          type_id="3"
          status="-"
          setter="wilander"
    />
          </attachment>
      

    </bug>

</bugzilla>