<?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>39301</bug_id>
          
          <creation_ts>2010-05-18 10:35:23 -0700</creation_ts>
          <short_desc>Geolocation LayoutTests should use standard template pattern</short_desc>
          <delta_ts>2010-05-21 05:01:44 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Tools / Tests</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Steve Block">steveblock</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>bulach</cc>
    
    <cc>cjerdonek</cc>
    
    <cc>dbates</cc>
    
    <cc>eric</cc>
    
    <cc>hamaji</cc>
    
    <cc>jorlow</cc>
    
    <cc>steveblock</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>227378</commentid>
    <comment_count>0</comment_count>
    <who name="Steve Block">steveblock</who>
    <bug_when>2010-05-18 10:35:23 -0700</bug_when>
    <thetext>This completes one of the TODOs from Bug 25880</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>227866</commentid>
    <comment_count>1</comment_count>
      <attachid>56496</attachid>
    <who name="Steve Block">steveblock</who>
    <bug_when>2010-05-19 10:03:22 -0700</bug_when>
    <thetext>Created attachment 56496
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>227868</commentid>
    <comment_count>2</comment_count>
    <who name="Steve Block">steveblock</who>
    <bug_when>2010-05-19 10:13:11 -0700</bug_when>
    <thetext>The try-bot seems to be confused by the patch because it involves renaming a directory then changing some of the files in it, but the patch looks OK to me.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>227891</commentid>
    <comment_count>3</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2010-05-19 10:56:23 -0700</bug_when>
    <thetext>I suspect svn-apply is missing some feature(s).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>228807</commentid>
    <comment_count>4</comment_count>
      <attachid>56496</attachid>
    <who name="Jeremy Orlow">jorlow</who>
    <bug_when>2010-05-21 02:19:47 -0700</bug_when>
    <thetext>Comment on attachment 56496
Patch

Looks much better!  r=me


LayoutTests/fast/dom/Geolocation/script-tests/argument-types.js:117
 +  window.jsTestIsAsync = false;
Is this necessary?

LayoutTests/fast/dom/Geolocation/script-tests/enabled.js:17
 +  window.jsTestIsAsync = false;
ditto</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>228862</commentid>
    <comment_count>5</comment_count>
      <attachid>56496</attachid>
    <who name="Steve Block">steveblock</who>
    <bug_when>2010-05-21 05:01:05 -0700</bug_when>
    <thetext>Comment on attachment 56496
Patch

Landed manually as http://trac.webkit.org/changeset/59926 to include changes to new test added in http://trac.webkit.org/changeset/59859</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>228863</commentid>
    <comment_count>6</comment_count>
    <who name="Steve Block">steveblock</who>
    <bug_when>2010-05-21 05:01:44 -0700</bug_when>
    <thetext>Closing bug as resolved fixed.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>56496</attachid>
            <date>2010-05-19 10:03:22 -0700</date>
            <delta_ts>2010-05-21 05:01:04 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-39301-20100519180319.patch</filename>
            <type>text/plain</type>
            <size>89434</size>
            <attacher name="Steve Block">steveblock</attacher>
            
              <data encoding="base64">SW5kZXg6IExheW91dFRlc3RzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9D
