<?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>125203</bug_id>
          
          <creation_ts>2013-12-03 17:56:45 -0800</creation_ts>
          <short_desc>Deprecate all unversioned client structs in favor of having explicit versioned structs</short_desc>
          <delta_ts>2013-12-04 10:47:08 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Anders Carlsson">andersca</reporter>
          <assigned_to name="Anders Carlsson">andersca</assigned_to>
          <cc>eflews.bot</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>rego+ews</cc>
    
    <cc>xan.lopez</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>956236</commentid>
    <comment_count>0</comment_count>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2013-12-03 17:56:45 -0800</bug_when>
    <thetext>Deprecate all unversioned client structs in favor of having explicit versioned structs</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>956237</commentid>
    <comment_count>1</comment_count>
      <attachid>218369</attachid>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2013-12-03 17:57:56 -0800</bug_when>
    <thetext>Created attachment 218369
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>956372</commentid>
    <comment_count>2</comment_count>
      <attachid>218369</attachid>
    <who name="EFL EWS Bot">eflews.bot</who>
    <bug_when>2013-12-04 06:01:47 -0800</bug_when>
    <thetext>Comment on attachment 218369
Patch

Attachment 218369 did not pass efl-wk2-ews (efl-wk2):
Output: http://webkit-queues.appspot.com/results/40278031</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>956448</commentid>
    <comment_count>3</comment_count>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2013-12-04 10:47:08 -0800</bug_when>
    <thetext>Committed r160104: &lt;http://trac.webkit.org/changeset/160104&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>218369</attachid>
            <date>2013-12-03 17:57:56 -0800</date>
            <delta_ts>2013-12-04 06:01:46 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-125203-20131203175756.patch</filename>
            <type>text/plain</type>
            <size>203776</size>
            <attacher name="Anders Carlsson">andersca</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTYwMDU5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggM2M0MWZhNTVhNzljM2Mz
MWVhNTZjOGM5OGIzNGFkYjU1YTc5M2MwMy4uMWZkYzc0MGRlNTVkNDMwZDczNzk3MjNhYzRlNjg3
ODE1NzEyZjhhNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDEwOCBAQAogMjAxMy0xMi0wMyAgQW5k
ZXJzIENhcmxzc29uICA8YW5kZXJzY2FAYXBwbGUuY29tPgogCisgICAgICAgIERlcHJlY2F0ZSBh
bGwgdW52ZXJzaW9uZWQgY2xpZW50IHN0cnVjdHMgaW4gZmF2b3Igb2YgaGF2aW5nIGV4cGxpY2l0
IHZlcnNpb25lZCBzdHJ1Y3RzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0xMjUyMDMKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICBEZXByZWNhdGUgYWxsIHRoZSAiY3VycmVudCB2ZXJzaW9uIiBlbnVtcyBhbmQg
dW52ZXJzaW9uZWQgY2xpZW50IHN0cnVjdHMuCisKKyAgICAgICAgKiBTaGFyZWQvQVBJL2MvV0tD
b25uZWN0aW9uUmVmLmNwcDoKKyAgICAgICAgKFdLQ29ubmVjdGlvblNldENvbm5lY3Rpb25DbGll
bnQpOgorICAgICAgICAqIFNoYXJlZC9BUEkvYy9XS0Nvbm5lY3Rpb25SZWYuaDoKKyAgICAgICAg
KiBVSVByb2Nlc3MvQVBJL0MvV0tDb250ZXh0LmNwcDoKKyAgICAgICAgKFdLQ29udGV4dFNldENs
aWVudCk6CisgICAgICAgIChXS0NvbnRleHRTZXRJbmplY3RlZEJ1bmRsZUNsaWVudCk6CisgICAg
ICAgIChXS0NvbnRleHRTZXRIaXN0b3J5Q2xpZW50KToKKyAgICAgICAgKFdLQ29udGV4dFNldERv
d25sb2FkQ2xpZW50KToKKyAgICAgICAgKFdLQ29udGV4dFNldENvbm5lY3Rpb25DbGllbnQpOgor
ICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQy9XS0NvbnRleHQuaDoKKyAgICAgICAgKiBVSVByb2Nl
c3MvQVBJL0MvV0tDb250ZXh0Q29ubmVjdGlvbkNsaWVudC5oOgorICAgICAgICAqIFVJUHJvY2Vz
cy9BUEkvQy9XS0NvbnRleHREb3dubG9hZENsaWVudC5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9B
UEkvQy9XS0NvbnRleHRIaXN0b3J5Q2xpZW50Lmg6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9D
L1dLQ29udGV4dEluamVjdGVkQnVuZGxlQ2xpZW50Lmg6CisgICAgICAgICogVUlQcm9jZXNzL0FQ
SS9DL1dLQ29va2llTWFuYWdlci5jcHA6CisgICAgICAgIChXS0Nvb2tpZU1hbmFnZXJTZXRDbGll
bnQpOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQy9XS0Nvb2tpZU1hbmFnZXIuaDoKKyAgICAg
ICAgKiBVSVByb2Nlc3MvQVBJL0MvV0tEYXRhYmFzZU1hbmFnZXIuY3BwOgorICAgICAgICAoV0tE
YXRhYmFzZU1hbmFnZXJTZXRDbGllbnQpOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQy9XS0Rh
dGFiYXNlTWFuYWdlci5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQy9XS0dlb2xvY2F0aW9u
TWFuYWdlci5jcHA6CisgICAgICAgIChXS0dlb2xvY2F0aW9uTWFuYWdlclNldFByb3ZpZGVyKToK
KyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0MvV0tHZW9sb2NhdGlvbk1hbmFnZXIuaDoKKyAgICAg
ICAgKiBVSVByb2Nlc3MvQVBJL0MvV0tJY29uRGF0YWJhc2UuY3BwOgorICAgICAgICAoV0tJY29u
RGF0YWJhc2VTZXRJY29uRGF0YWJhc2VDbGllbnQpOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkv
Qy9XS0ljb25EYXRhYmFzZS5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQy9XS09yaWdpbkRh
dGFNYW5hZ2VyLmNwcDoKKyAgICAgICAgKFdLT3JpZ2luRGF0YU1hbmFnZXJTZXRDaGFuZ2VDbGll
bnQpOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQy9XS09yaWdpbkRhdGFNYW5hZ2VyLmg6Cisg
ICAgICAgICogVUlQcm9jZXNzL0FQSS9DL1dLUGFnZS5jcHA6CisgICAgICAgIChXS1BhZ2VTZXRQ
YWdlQ29udGV4dE1lbnVDbGllbnQpOgorICAgICAgICAoV0tQYWdlU2V0UGFnZUZpbmRDbGllbnQp
OgorICAgICAgICAoV0tQYWdlU2V0UGFnZUZpbmRNYXRjaGVzQ2xpZW50KToKKyAgICAgICAgKFdL
UGFnZVNldFBhZ2VGb3JtQ2xpZW50KToKKyAgICAgICAgKFdLUGFnZVNldFBhZ2VMb2FkZXJDbGll
bnQpOgorICAgICAgICAoV0tQYWdlU2V0UGFnZVBvbGljeUNsaWVudCk6CisgICAgICAgIChXS1Bh
Z2VTZXRQYWdlVUlDbGllbnQpOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQy9XS1BhZ2UuaDoK
KyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0MvV0tQYWdlQ29udGV4dE1lbnVDbGllbnQuaDoKKyAg
ICAgICAgKiBVSVByb2Nlc3MvQVBJL0MvV0tQYWdlRmluZENsaWVudC5oOgorICAgICAgICAqIFVJ
UHJvY2Vzcy9BUEkvQy9XS1BhZ2VGaW5kTWF0Y2hlc0NsaWVudC5oOgorICAgICAgICAqIFVJUHJv
Y2Vzcy9BUEkvQy9XS1BhZ2VGb3JtQ2xpZW50Lmg6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9D
L1dLUGFnZUxvYWRlckNsaWVudC5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQy9XS1BhZ2VQ
b2xpY3lDbGllbnQuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0MvV0tQYWdlVUlDbGllbnQu
aDoKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0NvY29hL1dLQnJvd3NpbmdDb250ZXh0Q29udHJv
bGxlci5tbToKKyAgICAgICAgKHNldFVwUGFnZVBvbGljeUNsaWVudCk6CisgICAgICAgICogVUlQ
cm9jZXNzL0FQSS9Db2NvYS9XS0Nvbm5lY3Rpb24ubW06CisgICAgICAgIChzZXRVcENsaWVudCk6
CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1Byb2Nlc3NHcm91cC5tbToKKyAgICAg
ICAgKHNldFVwQ29ubmVjdGlvbkNsaWVudCk6CisgICAgICAgIChzZXRVcEluZWN0ZWRCdW5kbGVD
bGllbnQpOgorICAgICAgICAoc2V0VXBIaXN0b3J5Q2xpZW50KToKKyAgICAgICAgKiBVSVByb2Nl
c3MvV2ViSW5zcGVjdG9yUHJveHkuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJJbnNwZWN0b3JQ
cm94eTo6Y3JlYXRlSW5zcGVjdG9yUGFnZSk6CisgICAgICAgICogVUlQcm9jZXNzL1dlYlVJQ2xp
ZW50LmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViVUlDbGllbnQ6OmNyZWF0ZU5ld1BhZ2UpOgor
ICAgICAgICAoV2ViS2l0OjpXZWJVSUNsaWVudDo6bW91c2VEaWRNb3ZlT3ZlckVsZW1lbnQpOgor
ICAgICAgICAqIFVJUHJvY2Vzcy9tYWMvV2ViSW5zcGVjdG9yUHJveHlNYWMubW06CisgICAgICAg
IChXZWJLaXQ6OldlYkluc3BlY3RvclByb3h5OjpwbGF0Zm9ybUNyZWF0ZUluc3BlY3RvclBhZ2Up
OgorICAgICAgICAqIFdlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL2MvV0tCdW5kbGUuY3Bw
OgorICAgICAgICAoV0tCdW5kbGVTZXRDbGllbnQpOgorICAgICAgICAqIFdlYlByb2Nlc3MvSW5q
ZWN0ZWRCdW5kbGUvQVBJL2MvV0tCdW5kbGUuaDoKKyAgICAgICAgKiBXZWJQcm9jZXNzL0luamVj
dGVkQnVuZGxlL0FQSS9jL1dLQnVuZGxlUGFnZS5jcHA6CisgICAgICAgIChXS0J1bmRsZVBhZ2VT
ZXRDb250ZXh0TWVudUNsaWVudCk6CisgICAgICAgIChXS0J1bmRsZVBhZ2VTZXRFZGl0b3JDbGll
bnQpOgorICAgICAgICAoV0tCdW5kbGVQYWdlU2V0Rm9ybUNsaWVudCk6CisgICAgICAgIChXS0J1
bmRsZVBhZ2VTZXRQYWdlTG9hZGVyQ2xpZW50KToKKyAgICAgICAgKFdLQnVuZGxlUGFnZVNldFJl
c291cmNlTG9hZENsaWVudCk6CisgICAgICAgIChXS0J1bmRsZVBhZ2VTZXRQb2xpY3lDbGllbnQp
OgorICAgICAgICAoV0tCdW5kbGVQYWdlU2V0VUlDbGllbnQpOgorICAgICAgICAoV0tCdW5kbGVQ
YWdlU2V0RnVsbFNjcmVlbkNsaWVudCk6CisgICAgICAgIChXS0J1bmRsZVBhZ2VTZXREaWFnbm9z
dGljTG9nZ2luZ0NsaWVudCk6CisgICAgICAgICogV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9B
UEkvYy9XS0J1bmRsZVBhZ2UuaDoKKyAgICAgICAgKiBXZWJQcm9jZXNzL0luamVjdGVkQnVuZGxl
L0FQSS9jL1dLQnVuZGxlUGFnZUJhbm5lci5oOgorICAgICAgICAqIFdlYlByb2Nlc3MvSW5qZWN0
ZWRCdW5kbGUvQVBJL2MvV0tCdW5kbGVQYWdlQ29udGV4dE1lbnVDbGllbnQuaDoKKyAgICAgICAg
KiBXZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9jL1dLQnVuZGxlUGFnZURpYWdub3N0aWNM
b2dnaW5nQ2xpZW50Lmg6CisgICAgICAgICogV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkv
Yy9XS0J1bmRsZVBhZ2VFZGl0b3JDbGllbnQuaDoKKyAgICAgICAgKiBXZWJQcm9jZXNzL0luamVj
dGVkQnVuZGxlL0FQSS9jL1dLQnVuZGxlUGFnZUZvcm1DbGllbnQuaDoKKyAgICAgICAgKiBXZWJQ
cm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9jL1dLQnVuZGxlUGFnZUZ1bGxTY3JlZW5DbGllbnQu
aDoKKyAgICAgICAgKiBXZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9jL1dLQnVuZGxlUGFn
ZUxvYWRlckNsaWVudC5oOgorICAgICAgICAqIFdlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJ
L2MvV0tCdW5kbGVQYWdlT3ZlcmxheS5jcHA6CisgICAgICAgIChXS0J1bmRsZVBhZ2VPdmVybGF5
Q3JlYXRlKToKKyAgICAgICAgKFdLQnVuZGxlUGFnZU92ZXJsYXlTZXRBY2Nlc3NpYmlsaXR5Q2xp
ZW50KToKKyAgICAgICAgKiBXZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9jL1dLQnVuZGxl
UGFnZU92ZXJsYXkuaDoKKyAgICAgICAgKiBXZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9j
L1dLQnVuZGxlUGFnZVBvbGljeUNsaWVudC5oOgorICAgICAgICAqIFdlYlByb2Nlc3MvSW5qZWN0
ZWRCdW5kbGUvQVBJL2MvV0tCdW5kbGVQYWdlUmVzb3VyY2VMb2FkQ2xpZW50Lmg6CisgICAgICAg
ICogV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvYy9XS0J1bmRsZVBhZ2VVSUNsaWVudC5o
OgorICAgICAgICAqIFdlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL2MvbWFjL1dLQnVuZGxl
UGFnZUJhbm5lck1hYy5oOgorICAgICAgICAqIFdlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJ
L2MvbWFjL1dLQnVuZGxlUGFnZUJhbm5lck1hYy5tbToKKyAgICAgICAgKFdLQnVuZGxlUGFnZUJh
bm5lckNyZWF0ZUJhbm5lcldpdGhDQUxheWVyKToKKyAgICAgICAgKiBXZWJQcm9jZXNzL0luamVj
dGVkQnVuZGxlL0FQSS9tYWMvV0tXZWJQcm9jZXNzUGx1Z0luLm1tOgorICAgICAgICAoc2V0VXBC
dW5kbGVDbGllbnQpOgorCisyMDEzLTEyLTAzICBBbmRlcnMgQ2FybHNzb24gIDxhbmRlcnNjYUBh
cHBsZS5jb20+CisKICAgICAgICAgUGFnZU92ZXJsYXlDbGllbnRJbXBsIHNob3VsZCBiZSBhIHBy
b3BlciBBUEk6OkNsaWVudAogICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MTI1MTk5CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9BUEkv
Yy9XS0Nvbm5lY3Rpb25SZWYuY3BwIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL0FQSS9jL1dLQ29u
bmVjdGlvblJlZi5jcHAKaW5kZXggN2Y2NTI1OTQ1Zjc5ZTBlMzI0NmM5NTNiZDYzMTY1ZDNhOWJm
OGQ4ZS4uOWZhNzA0MmMyOWVlMzEwM2UxNzIxNGVlYjNiYjY0MDg0ZmM4MzhmYiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdDIvU2hhcmVkL0FQSS9jL1dLQ29ubmVjdGlvblJlZi5jcHAKKysrIGIv
U291cmNlL1dlYktpdDIvU2hhcmVkL0FQSS9jL1dLQ29ubmVjdGlvblJlZi5jcHAKQEAgLTM2LDkg
KzM2LDkgQEAgV0tUeXBlSUQgV0tDb25uZWN0aW9uR2V0VHlwZUlEKCkKICAgICByZXR1cm4gdG9B
UEkoV2ViQ29ubmVjdGlvbjo6QVBJVHlwZSk7CiB9CiAKLXZvaWQgV0tDb25uZWN0aW9uU2V0Q29u
bmVjdGlvbkNsaWVudChXS0Nvbm5lY3Rpb25SZWYgY29ubmVjdGlvblJlZiwgY29uc3QgV0tDb25u
ZWN0aW9uQ2xpZW50KiB3a0NsaWVudCkKK3ZvaWQgV0tDb25uZWN0aW9uU2V0Q29ubmVjdGlvbkNs
aWVudChXS0Nvbm5lY3Rpb25SZWYgY29ubmVjdGlvblJlZiwgY29uc3QgV0tDb25uZWN0aW9uQ2xp
ZW50QmFzZSogd2tDbGllbnQpCiB7Ci0gICAgdG9JbXBsKGNvbm5lY3Rpb25SZWYpLT5pbml0aWFs
aXplQ29ubmVjdGlvbkNsaWVudChyZWludGVycHJldF9jYXN0PGNvbnN0IFdLQ29ubmVjdGlvbkNs
aWVudEJhc2UqPih3a0NsaWVudCkpOworICAgIHRvSW1wbChjb25uZWN0aW9uUmVmKS0+aW5pdGlh
bGl6ZUNvbm5lY3Rpb25DbGllbnQod2tDbGllbnQpOwogfQogCiB2b2lkIFdLQ29ubmVjdGlvblBv
c3RNZXNzYWdlKFdLQ29ubmVjdGlvblJlZiBjb25uZWN0aW9uUmVmLCBXS1N0cmluZ1JlZiBtZXNz
YWdlTmFtZVJlZiwgV0tUeXBlUmVmIG1lc3NhZ2VCb2R5UmVmKQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdDIvU2hhcmVkL0FQSS9jL1dLQ29ubmVjdGlvblJlZi5oIGIvU291cmNlL1dlYktpdDIv
U2hhcmVkL0FQSS9jL1dLQ29ubmVjdGlvblJlZi5oCmluZGV4IDA2MGExMThhZGU0MjYwMjlmNzA0
ZTI5MzNlYzY2ZjBkNWNhNWM5YmMuLjYxNDAyNDU3NTU0ZGQ0YTk1MzM2NDg0ZjUwMWQzMzhlNmI5
NDk0MmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9BUEkvYy9XS0Nvbm5lY3Rp
b25SZWYuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQVBJL2MvV0tDb25uZWN0aW9uUmVm
LmgKQEAgLTQ4LDggKzQ4LDcgQEAgdHlwZWRlZiBzdHJ1Y3QgV0tDb25uZWN0aW9uQ2xpZW50VjAg
ewogICAgIFdLQ29ubmVjdGlvbkRpZENsb3NlQ2FsbGJhY2sgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgZGlkQ2xvc2U7CiB9IFdLQ29ubmVjdGlvbkNsaWVudFYwOwogCi0v
LyBGSVhNRTogRGVwcmVjYXRlLgotZW51bSB7IFdLQ29ubmVjdGlvbkNsaWVudEN1cnJlbnRWZXJz
aW9uID0gMCB9OworZW51bSB7IFdLQ29ubmVjdGlvbkNsaWVudEN1cnJlbnRWZXJzaW9uIFdLX0VO
VU1fREVQUkVDQVRFRCgiVXNlIGFuIGV4cGxpY2l0IHZlcnNpb24gbnVtYmVyIGluc3RlYWQiKSA9
IDAgfTsKIHR5cGVkZWYgc3RydWN0IFdLQ29ubmVjdGlvbkNsaWVudCB7CiAgICAgaW50ICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICB2ZXJzaW9uOwogICAgIGNvbnN0IHZvaWQgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xpZW50SW5mbzsKQEAgLTU3LDExICs1NiwxMSBA
QCB0eXBlZGVmIHN0cnVjdCBXS0Nvbm5lY3Rpb25DbGllbnQgewogICAgIC8vIFZlcnNpb24gMC4K
ICAgICBXS0Nvbm5lY3Rpb25EaWRSZWNlaXZlTWVzc2FnZUNhbGxiYWNrICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGRpZFJlY2VpdmVNZXNzYWdlOwogICAgIFdLQ29ubmVjdGlvbkRpZENs
b3NlQ2FsbGJhY2sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlkQ2xv
c2U7Ci19IFdLQ29ubmVjdGlvbkNsaWVudDsKK30gV0tDb25uZWN0aW9uQ2xpZW50IFdLX0RFUFJF
Q0FURUQoIlVzZSBhbiBleHBsaWNpdCB2ZXJzaW9uZWQgc3RydWN0IGluc3RlYWQiKTsKIAogV0tf
RVhQT1JUIFdLVHlwZUlEIFdLQ29ubmVjdGlvbkdldFR5cGVJRCgpOwogCi1XS19FWFBPUlQgdm9p
ZCBXS0Nvbm5lY3Rpb25TZXRDb25uZWN0aW9uQ2xpZW50KFdLQ29ubmVjdGlvblJlZiBjb25uZWN0
aW9uLCBjb25zdCBXS0Nvbm5lY3Rpb25DbGllbnQqIGNsaWVudCk7CitXS19FWFBPUlQgdm9pZCBX
S0Nvbm5lY3Rpb25TZXRDb25uZWN0aW9uQ2xpZW50KFdLQ29ubmVjdGlvblJlZiBjb25uZWN0aW9u
LCBjb25zdCBXS0Nvbm5lY3Rpb25DbGllbnRCYXNlKiBjbGllbnQpOwogV0tfRVhQT1JUIHZvaWQg
V0tDb25uZWN0aW9uUG9zdE1lc3NhZ2UoV0tDb25uZWN0aW9uUmVmIGNvbm5lY3Rpb24sIFdLU3Ry
aW5nUmVmIG1lc3NhZ2VOYW1lLCBXS1R5cGVSZWYgbWVzc2FnZUJvZHkpOwogCiAjaWZkZWYgX19j
cGx1c3BsdXMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS0Nv
bnRleHQuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLQ29udGV4dC5jcHAK
aW5kZXggMmMxNDE3MmNlY2EwNTdjYTE1YmQwZjFhZTdmYzQzYWNhODJlYTJhYS4uNmMwMjE0YzRk
MjRlNzg2YWUyZTMzNDk2ZDgxMjkxYzc3MjIwZmZhYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL0FQSS9DL1dLQ29udGV4dC5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL0FQSS9DL1dLQ29udGV4dC5jcHAKQEAgLTgwLDI5ICs4MCwyOSBAQCBXS0NvbnRleHRS
ZWYgV0tDb250ZXh0Q3JlYXRlV2l0aEluamVjdGVkQnVuZGxlUGF0aChXS1N0cmluZ1JlZiBwYXRo
UmVmKQogICAgIHJldHVybiB0b0FQSShjb250ZXh0LnJlbGVhc2UoKS5sZWFrUmVmKCkpOwogfQog
Ci12b2lkIFdLQ29udGV4dFNldENsaWVudChXS0NvbnRleHRSZWYgY29udGV4dFJlZiwgY29uc3Qg
V0tDb250ZXh0Q2xpZW50KiB3a0NsaWVudCkKK3ZvaWQgV0tDb250ZXh0U2V0Q2xpZW50KFdLQ29u
dGV4dFJlZiBjb250ZXh0UmVmLCBjb25zdCBXS0NvbnRleHRDbGllbnRCYXNlKiB3a0NsaWVudCkK
IHsKLSAgICB0b0ltcGwoY29udGV4dFJlZiktPmluaXRpYWxpemVDbGllbnQocmVpbnRlcnByZXRf
Y2FzdDxjb25zdCBXS0NvbnRleHRDbGllbnRCYXNlKj4od2tDbGllbnQpKTsKKyAgICB0b0ltcGwo
Y29udGV4dFJlZiktPmluaXRpYWxpemVDbGllbnQod2tDbGllbnQpOwogfQogCi12b2lkIFdLQ29u
dGV4dFNldEluamVjdGVkQnVuZGxlQ2xpZW50KFdLQ29udGV4dFJlZiBjb250ZXh0UmVmLCBjb25z
dCBXS0NvbnRleHRJbmplY3RlZEJ1bmRsZUNsaWVudCogd2tDbGllbnQpCit2b2lkIFdLQ29udGV4
dFNldEluamVjdGVkQnVuZGxlQ2xpZW50KFdLQ29udGV4dFJlZiBjb250ZXh0UmVmLCBjb25zdCBX
S0NvbnRleHRJbmplY3RlZEJ1bmRsZUNsaWVudEJhc2UqIHdrQ2xpZW50KQogewotICAgIHRvSW1w
bChjb250ZXh0UmVmKS0+aW5pdGlhbGl6ZUluamVjdGVkQnVuZGxlQ2xpZW50KHJlaW50ZXJwcmV0
X2Nhc3Q8Y29uc3QgV0tDb250ZXh0SW5qZWN0ZWRCdW5kbGVDbGllbnRCYXNlKj4od2tDbGllbnQp
KTsKKyAgICB0b0ltcGwoY29udGV4dFJlZiktPmluaXRpYWxpemVJbmplY3RlZEJ1bmRsZUNsaWVu
dCh3a0NsaWVudCk7CiB9CiAKLXZvaWQgV0tDb250ZXh0U2V0SGlzdG9yeUNsaWVudChXS0NvbnRl
eHRSZWYgY29udGV4dFJlZiwgY29uc3QgV0tDb250ZXh0SGlzdG9yeUNsaWVudCogd2tDbGllbnQp
Cit2b2lkIFdLQ29udGV4dFNldEhpc3RvcnlDbGllbnQoV0tDb250ZXh0UmVmIGNvbnRleHRSZWYs
IGNvbnN0IFdLQ29udGV4dEhpc3RvcnlDbGllbnRCYXNlKiB3a0NsaWVudCkKIHsKLSAgICB0b0lt
cGwoY29udGV4dFJlZiktPmluaXRpYWxpemVIaXN0b3J5Q2xpZW50KHJlaW50ZXJwcmV0X2Nhc3Q8
Y29uc3QgV0tDb250ZXh0SGlzdG9yeUNsaWVudEJhc2UqPih3a0NsaWVudCkpOworICAgIHRvSW1w
bChjb250ZXh0UmVmKS0+aW5pdGlhbGl6ZUhpc3RvcnlDbGllbnQod2tDbGllbnQpOwogfQogCi12
b2lkIFdLQ29udGV4dFNldERvd25sb2FkQ2xpZW50KFdLQ29udGV4dFJlZiBjb250ZXh0UmVmLCBj
b25zdCBXS0NvbnRleHREb3dubG9hZENsaWVudCogd2tDbGllbnQpCit2b2lkIFdLQ29udGV4dFNl
dERvd25sb2FkQ2xpZW50KFdLQ29udGV4dFJlZiBjb250ZXh0UmVmLCBjb25zdCBXS0NvbnRleHRE
b3dubG9hZENsaWVudEJhc2UqIHdrQ2xpZW50KQogewotICAgIHRvSW1wbChjb250ZXh0UmVmKS0+
aW5pdGlhbGl6ZURvd25sb2FkQ2xpZW50KHJlaW50ZXJwcmV0X2Nhc3Q8Y29uc3QgV0tDb250ZXh0
RG93bmxvYWRDbGllbnRCYXNlKj4od2tDbGllbnQpKTsKKyAgICB0b0ltcGwoY29udGV4dFJlZikt
PmluaXRpYWxpemVEb3dubG9hZENsaWVudCh3a0NsaWVudCk7CiB9CiAKLXZvaWQgV0tDb250ZXh0
U2V0Q29ubmVjdGlvbkNsaWVudChXS0NvbnRleHRSZWYgY29udGV4dFJlZiwgY29uc3QgV0tDb250
ZXh0Q29ubmVjdGlvbkNsaWVudCogd2tDbGllbnQpCit2b2lkIFdLQ29udGV4dFNldENvbm5lY3Rp
b25DbGllbnQoV0tDb250ZXh0UmVmIGNvbnRleHRSZWYsIGNvbnN0IFdLQ29udGV4dENvbm5lY3Rp
b25DbGllbnRCYXNlKiB3a0NsaWVudCkKIHsKLSAgICB0b0ltcGwoY29udGV4dFJlZiktPmluaXRp
YWxpemVDb25uZWN0aW9uQ2xpZW50KHJlaW50ZXJwcmV0X2Nhc3Q8Y29uc3QgV0tDb250ZXh0Q29u
bmVjdGlvbkNsaWVudEJhc2UqPih3a0NsaWVudCkpOworICAgIHRvSW1wbChjb250ZXh0UmVmKS0+
aW5pdGlhbGl6ZUNvbm5lY3Rpb25DbGllbnQod2tDbGllbnQpOwogfQogCiBXS0Rvd25sb2FkUmVm
IFdLQ29udGV4dERvd25sb2FkVVJMUmVxdWVzdChXS0NvbnRleHRSZWYgY29udGV4dFJlZiwgY29u
c3QgV0tVUkxSZXF1ZXN0UmVmIHJlcXVlc3RSZWYpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvQVBJL0MvV0tDb250ZXh0LmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
QVBJL0MvV0tDb250ZXh0LmgKaW5kZXggNjMyM2U2ZGU4ZWMyNThkYzRjMTkwZDllYzNkMWQxZTk2
Njg2MmQ2ZC4uOTEzMzRmNGVkNTRjMTE4YmQxZGZhMmM3NTYwY2MxZWM2N2MzN2ViMCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLQ29udGV4dC5oCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS0NvbnRleHQuaApAQCAtNjIsOCArNjIsNyBA
QCB0eXBlZGVmIHN0cnVjdCBXS0NvbnRleHRDbGllbnRWMCB7CiAgICAgV0tDb250ZXh0UGx1Z0lu
SW5mb3JtYXRpb25CZWNhbWVBdmFpbGFibGVDYWxsYmFjayAgICAgICAgICAgICAgICAgICBwbHVn
SW5JbmZvcm1hdGlvbkJlY2FtZUF2YWlsYWJsZTsKIH0gV0tDb250ZXh0Q2xpZW50VjA7CiAKLS8v
IEZJWE1FOiBEZXByZWNhdGUuCi1lbnVtIHsga1dLQ29udGV4dENsaWVudEN1cnJlbnRWZXJzaW9u
ID0gMCB9OworZW51bSB7IGtXS0NvbnRleHRDbGllbnRDdXJyZW50VmVyc2lvbiBXS19FTlVNX0RF
UFJFQ0FURUQoIlVzZSBhbiBleHBsaWNpdCB2ZXJzaW9uIG51bWJlciBpbnN0ZWFkIikgPSAwIH07
CiB0eXBlZGVmIHN0cnVjdCBXS0NvbnRleHRDbGllbnQgewogICAgIGludCAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmVyc2lv
bjsKICAgICBjb25zdCB2b2lkICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGNsaWVudEluZm87CkBAIC03Miw3ICs3MSw3IEBAIHR5cGVkZWYg
c3RydWN0IFdLQ29udGV4dENsaWVudCB7CiAgICAgV0tDb250ZXh0UGx1Z0luQXV0b1N0YXJ0T3Jp
Z2luSGFzaGVzQ2hhbmdlZENhbGxiYWNrICAgICAgICAgICAgICAgICBwbHVnSW5BdXRvU3RhcnRP
cmlnaW5IYXNoZXNDaGFuZ2VkOwogICAgIFdLQ29udGV4dE5ldHdvcmtQcm9jZXNzRGlkQ3Jhc2hD
YWxsYmFjayAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmV0d29ya1Byb2Nlc3NEaWRDcmFz
aDsKICAgICBXS0NvbnRleHRQbHVnSW5JbmZvcm1hdGlvbkJlY2FtZUF2YWlsYWJsZUNhbGxiYWNr
ICAgICAgICAgICAgICAgICAgIHBsdWdJbkluZm9ybWF0aW9uQmVjYW1lQXZhaWxhYmxlOwotfSBX
S0NvbnRleHRDbGllbnQ7Cit9IFdLQ29udGV4dENsaWVudCBXS19ERVBSRUNBVEVEKCJVc2UgYW4g
ZXhwbGljaXQgdmVyc2lvbmVkIHN0cnVjdCBpbnN0ZWFkIik7CiAKIGVudW0gewogICAgIGtXS1By
b2Nlc3NNb2RlbFNoYXJlZFNlY29uZGFyeVByb2Nlc3MgPSAwLApAQCAtOTEsMTEgKzkwLDExIEBA
IFdLX0VYUE9SVCBXS1R5cGVJRCBXS0NvbnRleHRHZXRUeXBlSUQoKTsKIFdLX0VYUE9SVCBXS0Nv
bnRleHRSZWYgV0tDb250ZXh0Q3JlYXRlKCk7CiBXS19FWFBPUlQgV0tDb250ZXh0UmVmIFdLQ29u
dGV4dENyZWF0ZVdpdGhJbmplY3RlZEJ1bmRsZVBhdGgoV0tTdHJpbmdSZWYgcGF0aCk7CiAKLVdL
X0VYUE9SVCB2b2lkIFdLQ29udGV4dFNldENsaWVudChXS0NvbnRleHRSZWYgY29udGV4dCwgY29u
c3QgV0tDb250ZXh0Q2xpZW50KiBjbGllbnQpOwotV0tfRVhQT1JUIHZvaWQgV0tDb250ZXh0U2V0
SW5qZWN0ZWRCdW5kbGVDbGllbnQoV0tDb250ZXh0UmVmIGNvbnRleHQsIGNvbnN0IFdLQ29udGV4
dEluamVjdGVkQnVuZGxlQ2xpZW50KiBjbGllbnQpOwotV0tfRVhQT1JUIHZvaWQgV0tDb250ZXh0
U2V0SGlzdG9yeUNsaWVudChXS0NvbnRleHRSZWYgY29udGV4dCwgY29uc3QgV0tDb250ZXh0SGlz
dG9yeUNsaWVudCogY2xpZW50KTsKLVdLX0VYUE9SVCB2b2lkIFdLQ29udGV4dFNldERvd25sb2Fk
Q2xpZW50KFdLQ29udGV4dFJlZiBjb250ZXh0LCBjb25zdCBXS0NvbnRleHREb3dubG9hZENsaWVu
dCogY2xpZW50KTsKLVdLX0VYUE9SVCB2b2lkIFdLQ29udGV4dFNldENvbm5lY3Rpb25DbGllbnQo
V0tDb250ZXh0UmVmIGNvbnRleHQsIGNvbnN0IFdLQ29udGV4dENvbm5lY3Rpb25DbGllbnQqIGNs
aWVudCk7CitXS19FWFBPUlQgdm9pZCBXS0NvbnRleHRTZXRDbGllbnQoV0tDb250ZXh0UmVmIGNv
bnRleHQsIGNvbnN0IFdLQ29udGV4dENsaWVudEJhc2UqIGNsaWVudCk7CitXS19FWFBPUlQgdm9p
ZCBXS0NvbnRleHRTZXRJbmplY3RlZEJ1bmRsZUNsaWVudChXS0NvbnRleHRSZWYgY29udGV4dCwg
Y29uc3QgV0tDb250ZXh0SW5qZWN0ZWRCdW5kbGVDbGllbnRCYXNlKiBjbGllbnQpOworV0tfRVhQ
T1JUIHZvaWQgV0tDb250ZXh0U2V0SGlzdG9yeUNsaWVudChXS0NvbnRleHRSZWYgY29udGV4dCwg
Y29uc3QgV0tDb250ZXh0SGlzdG9yeUNsaWVudEJhc2UqIGNsaWVudCk7CitXS19FWFBPUlQgdm9p
ZCBXS0NvbnRleHRTZXREb3dubG9hZENsaWVudChXS0NvbnRleHRSZWYgY29udGV4dCwgY29uc3Qg
V0tDb250ZXh0RG93bmxvYWRDbGllbnRCYXNlKiBjbGllbnQpOworV0tfRVhQT1JUIHZvaWQgV0tD
b250ZXh0U2V0Q29ubmVjdGlvbkNsaWVudChXS0NvbnRleHRSZWYgY29udGV4dCwgY29uc3QgV0tD
b250ZXh0Q29ubmVjdGlvbkNsaWVudEJhc2UqIGNsaWVudCk7CiAKIFdLX0VYUE9SVCBXS0Rvd25s
b2FkUmVmIFdLQ29udGV4dERvd25sb2FkVVJMUmVxdWVzdChXS0NvbnRleHRSZWYgY29udGV4dCwg
Y29uc3QgV0tVUkxSZXF1ZXN0UmVmIHJlcXVlc3QpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tDb250ZXh0Q29ubmVjdGlvbkNsaWVudC5oIGIvU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLQ29udGV4dENvbm5lY3Rpb25DbGllbnQuaAppbmRl
eCA3MTVjMzFmNDFjZGZlYjkzZGRkY2M4MzBjMDNmZjc4ZjM0YjMyNjhkLi44MmY3OWQ2M2U4YWZm
Y2U1MDA2YTIxMzExMTdkYWQ4ZjQ1MzRjNzczIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvQVBJL0MvV0tDb250ZXh0Q29ubmVjdGlvbkNsaWVudC5oCisrKyBiL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS0NvbnRleHRDb25uZWN0aW9uQ2xpZW50LmgKQEAgLTQy
LDE0ICs0MiwxMyBAQCB0eXBlZGVmIHN0cnVjdCBXS0NvbnRleHRDb25uZWN0aW9uQ2xpZW50VjAg
ewogICAgIFdLQ29udGV4dERpZENyZWF0ZUNvbm5lY3Rpb24gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgZGlkQ3JlYXRlQ29ubmVjdGlvbjsKIH0gV0tDb250ZXh0Q29ubmVj
dGlvbkNsaWVudFYwOwogCi0vLyBGSVhNRTogRGVwcmVjYXRlLgotZW51bSB7IGtXS0NvbnRleHRD
b25uZWN0aW9uQ2xpZW50Q3VycmVudFZlcnNpb24gPSAwIH07CitlbnVtIHsga1dLQ29udGV4dENv
bm5lY3Rpb25DbGllbnRDdXJyZW50VmVyc2lvbiBXS19FTlVNX0RFUFJFQ0FURUQoIlVzZSBhbiBl
eHBsaWNpdCB2ZXJzaW9uIG51bWJlciBpbnN0ZWFkIikgPSAwIH07CiB0eXBlZGVmIHN0cnVjdCBX
S0NvbnRleHRDb25uZWN0aW9uQ2xpZW50IHsKICAgICBpbnQgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZlcnNpb247CiAgICAg
Y29uc3Qgdm9pZCAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBjbGllbnRJbmZvOwogCiAgICAgLy8gVmVyc2lvbiAwLgogICAgIFdLQ29udGV4
dERpZENyZWF0ZUNvbm5lY3Rpb24gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgZGlkQ3JlYXRlQ29ubmVjdGlvbjsKLX0gV0tDb250ZXh0Q29ubmVjdGlvbkNsaWVudDsKK30g
V0tDb250ZXh0Q29ubmVjdGlvbkNsaWVudCBXS19ERVBSRUNBVEVEKCJVc2UgYW4gZXhwbGljaXQg
dmVyc2lvbmVkIHN0cnVjdCBpbnN0ZWFkIik7CiAKICNlbmRpZiAvLyBXS0NvbnRleHRDb25uZWN0
aW9uQ2xpZW50X2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9X
S0NvbnRleHREb3dubG9hZENsaWVudC5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9D
L1dLQ29udGV4dERvd25sb2FkQ2xpZW50LmgKaW5kZXggNDkwN2RjNjIwMGViOWUzODcyY2U2Yjhj
MGQ4NDYzNGNlYmY3MzE2YS4uMGFlZGU3ZmI2Yzk5Y2NhNjJmNzIzNzcyNDMwODAzM2Y0NmQ5N2I3
OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLQ29udGV4dERv
d25sb2FkQ2xpZW50LmgKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLQ29u
dGV4dERvd25sb2FkQ2xpZW50LmgKQEAgLTYyLDggKzYyLDcgQEAgdHlwZWRlZiBzdHJ1Y3QgV0tD
b250ZXh0RG93bmxvYWRDbGllbnRWMCB7CiAgICAgV0tDb250ZXh0RG93bmxvYWRQcm9jZXNzRGlk
Q3Jhc2hDYWxsYmFjayAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcm9jZXNzRGlkQ3Jhc2g7
CiB9IFdLQ29udGV4dERvd25sb2FkQ2xpZW50VjA7CiAKLS8vIEZJWE1FOiBEZXByZWNhdGUuCi1l
bnVtIHsga1dLQ29udGV4dERvd25sb2FkQ2xpZW50Q3VycmVudFZlcnNpb24gPSAwIH07CitlbnVt
IHsga1dLQ29udGV4dERvd25sb2FkQ2xpZW50Q3VycmVudFZlcnNpb24gV0tfRU5VTV9ERVBSRUNB
VEVEKCJVc2UgYW4gZXhwbGljaXQgdmVyc2lvbiBudW1iZXIgaW5zdGVhZCIpID0gMCB9OwogdHlw
ZWRlZiBzdHJ1Y3QgV0tDb250ZXh0RG93bmxvYWRDbGllbnQgewogICAgIGludCAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmVy
c2lvbjsKICAgICBjb25zdCB2b2lkICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGNsaWVudEluZm87CkBAIC04MCw2ICs3OSw2IEBAIHR5cGVk
ZWYgc3RydWN0IFdLQ29udGV4dERvd25sb2FkQ2xpZW50IHsKICAgICBXS0NvbnRleHREb3dubG9h
ZERpZEZhaWxDYWxsYmFjayAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpZEZh
aWw7CiAgICAgV0tDb250ZXh0RG93bmxvYWREaWRDYW5jZWwgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBkaWRDYW5jZWw7CiAgICAgV0tDb250ZXh0RG93bmxvYWRQcm9j
ZXNzRGlkQ3Jhc2hDYWxsYmFjayAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcm9jZXNzRGlk
Q3Jhc2g7Ci19IFdLQ29udGV4dERvd25sb2FkQ2xpZW50OworfSBXS0NvbnRleHREb3dubG9hZENs
aWVudCBXS19ERVBSRUNBVEVEKCJVc2UgYW4gZXhwbGljaXQgdmVyc2lvbmVkIHN0cnVjdCBpbnN0
ZWFkIik7CiAKICNlbmRpZiAvLyBXS0NvbnRleHREb3dubG9hZENsaWVudF9oCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tDb250ZXh0SGlzdG9yeUNsaWVudC5o
IGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLQ29udGV4dEhpc3RvcnlDbGllbnQu
aAppbmRleCA1MWUxMDg5NzYwN2RmYWNjN2I1NjExYmI4MzNmMDU0ZGEwMmRlZmI4Li44MjFiMGFi
NDJhZGQ4MmRhOGEzODc3MDk4MjliMDg4OTY0ODMxOGJjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tDb250ZXh0SGlzdG9yeUNsaWVudC5oCisrKyBiL1NvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS0NvbnRleHRIaXN0b3J5Q2xpZW50LmgKQEAgLTUw
LDggKzUwLDcgQEAgdHlwZWRlZiBzdHJ1Y3QgV0tDb250ZXh0SGlzdG9yeUNsaWVudFYwIHsKICAg
ICBXS0NvbnRleHRQb3B1bGF0ZVZpc2l0ZWRMaW5rc0NhbGxiYWNrICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIHBvcHVsYXRlVmlzaXRlZExpbmtzOwogfSBXS0NvbnRleHRIaXN0b3J5Q2xp
ZW50VjA7CiAKLS8vIEZJWE1FOiBEZXByZWNhdGUuCi1lbnVtIHsga1dLQ29udGV4dEhpc3RvcnlD
bGllbnRDdXJyZW50VmVyc2lvbiA9IDAgfTsKK2VudW0geyBrV0tDb250ZXh0SGlzdG9yeUNsaWVu
dEN1cnJlbnRWZXJzaW9uIFdLX0VOVU1fREVQUkVDQVRFRCgiVXNlIGFuIGV4cGxpY2l0IHZlcnNp
b24gbnVtYmVyIGluc3RlYWQiKSA9IDAgfTsKIHR5cGVkZWYgc3RydWN0IFdLQ29udGV4dEhpc3Rv
cnlDbGllbnQgewogICAgIGludCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgdmVyc2lvbjsKICAgICBjb25zdCB2b2lkICogICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsaWVu
dEluZm87CkBAIC02Miw2ICs2MSw2IEBAIHR5cGVkZWYgc3RydWN0IFdLQ29udGV4dEhpc3RvcnlD
bGllbnQgewogICAgIFdLQ29udGV4dERpZFBlcmZvcm1TZXJ2ZXJSZWRpcmVjdENhbGxiYWNrICAg
ICAgICAgICAgICAgICAgICAgICAgICAgZGlkUGVyZm9ybVNlcnZlclJlZGlyZWN0OwogICAgIFdL
Q29udGV4dERpZFVwZGF0ZUhpc3RvcnlUaXRsZUNhbGxiYWNrICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgZGlkVXBkYXRlSGlzdG9yeVRpdGxlOwogICAgIFdLQ29udGV4dFBvcHVsYXRlVmlz
aXRlZExpbmtzQ2FsbGJhY2sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcG9wdWxhdGVW
aXNpdGVkTGlua3M7Ci19IFdLQ29udGV4dEhpc3RvcnlDbGllbnQ7Cit9IFdLQ29udGV4dEhpc3Rv
cnlDbGllbnQgV0tfREVQUkVDQVRFRCgiVXNlIGFuIGV4cGxpY2l0IHZlcnNpb25lZCBzdHJ1Y3Qg
aW5zdGVhZCIpOwogCiAjZW5kaWYgLy8gV0tDb250ZXh0SGlzdG9yeUNsaWVudF9oCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tDb250ZXh0SW5qZWN0ZWRCdW5k
bGVDbGllbnQuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS0NvbnRleHRJbmpl
Y3RlZEJ1bmRsZUNsaWVudC5oCmluZGV4IDc3YzRjYzhlMjVkODExNjkzYjkxZWVkMjM0NzkxMWI4
MmU1YWZiZTIuLmQ0OGY4ZTdiYzQzOGNhMTQ0MDBhNmExMTgzY2Q4OWM1N2IwOTI4MjMgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS0NvbnRleHRJbmplY3RlZEJ1
bmRsZUNsaWVudC5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS0NvbnRl
eHRJbmplY3RlZEJ1bmRsZUNsaWVudC5oCkBAIC01Nyw2ICs1Nyw3IEBAIHR5cGVkZWYgc3RydWN0
IFdLQ29udGV4dEluamVjdGVkQnVuZGxlQ2xpZW50VjEgewogICAgIFdLQ29udGV4dEdldEluamVj
dGVkQnVuZGxlSW5pdGlhbGl6YXRpb25Vc2VyRGF0YUNhbGxiYWNrICAgICAgICAgICAgZ2V0SW5q
ZWN0ZWRCdW5kbGVJbml0aWFsaXphdGlvblVzZXJEYXRhOwogfSBXS0NvbnRleHRJbmplY3RlZEJ1
bmRsZUNsaWVudFYxOwogCitlbnVtIHsga1dLQ29udGV4dEluamVjdGVkQnVuZGxlQ2xpZW50Q3Vy
cmVudFZlcnNpb24gV0tfRU5VTV9ERVBSRUNBVEVEKCJVc2UgYW4gZXhwbGljaXQgdmVyc2lvbiBu
dW1iZXIgaW5zdGVhZCIpID0gMSB9OwogdHlwZWRlZiBzdHJ1Y3QgV0tDb250ZXh0SW5qZWN0ZWRC
dW5kbGVDbGllbnQgewogICAgIGludCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmVyc2lvbjsKICAgICBjb25zdCB2b2lkICog
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNs
aWVudEluZm87CkBAIC02Nyw4ICs2OCw2IEBAIHR5cGVkZWYgc3RydWN0IFdLQ29udGV4dEluamVj
dGVkQnVuZGxlQ2xpZW50IHsKIAogICAgIC8vIFZlcnNpb24gMS4KICAgICBXS0NvbnRleHRHZXRJ
bmplY3RlZEJ1bmRsZUluaXRpYWxpemF0aW9uVXNlckRhdGFDYWxsYmFjayAgICAgICAgICAgIGdl
dEluamVjdGVkQnVuZGxlSW5pdGlhbGl6YXRpb25Vc2VyRGF0YTsKLX0gV0tDb250ZXh0SW5qZWN0
ZWRCdW5kbGVDbGllbnQ7Ci0KLWVudW0geyBrV0tDb250ZXh0SW5qZWN0ZWRCdW5kbGVDbGllbnRD
dXJyZW50VmVyc2lvbiA9IDEgfTsKK30gV0tDb250ZXh0SW5qZWN0ZWRCdW5kbGVDbGllbnQgV0tf
REVQUkVDQVRFRCgiVXNlIGFuIGV4cGxpY2l0IHZlcnNpb25lZCBzdHJ1Y3QgaW5zdGVhZCIpOwog
CiAjZW5kaWYgLy8gV0tDb250ZXh0SW5qZWN0ZWRCdW5kbGVDbGllbnRfaApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLQ29va2llTWFuYWdlci5jcHAgYi9Tb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tDb29raWVNYW5hZ2VyLmNwcAppbmRleCA0MTEz
MWExZDlkZjI1MjQxMGE0OTdkODIyMjRkYzgxNGJiMWE5ZDgzLi5lZDI3NzBmNWRiNmIzZmJlZGQy
ZjZhYmIyMGYwZTIyOWQ2YWQ1MzQ2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvQVBJL0MvV0tDb29raWVNYW5hZ2VyLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvQVBJL0MvV0tDb29raWVNYW5hZ2VyLmNwcApAQCAtMzYsOSArMzYsOSBAQCBXS1R5cGVJRCBX
S0Nvb2tpZU1hbmFnZXJHZXRUeXBlSUQoKQogICAgIHJldHVybiB0b0FQSShXZWJDb29raWVNYW5h
Z2VyUHJveHk6OkFQSVR5cGUpOwogfQogCi12b2lkIFdLQ29va2llTWFuYWdlclNldENsaWVudChX
S0Nvb2tpZU1hbmFnZXJSZWYgY29va2llTWFuYWdlclJlZiwgY29uc3QgV0tDb29raWVNYW5hZ2Vy
Q2xpZW50KiB3a0NsaWVudCkKK3ZvaWQgV0tDb29raWVNYW5hZ2VyU2V0Q2xpZW50KFdLQ29va2ll
TWFuYWdlclJlZiBjb29raWVNYW5hZ2VyUmVmLCBjb25zdCBXS0Nvb2tpZU1hbmFnZXJDbGllbnRC
YXNlKiB3a0NsaWVudCkKIHsKLSAgICB0b0ltcGwoY29va2llTWFuYWdlclJlZiktPmluaXRpYWxp
emVDbGllbnQocmVpbnRlcnByZXRfY2FzdDxjb25zdCBXS0Nvb2tpZU1hbmFnZXJDbGllbnRCYXNl
Kj4od2tDbGllbnQpKTsKKyAgICB0b0ltcGwoY29va2llTWFuYWdlclJlZiktPmluaXRpYWxpemVD
bGllbnQod2tDbGllbnQpOwogfQogCiB2b2lkIFdLQ29va2llTWFuYWdlckdldEhvc3RuYW1lc1dp
dGhDb29raWVzKFdLQ29va2llTWFuYWdlclJlZiBjb29raWVNYW5hZ2VyUmVmLCB2b2lkKiBjb250
ZXh0LCBXS0Nvb2tpZU1hbmFnZXJHZXRDb29raWVIb3N0bmFtZXNGdW5jdGlvbiBjYWxsYmFjaykK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS0Nvb2tpZU1hbmFn
ZXIuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS0Nvb2tpZU1hbmFnZXIuaApp
bmRleCBmZDIyNGZhZWVmMWFiYzcyMTE3NWJlYjQ0YWI1NGM0MTZkMjUyMDUxLi4zMjQ4ODU5OGQ4
OTM5N2QzMTM2NWQyMzZlNzEwNDRkMWY2MDVhNzM2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvQVBJL0MvV0tDb29raWVNYW5hZ2VyLmgKKysrIGIvU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL0FQSS9DL1dLQ29va2llTWFuYWdlci5oCkBAIC01NCwxOSArNTQsMTggQEAgdHlw
ZWRlZiBzdHJ1Y3QgV0tDb29raWVNYW5hZ2VyQ2xpZW50VjAgewogICAgIFdLQ29va2llTWFuYWdl
ckNvb2tpZXNEaWRDaGFuZ2VDYWxsYmFjayAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29v
a2llc0RpZENoYW5nZTsKIH0gV0tDb29raWVNYW5hZ2VyQ2xpZW50VjA7CiAKLS8vIEZJWE1FOiBE
ZXByZWNhdGUuCi1lbnVtIHsga1dLQ29va2llTWFuYWdlckNsaWVudEN1cnJlbnRWZXJzaW9uID0g
MCB9OworZW51bSB7IGtXS0Nvb2tpZU1hbmFnZXJDbGllbnRDdXJyZW50VmVyc2lvbiBXS19FTlVN
X0RFUFJFQ0FURUQoIlVzZSBhbiBleHBsaWNpdCB2ZXJzaW9uIG51bWJlciBpbnN0ZWFkIikgPSAw
IH07CiB0eXBlZGVmIHN0cnVjdCBXS0Nvb2tpZU1hbmFnZXJDbGllbnQgewogICAgIGludCAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgdmVyc2lvbjsKICAgICBjb25zdCB2b2lkICogICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsaWVudEluZm87CiAKICAgICAvLyBWZXJzaW9u
IDAuCiAgICAgV0tDb29raWVNYW5hZ2VyQ29va2llc0RpZENoYW5nZUNhbGxiYWNrICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBjb29raWVzRGlkQ2hhbmdlOwotfSBXS0Nvb2tpZU1hbmFnZXJD
bGllbnQ7Cit9IFdLQ29va2llTWFuYWdlckNsaWVudCBXS19ERVBSRUNBVEVEKCJVc2UgYW4gZXhw
bGljaXQgdmVyc2lvbmVkIHN0cnVjdCBpbnN0ZWFkIik7CiAKIFdLX0VYUE9SVCBXS1R5cGVJRCBX
S0Nvb2tpZU1hbmFnZXJHZXRUeXBlSUQoKTsKIAotV0tfRVhQT1JUIHZvaWQgV0tDb29raWVNYW5h
Z2VyU2V0Q2xpZW50KFdLQ29va2llTWFuYWdlclJlZiBjb29raWVNYW5hZ2VyLCBjb25zdCBXS0Nv
b2tpZU1hbmFnZXJDbGllbnQqIGNsaWVudCk7CitXS19FWFBPUlQgdm9pZCBXS0Nvb2tpZU1hbmFn
ZXJTZXRDbGllbnQoV0tDb29raWVNYW5hZ2VyUmVmIGNvb2tpZU1hbmFnZXIsIGNvbnN0IFdLQ29v
a2llTWFuYWdlckNsaWVudEJhc2UqIGNsaWVudCk7CiAKIHR5cGVkZWYgdm9pZCAoKldLQ29va2ll
TWFuYWdlckdldENvb2tpZUhvc3RuYW1lc0Z1bmN0aW9uKShXS0FycmF5UmVmLCBXS0Vycm9yUmVm
LCB2b2lkKik7CiBXS19FWFBPUlQgdm9pZCBXS0Nvb2tpZU1hbmFnZXJHZXRIb3N0bmFtZXNXaXRo
Q29va2llcyhXS0Nvb2tpZU1hbmFnZXJSZWYgY29va2llTWFuYWdlciwgdm9pZCogY29udGV4dCwg
V0tDb29raWVNYW5hZ2VyR2V0Q29va2llSG9zdG5hbWVzRnVuY3Rpb24gZnVuY3Rpb24pOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLRGF0YWJhc2VNYW5hZ2Vy
LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS0RhdGFiYXNlTWFuYWdlci5j
cHAKaW5kZXggMDkyY2Q0YWIwZTRmZTQzYThhY2E2YTg1NGFhNTAyNjU5YTc5NTk5MC4uMWFhNThl
MDU2M2Q2ZTA2ZWVhYjQxM2M3MjYyMTMxYmI2ZmE2YzY2NCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLRGF0YWJhc2VNYW5hZ2VyLmNwcAorKysgYi9Tb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tEYXRhYmFzZU1hbmFnZXIuY3BwCkBAIC0xMjAsMTIg
KzEyMCwxMiBAQCBXS1N0cmluZ1JlZiBXS0RhdGFiYXNlTWFuYWdlckdldERhdGFiYXNlRGV0YWls
c0N1cnJlbnRVc2FnZUtleSgpCiAjZW5kaWYKIH0KIAotdm9pZCBXS0RhdGFiYXNlTWFuYWdlclNl
dENsaWVudChXS0RhdGFiYXNlTWFuYWdlclJlZiBkYXRhYmFzZU1hbmFnZXJSZWYsIGNvbnN0IFdL
RGF0YWJhc2VNYW5hZ2VyQ2xpZW50KiB3a0NsaWVudCkKK3ZvaWQgV0tEYXRhYmFzZU1hbmFnZXJT
ZXRDbGllbnQoV0tEYXRhYmFzZU1hbmFnZXJSZWYgZGF0YWJhc2VNYW5hZ2VyUmVmLCBjb25zdCBX
S0RhdGFiYXNlTWFuYWdlckNsaWVudEJhc2UqIHdrQ2xpZW50KQogewogI2lmIEVOQUJMRShTUUxf
REFUQUJBU0UpCiAgICAgaWYgKHdrQ2xpZW50ICYmIHdrQ2xpZW50LT52ZXJzaW9uKQogICAgICAg
ICByZXR1cm47Ci0gICAgdG9JbXBsKGRhdGFiYXNlTWFuYWdlclJlZiktPmluaXRpYWxpemVDbGll
bnQocmVpbnRlcnByZXRfY2FzdDxjb25zdCBXS0RhdGFiYXNlTWFuYWdlckNsaWVudEJhc2UqPih3
a0NsaWVudCkpOworICAgIHRvSW1wbChkYXRhYmFzZU1hbmFnZXJSZWYpLT5pbml0aWFsaXplQ2xp
ZW50KHdrQ2xpZW50KTsKICNlbHNlCiAgICAgVU5VU0VEX1BBUkFNKGRhdGFiYXNlTWFuYWdlclJl
Zik7CiAgICAgVU5VU0VEX1BBUkFNKHdrQ2xpZW50KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9BUEkvQy9XS0RhdGFiYXNlTWFuYWdlci5oIGIvU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL0FQSS9DL1dLRGF0YWJhc2VNYW5hZ2VyLmgKaW5kZXggYzUzNDJlOTllY2QzOWI3
NDIxOGVkMDc4NWRhYWY1MDY3OWQ5ZjFkMC4uNWUwNmI3N2IzOTMxMjA4MzExNzM5MTRjMzZjZTA5
MTYwYzFjYWViZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dL
RGF0YWJhc2VNYW5hZ2VyLmgKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dL
RGF0YWJhc2VNYW5hZ2VyLmgKQEAgLTc5LDggKzc5LDcgQEAgdHlwZWRlZiBzdHJ1Y3QgV0tEYXRh
YmFzZU1hbmFnZXJDbGllbnRWMCB7CiAgICAgV0tEYXRhYmFzZU1hbmFnZXJEaWRNb2RpZnlEYXRh
YmFzZUNhbGxiYWNrICAgICAgICAgICAgICAgICAgICAgICAgICBkaWRNb2RpZnlEYXRhYmFzZTsK
IH0gV0tEYXRhYmFzZU1hbmFnZXJDbGllbnRWMDsKIAotLy8gRklYTUU6IERlcHJlY2F0ZS4KLWVu
dW0geyBrV0tEYXRhYmFzZU1hbmFnZXJDbGllbnRDdXJyZW50VmVyc2lvbiA9IDAgfTsKK2VudW0g
eyBrV0tEYXRhYmFzZU1hbmFnZXJDbGllbnRDdXJyZW50VmVyc2lvbiBXS19FTlVNX0RFUFJFQ0FU
RUQoIlVzZSBhbiBleHBsaWNpdCB2ZXJzaW9uIG51bWJlciBpbnN0ZWFkIikgPSAwIH07CiB0eXBl
ZGVmIHN0cnVjdCBXS0RhdGFiYXNlTWFuYWdlckNsaWVudCB7CiAgICAgaW50ICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2ZXJz
aW9uOwogICAgIGNvbnN0IHZvaWQgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgY2xpZW50SW5mbzsKQEAgLTg4LDExICs4NywxMSBAQCB0eXBl
ZGVmIHN0cnVjdCBXS0RhdGFiYXNlTWFuYWdlckNsaWVudCB7CiAgICAgLy8gVmVyc2lvbiAwLgog
ICAgIFdLRGF0YWJhc2VNYW5hZ2VyRGlkTW9kaWZ5T3JpZ2luQ2FsbGJhY2sgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgZGlkTW9kaWZ5T3JpZ2luOwogICAgIFdLRGF0YWJhc2VNYW5hZ2VyRGlk
TW9kaWZ5RGF0YWJhc2VDYWxsYmFjayAgICAgICAgICAgICAgICAgICAgICAgICAgZGlkTW9kaWZ5
RGF0YWJhc2U7Ci19IFdLRGF0YWJhc2VNYW5hZ2VyQ2xpZW50OworfSBXS0RhdGFiYXNlTWFuYWdl
ckNsaWVudCBXS19ERVBSRUNBVEVEKCJVc2UgYW4gZXhwbGljaXQgdmVyc2lvbmVkIHN0cnVjdCBp
bnN0ZWFkIik7CiAKIFdLX0VYUE9SVCBXS1R5cGVJRCBXS0RhdGFiYXNlTWFuYWdlckdldFR5cGVJ
RCgpOwogCi1XS19FWFBPUlQgdm9pZCBXS0RhdGFiYXNlTWFuYWdlclNldENsaWVudChXS0RhdGFi
YXNlTWFuYWdlclJlZiBkYXRhYmFzZU1hbmFnZXIsIGNvbnN0IFdLRGF0YWJhc2VNYW5hZ2VyQ2xp
ZW50KiBjbGllbnQpOworV0tfRVhQT1JUIHZvaWQgV0tEYXRhYmFzZU1hbmFnZXJTZXRDbGllbnQo
V0tEYXRhYmFzZU1hbmFnZXJSZWYgZGF0YWJhc2VNYW5hZ2VyLCBjb25zdCBXS0RhdGFiYXNlTWFu
YWdlckNsaWVudEJhc2UqIGNsaWVudCk7CiAKIHR5cGVkZWYgdm9pZCAoKldLRGF0YWJhc2VNYW5h
Z2VyR2V0RGF0YWJhc2VzQnlPcmlnaW5GdW5jdGlvbikoV0tBcnJheVJlZiwgV0tFcnJvclJlZiwg
dm9pZCopOwogV0tfRVhQT1JUIHZvaWQgV0tEYXRhYmFzZU1hbmFnZXJHZXREYXRhYmFzZXNCeU9y
aWdpbihXS0RhdGFiYXNlTWFuYWdlclJlZiBkYXRhYmFzZU1hbmFnZXIsIHZvaWQqIGNvbnRleHQs
IFdLRGF0YWJhc2VNYW5hZ2VyR2V0RGF0YWJhc2VzQnlPcmlnaW5GdW5jdGlvbiBmdW5jdGlvbik7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tHZW9sb2NhdGlv
bk1hbmFnZXIuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLR2VvbG9jYXRp
b25NYW5hZ2VyLmNwcAppbmRleCA2ODM3ZWU3YzgyOTRkNmJmOWVlNDNiZWQ3YWE3MDI0ZDRkMmEz
YjkxLi45NjhiZDkyMGEyOTk0ODFmM2NjNmIwYTVkY2IxZTc2NzgwNjA5NDg0IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tHZW9sb2NhdGlvbk1hbmFnZXIuY3Bw
CisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS0dlb2xvY2F0aW9uTWFuYWdl
ci5jcHAKQEAgLTM2LDkgKzM2LDkgQEAgV0tUeXBlSUQgV0tHZW9sb2NhdGlvbk1hbmFnZXJHZXRU
eXBlSUQoKQogICAgIHJldHVybiB0b0FQSShXZWJHZW9sb2NhdGlvbk1hbmFnZXJQcm94eTo6QVBJ
VHlwZSk7CiB9CiAKLXZvaWQgV0tHZW9sb2NhdGlvbk1hbmFnZXJTZXRQcm92aWRlcihXS0dlb2xv
Y2F0aW9uTWFuYWdlclJlZiBnZW9sb2NhdGlvbk1hbmFnZXJSZWYsIGNvbnN0IFdLR2VvbG9jYXRp
b25Qcm92aWRlciogd2tQcm92aWRlcikKK3ZvaWQgV0tHZW9sb2NhdGlvbk1hbmFnZXJTZXRQcm92
aWRlcihXS0dlb2xvY2F0aW9uTWFuYWdlclJlZiBnZW9sb2NhdGlvbk1hbmFnZXJSZWYsIGNvbnN0
IFdLR2VvbG9jYXRpb25Qcm92aWRlckJhc2UqIHdrUHJvdmlkZXIpCiB7Ci0gICAgdG9JbXBsKGdl
b2xvY2F0aW9uTWFuYWdlclJlZiktPmluaXRpYWxpemVQcm92aWRlcihyZWludGVycHJldF9jYXN0
PGNvbnN0IFdLR2VvbG9jYXRpb25Qcm92aWRlckJhc2UqPih3a1Byb3ZpZGVyKSk7CisgICAgdG9J
bXBsKGdlb2xvY2F0aW9uTWFuYWdlclJlZiktPmluaXRpYWxpemVQcm92aWRlcih3a1Byb3ZpZGVy
KTsKIH0KIAogdm9pZCBXS0dlb2xvY2F0aW9uTWFuYWdlclByb3ZpZGVyRGlkQ2hhbmdlUG9zaXRp
b24oV0tHZW9sb2NhdGlvbk1hbmFnZXJSZWYgZ2VvbG9jYXRpb25NYW5hZ2VyUmVmLCBXS0dlb2xv
Y2F0aW9uUG9zaXRpb25SZWYgcG9zaXRpb25SZWYpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvQVBJL0MvV0tHZW9sb2NhdGlvbk1hbmFnZXIuaCBiL1NvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9BUEkvQy9XS0dlb2xvY2F0aW9uTWFuYWdlci5oCmluZGV4IGUzNTZkNGY5NzEz
NDgyNzEyYTE4NGIyNzY4ZTE1MmJjNmZmMTMwYjcuLmY4YzE5MTc5MDQzYjRkZjc5OWUxYTg2YzA3
ZTIyZDRkMGM3ZTRhMTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkv
Qy9XS0dlb2xvY2F0aW9uTWFuYWdlci5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9B
UEkvQy9XS0dlb2xvY2F0aW9uTWFuYWdlci5oCkBAIC02MSw4ICs2MSw3IEBAIHR5cGVkZWYgc3Ry
dWN0IFdLR2VvbG9jYXRpb25Qcm92aWRlclYxIHsKICAgICBXS0dlb2xvY2F0aW9uUHJvdmlkZXJT
ZXRFbmFibGVIaWdoQWNjdXJhY3lDYWxsYmFjayAgICAgICAgICAgICAgICAgIHNldEVuYWJsZUhp
Z2hBY2N1cmFjeTsKIH0gV0tHZW9sb2NhdGlvblByb3ZpZGVyVjE7CiAKLS8vIEZJWE1FOiBEZXBy
ZWNhdGUuCi1lbnVtIHsga1dLR2VvbG9jYXRpb25Qcm92aWRlckN1cnJlbnRWZXJzaW9uID0gMSB9
OworZW51bSB7IGtXS0dlb2xvY2F0aW9uUHJvdmlkZXJDdXJyZW50VmVyc2lvbiBXS19FTlVNX0RF
UFJFQ0FURUQoIlVzZSBhbiBleHBsaWNpdCB2ZXJzaW9uIG51bWJlciBpbnN0ZWFkIikgPSAxIH07
CiB0eXBlZGVmIHN0cnVjdCBXS0dlb2xvY2F0aW9uUHJvdmlkZXIgewogICAgIGludCAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
dmVyc2lvbjsKICAgICBjb25zdCB2b2lkICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGNsaWVudEluZm87CkBAIC03MSwxMiArNzAsMTIgQEAg
dHlwZWRlZiBzdHJ1Y3QgV0tHZW9sb2NhdGlvblByb3ZpZGVyIHsKIAogICAgIC8vIFZlcnNpb24g
MS4KICAgICBXS0dlb2xvY2F0aW9uUHJvdmlkZXJTZXRFbmFibGVIaWdoQWNjdXJhY3lDYWxsYmFj
ayAgICAgICAgICAgICAgICAgIHNldEVuYWJsZUhpZ2hBY2N1cmFjeTsKLX0gV0tHZW9sb2NhdGlv
blByb3ZpZGVyOworfSBXS0dlb2xvY2F0aW9uUHJvdmlkZXIgV0tfREVQUkVDQVRFRCgiVXNlIGFu
IGV4cGxpY2l0IHZlcnNpb25lZCBzdHJ1Y3QgaW5zdGVhZCIpOwogCiAKIFdLX0VYUE9SVCBXS1R5
cGVJRCBXS0dlb2xvY2F0aW9uTWFuYWdlckdldFR5cGVJRCgpOwogCi1XS19FWFBPUlQgdm9pZCBX
S0dlb2xvY2F0aW9uTWFuYWdlclNldFByb3ZpZGVyKFdLR2VvbG9jYXRpb25NYW5hZ2VyUmVmIGdl
b2xvY2F0aW9uTWFuYWdlciwgY29uc3QgV0tHZW9sb2NhdGlvblByb3ZpZGVyKiBwcm92aWRlcik7
CitXS19FWFBPUlQgdm9pZCBXS0dlb2xvY2F0aW9uTWFuYWdlclNldFByb3ZpZGVyKFdLR2VvbG9j
YXRpb25NYW5hZ2VyUmVmIGdlb2xvY2F0aW9uTWFuYWdlciwgY29uc3QgV0tHZW9sb2NhdGlvblBy
b3ZpZGVyQmFzZSogcHJvdmlkZXIpOwogCiBXS19FWFBPUlQgdm9pZCBXS0dlb2xvY2F0aW9uTWFu
YWdlclByb3ZpZGVyRGlkQ2hhbmdlUG9zaXRpb24oV0tHZW9sb2NhdGlvbk1hbmFnZXJSZWYgZ2Vv
bG9jYXRpb25NYW5hZ2VyLCBXS0dlb2xvY2F0aW9uUG9zaXRpb25SZWYgcG9zaXRpb24pOwogV0tf
RVhQT1JUIHZvaWQgV0tHZW9sb2NhdGlvbk1hbmFnZXJQcm92aWRlckRpZEZhaWxUb0RldGVybWlu
ZVBvc2l0aW9uKFdLR2VvbG9jYXRpb25NYW5hZ2VyUmVmIGdlb2xvY2F0aW9uTWFuYWdlcik7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tJY29uRGF0YWJhc2Uu
Y3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLSWNvbkRhdGFiYXNlLmNwcApp
bmRleCBjZjM0MDNlY2YzMTg5M2M0YzIwM2ZhZjhjOWI1YmVmYzQwZTYyYTVhLi4yNDRmNjNmNTI0
OWUwZWM5MjdjZjE2NWIzMTc0YTFhMTBhYzE5NTE0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvQVBJL0MvV0tJY29uRGF0YWJhc2UuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9BUEkvQy9XS0ljb25EYXRhYmFzZS5jcHAKQEAgLTM2LDkgKzM2LDkgQEAgV0tU
eXBlSUQgV0tJY29uRGF0YWJhc2VHZXRUeXBlSUQoKQogICAgIHJldHVybiB0b0FQSShXZWJJY29u
RGF0YWJhc2U6OkFQSVR5cGUpOwogfQogCi12b2lkIFdLSWNvbkRhdGFiYXNlU2V0SWNvbkRhdGFi
YXNlQ2xpZW50KFdLSWNvbkRhdGFiYXNlUmVmIGljb25EYXRhYmFzZVJlZiwgY29uc3QgV0tJY29u
RGF0YWJhc2VDbGllbnQqIHdrQ2xpZW50KQordm9pZCBXS0ljb25EYXRhYmFzZVNldEljb25EYXRh
YmFzZUNsaWVudChXS0ljb25EYXRhYmFzZVJlZiBpY29uRGF0YWJhc2VSZWYsIGNvbnN0IFdLSWNv
bkRhdGFiYXNlQ2xpZW50QmFzZSogd2tDbGllbnQpCiB7Ci0gICAgdG9JbXBsKGljb25EYXRhYmFz
ZVJlZiktPmluaXRpYWxpemVJY29uRGF0YWJhc2VDbGllbnQocmVpbnRlcnByZXRfY2FzdDxjb25z
dCBXS0ljb25EYXRhYmFzZUNsaWVudEJhc2UqPih3a0NsaWVudCkpOworICAgIHRvSW1wbChpY29u
RGF0YWJhc2VSZWYpLT5pbml0aWFsaXplSWNvbkRhdGFiYXNlQ2xpZW50KHdrQ2xpZW50KTsKIH0K
IAogdm9pZCBXS0ljb25EYXRhYmFzZVJldGFpbkljb25Gb3JVUkwoV0tJY29uRGF0YWJhc2VSZWYg
aWNvbkRhdGFiYXNlUmVmLCBXS1VSTFJlZiBwYWdlVVJMUmVmKQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLSWNvbkRhdGFiYXNlLmggYi9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvQVBJL0MvV0tJY29uRGF0YWJhc2UuaAppbmRleCBhZmY5OTFjMTBiYjIyN2Zi
NTRmMjdjNjk3Yzc5ODI4OTQ1YzAwYTgyLi42NWI3ZGQyNWNkMzI0MmMxNzBkYTQzYjQxYjZjYTZh
NTU3ZjZhN2M1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tJ
Y29uRGF0YWJhc2UuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tJY29u
RGF0YWJhc2UuaApAQCAtNjEsOCArNjEsNyBAQCB0eXBlZGVmIHN0cnVjdCBXS0ljb25EYXRhYmFz
ZUNsaWVudFYxIHsKICAgICBXS0ljb25EYXRhYmFzZUljb25EYXRhUmVhZHlGb3JQYWdlVVJMQ2Fs
bGJhY2sgICAgICAgICAgICAgICAgICAgICAgIGljb25EYXRhUmVhZHlGb3JQYWdlVVJMOwogfSBX
S0ljb25EYXRhYmFzZUNsaWVudFYxOwogCi0vLyBGSVhNRTogRGVwcmVjYXRlLgotZW51bSB7IGtX
S0ljb25EYXRhYmFzZUNsaWVudEN1cnJlbnRWZXJzaW9uID0gMSB9OworZW51bSB7IGtXS0ljb25E
YXRhYmFzZUNsaWVudEN1cnJlbnRWZXJzaW9uIFdLX0VOVU1fREVQUkVDQVRFRCgiVXNlIGFuIGV4
cGxpY2l0IHZlcnNpb24gbnVtYmVyIGluc3RlYWQiKSA9IDEgfTsKIHR5cGVkZWYgc3RydWN0IFdL
SWNvbkRhdGFiYXNlQ2xpZW50IHsKICAgICBpbnQgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZlcnNpb247CiAgICAgY29uc3Qg
dm9pZCAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBjbGllbnRJbmZvOwpAQCAtNzMsMTEgKzcyLDExIEBAIHR5cGVkZWYgc3RydWN0IFdLSWNv
bkRhdGFiYXNlQ2xpZW50IHsKIAogICAgIC8vIFZlcnNpb24gMS4KICAgICBXS0ljb25EYXRhYmFz
ZUljb25EYXRhUmVhZHlGb3JQYWdlVVJMQ2FsbGJhY2sgICAgICAgICAgICAgICAgICAgICAgIGlj
b25EYXRhUmVhZHlGb3JQYWdlVVJMOwotfSBXS0ljb25EYXRhYmFzZUNsaWVudDsKK30gV0tJY29u
RGF0YWJhc2VDbGllbnQgV0tfREVQUkVDQVRFRCgiVXNlIGFuIGV4cGxpY2l0IHZlcnNpb25lZCBz
dHJ1Y3QgaW5zdGVhZCIpOwogCiBXS19FWFBPUlQgV0tUeXBlSUQgV0tJY29uRGF0YWJhc2VHZXRU
eXBlSUQoKTsKIAotV0tfRVhQT1JUIHZvaWQgV0tJY29uRGF0YWJhc2VTZXRJY29uRGF0YWJhc2VD
bGllbnQoV0tJY29uRGF0YWJhc2VSZWYgaWNvbkRhdGFiYXNlLCBjb25zdCBXS0ljb25EYXRhYmFz
ZUNsaWVudCogY2xpZW50KTsKK1dLX0VYUE9SVCB2b2lkIFdLSWNvbkRhdGFiYXNlU2V0SWNvbkRh
dGFiYXNlQ2xpZW50KFdLSWNvbkRhdGFiYXNlUmVmIGljb25EYXRhYmFzZSwgY29uc3QgV0tJY29u
RGF0YWJhc2VDbGllbnRCYXNlKiBjbGllbnQpOwogCiBXS19FWFBPUlQgdm9pZCBXS0ljb25EYXRh
YmFzZVJldGFpbkljb25Gb3JVUkwoV0tJY29uRGF0YWJhc2VSZWYgaWNvbkRhdGFiYXNlLCBXS1VS
TFJlZiBwYWdlVVJMKTsKIFdLX0VYUE9SVCB2b2lkIFdLSWNvbkRhdGFiYXNlUmVsZWFzZUljb25G
b3JVUkwoV0tJY29uRGF0YWJhc2VSZWYgaWNvbkRhdGFiYXNlLCBXS1VSTFJlZiBwYWdlVVJMKTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS09yaWdpbkRhdGFN
YW5hZ2VyLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS09yaWdpbkRhdGFN
YW5hZ2VyLmNwcAppbmRleCAxYTJkMjZmYjMxMzNlZWNlYzlhMzZlMzBkOWFmYjA4ZTBhOThkM2Ez
Li44YWIwZjM3ZDdiN2MwYTQ2YmM0YWZhYmJiZDY3NzUxMDk4NDU1OWYzIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tPcmlnaW5EYXRhTWFuYWdlci5jcHAKKysr
IGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLT3JpZ2luRGF0YU1hbmFnZXIuY3Bw
CkBAIC02MSw3ICs2MSw3IEBAIHZvaWQgV0tPcmlnaW5EYXRhTWFuYWdlclN0b3BPYnNlcnZpbmdD
aGFuZ2VzKFdLT3JpZ2luRGF0YU1hbmFnZXJSZWYgb3JpZ2luRGF0YU1hCiAgICAgdG9JbXBsKG9y
aWdpbkRhdGFNYW5hZ2VyUmVmKS0+c3RvcE9ic2VydmluZ0NoYW5nZXModHlwZXMpOwogfQogCi12
b2lkIFdLT3JpZ2luRGF0YU1hbmFnZXJTZXRDaGFuZ2VDbGllbnQoV0tPcmlnaW5EYXRhTWFuYWdl
clJlZiBvcmlnaW5EYXRhTWFuYWdlclJlZiwgY29uc3QgV0tPcmlnaW5EYXRhTWFuYWdlckNoYW5n
ZUNsaWVudCAqY2xpZW50KQordm9pZCBXS09yaWdpbkRhdGFNYW5hZ2VyU2V0Q2hhbmdlQ2xpZW50
KFdLT3JpZ2luRGF0YU1hbmFnZXJSZWYgb3JpZ2luRGF0YU1hbmFnZXJSZWYsIGNvbnN0IFdLT3Jp
Z2luRGF0YU1hbmFnZXJDaGFuZ2VDbGllbnRCYXNlICpjbGllbnQpCiB7Ci0gICAgdG9JbXBsKG9y
aWdpbkRhdGFNYW5hZ2VyUmVmKS0+c2V0Q2hhbmdlQ2xpZW50KHJlaW50ZXJwcmV0X2Nhc3Q8Y29u
c3QgV0tPcmlnaW5EYXRhTWFuYWdlckNoYW5nZUNsaWVudEJhc2UqPihjbGllbnQpKTsKKyAgICB0
b0ltcGwob3JpZ2luRGF0YU1hbmFnZXJSZWYpLT5zZXRDaGFuZ2VDbGllbnQoY2xpZW50KTsKIH0K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS09yaWdpbkRhdGFN
YW5hZ2VyLmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tPcmlnaW5EYXRhTWFu
YWdlci5oCmluZGV4IDQ4ZjMwMmEzZmVmYjQzYzViY2U3YzM2YWRjNDlmMjAxNmE5MTljNWMuLmY2
MzAwNTkzYjlmMWMzMDk0OTI1Nzk5NWUyM2U5OTBkZTU5NzIwMjcgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS09yaWdpbkRhdGFNYW5hZ2VyLmgKKysrIGIvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLT3JpZ2luRGF0YU1hbmFnZXIuaApAQCAtNjgs
NyArNjgsNiBAQCB0eXBlZGVmIHN0cnVjdCBXS09yaWdpbkRhdGFNYW5hZ2VyQ2hhbmdlQ2xpZW50
VjAgewogICAgIFdLT3JpZ2luRGF0YU1hbmFnZXJDaGFuZ2VDYWxsYmFjayAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgZGlkQ2hhbmdlOwogfSBXS09yaWdpbkRhdGFNYW5hZ2VyQ2hh
bmdlQ2xpZW50VjA7CiAKLS8vIEZJWE1FOiBEZXByZWNhdGUuCiBlbnVtIHsga1dLT3JpZ2luRGF0
YU1hbmFnZXJDaGFuZ2VDbGllbnRWZXJzaW9uID0gMCB9OwogdHlwZWRlZiBzdHJ1Y3QgV0tPcmln
aW5EYXRhTWFuYWdlckNoYW5nZUNsaWVudCB7CiAgICAgaW50ICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2ZXJzaW9uOwpAQCAt
NzYsMTEgKzc1LDExIEBAIHR5cGVkZWYgc3RydWN0IFdLT3JpZ2luRGF0YU1hbmFnZXJDaGFuZ2VD
bGllbnQgewogCiAgICAgLy8gVmVyc2lvbiAwLgogICAgIFdLT3JpZ2luRGF0YU1hbmFnZXJDaGFu
Z2VDYWxsYmFjayAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlkQ2hhbmdlOwot
fSBXS09yaWdpbkRhdGFNYW5hZ2VyQ2hhbmdlQ2xpZW50OworfSBXS09yaWdpbkRhdGFNYW5hZ2Vy
Q2hhbmdlQ2xpZW50IFdLX0RFUFJFQ0FURUQoIlVzZSBhbiBleHBsaWNpdCB2ZXJzaW9uZWQgc3Ry
dWN0IGluc3RlYWQiKTsKIAogV0tfRVhQT1JUIHZvaWQgV0tPcmlnaW5EYXRhTWFuYWdlclN0YXJ0
T2JzZXJ2aW5nQ2hhbmdlcyhXS09yaWdpbkRhdGFNYW5hZ2VyUmVmIG9yaWdpbkRhdGFNYW5hZ2Vy
LCBXS09yaWdpbkRhdGFUeXBlcyB0eXBlcyk7CiBXS19FWFBPUlQgdm9pZCBXS09yaWdpbkRhdGFN
YW5hZ2VyU3RvcE9ic2VydmluZ0NoYW5nZXMoV0tPcmlnaW5EYXRhTWFuYWdlclJlZiBvcmlnaW5E
YXRhTWFuYWdlciwgV0tPcmlnaW5EYXRhVHlwZXMgdHlwZXMpOwotV0tfRVhQT1JUIHZvaWQgV0tP
cmlnaW5EYXRhTWFuYWdlclNldENoYW5nZUNsaWVudChXS09yaWdpbkRhdGFNYW5hZ2VyUmVmIG9y
aWdpbkRhdGFNYW5nZXIsIGNvbnN0IFdLT3JpZ2luRGF0YU1hbmFnZXJDaGFuZ2VDbGllbnQqIGNs
aWVudCk7CitXS19FWFBPUlQgdm9pZCBXS09yaWdpbkRhdGFNYW5hZ2VyU2V0Q2hhbmdlQ2xpZW50
KFdLT3JpZ2luRGF0YU1hbmFnZXJSZWYgb3JpZ2luRGF0YU1hbmdlciwgY29uc3QgV0tPcmlnaW5E
YXRhTWFuYWdlckNoYW5nZUNsaWVudEJhc2UqIGNsaWVudCk7CiAjaWZkZWYgX19jcGx1c3BsdXMK
IH0KICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dL
UGFnZS5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tQYWdlLmNwcAppbmRl
eCA4OTJlYWQ2NTBhZWUwODdkMDA5NWM2NTg2OGM1NGUyNDU4YjE0Y2NhLi43YTQwMGUxOTI4Yjk5
MzE0ZWJjYmFkMzBiZGEyZjQxY2Q4MGEyOTczIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvQVBJL0MvV0tQYWdlLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
QVBJL0MvV0tQYWdlLmNwcApAQCAtNjI5LDQxICs2MjksNDEgQEAgdm9pZCBXS1BhZ2VDb3VudFN0
cmluZ01hdGNoZXMoV0tQYWdlUmVmIHBhZ2VSZWYsIFdLU3RyaW5nUmVmIHN0cmluZywgV0tGaW5k
T3B0aW8KICAgICB0b0ltcGwocGFnZVJlZiktPmNvdW50U3RyaW5nTWF0Y2hlcyh0b0ltcGwoc3Ry
aW5nKS0+c3RyaW5nKCksIHRvRmluZE9wdGlvbnMob3B0aW9ucyksIG1heE1hdGNoQ291bnQpOwog
fQogCi12b2lkIFdLUGFnZVNldFBhZ2VDb250ZXh0TWVudUNsaWVudChXS1BhZ2VSZWYgcGFnZVJl
ZiwgY29uc3QgV0tQYWdlQ29udGV4dE1lbnVDbGllbnQqIHdrQ2xpZW50KQordm9pZCBXS1BhZ2VT
ZXRQYWdlQ29udGV4dE1lbnVDbGllbnQoV0tQYWdlUmVmIHBhZ2VSZWYsIGNvbnN0IFdLUGFnZUNv
bnRleHRNZW51Q2xpZW50QmFzZSogd2tDbGllbnQpCiB7CiAjaWYgRU5BQkxFKENPTlRFWFRfTUVO
VVMpCi0gICAgdG9JbXBsKHBhZ2VSZWYpLT5pbml0aWFsaXplQ29udGV4dE1lbnVDbGllbnQocmVp
bnRlcnByZXRfY2FzdDxjb25zdCBXS1BhZ2VDb250ZXh0TWVudUNsaWVudEJhc2UqPih3a0NsaWVu
dCkpOworICAgIHRvSW1wbChwYWdlUmVmKS0+aW5pdGlhbGl6ZUNvbnRleHRNZW51Q2xpZW50KHdr
Q2xpZW50KTsKICNlbmRpZgogfQogCi12b2lkIFdLUGFnZVNldFBhZ2VGaW5kQ2xpZW50KFdLUGFn
ZVJlZiBwYWdlUmVmLCBjb25zdCBXS1BhZ2VGaW5kQ2xpZW50KiB3a0NsaWVudCkKK3ZvaWQgV0tQ
YWdlU2V0UGFnZUZpbmRDbGllbnQoV0tQYWdlUmVmIHBhZ2VSZWYsIGNvbnN0IFdLUGFnZUZpbmRD
bGllbnRCYXNlKiB3a0NsaWVudCkKIHsKLSAgICB0b0ltcGwocGFnZVJlZiktPmluaXRpYWxpemVG
aW5kQ2xpZW50KHJlaW50ZXJwcmV0X2Nhc3Q8Y29uc3QgV0tQYWdlRmluZENsaWVudEJhc2UqPih3
a0NsaWVudCkpOworICAgIHRvSW1wbChwYWdlUmVmKS0+aW5pdGlhbGl6ZUZpbmRDbGllbnQod2tD
bGllbnQpOwogfQogCi12b2lkIFdLUGFnZVNldFBhZ2VGaW5kTWF0Y2hlc0NsaWVudChXS1BhZ2VS
ZWYgcGFnZVJlZiwgY29uc3QgV0tQYWdlRmluZE1hdGNoZXNDbGllbnQqIHdrQ2xpZW50KQordm9p
ZCBXS1BhZ2VTZXRQYWdlRmluZE1hdGNoZXNDbGllbnQoV0tQYWdlUmVmIHBhZ2VSZWYsIGNvbnN0
IFdLUGFnZUZpbmRNYXRjaGVzQ2xpZW50QmFzZSogd2tDbGllbnQpCiB7Ci0gICAgdG9JbXBsKHBh
Z2VSZWYpLT5pbml0aWFsaXplRmluZE1hdGNoZXNDbGllbnQocmVpbnRlcnByZXRfY2FzdDxjb25z
dCBXS1BhZ2VGaW5kTWF0Y2hlc0NsaWVudEJhc2UqPih3a0NsaWVudCkpOworICAgIHRvSW1wbChw
YWdlUmVmKS0+aW5pdGlhbGl6ZUZpbmRNYXRjaGVzQ2xpZW50KHdrQ2xpZW50KTsKIH0KIAotdm9p
ZCBXS1BhZ2VTZXRQYWdlRm9ybUNsaWVudChXS1BhZ2VSZWYgcGFnZVJlZiwgY29uc3QgV0tQYWdl
Rm9ybUNsaWVudCogd2tDbGllbnQpCit2b2lkIFdLUGFnZVNldFBhZ2VGb3JtQ2xpZW50KFdLUGFn
ZVJlZiBwYWdlUmVmLCBjb25zdCBXS1BhZ2VGb3JtQ2xpZW50QmFzZSogd2tDbGllbnQpCiB7Ci0g
ICAgdG9JbXBsKHBhZ2VSZWYpLT5pbml0aWFsaXplRm9ybUNsaWVudChyZWludGVycHJldF9jYXN0
PGNvbnN0IFdLUGFnZUZvcm1DbGllbnRCYXNlKj4od2tDbGllbnQpKTsKKyAgICB0b0ltcGwocGFn
ZVJlZiktPmluaXRpYWxpemVGb3JtQ2xpZW50KHdrQ2xpZW50KTsKIH0KIAotdm9pZCBXS1BhZ2VT
ZXRQYWdlTG9hZGVyQ2xpZW50KFdLUGFnZVJlZiBwYWdlUmVmLCBjb25zdCBXS1BhZ2VMb2FkZXJD
bGllbnQqIHdrQ2xpZW50KQordm9pZCBXS1BhZ2VTZXRQYWdlTG9hZGVyQ2xpZW50KFdLUGFnZVJl
ZiBwYWdlUmVmLCBjb25zdCBXS1BhZ2VMb2FkZXJDbGllbnRCYXNlKiB3a0NsaWVudCkKIHsKLSAg
ICB0b0ltcGwocGFnZVJlZiktPmluaXRpYWxpemVMb2FkZXJDbGllbnQocmVpbnRlcnByZXRfY2Fz
dDxjb25zdCBXS1BhZ2VMb2FkZXJDbGllbnRCYXNlKj4od2tDbGllbnQpKTsKKyAgICB0b0ltcGwo
cGFnZVJlZiktPmluaXRpYWxpemVMb2FkZXJDbGllbnQod2tDbGllbnQpOwogfQogCi12b2lkIFdL
UGFnZVNldFBhZ2VQb2xpY3lDbGllbnQoV0tQYWdlUmVmIHBhZ2VSZWYsIGNvbnN0IFdLUGFnZVBv
bGljeUNsaWVudCogd2tDbGllbnQpCit2b2lkIFdLUGFnZVNldFBhZ2VQb2xpY3lDbGllbnQoV0tQ
YWdlUmVmIHBhZ2VSZWYsIGNvbnN0IFdLUGFnZVBvbGljeUNsaWVudEJhc2UqIHdrQ2xpZW50KQog
ewotICAgIHRvSW1wbChwYWdlUmVmKS0+aW5pdGlhbGl6ZVBvbGljeUNsaWVudChyZWludGVycHJl
dF9jYXN0PGNvbnN0IFdLUGFnZVBvbGljeUNsaWVudEJhc2UqPih3a0NsaWVudCkpOworICAgIHRv
SW1wbChwYWdlUmVmKS0+aW5pdGlhbGl6ZVBvbGljeUNsaWVudCh3a0NsaWVudCk7CiB9CiAKLXZv
aWQgV0tQYWdlU2V0UGFnZVVJQ2xpZW50KFdLUGFnZVJlZiBwYWdlUmVmLCBjb25zdCBXS1BhZ2VV
SUNsaWVudCogd2tDbGllbnQpCit2b2lkIFdLUGFnZVNldFBhZ2VVSUNsaWVudChXS1BhZ2VSZWYg
cGFnZVJlZiwgY29uc3QgV0tQYWdlVUlDbGllbnRCYXNlKiB3a0NsaWVudCkKIHsKLSAgICB0b0lt
cGwocGFnZVJlZiktPmluaXRpYWxpemVVSUNsaWVudChyZWludGVycHJldF9jYXN0PGNvbnN0IFdL
UGFnZVVJQ2xpZW50QmFzZSo+KHdrQ2xpZW50KSk7CisgICAgdG9JbXBsKHBhZ2VSZWYpLT5pbml0
aWFsaXplVUlDbGllbnQod2tDbGllbnQpOwogfQogCiB2b2lkIFdLUGFnZVJ1bkphdmFTY3JpcHRJ
bk1haW5GcmFtZShXS1BhZ2VSZWYgcGFnZVJlZiwgV0tTdHJpbmdSZWYgc2NyaXB0UmVmLCB2b2lk
KiBjb250ZXh0LCBXS1BhZ2VSdW5KYXZhU2NyaXB0RnVuY3Rpb24gY2FsbGJhY2spCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tQYWdlLmggYi9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tQYWdlLmgKaW5kZXggMzQ2ZGQyMzRjYjQ4NDdmNWUzOWNi
M2UwOTEzNzJmMjQzNDk0OGYzOC4uNDlhYTM3ZmQzOGRmZDgxYzY1OGYyZDE1MDM5OGMxZTNkOTA0
MDI5MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLUGFnZS5o
CisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS1BhZ2UuaApAQCAtMTkwLDEz
ICsxOTAsMTMgQEAgV0tfRVhQT1JUIHZvaWQgV0tQYWdlRmluZFN0cmluZ01hdGNoZXMoV0tQYWdl
UmVmIHBhZ2UsIFdLU3RyaW5nUmVmIHN0cmluZywgV0tGaW4KIFdLX0VYUE9SVCB2b2lkIFdLUGFn
ZUdldEltYWdlRm9yRmluZE1hdGNoKFdLUGFnZVJlZiBwYWdlLCBpbnQzMl90IG1hdGNoSW5kZXgp
OwogV0tfRVhQT1JUIHZvaWQgV0tQYWdlU2VsZWN0RmluZE1hdGNoKFdLUGFnZVJlZiBwYWdlLCBp
bnQzMl90IG1hdGNoSW5kZXgpOwogCi1XS19FWFBPUlQgdm9pZCBXS1BhZ2VTZXRQYWdlQ29udGV4
dE1lbnVDbGllbnQoV0tQYWdlUmVmIHBhZ2UsIGNvbnN0IFdLUGFnZUNvbnRleHRNZW51Q2xpZW50
KiBjbGllbnQpOwotV0tfRVhQT1JUIHZvaWQgV0tQYWdlU2V0UGFnZUZpbmRDbGllbnQoV0tQYWdl
UmVmIHBhZ2UsIGNvbnN0IFdLUGFnZUZpbmRDbGllbnQqIGNsaWVudCk7Ci1XS19FWFBPUlQgdm9p
ZCBXS1BhZ2VTZXRQYWdlRmluZE1hdGNoZXNDbGllbnQoV0tQYWdlUmVmIHBhZ2UsIGNvbnN0IFdL
UGFnZUZpbmRNYXRjaGVzQ2xpZW50KiBjbGllbnQpOwotV0tfRVhQT1JUIHZvaWQgV0tQYWdlU2V0
UGFnZUZvcm1DbGllbnQoV0tQYWdlUmVmIHBhZ2UsIGNvbnN0IFdLUGFnZUZvcm1DbGllbnQqIGNs
aWVudCk7Ci1XS19FWFBPUlQgdm9pZCBXS1BhZ2VTZXRQYWdlTG9hZGVyQ2xpZW50KFdLUGFnZVJl
ZiBwYWdlLCBjb25zdCBXS1BhZ2VMb2FkZXJDbGllbnQqIGNsaWVudCk7Ci1XS19FWFBPUlQgdm9p
ZCBXS1BhZ2VTZXRQYWdlUG9saWN5Q2xpZW50KFdLUGFnZVJlZiBwYWdlLCBjb25zdCBXS1BhZ2VQ
b2xpY3lDbGllbnQqIGNsaWVudCk7Ci1XS19FWFBPUlQgdm9pZCBXS1BhZ2VTZXRQYWdlVUlDbGll
bnQoV0tQYWdlUmVmIHBhZ2UsIGNvbnN0IFdLUGFnZVVJQ2xpZW50KiBjbGllbnQpOworV0tfRVhQ
T1JUIHZvaWQgV0tQYWdlU2V0UGFnZUNvbnRleHRNZW51Q2xpZW50KFdLUGFnZVJlZiBwYWdlLCBj
b25zdCBXS1BhZ2VDb250ZXh0TWVudUNsaWVudEJhc2UqIGNsaWVudCk7CitXS19FWFBPUlQgdm9p
ZCBXS1BhZ2VTZXRQYWdlRmluZENsaWVudChXS1BhZ2VSZWYgcGFnZSwgY29uc3QgV0tQYWdlRmlu
ZENsaWVudEJhc2UqIGNsaWVudCk7CitXS19FWFBPUlQgdm9pZCBXS1BhZ2VTZXRQYWdlRmluZE1h
dGNoZXNDbGllbnQoV0tQYWdlUmVmIHBhZ2UsIGNvbnN0IFdLUGFnZUZpbmRNYXRjaGVzQ2xpZW50
QmFzZSogY2xpZW50KTsKK1dLX0VYUE9SVCB2b2lkIFdLUGFnZVNldFBhZ2VGb3JtQ2xpZW50KFdL
UGFnZVJlZiBwYWdlLCBjb25zdCBXS1BhZ2VGb3JtQ2xpZW50QmFzZSogY2xpZW50KTsKK1dLX0VY
UE9SVCB2b2lkIFdLUGFnZVNldFBhZ2VMb2FkZXJDbGllbnQoV0tQYWdlUmVmIHBhZ2UsIGNvbnN0
IFdLUGFnZUxvYWRlckNsaWVudEJhc2UqIGNsaWVudCk7CitXS19FWFBPUlQgdm9pZCBXS1BhZ2VT
ZXRQYWdlUG9saWN5Q2xpZW50KFdLUGFnZVJlZiBwYWdlLCBjb25zdCBXS1BhZ2VQb2xpY3lDbGll
bnRCYXNlKiBjbGllbnQpOworV0tfRVhQT1JUIHZvaWQgV0tQYWdlU2V0UGFnZVVJQ2xpZW50KFdL
UGFnZVJlZiBwYWdlLCBjb25zdCBXS1BhZ2VVSUNsaWVudEJhc2UqIGNsaWVudCk7CiAKIHR5cGVk
ZWYgdm9pZCAoKldLUGFnZVJ1bkphdmFTY3JpcHRGdW5jdGlvbikoV0tTZXJpYWxpemVkU2NyaXB0
VmFsdWVSZWYsIFdLRXJyb3JSZWYsIHZvaWQqKTsKIFdLX0VYUE9SVCB2b2lkIFdLUGFnZVJ1bkph
dmFTY3JpcHRJbk1haW5GcmFtZShXS1BhZ2VSZWYgcGFnZSwgV0tTdHJpbmdSZWYgc2NyaXB0LCB2
b2lkKiBjb250ZXh0LCBXS1BhZ2VSdW5KYXZhU2NyaXB0RnVuY3Rpb24gZnVuY3Rpb24pOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLUGFnZUNvbnRleHRNZW51
Q2xpZW50LmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tQYWdlQ29udGV4dE1l
bnVDbGllbnQuaAppbmRleCAzYWYwOTBjOTMxNjYxYWQwOTJlNjIyNDQzMDUwYmQ2OTRhOWNkMGU2
Li5lODkyYzNkNTkxNGE0ZGU3NDMxN2VmMjdhYTc1MGM4NjJhMDZkNGQ2IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tQYWdlQ29udGV4dE1lbnVDbGllbnQuaAor
KysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tQYWdlQ29udGV4dE1lbnVDbGll
bnQuaApAQCAtOTgsOCArOTgsNyBAQCB0eXBlZGVmIHN0cnVjdCBXS1BhZ2VDb250ZXh0TWVudUNs
aWVudFYzIHsKICAgICBXS1BhZ2VIaWRlQ29udGV4dE1lbnVDYWxsYmFjayAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhpZGVDb250ZXh0TWVudTsKIH0gV0tQ
YWdlQ29udGV4dE1lbnVDbGllbnRWMzsKIAotLy8gRklYTUU6IERlcHJlY2F0ZS4KLWVudW0geyBr
V0tQYWdlQ29udGV4dE1lbnVDbGllbnRDdXJyZW50VmVyc2lvbiA9IDMgfTsKK2VudW0geyBrV0tQ
YWdlQ29udGV4dE1lbnVDbGllbnRDdXJyZW50VmVyc2lvbiBXS19FTlVNX0RFUFJFQ0FURUQoIlVz
ZSBhbiBleHBsaWNpdCB2ZXJzaW9uIG51bWJlciBpbnN0ZWFkIikgPSAzIH07CiB0eXBlZGVmIHN0
cnVjdCBXS1BhZ2VDb250ZXh0TWVudUNsaWVudCB7CiAgICAgaW50ICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2
ZXJzaW9uOwogICAgIGNvbnN0IHZvaWQgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xpZW50SW5mbzsKQEAgLTExNyw3ICsx
MTYsNyBAQCB0eXBlZGVmIHN0cnVjdCBXS1BhZ2VDb250ZXh0TWVudUNsaWVudCB7CiAgICAgLy8g
VmVyc2lvbiAzLgogICAgIFdLUGFnZVNob3dDb250ZXh0TWVudUNhbGxiYWNrICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2hvd0NvbnRleHRNZW51OwogICAg
IFdLUGFnZUhpZGVDb250ZXh0TWVudUNhbGxiYWNrICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgaGlkZUNvbnRleHRNZW51OwotfSBXS1BhZ2VDb250ZXh0TWVu
dUNsaWVudDsKK30gV0tQYWdlQ29udGV4dE1lbnVDbGllbnQgV0tfREVQUkVDQVRFRCgiVXNlIGFu
IGV4cGxpY2l0IHZlcnNpb25lZCBzdHJ1Y3QgaW5zdGVhZCIpOwogCiAjaWZkZWYgX19jcGx1c3Bs
dXMKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS1BhZ2VG
aW5kQ2xpZW50LmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tQYWdlRmluZENs
aWVudC5oCmluZGV4IDg5OWNkNDAwY2I3MzI0ZDUzYjgzNWQwODU3NTc5NGYwMDNmMWQ2MDcuLjRk
NjdkNjlkYjdjMGI2MDZjY2JiNTA1NGEzZjc4YzZmZDYwYmEyMTcgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS1BhZ2VGaW5kQ2xpZW50LmgKKysrIGIvU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLUGFnZUZpbmRDbGllbnQuaApAQCAtNTAsOCArNTAs
NyBAQCB0eXBlZGVmIHN0cnVjdCBXS1BhZ2VGaW5kQ2xpZW50VjAgewogICAgIFdLUGFnZURpZENv
dW50U3RyaW5nTWF0Y2hlc0NhbGxiYWNrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ZGlkQ291bnRTdHJpbmdNYXRjaGVzOwogfSBXS1BhZ2VGaW5kQ2xpZW50VjA7CiAKLS8vIEZJWE1F
OiBEZXByZWNhdGUuCi1lbnVtIHsga1dLUGFnZUZpbmRDbGllbnRDdXJyZW50VmVyc2lvbiA9IDAg
fTsKK2VudW0geyBrV0tQYWdlRmluZENsaWVudEN1cnJlbnRWZXJzaW9uIFdLX0VOVU1fREVQUkVD
QVRFRCgiVXNlIGFuIGV4cGxpY2l0IHZlcnNpb24gbnVtYmVyIGluc3RlYWQiKSA9IDAgfTsKIHR5
cGVkZWYgc3RydWN0IFdLUGFnZUZpbmRDbGllbnQgewogICAgIGludCAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmVyc2lvbjsK
ICAgICBjb25zdCB2b2lkICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGNsaWVudEluZm87CkBAIC02MCw3ICs1OSw3IEBAIHR5cGVkZWYgc3Ry
dWN0IFdLUGFnZUZpbmRDbGllbnQgewogICAgIFdLUGFnZURpZEZpbmRTdHJpbmdDYWxsYmFjayAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlkRmluZFN0cmluZzsKICAg
ICBXS1BhZ2VEaWRGYWlsVG9GaW5kU3RyaW5nQ2FsbGJhY2sgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGRpZEZhaWxUb0ZpbmRTdHJpbmc7CiAgICAgV0tQYWdlRGlkQ291bnRTdHJp
bmdNYXRjaGVzQ2FsbGJhY2sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaWRDb3Vu
dFN0cmluZ01hdGNoZXM7Ci19IFdLUGFnZUZpbmRDbGllbnQ7Cit9IFdLUGFnZUZpbmRDbGllbnQg
V0tfREVQUkVDQVRFRCgiVXNlIGFuIGV4cGxpY2l0IHZlcnNpb25lZCBzdHJ1Y3QgaW5zdGVhZCIp
OwogCiAjaWZkZWYgX19jcGx1c3BsdXMKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9BUEkvQy9XS1BhZ2VGaW5kTWF0Y2hlc0NsaWVudC5oIGIvU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL0FQSS9DL1dLUGFnZUZpbmRNYXRjaGVzQ2xpZW50LmgKaW5kZXggZTBjN2UzM2U2
M2ZiMTJhOTkwMWY5Y2YzZDZmNTk3MGZhMGJkZjQ1Zi4uMTU3MDFhYWM2ZjE4ZWQ0MzdmOGI3ZmZl
OGMxZTMxZDNlYjEzMjQyZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQ
SS9DL1dLUGFnZUZpbmRNYXRjaGVzQ2xpZW50LmgKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL0FQSS9DL1dLUGFnZUZpbmRNYXRjaGVzQ2xpZW50LmgKQEAgLTUzLDE0ICs1MywxMyBAQCB0
eXBlZGVmIHN0cnVjdCBXS1BhZ2VGaW5kTWF0Y2hlc0NsaWVudFYwIHsKICAgICBXS1BhZ2VEaWRH
ZXRJbWFnZUZvck1hdGNoUmVzdWx0Q2FsbGJhY2sgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGRpZEdldEltYWdlRm9yTWF0Y2hSZXN1bHQ7CiB9IFdLUGFnZUZpbmRNYXRjaGVzQ2xpZW50VjA7
CiAKLS8vIEZJWE1FOiBEZXByZWNhdGUuCi1lbnVtIHsga1dLUGFnZUZpbmRNYXRjaGVzQ2xpZW50
Q3VycmVudFZlcnNpb24gPSAwIH07CitlbnVtIHsga1dLUGFnZUZpbmRNYXRjaGVzQ2xpZW50Q3Vy
cmVudFZlcnNpb24gV0tfRU5VTV9ERVBSRUNBVEVEKCJVc2UgYW4gZXhwbGljaXQgdmVyc2lvbiBu
dW1iZXIgaW5zdGVhZCIpID0gMCB9OwogdHlwZWRlZiBzdHJ1Y3QgV0tQYWdlRmluZE1hdGNoZXND
bGllbnQgewogICAgIGludCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgdmVyc2lvbjsKICAgICBjb25zdCB2b2lkICogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsaWVudElu
Zm87CiAgICAgV0tQYWdlRGlkRmluZFN0cmluZ01hdGNoZXNDYWxsYmFjayAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBkaWRGaW5kU3RyaW5nTWF0Y2hlczsKICAgICBXS1BhZ2VEaWRH
ZXRJbWFnZUZvck1hdGNoUmVzdWx0Q2FsbGJhY2sgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGRpZEdldEltYWdlRm9yTWF0Y2hSZXN1bHQ7Ci19IFdLUGFnZUZpbmRNYXRjaGVzQ2xpZW50Owor
fSBXS1BhZ2VGaW5kTWF0Y2hlc0NsaWVudCBXS19ERVBSRUNBVEVEKCJVc2UgYW4gZXhwbGljaXQg
dmVyc2lvbmVkIHN0cnVjdCBpbnN0ZWFkIik7CiAKICNpZmRlZiBfX2NwbHVzcGx1cwogfQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLUGFnZUZvcm1DbGllbnQu
aCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS1BhZ2VGb3JtQ2xpZW50LmgKaW5k
ZXggNzk3ZDk0MDFlMjk4ZWJiYWQ4ZTY5NjZkZGQyZGQ1MWI3N2FmZTI2YS4uOThiMmM2YWJlYTQ2
NGQ4Y2QyNzZlNWJlMzBhOTVhNjZmOTMxOTg2YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL0FQSS9DL1dLUGFnZUZvcm1DbGllbnQuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvQVBJL0MvV0tQYWdlRm9ybUNsaWVudC5oCkBAIC00NywxNSArNDcsMTQgQEAgdHlw
ZWRlZiBzdHJ1Y3QgV0tQYWdlRm9ybUNsaWVudFYwIHsKICAgICBXS1BhZ2VXaWxsU3VibWl0Rm9y
bUNhbGxiYWNrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpbGxTdWJt
aXRGb3JtOwogfSBXS1BhZ2VGb3JtQ2xpZW50VjA7CiAKLS8vIEZJWE1FOiBEZXByZWNhdGUuCi1l
bnVtIHsga1dLUGFnZUZvcm1DbGllbnRDdXJyZW50VmVyc2lvbiA9IDAgfTsKK2VudW0geyBrV0tQ
YWdlRm9ybUNsaWVudEN1cnJlbnRWZXJzaW9uIFdLX0VOVU1fREVQUkVDQVRFRCgiVXNlIGFuIGV4
cGxpY2l0IHZlcnNpb24gbnVtYmVyIGluc3RlYWQiKSA9IDAgfTsKIHR5cGVkZWYgc3RydWN0IFdL
UGFnZUZvcm1DbGllbnQgewogICAgIGludCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmVyc2lvbjsKICAgICBjb25zdCB2b2lk
ICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGNsaWVudEluZm87CiAKICAgICAvLyBWZXJzaW9uIDAuCiAgICAgV0tQYWdlV2lsbFN1Ym1pdEZv
cm1DYWxsYmFjayAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWxsU3Vi
bWl0Rm9ybTsKLX0gV0tQYWdlRm9ybUNsaWVudDsKK30gV0tQYWdlRm9ybUNsaWVudCBXS19ERVBS
RUNBVEVEKCJVc2UgYW4gZXhwbGljaXQgdmVyc2lvbmVkIHN0cnVjdCBpbnN0ZWFkIik7CiAKICNp
ZmRlZiBfX2NwbHVzcGx1cwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L0FQSS9DL1dLUGFnZUxvYWRlckNsaWVudC5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQ
SS9DL1dLUGFnZUxvYWRlckNsaWVudC5oCmluZGV4IGEzMjBjMDNjMTdkNGYxNGU1YTM4MzQ3NmY0
Mzg0MmNmNDljZjBmMWQuLjE0N2IyMjU5MjUzMjM5ODE5MDQwYmRhYTU1MWExZGRmYTkzZjUzNDYg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS1BhZ2VMb2FkZXJD
bGllbnQuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tQYWdlTG9hZGVy
Q2xpZW50LmgKQEAgLTI2Nyw3ICsyNjcsNyBAQCB0eXBlZGVmIHN0cnVjdCBXS1BhZ2VMb2FkZXJD
bGllbnRWMyB7CiB9IFdLUGFnZUxvYWRlckNsaWVudFYzOwogCiAvLyBGSVhNRTogVGhlc2Ugc2hv
dWxkIGJlIGRlcHJlY2F0ZWQuCi1lbnVtIHsga1dLUGFnZUxvYWRlckNsaWVudEN1cnJlbnRWZXJz
aW9uID0gMyB9OworZW51bSB7IGtXS1BhZ2VMb2FkZXJDbGllbnRDdXJyZW50VmVyc2lvbiBXS19F
TlVNX0RFUFJFQ0FURUQoIlVzZSBhbiBleHBsaWNpdCB2ZXJzaW9uIG51bWJlciBpbnN0ZWFkIikg
PSAzIH07CiB0eXBlZGVmIHN0cnVjdCBXS1BhZ2VMb2FkZXJDbGllbnQgewogICAgIGludCAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgdmVyc2lvbjsKICAgICBjb25zdCB2b2lkICogICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsaWVudEluZm87CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tQYWdlUG9saWN5Q2xpZW50LmggYi9Tb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tQYWdlUG9saWN5Q2xpZW50LmgKaW5kZXggZjJmNGI3
NzU1OTNhMDFiMzcyYzdmOTM5OTU2ODUyOWFhNzExYTBhZC4uMTVmODM0ODM1YzZhZjQyYTczNGMz
ZmRjZjIzNTkzNjY5MDY3ZjY3ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L0FQSS9DL1dLUGFnZVBvbGljeUNsaWVudC5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9BUEkvQy9XS1BhZ2VQb2xpY3lDbGllbnQuaApAQCAtNzIsNyArNzIsNyBAQCB0eXBlZGVmIHN0
cnVjdCBXS1BhZ2VQb2xpY3lDbGllbnRWMSB7CiB9IFdLUGFnZVBvbGljeUNsaWVudFYxOwogCiAv
LyBGSVhNRTogVGhlc2Ugc2hvdWxkIGJlIGRlcHJlY2F0ZWQuCi1lbnVtIHsga1dLUGFnZVBvbGlj
eUNsaWVudEN1cnJlbnRWZXJzaW9uID0gMSB9OworZW51bSB7IGtXS1BhZ2VQb2xpY3lDbGllbnRD
dXJyZW50VmVyc2lvbiBXS19FTlVNX0RFUFJFQ0FURUQoIlVzZSBhbiBleHBsaWNpdCB2ZXJzaW9u
IG51bWJlciBpbnN0ZWFkIikgPSAxIH07CiB0eXBlZGVmIHN0cnVjdCBXS1BhZ2VQb2xpY3lDbGll
bnQgewogICAgIGludCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIHZlcnNpb247CiAgICAgY29uc3Qgdm9pZCAqICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xpZW50SW5m
bzsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS1BhZ2VVSUNs
aWVudC5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLUGFnZVVJQ2xpZW50LmgK
aW5kZXggODg2ZDRmZTQ0Mzc2ZDg0ZWMwNTgxMjg2YmI5NGM5MjAxYWJiZTFjYy4uMWQ4NDE3MDAw
ZDdhZjkxMzhlMTJjNGQyMDE3ZDcwNjQzYjg3ZDZiOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL0FQSS9DL1dLUGFnZVVJQ2xpZW50LmgKKysrIGIvU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL0FQSS9DL1dLUGFnZVVJQ2xpZW50LmgKQEAgLTI0OSw4ICsyNDksNyBAQCB0eXBl
ZGVmIHN0cnVjdCBXS1BhZ2VVSUNsaWVudFYyIHsKICAgICBXS1BhZ2VVbmF2YWlsYWJsZVBsdWdp
bkJ1dHRvbkNsaWNrZWRDYWxsYmFjayAgICAgICAgICAgICAgICAgICAgICAgIHVuYXZhaWxhYmxl
UGx1Z2luQnV0dG9uQ2xpY2tlZDsKIH0gV0tQYWdlVUlDbGllbnRWMjsKIAotLy8gRklYTUU6IERl
cHJlY2F0ZS4KLWVudW0geyBrV0tQYWdlVUlDbGllbnRDdXJyZW50VmVyc2lvbiA9IDIgfTsKK2Vu
dW0geyBrV0tQYWdlVUlDbGllbnRDdXJyZW50VmVyc2lvbiBXS19FTlVNX0RFUFJFQ0FURUQoIlVz
ZSBhbiBleHBsaWNpdCB2ZXJzaW9uIG51bWJlciBpbnN0ZWFkIikgPSAyIH07CiB0eXBlZGVmIHN0
cnVjdCBXS1BhZ2VVSUNsaWVudCB7CiAgICAgaW50ICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2ZXJzaW9uOwogICAgIGNvbnN0
IHZvaWQgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgY2xpZW50SW5mbzsKQEAgLTMwNiw3ICszMDUsNyBAQCB0eXBlZGVmIHN0cnVjdCBXS1Bh
Z2VVSUNsaWVudCB7CiAgICAgV0tQYWdlU2hvd0NvbG9yUGlja2VyQ2FsbGJhY2sgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaG93Q29sb3JQaWNrZXI7CiAgICAgV0tQYWdl
SGlkZUNvbG9yUGlja2VyQ2FsbGJhY2sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBoaWRlQ29sb3JQaWNrZXI7CiAgICAgV0tQYWdlVW5hdmFpbGFibGVQbHVnaW5CdXR0b25D
bGlja2VkQ2FsbGJhY2sgICAgICAgICAgICAgICAgICAgICAgICB1bmF2YWlsYWJsZVBsdWdpbkJ1
dHRvbkNsaWNrZWQ7Ci19IFdLUGFnZVVJQ2xpZW50OworfSBXS1BhZ2VVSUNsaWVudCBXS19ERVBS
RUNBVEVEKCJVc2UgYW4gZXhwbGljaXQgdmVyc2lvbmVkIHN0cnVjdCBpbnN0ZWFkIik7CiAKICNp
ZmRlZiBfX2NwbHVzcGx1cwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L0FQSS9Db2NvYS9XS0Jyb3dzaW5nQ29udGV4dENvbnRyb2xsZXIubW0gYi9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvQVBJL0NvY29hL1dLQnJvd3NpbmdDb250ZXh0Q29udHJvbGxlci5tbQppbmRl
eCAzOWUwZWY1ODllZTU1NGM4Mjg3MWFhMGJlNDkwMTdiMmVhNjI2MjA3Li5hMzU0M2Q5YzMzNzcy
YWMwNGQzYTI2ZmM2MTQwYTIxYzBlYmU0MzNkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvQVBJL0NvY29hL1dLQnJvd3NpbmdDb250ZXh0Q29udHJvbGxlci5tbQorKysgYi9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0NvY29hL1dLQnJvd3NpbmdDb250ZXh0Q29udHJv
bGxlci5tbQpAQCAtNDgwLDExICs0ODAsMTEgQEAgc3RhdGljIFdLUG9saWN5RGVjaXNpb25IYW5k
bGVyIG1ha2VQb2xpY3lEZWNpc2lvbkJsb2NrKFdLRnJhbWVQb2xpY3lMaXN0ZW5lclJlZgogCiBz
dGF0aWMgdm9pZCBzZXRVcFBhZ2VQb2xpY3lDbGllbnQoV0tCcm93c2luZ0NvbnRleHRDb250cm9s
bGVyICpicm93c2luZ0NvbnRleHQsIFdlYlBhZ2VQcm94eSYgcGFnZSkKIHsKLSAgICBXS1BhZ2VQ
b2xpY3lDbGllbnQgcG9saWN5Q2xpZW50OworICAgIFdLUGFnZVBvbGljeUNsaWVudFYxIHBvbGlj
eUNsaWVudDsKICAgICBtZW1zZXQoJnBvbGljeUNsaWVudCwgMCwgc2l6ZW9mKHBvbGljeUNsaWVu
dCkpOwogCi0gICAgcG9saWN5Q2xpZW50LnZlcnNpb24gPSBrV0tQYWdlUG9saWN5Q2xpZW50Q3Vy
cmVudFZlcnNpb247Ci0gICAgcG9saWN5Q2xpZW50LmNsaWVudEluZm8gPSBicm93c2luZ0NvbnRl
eHQ7CisgICAgcG9saWN5Q2xpZW50LmJhc2UudmVyc2lvbiA9IDE7CisgICAgcG9saWN5Q2xpZW50
LmJhc2UuY2xpZW50SW5mbyA9IGJyb3dzaW5nQ29udGV4dDsKIAogICAgIHBvbGljeUNsaWVudC5k
ZWNpZGVQb2xpY3lGb3JOYXZpZ2F0aW9uQWN0aW9uID0gW10oV0tQYWdlUmVmIHBhZ2UsIFdLRnJh
bWVSZWYgZnJhbWUsIFdLRnJhbWVOYXZpZ2F0aW9uVHlwZSBuYXZpZ2F0aW9uVHlwZSwgV0tFdmVu
dE1vZGlmaWVycyBtb2RpZmllcnMsIFdLRXZlbnRNb3VzZUJ1dHRvbiBtb3VzZUJ1dHRvbiwgV0tG
cmFtZVJlZiBvcmlnaW5hdGluZ0ZyYW1lLCBXS1VSTFJlcXVlc3RSZWYgcmVxdWVzdCwgV0tGcmFt
ZVBvbGljeUxpc3RlbmVyUmVmIGxpc3RlbmVyLCBXS1R5cGVSZWYgdXNlckRhdGEsIGNvbnN0IHZv
aWQqIGNsaWVudEluZm8pCiAgICAgewpAQCAtNTQyLDcgKzU0Miw3IEBAIHN0YXRpYyB2b2lkIHNl
dFVwUGFnZVBvbGljeUNsaWVudChXS0Jyb3dzaW5nQ29udGV4dENvbnRyb2xsZXIgKmJyb3dzaW5n
Q29udGV4dCwKICAgICAgICAgICAgIFdLRnJhbWVQb2xpY3lMaXN0ZW5lclVzZShsaXN0ZW5lcik7
CiAgICAgfTsKIAotICAgIHBhZ2UuaW5pdGlhbGl6ZVBvbGljeUNsaWVudChyZWludGVycHJldF9j
YXN0PGNvbnN0IFdLUGFnZVBvbGljeUNsaWVudEJhc2UqPigmcG9saWN5Q2xpZW50KSk7CisgICAg
cGFnZS5pbml0aWFsaXplUG9saWN5Q2xpZW50KCZwb2xpY3lDbGllbnQuYmFzZSk7CiB9CiAKIC0g
KGlkIDxXS0Jyb3dzaW5nQ29udGV4dExvYWREZWxlZ2F0ZT4pbG9hZERlbGVnYXRlCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0NvY29hL1dLQ29ubmVjdGlvbi5tbSBi
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tDb25uZWN0aW9uLm1tCmluZGV4
IGNjODE2YWI1NWUzM2ZiZmJlMjBiNGE4OGM4NzczMDcxZWIwMjFjZmEuLjU3NjQ1MTliM2NkZmEz
ZWFjMGQwOTgyNzAyOGQwZDdjZDFjMWZiNGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9BUEkvQ29jb2EvV0tDb25uZWN0aW9uLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9BUEkvQ29jb2EvV0tDb25uZWN0aW9uLm1tCkBAIC05MywxNSArOTMsMTUgQEAgc3Rh
dGljIHZvaWQgZGlkQ2xvc2UoV0tDb25uZWN0aW9uUmVmLCBjb25zdCB2b2lkKiBjbGllbnRJbmZv
KQogCiBzdGF0aWMgdm9pZCBzZXRVcENsaWVudChXS0Nvbm5lY3Rpb24gKmNvbm5lY3Rpb24sIFdL
Q29ubmVjdGlvblJlZiBjb25uZWN0aW9uUmVmKQogewotICAgIFdLQ29ubmVjdGlvbkNsaWVudCBj
bGllbnQ7CisgICAgV0tDb25uZWN0aW9uQ2xpZW50VjAgY2xpZW50OwogICAgIG1lbXNldCgmY2xp
ZW50LCAwLCBzaXplb2YoY2xpZW50KSk7CiAKLSAgICBjbGllbnQudmVyc2lvbiA9IFdLQ29ubmVj
dGlvbkNsaWVudEN1cnJlbnRWZXJzaW9uOwotICAgIGNsaWVudC5jbGllbnRJbmZvID0gY29ubmVj
dGlvbjsKKyAgICBjbGllbnQuYmFzZS52ZXJzaW9uID0gMDsKKyAgICBjbGllbnQuYmFzZS5jbGll
bnRJbmZvID0gY29ubmVjdGlvbjsKICAgICBjbGllbnQuZGlkUmVjZWl2ZU1lc3NhZ2UgPSBkaWRS
ZWNlaXZlTWVzc2FnZTsKICAgICBjbGllbnQuZGlkQ2xvc2UgPSBkaWRDbG9zZTsKIAotICAgIFdL
Q29ubmVjdGlvblNldENvbm5lY3Rpb25DbGllbnQoY29ubmVjdGlvblJlZiwgJmNsaWVudCk7Cisg
ICAgV0tDb25uZWN0aW9uU2V0Q29ubmVjdGlvbkNsaWVudChjb25uZWN0aW9uUmVmLCAmY2xpZW50
LmJhc2UpOwogfQogCiAtIChpZClfaW5pdFdpdGhDb25uZWN0aW9uUmVmOihXS0Nvbm5lY3Rpb25S
ZWYpY29ubmVjdGlvblJlZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQ
SS9Db2NvYS9XS1Byb2Nlc3NHcm91cC5tbSBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkv
Q29jb2EvV0tQcm9jZXNzR3JvdXAubW0KaW5kZXggOTY4NzFhZjI5MTg0M2NiMDQ1NTYwM2E1Njg0
NmM3ZDg2ZjhmYmE2NC4uYTk2N2Q0ZDI2ZDQ4MGNiMDVkYzYxZmQ1NjhiN2VkODVjYjAyNTdhYSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1Byb2Nlc3NH
cm91cC5tbQorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0NvY29hL1dLUHJvY2Vz
c0dyb3VwLm1tCkBAIC03NywxNCArNzcsMTQgQEAgc3RhdGljIHZvaWQgZGlkQ3JlYXRlQ29ubmVj
dGlvbihXS0NvbnRleHRSZWYsIFdLQ29ubmVjdGlvblJlZiBjb25uZWN0aW9uUmVmLCBjb24KIAog
c3RhdGljIHZvaWQgc2V0VXBDb25uZWN0aW9uQ2xpZW50KFdLUHJvY2Vzc0dyb3VwICpwcm9jZXNz
R3JvdXAsIFdLQ29udGV4dFJlZiBjb250ZXh0UmVmKQogewotICAgIFdLQ29udGV4dENvbm5lY3Rp
b25DbGllbnQgY29ubmVjdGlvbkNsaWVudDsKKyAgICBXS0NvbnRleHRDb25uZWN0aW9uQ2xpZW50
VjAgY29ubmVjdGlvbkNsaWVudDsKICAgICBtZW1zZXQoJmNvbm5lY3Rpb25DbGllbnQsIDAsIHNp
emVvZihjb25uZWN0aW9uQ2xpZW50KSk7CiAKLSAgICBjb25uZWN0aW9uQ2xpZW50LnZlcnNpb24g
PSBrV0tDb250ZXh0Q29ubmVjdGlvbkNsaWVudEN1cnJlbnRWZXJzaW9uOwotICAgIGNvbm5lY3Rp
b25DbGllbnQuY2xpZW50SW5mbyA9IHByb2Nlc3NHcm91cDsKKyAgICBjb25uZWN0aW9uQ2xpZW50
LmJhc2UudmVyc2lvbiA9IDA7CisgICAgY29ubmVjdGlvbkNsaWVudC5iYXNlLmNsaWVudEluZm8g
PSBwcm9jZXNzR3JvdXA7CiAgICAgY29ubmVjdGlvbkNsaWVudC5kaWRDcmVhdGVDb25uZWN0aW9u
ID0gZGlkQ3JlYXRlQ29ubmVjdGlvbjsKIAotICAgIFdLQ29udGV4dFNldENvbm5lY3Rpb25DbGll
bnQoY29udGV4dFJlZiwgJmNvbm5lY3Rpb25DbGllbnQpOworICAgIFdLQ29udGV4dFNldENvbm5l
Y3Rpb25DbGllbnQoY29udGV4dFJlZiwgJmNvbm5lY3Rpb25DbGllbnQuYmFzZSk7CiB9CiAKIHN0
YXRpYyBXS1R5cGVSZWYgZ2V0SW5qZWN0ZWRCdW5kbGVJbml0aWFsaXphdGlvblVzZXJEYXRhKFdL
Q29udGV4dFJlZiwgY29uc3Qgdm9pZCogY2xpZW50SW5mbykKQEAgLTEwMSwxNCArMTAxLDE0IEBA
IHN0YXRpYyBXS1R5cGVSZWYgZ2V0SW5qZWN0ZWRCdW5kbGVJbml0aWFsaXphdGlvblVzZXJEYXRh
KFdLQ29udGV4dFJlZiwgY29uc3Qgdm9pCiAKIHN0YXRpYyB2b2lkIHNldFVwSW5lY3RlZEJ1bmRs
ZUNsaWVudChXS1Byb2Nlc3NHcm91cCAqcHJvY2Vzc0dyb3VwLCBXS0NvbnRleHRSZWYgY29udGV4
dFJlZikKIHsKLSAgICBXS0NvbnRleHRJbmplY3RlZEJ1bmRsZUNsaWVudCBpbmplY3RlZEJ1bmRs
ZUNsaWVudDsKKyAgICBXS0NvbnRleHRJbmplY3RlZEJ1bmRsZUNsaWVudFYxIGluamVjdGVkQnVu
ZGxlQ2xpZW50OwogICAgIG1lbXNldCgmaW5qZWN0ZWRCdW5kbGVDbGllbnQsIDAsIHNpemVvZihp
bmplY3RlZEJ1bmRsZUNsaWVudCkpOwogCi0gICAgaW5qZWN0ZWRCdW5kbGVDbGllbnQudmVyc2lv
biA9IGtXS0NvbnRleHRJbmplY3RlZEJ1bmRsZUNsaWVudEN1cnJlbnRWZXJzaW9uOwotICAgIGlu
amVjdGVkQnVuZGxlQ2xpZW50LmNsaWVudEluZm8gPSBwcm9jZXNzR3JvdXA7CisgICAgaW5qZWN0
ZWRCdW5kbGVDbGllbnQuYmFzZS52ZXJzaW9uID0gMTsKKyAgICBpbmplY3RlZEJ1bmRsZUNsaWVu
dC5iYXNlLmNsaWVudEluZm8gPSBwcm9jZXNzR3JvdXA7CiAgICAgaW5qZWN0ZWRCdW5kbGVDbGll
bnQuZ2V0SW5qZWN0ZWRCdW5kbGVJbml0aWFsaXphdGlvblVzZXJEYXRhID0gZ2V0SW5qZWN0ZWRC
dW5kbGVJbml0aWFsaXphdGlvblVzZXJEYXRhOwogCi0gICAgV0tDb250ZXh0U2V0SW5qZWN0ZWRC
dW5kbGVDbGllbnQoY29udGV4dFJlZiwgJmluamVjdGVkQnVuZGxlQ2xpZW50KTsKKyAgICBXS0Nv
bnRleHRTZXRJbmplY3RlZEJ1bmRsZUNsaWVudChjb250ZXh0UmVmLCAmaW5qZWN0ZWRCdW5kbGVD
bGllbnQuYmFzZSk7CiB9CiAKIHN0YXRpYyB2b2lkIGRpZE5hdmlnYXRlV2l0aE5hdmlnYXRpb25E
YXRhKFdLQ29udGV4dFJlZiwgV0tQYWdlUmVmIHBhZ2VSZWYsIFdLTmF2aWdhdGlvbkRhdGFSZWYg
bmF2aWdhdGlvbkRhdGFSZWYsIFdLRnJhbWVSZWYgZnJhbWVSZWYsIGNvbnN0IHZvaWQqKQpAQCAt
MTUzLDE3ICsxNTMsMTcgQEAgc3RhdGljIHZvaWQgZGlkVXBkYXRlSGlzdG9yeVRpdGxlKFdLQ29u
dGV4dFJlZiwgV0tQYWdlUmVmIHBhZ2VSZWYsIFdLU3RyaW5nUmVmIHQKIAogc3RhdGljIHZvaWQg
c2V0VXBIaXN0b3J5Q2xpZW50KFdLUHJvY2Vzc0dyb3VwICpwcm9jZXNzR3JvdXAsIFdLQ29udGV4
dFJlZiBjb250ZXh0UmVmKQogewotICAgIFdLQ29udGV4dEhpc3RvcnlDbGllbnQgaGlzdG9yeUNs
aWVudDsKKyAgICBXS0NvbnRleHRIaXN0b3J5Q2xpZW50VjAgaGlzdG9yeUNsaWVudDsKICAgICBt
ZW1zZXQoJmhpc3RvcnlDbGllbnQsIDAsIHNpemVvZihoaXN0b3J5Q2xpZW50KSk7CiAKLSAgICBo
aXN0b3J5Q2xpZW50LnZlcnNpb24gPSBrV0tDb250ZXh0SGlzdG9yeUNsaWVudEN1cnJlbnRWZXJz
aW9uOwotICAgIGhpc3RvcnlDbGllbnQuY2xpZW50SW5mbyA9IHByb2Nlc3NHcm91cDsKKyAgICBo
aXN0b3J5Q2xpZW50LmJhc2UudmVyc2lvbiA9IDA7CisgICAgaGlzdG9yeUNsaWVudC5iYXNlLmNs
aWVudEluZm8gPSBwcm9jZXNzR3JvdXA7CiAgICAgaGlzdG9yeUNsaWVudC5kaWROYXZpZ2F0ZVdp
dGhOYXZpZ2F0aW9uRGF0YSA9IGRpZE5hdmlnYXRlV2l0aE5hdmlnYXRpb25EYXRhOwogICAgIGhp
c3RvcnlDbGllbnQuZGlkUGVyZm9ybUNsaWVudFJlZGlyZWN0ID0gZGlkUGVyZm9ybUNsaWVudFJl
ZGlyZWN0OwogICAgIGhpc3RvcnlDbGllbnQuZGlkUGVyZm9ybVNlcnZlclJlZGlyZWN0ID0gZGlk
UGVyZm9ybVNlcnZlclJlZGlyZWN0OwogICAgIGhpc3RvcnlDbGllbnQuZGlkVXBkYXRlSGlzdG9y
eVRpdGxlID0gZGlkVXBkYXRlSGlzdG9yeVRpdGxlOwogCi0gICAgV0tDb250ZXh0U2V0SGlzdG9y
eUNsaWVudChjb250ZXh0UmVmLCAmaGlzdG9yeUNsaWVudCk7CisgICAgV0tDb250ZXh0U2V0SGlz
dG9yeUNsaWVudChjb250ZXh0UmVmLCAmaGlzdG9yeUNsaWVudC5iYXNlKTsKIH0KIAogLSAoaWQp
aW5pdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYkluc3BlY3RvclBy
b3h5LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJJbnNwZWN0b3JQcm94eS5jcHAK
aW5kZXggOTJlNGI2YzVmYzU3ZTFhMzVjMTQ3ZTdmOTU5ZDZiYThhZjBlNDIwYy4uMGM5N2E3ZjEw
ODI1OTZjMTdkNTk5OWIxNTI5Mjg1ODRhNWViY2I0OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL1dlYkluc3BlY3RvclByb3h5LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvV2ViSW5zcGVjdG9yUHJveHkuY3BwCkBAIC00MzgsOSArNDM4LDggQEAgdm9pZCBX
ZWJJbnNwZWN0b3JQcm94eTo6Y3JlYXRlSW5zcGVjdG9yUGFnZSh1aW50NjRfdCYgaW5zcGVjdG9y
UGFnZUlELCBXZWJQYWdlQ3IKICAgICBpbnNwZWN0b3JQYWdlSUQgPSBpbnNwZWN0b3JQYWdlLT5w
YWdlSUQoKTsKICAgICBpbnNwZWN0b3JQYWdlUGFyYW1ldGVycyA9IGluc3BlY3RvclBhZ2UtPmNy
ZWF0aW9uUGFyYW1ldGVycygpOwogCi0gICAgV0tQYWdlUG9saWN5Q2xpZW50IHBvbGljeUNsaWVu
dCA9IHsKLSAgICAgICAga1dLUGFnZVBvbGljeUNsaWVudEN1cnJlbnRWZXJzaW9uLAotICAgICAg
ICB0aGlzLCAvKiBjbGllbnRJbmZvICovCisgICAgV0tQYWdlUG9saWN5Q2xpZW50VjEgcG9saWN5
Q2xpZW50ID0geworICAgICAgICB7IDEsIHRoaXMgfSwKICAgICAgICAgMCwgLyogZGVjaWRlUG9s
aWN5Rm9yTmF2aWdhdGlvbkFjdGlvbl9kZXByZWNhdGVkRm9yVXNlV2l0aFYwICovCiAgICAgICAg
IDAsIC8qIGRlY2lkZVBvbGljeUZvck5ld1dpbmRvd0FjdGlvbiAqLwogICAgICAgICAwLCAvKiBk
ZWNpZGVQb2xpY3lGb3JSZXNwb25zZV9kZXByZWNhdGVkRm9yVXNlV2l0aFYwICovCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViVUlDbGllbnQuY3BwIGIvU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL1dlYlVJQ2xpZW50LmNwcAppbmRleCBkM2JlNTFhMTk3YTMwNmFlYzI3
ZDAwMDlkYTQ4YWFjNjQ4MjBiNmI4Li5lZTZiZWE2Mzk1MWRkYWQyNjc5NWZiMGYxNDlhMGNjYTdl
YWEwMDA0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViVUlDbGllbnQu
Y3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJVSUNsaWVudC5jcHAKQEAgLTUx
LDcgKzUxLDcgQEAgUGFzc1JlZlB0cjxXZWJQYWdlUHJveHk+IFdlYlVJQ2xpZW50OjpjcmVhdGVO
ZXdQYWdlKFdlYlBhZ2VQcm94eSogcGFnZSwgY29uc3QgUmUKICAgICBpZiAoIW1fY2xpZW50LmJh
c2UudmVyc2lvbiAmJiAhbV9jbGllbnQuY3JlYXRlTmV3UGFnZV9kZXByZWNhdGVkRm9yVXNlV2l0
aFYwKQogICAgICAgICByZXR1cm4gMDsKICAgICAKLSAgICBpZiAobV9jbGllbnQuYmFzZS52ZXJz
aW9uID09IGtXS1BhZ2VVSUNsaWVudEN1cnJlbnRWZXJzaW9uICYmICFtX2NsaWVudC5jcmVhdGVO
ZXdQYWdlKQorICAgIGlmIChtX2NsaWVudC5iYXNlLnZlcnNpb24gPiAwICYmICFtX2NsaWVudC5j
cmVhdGVOZXdQYWdlKQogICAgICAgICByZXR1cm4gMDsKIAogICAgIEltbXV0YWJsZURpY3Rpb25h
cnk6Ok1hcFR5cGUgbWFwOwpAQCAtMTY0LDcgKzE2NCw3IEBAIHZvaWQgV2ViVUlDbGllbnQ6Om1v
dXNlRGlkTW92ZU92ZXJFbGVtZW50KFdlYlBhZ2VQcm94eSogcGFnZSwgY29uc3QgV2ViSGl0VGVz
dFJlCiAgICAgaWYgKCFtX2NsaWVudC5tb3VzZURpZE1vdmVPdmVyRWxlbWVudCAmJiAhbV9jbGll
bnQubW91c2VEaWRNb3ZlT3ZlckVsZW1lbnRfZGVwcmVjYXRlZEZvclVzZVdpdGhWMCkKICAgICAg
ICAgcmV0dXJuOwogCi0gICAgaWYgKG1fY2xpZW50LmJhc2UudmVyc2lvbiA9PSBrV0tQYWdlVUlD
bGllbnRDdXJyZW50VmVyc2lvbiAmJiAhbV9jbGllbnQubW91c2VEaWRNb3ZlT3ZlckVsZW1lbnQp
CisgICAgaWYgKG1fY2xpZW50LmJhc2UudmVyc2lvbiA+IDAgJiYgIW1fY2xpZW50Lm1vdXNlRGlk
TW92ZU92ZXJFbGVtZW50KQogICAgICAgICByZXR1cm47CiAKICAgICBpZiAoIW1fY2xpZW50LmJh
c2UudmVyc2lvbikgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL21hYy9X
ZWJJbnNwZWN0b3JQcm94eU1hYy5tbSBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9tYWMvV2Vi
SW5zcGVjdG9yUHJveHlNYWMubW0KaW5kZXggMmM5NjUwZmE4YzI5OTJkY2M0YTRhMmE4MDA2ZWI1
ZTQzMDkzNjg5Yy4uYWJiNDZmODQxNTQzOGU1NTA1NzM0YTViMDNmMThlZWM3NjRlZjQzMiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL21hYy9XZWJJbnNwZWN0b3JQcm94eU1h
Yy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvbWFjL1dlYkluc3BlY3RvclByb3h5
TWFjLm1tCkBAIC0zOTksOSArMzk5LDggQEAgV2ViUGFnZVByb3h5KiBXZWJJbnNwZWN0b3JQcm94
eTo6cGxhdGZvcm1DcmVhdGVJbnNwZWN0b3JQYWdlKCkKIAogICAgIFdlYlBhZ2VQcm94eSogaW5z
cGVjdG9yUGFnZSA9IHRvSW1wbChtX2luc3BlY3RvclZpZXcuZ2V0KCkucGFnZVJlZik7CiAKLSAg
ICBXS1BhZ2VVSUNsaWVudCB1aUNsaWVudCA9IHsKLSAgICAgICAga1dLUGFnZVVJQ2xpZW50Q3Vy
cmVudFZlcnNpb24sCi0gICAgICAgIHRoaXMsICAgLyogY2xpZW50SW5mbyAqLworICAgIFdLUGFn
ZVVJQ2xpZW50VjIgdWlDbGllbnQgPSB7CisgICAgICAgIHsgMiwgdGhpcyB9LAogICAgICAgICAw
LCAvLyBjcmVhdGVOZXdQYWdlX2RlcHJlY2F0ZWRGb3JVc2VXaXRoVjAKICAgICAgICAgMCwgLy8g
c2hvd1BhZ2UKICAgICAgICAgMCwgLy8gY2xvc2VQYWdlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0Mi9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9jL1dLQnVuZGxlLmNwcCBiL1NvdXJj
ZS9XZWJLaXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL2MvV0tCdW5kbGUuY3BwCmlu
ZGV4IDkzZjMwNGJjNDQ4NTY3YTI4MjEyN2U5NzAyZjg0YzQ1MjM4YjJiMTQuLmQ5MmE4ZGVmNTI2
NWFmNjQ3ZDIxOTU0ZTQ4MzQ3YjQ2M2M5OWZjZmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQy
L1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL2MvV0tCdW5kbGUuY3BwCisrKyBiL1NvdXJj
ZS9XZWJLaXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL2MvV0tCdW5kbGUuY3BwCkBA
IC00MCw5ICs0MCw5IEBAIFdLVHlwZUlEIFdLQnVuZGxlR2V0VHlwZUlEKCkKICAgICByZXR1cm4g
dG9BUEkoSW5qZWN0ZWRCdW5kbGU6OkFQSVR5cGUpOwogfQogCi12b2lkIFdLQnVuZGxlU2V0Q2xp
ZW50KFdLQnVuZGxlUmVmIGJ1bmRsZVJlZiwgV0tCdW5kbGVDbGllbnQgKndrQ2xpZW50KQordm9p
ZCBXS0J1bmRsZVNldENsaWVudChXS0J1bmRsZVJlZiBidW5kbGVSZWYsIFdLQnVuZGxlQ2xpZW50
QmFzZSAqd2tDbGllbnQpCiB7Ci0gICAgdG9JbXBsKGJ1bmRsZVJlZiktPmluaXRpYWxpemVDbGll
bnQocmVpbnRlcnByZXRfY2FzdDxXS0J1bmRsZUNsaWVudEJhc2UqPih3a0NsaWVudCkpOworICAg
IHRvSW1wbChidW5kbGVSZWYpLT5pbml0aWFsaXplQ2xpZW50KHdrQ2xpZW50KTsKIH0KIAogdm9p
ZCBXS0J1bmRsZVBvc3RNZXNzYWdlKFdLQnVuZGxlUmVmIGJ1bmRsZVJlZiwgV0tTdHJpbmdSZWYg
bWVzc2FnZU5hbWVSZWYsIFdLVHlwZVJlZiBtZXNzYWdlQm9keVJlZikKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL2MvV0tCdW5kbGUuaCBi
L1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL2MvV0tCdW5kbGUu
aAppbmRleCBmZDM1ZmQ3ODc2OTRiZTZlNzA4OGUxOTNmMGFhZjYzN2JkMTZmNDZiLi4zYTMzMDgz
MjhhNThiMTE4MjRlNDA5MzAxMTVhNGM3Y2M3OGIyNzNlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0Mi9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9jL1dLQnVuZGxlLmgKKysrIGIvU291
cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvYy9XS0J1bmRsZS5oCkBA
IC02OCw4ICs2OCw3IEBAIHR5cGVkZWYgc3RydWN0IFdLQnVuZGxlQ2xpZW50VjEgewogICAgIFdL
QnVuZGxlRGlkUmVjZWl2ZU1lc3NhZ2VUb1BhZ2VDYWxsYmFjayAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgZGlkUmVjZWl2ZU1lc3NhZ2VUb1BhZ2U7CiB9IFdLQnVuZGxlQ2xpZW50VjE7CiAK
LS8vIEZJWE1FOiBEZXByZWNhdGUuCi1lbnVtIHsga1dLQnVuZGxlQ2xpZW50Q3VycmVudFZlcnNp
b24gPSAxIH07CitlbnVtIHsga1dLQnVuZGxlQ2xpZW50Q3VycmVudFZlcnNpb24gV0tfRU5VTV9E
RVBSRUNBVEVEKCJVc2UgYW4gZXhwbGljaXQgdmVyc2lvbiBudW1iZXIgaW5zdGVhZCIpID0gMSB9
OwogdHlwZWRlZiBzdHJ1Y3QgV0tCdW5kbGVDbGllbnQgewogICAgIGludCAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmVyc2lv
bjsKICAgICBjb25zdCB2b2lkICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGNsaWVudEluZm87CkBAIC04MiwxMSArODEsMTEgQEAgdHlwZWRl
ZiBzdHJ1Y3QgV0tCdW5kbGVDbGllbnQgewogCiAgICAgLy8gVmVyc2lvbiAxLgogICAgIFdLQnVu
ZGxlRGlkUmVjZWl2ZU1lc3NhZ2VUb1BhZ2VDYWxsYmFjayAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgZGlkUmVjZWl2ZU1lc3NhZ2VUb1BhZ2U7Ci19IFdLQnVuZGxlQ2xpZW50OworfSBXS0J1
bmRsZUNsaWVudCBXS19ERVBSRUNBVEVEKCJVc2UgYW4gZXhwbGljaXQgdmVyc2lvbmVkIHN0cnVj
dCBpbnN0ZWFkIik7CiAKIFdLX0VYUE9SVCBXS1R5cGVJRCBXS0J1bmRsZUdldFR5cGVJRCgpOwog
Ci1XS19FWFBPUlQgdm9pZCBXS0J1bmRsZVNldENsaWVudChXS0J1bmRsZVJlZiBidW5kbGUsIFdL
QnVuZGxlQ2xpZW50KiBjbGllbnQpOworV0tfRVhQT1JUIHZvaWQgV0tCdW5kbGVTZXRDbGllbnQo
V0tCdW5kbGVSZWYgYnVuZGxlLCBXS0J1bmRsZUNsaWVudEJhc2UqIGNsaWVudCk7CiAKIFdLX0VY
UE9SVCB2b2lkIFdLQnVuZGxlUG9zdE1lc3NhZ2UoV0tCdW5kbGVSZWYgYnVuZGxlLCBXS1N0cmlu
Z1JlZiBtZXNzYWdlTmFtZSwgV0tUeXBlUmVmIG1lc3NhZ2VCb2R5KTsKIFdLX0VYUE9SVCB2b2lk
IFdLQnVuZGxlUG9zdFN5bmNocm9ub3VzTWVzc2FnZShXS0J1bmRsZVJlZiBidW5kbGUsIFdLU3Ry
aW5nUmVmIG1lc3NhZ2VOYW1lLCBXS1R5cGVSZWYgbWVzc2FnZUJvZHksIFdLVHlwZVJlZiogcmV0
dXJuRGF0YSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL0luamVjdGVk
QnVuZGxlL0FQSS9jL1dLQnVuZGxlUGFnZS5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNz
L0luamVjdGVkQnVuZGxlL0FQSS9jL1dLQnVuZGxlUGFnZS5jcHAKaW5kZXggZTUyNzhmM2Q3OTM4
OTVhMWQ3MjI1ZDM3MDRmZGE2ZWIxOWVjYzAzMC4uNDE2NzU2NDRkMDg3NWQzYmFmMDJmYzc1OGVl
MjgzNzlhOWI0MGI4ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9Jbmpl
Y3RlZEJ1bmRsZS9BUEkvYy9XS0J1bmRsZVBhZ2UuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dl
YlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL2MvV0tCdW5kbGVQYWdlLmNwcApAQCAtNjEsNDcg
KzYxLDQ3IEBAIFdLVHlwZUlEIFdLQnVuZGxlUGFnZUdldFR5cGVJRCgpCiAgICAgcmV0dXJuIHRv
QVBJKFdlYlBhZ2U6OkFQSVR5cGUpOwogfQogCi12b2lkIFdLQnVuZGxlUGFnZVNldENvbnRleHRN
ZW51Q2xpZW50KFdLQnVuZGxlUGFnZVJlZiBwYWdlUmVmLCBXS0J1bmRsZVBhZ2VDb250ZXh0TWVu
dUNsaWVudCogd2tDbGllbnQpCit2b2lkIFdLQnVuZGxlUGFnZVNldENvbnRleHRNZW51Q2xpZW50
KFdLQnVuZGxlUGFnZVJlZiBwYWdlUmVmLCBXS0J1bmRsZVBhZ2VDb250ZXh0TWVudUNsaWVudEJh
c2UqIHdrQ2xpZW50KQogewogI2lmIEVOQUJMRShDT05URVhUX01FTlVTKQotICAgIHRvSW1wbChw
YWdlUmVmKS0+aW5pdGlhbGl6ZUluamVjdGVkQnVuZGxlQ29udGV4dE1lbnVDbGllbnQocmVpbnRl
cnByZXRfY2FzdDxXS0J1bmRsZVBhZ2VDb250ZXh0TWVudUNsaWVudEJhc2UqPih3a0NsaWVudCkp
OworICAgIHRvSW1wbChwYWdlUmVmKS0+aW5pdGlhbGl6ZUluamVjdGVkQnVuZGxlQ29udGV4dE1l
bnVDbGllbnQod2tDbGllbnQpOwogI2VuZGlmCiB9CiAKLXZvaWQgV0tCdW5kbGVQYWdlU2V0RWRp
dG9yQ2xpZW50KFdLQnVuZGxlUGFnZVJlZiBwYWdlUmVmLCBXS0J1bmRsZVBhZ2VFZGl0b3JDbGll
bnQqIHdrQ2xpZW50KQordm9pZCBXS0J1bmRsZVBhZ2VTZXRFZGl0b3JDbGllbnQoV0tCdW5kbGVQ
YWdlUmVmIHBhZ2VSZWYsIFdLQnVuZGxlUGFnZUVkaXRvckNsaWVudEJhc2UqIHdrQ2xpZW50KQog
ewotICAgIHRvSW1wbChwYWdlUmVmKS0+aW5pdGlhbGl6ZUluamVjdGVkQnVuZGxlRWRpdG9yQ2xp
ZW50KHJlaW50ZXJwcmV0X2Nhc3Q8V0tCdW5kbGVQYWdlRWRpdG9yQ2xpZW50QmFzZSo+KHdrQ2xp
ZW50KSk7CisgICAgdG9JbXBsKHBhZ2VSZWYpLT5pbml0aWFsaXplSW5qZWN0ZWRCdW5kbGVFZGl0
b3JDbGllbnQod2tDbGllbnQpOwogfQogCi12b2lkIFdLQnVuZGxlUGFnZVNldEZvcm1DbGllbnQo
V0tCdW5kbGVQYWdlUmVmIHBhZ2VSZWYsIFdLQnVuZGxlUGFnZUZvcm1DbGllbnQqIHdrQ2xpZW50
KQordm9pZCBXS0J1bmRsZVBhZ2VTZXRGb3JtQ2xpZW50KFdLQnVuZGxlUGFnZVJlZiBwYWdlUmVm
LCBXS0J1bmRsZVBhZ2VGb3JtQ2xpZW50QmFzZSogd2tDbGllbnQpCiB7Ci0gICAgdG9JbXBsKHBh
Z2VSZWYpLT5pbml0aWFsaXplSW5qZWN0ZWRCdW5kbGVGb3JtQ2xpZW50KHJlaW50ZXJwcmV0X2Nh
c3Q8V0tCdW5kbGVQYWdlRm9ybUNsaWVudEJhc2UqPih3a0NsaWVudCkpOworICAgIHRvSW1wbChw
YWdlUmVmKS0+aW5pdGlhbGl6ZUluamVjdGVkQnVuZGxlRm9ybUNsaWVudCh3a0NsaWVudCk7CiB9
CiAKLXZvaWQgV0tCdW5kbGVQYWdlU2V0UGFnZUxvYWRlckNsaWVudChXS0J1bmRsZVBhZ2VSZWYg
cGFnZVJlZiwgV0tCdW5kbGVQYWdlTG9hZGVyQ2xpZW50KiB3a0NsaWVudCkKK3ZvaWQgV0tCdW5k
bGVQYWdlU2V0UGFnZUxvYWRlckNsaWVudChXS0J1bmRsZVBhZ2VSZWYgcGFnZVJlZiwgV0tCdW5k
bGVQYWdlTG9hZGVyQ2xpZW50QmFzZSogd2tDbGllbnQpCiB7Ci0gICAgdG9JbXBsKHBhZ2VSZWYp
LT5pbml0aWFsaXplSW5qZWN0ZWRCdW5kbGVMb2FkZXJDbGllbnQocmVpbnRlcnByZXRfY2FzdDxX
S0J1bmRsZVBhZ2VMb2FkZXJDbGllbnRCYXNlKj4od2tDbGllbnQpKTsKKyAgICB0b0ltcGwocGFn
ZVJlZiktPmluaXRpYWxpemVJbmplY3RlZEJ1bmRsZUxvYWRlckNsaWVudCh3a0NsaWVudCk7CiB9
CiAKLXZvaWQgV0tCdW5kbGVQYWdlU2V0UmVzb3VyY2VMb2FkQ2xpZW50KFdLQnVuZGxlUGFnZVJl
ZiBwYWdlUmVmLCBXS0J1bmRsZVBhZ2VSZXNvdXJjZUxvYWRDbGllbnQqIHdrQ2xpZW50KQordm9p
ZCBXS0J1bmRsZVBhZ2VTZXRSZXNvdXJjZUxvYWRDbGllbnQoV0tCdW5kbGVQYWdlUmVmIHBhZ2VS
ZWYsIFdLQnVuZGxlUGFnZVJlc291cmNlTG9hZENsaWVudEJhc2UqIHdrQ2xpZW50KQogewotICAg
IHRvSW1wbChwYWdlUmVmKS0+aW5pdGlhbGl6ZUluamVjdGVkQnVuZGxlUmVzb3VyY2VMb2FkQ2xp
ZW50KHJlaW50ZXJwcmV0X2Nhc3Q8V0tCdW5kbGVQYWdlUmVzb3VyY2VMb2FkQ2xpZW50QmFzZSo+
KHdrQ2xpZW50KSk7CisgICAgdG9JbXBsKHBhZ2VSZWYpLT5pbml0aWFsaXplSW5qZWN0ZWRCdW5k
bGVSZXNvdXJjZUxvYWRDbGllbnQod2tDbGllbnQpOwogfQogCi12b2lkIFdLQnVuZGxlUGFnZVNl
dFBvbGljeUNsaWVudChXS0J1bmRsZVBhZ2VSZWYgcGFnZVJlZiwgV0tCdW5kbGVQYWdlUG9saWN5
Q2xpZW50KiB3a0NsaWVudCkKK3ZvaWQgV0tCdW5kbGVQYWdlU2V0UG9saWN5Q2xpZW50KFdLQnVu
ZGxlUGFnZVJlZiBwYWdlUmVmLCBXS0J1bmRsZVBhZ2VQb2xpY3lDbGllbnRCYXNlKiB3a0NsaWVu
dCkKIHsKLSAgICB0b0ltcGwocGFnZVJlZiktPmluaXRpYWxpemVJbmplY3RlZEJ1bmRsZVBvbGlj
eUNsaWVudChyZWludGVycHJldF9jYXN0PFdLQnVuZGxlUGFnZVBvbGljeUNsaWVudEJhc2UqPih3
a0NsaWVudCkpOworICAgIHRvSW1wbChwYWdlUmVmKS0+aW5pdGlhbGl6ZUluamVjdGVkQnVuZGxl
UG9saWN5Q2xpZW50KHdrQ2xpZW50KTsKIH0KIAotdm9pZCBXS0J1bmRsZVBhZ2VTZXRVSUNsaWVu
dChXS0J1bmRsZVBhZ2VSZWYgcGFnZVJlZiwgV0tCdW5kbGVQYWdlVUlDbGllbnQqIHdrQ2xpZW50
KQordm9pZCBXS0J1bmRsZVBhZ2VTZXRVSUNsaWVudChXS0J1bmRsZVBhZ2VSZWYgcGFnZVJlZiwg
V0tCdW5kbGVQYWdlVUlDbGllbnRCYXNlKiB3a0NsaWVudCkKIHsKLSAgICB0b0ltcGwocGFnZVJl
ZiktPmluaXRpYWxpemVJbmplY3RlZEJ1bmRsZVVJQ2xpZW50KHJlaW50ZXJwcmV0X2Nhc3Q8V0tC
dW5kbGVQYWdlVUlDbGllbnRCYXNlKj4od2tDbGllbnQpKTsKKyAgICB0b0ltcGwocGFnZVJlZikt
PmluaXRpYWxpemVJbmplY3RlZEJ1bmRsZVVJQ2xpZW50KHdrQ2xpZW50KTsKIH0KIAotdm9pZCBX
S0J1bmRsZVBhZ2VTZXRGdWxsU2NyZWVuQ2xpZW50KFdLQnVuZGxlUGFnZVJlZiBwYWdlUmVmLCBX
S0J1bmRsZVBhZ2VGdWxsU2NyZWVuQ2xpZW50KiB3a0NsaWVudCkKK3ZvaWQgV0tCdW5kbGVQYWdl
U2V0RnVsbFNjcmVlbkNsaWVudChXS0J1bmRsZVBhZ2VSZWYgcGFnZVJlZiwgV0tCdW5kbGVQYWdl
RnVsbFNjcmVlbkNsaWVudEJhc2UqIHdrQ2xpZW50KQogewogI2lmIGRlZmluZWQoRU5BQkxFX0ZV
TExTQ1JFRU5fQVBJKSAmJiBFTkFCTEVfRlVMTFNDUkVFTl9BUEkKLSAgICB0b0ltcGwocGFnZVJl
ZiktPmluaXRpYWxpemVJbmplY3RlZEJ1bmRsZUZ1bGxTY3JlZW5DbGllbnQocmVpbnRlcnByZXRf
Y2FzdDxXS0J1bmRsZVBhZ2VGdWxsU2NyZWVuQ2xpZW50QmFzZSo+KHdrQ2xpZW50KSk7CisgICAg
dG9JbXBsKHBhZ2VSZWYpLT5pbml0aWFsaXplSW5qZWN0ZWRCdW5kbGVGdWxsU2NyZWVuQ2xpZW50
KHdrQ2xpZW50KTsKICNlbHNlCiAgICAgVU5VU0VEX1BBUkFNKHBhZ2VSZWYpOwogICAgIFVOVVNF
RF9QQVJBTSh3a0NsaWVudCk7CkBAIC0xNDQsOSArMTQ0LDkgQEAgdm9pZCBXS0J1bmRsZVBhZ2VE
aWRFeGl0RnVsbFNjcmVlbihXS0J1bmRsZVBhZ2VSZWYgcGFnZVJlZikKICNlbmRpZgogfQogCi12
b2lkIFdLQnVuZGxlUGFnZVNldERpYWdub3N0aWNMb2dnaW5nQ2xpZW50KFdLQnVuZGxlUGFnZVJl
ZiBwYWdlUmVmLCBXS0J1bmRsZVBhZ2VEaWFnbm9zdGljTG9nZ2luZ0NsaWVudCogY2xpZW50KQor
dm9pZCBXS0J1bmRsZVBhZ2VTZXREaWFnbm9zdGljTG9nZ2luZ0NsaWVudChXS0J1bmRsZVBhZ2VS
ZWYgcGFnZVJlZiwgV0tCdW5kbGVQYWdlRGlhZ25vc3RpY0xvZ2dpbmdDbGllbnRCYXNlKiBjbGll
bnQpCiB7Ci0gICAgdG9JbXBsKHBhZ2VSZWYpLT5pbml0aWFsaXplSW5qZWN0ZWRCdW5kbGVEaWFn
bm9zdGljTG9nZ2luZ0NsaWVudChyZWludGVycHJldF9jYXN0PFdLQnVuZGxlUGFnZURpYWdub3N0
aWNMb2dnaW5nQ2xpZW50QmFzZSo+KGNsaWVudCkpOworICAgIHRvSW1wbChwYWdlUmVmKS0+aW5p
dGlhbGl6ZUluamVjdGVkQnVuZGxlRGlhZ25vc3RpY0xvZ2dpbmdDbGllbnQoY2xpZW50KTsKIH0K
IAogV0tCdW5kbGVQYWdlR3JvdXBSZWYgV0tCdW5kbGVQYWdlR2V0UGFnZUdyb3VwKFdLQnVuZGxl
UGFnZVJlZiBwYWdlUmVmKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9J
bmplY3RlZEJ1bmRsZS9BUEkvYy9XS0J1bmRsZVBhZ2UuaCBiL1NvdXJjZS9XZWJLaXQyL1dlYlBy
b2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL2MvV0tCdW5kbGVQYWdlLmgKaW5kZXggYmFkN2E4OGVh
NmU2ZWRjMzUyNTJhNWQ0MWUxMDllZmNjOGE5YzIxMS4uNmMzYWMyYTI2ZWY3NzE0NGE4MThhYzA3
MjZlYTUxYTMwZGI5YTdiYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9J
bmplY3RlZEJ1bmRsZS9BUEkvYy9XS0J1bmRsZVBhZ2UuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9X
ZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9jL1dLQnVuZGxlUGFnZS5oCkBAIC01NywxNSAr
NTcsMTUgQEAgV0tfRVhQT1JUIHZvaWQgV0tCdW5kbGVQYWdlRGlkRXhpdEZ1bGxTY3JlZW4oV0tC
dW5kbGVQYWdlUmVmIHBhZ2UpOwogCiBXS19FWFBPUlQgV0tUeXBlSUQgV0tCdW5kbGVQYWdlR2V0
VHlwZUlEKCk7CiAKLVdLX0VYUE9SVCB2b2lkIFdLQnVuZGxlUGFnZVNldENvbnRleHRNZW51Q2xp
ZW50KFdLQnVuZGxlUGFnZVJlZiBwYWdlLCBXS0J1bmRsZVBhZ2VDb250ZXh0TWVudUNsaWVudCog
Y2xpZW50KTsKLVdLX0VYUE9SVCB2b2lkIFdLQnVuZGxlUGFnZVNldEVkaXRvckNsaWVudChXS0J1
bmRsZVBhZ2VSZWYgcGFnZSwgV0tCdW5kbGVQYWdlRWRpdG9yQ2xpZW50KiBjbGllbnQpOwotV0tf
RVhQT1JUIHZvaWQgV0tCdW5kbGVQYWdlU2V0Rm9ybUNsaWVudChXS0J1bmRsZVBhZ2VSZWYgcGFn
ZSwgV0tCdW5kbGVQYWdlRm9ybUNsaWVudCogY2xpZW50KTsKLVdLX0VYUE9SVCB2b2lkIFdLQnVu
ZGxlUGFnZVNldFBhZ2VMb2FkZXJDbGllbnQoV0tCdW5kbGVQYWdlUmVmIHBhZ2UsIFdLQnVuZGxl
UGFnZUxvYWRlckNsaWVudCogY2xpZW50KTsKLVdLX0VYUE9SVCB2b2lkIFdLQnVuZGxlUGFnZVNl
dFJlc291cmNlTG9hZENsaWVudChXS0J1bmRsZVBhZ2VSZWYgcGFnZSwgV0tCdW5kbGVQYWdlUmVz
b3VyY2VMb2FkQ2xpZW50KiBjbGllbnQpOwotV0tfRVhQT1JUIHZvaWQgV0tCdW5kbGVQYWdlU2V0
UG9saWN5Q2xpZW50KFdLQnVuZGxlUGFnZVJlZiBwYWdlLCBXS0J1bmRsZVBhZ2VQb2xpY3lDbGll
bnQqIGNsaWVudCk7Ci1XS19FWFBPUlQgdm9pZCBXS0J1bmRsZVBhZ2VTZXRVSUNsaWVudChXS0J1
bmRsZVBhZ2VSZWYgcGFnZSwgV0tCdW5kbGVQYWdlVUlDbGllbnQqIGNsaWVudCk7Ci1XS19FWFBP
UlQgdm9pZCBXS0J1bmRsZVBhZ2VTZXRGdWxsU2NyZWVuQ2xpZW50KFdLQnVuZGxlUGFnZVJlZiBw
YWdlLCBXS0J1bmRsZVBhZ2VGdWxsU2NyZWVuQ2xpZW50KiBjbGllbnQpOwotV0tfRVhQT1JUIHZv
aWQgV0tCdW5kbGVQYWdlU2V0RGlhZ25vc3RpY0xvZ2dpbmdDbGllbnQoV0tCdW5kbGVQYWdlUmVm
IHBhZ2UsIFdLQnVuZGxlUGFnZURpYWdub3N0aWNMb2dnaW5nQ2xpZW50KiBjbGllbnQpOworV0tf
RVhQT1JUIHZvaWQgV0tCdW5kbGVQYWdlU2V0Q29udGV4dE1lbnVDbGllbnQoV0tCdW5kbGVQYWdl
UmVmIHBhZ2UsIFdLQnVuZGxlUGFnZUNvbnRleHRNZW51Q2xpZW50QmFzZSogY2xpZW50KTsKK1dL
X0VYUE9SVCB2b2lkIFdLQnVuZGxlUGFnZVNldEVkaXRvckNsaWVudChXS0J1bmRsZVBhZ2VSZWYg
cGFnZSwgV0tCdW5kbGVQYWdlRWRpdG9yQ2xpZW50QmFzZSogY2xpZW50KTsKK1dLX0VYUE9SVCB2
b2lkIFdLQnVuZGxlUGFnZVNldEZvcm1DbGllbnQoV0tCdW5kbGVQYWdlUmVmIHBhZ2UsIFdLQnVu
ZGxlUGFnZUZvcm1DbGllbnRCYXNlKiBjbGllbnQpOworV0tfRVhQT1JUIHZvaWQgV0tCdW5kbGVQ
YWdlU2V0UGFnZUxvYWRlckNsaWVudChXS0J1bmRsZVBhZ2VSZWYgcGFnZSwgV0tCdW5kbGVQYWdl
TG9hZGVyQ2xpZW50QmFzZSogY2xpZW50KTsKK1dLX0VYUE9SVCB2b2lkIFdLQnVuZGxlUGFnZVNl
dFJlc291cmNlTG9hZENsaWVudChXS0J1bmRsZVBhZ2VSZWYgcGFnZSwgV0tCdW5kbGVQYWdlUmVz
b3VyY2VMb2FkQ2xpZW50QmFzZSogY2xpZW50KTsKK1dLX0VYUE9SVCB2b2lkIFdLQnVuZGxlUGFn
ZVNldFBvbGljeUNsaWVudChXS0J1bmRsZVBhZ2VSZWYgcGFnZSwgV0tCdW5kbGVQYWdlUG9saWN5
Q2xpZW50QmFzZSogY2xpZW50KTsKK1dLX0VYUE9SVCB2b2lkIFdLQnVuZGxlUGFnZVNldFVJQ2xp
ZW50KFdLQnVuZGxlUGFnZVJlZiBwYWdlLCBXS0J1bmRsZVBhZ2VVSUNsaWVudEJhc2UqIGNsaWVu
dCk7CitXS19FWFBPUlQgdm9pZCBXS0J1bmRsZVBhZ2VTZXRGdWxsU2NyZWVuQ2xpZW50KFdLQnVu
ZGxlUGFnZVJlZiBwYWdlLCBXS0J1bmRsZVBhZ2VGdWxsU2NyZWVuQ2xpZW50QmFzZSogY2xpZW50
KTsKK1dLX0VYUE9SVCB2b2lkIFdLQnVuZGxlUGFnZVNldERpYWdub3N0aWNMb2dnaW5nQ2xpZW50
KFdLQnVuZGxlUGFnZVJlZiBwYWdlLCBXS0J1bmRsZVBhZ2VEaWFnbm9zdGljTG9nZ2luZ0NsaWVu
dEJhc2UqIGNsaWVudCk7CiAKIFdLX0VYUE9SVCBXS0J1bmRsZVBhZ2VHcm91cFJlZiBXS0J1bmRs
ZVBhZ2VHZXRQYWdlR3JvdXAoV0tCdW5kbGVQYWdlUmVmIHBhZ2UpOwogV0tfRVhQT1JUIFdLQnVu
ZGxlRnJhbWVSZWYgV0tCdW5kbGVQYWdlR2V0TWFpbkZyYW1lKFdLQnVuZGxlUGFnZVJlZiBwYWdl
KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUv
QVBJL2MvV0tCdW5kbGVQYWdlQmFubmVyLmggYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL0lu
amVjdGVkQnVuZGxlL0FQSS9jL1dLQnVuZGxlUGFnZUJhbm5lci5oCmluZGV4IGYwNzZjMThkOTMx
OGUyMGVmZDM2MWQ4Y2VjMDU4MDkyNjMzZmVlNjkuLmI1OTViMGU3MmRiODIxNTU0ZWM1NGZlZmNk
ZDBmZGQzZGU1MjE2NWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvSW5q
ZWN0ZWRCdW5kbGUvQVBJL2MvV0tCdW5kbGVQYWdlQmFubmVyLmgKKysrIGIvU291cmNlL1dlYktp
dDIvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvYy9XS0J1bmRsZVBhZ2VCYW5uZXIuaApA
QCAtNTksOCArNTksNyBAQCB0eXBlZGVmIHN0cnVjdCBXS0J1bmRsZVBhZ2VCYW5uZXJDbGllbnRW
MCB7CiAgICAgV0tCdW5kbGVQYWdlQmFubmVyTW91c2VEcmFnZ2VkQ2FsbGJhY2sgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBtb3VzZURyYWdnZWQ7CiB9IFdLQnVuZGxlUGFnZUJhbm5lckNs
aWVudFYwOwogCi0vLyBGSVhNRTogRGVwcmVjYXRlLgotZW51bSB7IGtXS0J1bmRsZVBhZ2VCYW5u
ZXJDbGllbnRDdXJyZW50VmVyc2lvbiA9IDAgfTsKK2VudW0geyBrV0tCdW5kbGVQYWdlQmFubmVy
Q2xpZW50Q3VycmVudFZlcnNpb24gV0tfRU5VTV9ERVBSRUNBVEVEKCJVc2UgYW4gZXhwbGljaXQg
dmVyc2lvbiBudW1iZXIgaW5zdGVhZCIpID0gMCB9OwogdHlwZWRlZiBzdHJ1Y3QgV0tCdW5kbGVQ
YWdlQmFubmVyQ2xpZW50IHsKICAgICBpbnQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZlcnNpb247CiAgICAgY29uc3Qgdm9p
ZCAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBjbGllbnRJbmZvOwpAQCAtNzAsNyArNjksNyBAQCB0eXBlZGVmIHN0cnVjdCBXS0J1bmRsZVBh
Z2VCYW5uZXJDbGllbnQgewogICAgIFdLQnVuZGxlUGFnZUJhbm5lck1vdXNlVXBDYWxsYmFjayAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbW91c2VVcDsKICAgICBXS0J1bmRsZVBh
Z2VCYW5uZXJNb3VzZU1vdmVkQ2FsbGJhY2sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IG1vdXNlTW92ZWQ7CiAgICAgV0tCdW5kbGVQYWdlQmFubmVyTW91c2VEcmFnZ2VkQ2FsbGJhY2sg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtb3VzZURyYWdnZWQ7Ci19IFdLQnVuZGxlUGFn
ZUJhbm5lckNsaWVudDsKK30gV0tCdW5kbGVQYWdlQmFubmVyQ2xpZW50IFdLX0RFUFJFQ0FURUQo
IlVzZSBhbiBleHBsaWNpdCB2ZXJzaW9uZWQgc3RydWN0IGluc3RlYWQiKTsKIAogCiBXS19FWFBP
UlQgV0tUeXBlSUQgV0tCdW5kbGVQYWdlQmFubmVyR2V0VHlwZUlEKCk7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9jL1dLQnVuZGxlUGFn
ZUNvbnRleHRNZW51Q2xpZW50LmggYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL0luamVjdGVk
QnVuZGxlL0FQSS9jL1dLQnVuZGxlUGFnZUNvbnRleHRNZW51Q2xpZW50LmgKaW5kZXggMzI1MWRi
OTEyYTU0MmIyY2UzNWMzZTE4NWEwMGE4ZTIzNzVjZTc2Mi4uNTVjZGIxOGEzYWU4ZDAzZGNkZDA5
Njg5ZjgxMTY2OWNkZWY5NTQ4YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vz
cy9JbmplY3RlZEJ1bmRsZS9BUEkvYy9XS0J1bmRsZVBhZ2VDb250ZXh0TWVudUNsaWVudC5oCisr
KyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL2MvV0tCdW5k
bGVQYWdlQ29udGV4dE1lbnVDbGllbnQuaApAQCAtNDIsMTQgKzQyLDEzIEBAIHR5cGVkZWYgc3Ry
dWN0IFdLQnVuZGxlUGFnZUNvbnRleHRNZW51Q2xpZW50VjAgewogICAgIFdLQnVuZGxlUGFnZUdl
dENvbnRleHRNZW51RnJvbURlZmF1bHRDb250ZXh0TWVudUNhbGxiYWNrICAgICAgICAgICAgZ2V0
Q29udGV4dE1lbnVGcm9tRGVmYXVsdE1lbnU7CiB9IFdLQnVuZGxlUGFnZUNvbnRleHRNZW51Q2xp
ZW50VjA7CiAKLS8vIEZJWE1FOiBEZXByZWNhdGUuCi1lbnVtIHsga1dLQnVuZGxlUGFnZUNvbnRl
eHRNZW51Q2xpZW50Q3VycmVudFZlcnNpb24gPSAwIH07CitlbnVtIHsga1dLQnVuZGxlUGFnZUNv
bnRleHRNZW51Q2xpZW50Q3VycmVudFZlcnNpb24gV0tfRU5VTV9ERVBSRUNBVEVEKCJVc2UgYW4g
ZXhwbGljaXQgdmVyc2lvbiBudW1iZXIgaW5zdGVhZCIpID0gMCB9OwogdHlwZWRlZiBzdHJ1Y3Qg
V0tCdW5kbGVQYWdlQ29udGV4dE1lbnVDbGllbnQgewogICAgIGludCAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmVyc2lvbjsK
ICAgICBjb25zdCB2b2lkICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGNsaWVudEluZm87CiAKICAgICAvLyBWZXJzaW9uIDAuCiAgICAgV0tC
dW5kbGVQYWdlR2V0Q29udGV4dE1lbnVGcm9tRGVmYXVsdENvbnRleHRNZW51Q2FsbGJhY2sgICAg
ICAgICAgICBnZXRDb250ZXh0TWVudUZyb21EZWZhdWx0TWVudTsKLX0gV0tCdW5kbGVQYWdlQ29u
dGV4dE1lbnVDbGllbnQ7Cit9IFdLQnVuZGxlUGFnZUNvbnRleHRNZW51Q2xpZW50IFdLX0RFUFJF
Q0FURUQoIlVzZSBhbiBleHBsaWNpdCB2ZXJzaW9uZWQgc3RydWN0IGluc3RlYWQiKTsKIAogI2Vu
ZGlmIC8vIFdLQnVuZGxlUGFnZUNvbnRleHRNZW51Q2xpZW50X2gKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL2MvV0tCdW5kbGVQYWdlRGlh
Z25vc3RpY0xvZ2dpbmdDbGllbnQuaCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvSW5qZWN0
ZWRCdW5kbGUvQVBJL2MvV0tCdW5kbGVQYWdlRGlhZ25vc3RpY0xvZ2dpbmdDbGllbnQuaAppbmRl
eCA1YzFiM2VhNDU2YjY5OTdkMWI2ZTJjZWE1MWVjZmIyMDgwODMzOGY2Li5mMGRjMDQxMzlhM2Y2
Y2FhZWExNTkxZTY5MmJjMmE4NjJjZWEyYjQxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9X
ZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9jL1dLQnVuZGxlUGFnZURpYWdub3N0aWNMb2dn
aW5nQ2xpZW50LmgKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRs
ZS9BUEkvYy9XS0J1bmRsZVBhZ2VEaWFnbm9zdGljTG9nZ2luZ0NsaWVudC5oCkBAIC00MiwxNCAr
NDIsMTMgQEAgdHlwZWRlZiBzdHJ1Y3QgV0tCdW5kbGVQYWdlRGlhZ25vc3RpY0xvZ2dpbmdDbGll
bnRWMCB7CiAgICAgV0tCdW5kbGVQYWdlRGlhZ25vc3RpY0xvZ2dpbmdDYWxsYmFjayAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBsb2dEaWFnbm9zdGljTWVzc2FnZTsKIH0gV0tCdW5kbGVQ
YWdlRGlhZ25vc3RpY0xvZ2dpbmdDbGllbnRWMDsKIAotLy8gRklYTUU6IERlcHJlY2F0ZS4KLWVu
dW0geyBrV0tCdW5kbGVQYWdlRGlhZ25vc3RpY0xvZ2dpbmdDbGllbnRDdXJyZW50VmVyc2lvbiA9
IDAgfTsKK2VudW0geyBrV0tCdW5kbGVQYWdlRGlhZ25vc3RpY0xvZ2dpbmdDbGllbnRDdXJyZW50
VmVyc2lvbiBXS19FTlVNX0RFUFJFQ0FURUQoIlVzZSBhbiBleHBsaWNpdCB2ZXJzaW9uIG51bWJl
ciBpbnN0ZWFkIikgPSAwIH07CiB0eXBlZGVmIHN0cnVjdCBXS0J1bmRsZVBhZ2VEaWFnbm9zdGlj
TG9nZ2luZ0NsaWVudCB7CiAgICAgaW50ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2ZXJzaW9uOwogICAgIGNvbnN0IHZvaWQg
KiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Y2xpZW50SW5mbzsKIAogICAgIC8vIFZlcnNpb24gMC4KICAgICBXS0J1bmRsZVBhZ2VEaWFnbm9z
dGljTG9nZ2luZ0NhbGxiYWNrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxvZ0RpYWdu
b3N0aWNNZXNzYWdlOwotfSBXS0J1bmRsZVBhZ2VEaWFnbm9zdGljTG9nZ2luZ0NsaWVudDsKK30g
V0tCdW5kbGVQYWdlRGlhZ25vc3RpY0xvZ2dpbmdDbGllbnQgV0tfREVQUkVDQVRFRCgiVXNlIGFu
IGV4cGxpY2l0IHZlcnNpb25lZCBzdHJ1Y3QgaW5zdGVhZCIpOwogCiAjZW5kaWYgLy8gV0tCdW5k
bGVQYWdlRGlhZ25vc3RpY0xvZ2dpbmdDbGllbnRfaApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dDIvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvYy9XS0J1bmRsZVBhZ2VFZGl0b3JDbGll
bnQuaCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL2MvV0tC
dW5kbGVQYWdlRWRpdG9yQ2xpZW50LmgKaW5kZXggNDhmN2QwMWI2YTliNGI2NGQ3ZjkxMDU5YTll
MDU5MmM3NmIwMDNkNi4uNTcwZDRlNmYyNmUxMGNlNDcxN2EwZWY0NjBiN2ZjODkxODM1NGY3MCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkv
Yy9XS0J1bmRsZVBhZ2VFZGl0b3JDbGllbnQuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9j
ZXNzL0luamVjdGVkQnVuZGxlL0FQSS9jL1dLQnVuZGxlUGFnZUVkaXRvckNsaWVudC5oCkBAIC0x
MTQsOCArMTE0LDcgQEAgdHlwZWRlZiBzdHJ1Y3QgV0tCdW5kbGVQYWdlRWRpdG9yQ2xpZW50VjEg
ewogICAgIFdLQnVuZGxlUGFnZURpZFdyaXRlVG9QYXN0ZWJvYXJkICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgZGlkV3JpdGVUb1Bhc3RlYm9hcmQ7CiB9IFdLQnVuZGxlUGFnZUVk
aXRvckNsaWVudFYxOwogCi0vLyBGSVhNRTogRGVwcmVjYXRlLgotZW51bSB7IGtXS0J1bmRsZVBh
Z2VFZGl0b3JDbGllbnRDdXJyZW50VmVyc2lvbiA9IDEgfTsKK2VudW0geyBrV0tCdW5kbGVQYWdl
RWRpdG9yQ2xpZW50Q3VycmVudFZlcnNpb24gV0tfRU5VTV9ERVBSRUNBVEVEKCJVc2UgYW4gZXhw
bGljaXQgdmVyc2lvbiBudW1iZXIgaW5zdGVhZCIpID0gMSB9OwogdHlwZWRlZiBzdHJ1Y3QgV0tC
dW5kbGVQYWdlRWRpdG9yQ2xpZW50IHsKICAgICBpbnQgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZlcnNpb247CiAgICAgY29u
c3Qgdm9pZCAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBjbGllbnRJbmZvOwpAQCAtMTM3LDYgKzEzNiw2IEBAIHR5cGVkZWYgc3RydWN0IFdL
QnVuZGxlUGFnZUVkaXRvckNsaWVudCB7CiAgICAgV0tCdW5kbGVQYWdlV2lsbFdyaXRlVG9QYXN0
ZWJvYXJkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWxsV3JpdGVUb1Bhc3Rl
Ym9hcmQ7CiAgICAgV0tCdW5kbGVQYWdlR2V0UGFzdGVib2FyZERhdGFGb3JSYW5nZSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBnZXRQYXN0ZWJvYXJkRGF0YUZvclJhbmdlOwogICAgIFdL
QnVuZGxlUGFnZURpZFdyaXRlVG9QYXN0ZWJvYXJkICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgZGlkV3JpdGVUb1Bhc3RlYm9hcmQ7Ci19IFdLQnVuZGxlUGFnZUVkaXRvckNsaWVu
dDsKK30gV0tCdW5kbGVQYWdlRWRpdG9yQ2xpZW50IFdLX0RFUFJFQ0FURUQoIlVzZSBhbiBleHBs
aWNpdCB2ZXJzaW9uZWQgc3RydWN0IGluc3RlYWQiKTsKIAogI2VuZGlmIC8vIFdLQnVuZGxlUGFn
ZUVkaXRvckNsaWVudF9oCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL0lu
amVjdGVkQnVuZGxlL0FQSS9jL1dLQnVuZGxlUGFnZUZvcm1DbGllbnQuaCBiL1NvdXJjZS9XZWJL
aXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL2MvV0tCdW5kbGVQYWdlRm9ybUNsaWVu
dC5oCmluZGV4IDMyMTViNmE0ZGNhOTU5YzA3MTBmYjA4ZTYwZGE3NDFhODBkY2I3ZmQuLjViZDNl
ZDQyODc0M2EwMWQ0Yjc5ZjEwMjlmMmUyYTEzMmNlYjRmZjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL2MvV0tCdW5kbGVQYWdlRm9ybUNs
aWVudC5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJ
L2MvV0tCdW5kbGVQYWdlRm9ybUNsaWVudC5oCkBAIC05MSw4ICs5MSw3IEBAIHR5cGVkZWYgc3Ry
dWN0IFdLQnVuZGxlUGFnZUZvcm1DbGllbnRWMiB7CiAgICAgV0tCdW5kbGVQYWdlRGlkQXNzb2Np
YXRlRm9ybUNvbnRyb2xzQ2FsbGJhY2sgICAgICAgICAgICAgICAgICAgICAgICBkaWRBc3NvY2lh
dGVGb3JtQ29udHJvbHM7CiB9IFdLQnVuZGxlUGFnZUZvcm1DbGllbnRWMjsKIAotLy8gRklYTUU6
IERlcHJlY2F0ZS4KLWVudW0geyBrV0tCdW5kbGVQYWdlRm9ybUNsaWVudEN1cnJlbnRWZXJzaW9u
ID0gMiB9OworZW51bSB7IGtXS0J1bmRsZVBhZ2VGb3JtQ2xpZW50Q3VycmVudFZlcnNpb24gV0tf
RU5VTV9ERVBSRUNBVEVEKCJVc2UgYW4gZXhwbGljaXQgdmVyc2lvbiBudW1iZXIgaW5zdGVhZCIp
ID0gMiB9OwogdHlwZWRlZiBzdHJ1Y3QgV0tCdW5kbGVQYWdlRm9ybUNsaWVudCB7CiAgICAgaW50
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICB2ZXJzaW9uOwogICAgIGNvbnN0IHZvaWQgKiAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xpZW50SW5mbzsKQEAgLTExMiw2ICsx
MTEsNiBAQCB0eXBlZGVmIHN0cnVjdCBXS0J1bmRsZVBhZ2VGb3JtQ2xpZW50IHsKICAgICBXS0J1
bmRsZVBhZ2VEaWRGb2N1c1RleHRGaWVsZENhbGxiYWNrICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGRpZEZvY3VzVGV4dEZpZWxkOwogICAgIFdLQnVuZGxlUGFnZVNob3VsZE5vdGlmeU9u
Rm9ybUNoYW5nZXNDYWxsYmFjayAgICAgICAgICAgICAgICAgICAgICAgc2hvdWxkTm90aWZ5T25G
b3JtQ2hhbmdlczsKICAgICBXS0J1bmRsZVBhZ2VEaWRBc3NvY2lhdGVGb3JtQ29udHJvbHNDYWxs
YmFjayAgICAgICAgICAgICAgICAgICAgICAgIGRpZEFzc29jaWF0ZUZvcm1Db250cm9sczsKLX0g
V0tCdW5kbGVQYWdlRm9ybUNsaWVudDsKK30gV0tCdW5kbGVQYWdlRm9ybUNsaWVudCBXS19ERVBS
RUNBVEVEKCJVc2UgYW4gZXhwbGljaXQgdmVyc2lvbmVkIHN0cnVjdCBpbnN0ZWFkIik7CiAKICNl
bmRpZiAvLyBXS0J1bmRsZVBhZ2VGb3JtQ2xpZW50X2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL2MvV0tCdW5kbGVQYWdlRnVsbFNjcmVl
bkNsaWVudC5oIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkv
Yy9XS0J1bmRsZVBhZ2VGdWxsU2NyZWVuQ2xpZW50LmgKaW5kZXggMzYyMzM3YmEzNjkzNzMxZTlj
YThhMjU4MTg3ZWY4YjUwMmQwNWI5Yy4uMzhmZTVkMzhjYzg3MmU3YTNhYTdhYzQ5ODE0NTBmNjQ4
NmQ1NTU4MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1
bmRsZS9BUEkvYy9XS0J1bmRsZVBhZ2VGdWxsU2NyZWVuQ2xpZW50LmgKKysrIGIvU291cmNlL1dl
YktpdDIvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvYy9XS0J1bmRsZVBhZ2VGdWxsU2Ny
ZWVuQ2xpZW50LmgKQEAgLTY0LDggKzY0LDcgQEAgdHlwZWRlZiBzdHJ1Y3QgV0tCdW5kbGVQYWdl
RnVsbFNjcmVlbkNsaWVudFYxIHsKICAgICBXS0J1bmRsZVBhZ2VDbG9zZUZ1bGxTY3JlZW4gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsb3NlRnVsbFNjcmVlbjsKIH0g
V0tCdW5kbGVQYWdlRnVsbFNjcmVlbkNsaWVudFYxOwogCi0vLyBGSVhNRTogRGVwcmVjYXRlLgot
ZW51bSB7IGtXS0J1bmRsZVBhZ2VGdWxsU2NyZWVuQ2xpZW50Q3VycmVudFZlcnNpb24gPSAxIH07
CitlbnVtIHsga1dLQnVuZGxlUGFnZUZ1bGxTY3JlZW5DbGllbnRDdXJyZW50VmVyc2lvbiBXS19F
TlVNX0RFUFJFQ0FURUQoIlVzZSBhbiBleHBsaWNpdCB2ZXJzaW9uIG51bWJlciBpbnN0ZWFkIikg
PSAxIH07CiB0eXBlZGVmIHN0cnVjdCBXS0J1bmRsZVBhZ2VGdWxsU2NyZWVuQ2xpZW50IHsKICAg
ICBpbnQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIHZlcnNpb247CiAgICAgY29uc3Qgdm9pZCAqICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGllbnRJbmZvOwpAQCAtNzks
NiArNzgsNiBAQCB0eXBlZGVmIHN0cnVjdCBXS0J1bmRsZVBhZ2VGdWxsU2NyZWVuQ2xpZW50IHsK
ICAgICBXS0J1bmRsZVBhZ2VCZWdhbkVudGVyRnVsbFNjcmVlbiAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGJlZ2FuRW50ZXJGdWxsU2NyZWVuOwogICAgIFdLQnVuZGxlUGFnZUJl
Z2FuRXhpdEZ1bGxTY3JlZW4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmVn
YW5FeGl0RnVsbFNjcmVlbjsKICAgICBXS0J1bmRsZVBhZ2VDbG9zZUZ1bGxTY3JlZW4gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsb3NlRnVsbFNjcmVlbjsKLX0gV0tC
dW5kbGVQYWdlRnVsbFNjcmVlbkNsaWVudDsKK30gV0tCdW5kbGVQYWdlRnVsbFNjcmVlbkNsaWVu
dCBXS19ERVBSRUNBVEVEKCJVc2UgYW4gZXhwbGljaXQgdmVyc2lvbmVkIHN0cnVjdCBpbnN0ZWFk
Iik7CiAKICNlbmRpZiAvLyBXS0J1bmRsZVBhZ2VGdWxsU2NyZWVuQ2xpZW50X2gKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL2MvV0tCdW5k
bGVQYWdlTG9hZGVyQ2xpZW50LmggYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL0luamVjdGVk
QnVuZGxlL0FQSS9jL1dLQnVuZGxlUGFnZUxvYWRlckNsaWVudC5oCmluZGV4IDJhNjExNjBkOWY1
NTY1MjA1MjVjOTIxOTcyMjYwMmM3NmJjYWZhMTkuLjAyMjRhNmY3YjE4NjcwMDNmNTA2OTA2Mjc0
NGVlMDBkNTc1MjI3NGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvSW5q
ZWN0ZWRCdW5kbGUvQVBJL2MvV0tCdW5kbGVQYWdlTG9hZGVyQ2xpZW50LmgKKysrIGIvU291cmNl
L1dlYktpdDIvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvYy9XS0J1bmRsZVBhZ2VMb2Fk
ZXJDbGllbnQuaApAQCAtNDA2LDggKzQwNiw3IEBAIHR5cGVkZWYgc3RydWN0IFdLQnVuZGxlUGFn
ZUxvYWRlckNsaWVudFY3IHsKICAgICBXS0J1bmRsZVBhZ2VXaWxsRGVzdHJveUZyYW1lICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWxsRGVzdHJveUZyYW1lOwog
fSBXS0J1bmRsZVBhZ2VMb2FkZXJDbGllbnRWNzsKIAotLy8gRklYTUU6IERlcHJlY2F0ZS4KLWVu
dW0geyBrV0tCdW5kbGVQYWdlTG9hZGVyQ2xpZW50Q3VycmVudFZlcnNpb24gPSA3IH07CitlbnVt
IHsga1dLQnVuZGxlUGFnZUxvYWRlckNsaWVudEN1cnJlbnRWZXJzaW9uIFdLX0VOVU1fREVQUkVD
QVRFRCgiVXNlIGFuIGV4cGxpY2l0IHZlcnNpb24gbnVtYmVyIGluc3RlYWQiKSA9IDcgfTsKIHR5
cGVkZWYgc3RydWN0IFdLQnVuZGxlUGFnZUxvYWRlckNsaWVudCB7CiAgICAgaW50ICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgdmVyc2lvbjsKICAgICBjb25zdCB2b2lkICogICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGllbnRJbmZvOwpAQCAtNDYyLDYgKzQ2
MSw2IEBAIHR5cGVkZWYgc3RydWN0IFdLQnVuZGxlUGFnZUxvYWRlckNsaWVudCB7CiAKICAgICAv
LyBWZXJzaW9uIDcKICAgICBXS0J1bmRsZVBhZ2VXaWxsRGVzdHJveUZyYW1lICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWxsRGVzdHJveUZyYW1lOwotfSBXS0J1
bmRsZVBhZ2VMb2FkZXJDbGllbnQ7Cit9IFdLQnVuZGxlUGFnZUxvYWRlckNsaWVudCBXS19ERVBS
RUNBVEVEKCJVc2UgYW4gZXhwbGljaXQgdmVyc2lvbmVkIHN0cnVjdCBpbnN0ZWFkIik7CiAKICNl
bmRpZiAvLyBXS0J1bmRsZVBhZ2VMb2FkZXJDbGllbnRfaApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdDIvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvYy9XS0J1bmRsZVBhZ2VPdmVybGF5
LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL2MvV0tC
dW5kbGVQYWdlT3ZlcmxheS5jcHAKaW5kZXggZTY0MWNhZjNlZTkyYzI2N2MxYWVmMGEzZDE3NmMx
YTVhN2ZjYjQ5OC4uYzc1ZmQxNDgwNDkwMGViNTMyMGNlZTY0NTJhYTcyM2U3N2NmZjZmYiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvYy9X
S0J1bmRsZVBhZ2VPdmVybGF5LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL0lu
amVjdGVkQnVuZGxlL0FQSS9jL1dLQnVuZGxlUGFnZU92ZXJsYXkuY3BwCkBAIC0xNDcsMjIgKzE0
NywyMiBAQCBXS1R5cGVJRCBXS0J1bmRsZVBhZ2VPdmVybGF5R2V0VHlwZUlEKCkKICAgICByZXR1
cm4gdG9BUEkoUGFnZU92ZXJsYXk6OkFQSVR5cGUpOwogfQogCi1XS0J1bmRsZVBhZ2VPdmVybGF5
UmVmIFdLQnVuZGxlUGFnZU92ZXJsYXlDcmVhdGUoV0tCdW5kbGVQYWdlT3ZlcmxheUNsaWVudCog
d2tDbGllbnQpCitXS0J1bmRsZVBhZ2VPdmVybGF5UmVmIFdLQnVuZGxlUGFnZU92ZXJsYXlDcmVh
dGUoV0tCdW5kbGVQYWdlT3ZlcmxheUNsaWVudEJhc2UqIHdrQ2xpZW50KQogewogICAgIGlmICh3
a0NsaWVudCAmJiB3a0NsaWVudC0+dmVyc2lvbikKICAgICAgICAgcmV0dXJuIDA7CiAKLSAgICBh
dXRvIGNsaWVudEltcGwgPSBzdGQ6Om1ha2VfdW5pcXVlPFBhZ2VPdmVybGF5Q2xpZW50SW1wbD4o
cmVpbnRlcnByZXRfY2FzdDxXS0J1bmRsZVBhZ2VPdmVybGF5Q2xpZW50QmFzZSo+KHdrQ2xpZW50
KSk7CisgICAgYXV0byBjbGllbnRJbXBsID0gc3RkOjptYWtlX3VuaXF1ZTxQYWdlT3ZlcmxheUNs
aWVudEltcGw+KHdrQ2xpZW50KTsKIAogICAgIC8vIEZJWE1FOiBMb29rcyBsaWtlIHRoaXMgbGVh
a3MgdGhlIGNsaWVudEltcGwuCiAgICAgcmV0dXJuIHRvQVBJKFBhZ2VPdmVybGF5OjpjcmVhdGUo
Y2xpZW50SW1wbC5yZWxlYXNlKCkpLmxlYWtSZWYoKSk7CiB9CiAKLXZvaWQgV0tCdW5kbGVQYWdl
T3ZlcmxheVNldEFjY2Vzc2liaWxpdHlDbGllbnQoV0tCdW5kbGVQYWdlT3ZlcmxheVJlZiBidW5k
bGVQYWdlT3ZlcmxheVJlZiwgV0tCdW5kbGVQYWdlT3ZlcmxheUFjY2Vzc2liaWxpdHlDbGllbnQq
IGNsaWVudCkKK3ZvaWQgV0tCdW5kbGVQYWdlT3ZlcmxheVNldEFjY2Vzc2liaWxpdHlDbGllbnQo
V0tCdW5kbGVQYWdlT3ZlcmxheVJlZiBidW5kbGVQYWdlT3ZlcmxheVJlZiwgV0tCdW5kbGVQYWdl
T3ZlcmxheUFjY2Vzc2liaWxpdHlDbGllbnRCYXNlKiBjbGllbnQpCiB7CiAgICAgaWYgKGNsaWVu
dCAmJiBjbGllbnQtPnZlcnNpb24pCiAgICAgICAgIHJldHVybjsKLSAgICBzdGF0aWNfY2FzdDxQ
YWdlT3ZlcmxheUNsaWVudEltcGwqPih0b0ltcGwoYnVuZGxlUGFnZU92ZXJsYXlSZWYpLT5jbGll
bnQoKSktPnNldEFjY2Vzc2liaWxpdHlDbGllbnQocmVpbnRlcnByZXRfY2FzdDxXS0J1bmRsZVBh
Z2VPdmVybGF5QWNjZXNzaWJpbGl0eUNsaWVudEJhc2UqPihjbGllbnQpKTsKKyAgICBzdGF0aWNf
Y2FzdDxQYWdlT3ZlcmxheUNsaWVudEltcGwqPih0b0ltcGwoYnVuZGxlUGFnZU92ZXJsYXlSZWYp
LT5jbGllbnQoKSktPnNldEFjY2Vzc2liaWxpdHlDbGllbnQoY2xpZW50KTsKIH0KIAogdm9pZCBX
S0J1bmRsZVBhZ2VPdmVybGF5U2V0TmVlZHNEaXNwbGF5KFdLQnVuZGxlUGFnZU92ZXJsYXlSZWYg
YnVuZGxlUGFnZU92ZXJsYXlSZWYsIFdLUmVjdCByZWN0KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdDIvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvYy9XS0J1bmRsZVBhZ2VPdmVybGF5
LmggYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9jL1dLQnVu
ZGxlUGFnZU92ZXJsYXkuaAppbmRleCAwNTczMjVmMzE3ZTcwMGFkNDc0N2VkZTVhYmE2MTM4YmQz
ZjFhNzA3Li5iMWVlMjEwZDE3ZjYzZWEzZDIzNTU5NWJiOTE2ZGY2MDZjOTdkNmM4IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9jL1dLQnVu
ZGxlUGFnZU92ZXJsYXkuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL0luamVjdGVk
QnVuZGxlL0FQSS9jL1dLQnVuZGxlUGFnZU92ZXJsYXkuaApAQCAtNjcsOCArNjcsNyBAQCB0eXBl
ZGVmIHN0cnVjdCBXS0J1bmRsZVBhZ2VPdmVybGF5Q2xpZW50VjAgewogICAgIFdLQnVuZGxlUGFn
ZU92ZXJsYXlNb3VzZURyYWdnZWRDYWxsYmFjayAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
bW91c2VEcmFnZ2VkOwogfSBXS0J1bmRsZVBhZ2VPdmVybGF5Q2xpZW50VjA7CiAKLS8vIEZJWE1F
OiBEZXByZWNhdGUuCi1lbnVtIHsga1dLQnVuZGxlUGFnZU92ZXJsYXlDbGllbnRDdXJyZW50VmVy
c2lvbiA9IDAgfTsKK2VudW0geyBrV0tCdW5kbGVQYWdlT3ZlcmxheUNsaWVudEN1cnJlbnRWZXJz
aW9uIFdLX0VOVU1fREVQUkVDQVRFRCgiVXNlIGFuIGV4cGxpY2l0IHZlcnNpb24gbnVtYmVyIGlu
c3RlYWQiKSA9IDAgfTsKIHR5cGVkZWYgc3RydWN0IFdLQnVuZGxlUGFnZU92ZXJsYXlDbGllbnQg
ewogICAgIGludCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgdmVyc2lvbjsKICAgICBjb25zdCB2b2lkICogICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsaWVudEluZm87CkBA
IC04MSw3ICs4MCw3IEBAIHR5cGVkZWYgc3RydWN0IFdLQnVuZGxlUGFnZU92ZXJsYXlDbGllbnQg
ewogICAgIFdLQnVuZGxlUGFnZU92ZXJsYXlNb3VzZVVwQ2FsbGJhY2sgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgbW91c2VVcDsKICAgICBXS0J1bmRsZVBhZ2VPdmVybGF5TW91c2VN
b3ZlZENhbGxiYWNrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1vdXNlTW92ZWQ7CiAg
ICAgV0tCdW5kbGVQYWdlT3ZlcmxheU1vdXNlRHJhZ2dlZENhbGxiYWNrICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBtb3VzZURyYWdnZWQ7Ci19IFdLQnVuZGxlUGFnZU92ZXJsYXlDbGllbnQ7
Cit9IFdLQnVuZGxlUGFnZU92ZXJsYXlDbGllbnQgV0tfREVQUkVDQVRFRCgiVXNlIGFuIGV4cGxp
Y2l0IHZlcnNpb25lZCBzdHJ1Y3QgaW5zdGVhZCIpOwogCiB0eXBlZGVmIFdLVHlwZVJlZiAoKldL
QWNjZXNzaWJpbGl0eUF0dHJpYnV0ZVZhbHVlQ2FsbGJhY2spKFdLQnVuZGxlUGFnZU92ZXJsYXlS
ZWYgcGFnZU92ZXJsYXksIFdLU3RyaW5nUmVmIGF0dHJpYnV0ZSwgV0tUeXBlUmVmIHBhcmFtZXRl
ciwgY29uc3Qgdm9pZCogY2xpZW50SW5mbyk7CiB0eXBlZGVmIFdLQXJyYXlSZWYgKCpXS0FjY2Vz
c2liaWxpdHlBdHRyaWJ1dGVOYW1lc0NhbGxiYWNrKShXS0J1bmRsZVBhZ2VPdmVybGF5UmVmIHBh
Z2VPdmVybGF5LCBib29sIHBhcmFtZXRlcml6ZWROYW1lcywgY29uc3Qgdm9pZCogY2xpZW50SW5m
byk7CkBAIC05OSw4ICs5OCw3IEBAIHR5cGVkZWYgc3RydWN0IFdLQnVuZGxlUGFnZU92ZXJsYXlB
Y2Nlc3NpYmlsaXR5Q2xpZW50VjAgewogICAgIFdLQWNjZXNzaWJpbGl0eUF0dHJpYnV0ZU5hbWVz
Q2FsbGJhY2sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29weUFjY2Vzc2liaWxpdHlB
dHRyaWJ1dGVOYW1lczsKIH0gV0tCdW5kbGVQYWdlT3ZlcmxheUFjY2Vzc2liaWxpdHlDbGllbnRW
MDsKIAotLy8gRklYTUU6IERlcHJlY2F0ZS4KLWVudW0geyBrV0tCdW5kbGVQYWdlT3ZlcmxheUFj
Y2Vzc2liaWxpdHlDbGllbnRDdXJyZW50VmVyc2lvbiA9IDAgfTsKK2VudW0geyBrV0tCdW5kbGVQ
YWdlT3ZlcmxheUFjY2Vzc2liaWxpdHlDbGllbnRDdXJyZW50VmVyc2lvbiBXS19FTlVNX0RFUFJF
Q0FURUQoIlVzZSBhbiBleHBsaWNpdCB2ZXJzaW9uIG51bWJlciBpbnN0ZWFkIikgPSAwIH07CiB0
eXBlZGVmIHN0cnVjdCBXS0J1bmRsZVBhZ2VPdmVybGF5QWNjZXNzaWJpbGl0eUNsaWVudCB7CiAg
ICAgaW50ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICB2ZXJzaW9uOwogICAgIGNvbnN0IHZvaWQgKiAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xpZW50SW5mbzsKQEAgLTEw
OCwxNCArMTA2LDE0IEBAIHR5cGVkZWYgc3RydWN0IFdLQnVuZGxlUGFnZU92ZXJsYXlBY2Nlc3Np
YmlsaXR5Q2xpZW50IHsKICAgICAvLyBWZXJzaW9uIDAuCiAgICAgV0tBY2Nlc3NpYmlsaXR5QXR0
cmlidXRlVmFsdWVDYWxsYmFjayAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb3B5QWNj
ZXNzaWJpbGl0eUF0dHJpYnV0ZVZhbHVlOwogICAgIFdLQWNjZXNzaWJpbGl0eUF0dHJpYnV0ZU5h
bWVzQ2FsbGJhY2sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29weUFjY2Vzc2liaWxp
dHlBdHRyaWJ1dGVOYW1lczsKLX0gV0tCdW5kbGVQYWdlT3ZlcmxheUFjY2Vzc2liaWxpdHlDbGll
bnQ7Ci0gICAgCit9IFdLQnVuZGxlUGFnZU92ZXJsYXlBY2Nlc3NpYmlsaXR5Q2xpZW50IFdLX0RF
UFJFQ0FURUQoIlVzZSBhbiBleHBsaWNpdCB2ZXJzaW9uZWQgc3RydWN0IGluc3RlYWQiKTsKKwog
V0tfRVhQT1JUIFdLVHlwZUlEIFdLQnVuZGxlUGFnZU92ZXJsYXlHZXRUeXBlSUQoKTsKIAotV0tf
RVhQT1JUIFdLQnVuZGxlUGFnZU92ZXJsYXlSZWYgV0tCdW5kbGVQYWdlT3ZlcmxheUNyZWF0ZShX
S0J1bmRsZVBhZ2VPdmVybGF5Q2xpZW50KiBjbGllbnQpOworV0tfRVhQT1JUIFdLQnVuZGxlUGFn
ZU92ZXJsYXlSZWYgV0tCdW5kbGVQYWdlT3ZlcmxheUNyZWF0ZShXS0J1bmRsZVBhZ2VPdmVybGF5
Q2xpZW50QmFzZSogY2xpZW50KTsKIFdLX0VYUE9SVCB2b2lkIFdLQnVuZGxlUGFnZU92ZXJsYXlT
ZXROZWVkc0Rpc3BsYXkoV0tCdW5kbGVQYWdlT3ZlcmxheVJlZiBidW5kbGVQYWdlT3ZlcmxheSwg
V0tSZWN0IHJlY3QpOwogV0tfRVhQT1JUIGZsb2F0IFdLQnVuZGxlUGFnZU92ZXJsYXlGcmFjdGlv
bkZhZGVkSW4oV0tCdW5kbGVQYWdlT3ZlcmxheVJlZiBidW5kbGVQYWdlT3ZlcmxheSk7Ci1XS19F
WFBPUlQgdm9pZCBXS0J1bmRsZVBhZ2VPdmVybGF5U2V0QWNjZXNzaWJpbGl0eUNsaWVudChXS0J1
bmRsZVBhZ2VPdmVybGF5UmVmIGJ1bmRsZVBhZ2VPdmVybGF5LCBXS0J1bmRsZVBhZ2VPdmVybGF5
QWNjZXNzaWJpbGl0eUNsaWVudCogY2xpZW50KTsKK1dLX0VYUE9SVCB2b2lkIFdLQnVuZGxlUGFn
ZU92ZXJsYXlTZXRBY2Nlc3NpYmlsaXR5Q2xpZW50KFdLQnVuZGxlUGFnZU92ZXJsYXlSZWYgYnVu
ZGxlUGFnZU92ZXJsYXksIFdLQnVuZGxlUGFnZU92ZXJsYXlBY2Nlc3NpYmlsaXR5Q2xpZW50QmFz
ZSogY2xpZW50KTsKIAogI2lmZGVmIF9fY3BsdXNwbHVzCiB9CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0Mi9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9jL1dLQnVuZGxlUGFnZVBvbGlj
eUNsaWVudC5oIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkv
Yy9XS0J1bmRsZVBhZ2VQb2xpY3lDbGllbnQuaAppbmRleCBlYTEyMDVmYzM5NDEyMjQxZGFkNmNl
ZDQ2N2E0NTc5MTA4NDBmNDVjLi5hNDIxYzY3NDIyNTViNTVjMWYxMjhiZmVkYzMxOThkMjQzZjBi
MTVlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxl
L0FQSS9jL1dLQnVuZGxlUGFnZVBvbGljeUNsaWVudC5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dl
YlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL2MvV0tCdW5kbGVQYWdlUG9saWN5Q2xpZW50LmgK
QEAgLTU0LDggKzU0LDcgQEAgdHlwZWRlZiBzdHJ1Y3QgV0tCdW5kbGVQYWdlUG9saWN5Q2xpZW50
VjAgewogICAgIFdLQnVuZGxlUGFnZVVuYWJsZVRvSW1wbGVtZW50UG9saWN5Q2FsbGJhY2sgICAg
ICAgICAgICAgICAgICAgICAgICAgdW5hYmxlVG9JbXBsZW1lbnRQb2xpY3k7CiB9IFdLQnVuZGxl
UGFnZVBvbGljeUNsaWVudFYwOwogCi0vLyBGSVhNRTogRGVwcmVjYXRlLgotZW51bSB7IGtXS0J1
bmRsZVBhZ2VQb2xpY3lDbGllbnRDdXJyZW50VmVyc2lvbiA9IDAgfTsKK2VudW0geyBrV0tCdW5k
bGVQYWdlUG9saWN5Q2xpZW50Q3VycmVudFZlcnNpb24gV0tfRU5VTV9ERVBSRUNBVEVEKCJVc2Ug
YW4gZXhwbGljaXQgdmVyc2lvbiBudW1iZXIgaW5zdGVhZCIpID0gMCB9OwogdHlwZWRlZiBzdHJ1
Y3QgV0tCdW5kbGVQYWdlUG9saWN5Q2xpZW50IHsKICAgICBpbnQgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZlcnNpb247CiAg
ICAgY29uc3Qgdm9pZCAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBjbGllbnRJbmZvOwpAQCAtNjUsNiArNjQsNiBAQCB0eXBlZGVmIHN0cnVj
dCBXS0J1bmRsZVBhZ2VQb2xpY3lDbGllbnQgewogICAgIFdLQnVuZGxlUGFnZURlY2lkZVBvbGlj
eUZvck5ld1dpbmRvd0FjdGlvbkNhbGxiYWNrICAgICAgICAgICAgICAgICAgZGVjaWRlUG9saWN5
Rm9yTmV3V2luZG93QWN0aW9uOwogICAgIFdLQnVuZGxlUGFnZURlY2lkZVBvbGljeUZvclJlc3Bv
bnNlQ2FsbGJhY2sgICAgICAgICAgICAgICAgICAgICAgICAgZGVjaWRlUG9saWN5Rm9yUmVzcG9u
c2U7CiAgICAgV0tCdW5kbGVQYWdlVW5hYmxlVG9JbXBsZW1lbnRQb2xpY3lDYWxsYmFjayAgICAg
ICAgICAgICAgICAgICAgICAgICB1bmFibGVUb0ltcGxlbWVudFBvbGljeTsKLX0gV0tCdW5kbGVQ
YWdlUG9saWN5Q2xpZW50OworfSBXS0J1bmRsZVBhZ2VQb2xpY3lDbGllbnQgV0tfREVQUkVDQVRF
RCgiVXNlIGFuIGV4cGxpY2l0IHZlcnNpb25lZCBzdHJ1Y3QgaW5zdGVhZCIpOwogCiAjZW5kaWYg
Ly8gV0tCdW5kbGVQYWdlUG9saWN5Q2xpZW50X2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQy
L1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL2MvV0tCdW5kbGVQYWdlUmVzb3VyY2VMb2Fk
Q2xpZW50LmggYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9j
L1dLQnVuZGxlUGFnZVJlc291cmNlTG9hZENsaWVudC5oCmluZGV4IDU2ZmUzYzNjMjk2ZjU4NWU2
ZTQwNjQxOGQzNjkyZmEzN2RlMzE3OTUuLjJhY2RlNjgyY2M1NjNmYzJkMjcyODRkZTUxNmVjOTQ2
YzVjMDM3NjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRC
dW5kbGUvQVBJL2MvV0tCdW5kbGVQYWdlUmVzb3VyY2VMb2FkQ2xpZW50LmgKKysrIGIvU291cmNl
L1dlYktpdDIvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvYy9XS0J1bmRsZVBhZ2VSZXNv
dXJjZUxvYWRDbGllbnQuaApAQCAtNzYsOCArNzYsNyBAQCB0eXBlZGVmIHN0cnVjdCBXS0J1bmRs
ZVBhZ2VSZXNvdXJjZUxvYWRDbGllbnRWMSB7CiAgICAgV0tCdW5kbGVQYWdlU2hvdWxkVXNlQ3Jl
ZGVudGlhbFN0b3JhZ2VDYWxsYmFjayAgICAgICAgICAgICAgICAgICAgICBzaG91bGRVc2VDcmVk
ZW50aWFsU3RvcmFnZTsKIH0gV0tCdW5kbGVQYWdlUmVzb3VyY2VMb2FkQ2xpZW50VjE7CiAKLS8v
IEZJWE1FOiBEZXByZWNhdGUuCi1lbnVtIHsga1dLQnVuZGxlUGFnZVJlc291cmNlTG9hZENsaWVu
dEN1cnJlbnRWZXJzaW9uID0gMSB9OworZW51bSB7IGtXS0J1bmRsZVBhZ2VSZXNvdXJjZUxvYWRD
bGllbnRDdXJyZW50VmVyc2lvbiBXS19FTlVNX0RFUFJFQ0FURUQoIlVzZSBhbiBleHBsaWNpdCB2
ZXJzaW9uIG51bWJlciBpbnN0ZWFkIikgPSAxIH07CiB0eXBlZGVmIHN0cnVjdCBXS0J1bmRsZVBh
Z2VSZXNvdXJjZUxvYWRDbGllbnQgewogICAgIGludCAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmVyc2lvbjsKICAgICBjb25z
dCB2b2lkICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGNsaWVudEluZm87CkBAIC05Niw2ICs5NSw2IEBAIHR5cGVkZWYgc3RydWN0IFdLQnVu
ZGxlUGFnZVJlc291cmNlTG9hZENsaWVudCB7CiAgICAgLy8gVmVyc2lvbiAxLgogICAgIFdLQnVu
ZGxlUGFnZVNob3VsZENhY2hlUmVzcG9uc2VDYWxsYmFjayAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQ2FjaGVSZXNwb25zZTsKICAgICBXS0J1bmRsZVBhZ2VTaG91bGRVc2VDcmVk
ZW50aWFsU3RvcmFnZUNhbGxiYWNrICAgICAgICAgICAgICAgICAgICAgIHNob3VsZFVzZUNyZWRl
bnRpYWxTdG9yYWdlOwotfSBXS0J1bmRsZVBhZ2VSZXNvdXJjZUxvYWRDbGllbnQ7Cit9IFdLQnVu
ZGxlUGFnZVJlc291cmNlTG9hZENsaWVudCBXS19ERVBSRUNBVEVEKCJVc2UgYW4gZXhwbGljaXQg
dmVyc2lvbmVkIHN0cnVjdCBpbnN0ZWFkIik7CiAKICNlbmRpZiAvLyBXS0J1bmRsZVBhZ2VSZXNv
dXJjZUxvYWRDbGllbnRfaApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9J
bmplY3RlZEJ1bmRsZS9BUEkvYy9XS0J1bmRsZVBhZ2VVSUNsaWVudC5oIGIvU291cmNlL1dlYktp
dDIvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvYy9XS0J1bmRsZVBhZ2VVSUNsaWVudC5o
CmluZGV4IDE5MjlmOWMyMWVjMzQyZGZkNWUzNjYyYWIzNjg1NzlhOWJhYzI3M2QuLmUyOTY1NmVi
N2UyOTdiM2I0YTAwNWRkMzY1YjIzZWIzMTQ2YzhhMDggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL2MvV0tCdW5kbGVQYWdlVUlDbGllbnQu
aAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9jL1dL
QnVuZGxlUGFnZVVJQ2xpZW50LmgKQEAgLTEzMyw4ICsxMzMsNyBAQCB0eXBlZGVmIHN0cnVjdCBX
S0J1bmRsZVBhZ2VVSUNsaWVudFYyIHsKICAgICBXS0J1bmRsZVBhZ2VQbHVnSW5DcmVhdGVFeHRy
YVNjcmlwdENhbGxiYWNrICAgICAgICAgICAgICAgICAgICAgICAgIGNyZWF0ZVBsdWdJbkV4dHJh
U2NyaXB0OwogfSBXS0J1bmRsZVBhZ2VVSUNsaWVudFYyOwogCi0vLyBGSVhNRTogRGVwcmVjYXRl
LgotZW51bSB7IGtXS0J1bmRsZVBhZ2VVSUNsaWVudEN1cnJlbnRWZXJzaW9uID0gMiB9OworZW51
bSB7IGtXS0J1bmRsZVBhZ2VVSUNsaWVudEN1cnJlbnRWZXJzaW9uIFdLX0VOVU1fREVQUkVDQVRF
RCgiVXNlIGFuIGV4cGxpY2l0IHZlcnNpb24gbnVtYmVyIGluc3RlYWQiKSA9IDIgfTsKIHR5cGVk
ZWYgc3RydWN0IFdLQnVuZGxlUGFnZVVJQ2xpZW50IHsKICAgICBpbnQgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZlcnNpb247
CiAgICAgY29uc3Qgdm9pZCAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBjbGllbnRJbmZvOwpAQCAtMTY0LDYgKzE2Myw2IEBAIHR5cGVkZWYg
c3RydWN0IFdLQnVuZGxlUGFnZVVJQ2xpZW50IHsKICAgICBXS0J1bmRsZVBhZ2VQbHVnSW5DcmVh
dGVTdGFydExhYmVsU3VidGl0bGVDYWxsYmFjayAgICAgICAgICAgICAgICAgIGNyZWF0ZVBsdWdJ
blN0YXJ0TGFiZWxTdWJ0aXRsZTsKICAgICBXS0J1bmRsZVBhZ2VQbHVnSW5DcmVhdGVFeHRyYVN0
eWxlU2hlZXRDYWxsYmFjayAgICAgICAgICAgICAgICAgICAgIGNyZWF0ZVBsdWdJbkV4dHJhU3R5
bGVTaGVldDsKICAgICBXS0J1bmRsZVBhZ2VQbHVnSW5DcmVhdGVFeHRyYVNjcmlwdENhbGxiYWNr
ICAgICAgICAgICAgICAgICAgICAgICAgIGNyZWF0ZVBsdWdJbkV4dHJhU2NyaXB0OwotfSBXS0J1
bmRsZVBhZ2VVSUNsaWVudDsKK30gV0tCdW5kbGVQYWdlVUlDbGllbnQgV0tfREVQUkVDQVRFRCgi
VXNlIGFuIGV4cGxpY2l0IHZlcnNpb25lZCBzdHJ1Y3QgaW5zdGVhZCIpOwogCiAjZW5kaWYgLy8g
V0tCdW5kbGVQYWdlVUlDbGllbnRfaApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJv
Y2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvYy9tYWMvV0tCdW5kbGVQYWdlQmFubmVyTWFjLmggYi9T
b3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9jL21hYy9XS0J1bmRs
ZVBhZ2VCYW5uZXJNYWMuaAppbmRleCBlZDA0YjBjNWYxNjdlMWVhNDFhNjBiMzU5OTAyOGJjYzMy
ZGIxZmMyLi4yYjEyMmRjMWI5Njc1NmE5MTY2NGEwYjVmYjMwZjFmYzg4YWM1Zjg3IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9jL21hYy9X
S0J1bmRsZVBhZ2VCYW5uZXJNYWMuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL0lu
amVjdGVkQnVuZGxlL0FQSS9jL21hYy9XS0J1bmRsZVBhZ2VCYW5uZXJNYWMuaApAQCAtMzUsNyAr
MzUsNyBAQAogZXh0ZXJuICJDIiB7CiAjZW5kaWYKIAotV0tfRVhQT1JUIFdLQnVuZGxlUGFnZUJh
bm5lclJlZiBXS0J1bmRsZVBhZ2VCYW5uZXJDcmVhdGVCYW5uZXJXaXRoQ0FMYXllcihDQUxheWVy
ICpsYXllciwgaW50IGhlaWdodCwgV0tCdW5kbGVQYWdlQmFubmVyQ2xpZW50ICogY2xpZW50KTsK
K1dLX0VYUE9SVCBXS0J1bmRsZVBhZ2VCYW5uZXJSZWYgV0tCdW5kbGVQYWdlQmFubmVyQ3JlYXRl
QmFubmVyV2l0aENBTGF5ZXIoQ0FMYXllciAqbGF5ZXIsIGludCBoZWlnaHQsIFdLQnVuZGxlUGFn
ZUJhbm5lckNsaWVudEJhc2UqIGNsaWVudCk7CiAKIFdLX0VYUE9SVCBDQUxheWVyICogV0tCdW5k
bGVQYWdlQmFubmVyR2V0TGF5ZXIoV0tCdW5kbGVQYWdlQmFubmVyUmVmIHBhZ2VCYW5uZXIpOwog
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQ
SS9jL21hYy9XS0J1bmRsZVBhZ2VCYW5uZXJNYWMubW0gYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9j
ZXNzL0luamVjdGVkQnVuZGxlL0FQSS9jL21hYy9XS0J1bmRsZVBhZ2VCYW5uZXJNYWMubW0KaW5k
ZXggZGI5NWZkOWE3YjYxZmUzMDI2ZWRhNmFlOGE1OWZiOTY2NjBhNTBjZi4uMjMwMDI3NDdiNTEw
YTZiZWRhNmQ4YjJhYTBkNjM5NmEzNzRlOWFlOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIv
V2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvYy9tYWMvV0tCdW5kbGVQYWdlQmFubmVyTWFj
Lm1tCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL2Mv
bWFjL1dLQnVuZGxlUGFnZUJhbm5lck1hYy5tbQpAQCAtOTUsMTIgKzk1LDEyIEBAIHByaXZhdGU6
CiAgICAgfQogfTsKIAotV0tCdW5kbGVQYWdlQmFubmVyUmVmIFdLQnVuZGxlUGFnZUJhbm5lckNy
ZWF0ZUJhbm5lcldpdGhDQUxheWVyKENBTGF5ZXIgKmxheWVyLCBpbnQgaGVpZ2h0LCBXS0J1bmRs
ZVBhZ2VCYW5uZXJDbGllbnQqIHdrQ2xpZW50KQorV0tCdW5kbGVQYWdlQmFubmVyUmVmIFdLQnVu
ZGxlUGFnZUJhbm5lckNyZWF0ZUJhbm5lcldpdGhDQUxheWVyKENBTGF5ZXIgKmxheWVyLCBpbnQg
aGVpZ2h0LCBXS0J1bmRsZVBhZ2VCYW5uZXJDbGllbnRCYXNlKiB3a0NsaWVudCkKIHsKICAgICBp
ZiAod2tDbGllbnQgJiYgd2tDbGllbnQtPnZlcnNpb24pCiAgICAgICAgIHJldHVybiAwOwogCi0g
ICAgYXV0byBjbGllbnRJbXBsID0gc3RkOjptYWtlX3VuaXF1ZTxQYWdlQmFubmVyQ2xpZW50SW1w
bD4ocmVpbnRlcnByZXRfY2FzdDxXS0J1bmRsZVBhZ2VCYW5uZXJDbGllbnRCYXNlKj4od2tDbGll
bnQpKTsKKyAgICBhdXRvIGNsaWVudEltcGwgPSBzdGQ6Om1ha2VfdW5pcXVlPFBhZ2VCYW5uZXJD
bGllbnRJbXBsPih3a0NsaWVudCk7CiAgICAgcmV0dXJuIHRvQVBJKFBhZ2VCYW5uZXI6OmNyZWF0
ZShsYXllciwgaGVpZ2h0LCBjbGllbnRJbXBsLnJlbGVhc2UoKSkubGVha1JlZigpKTsKIH0KIApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkv
bWFjL1dLV2ViUHJvY2Vzc1BsdWdJbi5tbSBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvSW5q
ZWN0ZWRCdW5kbGUvQVBJL21hYy9XS1dlYlByb2Nlc3NQbHVnSW4ubW0KaW5kZXggODJlY2Y0Nzlj
NzI1NTRiNjdkYTNkNTM2NDIzN2RkOTdhZTJkN2U0NC4uMmNiYTNlM2FkMjIxZTBmNDQzYzMyZDE2
ZjcyYTIwMzAxNGY0NGMzYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9J
bmplY3RlZEJ1bmRsZS9BUEkvbWFjL1dLV2ViUHJvY2Vzc1BsdWdJbi5tbQorKysgYi9Tb3VyY2Uv
V2ViS2l0Mi9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9tYWMvV0tXZWJQcm9jZXNzUGx1
Z0luLm1tCkBAIC04NCwxNSArODQsMTUgQEAgc3RhdGljIHZvaWQgd2lsbERlc3Ryb3lQYWdlKFdL
QnVuZGxlUmVmIGJ1bmRsZSwgV0tCdW5kbGVQYWdlUmVmIHBhZ2UsIGNvbnN0IHZvaWQKIAogc3Rh
dGljIHZvaWQgc2V0VXBCdW5kbGVDbGllbnQoV0tXZWJQcm9jZXNzUGx1Z0luQ29udHJvbGxlciAq
cGx1Z0luQ29udHJvbGxlciwgV0tCdW5kbGVSZWYgYnVuZGxlUmVmKQogewotICAgIFdLQnVuZGxl
Q2xpZW50IGJ1bmRsZUNsaWVudDsKKyAgICBXS0J1bmRsZUNsaWVudFYxIGJ1bmRsZUNsaWVudDsK
ICAgICBtZW1zZXQoJmJ1bmRsZUNsaWVudCwgMCwgc2l6ZW9mKGJ1bmRsZUNsaWVudCkpOwogCi0g
ICAgYnVuZGxlQ2xpZW50LnZlcnNpb24gPSBrV0tCdW5kbGVDbGllbnRDdXJyZW50VmVyc2lvbjsK
LSAgICBidW5kbGVDbGllbnQuY2xpZW50SW5mbyA9IHBsdWdJbkNvbnRyb2xsZXI7CisgICAgYnVu
ZGxlQ2xpZW50LmJhc2UudmVyc2lvbiA9IDE7CisgICAgYnVuZGxlQ2xpZW50LmJhc2UuY2xpZW50
SW5mbyA9IHBsdWdJbkNvbnRyb2xsZXI7CiAgICAgYnVuZGxlQ2xpZW50LmRpZENyZWF0ZVBhZ2Ug
PSBkaWRDcmVhdGVQYWdlOwogICAgIGJ1bmRsZUNsaWVudC53aWxsRGVzdHJveVBhZ2UgPSB3aWxs
RGVzdHJveVBhZ2U7CiAKLSAgICBXS0J1bmRsZVNldENsaWVudChidW5kbGVSZWYsICZidW5kbGVD
bGllbnQpOworICAgIFdLQnVuZGxlU2V0Q2xpZW50KGJ1bmRsZVJlZiwgJmJ1bmRsZUNsaWVudC5i
YXNlKTsKIH0KIAogc3RhdGljIFdLV2ViUHJvY2Vzc1BsdWdJbkNvbnRyb2xsZXIgKnNoYXJlZElu
c3RhbmNlOwpkaWZmIC0tZ2l0IGEvVG9vbHMvQ2hhbmdlTG9nIGIvVG9vbHMvQ2hhbmdlTG9nCmlu
ZGV4IGU4ZjhkYTVhMTFiZmJjZDljMDE4MTU2MjYyYTAyYWViMTc2MDMwNjYuLjJiYjIyNzBmMGM5
YTRlZWUxNDk3ZDQ5NmY0ODRjNjU5NThjMTdiMTkgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0NoYW5nZUxv
ZworKysgYi9Ub29scy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNzggQEAKKzIwMTMtMTItMDMgIEFu
ZGVycyBDYXJsc3NvbiAgPGFuZGVyc2NhQGFwcGxlLmNvbT4KKworICAgICAgICBEZXByZWNhdGUg
YWxsIHVudmVyc2lvbmVkIGNsaWVudCBzdHJ1Y3RzIGluIGZhdm9yIG9mIGhhdmluZyBleHBsaWNp
dCB2ZXJzaW9uZWQgc3RydWN0cworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MTI1MjAzCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgVXBkYXRlIGZvciBXZWJLaXQyIEFQSSBjaGFuZ2VzLgorCisgICAgICAgICog
TWluaUJyb3dzZXIvbWFjL0FwcERlbGVnYXRlLm06CisgICAgICAgICgtW0Jyb3dzZXJBcHBEZWxl
Z2F0ZSBpbml0XSk6CisgICAgICAgICogTWluaUJyb3dzZXIvbWFjL1dLMkJyb3dzZXJXaW5kb3dD
b250cm9sbGVyLm06CisgICAgICAgICgtW1dLMkJyb3dzZXJXaW5kb3dDb250cm9sbGVyIGF3YWtl
RnJvbU5pYl0pOgorICAgICAgICAqIFRlc3RXZWJLaXRBUEkvSW5qZWN0ZWRCdW5kbGVDb250cm9s
bGVyLmNwcDoKKyAgICAgICAgKFRlc3RXZWJLaXRBUEk6OkluamVjdGVkQnVuZGxlQ29udHJvbGxl
cjo6aW5pdGlhbGl6ZSk6CisgICAgICAgICogVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQyL0Fi
b3V0QmxhbmtMb2FkLmNwcDoKKyAgICAgICAgKFRlc3RXZWJLaXRBUEk6OlRFU1QpOgorICAgICAg
ICAqIFRlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Mi9DYW5IYW5kbGVSZXF1ZXN0LmNwcDoKKyAg
ICAgICAgKFRlc3RXZWJLaXRBUEk6OnNldEluamVjdGVkQnVuZGxlQ2xpZW50KToKKyAgICAgICAg
KiBUZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdDIvQ2xvc2VUaGVuVGVybWluYXRlLmNwcDoKKyAg
ICAgICAgKFRlc3RXZWJLaXRBUEk6OlRFU1QpOgorICAgICAgICAqIFRlc3RXZWJLaXRBUEkvVGVz
dHMvV2ViS2l0Mi9Db29raWVNYW5hZ2VyLmNwcDoKKyAgICAgICAgKFRlc3RXZWJLaXRBUEk6OlRF
U1QpOgorICAgICAgICAqIFRlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Mi9ET01XaW5kb3dFeHRl
bnNpb25CYXNpYy5jcHA6CisgICAgICAgIChUZXN0V2ViS2l0QVBJOjpURVNUKToKKyAgICAgICAg
KiBUZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdDIvRE9NV2luZG93RXh0ZW5zaW9uQmFzaWNfQnVu
ZGxlLmNwcDoKKyAgICAgICAgKFRlc3RXZWJLaXRBUEk6OkRPTVdpbmRvd0V4dGVuc2lvbkJhc2lj
OjpkaWRDcmVhdGVQYWdlKToKKyAgICAgICAgKiBUZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdDIv
RE9NV2luZG93RXh0ZW5zaW9uTm9DYWNoZS5jcHA6CisgICAgICAgIChUZXN0V2ViS2l0QVBJOjpU
RVNUKToKKyAgICAgICAgKiBUZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdDIvRE9NV2luZG93RXh0
ZW5zaW9uTm9DYWNoZV9CdW5kbGUuY3BwOgorICAgICAgICAoVGVzdFdlYktpdEFQSTo6RE9NV2lu
ZG93RXh0ZW5zaW9uTm9DYWNoZTo6ZGlkQ3JlYXRlUGFnZSk6CisgICAgICAgICogVGVzdFdlYktp
dEFQSS9UZXN0cy9XZWJLaXQyL0RpZEFzc29jaWF0ZUZvcm1Db250cm9scy5jcHA6CisgICAgICAg
IChUZXN0V2ViS2l0QVBJOjpzZXRJbmplY3RlZEJ1bmRsZUNsaWVudCk6CisgICAgICAgICogVGVz
dFdlYktpdEFQSS9UZXN0cy9XZWJLaXQyL0RpZEFzc29jaWF0ZUZvcm1Db250cm9sc19CdW5kbGUu
Y3BwOgorICAgICAgICAoVGVzdFdlYktpdEFQSTo6RGlkQXNzb2NpYXRlRm9ybUNvbnRyb2xzVGVz
dDo6ZGlkQ3JlYXRlUGFnZSk6CisgICAgICAgICogVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQy
L0RpZE5vdEhhbmRsZUtleURvd24uY3BwOgorICAgICAgICAoVGVzdFdlYktpdEFQSTo6VEVTVCk6
CisgICAgICAgICogVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQyL0RvY3VtZW50U3RhcnRVc2Vy
U2NyaXB0QWxlcnRDcmFzaC5jcHA6CisgICAgICAgIChUZXN0V2ViS2l0QVBJOjpURVNUKToKKyAg
ICAgICAgKiBUZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdDIvRG93bmxvYWREZWNpZGVEZXN0aW5h
dGlvbkNyYXNoLmNwcDoKKyAgICAgICAgKFRlc3RXZWJLaXRBUEk6OnNldENvbnRleHREb3dubG9h
ZENsaWVudCk6CisgICAgICAgIChUZXN0V2ViS2l0QVBJOjpzZXRQYWdlUG9saWN5Q2xpZW50KToK
KyAgICAgICAgKiBUZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdDIvRmFpbGVkTG9hZC5jcHA6Cisg
ICAgICAgIChUZXN0V2ViS2l0QVBJOjpURVNUKToKKyAgICAgICAgKiBUZXN0V2ViS2l0QVBJL1Rl
c3RzL1dlYktpdDIvRmluZC5jcHA6CisgICAgICAgIChUZXN0V2ViS2l0QVBJOjpURVNUKToKKyAg
ICAgICAgKiBUZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdDIvRmluZE1hdGNoZXMubW06CisgICAg
ICAgIChUZXN0V2ViS2l0QVBJOjpURVNUKToKKyAgICAgICAgKiBUZXN0V2ViS2l0QVBJL1Rlc3Rz
L1dlYktpdDIvRm9yY2VSZXBhaW50LmNwcDoKKyAgICAgICAgKFRlc3RXZWJLaXRBUEk6OlRFU1Qp
OgorICAgICAgICAqIFRlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Mi9GcmFtZU1JTUVUeXBlSFRN
TC5jcHA6CisgICAgICAgIChUZXN0V2ViS2l0QVBJOjpURVNUKToKKyAgICAgICAgKiBUZXN0V2Vi
S2l0QVBJL1Rlc3RzL1dlYktpdDIvRnJhbWVNSU1FVHlwZVBORy5jcHA6CisgICAgICAgIChUZXN0
V2ViS2l0QVBJOjpURVNUKToKKyAgICAgICAgKiBUZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdDIv
R2VvbG9jYXRpb24uY3BwOgorICAgICAgICAoVGVzdFdlYktpdEFQSTo6c2V0dXBHZW9sb2NhdGlv
blByb3ZpZGVyKToKKyAgICAgICAgKFRlc3RXZWJLaXRBUEk6OnNldHVwVmlldyk6CisgICAgICAg
IChUZXN0V2ViS2l0QVBJOjpURVNUKToKKyAgICAgICAgKiBUZXN0V2ViS2l0QVBJL1Rlc3RzL1dl
YktpdDIvR2V0SW5qZWN0ZWRCdW5kbGVJbml0aWFsaXphdGlvblVzZXJEYXRhQ2FsbGJhY2suY3Bw
OgorICAgICAgICAoVGVzdFdlYktpdEFQSTo6VEVTVCk6CisgICAgICAgICogVGVzdFdlYktpdEFQ
SS9UZXN0cy9XZWJLaXQyL0hpdFRlc3RSZXN1bHROb2RlSGFuZGxlLmNwcDoKKyAgICAgICAgKFRl
c3RXZWJLaXRBUEk6OnNldFBhZ2VMb2FkZXJDbGllbnQpOgorICAgICAgICAoVGVzdFdlYktpdEFQ
STo6c2V0SW5qZWN0ZWRCdW5kbGVDbGllbnQpOgorICAgICAgICAqIFRlc3RXZWJLaXRBUEkvVGVz
dHMvV2ViS2l0Mi9IaXRUZXN0UmVzdWx0Tm9kZUhhbmRsZV9CdW5kbGUuY3BwOgorICAgICAgICAo
VGVzdFdlYktpdEFQSTo6SGl0VGVzdFJlc3VsdE5vZGVIYW5kbGVUZXN0OjpkaWRDcmVhdGVQYWdl
KToKKyAgICAgICAgKiBUZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdDIvSW5qZWN0ZWRCdW5kbGVC
YXNpYy5jcHA6CisgICAgICAgIChUZXN0V2ViS2l0QVBJOjpURVNUKToKKyAgICAgICAgKiBUZXN0
V2ViS2l0QVBJL1Rlc3RzL1dlYktpdDIvSW5qZWN0ZWRCdW5kbGVGcmFtZUhpdFRlc3QuY3BwOgor
ICAgICAgICAoVGVzdFdlYktpdEFQSTo6c2V0SW5qZWN0ZWRCdW5kbGVDbGllbnQpOgorICAgICAg
ICAqIFRlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Mi9JbmplY3RlZEJ1bmRsZUZyYW1lSGl0VGVz
dF9CdW5kbGUuY3BwOgorICAgICAgICAoVGVzdFdlYktpdEFQSTo6SW5qZWN0ZWRCdW5kbGVGcmFt
ZUhpdFRlc3RUZXN0OjpkaWRDcmVhdGVQYWdlKToKKyAgICAgICAgKiBUZXN0V2ViS2l0QVBJL1Rl
c3RzL1dlYktpdDIvSW5qZWN0ZWRCdW5kbGVJbml0aWFsaXphdGlvblVzZXJEYXRhQ2FsbGJhY2tX
aW5zLmNwcDoKKyAgICAgICAgKFRlc3RXZWJLaXRBUEk6OlRFU1QpOgorICAgICAgICAqIFRlc3RX
ZWJLaXRBUEkvVGVzdHMvV2ViS2l0Mi9MYXlvdXRNaWxlc3RvbmVzV2l0aEFsbENvbnRlbnRJbkZy
YW1lLmNwcDoKKyAgICAgICAgKFRlc3RXZWJLaXRBUEk6OlRFU1QpOgorICAgICAgICAqIFRlc3RX
ZWJLaXRBUEkvVGVzdHMvV2ViS2l0Mi9Mb2FkQWx0ZXJuYXRlSFRNTFN0cmluZ1dpdGhOb25EaXJl
Y3RvcnlVUkwuY3BwOgorICAgICAgICAoVGVzdFdlYktpdEFQSTo6VEVTVCk6CisgICAgICAgICog
VGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQyL0xvYWRDYW5jZWxlZE5vU2VydmVyUmVkaXJlY3RD
YWxsYmFjay5jcHA6CisgICAgICAgIChUZXN0V2ViS2l0QVBJOjpURVNUKToKKyAgICAgICAgKiBU
ZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdDIvTG9hZENhbmNlbGVkTm9TZXJ2ZXJSZWRpcmVjdENh
bGxiYWNrX0J1bmRsZS5jcHA6CisgICAgICAgIChUZXN0V2ViS2l0QVBJOjpMb2FkQ2FuY2VsZWRO
b1NlcnZlclJlZGlyZWN0Q2FsbGJhY2tUZXN0OjpkaWRDcmVhdGVQYWdlKToKKyAgICAgICAgKiBU
ZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdDIvTG9hZFBhZ2VPbkNyYXNoLmNwcDoKKyAgICAgICAg
KFRlc3RXZWJLaXRBUEk6OldlYktpdDJDcmFzaExvYWRlcjo6V2ViS2l0MkNyYXNoTG9hZGVyKToK
KyAgICAgICAgKiBUZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdDIvTW91c2VNb3ZlQWZ0ZXJDcmFz
aC5jcHA6CisgICAgICAgIChUZXN0V2ViS2l0QVBJOjpzZXRQYWdlTG9hZGVyQ2xpZW50KToKKyAg
ICAgICAgKiBUZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdDIvTmV3Rmlyc3RWaXN1YWxseU5vbkVt
cHR5TGF5b3V0LmNwcDoKKyAgICAgICAgKFRlc3RXZWJLaXRBUEk6OnNldFBhZ2VMb2FkZXJDbGll
bnQpOgorICAgICAgICAqIFRlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Mi9OZXdGaXJzdFZpc3Vh
bGx5Tm9uRW1wdHlMYXlvdXRGYWlscy5jcHA6CisgICAgICAgIChUZXN0V2ViS2l0QVBJOjpzZXRQ
YWdlTG9hZGVyQ2xpZW50KToKKyAgICAgICAgKiBUZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdDIv
TmV3Rmlyc3RWaXN1YWxseU5vbkVtcHR5TGF5b3V0Rm9ySW1hZ2VzLmNwcDoKKyAgICAgICAgKFRl
c3RXZWJLaXRBUEk6OnNldFBhZ2VMb2FkZXJDbGllbnQpOgorICAgICAgICAqIFRlc3RXZWJLaXRB
UEkvVGVzdHMvV2ViS2l0Mi9OZXdGaXJzdFZpc3VhbGx5Tm9uRW1wdHlMYXlvdXRGcmFtZXMuY3Bw
OgorICAgICAgICAoVGVzdFdlYktpdEFQSTo6c2V0UGFnZUxvYWRlckNsaWVudCk6CisgICAgICAg
ICogVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQyL1BhZ2VMb2FkQmFzaWMuY3BwOgorICAgICAg
ICAoVGVzdFdlYktpdEFQSTo6VEVTVCk6CisgICAgICAgICogVGVzdFdlYktpdEFQSS9UZXN0cy9X
ZWJLaXQyL1BhZ2VMb2FkRGlkQ2hhbmdlTG9jYXRpb25XaXRoaW5QYWdlRm9yRnJhbWUuY3BwOgor
ICAgICAgICAoVGVzdFdlYktpdEFQSTo6VEVTVCk6CisgICAgICAgICogVGVzdFdlYktpdEFQSS9U
ZXN0cy9XZWJLaXQyL1BhcmVudEZyYW1lLmNwcDoKKyAgICAgICAgKFRlc3RXZWJLaXRBUEk6OnNl
dEluamVjdGVkQnVuZGxlQ2xpZW50KToKKyAgICAgICAgKiBUZXN0V2ViS2l0QVBJL1Rlc3RzL1dl
YktpdDIvUGFyZW50RnJhbWVfQnVuZGxlLmNwcDoKKyAgICAgICAgKFRlc3RXZWJLaXRBUEk6OlBh
cmVudEZyYW1lVGVzdDo6ZGlkQ3JlYXRlUGFnZSk6CisgICAgICAgICogVGVzdFdlYktpdEFQSS9U
ZXN0cy9XZWJLaXQyL1Bhc3RlYm9hcmROb3RpZmljYXRpb25zLm1tOgorICAgICAgICAoVGVzdFdl
YktpdEFQSTo6c2V0SW5qZWN0ZWRCdW5kbGVDbGllbnQpOgorICAgICAgICAqIFRlc3RXZWJLaXRB
UEkvVGVzdHMvV2ViS2l0Mi9QYXN0ZWJvYXJkTm90aWZpY2F0aW9uc19CdW5kbGUuY3BwOgorICAg
ICAgICAoVGVzdFdlYktpdEFQSTo6UGFzdGVib2FyZE5vdGlmaWNhdGlvbnNUZXN0OjpkaWRDcmVh
dGVQYWdlKToKKyAgICAgICAgKiBUZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdDIvUHJpdmF0ZUJy
b3dzaW5nUHVzaFN0YXRlTm9IaXN0b3J5Q2FsbGJhY2suY3BwOgorICAgICAgICAoVGVzdFdlYktp
dEFQSTo6VEVTVCk6CisgICAgICAgICogVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQyL1JlbG9h
ZFBhZ2VBZnRlckNyYXNoLmNwcDoKKyAgICAgICAgKFRlc3RXZWJLaXRBUEk6OlRFU1QpOgorICAg
ICAgICAqIFRlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Mi9SZXNpemVSZXZlcnNlUGFnaW5hdGVk
V2ViVmlldy5jcHA6CisgICAgICAgIChUZXN0V2ViS2l0QVBJOjpURVNUKToKKyAgICAgICAgKiBU
ZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdDIvUmVzaXplV2luZG93QWZ0ZXJDcmFzaC5jcHA6Cisg
ICAgICAgIChUZXN0V2ViS2l0QVBJOjpURVNUKToKKyAgICAgICAgKiBUZXN0V2ViS2l0QVBJL1Rl
c3RzL1dlYktpdDIvUmVzcG9uc2l2ZW5lc3NUaW1lckRvZXNudEZpcmVFYXJseS5jcHA6CisgICAg
ICAgIChUZXN0V2ViS2l0QVBJOjpzZXRJbmplY3RlZEJ1bmRsZUNsaWVudCk6CisgICAgICAgIChU
ZXN0V2ViS2l0QVBJOjpzZXRQYWdlTG9hZGVyQ2xpZW50KToKKyAgICAgICAgKiBUZXN0V2ViS2l0
QVBJL1Rlc3RzL1dlYktpdDIvUmVzdG9yZVNlc3Npb25TdGF0ZUNvbnRhaW5pbmdGb3JtRGF0YS5j
cHA6CisgICAgICAgIChUZXN0V2ViS2l0QVBJOjpzZXRQYWdlTG9hZGVyQ2xpZW50KToKKyAgICAg
ICAgKiBUZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdDIvU2Nyb2xsUGlubmluZ0JlaGF2aW9ycy5j
cHA6CisgICAgICAgIChUZXN0V2ViS2l0QVBJOjpURVNUKToKKyAgICAgICAgKiBUZXN0V2ViS2l0
QVBJL1Rlc3RzL1dlYktpdDIvU2hvdWxkR29Ub0JhY2tGb3J3YXJkTGlzdEl0ZW0uY3BwOgorICAg
ICAgICAoVGVzdFdlYktpdEFQSTo6c2V0UGFnZUxvYWRlckNsaWVudCk6CisgICAgICAgICogVGVz
dFdlYktpdEFQSS9UZXN0cy9XZWJLaXQyL1Nob3VsZEdvVG9CYWNrRm9yd2FyZExpc3RJdGVtX0J1
bmRsZS5jcHA6CisgICAgICAgIChUZXN0V2ViS2l0QVBJOjpTaG91bGRHb1RvQmFja0ZvcndhcmRM
aXN0SXRlbVRlc3Q6OmRpZENyZWF0ZVBhZ2UpOgorICAgICAgICAqIFRlc3RXZWJLaXRBUEkvVGVz
dHMvV2ViS2l0Mi9TcGFjZWJhclNjcm9sbGluZy5jcHA6CisgICAgICAgIChUZXN0V2ViS2l0QVBJ
OjpURVNUKToKKyAgICAgICAgKiBUZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdDIvVGVybWluYXRl
VHdpY2UuY3BwOgorICAgICAgICAoVGVzdFdlYktpdEFQSTo6VEVTVCk6CisgICAgICAgICogVGVz
dFdlYktpdEFQSS9UZXN0cy9XZWJLaXQyL1VzZXJNZXNzYWdlLmNwcDoKKyAgICAgICAgKFRlc3RX
ZWJLaXRBUEk6OldlYktpdDJVc2VyTWVzc2FnZVJvdW5kVHJpcFRlc3Q6OnNldEluamVjdGVkQnVu
ZGxlQ2xpZW50KToKKyAgICAgICAgKFRlc3RXZWJLaXRBUEk6OldlYktpdDJVc2VyTWVzc2FnZVJv
dW5kVHJpcFRlc3Q6OnNldFBhZ2VMb2FkZXJDbGllbnQpOgorICAgICAgICAqIFRlc3RXZWJLaXRB
UEkvVGVzdHMvV2ViS2l0Mi9XS0Nvbm5lY3Rpb24uY3BwOgorICAgICAgICAoVGVzdFdlYktpdEFQ
STo6VEVTVCk6CisgICAgICAgICogVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQyL1dLQ29ubmVj
dGlvbl9CdW5kbGUuY3BwOgorICAgICAgICAoVGVzdFdlYktpdEFQSTo6V0tDb25uZWN0aW9uVGVz
dDo6aW5pdGlhbGl6ZSk6CisgICAgICAgICogVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQyL1dL
UGFnZUdldFNjYWxlRmFjdG9yTm90WmVyby5jcHA6CisgICAgICAgIChUZXN0V2ViS2l0QVBJOjpz
ZXRQYWdlTG9hZGVyQ2xpZW50KToKKyAgICAgICAgKiBUZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktp
dDIvV2ViQXJjaGl2ZS5jcHA6CisgICAgICAgIChUZXN0V2ViS2l0QVBJOjpzZXRJbmplY3RlZEJ1
bmRsZUNsaWVudCk6CisgICAgICAgIChUZXN0V2ViS2l0QVBJOjpURVNUKToKKyAgICAgICAgKiBU
ZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdDIvV2lsbExvYWQuY3BwOgorICAgICAgICAoVGVzdFdl
YktpdEFQSTo6V2ViS2l0MldpbGxMb2FkVGVzdDo6c2V0SW5qZWN0ZWRCdW5kbGVDbGllbnQpOgor
ICAgICAgICAqIFRlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Mi9XaWxsTG9hZF9CdW5kbGUuY3Bw
OgorICAgICAgICAqIFRlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Mi9XaWxsU2VuZFN1Ym1pdEV2
ZW50LmNwcDoKKyAgICAgICAgKFRlc3RXZWJLaXRBUEk6OnNldEluamVjdGVkQnVuZGxlQ2xpZW50
KToKKyAgICAgICAgKiBUZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdDIvV2lsbFNlbmRTdWJtaXRF
dmVudF9CdW5kbGUuY3BwOgorICAgICAgICAoVGVzdFdlYktpdEFQSTo6V2lsbFNlbmRTdWJtaXRF
dmVudFRlc3Q6OmRpZENyZWF0ZVBhZ2UpOgorICAgICAgICAqIFRlc3RXZWJLaXRBUEkvVGVzdHMv
V2ViS2l0Mi9tYWMvRWRpdG9yQ29tbWFuZHMubW06CisgICAgICAgIChUZXN0V2ViS2l0QVBJOjpU
RVNUKToKKyAgICAgICAgKiBUZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdDIvbWFjL0dldEJhY2tp
bmdTY2FsZUZhY3Rvci5tbToKKyAgICAgICAgKFRlc3RXZWJLaXRBUEk6OnNldEluamVjdGVkQnVu
ZGxlQ2xpZW50KToKKyAgICAgICAgKiBUZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdDIvbWFjL0dl
dFBJREFmdGVyQWJvcnRlZFByb2Nlc3NMYXVuY2guY3BwOgorICAgICAgICAoVGVzdFdlYktpdEFQ
STo6VEVTVCk6CisgICAgICAgICogVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQyT2JqQy9DdXN0
b21Qcm90b2NvbHNJbnZhbGlkU2NoZW1lX0J1bmRsZS5jcHA6CisgICAgICAgICogVGVzdFdlYktp
dEFQSS9UZXN0cy9XZWJLaXQyT2JqQy9QcmV2ZW50SW1hZ2VMb2FkV2l0aEF1dG9SZXNpemluZ19C
dW5kbGUuY3BwOgorICAgICAgICAoVGVzdFdlYktpdEFQSTo6RGVueVdpbGxTZW5kUmVxdWVzdFRl
c3Q6OmRpZENyZWF0ZVBhZ2UpOgorICAgICAgICAqIFRlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0
Mk9iakMvV0tSZW1vdGVPYmplY3RSZWdpc3RyeS5tbToKKyAgICAgICAgKFRlc3RXZWJLaXRBUEk6
OmRpZENyZWF0ZUNvbm5lY3Rpb24pOgorICAgICAgICAoVGVzdFdlYktpdEFQSTo6VEVTVCk6Cisg
ICAgICAgICogVGVzdFdlYktpdEFQSS9UZXN0cy9tYWMvUGFnZVZpc2liaWxpdHlTdGF0ZVdpdGhX
aW5kb3dDaGFuZ2VzLm1tOgorICAgICAgICAoVGVzdFdlYktpdEFQSTo6UGFnZVZpc2liaWxpdHlT
dGF0ZVdpdGhXaW5kb3dDaGFuZ2VzOjppbml0aWFsaXplVmlldyk6CisgICAgICAgICogVGVzdFdl
YktpdEFQSS9UZXN0cy9tYWMvV0tSZW1vdGVPYmplY3RSZWdpc3RyeV9CdW5kbGUubW06CisgICAg
ICAgICogVGVzdFdlYktpdEFQSS9tYWMvV2ViS2l0QWdub3N0aWNUZXN0Lm1tOgorICAgICAgICAo
VGVzdFdlYktpdEFQSTo6c2V0UGFnZUxvYWRlckNsaWVudCk6CisgICAgICAgICogV2ViS2l0VGVz
dFJ1bm5lci9HZW9sb2NhdGlvblByb3ZpZGVyTW9jay5jcHA6CisgICAgICAgIChXVFI6Okdlb2xv
Y2F0aW9uUHJvdmlkZXJNb2NrOjpHZW9sb2NhdGlvblByb3ZpZGVyTW9jayk6CisgICAgICAgICog
V2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9JbmplY3RlZEJ1bmRsZS5jcHA6CisgICAg
ICAgIChXVFI6OkluamVjdGVkQnVuZGxlOjppbml0aWFsaXplKToKKyAgICAgICAgKiBXZWJLaXRU
ZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL0luamVjdGVkQnVuZGxlUGFnZS5jcHA6CisgICAgICAg
IChXVFI6OkluamVjdGVkQnVuZGxlUGFnZTo6SW5qZWN0ZWRCdW5kbGVQYWdlKToKKyAgICAgICAg
KiBXZWJLaXRUZXN0UnVubmVyL1Rlc3RDb250cm9sbGVyLmNwcDoKKyAgICAgICAgKFdUUjo6VGVz
dENvbnRyb2xsZXI6OmNyZWF0ZU90aGVyUGFnZSk6CisgICAgICAgIChXVFI6OlRlc3RDb250cm9s
bGVyOjppbml0aWFsaXplKToKKyAgICAgICAgKFdUUjo6VGVzdENvbnRyb2xsZXI6OmNyZWF0ZVdl
YlZpZXdXaXRoT3B0aW9ucyk6CisKIDIwMTMtMTItMDMgIEZpbGlwIFBpemxvICA8ZnBpemxvQGFw
cGxlLmNvbT4KIAogICAgICAgICBSRUdSRVNTSU9OOiByZXBybyBzY3JpcHRzIGRpc2FwcGVhciB3
aGVuIHlvdSByZXJ1biB0ZXN0cwpkaWZmIC0tZ2l0IGEvVG9vbHMvTWluaUJyb3dzZXIvbWFjL0Fw
cERlbGVnYXRlLm0gYi9Ub29scy9NaW5pQnJvd3Nlci9tYWMvQXBwRGVsZWdhdGUubQppbmRleCBi
YmVhYzRkZDZlMTU3NTJlZWRkZDU4ZWMxZDE5MmQxMTRiZmJmN2ExLi4wMTFmZmI4N2Y1NzQxN2Nl
Njg0MzM0MTI0MjVjZDUyNTJlMGY4ZWRkIDEwMDY0NAotLS0gYS9Ub29scy9NaW5pQnJvd3Nlci9t
YWMvQXBwRGVsZWdhdGUubQorKysgYi9Ub29scy9NaW5pQnJvd3Nlci9tYWMvQXBwRGVsZWdhdGUu
bQpAQCAtOTQsOSArOTQsOCBAQCAtIChpZClpbml0CiB7CiAgICAgc2VsZiA9IFtzdXBlciBpbml0
XTsKICAgICBpZiAoc2VsZikgewotICAgICAgICBXS0NvbnRleHRIaXN0b3J5Q2xpZW50IGhpc3Rv
cnlDbGllbnQgPSB7Ci0gICAgICAgICAgICBrV0tDb250ZXh0SGlzdG9yeUNsaWVudEN1cnJlbnRW
ZXJzaW9uLAotICAgICAgICAgICAgc2VsZiwKKyAgICAgICAgV0tDb250ZXh0SGlzdG9yeUNsaWVu
dFYwIGhpc3RvcnlDbGllbnQgPSB7CisgICAgICAgICAgICB7IDAsIHNlbGYgfSwKICAgICAgICAg
ICAgIGRpZE5hdmlnYXRlV2l0aE5hdmlnYXRpb25EYXRhLAogICAgICAgICAgICAgZGlkUGVyZm9y
bUNsaWVudFJlZGlyZWN0LAogICAgICAgICAgICAgZGlkUGVyZm9ybVNlcnZlclJlZGlyZWN0LApA
QCAtMTA2LDcgKzEwNSw3IEBAIC0gKGlkKWluaXQKIAogICAgICAgICBfcHJvY2Vzc0NvbnRleHQg
PSBXS0NvbnRleHRDcmVhdGUoKTsKIAotICAgICAgICBXS0NvbnRleHRTZXRIaXN0b3J5Q2xpZW50
KF9wcm9jZXNzQ29udGV4dCwgJmhpc3RvcnlDbGllbnQpOworICAgICAgICBXS0NvbnRleHRTZXRI
aXN0b3J5Q2xpZW50KF9wcm9jZXNzQ29udGV4dCwgJmhpc3RvcnlDbGllbnQuYmFzZSk7CiAgICAg
ICAgIFdLQ29udGV4dFNldENhY2hlTW9kZWwoX3Byb2Nlc3NDb250ZXh0LCBrV0tDYWNoZU1vZGVs
UHJpbWFyeVdlYkJyb3dzZXIpOwogCiAgICAgICAgIFdLU3RyaW5nUmVmIHBhZ2VHcm91cElkZW50
aWZpZXIgPSBXS1N0cmluZ0NyZWF0ZVdpdGhDRlN0cmluZyhDRlNUUigiTWluaUJyb3dzZXIiKSk7
CmRpZmYgLS1naXQgYS9Ub29scy9NaW5pQnJvd3Nlci9tYWMvV0syQnJvd3NlcldpbmRvd0NvbnRy
b2xsZXIubSBiL1Rvb2xzL01pbmlCcm93c2VyL21hYy9XSzJCcm93c2VyV2luZG93Q29udHJvbGxl
ci5tCmluZGV4IDg3MzI3NjM0NTBkYzI2YzIzYjAzNDU4MDlkZmM2Y2I3NjQyYmUyZmMuLjZlZGM1
NDcyZDQxNjAwMzhhMWZmNDE4YTk0NGQ1ZWFmODNmMmFmMjQgMTAwNjQ0Ci0tLSBhL1Rvb2xzL01p
bmlCcm93c2VyL21hYy9XSzJCcm93c2VyV2luZG93Q29udHJvbGxlci5tCisrKyBiL1Rvb2xzL01p
bmlCcm93c2VyL21hYy9XSzJCcm93c2VyV2luZG93Q29udHJvbGxlci5tCkBAIC02MTUsOSArNjE1
LDggQEAgLSAodm9pZClhd2FrZUZyb21OaWIKICAgICBbX3dlYlZpZXcgc2V0QXV0b3Jlc2l6aW5n
TWFzazooTlNWaWV3V2lkdGhTaXphYmxlIHwgTlNWaWV3SGVpZ2h0U2l6YWJsZSldOwogICAgIFtj
b250YWluZXJWaWV3IGFkZFN1YnZpZXc6X3dlYlZpZXddOwogICAgIAotICAgIFdLUGFnZUxvYWRl
ckNsaWVudCBsb2FkQ2xpZW50ID0gewotICAgICAgICBrV0tQYWdlTG9hZGVyQ2xpZW50Q3VycmVu
dFZlcnNpb24sCi0gICAgICAgIHNlbGYsICAgLyogY2xpZW50SW5mbyAqLworICAgIFdLUGFnZUxv
YWRlckNsaWVudFYzIGxvYWRDbGllbnQgPSB7CisgICAgICAgIHsgMywgc2VsZiB9LAogICAgICAg
ICBkaWRTdGFydFByb3Zpc2lvbmFsTG9hZEZvckZyYW1lLAogICAgICAgICBkaWRSZWNlaXZlU2Vy
dmVyUmVkaXJlY3RGb3JQcm92aXNpb25hbExvYWRGb3JGcmFtZSwKICAgICAgICAgZGlkRmFpbFBy
b3Zpc2lvbmFsTG9hZFdpdGhFcnJvckZvckZyYW1lLApAQCAtNjU1LDEzICs2NTQsMTIgQEAgLSAo
dm9pZClhd2FrZUZyb21OaWIKICAgICAgICAgMCwgLy8gcGx1Z2luRGlkRmFpbAogICAgICAgICAw
LCAvLyBwbHVnaW5Mb2FkUG9saWN5CiAgICAgfTsKLSAgICBXS1BhZ2VTZXRQYWdlTG9hZGVyQ2xp
ZW50KF93ZWJWaWV3LnBhZ2VSZWYsICZsb2FkQ2xpZW50KTsKKyAgICBXS1BhZ2VTZXRQYWdlTG9h
ZGVyQ2xpZW50KF93ZWJWaWV3LnBhZ2VSZWYsICZsb2FkQ2xpZW50LmJhc2UpOwogCiAgICAgX3dl
YlZpZXcuYnJvd3NpbmdDb250ZXh0Q29udHJvbGxlci5wb2xpY3lEZWxlZ2F0ZSA9IHNlbGY7CiAK
LSAgICBXS1BhZ2VVSUNsaWVudCB1aUNsaWVudCA9IHsKLSAgICAgICAga1dLUGFnZVVJQ2xpZW50
Q3VycmVudFZlcnNpb24sCi0gICAgICAgIHNlbGYsICAgICAgIC8qIGNsaWVudEluZm8gKi8KKyAg
ICBXS1BhZ2VVSUNsaWVudFYyIHVpQ2xpZW50ID0geworICAgICAgICB7IDIsIHNlbGYgfSwKICAg
ICAgICAgMCwgICAgICAgICAgLyogY3JlYXRlTmV3UGFnZV9kZXByZWNhdGVkRm9yVXNlV2l0aFYw
ICovCiAgICAgICAgIHNob3dQYWdlLAogICAgICAgICBjbG9zZVBhZ2UsCkBAIC03MDksNyArNzA3
LDcgQEAgLSAodm9pZClhd2FrZUZyb21OaWIKICAgICAgICAgMCwgLy8gaGlkZUNvbG9yUGlja2Vy
CiAgICAgICAgIDAsIC8vIHVuYXZhaWxhYmxlUGx1Z2luQnV0dG9uQ2xpY2tlZAogICAgIH07Ci0g
ICAgV0tQYWdlU2V0UGFnZVVJQ2xpZW50KF93ZWJWaWV3LnBhZ2VSZWYsICZ1aUNsaWVudCk7Cisg
ICAgV0tQYWdlU2V0UGFnZVVJQ2xpZW50KF93ZWJWaWV3LnBhZ2VSZWYsICZ1aUNsaWVudC5iYXNl
KTsKIH0KIAogLSAodm9pZClkaWRTdGFydFByb2dyZXNzCmRpZmYgLS1naXQgYS9Ub29scy9UZXN0
V2ViS2l0QVBJL0luamVjdGVkQnVuZGxlQ29udHJvbGxlci5jcHAgYi9Ub29scy9UZXN0V2ViS2l0
QVBJL0luamVjdGVkQnVuZGxlQ29udHJvbGxlci5jcHAKaW5kZXggZmI3ODAxM2VlODA2NmI4NGFi
YTMyNzdkMDhhMmMwMDM1NjBmZWJhYi4uMDBiNTM0YjBlOWU0NjdkZTAwMTY1ZjgzYjc5NDEyMzUz
OTdlZTI3YiAxMDA2NDQKLS0tIGEvVG9vbHMvVGVzdFdlYktpdEFQSS9JbmplY3RlZEJ1bmRsZUNv
bnRyb2xsZXIuY3BwCisrKyBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvSW5qZWN0ZWRCdW5kbGVDb250
cm9sbGVyLmNwcApAQCAtNTQsMTYgKzU0LDE1IEBAIHZvaWQgSW5qZWN0ZWRCdW5kbGVDb250cm9s
bGVyOjppbml0aWFsaXplKFdLQnVuZGxlUmVmIGJ1bmRsZSwgV0tUeXBlUmVmIGluaXRpYWxpCiAg
ICAgaWYgKCFpbml0aWFsaXphdGlvblVzZXJEYXRhKQogICAgICAgICByZXR1cm47CiAKLSAgICBX
S0J1bmRsZUNsaWVudCBjbGllbnQgPSB7Ci0gICAgICAgIDAsCi0gICAgICAgIHRoaXMsCisgICAg
V0tCdW5kbGVDbGllbnRWMSBjbGllbnQgPSB7CisgICAgICAgIHsgMCwgdGhpcyB9LAogICAgICAg
ICBkaWRDcmVhdGVQYWdlLAogICAgICAgICB3aWxsRGVzdHJveVBhZ2UsCiAgICAgICAgIGRpZElu
aXRpYWxpemVQYWdlR3JvdXAsCiAgICAgICAgIGRpZFJlY2VpdmVNZXNzYWdlLAogICAgICAgICBk
aWRSZWNlaXZlTWVzc2FnZVRvUGFnZQogICAgIH07Ci0gICAgV0tCdW5kbGVTZXRDbGllbnQobV9i
dW5kbGUsICZjbGllbnQpOworICAgIFdLQnVuZGxlU2V0Q2xpZW50KG1fYnVuZGxlLCAmY2xpZW50
LmJhc2UpOwogCiAgICAgLy8gSW5pdGlhbGl6ZSB0aGUgdGVzdCBmcm9tIHRoZSAiaW5pdGlhbGl6
YXRpb25Vc2VyRGF0YSIuCiAKZGlmZiAtLWdpdCBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMv
V2ViS2l0Mi9BYm91dEJsYW5rTG9hZC5jcHAgYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dl
YktpdDIvQWJvdXRCbGFua0xvYWQuY3BwCmluZGV4IDQyOTM5ZGQyZGQ4ZTYzMzczMTk3ZGE1MDQz
YzNhMGE2NDk3NWVhOGUuLjBhMmYwMGNhNTY2MzkzODFiMjkyMTMxZTU0ZmQ1MDI3YzJkMGJmNTkg
MTAwNjQ0Ci0tLSBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Mi9BYm91dEJsYW5r
TG9hZC5jcHAKKysrIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQyL0Fib3V0Qmxh
bmtMb2FkLmNwcApAQCAtNDMsMTAgKzQzLDEzIEBAIFRFU1QoV2ViS2l0MiwgQWJvdXRCbGFua0xv
YWQpCiAgICAgV0tSZXRhaW5QdHI8V0tDb250ZXh0UmVmPiBjb250ZXh0ID0gYWRvcHRXSyhXS0Nv
bnRleHRDcmVhdGUoKSk7CiAgICAgUGxhdGZvcm1XZWJWaWV3IHdlYlZpZXcoY29udGV4dC5nZXQo
KSk7CiAKLSAgICBXS1BhZ2VMb2FkZXJDbGllbnQgbG9hZGVyQ2xpZW50OwotICAgIG1lbXNldCgm
bG9hZGVyQ2xpZW50LCAwICwgc2l6ZW9mKGxvYWRlckNsaWVudCkpOworICAgIFdLUGFnZUxvYWRl
ckNsaWVudFYwIGxvYWRlckNsaWVudDsKKyAgICBtZW1zZXQoJmxvYWRlckNsaWVudCwgMCwgc2l6
ZW9mKGxvYWRlckNsaWVudCkpOworCisgICAgbG9hZGVyQ2xpZW50LmJhc2UudmVyc2lvbiA9IDA7
CiAgICAgbG9hZGVyQ2xpZW50LmRpZEZpbmlzaExvYWRGb3JGcmFtZSA9IGRpZEZpbmlzaExvYWRG
b3JGcmFtZTsKLSAgICBXS1BhZ2VTZXRQYWdlTG9hZGVyQ2xpZW50KHdlYlZpZXcucGFnZSgpLCAm
bG9hZGVyQ2xpZW50KTsKKworICAgIFdLUGFnZVNldFBhZ2VMb2FkZXJDbGllbnQod2ViVmlldy5w
YWdlKCksICZsb2FkZXJDbGllbnQuYmFzZSk7CiAKICAgICBXS1BhZ2VMb2FkVVJMKHdlYlZpZXcu
cGFnZSgpLCBhZG9wdFdLKFdLVVJMQ3JlYXRlV2l0aFVURjhDU3RyaW5nKCJhYm91dDpibGFuayIp
KS5nZXQoKSk7CiAKZGlmZiAtLWdpdCBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0
Mi9DYW5IYW5kbGVSZXF1ZXN0LmNwcCBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0
Mi9DYW5IYW5kbGVSZXF1ZXN0LmNwcAppbmRleCBlM2U1ZDBjYzZkNzk2YzRlM2IzMzRmOTg4NDVk
YjRkYzlkNDk5OTY2Li40YzBjNzc5NjNkMzg5MjEzMWU2NjA4MWZjNzA1N2QwMjRmNDNhMzBjIDEw
MDY0NAotLS0gYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdDIvQ2FuSGFuZGxlUmVx
dWVzdC5jcHAKKysrIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQyL0NhbkhhbmRs
ZVJlcXVlc3QuY3BwCkBAIC00NSwxMSArNDUsMTMgQEAgc3RhdGljIHZvaWQgZGlkUmVjZWl2ZU1l
c3NhZ2VGcm9tSW5qZWN0ZWRCdW5kbGUoV0tDb250ZXh0UmVmLCBXS1N0cmluZ1JlZiBtZXNzYWcK
IAogc3RhdGljIHZvaWQgc2V0SW5qZWN0ZWRCdW5kbGVDbGllbnQoV0tDb250ZXh0UmVmIGNvbnRl
eHQpCiB7Ci0gICAgV0tDb250ZXh0SW5qZWN0ZWRCdW5kbGVDbGllbnQgaW5qZWN0ZWRCdW5kbGVD
bGllbnQ7CisgICAgV0tDb250ZXh0SW5qZWN0ZWRCdW5kbGVDbGllbnRWMCBpbmplY3RlZEJ1bmRs
ZUNsaWVudDsKICAgICBtZW1zZXQoJmluamVjdGVkQnVuZGxlQ2xpZW50LCAwLCBzaXplb2YoaW5q
ZWN0ZWRCdW5kbGVDbGllbnQpKTsKKworICAgIGluamVjdGVkQnVuZGxlQ2xpZW50LmJhc2UudmVy
c2lvbiA9IDA7CiAgICAgaW5qZWN0ZWRCdW5kbGVDbGllbnQuZGlkUmVjZWl2ZU1lc3NhZ2VGcm9t
SW5qZWN0ZWRCdW5kbGUgPSBkaWRSZWNlaXZlTWVzc2FnZUZyb21JbmplY3RlZEJ1bmRsZTsKIAot
ICAgIFdLQ29udGV4dFNldEluamVjdGVkQnVuZGxlQ2xpZW50KGNvbnRleHQsICZpbmplY3RlZEJ1
bmRsZUNsaWVudCk7CisgICAgV0tDb250ZXh0U2V0SW5qZWN0ZWRCdW5kbGVDbGllbnQoY29udGV4
dCwgJmluamVjdGVkQnVuZGxlQ2xpZW50LmJhc2UpOwogfQogCiBURVNUKFdlYktpdDIsIENhbkhh
bmRsZVJlcXVlc3QpCmRpZmYgLS1naXQgYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktp
dDIvQ2xvc2VUaGVuVGVybWluYXRlLmNwcCBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2Vi
S2l0Mi9DbG9zZVRoZW5UZXJtaW5hdGUuY3BwCmluZGV4IDA5MjMwYmI1N2M3YjJhYjVlMTI1NTM4
ZGRjNzkyZGVlMTZmOGQyNTMuLmZmNzA1MTFmNDU0MTU2MDk0YTI1MmU4YmM0Mjg5MDI1OTYyMGJj
NGQgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Mi9DbG9zZVRo
ZW5UZXJtaW5hdGUuY3BwCisrKyBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Mi9D
bG9zZVRoZW5UZXJtaW5hdGUuY3BwCkBAIC00NCwxMCArNDQsMTMgQEAgVEVTVChXZWJLaXQyLCBD
bG9zZVRoZW5UZXJtaW5hdGUpCiAgICAgV0tSZXRhaW5QdHI8V0tDb250ZXh0UmVmPiBjb250ZXh0
ID0gYWRvcHRXSyhXS0NvbnRleHRDcmVhdGUoKSk7CiAgICAgUGxhdGZvcm1XZWJWaWV3IHdlYlZp
ZXcoY29udGV4dC5nZXQoKSk7CiAKLSAgICBXS1BhZ2VMb2FkZXJDbGllbnQgbG9hZGVyQ2xpZW50
OworICAgIFdLUGFnZUxvYWRlckNsaWVudFYwIGxvYWRlckNsaWVudDsKICAgICBtZW1zZXQoJmxv
YWRlckNsaWVudCwgMCAsIHNpemVvZihsb2FkZXJDbGllbnQpKTsKKworICAgIGxvYWRlckNsaWVu
dC5iYXNlLnZlcnNpb24gPSAwOwogICAgIGxvYWRlckNsaWVudC5kaWRGaW5pc2hMb2FkRm9yRnJh
bWUgPSBkaWRGaW5pc2hMb2FkRm9yRnJhbWU7Ci0gICAgV0tQYWdlU2V0UGFnZUxvYWRlckNsaWVu
dCh3ZWJWaWV3LnBhZ2UoKSwgJmxvYWRlckNsaWVudCk7CisgICAgCisgICAgV0tQYWdlU2V0UGFn
ZUxvYWRlckNsaWVudCh3ZWJWaWV3LnBhZ2UoKSwgJmxvYWRlckNsaWVudC5iYXNlKTsKIAogICAg
IFdLUmV0YWluUHRyPFdLVVJMUmVmPiB1cmwoQWRvcHRXSywgVXRpbDo6Y3JlYXRlVVJMRm9yUmVz
b3VyY2UoInNpbXBsZSIsICJodG1sIikpOwogICAgIFdLUGFnZUxvYWRVUkwod2ViVmlldy5wYWdl
KCksIHVybC5nZXQoKSk7CmRpZmYgLS1naXQgYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dl
YktpdDIvQ29va2llTWFuYWdlci5jcHAgYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktp
dDIvQ29va2llTWFuYWdlci5jcHAKaW5kZXggZGY1ZmIyZWIwZDQ0YmViMjBhMDZhYTJkYTU4YzIz
YjRiNzk1ZWQ4OC4uMmYxN2I4MTYyMDM1NTY2YjgxMmM0N2NhM2QzMTRmMDhhMTg2ZDhjMCAxMDA2
NDQKLS0tIGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQyL0Nvb2tpZU1hbmFnZXIu
Y3BwCisrKyBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Mi9Db29raWVNYW5hZ2Vy
LmNwcApAQCAtNzIsMTIgKzcyLDEzIEBAIFRFU1QoV2ViS2l0MiwgQ29va2llTWFuYWdlcikKICAg
ICB3a0NvbnRleHQuYWRvcHQoV0tDb250ZXh0Q3JlYXRlKCkpOwogICAgIFBsYXRmb3JtV2ViVmll
dyB3ZWJWaWV3KHdrQ29udGV4dC5nZXQoKSk7CiAKLSAgICBXS1BhZ2VMb2FkZXJDbGllbnQgbG9h
ZGVyQ2xpZW50OworICAgIFdLUGFnZUxvYWRlckNsaWVudFYwIGxvYWRlckNsaWVudDsKICAgICBt
ZW1zZXQoJmxvYWRlckNsaWVudCwgMCwgc2l6ZW9mKGxvYWRlckNsaWVudCkpOwogCi0gICAgbG9h
ZGVyQ2xpZW50LnZlcnNpb24gPSAwOworICAgIGxvYWRlckNsaWVudC5iYXNlLnZlcnNpb24gPSAw
OwogICAgIGxvYWRlckNsaWVudC5kaWRGaW5pc2hMb2FkRm9yRnJhbWUgPSBkaWRGaW5pc2hMb2Fk
Rm9yRnJhbWU7Ci0gICAgV0tQYWdlU2V0UGFnZUxvYWRlckNsaWVudCh3ZWJWaWV3LnBhZ2UoKSwg
JmxvYWRlckNsaWVudCk7CisKKyAgICBXS1BhZ2VTZXRQYWdlTG9hZGVyQ2xpZW50KHdlYlZpZXcu
cGFnZSgpLCAmbG9hZGVyQ2xpZW50LmJhc2UpOwogCiAgICAgV0tQYWdlTG9hZFVSTCh3ZWJWaWV3
LnBhZ2UoKSwgYWRvcHRXSyhXS1VSTENyZWF0ZVdpdGhVVEY4Q1N0cmluZygiYWJvdXQ6Ymxhbmsi
KSkuZ2V0KCkpOwogCmRpZmYgLS1naXQgYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktp
dDIvRE9NV2luZG93RXh0ZW5zaW9uQmFzaWMuY3BwIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0
cy9XZWJLaXQyL0RPTVdpbmRvd0V4dGVuc2lvbkJhc2ljLmNwcAppbmRleCA3Y2NkZGFlYTI2NWE0
MTY5YjQwNTcxN2U5YWJjOTNlMDkzMTJkNTQ3Li4wNmFiZTg4NGJmOThmZmE1Y2Q2MGIxZDM2OGM1
NzAxNGYxNWRlNDgzIDEwMDY0NAotLS0gYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktp
dDIvRE9NV2luZG93RXh0ZW5zaW9uQmFzaWMuY3BwCisrKyBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkv
VGVzdHMvV2ViS2l0Mi9ET01XaW5kb3dFeHRlbnNpb25CYXNpYy5jcHAKQEAgLTgzLDEyICs4Mywx
MyBAQCBURVNUKFdlYktpdDIsIERJU0FCTEVEX0RPTVdpbmRvd0V4dGVuc2lvbkJhc2ljKQogCiAg
ICAgV0tSZXRhaW5QdHI8V0tDb250ZXh0UmVmPiBjb250ZXh0KEFkb3B0V0ssIFV0aWw6OmNyZWF0
ZUNvbnRleHRGb3JJbmplY3RlZEJ1bmRsZVRlc3QoIkRPTVdpbmRvd0V4dGVuc2lvbkJhc2ljIiwg
cGFnZUdyb3VwLmdldCgpKSk7CiAKLSAgICBXS0NvbnRleHRJbmplY3RlZEJ1bmRsZUNsaWVudCBp
bmplY3RlZEJ1bmRsZUNsaWVudDsKKyAgICBXS0NvbnRleHRJbmplY3RlZEJ1bmRsZUNsaWVudFYw
IGluamVjdGVkQnVuZGxlQ2xpZW50OwogICAgIG1lbXNldCgmaW5qZWN0ZWRCdW5kbGVDbGllbnQs
IDAsIHNpemVvZihpbmplY3RlZEJ1bmRsZUNsaWVudCkpOwotICAgIGluamVjdGVkQnVuZGxlQ2xp
ZW50LnZlcnNpb24gPSAwOwotICAgIGluamVjdGVkQnVuZGxlQ2xpZW50LmNsaWVudEluZm8gPSAw
OworCisgICAgaW5qZWN0ZWRCdW5kbGVDbGllbnQuYmFzZS52ZXJzaW9uID0gMDsKICAgICBpbmpl
Y3RlZEJ1bmRsZUNsaWVudC5kaWRSZWNlaXZlTWVzc2FnZUZyb21JbmplY3RlZEJ1bmRsZSA9IGRp
ZFJlY2VpdmVNZXNzYWdlRnJvbUluamVjdGVkQnVuZGxlOwotICAgIFdLQ29udGV4dFNldEluamVj
dGVkQnVuZGxlQ2xpZW50KGNvbnRleHQuZ2V0KCksICZpbmplY3RlZEJ1bmRsZUNsaWVudCk7CisK
KyAgICBXS0NvbnRleHRTZXRJbmplY3RlZEJ1bmRsZUNsaWVudChjb250ZXh0LmdldCgpLCAmaW5q
ZWN0ZWRCdW5kbGVDbGllbnQuYmFzZSk7CiAgICAgCiAgICAgLy8gVGhlIGRlZmF1bHQgY2FjaGUg
bW9kZWwgaGFzIGEgY2FwYWNpdHkgb2YgMCwgc28gaXQgaXMgbmVjZXNzYXJ5IHRvIHN3aXRjaCB0
byBhIGNhY2hlCiAgICAgLy8gbW9kZWwgdGhhdCBhY3R1YWxseSBhbGxvd3MgZm9yIGEgcGFnZSBj
YWNoZS4KZGlmZiAtLWdpdCBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Mi9ET01X
aW5kb3dFeHRlbnNpb25CYXNpY19CdW5kbGUuY3BwIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0
cy9XZWJLaXQyL0RPTVdpbmRvd0V4dGVuc2lvbkJhc2ljX0J1bmRsZS5jcHAKaW5kZXggNWIxMjk2
ZjQ3ZDE5ZDI4YjlkZTdmY2U4ZDEzMWFhNDA1NDc2YmRkMS4uNWM5NDY2MjVhODZlMTgzNTE4Zjdk
NDQyZmVmODliMTgzOWU3Y2FlNyAxMDA2NDQKLS0tIGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0
cy9XZWJLaXQyL0RPTVdpbmRvd0V4dGVuc2lvbkJhc2ljX0J1bmRsZS5jcHAKKysrIGIvVG9vbHMv
VGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQyL0RPTVdpbmRvd0V4dGVuc2lvbkJhc2ljX0J1bmRs
ZS5jcHAKQEAgLTE1MiwxOCArMTUyLDE4IEBAIHZvaWQgRE9NV2luZG93RXh0ZW5zaW9uQmFzaWM6
OmRpZENyZWF0ZVBhZ2UoV0tCdW5kbGVSZWYgYnVuZGxlLCBXS0J1bmRsZVBhZ2VSZWYKIHsgICAg
CiAgICAgbV9idW5kbGUgPSBidW5kbGU7CiAKLSAgICBXS0J1bmRsZVBhZ2VMb2FkZXJDbGllbnQg
cGFnZUxvYWRlckNsaWVudDsKKyAgICBXS0J1bmRsZVBhZ2VMb2FkZXJDbGllbnRWMSBwYWdlTG9h
ZGVyQ2xpZW50OwogICAgIG1lbXNldCgmcGFnZUxvYWRlckNsaWVudCwgMCwgc2l6ZW9mKHBhZ2VM
b2FkZXJDbGllbnQpKTsKICAgICAKLSAgICBwYWdlTG9hZGVyQ2xpZW50LnZlcnNpb24gPSAxOwot
ICAgIHBhZ2VMb2FkZXJDbGllbnQuY2xpZW50SW5mbyA9IHRoaXM7CisgICAgcGFnZUxvYWRlckNs
aWVudC5iYXNlLnZlcnNpb24gPSAxOworICAgIHBhZ2VMb2FkZXJDbGllbnQuYmFzZS5jbGllbnRJ
bmZvID0gdGhpczsKICAgICBwYWdlTG9hZGVyQ2xpZW50LmRpZEZpbmlzaExvYWRGb3JGcmFtZSA9
IGRpZEZpbmlzaExvYWRGb3JGcmFtZUNhbGxiYWNrOwogICAgIHBhZ2VMb2FkZXJDbGllbnQuZ2xv
YmFsT2JqZWN0SXNBdmFpbGFibGVGb3JGcmFtZSA9IGdsb2JhbE9iamVjdElzQXZhaWxhYmxlRm9y
RnJhbWVDYWxsYmFjazsKICAgICBwYWdlTG9hZGVyQ2xpZW50LndpbGxEaXNjb25uZWN0RE9NV2lu
ZG93RXh0ZW5zaW9uRnJvbUdsb2JhbE9iamVjdCA9IHdpbGxEaXNjb25uZWN0RE9NV2luZG93RXh0
ZW5zaW9uRnJvbUdsb2JhbE9iamVjdENhbGxiYWNrOwogICAgIHBhZ2VMb2FkZXJDbGllbnQuZGlk
UmVjb25uZWN0RE9NV2luZG93RXh0ZW5zaW9uVG9HbG9iYWxPYmplY3QgPSBkaWRSZWNvbm5lY3RE
T01XaW5kb3dFeHRlbnNpb25Ub0dsb2JhbE9iamVjdENhbGxiYWNrOwogICAgIHBhZ2VMb2FkZXJD
bGllbnQud2lsbERlc3Ryb3lHbG9iYWxPYmplY3RGb3JET01XaW5kb3dFeHRlbnNpb24gPSB3aWxs
RGVzdHJveUdsb2JhbE9iamVjdEZvckRPTVdpbmRvd0V4dGVuc2lvbkNhbGxiYWNrOwogICAgIAot
ICAgIFdLQnVuZGxlUGFnZVNldFBhZ2VMb2FkZXJDbGllbnQocGFnZSwgJnBhZ2VMb2FkZXJDbGll
bnQpOworICAgIFdLQnVuZGxlUGFnZVNldFBhZ2VMb2FkZXJDbGllbnQocGFnZSwgJnBhZ2VMb2Fk
ZXJDbGllbnQuYmFzZSk7CiB9CiAKIHZvaWQgRE9NV2luZG93RXh0ZW5zaW9uQmFzaWM6OndpbGxE
ZXN0cm95UGFnZShXS0J1bmRsZVJlZiwgV0tCdW5kbGVQYWdlUmVmKQpkaWZmIC0tZ2l0IGEvVG9v
bHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQyL0RPTVdpbmRvd0V4dGVuc2lvbk5vQ2FjaGUu
Y3BwIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQyL0RPTVdpbmRvd0V4dGVuc2lv
bk5vQ2FjaGUuY3BwCmluZGV4IGFjMDQwMTJjYTIwZGE3OWMxOWQ5Mjc0MzY3ZmMwNmM4MWNjMDRh
YjAuLmM1ZjYxMDRmNjU4NmQ2MDA5YTBiMTUwY2RhNjhiMTA0YmMxMzdhMGUgMTAwNjQ0Ci0tLSBh
L1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Mi9ET01XaW5kb3dFeHRlbnNpb25Ob0Nh
Y2hlLmNwcAorKysgYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdDIvRE9NV2luZG93
RXh0ZW5zaW9uTm9DYWNoZS5jcHAKQEAgLTg0LDEyICs4NCwxMyBAQCBURVNUKFdlYktpdDIsIERJ
U0FCTEVEX0RPTVdpbmRvd0V4dGVuc2lvbk5vQ2FjaGUpCiAKICAgICBXS1JldGFpblB0cjxXS0Nv
bnRleHRSZWY+IGNvbnRleHQoQWRvcHRXSywgVXRpbDo6Y3JlYXRlQ29udGV4dEZvckluamVjdGVk
QnVuZGxlVGVzdCgiRE9NV2luZG93RXh0ZW5zaW9uTm9DYWNoZSIsIHBhZ2VHcm91cC5nZXQoKSkp
OwogCi0gICAgV0tDb250ZXh0SW5qZWN0ZWRCdW5kbGVDbGllbnQgaW5qZWN0ZWRCdW5kbGVDbGll
bnQ7CisgICAgV0tDb250ZXh0SW5qZWN0ZWRCdW5kbGVDbGllbnRWMSBpbmplY3RlZEJ1bmRsZUNs
aWVudDsKICAgICBtZW1zZXQoJmluamVjdGVkQnVuZGxlQ2xpZW50LCAwLCBzaXplb2YoaW5qZWN0
ZWRCdW5kbGVDbGllbnQpKTsKLSAgICBpbmplY3RlZEJ1bmRsZUNsaWVudC52ZXJzaW9uID0ga1dL
Q29udGV4dEluamVjdGVkQnVuZGxlQ2xpZW50Q3VycmVudFZlcnNpb247Ci0gICAgaW5qZWN0ZWRC
dW5kbGVDbGllbnQuY2xpZW50SW5mbyA9IDA7CisKKyAgICBpbmplY3RlZEJ1bmRsZUNsaWVudC5i
YXNlLnZlcnNpb24gPSAxOwogICAgIGluamVjdGVkQnVuZGxlQ2xpZW50LmRpZFJlY2VpdmVNZXNz
YWdlRnJvbUluamVjdGVkQnVuZGxlID0gZGlkUmVjZWl2ZU1lc3NhZ2VGcm9tSW5qZWN0ZWRCdW5k
bGU7Ci0gICAgV0tDb250ZXh0U2V0SW5qZWN0ZWRCdW5kbGVDbGllbnQoY29udGV4dC5nZXQoKSwg
JmluamVjdGVkQnVuZGxlQ2xpZW50KTsKKworICAgIFdLQ29udGV4dFNldEluamVjdGVkQnVuZGxl
Q2xpZW50KGNvbnRleHQuZ2V0KCksICZpbmplY3RlZEJ1bmRsZUNsaWVudC5iYXNlKTsKIAogICAg
IC8vIERpc2FibGUgdGhlIHBhZ2UgY2FjaGUuCiAgICAgV0tDb250ZXh0U2V0Q2FjaGVNb2RlbChj
b250ZXh0LmdldCgpLCBrV0tDYWNoZU1vZGVsRG9jdW1lbnRWaWV3ZXIpOwpkaWZmIC0tZ2l0IGEv
VG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQyL0RPTVdpbmRvd0V4dGVuc2lvbk5vQ2Fj
aGVfQnVuZGxlLmNwcCBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Mi9ET01XaW5k
b3dFeHRlbnNpb25Ob0NhY2hlX0J1bmRsZS5jcHAKaW5kZXggZjU2M2I2N2M2MDhjMzAwMWYyZWJh
MzA5ZGRiNDlmOTc1Mjk4YjQ2Zi4uNjgwYzE3Mjg4OTM5YzYwNWUwYTE2NGY5NzA2YWNjMjgyOGI0
ZWI3ZiAxMDA2NDQKLS0tIGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQyL0RPTVdp
bmRvd0V4dGVuc2lvbk5vQ2FjaGVfQnVuZGxlLmNwcAorKysgYi9Ub29scy9UZXN0V2ViS2l0QVBJ
L1Rlc3RzL1dlYktpdDIvRE9NV2luZG93RXh0ZW5zaW9uTm9DYWNoZV9CdW5kbGUuY3BwCkBAIC0x
NTksMTggKzE1OSwxOCBAQCB2b2lkIERPTVdpbmRvd0V4dGVuc2lvbk5vQ2FjaGU6OmRpZENyZWF0
ZVBhZ2UoV0tCdW5kbGVSZWYgYnVuZGxlLCBXS0J1bmRsZVBhZ2VSZQogewogICAgIG1fYnVuZGxl
ID0gYnVuZGxlOwogCi0gICAgV0tCdW5kbGVQYWdlTG9hZGVyQ2xpZW50IHBhZ2VMb2FkZXJDbGll
bnQ7CisgICAgV0tCdW5kbGVQYWdlTG9hZGVyQ2xpZW50VjcgcGFnZUxvYWRlckNsaWVudDsKICAg
ICBtZW1zZXQoJnBhZ2VMb2FkZXJDbGllbnQsIDAsIHNpemVvZihwYWdlTG9hZGVyQ2xpZW50KSk7
CiAKLSAgICBwYWdlTG9hZGVyQ2xpZW50LnZlcnNpb24gPSBrV0tCdW5kbGVQYWdlTG9hZGVyQ2xp
ZW50Q3VycmVudFZlcnNpb247Ci0gICAgcGFnZUxvYWRlckNsaWVudC5jbGllbnRJbmZvID0gdGhp
czsKKyAgICBwYWdlTG9hZGVyQ2xpZW50LmJhc2UudmVyc2lvbiA9IDc7CisgICAgcGFnZUxvYWRl
ckNsaWVudC5iYXNlLmNsaWVudEluZm8gPSB0aGlzOwogICAgIHBhZ2VMb2FkZXJDbGllbnQuZGlk
RmluaXNoTG9hZEZvckZyYW1lID0gZGlkRmluaXNoTG9hZEZvckZyYW1lQ2FsbGJhY2s7CiAgICAg
cGFnZUxvYWRlckNsaWVudC5nbG9iYWxPYmplY3RJc0F2YWlsYWJsZUZvckZyYW1lID0gZ2xvYmFs
T2JqZWN0SXNBdmFpbGFibGVGb3JGcmFtZUNhbGxiYWNrOwogICAgIHBhZ2VMb2FkZXJDbGllbnQu
d2lsbERpc2Nvbm5lY3RET01XaW5kb3dFeHRlbnNpb25Gcm9tR2xvYmFsT2JqZWN0ID0gd2lsbERp
c2Nvbm5lY3RET01XaW5kb3dFeHRlbnNpb25Gcm9tR2xvYmFsT2JqZWN0Q2FsbGJhY2s7CiAgICAg
cGFnZUxvYWRlckNsaWVudC5kaWRSZWNvbm5lY3RET01XaW5kb3dFeHRlbnNpb25Ub0dsb2JhbE9i
amVjdCA9IGRpZFJlY29ubmVjdERPTVdpbmRvd0V4dGVuc2lvblRvR2xvYmFsT2JqZWN0Q2FsbGJh
Y2s7CiAgICAgcGFnZUxvYWRlckNsaWVudC53aWxsRGVzdHJveUdsb2JhbE9iamVjdEZvckRPTVdp
bmRvd0V4dGVuc2lvbiA9IHdpbGxEZXN0cm95R2xvYmFsT2JqZWN0Rm9yRE9NV2luZG93RXh0ZW5z
aW9uQ2FsbGJhY2s7CiAKLSAgICBXS0J1bmRsZVBhZ2VTZXRQYWdlTG9hZGVyQ2xpZW50KHBhZ2Us
ICZwYWdlTG9hZGVyQ2xpZW50KTsKKyAgICBXS0J1bmRsZVBhZ2VTZXRQYWdlTG9hZGVyQ2xpZW50
KHBhZ2UsICZwYWdlTG9hZGVyQ2xpZW50LmJhc2UpOwogfQogCiB2b2lkIERPTVdpbmRvd0V4dGVu
c2lvbk5vQ2FjaGU6OndpbGxEZXN0cm95UGFnZShXS0J1bmRsZVJlZiwgV0tCdW5kbGVQYWdlUmVm
KQpkaWZmIC0tZ2l0IGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQyL0RpZEFzc29j
aWF0ZUZvcm1Db250cm9scy5jcHAgYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdDIv
RGlkQXNzb2NpYXRlRm9ybUNvbnRyb2xzLmNwcAppbmRleCA0ZTZiNGZlMWQyNDNkZDZhZjBmNDMw
OTAxODA3NDI3YjlhNjJlZTA0Li5hNzhiODg2N2Y4MDk0NzFkMjkwYzQ4OWRmNDhlMGZiNGZlNDdm
MzI0IDEwMDY0NAotLS0gYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdDIvRGlkQXNz
b2NpYXRlRm9ybUNvbnRyb2xzLmNwcAorKysgYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dl
YktpdDIvRGlkQXNzb2NpYXRlRm9ybUNvbnRyb2xzLmNwcApAQCAtNjMsMTEgKzYzLDEzIEBAIHN0
YXRpYyB2b2lkIGRpZFJlY2VpdmVNZXNzYWdlRnJvbUluamVjdGVkQnVuZGxlKFdLQ29udGV4dFJl
ZiwgV0tTdHJpbmdSZWYgbWVzc2FnCiAKIHN0YXRpYyB2b2lkIHNldEluamVjdGVkQnVuZGxlQ2xp
ZW50KFdLQ29udGV4dFJlZiBjb250ZXh0KQogewotICAgIFdLQ29udGV4dEluamVjdGVkQnVuZGxl
Q2xpZW50IGluamVjdGVkQnVuZGxlQ2xpZW50OworICAgIFdLQ29udGV4dEluamVjdGVkQnVuZGxl
Q2xpZW50VjAgaW5qZWN0ZWRCdW5kbGVDbGllbnQ7CiAgICAgbWVtc2V0KCZpbmplY3RlZEJ1bmRs
ZUNsaWVudCwgMCwgc2l6ZW9mKGluamVjdGVkQnVuZGxlQ2xpZW50KSk7CisKKyAgICBpbmplY3Rl
ZEJ1bmRsZUNsaWVudC5iYXNlLnZlcnNpb24gPSAwOwogICAgIGluamVjdGVkQnVuZGxlQ2xpZW50
LmRpZFJlY2VpdmVNZXNzYWdlRnJvbUluamVjdGVkQnVuZGxlID0gZGlkUmVjZWl2ZU1lc3NhZ2VG
cm9tSW5qZWN0ZWRCdW5kbGU7CiAKLSAgICBXS0NvbnRleHRTZXRJbmplY3RlZEJ1bmRsZUNsaWVu
dChjb250ZXh0LCAmaW5qZWN0ZWRCdW5kbGVDbGllbnQpOworICAgIFdLQ29udGV4dFNldEluamVj
dGVkQnVuZGxlQ2xpZW50KGNvbnRleHQsICZpbmplY3RlZEJ1bmRsZUNsaWVudC5iYXNlKTsKIH0K
IAogVEVTVChXZWJLaXQyLCBEaWRBc3NvY2lhdGVGb3JtQ29udHJvbHMpCmRpZmYgLS1naXQgYS9U
b29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdDIvRGlkQXNzb2NpYXRlRm9ybUNvbnRyb2xz
X0J1bmRsZS5jcHAgYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdDIvRGlkQXNzb2Np
YXRlRm9ybUNvbnRyb2xzX0J1bmRsZS5jcHAKaW5kZXggYjc0MjY1MGFmZGJlODExZTE0Y2VlMDhi
M2MzMjc5ZThiZDlmZjhkZC4uYjYxODM2YWRjMWE5ZDg3NDVhNzQ0YTU5NDE2NDk3ZDk1ZTI2N2Fj
OCAxMDA2NDQKLS0tIGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQyL0RpZEFzc29j
aWF0ZUZvcm1Db250cm9sc19CdW5kbGUuY3BwCisrKyBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVz
dHMvV2ViS2l0Mi9EaWRBc3NvY2lhdGVGb3JtQ29udHJvbHNfQnVuZGxlLmNwcApAQCAtNjQsMTUg
KzY0LDE1IEBAIERpZEFzc29jaWF0ZUZvcm1Db250cm9sc1Rlc3Q6OkRpZEFzc29jaWF0ZUZvcm1D
b250cm9sc1Rlc3QoY29uc3Qgc3RkOjpzdHJpbmcmIGlkCiAKIHZvaWQgRGlkQXNzb2NpYXRlRm9y
bUNvbnRyb2xzVGVzdDo6ZGlkQ3JlYXRlUGFnZShXS0J1bmRsZVJlZiBidW5kbGUsIFdLQnVuZGxl
UGFnZVJlZiBwYWdlKQogewotICAgIFdLQnVuZGxlUGFnZUZvcm1DbGllbnQgZm9ybUNsaWVudDsK
KyAgICBXS0J1bmRsZVBhZ2VGb3JtQ2xpZW50VjIgZm9ybUNsaWVudDsKICAgICBtZW1zZXQoJmZv
cm1DbGllbnQsIDAsIHNpemVvZihmb3JtQ2xpZW50KSk7CiAKLSAgICBmb3JtQ2xpZW50LnZlcnNp
b24gPSAyOwotICAgIGZvcm1DbGllbnQuY2xpZW50SW5mbyA9IHRoaXM7CisgICAgZm9ybUNsaWVu
dC5iYXNlLnZlcnNpb24gPSAyOworICAgIGZvcm1DbGllbnQuYmFzZS5jbGllbnRJbmZvID0gdGhp
czsKICAgICBmb3JtQ2xpZW50LnNob3VsZE5vdGlmeU9uRm9ybUNoYW5nZXMgPSBzaG91bGROb3Rp
ZnlPbkZvcm1DaGFuZ2VzOwogICAgIGZvcm1DbGllbnQuZGlkQXNzb2NpYXRlRm9ybUNvbnRyb2xz
ID0gZGlkQXNzb2NpYXRlRm9ybUNvbnRyb2xzOwogCi0gICAgV0tCdW5kbGVQYWdlU2V0Rm9ybUNs
aWVudChwYWdlLCAmZm9ybUNsaWVudCk7CisgICAgV0tCdW5kbGVQYWdlU2V0Rm9ybUNsaWVudChw
YWdlLCAmZm9ybUNsaWVudC5iYXNlKTsKIH0KIAogfSAvLyBuYW1lc3BhY2UgVGVzdFdlYktpdEFQ
SQpkaWZmIC0tZ2l0IGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQyL0RpZE5vdEhh
bmRsZUtleURvd24uY3BwIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQyL0RpZE5v
dEhhbmRsZUtleURvd24uY3BwCmluZGV4IDBhNTlmNjJhOGRlZjM0OWM2ZWMxOGY2N2IzZTU3ZjUx
Y2FiYjZhNGYuLmUwYzVjYjBkODAzOTk3ZDEzNjQ1OTNiZDFmOGIyZDIwMjhjODBmMmQgMTAwNjQ0
Ci0tLSBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Mi9EaWROb3RIYW5kbGVLZXlE
b3duLmNwcAorKysgYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdDIvRGlkTm90SGFu
ZGxlS2V5RG93bi5jcHAKQEAgLTUwLDE4ICs1MCwyMSBAQCBURVNUKFdlYktpdDIsIERpZE5vdEhh
bmRsZUtleURvd24pCiAgICAgV0tSZXRhaW5QdHI8V0tDb250ZXh0UmVmPiBjb250ZXh0KEFkb3B0
V0ssIFV0aWw6OmNyZWF0ZUNvbnRleHRXaXRoSW5qZWN0ZWRCdW5kbGUoKSk7CiAgICAgUGxhdGZv
cm1XZWJWaWV3IHdlYlZpZXcoY29udGV4dC5nZXQoKSk7CiAKLSAgICBXS1BhZ2VMb2FkZXJDbGll
bnQgbG9hZGVyQ2xpZW50OworICAgIFdLUGFnZUxvYWRlckNsaWVudFYwIGxvYWRlckNsaWVudDsK
ICAgICBtZW1zZXQoJmxvYWRlckNsaWVudCwgMCwgc2l6ZW9mKGxvYWRlckNsaWVudCkpOwogICAg
IAotICAgIGxvYWRlckNsaWVudC52ZXJzaW9uID0gMDsKKyAgICBsb2FkZXJDbGllbnQuYmFzZS52
ZXJzaW9uID0gMDsKICAgICBsb2FkZXJDbGllbnQuZGlkRmluaXNoTG9hZEZvckZyYW1lID0gZGlk
RmluaXNoTG9hZEZvckZyYW1lOwotICAgIFdLUGFnZVNldFBhZ2VMb2FkZXJDbGllbnQod2ViVmll
dy5wYWdlKCksICZsb2FkZXJDbGllbnQpOwogCi0gICAgV0tQYWdlVUlDbGllbnQgdWlDbGllbnQ7
CisgICAgV0tQYWdlU2V0UGFnZUxvYWRlckNsaWVudCh3ZWJWaWV3LnBhZ2UoKSwgJmxvYWRlckNs
aWVudC5iYXNlKTsKKworICAgIFdLUGFnZVVJQ2xpZW50VjAgdWlDbGllbnQ7CiAgICAgbWVtc2V0
KCZ1aUNsaWVudCwgMCwgc2l6ZW9mKHVpQ2xpZW50KSk7CiAKKyAgICB1aUNsaWVudC5iYXNlLnZl
cnNpb24gPSAwOwogICAgIHVpQ2xpZW50LmRpZE5vdEhhbmRsZUtleUV2ZW50ID0gZGlkTm90SGFu
ZGxlS2V5RXZlbnRDYWxsYmFjazsKLSAgICBXS1BhZ2VTZXRQYWdlVUlDbGllbnQod2ViVmlldy5w
YWdlKCksICZ1aUNsaWVudCk7CisKKyAgICBXS1BhZ2VTZXRQYWdlVUlDbGllbnQod2ViVmlldy5w
YWdlKCksICZ1aUNsaWVudC5iYXNlKTsKIAogICAgIFdLUmV0YWluUHRyPFdLVVJMUmVmPiB1cmwo
QWRvcHRXSywgVXRpbDo6Y3JlYXRlVVJMRm9yUmVzb3VyY2UoInNpbXBsZSIsICJodG1sIikpOwog
ICAgIFdLUGFnZUxvYWRVUkwod2ViVmlldy5wYWdlKCksIHVybC5nZXQoKSk7CmRpZmYgLS1naXQg
YS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdDIvRG9jdW1lbnRTdGFydFVzZXJTY3Jp
cHRBbGVydENyYXNoLmNwcCBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Mi9Eb2N1
bWVudFN0YXJ0VXNlclNjcmlwdEFsZXJ0Q3Jhc2guY3BwCmluZGV4IDc1NTlkYTI4ZDM1MWNiNzc3
YjhjZDI4NDQ3MmQ4MGI2NGFmOWM0ZjQuLmVmZGNkNTZhN2E3NWUxODM5ZjNkNTRmMGI2ZGUzNjJi
MGFjZGY0NzQgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Mi9E
b2N1bWVudFN0YXJ0VXNlclNjcmlwdEFsZXJ0Q3Jhc2guY3BwCisrKyBiL1Rvb2xzL1Rlc3RXZWJL
aXRBUEkvVGVzdHMvV2ViS2l0Mi9Eb2N1bWVudFN0YXJ0VXNlclNjcmlwdEFsZXJ0Q3Jhc2guY3Bw
CkBAIC01MCwxMiArNTAsMTMgQEAgVEVTVChXZWJLaXQyLCBEb2N1bWVudFN0YXJ0VXNlclNjcmlw
dEFsZXJ0Q3Jhc2hUZXN0KQogICAgIFdLUmV0YWluUHRyPFdLQ29udGV4dFJlZj4gY29udGV4dChB
ZG9wdFdLLCBVdGlsOjpjcmVhdGVDb250ZXh0Rm9ySW5qZWN0ZWRCdW5kbGVUZXN0KCJEb2N1bWVu
dFN0YXJ0VXNlclNjcmlwdEFsZXJ0Q3Jhc2hUZXN0IiwgcGFnZUdyb3VwLmdldCgpKSk7CiAgICAg
UGxhdGZvcm1XZWJWaWV3IHdlYlZpZXcoY29udGV4dC5nZXQoKSwgcGFnZUdyb3VwLmdldCgpKTsK
IAotICAgIFdLUGFnZVVJQ2xpZW50IHVpQ2xpZW50OworICAgIFdLUGFnZVVJQ2xpZW50VjAgdWlD
bGllbnQ7CiAgICAgbWVtc2V0KCZ1aUNsaWVudCwgMCwgc2l6ZW9mKHVpQ2xpZW50KSk7Ci0gICAg
dWlDbGllbnQudmVyc2lvbiA9IDA7Ci0gICAgdWlDbGllbnQuY2xpZW50SW5mbyA9IDA7CisKKyAg
ICB1aUNsaWVudC5iYXNlLnZlcnNpb24gPSAwOwogICAgIHVpQ2xpZW50LnJ1bkphdmFTY3JpcHRB
bGVydCA9IHJ1bkphdmFTY3JpcHRBbGVydDsKLSAgICBXS1BhZ2VTZXRQYWdlVUlDbGllbnQod2Vi
Vmlldy5wYWdlKCksICZ1aUNsaWVudCk7CisKKyAgICBXS1BhZ2VTZXRQYWdlVUlDbGllbnQod2Vi
Vmlldy5wYWdlKCksICZ1aUNsaWVudC5iYXNlKTsKIAogICAgIFdLUmV0YWluUHRyPFdLVVJMUmVm
PiB1cmwoQWRvcHRXSywgVXRpbDo6Y3JlYXRlVVJMRm9yUmVzb3VyY2UoInNpbXBsZSIsICJodG1s
IikpOwogICAgIFdLUGFnZUxvYWRVUkwod2ViVmlldy5wYWdlKCksIHVybC5nZXQoKSk7CmRpZmYg
LS1naXQgYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdDIvRG93bmxvYWREZWNpZGVE
ZXN0aW5hdGlvbkNyYXNoLmNwcCBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Mi9E
b3dubG9hZERlY2lkZURlc3RpbmF0aW9uQ3Jhc2guY3BwCmluZGV4IDUyYTFiNDdiNThjOGY1ZjI3
NzEzZTIzNWJkOGE2MDA1MzYxMDJiYmQuLmFhZWFkNzJkZDIxZTdhZThjNWNhMWJmM2MxODM4Y2Fk
OWU4NjQ0NGIgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Mi9E
b3dubG9hZERlY2lkZURlc3RpbmF0aW9uQ3Jhc2guY3BwCisrKyBiL1Rvb2xzL1Rlc3RXZWJLaXRB
UEkvVGVzdHMvV2ViS2l0Mi9Eb3dubG9hZERlY2lkZURlc3RpbmF0aW9uQ3Jhc2guY3BwCkBAIC00
NiwyMSArNDYsMjQgQEAgc3RhdGljIFdLU3RyaW5nUmVmIGRlY2lkZURlc3RpbmF0aW9uV2l0aFN1
Z2dlc3RlZEZpbGVuYW1lKFdLQ29udGV4dFJlZiwgV0tEb3dubG8KIAogc3RhdGljIHZvaWQgc2V0
Q29udGV4dERvd25sb2FkQ2xpZW50KFdLQ29udGV4dFJlZiBjb250ZXh0KQogewotICAgIFdLQ29u
dGV4dERvd25sb2FkQ2xpZW50IGNsaWVudDsKKyAgICBXS0NvbnRleHREb3dubG9hZENsaWVudFYw
IGNsaWVudDsKICAgICBtZW1zZXQoJmNsaWVudCwgMCwgc2l6ZW9mKGNsaWVudCkpOworCisgICAg
Y2xpZW50LmJhc2UudmVyc2lvbiA9IDA7CiAgICAgY2xpZW50LmRlY2lkZURlc3RpbmF0aW9uV2l0
aFN1Z2dlc3RlZEZpbGVuYW1lID0gZGVjaWRlRGVzdGluYXRpb25XaXRoU3VnZ2VzdGVkRmlsZW5h
bWU7CiAKLSAgICBXS0NvbnRleHRTZXREb3dubG9hZENsaWVudChjb250ZXh0LCAmY2xpZW50KTsK
KyAgICBXS0NvbnRleHRTZXREb3dubG9hZENsaWVudChjb250ZXh0LCAmY2xpZW50LmJhc2UpOwog
fQogCiBzdGF0aWMgdm9pZCBzZXRQYWdlUG9saWN5Q2xpZW50KFdLUGFnZVJlZiBwYWdlKQogewot
ICAgIFdLUGFnZVBvbGljeUNsaWVudCBwb2xpY3lDbGllbnQ7CisgICAgV0tQYWdlUG9saWN5Q2xp
ZW50VjEgcG9saWN5Q2xpZW50OwogICAgIG1lbXNldCgmcG9saWN5Q2xpZW50LCAwLCBzaXplb2Yo
cG9saWN5Q2xpZW50KSk7Ci0gICAgcG9saWN5Q2xpZW50LnZlcnNpb24gPSAxOworCisgICAgcG9s
aWN5Q2xpZW50LmJhc2UudmVyc2lvbiA9IDE7CiAgICAgcG9saWN5Q2xpZW50LmRlY2lkZVBvbGlj
eUZvck5hdmlnYXRpb25BY3Rpb24gPSBkZWNpZGVQb2xpY3lGb3JOYXZpZ2F0aW9uQWN0aW9uOwog
Ci0gICAgV0tQYWdlU2V0UGFnZVBvbGljeUNsaWVudChwYWdlLCAmcG9saWN5Q2xpZW50KTsKKyAg
ICBXS1BhZ2VTZXRQYWdlUG9saWN5Q2xpZW50KHBhZ2UsICZwb2xpY3lDbGllbnQuYmFzZSk7CiB9
CiAKIFRFU1QoV2ViS2l0MiwgRG93bmxvYWREZWNpZGVEZXN0aW5hdGlvbkNyYXNoKQpkaWZmIC0t
Z2l0IGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQyL0ZhaWxlZExvYWQuY3BwIGIv
VG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQyL0ZhaWxlZExvYWQuY3BwCmluZGV4IDk5
YjFiOTc0NDZmNjgzMjRhOTVhODc2YTk2ZjA1ZDc4ZjMyM2ZlYmMuLmFjOGQ2YTM5ZDc3NDc3ZmNk
ZGFkZmFlMzllZWM1Mzk4NDM2MjBmNmYgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkv
VGVzdHMvV2ViS2l0Mi9GYWlsZWRMb2FkLmNwcAorKysgYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rl
c3RzL1dlYktpdDIvRmFpbGVkTG9hZC5jcHAKQEAgLTUwLDEzICs1MCwxMyBAQCBURVNUKFdlYktp
dDIsIEZhaWxlZExvYWQpCiAgICAgV0tSZXRhaW5QdHI8V0tDb250ZXh0UmVmPiBjb250ZXh0KEFk
b3B0V0ssIFdLQ29udGV4dENyZWF0ZSgpKTsKICAgICBQbGF0Zm9ybVdlYlZpZXcgd2ViVmlldyhj
b250ZXh0LmdldCgpKTsKIAotICAgIFdLUGFnZUxvYWRlckNsaWVudCBsb2FkZXJDbGllbnQ7Cisg
ICAgV0tQYWdlTG9hZGVyQ2xpZW50VjAgbG9hZGVyQ2xpZW50OwogICAgIG1lbXNldCgmbG9hZGVy
Q2xpZW50LCAwLCBzaXplb2YobG9hZGVyQ2xpZW50KSk7CiAKLSAgICBsb2FkZXJDbGllbnQudmVy
c2lvbiA9IDA7Ci0gICAgbG9hZGVyQ2xpZW50LmNsaWVudEluZm8gPSAwOworICAgIGxvYWRlckNs
aWVudC5iYXNlLnZlcnNpb24gPSAwOwogICAgIGxvYWRlckNsaWVudC5kaWRGYWlsUHJvdmlzaW9u
YWxMb2FkV2l0aEVycm9yRm9yRnJhbWUgPSBkaWRGYWlsUHJvdmlzaW9uYWxMb2FkV2l0aEVycm9y
Rm9yRnJhbWU7Ci0gICAgV0tQYWdlU2V0UGFnZUxvYWRlckNsaWVudCh3ZWJWaWV3LnBhZ2UoKSwg
JmxvYWRlckNsaWVudCk7CisKKyAgICBXS1BhZ2VTZXRQYWdlTG9hZGVyQ2xpZW50KHdlYlZpZXcu
cGFnZSgpLCAmbG9hZGVyQ2xpZW50LmJhc2UpOwogCiAgICAgV0tSZXRhaW5QdHI8V0tVUkxSZWY+
IHVybChBZG9wdFdLLCBVdGlsOjpVUkxGb3JOb25FeGlzdGVudFJlc291cmNlKCkpOwogICAgIFdL
UGFnZUxvYWRVUkwod2ViVmlldy5wYWdlKCksIHVybC5nZXQoKSk7CmRpZmYgLS1naXQgYS9Ub29s
cy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdDIvRmluZC5jcHAgYi9Ub29scy9UZXN0V2ViS2l0
QVBJL1Rlc3RzL1dlYktpdDIvRmluZC5jcHAKaW5kZXggMjcxN2MxMzU1NDcyMTk1MWE5OWEzNTIy
YTI4ZWZlMTZkNWY0MmZhNi4uNDFiNTJlYWNkZjBjMThlMmMxZjAyNjBmZjE0NDc2YzMwNjM0MWZj
ZSAxMDA2NDQKLS0tIGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQyL0ZpbmQuY3Bw
CisrKyBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Mi9GaW5kLmNwcApAQCAtNTEs
MTkgKzUxLDIxIEBAIFRFU1QoV2ViS2l0MiwgRmluZCkKICAgICBXS1JldGFpblB0cjxXS0NvbnRl
eHRSZWY+IGNvbnRleHQoQWRvcHRXSywgV0tDb250ZXh0Q3JlYXRlKCkpOwogICAgIFBsYXRmb3Jt
V2ViVmlldyB3ZWJWaWV3KGNvbnRleHQuZ2V0KCkpOwogICAgIAotICAgIFdLUGFnZUxvYWRlckNs
aWVudCBsb2FkZXJDbGllbnQ7CisgICAgV0tQYWdlTG9hZGVyQ2xpZW50VjAgbG9hZGVyQ2xpZW50
OwogICAgIG1lbXNldCgmbG9hZGVyQ2xpZW50LCAwLCBzaXplb2YobG9hZGVyQ2xpZW50KSk7CiAg
ICAgCi0gICAgbG9hZGVyQ2xpZW50LnZlcnNpb24gPSAwOworICAgIGxvYWRlckNsaWVudC5iYXNl
LnZlcnNpb24gPSAwOwogICAgIGxvYWRlckNsaWVudC5kaWRGaW5pc2hMb2FkRm9yRnJhbWUgPSBk
aWRGaW5pc2hMb2FkRm9yRnJhbWU7Ci0gICAgV0tQYWdlU2V0UGFnZUxvYWRlckNsaWVudCh3ZWJW
aWV3LnBhZ2UoKSwgJmxvYWRlckNsaWVudCk7CiAKLSAgICBXS1BhZ2VGaW5kQ2xpZW50IGZpbmRD
bGllbnQ7CisgICAgV0tQYWdlU2V0UGFnZUxvYWRlckNsaWVudCh3ZWJWaWV3LnBhZ2UoKSwgJmxv
YWRlckNsaWVudC5iYXNlKTsKKworICAgIFdLUGFnZUZpbmRDbGllbnRWMCBmaW5kQ2xpZW50Owog
ICAgIG1lbXNldCgmZmluZENsaWVudCwgMCwgc2l6ZW9mKGZpbmRDbGllbnQpKTsKIAotICAgIGZp
bmRDbGllbnQudmVyc2lvbiA9IDA7CisgICAgZmluZENsaWVudC5iYXNlLnZlcnNpb24gPSAwOwog
ICAgIGZpbmRDbGllbnQuZGlkQ291bnRTdHJpbmdNYXRjaGVzID0gZGlkQ291bnRTdHJpbmdNYXRj
aGVzOwotICAgIFdLUGFnZVNldFBhZ2VGaW5kQ2xpZW50KHdlYlZpZXcucGFnZSgpLCAmZmluZENs
aWVudCk7CisKKyAgICBXS1BhZ2VTZXRQYWdlRmluZENsaWVudCh3ZWJWaWV3LnBhZ2UoKSwgJmZp
bmRDbGllbnQuYmFzZSk7CiAKICAgICBXS1JldGFpblB0cjxXS1VSTFJlZj4gdXJsKEFkb3B0V0ss
IFV0aWw6OmNyZWF0ZVVSTEZvclJlc291cmNlKCJmaW5kIiwgImh0bWwiKSk7CiAgICAgV0tQYWdl
TG9hZFVSTCh3ZWJWaWV3LnBhZ2UoKSwgdXJsLmdldCgpKTsKZGlmZiAtLWdpdCBhL1Rvb2xzL1Rl
c3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Mi9GaW5kTWF0Y2hlcy5tbSBiL1Rvb2xzL1Rlc3RXZWJL
aXRBUEkvVGVzdHMvV2ViS2l0Mi9GaW5kTWF0Y2hlcy5tbQppbmRleCA0YTU3MzRmNTg5N2VkZWIz
ODA5NGY1OWQ2MmJhMWJhZmU0ZWE0YmI1Li4xODQxNmU4ZTEzY2Q1ZTc3MTQwOTkyOWYyMGM1ZDk3
MTAwODgxMWU2IDEwMDY0NAotLS0gYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdDIv
RmluZE1hdGNoZXMubW0KKysrIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQyL0Zp
bmRNYXRjaGVzLm1tCkBAIC0xMTIsMjEgKzExMiwyMiBAQCBURVNUKFdlYktpdDIsIEZpbmRNYXRj
aGVzKQogICAgIFdLUmV0YWluUHRyPFdLQ29udGV4dFJlZj4gY29udGV4dChBZG9wdFdLLCBXS0Nv
bnRleHRDcmVhdGUoKSk7CiAgICAgUGxhdGZvcm1XZWJWaWV3IHdlYlZpZXcoY29udGV4dC5nZXQo
KSk7CiAgICAgCi0gICAgV0tQYWdlTG9hZGVyQ2xpZW50IGxvYWRlckNsaWVudDsKKyAgICBXS1Bh
Z2VMb2FkZXJDbGllbnRWMCBsb2FkZXJDbGllbnQ7CiAgICAgbWVtc2V0KCZsb2FkZXJDbGllbnQs
IDAsIHNpemVvZihsb2FkZXJDbGllbnQpKTsKICAgICAKLSAgICBsb2FkZXJDbGllbnQudmVyc2lv
biA9IDA7CisgICAgbG9hZGVyQ2xpZW50LmJhc2UudmVyc2lvbiA9IDA7CiAgICAgbG9hZGVyQ2xp
ZW50LmRpZEZpbmlzaExvYWRGb3JGcmFtZSA9IGRpZEZpbmlzaExvYWRGb3JGcmFtZTsKLSAgICBX
S1BhZ2VTZXRQYWdlTG9hZGVyQ2xpZW50KHdlYlZpZXcucGFnZSgpLCAmbG9hZGVyQ2xpZW50KTsK
IAotICAgIFdLUGFnZUZpbmRNYXRjaGVzQ2xpZW50IGZpbmRNYXRjaGVzQ2xpZW50OworICAgIFdL
UGFnZVNldFBhZ2VMb2FkZXJDbGllbnQod2ViVmlldy5wYWdlKCksICZsb2FkZXJDbGllbnQuYmFz
ZSk7CisKKyAgICBXS1BhZ2VGaW5kTWF0Y2hlc0NsaWVudFYwIGZpbmRNYXRjaGVzQ2xpZW50Owog
ICAgIG1lbXNldCgmZmluZE1hdGNoZXNDbGllbnQsIDAsIHNpemVvZihmaW5kTWF0Y2hlc0NsaWVu
dCkpOwogCi0gICAgZmluZE1hdGNoZXNDbGllbnQudmVyc2lvbiA9IDA7CisgICAgZmluZE1hdGNo
ZXNDbGllbnQuYmFzZS52ZXJzaW9uID0gMDsKICAgICBmaW5kTWF0Y2hlc0NsaWVudC5kaWRGaW5k
U3RyaW5nTWF0Y2hlcyA9IGRpZEZpbmRTdHJpbmdNYXRjaGVzOwogICAgIGZpbmRNYXRjaGVzQ2xp
ZW50LmRpZEdldEltYWdlRm9yTWF0Y2hSZXN1bHQgPSBkaWRHZXRJbWFnZUZvck1hdGNoUmVzdWx0
OwogCi0gICAgV0tQYWdlU2V0UGFnZUZpbmRNYXRjaGVzQ2xpZW50KHdlYlZpZXcucGFnZSgpLCAm
ZmluZE1hdGNoZXNDbGllbnQpOworICAgIFdLUGFnZVNldFBhZ2VGaW5kTWF0Y2hlc0NsaWVudCh3
ZWJWaWV3LnBhZ2UoKSwgJmZpbmRNYXRjaGVzQ2xpZW50LmJhc2UpOwogCiAgICAgLy8gVGhpcyBI
VE1MIGZpbGUgY29udGFpbnMgMyBvY2N1cnJlbmNlcyBvZiB0aGUgd29yZCBIZWxsbyBhbmQgaGFz
IHRoZSBzZWNvbmQgb2NjdXJlbmNlIG9mIHRoZSB3b3JkICd3b3JsZCcgc2VsZWN0ZWQuCiAgICAg
Ly8gSXQgY29udGFpbnMgMSBvY2N1cnJlbmNlIG9mIHRoZSB3b3JkICdjcmF6eScgdGhhdCBpcyBi
ZWZvcmUgdGhlIHNlbGVjdGVkIHdvcmQuCmRpZmYgLS1naXQgYS9Ub29scy9UZXN0V2ViS2l0QVBJ
L1Rlc3RzL1dlYktpdDIvRm9yY2VSZXBhaW50LmNwcCBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVz
dHMvV2ViS2l0Mi9Gb3JjZVJlcGFpbnQuY3BwCmluZGV4IDA4ODczZjg0M2NkZjFiYjZmNTZkOTli
MGRjYmRjMzBjYmQ5NGJhNjUuLjg2YzY3NTRhMjJkNjdlZDY0MTEwNDdjNjMzNjdiMjY3YzBjYzUz
ODkgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Mi9Gb3JjZVJl
cGFpbnQuY3BwCisrKyBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Mi9Gb3JjZVJl
cGFpbnQuY3BwCkBAIC01MSwxMiArNTEsMTMgQEAgVEVTVChXZWJLaXQyLCBGb3JjZVJlcGFpbnQp
CiAgICAgV0tSZXRhaW5QdHI8V0tDb250ZXh0UmVmPiBjb250ZXh0KEFkb3B0V0ssIFdLQ29udGV4
dENyZWF0ZSgpKTsKICAgICBQbGF0Zm9ybVdlYlZpZXcgd2ViVmlldyhjb250ZXh0LmdldCgpKTsK
IAotICAgIFdLUGFnZUxvYWRlckNsaWVudCBsb2FkZXJDbGllbnQ7CisgICAgV0tQYWdlTG9hZGVy
Q2xpZW50VjAgbG9hZGVyQ2xpZW50OwogICAgIG1lbXNldCgmbG9hZGVyQ2xpZW50LCAwLCBzaXpl
b2YobG9hZGVyQ2xpZW50KSk7CiAKLSAgICBsb2FkZXJDbGllbnQudmVyc2lvbiA9IDA7CisgICAg
bG9hZGVyQ2xpZW50LmJhc2UudmVyc2lvbiA9IDA7CiAgICAgbG9hZGVyQ2xpZW50LmRpZEZpbmlz
aExvYWRGb3JGcmFtZSA9IGRpZEZpbmlzaExvYWRGb3JGcmFtZTsKLSAgICBXS1BhZ2VTZXRQYWdl
TG9hZGVyQ2xpZW50KHdlYlZpZXcucGFnZSgpLCAmbG9hZGVyQ2xpZW50KTsKKworICAgIFdLUGFn
ZVNldFBhZ2VMb2FkZXJDbGllbnQod2ViVmlldy5wYWdlKCksICZsb2FkZXJDbGllbnQuYmFzZSk7
CiAKICAgICBXS1JldGFpblB0cjxXS1VSTFJlZj4gdXJsKEFkb3B0V0ssIFV0aWw6OmNyZWF0ZVVS
TEZvclJlc291cmNlKCJzaW1wbGUtYWNjZWxlcmF0ZWQtY29tcG9zaXRpbmciLCAiaHRtbCIpKTsK
ICAgICBXS1BhZ2VMb2FkVVJMKHdlYlZpZXcucGFnZSgpLCB1cmwuZ2V0KCkpOwpkaWZmIC0tZ2l0
IGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQyL0ZyYW1lTUlNRVR5cGVIVE1MLmNw
cCBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Mi9GcmFtZU1JTUVUeXBlSFRNTC5j
cHAKaW5kZXggNzM0OTg2NjI4OGE4ZmQ1ZDU2ZDQyNzVkNzE1ZGZmZjY0YmNmNzAzOS4uMDkzYTU3
NDdiMjU5NGNjN2YyNDVlYjIwMzE2MTc4MmUzMjhiNTRiYSAxMDA2NDQKLS0tIGEvVG9vbHMvVGVz
dFdlYktpdEFQSS9UZXN0cy9XZWJLaXQyL0ZyYW1lTUlNRVR5cGVIVE1MLmNwcAorKysgYi9Ub29s
cy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdDIvRnJhbWVNSU1FVHlwZUhUTUwuY3BwCkBAIC01
OCwxNSArNTgsMTUgQEAgVEVTVChXZWJLaXQyLCBGcmFtZU1JTUVUeXBlSFRNTCkKICAgICBXS1Jl
dGFpblB0cjxXS0NvbnRleHRSZWY+IGNvbnRleHQoQWRvcHRXSywgV0tDb250ZXh0Q3JlYXRlKCkp
OwogICAgIFBsYXRmb3JtV2ViVmlldyB3ZWJWaWV3KGNvbnRleHQuZ2V0KCkpOwogCi0gICAgV0tQ
YWdlTG9hZGVyQ2xpZW50IGxvYWRlckNsaWVudDsKKyAgICBXS1BhZ2VMb2FkZXJDbGllbnRWMCBs
b2FkZXJDbGllbnQ7CiAgICAgbWVtc2V0KCZsb2FkZXJDbGllbnQsIDAsIHNpemVvZihsb2FkZXJD
bGllbnQpKTsKIAotICAgIGxvYWRlckNsaWVudC52ZXJzaW9uID0gMDsKLSAgICBsb2FkZXJDbGll
bnQuY2xpZW50SW5mbyA9IDA7CisgICAgbG9hZGVyQ2xpZW50LmJhc2UudmVyc2lvbiA9IDA7CiAg
ICAgbG9hZGVyQ2xpZW50LmRpZFN0YXJ0UHJvdmlzaW9uYWxMb2FkRm9yRnJhbWUgPSBkaWRTdGFy
dFByb3Zpc2lvbmFsTG9hZEZvckZyYW1lOwogICAgIGxvYWRlckNsaWVudC5kaWRDb21taXRMb2Fk
Rm9yRnJhbWUgPSBkaWRDb21taXRMb2FkRm9yRnJhbWU7CiAgICAgbG9hZGVyQ2xpZW50LmRpZEZp
bmlzaExvYWRGb3JGcmFtZSA9IGRpZEZpbmlzaExvYWRGb3JGcmFtZTsKLSAgICBXS1BhZ2VTZXRQ
YWdlTG9hZGVyQ2xpZW50KHdlYlZpZXcucGFnZSgpLCAmbG9hZGVyQ2xpZW50KTsKKworICAgIFdL
UGFnZVNldFBhZ2VMb2FkZXJDbGllbnQod2ViVmlldy5wYWdlKCksICZsb2FkZXJDbGllbnQuYmFz
ZSk7CiAKICAgICBXS1JldGFpblB0cjxXS1VSTFJlZj4gdXJsKEFkb3B0V0ssIFV0aWw6OmNyZWF0
ZVVSTEZvclJlc291cmNlKCJzaW1wbGUiLCAiaHRtbCIpKTsKICAgICBXS1BhZ2VMb2FkVVJMKHdl
YlZpZXcucGFnZSgpLCB1cmwuZ2V0KCkpOwpkaWZmIC0tZ2l0IGEvVG9vbHMvVGVzdFdlYktpdEFQ
SS9UZXN0cy9XZWJLaXQyL0ZyYW1lTUlNRVR5cGVQTkcuY3BwIGIvVG9vbHMvVGVzdFdlYktpdEFQ
SS9UZXN0cy9XZWJLaXQyL0ZyYW1lTUlNRVR5cGVQTkcuY3BwCmluZGV4IDQ2ZjYzZGFlOTAzNGMy
NmRlMDAzZGMyZGY1YmM3Y2I1NzcyZGJiNmMuLmVkYWE3Y2FkYWRhOTk0MTY4NTBjODMwN2ZkNzlm
ZDA4N2Y3N2VjMjAgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0
Mi9GcmFtZU1JTUVUeXBlUE5HLmNwcAorKysgYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dl
YktpdDIvRnJhbWVNSU1FVHlwZVBORy5jcHAKQEAgLTU3LDE1ICs1NywxNSBAQCBURVNUKFdlYktp
dDIsIEZyYW1lTUlNRVR5cGVQTkcpCiAgICAgV0tSZXRhaW5QdHI8V0tDb250ZXh0UmVmPiBjb250
ZXh0KEFkb3B0V0ssIFdLQ29udGV4dENyZWF0ZSgpKTsKICAgICBQbGF0Zm9ybVdlYlZpZXcgd2Vi
Vmlldyhjb250ZXh0LmdldCgpKTsKIAotICAgIFdLUGFnZUxvYWRlckNsaWVudCBsb2FkZXJDbGll
bnQ7CisgICAgV0tQYWdlTG9hZGVyQ2xpZW50VjAgbG9hZGVyQ2xpZW50OwogICAgIG1lbXNldCgm
bG9hZGVyQ2xpZW50LCAwLCBzaXplb2YobG9hZGVyQ2xpZW50KSk7CiAKLSAgICBsb2FkZXJDbGll
bnQudmVyc2lvbiA9IDA7Ci0gICAgbG9hZGVyQ2xpZW50LmNsaWVudEluZm8gPSAwOworICAgIGxv
YWRlckNsaWVudC5iYXNlLnZlcnNpb24gPSAwOwogICAgIGxvYWRlckNsaWVudC5kaWRTdGFydFBy
b3Zpc2lvbmFsTG9hZEZvckZyYW1lID0gZGlkU3RhcnRQcm92aXNpb25hbExvYWRGb3JGcmFtZTsK
ICAgICBsb2FkZXJDbGllbnQuZGlkQ29tbWl0TG9hZEZvckZyYW1lID0gZGlkQ29tbWl0TG9hZEZv
ckZyYW1lOwogICAgIGxvYWRlckNsaWVudC5kaWRGaW5pc2hMb2FkRm9yRnJhbWUgPSBkaWRGaW5p
c2hMb2FkRm9yRnJhbWU7Ci0gICAgV0tQYWdlU2V0UGFnZUxvYWRlckNsaWVudCh3ZWJWaWV3LnBh
Z2UoKSwgJmxvYWRlckNsaWVudCk7CisKKyAgICBXS1BhZ2VTZXRQYWdlTG9hZGVyQ2xpZW50KHdl
YlZpZXcucGFnZSgpLCAmbG9hZGVyQ2xpZW50LmJhc2UpOwogCiAgICAgV0tSZXRhaW5QdHI8V0tV
UkxSZWY+IHVybChBZG9wdFdLLCBVdGlsOjpjcmVhdGVVUkxGb3JSZXNvdXJjZSgiaWNvbiIsICJw
bmciKSk7CiAgICAgV0tQYWdlTG9hZFVSTCh3ZWJWaWV3LnBhZ2UoKSwgdXJsLmdldCgpKTsKZGlm
ZiAtLWdpdCBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Mi9HZW9sb2NhdGlvbi5j
cHAgYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdDIvR2VvbG9jYXRpb24uY3BwCmlu
ZGV4IDE3ZTUyZDQyZmFmNGFlZTRkYmI2NWQ3NTA0OTU3NWQyMzQ5Mzg5ZDEuLmJmN2E5MzcyNmE4
NmM1MmNmMWQzMGM1ODA5Yjk3ZjgzN2ExNzU5OGEgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1Rlc3RXZWJL
aXRBUEkvVGVzdHMvV2ViS2l0Mi9HZW9sb2NhdGlvbi5jcHAKKysrIGIvVG9vbHMvVGVzdFdlYktp
dEFQSS9UZXN0cy9XZWJLaXQyL0dlb2xvY2F0aW9uLmNwcApAQCAtMTAyLDIzICsxMDIsMjcgQEAg
dm9pZCBkZWNpZGVQb2xpY3lGb3JHZW9sb2NhdGlvblBlcm1pc3Npb25SZXF1ZXN0Q2FsbEJhY2so
V0tQYWdlUmVmIHBhZ2UsIFdLRnJhbWUKIAogdm9pZCBzZXR1cEdlb2xvY2F0aW9uUHJvdmlkZXIo
V0tDb250ZXh0UmVmIGNvbnRleHQsIHZvaWQgKmNsaWVudEluZm8pCiB7Ci0gICAgV0tHZW9sb2Nh
dGlvblByb3ZpZGVyIHByb3ZpZGVyQ2FsbGJhY2s7CisgICAgV0tHZW9sb2NhdGlvblByb3ZpZGVy
VjEgcHJvdmlkZXJDYWxsYmFjazsKICAgICBtZW1zZXQoJnByb3ZpZGVyQ2FsbGJhY2ssIDAsIHNp
emVvZihXS0dlb2xvY2F0aW9uUHJvdmlkZXIpKTsKLSAgICBwcm92aWRlckNhbGxiYWNrLnZlcnNp
b24gPSBrV0tHZW9sb2NhdGlvblByb3ZpZGVyQ3VycmVudFZlcnNpb247Ci0gICAgcHJvdmlkZXJD
YWxsYmFjay5jbGllbnRJbmZvID0gY2xpZW50SW5mbzsKKworICAgIHByb3ZpZGVyQ2FsbGJhY2su
YmFzZS52ZXJzaW9uID0gMTsKKyAgICBwcm92aWRlckNhbGxiYWNrLmJhc2UuY2xpZW50SW5mbyA9
IGNsaWVudEluZm87CiAgICAgcHJvdmlkZXJDYWxsYmFjay5zdGFydFVwZGF0aW5nID0gR2VvbG9j
YXRpb25TdGF0ZVRyYWNrZXI6OnN0YXJ0VXBkYXRpbmdDYWxsYmFjazsKICAgICBwcm92aWRlckNh
bGxiYWNrLnN0b3BVcGRhdGluZyA9IEdlb2xvY2F0aW9uU3RhdGVUcmFja2VyOjpzdG9wVXBkYXRp
bmdDYWxsYmFjazsKICAgICBwcm92aWRlckNhbGxiYWNrLnNldEVuYWJsZUhpZ2hBY2N1cmFjeSA9
IEdlb2xvY2F0aW9uU3RhdGVUcmFja2VyOjpzZXRFbmFibGVIaWdoQWNjdXJhY3lDYWxsYmFjazsK
LSAgICBXS0dlb2xvY2F0aW9uTWFuYWdlclNldFByb3ZpZGVyKFdLQ29udGV4dEdldEdlb2xvY2F0
aW9uTWFuYWdlcihjb250ZXh0KSwgJnByb3ZpZGVyQ2FsbGJhY2spOworCisgICAgV0tHZW9sb2Nh
dGlvbk1hbmFnZXJTZXRQcm92aWRlcihXS0NvbnRleHRHZXRHZW9sb2NhdGlvbk1hbmFnZXIoY29u
dGV4dCksICZwcm92aWRlckNhbGxiYWNrLmJhc2UpOwogfQogCiB2b2lkIHNldHVwVmlldyhQbGF0
Zm9ybVdlYlZpZXcmIHdlYlZpZXcpCiB7Ci0gICAgV0tQYWdlVUlDbGllbnQgdWlDbGllbnQ7Cisg
ICAgV0tQYWdlVUlDbGllbnRWMiB1aUNsaWVudDsKICAgICBtZW1zZXQoJnVpQ2xpZW50LCAwLCBz
aXplb2YodWlDbGllbnQpKTsKLSAgICB1aUNsaWVudC52ZXJzaW9uID0ga1dLUGFnZVVJQ2xpZW50
Q3VycmVudFZlcnNpb247CisKKyAgICB1aUNsaWVudC5iYXNlLnZlcnNpb24gPSAyOwogICAgIHVp
Q2xpZW50LmRlY2lkZVBvbGljeUZvckdlb2xvY2F0aW9uUGVybWlzc2lvblJlcXVlc3QgPSBkZWNp
ZGVQb2xpY3lGb3JHZW9sb2NhdGlvblBlcm1pc3Npb25SZXF1ZXN0Q2FsbEJhY2s7Ci0gICAgV0tQ
YWdlU2V0UGFnZVVJQ2xpZW50KHdlYlZpZXcucGFnZSgpLCAmdWlDbGllbnQpOworCisgICAgV0tQ
YWdlU2V0UGFnZVVJQ2xpZW50KHdlYlZpZXcucGFnZSgpLCAmdWlDbGllbnQuYmFzZSk7CiB9CiAK
IC8vIEdlb2xvY2F0aW9uQmFzaWMuCkBAIC0zMTEsMTEgKzMxNSwxNSBAQCBURVNUKFdlYktpdDIs
IEdlb2xvY2F0aW9uVHJhbnNpdGlvblRvTG93QWNjdXJhY3kpCiAgICAgc2V0dXBWaWV3KGxvd0Fj
Y3VyYWN5V2ViVmlldyk7CiAKICAgICBib29sIGZpbmlzaGVkU2Vjb25kU3RlcCA9IGZhbHNlOwot
ICAgIFdLUGFnZUxvYWRlckNsaWVudCBsb2FkZXJDbGllbnQ7CisKKyAgICBXS1BhZ2VMb2FkZXJD
bGllbnRWMCBsb2FkZXJDbGllbnQ7CiAgICAgbWVtc2V0KCZsb2FkZXJDbGllbnQsIDAsIHNpemVv
Zihsb2FkZXJDbGllbnQpKTsKLSAgICBsb2FkZXJDbGllbnQuY2xpZW50SW5mbyA9ICZmaW5pc2hl
ZFNlY29uZFN0ZXA7CisKKyAgICBsb2FkZXJDbGllbnQuYmFzZS52ZXJzaW9uID0gMDsKKyAgICBs
b2FkZXJDbGllbnQuYmFzZS5jbGllbnRJbmZvID0gJmZpbmlzaGVkU2Vjb25kU3RlcDsKICAgICBs
b2FkZXJDbGllbnQuZGlkRmluaXNoTG9hZEZvckZyYW1lID0gZGlkRmluaXNoTG9hZEZvckZyYW1l
OwotICAgIFdLUGFnZVNldFBhZ2VMb2FkZXJDbGllbnQobG93QWNjdXJhY3lXZWJWaWV3LnBhZ2Uo
KSwgJmxvYWRlckNsaWVudCk7CisKKyAgICBXS1BhZ2VTZXRQYWdlTG9hZGVyQ2xpZW50KGxvd0Fj
Y3VyYWN5V2ViVmlldy5wYWdlKCksICZsb2FkZXJDbGllbnQuYmFzZSk7CiAKICAgICBXS1JldGFp
blB0cjxXS1VSTFJlZj4gbG93QWNjdXJhY3lVUkwoQWRvcHRXSywgVXRpbDo6Y3JlYXRlVVJMRm9y
UmVzb3VyY2UoImdlb2xvY2F0aW9uV2F0Y2hQb3NpdGlvbiIsICJodG1sIikpOwogICAgIFdLUGFn
ZUxvYWRVUkwobG93QWNjdXJhY3lXZWJWaWV3LnBhZ2UoKSwgbG93QWNjdXJhY3lVUkwuZ2V0KCkp
OwpkaWZmIC0tZ2l0IGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQyL0dldEluamVj
dGVkQnVuZGxlSW5pdGlhbGl6YXRpb25Vc2VyRGF0YUNhbGxiYWNrLmNwcCBiL1Rvb2xzL1Rlc3RX
ZWJLaXRBUEkvVGVzdHMvV2ViS2l0Mi9HZXRJbmplY3RlZEJ1bmRsZUluaXRpYWxpemF0aW9uVXNl
ckRhdGFDYWxsYmFjay5jcHAKaW5kZXggNGJmZTg3OTQ5ODE4YzM5NTM2OTA2YmEwMDBlMjE5MWQ0
OTI0M2FiYi4uZmU4OThmZmE4YzMzMjRiYWY3NDQwMmJlMzk3YzVhY2U1NDQxNTFiNyAxMDA2NDQK
LS0tIGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQyL0dldEluamVjdGVkQnVuZGxl
SW5pdGlhbGl6YXRpb25Vc2VyRGF0YUNhbGxiYWNrLmNwcAorKysgYi9Ub29scy9UZXN0V2ViS2l0
QVBJL1Rlc3RzL1dlYktpdDIvR2V0SW5qZWN0ZWRCdW5kbGVJbml0aWFsaXphdGlvblVzZXJEYXRh
Q2FsbGJhY2suY3BwCkBAIC00NywxMyArNDcsMTQgQEAgVEVTVChXZWJLaXQyLCBHZXRJbmplY3Rl
ZEJ1bmRsZUluaXRpYWxpemF0aW9uVXNlckRhdGFDYWxsYmFjaykKIHsKICAgICBXS1JldGFpblB0
cjxXS0NvbnRleHRSZWY+IGNvbnRleHQoQWRvcHRXSywgVXRpbDo6Y3JlYXRlQ29udGV4dFdpdGhJ
bmplY3RlZEJ1bmRsZSgpKTsKIAotICAgIFdLQ29udGV4dEluamVjdGVkQnVuZGxlQ2xpZW50IGlu
amVjdGVkQnVuZGxlQ2xpZW50OworICAgIFdLQ29udGV4dEluamVjdGVkQnVuZGxlQ2xpZW50VjEg
aW5qZWN0ZWRCdW5kbGVDbGllbnQ7CiAgICAgbWVtc2V0KCZpbmplY3RlZEJ1bmRsZUNsaWVudCwg
MCwgc2l6ZW9mKGluamVjdGVkQnVuZGxlQ2xpZW50KSk7Ci0gICAgaW5qZWN0ZWRCdW5kbGVDbGll
bnQudmVyc2lvbiA9IDE7Ci0gICAgaW5qZWN0ZWRCdW5kbGVDbGllbnQuY2xpZW50SW5mbyA9IDA7
CisKKyAgICBpbmplY3RlZEJ1bmRsZUNsaWVudC5iYXNlLnZlcnNpb24gPSAxOwogICAgIGluamVj
dGVkQnVuZGxlQ2xpZW50LmRpZFJlY2VpdmVNZXNzYWdlRnJvbUluamVjdGVkQnVuZGxlID0gZGlk
UmVjZWl2ZU1lc3NhZ2VGcm9tSW5qZWN0ZWRCdW5kbGU7CiAgICAgaW5qZWN0ZWRCdW5kbGVDbGll
bnQuZ2V0SW5qZWN0ZWRCdW5kbGVJbml0aWFsaXphdGlvblVzZXJEYXRhID0gZ2V0SW5qZWN0ZWRC
dW5kbGVJbml0aWFsaXphdGlvblVzZXJEYXRhOwotICAgIFdLQ29udGV4dFNldEluamVjdGVkQnVu
ZGxlQ2xpZW50KGNvbnRleHQuZ2V0KCksICZpbmplY3RlZEJ1bmRsZUNsaWVudCk7CisKKyAgICBX
S0NvbnRleHRTZXRJbmplY3RlZEJ1bmRsZUNsaWVudChjb250ZXh0LmdldCgpLCAmaW5qZWN0ZWRC
dW5kbGVDbGllbnQuYmFzZSk7CiAKICAgICBQbGF0Zm9ybVdlYlZpZXcgd2ViVmlldyhjb250ZXh0
LmdldCgpKTsKIApkaWZmIC0tZ2l0IGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQy
L0hpdFRlc3RSZXN1bHROb2RlSGFuZGxlLmNwcCBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMv
V2ViS2l0Mi9IaXRUZXN0UmVzdWx0Tm9kZUhhbmRsZS5jcHAKaW5kZXggMjEwMGQyOGMzNTUzNWRm
NDM5MDFiOWZjMGVjMjczYjViOWIyMjQ5NS4uMmY3YzdkZWVkNzMzNTAzZGQ1NDJjMGFjMGUxOGQw
YjI4ZDE5OWJiYSAxMDA2NDQKLS0tIGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQy
L0hpdFRlc3RSZXN1bHROb2RlSGFuZGxlLmNwcAorKysgYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rl
c3RzL1dlYktpdDIvSGl0VGVzdFJlc3VsdE5vZGVIYW5kbGUuY3BwCkBAIC00OCwyMiArNDgsMjQg
QEAgc3RhdGljIHZvaWQgZGlkUmVjZWl2ZU1lc3NhZ2VGcm9tSW5qZWN0ZWRCdW5kbGUoV0tDb250
ZXh0UmVmIGNvbnRleHQsIFdLU3RyaW5nUmUKIAogc3RhdGljIHZvaWQgc2V0UGFnZUxvYWRlckNs
aWVudChXS1BhZ2VSZWYgcGFnZSkKIHsKLSAgICBXS1BhZ2VMb2FkZXJDbGllbnQgbG9hZGVyQ2xp
ZW50OworICAgIFdLUGFnZUxvYWRlckNsaWVudFYwIGxvYWRlckNsaWVudDsKICAgICBtZW1zZXQo
JmxvYWRlckNsaWVudCwgMCwgc2l6ZW9mKGxvYWRlckNsaWVudCkpOwotICAgIGxvYWRlckNsaWVu
dC52ZXJzaW9uID0gMDsKKworICAgIGxvYWRlckNsaWVudC5iYXNlLnZlcnNpb24gPSAwOwogICAg
IGxvYWRlckNsaWVudC5kaWRGaW5pc2hMb2FkRm9yRnJhbWUgPSBkaWRGaW5pc2hMb2FkRm9yRnJh
bWU7CiAKLSAgICBXS1BhZ2VTZXRQYWdlTG9hZGVyQ2xpZW50KHBhZ2UsICZsb2FkZXJDbGllbnQp
OworICAgIFdLUGFnZVNldFBhZ2VMb2FkZXJDbGllbnQocGFnZSwgJmxvYWRlckNsaWVudC5iYXNl
KTsKIH0KIAogc3RhdGljIHZvaWQgc2V0SW5qZWN0ZWRCdW5kbGVDbGllbnQoV0tDb250ZXh0UmVm
IGNvbnRleHQpCiB7Ci0gICAgV0tDb250ZXh0SW5qZWN0ZWRCdW5kbGVDbGllbnQgaW5qZWN0ZWRC
dW5kbGVDbGllbnQ7CisgICAgV0tDb250ZXh0SW5qZWN0ZWRCdW5kbGVDbGllbnRWMCBpbmplY3Rl
ZEJ1bmRsZUNsaWVudDsKICAgICBtZW1zZXQoJmluamVjdGVkQnVuZGxlQ2xpZW50LCAwLCBzaXpl
b2YoaW5qZWN0ZWRCdW5kbGVDbGllbnQpKTsKLSAgICBpbmplY3RlZEJ1bmRsZUNsaWVudC52ZXJz
aW9uID0gMDsKLSAgICBpbmplY3RlZEJ1bmRsZUNsaWVudC5jbGllbnRJbmZvID0gMDsKKworICAg
IGluamVjdGVkQnVuZGxlQ2xpZW50LmJhc2UudmVyc2lvbiA9IDA7CiAgICAgaW5qZWN0ZWRCdW5k
bGVDbGllbnQuZGlkUmVjZWl2ZU1lc3NhZ2VGcm9tSW5qZWN0ZWRCdW5kbGUgPSBkaWRSZWNlaXZl
TWVzc2FnZUZyb21JbmplY3RlZEJ1bmRsZTsKLSAgICBXS0NvbnRleHRTZXRJbmplY3RlZEJ1bmRs
ZUNsaWVudChjb250ZXh0LCAmaW5qZWN0ZWRCdW5kbGVDbGllbnQpOworCisgICAgV0tDb250ZXh0
U2V0SW5qZWN0ZWRCdW5kbGVDbGllbnQoY29udGV4dCwgJmluamVjdGVkQnVuZGxlQ2xpZW50LmJh
c2UpOwogfQogCiBURVNUKFdlYktpdDIsIEhpdFRlc3RSZXN1bHROb2RlSGFuZGxlKQpkaWZmIC0t
Z2l0IGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQyL0hpdFRlc3RSZXN1bHROb2Rl
SGFuZGxlX0J1bmRsZS5jcHAgYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdDIvSGl0
VGVzdFJlc3VsdE5vZGVIYW5kbGVfQnVuZGxlLmNwcAppbmRleCA4ODI5MDllODE5OTY5Njg0YmZl
MjFiMmExOTYyZDc1MzY0MDEyZmY2Li5jNmFhYTFmZWMyY2YzNjFlYjkzNGM3MzVmNzhhZGFmMjVm
M2Q4MDI0IDEwMDY0NAotLS0gYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdDIvSGl0
VGVzdFJlc3VsdE5vZGVIYW5kbGVfQnVuZGxlLmNwcAorKysgYi9Ub29scy9UZXN0V2ViS2l0QVBJ
L1Rlc3RzL1dlYktpdDIvSGl0VGVzdFJlc3VsdE5vZGVIYW5kbGVfQnVuZGxlLmNwcApAQCAtNTEs
MTEgKzUxLDEzIEBAIHB1YmxpYzoKIAogICAgIHZpcnR1YWwgdm9pZCBkaWRDcmVhdGVQYWdlKFdL
QnVuZGxlUmVmIGJ1bmRsZSwgV0tCdW5kbGVQYWdlUmVmIHBhZ2UpCiAgICAgewotICAgICAgICBX
S0J1bmRsZVBhZ2VDb250ZXh0TWVudUNsaWVudCBjb250ZXh0TWVudUNsaWVudDsKKyAgICAgICAg
V0tCdW5kbGVQYWdlQ29udGV4dE1lbnVDbGllbnRWMCBjb250ZXh0TWVudUNsaWVudDsKICAgICAg
ICAgbWVtc2V0KCZjb250ZXh0TWVudUNsaWVudCwgMCwgc2l6ZW9mKGNvbnRleHRNZW51Q2xpZW50
KSk7CisKKyAgICAgICAgY29udGV4dE1lbnVDbGllbnQuYmFzZS52ZXJzaW9uID0gMDsKICAgICAg
ICAgY29udGV4dE1lbnVDbGllbnQuZ2V0Q29udGV4dE1lbnVGcm9tRGVmYXVsdE1lbnUgPSBnZXRD
b250ZXh0TWVudUZyb21EZWZhdWx0TWVudTsKICAgICAKLSAgICAgICAgV0tCdW5kbGVQYWdlU2V0
Q29udGV4dE1lbnVDbGllbnQocGFnZSwgJmNvbnRleHRNZW51Q2xpZW50KTsKKyAgICAgICAgV0tC
dW5kbGVQYWdlU2V0Q29udGV4dE1lbnVDbGllbnQocGFnZSwgJmNvbnRleHRNZW51Q2xpZW50LmJh
c2UpOwogICAgIH0KIH07CiAKZGlmZiAtLWdpdCBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMv
V2ViS2l0Mi9JbmplY3RlZEJ1bmRsZUJhc2ljLmNwcCBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVz
dHMvV2ViS2l0Mi9JbmplY3RlZEJ1bmRsZUJhc2ljLmNwcAppbmRleCAwODNhODhmMDU4NWZmYzg0
MTMwNDFkZjc5YjBkNWNhZTkzYWM4M2Y3Li4xYjNiM2I3YjZkMWYzZGM3ZDQ3MDI5OTBmYWZlZGFm
ZTQ2NDg5ZmQ4IDEwMDY0NAotLS0gYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdDIv
SW5qZWN0ZWRCdW5kbGVCYXNpYy5jcHAKKysrIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9X
ZWJLaXQyL0luamVjdGVkQnVuZGxlQmFzaWMuY3BwCkBAIC01MiwyMSArNTIsMjMgQEAgVEVTVChX
ZWJLaXQyLCBJbmplY3RlZEJ1bmRsZUJhc2ljKQogewogICAgIFdLUmV0YWluUHRyPFdLQ29udGV4
dFJlZj4gY29udGV4dChBZG9wdFdLLCBVdGlsOjpjcmVhdGVDb250ZXh0Rm9ySW5qZWN0ZWRCdW5k
bGVUZXN0KCJJbmplY3RlZEJ1bmRsZUJhc2ljVGVzdCIpKTsKIAotICAgIFdLQ29udGV4dEluamVj
dGVkQnVuZGxlQ2xpZW50IGluamVjdGVkQnVuZGxlQ2xpZW50OworICAgIFdLQ29udGV4dEluamVj
dGVkQnVuZGxlQ2xpZW50VjAgaW5qZWN0ZWRCdW5kbGVDbGllbnQ7CiAgICAgbWVtc2V0KCZpbmpl
Y3RlZEJ1bmRsZUNsaWVudCwgMCwgc2l6ZW9mKGluamVjdGVkQnVuZGxlQ2xpZW50KSk7Ci0gICAg
aW5qZWN0ZWRCdW5kbGVDbGllbnQudmVyc2lvbiA9IDA7Ci0gICAgaW5qZWN0ZWRCdW5kbGVDbGll
bnQuY2xpZW50SW5mbyA9IDA7CisKKyAgICBpbmplY3RlZEJ1bmRsZUNsaWVudC5iYXNlLnZlcnNp
b24gPSAwOwogICAgIGluamVjdGVkQnVuZGxlQ2xpZW50LmRpZFJlY2VpdmVNZXNzYWdlRnJvbUlu
amVjdGVkQnVuZGxlID0gZGlkUmVjZWl2ZU1lc3NhZ2VGcm9tSW5qZWN0ZWRCdW5kbGU7Ci0gICAg
V0tDb250ZXh0U2V0SW5qZWN0ZWRCdW5kbGVDbGllbnQoY29udGV4dC5nZXQoKSwgJmluamVjdGVk
QnVuZGxlQ2xpZW50KTsKKworICAgIFdLQ29udGV4dFNldEluamVjdGVkQnVuZGxlQ2xpZW50KGNv
bnRleHQuZ2V0KCksICZpbmplY3RlZEJ1bmRsZUNsaWVudC5iYXNlKTsKICAKICAgICBQbGF0Zm9y
bVdlYlZpZXcgd2ViVmlldyhjb250ZXh0LmdldCgpKTsKIAotICAgIFdLUGFnZUxvYWRlckNsaWVu
dCBsb2FkZXJDbGllbnQ7CisgICAgV0tQYWdlTG9hZGVyQ2xpZW50VjAgbG9hZGVyQ2xpZW50Owog
ICAgIG1lbXNldCgmbG9hZGVyQ2xpZW50LCAwLCBzaXplb2YobG9hZGVyQ2xpZW50KSk7Ci0gICAg
bG9hZGVyQ2xpZW50LnZlcnNpb24gPSAwOwotICAgIGxvYWRlckNsaWVudC5jbGllbnRJbmZvID0g
MDsKKworICAgIGxvYWRlckNsaWVudC5iYXNlLnZlcnNpb24gPSAwOwogICAgIGxvYWRlckNsaWVu
dC5kaWRGaW5pc2hMb2FkRm9yRnJhbWUgPSBkaWRGaW5pc2hMb2FkRm9yRnJhbWU7Ci0gICAgV0tQ
YWdlU2V0UGFnZUxvYWRlckNsaWVudCh3ZWJWaWV3LnBhZ2UoKSwgJmxvYWRlckNsaWVudCk7CisK
KyAgICBXS1BhZ2VTZXRQYWdlTG9hZGVyQ2xpZW50KHdlYlZpZXcucGFnZSgpLCAmbG9hZGVyQ2xp
ZW50LmJhc2UpOwogCiAgICAgV0tSZXRhaW5QdHI8V0tVUkxSZWY+IHVybChBZG9wdFdLLCBVdGls
OjpjcmVhdGVVUkxGb3JSZXNvdXJjZSgic2ltcGxlIiwgImh0bWwiKSk7CiAgICAgV0tQYWdlTG9h
ZFVSTCh3ZWJWaWV3LnBhZ2UoKSwgdXJsLmdldCgpKTsKZGlmZiAtLWdpdCBhL1Rvb2xzL1Rlc3RX
ZWJLaXRBUEkvVGVzdHMvV2ViS2l0Mi9JbmplY3RlZEJ1bmRsZUZyYW1lSGl0VGVzdC5jcHAgYi9U
b29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdDIvSW5qZWN0ZWRCdW5kbGVGcmFtZUhpdFRl
c3QuY3BwCmluZGV4IDkzMjA4MDFkMzQ0NzNiMzk4NTdjZjZlNGViZDdjM2RjZjc5NDU5M2EuLmFj
Yzc2YzAxZTJiMzBmYTVlMzdmYzcyNDRlM2E2MzJkODkxNTUzYTYgMTAwNjQ0Ci0tLSBhL1Rvb2xz
L1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Mi9JbmplY3RlZEJ1bmRsZUZyYW1lSGl0VGVzdC5j
cHAKKysrIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQyL0luamVjdGVkQnVuZGxl
RnJhbWVIaXRUZXN0LmNwcApAQCAtNDMsMTIgKzQzLDEzIEBAIHN0YXRpYyB2b2lkIGRpZFJlY2Vp
dmVNZXNzYWdlRnJvbUluamVjdGVkQnVuZGxlKFdLQ29udGV4dFJlZiBjb250ZXh0LCBXS1N0cmlu
Z1JlCiAKIHN0YXRpYyB2b2lkIHNldEluamVjdGVkQnVuZGxlQ2xpZW50KFdLQ29udGV4dFJlZiBj
b250ZXh0KQogewotICAgIFdLQ29udGV4dEluamVjdGVkQnVuZGxlQ2xpZW50IGluamVjdGVkQnVu
ZGxlQ2xpZW50OworICAgIFdLQ29udGV4dEluamVjdGVkQnVuZGxlQ2xpZW50VjAgaW5qZWN0ZWRC
dW5kbGVDbGllbnQ7CiAgICAgbWVtc2V0KCZpbmplY3RlZEJ1bmRsZUNsaWVudCwgMCwgc2l6ZW9m
KGluamVjdGVkQnVuZGxlQ2xpZW50KSk7Ci0gICAgaW5qZWN0ZWRCdW5kbGVDbGllbnQudmVyc2lv
biA9IDA7Ci0gICAgaW5qZWN0ZWRCdW5kbGVDbGllbnQuY2xpZW50SW5mbyA9IDA7CisKKyAgICBp
bmplY3RlZEJ1bmRsZUNsaWVudC5iYXNlLnZlcnNpb24gPSAwOwogICAgIGluamVjdGVkQnVuZGxl
Q2xpZW50LmRpZFJlY2VpdmVNZXNzYWdlRnJvbUluamVjdGVkQnVuZGxlID0gZGlkUmVjZWl2ZU1l
c3NhZ2VGcm9tSW5qZWN0ZWRCdW5kbGU7Ci0gICAgV0tDb250ZXh0U2V0SW5qZWN0ZWRCdW5kbGVD
bGllbnQoY29udGV4dCwgJmluamVjdGVkQnVuZGxlQ2xpZW50KTsKKworICAgIFdLQ29udGV4dFNl
dEluamVjdGVkQnVuZGxlQ2xpZW50KGNvbnRleHQsICZpbmplY3RlZEJ1bmRsZUNsaWVudC5iYXNl
KTsKIH0KIAogVEVTVChXZWJLaXQyLCBJbmplY3RlZEJ1bmRsZUZyYW1lSGl0VGVzdCkKZGlmZiAt
LWdpdCBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Mi9JbmplY3RlZEJ1bmRsZUZy
YW1lSGl0VGVzdF9CdW5kbGUuY3BwIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQy
L0luamVjdGVkQnVuZGxlRnJhbWVIaXRUZXN0X0J1bmRsZS5jcHAKaW5kZXggZGRhZWVjMTgyMGY3
MWM0ZGU1OWQ5YzQ1ODQ2Y2E2MjQzYWI0MDJhZi4uZTE1ZDUyNWNiNzIxYmYzNDdiMTgxZjUxNDg1
NDU3OTIxYjU5MDUzOCAxMDA2NDQKLS0tIGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJL
aXQyL0luamVjdGVkQnVuZGxlRnJhbWVIaXRUZXN0X0J1bmRsZS5jcHAKKysrIGIvVG9vbHMvVGVz
dFdlYktpdEFQSS9UZXN0cy9XZWJLaXQyL0luamVjdGVkQnVuZGxlRnJhbWVIaXRUZXN0X0J1bmRs
ZS5jcHAKQEAgLTU4LDE0ICs1OCwxNCBAQCB2b2lkIEluamVjdGVkQnVuZGxlRnJhbWVIaXRUZXN0
VGVzdDo6ZGlkQ3JlYXRlUGFnZShXS0J1bmRsZVJlZiBidW5kbGUsIFdLQnVuZGxlUAogewogICAg
IG1fYnVuZGxlID0gYnVuZGxlOwogCi0gICAgV0tCdW5kbGVQYWdlTG9hZGVyQ2xpZW50IHBhZ2VM
b2FkZXJDbGllbnQ7CisgICAgV0tCdW5kbGVQYWdlTG9hZGVyQ2xpZW50VjEgcGFnZUxvYWRlckNs
aWVudDsKICAgICBtZW1zZXQoJnBhZ2VMb2FkZXJDbGllbnQsIDAsIHNpemVvZihwYWdlTG9hZGVy
Q2xpZW50KSk7CiAgICAgCi0gICAgcGFnZUxvYWRlckNsaWVudC52ZXJzaW9uID0gMTsKLSAgICBw
YWdlTG9hZGVyQ2xpZW50LmNsaWVudEluZm8gPSB0aGlzOworICAgIHBhZ2VMb2FkZXJDbGllbnQu
YmFzZS52ZXJzaW9uID0gMTsKKyAgICBwYWdlTG9hZGVyQ2xpZW50LmJhc2UuY2xpZW50SW5mbyA9
IHRoaXM7CiAgICAgcGFnZUxvYWRlckNsaWVudC5kaWRGaW5pc2hMb2FkRm9yRnJhbWUgPSBkaWRG
aW5pc2hMb2FkRm9yRnJhbWVDYWxsYmFjazsKIAotICAgIFdLQnVuZGxlUGFnZVNldFBhZ2VMb2Fk
ZXJDbGllbnQocGFnZSwgJnBhZ2VMb2FkZXJDbGllbnQpOworICAgIFdLQnVuZGxlUGFnZVNldFBh
Z2VMb2FkZXJDbGllbnQocGFnZSwgJnBhZ2VMb2FkZXJDbGllbnQuYmFzZSk7CiB9CiAKIHZvaWQg
SW5qZWN0ZWRCdW5kbGVGcmFtZUhpdFRlc3RUZXN0OjpmcmFtZUxvYWRGaW5pc2hlZChXS0J1bmRs
ZUZyYW1lUmVmIGZyYW1lKQpkaWZmIC0tZ2l0IGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9X
ZWJLaXQyL0luamVjdGVkQnVuZGxlSW5pdGlhbGl6YXRpb25Vc2VyRGF0YUNhbGxiYWNrV2lucy5j
cHAgYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdDIvSW5qZWN0ZWRCdW5kbGVJbml0
aWFsaXphdGlvblVzZXJEYXRhQ2FsbGJhY2tXaW5zLmNwcAppbmRleCAzNjBjZjM5ZGJlYzNhNzlm
ZDgwY2QxZmJhODYyNGU5ZTBhZDkxYTY5Li40MDdlY2NlYjUwZTM2M2E2MmVhZjk3YmM1YWVkMWZi
OGM1MGQ5MDlmIDEwMDY0NAotLS0gYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdDIv
SW5qZWN0ZWRCdW5kbGVJbml0aWFsaXphdGlvblVzZXJEYXRhQ2FsbGJhY2tXaW5zLmNwcAorKysg
Yi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdDIvSW5qZWN0ZWRCdW5kbGVJbml0aWFs
aXphdGlvblVzZXJEYXRhQ2FsbGJhY2tXaW5zLmNwcApAQCAtNDksMTMgKzQ5LDE0IEBAIFRFU1Qo
V2ViS2l0MiwgSW5qZWN0ZWRCdW5kbGVJbml0aWFsaXphdGlvblVzZXJEYXRhQ2FsbGJhY2tXaW5z
KQogICAgIFdLUmV0YWluUHRyPFdLRGljdGlvbmFyeVJlZj4gaW5pdGlhbGl6YXRpb25EaWN0aW9u
YXJ5KEFkb3B0V0ssIFV0aWw6OmNyZWF0ZUluaXRpYWxpemF0aW9uRGljdGlvbmFyeUZvckluamVj
dGVkQnVuZGxlVGVzdCgiSW5qZWN0ZWRCdW5kbGVJbml0aWFsaXphdGlvblVzZXJEYXRhQ2FsbGJh
Y2tXaW5zVGVzdCIsICBVdGlsOjp0b1dLKCJTZXQgd2l0aCBXS0NvbnRleHRTZXRJbml0aWFsaXph
dGlvblVzZXJEYXRhRm9ySW5qZWN0ZWRCdW5kbGUiKS5nZXQoKSkpOwogICAgIFdLQ29udGV4dFNl
dEluaXRpYWxpemF0aW9uVXNlckRhdGFGb3JJbmplY3RlZEJ1bmRsZShjb250ZXh0LmdldCgpLCBp
bml0aWFsaXphdGlvbkRpY3Rpb25hcnkuZ2V0KCkpOwogCi0gICAgV0tDb250ZXh0SW5qZWN0ZWRC
dW5kbGVDbGllbnQgaW5qZWN0ZWRCdW5kbGVDbGllbnQ7CisgICAgV0tDb250ZXh0SW5qZWN0ZWRC
dW5kbGVDbGllbnRWMSBpbmplY3RlZEJ1bmRsZUNsaWVudDsKICAgICBtZW1zZXQoJmluamVjdGVk
QnVuZGxlQ2xpZW50LCAwLCBzaXplb2YoaW5qZWN0ZWRCdW5kbGVDbGllbnQpKTsKLSAgICBpbmpl
Y3RlZEJ1bmRsZUNsaWVudC52ZXJzaW9uID0gMTsKLSAgICBpbmplY3RlZEJ1bmRsZUNsaWVudC5j
bGllbnRJbmZvID0gMDsKKworICAgIGluamVjdGVkQnVuZGxlQ2xpZW50LmJhc2UudmVyc2lvbiA9
IDE7CiAgICAgaW5qZWN0ZWRCdW5kbGVDbGllbnQuZGlkUmVjZWl2ZU1lc3NhZ2VGcm9tSW5qZWN0
ZWRCdW5kbGUgPSBkaWRSZWNlaXZlTWVzc2FnZUZyb21JbmplY3RlZEJ1bmRsZTsKICAgICBpbmpl
Y3RlZEJ1bmRsZUNsaWVudC5nZXRJbmplY3RlZEJ1bmRsZUluaXRpYWxpemF0aW9uVXNlckRhdGEg
PSBnZXRJbmplY3RlZEJ1bmRsZUluaXRpYWxpemF0aW9uVXNlckRhdGE7Ci0gICAgV0tDb250ZXh0
U2V0SW5qZWN0ZWRCdW5kbGVDbGllbnQoY29udGV4dC5nZXQoKSwgJmluamVjdGVkQnVuZGxlQ2xp
ZW50KTsKKworICAgIFdLQ29udGV4dFNldEluamVjdGVkQnVuZGxlQ2xpZW50KGNvbnRleHQuZ2V0
KCksICZpbmplY3RlZEJ1bmRsZUNsaWVudC5iYXNlKTsKIAogICAgIFBsYXRmb3JtV2ViVmlldyB3
ZWJWaWV3KGNvbnRleHQuZ2V0KCkpOwogCmRpZmYgLS1naXQgYS9Ub29scy9UZXN0V2ViS2l0QVBJ
L1Rlc3RzL1dlYktpdDIvTGF5b3V0TWlsZXN0b25lc1dpdGhBbGxDb250ZW50SW5GcmFtZS5jcHAg
Yi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdDIvTGF5b3V0TWlsZXN0b25lc1dpdGhB
bGxDb250ZW50SW5GcmFtZS5jcHAKaW5kZXggZjE0MzEyMmE2NDg5MjRiMGNiZjNhOWY2ZmJlM2Vl
NzIxYjMxZTk1OS4uZWY1M2Y1ZTkxY2QyNjlmYzQ4YzM3NmQxNTdiZWExNDdlZWI1MmI2NCAxMDA2
NDQKLS0tIGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQyL0xheW91dE1pbGVzdG9u
ZXNXaXRoQWxsQ29udGVudEluRnJhbWUuY3BwCisrKyBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVz
dHMvV2ViS2l0Mi9MYXlvdXRNaWxlc3RvbmVzV2l0aEFsbENvbnRlbnRJbkZyYW1lLmNwcApAQCAt
NDcsMTMgKzQ3LDE1IEBAIFRFU1QoV2ViS2l0MiwgTGF5b3V0TWlsZXN0b25lc1dpdGhBbGxDb250
ZW50SW5GcmFtZSkKICAgICBXS1JldGFpblB0cjxXS0NvbnRleHRSZWY+IGNvbnRleHQoQWRvcHRX
SywgV0tDb250ZXh0Q3JlYXRlKCkpOwogICAgIFBsYXRmb3JtV2ViVmlldyB3ZWJWaWV3KGNvbnRl
eHQuZ2V0KCkpOwogCi0gICAgV0tQYWdlTG9hZGVyQ2xpZW50IGxvYWRlckNsaWVudDsKKyAgICBX
S1BhZ2VMb2FkZXJDbGllbnRWMyBsb2FkZXJDbGllbnQ7CiAgICAgbWVtc2V0KCZsb2FkZXJDbGll
bnQsIDAsIHNpemVvZihsb2FkZXJDbGllbnQpKTsKLSAgICBsb2FkZXJDbGllbnQudmVyc2lvbiA9
IGtXS1BhZ2VMb2FkZXJDbGllbnRDdXJyZW50VmVyc2lvbjsKKworICAgIGxvYWRlckNsaWVudC5i
YXNlLnZlcnNpb24gPSAzOworICAgIGxvYWRlckNsaWVudC5iYXNlLmNsaWVudEluZm8gPSAmd2Vi
VmlldzsKICAgICBsb2FkZXJDbGllbnQuZGlkTGF5b3V0ID0gZGlkTGF5b3V0OwotICAgIGxvYWRl
ckNsaWVudC5jbGllbnRJbmZvID0gJndlYlZpZXc7CiAKLSAgICBXS1BhZ2VTZXRQYWdlTG9hZGVy
Q2xpZW50KHdlYlZpZXcucGFnZSgpLCAmbG9hZGVyQ2xpZW50KTsKKyAgICBXS1BhZ2VTZXRQYWdl
TG9hZGVyQ2xpZW50KHdlYlZpZXcucGFnZSgpLCAmbG9hZGVyQ2xpZW50LmJhc2UpOworCiAgICAg
V0tQYWdlTGlzdGVuRm9yTGF5b3V0TWlsZXN0b25lcyh3ZWJWaWV3LnBhZ2UoKSwga1dLRGlkRmly
c3RWaXN1YWxseU5vbkVtcHR5TGF5b3V0KTsKICAgICBXS1BhZ2VMb2FkVVJMKHdlYlZpZXcucGFn
ZSgpLCBhZG9wdFdLKFV0aWw6OmNyZWF0ZVVSTEZvclJlc291cmNlKCJhbGwtY29udGVudC1pbi1v
bmUtaWZyYW1lIiwgImh0bWwiKSkuZ2V0KCkpOwogCmRpZmYgLS1naXQgYS9Ub29scy9UZXN0V2Vi
S2l0QVBJL1Rlc3RzL1dlYktpdDIvTG9hZEFsdGVybmF0ZUhUTUxTdHJpbmdXaXRoTm9uRGlyZWN0
b3J5VVJMLmNwcCBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Mi9Mb2FkQWx0ZXJu
YXRlSFRNTFN0cmluZ1dpdGhOb25EaXJlY3RvcnlVUkwuY3BwCmluZGV4IDc4Nzg3NDE0ZDM0YWJi
YTM4ODcyMDU0NjU4OGJlMDJlZDY1NGQ5MzkuLmRlZjYwYmNiOTBlNGNmMmNiZTRmZjkzNDk3MWEz
NjE0OTM1ZmNmZWMgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0
Mi9Mb2FkQWx0ZXJuYXRlSFRNTFN0cmluZ1dpdGhOb25EaXJlY3RvcnlVUkwuY3BwCisrKyBiL1Rv
b2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Mi9Mb2FkQWx0ZXJuYXRlSFRNTFN0cmluZ1dp
dGhOb25EaXJlY3RvcnlVUkwuY3BwCkBAIC00NiwxMiArNDYsMTIgQEAgVEVTVChXZWJLaXQyLCBM
b2FkQWx0ZXJuYXRlSFRNTFN0cmluZ1dpdGhOb25EaXJlY3RvcnlVUkwpCiAgICAgV0tSZXRhaW5Q
dHI8V0tDb250ZXh0UmVmPiBjb250ZXh0KEFkb3B0V0ssIFdLQ29udGV4dENyZWF0ZSgpKTsKICAg
ICBQbGF0Zm9ybVdlYlZpZXcgd2ViVmlldyhjb250ZXh0LmdldCgpKTsKIAotICAgIFdLUGFnZUxv
YWRlckNsaWVudCBsb2FkZXJDbGllbnQ7CisgICAgV0tQYWdlTG9hZGVyQ2xpZW50VjAgbG9hZGVy
Q2xpZW50OwogICAgIG1lbXNldCgmbG9hZGVyQ2xpZW50LCAwLCBzaXplb2YobG9hZGVyQ2xpZW50
KSk7CiAgICAgCi0gICAgbG9hZGVyQ2xpZW50LnZlcnNpb24gPSAwOworICAgIGxvYWRlckNsaWVu
dC5iYXNlLnZlcnNpb24gPSAwOwogICAgIGxvYWRlckNsaWVudC5kaWRGaW5pc2hMb2FkRm9yRnJh
bWUgPSBkaWRGaW5pc2hMb2FkRm9yRnJhbWU7Ci0gICAgV0tQYWdlU2V0UGFnZUxvYWRlckNsaWVu
dCh3ZWJWaWV3LnBhZ2UoKSwgJmxvYWRlckNsaWVudCk7CisgICAgV0tQYWdlU2V0UGFnZUxvYWRl
ckNsaWVudCh3ZWJWaWV3LnBhZ2UoKSwgJmxvYWRlckNsaWVudC5iYXNlKTsKIAogICAgIFdLUmV0
YWluUHRyPFdLVVJMUmVmPiBmaWxlVVJMKEFkb3B0V0ssIFV0aWw6OmNyZWF0ZVVSTEZvclJlc291
cmNlKCJzaW1wbGUiLCAiaHRtbCIpKTsKICAgICBXS1JldGFpblB0cjxXS1N0cmluZ1JlZj4gYWx0
ZXJuYXRlSFRNTFN0cmluZyhBZG9wdFdLLCBXS1N0cmluZ0NyZWF0ZVdpdGhVVEY4Q1N0cmluZygi
PGh0bWw+PGJvZHk+PGltZyBzcmM9J2ljb24ucG5nJz48L2JvZHk+PC9odG1sPiIpKTsKZGlmZiAt
LWdpdCBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Mi9Mb2FkQ2FuY2VsZWROb1Nl
cnZlclJlZGlyZWN0Q2FsbGJhY2suY3BwIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJL
aXQyL0xvYWRDYW5jZWxlZE5vU2VydmVyUmVkaXJlY3RDYWxsYmFjay5jcHAKaW5kZXggN2RiZDA2
M2JjMjc0MTFiODFiMmQ0NjgxNzI0ODAwYWQyOGM3OGM3MC4uYWJmNDQ3MTU1NjU0MjA0NjhhNzBl
MWExYTJiMWVkNDIwNGNlMzA2OSAxMDA2NDQKLS0tIGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0
cy9XZWJLaXQyL0xvYWRDYW5jZWxlZE5vU2VydmVyUmVkaXJlY3RDYWxsYmFjay5jcHAKKysrIGIv
VG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQyL0xvYWRDYW5jZWxlZE5vU2VydmVyUmVk
aXJlY3RDYWxsYmFjay5jcHAKQEAgLTU5LDI3ICs1OSwzMCBAQCBURVNUKFdlYktpdDIsIExvYWRD
YW5jZWxlZE5vU2VydmVyUmVkaXJlY3RDYWxsYmFjaykKIHsKICAgICBXS1JldGFpblB0cjxXS0Nv
bnRleHRSZWY+IGNvbnRleHQoQWRvcHRXSywgVXRpbDo6Y3JlYXRlQ29udGV4dEZvckluamVjdGVk
QnVuZGxlVGVzdCgiTG9hZENhbmNlbGVkTm9TZXJ2ZXJSZWRpcmVjdENhbGxiYWNrVGVzdCIpKTsK
ICAgICAKLSAgICBXS0NvbnRleHRJbmplY3RlZEJ1bmRsZUNsaWVudCBpbmplY3RlZEJ1bmRsZUNs
aWVudDsKKyAgICBXS0NvbnRleHRJbmplY3RlZEJ1bmRsZUNsaWVudFYwIGluamVjdGVkQnVuZGxl
Q2xpZW50OwogICAgIG1lbXNldCgmaW5qZWN0ZWRCdW5kbGVDbGllbnQsIDAsIHNpemVvZihpbmpl
Y3RlZEJ1bmRsZUNsaWVudCkpOwotICAgIGluamVjdGVkQnVuZGxlQ2xpZW50LnZlcnNpb24gPSAw
OwotICAgIGluamVjdGVkQnVuZGxlQ2xpZW50LmNsaWVudEluZm8gPSAwOwotICAgIFdLQ29udGV4
dFNldEluamVjdGVkQnVuZGxlQ2xpZW50KGNvbnRleHQuZ2V0KCksICZpbmplY3RlZEJ1bmRsZUNs
aWVudCk7CisKKyAgICBpbmplY3RlZEJ1bmRsZUNsaWVudC5iYXNlLnZlcnNpb24gPSAwOworCisg
ICAgV0tDb250ZXh0U2V0SW5qZWN0ZWRCdW5kbGVDbGllbnQoY29udGV4dC5nZXQoKSwgJmluamVj
dGVkQnVuZGxlQ2xpZW50LmJhc2UpOwogCiAgICAgUGxhdGZvcm1XZWJWaWV3IHdlYlZpZXcoY29u
dGV4dC5nZXQoKSk7CiAKLSAgICBXS1BhZ2VMb2FkZXJDbGllbnQgbG9hZGVyQ2xpZW50OworICAg
IFdLUGFnZUxvYWRlckNsaWVudFYwIGxvYWRlckNsaWVudDsKICAgICBtZW1zZXQoJmxvYWRlckNs
aWVudCwgMCwgc2l6ZW9mKGxvYWRlckNsaWVudCkpOwogICAgIAotICAgIGxvYWRlckNsaWVudC52
ZXJzaW9uID0gMDsKKyAgICBsb2FkZXJDbGllbnQuYmFzZS52ZXJzaW9uID0gMDsKICAgICBsb2Fk
ZXJDbGllbnQuZGlkRmluaXNoTG9hZEZvckZyYW1lID0gZGlkRmluaXNoTG9hZEZvckZyYW1lOwot
ICAgIFdLUGFnZVNldFBhZ2VMb2FkZXJDbGllbnQod2ViVmlldy5wYWdlKCksICZsb2FkZXJDbGll
bnQpOworCisgICAgV0tQYWdlU2V0UGFnZUxvYWRlckNsaWVudCh3ZWJWaWV3LnBhZ2UoKSwgJmxv
YWRlckNsaWVudC5iYXNlKTsKICAgICAKLSAgICBXS0NvbnRleHRIaXN0b3J5Q2xpZW50IGhpc3Rv
cnlDbGllbnQ7CisgICAgV0tDb250ZXh0SGlzdG9yeUNsaWVudFYwIGhpc3RvcnlDbGllbnQ7CiAg
ICAgbWVtc2V0KCZoaXN0b3J5Q2xpZW50LCAwLCBzaXplb2YoaGlzdG9yeUNsaWVudCkpOwogICAg
IAotICAgIGhpc3RvcnlDbGllbnQudmVyc2lvbiA9IDA7CisgICAgaGlzdG9yeUNsaWVudC5iYXNl
LnZlcnNpb24gPSAwOwogICAgIGhpc3RvcnlDbGllbnQuZGlkUGVyZm9ybVNlcnZlclJlZGlyZWN0
ID0gZGlkUGVyZm9ybVNlcnZlclJlZGlyZWN0OwotICAgIFdLQ29udGV4dFNldEhpc3RvcnlDbGll
bnQoY29udGV4dC5nZXQoKSwgJmhpc3RvcnlDbGllbnQpOworCisgICAgV0tDb250ZXh0U2V0SGlz
dG9yeUNsaWVudChjb250ZXh0LmdldCgpLCAmaGlzdG9yeUNsaWVudC5iYXNlKTsKIAogICAgIFdL
UmV0YWluUHRyPFdLVVJMUmVmPiB1cmwoQWRvcHRXSywgVXRpbDo6Y3JlYXRlVVJMRm9yUmVzb3Vy
Y2UoInNpbXBsZS1pZnJhbWUiLCAiaHRtbCIpKTsKICAgICBXS1BhZ2VMb2FkVVJMKHdlYlZpZXcu
cGFnZSgpLCB1cmwuZ2V0KCkpOwpkaWZmIC0tZ2l0IGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0
cy9XZWJLaXQyL0xvYWRDYW5jZWxlZE5vU2VydmVyUmVkaXJlY3RDYWxsYmFja19CdW5kbGUuY3Bw
IGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQyL0xvYWRDYW5jZWxlZE5vU2VydmVy
UmVkaXJlY3RDYWxsYmFja19CdW5kbGUuY3BwCmluZGV4IDA3OTJjM2Y4YTI4NWRkYTZjOTY4ZjBh
ZTM5YTk4OTkwYjUzZDg2MGQuLjEzYWExMTA2ZTkxYTljNmEwNDIwZTcyYTdmNmUzZmY0MTVjYTVk
YjggMTAwNjQ0Ci0tLSBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Mi9Mb2FkQ2Fu
Y2VsZWROb1NlcnZlclJlZGlyZWN0Q2FsbGJhY2tfQnVuZGxlLmNwcAorKysgYi9Ub29scy9UZXN0
V2ViS2l0QVBJL1Rlc3RzL1dlYktpdDIvTG9hZENhbmNlbGVkTm9TZXJ2ZXJSZWRpcmVjdENhbGxi
YWNrX0J1bmRsZS5jcHAKQEAgLTU2LDEzICs1NiwxMyBAQCBwdWJsaWM6CiAKICAgICB2aXJ0dWFs
IHZvaWQgZGlkQ3JlYXRlUGFnZShXS0J1bmRsZVJlZiBidW5kbGUsIFdLQnVuZGxlUGFnZVJlZiBw
YWdlKQogICAgIHsKLSAgICAgICAgV0tCdW5kbGVQYWdlUmVzb3VyY2VMb2FkQ2xpZW50IHJlc291
cmNlTG9hZENsaWVudDsKKyAgICAgICAgV0tCdW5kbGVQYWdlUmVzb3VyY2VMb2FkQ2xpZW50VjAg
cmVzb3VyY2VMb2FkQ2xpZW50OwogICAgICAgICBtZW1zZXQoJnJlc291cmNlTG9hZENsaWVudCwg
MCwgc2l6ZW9mKHJlc291cmNlTG9hZENsaWVudCkpOwogICAgICAgICAKLSAgICAgICAgcmVzb3Vy
Y2VMb2FkQ2xpZW50LnZlcnNpb24gPSAwOworICAgICAgICByZXNvdXJjZUxvYWRDbGllbnQuYmFz
ZS52ZXJzaW9uID0gMDsKICAgICAgICAgcmVzb3VyY2VMb2FkQ2xpZW50LndpbGxTZW5kUmVxdWVz
dEZvckZyYW1lID0gd2lsbFNlbmRSZXF1ZXN0Rm9yRnJhbWU7CiAKLSAgICAgICAgV0tCdW5kbGVQ
YWdlU2V0UmVzb3VyY2VMb2FkQ2xpZW50KHBhZ2UsICZyZXNvdXJjZUxvYWRDbGllbnQpOworICAg
ICAgICBXS0J1bmRsZVBhZ2VTZXRSZXNvdXJjZUxvYWRDbGllbnQocGFnZSwgJnJlc291cmNlTG9h
ZENsaWVudC5iYXNlKTsKIAogICAgIH0KIH07CmRpZmYgLS1naXQgYS9Ub29scy9UZXN0V2ViS2l0
QVBJL1Rlc3RzL1dlYktpdDIvTG9hZFBhZ2VPbkNyYXNoLmNwcCBiL1Rvb2xzL1Rlc3RXZWJLaXRB
UEkvVGVzdHMvV2ViS2l0Mi9Mb2FkUGFnZU9uQ3Jhc2guY3BwCmluZGV4IGYzZDE4MzBkNjg4MDU0
MzAxMTA2ZTVkZjQyN2ViMzg1ZTVkYzAyM2MuLjMyMjhkMDg0YWY0NWNjNjE1YmZlMDNlZGJhZTY4
ZmViZDIxZDQ5YTYgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0
Mi9Mb2FkUGFnZU9uQ3Jhc2guY3BwCisrKyBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2Vi
S2l0Mi9Mb2FkUGFnZU9uQ3Jhc2guY3BwCkBAIC00Myw5ICs0MywxMiBAQCBwdWJsaWM6CiAgICAg
ICAgICwgc2Vjb25kU3VjY2Vzc2Z1bExvYWQoZmFsc2UpCiAgICAgewogICAgICAgICBtZW1zZXQo
JmxvYWRlckNsaWVudCwgMCwgc2l6ZW9mKGxvYWRlckNsaWVudCkpOwotICAgICAgICBsb2FkZXJD
bGllbnQuY2xpZW50SW5mbyA9IHRoaXM7CisKKyAgICAgICAgbG9hZGVyQ2xpZW50LmJhc2UudmVy
c2lvbiA9IDA7CisgICAgICAgIGxvYWRlckNsaWVudC5iYXNlLmNsaWVudEluZm8gPSB0aGlzOwog
ICAgICAgICBsb2FkZXJDbGllbnQuZGlkRmluaXNoTG9hZEZvckZyYW1lID0gZGlkRmluaXNoTG9h
ZDsKLSAgICAgICAgV0tQYWdlU2V0UGFnZUxvYWRlckNsaWVudCh3ZWJWaWV3LnBhZ2UoKSwgJmxv
YWRlckNsaWVudCk7CisKKyAgICAgICAgV0tQYWdlU2V0UGFnZUxvYWRlckNsaWVudCh3ZWJWaWV3
LnBhZ2UoKSwgJmxvYWRlckNsaWVudC5iYXNlKTsKICAgICB9CiAKICAgICB2b2lkIGxvYWRVcmwo
KQpAQCAtNTksNyArNjIsNyBAQCBwdWJsaWM6CiAgICAgfQogCiAgICAgV0tSZXRhaW5QdHI8V0tD
b250ZXh0UmVmPiBjb250ZXh0OwotICAgIFdLUGFnZUxvYWRlckNsaWVudCBsb2FkZXJDbGllbnQ7
CisgICAgV0tQYWdlTG9hZGVyQ2xpZW50VjAgbG9hZGVyQ2xpZW50OwogICAgIFBsYXRmb3JtV2Vi
VmlldyB3ZWJWaWV3OwogICAgIFdLUmV0YWluUHRyPFdLVVJMUmVmPiB1cmw7CiAKZGlmZiAtLWdp
dCBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Mi9Nb3VzZU1vdmVBZnRlckNyYXNo
LmNwcCBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Mi9Nb3VzZU1vdmVBZnRlckNy
YXNoLmNwcAppbmRleCA0YmY1NTI3Zjk1YWNkZmE0MTgzYmE5NTMwZjc5OGY2ODllZTJlZWRmLi5i
NzViZTZhMWEzNjc2MmVlNjMyN2Q2OTk4YzE4ZjQ1ZmZmNGU5MjkxIDEwMDY0NAotLS0gYS9Ub29s
cy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdDIvTW91c2VNb3ZlQWZ0ZXJDcmFzaC5jcHAKKysr
IGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQyL01vdXNlTW92ZUFmdGVyQ3Jhc2gu
Y3BwCkBAIC0zOSwxMyArMzksMTMgQEAgc3RhdGljIHZvaWQgZGlkRmluaXNoTG9hZEZvckZyYW1l
KFdLUGFnZVJlZiwgV0tGcmFtZVJlZiwgV0tUeXBlUmVmLCBjb25zdCB2b2lkKikKIAogc3RhdGlj
IHZvaWQgc2V0UGFnZUxvYWRlckNsaWVudChXS1BhZ2VSZWYgcGFnZSkKIHsKLSAgICBXS1BhZ2VM
b2FkZXJDbGllbnQgbG9hZGVyQ2xpZW50OworICAgIFdLUGFnZUxvYWRlckNsaWVudFYwIGxvYWRl
ckNsaWVudDsKICAgICBtZW1zZXQoJmxvYWRlckNsaWVudCwgMCwgc2l6ZW9mKGxvYWRlckNsaWVu
dCkpOwotICAgIGxvYWRlckNsaWVudC52ZXJzaW9uID0gMDsKLSAgICBsb2FkZXJDbGllbnQuY2xp
ZW50SW5mbyA9IDA7CisKKyAgICBsb2FkZXJDbGllbnQuYmFzZS52ZXJzaW9uID0gMDsKICAgICBs
b2FkZXJDbGllbnQuZGlkRmluaXNoTG9hZEZvckZyYW1lID0gZGlkRmluaXNoTG9hZEZvckZyYW1l
OwogCi0gICAgV0tQYWdlU2V0UGFnZUxvYWRlckNsaWVudChwYWdlLCAmbG9hZGVyQ2xpZW50KTsK
KyAgICBXS1BhZ2VTZXRQYWdlTG9hZGVyQ2xpZW50KHBhZ2UsICZsb2FkZXJDbGllbnQuYmFzZSk7
CiB9CiAKICNpZiBQTEFURk9STShXSU4pCmRpZmYgLS1naXQgYS9Ub29scy9UZXN0V2ViS2l0QVBJ
L1Rlc3RzL1dlYktpdDIvTmV3Rmlyc3RWaXN1YWxseU5vbkVtcHR5TGF5b3V0LmNwcCBiL1Rvb2xz
L1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Mi9OZXdGaXJzdFZpc3VhbGx5Tm9uRW1wdHlMYXlv
dXQuY3BwCmluZGV4IDYwNTAwM2VkNjliMjNhMGQ0NTgwOTZiZWFkYjgwNGEzMzM5ZDdhMGUuLjY0
MGE4MjVmODhiZmYzNTljZmEyZGYyYzkyNTlhYzdhYWFiZDFiZTAgMTAwNjQ0Ci0tLSBhL1Rvb2xz
L1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Mi9OZXdGaXJzdFZpc3VhbGx5Tm9uRW1wdHlMYXlv
dXQuY3BwCisrKyBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Mi9OZXdGaXJzdFZp
c3VhbGx5Tm9uRW1wdHlMYXlvdXQuY3BwCkBAIC01NywxMiArNTcsMTMgQEAgc3RhdGljIHZvaWQg
ZGlkTGF5b3V0KFdLUGFnZVJlZiwgV0tMYXlvdXRNaWxlc3RvbmVzIHR5cGUsIFdLVHlwZVJlZiwg
Y29uc3Qgdm9pZAogCiBzdGF0aWMgdm9pZCBzZXRQYWdlTG9hZGVyQ2xpZW50KFdLUGFnZVJlZiBw
YWdlKQogewotICAgIFdLUGFnZUxvYWRlckNsaWVudCBsb2FkZXJDbGllbnQ7CisgICAgV0tQYWdl
TG9hZGVyQ2xpZW50VjMgbG9hZGVyQ2xpZW50OwogICAgIG1lbXNldCgmbG9hZGVyQ2xpZW50LCAw
LCBzaXplb2YobG9hZGVyQ2xpZW50KSk7Ci0gICAgbG9hZGVyQ2xpZW50LnZlcnNpb24gPSBrV0tQ
YWdlTG9hZGVyQ2xpZW50Q3VycmVudFZlcnNpb247CisKKyAgICBsb2FkZXJDbGllbnQuYmFzZS52
ZXJzaW9uID0gMzsKICAgICBsb2FkZXJDbGllbnQuZGlkTGF5b3V0ID0gZGlkTGF5b3V0OwogCi0g
ICAgV0tQYWdlU2V0UGFnZUxvYWRlckNsaWVudChwYWdlLCAmbG9hZGVyQ2xpZW50KTsKKyAgICBX
S1BhZ2VTZXRQYWdlTG9hZGVyQ2xpZW50KHBhZ2UsICZsb2FkZXJDbGllbnQuYmFzZSk7CiB9CiAK
IC8vIEZJWE1FOiBUaGlzIHRlc3QgaGFzIGJlZW4gYnJva2VuIHNpbmNlIGh0dHA6Ly90cmFjLndl
YmtpdC5vcmcvY2hhbmdlc2V0LzExNTc1MiBJdCdzIGZhaWxpbmcgYmVjYXVzZQpkaWZmIC0tZ2l0
IGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQyL05ld0ZpcnN0VmlzdWFsbHlOb25F
bXB0eUxheW91dEZhaWxzLmNwcCBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Mi9O
ZXdGaXJzdFZpc3VhbGx5Tm9uRW1wdHlMYXlvdXRGYWlscy5jcHAKaW5kZXggMDZjNzE1MDJlOGFi
NjljOWJmYzJjYmQ1MmIxNWFmMWQzMGJjN2I3MS4uMTU2OGI3NjYzMGJkZTQ2ZTU3MTEyNTJlYmVh
OGE4ZGU0YTY3MDFjNCAxMDA2NDQKLS0tIGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJL
aXQyL05ld0ZpcnN0VmlzdWFsbHlOb25FbXB0eUxheW91dEZhaWxzLmNwcAorKysgYi9Ub29scy9U
ZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdDIvTmV3Rmlyc3RWaXN1YWxseU5vbkVtcHR5TGF5b3V0
RmFpbHMuY3BwCkBAIC01NiwxMyArNTYsMTQgQEAgc3RhdGljIHZvaWQgZGlkTGF5b3V0KFdLUGFn
ZVJlZiwgV0tMYXlvdXRNaWxlc3RvbmVzIHR5cGUsIFdLVHlwZVJlZiwgY29uc3Qgdm9pZAogCiBz
dGF0aWMgdm9pZCBzZXRQYWdlTG9hZGVyQ2xpZW50KFdLUGFnZVJlZiBwYWdlKQogewotICAgIFdL
UGFnZUxvYWRlckNsaWVudCBsb2FkZXJDbGllbnQ7CisgICAgV0tQYWdlTG9hZGVyQ2xpZW50VjMg
bG9hZGVyQ2xpZW50OwogICAgIG1lbXNldCgmbG9hZGVyQ2xpZW50LCAwLCBzaXplb2YobG9hZGVy
Q2xpZW50KSk7Ci0gICAgbG9hZGVyQ2xpZW50LnZlcnNpb24gPSBrV0tQYWdlTG9hZGVyQ2xpZW50
Q3VycmVudFZlcnNpb247CisKKyAgICBsb2FkZXJDbGllbnQuYmFzZS52ZXJzaW9uID0gMzsKICAg
ICBsb2FkZXJDbGllbnQuZGlkRmluaXNoTG9hZEZvckZyYW1lID0gZGlkRmluaXNoTG9hZEZvckZy
YW1lOwogICAgIGxvYWRlckNsaWVudC5kaWRMYXlvdXQgPSBkaWRMYXlvdXQ7CiAKLSAgICBXS1Bh
Z2VTZXRQYWdlTG9hZGVyQ2xpZW50KHBhZ2UsICZsb2FkZXJDbGllbnQpOworICAgIFdLUGFnZVNl
dFBhZ2VMb2FkZXJDbGllbnQocGFnZSwgJmxvYWRlckNsaWVudC5iYXNlKTsKIH0KIAogVEVTVChX
ZWJLaXQyLCBOZXdGaXJzdFZpc3VhbGx5Tm9uRW1wdHlMYXlvdXRGYWlscykKZGlmZiAtLWdpdCBh
L1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Mi9OZXdGaXJzdFZpc3VhbGx5Tm9uRW1w
dHlMYXlvdXRGb3JJbWFnZXMuY3BwIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQy
L05ld0ZpcnN0VmlzdWFsbHlOb25FbXB0eUxheW91dEZvckltYWdlcy5jcHAKaW5kZXggMmVjNWJk
MDVjNDVhNTdhZWI2OWRkYzQ0NjdkNWNhNjliZTU4ZWZiMi4uMTFmYzE3ZWJkYjE1MDE3ZTQ3ZDY5
NDI4OWE2OTA3MTUwMWIwZWU1OSAxMDA2NDQKLS0tIGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0
cy9XZWJLaXQyL05ld0ZpcnN0VmlzdWFsbHlOb25FbXB0eUxheW91dEZvckltYWdlcy5jcHAKKysr
IGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQyL05ld0ZpcnN0VmlzdWFsbHlOb25F
bXB0eUxheW91dEZvckltYWdlcy5jcHAKQEAgLTU3LDEyICs1NywxMyBAQCBzdGF0aWMgdm9pZCBk
aWRMYXlvdXQoV0tQYWdlUmVmLCBXS0xheW91dE1pbGVzdG9uZXMgdHlwZSwgV0tUeXBlUmVmLCBj
b25zdCB2b2lkCiAKIHN0YXRpYyB2b2lkIHNldFBhZ2VMb2FkZXJDbGllbnQoV0tQYWdlUmVmIHBh
Z2UpCiB7Ci0gICAgV0tQYWdlTG9hZGVyQ2xpZW50IGxvYWRlckNsaWVudDsKKyAgICBXS1BhZ2VM
b2FkZXJDbGllbnRWMyBsb2FkZXJDbGllbnQ7CiAgICAgbWVtc2V0KCZsb2FkZXJDbGllbnQsIDAs
IHNpemVvZihsb2FkZXJDbGllbnQpKTsKLSAgICBsb2FkZXJDbGllbnQudmVyc2lvbiA9IGtXS1Bh
Z2VMb2FkZXJDbGllbnRDdXJyZW50VmVyc2lvbjsKKworICAgIGxvYWRlckNsaWVudC5iYXNlLnZl
cnNpb24gPSAzOwogICAgIGxvYWRlckNsaWVudC5kaWRMYXlvdXQgPSBkaWRMYXlvdXQ7CiAKLSAg
ICBXS1BhZ2VTZXRQYWdlTG9hZGVyQ2xpZW50KHBhZ2UsICZsb2FkZXJDbGllbnQpOworICAgIFdL
UGFnZVNldFBhZ2VMb2FkZXJDbGllbnQocGFnZSwgJmxvYWRlckNsaWVudC5iYXNlKTsKIH0KIAog
Ly8gRklYTUU6IFRoaXMgdGVzdCBoYXMgYmVlbiBicm9rZW4gc2luY2UgaHR0cDovL3RyYWMud2Vi
a2l0Lm9yZy9jaGFuZ2VzZXQvMTE1NzUyIEl0J3MgZmFpbGluZyBiZWNhdXNlCmRpZmYgLS1naXQg
YS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdDIvTmV3Rmlyc3RWaXN1YWxseU5vbkVt
cHR5TGF5b3V0RnJhbWVzLmNwcCBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Mi9O
ZXdGaXJzdFZpc3VhbGx5Tm9uRW1wdHlMYXlvdXRGcmFtZXMuY3BwCmluZGV4IDFhZDRiOTk4NmZj
ZTM1MjY4NDUxOGY2NTljNzI4NGJiNTMzYjc2NjQuLjA0ZDZlZTQ0OGJhNTZkNWE5ZDc2MmE1NTdk
ZWJlOGJlOGZmYzQxZmMgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2Vi
S2l0Mi9OZXdGaXJzdFZpc3VhbGx5Tm9uRW1wdHlMYXlvdXRGcmFtZXMuY3BwCisrKyBiL1Rvb2xz
L1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Mi9OZXdGaXJzdFZpc3VhbGx5Tm9uRW1wdHlMYXlv
dXRGcmFtZXMuY3BwCkBAIC02MSwxMyArNjEsMTQgQEAgc3RhdGljIHZvaWQgZGlkTGF5b3V0KFdL
UGFnZVJlZiwgV0tMYXlvdXRNaWxlc3RvbmVzIHR5cGUsIFdLVHlwZVJlZiwgY29uc3Qgdm9pZAog
CiBzdGF0aWMgdm9pZCBzZXRQYWdlTG9hZGVyQ2xpZW50KFdLUGFnZVJlZiBwYWdlKQogewotICAg
IFdLUGFnZUxvYWRlckNsaWVudCBsb2FkZXJDbGllbnQ7CisgICAgV0tQYWdlTG9hZGVyQ2xpZW50
VjMgbG9hZGVyQ2xpZW50OwogICAgIG1lbXNldCgmbG9hZGVyQ2xpZW50LCAwLCBzaXplb2YobG9h
ZGVyQ2xpZW50KSk7Ci0gICAgbG9hZGVyQ2xpZW50LnZlcnNpb24gPSBrV0tQYWdlTG9hZGVyQ2xp
ZW50Q3VycmVudFZlcnNpb247CisKKyAgICBsb2FkZXJDbGllbnQuYmFzZS52ZXJzaW9uID0ga1dL
UGFnZUxvYWRlckNsaWVudEN1cnJlbnRWZXJzaW9uOwogICAgIGxvYWRlckNsaWVudC5kaWRGaW5p
c2hMb2FkRm9yRnJhbWUgPSBkaWRGaW5pc2hMb2FkRm9yRnJhbWU7CiAgICAgbG9hZGVyQ2xpZW50
LmRpZExheW91dCA9IGRpZExheW91dDsKIAotICAgIFdLUGFnZVNldFBhZ2VMb2FkZXJDbGllbnQo
cGFnZSwgJmxvYWRlckNsaWVudCk7CisgICAgV0tQYWdlU2V0UGFnZUxvYWRlckNsaWVudChwYWdl
LCAmbG9hZGVyQ2xpZW50LmJhc2UpOwogfQogCiBURVNUKFdlYktpdDIsIE5ld0ZpcnN0VmlzdWFs
bHlOb25FbXB0eUxheW91dEZyYW1lcykKZGlmZiAtLWdpdCBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkv
VGVzdHMvV2ViS2l0Mi9QYWdlTG9hZEJhc2ljLmNwcCBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVz
dHMvV2ViS2l0Mi9QYWdlTG9hZEJhc2ljLmNwcAppbmRleCBhNzk1M2RiNDI3MmM4MTkxOTU1YTdi
ZmY2YTMxMjYyYmMxYTY2NTljLi4yNmE2ZmRkZmQxNTRkZWQ2YmI1ZjViOGE1MzIzZmZkMDQwODY3
MDYwIDEwMDY0NAotLS0gYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdDIvUGFnZUxv
YWRCYXNpYy5jcHAKKysrIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQyL1BhZ2VM
b2FkQmFzaWMuY3BwCkBAIC0xMTUsMjUgKzExNSwyNyBAQCBURVNUKFdlYktpdDIsIFBhZ2VMb2Fk
QmFzaWMpCiAgICAgV0tSZXRhaW5QdHI8V0tDb250ZXh0UmVmPiBjb250ZXh0KEFkb3B0V0ssIFdL
Q29udGV4dENyZWF0ZSgpKTsKICAgICBQbGF0Zm9ybVdlYlZpZXcgd2ViVmlldyhjb250ZXh0Lmdl
dCgpKTsKIAotICAgIFdLUGFnZUxvYWRlckNsaWVudCBsb2FkZXJDbGllbnQ7CisgICAgV0tQYWdl
TG9hZGVyQ2xpZW50VjAgbG9hZGVyQ2xpZW50OwogICAgIG1lbXNldCgmbG9hZGVyQ2xpZW50LCAw
LCBzaXplb2YobG9hZGVyQ2xpZW50KSk7CiAKLSAgICBsb2FkZXJDbGllbnQudmVyc2lvbiA9IDA7
Ci0gICAgbG9hZGVyQ2xpZW50LmNsaWVudEluZm8gPSAmc3RhdGU7CisgICAgbG9hZGVyQ2xpZW50
LmJhc2UudmVyc2lvbiA9IDA7CisgICAgbG9hZGVyQ2xpZW50LmJhc2UuY2xpZW50SW5mbyA9ICZz
dGF0ZTsKICAgICBsb2FkZXJDbGllbnQuZGlkU3RhcnRQcm92aXNpb25hbExvYWRGb3JGcmFtZSA9
IGRpZFN0YXJ0UHJvdmlzaW9uYWxMb2FkRm9yRnJhbWU7CiAgICAgbG9hZGVyQ2xpZW50LmRpZENv
bW1pdExvYWRGb3JGcmFtZSA9IGRpZENvbW1pdExvYWRGb3JGcmFtZTsKICAgICBsb2FkZXJDbGll
bnQuZGlkRmluaXNoTG9hZEZvckZyYW1lID0gZGlkRmluaXNoTG9hZEZvckZyYW1lOwotICAgIFdL
UGFnZVNldFBhZ2VMb2FkZXJDbGllbnQod2ViVmlldy5wYWdlKCksICZsb2FkZXJDbGllbnQpOwog
Ci0gICAgV0tQYWdlUG9saWN5Q2xpZW50IHBvbGljeUNsaWVudDsKKyAgICBXS1BhZ2VTZXRQYWdl
TG9hZGVyQ2xpZW50KHdlYlZpZXcucGFnZSgpLCAmbG9hZGVyQ2xpZW50LmJhc2UpOworCisgICAg
V0tQYWdlUG9saWN5Q2xpZW50VjEgcG9saWN5Q2xpZW50OwogICAgIG1lbXNldCgmcG9saWN5Q2xp
ZW50LCAwLCBzaXplb2YocG9saWN5Q2xpZW50KSk7CiAKLSAgICBwb2xpY3lDbGllbnQudmVyc2lv
biA9IDE7Ci0gICAgcG9saWN5Q2xpZW50LmNsaWVudEluZm8gPSAmc3RhdGU7CisgICAgcG9saWN5
Q2xpZW50LmJhc2UudmVyc2lvbiA9IDE7CisgICAgcG9saWN5Q2xpZW50LmJhc2UuY2xpZW50SW5m
byA9ICZzdGF0ZTsKICAgICBwb2xpY3lDbGllbnQuZGVjaWRlUG9saWN5Rm9yTmF2aWdhdGlvbkFj
dGlvbiA9IGRlY2lkZVBvbGljeUZvck5hdmlnYXRpb25BY3Rpb247CiAgICAgcG9saWN5Q2xpZW50
LmRlY2lkZVBvbGljeUZvck5ld1dpbmRvd0FjdGlvbiA9IGRlY2lkZVBvbGljeUZvck5ld1dpbmRv
d0FjdGlvbjsKICAgICBwb2xpY3lDbGllbnQuZGVjaWRlUG9saWN5Rm9yUmVzcG9uc2UgPSBkZWNp
ZGVQb2xpY3lGb3JSZXNwb25zZTsKLSAgICBXS1BhZ2VTZXRQYWdlUG9saWN5Q2xpZW50KHdlYlZp
ZXcucGFnZSgpLCAmcG9saWN5Q2xpZW50KTsKKworICAgIFdLUGFnZVNldFBhZ2VQb2xpY3lDbGll
bnQod2ViVmlldy5wYWdlKCksICZwb2xpY3lDbGllbnQuYmFzZSk7CiAKICAgICAvLyBCZWZvcmUg
bG9hZGluZyBhbnl0aGluZywgdGhlIGFjdGl2ZSB1cmwgc2hvdWxkIGJlIG51bGwKICAgICBFWFBF
Q1RfTlVMTChXS1BhZ2VDb3B5QWN0aXZlVVJMKHdlYlZpZXcucGFnZSgpKSk7CmRpZmYgLS1naXQg
YS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdDIvUGFnZUxvYWREaWRDaGFuZ2VMb2Nh
dGlvbldpdGhpblBhZ2VGb3JGcmFtZS5jcHAgYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dl
YktpdDIvUGFnZUxvYWREaWRDaGFuZ2VMb2NhdGlvbldpdGhpblBhZ2VGb3JGcmFtZS5jcHAKaW5k
ZXggODZmYmU1ZWQ2NzA4YmY3OTkwYmE4NjJiNzhmOTg4ZDQ4Y2MzNzUyNC4uOGVmOWJiNjZkYzg4
MDJjNDY3ZWFlNzkyZTI1ZDI4Y2FlZDEyYjI1MiAxMDA2NDQKLS0tIGEvVG9vbHMvVGVzdFdlYktp
dEFQSS9UZXN0cy9XZWJLaXQyL1BhZ2VMb2FkRGlkQ2hhbmdlTG9jYXRpb25XaXRoaW5QYWdlRm9y
RnJhbWUuY3BwCisrKyBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Mi9QYWdlTG9h
ZERpZENoYW5nZUxvY2F0aW9uV2l0aGluUGFnZUZvckZyYW1lLmNwcApAQCAtNjAsMTEgKzYwLDE0
IEBAIFRFU1QoV2ViS2l0MiwgUGFnZUxvYWREaWRDaGFuZ2VMb2NhdGlvbldpdGhpblBhZ2VGb3JG
cmFtZSkKICAgICBXS1JldGFpblB0cjxXS0NvbnRleHRSZWY+IGNvbnRleHQoQWRvcHRXSywgV0tD
b250ZXh0Q3JlYXRlKCkpOwogICAgIFBsYXRmb3JtV2ViVmlldyB3ZWJWaWV3KGNvbnRleHQuZ2V0
KCkpOwogCi0gICAgV0tQYWdlTG9hZGVyQ2xpZW50IGxvYWRlckNsaWVudDsKKyAgICBXS1BhZ2VM
b2FkZXJDbGllbnRWMCBsb2FkZXJDbGllbnQ7CiAgICAgbWVtc2V0KCZsb2FkZXJDbGllbnQsIDAs
IHNpemVvZihsb2FkZXJDbGllbnQpKTsKKworICAgIGxvYWRlckNsaWVudC5iYXNlLnZlcnNpb24g
PSAwOwogICAgIGxvYWRlckNsaWVudC5kaWRGaW5pc2hMb2FkRm9yRnJhbWUgPSBkaWRGaW5pc2hM
b2FkRm9yRnJhbWU7CiAgICAgbG9hZGVyQ2xpZW50LmRpZFNhbWVEb2N1bWVudE5hdmlnYXRpb25G
b3JGcmFtZSA9IGRpZFNhbWVEb2N1bWVudE5hdmlnYXRpb25Gb3JGcmFtZTsKLSAgICBXS1BhZ2VT
ZXRQYWdlTG9hZGVyQ2xpZW50KHdlYlZpZXcucGFnZSgpLCAmbG9hZGVyQ2xpZW50KTsKKworICAg
IFdLUGFnZVNldFBhZ2VMb2FkZXJDbGllbnQod2ViVmlldy5wYWdlKCksICZsb2FkZXJDbGllbnQu
YmFzZSk7CiAKICAgICBXS1JldGFpblB0cjxXS1VSTFJlZj4gdXJsKEFkb3B0V0ssIFV0aWw6OmNy
ZWF0ZVVSTEZvclJlc291cmNlKCJmaWxlLXdpdGgtYW5jaG9yIiwgImh0bWwiKSk7CiAgICAgV0tQ
YWdlTG9hZFVSTCh3ZWJWaWV3LnBhZ2UoKSwgdXJsLmdldCgpKTsKZGlmZiAtLWdpdCBhL1Rvb2xz
L1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Mi9QYXJlbnRGcmFtZS5jcHAgYi9Ub29scy9UZXN0
V2ViS2l0QVBJL1Rlc3RzL1dlYktpdDIvUGFyZW50RnJhbWUuY3BwCmluZGV4IDc2NDVjNjZlZTI4
ODdiNjEwM2I1YmU3ODdiY2E0ZTIzMzUyNjY1ODQuLmVjOTdhYzBiMGI1ZmI2Y2FjZjUwMmYwZTNl
NzJhZjk3MTRkZTZmNmIgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2Vi
S2l0Mi9QYXJlbnRGcmFtZS5jcHAKKysrIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJL
aXQyL1BhcmVudEZyYW1lLmNwcApAQCAtNDUsMTEgKzQ1LDEzIEBAIHN0YXRpYyB2b2lkIGRpZFJl
Y2VpdmVNZXNzYWdlRnJvbUluamVjdGVkQnVuZGxlKFdLQ29udGV4dFJlZiwgV0tTdHJpbmdSZWYg
bWVzc2FnCiAKIHN0YXRpYyB2b2lkIHNldEluamVjdGVkQnVuZGxlQ2xpZW50KFdLQ29udGV4dFJl
ZiBjb250ZXh0KQogewotICAgIFdLQ29udGV4dEluamVjdGVkQnVuZGxlQ2xpZW50IGluamVjdGVk
QnVuZGxlQ2xpZW50OworICAgIFdLQ29udGV4dEluamVjdGVkQnVuZGxlQ2xpZW50VjAgaW5qZWN0
ZWRCdW5kbGVDbGllbnQ7CiAgICAgbWVtc2V0KCZpbmplY3RlZEJ1bmRsZUNsaWVudCwgMCwgc2l6
ZW9mKGluamVjdGVkQnVuZGxlQ2xpZW50KSk7CisKKyAgICBpbmplY3RlZEJ1bmRsZUNsaWVudC5i
YXNlLnZlcnNpb24gPSAwOwogICAgIGluamVjdGVkQnVuZGxlQ2xpZW50LmRpZFJlY2VpdmVNZXNz
YWdlRnJvbUluamVjdGVkQnVuZGxlID0gZGlkUmVjZWl2ZU1lc3NhZ2VGcm9tSW5qZWN0ZWRCdW5k
bGU7CiAKLSAgICBXS0NvbnRleHRTZXRJbmplY3RlZEJ1bmRsZUNsaWVudChjb250ZXh0LCAmaW5q
ZWN0ZWRCdW5kbGVDbGllbnQpOworICAgIFdLQ29udGV4dFNldEluamVjdGVkQnVuZGxlQ2xpZW50
KGNvbnRleHQsICZpbmplY3RlZEJ1bmRsZUNsaWVudC5iYXNlKTsKIH0KIAogVEVTVChXZWJLaXQy
LCBQYXJlbnRGcmFtZSkKZGlmZiAtLWdpdCBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2Vi
S2l0Mi9QYXJlbnRGcmFtZV9CdW5kbGUuY3BwIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9X
ZWJLaXQyL1BhcmVudEZyYW1lX0J1bmRsZS5jcHAKaW5kZXggNDAwMzVlOTBjMGJkZDY1NzhmN2Qz
ZWVjMDcwMjRkZWUyNzljYWY5OS4uYjIzMzM2MjkzZTE2ODIxMWNhMTQ2ZDEyOWQ0MDYxNjc4ZGIw
ZmI1NCAxMDA2NDQKLS0tIGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQyL1BhcmVu
dEZyYW1lX0J1bmRsZS5jcHAKKysrIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQy
L1BhcmVudEZyYW1lX0J1bmRsZS5jcHAKQEAgLTY3LDEzICs2NywxMyBAQCB2b2lkIFBhcmVudEZy
YW1lVGVzdDo6ZGlkQ3JlYXRlUGFnZShXS0J1bmRsZVJlZiBidW5kbGUsIFdLQnVuZGxlUGFnZVJl
ZiBwYWdlKQogewogICAgIHRlc3RCdW5kbGUgPSBidW5kbGU7CiAgICAgCi0gICAgV0tCdW5kbGVQ
YWdlTG9hZGVyQ2xpZW50IHBhZ2VMb2FkZXJDbGllbnQ7CisgICAgV0tCdW5kbGVQYWdlTG9hZGVy
Q2xpZW50VjEgcGFnZUxvYWRlckNsaWVudDsKICAgICBtZW1zZXQoJnBhZ2VMb2FkZXJDbGllbnQs
IDAsIHNpemVvZihwYWdlTG9hZGVyQ2xpZW50KSk7CiAgICAgCi0gICAgcGFnZUxvYWRlckNsaWVu
dC52ZXJzaW9uID0gMTsKKyAgICBwYWdlTG9hZGVyQ2xpZW50LmJhc2UudmVyc2lvbiA9IDE7CiAg
ICAgcGFnZUxvYWRlckNsaWVudC5kaWRGaW5pc2hMb2FkRm9yRnJhbWUgPSBkaWRGaW5pc2hMb2Fk
Rm9yRnJhbWU7CiAgICAgCi0gICAgV0tCdW5kbGVQYWdlU2V0UGFnZUxvYWRlckNsaWVudChwYWdl
LCAmcGFnZUxvYWRlckNsaWVudCk7CisgICAgV0tCdW5kbGVQYWdlU2V0UGFnZUxvYWRlckNsaWVu
dChwYWdlLCAmcGFnZUxvYWRlckNsaWVudC5iYXNlKTsKIH0KIAogfSAvLyBuYW1lc3BhY2UgVGVz
dFdlYktpdEFQSQpkaWZmIC0tZ2l0IGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQy
L1Bhc3RlYm9hcmROb3RpZmljYXRpb25zLm1tIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9X
ZWJLaXQyL1Bhc3RlYm9hcmROb3RpZmljYXRpb25zLm1tCmluZGV4IDY2MzVmYWU5ZTcwMTczYjMy
MzY4NjdiYmFlZTJmZmJhZThhNDYwZDQuLjdlZTFhNWFlMGYwMmI3NDA4ZGNiZGJjYmU2YTM1MDM4
ZjhmNmFiMmUgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Mi9Q
YXN0ZWJvYXJkTm90aWZpY2F0aW9ucy5tbQorKysgYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3Rz
L1dlYktpdDIvUGFzdGVib2FyZE5vdGlmaWNhdGlvbnMubW0KQEAgLTQ2LDEyICs0NiwxMyBAQCBz
dGF0aWMgdm9pZCBkaWRSZWNlaXZlTWVzc2FnZUZyb21JbmplY3RlZEJ1bmRsZShXS0NvbnRleHRS
ZWYgY29udGV4dCwgV0tTdHJpbmdSZQogCiBzdGF0aWMgdm9pZCBzZXRJbmplY3RlZEJ1bmRsZUNs
aWVudChXS0NvbnRleHRSZWYgY29udGV4dCkKIHsKLSAgICBXS0NvbnRleHRJbmplY3RlZEJ1bmRs
ZUNsaWVudCBpbmplY3RlZEJ1bmRsZUNsaWVudDsKKyAgICBXS0NvbnRleHRJbmplY3RlZEJ1bmRs
ZUNsaWVudFYwIGluamVjdGVkQnVuZGxlQ2xpZW50OwogICAgIG1lbXNldCgmaW5qZWN0ZWRCdW5k
bGVDbGllbnQsIDAsIHNpemVvZihpbmplY3RlZEJ1bmRsZUNsaWVudCkpOwotICAgIGluamVjdGVk
QnVuZGxlQ2xpZW50LnZlcnNpb24gPSAwOwotICAgIGluamVjdGVkQnVuZGxlQ2xpZW50LmNsaWVu
dEluZm8gPSAwOworCisgICAgaW5qZWN0ZWRCdW5kbGVDbGllbnQuYmFzZS52ZXJzaW9uID0gMDsK
ICAgICBpbmplY3RlZEJ1bmRsZUNsaWVudC5kaWRSZWNlaXZlTWVzc2FnZUZyb21JbmplY3RlZEJ1
bmRsZSA9IGRpZFJlY2VpdmVNZXNzYWdlRnJvbUluamVjdGVkQnVuZGxlOwotICAgIFdLQ29udGV4
dFNldEluamVjdGVkQnVuZGxlQ2xpZW50KGNvbnRleHQsICZpbmplY3RlZEJ1bmRsZUNsaWVudCk7
CisKKyAgICBXS0NvbnRleHRTZXRJbmplY3RlZEJ1bmRsZUNsaWVudChjb250ZXh0LCAmaW5qZWN0
ZWRCdW5kbGVDbGllbnQuYmFzZSk7CiB9CiAKIFRFU1QoV2ViS2l0MiwgUGFzdGVib2FyZE5vdGlm
aWNhdGlvbnMpCmRpZmYgLS1naXQgYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdDIv
UGFzdGVib2FyZE5vdGlmaWNhdGlvbnNfQnVuZGxlLmNwcCBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkv
VGVzdHMvV2ViS2l0Mi9QYXN0ZWJvYXJkTm90aWZpY2F0aW9uc19CdW5kbGUuY3BwCmluZGV4IGQz
M2I3N2I1NTc2YTczMmU4ODFjZjdiMTQzNzBiNWUwMmE3ZDIwMWQuLjgxYmMwM2E3NjA3ODMyMTU4
MTU4MDZhNzYyOWFkNjI4OTgyODJjMGUgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkv
VGVzdHMvV2ViS2l0Mi9QYXN0ZWJvYXJkTm90aWZpY2F0aW9uc19CdW5kbGUuY3BwCisrKyBiL1Rv
b2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Mi9QYXN0ZWJvYXJkTm90aWZpY2F0aW9uc19C
dW5kbGUuY3BwCkBAIC02OSwxNyArNjksMTYgQEAgUGFzdGVib2FyZE5vdGlmaWNhdGlvbnNUZXN0
OjpQYXN0ZWJvYXJkTm90aWZpY2F0aW9uc1Rlc3QoY29uc3Qgc3RkOjpzdHJpbmcmIGlkZW4KIAog
dm9pZCBQYXN0ZWJvYXJkTm90aWZpY2F0aW9uc1Rlc3Q6OmRpZENyZWF0ZVBhZ2UoV0tCdW5kbGVS
ZWYgYnVuZGxlLCBXS0J1bmRsZVBhZ2VSZWYgcGFnZSkKIHsgICAgCi0gICAgV0tCdW5kbGVQYWdl
RWRpdG9yQ2xpZW50IHBhZ2VFZGl0b3JDbGllbnQ7Ci0KKyAgICBXS0J1bmRsZVBhZ2VFZGl0b3JD
bGllbnRWMSBwYWdlRWRpdG9yQ2xpZW50OwogICAgIG1lbXNldCgmcGFnZUVkaXRvckNsaWVudCwg
MCwgc2l6ZW9mKHBhZ2VFZGl0b3JDbGllbnQpKTsKIAotICAgIHBhZ2VFZGl0b3JDbGllbnQudmVy
c2lvbiA9IDE7Ci0gICAgcGFnZUVkaXRvckNsaWVudC5jbGllbnRJbmZvID0gdGhpczsKKyAgICBw
YWdlRWRpdG9yQ2xpZW50LmJhc2UudmVyc2lvbiA9IDE7CisgICAgcGFnZUVkaXRvckNsaWVudC5i
YXNlLmNsaWVudEluZm8gPSB0aGlzOwogICAgIHBhZ2VFZGl0b3JDbGllbnQud2lsbFdyaXRlVG9Q
YXN0ZWJvYXJkID0gd2lsbFdyaXRlVG9QYXN0ZWJvYXJkOwogICAgIHBhZ2VFZGl0b3JDbGllbnQu
Z2V0UGFzdGVib2FyZERhdGFGb3JSYW5nZSA9IGdldFBhc3RlYm9hcmREYXRhRm9yUmFuZ2U7CiAg
ICAgcGFnZUVkaXRvckNsaWVudC5kaWRXcml0ZVRvUGFzdGVib2FyZCA9IGRpZFdyaXRlVG9QYXN0
ZWJvYXJkOwogCi0gICAgV0tCdW5kbGVQYWdlU2V0RWRpdG9yQ2xpZW50KHBhZ2UsICZwYWdlRWRp
dG9yQ2xpZW50KTsKKyAgICBXS0J1bmRsZVBhZ2VTZXRFZGl0b3JDbGllbnQocGFnZSwgJnBhZ2VF
ZGl0b3JDbGllbnQuYmFzZSk7CiB9CiAKIH0gLy8gbmFtZXNwYWNlIFRlc3RXZWJLaXRBUEkKZGlm
ZiAtLWdpdCBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Mi9Qcml2YXRlQnJvd3Np
bmdQdXNoU3RhdGVOb0hpc3RvcnlDYWxsYmFjay5jcHAgYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rl
c3RzL1dlYktpdDIvUHJpdmF0ZUJyb3dzaW5nUHVzaFN0YXRlTm9IaXN0b3J5Q2FsbGJhY2suY3Bw
CmluZGV4IDE2NDQ2NmIyYzhhOWI4YmUwYTE0NzEzNDkxODUxZWJiZjI3ZWQ1NjQuLjNkMGRiM2Qy
ZjA1N2VmNjRiN2RiOTlhYjQ2MGJkZWM5NTQ1ZmExMWMgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1Rlc3RX
ZWJLaXRBUEkvVGVzdHMvV2ViS2l0Mi9Qcml2YXRlQnJvd3NpbmdQdXNoU3RhdGVOb0hpc3RvcnlD
YWxsYmFjay5jcHAKKysrIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQyL1ByaXZh
dGVCcm93c2luZ1B1c2hTdGF0ZU5vSGlzdG9yeUNhbGxiYWNrLmNwcApAQCAtNDgsMjMgKzQ4LDIz
IEBAIFRFU1QoV2ViS2l0MiwgUHJpdmF0ZUJyb3dzaW5nUHVzaFN0YXRlTm9IaXN0b3J5Q2FsbGJh
Y2spCiB7CiAgICAgV0tSZXRhaW5QdHI8V0tDb250ZXh0UmVmPiBjb250ZXh0KEFkb3B0V0ssIFdL
Q29udGV4dENyZWF0ZSgpKTsKIAotICAgIFdLQ29udGV4dEhpc3RvcnlDbGllbnQgaGlzdG9yeUNs
aWVudDsKKyAgICBXS0NvbnRleHRIaXN0b3J5Q2xpZW50VjAgaGlzdG9yeUNsaWVudDsKICAgICBt
ZW1zZXQoJmhpc3RvcnlDbGllbnQsIDAsIHNpemVvZihoaXN0b3J5Q2xpZW50KSk7CiAKLSAgICBo
aXN0b3J5Q2xpZW50LnZlcnNpb24gPSAwOwotICAgIGhpc3RvcnlDbGllbnQuY2xpZW50SW5mbyA9
IDA7CisgICAgaGlzdG9yeUNsaWVudC5iYXNlLnZlcnNpb24gPSAwOwogICAgIGhpc3RvcnlDbGll
bnQuZGlkTmF2aWdhdGVXaXRoTmF2aWdhdGlvbkRhdGEgPSBkaWROYXZpZ2F0ZVdpdGhOYXZpZ2F0
aW9uRGF0YTsKLSAgICBXS0NvbnRleHRTZXRIaXN0b3J5Q2xpZW50KGNvbnRleHQuZ2V0KCksICZo
aXN0b3J5Q2xpZW50KTsKKworICAgIFdLQ29udGV4dFNldEhpc3RvcnlDbGllbnQoY29udGV4dC5n
ZXQoKSwgJmhpc3RvcnlDbGllbnQuYmFzZSk7CiAKICAgICBQbGF0Zm9ybVdlYlZpZXcgd2ViVmll
dyhjb250ZXh0LmdldCgpKTsKIAotICAgIFdLUGFnZUxvYWRlckNsaWVudCBwYWdlTG9hZGVyQ2xp
ZW50OworICAgIFdLUGFnZUxvYWRlckNsaWVudFYwIHBhZ2VMb2FkZXJDbGllbnQ7CiAgICAgbWVt
c2V0KCZwYWdlTG9hZGVyQ2xpZW50LCAwLCBzaXplb2YocGFnZUxvYWRlckNsaWVudCkpOwogCi0g
ICAgcGFnZUxvYWRlckNsaWVudC52ZXJzaW9uID0gMDsKLSAgICBwYWdlTG9hZGVyQ2xpZW50LmNs
aWVudEluZm8gPSAwOworICAgIHBhZ2VMb2FkZXJDbGllbnQuYmFzZS52ZXJzaW9uID0gMDsKICAg
ICBwYWdlTG9hZGVyQ2xpZW50LmRpZFNhbWVEb2N1bWVudE5hdmlnYXRpb25Gb3JGcmFtZSA9IGRp
ZFNhbWVEb2N1bWVudE5hdmlnYXRpb25Gb3JGcmFtZTsKLSAgICBXS1BhZ2VTZXRQYWdlTG9hZGVy
Q2xpZW50KHdlYlZpZXcucGFnZSgpLCAmcGFnZUxvYWRlckNsaWVudCk7CisKKyAgICBXS1BhZ2VT
ZXRQYWdlTG9hZGVyQ2xpZW50KHdlYlZpZXcucGFnZSgpLCAmcGFnZUxvYWRlckNsaWVudC5iYXNl
KTsKIAogICAgIFdLUmV0YWluUHRyPFdLUHJlZmVyZW5jZXNSZWY+IHByZWZlcmVuY2VzKEFkb3B0
V0ssIFdLUHJlZmVyZW5jZXNDcmVhdGUoKSk7CiAgICAgV0tQcmVmZXJlbmNlc1NldFByaXZhdGVC
cm93c2luZ0VuYWJsZWQocHJlZmVyZW5jZXMuZ2V0KCksIHRydWUpOwpkaWZmIC0tZ2l0IGEvVG9v
bHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQyL1JlbG9hZFBhZ2VBZnRlckNyYXNoLmNwcCBi
L1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Mi9SZWxvYWRQYWdlQWZ0ZXJDcmFzaC5j
cHAKaW5kZXggNzk2MGRjYmYxNDc4Zjc4NTgyNjcyZmFiYjEzMTczMTA5NWZlMjMyZS4uZmIyNjVh
YmMxOGQ1YWI0NmVjMTYyMjliZGQzNzQxODY2NWNjNWUzYSAxMDA2NDQKLS0tIGEvVG9vbHMvVGVz
dFdlYktpdEFQSS9UZXN0cy9XZWJLaXQyL1JlbG9hZFBhZ2VBZnRlckNyYXNoLmNwcAorKysgYi9U
b29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdDIvUmVsb2FkUGFnZUFmdGVyQ3Jhc2guY3Bw
CkBAIC02NSwxMSArNjUsMTQgQEAgVEVTVChXZWJLaXQyLCBSZWxvYWRQYWdlQWZ0ZXJDcmFzaCkK
ICAgICBXS1JldGFpblB0cjxXS0NvbnRleHRSZWY+IGNvbnRleHQoQWRvcHRXSywgV0tDb250ZXh0
Q3JlYXRlKCkpOwogICAgIFBsYXRmb3JtV2ViVmlldyB3ZWJWaWV3KGNvbnRleHQuZ2V0KCkpOwog
Ci0gICAgV0tQYWdlTG9hZGVyQ2xpZW50IGxvYWRlckNsaWVudDsKKyAgICBXS1BhZ2VMb2FkZXJD
bGllbnRWMCBsb2FkZXJDbGllbnQ7CiAgICAgbWVtc2V0KCZsb2FkZXJDbGllbnQsIDAsIHNpemVv
Zihsb2FkZXJDbGllbnQpKTsKKworICAgIGxvYWRlckNsaWVudC5iYXNlLnZlcnNpb24gPSAwOwog
ICAgIGxvYWRlckNsaWVudC5kaWRGaW5pc2hMb2FkRm9yRnJhbWUgPSBkaWRGaW5pc2hMb2FkOwog
ICAgIGxvYWRlckNsaWVudC5wcm9jZXNzRGlkQ3Jhc2ggPSBkaWRDcmFzaDsKLSAgICBXS1BhZ2VT
ZXRQYWdlTG9hZGVyQ2xpZW50KHdlYlZpZXcucGFnZSgpLCAmbG9hZGVyQ2xpZW50KTsKKworICAg
IFdLUGFnZVNldFBhZ2VMb2FkZXJDbGllbnQod2ViVmlldy5wYWdlKCksICZsb2FkZXJDbGllbnQu
YmFzZSk7CiAKICAgICBXS1JldGFpblB0cjxXS1VSTFJlZj4gdXJsID0gYWRvcHRXSyhXS1VSTENy
ZWF0ZVdpdGhVVEY4Q1N0cmluZygiYWJvdXQ6YmxhbmsiKSk7CiAgICAgLy8gTG9hZCBhIGJsYW5r
IHBhZ2UgYW5kIG5leHQga2lsbHMgV2ViUHJvY2Vzcy4KZGlmZiAtLWdpdCBhL1Rvb2xzL1Rlc3RX
ZWJLaXRBUEkvVGVzdHMvV2ViS2l0Mi9SZXNpemVSZXZlcnNlUGFnaW5hdGVkV2ViVmlldy5jcHAg
Yi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdDIvUmVzaXplUmV2ZXJzZVBhZ2luYXRl
ZFdlYlZpZXcuY3BwCmluZGV4IGYwMzI4NDliYWUyY2M0NzZhNWI2OWQyOTliZjY4YzcyYWZjMDIx
YTMuLmFmMWYxZTcwNTVjMTJkODI1NjNlZTczMWMyNGU2YTI4ZmRiYTI2OWUgMTAwNjQ0Ci0tLSBh
L1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Mi9SZXNpemVSZXZlcnNlUGFnaW5hdGVk
V2ViVmlldy5jcHAKKysrIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQyL1Jlc2l6
ZVJldmVyc2VQYWdpbmF0ZWRXZWJWaWV3LmNwcApAQCAtNjEsMTMgKzYxLDE0IEBAIFRFU1QoV2Vi
S2l0MiwgUmVzaXplUmV2ZXJzZVBhZ2luYXRlZFdlYlZpZXcpCiAgICAgV0tSZXRhaW5QdHI8V0tD
b250ZXh0UmVmPiBjb250ZXh0KEFkb3B0V0ssIFdLQ29udGV4dENyZWF0ZSgpKTsKICAgICBQbGF0
Zm9ybVdlYlZpZXcgd2ViVmlldyhjb250ZXh0LmdldCgpKTsKIAotICAgIFdLUGFnZUxvYWRlckNs
aWVudCBsb2FkZXJDbGllbnQ7CisgICAgV0tQYWdlTG9hZGVyQ2xpZW50VjMgbG9hZGVyQ2xpZW50
OwogICAgIG1lbXNldCgmbG9hZGVyQ2xpZW50LCAwLCBzaXplb2YobG9hZGVyQ2xpZW50KSk7Ci0g
ICAgbG9hZGVyQ2xpZW50LnZlcnNpb24gPSBrV0tQYWdlTG9hZGVyQ2xpZW50Q3VycmVudFZlcnNp
b247CisKKyAgICBsb2FkZXJDbGllbnQuYmFzZS52ZXJzaW9uID0gMzsKKyAgICBsb2FkZXJDbGll
bnQuYmFzZS5jbGllbnRJbmZvID0gJndlYlZpZXc7CiAgICAgbG9hZGVyQ2xpZW50LmRpZExheW91
dCA9IGRpZExheW91dDsKLSAgICBsb2FkZXJDbGllbnQuY2xpZW50SW5mbyA9ICZ3ZWJWaWV3Owog
Ci0gICAgV0tQYWdlU2V0UGFnZUxvYWRlckNsaWVudCh3ZWJWaWV3LnBhZ2UoKSwgJmxvYWRlckNs
aWVudCk7CisgICAgV0tQYWdlU2V0UGFnZUxvYWRlckNsaWVudCh3ZWJWaWV3LnBhZ2UoKSwgJmxv
YWRlckNsaWVudC5iYXNlKTsKIAogICAgIFdLUGFnZUxpc3RlbkZvckxheW91dE1pbGVzdG9uZXMo
d2ViVmlldy5wYWdlKCksIGtXS0RpZEZpcnN0TGF5b3V0QWZ0ZXJTdXBwcmVzc2VkSW5jcmVtZW50
YWxSZW5kZXJpbmcpOwogCmRpZmYgLS1naXQgYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dl
YktpdDIvUmVzaXplV2luZG93QWZ0ZXJDcmFzaC5jcHAgYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rl
c3RzL1dlYktpdDIvUmVzaXplV2luZG93QWZ0ZXJDcmFzaC5jcHAKaW5kZXggMWFmNjM5ZGU3YTJk
ODM0NWNhM2Q3NTg1YTRjNzFmNjBlM2Q4MDM3Yy4uNGNkOWVkZGI0YzhmZmYzZjExY2U5NzZiMTMx
Zjg1NTJkMzc3Zjg2OCAxMDA2NDQKLS0tIGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJL
aXQyL1Jlc2l6ZVdpbmRvd0FmdGVyQ3Jhc2guY3BwCisrKyBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkv
VGVzdHMvV2ViS2l0Mi9SZXNpemVXaW5kb3dBZnRlckNyYXNoLmNwcApAQCAtNzUsMTIgKzc1LDE1
IEBAIFRFU1QoV2ViS2l0MiwgUmVzaXplV2luZG93QWZ0ZXJDcmFzaCkKICAgICBXS1JldGFpblB0
cjxXS0NvbnRleHRSZWY+IGNvbnRleHQoQWRvcHRXSywgV0tDb250ZXh0Q3JlYXRlKCkpOwogICAg
IFRlc3RTdGF0ZXNEYXRhIHN0YXRlcyhjb250ZXh0LmdldCgpKTsKIAotICAgIFdLUGFnZUxvYWRl
ckNsaWVudCBsb2FkZXJDbGllbnQ7CisgICAgV0tQYWdlTG9hZGVyQ2xpZW50VjAgbG9hZGVyQ2xp
ZW50OwogICAgIG1lbXNldCgmbG9hZGVyQ2xpZW50LCAwLCBzaXplb2YobG9hZGVyQ2xpZW50KSk7
Ci0gICAgbG9hZGVyQ2xpZW50LmNsaWVudEluZm8gPSAmc3RhdGVzOworCisgICAgbG9hZGVyQ2xp
ZW50LmJhc2UudmVyc2lvbiA9IDA7CisgICAgbG9hZGVyQ2xpZW50LmJhc2UuY2xpZW50SW5mbyA9
ICZzdGF0ZXM7CiAgICAgbG9hZGVyQ2xpZW50LmRpZEZpbmlzaExvYWRGb3JGcmFtZSA9IGRpZEZp
bmlzaExvYWQ7CiAgICAgbG9hZGVyQ2xpZW50LnByb2Nlc3NEaWRDcmFzaCA9IGRpZENyYXNoOwot
ICAgIFdLUGFnZVNldFBhZ2VMb2FkZXJDbGllbnQoc3RhdGVzLndlYlZpZXcucGFnZSgpLCAmbG9h
ZGVyQ2xpZW50KTsKKworICAgIFdLUGFnZVNldFBhZ2VMb2FkZXJDbGllbnQoc3RhdGVzLndlYlZp
ZXcucGFnZSgpLCAmbG9hZGVyQ2xpZW50LmJhc2UpOwogCiAgICAgV0tSZXRhaW5QdHI8V0tVUkxS
ZWY+IHVybCA9IGFkb3B0V0soV0tVUkxDcmVhdGVXaXRoVVRGOENTdHJpbmcoImFib3V0OmJsYW5r
IikpOwogICAgIC8vIExvYWQgYSBibGFuayBwYWdlIGFuZCBuZXh0IGtpbGxzIFdlYlByb2Nlc3Mu
CmRpZmYgLS1naXQgYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdDIvUmVzcG9uc2l2
ZW5lc3NUaW1lckRvZXNudEZpcmVFYXJseS5jcHAgYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3Rz
L1dlYktpdDIvUmVzcG9uc2l2ZW5lc3NUaW1lckRvZXNudEZpcmVFYXJseS5jcHAKaW5kZXggMTBm
MDRjMTgwZDMwZGQ4ZTA5MjAxMjk2ZDMyMjkzNTdlMGQ3NzFiNy4uOWRlMTFhMjg2YWIyYTE2NGY3
NGEyOWRiOTIxMGFhODllZWYzZDdlYSAxMDA2NDQKLS0tIGEvVG9vbHMvVGVzdFdlYktpdEFQSS9U
ZXN0cy9XZWJLaXQyL1Jlc3BvbnNpdmVuZXNzVGltZXJEb2VzbnRGaXJlRWFybHkuY3BwCisrKyBi
L1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Mi9SZXNwb25zaXZlbmVzc1RpbWVyRG9l
c250RmlyZUVhcmx5LmNwcApAQCAtNTEsMjUgKzUxLDI1IEBAIHN0YXRpYyB2b2lkIHByb2Nlc3NE
aWRCZWNvbWVVbnJlc3BvbnNpdmUoV0tQYWdlUmVmLCBjb25zdCB2b2lkKikKIAogc3RhdGljIHZv
aWQgc2V0SW5qZWN0ZWRCdW5kbGVDbGllbnQoV0tDb250ZXh0UmVmIGNvbnRleHQpCiB7Ci0gICAg
V0tDb250ZXh0SW5qZWN0ZWRCdW5kbGVDbGllbnQgaW5qZWN0ZWRCdW5kbGVDbGllbnQ7CisgICAg
V0tDb250ZXh0SW5qZWN0ZWRCdW5kbGVDbGllbnRWMCBpbmplY3RlZEJ1bmRsZUNsaWVudDsKICAg
ICBtZW1zZXQoJmluamVjdGVkQnVuZGxlQ2xpZW50LCAwLCBzaXplb2YoaW5qZWN0ZWRCdW5kbGVD
bGllbnQpKTsKLSAgICBpbmplY3RlZEJ1bmRsZUNsaWVudC52ZXJzaW9uID0gMDsKLSAgICBpbmpl
Y3RlZEJ1bmRsZUNsaWVudC5jbGllbnRJbmZvID0gMDsKKworICAgIGluamVjdGVkQnVuZGxlQ2xp
ZW50LmJhc2UudmVyc2lvbiA9IDA7CiAgICAgaW5qZWN0ZWRCdW5kbGVDbGllbnQuZGlkUmVjZWl2
ZU1lc3NhZ2VGcm9tSW5qZWN0ZWRCdW5kbGUgPSBkaWRSZWNlaXZlTWVzc2FnZUZyb21JbmplY3Rl
ZEJ1bmRsZTsKIAotICAgIFdLQ29udGV4dFNldEluamVjdGVkQnVuZGxlQ2xpZW50KGNvbnRleHQs
ICZpbmplY3RlZEJ1bmRsZUNsaWVudCk7CisgICAgV0tDb250ZXh0U2V0SW5qZWN0ZWRCdW5kbGVD
bGllbnQoY29udGV4dCwgJmluamVjdGVkQnVuZGxlQ2xpZW50LmJhc2UpOwogfQogCiBzdGF0aWMg
dm9pZCBzZXRQYWdlTG9hZGVyQ2xpZW50KFdLUGFnZVJlZiBwYWdlKQogewotICAgIFdLUGFnZUxv
YWRlckNsaWVudCBsb2FkZXJDbGllbnQ7CisgICAgV0tQYWdlTG9hZGVyQ2xpZW50VjAgbG9hZGVy
Q2xpZW50OwogICAgIG1lbXNldCgmbG9hZGVyQ2xpZW50LCAwLCBzaXplb2YobG9hZGVyQ2xpZW50
KSk7Ci0gICAgbG9hZGVyQ2xpZW50LnZlcnNpb24gPSAwOwotICAgIGxvYWRlckNsaWVudC5jbGll
bnRJbmZvID0gMDsKKworICAgIGxvYWRlckNsaWVudC5iYXNlLnZlcnNpb24gPSAwOwogICAgIGxv
YWRlckNsaWVudC5kaWRGaW5pc2hMb2FkRm9yRnJhbWUgPSBkaWRGaW5pc2hMb2FkRm9yRnJhbWU7
CiAgICAgbG9hZGVyQ2xpZW50LnByb2Nlc3NEaWRCZWNvbWVVbnJlc3BvbnNpdmUgPSBwcm9jZXNz
RGlkQmVjb21lVW5yZXNwb25zaXZlOwogCi0gICAgV0tQYWdlU2V0UGFnZUxvYWRlckNsaWVudChw
YWdlLCAmbG9hZGVyQ2xpZW50KTsKKyAgICBXS1BhZ2VTZXRQYWdlTG9hZGVyQ2xpZW50KHBhZ2Us
ICZsb2FkZXJDbGllbnQuYmFzZSk7CiB9CiAKIFRFU1QoV2ViS2l0MiwgUmVzcG9uc2l2ZW5lc3NU
aW1lckRvZXNudEZpcmVFYXJseSkKZGlmZiAtLWdpdCBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVz
dHMvV2ViS2l0Mi9SZXN0b3JlU2Vzc2lvblN0YXRlQ29udGFpbmluZ0Zvcm1EYXRhLmNwcCBiL1Rv
b2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Mi9SZXN0b3JlU2Vzc2lvblN0YXRlQ29udGFp
bmluZ0Zvcm1EYXRhLmNwcAppbmRleCBmNzVkZTEyNGUyNjMzMDU3MDkyNmUxYjBiZDRlZDZjYTc0
NTE1NzRiLi4wNzljNTE4NTZkMTc3ZTdkZjY1N2IwNGFhOGE4NjdmYTZlY2E0ZWVhIDEwMDY0NAot
LS0gYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdDIvUmVzdG9yZVNlc3Npb25TdGF0
ZUNvbnRhaW5pbmdGb3JtRGF0YS5jcHAKKysrIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9X
ZWJLaXQyL1Jlc3RvcmVTZXNzaW9uU3RhdGVDb250YWluaW5nRm9ybURhdGEuY3BwCkBAIC00MCwx
MiArNDAsMTMgQEAgc3RhdGljIHZvaWQgZGlkRmluaXNoTG9hZEZvckZyYW1lKFdLUGFnZVJlZiwg
V0tGcmFtZVJlZiwgV0tUeXBlUmVmLCBjb25zdCB2b2lkKikKIAogc3RhdGljIHZvaWQgc2V0UGFn
ZUxvYWRlckNsaWVudChXS1BhZ2VSZWYgcGFnZSkKIHsKLSAgICBXS1BhZ2VMb2FkZXJDbGllbnQg
bG9hZGVyQ2xpZW50OworICAgIFdLUGFnZUxvYWRlckNsaWVudFYwIGxvYWRlckNsaWVudDsKICAg
ICBtZW1zZXQoJmxvYWRlckNsaWVudCwgMCwgc2l6ZW9mKGxvYWRlckNsaWVudCkpOwotICAgIGxv
YWRlckNsaWVudC52ZXJzaW9uID0gMDsKKworICAgIGxvYWRlckNsaWVudC5iYXNlLnZlcnNpb24g
PSAwOwogICAgIGxvYWRlckNsaWVudC5kaWRGaW5pc2hMb2FkRm9yRnJhbWUgPSBkaWRGaW5pc2hM
b2FkRm9yRnJhbWU7CiAKLSAgICBXS1BhZ2VTZXRQYWdlTG9hZGVyQ2xpZW50KHBhZ2UsICZsb2Fk
ZXJDbGllbnQpOworICAgIFdLUGFnZVNldFBhZ2VMb2FkZXJDbGllbnQocGFnZSwgJmxvYWRlckNs
aWVudC5iYXNlKTsKIH0KIAogc3RhdGljIFdLUmV0YWluUHRyPFdLRGF0YVJlZj4gY3JlYXRlU2Vz
c2lvblN0YXRlQ29udGFpbmluZ0Zvcm1EYXRhKFdLQ29udGV4dFJlZiBjb250ZXh0KQpkaWZmIC0t
Z2l0IGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQyL1Njcm9sbFBpbm5pbmdCZWhh
dmlvcnMuY3BwIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQyL1Njcm9sbFBpbm5p
bmdCZWhhdmlvcnMuY3BwCmluZGV4IDVhZDE0ODNhNTI4YzY4MWViMTczZWNjZjVkZmJmZDkwZTIz
OTFiNGEuLjViNjI4YTkzMjAxZjI3OGVhMjgwZDY1NWU2ZTg2MTQ5YmU2MTI5OWEgMTAwNjQ0Ci0t
LSBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Mi9TY3JvbGxQaW5uaW5nQmVoYXZp
b3JzLmNwcAorKysgYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdDIvU2Nyb2xsUGlu
bmluZ0JlaGF2aW9ycy5jcHAKQEAgLTc5LDEzICs3OSwxNCBAQCBURVNUKFdlYktpdDIsIFNjcm9s
bFBpbm5pbmdCZWhhdmlvcnMpCiAKICAgICBQbGF0Zm9ybVdlYlZpZXcgd2ViVmlldyhjb250ZXh0
LmdldCgpLCBwYWdlR3JvdXAuZ2V0KCkpOwogCi0gICAgV0tQYWdlTG9hZGVyQ2xpZW50IGxvYWRl
ckNsaWVudDsKKyAgICBXS1BhZ2VMb2FkZXJDbGllbnRWMyBsb2FkZXJDbGllbnQ7CiAgICAgbWVt
c2V0KCZsb2FkZXJDbGllbnQsIDAsIHNpemVvZihsb2FkZXJDbGllbnQpKTsKLSAgICBsb2FkZXJD
bGllbnQudmVyc2lvbiA9IGtXS1BhZ2VMb2FkZXJDbGllbnRDdXJyZW50VmVyc2lvbjsKKworICAg
IGxvYWRlckNsaWVudC5iYXNlLnZlcnNpb24gPSAzOworICAgIGxvYWRlckNsaWVudC5iYXNlLmNs
aWVudEluZm8gPSAmd2ViVmlldzsKICAgICBsb2FkZXJDbGllbnQuZGlkRmluaXNoRG9jdW1lbnRM
b2FkRm9yRnJhbWUgPSBkaWRGaW5pc2hEb2N1bWVudExvYWRGb3JGcmFtZTsKLSAgICBsb2FkZXJD
bGllbnQuY2xpZW50SW5mbyA9ICZ3ZWJWaWV3OwogCi0gICAgV0tQYWdlU2V0UGFnZUxvYWRlckNs
aWVudCh3ZWJWaWV3LnBhZ2UoKSwgJmxvYWRlckNsaWVudCk7CisgICAgV0tQYWdlU2V0UGFnZUxv
YWRlckNsaWVudCh3ZWJWaWV3LnBhZ2UoKSwgJmxvYWRlckNsaWVudC5iYXNlKTsKIAogICAgIFdL
UGFnZUxvYWRVUkwod2ViVmlldy5wYWdlKCksIGFkb3B0V0soVXRpbDo6Y3JlYXRlVVJMRm9yUmVz
b3VyY2UoInNpbXBsZS10YWxsIiwgImh0bWwiKSkuZ2V0KCkpOwogCmRpZmYgLS1naXQgYS9Ub29s
cy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdDIvU2hvdWxkR29Ub0JhY2tGb3J3YXJkTGlzdEl0
ZW0uY3BwIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQyL1Nob3VsZEdvVG9CYWNr
Rm9yd2FyZExpc3RJdGVtLmNwcAppbmRleCBjNmYzYjFiYWNkMzRmODk1MjU0YjJiN2UzOTUyMTZm
YjlmZDFmODRiLi41NzU0MTU1ZWQ3YmEzNTJhYTMwM2Y1NmJhNjM2ZDA1OTZiM2Y1M2NjIDEwMDY0
NAotLS0gYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdDIvU2hvdWxkR29Ub0JhY2tG
b3J3YXJkTGlzdEl0ZW0uY3BwCisrKyBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0
Mi9TaG91bGRHb1RvQmFja0ZvcndhcmRMaXN0SXRlbS5jcHAKQEAgLTU2LDE0ICs1NiwxNCBAQCBz
dGF0aWMgdm9pZCB3aWxsR29Ub0JhY2tGb3J3YXJkTGlzdEl0ZW0oV0tQYWdlUmVmLCBXS0JhY2tG
b3J3YXJkTGlzdEl0ZW1SZWYsIFdLVAogCiBzdGF0aWMgdm9pZCBzZXRQYWdlTG9hZGVyQ2xpZW50
KFdLUGFnZVJlZiBwYWdlKQogewotICAgIFdLUGFnZUxvYWRlckNsaWVudCBsb2FkZXJDbGllbnQ7
CisgICAgV0tQYWdlTG9hZGVyQ2xpZW50VjEgbG9hZGVyQ2xpZW50OwogICAgIG1lbXNldCgmbG9h
ZGVyQ2xpZW50LCAwLCBzaXplb2YobG9hZGVyQ2xpZW50KSk7Ci0gICAgbG9hZGVyQ2xpZW50LnZl
cnNpb24gPSAxOwotICAgIGxvYWRlckNsaWVudC5jbGllbnRJbmZvID0gMDsKKworICAgIGxvYWRl
ckNsaWVudC5iYXNlLnZlcnNpb24gPSAxOwogICAgIGxvYWRlckNsaWVudC5kaWRGaW5pc2hMb2Fk
Rm9yRnJhbWUgPSBkaWRGaW5pc2hMb2FkRm9yRnJhbWU7CiAgICAgbG9hZGVyQ2xpZW50LndpbGxH
b1RvQmFja0ZvcndhcmRMaXN0SXRlbSA9IHdpbGxHb1RvQmFja0ZvcndhcmRMaXN0SXRlbTsKIAot
ICAgIFdLUGFnZVNldFBhZ2VMb2FkZXJDbGllbnQocGFnZSwgJmxvYWRlckNsaWVudCk7CisgICAg
V0tQYWdlU2V0UGFnZUxvYWRlckNsaWVudChwYWdlLCAmbG9hZGVyQ2xpZW50LmJhc2UpOwogfQog
CiBURVNUKFdlYktpdDIsIFNob3VsZEdvVG9CYWNrRm9yd2FyZExpc3RJdGVtKQpkaWZmIC0tZ2l0
IGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQyL1Nob3VsZEdvVG9CYWNrRm9yd2Fy
ZExpc3RJdGVtX0J1bmRsZS5jcHAgYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdDIv
U2hvdWxkR29Ub0JhY2tGb3J3YXJkTGlzdEl0ZW1fQnVuZGxlLmNwcAppbmRleCAwZjE1YzQ3N2M2
NjM2YmIxYjBmZmJlOGE2ZmIzZDExYTI3OTZlN2M3Li5kZDgxYmYzYmZmYWQxYTYyNTU2ZThhYWUz
NmUxZGU5Zjc3MzMzMTJmIDEwMDY0NAotLS0gYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dl
YktpdDIvU2hvdWxkR29Ub0JhY2tGb3J3YXJkTGlzdEl0ZW1fQnVuZGxlLmNwcAorKysgYi9Ub29s
cy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdDIvU2hvdWxkR29Ub0JhY2tGb3J3YXJkTGlzdEl0
ZW1fQnVuZGxlLmNwcApAQCAtNTcsMTQgKzU3LDE0IEBAIFNob3VsZEdvVG9CYWNrRm9yd2FyZExp
c3RJdGVtVGVzdDo6U2hvdWxkR29Ub0JhY2tGb3J3YXJkTGlzdEl0ZW1UZXN0KGNvbnN0IHN0ZDo6
CiAKIHZvaWQgU2hvdWxkR29Ub0JhY2tGb3J3YXJkTGlzdEl0ZW1UZXN0OjpkaWRDcmVhdGVQYWdl
KFdLQnVuZGxlUmVmIGJ1bmRsZSwgV0tCdW5kbGVQYWdlUmVmIHBhZ2UpCiB7ICAgIAotICAgIFdL
QnVuZGxlUGFnZUxvYWRlckNsaWVudCBwYWdlTG9hZGVyQ2xpZW50OworICAgIFdLQnVuZGxlUGFn
ZUxvYWRlckNsaWVudFYxIHBhZ2VMb2FkZXJDbGllbnQ7CiAgICAgbWVtc2V0KCZwYWdlTG9hZGVy
Q2xpZW50LCAwLCBzaXplb2YocGFnZUxvYWRlckNsaWVudCkpOwogICAgIAotICAgIHBhZ2VMb2Fk
ZXJDbGllbnQudmVyc2lvbiA9IDE7Ci0gICAgcGFnZUxvYWRlckNsaWVudC5jbGllbnRJbmZvID0g
dGhpczsKKyAgICBwYWdlTG9hZGVyQ2xpZW50LmJhc2UudmVyc2lvbiA9IDE7CisgICAgcGFnZUxv
YWRlckNsaWVudC5iYXNlLmNsaWVudEluZm8gPSB0aGlzOwogICAgIHBhZ2VMb2FkZXJDbGllbnQu
c2hvdWxkR29Ub0JhY2tGb3J3YXJkTGlzdEl0ZW0gPSBzaG91bGRHb1RvQmFja0ZvcndhcmRMaXN0
SXRlbUNhbGxiYWNrOwogICAgIAotICAgIFdLQnVuZGxlUGFnZVNldFBhZ2VMb2FkZXJDbGllbnQo
cGFnZSwgJnBhZ2VMb2FkZXJDbGllbnQpOworICAgIFdLQnVuZGxlUGFnZVNldFBhZ2VMb2FkZXJD
bGllbnQocGFnZSwgJnBhZ2VMb2FkZXJDbGllbnQuYmFzZSk7CiB9CiAKIH0gLy8gbmFtZXNwYWNl
IFRlc3RXZWJLaXRBUEkKZGlmZiAtLWdpdCBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2Vi
S2l0Mi9TcGFjZWJhclNjcm9sbGluZy5jcHAgYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dl
YktpdDIvU3BhY2ViYXJTY3JvbGxpbmcuY3BwCmluZGV4IGY1NTA2M2M0ZDVlZDBjNjZmZTQyZmU5
NzhkMTBmOGFjOWQxMWJhZjIuLjU3N2UwZDc3YzQ3MmY3YzMxYTBjNDlkZDUyOTQ2NjQyNGY4OTgz
ZjUgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Mi9TcGFjZWJh
clNjcm9sbGluZy5jcHAKKysrIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQyL1Nw
YWNlYmFyU2Nyb2xsaW5nLmNwcApAQCAtNTgsMTggKzU4LDIxIEBAIFRFU1QoV2ViS2l0MiwgU3Bh
Y2ViYXJTY3JvbGxpbmcpCiAKICAgICBQbGF0Zm9ybVdlYlZpZXcgd2ViVmlldyhjb250ZXh0Lmdl
dCgpLCBwYWdlR3JvdXAuZ2V0KCkpOwogCi0gICAgV0tQYWdlTG9hZGVyQ2xpZW50IGxvYWRlckNs
aWVudDsKKyAgICBXS1BhZ2VMb2FkZXJDbGllbnRWMCBsb2FkZXJDbGllbnQ7CiAgICAgbWVtc2V0
KCZsb2FkZXJDbGllbnQsIDAsIHNpemVvZihsb2FkZXJDbGllbnQpKTsKIAotICAgIGxvYWRlckNs
aWVudC52ZXJzaW9uID0gMDsKKyAgICBsb2FkZXJDbGllbnQuYmFzZS52ZXJzaW9uID0gMDsKICAg
ICBsb2FkZXJDbGllbnQuZGlkRmluaXNoTG9hZEZvckZyYW1lID0gZGlkRmluaXNoTG9hZEZvckZy
YW1lOwotICAgIFdLUGFnZVNldFBhZ2VMb2FkZXJDbGllbnQod2ViVmlldy5wYWdlKCksICZsb2Fk
ZXJDbGllbnQpOwogCi0gICAgV0tQYWdlVUlDbGllbnQgdWlDbGllbnQ7CisgICAgV0tQYWdlU2V0
UGFnZUxvYWRlckNsaWVudCh3ZWJWaWV3LnBhZ2UoKSwgJmxvYWRlckNsaWVudC5iYXNlKTsKKwor
ICAgIFdLUGFnZVVJQ2xpZW50VjAgdWlDbGllbnQ7CiAgICAgbWVtc2V0KCZ1aUNsaWVudCwgMCwg
c2l6ZW9mKHVpQ2xpZW50KSk7CiAKKyAgICB1aUNsaWVudC5iYXNlLnZlcnNpb24gPSAwOwogICAg
IHVpQ2xpZW50LmRpZE5vdEhhbmRsZUtleUV2ZW50ID0gZGlkTm90SGFuZGxlS2V5RXZlbnRDYWxs
YmFjazsKLSAgICBXS1BhZ2VTZXRQYWdlVUlDbGllbnQod2ViVmlldy5wYWdlKCksICZ1aUNsaWVu
dCk7CisKKyAgICBXS1BhZ2VTZXRQYWdlVUlDbGllbnQod2ViVmlldy5wYWdlKCksICZ1aUNsaWVu
dC5iYXNlKTsKIAogICAgIFdLUmV0YWluUHRyPFdLVVJMUmVmPiB1cmwoQWRvcHRXSywgVXRpbDo6
Y3JlYXRlVVJMRm9yUmVzb3VyY2UoInNwYWNlYmFyLXNjcm9sbGluZyIsICJodG1sIikpOwogICAg
IFdLUGFnZUxvYWRVUkwod2ViVmlldy5wYWdlKCksIHVybC5nZXQoKSk7CmRpZmYgLS1naXQgYS9U
b29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdDIvVGVybWluYXRlVHdpY2UuY3BwIGIvVG9v
bHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQyL1Rlcm1pbmF0ZVR3aWNlLmNwcAppbmRleCA3
ODBjZTUyMmZhY2EwNDZmODY5ZDdhZDk4M2YxZTEwN2U1MTNmZDZiLi44NzkzMTI1MjAyZjAxMjgx
ZmFhZmM0MjQyODAwZDg0ODQ5NmU1MTg4IDEwMDY0NAotLS0gYS9Ub29scy9UZXN0V2ViS2l0QVBJ
L1Rlc3RzL1dlYktpdDIvVGVybWluYXRlVHdpY2UuY3BwCisrKyBiL1Rvb2xzL1Rlc3RXZWJLaXRB
UEkvVGVzdHMvV2ViS2l0Mi9UZXJtaW5hdGVUd2ljZS5jcHAKQEAgLTQxLDEyICs0MSwxMyBAQCBU
RVNUKFdlYktpdDIsIFRlcm1pbmF0ZVR3aWNlKQogICAgIFdLUmV0YWluUHRyPFdLQ29udGV4dFJl
Zj4gY29udGV4dChBZG9wdFdLLCBXS0NvbnRleHRDcmVhdGUoKSk7CiAgICAgUGxhdGZvcm1XZWJW
aWV3IHdlYlZpZXcoY29udGV4dC5nZXQoKSk7CiAKLSAgICBXS1BhZ2VMb2FkZXJDbGllbnQgbG9h
ZGVyQ2xpZW50OworICAgIFdLUGFnZUxvYWRlckNsaWVudFYwIGxvYWRlckNsaWVudDsKICAgICBt
ZW1zZXQoJmxvYWRlckNsaWVudCwgMCwgc2l6ZW9mKGxvYWRlckNsaWVudCkpOwogCi0gICAgbG9h
ZGVyQ2xpZW50LnZlcnNpb24gPSAwOworICAgIGxvYWRlckNsaWVudC5iYXNlLnZlcnNpb24gPSAw
OwogICAgIGxvYWRlckNsaWVudC5kaWRGaW5pc2hMb2FkRm9yRnJhbWUgPSBkaWRGaW5pc2hMb2Fk
Rm9yRnJhbWU7Ci0gICAgV0tQYWdlU2V0UGFnZUxvYWRlckNsaWVudCh3ZWJWaWV3LnBhZ2UoKSwg
JmxvYWRlckNsaWVudCk7CisKKyAgICBXS1BhZ2VTZXRQYWdlTG9hZGVyQ2xpZW50KHdlYlZpZXcu
cGFnZSgpLCAmbG9hZGVyQ2xpZW50LmJhc2UpOwogCiAgICAgV0tSZXRhaW5QdHI8V0tVUkxSZWY+
IHVybChBZG9wdFdLLCBVdGlsOjpjcmVhdGVVUkxGb3JSZXNvdXJjZSgic2ltcGxlIiwgImh0bWwi
KSk7CiAgICAgV0tQYWdlTG9hZFVSTCh3ZWJWaWV3LnBhZ2UoKSwgdXJsLmdldCgpKTsKZGlmZiAt
LWdpdCBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Mi9Vc2VyTWVzc2FnZS5jcHAg
Yi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdDIvVXNlck1lc3NhZ2UuY3BwCmluZGV4
IGJjMDJkYzg3ODQ1ZjFkOWIyMDcyZGVlYzE1NTcwYTUxYTQ4OWZkYzcuLjI1ODVhMDZmZmNkMWVj
MmQ5ZmNjNTAxOWM2N2VkYmRkNTBkYjhiODEgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1Rlc3RXZWJLaXRB
UEkvVGVzdHMvV2ViS2l0Mi9Vc2VyTWVzc2FnZS5jcHAKKysrIGIvVG9vbHMvVGVzdFdlYktpdEFQ
SS9UZXN0cy9XZWJLaXQyL1VzZXJNZXNzYWdlLmNwcApAQCAtNjUsMjQgKzY1LDI2IEBAIHB1Ymxp
YzoKIAogICAgIHN0YXRpYyB2b2lkIHNldEluamVjdGVkQnVuZGxlQ2xpZW50KFdLQ29udGV4dFJl
ZiBjb250ZXh0LCBjb25zdCB2b2lkKiBjbGllbnRJbmZvKQogICAgIHsKLSAgICAgICAgV0tDb250
ZXh0SW5qZWN0ZWRCdW5kbGVDbGllbnQgaW5qZWN0ZWRCdW5kbGVDbGllbnQ7CisgICAgICAgIFdL
Q29udGV4dEluamVjdGVkQnVuZGxlQ2xpZW50VjEgaW5qZWN0ZWRCdW5kbGVDbGllbnQ7CiAgICAg
ICAgIG1lbXNldCgmaW5qZWN0ZWRCdW5kbGVDbGllbnQsIDAsIHNpemVvZihpbmplY3RlZEJ1bmRs
ZUNsaWVudCkpOwotICAgICAgICBpbmplY3RlZEJ1bmRsZUNsaWVudC52ZXJzaW9uID0ga1dLQ29u
dGV4dEluamVjdGVkQnVuZGxlQ2xpZW50Q3VycmVudFZlcnNpb247Ci0gICAgICAgIGluamVjdGVk
QnVuZGxlQ2xpZW50LmNsaWVudEluZm8gPSBjbGllbnRJbmZvOworCisgICAgICAgIGluamVjdGVk
QnVuZGxlQ2xpZW50LmJhc2UudmVyc2lvbiA9IDE7CisgICAgICAgIGluamVjdGVkQnVuZGxlQ2xp
ZW50LmJhc2UuY2xpZW50SW5mbyA9IGNsaWVudEluZm87CiAgICAgICAgIGluamVjdGVkQnVuZGxl
Q2xpZW50LmRpZFJlY2VpdmVNZXNzYWdlRnJvbUluamVjdGVkQnVuZGxlID0gZGlkUmVjZWl2ZU1l
c3NhZ2VGcm9tSW5qZWN0ZWRCdW5kbGU7CiAKLSAgICAgICAgV0tDb250ZXh0U2V0SW5qZWN0ZWRC
dW5kbGVDbGllbnQoY29udGV4dCwgJmluamVjdGVkQnVuZGxlQ2xpZW50KTsKKyAgICAgICAgV0tD
b250ZXh0U2V0SW5qZWN0ZWRCdW5kbGVDbGllbnQoY29udGV4dCwgJmluamVjdGVkQnVuZGxlQ2xp
ZW50LmJhc2UpOwogICAgIH0KIAogICAgIHN0YXRpYyB2b2lkIHNldFBhZ2VMb2FkZXJDbGllbnQo
V0tQYWdlUmVmIHBhZ2UsIGNvbnN0IHZvaWQqIGNsaWVudEluZm8pCiAgICAgewotICAgICAgICBX
S1BhZ2VMb2FkZXJDbGllbnQgbG9hZGVyQ2xpZW50OworICAgICAgICBXS1BhZ2VMb2FkZXJDbGll
bnRWMyBsb2FkZXJDbGllbnQ7CiAgICAgICAgIG1lbXNldCgmbG9hZGVyQ2xpZW50LCAwLCBzaXpl
b2YobG9hZGVyQ2xpZW50KSk7Ci0gICAgICAgIGxvYWRlckNsaWVudC52ZXJzaW9uID0ga1dLUGFn
ZUxvYWRlckNsaWVudEN1cnJlbnRWZXJzaW9uOwotICAgICAgICBsb2FkZXJDbGllbnQuY2xpZW50
SW5mbyA9IGNsaWVudEluZm87CisKKyAgICAgICAgbG9hZGVyQ2xpZW50LmJhc2UudmVyc2lvbiA9
IGtXS1BhZ2VMb2FkZXJDbGllbnRDdXJyZW50VmVyc2lvbjsKKyAgICAgICAgbG9hZGVyQ2xpZW50
LmJhc2UuY2xpZW50SW5mbyA9IGNsaWVudEluZm87CiAgICAgICAgIGxvYWRlckNsaWVudC5kaWRG
aW5pc2hMb2FkRm9yRnJhbWUgPSBkaWRGaW5pc2hMb2FkRm9yRnJhbWU7CiAKLSAgICAgICAgV0tQ
YWdlU2V0UGFnZUxvYWRlckNsaWVudChwYWdlLCAmbG9hZGVyQ2xpZW50KTsKKyAgICAgICAgV0tQ
YWdlU2V0UGFnZUxvYWRlckNsaWVudChwYWdlLCAmbG9hZGVyQ2xpZW50LmJhc2UpOwogICAgIH0K
IAogICAgIHZpcnR1YWwgdm9pZCBTZXRVcCgpCmRpZmYgLS1naXQgYS9Ub29scy9UZXN0V2ViS2l0
QVBJL1Rlc3RzL1dlYktpdDIvV0tDb25uZWN0aW9uLmNwcCBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkv
VGVzdHMvV2ViS2l0Mi9XS0Nvbm5lY3Rpb24uY3BwCmluZGV4IGQyNzgyYTQ0NmVkYmVhMWNjYTFk
MDU2OTBhNjFlZTlhNDlhM2VjNTEuLjkxYjBjNGU4YzkzNWU0MDBjMzBiMzA2ZDliY2YxMWUzZGRk
MWI2YWUgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Mi9XS0Nv
bm5lY3Rpb24uY3BwCisrKyBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Mi9XS0Nv
bm5lY3Rpb24uY3BwCkBAIC03MSwxMiArNzEsMTMgQEAgVEVTVChXZWJLaXQyLCBXS0Nvbm5lY3Rp
b25UZXN0KQogCiAgICAgLy8gU2V0IHVwIHRoZSBjb250ZXh0J3MgY29ubmVjdGlvbiBjbGllbnQg
c28gdGhhdCB3ZSBjYW4gYWNjZXNzIHRoZSBjb25uZWN0aW9uIHdoZW4KICAgICAvLyBpdCBpcyBj
cmVhdGVkLgotICAgIFdLQ29udGV4dENvbm5lY3Rpb25DbGllbnQgY29udGV4dENvbm5lY3Rpb25D
bGllbnQ7CisgICAgV0tDb250ZXh0Q29ubmVjdGlvbkNsaWVudFYwIGNvbnRleHRDb25uZWN0aW9u
Q2xpZW50OwogICAgIG1lbXNldCgmY29udGV4dENvbm5lY3Rpb25DbGllbnQsIDAsIHNpemVvZihj
b250ZXh0Q29ubmVjdGlvbkNsaWVudCkpOwotICAgIGNvbnRleHRDb25uZWN0aW9uQ2xpZW50LnZl
cnNpb24gPSBrV0tDb250ZXh0Q29ubmVjdGlvbkNsaWVudEN1cnJlbnRWZXJzaW9uOwotICAgIGNv
bnRleHRDb25uZWN0aW9uQ2xpZW50LmNsaWVudEluZm8gPSAwOworCisgICAgY29udGV4dENvbm5l
Y3Rpb25DbGllbnQuYmFzZS52ZXJzaW9uID0ga1dLQ29udGV4dENvbm5lY3Rpb25DbGllbnRDdXJy
ZW50VmVyc2lvbjsKICAgICBjb250ZXh0Q29ubmVjdGlvbkNsaWVudC5kaWRDcmVhdGVDb25uZWN0
aW9uID0gZGlkQ3JlYXRlQ29ubmVjdGlvbjsKLSAgICBXS0NvbnRleHRTZXRDb25uZWN0aW9uQ2xp
ZW50KGNvbnRleHQuZ2V0KCksICZjb250ZXh0Q29ubmVjdGlvbkNsaWVudCk7CisKKyAgICBXS0Nv
bnRleHRTZXRDb25uZWN0aW9uQ2xpZW50KGNvbnRleHQuZ2V0KCksICZjb250ZXh0Q29ubmVjdGlv
bkNsaWVudC5iYXNlKTsKICAKICAgICAvLyBMb2FkIGEgc2ltcGxlIHBhZ2UgdG8gc3RhcnQgdGhl
IFdlYlByb2Nlc3MgYW5kIGVzdGFibGlzaCBhIGNvbm5lY3Rpb24uCiAgICAgUGxhdGZvcm1XZWJW
aWV3IHdlYlZpZXcoY29udGV4dC5nZXQoKSk7CkBAIC04OSwxMyArOTAsMTQgQEAgVEVTVChXZWJL
aXQyLCBXS0Nvbm5lY3Rpb25UZXN0KQogCiAgICAgLy8gU2V0dXAgYSBjbGllbnQgb24gdGhlIGNv
bm5lY3Rpb24gc28gd2UgY2FuIGxpc3RlbiBmb3IgbWVzc2FnZXMgYW5kCiAgICAgLy8gdGVhciBk
b3duIG5vdGlmaWNhdGlvbnMuCi0gICAgV0tDb25uZWN0aW9uQ2xpZW50IGNvbm5lY3Rpb25DbGll
bnQ7CisgICAgV0tDb25uZWN0aW9uQ2xpZW50VjAgY29ubmVjdGlvbkNsaWVudDsKICAgICBtZW1z
ZXQoJmNvbm5lY3Rpb25DbGllbnQsIDAsIHNpemVvZihjb25uZWN0aW9uQ2xpZW50KSk7Ci0gICAg
Y29ubmVjdGlvbkNsaWVudC52ZXJzaW9uID0gV0tDb25uZWN0aW9uQ2xpZW50Q3VycmVudFZlcnNp
b247Ci0gICAgY29ubmVjdGlvbkNsaWVudC5jbGllbnRJbmZvID0gMDsKKworICAgIGNvbm5lY3Rp
b25DbGllbnQuYmFzZS52ZXJzaW9uID0gMDsKICAgICBjb25uZWN0aW9uQ2xpZW50LmRpZFJlY2Vp
dmVNZXNzYWdlID0gY29ubmVjdGlvbkRpZFJlY2VpdmVNZXNzYWdlOwogICAgIGNvbm5lY3Rpb25D
bGllbnQuZGlkQ2xvc2UgPSBjb25uZWN0aW9uRGlkQ2xvc2U7Ci0gICAgV0tDb25uZWN0aW9uU2V0
Q29ubmVjdGlvbkNsaWVudChjb25uZWN0aW9uVG9CdW5kbGUsICZjb25uZWN0aW9uQ2xpZW50KTsK
KworICAgIFdLQ29ubmVjdGlvblNldENvbm5lY3Rpb25DbGllbnQoY29ubmVjdGlvblRvQnVuZGxl
LCAmY29ubmVjdGlvbkNsaWVudC5iYXNlKTsKICAgICAKICAgICAvLyBQb3N0IGEgc2ltcGxlIG1l
c3NhZ2UgdG8gdGhlIGJ1bmRsZSB2aWEgdGhlIGNvbm5lY3Rpb24uCiAgICAgV0tDb25uZWN0aW9u
UG9zdE1lc3NhZ2UoY29ubmVjdGlvblRvQnVuZGxlLCBVdGlsOjp0b1dLKCJQaW5nTWVzc2FnZU5h
bWUiKS5nZXQoKSwgVXRpbDo6dG9XSygiUGluZ01lc3NhZ2VCb2R5IikuZ2V0KCkpOwpkaWZmIC0t
Z2l0IGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQyL1dLQ29ubmVjdGlvbl9CdW5k
bGUuY3BwIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQyL1dLQ29ubmVjdGlvbl9C
dW5kbGUuY3BwCmluZGV4IDlhYjJjOTc2ODllZGYzOTQ3YzIyZTk3OWMyMjFlYTJhY2M0MThkMDIu
LjJjZmNhNjZlOWFmMmZkYjc4MWRiODViNmVlNTMyYWM0OWJiMzQwNzQgMTAwNjQ0Ci0tLSBhL1Rv
b2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Mi9XS0Nvbm5lY3Rpb25fQnVuZGxlLmNwcAor
KysgYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdDIvV0tDb25uZWN0aW9uX0J1bmRs
ZS5jcHAKQEAgLTQ2LDEyICs0NiwxMyBAQCBwdWJsaWM6CiAKICAgICB2aXJ0dWFsIHZvaWQgaW5p
dGlhbGl6ZShXS0J1bmRsZVJlZiBidW5kbGUsIFdLVHlwZVJlZikKICAgICB7Ci0gICAgICAgIFdL
Q29ubmVjdGlvbkNsaWVudCBjb25uZWN0aW9uQ2xpZW50OworICAgICAgICBXS0Nvbm5lY3Rpb25D
bGllbnRWMCBjb25uZWN0aW9uQ2xpZW50OwogICAgICAgICBtZW1zZXQoJmNvbm5lY3Rpb25DbGll
bnQsIDAsIHNpemVvZihjb25uZWN0aW9uQ2xpZW50KSk7Ci0gICAgICAgIGNvbm5lY3Rpb25DbGll
bnQudmVyc2lvbiA9IFdLQ29ubmVjdGlvbkNsaWVudEN1cnJlbnRWZXJzaW9uOwotICAgICAgICBj
b25uZWN0aW9uQ2xpZW50LmNsaWVudEluZm8gPSAwOworCisgICAgICAgIGNvbm5lY3Rpb25DbGll
bnQuYmFzZS52ZXJzaW9uID0gV0tDb25uZWN0aW9uQ2xpZW50Q3VycmVudFZlcnNpb247CiAgICAg
ICAgIGNvbm5lY3Rpb25DbGllbnQuZGlkUmVjZWl2ZU1lc3NhZ2UgPSBjb25uZWN0aW9uRGlkUmVj
ZWl2ZU1lc3NhZ2U7Ci0gICAgICAgIFdLQ29ubmVjdGlvblNldENvbm5lY3Rpb25DbGllbnQoV0tC
dW5kbGVHZXRBcHBsaWNhdGlvbkNvbm5lY3Rpb24oYnVuZGxlKSwgJmNvbm5lY3Rpb25DbGllbnQp
OworCisgICAgICAgIFdLQ29ubmVjdGlvblNldENvbm5lY3Rpb25DbGllbnQoV0tCdW5kbGVHZXRB
cHBsaWNhdGlvbkNvbm5lY3Rpb24oYnVuZGxlKSwgJmNvbm5lY3Rpb25DbGllbnQuYmFzZSk7CiAg
ICAgfQogfTsKIApkaWZmIC0tZ2l0IGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQy
L1dLUGFnZUdldFNjYWxlRmFjdG9yTm90WmVyby5jcHAgYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rl
c3RzL1dlYktpdDIvV0tQYWdlR2V0U2NhbGVGYWN0b3JOb3RaZXJvLmNwcAppbmRleCA4NTQ5MGRl
Mzk1Yjk4OTE0ZDI4YTEwZDZkZjI2Zjc0YTcwMjQxNDQ1Li44ZWNmMTY1OWYyYWFlNzdkY2Y1NWZm
NDYyNzFmNGQxMjQ0OTEyZDJlIDEwMDY0NAotLS0gYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3Rz
L1dlYktpdDIvV0tQYWdlR2V0U2NhbGVGYWN0b3JOb3RaZXJvLmNwcAorKysgYi9Ub29scy9UZXN0
V2ViS2l0QVBJL1Rlc3RzL1dlYktpdDIvV0tQYWdlR2V0U2NhbGVGYWN0b3JOb3RaZXJvLmNwcApA
QCAtMzksMTIgKzM5LDEzIEBAIHN0YXRpYyB2b2lkIGRpZEZpbmlzaExvYWRGb3JGcmFtZShXS1Bh
Z2VSZWYsIFdLRnJhbWVSZWYsIFdLVHlwZVJlZiwgY29uc3Qgdm9pZCopCiAKIHN0YXRpYyB2b2lk
IHNldFBhZ2VMb2FkZXJDbGllbnQoV0tQYWdlUmVmIHBhZ2UpCiB7Ci0gICAgV0tQYWdlTG9hZGVy
Q2xpZW50IGxvYWRlckNsaWVudDsKKyAgICBXS1BhZ2VMb2FkZXJDbGllbnRWMCBsb2FkZXJDbGll
bnQ7CiAgICAgbWVtc2V0KCZsb2FkZXJDbGllbnQsIDAsIHNpemVvZihsb2FkZXJDbGllbnQpKTsK
LSAgICBsb2FkZXJDbGllbnQudmVyc2lvbiA9IDA7CisKKyAgICBsb2FkZXJDbGllbnQuYmFzZS52
ZXJzaW9uID0gMDsKICAgICBsb2FkZXJDbGllbnQuZGlkRmluaXNoTG9hZEZvckZyYW1lID0gZGlk
RmluaXNoTG9hZEZvckZyYW1lOwogCi0gICAgV0tQYWdlU2V0UGFnZUxvYWRlckNsaWVudChwYWdl
LCAmbG9hZGVyQ2xpZW50KTsKKyAgICBXS1BhZ2VTZXRQYWdlTG9hZGVyQ2xpZW50KHBhZ2UsICZs
b2FkZXJDbGllbnQuYmFzZSk7CiB9CiAKIHN0YXRpYyBXS1JldGFpblB0cjxXS0RhdGFSZWY+IGNy
ZWF0ZVNlc3Npb25TdGF0ZShXS0NvbnRleHRSZWYgY29udGV4dCkKZGlmZiAtLWdpdCBhL1Rvb2xz
L1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Mi9XZWJBcmNoaXZlLmNwcCBiL1Rvb2xzL1Rlc3RX
ZWJLaXRBUEkvVGVzdHMvV2ViS2l0Mi9XZWJBcmNoaXZlLmNwcAppbmRleCAwZTZiOTg1ZmI2ZGE1
ODRlYTZkYjUzOTMwYTk3OGQ5ZWViOWJiOWU5Li43NzA3YjI0ZWY1ZTRkMTI4NjQ4M2I4NTdiYTdm
NDk0MzQzOTJmNzMzIDEwMDY0NAotLS0gYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktp
dDIvV2ViQXJjaGl2ZS5jcHAKKysrIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQy
L1dlYkFyY2hpdmUuY3BwCkBAIC04OCwxMSArODgsMTMgQEAgc3RhdGljIHZvaWQgZGlkUmVjZWl2
ZU1lc3NhZ2VGcm9tSW5qZWN0ZWRCdW5kbGUoV0tDb250ZXh0UmVmLCBXS1N0cmluZ1JlZiBtZXNz
YWcKIAogc3RhdGljIHZvaWQgc2V0SW5qZWN0ZWRCdW5kbGVDbGllbnQoV0tDb250ZXh0UmVmIGNv
bnRleHQpCiB7Ci0gICAgV0tDb250ZXh0SW5qZWN0ZWRCdW5kbGVDbGllbnQgaW5qZWN0ZWRCdW5k
bGVDbGllbnQ7CisgICAgV0tDb250ZXh0SW5qZWN0ZWRCdW5kbGVDbGllbnRWMCBpbmplY3RlZEJ1
bmRsZUNsaWVudDsKICAgICBtZW1zZXQoJmluamVjdGVkQnVuZGxlQ2xpZW50LCAwLCBzaXplb2Yo
aW5qZWN0ZWRCdW5kbGVDbGllbnQpKTsKKworICAgIGluamVjdGVkQnVuZGxlQ2xpZW50LmJhc2Uu
dmVyc2lvbiA9IDA7CiAgICAgaW5qZWN0ZWRCdW5kbGVDbGllbnQuZGlkUmVjZWl2ZU1lc3NhZ2VG
cm9tSW5qZWN0ZWRCdW5kbGUgPSBkaWRSZWNlaXZlTWVzc2FnZUZyb21JbmplY3RlZEJ1bmRsZTsK
IAotICAgIFdLQ29udGV4dFNldEluamVjdGVkQnVuZGxlQ2xpZW50KGNvbnRleHQsICZpbmplY3Rl
ZEJ1bmRsZUNsaWVudCk7CisgICAgV0tDb250ZXh0U2V0SW5qZWN0ZWRCdW5kbGVDbGllbnQoY29u
dGV4dCwgJmluamVjdGVkQnVuZGxlQ2xpZW50LmJhc2UpOwogfQogCiBzdGF0aWMgdm9pZCBkaWRG
aW5pc2hMb2FkRm9yRnJhbWUoV0tQYWdlUmVmIHBhZ2UsIFdLRnJhbWVSZWYsIFdLVHlwZVJlZiwg
Y29uc3Qgdm9pZCopCkBAIC0xMDcsMTIgKzEwOSwxMyBAQCBURVNUKFdlYktpdDIsIFdlYkFyY2hp
dmUpCiAKICAgICBQbGF0Zm9ybVdlYlZpZXcgd2ViVmlldyhjb250ZXh0LmdldCgpKTsKIAotICAg
IFdLUGFnZUxvYWRlckNsaWVudCBsb2FkZXJDbGllbnQ7CisgICAgV0tQYWdlTG9hZGVyQ2xpZW50
VjMgbG9hZGVyQ2xpZW50OwogICAgIG1lbXNldCgmbG9hZGVyQ2xpZW50LCAwLCBzaXplb2YobG9h
ZGVyQ2xpZW50KSk7CiAgICAgCi0gICAgbG9hZGVyQ2xpZW50LnZlcnNpb24gPSBrV0tQYWdlTG9h
ZGVyQ2xpZW50Q3VycmVudFZlcnNpb247CisgICAgbG9hZGVyQ2xpZW50LmJhc2UudmVyc2lvbiA9
IDM7CiAgICAgbG9hZGVyQ2xpZW50LmRpZEZpbmlzaExvYWRGb3JGcmFtZSA9IGRpZEZpbmlzaExv
YWRGb3JGcmFtZTsKLSAgICBXS1BhZ2VTZXRQYWdlTG9hZGVyQ2xpZW50KHdlYlZpZXcucGFnZSgp
LCAmbG9hZGVyQ2xpZW50KTsKKworICAgIFdLUGFnZVNldFBhZ2VMb2FkZXJDbGllbnQod2ViVmll
dy5wYWdlKCksICZsb2FkZXJDbGllbnQuYmFzZSk7CiAKICAgICBXS1BhZ2VMb2FkVVJMKHdlYlZp
ZXcucGFnZSgpLCBhZG9wdFdLKFV0aWw6OmNyZWF0ZVVSTEZvclJlc291cmNlKCJzaW1wbGUiLCAi
aHRtbCIpKS5nZXQoKSk7CiAKZGlmZiAtLWdpdCBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMv
V2ViS2l0Mi9XaWxsTG9hZC5jcHAgYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdDIv
V2lsbExvYWQuY3BwCmluZGV4IGJlZWI4MDA3ZmI4YzUxYzZlMGQyOWE3YTM0N2Y0NTBiMTM1YmY3
OTIuLjIyYWU0ODI3NWMzMTY0ZDJiN2U4MWNlNGEwOGExZTFjMGEyYmUyZTMgMTAwNjQ0Ci0tLSBh
L1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Mi9XaWxsTG9hZC5jcHAKKysrIGIvVG9v
bHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQyL1dpbGxMb2FkLmNwcApAQCAtNTYsMTMgKzU2
LDE0IEBAIHB1YmxpYzoKIAogICAgIHN0YXRpYyB2b2lkIHNldEluamVjdGVkQnVuZGxlQ2xpZW50
KFdLQ29udGV4dFJlZiBjb250ZXh0LCBjb25zdCB2b2lkKiBjbGllbnRJbmZvKQogICAgIHsKLSAg
ICAgICAgV0tDb250ZXh0SW5qZWN0ZWRCdW5kbGVDbGllbnQgaW5qZWN0ZWRCdW5kbGVDbGllbnQ7
CisgICAgICAgIFdLQ29udGV4dEluamVjdGVkQnVuZGxlQ2xpZW50VjEgaW5qZWN0ZWRCdW5kbGVD
bGllbnQ7CiAgICAgICAgIG1lbXNldCgmaW5qZWN0ZWRCdW5kbGVDbGllbnQsIDAsIHNpemVvZihp
bmplY3RlZEJ1bmRsZUNsaWVudCkpOwotICAgICAgICBpbmplY3RlZEJ1bmRsZUNsaWVudC52ZXJz
aW9uID0ga1dLQ29udGV4dEluamVjdGVkQnVuZGxlQ2xpZW50Q3VycmVudFZlcnNpb247Ci0gICAg
ICAgIGluamVjdGVkQnVuZGxlQ2xpZW50LmNsaWVudEluZm8gPSBjbGllbnRJbmZvOworCisgICAg
ICAgIGluamVjdGVkQnVuZGxlQ2xpZW50LmJhc2UudmVyc2lvbiA9IDE7CisgICAgICAgIGluamVj
dGVkQnVuZGxlQ2xpZW50LmJhc2UuY2xpZW50SW5mbyA9IGNsaWVudEluZm87CiAgICAgICAgIGlu
amVjdGVkQnVuZGxlQ2xpZW50LmRpZFJlY2VpdmVNZXNzYWdlRnJvbUluamVjdGVkQnVuZGxlID0g
ZGlkUmVjZWl2ZU1lc3NhZ2VGcm9tSW5qZWN0ZWRCdW5kbGU7CiAKLSAgICAgICAgV0tDb250ZXh0
U2V0SW5qZWN0ZWRCdW5kbGVDbGllbnQoY29udGV4dCwgJmluamVjdGVkQnVuZGxlQ2xpZW50KTsK
KyAgICAgICAgV0tDb250ZXh0U2V0SW5qZWN0ZWRCdW5kbGVDbGllbnQoY29udGV4dCwgJmluamVj
dGVkQnVuZGxlQ2xpZW50LmJhc2UpOwogICAgIH0KIAogICAgIHZpcnR1YWwgdm9pZCBTZXRVcCgp
CmRpZmYgLS1naXQgYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdDIvV2lsbExvYWRf
QnVuZGxlLmNwcCBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Mi9XaWxsTG9hZF9C
dW5kbGUuY3BwCmluZGV4IDAzOTM0OWJkNWRhOGYzNGVmYTZhN2IwOWNhMjhkN2QzY2I5YmM0Zjgu
LmI3MWI4YTAyNzk3ZjRiMjRkYjBhYTBhZDVmODk4Y2NhNWQ3NmIxMDQgMTAwNjQ0Ci0tLSBhL1Rv
b2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Mi9XaWxsTG9hZF9CdW5kbGUuY3BwCisrKyBi
L1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Mi9XaWxsTG9hZF9CdW5kbGUuY3BwCkBA
IC02NywxNSArNjcsMTUgQEAgcHJpdmF0ZToKIAogICAgIHZpcnR1YWwgdm9pZCBkaWRDcmVhdGVQ
YWdlKFdLQnVuZGxlUmVmLCBXS0J1bmRsZVBhZ2VSZWYgYnVuZGxlUGFnZSkgT1ZFUlJJREUKICAg
ICB7Ci0gICAgICAgIFdLQnVuZGxlUGFnZUxvYWRlckNsaWVudCBwYWdlTG9hZGVyQ2xpZW50Owor
ICAgICAgICBXS0J1bmRsZVBhZ2VMb2FkZXJDbGllbnRWNiBwYWdlTG9hZGVyQ2xpZW50OwogICAg
ICAgICBtZW1zZXQoJnBhZ2VMb2FkZXJDbGllbnQsIDAsIHNpemVvZihwYWdlTG9hZGVyQ2xpZW50
KSk7CiAgICAgICAgIAotICAgICAgICBwYWdlTG9hZGVyQ2xpZW50LnZlcnNpb24gPSA2OwotICAg
ICAgICBwYWdlTG9hZGVyQ2xpZW50LmNsaWVudEluZm8gPSB0aGlzOworICAgICAgICBwYWdlTG9h
ZGVyQ2xpZW50LmJhc2UudmVyc2lvbiA9IDY7CisgICAgICAgIHBhZ2VMb2FkZXJDbGllbnQuYmFz
ZS5jbGllbnRJbmZvID0gdGhpczsKICAgICAgICAgcGFnZUxvYWRlckNsaWVudC53aWxsTG9hZFVS
TFJlcXVlc3QgPSB3aWxsTG9hZFVSTFJlcXVlc3Q7CiAgICAgICAgIHBhZ2VMb2FkZXJDbGllbnQu
d2lsbExvYWREYXRhUmVxdWVzdCA9IHdpbGxMb2FkRGF0YVJlcXVlc3Q7CiAgICAgICAgIAotICAg
ICAgICBXS0J1bmRsZVBhZ2VTZXRQYWdlTG9hZGVyQ2xpZW50KGJ1bmRsZVBhZ2UsICZwYWdlTG9h
ZGVyQ2xpZW50KTsKKyAgICAgICAgV0tCdW5kbGVQYWdlU2V0UGFnZUxvYWRlckNsaWVudChidW5k
bGVQYWdlLCAmcGFnZUxvYWRlckNsaWVudC5iYXNlKTsKICAgICB9CiB9OwogCmRpZmYgLS1naXQg
YS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdDIvV2lsbFNlbmRTdWJtaXRFdmVudC5j
cHAgYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdDIvV2lsbFNlbmRTdWJtaXRFdmVu
dC5jcHAKaW5kZXggMTA1OGNjMWYzZjc4ZDUxNjJmYmM2NDBjZTRjMDI4M2QxZjc3ODQwOC4uZWU1
OTM0Njg4MmUzZDQ3YTUxODVkZDA0MTU0YTI1MWQ0YzY5ODc2NCAxMDA2NDQKLS0tIGEvVG9vbHMv
VGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQyL1dpbGxTZW5kU3VibWl0RXZlbnQuY3BwCisrKyBi
L1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Mi9XaWxsU2VuZFN1Ym1pdEV2ZW50LmNw
cApAQCAtNTcsMTEgKzU3LDEzIEBAIHN0YXRpYyB2b2lkIGRpZFJlY2VpdmVNZXNzYWdlRnJvbUlu
amVjdGVkQnVuZGxlKFdLQ29udGV4dFJlZiwgV0tTdHJpbmdSZWYgbWVzc2FnCiAKIHN0YXRpYyB2
b2lkIHNldEluamVjdGVkQnVuZGxlQ2xpZW50KFdLQ29udGV4dFJlZiBjb250ZXh0KQogewotICAg
IFdLQ29udGV4dEluamVjdGVkQnVuZGxlQ2xpZW50IGluamVjdGVkQnVuZGxlQ2xpZW50OworICAg
IFdLQ29udGV4dEluamVjdGVkQnVuZGxlQ2xpZW50VjAgaW5qZWN0ZWRCdW5kbGVDbGllbnQ7CiAg
ICAgbWVtc2V0KCZpbmplY3RlZEJ1bmRsZUNsaWVudCwgMCwgc2l6ZW9mKGluamVjdGVkQnVuZGxl
Q2xpZW50KSk7CisKKyAgICBpbmplY3RlZEJ1bmRsZUNsaWVudC5iYXNlLnZlcnNpb24gPSAwOwog
ICAgIGluamVjdGVkQnVuZGxlQ2xpZW50LmRpZFJlY2VpdmVNZXNzYWdlRnJvbUluamVjdGVkQnVu
ZGxlID0gZGlkUmVjZWl2ZU1lc3NhZ2VGcm9tSW5qZWN0ZWRCdW5kbGU7CiAKLSAgICBXS0NvbnRl
eHRTZXRJbmplY3RlZEJ1bmRsZUNsaWVudChjb250ZXh0LCAmaW5qZWN0ZWRCdW5kbGVDbGllbnQp
OworICAgIFdLQ29udGV4dFNldEluamVjdGVkQnVuZGxlQ2xpZW50KGNvbnRleHQsICZpbmplY3Rl
ZEJ1bmRsZUNsaWVudC5iYXNlKTsKIH0KIAogVEVTVChXZWJLaXQyLCBXaWxsU2VuZFN1Ym1pdEV2
ZW50KQpkaWZmIC0tZ2l0IGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQyL1dpbGxT
ZW5kU3VibWl0RXZlbnRfQnVuZGxlLmNwcCBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2Vi
S2l0Mi9XaWxsU2VuZFN1Ym1pdEV2ZW50X0J1bmRsZS5jcHAKaW5kZXggN2JiYmNhZjEwNDJhMGQ3
MmRkY2RmODQyOTdhZWU4MjJkZjIxZWFiYy4uZTg1Y2EyNTZmZWVhMTc1ODllOTA1YmRmNTAwNjM3
YWVlOTYzM2UxMiAxMDA2NDQKLS0tIGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQy
L1dpbGxTZW5kU3VibWl0RXZlbnRfQnVuZGxlLmNwcAorKysgYi9Ub29scy9UZXN0V2ViS2l0QVBJ
L1Rlc3RzL1dlYktpdDIvV2lsbFNlbmRTdWJtaXRFdmVudF9CdW5kbGUuY3BwCkBAIC01MiwxNCAr
NTIsMTQgQEAgV2lsbFNlbmRTdWJtaXRFdmVudFRlc3Q6OldpbGxTZW5kU3VibWl0RXZlbnRUZXN0
KGNvbnN0IHN0ZDo6c3RyaW5nJiBpZGVudGlmaWVyKQogCiB2b2lkIFdpbGxTZW5kU3VibWl0RXZl
bnRUZXN0OjpkaWRDcmVhdGVQYWdlKFdLQnVuZGxlUmVmIGJ1bmRsZSwgV0tCdW5kbGVQYWdlUmVm
IHBhZ2UpCiB7Ci0gICAgV0tCdW5kbGVQYWdlRm9ybUNsaWVudCBmb3JtQ2xpZW50OworICAgIFdL
QnVuZGxlUGFnZUZvcm1DbGllbnRWMSBmb3JtQ2xpZW50OwogICAgIG1lbXNldCgmZm9ybUNsaWVu
dCwgMCwgc2l6ZW9mKGZvcm1DbGllbnQpKTsKICAgICAKLSAgICBmb3JtQ2xpZW50LnZlcnNpb24g
PSAxOwotICAgIGZvcm1DbGllbnQuY2xpZW50SW5mbyA9IHRoaXM7CisgICAgZm9ybUNsaWVudC5i
YXNlLnZlcnNpb24gPSAxOworICAgIGZvcm1DbGllbnQuYmFzZS5jbGllbnRJbmZvID0gdGhpczsK
ICAgICBmb3JtQ2xpZW50LndpbGxTZW5kU3VibWl0RXZlbnQgPSB3aWxsU2VuZFN1Ym1pdEV2ZW50
OwogICAgIAotICAgIFdLQnVuZGxlUGFnZVNldEZvcm1DbGllbnQocGFnZSwgJmZvcm1DbGllbnQp
OworICAgIFdLQnVuZGxlUGFnZVNldEZvcm1DbGllbnQocGFnZSwgJmZvcm1DbGllbnQuYmFzZSk7
CiB9CiAKIH0gLy8gbmFtZXNwYWNlIFRlc3RXZWJLaXRBUEkKZGlmZiAtLWdpdCBhL1Rvb2xzL1Rl
c3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Mi9tYWMvRWRpdG9yQ29tbWFuZHMubW0gYi9Ub29scy9U
ZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdDIvbWFjL0VkaXRvckNvbW1hbmRzLm1tCmluZGV4IDFl
MDc5MzNkZmU4MTNhZmM5MGRhNDAyMWNmMWVkYjg2MDc4MzMzNzUuLmVhY2I3ZTNkMjQwMDE0ZjY3
OTRiZWE3NWFmNDJkNWVjNDYwMDQ0NTggMTAwNjQ0Ci0tLSBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkv
VGVzdHMvV2ViS2l0Mi9tYWMvRWRpdG9yQ29tbWFuZHMubW0KKysrIGIvVG9vbHMvVGVzdFdlYktp
dEFQSS9UZXN0cy9XZWJLaXQyL21hYy9FZGl0b3JDb21tYW5kcy5tbQpAQCAtNTIsMTEgKzUyLDEz
IEBAIFRFU1QoV2ViS2l0MiwgU2Nyb2xsQnlMaW5lQ29tbWFuZHMpCiAKICAgICBQbGF0Zm9ybVdl
YlZpZXcgd2ViVmlldyhjb250ZXh0LmdldCgpLCBwYWdlR3JvdXAuZ2V0KCkpOwogCi0gICAgV0tQ
YWdlTG9hZGVyQ2xpZW50IGxvYWRlckNsaWVudDsKKyAgICBXS1BhZ2VMb2FkZXJDbGllbnRWMCBs
b2FkZXJDbGllbnQ7CiAgICAgbWVtc2V0KCZsb2FkZXJDbGllbnQsIDAsIHNpemVvZihsb2FkZXJD
bGllbnQpKTsKLSAgICBsb2FkZXJDbGllbnQudmVyc2lvbiA9IDA7CisKKyAgICBsb2FkZXJDbGll
bnQuYmFzZS52ZXJzaW9uID0gMDsKICAgICBsb2FkZXJDbGllbnQuZGlkRmluaXNoTG9hZEZvckZy
YW1lID0gZGlkRmluaXNoTG9hZEZvckZyYW1lOwotICAgIFdLUGFnZVNldFBhZ2VMb2FkZXJDbGll
bnQod2ViVmlldy5wYWdlKCksICZsb2FkZXJDbGllbnQpOworCisgICAgV0tQYWdlU2V0UGFnZUxv
YWRlckNsaWVudCh3ZWJWaWV3LnBhZ2UoKSwgJmxvYWRlckNsaWVudC5iYXNlKTsKIAogICAgIFdL
UmV0YWluUHRyPFdLVVJMUmVmPiB1cmwoQWRvcHRXSywgVXRpbDo6Y3JlYXRlVVJMRm9yUmVzb3Vy
Y2UoInNpbXBsZS10YWxsIiwgImh0bWwiKSk7CiAgICAgV0tQYWdlTG9hZFVSTCh3ZWJWaWV3LnBh
Z2UoKSwgdXJsLmdldCgpKTsKZGlmZiAtLWdpdCBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMv
V2ViS2l0Mi9tYWMvR2V0QmFja2luZ1NjYWxlRmFjdG9yLm1tIGIvVG9vbHMvVGVzdFdlYktpdEFQ
SS9UZXN0cy9XZWJLaXQyL21hYy9HZXRCYWNraW5nU2NhbGVGYWN0b3IubW0KaW5kZXggZWE3NzA1
MTlhMzAwY2M0Njc3NDgyZDJlNjg4MjU3MDNhMjQzZjk3YS4uMDMzY2ZmNTZmZDJjNjJlMWViNjRi
OGQ5MmIxYzJhYzZmN2VhZGRkOSAxMDA2NDQKLS0tIGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0
cy9XZWJLaXQyL21hYy9HZXRCYWNraW5nU2NhbGVGYWN0b3IubW0KKysrIGIvVG9vbHMvVGVzdFdl
YktpdEFQSS9UZXN0cy9XZWJLaXQyL21hYy9HZXRCYWNraW5nU2NhbGVGYWN0b3IubW0KQEAgLTQ3
LDEwICs0NywxMyBAQCBzdGF0aWMgdm9pZCBkaWRSZWNlaXZlTWVzc2FnZUZyb21JbmplY3RlZEJ1
bmRsZShXS0NvbnRleHRSZWYgY29udGV4dCwgV0tTdHJpbmdSZQogCiBzdGF0aWMgdm9pZCBzZXRJ
bmplY3RlZEJ1bmRsZUNsaWVudChXS0NvbnRleHRSZWYgY29udGV4dCkKIHsKLSAgICBXS0NvbnRl
eHRJbmplY3RlZEJ1bmRsZUNsaWVudCBpbmplY3RlZEJ1bmRsZUNsaWVudDsKKyAgICBXS0NvbnRl
eHRJbmplY3RlZEJ1bmRsZUNsaWVudFYwIGluamVjdGVkQnVuZGxlQ2xpZW50OwogICAgIG1lbXNl
dCgmaW5qZWN0ZWRCdW5kbGVDbGllbnQsIDAsIHNpemVvZihpbmplY3RlZEJ1bmRsZUNsaWVudCkp
OworCisgICAgaW5qZWN0ZWRCdW5kbGVDbGllbnQuYmFzZS52ZXJzaW9uID0gMDsKICAgICBpbmpl
Y3RlZEJ1bmRsZUNsaWVudC5kaWRSZWNlaXZlTWVzc2FnZUZyb21JbmplY3RlZEJ1bmRsZSA9IGRp
ZFJlY2VpdmVNZXNzYWdlRnJvbUluamVjdGVkQnVuZGxlOwotICAgIFdLQ29udGV4dFNldEluamVj
dGVkQnVuZGxlQ2xpZW50KGNvbnRleHQsICZpbmplY3RlZEJ1bmRsZUNsaWVudCk7CisKKyAgICBX
S0NvbnRleHRTZXRJbmplY3RlZEJ1bmRsZUNsaWVudChjb250ZXh0LCAmaW5qZWN0ZWRCdW5kbGVD
bGllbnQuYmFzZSk7CiB9CiAKIHN0YXRpYyBSZXRhaW5QdHI8U3ludGhldGljQmFja2luZ1NjYWxl
RmFjdG9yV2luZG93PiBjcmVhdGVXaW5kb3coKQpkaWZmIC0tZ2l0IGEvVG9vbHMvVGVzdFdlYktp
dEFQSS9UZXN0cy9XZWJLaXQyL21hYy9HZXRQSURBZnRlckFib3J0ZWRQcm9jZXNzTGF1bmNoLmNw
cCBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Mi9tYWMvR2V0UElEQWZ0ZXJBYm9y
dGVkUHJvY2Vzc0xhdW5jaC5jcHAKaW5kZXggNWIzN2IwODQ1ZTdhMTE1M2JkYzg1Mzk0YzdkOTI4
NTdjNWZkYjA0MS4uOTE1ODY3MjY5MzZjMzEzZGY3ZDI3MDU3N2YyNzYwMDIxZGQzYWExMiAxMDA2
NDQKLS0tIGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQyL21hYy9HZXRQSURBZnRl
ckFib3J0ZWRQcm9jZXNzTGF1bmNoLmNwcAorKysgYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3Rz
L1dlYktpdDIvbWFjL0dldFBJREFmdGVyQWJvcnRlZFByb2Nlc3NMYXVuY2guY3BwCkBAIC00Niwx
MiArNDYsMTMgQEAgVEVTVChXZWJLaXQyLCBHZXRQSURBZnRlckFib3J0ZWRQcm9jZXNzTGF1bmNo
KQogCiAgICAgUGxhdGZvcm1XZWJWaWV3IHdlYlZpZXcoY29udGV4dC5nZXQoKSk7CiAKLSAgICBX
S1BhZ2VMb2FkZXJDbGllbnQgbG9hZGVyQ2xpZW50OworICAgIFdLUGFnZUxvYWRlckNsaWVudFYw
IGxvYWRlckNsaWVudDsKICAgICBtZW1zZXQoJmxvYWRlckNsaWVudCwgMCwgc2l6ZW9mKGxvYWRl
ckNsaWVudCkpOwogCi0gICAgbG9hZGVyQ2xpZW50LnZlcnNpb24gPSAwOworICAgIGxvYWRlckNs
aWVudC5iYXNlLnZlcnNpb24gPSAwOwogICAgIGxvYWRlckNsaWVudC5kaWRGaW5pc2hMb2FkRm9y
RnJhbWUgPSBkaWRGaW5pc2hMb2FkRm9yRnJhbWU7Ci0gICAgV0tQYWdlU2V0UGFnZUxvYWRlckNs
aWVudCh3ZWJWaWV3LnBhZ2UoKSwgJmxvYWRlckNsaWVudCk7CisKKyAgICBXS1BhZ2VTZXRQYWdl
TG9hZGVyQ2xpZW50KHdlYlZpZXcucGFnZSgpLCAmbG9hZGVyQ2xpZW50LmJhc2UpOwogCiAgICAg
V0tSZXRhaW5QdHI8V0tVUkxSZWY+IHVybChBZG9wdFdLLCBVdGlsOjpjcmVhdGVVUkxGb3JSZXNv
dXJjZSgic2ltcGxlIiwgImh0bWwiKSk7CiAgICAgV0tQYWdlTG9hZFVSTCh3ZWJWaWV3LnBhZ2Uo
KSwgdXJsLmdldCgpKTsKZGlmZiAtLWdpdCBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2Vi
S2l0Mk9iakMvQ3VzdG9tUHJvdG9jb2xzSW52YWxpZFNjaGVtZV9CdW5kbGUuY3BwIGIvVG9vbHMv
VGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQyT2JqQy9DdXN0b21Qcm90b2NvbHNJbnZhbGlkU2No
ZW1lX0J1bmRsZS5jcHAKaW5kZXggZWU3MmY4N2U3MGMwMmZmMmViZjg0NjdhZmZiODQ2YWVmYmNi
MzczYi4uN2ZlMjk5OThjMmQ4MDg0MjU5NTI1MzA1MjAwYTJlYzkzYTRlYTY0ZCAxMDA2NDQKLS0t
IGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQyT2JqQy9DdXN0b21Qcm90b2NvbHNJ
bnZhbGlkU2NoZW1lX0J1bmRsZS5jcHAKKysrIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9X
ZWJLaXQyT2JqQy9DdXN0b21Qcm90b2NvbHNJbnZhbGlkU2NoZW1lX0J1bmRsZS5jcHAKQEAgLTQ3
LDEwICs0NywxMyBAQCBwdWJsaWM6CiBwcml2YXRlOgogICAgIHZpcnR1YWwgdm9pZCBkaWRDcmVh
dGVQYWdlKFdLQnVuZGxlUmVmLCBXS0J1bmRsZVBhZ2VSZWYgYnVuZGxlUGFnZSkgT1ZFUlJJREUK
ICAgICB7Ci0gICAgICAgIFdLQnVuZGxlUGFnZVBvbGljeUNsaWVudCBwb2xpY3lDbGllbnQ7Cisg
ICAgICAgIFdLQnVuZGxlUGFnZVBvbGljeUNsaWVudFYwIHBvbGljeUNsaWVudDsKICAgICAgICAg
bWVtc2V0KCZwb2xpY3lDbGllbnQsIDAsIHNpemVvZihwb2xpY3lDbGllbnQpKTsKKworICAgICAg
ICBwb2xpY3lDbGllbnQuYmFzZS52ZXJzaW9uID0gMDsKICAgICAgICAgcG9saWN5Q2xpZW50LmRl
Y2lkZVBvbGljeUZvck5hdmlnYXRpb25BY3Rpb24gPSBkZWNpZGVQb2xpY3lGb3JOYXZpZ2F0aW9u
QWN0aW9uOwotICAgICAgICBXS0J1bmRsZVBhZ2VTZXRQb2xpY3lDbGllbnQoYnVuZGxlUGFnZSwg
JnBvbGljeUNsaWVudCk7CisgICAgICAgIAorICAgICAgICBXS0J1bmRsZVBhZ2VTZXRQb2xpY3lD
bGllbnQoYnVuZGxlUGFnZSwgJnBvbGljeUNsaWVudC5iYXNlKTsKICAgICB9CiB9OwogCmRpZmYg
LS1naXQgYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdDJPYmpDL1ByZXZlbnRJbWFn
ZUxvYWRXaXRoQXV0b1Jlc2l6aW5nX0J1bmRsZS5jcHAgYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rl
c3RzL1dlYktpdDJPYmpDL1ByZXZlbnRJbWFnZUxvYWRXaXRoQXV0b1Jlc2l6aW5nX0J1bmRsZS5j
cHAKaW5kZXggOWY3M2Q3NTQxMmZmOWMwZDEyMjA2MDY4YjFiZjEwNzAyZjBjYzQ4OC4uN2E5MzNm
NGVhOTI3ZmI5ZmUyNDU2MGE0NmQ1NjMxMDEzNDVmZjBkZiAxMDA2NDQKLS0tIGEvVG9vbHMvVGVz
dFdlYktpdEFQSS9UZXN0cy9XZWJLaXQyT2JqQy9QcmV2ZW50SW1hZ2VMb2FkV2l0aEF1dG9SZXNp
emluZ19CdW5kbGUuY3BwCisrKyBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Mk9i
akMvUHJldmVudEltYWdlTG9hZFdpdGhBdXRvUmVzaXppbmdfQnVuZGxlLmNwcApAQCAtNDgsMTMg
KzQ4LDEzIEBAIHB1YmxpYzoKIAogICAgIHZpcnR1YWwgdm9pZCBkaWRDcmVhdGVQYWdlKFdLQnVu
ZGxlUmVmIGJ1bmRsZSwgV0tCdW5kbGVQYWdlUmVmIHBhZ2UpCiAgICAgewotICAgICAgICBXS0J1
bmRsZVBhZ2VSZXNvdXJjZUxvYWRDbGllbnQgcmVzb3VyY2VMb2FkQ2xpZW50OworICAgICAgICBX
S0J1bmRsZVBhZ2VSZXNvdXJjZUxvYWRDbGllbnRWMCByZXNvdXJjZUxvYWRDbGllbnQ7CiAgICAg
ICAgIG1lbXNldCgmcmVzb3VyY2VMb2FkQ2xpZW50LCAwLCBzaXplb2YocmVzb3VyY2VMb2FkQ2xp
ZW50KSk7CiAgICAgICAgIAotICAgICAgICByZXNvdXJjZUxvYWRDbGllbnQudmVyc2lvbiA9IDA7
CisgICAgICAgIHJlc291cmNlTG9hZENsaWVudC5iYXNlLnZlcnNpb24gPSAwOwogICAgICAgICBy
ZXNvdXJjZUxvYWRDbGllbnQud2lsbFNlbmRSZXF1ZXN0Rm9yRnJhbWUgPSB3aWxsU2VuZFJlcXVl
c3RGb3JGcmFtZTsKIAotICAgICAgICBXS0J1bmRsZVBhZ2VTZXRSZXNvdXJjZUxvYWRDbGllbnQo
cGFnZSwgJnJlc291cmNlTG9hZENsaWVudCk7CisgICAgICAgIFdLQnVuZGxlUGFnZVNldFJlc291
cmNlTG9hZENsaWVudChwYWdlLCAmcmVzb3VyY2VMb2FkQ2xpZW50LmJhc2UpOwogCiAgICAgfQog
fTsKZGlmZiAtLWdpdCBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Mk9iakMvV0tS
ZW1vdGVPYmplY3RSZWdpc3RyeS5tbSBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0
Mk9iakMvV0tSZW1vdGVPYmplY3RSZWdpc3RyeS5tbQppbmRleCBkMGE5ZjAwMTU1Y2ZkMTA3NWEy
NTE0MjQ3YWE1NDM0NTU3NGZlNjNkLi4xZjFkYzYxODA5YTIwMmZmY2NmNWVmYjliZTg1MzcwZTQ5
M2RlNDJjIDEwMDY0NAotLS0gYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdDJPYmpD
L1dLUmVtb3RlT2JqZWN0UmVnaXN0cnkubW0KKysrIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0
cy9XZWJLaXQyT2JqQy9XS1JlbW90ZU9iamVjdFJlZ2lzdHJ5Lm1tCkBAIC01OSwxMyArNTksMTQg
QEAgc3RhdGljIHZvaWQgZGlkQ3JlYXRlQ29ubmVjdGlvbihXS0NvbnRleHRSZWYgY29udGV4dCwg
V0tDb25uZWN0aW9uUmVmIGNvbm5lY3Rpb24KIAogICAgIC8vIFNldHVwIGEgY2xpZW50IG9uIHRo
ZSBjb25uZWN0aW9uIHNvIHdlIGNhbiBsaXN0ZW4gZm9yIG1lc3NhZ2VzIGFuZAogICAgIC8vIHRl
YXIgZG93biBub3RpZmljYXRpb25zLgotICAgIFdLQ29ubmVjdGlvbkNsaWVudCBjb25uZWN0aW9u
Q2xpZW50OworICAgIFdLQ29ubmVjdGlvbkNsaWVudFYwIGNvbm5lY3Rpb25DbGllbnQ7CiAgICAg
bWVtc2V0KCZjb25uZWN0aW9uQ2xpZW50LCAwLCBzaXplb2YoY29ubmVjdGlvbkNsaWVudCkpOwot
ICAgIGNvbm5lY3Rpb25DbGllbnQudmVyc2lvbiA9IFdLQ29ubmVjdGlvbkNsaWVudEN1cnJlbnRW
ZXJzaW9uOwotICAgIGNvbm5lY3Rpb25DbGllbnQuY2xpZW50SW5mbyA9IDA7CisKKyAgICBjb25u
ZWN0aW9uQ2xpZW50LmJhc2UudmVyc2lvbiA9IDA7CiAgICAgY29ubmVjdGlvbkNsaWVudC5kaWRS
ZWNlaXZlTWVzc2FnZSA9IGNvbm5lY3Rpb25EaWRSZWNlaXZlTWVzc2FnZTsKICAgICBjb25uZWN0
aW9uQ2xpZW50LmRpZENsb3NlID0gY29ubmVjdGlvbkRpZENsb3NlOwotICAgIFdLQ29ubmVjdGlv
blNldENvbm5lY3Rpb25DbGllbnQoY29ubmVjdGlvbiwgJmNvbm5lY3Rpb25DbGllbnQpOworCisg
ICAgV0tDb25uZWN0aW9uU2V0Q29ubmVjdGlvbkNsaWVudChjb25uZWN0aW9uLCAmY29ubmVjdGlv
bkNsaWVudC5iYXNlKTsKIAogICAgIC8vIFN0b3JlIG9mZiB0aGUgY29ubmVjaXRvbiB0byB1c2Uu
CiAgICAgcmVtb3RlT2JqZWN0UmVnaXN0cnkgPSBbW1dLUmVtb3RlT2JqZWN0UmVnaXN0cnkgYWxs
b2NdIF9pbml0V2l0aENvbm5lY3Rpb25SZWY6Y29ubmVjdGlvbl07CkBAIC03NywxMiArNzgsMTMg
QEAgVEVTVChXZWJLaXQyLCBXS1JlbW90ZU9iamVjdFJlZ2lzdHJ5VGVzdCkKIAogICAgIC8vIFNl
dCB1cCB0aGUgY29udGV4dCdzIGNvbm5lY3Rpb24gY2xpZW50IHNvIHRoYXQgd2UgY2FuIGFjY2Vz
cyB0aGUgY29ubmVjdGlvbiB3aGVuCiAgICAgLy8gaXQgaXMgY3JlYXRlZC4KLSAgICBXS0NvbnRl
eHRDb25uZWN0aW9uQ2xpZW50IGNvbnRleHRDb25uZWN0aW9uQ2xpZW50OworICAgIFdLQ29udGV4
dENvbm5lY3Rpb25DbGllbnRWMCBjb250ZXh0Q29ubmVjdGlvbkNsaWVudDsKICAgICBtZW1zZXQo
JmNvbnRleHRDb25uZWN0aW9uQ2xpZW50LCAwLCBzaXplb2YoY29udGV4dENvbm5lY3Rpb25DbGll
bnQpKTsKLSAgICBjb250ZXh0Q29ubmVjdGlvbkNsaWVudC52ZXJzaW9uID0ga1dLQ29udGV4dENv
bm5lY3Rpb25DbGllbnRDdXJyZW50VmVyc2lvbjsKLSAgICBjb250ZXh0Q29ubmVjdGlvbkNsaWVu
dC5jbGllbnRJbmZvID0gMDsKKworICAgIGNvbnRleHRDb25uZWN0aW9uQ2xpZW50LmJhc2UudmVy
c2lvbiA9IDA7CiAgICAgY29udGV4dENvbm5lY3Rpb25DbGllbnQuZGlkQ3JlYXRlQ29ubmVjdGlv
biA9IGRpZENyZWF0ZUNvbm5lY3Rpb247Ci0gICAgV0tDb250ZXh0U2V0Q29ubmVjdGlvbkNsaWVu
dChjb250ZXh0LmdldCgpLCAmY29udGV4dENvbm5lY3Rpb25DbGllbnQpOworCisgICAgV0tDb250
ZXh0U2V0Q29ubmVjdGlvbkNsaWVudChjb250ZXh0LmdldCgpLCAmY29udGV4dENvbm5lY3Rpb25D
bGllbnQuYmFzZSk7CiAKICAgICAvLyBMb2FkIGEgc2ltcGxlIHBhZ2UgdG8gc3RhcnQgdGhlIFdl
YlByb2Nlc3MgYW5kIGVzdGFibGlzaCBhIGNvbm5lY3Rpb24uCiAgICAgUGxhdGZvcm1XZWJWaWV3
IHdlYlZpZXcoY29udGV4dC5nZXQoKSk7CmRpZmYgLS1naXQgYS9Ub29scy9UZXN0V2ViS2l0QVBJ
L1Rlc3RzL21hYy9QYWdlVmlzaWJpbGl0eVN0YXRlV2l0aFdpbmRvd0NoYW5nZXMubW0gYi9Ub29s
cy9UZXN0V2ViS2l0QVBJL1Rlc3RzL21hYy9QYWdlVmlzaWJpbGl0eVN0YXRlV2l0aFdpbmRvd0No
YW5nZXMubW0KaW5kZXggOWE2MTRhYjdhYjY4ODAzMjFlMGU5OGY4YTg2ZjNkMmQyMTFjOTM3ZS4u
MWQ4MDFkOWUwMjc2NTg1YmVlMDk1NzM0OTU4OGE1NGNhZjlmMWM3MCAxMDA2NDQKLS0tIGEvVG9v
bHMvVGVzdFdlYktpdEFQSS9UZXN0cy9tYWMvUGFnZVZpc2liaWxpdHlTdGF0ZVdpdGhXaW5kb3dD
aGFuZ2VzLm1tCisrKyBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvbWFjL1BhZ2VWaXNpYmls
aXR5U3RhdGVXaXRoV2luZG93Q2hhbmdlcy5tbQpAQCAtODksMTIgKzg5LDEzIEBAIHZvaWQgUGFn
ZVZpc2liaWxpdHlTdGF0ZVdpdGhXaW5kb3dDaGFuZ2VzOjp0ZWFyZG93blZpZXcoV2ViVmlldyAq
d2ViVmlldykKIAogdm9pZCBQYWdlVmlzaWJpbGl0eVN0YXRlV2l0aFdpbmRvd0NoYW5nZXM6Omlu
aXRpYWxpemVWaWV3KFdLVmlldyAqd2tWaWV3KQogewotICAgIFdLUGFnZVVJQ2xpZW50IHVpQ2xp
ZW50OworICAgIFdLUGFnZVVJQ2xpZW50VjAgdWlDbGllbnQ7CiAgICAgbWVtc2V0KCZ1aUNsaWVu
dCwgMCwgc2l6ZW9mKHVpQ2xpZW50KSk7Ci0gICAgdWlDbGllbnQudmVyc2lvbiA9IDA7Ci0gICAg
dWlDbGllbnQuY2xpZW50SW5mbyA9IDA7CisKKyAgICB1aUNsaWVudC5iYXNlLnZlcnNpb24gPSAw
OwogICAgIHVpQ2xpZW50LnJ1bkphdmFTY3JpcHRBbGVydCA9IHJ1bkphdmFTY3JpcHRBbGVydDsK
LSAgICBXS1BhZ2VTZXRQYWdlVUlDbGllbnQod2tWaWV3LnBhZ2VSZWYsICZ1aUNsaWVudCk7CisK
KyAgICBXS1BhZ2VTZXRQYWdlVUlDbGllbnQod2tWaWV3LnBhZ2VSZWYsICZ1aUNsaWVudC5iYXNl
KTsKIH0KIAogdm9pZCBQYWdlVmlzaWJpbGl0eVN0YXRlV2l0aFdpbmRvd0NoYW5nZXM6OnRlYXJk
b3duVmlldyhXS1ZpZXcgKndrVmlldykKZGlmZiAtLWdpdCBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkv
VGVzdHMvbWFjL1dLUmVtb3RlT2JqZWN0UmVnaXN0cnlfQnVuZGxlLm1tIGIvVG9vbHMvVGVzdFdl
YktpdEFQSS9UZXN0cy9tYWMvV0tSZW1vdGVPYmplY3RSZWdpc3RyeV9CdW5kbGUubW0KaW5kZXgg
NzgxMzZkNmE2M2EyMzU1Zjk4OGVjY2IwNGY3NWMxNjA2ZmNiZDZmOS4uMzhkNTRlNDY4MDMxNmQ2
N2VmNDYzMDcwMGZkZjNjODY4YzI2OTBiZCAxMDA2NDQKLS0tIGEvVG9vbHMvVGVzdFdlYktpdEFQ
SS9UZXN0cy9tYWMvV0tSZW1vdGVPYmplY3RSZWdpc3RyeV9CdW5kbGUubW0KKysrIGIvVG9vbHMv
VGVzdFdlYktpdEFQSS9UZXN0cy9tYWMvV0tSZW1vdGVPYmplY3RSZWdpc3RyeV9CdW5kbGUubW0K
QEAgLTc1LDE3ICs3NSwxOCBAQCBwdWJsaWM6CiAgICAgICAgIEJ1bmRsZU9iamVjdCAqYnVuZGxl
T2JqZWN0ID0gW1tCdW5kbGVPYmplY3QgYWxsb2NdIGluaXRdOwogICAgICAgICBbbV9vYmplY3RS
ZWdpc3RyeSByZWdpc3RlckV4cG9ydGVkT2JqZWN0OmJ1bmRsZU9iamVjdCBpbnRlcmZhY2U6YnVu
ZGxlSW50ZXJmYWNlXTsKIAotICAgICAgICBXS0Nvbm5lY3Rpb25DbGllbnQgY29ubmVjdGlvbkNs
aWVudDsKKyAgICAgICAgV0tDb25uZWN0aW9uQ2xpZW50VjAgY29ubmVjdGlvbkNsaWVudDsKICAg
ICAgICAgbWVtc2V0KCZjb25uZWN0aW9uQ2xpZW50LCAwLCBzaXplb2YoY29ubmVjdGlvbkNsaWVu
dCkpOwotICAgICAgICBjb25uZWN0aW9uQ2xpZW50LnZlcnNpb24gPSBXS0Nvbm5lY3Rpb25DbGll
bnRDdXJyZW50VmVyc2lvbjsKLSAgICAgICAgY29ubmVjdGlvbkNsaWVudC5jbGllbnRJbmZvID0g
dGhpczsKKworICAgICAgICBjb25uZWN0aW9uQ2xpZW50LmJhc2UudmVyc2lvbiA9IFdLQ29ubmVj
dGlvbkNsaWVudEN1cnJlbnRWZXJzaW9uOworICAgICAgICBjb25uZWN0aW9uQ2xpZW50LmJhc2Uu
Y2xpZW50SW5mbyA9IHRoaXM7CiAgICAgICAgIGNvbm5lY3Rpb25DbGllbnQuZGlkUmVjZWl2ZU1l
c3NhZ2UgPSBbXShXS0Nvbm5lY3Rpb25SZWYgY29ubmVjdGlvbiwgV0tTdHJpbmdSZWYgbWVzc2Fn
ZU5hbWUsIFdLVHlwZVJlZiBtZXNzYWdlQm9keSwgY29uc3Qgdm9pZCAqY2xpZW50SW5mbykgewog
ICAgICAgICAgICAgY29uc3QgV0tSZW1vdGVPYmplY3RSZWdpc3RyeVRlc3QqIHRlc3QgPSBzdGF0
aWNfY2FzdDxjb25zdCBXS1JlbW90ZU9iamVjdFJlZ2lzdHJ5VGVzdCo+KGNsaWVudEluZm8pOwog
CiAgICAgICAgICAgICBbdGVzdC0+bV9vYmplY3RSZWdpc3RyeS5nZXQoKSBfaGFuZGxlTWVzc2Fn
ZVdpdGhOYW1lOm1lc3NhZ2VOYW1lIGJvZHk6bWVzc2FnZUJvZHldOwogICAgICAgICB9OwogCi0g
ICAgICAgIFdLQ29ubmVjdGlvblNldENvbm5lY3Rpb25DbGllbnQoV0tCdW5kbGVHZXRBcHBsaWNh
dGlvbkNvbm5lY3Rpb24oYnVuZGxlKSwgJmNvbm5lY3Rpb25DbGllbnQpOworICAgICAgICBXS0Nv
bm5lY3Rpb25TZXRDb25uZWN0aW9uQ2xpZW50KFdLQnVuZGxlR2V0QXBwbGljYXRpb25Db25uZWN0
aW9uKGJ1bmRsZSksICZjb25uZWN0aW9uQ2xpZW50LmJhc2UpOwogICAgIH0KIAogcHJpdmF0ZToK
ZGlmZiAtLWdpdCBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvbWFjL1dlYktpdEFnbm9zdGljVGVzdC5t
bSBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvbWFjL1dlYktpdEFnbm9zdGljVGVzdC5tbQppbmRleCAw
MzU1MmIzYThlNzQ3Njk4NTg0MzU4OWJkNzA2YjY1MWQ0ZTllNzI5Li45YzU2ODgwMmU2NTQ5ZGIx
OThkYzkxMzIyMWQ5ZTZmZGU1NDM3ZjkwIDEwMDY0NAotLS0gYS9Ub29scy9UZXN0V2ViS2l0QVBJ
L21hYy9XZWJLaXRBZ25vc3RpY1Rlc3QubW0KKysrIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9tYWMv
V2ViS2l0QWdub3N0aWNUZXN0Lm1tCkBAIC02NiwxMyArNjYsMTQgQEAgc3RhdGljIHZvaWQgZGlk
RmluaXNoTG9hZEZvckZyYW1lKFdLUGFnZVJlZiwgV0tGcmFtZVJlZiwgV0tUeXBlUmVmLCBjb25z
dCB2b2lkKgogCiBzdGF0aWMgdm9pZCBzZXRQYWdlTG9hZGVyQ2xpZW50KFdLUGFnZVJlZiBwYWdl
LCBib29sKiBkaWRGaW5pc2hMb2FkKQogewotICAgIFdLUGFnZUxvYWRlckNsaWVudCBsb2FkZXJD
bGllbnQ7CisgICAgV0tQYWdlTG9hZGVyQ2xpZW50VjAgbG9hZGVyQ2xpZW50OwogICAgIG1lbXNl
dCgmbG9hZGVyQ2xpZW50LCAwLCBzaXplb2YobG9hZGVyQ2xpZW50KSk7Ci0gICAgbG9hZGVyQ2xp
ZW50LnZlcnNpb24gPSAwOwotICAgIGxvYWRlckNsaWVudC5jbGllbnRJbmZvID0gZGlkRmluaXNo
TG9hZDsKKworICAgIGxvYWRlckNsaWVudC5iYXNlLnZlcnNpb24gPSAwOworICAgIGxvYWRlckNs
aWVudC5iYXNlLmNsaWVudEluZm8gPSBkaWRGaW5pc2hMb2FkOwogICAgIGxvYWRlckNsaWVudC5k
aWRGaW5pc2hMb2FkRm9yRnJhbWUgPSBkaWRGaW5pc2hMb2FkRm9yRnJhbWU7CiAKLSAgICBXS1Bh
Z2VTZXRQYWdlTG9hZGVyQ2xpZW50KHBhZ2UsICZsb2FkZXJDbGllbnQpOworICAgIFdLUGFnZVNl
dFBhZ2VMb2FkZXJDbGllbnQocGFnZSwgJmxvYWRlckNsaWVudC5iYXNlKTsKIH0KIAogV2ViS2l0
QWdub3N0aWNUZXN0OjpXZWJLaXRBZ25vc3RpY1Rlc3QoKQpkaWZmIC0tZ2l0IGEvVG9vbHMvV2Vi
S2l0VGVzdFJ1bm5lci9HZW9sb2NhdGlvblByb3ZpZGVyTW9jay5jcHAgYi9Ub29scy9XZWJLaXRU
ZXN0UnVubmVyL0dlb2xvY2F0aW9uUHJvdmlkZXJNb2NrLmNwcAppbmRleCBmNzMwYTgyNGE5ZjE1
NDhiMDE2YTk0NjJmZGYzYjg4MDlkODllNDFmLi45MTIwMjU4Yzc1ZWRjZTgyODNhOWIzMDM4ODBk
MzRjMThmNWY2MmZjIDEwMDY0NAotLS0gYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0dlb2xvY2F0
aW9uUHJvdmlkZXJNb2NrLmNwcAorKysgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0dlb2xvY2F0
aW9uUHJvdmlkZXJNb2NrLmNwcApAQCAtNTEsMTMgKzUxLDEzIEBAIEdlb2xvY2F0aW9uUHJvdmlk
ZXJNb2NrOjpHZW9sb2NhdGlvblByb3ZpZGVyTW9jayhXS0NvbnRleHRSZWYgY29udGV4dCkKIHsK
ICAgICBtX2dlb2xvY2F0aW9uTWFuYWdlciA9IFdLQ29udGV4dEdldEdlb2xvY2F0aW9uTWFuYWdl
cihjb250ZXh0KTsKIAotICAgIFdLR2VvbG9jYXRpb25Qcm92aWRlciBwcm92aWRlckNhbGxiYWNr
OworICAgIFdLR2VvbG9jYXRpb25Qcm92aWRlclYxIHByb3ZpZGVyQ2FsbGJhY2s7CiAgICAgbWVt
c2V0KCZwcm92aWRlckNhbGxiYWNrLCAwLCBzaXplb2YoV0tHZW9sb2NhdGlvblByb3ZpZGVyKSk7
Ci0gICAgcHJvdmlkZXJDYWxsYmFjay52ZXJzaW9uID0gMDsKLSAgICBwcm92aWRlckNhbGxiYWNr
LmNsaWVudEluZm8gPSB0aGlzOworICAgIHByb3ZpZGVyQ2FsbGJhY2suYmFzZS52ZXJzaW9uID0g
MTsKKyAgICBwcm92aWRlckNhbGxiYWNrLmJhc2UuY2xpZW50SW5mbyA9IHRoaXM7CiAgICAgcHJv
dmlkZXJDYWxsYmFjay5zdGFydFVwZGF0aW5nID0gc3RhcnRVcGRhdGluZ0NhbGxiYWNrOwogICAg
IHByb3ZpZGVyQ2FsbGJhY2suc3RvcFVwZGF0aW5nID0gc3RvcFVwZGF0aW5nQ2FsbGJhY2s7Ci0g
ICAgV0tHZW9sb2NhdGlvbk1hbmFnZXJTZXRQcm92aWRlcihtX2dlb2xvY2F0aW9uTWFuYWdlciwg
JnByb3ZpZGVyQ2FsbGJhY2spOworICAgIFdLR2VvbG9jYXRpb25NYW5hZ2VyU2V0UHJvdmlkZXIo
bV9nZW9sb2NhdGlvbk1hbmFnZXIsICZwcm92aWRlckNhbGxiYWNrLmJhc2UpOwogfQogCiBHZW9s
b2NhdGlvblByb3ZpZGVyTW9jazo6fkdlb2xvY2F0aW9uUHJvdmlkZXJNb2NrKCkKZGlmZiAtLWdp
dCBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvSW5qZWN0ZWRCdW5kbGUu
Y3BwIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9JbmplY3RlZEJ1bmRs
ZS5jcHAKaW5kZXggZWYzMzhkYTg3ODA2ZWEzNTU4MDc3ZWE2ZDJjNjkwMTljMmU5MzBmOS4uYzk1
NmE3ODBkY2E4NGQzMDkxYmQ4NjBlZTE0ZDhmODk1ZjFkY2Q4NiAxMDA2NDQKLS0tIGEvVG9vbHMv
V2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9JbmplY3RlZEJ1bmRsZS5jcHAKKysrIGIv
VG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9JbmplY3RlZEJ1bmRsZS5jcHAK
QEAgLTg4LDE2ICs4OCwxNSBAQCB2b2lkIEluamVjdGVkQnVuZGxlOjppbml0aWFsaXplKFdLQnVu
ZGxlUmVmIGJ1bmRsZSwgV0tUeXBlUmVmIGluaXRpYWxpemF0aW9uVXNlcgogewogICAgIG1fYnVu
ZGxlID0gYnVuZGxlOwogCi0gICAgV0tCdW5kbGVDbGllbnQgY2xpZW50ID0gewotICAgICAgICBr
V0tCdW5kbGVDbGllbnRDdXJyZW50VmVyc2lvbiwKLSAgICAgICAgdGhpcywKKyAgICBXS0J1bmRs
ZUNsaWVudFYxIGNsaWVudCA9IHsKKyAgICAgICAgeyAxLCB0aGlzIH0sCiAgICAgICAgIGRpZENy
ZWF0ZVBhZ2UsCiAgICAgICAgIHdpbGxEZXN0cm95UGFnZSwKICAgICAgICAgZGlkSW5pdGlhbGl6
ZVBhZ2VHcm91cCwKICAgICAgICAgZGlkUmVjZWl2ZU1lc3NhZ2UsCiAgICAgICAgIGRpZFJlY2Vp
dmVNZXNzYWdlVG9QYWdlCiAgICAgfTsKLSAgICBXS0J1bmRsZVNldENsaWVudChtX2J1bmRsZSwg
JmNsaWVudCk7CisgICAgV0tCdW5kbGVTZXRDbGllbnQobV9idW5kbGUsICZjbGllbnQuYmFzZSk7
CiAKICAgICBwbGF0Zm9ybUluaXRpYWxpemUoaW5pdGlhbGl6YXRpb25Vc2VyRGF0YSk7CiAKZGlm
ZiAtLWdpdCBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvSW5qZWN0ZWRC
dW5kbGVQYWdlLmNwcCBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvSW5q
ZWN0ZWRCdW5kbGVQYWdlLmNwcAppbmRleCBjMTUyN2ZiNDFhNjJlZmZjNWJmZTEyMmE4YmY3OTNm
ZDkxY2VjZmYzLi5lMTYxMTU2YTc1Y2Q0OGY0NzJlZDM5ZjYxNTk3YTQ5ZDEyZDI4YzgwIDEwMDY0
NAotLS0gYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL0luamVjdGVkQnVu
ZGxlUGFnZS5jcHAKKysrIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9J
bmplY3RlZEJ1bmRsZVBhZ2UuY3BwCkBAIC0yNjgsOSArMjY4LDggQEAgSW5qZWN0ZWRCdW5kbGVQ
YWdlOjpJbmplY3RlZEJ1bmRsZVBhZ2UoV0tCdW5kbGVQYWdlUmVmIHBhZ2UpCiAgICAgOiBtX3Bh
Z2UocGFnZSkKICAgICAsIG1fd29ybGQoQWRvcHRXSywgV0tCdW5kbGVTY3JpcHRXb3JsZENyZWF0
ZVdvcmxkKCkpCiB7Ci0gICAgV0tCdW5kbGVQYWdlTG9hZGVyQ2xpZW50IGxvYWRlckNsaWVudCA9
IHsKLSAgICAgICAga1dLQnVuZGxlUGFnZUxvYWRlckNsaWVudEN1cnJlbnRWZXJzaW9uLAotICAg
ICAgICB0aGlzLAorICAgIFdLQnVuZGxlUGFnZUxvYWRlckNsaWVudFY3IGxvYWRlckNsaWVudCA9
IHsKKyAgICAgICAgeyA3LCB0aGlzIH0sCiAgICAgICAgIGRpZFN0YXJ0UHJvdmlzaW9uYWxMb2Fk
Rm9yRnJhbWUsCiAgICAgICAgIGRpZFJlY2VpdmVTZXJ2ZXJSZWRpcmVjdEZvclByb3Zpc2lvbmFs
TG9hZEZvckZyYW1lLAogICAgICAgICBkaWRGYWlsUHJvdmlzaW9uYWxMb2FkV2l0aEVycm9yRm9y
RnJhbWUsCkBAIC0zMDcsMTEgKzMwNiwxMCBAQCBJbmplY3RlZEJ1bmRsZVBhZ2U6OkluamVjdGVk
QnVuZGxlUGFnZShXS0J1bmRsZVBhZ2VSZWYgcGFnZSkKICAgICAgICAgMCwgLy8gd2lsbExvYWRE
YXRhUmVxdWVzdAogICAgICAgICAwLCAvLyB3aWxsRGVzdHJveUZyYW1lCiAgICAgfTsKLSAgICBX
S0J1bmRsZVBhZ2VTZXRQYWdlTG9hZGVyQ2xpZW50KG1fcGFnZSwgJmxvYWRlckNsaWVudCk7Cisg
ICAgV0tCdW5kbGVQYWdlU2V0UGFnZUxvYWRlckNsaWVudChtX3BhZ2UsICZsb2FkZXJDbGllbnQu
YmFzZSk7CiAKLSAgICBXS0J1bmRsZVBhZ2VSZXNvdXJjZUxvYWRDbGllbnQgcmVzb3VyY2VMb2Fk
Q2xpZW50ID0gewotICAgICAgICBrV0tCdW5kbGVQYWdlUmVzb3VyY2VMb2FkQ2xpZW50Q3VycmVu
dFZlcnNpb24sCi0gICAgICAgIHRoaXMsCisgICAgV0tCdW5kbGVQYWdlUmVzb3VyY2VMb2FkQ2xp
ZW50VjEgcmVzb3VyY2VMb2FkQ2xpZW50ID0geworICAgICAgICB7IDEsIHRoaXMgfSwKICAgICAg
ICAgZGlkSW5pdGlhdGVMb2FkRm9yUmVzb3VyY2UsCiAgICAgICAgIHdpbGxTZW5kUmVxdWVzdEZv
ckZyYW1lLAogICAgICAgICBkaWRSZWNlaXZlUmVzcG9uc2VGb3JSZXNvdXJjZSwKQEAgLTMyMSwy
MSArMzE5LDE5IEBAIEluamVjdGVkQnVuZGxlUGFnZTo6SW5qZWN0ZWRCdW5kbGVQYWdlKFdLQnVu
ZGxlUGFnZVJlZiBwYWdlKQogICAgICAgICBzaG91bGRDYWNoZVJlc3BvbnNlLAogICAgICAgICAw
IC8vIHNob3VsZFVzZUNyZWRlbnRpYWxTdG9yYWdlCiAgICAgfTsKLSAgICBXS0J1bmRsZVBhZ2VT
ZXRSZXNvdXJjZUxvYWRDbGllbnQobV9wYWdlLCAmcmVzb3VyY2VMb2FkQ2xpZW50KTsKKyAgICBX
S0J1bmRsZVBhZ2VTZXRSZXNvdXJjZUxvYWRDbGllbnQobV9wYWdlLCAmcmVzb3VyY2VMb2FkQ2xp
ZW50LmJhc2UpOwogCi0gICAgV0tCdW5kbGVQYWdlUG9saWN5Q2xpZW50IHBvbGljeUNsaWVudCA9
IHsKLSAgICAgICAga1dLQnVuZGxlUGFnZVBvbGljeUNsaWVudEN1cnJlbnRWZXJzaW9uLAotICAg
ICAgICB0aGlzLAorICAgIFdLQnVuZGxlUGFnZVBvbGljeUNsaWVudFYwIHBvbGljeUNsaWVudCA9
IHsKKyAgICAgICAgeyAwLCB0aGlzIH0sCiAgICAgICAgIGRlY2lkZVBvbGljeUZvck5hdmlnYXRp
b25BY3Rpb24sCiAgICAgICAgIGRlY2lkZVBvbGljeUZvck5ld1dpbmRvd0FjdGlvbiwKICAgICAg
ICAgZGVjaWRlUG9saWN5Rm9yUmVzcG9uc2UsCiAgICAgICAgIHVuYWJsZVRvSW1wbGVtZW50UG9s
aWN5CiAgICAgfTsKLSAgICBXS0J1bmRsZVBhZ2VTZXRQb2xpY3lDbGllbnQobV9wYWdlLCAmcG9s
aWN5Q2xpZW50KTsKKyAgICBXS0J1bmRsZVBhZ2VTZXRQb2xpY3lDbGllbnQobV9wYWdlLCAmcG9s
aWN5Q2xpZW50LmJhc2UpOwogCi0gICAgV0tCdW5kbGVQYWdlVUlDbGllbnQgdWlDbGllbnQgPSB7
Ci0gICAgICAgIGtXS0J1bmRsZVBhZ2VVSUNsaWVudEN1cnJlbnRWZXJzaW9uLAotICAgICAgICB0
aGlzLAorICAgIFdLQnVuZGxlUGFnZVVJQ2xpZW50VjIgdWlDbGllbnQgPSB7CisgICAgICAgIHsg
MiwgdGhpcyB9LAogICAgICAgICB3aWxsQWRkTWVzc2FnZVRvQ29uc29sZSwKICAgICAgICAgd2ls
bFNldFN0YXR1c2JhclRleHQsCiAgICAgICAgIHdpbGxSdW5KYXZhU2NyaXB0QWxlcnQsCkBAIC0z
NTcsMTEgKzM1MywxMCBAQCBJbmplY3RlZEJ1bmRsZVBhZ2U6OkluamVjdGVkQnVuZGxlUGFnZShX
S0J1bmRsZVBhZ2VSZWYgcGFnZSkKICAgICAgICAgMCwgLypwbHVnSW5FeHRyYVN0eWxlU2hlZXQq
LwogICAgICAgICAwLCAvKnBsdWdJbkV4dHJhU2NyaXB0Ki8KICAgICB9OwotICAgIFdLQnVuZGxl
UGFnZVNldFVJQ2xpZW50KG1fcGFnZSwgJnVpQ2xpZW50KTsKKyAgICBXS0J1bmRsZVBhZ2VTZXRV
SUNsaWVudChtX3BhZ2UsICZ1aUNsaWVudC5iYXNlKTsKIAotICAgIFdLQnVuZGxlUGFnZUVkaXRv
ckNsaWVudCBlZGl0b3JDbGllbnQgPSB7Ci0gICAgICAgIGtXS0J1bmRsZVBhZ2VFZGl0b3JDbGll
bnRDdXJyZW50VmVyc2lvbiwKLSAgICAgICAgdGhpcywKKyAgICBXS0J1bmRsZVBhZ2VFZGl0b3JD
bGllbnRWMSBlZGl0b3JDbGllbnQgPSB7CisgICAgICAgIHsgMSwgdGhpcyB9LAogICAgICAgICBz
aG91bGRCZWdpbkVkaXRpbmcsCiAgICAgICAgIHNob3VsZEVuZEVkaXRpbmcsCiAgICAgICAgIHNo
b3VsZEluc2VydE5vZGUsCkBAIC0zNzcsMTIgKzM3MiwxMSBAQCBJbmplY3RlZEJ1bmRsZVBhZ2U6
OkluamVjdGVkQnVuZGxlUGFnZShXS0J1bmRsZVBhZ2VSZWYgcGFnZSkKICAgICAgICAgMCwgLyog
Z2V0UGFzdGVib2FyZERhdGFGb3JSYW5nZSAqLwogICAgICAgICAwICAvKiBkaWRXcml0ZVRvUGFz
dGVib2FyZCAqLwogICAgIH07Ci0gICAgV0tCdW5kbGVQYWdlU2V0RWRpdG9yQ2xpZW50KG1fcGFn
ZSwgJmVkaXRvckNsaWVudCk7CisgICAgV0tCdW5kbGVQYWdlU2V0RWRpdG9yQ2xpZW50KG1fcGFn
ZSwgJmVkaXRvckNsaWVudC5iYXNlKTsKIAogI2lmIEVOQUJMRShGVUxMU0NSRUVOX0FQSSkKLSAg
ICBXS0J1bmRsZVBhZ2VGdWxsU2NyZWVuQ2xpZW50IGZ1bGxTY3JlZW5DbGllbnQgPSB7Ci0gICAg
ICAgIGtXS0J1bmRsZVBhZ2VGdWxsU2NyZWVuQ2xpZW50Q3VycmVudFZlcnNpb24sCi0gICAgICAg
IHRoaXMsCisgICAgV0tCdW5kbGVQYWdlRnVsbFNjcmVlbkNsaWVudFYxIGZ1bGxTY3JlZW5DbGll
bnQgPSB7CisgICAgICAgIHsgMSwgdGhpcyB9LAogICAgICAgICBzdXBwb3J0c0Z1bGxTY3JlZW4s
CiAgICAgICAgIGVudGVyRnVsbFNjcmVlbkZvckVsZW1lbnQsCiAgICAgICAgIGV4aXRGdWxsU2Ny
ZWVuRm9yRWxlbWVudCwKQEAgLTM5MCw3ICszODQsNyBAQCBJbmplY3RlZEJ1bmRsZVBhZ2U6Oklu
amVjdGVkQnVuZGxlUGFnZShXS0J1bmRsZVBhZ2VSZWYgcGFnZSkKICAgICAgICAgYmVnYW5FeGl0
RnVsbFNjcmVlbiwKICAgICAgICAgY2xvc2VGdWxsU2NyZWVuLAogICAgIH07Ci0gICAgV0tCdW5k
bGVQYWdlU2V0RnVsbFNjcmVlbkNsaWVudChtX3BhZ2UsICZmdWxsU2NyZWVuQ2xpZW50KTsKKyAg
ICBXS0J1bmRsZVBhZ2VTZXRGdWxsU2NyZWVuQ2xpZW50KG1fcGFnZSwgJmZ1bGxTY3JlZW5DbGll
bnQuYmFzZSk7CiAjZW5kaWYKIH0KIApkaWZmIC0tZ2l0IGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5l
ci9UZXN0Q29udHJvbGxlci5jcHAgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL1Rlc3RDb250cm9s
bGVyLmNwcAppbmRleCBmNjU0MjIzNThjZDQ0OTg2ZTNiYWYwNWRhY2Q4MWI3NTY0NzhmOTMzLi41
M2RhMDNhMjdhNjZjZGNjNGM4NjYwMjk4MjkyYjU5ZWFjZjUyMTg4IDEwMDY0NAotLS0gYS9Ub29s
cy9XZWJLaXRUZXN0UnVubmVyL1Rlc3RDb250cm9sbGVyLmNwcAorKysgYi9Ub29scy9XZWJLaXRU
ZXN0UnVubmVyL1Rlc3RDb250cm9sbGVyLmNwcApAQCAtMTkwLDkgKzE5MCw4IEBAIFdLUGFnZVJl
ZiBUZXN0Q29udHJvbGxlcjo6Y3JlYXRlT3RoZXJQYWdlKFdLUGFnZVJlZiBvbGRQYWdlLCBXS1VS
TFJlcXVlc3RSZWYsIFdLCiAKICAgICB2aWV3LT5yZXNpemVUbyg4MDAsIDYwMCk7CiAKLSAgICBX
S1BhZ2VVSUNsaWVudCBvdGhlclBhZ2VVSUNsaWVudCA9IHsKLSAgICAgICAga1dLUGFnZVVJQ2xp
ZW50Q3VycmVudFZlcnNpb24sCi0gICAgICAgIHZpZXcsCisgICAgV0tQYWdlVUlDbGllbnRWMiBv
dGhlclBhZ2VVSUNsaWVudCA9IHsKKyAgICAgICAgeyAyLCB2aWV3IH0sCiAgICAgICAgIDAsIC8v
IGNyZWF0ZU5ld1BhZ2VfZGVwcmVjYXRlZEZvclVzZVdpdGhWMAogICAgICAgICAwLCAvLyBzaG93
UGFnZQogICAgICAgICBjbG9zZU90aGVyUGFnZSwKQEAgLTI0MCw3ICsyMzksNyBAQCBXS1BhZ2VS
ZWYgVGVzdENvbnRyb2xsZXI6OmNyZWF0ZU90aGVyUGFnZShXS1BhZ2VSZWYgb2xkUGFnZSwgV0tV
UkxSZXF1ZXN0UmVmLCBXSwogICAgICAgICAwLCAvLyBoaWRlQ29sb3JQaWNrZXIKICAgICAgICAg
MCwgLy8gdW5hdmFpbGFibGVQbHVnaW5CdXR0b25DbGlja2VkCiAgICAgfTsKLSAgICBXS1BhZ2VT
ZXRQYWdlVUlDbGllbnQobmV3UGFnZSwgJm90aGVyUGFnZVVJQ2xpZW50KTsKKyAgICBXS1BhZ2VT
ZXRQYWdlVUlDbGllbnQobmV3UGFnZSwgJm90aGVyUGFnZVVJQ2xpZW50LmJhc2UpOwogCiAgICAg
dmlldy0+ZGlkSW5pdGlhbGl6ZUNsaWVudHMoKTsKIApAQCAtMzY2LDE0ICszNjUsMTMgQEAgdm9p
ZCBUZXN0Q29udHJvbGxlcjo6aW5pdGlhbGl6ZShpbnQgYXJnYywgY29uc3QgY2hhciogYXJndltd
KQogCiAgICAgcGxhdGZvcm1Jbml0aWFsaXplQ29udGV4dCgpOwogCi0gICAgV0tDb250ZXh0SW5q
ZWN0ZWRCdW5kbGVDbGllbnQgaW5qZWN0ZWRCdW5kbGVDbGllbnQgPSB7Ci0gICAgICAgIGtXS0Nv
bnRleHRJbmplY3RlZEJ1bmRsZUNsaWVudEN1cnJlbnRWZXJzaW9uLAotICAgICAgICB0aGlzLAor
ICAgIFdLQ29udGV4dEluamVjdGVkQnVuZGxlQ2xpZW50VjEgaW5qZWN0ZWRCdW5kbGVDbGllbnQg
PSB7CisgICAgICAgIHsgMSwgdGhpcyB9LAogICAgICAgICBkaWRSZWNlaXZlTWVzc2FnZUZyb21J
bmplY3RlZEJ1bmRsZSwKICAgICAgICAgZGlkUmVjZWl2ZVN5bmNocm9ub3VzTWVzc2FnZUZyb21J
bmplY3RlZEJ1bmRsZSwKICAgICAgICAgMCAvLyBnZXRJbmplY3RlZEJ1bmRsZUluaXRpYWxpemF0
aW9uVXNlckRhdGEKICAgICB9OwotICAgIFdLQ29udGV4dFNldEluamVjdGVkQnVuZGxlQ2xpZW50
KG1fY29udGV4dC5nZXQoKSwgJmluamVjdGVkQnVuZGxlQ2xpZW50KTsKKyAgICBXS0NvbnRleHRT
ZXRJbmplY3RlZEJ1bmRsZUNsaWVudChtX2NvbnRleHQuZ2V0KCksICZpbmplY3RlZEJ1bmRsZUNs
aWVudC5iYXNlKTsKIAogICAgIFdLTm90aWZpY2F0aW9uTWFuYWdlclJlZiBub3RpZmljYXRpb25N
YW5hZ2VyID0gV0tDb250ZXh0R2V0Tm90aWZpY2F0aW9uTWFuYWdlcihtX2NvbnRleHQuZ2V0KCkp
OwogICAgIFdLTm90aWZpY2F0aW9uUHJvdmlkZXJWMCBub3RpZmljYXRpb25LaXQgPSBtX3dlYk5v
dGlmaWNhdGlvblByb3ZpZGVyLnByb3ZpZGVyKCk7CkBAIC0zOTEsOSArMzg5LDggQEAgdm9pZCBU
ZXN0Q29udHJvbGxlcjo6aW5pdGlhbGl6ZShpbnQgYXJnYywgY29uc3QgY2hhciogYXJndltdKQog
dm9pZCBUZXN0Q29udHJvbGxlcjo6Y3JlYXRlV2ViVmlld1dpdGhPcHRpb25zKFdLRGljdGlvbmFy
eVJlZiBvcHRpb25zKQogewogICAgIG1fbWFpbldlYlZpZXcgPSBhZG9wdFB0cihuZXcgUGxhdGZv
cm1XZWJWaWV3KG1fY29udGV4dC5nZXQoKSwgbV9wYWdlR3JvdXAuZ2V0KCksIDAsIG9wdGlvbnMp
KTsKLSAgICBXS1BhZ2VVSUNsaWVudCBwYWdlVUlDbGllbnQgPSB7Ci0gICAgICAgIGtXS1BhZ2VV
SUNsaWVudEN1cnJlbnRWZXJzaW9uLAotICAgICAgICBtX21haW5XZWJWaWV3LmdldCgpLAorICAg
IFdLUGFnZVVJQ2xpZW50VjIgcGFnZVVJQ2xpZW50ID0geworICAgICAgICB7IDIsIG1fbWFpbldl
YlZpZXcuZ2V0KCkgfSwKICAgICAgICAgMCwgLy8gY3JlYXRlTmV3UGFnZV9kZXByZWNhdGVkRm9y
VXNlV2l0aFYwCiAgICAgICAgIDAsIC8vIHNob3dQYWdlCiAgICAgICAgIDAsIC8vIGNsb3NlCkBA
IC00NDEsMTEgKzQzOCwxMCBAQCB2b2lkIFRlc3RDb250cm9sbGVyOjpjcmVhdGVXZWJWaWV3V2l0
aE9wdGlvbnMoV0tEaWN0aW9uYXJ5UmVmIG9wdGlvbnMpCiAgICAgICAgIDAsIC8vIGhpZGVDb2xv
clBpY2tlcgogICAgICAgICB1bmF2YWlsYWJsZVBsdWdpbkJ1dHRvbkNsaWNrZWQsCiAgICAgfTsK
LSAgICBXS1BhZ2VTZXRQYWdlVUlDbGllbnQobV9tYWluV2ViVmlldy0+cGFnZSgpLCAmcGFnZVVJ
Q2xpZW50KTsKKyAgICBXS1BhZ2VTZXRQYWdlVUlDbGllbnQobV9tYWluV2ViVmlldy0+cGFnZSgp
LCAmcGFnZVVJQ2xpZW50LmJhc2UpOwogCi0gICAgV0tQYWdlTG9hZGVyQ2xpZW50IHBhZ2VMb2Fk
ZXJDbGllbnQgPSB7Ci0gICAgICAgIGtXS1BhZ2VMb2FkZXJDbGllbnRDdXJyZW50VmVyc2lvbiwK
LSAgICAgICAgdGhpcywKKyAgICBXS1BhZ2VMb2FkZXJDbGllbnRWMyBwYWdlTG9hZGVyQ2xpZW50
ID0geworICAgICAgICB7IDMsIHRoaXMgfSwKICAgICAgICAgMCwgLy8gZGlkU3RhcnRQcm92aXNp
b25hbExvYWRGb3JGcmFtZQogICAgICAgICAwLCAvLyBkaWRSZWNlaXZlU2VydmVyUmVkaXJlY3RG
b3JQcm92aXNpb25hbExvYWRGb3JGcmFtZQogICAgICAgICAwLCAvLyBkaWRGYWlsUHJvdmlzaW9u
YWxMb2FkV2l0aEVycm9yRm9yRnJhbWUKQEAgLTQ4MywxMSArNDc5LDEwIEBAIHZvaWQgVGVzdENv
bnRyb2xsZXI6OmNyZWF0ZVdlYlZpZXdXaXRoT3B0aW9ucyhXS0RpY3Rpb25hcnlSZWYgb3B0aW9u
cykKICAgICAgICAgMCwgLy8gcGx1Z2luRGlkRmFpbAogICAgICAgICBwbHVnaW5Mb2FkUG9saWN5
LCAvLyBwbHVnaW5Mb2FkUG9saWN5CiAgICAgfTsKLSAgICBXS1BhZ2VTZXRQYWdlTG9hZGVyQ2xp
ZW50KG1fbWFpbldlYlZpZXctPnBhZ2UoKSwgJnBhZ2VMb2FkZXJDbGllbnQpOworICAgIFdLUGFn
ZVNldFBhZ2VMb2FkZXJDbGllbnQobV9tYWluV2ViVmlldy0+cGFnZSgpLCAmcGFnZUxvYWRlckNs
aWVudC5iYXNlKTsKIAotICAgIFdLUGFnZVBvbGljeUNsaWVudCBwYWdlUG9saWN5Q2xpZW50ID0g
ewotICAgICAgICBrV0tQYWdlUG9saWN5Q2xpZW50Q3VycmVudFZlcnNpb24sCi0gICAgICAgIHRo
aXMsCisgICAgV0tQYWdlUG9saWN5Q2xpZW50VjEgcGFnZVBvbGljeUNsaWVudCA9IHsKKyAgICAg
ICAgeyAxLCB0aGlzIH0sCiAgICAgICAgIDAsIC8vIGRlY2lkZVBvbGljeUZvck5hdmlnYXRpb25B
Y3Rpb25fZGVwcmVjYXRlZEZvclVzZVdpdGhWMAogICAgICAgICAwLCAvLyBkZWNpZGVQb2xpY3lG
b3JOZXdXaW5kb3dBY3Rpb24KICAgICAgICAgMCwgLy8gZGVjaWRlUG9saWN5Rm9yUmVzcG9uc2Vf
ZGVwcmVjYXRlZEZvclVzZVdpdGhWMApAQCAtNDk1LDcgKzQ5MCw3IEBAIHZvaWQgVGVzdENvbnRy
b2xsZXI6OmNyZWF0ZVdlYlZpZXdXaXRoT3B0aW9ucyhXS0RpY3Rpb25hcnlSZWYgb3B0aW9ucykK
ICAgICAgICAgZGVjaWRlUG9saWN5Rm9yTmF2aWdhdGlvbkFjdGlvbiwKICAgICAgICAgZGVjaWRl
UG9saWN5Rm9yUmVzcG9uc2UsCiAgICAgfTsKLSAgICBXS1BhZ2VTZXRQYWdlUG9saWN5Q2xpZW50
KG1fbWFpbldlYlZpZXctPnBhZ2UoKSwgJnBhZ2VQb2xpY3lDbGllbnQpOworICAgIFdLUGFnZVNl
dFBhZ2VQb2xpY3lDbGllbnQobV9tYWluV2ViVmlldy0+cGFnZSgpLCAmcGFnZVBvbGljeUNsaWVu
dC5iYXNlKTsKIAogICAgIG1fbWFpbldlYlZpZXctPmRpZEluaXRpYWxpemVDbGllbnRzKCk7CiB9
Cg==
</data>
<flag name="review"
          id="241762"
          type_id="1"
          status="+"
          setter="mitz"
    />
    <flag name="commit-queue"
          id="241813"
          type_id="3"
          status="-"
          setter="eflews.bot"
    />
          </attachment>
      

    </bug>

</bugzilla>