<?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>207271</bug_id>
          
          <creation_ts>2020-02-05 09:14:02 -0800</creation_ts>
          <short_desc>REGRESSION (r252014?): [ Mac wk2 ] http/tests/resourceLoadStatistics/log-cross-site-load-with-link-decoration.html is a flaky failure</short_desc>
          <delta_ts>2020-02-09 13:37:01 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Layout and Rendering</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=197109</see_also>
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Jason Lawrence">Lawrence.j</reporter>
          <assigned_to name="Kate Cheney">katherine_cheney</assigned_to>
          <cc>ap</cc>
    
    <cc>bfulgham</cc>
    
    <cc>commit-queue</cc>
    
    <cc>katherine_cheney</cc>
    
    <cc>mjs</cc>
    
    <cc>tsavell</cc>
    
    <cc>webkit-bot-watchers-bugzilla</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>wilander</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1615073</commentid>
    <comment_count>0</comment_count>
    <who name="Jason Lawrence">Lawrence.j</who>
    <bug_when>2020-02-05 09:14:02 -0800</bug_when>
    <thetext>http/tests/resourceLoadStatistics/log-cross-site-load-with-link-decoration.html

Description:
This test is flaky failing on Mac wk2 with a possible regression on r252014.

History:
https://results.webkit.org/?platform=ios&amp;platform=mac&amp;limit=50000&amp;suite=layout-tests&amp;test=http%2Ftests%2FresourceLoadStatistics%2Flog-cross-site-load-with-link-decoration.html

Diff:
--- /Volumes/Data/slave/catalina-debug-tests-wk2/build/layout-test-results/http/tests/resourceLoadStatistics/log-cross-site-load-with-link-decoration-expected.txt
+++ /Volumes/Data/slave/catalina-debug-tests-wk2/build/layout-test-results/http/tests/resourceLoadStatistics/log-cross-site-load-with-link-decoration-actual.txt
@@ -10,7 +10,7 @@
         127.0.0.1
     topFrameLinkDecorationsFrom:
         127.0.0.1
-    gotLinkDecorationFromPrevalentResource: Yes
+    gotLinkDecorationFromPrevalentResource: No
     isPrevalentResource: No
     isVeryPrevalentResource: No
     dataRecordsRemoved: 0</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1615077</commentid>
    <comment_count>1</comment_count>
      <attachid>389817</attachid>
    <who name="Jason Lawrence">Lawrence.j</who>
    <bug_when>2020-02-05 09:17:32 -0800</bug_when>
    <thetext>Created attachment 389817
Update Test Expectations</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1615078</commentid>
    <comment_count>2</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2020-02-05 09:19:16 -0800</bug_when>
    <thetext>&lt;rdar://problem/59190346&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1615079</commentid>
    <comment_count>3</comment_count>
      <attachid>389817</attachid>
    <who name="Truitt Savell">tsavell</who>
    <bug_when>2020-02-05 09:23:03 -0800</bug_when>
    <thetext>Comment on attachment 389817
Update Test Expectations

Clearing flags on attachment: 389817

Committed r255820: &lt;https://trac.webkit.org/changeset/255820&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1615832</commentid>
    <comment_count>4</comment_count>
      <attachid>390000</attachid>
    <who name="Kate Cheney">katherine_cheney</who>
    <bug_when>2020-02-06 14:38:07 -0800</bug_when>
    <thetext>Created attachment 390000
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1615859</commentid>
    <comment_count>5</comment_count>
      <attachid>390000</attachid>
    <who name="John Wilander">wilander</who>
    <bug_when>2020-02-06 15:05:13 -0800</bug_when>
    <thetext>Comment on attachment 390000
Patch

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

&gt; Source/WebKit/NetworkProcess/Classifier/ResourceLoadStatisticsStore.cpp:238
&gt; +    if (parameters().isRunningTest &amp;&amp; !m_parameters.shouldNotifyPagesWhenDataRecordsWereScanned)

This will make us rely on all relevant tests that set isRunningTest to also set shouldNotifyPagesWhenDataRecordsWereScanned. Do they today? An easy way to check could be to grep for both and diff the list. For cases where only one is set, we&apos;d have to audit if that&apos;s correct. (Ideally, test results on the bots should give us the answer but …)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1615895</commentid>
    <comment_count>6</comment_count>
    <who name="Kate Cheney">katherine_cheney</who>
    <bug_when>2020-02-06 15:41:20 -0800</bug_when>
    <thetext>(In reply to John Wilander from comment #5)
&gt; Comment on attachment 390000 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=390000&amp;action=review
&gt; 
&gt; &gt; Source/WebKit/NetworkProcess/Classifier/ResourceLoadStatisticsStore.cpp:238
&gt; &gt; +    if (parameters().isRunningTest &amp;&amp; !m_parameters.shouldNotifyPagesWhenDataRecordsWereScanned)
&gt; 
&gt; This will make us rely on all relevant tests that set isRunningTest to also
&gt; set shouldNotifyPagesWhenDataRecordsWereScanned. Do they today? An easy way
&gt; to check could be to grep for both and diff the list. For cases where only
&gt; one is set, we&apos;d have to audit if that&apos;s correct. (Ideally, test results on
&gt; the bots should give us the answer but …)

Good catch! About to upload a new patch with isRunningTest added to a few stray tests.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1615934</commentid>
    <comment_count>7</comment_count>
      <attachid>390028</attachid>
    <who name="Kate Cheney">katherine_cheney</who>
    <bug_when>2020-02-06 16:51:20 -0800</bug_when>
    <thetext>Created attachment 390028
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1615938</commentid>
    <comment_count>8</comment_count>
      <attachid>390028</attachid>
    <who name="John Wilander">wilander</who>
    <bug_when>2020-02-06 16:56:28 -0800</bug_when>
    <thetext>Comment on attachment 390028
Patch

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

&gt; Source/WebKit/NetworkProcess/Classifier/ResourceLoadStatisticsStore.cpp:238
&gt; +    if (parameters().isRunningTest &amp;&amp; !m_parameters.shouldNotifyPagesWhenDataRecordsWereScanned)

There are the two TestRunner functions installStatisticsDidModifyDataRecordsCallback() and installStatisticsDidScanDataRecordsCallback(). Will they still work with this change? I&apos;m thinking the *Modify* version might get neutered. But I&apos;m not sure we&apos;re still using both.

&gt; LayoutTests/ChangeLog:10
&gt; +        setEnableFeature(true) at test setup and setEnableFeature(false) when

Excellent.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1615944</commentid>
    <comment_count>9</comment_count>
      <attachid>390028</attachid>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2020-02-06 17:16:27 -0800</bug_when>
    <thetext>Comment on attachment 390028
Patch

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

&gt;&gt; LayoutTests/ChangeLog:10
&gt;&gt; +        setEnableFeature(true) at test setup and setEnableFeature(false) when
&gt; 
&gt; Excellent.

Does this mean that later tests can misbehave if an exception is raised in a prior one, resulting in no setEnableFeature(false) call? Can this be guarded against in Internals?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1616157</commentid>
    <comment_count>10</comment_count>
    <who name="Kate Cheney">katherine_cheney</who>
    <bug_when>2020-02-07 08:34:31 -0800</bug_when>
    <thetext>(In reply to John Wilander from comment #8)
&gt; Comment on attachment 390028 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=390028&amp;action=review
&gt; 
&gt; &gt; Source/WebKit/NetworkProcess/Classifier/ResourceLoadStatisticsStore.cpp:238
&gt; &gt; +    if (parameters().isRunningTest &amp;&amp; !m_parameters.shouldNotifyPagesWhenDataRecordsWereScanned)
&gt; 
&gt; There are the two TestRunner functions
&gt; installStatisticsDidModifyDataRecordsCallback() and
&gt; installStatisticsDidScanDataRecordsCallback(). Will they still work with
&gt; this change? I&apos;m thinking the *Modify* version might get neutered. But I&apos;m
&gt; not sure we&apos;re still using both.
&gt; 

It looks like installStatisticsDidModifyDataRecordsCallback is the callback for when website data is deleted, and installStatisticsDidScanDataRecordsCallback is for when website data is just scanned. So when we expect website data to be deleted, we should use installStatisticsDidModifyDataRecordsCallback, and manually call setStatisticsNotifyPagesWhenDataRecordsWereScanned.

This also means we can delete any calls to setStatisticsNotifyPagesWhenDataRecordsWereScanned when installStatisticsDidScanDataRecordsCallback is called, because the function does it already!


&gt; &gt; LayoutTests/ChangeLog:10
&gt; &gt; +        setEnableFeature(true) at test setup and setEnableFeature(false) when
&gt; 
&gt; Excellent.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1616169</commentid>
    <comment_count>11</comment_count>
    <who name="Kate Cheney">katherine_cheney</who>
    <bug_when>2020-02-07 08:45:32 -0800</bug_when>
    <thetext>(In reply to Alexey Proskuryakov from comment #9)
&gt; Comment on attachment 390028 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=390028&amp;action=review
&gt; 
&gt; &gt;&gt; LayoutTests/ChangeLog:10
&gt; &gt;&gt; +        setEnableFeature(true) at test setup and setEnableFeature(false) when
&gt; &gt; 
&gt; &gt; Excellent.
&gt; 
&gt; Does this mean that later tests can misbehave if an exception is raised in a
&gt; prior one, resulting in no setEnableFeature(false) call? Can this be guarded
&gt; against in Internals?

I definitely think some of the logic in setEnableFeature could be moved to TestController, but I think it&apos;s best to do it in another patch, because it would involve changing 150+ files and isn&apos;t directly related to this flaky test.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1616172</commentid>
    <comment_count>12</comment_count>
      <attachid>390087</attachid>
    <who name="Kate Cheney">katherine_cheney</who>
    <bug_when>2020-02-07 09:02:45 -0800</bug_when>
    <thetext>Created attachment 390087
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1616506</commentid>
    <comment_count>13</comment_count>
      <attachid>390087</attachid>
    <who name="Maciej Stachowiak">mjs</who>
    <bug_when>2020-02-07 19:01:14 -0800</bug_when>
    <thetext>Comment on attachment 390087
Patch

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1616524</commentid>
    <comment_count>14</comment_count>
    <who name="John Wilander">wilander</who>
    <bug_when>2020-02-07 20:44:06 -0800</bug_when>
    <thetext>Thanks for r+:ing, Maciej. I was going through my earlier comments and checking things and then got distracted. FWIW, looks good to me too.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1616525</commentid>
    <comment_count>15</comment_count>
    <who name="John Wilander">wilander</who>
    <bug_when>2020-02-07 20:45:14 -0800</bug_when>
    <thetext>Hmm, may be one test case that needs massaging. See the iOS bot.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1616689</commentid>
    <comment_count>16</comment_count>
    <who name="Kate Cheney">katherine_cheney</who>
    <bug_when>2020-02-09 12:39:15 -0800</bug_when>
    <thetext>(In reply to John Wilander from comment #15)
&gt; Hmm, may be one test case that needs massaging. See the iOS bot.

Checked it out and that one was broken (and fixed) in a separate patch. See https://bugs.webkit.org/show_bug.cgi?id=207382</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1616701</commentid>
    <comment_count>17</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2020-02-09 13:36:14 -0800</bug_when>
    <thetext>The commit-queue encountered the following flaky tests while processing attachment 390087:

fetch/fetch-worker-crash.html bug 187257 (author: youennf@gmail.com)
The commit-queue is continuing to process your patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1616702</commentid>
    <comment_count>18</comment_count>
      <attachid>390087</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2020-02-09 13:36:59 -0800</bug_when>
    <thetext>Comment on attachment 390087
Patch

Clearing flags on attachment: 390087

Committed r256104: &lt;https://trac.webkit.org/changeset/256104&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1616703</commentid>
    <comment_count>19</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2020-02-09 13:37:01 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>389817</attachid>
            <date>2020-02-05 09:17:32 -0800</date>
            <delta_ts>2020-02-05 09:34:49 -0800</delta_ts>
            <desc>Update Test Expectations</desc>
            <filename>bug-207271-20200205091732.patch</filename>
            <type>text/plain</type>
            <size>1547</size>
            <attacher name="Jason Lawrence">Lawrence.j</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjU1ODE4CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFu
Z2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggOTM5ZjQ2ODk4MWU0NDhkZDIyZDA4
N2E3NGEzMjgwYzFhMTE1ODhhOS4uMTc5YmMwOTY0MWJlZmUyZGI3ZjVlYmEyNDJhOGIxMWJhY2Nj
NzhiZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3Rz
L0NoYW5nZUxvZwpAQCAtMSwzICsxLDEyIEBACisyMDIwLTAyLTA1ICBKYXNvbiBMYXdyZW5jZSAg
PGxhd3JlbmNlLmpAYXBwbGUuY29tPgorCisgICAgICAgIFJlZ3Jlc3Npb24gKHIyNTIwMTQ/KSBb
IE1hYyB3azIgXSBodHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvbG9nLWNyb3NzLXNp
dGUtbG9hZC13aXRoLWxpbmstZGVjb3JhdGlvbi5odG1sIGlzIGZsYWt5IGZhaWxpbmcuCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDcyNzEKKworICAg
ICAgICBVbnJldmlld2VkIHRlc3QgZ2FyZGVuaW5nLgorCisgICAgICAgICogcGxhdGZvcm0vbWFj
LXdrMi9UZXN0RXhwZWN0YXRpb25zOgorCiAyMDIwLTAyLTA1ICB5b3Vlbm4gZmFibGV0ICA8eW91
ZW5uQGFwcGxlLmNvbT4KIAogICAgICAgICBbQ29jb2FdIFVzZSBBVkFzc2V0V3JpdGVyRGVsZWdh
dGUgdG8gaW1wbGVtZW50IE1lZGlhUmVjb3JkZXIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3Bs
YXRmb3JtL21hYy13azIvVGVzdEV4cGVjdGF0aW9ucyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21h
Yy13azIvVGVzdEV4cGVjdGF0aW9ucwppbmRleCAyNjg4YTVkZTQxMjIzNjkyYWUxN2RkMTZjY2Q1
NWQ3MjIwZTQ3MmFhLi5lYmZiNzhjNzA4Yzc4NmNmOWRiNzk4ZTg4OTIzYmE0Zjk0YTRmZjcwIDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtd2syL1Rlc3RFeHBlY3RhdGlvbnMK
KysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLXdrMi9UZXN0RXhwZWN0YXRpb25zCkBAIC05
OTEsNCArOTkxLDYgQEAgd2Via2l0Lm9yZy9iLzIwNjYyNyBzdG9yYWdlL3dlYnNxbCBbIFNraXAg
XQogCiB3ZWJraXQub3JnL2IvMjA3MjY3IHdlYmdwdS93aGxzbC9lbnN1cmUtcHJvcGVyLXZhcmlh
YmxlLWxpZmV0aW1lLmh0bWwgWyBQYXNzIEZhaWx1cmUgXQogCi13ZWJraXQub3JnL2IvMjA3MjY5
IFsgRGVidWcgXSBodHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9oeWJpL3dvcmtlcnMvY2xvc2Uu
aHRtbCBbIFBhc3MgQ3Jhc2ggXQpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKK3dlYmtpdC5v
cmcvYi8yMDcyNjkgWyBEZWJ1ZyBdIGh0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2h5Ymkvd29y
a2Vycy9jbG9zZS5odG1sIFsgUGFzcyBDcmFzaCBdCisKK3dlYmtpdC5vcmcvYi8yMDcyNzEgaHR0
cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2xvZy1jcm9zcy1zaXRlLWxvYWQtd2l0aC1s
aW5rLWRlY29yYXRpb24uaHRtbCBbIFBhc3MgRmFpbHVyZSBdClwgTm8gbmV3bGluZSBhdCBlbmQg
b2YgZmlsZQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>390000</attachid>
            <date>2020-02-06 14:38:07 -0800</date>
            <delta_ts>2020-02-06 16:51:19 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-207271-20200206143807.patch</filename>
            <type>text/plain</type>
            <size>1858</size>
            <attacher name="Kate Cheney">katherine_cheney</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjU1OTU1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGIwZDViY2U1OTBjMTQ3OTdj
M2FmYjQ2MjAzNTM4Y2I4ZWVmNzY3MTUuLmRhNWQ1MjhmYTAzY2I3NTFiOWE4ODJlZTExMDlmMWQ0
MGE4NDQyMjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTggQEAKKzIwMjAtMDItMDYgIEthdGUgQ2hl
bmV5ICA8a2F0aGVyaW5lX2NoZW5leUBhcHBsZS5jb20+CisKKyAgICAgICAgWyBNYWMgd2syIF0g
aHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2xvZy1jcm9zcy1zaXRlLWxvYWQtd2l0
aC1saW5rLWRlY29yYXRpb24uaHRtbCBpcyBhIGZsYWt5IGZhaWx1cmUKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwNzI3MQorICAgICAgICA8cmRhcjov
L3Byb2JsZW0vNTkxOTAzNDY+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgVGhpcyBwYXRjaCBhZGRzIGEgY2hlY2sgdG8gbWFrZSBzdXJlIGEgdGVzdCBp
cyBleHBlY3RpbmcgYSBzdGF0aXN0aWNzCisgICAgICAgIHByb2Nlc3NpbmcgY2FsbCBiZWZvcmUg
cHJvY2VlZGluZy4gT3RoZXJ3aXNlLCB0aGlzIGNhbiBjYXVzZQorICAgICAgICBmbGFraW5lc3Mg
aW4gSVRQIHRlc3RzIGlmIGRhdGEgaXMgcmVtb3ZlZC9jaGFuZ2VkIGR1cmluZyB0aGUgdGVzdC4K
KworICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL0NsYXNzaWZpZXIvUmVzb3VyY2VMb2FkU3RhdGlz
dGljc1N0b3JlLmNwcDoKKyAgICAgICAgKFdlYktpdDo6UmVzb3VyY2VMb2FkU3RhdGlzdGljc1N0
b3JlOjpwcm9jZXNzU3RhdGlzdGljc0FuZERhdGFSZWNvcmRzKToKKwogMjAyMC0wMi0wNiAgQ2hy
aXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgogCiAgICAgICAgIFtJUEMgaGFyZGVuaW5nXSBV
cGRhdGUgV2ViUGFzdGVib2FyZFByb3h5IG1ldGhvZHMgdG8gdmFsaWRhdGUgdGhlaXIgcGFyYW1l
dGVycwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9DbGFzc2lmaWVy
L1Jlc291cmNlTG9hZFN0YXRpc3RpY3NTdG9yZS5jcHAgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQ
cm9jZXNzL0NsYXNzaWZpZXIvUmVzb3VyY2VMb2FkU3RhdGlzdGljc1N0b3JlLmNwcAppbmRleCAw
MWU4Zjc5YzE1ZmFlNmJmYzM4NjZlYTg5OWRjZGZkNzdmN2EyNjg0Li4yMDgyMjRhM2UyNmMxMjU2
MmU3NWEwN2FlNTNlNTQxN2E1YzBmMmViIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L05ldHdv
cmtQcm9jZXNzL0NsYXNzaWZpZXIvUmVzb3VyY2VMb2FkU3RhdGlzdGljc1N0b3JlLmNwcAorKysg
Yi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL0NsYXNzaWZpZXIvUmVzb3VyY2VMb2FkU3Rh
dGlzdGljc1N0b3JlLmNwcApAQCAtMjM1LDYgKzIzNSw5IEBAIHZvaWQgUmVzb3VyY2VMb2FkU3Rh
dGlzdGljc1N0b3JlOjpwcm9jZXNzU3RhdGlzdGljc0FuZERhdGFSZWNvcmRzKCkKIHsKICAgICBB
U1NFUlQoIVJ1bkxvb3A6OmlzTWFpbigpKTsKIAorICAgIGlmIChwYXJhbWV0ZXJzKCkuaXNSdW5u
aW5nVGVzdCAmJiAhbV9wYXJhbWV0ZXJzLnNob3VsZE5vdGlmeVBhZ2VzV2hlbkRhdGFSZWNvcmRz
V2VyZVNjYW5uZWQpCisgICAgICAgIHJldHVybjsKKwogICAgIGlmIChtX3BhcmFtZXRlcnMuc2hv
dWxkQ2xhc3NpZnlSZXNvdXJjZXNCZWZvcmVEYXRhUmVjb3Jkc1JlbW92YWwpCiAgICAgICAgIGNs
YXNzaWZ5UHJldmFsZW50UmVzb3VyY2VzKCk7CiAgICAgCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>390028</attachid>
            <date>2020-02-06 16:51:20 -0800</date>
            <delta_ts>2020-02-07 09:02:44 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-207271-20200206165120.patch</filename>
            <type>text/plain</type>
            <size>49946</size>
            <attacher name="Kate Cheney">katherine_cheney</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjU1OTU1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGIwZDViY2U1OTBjMTQ3OTdj
M2FmYjQ2MjAzNTM4Y2I4ZWVmNzY3MTUuLmRhNWQ1MjhmYTAzY2I3NTFiOWE4ODJlZTExMDlmMWQ0
MGE4NDQyMjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTggQEAKKzIwMjAtMDItMDYgIEthdGUgQ2hl
bmV5ICA8a2F0aGVyaW5lX2NoZW5leUBhcHBsZS5jb20+CisKKyAgICAgICAgWyBNYWMgd2syIF0g
aHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2xvZy1jcm9zcy1zaXRlLWxvYWQtd2l0
aC1saW5rLWRlY29yYXRpb24uaHRtbCBpcyBhIGZsYWt5IGZhaWx1cmUKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwNzI3MQorICAgICAgICA8cmRhcjov
L3Byb2JsZW0vNTkxOTAzNDY+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgVGhpcyBwYXRjaCBhZGRzIGEgY2hlY2sgdG8gbWFrZSBzdXJlIGEgdGVzdCBp
cyBleHBlY3RpbmcgYSBzdGF0aXN0aWNzCisgICAgICAgIHByb2Nlc3NpbmcgY2FsbCBiZWZvcmUg
cHJvY2VlZGluZy4gT3RoZXJ3aXNlLCB0aGlzIGNhbiBjYXVzZQorICAgICAgICBmbGFraW5lc3Mg
aW4gSVRQIHRlc3RzIGlmIGRhdGEgaXMgcmVtb3ZlZC9jaGFuZ2VkIGR1cmluZyB0aGUgdGVzdC4K
KworICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL0NsYXNzaWZpZXIvUmVzb3VyY2VMb2FkU3RhdGlz
dGljc1N0b3JlLmNwcDoKKyAgICAgICAgKFdlYktpdDo6UmVzb3VyY2VMb2FkU3RhdGlzdGljc1N0
b3JlOjpwcm9jZXNzU3RhdGlzdGljc0FuZERhdGFSZWNvcmRzKToKKwogMjAyMC0wMi0wNiAgQ2hy
aXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgogCiAgICAgICAgIFtJUEMgaGFyZGVuaW5nXSBV
cGRhdGUgV2ViUGFzdGVib2FyZFByb3h5IG1ldGhvZHMgdG8gdmFsaWRhdGUgdGhlaXIgcGFyYW1l
dGVycwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9DbGFzc2lmaWVy
L1Jlc291cmNlTG9hZFN0YXRpc3RpY3NTdG9yZS5jcHAgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQ
cm9jZXNzL0NsYXNzaWZpZXIvUmVzb3VyY2VMb2FkU3RhdGlzdGljc1N0b3JlLmNwcAppbmRleCAw
MWU4Zjc5YzE1ZmFlNmJmYzM4NjZlYTg5OWRjZGZkNzdmN2EyNjg0Li4yMDgyMjRhM2UyNmMxMjU2
MmU3NWEwN2FlNTNlNTQxN2E1YzBmMmViIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L05ldHdv
cmtQcm9jZXNzL0NsYXNzaWZpZXIvUmVzb3VyY2VMb2FkU3RhdGlzdGljc1N0b3JlLmNwcAorKysg
Yi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL0NsYXNzaWZpZXIvUmVzb3VyY2VMb2FkU3Rh
dGlzdGljc1N0b3JlLmNwcApAQCAtMjM1LDYgKzIzNSw5IEBAIHZvaWQgUmVzb3VyY2VMb2FkU3Rh
dGlzdGljc1N0b3JlOjpwcm9jZXNzU3RhdGlzdGljc0FuZERhdGFSZWNvcmRzKCkKIHsKICAgICBB
U1NFUlQoIVJ1bkxvb3A6OmlzTWFpbigpKTsKIAorICAgIGlmIChwYXJhbWV0ZXJzKCkuaXNSdW5u
aW5nVGVzdCAmJiAhbV9wYXJhbWV0ZXJzLnNob3VsZE5vdGlmeVBhZ2VzV2hlbkRhdGFSZWNvcmRz
V2VyZVNjYW5uZWQpCisgICAgICAgIHJldHVybjsKKwogICAgIGlmIChtX3BhcmFtZXRlcnMuc2hv
dWxkQ2xhc3NpZnlSZXNvdXJjZXNCZWZvcmVEYXRhUmVjb3Jkc1JlbW92YWwpCiAgICAgICAgIGNs
YXNzaWZ5UHJldmFsZW50UmVzb3VyY2VzKCk7CiAgICAgCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggZTRkZjAwOTNjMGMwYzA4
NGQwMTcyMDM0MzI1ODMzOGQ2NGQ1NmFhZi4uMzE1NzIwYmQ1MzcwNzk2ZGIyM2NkZjk1ZDg4YjNk
NGY4MjgyMWJmNyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91
dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDUwIEBACisyMDIwLTAyLTA2ICBLYXRlIENoZW5l
eSAgPGthdGhlcmluZV9jaGVuZXlAYXBwbGUuY29tPgorCisgICAgICAgIFsgTWFjIHdrMiBdIGh0
dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9sb2ctY3Jvc3Mtc2l0ZS1sb2FkLXdpdGgt
bGluay1kZWNvcmF0aW9uLmh0bWwgaXMgYSBmbGFreSBmYWlsdXJlCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDcyNzEKKyAgICAgICAgPHJkYXI6Ly9w
cm9ibGVtLzU5MTkwMzQ2PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgIFRoaXMgcGF0Y2ggdXBkYXRlcyBhbGwgSVRQIHRlc3RzIHRvIGZvbGxvdyB0aGUg
cGF0dGVybgorICAgICAgICBzZXRFbmFibGVGZWF0dXJlKHRydWUpIGF0IHRlc3Qgc2V0dXAgYW5k
IHNldEVuYWJsZUZlYXR1cmUoZmFsc2UpIHdoZW4KKyAgICAgICAgZmluaXNoZWQuIFRoaXMgZW5h
Ymxlcy9kaXNhYmxlcyBib3RoIElUUCBhbmQgdGhlIGlzUnVubmluZ1Rlc3QKKyAgICAgICAgcGFy
YW1ldGVyIHNvIHRlc3RzIGRvbid0IGhhdmUgdG8gbWFrZSB0d28gY2FsbHMuIEl0IGFsc28gZW5z
dXJlcyB0aGF0CisgICAgICAgIGVhY2ggdGVzdCB3aGljaCByZWxpZXMgb24gc3RhdGlzdGljcyBw
cm9jZXNzaW5nIG5vdGlmaWVzIHRoZSB0ZXN0UnVubmVyCisgICAgICAgIHNvIGl0IGtub3dzIHRv
IHdhaXQgZm9yIGEgY2FsbGJhY2suCisKKyAgICAgICAgVGhpcyB3aWxsIGhlbHAgbGltaXQgZmxh
a2luZXNzIGJ5IHByb2Nlc3Npbmcgc3RhdGlzdGljcyBvbmx5IGZvciBJVFAKKyAgICAgICAgdGVz
dHMgd2hpY2ggcmVxdWlyZSBpdCBmb3IgdGhlaXIgcHVycG9zZS4KKworICAgICAgICAqIGh0dHAv
dGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jbGFzc2lmeS1hcy1ub24tcHJldmFsZW50LWJh
c2VkLW9uLW1peGVkLXN0YXRpc3RpY3MtZGF0YWJhc2UuaHRtbDoKKyAgICAgICAgKiBodHRwL3Rl
c3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY2xhc3NpZnktYXMtbm9uLXByZXZhbGVudC1iYXNl
ZC1vbi1taXhlZC1zdGF0aXN0aWNzLmh0bWw6CisgICAgICAgICogaHR0cC90ZXN0cy9yZXNvdXJj
ZUxvYWRTdGF0aXN0aWNzL2NsYXNzaWZ5LWFzLW5vbi1wcmV2YWxlbnQtYmFzZWQtb24tc3VicmVz
b3VyY2UtdW5kZXItdG9wLWZyYW1lLW9yaWdpbnMtZGF0YWJhc2UuaHRtbDoKKyAgICAgICAgKiBo
dHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY2xhc3NpZnktYXMtbm9uLXByZXZhbGVu
dC1iYXNlZC1vbi1zdWJyZXNvdXJjZS11bmRlci10b3AtZnJhbWUtb3JpZ2lucy5odG1sOgorICAg
ICAgICAqIGh0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jbGFzc2lmeS1hcy1ub24t
cHJldmFsZW50LWJhc2VkLW9uLXN1YnJlc291cmNlLXVuaXF1ZS1yZWRpcmVjdHMtdG8tZGF0YWJh
c2UuaHRtbDoKKyAgICAgICAgKiBodHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY2xh
c3NpZnktYXMtbm9uLXByZXZhbGVudC1iYXNlZC1vbi1zdWJyZXNvdXJjZS11bmlxdWUtcmVkaXJl
Y3RzLXRvLmh0bWw6CisgICAgICAgICogaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNz
L2NsYXNzaWZ5LWFzLXByZXZhbGVudC1iYXNlZC1vbi1taXhlZC1zdGF0aXN0aWNzLWRhdGFiYXNl
Lmh0bWw6CisgICAgICAgICogaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NsYXNz
aWZ5LWFzLXByZXZhbGVudC1iYXNlZC1vbi1taXhlZC1zdGF0aXN0aWNzLmh0bWw6CisgICAgICAg
ICogaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NsYXNzaWZ5LWFzLXByZXZhbGVu
dC1iYXNlZC1vbi1zdWItZnJhbWUtdW5kZXItdG9wLWZyYW1lLW9yaWdpbnMtZGF0YWJhc2UuaHRt
bDoKKyAgICAgICAgKiBodHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY2xhc3NpZnkt
YXMtcHJldmFsZW50LWJhc2VkLW9uLXN1Yi1mcmFtZS11bmRlci10b3AtZnJhbWUtb3JpZ2lucy5o
dG1sOgorICAgICAgICAqIGh0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jbGFzc2lm
eS1hcy1wcmV2YWxlbnQtYmFzZWQtb24tc3VicmVzb3VyY2UtdW5kZXItdG9wLWZyYW1lLW9yaWdp
bnMtZGF0YWJhc2UuaHRtbDoKKyAgICAgICAgKiBodHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRp
c3RpY3MvY2xhc3NpZnktYXMtcHJldmFsZW50LWJhc2VkLW9uLXN1YnJlc291cmNlLXVuZGVyLXRv
cC1mcmFtZS1vcmlnaW5zLmh0bWw6CisgICAgICAgICogaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRT
dGF0aXN0aWNzL2NsYXNzaWZ5LWFzLXByZXZhbGVudC1iYXNlZC1vbi1zdWJyZXNvdXJjZS11bmlx
dWUtcmVkaXJlY3RzLXRvLWRhdGFiYXNlLmh0bWw6CisgICAgICAgICogaHR0cC90ZXN0cy9yZXNv
dXJjZUxvYWRTdGF0aXN0aWNzL2NsYXNzaWZ5LWFzLXByZXZhbGVudC1iYXNlZC1vbi1zdWJyZXNv
dXJjZS11bmlxdWUtcmVkaXJlY3RzLXRvLmh0bWw6CisgICAgICAgICogaHR0cC90ZXN0cy9yZXNv
dXJjZUxvYWRTdGF0aXN0aWNzL3ByZXZhbGVudC1yZXNvdXJjZS1oYW5kbGVkLWtleWRvd24tZGF0
YWJhc2UuaHRtbDoKKyAgICAgICAgKiBodHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3Mv
cHJldmFsZW50LXJlc291cmNlLWhhbmRsZWQta2V5ZG93bi5odG1sOgorICAgICAgICAqIGh0dHAv
dGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9wcmV2YWxlbnQtcmVzb3VyY2UtdW5oYW5kbGVk
LWtleWRvd24tZGF0YWJhc2UuaHRtbDoKKyAgICAgICAgKiBodHRwL3Rlc3RzL3Jlc291cmNlTG9h
ZFN0YXRpc3RpY3MvcHJldmFsZW50LXJlc291cmNlLXVuaGFuZGxlZC1rZXlkb3duLmh0bWw6Cisg
ICAgICAgICogaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3ByZXZhbGVudC1yZXNv
dXJjZS13aXRoLXVzZXItaW50ZXJhY3Rpb24tZGF0YWJhc2UuaHRtbDoKKyAgICAgICAgKiBodHRw
L3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvcHJldmFsZW50LXJlc291cmNlLXdpdGgtdXNl
ci1pbnRlcmFjdGlvbi10aW1lb3V0LWRhdGFiYXNlLmh0bWw6CisgICAgICAgICogaHR0cC90ZXN0
cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3ByZXZhbGVudC1yZXNvdXJjZS13aXRoLXVzZXItaW50
ZXJhY3Rpb24tdGltZW91dC5odG1sOgorICAgICAgICAqIGh0dHAvdGVzdHMvcmVzb3VyY2VMb2Fk
U3RhdGlzdGljcy9wcmV2YWxlbnQtcmVzb3VyY2Utd2l0aC11c2VyLWludGVyYWN0aW9uLmh0bWw6
CisgICAgICAgICogaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3ByZXZhbGVudC1y
ZXNvdXJjZS13aXRob3V0LXVzZXItaW50ZXJhY3Rpb24tZGF0YWJhc2UuaHRtbDoKKyAgICAgICAg
KiBodHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvcHJldmFsZW50LXJlc291cmNlLXdp
dGhvdXQtdXNlci1pbnRlcmFjdGlvbi5odG1sOgorICAgICAgICAqIGh0dHAvdGVzdHMvcmVzb3Vy
Y2VMb2FkU3RhdGlzdGljcy9wcnVuZS1zdGF0aXN0aWNzLWRhdGFiYXNlLmh0bWw6CisgICAgICAg
ICogaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3BydW5lLXN0YXRpc3RpY3MuaHRt
bDoKKyAgICAgICAgKiBodHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvcmVzb3VyY2Vz
L3V0aWwuanM6CisgICAgICAgIChzZXRFbmFibGVGZWF0dXJlKToKKwogMjAyMC0wMi0wNiAgeW91
ZW5uIGZhYmxldCAgPHlvdWVubkBhcHBsZS5jb20+CiAKICAgICAgICAgW0NvY29hXSBVc2UgQVZB
c3NldFdyaXRlckRlbGVnYXRlIHRvIGltcGxlbWVudCBNZWRpYVJlY29yZGVyCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY2xhc3NpZnkt
YXMtbm9uLXByZXZhbGVudC1iYXNlZC1vbi1taXhlZC1zdGF0aXN0aWNzLWRhdGFiYXNlLmh0bWwg
Yi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY2xhc3NpZnkt
YXMtbm9uLXByZXZhbGVudC1iYXNlZC1vbi1taXhlZC1zdGF0aXN0aWNzLWRhdGFiYXNlLmh0bWwK
aW5kZXggNGUwM2ZkODcxMmVmOWVkYzliMTg2MmY2MzZkMWU3NGVhNjg4ZDg0NC4uOTM3OWY5MThm
ZTY2NDk5MGRmYWNlYmU5NTlkMjdmZGRhYjU0NTk3MSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
aHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NsYXNzaWZ5LWFzLW5vbi1wcmV2YWxl
bnQtYmFzZWQtb24tbWl4ZWQtc3RhdGlzdGljcy1kYXRhYmFzZS5odG1sCisrKyBiL0xheW91dFRl
c3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jbGFzc2lmeS1hcy1ub24tcHJl
dmFsZW50LWJhc2VkLW9uLW1peGVkLXN0YXRpc3RpY3MtZGF0YWJhc2UuaHRtbApAQCAtNCw2ICs0
LDcgQEAKICAgICA8bWV0YSBjaGFyc2V0PSJVVEYtOCI+CiAgICAgPHRpdGxlPlRlc3RzIGZvciBD
bGFzc2lmaWNhdGlvbiBCYXNlZCBvbiBNaXhlZCBTdGF0aXN0aWNzPC90aXRsZT4KICAgICA8c2Ny
aXB0IHNyYz0iL2pzLXRlc3QtcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgIDxz
Y3JpcHQgc3JjPSJyZXNvdXJjZXMvdXRpbC5qcyI+PC9zY3JpcHQ+CiA8L2hlYWQ+CiA8Ym9keT4K
IDxzY3JpcHQ+CkBAIC0xOSw3ICsyMCw3IEBACiAgICAgICAgIGVsc2UKICAgICAgICAgICAgIHRl
c3RQYXNzZWQoIkhvc3QgZGlkIG5vdCBnZXQgY2xhc3NpZmllZCBhcyBwcmV2YWxlbnQgcmVzb3Vy
Y2UuIik7CiAKLSAgICAgICAgdGVzdFJ1bm5lci5zdGF0aXN0aWNzUmVzZXRUb0NvbnNpc3RlbnRT
dGF0ZShmdW5jdGlvbigpIHsKKyAgICAgICAgc2V0RW5hYmxlRmVhdHVyZShmYWxzZSwgZnVuY3Rp
b24oKSB7CiAgICAgICAgICAgICB0ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsKICAgICAgICAgfSk7
CiAgICAgfQpAQCAtNDQsOCArNDUsNyBAQAogICAgIGlmIChkb2N1bWVudC5sb2NhdGlvbi5ob3N0
ID09PSBob3N0VW5kZXJUZXN0ICYmIHdpbmRvdy50ZXN0UnVubmVyICYmIHdpbmRvdy5pbnRlcm5h
bHMpIHsKICAgICAgICAgdGVzdFJ1bm5lci5zZXRVc2VJVFBEYXRhYmFzZSh0cnVlKTsKICAgICAg
ICAgdGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7Ci0gICAgICAgIGludGVybmFscy5zZXRSZXNv
dXJjZUxvYWRTdGF0aXN0aWNzRW5hYmxlZCh0cnVlKTsKLSAgICAgICAgcnVuVGVzdFJ1bm5lclRl
c3QoKTsKKyAgICAgICAgc2V0RW5hYmxlRmVhdHVyZSh0cnVlLCBydW5UZXN0UnVubmVyVGVzdCk7
CiAgICAgfQogPC9zY3JpcHQ+CiA8L2JvZHk+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY2xhc3NpZnktYXMtbm9uLXByZXZhbGVudC1i
YXNlZC1vbi1taXhlZC1zdGF0aXN0aWNzLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jl
c291cmNlTG9hZFN0YXRpc3RpY3MvY2xhc3NpZnktYXMtbm9uLXByZXZhbGVudC1iYXNlZC1vbi1t
aXhlZC1zdGF0aXN0aWNzLmh0bWwKaW5kZXggOTQ2MDdlZjAzYTdlMDQ3ZTJkMjM5ZDMyNTVlZTI3
M2M2OWY2MGU4OS4uNGZmNjY0OGJiZTAxMjRlMGY4Mjg2NzM3ZTEyNDBmMjk2NDU5MTU5OCAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2Ns
YXNzaWZ5LWFzLW5vbi1wcmV2YWxlbnQtYmFzZWQtb24tbWl4ZWQtc3RhdGlzdGljcy5odG1sCisr
KyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jbGFzc2lm
eS1hcy1ub24tcHJldmFsZW50LWJhc2VkLW9uLW1peGVkLXN0YXRpc3RpY3MuaHRtbApAQCAtNCw2
ICs0LDcgQEAKICAgICA8bWV0YSBjaGFyc2V0PSJVVEYtOCI+CiAgICAgPHRpdGxlPlRlc3RzIGZv
ciBDbGFzc2lmaWNhdGlvbiBCYXNlZCBvbiBNaXhlZCBTdGF0aXN0aWNzPC90aXRsZT4KICAgICA8
c2NyaXB0IHNyYz0iL2pzLXRlc3QtcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAg
IDxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvdXRpbC5qcyI+PC9zY3JpcHQ+CiA8L2hlYWQ+CiA8Ym9k
eT4KIDxzY3JpcHQ+CkBAIC0xOSw3ICsyMCw3IEBACiAgICAgICAgIGVsc2UKICAgICAgICAgICAg
IHRlc3RQYXNzZWQoIkhvc3QgZGlkIG5vdCBnZXQgY2xhc3NpZmllZCBhcyBwcmV2YWxlbnQgcmVz
b3VyY2UuIik7CiAKLSAgICAgICAgdGVzdFJ1bm5lci5zdGF0aXN0aWNzUmVzZXRUb0NvbnNpc3Rl
bnRTdGF0ZShmdW5jdGlvbigpIHsKKyAgICAgICAgc2V0RW5hYmxlRmVhdHVyZShmYWxzZSwgZnVu
Y3Rpb24oKSB7CiAgICAgICAgICAgICB0ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsKICAgICAgICAg
fSk7CiAgICAgfQpAQCAtNDMsOCArNDQsNyBAQAogCiAgICAgaWYgKGRvY3VtZW50LmxvY2F0aW9u
Lmhvc3QgPT09IGhvc3RVbmRlclRlc3QgJiYgd2luZG93LnRlc3RSdW5uZXIgJiYgd2luZG93Lmlu
dGVybmFscykgewogICAgICAgICB0ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTsKLSAgICAgICAg
aW50ZXJuYWxzLnNldFJlc291cmNlTG9hZFN0YXRpc3RpY3NFbmFibGVkKHRydWUpOwotICAgICAg
ICBydW5UZXN0UnVubmVyVGVzdCgpOworICAgICAgICBzZXRFbmFibGVGZWF0dXJlKHRydWUsIHJ1
blRlc3RSdW5uZXJUZXN0KTsKICAgICB9CiA8L3NjcmlwdD4KIDwvYm9keT4KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jbGFzc2lmeS1h
cy1ub24tcHJldmFsZW50LWJhc2VkLW9uLXN1YnJlc291cmNlLXVuZGVyLXRvcC1mcmFtZS1vcmln
aW5zLWRhdGFiYXNlLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0
YXRpc3RpY3MvY2xhc3NpZnktYXMtbm9uLXByZXZhbGVudC1iYXNlZC1vbi1zdWJyZXNvdXJjZS11
bmRlci10b3AtZnJhbWUtb3JpZ2lucy1kYXRhYmFzZS5odG1sCmluZGV4IDE2MTEyMGE4NTkzMTIx
MTQwNzJkNDcyOWIzNmJhMGExNzdmM2RjNDEuLjUwMGFiNGYxMDA5ZDNjMTNiYTg4MjdmMTcwZDI5
NzM0ODI3MjEyNzkgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VM
b2FkU3RhdGlzdGljcy9jbGFzc2lmeS1hcy1ub24tcHJldmFsZW50LWJhc2VkLW9uLXN1YnJlc291
cmNlLXVuZGVyLXRvcC1mcmFtZS1vcmlnaW5zLWRhdGFiYXNlLmh0bWwKKysrIGIvTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NsYXNzaWZ5LWFzLW5vbi1wcmV2
YWxlbnQtYmFzZWQtb24tc3VicmVzb3VyY2UtdW5kZXItdG9wLWZyYW1lLW9yaWdpbnMtZGF0YWJh
c2UuaHRtbApAQCAtNCw2ICs0LDcgQEAKICAgICA8bWV0YSBjaGFyc2V0PSJVVEYtOCI+CiAgICAg
PHRpdGxlPlRlc3RzIGZvciBDbGFzc2lmaWNhdGlvbiBCYXNlZCBvbiBTdWJyZXNvdXJjZSBVbmRl
ciBUb3AgRnJhbWUgT3JpZ2luczwvdGl0bGU+CiAgICAgPHNjcmlwdCBzcmM9Ii9qcy10ZXN0LXJl
c291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICA8c2NyaXB0IHNyYz0icmVzb3VyY2Vz
L3V0aWwuanMiPjwvc2NyaXB0PgogPC9oZWFkPgogPGJvZHk+CiA8c2NyaXB0PgpAQCAtMTgsNyAr
MTksNyBAQAogICAgICAgICBlbHNlCiAgICAgICAgICAgICB0ZXN0UGFzc2VkKCJIb3N0IGRpZCBu
b3QgZ2V0IGNsYXNzaWZpZWQgYXMgcHJldmFsZW50IHJlc291cmNlLiIpOwogCi0gICAgICAgIHRl
c3RSdW5uZXIuc3RhdGlzdGljc1Jlc2V0VG9Db25zaXN0ZW50U3RhdGUoZnVuY3Rpb24oKSB7Cisg
ICAgICAgIHNldEVuYWJsZUZlYXR1cmUoZmFsc2UsIGZ1bmN0aW9uKCkgewogICAgICAgICAgICAg
dGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7CiAgICAgICAgIH0pOwogICAgIH0KQEAgLTQyLDggKzQz
LDcgQEAKICAgICBpZiAoZG9jdW1lbnQubG9jYXRpb24uaG9zdCA9PT0gaG9zdFVuZGVyVGVzdCAm
JiB3aW5kb3cudGVzdFJ1bm5lciAmJiB3aW5kb3cuaW50ZXJuYWxzKSB7CiAgICAgICAgIHRlc3RS
dW5uZXIuc2V0VXNlSVRQRGF0YWJhc2UodHJ1ZSk7CiAgICAgICAgIHRlc3RSdW5uZXIud2FpdFVu
dGlsRG9uZSgpOwotICAgICAgICBpbnRlcm5hbHMuc2V0UmVzb3VyY2VMb2FkU3RhdGlzdGljc0Vu
YWJsZWQodHJ1ZSk7Ci0gICAgICAgIHJ1blRlc3RSdW5uZXJUZXN0KCk7CisgICAgICAgIHNldEVu
YWJsZUZlYXR1cmUodHJ1ZSwgcnVuVGVzdFJ1bm5lclRlc3QpOwogICAgIH0KIDwvc2NyaXB0Pgog
PC9ib2R5PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRT
dGF0aXN0aWNzL2NsYXNzaWZ5LWFzLW5vbi1wcmV2YWxlbnQtYmFzZWQtb24tc3VicmVzb3VyY2Ut
dW5kZXItdG9wLWZyYW1lLW9yaWdpbnMuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVz
b3VyY2VMb2FkU3RhdGlzdGljcy9jbGFzc2lmeS1hcy1ub24tcHJldmFsZW50LWJhc2VkLW9uLXN1
YnJlc291cmNlLXVuZGVyLXRvcC1mcmFtZS1vcmlnaW5zLmh0bWwKaW5kZXggMjM3Y2FmMWQ1YjQz
ZDlhMWQzZDU1ZDk4ZWJhMWMwNDMwZGRhOWFkOS4uZTZiYTI4NDU1OWY1NWFhYjVhZWIzZTcxYWZl
Mjc0NjNkNDg3OGFmYSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJj
ZUxvYWRTdGF0aXN0aWNzL2NsYXNzaWZ5LWFzLW5vbi1wcmV2YWxlbnQtYmFzZWQtb24tc3VicmVz
b3VyY2UtdW5kZXItdG9wLWZyYW1lLW9yaWdpbnMuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY2xhc3NpZnktYXMtbm9uLXByZXZhbGVudC1i
YXNlZC1vbi1zdWJyZXNvdXJjZS11bmRlci10b3AtZnJhbWUtb3JpZ2lucy5odG1sCkBAIC00LDYg
KzQsNyBAQAogICAgIDxtZXRhIGNoYXJzZXQ9IlVURi04Ij4KICAgICA8dGl0bGU+VGVzdHMgZm9y
IENsYXNzaWZpY2F0aW9uIEJhc2VkIG9uIFN1YnJlc291cmNlIFVuZGVyIFRvcCBGcmFtZSBPcmln
aW5zPC90aXRsZT4KICAgICA8c2NyaXB0IHNyYz0iL2pzLXRlc3QtcmVzb3VyY2VzL2pzLXRlc3Qu
anMiPjwvc2NyaXB0PgorICAgIDxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvdXRpbC5qcyI+PC9zY3Jp
cHQ+CiA8L2hlYWQ+CiA8Ym9keT4KIDxzY3JpcHQ+CkBAIC0xOCw3ICsxOSw3IEBACiAgICAgICAg
IGVsc2UKICAgICAgICAgICAgIHRlc3RQYXNzZWQoIkhvc3QgZGlkIG5vdCBnZXQgY2xhc3NpZmll
ZCBhcyBwcmV2YWxlbnQgcmVzb3VyY2UuIik7CiAKLSAgICAgICAgdGVzdFJ1bm5lci5zdGF0aXN0
aWNzUmVzZXRUb0NvbnNpc3RlbnRTdGF0ZShmdW5jdGlvbigpIHsKKyAgICAgICAgc2V0RW5hYmxl
RmVhdHVyZShmYWxzZSwgZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICB0ZXN0UnVubmVyLm5vdGlm
eURvbmUoKTsKICAgICAgICAgfSk7CiAgICAgfQpAQCAtNDEsOCArNDIsNyBAQAogCiAgICAgaWYg
KGRvY3VtZW50LmxvY2F0aW9uLmhvc3QgPT09IGhvc3RVbmRlclRlc3QgJiYgd2luZG93LnRlc3RS
dW5uZXIgJiYgd2luZG93LmludGVybmFscykgewogICAgICAgICB0ZXN0UnVubmVyLndhaXRVbnRp
bERvbmUoKTsKLSAgICAgICAgaW50ZXJuYWxzLnNldFJlc291cmNlTG9hZFN0YXRpc3RpY3NFbmFi
bGVkKHRydWUpOwotICAgICAgICBydW5UZXN0UnVubmVyVGVzdCgpOworICAgICAgICBzZXRFbmFi
bGVGZWF0dXJlKHRydWUsIHJ1blRlc3RSdW5uZXJUZXN0KTsKICAgICB9CiA8L3NjcmlwdD4KIDwv
Ym9keT4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3Rh
dGlzdGljcy9jbGFzc2lmeS1hcy1ub24tcHJldmFsZW50LWJhc2VkLW9uLXN1YnJlc291cmNlLXVu
aXF1ZS1yZWRpcmVjdHMtdG8tZGF0YWJhc2UuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMv
cmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jbGFzc2lmeS1hcy1ub24tcHJldmFsZW50LWJhc2VkLW9u
LXN1YnJlc291cmNlLXVuaXF1ZS1yZWRpcmVjdHMtdG8tZGF0YWJhc2UuaHRtbAppbmRleCAxYTVh
NWQ0YmRhNGU0ZmRlZWQxODZhM2YwODgxMmZiOGUyODZkNTkwLi4yYjVkMDYzM2M1OTQ2OWE3ODMy
NmMyMjA0ZjgyYzViNzZmZmJlN2JkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY2xhc3NpZnktYXMtbm9uLXByZXZhbGVudC1iYXNlZC1v
bi1zdWJyZXNvdXJjZS11bmlxdWUtcmVkaXJlY3RzLXRvLWRhdGFiYXNlLmh0bWwKKysrIGIvTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NsYXNzaWZ5LWFzLW5v
bi1wcmV2YWxlbnQtYmFzZWQtb24tc3VicmVzb3VyY2UtdW5pcXVlLXJlZGlyZWN0cy10by1kYXRh
YmFzZS5odG1sCkBAIC00LDYgKzQsNyBAQAogICAgIDxtZXRhIGNoYXJzZXQ9IlVURi04Ij4KICAg
ICA8dGl0bGU+VGVzdHMgZm9yIENsYXNzaWZpY2F0aW9uIEJhc2VkIG9uIFN1YnJlc291cmNlIFVu
aXF1ZSBSZWRpcmVjdHMgVG88L3RpdGxlPgogICAgIDxzY3JpcHQgc3JjPSIvanMtdGVzdC1yZXNv
dXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgPHNjcmlwdCBzcmM9InJlc291cmNlcy91
dGlsLmpzIj48L3NjcmlwdD4KIDwvaGVhZD4KIDxib2R5PgogPHNjcmlwdD4KQEAgLTE4LDggKzE5
LDcgQEAKICAgICAgICAgZWxzZQogICAgICAgICAgICAgdGVzdFBhc3NlZCgiSG9zdCBkaWQgbm90
IGdldCBjbGFzc2lmaWVkIGFzIHByZXZhbGVudCByZXNvdXJjZS4iKTsKIAotICAgICAgICBpbnRl
cm5hbHMuc2V0UmVzb3VyY2VMb2FkU3RhdGlzdGljc0VuYWJsZWQoZmFsc2UpOwotICAgICAgICB0
ZXN0UnVubmVyLnN0YXRpc3RpY3NSZXNldFRvQ29uc2lzdGVudFN0YXRlKGZ1bmN0aW9uKCkgewor
ICAgICAgICBzZXRFbmFibGVGZWF0dXJlKGZhbHNlLCBmdW5jdGlvbigpIHsKICAgICAgICAgICAg
IHRlc3RSdW5uZXIubm90aWZ5RG9uZSgpOwogICAgICAgICB9KTsKICAgICB9CkBAIC00Myw5ICs0
Myw3IEBACiAgICAgaWYgKGRvY3VtZW50LmxvY2F0aW9uLmhvc3QgPT09IGhvc3RVbmRlclRlc3Qg
JiYgd2luZG93LnRlc3RSdW5uZXIgJiYgd2luZG93LmludGVybmFscykgewogICAgICAgICB0ZXN0
UnVubmVyLnNldFVzZUlUUERhdGFiYXNlKHRydWUpOwogICAgICAgICB0ZXN0UnVubmVyLndhaXRV
bnRpbERvbmUoKTsKLSAgICAgICAgaW50ZXJuYWxzLnNldFJlc291cmNlTG9hZFN0YXRpc3RpY3NF
bmFibGVkKHRydWUpOwotICAgICAgICBydW5UZXN0UnVubmVyVGVzdCgpOwotICAgICAgICB0ZXN0
UnVubmVyLnNldFVzZUlUUERhdGFiYXNlKGZhbHNlKTsKKyAgICAgICAgc2V0RW5hYmxlRmVhdHVy
ZSh0cnVlLCBydW5UZXN0UnVubmVyVGVzdCk7CiAgICAgfQogPC9zY3JpcHQ+CiA8L2JvZHk+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3Mv
Y2xhc3NpZnktYXMtbm9uLXByZXZhbGVudC1iYXNlZC1vbi1zdWJyZXNvdXJjZS11bmlxdWUtcmVk
aXJlY3RzLXRvLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRp
c3RpY3MvY2xhc3NpZnktYXMtbm9uLXByZXZhbGVudC1iYXNlZC1vbi1zdWJyZXNvdXJjZS11bmlx
dWUtcmVkaXJlY3RzLXRvLmh0bWwKaW5kZXggODVkZGFlN2RhOTk0NDk0ZGFkYWVlOWM3MjdlNWE0
NmU5NTdiZWY5Yi4uOWNhZTJiZDk0NWMyMTFiYWYzNmFlZjkwNTQxZWIxNWViODg4N2Q5OCAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2Ns
YXNzaWZ5LWFzLW5vbi1wcmV2YWxlbnQtYmFzZWQtb24tc3VicmVzb3VyY2UtdW5pcXVlLXJlZGly
ZWN0cy10by5odG1sCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3Rh
dGlzdGljcy9jbGFzc2lmeS1hcy1ub24tcHJldmFsZW50LWJhc2VkLW9uLXN1YnJlc291cmNlLXVu
aXF1ZS1yZWRpcmVjdHMtdG8uaHRtbApAQCAtNCw2ICs0LDcgQEAKICAgICA8bWV0YSBjaGFyc2V0
PSJVVEYtOCI+CiAgICAgPHRpdGxlPlRlc3RzIGZvciBDbGFzc2lmaWNhdGlvbiBCYXNlZCBvbiBT
dWJyZXNvdXJjZSBVbmlxdWUgUmVkaXJlY3RzIFRvPC90aXRsZT4KICAgICA8c2NyaXB0IHNyYz0i
L2pzLXRlc3QtcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgIDxzY3JpcHQgc3Jj
PSJyZXNvdXJjZXMvdXRpbC5qcyI+PC9zY3JpcHQ+CiA8L2hlYWQ+CiA8Ym9keT4KIDxzY3JpcHQ+
CkBAIC0xOCw4ICsxOSw3IEBACiAgICAgICAgIGVsc2UKICAgICAgICAgICAgIHRlc3RQYXNzZWQo
Ikhvc3QgZGlkIG5vdCBnZXQgY2xhc3NpZmllZCBhcyBwcmV2YWxlbnQgcmVzb3VyY2UuIik7CiAK
LSAgICAgICAgaW50ZXJuYWxzLnNldFJlc291cmNlTG9hZFN0YXRpc3RpY3NFbmFibGVkKGZhbHNl
KTsKLSAgICAgICAgdGVzdFJ1bm5lci5zdGF0aXN0aWNzUmVzZXRUb0NvbnNpc3RlbnRTdGF0ZShm
dW5jdGlvbigpIHsKKyAgICAgICAgc2V0RW5hYmxlRmVhdHVyZShmYWxzZSwgZnVuY3Rpb24oKSB7
CiAgICAgICAgICAgICB0ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsKICAgICAgICAgfSk7CiAgICAg
fQpAQCAtNDIsOCArNDIsNyBAQAogCiAgICAgaWYgKGRvY3VtZW50LmxvY2F0aW9uLmhvc3QgPT09
IGhvc3RVbmRlclRlc3QgJiYgd2luZG93LnRlc3RSdW5uZXIgJiYgd2luZG93LmludGVybmFscykg
ewogICAgICAgICB0ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTsKLSAgICAgICAgaW50ZXJuYWxz
LnNldFJlc291cmNlTG9hZFN0YXRpc3RpY3NFbmFibGVkKHRydWUpOwotICAgICAgICBydW5UZXN0
UnVubmVyVGVzdCgpOworICAgICAgICBzZXRFbmFibGVGZWF0dXJlKHRydWUsIHJ1blRlc3RSdW5u
ZXJUZXN0KTsKICAgICB9CiA8L3NjcmlwdD4KIDwvYm9keT4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jbGFzc2lmeS1hcy1wcmV2YWxl
bnQtYmFzZWQtb24tbWl4ZWQtc3RhdGlzdGljcy1kYXRhYmFzZS5odG1sIGIvTGF5b3V0VGVzdHMv
aHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NsYXNzaWZ5LWFzLXByZXZhbGVudC1i
YXNlZC1vbi1taXhlZC1zdGF0aXN0aWNzLWRhdGFiYXNlLmh0bWwKaW5kZXggMzg5NzMxOWFiMGZi
MTAwMDU1YTkzNWQ0YTk1MmIyYWI5OTQ0ODMzNi4uMWJiYjNmNjg2NzQ0MzAwYzJkZWUxNDFjNjVm
NGI4NGVhMTFiODljMCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJj
ZUxvYWRTdGF0aXN0aWNzL2NsYXNzaWZ5LWFzLXByZXZhbGVudC1iYXNlZC1vbi1taXhlZC1zdGF0
aXN0aWNzLWRhdGFiYXNlLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJj
ZUxvYWRTdGF0aXN0aWNzL2NsYXNzaWZ5LWFzLXByZXZhbGVudC1iYXNlZC1vbi1taXhlZC1zdGF0
aXN0aWNzLWRhdGFiYXNlLmh0bWwKQEAgLTQsNiArNCw3IEBACiAgICAgPG1ldGEgY2hhcnNldD0i
VVRGLTgiPgogICAgIDx0aXRsZT5UZXN0cyBmb3IgQ2xhc3NpZmljYXRpb24gQmFzZWQgb24gTWl4
ZWQgU3RhdGlzdGljczwvdGl0bGU+CiAgICAgPHNjcmlwdCBzcmM9Ii9qcy10ZXN0LXJlc291cmNl
cy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICA8c2NyaXB0IHNyYz0icmVzb3VyY2VzL3V0aWwu
anMiPjwvc2NyaXB0PgogPC9oZWFkPgogPGJvZHk+CiA8c2NyaXB0PgpAQCAtMjIsOCArMjMsNyBA
QAogICAgICAgICBlbHNlCiAgICAgICAgICAgICB0ZXN0UGFzc2VkKCJIb3N0IGNsYXNzaWZpZWQg
YXMgcHJldmFsZW50IHJlc291cmNlLiIpOwogCi0gICAgICAgIGludGVybmFscy5zZXRSZXNvdXJj
ZUxvYWRTdGF0aXN0aWNzRW5hYmxlZChmYWxzZSk7Ci0gICAgICAgIHRlc3RSdW5uZXIuc3RhdGlz
dGljc1Jlc2V0VG9Db25zaXN0ZW50U3RhdGUoZnVuY3Rpb24oKSB7CisgICAgICAgIHNldEVuYWJs
ZUZlYXR1cmUoZmFsc2UsIGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgdGVzdFJ1bm5lci5ub3Rp
ZnlEb25lKCk7CiAgICAgICAgIH0pOwogICAgIH0KQEAgLTU0LDggKzU0LDcgQEAKICAgICBpZiAo
ZG9jdW1lbnQubG9jYXRpb24uaG9zdCA9PT0gaG9zdFVuZGVyVGVzdCAmJiB3aW5kb3cudGVzdFJ1
bm5lciAmJiB3aW5kb3cuaW50ZXJuYWxzKSB7CiAgICAgICAgIHRlc3RSdW5uZXIuc2V0VXNlSVRQ
RGF0YWJhc2UodHJ1ZSk7CiAgICAgICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOwotICAg
ICAgICBpbnRlcm5hbHMuc2V0UmVzb3VyY2VMb2FkU3RhdGlzdGljc0VuYWJsZWQodHJ1ZSk7Ci0g
ICAgICAgIHJ1blRlc3RSdW5uZXJUZXN0KCk7CisgICAgICAgIHNldEVuYWJsZUZlYXR1cmUodHJ1
ZSwgcnVuVGVzdFJ1bm5lclRlc3QpOwogICAgIH0KIDwvc2NyaXB0PgogPC9ib2R5PgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NsYXNz
aWZ5LWFzLXByZXZhbGVudC1iYXNlZC1vbi1taXhlZC1zdGF0aXN0aWNzLmh0bWwgYi9MYXlvdXRU
ZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY2xhc3NpZnktYXMtcHJldmFs
ZW50LWJhc2VkLW9uLW1peGVkLXN0YXRpc3RpY3MuaHRtbAppbmRleCA5ZDYzNmQ3ZWQ1ZWYyY2Vl
OTExOTk2NzM3OTNkMDkwOWJjMWY2NzBiLi5mODU1MDhmNmRjMzgxZGY5MjEyZWM0MzliZGZkMTMw
YmRjOWQxM2M2IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9h
ZFN0YXRpc3RpY3MvY2xhc3NpZnktYXMtcHJldmFsZW50LWJhc2VkLW9uLW1peGVkLXN0YXRpc3Rp
Y3MuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3Rp
Y3MvY2xhc3NpZnktYXMtcHJldmFsZW50LWJhc2VkLW9uLW1peGVkLXN0YXRpc3RpY3MuaHRtbApA
QCAtNCw2ICs0LDcgQEAKICAgICA8bWV0YSBjaGFyc2V0PSJVVEYtOCI+CiAgICAgPHRpdGxlPlRl
c3RzIGZvciBDbGFzc2lmaWNhdGlvbiBCYXNlZCBvbiBNaXhlZCBTdGF0aXN0aWNzPC90aXRsZT4K
ICAgICA8c2NyaXB0IHNyYz0iL2pzLXRlc3QtcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0
PgorICAgIDxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvdXRpbC5qcyI+PC9zY3JpcHQ+CiA8L2hlYWQ+
CiA8Ym9keT4KIDxzY3JpcHQ+CkBAIC0yMiw4ICsyMyw3IEBACiAgICAgICAgIGVsc2UKICAgICAg
ICAgICAgIHRlc3RQYXNzZWQoIkhvc3QgY2xhc3NpZmllZCBhcyBwcmV2YWxlbnQgcmVzb3VyY2Uu
Iik7CiAKLSAgICAgICAgaW50ZXJuYWxzLnNldFJlc291cmNlTG9hZFN0YXRpc3RpY3NFbmFibGVk
KGZhbHNlKTsKLSAgICAgICAgdGVzdFJ1bm5lci5zdGF0aXN0aWNzUmVzZXRUb0NvbnNpc3RlbnRT
dGF0ZShmdW5jdGlvbigpIHsKKyAgICAgICAgc2V0RW5hYmxlRmVhdHVyZShmYWxzZSwgZnVuY3Rp
b24oKSB7CiAgICAgICAgICAgICB0ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsKICAgICAgICAgfSk7
CiAgICAgfQpAQCAtNTMsOCArNTMsNyBAQAogCiAgICAgaWYgKGRvY3VtZW50LmxvY2F0aW9uLmhv
c3QgPT09IGhvc3RVbmRlclRlc3QgJiYgd2luZG93LnRlc3RSdW5uZXIgJiYgd2luZG93LmludGVy
bmFscykgewogICAgICAgICB0ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTsKLSAgICAgICAgaW50
ZXJuYWxzLnNldFJlc291cmNlTG9hZFN0YXRpc3RpY3NFbmFibGVkKHRydWUpOwotICAgICAgICBy
dW5UZXN0UnVubmVyVGVzdCgpOworICAgICAgICBzZXRFbmFibGVGZWF0dXJlKHRydWUsIHJ1blRl
c3RSdW5uZXJUZXN0KTsKICAgICB9CiA8L3NjcmlwdD4KIDwvYm9keT4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jbGFzc2lmeS1hcy1w
cmV2YWxlbnQtYmFzZWQtb24tc3ViLWZyYW1lLXVuZGVyLXRvcC1mcmFtZS1vcmlnaW5zLWRhdGFi
YXNlLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3Mv
Y2xhc3NpZnktYXMtcHJldmFsZW50LWJhc2VkLW9uLXN1Yi1mcmFtZS11bmRlci10b3AtZnJhbWUt
b3JpZ2lucy1kYXRhYmFzZS5odG1sCmluZGV4IDdlYTc2MjAwZGEyZmZiMWEwMDU1YThhMTk4YWUy
NzgzZTJlYjNmNTMuLjFhZWRlMmFiNjE4NmNjMGIzZjUyOWM4OTkyYjYxOGQxMzgyNWI2NzUgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9j
bGFzc2lmeS1hcy1wcmV2YWxlbnQtYmFzZWQtb24tc3ViLWZyYW1lLXVuZGVyLXRvcC1mcmFtZS1v
cmlnaW5zLWRhdGFiYXNlLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJj
ZUxvYWRTdGF0aXN0aWNzL2NsYXNzaWZ5LWFzLXByZXZhbGVudC1iYXNlZC1vbi1zdWItZnJhbWUt
dW5kZXItdG9wLWZyYW1lLW9yaWdpbnMtZGF0YWJhc2UuaHRtbApAQCAtNCw2ICs0LDcgQEAKICAg
ICA8bWV0YSBjaGFyc2V0PSJVVEYtOCI+CiAgICAgPHRpdGxlPlRlc3RzIGZvciBDbGFzc2lmaWNh
dGlvbiBCYXNlZCBvbiBTdWIgRnJhbWUgVW5kZXIgVG9wIEZyYW1lIE9yaWdpbnM8L3RpdGxlPgog
ICAgIDxzY3JpcHQgc3JjPSIvanMtdGVzdC1yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+
CisgICAgPHNjcmlwdCBzcmM9InJlc291cmNlcy91dGlsLmpzIj48L3NjcmlwdD4KIDwvaGVhZD4K
IDxib2R5PgogPHNjcmlwdD4KQEAgLTIyLDggKzIzLDcgQEAKICAgICAgICAgZWxzZQogICAgICAg
ICAgICAgdGVzdFBhc3NlZCgiSG9zdCBjbGFzc2lmaWVkIGFzIHByZXZhbGVudCByZXNvdXJjZS4i
KTsKIAotICAgICAgICBpbnRlcm5hbHMuc2V0UmVzb3VyY2VMb2FkU3RhdGlzdGljc0VuYWJsZWQo
ZmFsc2UpOwotICAgICAgICB0ZXN0UnVubmVyLnN0YXRpc3RpY3NSZXNldFRvQ29uc2lzdGVudFN0
YXRlKGZ1bmN0aW9uKCkgeworICAgICAgICBzZXRFbmFibGVGZWF0dXJlKGZhbHNlLCBmdW5jdGlv
bigpIHsKICAgICAgICAgICAgIHRlc3RSdW5uZXIubm90aWZ5RG9uZSgpOwogICAgICAgICB9KTsK
ICAgICB9CkBAIC00OSw4ICs0OSw3IEBACiAgICAgaWYgKGRvY3VtZW50LmxvY2F0aW9uLmhvc3Qg
PT09IGhvc3RVbmRlclRlc3QgJiYgd2luZG93LnRlc3RSdW5uZXIgJiYgd2luZG93LmludGVybmFs
cykgewogICAgICAgICB0ZXN0UnVubmVyLnNldFVzZUlUUERhdGFiYXNlKHRydWUpOwogICAgICAg
ICB0ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTsKLSAgICAgICAgaW50ZXJuYWxzLnNldFJlc291
cmNlTG9hZFN0YXRpc3RpY3NFbmFibGVkKHRydWUpOwotICAgICAgICBydW5UZXN0UnVubmVyVGVz
dCgpOworICAgICAgICBzZXRFbmFibGVGZWF0dXJlKHRydWUsIHJ1blRlc3RSdW5uZXJUZXN0KTsK
ICAgICB9CiA8L3NjcmlwdD4KIDwvYm9keT4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAv
dGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jbGFzc2lmeS1hcy1wcmV2YWxlbnQtYmFzZWQt
b24tc3ViLWZyYW1lLXVuZGVyLXRvcC1mcmFtZS1vcmlnaW5zLmh0bWwgYi9MYXlvdXRUZXN0cy9o
dHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY2xhc3NpZnktYXMtcHJldmFsZW50LWJh
c2VkLW9uLXN1Yi1mcmFtZS11bmRlci10b3AtZnJhbWUtb3JpZ2lucy5odG1sCmluZGV4IGNmOWMw
ZTdjMjA3NWFmZDc3ODdiMDVhOTU0MGE5NWRhNDZkZGRiMDEuLmJlZGI2ZjY4MjY5OTZlNGFiNWQ1
ZWUzMDk5NmQ4YmRhMGVkZjNhZmMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMv
cmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jbGFzc2lmeS1hcy1wcmV2YWxlbnQtYmFzZWQtb24tc3Vi
LWZyYW1lLXVuZGVyLXRvcC1mcmFtZS1vcmlnaW5zLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NsYXNzaWZ5LWFzLXByZXZhbGVudC1iYXNl
ZC1vbi1zdWItZnJhbWUtdW5kZXItdG9wLWZyYW1lLW9yaWdpbnMuaHRtbApAQCAtNCw2ICs0LDcg
QEAKICAgICA8bWV0YSBjaGFyc2V0PSJVVEYtOCI+CiAgICAgPHRpdGxlPlRlc3RzIGZvciBDbGFz
c2lmaWNhdGlvbiBCYXNlZCBvbiBTdWIgRnJhbWUgVW5kZXIgVG9wIEZyYW1lIE9yaWdpbnM8L3Rp
dGxlPgogICAgIDxzY3JpcHQgc3JjPSIvanMtdGVzdC1yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9z
Y3JpcHQ+CisgICAgPHNjcmlwdCBzcmM9InJlc291cmNlcy91dGlsLmpzIj48L3NjcmlwdD4KIDwv
aGVhZD4KIDxib2R5PgogPHNjcmlwdD4KQEAgLTIyLDggKzIzLDcgQEAKICAgICAgICAgZWxzZQog
ICAgICAgICAgICAgdGVzdFBhc3NlZCgiSG9zdCBjbGFzc2lmaWVkIGFzIHByZXZhbGVudCByZXNv
dXJjZS4iKTsKIAotICAgICAgICBpbnRlcm5hbHMuc2V0UmVzb3VyY2VMb2FkU3RhdGlzdGljc0Vu
YWJsZWQoZmFsc2UpOwotICAgICAgICB0ZXN0UnVubmVyLnN0YXRpc3RpY3NSZXNldFRvQ29uc2lz
dGVudFN0YXRlKGZ1bmN0aW9uKCkgeworICAgICAgICBzZXRFbmFibGVGZWF0dXJlKGZhbHNlLCBm
dW5jdGlvbigpIHsKICAgICAgICAgICAgIHRlc3RSdW5uZXIubm90aWZ5RG9uZSgpOwogICAgICAg
ICB9KTsKICAgICB9CkBAIC00OCw4ICs0OCw3IEBACiAKICAgICBpZiAoZG9jdW1lbnQubG9jYXRp
b24uaG9zdCA9PT0gaG9zdFVuZGVyVGVzdCAmJiB3aW5kb3cudGVzdFJ1bm5lciAmJiB3aW5kb3cu
aW50ZXJuYWxzKSB7CiAgICAgICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOwotICAgICAg
ICBpbnRlcm5hbHMuc2V0UmVzb3VyY2VMb2FkU3RhdGlzdGljc0VuYWJsZWQodHJ1ZSk7Ci0gICAg
ICAgIHJ1blRlc3RSdW5uZXJUZXN0KCk7CisgICAgICAgIHNldEVuYWJsZUZlYXR1cmUodHJ1ZSwg
cnVuVGVzdFJ1bm5lclRlc3QpOwogICAgIH0KIDwvc2NyaXB0PgogPC9ib2R5PgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NsYXNzaWZ5
LWFzLXByZXZhbGVudC1iYXNlZC1vbi1zdWJyZXNvdXJjZS11bmRlci10b3AtZnJhbWUtb3JpZ2lu
cy1kYXRhYmFzZS5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0
aXN0aWNzL2NsYXNzaWZ5LWFzLXByZXZhbGVudC1iYXNlZC1vbi1zdWJyZXNvdXJjZS11bmRlci10
b3AtZnJhbWUtb3JpZ2lucy1kYXRhYmFzZS5odG1sCmluZGV4IDJkMDFlYTZiYzI0OTM3NTkyZjBl
ODk2NzYxNWM5OWM1YzhkYzNmYTYuLmVhZGM5OTQ2MDhkNzkzZmNkYmZiM2UyY2RmMDJiYjQ3NGI2
ZmQ5NzUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3Rh
dGlzdGljcy9jbGFzc2lmeS1hcy1wcmV2YWxlbnQtYmFzZWQtb24tc3VicmVzb3VyY2UtdW5kZXIt
dG9wLWZyYW1lLW9yaWdpbnMtZGF0YWJhc2UuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rl
c3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY2xhc3NpZnktYXMtcHJldmFsZW50LWJhc2VkLW9u
LXN1YnJlc291cmNlLXVuZGVyLXRvcC1mcmFtZS1vcmlnaW5zLWRhdGFiYXNlLmh0bWwKQEAgLTQs
NiArNCw3IEBACiAgICAgPG1ldGEgY2hhcnNldD0iVVRGLTgiPgogICAgIDx0aXRsZT5UZXN0cyBm
b3IgQ2xhc3NpZmljYXRpb24gQmFzZWQgb24gU3VicmVzb3VyY2UgVW5kZXIgVG9wIEZyYW1lIE9y
aWdpbnM8L3RpdGxlPgogICAgIDxzY3JpcHQgc3JjPSIvanMtdGVzdC1yZXNvdXJjZXMvanMtdGVz
dC5qcyI+PC9zY3JpcHQ+CisgICAgPHNjcmlwdCBzcmM9InJlc291cmNlcy91dGlsLmpzIj48L3Nj
cmlwdD4KIDwvaGVhZD4KIDxib2R5PgogPHNjcmlwdD4KQEAgLTIyLDggKzIzLDcgQEAKICAgICAg
ICAgZWxzZQogICAgICAgICAgICAgdGVzdFBhc3NlZCgiSG9zdCBjbGFzc2lmaWVkIGFzIHByZXZh
bGVudCByZXNvdXJjZS4iKTsKIAotICAgICAgICBpbnRlcm5hbHMuc2V0UmVzb3VyY2VMb2FkU3Rh
dGlzdGljc0VuYWJsZWQoZmFsc2UpOwotICAgICAgICB0ZXN0UnVubmVyLnN0YXRpc3RpY3NSZXNl
dFRvQ29uc2lzdGVudFN0YXRlKGZ1bmN0aW9uKCkgeworICAgICAgICBzZXRFbmFibGVGZWF0dXJl
KGZhbHNlLCBmdW5jdGlvbigpIHsKICAgICAgICAgICAgIHRlc3RSdW5uZXIubm90aWZ5RG9uZSgp
OwogICAgICAgICB9KTsKICAgICB9CkBAIC00OSw4ICs0OSw3IEBACiAgICAgaWYgKGRvY3VtZW50
LmxvY2F0aW9uLmhvc3QgPT09IGhvc3RVbmRlclRlc3QgJiYgd2luZG93LnRlc3RSdW5uZXIgJiYg
d2luZG93LmludGVybmFscykgewogICAgICAgICB0ZXN0UnVubmVyLnNldFVzZUlUUERhdGFiYXNl
KHRydWUpOwogICAgICAgICB0ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTsKLSAgICAgICAgaW50
ZXJuYWxzLnNldFJlc291cmNlTG9hZFN0YXRpc3RpY3NFbmFibGVkKHRydWUpOwotICAgICAgICBy
dW5UZXN0UnVubmVyVGVzdCgpOworICAgICAgICBzZXRFbmFibGVGZWF0dXJlKHRydWUsIHJ1blRl
c3RSdW5uZXJUZXN0KTsKICAgICB9CiA8L3NjcmlwdD4KIDwvYm9keT4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jbGFzc2lmeS1hcy1w
cmV2YWxlbnQtYmFzZWQtb24tc3VicmVzb3VyY2UtdW5kZXItdG9wLWZyYW1lLW9yaWdpbnMuaHRt
bCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jbGFzc2lm
eS1hcy1wcmV2YWxlbnQtYmFzZWQtb24tc3VicmVzb3VyY2UtdW5kZXItdG9wLWZyYW1lLW9yaWdp
bnMuaHRtbAppbmRleCBiMzNkNTI0NjE3ZjdkN2QwZmI3NzAxNjEwYjdmODEwNTU4NjEzMDgzLi4y
OGMxNzI5NDg0ZGJmZDBjNDkxMDZjMTJiMzQzM2U4NWExODZlMjRkIDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY2xhc3NpZnktYXMtcHJl
dmFsZW50LWJhc2VkLW9uLXN1YnJlc291cmNlLXVuZGVyLXRvcC1mcmFtZS1vcmlnaW5zLmh0bWwK
KysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NsYXNz
aWZ5LWFzLXByZXZhbGVudC1iYXNlZC1vbi1zdWJyZXNvdXJjZS11bmRlci10b3AtZnJhbWUtb3Jp
Z2lucy5odG1sCkBAIC00LDYgKzQsNyBAQAogICAgIDxtZXRhIGNoYXJzZXQ9IlVURi04Ij4KICAg
ICA8dGl0bGU+VGVzdHMgZm9yIENsYXNzaWZpY2F0aW9uIEJhc2VkIG9uIFN1YnJlc291cmNlIFVu
ZGVyIFRvcCBGcmFtZSBPcmlnaW5zPC90aXRsZT4KICAgICA8c2NyaXB0IHNyYz0iL2pzLXRlc3Qt
cmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgIDxzY3JpcHQgc3JjPSJyZXNvdXJj
ZXMvdXRpbC5qcyI+PC9zY3JpcHQ+CiA8L2hlYWQ+CiA8Ym9keT4KIDxzY3JpcHQ+CkBAIC0yMiw4
ICsyMyw3IEBACiAgICAgICAgIGVsc2UKICAgICAgICAgICAgIHRlc3RQYXNzZWQoIkhvc3QgY2xh
c3NpZmllZCBhcyBwcmV2YWxlbnQgcmVzb3VyY2UuIik7CiAKLSAgICAgICAgaW50ZXJuYWxzLnNl
dFJlc291cmNlTG9hZFN0YXRpc3RpY3NFbmFibGVkKGZhbHNlKTsKLSAgICAgICAgdGVzdFJ1bm5l
ci5zdGF0aXN0aWNzUmVzZXRUb0NvbnNpc3RlbnRTdGF0ZShmdW5jdGlvbigpIHsKKyAgICAgICAg
c2V0RW5hYmxlRmVhdHVyZShmYWxzZSwgZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICB0ZXN0UnVu
bmVyLm5vdGlmeURvbmUoKTsKICAgICAgICAgfSk7CiAgICAgfQpAQCAtNDgsOCArNDgsNyBAQAog
CiAgICAgaWYgKGRvY3VtZW50LmxvY2F0aW9uLmhvc3QgPT09IGhvc3RVbmRlclRlc3QgJiYgd2lu
ZG93LnRlc3RSdW5uZXIgJiYgd2luZG93LmludGVybmFscykgewogICAgICAgICB0ZXN0UnVubmVy
LndhaXRVbnRpbERvbmUoKTsKLSAgICAgICAgaW50ZXJuYWxzLnNldFJlc291cmNlTG9hZFN0YXRp
c3RpY3NFbmFibGVkKHRydWUpOwotICAgICAgICBydW5UZXN0UnVubmVyVGVzdCgpOworICAgICAg
ICBzZXRFbmFibGVGZWF0dXJlKHRydWUsIHJ1blRlc3RSdW5uZXJUZXN0KTsKICAgICB9CiA8L3Nj
cmlwdD4KIDwvYm9keT4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3Vy
Y2VMb2FkU3RhdGlzdGljcy9jbGFzc2lmeS1hcy1wcmV2YWxlbnQtYmFzZWQtb24tc3VicmVzb3Vy
Y2UtdW5pcXVlLXJlZGlyZWN0cy10by1kYXRhYmFzZS5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90
ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NsYXNzaWZ5LWFzLXByZXZhbGVudC1iYXNlZC1v
bi1zdWJyZXNvdXJjZS11bmlxdWUtcmVkaXJlY3RzLXRvLWRhdGFiYXNlLmh0bWwKaW5kZXggNzhm
N2YxMzkxYzYyMWRlODY2ZTFiZDIzYjAxYmRhMzMyZDBkOWYzNy4uZGU4OGY0NTYzMzI1MDQ5Y2Yw
MWM0NmM3NjE2Yjg3MjFiMDM1ZjRlNCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0
cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NsYXNzaWZ5LWFzLXByZXZhbGVudC1iYXNlZC1vbi1z
dWJyZXNvdXJjZS11bmlxdWUtcmVkaXJlY3RzLXRvLWRhdGFiYXNlLmh0bWwKKysrIGIvTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NsYXNzaWZ5LWFzLXByZXZh
bGVudC1iYXNlZC1vbi1zdWJyZXNvdXJjZS11bmlxdWUtcmVkaXJlY3RzLXRvLWRhdGFiYXNlLmh0
bWwKQEAgLTQsNiArNCw3IEBACiAgICAgPG1ldGEgY2hhcnNldD0iVVRGLTgiPgogICAgIDx0aXRs
ZT5UZXN0cyBmb3IgQ2xhc3NpZmljYXRpb24gQmFzZWQgb24gU3VicmVzb3VyY2UgVW5pcXVlIFJl
ZGlyZWN0cyBUbzwvdGl0bGU+CiAgICAgPHNjcmlwdCBzcmM9Ii9qcy10ZXN0LXJlc291cmNlcy9q
cy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICA8c2NyaXB0IHNyYz0icmVzb3VyY2VzL3V0aWwuanMi
Pjwvc2NyaXB0PgogPC9oZWFkPgogPGJvZHk+CiA8c2NyaXB0PgpAQCAtMjIsOCArMjMsNyBAQAog
ICAgICAgICBlbHNlCiAgICAgICAgICAgICB0ZXN0UGFzc2VkKCJIb3N0IGNsYXNzaWZpZWQgYXMg
cHJldmFsZW50IHJlc291cmNlLiIpOwogCi0gICAgICAgIGludGVybmFscy5zZXRSZXNvdXJjZUxv
YWRTdGF0aXN0aWNzRW5hYmxlZChmYWxzZSk7Ci0gICAgICAgIHRlc3RSdW5uZXIuc3RhdGlzdGlj
c1Jlc2V0VG9Db25zaXN0ZW50U3RhdGUoZnVuY3Rpb24oKSB7CisgICAgICAgIHNldEVuYWJsZUZl
YXR1cmUoZmFsc2UsIGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgdGVzdFJ1bm5lci5ub3RpZnlE
b25lKCk7CiAgICAgICAgIH0pOwogICAgIH0KQEAgLTQ5LDggKzQ5LDcgQEAKICAgICBpZiAoZG9j
dW1lbnQubG9jYXRpb24uaG9zdCA9PT0gaG9zdFVuZGVyVGVzdCAmJiB3aW5kb3cudGVzdFJ1bm5l
ciAmJiB3aW5kb3cuaW50ZXJuYWxzKSB7CiAgICAgICAgIHRlc3RSdW5uZXIuc2V0VXNlSVRQRGF0
YWJhc2UodHJ1ZSk7CiAgICAgICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOwotICAgICAg
ICBpbnRlcm5hbHMuc2V0UmVzb3VyY2VMb2FkU3RhdGlzdGljc0VuYWJsZWQodHJ1ZSk7Ci0gICAg
ICAgIHJ1blRlc3RSdW5uZXJUZXN0KCk7CisgICAgICAgIHNldEVuYWJsZUZlYXR1cmUodHJ1ZSwg
cnVuVGVzdFJ1bm5lclRlc3QpOwogICAgIH0KIDwvc2NyaXB0PgogPC9ib2R5PgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NsYXNzaWZ5
LWFzLXByZXZhbGVudC1iYXNlZC1vbi1zdWJyZXNvdXJjZS11bmlxdWUtcmVkaXJlY3RzLXRvLmh0
bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY2xhc3Np
ZnktYXMtcHJldmFsZW50LWJhc2VkLW9uLXN1YnJlc291cmNlLXVuaXF1ZS1yZWRpcmVjdHMtdG8u
aHRtbAppbmRleCBiOGIxMmE1NTU0NjYyYzk1YmFiMTNiMjRmOGFkZjQzNTU0NDVmOGE0Li4yYWQ0
ODYxYmQwNDYyZWRhYTg2ZmQxMDVmNzYxOTgxYmI2N2U0NDM3IDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY2xhc3NpZnktYXMtcHJldmFs
ZW50LWJhc2VkLW9uLXN1YnJlc291cmNlLXVuaXF1ZS1yZWRpcmVjdHMtdG8uaHRtbAorKysgYi9M
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY2xhc3NpZnktYXMt
cHJldmFsZW50LWJhc2VkLW9uLXN1YnJlc291cmNlLXVuaXF1ZS1yZWRpcmVjdHMtdG8uaHRtbApA
QCAtNCw2ICs0LDcgQEAKICAgICA8bWV0YSBjaGFyc2V0PSJVVEYtOCI+CiAgICAgPHRpdGxlPlRl
c3RzIGZvciBDbGFzc2lmaWNhdGlvbiBCYXNlZCBvbiBTdWJyZXNvdXJjZSBVbmlxdWUgUmVkaXJl
Y3RzIFRvPC90aXRsZT4KICAgICA8c2NyaXB0IHNyYz0iL2pzLXRlc3QtcmVzb3VyY2VzL2pzLXRl
c3QuanMiPjwvc2NyaXB0PgorICAgIDxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvdXRpbC5qcyI+PC9z
Y3JpcHQ+CiA8L2hlYWQ+CiA8Ym9keT4KIDxzY3JpcHQ+CkBAIC0yMiw4ICsyMyw3IEBACiAgICAg
ICAgIGVsc2UKICAgICAgICAgICAgIHRlc3RQYXNzZWQoIkhvc3QgY2xhc3NpZmllZCBhcyBwcmV2
YWxlbnQgcmVzb3VyY2UuIik7CiAKLSAgICAgICAgaW50ZXJuYWxzLnNldFJlc291cmNlTG9hZFN0
YXRpc3RpY3NFbmFibGVkKGZhbHNlKTsKLSAgICAgICAgdGVzdFJ1bm5lci5zdGF0aXN0aWNzUmVz
ZXRUb0NvbnNpc3RlbnRTdGF0ZShmdW5jdGlvbigpIHsKKyAgICAgICAgc2V0RW5hYmxlRmVhdHVy
ZShmYWxzZSwgZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICB0ZXN0UnVubmVyLm5vdGlmeURvbmUo
KTsKICAgICAgICAgfSk7CiAgICAgfQpAQCAtNDgsOCArNDgsNyBAQAogCiAgICAgaWYgKGRvY3Vt
ZW50LmxvY2F0aW9uLmhvc3QgPT09IGhvc3RVbmRlclRlc3QgJiYgd2luZG93LnRlc3RSdW5uZXIg
JiYgd2luZG93LmludGVybmFscykgewogICAgICAgICB0ZXN0UnVubmVyLndhaXRVbnRpbERvbmUo
KTsKLSAgICAgICAgaW50ZXJuYWxzLnNldFJlc291cmNlTG9hZFN0YXRpc3RpY3NFbmFibGVkKHRy
dWUpOwotICAgICAgICBydW5UZXN0UnVubmVyVGVzdCgpOworICAgICAgICBzZXRFbmFibGVGZWF0
dXJlKHRydWUsIHJ1blRlc3RSdW5uZXJUZXN0KTsKICAgICB9CiA8L3NjcmlwdD4KIDwvYm9keT4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGlj
cy9wcmV2YWxlbnQtcmVzb3VyY2UtaGFuZGxlZC1rZXlkb3duLWRhdGFiYXNlLmh0bWwgYi9MYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvcHJldmFsZW50LXJlc291
cmNlLWhhbmRsZWQta2V5ZG93bi1kYXRhYmFzZS5odG1sCmluZGV4IDdlNTZhNTBjY2M4NGY4MGEx
NzVkZjQ2N2ZmNzg4OTRjZTdiNTE5ZmMuLmQ1Mzk5OTRlYmViMTFkYmRkZTNlZjkwMjg1MWQzMWQw
OGRmMzIwMmUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2Fk
U3RhdGlzdGljcy9wcmV2YWxlbnQtcmVzb3VyY2UtaGFuZGxlZC1rZXlkb3duLWRhdGFiYXNlLmh0
bWwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3By
ZXZhbGVudC1yZXNvdXJjZS1oYW5kbGVkLWtleWRvd24tZGF0YWJhc2UuaHRtbApAQCAtMiw2ICsy
LDcgQEAKIDxodG1sPgogPGJvZHk+CiA8c2NyaXB0IHNyYz0iL2pzLXRlc3QtcmVzb3VyY2VzL2pz
LXRlc3QuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9InJlc291cmNlcy91dGlsLmpzIj48L3Nj
cmlwdD4KIDxzY3JpcHQ+CiBkZXNjcmlwdGlvbigiVGVzdHMgdGhhdCB3ZSBncmFudCBVc2VyIElu
dGVyYWN0aW9uIGNyZWRpdCBmb3IgaGFuZGxlZCBrZXlwcmVzc2VzLiIpOwoganNUZXN0SXNBc3lu
YyA9IHRydWU7CkBAIC0xMyw4ICsxNCw5IEBAIG9ubG9hZCA9IGZ1bmN0aW9uKCkgewogCiAgICAg
aWYgKHdpbmRvdy50ZXN0UnVubmVyICYmIHdpbmRvdy5pbnRlcm5hbHMpIHsKICAgICAgICAgdGVz
dFJ1bm5lci5zZXRVc2VJVFBEYXRhYmFzZSh0cnVlKTsKLSAgICAgICAgaW50ZXJuYWxzLnNldFJl
c291cmNlTG9hZFN0YXRpc3RpY3NFbmFibGVkKHRydWUpOwotICAgICAgICB0ZXN0UnVubmVyLnNl
dFN0YXRpc3RpY3NOb3RpZnlQYWdlc1doZW5EYXRhUmVjb3Jkc1dlcmVTY2FubmVkKHRydWUpOwor
ICAgICAgICBzZXRFbmFibGVGZWF0dXJlKHRydWUsIGZ1bmN0aW9uKCkgeworICAgICAgICAgICAg
dGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNzTm90aWZ5UGFnZXNXaGVuRGF0YVJlY29yZHNXZXJlU2Nh
bm5lZCh0cnVlKTsKKyAgICAgICAgfSk7CiAgICAgfQogCiAgICAgdGVzdFJ1bm5lci5zZXRTdGF0
aXN0aWNzUHJldmFsZW50UmVzb3VyY2Uoc3RhdGlzdGljc1VybCwgdHJ1ZSwgZnVuY3Rpb24oKSB7
CkBAIC0zOCw5ICs0MCw3IEBAIG9ubG9hZCA9IGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAg
IHNldFRpbWVvdXQoZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgICAgICAgIHRlc3RGcmFtZS5z
cmMgPSAiYWJvdXQ6YmxhbmsiOwogICAgICAgICAgICAgICAgICAgICBzZXRUaW1lb3V0KGZ1bmN0
aW9uKCkgewotICAgICAgICAgICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5zdGF0aXN0aWNzUmVz
ZXRUb0NvbnNpc3RlbnRTdGF0ZShmdW5jdGlvbigpIHsKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBmaW5pc2hKU1Rlc3QoKTsKLSAgICAgICAgICAgICAgICAgICAgICAgIH0pOworICAgICAg
ICAgICAgICAgICAgICAgICAgc2V0RW5hYmxlRmVhdHVyZShmYWxzZSwgZmluaXNoSlNUZXN0KTsK
ICAgICAgICAgICAgICAgICAgICAgfSwgMCk7CiAgICAgICAgICAgICAgICAgfSwgMCk7CiAgICAg
ICAgICAgICB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VM
b2FkU3RhdGlzdGljcy9wcmV2YWxlbnQtcmVzb3VyY2UtaGFuZGxlZC1rZXlkb3duLmh0bWwgYi9M
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvcHJldmFsZW50LXJl
c291cmNlLWhhbmRsZWQta2V5ZG93bi5odG1sCmluZGV4IDc5OTJmNDk3YTAyZmUxMWM4OTE3Mzc5
MTY1Y2VlZDc0NTAzNjFhZTcuLmE4ODAxNWExYWRlNzkxMzUyZWJiN2E1YzA1NDhjMzI4YmY2NGIx
ZjQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlz
dGljcy9wcmV2YWxlbnQtcmVzb3VyY2UtaGFuZGxlZC1rZXlkb3duLmh0bWwKKysrIGIvTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3ByZXZhbGVudC1yZXNvdXJj
ZS1oYW5kbGVkLWtleWRvd24uaHRtbApAQCAtMiw2ICsyLDcgQEAKIDxodG1sPgogPGJvZHk+CiA8
c2NyaXB0IHNyYz0iL2pzLXRlc3QtcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9InJlc291cmNlcy91dGlsLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQ+CiBkZXNjcmlw
dGlvbigiVGVzdHMgdGhhdCB3ZSBncmFudCBVc2VyIEludGVyYWN0aW9uIGNyZWRpdCBmb3IgaGFu
ZGxlZCBrZXlwcmVzc2VzLiIpOwoganNUZXN0SXNBc3luYyA9IHRydWU7CkBAIC0xMiw4ICsxMyw5
IEBAIG9ubG9hZCA9IGZ1bmN0aW9uKCkgewogICAgIGNvbnN0IHRlc3RGcmFtZSA9IGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJ0ZXN0RnJhbWUiKTsKIAogICAgIGlmICh3aW5kb3cudGVzdFJ1bm5l
ciAmJiB3aW5kb3cuaW50ZXJuYWxzKSB7Ci0gICAgICAgIGludGVybmFscy5zZXRSZXNvdXJjZUxv
YWRTdGF0aXN0aWNzRW5hYmxlZCh0cnVlKTsKLSAgICAgICAgdGVzdFJ1bm5lci5zZXRTdGF0aXN0
aWNzTm90aWZ5UGFnZXNXaGVuRGF0YVJlY29yZHNXZXJlU2Nhbm5lZCh0cnVlKTsKKyAgICAgICAg
c2V0RW5hYmxlRmVhdHVyZSh0cnVlLCBmdW5jdGlvbigpIHsKKyAgICAgICAgICAgIHRlc3RSdW5u
ZXIuc2V0U3RhdGlzdGljc05vdGlmeVBhZ2VzV2hlbkRhdGFSZWNvcmRzV2VyZVNjYW5uZWQodHJ1
ZSk7CisgICAgICAgIH0pOwogICAgIH0KIAogICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc1By
ZXZhbGVudFJlc291cmNlKHN0YXRpc3RpY3NVcmwsIHRydWUsIGZ1bmN0aW9uKCkgewpAQCAtMzcs
OSArMzksNyBAQCBvbmxvYWQgPSBmdW5jdGlvbigpIHsKICAgICAgICAgICAgICAgICBzZXRUaW1l
b3V0KGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgICAgICB0ZXN0RnJhbWUuc3JjID0gImFi
b3V0OmJsYW5rIjsKICAgICAgICAgICAgICAgICAgICAgc2V0VGltZW91dChmdW5jdGlvbigpIHsK
LSAgICAgICAgICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIuc3RhdGlzdGljc1Jlc2V0VG9Db25z
aXN0ZW50U3RhdGUoZnVuY3Rpb24oKSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlu
aXNoSlNUZXN0KCk7Ci0gICAgICAgICAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgICAg
ICAgICAgICAgIHNldEVuYWJsZUZlYXR1cmUoZmFsc2UsIGZpbmlzaEpTVGVzdCk7CiAgICAgICAg
ICAgICAgICAgICAgIH0sIDApOwogICAgICAgICAgICAgICAgIH0sIDApOwogICAgICAgICAgICAg
fSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRp
c3RpY3MvcHJldmFsZW50LXJlc291cmNlLXVuaGFuZGxlZC1rZXlkb3duLWRhdGFiYXNlLmh0bWwg
Yi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvcHJldmFsZW50
LXJlc291cmNlLXVuaGFuZGxlZC1rZXlkb3duLWRhdGFiYXNlLmh0bWwKaW5kZXggNWFjZGViMjhl
NGNjYjcxMjgyNTMyMTdiYTg4MTllYTdlYTZmYjJmZC4uNDkxM2EzZDYzZGIzNTlmNjZiYWI3Zjk3
MTYzYWU3YmI0NjUwMTk2ZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNv
dXJjZUxvYWRTdGF0aXN0aWNzL3ByZXZhbGVudC1yZXNvdXJjZS11bmhhbmRsZWQta2V5ZG93bi1k
YXRhYmFzZS5odG1sCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3Rh
dGlzdGljcy9wcmV2YWxlbnQtcmVzb3VyY2UtdW5oYW5kbGVkLWtleWRvd24tZGF0YWJhc2UuaHRt
bApAQCAtMiw2ICsyLDcgQEAKIDxodG1sPgogPGJvZHk+CiA8c2NyaXB0IHNyYz0iL2pzLXRlc3Qt
cmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9InJlc291cmNlcy91
dGlsLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQ+CiBkZXNjcmlwdGlvbigiVGVzdHMgdGhhdCB3ZSBk
byBub3QgZ3JhbnQgVXNlciBJbnRlcmFjdGlvbiBjcmVkaXQgZm9yIHVuaGFuZGxlZCBrZXlwcmVz
cy4iKTsKIGpzVGVzdElzQXN5bmMgPSB0cnVlOwpAQCAtMTMsOCArMTQsOSBAQCBvbmxvYWQgPSBm
dW5jdGlvbigpIHsKIAogICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lciAmJiB3aW5kb3cuaW50ZXJu
YWxzKSB7CiAgICAgICAgIHRlc3RSdW5uZXIuc2V0VXNlSVRQRGF0YWJhc2UodHJ1ZSk7Ci0gICAg
ICAgIGludGVybmFscy5zZXRSZXNvdXJjZUxvYWRTdGF0aXN0aWNzRW5hYmxlZCh0cnVlKTsKLSAg
ICAgICAgdGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNzTm90aWZ5UGFnZXNXaGVuRGF0YVJlY29yZHNX
ZXJlU2Nhbm5lZCh0cnVlKTsKKyAgICAgICAgc2V0RW5hYmxlRmVhdHVyZSh0cnVlLCBmdW5jdGlv
bigpIHsKKyAgICAgICAgICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc05vdGlmeVBhZ2VzV2hl
bkRhdGFSZWNvcmRzV2VyZVNjYW5uZWQodHJ1ZSk7CisgICAgICAgIH0pOwogICAgIH0KIAogICAg
IHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc1ByZXZhbGVudFJlc291cmNlKHN0YXRpc3RpY3NVcmws
IHRydWUsIGZ1bmN0aW9uKCkgewpAQCAtMzMsOSArMzUsNyBAQCBvbmxvYWQgPSBmdW5jdGlvbigp
IHsKICAgICAgICAgICAgICAgICBzZXRUaW1lb3V0KGZ1bmN0aW9uKCkgewogICAgICAgICAgICAg
ICAgICAgICB0ZXN0RnJhbWUuc3JjID0gImFib3V0OmJsYW5rIjsKICAgICAgICAgICAgICAgICAg
ICAgc2V0VGltZW91dChmdW5jdGlvbigpIHsKLSAgICAgICAgICAgICAgICAgICAgICAgIHRlc3RS
dW5uZXIuc3RhdGlzdGljc1Jlc2V0VG9Db25zaXN0ZW50U3RhdGUoZnVuY3Rpb24oKSB7Ci0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7Ci0gICAgICAgICAgICAgICAg
ICAgICAgICB9KTsKKyAgICAgICAgICAgICAgICAgICAgICAgIHNldEVuYWJsZUZlYXR1cmUoZmFs
c2UsIGZpbmlzaEpTVGVzdCk7CiAgICAgICAgICAgICAgICAgICAgIH0sIDApOwogICAgICAgICAg
ICAgICAgIH0sIDApOwogICAgICAgICAgICAgfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9o
dHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvcHJldmFsZW50LXJlc291cmNlLXVuaGFu
ZGxlZC1rZXlkb3duLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0
YXRpc3RpY3MvcHJldmFsZW50LXJlc291cmNlLXVuaGFuZGxlZC1rZXlkb3duLmh0bWwKaW5kZXgg
YjIzNWI2NTQ0OWRjZmJiNzBlYzljODRhNzJiMzFiNTc4MjRiOWUzYy4uOGMwZjEwMjAyZDkzNmVk
YmVkZGQzZmY0YWRmZjU2MDE1YTg2NTViMCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90
ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3ByZXZhbGVudC1yZXNvdXJjZS11bmhhbmRsZWQt
a2V5ZG93bi5odG1sCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3Rh
dGlzdGljcy9wcmV2YWxlbnQtcmVzb3VyY2UtdW5oYW5kbGVkLWtleWRvd24uaHRtbApAQCAtMiw2
ICsyLDcgQEAKIDxodG1sPgogPGJvZHk+CiA8c2NyaXB0IHNyYz0iL2pzLXRlc3QtcmVzb3VyY2Vz
L2pzLXRlc3QuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9InJlc291cmNlcy91dGlsLmpzIj48
L3NjcmlwdD4KIDxzY3JpcHQ+CiBkZXNjcmlwdGlvbigiVGVzdHMgdGhhdCB3ZSBkbyBub3QgZ3Jh
bnQgVXNlciBJbnRlcmFjdGlvbiBjcmVkaXQgZm9yIHVuaGFuZGxlZCBrZXlwcmVzcy4iKTsKIGpz
VGVzdElzQXN5bmMgPSB0cnVlOwpAQCAtMTIsOCArMTMsOSBAQCBvbmxvYWQgPSBmdW5jdGlvbigp
IHsKICAgICBjb25zdCB0ZXN0RnJhbWUgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgidGVzdEZy
YW1lIik7CiAKICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIgJiYgd2luZG93LmludGVybmFscykg
ewotICAgICAgICBpbnRlcm5hbHMuc2V0UmVzb3VyY2VMb2FkU3RhdGlzdGljc0VuYWJsZWQodHJ1
ZSk7Ci0gICAgICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc05vdGlmeVBhZ2VzV2hlbkRhdGFS
ZWNvcmRzV2VyZVNjYW5uZWQodHJ1ZSk7CisgICAgICAgIHNldEVuYWJsZUZlYXR1cmUodHJ1ZSwg
ZnVuY3Rpb24oKSB7CisgICAgICAgICAgICB0ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NOb3RpZnlQ
YWdlc1doZW5EYXRhUmVjb3Jkc1dlcmVTY2FubmVkKHRydWUpOworICAgICAgICB9KTsKICAgICB9
CiAKICAgICB0ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NQcmV2YWxlbnRSZXNvdXJjZShzdGF0aXN0
aWNzVXJsLCB0cnVlLCBmdW5jdGlvbigpIHsKQEAgLTMyLDkgKzM0LDcgQEAgb25sb2FkID0gZnVu
Y3Rpb24oKSB7CiAgICAgICAgICAgICAgICAgc2V0VGltZW91dChmdW5jdGlvbigpIHsKICAgICAg
ICAgICAgICAgICAgICAgdGVzdEZyYW1lLnNyYyA9ICJhYm91dDpibGFuayI7CiAgICAgICAgICAg
ICAgICAgICAgIHNldFRpbWVvdXQoZnVuY3Rpb24oKSB7Ci0gICAgICAgICAgICAgICAgICAgICAg
ICB0ZXN0UnVubmVyLnN0YXRpc3RpY3NSZXNldFRvQ29uc2lzdGVudFN0YXRlKGZ1bmN0aW9uKCkg
ewotICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOwotICAgICAgICAg
ICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICAgICAgICAgICAgICBzZXRFbmFibGVGZWF0
dXJlKGZhbHNlLCBmaW5pc2hKU1Rlc3QpOwogICAgICAgICAgICAgICAgICAgICB9LCAwKTsKICAg
ICAgICAgICAgICAgICB9LCAwKTsKICAgICAgICAgICAgIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3ByZXZhbGVudC1yZXNvdXJj
ZS13aXRoLXVzZXItaW50ZXJhY3Rpb24tZGF0YWJhc2UuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAv
dGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9wcmV2YWxlbnQtcmVzb3VyY2Utd2l0aC11c2Vy
LWludGVyYWN0aW9uLWRhdGFiYXNlLmh0bWwKaW5kZXggZWMxM2E1MDI3NGM2ZGQ5NGJmZThhMTY0
NTljNGNiYWI4YTkwZTkwYy4uMGQyMjhmMzE0OWUxYjg2YjVlYzNkYjk1NDNhZjY3MTkyYTg5MDAx
YSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0
aWNzL3ByZXZhbGVudC1yZXNvdXJjZS13aXRoLXVzZXItaW50ZXJhY3Rpb24tZGF0YWJhc2UuaHRt
bAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvcHJl
dmFsZW50LXJlc291cmNlLXdpdGgtdXNlci1pbnRlcmFjdGlvbi1kYXRhYmFzZS5odG1sCkBAIC01
Nyw2ICs1Nyw3IEBACiAgICAgICAgIGlmIChkb2N1bWVudC5sb2NhdGlvbi5ob3N0ID09PSBob3N0
VW5kZXJUZXN0ICYmIHdpbmRvdy50ZXN0UnVubmVyICYmIHdpbmRvdy5pbnRlcm5hbHMpIHsKICAg
ICAgICAgICAgIHRlc3RSdW5uZXIuc2V0VXNlSVRQRGF0YWJhc2UodHJ1ZSk7CiAgICAgICAgICAg
ICBzZXRFbmFibGVGZWF0dXJlKHRydWUsIGZ1bmN0aW9uICgpIHsKKyAgICAgICAgICAgICAgICB0
ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NOb3RpZnlQYWdlc1doZW5EYXRhUmVjb3Jkc1dlcmVTY2Fu
bmVkKHRydWUpOwogICAgICAgICAgICAgICAgIHJ1blRlc3RSdW5uZXJUZXN0KCk7CiAgICAgICAg
ICAgICB9KTsKICAgICAgICAgfSBlbHNlIHsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAv
dGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9wcmV2YWxlbnQtcmVzb3VyY2Utd2l0aC11c2Vy
LWludGVyYWN0aW9uLXRpbWVvdXQtZGF0YWJhc2UuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVz
dHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9wcmV2YWxlbnQtcmVzb3VyY2Utd2l0aC11c2VyLWlu
dGVyYWN0aW9uLXRpbWVvdXQtZGF0YWJhc2UuaHRtbAppbmRleCBiMjA4OTcwNWQyNzhlYWEyMjEy
Njg1NmQxZDZkMDk5YTU5YTBhN2I3Li4xMjY4MjAxOTAxMDY0MzU3NjY2NmJlMDdhN2QyYWQ5ZDcx
YjkwODQxIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0
YXRpc3RpY3MvcHJldmFsZW50LXJlc291cmNlLXdpdGgtdXNlci1pbnRlcmFjdGlvbi10aW1lb3V0
LWRhdGFiYXNlLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRT
dGF0aXN0aWNzL3ByZXZhbGVudC1yZXNvdXJjZS13aXRoLXVzZXItaW50ZXJhY3Rpb24tdGltZW91
dC1kYXRhYmFzZS5odG1sCkBAIC00LDYgKzQsNyBAQAogICAgIDxtZXRhIGNoYXJzZXQ9IlVURi04
Ij4KICAgICA8dGl0bGU+VGVzdHMgZm9yIFByZXZhbGVudCBSZXNvdXJjZSBXaXRoIFVzZXIgSW50
ZXJhY3Rpb24gVGltZW91dDwvdGl0bGU+CiAgICAgPHNjcmlwdCBzcmM9Ii9qcy10ZXN0LXJlc291
cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICA8c2NyaXB0IHNyYz0icmVzb3VyY2VzL3V0
aWwuanMiPjwvc2NyaXB0PgogPC9oZWFkPgogPGJvZHk+CiA8c2NyaXB0PgpAQCAtNDgsOSArNDks
OCBAQAogICAgIGlmIChkb2N1bWVudC5sb2NhdGlvbi5ob3N0ID09PSBob3N0VW5kZXJUZXN0ICYm
IHdpbmRvdy50ZXN0UnVubmVyICYmIHdpbmRvdy5pbnRlcm5hbHMpIHsKICAgICAgICAgdGVzdFJ1
bm5lci5zZXRVc2VJVFBEYXRhYmFzZSh0cnVlKTsKICAgICAgICAgdGVzdFJ1bm5lci53YWl0VW50
aWxEb25lKCk7Ci0gICAgICAgIGludGVybmFscy5zZXRSZXNvdXJjZUxvYWRTdGF0aXN0aWNzRW5h
YmxlZCh0cnVlKTsKICAgICAgICAgdGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNzTm90aWZ5UGFnZXNX
aGVuRGF0YVJlY29yZHNXZXJlU2Nhbm5lZCh0cnVlKTsKLSAgICAgICAgcnVuVGVzdFJ1bm5lclRl
c3QoKTsKKyAgICAgICAgc2V0RW5hYmxlRmVhdHVyZSh0cnVlLCBydW5UZXN0UnVubmVyVGVzdCk7
CiAgICAgfQogPC9zY3JpcHQ+CiA8L2JvZHk+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvcHJldmFsZW50LXJlc291cmNlLXdpdGgtdXNl
ci1pbnRlcmFjdGlvbi10aW1lb3V0Lmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291
cmNlTG9hZFN0YXRpc3RpY3MvcHJldmFsZW50LXJlc291cmNlLXdpdGgtdXNlci1pbnRlcmFjdGlv
bi10aW1lb3V0Lmh0bWwKaW5kZXggMzUyNDk5ZGNmNzIwNmM1ZmJkOGQ1NDUwNzJkNDBiMjJmY2E3
ODY2NC4uMzg5YTU2ZDhiOWRmYmJhMjhhN2UzOTQxNWNiMTVlODZkNjg4NjUzMCAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3ByZXZhbGVu
dC1yZXNvdXJjZS13aXRoLXVzZXItaW50ZXJhY3Rpb24tdGltZW91dC5odG1sCisrKyBiL0xheW91
dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9wcmV2YWxlbnQtcmVzb3Vy
Y2Utd2l0aC11c2VyLWludGVyYWN0aW9uLXRpbWVvdXQuaHRtbApAQCAtNCw2ICs0LDcgQEAKICAg
ICA8bWV0YSBjaGFyc2V0PSJVVEYtOCI+CiAgICAgPHRpdGxlPlRlc3RzIGZvciBQcmV2YWxlbnQg
UmVzb3VyY2UgV2l0aCBVc2VyIEludGVyYWN0aW9uIFRpbWVvdXQ8L3RpdGxlPgogICAgIDxzY3Jp
cHQgc3JjPSIvanMtdGVzdC1yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgPHNj
cmlwdCBzcmM9InJlc291cmNlcy91dGlsLmpzIj48L3NjcmlwdD4KIDwvaGVhZD4KIDxib2R5Pgog
PHNjcmlwdD4KQEAgLTMwLDggKzMxLDcgQEAKICAgICAgICAgICAgICAgICAgICAgICAgIHRlc3RG
YWlsZWQoIkNvb2tpZSBub3QgZGVsZXRlZDogIiArIGRvY3VtZW50LmNvb2tpZSk7CiAgICAgICAg
ICAgICAgICAgICAgIGVsc2UKICAgICAgICAgICAgICAgICAgICAgICAgIHRlc3RQYXNzZWQoIkNv
b2tpZSBkZWxldGVkLiIpOwotICAgICAgICAgICAgICAgICAgICBpbnRlcm5hbHMuc2V0UmVzb3Vy
Y2VMb2FkU3RhdGlzdGljc0VuYWJsZWQoZmFsc2UpOwotICAgICAgICAgICAgICAgICAgICB0ZXN0
UnVubmVyLnN0YXRpc3RpY3NSZXNldFRvQ29uc2lzdGVudFN0YXRlKGZ1bmN0aW9uKCkgeworICAg
ICAgICAgICAgICAgICAgICBzZXRFbmFibGVGZWF0dXJlKGZhbHNlLCBmdW5jdGlvbigpIHsKICAg
ICAgICAgICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIubm90aWZ5RG9uZSgpOwogICAgICAgICAg
ICAgICAgICAgICB9KTsKICAgICAgICAgICAgICAgICB9KTsKQEAgLTQ3LDkgKzQ3LDEwIEBACiAK
ICAgICBpZiAoZG9jdW1lbnQubG9jYXRpb24uaG9zdCA9PT0gaG9zdFVuZGVyVGVzdCAmJiB3aW5k
b3cudGVzdFJ1bm5lciAmJiB3aW5kb3cuaW50ZXJuYWxzKSB7CiAgICAgICAgIHRlc3RSdW5uZXIu
d2FpdFVudGlsRG9uZSgpOwotICAgICAgICBpbnRlcm5hbHMuc2V0UmVzb3VyY2VMb2FkU3RhdGlz
dGljc0VuYWJsZWQodHJ1ZSk7Ci0gICAgICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc05vdGlm
eVBhZ2VzV2hlbkRhdGFSZWNvcmRzV2VyZVNjYW5uZWQodHJ1ZSk7Ci0gICAgICAgIHJ1blRlc3RS
dW5uZXJUZXN0KCk7CisgICAgICAgIHNldEVuYWJsZUZlYXR1cmUodHJ1ZSwgZnVuY3Rpb24oKSB7
CisgICAgICAgICAgICB0ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NOb3RpZnlQYWdlc1doZW5EYXRh
UmVjb3Jkc1dlcmVTY2FubmVkKHRydWUpOworICAgICAgICAgICAgcnVuVGVzdFJ1bm5lclRlc3Qo
KTsKKyAgICAgICAgIH0pOwogICAgIH0KIDwvc2NyaXB0PgogPC9ib2R5PgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3ByZXZhbGVudC1y
ZXNvdXJjZS13aXRoLXVzZXItaW50ZXJhY3Rpb24uaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVz
dHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9wcmV2YWxlbnQtcmVzb3VyY2Utd2l0aC11c2VyLWlu
dGVyYWN0aW9uLmh0bWwKaW5kZXggNjA2ZDNiZjBmMjEwNTk0OThhMzc3NjFkNzU2YTBkMTUzNGU1
YjMzZS4uZmY2MmYxYTViYzg3YWI1YmEwYzEzNjllNTMxOGYzNTM2MjQ4OGM0NiAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3ByZXZhbGVu
dC1yZXNvdXJjZS13aXRoLXVzZXItaW50ZXJhY3Rpb24uaHRtbAorKysgYi9MYXlvdXRUZXN0cy9o
dHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvcHJldmFsZW50LXJlc291cmNlLXdpdGgt
dXNlci1pbnRlcmFjdGlvbi5odG1sCkBAIC01NiwxMSArNTYsMTQgQEAKICAgICBmdW5jdGlvbiBz
ZXRVcEFuZFJ1bigpIHsKICAgICAgICAgaWYgKGRvY3VtZW50LmxvY2F0aW9uLmhvc3QgPT09IGhv
c3RVbmRlclRlc3QgJiYgd2luZG93LnRlc3RSdW5uZXIgJiYgd2luZG93LmludGVybmFscykgewog
ICAgICAgICAgICAgc2V0RW5hYmxlRmVhdHVyZSh0cnVlLCBmdW5jdGlvbiAoKSB7CisgICAgICAg
ICAgICAgICAgdGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNzTm90aWZ5UGFnZXNXaGVuRGF0YVJlY29y
ZHNXZXJlU2Nhbm5lZCh0cnVlKTsKICAgICAgICAgICAgICAgICBydW5UZXN0UnVubmVyVGVzdCgp
OwogICAgICAgICAgICAgfSk7CiAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICB0ZXN0RmFp
bGVkKCJXcm9uZyBob3N0LCBubyB0ZXN0UnVubmVyLCBvciBubyBpbnRlcm5hbHMuIik7Ci0gICAg
ICAgICAgICB0ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsKKyAgICAgICAgICAgIHNldEVuYWJsZUZl
YXR1cmUoZmFsc2UsIGZ1bmN0aW9uKCkgeworICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIubm90
aWZ5RG9uZSgpOworICAgICAgICAgICAgfSk7CiAgICAgICAgIH0KICAgICB9CiA8L3NjcmlwdD4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGlj
cy9wcmV2YWxlbnQtcmVzb3VyY2Utd2l0aG91dC11c2VyLWludGVyYWN0aW9uLWRhdGFiYXNlLmh0
bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvcHJldmFs
ZW50LXJlc291cmNlLXdpdGhvdXQtdXNlci1pbnRlcmFjdGlvbi1kYXRhYmFzZS5odG1sCmluZGV4
IDI3YjBiMmFhZTMwODRkNGM0N2Q5ZWM5ZjdjZTMyZmU0ZDQwYjljNGEuLjlhYmRiNmQxZGExY2U1
Nzg1MDk0ZDI0M2E3Mjg0NGE0NjMyZjI1ZWUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAv
dGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9wcmV2YWxlbnQtcmVzb3VyY2Utd2l0aG91dC11
c2VyLWludGVyYWN0aW9uLWRhdGFiYXNlLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0
cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3ByZXZhbGVudC1yZXNvdXJjZS13aXRob3V0LXVzZXIt
aW50ZXJhY3Rpb24tZGF0YWJhc2UuaHRtbApAQCAtNCw2ICs0LDcgQEAKICAgICA8bWV0YSBjaGFy
c2V0PSJVVEYtOCI+CiAgICAgPHRpdGxlPlRlc3RzIGZvciBQcmV2YWxlbnQgUmVzb3VyY2UgV2l0
aG91dCBVc2VyIEludGVyYWN0aW9uPC90aXRsZT4KICAgICA8c2NyaXB0IHNyYz0iL2pzLXRlc3Qt
cmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgIDxzY3JpcHQgc3JjPSJyZXNvdXJj
ZXMvdXRpbC5qcyI+PC9zY3JpcHQ+CiA8L2hlYWQ+CiA8Ym9keT4KIDxzY3JpcHQ+CkBAIC0xNSw4
ICsxNiw3IEBACiAgICAgICAgICAgICB0ZXN0RmFpbGVkKCJDb29raWUgbm90IGRlbGV0ZWQ6ICIg
KyBkb2N1bWVudC5jb29raWUpOwogICAgICAgICBlbHNlCiAgICAgICAgICAgICB0ZXN0UGFzc2Vk
KCJDb29raWUgZGVsZXRlZC4iKTsKLSAgICAgICAgaW50ZXJuYWxzLnNldFJlc291cmNlTG9hZFN0
YXRpc3RpY3NFbmFibGVkKGZhbHNlKTsKLSAgICAgICAgdGVzdFJ1bm5lci5zdGF0aXN0aWNzUmVz
ZXRUb0NvbnNpc3RlbnRTdGF0ZShmdW5jdGlvbigpIHsKKyAgICAgICAgc2V0RW5hYmxlRmVhdHVy
ZShmYWxzZSwgZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICB0ZXN0UnVubmVyLm5vdGlmeURvbmUo
KTsKICAgICAgICAgfSk7CiAgICAgfQpAQCAtNDksMTAgKzQ5LDExIEBACiAKICAgICBpZiAoZG9j
dW1lbnQubG9jYXRpb24uaG9zdCA9PT0gaG9zdFVuZGVyVGVzdCAmJiB3aW5kb3cudGVzdFJ1bm5l
ciAmJiB3aW5kb3cuaW50ZXJuYWxzKSB7CiAgICAgICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9u
ZSgpOwotICAgICAgICBpbnRlcm5hbHMuc2V0UmVzb3VyY2VMb2FkU3RhdGlzdGljc0VuYWJsZWQo
dHJ1ZSk7CiAgICAgICAgIHRlc3RSdW5uZXIuc2V0VXNlSVRQRGF0YWJhc2UodHJ1ZSk7Ci0gICAg
ICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc05vdGlmeVBhZ2VzV2hlbkRhdGFSZWNvcmRzV2Vy
ZVNjYW5uZWQodHJ1ZSk7Ci0gICAgICAgIHJ1blRlc3RSdW5uZXJUZXN0KCk7CisgICAgICAgIHNl
dEVuYWJsZUZlYXR1cmUodHJ1ZSwgZnVuY3Rpb24oKSB7CisgICAgICAgICAgICB0ZXN0UnVubmVy
LnNldFN0YXRpc3RpY3NOb3RpZnlQYWdlc1doZW5EYXRhUmVjb3Jkc1dlcmVTY2FubmVkKHRydWUp
OworICAgICAgICAgICAgcnVuVGVzdFJ1bm5lclRlc3QoKTsKKyAgICAgICAgfSk7CiAgICAgfQog
PC9zY3JpcHQ+CiA8L2JvZHk+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jl
c291cmNlTG9hZFN0YXRpc3RpY3MvcHJldmFsZW50LXJlc291cmNlLXdpdGhvdXQtdXNlci1pbnRl
cmFjdGlvbi5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0
aWNzL3ByZXZhbGVudC1yZXNvdXJjZS13aXRob3V0LXVzZXItaW50ZXJhY3Rpb24uaHRtbAppbmRl
eCBmMjAwMzEyNGQxZWRhZjlkNGI4MWJmMzI4ZDE2MmY3ZTA3ZDQ3NjFlLi42ZGY2MDA5ODI3ZmQy
NThkNzgyYzQyOTFhMjI4Mzc1NjAzNjE5NzAyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvcHJldmFsZW50LXJlc291cmNlLXdpdGhvdXQt
dXNlci1pbnRlcmFjdGlvbi5odG1sCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3Vy
Y2VMb2FkU3RhdGlzdGljcy9wcmV2YWxlbnQtcmVzb3VyY2Utd2l0aG91dC11c2VyLWludGVyYWN0
aW9uLmh0bWwKQEAgLTQsNiArNCw3IEBACiAgICAgPG1ldGEgY2hhcnNldD0iVVRGLTgiPgogICAg
IDx0aXRsZT5UZXN0cyBmb3IgUHJldmFsZW50IFJlc291cmNlIFdpdGhvdXQgVXNlciBJbnRlcmFj
dGlvbjwvdGl0bGU+CiAgICAgPHNjcmlwdCBzcmM9Ii9qcy10ZXN0LXJlc291cmNlcy9qcy10ZXN0
LmpzIj48L3NjcmlwdD4KKyAgICA8c2NyaXB0IHNyYz0icmVzb3VyY2VzL3V0aWwuanMiPjwvc2Ny
aXB0PgogPC9oZWFkPgogPGJvZHk+CiA8c2NyaXB0PgpAQCAtMTYsNyArMTcsNyBAQAogICAgICAg
ICBlbHNlCiAgICAgICAgICAgICB0ZXN0UGFzc2VkKCJDb29raWUgZGVsZXRlZC4iKTsKICAgICAg
ICAgaW50ZXJuYWxzLnNldFJlc291cmNlTG9hZFN0YXRpc3RpY3NFbmFibGVkKGZhbHNlKTsKLSAg
ICAgICAgdGVzdFJ1bm5lci5zdGF0aXN0aWNzUmVzZXRUb0NvbnNpc3RlbnRTdGF0ZShmdW5jdGlv
bigpIHsKKyAgICAgICAgc2V0RW5hYmxlRmVhdHVyZShmYWxzZSwgZnVuY3Rpb24oKSB7CiAgICAg
ICAgICAgICB0ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsKICAgICAgICAgfSk7CiAgICAgfQpAQCAt
NDksOSArNTAsMTAgQEAKIAogICAgIGlmIChkb2N1bWVudC5sb2NhdGlvbi5ob3N0ID09PSBob3N0
VW5kZXJUZXN0ICYmIHdpbmRvdy50ZXN0UnVubmVyICYmIHdpbmRvdy5pbnRlcm5hbHMpIHsKICAg
ICAgICAgdGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7Ci0gICAgICAgIGludGVybmFscy5zZXRS
ZXNvdXJjZUxvYWRTdGF0aXN0aWNzRW5hYmxlZCh0cnVlKTsKLSAgICAgICAgdGVzdFJ1bm5lci5z
ZXRTdGF0aXN0aWNzTm90aWZ5UGFnZXNXaGVuRGF0YVJlY29yZHNXZXJlU2Nhbm5lZCh0cnVlKTsK
LSAgICAgICAgcnVuVGVzdFJ1bm5lclRlc3QoKTsKKyAgICAgICAgc2V0RW5hYmxlRmVhdHVyZSh0
cnVlLCBmdW5jdGlvbigpIHsKKyAgICAgICAgICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc05v
dGlmeVBhZ2VzV2hlbkRhdGFSZWNvcmRzV2VyZVNjYW5uZWQodHJ1ZSk7CisgICAgICAgICAgICBy
dW5UZXN0UnVubmVyVGVzdCgpOworICAgICAgICB9KTsKICAgICB9CiA8L3NjcmlwdD4KIDwvYm9k
eT4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlz
dGljcy9wcnVuZS1zdGF0aXN0aWNzLWRhdGFiYXNlLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rl
c3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvcHJ1bmUtc3RhdGlzdGljcy1kYXRhYmFzZS5odG1s
CmluZGV4IDBjYWI3ZDM5MTcxZDAzZjQ3YjQxOWQyYWRiMGNhMTM4YWRmNzhlYjkuLjIyNGYxMTM4
NzY5OGMwZGZiOWIzYmIxODhlNzM2NTc2ZjI4YTQ2YWUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9wcnVuZS1zdGF0aXN0aWNzLWRhdGFi
YXNlLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0
aWNzL3BydW5lLXN0YXRpc3RpY3MtZGF0YWJhc2UuaHRtbApAQCAtNCw2ICs0LDcgQEAKICAgICA8
bWV0YSBjaGFyc2V0PSJVVEYtOCI+CiAgICAgPHRpdGxlPlRlc3QgZm9yIFJlc291cmNlIExvYWQg
U3RhdGlzdGljcyBQcnVuaW5nPC90aXRsZT4KICAgICA8c2NyaXB0IHNyYz0iL2pzLXRlc3QtcmVz
b3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgIDxzY3JpcHQgc3JjPSJyZXNvdXJjZXMv
dXRpbC5qcyI+PC9zY3JpcHQ+CiA8L2hlYWQ+CiA8Ym9keT4KIDxzY3JpcHQ+CkBAIC0zMywxMSAr
MzQsOCBAQAogICAgICAgICAgICAgICAgIGZhaWxlZCA9IHRydWU7CiAgICAgICAgICAgICB9CiAg
ICAgICAgIH0KLSAgICAgICAgaWYgKGZhaWxlZCkgewotICAgICAgICAgICAgdGVzdFJ1bm5lci5z
dGF0aXN0aWNzUmVzZXRUb0NvbnNpc3RlbnRTdGF0ZShmdW5jdGlvbigpIHsKLSAgICAgICAgICAg
ICAgICBmaW5pc2hKU1Rlc3QoKTsKLSAgICAgICAgICAgIH0pOwotICAgICAgICB9CisgICAgICAg
IGlmIChmYWlsZWQpCisgICAgICAgICAgICBzZXRFbmFibGVGZWF0dXJlKGZhbHNlLCBmaW5pc2hK
U1Rlc3QpOwogICAgIH0KIAogICAgIGZ1bmN0aW9uIGNoZWNrSWZQcmV2YWxlbnQoYmVnaW4sIGVu
ZCwgZXhwZWN0ZWQpIHsKQEAgLTQ4LDExICs0Niw4IEBACiAgICAgICAgICAgICAgICAgZmFpbGVk
ID0gdHJ1ZTsKICAgICAgICAgICAgIH0KICAgICAgICAgfQotICAgICAgICBpZiAoZmFpbGVkKSB7
Ci0gICAgICAgICAgICB0ZXN0UnVubmVyLnN0YXRpc3RpY3NSZXNldFRvQ29uc2lzdGVudFN0YXRl
KGZ1bmN0aW9uKCkgewotICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOwotICAgICAgICAg
ICAgfSk7Ci0gICAgICAgIH0KKyAgICAgICAgaWYgKGZhaWxlZCkKKyAgICAgICAgICAgIHNldEVu
YWJsZUZlYXR1cmUoZmFsc2UsIGZpbmlzaEpTVGVzdCk7CiAgICAgfQogCiAgICAgZnVuY3Rpb24g
aW5pdGlhbGl6ZVN0YXRpc3RpY3NBbmRSdW5UZXN0cyhzdGVwKSB7CkBAIC0xMjcsMTEgKzEyMiw4
IEBACiAgICAgICAgICAgICArK2N1cnJlbnRUZXN0OwogICAgICAgICAgICAgdGVzdFJ1bm5lci5p
bnN0YWxsU3RhdGlzdGljc0RpZFNjYW5EYXRhUmVjb3Jkc0NhbGxiYWNrKGNoZWNrU3RhdGlzdGlj
c0FmdGVyUHJ1bmluZyk7CiAgICAgICAgICAgICBpbml0aWFsaXplU3RhdGlzdGljc0FuZFJ1blRl
c3RzKDEpOwotICAgICAgICB9IGVsc2UgewotICAgICAgICAgICAgdGVzdFJ1bm5lci5zdGF0aXN0
aWNzUmVzZXRUb0NvbnNpc3RlbnRTdGF0ZShmdW5jdGlvbigpIHsKLSAgICAgICAgICAgICAgICBm
aW5pc2hKU1Rlc3QoKTsKLSAgICAgICAgICAgIH0pOwotICAgICAgICB9CisgICAgICAgIH0gZWxz
ZQorICAgICAgICAgICAgc2V0RW5hYmxlRmVhdHVyZShmYWxzZSwgZmluaXNoSlNUZXN0KTsKICAg
ICB9CiAKICAgICBsZXQgZmlsbGVyVXJsOwpAQCAtMTQ3LDE2ICsxMzksMTggQEAKICAgICB9CiAK
ICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpIHsKLSAgICAgICAgICAgIHRlc3RSdW5uZXIuc2V0
VXNlSVRQRGF0YWJhc2UodHJ1ZSk7Ci0gICAgICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc1No
b3VsZENsYXNzaWZ5UmVzb3VyY2VzQmVmb3JlRGF0YVJlY29yZHNSZW1vdmFsKGZhbHNlKTsKLSAg
ICAgICAgdGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNzTWluaW11bVRpbWVCZXR3ZWVuRGF0YVJlY29y
ZHNSZW1vdmFsKDApOwotICAgICAgICB0ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NOb3RpZnlQYWdl
c1doZW5EYXRhUmVjb3Jkc1dlcmVTY2FubmVkKHRydWUpOwotICAgICAgICB0ZXN0UnVubmVyLnNl
dFN0YXRpc3RpY3NNYXhTdGF0aXN0aWNzRW50cmllcyh1cmxzVG9CZVBydW5lZC5sZW5ndGgpOwot
ICAgICAgICB0ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NQcnVuZUVudHJpZXNEb3duVG8odXJsc1Rv
QmVQcnVuZWQubGVuZ3RoKTsKKyAgICAgICAgdGVzdFJ1bm5lci5zZXRVc2VJVFBEYXRhYmFzZSh0
cnVlKTsKKyAgICAgICAgc2V0RW5hYmxlRmVhdHVyZSh0cnVlLCBmdW5jdGlvbiAoKSB7CisgICAg
ICAgICAgICB0ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NTaG91bGRDbGFzc2lmeVJlc291cmNlc0Jl
Zm9yZURhdGFSZWNvcmRzUmVtb3ZhbChmYWxzZSk7CisgICAgICAgICAgICB0ZXN0UnVubmVyLnNl
dFN0YXRpc3RpY3NNaW5pbXVtVGltZUJldHdlZW5EYXRhUmVjb3Jkc1JlbW92YWwoMCk7CisgICAg
ICAgICAgICB0ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NOb3RpZnlQYWdlc1doZW5EYXRhUmVjb3Jk
c1dlcmVTY2FubmVkKHRydWUpOworICAgICAgICAgICAgdGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNz
TWF4U3RhdGlzdGljc0VudHJpZXModXJsc1RvQmVQcnVuZWQubGVuZ3RoKTsKKyAgICAgICAgICAg
IHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc1BydW5lRW50cmllc0Rvd25Ubyh1cmxzVG9CZVBydW5l
ZC5sZW5ndGgpOwogCi0gICAgICAgIGN1cnJlbnRUZXN0ID0gMTsKLSAgICAgICAgdGVzdFJ1bm5l
ci5pbnN0YWxsU3RhdGlzdGljc0RpZFNjYW5EYXRhUmVjb3Jkc0NhbGxiYWNrKGNoZWNrU3RhdGlz
dGljc0FmdGVyUHJ1bmluZyk7Ci0gICAgICAgIGluaXRpYWxpemVTdGF0aXN0aWNzQW5kUnVuVGVz
dHMoMSk7CisgICAgICAgICAgICBjdXJyZW50VGVzdCA9IDE7CisgICAgICAgICAgICB0ZXN0UnVu
bmVyLmluc3RhbGxTdGF0aXN0aWNzRGlkU2NhbkRhdGFSZWNvcmRzQ2FsbGJhY2soY2hlY2tTdGF0
aXN0aWNzQWZ0ZXJQcnVuaW5nKTsKKyAgICAgICAgICAgIGluaXRpYWxpemVTdGF0aXN0aWNzQW5k
UnVuVGVzdHMoMSk7CisgICAgICAgIH0pOwogICAgIH0KIDwvc2NyaXB0PgogPC9ib2R5PgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3By
dW5lLXN0YXRpc3RpY3MuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2Fk
U3RhdGlzdGljcy9wcnVuZS1zdGF0aXN0aWNzLmh0bWwKaW5kZXggYjUxNTIyZjcxZjA4N2Y5OWIz
YjU0N2IyNDNkMjE4Y2ZlMTY0NjVkYi4uNjk0MTA2ZDk3NDdkZTcyNjM1M2EyNTU5YzQyODM5ZDhm
MjY0ODNhYiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRT
dGF0aXN0aWNzL3BydW5lLXN0YXRpc3RpY3MuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rl
c3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvcHJ1bmUtc3RhdGlzdGljcy5odG1sCkBAIC00LDYg
KzQsNyBAQAogICAgIDxtZXRhIGNoYXJzZXQ9IlVURi04Ij4KICAgICA8dGl0bGU+VGVzdCBmb3Ig
UmVzb3VyY2UgTG9hZCBTdGF0aXN0aWNzIFBydW5pbmc8L3RpdGxlPgogICAgIDxzY3JpcHQgc3Jj
PSIvanMtdGVzdC1yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgPHNjcmlwdCBz
cmM9InJlc291cmNlcy91dGlsLmpzIj48L3NjcmlwdD4KIDwvaGVhZD4KIDxib2R5PgogPHNjcmlw
dD4KQEAgLTMzLDExICszNCw4IEBACiAgICAgICAgICAgICAgICAgZmFpbGVkID0gdHJ1ZTsKICAg
ICAgICAgICAgIH0KICAgICAgICAgfQotICAgICAgICBpZiAoZmFpbGVkKSB7Ci0gICAgICAgICAg
ICB0ZXN0UnVubmVyLnN0YXRpc3RpY3NSZXNldFRvQ29uc2lzdGVudFN0YXRlKGZ1bmN0aW9uKCkg
ewotICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOwotICAgICAgICAgICAgfSk7Ci0gICAg
ICAgIH0KKyAgICAgICAgaWYgKGZhaWxlZCkKKyAgICAgICAgICAgIHNldEVuYWJsZUZlYXR1cmUo
ZmFsc2UsIGZpbmlzaEpTVGVzdCk7CiAgICAgfQogCiAgICAgZnVuY3Rpb24gY2hlY2tJZlByZXZh
bGVudChiZWdpbiwgZW5kLCBleHBlY3RlZCkgewpAQCAtNDgsMTEgKzQ2LDggQEAKICAgICAgICAg
ICAgICAgICBmYWlsZWQgPSB0cnVlOwogICAgICAgICAgICAgfQogICAgICAgICB9Ci0gICAgICAg
IGlmIChmYWlsZWQpIHsKLSAgICAgICAgICAgIHRlc3RSdW5uZXIuc3RhdGlzdGljc1Jlc2V0VG9D
b25zaXN0ZW50U3RhdGUoZnVuY3Rpb24oKSB7Ci0gICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0
KCk7Ci0gICAgICAgICAgICB9KTsKLSAgICAgICAgfQorICAgICAgICBpZiAoZmFpbGVkKQorICAg
ICAgICAgICAgc2V0RW5hYmxlRmVhdHVyZShmYWxzZSwgZmluaXNoSlNUZXN0KTsKICAgICB9CiAK
ICAgICBmdW5jdGlvbiBpbml0aWFsaXplU3RhdGlzdGljc0FuZFJ1blRlc3RzKHN0ZXApIHsKQEAg
LTEyNywxMSArMTIyLDkgQEAKICAgICAgICAgICAgICsrY3VycmVudFRlc3Q7CiAgICAgICAgICAg
ICB0ZXN0UnVubmVyLmluc3RhbGxTdGF0aXN0aWNzRGlkU2NhbkRhdGFSZWNvcmRzQ2FsbGJhY2so
Y2hlY2tTdGF0aXN0aWNzQWZ0ZXJQcnVuaW5nKTsKICAgICAgICAgICAgIGluaXRpYWxpemVTdGF0
aXN0aWNzQW5kUnVuVGVzdHMoMSk7Ci0gICAgICAgIH0gZWxzZSB7Ci0gICAgICAgICAgICB0ZXN0
UnVubmVyLnN0YXRpc3RpY3NSZXNldFRvQ29uc2lzdGVudFN0YXRlKGZ1bmN0aW9uKCkgewotICAg
ICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOwotICAgICAgICAgICAgfSk7Ci0gICAgICAgIH0K
KyAgICAgICAgfSBlbHNlCisgICAgICAgICAgICBzZXRFbmFibGVGZWF0dXJlKGZhbHNlLCBmaW5p
c2hKU1Rlc3QpOworCiAgICAgfQogCiAgICAgbGV0IGZpbGxlclVybDsKQEAgLTE0NywxNiArMTQw
LDE4IEBACiAgICAgfQogCiAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7Ci0gICAgICAgIHRl
c3RSdW5uZXIuc2V0U3RhdGlzdGljc1Nob3VsZENsYXNzaWZ5UmVzb3VyY2VzQmVmb3JlRGF0YVJl
Y29yZHNSZW1vdmFsKGZhbHNlKTsKLSAgICAgICAgdGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNzTWlu
aW11bVRpbWVCZXR3ZWVuRGF0YVJlY29yZHNSZW1vdmFsKDApOwotICAgICAgICB0ZXN0UnVubmVy
LnNldFN0YXRpc3RpY3NOb3RpZnlQYWdlc1doZW5EYXRhUmVjb3Jkc1dlcmVTY2FubmVkKHRydWUp
OwotICAgICAgICB0ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NNYXhTdGF0aXN0aWNzRW50cmllcyh1
cmxzVG9CZVBydW5lZC5sZW5ndGgpOwotICAgICAgICB0ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NQ
cnVuZUVudHJpZXNEb3duVG8odXJsc1RvQmVQcnVuZWQubGVuZ3RoKTsKKyAgICAgICAgc2V0RW5h
YmxlRmVhdHVyZSh0cnVlLCBmdW5jdGlvbiAoKSB7CisgICAgICAgICAgICB0ZXN0UnVubmVyLnNl
dFN0YXRpc3RpY3NTaG91bGRDbGFzc2lmeVJlc291cmNlc0JlZm9yZURhdGFSZWNvcmRzUmVtb3Zh
bChmYWxzZSk7CisgICAgICAgICAgICB0ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NNaW5pbXVtVGlt
ZUJldHdlZW5EYXRhUmVjb3Jkc1JlbW92YWwoMCk7CisgICAgICAgICAgICB0ZXN0UnVubmVyLnNl
dFN0YXRpc3RpY3NOb3RpZnlQYWdlc1doZW5EYXRhUmVjb3Jkc1dlcmVTY2FubmVkKHRydWUpOwor
ICAgICAgICAgICAgdGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNzTWF4U3RhdGlzdGljc0VudHJpZXMo
dXJsc1RvQmVQcnVuZWQubGVuZ3RoKTsKKyAgICAgICAgICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlz
dGljc1BydW5lRW50cmllc0Rvd25Ubyh1cmxzVG9CZVBydW5lZC5sZW5ndGgpOwogCi0gICAgICAg
IGN1cnJlbnRUZXN0ID0gMTsKLSAgICAgICAgdGVzdFJ1bm5lci5pbnN0YWxsU3RhdGlzdGljc0Rp
ZFNjYW5EYXRhUmVjb3Jkc0NhbGxiYWNrKGNoZWNrU3RhdGlzdGljc0FmdGVyUHJ1bmluZyk7Ci0g
ICAgICAgIGluaXRpYWxpemVTdGF0aXN0aWNzQW5kUnVuVGVzdHMoMSk7CisgICAgICAgICAgICBj
dXJyZW50VGVzdCA9IDE7CisgICAgICAgICAgICB0ZXN0UnVubmVyLmluc3RhbGxTdGF0aXN0aWNz
RGlkU2NhbkRhdGFSZWNvcmRzQ2FsbGJhY2soY2hlY2tTdGF0aXN0aWNzQWZ0ZXJQcnVuaW5nKTsK
KyAgICAgICAgICAgIGluaXRpYWxpemVTdGF0aXN0aWNzQW5kUnVuVGVzdHMoMSk7CisgICAgICAg
IH0pOwogICAgIH0KIDwvc2NyaXB0PgogPC9ib2R5PgotPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQg
ZW5kIG9mIGZpbGUKKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMv
cmVzb3VyY2VMb2FkU3RhdGlzdGljcy9yZXNvdXJjZXMvdXRpbC5qcyBiL0xheW91dFRlc3RzL2h0
dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9yZXNvdXJjZXMvdXRpbC5qcwppbmRleCBh
NDU2ZDA5ZmQ0MmRmMzBjYThjMDlmMDA1NDkyZDkzMTlhMzQ4NTAyLi5lZmU3OTgyY2ZlN2RhNWM5
ZjViZmE2NTI3ZjAzOTdhZTYyMzIwZmRhIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rl
c3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvcmVzb3VyY2VzL3V0aWwuanMKKysrIGIvTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3Jlc291cmNlcy91dGlsLmpz
CkBAIC0xLDcgKzEsNiBAQAogZnVuY3Rpb24gc2V0RW5hYmxlRmVhdHVyZShlbmFibGUsIGNvbXBs
ZXRpb25IYW5kbGVyKSB7CiAgICAgaWYgKHR5cGVvZiBjb21wbGV0aW9uSGFuZGxlciAhPT0gImZ1
bmN0aW9uIikKICAgICAgICAgdGVzdEZhaWxlZCgic2V0RW5hYmxlRmVhdHVyZSgpIHJlcXVpcmVz
IGEgY29tcGxldGlvbiBoYW5kbGVyIGZ1bmN0aW9uLiIpOwotICAgIHRlc3RSdW5uZXIuc2V0U3Rh
dGlzdGljc05vdGlmeVBhZ2VzV2hlbkRhdGFSZWNvcmRzV2VyZVNjYW5uZWQoZW5hYmxlKTsKICAg
ICBpZiAoZW5hYmxlKSB7CiAgICAgICAgIGludGVybmFscy5zZXRSZXNvdXJjZUxvYWRTdGF0aXN0
aWNzRW5hYmxlZCh0cnVlKTsKICAgICAgICAgdGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNzSXNSdW5u
aW5nVGVzdCh0cnVlKTsKQEAgLTEwLDYgKzksNyBAQCBmdW5jdGlvbiBzZXRFbmFibGVGZWF0dXJl
KGVuYWJsZSwgY29tcGxldGlvbkhhbmRsZXIpIHsKICAgICAgICAgdGVzdFJ1bm5lci5zdGF0aXN0
aWNzUmVzZXRUb0NvbnNpc3RlbnRTdGF0ZShmdW5jdGlvbigpIHsKICAgICAgICAgICAgIHRlc3RS
dW5uZXIuc2V0U3RhdGlzdGljc0lzUnVubmluZ1Rlc3QoZmFsc2UpOwogICAgICAgICAgICAgaW50
ZXJuYWxzLnNldFJlc291cmNlTG9hZFN0YXRpc3RpY3NFbmFibGVkKGZhbHNlKTsKKyAgICAgICAg
ICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc05vdGlmeVBhZ2VzV2hlbkRhdGFSZWNvcmRzV2Vy
ZVNjYW5uZWQoZmFsc2UpOwogICAgICAgICAgICAgY29tcGxldGlvbkhhbmRsZXIoKTsKICAgICAg
ICAgfSk7CiAgICAgfQo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>390087</attachid>
            <date>2020-02-07 09:02:45 -0800</date>
            <delta_ts>2020-02-09 13:36:59 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-207271-20200207090245.patch</filename>
            <type>text/plain</type>
            <size>105257</size>
            <attacher name="Kate Cheney">katherine_cheney</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjU1OTU1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGIwZDViY2U1OTBjMTQ3OTdj
M2FmYjQ2MjAzNTM4Y2I4ZWVmNzY3MTUuLjU3YWQ2N2NiNTFkMDU1MzkwYWUwMjViMjJkOGNkZDFl
NjcyMDgzYmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTggQEAKKzIwMjAtMDItMDcgIEthdGUgQ2hl
bmV5ICA8a2F0aGVyaW5lX2NoZW5leUBhcHBsZS5jb20+CisKKyAgICAgICAgWyBNYWMgd2syIF0g
aHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2xvZy1jcm9zcy1zaXRlLWxvYWQtd2l0
aC1saW5rLWRlY29yYXRpb24uaHRtbCBpcyBhIGZsYWt5IGZhaWx1cmUKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwNzI3MQorICAgICAgICA8cmRhcjov
L3Byb2JsZW0vNTkxOTAzNDY+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgVGhpcyBwYXRjaCBhZGRzIGEgY2hlY2sgdG8gbWFrZSBzdXJlIGEgdGVzdCBp
cyBleHBlY3RpbmcgYSBzdGF0aXN0aWNzCisgICAgICAgIHByb2Nlc3NpbmcgY2FsbCBiZWZvcmUg
cHJvY2VlZGluZy4gT3RoZXJ3aXNlLCB0aGlzIGNhbiBjYXVzZQorICAgICAgICBmbGFraW5lc3Mg
aW4gSVRQIHRlc3RzIGlmIGRhdGEgaXMgcmVtb3ZlZC9jaGFuZ2VkIGR1cmluZyB0aGUgdGVzdC4K
KworICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL0NsYXNzaWZpZXIvUmVzb3VyY2VMb2FkU3RhdGlz
dGljc1N0b3JlLmNwcDoKKyAgICAgICAgKFdlYktpdDo6UmVzb3VyY2VMb2FkU3RhdGlzdGljc1N0
b3JlOjpwcm9jZXNzU3RhdGlzdGljc0FuZERhdGFSZWNvcmRzKToKKwogMjAyMC0wMi0wNiAgQ2hy
aXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgogCiAgICAgICAgIFtJUEMgaGFyZGVuaW5nXSBV
cGRhdGUgV2ViUGFzdGVib2FyZFByb3h5IG1ldGhvZHMgdG8gdmFsaWRhdGUgdGhlaXIgcGFyYW1l
dGVycwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9DbGFzc2lmaWVy
L1Jlc291cmNlTG9hZFN0YXRpc3RpY3NTdG9yZS5jcHAgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQ
cm9jZXNzL0NsYXNzaWZpZXIvUmVzb3VyY2VMb2FkU3RhdGlzdGljc1N0b3JlLmNwcAppbmRleCAw
MWU4Zjc5YzE1ZmFlNmJmYzM4NjZlYTg5OWRjZGZkNzdmN2EyNjg0Li4yMDgyMjRhM2UyNmMxMjU2
MmU3NWEwN2FlNTNlNTQxN2E1YzBmMmViIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L05ldHdv
cmtQcm9jZXNzL0NsYXNzaWZpZXIvUmVzb3VyY2VMb2FkU3RhdGlzdGljc1N0b3JlLmNwcAorKysg
Yi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL0NsYXNzaWZpZXIvUmVzb3VyY2VMb2FkU3Rh
dGlzdGljc1N0b3JlLmNwcApAQCAtMjM1LDYgKzIzNSw5IEBAIHZvaWQgUmVzb3VyY2VMb2FkU3Rh
dGlzdGljc1N0b3JlOjpwcm9jZXNzU3RhdGlzdGljc0FuZERhdGFSZWNvcmRzKCkKIHsKICAgICBB
U1NFUlQoIVJ1bkxvb3A6OmlzTWFpbigpKTsKIAorICAgIGlmIChwYXJhbWV0ZXJzKCkuaXNSdW5u
aW5nVGVzdCAmJiAhbV9wYXJhbWV0ZXJzLnNob3VsZE5vdGlmeVBhZ2VzV2hlbkRhdGFSZWNvcmRz
V2VyZVNjYW5uZWQpCisgICAgICAgIHJldHVybjsKKwogICAgIGlmIChtX3BhcmFtZXRlcnMuc2hv
dWxkQ2xhc3NpZnlSZXNvdXJjZXNCZWZvcmVEYXRhUmVjb3Jkc1JlbW92YWwpCiAgICAgICAgIGNs
YXNzaWZ5UHJldmFsZW50UmVzb3VyY2VzKCk7CiAgICAgCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggZTRkZjAwOTNjMGMwYzA4
NGQwMTcyMDM0MzI1ODMzOGQ2NGQ1NmFhZi4uNTdhNmJhN2Q3YjhmZDZmNDRhMTg0YjIwYmIyYWVm
OGUxZjlhNzIzZSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91
dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDk1IEBACisyMDIwLTAyLTA3ICBLYXRlIENoZW5l
eSAgPGthdGhlcmluZV9jaGVuZXlAYXBwbGUuY29tPgorCisgICAgICAgIFsgTWFjIHdrMiBdIGh0
dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9sb2ctY3Jvc3Mtc2l0ZS1sb2FkLXdpdGgt
bGluay1kZWNvcmF0aW9uLmh0bWwgaXMgYSBmbGFreSBmYWlsdXJlCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDcyNzEKKyAgICAgICAgPHJkYXI6Ly9w
cm9ibGVtLzU5MTkwMzQ2PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgIFRoaXMgcGF0Y2ggdXBkYXRlcyBhbGwgSVRQIHRlc3RzIHRvIGZvbGxvdyB0aGUg
cGF0dGVybgorICAgICAgICBzZXRFbmFibGVGZWF0dXJlKHRydWUpIGF0IHRlc3Qgc2V0dXAgYW5k
IHNldEVuYWJsZUZlYXR1cmUoZmFsc2UpIHdoZW4KKyAgICAgICAgZmluaXNoZWQuIFRoaXMgZW5h
Ymxlcy9kaXNhYmxlcyBib3RoIElUUCBhbmQgdGhlIGlzUnVubmluZ1Rlc3QKKyAgICAgICAgcGFy
YW1ldGVyIHNvIHRlc3RzIGRvbid0IGhhdmUgdG8gbWFrZSB0d28gY2FsbHMuIEl0IGFsc28gZW5z
dXJlcyB0aGF0CisgICAgICAgIGVhY2ggdGVzdCB3aGljaCByZWxpZXMgb24gc3RhdGlzdGljcyBw
cm9jZXNzaW5nIG5vdGlmaWVzIHRoZSB0ZXN0UnVubmVyCisgICAgICAgIHNvIGl0IGtub3dzIHRv
IHdhaXQgZm9yIGEgY2FsbGJhY2ssIGFuZCBkZWxldGVzIHVuZWNlc3NhcnkgY2FsbHMKKyAgICAg
ICAgdG8gc2V0U3RhdGlzdGljc05vdGlmeVBhZ2VzV2hlbkRhdGFSZWNvcmRzV2VyZVNjYW5uZWQg
d2hpY2ggaXMgY2FsbGVkCisgICAgICAgIGluIGluc3RhbGxTdGF0aXN0aWNzRGlkU2NhbkRhdGFS
ZWNvcmRzQ2FsbGJhY2suCisKKyAgICAgICAgVGhpcyB3aWxsIGhlbHAgbGltaXQgZmxha2luZXNz
IGJ5IHByb2Nlc3Npbmcgc3RhdGlzdGljcyBvbmx5IGZvciBJVFAKKyAgICAgICAgdGVzdHMgd2hp
Y2ggcmVxdWlyZSBpdCBmb3IgdGhlaXIgcHVycG9zZS4KKworICAgICAgICAqIGh0dHAvdGVzdHMv
cmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jbGFzc2lmeS1hcy1ub24tcHJldmFsZW50LWJhc2VkLW9u
LW1peGVkLXN0YXRpc3RpY3MtZGF0YWJhc2UuaHRtbDoKKyAgICAgICAgKiBodHRwL3Rlc3RzL3Jl
c291cmNlTG9hZFN0YXRpc3RpY3MvY2xhc3NpZnktYXMtbm9uLXByZXZhbGVudC1iYXNlZC1vbi1t
aXhlZC1zdGF0aXN0aWNzLmh0bWw6CisgICAgICAgICogaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRT
dGF0aXN0aWNzL2NsYXNzaWZ5LWFzLW5vbi1wcmV2YWxlbnQtYmFzZWQtb24tc3VicmVzb3VyY2Ut
dW5kZXItdG9wLWZyYW1lLW9yaWdpbnMtZGF0YWJhc2UuaHRtbDoKKyAgICAgICAgKiBodHRwL3Rl
c3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY2xhc3NpZnktYXMtbm9uLXByZXZhbGVudC1iYXNl
ZC1vbi1zdWJyZXNvdXJjZS11bmRlci10b3AtZnJhbWUtb3JpZ2lucy5odG1sOgorICAgICAgICAq
IGh0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jbGFzc2lmeS1hcy1ub24tcHJldmFs
ZW50LWJhc2VkLW9uLXN1YnJlc291cmNlLXVuaXF1ZS1yZWRpcmVjdHMtdG8tZGF0YWJhc2UuaHRt
bDoKKyAgICAgICAgKiBodHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY2xhc3NpZnkt
YXMtbm9uLXByZXZhbGVudC1iYXNlZC1vbi1zdWJyZXNvdXJjZS11bmlxdWUtcmVkaXJlY3RzLXRv
Lmh0bWw6CisgICAgICAgICogaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NsYXNz
aWZ5LWFzLXByZXZhbGVudC1iYXNlZC1vbi1taXhlZC1zdGF0aXN0aWNzLWRhdGFiYXNlLmh0bWw6
CisgICAgICAgICogaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NsYXNzaWZ5LWFz
LXByZXZhbGVudC1iYXNlZC1vbi1taXhlZC1zdGF0aXN0aWNzLmh0bWw6CisgICAgICAgICogaHR0
cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NsYXNzaWZ5LWFzLXByZXZhbGVudC1iYXNl
ZC1vbi1zdWItZnJhbWUtdW5kZXItdG9wLWZyYW1lLW9yaWdpbnMtZGF0YWJhc2UuaHRtbDoKKyAg
ICAgICAgKiBodHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY2xhc3NpZnktYXMtcHJl
dmFsZW50LWJhc2VkLW9uLXN1Yi1mcmFtZS11bmRlci10b3AtZnJhbWUtb3JpZ2lucy5odG1sOgor
ICAgICAgICAqIGh0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jbGFzc2lmeS1hcy1w
cmV2YWxlbnQtYmFzZWQtb24tc3VicmVzb3VyY2UtcmVkaXJlY3QtdG8tcHJldmFsZW50LWRhdGFi
YXNlLmh0bWw6CisgICAgICAgICogaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2Ns
YXNzaWZ5LWFzLXByZXZhbGVudC1iYXNlZC1vbi1zdWJyZXNvdXJjZS1yZWRpcmVjdC10by1wcmV2
YWxlbnQuaHRtbDoKKyAgICAgICAgKiBodHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3Mv
Y2xhc3NpZnktYXMtcHJldmFsZW50LWJhc2VkLW9uLXN1YnJlc291cmNlLXVuZGVyLXRvcC1mcmFt
ZS1vcmlnaW5zLWRhdGFiYXNlLmh0bWw6CisgICAgICAgICogaHR0cC90ZXN0cy9yZXNvdXJjZUxv
YWRTdGF0aXN0aWNzL2NsYXNzaWZ5LWFzLXByZXZhbGVudC1iYXNlZC1vbi1zdWJyZXNvdXJjZS11
bmRlci10b3AtZnJhbWUtb3JpZ2lucy5odG1sOgorICAgICAgICAqIGh0dHAvdGVzdHMvcmVzb3Vy
Y2VMb2FkU3RhdGlzdGljcy9jbGFzc2lmeS1hcy1wcmV2YWxlbnQtYmFzZWQtb24tc3VicmVzb3Vy
Y2UtdW5pcXVlLXJlZGlyZWN0cy10by1kYXRhYmFzZS5odG1sOgorICAgICAgICAqIGh0dHAvdGVz
dHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jbGFzc2lmeS1hcy1wcmV2YWxlbnQtYmFzZWQtb24t
c3VicmVzb3VyY2UtdW5pcXVlLXJlZGlyZWN0cy10by5odG1sOgorICAgICAgICAqIGh0dHAvdGVz
dHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jbGFzc2lmeS1hcy1wcmV2YWxlbnQtYmFzZWQtb24t
dG9wLWZyYW1lLXJlZGlyZWN0LXRvLXByZXZhbGVudC1kYXRhYmFzZS5odG1sOgorICAgICAgICAq
IGh0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jbGFzc2lmeS1hcy1wcmV2YWxlbnQt
YmFzZWQtb24tdG9wLWZyYW1lLXJlZGlyZWN0LXRvLXByZXZhbGVudC5odG1sOgorICAgICAgICAq
IGh0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jbGFzc2lmeS1hcy1wcmV2YWxlbnQt
YmFzZWQtb24tdG9wLWZyYW1lLXVuaXF1ZS1yZWRpcmVjdHMtdG8tZGF0YWJhc2UuaHRtbDoKKyAg
ICAgICAgKiBodHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY2xhc3NpZnktYXMtcHJl
dmFsZW50LWJhc2VkLW9uLXRvcC1mcmFtZS11bmlxdWUtcmVkaXJlY3RzLXRvLmh0bWw6CisgICAg
ICAgICogaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NsYXNzaWZ5LWFzLXZlcnkt
cHJldmFsZW50LWJhc2VkLW9uLW1peGVkLXN0YXRpc3RpY3MtZGF0YWJhc2UuaHRtbDoKKyAgICAg
ICAgKiBodHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY2xhc3NpZnktYXMtdmVyeS1w
cmV2YWxlbnQtYmFzZWQtb24tbWl4ZWQtc3RhdGlzdGljcy5odG1sOgorICAgICAgICAqIGh0dHAv
dGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jbGVhci1pbi1tZW1vcnktYW5kLXBlcnNpc3Rl
bnQtc3RvcmUtZGF0YWJhc2UuaHRtbDoKKyAgICAgICAgKiBodHRwL3Rlc3RzL3Jlc291cmNlTG9h
ZFN0YXRpc3RpY3MvY2xlYXItaW4tbWVtb3J5LWFuZC1wZXJzaXN0ZW50LXN0b3JlLW9uZS1ob3Vy
LWRhdGFiYXNlLmh0bWw6CisgICAgICAgICogaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0
aWNzL2NsZWFyLWluLW1lbW9yeS1hbmQtcGVyc2lzdGVudC1zdG9yZS1vbmUtaG91ci5odG1sOgor
ICAgICAgICAqIGh0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jbGVhci1pbi1tZW1v
cnktYW5kLXBlcnNpc3RlbnQtc3RvcmUuaHRtbDoKKyAgICAgICAgKiBodHRwL3Rlc3RzL3Jlc291
cmNlTG9hZFN0YXRpc3RpY3Mvbm9uLXByZXZhbGVudC1yZXNvdXJjZS13aXRoLXVzZXItaW50ZXJh
Y3Rpb24tZGF0YWJhc2UuaHRtbDoKKyAgICAgICAgKiBodHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0
YXRpc3RpY3Mvbm9uLXByZXZhbGVudC1yZXNvdXJjZS13aXRoLXVzZXItaW50ZXJhY3Rpb24uaHRt
bDoKKyAgICAgICAgKiBodHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3Mvbm9uLXByZXZh
bGVudC1yZXNvdXJjZS13aXRob3V0LXVzZXItaW50ZXJhY3Rpb24tZGF0YWJhc2UuaHRtbDoKKyAg
ICAgICAgKiBodHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3Mvbm9uLXByZXZhbGVudC1y
ZXNvdXJjZS13aXRob3V0LXVzZXItaW50ZXJhY3Rpb24uaHRtbDoKKyAgICAgICAgKiBodHRwL3Rl
c3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3Mvbm9uLXNhbmRib3hlZC1pZnJhbWUtcmVkaXJlY3Qt
bG9jYWxob3N0LXRvLWlwLXRvLWxvY2FsaG9zdC1kYXRhYmFzZS5odG1sOgorICAgICAgICAqIGh0
dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9ub24tc2FuZGJveGVkLWlmcmFtZS1yZWRp
cmVjdC1sb2NhbGhvc3QtdG8taXAtdG8tbG9jYWxob3N0Lmh0bWw6CisgICAgICAgICogaHR0cC90
ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL25vbi1zYW5kYm94ZWQtbmVzdGluZy1pZnJhbWUt
d2l0aC1ub24tc2FuZGJveGVkLWlmcmFtZS1yZWRpcmVjdC1pcC10by1sb2NhbGhvc3QtdG8taXAt
ZGF0YWJhc2UuaHRtbDoKKyAgICAgICAgKiBodHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3Rp
Y3Mvbm9uLXNhbmRib3hlZC1uZXN0aW5nLWlmcmFtZS13aXRoLW5vbi1zYW5kYm94ZWQtaWZyYW1l
LXJlZGlyZWN0LWlwLXRvLWxvY2FsaG9zdC10by1pcC5odG1sOgorICAgICAgICAqIGh0dHAvdGVz
dHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9ub24tc2FuZGJveGVkLW5lc3RpbmctaWZyYW1lLXdp
dGgtbm9uLXNhbmRib3hlZC1pZnJhbWUtcmVkaXJlY3QtbG9jYWxob3N0LXRvLWlwLXRvLWxvY2Fs
aG9zdC1kYXRhYmFzZS5odG1sOgorICAgICAgICAqIGh0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3Rh
dGlzdGljcy9ub24tc2FuZGJveGVkLW5lc3RpbmctaWZyYW1lLXdpdGgtbm9uLXNhbmRib3hlZC1p
ZnJhbWUtcmVkaXJlY3QtbG9jYWxob3N0LXRvLWlwLXRvLWxvY2FsaG9zdC5odG1sOgorICAgICAg
ICAqIGh0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9ub24tc2FuZGJveGVkLW5lc3Rp
bmctaWZyYW1lLXdpdGgtc2FuZGJveGVkLWlmcmFtZS1yZWRpcmVjdC1pcC10by1sb2NhbGhvc3Qt
dG8taXAtZGF0YWJhc2UuaHRtbDoKKyAgICAgICAgKiBodHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0
YXRpc3RpY3Mvbm9uLXNhbmRib3hlZC1uZXN0aW5nLWlmcmFtZS13aXRoLXNhbmRib3hlZC1pZnJh
bWUtcmVkaXJlY3QtaXAtdG8tbG9jYWxob3N0LXRvLWlwLmh0bWw6CisgICAgICAgICogaHR0cC90
ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL25vbi1zYW5kYm94ZWQtbmVzdGluZy1pZnJhbWUt
d2l0aC1zYW5kYm94ZWQtaWZyYW1lLXJlZGlyZWN0LWxvY2FsaG9zdC10by1pcC10by1sb2NhbGhv
c3QtZGF0YWJhc2UuaHRtbDoKKyAgICAgICAgKiBodHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRp
c3RpY3Mvbm9uLXNhbmRib3hlZC1uZXN0aW5nLWlmcmFtZS13aXRoLXNhbmRib3hlZC1pZnJhbWUt
cmVkaXJlY3QtbG9jYWxob3N0LXRvLWlwLXRvLWxvY2FsaG9zdC5odG1sOgorICAgICAgICAqIGh0
dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9wcmV2YWxlbnQtcmVzb3VyY2UtaGFuZGxl
ZC1rZXlkb3duLWRhdGFiYXNlLmh0bWw6CisgICAgICAgICogaHR0cC90ZXN0cy9yZXNvdXJjZUxv
YWRTdGF0aXN0aWNzL3ByZXZhbGVudC1yZXNvdXJjZS1oYW5kbGVkLWtleWRvd24uaHRtbDoKKyAg
ICAgICAgKiBodHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvcHJldmFsZW50LXJlc291
cmNlLXVuaGFuZGxlZC1rZXlkb3duLWRhdGFiYXNlLmh0bWw6CisgICAgICAgICogaHR0cC90ZXN0
cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3ByZXZhbGVudC1yZXNvdXJjZS11bmhhbmRsZWQta2V5
ZG93bi5odG1sOgorICAgICAgICAqIGh0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9w
cmV2YWxlbnQtcmVzb3VyY2Utd2l0aC11c2VyLWludGVyYWN0aW9uLWRhdGFiYXNlLmh0bWw6Cisg
ICAgICAgICogaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3ByZXZhbGVudC1yZXNv
dXJjZS13aXRoLXVzZXItaW50ZXJhY3Rpb24tdGltZW91dC1kYXRhYmFzZS5odG1sOgorICAgICAg
ICAqIGh0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9wcmV2YWxlbnQtcmVzb3VyY2Ut
d2l0aC11c2VyLWludGVyYWN0aW9uLXRpbWVvdXQuaHRtbDoKKyAgICAgICAgKiBodHRwL3Rlc3Rz
L3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvcHJldmFsZW50LXJlc291cmNlLXdpdGgtdXNlci1pbnRl
cmFjdGlvbi5odG1sOgorICAgICAgICAqIGh0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGlj
cy9wcmV2YWxlbnQtcmVzb3VyY2Utd2l0aG91dC11c2VyLWludGVyYWN0aW9uLWRhdGFiYXNlLmh0
bWw6CisgICAgICAgICogaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3ByZXZhbGVu
dC1yZXNvdXJjZS13aXRob3V0LXVzZXItaW50ZXJhY3Rpb24uaHRtbDoKKyAgICAgICAgKiBodHRw
L3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvcHJ1bmUtc3RhdGlzdGljcy1kYXRhYmFzZS5o
dG1sOgorICAgICAgICAqIGh0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9wcnVuZS1z
dGF0aXN0aWNzLmh0bWw6CisgICAgICAgICogaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0
aWNzL3Jlc291cmNlcy91dGlsLmpzOgorICAgICAgICAoc2V0RW5hYmxlRmVhdHVyZSk6CisgICAg
ICAgICogaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3NhbmRib3hlZC1pZnJhbWUt
cmVkaXJlY3QtaXAtdG8tbG9jYWxob3N0LXRvLWlwLWRhdGFiYXNlLmh0bWw6CisgICAgICAgICog
aHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3NhbmRib3hlZC1pZnJhbWUtcmVkaXJl
Y3QtaXAtdG8tbG9jYWxob3N0LXRvLWlwLmh0bWw6CisgICAgICAgICogaHR0cC90ZXN0cy9yZXNv
dXJjZUxvYWRTdGF0aXN0aWNzL3NhbmRib3hlZC1pZnJhbWUtcmVkaXJlY3QtbG9jYWxob3N0LXRv
LWlwLXRvLWxvY2FsaG9zdC1kYXRhYmFzZS5odG1sOgorICAgICAgICAqIGh0dHAvdGVzdHMvcmVz
b3VyY2VMb2FkU3RhdGlzdGljcy9zYW5kYm94ZWQtaWZyYW1lLXJlZGlyZWN0LWxvY2FsaG9zdC10
by1pcC10by1sb2NhbGhvc3QuaHRtbDoKKyAgICAgICAgKiBodHRwL3Rlc3RzL3Jlc291cmNlTG9h
ZFN0YXRpc3RpY3Mvc2FuZGJveGVkLW5lc3RpbmctaWZyYW1lLXdpdGgtbm9uLXNhbmRib3hlZC1p
ZnJhbWUtcmVkaXJlY3QtaXAtdG8tbG9jYWxob3N0LXRvLWlwLWRhdGFiYXNlLmh0bWw6CisgICAg
ICAgICogaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3NhbmRib3hlZC1uZXN0aW5n
LWlmcmFtZS13aXRoLW5vbi1zYW5kYm94ZWQtaWZyYW1lLXJlZGlyZWN0LWlwLXRvLWxvY2FsaG9z
dC10by1pcC5odG1sOgorICAgICAgICAqIGh0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGlj
cy9zYW5kYm94ZWQtbmVzdGluZy1pZnJhbWUtd2l0aC1ub24tc2FuZGJveGVkLWlmcmFtZS1yZWRp
cmVjdC1sb2NhbGhvc3QtdG8taXAtdG8tbG9jYWxob3N0LWRhdGFiYXNlLmh0bWw6CisgICAgICAg
ICogaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3NhbmRib3hlZC1uZXN0aW5nLWlm
cmFtZS13aXRoLW5vbi1zYW5kYm94ZWQtaWZyYW1lLXJlZGlyZWN0LWxvY2FsaG9zdC10by1pcC10
by1sb2NhbGhvc3QuaHRtbDoKKyAgICAgICAgKiBodHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRp
c3RpY3Mvc2FuZGJveGVkLW5lc3RpbmctaWZyYW1lLXdpdGgtc2FuZGJveGVkLWlmcmFtZS1yZWRp
cmVjdC1pcC10by1sb2NhbGhvc3QtdG8taXAtZGF0YWJhc2UuaHRtbDoKKyAgICAgICAgKiBodHRw
L3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3Mvc2FuZGJveGVkLW5lc3RpbmctaWZyYW1lLXdp
dGgtc2FuZGJveGVkLWlmcmFtZS1yZWRpcmVjdC1pcC10by1sb2NhbGhvc3QtdG8taXAuaHRtbDoK
KyAgICAgICAgKiBodHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3Mvc2FuZGJveGVkLW5l
c3RpbmctaWZyYW1lLXdpdGgtc2FuZGJveGVkLWlmcmFtZS1yZWRpcmVjdC1sb2NhbGhvc3QtdG8t
aXAtdG8tbG9jYWxob3N0LWRhdGFiYXNlLmh0bWw6CisgICAgICAgICogaHR0cC90ZXN0cy9yZXNv
dXJjZUxvYWRTdGF0aXN0aWNzL3NhbmRib3hlZC1uZXN0aW5nLWlmcmFtZS13aXRoLXNhbmRib3hl
ZC1pZnJhbWUtcmVkaXJlY3QtbG9jYWxob3N0LXRvLWlwLXRvLWxvY2FsaG9zdC5odG1sOgorICAg
ICAgICAqIGh0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy90ZWxlbWV0cnktZ2VuZXJh
dGlvbi1hZHZhbmNlZC1mdW5jdGlvbmFsaXR5LWRhdGFiYXNlLmh0bWw6CisgICAgICAgICogaHR0
cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3RlbGVtZXRyeS1nZW5lcmF0aW9uLWJhc2lj
LWZ1bmN0aW9uYWxpdHktZGF0YWJhc2UuaHRtbDoKKyAgICAgICAgKiBodHRwL3Rlc3RzL3Jlc291
cmNlTG9hZFN0YXRpc3RpY3MvdGVsZW1ldHJ5LWdlbmVyYXRpb24uaHRtbDoKKyAgICAgICAgKiBo
dHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvdXNlci1pbnRlcmFjdGlvbi1pbi1jcm9z
cy1vcmlnaW4tc3ViLWZyYW1lLWRhdGFiYXNlLmh0bWw6CisgICAgICAgICogaHR0cC90ZXN0cy9y
ZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3VzZXItaW50ZXJhY3Rpb24taW4tY3Jvc3Mtb3JpZ2luLXN1
Yi1mcmFtZS5odG1sOgorCiAyMDIwLTAyLTA2ICB5b3Vlbm4gZmFibGV0ICA8eW91ZW5uQGFwcGxl
LmNvbT4KIAogICAgICAgICBbQ29jb2FdIFVzZSBBVkFzc2V0V3JpdGVyRGVsZWdhdGUgdG8gaW1w
bGVtZW50IE1lZGlhUmVjb3JkZXIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMv
cmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jbGFzc2lmeS1hcy1ub24tcHJldmFsZW50LWJhc2VkLW9u
LW1peGVkLXN0YXRpc3RpY3MtZGF0YWJhc2UuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMv
cmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jbGFzc2lmeS1hcy1ub24tcHJldmFsZW50LWJhc2VkLW9u
LW1peGVkLXN0YXRpc3RpY3MtZGF0YWJhc2UuaHRtbAppbmRleCA0ZTAzZmQ4NzEyZWY5ZWRjOWIx
ODYyZjYzNmQxZTc0ZWE2ODhkODQ0Li40MDVjODI2MzhjNjljNjNmNDRjMTMzNDg3Y2NhNmEwZGVj
ZmRiODM2IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0
YXRpc3RpY3MvY2xhc3NpZnktYXMtbm9uLXByZXZhbGVudC1iYXNlZC1vbi1taXhlZC1zdGF0aXN0
aWNzLWRhdGFiYXNlLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxv
YWRTdGF0aXN0aWNzL2NsYXNzaWZ5LWFzLW5vbi1wcmV2YWxlbnQtYmFzZWQtb24tbWl4ZWQtc3Rh
dGlzdGljcy1kYXRhYmFzZS5odG1sCkBAIC00LDYgKzQsNyBAQAogICAgIDxtZXRhIGNoYXJzZXQ9
IlVURi04Ij4KICAgICA8dGl0bGU+VGVzdHMgZm9yIENsYXNzaWZpY2F0aW9uIEJhc2VkIG9uIE1p
eGVkIFN0YXRpc3RpY3M8L3RpdGxlPgogICAgIDxzY3JpcHQgc3JjPSIvanMtdGVzdC1yZXNvdXJj
ZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgPHNjcmlwdCBzcmM9InJlc291cmNlcy91dGls
LmpzIj48L3NjcmlwdD4KIDwvaGVhZD4KIDxib2R5PgogPHNjcmlwdD4KQEAgLTE5LDE0ICsyMCwx
MiBAQAogICAgICAgICBlbHNlCiAgICAgICAgICAgICB0ZXN0UGFzc2VkKCJIb3N0IGRpZCBub3Qg
Z2V0IGNsYXNzaWZpZWQgYXMgcHJldmFsZW50IHJlc291cmNlLiIpOwogCi0gICAgICAgIHRlc3RS
dW5uZXIuc3RhdGlzdGljc1Jlc2V0VG9Db25zaXN0ZW50U3RhdGUoZnVuY3Rpb24oKSB7CisgICAg
ICAgIHNldEVuYWJsZUZlYXR1cmUoZmFsc2UsIGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgdGVz
dFJ1bm5lci5ub3RpZnlEb25lKCk7CiAgICAgICAgIH0pOwogICAgIH0KIAogICAgIGZ1bmN0aW9u
IHJ1blRlc3RSdW5uZXJUZXN0KCkgewotICAgICAgICB0ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NO
b3RpZnlQYWdlc1doZW5EYXRhUmVjb3Jkc1dlcmVTY2FubmVkKHRydWUpOwotCiAgICAgICAgIHRl
c3RSdW5uZXIuc2V0U3RhdGlzdGljc1ByZXZhbGVudFJlc291cmNlKHN0YXRpc3RpY3NVcmwsIGZh
bHNlLCBmdW5jdGlvbigpIHsKICAgICAgICAgICAgIGlmICh0ZXN0UnVubmVyLmlzU3RhdGlzdGlj
c1ByZXZhbGVudFJlc291cmNlKHN0YXRpc3RpY3NVcmwpKQogICAgICAgICAgICAgICAgIHRlc3RG
YWlsZWQoIkhvc3QgZGlkIG5vdCBnZXQgc2V0IGFzIG5vbi1wcmV2YWxlbnQgcmVzb3VyY2UuIik7
CkBAIC00NCw4ICs0Myw3IEBACiAgICAgaWYgKGRvY3VtZW50LmxvY2F0aW9uLmhvc3QgPT09IGhv
c3RVbmRlclRlc3QgJiYgd2luZG93LnRlc3RSdW5uZXIgJiYgd2luZG93LmludGVybmFscykgewog
ICAgICAgICB0ZXN0UnVubmVyLnNldFVzZUlUUERhdGFiYXNlKHRydWUpOwogICAgICAgICB0ZXN0
UnVubmVyLndhaXRVbnRpbERvbmUoKTsKLSAgICAgICAgaW50ZXJuYWxzLnNldFJlc291cmNlTG9h
ZFN0YXRpc3RpY3NFbmFibGVkKHRydWUpOwotICAgICAgICBydW5UZXN0UnVubmVyVGVzdCgpOwor
ICAgICAgICBzZXRFbmFibGVGZWF0dXJlKHRydWUsIHJ1blRlc3RSdW5uZXJUZXN0KTsKICAgICB9
CiA8L3NjcmlwdD4KIDwvYm9keT4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMv
cmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jbGFzc2lmeS1hcy1ub24tcHJldmFsZW50LWJhc2VkLW9u
LW1peGVkLXN0YXRpc3RpY3MuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VM
b2FkU3RhdGlzdGljcy9jbGFzc2lmeS1hcy1ub24tcHJldmFsZW50LWJhc2VkLW9uLW1peGVkLXN0
YXRpc3RpY3MuaHRtbAppbmRleCA5NDYwN2VmMDNhN2UwNDdlMmQyMzlkMzI1NWVlMjczYzY5ZjYw
ZTg5Li4zYjY2YmFlNzFjZWM5NmIwMTRkZjU0NGJlMDYyZDg3OGNhOGVkNjI0IDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY2xhc3NpZnkt
YXMtbm9uLXByZXZhbGVudC1iYXNlZC1vbi1taXhlZC1zdGF0aXN0aWNzLmh0bWwKKysrIGIvTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NsYXNzaWZ5LWFzLW5v
bi1wcmV2YWxlbnQtYmFzZWQtb24tbWl4ZWQtc3RhdGlzdGljcy5odG1sCkBAIC00LDYgKzQsNyBA
QAogICAgIDxtZXRhIGNoYXJzZXQ9IlVURi04Ij4KICAgICA8dGl0bGU+VGVzdHMgZm9yIENsYXNz
aWZpY2F0aW9uIEJhc2VkIG9uIE1peGVkIFN0YXRpc3RpY3M8L3RpdGxlPgogICAgIDxzY3JpcHQg
c3JjPSIvanMtdGVzdC1yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgPHNjcmlw
dCBzcmM9InJlc291cmNlcy91dGlsLmpzIj48L3NjcmlwdD4KIDwvaGVhZD4KIDxib2R5PgogPHNj
cmlwdD4KQEAgLTE5LDE0ICsyMCwxMiBAQAogICAgICAgICBlbHNlCiAgICAgICAgICAgICB0ZXN0
UGFzc2VkKCJIb3N0IGRpZCBub3QgZ2V0IGNsYXNzaWZpZWQgYXMgcHJldmFsZW50IHJlc291cmNl
LiIpOwogCi0gICAgICAgIHRlc3RSdW5uZXIuc3RhdGlzdGljc1Jlc2V0VG9Db25zaXN0ZW50U3Rh
dGUoZnVuY3Rpb24oKSB7CisgICAgICAgIHNldEVuYWJsZUZlYXR1cmUoZmFsc2UsIGZ1bmN0aW9u
KCkgewogICAgICAgICAgICAgdGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7CiAgICAgICAgIH0pOwog
ICAgIH0KIAogICAgIGZ1bmN0aW9uIHJ1blRlc3RSdW5uZXJUZXN0KCkgewotICAgICAgICB0ZXN0
UnVubmVyLnNldFN0YXRpc3RpY3NOb3RpZnlQYWdlc1doZW5EYXRhUmVjb3Jkc1dlcmVTY2FubmVk
KHRydWUpOwotCiAgICAgICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc1ByZXZhbGVudFJlc291
cmNlKHN0YXRpc3RpY3NVcmwsIGZhbHNlLCBmdW5jdGlvbigpIHsKICAgICAgICAgICAgIGlmICh0
ZXN0UnVubmVyLmlzU3RhdGlzdGljc1ByZXZhbGVudFJlc291cmNlKHN0YXRpc3RpY3NVcmwpKQog
ICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoIkhvc3QgZGlkIG5vdCBnZXQgc2V0IGFzIG5vbi1w
cmV2YWxlbnQgcmVzb3VyY2UuIik7CkBAIC00Myw4ICs0Miw3IEBACiAKICAgICBpZiAoZG9jdW1l
bnQubG9jYXRpb24uaG9zdCA9PT0gaG9zdFVuZGVyVGVzdCAmJiB3aW5kb3cudGVzdFJ1bm5lciAm
JiB3aW5kb3cuaW50ZXJuYWxzKSB7CiAgICAgICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgp
OwotICAgICAgICBpbnRlcm5hbHMuc2V0UmVzb3VyY2VMb2FkU3RhdGlzdGljc0VuYWJsZWQodHJ1
ZSk7Ci0gICAgICAgIHJ1blRlc3RSdW5uZXJUZXN0KCk7CisgICAgICAgIHNldEVuYWJsZUZlYXR1
cmUodHJ1ZSwgcnVuVGVzdFJ1bm5lclRlc3QpOwogICAgIH0KIDwvc2NyaXB0PgogPC9ib2R5Pgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNz
L2NsYXNzaWZ5LWFzLW5vbi1wcmV2YWxlbnQtYmFzZWQtb24tc3VicmVzb3VyY2UtdW5kZXItdG9w
LWZyYW1lLW9yaWdpbnMtZGF0YWJhc2UuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVz
b3VyY2VMb2FkU3RhdGlzdGljcy9jbGFzc2lmeS1hcy1ub24tcHJldmFsZW50LWJhc2VkLW9uLXN1
YnJlc291cmNlLXVuZGVyLXRvcC1mcmFtZS1vcmlnaW5zLWRhdGFiYXNlLmh0bWwKaW5kZXggMTYx
MTIwYTg1OTMxMjExNDA3MmQ0NzI5YjM2YmEwYTE3N2YzZGM0MS4uMWNhNWZhNGMyNDc1NDg5YTZl
M2JlMzdlYWMwNjRkODUzYmUzOWYyZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0
cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NsYXNzaWZ5LWFzLW5vbi1wcmV2YWxlbnQtYmFzZWQt
b24tc3VicmVzb3VyY2UtdW5kZXItdG9wLWZyYW1lLW9yaWdpbnMtZGF0YWJhc2UuaHRtbAorKysg
Yi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY2xhc3NpZnkt
YXMtbm9uLXByZXZhbGVudC1iYXNlZC1vbi1zdWJyZXNvdXJjZS11bmRlci10b3AtZnJhbWUtb3Jp
Z2lucy1kYXRhYmFzZS5odG1sCkBAIC00LDYgKzQsNyBAQAogICAgIDxtZXRhIGNoYXJzZXQ9IlVU
Ri04Ij4KICAgICA8dGl0bGU+VGVzdHMgZm9yIENsYXNzaWZpY2F0aW9uIEJhc2VkIG9uIFN1YnJl
c291cmNlIFVuZGVyIFRvcCBGcmFtZSBPcmlnaW5zPC90aXRsZT4KICAgICA8c2NyaXB0IHNyYz0i
L2pzLXRlc3QtcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgIDxzY3JpcHQgc3Jj
PSJyZXNvdXJjZXMvdXRpbC5qcyI+PC9zY3JpcHQ+CiA8L2hlYWQ+CiA8Ym9keT4KIDxzY3JpcHQ+
CkBAIC0xOCwxNCArMTksMTIgQEAKICAgICAgICAgZWxzZQogICAgICAgICAgICAgdGVzdFBhc3Nl
ZCgiSG9zdCBkaWQgbm90IGdldCBjbGFzc2lmaWVkIGFzIHByZXZhbGVudCByZXNvdXJjZS4iKTsK
IAotICAgICAgICB0ZXN0UnVubmVyLnN0YXRpc3RpY3NSZXNldFRvQ29uc2lzdGVudFN0YXRlKGZ1
bmN0aW9uKCkgeworICAgICAgICBzZXRFbmFibGVGZWF0dXJlKGZhbHNlLCBmdW5jdGlvbigpIHsK
ICAgICAgICAgICAgIHRlc3RSdW5uZXIubm90aWZ5RG9uZSgpOwogICAgICAgICB9KTsKICAgICB9
CiAKLSAgICBmdW5jdGlvbiBydW5UZXN0UnVubmVyVGVzdCgpIHsKLSAgICAgICAgdGVzdFJ1bm5l
ci5zZXRTdGF0aXN0aWNzTm90aWZ5UGFnZXNXaGVuRGF0YVJlY29yZHNXZXJlU2Nhbm5lZCh0cnVl
KTsKLSAKKyAgICBmdW5jdGlvbiBydW5UZXN0UnVubmVyVGVzdCgpIHsgCiAgICAgICAgIHRlc3RS
dW5uZXIuc2V0U3RhdGlzdGljc1ByZXZhbGVudFJlc291cmNlKHN0YXRpc3RpY3NVcmwsIGZhbHNl
LCBmdW5jdGlvbigpIHsKICAgICAgICAgICAgIGlmICh0ZXN0UnVubmVyLmlzU3RhdGlzdGljc1By
ZXZhbGVudFJlc291cmNlKHN0YXRpc3RpY3NVcmwpKQogICAgICAgICAgICAgICAgIHRlc3RGYWls
ZWQoIkhvc3QgZGlkIG5vdCBnZXQgc2V0IGFzIG5vbi1wcmV2YWxlbnQgcmVzb3VyY2UuIik7CkBA
IC00Miw4ICs0MSw3IEBACiAgICAgaWYgKGRvY3VtZW50LmxvY2F0aW9uLmhvc3QgPT09IGhvc3RV
bmRlclRlc3QgJiYgd2luZG93LnRlc3RSdW5uZXIgJiYgd2luZG93LmludGVybmFscykgewogICAg
ICAgICB0ZXN0UnVubmVyLnNldFVzZUlUUERhdGFiYXNlKHRydWUpOwogICAgICAgICB0ZXN0UnVu
bmVyLndhaXRVbnRpbERvbmUoKTsKLSAgICAgICAgaW50ZXJuYWxzLnNldFJlc291cmNlTG9hZFN0
YXRpc3RpY3NFbmFibGVkKHRydWUpOwotICAgICAgICBydW5UZXN0UnVubmVyVGVzdCgpOworICAg
ICAgICBzZXRFbmFibGVGZWF0dXJlKHRydWUsIHJ1blRlc3RSdW5uZXJUZXN0KTsKICAgICB9CiA8
L3NjcmlwdD4KIDwvYm9keT4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVz
b3VyY2VMb2FkU3RhdGlzdGljcy9jbGFzc2lmeS1hcy1ub24tcHJldmFsZW50LWJhc2VkLW9uLXN1
YnJlc291cmNlLXVuZGVyLXRvcC1mcmFtZS1vcmlnaW5zLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY2xhc3NpZnktYXMtbm9uLXByZXZhbGVudC1i
YXNlZC1vbi1zdWJyZXNvdXJjZS11bmRlci10b3AtZnJhbWUtb3JpZ2lucy5odG1sCmluZGV4IDIz
N2NhZjFkNWI0M2Q5YTFkM2Q1NWQ5OGViYTFjMDQzMGRkYTlhZDkuLmFmYjBiYWU2YmMyZmZiYzYz
ODg1YWIzNmFjOTUxMGIyOTc5ZWRkOTEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVz
dHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jbGFzc2lmeS1hcy1ub24tcHJldmFsZW50LWJhc2Vk
LW9uLXN1YnJlc291cmNlLXVuZGVyLXRvcC1mcmFtZS1vcmlnaW5zLmh0bWwKKysrIGIvTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NsYXNzaWZ5LWFzLW5vbi1w
cmV2YWxlbnQtYmFzZWQtb24tc3VicmVzb3VyY2UtdW5kZXItdG9wLWZyYW1lLW9yaWdpbnMuaHRt
bApAQCAtNCw2ICs0LDcgQEAKICAgICA8bWV0YSBjaGFyc2V0PSJVVEYtOCI+CiAgICAgPHRpdGxl
PlRlc3RzIGZvciBDbGFzc2lmaWNhdGlvbiBCYXNlZCBvbiBTdWJyZXNvdXJjZSBVbmRlciBUb3Ag
RnJhbWUgT3JpZ2luczwvdGl0bGU+CiAgICAgPHNjcmlwdCBzcmM9Ii9qcy10ZXN0LXJlc291cmNl
cy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICA8c2NyaXB0IHNyYz0icmVzb3VyY2VzL3V0aWwu
anMiPjwvc2NyaXB0PgogPC9oZWFkPgogPGJvZHk+CiA8c2NyaXB0PgpAQCAtMTgsMTQgKzE5LDEy
IEBACiAgICAgICAgIGVsc2UKICAgICAgICAgICAgIHRlc3RQYXNzZWQoIkhvc3QgZGlkIG5vdCBn
ZXQgY2xhc3NpZmllZCBhcyBwcmV2YWxlbnQgcmVzb3VyY2UuIik7CiAKLSAgICAgICAgdGVzdFJ1
bm5lci5zdGF0aXN0aWNzUmVzZXRUb0NvbnNpc3RlbnRTdGF0ZShmdW5jdGlvbigpIHsKKyAgICAg
ICAgc2V0RW5hYmxlRmVhdHVyZShmYWxzZSwgZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICB0ZXN0
UnVubmVyLm5vdGlmeURvbmUoKTsKICAgICAgICAgfSk7CiAgICAgfQogCiAgICAgZnVuY3Rpb24g
cnVuVGVzdFJ1bm5lclRlc3QoKSB7Ci0gICAgICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc05v
dGlmeVBhZ2VzV2hlbkRhdGFSZWNvcmRzV2VyZVNjYW5uZWQodHJ1ZSk7Ci0gCiAgICAgICAgIHRl
c3RSdW5uZXIuc2V0U3RhdGlzdGljc1ByZXZhbGVudFJlc291cmNlKHN0YXRpc3RpY3NVcmwsIGZh
bHNlLCBmdW5jdGlvbigpIHsKICAgICAgICAgICAgIGlmICh0ZXN0UnVubmVyLmlzU3RhdGlzdGlj
c1ByZXZhbGVudFJlc291cmNlKHN0YXRpc3RpY3NVcmwpKQogICAgICAgICAgICAgICAgIHRlc3RG
YWlsZWQoIkhvc3QgZGlkIG5vdCBnZXQgc2V0IGFzIG5vbi1wcmV2YWxlbnQgcmVzb3VyY2UuIik7
CkBAIC00MSw4ICs0MCw3IEBACiAKICAgICBpZiAoZG9jdW1lbnQubG9jYXRpb24uaG9zdCA9PT0g
aG9zdFVuZGVyVGVzdCAmJiB3aW5kb3cudGVzdFJ1bm5lciAmJiB3aW5kb3cuaW50ZXJuYWxzKSB7
CiAgICAgICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOwotICAgICAgICBpbnRlcm5hbHMu
c2V0UmVzb3VyY2VMb2FkU3RhdGlzdGljc0VuYWJsZWQodHJ1ZSk7Ci0gICAgICAgIHJ1blRlc3RS
dW5uZXJUZXN0KCk7CisgICAgICAgIHNldEVuYWJsZUZlYXR1cmUodHJ1ZSwgcnVuVGVzdFJ1bm5l
clRlc3QpOwogICAgIH0KIDwvc2NyaXB0PgogPC9ib2R5PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NsYXNzaWZ5LWFzLW5vbi1wcmV2
YWxlbnQtYmFzZWQtb24tc3VicmVzb3VyY2UtdW5pcXVlLXJlZGlyZWN0cy10by1kYXRhYmFzZS5o
dG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NsYXNz
aWZ5LWFzLW5vbi1wcmV2YWxlbnQtYmFzZWQtb24tc3VicmVzb3VyY2UtdW5pcXVlLXJlZGlyZWN0
cy10by1kYXRhYmFzZS5odG1sCmluZGV4IDFhNWE1ZDRiZGE0ZTRmZGVlZDE4NmEzZjA4ODEyZmI4
ZTI4NmQ1OTAuLjYyNTE2OGZiZjMwMDY2Y2M5ODgwYzExNWJlYjFkZTI3MWIxZWMwNDcgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jbGFz
c2lmeS1hcy1ub24tcHJldmFsZW50LWJhc2VkLW9uLXN1YnJlc291cmNlLXVuaXF1ZS1yZWRpcmVj
dHMtdG8tZGF0YWJhc2UuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNl
TG9hZFN0YXRpc3RpY3MvY2xhc3NpZnktYXMtbm9uLXByZXZhbGVudC1iYXNlZC1vbi1zdWJyZXNv
dXJjZS11bmlxdWUtcmVkaXJlY3RzLXRvLWRhdGFiYXNlLmh0bWwKQEAgLTQsNiArNCw3IEBACiAg
ICAgPG1ldGEgY2hhcnNldD0iVVRGLTgiPgogICAgIDx0aXRsZT5UZXN0cyBmb3IgQ2xhc3NpZmlj
YXRpb24gQmFzZWQgb24gU3VicmVzb3VyY2UgVW5pcXVlIFJlZGlyZWN0cyBUbzwvdGl0bGU+CiAg
ICAgPHNjcmlwdCBzcmM9Ii9qcy10ZXN0LXJlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4K
KyAgICA8c2NyaXB0IHNyYz0icmVzb3VyY2VzL3V0aWwuanMiPjwvc2NyaXB0PgogPC9oZWFkPgog
PGJvZHk+CiA8c2NyaXB0PgpAQCAtMTgsMTUgKzE5LDEyIEBACiAgICAgICAgIGVsc2UKICAgICAg
ICAgICAgIHRlc3RQYXNzZWQoIkhvc3QgZGlkIG5vdCBnZXQgY2xhc3NpZmllZCBhcyBwcmV2YWxl
bnQgcmVzb3VyY2UuIik7CiAKLSAgICAgICAgaW50ZXJuYWxzLnNldFJlc291cmNlTG9hZFN0YXRp
c3RpY3NFbmFibGVkKGZhbHNlKTsKLSAgICAgICAgdGVzdFJ1bm5lci5zdGF0aXN0aWNzUmVzZXRU
b0NvbnNpc3RlbnRTdGF0ZShmdW5jdGlvbigpIHsKKyAgICAgICAgc2V0RW5hYmxlRmVhdHVyZShm
YWxzZSwgZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICB0ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsK
ICAgICAgICAgfSk7CiAgICAgfQogCiAgICAgZnVuY3Rpb24gcnVuVGVzdFJ1bm5lclRlc3QoKSB7
Ci0gICAgICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc05vdGlmeVBhZ2VzV2hlbkRhdGFSZWNv
cmRzV2VyZVNjYW5uZWQodHJ1ZSk7Ci0gCiAgICAgICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGlj
c1ByZXZhbGVudFJlc291cmNlKHN0YXRpc3RpY3NVcmwsIGZhbHNlLCBmdW5jdGlvbigpIHsKICAg
ICAgICAgICAgIGlmICh0ZXN0UnVubmVyLmlzU3RhdGlzdGljc1ByZXZhbGVudFJlc291cmNlKHN0
YXRpc3RpY3NVcmwpKQogICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoIkhvc3QgZGlkIG5vdCBn
ZXQgc2V0IGFzIG5vbi1wcmV2YWxlbnQgcmVzb3VyY2UuIik7CkBAIC00Myw5ICs0MSw3IEBACiAg
ICAgaWYgKGRvY3VtZW50LmxvY2F0aW9uLmhvc3QgPT09IGhvc3RVbmRlclRlc3QgJiYgd2luZG93
LnRlc3RSdW5uZXIgJiYgd2luZG93LmludGVybmFscykgewogICAgICAgICB0ZXN0UnVubmVyLnNl
dFVzZUlUUERhdGFiYXNlKHRydWUpOwogICAgICAgICB0ZXN0UnVubmVyLndhaXRVbnRpbERvbmUo
KTsKLSAgICAgICAgaW50ZXJuYWxzLnNldFJlc291cmNlTG9hZFN0YXRpc3RpY3NFbmFibGVkKHRy
dWUpOwotICAgICAgICBydW5UZXN0UnVubmVyVGVzdCgpOwotICAgICAgICB0ZXN0UnVubmVyLnNl
dFVzZUlUUERhdGFiYXNlKGZhbHNlKTsKKyAgICAgICAgc2V0RW5hYmxlRmVhdHVyZSh0cnVlLCBy
dW5UZXN0UnVubmVyVGVzdCk7CiAgICAgfQogPC9zY3JpcHQ+CiA8L2JvZHk+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY2xhc3NpZnkt
YXMtbm9uLXByZXZhbGVudC1iYXNlZC1vbi1zdWJyZXNvdXJjZS11bmlxdWUtcmVkaXJlY3RzLXRv
Lmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY2xh
c3NpZnktYXMtbm9uLXByZXZhbGVudC1iYXNlZC1vbi1zdWJyZXNvdXJjZS11bmlxdWUtcmVkaXJl
Y3RzLXRvLmh0bWwKaW5kZXggODVkZGFlN2RhOTk0NDk0ZGFkYWVlOWM3MjdlNWE0NmU5NTdiZWY5
Yi4uNTUzZDEwMmY1YzI2MjhiZGQ5YTU5OGJjNGQ1NzA3ZTMxNjQ2MDA3YyAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NsYXNzaWZ5LWFz
LW5vbi1wcmV2YWxlbnQtYmFzZWQtb24tc3VicmVzb3VyY2UtdW5pcXVlLXJlZGlyZWN0cy10by5o
dG1sCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9j
bGFzc2lmeS1hcy1ub24tcHJldmFsZW50LWJhc2VkLW9uLXN1YnJlc291cmNlLXVuaXF1ZS1yZWRp
cmVjdHMtdG8uaHRtbApAQCAtNCw2ICs0LDcgQEAKICAgICA8bWV0YSBjaGFyc2V0PSJVVEYtOCI+
CiAgICAgPHRpdGxlPlRlc3RzIGZvciBDbGFzc2lmaWNhdGlvbiBCYXNlZCBvbiBTdWJyZXNvdXJj
ZSBVbmlxdWUgUmVkaXJlY3RzIFRvPC90aXRsZT4KICAgICA8c2NyaXB0IHNyYz0iL2pzLXRlc3Qt
cmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgIDxzY3JpcHQgc3JjPSJyZXNvdXJj
ZXMvdXRpbC5qcyI+PC9zY3JpcHQ+CiA8L2hlYWQ+CiA8Ym9keT4KIDxzY3JpcHQ+CkBAIC0xOCwx
NSArMTksMTIgQEAKICAgICAgICAgZWxzZQogICAgICAgICAgICAgdGVzdFBhc3NlZCgiSG9zdCBk
aWQgbm90IGdldCBjbGFzc2lmaWVkIGFzIHByZXZhbGVudCByZXNvdXJjZS4iKTsKIAotICAgICAg
ICBpbnRlcm5hbHMuc2V0UmVzb3VyY2VMb2FkU3RhdGlzdGljc0VuYWJsZWQoZmFsc2UpOwotICAg
ICAgICB0ZXN0UnVubmVyLnN0YXRpc3RpY3NSZXNldFRvQ29uc2lzdGVudFN0YXRlKGZ1bmN0aW9u
KCkgeworICAgICAgICBzZXRFbmFibGVGZWF0dXJlKGZhbHNlLCBmdW5jdGlvbigpIHsKICAgICAg
ICAgICAgIHRlc3RSdW5uZXIubm90aWZ5RG9uZSgpOwogICAgICAgICB9KTsKICAgICB9CiAKLSAg
ICBmdW5jdGlvbiBydW5UZXN0UnVubmVyVGVzdCgpIHsKLSAgICAgICAgdGVzdFJ1bm5lci5zZXRT
dGF0aXN0aWNzTm90aWZ5UGFnZXNXaGVuRGF0YVJlY29yZHNXZXJlU2Nhbm5lZCh0cnVlKTsKLSAK
KyAgICBmdW5jdGlvbiBydW5UZXN0UnVubmVyVGVzdCgpIHsgCiAgICAgICAgIHRlc3RSdW5uZXIu
c2V0U3RhdGlzdGljc1ByZXZhbGVudFJlc291cmNlKHN0YXRpc3RpY3NVcmwsIGZhbHNlLCBmdW5j
dGlvbigpIHsKICAgICAgICAgICAgIGlmICh0ZXN0UnVubmVyLmlzU3RhdGlzdGljc1ByZXZhbGVu
dFJlc291cmNlKHN0YXRpc3RpY3NVcmwpKQogICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoIkhv
c3QgZGlkIG5vdCBnZXQgc2V0IGFzIG5vbi1wcmV2YWxlbnQgcmVzb3VyY2UuIik7CkBAIC00Miw4
ICs0MCw3IEBACiAKICAgICBpZiAoZG9jdW1lbnQubG9jYXRpb24uaG9zdCA9PT0gaG9zdFVuZGVy
VGVzdCAmJiB3aW5kb3cudGVzdFJ1bm5lciAmJiB3aW5kb3cuaW50ZXJuYWxzKSB7CiAgICAgICAg
IHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOwotICAgICAgICBpbnRlcm5hbHMuc2V0UmVzb3Vy
Y2VMb2FkU3RhdGlzdGljc0VuYWJsZWQodHJ1ZSk7Ci0gICAgICAgIHJ1blRlc3RSdW5uZXJUZXN0
KCk7CisgICAgICAgIHNldEVuYWJsZUZlYXR1cmUodHJ1ZSwgcnVuVGVzdFJ1bm5lclRlc3QpOwog
ICAgIH0KIDwvc2NyaXB0PgogPC9ib2R5PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90
ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NsYXNzaWZ5LWFzLXByZXZhbGVudC1iYXNlZC1v
bi1taXhlZC1zdGF0aXN0aWNzLWRhdGFiYXNlLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY2xhc3NpZnktYXMtcHJldmFsZW50LWJhc2VkLW9uLW1p
eGVkLXN0YXRpc3RpY3MtZGF0YWJhc2UuaHRtbAppbmRleCAzODk3MzE5YWIwZmIxMDAwNTVhOTM1
ZDRhOTUyYjJhYjk5NDQ4MzM2Li4zNzU2OGFiNDVjNzA3YTNiZDJkMGFlY2ZhMzE1OTZkODUxM2Zm
OWZiIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRp
c3RpY3MvY2xhc3NpZnktYXMtcHJldmFsZW50LWJhc2VkLW9uLW1peGVkLXN0YXRpc3RpY3MtZGF0
YWJhc2UuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRp
c3RpY3MvY2xhc3NpZnktYXMtcHJldmFsZW50LWJhc2VkLW9uLW1peGVkLXN0YXRpc3RpY3MtZGF0
YWJhc2UuaHRtbApAQCAtNCw2ICs0LDcgQEAKICAgICA8bWV0YSBjaGFyc2V0PSJVVEYtOCI+CiAg
ICAgPHRpdGxlPlRlc3RzIGZvciBDbGFzc2lmaWNhdGlvbiBCYXNlZCBvbiBNaXhlZCBTdGF0aXN0
aWNzPC90aXRsZT4KICAgICA8c2NyaXB0IHNyYz0iL2pzLXRlc3QtcmVzb3VyY2VzL2pzLXRlc3Qu
anMiPjwvc2NyaXB0PgorICAgIDxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvdXRpbC5qcyI+PC9zY3Jp
cHQ+CiA8L2hlYWQ+CiA8Ym9keT4KIDxzY3JpcHQ+CkBAIC0yMiwxNSArMjMsMTIgQEAKICAgICAg
ICAgZWxzZQogICAgICAgICAgICAgdGVzdFBhc3NlZCgiSG9zdCBjbGFzc2lmaWVkIGFzIHByZXZh
bGVudCByZXNvdXJjZS4iKTsKIAotICAgICAgICBpbnRlcm5hbHMuc2V0UmVzb3VyY2VMb2FkU3Rh
dGlzdGljc0VuYWJsZWQoZmFsc2UpOwotICAgICAgICB0ZXN0UnVubmVyLnN0YXRpc3RpY3NSZXNl
dFRvQ29uc2lzdGVudFN0YXRlKGZ1bmN0aW9uKCkgeworICAgICAgICBzZXRFbmFibGVGZWF0dXJl
KGZhbHNlLCBmdW5jdGlvbigpIHsKICAgICAgICAgICAgIHRlc3RSdW5uZXIubm90aWZ5RG9uZSgp
OwogICAgICAgICB9KTsKICAgICB9CiAKLSAgICBmdW5jdGlvbiBydW5UZXN0UnVubmVyVGVzdCgp
IHsKLSAgICAgICAgdGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNzTm90aWZ5UGFnZXNXaGVuRGF0YVJl
Y29yZHNXZXJlU2Nhbm5lZCh0cnVlKTsKLSAKKyAgICBmdW5jdGlvbiBydW5UZXN0UnVubmVyVGVz
dCgpIHsgCiAgICAgICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc1ByZXZhbGVudFJlc291cmNl
KHN0YXRpc3RpY3NVcmwsIGZhbHNlLCBmdW5jdGlvbigpIHsKICAgICAgICAgICAgIGlmICh0ZXN0
UnVubmVyLmlzU3RhdGlzdGljc1ByZXZhbGVudFJlc291cmNlKHN0YXRpc3RpY3NVcmwpKQogICAg
ICAgICAgICAgICAgIHRlc3RGYWlsZWQoIkhvc3QgZGlkIG5vdCBnZXQgc2V0IGFzIG5vbi1wcmV2
YWxlbnQgcmVzb3VyY2UuIik7CkBAIC01NCw4ICs1Miw3IEBACiAgICAgaWYgKGRvY3VtZW50Lmxv
Y2F0aW9uLmhvc3QgPT09IGhvc3RVbmRlclRlc3QgJiYgd2luZG93LnRlc3RSdW5uZXIgJiYgd2lu
ZG93LmludGVybmFscykgewogICAgICAgICB0ZXN0UnVubmVyLnNldFVzZUlUUERhdGFiYXNlKHRy
dWUpOwogICAgICAgICB0ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTsKLSAgICAgICAgaW50ZXJu
YWxzLnNldFJlc291cmNlTG9hZFN0YXRpc3RpY3NFbmFibGVkKHRydWUpOwotICAgICAgICBydW5U
ZXN0UnVubmVyVGVzdCgpOworICAgICAgICBzZXRFbmFibGVGZWF0dXJlKHRydWUsIHJ1blRlc3RS
dW5uZXJUZXN0KTsKICAgICB9CiA8L3NjcmlwdD4KIDwvYm9keT4KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jbGFzc2lmeS1hcy1wcmV2
YWxlbnQtYmFzZWQtb24tbWl4ZWQtc3RhdGlzdGljcy5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90
ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NsYXNzaWZ5LWFzLXByZXZhbGVudC1iYXNlZC1v
bi1taXhlZC1zdGF0aXN0aWNzLmh0bWwKaW5kZXggOWQ2MzZkN2VkNWVmMmNlZTkxMTk5NjczNzkz
ZDA5MDliYzFmNjcwYi4uN2ZhM2Y3NWEzNDUzYzgxZDVjZGQ3NDlhNDM3ZTJjMmExYmE1NDZiMSAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNz
L2NsYXNzaWZ5LWFzLXByZXZhbGVudC1iYXNlZC1vbi1taXhlZC1zdGF0aXN0aWNzLmh0bWwKKysr
IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NsYXNzaWZ5
LWFzLXByZXZhbGVudC1iYXNlZC1vbi1taXhlZC1zdGF0aXN0aWNzLmh0bWwKQEAgLTQsNiArNCw3
IEBACiAgICAgPG1ldGEgY2hhcnNldD0iVVRGLTgiPgogICAgIDx0aXRsZT5UZXN0cyBmb3IgQ2xh
c3NpZmljYXRpb24gQmFzZWQgb24gTWl4ZWQgU3RhdGlzdGljczwvdGl0bGU+CiAgICAgPHNjcmlw
dCBzcmM9Ii9qcy10ZXN0LXJlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICA8c2Ny
aXB0IHNyYz0icmVzb3VyY2VzL3V0aWwuanMiPjwvc2NyaXB0PgogPC9oZWFkPgogPGJvZHk+CiA8
c2NyaXB0PgpAQCAtMjIsMTUgKzIzLDEyIEBACiAgICAgICAgIGVsc2UKICAgICAgICAgICAgIHRl
c3RQYXNzZWQoIkhvc3QgY2xhc3NpZmllZCBhcyBwcmV2YWxlbnQgcmVzb3VyY2UuIik7CiAKLSAg
ICAgICAgaW50ZXJuYWxzLnNldFJlc291cmNlTG9hZFN0YXRpc3RpY3NFbmFibGVkKGZhbHNlKTsK
LSAgICAgICAgdGVzdFJ1bm5lci5zdGF0aXN0aWNzUmVzZXRUb0NvbnNpc3RlbnRTdGF0ZShmdW5j
dGlvbigpIHsKKyAgICAgICAgc2V0RW5hYmxlRmVhdHVyZShmYWxzZSwgZnVuY3Rpb24oKSB7CiAg
ICAgICAgICAgICB0ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsKICAgICAgICAgfSk7CiAgICAgfQog
Ci0gICAgZnVuY3Rpb24gcnVuVGVzdFJ1bm5lclRlc3QoKSB7Ci0gICAgICAgIHRlc3RSdW5uZXIu
c2V0U3RhdGlzdGljc05vdGlmeVBhZ2VzV2hlbkRhdGFSZWNvcmRzV2VyZVNjYW5uZWQodHJ1ZSk7
Ci0gCisgICAgZnVuY3Rpb24gcnVuVGVzdFJ1bm5lclRlc3QoKSB7IAogICAgICAgICB0ZXN0UnVu
bmVyLnNldFN0YXRpc3RpY3NQcmV2YWxlbnRSZXNvdXJjZShzdGF0aXN0aWNzVXJsLCBmYWxzZSwg
ZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICBpZiAodGVzdFJ1bm5lci5pc1N0YXRpc3RpY3NQcmV2
YWxlbnRSZXNvdXJjZShzdGF0aXN0aWNzVXJsKSkKICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVk
KCJIb3N0IGRpZCBub3QgZ2V0IHNldCBhcyBub24tcHJldmFsZW50IHJlc291cmNlLiIpOwpAQCAt
NTMsOCArNTEsNyBAQAogCiAgICAgaWYgKGRvY3VtZW50LmxvY2F0aW9uLmhvc3QgPT09IGhvc3RV
bmRlclRlc3QgJiYgd2luZG93LnRlc3RSdW5uZXIgJiYgd2luZG93LmludGVybmFscykgewogICAg
ICAgICB0ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTsKLSAgICAgICAgaW50ZXJuYWxzLnNldFJl
c291cmNlTG9hZFN0YXRpc3RpY3NFbmFibGVkKHRydWUpOwotICAgICAgICBydW5UZXN0UnVubmVy
VGVzdCgpOworICAgICAgICBzZXRFbmFibGVGZWF0dXJlKHRydWUsIHJ1blRlc3RSdW5uZXJUZXN0
KTsKICAgICB9CiA8L3NjcmlwdD4KIDwvYm9keT4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0
dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jbGFzc2lmeS1hcy1wcmV2YWxlbnQtYmFz
ZWQtb24tc3ViLWZyYW1lLXVuZGVyLXRvcC1mcmFtZS1vcmlnaW5zLWRhdGFiYXNlLmh0bWwgYi9M
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY2xhc3NpZnktYXMt
cHJldmFsZW50LWJhc2VkLW9uLXN1Yi1mcmFtZS11bmRlci10b3AtZnJhbWUtb3JpZ2lucy1kYXRh
YmFzZS5odG1sCmluZGV4IDdlYTc2MjAwZGEyZmZiMWEwMDU1YThhMTk4YWUyNzgzZTJlYjNmNTMu
LjU0NDNmY2E0MWUxODRmOWFjZTRmZmZlZTE3MzEwMGU1OWQ0OTAwZTMgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jbGFzc2lmeS1hcy1w
cmV2YWxlbnQtYmFzZWQtb24tc3ViLWZyYW1lLXVuZGVyLXRvcC1mcmFtZS1vcmlnaW5zLWRhdGFi
YXNlLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0
aWNzL2NsYXNzaWZ5LWFzLXByZXZhbGVudC1iYXNlZC1vbi1zdWItZnJhbWUtdW5kZXItdG9wLWZy
YW1lLW9yaWdpbnMtZGF0YWJhc2UuaHRtbApAQCAtNCw2ICs0LDcgQEAKICAgICA8bWV0YSBjaGFy
c2V0PSJVVEYtOCI+CiAgICAgPHRpdGxlPlRlc3RzIGZvciBDbGFzc2lmaWNhdGlvbiBCYXNlZCBv
biBTdWIgRnJhbWUgVW5kZXIgVG9wIEZyYW1lIE9yaWdpbnM8L3RpdGxlPgogICAgIDxzY3JpcHQg
c3JjPSIvanMtdGVzdC1yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgPHNjcmlw
dCBzcmM9InJlc291cmNlcy91dGlsLmpzIj48L3NjcmlwdD4KIDwvaGVhZD4KIDxib2R5PgogPHNj
cmlwdD4KQEAgLTIyLDE1ICsyMywxMiBAQAogICAgICAgICBlbHNlCiAgICAgICAgICAgICB0ZXN0
UGFzc2VkKCJIb3N0IGNsYXNzaWZpZWQgYXMgcHJldmFsZW50IHJlc291cmNlLiIpOwogCi0gICAg
ICAgIGludGVybmFscy5zZXRSZXNvdXJjZUxvYWRTdGF0aXN0aWNzRW5hYmxlZChmYWxzZSk7Ci0g
ICAgICAgIHRlc3RSdW5uZXIuc3RhdGlzdGljc1Jlc2V0VG9Db25zaXN0ZW50U3RhdGUoZnVuY3Rp
b24oKSB7CisgICAgICAgIHNldEVuYWJsZUZlYXR1cmUoZmFsc2UsIGZ1bmN0aW9uKCkgewogICAg
ICAgICAgICAgdGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7CiAgICAgICAgIH0pOwogICAgIH0KIAog
ICAgIGZ1bmN0aW9uIHJ1blRlc3RSdW5uZXJUZXN0KCkgewotICAgICAgICB0ZXN0UnVubmVyLnNl
dFN0YXRpc3RpY3NOb3RpZnlQYWdlc1doZW5EYXRhUmVjb3Jkc1dlcmVTY2FubmVkKHRydWUpOwot
CiAgICAgICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc1ByZXZhbGVudFJlc291cmNlKHN0YXRp
c3RpY3NVcmwsIGZhbHNlLCBmdW5jdGlvbigpIHsKICAgICAgICAgICAgIGlmICh0ZXN0UnVubmVy
LmlzU3RhdGlzdGljc1ByZXZhbGVudFJlc291cmNlKHN0YXRpc3RpY3NVcmwpKQogICAgICAgICAg
ICAgICAgIHRlc3RGYWlsZWQoIkhvc3QgZGlkIG5vdCBnZXQgc2V0IGFzIG5vbi1wcmV2YWxlbnQg
cmVzb3VyY2UuIik7CkBAIC00OSw4ICs0Nyw3IEBACiAgICAgaWYgKGRvY3VtZW50LmxvY2F0aW9u
Lmhvc3QgPT09IGhvc3RVbmRlclRlc3QgJiYgd2luZG93LnRlc3RSdW5uZXIgJiYgd2luZG93Lmlu
dGVybmFscykgewogICAgICAgICB0ZXN0UnVubmVyLnNldFVzZUlUUERhdGFiYXNlKHRydWUpOwog
ICAgICAgICB0ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTsKLSAgICAgICAgaW50ZXJuYWxzLnNl
dFJlc291cmNlTG9hZFN0YXRpc3RpY3NFbmFibGVkKHRydWUpOwotICAgICAgICBydW5UZXN0UnVu
bmVyVGVzdCgpOworICAgICAgICBzZXRFbmFibGVGZWF0dXJlKHRydWUsIHJ1blRlc3RSdW5uZXJU
ZXN0KTsKICAgICB9CiA8L3NjcmlwdD4KIDwvYm9keT4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jbGFzc2lmeS1hcy1wcmV2YWxlbnQt
YmFzZWQtb24tc3ViLWZyYW1lLXVuZGVyLXRvcC1mcmFtZS1vcmlnaW5zLmh0bWwgYi9MYXlvdXRU
ZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY2xhc3NpZnktYXMtcHJldmFs
ZW50LWJhc2VkLW9uLXN1Yi1mcmFtZS11bmRlci10b3AtZnJhbWUtb3JpZ2lucy5odG1sCmluZGV4
IGNmOWMwZTdjMjA3NWFmZDc3ODdiMDVhOTU0MGE5NWRhNDZkZGRiMDEuLjZlMDgzZTNkYjg4MTYx
NWI2MDAwMTZlZjkzYzU1YTdhMjM4ZjA5ODEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAv
dGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jbGFzc2lmeS1hcy1wcmV2YWxlbnQtYmFzZWQt
b24tc3ViLWZyYW1lLXVuZGVyLXRvcC1mcmFtZS1vcmlnaW5zLmh0bWwKKysrIGIvTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NsYXNzaWZ5LWFzLXByZXZhbGVu
dC1iYXNlZC1vbi1zdWItZnJhbWUtdW5kZXItdG9wLWZyYW1lLW9yaWdpbnMuaHRtbApAQCAtNCw2
ICs0LDcgQEAKICAgICA8bWV0YSBjaGFyc2V0PSJVVEYtOCI+CiAgICAgPHRpdGxlPlRlc3RzIGZv
ciBDbGFzc2lmaWNhdGlvbiBCYXNlZCBvbiBTdWIgRnJhbWUgVW5kZXIgVG9wIEZyYW1lIE9yaWdp
bnM8L3RpdGxlPgogICAgIDxzY3JpcHQgc3JjPSIvanMtdGVzdC1yZXNvdXJjZXMvanMtdGVzdC5q
cyI+PC9zY3JpcHQ+CisgICAgPHNjcmlwdCBzcmM9InJlc291cmNlcy91dGlsLmpzIj48L3Njcmlw
dD4KIDwvaGVhZD4KIDxib2R5PgogPHNjcmlwdD4KQEAgLTIyLDE1ICsyMywxMiBAQAogICAgICAg
ICBlbHNlCiAgICAgICAgICAgICB0ZXN0UGFzc2VkKCJIb3N0IGNsYXNzaWZpZWQgYXMgcHJldmFs
ZW50IHJlc291cmNlLiIpOwogCi0gICAgICAgIGludGVybmFscy5zZXRSZXNvdXJjZUxvYWRTdGF0
aXN0aWNzRW5hYmxlZChmYWxzZSk7Ci0gICAgICAgIHRlc3RSdW5uZXIuc3RhdGlzdGljc1Jlc2V0
VG9Db25zaXN0ZW50U3RhdGUoZnVuY3Rpb24oKSB7CisgICAgICAgIHNldEVuYWJsZUZlYXR1cmUo
ZmFsc2UsIGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgdGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7
CiAgICAgICAgIH0pOwogICAgIH0KIAogICAgIGZ1bmN0aW9uIHJ1blRlc3RSdW5uZXJUZXN0KCkg
ewotICAgICAgICB0ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NOb3RpZnlQYWdlc1doZW5EYXRhUmVj
b3Jkc1dlcmVTY2FubmVkKHRydWUpOwotCiAgICAgICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGlj
c1ByZXZhbGVudFJlc291cmNlKHN0YXRpc3RpY3NVcmwsIGZhbHNlLCBmdW5jdGlvbigpIHsKICAg
ICAgICAgICAgIGlmICh0ZXN0UnVubmVyLmlzU3RhdGlzdGljc1ByZXZhbGVudFJlc291cmNlKHN0
YXRpc3RpY3NVcmwpKQogICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoIkhvc3QgZGlkIG5vdCBn
ZXQgc2V0IGFzIG5vbi1wcmV2YWxlbnQgcmVzb3VyY2UuIik7CkBAIC00OCw4ICs0Niw3IEBACiAK
ICAgICBpZiAoZG9jdW1lbnQubG9jYXRpb24uaG9zdCA9PT0gaG9zdFVuZGVyVGVzdCAmJiB3aW5k
b3cudGVzdFJ1bm5lciAmJiB3aW5kb3cuaW50ZXJuYWxzKSB7CiAgICAgICAgIHRlc3RSdW5uZXIu
d2FpdFVudGlsRG9uZSgpOwotICAgICAgICBpbnRlcm5hbHMuc2V0UmVzb3VyY2VMb2FkU3RhdGlz
dGljc0VuYWJsZWQodHJ1ZSk7Ci0gICAgICAgIHJ1blRlc3RSdW5uZXJUZXN0KCk7CisgICAgICAg
IHNldEVuYWJsZUZlYXR1cmUodHJ1ZSwgcnVuVGVzdFJ1bm5lclRlc3QpOwogICAgIH0KIDwvc2Ny
aXB0PgogPC9ib2R5PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJj
ZUxvYWRTdGF0aXN0aWNzL2NsYXNzaWZ5LWFzLXByZXZhbGVudC1iYXNlZC1vbi1zdWJyZXNvdXJj
ZS1yZWRpcmVjdC10by1wcmV2YWxlbnQtZGF0YWJhc2UuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAv
dGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jbGFzc2lmeS1hcy1wcmV2YWxlbnQtYmFzZWQt
b24tc3VicmVzb3VyY2UtcmVkaXJlY3QtdG8tcHJldmFsZW50LWRhdGFiYXNlLmh0bWwKaW5kZXgg
NTU4MGE1OWY2OWFlMGU3MDllNTA0MGViZjM1MDc3MmE2ZGY4YmY0Zi4uOWQyNTk3YmIyODQxYjJh
NTRjOTg2MThiNjRkODBhZWM0YzE1NDNhZSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90
ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NsYXNzaWZ5LWFzLXByZXZhbGVudC1iYXNlZC1v
bi1zdWJyZXNvdXJjZS1yZWRpcmVjdC10by1wcmV2YWxlbnQtZGF0YWJhc2UuaHRtbAorKysgYi9M
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY2xhc3NpZnktYXMt
cHJldmFsZW50LWJhc2VkLW9uLXN1YnJlc291cmNlLXJlZGlyZWN0LXRvLXByZXZhbGVudC1kYXRh
YmFzZS5odG1sCkBAIC0zNyw4ICszNyw2IEBACiAgICAgaWYgKGRvY3VtZW50LmxvY2F0aW9uLmhv
c3QgPT09IGhvc3RVbmRlclRlc3QgJiYgd2luZG93LnRlc3RSdW5uZXIgJiYgd2luZG93LmludGVy
bmFscykgewogICAgICAgICB0ZXN0UnVubmVyLnNldFVzZUlUUERhdGFiYXNlKHRydWUpOwogICAg
ICAgICBzZXRFbmFibGVGZWF0dXJlKHRydWUsIGZ1bmN0aW9uKCkgewotICAgICAgICAgICAgdGVz
dFJ1bm5lci5zZXRTdGF0aXN0aWNzTm90aWZ5UGFnZXNXaGVuRGF0YVJlY29yZHNXZXJlU2Nhbm5l
ZCh0cnVlKTsKLQogICAgICAgICAgICAgdGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNzUHJldmFsZW50
UmVzb3VyY2Uoc3RhdGlzdGljc1VybCwgZmFsc2UsIGZ1bmN0aW9uKCkgewogICAgICAgICAgICAg
ICAgIGlmICh0ZXN0UnVubmVyLmlzU3RhdGlzdGljc1ByZXZhbGVudFJlc291cmNlKHN0YXRpc3Rp
Y3NVcmwpKQogICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKCJIb3N0IGRpZCBub3QgZ2V0
IHNldCBhcyBub24tcHJldmFsZW50IHJlc291cmNlLiIpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NsYXNzaWZ5LWFzLXByZXZhbGVu
dC1iYXNlZC1vbi1zdWJyZXNvdXJjZS1yZWRpcmVjdC10by1wcmV2YWxlbnQuaHRtbCBiL0xheW91
dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jbGFzc2lmeS1hcy1wcmV2
YWxlbnQtYmFzZWQtb24tc3VicmVzb3VyY2UtcmVkaXJlY3QtdG8tcHJldmFsZW50Lmh0bWwKaW5k
ZXggZDljYWNkNDg1OGUwMzcxY2Q2NzkxMjAxZDkwYTY5ZDUzY2RmMjZjYi4uZDc1YmVhZTQ5MTY3
NmI1MjE5N2U2NzllMzkwY2QyZmQ4ZTBkZjYzZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NsYXNzaWZ5LWFzLXByZXZhbGVudC1iYXNl
ZC1vbi1zdWJyZXNvdXJjZS1yZWRpcmVjdC10by1wcmV2YWxlbnQuaHRtbAorKysgYi9MYXlvdXRU
ZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY2xhc3NpZnktYXMtcHJldmFs
ZW50LWJhc2VkLW9uLXN1YnJlc291cmNlLXJlZGlyZWN0LXRvLXByZXZhbGVudC5odG1sCkBAIC0z
Niw4ICszNiw2IEBACiAKICAgICBpZiAoZG9jdW1lbnQubG9jYXRpb24uaG9zdCA9PT0gaG9zdFVu
ZGVyVGVzdCAmJiB3aW5kb3cudGVzdFJ1bm5lciAmJiB3aW5kb3cuaW50ZXJuYWxzKSB7CiAgICAg
ICAgIHNldEVuYWJsZUZlYXR1cmUodHJ1ZSwgZnVuY3Rpb24oKSB7Ci0gICAgICAgICAgICB0ZXN0
UnVubmVyLnNldFN0YXRpc3RpY3NOb3RpZnlQYWdlc1doZW5EYXRhUmVjb3Jkc1dlcmVTY2FubmVk
KHRydWUpOwotCiAgICAgICAgICAgICB0ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NQcmV2YWxlbnRS
ZXNvdXJjZShzdGF0aXN0aWNzVXJsLCBmYWxzZSwgZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAg
ICAgaWYgKHRlc3RSdW5uZXIuaXNTdGF0aXN0aWNzUHJldmFsZW50UmVzb3VyY2Uoc3RhdGlzdGlj
c1VybCkpCiAgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoIkhvc3QgZGlkIG5vdCBnZXQg
c2V0IGFzIG5vbi1wcmV2YWxlbnQgcmVzb3VyY2UuIik7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY2xhc3NpZnktYXMtcHJldmFsZW50
LWJhc2VkLW9uLXN1YnJlc291cmNlLXVuZGVyLXRvcC1mcmFtZS1vcmlnaW5zLWRhdGFiYXNlLmh0
bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY2xhc3Np
ZnktYXMtcHJldmFsZW50LWJhc2VkLW9uLXN1YnJlc291cmNlLXVuZGVyLXRvcC1mcmFtZS1vcmln
aW5zLWRhdGFiYXNlLmh0bWwKaW5kZXggMmQwMWVhNmJjMjQ5Mzc1OTJmMGU4OTY3NjE1Yzk5YzVj
OGRjM2ZhNi4uNmJkZjgzOGY2Y2Q5YWY5ZDg4NTEyYzcwNmQ4YmE1Mjc1NTkzYWMyMCAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NsYXNz
aWZ5LWFzLXByZXZhbGVudC1iYXNlZC1vbi1zdWJyZXNvdXJjZS11bmRlci10b3AtZnJhbWUtb3Jp
Z2lucy1kYXRhYmFzZS5odG1sCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VM
b2FkU3RhdGlzdGljcy9jbGFzc2lmeS1hcy1wcmV2YWxlbnQtYmFzZWQtb24tc3VicmVzb3VyY2Ut
dW5kZXItdG9wLWZyYW1lLW9yaWdpbnMtZGF0YWJhc2UuaHRtbApAQCAtNCw2ICs0LDcgQEAKICAg
ICA8bWV0YSBjaGFyc2V0PSJVVEYtOCI+CiAgICAgPHRpdGxlPlRlc3RzIGZvciBDbGFzc2lmaWNh
dGlvbiBCYXNlZCBvbiBTdWJyZXNvdXJjZSBVbmRlciBUb3AgRnJhbWUgT3JpZ2luczwvdGl0bGU+
CiAgICAgPHNjcmlwdCBzcmM9Ii9qcy10ZXN0LXJlc291cmNlcy9qcy10ZXN0LmpzIj48L3Njcmlw
dD4KKyAgICA8c2NyaXB0IHNyYz0icmVzb3VyY2VzL3V0aWwuanMiPjwvc2NyaXB0PgogPC9oZWFk
PgogPGJvZHk+CiA8c2NyaXB0PgpAQCAtMjIsMTUgKzIzLDEyIEBACiAgICAgICAgIGVsc2UKICAg
ICAgICAgICAgIHRlc3RQYXNzZWQoIkhvc3QgY2xhc3NpZmllZCBhcyBwcmV2YWxlbnQgcmVzb3Vy
Y2UuIik7CiAKLSAgICAgICAgaW50ZXJuYWxzLnNldFJlc291cmNlTG9hZFN0YXRpc3RpY3NFbmFi
bGVkKGZhbHNlKTsKLSAgICAgICAgdGVzdFJ1bm5lci5zdGF0aXN0aWNzUmVzZXRUb0NvbnNpc3Rl
bnRTdGF0ZShmdW5jdGlvbigpIHsKKyAgICAgICAgc2V0RW5hYmxlRmVhdHVyZShmYWxzZSwgZnVu
Y3Rpb24oKSB7CiAgICAgICAgICAgICB0ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsKICAgICAgICAg
fSk7CiAgICAgfQogCi0gICAgZnVuY3Rpb24gcnVuVGVzdFJ1bm5lclRlc3QoKSB7Ci0gICAgICAg
IHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc05vdGlmeVBhZ2VzV2hlbkRhdGFSZWNvcmRzV2VyZVNj
YW5uZWQodHJ1ZSk7Ci0gCisgICAgZnVuY3Rpb24gcnVuVGVzdFJ1bm5lclRlc3QoKSB7IAogICAg
ICAgICB0ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NQcmV2YWxlbnRSZXNvdXJjZShzdGF0aXN0aWNz
VXJsLCBmYWxzZSwgZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICBpZiAodGVzdFJ1bm5lci5pc1N0
YXRpc3RpY3NQcmV2YWxlbnRSZXNvdXJjZShzdGF0aXN0aWNzVXJsKSkKICAgICAgICAgICAgICAg
ICB0ZXN0RmFpbGVkKCJIb3N0IGRpZCBub3QgZ2V0IHNldCBhcyBub24tcHJldmFsZW50IHJlc291
cmNlLiIpOwpAQCAtNDksOCArNDcsNyBAQAogICAgIGlmIChkb2N1bWVudC5sb2NhdGlvbi5ob3N0
ID09PSBob3N0VW5kZXJUZXN0ICYmIHdpbmRvdy50ZXN0UnVubmVyICYmIHdpbmRvdy5pbnRlcm5h
bHMpIHsKICAgICAgICAgdGVzdFJ1bm5lci5zZXRVc2VJVFBEYXRhYmFzZSh0cnVlKTsKICAgICAg
ICAgdGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7Ci0gICAgICAgIGludGVybmFscy5zZXRSZXNv
dXJjZUxvYWRTdGF0aXN0aWNzRW5hYmxlZCh0cnVlKTsKLSAgICAgICAgcnVuVGVzdFJ1bm5lclRl
c3QoKTsKKyAgICAgICAgc2V0RW5hYmxlRmVhdHVyZSh0cnVlLCBydW5UZXN0UnVubmVyVGVzdCk7
CiAgICAgfQogPC9zY3JpcHQ+CiA8L2JvZHk+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY2xhc3NpZnktYXMtcHJldmFsZW50LWJhc2Vk
LW9uLXN1YnJlc291cmNlLXVuZGVyLXRvcC1mcmFtZS1vcmlnaW5zLmh0bWwgYi9MYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY2xhc3NpZnktYXMtcHJldmFsZW50
LWJhc2VkLW9uLXN1YnJlc291cmNlLXVuZGVyLXRvcC1mcmFtZS1vcmlnaW5zLmh0bWwKaW5kZXgg
YjMzZDUyNDYxN2Y3ZDdkMGZiNzcwMTYxMGI3ZjgxMDU1ODYxMzA4My4uNTMxNjYzMWNiNjkzMjFj
Njg2OGNmNjVkNGI3NzIyYjlkYTVkOWM3MiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90
ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NsYXNzaWZ5LWFzLXByZXZhbGVudC1iYXNlZC1v
bi1zdWJyZXNvdXJjZS11bmRlci10b3AtZnJhbWUtb3JpZ2lucy5odG1sCisrKyBiL0xheW91dFRl
c3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jbGFzc2lmeS1hcy1wcmV2YWxl
bnQtYmFzZWQtb24tc3VicmVzb3VyY2UtdW5kZXItdG9wLWZyYW1lLW9yaWdpbnMuaHRtbApAQCAt
NCw2ICs0LDcgQEAKICAgICA8bWV0YSBjaGFyc2V0PSJVVEYtOCI+CiAgICAgPHRpdGxlPlRlc3Rz
IGZvciBDbGFzc2lmaWNhdGlvbiBCYXNlZCBvbiBTdWJyZXNvdXJjZSBVbmRlciBUb3AgRnJhbWUg
T3JpZ2luczwvdGl0bGU+CiAgICAgPHNjcmlwdCBzcmM9Ii9qcy10ZXN0LXJlc291cmNlcy9qcy10
ZXN0LmpzIj48L3NjcmlwdD4KKyAgICA8c2NyaXB0IHNyYz0icmVzb3VyY2VzL3V0aWwuanMiPjwv
c2NyaXB0PgogPC9oZWFkPgogPGJvZHk+CiA8c2NyaXB0PgpAQCAtMjIsMTUgKzIzLDEyIEBACiAg
ICAgICAgIGVsc2UKICAgICAgICAgICAgIHRlc3RQYXNzZWQoIkhvc3QgY2xhc3NpZmllZCBhcyBw
cmV2YWxlbnQgcmVzb3VyY2UuIik7CiAKLSAgICAgICAgaW50ZXJuYWxzLnNldFJlc291cmNlTG9h
ZFN0YXRpc3RpY3NFbmFibGVkKGZhbHNlKTsKLSAgICAgICAgdGVzdFJ1bm5lci5zdGF0aXN0aWNz
UmVzZXRUb0NvbnNpc3RlbnRTdGF0ZShmdW5jdGlvbigpIHsKKyAgICAgICAgc2V0RW5hYmxlRmVh
dHVyZShmYWxzZSwgZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICB0ZXN0UnVubmVyLm5vdGlmeURv
bmUoKTsKICAgICAgICAgfSk7CiAgICAgfQogCi0gICAgZnVuY3Rpb24gcnVuVGVzdFJ1bm5lclRl
c3QoKSB7Ci0gICAgICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc05vdGlmeVBhZ2VzV2hlbkRh
dGFSZWNvcmRzV2VyZVNjYW5uZWQodHJ1ZSk7Ci0gCisgICAgZnVuY3Rpb24gcnVuVGVzdFJ1bm5l
clRlc3QoKSB7IAogICAgICAgICB0ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NQcmV2YWxlbnRSZXNv
dXJjZShzdGF0aXN0aWNzVXJsLCBmYWxzZSwgZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICBpZiAo
dGVzdFJ1bm5lci5pc1N0YXRpc3RpY3NQcmV2YWxlbnRSZXNvdXJjZShzdGF0aXN0aWNzVXJsKSkK
ICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKCJIb3N0IGRpZCBub3QgZ2V0IHNldCBhcyBub24t
cHJldmFsZW50IHJlc291cmNlLiIpOwpAQCAtNDgsOCArNDYsNyBAQAogCiAgICAgaWYgKGRvY3Vt
ZW50LmxvY2F0aW9uLmhvc3QgPT09IGhvc3RVbmRlclRlc3QgJiYgd2luZG93LnRlc3RSdW5uZXIg
JiYgd2luZG93LmludGVybmFscykgewogICAgICAgICB0ZXN0UnVubmVyLndhaXRVbnRpbERvbmUo
KTsKLSAgICAgICAgaW50ZXJuYWxzLnNldFJlc291cmNlTG9hZFN0YXRpc3RpY3NFbmFibGVkKHRy
dWUpOwotICAgICAgICBydW5UZXN0UnVubmVyVGVzdCgpOworICAgICAgICBzZXRFbmFibGVGZWF0
dXJlKHRydWUsIHJ1blRlc3RSdW5uZXJUZXN0KTsKICAgICB9CiA8L3NjcmlwdD4KIDwvYm9keT4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGlj
cy9jbGFzc2lmeS1hcy1wcmV2YWxlbnQtYmFzZWQtb24tc3VicmVzb3VyY2UtdW5pcXVlLXJlZGly
ZWN0cy10by1kYXRhYmFzZS5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxv
YWRTdGF0aXN0aWNzL2NsYXNzaWZ5LWFzLXByZXZhbGVudC1iYXNlZC1vbi1zdWJyZXNvdXJjZS11
bmlxdWUtcmVkaXJlY3RzLXRvLWRhdGFiYXNlLmh0bWwKaW5kZXggNzhmN2YxMzkxYzYyMWRlODY2
ZTFiZDIzYjAxYmRhMzMyZDBkOWYzNy4uZmUzNjgyOTVkOWZiOGZmODNhNzhiMWI1NDk5NDk3ZTI1
N2I0NjU0MyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRT
dGF0aXN0aWNzL2NsYXNzaWZ5LWFzLXByZXZhbGVudC1iYXNlZC1vbi1zdWJyZXNvdXJjZS11bmlx
dWUtcmVkaXJlY3RzLXRvLWRhdGFiYXNlLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0
cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NsYXNzaWZ5LWFzLXByZXZhbGVudC1iYXNlZC1vbi1z
dWJyZXNvdXJjZS11bmlxdWUtcmVkaXJlY3RzLXRvLWRhdGFiYXNlLmh0bWwKQEAgLTQsNiArNCw3
IEBACiAgICAgPG1ldGEgY2hhcnNldD0iVVRGLTgiPgogICAgIDx0aXRsZT5UZXN0cyBmb3IgQ2xh
c3NpZmljYXRpb24gQmFzZWQgb24gU3VicmVzb3VyY2UgVW5pcXVlIFJlZGlyZWN0cyBUbzwvdGl0
bGU+CiAgICAgPHNjcmlwdCBzcmM9Ii9qcy10ZXN0LXJlc291cmNlcy9qcy10ZXN0LmpzIj48L3Nj
cmlwdD4KKyAgICA8c2NyaXB0IHNyYz0icmVzb3VyY2VzL3V0aWwuanMiPjwvc2NyaXB0PgogPC9o
ZWFkPgogPGJvZHk+CiA8c2NyaXB0PgpAQCAtMjIsMTUgKzIzLDEyIEBACiAgICAgICAgIGVsc2UK
ICAgICAgICAgICAgIHRlc3RQYXNzZWQoIkhvc3QgY2xhc3NpZmllZCBhcyBwcmV2YWxlbnQgcmVz
b3VyY2UuIik7CiAKLSAgICAgICAgaW50ZXJuYWxzLnNldFJlc291cmNlTG9hZFN0YXRpc3RpY3NF
bmFibGVkKGZhbHNlKTsKLSAgICAgICAgdGVzdFJ1bm5lci5zdGF0aXN0aWNzUmVzZXRUb0NvbnNp
c3RlbnRTdGF0ZShmdW5jdGlvbigpIHsKKyAgICAgICAgc2V0RW5hYmxlRmVhdHVyZShmYWxzZSwg
ZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICB0ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsKICAgICAg
ICAgfSk7CiAgICAgfQogCi0gICAgZnVuY3Rpb24gcnVuVGVzdFJ1bm5lclRlc3QoKSB7Ci0gICAg
ICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc05vdGlmeVBhZ2VzV2hlbkRhdGFSZWNvcmRzV2Vy
ZVNjYW5uZWQodHJ1ZSk7Ci0gCisgICAgZnVuY3Rpb24gcnVuVGVzdFJ1bm5lclRlc3QoKSB7IAog
ICAgICAgICB0ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NQcmV2YWxlbnRSZXNvdXJjZShzdGF0aXN0
aWNzVXJsLCBmYWxzZSwgZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICBpZiAodGVzdFJ1bm5lci5p
c1N0YXRpc3RpY3NQcmV2YWxlbnRSZXNvdXJjZShzdGF0aXN0aWNzVXJsKSkKICAgICAgICAgICAg
ICAgICB0ZXN0RmFpbGVkKCJIb3N0IGRpZCBub3QgZ2V0IHNldCBhcyBub24tcHJldmFsZW50IHJl
c291cmNlLiIpOwpAQCAtNDksOCArNDcsNyBAQAogICAgIGlmIChkb2N1bWVudC5sb2NhdGlvbi5o
b3N0ID09PSBob3N0VW5kZXJUZXN0ICYmIHdpbmRvdy50ZXN0UnVubmVyICYmIHdpbmRvdy5pbnRl
cm5hbHMpIHsKICAgICAgICAgdGVzdFJ1bm5lci5zZXRVc2VJVFBEYXRhYmFzZSh0cnVlKTsKICAg
ICAgICAgdGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7Ci0gICAgICAgIGludGVybmFscy5zZXRS
ZXNvdXJjZUxvYWRTdGF0aXN0aWNzRW5hYmxlZCh0cnVlKTsKLSAgICAgICAgcnVuVGVzdFJ1bm5l
clRlc3QoKTsKKyAgICAgICAgc2V0RW5hYmxlRmVhdHVyZSh0cnVlLCBydW5UZXN0UnVubmVyVGVz
dCk7CiAgICAgfQogPC9zY3JpcHQ+CiA8L2JvZHk+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9o
dHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY2xhc3NpZnktYXMtcHJldmFsZW50LWJh
c2VkLW9uLXN1YnJlc291cmNlLXVuaXF1ZS1yZWRpcmVjdHMtdG8uaHRtbCBiL0xheW91dFRlc3Rz
L2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jbGFzc2lmeS1hcy1wcmV2YWxlbnQt
YmFzZWQtb24tc3VicmVzb3VyY2UtdW5pcXVlLXJlZGlyZWN0cy10by5odG1sCmluZGV4IGI4YjEy
YTU1NTQ2NjJjOTViYWIxM2IyNGY4YWRmNDM1NTQ0NWY4YTQuLmE1NGZjNGJhZTdjM2U5NmU2YmQ2
MmRjZDM0MmY3ZTBkZDAwZjQyMGUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMv
cmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jbGFzc2lmeS1hcy1wcmV2YWxlbnQtYmFzZWQtb24tc3Vi
cmVzb3VyY2UtdW5pcXVlLXJlZGlyZWN0cy10by5odG1sCisrKyBiL0xheW91dFRlc3RzL2h0dHAv
dGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jbGFzc2lmeS1hcy1wcmV2YWxlbnQtYmFzZWQt
b24tc3VicmVzb3VyY2UtdW5pcXVlLXJlZGlyZWN0cy10by5odG1sCkBAIC00LDYgKzQsNyBAQAog
ICAgIDxtZXRhIGNoYXJzZXQ9IlVURi04Ij4KICAgICA8dGl0bGU+VGVzdHMgZm9yIENsYXNzaWZp
Y2F0aW9uIEJhc2VkIG9uIFN1YnJlc291cmNlIFVuaXF1ZSBSZWRpcmVjdHMgVG88L3RpdGxlPgog
ICAgIDxzY3JpcHQgc3JjPSIvanMtdGVzdC1yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+
CisgICAgPHNjcmlwdCBzcmM9InJlc291cmNlcy91dGlsLmpzIj48L3NjcmlwdD4KIDwvaGVhZD4K
IDxib2R5PgogPHNjcmlwdD4KQEAgLTIyLDE1ICsyMywxMiBAQAogICAgICAgICBlbHNlCiAgICAg
ICAgICAgICB0ZXN0UGFzc2VkKCJIb3N0IGNsYXNzaWZpZWQgYXMgcHJldmFsZW50IHJlc291cmNl
LiIpOwogCi0gICAgICAgIGludGVybmFscy5zZXRSZXNvdXJjZUxvYWRTdGF0aXN0aWNzRW5hYmxl
ZChmYWxzZSk7Ci0gICAgICAgIHRlc3RSdW5uZXIuc3RhdGlzdGljc1Jlc2V0VG9Db25zaXN0ZW50
U3RhdGUoZnVuY3Rpb24oKSB7CisgICAgICAgIHNldEVuYWJsZUZlYXR1cmUoZmFsc2UsIGZ1bmN0
aW9uKCkgewogICAgICAgICAgICAgdGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7CiAgICAgICAgIH0p
OwogICAgIH0KIAotICAgIGZ1bmN0aW9uIHJ1blRlc3RSdW5uZXJUZXN0KCkgewotICAgICAgICB0
ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NOb3RpZnlQYWdlc1doZW5EYXRhUmVjb3Jkc1dlcmVTY2Fu
bmVkKHRydWUpOwotIAorICAgIGZ1bmN0aW9uIHJ1blRlc3RSdW5uZXJUZXN0KCkgeyAKICAgICAg
ICAgdGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNzUHJldmFsZW50UmVzb3VyY2Uoc3RhdGlzdGljc1Vy
bCwgZmFsc2UsIGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgaWYgKHRlc3RSdW5uZXIuaXNTdGF0
aXN0aWNzUHJldmFsZW50UmVzb3VyY2Uoc3RhdGlzdGljc1VybCkpCiAgICAgICAgICAgICAgICAg
dGVzdEZhaWxlZCgiSG9zdCBkaWQgbm90IGdldCBzZXQgYXMgbm9uLXByZXZhbGVudCByZXNvdXJj
ZS4iKTsKQEAgLTQ4LDggKzQ2LDcgQEAKIAogICAgIGlmIChkb2N1bWVudC5sb2NhdGlvbi5ob3N0
ID09PSBob3N0VW5kZXJUZXN0ICYmIHdpbmRvdy50ZXN0UnVubmVyICYmIHdpbmRvdy5pbnRlcm5h
bHMpIHsKICAgICAgICAgdGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7Ci0gICAgICAgIGludGVy
bmFscy5zZXRSZXNvdXJjZUxvYWRTdGF0aXN0aWNzRW5hYmxlZCh0cnVlKTsKLSAgICAgICAgcnVu
VGVzdFJ1bm5lclRlc3QoKTsKKyAgICAgICAgc2V0RW5hYmxlRmVhdHVyZSh0cnVlLCBydW5UZXN0
UnVubmVyVGVzdCk7CiAgICAgfQogPC9zY3JpcHQ+CiA8L2JvZHk+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY2xhc3NpZnktYXMtcHJl
dmFsZW50LWJhc2VkLW9uLXRvcC1mcmFtZS1yZWRpcmVjdC10by1wcmV2YWxlbnQtZGF0YWJhc2Uu
aHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jbGFz
c2lmeS1hcy1wcmV2YWxlbnQtYmFzZWQtb24tdG9wLWZyYW1lLXJlZGlyZWN0LXRvLXByZXZhbGVu
dC1kYXRhYmFzZS5odG1sCmluZGV4IDI5MmM3NTE2ODg5NzE1OTUzNTRlNjIwNjRlOTgzODMzMGVm
Y2FlOTQuLmUzNTA5YThiZTgxM2YxOGFiMWVhZjVjNTk5Nzg0ZjllYjAyMGM2ODUgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jbGFzc2lm
eS1hcy1wcmV2YWxlbnQtYmFzZWQtb24tdG9wLWZyYW1lLXJlZGlyZWN0LXRvLXByZXZhbGVudC1k
YXRhYmFzZS5odG1sCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3Rh
dGlzdGljcy9jbGFzc2lmeS1hcy1wcmV2YWxlbnQtYmFzZWQtb24tdG9wLWZyYW1lLXJlZGlyZWN0
LXRvLXByZXZhbGVudC1kYXRhYmFzZS5odG1sCkBAIC0zNyw4ICszNyw2IEBACiAgICAgaWYgKGRv
Y3VtZW50LmxvY2F0aW9uLmhvc3QgPT09IGhvc3RVbmRlclRlc3QgJiYgd2luZG93LnRlc3RSdW5u
ZXIgJiYgd2luZG93LmludGVybmFscykgewogICAgICAgICB0ZXN0UnVubmVyLnNldFVzZUlUUERh
dGFiYXNlKHRydWUpOwogICAgICAgICBzZXRFbmFibGVGZWF0dXJlKHRydWUsIGZ1bmN0aW9uKCkg
ewotICAgICAgICAgICAgdGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNzTm90aWZ5UGFnZXNXaGVuRGF0
YVJlY29yZHNXZXJlU2Nhbm5lZCh0cnVlKTsKLQogICAgICAgICAgICAgdGVzdFJ1bm5lci5zZXRT
dGF0aXN0aWNzUHJldmFsZW50UmVzb3VyY2Uoc3RhdGlzdGljc1VybCwgZmFsc2UsIGZ1bmN0aW9u
KCkgewogICAgICAgICAgICAgICAgIGlmICh0ZXN0UnVubmVyLmlzU3RhdGlzdGljc1ByZXZhbGVu
dFJlc291cmNlKHN0YXRpc3RpY3NVcmwpKQogICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVk
KCJIb3N0IGRpZCBub3QgZ2V0IHNldCBhcyBub24tcHJldmFsZW50IHJlc291cmNlLiIpOwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2Ns
YXNzaWZ5LWFzLXByZXZhbGVudC1iYXNlZC1vbi10b3AtZnJhbWUtcmVkaXJlY3QtdG8tcHJldmFs
ZW50Lmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3Mv
Y2xhc3NpZnktYXMtcHJldmFsZW50LWJhc2VkLW9uLXRvcC1mcmFtZS1yZWRpcmVjdC10by1wcmV2
YWxlbnQuaHRtbAppbmRleCA3YmZmOTczYmY0NWM4OGQ2Njg3ZjRhYjhjOWNjNzVmYjgzYjlhYTg3
Li4wNWY0ZjExZTYzNmRhYTJhMGVmNTA5ZjRjYmMxY2IwZmNlYmIwNDQ1IDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY2xhc3NpZnktYXMt
cHJldmFsZW50LWJhc2VkLW9uLXRvcC1mcmFtZS1yZWRpcmVjdC10by1wcmV2YWxlbnQuaHRtbAor
KysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY2xhc3Np
ZnktYXMtcHJldmFsZW50LWJhc2VkLW9uLXRvcC1mcmFtZS1yZWRpcmVjdC10by1wcmV2YWxlbnQu
aHRtbApAQCAtMzYsOCArMzYsNiBAQAogCiAgICAgaWYgKGRvY3VtZW50LmxvY2F0aW9uLmhvc3Qg
PT09IGhvc3RVbmRlclRlc3QgJiYgd2luZG93LnRlc3RSdW5uZXIgJiYgd2luZG93LmludGVybmFs
cykgewogICAgICAgICBzZXRFbmFibGVGZWF0dXJlKHRydWUsIGZ1bmN0aW9uKCkgewotICAgICAg
ICAgICAgdGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNzTm90aWZ5UGFnZXNXaGVuRGF0YVJlY29yZHNX
ZXJlU2Nhbm5lZCh0cnVlKTsKLQogICAgICAgICAgICAgdGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNz
UHJldmFsZW50UmVzb3VyY2Uoc3RhdGlzdGljc1VybCwgZmFsc2UsIGZ1bmN0aW9uKCkgewogICAg
ICAgICAgICAgICAgIGlmICh0ZXN0UnVubmVyLmlzU3RhdGlzdGljc1ByZXZhbGVudFJlc291cmNl
KHN0YXRpc3RpY3NVcmwpKQogICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKCJIb3N0IGRp
ZCBub3QgZ2V0IHNldCBhcyBub24tcHJldmFsZW50IHJlc291cmNlLiIpOwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NsYXNzaWZ5LWFz
LXByZXZhbGVudC1iYXNlZC1vbi10b3AtZnJhbWUtdW5pcXVlLXJlZGlyZWN0cy10by1kYXRhYmFz
ZS5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2Ns
YXNzaWZ5LWFzLXByZXZhbGVudC1iYXNlZC1vbi10b3AtZnJhbWUtdW5pcXVlLXJlZGlyZWN0cy10
by1kYXRhYmFzZS5odG1sCmluZGV4IDVjNGM3ZWU1ZjZjM2ZlYTY1NjEzZjg1ODM2MjdhNGM5ODUw
MzE1ZGIuLjY2MTE1MTcxMmNhY2UzZTQ3ZDk3YjI2ZDFhYTVjNDU0YjMxY2NhNTkgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jbGFzc2lm
eS1hcy1wcmV2YWxlbnQtYmFzZWQtb24tdG9wLWZyYW1lLXVuaXF1ZS1yZWRpcmVjdHMtdG8tZGF0
YWJhc2UuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRp
c3RpY3MvY2xhc3NpZnktYXMtcHJldmFsZW50LWJhc2VkLW9uLXRvcC1mcmFtZS11bmlxdWUtcmVk
aXJlY3RzLXRvLWRhdGFiYXNlLmh0bWwKQEAgLTQyLDggKzQyLDYgQEAKICAgICBpZiAoZG9jdW1l
bnQubG9jYXRpb24uaG9zdCA9PT0gaG9zdFVuZGVyVGVzdCAmJiB3aW5kb3cudGVzdFJ1bm5lciAm
JiB3aW5kb3cuaW50ZXJuYWxzKSB7CiAgICAgICAgIHRlc3RSdW5uZXIuc2V0VXNlSVRQRGF0YWJh
c2UodHJ1ZSk7CiAgICAgICAgIHNldEVuYWJsZUZlYXR1cmUodHJ1ZSwgZnVuY3Rpb24oKSB7Ci0g
ICAgICAgICAgICB0ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NOb3RpZnlQYWdlc1doZW5EYXRhUmVj
b3Jkc1dlcmVTY2FubmVkKHRydWUpOwotCiAgICAgICAgICAgICB0ZXN0UnVubmVyLnNldFN0YXRp
c3RpY3NQcmV2YWxlbnRSZXNvdXJjZShzdGF0aXN0aWNzVXJsLCBmYWxzZSwgZnVuY3Rpb24oKSB7
CiAgICAgICAgICAgICAgICAgaWYgKHRlc3RSdW5uZXIuaXNTdGF0aXN0aWNzUHJldmFsZW50UmVz
b3VyY2Uoc3RhdGlzdGljc1VybCkpCiAgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoIkhv
c3QgZGlkIG5vdCBnZXQgc2V0IGFzIG5vbi1wcmV2YWxlbnQgcmVzb3VyY2UuIik7CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY2xhc3Np
ZnktYXMtcHJldmFsZW50LWJhc2VkLW9uLXRvcC1mcmFtZS11bmlxdWUtcmVkaXJlY3RzLXRvLmh0
bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY2xhc3Np
ZnktYXMtcHJldmFsZW50LWJhc2VkLW9uLXRvcC1mcmFtZS11bmlxdWUtcmVkaXJlY3RzLXRvLmh0
bWwKaW5kZXggZTUxM2ZiZTYxYTkyZjVkNWI2N2IwZjIyNDc4YzczMmE5NzEzOTM3Mi4uNjFkMjBi
MjczMzFjOGQyODEzNmI4MzlhZDE5NDFkNzY5NWFlY2NkZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NsYXNzaWZ5LWFzLXByZXZhbGVu
dC1iYXNlZC1vbi10b3AtZnJhbWUtdW5pcXVlLXJlZGlyZWN0cy10by5odG1sCisrKyBiL0xheW91
dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jbGFzc2lmeS1hcy1wcmV2
YWxlbnQtYmFzZWQtb24tdG9wLWZyYW1lLXVuaXF1ZS1yZWRpcmVjdHMtdG8uaHRtbApAQCAtNDEs
OCArNDEsNiBAQAogCiAgICAgaWYgKGRvY3VtZW50LmxvY2F0aW9uLmhvc3QgPT09IGhvc3RVbmRl
clRlc3QgJiYgd2luZG93LnRlc3RSdW5uZXIgJiYgd2luZG93LmludGVybmFscykgewogICAgICAg
ICBzZXRFbmFibGVGZWF0dXJlKHRydWUsIGZ1bmN0aW9uKCkgewotICAgICAgICAgICAgdGVzdFJ1
bm5lci5zZXRTdGF0aXN0aWNzTm90aWZ5UGFnZXNXaGVuRGF0YVJlY29yZHNXZXJlU2Nhbm5lZCh0
cnVlKTsKLQogICAgICAgICAgICAgdGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNzUHJldmFsZW50UmVz
b3VyY2Uoc3RhdGlzdGljc1VybCwgZmFsc2UsIGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAg
IGlmICh0ZXN0UnVubmVyLmlzU3RhdGlzdGljc1ByZXZhbGVudFJlc291cmNlKHN0YXRpc3RpY3NV
cmwpKQogICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKCJIb3N0IGRpZCBub3QgZ2V0IHNl
dCBhcyBub24tcHJldmFsZW50IHJlc291cmNlLiIpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NsYXNzaWZ5LWFzLXZlcnktcHJldmFs
ZW50LWJhc2VkLW9uLW1peGVkLXN0YXRpc3RpY3MtZGF0YWJhc2UuaHRtbCBiL0xheW91dFRlc3Rz
L2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jbGFzc2lmeS1hcy12ZXJ5LXByZXZh
bGVudC1iYXNlZC1vbi1taXhlZC1zdGF0aXN0aWNzLWRhdGFiYXNlLmh0bWwKaW5kZXggYWIwNmZh
MjA5ZWRiYjZmMTE4OGFmZjdkMTYwNjMwNDAyN2FiYjE3ZS4uZjdkZGFmNzU5NDkwYzA1NjkwM2E1
MGQ0N2ZkNWFhNmVkYjdmN2EyMiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9y
ZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NsYXNzaWZ5LWFzLXZlcnktcHJldmFsZW50LWJhc2VkLW9u
LW1peGVkLXN0YXRpc3RpY3MtZGF0YWJhc2UuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rl
c3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY2xhc3NpZnktYXMtdmVyeS1wcmV2YWxlbnQtYmFz
ZWQtb24tbWl4ZWQtc3RhdGlzdGljcy1kYXRhYmFzZS5odG1sCkBAIC0yOSw5ICsyOSw3IEBACiAg
ICAgICAgIHNldEVuYWJsZUZlYXR1cmUoZmFsc2UsIGZpbmlzaEpTVGVzdCk7CiAgICAgfQogCi0g
ICAgZnVuY3Rpb24gcnVuVGVzdFJ1bm5lclRlc3QoKSB7Ci0gICAgICAgIHRlc3RSdW5uZXIuc2V0
U3RhdGlzdGljc05vdGlmeVBhZ2VzV2hlbkRhdGFSZWNvcmRzV2VyZVNjYW5uZWQodHJ1ZSk7Ci0g
CisgICAgZnVuY3Rpb24gcnVuVGVzdFJ1bm5lclRlc3QoKSB7IAogICAgICAgICB0ZXN0UnVubmVy
LnNldFN0YXRpc3RpY3NQcmV2YWxlbnRSZXNvdXJjZShzdGF0aXN0aWNzVXJsLCBmYWxzZSwgZnVu
Y3Rpb24oKSB7CiAgICAgICAgICAgICBpZiAodGVzdFJ1bm5lci5pc1N0YXRpc3RpY3NQcmV2YWxl
bnRSZXNvdXJjZShzdGF0aXN0aWNzVXJsKSkKICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKCJI
b3N0IHN0YXJ0ZWQgb3V0IGFzIHByZXZhbGVudCByZXNvdXJjZS4iKTsKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jbGFzc2lmeS1hcy12
ZXJ5LXByZXZhbGVudC1iYXNlZC1vbi1taXhlZC1zdGF0aXN0aWNzLmh0bWwgYi9MYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY2xhc3NpZnktYXMtdmVyeS1wcmV2
YWxlbnQtYmFzZWQtb24tbWl4ZWQtc3RhdGlzdGljcy5odG1sCmluZGV4IDMzNTlmNjBmNzMxZDU0
Y2RlY2E0MGU3OTlmNjk3MzY3NjhhZjQ1MTguLmFhOGRhMjZlM2ZmZGRhNjA1NjAxOTE4ODllNDZj
MDBiNDljM2Q2MjkgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VM
b2FkU3RhdGlzdGljcy9jbGFzc2lmeS1hcy12ZXJ5LXByZXZhbGVudC1iYXNlZC1vbi1taXhlZC1z
dGF0aXN0aWNzLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRT
dGF0aXN0aWNzL2NsYXNzaWZ5LWFzLXZlcnktcHJldmFsZW50LWJhc2VkLW9uLW1peGVkLXN0YXRp
c3RpY3MuaHRtbApAQCAtMjksOSArMjksNyBAQAogICAgICAgICBzZXRFbmFibGVGZWF0dXJlKGZh
bHNlLCBmaW5pc2hKU1Rlc3QpOwogICAgIH0KIAotICAgIGZ1bmN0aW9uIHJ1blRlc3RSdW5uZXJU
ZXN0KCkgewotICAgICAgICB0ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NOb3RpZnlQYWdlc1doZW5E
YXRhUmVjb3Jkc1dlcmVTY2FubmVkKHRydWUpOwotIAorICAgIGZ1bmN0aW9uIHJ1blRlc3RSdW5u
ZXJUZXN0KCkgeyAKICAgICAgICAgdGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNzUHJldmFsZW50UmVz
b3VyY2Uoc3RhdGlzdGljc1VybCwgZmFsc2UsIGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgaWYg
KHRlc3RSdW5uZXIuaXNTdGF0aXN0aWNzUHJldmFsZW50UmVzb3VyY2Uoc3RhdGlzdGljc1VybCkp
CiAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZCgiSG9zdCBzdGFydGVkIG91dCBhcyBwcmV2YWxl
bnQgcmVzb3VyY2UuIik7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291
cmNlTG9hZFN0YXRpc3RpY3MvY2xlYXItaW4tbWVtb3J5LWFuZC1wZXJzaXN0ZW50LXN0b3JlLWRh
dGFiYXNlLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3Rp
Y3MvY2xlYXItaW4tbWVtb3J5LWFuZC1wZXJzaXN0ZW50LXN0b3JlLWRhdGFiYXNlLmh0bWwKaW5k
ZXggMjE3ZWJhYmFkOTE3YWFkNDk5MDMzODFlYTM1MjNlMjA2MmJhZWIwYS4uNWE5ZjE5NjczZmI2
MGVjOGI3Yzk2MWMxNzc0NmRmMDhmMmQyMmMyYiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NsZWFyLWluLW1lbW9yeS1hbmQtcGVyc2lz
dGVudC1zdG9yZS1kYXRhYmFzZS5odG1sCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVz
b3VyY2VMb2FkU3RhdGlzdGljcy9jbGVhci1pbi1tZW1vcnktYW5kLXBlcnNpc3RlbnQtc3RvcmUt
ZGF0YWJhc2UuaHRtbApAQCAtMzYsOCArMzYsNiBAQAogICAgIH0KIAogICAgIGZ1bmN0aW9uIHJ1
blRlc3RSdW5uZXJUZXN0KCkgewotICAgICAgICB0ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NOb3Rp
ZnlQYWdlc1doZW5EYXRhUmVjb3Jkc1dlcmVTY2FubmVkKHRydWUpOwotCiAgICAgICAgIHRlc3RS
dW5uZXIuc2V0U3RhdGlzdGljc1ByZXZhbGVudFJlc291cmNlKHN0YXRpc3RpY3NVcmwsIGZhbHNl
LCBmdW5jdGlvbigpIHsKICAgICAgICAgICAgIGlmICh0ZXN0UnVubmVyLmlzU3RhdGlzdGljc1By
ZXZhbGVudFJlc291cmNlKHN0YXRpc3RpY3NVcmwpKQogICAgICAgICAgICAgICAgIHRlc3RGYWls
ZWQoIkhvc3QgZGlkIG5vdCBnZXQgc2V0IGFzIG5vbi1wcmV2YWxlbnQgcmVzb3VyY2UuIik7CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3Mv
Y2xlYXItaW4tbWVtb3J5LWFuZC1wZXJzaXN0ZW50LXN0b3JlLW9uZS1ob3VyLWRhdGFiYXNlLmh0
bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY2xlYXIt
aW4tbWVtb3J5LWFuZC1wZXJzaXN0ZW50LXN0b3JlLW9uZS1ob3VyLWRhdGFiYXNlLmh0bWwKaW5k
ZXggYTZiYjA2NWUzN2JkYTI0NDgwNDMzNzIzNDU1ZmU4ZjdkODY5NjhjMC4uYWMyMWMwNjY0ZTQx
MzEzZmZhM2YzM2Q0YjAxMjM3NTIxMDJkZTQwYiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NsZWFyLWluLW1lbW9yeS1hbmQtcGVyc2lz
dGVudC1zdG9yZS1vbmUtaG91ci1kYXRhYmFzZS5odG1sCisrKyBiL0xheW91dFRlc3RzL2h0dHAv
dGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jbGVhci1pbi1tZW1vcnktYW5kLXBlcnNpc3Rl
bnQtc3RvcmUtb25lLWhvdXItZGF0YWJhc2UuaHRtbApAQCAtMzUsOCArMzUsNiBAQAogICAgIH0K
IAogICAgIGZ1bmN0aW9uIHJ1blRlc3RSdW5uZXJUZXN0KCkgewotICAgICAgICB0ZXN0UnVubmVy
LnNldFN0YXRpc3RpY3NOb3RpZnlQYWdlc1doZW5EYXRhUmVjb3Jkc1dlcmVTY2FubmVkKHRydWUp
OwotCiAgICAgICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc1ByZXZhbGVudFJlc291cmNlKHN0
YXRpc3RpY3NVcmwsIGZhbHNlLCBmdW5jdGlvbigpIHt9KTsKICAgICAgICAgaWYgKHRlc3RSdW5u
ZXIuaXNTdGF0aXN0aWNzUHJldmFsZW50UmVzb3VyY2Uoc3RhdGlzdGljc1VybCkpCiAgICAgICAg
ICAgICB0ZXN0RmFpbGVkKCJIb3N0IGRpZCBub3QgZ2V0IHNldCBhcyBub24tcHJldmFsZW50IHJl
c291cmNlLiIpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxv
YWRTdGF0aXN0aWNzL2NsZWFyLWluLW1lbW9yeS1hbmQtcGVyc2lzdGVudC1zdG9yZS1vbmUtaG91
ci5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2Ns
ZWFyLWluLW1lbW9yeS1hbmQtcGVyc2lzdGVudC1zdG9yZS1vbmUtaG91ci5odG1sCmluZGV4IDlm
MTY3MTdlODE3YzM0M2JlOWYzNGYxZjYyZjA4YTRhY2E2ZjZlMDYuLmU5MzExN2E1ZDcxNTFjYzE0
ODY4MjMzMzNmMjM1ODhkYjczNGY4OWUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVz
dHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jbGVhci1pbi1tZW1vcnktYW5kLXBlcnNpc3RlbnQt
c3RvcmUtb25lLWhvdXIuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNl
TG9hZFN0YXRpc3RpY3MvY2xlYXItaW4tbWVtb3J5LWFuZC1wZXJzaXN0ZW50LXN0b3JlLW9uZS1o
b3VyLmh0bWwKQEAgLTM2LDggKzM2LDYgQEAKICAgICB9CiAKICAgICBmdW5jdGlvbiBydW5UZXN0
UnVubmVyVGVzdCgpIHsKLSAgICAgICAgdGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNzTm90aWZ5UGFn
ZXNXaGVuRGF0YVJlY29yZHNXZXJlU2Nhbm5lZCh0cnVlKTsKLQogICAgICAgICB0ZXN0UnVubmVy
LnNldFN0YXRpc3RpY3NQcmV2YWxlbnRSZXNvdXJjZShzdGF0aXN0aWNzVXJsLCBmYWxzZSwgZnVu
Y3Rpb24oKSB7fSk7CiAgICAgICAgIGlmICh0ZXN0UnVubmVyLmlzU3RhdGlzdGljc1ByZXZhbGVu
dFJlc291cmNlKHN0YXRpc3RpY3NVcmwpKQogICAgICAgICAgICAgdGVzdEZhaWxlZCgiSG9zdCBk
aWQgbm90IGdldCBzZXQgYXMgbm9uLXByZXZhbGVudCByZXNvdXJjZS4iKTsKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jbGVhci1pbi1t
ZW1vcnktYW5kLXBlcnNpc3RlbnQtc3RvcmUuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMv
cmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jbGVhci1pbi1tZW1vcnktYW5kLXBlcnNpc3RlbnQtc3Rv
cmUuaHRtbAppbmRleCA3MDI3NDFhMWJhNzZlMzQ3ZDdjNTU0MTZhNDUxYmI3NTdhZDhlNmNiLi5l
ZmE0MTdmZjMwODIxMjkzMWVhYzk4YTUwN2M0NTE4MjVkMzgxYTk0IDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY2xlYXItaW4tbWVtb3J5
LWFuZC1wZXJzaXN0ZW50LXN0b3JlLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9y
ZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NsZWFyLWluLW1lbW9yeS1hbmQtcGVyc2lzdGVudC1zdG9y
ZS5odG1sCkBAIC0zNiw4ICszNiw2IEBACiAgICAgfQogCiAgICAgZnVuY3Rpb24gcnVuVGVzdFJ1
bm5lclRlc3QoKSB7Ci0gICAgICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc05vdGlmeVBhZ2Vz
V2hlbkRhdGFSZWNvcmRzV2VyZVNjYW5uZWQodHJ1ZSk7Ci0KICAgICAgICAgdGVzdFJ1bm5lci5z
ZXRTdGF0aXN0aWNzUHJldmFsZW50UmVzb3VyY2Uoc3RhdGlzdGljc1VybCwgZmFsc2UsIGZ1bmN0
aW9uKCkgewogICAgICAgICAgICAgaWYgKHRlc3RSdW5uZXIuaXNTdGF0aXN0aWNzUHJldmFsZW50
UmVzb3VyY2Uoc3RhdGlzdGljc1VybCkpCiAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZCgiSG9z
dCBkaWQgbm90IGdldCBzZXQgYXMgbm9uLXByZXZhbGVudCByZXNvdXJjZS4iKTsKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9ub24tcHJl
dmFsZW50LXJlc291cmNlLXdpdGgtdXNlci1pbnRlcmFjdGlvbi1kYXRhYmFzZS5odG1sIGIvTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL25vbi1wcmV2YWxlbnQt
cmVzb3VyY2Utd2l0aC11c2VyLWludGVyYWN0aW9uLWRhdGFiYXNlLmh0bWwKaW5kZXggZDk3ZTgw
ZmQ2NjRlZTFlYTgwMzhkOWU4NzJjNzM5NTcyOTBmNTExZi4uYWYzMWQ4YWEwNDM0ZjM1ZTlmMGU4
MjdiYzQ1Mzg5YWZkODI4ODBiYiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9y
ZXNvdXJjZUxvYWRTdGF0aXN0aWNzL25vbi1wcmV2YWxlbnQtcmVzb3VyY2Utd2l0aC11c2VyLWlu
dGVyYWN0aW9uLWRhdGFiYXNlLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNv
dXJjZUxvYWRTdGF0aXN0aWNzL25vbi1wcmV2YWxlbnQtcmVzb3VyY2Utd2l0aC11c2VyLWludGVy
YWN0aW9uLWRhdGFiYXNlLmh0bWwKQEAgLTU1LDEwICs1NSw3IEBACiAgICAgaWYgKGRvY3VtZW50
LmxvY2F0aW9uLmhvc3QgPT09IGhvc3RVbmRlclRlc3QgJiYgd2luZG93LnRlc3RSdW5uZXIgJiYg
d2luZG93LmludGVybmFscykgewogICAgICAgICB0ZXN0UnVubmVyLnNldFVzZUlUUERhdGFiYXNl
KHRydWUpOwogICAgICAgICB0ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTsKLSAgICAgICAgc2V0
RW5hYmxlRmVhdHVyZSh0cnVlLCBmdW5jdGlvbigpIHsKLSAgICAgICAgICAgIHRlc3RSdW5uZXIu
c2V0U3RhdGlzdGljc05vdGlmeVBhZ2VzV2hlbkRhdGFSZWNvcmRzV2VyZVNjYW5uZWQodHJ1ZSk7
Ci0gICAgICAgICAgICBydW5UZXN0UnVubmVyVGVzdCgpOwotICAgICAgICB9KTsKKyAgICAgICAg
c2V0RW5hYmxlRmVhdHVyZSh0cnVlLCBydW5UZXN0UnVubmVyVGVzdCk7CiAgICAgfQogPC9zY3Jp
cHQ+CiA8L2JvZHk+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNl
TG9hZFN0YXRpc3RpY3Mvbm9uLXByZXZhbGVudC1yZXNvdXJjZS13aXRoLXVzZXItaW50ZXJhY3Rp
b24uaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9u
b24tcHJldmFsZW50LXJlc291cmNlLXdpdGgtdXNlci1pbnRlcmFjdGlvbi5odG1sCmluZGV4IDY5
ZGQ0YzQyNjZlYWU2ZjgxMTkwOTc5OGIwN2JmZWYxNjJhZjlhZDMuLmRjY2NkMjU0NzAxNTZkNDVj
NjZlMzljMWM4NTAzYmRhMjcxNzYyYzEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVz
dHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9ub24tcHJldmFsZW50LXJlc291cmNlLXdpdGgtdXNl
ci1pbnRlcmFjdGlvbi5odG1sCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VM
b2FkU3RhdGlzdGljcy9ub24tcHJldmFsZW50LXJlc291cmNlLXdpdGgtdXNlci1pbnRlcmFjdGlv
bi5odG1sCkBAIC01NCwxMCArNTQsNyBAQAogCiAgICAgaWYgKGRvY3VtZW50LmxvY2F0aW9uLmhv
c3QgPT09IGhvc3RVbmRlclRlc3QgJiYgd2luZG93LnRlc3RSdW5uZXIgJiYgd2luZG93LmludGVy
bmFscykgewogICAgICAgICB0ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTsKLSAgICAgICAgc2V0
RW5hYmxlRmVhdHVyZSh0cnVlLCBmdW5jdGlvbigpIHsKLSAgICAgICAgICAgIHRlc3RSdW5uZXIu
c2V0U3RhdGlzdGljc05vdGlmeVBhZ2VzV2hlbkRhdGFSZWNvcmRzV2VyZVNjYW5uZWQodHJ1ZSk7
Ci0gICAgICAgICAgICBydW5UZXN0UnVubmVyVGVzdCgpOwotICAgICAgICB9KTsKKyAgICAgICAg
c2V0RW5hYmxlRmVhdHVyZSh0cnVlLCBydW5UZXN0UnVubmVyVGVzdCk7CiAgICAgfQogPC9zY3Jp
cHQ+CiA8L2JvZHk+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNl
TG9hZFN0YXRpc3RpY3Mvbm9uLXByZXZhbGVudC1yZXNvdXJjZS13aXRob3V0LXVzZXItaW50ZXJh
Y3Rpb24tZGF0YWJhc2UuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2Fk
U3RhdGlzdGljcy9ub24tcHJldmFsZW50LXJlc291cmNlLXdpdGhvdXQtdXNlci1pbnRlcmFjdGlv
bi1kYXRhYmFzZS5odG1sCmluZGV4IDZiY2U5OTA0NWYwYTNlY2NkYmFkMTg3ODdlZWQ4ZmZmNjY1
N2ZmNjUuLjc0NWY2OThiZWQwNDI1NjExOTk5Nzc3NGFjZDY5YjY1NzM0MTc3OGQgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9ub24tcHJl
dmFsZW50LXJlc291cmNlLXdpdGhvdXQtdXNlci1pbnRlcmFjdGlvbi1kYXRhYmFzZS5odG1sCisr
KyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9ub24tcHJl
dmFsZW50LXJlc291cmNlLXdpdGhvdXQtdXNlci1pbnRlcmFjdGlvbi1kYXRhYmFzZS5odG1sCkBA
IC01NSwxMCArNTUsNyBAQAogICAgIGlmIChkb2N1bWVudC5sb2NhdGlvbi5ob3N0ID09PSBob3N0
VW5kZXJUZXN0ICYmIHdpbmRvdy50ZXN0UnVubmVyICYmIHdpbmRvdy5pbnRlcm5hbHMpIHsKICAg
ICAgICAgdGVzdFJ1bm5lci5zZXRVc2VJVFBEYXRhYmFzZSh0cnVlKTsKICAgICAgICAgdGVzdFJ1
bm5lci53YWl0VW50aWxEb25lKCk7Ci0gICAgICAgIHNldEVuYWJsZUZlYXR1cmUodHJ1ZSwgZnVu
Y3Rpb24oKSB7Ci0gICAgICAgICAgICB0ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NOb3RpZnlQYWdl
c1doZW5EYXRhUmVjb3Jkc1dlcmVTY2FubmVkKHRydWUpOwotICAgICAgICAgICAgcnVuVGVzdFJ1
bm5lclRlc3QoKTsKLSAgICAgICAgfSk7CisgICAgICAgIHNldEVuYWJsZUZlYXR1cmUodHJ1ZSwg
cnVuVGVzdFJ1bm5lclRlc3QpOwogICAgIH0KIDwvc2NyaXB0PgogPC9ib2R5PgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL25vbi1wcmV2
YWxlbnQtcmVzb3VyY2Utd2l0aG91dC11c2VyLWludGVyYWN0aW9uLmh0bWwgYi9MYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3Mvbm9uLXByZXZhbGVudC1yZXNvdXJj
ZS13aXRob3V0LXVzZXItaW50ZXJhY3Rpb24uaHRtbAppbmRleCBmMzQ2ZDNiMzc2ODY4ZTExNmFm
NzgyNzMwYzJjNjMwZjk0M2ZmOTU0Li5hZDdmNWM2YWU1NjUxNGNmMDRkMWRkMGEyMmE2MTI3NmU3
MGY4OThjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0
YXRpc3RpY3Mvbm9uLXByZXZhbGVudC1yZXNvdXJjZS13aXRob3V0LXVzZXItaW50ZXJhY3Rpb24u
aHRtbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3Mv
bm9uLXByZXZhbGVudC1yZXNvdXJjZS13aXRob3V0LXVzZXItaW50ZXJhY3Rpb24uaHRtbApAQCAt
NTQsMTAgKzU0LDcgQEAKIAogICAgIGlmIChkb2N1bWVudC5sb2NhdGlvbi5ob3N0ID09PSBob3N0
VW5kZXJUZXN0ICYmIHdpbmRvdy50ZXN0UnVubmVyICYmIHdpbmRvdy5pbnRlcm5hbHMpIHsKICAg
ICAgICAgdGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7Ci0gICAgICAgIHNldEVuYWJsZUZlYXR1
cmUodHJ1ZSwgZnVuY3Rpb24oKSB7Ci0gICAgICAgICAgICB0ZXN0UnVubmVyLnNldFN0YXRpc3Rp
Y3NOb3RpZnlQYWdlc1doZW5EYXRhUmVjb3Jkc1dlcmVTY2FubmVkKHRydWUpOwotICAgICAgICAg
ICAgcnVuVGVzdFJ1bm5lclRlc3QoKTsKLSAgICAgICAgfSk7CisgICAgICAgIHNldEVuYWJsZUZl
YXR1cmUodHJ1ZSwgcnVuVGVzdFJ1bm5lclRlc3QpOwogICAgIH0KIDwvc2NyaXB0PgogPC9ib2R5
PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0
aWNzL25vbi1zYW5kYm94ZWQtaWZyYW1lLXJlZGlyZWN0LWxvY2FsaG9zdC10by1pcC10by1sb2Nh
bGhvc3QtZGF0YWJhc2UuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2Fk
U3RhdGlzdGljcy9ub24tc2FuZGJveGVkLWlmcmFtZS1yZWRpcmVjdC1sb2NhbGhvc3QtdG8taXAt
dG8tbG9jYWxob3N0LWRhdGFiYXNlLmh0bWwKaW5kZXggNGI1ZWU5OTM3MDQxMDUyZGMyNmU4ZjZh
NTg2OWEyMjEzMjAwM2EzMy4uZjJlMDM0YzRjZjcwOTM1YmMyY2JjYjcyYmU0ZjNkZmFlMjVmMDA3
ZSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0
aWNzL25vbi1zYW5kYm94ZWQtaWZyYW1lLXJlZGlyZWN0LWxvY2FsaG9zdC10by1pcC10by1sb2Nh
bGhvc3QtZGF0YWJhc2UuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNl
TG9hZFN0YXRpc3RpY3Mvbm9uLXNhbmRib3hlZC1pZnJhbWUtcmVkaXJlY3QtbG9jYWxob3N0LXRv
LWlwLXRvLWxvY2FsaG9zdC1kYXRhYmFzZS5odG1sCkBAIC00Miw3ICs0Miw2IEBACiAgICAgICAg
IGlmICh0ZXN0UnVubmVyKSB7CiAgICAgICAgICAgICB0ZXN0UnVubmVyLnNldFVzZUlUUERhdGFi
YXNlKHRydWUpOwogICAgICAgICAgICAgc2V0RW5hYmxlRmVhdHVyZSh0cnVlLCBmdW5jdGlvbigp
IHsKLSAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NOb3RpZnlQYWdlc1do
ZW5EYXRhUmVjb3Jkc1dlcmVTY2FubmVkKHRydWUpOwogICAgICAgICAgICAgICAgIHRlc3RSdW5u
ZXIuaW5zdGFsbFN0YXRpc3RpY3NEaWRTY2FuRGF0YVJlY29yZHNDYWxsYmFjayhjaGVja1N0YXRz
KTsKICAgICAgICAgICAgIH0pOwogICAgICAgICB9CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9o
dHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3Mvbm9uLXNhbmRib3hlZC1pZnJhbWUtcmVk
aXJlY3QtbG9jYWxob3N0LXRvLWlwLXRvLWxvY2FsaG9zdC5odG1sIGIvTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL25vbi1zYW5kYm94ZWQtaWZyYW1lLXJlZGly
ZWN0LWxvY2FsaG9zdC10by1pcC10by1sb2NhbGhvc3QuaHRtbAppbmRleCA5MWVjNTc3MmYxOTM5
YTRkMTQzNDU1ZDNhM2NlYzY3NmM5MzFmMzQ5Li42YmNjYmMwZmRmMzk5YWI4OTMxYjEyYWM4ZWYy
MDkxZjRlMmY0N2NmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNl
TG9hZFN0YXRpc3RpY3Mvbm9uLXNhbmRib3hlZC1pZnJhbWUtcmVkaXJlY3QtbG9jYWxob3N0LXRv
LWlwLXRvLWxvY2FsaG9zdC5odG1sCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3Vy
Y2VMb2FkU3RhdGlzdGljcy9ub24tc2FuZGJveGVkLWlmcmFtZS1yZWRpcmVjdC1sb2NhbGhvc3Qt
dG8taXAtdG8tbG9jYWxob3N0Lmh0bWwKQEAgLTQxLDcgKzQxLDYgQEAKIAogICAgICAgICBpZiAo
dGVzdFJ1bm5lcikgewogICAgICAgICAgICAgc2V0RW5hYmxlRmVhdHVyZSh0cnVlLCBmdW5jdGlv
bigpIHsKLSAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NOb3RpZnlQYWdl
c1doZW5EYXRhUmVjb3Jkc1dlcmVTY2FubmVkKHRydWUpOwogICAgICAgICAgICAgICAgIHRlc3RS
dW5uZXIuaW5zdGFsbFN0YXRpc3RpY3NEaWRTY2FuRGF0YVJlY29yZHNDYWxsYmFjayhjaGVja1N0
YXRzKTsKICAgICAgICAgICAgIH0pOwogICAgICAgICB9CkBAIC01MSw0ICs1MCw0IEBACiA8aWZy
YW1lIHNyYz0iaHR0cDovL2xvY2FsaG9zdDo4MDAwL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvcmVz
b3VyY2VzL3JlZGlyZWN0LnBocC8/cmVkaXJlY3RUbz1odHRwOi8vMTI3LjAuMC4xOjgwMDAvcmVz
b3VyY2VMb2FkU3RhdGlzdGljcy9yZXNvdXJjZXMvcmVkaXJlY3QucGhwLz9yZWRpcmVjdFRvPWh0
dHA6Ly9sb2NhbGhvc3Q6ODAwMC9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3Jlc291cmNlcy9pZnJh
bWUtcmVwb3J0LWJhY2stbG9hZGVkLmh0bWwiPgogPC9pZnJhbWU+CiA8L2JvZHk+Ci08L2h0bWw+
ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL25vbi1zYW5kYm94ZWQtbmVz
dGluZy1pZnJhbWUtd2l0aC1ub24tc2FuZGJveGVkLWlmcmFtZS1yZWRpcmVjdC1pcC10by1sb2Nh
bGhvc3QtdG8taXAtZGF0YWJhc2UuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3Vy
Y2VMb2FkU3RhdGlzdGljcy9ub24tc2FuZGJveGVkLW5lc3RpbmctaWZyYW1lLXdpdGgtbm9uLXNh
bmRib3hlZC1pZnJhbWUtcmVkaXJlY3QtaXAtdG8tbG9jYWxob3N0LXRvLWlwLWRhdGFiYXNlLmh0
bWwKaW5kZXggMmQ5Y2E1OTAxZGI4MGUwZGQwMmMyMDUyMDMzYzE1N2RkZDM2ZTMxZC4uMGQ2ZTcy
ZjNjMDdiMDFlMTc0MjFlOGUzY2M0ODM1NGJlYjQzZTIyNiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL25vbi1zYW5kYm94ZWQtbmVzdGlu
Zy1pZnJhbWUtd2l0aC1ub24tc2FuZGJveGVkLWlmcmFtZS1yZWRpcmVjdC1pcC10by1sb2NhbGhv
c3QtdG8taXAtZGF0YWJhc2UuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291
cmNlTG9hZFN0YXRpc3RpY3Mvbm9uLXNhbmRib3hlZC1uZXN0aW5nLWlmcmFtZS13aXRoLW5vbi1z
YW5kYm94ZWQtaWZyYW1lLXJlZGlyZWN0LWlwLXRvLWxvY2FsaG9zdC10by1pcC1kYXRhYmFzZS5o
dG1sCkBAIC00Miw3ICs0Miw2IEBACiAgICAgICAgIGlmICh0ZXN0UnVubmVyKSB7CiAgICAgICAg
ICAgICB0ZXN0UnVubmVyLnNldFVzZUlUUERhdGFiYXNlKHRydWUpOwogICAgICAgICAgICAgc2V0
RW5hYmxlRmVhdHVyZSh0cnVlLCBmdW5jdGlvbigpIHsKLSAgICAgICAgICAgICAgICB0ZXN0UnVu
bmVyLnNldFN0YXRpc3RpY3NOb3RpZnlQYWdlc1doZW5EYXRhUmVjb3Jkc1dlcmVTY2FubmVkKHRy
dWUpOwogICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIuaW5zdGFsbFN0YXRpc3RpY3NEaWRTY2Fu
RGF0YVJlY29yZHNDYWxsYmFjayhjaGVja1N0YXRzKTsKICAgICAgICAgICAgIH0pOwogICAgICAg
ICB9CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRp
c3RpY3Mvbm9uLXNhbmRib3hlZC1uZXN0aW5nLWlmcmFtZS13aXRoLW5vbi1zYW5kYm94ZWQtaWZy
YW1lLXJlZGlyZWN0LWlwLXRvLWxvY2FsaG9zdC10by1pcC5odG1sIGIvTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL25vbi1zYW5kYm94ZWQtbmVzdGluZy1pZnJh
bWUtd2l0aC1ub24tc2FuZGJveGVkLWlmcmFtZS1yZWRpcmVjdC1pcC10by1sb2NhbGhvc3QtdG8t
aXAuaHRtbAppbmRleCAyYmYxZjg1YmE0Nzk2MjI4M2FmM2EzOGNlZThkZDcwNjg4YTA4NjJmLi40
OTg2ZWIxNDI1N2MxZjY3NDM4ZTZlNzVkM2RmZGY5YTdlY2UxM2FiIDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3Mvbm9uLXNhbmRib3hlZC1u
ZXN0aW5nLWlmcmFtZS13aXRoLW5vbi1zYW5kYm94ZWQtaWZyYW1lLXJlZGlyZWN0LWlwLXRvLWxv
Y2FsaG9zdC10by1pcC5odG1sCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VM
b2FkU3RhdGlzdGljcy9ub24tc2FuZGJveGVkLW5lc3RpbmctaWZyYW1lLXdpdGgtbm9uLXNhbmRi
b3hlZC1pZnJhbWUtcmVkaXJlY3QtaXAtdG8tbG9jYWxob3N0LXRvLWlwLmh0bWwKQEAgLTQxLDcg
KzQxLDYgQEAKIAogICAgICAgICBpZiAodGVzdFJ1bm5lcikgewogICAgICAgICAgICAgc2V0RW5h
YmxlRmVhdHVyZSh0cnVlLCBmdW5jdGlvbigpIHsKLSAgICAgICAgICAgICAgICB0ZXN0UnVubmVy
LnNldFN0YXRpc3RpY3NOb3RpZnlQYWdlc1doZW5EYXRhUmVjb3Jkc1dlcmVTY2FubmVkKHRydWUp
OwogICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIuaW5zdGFsbFN0YXRpc3RpY3NEaWRTY2FuRGF0
YVJlY29yZHNDYWxsYmFjayhjaGVja1N0YXRzKTsKICAgICAgICAgICAgIH0pOwogICAgICAgICB9
CkBAIC01MSw0ICs1MCw0IEBACiA8aWZyYW1lIHNyYz0iaHR0cDovLzEyNy4wLjAuMTo4MDAwL3Jl
c291cmNlTG9hZFN0YXRpc3RpY3MvcmVzb3VyY2VzL3BhZ2Utd2l0aC1ub24tc2FuZGJveGVkLWlm
cmFtZS1yZWRpcmVjdC1pcC10by1sb2NhbGhvc3QtdG8taXAuaHRtbCI+CiA8L2lmcmFtZT4KIDwv
Ym9keT4KLTwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3Mvbm9u
LXNhbmRib3hlZC1uZXN0aW5nLWlmcmFtZS13aXRoLW5vbi1zYW5kYm94ZWQtaWZyYW1lLXJlZGly
ZWN0LWxvY2FsaG9zdC10by1pcC10by1sb2NhbGhvc3QtZGF0YWJhc2UuaHRtbCBiL0xheW91dFRl
c3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9ub24tc2FuZGJveGVkLW5lc3Rp
bmctaWZyYW1lLXdpdGgtbm9uLXNhbmRib3hlZC1pZnJhbWUtcmVkaXJlY3QtbG9jYWxob3N0LXRv
LWlwLXRvLWxvY2FsaG9zdC1kYXRhYmFzZS5odG1sCmluZGV4IDMxZTMzZjY2N2RhMzU5ZjNhODJi
ZjNjMGMzMTBkMzRlYzM3NWIzNGMuLjcwNTQ2NTdiOGVkMjc1ZmZjYWU0MmIxMmE3NjFmODFkMjM3
ZDEwNjUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3Rh
dGlzdGljcy9ub24tc2FuZGJveGVkLW5lc3RpbmctaWZyYW1lLXdpdGgtbm9uLXNhbmRib3hlZC1p
ZnJhbWUtcmVkaXJlY3QtbG9jYWxob3N0LXRvLWlwLXRvLWxvY2FsaG9zdC1kYXRhYmFzZS5odG1s
CisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9ub24t
c2FuZGJveGVkLW5lc3RpbmctaWZyYW1lLXdpdGgtbm9uLXNhbmRib3hlZC1pZnJhbWUtcmVkaXJl
Y3QtbG9jYWxob3N0LXRvLWlwLXRvLWxvY2FsaG9zdC1kYXRhYmFzZS5odG1sCkBAIC00Miw3ICs0
Miw2IEBACiAgICAgICAgIGlmICh0ZXN0UnVubmVyKSB7CiAgICAgICAgICAgICB0ZXN0UnVubmVy
LnNldFVzZUlUUERhdGFiYXNlKHRydWUpOwogICAgICAgICAgICAgc2V0RW5hYmxlRmVhdHVyZSh0
cnVlLCBmdW5jdGlvbigpIHsKLSAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLnNldFN0YXRpc3Rp
Y3NOb3RpZnlQYWdlc1doZW5EYXRhUmVjb3Jkc1dlcmVTY2FubmVkKHRydWUpOwogICAgICAgICAg
ICAgICAgIHRlc3RSdW5uZXIuaW5zdGFsbFN0YXRpc3RpY3NEaWRTY2FuRGF0YVJlY29yZHNDYWxs
YmFjayhjaGVja1N0YXRzKTsKICAgICAgICAgICAgIH0pOwogICAgICAgICB9CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3Mvbm9uLXNhbmRi
b3hlZC1uZXN0aW5nLWlmcmFtZS13aXRoLW5vbi1zYW5kYm94ZWQtaWZyYW1lLXJlZGlyZWN0LWxv
Y2FsaG9zdC10by1pcC10by1sb2NhbGhvc3QuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMv
cmVzb3VyY2VMb2FkU3RhdGlzdGljcy9ub24tc2FuZGJveGVkLW5lc3RpbmctaWZyYW1lLXdpdGgt
bm9uLXNhbmRib3hlZC1pZnJhbWUtcmVkaXJlY3QtbG9jYWxob3N0LXRvLWlwLXRvLWxvY2FsaG9z
dC5odG1sCmluZGV4IDAwMDc4NWZiN2U3MzUzYTU3ZjAyMjY4NWM5ZjY4MjAyNmEzZTFlZDguLjQ2
Y2VhYjA2ZjZiN2RjNjM2MmIwMWZkMDRhNGNmZWMxNjBlNGU3ZjcgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9ub24tc2FuZGJveGVkLW5l
c3RpbmctaWZyYW1lLXdpdGgtbm9uLXNhbmRib3hlZC1pZnJhbWUtcmVkaXJlY3QtbG9jYWxob3N0
LXRvLWlwLXRvLWxvY2FsaG9zdC5odG1sCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVz
b3VyY2VMb2FkU3RhdGlzdGljcy9ub24tc2FuZGJveGVkLW5lc3RpbmctaWZyYW1lLXdpdGgtbm9u
LXNhbmRib3hlZC1pZnJhbWUtcmVkaXJlY3QtbG9jYWxob3N0LXRvLWlwLXRvLWxvY2FsaG9zdC5o
dG1sCkBAIC00MSw3ICs0MSw2IEBACiAKICAgICAgICAgaWYgKHRlc3RSdW5uZXIpIHsKICAgICAg
ICAgICAgIHNldEVuYWJsZUZlYXR1cmUodHJ1ZSwgZnVuY3Rpb24oKSB7Ci0gICAgICAgICAgICAg
ICAgdGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNzTm90aWZ5UGFnZXNXaGVuRGF0YVJlY29yZHNXZXJl
U2Nhbm5lZCh0cnVlKTsKICAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLmluc3RhbGxTdGF0aXN0
aWNzRGlkU2NhbkRhdGFSZWNvcmRzQ2FsbGJhY2soY2hlY2tTdGF0cyk7CiAgICAgICAgICAgICB9
KTsKICAgICAgICAgfQpAQCAtNTEsNCArNTAsNCBAQAogPGlmcmFtZSBzcmM9Imh0dHA6Ly8xMjcu
MC4wLjE6ODAwMC9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3Jlc291cmNlcy9wYWdlLXdpdGgtbm9u
LXNhbmRib3hlZC1pZnJhbWUtcmVkaXJlY3QtbG9jYWxob3N0LXRvLWlwLXRvLWxvY2FsaG9zdC5o
dG1sIj4KIDwvaWZyYW1lPgogPC9ib2R5PgotPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9m
IGZpbGUKKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3Vy
Y2VMb2FkU3RhdGlzdGljcy9ub24tc2FuZGJveGVkLW5lc3RpbmctaWZyYW1lLXdpdGgtc2FuZGJv
eGVkLWlmcmFtZS1yZWRpcmVjdC1pcC10by1sb2NhbGhvc3QtdG8taXAtZGF0YWJhc2UuaHRtbCBi
L0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9ub24tc2FuZGJv
eGVkLW5lc3RpbmctaWZyYW1lLXdpdGgtc2FuZGJveGVkLWlmcmFtZS1yZWRpcmVjdC1pcC10by1s
b2NhbGhvc3QtdG8taXAtZGF0YWJhc2UuaHRtbAppbmRleCA5NzM4ZWEzYjU5YTBhNzA3NDNkMzQ1
ZGYwNTJlYTYyOWQyZjZiOTNkLi5lZDJhYWU0NGJiYjI4ZjdiODVmOGZiYWNkYTgxZjk3ODFlNmU3
ZjY3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRp
c3RpY3Mvbm9uLXNhbmRib3hlZC1uZXN0aW5nLWlmcmFtZS13aXRoLXNhbmRib3hlZC1pZnJhbWUt
cmVkaXJlY3QtaXAtdG8tbG9jYWxob3N0LXRvLWlwLWRhdGFiYXNlLmh0bWwKKysrIGIvTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL25vbi1zYW5kYm94ZWQtbmVz
dGluZy1pZnJhbWUtd2l0aC1zYW5kYm94ZWQtaWZyYW1lLXJlZGlyZWN0LWlwLXRvLWxvY2FsaG9z
dC10by1pcC1kYXRhYmFzZS5odG1sCkBAIC00Miw3ICs0Miw2IEBACiAgICAgICAgIGlmICh0ZXN0
UnVubmVyKSB7CiAgICAgICAgICAgICB0ZXN0UnVubmVyLnNldFVzZUlUUERhdGFiYXNlKHRydWUp
OwogICAgICAgICAgICAgc2V0RW5hYmxlRmVhdHVyZSh0cnVlLCBmdW5jdGlvbigpIHsKLSAgICAg
ICAgICAgICAgICB0ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NOb3RpZnlQYWdlc1doZW5EYXRhUmVj
b3Jkc1dlcmVTY2FubmVkKHRydWUpOwogICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIuaW5zdGFs
bFN0YXRpc3RpY3NEaWRTY2FuRGF0YVJlY29yZHNDYWxsYmFjayhjaGVja1N0YXRzKTsKICAgICAg
ICAgICAgIH0pOwogICAgICAgICB9CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L3Jlc291cmNlTG9hZFN0YXRpc3RpY3Mvbm9uLXNhbmRib3hlZC1uZXN0aW5nLWlmcmFtZS13aXRo
LXNhbmRib3hlZC1pZnJhbWUtcmVkaXJlY3QtaXAtdG8tbG9jYWxob3N0LXRvLWlwLmh0bWwgYi9M
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3Mvbm9uLXNhbmRib3hl
ZC1uZXN0aW5nLWlmcmFtZS13aXRoLXNhbmRib3hlZC1pZnJhbWUtcmVkaXJlY3QtaXAtdG8tbG9j
YWxob3N0LXRvLWlwLmh0bWwKaW5kZXggYTc2NDBmMzEzYmQ4YzIzMjkyMDI0YTBkZDIwYWU3ZGY5
NTU0OTcyOC4uYjA2YjVlYzFmYzQzNDc2YWY4ZDE0NDhiZTk3OTUxNTE3MjcyOTgzMSAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL25vbi1z
YW5kYm94ZWQtbmVzdGluZy1pZnJhbWUtd2l0aC1zYW5kYm94ZWQtaWZyYW1lLXJlZGlyZWN0LWlw
LXRvLWxvY2FsaG9zdC10by1pcC5odG1sCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVz
b3VyY2VMb2FkU3RhdGlzdGljcy9ub24tc2FuZGJveGVkLW5lc3RpbmctaWZyYW1lLXdpdGgtc2Fu
ZGJveGVkLWlmcmFtZS1yZWRpcmVjdC1pcC10by1sb2NhbGhvc3QtdG8taXAuaHRtbApAQCAtNDEs
NyArNDEsNiBAQAogCiAgICAgICAgIGlmICh0ZXN0UnVubmVyKSB7CiAgICAgICAgICAgICBzZXRF
bmFibGVGZWF0dXJlKHRydWUsIGZ1bmN0aW9uKCkgewotICAgICAgICAgICAgICAgIHRlc3RSdW5u
ZXIuc2V0U3RhdGlzdGljc05vdGlmeVBhZ2VzV2hlbkRhdGFSZWNvcmRzV2VyZVNjYW5uZWQodHJ1
ZSk7CiAgICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5pbnN0YWxsU3RhdGlzdGljc0RpZFNjYW5E
YXRhUmVjb3Jkc0NhbGxiYWNrKGNoZWNrU3RhdHMpOwogICAgICAgICAgICAgfSk7CiAgICAgICAg
IH0KQEAgLTUxLDQgKzUwLDQgQEAKIDxpZnJhbWUgc3JjPSJodHRwOi8vMTI3LjAuMC4xOjgwMDAv
cmVzb3VyY2VMb2FkU3RhdGlzdGljcy9yZXNvdXJjZXMvcGFnZS13aXRoLXNhbmRib3hlZC1pZnJh
bWUtcmVkaXJlY3QtaXAtdG8tbG9jYWxob3N0LXRvLWlwLmh0bWwiPgogPC9pZnJhbWU+CiA8L2Jv
ZHk+Ci08L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQorPC9odG1sPgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL25vbi1z
YW5kYm94ZWQtbmVzdGluZy1pZnJhbWUtd2l0aC1zYW5kYm94ZWQtaWZyYW1lLXJlZGlyZWN0LWxv
Y2FsaG9zdC10by1pcC10by1sb2NhbGhvc3QtZGF0YWJhc2UuaHRtbCBiL0xheW91dFRlc3RzL2h0
dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9ub24tc2FuZGJveGVkLW5lc3RpbmctaWZy
YW1lLXdpdGgtc2FuZGJveGVkLWlmcmFtZS1yZWRpcmVjdC1sb2NhbGhvc3QtdG8taXAtdG8tbG9j
YWxob3N0LWRhdGFiYXNlLmh0bWwKaW5kZXggNTdmYWYwMGE4ZmQ3MmYxNDRlYWFlZWU0YTdkMmQw
Y2I0OWI4ZDk5NS4uMDVjYjNkM2I5YTA3N2Y2MzViMTkyZjkyY2YyZGJlMjI0NDg1NWU5NCAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL25v
bi1zYW5kYm94ZWQtbmVzdGluZy1pZnJhbWUtd2l0aC1zYW5kYm94ZWQtaWZyYW1lLXJlZGlyZWN0
LWxvY2FsaG9zdC10by1pcC10by1sb2NhbGhvc3QtZGF0YWJhc2UuaHRtbAorKysgYi9MYXlvdXRU
ZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3Mvbm9uLXNhbmRib3hlZC1uZXN0
aW5nLWlmcmFtZS13aXRoLXNhbmRib3hlZC1pZnJhbWUtcmVkaXJlY3QtbG9jYWxob3N0LXRvLWlw
LXRvLWxvY2FsaG9zdC1kYXRhYmFzZS5odG1sCkBAIC00Miw3ICs0Miw2IEBACiAgICAgICAgIGlm
ICh0ZXN0UnVubmVyKSB7CiAgICAgICAgICAgICB0ZXN0UnVubmVyLnNldFVzZUlUUERhdGFiYXNl
KHRydWUpOwogICAgICAgICAgICAgc2V0RW5hYmxlRmVhdHVyZSh0cnVlLCBmdW5jdGlvbigpIHsK
LSAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NOb3RpZnlQYWdlc1doZW5E
YXRhUmVjb3Jkc1dlcmVTY2FubmVkKHRydWUpOwogICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIu
aW5zdGFsbFN0YXRpc3RpY3NEaWRTY2FuRGF0YVJlY29yZHNDYWxsYmFjayhjaGVja1N0YXRzKTsK
ICAgICAgICAgICAgIH0pOwogICAgICAgICB9CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3Mvbm9uLXNhbmRib3hlZC1uZXN0aW5nLWlmcmFt
ZS13aXRoLXNhbmRib3hlZC1pZnJhbWUtcmVkaXJlY3QtbG9jYWxob3N0LXRvLWlwLXRvLWxvY2Fs
aG9zdC5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNz
L25vbi1zYW5kYm94ZWQtbmVzdGluZy1pZnJhbWUtd2l0aC1zYW5kYm94ZWQtaWZyYW1lLXJlZGly
ZWN0LWxvY2FsaG9zdC10by1pcC10by1sb2NhbGhvc3QuaHRtbAppbmRleCBiYTk2NWI5N2MwZjFh
ZDJkYjExMTE1N2IzYzJlNDY5NTI1NDhiODFlLi5iOTE3Y2NmOTg1ODNmYThlMTIxNjA4MTQ0MWEx
NTQ3ZDI1NDZlYzNhIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNl
TG9hZFN0YXRpc3RpY3Mvbm9uLXNhbmRib3hlZC1uZXN0aW5nLWlmcmFtZS13aXRoLXNhbmRib3hl
ZC1pZnJhbWUtcmVkaXJlY3QtbG9jYWxob3N0LXRvLWlwLXRvLWxvY2FsaG9zdC5odG1sCisrKyBi
L0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9ub24tc2FuZGJv
eGVkLW5lc3RpbmctaWZyYW1lLXdpdGgtc2FuZGJveGVkLWlmcmFtZS1yZWRpcmVjdC1sb2NhbGhv
c3QtdG8taXAtdG8tbG9jYWxob3N0Lmh0bWwKQEAgLTQxLDcgKzQxLDYgQEAKIAogICAgICAgICBp
ZiAodGVzdFJ1bm5lcikgewogICAgICAgICAgICAgc2V0RW5hYmxlRmVhdHVyZSh0cnVlLCBmdW5j
dGlvbigpIHsKLSAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NOb3RpZnlQ
YWdlc1doZW5EYXRhUmVjb3Jkc1dlcmVTY2FubmVkKHRydWUpOwogICAgICAgICAgICAgICAgIHRl
c3RSdW5uZXIuaW5zdGFsbFN0YXRpc3RpY3NEaWRTY2FuRGF0YVJlY29yZHNDYWxsYmFjayhjaGVj
a1N0YXRzKTsKICAgICAgICAgICAgIH0pOwogICAgICAgICB9CkBAIC01MSw0ICs1MCw0IEBACiA8
aWZyYW1lIHNyYz0iaHR0cDovLzEyNy4wLjAuMTo4MDAwL3Jlc291cmNlTG9hZFN0YXRpc3RpY3Mv
cmVzb3VyY2VzL3BhZ2Utd2l0aC1zYW5kYm94ZWQtaWZyYW1lLXJlZGlyZWN0LWxvY2FsaG9zdC10
by1pcC10by1sb2NhbGhvc3QuaHRtbCI+CiA8L2lmcmFtZT4KIDwvYm9keT4KLTwvaHRtbD4KXCBO
byBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvcHJldmFsZW50LXJlc291cmNlLWhh
bmRsZWQta2V5ZG93bi1kYXRhYmFzZS5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNv
dXJjZUxvYWRTdGF0aXN0aWNzL3ByZXZhbGVudC1yZXNvdXJjZS1oYW5kbGVkLWtleWRvd24tZGF0
YWJhc2UuaHRtbAppbmRleCA3ZTU2YTUwY2NjODRmODBhMTc1ZGY0NjdmZjc4ODk0Y2U3YjUxOWZj
Li5kNTM5OTk0ZWJlYjExZGJkZGUzZWY5MDI4NTFkMzFkMDhkZjMyMDJlIDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvcHJldmFsZW50LXJl
c291cmNlLWhhbmRsZWQta2V5ZG93bi1kYXRhYmFzZS5odG1sCisrKyBiL0xheW91dFRlc3RzL2h0
dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9wcmV2YWxlbnQtcmVzb3VyY2UtaGFuZGxl
ZC1rZXlkb3duLWRhdGFiYXNlLmh0bWwKQEAgLTIsNiArMiw3IEBACiA8aHRtbD4KIDxib2R5Pgog
PHNjcmlwdCBzcmM9Ii9qcy10ZXN0LXJlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSJyZXNvdXJjZXMvdXRpbC5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0PgogZGVzY3Jp
cHRpb24oIlRlc3RzIHRoYXQgd2UgZ3JhbnQgVXNlciBJbnRlcmFjdGlvbiBjcmVkaXQgZm9yIGhh
bmRsZWQga2V5cHJlc3Nlcy4iKTsKIGpzVGVzdElzQXN5bmMgPSB0cnVlOwpAQCAtMTMsOCArMTQs
OSBAQCBvbmxvYWQgPSBmdW5jdGlvbigpIHsKIAogICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lciAm
JiB3aW5kb3cuaW50ZXJuYWxzKSB7CiAgICAgICAgIHRlc3RSdW5uZXIuc2V0VXNlSVRQRGF0YWJh
c2UodHJ1ZSk7Ci0gICAgICAgIGludGVybmFscy5zZXRSZXNvdXJjZUxvYWRTdGF0aXN0aWNzRW5h
YmxlZCh0cnVlKTsKLSAgICAgICAgdGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNzTm90aWZ5UGFnZXNX
aGVuRGF0YVJlY29yZHNXZXJlU2Nhbm5lZCh0cnVlKTsKKyAgICAgICAgc2V0RW5hYmxlRmVhdHVy
ZSh0cnVlLCBmdW5jdGlvbigpIHsKKyAgICAgICAgICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGlj
c05vdGlmeVBhZ2VzV2hlbkRhdGFSZWNvcmRzV2VyZVNjYW5uZWQodHJ1ZSk7CisgICAgICAgIH0p
OwogICAgIH0KIAogICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc1ByZXZhbGVudFJlc291cmNl
KHN0YXRpc3RpY3NVcmwsIHRydWUsIGZ1bmN0aW9uKCkgewpAQCAtMzgsOSArNDAsNyBAQCBvbmxv
YWQgPSBmdW5jdGlvbigpIHsKICAgICAgICAgICAgICAgICBzZXRUaW1lb3V0KGZ1bmN0aW9uKCkg
ewogICAgICAgICAgICAgICAgICAgICB0ZXN0RnJhbWUuc3JjID0gImFib3V0OmJsYW5rIjsKICAg
ICAgICAgICAgICAgICAgICAgc2V0VGltZW91dChmdW5jdGlvbigpIHsKLSAgICAgICAgICAgICAg
ICAgICAgICAgIHRlc3RSdW5uZXIuc3RhdGlzdGljc1Jlc2V0VG9Db25zaXN0ZW50U3RhdGUoZnVu
Y3Rpb24oKSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7Ci0g
ICAgICAgICAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgICAgICAgICAgICAgIHNldEVu
YWJsZUZlYXR1cmUoZmFsc2UsIGZpbmlzaEpTVGVzdCk7CiAgICAgICAgICAgICAgICAgICAgIH0s
IDApOwogICAgICAgICAgICAgICAgIH0sIDApOwogICAgICAgICAgICAgfSk7CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvcHJldmFsZW50
LXJlc291cmNlLWhhbmRsZWQta2V5ZG93bi5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9y
ZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3ByZXZhbGVudC1yZXNvdXJjZS1oYW5kbGVkLWtleWRvd24u
aHRtbAppbmRleCA3OTkyZjQ5N2EwMmZlMTFjODkxNzM3OTE2NWNlZWQ3NDUwMzYxYWU3Li5hODgw
MTVhMWFkZTc5MTM1MmViYjdhNWMwNTQ4YzMyOGJmNjRiMWY0IDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvcHJldmFsZW50LXJlc291cmNl
LWhhbmRsZWQta2V5ZG93bi5odG1sCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3Vy
Y2VMb2FkU3RhdGlzdGljcy9wcmV2YWxlbnQtcmVzb3VyY2UtaGFuZGxlZC1rZXlkb3duLmh0bWwK
QEAgLTIsNiArMiw3IEBACiA8aHRtbD4KIDxib2R5PgogPHNjcmlwdCBzcmM9Ii9qcy10ZXN0LXJl
c291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvdXRp
bC5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0PgogZGVzY3JpcHRpb24oIlRlc3RzIHRoYXQgd2UgZ3Jh
bnQgVXNlciBJbnRlcmFjdGlvbiBjcmVkaXQgZm9yIGhhbmRsZWQga2V5cHJlc3Nlcy4iKTsKIGpz
VGVzdElzQXN5bmMgPSB0cnVlOwpAQCAtMTIsOCArMTMsOSBAQCBvbmxvYWQgPSBmdW5jdGlvbigp
IHsKICAgICBjb25zdCB0ZXN0RnJhbWUgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgidGVzdEZy
YW1lIik7CiAKICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIgJiYgd2luZG93LmludGVybmFscykg
ewotICAgICAgICBpbnRlcm5hbHMuc2V0UmVzb3VyY2VMb2FkU3RhdGlzdGljc0VuYWJsZWQodHJ1
ZSk7Ci0gICAgICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc05vdGlmeVBhZ2VzV2hlbkRhdGFS
ZWNvcmRzV2VyZVNjYW5uZWQodHJ1ZSk7CisgICAgICAgIHNldEVuYWJsZUZlYXR1cmUodHJ1ZSwg
ZnVuY3Rpb24oKSB7CisgICAgICAgICAgICB0ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NOb3RpZnlQ
YWdlc1doZW5EYXRhUmVjb3Jkc1dlcmVTY2FubmVkKHRydWUpOworICAgICAgICB9KTsKICAgICB9
CiAKICAgICB0ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NQcmV2YWxlbnRSZXNvdXJjZShzdGF0aXN0
aWNzVXJsLCB0cnVlLCBmdW5jdGlvbigpIHsKQEAgLTM3LDkgKzM5LDcgQEAgb25sb2FkID0gZnVu
Y3Rpb24oKSB7CiAgICAgICAgICAgICAgICAgc2V0VGltZW91dChmdW5jdGlvbigpIHsKICAgICAg
ICAgICAgICAgICAgICAgdGVzdEZyYW1lLnNyYyA9ICJhYm91dDpibGFuayI7CiAgICAgICAgICAg
ICAgICAgICAgIHNldFRpbWVvdXQoZnVuY3Rpb24oKSB7Ci0gICAgICAgICAgICAgICAgICAgICAg
ICB0ZXN0UnVubmVyLnN0YXRpc3RpY3NSZXNldFRvQ29uc2lzdGVudFN0YXRlKGZ1bmN0aW9uKCkg
ewotICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOwotICAgICAgICAg
ICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICAgICAgICAgICAgICBzZXRFbmFibGVGZWF0
dXJlKGZhbHNlLCBmaW5pc2hKU1Rlc3QpOwogICAgICAgICAgICAgICAgICAgICB9LCAwKTsKICAg
ICAgICAgICAgICAgICB9LCAwKTsKICAgICAgICAgICAgIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3ByZXZhbGVudC1yZXNvdXJj
ZS11bmhhbmRsZWQta2V5ZG93bi1kYXRhYmFzZS5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0
cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3ByZXZhbGVudC1yZXNvdXJjZS11bmhhbmRsZWQta2V5
ZG93bi1kYXRhYmFzZS5odG1sCmluZGV4IDVhY2RlYjI4ZTRjY2I3MTI4MjUzMjE3YmE4ODE5ZWE3
ZWE2ZmIyZmQuLjQ5MTNhM2Q2M2RiMzU5ZjY2YmFiN2Y5NzE2M2FlN2JiNDY1MDE5NmYgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9wcmV2
YWxlbnQtcmVzb3VyY2UtdW5oYW5kbGVkLWtleWRvd24tZGF0YWJhc2UuaHRtbAorKysgYi9MYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvcHJldmFsZW50LXJlc291
cmNlLXVuaGFuZGxlZC1rZXlkb3duLWRhdGFiYXNlLmh0bWwKQEAgLTIsNiArMiw3IEBACiA8aHRt
bD4KIDxib2R5PgogPHNjcmlwdCBzcmM9Ii9qcy10ZXN0LXJlc291cmNlcy9qcy10ZXN0LmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvdXRpbC5qcyI+PC9zY3JpcHQ+CiA8c2Ny
aXB0PgogZGVzY3JpcHRpb24oIlRlc3RzIHRoYXQgd2UgZG8gbm90IGdyYW50IFVzZXIgSW50ZXJh
Y3Rpb24gY3JlZGl0IGZvciB1bmhhbmRsZWQga2V5cHJlc3MuIik7CiBqc1Rlc3RJc0FzeW5jID0g
dHJ1ZTsKQEAgLTEzLDggKzE0LDkgQEAgb25sb2FkID0gZnVuY3Rpb24oKSB7CiAKICAgICBpZiAo
d2luZG93LnRlc3RSdW5uZXIgJiYgd2luZG93LmludGVybmFscykgewogICAgICAgICB0ZXN0UnVu
bmVyLnNldFVzZUlUUERhdGFiYXNlKHRydWUpOwotICAgICAgICBpbnRlcm5hbHMuc2V0UmVzb3Vy
Y2VMb2FkU3RhdGlzdGljc0VuYWJsZWQodHJ1ZSk7Ci0gICAgICAgIHRlc3RSdW5uZXIuc2V0U3Rh
dGlzdGljc05vdGlmeVBhZ2VzV2hlbkRhdGFSZWNvcmRzV2VyZVNjYW5uZWQodHJ1ZSk7CisgICAg
ICAgIHNldEVuYWJsZUZlYXR1cmUodHJ1ZSwgZnVuY3Rpb24oKSB7CisgICAgICAgICAgICB0ZXN0
UnVubmVyLnNldFN0YXRpc3RpY3NOb3RpZnlQYWdlc1doZW5EYXRhUmVjb3Jkc1dlcmVTY2FubmVk
KHRydWUpOworICAgICAgICB9KTsKICAgICB9CiAKICAgICB0ZXN0UnVubmVyLnNldFN0YXRpc3Rp
Y3NQcmV2YWxlbnRSZXNvdXJjZShzdGF0aXN0aWNzVXJsLCB0cnVlLCBmdW5jdGlvbigpIHsKQEAg
LTMzLDkgKzM1LDcgQEAgb25sb2FkID0gZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgICAgc2V0
VGltZW91dChmdW5jdGlvbigpIHsKICAgICAgICAgICAgICAgICAgICAgdGVzdEZyYW1lLnNyYyA9
ICJhYm91dDpibGFuayI7CiAgICAgICAgICAgICAgICAgICAgIHNldFRpbWVvdXQoZnVuY3Rpb24o
KSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLnN0YXRpc3RpY3NSZXNldFRv
Q29uc2lzdGVudFN0YXRlKGZ1bmN0aW9uKCkgewotICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGZpbmlzaEpTVGVzdCgpOwotICAgICAgICAgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAg
ICAgICAgICAgICAgICBzZXRFbmFibGVGZWF0dXJlKGZhbHNlLCBmaW5pc2hKU1Rlc3QpOwogICAg
ICAgICAgICAgICAgICAgICB9LCAwKTsKICAgICAgICAgICAgICAgICB9LCAwKTsKICAgICAgICAg
ICAgIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRT
dGF0aXN0aWNzL3ByZXZhbGVudC1yZXNvdXJjZS11bmhhbmRsZWQta2V5ZG93bi5odG1sIGIvTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3ByZXZhbGVudC1yZXNv
dXJjZS11bmhhbmRsZWQta2V5ZG93bi5odG1sCmluZGV4IGIyMzViNjU0NDlkY2ZiYjcwZWM5Yzg0
YTcyYjMxYjU3ODI0YjllM2MuLjhjMGYxMDIwMmQ5MzZlZGJlZGRkM2ZmNGFkZmY1NjAxNWE4NjU1
YjAgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlz
dGljcy9wcmV2YWxlbnQtcmVzb3VyY2UtdW5oYW5kbGVkLWtleWRvd24uaHRtbAorKysgYi9MYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvcHJldmFsZW50LXJlc291
cmNlLXVuaGFuZGxlZC1rZXlkb3duLmh0bWwKQEAgLTIsNiArMiw3IEBACiA8aHRtbD4KIDxib2R5
PgogPHNjcmlwdCBzcmM9Ii9qcy10ZXN0LXJlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvdXRpbC5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0PgogZGVz
Y3JpcHRpb24oIlRlc3RzIHRoYXQgd2UgZG8gbm90IGdyYW50IFVzZXIgSW50ZXJhY3Rpb24gY3Jl
ZGl0IGZvciB1bmhhbmRsZWQga2V5cHJlc3MuIik7CiBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKQEAg
LTEyLDggKzEzLDkgQEAgb25sb2FkID0gZnVuY3Rpb24oKSB7CiAgICAgY29uc3QgdGVzdEZyYW1l
ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInRlc3RGcmFtZSIpOwogCiAgICAgaWYgKHdpbmRv
dy50ZXN0UnVubmVyICYmIHdpbmRvdy5pbnRlcm5hbHMpIHsKLSAgICAgICAgaW50ZXJuYWxzLnNl
dFJlc291cmNlTG9hZFN0YXRpc3RpY3NFbmFibGVkKHRydWUpOwotICAgICAgICB0ZXN0UnVubmVy
LnNldFN0YXRpc3RpY3NOb3RpZnlQYWdlc1doZW5EYXRhUmVjb3Jkc1dlcmVTY2FubmVkKHRydWUp
OworICAgICAgICBzZXRFbmFibGVGZWF0dXJlKHRydWUsIGZ1bmN0aW9uKCkgeworICAgICAgICAg
ICAgdGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNzTm90aWZ5UGFnZXNXaGVuRGF0YVJlY29yZHNXZXJl
U2Nhbm5lZCh0cnVlKTsKKyAgICAgICAgfSk7CiAgICAgfQogCiAgICAgdGVzdFJ1bm5lci5zZXRT
dGF0aXN0aWNzUHJldmFsZW50UmVzb3VyY2Uoc3RhdGlzdGljc1VybCwgdHJ1ZSwgZnVuY3Rpb24o
KSB7CkBAIC0zMiw5ICszNCw3IEBAIG9ubG9hZCA9IGZ1bmN0aW9uKCkgewogICAgICAgICAgICAg
ICAgIHNldFRpbWVvdXQoZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgICAgICAgIHRlc3RGcmFt
ZS5zcmMgPSAiYWJvdXQ6YmxhbmsiOwogICAgICAgICAgICAgICAgICAgICBzZXRUaW1lb3V0KGZ1
bmN0aW9uKCkgewotICAgICAgICAgICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5zdGF0aXN0aWNz
UmVzZXRUb0NvbnNpc3RlbnRTdGF0ZShmdW5jdGlvbigpIHsKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKLSAgICAgICAgICAgICAgICAgICAgICAgIH0pOworICAg
ICAgICAgICAgICAgICAgICAgICAgc2V0RW5hYmxlRmVhdHVyZShmYWxzZSwgZmluaXNoSlNUZXN0
KTsKICAgICAgICAgICAgICAgICAgICAgfSwgMCk7CiAgICAgICAgICAgICAgICAgfSwgMCk7CiAg
ICAgICAgICAgICB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3Vy
Y2VMb2FkU3RhdGlzdGljcy9wcmV2YWxlbnQtcmVzb3VyY2Utd2l0aC11c2VyLWludGVyYWN0aW9u
LWRhdGFiYXNlLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRp
c3RpY3MvcHJldmFsZW50LXJlc291cmNlLXdpdGgtdXNlci1pbnRlcmFjdGlvbi1kYXRhYmFzZS5o
dG1sCmluZGV4IGVjMTNhNTAyNzRjNmRkOTRiZmU4YTE2NDU5YzRjYmFiOGE5MGU5MGMuLjBkMjI4
ZjMxNDllMWI4NmI1ZWMzZGI5NTQzYWY2NzE5MmE4OTAwMWEgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9wcmV2YWxlbnQtcmVzb3VyY2Ut
d2l0aC11c2VyLWludGVyYWN0aW9uLWRhdGFiYXNlLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3ByZXZhbGVudC1yZXNvdXJjZS13aXRoLXVz
ZXItaW50ZXJhY3Rpb24tZGF0YWJhc2UuaHRtbApAQCAtNTcsNiArNTcsNyBAQAogICAgICAgICBp
ZiAoZG9jdW1lbnQubG9jYXRpb24uaG9zdCA9PT0gaG9zdFVuZGVyVGVzdCAmJiB3aW5kb3cudGVz
dFJ1bm5lciAmJiB3aW5kb3cuaW50ZXJuYWxzKSB7CiAgICAgICAgICAgICB0ZXN0UnVubmVyLnNl
dFVzZUlUUERhdGFiYXNlKHRydWUpOwogICAgICAgICAgICAgc2V0RW5hYmxlRmVhdHVyZSh0cnVl
LCBmdW5jdGlvbiAoKSB7CisgICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNz
Tm90aWZ5UGFnZXNXaGVuRGF0YVJlY29yZHNXZXJlU2Nhbm5lZCh0cnVlKTsKICAgICAgICAgICAg
ICAgICBydW5UZXN0UnVubmVyVGVzdCgpOwogICAgICAgICAgICAgfSk7CiAgICAgICAgIH0gZWxz
ZSB7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRp
c3RpY3MvcHJldmFsZW50LXJlc291cmNlLXdpdGgtdXNlci1pbnRlcmFjdGlvbi10aW1lb3V0LWRh
dGFiYXNlLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3Rp
Y3MvcHJldmFsZW50LXJlc291cmNlLXdpdGgtdXNlci1pbnRlcmFjdGlvbi10aW1lb3V0LWRhdGFi
YXNlLmh0bWwKaW5kZXggYjIwODk3MDVkMjc4ZWFhMjIxMjY4NTZkMWQ2ZDA5OWE1OWEwYTdiNy4u
MTI2ODIwMTkwMTA2NDM1NzY2NjZiZTA3YTdkMmFkOWQ3MWI5MDg0MSAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3ByZXZhbGVudC1yZXNv
dXJjZS13aXRoLXVzZXItaW50ZXJhY3Rpb24tdGltZW91dC1kYXRhYmFzZS5odG1sCisrKyBiL0xh
eW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9wcmV2YWxlbnQtcmVz
b3VyY2Utd2l0aC11c2VyLWludGVyYWN0aW9uLXRpbWVvdXQtZGF0YWJhc2UuaHRtbApAQCAtNCw2
ICs0LDcgQEAKICAgICA8bWV0YSBjaGFyc2V0PSJVVEYtOCI+CiAgICAgPHRpdGxlPlRlc3RzIGZv
ciBQcmV2YWxlbnQgUmVzb3VyY2UgV2l0aCBVc2VyIEludGVyYWN0aW9uIFRpbWVvdXQ8L3RpdGxl
PgogICAgIDxzY3JpcHQgc3JjPSIvanMtdGVzdC1yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3Jp
cHQ+CisgICAgPHNjcmlwdCBzcmM9InJlc291cmNlcy91dGlsLmpzIj48L3NjcmlwdD4KIDwvaGVh
ZD4KIDxib2R5PgogPHNjcmlwdD4KQEAgLTQ4LDkgKzQ5LDggQEAKICAgICBpZiAoZG9jdW1lbnQu
bG9jYXRpb24uaG9zdCA9PT0gaG9zdFVuZGVyVGVzdCAmJiB3aW5kb3cudGVzdFJ1bm5lciAmJiB3
aW5kb3cuaW50ZXJuYWxzKSB7CiAgICAgICAgIHRlc3RSdW5uZXIuc2V0VXNlSVRQRGF0YWJhc2Uo
dHJ1ZSk7CiAgICAgICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOwotICAgICAgICBpbnRl
cm5hbHMuc2V0UmVzb3VyY2VMb2FkU3RhdGlzdGljc0VuYWJsZWQodHJ1ZSk7CiAgICAgICAgIHRl
c3RSdW5uZXIuc2V0U3RhdGlzdGljc05vdGlmeVBhZ2VzV2hlbkRhdGFSZWNvcmRzV2VyZVNjYW5u
ZWQodHJ1ZSk7Ci0gICAgICAgIHJ1blRlc3RSdW5uZXJUZXN0KCk7CisgICAgICAgIHNldEVuYWJs
ZUZlYXR1cmUodHJ1ZSwgcnVuVGVzdFJ1bm5lclRlc3QpOwogICAgIH0KIDwvc2NyaXB0PgogPC9i
b2R5PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0
aXN0aWNzL3ByZXZhbGVudC1yZXNvdXJjZS13aXRoLXVzZXItaW50ZXJhY3Rpb24tdGltZW91dC5o
dG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3ByZXZh
bGVudC1yZXNvdXJjZS13aXRoLXVzZXItaW50ZXJhY3Rpb24tdGltZW91dC5odG1sCmluZGV4IDM1
MjQ5OWRjZjcyMDZjNWZiZDhkNTQ1MDcyZDQwYjIyZmNhNzg2NjQuLjM4OWE1NmQ4YjlkZmJiYTI4
YTdlMzk0MTVjYjE1ZTg2ZDY4ODY1MzAgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVz
dHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9wcmV2YWxlbnQtcmVzb3VyY2Utd2l0aC11c2VyLWlu
dGVyYWN0aW9uLXRpbWVvdXQuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291
cmNlTG9hZFN0YXRpc3RpY3MvcHJldmFsZW50LXJlc291cmNlLXdpdGgtdXNlci1pbnRlcmFjdGlv
bi10aW1lb3V0Lmh0bWwKQEAgLTQsNiArNCw3IEBACiAgICAgPG1ldGEgY2hhcnNldD0iVVRGLTgi
PgogICAgIDx0aXRsZT5UZXN0cyBmb3IgUHJldmFsZW50IFJlc291cmNlIFdpdGggVXNlciBJbnRl
cmFjdGlvbiBUaW1lb3V0PC90aXRsZT4KICAgICA8c2NyaXB0IHNyYz0iL2pzLXRlc3QtcmVzb3Vy
Y2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgIDxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvdXRp
bC5qcyI+PC9zY3JpcHQ+CiA8L2hlYWQ+CiA8Ym9keT4KIDxzY3JpcHQ+CkBAIC0zMCw4ICszMSw3
IEBACiAgICAgICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKCJDb29raWUgbm90IGRlbGV0
ZWQ6ICIgKyBkb2N1bWVudC5jb29raWUpOwogICAgICAgICAgICAgICAgICAgICBlbHNlCiAgICAg
ICAgICAgICAgICAgICAgICAgICB0ZXN0UGFzc2VkKCJDb29raWUgZGVsZXRlZC4iKTsKLSAgICAg
ICAgICAgICAgICAgICAgaW50ZXJuYWxzLnNldFJlc291cmNlTG9hZFN0YXRpc3RpY3NFbmFibGVk
KGZhbHNlKTsKLSAgICAgICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5zdGF0aXN0aWNzUmVzZXRU
b0NvbnNpc3RlbnRTdGF0ZShmdW5jdGlvbigpIHsKKyAgICAgICAgICAgICAgICAgICAgc2V0RW5h
YmxlRmVhdHVyZShmYWxzZSwgZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICB0
ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsKICAgICAgICAgICAgICAgICAgICAgfSk7CiAgICAgICAg
ICAgICAgICAgfSk7CkBAIC00Nyw5ICs0NywxMCBAQAogCiAgICAgaWYgKGRvY3VtZW50LmxvY2F0
aW9uLmhvc3QgPT09IGhvc3RVbmRlclRlc3QgJiYgd2luZG93LnRlc3RSdW5uZXIgJiYgd2luZG93
LmludGVybmFscykgewogICAgICAgICB0ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTsKLSAgICAg
ICAgaW50ZXJuYWxzLnNldFJlc291cmNlTG9hZFN0YXRpc3RpY3NFbmFibGVkKHRydWUpOwotICAg
ICAgICB0ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NOb3RpZnlQYWdlc1doZW5EYXRhUmVjb3Jkc1dl
cmVTY2FubmVkKHRydWUpOwotICAgICAgICBydW5UZXN0UnVubmVyVGVzdCgpOworICAgICAgICBz
ZXRFbmFibGVGZWF0dXJlKHRydWUsIGZ1bmN0aW9uKCkgeworICAgICAgICAgICAgdGVzdFJ1bm5l
ci5zZXRTdGF0aXN0aWNzTm90aWZ5UGFnZXNXaGVuRGF0YVJlY29yZHNXZXJlU2Nhbm5lZCh0cnVl
KTsKKyAgICAgICAgICAgIHJ1blRlc3RSdW5uZXJUZXN0KCk7CisgICAgICAgICB9KTsKICAgICB9
CiA8L3NjcmlwdD4KIDwvYm9keT4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMv
cmVzb3VyY2VMb2FkU3RhdGlzdGljcy9wcmV2YWxlbnQtcmVzb3VyY2Utd2l0aC11c2VyLWludGVy
YWN0aW9uLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3Rp
Y3MvcHJldmFsZW50LXJlc291cmNlLXdpdGgtdXNlci1pbnRlcmFjdGlvbi5odG1sCmluZGV4IDYw
NmQzYmYwZjIxMDU5NDk4YTM3NzYxZDc1NmEwZDE1MzRlNWIzM2UuLmZmNjJmMWE1YmM4N2FiNWJh
MGMxMzY5ZTUzMThmMzUzNjI0ODhjNDYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVz
dHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9wcmV2YWxlbnQtcmVzb3VyY2Utd2l0aC11c2VyLWlu
dGVyYWN0aW9uLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRT
dGF0aXN0aWNzL3ByZXZhbGVudC1yZXNvdXJjZS13aXRoLXVzZXItaW50ZXJhY3Rpb24uaHRtbApA
QCAtNTYsMTEgKzU2LDE0IEBACiAgICAgZnVuY3Rpb24gc2V0VXBBbmRSdW4oKSB7CiAgICAgICAg
IGlmIChkb2N1bWVudC5sb2NhdGlvbi5ob3N0ID09PSBob3N0VW5kZXJUZXN0ICYmIHdpbmRvdy50
ZXN0UnVubmVyICYmIHdpbmRvdy5pbnRlcm5hbHMpIHsKICAgICAgICAgICAgIHNldEVuYWJsZUZl
YXR1cmUodHJ1ZSwgZnVuY3Rpb24gKCkgeworICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIuc2V0
U3RhdGlzdGljc05vdGlmeVBhZ2VzV2hlbkRhdGFSZWNvcmRzV2VyZVNjYW5uZWQodHJ1ZSk7CiAg
ICAgICAgICAgICAgICAgcnVuVGVzdFJ1bm5lclRlc3QoKTsKICAgICAgICAgICAgIH0pOwogICAg
ICAgICB9IGVsc2UgewogICAgICAgICAgICAgdGVzdEZhaWxlZCgiV3JvbmcgaG9zdCwgbm8gdGVz
dFJ1bm5lciwgb3Igbm8gaW50ZXJuYWxzLiIpOwotICAgICAgICAgICAgdGVzdFJ1bm5lci5ub3Rp
ZnlEb25lKCk7CisgICAgICAgICAgICBzZXRFbmFibGVGZWF0dXJlKGZhbHNlLCBmdW5jdGlvbigp
IHsKKyAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsKKyAgICAgICAgICAg
IH0pOwogICAgICAgICB9CiAgICAgfQogPC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvcHJldmFsZW50LXJlc291cmNlLXdp
dGhvdXQtdXNlci1pbnRlcmFjdGlvbi1kYXRhYmFzZS5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90
ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3ByZXZhbGVudC1yZXNvdXJjZS13aXRob3V0LXVz
ZXItaW50ZXJhY3Rpb24tZGF0YWJhc2UuaHRtbAppbmRleCAyN2IwYjJhYWUzMDg0ZDRjNDdkOWVj
OWY3Y2UzMmZlNGQ0MGI5YzRhLi45YWJkYjZkMWRhMWNlNTc4NTA5NGQyNDNhNzI4NDRhNDYzMmYy
NWVlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRp
c3RpY3MvcHJldmFsZW50LXJlc291cmNlLXdpdGhvdXQtdXNlci1pbnRlcmFjdGlvbi1kYXRhYmFz
ZS5odG1sCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGlj
cy9wcmV2YWxlbnQtcmVzb3VyY2Utd2l0aG91dC11c2VyLWludGVyYWN0aW9uLWRhdGFiYXNlLmh0
bWwKQEAgLTQsNiArNCw3IEBACiAgICAgPG1ldGEgY2hhcnNldD0iVVRGLTgiPgogICAgIDx0aXRs
ZT5UZXN0cyBmb3IgUHJldmFsZW50IFJlc291cmNlIFdpdGhvdXQgVXNlciBJbnRlcmFjdGlvbjwv
dGl0bGU+CiAgICAgPHNjcmlwdCBzcmM9Ii9qcy10ZXN0LXJlc291cmNlcy9qcy10ZXN0LmpzIj48
L3NjcmlwdD4KKyAgICA8c2NyaXB0IHNyYz0icmVzb3VyY2VzL3V0aWwuanMiPjwvc2NyaXB0Pgog
PC9oZWFkPgogPGJvZHk+CiA8c2NyaXB0PgpAQCAtMTUsOCArMTYsNyBAQAogICAgICAgICAgICAg
dGVzdEZhaWxlZCgiQ29va2llIG5vdCBkZWxldGVkOiAiICsgZG9jdW1lbnQuY29va2llKTsKICAg
ICAgICAgZWxzZQogICAgICAgICAgICAgdGVzdFBhc3NlZCgiQ29va2llIGRlbGV0ZWQuIik7Ci0g
ICAgICAgIGludGVybmFscy5zZXRSZXNvdXJjZUxvYWRTdGF0aXN0aWNzRW5hYmxlZChmYWxzZSk7
Ci0gICAgICAgIHRlc3RSdW5uZXIuc3RhdGlzdGljc1Jlc2V0VG9Db25zaXN0ZW50U3RhdGUoZnVu
Y3Rpb24oKSB7CisgICAgICAgIHNldEVuYWJsZUZlYXR1cmUoZmFsc2UsIGZ1bmN0aW9uKCkgewog
ICAgICAgICAgICAgdGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7CiAgICAgICAgIH0pOwogICAgIH0K
QEAgLTQ5LDEwICs0OSwxMSBAQAogCiAgICAgaWYgKGRvY3VtZW50LmxvY2F0aW9uLmhvc3QgPT09
IGhvc3RVbmRlclRlc3QgJiYgd2luZG93LnRlc3RSdW5uZXIgJiYgd2luZG93LmludGVybmFscykg
ewogICAgICAgICB0ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTsKLSAgICAgICAgaW50ZXJuYWxz
LnNldFJlc291cmNlTG9hZFN0YXRpc3RpY3NFbmFibGVkKHRydWUpOwogICAgICAgICB0ZXN0UnVu
bmVyLnNldFVzZUlUUERhdGFiYXNlKHRydWUpOwotICAgICAgICB0ZXN0UnVubmVyLnNldFN0YXRp
c3RpY3NOb3RpZnlQYWdlc1doZW5EYXRhUmVjb3Jkc1dlcmVTY2FubmVkKHRydWUpOwotICAgICAg
ICBydW5UZXN0UnVubmVyVGVzdCgpOworICAgICAgICBzZXRFbmFibGVGZWF0dXJlKHRydWUsIGZ1
bmN0aW9uKCkgeworICAgICAgICAgICAgdGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNzTm90aWZ5UGFn
ZXNXaGVuRGF0YVJlY29yZHNXZXJlU2Nhbm5lZCh0cnVlKTsKKyAgICAgICAgICAgIHJ1blRlc3RS
dW5uZXJUZXN0KCk7CisgICAgICAgIH0pOwogICAgIH0KIDwvc2NyaXB0PgogPC9ib2R5PgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3By
ZXZhbGVudC1yZXNvdXJjZS13aXRob3V0LXVzZXItaW50ZXJhY3Rpb24uaHRtbCBiL0xheW91dFRl
c3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9wcmV2YWxlbnQtcmVzb3VyY2Ut
d2l0aG91dC11c2VyLWludGVyYWN0aW9uLmh0bWwKaW5kZXggZjIwMDMxMjRkMWVkYWY5ZDRiODFi
ZjMyOGQxNjJmN2UwN2Q0NzYxZS4uNmRmNjAwOTgyN2ZkMjU4ZDc4MmM0MjkxYTIyODM3NTYwMzYx
OTcwMiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0
aXN0aWNzL3ByZXZhbGVudC1yZXNvdXJjZS13aXRob3V0LXVzZXItaW50ZXJhY3Rpb24uaHRtbAor
KysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvcHJldmFs
ZW50LXJlc291cmNlLXdpdGhvdXQtdXNlci1pbnRlcmFjdGlvbi5odG1sCkBAIC00LDYgKzQsNyBA
QAogICAgIDxtZXRhIGNoYXJzZXQ9IlVURi04Ij4KICAgICA8dGl0bGU+VGVzdHMgZm9yIFByZXZh
bGVudCBSZXNvdXJjZSBXaXRob3V0IFVzZXIgSW50ZXJhY3Rpb248L3RpdGxlPgogICAgIDxzY3Jp
cHQgc3JjPSIvanMtdGVzdC1yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgPHNj
cmlwdCBzcmM9InJlc291cmNlcy91dGlsLmpzIj48L3NjcmlwdD4KIDwvaGVhZD4KIDxib2R5Pgog
PHNjcmlwdD4KQEAgLTE2LDcgKzE3LDcgQEAKICAgICAgICAgZWxzZQogICAgICAgICAgICAgdGVz
dFBhc3NlZCgiQ29va2llIGRlbGV0ZWQuIik7CiAgICAgICAgIGludGVybmFscy5zZXRSZXNvdXJj
ZUxvYWRTdGF0aXN0aWNzRW5hYmxlZChmYWxzZSk7Ci0gICAgICAgIHRlc3RSdW5uZXIuc3RhdGlz
dGljc1Jlc2V0VG9Db25zaXN0ZW50U3RhdGUoZnVuY3Rpb24oKSB7CisgICAgICAgIHNldEVuYWJs
ZUZlYXR1cmUoZmFsc2UsIGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgdGVzdFJ1bm5lci5ub3Rp
ZnlEb25lKCk7CiAgICAgICAgIH0pOwogICAgIH0KQEAgLTQ5LDkgKzUwLDEwIEBACiAKICAgICBp
ZiAoZG9jdW1lbnQubG9jYXRpb24uaG9zdCA9PT0gaG9zdFVuZGVyVGVzdCAmJiB3aW5kb3cudGVz
dFJ1bm5lciAmJiB3aW5kb3cuaW50ZXJuYWxzKSB7CiAgICAgICAgIHRlc3RSdW5uZXIud2FpdFVu
dGlsRG9uZSgpOwotICAgICAgICBpbnRlcm5hbHMuc2V0UmVzb3VyY2VMb2FkU3RhdGlzdGljc0Vu
YWJsZWQodHJ1ZSk7Ci0gICAgICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc05vdGlmeVBhZ2Vz
V2hlbkRhdGFSZWNvcmRzV2VyZVNjYW5uZWQodHJ1ZSk7Ci0gICAgICAgIHJ1blRlc3RSdW5uZXJU
ZXN0KCk7CisgICAgICAgIHNldEVuYWJsZUZlYXR1cmUodHJ1ZSwgZnVuY3Rpb24oKSB7CisgICAg
ICAgICAgICB0ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NOb3RpZnlQYWdlc1doZW5EYXRhUmVjb3Jk
c1dlcmVTY2FubmVkKHRydWUpOworICAgICAgICAgICAgcnVuVGVzdFJ1bm5lclRlc3QoKTsKKyAg
ICAgICAgfSk7CiAgICAgfQogPC9zY3JpcHQ+CiA8L2JvZHk+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvcHJ1bmUtc3RhdGlzdGljcy1k
YXRhYmFzZS5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0
aWNzL3BydW5lLXN0YXRpc3RpY3MtZGF0YWJhc2UuaHRtbAppbmRleCAwY2FiN2QzOTE3MWQwM2Y0
N2I0MTlkMmFkYjBjYTEzOGFkZjc4ZWI5Li4yMGIwNjRlYWI3ZmZhMzBmYzJmMWY2MjUxNDhiOTI4
NzIwMDMxMWRiIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9h
ZFN0YXRpc3RpY3MvcHJ1bmUtc3RhdGlzdGljcy1kYXRhYmFzZS5odG1sCisrKyBiL0xheW91dFRl
c3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9wcnVuZS1zdGF0aXN0aWNzLWRh
dGFiYXNlLmh0bWwKQEAgLTQsNiArNCw3IEBACiAgICAgPG1ldGEgY2hhcnNldD0iVVRGLTgiPgog
ICAgIDx0aXRsZT5UZXN0IGZvciBSZXNvdXJjZSBMb2FkIFN0YXRpc3RpY3MgUHJ1bmluZzwvdGl0
bGU+CiAgICAgPHNjcmlwdCBzcmM9Ii9qcy10ZXN0LXJlc291cmNlcy9qcy10ZXN0LmpzIj48L3Nj
cmlwdD4KKyAgICA8c2NyaXB0IHNyYz0icmVzb3VyY2VzL3V0aWwuanMiPjwvc2NyaXB0PgogPC9o
ZWFkPgogPGJvZHk+CiA8c2NyaXB0PgpAQCAtMzMsMTEgKzM0LDggQEAKICAgICAgICAgICAgICAg
ICBmYWlsZWQgPSB0cnVlOwogICAgICAgICAgICAgfQogICAgICAgICB9Ci0gICAgICAgIGlmIChm
YWlsZWQpIHsKLSAgICAgICAgICAgIHRlc3RSdW5uZXIuc3RhdGlzdGljc1Jlc2V0VG9Db25zaXN0
ZW50U3RhdGUoZnVuY3Rpb24oKSB7Ci0gICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7Ci0g
ICAgICAgICAgICB9KTsKLSAgICAgICAgfQorICAgICAgICBpZiAoZmFpbGVkKQorICAgICAgICAg
ICAgc2V0RW5hYmxlRmVhdHVyZShmYWxzZSwgZmluaXNoSlNUZXN0KTsKICAgICB9CiAKICAgICBm
dW5jdGlvbiBjaGVja0lmUHJldmFsZW50KGJlZ2luLCBlbmQsIGV4cGVjdGVkKSB7CkBAIC00OCwx
MSArNDYsOCBAQAogICAgICAgICAgICAgICAgIGZhaWxlZCA9IHRydWU7CiAgICAgICAgICAgICB9
CiAgICAgICAgIH0KLSAgICAgICAgaWYgKGZhaWxlZCkgewotICAgICAgICAgICAgdGVzdFJ1bm5l
ci5zdGF0aXN0aWNzUmVzZXRUb0NvbnNpc3RlbnRTdGF0ZShmdW5jdGlvbigpIHsKLSAgICAgICAg
ICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKLSAgICAgICAgICAgIH0pOwotICAgICAgICB9CisgICAg
ICAgIGlmIChmYWlsZWQpCisgICAgICAgICAgICBzZXRFbmFibGVGZWF0dXJlKGZhbHNlLCBmaW5p
c2hKU1Rlc3QpOwogICAgIH0KIAogICAgIGZ1bmN0aW9uIGluaXRpYWxpemVTdGF0aXN0aWNzQW5k
UnVuVGVzdHMoc3RlcCkgewpAQCAtMTI3LDExICsxMjIsOCBAQAogICAgICAgICAgICAgKytjdXJy
ZW50VGVzdDsKICAgICAgICAgICAgIHRlc3RSdW5uZXIuaW5zdGFsbFN0YXRpc3RpY3NEaWRTY2Fu
RGF0YVJlY29yZHNDYWxsYmFjayhjaGVja1N0YXRpc3RpY3NBZnRlclBydW5pbmcpOwogICAgICAg
ICAgICAgaW5pdGlhbGl6ZVN0YXRpc3RpY3NBbmRSdW5UZXN0cygxKTsKLSAgICAgICAgfSBlbHNl
IHsKLSAgICAgICAgICAgIHRlc3RSdW5uZXIuc3RhdGlzdGljc1Jlc2V0VG9Db25zaXN0ZW50U3Rh
dGUoZnVuY3Rpb24oKSB7Ci0gICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7Ci0gICAgICAg
ICAgICB9KTsKLSAgICAgICAgfQorICAgICAgICB9IGVsc2UKKyAgICAgICAgICAgIHNldEVuYWJs
ZUZlYXR1cmUoZmFsc2UsIGZpbmlzaEpTVGVzdCk7CiAgICAgfQogCiAgICAgbGV0IGZpbGxlclVy
bDsKQEAgLTE0NywxNiArMTM5LDE3IEBACiAgICAgfQogCiAgICAgaWYgKHdpbmRvdy50ZXN0UnVu
bmVyKSB7Ci0gICAgICAgICAgICB0ZXN0UnVubmVyLnNldFVzZUlUUERhdGFiYXNlKHRydWUpOwot
ICAgICAgICB0ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NTaG91bGRDbGFzc2lmeVJlc291cmNlc0Jl
Zm9yZURhdGFSZWNvcmRzUmVtb3ZhbChmYWxzZSk7Ci0gICAgICAgIHRlc3RSdW5uZXIuc2V0U3Rh
dGlzdGljc01pbmltdW1UaW1lQmV0d2VlbkRhdGFSZWNvcmRzUmVtb3ZhbCgwKTsKLSAgICAgICAg
dGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNzTm90aWZ5UGFnZXNXaGVuRGF0YVJlY29yZHNXZXJlU2Nh
bm5lZCh0cnVlKTsKLSAgICAgICAgdGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNzTWF4U3RhdGlzdGlj
c0VudHJpZXModXJsc1RvQmVQcnVuZWQubGVuZ3RoKTsKLSAgICAgICAgdGVzdFJ1bm5lci5zZXRT
dGF0aXN0aWNzUHJ1bmVFbnRyaWVzRG93blRvKHVybHNUb0JlUHJ1bmVkLmxlbmd0aCk7CisgICAg
ICAgIHRlc3RSdW5uZXIuc2V0VXNlSVRQRGF0YWJhc2UodHJ1ZSk7CisgICAgICAgIHNldEVuYWJs
ZUZlYXR1cmUodHJ1ZSwgZnVuY3Rpb24gKCkgeworICAgICAgICAgICAgdGVzdFJ1bm5lci5zZXRT
dGF0aXN0aWNzU2hvdWxkQ2xhc3NpZnlSZXNvdXJjZXNCZWZvcmVEYXRhUmVjb3Jkc1JlbW92YWwo
ZmFsc2UpOworICAgICAgICAgICAgdGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNzTWluaW11bVRpbWVC
ZXR3ZWVuRGF0YVJlY29yZHNSZW1vdmFsKDApOworICAgICAgICAgICAgdGVzdFJ1bm5lci5zZXRT
dGF0aXN0aWNzTWF4U3RhdGlzdGljc0VudHJpZXModXJsc1RvQmVQcnVuZWQubGVuZ3RoKTsKKyAg
ICAgICAgICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc1BydW5lRW50cmllc0Rvd25Ubyh1cmxz
VG9CZVBydW5lZC5sZW5ndGgpOwogCi0gICAgICAgIGN1cnJlbnRUZXN0ID0gMTsKLSAgICAgICAg
dGVzdFJ1bm5lci5pbnN0YWxsU3RhdGlzdGljc0RpZFNjYW5EYXRhUmVjb3Jkc0NhbGxiYWNrKGNo
ZWNrU3RhdGlzdGljc0FmdGVyUHJ1bmluZyk7Ci0gICAgICAgIGluaXRpYWxpemVTdGF0aXN0aWNz
QW5kUnVuVGVzdHMoMSk7CisgICAgICAgICAgICBjdXJyZW50VGVzdCA9IDE7CisgICAgICAgICAg
ICB0ZXN0UnVubmVyLmluc3RhbGxTdGF0aXN0aWNzRGlkU2NhbkRhdGFSZWNvcmRzQ2FsbGJhY2so
Y2hlY2tTdGF0aXN0aWNzQWZ0ZXJQcnVuaW5nKTsKKyAgICAgICAgICAgIGluaXRpYWxpemVTdGF0
aXN0aWNzQW5kUnVuVGVzdHMoMSk7CisgICAgICAgIH0pOwogICAgIH0KIDwvc2NyaXB0PgogPC9i
b2R5PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0
aXN0aWNzL3BydW5lLXN0YXRpc3RpY3MuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVz
b3VyY2VMb2FkU3RhdGlzdGljcy9wcnVuZS1zdGF0aXN0aWNzLmh0bWwKaW5kZXggYjUxNTIyZjcx
ZjA4N2Y5OWIzYjU0N2IyNDNkMjE4Y2ZlMTY0NjVkYi4uYTI2N2VlMWRhZTlkZmM0ODA4M2Q2ZDE4
NzY4NzZjMWI5MmZmMGMyOSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNv
dXJjZUxvYWRTdGF0aXN0aWNzL3BydW5lLXN0YXRpc3RpY3MuaHRtbAorKysgYi9MYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvcHJ1bmUtc3RhdGlzdGljcy5odG1s
CkBAIC00LDYgKzQsNyBAQAogICAgIDxtZXRhIGNoYXJzZXQ9IlVURi04Ij4KICAgICA8dGl0bGU+
VGVzdCBmb3IgUmVzb3VyY2UgTG9hZCBTdGF0aXN0aWNzIFBydW5pbmc8L3RpdGxlPgogICAgIDxz
Y3JpcHQgc3JjPSIvanMtdGVzdC1yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAg
PHNjcmlwdCBzcmM9InJlc291cmNlcy91dGlsLmpzIj48L3NjcmlwdD4KIDwvaGVhZD4KIDxib2R5
PgogPHNjcmlwdD4KQEAgLTMzLDExICszNCw4IEBACiAgICAgICAgICAgICAgICAgZmFpbGVkID0g
dHJ1ZTsKICAgICAgICAgICAgIH0KICAgICAgICAgfQotICAgICAgICBpZiAoZmFpbGVkKSB7Ci0g
ICAgICAgICAgICB0ZXN0UnVubmVyLnN0YXRpc3RpY3NSZXNldFRvQ29uc2lzdGVudFN0YXRlKGZ1
bmN0aW9uKCkgewotICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOwotICAgICAgICAgICAg
fSk7Ci0gICAgICAgIH0KKyAgICAgICAgaWYgKGZhaWxlZCkKKyAgICAgICAgICAgIHNldEVuYWJs
ZUZlYXR1cmUoZmFsc2UsIGZpbmlzaEpTVGVzdCk7CiAgICAgfQogCiAgICAgZnVuY3Rpb24gY2hl
Y2tJZlByZXZhbGVudChiZWdpbiwgZW5kLCBleHBlY3RlZCkgewpAQCAtNDgsMTEgKzQ2LDggQEAK
ICAgICAgICAgICAgICAgICBmYWlsZWQgPSB0cnVlOwogICAgICAgICAgICAgfQogICAgICAgICB9
Ci0gICAgICAgIGlmIChmYWlsZWQpIHsKLSAgICAgICAgICAgIHRlc3RSdW5uZXIuc3RhdGlzdGlj
c1Jlc2V0VG9Db25zaXN0ZW50U3RhdGUoZnVuY3Rpb24oKSB7Ci0gICAgICAgICAgICAgICAgZmlu
aXNoSlNUZXN0KCk7Ci0gICAgICAgICAgICB9KTsKLSAgICAgICAgfQorICAgICAgICBpZiAoZmFp
bGVkKQorICAgICAgICAgICAgc2V0RW5hYmxlRmVhdHVyZShmYWxzZSwgZmluaXNoSlNUZXN0KTsK
ICAgICB9CiAKICAgICBmdW5jdGlvbiBpbml0aWFsaXplU3RhdGlzdGljc0FuZFJ1blRlc3RzKHN0
ZXApIHsKQEAgLTEyNywxMSArMTIyLDkgQEAKICAgICAgICAgICAgICsrY3VycmVudFRlc3Q7CiAg
ICAgICAgICAgICB0ZXN0UnVubmVyLmluc3RhbGxTdGF0aXN0aWNzRGlkU2NhbkRhdGFSZWNvcmRz
Q2FsbGJhY2soY2hlY2tTdGF0aXN0aWNzQWZ0ZXJQcnVuaW5nKTsKICAgICAgICAgICAgIGluaXRp
YWxpemVTdGF0aXN0aWNzQW5kUnVuVGVzdHMoMSk7Ci0gICAgICAgIH0gZWxzZSB7Ci0gICAgICAg
ICAgICB0ZXN0UnVubmVyLnN0YXRpc3RpY3NSZXNldFRvQ29uc2lzdGVudFN0YXRlKGZ1bmN0aW9u
KCkgewotICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOwotICAgICAgICAgICAgfSk7Ci0g
ICAgICAgIH0KKyAgICAgICAgfSBlbHNlCisgICAgICAgICAgICBzZXRFbmFibGVGZWF0dXJlKGZh
bHNlLCBmaW5pc2hKU1Rlc3QpOworCiAgICAgfQogCiAgICAgbGV0IGZpbGxlclVybDsKQEAgLTE0
NywxNiArMTQwLDE3IEBACiAgICAgfQogCiAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7Ci0g
ICAgICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc1Nob3VsZENsYXNzaWZ5UmVzb3VyY2VzQmVm
b3JlRGF0YVJlY29yZHNSZW1vdmFsKGZhbHNlKTsKLSAgICAgICAgdGVzdFJ1bm5lci5zZXRTdGF0
aXN0aWNzTWluaW11bVRpbWVCZXR3ZWVuRGF0YVJlY29yZHNSZW1vdmFsKDApOwotICAgICAgICB0
ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NOb3RpZnlQYWdlc1doZW5EYXRhUmVjb3Jkc1dlcmVTY2Fu
bmVkKHRydWUpOwotICAgICAgICB0ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NNYXhTdGF0aXN0aWNz
RW50cmllcyh1cmxzVG9CZVBydW5lZC5sZW5ndGgpOwotICAgICAgICB0ZXN0UnVubmVyLnNldFN0
YXRpc3RpY3NQcnVuZUVudHJpZXNEb3duVG8odXJsc1RvQmVQcnVuZWQubGVuZ3RoKTsKKyAgICAg
ICAgc2V0RW5hYmxlRmVhdHVyZSh0cnVlLCBmdW5jdGlvbiAoKSB7CisgICAgICAgICAgICB0ZXN0
UnVubmVyLnNldFN0YXRpc3RpY3NTaG91bGRDbGFzc2lmeVJlc291cmNlc0JlZm9yZURhdGFSZWNv
cmRzUmVtb3ZhbChmYWxzZSk7CisgICAgICAgICAgICB0ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NN
aW5pbXVtVGltZUJldHdlZW5EYXRhUmVjb3Jkc1JlbW92YWwoMCk7CisgICAgICAgICAgICB0ZXN0
UnVubmVyLnNldFN0YXRpc3RpY3NNYXhTdGF0aXN0aWNzRW50cmllcyh1cmxzVG9CZVBydW5lZC5s
ZW5ndGgpOworICAgICAgICAgICAgdGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNzUHJ1bmVFbnRyaWVz
RG93blRvKHVybHNUb0JlUHJ1bmVkLmxlbmd0aCk7CiAKLSAgICAgICAgY3VycmVudFRlc3QgPSAx
OwotICAgICAgICB0ZXN0UnVubmVyLmluc3RhbGxTdGF0aXN0aWNzRGlkU2NhbkRhdGFSZWNvcmRz
Q2FsbGJhY2soY2hlY2tTdGF0aXN0aWNzQWZ0ZXJQcnVuaW5nKTsKLSAgICAgICAgaW5pdGlhbGl6
ZVN0YXRpc3RpY3NBbmRSdW5UZXN0cygxKTsKKyAgICAgICAgICAgIGN1cnJlbnRUZXN0ID0gMTsK
KyAgICAgICAgICAgIHRlc3RSdW5uZXIuaW5zdGFsbFN0YXRpc3RpY3NEaWRTY2FuRGF0YVJlY29y
ZHNDYWxsYmFjayhjaGVja1N0YXRpc3RpY3NBZnRlclBydW5pbmcpOworICAgICAgICAgICAgaW5p
dGlhbGl6ZVN0YXRpc3RpY3NBbmRSdW5UZXN0cygxKTsKKyAgICAgICAgfSk7CiAgICAgfQogPC9z
Y3JpcHQ+CiA8L2JvZHk+Ci08L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQorPC9o
dG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0
aXN0aWNzL3Jlc291cmNlcy91dGlsLmpzIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJj
ZUxvYWRTdGF0aXN0aWNzL3Jlc291cmNlcy91dGlsLmpzCmluZGV4IGE0NTZkMDlmZDQyZGYzMGNh
OGMwOWYwMDU0OTJkOTMxOWEzNDg1MDIuLmVmZTc5ODJjZmU3ZGE1YzlmNWJmYTY1MjdmMDM5N2Fl
NjIzMjBmZGEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2Fk
U3RhdGlzdGljcy9yZXNvdXJjZXMvdXRpbC5qcworKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvcmVzb3VyY2VzL3V0aWwuanMKQEAgLTEsNyArMSw2IEBA
CiBmdW5jdGlvbiBzZXRFbmFibGVGZWF0dXJlKGVuYWJsZSwgY29tcGxldGlvbkhhbmRsZXIpIHsK
ICAgICBpZiAodHlwZW9mIGNvbXBsZXRpb25IYW5kbGVyICE9PSAiZnVuY3Rpb24iKQogICAgICAg
ICB0ZXN0RmFpbGVkKCJzZXRFbmFibGVGZWF0dXJlKCkgcmVxdWlyZXMgYSBjb21wbGV0aW9uIGhh
bmRsZXIgZnVuY3Rpb24uIik7Ci0gICAgdGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNzTm90aWZ5UGFn
ZXNXaGVuRGF0YVJlY29yZHNXZXJlU2Nhbm5lZChlbmFibGUpOwogICAgIGlmIChlbmFibGUpIHsK
ICAgICAgICAgaW50ZXJuYWxzLnNldFJlc291cmNlTG9hZFN0YXRpc3RpY3NFbmFibGVkKHRydWUp
OwogICAgICAgICB0ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NJc1J1bm5pbmdUZXN0KHRydWUpOwpA
QCAtMTAsNiArOSw3IEBAIGZ1bmN0aW9uIHNldEVuYWJsZUZlYXR1cmUoZW5hYmxlLCBjb21wbGV0
aW9uSGFuZGxlcikgewogICAgICAgICB0ZXN0UnVubmVyLnN0YXRpc3RpY3NSZXNldFRvQ29uc2lz
dGVudFN0YXRlKGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgdGVzdFJ1bm5lci5zZXRTdGF0aXN0
aWNzSXNSdW5uaW5nVGVzdChmYWxzZSk7CiAgICAgICAgICAgICBpbnRlcm5hbHMuc2V0UmVzb3Vy
Y2VMb2FkU3RhdGlzdGljc0VuYWJsZWQoZmFsc2UpOworICAgICAgICAgICAgdGVzdFJ1bm5lci5z
ZXRTdGF0aXN0aWNzTm90aWZ5UGFnZXNXaGVuRGF0YVJlY29yZHNXZXJlU2Nhbm5lZChmYWxzZSk7
CiAgICAgICAgICAgICBjb21wbGV0aW9uSGFuZGxlcigpOwogICAgICAgICB9KTsKICAgICB9CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3Mv
c2FuZGJveGVkLWlmcmFtZS1yZWRpcmVjdC1pcC10by1sb2NhbGhvc3QtdG8taXAtZGF0YWJhc2Uu
aHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9zYW5k
Ym94ZWQtaWZyYW1lLXJlZGlyZWN0LWlwLXRvLWxvY2FsaG9zdC10by1pcC1kYXRhYmFzZS5odG1s
CmluZGV4IDY2NzExMjA1MDY4MTgzOTFjYTk2N2ZmMjRmZmZjMDU4YzkyMTlmNDEuLjI1MDc0OWQ0
OGNhMmYwNDNmZWEyYTNiMzJjZWEzMmM1YzY0ZDk3OTkgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9zYW5kYm94ZWQtaWZyYW1lLXJlZGly
ZWN0LWlwLXRvLWxvY2FsaG9zdC10by1pcC1kYXRhYmFzZS5odG1sCisrKyBiL0xheW91dFRlc3Rz
L2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9zYW5kYm94ZWQtaWZyYW1lLXJlZGly
ZWN0LWlwLXRvLWxvY2FsaG9zdC10by1pcC1kYXRhYmFzZS5odG1sCkBAIC0xNSw3ICsxNSw2IEBA
CiAgICAgICAgIGlmICh0ZXN0UnVubmVyKSB7CiAgICAgICAgICAgICB0ZXN0UnVubmVyLnNldFVz
ZUlUUERhdGFiYXNlKHRydWUpOwogICAgICAgICAgICAgc2V0RW5hYmxlRmVhdHVyZSh0cnVlLCBm
dW5jdGlvbigpIHsKLSAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NOb3Rp
ZnlQYWdlc1doZW5EYXRhUmVjb3Jkc1dlcmVTY2FubmVkKHRydWUpOwogICAgICAgICAgICAgICAg
IHRlc3RSdW5uZXIuaW5zdGFsbFN0YXRpc3RpY3NEaWRTY2FuRGF0YVJlY29yZHNDYWxsYmFjayhj
aGVja1N0YXRzKTsKICAgICAgICAgICAgIH0pOwogICAgICAgICB9CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3Mvc2FuZGJveGVkLWlmcmFt
ZS1yZWRpcmVjdC1pcC10by1sb2NhbGhvc3QtdG8taXAuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAv
dGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9zYW5kYm94ZWQtaWZyYW1lLXJlZGlyZWN0LWlw
LXRvLWxvY2FsaG9zdC10by1pcC5odG1sCmluZGV4IDg4ZTdmMzZlMWQwZTliNTZhMGIzMzhlNzBl
MGQ5YTU2ZDFmZjYwYmUuLmExOTYzOTRhYmIzYzA0NjYwODNiYjc3NDVkNGU4YWMzMWU4MGJlYjAg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGlj
cy9zYW5kYm94ZWQtaWZyYW1lLXJlZGlyZWN0LWlwLXRvLWxvY2FsaG9zdC10by1pcC5odG1sCisr
KyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9zYW5kYm94
ZWQtaWZyYW1lLXJlZGlyZWN0LWlwLXRvLWxvY2FsaG9zdC10by1pcC5odG1sCkBAIC0xNCw3ICsx
NCw2IEBACiAKICAgICAgICAgaWYgKHRlc3RSdW5uZXIpIHsKICAgICAgICAgICAgIHNldEVuYWJs
ZUZlYXR1cmUodHJ1ZSwgZnVuY3Rpb24oKSB7Ci0gICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5z
ZXRTdGF0aXN0aWNzTm90aWZ5UGFnZXNXaGVuRGF0YVJlY29yZHNXZXJlU2Nhbm5lZCh0cnVlKTsK
ICAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLmluc3RhbGxTdGF0aXN0aWNzRGlkU2NhbkRhdGFS
ZWNvcmRzQ2FsbGJhY2soY2hlY2tTdGF0cyk7CiAgICAgICAgICAgICB9KTsKICAgICAgICAgfQpA
QCAtNTEsNCArNTAsNCBAQAogPGlmcmFtZSBzYW5kYm94PSJhbGxvdy1zY3JpcHRzIiBzcmM9Imh0
dHA6Ly8xMjcuMC4wLjE6ODAwMC9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3Jlc291cmNlcy9yZWRp
cmVjdC5waHAvP3JlZGlyZWN0VG89aHR0cDovL2xvY2FsaG9zdDo4MDAwL3Jlc291cmNlTG9hZFN0
YXRpc3RpY3MvcmVzb3VyY2VzL3JlZGlyZWN0LnBocC8/cmVkaXJlY3RUbz1odHRwOi8vMTI3LjAu
MC4xOjgwMDAvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9yZXNvdXJjZXMvaWZyYW1lLXJlcG9ydC1i
YWNrLWxvYWRlZC5odG1sIj4KIDwvaWZyYW1lPgogPC9ib2R5PgotPC9odG1sPgpcIE5vIG5ld2xp
bmUgYXQgZW5kIG9mIGZpbGUKKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAv
dGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9zYW5kYm94ZWQtaWZyYW1lLXJlZGlyZWN0LWxv
Y2FsaG9zdC10by1pcC10by1sb2NhbGhvc3QtZGF0YWJhc2UuaHRtbCBiL0xheW91dFRlc3RzL2h0
dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9zYW5kYm94ZWQtaWZyYW1lLXJlZGlyZWN0
LWxvY2FsaG9zdC10by1pcC10by1sb2NhbGhvc3QtZGF0YWJhc2UuaHRtbAppbmRleCBmMDI2YmQ5
YzBjMjEyYjdlNWYxNjQ5YjU5M2I5Nzg4M2NmMzE0OGZjLi4wMmI1ZjZhNzk1YzdjZmI0NjY1MDQ0
YzBjMTRlYjhhNDRhNGQ5YmQ3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jl
c291cmNlTG9hZFN0YXRpc3RpY3Mvc2FuZGJveGVkLWlmcmFtZS1yZWRpcmVjdC1sb2NhbGhvc3Qt
dG8taXAtdG8tbG9jYWxob3N0LWRhdGFiYXNlLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90
ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3NhbmRib3hlZC1pZnJhbWUtcmVkaXJlY3QtbG9j
YWxob3N0LXRvLWlwLXRvLWxvY2FsaG9zdC1kYXRhYmFzZS5odG1sCkBAIC0xNSw3ICsxNSw2IEBA
CiAgICAgICAgIGlmICh0ZXN0UnVubmVyKSB7CiAgICAgICAgICAgICB0ZXN0UnVubmVyLnNldFVz
ZUlUUERhdGFiYXNlKHRydWUpOwogICAgICAgICAgICAgc2V0RW5hYmxlRmVhdHVyZSh0cnVlLCBm
dW5jdGlvbigpIHsKLSAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NOb3Rp
ZnlQYWdlc1doZW5EYXRhUmVjb3Jkc1dlcmVTY2FubmVkKHRydWUpOwogICAgICAgICAgICAgICAg
IHRlc3RSdW5uZXIuaW5zdGFsbFN0YXRpc3RpY3NEaWRTY2FuRGF0YVJlY29yZHNDYWxsYmFjayhj
aGVja1N0YXRzKTsKICAgICAgICAgICAgIH0pOwogICAgICAgICB9CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3Mvc2FuZGJveGVkLWlmcmFt
ZS1yZWRpcmVjdC1sb2NhbGhvc3QtdG8taXAtdG8tbG9jYWxob3N0Lmh0bWwgYi9MYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3Mvc2FuZGJveGVkLWlmcmFtZS1yZWRp
cmVjdC1sb2NhbGhvc3QtdG8taXAtdG8tbG9jYWxob3N0Lmh0bWwKaW5kZXggNjY1Y2UwZjkzNWNi
YWE1YjllYTQ2MzYzY2UzOGRmYjgwNTZjNzdmMS4uYmU3YmJlMDg0N2I5OGQ2NzA0NzA2ZGFiZTM4
Yjg5ODZjZmRmNDgyNiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJj
ZUxvYWRTdGF0aXN0aWNzL3NhbmRib3hlZC1pZnJhbWUtcmVkaXJlY3QtbG9jYWxob3N0LXRvLWlw
LXRvLWxvY2FsaG9zdC5odG1sCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VM
b2FkU3RhdGlzdGljcy9zYW5kYm94ZWQtaWZyYW1lLXJlZGlyZWN0LWxvY2FsaG9zdC10by1pcC10
by1sb2NhbGhvc3QuaHRtbApAQCAtMTQsNyArMTQsNiBAQAogCiAgICAgICAgIGlmICh0ZXN0UnVu
bmVyKSB7CiAgICAgICAgICAgICBzZXRFbmFibGVGZWF0dXJlKHRydWUsIGZ1bmN0aW9uKCkgewot
ICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc05vdGlmeVBhZ2VzV2hlbkRh
dGFSZWNvcmRzV2VyZVNjYW5uZWQodHJ1ZSk7CiAgICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5p
bnN0YWxsU3RhdGlzdGljc0RpZFNjYW5EYXRhUmVjb3Jkc0NhbGxiYWNrKGNoZWNrU3RhdHMpOwog
ICAgICAgICAgICAgfSk7CiAgICAgICAgIH0KQEAgLTUxLDQgKzUwLDQgQEAKIDxpZnJhbWUgc2Fu
ZGJveD0iYWxsb3ctc2NyaXB0cyIgc3JjPSJodHRwOi8vbG9jYWxob3N0OjgwMDAvcmVzb3VyY2VM
b2FkU3RhdGlzdGljcy9yZXNvdXJjZXMvcmVkaXJlY3QucGhwLz9yZWRpcmVjdFRvPWh0dHA6Ly8x
MjcuMC4wLjE6ODAwMC9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3Jlc291cmNlcy9yZWRpcmVjdC5w
aHAvP3JlZGlyZWN0VG89aHR0cDovL2xvY2FsaG9zdDo4MDAwL3Jlc291cmNlTG9hZFN0YXRpc3Rp
Y3MvcmVzb3VyY2VzL2lmcmFtZS1yZXBvcnQtYmFjay1sb2FkZWQuaHRtbCI+CiA8L2lmcmFtZT4K
IDwvYm9keT4KLTwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3Mv
c2FuZGJveGVkLW5lc3RpbmctaWZyYW1lLXdpdGgtbm9uLXNhbmRib3hlZC1pZnJhbWUtcmVkaXJl
Y3QtaXAtdG8tbG9jYWxob3N0LXRvLWlwLWRhdGFiYXNlLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3Mvc2FuZGJveGVkLW5lc3RpbmctaWZyYW1lLXdp
dGgtbm9uLXNhbmRib3hlZC1pZnJhbWUtcmVkaXJlY3QtaXAtdG8tbG9jYWxob3N0LXRvLWlwLWRh
dGFiYXNlLmh0bWwKaW5kZXggMDkyZDU5OTk2NGU3ZTYyZmQwNWZiMGQ3OGFlNWUyOTY2MDU3YTA2
Ni4uNjBiOGFlOWRiMjk5ZDIxMzNmNWE0MmNlYmUzMDhkNDE3NWI3MmFmNSAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3NhbmRib3hlZC1u
ZXN0aW5nLWlmcmFtZS13aXRoLW5vbi1zYW5kYm94ZWQtaWZyYW1lLXJlZGlyZWN0LWlwLXRvLWxv
Y2FsaG9zdC10by1pcC1kYXRhYmFzZS5odG1sCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMv
cmVzb3VyY2VMb2FkU3RhdGlzdGljcy9zYW5kYm94ZWQtbmVzdGluZy1pZnJhbWUtd2l0aC1ub24t
c2FuZGJveGVkLWlmcmFtZS1yZWRpcmVjdC1pcC10by1sb2NhbGhvc3QtdG8taXAtZGF0YWJhc2Uu
aHRtbApAQCAtMTUsNyArMTUsNiBAQAogICAgICAgICBpZiAodGVzdFJ1bm5lcikgewogICAgICAg
ICAgICAgdGVzdFJ1bm5lci5zZXRVc2VJVFBEYXRhYmFzZSh0cnVlKTsKICAgICAgICAgICAgIHNl
dEVuYWJsZUZlYXR1cmUodHJ1ZSwgZnVuY3Rpb24oKSB7Ci0gICAgICAgICAgICAgICAgdGVzdFJ1
bm5lci5zZXRTdGF0aXN0aWNzTm90aWZ5UGFnZXNXaGVuRGF0YVJlY29yZHNXZXJlU2Nhbm5lZCh0
cnVlKTsKICAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLmluc3RhbGxTdGF0aXN0aWNzRGlkU2Nh
bkRhdGFSZWNvcmRzQ2FsbGJhY2soY2hlY2tTdGF0cyk7CiAgICAgICAgICAgICB9KTsKICAgICAg
ICAgfQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0
aXN0aWNzL3NhbmRib3hlZC1uZXN0aW5nLWlmcmFtZS13aXRoLW5vbi1zYW5kYm94ZWQtaWZyYW1l
LXJlZGlyZWN0LWlwLXRvLWxvY2FsaG9zdC10by1pcC5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90
ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3NhbmRib3hlZC1uZXN0aW5nLWlmcmFtZS13aXRo
LW5vbi1zYW5kYm94ZWQtaWZyYW1lLXJlZGlyZWN0LWlwLXRvLWxvY2FsaG9zdC10by1pcC5odG1s
CmluZGV4IDg3N2E3ZTQ4YTNhZjRhYTM5YTAwYzYxMzQ3ODZjNWI1Nzg2ZWQwYjMuLmM4ZmQxMTgw
NjIwMWI4NjI3ZGI1MWEzYTc4YWViZDUxZTlhYmNjM2MgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9zYW5kYm94ZWQtbmVzdGluZy1pZnJh
bWUtd2l0aC1ub24tc2FuZGJveGVkLWlmcmFtZS1yZWRpcmVjdC1pcC10by1sb2NhbGhvc3QtdG8t
aXAuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3Rp
Y3Mvc2FuZGJveGVkLW5lc3RpbmctaWZyYW1lLXdpdGgtbm9uLXNhbmRib3hlZC1pZnJhbWUtcmVk
aXJlY3QtaXAtdG8tbG9jYWxob3N0LXRvLWlwLmh0bWwKQEAgLTE0LDcgKzE0LDYgQEAKIAogICAg
ICAgICBpZiAodGVzdFJ1bm5lcikgewogICAgICAgICAgICAgc2V0RW5hYmxlRmVhdHVyZSh0cnVl
LCBmdW5jdGlvbigpIHsKLSAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NO
b3RpZnlQYWdlc1doZW5EYXRhUmVjb3Jkc1dlcmVTY2FubmVkKHRydWUpOwogICAgICAgICAgICAg
ICAgIHRlc3RSdW5uZXIuaW5zdGFsbFN0YXRpc3RpY3NEaWRTY2FuRGF0YVJlY29yZHNDYWxsYmFj
ayhjaGVja1N0YXRzKTsKICAgICAgICAgICAgIH0pOwogICAgICAgICB9CkBAIC01MSw0ICs1MCw0
IEBACiA8aWZyYW1lIHNhbmRib3g9ImFsbG93LXNjcmlwdHMiIHNyYz0iaHR0cDovLzEyNy4wLjAu
MTo4MDAwL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvcmVzb3VyY2VzL3BhZ2Utd2l0aC1ub24tc2Fu
ZGJveGVkLWlmcmFtZS1yZWRpcmVjdC1pcC10by1sb2NhbGhvc3QtdG8taXAuaHRtbCI+CiA8L2lm
cmFtZT4KIDwvYm9keT4KLTwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCis8L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRp
c3RpY3Mvc2FuZGJveGVkLW5lc3RpbmctaWZyYW1lLXdpdGgtbm9uLXNhbmRib3hlZC1pZnJhbWUt
cmVkaXJlY3QtbG9jYWxob3N0LXRvLWlwLXRvLWxvY2FsaG9zdC1kYXRhYmFzZS5odG1sIGIvTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3NhbmRib3hlZC1uZXN0
aW5nLWlmcmFtZS13aXRoLW5vbi1zYW5kYm94ZWQtaWZyYW1lLXJlZGlyZWN0LWxvY2FsaG9zdC10
by1pcC10by1sb2NhbGhvc3QtZGF0YWJhc2UuaHRtbAppbmRleCBkZjg2ZmU4YzMyOTRlMjUzOTIy
YzI1ZWEzNzkyN2ZkNWM5NDM2ZmY4Li40YTQ5NjRmN2M0MjUxZjFiZDUwZDRhMzg3Y2FhZDViNTkx
MTcwMTYwIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0
YXRpc3RpY3Mvc2FuZGJveGVkLW5lc3RpbmctaWZyYW1lLXdpdGgtbm9uLXNhbmRib3hlZC1pZnJh
bWUtcmVkaXJlY3QtbG9jYWxob3N0LXRvLWlwLXRvLWxvY2FsaG9zdC1kYXRhYmFzZS5odG1sCisr
KyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9zYW5kYm94
ZWQtbmVzdGluZy1pZnJhbWUtd2l0aC1ub24tc2FuZGJveGVkLWlmcmFtZS1yZWRpcmVjdC1sb2Nh
bGhvc3QtdG8taXAtdG8tbG9jYWxob3N0LWRhdGFiYXNlLmh0bWwKQEAgLTE1LDcgKzE1LDYgQEAK
ICAgICAgICAgaWYgKHRlc3RSdW5uZXIpIHsKICAgICAgICAgICAgIHRlc3RSdW5uZXIuc2V0VXNl
SVRQRGF0YWJhc2UodHJ1ZSk7CiAgICAgICAgICAgICBzZXRFbmFibGVGZWF0dXJlKHRydWUsIGZ1
bmN0aW9uKCkgewotICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc05vdGlm
eVBhZ2VzV2hlbkRhdGFSZWNvcmRzV2VyZVNjYW5uZWQodHJ1ZSk7CiAgICAgICAgICAgICAgICAg
dGVzdFJ1bm5lci5pbnN0YWxsU3RhdGlzdGljc0RpZFNjYW5EYXRhUmVjb3Jkc0NhbGxiYWNrKGNo
ZWNrU3RhdHMpOwogICAgICAgICAgICAgfSk7CiAgICAgICAgIH0KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9zYW5kYm94ZWQtbmVzdGlu
Zy1pZnJhbWUtd2l0aC1ub24tc2FuZGJveGVkLWlmcmFtZS1yZWRpcmVjdC1sb2NhbGhvc3QtdG8t
aXAtdG8tbG9jYWxob3N0Lmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9h
ZFN0YXRpc3RpY3Mvc2FuZGJveGVkLW5lc3RpbmctaWZyYW1lLXdpdGgtbm9uLXNhbmRib3hlZC1p
ZnJhbWUtcmVkaXJlY3QtbG9jYWxob3N0LXRvLWlwLXRvLWxvY2FsaG9zdC5odG1sCmluZGV4IGFh
MmQzODM4ZjczZjk5NjY3YWFmNDM0NGE4ZmEyNDIxNGZiMzE5MzEuLmIzY2U3NDNkMThlZmY3ZGZk
ODFkNTUxMzg1MDNlMzk4Y2UzYWNhZWUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVz
dHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9zYW5kYm94ZWQtbmVzdGluZy1pZnJhbWUtd2l0aC1u
b24tc2FuZGJveGVkLWlmcmFtZS1yZWRpcmVjdC1sb2NhbGhvc3QtdG8taXAtdG8tbG9jYWxob3N0
Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNz
L3NhbmRib3hlZC1uZXN0aW5nLWlmcmFtZS13aXRoLW5vbi1zYW5kYm94ZWQtaWZyYW1lLXJlZGly
ZWN0LWxvY2FsaG9zdC10by1pcC10by1sb2NhbGhvc3QuaHRtbApAQCAtMTQsNyArMTQsNiBAQAog
CiAgICAgICAgIGlmICh0ZXN0UnVubmVyKSB7CiAgICAgICAgICAgICBzZXRFbmFibGVGZWF0dXJl
KHRydWUsIGZ1bmN0aW9uKCkgewotICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlz
dGljc05vdGlmeVBhZ2VzV2hlbkRhdGFSZWNvcmRzV2VyZVNjYW5uZWQodHJ1ZSk7CiAgICAgICAg
ICAgICAgICAgdGVzdFJ1bm5lci5pbnN0YWxsU3RhdGlzdGljc0RpZFNjYW5EYXRhUmVjb3Jkc0Nh
bGxiYWNrKGNoZWNrU3RhdHMpOwogICAgICAgICAgICAgfSk7CiAgICAgICAgIH0KQEAgLTUxLDQg
KzUwLDQgQEAKIDxpZnJhbWUgc2FuZGJveD0iYWxsb3ctc2NyaXB0cyIgc3JjPSJodHRwOi8vMTI3
LjAuMC4xOjgwMDAvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9yZXNvdXJjZXMvcGFnZS13aXRoLW5v
bi1zYW5kYm94ZWQtaWZyYW1lLXJlZGlyZWN0LWxvY2FsaG9zdC10by1pcC10by1sb2NhbGhvc3Qu
aHRtbCI+CiA8L2lmcmFtZT4KIDwvYm9keT4KLTwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBv
ZiBmaWxlCis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291
cmNlTG9hZFN0YXRpc3RpY3Mvc2FuZGJveGVkLW5lc3RpbmctaWZyYW1lLXdpdGgtc2FuZGJveGVk
LWlmcmFtZS1yZWRpcmVjdC1pcC10by1sb2NhbGhvc3QtdG8taXAtZGF0YWJhc2UuaHRtbCBiL0xh
eW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9zYW5kYm94ZWQtbmVz
dGluZy1pZnJhbWUtd2l0aC1zYW5kYm94ZWQtaWZyYW1lLXJlZGlyZWN0LWlwLXRvLWxvY2FsaG9z
dC10by1pcC1kYXRhYmFzZS5odG1sCmluZGV4IGQ2ZTk0YTQ1OTY5ODU0ZDNlMzg4ZDEwYWFkY2Fm
MGExZDJhNGRhYWYuLjVlZjI5YTY4YmIxZWZlNGM2YTljY2U5NzYyNDQwOThhNWNjNzg3MmQgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9z
YW5kYm94ZWQtbmVzdGluZy1pZnJhbWUtd2l0aC1zYW5kYm94ZWQtaWZyYW1lLXJlZGlyZWN0LWlw
LXRvLWxvY2FsaG9zdC10by1pcC1kYXRhYmFzZS5odG1sCisrKyBiL0xheW91dFRlc3RzL2h0dHAv
dGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9zYW5kYm94ZWQtbmVzdGluZy1pZnJhbWUtd2l0
aC1zYW5kYm94ZWQtaWZyYW1lLXJlZGlyZWN0LWlwLXRvLWxvY2FsaG9zdC10by1pcC1kYXRhYmFz
ZS5odG1sCkBAIC0xNSw3ICsxNSw2IEBACiAgICAgICAgIGlmICh0ZXN0UnVubmVyKSB7CiAgICAg
ICAgICAgICB0ZXN0UnVubmVyLnNldFVzZUlUUERhdGFiYXNlKHRydWUpOwogICAgICAgICAgICAg
c2V0RW5hYmxlRmVhdHVyZSh0cnVlLCBmdW5jdGlvbigpIHsKLSAgICAgICAgICAgICAgICB0ZXN0
UnVubmVyLnNldFN0YXRpc3RpY3NOb3RpZnlQYWdlc1doZW5EYXRhUmVjb3Jkc1dlcmVTY2FubmVk
KHRydWUpOwogICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIuaW5zdGFsbFN0YXRpc3RpY3NEaWRT
Y2FuRGF0YVJlY29yZHNDYWxsYmFjayhjaGVja1N0YXRzKTsKICAgICAgICAgICAgIH0pOwogICAg
ICAgICB9CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0
YXRpc3RpY3Mvc2FuZGJveGVkLW5lc3RpbmctaWZyYW1lLXdpdGgtc2FuZGJveGVkLWlmcmFtZS1y
ZWRpcmVjdC1pcC10by1sb2NhbGhvc3QtdG8taXAuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVz
dHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9zYW5kYm94ZWQtbmVzdGluZy1pZnJhbWUtd2l0aC1z
YW5kYm94ZWQtaWZyYW1lLXJlZGlyZWN0LWlwLXRvLWxvY2FsaG9zdC10by1pcC5odG1sCmluZGV4
IGQ0NzJhYjU0NGQ1ZDg0YzBjZjUwMmU1YWZhZmJiYTg4ZjQ0ZmE0ZTguLmJhMjY4OGI2NzNjY2Qz
OTI2ZWY2NTQyNGVlODhiMWFkYmQ2M2Q2NWQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAv
dGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9zYW5kYm94ZWQtbmVzdGluZy1pZnJhbWUtd2l0
aC1zYW5kYm94ZWQtaWZyYW1lLXJlZGlyZWN0LWlwLXRvLWxvY2FsaG9zdC10by1pcC5odG1sCisr
KyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9zYW5kYm94
ZWQtbmVzdGluZy1pZnJhbWUtd2l0aC1zYW5kYm94ZWQtaWZyYW1lLXJlZGlyZWN0LWlwLXRvLWxv
Y2FsaG9zdC10by1pcC5odG1sCkBAIC0xNCw3ICsxNCw2IEBACiAKICAgICAgICAgaWYgKHRlc3RS
dW5uZXIpIHsKICAgICAgICAgICAgIHNldEVuYWJsZUZlYXR1cmUodHJ1ZSwgZnVuY3Rpb24oKSB7
Ci0gICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNzTm90aWZ5UGFnZXNXaGVu
RGF0YVJlY29yZHNXZXJlU2Nhbm5lZCh0cnVlKTsKICAgICAgICAgICAgICAgICB0ZXN0UnVubmVy
Lmluc3RhbGxTdGF0aXN0aWNzRGlkU2NhbkRhdGFSZWNvcmRzQ2FsbGJhY2soY2hlY2tTdGF0cyk7
CiAgICAgICAgICAgICB9KTsKICAgICAgICAgfQpAQCAtNTEsNCArNTAsNCBAQAogPGlmcmFtZSBz
YW5kYm94PSJhbGxvdy1zY3JpcHRzIiBzcmM9Imh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9yZXNvdXJj
ZUxvYWRTdGF0aXN0aWNzL3Jlc291cmNlcy9wYWdlLXdpdGgtc2FuZGJveGVkLWlmcmFtZS1yZWRp
cmVjdC1pcC10by1sb2NhbGhvc3QtdG8taXAuaHRtbCI+CiA8L2lmcmFtZT4KIDwvYm9keT4KLTwv
aHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCis8L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3Mvc2FuZGJveGVkLW5l
c3RpbmctaWZyYW1lLXdpdGgtc2FuZGJveGVkLWlmcmFtZS1yZWRpcmVjdC1sb2NhbGhvc3QtdG8t
aXAtdG8tbG9jYWxob3N0LWRhdGFiYXNlLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jl
c291cmNlTG9hZFN0YXRpc3RpY3Mvc2FuZGJveGVkLW5lc3RpbmctaWZyYW1lLXdpdGgtc2FuZGJv
eGVkLWlmcmFtZS1yZWRpcmVjdC1sb2NhbGhvc3QtdG8taXAtdG8tbG9jYWxob3N0LWRhdGFiYXNl
Lmh0bWwKaW5kZXggNWUxOWRkMTAwMjExNWQ4YTE5NGZjMjI0MWQ1OGY0ZjgyZTAwMmJkOC4uNmRi
Mzc0MjdkNTRiZTQzNjE1NGRjZWIzZDAzMTIyZDU2YjE1NTE5YiAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3NhbmRib3hlZC1uZXN0aW5n
LWlmcmFtZS13aXRoLXNhbmRib3hlZC1pZnJhbWUtcmVkaXJlY3QtbG9jYWxob3N0LXRvLWlwLXRv
LWxvY2FsaG9zdC1kYXRhYmFzZS5odG1sCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVz
b3VyY2VMb2FkU3RhdGlzdGljcy9zYW5kYm94ZWQtbmVzdGluZy1pZnJhbWUtd2l0aC1zYW5kYm94
ZWQtaWZyYW1lLXJlZGlyZWN0LWxvY2FsaG9zdC10by1pcC10by1sb2NhbGhvc3QtZGF0YWJhc2Uu
aHRtbApAQCAtMTUsNyArMTUsNiBAQAogICAgICAgICBpZiAodGVzdFJ1bm5lcikgewogICAgICAg
ICAgICAgdGVzdFJ1bm5lci5zZXRVc2VJVFBEYXRhYmFzZSh0cnVlKTsKICAgICAgICAgICAgIHNl
dEVuYWJsZUZlYXR1cmUodHJ1ZSwgZnVuY3Rpb24oKSB7Ci0gICAgICAgICAgICAgICAgdGVzdFJ1
bm5lci5zZXRTdGF0aXN0aWNzTm90aWZ5UGFnZXNXaGVuRGF0YVJlY29yZHNXZXJlU2Nhbm5lZCh0
cnVlKTsKICAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLmluc3RhbGxTdGF0aXN0aWNzRGlkU2Nh
bkRhdGFSZWNvcmRzQ2FsbGJhY2soY2hlY2tTdGF0cyk7CiAgICAgICAgICAgICB9KTsKICAgICAg
ICAgfQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0
aXN0aWNzL3NhbmRib3hlZC1uZXN0aW5nLWlmcmFtZS13aXRoLXNhbmRib3hlZC1pZnJhbWUtcmVk
aXJlY3QtbG9jYWxob3N0LXRvLWlwLXRvLWxvY2FsaG9zdC5odG1sIGIvTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3NhbmRib3hlZC1uZXN0aW5nLWlmcmFtZS13
aXRoLXNhbmRib3hlZC1pZnJhbWUtcmVkaXJlY3QtbG9jYWxob3N0LXRvLWlwLXRvLWxvY2FsaG9z
dC5odG1sCmluZGV4IGZkODMxODE5ZGE4YWFjMWQyNWEzM2QxODA0YTgxYzU3MjFlNGNhOTQuLjI3
Zjc0NzMyMjM0MzU0ZGM4ZTVjZjEwZjhmNWExZDAwYjdiNDU2NzcgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9zYW5kYm94ZWQtbmVzdGlu
Zy1pZnJhbWUtd2l0aC1zYW5kYm94ZWQtaWZyYW1lLXJlZGlyZWN0LWxvY2FsaG9zdC10by1pcC10
by1sb2NhbGhvc3QuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9h
ZFN0YXRpc3RpY3Mvc2FuZGJveGVkLW5lc3RpbmctaWZyYW1lLXdpdGgtc2FuZGJveGVkLWlmcmFt
ZS1yZWRpcmVjdC1sb2NhbGhvc3QtdG8taXAtdG8tbG9jYWxob3N0Lmh0bWwKQEAgLTE0LDcgKzE0
LDYgQEAKIAogICAgICAgICBpZiAodGVzdFJ1bm5lcikgewogICAgICAgICAgICAgc2V0RW5hYmxl
RmVhdHVyZSh0cnVlLCBmdW5jdGlvbigpIHsKLSAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLnNl
dFN0YXRpc3RpY3NOb3RpZnlQYWdlc1doZW5EYXRhUmVjb3Jkc1dlcmVTY2FubmVkKHRydWUpOwog
ICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIuaW5zdGFsbFN0YXRpc3RpY3NEaWRTY2FuRGF0YVJl
Y29yZHNDYWxsYmFjayhjaGVja1N0YXRzKTsKICAgICAgICAgICAgIH0pOwogICAgICAgICB9CkBA
IC01MSw0ICs1MCw0IEBACiA8aWZyYW1lIHNhbmRib3g9ImFsbG93LXNjcmlwdHMiIHNyYz0iaHR0
cDovLzEyNy4wLjAuMTo4MDAwL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvcmVzb3VyY2VzL3BhZ2Ut
d2l0aC1zYW5kYm94ZWQtaWZyYW1lLXJlZGlyZWN0LWxvY2FsaG9zdC10by1pcC10by1sb2NhbGhv
c3QuaHRtbCI+CiA8L2lmcmFtZT4KIDwvYm9keT4KLTwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVu
ZCBvZiBmaWxlCis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jl
c291cmNlTG9hZFN0YXRpc3RpY3MvdGVsZW1ldHJ5LWdlbmVyYXRpb24tYWR2YW5jZWQtZnVuY3Rp
b25hbGl0eS1kYXRhYmFzZS5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxv
YWRTdGF0aXN0aWNzL3RlbGVtZXRyeS1nZW5lcmF0aW9uLWFkdmFuY2VkLWZ1bmN0aW9uYWxpdHkt
ZGF0YWJhc2UuaHRtbAppbmRleCA1OTQyOTA5NWFlMGUwMzVlN2Q4NTFlZGQ2MGE2YmM1MjRmYWM5
MTg2Li45OTdjY2U2ZjJmZGYwYzcwNzU1NTAzZDQ3NWVjZGFiZDA0MWU0MmNhIDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvdGVsZW1ldHJ5
LWdlbmVyYXRpb24tYWR2YW5jZWQtZnVuY3Rpb25hbGl0eS1kYXRhYmFzZS5odG1sCisrKyBiL0xh
eW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy90ZWxlbWV0cnktZ2Vu
ZXJhdGlvbi1hZHZhbmNlZC1mdW5jdGlvbmFsaXR5LWRhdGFiYXNlLmh0bWwKQEAgLTE0Nyw3ICsx
NDcsNiBAQAogCiAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7CiAgICAgICAgIHNldEVuYWJs
ZUZlYXR1cmUodHJ1ZSwgZnVuY3Rpb24oKSB7Ci0gICAgICAgICAgICB0ZXN0UnVubmVyLnNldFN0
YXRpc3RpY3NOb3RpZnlQYWdlc1doZW5EYXRhUmVjb3Jkc1dlcmVTY2FubmVkKHRydWUpOwogICAg
ICAgICAgICAgdGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNzTm90aWZ5UGFnZXNXaGVuVGVsZW1ldHJ5
V2FzQ2FwdHVyZWQodHJ1ZSk7CiAgICAgICAgICAgICBzZXRVcFN0YXRpc3RpY3NBbmRDb250aW51
ZSgpOwogICAgICAgICB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVz
b3VyY2VMb2FkU3RhdGlzdGljcy90ZWxlbWV0cnktZ2VuZXJhdGlvbi1iYXNpYy1mdW5jdGlvbmFs
aXR5LWRhdGFiYXNlLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0
YXRpc3RpY3MvdGVsZW1ldHJ5LWdlbmVyYXRpb24tYmFzaWMtZnVuY3Rpb25hbGl0eS1kYXRhYmFz
ZS5odG1sCmluZGV4IDk3YjU1NzlmYTBiMTFkMmNiYWM3MDA1NTYzNmI5YWZiY2M0NzYxY2UuLmM0
ODBkYjM0ZGI3ZDNlY2EzZjk5OWJiNTE2MWNkN2I2ZWZmYjlkYzMgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy90ZWxlbWV0cnktZ2VuZXJh
dGlvbi1iYXNpYy1mdW5jdGlvbmFsaXR5LWRhdGFiYXNlLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMv
aHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3RlbGVtZXRyeS1nZW5lcmF0aW9uLWJh
c2ljLWZ1bmN0aW9uYWxpdHktZGF0YWJhc2UuaHRtbApAQCAtMTI3LDcgKzEyNyw2IEBACiAKICAg
ICBpZiAod2luZG93LnRlc3RSdW5uZXIpIHsKICAgICAgICAgc2V0RW5hYmxlRmVhdHVyZSh0cnVl
LCBmdW5jdGlvbigpIHsKLSAgICAgICAgICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc05vdGlm
eVBhZ2VzV2hlbkRhdGFSZWNvcmRzV2VyZVNjYW5uZWQodHJ1ZSk7CiAgICAgICAgICAgICB0ZXN0
UnVubmVyLnNldFN0YXRpc3RpY3NOb3RpZnlQYWdlc1doZW5UZWxlbWV0cnlXYXNDYXB0dXJlZCh0
cnVlKTsKICAgICAgICAgICAgIHNldFVwSW5zdWZmaWNpZW50U3RhdGlzdGljc0FuZENvbnRpbnVl
KCk7CiAgICAgICAgIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNv
dXJjZUxvYWRTdGF0aXN0aWNzL3RlbGVtZXRyeS1nZW5lcmF0aW9uLmh0bWwgYi9MYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvdGVsZW1ldHJ5LWdlbmVyYXRpb24u
aHRtbAppbmRleCA2NDdkYjMwMGVmOGEyNTgxNDQwOWQ4ZTE1ZTZiYmI5MzY1NWI1OWRjLi5kNGYz
NjI1YzQ3NWJhZTRlNzQxOTAxMWUxZTYxNDU4ZTlkNWQ5MjBiIDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvdGVsZW1ldHJ5LWdlbmVyYXRp
b24uaHRtbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3Rp
Y3MvdGVsZW1ldHJ5LWdlbmVyYXRpb24uaHRtbApAQCAtMTEzLDcgKzExMyw2IEBACiAKICAgICBp
ZiAod2luZG93LnRlc3RSdW5uZXIpIHsKICAgICAgICAgc2V0RW5hYmxlRmVhdHVyZSh0cnVlLCBm
dW5jdGlvbigpIHsKLSAgICAgICAgICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc05vdGlmeVBh
Z2VzV2hlbkRhdGFSZWNvcmRzV2VyZVNjYW5uZWQodHJ1ZSk7CiAgICAgICAgICAgICB0ZXN0UnVu
bmVyLnNldFN0YXRpc3RpY3NOb3RpZnlQYWdlc1doZW5UZWxlbWV0cnlXYXNDYXB0dXJlZCh0cnVl
KTsKICAgICAgICAgICAgIHNldFVwSW5zdWZmaWNpZW50U3RhdGlzdGljc0FuZENvbnRpbnVlKCk7
CiAgICAgICAgIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJj
ZUxvYWRTdGF0aXN0aWNzL3VzZXItaW50ZXJhY3Rpb24taW4tY3Jvc3Mtb3JpZ2luLXN1Yi1mcmFt
ZS1kYXRhYmFzZS5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0
aXN0aWNzL3VzZXItaW50ZXJhY3Rpb24taW4tY3Jvc3Mtb3JpZ2luLXN1Yi1mcmFtZS1kYXRhYmFz
ZS5odG1sCmluZGV4IGE2NzRkMDkwOTcwYzU2M2JmYmE0ZDkzY2ZhNjQ1Y2FiMTVhNTk0ZTAuLjUx
NjcyZTg5YzI3ZWZmOTk3YjlkYmZiMGFiMjUzM2QzZGEzZmI0YmIgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy91c2VyLWludGVyYWN0aW9u
LWluLWNyb3NzLW9yaWdpbi1zdWItZnJhbWUtZGF0YWJhc2UuaHRtbAorKysgYi9MYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvdXNlci1pbnRlcmFjdGlvbi1pbi1j
cm9zcy1vcmlnaW4tc3ViLWZyYW1lLWRhdGFiYXNlLmh0bWwKQEAgLTI4LDcgKzI4LDYgQEAgZnVu
Y3Rpb24gZmluaXNoVGVzdCgpIHsKIG9ubG9hZCA9IGZ1bmN0aW9uKCkgewogICAgIHNldEVuYWJs
ZUZlYXR1cmUodHJ1ZSwgZnVuY3Rpb24oKSB7CiAgICAgICAgIGlmICh0ZXN0UnVubmVyKSB7Ci0g
ICAgICAgICAgICB0ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NOb3RpZnlQYWdlc1doZW5EYXRhUmVj
b3Jkc1dlcmVTY2FubmVkKHRydWUpOwogICAgICAgICAgICAgdGVzdFJ1bm5lci5pbnN0YWxsU3Rh
dGlzdGljc0RpZFNjYW5EYXRhUmVjb3Jkc0NhbGxiYWNrKGZpbmlzaFRlc3QpOwogICAgICAgICB9
CiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlz
dGljcy91c2VyLWludGVyYWN0aW9uLWluLWNyb3NzLW9yaWdpbi1zdWItZnJhbWUuaHRtbCBiL0xh
eW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy91c2VyLWludGVyYWN0
aW9uLWluLWNyb3NzLW9yaWdpbi1zdWItZnJhbWUuaHRtbAppbmRleCA1NjRlZjA5N2I5NDhmNmIz
ZThiYmEwNGVhYTZkNzE0MDg3Njk5MDliLi4zMzVmNjBhNDljMTM2ZThkYTczMDk5NjhjNjM1MGVl
M2UyZGM4ZjZmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9h
ZFN0YXRpc3RpY3MvdXNlci1pbnRlcmFjdGlvbi1pbi1jcm9zcy1vcmlnaW4tc3ViLWZyYW1lLmh0
bWwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3Vz
ZXItaW50ZXJhY3Rpb24taW4tY3Jvc3Mtb3JpZ2luLXN1Yi1mcmFtZS5odG1sCkBAIC0yNywxMCAr
MjcsOCBAQCBmdW5jdGlvbiBmaW5pc2hUZXN0KCkgewogCiBvbmxvYWQgPSBmdW5jdGlvbigpIHsK
ICAgICBzZXRFbmFibGVGZWF0dXJlKHRydWUsIGZ1bmN0aW9uKCkgewotICAgICAgICBpZiAodGVz
dFJ1bm5lcikgewotICAgICAgICAgICAgdGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNzTm90aWZ5UGFn
ZXNXaGVuRGF0YVJlY29yZHNXZXJlU2Nhbm5lZCh0cnVlKTsKKyAgICAgICAgaWYgKHRlc3RSdW5u
ZXIpCiAgICAgICAgICAgICB0ZXN0UnVubmVyLmluc3RhbGxTdGF0aXN0aWNzRGlkU2NhbkRhdGFS
ZWNvcmRzQ2FsbGJhY2soZmluaXNoVGVzdCk7Ci0gICAgICAgIH0KIAogICAgICAgICBzaG91bGRC
ZSgiZG9jdW1lbnQubG9jYXRpb24ub3JpZ2luIiwgInRvcEZyYW1lT3JpZ2luIik7CiAKQEAgLTQ1
LDQgKzQzLDQgQEAgb25sb2FkID0gZnVuY3Rpb24oKSB7CiA8L3NjcmlwdD4KIDxpZnJhbWUgaWQ9
InRlc3RGcmFtZSIgc3JjPSJodHRwOi8vbG9jYWxob3N0OjgwMDAvcmVzb3VyY2VMb2FkU3RhdGlz
dGljcy9yZXNvdXJjZXMvZHVtbXkuaHRtbCI+PC9pZnJhbWU+CiA8L2JvZHk+Ci08L2h0bWw+Clwg
Tm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQorPC9odG1sPgo=
</data>

          </attachment>
      

    </bug>

</bugzilla>