aGFuZ2VMb2cJKHJldmlzaW9uIDU5NzcwKQorKysgTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCSh3b3Jr
aW5nIGNvcHkpCkBAIC0xLDMgKzEsOTEgQEAKKzIwMTAtMDUtMTkgIFN0ZXZlIEJsb2NrICA8c3Rl
dmVibG9ja0Bnb29nbGUuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgIEdlb2xvY2F0aW9uIExheW91dFRlc3RzIHNob3VsZCB1c2Ugc3RhbmRhcmQg
dGVtcGxhdGUgcGF0dGVybgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MzkzMDEKKworICAgICAgICBSZW5hbWVkIHJlc291cmNlcyB0byBzY3JpcHQtdGVz
dHMsIHVwZGF0ZWQgVEVNUExBVEUuaHRtbCB0byB1c2Ugc3RhbmRhcmQKKyAgICAgICAganMtdGVz
dC1wb3N0LmpzLCByYW4gbWFrZS1zY3JpcHQtdGVzdC13cmFwcGVycyBhbmQgdXBkYXRlZCB0ZXN0
IHNjcmlwdHMgYW5kCisgICAgICAgIGV4cGVjdGVkIHJlc3VsdHMuCisKKyAgICAgICAgKiBmYXN0
L2RvbS9HZW9sb2NhdGlvbi9hcmd1bWVudC10eXBlcy5odG1sOgorICAgICAgICAqIGZhc3QvZG9t
L0dlb2xvY2F0aW9uL2NhbGxiYWNrLWV4Y2VwdGlvbi1leHBlY3RlZC50eHQ6CisgICAgICAgICog
ZmFzdC9kb20vR2VvbG9jYXRpb24vY2FsbGJhY2stZXhjZXB0aW9uLmh0bWw6CisgICAgICAgICog
ZmFzdC9kb20vR2VvbG9jYXRpb24vZW5hYmxlZC5odG1sOgorICAgICAgICAqIGZhc3QvZG9tL0dl
b2xvY2F0aW9uL2Vycm9yLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBmYXN0L2RvbS9HZW9sb2Nh
dGlvbi9lcnJvci5odG1sOgorICAgICAgICAqIGZhc3QvZG9tL0dlb2xvY2F0aW9uL21heGltdW0t
YWdlLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBmYXN0L2RvbS9HZW9sb2NhdGlvbi9tYXhpbXVt
LWFnZS5odG1sOgorICAgICAgICAqIGZhc3QvZG9tL0dlb2xvY2F0aW9uL3Blcm1pc3Npb24tZGVu
aWVkLWFscmVhZHktY2xlYXItd2F0Y2gtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIGZhc3QvZG9t
L0dlb2xvY2F0aW9uL3Blcm1pc3Npb24tZGVuaWVkLWFscmVhZHktY2xlYXItd2F0Y2guaHRtbDoK
KyAgICAgICAgKiBmYXN0L2RvbS9HZW9sb2NhdGlvbi9wZXJtaXNzaW9uLWRlbmllZC1hbHJlYWR5
LWVycm9yLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBmYXN0L2RvbS9HZW9sb2NhdGlvbi9wZXJt
aXNzaW9uLWRlbmllZC1hbHJlYWR5LWVycm9yLmh0bWw6CisgICAgICAgICogZmFzdC9kb20vR2Vv
bG9jYXRpb24vcGVybWlzc2lvbi1kZW5pZWQtYWxyZWFkeS1zdWNjZXNzLWV4cGVjdGVkLnR4dDoK
KyAgICAgICAgKiBmYXN0L2RvbS9HZW9sb2NhdGlvbi9wZXJtaXNzaW9uLWRlbmllZC1hbHJlYWR5
LXN1Y2Nlc3MuaHRtbDoKKyAgICAgICAgKiBmYXN0L2RvbS9HZW9sb2NhdGlvbi9wZXJtaXNzaW9u
LWRlbmllZC1leHBlY3RlZC50eHQ6CisgICAgICAgICogZmFzdC9kb20vR2VvbG9jYXRpb24vcGVy
bWlzc2lvbi1kZW5pZWQtc3RvcHMtd2F0Y2hlcy1leHBlY3RlZC50eHQ6CisgICAgICAgICogZmFz
dC9kb20vR2VvbG9jYXRpb24vcGVybWlzc2lvbi1kZW5pZWQtc3RvcHMtd2F0Y2hlcy5odG1sOgor
ICAgICAgICAqIGZhc3QvZG9tL0dlb2xvY2F0aW9uL3Blcm1pc3Npb24tZGVuaWVkLmh0bWw6Cisg
ICAgICAgICogZmFzdC9kb20vR2VvbG9jYXRpb24vcG9zaXRpb24tc3RyaW5nLWV4cGVjdGVkLnR4
dDoKKyAgICAgICAgKiBmYXN0L2RvbS9HZW9sb2NhdGlvbi9wb3NpdGlvbi1zdHJpbmcuaHRtbDoK
KyAgICAgICAgKiBmYXN0L2RvbS9HZW9sb2NhdGlvbi9yZWVudHJhbnQtZXJyb3ItZXhwZWN0ZWQu
dHh0OgorICAgICAgICAqIGZhc3QvZG9tL0dlb2xvY2F0aW9uL3JlZW50cmFudC1lcnJvci5odG1s
OgorICAgICAgICAqIGZhc3QvZG9tL0dlb2xvY2F0aW9uL3JlZW50cmFudC1zdWNjZXNzLWV4cGVj
dGVkLnR4dDoKKyAgICAgICAgKiBmYXN0L2RvbS9HZW9sb2NhdGlvbi9yZWVudHJhbnQtc3VjY2Vz
cy5odG1sOgorICAgICAgICAqIGZhc3QvZG9tL0dlb2xvY2F0aW9uL3Jlc291cmNlczogUmVtb3Zl
ZC4KKyAgICAgICAgKiBmYXN0L2RvbS9HZW9sb2NhdGlvbi9yZXNvdXJjZXMvVEVNUExBVEUuaHRt
bDogUmVtb3ZlZC4KKyAgICAgICAgKiBmYXN0L2RvbS9HZW9sb2NhdGlvbi9yZXNvdXJjZXMvYXJn
dW1lbnQtdHlwZXMuanM6IFJlbW92ZWQuCisgICAgICAgICogZmFzdC9kb20vR2VvbG9jYXRpb24v
cmVzb3VyY2VzL2NhbGxiYWNrLWV4Y2VwdGlvbi5qczogUmVtb3ZlZC4KKyAgICAgICAgKiBmYXN0
L2RvbS9HZW9sb2NhdGlvbi9yZXNvdXJjZXMvZW5hYmxlZC5qczogUmVtb3ZlZC4KKyAgICAgICAg
KiBmYXN0L2RvbS9HZW9sb2NhdGlvbi9yZXNvdXJjZXMvZXJyb3IuanM6IFJlbW92ZWQuCisgICAg
ICAgICogZmFzdC9kb20vR2VvbG9jYXRpb24vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qczogUmVt
b3ZlZC4KKyAgICAgICAgKiBmYXN0L2RvbS9HZW9sb2NhdGlvbi9yZXNvdXJjZXMvbWF4aW11bS1h
Z2UuanM6IFJlbW92ZWQuCisgICAgICAgICogZmFzdC9kb20vR2VvbG9jYXRpb24vcmVzb3VyY2Vz
L3Blcm1pc3Npb24tZGVuaWVkLWFscmVhZHktY2xlYXItd2F0Y2guanM6IFJlbW92ZWQuCisgICAg
ICAgICogZmFzdC9kb20vR2VvbG9jYXRpb24vcmVzb3VyY2VzL3Blcm1pc3Npb24tZGVuaWVkLWFs
cmVhZHktZXJyb3IuanM6IFJlbW92ZWQuCisgICAgICAgICogZmFzdC9kb20vR2VvbG9jYXRpb24v
cmVzb3VyY2VzL3Blcm1pc3Npb24tZGVuaWVkLWFscmVhZHktc3VjY2Vzcy5qczogUmVtb3ZlZC4K
KyAgICAgICAgKiBmYXN0L2RvbS9HZW9sb2NhdGlvbi9yZXNvdXJjZXMvcGVybWlzc2lvbi1kZW5p
ZWQtc3RvcHMtd2F0Y2hlcy5qczogUmVtb3ZlZC4KKyAgICAgICAgKiBmYXN0L2RvbS9HZW9sb2Nh
dGlvbi9yZXNvdXJjZXMvcGVybWlzc2lvbi1kZW5pZWQuanM6IFJlbW92ZWQuCisgICAgICAgICog
ZmFzdC9kb20vR2VvbG9jYXRpb24vcmVzb3VyY2VzL3Bvc2l0aW9uLXN0cmluZy5qczogUmVtb3Zl
ZC4KKyAgICAgICAgKiBmYXN0L2RvbS9HZW9sb2NhdGlvbi9yZXNvdXJjZXMvcmVlbnRyYW50LWVy
cm9yLmpzOiBSZW1vdmVkLgorICAgICAgICAqIGZhc3QvZG9tL0dlb2xvY2F0aW9uL3Jlc291cmNl
cy9yZWVudHJhbnQtc3VjY2Vzcy5qczogUmVtb3ZlZC4KKyAgICAgICAgKiBmYXN0L2RvbS9HZW9s
b2NhdGlvbi9yZXNvdXJjZXMvc3VjY2Vzcy5qczogUmVtb3ZlZC4KKyAgICAgICAgKiBmYXN0L2Rv
bS9HZW9sb2NhdGlvbi9yZXNvdXJjZXMvdGltZW91dC1jbGVhci13YXRjaC5qczogUmVtb3ZlZC4K
KyAgICAgICAgKiBmYXN0L2RvbS9HZW9sb2NhdGlvbi9yZXNvdXJjZXMvdGltZW91dC16ZXJvLmpz
OiBSZW1vdmVkLgorICAgICAgICAqIGZhc3QvZG9tL0dlb2xvY2F0aW9uL3Jlc291cmNlcy90aW1l
b3V0LmpzOiBSZW1vdmVkLgorICAgICAgICAqIGZhc3QvZG9tL0dlb2xvY2F0aW9uL3Jlc291cmNl
cy93YXRjaC5qczogUmVtb3ZlZC4KKyAgICAgICAgKiBmYXN0L2RvbS9HZW9sb2NhdGlvbi9zY3Jp
cHQtdGVzdHM6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2Zhc3QvZG9tL0dlb2xvY2F0aW9uL3Jl
c291cmNlcy4KKyAgICAgICAgKiBmYXN0L2RvbS9HZW9sb2NhdGlvbi9zY3JpcHQtdGVzdHMvVEVN
UExBVEUuaHRtbDoKKyAgICAgICAgKiBmYXN0L2RvbS9HZW9sb2NhdGlvbi9zY3JpcHQtdGVzdHMv
YXJndW1lbnQtdHlwZXMuanM6CisgICAgICAgICogZmFzdC9kb20vR2VvbG9jYXRpb24vc2NyaXB0
LXRlc3RzL2NhbGxiYWNrLWV4Y2VwdGlvbi5qczoKKyAgICAgICAgKiBmYXN0L2RvbS9HZW9sb2Nh
dGlvbi9zY3JpcHQtdGVzdHMvZW5hYmxlZC5qczoKKyAgICAgICAgKiBmYXN0L2RvbS9HZW9sb2Nh
dGlvbi9zY3JpcHQtdGVzdHMvZXJyb3IuanM6CisgICAgICAgICogZmFzdC9kb20vR2VvbG9jYXRp
b24vc2NyaXB0LXRlc3RzL2pzLXRlc3QtcG9zdC5qczogUmVtb3ZlZC4KKyAgICAgICAgKiBmYXN0
L2RvbS9HZW9sb2NhdGlvbi9zY3JpcHQtdGVzdHMvbWF4aW11bS1hZ2UuanM6CisgICAgICAgICog
ZmFzdC9kb20vR2VvbG9jYXRpb24vc2NyaXB0LXRlc3RzL3Blcm1pc3Npb24tZGVuaWVkLWFscmVh
ZHktY2xlYXItd2F0Y2guanM6CisgICAgICAgICogZmFzdC9kb20vR2VvbG9jYXRpb24vc2NyaXB0
LXRlc3RzL3Blcm1pc3Npb24tZGVuaWVkLWFscmVhZHktZXJyb3IuanM6CisgICAgICAgICogZmFz
dC9kb20vR2VvbG9jYXRpb24vc2NyaXB0LXRlc3RzL3Blcm1pc3Npb24tZGVuaWVkLWFscmVhZHkt
c3VjY2Vzcy5qczoKKyAgICAgICAgKiBmYXN0L2RvbS9HZW9sb2NhdGlvbi9zY3JpcHQtdGVzdHMv
cGVybWlzc2lvbi1kZW5pZWQtc3RvcHMtd2F0Y2hlcy5qczoKKyAgICAgICAgKiBmYXN0L2RvbS9H
ZW9sb2NhdGlvbi9zY3JpcHQtdGVzdHMvcGVybWlzc2lvbi1kZW5pZWQuanM6CisgICAgICAgICog
ZmFzdC9kb20vR2VvbG9jYXRpb24vc2NyaXB0LXRlc3RzL3Bvc2l0aW9uLXN0cmluZy5qczoKKyAg
ICAgICAgKiBmYXN0L2RvbS9HZW9sb2NhdGlvbi9zY3JpcHQtdGVzdHMvcmVlbnRyYW50LWVycm9y
LmpzOgorICAgICAgICAqIGZhc3QvZG9tL0dlb2xvY2F0aW9uL3NjcmlwdC10ZXN0cy9yZWVudHJh
bnQtc3VjY2Vzcy5qczoKKyAgICAgICAgKiBmYXN0L2RvbS9HZW9sb2NhdGlvbi9zY3JpcHQtdGVz
dHMvc3VjY2Vzcy5qczoKKyAgICAgICAgKiBmYXN0L2RvbS9HZW9sb2NhdGlvbi9zY3JpcHQtdGVz
dHMvdGltZW91dC1jbGVhci13YXRjaC5qczoKKyAgICAgICAgKiBmYXN0L2RvbS9HZW9sb2NhdGlv
bi9zY3JpcHQtdGVzdHMvdGltZW91dC16ZXJvLmpzOgorICAgICAgICAqIGZhc3QvZG9tL0dlb2xv
Y2F0aW9uL3NjcmlwdC10ZXN0cy90aW1lb3V0LmpzOgorICAgICAgICAqIGZhc3QvZG9tL0dlb2xv
Y2F0aW9uL3NjcmlwdC10ZXN0cy93YXRjaC5qczoKKyAgICAgICAgKiBmYXN0L2RvbS9HZW9sb2Nh
dGlvbi9zdWNjZXNzLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBmYXN0L2RvbS9HZW9sb2NhdGlv
bi9zdWNjZXNzLmh0bWw6CisgICAgICAgICogZmFzdC9kb20vR2VvbG9jYXRpb24vdGltZW91dC1j
bGVhci13YXRjaC1leHBlY3RlZC50eHQ6CisgICAgICAgICogZmFzdC9kb20vR2VvbG9jYXRpb24v
dGltZW91dC1jbGVhci13YXRjaC5odG1sOgorICAgICAgICAqIGZhc3QvZG9tL0dlb2xvY2F0aW9u
L3RpbWVvdXQtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIGZhc3QvZG9tL0dlb2xvY2F0aW9uL3Rp
bWVvdXQtemVyby1leHBlY3RlZC50eHQ6CisgICAgICAgICogZmFzdC9kb20vR2VvbG9jYXRpb24v
dGltZW91dC16ZXJvLmh0bWw6CisgICAgICAgICogZmFzdC9kb20vR2VvbG9jYXRpb24vdGltZW91
dC5odG1sOgorICAgICAgICAqIGZhc3QvZG9tL0dlb2xvY2F0aW9uL3dhdGNoLWV4cGVjdGVkLnR4
dDoKKyAgICAgICAgKiBmYXN0L2RvbS9HZW9sb2NhdGlvbi93YXRjaC5odG1sOgorCiAyMDEwLTA1
LTE5ICBNYXJ0aW4gUm9iaW5zb24gIDxtcm9iaW5zb25AaWdhbGlhLmNvbT4KIAogICAgICAgICBO
b3QgcmV2aWV3ZWQuCkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L2RvbS9HZW9sb2NhdGlvbi9hcmd1
bWVudC10eXBlcy5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvZG9tL0dlb2xv
Y2F0aW9uL2FyZ3VtZW50LXR5cGVzLmh0bWwJKHJldmlzaW9uIDU5NzY2KQorKysgTGF5b3V0VGVz
dHMvZmFzdC9kb20vR2VvbG9jYXRpb24vYXJndW1lbnQtdHlwZXMuaHRtbAkod29ya2luZyBjb3B5
KQpAQCAtNyw3ICs3LDcgQEAKIDxib2R5PgogPHAgaWQ9ImRlc2NyaXB0aW9uIj48L3A+CiA8ZGl2
IGlkPSJjb25zb2xlIj48L2Rpdj4KLTxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvYXJndW1lbnQtdHlw
ZXMuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9InJlc291cmNlcy9qcy10ZXN0LXBvc3QuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9InNjcmlwdC10ZXN0cy9hcmd1bWVudC10eXBlcy5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5q
cyI+PC9zY3JpcHQ+CiA8L2JvZHk+CiA8L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L2Rv
bS9HZW9sb2NhdGlvbi9jYWxsYmFjay1leGNlcHRpb24tZXhwZWN0ZWQudHh0Cj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIExheW91dFRlc3RzL2Zhc3QvZG9tL0dlb2xvY2F0aW9uL2NhbGxiYWNrLWV4Y2VwdGlvbi1l
eHBlY3RlZC50eHQJKHJldmlzaW9uIDU5NzY2KQorKysgTGF5b3V0VGVzdHMvZmFzdC9kb20vR2Vv
bG9jYXRpb24vY2FsbGJhY2stZXhjZXB0aW9uLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpA
QCAtNCwxMCArNCwxMCBAQCBUZXN0cyB0aGF0IHdoZW4gYW4gZXhjZXB0aW9uIGlzIHRocm93biBp
CiBPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBm
b2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCiAKIAotUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQg
aXMgdHJ1ZQogUEFTUyBwb3NpdGlvbi5jb29yZHMubGF0aXR1ZGUgaXMgbW9ja0xhdGl0dWRlCiBQ
QVNTIHBvc2l0aW9uLmNvb3Jkcy5sb25naXR1ZGUgaXMgbW9ja0xvbmdpdHVkZQogUEFTUyBwb3Np
dGlvbi5jb29yZHMuYWNjdXJhY3kgaXMgbW9ja0FjY3VyYWN5CitQQVNTIHN1Y2Nlc3NmdWxseVBh
cnNlZCBpcyB0cnVlCiAKIFRFU1QgQ09NUExFVEUKIApJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9k
b20vR2VvbG9jYXRpb24vY2FsbGJhY2stZXhjZXB0aW9uLmh0bWwKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5
b3V0VGVzdHMvZmFzdC9kb20vR2VvbG9jYXRpb24vY2FsbGJhY2stZXhjZXB0aW9uLmh0bWwJKHJl
dmlzaW9uIDU5NzY2KQorKysgTGF5b3V0VGVzdHMvZmFzdC9kb20vR2VvbG9jYXRpb24vY2FsbGJh
Y2stZXhjZXB0aW9uLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTcsNyArNyw3IEBACiA8Ym9keT4K
IDxwIGlkPSJkZXNjcmlwdGlvbiI+PC9wPgogPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Ci08c2Ny
aXB0IHNyYz0icmVzb3VyY2VzL2NhbGxiYWNrLWV4Y2VwdGlvbi5qcyI+PC9zY3JpcHQ+Ci08c2Ny
aXB0IHNyYz0icmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0ic2NyaXB0LXRlc3RzL2NhbGxiYWNrLWV4Y2VwdGlvbi5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+CiA8L2Jv
ZHk+CiA8L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L2RvbS9HZW9sb2NhdGlvbi9lbmFi
bGVkLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9kb20vR2VvbG9jYXRpb24v
ZW5hYmxlZC5odG1sCShyZXZpc2lvbiA1OTc2NikKKysrIExheW91dFRlc3RzL2Zhc3QvZG9tL0dl
b2xvY2F0aW9uL2VuYWJsZWQuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtNyw3ICs3LDcgQEAKIDxi
b2R5PgogPHAgaWQ9ImRlc2NyaXB0aW9uIj48L3A+CiA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4K
LTxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvZW5hYmxlZC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNy
Yz0icmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0ic2Ny
aXB0LXRlc3RzL2VuYWJsZWQuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL2pzL3Jl
c291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgogPC9ib2R5PgogPC9odG1sPgpJbmRl
eDogTGF5b3V0VGVzdHMvZmFzdC9kb20vR2VvbG9jYXRpb24vZXJyb3ItZXhwZWN0ZWQudHh0Cj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvZG9tL0dlb2xvY2F0aW9uL2Vycm9yLWV4cGVj
dGVkLnR4dAkocmV2aXNpb24gNTk3NjYpCisrKyBMYXlvdXRUZXN0cy9mYXN0L2RvbS9HZW9sb2Nh
dGlvbi9lcnJvci1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTMsMTMgKzMsMTMgQEAg
VGVzdHMgR2VvbG9jYXRpb24gZXJyb3IgY2FsbGJhY2sgdXNpbmcgdAogT24gc3VjY2VzcywgeW91
IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1Qg
Q09NUExFVEUiLgogCiAKLVBBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKIFBBU1MgZXJy
b3IuY29kZSBpcyBtb2NrQ29kZQogUEFTUyBlcnJvci5tZXNzYWdlIGlzIG1vY2tNZXNzYWdlCiBQ
QVNTIGVycm9yLlVOS05PV05fRVJST1IgaXMgdW5kZWZpbmVkCiBQQVNTIGVycm9yLlBFUk1JU1NJ
T05fREVOSUVEIGlzIDEKIFBBU1MgZXJyb3IuUE9TSVRJT05fVU5BVkFJTEFCTEUgaXMgMgogUEFT
UyBlcnJvci5USU1FT1VUIGlzIDMKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKIAog
VEVTVCBDT01QTEVURQogCkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L2RvbS9HZW9sb2NhdGlvbi9l
cnJvci5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvZG9tL0dlb2xvY2F0aW9u
L2Vycm9yLmh0bWwJKHJldmlzaW9uIDU5NzY2KQorKysgTGF5b3V0VGVzdHMvZmFzdC9kb20vR2Vv
bG9jYXRpb24vZXJyb3IuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtNyw3ICs3LDcgQEAKIDxib2R5
PgogPHAgaWQ9ImRlc2NyaXB0aW9uIj48L3A+CiA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KLTxz
Y3JpcHQgc3JjPSJyZXNvdXJjZXMvZXJyb3IuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9InJl
c291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9InNjcmlwdC10
ZXN0cy9lcnJvci5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vanMvcmVzb3VyY2Vz
L2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+CiA8L2JvZHk+CiA8L2h0bWw+CkluZGV4OiBMYXlv
dXRUZXN0cy9mYXN0L2RvbS9HZW9sb2NhdGlvbi9tYXhpbXVtLWFnZS1leHBlY3RlZC50eHQKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9kb20vR2VvbG9jYXRpb24vbWF4aW11bS1hZ2Ut
ZXhwZWN0ZWQudHh0CShyZXZpc2lvbiA1OTc2NikKKysrIExheW91dFRlc3RzL2Zhc3QvZG9tL0dl
b2xvY2F0aW9uL21heGltdW0tYWdlLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMyw3
ICszLDYgQEAgVGVzdHMgdGhhdCB0aGUgUG9zaXRpb25PcHRpb25zLm1heGltdW1BZwogT24gc3Vj
Y2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQg
YnkgIlRFU1QgQ09NUExFVEUiLgogCiAKLVBBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUK
IAogUEFTUyBwb3NpdGlvbi5jb29yZHMubGF0aXR1ZGUgaXMgbW9ja0xhdGl0dWRlCiBQQVNTIHBv
c2l0aW9uLmNvb3Jkcy5sb25naXR1ZGUgaXMgbW9ja0xvbmdpdHVkZQpAQCAtMTksNiArMTgsNyBA
QCBQQVNTIHBvc2l0aW9uLmNvb3Jkcy5hY2N1cmFjeSBpcyBtb2NrQWNjCiAKIFBBU1MgZXJyb3Iu
Y29kZSBpcyBtb2NrQ29kZQogUEFTUyBlcnJvci5tZXNzYWdlIGlzIG1vY2tNZXNzYWdlCitQQVNT
IHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCiAKIFRFU1QgQ09NUExFVEUKIApJbmRleDogTGF5
b3V0VGVzdHMvZmFzdC9kb20vR2VvbG9jYXRpb24vbWF4aW11bS1hZ2UuaHRtbAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L2RvbS9HZW9sb2NhdGlvbi9tYXhpbXVtLWFnZS5odG1sCShy
ZXZpc2lvbiA1OTc2NikKKysrIExheW91dFRlc3RzL2Zhc3QvZG9tL0dlb2xvY2F0aW9uL21heGlt
dW0tYWdlLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTcsNyArNyw3IEBACiA8Ym9keT4KIDxwIGlk
PSJkZXNjcmlwdGlvbiI+PC9wPgogPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Ci08c2NyaXB0IHNy
Yz0icmVzb3VyY2VzL21heGltdW0tYWdlLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSJyZXNv
dXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSJzY3JpcHQtdGVz
dHMvbWF4aW11bS1hZ2UuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL2pzL3Jlc291
cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgogPC9ib2R5PgogPC9odG1sPgpJbmRleDog
TGF5b3V0VGVzdHMvZmFzdC9kb20vR2VvbG9jYXRpb24vcGVybWlzc2lvbi1kZW5pZWQtYWxyZWFk
eS1jbGVhci13YXRjaC1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFz
dC9kb20vR2VvbG9jYXRpb24vcGVybWlzc2lvbi1kZW5pZWQtYWxyZWFkeS1jbGVhci13YXRjaC1l
eHBlY3RlZC50eHQJKHJldmlzaW9uIDU5NzY2KQorKysgTGF5b3V0VGVzdHMvZmFzdC9kb20vR2Vv
bG9jYXRpb24vcGVybWlzc2lvbi1kZW5pZWQtYWxyZWFkeS1jbGVhci13YXRjaC1leHBlY3RlZC50
eHQJKHdvcmtpbmcgY29weSkKQEAgLTMsMTIgKzMsMTIgQEAgVGVzdHMgdGhhdCB3aGVuIEdlb2xv
Y2F0aW9uIHBlcm1pc3Npb24gaAogT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9m
ICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgogCiAKLVBBU1Mg
c3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKIFBBU1MgZXJyb3IuY29kZSBpcyBlcnJvci5QRVJN
SVNTSU9OX0RFTklFRAogUEFTUyBlcnJvci5tZXNzYWdlIGlzICJVc2VyIGRlbmllZCBHZW9sb2Nh
dGlvbiIKIAogUEFTUyBlcnJvci5jb2RlIGlzIGVycm9yLlBFUk1JU1NJT05fREVOSUVECiBQQVNT
IGVycm9yLm1lc3NhZ2UgaXMgIlVzZXIgZGVuaWVkIEdlb2xvY2F0aW9uIgorUEFTUyBzdWNjZXNz
ZnVsbHlQYXJzZWQgaXMgdHJ1ZQogCiBURVNUIENPTVBMRVRFCiAKSW5kZXg6IExheW91dFRlc3Rz
L2Zhc3QvZG9tL0dlb2xvY2F0aW9uL3Blcm1pc3Npb24tZGVuaWVkLWFscmVhZHktY2xlYXItd2F0
Y2guaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L2RvbS9HZW9sb2NhdGlvbi9w
ZXJtaXNzaW9uLWRlbmllZC1hbHJlYWR5LWNsZWFyLXdhdGNoLmh0bWwJKHJldmlzaW9uIDU5NzY2
KQorKysgTGF5b3V0VGVzdHMvZmFzdC9kb20vR2VvbG9jYXRpb24vcGVybWlzc2lvbi1kZW5pZWQt
YWxyZWFkeS1jbGVhci13YXRjaC5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC03LDcgKzcsNyBAQAog
PGJvZHk+CiA8cCBpZD0iZGVzY3JpcHRpb24iPjwvcD4KIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2
PgotPHNjcmlwdCBzcmM9InJlc291cmNlcy9wZXJtaXNzaW9uLWRlbmllZC1hbHJlYWR5LWNsZWFy
LXdhdGNoLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvanMtdGVzdC1wb3N0
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSJzY3JpcHQtdGVzdHMvcGVybWlzc2lvbi1kZW5p
ZWQtYWxyZWFkeS1jbGVhci13YXRjaC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
anMvcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+CiA8L2JvZHk+CiA8L2h0bWw+
CkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L2RvbS9HZW9sb2NhdGlvbi9wZXJtaXNzaW9uLWRlbmll
ZC1hbHJlYWR5LWVycm9yLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9m
YXN0L2RvbS9HZW9sb2NhdGlvbi9wZXJtaXNzaW9uLWRlbmllZC1hbHJlYWR5LWVycm9yLWV4cGVj
dGVkLnR4dAkocmV2aXNpb24gNTk3NjYpCisrKyBMYXlvdXRUZXN0cy9mYXN0L2RvbS9HZW9sb2Nh
dGlvbi9wZXJtaXNzaW9uLWRlbmllZC1hbHJlYWR5LWVycm9yLWV4cGVjdGVkLnR4dAkod29ya2lu
ZyBjb3B5KQpAQCAtMywxMiArMywxMiBAQCBUZXN0cyB0aGF0IHdoZW4gR2VvbG9jYXRpb24gcGVy
bWlzc2lvbiBoCiBPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1l
c3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCiAKIAotUEFTUyBzdWNjZXNzZnVs
bHlQYXJzZWQgaXMgdHJ1ZQogUEFTUyBlcnJvci5jb2RlIGlzIGVycm9yLlBFUk1JU1NJT05fREVO
SUVECiBQQVNTIGVycm9yLm1lc3NhZ2UgaXMgIlVzZXIgZGVuaWVkIEdlb2xvY2F0aW9uIgogCiBQ
QVNTIGVycm9yLmNvZGUgaXMgZXJyb3IuUEVSTUlTU0lPTl9ERU5JRUQKIFBBU1MgZXJyb3IubWVz
c2FnZSBpcyAiVXNlciBkZW5pZWQgR2VvbG9jYXRpb24iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNl
ZCBpcyB0cnVlCiAKIFRFU1QgQ09NUExFVEUKIApJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9kb20v
R2VvbG9jYXRpb24vcGVybWlzc2lvbi1kZW5pZWQtYWxyZWFkeS1lcnJvci5odG1sCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvZG9tL0dlb2xvY2F0aW9uL3Blcm1pc3Npb24tZGVuaWVk
LWFscmVhZHktZXJyb3IuaHRtbAkocmV2aXNpb24gNTk3NjYpCisrKyBMYXlvdXRUZXN0cy9mYXN0
L2RvbS9HZW9sb2NhdGlvbi9wZXJtaXNzaW9uLWRlbmllZC1hbHJlYWR5LWVycm9yLmh0bWwJKHdv
cmtpbmcgY29weSkKQEAgLTcsNyArNyw3IEBACiA8Ym9keT4KIDxwIGlkPSJkZXNjcmlwdGlvbiI+
PC9wPgogPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Ci08c2NyaXB0IHNyYz0icmVzb3VyY2VzL3Bl
cm1pc3Npb24tZGVuaWVkLWFscmVhZHktZXJyb3IuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9
InJlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9InNjcmlw
dC10ZXN0cy9wZXJtaXNzaW9uLWRlbmllZC1hbHJlYWR5LWVycm9yLmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4K
IDwvYm9keT4KIDwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL2Zhc3QvZG9tL0dlb2xvY2F0aW9u
L3Blcm1pc3Npb24tZGVuaWVkLWFscmVhZHktc3VjY2Vzcy1leHBlY3RlZC50eHQKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9kb20vR2VvbG9jYXRpb24vcGVybWlzc2lvbi1kZW5pZWQt
YWxyZWFkeS1zdWNjZXNzLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gNTk3NjYpCisrKyBMYXlvdXRU
ZXN0cy9mYXN0L2RvbS9HZW9sb2NhdGlvbi9wZXJtaXNzaW9uLWRlbmllZC1hbHJlYWR5LXN1Y2Nl
c3MtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0zLDEyICszLDEyIEBAIFRlc3RzIHRo
YXQgd2hlbiBHZW9sb2NhdGlvbiBwZXJtaXNzaW9uIGgKIE9uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNl
ZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRF
Ii4KIAogCi1QQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCiBQQVNTIGVycm9yLmNvZGUg
aXMgZXJyb3IuUEVSTUlTU0lPTl9ERU5JRUQKIFBBU1MgZXJyb3IubWVzc2FnZSBpcyAiVXNlciBk
ZW5pZWQgR2VvbG9jYXRpb24iCiAKIFBBU1MgZXJyb3IuY29kZSBpcyBlcnJvci5QRVJNSVNTSU9O
X0RFTklFRAogUEFTUyBlcnJvci5tZXNzYWdlIGlzICJVc2VyIGRlbmllZCBHZW9sb2NhdGlvbiIK
K1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKIAogVEVTVCBDT01QTEVURQogCkluZGV4
OiBMYXlvdXRUZXN0cy9mYXN0L2RvbS9HZW9sb2NhdGlvbi9wZXJtaXNzaW9uLWRlbmllZC1hbHJl
YWR5LXN1Y2Nlc3MuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L2RvbS9HZW9s
b2NhdGlvbi9wZXJtaXNzaW9uLWRlbmllZC1hbHJlYWR5LXN1Y2Nlc3MuaHRtbAkocmV2aXNpb24g
NTk3NjYpCisrKyBMYXlvdXRUZXN0cy9mYXN0L2RvbS9HZW9sb2NhdGlvbi9wZXJtaXNzaW9uLWRl
bmllZC1hbHJlYWR5LXN1Y2Nlc3MuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtNyw3ICs3LDcgQEAK
IDxib2R5PgogPHAgaWQ9ImRlc2NyaXB0aW9uIj48L3A+CiA8ZGl2IGlkPSJjb25zb2xlIj48L2Rp
dj4KLTxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvcGVybWlzc2lvbi1kZW5pZWQtYWxyZWFkeS1zdWNj
ZXNzLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvanMtdGVzdC1wb3N0Lmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSJzY3JpcHQtdGVzdHMvcGVybWlzc2lvbi1kZW5pZWQt
YWxyZWFkeS1zdWNjZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9qcy9yZXNv
dXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KIDwvYm9keT4KIDwvaHRtbD4KSW5kZXg6
IExheW91dFRlc3RzL2Zhc3QvZG9tL0dlb2xvY2F0aW9uL3Blcm1pc3Npb24tZGVuaWVkLWV4cGVj
dGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L2RvbS9HZW9sb2NhdGlvbi9w
ZXJtaXNzaW9uLWRlbmllZC1leHBlY3RlZC50eHQJKHJldmlzaW9uIDU5NzY2KQorKysgTGF5b3V0
VGVzdHMvZmFzdC9kb20vR2VvbG9jYXRpb24vcGVybWlzc2lvbi1kZW5pZWQtZXhwZWN0ZWQudHh0
CSh3b3JraW5nIGNvcHkpCkBAIC0zLDkgKzMsOSBAQCBUZXN0cyBHZW9sb2NhdGlvbiB3aGVuIHBl
cm1pc3Npb24gaXMgZGVuCiBPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBB
U1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCiAKIAotUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQogUEFTUyBlcnJvci5jb2RlIGlzIGVycm9yLlBFUk1JU1NJ
T05fREVOSUVECiBQQVNTIGVycm9yLm1lc3NhZ2UgaXMgIlVzZXIgZGVuaWVkIEdlb2xvY2F0aW9u
IgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQogCiBURVNUIENPTVBMRVRFCiAKSW5k
ZXg6IExheW91dFRlc3RzL2Zhc3QvZG9tL0dlb2xvY2F0aW9uL3Blcm1pc3Npb24tZGVuaWVkLXN0
b3BzLXdhdGNoZXMtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3Qv
ZG9tL0dlb2xvY2F0aW9uL3Blcm1pc3Npb24tZGVuaWVkLXN0b3BzLXdhdGNoZXMtZXhwZWN0ZWQu
dHh0CShyZXZpc2lvbiA1OTc2NikKKysrIExheW91dFRlc3RzL2Zhc3QvZG9tL0dlb2xvY2F0aW9u
L3Blcm1pc3Npb24tZGVuaWVkLXN0b3BzLXdhdGNoZXMtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNv
cHkpCkBAIC0zLDkgKzMsOSBAQCBUZXN0cyB0aGF0IHdoZW4gR2VvbG9jYXRpb24gcGVybWlzc2lv
biBpCiBPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2Vz
LCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCiAKIAotUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQogUEFTUyBlcnJvci5jb2RlIGlzIGVycm9yLlBFUk1JU1NJT05fREVOSUVECiBQ
QVNTIGVycm9yLm1lc3NhZ2UgaXMgIlVzZXIgZGVuaWVkIEdlb2xvY2F0aW9uIgorUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQogCiBURVNUIENPTVBMRVRFCiAKSW5kZXg6IExheW91dFRl
c3RzL2Zhc3QvZG9tL0dlb2xvY2F0aW9uL3Blcm1pc3Npb24tZGVuaWVkLXN0b3BzLXdhdGNoZXMu
aHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L2RvbS9HZW9sb2NhdGlvbi9wZXJt
aXNzaW9uLWRlbmllZC1zdG9wcy13YXRjaGVzLmh0bWwJKHJldmlzaW9uIDU5NzY2KQorKysgTGF5
b3V0VGVzdHMvZmFzdC9kb20vR2VvbG9jYXRpb24vcGVybWlzc2lvbi1kZW5pZWQtc3RvcHMtd2F0
Y2hlcy5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC03LDcgKzcsNyBAQAogPGJvZHk+CiA8cCBpZD0i
ZGVzY3JpcHRpb24iPjwvcD4KIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgotPHNjcmlwdCBzcmM9
InJlc291cmNlcy9wZXJtaXNzaW9uLWRlbmllZC1zdG9wcy13YXRjaGVzLmpzIj48L3NjcmlwdD4K
LTxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSJzY3JpcHQtdGVzdHMvcGVybWlzc2lvbi1kZW5pZWQtc3RvcHMtd2F0Y2hlcy5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5q
cyI+PC9zY3JpcHQ+CiA8L2JvZHk+CiA8L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L2Rv
bS9HZW9sb2NhdGlvbi9wZXJtaXNzaW9uLWRlbmllZC5odG1sCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91
dFRlc3RzL2Zhc3QvZG9tL0dlb2xvY2F0aW9uL3Blcm1pc3Npb24tZGVuaWVkLmh0bWwJKHJldmlz
aW9uIDU5NzY2KQorKysgTGF5b3V0VGVzdHMvZmFzdC9kb20vR2VvbG9jYXRpb24vcGVybWlzc2lv
bi1kZW5pZWQuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtNyw3ICs3LDcgQEAKIDxib2R5PgogPHAg
aWQ9ImRlc2NyaXB0aW9uIj48L3A+CiA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KLTxzY3JpcHQg
c3JjPSJyZXNvdXJjZXMvcGVybWlzc2lvbi1kZW5pZWQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBz
cmM9InJlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9InNj
cmlwdC10ZXN0cy9wZXJtaXNzaW9uLWRlbmllZC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+CiA8L2JvZHk+CiA8
L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L2RvbS9HZW9sb2NhdGlvbi9wb3NpdGlvbi1z
dHJpbmctZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvZG9tL0dl
b2xvY2F0aW9uL3Bvc2l0aW9uLXN0cmluZy1leHBlY3RlZC50eHQJKHJldmlzaW9uIDU5NzY2KQor
KysgTGF5b3V0VGVzdHMvZmFzdC9kb20vR2VvbG9jYXRpb24vcG9zaXRpb24tc3RyaW5nLWV4cGVj
dGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMywxMiArMywxMiBAQCBUZXN0cyBmb3JtYXR0aW5n
IG9mIHBvc2l0aW9uLnRvU3RyaW5nKCkuCiBPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJp
ZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCiAKIAot
UEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQogUEFTUyBwb3NpdGlvbi5jb29yZHMubGF0
aXR1ZGUgaXMgbW9ja0xhdGl0dWRlCiBQQVNTIHBvc2l0aW9uLmNvb3Jkcy5sb25naXR1ZGUgaXMg
bW9ja0xvbmdpdHVkZQogUEFTUyBwb3NpdGlvbi5jb29yZHMuYWNjdXJhY3kgaXMgbW9ja0FjY3Vy
YWN5CiBQQVNTIHBvc2l0aW9uLnRvU3RyaW5nKCkgaXMgIltvYmplY3QgR2VvcG9zaXRpb25dIgog
UEFTUyBwb3NpdGlvbi5jb29yZHMudG9TdHJpbmcoKSBpcyAiW29iamVjdCBDb29yZGluYXRlc10i
CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCiAKIFRFU1QgQ09NUExFVEUKIApJbmRl
eDogTGF5b3V0VGVzdHMvZmFzdC9kb20vR2VvbG9jYXRpb24vcG9zaXRpb24tc3RyaW5nLmh0bWwK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9kb20vR2VvbG9jYXRpb24vcG9zaXRpb24t
c3RyaW5nLmh0bWwJKHJldmlzaW9uIDU5NzY2KQorKysgTGF5b3V0VGVzdHMvZmFzdC9kb20vR2Vv
bG9jYXRpb24vcG9zaXRpb24tc3RyaW5nLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTcsNyArNyw3
IEBACiA8Ym9keT4KIDxwIGlkPSJkZXNjcmlwdGlvbiI+PC9wPgogPGRpdiBpZD0iY29uc29sZSI+
PC9kaXY+Ci08c2NyaXB0IHNyYz0icmVzb3VyY2VzL3Bvc2l0aW9uLXN0cmluZy5qcyI+PC9zY3Jp
cHQ+Ci08c2NyaXB0IHNyYz0icmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0ic2NyaXB0LXRlc3RzL3Bvc2l0aW9uLXN0cmluZy5qcyI+PC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+
CiA8L2JvZHk+CiA8L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L2RvbS9HZW9sb2NhdGlv
bi9yZWVudHJhbnQtZXJyb3ItZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3Rz
L2Zhc3QvZG9tL0dlb2xvY2F0aW9uL3JlZW50cmFudC1lcnJvci1leHBlY3RlZC50eHQJKHJldmlz
aW9uIDU5NzY2KQorKysgTGF5b3V0VGVzdHMvZmFzdC9kb20vR2VvbG9jYXRpb24vcmVlbnRyYW50
LWVycm9yLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMywxMiArMywxMiBAQCBUZXN0
cyB0aGF0IHJlZW50cmFudCBjYWxscyB0byBHZW9sb2NhdGlvCiBPbiBzdWNjZXNzLCB5b3Ugd2ls
bCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01Q
TEVURSIuCiAKIAotUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQogUEFTUyBlcnJvci5j
b2RlIGlzIG1vY2tDb2RlCiBQQVNTIGVycm9yLm1lc3NhZ2UgaXMgbW9ja01lc3NhZ2UKIAogUEFT
UyBlcnJvci5jb2RlIGlzIG1vY2tDb2RlCiBQQVNTIGVycm9yLm1lc3NhZ2UgaXMgbW9ja01lc3Nh
Z2UKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKIAogVEVTVCBDT01QTEVURQogCklu
ZGV4OiBMYXlvdXRUZXN0cy9mYXN0L2RvbS9HZW9sb2NhdGlvbi9yZWVudHJhbnQtZXJyb3IuaHRt
bAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L2RvbS9HZW9sb2NhdGlvbi9yZWVudHJh
bnQtZXJyb3IuaHRtbAkocmV2aXNpb24gNTk3NjYpCisrKyBMYXlvdXRUZXN0cy9mYXN0L2RvbS9H
ZW9sb2NhdGlvbi9yZWVudHJhbnQtZXJyb3IuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtNyw3ICs3
LDcgQEAKIDxib2R5PgogPHAgaWQ9ImRlc2NyaXB0aW9uIj48L3A+CiA8ZGl2IGlkPSJjb25zb2xl
Ij48L2Rpdj4KLTxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvcmVlbnRyYW50LWVycm9yLmpzIj48L3Nj
cmlwdD4KLTxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSJzY3JpcHQtdGVzdHMvcmVlbnRyYW50LWVycm9yLmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3Njcmlw
dD4KIDwvYm9keT4KIDwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL2Zhc3QvZG9tL0dlb2xvY2F0
aW9uL3JlZW50cmFudC1zdWNjZXNzLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRU
ZXN0cy9mYXN0L2RvbS9HZW9sb2NhdGlvbi9yZWVudHJhbnQtc3VjY2Vzcy1leHBlY3RlZC50eHQJ
KHJldmlzaW9uIDU5NzY2KQorKysgTGF5b3V0VGVzdHMvZmFzdC9kb20vR2VvbG9jYXRpb24vcmVl
bnRyYW50LXN1Y2Nlc3MtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0zLDcgKzMsNiBA
QCBUZXN0cyB0aGF0IHJlZW50cmFudCBjYWxscyB0byBHZW9sb2NhdGlvCiBPbiBzdWNjZXNzLCB5
b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVT
VCBDT01QTEVURSIuCiAKIAotUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQogUEFTUyBw
b3NpdGlvbi5jb29yZHMubGF0aXR1ZGUgaXMgbW9ja0xhdGl0dWRlCiBQQVNTIHBvc2l0aW9uLmNv
b3Jkcy5sb25naXR1ZGUgaXMgbW9ja0xvbmdpdHVkZQogUEFTUyBwb3NpdGlvbi5jb29yZHMuYWNj
dXJhY3kgaXMgbW9ja0FjY3VyYWN5CkBAIC0xMSw2ICsxMCw3IEBAIFBBU1MgcG9zaXRpb24uY29v
cmRzLmFjY3VyYWN5IGlzIG1vY2tBY2MKIFBBU1MgcG9zaXRpb24uY29vcmRzLmxhdGl0dWRlIGlz
IG1vY2tMYXRpdHVkZQogUEFTUyBwb3NpdGlvbi5jb29yZHMubG9uZ2l0dWRlIGlzIG1vY2tMb25n
aXR1ZGUKIFBBU1MgcG9zaXRpb24uY29vcmRzLmFjY3VyYWN5IGlzIG1vY2tBY2N1cmFjeQorUEFT
UyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQogCiBURVNUIENPTVBMRVRFCiAKSW5kZXg6IExh
eW91dFRlc3RzL2Zhc3QvZG9tL0dlb2xvY2F0aW9uL3JlZW50cmFudC1zdWNjZXNzLmh0bWwKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9kb20vR2VvbG9jYXRpb24vcmVlbnRyYW50LXN1
Y2Nlc3MuaHRtbAkocmV2aXNpb24gNTk3NjYpCisrKyBMYXlvdXRUZXN0cy9mYXN0L2RvbS9HZW9s
b2NhdGlvbi9yZWVudHJhbnQtc3VjY2Vzcy5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC03LDcgKzcs
NyBAQAogPGJvZHk+CiA8cCBpZD0iZGVzY3JpcHRpb24iPjwvcD4KIDxkaXYgaWQ9ImNvbnNvbGUi
PjwvZGl2PgotPHNjcmlwdCBzcmM9InJlc291cmNlcy9yZWVudHJhbnQtc3VjY2Vzcy5qcyI+PC9z
Y3JpcHQ+Ci08c2NyaXB0IHNyYz0icmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0ic2NyaXB0LXRlc3RzL3JlZW50cmFudC1zdWNjZXNzLmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3Nj
cmlwdD4KIDwvYm9keT4KIDwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL2Zhc3QvZG9tL0dlb2xv
Y2F0aW9uL3N1Y2Nlc3MtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zh
c3QvZG9tL0dlb2xvY2F0aW9uL3N1Y2Nlc3MtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiA1OTc2NikK
KysrIExheW91dFRlc3RzL2Zhc3QvZG9tL0dlb2xvY2F0aW9uL3N1Y2Nlc3MtZXhwZWN0ZWQudHh0
CSh3b3JraW5nIGNvcHkpCkBAIC0zLDEwICszLDEwIEBAIFRlc3RzIEdlb2xvY2F0aW9uIHN1Y2Nl
c3MgY2FsbGJhY2sgdXNpbmcKIE9uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAi
UEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KIAogCi1QQVNTIHN1
Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCiBQQVNTIHBvc2l0aW9uLmNvb3Jkcy5sYXRpdHVkZSBp
cyBtb2NrTGF0aXR1ZGUKIFBBU1MgcG9zaXRpb24uY29vcmRzLmxvbmdpdHVkZSBpcyBtb2NrTG9u
Z2l0dWRlCiBQQVNTIHBvc2l0aW9uLmNvb3Jkcy5hY2N1cmFjeSBpcyBtb2NrQWNjdXJhY3kKK1BB
U1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKIAogVEVTVCBDT01QTEVURQogCkluZGV4OiBM
YXlvdXRUZXN0cy9mYXN0L2RvbS9HZW9sb2NhdGlvbi9zdWNjZXNzLmh0bWwKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gTGF5b3V0VGVzdHMvZmFzdC9kb20vR2VvbG9jYXRpb24vc3VjY2Vzcy5odG1sCShyZXZpc2lv
biA1OTc2NikKKysrIExheW91dFRlc3RzL2Zhc3QvZG9tL0dlb2xvY2F0aW9uL3N1Y2Nlc3MuaHRt
bAkod29ya2luZyBjb3B5KQpAQCAtNyw3ICs3LDcgQEAKIDxib2R5PgogPHAgaWQ9ImRlc2NyaXB0
aW9uIj48L3A+CiA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KLTxzY3JpcHQgc3JjPSJyZXNvdXJj
ZXMvc3VjY2Vzcy5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0icmVzb3VyY2VzL2pzLXRlc3Qt
cG9zdC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0ic2NyaXB0LXRlc3RzL3N1Y2Nlc3MuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXBvc3Qu
anMiPjwvc2NyaXB0PgogPC9ib2R5PgogPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9k
b20vR2VvbG9jYXRpb24vdGltZW91dC1jbGVhci13YXRjaC1leHBlY3RlZC50eHQKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9kb20vR2VvbG9jYXRpb24vdGltZW91dC1jbGVhci13YXRj
aC1leHBlY3RlZC50eHQJKHJldmlzaW9uIDU5NzY2KQorKysgTGF5b3V0VGVzdHMvZmFzdC9kb20v
R2VvbG9jYXRpb24vdGltZW91dC1jbGVhci13YXRjaC1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29w
eSkKQEAgLTMsOSArMyw5IEBAIFRlc3RzIHRoYXQgd2hlbiBhIHdhdGNoIHRpbWVzIG91dCBhbmQg
aXMKIE9uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMs
IGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KIAogCi1QQVNTIHN1Y2Nlc3NmdWxseVBhcnNl
ZCBpcyB0cnVlCiBQQVNTIGVycm9yLmNvZGUgaXMgZXJyb3IuVElNRU9VVAogUEFTUyBlcnJvci5t
ZXNzYWdlIGlzICJUaW1lb3V0IGV4cGlyZWQiCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0
cnVlCiAKIFRFU1QgQ09NUExFVEUKIApJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9kb20vR2VvbG9j
YXRpb24vdGltZW91dC1jbGVhci13YXRjaC5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3Rz
L2Zhc3QvZG9tL0dlb2xvY2F0aW9uL3RpbWVvdXQtY2xlYXItd2F0Y2guaHRtbAkocmV2aXNpb24g
NTk3NjYpCisrKyBMYXlvdXRUZXN0cy9mYXN0L2RvbS9HZW9sb2NhdGlvbi90aW1lb3V0LWNsZWFy
LXdhdGNoLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTcsNyArNyw3IEBACiA8Ym9keT4KIDxwIGlk
PSJkZXNjcmlwdGlvbiI+PC9wPgogPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Ci08c2NyaXB0IHNy
Yz0icmVzb3VyY2VzL3RpbWVvdXQtY2xlYXItd2F0Y2guanMiPjwvc2NyaXB0PgotPHNjcmlwdCBz
cmM9InJlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9InNj
cmlwdC10ZXN0cy90aW1lb3V0LWNsZWFyLXdhdGNoLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KIDwvYm9keT4K
IDwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL2Zhc3QvZG9tL0dlb2xvY2F0aW9uL3RpbWVvdXQt
ZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvZG9tL0dlb2xvY2F0
aW9uL3RpbWVvdXQtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiA1OTc2NikKKysrIExheW91dFRlc3Rz
L2Zhc3QvZG9tL0dlb2xvY2F0aW9uL3RpbWVvdXQtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkp
CkBAIC0zLDEwICszLDEwIEBAIFRlc3RzIHRoYXQgd2hlbiB0aW1lb3V0IGlzIG5vbi16ZXJvLCB0
aGUKIE9uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMs
IGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KIAogCi1QQVNTIHN1Y2Nlc3NmdWxseVBhcnNl
ZCBpcyB0cnVlCiBQQVNTIHBvc2l0aW9uLmNvb3Jkcy5sYXRpdHVkZSBpcyBtb2NrTGF0aXR1ZGUK
IFBBU1MgcG9zaXRpb24uY29vcmRzLmxvbmdpdHVkZSBpcyBtb2NrTG9uZ2l0dWRlCiBQQVNTIHBv
c2l0aW9uLmNvb3Jkcy5hY2N1cmFjeSBpcyBtb2NrQWNjdXJhY3kKK1BBU1Mgc3VjY2Vzc2Z1bGx5
UGFyc2VkIGlzIHRydWUKIAogVEVTVCBDT01QTEVURQogCkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0
L2RvbS9HZW9sb2NhdGlvbi90aW1lb3V0LXplcm8tZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IExheW91dFRlc3RzL2Zhc3QvZG9tL0dlb2xvY2F0aW9uL3RpbWVvdXQtemVyby1leHBlY3RlZC50
eHQJKHJldmlzaW9uIDU5NzY2KQorKysgTGF5b3V0VGVzdHMvZmFzdC9kb20vR2VvbG9jYXRpb24v
dGltZW91dC16ZXJvLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMyw5ICszLDkgQEAg
VGVzdHMgdGhhdCB3aGVuIHRpbWVvdXQgaXMgemVybyAoYW5kIG1heAogT24gc3VjY2VzcywgeW91
IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1Qg
Q09NUExFVEUiLgogCiAKLVBBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKIFBBU1MgZXJy
b3IuY29kZSBpcyBlcnJvci5USU1FT1VUCiBQQVNTIGVycm9yLm1lc3NhZ2UgaXMgIlRpbWVvdXQg
ZXhwaXJlZCIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKIAogVEVTVCBDT01QTEVU
RQogCkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L2RvbS9HZW9sb2NhdGlvbi90aW1lb3V0LXplcm8u
aHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L2RvbS9HZW9sb2NhdGlvbi90aW1l
b3V0LXplcm8uaHRtbAkocmV2aXNpb24gNTk3NjYpCisrKyBMYXlvdXRUZXN0cy9mYXN0L2RvbS9H
ZW9sb2NhdGlvbi90aW1lb3V0LXplcm8uaHRtbAkod29ya2luZyBjb3B5KQpAQCAtNyw3ICs3LDcg
QEAKIDxib2R5PgogPHAgaWQ9ImRlc2NyaXB0aW9uIj48L3A+CiA8ZGl2IGlkPSJjb25zb2xlIj48
L2Rpdj4KLTxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvdGltZW91dC16ZXJvLmpzIj48L3NjcmlwdD4K
LTxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSJzY3JpcHQtdGVzdHMvdGltZW91dC16ZXJvLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KIDwvYm9k
eT4KIDwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL2Zhc3QvZG9tL0dlb2xvY2F0aW9uL3RpbWVv
dXQuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L2RvbS9HZW9sb2NhdGlvbi90
aW1lb3V0Lmh0bWwJKHJldmlzaW9uIDU5NzY2KQorKysgTGF5b3V0VGVzdHMvZmFzdC9kb20vR2Vv
bG9jYXRpb24vdGltZW91dC5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC03LDcgKzcsNyBAQAogPGJv
ZHk+CiA8cCBpZD0iZGVzY3JpcHRpb24iPjwvcD4KIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgot
PHNjcmlwdCBzcmM9InJlc291cmNlcy90aW1lb3V0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3Jj
PSJyZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSJzY3Jp
cHQtdGVzdHMvdGltZW91dC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vanMvcmVz
b3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+CiA8L2JvZHk+CiA8L2h0bWw+CkluZGV4
OiBMYXlvdXRUZXN0cy9mYXN0L2RvbS9HZW9sb2NhdGlvbi93YXRjaC1leHBlY3RlZC50eHQKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9kb20vR2VvbG9jYXRpb24vd2F0Y2gtZXhwZWN0
ZWQudHh0CShyZXZpc2lvbiA1OTc2NikKKysrIExheW91dFRlc3RzL2Zhc3QvZG9tL0dlb2xvY2F0
aW9uL3dhdGNoLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMyw3ICszLDYgQEAgVGVz
dHMgdGhhdCB3YXRjaFBvc2l0aW9uIGNvcnJlY3RseSByZXBvcgogT24gc3VjY2VzcywgeW91IHdp
bGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09N
UExFVEUiLgogCiAKLVBBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKIFBBU1MgcG9zaXRp
b24uY29vcmRzLmxhdGl0dWRlIGlzIG1vY2tMYXRpdHVkZQogUEFTUyBwb3NpdGlvbi5jb29yZHMu
bG9uZ2l0dWRlIGlzIG1vY2tMb25naXR1ZGUKIFBBU1MgcG9zaXRpb24uY29vcmRzLmFjY3VyYWN5
IGlzIG1vY2tBY2N1cmFjeQpAQCAtMTksNiArMTgsNyBAQCBQQVNTIHBvc2l0aW9uLmNvb3Jkcy5s
YXRpdHVkZSBpcyBtb2NrTGF0CiBQQVNTIHBvc2l0aW9uLmNvb3Jkcy5sb25naXR1ZGUgaXMgbW9j
a0xvbmdpdHVkZQogUEFTUyBwb3NpdGlvbi5jb29yZHMuYWNjdXJhY3kgaXMgbW9ja0FjY3VyYWN5
CiAKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKIAogVEVTVCBDT01QTEVURQogCklu
ZGV4OiBMYXlvdXRUZXN0cy9mYXN0L2RvbS9HZW9sb2NhdGlvbi93YXRjaC5odG1sCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvZG9tL0dlb2xvY2F0aW9uL3dhdGNoLmh0bWwJKHJldmlz
aW9uIDU5NzY2KQorKysgTGF5b3V0VGVzdHMvZmFzdC9kb20vR2VvbG9jYXRpb24vd2F0Y2guaHRt
bAkod29ya2luZyBjb3B5KQpAQCAtNyw3ICs3LDcgQEAKIDxib2R5PgogPHAgaWQ9ImRlc2NyaXB0
aW9uIj48L3A+CiA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KLTxzY3JpcHQgc3JjPSJyZXNvdXJj
ZXMvd2F0Y2guanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9InJlc291cmNlcy9qcy10ZXN0LXBv
c3QuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9InNjcmlwdC10ZXN0cy93YXRjaC5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+
PC9zY3JpcHQ+CiA8L2JvZHk+CiA8L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L2RvbS9H
ZW9sb2NhdGlvbi9yZXNvdXJjZXMvVEVNUExBVEUuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRU
ZXN0cy9mYXN0L2RvbS9HZW9sb2NhdGlvbi9yZXNvdXJjZXMvVEVNUExBVEUuaHRtbAkocmV2aXNp
b24gNTk3NjYpCisrKyBMYXlvdXRUZXN0cy9mYXN0L2RvbS9HZW9sb2NhdGlvbi9yZXNvdXJjZXMv
VEVNUExBVEUuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMSwxMyArMCwwIEBACi08IURPQ1RZUEUg
SFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Ci08aHRtbD4KLTxoZWFkPgotPGxp
bmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIuLi8uLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1zdHls
ZS5jc3MiPgotPHNjcmlwdCBzcmM9Ii4uLy4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+
PC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keT4KLTxwIGlkPSJkZXNjcmlwdGlvbiI+PC9wPgotPGRp
diBpZD0iY29uc29sZSI+PC9kaXY+Ci08c2NyaXB0IHNyYz0iWU9VUl9KU19GSUxFX0hFUkUiPjwv
c2NyaXB0PgotPHNjcmlwdCBzcmM9InJlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0
PgotPC9ib2R5PgotPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9kb20vR2VvbG9jYXRp
b24vcmVzb3VyY2VzL2FyZ3VtZW50LXR5cGVzLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3Rz
L2Zhc3QvZG9tL0dlb2xvY2F0aW9uL3Jlc291cmNlcy9hcmd1bWVudC10eXBlcy5qcwkocmV2aXNp
b24gNTk3NjYpCisrKyBMYXlvdXRUZXN0cy9mYXN0L2RvbS9HZW9sb2NhdGlvbi9yZXNvdXJjZXMv
YXJndW1lbnQtdHlwZXMuanMJKHdvcmtpbmcgY29weSkKQEAgLTEsMTE5ICswLDAgQEAKLWRlc2Ny
aXB0aW9uKCJUZXN0cyB0aGUgYWNjZXB0YWJsZSB0eXBlcyBmb3IgYXJndW1lbnRzIHRvIEdlb2xv
Y2F0aW9uIG1ldGhvZHMuIik7Ci0KLWZ1bmN0aW9uIHNob3VsZE5vdFRocm93KGV4cHJlc3Npb24p
Ci17Ci0gIHRyeSB7Ci0gICAgZXZhbChleHByZXNzaW9uKTsKLSAgICB0ZXN0UGFzc2VkKGV4cHJl
c3Npb24gKyAiIGRpZCBub3QgdGhyb3cgZXhjZXB0aW9uLiIpOwotICB9IGNhdGNoKGUpIHsKLSAg
ICB0ZXN0RmFpbGVkKGV4cHJlc3Npb24gKyAiIHNob3VsZCBub3QgdGhyb3cgZXhjZXB0aW9uLiBU
aHJldyBleGNlcHRpb24gIiArIGUpOwotICB9Ci19Ci0KLWZ1bmN0aW9uIHRlc3QoZXhwcmVzc2lv
biwgZXhwcmVzc2lvblNob3VsZFRocm93LCBleHBlY3RlZEV4Y2VwdGlvbikgewotICAgIGlmIChl
eHByZXNzaW9uU2hvdWxkVGhyb3cpIHsKLSAgICAgICAgaWYgKGV4cGVjdGVkRXhjZXB0aW9uKQot
ICAgICAgICAgICAgc2hvdWxkVGhyb3coZXhwcmVzc2lvbiwgJyhmdW5jdGlvbigpIHsgcmV0dXJu
ICInICsgZXhwZWN0ZWRFeGNlcHRpb24gKyAnIjsgfSkoKTsnKTsKLSAgICAgICAgZWxzZQotICAg
ICAgICAgICAgc2hvdWxkVGhyb3coZXhwcmVzc2lvbiwgJyhmdW5jdGlvbigpIHsgcmV0dXJuICJF
cnJvcjogVFlQRV9NSVNNQVRDSF9FUlI6IERPTSBFeGNlcHRpb24gMTciOyB9KSgpOycpOwotICAg
IH0gZWxzZSB7Ci0gICAgICAgIHNob3VsZE5vdFRocm93KGV4cHJlc3Npb24pOwotICAgIH0KLX0K
LQotdmFyIGVtcHR5RnVuY3Rpb24gPSBmdW5jdGlvbigpIHt9OwotCi1mdW5jdGlvbiBPYmplY3RU
aHJvd2luZ0V4Y2VwdGlvbigpIHt9OwotT2JqZWN0VGhyb3dpbmdFeGNlcHRpb24ucHJvdG90eXBl
LnZhbHVlT2YgPSBmdW5jdGlvbigpIHsKLSAgICB0aHJvdyBuZXcgRXJyb3IoJ3ZhbHVlT2YgdGhy
ZXcgZXhjZXB0aW9uJyk7Ci19Ci1PYmplY3RUaHJvd2luZ0V4Y2VwdGlvbi5wcm90b3R5cGUuX19k
ZWZpbmVHZXR0ZXJfXygiZW5hYmxlSGlnaEFjY3VyYWN5IiwgZnVuY3Rpb24oKSB7Ci0gICAgdGhy
b3cgbmV3IEVycm9yKCdlbmFibGVIaWdoQWNjdXJhY3kgZ2V0dGVyIGV4Y2VwdGlvbicpOwotfSk7
Ci12YXIgb2JqZWN0VGhyb3dpbmdFeGNlcHRpb24gPSBuZXcgT2JqZWN0VGhyb3dpbmdFeGNlcHRp
b24oKTsKLQotCi10ZXN0KCduYXZpZ2F0b3IuZ2VvbG9jYXRpb24uZ2V0Q3VycmVudFBvc2l0aW9u
KCknLCB0cnVlKTsKLQotdGVzdCgnbmF2aWdhdG9yLmdlb2xvY2F0aW9uLmdldEN1cnJlbnRQb3Np
dGlvbih1bmRlZmluZWQpJywgdHJ1ZSk7Ci10ZXN0KCduYXZpZ2F0b3IuZ2VvbG9jYXRpb24uZ2V0
Q3VycmVudFBvc2l0aW9uKG51bGwpJywgdHJ1ZSk7Ci10ZXN0KCduYXZpZ2F0b3IuZ2VvbG9jYXRp
b24uZ2V0Q3VycmVudFBvc2l0aW9uKHt9KScsIHRydWUpOwotdGVzdCgnbmF2aWdhdG9yLmdlb2xv
Y2F0aW9uLmdldEN1cnJlbnRQb3NpdGlvbihvYmplY3RUaHJvd2luZ0V4Y2VwdGlvbiknLCB0cnVl
KTsKLXRlc3QoJ25hdmlnYXRvci5nZW9sb2NhdGlvbi5nZXRDdXJyZW50UG9zaXRpb24oZW1wdHlG
dW5jdGlvbiknLCBmYWxzZSk7Ci10ZXN0KCduYXZpZ2F0b3IuZ2VvbG9jYXRpb24uZ2V0Q3VycmVu
dFBvc2l0aW9uKE1hdGguYWJzKScsIGZhbHNlKTsKLXRlc3QoJ25hdmlnYXRvci5nZW9sb2NhdGlv
bi5nZXRDdXJyZW50UG9zaXRpb24odHJ1ZSknLCB0cnVlKTsKLXRlc3QoJ25hdmlnYXRvci5nZW9s
b2NhdGlvbi5nZXRDdXJyZW50UG9zaXRpb24oNDIpJywgdHJ1ZSk7Ci10ZXN0KCduYXZpZ2F0b3Iu
Z2VvbG9jYXRpb24uZ2V0Q3VycmVudFBvc2l0aW9uKEluZmluaXR5KScsIHRydWUpOwotdGVzdCgn
bmF2aWdhdG9yLmdlb2xvY2F0aW9uLmdldEN1cnJlbnRQb3NpdGlvbigtSW5maW5pdHkpJywgdHJ1
ZSk7Ci10ZXN0KCduYXZpZ2F0b3IuZ2VvbG9jYXRpb24uZ2V0Q3VycmVudFBvc2l0aW9uKCJzdHJp
bmciKScsIHRydWUpOwotCi10ZXN0KCduYXZpZ2F0b3IuZ2VvbG9jYXRpb24uZ2V0Q3VycmVudFBv
c2l0aW9uKGVtcHR5RnVuY3Rpb24sIHVuZGVmaW5lZCknLCBmYWxzZSk7Ci10ZXN0KCduYXZpZ2F0
b3IuZ2VvbG9jYXRpb24uZ2V0Q3VycmVudFBvc2l0aW9uKGVtcHR5RnVuY3Rpb24sIG51bGwpJywg
ZmFsc2UpOwotdGVzdCgnbmF2aWdhdG9yLmdlb2xvY2F0aW9uLmdldEN1cnJlbnRQb3NpdGlvbihl
bXB0eUZ1bmN0aW9uLCB7fSknLCB0cnVlKTsKLXRlc3QoJ25hdmlnYXRvci5nZW9sb2NhdGlvbi5n
ZXRDdXJyZW50UG9zaXRpb24oZW1wdHlGdW5jdGlvbiwgb2JqZWN0VGhyb3dpbmdFeGNlcHRpb24p
JywgdHJ1ZSk7Ci10ZXN0KCduYXZpZ2F0b3IuZ2VvbG9jYXRpb24uZ2V0Q3VycmVudFBvc2l0aW9u
KGVtcHR5RnVuY3Rpb24sIGVtcHR5RnVuY3Rpb24pJywgZmFsc2UpOwotdGVzdCgnbmF2aWdhdG9y
Lmdlb2xvY2F0aW9uLmdldEN1cnJlbnRQb3NpdGlvbihlbXB0eUZ1bmN0aW9uLCBNYXRoLmFicykn
LCBmYWxzZSk7Ci10ZXN0KCduYXZpZ2F0b3IuZ2VvbG9jYXRpb24uZ2V0Q3VycmVudFBvc2l0aW9u
KGVtcHR5RnVuY3Rpb24sIHRydWUpJywgdHJ1ZSk7Ci10ZXN0KCduYXZpZ2F0b3IuZ2VvbG9jYXRp
b24uZ2V0Q3VycmVudFBvc2l0aW9uKGVtcHR5RnVuY3Rpb24sIDQyKScsIHRydWUpOwotdGVzdCgn
bmF2aWdhdG9yLmdlb2xvY2F0aW9uLmdldEN1cnJlbnRQb3NpdGlvbihlbXB0eUZ1bmN0aW9uLCBJ
bmZpbml0eSknLCB0cnVlKTsKLXRlc3QoJ25hdmlnYXRvci5nZW9sb2NhdGlvbi5nZXRDdXJyZW50
UG9zaXRpb24oZW1wdHlGdW5jdGlvbiwgLUluZmluaXR5KScsIHRydWUpOwotdGVzdCgnbmF2aWdh
dG9yLmdlb2xvY2F0aW9uLmdldEN1cnJlbnRQb3NpdGlvbihlbXB0eUZ1bmN0aW9uLCAic3RyaW5n
IiknLCB0cnVlKTsKLQotdGVzdCgnbmF2aWdhdG9yLmdlb2xvY2F0aW9uLmdldEN1cnJlbnRQb3Np
dGlvbihlbXB0eUZ1bmN0aW9uLCB1bmRlZmluZWQsIHVuZGVmaW5lZCknLCBmYWxzZSk7Ci10ZXN0
KCduYXZpZ2F0b3IuZ2VvbG9jYXRpb24uZ2V0Q3VycmVudFBvc2l0aW9uKGVtcHR5RnVuY3Rpb24s
IHVuZGVmaW5lZCwgbnVsbCknLCBmYWxzZSk7Ci10ZXN0KCduYXZpZ2F0b3IuZ2VvbG9jYXRpb24u
Z2V0Q3VycmVudFBvc2l0aW9uKGVtcHR5RnVuY3Rpb24sIHVuZGVmaW5lZCwge30pJywgZmFsc2Up
OwotdGVzdCgnbmF2aWdhdG9yLmdlb2xvY2F0aW9uLmdldEN1cnJlbnRQb3NpdGlvbihlbXB0eUZ1
bmN0aW9uLCB1bmRlZmluZWQsIG9iamVjdFRocm93aW5nRXhjZXB0aW9uKScsIHRydWUsICdFcnJv
cjogZW5hYmxlSGlnaEFjY3VyYWN5IGdldHRlciBleGNlcHRpb24nKTsKLXRlc3QoJ25hdmlnYXRv
ci5nZW9sb2NhdGlvbi5nZXRDdXJyZW50UG9zaXRpb24oZW1wdHlGdW5jdGlvbiwgdW5kZWZpbmVk
LCBlbXB0eUZ1bmN0aW9uKScsIGZhbHNlKTsKLXRlc3QoJ25hdmlnYXRvci5nZW9sb2NhdGlvbi5n
ZXRDdXJyZW50UG9zaXRpb24oZW1wdHlGdW5jdGlvbiwgdW5kZWZpbmVkLCB0cnVlKScsIGZhbHNl
KTsKLXRlc3QoJ25hdmlnYXRvci5nZW9sb2NhdGlvbi5nZXRDdXJyZW50UG9zaXRpb24oZW1wdHlG
dW5jdGlvbiwgdW5kZWZpbmVkLCA0MiknLCBmYWxzZSk7Ci10ZXN0KCduYXZpZ2F0b3IuZ2VvbG9j
YXRpb24uZ2V0Q3VycmVudFBvc2l0aW9uKGVtcHR5RnVuY3Rpb24sIHVuZGVmaW5lZCwgSW5maW5p
dHkpJywgZmFsc2UpOwotdGVzdCgnbmF2aWdhdG9yLmdlb2xvY2F0aW9uLmdldEN1cnJlbnRQb3Np
dGlvbihlbXB0eUZ1bmN0aW9uLCB1bmRlZmluZWQsIC1JbmZpbml0eSknLCBmYWxzZSk7Ci10ZXN0
KCduYXZpZ2F0b3IuZ2VvbG9jYXRpb24uZ2V0Q3VycmVudFBvc2l0aW9uKGVtcHR5RnVuY3Rpb24s
IHVuZGVmaW5lZCwgInN0cmluZyIpJywgZmFsc2UpOwotCi10ZXN0KCduYXZpZ2F0b3IuZ2VvbG9j
YXRpb24uZ2V0Q3VycmVudFBvc2l0aW9uKGVtcHR5RnVuY3Rpb24sIHVuZGVmaW5lZCwge2R1bW15
UHJvcGVydHk6dW5kZWZpbmVkfSknLCBmYWxzZSk7Ci10ZXN0KCduYXZpZ2F0b3IuZ2VvbG9jYXRp
b24uZ2V0Q3VycmVudFBvc2l0aW9uKGVtcHR5RnVuY3Rpb24sIHVuZGVmaW5lZCwge2R1bW15UHJv
cGVydHk6bnVsbH0pJywgZmFsc2UpOwotdGVzdCgnbmF2aWdhdG9yLmdlb2xvY2F0aW9uLmdldEN1
cnJlbnRQb3NpdGlvbihlbXB0eUZ1bmN0aW9uLCB1bmRlZmluZWQsIHtkdW1teVByb3BlcnR5Ont9
fSknLCBmYWxzZSk7Ci10ZXN0KCduYXZpZ2F0b3IuZ2VvbG9jYXRpb24uZ2V0Q3VycmVudFBvc2l0
aW9uKGVtcHR5RnVuY3Rpb24sIHVuZGVmaW5lZCwge2R1bW15UHJvcGVydHk6b2JqZWN0VGhyb3dp
bmdFeGNlcHRpb259KScsIGZhbHNlKTsKLXRlc3QoJ25hdmlnYXRvci5nZW9sb2NhdGlvbi5nZXRD
dXJyZW50UG9zaXRpb24oZW1wdHlGdW5jdGlvbiwgdW5kZWZpbmVkLCB7ZHVtbXlQcm9wZXJ0eTpl
bXB0eUZ1bmN0aW9ufSknLCBmYWxzZSk7Ci10ZXN0KCduYXZpZ2F0b3IuZ2VvbG9jYXRpb24uZ2V0
Q3VycmVudFBvc2l0aW9uKGVtcHR5RnVuY3Rpb24sIHVuZGVmaW5lZCwge2R1bW15UHJvcGVydHk6
dHJ1ZX0pJywgZmFsc2UpOwotdGVzdCgnbmF2aWdhdG9yLmdlb2xvY2F0aW9uLmdldEN1cnJlbnRQ
b3NpdGlvbihlbXB0eUZ1bmN0aW9uLCB1bmRlZmluZWQsIHtkdW1teVByb3BlcnR5OjQyfSknLCBm
YWxzZSk7Ci10ZXN0KCduYXZpZ2F0b3IuZ2VvbG9jYXRpb24uZ2V0Q3VycmVudFBvc2l0aW9uKGVt
cHR5RnVuY3Rpb24sIHVuZGVmaW5lZCwge2R1bW15UHJvcGVydHk6SW5maW5pdHl9KScsIGZhbHNl
KTsKLXRlc3QoJ25hdmlnYXRvci5nZW9sb2NhdGlvbi5nZXRDdXJyZW50UG9zaXRpb24oZW1wdHlG
dW5jdGlvbiwgdW5kZWZpbmVkLCB7ZHVtbXlQcm9wZXJ0eTotSW5maW5pdHl9KScsIGZhbHNlKTsK
LXRlc3QoJ25hdmlnYXRvci5nZW9sb2NhdGlvbi5nZXRDdXJyZW50UG9zaXRpb24oZW1wdHlGdW5j
dGlvbiwgdW5kZWZpbmVkLCB7ZHVtbXlQcm9wZXJ0eToic3RyaW5nIn0pJywgZmFsc2UpOwotCi10
ZXN0KCduYXZpZ2F0b3IuZ2VvbG9jYXRpb24uZ2V0Q3VycmVudFBvc2l0aW9uKGVtcHR5RnVuY3Rp
b24sIHVuZGVmaW5lZCwge2VuYWJsZUhpZ2hBY2N1cmFjeTp1bmRlZmluZWR9KScsIGZhbHNlKTsK
LXRlc3QoJ25hdmlnYXRvci5nZW9sb2NhdGlvbi5nZXRDdXJyZW50UG9zaXRpb24oZW1wdHlGdW5j
dGlvbiwgdW5kZWZpbmVkLCB7ZW5hYmxlSGlnaEFjY3VyYWN5Om51bGx9KScsIGZhbHNlKTsKLXRl
c3QoJ25hdmlnYXRvci5nZW9sb2NhdGlvbi5nZXRDdXJyZW50UG9zaXRpb24oZW1wdHlGdW5jdGlv
biwgdW5kZWZpbmVkLCB7ZW5hYmxlSGlnaEFjY3VyYWN5Ont9fSknLCBmYWxzZSk7Ci10ZXN0KCdu
YXZpZ2F0b3IuZ2VvbG9jYXRpb24uZ2V0Q3VycmVudFBvc2l0aW9uKGVtcHR5RnVuY3Rpb24sIHVu
ZGVmaW5lZCwge2VuYWJsZUhpZ2hBY2N1cmFjeTpvYmplY3RUaHJvd2luZ0V4Y2VwdGlvbn0pJywg
ZmFsc2UpOwotdGVzdCgnbmF2aWdhdG9yLmdlb2xvY2F0aW9uLmdldEN1cnJlbnRQb3NpdGlvbihl
bXB0eUZ1bmN0aW9uLCB1bmRlZmluZWQsIHtlbmFibGVIaWdoQWNjdXJhY3k6ZW1wdHlGdW5jdGlv
bn0pJywgZmFsc2UpOwotdGVzdCgnbmF2aWdhdG9yLmdlb2xvY2F0aW9uLmdldEN1cnJlbnRQb3Np
dGlvbihlbXB0eUZ1bmN0aW9uLCB1bmRlZmluZWQsIHtlbmFibGVIaWdoQWNjdXJhY3k6dHJ1ZX0p
JywgZmFsc2UpOwotdGVzdCgnbmF2aWdhdG9yLmdlb2xvY2F0aW9uLmdldEN1cnJlbnRQb3NpdGlv
bihlbXB0eUZ1bmN0aW9uLCB1bmRlZmluZWQsIHtlbmFibGVIaWdoQWNjdXJhY3k6NDJ9KScsIGZh
bHNlKTsKLXRlc3QoJ25hdmlnYXRvci5nZW9sb2NhdGlvbi5nZXRDdXJyZW50UG9zaXRpb24oZW1w
dHlGdW5jdGlvbiwgdW5kZWZpbmVkLCB7ZW5hYmxlSGlnaEFjY3VyYWN5OkluZmluaXR5fSknLCBm
YWxzZSk7Ci10ZXN0KCduYXZpZ2F0b3IuZ2VvbG9jYXRpb24uZ2V0Q3VycmVudFBvc2l0aW9uKGVt
cHR5RnVuY3Rpb24sIHVuZGVmaW5lZCwge2VuYWJsZUhpZ2hBY2N1cmFjeTotSW5maW5pdHl9KScs
IGZhbHNlKTsKLXRlc3QoJ25hdmlnYXRvci5nZW9sb2NhdGlvbi5nZXRDdXJyZW50UG9zaXRpb24o
ZW1wdHlGdW5jdGlvbiwgdW5kZWZpbmVkLCB7ZW5hYmxlSGlnaEFjY3VyYWN5OiJzdHJpbmcifSkn
LCBmYWxzZSk7Ci0KLXRlc3QoJ25hdmlnYXRvci5nZW9sb2NhdGlvbi5nZXRDdXJyZW50UG9zaXRp
b24oZW1wdHlGdW5jdGlvbiwgdW5kZWZpbmVkLCB7bWF4aW11bUFnZTp1bmRlZmluZWR9KScsIGZh
bHNlKTsKLXRlc3QoJ25hdmlnYXRvci5nZW9sb2NhdGlvbi5nZXRDdXJyZW50UG9zaXRpb24oZW1w
dHlGdW5jdGlvbiwgdW5kZWZpbmVkLCB7bWF4aW11bUFnZTpudWxsfSknLCBmYWxzZSk7Ci10ZXN0
KCduYXZpZ2F0b3IuZ2VvbG9jYXRpb24uZ2V0Q3VycmVudFBvc2l0aW9uKGVtcHR5RnVuY3Rpb24s
IHVuZGVmaW5lZCwge21heGltdW1BZ2U6e319KScsIGZhbHNlKTsKLXRlc3QoJ25hdmlnYXRvci5n
ZW9sb2NhdGlvbi5nZXRDdXJyZW50UG9zaXRpb24oZW1wdHlGdW5jdGlvbiwgdW5kZWZpbmVkLCB7
bWF4aW11bUFnZTpvYmplY3RUaHJvd2luZ0V4Y2VwdGlvbn0pJywgdHJ1ZSwgJ0Vycm9yOiB2YWx1
ZU9mIHRocmV3IGV4Y2VwdGlvbicpOwotdGVzdCgnbmF2aWdhdG9yLmdlb2xvY2F0aW9uLmdldEN1
cnJlbnRQb3NpdGlvbihlbXB0eUZ1bmN0aW9uLCB1bmRlZmluZWQsIHttYXhpbXVtQWdlOmVtcHR5
RnVuY3Rpb259KScsIGZhbHNlKTsKLXRlc3QoJ25hdmlnYXRvci5nZW9sb2NhdGlvbi5nZXRDdXJy
ZW50UG9zaXRpb24oZW1wdHlGdW5jdGlvbiwgdW5kZWZpbmVkLCB7bWF4aW11bUFnZTp0cnVlfSkn
LCBmYWxzZSk7Ci10ZXN0KCduYXZpZ2F0b3IuZ2VvbG9jYXRpb24uZ2V0Q3VycmVudFBvc2l0aW9u
KGVtcHR5RnVuY3Rpb24sIHVuZGVmaW5lZCwge21heGltdW1BZ2U6NDJ9KScsIGZhbHNlKTsKLXRl
c3QoJ25hdmlnYXRvci5nZW9sb2NhdGlvbi5nZXRDdXJyZW50UG9zaXRpb24oZW1wdHlGdW5jdGlv
biwgdW5kZWZpbmVkLCB7bWF4aW11bUFnZTpJbmZpbml0eX0pJywgZmFsc2UpOwotdGVzdCgnbmF2
aWdhdG9yLmdlb2xvY2F0aW9uLmdldEN1cnJlbnRQb3NpdGlvbihlbXB0eUZ1bmN0aW9uLCB1bmRl
ZmluZWQsIHttYXhpbXVtQWdlOi1JbmZpbml0eX0pJywgZmFsc2UpOwotdGVzdCgnbmF2aWdhdG9y
Lmdlb2xvY2F0aW9uLmdldEN1cnJlbnRQb3NpdGlvbihlbXB0eUZ1bmN0aW9uLCB1bmRlZmluZWQs
IHttYXhpbXVtQWdlOiJzdHJpbmcifSknLCBmYWxzZSk7Ci0KLXRlc3QoJ25hdmlnYXRvci5nZW9s
b2NhdGlvbi5nZXRDdXJyZW50UG9zaXRpb24oZW1wdHlGdW5jdGlvbiwgdW5kZWZpbmVkLCB7dGlt
ZW91dDp1bmRlZmluZWR9KScsIGZhbHNlKTsKLXRlc3QoJ25hdmlnYXRvci5nZW9sb2NhdGlvbi5n
ZXRDdXJyZW50UG9zaXRpb24oZW1wdHlGdW5jdGlvbiwgdW5kZWZpbmVkLCB7dGltZW91dDpudWxs
fSknLCBmYWxzZSk7Ci10ZXN0KCduYXZpZ2F0b3IuZ2VvbG9jYXRpb24uZ2V0Q3VycmVudFBvc2l0
aW9uKGVtcHR5RnVuY3Rpb24sIHVuZGVmaW5lZCwge3RpbWVvdXQ6e319KScsIGZhbHNlKTsKLXRl
c3QoJ25hdmlnYXRvci5nZW9sb2NhdGlvbi5nZXRDdXJyZW50UG9zaXRpb24oZW1wdHlGdW5jdGlv
biwgdW5kZWZpbmVkLCB7dGltZW91dDpvYmplY3RUaHJvd2luZ0V4Y2VwdGlvbn0pJywgdHJ1ZSwg
J0Vycm9yOiB2YWx1ZU9mIHRocmV3IGV4Y2VwdGlvbicpOwotdGVzdCgnbmF2aWdhdG9yLmdlb2xv
Y2F0aW9uLmdldEN1cnJlbnRQb3NpdGlvbihlbXB0eUZ1bmN0aW9uLCB1bmRlZmluZWQsIHt0aW1l
b3V0OmVtcHR5RnVuY3Rpb259KScsIGZhbHNlKTsKLXRlc3QoJ25hdmlnYXRvci5nZW9sb2NhdGlv
bi5nZXRDdXJyZW50UG9zaXRpb24oZW1wdHlGdW5jdGlvbiwgdW5kZWZpbmVkLCB7dGltZW91dDp0
cnVlfSknLCBmYWxzZSk7Ci10ZXN0KCduYXZpZ2F0b3IuZ2VvbG9jYXRpb24uZ2V0Q3VycmVudFBv
c2l0aW9uKGVtcHR5RnVuY3Rpb24sIHVuZGVmaW5lZCwge3RpbWVvdXQ6NDJ9KScsIGZhbHNlKTsK
LXRlc3QoJ25hdmlnYXRvci5nZW9sb2NhdGlvbi5nZXRDdXJyZW50UG9zaXRpb24oZW1wdHlGdW5j
dGlvbiwgdW5kZWZpbmVkLCB7dGltZW91dDpJbmZpbml0eX0pJywgZmFsc2UpOwotdGVzdCgnbmF2
aWdhdG9yLmdlb2xvY2F0aW9uLmdldEN1cnJlbnRQb3NpdGlvbihlbXB0eUZ1bmN0aW9uLCB1bmRl
ZmluZWQsIHt0aW1lb3V0Oi1JbmZpbml0eX0pJywgZmFsc2UpOwotdGVzdCgnbmF2aWdhdG9yLmdl
b2xvY2F0aW9uLmdldEN1cnJlbnRQb3NpdGlvbihlbXB0eUZ1bmN0aW9uLCB1bmRlZmluZWQsIHt0
aW1lb3V0OiJzdHJpbmcifSknLCBmYWxzZSk7Ci0KLXZhciBpc0FzeW5jaHJvbm91cyA9IGZhbHNl
OwotdmFyIHN1Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWU7Ci0KSW5kZXg6IExheW91dFRlc3RzL2Zh
c3QvZG9tL0dlb2xvY2F0aW9uL3Jlc291cmNlcy9jYWxsYmFjay1leGNlcHRpb24uanMKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9kb20vR2VvbG9jYXRpb24vcmVzb3VyY2VzL2NhbGxi
YWNrLWV4Y2VwdGlvbi5qcwkocmV2aXNpb24gNTk3NjYpCisrKyBMYXlvdXRUZXN0cy9mYXN0L2Rv
bS9HZW9sb2NhdGlvbi9yZXNvdXJjZXMvY2FsbGJhY2stZXhjZXB0aW9uLmpzCSh3b3JraW5nIGNv
cHkpCkBAIC0xLDM2ICswLDAgQEAKLWRlc2NyaXB0aW9uKCJUZXN0cyB0aGF0IHdoZW4gYW4gZXhj
ZXB0aW9uIGlzIHRocm93biBpbiB0aGUgc3VjY2VzcyBjYWxsYmFjaywgdGhlIGVycm9yIGNhbGxi
YWNrIGlzIG5vdCBpbnZva2VkLiBOb3RlIHRoYXQgdGhpcyB0ZXN0IHRocm93cyBhbiBleGNlcHRp
b24gd2hpY2ggaXMgbm90IGNhdWdodC4iKTsKLQotdmFyIG1vY2tMYXRpdHVkZSA9IDUxLjQ3ODsK
LXZhciBtb2NrTG9uZ2l0dWRlID0gLTAuMTY2OwotdmFyIG1vY2tBY2N1cmFjeSA9IDEwMDsKLQot
d2luZG93LmxheW91dFRlc3RDb250cm9sbGVyLnNldEdlb2xvY2F0aW9uUGVybWlzc2lvbih0cnVl
KTsKLXdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlci5zZXRNb2NrR2VvbG9jYXRpb25Qb3NpdGlv
bihtb2NrTGF0aXR1ZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgbW9ja0xvbmdpdHVkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtb2NrQWNjdXJhY3kpOwotCi12YXIgcG9zaXRp
b247Ci1uYXZpZ2F0b3IuZ2VvbG9jYXRpb24uZ2V0Q3VycmVudFBvc2l0aW9uKGZ1bmN0aW9uKHAp
IHsKLSAgICBwb3NpdGlvbiA9IHAKLSAgICBzaG91bGRCZSgncG9zaXRpb24uY29vcmRzLmxhdGl0
dWRlJywgJ21vY2tMYXRpdHVkZScpOwotICAgIHNob3VsZEJlKCdwb3NpdGlvbi5jb29yZHMubG9u
Z2l0dWRlJywgJ21vY2tMb25naXR1ZGUnKTsKLSAgICBzaG91bGRCZSgncG9zaXRpb24uY29vcmRz
LmFjY3VyYWN5JywgJ21vY2tBY2N1cmFjeScpOwotCi0gICAgLy8gWWllbGQgdG8gYWxsb3cgZm9y
IHRoZSBlcnJvciBjYWxsYmFjayB0byBiZSBpbnZva2VkLiBUaGUgdGltZXIKLSAgICAvLyBtdXN0
IGJlIHN0YXJ0ZWQgYmVmb3JlIHRoZSBleGNlcHRpb24gaXMgdGhyb3duLgotICAgIHdpbmRvdy5z
ZXRUaW1lb3V0KGNvbXBsZXRlVGVzdCwgMCk7Ci0gICAgdGhyb3cgbmV3IEVycm9yKCdFeGNlcHRp
b24gaW4gc3VjY2VzcyBjYWxsYmFjaycpOwotfSwgZnVuY3Rpb24oZSkgewotICAgIHRlc3RGYWls
ZWQoJ0Vycm9yIGNhbGxiYWNrIGludm9rZWQgdW5leHBlY3RlZGx5Jyk7Ci0gICAgd2luZG93Lmxh
eW91dFRlc3RDb250cm9sbGVyLm5vdGlmeURvbmUoKTsKLX0pOwotCi1mdW5jdGlvbiBjb21wbGV0
ZVRlc3QoKQotewotICAgIGRlYnVnKCc8YnIgLz48c3BhbiBjbGFzcz0icGFzcyI+VEVTVCBDT01Q
TEVURTwvc3Bhbj4nKTsKLSAgICB3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIubm90aWZ5RG9u
ZSgpOwotfQotd2luZG93LmxheW91dFRlc3RDb250cm9sbGVyLndhaXRVbnRpbERvbmUoKTsKLQot
dmFyIGlzQXN5bmNocm9ub3VzID0gdHJ1ZTsKLXZhciBzdWNjZXNzZnVsbHlQYXJzZWQgPSB0cnVl
OwpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9kb20vR2VvbG9jYXRpb24vcmVzb3VyY2VzL2VuYWJs
ZWQuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9kb20vR2VvbG9jYXRpb24vcmVz
b3VyY2VzL2VuYWJsZWQuanMJKHJldmlzaW9uIDU5NzY2KQorKysgTGF5b3V0VGVzdHMvZmFzdC9k
b20vR2VvbG9jYXRpb24vcmVzb3VyY2VzL2VuYWJsZWQuanMJKHdvcmtpbmcgY29weSkKQEAgLTEs
MTggKzAsMCBAQAotZGVzY3JpcHRpb24oIlRlc3RzIHRoYXQgdGhlIG5hdmlnYXRvci5nZW9sb2Nh
dGlvbiBvYmplY3QgaXMgcHJlc2VudC4iKTsKLQotZnVuY3Rpb24gaGFzR2VvbG9jYXRpb25Qcm9w
ZXJ0eSgpCi17Ci0gICAgZm9yICh2YXIgcHJvcGVydHkgaW4gbmF2aWdhdG9yKSB7Ci0gICAgICAg
IGlmIChwcm9wZXJ0eSA9PSAiZ2VvbG9jYXRpb24iKQotICAgICAgICAgICAgcmV0dXJuIHRydWU7
Ci0gICAgfQotICAgIHJldHVybiBmYWxzZTsKLX0KLQotc2hvdWxkQmVUcnVlKCJ0eXBlb2YgbmF2
aWdhdG9yLmdlb2xvY2F0aW9uID09ICdvYmplY3QnIik7Ci1zaG91bGRCZVRydWUoImhhc0dlb2xv
Y2F0aW9uUHJvcGVydHkoKSIpOwotc2hvdWxkQmVUcnVlKCInZ2VvbG9jYXRpb24nIGluIG5hdmln
YXRvciIpOwotc2hvdWxkQmVUcnVlKCJuYXZpZ2F0b3IuaGFzT3duUHJvcGVydHkoJ2dlb2xvY2F0
aW9uJykiKTsKLQotdmFyIGlzQXN5bmNocm9ub3VzID0gZmFsc2U7Ci12YXIgc3VjY2Vzc2Z1bGx5
UGFyc2VkID0gdHJ1ZTsKSW5kZXg6IExheW91dFRlc3RzL2Zhc3QvZG9tL0dlb2xvY2F0aW9uL3Jl
c291cmNlcy9lcnJvci5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L2RvbS9HZW9s
b2NhdGlvbi9yZXNvdXJjZXMvZXJyb3IuanMJKHJldmlzaW9uIDU5NzY2KQorKysgTGF5b3V0VGVz
dHMvZmFzdC9kb20vR2VvbG9jYXRpb24vcmVzb3VyY2VzL2Vycm9yLmpzCSh3b3JraW5nIGNvcHkp
CkBAIC0xLDI3ICswLDAgQEAKLWRlc2NyaXB0aW9uKCJUZXN0cyBHZW9sb2NhdGlvbiBlcnJvciBj
YWxsYmFjayB1c2luZyB0aGUgbW9jayBzZXJ2aWNlLiIpOwotCi12YXIgbW9ja0NvZGUgPSAwOwot
dmFyIG1vY2tNZXNzYWdlID0gImRlYnVnIjsKLQotd2luZG93LmxheW91dFRlc3RDb250cm9sbGVy
LnNldE1vY2tHZW9sb2NhdGlvbkVycm9yKG1vY2tDb2RlLCBtb2NrTWVzc2FnZSk7Ci0KLXZhciBl
cnJvcjsKLW5hdmlnYXRvci5nZW9sb2NhdGlvbi5nZXRDdXJyZW50UG9zaXRpb24oZnVuY3Rpb24o
cCkgewotICAgIHRlc3RGYWlsZWQoJ1N1Y2Nlc3MgY2FsbGJhY2sgaW52b2tlZCB1bmV4cGVjdGVk
bHknKTsKLSAgICBkZWJ1ZygnPGJyIC8+PHNwYW4gY2xhc3M9InBhc3MiPlRFU1QgQ09NUExFVEU8
L3NwYW4+Jyk7Ci0gICAgd2luZG93LmxheW91dFRlc3RDb250cm9sbGVyLm5vdGlmeURvbmUoKTsK
LX0sIGZ1bmN0aW9uKGUpIHsKLSAgICBlcnJvciA9IGUKLSAgICBzaG91bGRCZSgnZXJyb3IuY29k
ZScsICdtb2NrQ29kZScpOwotICAgIHNob3VsZEJlKCdlcnJvci5tZXNzYWdlJywgJ21vY2tNZXNz
YWdlJyk7Ci0gICAgc2hvdWxkQmUoJ2Vycm9yLlVOS05PV05fRVJST1InLCAndW5kZWZpbmVkJyk7
Ci0gICAgc2hvdWxkQmUoJ2Vycm9yLlBFUk1JU1NJT05fREVOSUVEJywgJzEnKTsKLSAgICBzaG91
bGRCZSgnZXJyb3IuUE9TSVRJT05fVU5BVkFJTEFCTEUnLCAnMicpOwotICAgIHNob3VsZEJlKCdl
cnJvci5USU1FT1VUJywgJzMnKTsKLSAgICBkZWJ1ZygnPGJyIC8+PHNwYW4gY2xhc3M9InBhc3Mi
PlRFU1QgQ09NUExFVEU8L3NwYW4+Jyk7Ci0gICAgd2luZG93LmxheW91dFRlc3RDb250cm9sbGVy
Lm5vdGlmeURvbmUoKTsKLX0pOwotd2luZG93LmxheW91dFRlc3RDb250cm9sbGVyLndhaXRVbnRp
bERvbmUoKTsKLQotdmFyIGlzQXN5bmNocm9ub3VzID0gdHJ1ZTsKLXZhciBzdWNjZXNzZnVsbHlQ
YXJzZWQgPSB0cnVlOwpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9kb20vR2VvbG9jYXRpb24vcmVz
b3VyY2VzL2pzLXRlc3QtcG9zdC5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L2Rv
bS9HZW9sb2NhdGlvbi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzCShyZXZpc2lvbiA1OTc2NikK
KysrIExheW91dFRlc3RzL2Zhc3QvZG9tL0dlb2xvY2F0aW9uL3Jlc291cmNlcy9qcy10ZXN0LXBv
c3QuanMJKHdvcmtpbmcgY29weSkKQEAgLTEsNCArMCwwIEBACi1zaG91bGRCZVRydWUoInN1Y2Nl
c3NmdWxseVBhcnNlZCIpOwotaWYgKCFpc0FzeW5jaHJvbm91cykgewotICAgIGRlYnVnKCc8YnIg
Lz48c3BhbiBjbGFzcz0icGFzcyI+VEVTVCBDT01QTEVURTwvc3Bhbj4nKTsKLX0KSW5kZXg6IExh
eW91dFRlc3RzL2Zhc3QvZG9tL0dlb2xvY2F0aW9uL3Jlc291cmNlcy9tYXhpbXVtLWFnZS5qcwo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L2RvbS9HZW9sb2NhdGlvbi9yZXNvdXJjZXMv
bWF4aW11bS1hZ2UuanMJKHJldmlzaW9uIDU5NzY2KQorKysgTGF5b3V0VGVzdHMvZmFzdC9kb20v
R2VvbG9jYXRpb24vcmVzb3VyY2VzL21heGltdW0tYWdlLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0x
LDgxICswLDAgQEAKLWRlc2NyaXB0aW9uKCJUZXN0cyB0aGF0IHRoZSBQb3NpdGlvbk9wdGlvbnMu
bWF4aW11bUFnZSBwYXJhbWV0ZXIgaXMgY29ycmVjdGx5IGFwcGxpZWQuIik7Ci0KLXZhciBtb2Nr
TGF0aXR1ZGUgPSA1MS40Nzg7Ci12YXIgbW9ja0xvbmdpdHVkZSA9IC0wLjE2NjsKLXZhciBtb2Nr
QWNjdXJhY3kgPSAxMDAuMDsKLQotdmFyIG1vY2tDb2RlID0gMTsKLXZhciBtb2NrTWVzc2FnZSA9
ICd0ZXN0JzsKLQotdmFyIHBvc2l0aW9uOwotdmFyIGVycm9yOwotCi1mdW5jdGlvbiBjaGVja1Bv
c2l0aW9uKHApIHsKLSAgICBkZWJ1ZygnJyk7Ci0gICAgcG9zaXRpb24gPSBwOwotICAgIHNob3Vs
ZEJlKCdwb3NpdGlvbi5jb29yZHMubGF0aXR1ZGUnLCAnbW9ja0xhdGl0dWRlJyk7Ci0gICAgc2hv
dWxkQmUoJ3Bvc2l0aW9uLmNvb3Jkcy5sb25naXR1ZGUnLCAnbW9ja0xvbmdpdHVkZScpOwotICAg
IHNob3VsZEJlKCdwb3NpdGlvbi5jb29yZHMuYWNjdXJhY3knLCAnbW9ja0FjY3VyYWN5Jyk7Ci19
Ci0KLWZ1bmN0aW9uIGNoZWNrRXJyb3IoZSkgewotICAgIGRlYnVnKCcnKTsKLSAgICBlcnJvciA9
IGU7Ci0gICAgc2hvdWxkQmUoJ2Vycm9yLmNvZGUnLCAnbW9ja0NvZGUnKTsKLSAgICBzaG91bGRC
ZSgnZXJyb3IubWVzc2FnZScsICdtb2NrTWVzc2FnZScpOwotfQotCi13aW5kb3cubGF5b3V0VGVz
dENvbnRyb2xsZXIuc2V0R2VvbG9jYXRpb25QZXJtaXNzaW9uKHRydWUpOwotd2luZG93LmxheW91
dFRlc3RDb250cm9sbGVyLnNldE1vY2tHZW9sb2NhdGlvblBvc2l0aW9uKG1vY2tMYXRpdHVkZSwg
bW9ja0xvbmdpdHVkZSwgbW9ja0FjY3VyYWN5KTsKLQotLy8gSW5pdGlhbGl6ZSB0aGUgY2FjaGVk
IFBvc2l0aW9uCi1uYXZpZ2F0b3IuZ2VvbG9jYXRpb24uZ2V0Q3VycmVudFBvc2l0aW9uKGZ1bmN0
aW9uKHApIHsKLSAgICBjaGVja1Bvc2l0aW9uKHApOwotICAgIHRlc3RaZXJvTWF4aW11bUFnZSgp
OwotfSwgZnVuY3Rpb24oZSkgewotICAgIHRlc3RGYWlsZWQoJ0Vycm9yIGNhbGxiYWNrIGludm9r
ZWQgdW5leHBlY3RlZGx5Jyk7Ci0gICAgd2luZG93LmxheW91dFRlc3RDb250cm9sbGVyLm5vdGlm
eURvbmUoKTsKLX0pOwotCi1mdW5jdGlvbiB0ZXN0WmVyb01heGltdW1BZ2UoKSB7Ci0gICAgLy8g
VXBkYXRlIHRoZSBwb3NpdGlvbiBwcm92aWRlZCBieSB0aGUgbW9jayBzZXJ2aWNlLgotICAgIHdp
bmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlci5zZXRNb2NrR2VvbG9jYXRpb25Qb3NpdGlvbigrK21v
Y2tMYXRpdHVkZSwgKyttb2NrTG9uZ2l0dWRlLCArK21vY2tBY2N1cmFjeSk7Ci0gICAgLy8gVGhl
IGRlZmF1bHQgbWF4aW11bUFnZSBpcyB6ZXJvLCBzbyB3ZSBleHBlY3QgdGhlIHVwZGF0ZWQgcG9z
aXRpb24gZnJvbSB0aGUgc2VydmljZS4KLSAgICBuYXZpZ2F0b3IuZ2VvbG9jYXRpb24uZ2V0Q3Vy
cmVudFBvc2l0aW9uKGZ1bmN0aW9uKHApIHsKLSAgICAgICAgY2hlY2tQb3NpdGlvbihwKTsKLSAg
ICAgICAgdGVzdE5vblplcm9NYXhpbXVtQWdlKCk7Ci0gICAgfSwgZnVuY3Rpb24oZSkgewotICAg
ICAgICB0ZXN0RmFpbGVkKCdFcnJvciBjYWxsYmFjayBpbnZva2VkIHVuZXhwZWN0ZWRseScpOwot
ICAgICAgICB3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIubm90aWZ5RG9uZSgpOwotICAgIH0p
OwotfQotCi1mdW5jdGlvbiB0ZXN0Tm9uWmVyb01heGltdW1BZ2UoKSB7Ci0gICAgLy8gVXBkYXRl
IHRoZSBtb2NrIHNlcnZpY2UgdG8gcmVwb3J0IGFuIGVycm9yLgotICAgIHdpbmRvdy5sYXlvdXRU
ZXN0Q29udHJvbGxlci5zZXRNb2NrR2VvbG9jYXRpb25FcnJvcihtb2NrQ29kZSwgbW9ja01lc3Nh
Z2UpOwotICAgIC8vIFRoZSBtYXhpbXVtQWdlIGlzIG5vbi16ZXJvLCBzbyB3ZSBleHBlY3QgdGhl
IGNhY2hlZCBwb3NpdGlvbiwgbm90IHRoZSBlcnJvciBmcm9tIHRoZSBzZXJ2aWNlLgotICAgIG5h
dmlnYXRvci5nZW9sb2NhdGlvbi5nZXRDdXJyZW50UG9zaXRpb24oZnVuY3Rpb24ocCkgewotICAg
ICAgICBjaGVja1Bvc2l0aW9uKHApOwotICAgICAgICB0ZXN0WmVyb01heGltdW1BZ2VFcnJvcigp
OwotICAgIH0sIGZ1bmN0aW9uKGUpIHsKLSAgICAgICAgdGVzdEZhaWxlZCgnRXJyb3IgY2FsbGJh
Y2sgaW52b2tlZCB1bmV4cGVjdGVkbHknKTsKLSAgICAgICAgd2luZG93LmxheW91dFRlc3RDb250
cm9sbGVyLm5vdGlmeURvbmUoKTsKLSAgICB9LCB7bWF4aW11bUFnZTogMTAwMH0pOwotfQotCi1m
dW5jdGlvbiB0ZXN0WmVyb01heGltdW1BZ2VFcnJvcigpIHsKLSAgICAvLyBUaGUgZGVmYXVsdCBt
YXhpbXVtQWdlIGlzIHplcm8sIHNvIHdlIGV4cGVjdCB0aGUgZXJyb3IgZnJvbSB0aGUgc2Vydmlj
ZS4KLSAgICBuYXZpZ2F0b3IuZ2VvbG9jYXRpb24uZ2V0Q3VycmVudFBvc2l0aW9uKGZ1bmN0aW9u
KHApIHsKLSAgICAgICAgdGVzdEZhaWxlZCgnU3VjY2VzcyBjYWxsYmFjayBpbnZva2VkIHVuZXhw
ZWN0ZWRseScpOwotICAgICAgICB3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIubm90aWZ5RG9u
ZSgpOwotICAgIH0sIGZ1bmN0aW9uKGUpIHsKLSAgICAgICAgY2hlY2tFcnJvcihlKTsKLSAgICAg
ICAgZGVidWcoJzxiciAvPjxzcGFuIGNsYXNzPSJwYXNzIj5URVNUIENPTVBMRVRFPC9zcGFuPicp
OwotICAgICAgICB3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIubm90aWZ5RG9uZSgpOwotICAg
IH0pOwotfQotCi13aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIud2FpdFVudGlsRG9uZSgpOwot
Ci12YXIgaXNBc3luY2hyb25vdXMgPSB0cnVlOwotdmFyIHN1Y2Nlc3NmdWxseVBhcnNlZCA9IHRy
dWU7CkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L2RvbS9HZW9sb2NhdGlvbi9yZXNvdXJjZXMvcGVy
bWlzc2lvbi1kZW5pZWQtYWxyZWFkeS1jbGVhci13YXRjaC5qcwo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlv
dXRUZXN0cy9mYXN0L2RvbS9HZW9sb2NhdGlvbi9yZXNvdXJjZXMvcGVybWlzc2lvbi1kZW5pZWQt
YWxyZWFkeS1jbGVhci13YXRjaC5qcwkocmV2aXNpb24gNTk3NjYpCisrKyBMYXlvdXRUZXN0cy9m
YXN0L2RvbS9HZW9sb2NhdGlvbi9yZXNvdXJjZXMvcGVybWlzc2lvbi1kZW5pZWQtYWxyZWFkeS1j
bGVhci13YXRjaC5qcwkod29ya2luZyBjb3B5KQpAQCAtMSw0MiArMCwwIEBACi1kZXNjcmlwdGlv
bigiVGVzdHMgdGhhdCB3aGVuIEdlb2xvY2F0aW9uIHBlcm1pc3Npb24gaGFzIGJlZW4gZGVuaWVk
IHByaW9yIHRvIGEgY2FsbCB0byB3YXRjaFBvc2l0aW9uLCBhbmQgdGhlIHdhdGNoIGlzIGNsZWFy
ZWQgaW4gdGhlIGVycm9yIGNhbGxiYWNrLCB0aGVyZSBpcyBubyBjcmFzaC4gVGhpcyBhIHJlZ3Jl
c3Npb24gdGVzdCBmb3IgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTMy
MTExLiIpOwotCi0vLyBQcmltZSB0aGUgR2VvbG9jYXRpb24gaW5zdGFuY2UgYnkgZGVueWluZyBw
ZXJtaXNzaW9uLgotd2luZG93LmxheW91dFRlc3RDb250cm9sbGVyLnNldEdlb2xvY2F0aW9uUGVy
bWlzc2lvbihmYWxzZSk7Ci13aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIuc2V0TW9ja0dlb2xv
Y2F0aW9uUG9zaXRpb24oNTEuNDc4LCAtMC4xNjYsIDEwMCk7Ci0KLXZhciBlcnJvcjsKLW5hdmln
YXRvci5nZW9sb2NhdGlvbi5nZXRDdXJyZW50UG9zaXRpb24oZnVuY3Rpb24ocCkgewotICAgIHRl
c3RGYWlsZWQoJ1N1Y2Nlc3MgY2FsbGJhY2sgaW52b2tlZCB1bmV4cGVjdGVkbHknKTsKLSAgICB3
aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIubm90aWZ5RG9uZSgpOwotfSwgZnVuY3Rpb24oZSkg
ewotICAgIGVycm9yID0gZQotICAgIHNob3VsZEJlKCdlcnJvci5jb2RlJywgJ2Vycm9yLlBFUk1J
U1NJT05fREVOSUVEJyk7Ci0gICAgc2hvdWxkQmUoJ2Vycm9yLm1lc3NhZ2UnLCAnIlVzZXIgZGVu
aWVkIEdlb2xvY2F0aW9uIicpOwotICAgIGRlYnVnKCcnKTsKLSAgICBjb250aW51ZVRlc3QoKTsK
LX0pOwotCi1mdW5jdGlvbiBjb250aW51ZVRlc3QoKQotewotICAgIC8vIE1ha2UgYW5vdGhlciBy
ZXF1ZXN0LCB3aXRoIHBlcm1pc3Npb24gYWxyZWFkeSBkZW5pZWQuCi0gICAgdmFyIHdhdGNoSWQg
PSBuYXZpZ2F0b3IuZ2VvbG9jYXRpb24ud2F0Y2hQb3NpdGlvbihmdW5jdGlvbihwKSB7Ci0gICAg
ICAgIHRlc3RGYWlsZWQoJ1N1Y2Nlc3MgY2FsbGJhY2sgaW52b2tlZCB1bmV4cGVjdGVkbHknKTsK
LSAgICAgICAgd2luZG93LmxheW91dFRlc3RDb250cm9sbGVyLm5vdGlmeURvbmUoKTsKLSAgICB9
LCBmdW5jdGlvbihlKSB7Ci0gICAgICAgIGVycm9yID0gZQotICAgICAgICBzaG91bGRCZSgnZXJy
b3IuY29kZScsICdlcnJvci5QRVJNSVNTSU9OX0RFTklFRCcpOwotICAgICAgICBzaG91bGRCZSgn
ZXJyb3IubWVzc2FnZScsICciVXNlciBkZW5pZWQgR2VvbG9jYXRpb24iJyk7Ci0gICAgICAgIG5h
dmlnYXRvci5nZW9sb2NhdGlvbi5jbGVhcldhdGNoKHdhdGNoSWQpOwotICAgICAgICB3aW5kb3cu
c2V0VGltZW91dChjb21wbGV0ZVRlc3QsIDApOwotICAgIH0pOwotfQotCi1mdW5jdGlvbiBjb21w
bGV0ZVRlc3QoKQotewotICAgIGRlYnVnKCc8YnIgLz48c3BhbiBjbGFzcz0icGFzcyI+VEVTVCBD
T01QTEVURTwvc3Bhbj4nKTsKLSAgICB3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIubm90aWZ5
RG9uZSgpOwotfQotd2luZG93LmxheW91dFRlc3RDb250cm9sbGVyLndhaXRVbnRpbERvbmUoKTsK
LQotdmFyIGlzQXN5bmNocm9ub3VzID0gdHJ1ZTsKLXZhciBzdWNjZXNzZnVsbHlQYXJzZWQgPSB0
cnVlOwpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9kb20vR2VvbG9jYXRpb24vcmVzb3VyY2VzL3Bl
cm1pc3Npb24tZGVuaWVkLWFscmVhZHktZXJyb3IuanMKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVz
dHMvZmFzdC9kb20vR2VvbG9jYXRpb24vcmVzb3VyY2VzL3Blcm1pc3Npb24tZGVuaWVkLWFscmVh
ZHktZXJyb3IuanMJKHJldmlzaW9uIDU5NzY2KQorKysgTGF5b3V0VGVzdHMvZmFzdC9kb20vR2Vv
bG9jYXRpb24vcmVzb3VyY2VzL3Blcm1pc3Npb24tZGVuaWVkLWFscmVhZHktZXJyb3IuanMJKHdv
cmtpbmcgY29weSkKQEAgLTEsMzggKzAsMCBAQAotZGVzY3JpcHRpb24oIlRlc3RzIHRoYXQgd2hl
biBHZW9sb2NhdGlvbiBwZXJtaXNzaW9uIGhhcyBiZWVuIGRlbmllZCBwcmlvciB0byBhIGNhbGwg
dG8gYSBHZW9sb2NhdGlvbiBtZXRob2QsIHRoZSBlcnJvciBjYWxsYmFjayBpcyBpbnZva2VkIHdp
dGggY29kZSBQRVJNSVNTSU9OX0RFTklFRCwgd2hlbiB0aGUgR2VvbG9jYXRpb24gc2VydmljZSBl
bmNvdW50ZXJzIGFuIGVycm9yLiIpOwotCi0vLyBQcmltZSB0aGUgR2VvbG9jYXRpb24gaW5zdGFu
Y2UgYnkgZGVueWluZyBwZXJtaXNzaW9uLgotd2luZG93LmxheW91dFRlc3RDb250cm9sbGVyLnNl
dEdlb2xvY2F0aW9uUGVybWlzc2lvbihmYWxzZSk7Ci13aW5kb3cubGF5b3V0VGVzdENvbnRyb2xs
ZXIuc2V0TW9ja0dlb2xvY2F0aW9uUG9zaXRpb24oNTEuNDc4LCAtMC4xNjYsIDEwMCk7Ci0KLXZh
ciBlcnJvcjsKLW5hdmlnYXRvci5nZW9sb2NhdGlvbi5nZXRDdXJyZW50UG9zaXRpb24oZnVuY3Rp
b24ocCkgewotICAgIHRlc3RGYWlsZWQoJ1N1Y2Nlc3MgY2FsbGJhY2sgaW52b2tlZCB1bmV4cGVj
dGVkbHknKTsKLSAgICB3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIubm90aWZ5RG9uZSgpOwot
fSwgZnVuY3Rpb24oZSkgewotICAgIGVycm9yID0gZQotICAgIHNob3VsZEJlKCdlcnJvci5jb2Rl
JywgJ2Vycm9yLlBFUk1JU1NJT05fREVOSUVEJyk7Ci0gICAgc2hvdWxkQmUoJ2Vycm9yLm1lc3Nh
Z2UnLCAnIlVzZXIgZGVuaWVkIEdlb2xvY2F0aW9uIicpOwotICAgIGRlYnVnKCcnKTsKLSAgICBj
b250aW51ZVRlc3QoKTsKLX0pOwotCi1mdW5jdGlvbiBjb250aW51ZVRlc3QoKQotewotICAgIC8v
IE1ha2UgYW5vdGhlciByZXF1ZXN0LCB3aXRoIHBlcm1pc3Npb24gYWxyZWFkeSBkZW5pZWQuCi0g
ICAgd2luZG93LmxheW91dFRlc3RDb250cm9sbGVyLnNldE1vY2tHZW9sb2NhdGlvbkVycm9yKDAs
ICd0ZXN0Jyk7Ci0KLSAgICBuYXZpZ2F0b3IuZ2VvbG9jYXRpb24uZ2V0Q3VycmVudFBvc2l0aW9u
KGZ1bmN0aW9uKHApIHsKLSAgICAgICAgdGVzdEZhaWxlZCgnU3VjY2VzcyBjYWxsYmFjayBpbnZv
a2VkIHVuZXhwZWN0ZWRseScpOwotICAgICAgICB3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIu
bm90aWZ5RG9uZSgpOwotICAgIH0sIGZ1bmN0aW9uKGUpIHsKLSAgICAgICAgZXJyb3IgPSBlCi0g
ICAgICAgIHNob3VsZEJlKCdlcnJvci5jb2RlJywgJ2Vycm9yLlBFUk1JU1NJT05fREVOSUVEJyk7
Ci0gICAgICAgIHNob3VsZEJlKCdlcnJvci5tZXNzYWdlJywgJyJVc2VyIGRlbmllZCBHZW9sb2Nh
dGlvbiInKTsKLSAgICAgICAgZGVidWcoJzxiciAvPjxzcGFuIGNsYXNzPSJwYXNzIj5URVNUIENP
TVBMRVRFPC9zcGFuPicpOwotICAgICAgICB3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIubm90
aWZ5RG9uZSgpOwotICAgIH0pOwotfQotd2luZG93LmxheW91dFRlc3RDb250cm9sbGVyLndhaXRV
bnRpbERvbmUoKTsKLQotdmFyIGlzQXN5bmNocm9ub3VzID0gdHJ1ZTsKLXZhciBzdWNjZXNzZnVs
bHlQYXJzZWQgPSB0cnVlOwpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9kb20vR2VvbG9jYXRpb24v
cmVzb3VyY2VzL3Blcm1pc3Npb24tZGVuaWVkLWFscmVhZHktc3VjY2Vzcy5qcwo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L2RvbS9HZW9sb2NhdGlvbi9yZXNvdXJjZXMvcGVybWlzc2lv
bi1kZW5pZWQtYWxyZWFkeS1zdWNjZXNzLmpzCShyZXZpc2lvbiA1OTc2NikKKysrIExheW91dFRl
c3RzL2Zhc3QvZG9tL0dlb2xvY2F0aW9uL3Jlc291cmNlcy9wZXJtaXNzaW9uLWRlbmllZC1hbHJl
YWR5LXN1Y2Nlc3MuanMJKHdvcmtpbmcgY29weSkKQEAgLTEsMzYgKzAsMCBAQAotZGVzY3JpcHRp
b24oIlRlc3RzIHRoYXQgd2hlbiBHZW9sb2NhdGlvbiBwZXJtaXNzaW9uIGhhcyBiZWVuIGRlbmll
ZCBwcmlvciB0byBhIGNhbGwgdG8gYSBHZW9sb2NhdGlvbiBtZXRob2QsIHRoZSBlcnJvciBjYWxs
YmFjayBpcyBpbnZva2VkIHdpdGggY29kZSBQRVJNSVNTSU9OX0RFTklFRCwgd2hlbiB0aGUgR2Vv
bG9jYXRpb24gc2VydmljZSBoYXMgYSBnb29kIHBvc2l0aW9uLiIpOwotCi0vLyBQcmltZSB0aGUg
R2VvbG9jYXRpb24gaW5zdGFuY2UgYnkgZGVueWluZyBwZXJtaXNzaW9uLgotd2luZG93LmxheW91
dFRlc3RDb250cm9sbGVyLnNldEdlb2xvY2F0aW9uUGVybWlzc2lvbihmYWxzZSk7Ci13aW5kb3cu
bGF5b3V0VGVzdENvbnRyb2xsZXIuc2V0TW9ja0dlb2xvY2F0aW9uUG9zaXRpb24oNTEuNDc4LCAt
MC4xNjYsIDEwMCk7Ci0KLXZhciBlcnJvcjsKLW5hdmlnYXRvci5nZW9sb2NhdGlvbi5nZXRDdXJy
ZW50UG9zaXRpb24oZnVuY3Rpb24ocCkgewotICAgIHRlc3RGYWlsZWQoJ1N1Y2Nlc3MgY2FsbGJh
Y2sgaW52b2tlZCB1bmV4cGVjdGVkbHknKTsKLSAgICB3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xs
ZXIubm90aWZ5RG9uZSgpOwotfSwgZnVuY3Rpb24oZSkgewotICAgIGVycm9yID0gZQotICAgIHNo
b3VsZEJlKCdlcnJvci5jb2RlJywgJ2Vycm9yLlBFUk1JU1NJT05fREVOSUVEJyk7Ci0gICAgc2hv
dWxkQmUoJ2Vycm9yLm1lc3NhZ2UnLCAnIlVzZXIgZGVuaWVkIEdlb2xvY2F0aW9uIicpOwotICAg
IGRlYnVnKCcnKTsKLSAgICBjb250aW51ZVRlc3QoKTsKLX0pOwotCi1mdW5jdGlvbiBjb250aW51
ZVRlc3QoKQotewotICAgIC8vIE1ha2UgYW5vdGhlciByZXF1ZXN0LCB3aXRoIHBlcm1pc3Npb24g
YWxyZWFkeSBkZW5pZWQuCi0gICAgbmF2aWdhdG9yLmdlb2xvY2F0aW9uLmdldEN1cnJlbnRQb3Np
dGlvbihmdW5jdGlvbihwKSB7Ci0gICAgICAgIHRlc3RGYWlsZWQoJ1N1Y2Nlc3MgY2FsbGJhY2sg
aW52b2tlZCB1bmV4cGVjdGVkbHknKTsKLSAgICAgICAgd2luZG93LmxheW91dFRlc3RDb250cm9s
bGVyLm5vdGlmeURvbmUoKTsKLSAgICB9LCBmdW5jdGlvbihlKSB7Ci0gICAgICAgIGVycm9yID0g
ZQotICAgICAgICBzaG91bGRCZSgnZXJyb3IuY29kZScsICdlcnJvci5QRVJNSVNTSU9OX0RFTklF
RCcpOwotICAgICAgICBzaG91bGRCZSgnZXJyb3IubWVzc2FnZScsICciVXNlciBkZW5pZWQgR2Vv
bG9jYXRpb24iJyk7Ci0gICAgICAgIGRlYnVnKCc8YnIgLz48c3BhbiBjbGFzcz0icGFzcyI+VEVT
VCBDT01QTEVURTwvc3Bhbj4nKTsKLSAgICAgICAgd2luZG93LmxheW91dFRlc3RDb250cm9sbGVy
Lm5vdGlmeURvbmUoKTsKLSAgICB9KTsKLX0KLXdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlci53
YWl0VW50aWxEb25lKCk7Ci0KLXZhciBpc0FzeW5jaHJvbm91cyA9IHRydWU7Ci12YXIgc3VjY2Vz
c2Z1bGx5UGFyc2VkID0gdHJ1ZTsKSW5kZXg6IExheW91dFRlc3RzL2Zhc3QvZG9tL0dlb2xvY2F0
aW9uL3Jlc291cmNlcy9wZXJtaXNzaW9uLWRlbmllZC1zdG9wcy13YXRjaGVzLmpzCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvZG9tL0dlb2xvY2F0aW9uL3Jlc291cmNlcy9wZXJtaXNz
aW9uLWRlbmllZC1zdG9wcy13YXRjaGVzLmpzCShyZXZpc2lvbiA1OTc2NikKKysrIExheW91dFRl
c3RzL2Zhc3QvZG9tL0dlb2xvY2F0aW9uL3Jlc291cmNlcy9wZXJtaXNzaW9uLWRlbmllZC1zdG9w
cy13YXRjaGVzLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0xLDM4ICswLDAgQEAKLWRlc2NyaXB0aW9u
KCJUZXN0cyB0aGF0IHdoZW4gR2VvbG9jYXRpb24gcGVybWlzc2lvbiBpcyBkZW5pZWQsIHdhdGNo
ZXMgYXJlIHN0b3BwZWQsIGFzIHdlbGwgYXMgb25lLXNob3RzLiIpOwotCi0vLyBDb25maWd1cmUg
dGhlIG1vY2sgR2VvbG9jYXRpb24gc2VydmljZSB0byByZXBvcnQgYSBwb3NpdGlvbiB0byBjYXVz
ZSBwZXJtaXNzaW9uCi0vLyB0byBiZSByZXF1ZXN0ZWQsIHRoZW4gZGVueSBpdC4KLXdpbmRvdy5s
YXlvdXRUZXN0Q29udHJvbGxlci5zZXRHZW9sb2NhdGlvblBlcm1pc3Npb24oZmFsc2UpOwotd2lu
ZG93LmxheW91dFRlc3RDb250cm9sbGVyLnNldE1vY2tHZW9sb2NhdGlvblBvc2l0aW9uKDUxLjQ3
OCwgLTAuMTY2LCAxMDAuMCk7Ci0KLXZhciBlcnJvcjsKLXZhciBlcnJvckNhbGxiYWNrSW52b2tl
ZCA9IGZhbHNlOwotbmF2aWdhdG9yLmdlb2xvY2F0aW9uLndhdGNoUG9zaXRpb24oZnVuY3Rpb24o
cCkgewotICAgIHRlc3RGYWlsZWQoJ1N1Y2Nlc3MgY2FsbGJhY2sgaW52b2tlZCB1bmV4cGVjdGVk
bHknKTsKLSAgICB3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIubm90aWZ5RG9uZSgpOwotfSwg
ZnVuY3Rpb24oZSkgewotICAgIGlmIChlcnJvckNhbGxiYWNrSW52b2tlZCkgewotICAgICAgICB0
ZXN0RmFpbGVkKCdFcnJvciBjYWxsYmFjayBpbnZva2VkIHVuZXhwZWN0ZWRseSA6ICcgKyBlcnJv
ci5tZXNzYWdlKTsKLSAgICAgICAgd2luZG93LmxheW91dFRlc3RDb250cm9sbGVyLm5vdGlmeURv
bmUoKTsKLSAgICB9Ci0gICAgZXJyb3JDYWxsYmFja0ludm9rZWQgPSB0cnVlOwotCi0gICAgZXJy
b3IgPSBlCi0gICAgc2hvdWxkQmUoJ2Vycm9yLmNvZGUnLCAnZXJyb3IuUEVSTUlTU0lPTl9ERU5J
RUQnKTsKLSAgICBzaG91bGRCZSgnZXJyb3IubWVzc2FnZScsICciVXNlciBkZW5pZWQgR2VvbG9j
YXRpb24iJyk7Ci0KLSAgICAvLyBVcGRhdGUgdGhlIG1vY2sgR2VvbG9jYXRpb24gc2VydmljZSB0
byByZXBvcnQgYSBuZXcgcG9zaXRpb24sIHRoZW4KLSAgICAvLyB5aWVsZCB0byBhbGxvdyBhIGNo
YW5jZSBmb3IgdGhlIHN1Y2Nlc3MgY2FsbGJhY2sgdG8gYmUgaW52b2tlZC4KLSAgICB3aW5kb3cu
bGF5b3V0VGVzdENvbnRyb2xsZXIuc2V0TW9ja0dlb2xvY2F0aW9uUG9zaXRpb24oNTUuNDc4LCAt
MC4xNjYsIDEwMCk7Ci0gICAgd2luZG93LnNldFRpbWVvdXQoY29tcGxldGVUZXN0LCAwKTsKLX0p
OwotCi1mdW5jdGlvbiBjb21wbGV0ZVRlc3QoKQotewotICAgIGRlYnVnKCc8YnIgLz48c3BhbiBj
bGFzcz0icGFzcyI+VEVTVCBDT01QTEVURTwvc3Bhbj4nKTsKLSAgICB3aW5kb3cubGF5b3V0VGVz
dENvbnRyb2xsZXIubm90aWZ5RG9uZSgpOwotfQotd2luZG93LmxheW91dFRlc3RDb250cm9sbGVy
LndhaXRVbnRpbERvbmUoKTsKLQotdmFyIGlzQXN5bmNocm9ub3VzID0gdHJ1ZTsKLXZhciBzdWNj
ZXNzZnVsbHlQYXJzZWQgPSB0cnVlOwpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9kb20vR2VvbG9j
YXRpb24vcmVzb3VyY2VzL3Blcm1pc3Npb24tZGVuaWVkLmpzCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91
dFRlc3RzL2Zhc3QvZG9tL0dlb2xvY2F0aW9uL3Jlc291cmNlcy9wZXJtaXNzaW9uLWRlbmllZC5q
cwkocmV2aXNpb24gNTk3NjYpCisrKyBMYXlvdXRUZXN0cy9mYXN0L2RvbS9HZW9sb2NhdGlvbi9y
ZXNvdXJjZXMvcGVybWlzc2lvbi1kZW5pZWQuanMJKHdvcmtpbmcgY29weSkKQEAgLTEsMjAgKzAs
MCBAQAotZGVzY3JpcHRpb24oIlRlc3RzIEdlb2xvY2F0aW9uIHdoZW4gcGVybWlzc2lvbiBpcyBk
ZW5pZWQsIHVzaW5nIHRoZSBtb2NrIHNlcnZpY2UuIik7Ci0KLXdpbmRvdy5sYXlvdXRUZXN0Q29u
dHJvbGxlci5zZXRHZW9sb2NhdGlvblBlcm1pc3Npb24oZmFsc2UpOwotd2luZG93LmxheW91dFRl
c3RDb250cm9sbGVyLnNldE1vY2tHZW9sb2NhdGlvblBvc2l0aW9uKDUxLjQ3OCwgLTAuMTY2LCAx
MDApOwotCi12YXIgZXJyb3I7Ci1uYXZpZ2F0b3IuZ2VvbG9jYXRpb24uZ2V0Q3VycmVudFBvc2l0
aW9uKGZ1bmN0aW9uKHApIHsKLSAgICB0ZXN0RmFpbGVkKCdTdWNjZXNzIGNhbGxiYWNrIGludm9r
ZWQgdW5leHBlY3RlZGx5Jyk7Ci0gICAgd2luZG93LmxheW91dFRlc3RDb250cm9sbGVyLm5vdGlm
eURvbmUoKTsKLX0sIGZ1bmN0aW9uKGUpIHsKLSAgICBlcnJvciA9IGUKLSAgICBzaG91bGRCZSgn
ZXJyb3IuY29kZScsICdlcnJvci5QRVJNSVNTSU9OX0RFTklFRCcpOwotICAgIHNob3VsZEJlKCdl
cnJvci5tZXNzYWdlJywgJyJVc2VyIGRlbmllZCBHZW9sb2NhdGlvbiInKTsKLSAgICBkZWJ1Zygn
PGJyIC8+PHNwYW4gY2xhc3M9InBhc3MiPlRFU1QgQ09NUExFVEU8L3NwYW4+Jyk7Ci0gICAgd2lu
ZG93LmxheW91dFRlc3RDb250cm9sbGVyLm5vdGlmeURvbmUoKTsKLX0pOwotd2luZG93LmxheW91
dFRlc3RDb250cm9sbGVyLndhaXRVbnRpbERvbmUoKTsKLQotdmFyIGlzQXN5bmNocm9ub3VzID0g
dHJ1ZTsKLXZhciBzdWNjZXNzZnVsbHlQYXJzZWQgPSB0cnVlOwpJbmRleDogTGF5b3V0VGVzdHMv
ZmFzdC9kb20vR2VvbG9jYXRpb24vcmVzb3VyY2VzL3Bvc2l0aW9uLXN0cmluZy5qcwo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L2RvbS9HZW9sb2NhdGlvbi9yZXNvdXJjZXMvcG9zaXRp
b24tc3RyaW5nLmpzCShyZXZpc2lvbiA1OTc2NikKKysrIExheW91dFRlc3RzL2Zhc3QvZG9tL0dl
b2xvY2F0aW9uL3Jlc291cmNlcy9wb3NpdGlvbi1zdHJpbmcuanMJKHdvcmtpbmcgY29weSkKQEAg
LTEsMzAgKzAsMCBAQAotZGVzY3JpcHRpb24oIlRlc3RzIGZvcm1hdHRpbmcgb2YgcG9zaXRpb24u
dG9TdHJpbmcoKS4iKTsKLQotdmFyIG1vY2tMYXRpdHVkZSA9IDUxLjQ3ODsKLXZhciBtb2NrTG9u
Z2l0dWRlID0gLTAuMTY2OwotdmFyIG1vY2tBY2N1cmFjeSA9IDEwMC4wOwotCi13aW5kb3cubGF5
b3V0VGVzdENvbnRyb2xsZXIuc2V0R2VvbG9jYXRpb25QZXJtaXNzaW9uKHRydWUpOwotd2luZG93
LmxheW91dFRlc3RDb250cm9sbGVyLnNldE1vY2tHZW9sb2NhdGlvblBvc2l0aW9uKG1vY2tMYXRp
dHVkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBtb2NrTG9uZ2l0dWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIG1vY2tBY2N1cmFjeSk7Ci0KLXZhciBwb3NpdGlvbjsKLW5hdmln
YXRvci5nZW9sb2NhdGlvbi5nZXRDdXJyZW50UG9zaXRpb24oZnVuY3Rpb24ocCkgewotICAgIC8v
IHNob3VsZEJlIGNhbid0IHVzZSBsb2NhbCB2YXJpYWJsZXMgeWV0LgotICAgIHBvc2l0aW9uID0g
cAotICAgIHNob3VsZEJlKCdwb3NpdGlvbi5jb29yZHMubGF0aXR1ZGUnLCAnbW9ja0xhdGl0dWRl
Jyk7Ci0gICAgc2hvdWxkQmUoJ3Bvc2l0aW9uLmNvb3Jkcy5sb25naXR1ZGUnLCAnbW9ja0xvbmdp
dHVkZScpOwotICAgIHNob3VsZEJlKCdwb3NpdGlvbi5jb29yZHMuYWNjdXJhY3knLCAnbW9ja0Fj
Y3VyYWN5Jyk7Ci0gICAgc2hvdWxkQmUoJ3Bvc2l0aW9uLnRvU3RyaW5nKCknLCAnIltvYmplY3Qg
R2VvcG9zaXRpb25dIicpOwotICAgIHNob3VsZEJlKCdwb3NpdGlvbi5jb29yZHMudG9TdHJpbmco
KScsICciW29iamVjdCBDb29yZGluYXRlc10iJyk7Ci0gICAgZGVidWcoJzxiciAvPjxzcGFuIGNs
YXNzPSJwYXNzIj5URVNUIENPTVBMRVRFPC9zcGFuPicpOwotICAgIHdpbmRvdy5sYXlvdXRUZXN0
Q29udHJvbGxlci5ub3RpZnlEb25lKCk7Ci19LCBmdW5jdGlvbihlKSB7Ci0gICAgdGVzdEZhaWxl
ZCgnRXJyb3IgY2FsbGJhY2sgaW52b2tlZCB1bmV4cGVjdGVkbHknKTsKLSAgICB3aW5kb3cubGF5
b3V0VGVzdENvbnRyb2xsZXIubm90aWZ5RG9uZSgpOwotfSk7Ci13aW5kb3cubGF5b3V0VGVzdENv
bnRyb2xsZXIud2FpdFVudGlsRG9uZSgpOwotCi12YXIgaXNBc3luY2hyb25vdXMgPSB0cnVlOwot
dmFyIHN1Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWU7CkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L2Rv
bS9HZW9sb2NhdGlvbi9yZXNvdXJjZXMvcmVlbnRyYW50LWVycm9yLmpzCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IExheW91dFRlc3RzL2Zhc3QvZG9tL0dlb2xvY2F0aW9uL3Jlc291cmNlcy9yZWVudHJhbnQtZXJy
b3IuanMJKHJldmlzaW9uIDU5NzY2KQorKysgTGF5b3V0VGVzdHMvZmFzdC9kb20vR2VvbG9jYXRp
b24vcmVzb3VyY2VzL3JlZW50cmFudC1lcnJvci5qcwkod29ya2luZyBjb3B5KQpAQCAtMSw0NyAr
MCwwIEBACi1kZXNjcmlwdGlvbigiVGVzdHMgdGhhdCByZWVudHJhbnQgY2FsbHMgdG8gR2VvbG9j
YXRpb24gbWV0aG9kcyBmcm9tIHRoZSBlcnJvciBjYWxsYmFjayBhcmUgT0suIik7Ci0KLXZhciBt
b2NrQ29kZSA9IDA7Ci12YXIgbW9ja01lc3NhZ2UgPSAndGVzdCc7Ci0KLXdpbmRvdy5sYXlvdXRU
ZXN0Q29udHJvbGxlci5zZXRNb2NrR2VvbG9jYXRpb25FcnJvcihtb2NrQ29kZSwgbW9ja01lc3Nh
Z2UpOwotCi12YXIgZXJyb3I7Ci12YXIgZXJyb3JDYWxsYmFja0ludm9rZWQgPSBmYWxzZTsKLW5h
dmlnYXRvci5nZW9sb2NhdGlvbi5nZXRDdXJyZW50UG9zaXRpb24oZnVuY3Rpb24ocCkgewotICAg
IHRlc3RGYWlsZWQoJ1N1Y2Nlc3MgY2FsbGJhY2sgaW52b2tlZCB1bmV4cGVjdGVkbHknKTsKLSAg
ICB3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIubm90aWZ5RG9uZSgpOwotfSwgZnVuY3Rpb24o
ZSkgewotICAgIGlmIChlcnJvckNhbGxiYWNrSW52b2tlZCkgewotICAgICAgICB0ZXN0RmFpbGVk
KCdFcnJvciBjYWxsYmFjayBpbnZva2VkIHVuZXhwZWN0ZWRseScpOwotICAgICAgICB3aW5kb3cu
bGF5b3V0VGVzdENvbnRyb2xsZXIubm90aWZ5RG9uZSgpOwotICAgIH0KLSAgICBlcnJvckNhbGxi
YWNrSW52b2tlZCA9IHRydWU7Ci0KLSAgICBlcnJvciA9IGU7Ci0gICAgc2hvdWxkQmUoJ2Vycm9y
LmNvZGUnLCAnbW9ja0NvZGUnKTsKLSAgICBzaG91bGRCZSgnZXJyb3IubWVzc2FnZScsICdtb2Nr
TWVzc2FnZScpOwotICAgIGRlYnVnKCcnKTsKLSAgICBjb250aW51ZVRlc3QoKTsKLX0pOwotCi1m
dW5jdGlvbiBjb250aW51ZVRlc3QoKSB7Ci0gICAgbW9ja0NvZGUgKz0gMTsKLSAgICBtb2NrTWVz
c2FnZSArPSAnIHJlcGVhdCc7Ci0KLSAgICB3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIuc2V0
TW9ja0dlb2xvY2F0aW9uRXJyb3IobW9ja0NvZGUsIG1vY2tNZXNzYWdlKTsKLQotICAgIG5hdmln
YXRvci5nZW9sb2NhdGlvbi5nZXRDdXJyZW50UG9zaXRpb24oZnVuY3Rpb24ocCkgewotICAgICAg
ICB0ZXN0RmFpbGVkKCdTdWNjZXNzIGNhbGxiYWNrIGludm9rZWQgdW5leHBlY3RlZGx5Jyk7Ci0g
ICAgICAgIHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlci5ub3RpZnlEb25lKCk7Ci0gICAgfSwg
ZnVuY3Rpb24oZSkgewotICAgICAgICBlcnJvciA9IGU7Ci0gICAgICAgIHNob3VsZEJlKCdlcnJv
ci5jb2RlJywgJ21vY2tDb2RlJyk7Ci0gICAgICAgIHNob3VsZEJlKCdlcnJvci5tZXNzYWdlJywg
J21vY2tNZXNzYWdlJyk7Ci0gICAgICAgIGRlYnVnKCc8YnIgLz48c3BhbiBjbGFzcz0icGFzcyI+
VEVTVCBDT01QTEVURTwvc3Bhbj4nKTsKLSAgICAgICAgd2luZG93LmxheW91dFRlc3RDb250cm9s
bGVyLm5vdGlmeURvbmUoKTsKLSAgICB9KTsKLX0KLXdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxl
ci53YWl0VW50aWxEb25lKCk7Ci0KLXZhciBpc0FzeW5jaHJvbm91cyA9IHRydWU7Ci12YXIgc3Vj
Y2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsKSW5kZXg6IExheW91dFRlc3RzL2Zhc3QvZG9tL0dlb2xv
Y2F0aW9uL3Jlc291cmNlcy9yZWVudHJhbnQtc3VjY2Vzcy5qcwo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlv
dXRUZXN0cy9mYXN0L2RvbS9HZW9sb2NhdGlvbi9yZXNvdXJjZXMvcmVlbnRyYW50LXN1Y2Nlc3Mu
anMJKHJldmlzaW9uIDU5NzY2KQorKysgTGF5b3V0VGVzdHMvZmFzdC9kb20vR2VvbG9jYXRpb24v
cmVzb3VyY2VzL3JlZW50cmFudC1zdWNjZXNzLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0xLDUyICsw
LDAgQEAKLWRlc2NyaXB0aW9uKCJUZXN0cyB0aGF0IHJlZW50cmFudCBjYWxscyB0byBHZW9sb2Nh
dGlvbiBtZXRob2RzIGZyb20gdGhlIHN1Y2Nlc3MgY2FsbGJhY2sgYXJlIE9LLiIpOwotCi12YXIg
bW9ja0xhdGl0dWRlID0gNTEuNDc4OwotdmFyIG1vY2tMb25naXR1ZGUgPSAtMC4xNjY7Ci12YXIg
bW9ja0FjY3VyYWN5ID0gMTAwLjA7Ci0KLXdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlci5zZXRH
ZW9sb2NhdGlvblBlcm1pc3Npb24odHJ1ZSk7Ci13aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIu
c2V0TW9ja0dlb2xvY2F0aW9uUG9zaXRpb24obW9ja0xhdGl0dWRlLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1vY2tMb25naXR1ZGUsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbW9j
a0FjY3VyYWN5KTsKLQotdmFyIHBvc2l0aW9uOwotdmFyIHN1Y2Nlc3NDYWxsYmFja0ludm9rZWQg
PSBmYWxzZTsKLW5hdmlnYXRvci5nZW9sb2NhdGlvbi5nZXRDdXJyZW50UG9zaXRpb24oZnVuY3Rp
b24ocCkgewotICAgIGlmIChzdWNjZXNzQ2FsbGJhY2tJbnZva2VkKSB7Ci0gICAgICAgIHRlc3RG
YWlsZWQoJ1N1Y2Nlc3MgY2FsbGJhY2sgaW52b2tlZCB1bmV4cGVjdGVkbHknKTsKLSAgICAgICAg
d2luZG93LmxheW91dFRlc3RDb250cm9sbGVyLm5vdGlmeURvbmUoKTsKLSAgICB9Ci0gICAgc3Vj
Y2Vzc0NhbGxiYWNrSW52b2tlZCA9IHRydWU7Ci0KLSAgICBwb3NpdGlvbiA9IHA7Ci0gICAgc2hv
dWxkQmUoJ3Bvc2l0aW9uLmNvb3Jkcy5sYXRpdHVkZScsICdtb2NrTGF0aXR1ZGUnKTsKLSAgICBz
aG91bGRCZSgncG9zaXRpb24uY29vcmRzLmxvbmdpdHVkZScsICdtb2NrTG9uZ2l0dWRlJyk7Ci0g
ICAgc2hvdWxkQmUoJ3Bvc2l0aW9uLmNvb3Jkcy5hY2N1cmFjeScsICdtb2NrQWNjdXJhY3knKTsK
LSAgICBkZWJ1ZygnJyk7Ci0gICAgY29udGludWVUZXN0KCk7Ci19LCBmdW5jdGlvbihlKSB7Ci0g
ICAgdGVzdEZhaWxlZCgnRXJyb3IgY2FsbGJhY2sgaW52b2tlZCB1bmV4cGVjdGVkbHknKTsKLSAg
ICB3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIubm90aWZ5RG9uZSgpOwotfSk7Ci0KLWZ1bmN0
aW9uIGNvbnRpbnVlVGVzdCgpIHsKLSAgICB3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIuc2V0
TW9ja0dlb2xvY2F0aW9uUG9zaXRpb24oKyttb2NrTGF0aXR1ZGUsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICsrbW9ja0xvbmdpdHVk
ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgKyttb2NrQWNjdXJhY3kpOwotCi0gICAgbmF2aWdhdG9yLmdlb2xvY2F0aW9uLmdldEN1
cnJlbnRQb3NpdGlvbihmdW5jdGlvbihwKSB7Ci0gICAgICAgIHBvc2l0aW9uID0gcDsKLSAgICAg
ICAgc2hvdWxkQmUoJ3Bvc2l0aW9uLmNvb3Jkcy5sYXRpdHVkZScsICdtb2NrTGF0aXR1ZGUnKTsK
LSAgICAgICAgc2hvdWxkQmUoJ3Bvc2l0aW9uLmNvb3Jkcy5sb25naXR1ZGUnLCAnbW9ja0xvbmdp
dHVkZScpOwotICAgICAgICBzaG91bGRCZSgncG9zaXRpb24uY29vcmRzLmFjY3VyYWN5JywgJ21v
Y2tBY2N1cmFjeScpOwotICAgICAgICBkZWJ1ZygnPGJyIC8+PHNwYW4gY2xhc3M9InBhc3MiPlRF
U1QgQ09NUExFVEU8L3NwYW4+Jyk7Ci0gICAgICAgIHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxl
ci5ub3RpZnlEb25lKCk7Ci0gICAgfSwgZnVuY3Rpb24oZSkgewotICAgICAgICB0ZXN0RmFpbGVk
KCdFcnJvciBjYWxsYmFjayBpbnZva2VkIHVuZXhwZWN0ZWRseScpOwotICAgICAgICB3aW5kb3cu
bGF5b3V0VGVzdENvbnRyb2xsZXIubm90aWZ5RG9uZSgpOwotICAgIH0pOwotfQotd2luZG93Lmxh
eW91dFRlc3RDb250cm9sbGVyLndhaXRVbnRpbERvbmUoKTsKLQotdmFyIGlzQXN5bmNocm9ub3Vz
ID0gdHJ1ZTsKLXZhciBzdWNjZXNzZnVsbHlQYXJzZWQgPSB0cnVlOwpJbmRleDogTGF5b3V0VGVz
dHMvZmFzdC9kb20vR2VvbG9jYXRpb24vcmVzb3VyY2VzL3N1Y2Nlc3MuanMKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gTGF5b3V0VGVzdHMvZmFzdC9kb20vR2VvbG9jYXRpb24vcmVzb3VyY2VzL3N1Y2Nlc3MuanMJ
KHJldmlzaW9uIDU5NzY2KQorKysgTGF5b3V0VGVzdHMvZmFzdC9kb20vR2VvbG9jYXRpb24vcmVz
b3VyY2VzL3N1Y2Nlc3MuanMJKHdvcmtpbmcgY29weSkKQEAgLTEsMjcgKzAsMCBAQAotZGVzY3Jp
cHRpb24oIlRlc3RzIEdlb2xvY2F0aW9uIHN1Y2Nlc3MgY2FsbGJhY2sgdXNpbmcgdGhlIG1vY2sg
c2VydmljZS4iKTsKLQotdmFyIG1vY2tMYXRpdHVkZSA9IDUxLjQ3ODsKLXZhciBtb2NrTG9uZ2l0
dWRlID0gLTAuMTY2OwotdmFyIG1vY2tBY2N1cmFjeSA9IDEwMDsKLQotd2luZG93LmxheW91dFRl
c3RDb250cm9sbGVyLnNldEdlb2xvY2F0aW9uUGVybWlzc2lvbih0cnVlKTsKLXdpbmRvdy5sYXlv
dXRUZXN0Q29udHJvbGxlci5zZXRNb2NrR2VvbG9jYXRpb25Qb3NpdGlvbihtb2NrTGF0aXR1ZGUs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
bW9ja0xvbmdpdHVkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBtb2NrQWNjdXJhY3kpOwotCi12YXIgcG9zaXRpb247Ci1uYXZpZ2F0b3Iu
Z2VvbG9jYXRpb24uZ2V0Q3VycmVudFBvc2l0aW9uKGZ1bmN0aW9uKHApIHsKLSAgICBwb3NpdGlv
biA9IHAKLSAgICBzaG91bGRCZSgncG9zaXRpb24uY29vcmRzLmxhdGl0dWRlJywgJ21vY2tMYXRp
dHVkZScpOwotICAgIHNob3VsZEJlKCdwb3NpdGlvbi5jb29yZHMubG9uZ2l0dWRlJywgJ21vY2tM
b25naXR1ZGUnKTsKLSAgICBzaG91bGRCZSgncG9zaXRpb24uY29vcmRzLmFjY3VyYWN5JywgJ21v
Y2tBY2N1cmFjeScpOwotICAgIGRlYnVnKCc8YnIgLz48c3BhbiBjbGFzcz0icGFzcyI+VEVTVCBD
T01QTEVURTwvc3Bhbj4nKTsKLSAgICB3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIubm90aWZ5
RG9uZSgpOwotfSwgZnVuY3Rpb24oZSkgewotICAgIHRlc3RGYWlsZWQoJ0Vycm9yIGNhbGxiYWNr
IGludm9rZWQgdW5leHBlY3RlZGx5Jyk7Ci0gICAgd2luZG93LmxheW91dFRlc3RDb250cm9sbGVy
Lm5vdGlmeURvbmUoKTsKLX0pOwotd2luZG93LmxheW91dFRlc3RDb250cm9sbGVyLndhaXRVbnRp
bERvbmUoKTsKLQotdmFyIGlzQXN5bmNocm9ub3VzID0gdHJ1ZTsKLXZhciBzdWNjZXNzZnVsbHlQ
YXJzZWQgPSB0cnVlOwpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9kb20vR2VvbG9jYXRpb24vcmVz
b3VyY2VzL3RpbWVvdXQtY2xlYXItd2F0Y2guanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMv
ZmFzdC9kb20vR2VvbG9jYXRpb24vcmVzb3VyY2VzL3RpbWVvdXQtY2xlYXItd2F0Y2guanMJKHJl
dmlzaW9uIDU5NzY2KQorKysgTGF5b3V0VGVzdHMvZmFzdC9kb20vR2VvbG9jYXRpb24vcmVzb3Vy
Y2VzL3RpbWVvdXQtY2xlYXItd2F0Y2guanMJKHdvcmtpbmcgY29weSkKQEAgLTEsMjcgKzAsMCBA
QAotZGVzY3JpcHRpb24oIlRlc3RzIHRoYXQgd2hlbiBhIHdhdGNoIHRpbWVzIG91dCBhbmQgaXMg
Y2xlYXJlZCBmcm9tIHRoZSBlcnJvciBjYWxsYmFjaywgdGhlcmUgaXMgbm8gY3Jhc2guIFRoaXMg
YSByZWdyZXNzaW9uIHRlc3QgZm9yIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0zMjExMS4iKTsKLQotd2luZG93LmxheW91dFRlc3RDb250cm9sbGVyLnNldE1vY2tHZW9s
b2NhdGlvblBvc2l0aW9uKDUxLjQ3OCwgLTAuMTY2LCAxMDAuMCk7Ci0KLXZhciBlcnJvcjsKLXZh
ciB3YXRjaElkID0gbmF2aWdhdG9yLmdlb2xvY2F0aW9uLndhdGNoUG9zaXRpb24oZnVuY3Rpb24o
KSB7Ci0gICAgdGVzdEZhaWxlZCgnU3VjY2VzcyBjYWxsYmFjayBpbnZva2VkIHVuZXhwZWN0ZWRs
eScpOwotICAgIHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlci5ub3RpZnlEb25lKCk7Ci19LCBm
dW5jdGlvbihlKSB7Ci0gICAgZXJyb3IgPSBlCi0gICAgc2hvdWxkQmUoJ2Vycm9yLmNvZGUnLCAn
ZXJyb3IuVElNRU9VVCcpOwotICAgIHNob3VsZEJlKCdlcnJvci5tZXNzYWdlJywgJyJUaW1lb3V0
IGV4cGlyZWQiJyk7Ci0gICAgbmF2aWdhdG9yLmdlb2xvY2F0aW9uLmNsZWFyV2F0Y2god2F0Y2hJ
ZCk7Ci0gICAgd2luZG93LnNldFRpbWVvdXQoY29tcGxldGVUZXN0LCAwKTsKLX0sIHsKLSAgICB0
aW1lb3V0OiAwCi19KTsKLQotZnVuY3Rpb24gY29tcGxldGVUZXN0KCkKLXsKLSAgICBkZWJ1Zygn
PGJyIC8+PHNwYW4gY2xhc3M9InBhc3MiPlRFU1QgQ09NUExFVEU8L3NwYW4+Jyk7Ci0gICAgd2lu
ZG93LmxheW91dFRlc3RDb250cm9sbGVyLm5vdGlmeURvbmUoKTsKLX0KLXdpbmRvdy5sYXlvdXRU
ZXN0Q29udHJvbGxlci53YWl0VW50aWxEb25lKCk7Ci0KLXZhciBpc0FzeW5jaHJvbm91cyA9IHRy
dWU7Ci12YXIgc3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsKSW5kZXg6IExheW91dFRlc3RzL2Zh
c3QvZG9tL0dlb2xvY2F0aW9uL3Jlc291cmNlcy90aW1lb3V0LXplcm8uanMKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gTGF5b3V0VGVzdHMvZmFzdC9kb20vR2VvbG9jYXRpb24vcmVzb3VyY2VzL3RpbWVvdXQtemVy
by5qcwkocmV2aXNpb24gNTk3NjYpCisrKyBMYXlvdXRUZXN0cy9mYXN0L2RvbS9HZW9sb2NhdGlv
bi9yZXNvdXJjZXMvdGltZW91dC16ZXJvLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0xLDIxICswLDAg
QEAKLWRlc2NyaXB0aW9uKCJUZXN0cyB0aGF0IHdoZW4gdGltZW91dCBpcyB6ZXJvIChhbmQgbWF4
aW11bUFnZSBpcyB0b28pLCB0aGUgZXJyb3IgY2FsbGJhY2sgaXMgY2FsbGVkIGltbWVkaWF0ZWx5
IHdpdGggY29kZSBUSU1FT1VULiIpOwotCi1sYXlvdXRUZXN0Q29udHJvbGxlci5zZXRNb2NrR2Vv
bG9jYXRpb25Qb3NpdGlvbig1MS40NzgsIC0wLjE2NiwgMTAwLjApOwotCi12YXIgZXJyb3I7Ci1u
YXZpZ2F0b3IuZ2VvbG9jYXRpb24uZ2V0Q3VycmVudFBvc2l0aW9uKGZ1bmN0aW9uKHApIHsKLSAg
ICB0ZXN0RmFpbGVkKCdTdWNjZXNzIGNhbGxiYWNrIGludm9rZWQgdW5leHBlY3RlZGx5Jyk7Ci0g
ICAgd2luZG93LmxheW91dFRlc3RDb250cm9sbGVyLm5vdGlmeURvbmUoKTsKLX0sIGZ1bmN0aW9u
KGUpIHsKLSAgICBlcnJvciA9IGUKLSAgICBzaG91bGRCZSgnZXJyb3IuY29kZScsICdlcnJvci5U
SU1FT1VUJyk7Ci0gICAgc2hvdWxkQmUoJ2Vycm9yLm1lc3NhZ2UnLCAnIlRpbWVvdXQgZXhwaXJl
ZCInKTsKLSAgICBkZWJ1ZygnPGJyIC8+PHNwYW4gY2xhc3M9InBhc3MiPlRFU1QgQ09NUExFVEU8
L3NwYW4+Jyk7Ci0gICAgd2luZG93LmxheW91dFRlc3RDb250cm9sbGVyLm5vdGlmeURvbmUoKTsK
LX0sIHsKLSAgICB0aW1lb3V0OiAwCi19KTsKLXdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlci53
YWl0VW50aWxEb25lKCk7Ci0KLXZhciBpc0FzeW5jaHJvbm91cyA9IHRydWU7Ci12YXIgc3VjY2Vz
c2Z1bGx5UGFyc2VkID0gdHJ1ZTsKSW5kZXg6IExheW91dFRlc3RzL2Zhc3QvZG9tL0dlb2xvY2F0
aW9uL3Jlc291cmNlcy90aW1lb3V0LmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3Qv
ZG9tL0dlb2xvY2F0aW9uL3Jlc291cmNlcy90aW1lb3V0LmpzCShyZXZpc2lvbiA1OTc2NikKKysr
IExheW91dFRlc3RzL2Zhc3QvZG9tL0dlb2xvY2F0aW9uL3Jlc291cmNlcy90aW1lb3V0LmpzCSh3
b3JraW5nIGNvcHkpCkBAIC0xLDI5ICswLDAgQEAKLWRlc2NyaXB0aW9uKCJUZXN0cyB0aGF0IHdo
ZW4gdGltZW91dCBpcyBub24temVybywgdGhlIHN1Y2Nlc3MgY2FsbGJhY2sgaXMgY2FsbGVkIGFz
IGV4cGVjdGVkLiIpOwotCi12YXIgbW9ja0xhdGl0dWRlID0gNTEuNDc4OwotdmFyIG1vY2tMb25n
aXR1ZGUgPSAtMC4xNjY7Ci12YXIgbW9ja0FjY3VyYWN5ID0gMTAwLjA7Ci0KLXdpbmRvdy5sYXlv
dXRUZXN0Q29udHJvbGxlci5zZXRHZW9sb2NhdGlvblBlcm1pc3Npb24odHJ1ZSk7Ci13aW5kb3cu
bGF5b3V0VGVzdENvbnRyb2xsZXIuc2V0TW9ja0dlb2xvY2F0aW9uUG9zaXRpb24obW9ja0xhdGl0
dWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIG1vY2tMb25naXR1ZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgbW9ja0FjY3VyYWN5KTsKLQotdmFyIHBvc2l0aW9uOwotbmF2aWdh
dG9yLmdlb2xvY2F0aW9uLmdldEN1cnJlbnRQb3NpdGlvbihmdW5jdGlvbihwKSB7Ci0gICAgcG9z
aXRpb24gPSBwOwotICAgIHNob3VsZEJlKCdwb3NpdGlvbi5jb29yZHMubGF0aXR1ZGUnLCAnbW9j
a0xhdGl0dWRlJyk7Ci0gICAgc2hvdWxkQmUoJ3Bvc2l0aW9uLmNvb3Jkcy5sb25naXR1ZGUnLCAn
bW9ja0xvbmdpdHVkZScpOwotICAgIHNob3VsZEJlKCdwb3NpdGlvbi5jb29yZHMuYWNjdXJhY3kn
LCAnbW9ja0FjY3VyYWN5Jyk7Ci0gICAgZGVidWcoJzxiciAvPjxzcGFuIGNsYXNzPSJwYXNzIj5U
RVNUIENPTVBMRVRFPC9zcGFuPicpOwotICAgIHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlci5u
b3RpZnlEb25lKCk7Ci19LCBmdW5jdGlvbihlKSB7Ci0gICAgdGVzdEZhaWxlZCgnRXJyb3IgY2Fs
bGJhY2sgaW52b2tlZCB1bmV4cGVjdGVkbHknKTsKLSAgICB3aW5kb3cubGF5b3V0VGVzdENvbnRy
b2xsZXIubm90aWZ5RG9uZSgpOwotfSwgewotICAgIHRpbWVvdXQ6IDEwMDAKLX0pOwotd2luZG93
LmxheW91dFRlc3RDb250cm9sbGVyLndhaXRVbnRpbERvbmUoKTsKLQotdmFyIGlzQXN5bmNocm9u
b3VzID0gdHJ1ZTsKLXZhciBzdWNjZXNzZnVsbHlQYXJzZWQgPSB0cnVlOwpJbmRleDogTGF5b3V0
VGVzdHMvZmFzdC9kb20vR2VvbG9jYXRpb24vcmVzb3VyY2VzL3dhdGNoLmpzCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIExheW91dFRlc3RzL2Zhc3QvZG9tL0dlb2xvY2F0aW9uL3Jlc291cmNlcy93YXRjaC5qcwko
cmV2aXNpb24gNTk3NjYpCisrKyBMYXlvdXRUZXN0cy9mYXN0L2RvbS9HZW9sb2NhdGlvbi9yZXNv
dXJjZXMvd2F0Y2guanMJKHdvcmtpbmcgY29weSkKQEAgLTEsNjUgKzAsMCBAQAotZGVzY3JpcHRp
b24oIlRlc3RzIHRoYXQgd2F0Y2hQb3NpdGlvbiBjb3JyZWN0bHkgcmVwb3J0cyBwb3NpdGlvbiB1
cGRhdGVzIGFuZCBlcnJvcnMgZnJvbSB0aGUgR2VvbG9jYXRpb24gc2VydmljZS4iKTsKLQotdmFy
IG1vY2tMYXRpdHVkZSA9IDUxLjQ3ODsKLXZhciBtb2NrTG9uZ2l0dWRlID0gLTAuMTY2OwotdmFy
IG1vY2tBY2N1cmFjeSA9IDEwMC4wOwotCi12YXIgbW9ja0NvZGUgPSAxOwotdmFyIG1vY2tNZXNz
YWdlID0gJ3Rlc3QnOwotCi12YXIgcG9zaXRpb247Ci12YXIgZXJyb3I7Ci0KLWZ1bmN0aW9uIGNo
ZWNrUG9zaXRpb24ocCkgewotICAgIHBvc2l0aW9uID0gcDsKLSAgICBzaG91bGRCZSgncG9zaXRp
b24uY29vcmRzLmxhdGl0dWRlJywgJ21vY2tMYXRpdHVkZScpOwotICAgIHNob3VsZEJlKCdwb3Np
dGlvbi5jb29yZHMubG9uZ2l0dWRlJywgJ21vY2tMb25naXR1ZGUnKTsKLSAgICBzaG91bGRCZSgn
cG9zaXRpb24uY29vcmRzLmFjY3VyYWN5JywgJ21vY2tBY2N1cmFjeScpOwotICAgIGRlYnVnKCcn
KTsKLX0KLQotZnVuY3Rpb24gY2hlY2tFcnJvcihlKSB7Ci0gICAgZXJyb3IgPSBlOwotICAgIHNo
b3VsZEJlKCdlcnJvci5jb2RlJywgJ21vY2tDb2RlJyk7Ci0gICAgc2hvdWxkQmUoJ2Vycm9yLm1l
c3NhZ2UnLCAnbW9ja01lc3NhZ2UnKTsKLSAgICBkZWJ1ZygnJyk7Ci19Ci0KLXdpbmRvdy5sYXlv
dXRUZXN0Q29udHJvbGxlci5zZXRHZW9sb2NhdGlvblBlcm1pc3Npb24odHJ1ZSk7Ci13aW5kb3cu
bGF5b3V0VGVzdENvbnRyb2xsZXIuc2V0TW9ja0dlb2xvY2F0aW9uUG9zaXRpb24obW9ja0xhdGl0
dWRlLCBtb2NrTG9uZ2l0dWRlLCBtb2NrQWNjdXJhY3kpOwotCi12YXIgc3RhdGUgPSAwOwotbmF2
aWdhdG9yLmdlb2xvY2F0aW9uLndhdGNoUG9zaXRpb24oZnVuY3Rpb24ocCkgewotICAgIHN3aXRj
aCAoc3RhdGUrKykgewotICAgICAgICBjYXNlIDA6Ci0gICAgICAgICAgICBjaGVja1Bvc2l0aW9u
KHApOwotICAgICAgICAgICAgd2luZG93LmxheW91dFRlc3RDb250cm9sbGVyLnNldE1vY2tHZW9s
b2NhdGlvblBvc2l0aW9uKCsrbW9ja0xhdGl0dWRlLCArK21vY2tMb25naXR1ZGUsICsrbW9ja0Fj
Y3VyYWN5KTsKLSAgICAgICAgICAgIGJyZWFrOwotICAgICAgICBjYXNlIDE6Ci0gICAgICAgICAg
ICBjaGVja1Bvc2l0aW9uKHApOwotICAgICAgICAgICAgd2luZG93LmxheW91dFRlc3RDb250cm9s
bGVyLnNldE1vY2tHZW9sb2NhdGlvbkVycm9yKG1vY2tDb2RlLCBtb2NrTWVzc2FnZSk7Ci0gICAg
ICAgICAgICBicmVhazsKLSAgICAgICAgY2FzZSAzOgotICAgICAgICAgICAgY2hlY2tQb3NpdGlv
bihwKTsKLSAgICAgICAgICAgIGRlYnVnKCc8YnIgLz48c3BhbiBjbGFzcz0icGFzcyI+VEVTVCBD
T01QTEVURTwvc3Bhbj4nKTsKLSAgICAgICAgICAgIHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxl
ci5ub3RpZnlEb25lKCk7Ci0gICAgICAgICAgICBicmVhazsKLSAgICAgICAgZGVmYXVsdDoKLSAg
ICAgICAgICAgIHRlc3RGYWlsZWQoJ1N1Y2Nlc3MgY2FsbGJhY2sgaW52b2tlZCB1bmV4cGVjdGVk
bHknKTsKLSAgICAgICAgICAgIHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlci5ub3RpZnlEb25l
KCk7Ci0gICAgfQotfSwgZnVuY3Rpb24oZSkgewotICAgIHN3aXRjaCAoc3RhdGUrKykgewotICAg
ICAgICBjYXNlIDI6Ci0gICAgICAgICAgICBjaGVja0Vycm9yKGUpOwotICAgICAgICAgICAgd2lu
ZG93LmxheW91dFRlc3RDb250cm9sbGVyLnNldE1vY2tHZW9sb2NhdGlvblBvc2l0aW9uKCsrbW9j
a0xhdGl0dWRlLCArK21vY2tMb25naXR1ZGUsICsrbW9ja0FjY3VyYWN5KTsKLSAgICAgICAgICAg
IGJyZWFrOwotICAgICAgICBkZWZhdWx0OgotICAgICAgICAgICAgdGVzdEZhaWxlZCgnRXJyb3Ig
Y2FsbGJhY2sgaW52b2tlZCB1bmV4cGVjdGVkbHknKTsKLSAgICAgICAgICAgIHdpbmRvdy5sYXlv
dXRUZXN0Q29udHJvbGxlci5ub3RpZnlEb25lKCk7Ci0gICAgfQotfSk7Ci13aW5kb3cubGF5b3V0
VGVzdENvbnRyb2xsZXIud2FpdFVudGlsRG9uZSgpOwotCi12YXIgaXNBc3luY2hyb25vdXMgPSB0
cnVlOwotdmFyIHN1Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWU7CkluZGV4OiBMYXlvdXRUZXN0cy9m
YXN0L2RvbS9HZW9sb2NhdGlvbi9zY3JpcHQtdGVzdHMvVEVNUExBVEUuaHRtbAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L2RvbS9HZW9sb2NhdGlvbi9zY3JpcHQtdGVzdHMvVEVNUExB
VEUuaHRtbAkocmV2aXNpb24gNTk3NjYpCisrKyBMYXlvdXRUZXN0cy9mYXN0L2RvbS9HZW9sb2Nh
dGlvbi9zY3JpcHQtdGVzdHMvVEVNUExBVEUuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtOCw2ICs4
LDYgQEAKIDxwIGlkPSJkZXNjcmlwdGlvbiI+PC9wPgogPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+
CiA8c2NyaXB0IHNyYz0iWU9VUl9KU19GSUxFX0hFUkUiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9
InJlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4u
L2pzL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgogPC9ib2R5PgogPC9odG1s
PgpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9kb20vR2VvbG9jYXRpb24vc2NyaXB0LXRlc3RzL2Fy
Z3VtZW50LXR5cGVzLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvZG9tL0dlb2xv
Y2F0aW9uL3NjcmlwdC10ZXN0cy9hcmd1bWVudC10eXBlcy5qcwkocmV2aXNpb24gNTk3NjYpCisr
KyBMYXlvdXRUZXN0cy9mYXN0L2RvbS9HZW9sb2NhdGlvbi9zY3JpcHQtdGVzdHMvYXJndW1lbnQt
dHlwZXMuanMJKHdvcmtpbmcgY29weSkKQEAgLTExNCw2ICsxMTQsNiBAQCB0ZXN0KCduYXZpZ2F0
b3IuZ2VvbG9jYXRpb24uZ2V0Q3VycmVudFBvCiB0ZXN0KCduYXZpZ2F0b3IuZ2VvbG9jYXRpb24u
Z2V0Q3VycmVudFBvc2l0aW9uKGVtcHR5RnVuY3Rpb24sIHVuZGVmaW5lZCwge3RpbWVvdXQ6LUlu
ZmluaXR5fSknLCBmYWxzZSk7CiB0ZXN0KCduYXZpZ2F0b3IuZ2VvbG9jYXRpb24uZ2V0Q3VycmVu
dFBvc2l0aW9uKGVtcHR5RnVuY3Rpb24sIHVuZGVmaW5lZCwge3RpbWVvdXQ6InN0cmluZyJ9KScs
IGZhbHNlKTsKIAotdmFyIGlzQXN5bmNocm9ub3VzID0gZmFsc2U7Ci12YXIgc3VjY2Vzc2Z1bGx5
UGFyc2VkID0gdHJ1ZTsKK3dpbmRvdy5qc1Rlc3RJc0FzeW5jID0gZmFsc2U7Cit3aW5kb3cuc3Vj
Y2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsKIApJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9kb20vR2Vv
bG9jYXRpb24vc2NyaXB0LXRlc3RzL2NhbGxiYWNrLWV4Y2VwdGlvbi5qcwo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBMYXlvdXRUZXN0cy9mYXN0L2RvbS9HZW9sb2NhdGlvbi9zY3JpcHQtdGVzdHMvY2FsbGJhY2st
ZXhjZXB0aW9uLmpzCShyZXZpc2lvbiA1OTc2NikKKysrIExheW91dFRlc3RzL2Zhc3QvZG9tL0dl
b2xvY2F0aW9uL3NjcmlwdC10ZXN0cy9jYWxsYmFjay1leGNlcHRpb24uanMJKHdvcmtpbmcgY29w
eSkKQEAgLTE4LDE5ICsxOCwxNCBAQCBuYXZpZ2F0b3IuZ2VvbG9jYXRpb24uZ2V0Q3VycmVudFBv
c2l0aW9uCiAKICAgICAvLyBZaWVsZCB0byBhbGxvdyBmb3IgdGhlIGVycm9yIGNhbGxiYWNrIHRv
IGJlIGludm9rZWQuIFRoZSB0aW1lcgogICAgIC8vIG11c3QgYmUgc3RhcnRlZCBiZWZvcmUgdGhl
IGV4Y2VwdGlvbiBpcyB0aHJvd24uCi0gICAgd2luZG93LnNldFRpbWVvdXQoY29tcGxldGVUZXN0
LCAwKTsKKyAgICB3aW5kb3cuc2V0VGltZW91dChmaW5pc2hKU1Rlc3QsIDApOwogICAgIHRocm93
IG5ldyBFcnJvcignRXhjZXB0aW9uIGluIHN1Y2Nlc3MgY2FsbGJhY2snKTsKIH0sIGZ1bmN0aW9u
KGUpIHsKICAgICB0ZXN0RmFpbGVkKCdFcnJvciBjYWxsYmFjayBpbnZva2VkIHVuZXhwZWN0ZWRs
eScpOwotICAgIHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlci5ub3RpZnlEb25lKCk7CisgICAg
ZmluaXNoSlNUZXN0KCk7CiB9KTsKIAotZnVuY3Rpb24gY29tcGxldGVUZXN0KCkKLXsKLSAgICBk
ZWJ1ZygnPGJyIC8+PHNwYW4gY2xhc3M9InBhc3MiPlRFU1QgQ09NUExFVEU8L3NwYW4+Jyk7Ci0g
ICAgd2luZG93LmxheW91dFRlc3RDb250cm9sbGVyLm5vdGlmeURvbmUoKTsKLX0KIHdpbmRvdy5s
YXlvdXRUZXN0Q29udHJvbGxlci53YWl0VW50aWxEb25lKCk7CiAKLXZhciBpc0FzeW5jaHJvbm91
cyA9IHRydWU7Ci12YXIgc3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsKK3dpbmRvdy5qc1Rlc3RJ
c0FzeW5jID0gdHJ1ZTsKK3dpbmRvdy5zdWNjZXNzZnVsbHlQYXJzZWQgPSB0cnVlOwpJbmRleDog
TGF5b3V0VGVzdHMvZmFzdC9kb20vR2VvbG9jYXRpb24vc2NyaXB0LXRlc3RzL2VuYWJsZWQuanMK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9kb20vR2VvbG9jYXRpb24vc2NyaXB0LXRl
c3RzL2VuYWJsZWQuanMJKHJldmlzaW9uIDU5NzY2KQorKysgTGF5b3V0VGVzdHMvZmFzdC9kb20v
R2VvbG9jYXRpb24vc2NyaXB0LXRlc3RzL2VuYWJsZWQuanMJKHdvcmtpbmcgY29weSkKQEAgLTE0
LDUgKzE0LDUgQEAgc2hvdWxkQmVUcnVlKCJoYXNHZW9sb2NhdGlvblByb3BlcnR5KCkiKQogc2hv
dWxkQmVUcnVlKCInZ2VvbG9jYXRpb24nIGluIG5hdmlnYXRvciIpOwogc2hvdWxkQmVUcnVlKCJu
YXZpZ2F0b3IuaGFzT3duUHJvcGVydHkoJ2dlb2xvY2F0aW9uJykiKTsKIAotdmFyIGlzQXN5bmNo
cm9ub3VzID0gZmFsc2U7Ci12YXIgc3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsKK3dpbmRvdy5q
c1Rlc3RJc0FzeW5jID0gZmFsc2U7Cit3aW5kb3cuc3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsK
SW5kZXg6IExheW91dFRlc3RzL2Zhc3QvZG9tL0dlb2xvY2F0aW9uL3NjcmlwdC10ZXN0cy9lcnJv
ci5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L2RvbS9HZW9sb2NhdGlvbi9zY3Jp
cHQtdGVzdHMvZXJyb3IuanMJKHJldmlzaW9uIDU5NzY2KQorKysgTGF5b3V0VGVzdHMvZmFzdC9k
b20vR2VvbG9jYXRpb24vc2NyaXB0LXRlc3RzL2Vycm9yLmpzCSh3b3JraW5nIGNvcHkpCkBAIC04
LDggKzgsNyBAQCB3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIuc2V0TW9ja0dlb2xvCiB2YXIg
ZXJyb3I7CiBuYXZpZ2F0b3IuZ2VvbG9jYXRpb24uZ2V0Q3VycmVudFBvc2l0aW9uKGZ1bmN0aW9u
KHApIHsKICAgICB0ZXN0RmFpbGVkKCdTdWNjZXNzIGNhbGxiYWNrIGludm9rZWQgdW5leHBlY3Rl
ZGx5Jyk7Ci0gICAgZGVidWcoJzxiciAvPjxzcGFuIGNsYXNzPSJwYXNzIj5URVNUIENPTVBMRVRF
PC9zcGFuPicpOwotICAgIHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlci5ub3RpZnlEb25lKCk7
CisgICAgZmluaXNoSlNUZXN0KCk7CiB9LCBmdW5jdGlvbihlKSB7CiAgICAgZXJyb3IgPSBlCiAg
ICAgc2hvdWxkQmUoJ2Vycm9yLmNvZGUnLCAnbW9ja0NvZGUnKTsKQEAgLTE4LDEwICsxNyw5IEBA
IG5hdmlnYXRvci5nZW9sb2NhdGlvbi5nZXRDdXJyZW50UG9zaXRpb24KICAgICBzaG91bGRCZSgn
ZXJyb3IuUEVSTUlTU0lPTl9ERU5JRUQnLCAnMScpOwogICAgIHNob3VsZEJlKCdlcnJvci5QT1NJ
VElPTl9VTkFWQUlMQUJMRScsICcyJyk7CiAgICAgc2hvdWxkQmUoJ2Vycm9yLlRJTUVPVVQnLCAn
MycpOwotICAgIGRlYnVnKCc8YnIgLz48c3BhbiBjbGFzcz0icGFzcyI+VEVTVCBDT01QTEVURTwv
c3Bhbj4nKTsKLSAgICB3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIubm90aWZ5RG9uZSgpOwor
ICAgIGZpbmlzaEpTVGVzdCgpOwogfSk7CiB3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIud2Fp
dFVudGlsRG9uZSgpOwogCi12YXIgaXNBc3luY2hyb25vdXMgPSB0cnVlOwotdmFyIHN1Y2Nlc3Nm
dWxseVBhcnNlZCA9IHRydWU7Cit3aW5kb3cuanNUZXN0SXNBc3luYyA9IHRydWU7Cit3aW5kb3cu
c3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsKSW5kZXg6IExheW91dFRlc3RzL2Zhc3QvZG9tL0dl
b2xvY2F0aW9uL3NjcmlwdC10ZXN0cy9qcy10ZXN0LXBvc3QuanMKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5
b3V0VGVzdHMvZmFzdC9kb20vR2VvbG9jYXRpb24vc2NyaXB0LXRlc3RzL2pzLXRlc3QtcG9zdC5q
cwkocmV2aXNpb24gNTk3NjYpCisrKyBMYXlvdXRUZXN0cy9mYXN0L2RvbS9HZW9sb2NhdGlvbi9z
Y3JpcHQtdGVzdHMvanMtdGVzdC1wb3N0LmpzCSh3b3JraW5nIGNvcHkpCkBAIC0xLDQgKzAsMCBA
QAotc2hvdWxkQmVUcnVlKCJzdWNjZXNzZnVsbHlQYXJzZWQiKTsKLWlmICghaXNBc3luY2hyb25v
dXMpIHsKLSAgICBkZWJ1ZygnPGJyIC8+PHNwYW4gY2xhc3M9InBhc3MiPlRFU1QgQ09NUExFVEU8
L3NwYW4+Jyk7Ci19CkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L2RvbS9HZW9sb2NhdGlvbi9zY3Jp
cHQtdGVzdHMvbWF4aW11bS1hZ2UuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9k
b20vR2VvbG9jYXRpb24vc2NyaXB0LXRlc3RzL21heGltdW0tYWdlLmpzCShyZXZpc2lvbiA1OTc2
NikKKysrIExheW91dFRlc3RzL2Zhc3QvZG9tL0dlb2xvY2F0aW9uL3NjcmlwdC10ZXN0cy9tYXhp
bXVtLWFnZS5qcwkod29ya2luZyBjb3B5KQpAQCAtMzQsNyArMzQsNyBAQCBuYXZpZ2F0b3IuZ2Vv
bG9jYXRpb24uZ2V0Q3VycmVudFBvc2l0aW9uCiAgICAgdGVzdFplcm9NYXhpbXVtQWdlKCk7CiB9
LCBmdW5jdGlvbihlKSB7CiAgICAgdGVzdEZhaWxlZCgnRXJyb3IgY2FsbGJhY2sgaW52b2tlZCB1
bmV4cGVjdGVkbHknKTsKLSAgICB3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIubm90aWZ5RG9u
ZSgpOworICAgIGZpbmlzaEpTVGVzdCgpOwogfSk7CiAKIGZ1bmN0aW9uIHRlc3RaZXJvTWF4aW11
bUFnZSgpIHsKQEAgLTQ2LDcgKzQ2LDcgQEAgZnVuY3Rpb24gdGVzdFplcm9NYXhpbXVtQWdlKCkg
ewogICAgICAgICB0ZXN0Tm9uWmVyb01heGltdW1BZ2UoKTsKICAgICB9LCBmdW5jdGlvbihlKSB7
CiAgICAgICAgIHRlc3RGYWlsZWQoJ0Vycm9yIGNhbGxiYWNrIGludm9rZWQgdW5leHBlY3RlZGx5
Jyk7Ci0gICAgICAgIHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlci5ub3RpZnlEb25lKCk7Cisg
ICAgICAgIGZpbmlzaEpTVGVzdCgpOwogICAgIH0pOwogfQogCkBAIC01OSw3ICs1OSw3IEBAIGZ1
bmN0aW9uIHRlc3ROb25aZXJvTWF4aW11bUFnZSgpIHsKICAgICAgICAgdGVzdFplcm9NYXhpbXVt
QWdlRXJyb3IoKTsKICAgICB9LCBmdW5jdGlvbihlKSB7CiAgICAgICAgIHRlc3RGYWlsZWQoJ0Vy
cm9yIGNhbGxiYWNrIGludm9rZWQgdW5leHBlY3RlZGx5Jyk7Ci0gICAgICAgIHdpbmRvdy5sYXlv
dXRUZXN0Q29udHJvbGxlci5ub3RpZnlEb25lKCk7CisgICAgICAgIGZpbmlzaEpTVGVzdCgpOwog
ICAgIH0sIHttYXhpbXVtQWdlOiAxMDAwfSk7CiB9CiAKQEAgLTY3LDE1ICs2NywxNCBAQCBmdW5j
dGlvbiB0ZXN0WmVyb01heGltdW1BZ2VFcnJvcigpIHsKICAgICAvLyBUaGUgZGVmYXVsdCBtYXhp
bXVtQWdlIGlzIHplcm8sIHNvIHdlIGV4cGVjdCB0aGUgZXJyb3IgZnJvbSB0aGUgc2VydmljZS4K
ICAgICBuYXZpZ2F0b3IuZ2VvbG9jYXRpb24uZ2V0Q3VycmVudFBvc2l0aW9uKGZ1bmN0aW9uKHAp
IHsKICAgICAgICAgdGVzdEZhaWxlZCgnU3VjY2VzcyBjYWxsYmFjayBpbnZva2VkIHVuZXhwZWN0
ZWRseScpOwotICAgICAgICB3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIubm90aWZ5RG9uZSgp
OworICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKICAgICB9LCBmdW5jdGlvbihlKSB7CiAgICAgICAg
IGNoZWNrRXJyb3IoZSk7Ci0gICAgICAgIGRlYnVnKCc8YnIgLz48c3BhbiBjbGFzcz0icGFzcyI+
VEVTVCBDT01QTEVURTwvc3Bhbj4nKTsKLSAgICAgICAgd2luZG93LmxheW91dFRlc3RDb250cm9s
bGVyLm5vdGlmeURvbmUoKTsKKyAgICAgICAgZmluaXNoSlNUZXN0KCk7CiAgICAgfSk7CiB9CiAK
IHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlci53YWl0VW50aWxEb25lKCk7CiAKLXZhciBpc0Fz
eW5jaHJvbm91cyA9IHRydWU7Ci12YXIgc3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsKK3dpbmRv
dy5qc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKK3dpbmRvdy5zdWNjZXNzZnVsbHlQYXJzZWQgPSB0cnVl
OwpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9kb20vR2VvbG9jYXRpb24vc2NyaXB0LXRlc3RzL3Bl
cm1pc3Npb24tZGVuaWVkLWFscmVhZHktY2xlYXItd2F0Y2guanMKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5
b3V0VGVzdHMvZmFzdC9kb20vR2VvbG9jYXRpb24vc2NyaXB0LXRlc3RzL3Blcm1pc3Npb24tZGVu
aWVkLWFscmVhZHktY2xlYXItd2F0Y2guanMJKHJldmlzaW9uIDU5NzY2KQorKysgTGF5b3V0VGVz
dHMvZmFzdC9kb20vR2VvbG9jYXRpb24vc2NyaXB0LXRlc3RzL3Blcm1pc3Npb24tZGVuaWVkLWFs
cmVhZHktY2xlYXItd2F0Y2guanMJKHdvcmtpbmcgY29weSkKQEAgLTcsNyArNyw3IEBAIHdpbmRv
dy5sYXlvdXRUZXN0Q29udHJvbGxlci5zZXRNb2NrR2VvbG8KIHZhciBlcnJvcjsKIG5hdmlnYXRv
ci5nZW9sb2NhdGlvbi5nZXRDdXJyZW50UG9zaXRpb24oZnVuY3Rpb24ocCkgewogICAgIHRlc3RG
YWlsZWQoJ1N1Y2Nlc3MgY2FsbGJhY2sgaW52b2tlZCB1bmV4cGVjdGVkbHknKTsKLSAgICB3aW5k
b3cubGF5b3V0VGVzdENvbnRyb2xsZXIubm90aWZ5RG9uZSgpOworICAgIGZpbmlzaEpTVGVzdCgp
OwogfSwgZnVuY3Rpb24oZSkgewogICAgIGVycm9yID0gZQogICAgIHNob3VsZEJlKCdlcnJvci5j
b2RlJywgJ2Vycm9yLlBFUk1JU1NJT05fREVOSUVEJyk7CkBAIC0yMSwyMiArMjEsMTcgQEAgZnVu
Y3Rpb24gY29udGludWVUZXN0KCkKICAgICAvLyBNYWtlIGFub3RoZXIgcmVxdWVzdCwgd2l0aCBw
ZXJtaXNzaW9uIGFscmVhZHkgZGVuaWVkLgogICAgIHZhciB3YXRjaElkID0gbmF2aWdhdG9yLmdl
b2xvY2F0aW9uLndhdGNoUG9zaXRpb24oZnVuY3Rpb24ocCkgewogICAgICAgICB0ZXN0RmFpbGVk
KCdTdWNjZXNzIGNhbGxiYWNrIGludm9rZWQgdW5leHBlY3RlZGx5Jyk7Ci0gICAgICAgIHdpbmRv
dy5sYXlvdXRUZXN0Q29udHJvbGxlci5ub3RpZnlEb25lKCk7CisgICAgICAgIGZpbmlzaEpTVGVz
dCgpOwogICAgIH0sIGZ1bmN0aW9uKGUpIHsKICAgICAgICAgZXJyb3IgPSBlCiAgICAgICAgIHNo
b3VsZEJlKCdlcnJvci5jb2RlJywgJ2Vycm9yLlBFUk1JU1NJT05fREVOSUVEJyk7CiAgICAgICAg
IHNob3VsZEJlKCdlcnJvci5tZXNzYWdlJywgJyJVc2VyIGRlbmllZCBHZW9sb2NhdGlvbiInKTsK
ICAgICAgICAgbmF2aWdhdG9yLmdlb2xvY2F0aW9uLmNsZWFyV2F0Y2god2F0Y2hJZCk7Ci0gICAg
ICAgIHdpbmRvdy5zZXRUaW1lb3V0KGNvbXBsZXRlVGVzdCwgMCk7CisgICAgICAgIHdpbmRvdy5z
ZXRUaW1lb3V0KGZpbmlzaEpTVGVzdCwgMCk7CiAgICAgfSk7CiB9CiAKLWZ1bmN0aW9uIGNvbXBs
ZXRlVGVzdCgpCi17Ci0gICAgZGVidWcoJzxiciAvPjxzcGFuIGNsYXNzPSJwYXNzIj5URVNUIENP
TVBMRVRFPC9zcGFuPicpOwotICAgIHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlci5ub3RpZnlE
b25lKCk7Ci19CiB3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIud2FpdFVudGlsRG9uZSgpOwog
Ci12YXIgaXNBc3luY2hyb25vdXMgPSB0cnVlOwotdmFyIHN1Y2Nlc3NmdWxseVBhcnNlZCA9IHRy
dWU7Cit3aW5kb3cuanNUZXN0SXNBc3luYyA9IHRydWU7Cit3aW5kb3cuc3VjY2Vzc2Z1bGx5UGFy
c2VkID0gdHJ1ZTsKSW5kZXg6IExheW91dFRlc3RzL2Zhc3QvZG9tL0dlb2xvY2F0aW9uL3Njcmlw
dC10ZXN0cy9wZXJtaXNzaW9uLWRlbmllZC1hbHJlYWR5LWVycm9yLmpzCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IExheW91dFRlc3RzL2Zhc3QvZG9tL0dlb2xvY2F0aW9uL3NjcmlwdC10ZXN0cy9wZXJtaXNzaW9u
LWRlbmllZC1hbHJlYWR5LWVycm9yLmpzCShyZXZpc2lvbiA1OTc2NikKKysrIExheW91dFRlc3Rz
L2Zhc3QvZG9tL0dlb2xvY2F0aW9uL3NjcmlwdC10ZXN0cy9wZXJtaXNzaW9uLWRlbmllZC1hbHJl
YWR5LWVycm9yLmpzCSh3b3JraW5nIGNvcHkpCkBAIC03LDcgKzcsNyBAQCB3aW5kb3cubGF5b3V0
VGVzdENvbnRyb2xsZXIuc2V0TW9ja0dlb2xvCiB2YXIgZXJyb3I7CiBuYXZpZ2F0b3IuZ2VvbG9j
YXRpb24uZ2V0Q3VycmVudFBvc2l0aW9uKGZ1bmN0aW9uKHApIHsKICAgICB0ZXN0RmFpbGVkKCdT
dWNjZXNzIGNhbGxiYWNrIGludm9rZWQgdW5leHBlY3RlZGx5Jyk7Ci0gICAgd2luZG93LmxheW91
dFRlc3RDb250cm9sbGVyLm5vdGlmeURvbmUoKTsKKyAgICBmaW5pc2hKU1Rlc3QoKTsKIH0sIGZ1
bmN0aW9uKGUpIHsKICAgICBlcnJvciA9IGUKICAgICBzaG91bGRCZSgnZXJyb3IuY29kZScsICdl
cnJvci5QRVJNSVNTSU9OX0RFTklFRCcpOwpAQCAtMjMsMTYgKzIzLDE1IEBAIGZ1bmN0aW9uIGNv
bnRpbnVlVGVzdCgpCiAKICAgICBuYXZpZ2F0b3IuZ2VvbG9jYXRpb24uZ2V0Q3VycmVudFBvc2l0
aW9uKGZ1bmN0aW9uKHApIHsKICAgICAgICAgdGVzdEZhaWxlZCgnU3VjY2VzcyBjYWxsYmFjayBp
bnZva2VkIHVuZXhwZWN0ZWRseScpOwotICAgICAgICB3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xs
ZXIubm90aWZ5RG9uZSgpOworICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKICAgICB9LCBmdW5jdGlv
bihlKSB7CiAgICAgICAgIGVycm9yID0gZQogICAgICAgICBzaG91bGRCZSgnZXJyb3IuY29kZScs
ICdlcnJvci5QRVJNSVNTSU9OX0RFTklFRCcpOwogICAgICAgICBzaG91bGRCZSgnZXJyb3IubWVz
c2FnZScsICciVXNlciBkZW5pZWQgR2VvbG9jYXRpb24iJyk7Ci0gICAgICAgIGRlYnVnKCc8YnIg
Lz48c3BhbiBjbGFzcz0icGFzcyI+VEVTVCBDT01QTEVURTwvc3Bhbj4nKTsKLSAgICAgICAgd2lu
ZG93LmxheW91dFRlc3RDb250cm9sbGVyLm5vdGlmeURvbmUoKTsKKyAgICAgICAgZmluaXNoSlNU
ZXN0KCk7CiAgICAgfSk7CiB9CiB3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIud2FpdFVudGls
RG9uZSgpOwogCi12YXIgaXNBc3luY2hyb25vdXMgPSB0cnVlOwotdmFyIHN1Y2Nlc3NmdWxseVBh
cnNlZCA9IHRydWU7Cit3aW5kb3cuanNUZXN0SXNBc3luYyA9IHRydWU7Cit3aW5kb3cuc3VjY2Vz
c2Z1bGx5UGFyc2VkID0gdHJ1ZTsKSW5kZXg6IExheW91dFRlc3RzL2Zhc3QvZG9tL0dlb2xvY2F0
aW9uL3NjcmlwdC10ZXN0cy9wZXJtaXNzaW9uLWRlbmllZC1hbHJlYWR5LXN1Y2Nlc3MuanMKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9kb20vR2VvbG9jYXRpb24vc2NyaXB0LXRlc3Rz
L3Blcm1pc3Npb24tZGVuaWVkLWFscmVhZHktc3VjY2Vzcy5qcwkocmV2aXNpb24gNTk3NjYpCisr
KyBMYXlvdXRUZXN0cy9mYXN0L2RvbS9HZW9sb2NhdGlvbi9zY3JpcHQtdGVzdHMvcGVybWlzc2lv
bi1kZW5pZWQtYWxyZWFkeS1zdWNjZXNzLmpzCSh3b3JraW5nIGNvcHkpCkBAIC03LDcgKzcsNyBA
QCB3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIuc2V0TW9ja0dlb2xvCiB2YXIgZXJyb3I7CiBu
YXZpZ2F0b3IuZ2VvbG9jYXRpb24uZ2V0Q3VycmVudFBvc2l0aW9uKGZ1bmN0aW9uKHApIHsKICAg
ICB0ZXN0RmFpbGVkKCdTdWNjZXNzIGNhbGxiYWNrIGludm9rZWQgdW5leHBlY3RlZGx5Jyk7Ci0g
ICAgd2luZG93LmxheW91dFRlc3RDb250cm9sbGVyLm5vdGlmeURvbmUoKTsKKyAgICBmaW5pc2hK
U1Rlc3QoKTsKIH0sIGZ1bmN0aW9uKGUpIHsKICAgICBlcnJvciA9IGUKICAgICBzaG91bGRCZSgn
ZXJyb3IuY29kZScsICdlcnJvci5QRVJNSVNTSU9OX0RFTklFRCcpOwpAQCAtMjEsMTYgKzIxLDE1
IEBAIGZ1bmN0aW9uIGNvbnRpbnVlVGVzdCgpCiAgICAgLy8gTWFrZSBhbm90aGVyIHJlcXVlc3Qs
IHdpdGggcGVybWlzc2lvbiBhbHJlYWR5IGRlbmllZC4KICAgICBuYXZpZ2F0b3IuZ2VvbG9jYXRp
b24uZ2V0Q3VycmVudFBvc2l0aW9uKGZ1bmN0aW9uKHApIHsKICAgICAgICAgdGVzdEZhaWxlZCgn
U3VjY2VzcyBjYWxsYmFjayBpbnZva2VkIHVuZXhwZWN0ZWRseScpOwotICAgICAgICB3aW5kb3cu
bGF5b3V0VGVzdENvbnRyb2xsZXIubm90aWZ5RG9uZSgpOworICAgICAgICBmaW5pc2hKU1Rlc3Qo
KTsKICAgICB9LCBmdW5jdGlvbihlKSB7CiAgICAgICAgIGVycm9yID0gZQogICAgICAgICBzaG91
bGRCZSgnZXJyb3IuY29kZScsICdlcnJvci5QRVJNSVNTSU9OX0RFTklFRCcpOwogICAgICAgICBz
aG91bGRCZSgnZXJyb3IubWVzc2FnZScsICciVXNlciBkZW5pZWQgR2VvbG9jYXRpb24iJyk7Ci0g
ICAgICAgIGRlYnVnKCc8YnIgLz48c3BhbiBjbGFzcz0icGFzcyI+VEVTVCBDT01QTEVURTwvc3Bh
bj4nKTsKLSAgICAgICAgd2luZG93LmxheW91dFRlc3RDb250cm9sbGVyLm5vdGlmeURvbmUoKTsK
KyAgICAgICAgZmluaXNoSlNUZXN0KCk7CiAgICAgfSk7CiB9CiB3aW5kb3cubGF5b3V0VGVzdENv
bnRyb2xsZXIud2FpdFVudGlsRG9uZSgpOwogCi12YXIgaXNBc3luY2hyb25vdXMgPSB0cnVlOwot
dmFyIHN1Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWU7Cit3aW5kb3cuanNUZXN0SXNBc3luYyA9IHRy
dWU7Cit3aW5kb3cuc3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsKSW5kZXg6IExheW91dFRlc3Rz
L2Zhc3QvZG9tL0dlb2xvY2F0aW9uL3NjcmlwdC10ZXN0cy9wZXJtaXNzaW9uLWRlbmllZC1zdG9w
cy13YXRjaGVzLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvZG9tL0dlb2xvY2F0
aW9uL3NjcmlwdC10ZXN0cy9wZXJtaXNzaW9uLWRlbmllZC1zdG9wcy13YXRjaGVzLmpzCShyZXZp
c2lvbiA1OTc2NikKKysrIExheW91dFRlc3RzL2Zhc3QvZG9tL0dlb2xvY2F0aW9uL3NjcmlwdC10
ZXN0cy9wZXJtaXNzaW9uLWRlbmllZC1zdG9wcy13YXRjaGVzLmpzCSh3b3JraW5nIGNvcHkpCkBA
IC05LDExICs5LDExIEBAIHZhciBlcnJvcjsKIHZhciBlcnJvckNhbGxiYWNrSW52b2tlZCA9IGZh
bHNlOwogbmF2aWdhdG9yLmdlb2xvY2F0aW9uLndhdGNoUG9zaXRpb24oZnVuY3Rpb24ocCkgewog
ICAgIHRlc3RGYWlsZWQoJ1N1Y2Nlc3MgY2FsbGJhY2sgaW52b2tlZCB1bmV4cGVjdGVkbHknKTsK
LSAgICB3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIubm90aWZ5RG9uZSgpOworICAgIGZpbmlz
aEpTVGVzdCgpOwogfSwgZnVuY3Rpb24oZSkgewogICAgIGlmIChlcnJvckNhbGxiYWNrSW52b2tl
ZCkgewogICAgICAgICB0ZXN0RmFpbGVkKCdFcnJvciBjYWxsYmFjayBpbnZva2VkIHVuZXhwZWN0
ZWRseSA6ICcgKyBlcnJvci5tZXNzYWdlKTsKLSAgICAgICAgd2luZG93LmxheW91dFRlc3RDb250
cm9sbGVyLm5vdGlmeURvbmUoKTsKKyAgICAgICAgZmluaXNoSlNUZXN0KCk7CiAgICAgfQogICAg
IGVycm9yQ2FsbGJhY2tJbnZva2VkID0gdHJ1ZTsKIApAQCAtMjQsMTUgKzI0LDEwIEBAIG5hdmln
YXRvci5nZW9sb2NhdGlvbi53YXRjaFBvc2l0aW9uKGZ1bmMKICAgICAvLyBVcGRhdGUgdGhlIG1v
Y2sgR2VvbG9jYXRpb24gc2VydmljZSB0byByZXBvcnQgYSBuZXcgcG9zaXRpb24sIHRoZW4KICAg
ICAvLyB5aWVsZCB0byBhbGxvdyBhIGNoYW5jZSBmb3IgdGhlIHN1Y2Nlc3MgY2FsbGJhY2sgdG8g
YmUgaW52b2tlZC4KICAgICB3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIuc2V0TW9ja0dlb2xv
Y2F0aW9uUG9zaXRpb24oNTUuNDc4LCAtMC4xNjYsIDEwMCk7Ci0gICAgd2luZG93LnNldFRpbWVv
dXQoY29tcGxldGVUZXN0LCAwKTsKKyAgICB3aW5kb3cuc2V0VGltZW91dChmaW5pc2hKU1Rlc3Qs
IDApOwogfSk7CiAKLWZ1bmN0aW9uIGNvbXBsZXRlVGVzdCgpCi17Ci0gICAgZGVidWcoJzxiciAv
PjxzcGFuIGNsYXNzPSJwYXNzIj5URVNUIENPTVBMRVRFPC9zcGFuPicpOwotICAgIHdpbmRvdy5s
YXlvdXRUZXN0Q29udHJvbGxlci5ub3RpZnlEb25lKCk7Ci19CiB3aW5kb3cubGF5b3V0VGVzdENv
bnRyb2xsZXIud2FpdFVudGlsRG9uZSgpOwogCi12YXIgaXNBc3luY2hyb25vdXMgPSB0cnVlOwot
dmFyIHN1Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWU7Cit3aW5kb3cuanNUZXN0SXNBc3luYyA9IHRy
dWU7Cit3aW5kb3cuc3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsKSW5kZXg6IExheW91dFRlc3Rz
L2Zhc3QvZG9tL0dlb2xvY2F0aW9uL3NjcmlwdC10ZXN0cy9wZXJtaXNzaW9uLWRlbmllZC5qcwo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L2RvbS9HZW9sb2NhdGlvbi9zY3JpcHQtdGVz
dHMvcGVybWlzc2lvbi1kZW5pZWQuanMJKHJldmlzaW9uIDU5NzY2KQorKysgTGF5b3V0VGVzdHMv
ZmFzdC9kb20vR2VvbG9jYXRpb24vc2NyaXB0LXRlc3RzL3Blcm1pc3Npb24tZGVuaWVkLmpzCSh3
b3JraW5nIGNvcHkpCkBAIC02LDE1ICs2LDE0IEBAIHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxl
ci5zZXRNb2NrR2VvbG8KIHZhciBlcnJvcjsKIG5hdmlnYXRvci5nZW9sb2NhdGlvbi5nZXRDdXJy
ZW50UG9zaXRpb24oZnVuY3Rpb24ocCkgewogICAgIHRlc3RGYWlsZWQoJ1N1Y2Nlc3MgY2FsbGJh
Y2sgaW52b2tlZCB1bmV4cGVjdGVkbHknKTsKLSAgICB3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xs
ZXIubm90aWZ5RG9uZSgpOworICAgIGZpbmlzaEpTVGVzdCgpOwogfSwgZnVuY3Rpb24oZSkgewog
ICAgIGVycm9yID0gZQogICAgIHNob3VsZEJlKCdlcnJvci5jb2RlJywgJ2Vycm9yLlBFUk1JU1NJ
T05fREVOSUVEJyk7CiAgICAgc2hvdWxkQmUoJ2Vycm9yLm1lc3NhZ2UnLCAnIlVzZXIgZGVuaWVk
IEdlb2xvY2F0aW9uIicpOwotICAgIGRlYnVnKCc8YnIgLz48c3BhbiBjbGFzcz0icGFzcyI+VEVT
VCBDT01QTEVURTwvc3Bhbj4nKTsKLSAgICB3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIubm90
aWZ5RG9uZSgpOworICAgIGZpbmlzaEpTVGVzdCgpOwogfSk7CiB3aW5kb3cubGF5b3V0VGVzdENv
bnRyb2xsZXIud2FpdFVudGlsRG9uZSgpOwogCi12YXIgaXNBc3luY2hyb25vdXMgPSB0cnVlOwot
dmFyIHN1Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWU7Cit3aW5kb3cuanNUZXN0SXNBc3luYyA9IHRy
dWU7Cit3aW5kb3cuc3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsKSW5kZXg6IExheW91dFRlc3Rz
L2Zhc3QvZG9tL0dlb2xvY2F0aW9uL3NjcmlwdC10ZXN0cy9wb3NpdGlvbi1zdHJpbmcuanMKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9kb20vR2VvbG9jYXRpb24vc2NyaXB0LXRlc3Rz
L3Bvc2l0aW9uLXN0cmluZy5qcwkocmV2aXNpb24gNTk3NjYpCisrKyBMYXlvdXRUZXN0cy9mYXN0
L2RvbS9HZW9sb2NhdGlvbi9zY3JpcHQtdGVzdHMvcG9zaXRpb24tc3RyaW5nLmpzCSh3b3JraW5n
IGNvcHkpCkBAIC0xOCwxMyArMTgsMTIgQEAgbmF2aWdhdG9yLmdlb2xvY2F0aW9uLmdldEN1cnJl
bnRQb3NpdGlvbgogICAgIHNob3VsZEJlKCdwb3NpdGlvbi5jb29yZHMuYWNjdXJhY3knLCAnbW9j
a0FjY3VyYWN5Jyk7CiAgICAgc2hvdWxkQmUoJ3Bvc2l0aW9uLnRvU3RyaW5nKCknLCAnIltvYmpl
Y3QgR2VvcG9zaXRpb25dIicpOwogICAgIHNob3VsZEJlKCdwb3NpdGlvbi5jb29yZHMudG9TdHJp
bmcoKScsICciW29iamVjdCBDb29yZGluYXRlc10iJyk7Ci0gICAgZGVidWcoJzxiciAvPjxzcGFu
IGNsYXNzPSJwYXNzIj5URVNUIENPTVBMRVRFPC9zcGFuPicpOwotICAgIHdpbmRvdy5sYXlvdXRU
ZXN0Q29udHJvbGxlci5ub3RpZnlEb25lKCk7CisgICAgZmluaXNoSlNUZXN0KCk7CiB9LCBmdW5j
dGlvbihlKSB7CiAgICAgdGVzdEZhaWxlZCgnRXJyb3IgY2FsbGJhY2sgaW52b2tlZCB1bmV4cGVj
dGVkbHknKTsKLSAgICB3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIubm90aWZ5RG9uZSgpOwor
ICAgIGZpbmlzaEpTVGVzdCgpOwogfSk7CiB3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIud2Fp
dFVudGlsRG9uZSgpOwogCi12YXIgaXNBc3luY2hyb25vdXMgPSB0cnVlOwotdmFyIHN1Y2Nlc3Nm
dWxseVBhcnNlZCA9IHRydWU7Cit3aW5kb3cuanNUZXN0SXNBc3luYyA9IHRydWU7Cit3aW5kb3cu
c3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsKSW5kZXg6IExheW91dFRlc3RzL2Zhc3QvZG9tL0dl
b2xvY2F0aW9uL3NjcmlwdC10ZXN0cy9yZWVudHJhbnQtZXJyb3IuanMKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
TGF5b3V0VGVzdHMvZmFzdC9kb20vR2VvbG9jYXRpb24vc2NyaXB0LXRlc3RzL3JlZW50cmFudC1l
cnJvci5qcwkocmV2aXNpb24gNTk3NjYpCisrKyBMYXlvdXRUZXN0cy9mYXN0L2RvbS9HZW9sb2Nh
dGlvbi9zY3JpcHQtdGVzdHMvcmVlbnRyYW50LWVycm9yLmpzCSh3b3JraW5nIGNvcHkpCkBAIC05
LDExICs5LDExIEBAIHZhciBlcnJvcjsKIHZhciBlcnJvckNhbGxiYWNrSW52b2tlZCA9IGZhbHNl
OwogbmF2aWdhdG9yLmdlb2xvY2F0aW9uLmdldEN1cnJlbnRQb3NpdGlvbihmdW5jdGlvbihwKSB7
CiAgICAgdGVzdEZhaWxlZCgnU3VjY2VzcyBjYWxsYmFjayBpbnZva2VkIHVuZXhwZWN0ZWRseScp
OwotICAgIHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlci5ub3RpZnlEb25lKCk7CisgICAgZmlu
aXNoSlNUZXN0KCk7CiB9LCBmdW5jdGlvbihlKSB7CiAgICAgaWYgKGVycm9yQ2FsbGJhY2tJbnZv
a2VkKSB7CiAgICAgICAgIHRlc3RGYWlsZWQoJ0Vycm9yIGNhbGxiYWNrIGludm9rZWQgdW5leHBl
Y3RlZGx5Jyk7Ci0gICAgICAgIHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlci5ub3RpZnlEb25l
KCk7CisgICAgICAgIGZpbmlzaEpTVGVzdCgpOwogICAgIH0KICAgICBlcnJvckNhbGxiYWNrSW52
b2tlZCA9IHRydWU7CiAKQEAgLTMyLDE2ICszMiwxNSBAQCBmdW5jdGlvbiBjb250aW51ZVRlc3Qo
KSB7CiAKICAgICBuYXZpZ2F0b3IuZ2VvbG9jYXRpb24uZ2V0Q3VycmVudFBvc2l0aW9uKGZ1bmN0
aW9uKHApIHsKICAgICAgICAgdGVzdEZhaWxlZCgnU3VjY2VzcyBjYWxsYmFjayBpbnZva2VkIHVu
ZXhwZWN0ZWRseScpOwotICAgICAgICB3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIubm90aWZ5
RG9uZSgpOworICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKICAgICB9LCBmdW5jdGlvbihlKSB7CiAg
ICAgICAgIGVycm9yID0gZTsKICAgICAgICAgc2hvdWxkQmUoJ2Vycm9yLmNvZGUnLCAnbW9ja0Nv
ZGUnKTsKICAgICAgICAgc2hvdWxkQmUoJ2Vycm9yLm1lc3NhZ2UnLCAnbW9ja01lc3NhZ2UnKTsK
LSAgICAgICAgZGVidWcoJzxiciAvPjxzcGFuIGNsYXNzPSJwYXNzIj5URVNUIENPTVBMRVRFPC9z
cGFuPicpOwotICAgICAgICB3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIubm90aWZ5RG9uZSgp
OworICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKICAgICB9KTsKIH0KIHdpbmRvdy5sYXlvdXRUZXN0
Q29udHJvbGxlci53YWl0VW50aWxEb25lKCk7CiAKLXZhciBpc0FzeW5jaHJvbm91cyA9IHRydWU7
Ci12YXIgc3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsKK3dpbmRvdy5qc1Rlc3RJc0FzeW5jID0g
dHJ1ZTsKK3dpbmRvdy5zdWNjZXNzZnVsbHlQYXJzZWQgPSB0cnVlOwpJbmRleDogTGF5b3V0VGVz
dHMvZmFzdC9kb20vR2VvbG9jYXRpb24vc2NyaXB0LXRlc3RzL3JlZW50cmFudC1zdWNjZXNzLmpz
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvZG9tL0dlb2xvY2F0aW9uL3NjcmlwdC10
ZXN0cy9yZWVudHJhbnQtc3VjY2Vzcy5qcwkocmV2aXNpb24gNTk3NjYpCisrKyBMYXlvdXRUZXN0
cy9mYXN0L2RvbS9HZW9sb2NhdGlvbi9zY3JpcHQtdGVzdHMvcmVlbnRyYW50LXN1Y2Nlc3MuanMJ
KHdvcmtpbmcgY29weSkKQEAgLTE0LDcgKzE0LDcgQEAgdmFyIHN1Y2Nlc3NDYWxsYmFja0ludm9r
ZWQgPSBmYWxzZTsKIG5hdmlnYXRvci5nZW9sb2NhdGlvbi5nZXRDdXJyZW50UG9zaXRpb24oZnVu
Y3Rpb24ocCkgewogICAgIGlmIChzdWNjZXNzQ2FsbGJhY2tJbnZva2VkKSB7CiAgICAgICAgIHRl
c3RGYWlsZWQoJ1N1Y2Nlc3MgY2FsbGJhY2sgaW52b2tlZCB1bmV4cGVjdGVkbHknKTsKLSAgICAg
ICAgd2luZG93LmxheW91dFRlc3RDb250cm9sbGVyLm5vdGlmeURvbmUoKTsKKyAgICAgICAgZmlu
aXNoSlNUZXN0KCk7CiAgICAgfQogICAgIHN1Y2Nlc3NDYWxsYmFja0ludm9rZWQgPSB0cnVlOwog
CkBAIC0yNiw3ICsyNiw3IEBAIG5hdmlnYXRvci5nZW9sb2NhdGlvbi5nZXRDdXJyZW50UG9zaXRp
b24KICAgICBjb250aW51ZVRlc3QoKTsKIH0sIGZ1bmN0aW9uKGUpIHsKICAgICB0ZXN0RmFpbGVk
KCdFcnJvciBjYWxsYmFjayBpbnZva2VkIHVuZXhwZWN0ZWRseScpOwotICAgIHdpbmRvdy5sYXlv
dXRUZXN0Q29udHJvbGxlci5ub3RpZnlEb25lKCk7CisgICAgZmluaXNoSlNUZXN0KCk7CiB9KTsK
IAogZnVuY3Rpb24gY29udGludWVUZXN0KCkgewpAQCAtMzksMTQgKzM5LDEzIEBAIGZ1bmN0aW9u
IGNvbnRpbnVlVGVzdCgpIHsKICAgICAgICAgc2hvdWxkQmUoJ3Bvc2l0aW9uLmNvb3Jkcy5sYXRp
dHVkZScsICdtb2NrTGF0aXR1ZGUnKTsKICAgICAgICAgc2hvdWxkQmUoJ3Bvc2l0aW9uLmNvb3Jk
cy5sb25naXR1ZGUnLCAnbW9ja0xvbmdpdHVkZScpOwogICAgICAgICBzaG91bGRCZSgncG9zaXRp
b24uY29vcmRzLmFjY3VyYWN5JywgJ21vY2tBY2N1cmFjeScpOwotICAgICAgICBkZWJ1ZygnPGJy
IC8+PHNwYW4gY2xhc3M9InBhc3MiPlRFU1QgQ09NUExFVEU8L3NwYW4+Jyk7Ci0gICAgICAgIHdp
bmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlci5ub3RpZnlEb25lKCk7CisgICAgICAgIGZpbmlzaEpT
VGVzdCgpOwogICAgIH0sIGZ1bmN0aW9uKGUpIHsKICAgICAgICAgdGVzdEZhaWxlZCgnRXJyb3Ig
Y2FsbGJhY2sgaW52b2tlZCB1bmV4cGVjdGVkbHknKTsKLSAgICAgICAgd2luZG93LmxheW91dFRl
c3RDb250cm9sbGVyLm5vdGlmeURvbmUoKTsKKyAgICAgICAgZmluaXNoSlNUZXN0KCk7CiAgICAg
fSk7CiB9CiB3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIud2FpdFVudGlsRG9uZSgpOwogCi12
YXIgaXNBc3luY2hyb25vdXMgPSB0cnVlOwotdmFyIHN1Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWU7
Cit3aW5kb3cuanNUZXN0SXNBc3luYyA9IHRydWU7Cit3aW5kb3cuc3VjY2Vzc2Z1bGx5UGFyc2Vk
ID0gdHJ1ZTsKSW5kZXg6IExheW91dFRlc3RzL2Zhc3QvZG9tL0dlb2xvY2F0aW9uL3NjcmlwdC10
ZXN0cy9zdWNjZXNzLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvZG9tL0dlb2xv
Y2F0aW9uL3NjcmlwdC10ZXN0cy9zdWNjZXNzLmpzCShyZXZpc2lvbiA1OTc2NikKKysrIExheW91
dFRlc3RzL2Zhc3QvZG9tL0dlb2xvY2F0aW9uL3NjcmlwdC10ZXN0cy9zdWNjZXNzLmpzCSh3b3Jr
aW5nIGNvcHkpCkBAIC0xNSwxMyArMTUsMTIgQEAgbmF2aWdhdG9yLmdlb2xvY2F0aW9uLmdldEN1
cnJlbnRQb3NpdGlvbgogICAgIHNob3VsZEJlKCdwb3NpdGlvbi5jb29yZHMubGF0aXR1ZGUnLCAn
bW9ja0xhdGl0dWRlJyk7CiAgICAgc2hvdWxkQmUoJ3Bvc2l0aW9uLmNvb3Jkcy5sb25naXR1ZGUn
LCAnbW9ja0xvbmdpdHVkZScpOwogICAgIHNob3VsZEJlKCdwb3NpdGlvbi5jb29yZHMuYWNjdXJh
Y3knLCAnbW9ja0FjY3VyYWN5Jyk7Ci0gICAgZGVidWcoJzxiciAvPjxzcGFuIGNsYXNzPSJwYXNz
Ij5URVNUIENPTVBMRVRFPC9zcGFuPicpOwotICAgIHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxl
ci5ub3RpZnlEb25lKCk7CisgICAgZmluaXNoSlNUZXN0KCk7CiB9LCBmdW5jdGlvbihlKSB7CiAg
ICAgdGVzdEZhaWxlZCgnRXJyb3IgY2FsbGJhY2sgaW52b2tlZCB1bmV4cGVjdGVkbHknKTsKLSAg
ICB3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIubm90aWZ5RG9uZSgpOworICAgIGZpbmlzaEpT
VGVzdCgpOwogfSk7CiB3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIud2FpdFVudGlsRG9uZSgp
OwogCi12YXIgaXNBc3luY2hyb25vdXMgPSB0cnVlOwotdmFyIHN1Y2Nlc3NmdWxseVBhcnNlZCA9
IHRydWU7Cit3aW5kb3cuanNUZXN0SXNBc3luYyA9IHRydWU7Cit3aW5kb3cuc3VjY2Vzc2Z1bGx5
UGFyc2VkID0gdHJ1ZTsKSW5kZXg6IExheW91dFRlc3RzL2Zhc3QvZG9tL0dlb2xvY2F0aW9uL3Nj
cmlwdC10ZXN0cy90aW1lb3V0LWNsZWFyLXdhdGNoLmpzCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRl
c3RzL2Zhc3QvZG9tL0dlb2xvY2F0aW9uL3NjcmlwdC10ZXN0cy90aW1lb3V0LWNsZWFyLXdhdGNo
LmpzCShyZXZpc2lvbiA1OTc2NikKKysrIExheW91dFRlc3RzL2Zhc3QvZG9tL0dlb2xvY2F0aW9u
L3NjcmlwdC10ZXN0cy90aW1lb3V0LWNsZWFyLXdhdGNoLmpzCSh3b3JraW5nIGNvcHkpCkBAIC01
LDIzICs1LDE4IEBAIHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlci5zZXRNb2NrR2VvbG8KIHZh
ciBlcnJvcjsKIHZhciB3YXRjaElkID0gbmF2aWdhdG9yLmdlb2xvY2F0aW9uLndhdGNoUG9zaXRp
b24oZnVuY3Rpb24oKSB7CiAgICAgdGVzdEZhaWxlZCgnU3VjY2VzcyBjYWxsYmFjayBpbnZva2Vk
IHVuZXhwZWN0ZWRseScpOwotICAgIHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlci5ub3RpZnlE
b25lKCk7CisgICAgZmluaXNoSlNUZXN0KCk7CiB9LCBmdW5jdGlvbihlKSB7CiAgICAgZXJyb3Ig
PSBlCiAgICAgc2hvdWxkQmUoJ2Vycm9yLmNvZGUnLCAnZXJyb3IuVElNRU9VVCcpOwogICAgIHNo
b3VsZEJlKCdlcnJvci5tZXNzYWdlJywgJyJUaW1lb3V0IGV4cGlyZWQiJyk7CiAgICAgbmF2aWdh
dG9yLmdlb2xvY2F0aW9uLmNsZWFyV2F0Y2god2F0Y2hJZCk7Ci0gICAgd2luZG93LnNldFRpbWVv
dXQoY29tcGxldGVUZXN0LCAwKTsKKyAgICB3aW5kb3cuc2V0VGltZW91dChmaW5pc2hKU1Rlc3Qs
IDApOwogfSwgewogICAgIHRpbWVvdXQ6IDAKIH0pOwogCi1mdW5jdGlvbiBjb21wbGV0ZVRlc3Qo
KQotewotICAgIGRlYnVnKCc8YnIgLz48c3BhbiBjbGFzcz0icGFzcyI+VEVTVCBDT01QTEVURTwv
c3Bhbj4nKTsKLSAgICB3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIubm90aWZ5RG9uZSgpOwot
fQogd2luZG93LmxheW91dFRlc3RDb250cm9sbGVyLndhaXRVbnRpbERvbmUoKTsKIAotdmFyIGlz
QXN5bmNocm9ub3VzID0gdHJ1ZTsKLXZhciBzdWNjZXNzZnVsbHlQYXJzZWQgPSB0cnVlOword2lu
ZG93LmpzVGVzdElzQXN5bmMgPSB0cnVlOword2luZG93LnN1Y2Nlc3NmdWxseVBhcnNlZCA9IHRy
dWU7CkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L2RvbS9HZW9sb2NhdGlvbi9zY3JpcHQtdGVzdHMv
dGltZW91dC16ZXJvLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvZG9tL0dlb2xv
Y2F0aW9uL3NjcmlwdC10ZXN0cy90aW1lb3V0LXplcm8uanMJKHJldmlzaW9uIDU5NzY2KQorKysg
TGF5b3V0VGVzdHMvZmFzdC9kb20vR2VvbG9jYXRpb24vc2NyaXB0LXRlc3RzL3RpbWVvdXQtemVy
by5qcwkod29ya2luZyBjb3B5KQpAQCAtNSwxNyArNSwxNiBAQCBsYXlvdXRUZXN0Q29udHJvbGxl
ci5zZXRNb2NrR2VvbG9jYXRpb25QCiB2YXIgZXJyb3I7CiBuYXZpZ2F0b3IuZ2VvbG9jYXRpb24u
Z2V0Q3VycmVudFBvc2l0aW9uKGZ1bmN0aW9uKHApIHsKICAgICB0ZXN0RmFpbGVkKCdTdWNjZXNz
IGNhbGxiYWNrIGludm9rZWQgdW5leHBlY3RlZGx5Jyk7Ci0gICAgd2luZG93LmxheW91dFRlc3RD
b250cm9sbGVyLm5vdGlmeURvbmUoKTsKKyAgICBmaW5pc2hKU1Rlc3QoKTsKIH0sIGZ1bmN0aW9u
KGUpIHsKICAgICBlcnJvciA9IGUKICAgICBzaG91bGRCZSgnZXJyb3IuY29kZScsICdlcnJvci5U
SU1FT1VUJyk7CiAgICAgc2hvdWxkQmUoJ2Vycm9yLm1lc3NhZ2UnLCAnIlRpbWVvdXQgZXhwaXJl
ZCInKTsKLSAgICBkZWJ1ZygnPGJyIC8+PHNwYW4gY2xhc3M9InBhc3MiPlRFU1QgQ09NUExFVEU8
L3NwYW4+Jyk7Ci0gICAgd2luZG93LmxheW91dFRlc3RDb250cm9sbGVyLm5vdGlmeURvbmUoKTsK
KyAgICBmaW5pc2hKU1Rlc3QoKTsKIH0sIHsKICAgICB0aW1lb3V0OiAwCiB9KTsKIHdpbmRvdy5s
YXlvdXRUZXN0Q29udHJvbGxlci53YWl0VW50aWxEb25lKCk7CiAKLXZhciBpc0FzeW5jaHJvbm91
cyA9IHRydWU7Ci12YXIgc3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsKK3dpbmRvdy5qc1Rlc3RJ
c0FzeW5jID0gdHJ1ZTsKK3dpbmRvdy5zdWNjZXNzZnVsbHlQYXJzZWQgPSB0cnVlOwpJbmRleDog
TGF5b3V0VGVzdHMvZmFzdC9kb20vR2VvbG9jYXRpb24vc2NyaXB0LXRlc3RzL3RpbWVvdXQuanMK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9kb20vR2VvbG9jYXRpb24vc2NyaXB0LXRl
c3RzL3RpbWVvdXQuanMJKHJldmlzaW9uIDU5NzY2KQorKysgTGF5b3V0VGVzdHMvZmFzdC9kb20v
R2VvbG9jYXRpb24vc2NyaXB0LXRlc3RzL3RpbWVvdXQuanMJKHdvcmtpbmcgY29weSkKQEAgLTE1
LDE1ICsxNSwxNCBAQCBuYXZpZ2F0b3IuZ2VvbG9jYXRpb24uZ2V0Q3VycmVudFBvc2l0aW9uCiAg
ICAgc2hvdWxkQmUoJ3Bvc2l0aW9uLmNvb3Jkcy5sYXRpdHVkZScsICdtb2NrTGF0aXR1ZGUnKTsK
ICAgICBzaG91bGRCZSgncG9zaXRpb24uY29vcmRzLmxvbmdpdHVkZScsICdtb2NrTG9uZ2l0dWRl
Jyk7CiAgICAgc2hvdWxkQmUoJ3Bvc2l0aW9uLmNvb3Jkcy5hY2N1cmFjeScsICdtb2NrQWNjdXJh
Y3knKTsKLSAgICBkZWJ1ZygnPGJyIC8+PHNwYW4gY2xhc3M9InBhc3MiPlRFU1QgQ09NUExFVEU8
L3NwYW4+Jyk7Ci0gICAgd2luZG93LmxheW91dFRlc3RDb250cm9sbGVyLm5vdGlmeURvbmUoKTsK
KyAgICBmaW5pc2hKU1Rlc3QoKTsKIH0sIGZ1bmN0aW9uKGUpIHsKICAgICB0ZXN0RmFpbGVkKCdF
cnJvciBjYWxsYmFjayBpbnZva2VkIHVuZXhwZWN0ZWRseScpOwotICAgIHdpbmRvdy5sYXlvdXRU
ZXN0Q29udHJvbGxlci5ub3RpZnlEb25lKCk7CisgICAgZmluaXNoSlNUZXN0KCk7CiB9LCB7CiAg
ICAgdGltZW91dDogMTAwMAogfSk7CiB3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIud2FpdFVu
dGlsRG9uZSgpOwogCi12YXIgaXNBc3luY2hyb25vdXMgPSB0cnVlOwotdmFyIHN1Y2Nlc3NmdWxs
eVBhcnNlZCA9IHRydWU7Cit3aW5kb3cuanNUZXN0SXNBc3luYyA9IHRydWU7Cit3aW5kb3cuc3Vj
Y2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsKSW5kZXg6IExheW91dFRlc3RzL2Zhc3QvZG9tL0dlb2xv
Y2F0aW9uL3NjcmlwdC10ZXN0cy93YXRjaC5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9m
YXN0L2RvbS9HZW9sb2NhdGlvbi9zY3JpcHQtdGVzdHMvd2F0Y2guanMJKHJldmlzaW9uIDU5NzY2
KQorKysgTGF5b3V0VGVzdHMvZmFzdC9kb20vR2VvbG9jYXRpb24vc2NyaXB0LXRlc3RzL3dhdGNo
LmpzCSh3b3JraW5nIGNvcHkpCkBAIC00MSwxMiArNDEsMTEgQEAgbmF2aWdhdG9yLmdlb2xvY2F0
aW9uLndhdGNoUG9zaXRpb24oZnVuYwogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIGNhc2Ug
MzoKICAgICAgICAgICAgIGNoZWNrUG9zaXRpb24ocCk7Ci0gICAgICAgICAgICBkZWJ1ZygnPGJy
IC8+PHNwYW4gY2xhc3M9InBhc3MiPlRFU1QgQ09NUExFVEU8L3NwYW4+Jyk7Ci0gICAgICAgICAg
ICB3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIubm90aWZ5RG9uZSgpOworICAgICAgICAgICAg
ZmluaXNoSlNUZXN0KCk7CiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgZGVmYXVsdDoKICAg
ICAgICAgICAgIHRlc3RGYWlsZWQoJ1N1Y2Nlc3MgY2FsbGJhY2sgaW52b2tlZCB1bmV4cGVjdGVk
bHknKTsKLSAgICAgICAgICAgIHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlci5ub3RpZnlEb25l
KCk7CisgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKICAgICB9CiB9LCBmdW5jdGlvbihlKSB7
CiAgICAgc3dpdGNoIChzdGF0ZSsrKSB7CkBAIC01NiwxMCArNTUsMTAgQEAgbmF2aWdhdG9yLmdl
b2xvY2F0aW9uLndhdGNoUG9zaXRpb24oZnVuYwogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAg
IGRlZmF1bHQ6CiAgICAgICAgICAgICB0ZXN0RmFpbGVkKCdFcnJvciBjYWxsYmFjayBpbnZva2Vk
IHVuZXhwZWN0ZWRseScpOwotICAgICAgICAgICAgd2luZG93LmxheW91dFRlc3RDb250cm9sbGVy
Lm5vdGlmeURvbmUoKTsKKyAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOwogICAgIH0KIH0pOwog
d2luZG93LmxheW91dFRlc3RDb250cm9sbGVyLndhaXRVbnRpbERvbmUoKTsKIAotdmFyIGlzQXN5
bmNocm9ub3VzID0gdHJ1ZTsKLXZhciBzdWNjZXNzZnVsbHlQYXJzZWQgPSB0cnVlOword2luZG93
LmpzVGVzdElzQXN5bmMgPSB0cnVlOword2luZG93LnN1Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWU7
Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>