<?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>116796</bug_id>
          
          <creation_ts>2013-05-26 13:56:58 -0700</creation_ts>
          <short_desc>Remove ENABLE_INPUT_MULTIPLE_FIELDS_UI</short_desc>
          <delta_ts>2013-05-29 01:47:42 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Forms</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="Kent Tamura">tkent</reporter>
          <assigned_to name="Kent Tamura">tkent</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>kling</cc>
    
    <cc>philn</cc>
    
    <cc>rniwa</cc>
    
    <cc>syoichi</cc>
    
    <cc>xan.lopez</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>893809</commentid>
    <comment_count>0</comment_count>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2013-05-26 13:56:58 -0700</bug_when>
    <thetext>Remove ENABLE_INPUT_MULTIPLE_FIELDS_UI</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>893836</commentid>
    <comment_count>1</comment_count>
      <attachid>202936</attachid>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2013-05-26 17:13:31 -0700</bug_when>
    <thetext>Created attachment 202936
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>893843</commentid>
    <comment_count>2</comment_count>
      <attachid>202939</attachid>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2013-05-26 17:47:30 -0700</bug_when>
    <thetext>Created attachment 202939
Patch 2

GTK build fix</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>894724</commentid>
    <comment_count>3</comment_count>
      <attachid>202939</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2013-05-29 00:33:00 -0700</bug_when>
    <thetext>Comment on attachment 202939
Patch 2

rs=me.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>894729</commentid>
    <comment_count>4</comment_count>
      <attachid>202939</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2013-05-29 00:36:59 -0700</bug_when>
    <thetext>Comment on attachment 202939
Patch 2

Rejecting attachment 202939 from commit-queue.

Failed to run &quot;[&apos;/Volumes/Data/EWS/WebKit/Tools/Scripts/webkit-patch&apos;, &apos;--status-host=webkit-queues.appspot.com&apos;, &apos;--bot-id=webkit-cq-01&apos;, &apos;apply-attachment&apos;, &apos;--no-update&apos;, &apos;--non-interactive&apos;, 202939, &apos;--port=mac&apos;]&quot; exit_code: 2 cwd: /Volumes/Data/EWS/WebKit

Last 500 characters of output:
stExpectations
patching file LayoutTests/platform/gtk/TestExpectations
patching file LayoutTests/platform/mac/TestExpectations
patching file LayoutTests/platform/qt/TestExpectations
patching file LayoutTests/platform/win/TestExpectations
Hunk #1 succeeded at 2053 (offset -1 lines).
patching file LayoutTests/platform/wincairo/TestExpectations

Failed to run &quot;[u&apos;/Volumes/Data/EWS/WebKit/Tools/Scripts/svn-apply&apos;, &apos;--force&apos;, &apos;--reviewer&apos;, u&apos;Ryosuke Niwa&apos;]&quot; exit_code: 1 cwd: /Volumes/Data/EWS/WebKit

Full output: http://webkit-queues.appspot.com/results/709334</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>894758</commentid>
    <comment_count>5</comment_count>
      <attachid>203135</attachid>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2013-05-29 01:16:33 -0700</bug_when>
    <thetext>Created attachment 203135
Patch for landing

rebase</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>894781</commentid>
    <comment_count>6</comment_count>
      <attachid>203135</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2013-05-29 01:47:40 -0700</bug_when>
    <thetext>Comment on attachment 203135
Patch for landing

Clearing flags on attachment: 203135

Committed r150876: &lt;http://trac.webkit.org/changeset/150876&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>894782</commentid>
    <comment_count>7</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2013-05-29 01:47:42 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>202936</attachid>
            <date>2013-05-26 17:13:31 -0700</date>
            <delta_ts>2013-05-26 17:47:23 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-116796-20130527091211.patch</filename>
            <type>text/plain</type>
            <size>663003</size>
            <attacher name="Kent Tamura">tkent</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTUwNzI3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IDdkNTlmYWZjMTcwODU1NjFkN2RlM2Jm
MWYwMTllOWFlMDg3OGYwYjkuLmFhM2RlYTYzNTU1MGRjYmJlMGMzZWRkNGRjYWJmZTI5ZjI2MGRi
OGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTIgQEAKKzIwMTMtMDUtMjcgIEtlbnQgVGFtdXJhICA8dGtlbnRA
Y2hyb21pdW0ub3JnPgorCisgICAgICAgIFJlbW92ZSBFTkFCTEVfSU5QVVRfTVVMVElQTEVfRklF
TERTX1VJLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MTE2Nzk2CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
KiB3dGYvRmVhdHVyZURlZmluZXMuaDoKKwogMjAxMy0wNS0yNiAgS2VudCBUYW11cmEgIDx0a2Vu
dEBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgUmVtb3ZlIEVOQUJMRV9DQUxFTkRBUl9QSUNLRVIK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCBlM2ViNTQwMzkwNDBlMmZhYzM3MGI1YmVmOTIwNTBmOGViMWY4ODI4Li43
NTM0N2VkYTJjNmJhY2M2NTVmZWRiZmIwN2MyMDlhNGZiNzk1MDAwIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsODEgQEAKKzIwMTMtMDUtMjcgIEtlbnQgVGFtdXJhICA8dGtlbnRAY2hyb21pdW0ub3Jn
PgorCisgICAgICAgIFJlbW92ZSBFTkFCTEVfSU5QVVRfTVVMVElQTEVfRklFTERTX1VJLgorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTE2Nzk2CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGhpcyBmZWF0dXJl
IHdhcyB1c2VkIG9ubHkgYnkgQ2hyb21pdW0gcG9ydC4KKworICAgICAgICAqIENNYWtlTGlzdHMu
dHh0OgorICAgICAgICAqIEdOVW1ha2VmaWxlLmxpc3QuYW06CisgICAgICAgICogVGFyZ2V0LnBy
aToKKyAgICAgICAgKiBXZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvajoKKyAgICAgICAgKiBX
ZWJDb3JlLnZjeHByb2ovV2ViQ29yZS52Y3hwcm9qOgorICAgICAgICAqIFdlYkNvcmUudmN4cHJv
ai9XZWJDb3JlLnZjeHByb2ouZmlsdGVyczoKKyAgICAgICAgKiBXZWJDb3JlLnhjb2RlcHJvai9w
cm9qZWN0LnBieHByb2o6CisgICAgICAgICogY3NzL2h0bWwuY3NzOgorICAgICAgICAoaW5wdXQ6
Oi13ZWJraXQtZGF0ZS1hbmQtdGltZS12YWx1ZSk6CisgICAgICAgICogZG9tL0VsZW1lbnQuY3Bw
OgorICAgICAgICAqIGRvbS9FbGVtZW50Lmg6CisgICAgICAgICogaHRtbC9CYXNlQ2hvb3Nlck9u
bHlEYXRlQW5kVGltZUlucHV0VHlwZS5jcHA6CisgICAgICAgICogaHRtbC9CYXNlQ2hvb3Nlck9u
bHlEYXRlQW5kVGltZUlucHV0VHlwZS5oOgorICAgICAgICAqIGh0bWwvQmFzZU11bHRpcGxlRmll
bGRzRGF0ZUFuZFRpbWVJbnB1dFR5cGUuY3BwOiBSZW1vdmVkLgorICAgICAgICAqIGh0bWwvQmFz
ZU11bHRpcGxlRmllbGRzRGF0ZUFuZFRpbWVJbnB1dFR5cGUuaDogUmVtb3ZlZC4KKyAgICAgICAg
KiBodG1sL0RhdGVJbnB1dFR5cGUuY3BwOgorICAgICAgICAqIGh0bWwvRGF0ZUlucHV0VHlwZS5o
OgorICAgICAgICAoRGF0ZUlucHV0VHlwZSk6CisgICAgICAgICogaHRtbC9EYXRlVGltZUZpZWxk
c1N0YXRlLmNwcDogUmVtb3ZlZC4KKyAgICAgICAgKiBodG1sL0RhdGVUaW1lRmllbGRzU3RhdGUu
aDogUmVtb3ZlZC4KKyAgICAgICAgKiBodG1sL0RhdGVUaW1lSW5wdXRUeXBlLmNwcDoKKyAgICAg
ICAgKiBodG1sL0RhdGVUaW1lSW5wdXRUeXBlLmg6CisgICAgICAgIChEYXRlVGltZUlucHV0VHlw
ZSk6CisgICAgICAgICogaHRtbC9EYXRlVGltZUxvY2FsSW5wdXRUeXBlLmNwcDoKKyAgICAgICAg
KiBodG1sL0RhdGVUaW1lTG9jYWxJbnB1dFR5cGUuaDoKKyAgICAgICAgKERhdGVUaW1lTG9jYWxJ
bnB1dFR5cGUpOgorICAgICAgICAqIGh0bWwvSFRNTElucHV0RWxlbWVudC5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpIVE1MSW5wdXRFbGVtZW50OjpIVE1MSW5wdXRFbGVtZW50KToKKyAgICAgICAg
KFdlYkNvcmUpOgorICAgICAgICAqIGh0bWwvSFRNTElucHV0RWxlbWVudC5oOgorICAgICAgICAo
SFRNTElucHV0RWxlbWVudCk6CisgICAgICAgICogaHRtbC9JbnB1dFR5cGUuY3BwOgorICAgICAg
ICAqIGh0bWwvSW5wdXRUeXBlLmg6CisgICAgICAgIChJbnB1dFR5cGUpOgorICAgICAgICAqIGh0
bWwvTW9udGhJbnB1dFR5cGUuY3BwOgorICAgICAgICAqIGh0bWwvTW9udGhJbnB1dFR5cGUuaDoK
KyAgICAgICAgKE1vbnRoSW5wdXRUeXBlKToKKyAgICAgICAgKiBodG1sL1RpbWVJbnB1dFR5cGUu
Y3BwOgorICAgICAgICAqIGh0bWwvVGltZUlucHV0VHlwZS5oOgorICAgICAgICAoVGltZUlucHV0
VHlwZSk6CisgICAgICAgICogaHRtbC9XZWVrSW5wdXRUeXBlLmNwcDoKKyAgICAgICAgKiBodG1s
L1dlZWtJbnB1dFR5cGUuaDoKKyAgICAgICAgKFdlZWtJbnB1dFR5cGUpOgorICAgICAgICAqIGh0
bWwvc2hhZG93L0NsZWFyQnV0dG9uRWxlbWVudC5jcHA6IFJlbW92ZWQuCisgICAgICAgICogaHRt
bC9zaGFkb3cvQ2xlYXJCdXR0b25FbGVtZW50Lmg6IFJlbW92ZWQuCisgICAgICAgICogaHRtbC9z
aGFkb3cvRGF0ZVRpbWVFZGl0RWxlbWVudC5jcHA6IFJlbW92ZWQuCisgICAgICAgICogaHRtbC9z
aGFkb3cvRGF0ZVRpbWVFZGl0RWxlbWVudC5oOiBSZW1vdmVkLgorICAgICAgICAqIGh0bWwvc2hh
ZG93L0RhdGVUaW1lRmllbGRFbGVtZW50LmNwcDogUmVtb3ZlZC4KKyAgICAgICAgKiBodG1sL3No
YWRvdy9EYXRlVGltZUZpZWxkRWxlbWVudC5oOiBSZW1vdmVkLgorICAgICAgICAqIGh0bWwvc2hh
ZG93L0RhdGVUaW1lRmllbGRFbGVtZW50cy5jcHA6IFJlbW92ZWQuCisgICAgICAgICogaHRtbC9z
aGFkb3cvRGF0ZVRpbWVGaWVsZEVsZW1lbnRzLmg6IFJlbW92ZWQuCisgICAgICAgICogaHRtbC9z
aGFkb3cvRGF0ZVRpbWVOdW1lcmljRmllbGRFbGVtZW50LmNwcDogUmVtb3ZlZC4KKyAgICAgICAg
KiBodG1sL3NoYWRvdy9EYXRlVGltZU51bWVyaWNGaWVsZEVsZW1lbnQuaDogUmVtb3ZlZC4KKyAg
ICAgICAgKiBodG1sL3NoYWRvdy9EYXRlVGltZVN5bWJvbGljRmllbGRFbGVtZW50LmNwcDogUmVt
b3ZlZC4KKyAgICAgICAgKiBodG1sL3NoYWRvdy9EYXRlVGltZVN5bWJvbGljRmllbGRFbGVtZW50
Lmg6IFJlbW92ZWQuCisgICAgICAgICogaHRtbC9zaGFkb3cvUGlja2VySW5kaWNhdG9yRWxlbWVu
dC5jcHA6IFJlbW92ZWQuCisgICAgICAgICogaHRtbC9zaGFkb3cvUGlja2VySW5kaWNhdG9yRWxl
bWVudC5oOiBSZW1vdmVkLgorICAgICAgICAqIHBhZ2UvQ2hyb21lQ2xpZW50Lmg6CisgICAgICAg
IChDaHJvbWVDbGllbnQpOgorICAgICAgICAqIHBsYXRmb3JtL0xvY2FsaXplZFN0cmluZ3MuaDoK
KyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAqIHBsYXRmb3JtL3RleHQvUGxhdGZvcm1Mb2Nh
bGUuY3BwOgorICAgICAgICAqIHBsYXRmb3JtL3RleHQvUGxhdGZvcm1Mb2NhbGUuaDoKKyAgICAg
ICAgKExvY2FsZSk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckRldGFpbHNNYXJrZXIuY3Bw
OgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJEZXRhaWxzTWFya2VyLmg6CisgICAgICAgICog
cmVuZGVyaW5nL1JlbmRlck9iamVjdC5oOgorICAgICAgICAoUmVuZGVyT2JqZWN0KToKKwogMjAx
My0wNS0yNiAgQW50dGkgS29pdmlzdG8gIDxhbnR0aUBhcHBsZS5jb20+CiAKICAgICAgICAgUmVu
YW1lIEZvbnRGYWxsYmFja0xpc3QgdG8gRm9udEdseXBocwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9ibGFja2JlcnJ5L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvYmxhY2tiZXJyeS9DaGFu
Z2VMb2cKaW5kZXggZmQ3MDdiYjZjZjcwZWY3ZGM3ZTQ2NWY3MmQxYWUzZGMyYjc5YzcyOS4uMWZl
Zjc3MGYzM2I5OTMwYTYzMjZkNDQzZmZhZjE5Mzg5N2RjY2E5NCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9ibGFja2JlcnJ5L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L2JsYWNrYmVy
cnkvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTIgQEAKKzIwMTMtMDUtMjcgIEtlbnQgVGFtdXJhICA8
dGtlbnRAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFJlbW92ZSBFTkFCTEVfSU5QVVRfTVVMVElQ
TEVfRklFTERTX1VJLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MTE2Nzk2CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgKiBXZWJDb3JlU3VwcG9ydC9BYm91dERhdGFFbmFibGVGZWF0dXJlcy5pbjoKKwogMjAx
My0wNS0yNiAgS2VudCBUYW11cmEgIDx0a2VudEBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgUmVt
b3ZlIEVOQUJMRV9DQUxFTkRBUl9QSUNLRVIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3RmL0Zl
YXR1cmVEZWZpbmVzLmggYi9Tb3VyY2UvV1RGL3d0Zi9GZWF0dXJlRGVmaW5lcy5oCmluZGV4IDAz
NWI1YmIxNzU0NTc4NmNhOTQyNTMzYTRkYzBiNTIwNDcwMTdjZGIuLmIxYjE4ZGRiMTNjNGRkNWFl
NDFlYTlhZDAyNjg3MWVjYjJkN2Q4MjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvd3RmL0ZlYXR1
cmVEZWZpbmVzLmgKKysrIGIvU291cmNlL1dURi93dGYvRmVhdHVyZURlZmluZXMuaApAQCAtNDk0
LDEwICs0OTQsNiBAQAogI2RlZmluZSBFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRSAwCiAjZW5kaWYK
IAotI2lmICFkZWZpbmVkKEVOQUJMRV9JTlBVVF9NVUxUSVBMRV9GSUVMRFNfVUkpCi0jZGVmaW5l
IEVOQUJMRV9JTlBVVF9NVUxUSVBMRV9GSUVMRFNfVUkgMAotI2VuZGlmCi0KICNpZiAhZGVmaW5l
ZChFTkFCTEVfSU5QVVRfU1BFRUNIKQogI2RlZmluZSBFTkFCTEVfSU5QVVRfU1BFRUNIIDAKICNl
bmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQgYi9Tb3VyY2Uv
V2ViQ29yZS9DTWFrZUxpc3RzLnR4dAppbmRleCAzNzFkYzliN2RlZWM4MzAyM2I1YzkxY2E1ZTA5
Yjg1NjMwZmU2YjE2Li5lNzFkZGJkNWIwZmE3NWJlNjRhNDY2MjUxZGU5M2M3MGIxZmY1YzRjIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9DTWFrZUxpc3RzLnR4dApAQCAtMTM0MSw3ICsxMzQxLDYgQEAgc2V0KFdlYkNvcmVfU09V
UkNFUwogICAgIGh0bWwvQmFzZUNob29zZXJPbmx5RGF0ZUFuZFRpbWVJbnB1dFR5cGUuY3BwCiAg
ICAgaHRtbC9CYXNlQ2xpY2thYmxlV2l0aEtleUlucHV0VHlwZS5jcHAKICAgICBodG1sL0Jhc2VE
YXRlQW5kVGltZUlucHV0VHlwZS5jcHAKLSAgICBodG1sL0Jhc2VNdWx0aXBsZUZpZWxkc0RhdGVB
bmRUaW1lSW5wdXRUeXBlLmNwcAogICAgIGh0bWwvQmFzZVRleHRJbnB1dFR5cGUuY3BwCiAgICAg
aHRtbC9CdXR0b25JbnB1dFR5cGUuY3BwCiAgICAgaHRtbC9DaGVja2JveElucHV0VHlwZS5jcHAK
QEAgLTE1NTcsMTMgKzE1NTYsNyBAQCBzZXQoV2ViQ29yZV9TT1VSQ0VTCiAgICAgaHRtbC9wYXJz
ZXIvWFNTQXVkaXRvci5jcHAKICAgICBodG1sL3BhcnNlci9YU1NBdWRpdG9yRGVsZWdhdGUuY3Bw
CiAKLSAgICBodG1sL3NoYWRvdy9DbGVhckJ1dHRvbkVsZW1lbnQuY3BwCiAgICAgaHRtbC9zaGFk
b3cvQ29udGVudERpc3RyaWJ1dG9yLmNwcAotICAgIGh0bWwvc2hhZG93L0RhdGVUaW1lRWRpdEVs
ZW1lbnQuY3BwCi0gICAgaHRtbC9zaGFkb3cvRGF0ZVRpbWVGaWVsZEVsZW1lbnQuY3BwCi0gICAg
aHRtbC9zaGFkb3cvRGF0ZVRpbWVGaWVsZEVsZW1lbnRzLmNwcAotICAgIGh0bWwvc2hhZG93L0Rh
dGVUaW1lTnVtZXJpY0ZpZWxkRWxlbWVudC5jcHAKLSAgICBodG1sL3NoYWRvdy9EYXRlVGltZVN5
bWJvbGljRmllbGRFbGVtZW50LmNwcAogICAgIGh0bWwvc2hhZG93L0RldGFpbHNNYXJrZXJDb250
cm9sLmNwcAogICAgIGh0bWwvc2hhZG93L0hUTUxDb250ZW50RWxlbWVudC5jcHAKICAgICBodG1s
L3NoYWRvdy9JbnNlcnRpb25Qb2ludC5jcHAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0dO
VW1ha2VmaWxlLmxpc3QuYW0gYi9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5saXN0LmFtCmlu
ZGV4IDJmZDE2NDVlMWVmODY0ZjFmYjhiNDdjNGFhZDMyMDIwNDIwMGM5MWQuLjdlZmE5OGE4YzQx
OTM1ODQwYWQ5Y2UzMjZhZTY1YTJjM2I0MTk3OTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L0dOVW1ha2VmaWxlLmxpc3QuYW0KKysrIGIvU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUubGlz
dC5hbQpAQCAtMzcyMSwyMiArMzcyMSw4IEBAIHdlYmNvcmVfc291cmNlcyArPSBcCiAJU291cmNl
L1dlYkNvcmUvaHRtbC9wYXJzZXIvWFNTQXVkaXRvci5oIFwKIAlTb3VyY2UvV2ViQ29yZS9odG1s
L3BhcnNlci9YU1NBdWRpdG9yRGVsZWdhdGUuY3BwIFwKIAlTb3VyY2UvV2ViQ29yZS9odG1sL3Bh
cnNlci9YU1NBdWRpdG9yRGVsZWdhdGUuaCBcCi0JU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cv
UGlja2VySW5kaWNhdG9yRWxlbWVudC5jcHAgXAotCVNvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93
L1BpY2tlckluZGljYXRvckVsZW1lbnQuaCBcCi0JU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cv
Q2xlYXJCdXR0b25FbGVtZW50LmNwcCBcCi0JU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvQ2xl
YXJCdXR0b25FbGVtZW50LmggXAogCVNvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L0NvbnRlbnRE
aXN0cmlidXRvci5jcHAgXAogCVNvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L0NvbnRlbnREaXN0
cmlidXRvci5oIFwKLQlTb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9EYXRlVGltZUVkaXRFbGVt
ZW50LmNwcCBcCi0JU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvRGF0ZVRpbWVFZGl0RWxlbWVu
dC5oIFwKLQlTb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9EYXRlVGltZUZpZWxkRWxlbWVudC5j
cHAgXAotCVNvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L0RhdGVUaW1lRmllbGRFbGVtZW50Lmgg
XAotCVNvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L0RhdGVUaW1lRmllbGRFbGVtZW50cy5jcHAg
XAotCVNvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L0RhdGVUaW1lRmllbGRFbGVtZW50cy5oIFwK
LQlTb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9EYXRlVGltZU51bWVyaWNGaWVsZEVsZW1lbnQu
Y3BwIFwKLQlTb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9EYXRlVGltZU51bWVyaWNGaWVsZEVs
ZW1lbnQuaCBcCi0JU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvRGF0ZVRpbWVTeW1ib2xpY0Zp
ZWxkRWxlbWVudC5jcHAgXAotCVNvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L0RhdGVUaW1lU3lt
Ym9saWNGaWVsZEVsZW1lbnQuaCBcCiAJU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvRGV0YWls
c01hcmtlckNvbnRyb2wuY3BwIFwKIAlTb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9EZXRhaWxz
TWFya2VyQ29udHJvbC5oIFwKIAlTb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9IVE1MQ29udGVu
dEVsZW1lbnQuY3BwIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1RhcmdldC5wcmkgYi9T
b3VyY2UvV2ViQ29yZS9UYXJnZXQucHJpCmluZGV4IDAzNmI5NGIwMmNmMzVjMjBhNDg0NmFhMTQ4
MzI1ZGVmOWY1NjFlOTIuLjI0YzZiNjJkMDViMDZmZjhjMmVjMmEwNWUyOTQ4ZDY4ZmZlOGQ4ZGMg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1RhcmdldC5wcmkKKysrIGIvU291cmNlL1dlYkNv
cmUvVGFyZ2V0LnByaQpAQCAtNTg1LDcgKzU4NSw2IEBAIFNPVVJDRVMgKz0gXAogICAgIGh0bWwv
QmFzZUNob29zZXJPbmx5RGF0ZUFuZFRpbWVJbnB1dFR5cGUuY3BwIFwKICAgICBodG1sL0Jhc2VD
bGlja2FibGVXaXRoS2V5SW5wdXRUeXBlLmNwcCBcCiAgICAgaHRtbC9CYXNlRGF0ZUFuZFRpbWVJ
bnB1dFR5cGUuY3BwIFwKLSAgICBodG1sL0Jhc2VNdWx0aXBsZUZpZWxkc0RhdGVBbmRUaW1lSW5w
dXRUeXBlLmNwcCBcCiAgICAgaHRtbC9CYXNlVGV4dElucHV0VHlwZS5jcHAgXAogICAgIGh0bWwv
QnV0dG9uSW5wdXRUeXBlLmNwcCBcCiAgICAgaHRtbC9DaGVja2JveElucHV0VHlwZS5jcHAgXApA
QCAtNzU3LDEzICs3NTYsNyBAQCBTT1VSQ0VTICs9IFwKICAgICBodG1sL3BhcnNlci9UZXh0Vmll
d1NvdXJjZVBhcnNlci5jcHAgXAogICAgIGh0bWwvcGFyc2VyL1hTU0F1ZGl0b3IuY3BwIFwKICAg
ICBodG1sL3BhcnNlci9YU1NBdWRpdG9yRGVsZWdhdGUuY3BwIFwKLSAgICBodG1sL3NoYWRvdy9D
bGVhckJ1dHRvbkVsZW1lbnQuY3BwIFwKICAgICBodG1sL3NoYWRvdy9Db250ZW50RGlzdHJpYnV0
b3IuY3BwIFwKLSAgICBodG1sL3NoYWRvdy9EYXRlVGltZUVkaXRFbGVtZW50LmNwcCBcCi0gICAg
aHRtbC9zaGFkb3cvRGF0ZVRpbWVGaWVsZEVsZW1lbnQuY3BwIFwKLSAgICBodG1sL3NoYWRvdy9E
YXRlVGltZUZpZWxkRWxlbWVudHMuY3BwIFwKLSAgICBodG1sL3NoYWRvdy9EYXRlVGltZU51bWVy
aWNGaWVsZEVsZW1lbnQuY3BwIFwKLSAgICBodG1sL3NoYWRvdy9EYXRlVGltZVN5bWJvbGljRmll
bGRFbGVtZW50LmNwcCBcCiAgICAgaHRtbC9zaGFkb3cvRGV0YWlsc01hcmtlckNvbnRyb2wuY3Bw
IFwKICAgICBodG1sL3NoYWRvdy9IVE1MQ29udGVudEVsZW1lbnQuY3BwIFwKICAgICBodG1sL3No
YWRvdy9JbnNlcnRpb25Qb2ludC5jcHAgXApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2Vi
Q29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2ogYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjcHJv
ai9XZWJDb3JlLnZjcHJvagppbmRleCBkNTUwZWEwZDhhM2Y4Mjc3NGNkMDMxNjFlODgxNTk3M2Vl
N2E2YjhiLi5hZDdlYWI4Y2MwZjliMGY3ZjM5ZGY1ZmM0ZjlmYjY0MmRkODMyNjU2IDEwMDc1NQot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvagorKysgYi9T
b3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvagpAQCAtNjAxMzUsMTQg
KzYwMTM1LDYgQEAKIAkJCQk+CiAJCQk8L0ZpbGU+CiAJCQk8RmlsZQotCQkJCVJlbGF0aXZlUGF0
aD0iLi5caHRtbFxCYXNlTXVsdGlwbGVGaWVsZHNEYXRlQW5kVGltZUlucHV0VHlwZS5jcHAiCi0J
CQkJPgotCQkJPC9GaWxlPgotCQkJPEZpbGUKLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXGh0bWxcQmFz
ZU11bHRpcGxlRmllbGRzRGF0ZUFuZFRpbWVJbnB1dFR5cGUuaCIKLQkJCQk+Ci0JCQk8L0ZpbGU+
Ci0JCQk8RmlsZQogCQkJCVJlbGF0aXZlUGF0aD0iLi5caHRtbFxCYXNlVGV4dElucHV0VHlwZS5j
cHAiCiAJCQkJPgogCQkJPC9GaWxlPgpAQCAtNjUzMjYsMTQgKzY1MzE4LDYgQEAKIAkJCQlOYW1l
PSJzaGFkb3ciCiAJCQkJPgogCQkJCTxGaWxlCi0JCQkJCVJlbGF0aXZlUGF0aD0iLi5caHRtbFxz
aGFkb3dcQ2xlYXJCdXR0b25FbGVtZW50LmNwcCIKLQkJCQkJPgotCQkJCTwvRmlsZT4KLQkJCQk8
RmlsZQotCQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXGh0bWxcc2hhZG93XENsZWFyQnV0dG9uRWxlbWVu
dC5oIgotCQkJCQk+Ci0JCQkJPC9GaWxlPgotCQkJCTxGaWxlCiAJCQkJCVJlbGF0aXZlUGF0aD0i
Li5caHRtbFxzaGFkb3dcQ29udGVudERpc3RyaWJ1dG9yLmNwcCIKIAkJCQkJPgogCQkJCTwvRmls
ZT4KQEAgLTY1MzQyLDQ2ICs2NTMyNiw2IEBACiAJCQkJCT4KIAkJCQk8L0ZpbGU+CiAJCQkJPEZp
bGUKLQkJCQkJUmVsYXRpdmVQYXRoPSIuLlxodG1sXHNoYWRvd1xEYXRlVGltZUVkaXRFbGVtZW50
LmNwcCIKLQkJCQkJPgotCQkJCTwvRmlsZT4KLQkJCQk8RmlsZQotCQkJCQlSZWxhdGl2ZVBhdGg9
Ii4uXGh0bWxcc2hhZG93XERhdGVUaW1lRWRpdEVsZW1lbnQuaCIKLQkJCQkJPgotCQkJCTwvRmls
ZT4KLQkJCQk8RmlsZQotCQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXGh0bWxcc2hhZG93XERhdGVUaW1l
RmllbGRFbGVtZW50LmNwcCIKLQkJCQkJPgotCQkJCTwvRmlsZT4KLQkJCQk8RmlsZQotCQkJCQlS
ZWxhdGl2ZVBhdGg9Ii4uXGh0bWxcc2hhZG93XERhdGVUaW1lRmllbGRFbGVtZW50LmgiCi0JCQkJ
CT4KLQkJCQk8L0ZpbGU+Ci0JCQkJPEZpbGUKLQkJCQkJUmVsYXRpdmVQYXRoPSIuLlxodG1sXHNo
YWRvd1xEYXRlVGltZUZpZWxkRWxlbWVudHMuY3BwIgotCQkJCQk+Ci0JCQkJPC9GaWxlPgotCQkJ
CTxGaWxlCi0JCQkJCVJlbGF0aXZlUGF0aD0iLi5caHRtbFxzaGFkb3dcRGF0ZVRpbWVGaWVsZEVs
ZW1lbnRzLmgiCi0JCQkJCT4KLQkJCQk8L0ZpbGU+Ci0JCQkJPEZpbGUKLQkJCQkJUmVsYXRpdmVQ
YXRoPSIuLlxodG1sXHNoYWRvd1xEYXRlVGltZU51bWVyaWNGaWVsZEVsZW1lbnQuY3BwIgotCQkJ
CQk+Ci0JCQkJPC9GaWxlPgotCQkJCTxGaWxlCi0JCQkJCVJlbGF0aXZlUGF0aD0iLi5caHRtbFxz
aGFkb3dcRGF0ZVRpbWVOdW1lcmljRmllbGRFbGVtZW50LmgiCi0JCQkJCT4KLQkJCQk8L0ZpbGU+
Ci0JCQkJPEZpbGUKLQkJCQkJUmVsYXRpdmVQYXRoPSIuLlxodG1sXHNoYWRvd1xEYXRlVGltZVN5
bWJvbGljRmllbGRFbGVtZW50LmNwcCIKLQkJCQkJPgotCQkJCTwvRmlsZT4KLQkJCQk8RmlsZQot
CQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXGh0bWxcc2hhZG93XERhdGVUaW1lU3ltYm9saWNGaWVsZEVs
ZW1lbnQuaCIKLQkJCQkJPgotCQkJCTwvRmlsZT4KLQkJCQk8RmlsZQogCQkJCQlSZWxhdGl2ZVBh
dGg9Ii4uXGh0bWxcc2hhZG93XERldGFpbHNNYXJrZXJDb250cm9sLmNwcCIKIAkJCQkJPgogCQkJ
CTwvRmlsZT4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmN4cHJvai9XZWJD
b3JlLnZjeHByb2ogYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjeHByb2ovV2ViQ29yZS52Y3hw
cm9qCmluZGV4IGRmNTNkNDc2NWY1NDE5YTUzNmYwOWJhODFkMGM3NWVhZmNiYTQ3MTcuLmE3ZDJh
YzQ5MDQzOWU5Nzc1YWI3NTY3ZDUzOTkyMjAxYmZlNGEwMjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL1dlYkNvcmUudmN4cHJvai9XZWJDb3JlLnZjeHByb2oKKysrIGIvU291cmNlL1dlYkNv
cmUvV2ViQ29yZS52Y3hwcm9qL1dlYkNvcmUudmN4cHJvagpAQCAtOTAyNCwxMyArOTAyNCw3IEBA
CiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxodG1sXHBhcnNlclxUZXh0Vmlld1NvdXJjZVBh
cnNlci5jcHAiIC8+CiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxodG1sXHBhcnNlclxYU1NB
dWRpdG9yLmNwcCIgLz4KICAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXGh0bWxccGFyc2VyXFhT
U0F1ZGl0b3JEZWxlZ2F0ZS5jcHAiIC8+Ci0gICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxodG1s
XHNoYWRvd1xDbGVhckJ1dHRvbkVsZW1lbnQuY3BwIiAvPgogICAgIDxDbENvbXBpbGUgSW5jbHVk
ZT0iLi5caHRtbFxzaGFkb3dcQ29udGVudERpc3RyaWJ1dG9yLmNwcCIgLz4KLSAgICA8Q2xDb21w
aWxlIEluY2x1ZGU9Ii4uXGh0bWxcc2hhZG93XERhdGVUaW1lRWRpdEVsZW1lbnQuY3BwIiAvPgot
ICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5caHRtbFxzaGFkb3dcRGF0ZVRpbWVGaWVsZEVsZW1l
bnQuY3BwIiAvPgotICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5caHRtbFxzaGFkb3dcRGF0ZVRp
bWVGaWVsZEVsZW1lbnRzLmNwcCIgLz4KLSAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXGh0bWxc
c2hhZG93XERhdGVUaW1lTnVtZXJpY0ZpZWxkRWxlbWVudC5jcHAiIC8+Ci0gICAgPENsQ29tcGls
ZSBJbmNsdWRlPSIuLlxodG1sXHNoYWRvd1xEYXRlVGltZVN5bWJvbGljRmllbGRFbGVtZW50LmNw
cCIgLz4KICAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXGh0bWxcc2hhZG93XERldGFpbHNNYXJr
ZXJDb250cm9sLmNwcCIgLz4KICAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXGh0bWxcc2hhZG93
XEhUTUxDb250ZW50RWxlbWVudC5jcHAiPgogICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxkIENvbmRp
dGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8V2luMzInIj50cnVl
PC9FeGNsdWRlZEZyb21CdWlsZD4KQEAgLTEyODE3LDEzICsxMjgxMSw3IEBACiAgICAgPENsSW5j
bHVkZSBJbmNsdWRlPSIuLlxodG1sXHBhcnNlclxUZXh0Vmlld1NvdXJjZVBhcnNlci5oIiAvPgog
ICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5caHRtbFxwYXJzZXJcWFNTQXVkaXRvci5oIiAvPgog
ICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5caHRtbFxwYXJzZXJcWFNTQXVkaXRvckRlbGVnYXRl
LmgiIC8+Ci0gICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxodG1sXHNoYWRvd1xDbGVhckJ1dHRv
bkVsZW1lbnQuaCIgLz4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXGh0bWxcc2hhZG93XENv
bnRlbnREaXN0cmlidXRvci5oIiAvPgotICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5caHRtbFxz
aGFkb3dcRGF0ZVRpbWVFZGl0RWxlbWVudC5oIiAvPgotICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0i
Li5caHRtbFxzaGFkb3dcRGF0ZVRpbWVGaWVsZEVsZW1lbnQuaCIgLz4KLSAgICA8Q2xJbmNsdWRl
IEluY2x1ZGU9Ii4uXGh0bWxcc2hhZG93XERhdGVUaW1lRmllbGRFbGVtZW50cy5oIiAvPgotICAg
IDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5caHRtbFxzaGFkb3dcRGF0ZVRpbWVOdW1lcmljRmllbGRF
bGVtZW50LmgiIC8+Ci0gICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxodG1sXHNoYWRvd1xEYXRl
VGltZVN5bWJvbGljRmllbGRFbGVtZW50LmgiIC8+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIu
LlxodG1sXHNoYWRvd1xEZXRhaWxzTWFya2VyQ29udHJvbC5oIiAvPgogICAgIDxDbEluY2x1ZGUg
SW5jbHVkZT0iLi5caHRtbFxzaGFkb3dcSFRNTENvbnRlbnRFbGVtZW50LmgiIC8+CiAgICAgPENs
SW5jbHVkZSBJbmNsdWRlPSIuLlxodG1sXHNoYWRvd1xJbnNlcnRpb25Qb2ludC5oIiAvPgpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3hwcm9qL1dlYkNvcmUudmN4cHJvai5m
aWx0ZXJzIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3hwcm9qL1dlYkNvcmUudmN4cHJvai5m
aWx0ZXJzCmluZGV4IDk2N2M1ZTdhNWJkMjQ5M2Q0ZjVhZWY4ODM5N2YyMjcxMGJiZmNhMDQuLjg0
ZWRkMmJjOTUxM2Y5YjZlMjI3YjNjZDJmZWJjODQxMWY0NDk0ZTggMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL1dlYkNvcmUudmN4cHJvai9XZWJDb3JlLnZjeHByb2ouZmlsdGVycworKysgYi9T
b3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjeHByb2ovV2ViQ29yZS52Y3hwcm9qLmZpbHRlcnMKQEAg
LTQyOTYsMjcgKzQyOTYsOSBAQAogICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5caHRtbFxwYXJz
ZXJcWFNTQXVkaXRvckRlbGVnYXRlLmNwcCI+CiAgICAgICA8RmlsdGVyPmh0bWxccGFyc2VyPC9G
aWx0ZXI+CiAgICAgPC9DbENvbXBpbGU+Ci0gICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxodG1s
XHNoYWRvd1xDbGVhckJ1dHRvbkVsZW1lbnQuY3BwIj4KLSAgICAgIDxGaWx0ZXI+aHRtbFxzaGFk
b3c8L0ZpbHRlcj4KLSAgICA8L0NsQ29tcGlsZT4KICAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4u
XGh0bWxcc2hhZG93XENvbnRlbnREaXN0cmlidXRvci5jcHAiPgogICAgICAgPEZpbHRlcj5odG1s
XHNoYWRvdzwvRmlsdGVyPgogICAgIDwvQ2xDb21waWxlPgotICAgIDxDbENvbXBpbGUgSW5jbHVk
ZT0iLi5caHRtbFxzaGFkb3dcRGF0ZVRpbWVFZGl0RWxlbWVudC5jcHAiPgotICAgICAgPEZpbHRl
cj5odG1sXHNoYWRvdzwvRmlsdGVyPgotICAgIDwvQ2xDb21waWxlPgotICAgIDxDbENvbXBpbGUg
SW5jbHVkZT0iLi5caHRtbFxzaGFkb3dcRGF0ZVRpbWVGaWVsZEVsZW1lbnQuY3BwIj4KLSAgICAg
IDxGaWx0ZXI+aHRtbFxzaGFkb3c8L0ZpbHRlcj4KLSAgICA8L0NsQ29tcGlsZT4KLSAgICA8Q2xD
b21waWxlIEluY2x1ZGU9Ii4uXGh0bWxcc2hhZG93XERhdGVUaW1lRmllbGRFbGVtZW50cy5jcHAi
PgotICAgICAgPEZpbHRlcj5odG1sXHNoYWRvdzwvRmlsdGVyPgotICAgIDwvQ2xDb21waWxlPgot
ICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5caHRtbFxzaGFkb3dcRGF0ZVRpbWVOdW1lcmljRmll
bGRFbGVtZW50LmNwcCI+Ci0gICAgICA8RmlsdGVyPmh0bWxcc2hhZG93PC9GaWx0ZXI+Ci0gICAg
PC9DbENvbXBpbGU+Ci0gICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxodG1sXHNoYWRvd1xEYXRl
VGltZVN5bWJvbGljRmllbGRFbGVtZW50LmNwcCI+Ci0gICAgICA8RmlsdGVyPmh0bWxcc2hhZG93
PC9GaWx0ZXI+Ci0gICAgPC9DbENvbXBpbGU+CiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxo
dG1sXHNoYWRvd1xEZXRhaWxzTWFya2VyQ29udHJvbC5jcHAiPgogICAgICAgPEZpbHRlcj5odG1s
XHNoYWRvdzwvRmlsdGVyPgogICAgIDwvQ2xDb21waWxlPgpAQCAtMTExOTAsMjcgKzExMTcyLDkg
QEAKICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXGh0bWxccGFyc2VyXFhTU0F1ZGl0b3JEZWxl
Z2F0ZS5oIj4KICAgICAgIDxGaWx0ZXI+aHRtbFxwYXJzZXI8L0ZpbHRlcj4KICAgICA8L0NsSW5j
bHVkZT4KLSAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXGh0bWxcc2hhZG93XENsZWFyQnV0dG9u
RWxlbWVudC5oIj4KLSAgICAgIDxGaWx0ZXI+aHRtbFxzaGFkb3c8L0ZpbHRlcj4KLSAgICA8L0Ns
SW5jbHVkZT4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXGh0bWxcc2hhZG93XENvbnRlbnRE
aXN0cmlidXRvci5oIj4KICAgICAgIDxGaWx0ZXI+aHRtbFxzaGFkb3c8L0ZpbHRlcj4KICAgICA8
L0NsSW5jbHVkZT4KLSAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXGh0bWxcc2hhZG93XERhdGVU
aW1lRWRpdEVsZW1lbnQuaCI+Ci0gICAgICA8RmlsdGVyPmh0bWxcc2hhZG93PC9GaWx0ZXI+Ci0g
ICAgPC9DbEluY2x1ZGU+Ci0gICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxodG1sXHNoYWRvd1xE
YXRlVGltZUZpZWxkRWxlbWVudC5oIj4KLSAgICAgIDxGaWx0ZXI+aHRtbFxzaGFkb3c8L0ZpbHRl
cj4KLSAgICA8L0NsSW5jbHVkZT4KLSAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXGh0bWxcc2hh
ZG93XERhdGVUaW1lRmllbGRFbGVtZW50cy5oIj4KLSAgICAgIDxGaWx0ZXI+aHRtbFxzaGFkb3c8
L0ZpbHRlcj4KLSAgICA8L0NsSW5jbHVkZT4KLSAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXGh0
bWxcc2hhZG93XERhdGVUaW1lTnVtZXJpY0ZpZWxkRWxlbWVudC5oIj4KLSAgICAgIDxGaWx0ZXI+
aHRtbFxzaGFkb3c8L0ZpbHRlcj4KLSAgICA8L0NsSW5jbHVkZT4KLSAgICA8Q2xJbmNsdWRlIElu
Y2x1ZGU9Ii4uXGh0bWxcc2hhZG93XERhdGVUaW1lU3ltYm9saWNGaWVsZEVsZW1lbnQuaCI+Ci0g
ICAgICA8RmlsdGVyPmh0bWxcc2hhZG93PC9GaWx0ZXI+Ci0gICAgPC9DbEluY2x1ZGU+CiAgICAg
PENsSW5jbHVkZSBJbmNsdWRlPSIuLlxodG1sXHNoYWRvd1xEZXRhaWxzTWFya2VyQ29udHJvbC5o
Ij4KICAgICAgIDxGaWx0ZXI+aHRtbFxzaGFkb3c8L0ZpbHRlcj4KICAgICA8L0NsSW5jbHVkZT4K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4
cHJvaiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpp
bmRleCBkZGViZWMwMzI2NzQ0ZmNkMmFmNGU2NzBmZTQ0NzI4ODljNGI3M2M2Li5lMmQ5NzBmZDlj
ZTZjZDk0MDMxZTY2ZDE3MGZmM2M2OGU1OGEyNDUyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291cmNlL1dlYkNvcmUv
V2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC0xMjIxLDE4ICsxMjIxLDYgQEAK
IAkJNDUzRUI2MzcxNTlDNTcwNDAwMDAxQkI3IC8qIERhdGVUaW1lRm9ybWF0LmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0NTNFQjYzNTE1OUM1NzA0MDAw
MDFCQjcgLyogRGF0ZVRpbWVGb3JtYXQuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQ
cml2YXRlLCApOyB9OyB9OwogCQk0NTgzMEQ0RDE2NzlCNEY4MDBBQ0Y4QzMgLyogQXV0b3Njcm9s
bENvbnRyb2xsZXIuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gNDU4MzBENEIxNjc5QjRGODAwQUNGOEMzIC8qIEF1dG9zY3JvbGxDb250cm9sbGVyLmNw
cCAqLzsgfTsKIAkJNDU4MzBENEUxNjc5QjRGODAwQUNGOEMzIC8qIEF1dG9zY3JvbGxDb250cm9s
bGVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0NTgz
MEQ0QzE2NzlCNEY4MDBBQ0Y4QzMgLyogQXV0b3Njcm9sbENvbnRyb2xsZXIuaCAqLzsgc2V0dGlu
Z3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwotCQk0NTg2MUM3MjE2MTk0OURD
MDAwMTBGM0EgLyogQmFzZU11bHRpcGxlRmllbGRzRGF0ZUFuZFRpbWVJbnB1dFR5cGUuY3BwIGlu
IFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDU4NjFDNzAxNjE5
NDlEQzAwMDEwRjNBIC8qIEJhc2VNdWx0aXBsZUZpZWxkc0RhdGVBbmRUaW1lSW5wdXRUeXBlLmNw
cCAqLzsgfTsKLQkJNDU4NjFDNzMxNjE5NDlEQzAwMDEwRjNBIC8qIEJhc2VNdWx0aXBsZUZpZWxk
c0RhdGVBbmRUaW1lSW5wdXRUeXBlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSA0NTg2MUM3MTE2MTk0OURDMDAwMTBGM0EgLyogQmFzZU11bHRpcGxlRmll
bGRzRGF0ZUFuZFRpbWVJbnB1dFR5cGUuaCAqLzsgfTsKLQkJNDU4NjFDN0YxNjE5NEE3NDAwMDEw
RjNBIC8qIERhdGVUaW1lRWRpdEVsZW1lbnQuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gNDU4NjFDNzUxNjE5NEE3NDAwMDEwRjNBIC8qIERhdGVUaW1l
RWRpdEVsZW1lbnQuY3BwICovOyB9OwotCQk0NTg2MUM4MDE2MTk0QTc0MDAwMTBGM0EgLyogRGF0
ZVRpbWVFZGl0RWxlbWVudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gNDU4NjFDNzYxNjE5NEE3NDAwMDEwRjNBIC8qIERhdGVUaW1lRWRpdEVsZW1lbnQu
aCAqLzsgfTsKLQkJNDU4NjFDODExNjE5NEE3NDAwMDEwRjNBIC8qIERhdGVUaW1lRmllbGRFbGVt
ZW50LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQ1
ODYxQzc3MTYxOTRBNzQwMDAxMEYzQSAvKiBEYXRlVGltZUZpZWxkRWxlbWVudC5jcHAgKi87IH07
Ci0JCTQ1ODYxQzgyMTYxOTRBNzQwMDAxMEYzQSAvKiBEYXRlVGltZUZpZWxkRWxlbWVudC5oIGlu
IEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDU4NjFDNzgxNjE5
NEE3NDAwMDEwRjNBIC8qIERhdGVUaW1lRmllbGRFbGVtZW50LmggKi87IH07Ci0JCTQ1ODYxQzgz
MTYxOTRBNzQwMDAxMEYzQSAvKiBEYXRlVGltZUZpZWxkRWxlbWVudHMuY3BwIGluIFNvdXJjZXMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDU4NjFDNzkxNjE5NEE3NDAwMDEw
RjNBIC8qIERhdGVUaW1lRmllbGRFbGVtZW50cy5jcHAgKi87IH07Ci0JCTQ1ODYxQzg0MTYxOTRB
NzQwMDAxMEYzQSAvKiBEYXRlVGltZUZpZWxkRWxlbWVudHMuaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQ1ODYxQzdBMTYxOTRBNzQwMDAxMEYzQSAvKiBE
YXRlVGltZUZpZWxkRWxlbWVudHMuaCAqLzsgfTsKLQkJNDU4NjFDODUxNjE5NEE3NDAwMDEwRjNB
IC8qIERhdGVUaW1lTnVtZXJpY0ZpZWxkRWxlbWVudC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0NTg2MUM3QjE2MTk0QTc0MDAwMTBGM0EgLyogRGF0
ZVRpbWVOdW1lcmljRmllbGRFbGVtZW50LmNwcCAqLzsgfTsKLQkJNDU4NjFDODYxNjE5NEE3NDAw
MDEwRjNBIC8qIERhdGVUaW1lTnVtZXJpY0ZpZWxkRWxlbWVudC5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDU4NjFDN0MxNjE5NEE3NDAwMDEwRjNBIC8q
IERhdGVUaW1lTnVtZXJpY0ZpZWxkRWxlbWVudC5oICovOyB9OwotCQk0NTg2MUM4NzE2MTk0QTc0
MDAwMTBGM0EgLyogRGF0ZVRpbWVTeW1ib2xpY0ZpZWxkRWxlbWVudC5jcHAgaW4gU291cmNlcyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0NTg2MUM3RDE2MTk0QTc0MDAwMTBG
M0EgLyogRGF0ZVRpbWVTeW1ib2xpY0ZpZWxkRWxlbWVudC5jcHAgKi87IH07Ci0JCTQ1ODYxQzg4
MTYxOTRBNzQwMDAxMEYzQSAvKiBEYXRlVGltZVN5bWJvbGljRmllbGRFbGVtZW50LmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0NTg2MUM3RTE2MTk0QTc0
MDAwMTBGM0EgLyogRGF0ZVRpbWVTeW1ib2xpY0ZpZWxkRWxlbWVudC5oICovOyB9OwogCQk0NThG
RTQwOTE1ODlERjBCMDA1NjA5RTYgLyogUmVuZGVyU2VhcmNoRmllbGQuY3BwIGluIFNvdXJjZXMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDU4RkU0MDcxNTg5REYwQjAwNTYw
OUU2IC8qIFJlbmRlclNlYXJjaEZpZWxkLmNwcCAqLzsgfTsKIAkJNDU4RkU0MEExNTg5REYwQjAw
NTYwOUU2IC8qIFJlbmRlclNlYXJjaEZpZWxkLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSA0NThGRTQwODE1ODlERjBCMDA1NjA5RTYgLyogUmVuZGVyU2Vh
cmNoRmllbGQuaCAqLzsgfTsKIAkJNDVCQUMyQjAxMzYwQkJBQjAwNURBMjU4IC8qIEljb25VUkwu
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQ1QkFDMkFG
MTM2MEJCQUIwMDVEQTI1OCAvKiBJY29uVVJMLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMg
PSAoUHJpdmF0ZSwgKTsgfTsgfTsKQEAgLTUxMjEsOCArNTEwOSw2IEBACiAJCUMzNzVEN0ZEMTY2
Mzk1MTkwMDYxODRBQiAvKiBUeXBlQWhlYWQuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gQzM3NUQ3RkIxNjYzOTUxOTAwNjE4NEFCIC8qIFR5cGVBaGVh
ZC5jcHAgKi87IH07CiAJCUMzNzVEN0ZFMTY2Mzk1MTkwMDYxODRBQiAvKiBUeXBlQWhlYWQuaCBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEMzNzVEN0ZDMTY2
Mzk1MTkwMDYxODRBQiAvKiBUeXBlQWhlYWQuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9
IChQcml2YXRlLCApOyB9OyB9OwogCQlDMzdDREVCRDE0OUVGMjAzMDA0MjA5MEQgLyogQ29sb3JD
aG9vc2VyQ2xpZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSBDMzdDREVCQzE0OUVGMjAzMDA0MjA5MEQgLyogQ29sb3JDaG9vc2VyQ2xpZW50LmggKi87
IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKLQkJQzM3REY4RUYx
NkU3NDY3MTAwNzlBMEVCIC8qIENsZWFyQnV0dG9uRWxlbWVudC5jcHAgaW4gU291cmNlcyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDMzdERjhFRDE2RTc0NjcxMDA3OUEwRUIg
LyogQ2xlYXJCdXR0b25FbGVtZW50LmNwcCAqLzsgfTsKLQkJQzM3REY4RjAxNkU3NDY3MTAwNzlB
MEVCIC8qIENsZWFyQnV0dG9uRWxlbWVudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gQzM3REY4RUUxNkU3NDY3MTAwNzlBMEVCIC8qIENsZWFyQnV0dG9u
RWxlbWVudC5oICovOyB9OwogCQlDM0NGMTdBNDE1QjAwNjNGMDAyNzZEMzkgLyogSWRUYXJnZXRP
YnNlcnZlci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSBDM0NGMTdBMDE1QjAwNjNGMDAyNzZEMzkgLyogSWRUYXJnZXRPYnNlcnZlci5jcHAgKi87IH07
CiAJCUMzQ0YxN0E1MTVCMDA2M0YwMDI3NkQzOSAvKiBJZFRhcmdldE9ic2VydmVyLmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDM0NGMTdBMTE1QjAwNjNG
MDAyNzZEMzkgLyogSWRUYXJnZXRPYnNlcnZlci5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVT
ID0gKFByaXZhdGUsICk7IH07IH07CiAJCUMzQ0YxN0E2MTVCMDA2M0YwMDI3NkQzOSAvKiBJZFRh
cmdldE9ic2VydmVyUmVnaXN0cnkuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gQzNDRjE3QTIxNUIwMDYzRjAwMjc2RDM5IC8qIElkVGFyZ2V0T2JzZXJ2
ZXJSZWdpc3RyeS5jcHAgKi87IH07CkBAIC03NTc2LDE4ICs3NTYyLDYgQEAKIAkJNDUzRUI2MzUx
NTlDNTcwNDAwMDAxQkI3IC8qIERhdGVUaW1lRm9ybWF0LmggKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmMuaDsgcGF0aCA9IERhdGVUaW1lRm9ybWF0Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CiAJCTQ1ODMwRDRCMTY3OUI0RjgwMEFDRjhDMyAvKiBBdXRvc2Nyb2xsQ29udHJvbGxlci5jcHAg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBBdXRvc2Nyb2xsQ29udHJvbGxl
ci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQ1ODMwRDRDMTY3OUI0RjgwMEFD
RjhDMyAvKiBBdXRvc2Nyb2xsQ29udHJvbGxlci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IHBhdGggPSBBdXRvc2Nyb2xsQ29udHJvbGxlci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwotCQk0NTg2MUM3MDE2MTk0OURDMDAwMTBGM0EgLyogQmFzZU11bHRpcGxlRmllbGRzRGF0ZUFu
ZFRpbWVJbnB1dFR5cGUuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0g
QmFzZU11bHRpcGxlRmllbGRzRGF0ZUFuZFRpbWVJbnB1dFR5cGUuY3BwOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwotCQk0NTg2MUM3MTE2MTk0OURDMDAwMTBGM0EgLyogQmFzZU11bHRpcGxl
RmllbGRzRGF0ZUFuZFRpbWVJbnB1dFR5cGUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBw
YXRoID0gQmFzZU11bHRpcGxlRmllbGRzRGF0ZUFuZFRpbWVJbnB1dFR5cGUuaDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKLQkJNDU4NjFDNzUxNjE5NEE3NDAwMDEwRjNBIC8qIERhdGVUaW1l
RWRpdEVsZW1lbnQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gRGF0
ZVRpbWVFZGl0RWxlbWVudC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCTQ1ODYx
Qzc2MTYxOTRBNzQwMDAxMEYzQSAvKiBEYXRlVGltZUVkaXRFbGVtZW50LmggKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmMuaDsgcGF0aCA9IERhdGVUaW1lRWRpdEVsZW1lbnQuaDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKLQkJNDU4NjFDNzcxNjE5NEE3NDAwMDEwRjNBIC8qIERhdGVUaW1lRmll
bGRFbGVtZW50LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IERhdGVU
aW1lRmllbGRFbGVtZW50LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJNDU4NjFD
NzgxNjE5NEE3NDAwMDEwRjNBIC8qIERhdGVUaW1lRmllbGRFbGVtZW50LmggKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmMuaDsgcGF0aCA9IERhdGVUaW1lRmllbGRFbGVtZW50Lmg7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07Ci0JCTQ1ODYxQzc5MTYxOTRBNzQwMDAxMEYzQSAvKiBEYXRlVGltZUZp
ZWxkRWxlbWVudHMuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gRGF0
ZVRpbWVGaWVsZEVsZW1lbnRzLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJNDU4
NjFDN0ExNjE5NEE3NDAwMDEwRjNBIC8qIERhdGVUaW1lRmllbGRFbGVtZW50cy5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBEYXRlVGltZUZpZWxkRWxlbWVudHMuaDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJNDU4NjFDN0IxNjE5NEE3NDAwMDEwRjNBIC8qIERhdGVU
aW1lTnVtZXJpY0ZpZWxkRWxlbWVudC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7
IHBhdGggPSBEYXRlVGltZU51bWVyaWNGaWVsZEVsZW1lbnQuY3BwOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwotCQk0NTg2MUM3QzE2MTk0QTc0MDAwMTBGM0EgLyogRGF0ZVRpbWVOdW1lcmlj
RmllbGRFbGVtZW50LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IERhdGVUaW1l
TnVtZXJpY0ZpZWxkRWxlbWVudC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQk0NTg2
MUM3RDE2MTk0QTc0MDAwMTBGM0EgLyogRGF0ZVRpbWVTeW1ib2xpY0ZpZWxkRWxlbWVudC5jcHAg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBEYXRlVGltZVN5bWJvbGljRmll
bGRFbGVtZW50LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJNDU4NjFDN0UxNjE5
NEE3NDAwMDEwRjNBIC8qIERhdGVUaW1lU3ltYm9saWNGaWVsZEVsZW1lbnQuaCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gRGF0ZVRpbWVTeW1ib2xpY0ZpZWxkRWxlbWVudC5oOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0NThGRTQwNzE1ODlERjBCMDA1NjA5RTYgLyog
UmVuZGVyU2VhcmNoRmllbGQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRo
ID0gUmVuZGVyU2VhcmNoRmllbGQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0
NThGRTQwODE1ODlERjBCMDA1NjA5RTYgLyogUmVuZGVyU2VhcmNoRmllbGQuaCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUmVuZGVyU2VhcmNoRmllbGQuaDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKIAkJNDVCQUMyQUYxMzYwQkJBQjAwNURBMjU4IC8qIEljb25VUkwuaCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSWNvblVSTC5oOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwpAQCAtMTE4NTAsOCArMTE4MjQsNiBAQAogCQlDMzc1RDdGQjE2NjM5NTE5
MDA2MTg0QUIgLyogVHlwZUFoZWFkLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsg
cGF0aCA9IFR5cGVBaGVhZC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUMzNzVE
N0ZDMTY2Mzk1MTkwMDYxODRBQiAvKiBUeXBlQWhlYWQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Yy5oOyBwYXRoID0gVHlwZUFoZWFkLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUMz
N0NERUJDMTQ5RUYyMDMwMDQyMDkwRCAvKiBDb2xvckNob29zZXJDbGllbnQuaCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQ29sb3JDaG9vc2VyQ2xpZW50Lmg7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07Ci0JCUMzN0RGOEVEMTZFNzQ2NzEwMDc5QTBFQiAvKiBDbGVhckJ1dHRv
bkVsZW1lbnQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gQ2xlYXJC
dXR0b25FbGVtZW50LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJQzM3REY4RUUx
NkU3NDY3MTAwNzlBMEVCIC8qIENsZWFyQnV0dG9uRWxlbWVudC5oICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jLmg7IHBhdGggPSBDbGVhckJ1dHRvbkVsZW1lbnQuaDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKIAkJQzNDRjE3QTAxNUIwMDYzRjAwMjc2RDM5IC8qIElkVGFyZ2V0T2JzZXJ2ZXIu
Y3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSWRUYXJnZXRPYnNlcnZl
ci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUMzQ0YxN0ExMTVCMDA2M0YwMDI3
NkQzOSAvKiBJZFRhcmdldE9ic2VydmVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0
aCA9IElkVGFyZ2V0T2JzZXJ2ZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQzND
RjE3QTIxNUIwMDYzRjAwMjc2RDM5IC8qIElkVGFyZ2V0T2JzZXJ2ZXJSZWdpc3RyeS5jcHAgKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBJZFRhcmdldE9ic2VydmVyUmVnaXN0
cnkuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMTM4ODMsMjAgKzEzODU1LDgg
QEAKIAkJNDE1MEY5RUQxMkI2RTA5OTAwMDhDODYwIC8qIHNoYWRvdyAqLyA9IHsKIAkJCWlzYSA9
IFBCWEdyb3VwOwogCQkJY2hpbGRyZW4gPSAoCi0JCQkJQzM3REY4RUQxNkU3NDY3MTAwNzlBMEVC
IC8qIENsZWFyQnV0dG9uRWxlbWVudC5jcHAgKi8sCi0JCQkJQzM3REY4RUUxNkU3NDY3MTAwNzlB
MEVCIC8qIENsZWFyQnV0dG9uRWxlbWVudC5oICovLAogCQkJCTU3Qjc5MTlGMTRDNkE2MjkwMEYy
MDJEMSAvKiBDb250ZW50RGlzdHJpYnV0b3IuY3BwICovLAogCQkJCTU3Qjc5MUEwMTRDNkE2Mjkw
MEYyMDJEMSAvKiBDb250ZW50RGlzdHJpYnV0b3IuaCAqLywKLQkJCQk0NTg2MUM3NTE2MTk0QTc0
MDAwMTBGM0EgLyogRGF0ZVRpbWVFZGl0RWxlbWVudC5jcHAgKi8sCi0JCQkJNDU4NjFDNzYxNjE5
NEE3NDAwMDEwRjNBIC8qIERhdGVUaW1lRWRpdEVsZW1lbnQuaCAqLywKLQkJCQk0NTg2MUM3NzE2
MTk0QTc0MDAwMTBGM0EgLyogRGF0ZVRpbWVGaWVsZEVsZW1lbnQuY3BwICovLAotCQkJCTQ1ODYx
Qzc4MTYxOTRBNzQwMDAxMEYzQSAvKiBEYXRlVGltZUZpZWxkRWxlbWVudC5oICovLAotCQkJCTQ1
ODYxQzc5MTYxOTRBNzQwMDAxMEYzQSAvKiBEYXRlVGltZUZpZWxkRWxlbWVudHMuY3BwICovLAot
CQkJCTQ1ODYxQzdBMTYxOTRBNzQwMDAxMEYzQSAvKiBEYXRlVGltZUZpZWxkRWxlbWVudHMuaCAq
LywKLQkJCQk0NTg2MUM3QjE2MTk0QTc0MDAwMTBGM0EgLyogRGF0ZVRpbWVOdW1lcmljRmllbGRF
bGVtZW50LmNwcCAqLywKLQkJCQk0NTg2MUM3QzE2MTk0QTc0MDAwMTBGM0EgLyogRGF0ZVRpbWVO
dW1lcmljRmllbGRFbGVtZW50LmggKi8sCi0JCQkJNDU4NjFDN0QxNjE5NEE3NDAwMDEwRjNBIC8q
IERhdGVUaW1lU3ltYm9saWNGaWVsZEVsZW1lbnQuY3BwICovLAotCQkJCTQ1ODYxQzdFMTYxOTRB
NzQwMDAxMEYzQSAvKiBEYXRlVGltZVN5bWJvbGljRmllbGRFbGVtZW50LmggKi8sCiAJCQkJQTdD
OUFCRjYxMzU3QTNCRjAwRjU1MDNGIC8qIERldGFpbHNNYXJrZXJDb250cm9sLmNwcCAqLywKIAkJ
CQlBN0M5QUJGNzEzNTdBM0JGMDBGNTUwM0YgLyogRGV0YWlsc01hcmtlckNvbnRyb2wuaCAqLywK
IAkJCQk1N0I3OTFBNzE0QzZBNjMzMDBGMjAyRDEgLyogSFRNTENvbnRlbnRFbGVtZW50LmNwcCAq
LywKQEAgLTE1NzAzLDggKzE1NjYzLDYgQEAKIAkJCQlDMzNFRTVDMzE0RkI0OTYxMDAwMjA5NUEg
LyogQmFzZUNsaWNrYWJsZVdpdGhLZXlJbnB1dFR5cGUuaCAqLywKIAkJCQlGNTlDOTVGRDEyNTVC
MjNGMDAwNjIzQzAgLyogQmFzZURhdGVBbmRUaW1lSW5wdXRUeXBlLmNwcCAqLywKIAkJCQlGNTlD
OTVGRTEyNTVCMjNGMDAwNjIzQzAgLyogQmFzZURhdGVBbmRUaW1lSW5wdXRUeXBlLmggKi8sCi0J
CQkJNDU4NjFDNzAxNjE5NDlEQzAwMDEwRjNBIC8qIEJhc2VNdWx0aXBsZUZpZWxkc0RhdGVBbmRU
aW1lSW5wdXRUeXBlLmNwcCAqLywKLQkJCQk0NTg2MUM3MTE2MTk0OURDMDAwMTBGM0EgLyogQmFz
ZU11bHRpcGxlRmllbGRzRGF0ZUFuZFRpbWVJbnB1dFR5cGUuaCAqLywKIAkJCQlGNTVCM0Q3OTEy
NTFGMTJEMDAzRUYyNjkgLyogQmFzZVRleHRJbnB1dFR5cGUuY3BwICovLAogCQkJCUY1NUIzRDdB
MTI1MUYxMkQwMDNFRjI2OSAvKiBCYXNlVGV4dElucHV0VHlwZS5oICovLAogCQkJCUY1NUIzRDdC
MTI1MUYxMkQwMDNFRjI2OSAvKiBCdXR0b25JbnB1dFR5cGUuY3BwICovLApAQCAtMjEwMDYsNyAr
MjA5NjQsNiBAQAogCQkJCUY1RTBDNjVDMTY0M0M0MkMwMEQ2Q0I2OSAvKiBCYXNlQ2hvb3Nlck9u
bHlEYXRlQW5kVGltZUlucHV0VHlwZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQzMzRUU1QzUxNEZC
NDk2MTAwMDIwOTVBIC8qIEJhc2VDbGlja2FibGVXaXRoS2V5SW5wdXRUeXBlLmggaW4gSGVhZGVy
cyAqLywKIAkJCQlGNTlDOTYwMDEyNTVCMjNGMDAwNjIzQzAgLyogQmFzZURhdGVBbmRUaW1lSW5w
dXRUeXBlLmggaW4gSGVhZGVycyAqLywKLQkJCQk0NTg2MUM3MzE2MTk0OURDMDAwMTBGM0EgLyog
QmFzZU11bHRpcGxlRmllbGRzRGF0ZUFuZFRpbWVJbnB1dFR5cGUuaCBpbiBIZWFkZXJzICovLAog
CQkJCUY1NUIzREFFMTI1MUYxMkQwMDNFRjI2OSAvKiBCYXNlVGV4dElucHV0VHlwZS5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJRkJENkFGOEExNUVGMjVERjAwOEI3MTEwIC8qIEJhc2ljU2hhcGVGdW5j
dGlvbnMuaCBpbiBIZWFkZXJzICovLAogCQkJCUZCRDZBRjhDMTVFRjI2MDQwMDhCNzExMCAvKiBC
YXNpY1NoYXBlcy5oIGluIEhlYWRlcnMgKi8sCkBAIC0yMTA5OCw3ICsyMTA1NSw2IEBACiAJCQkJ
MTREODI0MDgwQUY5M0FFQjAwMDRGMDU3IC8qIENocm9tZUNsaWVudC5oIGluIEhlYWRlcnMgKi8s
CiAJCQkJNEFDQkMwQkYxMjcxM0NCRDAwOTRGOUIyIC8qIENsYXNzTGlzdC5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkJQkM5MDRCNzcwRDEwOTk4RjAwNjgwRDMyIC8qIENsYXNzTm9kZUxpc3QuaCBpbiBI
ZWFkZXJzICovLAotCQkJCUMzN0RGOEYwMTZFNzQ2NzEwMDc5QTBFQiAvKiBDbGVhckJ1dHRvbkVs
ZW1lbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCUJDQzA2NTdFMEYzQ0UxQjcwMENEMkQ4NyAvKiBD
bGllbnRSZWN0LmggaW4gSGVhZGVycyAqLywKIAkJCQlCQ0MwNjU4MTBGM0NFMUI3MDBDRDJEODcg
LyogQ2xpZW50UmVjdExpc3QuaCBpbiBIZWFkZXJzICovLAogCQkJCTg1MDMxQjNFMEE0NEVGQzcw
MEY5OTJFMCAvKiBDbGlwYm9hcmQuaCBpbiBIZWFkZXJzICovLApAQCAtMjEyNzcsMTQgKzIxMjMz
LDkgQEAKIAkJCQkyRTk3Q0NFQjEyOTM5Q0I4MDBDNUM4RkYgLyogRGF0YVZpZXcuaCBpbiBIZWFk
ZXJzICovLAogCQkJCUE1NzMyQjBCMTM2QTE2MUQwMDVDOEQ3QyAvKiBEYXRlQ29tcG9uZW50cy5o
IGluIEhlYWRlcnMgKi8sCiAJCQkJRjU1QjNEQjYxMjUxRjEyRDAwM0VGMjY5IC8qIERhdGVJbnB1
dFR5cGUuaCBpbiBIZWFkZXJzICovLAotCQkJCTQ1ODYxQzgwMTYxOTRBNzQwMDAxMEYzQSAvKiBE
YXRlVGltZUVkaXRFbGVtZW50LmggaW4gSGVhZGVycyAqLywKLQkJCQk0NTg2MUM4MjE2MTk0QTc0
MDAwMTBGM0EgLyogRGF0ZVRpbWVGaWVsZEVsZW1lbnQuaCBpbiBIZWFkZXJzICovLAotCQkJCTQ1
ODYxQzg0MTYxOTRBNzQwMDAxMEYzQSAvKiBEYXRlVGltZUZpZWxkRWxlbWVudHMuaCBpbiBIZWFk
ZXJzICovLAogCQkJCTQ1M0VCNjM3MTU5QzU3MDQwMDAwMUJCNyAvKiBEYXRlVGltZUZvcm1hdC5o
IGluIEhlYWRlcnMgKi8sCiAJCQkJRjU1QjNEQjgxMjUxRjEyRDAwM0VGMjY5IC8qIERhdGVUaW1l
SW5wdXRUeXBlLmggaW4gSGVhZGVycyAqLywKIAkJCQlGNTVCM0RCQTEyNTFGMTJEMDAzRUYyNjkg
LyogRGF0ZVRpbWVMb2NhbElucHV0VHlwZS5oIGluIEhlYWRlcnMgKi8sCi0JCQkJNDU4NjFDODYx
NjE5NEE3NDAwMDEwRjNBIC8qIERhdGVUaW1lTnVtZXJpY0ZpZWxkRWxlbWVudC5oIGluIEhlYWRl
cnMgKi8sCi0JCQkJNDU4NjFDODgxNjE5NEE3NDAwMDEwRjNBIC8qIERhdGVUaW1lU3ltYm9saWNG
aWVsZEVsZW1lbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCTQ1RkVBNUQwMTU2RERFOEMwMDY1NDEw
MSAvKiBEZWNpbWFsLmggaW4gSGVhZGVycyAqLywKIAkJCQlBOEMyMjhBMTExRDU3MjJFMDBENUE3
RDMgLyogRGVjb2RlZERhdGFEb2N1bWVudFBhcnNlci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQ0VD
Q0ZDM0IxNDE5NzNENTAwMkEwQUMxIC8qIERlY29kZUVzY2FwZVNlcXVlbmNlcy5oIGluIEhlYWRl
cnMgKi8sCkBAIC0yNDQ2Miw3ICsyNDQxMyw2IEBACiAJCQkJRjVFMEM2NUIxNjQzQzQyQzAwRDZD
QjY5IC8qIEJhc2VDaG9vc2VyT25seURhdGVBbmRUaW1lSW5wdXRUeXBlLmNwcCBpbiBTb3VyY2Vz
ICovLAogCQkJCUMzM0VFNUM0MTRGQjQ5NjEwMDAyMDk1QSAvKiBCYXNlQ2xpY2thYmxlV2l0aEtl
eUlucHV0VHlwZS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlGNTlDOTVGRjEyNTVCMjNGMDAwNjIz
QzAgLyogQmFzZURhdGVBbmRUaW1lSW5wdXRUeXBlLmNwcCBpbiBTb3VyY2VzICovLAotCQkJCTQ1
ODYxQzcyMTYxOTQ5REMwMDAxMEYzQSAvKiBCYXNlTXVsdGlwbGVGaWVsZHNEYXRlQW5kVGltZUlu
cHV0VHlwZS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlGNTVCM0RBRDEyNTFGMTJEMDAzRUYyNjkg
LyogQmFzZVRleHRJbnB1dFR5cGUuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJRkJENkFGODkxNUVG
MjVEQjAwOEI3MTEwIC8qIEJhc2ljU2hhcGVGdW5jdGlvbnMuY3BwIGluIFNvdXJjZXMgKi8sCiAJ
CQkJRkJENkFGOEQxNUVGMjYwQTAwOEI3MTEwIC8qIEJhc2ljU2hhcGVzLmNwcCBpbiBTb3VyY2Vz
ICovLApAQCAtMjQ1MzYsNyArMjQ0ODYsNiBAQAogCQkJCUFCQUYyMjA4MEMwM0IxQzcwMEIwQkNG
MCAvKiBDaHJvbWVNYWMubW0gaW4gU291cmNlcyAqLywKIAkJCQk0QUNCQzBCRTEyNzEzQ0JEMDA5
NEY5QjIgLyogQ2xhc3NMaXN0LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUJDOTA0Qjc2MEQxMDk5
OEYwMDY4MEQzMiAvKiBDbGFzc05vZGVMaXN0LmNwcCBpbiBTb3VyY2VzICovLAotCQkJCUMzN0RG
OEVGMTZFNzQ2NzEwMDc5QTBFQiAvKiBDbGVhckJ1dHRvbkVsZW1lbnQuY3BwIGluIFNvdXJjZXMg
Ki8sCiAJCQkJQkNDMDY1N0QwRjNDRTFCNzAwQ0QyRDg3IC8qIENsaWVudFJlY3QuY3BwIGluIFNv
dXJjZXMgKi8sCiAJCQkJQkNDMDY1ODAwRjNDRTFCNzAwQ0QyRDg3IC8qIENsaWVudFJlY3RMaXN0
LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUE3ODQ5NDFCMEI1RkU1MDcwMDFFMjM3QSAvKiBDbGlw
Ym9hcmQuY3BwIGluIFNvdXJjZXMgKi8sCkBAIC0yNDY3OSwxMyArMjQ2MjgsOCBAQAogCQkJCTJF
OTdDQ0VBMTI5MzlDQjgwMEM1QzhGRiAvKiBEYXRhVmlldy5jcHAgaW4gU291cmNlcyAqLywKIAkJ
CQlBNTczMkIwQTEzNkExNjFEMDA1QzhEN0MgLyogRGF0ZUNvbXBvbmVudHMuY3BwIGluIFNvdXJj
ZXMgKi8sCiAJCQkJRjU1QjNEQjUxMjUxRjEyRDAwM0VGMjY5IC8qIERhdGVJbnB1dFR5cGUuY3Bw
IGluIFNvdXJjZXMgKi8sCi0JCQkJNDU4NjFDN0YxNjE5NEE3NDAwMDEwRjNBIC8qIERhdGVUaW1l
RWRpdEVsZW1lbnQuY3BwIGluIFNvdXJjZXMgKi8sCi0JCQkJNDU4NjFDODExNjE5NEE3NDAwMDEw
RjNBIC8qIERhdGVUaW1lRmllbGRFbGVtZW50LmNwcCBpbiBTb3VyY2VzICovLAotCQkJCTQ1ODYx
QzgzMTYxOTRBNzQwMDAxMEYzQSAvKiBEYXRlVGltZUZpZWxkRWxlbWVudHMuY3BwIGluIFNvdXJj
ZXMgKi8sCiAJCQkJRjU1QjNEQjcxMjUxRjEyRDAwM0VGMjY5IC8qIERhdGVUaW1lSW5wdXRUeXBl
LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUY1NUIzREI5MTI1MUYxMkQwMDNFRjI2OSAvKiBEYXRl
VGltZUxvY2FsSW5wdXRUeXBlLmNwcCBpbiBTb3VyY2VzICovLAotCQkJCTQ1ODYxQzg1MTYxOTRB
NzQwMDAxMEYzQSAvKiBEYXRlVGltZU51bWVyaWNGaWVsZEVsZW1lbnQuY3BwIGluIFNvdXJjZXMg
Ki8sCi0JCQkJNDU4NjFDODcxNjE5NEE3NDAwMDEwRjNBIC8qIERhdGVUaW1lU3ltYm9saWNGaWVs
ZEVsZW1lbnQuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJNDVGRUE1Q0YxNTZEREU4QzAwNjU0MTAx
IC8qIERlY2ltYWwuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQThDMjI4QTIxMUQ1NzIyRTAwRDVB
N0QzIC8qIERlY29kZWREYXRhRG9jdW1lbnRQYXJzZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJ
NDE2MkE0NTAxMDExNDVBRTAwREZGM0VEIC8qIERlZGljYXRlZFdvcmtlckNvbnRleHQuY3BwIGlu
IFNvdXJjZXMgKi8sCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvaHRtbC5jc3MgYi9T
b3VyY2UvV2ViQ29yZS9jc3MvaHRtbC5jc3MKaW5kZXggZjE3ODBkNDQwNjViYTllZjZiZTE5NzRm
ODZjNWI5NGZjODg2OTAzYS4uMGFhMzZhM2Q1NjBmMGJjMWNkNTU3Y2I5NmY5ZGU3MDA3ZmEzNjlm
NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL2h0bWwuY3NzCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2Nzcy9odG1sLmNzcwpAQCAtNDk4LDE0OCArNDk4LDYgQEAgZGF0YWxpc3QgewogfQog
I2VuZGlmCiAKLSNpZiBkZWZpbmVkKEVOQUJMRV9JTlBVVF9NVUxUSVBMRV9GSUVMRFNfVUkpICYm
IEVOQUJMRV9JTlBVVF9NVUxUSVBMRV9GSUVMRFNfVUkKLSNpZiBkZWZpbmVkKEVOQUJMRV9JTlBV
VF9UWVBFX0RBVEUpICYmIEVOQUJMRV9JTlBVVF9UWVBFX0RBVEUKLWlucHV0W3R5cGU9ImRhdGUi
XSB7Ci0gICAgLXdlYmtpdC1hbGlnbi1pdGVtczogY2VudGVyOwotICAgIGRpc3BsYXk6IC13ZWJr
aXQtaW5saW5lLWZsZXg7Ci0gICAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZTsKLSAgICBvdmVyZmxv
dzogaGlkZGVuOwotICAgIHBhZGRpbmc6IDA7Ci0gICAgLXdlYmtpdC1wYWRkaW5nLXN0YXJ0OiAx
cHg7Ci19Ci0jZW5kaWYKLSNpZiBkZWZpbmVkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FX0lO
Q09NUExFVEUpICYmIEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FX0lOQ09NUExFVEUKLWlucHV0
W3R5cGU9ImRhdGV0aW1lIl0gewotICAgIC13ZWJraXQtYWxpZ24taXRlbXM6IGNlbnRlcjsKLSAg
ICBkaXNwbGF5OiAtd2Via2l0LWlubGluZS1mbGV4OwotICAgIGZvbnQtZmFtaWx5OiBtb25vc3Bh
Y2U7Ci0gICAgb3ZlcmZsb3c6IGhpZGRlbjsKLSAgICBwYWRkaW5nOiAwOwotICAgIC13ZWJraXQt
cGFkZGluZy1zdGFydDogMXB4OwotfQotI2VuZGlmCi0jaWYgZGVmaW5lZChFTkFCTEVfSU5QVVRf
VFlQRV9EQVRFVElNRUxPQ0FMKSAmJiBFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRUxPQ0FMCi1p
bnB1dFt0eXBlPSJkYXRldGltZS1sb2NhbCJdIHsKLSAgICAtd2Via2l0LWFsaWduLWl0ZW1zOiBj
ZW50ZXI7Ci0gICAgZGlzcGxheTogLXdlYmtpdC1pbmxpbmUtZmxleDsKLSAgICBmb250LWZhbWls
eTogbW9ub3NwYWNlOwotICAgIG92ZXJmbG93OiBoaWRkZW47Ci0gICAgcGFkZGluZzogMDsKLSAg
ICAtd2Via2l0LXBhZGRpbmctc3RhcnQ6IDFweDsKLX0KLSNlbmRpZgotI2lmIGRlZmluZWQoRU5B
QkxFX0lOUFVUX1RZUEVfTU9OVEgpICYmIEVOQUJMRV9JTlBVVF9UWVBFX01PTlRICi1pbnB1dFt0
eXBlPSJtb250aCJdIHsKLSAgICAtd2Via2l0LWFsaWduLWl0ZW1zOiBjZW50ZXI7Ci0gICAgZGlz
cGxheTogLXdlYmtpdC1pbmxpbmUtZmxleDsKLSAgICBmb250LWZhbWlseTogbW9ub3NwYWNlOwot
ICAgIG92ZXJmbG93OiBoaWRkZW47Ci0gICAgcGFkZGluZzogMDsKLSAgICAtd2Via2l0LXBhZGRp
bmctc3RhcnQ6IDFweDsKLX0KLSNlbmRpZgotI2lmIGRlZmluZWQoRU5BQkxFX0lOUFVUX1RZUEVf
VElNRSkgJiYgRU5BQkxFX0lOUFVUX1RZUEVfVElNRQotaW5wdXRbdHlwZT0idGltZSJdIHsKLSAg
ICAtd2Via2l0LWFsaWduLWl0ZW1zOiBjZW50ZXI7Ci0gICAgZGlzcGxheTogLXdlYmtpdC1pbmxp
bmUtZmxleDsKLSAgICBmb250LWZhbWlseTogbW9ub3NwYWNlOwotICAgIG92ZXJmbG93OiBoaWRk
ZW47Ci0gICAgcGFkZGluZzogMDsKLSAgICAtd2Via2l0LXBhZGRpbmctc3RhcnQ6IDFweDsKLX0K
LSNlbmRpZgotI2lmIGRlZmluZWQoRU5BQkxFX0lOUFVUX1RZUEVfV0VFSykgJiYgRU5BQkxFX0lO
UFVUX1RZUEVfV0VFSwotaW5wdXRbdHlwZT0id2VlayJdIHsKLSAgICAtd2Via2l0LWFsaWduLWl0
ZW1zOiBjZW50ZXI7Ci0gICAgZGlzcGxheTogLXdlYmtpdC1pbmxpbmUtZmxleDsKLSAgICBmb250
LWZhbWlseTogbW9ub3NwYWNlOwotICAgIG92ZXJmbG93OiBoaWRkZW47Ci0gICAgcGFkZGluZzog
MDsKLSAgICAtd2Via2l0LXBhZGRpbmctc3RhcnQ6IDFweDsKLX0KLSNlbmRpZgotCi1pbnB1dDo6
LXdlYmtpdC1kYXRldGltZS1lZGl0IHsKLSAgICAtd2Via2l0LWZsZXg6IDE7Ci0gICAgLXdlYmtp
dC11c2VyLW1vZGlmeTogcmVhZC1vbmx5ICFpbXBvcnRhbnQ7Ci0gICAgZGlzcGxheTogaW5saW5l
LWJsb2NrOwotICAgIG92ZXJmbG93OiBoaWRkZW47Ci19Ci0KLWlucHV0Ojotd2Via2l0LWRhdGV0
aW1lLWVkaXQtZmllbGRzLXdyYXBwZXIgewotICAgIC13ZWJraXQtdXNlci1tb2RpZnk6IHJlYWQt
b25seSAhaW1wb3J0YW50OwotICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsKLSAgICBwYWRkaW5n
OiAxcHggMDsKLSAgICB3aGl0ZS1zcGFjZTogcHJlOwotfQotCi0vKiBJZiB5b3UgdXBkYXRlIHBh
ZGRpbmcsIGJvcmRlciwgb3IgbWFyZ2luIGluIHRoZSBmb2xsb3dpbmcgcnVsZXNldCwgdXBkYXRl
Ci0gICBEYXRlVGltZUZpZWxkRWxlbWVudDo6bWF4aW11bVdpZHRoIHRvby4gKi8KLWlucHV0Ojot
d2Via2l0LWRhdGV0aW1lLWVkaXQtYW1wbS1maWVsZCwKLWlucHV0Ojotd2Via2l0LWRhdGV0aW1l
LWVkaXQtZGF5LWZpZWxkLAotaW5wdXQ6Oi13ZWJraXQtZGF0ZXRpbWUtZWRpdC1ob3VyLWZpZWxk
LAotaW5wdXQ6Oi13ZWJraXQtZGF0ZXRpbWUtZWRpdC1taWxsaXNlY29uZC1maWVsZCwKLWlucHV0
Ojotd2Via2l0LWRhdGV0aW1lLWVkaXQtbWludXRlLWZpZWxkLAotaW5wdXQ6Oi13ZWJraXQtZGF0
ZXRpbWUtZWRpdC1tb250aC1maWVsZCwKLWlucHV0Ojotd2Via2l0LWRhdGV0aW1lLWVkaXQtc2Vj
b25kLWZpZWxkLAotaW5wdXQ6Oi13ZWJraXQtZGF0ZXRpbWUtZWRpdC13ZWVrLWZpZWxkLAotaW5w
dXQ6Oi13ZWJraXQtZGF0ZXRpbWUtZWRpdC15ZWFyLWZpZWxkIHsKLSAgICAtd2Via2l0LXVzZXIt
bW9kaWZ5OiByZWFkLW9ubHkgIWltcG9ydGFudDsKLSAgICBib3JkZXI6IG5vbmU7Ci0gICAgZGlz
cGxheTogaW5saW5lOwotICAgIGZvbnQ6IGluaGVyaXQgIWltcG9ydGFudDsKLSAgICBwYWRkaW5n
OiAxcHg7Ci19Ci0KLS8qIFJlbW92ZSBmb2N1cyByaW5nIGZyb20gZmllbGRzIGFuZCB1c2UgaGln
aGxpZ2h0IGNvbG9yICovCi1pbnB1dDo6LXdlYmtpdC1kYXRldGltZS1lZGl0LWFtcG0tZmllbGQ6
Zm9jdXMsCi1pbnB1dDo6LXdlYmtpdC1kYXRldGltZS1lZGl0LWRheS1maWVsZDpmb2N1cywKLWlu
cHV0Ojotd2Via2l0LWRhdGV0aW1lLWVkaXQtaG91ci1maWVsZDpmb2N1cywKLWlucHV0Ojotd2Vi
a2l0LWRhdGV0aW1lLWVkaXQtbWlsbGlzZWNvbmQtZmllbGQ6Zm9jdXMsCi1pbnB1dDo6LXdlYmtp
dC1kYXRldGltZS1lZGl0LW1pbnV0ZS1maWVsZDpmb2N1cywKLWlucHV0Ojotd2Via2l0LWRhdGV0
aW1lLWVkaXQtbW9udGgtZmllbGQ6Zm9jdXMsCi1pbnB1dDo6LXdlYmtpdC1kYXRldGltZS1lZGl0
LXNlY29uZC1maWVsZDpmb2N1cywKLWlucHV0Ojotd2Via2l0LWRhdGV0aW1lLWVkaXQtd2Vlay1m
aWVsZDpmb2N1cywKLWlucHV0Ojotd2Via2l0LWRhdGV0aW1lLWVkaXQteWVhci1maWVsZDpmb2N1
cyB7Ci0gICAgYmFja2dyb3VuZC1jb2xvcjogaGlnaGxpZ2h0OwotICAgIGNvbG9yOiBoaWdobGln
aHR0ZXh0OwotICAgIG91dGxpbmU6IG5vbmU7Ci19Ci0KLWlucHV0Ojotd2Via2l0LWRhdGV0aW1l
LWVkaXQteWVhci1maWVsZFtkaXNhYmxlZF0sCi1pbnB1dDo6LXdlYmtpdC1kYXRldGltZS1lZGl0
LW1vbnRoLWZpZWxkW2Rpc2FibGVkXSwKLWlucHV0Ojotd2Via2l0LWRhdGV0aW1lLWVkaXQtd2Vl
ay1maWVsZFtkaXNhYmxlZF0sCi1pbnB1dDo6LXdlYmtpdC1kYXRldGltZS1lZGl0LWRheS1maWVs
ZFtkaXNhYmxlZF0sCi1pbnB1dDo6LXdlYmtpdC1kYXRldGltZS1lZGl0LWFtcG0tZmllbGRbZGlz
YWJsZWRdLAotaW5wdXQ6Oi13ZWJraXQtZGF0ZXRpbWUtZWRpdC1ob3VyLWZpZWxkW2Rpc2FibGVk
XSwKLWlucHV0Ojotd2Via2l0LWRhdGV0aW1lLWVkaXQtbWlsbGlzZWNvbmQtZmllbGRbZGlzYWJs
ZWRdLAotaW5wdXQ6Oi13ZWJraXQtZGF0ZXRpbWUtZWRpdC1taW51dGUtZmllbGRbZGlzYWJsZWRd
LAotaW5wdXQ6Oi13ZWJraXQtZGF0ZXRpbWUtZWRpdC1zZWNvbmQtZmllbGRbZGlzYWJsZWRdIHsK
LSAgICBjb2xvcjogR3JheVRleHQ7Ci19Ci0KLS8qIElmIHlvdSB1cGRhdGUgcGFkZGluZywgYm9y
ZGVyLCBvciBtYXJnaW4gaW4gdGhlIGZvbGxvd2luZyBydWxlc2V0LCB1cGRhdGUKLSAgIERhdGVU
aW1lRWRpdEVsZW1lbnQ6OmN1c3RvbVN0eWVsRm9yUmVuZGVyZXIgdG9vLiAqLwotaW5wdXQ6Oi13
ZWJraXQtZGF0ZXRpbWUtZWRpdC10ZXh0IHsKLSAgICAtd2Via2l0LXVzZXItbW9kaWZ5OiByZWFk
LW9ubHkgIWltcG9ydGFudDsKLSAgICBkaXNwbGF5OiBpbmxpbmU7Ci0gICAgZm9udDogaW5oZXJp
dCAhaW1wb3J0YW50OwotfQotCi1pbnB1dFt0eXBlPSJkYXRlIl06Oi13ZWJraXQtaW5uZXItc3Bp
bi1idXR0b24sCi1pbnB1dFt0eXBlPSJkYXRldGltZSJdOjotd2Via2l0LWlubmVyLXNwaW4tYnV0
dG9uLAotaW5wdXRbdHlwZT0iZGF0ZXRpbWUtbG9jYWwiXTo6LXdlYmtpdC1pbm5lci1zcGluLWJ1
dHRvbiwKLWlucHV0W3R5cGU9Im1vbnRoIl06Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sCi1p
bnB1dFt0eXBlPSJ0aW1lIl06Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sCi1pbnB1dFt0eXBl
PSJ3ZWVrIl06Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24gewotICAgIGRpc3BsYXk6IGlubGlu
ZS1ibG9jazsKLSAgICBwb3NpdGlvbjogc3RhdGljOwotICAgIC13ZWJraXQtbWFyZ2luLXN0YXJ0
OiAycHg7Ci19Ci0KLSNlbHNlCi0KICNpZiBkZWZpbmVkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEUp
ICYmIEVOQUJMRV9JTlBVVF9UWVBFX0RBVEUKIGlucHV0W3R5cGU9ImRhdGUiXSB7CiAgICAgLXdl
YmtpdC1hbGlnbi1pdGVtczogY2VudGVyOwpAQCAtNjk5LDcgKzU1Nyw2IEBAIGlucHV0Ojotd2Vi
a2l0LWRhdGUtYW5kLXRpbWUtdmFsdWUgewogICAgIG1hcmdpbjogMXB4IDI0cHggMXB4IDRweDsK
ICAgICB3aGl0ZS1zcGFjZTogcHJlOwogfQotI2VuZGlmCiAKIGlucHV0Ojotd2Via2l0LWlubmVy
LXNwaW4tYnV0dG9uIHsKICAgICAtd2Via2l0LWFwcGVhcmFuY2U6IGlubmVyLXNwaW4tYnV0dG9u
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnQuY3BwIGIvU291cmNlL1dl
YkNvcmUvZG9tL0VsZW1lbnQuY3BwCmluZGV4IDc0ZTlkODViMmViMTYyNTJiYTA1OTUwMGFmNzIz
MDU5MzJlYmM4MTQuLjQyOTYyNGMyOTRjZTNmNDJlNDgyOTM0ZmI4YjVmMDExOTA3Y2NiM2QgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9kb20vRWxlbWVudC5jcHAKQEAgLTEyNzAsMTMgKzEyNzAsNiBAQCBSZW5kZXJPYmplY3Qq
IEVsZW1lbnQ6OmNyZWF0ZVJlbmRlcmVyKFJlbmRlckFyZW5hKiwgUmVuZGVyU3R5bGUqIHN0eWxl
KQogICAgIHJldHVybiBSZW5kZXJPYmplY3Q6OmNyZWF0ZU9iamVjdCh0aGlzLCBzdHlsZSk7CiB9
CiAKLSNpZiBFTkFCTEUoSU5QVVRfTVVMVElQTEVfRklFTERTX1VJKQotYm9vbCBFbGVtZW50Ojpp
c0RhdGVUaW1lRmllbGRFbGVtZW50KCkgY29uc3QKLXsKLSAgICByZXR1cm4gZmFsc2U7Ci19Ci0j
ZW5kaWYKLQogYm9vbCBFbGVtZW50Ojppc0Rpc2FibGVkRm9ybUNvbnRyb2woKSBjb25zdAogewog
I2lmIEVOQUJMRShESUFMT0dfRUxFTUVOVCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Rv
bS9FbGVtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudC5oCmluZGV4IDBjYzg1MGFm
YjEyNGFhODRjNGI5MzI3OWU5Yjg5NTgyNjZjZDk3MTguLjIwNzQ1MTBjOWM2NmQ2OWY5ODczNjJm
MWQ3ODc5NzM3ODA0MTcwNzEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnQuaApAQCAtNTU5LDkgKzU1OSw2IEBA
IHB1YmxpYzoKICNpZiBFTkFCTEUoSU5QVVRfU1BFRUNIKQogICAgIHZpcnR1YWwgYm9vbCBpc0lu
cHV0RmllbGRTcGVlY2hCdXR0b25FbGVtZW50KCkgY29uc3QgeyByZXR1cm4gZmFsc2U7IH0KICNl
bmRpZgotI2lmIEVOQUJMRShJTlBVVF9NVUxUSVBMRV9GSUVMRFNfVUkpCi0gICAgdmlydHVhbCBi
b29sIGlzRGF0ZVRpbWVGaWVsZEVsZW1lbnQoKSBjb25zdDsKLSNlbmRpZgogCiAgICAgdmlydHVh
bCBib29sIGlzRm9ybUNvbnRyb2xFbGVtZW50KCkgY29uc3QgeyByZXR1cm4gZmFsc2U7IH0KICAg
ICB2aXJ0dWFsIGJvb2wgaXNTcGluQnV0dG9uRWxlbWVudCgpIGNvbnN0IHsgcmV0dXJuIGZhbHNl
OyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0Jhc2VDaG9vc2VyT25seURhdGVB
bmRUaW1lSW5wdXRUeXBlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvQmFzZUNob29zZXJPbmx5
RGF0ZUFuZFRpbWVJbnB1dFR5cGUuY3BwCmluZGV4IDJhYmFjZTE5YzM1NDQ1M2EyMjFkZjViNTc3
ZmViMWU4ZDBlZmM4NzcuLjAyNDUxZDBjMTQ2MDM5ZTUwYzA2ODE3NWZkYjEzZDJlZWRhOTEzNjMg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvQmFzZUNob29zZXJPbmx5RGF0ZUFuZFRp
bWVJbnB1dFR5cGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvQmFzZUNob29zZXJPbmx5
RGF0ZUFuZFRpbWVJbnB1dFR5cGUuY3BwCkBAIC0yNCw3ICsyNCw3IEBACiAgKi8KIAogI2luY2x1
ZGUgImNvbmZpZy5oIgotI2lmIEVOQUJMRShEQVRFX0FORF9USU1FX0lOUFVUX1RZUEVTKSAmJiAh
RU5BQkxFKElOUFVUX01VTFRJUExFX0ZJRUxEU19VSSkKKyNpZiBFTkFCTEUoREFURV9BTkRfVElN
RV9JTlBVVF9UWVBFUykKICNpbmNsdWRlICJCYXNlQ2hvb3Nlck9ubHlEYXRlQW5kVGltZUlucHV0
VHlwZS5oIgogCiAjaW5jbHVkZSAiQ2hyb21lLmgiCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9odG1sL0Jhc2VDaG9vc2VyT25seURhdGVBbmRUaW1lSW5wdXRUeXBlLmggYi9Tb3VyY2UvV2Vi
Q29yZS9odG1sL0Jhc2VDaG9vc2VyT25seURhdGVBbmRUaW1lSW5wdXRUeXBlLmgKaW5kZXggMmY2
YzgxMGYwZmM2ZTA5MjJmNjgyMjViODYxMjEyNTg1NTQyNzVhMi4uMDMwODY1ZjAxOWIxM2E0NGU2
Yjg4NDAzMWNlM2E4MGIzY2MzNjYyMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9C
YXNlQ2hvb3Nlck9ubHlEYXRlQW5kVGltZUlucHV0VHlwZS5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2h0bWwvQmFzZUNob29zZXJPbmx5RGF0ZUFuZFRpbWVJbnB1dFR5cGUuaApAQCAtMjYsNyArMjYs
NyBAQAogI2lmbmRlZiBCYXNlQ2hvb3Nlck9ubHlEYXRlQW5kVGltZUlucHV0VHlwZV9oCiAjZGVm
aW5lIEJhc2VDaG9vc2VyT25seURhdGVBbmRUaW1lSW5wdXRUeXBlX2gKIAotI2lmIEVOQUJMRShE
QVRFX0FORF9USU1FX0lOUFVUX1RZUEVTKSAmJiAhRU5BQkxFKElOUFVUX01VTFRJUExFX0ZJRUxE
U19VSSkKKyNpZiBFTkFCTEUoREFURV9BTkRfVElNRV9JTlBVVF9UWVBFUykKICNpbmNsdWRlICJC
YXNlQ2xpY2thYmxlV2l0aEtleUlucHV0VHlwZS5oIgogI2luY2x1ZGUgIkJhc2VEYXRlQW5kVGlt
ZUlucHV0VHlwZS5oIgogI2luY2x1ZGUgIkRhdGVUaW1lQ2hvb3Nlci5oIgpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvaHRtbC9CYXNlTXVsdGlwbGVGaWVsZHNEYXRlQW5kVGltZUlucHV0VHlw
ZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0Jhc2VNdWx0aXBsZUZpZWxkc0RhdGVBbmRUaW1l
SW5wdXRUeXBlLmNwcApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNDI3MGYyMDYzNWUy
YmVkM2JhYTZiN2FjMDZjOGY5NjM1NGU0ZjViZi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0Jhc2VNdWx0aXBsZUZpZWxk
c0RhdGVBbmRUaW1lSW5wdXRUeXBlLmNwcAorKysgL2Rldi9udWxsCkBAIC0xLDU3OSArMCwwIEBA
Ci0vKgotICogQ29weXJpZ2h0IChDKSAyMDEwIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2
ZWQuCi0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBm
b3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJv
dmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCi0gKiBtZXQ6Ci0gKgotICog
ICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92
ZSBjb3B5cmlnaHQKLSAqIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkg
Zm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKLSAqIGNvcHlyaWdodCBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKLSAqIGluIHRo
ZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUK
LSAqIGRpc3RyaWJ1dGlvbi4KLSAqICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIElu
Yy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKLSAqIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBl
bmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCi0gKiB0aGlzIHNvZnR3YXJl
IHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgotICoKLSAqIFRISVMg
U09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklC
VVRPUlMKLSAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywg
SU5DTFVESU5HLCBCVVQgTk9UCi0gKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVT
IE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKLSAqIEEgUEFSVElDVUxBUiBQVVJQ
T1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCi0gKiBP
V05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwg
SU5DSURFTlRBTCwKLSAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1B
R0VTIChJTkNMVURJTkcsIEJVVCBOT1QKLSAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNV
QlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAotICogREFUQSwgT1IgUFJP
RklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5Z
Ci0gKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElB
QklMSVRZLCBPUiBUT1JUCi0gKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBB
UklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKLSAqIE9GIFRISVMgU09GVFdBUkUsIEVW
RU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCi0gKi8KLQot
I2luY2x1ZGUgImNvbmZpZy5oIgotI2lmIEVOQUJMRShJTlBVVF9NVUxUSVBMRV9GSUVMRFNfVUkp
Ci0jaW5jbHVkZSAiQmFzZU11bHRpcGxlRmllbGRzRGF0ZUFuZFRpbWVJbnB1dFR5cGUuaCIKLQot
I2luY2x1ZGUgIkNTU1ZhbHVlS2V5d29yZHMuaCIKLSNpbmNsdWRlICJEYXRlQ29tcG9uZW50cy5o
IgotI2luY2x1ZGUgIkRhdGVUaW1lRmllbGRzU3RhdGUuaCIKLSNpbmNsdWRlICJEYXRlVGltZUZv
cm1hdC5oIgotI2luY2x1ZGUgIkVsZW1lbnRTaGFkb3cuaCIKLSNpbmNsdWRlICJGb2N1c0NvbnRy
b2xsZXIuaCIKLSNpbmNsdWRlICJGb3JtQ29udHJvbGxlci5oIgotI2luY2x1ZGUgIkhUTUxEYXRh
TGlzdEVsZW1lbnQuaCIKLSNpbmNsdWRlICJIVE1MSW5wdXRFbGVtZW50LmgiCi0jaW5jbHVkZSAi
SFRNTE9wdGlvbkVsZW1lbnQuaCIKLSNpbmNsdWRlICJLZXlib2FyZEV2ZW50LmgiCi0jaW5jbHVk
ZSAiTG9jYWxpemVkU3RyaW5ncy5oIgotI2luY2x1ZGUgIk5vZGVUcmF2ZXJzYWwuaCIKLSNpbmNs
dWRlICJQYWdlLmgiCi0jaW5jbHVkZSAiUGlja2VySW5kaWNhdG9yRWxlbWVudC5oIgotI2luY2x1
ZGUgIlBsYXRmb3JtTG9jYWxlLmgiCi0jaW5jbHVkZSAiUmVuZGVyVGhlbWUuaCIKLSNpbmNsdWRl
ICJTaGFkb3dSb290LmgiCi0jaW5jbHVkZSA8d3RmL0RhdGVNYXRoLmg+Ci0KLW5hbWVzcGFjZSBX
ZWJDb3JlIHsKLQotY2xhc3MgRGF0ZVRpbWVGb3JtYXRWYWxpZGF0b3IgOiBwdWJsaWMgRGF0ZVRp
bWVGb3JtYXQ6OlRva2VuSGFuZGxlciB7Ci1wdWJsaWM6Ci0gICAgRGF0ZVRpbWVGb3JtYXRWYWxp
ZGF0b3IoKQotICAgICAgICA6IG1faGFzWWVhcihmYWxzZSkKLSAgICAgICAgLCBtX2hhc01vbnRo
KGZhbHNlKQotICAgICAgICAsIG1faGFzV2VlayhmYWxzZSkKLSAgICAgICAgLCBtX2hhc0RheShm
YWxzZSkKLSAgICAgICAgLCBtX2hhc0FNUE0oZmFsc2UpCi0gICAgICAgICwgbV9oYXNIb3VyKGZh
bHNlKQotICAgICAgICAsIG1faGFzTWludXRlKGZhbHNlKQotICAgICAgICAsIG1faGFzU2Vjb25k
KGZhbHNlKSB7IH0KLQotICAgIHZpcnR1YWwgdm9pZCB2aXNpdEZpZWxkKERhdGVUaW1lRm9ybWF0
OjpGaWVsZFR5cGUsIGludCkgT1ZFUlJJREUgRklOQUw7Ci0gICAgdmlydHVhbCB2b2lkIHZpc2l0
TGl0ZXJhbChjb25zdCBTdHJpbmcmKSBPVkVSUklERSBGSU5BTCB7IH0KLQotICAgIGJvb2wgdmFs
aWRhdGVGb3JtYXQoY29uc3QgU3RyaW5nJiBmb3JtYXQsIGNvbnN0IEJhc2VNdWx0aXBsZUZpZWxk
c0RhdGVBbmRUaW1lSW5wdXRUeXBlJik7Ci0KLXByaXZhdGU6Ci0gICAgYm9vbCBtX2hhc1llYXI7
Ci0gICAgYm9vbCBtX2hhc01vbnRoOwotICAgIGJvb2wgbV9oYXNXZWVrOwotICAgIGJvb2wgbV9o
YXNEYXk7Ci0gICAgYm9vbCBtX2hhc0FNUE07Ci0gICAgYm9vbCBtX2hhc0hvdXI7Ci0gICAgYm9v
bCBtX2hhc01pbnV0ZTsKLSAgICBib29sIG1faGFzU2Vjb25kOwotfTsKLQotdm9pZCBEYXRlVGlt
ZUZvcm1hdFZhbGlkYXRvcjo6dmlzaXRGaWVsZChEYXRlVGltZUZvcm1hdDo6RmllbGRUeXBlIGZp
ZWxkVHlwZSwgaW50KQotewotICAgIHN3aXRjaCAoZmllbGRUeXBlKSB7Ci0gICAgY2FzZSBEYXRl
VGltZUZvcm1hdDo6RmllbGRUeXBlWWVhcjoKLSAgICAgICAgbV9oYXNZZWFyID0gdHJ1ZTsKLSAg
ICAgICAgYnJlYWs7Ci0gICAgY2FzZSBEYXRlVGltZUZvcm1hdDo6RmllbGRUeXBlTW9udGg6IC8v
IEZhbGx0aHJvdWdoLgotICAgIGNhc2UgRGF0ZVRpbWVGb3JtYXQ6OkZpZWxkVHlwZU1vbnRoU3Rh
bmRBbG9uZToKLSAgICAgICAgbV9oYXNNb250aCA9IHRydWU7Ci0gICAgICAgIGJyZWFrOwotICAg
IGNhc2UgRGF0ZVRpbWVGb3JtYXQ6OkZpZWxkVHlwZVdlZWtPZlllYXI6Ci0gICAgICAgIG1faGFz
V2VlayA9IHRydWU7Ci0gICAgICAgIGJyZWFrOwotICAgIGNhc2UgRGF0ZVRpbWVGb3JtYXQ6OkZp
ZWxkVHlwZURheU9mTW9udGg6Ci0gICAgICAgIG1faGFzRGF5ID0gdHJ1ZTsKLSAgICAgICAgYnJl
YWs7Ci0gICAgY2FzZSBEYXRlVGltZUZvcm1hdDo6RmllbGRUeXBlUGVyaW9kOgotICAgICAgICBt
X2hhc0FNUE0gPSB0cnVlOwotICAgICAgICBicmVhazsKLSAgICBjYXNlIERhdGVUaW1lRm9ybWF0
OjpGaWVsZFR5cGVIb3VyMTE6IC8vIEZhbGx0aHJvdWdoLgotICAgIGNhc2UgRGF0ZVRpbWVGb3Jt
YXQ6OkZpZWxkVHlwZUhvdXIxMjoKLSAgICAgICAgbV9oYXNIb3VyID0gdHJ1ZTsKLSAgICAgICAg
YnJlYWs7Ci0gICAgY2FzZSBEYXRlVGltZUZvcm1hdDo6RmllbGRUeXBlSG91cjIzOiAvLyBGYWxs
dGhyb3VnaC4KLSAgICBjYXNlIERhdGVUaW1lRm9ybWF0OjpGaWVsZFR5cGVIb3VyMjQ6Ci0gICAg
ICAgIG1faGFzSG91ciA9IHRydWU7Ci0gICAgICAgIG1faGFzQU1QTSA9IHRydWU7Ci0gICAgICAg
IGJyZWFrOwotICAgIGNhc2UgRGF0ZVRpbWVGb3JtYXQ6OkZpZWxkVHlwZU1pbnV0ZToKLSAgICAg
ICAgbV9oYXNNaW51dGUgPSB0cnVlOwotICAgICAgICBicmVhazsKLSAgICBjYXNlIERhdGVUaW1l
Rm9ybWF0OjpGaWVsZFR5cGVTZWNvbmQ6Ci0gICAgICAgIG1faGFzU2Vjb25kID0gdHJ1ZTsKLSAg
ICAgICAgYnJlYWs7Ci0gICAgZGVmYXVsdDoKLSAgICAgICAgYnJlYWs7Ci0gICAgfQotfQotCi1i
b29sIERhdGVUaW1lRm9ybWF0VmFsaWRhdG9yOjp2YWxpZGF0ZUZvcm1hdChjb25zdCBTdHJpbmcm
IGZvcm1hdCwgY29uc3QgQmFzZU11bHRpcGxlRmllbGRzRGF0ZUFuZFRpbWVJbnB1dFR5cGUmIGlu
cHV0VHlwZSkKLXsKLSAgICBpZiAoIURhdGVUaW1lRm9ybWF0OjpwYXJzZShmb3JtYXQsICp0aGlz
KSkKLSAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgIHJldHVybiBpbnB1dFR5cGUuaXNWYWxpZEZv
cm1hdChtX2hhc1llYXIsIG1faGFzTW9udGgsIG1faGFzV2VlaywgbV9oYXNEYXksIG1faGFzQU1Q
TSwgbV9oYXNIb3VyLCBtX2hhc01pbnV0ZSwgbV9oYXNTZWNvbmQpOwotfQotCi12b2lkIEJhc2VN
dWx0aXBsZUZpZWxkc0RhdGVBbmRUaW1lSW5wdXRUeXBlOjpkaWRCbHVyRnJvbUNvbnRyb2woKQot
ewotICAgIC8vIFdlIGRvbid0IG5lZWQgdG8gY2FsbCBibHVyKCkuIFRoaXMgZnVuY3Rpb24gaXMg
Y2FsbGVkIHdoZW4gY29udHJvbAotICAgIC8vIGxvc3QgZm9jdXMuCi0KLSAgICAvLyBSZW1vdmUg
Zm9jdXMgcmluZyBieSBDU1MgImZvY3VzIiBwc2V1ZG8gY2xhc3MuCi0gICAgZWxlbWVudCgpLT5z
ZXRGb2N1cyhmYWxzZSk7Ci19Ci0KLXZvaWQgQmFzZU11bHRpcGxlRmllbGRzRGF0ZUFuZFRpbWVJ
bnB1dFR5cGU6OmRpZEZvY3VzT25Db250cm9sKCkKLXsKLSAgICAvLyBXZSBkb24ndCBuZWVkIHRv
IGNhbGwgZm9jdXMoKS4gVGhpcyBmdW5jdGlvbiBpcyBjYWxsZWQgd2hlbiBjb250cm9sCi0gICAg
Ly8gZ290IGZvY3VzLgotCi0gICAgLy8gQWRkIGZvY3VzIHJpbmcgYnkgQ1NTICJmb2N1cyIgcHNl
dWRvIGNsYXNzLgotICAgIGVsZW1lbnQoKS0+c2V0Rm9jdXModHJ1ZSk7Ci19Ci0KLXZvaWQgQmFz
ZU11bHRpcGxlRmllbGRzRGF0ZUFuZFRpbWVJbnB1dFR5cGU6OmVkaXRDb250cm9sVmFsdWVDaGFu
Z2VkKCkKLXsKLSAgICBSZWZQdHI8SFRNTElucHV0RWxlbWVudD4gaW5wdXQoZWxlbWVudCgpKTsK
LSAgICBTdHJpbmcgb2xkVmFsdWUgPSBpbnB1dC0+dmFsdWUoKTsKLSAgICBTdHJpbmcgbmV3VmFs
dWUgPSBzYW5pdGl6ZVZhbHVlKG1fZGF0ZVRpbWVFZGl0RWxlbWVudC0+dmFsdWUoKSk7Ci0gICAg
Ly8gRXZlbiBpZiBvbGRWYWx1ZSBpcyBudWxsIGFuZCBuZXdWYWx1ZSBpcyAiIiwgd2Ugc2hvdWxk
IGFzc3VtZSB0aGV5IGFyZSBzYW1lLgotICAgIGlmICgob2xkVmFsdWUuaXNFbXB0eSgpICYmIG5l
d1ZhbHVlLmlzRW1wdHkoKSkgfHwgb2xkVmFsdWUgPT0gbmV3VmFsdWUpCi0gICAgICAgIGlucHV0
LT5zZXROZWVkc1ZhbGlkaXR5Q2hlY2soKTsKLSAgICBlbHNlIHsKLSAgICAgICAgaW5wdXQtPnNl
dFZhbHVlSW50ZXJuYWwobmV3VmFsdWUsIERpc3BhdGNoTm9FdmVudCk7Ci0gICAgICAgIGlucHV0
LT5zZXROZWVkc1N0eWxlUmVjYWxjKCk7Ci0gICAgICAgIGlucHV0LT5kaXNwYXRjaEZvcm1Db250
cm9sSW5wdXRFdmVudCgpOwotICAgICAgICBpbnB1dC0+ZGlzcGF0Y2hGb3JtQ29udHJvbENoYW5n
ZUV2ZW50KCk7Ci0gICAgfQotICAgIGlucHV0LT5ub3RpZnlGb3JtU3RhdGVDaGFuZ2VkKCk7Ci0g
ICAgaW5wdXQtPnVwZGF0ZUNsZWFyQnV0dG9uVmlzaWJpbGl0eSgpOwotfQotCi1ib29sIEJhc2VN
dWx0aXBsZUZpZWxkc0RhdGVBbmRUaW1lSW5wdXRUeXBlOjpoYXNDdXN0b21Gb2N1c0xvZ2ljKCkg
Y29uc3QKLXsKLSAgICByZXR1cm4gZmFsc2U7Ci19Ci0KLWJvb2wgQmFzZU11bHRpcGxlRmllbGRz
RGF0ZUFuZFRpbWVJbnB1dFR5cGU6OmlzRWRpdENvbnRyb2xPd25lckRpc2FibGVkKCkgY29uc3QK
LXsKLSAgICByZXR1cm4gZWxlbWVudCgpLT5pc0Rpc2FibGVkRm9ybUNvbnRyb2woKTsKLX0KLQot
Ym9vbCBCYXNlTXVsdGlwbGVGaWVsZHNEYXRlQW5kVGltZUlucHV0VHlwZTo6aXNFZGl0Q29udHJv
bE93bmVyUmVhZE9ubHkoKSBjb25zdAotewotICAgIHJldHVybiBlbGVtZW50KCktPmlzUmVhZE9u
bHkoKTsKLX0KLQotdm9pZCBCYXNlTXVsdGlwbGVGaWVsZHNEYXRlQW5kVGltZUlucHV0VHlwZTo6
Zm9jdXNBbmRTZWxlY3RTcGluQnV0dG9uT3duZXIoKQotewotICAgIGlmIChtX2RhdGVUaW1lRWRp
dEVsZW1lbnQpCi0gICAgICAgIG1fZGF0ZVRpbWVFZGl0RWxlbWVudC0+Zm9jdXNJZk5vRm9jdXMo
KTsKLX0KLQotYm9vbCBCYXNlTXVsdGlwbGVGaWVsZHNEYXRlQW5kVGltZUlucHV0VHlwZTo6c2hv
dWxkU3BpbkJ1dHRvblJlc3BvbmRUb01vdXNlRXZlbnRzKCkKLXsKLSAgICByZXR1cm4gIWVsZW1l
bnQoKS0+aXNEaXNhYmxlZE9yUmVhZE9ubHkoKTsKLX0KLQotYm9vbCBCYXNlTXVsdGlwbGVGaWVs
ZHNEYXRlQW5kVGltZUlucHV0VHlwZTo6c2hvdWxkU3BpbkJ1dHRvblJlc3BvbmRUb1doZWVsRXZl
bnRzKCkKLXsKLSAgICBpZiAoIXNob3VsZFNwaW5CdXR0b25SZXNwb25kVG9Nb3VzZUV2ZW50cygp
KQotICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgcmV0dXJuIG1fZGF0ZVRpbWVFZGl0RWxlbWVu
dCAmJiBtX2RhdGVUaW1lRWRpdEVsZW1lbnQtPmhhc0ZvY3VzZWRGaWVsZCgpOwotfQotCi12b2lk
IEJhc2VNdWx0aXBsZUZpZWxkc0RhdGVBbmRUaW1lSW5wdXRUeXBlOjpzcGluQnV0dG9uU3RlcERv
d24oKQotewotICAgIGlmIChtX2RhdGVUaW1lRWRpdEVsZW1lbnQpCi0gICAgICAgIG1fZGF0ZVRp
bWVFZGl0RWxlbWVudC0+c3RlcERvd24oKTsKLX0KLQotdm9pZCBCYXNlTXVsdGlwbGVGaWVsZHNE
YXRlQW5kVGltZUlucHV0VHlwZTo6c3BpbkJ1dHRvblN0ZXBVcCgpCi17Ci0gICAgaWYgKG1fZGF0
ZVRpbWVFZGl0RWxlbWVudCkKLSAgICAgICAgbV9kYXRlVGltZUVkaXRFbGVtZW50LT5zdGVwVXAo
KTsKLX0KLQotYm9vbCBCYXNlTXVsdGlwbGVGaWVsZHNEYXRlQW5kVGltZUlucHV0VHlwZTo6aXNQ
aWNrZXJJbmRpY2F0b3JPd25lckRpc2FibGVkT3JSZWFkT25seSgpIGNvbnN0Ci17Ci0gICAgcmV0
dXJuIGVsZW1lbnQoKS0+aXNEaXNhYmxlZE9yUmVhZE9ubHkoKTsKLX0KLQotdm9pZCBCYXNlTXVs
dGlwbGVGaWVsZHNEYXRlQW5kVGltZUlucHV0VHlwZTo6cGlja2VySW5kaWNhdG9yQ2hvb3NlVmFs
dWUoY29uc3QgU3RyaW5nJiB2YWx1ZSkKLXsKLSAgICBpZiAoZWxlbWVudCgpLT5pc1ZhbGlkVmFs
dWUodmFsdWUpKSB7Ci0gICAgICAgIGVsZW1lbnQoKS0+c2V0VmFsdWUodmFsdWUsIERpc3BhdGNo
SW5wdXRBbmRDaGFuZ2VFdmVudCk7Ci0gICAgICAgIHJldHVybjsKLSAgICB9Ci0KLSAgICBpZiAo
IW1fZGF0ZVRpbWVFZGl0RWxlbWVudCkKLSAgICAgICAgcmV0dXJuOwotICAgIERhdGVDb21wb25l
bnRzIGRhdGU7Ci0gICAgdW5zaWduZWQgZW5kOwotICAgIGlmIChkYXRlLnBhcnNlRGF0ZSh2YWx1
ZS5jaGFyYWN0ZXJzKCksIHZhbHVlLmxlbmd0aCgpLCAwLCBlbmQpICYmIGVuZCA9PSB2YWx1ZS5s
ZW5ndGgoKSkKLSAgICAgICAgbV9kYXRlVGltZUVkaXRFbGVtZW50LT5zZXRPbmx5WWVhck1vbnRo
RGF5KGRhdGUpOwotfQotCi1ib29sIEJhc2VNdWx0aXBsZUZpZWxkc0RhdGVBbmRUaW1lSW5wdXRU
eXBlOjpzZXR1cERhdGVUaW1lQ2hvb3NlclBhcmFtZXRlcnMoRGF0ZVRpbWVDaG9vc2VyUGFyYW1l
dGVycyYgcGFyYW1ldGVycykKLXsKLSAgICByZXR1cm4gZWxlbWVudCgpLT5zZXR1cERhdGVUaW1l
Q2hvb3NlclBhcmFtZXRlcnMocGFyYW1ldGVycyk7Ci19Ci0KLUJhc2VNdWx0aXBsZUZpZWxkc0Rh
dGVBbmRUaW1lSW5wdXRUeXBlOjpCYXNlTXVsdGlwbGVGaWVsZHNEYXRlQW5kVGltZUlucHV0VHlw
ZShIVE1MSW5wdXRFbGVtZW50KiBlbGVtZW50KQotICAgIDogQmFzZURhdGVBbmRUaW1lSW5wdXRU
eXBlKGVsZW1lbnQpCi0gICAgLCBtX2RhdGVUaW1lRWRpdEVsZW1lbnQoMCkKLSAgICAsIG1fc3Bp
bkJ1dHRvbkVsZW1lbnQoMCkKLSAgICAsIG1fY2xlYXJCdXR0b24oMCkKLSAgICAsIG1fcGlja2Vy
SW5kaWNhdG9yRWxlbWVudCgwKQotICAgICwgbV9waWNrZXJJbmRpY2F0b3JJc1Zpc2libGUoZmFs
c2UpCi0gICAgLCBtX3BpY2tlckluZGljYXRvcklzQWx3YXlzVmlzaWJsZShmYWxzZSkKLXsKLX0K
LQotQmFzZU11bHRpcGxlRmllbGRzRGF0ZUFuZFRpbWVJbnB1dFR5cGU6On5CYXNlTXVsdGlwbGVG
aWVsZHNEYXRlQW5kVGltZUlucHV0VHlwZSgpCi17Ci0gICAgaWYgKG1fc3BpbkJ1dHRvbkVsZW1l
bnQpCi0gICAgICAgIG1fc3BpbkJ1dHRvbkVsZW1lbnQtPnJlbW92ZVNwaW5CdXR0b25Pd25lcigp
OwotICAgIGlmIChtX2NsZWFyQnV0dG9uKQotICAgICAgICBtX2NsZWFyQnV0dG9uLT5yZW1vdmVD
bGVhckJ1dHRvbk93bmVyKCk7Ci0gICAgaWYgKG1fZGF0ZVRpbWVFZGl0RWxlbWVudCkKLSAgICAg
ICAgbV9kYXRlVGltZUVkaXRFbGVtZW50LT5yZW1vdmVFZGl0Q29udHJvbE93bmVyKCk7Ci0gICAg
aWYgKG1fcGlja2VySW5kaWNhdG9yRWxlbWVudCkKLSAgICAgICAgbV9waWNrZXJJbmRpY2F0b3JF
bGVtZW50LT5yZW1vdmVQaWNrZXJJbmRpY2F0b3JPd25lcigpOwotfQotCi1TdHJpbmcgQmFzZU11
bHRpcGxlRmllbGRzRGF0ZUFuZFRpbWVJbnB1dFR5cGU6OmJhZElucHV0VGV4dCgpIGNvbnN0Ci17
Ci0gICAgcmV0dXJuIHZhbGlkYXRpb25NZXNzYWdlQmFkSW5wdXRGb3JEYXRlVGltZVRleHQoKTsK
LX0KLQotdm9pZCBCYXNlTXVsdGlwbGVGaWVsZHNEYXRlQW5kVGltZUlucHV0VHlwZTo6Ymx1cigp
Ci17Ci0gICAgaWYgKG1fZGF0ZVRpbWVFZGl0RWxlbWVudCkKLSAgICAgICAgbV9kYXRlVGltZUVk
aXRFbGVtZW50LT5ibHVyQnlPd25lcigpOwotfQotCi1QYXNzUmVmUHRyPFJlbmRlclN0eWxlPiBC
YXNlTXVsdGlwbGVGaWVsZHNEYXRlQW5kVGltZUlucHV0VHlwZTo6Y3VzdG9tU3R5bGVGb3JSZW5k
ZXJlcihQYXNzUmVmUHRyPFJlbmRlclN0eWxlPiBvcmlnaW5hbFN0eWxlKQotewotICAgIEVEaXNw
bGF5IG9yaWdpbmFsRGlzcGxheSA9IG9yaWdpbmFsU3R5bGUtPmRpc3BsYXkoKTsKLSAgICBFRGlz
cGxheSBuZXdEaXNwbGF5ID0gb3JpZ2luYWxEaXNwbGF5OwotICAgIGlmIChvcmlnaW5hbERpc3Bs
YXkgPT0gSU5MSU5FIHx8IG9yaWdpbmFsRGlzcGxheSA9PSBJTkxJTkVfQkxPQ0spCi0gICAgICAg
IG5ld0Rpc3BsYXkgPSBJTkxJTkVfRkxFWDsKLSAgICBlbHNlIGlmIChvcmlnaW5hbERpc3BsYXkg
PT0gQkxPQ0spCi0gICAgICAgIG5ld0Rpc3BsYXkgPSBGTEVYOwotICAgIFRleHREaXJlY3Rpb24g
Y29udGVudERpcmVjdGlvbiA9IGVsZW1lbnQoKS0+bG9jYWxlKCkuaXNSVEwoKSA/IFJUTCA6IExU
UjsKLSAgICBpZiAob3JpZ2luYWxTdHlsZS0+ZGlyZWN0aW9uKCkgPT0gY29udGVudERpcmVjdGlv
biAmJiBvcmlnaW5hbERpc3BsYXkgPT0gbmV3RGlzcGxheSkKLSAgICAgICAgcmV0dXJuIG9yaWdp
bmFsU3R5bGU7Ci0KLSAgICBSZWZQdHI8UmVuZGVyU3R5bGU+IHN0eWxlID0gUmVuZGVyU3R5bGU6
OmNsb25lKG9yaWdpbmFsU3R5bGUuZ2V0KCkpOwotICAgIHN0eWxlLT5zZXREaXJlY3Rpb24oY29u
dGVudERpcmVjdGlvbik7Ci0gICAgc3R5bGUtPnNldERpc3BsYXkobmV3RGlzcGxheSk7Ci0gICAg
cmV0dXJuIHN0eWxlLnJlbGVhc2UoKTsKLX0KLQotdm9pZCBCYXNlTXVsdGlwbGVGaWVsZHNEYXRl
QW5kVGltZUlucHV0VHlwZTo6Y3JlYXRlU2hhZG93U3VidHJlZSgpCi17Ci0gICAgQVNTRVJUKGVs
ZW1lbnQoKS0+c2hhZG93KCkpOwotCi0gICAgRG9jdW1lbnQqIGRvY3VtZW50ID0gZWxlbWVudCgp
LT5kb2N1bWVudCgpOwotICAgIENvbnRhaW5lck5vZGUqIGNvbnRhaW5lciA9IGVsZW1lbnQoKS0+
dXNlckFnZW50U2hhZG93Um9vdCgpOwotCi0gICAgUmVmUHRyPERhdGVUaW1lRWRpdEVsZW1lbnQ+
IGRhdGVUaW1lRWRpdEVsZW1lbnQoRGF0ZVRpbWVFZGl0RWxlbWVudDo6Y3JlYXRlKGRvY3VtZW50
LCAqdGhpcykpOwotICAgIG1fZGF0ZVRpbWVFZGl0RWxlbWVudCA9IGRhdGVUaW1lRWRpdEVsZW1l
bnQuZ2V0KCk7Ci0gICAgY29udGFpbmVyLT5hcHBlbmRDaGlsZChtX2RhdGVUaW1lRWRpdEVsZW1l
bnQpOwotICAgIHVwZGF0ZUlubmVyVGV4dFZhbHVlKCk7Ci0KLSAgICBSZWZQdHI8Q2xlYXJCdXR0
b25FbGVtZW50PiBjbGVhckJ1dHRvbiA9IENsZWFyQnV0dG9uRWxlbWVudDo6Y3JlYXRlKGRvY3Vt
ZW50LCAqdGhpcyk7Ci0gICAgbV9jbGVhckJ1dHRvbiA9IGNsZWFyQnV0dG9uLmdldCgpOwotICAg
IGNvbnRhaW5lci0+YXBwZW5kQ2hpbGQoY2xlYXJCdXR0b24pOwotCi0gICAgUmVmUHRyPFNwaW5C
dXR0b25FbGVtZW50PiBzcGluQnV0dG9uID0gU3BpbkJ1dHRvbkVsZW1lbnQ6OmNyZWF0ZShkb2N1
bWVudCwgKnRoaXMpOwotICAgIG1fc3BpbkJ1dHRvbkVsZW1lbnQgPSBzcGluQnV0dG9uLmdldCgp
OwotICAgIGNvbnRhaW5lci0+YXBwZW5kQ2hpbGQoc3BpbkJ1dHRvbik7Ci0KLSAgICBib29sIHNo
b3VsZEFkZFBpY2tlckluZGljYXRvciA9IGZhbHNlOwotI2lmIEVOQUJMRShEQVRBTElTVF9FTEVN
RU5UKQotICAgIGlmIChJbnB1dFR5cGU6OnRoZW1lU3VwcG9ydHNEYXRhTGlzdFVJKHRoaXMpKQot
ICAgICAgICBzaG91bGRBZGRQaWNrZXJJbmRpY2F0b3IgPSB0cnVlOwotI2VuZGlmCi0gICAgaWYg
KHNob3VsZEFkZFBpY2tlckluZGljYXRvcikgewotICAgICAgICBSZWZQdHI8UGlja2VySW5kaWNh
dG9yRWxlbWVudD4gcGlja2VyRWxlbWVudCA9IFBpY2tlckluZGljYXRvckVsZW1lbnQ6OmNyZWF0
ZShkb2N1bWVudCwgKnRoaXMpOwotICAgICAgICBtX3BpY2tlckluZGljYXRvckVsZW1lbnQgPSBw
aWNrZXJFbGVtZW50LmdldCgpOwotICAgICAgICBjb250YWluZXItPmFwcGVuZENoaWxkKG1fcGlj
a2VySW5kaWNhdG9yRWxlbWVudCk7Ci0gICAgICAgIG1fcGlja2VySW5kaWNhdG9ySXNWaXNpYmxl
ID0gdHJ1ZTsKLSAgICAgICAgdXBkYXRlUGlja2VySW5kaWNhdG9yVmlzaWJpbGl0eSgpOwotICAg
IH0KLX0KLQotdm9pZCBCYXNlTXVsdGlwbGVGaWVsZHNEYXRlQW5kVGltZUlucHV0VHlwZTo6ZGVz
dHJveVNoYWRvd1N1YnRyZWUoKQotewotICAgIGlmIChtX3NwaW5CdXR0b25FbGVtZW50KSB7Ci0g
ICAgICAgIG1fc3BpbkJ1dHRvbkVsZW1lbnQtPnJlbW92ZVNwaW5CdXR0b25Pd25lcigpOwotICAg
ICAgICBtX3NwaW5CdXR0b25FbGVtZW50ID0gMDsKLSAgICB9Ci0gICAgaWYgKG1fY2xlYXJCdXR0
b24pIHsKLSAgICAgICAgbV9jbGVhckJ1dHRvbi0+cmVtb3ZlQ2xlYXJCdXR0b25Pd25lcigpOwot
ICAgICAgICBtX2NsZWFyQnV0dG9uID0gMDsKLSAgICB9Ci0gICAgaWYgKG1fZGF0ZVRpbWVFZGl0
RWxlbWVudCkgewotICAgICAgICBtX2RhdGVUaW1lRWRpdEVsZW1lbnQtPnJlbW92ZUVkaXRDb250
cm9sT3duZXIoKTsKLSAgICAgICAgbV9kYXRlVGltZUVkaXRFbGVtZW50ID0gMDsKLSAgICB9Ci0g
ICAgaWYgKG1fcGlja2VySW5kaWNhdG9yRWxlbWVudCkgewotICAgICAgICBtX3BpY2tlckluZGlj
YXRvckVsZW1lbnQtPnJlbW92ZVBpY2tlckluZGljYXRvck93bmVyKCk7Ci0gICAgICAgIG1fcGlj
a2VySW5kaWNhdG9yRWxlbWVudCA9IDA7Ci0gICAgfQotICAgIEJhc2VEYXRlQW5kVGltZUlucHV0
VHlwZTo6ZGVzdHJveVNoYWRvd1N1YnRyZWUoKTsKLX0KLQotdm9pZCBCYXNlTXVsdGlwbGVGaWVs
ZHNEYXRlQW5kVGltZUlucHV0VHlwZTo6aGFuZGxlRm9jdXNFdmVudChOb2RlKiBvbGRGb2N1c2Vk
Tm9kZSwgRm9jdXNEaXJlY3Rpb24gZGlyZWN0aW9uKQotewotICAgIGlmICghbV9kYXRlVGltZUVk
aXRFbGVtZW50KQotICAgICAgICByZXR1cm47Ci0gICAgaWYgKGRpcmVjdGlvbiA9PSBGb2N1c0Rp
cmVjdGlvbkJhY2t3YXJkKSB7Ci0gICAgICAgIGlmIChlbGVtZW50KCktPmRvY3VtZW50KCktPnBh
Z2UoKSkKLSAgICAgICAgICAgIGVsZW1lbnQoKS0+ZG9jdW1lbnQoKS0+cGFnZSgpLT5mb2N1c0Nv
bnRyb2xsZXIoKS0+YWR2YW5jZUZvY3VzKGRpcmVjdGlvbiwgMCk7Ci0gICAgfSBlbHNlIGlmIChk
aXJlY3Rpb24gPT0gRm9jdXNEaXJlY3Rpb25Ob25lKSB7Ci0gICAgICAgIG1fZGF0ZVRpbWVFZGl0
RWxlbWVudC0+Zm9jdXNCeU93bmVyKG9sZEZvY3VzZWROb2RlKTsKLSAgICB9IGVsc2UKLSAgICAg
ICAgbV9kYXRlVGltZUVkaXRFbGVtZW50LT5mb2N1c0J5T3duZXIoKTsKLX0KLQotdm9pZCBCYXNl
TXVsdGlwbGVGaWVsZHNEYXRlQW5kVGltZUlucHV0VHlwZTo6Zm9yd2FyZEV2ZW50KEV2ZW50KiBl
dmVudCkKLXsKLSAgICBpZiAobV9zcGluQnV0dG9uRWxlbWVudCkgewotICAgICAgICBtX3NwaW5C
dXR0b25FbGVtZW50LT5mb3J3YXJkRXZlbnQoZXZlbnQpOwotICAgICAgICBpZiAoZXZlbnQtPmRl
ZmF1bHRIYW5kbGVkKCkpCi0gICAgICAgICAgICByZXR1cm47Ci0gICAgfQotICAgICAgICAKLSAg
ICBpZiAobV9kYXRlVGltZUVkaXRFbGVtZW50KQotICAgICAgICBtX2RhdGVUaW1lRWRpdEVsZW1l
bnQtPmRlZmF1bHRFdmVudEhhbmRsZXIoZXZlbnQpOwotfQotCi12b2lkIEJhc2VNdWx0aXBsZUZp
ZWxkc0RhdGVBbmRUaW1lSW5wdXRUeXBlOjpkaXNhYmxlZEF0dHJpYnV0ZUNoYW5nZWQoKQotewot
ICAgIG1fc3BpbkJ1dHRvbkVsZW1lbnQtPnJlbGVhc2VDYXB0dXJlKCk7Ci0gICAgbV9jbGVhckJ1
dHRvbi0+cmVsZWFzZUNhcHR1cmUoKTsKLSAgICBpZiAobV9kYXRlVGltZUVkaXRFbGVtZW50KQot
ICAgICAgICBtX2RhdGVUaW1lRWRpdEVsZW1lbnQtPmRpc2FibGVkU3RhdGVDaGFuZ2VkKCk7Ci19
Ci0KLXZvaWQgQmFzZU11bHRpcGxlRmllbGRzRGF0ZUFuZFRpbWVJbnB1dFR5cGU6OnJlcXVpcmVk
QXR0cmlidXRlQ2hhbmdlZCgpCi17Ci0gICAgbV9jbGVhckJ1dHRvbi0+cmVsZWFzZUNhcHR1cmUo
KTsKLSAgICB1cGRhdGVDbGVhckJ1dHRvblZpc2liaWxpdHkoKTsKLX0KLQotdm9pZCBCYXNlTXVs
dGlwbGVGaWVsZHNEYXRlQW5kVGltZUlucHV0VHlwZTo6aGFuZGxlS2V5ZG93bkV2ZW50KEtleWJv
YXJkRXZlbnQqIGV2ZW50KQotewotICAgIERvY3VtZW50KiBkb2N1bWVudCA9IGVsZW1lbnQoKS0+
ZG9jdW1lbnQoKTsKLSAgICBSZWZQdHI8UmVuZGVyVGhlbWU+IHRoZW1lID0gZG9jdW1lbnQtPnBh
Z2UoKSA/IGRvY3VtZW50LT5wYWdlKCktPnRoZW1lKCkgOiBSZW5kZXJUaGVtZTo6ZGVmYXVsdFRo
ZW1lKCk7Ci0gICAgaWYgKG1fcGlja2VySW5kaWNhdG9ySXNWaXNpYmxlCi0gICAgICAgICYmICgo
ZXZlbnQtPmtleUlkZW50aWZpZXIoKSA9PSAiRG93biIgJiYgZXZlbnQtPmdldE1vZGlmaWVyU3Rh
dGUoIkFsdCIpKSB8fCAodGhlbWUtPnNob3VsZE9wZW5QaWNrZXJXaXRoRjRLZXkoKSAmJiBldmVu
dC0+a2V5SWRlbnRpZmllcigpID09ICJGNCIpKSkgewotICAgICAgICBpZiAobV9waWNrZXJJbmRp
Y2F0b3JFbGVtZW50KQotICAgICAgICAgICAgbV9waWNrZXJJbmRpY2F0b3JFbGVtZW50LT5vcGVu
UG9wdXAoKTsKLSAgICAgICAgZXZlbnQtPnNldERlZmF1bHRIYW5kbGVkKCk7Ci0gICAgfSBlbHNl
Ci0gICAgICAgIGZvcndhcmRFdmVudChldmVudCk7Ci19Ci0KLWJvb2wgQmFzZU11bHRpcGxlRmll
bGRzRGF0ZUFuZFRpbWVJbnB1dFR5cGU6Omhhc0JhZElucHV0KCkgY29uc3QKLXsKLSAgICByZXR1
cm4gZWxlbWVudCgpLT52YWx1ZSgpLmlzRW1wdHkoKSAmJiBtX2RhdGVUaW1lRWRpdEVsZW1lbnQg
JiYgbV9kYXRlVGltZUVkaXRFbGVtZW50LT5hbnlFZGl0YWJsZUZpZWxkc0hhdmVWYWx1ZXMoKTsK
LX0KLQotYm9vbCBCYXNlTXVsdGlwbGVGaWVsZHNEYXRlQW5kVGltZUlucHV0VHlwZTo6aXNLZXli
b2FyZEZvY3VzYWJsZShLZXlib2FyZEV2ZW50KikgY29uc3QKLXsKLSAgICByZXR1cm4gZWxlbWVu
dCgpLT5pc1RleHRGb3JtQ29udHJvbEZvY3VzYWJsZSgpOwotfQotCi1ib29sIEJhc2VNdWx0aXBs
ZUZpZWxkc0RhdGVBbmRUaW1lSW5wdXRUeXBlOjppc01vdXNlRm9jdXNhYmxlKCkgY29uc3QKLXsK
LSAgICByZXR1cm4gZWxlbWVudCgpLT5pc1RleHRGb3JtQ29udHJvbEZvY3VzYWJsZSgpOwotfQot
Ci1BdG9taWNTdHJpbmcgQmFzZU11bHRpcGxlRmllbGRzRGF0ZUFuZFRpbWVJbnB1dFR5cGU6Omxv
Y2FsZUlkZW50aWZpZXIoKSBjb25zdAotewotICAgIHJldHVybiBlbGVtZW50KCktPmNvbXB1dGVJ
bmhlcml0ZWRMYW5ndWFnZSgpOwotfQotCi12b2lkIEJhc2VNdWx0aXBsZUZpZWxkc0RhdGVBbmRU
aW1lSW5wdXRUeXBlOjptaW5Pck1heEF0dHJpYnV0ZUNoYW5nZWQoKQotewotICAgIHVwZGF0ZUlu
bmVyVGV4dFZhbHVlKCk7Ci19Ci0KLXZvaWQgQmFzZU11bHRpcGxlRmllbGRzRGF0ZUFuZFRpbWVJ
bnB1dFR5cGU6OnJlYWRvbmx5QXR0cmlidXRlQ2hhbmdlZCgpCi17Ci0gICAgbV9zcGluQnV0dG9u
RWxlbWVudC0+cmVsZWFzZUNhcHR1cmUoKTsKLSAgICBtX2NsZWFyQnV0dG9uLT5yZWxlYXNlQ2Fw
dHVyZSgpOwotICAgIGlmIChtX2RhdGVUaW1lRWRpdEVsZW1lbnQpCi0gICAgICAgIG1fZGF0ZVRp
bWVFZGl0RWxlbWVudC0+cmVhZE9ubHlTdGF0ZUNoYW5nZWQoKTsKLX0KLQotdm9pZCBCYXNlTXVs
dGlwbGVGaWVsZHNEYXRlQW5kVGltZUlucHV0VHlwZTo6cmVzdG9yZUZvcm1Db250cm9sU3RhdGUo
Y29uc3QgRm9ybUNvbnRyb2xTdGF0ZSYgc3RhdGUpCi17Ci0gICAgaWYgKCFtX2RhdGVUaW1lRWRp
dEVsZW1lbnQpCi0gICAgICAgIHJldHVybjsKLSAgICBEYXRlVGltZUZpZWxkc1N0YXRlIGRhdGVU
aW1lRmllbGRzU3RhdGUgPSBEYXRlVGltZUZpZWxkc1N0YXRlOjpyZXN0b3JlRm9ybUNvbnRyb2xT
dGF0ZShzdGF0ZSk7Ci0gICAgbV9kYXRlVGltZUVkaXRFbGVtZW50LT5zZXRWYWx1ZUFzRGF0ZVRp
bWVGaWVsZHNTdGF0ZShkYXRlVGltZUZpZWxkc1N0YXRlKTsKLSAgICBlbGVtZW50KCktPnNldFZh
bHVlSW50ZXJuYWwoc2FuaXRpemVWYWx1ZShtX2RhdGVUaW1lRWRpdEVsZW1lbnQtPnZhbHVlKCkp
LCBEaXNwYXRjaE5vRXZlbnQpOwotICAgIHVwZGF0ZUNsZWFyQnV0dG9uVmlzaWJpbGl0eSgpOwot
fQotCi1Gb3JtQ29udHJvbFN0YXRlIEJhc2VNdWx0aXBsZUZpZWxkc0RhdGVBbmRUaW1lSW5wdXRU
eXBlOjpzYXZlRm9ybUNvbnRyb2xTdGF0ZSgpIGNvbnN0Ci17Ci0gICAgaWYgKCFtX2RhdGVUaW1l
RWRpdEVsZW1lbnQpCi0gICAgICAgIHJldHVybiBGb3JtQ29udHJvbFN0YXRlKCk7Ci0KLSAgICBy
ZXR1cm4gbV9kYXRlVGltZUVkaXRFbGVtZW50LT52YWx1ZUFzRGF0ZVRpbWVGaWVsZHNTdGF0ZSgp
LnNhdmVGb3JtQ29udHJvbFN0YXRlKCk7Ci19Ci0KLXZvaWQgQmFzZU11bHRpcGxlRmllbGRzRGF0
ZUFuZFRpbWVJbnB1dFR5cGU6OnNldFZhbHVlKGNvbnN0IFN0cmluZyYgc2FuaXRpemVkVmFsdWUs
IGJvb2wgdmFsdWVDaGFuZ2VkLCBUZXh0RmllbGRFdmVudEJlaGF2aW9yIGV2ZW50QmVoYXZpb3Ip
Ci17Ci0gICAgSW5wdXRUeXBlOjpzZXRWYWx1ZShzYW5pdGl6ZWRWYWx1ZSwgdmFsdWVDaGFuZ2Vk
LCBldmVudEJlaGF2aW9yKTsKLSAgICBpZiAodmFsdWVDaGFuZ2VkIHx8IChzYW5pdGl6ZWRWYWx1
ZS5pc0VtcHR5KCkgJiYgbV9kYXRlVGltZUVkaXRFbGVtZW50ICYmIG1fZGF0ZVRpbWVFZGl0RWxl
bWVudC0+YW55RWRpdGFibGVGaWVsZHNIYXZlVmFsdWVzKCkpKSB7Ci0gICAgICAgIHVwZGF0ZUlu
bmVyVGV4dFZhbHVlKCk7Ci0gICAgICAgIGVsZW1lbnQoKS0+c2V0TmVlZHNWYWxpZGl0eUNoZWNr
KCk7Ci0gICAgfQotfQotCi1ib29sIEJhc2VNdWx0aXBsZUZpZWxkc0RhdGVBbmRUaW1lSW5wdXRU
eXBlOjpzaG91bGRVc2VJbnB1dE1ldGhvZCgpIGNvbnN0Ci17Ci0gICAgcmV0dXJuIGZhbHNlOwot
fQotCi12b2lkIEJhc2VNdWx0aXBsZUZpZWxkc0RhdGVBbmRUaW1lSW5wdXRUeXBlOjpzdGVwQXR0
cmlidXRlQ2hhbmdlZCgpCi17Ci0gICAgdXBkYXRlSW5uZXJUZXh0VmFsdWUoKTsKLX0KLQotdm9p
ZCBCYXNlTXVsdGlwbGVGaWVsZHNEYXRlQW5kVGltZUlucHV0VHlwZTo6dXBkYXRlSW5uZXJUZXh0
VmFsdWUoKQotewotICAgIGlmICghbV9kYXRlVGltZUVkaXRFbGVtZW50KQotICAgICAgICByZXR1
cm47Ci0KLSAgICBEYXRlVGltZUVkaXRFbGVtZW50OjpMYXlvdXRQYXJhbWV0ZXJzIGxheW91dFBh
cmFtZXRlcnMoZWxlbWVudCgpLT5sb2NhbGUoKSwgY3JlYXRlU3RlcFJhbmdlKEFueUlzRGVmYXVs
dFN0ZXApKTsKLQotICAgIERhdGVDb21wb25lbnRzIGRhdGU7Ci0gICAgY29uc3QgYm9vbCBoYXNW
YWx1ZSA9IHBhcnNlVG9EYXRlQ29tcG9uZW50cyhlbGVtZW50KCktPnZhbHVlKCksICZkYXRlKTsK
LSAgICBpZiAoIWhhc1ZhbHVlKQotICAgICAgICBzZXRNaWxsaXNlY29uZFRvRGF0ZUNvbXBvbmVu
dHMobGF5b3V0UGFyYW1ldGVycy5zdGVwUmFuZ2UubWluaW11bSgpLnRvRG91YmxlKCksICZkYXRl
KTsKLQotICAgIHNldHVwTGF5b3V0UGFyYW1ldGVycyhsYXlvdXRQYXJhbWV0ZXJzLCBkYXRlKTsK
LQotICAgIGNvbnN0IEF0b21pY1N0cmluZyBwYXR0ZXJuID0gbV9kYXRlVGltZUVkaXRFbGVtZW50
LT5mYXN0R2V0QXR0cmlidXRlKEhUTUxOYW1lczo6cGF0dGVybkF0dHIpOwotICAgIGlmICghcGF0
dGVybi5pc0VtcHR5KCkpCi0gICAgICAgIGxheW91dFBhcmFtZXRlcnMuZGF0ZVRpbWVGb3JtYXQg
PSBwYXR0ZXJuOwotCi0gICAgaWYgKCFEYXRlVGltZUZvcm1hdFZhbGlkYXRvcigpLnZhbGlkYXRl
Rm9ybWF0KGxheW91dFBhcmFtZXRlcnMuZGF0ZVRpbWVGb3JtYXQsICp0aGlzKSkKLSAgICAgICAg
bGF5b3V0UGFyYW1ldGVycy5kYXRlVGltZUZvcm1hdCA9IGxheW91dFBhcmFtZXRlcnMuZmFsbGJh
Y2tEYXRlVGltZUZvcm1hdDsKLQotICAgIGlmIChoYXNWYWx1ZSkKLSAgICAgICAgbV9kYXRlVGlt
ZUVkaXRFbGVtZW50LT5zZXRWYWx1ZUFzRGF0ZShsYXlvdXRQYXJhbWV0ZXJzLCBkYXRlKTsKLSAg
ICBlbHNlCi0gICAgICAgIG1fZGF0ZVRpbWVFZGl0RWxlbWVudC0+c2V0RW1wdHlWYWx1ZShsYXlv
dXRQYXJhbWV0ZXJzLCBkYXRlKTsKLSAgICB1cGRhdGVDbGVhckJ1dHRvblZpc2liaWxpdHkoKTsK
LX0KLQotdm9pZCBCYXNlTXVsdGlwbGVGaWVsZHNEYXRlQW5kVGltZUlucHV0VHlwZTo6dmFsdWVB
dHRyaWJ1dGVDaGFuZ2VkKCkKLXsKLSAgICBpZiAoIWVsZW1lbnQoKS0+aGFzRGlydHlWYWx1ZSgp
KQotICAgICAgICB1cGRhdGVJbm5lclRleHRWYWx1ZSgpOwotfQotCi0jaWYgRU5BQkxFKERBVEFM
SVNUX0VMRU1FTlQpCi12b2lkIEJhc2VNdWx0aXBsZUZpZWxkc0RhdGVBbmRUaW1lSW5wdXRUeXBl
OjpsaXN0QXR0cmlidXRlVGFyZ2V0Q2hhbmdlZCgpCi17Ci0gICAgdXBkYXRlUGlja2VySW5kaWNh
dG9yVmlzaWJpbGl0eSgpOwotfQotI2VuZGlmCi0KLXZvaWQgQmFzZU11bHRpcGxlRmllbGRzRGF0
ZUFuZFRpbWVJbnB1dFR5cGU6OnVwZGF0ZVBpY2tlckluZGljYXRvclZpc2liaWxpdHkoKQotewot
I2lmIEVOQUJMRShEQVRBTElTVF9FTEVNRU5UKQotICAgIGlmIChIVE1MRGF0YUxpc3RFbGVtZW50
KiBkYXRhTGlzdCA9IGVsZW1lbnQoKS0+ZGF0YUxpc3QoKSkgewotICAgICAgICBSZWZQdHI8SFRN
TENvbGxlY3Rpb24+IG9wdGlvbnMgPSBkYXRhTGlzdC0+b3B0aW9ucygpOwotICAgICAgICBmb3Ig
KHVuc2lnbmVkIGkgPSAwOyBIVE1MT3B0aW9uRWxlbWVudCogb3B0aW9uID0gdG9IVE1MT3B0aW9u
RWxlbWVudChvcHRpb25zLT5pdGVtKGkpKTsgKytpKSB7Ci0gICAgICAgICAgICBpZiAoZWxlbWVu
dCgpLT5pc1ZhbGlkVmFsdWUob3B0aW9uLT52YWx1ZSgpKSkgewotICAgICAgICAgICAgICAgIHNo
b3dQaWNrZXJJbmRpY2F0b3IoKTsKLSAgICAgICAgICAgICAgICByZXR1cm47Ci0gICAgICAgICAg
ICB9Ci0gICAgICAgIH0KLSAgICB9Ci0gICAgaGlkZVBpY2tlckluZGljYXRvcigpOwotI2VuZGlm
Ci19Ci0KLXZvaWQgQmFzZU11bHRpcGxlRmllbGRzRGF0ZUFuZFRpbWVJbnB1dFR5cGU6OmhpZGVQ
aWNrZXJJbmRpY2F0b3IoKQotewotICAgIGlmICghbV9waWNrZXJJbmRpY2F0b3JJc1Zpc2libGUp
Ci0gICAgICAgIHJldHVybjsKLSAgICBtX3BpY2tlckluZGljYXRvcklzVmlzaWJsZSA9IGZhbHNl
OwotICAgIEFTU0VSVChtX3BpY2tlckluZGljYXRvckVsZW1lbnQpOwotICAgIG1fcGlja2VySW5k
aWNhdG9yRWxlbWVudC0+c2V0SW5saW5lU3R5bGVQcm9wZXJ0eShDU1NQcm9wZXJ0eURpc3BsYXks
IENTU1ZhbHVlTm9uZSk7Ci19Ci0KLXZvaWQgQmFzZU11bHRpcGxlRmllbGRzRGF0ZUFuZFRpbWVJ
bnB1dFR5cGU6OnNob3dQaWNrZXJJbmRpY2F0b3IoKQotewotICAgIGlmIChtX3BpY2tlckluZGlj
YXRvcklzVmlzaWJsZSkKLSAgICAgICAgcmV0dXJuOwotICAgIG1fcGlja2VySW5kaWNhdG9ySXNW
aXNpYmxlID0gdHJ1ZTsKLSAgICBBU1NFUlQobV9waWNrZXJJbmRpY2F0b3JFbGVtZW50KTsKLSAg
ICBtX3BpY2tlckluZGljYXRvckVsZW1lbnQtPnJlbW92ZUlubGluZVN0eWxlUHJvcGVydHkoQ1NT
UHJvcGVydHlEaXNwbGF5KTsKLX0KLQotYm9vbCBCYXNlTXVsdGlwbGVGaWVsZHNEYXRlQW5kVGlt
ZUlucHV0VHlwZTo6c2hvdWxkSGF2ZVNlY29uZEZpZWxkKGNvbnN0IERhdGVDb21wb25lbnRzJiBk
YXRlKSBjb25zdAotewotICAgIFN0ZXBSYW5nZSBzdGVwUmFuZ2UgPSBjcmVhdGVTdGVwUmFuZ2Uo
QW55SXNEZWZhdWx0U3RlcCk7Ci0gICAgcmV0dXJuIGRhdGUuc2Vjb25kKCkgfHwgZGF0ZS5taWxs
aXNlY29uZCgpCi0gICAgICAgIHx8ICFzdGVwUmFuZ2UubWluaW11bSgpLnJlbWFpbmRlcihzdGF0
aWNfY2FzdDxpbnQ+KG1zUGVyTWludXRlKSkuaXNaZXJvKCkKLSAgICAgICAgfHwgIXN0ZXBSYW5n
ZS5zdGVwKCkucmVtYWluZGVyKHN0YXRpY19jYXN0PGludD4obXNQZXJNaW51dGUpKS5pc1plcm8o
KTsKLX0KLQotdm9pZCBCYXNlTXVsdGlwbGVGaWVsZHNEYXRlQW5kVGltZUlucHV0VHlwZTo6Zm9j
dXNBbmRTZWxlY3RDbGVhckJ1dHRvbk93bmVyKCkKLXsKLSAgICBlbGVtZW50KCktPmZvY3VzKCk7
Ci19Ci0KLWJvb2wgQmFzZU11bHRpcGxlRmllbGRzRGF0ZUFuZFRpbWVJbnB1dFR5cGU6OnNob3Vs
ZENsZWFyQnV0dG9uUmVzcG9uZFRvTW91c2VFdmVudHMoKQotewotICAgIHJldHVybiAhZWxlbWVu
dCgpLT5pc0Rpc2FibGVkT3JSZWFkT25seSgpICYmICFlbGVtZW50KCktPmlzUmVxdWlyZWQoKTsK
LX0KLQotdm9pZCBCYXNlTXVsdGlwbGVGaWVsZHNEYXRlQW5kVGltZUlucHV0VHlwZTo6Y2xlYXJW
YWx1ZSgpCi17Ci0gICAgUmVmUHRyPEhUTUxJbnB1dEVsZW1lbnQ+IGlucHV0KGVsZW1lbnQoKSk7
Ci0gICAgaW5wdXQtPnNldFZhbHVlKCIiLCBEaXNwYXRjaElucHV0QW5kQ2hhbmdlRXZlbnQpOwot
ICAgIGlucHV0LT51cGRhdGVDbGVhckJ1dHRvblZpc2liaWxpdHkoKTsKLX0KLQotdm9pZCBCYXNl
TXVsdGlwbGVGaWVsZHNEYXRlQW5kVGltZUlucHV0VHlwZTo6dXBkYXRlQ2xlYXJCdXR0b25WaXNp
YmlsaXR5KCkKLXsKLSAgICBpZiAoIW1fY2xlYXJCdXR0b24pCi0gICAgICAgIHJldHVybjsKLQot
ICAgIGlmIChlbGVtZW50KCktPmlzUmVxdWlyZWQoKSB8fCAhbV9kYXRlVGltZUVkaXRFbGVtZW50
LT5hbnlFZGl0YWJsZUZpZWxkc0hhdmVWYWx1ZXMoKSkKLSAgICAgICAgbV9jbGVhckJ1dHRvbi0+
c2V0SW5saW5lU3R5bGVQcm9wZXJ0eShDU1NQcm9wZXJ0eVZpc2liaWxpdHksIENTU1ZhbHVlSGlk
ZGVuKTsKLSAgICBlbHNlCi0gICAgICAgIG1fY2xlYXJCdXR0b24tPnJlbW92ZUlubGluZVN0eWxl
UHJvcGVydHkoQ1NTUHJvcGVydHlWaXNpYmlsaXR5KTsKLX0KLQotfSAvLyBuYW1lc3BhY2UgV2Vi
Q29yZQotCi0jZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvQmFzZU11bHRp
cGxlRmllbGRzRGF0ZUFuZFRpbWVJbnB1dFR5cGUuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvQmFz
ZU11bHRpcGxlRmllbGRzRGF0ZUFuZFRpbWVJbnB1dFR5cGUuaApkZWxldGVkIGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggYjBlM2ExNzg3ZDU2ZDYyMGQ4NjRlYWViZGE5ODljODRhNDJjZDVjZi4uMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9odG1sL0Jhc2VNdWx0aXBsZUZpZWxkc0RhdGVBbmRUaW1lSW5wdXRUeXBlLmgKKysrIC9kZXYv
bnVsbApAQCAtMSwxMjkgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAxMCBHb29nbGUg
SW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2Ug
aW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0
aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25z
IGFyZQotICogbWV0OgotICoKLSAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29k
ZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAgICAgKiBSZWRp
c3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCi0gKiBj
b3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyCi0gKiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJp
YWxzIHByb3ZpZGVkIHdpdGggdGhlCi0gKiBkaXN0cmlidXRpb24uCi0gKiAgICAgKiBOZWl0aGVy
IHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCi0gKiBjb250cmli
dXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQg
ZnJvbQotICogdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVy
bWlzc2lvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklH
SFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCi0gKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBP
UiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAotICogTElNSVRFRCBUTywg
VEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9S
Ci0gKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hB
TEwgVEhFIENPUFlSSUdIVAotICogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1Ig
QU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCi0gKiBTUEVDSUFMLCBFWEVNUExBUlks
IE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCi0gKiBMSU1JVEVE
IFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9G
IFVTRSwKLSAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9X
RVZFUiBDQVVTRUQgQU5EIE9OIEFOWQotICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJ
TiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAotICogKElOQ0xVRElORyBORUdM
SUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCi0g
KiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9G
IFNVQ0ggREFNQUdFLgotICovCi0KLSNpZm5kZWYgQmFzZU11bHRpcGxlRmllbGRzRGF0ZUFuZFRp
bWVJbnB1dFR5cGVfaAotI2RlZmluZSBCYXNlTXVsdGlwbGVGaWVsZHNEYXRlQW5kVGltZUlucHV0
VHlwZV9oCi0KLSNpZiBFTkFCTEUoSU5QVVRfTVVMVElQTEVfRklFTERTX1VJKQotI2luY2x1ZGUg
IkJhc2VEYXRlQW5kVGltZUlucHV0VHlwZS5oIgotCi0jaW5jbHVkZSAiQ2xlYXJCdXR0b25FbGVt
ZW50LmgiCi0jaW5jbHVkZSAiRGF0ZVRpbWVFZGl0RWxlbWVudC5oIgotI2luY2x1ZGUgIlBpY2tl
ckluZGljYXRvckVsZW1lbnQuaCIKLSNpbmNsdWRlICJTcGluQnV0dG9uRWxlbWVudC5oIgotCi1u
YW1lc3BhY2UgV2ViQ29yZSB7Ci0KLXN0cnVjdCBEYXRlVGltZUNob29zZXJQYXJhbWV0ZXJzOwot
Ci1jbGFzcyBCYXNlTXVsdGlwbGVGaWVsZHNEYXRlQW5kVGltZUlucHV0VHlwZQotICAgIDogcHVi
bGljIEJhc2VEYXRlQW5kVGltZUlucHV0VHlwZQotICAgICwgcHJvdGVjdGVkIERhdGVUaW1lRWRp
dEVsZW1lbnQ6OkVkaXRDb250cm9sT3duZXIKLSAgICAsIHByb3RlY3RlZCBQaWNrZXJJbmRpY2F0
b3JFbGVtZW50OjpQaWNrZXJJbmRpY2F0b3JPd25lcgotICAgICwgcHJvdGVjdGVkIFNwaW5CdXR0
b25FbGVtZW50OjpTcGluQnV0dG9uT3duZXIKLSAgICAsIHByb3RlY3RlZCBDbGVhckJ1dHRvbkVs
ZW1lbnQ6OkNsZWFyQnV0dG9uT3duZXIgewotcHVibGljOgotICAgIHZpcnR1YWwgYm9vbCBpc1Zh
bGlkRm9ybWF0KGJvb2wgaGFzWWVhciwgYm9vbCBoYXNNb250aCwgYm9vbCBoYXNXZWVrLCBib29s
IGhhc0RheSwgYm9vbCBoYXNBTVBNLCBib29sIGhhc0hvdXIsIGJvb2wgaGFzTWludXRlLCBib29s
IGhhc1NlY29uZCkgY29uc3QgPSAwOwotCi1wcm90ZWN0ZWQ6Ci0gICAgQmFzZU11bHRpcGxlRmll
bGRzRGF0ZUFuZFRpbWVJbnB1dFR5cGUoSFRNTElucHV0RWxlbWVudCopOwotICAgIHZpcnR1YWwg
fkJhc2VNdWx0aXBsZUZpZWxkc0RhdGVBbmRUaW1lSW5wdXRUeXBlKCk7Ci0KLSAgICB2aXJ0dWFs
IHZvaWQgc2V0dXBMYXlvdXRQYXJhbWV0ZXJzKERhdGVUaW1lRWRpdEVsZW1lbnQ6OkxheW91dFBh
cmFtZXRlcnMmLCBjb25zdCBEYXRlQ29tcG9uZW50cyYpIGNvbnN0ID0gMDsKLSAgICBib29sIHNo
b3VsZEhhdmVTZWNvbmRGaWVsZChjb25zdCBEYXRlQ29tcG9uZW50cyYpIGNvbnN0OwotCi1wcml2
YXRlOgotICAgIC8vIERhdGVUaW1lRWRpdEVsZW1lbnQ6OkVkaXRDb250cm9sT3duZXIgZnVuY3Rp
b25zCi0gICAgdmlydHVhbCB2b2lkIGRpZEJsdXJGcm9tQ29udHJvbCgpIE9WRVJSSURFIEZJTkFM
OwotICAgIHZpcnR1YWwgdm9pZCBkaWRGb2N1c09uQ29udHJvbCgpIE9WRVJSSURFIEZJTkFMOwot
ICAgIHZpcnR1YWwgdm9pZCBlZGl0Q29udHJvbFZhbHVlQ2hhbmdlZCgpIE9WRVJSSURFIEZJTkFM
OwotICAgIHZpcnR1YWwgYm9vbCBpc0VkaXRDb250cm9sT3duZXJEaXNhYmxlZCgpIGNvbnN0IE9W
RVJSSURFIEZJTkFMOwotICAgIHZpcnR1YWwgYm9vbCBpc0VkaXRDb250cm9sT3duZXJSZWFkT25s
eSgpIGNvbnN0IE9WRVJSSURFIEZJTkFMOwotICAgIHZpcnR1YWwgQXRvbWljU3RyaW5nIGxvY2Fs
ZUlkZW50aWZpZXIoKSBjb25zdCBPVkVSUklERSBGSU5BTDsKLQotICAgIC8vIFNwaW5CdXR0b25F
bGVtZW50OjpTcGluQnV0dG9uT3duZXIgZnVuY3Rpb25zLgotICAgIHZpcnR1YWwgdm9pZCBmb2N1
c0FuZFNlbGVjdFNwaW5CdXR0b25Pd25lcigpIE9WRVJSSURFOwotICAgIHZpcnR1YWwgYm9vbCBz
aG91bGRTcGluQnV0dG9uUmVzcG9uZFRvTW91c2VFdmVudHMoKSBPVkVSUklERTsKLSAgICB2aXJ0
dWFsIGJvb2wgc2hvdWxkU3BpbkJ1dHRvblJlc3BvbmRUb1doZWVsRXZlbnRzKCkgT1ZFUlJJREU7
Ci0gICAgdmlydHVhbCB2b2lkIHNwaW5CdXR0b25TdGVwRG93bigpIE9WRVJSSURFOwotICAgIHZp
cnR1YWwgdm9pZCBzcGluQnV0dG9uU3RlcFVwKCkgT1ZFUlJJREU7Ci0KLSAgICAvLyBQaWNrZXJJ
bmRpY2F0b3JFbGVtZW50OjpQaWNrZXJJbmRpY2F0b3JPd25lciBmdW5jdGlvbnMKLSAgICB2aXJ0
dWFsIGJvb2wgaXNQaWNrZXJJbmRpY2F0b3JPd25lckRpc2FibGVkT3JSZWFkT25seSgpIGNvbnN0
IE9WRVJSSURFIEZJTkFMOwotICAgIHZpcnR1YWwgdm9pZCBwaWNrZXJJbmRpY2F0b3JDaG9vc2VW
YWx1ZShjb25zdCBTdHJpbmcmKSBPVkVSUklERSBGSU5BTDsKLSAgICB2aXJ0dWFsIGJvb2wgc2V0
dXBEYXRlVGltZUNob29zZXJQYXJhbWV0ZXJzKERhdGVUaW1lQ2hvb3NlclBhcmFtZXRlcnMmKSBP
VkVSUklERSBGSU5BTDsKLQotICAgIC8vIENsZWFyQnV0dG9uRWxlbWVudDo6Q2xlYXJCdXR0b25P
d25lciBmdW5jdGlvbnMuCi0gICAgdmlydHVhbCB2b2lkIGZvY3VzQW5kU2VsZWN0Q2xlYXJCdXR0
b25Pd25lcigpIE9WRVJSSURFOwotICAgIHZpcnR1YWwgYm9vbCBzaG91bGRDbGVhckJ1dHRvblJl
c3BvbmRUb01vdXNlRXZlbnRzKCkgT1ZFUlJJREU7Ci0gICAgdmlydHVhbCB2b2lkIGNsZWFyVmFs
dWUoKSBPVkVSUklERTsKLQotICAgIC8vIElucHV0VHlwZSBmdW5jdGlvbnMKLSAgICB2aXJ0dWFs
IFN0cmluZyBiYWRJbnB1dFRleHQoKSBjb25zdCBPVkVSUklERTsKLSAgICB2aXJ0dWFsIHZvaWQg
Ymx1cigpIE9WRVJSSURFIEZJTkFMOwotICAgIHZpcnR1YWwgUGFzc1JlZlB0cjxSZW5kZXJTdHls
ZT4gY3VzdG9tU3R5bGVGb3JSZW5kZXJlcihQYXNzUmVmUHRyPFJlbmRlclN0eWxlPikgT1ZFUlJJ
REU7Ci0gICAgdmlydHVhbCB2b2lkIGNyZWF0ZVNoYWRvd1N1YnRyZWUoKSBPVkVSUklERSBGSU5B
TDsKLSAgICB2aXJ0dWFsIHZvaWQgZGVzdHJveVNoYWRvd1N1YnRyZWUoKSBPVkVSUklERSBGSU5B
TDsKLSAgICB2aXJ0dWFsIHZvaWQgZGlzYWJsZWRBdHRyaWJ1dGVDaGFuZ2VkKCkgT1ZFUlJJREUg
RklOQUw7Ci0gICAgdmlydHVhbCB2b2lkIGZvcndhcmRFdmVudChFdmVudCopIE9WRVJSSURFIEZJ
TkFMOwotICAgIHZpcnR1YWwgdm9pZCBoYW5kbGVGb2N1c0V2ZW50KE5vZGUqIG9sZEZvY3VzZWRO
b2RlLCBGb2N1c0RpcmVjdGlvbikgT1ZFUlJJREU7Ci0gICAgdmlydHVhbCB2b2lkIGhhbmRsZUtl
eWRvd25FdmVudChLZXlib2FyZEV2ZW50KikgT1ZFUlJJREUgRklOQUw7Ci0gICAgdmlydHVhbCBi
b29sIGhhc0JhZElucHV0KCkgY29uc3QgT1ZFUlJJREU7Ci0gICAgdmlydHVhbCBib29sIGhhc0N1
c3RvbUZvY3VzTG9naWMoKSBjb25zdCBPVkVSUklERSBGSU5BTDsKLSAgICB2aXJ0dWFsIGJvb2wg
aXNLZXlib2FyZEZvY3VzYWJsZShLZXlib2FyZEV2ZW50KikgY29uc3QgT1ZFUlJJREUgRklOQUw7
Ci0gICAgdmlydHVhbCBib29sIGlzTW91c2VGb2N1c2FibGUoKSBjb25zdCBPVkVSUklERSBGSU5B
TDsKLSAgICB2aXJ0dWFsIHZvaWQgbWluT3JNYXhBdHRyaWJ1dGVDaGFuZ2VkKCkgT1ZFUlJJREUg
RklOQUw7Ci0gICAgdmlydHVhbCB2b2lkIHJlYWRvbmx5QXR0cmlidXRlQ2hhbmdlZCgpIE9WRVJS
SURFIEZJTkFMOwotICAgIHZpcnR1YWwgdm9pZCByZXF1aXJlZEF0dHJpYnV0ZUNoYW5nZWQoKSBP
VkVSUklERSBGSU5BTDsKLSAgICB2aXJ0dWFsIHZvaWQgcmVzdG9yZUZvcm1Db250cm9sU3RhdGUo
Y29uc3QgRm9ybUNvbnRyb2xTdGF0ZSYpIE9WRVJSSURFIEZJTkFMOwotICAgIHZpcnR1YWwgRm9y
bUNvbnRyb2xTdGF0ZSBzYXZlRm9ybUNvbnRyb2xTdGF0ZSgpIGNvbnN0IE9WRVJSSURFIEZJTkFM
OwotICAgIHZpcnR1YWwgdm9pZCBzZXRWYWx1ZShjb25zdCBTdHJpbmcmLCBib29sIHZhbHVlQ2hh
bmdlZCwgVGV4dEZpZWxkRXZlbnRCZWhhdmlvcikgT1ZFUlJJREUgRklOQUw7Ci0gICAgdmlydHVh
bCBib29sIHNob3VsZFVzZUlucHV0TWV0aG9kKCkgY29uc3QgT1ZFUlJJREUgRklOQUw7Ci0gICAg
dmlydHVhbCB2b2lkIHN0ZXBBdHRyaWJ1dGVDaGFuZ2VkKCkgT1ZFUlJJREUgRklOQUw7Ci0gICAg
dmlydHVhbCB2b2lkIHVwZGF0ZUlubmVyVGV4dFZhbHVlKCkgT1ZFUlJJREUgRklOQUw7Ci0gICAg
dmlydHVhbCB2b2lkIHZhbHVlQXR0cmlidXRlQ2hhbmdlZCgpIE9WRVJSSURFOwotICAgIHZpcnR1
YWwgdm9pZCBsaXN0QXR0cmlidXRlVGFyZ2V0Q2hhbmdlZCgpIE9WRVJSSURFIEZJTkFMOwotICAg
IHZpcnR1YWwgdm9pZCB1cGRhdGVDbGVhckJ1dHRvblZpc2liaWxpdHkoKSBPVkVSUklERSBGSU5B
TDsKLQotICAgIHZvaWQgc2hvd1BpY2tlckluZGljYXRvcigpOwotICAgIHZvaWQgaGlkZVBpY2tl
ckluZGljYXRvcigpOwotICAgIHZvaWQgdXBkYXRlUGlja2VySW5kaWNhdG9yVmlzaWJpbGl0eSgp
OwotCi0gICAgRGF0ZVRpbWVFZGl0RWxlbWVudCogbV9kYXRlVGltZUVkaXRFbGVtZW50OwotICAg
IFNwaW5CdXR0b25FbGVtZW50KiBtX3NwaW5CdXR0b25FbGVtZW50OwotICAgIENsZWFyQnV0dG9u
RWxlbWVudCogbV9jbGVhckJ1dHRvbjsKLSAgICBQaWNrZXJJbmRpY2F0b3JFbGVtZW50KiBtX3Bp
Y2tlckluZGljYXRvckVsZW1lbnQ7Ci0gICAgYm9vbCBtX3BpY2tlckluZGljYXRvcklzVmlzaWJs
ZTsKLX07Ci0KLX0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKLQotI2VuZGlmCi0jZW5kaWYgLy8gQmFz
ZU11bHRpcGxlRmllbGRzRGF0ZUFuZFRpbWVJbnB1dFR5cGVfaApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvaHRtbC9EYXRlSW5wdXRUeXBlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvRGF0
ZUlucHV0VHlwZS5jcHAKaW5kZXggOTgxMDYyNGIxNGZkMTE4ZTdiMThhMTFkZDkyY2JhNjUyNGE4
NGM5NS4uYjgzMTM5ZGYyMGI4OWZiZmMxMjdiMmE3ZGJlODgwYzgyMjQzODM1ZCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvaHRtbC9EYXRlSW5wdXRUeXBlLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9odG1sL0RhdGVJbnB1dFR5cGUuY3BwCkBAIC0zMywxNCArMzMsOSBAQAogI2luY2x1ZGUg
IkRhdGVJbnB1dFR5cGUuaCIKIAogI2luY2x1ZGUgIkRhdGVDb21wb25lbnRzLmgiCi0jaW5jbHVk
ZSAiRGF0ZVRpbWVGaWVsZHNTdGF0ZS5oIgogI2luY2x1ZGUgIkhUTUxJbnB1dEVsZW1lbnQuaCIK
ICNpbmNsdWRlICJIVE1MTmFtZXMuaCIKICNpbmNsdWRlICJJbnB1dFR5cGVOYW1lcy5oIgotI2lu
Y2x1ZGUgIktleWJvYXJkRXZlbnQuaCIKLSNpbmNsdWRlICJMb2NhbGl6ZWRTdHJpbmdzLmgiCi0j
aW5jbHVkZSAiUGlja2VySW5kaWNhdG9yRWxlbWVudC5oIgotI2luY2x1ZGUgIlBsYXRmb3JtTG9j
YWxlLmgiCiAjaW5jbHVkZSA8d3RmL1Bhc3NPd25QdHIuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUg
ewpAQCAtMTA1LDMzICsxMDAsNSBAQCBib29sIERhdGVJbnB1dFR5cGU6OmlzRGF0ZUZpZWxkKCkg
Y29uc3QKICAgICByZXR1cm4gdHJ1ZTsKIH0KIAotI2lmIEVOQUJMRShJTlBVVF9NVUxUSVBMRV9G
SUVMRFNfVUkpCi1TdHJpbmcgRGF0ZUlucHV0VHlwZTo6Zm9ybWF0RGF0ZVRpbWVGaWVsZHNTdGF0
ZShjb25zdCBEYXRlVGltZUZpZWxkc1N0YXRlJiBkYXRlVGltZUZpZWxkc1N0YXRlKSBjb25zdAot
ewotICAgIGlmICghZGF0ZVRpbWVGaWVsZHNTdGF0ZS5oYXNEYXlPZk1vbnRoKCkgfHwgIWRhdGVU
aW1lRmllbGRzU3RhdGUuaGFzTW9udGgoKSB8fCAhZGF0ZVRpbWVGaWVsZHNTdGF0ZS5oYXNZZWFy
KCkpCi0gICAgICAgIHJldHVybiBlbXB0eVN0cmluZygpOwotCi0gICAgcmV0dXJuIFN0cmluZzo6
Zm9ybWF0KCIlMDR1LSUwMnUtJTAydSIsIGRhdGVUaW1lRmllbGRzU3RhdGUueWVhcigpLCBkYXRl
VGltZUZpZWxkc1N0YXRlLm1vbnRoKCksIGRhdGVUaW1lRmllbGRzU3RhdGUuZGF5T2ZNb250aCgp
KTsKLX0KLQotdm9pZCBEYXRlSW5wdXRUeXBlOjpzZXR1cExheW91dFBhcmFtZXRlcnMoRGF0ZVRp
bWVFZGl0RWxlbWVudDo6TGF5b3V0UGFyYW1ldGVycyYgbGF5b3V0UGFyYW1ldGVycywgY29uc3Qg
RGF0ZUNvbXBvbmVudHMmIGRhdGUpIGNvbnN0Ci17Ci0gICAgbGF5b3V0UGFyYW1ldGVycy5kYXRl
VGltZUZvcm1hdCA9IGxheW91dFBhcmFtZXRlcnMubG9jYWxlLmRhdGVGb3JtYXQoKTsKLSAgICBs
YXlvdXRQYXJhbWV0ZXJzLmZhbGxiYWNrRGF0ZVRpbWVGb3JtYXQgPSBBU0NJSUxpdGVyYWwoInl5
eXktTU0tZGQiKTsKLSAgICBpZiAoIXBhcnNlVG9EYXRlQ29tcG9uZW50cyhlbGVtZW50KCktPmZh
c3RHZXRBdHRyaWJ1dGUobWluQXR0ciksICZsYXlvdXRQYXJhbWV0ZXJzLm1pbmltdW0pKQotICAg
ICAgICBsYXlvdXRQYXJhbWV0ZXJzLm1pbmltdW0gPSBEYXRlQ29tcG9uZW50cygpOwotICAgIGlm
ICghcGFyc2VUb0RhdGVDb21wb25lbnRzKGVsZW1lbnQoKS0+ZmFzdEdldEF0dHJpYnV0ZShtYXhB
dHRyKSwgJmxheW91dFBhcmFtZXRlcnMubWF4aW11bSkpCi0gICAgICAgIGxheW91dFBhcmFtZXRl
cnMubWF4aW11bSA9IERhdGVDb21wb25lbnRzKCk7Ci0gICAgbGF5b3V0UGFyYW1ldGVycy5wbGFj
ZWhvbGRlckZvckRheSA9IHBsYWNlaG9sZGVyRm9yRGF5T2ZNb250aEZpZWxkKCk7Ci0gICAgbGF5
b3V0UGFyYW1ldGVycy5wbGFjZWhvbGRlckZvck1vbnRoID0gcGxhY2Vob2xkZXJGb3JNb250aEZp
ZWxkKCk7Ci0gICAgbGF5b3V0UGFyYW1ldGVycy5wbGFjZWhvbGRlckZvclllYXIgPSBwbGFjZWhv
bGRlckZvclllYXJGaWVsZCgpOwotfQotCi1ib29sIERhdGVJbnB1dFR5cGU6OmlzVmFsaWRGb3Jt
YXQoYm9vbCBoYXNZZWFyLCBib29sIGhhc01vbnRoLCBib29sIGhhc1dlZWssIGJvb2wgaGFzRGF5
LCBib29sIGhhc0FNUE0sIGJvb2wgaGFzSG91ciwgYm9vbCBoYXNNaW51dGUsIGJvb2wgaGFzU2Vj
b25kKSBjb25zdAotewotICAgIHJldHVybiBoYXNZZWFyICYmIGhhc01vbnRoICYmIGhhc0RheTsK
LX0KLSNlbmRpZgotCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAjZW5kaWYKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2h0bWwvRGF0ZUlucHV0VHlwZS5oIGIvU291cmNlL1dlYkNvcmUvaHRt
bC9EYXRlSW5wdXRUeXBlLmgKaW5kZXggY2Y4MzcyMTA1ZjljNjA4MzNhNWQ5YTNjNTA4NmVhOWE0
NTQ4NzUyZS4uNjRhYzU0NzA0NDhiZDcwMTI0M2M4Yjk5YTgyZmNkMzQ4YjQzZDcyNiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9EYXRlSW5wdXRUeXBlLmgKKysrIGIvU291cmNlL1dl
YkNvcmUvaHRtbC9EYXRlSW5wdXRUeXBlLmgKQEAgLTMzLDIwICszMywxMSBAQAogCiAjaWYgRU5B
QkxFKElOUFVUX1RZUEVfREFURSkKICNpbmNsdWRlICJCYXNlQ2hvb3Nlck9ubHlEYXRlQW5kVGlt
ZUlucHV0VHlwZS5oIgotI2luY2x1ZGUgIkJhc2VNdWx0aXBsZUZpZWxkc0RhdGVBbmRUaW1lSW5w
dXRUeXBlLmgiCiAjaW5jbHVkZSA8d3RmL1JlZlB0ci5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7
CiAKLWNsYXNzIFBpY2tlckluZGljYXRvckVsZW1lbnQ7Ci0KLSNpZiBFTkFCTEUoSU5QVVRfTVVM
VElQTEVfRklFTERTX1VJKQotdHlwZWRlZiBCYXNlTXVsdGlwbGVGaWVsZHNEYXRlQW5kVGltZUlu
cHV0VHlwZSBCYXNlRGF0ZUlucHV0VHlwZTsKLSNlbHNlCi10eXBlZGVmIEJhc2VDaG9vc2VyT25s
eURhdGVBbmRUaW1lSW5wdXRUeXBlIEJhc2VEYXRlSW5wdXRUeXBlOwotI2VuZGlmCi0KLWNsYXNz
IERhdGVJbnB1dFR5cGUgOiBwdWJsaWMgQmFzZURhdGVJbnB1dFR5cGUgeworY2xhc3MgRGF0ZUlu
cHV0VHlwZSA6IHB1YmxpYyBCYXNlQ2hvb3Nlck9ubHlEYXRlQW5kVGltZUlucHV0VHlwZSB7CiBw
dWJsaWM6CiAgICAgc3RhdGljIFBhc3NPd25QdHI8SW5wdXRUeXBlPiBjcmVhdGUoSFRNTElucHV0
RWxlbWVudCopOwogCkBAIC01OSwxMyArNTAsNiBAQCBwcml2YXRlOgogICAgIHZpcnR1YWwgYm9v
bCBwYXJzZVRvRGF0ZUNvbXBvbmVudHNJbnRlcm5hbChjb25zdCBVQ2hhciosIHVuc2lnbmVkIGxl
bmd0aCwgRGF0ZUNvbXBvbmVudHMqKSBjb25zdCBPVkVSUklERTsKICAgICB2aXJ0dWFsIGJvb2wg
c2V0TWlsbGlzZWNvbmRUb0RhdGVDb21wb25lbnRzKGRvdWJsZSwgRGF0ZUNvbXBvbmVudHMqKSBj
b25zdCBPVkVSUklERTsKICAgICB2aXJ0dWFsIGJvb2wgaXNEYXRlRmllbGQoKSBjb25zdCBPVkVS
UklERTsKLQotI2lmIEVOQUJMRShJTlBVVF9NVUxUSVBMRV9GSUVMRFNfVUkpCi0gICAgLy8gQmFz
ZU11bHRpcGxlRmllbGRzRGF0ZUFuZFRpbWVJbnB1dFR5cGUgZnVuY3Rpb25zCi0gICAgdmlydHVh
bCBTdHJpbmcgZm9ybWF0RGF0ZVRpbWVGaWVsZHNTdGF0ZShjb25zdCBEYXRlVGltZUZpZWxkc1N0
YXRlJikgY29uc3QgT1ZFUlJJREU7Ci0gICAgdmlydHVhbCB2b2lkIHNldHVwTGF5b3V0UGFyYW1l
dGVycyhEYXRlVGltZUVkaXRFbGVtZW50OjpMYXlvdXRQYXJhbWV0ZXJzJiwgY29uc3QgRGF0ZUNv
bXBvbmVudHMmKSBjb25zdCBPVkVSUklERTsKLSAgICB2aXJ0dWFsIGJvb2wgaXNWYWxpZEZvcm1h
dChib29sIGhhc1llYXIsIGJvb2wgaGFzTW9udGgsIGJvb2wgaGFzV2VlaywgYm9vbCBoYXNEYXks
IGJvb2wgaGFzQU1QTSwgYm9vbCBoYXNIb3VyLCBib29sIGhhc01pbnV0ZSwgYm9vbCBoYXNTZWNv
bmQpIGNvbnN0OwotI2VuZGlmCiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0RhdGVUaW1lRmllbGRzU3RhdGUuY3BwIGIvU291cmNl
L1dlYkNvcmUvaHRtbC9EYXRlVGltZUZpZWxkc1N0YXRlLmNwcApkZWxldGVkIGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggYWUwM2ExM2RhZjcxYzZmMTJiZjZjYmRhOGJkYjkzM2ZlOGRhMGJiNi4uMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9odG1sL0RhdGVUaW1lRmllbGRzU3RhdGUuY3BwCisrKyAvZGV2L251bGwKQEAgLTEsMTEyICsw
LDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTIgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyBy
ZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmlu
YXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRl
ZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotICogYXJlIG1ldDoKLSAq
IDEuICBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3Zl
IGNvcHlyaWdodAotICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqIDIuICBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5
IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0
aGUKLSAqICAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQg
d2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQg
QlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycgQU5ECi0gKiBBTlkg
RVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVE
IFRPLCBUSEUKLSAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJ
VE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFCi0gKiBBUkUgRElTQ0xBSU1FRC4gSU4gTk8g
RVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQotICog
Rk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlks
IE9SIENPTlNFUVVFTlRJQUwKLSAqIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVE
IFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SCi0gKiBTRVJWSUNFUzsgTE9T
UyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9X
RVZFUgotICogQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJ
TiBDT05UUkFDVCwgU1RSSUNUCi0gKiBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdM
SUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZCi0gKiBPVVQgT0YgVEhFIFVT
RSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9G
Ci0gKiBTVUNIIERBTUFHRS4KLSAqLwotCi0jaW5jbHVkZSAiY29uZmlnLmgiCi0jaWYgRU5BQkxF
KElOUFVUX01VTFRJUExFX0ZJRUxEU19VSSkKLSNpbmNsdWRlICJEYXRlVGltZUZpZWxkc1N0YXRl
LmgiCi0KLSNpbmNsdWRlICJGb3JtQ29udHJvbGxlci5oIgotCi1uYW1lc3BhY2UgV2ViQ29yZSB7
Ci0KLWNvbnN0IHVuc2lnbmVkIERhdGVUaW1lRmllbGRzU3RhdGU6OmVtcHR5VmFsdWUgPSBzdGF0
aWNfY2FzdDx1bnNpZ25lZD4oLTEpOwotCi1zdGF0aWMgdW5zaWduZWQgZ2V0TnVtYmVyRnJvbUZv
cm1Db250cm9sU3RhdGUoY29uc3QgRm9ybUNvbnRyb2xTdGF0ZSYgc3RhdGUsIHNpemVfdCBpbmRl
eCkKLXsKLSAgICBpZiAoaW5kZXggPj0gc3RhdGUudmFsdWVTaXplKCkpCi0gICAgICAgIHJldHVy
biBEYXRlVGltZUZpZWxkc1N0YXRlOjplbXB0eVZhbHVlOwotICAgIGJvb2wgcGFyc2VkOwotICAg
IHVuc2lnbmVkIGNvbnN0IHZhbHVlID0gc3RhdGVbaW5kZXhdLnRvVUludCgmcGFyc2VkKTsKLSAg
ICByZXR1cm4gcGFyc2VkID8gdmFsdWUgOiBEYXRlVGltZUZpZWxkc1N0YXRlOjplbXB0eVZhbHVl
OwotfQotCi1zdGF0aWMgRGF0ZVRpbWVGaWVsZHNTdGF0ZTo6QU1QTVZhbHVlIGdldEFNUE1Gcm9t
Rm9ybUNvbnRyb2xTdGF0ZShjb25zdCBGb3JtQ29udHJvbFN0YXRlJiBzdGF0ZSwgc2l6ZV90IGlu
ZGV4KQotewotICAgIGlmIChpbmRleCA+PSBzdGF0ZS52YWx1ZVNpemUoKSkKLSAgICAgICAgcmV0
dXJuIERhdGVUaW1lRmllbGRzU3RhdGU6OkFNUE1WYWx1ZUVtcHR5OwotICAgIGNvbnN0IFN0cmlu
ZyB2YWx1ZSA9IHN0YXRlW2luZGV4XTsKLSAgICBpZiAodmFsdWUgPT0gIkEiKQotICAgICAgICBy
ZXR1cm4gRGF0ZVRpbWVGaWVsZHNTdGF0ZTo6QU1QTVZhbHVlQU07Ci0gICAgaWYgKHZhbHVlID09
ICJQIikKLSAgICAgICAgcmV0dXJuIERhdGVUaW1lRmllbGRzU3RhdGU6OkFNUE1WYWx1ZVBNOwot
ICAgIHJldHVybiBEYXRlVGltZUZpZWxkc1N0YXRlOjpBTVBNVmFsdWVFbXB0eTsKLX0KLQotRGF0
ZVRpbWVGaWVsZHNTdGF0ZTo6RGF0ZVRpbWVGaWVsZHNTdGF0ZSgpCi0gICAgOiBtX3llYXIoZW1w
dHlWYWx1ZSkKLSAgICAsIG1fbW9udGgoZW1wdHlWYWx1ZSkKLSAgICAsIG1fZGF5T2ZNb250aChl
bXB0eVZhbHVlKQotICAgICwgbV9ob3VyKGVtcHR5VmFsdWUpCi0gICAgLCBtX21pbnV0ZShlbXB0
eVZhbHVlKQotICAgICwgbV9zZWNvbmQoZW1wdHlWYWx1ZSkKLSAgICAsIG1fbWlsbGlzZWNvbmQo
ZW1wdHlWYWx1ZSkKLSAgICAsIG1fd2Vla09mWWVhcihlbXB0eVZhbHVlKQotICAgICwgbV9hbXBt
KEFNUE1WYWx1ZUVtcHR5KQotewotfQotCi11bnNpZ25lZCBEYXRlVGltZUZpZWxkc1N0YXRlOjpo
b3VyMjMoKSBjb25zdAotewotICAgIGlmICghaGFzSG91cigpIHx8ICFoYXNBTVBNKCkpCi0gICAg
ICAgIHJldHVybiBlbXB0eVZhbHVlOwotICAgIHJldHVybiAobV9ob3VyICUgMTIpICsgKG1fYW1w
bSA9PSBBTVBNVmFsdWVQTSA/IDEyIDogMCk7Ci19Ci0KLURhdGVUaW1lRmllbGRzU3RhdGUgRGF0
ZVRpbWVGaWVsZHNTdGF0ZTo6cmVzdG9yZUZvcm1Db250cm9sU3RhdGUoY29uc3QgRm9ybUNvbnRy
b2xTdGF0ZSYgc3RhdGUpCi17Ci0gICAgRGF0ZVRpbWVGaWVsZHNTdGF0ZSBkYXRlVGltZUZpZWxk
c1N0YXRlOwotICAgIGRhdGVUaW1lRmllbGRzU3RhdGUuc2V0WWVhcihnZXROdW1iZXJGcm9tRm9y
bUNvbnRyb2xTdGF0ZShzdGF0ZSwgMCkpOwotICAgIGRhdGVUaW1lRmllbGRzU3RhdGUuc2V0TW9u
dGgoZ2V0TnVtYmVyRnJvbUZvcm1Db250cm9sU3RhdGUoc3RhdGUsIDEpKTsKLSAgICBkYXRlVGlt
ZUZpZWxkc1N0YXRlLnNldERheU9mTW9udGgoZ2V0TnVtYmVyRnJvbUZvcm1Db250cm9sU3RhdGUo
c3RhdGUsIDIpKTsKLSAgICBkYXRlVGltZUZpZWxkc1N0YXRlLnNldEhvdXIoZ2V0TnVtYmVyRnJv
bUZvcm1Db250cm9sU3RhdGUoc3RhdGUsIDMpKTsKLSAgICBkYXRlVGltZUZpZWxkc1N0YXRlLnNl
dE1pbnV0ZShnZXROdW1iZXJGcm9tRm9ybUNvbnRyb2xTdGF0ZShzdGF0ZSwgNCkpOwotICAgIGRh
dGVUaW1lRmllbGRzU3RhdGUuc2V0U2Vjb25kKGdldE51bWJlckZyb21Gb3JtQ29udHJvbFN0YXRl
KHN0YXRlLCA1KSk7Ci0gICAgZGF0ZVRpbWVGaWVsZHNTdGF0ZS5zZXRNaWxsaXNlY29uZChnZXRO
dW1iZXJGcm9tRm9ybUNvbnRyb2xTdGF0ZShzdGF0ZSwgNikpOwotICAgIGRhdGVUaW1lRmllbGRz
U3RhdGUuc2V0V2Vla09mWWVhcihnZXROdW1iZXJGcm9tRm9ybUNvbnRyb2xTdGF0ZShzdGF0ZSwg
NykpOwotICAgIGRhdGVUaW1lRmllbGRzU3RhdGUuc2V0QU1QTShnZXRBTVBNRnJvbUZvcm1Db250
cm9sU3RhdGUoc3RhdGUsIDgpKTsKLSAgICByZXR1cm4gZGF0ZVRpbWVGaWVsZHNTdGF0ZTsKLX0K
LQotRm9ybUNvbnRyb2xTdGF0ZSBEYXRlVGltZUZpZWxkc1N0YXRlOjpzYXZlRm9ybUNvbnRyb2xT
dGF0ZSgpIGNvbnN0Ci17Ci0gICAgRm9ybUNvbnRyb2xTdGF0ZSBzdGF0ZTsKLSAgICBzdGF0ZS5h
cHBlbmQoaGFzWWVhcigpID8gU3RyaW5nOjpudW1iZXIobV95ZWFyKSA6IGVtcHR5U3RyaW5nKCkp
OwotICAgIHN0YXRlLmFwcGVuZChoYXNNb250aCgpID8gU3RyaW5nOjpudW1iZXIobV9tb250aCkg
OiBlbXB0eVN0cmluZygpKTsKLSAgICBzdGF0ZS5hcHBlbmQoaGFzRGF5T2ZNb250aCgpID8gU3Ry
aW5nOjpudW1iZXIobV9kYXlPZk1vbnRoKSA6IGVtcHR5U3RyaW5nKCkpOwotICAgIHN0YXRlLmFw
cGVuZChoYXNIb3VyKCkgPyBTdHJpbmc6Om51bWJlcihtX2hvdXIpIDogZW1wdHlTdHJpbmcoKSk7
Ci0gICAgc3RhdGUuYXBwZW5kKGhhc01pbnV0ZSgpID8gU3RyaW5nOjpudW1iZXIobV9taW51dGUp
IDogZW1wdHlTdHJpbmcoKSk7Ci0gICAgc3RhdGUuYXBwZW5kKGhhc1NlY29uZCgpID8gU3RyaW5n
OjpudW1iZXIobV9zZWNvbmQpIDogZW1wdHlTdHJpbmcoKSk7Ci0gICAgc3RhdGUuYXBwZW5kKGhh
c01pbGxpc2Vjb25kKCkgPyBTdHJpbmc6Om51bWJlcihtX21pbGxpc2Vjb25kKSA6IGVtcHR5U3Ry
aW5nKCkpOwotICAgIHN0YXRlLmFwcGVuZChoYXNXZWVrT2ZZZWFyKCkgPyBTdHJpbmc6Om51bWJl
cihtX3dlZWtPZlllYXIpIDogZW1wdHlTdHJpbmcoKSk7Ci0gICAgaWYgKGhhc0FNUE0oKSkKLSAg
ICAgICAgc3RhdGUuYXBwZW5kKG1fYW1wbSA9PSBBTVBNVmFsdWVBTSA/ICJBIiA6ICJQIik7Ci0g
ICAgZWxzZQotICAgICAgICBzdGF0ZS5hcHBlbmQoZW1wdHlTdHJpbmcoKSk7Ci0gICAgcmV0dXJu
IHN0YXRlOwotfQotCi19IC8vIG5hbWVzcGFjZSBXZWJDb3JlCi0KLSNlbmRpZgpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvaHRtbC9EYXRlVGltZUZpZWxkc1N0YXRlLmggYi9Tb3VyY2UvV2Vi
Q29yZS9odG1sL0RhdGVUaW1lRmllbGRzU3RhdGUuaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMmRkMjE5NTQ2MDZiNDk3NGM0MmU1MTY5OGE5MTEwYmViZTY5Mzk1Ni4uMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1s
L0RhdGVUaW1lRmllbGRzU3RhdGUuaAorKysgL2Rldi9udWxsCkBAIC0xLDEwMyArMCwwIEBACi0v
KgotICogQ29weXJpZ2h0IChDKSAyMDEyIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQu
Ci0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jt
cywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlk
ZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKiAxLiAgUmVk
aXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmln
aHQKLSAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIuCi0gKiAyLiAgUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11
c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgICBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gKiAg
ICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhl
IGRpc3RyaWJ1dGlvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExF
IElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnIEFORAotICogQU5ZIEVYUFJFU1Mg
T1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhF
Ci0gKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZP
UiBBIFBBUlRJQ1VMQVIgUFVSUE9TRQotICogQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNI
QUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUKLSAqIEZPUiBBTlkg
RElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05T
RVFVRU5USUFMCi0gKiBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJP
Q1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUgotICogU0VSVklDRVM7IExPU1MgT0YgVVNF
LCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIKLSAq
IENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJB
Q1QsIFNUUklDVAotICogTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBP
UiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWQotICogT1VUIE9GIFRIRSBVU0UgT0YgVEhJ
UyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRgotICogU1VD
SCBEQU1BR0UuCi0gKi8KLQotI2lmbmRlZiBEYXRlVGltZUZpZWxkc1N0YXRlX2gKLSNkZWZpbmUg
RGF0ZVRpbWVGaWVsZHNTdGF0ZV9oCi0KLSNpZiBFTkFCTEUoSU5QVVRfTVVMVElQTEVfRklFTERT
X1VJKQotI2luY2x1ZGUgPHd0Zi90ZXh0L1dURlN0cmluZy5oPgotCi1uYW1lc3BhY2UgV2ViQ29y
ZSB7Ci0KLWNsYXNzIEZvcm1Db250cm9sU3RhdGU7Ci0KLS8vIERhdGVUaW1lRmllbGRzU3RhdGUg
cmVwcmVzZW50cyBmaWVsZHMgaW4gZGF0ZS90aW1lIGZvciBmb3JtIHN0YXRlCi0vLyBzYXZlL3Jl
c3RvcmUgZm9yIGlucHV0IHR5cGUgImRhdGUiLCAiZGF0ZXRpbWUiLCAiZGF0ZXRpbWUtbG9jYWwi
LCAibW9udGgiLAotLy8gInRpbWUiLCBhbmQgIndlZWsiIHdpdGggbXVsdGlwbGUgZmllbGRzIGlu
cHV0IFVJLgotLy8KLS8vIEVhY2ggZmllbGQgY2FuIGNvbnRhaW4gaW52YWxpZCB2YWx1ZSBmb3Ig
ZGF0ZSwgZS5nLiBkYXkgb2YgbW9udGggZmllbGQgY2FuCi0vLyBiZSAzMCBldmVuIGlmIG1vbnRo
IGZpZWxkIGlzIEZlYnJ1YXJ5LgotY2xhc3MgRGF0ZVRpbWVGaWVsZHNTdGF0ZSB7Ci1wdWJsaWM6
Ci0gICAgZW51bSBBTVBNVmFsdWUgewotICAgICAgICBBTVBNVmFsdWVFbXB0eSA9IC0xLAotICAg
ICAgICBBTVBNVmFsdWVBTSwKLSAgICAgICAgQU1QTVZhbHVlUE0sCi0gICAgfTsKLQotICAgIHN0
YXRpYyBjb25zdCB1bnNpZ25lZCBlbXB0eVZhbHVlOwotCi0gICAgRGF0ZVRpbWVGaWVsZHNTdGF0
ZSgpOwotCi0gICAgc3RhdGljIERhdGVUaW1lRmllbGRzU3RhdGUgcmVzdG9yZUZvcm1Db250cm9s
U3RhdGUoY29uc3QgRm9ybUNvbnRyb2xTdGF0ZSYpOwotICAgIEZvcm1Db250cm9sU3RhdGUgc2F2
ZUZvcm1Db250cm9sU3RhdGUoKSBjb25zdDsKLQotICAgIEFNUE1WYWx1ZSBhbXBtKCkgY29uc3Qg
eyByZXR1cm4gbV9hbXBtOyB9Ci0gICAgdW5zaWduZWQgZGF5T2ZNb250aCgpIGNvbnN0IHsgcmV0
dXJuIG1fZGF5T2ZNb250aDsgfQotICAgIHVuc2lnbmVkIGhvdXIoKSBjb25zdCB7IHJldHVybiBt
X2hvdXI7IH0KLSAgICB1bnNpZ25lZCBob3VyMjMoKSBjb25zdDsKLSAgICB1bnNpZ25lZCBtaWxs
aXNlY29uZCgpIGNvbnN0IHsgcmV0dXJuIG1fbWlsbGlzZWNvbmQ7IH0KLSAgICB1bnNpZ25lZCBt
aW51dGUoKSBjb25zdCB7IHJldHVybiBtX21pbnV0ZTsgfQotICAgIHVuc2lnbmVkIG1vbnRoKCkg
Y29uc3QgeyByZXR1cm4gbV9tb250aDsgfQotICAgIHVuc2lnbmVkIHNlY29uZCgpIGNvbnN0IHsg
cmV0dXJuIG1fc2Vjb25kOyB9Ci0gICAgdW5zaWduZWQgd2Vla09mWWVhcigpIGNvbnN0IHsgcmV0
dXJuIG1fd2Vla09mWWVhcjsgfQotICAgIHVuc2lnbmVkIHllYXIoKSBjb25zdCB7IHJldHVybiBt
X3llYXI7IH0KLQotICAgIGJvb2wgaGFzQU1QTSgpIGNvbnN0IHsgcmV0dXJuIG1fYW1wbSAhPSBB
TVBNVmFsdWVFbXB0eTsgfQotICAgIGJvb2wgaGFzRGF5T2ZNb250aCgpIGNvbnN0IHsgcmV0dXJu
IG1fZGF5T2ZNb250aCAhPSBlbXB0eVZhbHVlOyB9Ci0gICAgYm9vbCBoYXNIb3VyKCkgY29uc3Qg
eyByZXR1cm4gbV9ob3VyICE9IGVtcHR5VmFsdWU7IH0KLSAgICBib29sIGhhc01pbGxpc2Vjb25k
KCkgY29uc3QgeyByZXR1cm4gbV9taWxsaXNlY29uZCAhPSBlbXB0eVZhbHVlOyB9Ci0gICAgYm9v
bCBoYXNNaW51dGUoKSBjb25zdCB7IHJldHVybiBtX21pbnV0ZSAhPSBlbXB0eVZhbHVlOyB9Ci0g
ICAgYm9vbCBoYXNNb250aCgpIGNvbnN0IHsgcmV0dXJuIG1fbW9udGggIT0gZW1wdHlWYWx1ZTsg
fQotICAgIGJvb2wgaGFzU2Vjb25kKCkgY29uc3QgeyByZXR1cm4gbV9zZWNvbmQgIT0gZW1wdHlW
YWx1ZTsgfQotICAgIGJvb2wgaGFzV2Vla09mWWVhcigpIGNvbnN0IHsgcmV0dXJuIG1fd2Vla09m
WWVhciAhPSBlbXB0eVZhbHVlOyB9Ci0gICAgYm9vbCBoYXNZZWFyKCkgY29uc3QgeyByZXR1cm4g
bV95ZWFyICE9IGVtcHR5VmFsdWU7IH0KLQotICAgIHZvaWQgc2V0QU1QTShBTVBNVmFsdWUgYW1w
bSkgeyBtX2FtcG0gPSBhbXBtOyB9Ci0gICAgdm9pZCBzZXREYXlPZk1vbnRoKHVuc2lnbmVkIGRh
eU9mTW9udGgpIHsgbV9kYXlPZk1vbnRoID0gZGF5T2ZNb250aDsgfQotICAgIHZvaWQgc2V0SG91
cih1bnNpZ25lZCBob3VyMTIpIHsgbV9ob3VyID0gaG91cjEyOyB9Ci0gICAgdm9pZCBzZXRNaWxs
aXNlY29uZCh1bnNpZ25lZCBtaWxsaXNlY29uZCkgeyBtX21pbGxpc2Vjb25kID0gbWlsbGlzZWNv
bmQ7IH0KLSAgICB2b2lkIHNldE1pbnV0ZSh1bnNpZ25lZCBtaW51dGUpIHsgbV9taW51dGUgPSBt
aW51dGU7IH0KLSAgICB2b2lkIHNldE1vbnRoKHVuc2lnbmVkIG1vbnRoKSB7IG1fbW9udGggPSBt
b250aDsgfQotICAgIHZvaWQgc2V0U2Vjb25kKHVuc2lnbmVkIHNlY29uZCkgeyBtX3NlY29uZCA9
IHNlY29uZDsgfQotICAgIHZvaWQgc2V0V2Vla09mWWVhcih1bnNpZ25lZCB3ZWVrT2ZZZWFyKSB7
IG1fd2Vla09mWWVhciA9IHdlZWtPZlllYXI7IH0KLSAgICB2b2lkIHNldFllYXIodW5zaWduZWQg
eWVhcikgeyBtX3llYXIgPSB5ZWFyOyB9Ci0KLXByaXZhdGU6Ci0gICAgdW5zaWduZWQgbV95ZWFy
OwotICAgIHVuc2lnbmVkIG1fbW9udGg7IC8vIDEgdG8gMTIuCi0gICAgdW5zaWduZWQgbV9kYXlP
Zk1vbnRoOwotICAgIHVuc2lnbmVkIG1faG91cjsgLy8gMSB0byAxMi4KLSAgICB1bnNpZ25lZCBt
X21pbnV0ZTsKLSAgICB1bnNpZ25lZCBtX3NlY29uZDsKLSAgICB1bnNpZ25lZCBtX21pbGxpc2Vj
b25kOwotICAgIHVuc2lnbmVkIG1fd2Vla09mWWVhcjsKLSAgICBBTVBNVmFsdWUgbV9hbXBtOwot
fTsKLQotfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQotCi0jZW5kaWYKLSNlbmRpZgpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvaHRtbC9EYXRlVGltZUlucHV0VHlwZS5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9odG1sL0RhdGVUaW1lSW5wdXRUeXBlLmNwcAppbmRleCBhYjA4NWUyNDU1M2M1ZDMzMTRm
YmZiYTVlYjliYWI4NDUxYjc2MWVlLi44YTY0YjBmNmJiMGFjM2JlZjhlMTUxZjQ0MzljZjNiNzVk
ZmVmN2YzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0RhdGVUaW1lSW5wdXRUeXBl
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0RhdGVUaW1lSW5wdXRUeXBlLmNwcApAQCAt
MzksMTQgKzM5LDYgQEAKICNpbmNsdWRlIDx3dGYvQ3VycmVudFRpbWUuaD4KICNpbmNsdWRlIDx3
dGYvUGFzc093blB0ci5oPgogCi0jaWYgRU5BQkxFKElOUFVUX01VTFRJUExFX0ZJRUxEU19VSSkK
LSNpbmNsdWRlICJEYXRlVGltZUZpZWxkc1N0YXRlLmgiCi0jaW5jbHVkZSAiTG9jYWxpemVkU3Ry
aW5ncy5oIgotI2luY2x1ZGUgIlBsYXRmb3JtTG9jYWxlLmgiCi0jaW5jbHVkZSA8d3RmL3RleHQv
U3RyaW5nQnVpbGRlci5oPgotI2luY2x1ZGUgPHd0Zi90ZXh0L1dURlN0cmluZy5oPgotI2VuZGlm
Ci0KIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogdXNpbmcgbmFtZXNwYWNlIEhUTUxOYW1lczsKQEAg
LTEwOSw2OCArMTAxLDYgQEAgYm9vbCBEYXRlVGltZUlucHV0VHlwZTo6aXNEYXRlVGltZUZpZWxk
KCkgY29uc3QKICAgICByZXR1cm4gdHJ1ZTsKIH0KIAotI2lmIEVOQUJMRShJTlBVVF9NVUxUSVBM
RV9GSUVMRFNfVUkpCi0vLyBGSVhNRTogSXQgaXMgYmV0dGVyIHRvIHNoYXJlIGNvZGUgZm9yIERh
dGVUaW1lSW5wdXRUeXBlOjpmb3JtYXREYXRlVGltZUZpZWxkc1N0YXRlKCkKLS8vIGFuZCBEYXRl
VGltZUlucHV0TG9jYWxUeXBlOjpmb3JtYXREYXRlVGltZUZpZWxkc1N0YXRlKCkuCi1TdHJpbmcg
RGF0ZVRpbWVJbnB1dFR5cGU6OmZvcm1hdERhdGVUaW1lRmllbGRzU3RhdGUoY29uc3QgRGF0ZVRp
bWVGaWVsZHNTdGF0ZSYgZGF0ZVRpbWVGaWVsZHNTdGF0ZSkgY29uc3QKLXsKLSAgICBpZiAoIWRh
dGVUaW1lRmllbGRzU3RhdGUuaGFzRGF5T2ZNb250aCgpIHx8ICFkYXRlVGltZUZpZWxkc1N0YXRl
Lmhhc01vbnRoKCkgfHwgIWRhdGVUaW1lRmllbGRzU3RhdGUuaGFzWWVhcigpCi0gICAgICAgIHx8
ICFkYXRlVGltZUZpZWxkc1N0YXRlLmhhc0hvdXIoKSB8fCAhZGF0ZVRpbWVGaWVsZHNTdGF0ZS5o
YXNNaW51dGUoKSB8fCAhZGF0ZVRpbWVGaWVsZHNTdGF0ZS5oYXNBTVBNKCkpCi0gICAgICAgIHJl
dHVybiBlbXB0eVN0cmluZygpOwotCi0gICAgaWYgKGRhdGVUaW1lRmllbGRzU3RhdGUuaGFzTWls
bGlzZWNvbmQoKSAmJiBkYXRlVGltZUZpZWxkc1N0YXRlLm1pbGxpc2Vjb25kKCkpIHsKLSAgICAg
ICAgcmV0dXJuIFN0cmluZzo6Zm9ybWF0KCIlMDR1LSUwMnUtJTAydVQlMDJ1OiUwMnU6JTAydS4l
MDN1WiIsCi0gICAgICAgICAgICBkYXRlVGltZUZpZWxkc1N0YXRlLnllYXIoKSwKLSAgICAgICAg
ICAgIGRhdGVUaW1lRmllbGRzU3RhdGUubW9udGgoKSwKLSAgICAgICAgICAgIGRhdGVUaW1lRmll
bGRzU3RhdGUuZGF5T2ZNb250aCgpLAotICAgICAgICAgICAgZGF0ZVRpbWVGaWVsZHNTdGF0ZS5o
b3VyMjMoKSwKLSAgICAgICAgICAgIGRhdGVUaW1lRmllbGRzU3RhdGUubWludXRlKCksCi0gICAg
ICAgICAgICBkYXRlVGltZUZpZWxkc1N0YXRlLmhhc1NlY29uZCgpID8gZGF0ZVRpbWVGaWVsZHNT
dGF0ZS5zZWNvbmQoKSA6IDAsCi0gICAgICAgICAgICBkYXRlVGltZUZpZWxkc1N0YXRlLm1pbGxp
c2Vjb25kKCkpOwotICAgIH0KLQotICAgIGlmIChkYXRlVGltZUZpZWxkc1N0YXRlLmhhc1NlY29u
ZCgpICYmIGRhdGVUaW1lRmllbGRzU3RhdGUuc2Vjb25kKCkpIHsKLSAgICAgICAgcmV0dXJuIFN0
cmluZzo6Zm9ybWF0KCIlMDR1LSUwMnUtJTAydVQlMDJ1OiUwMnU6JTAydVoiLAotICAgICAgICAg
ICAgZGF0ZVRpbWVGaWVsZHNTdGF0ZS55ZWFyKCksCi0gICAgICAgICAgICBkYXRlVGltZUZpZWxk
c1N0YXRlLm1vbnRoKCksCi0gICAgICAgICAgICBkYXRlVGltZUZpZWxkc1N0YXRlLmRheU9mTW9u
dGgoKSwKLSAgICAgICAgICAgIGRhdGVUaW1lRmllbGRzU3RhdGUuaG91cjIzKCksCi0gICAgICAg
ICAgICBkYXRlVGltZUZpZWxkc1N0YXRlLm1pbnV0ZSgpLAotICAgICAgICAgICAgZGF0ZVRpbWVG
aWVsZHNTdGF0ZS5zZWNvbmQoKSk7Ci0gICAgfQotCi0gICAgcmV0dXJuIFN0cmluZzo6Zm9ybWF0
KCIlMDR1LSUwMnUtJTAydVQlMDJ1OiUwMnVaIiwKLSAgICAgICAgZGF0ZVRpbWVGaWVsZHNTdGF0
ZS55ZWFyKCksCi0gICAgICAgIGRhdGVUaW1lRmllbGRzU3RhdGUubW9udGgoKSwKLSAgICAgICAg
ZGF0ZVRpbWVGaWVsZHNTdGF0ZS5kYXlPZk1vbnRoKCksCi0gICAgICAgIGRhdGVUaW1lRmllbGRz
U3RhdGUuaG91cjIzKCksCi0gICAgICAgIGRhdGVUaW1lRmllbGRzU3RhdGUubWludXRlKCkpOwot
fQotCi12b2lkIERhdGVUaW1lSW5wdXRUeXBlOjpzZXR1cExheW91dFBhcmFtZXRlcnMoRGF0ZVRp
bWVFZGl0RWxlbWVudDo6TGF5b3V0UGFyYW1ldGVycyYgbGF5b3V0UGFyYW1ldGVycywgY29uc3Qg
RGF0ZUNvbXBvbmVudHMmIGRhdGUpIGNvbnN0Ci17Ci0gICAgaWYgKHNob3VsZEhhdmVTZWNvbmRG
aWVsZChkYXRlKSkgewotICAgICAgICBsYXlvdXRQYXJhbWV0ZXJzLmRhdGVUaW1lRm9ybWF0ID0g
bGF5b3V0UGFyYW1ldGVycy5sb2NhbGUuZGF0ZVRpbWVGb3JtYXRXaXRoU2Vjb25kcygpOwotICAg
ICAgICBsYXlvdXRQYXJhbWV0ZXJzLmZhbGxiYWNrRGF0ZVRpbWVGb3JtYXQgPSAieXl5eS1NTS1k
ZCdUJ0hIOm1tOnNzJ1onIjsKLSAgICB9IGVsc2UgewotICAgICAgICBsYXlvdXRQYXJhbWV0ZXJz
LmRhdGVUaW1lRm9ybWF0ID0gbGF5b3V0UGFyYW1ldGVycy5sb2NhbGUuZGF0ZVRpbWVGb3JtYXRX
aXRob3V0U2Vjb25kcygpOwotICAgICAgICBsYXlvdXRQYXJhbWV0ZXJzLmZhbGxiYWNrRGF0ZVRp
bWVGb3JtYXQgPSAieXl5eS1NTS1kZCdUJ0hIOm1tJ1onIjsKLSAgICB9Ci0gICAgaWYgKCFwYXJz
ZVRvRGF0ZUNvbXBvbmVudHMoZWxlbWVudCgpLT5mYXN0R2V0QXR0cmlidXRlKG1pbkF0dHIpLCAm
bGF5b3V0UGFyYW1ldGVycy5taW5pbXVtKSkKLSAgICAgICAgbGF5b3V0UGFyYW1ldGVycy5taW5p
bXVtID0gRGF0ZUNvbXBvbmVudHMoKTsKLSAgICBpZiAoIXBhcnNlVG9EYXRlQ29tcG9uZW50cyhl
bGVtZW50KCktPmZhc3RHZXRBdHRyaWJ1dGUobWF4QXR0ciksICZsYXlvdXRQYXJhbWV0ZXJzLm1h
eGltdW0pKQotICAgICAgICBsYXlvdXRQYXJhbWV0ZXJzLm1heGltdW0gPSBEYXRlQ29tcG9uZW50
cygpOwotICAgIGxheW91dFBhcmFtZXRlcnMucGxhY2Vob2xkZXJGb3JEYXkgPSBwbGFjZWhvbGRl
ckZvckRheU9mTW9udGhGaWVsZCgpOwotICAgIGxheW91dFBhcmFtZXRlcnMucGxhY2Vob2xkZXJG
b3JNb250aCA9IHBsYWNlaG9sZGVyRm9yTW9udGhGaWVsZCgpOwotICAgIGxheW91dFBhcmFtZXRl
cnMucGxhY2Vob2xkZXJGb3JZZWFyID0gcGxhY2Vob2xkZXJGb3JZZWFyRmllbGQoKTsKLX0KLQot
Ym9vbCBEYXRlVGltZUlucHV0VHlwZTo6aXNWYWxpZEZvcm1hdChib29sIGhhc1llYXIsIGJvb2wg
aGFzTW9udGgsIGJvb2wgaGFzV2VlaywgYm9vbCBoYXNEYXksIGJvb2wgaGFzQU1QTSwgYm9vbCBo
YXNIb3VyLCBib29sIGhhc01pbnV0ZSwgYm9vbCBoYXNTZWNvbmQpIGNvbnN0Ci17Ci0gICAgcmV0
dXJuIGhhc1llYXIgJiYgaGFzTW9udGggJiYgaGFzRGF5ICYmIGhhc0FNUE0gJiYgaGFzSG91ciAm
JiBoYXNNaW51dGU7Ci19Ci0jZW5kaWYKLQogU3RyaW5nIERhdGVUaW1lSW5wdXRUeXBlOjpzYW5p
dGl6ZVZhbHVlKGNvbnN0IFN0cmluZyYgcHJvcG9zZWRWYWx1ZSkgY29uc3QKIHsKICAgICBEYXRl
Q29tcG9uZW50cyBkYXRlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9EYXRlVGlt
ZUlucHV0VHlwZS5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9EYXRlVGltZUlucHV0VHlwZS5oCmlu
ZGV4IGU5Y2RiODRkOGJjMjU2NmE4YmM0OGU5NGNiMDczODNlOWVjY2E0ZmYuLmEzOWUyNzM4MWVl
YjMwYWE5NTc0ZTBhZjEzZTNiNjE5NmFhOTUxOWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2h0bWwvRGF0ZVRpbWVJbnB1dFR5cGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0RhdGVU
aW1lSW5wdXRUeXBlLmgKQEAgLTM0LDE3ICszNCwxMCBAQAogI2lmIEVOQUJMRShJTlBVVF9UWVBF
X0RBVEVUSU1FX0lOQ09NUExFVEUpCiAjaW5jbHVkZSAiQmFzZUNob29zZXJPbmx5RGF0ZUFuZFRp
bWVJbnB1dFR5cGUuaCIKICNpbmNsdWRlICJCYXNlRGF0ZUFuZFRpbWVJbnB1dFR5cGUuaCIKLSNp
bmNsdWRlICJCYXNlTXVsdGlwbGVGaWVsZHNEYXRlQW5kVGltZUlucHV0VHlwZS5oIgogCiBuYW1l
c3BhY2UgV2ViQ29yZSB7CiAKLSNpZiBFTkFCTEUoSU5QVVRfTVVMVElQTEVfRklFTERTX1VJKQot
dHlwZWRlZiBCYXNlTXVsdGlwbGVGaWVsZHNEYXRlQW5kVGltZUlucHV0VHlwZSBCYXNlRGF0ZVRp
bWVJbnB1dFR5cGU7Ci0jZWxzZQotdHlwZWRlZiBCYXNlQ2hvb3Nlck9ubHlEYXRlQW5kVGltZUlu
cHV0VHlwZSBCYXNlRGF0ZVRpbWVJbnB1dFR5cGU7Ci0jZW5kaWYKLQotY2xhc3MgRGF0ZVRpbWVJ
bnB1dFR5cGUgOiBwdWJsaWMgQmFzZURhdGVUaW1lSW5wdXRUeXBlIHsKK2NsYXNzIERhdGVUaW1l
SW5wdXRUeXBlIDogcHVibGljIEJhc2VDaG9vc2VyT25seURhdGVBbmRUaW1lSW5wdXRUeXBlIHsK
IHB1YmxpYzoKICAgICBzdGF0aWMgUGFzc093blB0cjxJbnB1dFR5cGU+IGNyZWF0ZShIVE1MSW5w
dXRFbGVtZW50Kik7CiAKQEAgLTU5LDEzICs1Miw2IEBAIHByaXZhdGU6CiAgICAgdmlydHVhbCBi
b29sIHNldE1pbGxpc2Vjb25kVG9EYXRlQ29tcG9uZW50cyhkb3VibGUsIERhdGVDb21wb25lbnRz
KikgY29uc3QgT1ZFUlJJREU7CiAgICAgdmlydHVhbCBib29sIGlzRGF0ZVRpbWVGaWVsZCgpIGNv
bnN0IE9WRVJSSURFOwogICAgIHZpcnR1YWwgU3RyaW5nIHNhbml0aXplVmFsdWUoY29uc3QgU3Ry
aW5nJikgY29uc3QgT1ZFUlJJREU7Ci0KLSNpZiBFTkFCTEUoSU5QVVRfTVVMVElQTEVfRklFTERT
X1VJKQotICAgIC8vIEJhc2VNdWx0aXBsZUZpZWxkc0RhdGVBbmRUaW1lSW5wdXRUeXBlIGZ1bmN0
aW9ucwotICAgIHZpcnR1YWwgU3RyaW5nIGZvcm1hdERhdGVUaW1lRmllbGRzU3RhdGUoY29uc3Qg
RGF0ZVRpbWVGaWVsZHNTdGF0ZSYpIGNvbnN0IE9WRVJSSURFIEZJTkFMOwotICAgIHZpcnR1YWwg
dm9pZCBzZXR1cExheW91dFBhcmFtZXRlcnMoRGF0ZVRpbWVFZGl0RWxlbWVudDo6TGF5b3V0UGFy
YW1ldGVycyYsIGNvbnN0IERhdGVDb21wb25lbnRzJikgY29uc3QgT1ZFUlJJREUgRklOQUw7Ci0g
ICAgdmlydHVhbCBib29sIGlzVmFsaWRGb3JtYXQoYm9vbCBoYXNZZWFyLCBib29sIGhhc01vbnRo
LCBib29sIGhhc1dlZWssIGJvb2wgaGFzRGF5LCBib29sIGhhc0FNUE0sIGJvb2wgaGFzSG91ciwg
Ym9vbCBoYXNNaW51dGUsIGJvb2wgaGFzU2Vjb25kKSBjb25zdDsKLSNlbmRpZgogfTsKIAogfSAv
LyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9EYXRl
VGltZUxvY2FsSW5wdXRUeXBlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvRGF0ZVRpbWVMb2Nh
bElucHV0VHlwZS5jcHAKaW5kZXggNjg3YmZmYWUxMzlkMWE4MDQwMWFjNGI5ZDYwNmE0Njk1ZjBm
NTQ0ZS4uZGYxYzQ3YTI5NDVmZmY5MGVjOTRiZDYxMzliNjhkZGMwMTQ5NWZmNyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvaHRtbC9EYXRlVGltZUxvY2FsSW5wdXRUeXBlLmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9odG1sL0RhdGVUaW1lTG9jYWxJbnB1dFR5cGUuY3BwCkBAIC0zOCwxNCAr
MzgsNiBAQAogI2luY2x1ZGUgIklucHV0VHlwZU5hbWVzLmgiCiAjaW5jbHVkZSA8d3RmL1Bhc3NP
d25QdHIuaD4KIAotI2lmIEVOQUJMRShJTlBVVF9NVUxUSVBMRV9GSUVMRFNfVUkpCi0jaW5jbHVk
ZSAiRGF0ZVRpbWVGaWVsZHNTdGF0ZS5oIgotI2luY2x1ZGUgIkxvY2FsaXplZFN0cmluZ3MuaCIK
LSNpbmNsdWRlICJQbGF0Zm9ybUxvY2FsZS5oIgotI2luY2x1ZGUgPHd0Zi90ZXh0L1N0cmluZ0J1
aWxkZXIuaD4KLSNpbmNsdWRlIDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4KLSNlbmRpZgotCiBuYW1l
c3BhY2UgV2ViQ29yZSB7CiAKIHVzaW5nIG5hbWVzcGFjZSBIVE1MTmFtZXM7CkBAIC0xMTUsNjgg
KzEwNyw2IEBAIGJvb2wgRGF0ZVRpbWVMb2NhbElucHV0VHlwZTo6aXNEYXRlVGltZUxvY2FsRmll
bGQoKSBjb25zdAogICAgIHJldHVybiB0cnVlOwogfQogCi0jaWYgRU5BQkxFKElOUFVUX01VTFRJ
UExFX0ZJRUxEU19VSSkKLS8vIEZJWE1FOiBJdCBpcyBiZXR0ZXIgdG8gc2hhcmUgY29kZSBmb3Ig
RGF0ZVRpbWVJbnB1dFR5cGU6OmZvcm1hdERhdGVUaW1lRmllbGRzU3RhdGUoKQotLy8gYW5kIERh
dGVUaW1lSW5wdXRMb2NhbFR5cGU6OmZvcm1hdERhdGVUaW1lRmllbGRzU3RhdGUoKS4KLVN0cmlu
ZyBEYXRlVGltZUxvY2FsSW5wdXRUeXBlOjpmb3JtYXREYXRlVGltZUZpZWxkc1N0YXRlKGNvbnN0
IERhdGVUaW1lRmllbGRzU3RhdGUmIGRhdGVUaW1lRmllbGRzU3RhdGUpIGNvbnN0Ci17Ci0gICAg
aWYgKCFkYXRlVGltZUZpZWxkc1N0YXRlLmhhc0RheU9mTW9udGgoKSB8fCAhZGF0ZVRpbWVGaWVs
ZHNTdGF0ZS5oYXNNb250aCgpIHx8ICFkYXRlVGltZUZpZWxkc1N0YXRlLmhhc1llYXIoKQotICAg
ICAgICB8fCAhZGF0ZVRpbWVGaWVsZHNTdGF0ZS5oYXNIb3VyKCkgfHwgIWRhdGVUaW1lRmllbGRz
U3RhdGUuaGFzTWludXRlKCkgfHwgIWRhdGVUaW1lRmllbGRzU3RhdGUuaGFzQU1QTSgpKQotICAg
ICAgICByZXR1cm4gZW1wdHlTdHJpbmcoKTsKLQotICAgIGlmIChkYXRlVGltZUZpZWxkc1N0YXRl
Lmhhc01pbGxpc2Vjb25kKCkgJiYgZGF0ZVRpbWVGaWVsZHNTdGF0ZS5taWxsaXNlY29uZCgpKSB7
Ci0gICAgICAgIHJldHVybiBTdHJpbmc6OmZvcm1hdCgiJTA0dS0lMDJ1LSUwMnVUJTAydTolMDJ1
OiUwMnUuJTAzdSIsCi0gICAgICAgICAgICBkYXRlVGltZUZpZWxkc1N0YXRlLnllYXIoKSwKLSAg
ICAgICAgICAgIGRhdGVUaW1lRmllbGRzU3RhdGUubW9udGgoKSwKLSAgICAgICAgICAgIGRhdGVU
aW1lRmllbGRzU3RhdGUuZGF5T2ZNb250aCgpLAotICAgICAgICAgICAgZGF0ZVRpbWVGaWVsZHNT
dGF0ZS5ob3VyMjMoKSwKLSAgICAgICAgICAgIGRhdGVUaW1lRmllbGRzU3RhdGUubWludXRlKCks
Ci0gICAgICAgICAgICBkYXRlVGltZUZpZWxkc1N0YXRlLmhhc1NlY29uZCgpID8gZGF0ZVRpbWVG
aWVsZHNTdGF0ZS5zZWNvbmQoKSA6IDAsCi0gICAgICAgICAgICBkYXRlVGltZUZpZWxkc1N0YXRl
Lm1pbGxpc2Vjb25kKCkpOwotICAgIH0KLQotICAgIGlmIChkYXRlVGltZUZpZWxkc1N0YXRlLmhh
c1NlY29uZCgpICYmIGRhdGVUaW1lRmllbGRzU3RhdGUuc2Vjb25kKCkpIHsKLSAgICAgICAgcmV0
dXJuIFN0cmluZzo6Zm9ybWF0KCIlMDR1LSUwMnUtJTAydVQlMDJ1OiUwMnU6JTAydSIsCi0gICAg
ICAgICAgICBkYXRlVGltZUZpZWxkc1N0YXRlLnllYXIoKSwKLSAgICAgICAgICAgIGRhdGVUaW1l
RmllbGRzU3RhdGUubW9udGgoKSwKLSAgICAgICAgICAgIGRhdGVUaW1lRmllbGRzU3RhdGUuZGF5
T2ZNb250aCgpLAotICAgICAgICAgICAgZGF0ZVRpbWVGaWVsZHNTdGF0ZS5ob3VyMjMoKSwKLSAg
ICAgICAgICAgIGRhdGVUaW1lRmllbGRzU3RhdGUubWludXRlKCksCi0gICAgICAgICAgICBkYXRl
VGltZUZpZWxkc1N0YXRlLnNlY29uZCgpKTsKLSAgICB9Ci0KLSAgICByZXR1cm4gU3RyaW5nOjpm
b3JtYXQoIiUwNHUtJTAydS0lMDJ1VCUwMnU6JTAydSIsCi0gICAgICAgIGRhdGVUaW1lRmllbGRz
U3RhdGUueWVhcigpLAotICAgICAgICBkYXRlVGltZUZpZWxkc1N0YXRlLm1vbnRoKCksCi0gICAg
ICAgIGRhdGVUaW1lRmllbGRzU3RhdGUuZGF5T2ZNb250aCgpLAotICAgICAgICBkYXRlVGltZUZp
ZWxkc1N0YXRlLmhvdXIyMygpLAotICAgICAgICBkYXRlVGltZUZpZWxkc1N0YXRlLm1pbnV0ZSgp
KTsKLX0KLQotdm9pZCBEYXRlVGltZUxvY2FsSW5wdXRUeXBlOjpzZXR1cExheW91dFBhcmFtZXRl
cnMoRGF0ZVRpbWVFZGl0RWxlbWVudDo6TGF5b3V0UGFyYW1ldGVycyYgbGF5b3V0UGFyYW1ldGVy
cywgY29uc3QgRGF0ZUNvbXBvbmVudHMmIGRhdGUpIGNvbnN0Ci17Ci0gICAgaWYgKHNob3VsZEhh
dmVTZWNvbmRGaWVsZChkYXRlKSkgewotICAgICAgICBsYXlvdXRQYXJhbWV0ZXJzLmRhdGVUaW1l
Rm9ybWF0ID0gbGF5b3V0UGFyYW1ldGVycy5sb2NhbGUuZGF0ZVRpbWVGb3JtYXRXaXRoU2Vjb25k
cygpOwotICAgICAgICBsYXlvdXRQYXJhbWV0ZXJzLmZhbGxiYWNrRGF0ZVRpbWVGb3JtYXQgPSAi
eXl5eS1NTS1kZCdUJ0hIOm1tOnNzIjsKLSAgICB9IGVsc2UgewotICAgICAgICBsYXlvdXRQYXJh
bWV0ZXJzLmRhdGVUaW1lRm9ybWF0ID0gbGF5b3V0UGFyYW1ldGVycy5sb2NhbGUuZGF0ZVRpbWVG
b3JtYXRXaXRob3V0U2Vjb25kcygpOwotICAgICAgICBsYXlvdXRQYXJhbWV0ZXJzLmZhbGxiYWNr
RGF0ZVRpbWVGb3JtYXQgPSAieXl5eS1NTS1kZCdUJ0hIOm1tIjsKLSAgICB9Ci0gICAgaWYgKCFw
YXJzZVRvRGF0ZUNvbXBvbmVudHMoZWxlbWVudCgpLT5mYXN0R2V0QXR0cmlidXRlKG1pbkF0dHIp
LCAmbGF5b3V0UGFyYW1ldGVycy5taW5pbXVtKSkKLSAgICAgICAgbGF5b3V0UGFyYW1ldGVycy5t
aW5pbXVtID0gRGF0ZUNvbXBvbmVudHMoKTsKLSAgICBpZiAoIXBhcnNlVG9EYXRlQ29tcG9uZW50
cyhlbGVtZW50KCktPmZhc3RHZXRBdHRyaWJ1dGUobWF4QXR0ciksICZsYXlvdXRQYXJhbWV0ZXJz
Lm1heGltdW0pKQotICAgICAgICBsYXlvdXRQYXJhbWV0ZXJzLm1heGltdW0gPSBEYXRlQ29tcG9u
ZW50cygpOwotICAgIGxheW91dFBhcmFtZXRlcnMucGxhY2Vob2xkZXJGb3JEYXkgPSBwbGFjZWhv
bGRlckZvckRheU9mTW9udGhGaWVsZCgpOwotICAgIGxheW91dFBhcmFtZXRlcnMucGxhY2Vob2xk
ZXJGb3JNb250aCA9IHBsYWNlaG9sZGVyRm9yTW9udGhGaWVsZCgpOwotICAgIGxheW91dFBhcmFt
ZXRlcnMucGxhY2Vob2xkZXJGb3JZZWFyID0gcGxhY2Vob2xkZXJGb3JZZWFyRmllbGQoKTsKLX0K
LQotYm9vbCBEYXRlVGltZUxvY2FsSW5wdXRUeXBlOjppc1ZhbGlkRm9ybWF0KGJvb2wgaGFzWWVh
ciwgYm9vbCBoYXNNb250aCwgYm9vbCBoYXNXZWVrLCBib29sIGhhc0RheSwgYm9vbCBoYXNBTVBN
LCBib29sIGhhc0hvdXIsIGJvb2wgaGFzTWludXRlLCBib29sIGhhc1NlY29uZCkgY29uc3QKLXsK
LSAgICByZXR1cm4gaGFzWWVhciAmJiBoYXNNb250aCAmJiBoYXNEYXkgJiYgaGFzQU1QTSAmJiBo
YXNIb3VyICYmIGhhc01pbnV0ZTsKLX0KLSNlbmRpZgotCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3Jl
CiAKICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9EYXRlVGltZUxvY2Fs
SW5wdXRUeXBlLmggYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0RhdGVUaW1lTG9jYWxJbnB1dFR5cGUu
aAppbmRleCBiMTZhYmU4NDI3Mzg0ZDUwMGU5MDYyZWQzZGUxOTMzMWNiNGVmMmFiLi5jNmU0Y2Jj
YWNmNGU1NDVmMjAxMzVhYTAzYzE2YmE4NTljMjFhODQ5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9odG1sL0RhdGVUaW1lTG9jYWxJbnB1dFR5cGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9o
dG1sL0RhdGVUaW1lTG9jYWxJbnB1dFR5cGUuaApAQCAtMzMsMTcgKzMzLDEwIEBACiAKICNpZiBF
TkFCTEUoSU5QVVRfVFlQRV9EQVRFVElNRUxPQ0FMKQogI2luY2x1ZGUgIkJhc2VDaG9vc2VyT25s
eURhdGVBbmRUaW1lSW5wdXRUeXBlLmgiCi0jaW5jbHVkZSAiQmFzZU11bHRpcGxlRmllbGRzRGF0
ZUFuZFRpbWVJbnB1dFR5cGUuaCIKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi0jaWYgRU5BQkxF
KElOUFVUX01VTFRJUExFX0ZJRUxEU19VSSkKLXR5cGVkZWYgQmFzZU11bHRpcGxlRmllbGRzRGF0
ZUFuZFRpbWVJbnB1dFR5cGUgQmFzZURhdGVUaW1lTG9jYWxJbnB1dFR5cGU7Ci0jZWxzZQotdHlw
ZWRlZiBCYXNlQ2hvb3Nlck9ubHlEYXRlQW5kVGltZUlucHV0VHlwZSBCYXNlRGF0ZVRpbWVMb2Nh
bElucHV0VHlwZTsKLSNlbmRpZgotCi1jbGFzcyBEYXRlVGltZUxvY2FsSW5wdXRUeXBlIDogcHVi
bGljIEJhc2VEYXRlVGltZUxvY2FsSW5wdXRUeXBlIHsKK2NsYXNzIERhdGVUaW1lTG9jYWxJbnB1
dFR5cGUgOiBwdWJsaWMgQmFzZUNob29zZXJPbmx5RGF0ZUFuZFRpbWVJbnB1dFR5cGUgewogcHVi
bGljOgogICAgIHN0YXRpYyBQYXNzT3duUHRyPElucHV0VHlwZT4gY3JlYXRlKEhUTUxJbnB1dEVs
ZW1lbnQqKTsKIApAQCAtNTgsMTMgKzUxLDYgQEAgcHJpdmF0ZToKICAgICB2aXJ0dWFsIGJvb2wg
cGFyc2VUb0RhdGVDb21wb25lbnRzSW50ZXJuYWwoY29uc3QgVUNoYXIqLCB1bnNpZ25lZCBsZW5n
dGgsIERhdGVDb21wb25lbnRzKikgY29uc3QgT1ZFUlJJREU7CiAgICAgdmlydHVhbCBib29sIHNl
dE1pbGxpc2Vjb25kVG9EYXRlQ29tcG9uZW50cyhkb3VibGUsIERhdGVDb21wb25lbnRzKikgY29u
c3QgT1ZFUlJJREU7CiAgICAgdmlydHVhbCBib29sIGlzRGF0ZVRpbWVMb2NhbEZpZWxkKCkgY29u
c3QgT1ZFUlJJREU7Ci0KLSNpZiBFTkFCTEUoSU5QVVRfTVVMVElQTEVfRklFTERTX1VJKQotICAg
IC8vIEJhc2VNdWx0aXBsZUZpZWxkc0RhdGVBbmRUaW1lSW5wdXRUeXBlIGZ1bmN0aW9ucwotICAg
IHZpcnR1YWwgU3RyaW5nIGZvcm1hdERhdGVUaW1lRmllbGRzU3RhdGUoY29uc3QgRGF0ZVRpbWVG
aWVsZHNTdGF0ZSYpIGNvbnN0IE9WRVJSSURFIEZJTkFMOwotICAgIHZpcnR1YWwgdm9pZCBzZXR1
cExheW91dFBhcmFtZXRlcnMoRGF0ZVRpbWVFZGl0RWxlbWVudDo6TGF5b3V0UGFyYW1ldGVycyYs
IGNvbnN0IERhdGVDb21wb25lbnRzJikgY29uc3QgT1ZFUlJJREUgRklOQUw7Ci0gICAgdmlydHVh
bCBib29sIGlzVmFsaWRGb3JtYXQoYm9vbCBoYXNZZWFyLCBib29sIGhhc01vbnRoLCBib29sIGhh
c1dlZWssIGJvb2wgaGFzRGF5LCBib29sIGhhc0FNUE0sIGJvb2wgaGFzSG91ciwgYm9vbCBoYXNN
aW51dGUsIGJvb2wgaGFzU2Vjb25kKSBjb25zdDsKLSNlbmRpZgogfTsKIAogfSAvLyBuYW1lc3Bh
Y2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MSW5wdXRFbGVt
ZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTElucHV0RWxlbWVudC5jcHAKaW5kZXgg
NTMxMzNmMjM1NjFhNmJlN2JmZDgyZTUyZDQ4NzM1MzIzMjA5ZTljNi4uYWZjMzhmMjY0MDhhNGJm
NTlmOTZjMjZjMTE1ZTBlZTljNDBjNTdmNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRt
bC9IVE1MSW5wdXRFbGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxJbnB1
dEVsZW1lbnQuY3BwCkBAIC0xMzksOSArMTM5LDYgQEAgSFRNTElucHV0RWxlbWVudDo6SFRNTElu
cHV0RWxlbWVudChjb25zdCBRdWFsaWZpZWROYW1lJiB0YWdOYW1lLCBEb2N1bWVudCogZG9jdW0K
ICAgICAsIG1faW5wdXRUeXBlKElucHV0VHlwZTo6Y3JlYXRlVGV4dCh0aGlzKSkKIHsKICAgICBB
U1NFUlQoaGFzVGFnTmFtZShpbnB1dFRhZykgfHwgaGFzVGFnTmFtZShpc2luZGV4VGFnKSk7Ci0j
aWYgRU5BQkxFKElOUFVUX01VTFRJUExFX0ZJRUxEU19VSSkKLSAgICBzZXRIYXNDdXN0b21TdHls
ZUNhbGxiYWNrcygpOwotI2VuZGlmCiB9CiAKIFBhc3NSZWZQdHI8SFRNTElucHV0RWxlbWVudD4g
SFRNTElucHV0RWxlbWVudDo6Y3JlYXRlKGNvbnN0IFF1YWxpZmllZE5hbWUmIHRhZ05hbWUsIERv
Y3VtZW50KiBkb2N1bWVudCwgSFRNTEZvcm1FbGVtZW50KiBmb3JtLCBib29sIGNyZWF0ZWRCeVBh
cnNlcikKQEAgLTE5NjksMTEgKzE5NjYsNCBAQCBib29sIEhUTUxJbnB1dEVsZW1lbnQ6OnNldHVw
RGF0ZVRpbWVDaG9vc2VyUGFyYW1ldGVycyhEYXRlVGltZUNob29zZXJQYXJhbWV0ZXJzJgogfQog
I2VuZGlmCiAKLSNpZiBFTkFCTEUoSU5QVVRfTVVMVElQTEVfRklFTERTX1VJKQotUGFzc1JlZlB0
cjxSZW5kZXJTdHlsZT4gSFRNTElucHV0RWxlbWVudDo6Y3VzdG9tU3R5bGVGb3JSZW5kZXJlcigp
Ci17Ci0gICAgcmV0dXJuIG1faW5wdXRUeXBlLT5jdXN0b21TdHlsZUZvclJlbmRlcmVyKGRvY3Vt
ZW50KCktPmVuc3VyZVN0eWxlUmVzb2x2ZXIoKS0+c3R5bGVGb3JFbGVtZW50KHRoaXMpKTsKLX0K
LSNlbmRpZgotCiB9IC8vIG5hbWVzcGFjZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRt
bC9IVE1MSW5wdXRFbGVtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxJbnB1dEVsZW1l
bnQuaAppbmRleCBlNDYyMjg2YTliN2I3NjljNDNiMzNkMDhhYmZlZTUwZGRiYTFmYmQ2Li44MTAx
ZTNiZjM4NTFjMjMxZTY5MjkxODJiNWYwZmYzY2M5OTcxMzgwIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9odG1sL0hUTUxJbnB1dEVsZW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1s
L0hUTUxJbnB1dEVsZW1lbnQuaApAQCAtNDA0LDkgKzQwNCw2IEBAIHByaXZhdGU6CiAgICAgQ2hl
Y2tlZFJhZGlvQnV0dG9ucyogY2hlY2tlZFJhZGlvQnV0dG9ucygpIGNvbnN0OwogICAgIHZvaWQg
YWRkVG9SYWRpb0J1dHRvbkdyb3VwKCk7CiAgICAgdm9pZCByZW1vdmVGcm9tUmFkaW9CdXR0b25H
cm91cCgpOwotI2lmIEVOQUJMRShJTlBVVF9NVUxUSVBMRV9GSUVMRFNfVUkpCi0gICAgdmlydHVh
bCBQYXNzUmVmUHRyPFJlbmRlclN0eWxlPiBjdXN0b21TdHlsZUZvclJlbmRlcmVyKCkgT1ZFUlJJ
REU7Ci0jZW5kaWYKIAogICAgIEF0b21pY1N0cmluZyBtX25hbWU7CiAgICAgU3RyaW5nIG1fdmFs
dWVJZkRpcnR5OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9JbnB1dFR5cGUuY3Bw
IGIvU291cmNlL1dlYkNvcmUvaHRtbC9JbnB1dFR5cGUuY3BwCmluZGV4IDRhMDRmMWQxMTg1OWJk
NWY5NDAyMGFmODc1ODVkNzliZGZkMTA2NGIuLmRlMGFhNzE1MzAwNjI5NGI1YTZlMjk5M2QxM2M3
ZDIyY2QyZGI3Y2UgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSW5wdXRUeXBlLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0lucHV0VHlwZS5jcHAKQEAgLTQ2NSwxMSArNDY1
LDYgQEAgUmVuZGVyT2JqZWN0KiBJbnB1dFR5cGU6OmNyZWF0ZVJlbmRlcmVyKFJlbmRlckFyZW5h
KiwgUmVuZGVyU3R5bGUqIHN0eWxlKSBjb25zdAogICAgIHJldHVybiBSZW5kZXJPYmplY3Q6OmNy
ZWF0ZU9iamVjdChlbGVtZW50KCksIHN0eWxlKTsKIH0KIAotUGFzc1JlZlB0cjxSZW5kZXJTdHls
ZT4gSW5wdXRUeXBlOjpjdXN0b21TdHlsZUZvclJlbmRlcmVyKFBhc3NSZWZQdHI8UmVuZGVyU3R5
bGU+IG9yaWdpbmFsU3R5bGUpCi17Ci0gICAgcmV0dXJuIG9yaWdpbmFsU3R5bGU7Ci19Ci0KIHZv
aWQgSW5wdXRUeXBlOjpibHVyKCkKIHsKICAgICBlbGVtZW50KCktPmRlZmF1bHRCbHVyKCk7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0lucHV0VHlwZS5oIGIvU291cmNlL1dlYkNv
cmUvaHRtbC9JbnB1dFR5cGUuaAppbmRleCAzZmQ1MzFlMGFmZWExNDQwNGY2ZjhiZWY4MTVkOTkw
ZGYxMzlkN2RmLi5kN2IyNDViZTAzYTVjOGVkM2M0YTgxOWQ0NmE3NWFmNDgzN2NiYjUzIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0lucHV0VHlwZS5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2h0bWwvSW5wdXRUeXBlLmgKQEAgLTIzNyw3ICsyMzcsNiBAQCBwdWJsaWM6CiAKICAgICB2
aXJ0dWFsIGJvb2wgcmVuZGVyZXJJc05lZWRlZCgpOwogICAgIHZpcnR1YWwgUmVuZGVyT2JqZWN0
KiBjcmVhdGVSZW5kZXJlcihSZW5kZXJBcmVuYSosIFJlbmRlclN0eWxlKikgY29uc3Q7Ci0gICAg
dmlydHVhbCBQYXNzUmVmUHRyPFJlbmRlclN0eWxlPiBjdXN0b21TdHlsZUZvclJlbmRlcmVyKFBh
c3NSZWZQdHI8UmVuZGVyU3R5bGU+KTsKICAgICB2aXJ0dWFsIHZvaWQgYWRkU2VhcmNoUmVzdWx0
KCk7CiAgICAgdmlydHVhbCB2b2lkIGF0dGFjaCgpOwogICAgIHZpcnR1YWwgdm9pZCBkZXRhY2go
KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvTW9udGhJbnB1dFR5cGUuY3BwIGIv
U291cmNlL1dlYkNvcmUvaHRtbC9Nb250aElucHV0VHlwZS5jcHAKaW5kZXggZGI4MGNiZjM3Yjdj
YzMxNGY3ZWQ3NTk3YWM5MjMyMDMzOWZiMTdmYi4uYWNhYTMyOWRmNjUwY2I5MGFjMGE3OTVlYzk3
YTFiOTljMWIyMmYyYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9Nb250aElucHV0
VHlwZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9Nb250aElucHV0VHlwZS5jcHAKQEAg
LTQxLDEzICs0MSw2IEBACiAjaW5jbHVkZSA8d3RmL01hdGhFeHRyYXMuaD4KICNpbmNsdWRlIDx3
dGYvUGFzc093blB0ci5oPgogCi0jaWYgRU5BQkxFKElOUFVUX01VTFRJUExFX0ZJRUxEU19VSSkK
LSNpbmNsdWRlICJEYXRlVGltZUZpZWxkc1N0YXRlLmgiCi0jaW5jbHVkZSAiTG9jYWxpemVkU3Ry
aW5ncy5oIgotI2luY2x1ZGUgIlBsYXRmb3JtTG9jYWxlLmgiCi0jaW5jbHVkZSA8d3RmL3RleHQv
V1RGU3RyaW5nLmg+Ci0jZW5kaWYKLQogbmFtZXNwYWNlIFdlYkNvcmUgewogCiB1c2luZyBuYW1l
c3BhY2UgSFRNTE5hbWVzOwpAQCAtMTQ4LDMxICsxNDEsNiBAQCBib29sIE1vbnRoSW5wdXRUeXBl
Ojppc01vbnRoRmllbGQoKSBjb25zdAogICAgIHJldHVybiB0cnVlOwogfQogCi0jaWYgRU5BQkxF
KElOUFVUX01VTFRJUExFX0ZJRUxEU19VSSkKLVN0cmluZyBNb250aElucHV0VHlwZTo6Zm9ybWF0
RGF0ZVRpbWVGaWVsZHNTdGF0ZShjb25zdCBEYXRlVGltZUZpZWxkc1N0YXRlJiBkYXRlVGltZUZp
ZWxkc1N0YXRlKSBjb25zdAotewotICAgIGlmICghZGF0ZVRpbWVGaWVsZHNTdGF0ZS5oYXNNb250
aCgpIHx8ICFkYXRlVGltZUZpZWxkc1N0YXRlLmhhc1llYXIoKSkKLSAgICAgICAgcmV0dXJuIGVt
cHR5U3RyaW5nKCk7Ci0gICAgcmV0dXJuIFN0cmluZzo6Zm9ybWF0KCIlMDR1LSUwMnUiLCBkYXRl
VGltZUZpZWxkc1N0YXRlLnllYXIoKSwgZGF0ZVRpbWVGaWVsZHNTdGF0ZS5tb250aCgpKTsKLX0K
LQotdm9pZCBNb250aElucHV0VHlwZTo6c2V0dXBMYXlvdXRQYXJhbWV0ZXJzKERhdGVUaW1lRWRp
dEVsZW1lbnQ6OkxheW91dFBhcmFtZXRlcnMmIGxheW91dFBhcmFtZXRlcnMsIGNvbnN0IERhdGVD
b21wb25lbnRzJiBkYXRlKSBjb25zdAotewotICAgIGxheW91dFBhcmFtZXRlcnMuZGF0ZVRpbWVG
b3JtYXQgPSBsYXlvdXRQYXJhbWV0ZXJzLmxvY2FsZS5tb250aEZvcm1hdCgpOwotICAgIGxheW91
dFBhcmFtZXRlcnMuZmFsbGJhY2tEYXRlVGltZUZvcm1hdCA9ICJ5eXl5LU1NIjsKLSAgICBpZiAo
IXBhcnNlVG9EYXRlQ29tcG9uZW50cyhlbGVtZW50KCktPmZhc3RHZXRBdHRyaWJ1dGUobWluQXR0
ciksICZsYXlvdXRQYXJhbWV0ZXJzLm1pbmltdW0pKQotICAgICAgICBsYXlvdXRQYXJhbWV0ZXJz
Lm1pbmltdW0gPSBEYXRlQ29tcG9uZW50cygpOwotICAgIGlmICghcGFyc2VUb0RhdGVDb21wb25l
bnRzKGVsZW1lbnQoKS0+ZmFzdEdldEF0dHJpYnV0ZShtYXhBdHRyKSwgJmxheW91dFBhcmFtZXRl
cnMubWF4aW11bSkpCi0gICAgICAgIGxheW91dFBhcmFtZXRlcnMubWF4aW11bSA9IERhdGVDb21w
b25lbnRzKCk7Ci0gICAgbGF5b3V0UGFyYW1ldGVycy5wbGFjZWhvbGRlckZvck1vbnRoID0gIi0t
IjsKLSAgICBsYXlvdXRQYXJhbWV0ZXJzLnBsYWNlaG9sZGVyRm9yWWVhciA9ICItLS0tIjsKLX0K
LQotYm9vbCBNb250aElucHV0VHlwZTo6aXNWYWxpZEZvcm1hdChib29sIGhhc1llYXIsIGJvb2wg
aGFzTW9udGgsIGJvb2wgaGFzV2VlaywgYm9vbCBoYXNEYXksIGJvb2wgaGFzQU1QTSwgYm9vbCBo
YXNIb3VyLCBib29sIGhhc01pbnV0ZSwgYm9vbCBoYXNTZWNvbmQpIGNvbnN0Ci17Ci0gICAgcmV0
dXJuIGhhc1llYXIgJiYgaGFzTW9udGg7Ci19Ci0jZW5kaWYKIH0gLy8gbmFtZXNwYWNlIFdlYkNv
cmUKIAogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL01vbnRoSW5wdXRU
eXBlLmggYi9Tb3VyY2UvV2ViQ29yZS9odG1sL01vbnRoSW5wdXRUeXBlLmgKaW5kZXggOGZhZTVi
YmU3YjA1YjdlYTVkZmNiOGE0Mzc0NTkyMmQ5NjlhYTBjMC4uZWU1MjU5NWM1MjAzMTc4NTkxNzYx
MGJkMzBhOWU1ZGE3YTZlOGYzYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9Nb250
aElucHV0VHlwZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvTW9udGhJbnB1dFR5cGUuaApA
QCAtMzMsMTcgKzMzLDEwIEBACiAKICNpZiBFTkFCTEUoSU5QVVRfVFlQRV9NT05USCkKICNpbmNs
dWRlICJCYXNlQ2hvb3Nlck9ubHlEYXRlQW5kVGltZUlucHV0VHlwZS5oIgotI2luY2x1ZGUgIkJh
c2VNdWx0aXBsZUZpZWxkc0RhdGVBbmRUaW1lSW5wdXRUeXBlLmgiCiAKIG5hbWVzcGFjZSBXZWJD
b3JlIHsKIAotI2lmIEVOQUJMRShJTlBVVF9NVUxUSVBMRV9GSUVMRFNfVUkpCi10eXBlZGVmIEJh
c2VNdWx0aXBsZUZpZWxkc0RhdGVBbmRUaW1lSW5wdXRUeXBlIEJhc2VNb250aElucHV0VHlwZTsK
LSNlbHNlCi10eXBlZGVmIEJhc2VDaG9vc2VyT25seURhdGVBbmRUaW1lSW5wdXRUeXBlIEJhc2VN
b250aElucHV0VHlwZTsKLSNlbmRpZgotCi1jbGFzcyBNb250aElucHV0VHlwZSA6IHB1YmxpYyBC
YXNlTW9udGhJbnB1dFR5cGUgeworY2xhc3MgTW9udGhJbnB1dFR5cGUgOiBwdWJsaWMgQmFzZUNo
b29zZXJPbmx5RGF0ZUFuZFRpbWVJbnB1dFR5cGUgewogcHVibGljOgogICAgIHN0YXRpYyBQYXNz
T3duUHRyPElucHV0VHlwZT4gY3JlYXRlKEhUTUxJbnB1dEVsZW1lbnQqKTsKIApAQCAtNjAsMTMg
KzUzLDYgQEAgcHJpdmF0ZToKICAgICB2aXJ0dWFsIGJvb2wgcGFyc2VUb0RhdGVDb21wb25lbnRz
SW50ZXJuYWwoY29uc3QgVUNoYXIqLCB1bnNpZ25lZCBsZW5ndGgsIERhdGVDb21wb25lbnRzKikg
Y29uc3QgT1ZFUlJJREU7CiAgICAgdmlydHVhbCBib29sIHNldE1pbGxpc2Vjb25kVG9EYXRlQ29t
cG9uZW50cyhkb3VibGUsIERhdGVDb21wb25lbnRzKikgY29uc3QgT1ZFUlJJREU7CiAgICAgdmly
dHVhbCBib29sIGlzTW9udGhGaWVsZCgpIGNvbnN0IE9WRVJSSURFOwotCi0jaWYgRU5BQkxFKElO
UFVUX01VTFRJUExFX0ZJRUxEU19VSSkKLSAgICAvLyBCYXNlTXVsdGlwbGVGaWVsZHNEYXRlQW5k
VGltZUlucHV0VHlwZSBmdW5jdGlvbnMKLSAgICB2aXJ0dWFsIFN0cmluZyBmb3JtYXREYXRlVGlt
ZUZpZWxkc1N0YXRlKGNvbnN0IERhdGVUaW1lRmllbGRzU3RhdGUmKSBjb25zdCBPVkVSUklERSBG
SU5BTDsKLSAgICB2aXJ0dWFsIHZvaWQgc2V0dXBMYXlvdXRQYXJhbWV0ZXJzKERhdGVUaW1lRWRp
dEVsZW1lbnQ6OkxheW91dFBhcmFtZXRlcnMmLCBjb25zdCBEYXRlQ29tcG9uZW50cyYpIGNvbnN0
IE9WRVJSSURFIEZJTkFMOwotICAgIHZpcnR1YWwgYm9vbCBpc1ZhbGlkRm9ybWF0KGJvb2wgaGFz
WWVhciwgYm9vbCBoYXNNb250aCwgYm9vbCBoYXNXZWVrLCBib29sIGhhc0RheSwgYm9vbCBoYXNB
TVBNLCBib29sIGhhc0hvdXIsIGJvb2wgaGFzTWludXRlLCBib29sIGhhc1NlY29uZCkgY29uc3Q7
Ci0jZW5kaWYKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvVGltZUlucHV0VHlwZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL1Rp
bWVJbnB1dFR5cGUuY3BwCmluZGV4IDJiNmJiYzA3Y2RjZjdkZWQyOTVlYTU3NTQyMjdlN2E3ZjJj
MTk1MjEuLjcxZGI4Y2ExMDk3MTRkY2NkNmZkZDQzN2M3Y2YxMWZkNGQ2OGUxZmEgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvVGltZUlucHV0VHlwZS5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvaHRtbC9UaW1lSW5wdXRUeXBlLmNwcApAQCAtNDEsMTIgKzQxLDYgQEAKICNpbmNsdWRl
IDx3dGYvTWF0aEV4dHJhcy5oPgogI2luY2x1ZGUgPHd0Zi9QYXNzT3duUHRyLmg+CiAKLSNpZiBF
TkFCTEUoSU5QVVRfTVVMVElQTEVfRklFTERTX1VJKQotI2luY2x1ZGUgIkRhdGVUaW1lRmllbGRz
U3RhdGUuaCIKLSNpbmNsdWRlICJQbGF0Zm9ybUxvY2FsZS5oIgotI2luY2x1ZGUgPHd0Zi90ZXh0
L1dURlN0cmluZy5oPgotI2VuZGlmCi0KIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogdXNpbmcgbmFt
ZXNwYWNlIEhUTUxOYW1lczsKQEAgLTEyNCw1OSArMTE4LDYgQEAgYm9vbCBUaW1lSW5wdXRUeXBl
Ojppc1RpbWVGaWVsZCgpIGNvbnN0CiAgICAgcmV0dXJuIHRydWU7CiB9CiAKLSNpZiBFTkFCTEUo
SU5QVVRfTVVMVElQTEVfRklFTERTX1VJKQotCi1TdHJpbmcgVGltZUlucHV0VHlwZTo6bG9jYWxp
emVWYWx1ZShjb25zdCBTdHJpbmcmIHByb3Bvc2VkVmFsdWUpIGNvbnN0Ci17Ci0gICAgRGF0ZUNv
bXBvbmVudHMgZGF0ZTsKLSAgICBpZiAoIXBhcnNlVG9EYXRlQ29tcG9uZW50cyhwcm9wb3NlZFZh
bHVlLCAmZGF0ZSkpCi0gICAgICAgIHJldHVybiBwcm9wb3NlZFZhbHVlOwotCi0gICAgTG9jYWxl
OjpGb3JtYXRUeXBlIGZvcm1hdFR5cGUgPSBzaG91bGRIYXZlU2Vjb25kRmllbGQoZGF0ZSkgPyBM
b2NhbGU6OkZvcm1hdFR5cGVNZWRpdW0gOiBMb2NhbGU6OkZvcm1hdFR5cGVTaG9ydDsKLQotICAg
IFN0cmluZyBsb2NhbGl6ZWQgPSBlbGVtZW50KCktPmxvY2FsZSgpLmZvcm1hdERhdGVUaW1lKGRh
dGUsIGZvcm1hdFR5cGUpOwotICAgIHJldHVybiBsb2NhbGl6ZWQuaXNFbXB0eSgpID8gcHJvcG9z
ZWRWYWx1ZSA6IGxvY2FsaXplZDsKLX0KLQotU3RyaW5nIFRpbWVJbnB1dFR5cGU6OmZvcm1hdERh
dGVUaW1lRmllbGRzU3RhdGUoY29uc3QgRGF0ZVRpbWVGaWVsZHNTdGF0ZSYgZGF0ZVRpbWVGaWVs
ZHNTdGF0ZSkgY29uc3QKLXsKLSAgICBpZiAoIWRhdGVUaW1lRmllbGRzU3RhdGUuaGFzSG91cigp
IHx8ICFkYXRlVGltZUZpZWxkc1N0YXRlLmhhc01pbnV0ZSgpIHx8ICFkYXRlVGltZUZpZWxkc1N0
YXRlLmhhc0FNUE0oKSkKLSAgICAgICAgcmV0dXJuIGVtcHR5U3RyaW5nKCk7Ci0gICAgaWYgKGRh
dGVUaW1lRmllbGRzU3RhdGUuaGFzTWlsbGlzZWNvbmQoKSAmJiBkYXRlVGltZUZpZWxkc1N0YXRl
Lm1pbGxpc2Vjb25kKCkpCi0gICAgICAgIHJldHVybiBTdHJpbmc6OmZvcm1hdCgiJTAydTolMDJ1
OiUwMnUuJTAzdSIsCi0gICAgICAgICAgICAgICAgZGF0ZVRpbWVGaWVsZHNTdGF0ZS5ob3VyMjMo
KSwKLSAgICAgICAgICAgICAgICBkYXRlVGltZUZpZWxkc1N0YXRlLm1pbnV0ZSgpLAotICAgICAg
ICAgICAgICAgIGRhdGVUaW1lRmllbGRzU3RhdGUuaGFzU2Vjb25kKCkgPyBkYXRlVGltZUZpZWxk
c1N0YXRlLnNlY29uZCgpIDogMCwKLSAgICAgICAgICAgICAgICBkYXRlVGltZUZpZWxkc1N0YXRl
Lm1pbGxpc2Vjb25kKCkpOwotICAgIGlmIChkYXRlVGltZUZpZWxkc1N0YXRlLmhhc1NlY29uZCgp
ICYmIGRhdGVUaW1lRmllbGRzU3RhdGUuc2Vjb25kKCkpCi0gICAgICAgIHJldHVybiBTdHJpbmc6
OmZvcm1hdCgiJTAydTolMDJ1OiUwMnUiLAotICAgICAgICAgICAgICAgIGRhdGVUaW1lRmllbGRz
U3RhdGUuaG91cjIzKCksCi0gICAgICAgICAgICAgICAgZGF0ZVRpbWVGaWVsZHNTdGF0ZS5taW51
dGUoKSwKLSAgICAgICAgICAgICAgICBkYXRlVGltZUZpZWxkc1N0YXRlLnNlY29uZCgpKTsKLSAg
ICByZXR1cm4gU3RyaW5nOjpmb3JtYXQoIiUwMnU6JTAydSIsIGRhdGVUaW1lRmllbGRzU3RhdGUu
aG91cjIzKCksIGRhdGVUaW1lRmllbGRzU3RhdGUubWludXRlKCkpOwotfQotCi12b2lkIFRpbWVJ
bnB1dFR5cGU6OnNldHVwTGF5b3V0UGFyYW1ldGVycyhEYXRlVGltZUVkaXRFbGVtZW50OjpMYXlv
dXRQYXJhbWV0ZXJzJiBsYXlvdXRQYXJhbWV0ZXJzLCBjb25zdCBEYXRlQ29tcG9uZW50cyYgZGF0
ZSkgY29uc3QKLXsKLSAgICBpZiAoc2hvdWxkSGF2ZVNlY29uZEZpZWxkKGRhdGUpKSB7Ci0gICAg
ICAgIGxheW91dFBhcmFtZXRlcnMuZGF0ZVRpbWVGb3JtYXQgPSBsYXlvdXRQYXJhbWV0ZXJzLmxv
Y2FsZS50aW1lRm9ybWF0KCk7Ci0gICAgICAgIGxheW91dFBhcmFtZXRlcnMuZmFsbGJhY2tEYXRl
VGltZUZvcm1hdCA9ICJISDptbTpzcyI7Ci0gICAgfSBlbHNlIHsKLSAgICAgICAgbGF5b3V0UGFy
YW1ldGVycy5kYXRlVGltZUZvcm1hdCA9IGxheW91dFBhcmFtZXRlcnMubG9jYWxlLnNob3J0VGlt
ZUZvcm1hdCgpOwotICAgICAgICBsYXlvdXRQYXJhbWV0ZXJzLmZhbGxiYWNrRGF0ZVRpbWVGb3Jt
YXQgPSAiSEg6bW0iOwotICAgIH0KLSAgICBpZiAoIXBhcnNlVG9EYXRlQ29tcG9uZW50cyhlbGVt
ZW50KCktPmZhc3RHZXRBdHRyaWJ1dGUobWluQXR0ciksICZsYXlvdXRQYXJhbWV0ZXJzLm1pbmlt
dW0pKQotICAgICAgICBsYXlvdXRQYXJhbWV0ZXJzLm1pbmltdW0gPSBEYXRlQ29tcG9uZW50cygp
OwotICAgIGlmICghcGFyc2VUb0RhdGVDb21wb25lbnRzKGVsZW1lbnQoKS0+ZmFzdEdldEF0dHJp
YnV0ZShtYXhBdHRyKSwgJmxheW91dFBhcmFtZXRlcnMubWF4aW11bSkpCi0gICAgICAgIGxheW91
dFBhcmFtZXRlcnMubWF4aW11bSA9IERhdGVDb21wb25lbnRzKCk7Ci19Ci0KLWJvb2wgVGltZUlu
cHV0VHlwZTo6aXNWYWxpZEZvcm1hdChib29sIGhhc1llYXIsIGJvb2wgaGFzTW9udGgsIGJvb2wg
aGFzV2VlaywgYm9vbCBoYXNEYXksIGJvb2wgaGFzQU1QTSwgYm9vbCBoYXNIb3VyLCBib29sIGhh
c01pbnV0ZSwgYm9vbCBoYXNTZWNvbmQpIGNvbnN0Ci17Ci0gICAgcmV0dXJuIGhhc0hvdXIgJiYg
aGFzTWludXRlICYmIGhhc0FNUE07Ci19Ci0jZW5kaWYKLQogfSAvLyBuYW1lc3BhY2UgV2ViQ29y
ZQogCiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvVGltZUlucHV0VHlw
ZS5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9UaW1lSW5wdXRUeXBlLmgKaW5kZXggMTZmNTE5ZTdk
MzkzYzcyOTk1OGNjODQxNTcwNTJiZDVkYzkzZjIxYS4uMGI1NmQ5MzU3MzcxMTA0OTU3ZGM0YTk2
YmE2NzNhMWU3MWM3MTg2NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9UaW1lSW5w
dXRUeXBlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9UaW1lSW5wdXRUeXBlLmgKQEAgLTMz
LDE3ICszMywxMCBAQAogCiAjaWYgRU5BQkxFKElOUFVUX1RZUEVfVElNRSkKICNpbmNsdWRlICJC
YXNlQ2hvb3Nlck9ubHlEYXRlQW5kVGltZUlucHV0VHlwZS5oIgotI2luY2x1ZGUgIkJhc2VNdWx0
aXBsZUZpZWxkc0RhdGVBbmRUaW1lSW5wdXRUeXBlLmgiCiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsK
IAotI2lmIEVOQUJMRShJTlBVVF9NVUxUSVBMRV9GSUVMRFNfVUkpCi10eXBlZGVmIEJhc2VNdWx0
aXBsZUZpZWxkc0RhdGVBbmRUaW1lSW5wdXRUeXBlIEJhc2VUaW1lSW5wdXRUeXBlOwotI2Vsc2UK
LXR5cGVkZWYgQmFzZUNob29zZXJPbmx5RGF0ZUFuZFRpbWVJbnB1dFR5cGUgQmFzZVRpbWVJbnB1
dFR5cGU7Ci0jZW5kaWYKLQotY2xhc3MgVGltZUlucHV0VHlwZSA6IHB1YmxpYyBCYXNlVGltZUlu
cHV0VHlwZSB7CitjbGFzcyBUaW1lSW5wdXRUeXBlIDogcHVibGljIEJhc2VDaG9vc2VyT25seURh
dGVBbmRUaW1lSW5wdXRUeXBlIHsKIHB1YmxpYzoKICAgICBzdGF0aWMgUGFzc093blB0cjxJbnB1
dFR5cGU+IGNyZWF0ZShIVE1MSW5wdXRFbGVtZW50Kik7CiAKQEAgLTU3LDE0ICs1MCw2IEBAIHBy
aXZhdGU6CiAgICAgdmlydHVhbCBib29sIHBhcnNlVG9EYXRlQ29tcG9uZW50c0ludGVybmFsKGNv
bnN0IFVDaGFyKiwgdW5zaWduZWQgbGVuZ3RoLCBEYXRlQ29tcG9uZW50cyopIGNvbnN0IE9WRVJS
SURFOwogICAgIHZpcnR1YWwgYm9vbCBzZXRNaWxsaXNlY29uZFRvRGF0ZUNvbXBvbmVudHMoZG91
YmxlLCBEYXRlQ29tcG9uZW50cyopIGNvbnN0IE9WRVJSSURFOwogICAgIHZpcnR1YWwgYm9vbCBp
c1RpbWVGaWVsZCgpIGNvbnN0IE9WRVJSSURFOwotI2lmIEVOQUJMRShJTlBVVF9NVUxUSVBMRV9G
SUVMRFNfVUkpCi0gICAgdmlydHVhbCBTdHJpbmcgbG9jYWxpemVWYWx1ZShjb25zdCBTdHJpbmcm
KSBjb25zdCBPVkVSUklERTsKLQotICAgIC8vIEJhc2VNdWx0aXBsZUZpZWxkc0RhdGVBbmRUaW1l
SW5wdXRUeXBlIGZ1bmN0aW9ucwotICAgIHZpcnR1YWwgU3RyaW5nIGZvcm1hdERhdGVUaW1lRmll
bGRzU3RhdGUoY29uc3QgRGF0ZVRpbWVGaWVsZHNTdGF0ZSYpIGNvbnN0IE9WRVJSSURFIEZJTkFM
OwotICAgIHZpcnR1YWwgdm9pZCBzZXR1cExheW91dFBhcmFtZXRlcnMoRGF0ZVRpbWVFZGl0RWxl
bWVudDo6TGF5b3V0UGFyYW1ldGVycyYsIGNvbnN0IERhdGVDb21wb25lbnRzJikgY29uc3QgT1ZF
UlJJREUgRklOQUw7Ci0gICAgdmlydHVhbCBib29sIGlzVmFsaWRGb3JtYXQoYm9vbCBoYXNZZWFy
LCBib29sIGhhc01vbnRoLCBib29sIGhhc1dlZWssIGJvb2wgaGFzRGF5LCBib29sIGhhc0FNUE0s
IGJvb2wgaGFzSG91ciwgYm9vbCBoYXNNaW51dGUsIGJvb2wgaGFzU2Vjb25kKSBjb25zdDsKLSNl
bmRpZgogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvaHRtbC9XZWVrSW5wdXRUeXBlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvV2Vla0lu
cHV0VHlwZS5jcHAKaW5kZXggYWQ4YjhkNTNmYjhmZmViMDA4YTllZmMwMzQwMDgyZTg3N2MwNzlk
ZC4uYmY0Nzk1OTU4NDhmMmM4M2FlZDFlZDU4YThkNWJlZTI2ZjBmYzkwNCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvaHRtbC9XZWVrSW5wdXRUeXBlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9odG1sL1dlZWtJbnB1dFR5cGUuY3BwCkBAIC0zOCwxMiArMzgsNiBAQAogI2luY2x1ZGUgIklu
cHV0VHlwZU5hbWVzLmgiCiAjaW5jbHVkZSA8d3RmL1Bhc3NPd25QdHIuaD4KIAotI2lmIEVOQUJM
RShJTlBVVF9NVUxUSVBMRV9GSUVMRFNfVUkpCi0jaW5jbHVkZSAiRGF0ZVRpbWVGaWVsZHNTdGF0
ZS5oIgotI2luY2x1ZGUgIkxvY2FsaXplZFN0cmluZ3MuaCIKLSNpbmNsdWRlIDx3dGYvdGV4dC9X
VEZTdHJpbmcuaD4KLSNlbmRpZgotCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIHVzaW5nIG5hbWVz
cGFjZSBIVE1MTmFtZXM7CkBAIC0xMDEsMzIgKzk1LDYgQEAgYm9vbCBXZWVrSW5wdXRUeXBlOjpp
c1dlZWtGaWVsZCgpIGNvbnN0CiAgICAgcmV0dXJuIHRydWU7CiB9CiAKLQotI2lmIEVOQUJMRShJ
TlBVVF9NVUxUSVBMRV9GSUVMRFNfVUkpCi1TdHJpbmcgV2Vla0lucHV0VHlwZTo6Zm9ybWF0RGF0
ZVRpbWVGaWVsZHNTdGF0ZShjb25zdCBEYXRlVGltZUZpZWxkc1N0YXRlJiBkYXRlVGltZUZpZWxk
c1N0YXRlKSBjb25zdAotewotICAgIGlmICghZGF0ZVRpbWVGaWVsZHNTdGF0ZS5oYXNZZWFyKCkg
fHwgIWRhdGVUaW1lRmllbGRzU3RhdGUuaGFzV2Vla09mWWVhcigpKQotICAgICAgICByZXR1cm4g
ZW1wdHlTdHJpbmcoKTsKLSAgICByZXR1cm4gU3RyaW5nOjpmb3JtYXQoIiUwNHUtVyUwMnUiLCBk
YXRlVGltZUZpZWxkc1N0YXRlLnllYXIoKSwgZGF0ZVRpbWVGaWVsZHNTdGF0ZS53ZWVrT2ZZZWFy
KCkpOwotfQotCi12b2lkIFdlZWtJbnB1dFR5cGU6OnNldHVwTGF5b3V0UGFyYW1ldGVycyhEYXRl
VGltZUVkaXRFbGVtZW50OjpMYXlvdXRQYXJhbWV0ZXJzJiBsYXlvdXRQYXJhbWV0ZXJzLCBjb25z
dCBEYXRlQ29tcG9uZW50cyYpIGNvbnN0Ci17Ci0gICAgbGF5b3V0UGFyYW1ldGVycy5kYXRlVGlt
ZUZvcm1hdCA9IHdlZWtGb3JtYXRJbkxETUwoKTsKLSAgICBsYXlvdXRQYXJhbWV0ZXJzLmZhbGxi
YWNrRGF0ZVRpbWVGb3JtYXQgPSAieXl5eS0nVyd3dyI7Ci0gICAgaWYgKCFwYXJzZVRvRGF0ZUNv
bXBvbmVudHMoZWxlbWVudCgpLT5mYXN0R2V0QXR0cmlidXRlKG1pbkF0dHIpLCAmbGF5b3V0UGFy
YW1ldGVycy5taW5pbXVtKSkKLSAgICAgICAgbGF5b3V0UGFyYW1ldGVycy5taW5pbXVtID0gRGF0
ZUNvbXBvbmVudHMoKTsKLSAgICBpZiAoIXBhcnNlVG9EYXRlQ29tcG9uZW50cyhlbGVtZW50KCkt
PmZhc3RHZXRBdHRyaWJ1dGUobWF4QXR0ciksICZsYXlvdXRQYXJhbWV0ZXJzLm1heGltdW0pKQot
ICAgICAgICBsYXlvdXRQYXJhbWV0ZXJzLm1heGltdW0gPSBEYXRlQ29tcG9uZW50cygpOwotICAg
IGxheW91dFBhcmFtZXRlcnMucGxhY2Vob2xkZXJGb3JZZWFyID0gIi0tLS0iOwotfQotCi1ib29s
IFdlZWtJbnB1dFR5cGU6OmlzVmFsaWRGb3JtYXQoYm9vbCBoYXNZZWFyLCBib29sIGhhc01vbnRo
LCBib29sIGhhc1dlZWssIGJvb2wgaGFzRGF5LCBib29sIGhhc0FNUE0sIGJvb2wgaGFzSG91ciwg
Ym9vbCBoYXNNaW51dGUsIGJvb2wgaGFzU2Vjb25kKSBjb25zdAotewotICAgIHJldHVybiBoYXNZ
ZWFyICYmIGhhc1dlZWs7Ci19Ci0jZW5kaWYKLQogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCiAj
ZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvV2Vla0lucHV0VHlwZS5oIGIv
U291cmNlL1dlYkNvcmUvaHRtbC9XZWVrSW5wdXRUeXBlLmgKaW5kZXggODllNzQzZDI4ZjY5Nzcz
OGY4MzExZDM3NjRiZDE0YjllODUwMzE5MC4uOTU0NTE4ZDZmNmQyZDU0MjgxMjFjMWY2NmMyNDgx
MmFhMDJkNzI2NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9XZWVrSW5wdXRUeXBl
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9XZWVrSW5wdXRUeXBlLmgKQEAgLTMzLDE3ICsz
MywxMCBAQAogCiAjaWYgRU5BQkxFKElOUFVUX1RZUEVfV0VFSykKICNpbmNsdWRlICJCYXNlQ2hv
b3Nlck9ubHlEYXRlQW5kVGltZUlucHV0VHlwZS5oIgotI2luY2x1ZGUgIkJhc2VNdWx0aXBsZUZp
ZWxkc0RhdGVBbmRUaW1lSW5wdXRUeXBlLmgiCiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotI2lm
IEVOQUJMRShJTlBVVF9NVUxUSVBMRV9GSUVMRFNfVUkpCi10eXBlZGVmIEJhc2VNdWx0aXBsZUZp
ZWxkc0RhdGVBbmRUaW1lSW5wdXRUeXBlIEJhc2VXZWVrSW5wdXRUeXBlOwotI2Vsc2UKLXR5cGVk
ZWYgQmFzZUNob29zZXJPbmx5RGF0ZUFuZFRpbWVJbnB1dFR5cGUgQmFzZVdlZWtJbnB1dFR5cGU7
Ci0jZW5kaWYKLQotY2xhc3MgV2Vla0lucHV0VHlwZSA6IHB1YmxpYyBCYXNlV2Vla0lucHV0VHlw
ZSB7CitjbGFzcyBXZWVrSW5wdXRUeXBlIDogcHVibGljIEJhc2VDaG9vc2VyT25seURhdGVBbmRU
aW1lSW5wdXRUeXBlIHsKIHB1YmxpYzoKICAgICBzdGF0aWMgUGFzc093blB0cjxJbnB1dFR5cGU+
IGNyZWF0ZShIVE1MSW5wdXRFbGVtZW50Kik7CiAKQEAgLTU2LDEzICs0OSw2IEBAIHByaXZhdGU6
CiAgICAgdmlydHVhbCBib29sIHBhcnNlVG9EYXRlQ29tcG9uZW50c0ludGVybmFsKGNvbnN0IFVD
aGFyKiwgdW5zaWduZWQgbGVuZ3RoLCBEYXRlQ29tcG9uZW50cyopIGNvbnN0IE9WRVJSSURFOwog
ICAgIHZpcnR1YWwgYm9vbCBzZXRNaWxsaXNlY29uZFRvRGF0ZUNvbXBvbmVudHMoZG91YmxlLCBE
YXRlQ29tcG9uZW50cyopIGNvbnN0IE9WRVJSSURFOwogICAgIHZpcnR1YWwgYm9vbCBpc1dlZWtG
aWVsZCgpIGNvbnN0IE9WRVJSSURFOwotCi0jaWYgRU5BQkxFKElOUFVUX01VTFRJUExFX0ZJRUxE
U19VSSkKLSAgICAvLyBCYXNlTXVsdGlwbGVGaWVsZHNEYXRlQW5kVGltZUlucHV0VHlwZSBmdW5j
dGlvbnMKLSAgICB2aXJ0dWFsIFN0cmluZyBmb3JtYXREYXRlVGltZUZpZWxkc1N0YXRlKGNvbnN0
IERhdGVUaW1lRmllbGRzU3RhdGUmKSBjb25zdCBPVkVSUklERSBGSU5BTDsKLSAgICB2aXJ0dWFs
IHZvaWQgc2V0dXBMYXlvdXRQYXJhbWV0ZXJzKERhdGVUaW1lRWRpdEVsZW1lbnQ6OkxheW91dFBh
cmFtZXRlcnMmLCBjb25zdCBEYXRlQ29tcG9uZW50cyYpIGNvbnN0IE9WRVJSSURFIEZJTkFMOwot
ICAgIHZpcnR1YWwgYm9vbCBpc1ZhbGlkRm9ybWF0KGJvb2wgaGFzWWVhciwgYm9vbCBoYXNNb250
aCwgYm9vbCBoYXNXZWVrLCBib29sIGhhc0RheSwgYm9vbCBoYXNBTVBNLCBib29sIGhhc0hvdXIs
IGJvb2wgaGFzTWludXRlLCBib29sIGhhc1NlY29uZCkgY29uc3Q7Ci0jZW5kaWYKIH07CiAKIH0g
Ly8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hh
ZG93L0NsZWFyQnV0dG9uRWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9D
bGVhckJ1dHRvbkVsZW1lbnQuY3BwCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBiOTFk
YWE4YjM1ZjI5M2JkNTljYzQyMDI3NDc5YTkzYjAxZmU4OWE5Li4wMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L0Ns
ZWFyQnV0dG9uRWxlbWVudC5jcHAKKysrIC9kZXYvbnVsbApAQCAtMSwxMTIgKzAsMCBAQAotLyoK
LSAqIENvcHlyaWdodCAoQykgMjAxMyBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgot
ICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMs
IHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVk
IHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0OgotICogMS4gIFJlZGlz
dHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0
Ci0gKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyLgotICogMi4gIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0
IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQotICogICAg
IGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBk
aXN0cmlidXRpb24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJ
TkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJyBBTkQKLSAqIEFOWSBFWFBSRVNTIE9S
IElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQot
ICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1Ig
QSBQQVJUSUNVTEFSIFBVUlBPU0UKLSAqIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFM
TCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMgQkUgTElBQkxFCi0gKiBGT1IgQU5ZIERJ
UkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VR
VUVOVElBTAotICogREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NV
UkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IKLSAqIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwg
REFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSCi0gKiBD
QVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNU
LCBTVFJJQ1QKLSAqIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1Ig
T1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkKLSAqIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMg
U09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YKLSAqIFNVQ0gg
REFNQUdFLgotICovCi0KLSNpbmNsdWRlICJjb25maWcuaCIKLSNpbmNsdWRlICJDbGVhckJ1dHRv
bkVsZW1lbnQuaCIKLQotI2luY2x1ZGUgIkV2ZW50SGFuZGxlci5oIgotI2luY2x1ZGUgIkZyYW1l
LmgiCi0jaW5jbHVkZSAiTW91c2VFdmVudC5oIgotI2luY2x1ZGUgIlJlbmRlclZpZXcuaCIKLQot
bmFtZXNwYWNlIFdlYkNvcmUgewotCi11c2luZyBuYW1lc3BhY2UgSFRNTE5hbWVzOwotCi1pbmxp
bmUgQ2xlYXJCdXR0b25FbGVtZW50OjpDbGVhckJ1dHRvbkVsZW1lbnQoRG9jdW1lbnQqIGRvY3Vt
ZW50LCBDbGVhckJ1dHRvbk93bmVyJiBjbGVhckJ1dHRvbk93bmVyKQotICAgIDogSFRNTERpdkVs
ZW1lbnQoZGl2VGFnLCBkb2N1bWVudCkKLSAgICAsIG1fY2xlYXJCdXR0b25Pd25lcigmY2xlYXJC
dXR0b25Pd25lcikKLSAgICAsIG1fY2FwdHVyaW5nKGZhbHNlKQotewotICAgIHNldFBzZXVkbyhB
dG9taWNTdHJpbmcoIi13ZWJraXQtY2xlYXItYnV0dG9uIiwgQXRvbWljU3RyaW5nOjpDb25zdHJ1
Y3RGcm9tTGl0ZXJhbCkpOwotfQotCi1QYXNzUmVmUHRyPENsZWFyQnV0dG9uRWxlbWVudD4gQ2xl
YXJCdXR0b25FbGVtZW50OjpjcmVhdGUoRG9jdW1lbnQqIGRvY3VtZW50LCBDbGVhckJ1dHRvbk93
bmVyJiBjbGVhckJ1dHRvbk93bmVyKQotewotICAgIHJldHVybiBhZG9wdFJlZihuZXcgQ2xlYXJC
dXR0b25FbGVtZW50KGRvY3VtZW50LCBjbGVhckJ1dHRvbk93bmVyKSk7Ci19Ci0KLXZvaWQgQ2xl
YXJCdXR0b25FbGVtZW50OjpkZXRhY2goKQotewotICAgIGlmIChtX2NhcHR1cmluZykgewotICAg
ICAgICBpZiAoRnJhbWUqIGZyYW1lID0gZG9jdW1lbnQoKS0+ZnJhbWUoKSkKLSAgICAgICAgICAg
IGZyYW1lLT5ldmVudEhhbmRsZXIoKS0+c2V0Q2FwdHVyaW5nTW91c2VFdmVudHNOb2RlKDApOwot
ICAgIH0KLSAgICBIVE1MRGl2RWxlbWVudDo6ZGV0YWNoKCk7Ci19Ci0KLXZvaWQgQ2xlYXJCdXR0
b25FbGVtZW50OjpyZWxlYXNlQ2FwdHVyZSgpCi17Ci0gICAgaWYgKCFtX2NhcHR1cmluZykKLSAg
ICAgICAgcmV0dXJuOwotCi0gICAgaWYgKEZyYW1lKiBmcmFtZSA9IGRvY3VtZW50KCktPmZyYW1l
KCkpIHsKLSAgICAgICAgZnJhbWUtPmV2ZW50SGFuZGxlcigpLT5zZXRDYXB0dXJpbmdNb3VzZUV2
ZW50c05vZGUoMCk7Ci0gICAgICAgIG1fY2FwdHVyaW5nID0gZmFsc2U7Ci0gICAgfQotfQotCi12
b2lkIENsZWFyQnV0dG9uRWxlbWVudDo6ZGVmYXVsdEV2ZW50SGFuZGxlcihFdmVudCogZXZlbnQp
Ci17Ci0gICAgaWYgKCFtX2NsZWFyQnV0dG9uT3duZXIpIHsKLSAgICAgICAgaWYgKCFldmVudC0+
ZGVmYXVsdEhhbmRsZWQoKSkKLSAgICAgICAgICAgIEhUTUxEaXZFbGVtZW50OjpkZWZhdWx0RXZl
bnRIYW5kbGVyKGV2ZW50KTsKLSAgICAgICAgcmV0dXJuOwotICAgIH0KLQotICAgIGlmICghbV9j
bGVhckJ1dHRvbk93bmVyLT5zaG91bGRDbGVhckJ1dHRvblJlc3BvbmRUb01vdXNlRXZlbnRzKCkp
IHsKLSAgICAgICAgaWYgKCFldmVudC0+ZGVmYXVsdEhhbmRsZWQoKSkKLSAgICAgICAgICAgIEhU
TUxEaXZFbGVtZW50OjpkZWZhdWx0RXZlbnRIYW5kbGVyKGV2ZW50KTsKLSAgICAgICAgcmV0dXJu
OwotICAgIH0KLQotICAgIGlmIChldmVudC0+dHlwZSgpID09IGV2ZW50TmFtZXMoKS5tb3VzZWRv
d25FdmVudCAmJiBldmVudC0+aXNNb3VzZUV2ZW50KCkgJiYgc3RhdGljX2Nhc3Q8TW91c2VFdmVu
dCo+KGV2ZW50KS0+YnV0dG9uKCkgPT0gTGVmdEJ1dHRvbikgewotICAgICAgICBpZiAocmVuZGVy
ZXIoKSAmJiByZW5kZXJlcigpLT52aXNpYmxlVG9IaXRUZXN0aW5nKCkpIHsKLSAgICAgICAgICAg
IGlmIChGcmFtZSogZnJhbWUgPSBkb2N1bWVudCgpLT5mcmFtZSgpKSB7Ci0gICAgICAgICAgICAg
ICAgZnJhbWUtPmV2ZW50SGFuZGxlcigpLT5zZXRDYXB0dXJpbmdNb3VzZUV2ZW50c05vZGUodGhp
cyk7Ci0gICAgICAgICAgICAgICAgbV9jYXB0dXJpbmcgPSB0cnVlOwotICAgICAgICAgICAgfQot
ICAgICAgICB9Ci0gICAgICAgIG1fY2xlYXJCdXR0b25Pd25lci0+Zm9jdXNBbmRTZWxlY3RDbGVh
ckJ1dHRvbk93bmVyKCk7Ci0gICAgICAgIGV2ZW50LT5zZXREZWZhdWx0SGFuZGxlZCgpOwotICAg
IH0KLSAgICBpZiAoZXZlbnQtPnR5cGUoKSA9PSBldmVudE5hbWVzKCkubW91c2V1cEV2ZW50ICYm
IGV2ZW50LT5pc01vdXNlRXZlbnQoKSAmJiBzdGF0aWNfY2FzdDxNb3VzZUV2ZW50Kj4oZXZlbnQp
LT5idXR0b24oKSA9PSBMZWZ0QnV0dG9uKSB7Ci0gICAgICAgIGlmIChtX2NhcHR1cmluZykgewot
ICAgICAgICAgICAgaWYgKEZyYW1lKiBmcmFtZSA9IGRvY3VtZW50KCktPmZyYW1lKCkpIHsKLSAg
ICAgICAgICAgICAgICBmcmFtZS0+ZXZlbnRIYW5kbGVyKCktPnNldENhcHR1cmluZ01vdXNlRXZl
bnRzTm9kZSgwKTsKLSAgICAgICAgICAgICAgICBtX2NhcHR1cmluZyA9IGZhbHNlOwotICAgICAg
ICAgICAgfQotICAgICAgICAgICAgaWYgKGhvdmVyZWQoKSkgewotICAgICAgICAgICAgICAgIG1f
Y2xlYXJCdXR0b25Pd25lci0+Y2xlYXJWYWx1ZSgpOwotICAgICAgICAgICAgICAgIGV2ZW50LT5z
ZXREZWZhdWx0SGFuZGxlZCgpOwotICAgICAgICAgICAgfQotICAgICAgICB9Ci0gICAgfQotCi0g
ICAgaWYgKCFldmVudC0+ZGVmYXVsdEhhbmRsZWQoKSkKLSAgICAgICAgSFRNTERpdkVsZW1lbnQ6
OmRlZmF1bHRFdmVudEhhbmRsZXIoZXZlbnQpOwotfQotCi19CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9odG1sL3NoYWRvdy9DbGVhckJ1dHRvbkVsZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3Jl
L2h0bWwvc2hhZG93L0NsZWFyQnV0dG9uRWxlbWVudC5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwZjk0MGE1OTg2MjllZGYxNmVlNDkwMzNlNDI5MWRiMmNlNThiZDIzLi4wMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0
bWwvc2hhZG93L0NsZWFyQnV0dG9uRWxlbWVudC5oCisrKyAvZGV2L251bGwKQEAgLTEsNjAgKzAs
MCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAxMyBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJl
c2VydmVkLgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5h
cnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVk
IHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0OgotICog
MS4gIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUg
Y29weXJpZ2h0Ci0gKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogMi4gIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkg
Zm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICAgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRo
ZQotICogICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3
aXRoIHRoZSBkaXN0cmlidXRpb24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBC
WSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJyBBTkQKLSAqIEFOWSBF
WFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sIFRIRQotICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklU
TkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UKLSAqIEFSRSBESVNDTEFJTUVELiBJTiBOTyBF
VkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMgQkUgTElBQkxFCi0gKiBG
T1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwg
T1IgQ09OU0VRVUVOVElBTAotICogREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IKLSAqIFNFUlZJQ0VTOyBMT1NT
IE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dF
VkVSCi0gKiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElO
IENPTlRSQUNULCBTVFJJQ1QKLSAqIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJ
R0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkKLSAqIE9VVCBPRiBUSEUgVVNF
IE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YK
LSAqIFNVQ0ggREFNQUdFLgotICovCi0KLSNpZm5kZWYgQ2xlYXJCdXR0b25FbGVtZW50X2gKLSNk
ZWZpbmUgQ2xlYXJCdXR0b25FbGVtZW50X2gKLQotI2luY2x1ZGUgIkhUTUxEaXZFbGVtZW50Lmgi
Ci0jaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KLQotbmFtZXNwYWNlIFdlYkNvcmUgewotCi1jbGFz
cyBDbGVhckJ1dHRvbkVsZW1lbnQgRklOQUwgOiBwdWJsaWMgSFRNTERpdkVsZW1lbnQgewotcHVi
bGljOgotICAgIGNsYXNzIENsZWFyQnV0dG9uT3duZXIgewotICAgIHB1YmxpYzoKLSAgICAgICAg
dmlydHVhbCB+Q2xlYXJCdXR0b25Pd25lcigpIHsgfQotICAgICAgICB2aXJ0dWFsIHZvaWQgZm9j
dXNBbmRTZWxlY3RDbGVhckJ1dHRvbk93bmVyKCkgPSAwOwotICAgICAgICB2aXJ0dWFsIGJvb2wg
c2hvdWxkQ2xlYXJCdXR0b25SZXNwb25kVG9Nb3VzZUV2ZW50cygpID0gMDsKLSAgICAgICAgdmly
dHVhbCB2b2lkIGNsZWFyVmFsdWUoKSA9IDA7Ci0gICAgfTsKLQotICAgIHN0YXRpYyBQYXNzUmVm
UHRyPENsZWFyQnV0dG9uRWxlbWVudD4gY3JlYXRlKERvY3VtZW50KiwgQ2xlYXJCdXR0b25Pd25l
ciYpOwotICAgIHZvaWQgcmVsZWFzZUNhcHR1cmUoKTsKLSAgICB2b2lkIHJlbW92ZUNsZWFyQnV0
dG9uT3duZXIoKSB7IG1fY2xlYXJCdXR0b25Pd25lciA9IDA7IH0KLQotcHJpdmF0ZToKLSAgICBD
bGVhckJ1dHRvbkVsZW1lbnQoRG9jdW1lbnQqLCBDbGVhckJ1dHRvbk93bmVyJik7Ci0gICAgdmly
dHVhbCB2b2lkIGRldGFjaCgpOwotICAgIHZpcnR1YWwgYm9vbCBpc01vdXNlRm9jdXNhYmxlKCkg
Y29uc3QgT1ZFUlJJREUgeyByZXR1cm4gZmFsc2U7IH0KLSAgICB2aXJ0dWFsIHZvaWQgZGVmYXVs
dEV2ZW50SGFuZGxlcihFdmVudCopOwotCi0gICAgQ2xlYXJCdXR0b25Pd25lciogbV9jbGVhckJ1
dHRvbk93bmVyOwotICAgIGJvb2wgbV9jYXB0dXJpbmc7Ci19OwotCi19IC8vIG5hbWVzcGFjZQot
Ci0jZW5kaWYgLy8gQ2xlYXJCdXR0b25FbGVtZW50X2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2h0bWwvc2hhZG93L0RhdGVUaW1lRWRpdEVsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUv
aHRtbC9zaGFkb3cvRGF0ZVRpbWVFZGl0RWxlbWVudC5jcHAKZGVsZXRlZCBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDJiZTZlYTE1OGFmMTU4OWY1MzJjZDFiZmExYjA2NTY2ZGFjZmEzYzMuLjAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvU291cmNlL1dlYkNvcmUv
aHRtbC9zaGFkb3cvRGF0ZVRpbWVFZGl0RWxlbWVudC5jcHAKKysrIC9kZXYvbnVsbApAQCAtMSw3
OTggKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAxMiBHb29nbGUgSW5jLiBBbGwgcmln
aHRzIHJlc2VydmVkLgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFu
ZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVy
bWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0
OgotICogMS4gIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUg
YWJvdmUgY29weXJpZ2h0Ci0gKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogMi4gIFJlZGlzdHJpYnV0aW9ucyBpbiBi
aW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
IGluIHRoZQotICogICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92
aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9W
SURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJyBBTkQKLSAq
IEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJ
TUlURUQgVE8sIFRIRQotICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBB
TkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UKLSAqIEFSRSBESVNDTEFJTUVELiBJ
TiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMgQkUgTElBQkxF
Ci0gKiBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1Q
TEFSWSwgT1IgQ09OU0VRVUVOVElBTAotICogREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJ
TUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IKLSAqIFNFUlZJQ0VT
OyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9O
KSBIT1dFVkVSCi0gKiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVU
SEVSIElOIENPTlRSQUNULCBTVFJJQ1QKLSAqIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5H
IE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkKLSAqIE9VVCBPRiBU
SEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJ
VFkgT0YKLSAqIFNVQ0ggREFNQUdFLgotICovCi0KLSNpbmNsdWRlICJjb25maWcuaCIKLSNpZiBF
TkFCTEUoSU5QVVRfTVVMVElQTEVfRklFTERTX1VJKQotI2luY2x1ZGUgIkRhdGVUaW1lRWRpdEVs
ZW1lbnQuaCIKLQotI2luY2x1ZGUgIkRhdGVDb21wb25lbnRzLmgiCi0jaW5jbHVkZSAiRGF0ZVRp
bWVGaWVsZEVsZW1lbnRzLmgiCi0jaW5jbHVkZSAiRGF0ZVRpbWVGaWVsZHNTdGF0ZS5oIgotI2lu
Y2x1ZGUgIkRhdGVUaW1lRm9ybWF0LmgiCi0jaW5jbHVkZSAiRGF0ZVRpbWVTeW1ib2xpY0ZpZWxk
RWxlbWVudC5oIgotI2luY2x1ZGUgIkV2ZW50SGFuZGxlci5oIgotI2luY2x1ZGUgIkZvbnRDYWNo
ZS5oIgotI2luY2x1ZGUgIkhUTUxOYW1lcy5oIgotI2luY2x1ZGUgIktleWJvYXJkRXZlbnQuaCIK
LSNpbmNsdWRlICJNb3VzZUV2ZW50LmgiCi0jaW5jbHVkZSAiUGxhdGZvcm1Mb2NhbGUuaCIKLSNp
bmNsdWRlICJSZW5kZXJTdHlsZS5oIgotI2luY2x1ZGUgIlN0eWxlUmVzb2x2ZXIuaCIKLSNpbmNs
dWRlICJUZXh0LmgiCi0jaW5jbHVkZSA8d3RmL0RhdGVNYXRoLmg+Ci0jaW5jbHVkZSA8d3RmL3Rl
eHQvU3RyaW5nQnVpbGRlci5oPgotCi1uYW1lc3BhY2UgV2ViQ29yZSB7Ci0KLXVzaW5nIG5hbWVz
cGFjZSBIVE1MTmFtZXM7Ci11c2luZyBuYW1lc3BhY2UgV1RGOjpVbmljb2RlOwotCi1jbGFzcyBE
YXRlVGltZUVkaXRCdWlsZGVyIDogcHJpdmF0ZSBEYXRlVGltZUZvcm1hdDo6VG9rZW5IYW5kbGVy
IHsKLSAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShEYXRlVGltZUVkaXRCdWlsZGVyKTsKLQotcHVi
bGljOgotICAgIC8vIFRoZSBhcmd1bWVudCBvYmplY3RzIG11c3QgYmUgYWxpdmUgdW50aWwgdGhp
cyBvYmplY3QgZGllcy4KLSAgICBEYXRlVGltZUVkaXRCdWlsZGVyKERhdGVUaW1lRWRpdEVsZW1l
bnQmLCBjb25zdCBEYXRlVGltZUVkaXRFbGVtZW50OjpMYXlvdXRQYXJhbWV0ZXJzJiwgY29uc3Qg
RGF0ZUNvbXBvbmVudHMmKTsKLQotICAgIGJvb2wgYnVpbGQoY29uc3QgU3RyaW5nJik7Ci0KLXBy
aXZhdGU6Ci0gICAgYm9vbCBuZWVkTWlsbGlzZWNvbmRGaWVsZCgpIGNvbnN0OwotICAgIGJvb2wg
c2hvdWxkQU1QTUZpZWxkRGlzYWJsZWQoKSBjb25zdDsKLSAgICBib29sIHNob3VsZERheU9mTW9u
dGhGaWVsZERpc2FibGVkKCkgY29uc3Q7Ci0gICAgYm9vbCBzaG91bGRIb3VyRmllbGREaXNhYmxl
ZCgpIGNvbnN0OwotICAgIGJvb2wgc2hvdWxkTWlsbGlzZWNvbmRGaWVsZERpc2FibGVkKCkgY29u
c3Q7Ci0gICAgYm9vbCBzaG91bGRNaW51dGVGaWVsZERpc2FibGVkKCkgY29uc3Q7Ci0gICAgYm9v
bCBzaG91bGRTZWNvbmRGaWVsZERpc2FibGVkKCkgY29uc3Q7Ci0gICAgYm9vbCBzaG91bGRZZWFy
RmllbGREaXNhYmxlZCgpIGNvbnN0OwotICAgIGlubGluZSBjb25zdCBTdGVwUmFuZ2UmIHN0ZXBS
YW5nZSgpIGNvbnN0IHsgcmV0dXJuIG1fcGFyYW1ldGVycy5zdGVwUmFuZ2U7IH0KLSAgICBEYXRl
VGltZU51bWVyaWNGaWVsZEVsZW1lbnQ6OlN0ZXAgY3JlYXRlU3RlcChkb3VibGUgbXNQZXJGaWVs
ZFVuaXQsIGRvdWJsZSBtc1BlckZpZWxkU2l6ZSkgY29uc3Q7Ci0KLSAgICAvLyBEYXRlVGltZUZv
cm1hdDo6VG9rZW5IYW5kbGVyIGZ1bmN0aW9ucy4KLSAgICB2aXJ0dWFsIHZvaWQgdmlzaXRGaWVs
ZChEYXRlVGltZUZvcm1hdDo6RmllbGRUeXBlLCBpbnQpIE9WRVJSSURFIEZJTkFMOwotICAgIHZp
cnR1YWwgdm9pZCB2aXNpdExpdGVyYWwoY29uc3QgU3RyaW5nJikgT1ZFUlJJREUgRklOQUw7Ci0K
LSAgICBEYXRlVGltZUVkaXRFbGVtZW50JiBtX2VkaXRFbGVtZW50OwotICAgIGNvbnN0IERhdGVD
b21wb25lbnRzIG1fZGF0ZVZhbHVlOwotICAgIGNvbnN0IERhdGVUaW1lRWRpdEVsZW1lbnQ6Okxh
eW91dFBhcmFtZXRlcnMmIG1fcGFyYW1ldGVyczsKLSAgICBEYXRlVGltZU51bWVyaWNGaWVsZEVs
ZW1lbnQ6OlJhbmdlIG1fZGF5UmFuZ2U7Ci0gICAgRGF0ZVRpbWVOdW1lcmljRmllbGRFbGVtZW50
OjpSYW5nZSBtX2hvdXIyM1JhbmdlOwotICAgIERhdGVUaW1lTnVtZXJpY0ZpZWxkRWxlbWVudDo6
UmFuZ2UgbV9taW51dGVSYW5nZTsKLSAgICBEYXRlVGltZU51bWVyaWNGaWVsZEVsZW1lbnQ6OlJh
bmdlIG1fc2Vjb25kUmFuZ2U7Ci0gICAgRGF0ZVRpbWVOdW1lcmljRmllbGRFbGVtZW50OjpSYW5n
ZSBtX21pbGxpc2Vjb25kUmFuZ2U7Ci19OwotCi1EYXRlVGltZUVkaXRCdWlsZGVyOjpEYXRlVGlt
ZUVkaXRCdWlsZGVyKERhdGVUaW1lRWRpdEVsZW1lbnQmIGVsZW1udCwgY29uc3QgRGF0ZVRpbWVF
ZGl0RWxlbWVudDo6TGF5b3V0UGFyYW1ldGVycyYgbGF5b3V0UGFyYW1ldGVycywgY29uc3QgRGF0
ZUNvbXBvbmVudHMmIGRhdGVWYWx1ZSkKLSAgICA6IG1fZWRpdEVsZW1lbnQoZWxlbW50KQotICAg
ICwgbV9kYXRlVmFsdWUoZGF0ZVZhbHVlKQotICAgICwgbV9wYXJhbWV0ZXJzKGxheW91dFBhcmFt
ZXRlcnMpCi0gICAgLCBtX2RheVJhbmdlKDEsIDMxKQotICAgICwgbV9ob3VyMjNSYW5nZSgwLCAy
MykKLSAgICAsIG1fbWludXRlUmFuZ2UoMCwgNTkpCi0gICAgLCBtX3NlY29uZFJhbmdlKDAsIDU5
KQotICAgICwgbV9taWxsaXNlY29uZFJhbmdlKDAsIDk5OSkKLXsKLSAgICBpZiAobV9kYXRlVmFs
dWUudHlwZSgpID09IERhdGVDb21wb25lbnRzOjpEYXRlCi0gICAgICAgIHx8IG1fZGF0ZVZhbHVl
LnR5cGUoKSA9PSBEYXRlQ29tcG9uZW50czo6RGF0ZVRpbWVMb2NhbAotICAgICAgICB8fCBtX2Rh
dGVWYWx1ZS50eXBlKCkgPT0gRGF0ZUNvbXBvbmVudHM6OkRhdGVUaW1lKSB7Ci0gICAgICAgIGlm
IChtX3BhcmFtZXRlcnMubWluaW11bS50eXBlKCkgIT0gRGF0ZUNvbXBvbmVudHM6OkludmFsaWQK
LSAgICAgICAgICAgICYmIG1fcGFyYW1ldGVycy5tYXhpbXVtLnR5cGUoKSAhPSBEYXRlQ29tcG9u
ZW50czo6SW52YWxpZAotICAgICAgICAgICAgJiYgbV9wYXJhbWV0ZXJzLm1pbmltdW0uZnVsbFll
YXIoKSA9PSBtX3BhcmFtZXRlcnMubWF4aW11bS5mdWxsWWVhcigpCi0gICAgICAgICAgICAmJiBt
X3BhcmFtZXRlcnMubWluaW11bS5tb250aCgpID09IG1fcGFyYW1ldGVycy5tYXhpbXVtLm1vbnRo
KCkKLSAgICAgICAgICAgICYmIG1fcGFyYW1ldGVycy5taW5pbXVtLm1vbnRoRGF5KCkgPD0gbV9w
YXJhbWV0ZXJzLm1heGltdW0ubW9udGhEYXkoKSkgewotICAgICAgICAgICAgbV9kYXlSYW5nZS5t
aW5pbXVtID0gbV9wYXJhbWV0ZXJzLm1pbmltdW0ubW9udGhEYXkoKTsKLSAgICAgICAgICAgIG1f
ZGF5UmFuZ2UubWF4aW11bSA9IG1fcGFyYW1ldGVycy5tYXhpbXVtLm1vbnRoRGF5KCk7Ci0gICAg
ICAgIH0KLSAgICB9Ci0KLSAgICBpZiAobV9kYXRlVmFsdWUudHlwZSgpID09IERhdGVDb21wb25l
bnRzOjpUaW1lIHx8IG1fZGF5UmFuZ2UuaXNTaW5nbGV0b24oKSkgewotICAgICAgICBpZiAobV9w
YXJhbWV0ZXJzLm1pbmltdW0udHlwZSgpICE9IERhdGVDb21wb25lbnRzOjpJbnZhbGlkCi0gICAg
ICAgICAgICAmJiBtX3BhcmFtZXRlcnMubWF4aW11bS50eXBlKCkgIT0gRGF0ZUNvbXBvbmVudHM6
OkludmFsaWQKLSAgICAgICAgICAgICYmIG1fcGFyYW1ldGVycy5taW5pbXVtLmhvdXIoKSA8PSBt
X3BhcmFtZXRlcnMubWF4aW11bS5ob3VyKCkpIHsKLSAgICAgICAgICAgIG1faG91cjIzUmFuZ2Uu
bWluaW11bSA9IG1fcGFyYW1ldGVycy5taW5pbXVtLmhvdXIoKTsKLSAgICAgICAgICAgIG1faG91
cjIzUmFuZ2UubWF4aW11bSA9IG1fcGFyYW1ldGVycy5tYXhpbXVtLmhvdXIoKTsKLSAgICAgICAg
fQotICAgIH0KLQotICAgIGlmIChtX2hvdXIyM1JhbmdlLmlzU2luZ2xldG9uKCkgJiYgbV9wYXJh
bWV0ZXJzLm1pbmltdW0ubWludXRlKCkgPD0gbV9wYXJhbWV0ZXJzLm1heGltdW0ubWludXRlKCkp
IHsKLSAgICAgICAgbV9taW51dGVSYW5nZS5taW5pbXVtID0gbV9wYXJhbWV0ZXJzLm1pbmltdW0u
bWludXRlKCk7Ci0gICAgICAgIG1fbWludXRlUmFuZ2UubWF4aW11bSA9IG1fcGFyYW1ldGVycy5t
YXhpbXVtLm1pbnV0ZSgpOwotICAgIH0KLSAgICBpZiAobV9taW51dGVSYW5nZS5pc1NpbmdsZXRv
bigpICYmIG1fcGFyYW1ldGVycy5taW5pbXVtLnNlY29uZCgpIDw9IG1fcGFyYW1ldGVycy5tYXhp
bXVtLnNlY29uZCgpKSB7Ci0gICAgICAgIG1fc2Vjb25kUmFuZ2UubWluaW11bSA9IG1fcGFyYW1l
dGVycy5taW5pbXVtLnNlY29uZCgpOwotICAgICAgICBtX3NlY29uZFJhbmdlLm1heGltdW0gPSBt
X3BhcmFtZXRlcnMubWF4aW11bS5zZWNvbmQoKTsKLSAgICB9Ci0gICAgaWYgKG1fc2Vjb25kUmFu
Z2UuaXNTaW5nbGV0b24oKSAmJiBtX3BhcmFtZXRlcnMubWluaW11bS5taWxsaXNlY29uZCgpIDw9
IG1fcGFyYW1ldGVycy5tYXhpbXVtLm1pbGxpc2Vjb25kKCkpIHsKLSAgICAgICAgbV9taWxsaXNl
Y29uZFJhbmdlLm1pbmltdW0gPSBtX3BhcmFtZXRlcnMubWluaW11bS5taWxsaXNlY29uZCgpOwot
ICAgICAgICBtX21pbGxpc2Vjb25kUmFuZ2UubWF4aW11bSA9IG1fcGFyYW1ldGVycy5tYXhpbXVt
Lm1pbGxpc2Vjb25kKCk7Ci0gICAgfQotfQotCi1ib29sIERhdGVUaW1lRWRpdEJ1aWxkZXI6OmJ1
aWxkKGNvbnN0IFN0cmluZyYgZm9ybWF0U3RyaW5nKQotewotICAgIG1fZWRpdEVsZW1lbnQucmVz
ZXRGaWVsZHMoKTsKLSAgICByZXR1cm4gRGF0ZVRpbWVGb3JtYXQ6OnBhcnNlKGZvcm1hdFN0cmlu
ZywgKnRoaXMpOwotfQotCi1ib29sIERhdGVUaW1lRWRpdEJ1aWxkZXI6Om5lZWRNaWxsaXNlY29u
ZEZpZWxkKCkgY29uc3QKLXsKLSAgICByZXR1cm4gbV9kYXRlVmFsdWUubWlsbGlzZWNvbmQoKQot
ICAgICAgICB8fCAhc3RlcFJhbmdlKCkubWluaW11bSgpLnJlbWFpbmRlcihzdGF0aWNfY2FzdDxp
bnQ+KG1zUGVyU2Vjb25kKSkuaXNaZXJvKCkKLSAgICAgICAgfHwgIXN0ZXBSYW5nZSgpLnN0ZXAo
KS5yZW1haW5kZXIoc3RhdGljX2Nhc3Q8aW50Pihtc1BlclNlY29uZCkpLmlzWmVybygpOwotfQot
Ci12b2lkIERhdGVUaW1lRWRpdEJ1aWxkZXI6OnZpc2l0RmllbGQoRGF0ZVRpbWVGb3JtYXQ6OkZp
ZWxkVHlwZSBmaWVsZFR5cGUsIGludCBjb3VudCkKLXsKLSAgICBjb25zdCBpbnQgY291bnRGb3JB
YmJyZXZpYXRlZE1vbnRoID0gMzsKLSAgICBjb25zdCBpbnQgY291bnRGb3JGdWxsTW9udGggPSA0
OwotICAgIGNvbnN0IGludCBjb3VudEZvck5hcnJvd01vbnRoID0gNTsKLSAgICBEb2N1bWVudCog
Y29uc3QgZG9jdW1lbnQgPSBtX2VkaXRFbGVtZW50LmRvY3VtZW50KCk7Ci0KLSAgICBzd2l0Y2gg
KGZpZWxkVHlwZSkgewotICAgIGNhc2UgRGF0ZVRpbWVGb3JtYXQ6OkZpZWxkVHlwZURheU9mTW9u
dGg6IHsKLSAgICAgICAgUmVmUHRyPERhdGVUaW1lRmllbGRFbGVtZW50PiBmaWVsZCA9IERhdGVU
aW1lRGF5RmllbGRFbGVtZW50OjpjcmVhdGUoZG9jdW1lbnQsIG1fZWRpdEVsZW1lbnQsIG1fcGFy
YW1ldGVycy5wbGFjZWhvbGRlckZvckRheSwgbV9kYXlSYW5nZSk7Ci0gICAgICAgIG1fZWRpdEVs
ZW1lbnQuYWRkRmllbGQoZmllbGQpOwotICAgICAgICBpZiAoc2hvdWxkRGF5T2ZNb250aEZpZWxk
RGlzYWJsZWQoKSkgewotICAgICAgICAgICAgZmllbGQtPnNldFZhbHVlQXNEYXRlKG1fZGF0ZVZh
bHVlKTsKLSAgICAgICAgICAgIGZpZWxkLT5zZXREaXNhYmxlZCgpOwotICAgICAgICB9Ci0gICAg
ICAgIHJldHVybjsKLSAgICB9Ci0KLSAgICBjYXNlIERhdGVUaW1lRm9ybWF0OjpGaWVsZFR5cGVI
b3VyMTE6IHsKLSAgICAgICAgRGF0ZVRpbWVOdW1lcmljRmllbGRFbGVtZW50OjpTdGVwIHN0ZXAg
PSBjcmVhdGVTdGVwKG1zUGVySG91ciwgbXNQZXJIb3VyICogMTIpOwotICAgICAgICBSZWZQdHI8
RGF0ZVRpbWVGaWVsZEVsZW1lbnQ+IGZpZWxkID0gRGF0ZVRpbWVIb3VyMTFGaWVsZEVsZW1lbnQ6
OmNyZWF0ZShkb2N1bWVudCwgbV9lZGl0RWxlbWVudCwgbV9ob3VyMjNSYW5nZSwgc3RlcCk7Ci0g
ICAgICAgIG1fZWRpdEVsZW1lbnQuYWRkRmllbGQoZmllbGQpOwotICAgICAgICBpZiAoc2hvdWxk
SG91ckZpZWxkRGlzYWJsZWQoKSkgewotICAgICAgICAgICAgZmllbGQtPnNldFZhbHVlQXNEYXRl
KG1fZGF0ZVZhbHVlKTsKLSAgICAgICAgICAgIGZpZWxkLT5zZXREaXNhYmxlZCgpOwotICAgICAg
ICB9Ci0gICAgICAgIHJldHVybjsKLSAgICB9Ci0KLSAgICBjYXNlIERhdGVUaW1lRm9ybWF0OjpG
aWVsZFR5cGVIb3VyMTI6IHsKLSAgICAgICAgRGF0ZVRpbWVOdW1lcmljRmllbGRFbGVtZW50OjpT
dGVwIHN0ZXAgPSBjcmVhdGVTdGVwKG1zUGVySG91ciwgbXNQZXJIb3VyICogMTIpOwotICAgICAg
ICBSZWZQdHI8RGF0ZVRpbWVGaWVsZEVsZW1lbnQ+IGZpZWxkID0gRGF0ZVRpbWVIb3VyMTJGaWVs
ZEVsZW1lbnQ6OmNyZWF0ZShkb2N1bWVudCwgbV9lZGl0RWxlbWVudCwgbV9ob3VyMjNSYW5nZSwg
c3RlcCk7Ci0gICAgICAgIG1fZWRpdEVsZW1lbnQuYWRkRmllbGQoZmllbGQpOwotICAgICAgICBp
ZiAoc2hvdWxkSG91ckZpZWxkRGlzYWJsZWQoKSkgewotICAgICAgICAgICAgZmllbGQtPnNldFZh
bHVlQXNEYXRlKG1fZGF0ZVZhbHVlKTsKLSAgICAgICAgICAgIGZpZWxkLT5zZXREaXNhYmxlZCgp
OwotICAgICAgICB9Ci0gICAgICAgIHJldHVybjsKLSAgICB9Ci0KLSAgICBjYXNlIERhdGVUaW1l
Rm9ybWF0OjpGaWVsZFR5cGVIb3VyMjM6IHsKLSAgICAgICAgRGF0ZVRpbWVOdW1lcmljRmllbGRF
bGVtZW50OjpTdGVwIHN0ZXAgPSBjcmVhdGVTdGVwKG1zUGVySG91ciwgbXNQZXJEYXkpOwotICAg
ICAgICBSZWZQdHI8RGF0ZVRpbWVGaWVsZEVsZW1lbnQ+IGZpZWxkID0gRGF0ZVRpbWVIb3VyMjNG
aWVsZEVsZW1lbnQ6OmNyZWF0ZShkb2N1bWVudCwgbV9lZGl0RWxlbWVudCwgbV9ob3VyMjNSYW5n
ZSwgc3RlcCk7Ci0gICAgICAgIG1fZWRpdEVsZW1lbnQuYWRkRmllbGQoZmllbGQpOwotICAgICAg
ICBpZiAoc2hvdWxkSG91ckZpZWxkRGlzYWJsZWQoKSkgewotICAgICAgICAgICAgZmllbGQtPnNl
dFZhbHVlQXNEYXRlKG1fZGF0ZVZhbHVlKTsKLSAgICAgICAgICAgIGZpZWxkLT5zZXREaXNhYmxl
ZCgpOwotICAgICAgICB9Ci0gICAgICAgIHJldHVybjsKLSAgICB9Ci0KLSAgICBjYXNlIERhdGVU
aW1lRm9ybWF0OjpGaWVsZFR5cGVIb3VyMjQ6IHsKLSAgICAgICAgRGF0ZVRpbWVOdW1lcmljRmll
bGRFbGVtZW50OjpTdGVwIHN0ZXAgPSBjcmVhdGVTdGVwKG1zUGVySG91ciwgbXNQZXJEYXkpOwot
ICAgICAgICBSZWZQdHI8RGF0ZVRpbWVGaWVsZEVsZW1lbnQ+IGZpZWxkID0gRGF0ZVRpbWVIb3Vy
MjRGaWVsZEVsZW1lbnQ6OmNyZWF0ZShkb2N1bWVudCwgbV9lZGl0RWxlbWVudCwgbV9ob3VyMjNS
YW5nZSwgc3RlcCk7Ci0gICAgICAgIG1fZWRpdEVsZW1lbnQuYWRkRmllbGQoZmllbGQpOwotICAg
ICAgICBpZiAoc2hvdWxkSG91ckZpZWxkRGlzYWJsZWQoKSkgewotICAgICAgICAgICAgZmllbGQt
PnNldFZhbHVlQXNEYXRlKG1fZGF0ZVZhbHVlKTsKLSAgICAgICAgICAgIGZpZWxkLT5zZXREaXNh
YmxlZCgpOwotICAgICAgICB9Ci0gICAgICAgIHJldHVybjsKLSAgICB9Ci0KLSAgICBjYXNlIERh
dGVUaW1lRm9ybWF0OjpGaWVsZFR5cGVNaW51dGU6IHsKLSAgICAgICAgRGF0ZVRpbWVOdW1lcmlj
RmllbGRFbGVtZW50OjpTdGVwIHN0ZXAgPSBjcmVhdGVTdGVwKG1zUGVyTWludXRlLCBtc1Blckhv
dXIpOwotICAgICAgICBSZWZQdHI8RGF0ZVRpbWVOdW1lcmljRmllbGRFbGVtZW50PiBmaWVsZCA9
IERhdGVUaW1lTWludXRlRmllbGRFbGVtZW50OjpjcmVhdGUoZG9jdW1lbnQsIG1fZWRpdEVsZW1l
bnQsIG1fbWludXRlUmFuZ2UsIHN0ZXApOwotICAgICAgICBtX2VkaXRFbGVtZW50LmFkZEZpZWxk
KGZpZWxkKTsKLSAgICAgICAgaWYgKHNob3VsZE1pbnV0ZUZpZWxkRGlzYWJsZWQoKSkgewotICAg
ICAgICAgICAgZmllbGQtPnNldFZhbHVlQXNEYXRlKG1fZGF0ZVZhbHVlKTsKLSAgICAgICAgICAg
IGZpZWxkLT5zZXREaXNhYmxlZCgpOwotICAgICAgICB9Ci0gICAgICAgIHJldHVybjsKLSAgICB9
Ci0KLSAgICBjYXNlIERhdGVUaW1lRm9ybWF0OjpGaWVsZFR5cGVNb250aDogLy8gRmFsbHRocm91
Z2guCi0gICAgY2FzZSBEYXRlVGltZUZvcm1hdDo6RmllbGRUeXBlTW9udGhTdGFuZEFsb25lOiB7
Ci0gICAgICAgIGludCBtaW5Nb250aCA9IDAsIG1heE1vbnRoID0gMTE7Ci0gICAgICAgIGlmICht
X3BhcmFtZXRlcnMubWluaW11bS50eXBlKCkgIT0gRGF0ZUNvbXBvbmVudHM6OkludmFsaWQKLSAg
ICAgICAgICAgICYmIG1fcGFyYW1ldGVycy5tYXhpbXVtLnR5cGUoKSAhPSBEYXRlQ29tcG9uZW50
czo6SW52YWxpZAotICAgICAgICAgICAgJiYgbV9wYXJhbWV0ZXJzLm1pbmltdW0uZnVsbFllYXIo
KSA9PSBtX3BhcmFtZXRlcnMubWF4aW11bS5mdWxsWWVhcigpCi0gICAgICAgICAgICAmJiBtX3Bh
cmFtZXRlcnMubWluaW11bS5tb250aCgpIDw9IG1fcGFyYW1ldGVycy5tYXhpbXVtLm1vbnRoKCkp
IHsKLSAgICAgICAgICAgIG1pbk1vbnRoID0gbV9wYXJhbWV0ZXJzLm1pbmltdW0ubW9udGgoKTsK
LSAgICAgICAgICAgIG1heE1vbnRoID0gbV9wYXJhbWV0ZXJzLm1heGltdW0ubW9udGgoKTsKLSAg
ICAgICAgfQotICAgICAgICBSZWZQdHI8RGF0ZVRpbWVGaWVsZEVsZW1lbnQ+IGZpZWxkOwotICAg
ICAgICBzd2l0Y2ggKGNvdW50KSB7Ci0gICAgICAgIGNhc2UgY291bnRGb3JOYXJyb3dNb250aDog
Ly8gRmFsbHRocm91Z2guCi0gICAgICAgIGNhc2UgY291bnRGb3JBYmJyZXZpYXRlZE1vbnRoOgot
ICAgICAgICAgICAgZmllbGQgPSBEYXRlVGltZVN5bWJvbGljTW9udGhGaWVsZEVsZW1lbnQ6OmNy
ZWF0ZShkb2N1bWVudCwgbV9lZGl0RWxlbWVudCwgZmllbGRUeXBlID09IERhdGVUaW1lRm9ybWF0
OjpGaWVsZFR5cGVNb250aCA/IG1fcGFyYW1ldGVycy5sb2NhbGUuc2hvcnRNb250aExhYmVscygp
IDogbV9wYXJhbWV0ZXJzLmxvY2FsZS5zaG9ydFN0YW5kQWxvbmVNb250aExhYmVscygpLCBtaW5N
b250aCwgbWF4TW9udGgpOwotICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgIGNhc2UgY291bnRG
b3JGdWxsTW9udGg6Ci0gICAgICAgICAgICBmaWVsZCA9IERhdGVUaW1lU3ltYm9saWNNb250aEZp
ZWxkRWxlbWVudDo6Y3JlYXRlKGRvY3VtZW50LCBtX2VkaXRFbGVtZW50LCBmaWVsZFR5cGUgPT0g
RGF0ZVRpbWVGb3JtYXQ6OkZpZWxkVHlwZU1vbnRoID8gbV9wYXJhbWV0ZXJzLmxvY2FsZS5tb250
aExhYmVscygpIDogbV9wYXJhbWV0ZXJzLmxvY2FsZS5zdGFuZEFsb25lTW9udGhMYWJlbHMoKSwg
bWluTW9udGgsIG1heE1vbnRoKTsKLSAgICAgICAgICAgIGJyZWFrOwotICAgICAgICBkZWZhdWx0
OgotICAgICAgICAgICAgZmllbGQgPSBEYXRlVGltZU1vbnRoRmllbGRFbGVtZW50OjpjcmVhdGUo
ZG9jdW1lbnQsIG1fZWRpdEVsZW1lbnQsIG1fcGFyYW1ldGVycy5wbGFjZWhvbGRlckZvck1vbnRo
LCBEYXRlVGltZU51bWVyaWNGaWVsZEVsZW1lbnQ6OlJhbmdlKG1pbk1vbnRoICsgMSwgbWF4TW9u
dGggKyAxKSk7Ci0gICAgICAgICAgICBicmVhazsKLSAgICAgICAgfQotICAgICAgICBtX2VkaXRF
bGVtZW50LmFkZEZpZWxkKGZpZWxkKTsKLSAgICAgICAgaWYgKG1pbk1vbnRoID09IG1heE1vbnRo
ICYmIG1pbk1vbnRoID09IG1fZGF0ZVZhbHVlLm1vbnRoKCkgJiYgbV9kYXRlVmFsdWUudHlwZSgp
ICE9IERhdGVDb21wb25lbnRzOjpNb250aCkgewotICAgICAgICAgICAgZmllbGQtPnNldFZhbHVl
QXNEYXRlKG1fZGF0ZVZhbHVlKTsKLSAgICAgICAgICAgIGZpZWxkLT5zZXREaXNhYmxlZCgpOwot
ICAgICAgICB9Ci0gICAgICAgIHJldHVybjsKLSAgICB9Ci0KLSAgICBjYXNlIERhdGVUaW1lRm9y
bWF0OjpGaWVsZFR5cGVQZXJpb2Q6IHsKLSAgICAgICAgUmVmUHRyPERhdGVUaW1lRmllbGRFbGVt
ZW50PiBmaWVsZCA9IERhdGVUaW1lQU1QTUZpZWxkRWxlbWVudDo6Y3JlYXRlKGRvY3VtZW50LCBt
X2VkaXRFbGVtZW50LCBtX3BhcmFtZXRlcnMubG9jYWxlLnRpbWVBTVBNTGFiZWxzKCkpOwotICAg
ICAgICBtX2VkaXRFbGVtZW50LmFkZEZpZWxkKGZpZWxkKTsKLSAgICAgICAgaWYgKHNob3VsZEFN
UE1GaWVsZERpc2FibGVkKCkpIHsKLSAgICAgICAgICAgIGZpZWxkLT5zZXRWYWx1ZUFzRGF0ZSht
X2RhdGVWYWx1ZSk7Ci0gICAgICAgICAgICBmaWVsZC0+c2V0RGlzYWJsZWQoKTsKLSAgICAgICAg
fQotICAgICAgICByZXR1cm47Ci0gICAgfQotCi0gICAgY2FzZSBEYXRlVGltZUZvcm1hdDo6Rmll
bGRUeXBlU2Vjb25kOiB7Ci0gICAgICAgIERhdGVUaW1lTnVtZXJpY0ZpZWxkRWxlbWVudDo6U3Rl
cCBzdGVwID0gY3JlYXRlU3RlcChtc1BlclNlY29uZCwgbXNQZXJNaW51dGUpOwotICAgICAgICBS
ZWZQdHI8RGF0ZVRpbWVOdW1lcmljRmllbGRFbGVtZW50PiBmaWVsZCA9IERhdGVUaW1lU2Vjb25k
RmllbGRFbGVtZW50OjpjcmVhdGUoZG9jdW1lbnQsIG1fZWRpdEVsZW1lbnQsIG1fc2Vjb25kUmFu
Z2UsIHN0ZXApOwotICAgICAgICBtX2VkaXRFbGVtZW50LmFkZEZpZWxkKGZpZWxkKTsKLSAgICAg
ICAgaWYgKHNob3VsZFNlY29uZEZpZWxkRGlzYWJsZWQoKSkgewotICAgICAgICAgICAgZmllbGQt
PnNldFZhbHVlQXNEYXRlKG1fZGF0ZVZhbHVlKTsKLSAgICAgICAgICAgIGZpZWxkLT5zZXREaXNh
YmxlZCgpOwotICAgICAgICB9Ci0KLSAgICAgICAgaWYgKG5lZWRNaWxsaXNlY29uZEZpZWxkKCkp
IHsKLSAgICAgICAgICAgIHZpc2l0TGl0ZXJhbChtX3BhcmFtZXRlcnMubG9jYWxlLmxvY2FsaXpl
ZERlY2ltYWxTZXBhcmF0b3IoKSk7Ci0gICAgICAgICAgICB2aXNpdEZpZWxkKERhdGVUaW1lRm9y
bWF0OjpGaWVsZFR5cGVGcmFjdGlvbmFsU2Vjb25kLCAzKTsKLSAgICAgICAgfQotICAgICAgICBy
ZXR1cm47Ci0gICAgfQotCi0gICAgY2FzZSBEYXRlVGltZUZvcm1hdDo6RmllbGRUeXBlRnJhY3Rp
b25hbFNlY29uZDogewotICAgICAgICBEYXRlVGltZU51bWVyaWNGaWVsZEVsZW1lbnQ6OlN0ZXAg
c3RlcCA9IGNyZWF0ZVN0ZXAoMSwgbXNQZXJTZWNvbmQpOwotICAgICAgICBSZWZQdHI8RGF0ZVRp
bWVOdW1lcmljRmllbGRFbGVtZW50PiBmaWVsZCA9IERhdGVUaW1lTWlsbGlzZWNvbmRGaWVsZEVs
ZW1lbnQ6OmNyZWF0ZShkb2N1bWVudCwgbV9lZGl0RWxlbWVudCwgbV9taWxsaXNlY29uZFJhbmdl
LCBzdGVwKTsKLSAgICAgICAgbV9lZGl0RWxlbWVudC5hZGRGaWVsZChmaWVsZCk7Ci0gICAgICAg
IGlmIChzaG91bGRNaWxsaXNlY29uZEZpZWxkRGlzYWJsZWQoKSkgewotICAgICAgICAgICAgZmll
bGQtPnNldFZhbHVlQXNEYXRlKG1fZGF0ZVZhbHVlKTsKLSAgICAgICAgICAgIGZpZWxkLT5zZXRE
aXNhYmxlZCgpOwotICAgICAgICB9Ci0gICAgICAgIHJldHVybjsKLSAgICB9Ci0KLSAgICBjYXNl
IERhdGVUaW1lRm9ybWF0OjpGaWVsZFR5cGVXZWVrT2ZZZWFyOiB7Ci0gICAgICAgIERhdGVUaW1l
TnVtZXJpY0ZpZWxkRWxlbWVudDo6UmFuZ2UgcmFuZ2UoRGF0ZUNvbXBvbmVudHM6Om1pbmltdW1X
ZWVrTnVtYmVyLCBEYXRlQ29tcG9uZW50czo6bWF4aW11bVdlZWtOdW1iZXIpOwotICAgICAgICBp
ZiAobV9wYXJhbWV0ZXJzLm1pbmltdW0udHlwZSgpICE9IERhdGVDb21wb25lbnRzOjpJbnZhbGlk
Ci0gICAgICAgICAgICAmJiBtX3BhcmFtZXRlcnMubWF4aW11bS50eXBlKCkgIT0gRGF0ZUNvbXBv
bmVudHM6OkludmFsaWQKLSAgICAgICAgICAgICYmIG1fcGFyYW1ldGVycy5taW5pbXVtLmZ1bGxZ
ZWFyKCkgPT0gbV9wYXJhbWV0ZXJzLm1heGltdW0uZnVsbFllYXIoKQotICAgICAgICAgICAgJiYg
bV9wYXJhbWV0ZXJzLm1pbmltdW0ud2VlaygpIDw9IG1fcGFyYW1ldGVycy5tYXhpbXVtLndlZWso
KSkgewotICAgICAgICAgICAgcmFuZ2UubWluaW11bSA9IG1fcGFyYW1ldGVycy5taW5pbXVtLndl
ZWsoKTsKLSAgICAgICAgICAgIHJhbmdlLm1heGltdW0gPSBtX3BhcmFtZXRlcnMubWF4aW11bS53
ZWVrKCk7Ci0gICAgICAgIH0KLSAgICAgICAgbV9lZGl0RWxlbWVudC5hZGRGaWVsZChEYXRlVGlt
ZVdlZWtGaWVsZEVsZW1lbnQ6OmNyZWF0ZShkb2N1bWVudCwgbV9lZGl0RWxlbWVudCwgcmFuZ2Up
KTsKLSAgICAgICAgcmV0dXJuOwotICAgIH0KLQotICAgIGNhc2UgRGF0ZVRpbWVGb3JtYXQ6OkZp
ZWxkVHlwZVllYXI6IHsKLSAgICAgICAgRGF0ZVRpbWVZZWFyRmllbGRFbGVtZW50OjpQYXJhbWV0
ZXJzIHllYXJQYXJhbXM7Ci0gICAgICAgIGlmIChtX3BhcmFtZXRlcnMubWluaW11bS50eXBlKCkg
PT0gRGF0ZUNvbXBvbmVudHM6OkludmFsaWQpIHsKLSAgICAgICAgICAgIHllYXJQYXJhbXMubWlu
aW11bVllYXIgPSBEYXRlQ29tcG9uZW50czo6bWluaW11bVllYXIoKTsKLSAgICAgICAgICAgIHll
YXJQYXJhbXMubWluSXNTcGVjaWZpZWQgPSBmYWxzZTsKLSAgICAgICAgfSBlbHNlIHsKLSAgICAg
ICAgICAgIHllYXJQYXJhbXMubWluaW11bVllYXIgPSBtX3BhcmFtZXRlcnMubWluaW11bS5mdWxs
WWVhcigpOwotICAgICAgICAgICAgeWVhclBhcmFtcy5taW5Jc1NwZWNpZmllZCA9IHRydWU7Ci0g
ICAgICAgIH0KLSAgICAgICAgaWYgKG1fcGFyYW1ldGVycy5tYXhpbXVtLnR5cGUoKSA9PSBEYXRl
Q29tcG9uZW50czo6SW52YWxpZCkgewotICAgICAgICAgICAgeWVhclBhcmFtcy5tYXhpbXVtWWVh
ciA9IERhdGVDb21wb25lbnRzOjptYXhpbXVtWWVhcigpOwotICAgICAgICAgICAgeWVhclBhcmFt
cy5tYXhJc1NwZWNpZmllZCA9IGZhbHNlOwotICAgICAgICB9IGVsc2UgewotICAgICAgICAgICAg
eWVhclBhcmFtcy5tYXhpbXVtWWVhciA9IG1fcGFyYW1ldGVycy5tYXhpbXVtLmZ1bGxZZWFyKCk7
Ci0gICAgICAgICAgICB5ZWFyUGFyYW1zLm1heElzU3BlY2lmaWVkID0gdHJ1ZTsKLSAgICAgICAg
fQotICAgICAgICBpZiAoeWVhclBhcmFtcy5taW5pbXVtWWVhciA+IHllYXJQYXJhbXMubWF4aW11
bVllYXIpIHsKLSAgICAgICAgICAgIHN0ZDo6c3dhcCh5ZWFyUGFyYW1zLm1pbmltdW1ZZWFyLCB5
ZWFyUGFyYW1zLm1heGltdW1ZZWFyKTsKLSAgICAgICAgICAgIHN0ZDo6c3dhcCh5ZWFyUGFyYW1z
Lm1pbklzU3BlY2lmaWVkLCB5ZWFyUGFyYW1zLm1heElzU3BlY2lmaWVkKTsKLSAgICAgICAgfQot
ICAgICAgICB5ZWFyUGFyYW1zLnBsYWNlaG9sZGVyID0gbV9wYXJhbWV0ZXJzLnBsYWNlaG9sZGVy
Rm9yWWVhcjsKLSAgICAgICAgUmVmUHRyPERhdGVUaW1lRmllbGRFbGVtZW50PiBmaWVsZCA9IERh
dGVUaW1lWWVhckZpZWxkRWxlbWVudDo6Y3JlYXRlKGRvY3VtZW50LCBtX2VkaXRFbGVtZW50LCB5
ZWFyUGFyYW1zKTsKLSAgICAgICAgbV9lZGl0RWxlbWVudC5hZGRGaWVsZChmaWVsZCk7Ci0gICAg
ICAgIGlmIChzaG91bGRZZWFyRmllbGREaXNhYmxlZCgpKSB7Ci0gICAgICAgICAgICBmaWVsZC0+
c2V0VmFsdWVBc0RhdGUobV9kYXRlVmFsdWUpOwotICAgICAgICAgICAgZmllbGQtPnNldERpc2Fi
bGVkKCk7Ci0gICAgICAgIH0KLSAgICAgICAgcmV0dXJuOwotICAgIH0KLQotICAgIGRlZmF1bHQ6
Ci0gICAgICAgIHJldHVybjsKLSAgICB9Ci19Ci0KLWJvb2wgRGF0ZVRpbWVFZGl0QnVpbGRlcjo6
c2hvdWxkQU1QTUZpZWxkRGlzYWJsZWQoKSBjb25zdAotewotICAgIHJldHVybiBzaG91bGRIb3Vy
RmllbGREaXNhYmxlZCgpCi0gICAgICAgIHx8IChtX2hvdXIyM1JhbmdlLm1pbmltdW0gPCAxMiAm
JiBtX2hvdXIyM1JhbmdlLm1heGltdW0gPCAxMiAmJiBtX2RhdGVWYWx1ZS5ob3VyKCkgPCAxMikK
LSAgICAgICAgfHwgKG1faG91cjIzUmFuZ2UubWluaW11bSA+PSAxMiAmJiBtX2hvdXIyM1Jhbmdl
Lm1heGltdW0gPj0gMTIgJiYgbV9kYXRlVmFsdWUuaG91cigpID49IDEyKTsKLX0KLQotYm9vbCBE
YXRlVGltZUVkaXRCdWlsZGVyOjpzaG91bGREYXlPZk1vbnRoRmllbGREaXNhYmxlZCgpIGNvbnN0
Ci17Ci0gICAgcmV0dXJuIG1fZGF5UmFuZ2UuaXNTaW5nbGV0b24oKSAmJiBtX2RheVJhbmdlLm1p
bmltdW0gPT0gbV9kYXRlVmFsdWUubW9udGhEYXkoKSAmJiBtX2RhdGVWYWx1ZS50eXBlKCkgIT0g
RGF0ZUNvbXBvbmVudHM6OkRhdGU7Ci19Ci0KLWJvb2wgRGF0ZVRpbWVFZGl0QnVpbGRlcjo6c2hv
dWxkSG91ckZpZWxkRGlzYWJsZWQoKSBjb25zdAotewotICAgIGlmIChtX2hvdXIyM1JhbmdlLmlz
U2luZ2xldG9uKCkgJiYgbV9ob3VyMjNSYW5nZS5taW5pbXVtID09IG1fZGF0ZVZhbHVlLmhvdXIo
KQotICAgICAgICAmJiAhKHNob3VsZE1pbnV0ZUZpZWxkRGlzYWJsZWQoKSAmJiBzaG91bGRTZWNv
bmRGaWVsZERpc2FibGVkKCkgJiYgc2hvdWxkTWlsbGlzZWNvbmRGaWVsZERpc2FibGVkKCkpKQot
ICAgICAgICByZXR1cm4gdHJ1ZTsKLQotICAgIGlmIChtX2RhdGVWYWx1ZS50eXBlKCkgPT0gRGF0
ZUNvbXBvbmVudHM6OlRpbWUpCi0gICAgICAgIHJldHVybiBmYWxzZTsKLSAgICBBU1NFUlQobV9k
YXRlVmFsdWUudHlwZSgpID09IERhdGVDb21wb25lbnRzOjpEYXRlVGltZUxvY2FsIHx8IG1fZGF0
ZVZhbHVlLnR5cGUoKSA9PSBEYXRlQ29tcG9uZW50czo6RGF0ZVRpbWUpOwotCi0gICAgaWYgKHNo
b3VsZERheU9mTW9udGhGaWVsZERpc2FibGVkKCkpIHsKLSAgICAgICAgQVNTRVJUKG1fcGFyYW1l
dGVycy5taW5pbXVtLmZ1bGxZZWFyKCkgPT0gbV9wYXJhbWV0ZXJzLm1heGltdW0uZnVsbFllYXIo
KSk7Ci0gICAgICAgIEFTU0VSVChtX3BhcmFtZXRlcnMubWluaW11bS5tb250aCgpID09IG1fcGFy
YW1ldGVycy5tYXhpbXVtLm1vbnRoKCkpOwotICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgfQot
Ci0gICAgY29uc3QgRGVjaW1hbCBkZWNpbWFsTXNQZXJEYXkoc3RhdGljX2Nhc3Q8aW50Pihtc1Bl
ckRheSkpOwotICAgIERlY2ltYWwgaG91clBhcnRPZk1pbmltdW0gPSAoc3RlcFJhbmdlKCkubWlu
aW11bSgpLmFicygpLnJlbWFpbmRlcihkZWNpbWFsTXNQZXJEYXkpIC8gc3RhdGljX2Nhc3Q8aW50
Pihtc1BlckhvdXIpKS5mbG9vcigpOwotICAgIHJldHVybiBob3VyUGFydE9mTWluaW11bSA9PSBt
X2RhdGVWYWx1ZS5ob3VyKCkgJiYgc3RlcFJhbmdlKCkuc3RlcCgpLnJlbWFpbmRlcihkZWNpbWFs
TXNQZXJEYXkpLmlzWmVybygpOwotfQotCi1ib29sIERhdGVUaW1lRWRpdEJ1aWxkZXI6OnNob3Vs
ZE1pbGxpc2Vjb25kRmllbGREaXNhYmxlZCgpIGNvbnN0Ci17Ci0gICAgaWYgKG1fbWlsbGlzZWNv
bmRSYW5nZS5pc1NpbmdsZXRvbigpICYmIG1fbWlsbGlzZWNvbmRSYW5nZS5taW5pbXVtID09IG1f
ZGF0ZVZhbHVlLm1pbGxpc2Vjb25kKCkpCi0gICAgICAgIHJldHVybiB0cnVlOwotCi0gICAgY29u
c3QgRGVjaW1hbCBkZWNpbWFsTXNQZXJTZWNvbmQoc3RhdGljX2Nhc3Q8aW50Pihtc1BlclNlY29u
ZCkpOwotICAgIHJldHVybiBzdGVwUmFuZ2UoKS5taW5pbXVtKCkuYWJzKCkucmVtYWluZGVyKGRl
Y2ltYWxNc1BlclNlY29uZCkgPT0gbV9kYXRlVmFsdWUubWlsbGlzZWNvbmQoKSAmJiBzdGVwUmFu
Z2UoKS5zdGVwKCkucmVtYWluZGVyKGRlY2ltYWxNc1BlclNlY29uZCkuaXNaZXJvKCk7Ci19Ci0K
LWJvb2wgRGF0ZVRpbWVFZGl0QnVpbGRlcjo6c2hvdWxkTWludXRlRmllbGREaXNhYmxlZCgpIGNv
bnN0Ci17Ci0gICAgaWYgKG1fbWludXRlUmFuZ2UuaXNTaW5nbGV0b24oKSAmJiBtX21pbnV0ZVJh
bmdlLm1pbmltdW0gPT0gbV9kYXRlVmFsdWUubWludXRlKCkpCi0gICAgICAgIHJldHVybiB0cnVl
OwotCi0gICAgY29uc3QgRGVjaW1hbCBkZWNpbWFsTXNQZXJIb3VyKHN0YXRpY19jYXN0PGludD4o
bXNQZXJIb3VyKSk7Ci0gICAgRGVjaW1hbCBtaW51dGVQYXJ0T2ZNaW5pbXVtID0gKHN0ZXBSYW5n
ZSgpLm1pbmltdW0oKS5hYnMoKS5yZW1haW5kZXIoZGVjaW1hbE1zUGVySG91cikgLyBzdGF0aWNf
Y2FzdDxpbnQ+KG1zUGVyTWludXRlKSkuZmxvb3IoKTsKLSAgICByZXR1cm4gbWludXRlUGFydE9m
TWluaW11bSA9PSBtX2RhdGVWYWx1ZS5taW51dGUoKSAmJiBzdGVwUmFuZ2UoKS5zdGVwKCkucmVt
YWluZGVyKGRlY2ltYWxNc1BlckhvdXIpLmlzWmVybygpOwotfQotCi1ib29sIERhdGVUaW1lRWRp
dEJ1aWxkZXI6OnNob3VsZFNlY29uZEZpZWxkRGlzYWJsZWQoKSBjb25zdAotewotICAgIGlmICht
X3NlY29uZFJhbmdlLmlzU2luZ2xldG9uKCkgJiYgbV9zZWNvbmRSYW5nZS5taW5pbXVtID09IG1f
ZGF0ZVZhbHVlLnNlY29uZCgpKQotICAgICAgICByZXR1cm4gdHJ1ZTsKLQotICAgIGNvbnN0IERl
Y2ltYWwgZGVjaW1hbE1zUGVyTWludXRlKHN0YXRpY19jYXN0PGludD4obXNQZXJNaW51dGUpKTsK
LSAgICBEZWNpbWFsIHNlY29uZFBhcnRPZk1pbmltdW0gPSAoc3RlcFJhbmdlKCkubWluaW11bSgp
LmFicygpLnJlbWFpbmRlcihkZWNpbWFsTXNQZXJNaW51dGUpIC8gc3RhdGljX2Nhc3Q8aW50Piht
c1BlclNlY29uZCkpLmZsb29yKCk7Ci0gICAgcmV0dXJuIHNlY29uZFBhcnRPZk1pbmltdW0gPT0g
bV9kYXRlVmFsdWUuc2Vjb25kKCkgJiYgc3RlcFJhbmdlKCkuc3RlcCgpLnJlbWFpbmRlcihkZWNp
bWFsTXNQZXJNaW51dGUpLmlzWmVybygpOwotfQotCi1ib29sIERhdGVUaW1lRWRpdEJ1aWxkZXI6
OnNob3VsZFllYXJGaWVsZERpc2FibGVkKCkgY29uc3QKLXsKLSAgICByZXR1cm4gbV9wYXJhbWV0
ZXJzLm1pbmltdW0udHlwZSgpICE9IERhdGVDb21wb25lbnRzOjpJbnZhbGlkCi0gICAgICAgICYm
IG1fcGFyYW1ldGVycy5tYXhpbXVtLnR5cGUoKSAhPSBEYXRlQ29tcG9uZW50czo6SW52YWxpZAot
ICAgICAgICAmJiBtX3BhcmFtZXRlcnMubWluaW11bS5mdWxsWWVhcigpID09IG1fcGFyYW1ldGVy
cy5tYXhpbXVtLmZ1bGxZZWFyKCkKLSAgICAgICAgJiYgbV9wYXJhbWV0ZXJzLm1pbmltdW0uZnVs
bFllYXIoKSA9PSBtX2RhdGVWYWx1ZS5mdWxsWWVhcigpOwotfQotCi12b2lkIERhdGVUaW1lRWRp
dEJ1aWxkZXI6OnZpc2l0TGl0ZXJhbChjb25zdCBTdHJpbmcmIHRleHQpCi17Ci0gICAgREVGSU5F
X1NUQVRJQ19MT0NBTChBdG9taWNTdHJpbmcsIHRleHRQc2V1ZG9JZCwgKCItd2Via2l0LWRhdGV0
aW1lLWVkaXQtdGV4dCIsIEF0b21pY1N0cmluZzo6Q29uc3RydWN0RnJvbUxpdGVyYWwpKTsKLSAg
ICBBU1NFUlQodGV4dC5sZW5ndGgoKSk7Ci0gICAgUmVmUHRyPEhUTUxEaXZFbGVtZW50PiBlbGVt
ZW50ID0gSFRNTERpdkVsZW1lbnQ6OmNyZWF0ZShtX2VkaXRFbGVtZW50LmRvY3VtZW50KCkpOwot
ICAgIGVsZW1lbnQtPnNldFBzZXVkbyh0ZXh0UHNldWRvSWQpOwotICAgIGlmIChtX3BhcmFtZXRl
cnMubG9jYWxlLmlzUlRMKCkgJiYgdGV4dC5sZW5ndGgoKSkgewotICAgICAgICBEaXJlY3Rpb24g
ZGlyID0gZGlyZWN0aW9uKHRleHRbMF0pOwotICAgICAgICBpZiAoZGlyID09IFNlZ21lbnRTZXBh
cmF0b3IgfHwgZGlyID09IFdoaXRlU3BhY2VOZXV0cmFsIHx8IGRpciA9PSBPdGhlck5ldXRyYWwp
Ci0gICAgICAgICAgICBlbGVtZW50LT5hcHBlbmRDaGlsZChUZXh0OjpjcmVhdGUobV9lZGl0RWxl
bWVudC5kb2N1bWVudCgpLCBTdHJpbmcoJnJpZ2h0VG9MZWZ0TWFyaywgMSkpKTsKLSAgICB9Ci0g
ICAgZWxlbWVudC0+YXBwZW5kQ2hpbGQoVGV4dDo6Y3JlYXRlKG1fZWRpdEVsZW1lbnQuZG9jdW1l
bnQoKSwgdGV4dCkpOwotICAgIG1fZWRpdEVsZW1lbnQuZmllbGRzV3JhcHBlckVsZW1lbnQoKS0+
YXBwZW5kQ2hpbGQoZWxlbWVudCk7Ci19Ci0KLURhdGVUaW1lTnVtZXJpY0ZpZWxkRWxlbWVudDo6
U3RlcCBEYXRlVGltZUVkaXRCdWlsZGVyOjpjcmVhdGVTdGVwKGRvdWJsZSBtc1BlckZpZWxkVW5p
dCwgZG91YmxlIG1zUGVyRmllbGRTaXplKSBjb25zdAotewotICAgIGNvbnN0IERlY2ltYWwgbXNQ
ZXJGaWVsZFVuaXREZWNpbWFsKHN0YXRpY19jYXN0PGludD4obXNQZXJGaWVsZFVuaXQpKTsKLSAg
ICBjb25zdCBEZWNpbWFsIG1zUGVyRmllbGRTaXplRGVjaW1hbChzdGF0aWNfY2FzdDxpbnQ+KG1z
UGVyRmllbGRTaXplKSk7Ci0gICAgRGVjaW1hbCBzdGVwTWlsbGlzZWNvbmRzID0gc3RlcFJhbmdl
KCkuc3RlcCgpOwotICAgIEFTU0VSVCghbXNQZXJGaWVsZFVuaXREZWNpbWFsLmlzWmVybygpKTsK
LSAgICBBU1NFUlQoIW1zUGVyRmllbGRTaXplRGVjaW1hbC5pc1plcm8oKSk7Ci0gICAgQVNTRVJU
KCFzdGVwTWlsbGlzZWNvbmRzLmlzWmVybygpKTsKLQotICAgIERhdGVUaW1lTnVtZXJpY0ZpZWxk
RWxlbWVudDo6U3RlcCBzdGVwKDEsIDApOwotCi0gICAgaWYgKHN0ZXBNaWxsaXNlY29uZHMucmVt
YWluZGVyKG1zUGVyRmllbGRTaXplRGVjaW1hbCkuaXNaZXJvKCkpCi0gICAgICAgIHN0ZXBNaWxs
aXNlY29uZHMgPSBtc1BlckZpZWxkU2l6ZURlY2ltYWw7Ci0KLSAgICBpZiAobXNQZXJGaWVsZFNp
emVEZWNpbWFsLnJlbWFpbmRlcihzdGVwTWlsbGlzZWNvbmRzKS5pc1plcm8oKSAmJiBzdGVwTWls
bGlzZWNvbmRzLnJlbWFpbmRlcihtc1BlckZpZWxkVW5pdERlY2ltYWwpLmlzWmVybygpKSB7Ci0g
ICAgICAgIHN0ZXAuc3RlcCA9IHN0YXRpY19jYXN0PGludD4oKHN0ZXBNaWxsaXNlY29uZHMgLyBt
c1BlckZpZWxkVW5pdERlY2ltYWwpLnRvRG91YmxlKCkpOwotICAgICAgICBzdGVwLnN0ZXBCYXNl
ID0gc3RhdGljX2Nhc3Q8aW50Pigoc3RlcFJhbmdlKCkuc3RlcEJhc2UoKSAvIG1zUGVyRmllbGRV
bml0RGVjaW1hbCkuZmxvb3IoKS5yZW1haW5kZXIobXNQZXJGaWVsZFNpemVEZWNpbWFsIC8gbXNQ
ZXJGaWVsZFVuaXREZWNpbWFsKS50b0RvdWJsZSgpKTsKLSAgICB9Ci0gICAgcmV0dXJuIHN0ZXA7
Ci19Ci0KLS8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLQotRGF0ZVRpbWVFZGl0RWxl
bWVudDo6RWRpdENvbnRyb2xPd25lcjo6fkVkaXRDb250cm9sT3duZXIoKQotewotfQotCi1EYXRl
VGltZUVkaXRFbGVtZW50OjpEYXRlVGltZUVkaXRFbGVtZW50KERvY3VtZW50KiBkb2N1bWVudCwg
RWRpdENvbnRyb2xPd25lciYgZWRpdENvbnRyb2xPd25lcikKLSAgICA6IEhUTUxEaXZFbGVtZW50
KGRpdlRhZywgZG9jdW1lbnQpCi0gICAgLCBtX2VkaXRDb250cm9sT3duZXIoJmVkaXRDb250cm9s
T3duZXIpCi17Ci0gICAgREVGSU5FX1NUQVRJQ19MT0NBTChBdG9taWNTdHJpbmcsIGRhdGVUaW1l
RWRpdFBzZXVkb0lkLCAoIi13ZWJraXQtZGF0ZXRpbWUtZWRpdCIsIEF0b21pY1N0cmluZzo6Q29u
c3RydWN0RnJvbUxpdGVyYWwpKTsKLSAgICBzZXRQc2V1ZG8oZGF0ZVRpbWVFZGl0UHNldWRvSWQp
OwotICAgIHNldEhhc0N1c3RvbVN0eWxlQ2FsbGJhY2tzKCk7Ci19Ci0KLURhdGVUaW1lRWRpdEVs
ZW1lbnQ6On5EYXRlVGltZUVkaXRFbGVtZW50KCkKLXsKLSAgICBmb3IgKHNpemVfdCBmaWVsZElu
ZGV4ID0gMDsgZmllbGRJbmRleCA8IG1fZmllbGRzLnNpemUoKTsgKytmaWVsZEluZGV4KQotICAg
ICAgICBtX2ZpZWxkc1tmaWVsZEluZGV4XS0+cmVtb3ZlRXZlbnRIYW5kbGVyKCk7Ci19Ci0KLWlu
bGluZSBFbGVtZW50KiBEYXRlVGltZUVkaXRFbGVtZW50OjpmaWVsZHNXcmFwcGVyRWxlbWVudCgp
IGNvbnN0Ci17Ci0gICAgQVNTRVJUKGZpcnN0Q2hpbGQoKSk7Ci0gICAgcmV0dXJuIHRvRWxlbWVu
dChmaXJzdENoaWxkKCkpOwotfQotCi12b2lkIERhdGVUaW1lRWRpdEVsZW1lbnQ6OmFkZEZpZWxk
KFBhc3NSZWZQdHI8RGF0ZVRpbWVGaWVsZEVsZW1lbnQ+IGZpZWxkKQotewotICAgIGlmIChtX2Zp
ZWxkcy5zaXplKCkgPT0gbV9maWVsZHMuY2FwYWNpdHkoKSkKLSAgICAgICAgcmV0dXJuOwotICAg
IG1fZmllbGRzLmFwcGVuZChmaWVsZC5nZXQoKSk7Ci0gICAgZmllbGRzV3JhcHBlckVsZW1lbnQo
KS0+YXBwZW5kQ2hpbGQoZmllbGQpOwotfQotCi1ib29sIERhdGVUaW1lRWRpdEVsZW1lbnQ6OmFu
eUVkaXRhYmxlRmllbGRzSGF2ZVZhbHVlcygpIGNvbnN0Ci17Ci0gICAgZm9yIChzaXplX3QgZmll
bGRJbmRleCA9IDA7IGZpZWxkSW5kZXggPCBtX2ZpZWxkcy5zaXplKCk7ICsrZmllbGRJbmRleCkg
ewotICAgICAgICBpZiAoIW1fZmllbGRzW2ZpZWxkSW5kZXhdLT5pc0Rpc2FibGVkKCkgJiYgbV9m
aWVsZHNbZmllbGRJbmRleF0tPmhhc1ZhbHVlKCkpCi0gICAgICAgICAgICByZXR1cm4gdHJ1ZTsK
LSAgICB9Ci0gICAgcmV0dXJuIGZhbHNlOwotfQotCi12b2lkIERhdGVUaW1lRWRpdEVsZW1lbnQ6
OmJsdXJCeU93bmVyKCkKLXsKLSAgICBpZiAoRGF0ZVRpbWVGaWVsZEVsZW1lbnQqIGZpZWxkID0g
Zm9jdXNlZEZpZWxkKCkpCi0gICAgICAgIGZpZWxkLT5ibHVyKCk7Ci19Ci0KLVBhc3NSZWZQdHI8
RGF0ZVRpbWVFZGl0RWxlbWVudD4gRGF0ZVRpbWVFZGl0RWxlbWVudDo6Y3JlYXRlKERvY3VtZW50
KiBkb2N1bWVudCwgRWRpdENvbnRyb2xPd25lciYgZWRpdENvbnRyb2xPd25lcikKLXsKLSAgICBS
ZWZQdHI8RGF0ZVRpbWVFZGl0RWxlbWVudD4gY29udGFpbmVyID0gYWRvcHRSZWYobmV3IERhdGVU
aW1lRWRpdEVsZW1lbnQoZG9jdW1lbnQsIGVkaXRDb250cm9sT3duZXIpKTsKLSAgICByZXR1cm4g
Y29udGFpbmVyLnJlbGVhc2UoKTsKLX0KLQotUGFzc1JlZlB0cjxSZW5kZXJTdHlsZT4gRGF0ZVRp
bWVFZGl0RWxlbWVudDo6Y3VzdG9tU3R5bGVGb3JSZW5kZXJlcigpCi17Ci0gICAgLy8gRklYTUU6
IFRoaXMgaXMgYSBraW5kIG9mIGxheW91dC4gV2UgbWlnaHQgd2FudCB0byBpbnRyb2R1Y2UgbmV3
IHJlbmRlcmVyLgotICAgIEZvbnRDYWNoZVB1cmdlUHJldmVudGVyIGZvbnRDYWNoZVB1cmdlUHJl
dmVudGVyOwotICAgIFJlZlB0cjxSZW5kZXJTdHlsZT4gb3JpZ2luYWxTdHlsZSA9IGRvY3VtZW50
KCktPmVuc3VyZVN0eWxlUmVzb2x2ZXIoKS0+c3R5bGVGb3JFbGVtZW50KHRoaXMpOwotICAgIFJl
ZlB0cjxSZW5kZXJTdHlsZT4gc3R5bGUgPSBSZW5kZXJTdHlsZTo6Y2xvbmUob3JpZ2luYWxTdHls
ZS5nZXQoKSk7Ci0gICAgZmxvYXQgd2lkdGggPSAwOwotICAgIGZvciAoTm9kZSogY2hpbGQgPSBm
aWVsZHNXcmFwcGVyRWxlbWVudCgpLT5maXJzdENoaWxkKCk7IGNoaWxkOyBjaGlsZCA9IGNoaWxk
LT5uZXh0U2libGluZygpKSB7Ci0gICAgICAgIGlmICghY2hpbGQtPmlzRWxlbWVudE5vZGUoKSkK
LSAgICAgICAgICAgIGNvbnRpbnVlOwotICAgICAgICBFbGVtZW50KiBjaGlsZEVsZW1lbnQgPSB0
b0VsZW1lbnQoY2hpbGQpOwotICAgICAgICBpZiAoY2hpbGRFbGVtZW50LT5pc0RhdGVUaW1lRmll
bGRFbGVtZW50KCkpIHsKLSAgICAgICAgICAgIC8vIFdlIG5lZWQgdG8gcGFzcyB0aGUgRm9udCBv
ZiB0aGlzIGVsZW1lbnQgYmVjYXVzZSBjaGlsZCBlbGVtZW50cwotICAgICAgICAgICAgLy8gY2Fu
J3QgcmVzb2x2ZSBpbmhlcml0ZWQgc3R5bGUgYXQgdGhpcyB0aW1pbmcuCi0gICAgICAgICAgICB3
aWR0aCArPSBzdGF0aWNfY2FzdDxEYXRlVGltZUZpZWxkRWxlbWVudCo+KGNoaWxkRWxlbWVudCkt
Pm1heGltdW1XaWR0aChzdHlsZS0+Zm9udCgpKTsKLSAgICAgICAgfSBlbHNlIHsKLSAgICAgICAg
ICAgIC8vIDo6LXdlYmtpdC1kYXRldGltZS1lZGl0LXRleHQgY2FzZS4gSXQgaGFzIG5vCi0gICAg
ICAgICAgICAvLyBib3JkZXIvcGFkZGluZy9tYXJnaW4gaW4gaHRtbC5jc3MuCi0gICAgICAgICAg
ICB3aWR0aCArPSBzdHlsZS0+Zm9udCgpLndpZHRoKGNoaWxkRWxlbWVudC0+dGV4dENvbnRlbnQo
KSk7Ci0gICAgICAgIH0KLSAgICB9Ci0gICAgc3R5bGUtPnNldFdpZHRoKExlbmd0aChjZWlsZih3
aWR0aCksIEZpeGVkKSk7Ci0gICAgcmV0dXJuIHN0eWxlLnJlbGVhc2UoKTsKLX0KLQotdm9pZCBE
YXRlVGltZUVkaXRFbGVtZW50OjpkaWRCbHVyRnJvbUZpZWxkKCkKLXsKLSAgICBpZiAobV9lZGl0
Q29udHJvbE93bmVyKQotICAgICAgICBtX2VkaXRDb250cm9sT3duZXItPmRpZEJsdXJGcm9tQ29u
dHJvbCgpOwotfQotCi12b2lkIERhdGVUaW1lRWRpdEVsZW1lbnQ6OmRpZEZvY3VzT25GaWVsZCgp
Ci17Ci0gICAgaWYgKG1fZWRpdENvbnRyb2xPd25lcikKLSAgICAgICAgbV9lZGl0Q29udHJvbE93
bmVyLT5kaWRGb2N1c09uQ29udHJvbCgpOwotfQotCi12b2lkIERhdGVUaW1lRWRpdEVsZW1lbnQ6
OmRpc2FibGVkU3RhdGVDaGFuZ2VkKCkKLXsKLSAgICB1cGRhdGVVSVN0YXRlKCk7Ci19Ci0KLURh
dGVUaW1lRmllbGRFbGVtZW50KiBEYXRlVGltZUVkaXRFbGVtZW50OjpmaWVsZEF0KHNpemVfdCBm
aWVsZEluZGV4KSBjb25zdAotewotICAgIHJldHVybiBmaWVsZEluZGV4IDwgbV9maWVsZHMuc2l6
ZSgpID8gbV9maWVsZHNbZmllbGRJbmRleF0gOiAwOwotfQotCi1zaXplX3QgRGF0ZVRpbWVFZGl0
RWxlbWVudDo6ZmllbGRJbmRleE9mKGNvbnN0IERhdGVUaW1lRmllbGRFbGVtZW50JiBmaWVsZCkg
Y29uc3QKLXsKLSAgICBmb3IgKHNpemVfdCBmaWVsZEluZGV4ID0gMDsgZmllbGRJbmRleCA8IG1f
ZmllbGRzLnNpemUoKTsgKytmaWVsZEluZGV4KSB7Ci0gICAgICAgIGlmIChtX2ZpZWxkc1tmaWVs
ZEluZGV4XSA9PSAmZmllbGQpCi0gICAgICAgICAgICByZXR1cm4gZmllbGRJbmRleDsKLSAgICB9
Ci0gICAgcmV0dXJuIGludmFsaWRGaWVsZEluZGV4OwotfQotCi12b2lkIERhdGVUaW1lRWRpdEVs
ZW1lbnQ6OmZvY3VzSWZOb0ZvY3VzKCkKLXsKLSAgICBpZiAoZm9jdXNlZEZpZWxkSW5kZXgoKSAh
PSBpbnZhbGlkRmllbGRJbmRleCkKLSAgICAgICAgcmV0dXJuOwotICAgIGZvY3VzT25OZXh0Rm9j
dXNhYmxlRmllbGQoMCk7Ci19Ci0KLXZvaWQgRGF0ZVRpbWVFZGl0RWxlbWVudDo6Zm9jdXNCeU93
bmVyKE5vZGUqIG9sZEZvY3VzZWROb2RlKQotewotICAgIGlmIChvbGRGb2N1c2VkTm9kZSAmJiBv
bGRGb2N1c2VkTm9kZS0+aXNFbGVtZW50Tm9kZSgpICYmIHRvRWxlbWVudChvbGRGb2N1c2VkTm9k
ZSktPmlzRGF0ZVRpbWVGaWVsZEVsZW1lbnQoKSkgewotICAgICAgICBEYXRlVGltZUZpZWxkRWxl
bWVudCogb2xkRm9jdXNlZEZpZWxkID0gc3RhdGljX2Nhc3Q8RGF0ZVRpbWVGaWVsZEVsZW1lbnQq
PihvbGRGb2N1c2VkTm9kZSk7Ci0gICAgICAgIHNpemVfdCBpbmRleCA9IGZpZWxkSW5kZXhPZigq
b2xkRm9jdXNlZEZpZWxkKTsKLSAgICAgICAgaWYgKGluZGV4ICE9IGludmFsaWRGaWVsZEluZGV4
ICYmIG9sZEZvY3VzZWRGaWVsZC0+aXNGb2N1c2FibGUoKSkgewotICAgICAgICAgICAgb2xkRm9j
dXNlZEZpZWxkLT5mb2N1cygpOwotICAgICAgICAgICAgcmV0dXJuOwotICAgICAgICB9Ci0gICAg
fQotICAgIGZvY3VzT25OZXh0Rm9jdXNhYmxlRmllbGQoMCk7Ci19Ci0KLURhdGVUaW1lRmllbGRF
bGVtZW50KiBEYXRlVGltZUVkaXRFbGVtZW50Ojpmb2N1c2VkRmllbGQoKSBjb25zdAotewotICAg
IHJldHVybiBmaWVsZEF0KGZvY3VzZWRGaWVsZEluZGV4KCkpOwotfQotCi1zaXplX3QgRGF0ZVRp
bWVFZGl0RWxlbWVudDo6Zm9jdXNlZEZpZWxkSW5kZXgoKSBjb25zdAotewotICAgIE5vZGUqIGNv
bnN0IGZvY3VzZWRGaWVsZE5vZGUgPSBkb2N1bWVudCgpLT5mb2N1c2VkTm9kZSgpOwotICAgIGZv
ciAoc2l6ZV90IGZpZWxkSW5kZXggPSAwOyBmaWVsZEluZGV4IDwgbV9maWVsZHMuc2l6ZSgpOyAr
K2ZpZWxkSW5kZXgpIHsKLSAgICAgICAgaWYgKG1fZmllbGRzW2ZpZWxkSW5kZXhdID09IGZvY3Vz
ZWRGaWVsZE5vZGUpCi0gICAgICAgICAgICByZXR1cm4gZmllbGRJbmRleDsKLSAgICB9Ci0gICAg
cmV0dXJuIGludmFsaWRGaWVsZEluZGV4OwotfQotCi12b2lkIERhdGVUaW1lRWRpdEVsZW1lbnQ6
OmZpZWxkVmFsdWVDaGFuZ2VkKCkKLXsKLSAgICBpZiAobV9lZGl0Q29udHJvbE93bmVyKQotICAg
ICAgICBtX2VkaXRDb250cm9sT3duZXItPmVkaXRDb250cm9sVmFsdWVDaGFuZ2VkKCk7Ci19Ci0K
LWJvb2wgRGF0ZVRpbWVFZGl0RWxlbWVudDo6Zm9jdXNPbk5leHRGb2N1c2FibGVGaWVsZChzaXpl
X3Qgc3RhcnRJbmRleCkKLXsKLSAgICBmb3IgKHNpemVfdCBmaWVsZEluZGV4ID0gc3RhcnRJbmRl
eDsgZmllbGRJbmRleCA8IG1fZmllbGRzLnNpemUoKTsgKytmaWVsZEluZGV4KSB7Ci0gICAgICAg
IGlmIChtX2ZpZWxkc1tmaWVsZEluZGV4XS0+aXNGb2N1c2FibGUoKSkgewotICAgICAgICAgICAg
bV9maWVsZHNbZmllbGRJbmRleF0tPmZvY3VzKCk7Ci0gICAgICAgICAgICByZXR1cm4gdHJ1ZTsK
LSAgICAgICAgfQotICAgIH0KLSAgICByZXR1cm4gZmFsc2U7Ci19Ci0KLWJvb2wgRGF0ZVRpbWVF
ZGl0RWxlbWVudDo6Zm9jdXNPbk5leHRGaWVsZChjb25zdCBEYXRlVGltZUZpZWxkRWxlbWVudCYg
ZmllbGQpCi17Ci0gICAgY29uc3Qgc2l6ZV90IHN0YXJ0RmllbGRJbmRleCA9IGZpZWxkSW5kZXhP
ZihmaWVsZCk7Ci0gICAgaWYgKHN0YXJ0RmllbGRJbmRleCA9PSBpbnZhbGlkRmllbGRJbmRleCkK
LSAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgIHJldHVybiBmb2N1c09uTmV4dEZvY3VzYWJsZUZp
ZWxkKHN0YXJ0RmllbGRJbmRleCArIDEpOwotfQotCi1ib29sIERhdGVUaW1lRWRpdEVsZW1lbnQ6
OmZvY3VzT25QcmV2aW91c0ZpZWxkKGNvbnN0IERhdGVUaW1lRmllbGRFbGVtZW50JiBmaWVsZCkK
LXsKLSAgICBjb25zdCBzaXplX3Qgc3RhcnRGaWVsZEluZGV4ID0gZmllbGRJbmRleE9mKGZpZWxk
KTsKLSAgICBpZiAoc3RhcnRGaWVsZEluZGV4ID09IGludmFsaWRGaWVsZEluZGV4KQotICAgICAg
ICByZXR1cm4gZmFsc2U7Ci0gICAgc2l6ZV90IGZpZWxkSW5kZXggPSBzdGFydEZpZWxkSW5kZXg7
Ci0gICAgd2hpbGUgKGZpZWxkSW5kZXggPiAwKSB7Ci0gICAgICAgIC0tZmllbGRJbmRleDsKLSAg
ICAgICAgaWYgKG1fZmllbGRzW2ZpZWxkSW5kZXhdLT5pc0ZvY3VzYWJsZSgpKSB7Ci0gICAgICAg
ICAgICBtX2ZpZWxkc1tmaWVsZEluZGV4XS0+Zm9jdXMoKTsKLSAgICAgICAgICAgIHJldHVybiB0
cnVlOwotICAgICAgICB9Ci0gICAgfQotICAgIHJldHVybiBmYWxzZTsKLX0KLQotYm9vbCBEYXRl
VGltZUVkaXRFbGVtZW50Ojppc0Rpc2FibGVkKCkgY29uc3QKLXsKLSAgICByZXR1cm4gbV9lZGl0
Q29udHJvbE93bmVyICYmIG1fZWRpdENvbnRyb2xPd25lci0+aXNFZGl0Q29udHJvbE93bmVyRGlz
YWJsZWQoKTsKLX0KLQotYm9vbCBEYXRlVGltZUVkaXRFbGVtZW50Ojppc0ZpZWxkT3duZXJEaXNh
YmxlZCgpIGNvbnN0Ci17Ci0gICAgcmV0dXJuIGlzRGlzYWJsZWQoKTsKLX0KLQotYm9vbCBEYXRl
VGltZUVkaXRFbGVtZW50Ojppc0ZpZWxkT3duZXJSZWFkT25seSgpIGNvbnN0Ci17Ci0gICAgcmV0
dXJuIGlzUmVhZE9ubHkoKTsKLX0KLQotYm9vbCBEYXRlVGltZUVkaXRFbGVtZW50Ojppc1JlYWRP
bmx5KCkgY29uc3QKLXsKLSAgICByZXR1cm4gbV9lZGl0Q29udHJvbE93bmVyICYmIG1fZWRpdENv
bnRyb2xPd25lci0+aXNFZGl0Q29udHJvbE93bmVyUmVhZE9ubHkoKTsKLX0KLQotdm9pZCBEYXRl
VGltZUVkaXRFbGVtZW50OjpsYXlvdXQoY29uc3QgTGF5b3V0UGFyYW1ldGVycyYgbGF5b3V0UGFy
YW1ldGVycywgY29uc3QgRGF0ZUNvbXBvbmVudHMmIGRhdGVWYWx1ZSkKLXsKLSAgICBERUZJTkVf
U1RBVElDX0xPQ0FMKEF0b21pY1N0cmluZywgZmllbGRzV3JhcHBlclBzZXVkb0lkLCAoIi13ZWJr
aXQtZGF0ZXRpbWUtZWRpdC1maWVsZHMtd3JhcHBlciIsIEF0b21pY1N0cmluZzo6Q29uc3RydWN0
RnJvbUxpdGVyYWwpKTsKLSAgICBpZiAoIWZpcnN0Q2hpbGQoKSkgewotICAgICAgICBSZWZQdHI8
SFRNTERpdkVsZW1lbnQ+IGVsZW1lbnQgPSBIVE1MRGl2RWxlbWVudDo6Y3JlYXRlKGRvY3VtZW50
KCkpOwotICAgICAgICBlbGVtZW50LT5zZXRQc2V1ZG8oZmllbGRzV3JhcHBlclBzZXVkb0lkKTsK
LSAgICAgICAgYXBwZW5kQ2hpbGQoZWxlbWVudC5nZXQoKSk7Ci0gICAgfQotICAgIEVsZW1lbnQq
IGZpZWxkc1dyYXBwZXIgPSBmaWVsZHNXcmFwcGVyRWxlbWVudCgpOwotCi0gICAgc2l6ZV90IGZv
Y3VzZWRGaWVsZEluZGV4ID0gdGhpcy0+Zm9jdXNlZEZpZWxkSW5kZXgoKTsKLSAgICBEYXRlVGlt
ZUZpZWxkRWxlbWVudCogY29uc3QgZm9jdXNlZEZpZWxkID0gZmllbGRBdChmb2N1c2VkRmllbGRJ
bmRleCk7Ci0gICAgY29uc3QgQXRvbWljU3RyaW5nIGZvY3VzZWRGaWVsZElkID0gZm9jdXNlZEZp
ZWxkID8gZm9jdXNlZEZpZWxkLT5zaGFkb3dQc2V1ZG9JZCgpIDogbnVsbEF0b207Ci0KLSAgICBE
YXRlVGltZUVkaXRCdWlsZGVyIGJ1aWxkZXIoKnRoaXMsIGxheW91dFBhcmFtZXRlcnMsIGRhdGVW
YWx1ZSk7Ci0gICAgTm9kZSogbGFzdENoaWxkVG9CZVJlbW92ZWQgPSBmaWVsZHNXcmFwcGVyLT5s
YXN0Q2hpbGQoKTsKLSAgICBpZiAoIWJ1aWxkZXIuYnVpbGQobGF5b3V0UGFyYW1ldGVycy5kYXRl
VGltZUZvcm1hdCkgfHwgbV9maWVsZHMuaXNFbXB0eSgpKSB7Ci0gICAgICAgIGxhc3RDaGlsZFRv
QmVSZW1vdmVkID0gZmllbGRzV3JhcHBlci0+bGFzdENoaWxkKCk7Ci0gICAgICAgIGJ1aWxkZXIu
YnVpbGQobGF5b3V0UGFyYW1ldGVycy5mYWxsYmFja0RhdGVUaW1lRm9ybWF0KTsKLSAgICB9Ci0K
LSAgICBpZiAoZm9jdXNlZEZpZWxkSW5kZXggIT0gaW52YWxpZEZpZWxkSW5kZXgpIHsKLSAgICAg
ICAgZm9yIChzaXplX3QgZmllbGRJbmRleCA9IDA7IGZpZWxkSW5kZXggPCBtX2ZpZWxkcy5zaXpl
KCk7ICsrZmllbGRJbmRleCkgewotICAgICAgICAgICAgaWYgKG1fZmllbGRzW2ZpZWxkSW5kZXhd
LT5zaGFkb3dQc2V1ZG9JZCgpID09IGZvY3VzZWRGaWVsZElkKSB7Ci0gICAgICAgICAgICAgICAg
Zm9jdXNlZEZpZWxkSW5kZXggPSBmaWVsZEluZGV4OwotICAgICAgICAgICAgICAgIGJyZWFrOwot
ICAgICAgICAgICAgfQotICAgICAgICB9Ci0gICAgICAgIGlmIChEYXRlVGltZUZpZWxkRWxlbWVu
dCogZmllbGQgPSBmaWVsZEF0KHN0ZDo6bWluKGZvY3VzZWRGaWVsZEluZGV4LCBtX2ZpZWxkcy5z
aXplKCkgLSAxKSkpCi0gICAgICAgICAgICBmaWVsZC0+Zm9jdXMoKTsKLSAgICB9Ci0KLSAgICBp
ZiAobGFzdENoaWxkVG9CZVJlbW92ZWQpIHsKLSAgICAgICAgZm9yIChOb2RlKiBjaGlsZE5vZGUg
PSBmaWVsZHNXcmFwcGVyLT5maXJzdENoaWxkKCk7IGNoaWxkTm9kZTsgY2hpbGROb2RlID0gZmll
bGRzV3JhcHBlci0+Zmlyc3RDaGlsZCgpKSB7Ci0gICAgICAgICAgICBmaWVsZHNXcmFwcGVyLT5y
ZW1vdmVDaGlsZChjaGlsZE5vZGUpOwotICAgICAgICAgICAgaWYgKGNoaWxkTm9kZSA9PSBsYXN0
Q2hpbGRUb0JlUmVtb3ZlZCkKLSAgICAgICAgICAgICAgICBicmVhazsKLSAgICAgICAgfQotICAg
ICAgICBzZXROZWVkc1N0eWxlUmVjYWxjKCk7Ci0gICAgfQotfQotCi1BdG9taWNTdHJpbmcgRGF0
ZVRpbWVFZGl0RWxlbWVudDo6bG9jYWxlSWRlbnRpZmllcigpIGNvbnN0Ci17Ci0gICAgcmV0dXJu
IG1fZWRpdENvbnRyb2xPd25lciA/IG1fZWRpdENvbnRyb2xPd25lci0+bG9jYWxlSWRlbnRpZmll
cigpIDogbnVsbEF0b207Ci19Ci0KLXZvaWQgRGF0ZVRpbWVFZGl0RWxlbWVudDo6cmVhZE9ubHlT
dGF0ZUNoYW5nZWQoKQotewotICAgIHVwZGF0ZVVJU3RhdGUoKTsKLX0KLQotdm9pZCBEYXRlVGlt
ZUVkaXRFbGVtZW50OjpyZXNldEZpZWxkcygpCi17Ci0gICAgZm9yIChzaXplX3QgZmllbGRJbmRl
eCA9IDA7IGZpZWxkSW5kZXggPCBtX2ZpZWxkcy5zaXplKCk7ICsrZmllbGRJbmRleCkKLSAgICAg
ICAgbV9maWVsZHNbZmllbGRJbmRleF0tPnJlbW92ZUV2ZW50SGFuZGxlcigpOwotICAgIG1fZmll
bGRzLnNocmluaygwKTsKLX0KLQotdm9pZCBEYXRlVGltZUVkaXRFbGVtZW50OjpkZWZhdWx0RXZl
bnRIYW5kbGVyKEV2ZW50KiBldmVudCkKLXsKLSAgICAvLyBJbiBjYXNlIG9mIGNvbnRyb2wgb3du
ZXIgZm9yd2FyZCBldmVudCB0byBjb250cm9sLCBlLmcuIERPTQotICAgIC8vIGRpc3BhdGNoRXZl
bnQgbWV0aG9kLgotICAgIGlmIChEYXRlVGltZUZpZWxkRWxlbWVudCogZmllbGQgPSBmb2N1c2Vk
RmllbGQoKSkgewotICAgICAgICBmaWVsZC0+ZGVmYXVsdEV2ZW50SGFuZGxlcihldmVudCk7Ci0g
ICAgICAgIGlmIChldmVudC0+ZGVmYXVsdEhhbmRsZWQoKSkKLSAgICAgICAgICAgIHJldHVybjsK
LSAgICB9Ci0KLSAgICBIVE1MRGl2RWxlbWVudDo6ZGVmYXVsdEV2ZW50SGFuZGxlcihldmVudCk7
Ci19Ci0KLXZvaWQgRGF0ZVRpbWVFZGl0RWxlbWVudDo6c2V0VmFsdWVBc0RhdGUoY29uc3QgTGF5
b3V0UGFyYW1ldGVycyYgbGF5b3V0UGFyYW1ldGVycywgY29uc3QgRGF0ZUNvbXBvbmVudHMmIGRh
dGUpCi17Ci0gICAgbGF5b3V0KGxheW91dFBhcmFtZXRlcnMsIGRhdGUpOwotICAgIGZvciAoc2l6
ZV90IGZpZWxkSW5kZXggPSAwOyBmaWVsZEluZGV4IDwgbV9maWVsZHMuc2l6ZSgpOyArK2ZpZWxk
SW5kZXgpCi0gICAgICAgIG1fZmllbGRzW2ZpZWxkSW5kZXhdLT5zZXRWYWx1ZUFzRGF0ZShkYXRl
KTsKLX0KLQotdm9pZCBEYXRlVGltZUVkaXRFbGVtZW50OjpzZXRWYWx1ZUFzRGF0ZVRpbWVGaWVs
ZHNTdGF0ZShjb25zdCBEYXRlVGltZUZpZWxkc1N0YXRlJiBkYXRlVGltZUZpZWxkc1N0YXRlKQot
ewotICAgIGZvciAoc2l6ZV90IGZpZWxkSW5kZXggPSAwOyBmaWVsZEluZGV4IDwgbV9maWVsZHMu
c2l6ZSgpOyArK2ZpZWxkSW5kZXgpCi0gICAgICAgIG1fZmllbGRzW2ZpZWxkSW5kZXhdLT5zZXRW
YWx1ZUFzRGF0ZVRpbWVGaWVsZHNTdGF0ZShkYXRlVGltZUZpZWxkc1N0YXRlKTsKLX0KLQotdm9p
ZCBEYXRlVGltZUVkaXRFbGVtZW50OjpzZXRFbXB0eVZhbHVlKGNvbnN0IExheW91dFBhcmFtZXRl
cnMmIGxheW91dFBhcmFtZXRlcnMsIGNvbnN0IERhdGVDb21wb25lbnRzJiBkYXRlRm9yUmVhZE9u
bHlGaWVsZCkKLXsKLSAgICBsYXlvdXQobGF5b3V0UGFyYW1ldGVycywgZGF0ZUZvclJlYWRPbmx5
RmllbGQpOwotICAgIGZvciAoc2l6ZV90IGZpZWxkSW5kZXggPSAwOyBmaWVsZEluZGV4IDwgbV9m
aWVsZHMuc2l6ZSgpOyArK2ZpZWxkSW5kZXgpCi0gICAgICAgIG1fZmllbGRzW2ZpZWxkSW5kZXhd
LT5zZXRFbXB0eVZhbHVlKERhdGVUaW1lRmllbGRFbGVtZW50OjpEaXNwYXRjaE5vRXZlbnQpOwot
fQotCi1ib29sIERhdGVUaW1lRWRpdEVsZW1lbnQ6Omhhc0ZvY3VzZWRGaWVsZCgpCi17Ci0gICAg
cmV0dXJuIGZvY3VzZWRGaWVsZEluZGV4KCkgIT0gaW52YWxpZEZpZWxkSW5kZXg7Ci19Ci0KLXZv
aWQgRGF0ZVRpbWVFZGl0RWxlbWVudDo6c2V0T25seVllYXJNb250aERheShjb25zdCBEYXRlQ29t
cG9uZW50cyYgZGF0ZSkKLXsKLSAgICBBU1NFUlQoZGF0ZS50eXBlKCkgPT0gRGF0ZUNvbXBvbmVu
dHM6OkRhdGUpOwotCi0gICAgaWYgKCFtX2VkaXRDb250cm9sT3duZXIpCi0gICAgICAgIHJldHVy
bjsKLQotICAgIERhdGVUaW1lRmllbGRzU3RhdGUgZGF0ZVRpbWVGaWVsZHNTdGF0ZSA9IHZhbHVl
QXNEYXRlVGltZUZpZWxkc1N0YXRlKCk7Ci0gICAgZGF0ZVRpbWVGaWVsZHNTdGF0ZS5zZXRZZWFy
KGRhdGUuZnVsbFllYXIoKSk7Ci0gICAgZGF0ZVRpbWVGaWVsZHNTdGF0ZS5zZXRNb250aChkYXRl
Lm1vbnRoKCkgKyAxKTsKLSAgICBkYXRlVGltZUZpZWxkc1N0YXRlLnNldERheU9mTW9udGgoZGF0
ZS5tb250aERheSgpKTsKLSAgICBzZXRWYWx1ZUFzRGF0ZVRpbWVGaWVsZHNTdGF0ZShkYXRlVGlt
ZUZpZWxkc1N0YXRlKTsKLSAgICBtX2VkaXRDb250cm9sT3duZXItPmVkaXRDb250cm9sVmFsdWVD
aGFuZ2VkKCk7Ci19Ci0KLXZvaWQgRGF0ZVRpbWVFZGl0RWxlbWVudDo6c3RlcERvd24oKQotewot
ICAgIGlmIChEYXRlVGltZUZpZWxkRWxlbWVudCogY29uc3QgZmllbGQgPSBmb2N1c2VkRmllbGQo
KSkKLSAgICAgICAgZmllbGQtPnN0ZXBEb3duKCk7Ci19Ci0KLXZvaWQgRGF0ZVRpbWVFZGl0RWxl
bWVudDo6c3RlcFVwKCkKLXsKLSAgICBpZiAoRGF0ZVRpbWVGaWVsZEVsZW1lbnQqIGNvbnN0IGZp
ZWxkID0gZm9jdXNlZEZpZWxkKCkpCi0gICAgICAgIGZpZWxkLT5zdGVwVXAoKTsKLX0KLQotdm9p
ZCBEYXRlVGltZUVkaXRFbGVtZW50Ojp1cGRhdGVVSVN0YXRlKCkKLXsKLSAgICBpZiAoaXNEaXNh
YmxlZCgpKSB7Ci0gICAgICAgIGlmIChEYXRlVGltZUZpZWxkRWxlbWVudCogZmllbGQgPSBmb2N1
c2VkRmllbGQoKSkKLSAgICAgICAgICAgIGZpZWxkLT5ibHVyKCk7Ci0gICAgfQotfQotCi1TdHJp
bmcgRGF0ZVRpbWVFZGl0RWxlbWVudDo6dmFsdWUoKSBjb25zdAotewotICAgIGlmICghbV9lZGl0
Q29udHJvbE93bmVyKQotICAgICAgICByZXR1cm4gZW1wdHlTdHJpbmcoKTsKLSAgICByZXR1cm4g
bV9lZGl0Q29udHJvbE93bmVyLT5mb3JtYXREYXRlVGltZUZpZWxkc1N0YXRlKHZhbHVlQXNEYXRl
VGltZUZpZWxkc1N0YXRlKCkpOwotfQotCi1EYXRlVGltZUZpZWxkc1N0YXRlIERhdGVUaW1lRWRp
dEVsZW1lbnQ6OnZhbHVlQXNEYXRlVGltZUZpZWxkc1N0YXRlKCkgY29uc3QKLXsKLSAgICBEYXRl
VGltZUZpZWxkc1N0YXRlIGRhdGVUaW1lRmllbGRzU3RhdGU7Ci0gICAgZm9yIChzaXplX3QgZmll
bGRJbmRleCA9IDA7IGZpZWxkSW5kZXggPCBtX2ZpZWxkcy5zaXplKCk7ICsrZmllbGRJbmRleCkK
LSAgICAgICAgbV9maWVsZHNbZmllbGRJbmRleF0tPnBvcHVsYXRlRGF0ZVRpbWVGaWVsZHNTdGF0
ZShkYXRlVGltZUZpZWxkc1N0YXRlKTsKLSAgICByZXR1cm4gZGF0ZVRpbWVGaWVsZHNTdGF0ZTsK
LX0KLQotfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQotCi0jZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvc2hhZG93L0RhdGVUaW1lRWRpdEVsZW1lbnQuaCBiL1NvdXJjZS9XZWJD
b3JlL2h0bWwvc2hhZG93L0RhdGVUaW1lRWRpdEVsZW1lbnQuaApkZWxldGVkIGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggNGUyMzVkNTQwZTA3ZjA2NWFhZDE1MTMzYTE0ZDk1OTExYzc4MGMxNC4uMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9odG1sL3NoYWRvdy9EYXRlVGltZUVkaXRFbGVtZW50LmgKKysrIC9kZXYvbnVsbApAQCAtMSwx
NTQgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAxMiBHb29nbGUgSW5jLiBBbGwgcmln
aHRzIHJlc2VydmVkLgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFu
ZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVy
bWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0
OgotICogMS4gIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUg
YWJvdmUgY29weXJpZ2h0Ci0gKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogMi4gIFJlZGlzdHJpYnV0aW9ucyBpbiBi
aW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
IGluIHRoZQotICogICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92
aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9W
SURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJyBBTkQKLSAq
IEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJ
TUlURUQgVE8sIFRIRQotICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBB
TkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UKLSAqIEFSRSBESVNDTEFJTUVELiBJ
TiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMgQkUgTElBQkxF
Ci0gKiBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1Q
TEFSWSwgT1IgQ09OU0VRVUVOVElBTAotICogREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJ
TUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IKLSAqIFNFUlZJQ0VT
OyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9O
KSBIT1dFVkVSCi0gKiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVU
SEVSIElOIENPTlRSQUNULCBTVFJJQ1QKLSAqIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5H
IE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkKLSAqIE9VVCBPRiBU
SEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJ
VFkgT0YKLSAqIFNVQ0ggREFNQUdFLgotICovCi0KLSNpZm5kZWYgRGF0ZVRpbWVFZGl0RWxlbWVu
dF9oCi0jZGVmaW5lIERhdGVUaW1lRWRpdEVsZW1lbnRfaAotCi0jaWYgRU5BQkxFKElOUFVUX01V
TFRJUExFX0ZJRUxEU19VSSkKLSNpbmNsdWRlICJEYXRlQ29tcG9uZW50cy5oIgotI2luY2x1ZGUg
IkRhdGVUaW1lRmllbGRFbGVtZW50LmgiCi0jaW5jbHVkZSAiU3RlcFJhbmdlLmgiCi0KLW5hbWVz
cGFjZSBXZWJDb3JlIHsKLQotY2xhc3MgRGF0ZVRpbWVGaWVsZHNTdGF0ZTsKLWNsYXNzIEtleWJv
YXJkRXZlbnQ7Ci1jbGFzcyBMb2NhbGU7Ci1jbGFzcyBNb3VzZUV2ZW50OwotY2xhc3MgU3RlcFJh
bmdlOwotCi0vLyBEYXRlVGltZUVkaXRFbGVtZW50IGNsYXNzIGNvbnRhaW5zIG51bWJlcmljIGZp
ZWxkIGFuZCBzeW1ib2xjIGZpZWxkIGZvcgotLy8gcmVwcmVzZW50aW5nIGRhdGUgYW5kIHRpbWUs
IHN1Y2ggYXMKLS8vICAtIFllYXIsIE1vbnRoLCBEYXkgT2YgTW9udGgKLS8vICAtIEhvdXIsIE1p
bnV0ZSwgU2Vjb25kLCBNaWxsaXNlY29uZCwgQU0vUE0KLWNsYXNzIERhdGVUaW1lRWRpdEVsZW1l
bnQgRklOQUwgOiBwdWJsaWMgSFRNTERpdkVsZW1lbnQsIHB1YmxpYyBEYXRlVGltZUZpZWxkRWxl
bWVudDo6RmllbGRPd25lciB7Ci0gICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoRGF0ZVRpbWVFZGl0
RWxlbWVudCk7Ci0KLXB1YmxpYzoKLSAgICAvLyBFZGl0Q29udHJvbE93bmVyIGltcGxlbWVudGVy
IG11c3QgY2FsbCByZW1vdmVFZGl0Q29udHJvbE93bmVyIHdoZW4KLSAgICAvLyBpdCBkb2Vzbid0
IGhhbmRsZSBldmVudCwgZS5nLiBhdCBkZXN0cnVjdGlvbi4KLSAgICBjbGFzcyBFZGl0Q29udHJv
bE93bmVyIHsKLSAgICBwdWJsaWM6Ci0gICAgICAgIHZpcnR1YWwgfkVkaXRDb250cm9sT3duZXIo
KTsKLSAgICAgICAgdmlydHVhbCB2b2lkIGRpZEJsdXJGcm9tQ29udHJvbCgpID0gMDsKLSAgICAg
ICAgdmlydHVhbCB2b2lkIGRpZEZvY3VzT25Db250cm9sKCkgPSAwOwotICAgICAgICB2aXJ0dWFs
IHZvaWQgZWRpdENvbnRyb2xWYWx1ZUNoYW5nZWQoKSA9IDA7Ci0gICAgICAgIHZpcnR1YWwgU3Ry
aW5nIGZvcm1hdERhdGVUaW1lRmllbGRzU3RhdGUoY29uc3QgRGF0ZVRpbWVGaWVsZHNTdGF0ZSYp
IGNvbnN0ID0gMDsKLSAgICAgICAgdmlydHVhbCBib29sIGlzRWRpdENvbnRyb2xPd25lckRpc2Fi
bGVkKCkgY29uc3QgPSAwOwotICAgICAgICB2aXJ0dWFsIGJvb2wgaXNFZGl0Q29udHJvbE93bmVy
UmVhZE9ubHkoKSBjb25zdCA9IDA7Ci0gICAgICAgIHZpcnR1YWwgQXRvbWljU3RyaW5nIGxvY2Fs
ZUlkZW50aWZpZXIoKSBjb25zdCA9IDA7Ci0gICAgfTsKLQotICAgIHN0cnVjdCBMYXlvdXRQYXJh
bWV0ZXJzIHsKLSAgICAgICAgU3RyaW5nIGRhdGVUaW1lRm9ybWF0OwotICAgICAgICBTdHJpbmcg
ZmFsbGJhY2tEYXRlVGltZUZvcm1hdDsKLSAgICAgICAgTG9jYWxlJiBsb2NhbGU7Ci0gICAgICAg
IGNvbnN0IFN0ZXBSYW5nZSBzdGVwUmFuZ2U7Ci0gICAgICAgIERhdGVDb21wb25lbnRzIG1pbmlt
dW07Ci0gICAgICAgIERhdGVDb21wb25lbnRzIG1heGltdW07Ci0gICAgICAgIFN0cmluZyBwbGFj
ZWhvbGRlckZvckRheTsKLSAgICAgICAgU3RyaW5nIHBsYWNlaG9sZGVyRm9yTW9udGg7Ci0gICAg
ICAgIFN0cmluZyBwbGFjZWhvbGRlckZvclllYXI7Ci0KLSAgICAgICAgTGF5b3V0UGFyYW1ldGVy
cyhMb2NhbGUmIGxvY2FsZSwgY29uc3QgU3RlcFJhbmdlJiBzdGVwUmFuZ2UpCi0gICAgICAgICAg
ICA6IGxvY2FsZShsb2NhbGUpCi0gICAgICAgICAgICAsIHN0ZXBSYW5nZShzdGVwUmFuZ2UpCi0g
ICAgICAgIHsKLSAgICAgICAgfQotICAgIH07Ci0KLSAgICBzdGF0aWMgUGFzc1JlZlB0cjxEYXRl
VGltZUVkaXRFbGVtZW50PiBjcmVhdGUoRG9jdW1lbnQqLCBFZGl0Q29udHJvbE93bmVyJik7Ci0K
LSAgICB2aXJ0dWFsIH5EYXRlVGltZUVkaXRFbGVtZW50KCk7Ci0gICAgdm9pZCBhZGRGaWVsZChQ
YXNzUmVmUHRyPERhdGVUaW1lRmllbGRFbGVtZW50Pik7Ci0gICAgYm9vbCBhbnlFZGl0YWJsZUZp
ZWxkc0hhdmVWYWx1ZXMoKSBjb25zdDsKLSAgICB2b2lkIGJsdXJCeU93bmVyKCk7Ci0gICAgdmly
dHVhbCB2b2lkIGRlZmF1bHRFdmVudEhhbmRsZXIoRXZlbnQqKSBPVkVSUklERTsKLSAgICB2b2lk
IGRpc2FibGVkU3RhdGVDaGFuZ2VkKCk7Ci0gICAgRWxlbWVudCogZmllbGRzV3JhcHBlckVsZW1l
bnQoKSBjb25zdDsKLSAgICB2b2lkIGZvY3VzSWZOb0ZvY3VzKCk7Ci0gICAgLy8gSWYgb2xkRm9j
dXNlZE5vZGUgaXMgb25lIG9mIHN1Yi1maWVsZHMsIGZvY3VzIG9uIGl0LiBPdGhlcndpc2UgZm9j
dXMgb24KLSAgICAvLyB0aGUgZmlyc3Qgc3ViLWZpZWxkLgotICAgIHZvaWQgZm9jdXNCeU93bmVy
KE5vZGUqIG9sZEZvY3VzZWROb2RlID0gMCk7Ci0gICAgYm9vbCBoYXNGb2N1c2VkRmllbGQoKTsK
LSAgICB2b2lkIHJlYWRPbmx5U3RhdGVDaGFuZ2VkKCk7Ci0gICAgdm9pZCByZW1vdmVFZGl0Q29u
dHJvbE93bmVyKCkgeyBtX2VkaXRDb250cm9sT3duZXIgPSAwOyB9Ci0gICAgdm9pZCByZXNldEZp
ZWxkcygpOwotICAgIHZvaWQgc2V0RW1wdHlWYWx1ZShjb25zdCBMYXlvdXRQYXJhbWV0ZXJzJiwg
Y29uc3QgRGF0ZUNvbXBvbmVudHMmIGRhdGVGb3JSZWFkT25seUZpZWxkKTsKLSAgICB2b2lkIHNl
dFZhbHVlQXNEYXRlKGNvbnN0IExheW91dFBhcmFtZXRlcnMmLCBjb25zdCBEYXRlQ29tcG9uZW50
cyYpOwotICAgIHZvaWQgc2V0VmFsdWVBc0RhdGVUaW1lRmllbGRzU3RhdGUoY29uc3QgRGF0ZVRp
bWVGaWVsZHNTdGF0ZSYpOwotICAgIHZvaWQgc2V0T25seVllYXJNb250aERheShjb25zdCBEYXRl
Q29tcG9uZW50cyYpOwotICAgIHZvaWQgc3RlcERvd24oKTsKLSAgICB2b2lkIHN0ZXBVcCgpOwot
ICAgIFN0cmluZyB2YWx1ZSgpIGNvbnN0OwotICAgIERhdGVUaW1lRmllbGRzU3RhdGUgdmFsdWVB
c0RhdGVUaW1lRmllbGRzU3RhdGUoKSBjb25zdDsKLQotcHJpdmF0ZToKLSAgICBzdGF0aWMgY29u
c3Qgc2l6ZV90IGludmFsaWRGaWVsZEluZGV4ID0gc3RhdGljX2Nhc3Q8c2l6ZV90PigtMSk7Ci0K
LSAgICAvLyBEYXRldGltZSBjYW4gYmUgcmVwcmVzZW50IGF0IG1vc3QgZml2ZSBmaWVsZHMsIHN1
Y2ggYXMKLSAgICAvLyAgMS4geWVhcgotICAgIC8vICAyLiBtb250aAotICAgIC8vICAzLiBkYXkt
b2YtbW9udGgKLSAgICAvLyAgNC4gaG91cgotICAgIC8vICA1LiBtaW51dGUKLSAgICAvLyAgNi4g
c2Vjb25kCi0gICAgLy8gIDcuIG1pbGxpc2Vjb25kCi0gICAgLy8gIDguIEFNL1BNCi0gICAgc3Rh
dGljIGNvbnN0IGludCBtYXhpbXVtTnVtYmVyT2ZGaWVsZHMgPSA4OwotCi0gICAgRGF0ZVRpbWVF
ZGl0RWxlbWVudChEb2N1bWVudCosIEVkaXRDb250cm9sT3duZXImKTsKLQotICAgIERhdGVUaW1l
RmllbGRFbGVtZW50KiBmaWVsZEF0KHNpemVfdCkgY29uc3Q7Ci0gICAgc2l6ZV90IGZpZWxkSW5k
ZXhPZihjb25zdCBEYXRlVGltZUZpZWxkRWxlbWVudCYpIGNvbnN0OwotICAgIERhdGVUaW1lRmll
bGRFbGVtZW50KiBmb2N1c2VkRmllbGQoKSBjb25zdDsKLSAgICBzaXplX3QgZm9jdXNlZEZpZWxk
SW5kZXgoKSBjb25zdDsKLSAgICBib29sIGZvY3VzT25OZXh0Rm9jdXNhYmxlRmllbGQoc2l6ZV90
IHN0YXJ0SW5kZXgpOwotICAgIGJvb2wgaXNEaXNhYmxlZCgpIGNvbnN0OwotICAgIGJvb2wgaXNS
ZWFkT25seSgpIGNvbnN0OwotICAgIHZvaWQgbGF5b3V0KGNvbnN0IExheW91dFBhcmFtZXRlcnMm
LCBjb25zdCBEYXRlQ29tcG9uZW50cyYpOwotICAgIHZvaWQgdXBkYXRlVUlTdGF0ZSgpOwotCi0g
ICAgLy8gRWxlbWVudCBmdW5jdGlvbi4KLSAgICB2aXJ0dWFsIFBhc3NSZWZQdHI8UmVuZGVyU3R5
bGU+IGN1c3RvbVN0eWxlRm9yUmVuZGVyZXIoKSBPVkVSUklERTsKLQotICAgIC8vIERhdGVUaW1l
RmllbGRFbGVtZW50OjpGaWVsZE93bmVyIGZ1bmN0aW9ucy4KLSAgICB2aXJ0dWFsIHZvaWQgZGlk
Qmx1ckZyb21GaWVsZCgpIE9WRVJSSURFIEZJTkFMOwotICAgIHZpcnR1YWwgdm9pZCBkaWRGb2N1
c09uRmllbGQoKSBPVkVSUklERSBGSU5BTDsKLSAgICB2aXJ0dWFsIHZvaWQgZmllbGRWYWx1ZUNo
YW5nZWQoKSBPVkVSUklERSBGSU5BTDsKLSAgICB2aXJ0dWFsIGJvb2wgZm9jdXNPbk5leHRGaWVs
ZChjb25zdCBEYXRlVGltZUZpZWxkRWxlbWVudCYpIE9WRVJSSURFIEZJTkFMOwotICAgIHZpcnR1
YWwgYm9vbCBmb2N1c09uUHJldmlvdXNGaWVsZChjb25zdCBEYXRlVGltZUZpZWxkRWxlbWVudCYp
IE9WRVJSSURFIEZJTkFMOwotICAgIHZpcnR1YWwgYm9vbCBpc0ZpZWxkT3duZXJEaXNhYmxlZCgp
IGNvbnN0IE9WRVJSSURFIEZJTkFMOwotICAgIHZpcnR1YWwgYm9vbCBpc0ZpZWxkT3duZXJSZWFk
T25seSgpIGNvbnN0IE9WRVJSSURFIEZJTkFMOwotICAgIHZpcnR1YWwgQXRvbWljU3RyaW5nIGxv
Y2FsZUlkZW50aWZpZXIoKSBjb25zdCBPVkVSUklERSBGSU5BTDsKLQotICAgIFZlY3RvcjxEYXRl
VGltZUZpZWxkRWxlbWVudCosIG1heGltdW1OdW1iZXJPZkZpZWxkcz4gbV9maWVsZHM7Ci0gICAg
RWRpdENvbnRyb2xPd25lciogbV9lZGl0Q29udHJvbE93bmVyOwotfTsKLQotfSAvLyBuYW1lc3Bh
Y2UgV2ViQ29yZQotCi0jZW5kaWYKLSNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
aHRtbC9zaGFkb3cvRGF0ZVRpbWVGaWVsZEVsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRt
bC9zaGFkb3cvRGF0ZVRpbWVGaWVsZEVsZW1lbnQuY3BwCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCBiOTcyMTJlYTc5NzRhNWU5NmI0OTYzNWViM2RlYTMxMjJjY2M4Yzc2Li4wMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0
bWwvc2hhZG93L0RhdGVUaW1lRmllbGRFbGVtZW50LmNwcAorKysgL2Rldi9udWxsCkBAIC0xLDI0
NyArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDEyIEdvb2dsZSBJbmMuIEFsbCByaWdo
dHMgcmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5k
IGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJt
aXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6
Ci0gKiAxLiAgUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKLSAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAyLiAgUmVkaXN0cmlidXRpb25zIGluIGJp
bmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgICBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIg
aW4gdGhlCi0gKiAgICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3Zp
ZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJ
REVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnIEFORAotICog
QU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElN
SVRFRCBUTywgVEhFCi0gKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFO
RCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRQotICogQVJFIERJU0NMQUlNRUQuIElO
IE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUK
LSAqIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBM
QVJZLCBPUiBDT05TRVFVRU5USUFMCi0gKiBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElN
SVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUgotICogU0VSVklDRVM7
IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04p
IEhPV0VWRVIKLSAqIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRI
RVIgSU4gQ09OVFJBQ1QsIFNUUklDVAotICogTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcg
TkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWQotICogT1VUIE9GIFRI
RSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElU
WSBPRgotICogU1VDSCBEQU1BR0UuCi0gKi8KLQotI2luY2x1ZGUgImNvbmZpZy5oIgotI2lmIEVO
QUJMRShJTlBVVF9NVUxUSVBMRV9GSUVMRFNfVUkpCi0jaW5jbHVkZSAiRGF0ZVRpbWVGaWVsZEVs
ZW1lbnQuaCIKLQotI2luY2x1ZGUgIkRhdGVDb21wb25lbnRzLmgiCi0jaW5jbHVkZSAiSFRNTE5h
bWVzLmgiCi0jaW5jbHVkZSAiS2V5Ym9hcmRFdmVudC5oIgotI2luY2x1ZGUgIkxvY2FsaXplZFN0
cmluZ3MuaCIKLSNpbmNsdWRlICJQbGF0Zm9ybUxvY2FsZS5oIgotI2luY2x1ZGUgIlJlbmRlck9i
amVjdC5oIgotI2luY2x1ZGUgIlRleHQuaCIKLSNpbmNsdWRlIDx3dGYvdGV4dC9XVEZTdHJpbmcu
aD4KLQotbmFtZXNwYWNlIFdlYkNvcmUgewotCi11c2luZyBuYW1lc3BhY2UgSFRNTE5hbWVzOwot
Ci1EYXRlVGltZUZpZWxkRWxlbWVudDo6RmllbGRPd25lcjo6fkZpZWxkT3duZXIoKQotewotfQot
Ci1EYXRlVGltZUZpZWxkRWxlbWVudDo6RGF0ZVRpbWVGaWVsZEVsZW1lbnQoRG9jdW1lbnQqIGRv
Y3VtZW50LCBGaWVsZE93bmVyJiBmaWVsZE93bmVyKQotICAgIDogSFRNTEVsZW1lbnQoc3BhblRh
ZywgZG9jdW1lbnQpCi0gICAgLCBtX2ZpZWxkT3duZXIoJmZpZWxkT3duZXIpCi17Ci0gICAgLy8g
T24gYWNjZXNzaWJpbGl0eSwgRGF0ZVRpbWVGaWVsZEVsZW1lbnQgYWN0cyBsaWtlIHNwaW4gYnV0
dG9uLgotICAgIHNldEF0dHJpYnV0ZShyb2xlQXR0ciwgInNwaW5idXR0b24iKTsKLSAgICBzZXRB
dHRyaWJ1dGUoYXJpYV92YWx1ZXRleHRBdHRyLCBBWERhdGVUaW1lRmllbGRFbXB0eVZhbHVlVGV4
dCgpKTsKLX0KLQotdm9pZCBEYXRlVGltZUZpZWxkRWxlbWVudDo6ZGVmYXVsdEV2ZW50SGFuZGxl
cihFdmVudCogZXZlbnQpCi17Ci0gICAgaWYgKGV2ZW50LT50eXBlKCkgPT0gZXZlbnROYW1lcygp
LmJsdXJFdmVudCkKLSAgICAgICAgZGlkQmx1cigpOwotCi0gICAgaWYgKGV2ZW50LT50eXBlKCkg
PT0gZXZlbnROYW1lcygpLmZvY3VzRXZlbnQpCi0gICAgICAgIGRpZEZvY3VzKCk7Ci0KLSAgICBp
ZiAoZXZlbnQtPmlzS2V5Ym9hcmRFdmVudCgpKSB7Ci0gICAgICAgIEtleWJvYXJkRXZlbnQqIGtl
eWJvYXJkRXZlbnQgPSBzdGF0aWNfY2FzdDxLZXlib2FyZEV2ZW50Kj4oZXZlbnQpOwotICAgICAg
ICBpZiAoIWlzRGlzYWJsZWQoKSAmJiAhaXNGaWVsZE93bmVyRGlzYWJsZWQoKSAmJiAhaXNGaWVs
ZE93bmVyUmVhZE9ubHkoKSkgewotICAgICAgICAgICAgaGFuZGxlS2V5Ym9hcmRFdmVudChrZXli
b2FyZEV2ZW50KTsKLSAgICAgICAgICAgIGlmIChrZXlib2FyZEV2ZW50LT5kZWZhdWx0SGFuZGxl
ZCgpKQotICAgICAgICAgICAgICAgIHJldHVybjsKLSAgICAgICAgfQotICAgICAgICBkZWZhdWx0
S2V5Ym9hcmRFdmVudEhhbmRsZXIoa2V5Ym9hcmRFdmVudCk7Ci0gICAgICAgIGlmIChrZXlib2Fy
ZEV2ZW50LT5kZWZhdWx0SGFuZGxlZCgpKQotICAgICAgICAgICAgcmV0dXJuOwotICAgIH0KLQot
ICAgIEhUTUxFbGVtZW50OjpkZWZhdWx0RXZlbnRIYW5kbGVyKGV2ZW50KTsKLX0KLQotdm9pZCBE
YXRlVGltZUZpZWxkRWxlbWVudDo6ZGVmYXVsdEtleWJvYXJkRXZlbnRIYW5kbGVyKEtleWJvYXJk
RXZlbnQqIGtleWJvYXJkRXZlbnQpCi17Ci0gICAgaWYgKGtleWJvYXJkRXZlbnQtPnR5cGUoKSAh
PSBldmVudE5hbWVzKCkua2V5ZG93bkV2ZW50KQotICAgICAgICByZXR1cm47Ci0KLSAgICBpZiAo
aXNEaXNhYmxlZCgpIHx8IGlzRmllbGRPd25lckRpc2FibGVkKCkpCi0gICAgICAgIHJldHVybjsK
LQotICAgIGNvbnN0IFN0cmluZyYga2V5SWRlbnRpZmllciA9IGtleWJvYXJkRXZlbnQtPmtleUlk
ZW50aWZpZXIoKTsKLQotICAgIGlmIChrZXlJZGVudGlmaWVyID09ICJMZWZ0IikgewotICAgICAg
ICBpZiAoIW1fZmllbGRPd25lcikKLSAgICAgICAgICAgIHJldHVybjsKLSAgICAgICAgLy8gRklY
TUU6IFdlJ2QgbGlrZSB0byB1c2UgRm9jdXNDb250cm9sbGVyOjphZHZhbmNlRm9jdXMoRm9jdXNE
aXJlY3Rpb25MZWZ0LCAuLi4pCi0gICAgICAgIC8vIGJ1dCBpdCBkb2Vzbid0IHdvcmsgZm9yIHNo
YWRvdyBub2Rlcy4gd2Via2l0Lm9yZy9iLzEwNDY1MAotICAgICAgICBpZiAoIWxvY2FsZUZvck93
bmVyKCkuaXNSVEwoKSAmJiBtX2ZpZWxkT3duZXItPmZvY3VzT25QcmV2aW91c0ZpZWxkKCp0aGlz
KSkKLSAgICAgICAgICAgIGtleWJvYXJkRXZlbnQtPnNldERlZmF1bHRIYW5kbGVkKCk7Ci0gICAg
ICAgIHJldHVybjsKLSAgICB9Ci0KLSAgICBpZiAoa2V5SWRlbnRpZmllciA9PSAiUmlnaHQiKSB7
Ci0gICAgICAgIGlmICghbV9maWVsZE93bmVyKQotICAgICAgICAgICAgcmV0dXJuOwotICAgICAg
ICAvLyBGSVhNRTogV2UnZCBsaWtlIHRvIHVzZSBGb2N1c0NvbnRyb2xsZXI6OmFkdmFuY2VGb2N1
cyhGb2N1c0RpcmVjdGlvblJpZ2h0LCAuLi4pCi0gICAgICAgIC8vIGJ1dCBpdCBkb2Vzbid0IHdv
cmsgZm9yIHNoYWRvdyBub2Rlcy4gd2Via2l0Lm9yZy9iLzEwNDY1MAotICAgICAgICBpZiAoIWxv
Y2FsZUZvck93bmVyKCkuaXNSVEwoKSAmJiBtX2ZpZWxkT3duZXItPmZvY3VzT25OZXh0RmllbGQo
KnRoaXMpKQotICAgICAgICAgICAga2V5Ym9hcmRFdmVudC0+c2V0RGVmYXVsdEhhbmRsZWQoKTsK
LSAgICAgICAgcmV0dXJuOwotICAgIH0KLQotICAgIGlmIChpc0ZpZWxkT3duZXJSZWFkT25seSgp
KQotICAgICAgICByZXR1cm47Ci0KLSAgICBpZiAoa2V5SWRlbnRpZmllciA9PSAiRG93biIpIHsK
LSAgICAgICAgaWYgKGtleWJvYXJkRXZlbnQtPmdldE1vZGlmaWVyU3RhdGUoIkFsdCIpKQotICAg
ICAgICAgICAgcmV0dXJuOwotICAgICAgICBrZXlib2FyZEV2ZW50LT5zZXREZWZhdWx0SGFuZGxl
ZCgpOwotICAgICAgICBzdGVwRG93bigpOwotICAgICAgICByZXR1cm47Ci0gICAgfQotCi0gICAg
aWYgKGtleUlkZW50aWZpZXIgPT0gIlVwIikgewotICAgICAgICBrZXlib2FyZEV2ZW50LT5zZXRE
ZWZhdWx0SGFuZGxlZCgpOwotICAgICAgICBzdGVwVXAoKTsKLSAgICAgICAgcmV0dXJuOwotICAg
IH0KLQotICAgIGlmIChrZXlJZGVudGlmaWVyID09ICJVKzAwMDgiIHx8IGtleUlkZW50aWZpZXIg
PT0gIlUrMDA3RiIpIHsKLSAgICAgICAga2V5Ym9hcmRFdmVudC0+c2V0RGVmYXVsdEhhbmRsZWQo
KTsKLSAgICAgICAgc2V0RW1wdHlWYWx1ZShEaXNwYXRjaEV2ZW50KTsKLSAgICAgICAgcmV0dXJu
OwotICAgIH0KLX0KLQotdm9pZCBEYXRlVGltZUZpZWxkRWxlbWVudDo6ZGlkQmx1cigpCi17Ci0g
ICAgaWYgKG1fZmllbGRPd25lcikKLSAgICAgICAgbV9maWVsZE93bmVyLT5kaWRCbHVyRnJvbUZp
ZWxkKCk7Ci19Ci0KLXZvaWQgRGF0ZVRpbWVGaWVsZEVsZW1lbnQ6OmRpZEZvY3VzKCkKLXsKLSAg
ICBpZiAobV9maWVsZE93bmVyKQotICAgICAgICBtX2ZpZWxkT3duZXItPmRpZEZvY3VzT25GaWVs
ZCgpOwotfQotCi12b2lkIERhdGVUaW1lRmllbGRFbGVtZW50Ojpmb2N1c09uTmV4dEZpZWxkKCkK
LXsKLSAgICBpZiAoIW1fZmllbGRPd25lcikKLSAgICAgICAgcmV0dXJuOwotICAgIG1fZmllbGRP
d25lci0+Zm9jdXNPbk5leHRGaWVsZCgqdGhpcyk7Ci19Ci0KLXZvaWQgRGF0ZVRpbWVGaWVsZEVs
ZW1lbnQ6OmluaXRpYWxpemUoY29uc3QgQXRvbWljU3RyaW5nJiBwc2V1ZG8sIGNvbnN0IFN0cmlu
ZyYgYXhIZWxwVGV4dCwgaW50IGF4TWluaW11bSwgaW50IGF4TWF4aW11bSkKLXsKLSAgICBzZXRB
dHRyaWJ1dGUoYXJpYV9oZWxwQXR0ciwgYXhIZWxwVGV4dCk7Ci0gICAgc2V0QXR0cmlidXRlKGFy
aWFfdmFsdWVtaW5BdHRyLCBTdHJpbmc6Om51bWJlcihheE1pbmltdW0pKTsKLSAgICBzZXRBdHRy
aWJ1dGUoYXJpYV92YWx1ZW1heEF0dHIsIFN0cmluZzo6bnVtYmVyKGF4TWF4aW11bSkpOwotICAg
IHNldFBzZXVkbyhwc2V1ZG8pOwotICAgIGFwcGVuZENoaWxkKFRleHQ6OmNyZWF0ZShkb2N1bWVu
dCgpLCB2aXNpYmxlVmFsdWUoKSkpOwotfQotCi1ib29sIERhdGVUaW1lRmllbGRFbGVtZW50Ojpp
c0RhdGVUaW1lRmllbGRFbGVtZW50KCkgY29uc3QKLXsKLSAgICByZXR1cm4gdHJ1ZTsKLX0KLQot
Ym9vbCBEYXRlVGltZUZpZWxkRWxlbWVudDo6aXNGaWVsZE93bmVyRGlzYWJsZWQoKSBjb25zdAot
ewotICAgIHJldHVybiBtX2ZpZWxkT3duZXIgJiYgbV9maWVsZE93bmVyLT5pc0ZpZWxkT3duZXJE
aXNhYmxlZCgpOwotfQotCi1ib29sIERhdGVUaW1lRmllbGRFbGVtZW50Ojppc0ZpZWxkT3duZXJS
ZWFkT25seSgpIGNvbnN0Ci17Ci0gICAgcmV0dXJuIG1fZmllbGRPd25lciAmJiBtX2ZpZWxkT3du
ZXItPmlzRmllbGRPd25lclJlYWRPbmx5KCk7Ci19Ci0KLWJvb2wgRGF0ZVRpbWVGaWVsZEVsZW1l
bnQ6OmlzRm9jdXNhYmxlKCkgY29uc3QKLXsKLSAgICBpZiAoaXNEaXNhYmxlZCgpKQotICAgICAg
ICByZXR1cm4gZmFsc2U7Ci0gICAgaWYgKGlzRmllbGRPd25lckRpc2FibGVkKCkpCi0gICAgICAg
IHJldHVybiBmYWxzZTsKLSAgICByZXR1cm4gSFRNTEVsZW1lbnQ6OmlzRm9jdXNhYmxlKCk7Ci19
Ci0KLWJvb2wgRGF0ZVRpbWVGaWVsZEVsZW1lbnQ6OmlzRGlzYWJsZWQoKSBjb25zdAotewotICAg
IHJldHVybiBmYXN0SGFzQXR0cmlidXRlKGRpc2FibGVkQXR0cik7Ci19Ci0KLUxvY2FsZSYgRGF0
ZVRpbWVGaWVsZEVsZW1lbnQ6OmxvY2FsZUZvck93bmVyKCkgY29uc3QKLXsKLSAgICByZXR1cm4g
ZG9jdW1lbnQoKS0+Z2V0Q2FjaGVkTG9jYWxlKGxvY2FsZUlkZW50aWZpZXIoKSk7Ci19Ci0KLUF0
b21pY1N0cmluZyBEYXRlVGltZUZpZWxkRWxlbWVudDo6bG9jYWxlSWRlbnRpZmllcigpIGNvbnN0
Ci17Ci0gICAgcmV0dXJuIG1fZmllbGRPd25lciA/IG1fZmllbGRPd25lci0+bG9jYWxlSWRlbnRp
ZmllcigpIDogbnVsbEF0b207Ci19Ci0KLWZsb2F0IERhdGVUaW1lRmllbGRFbGVtZW50OjptYXhp
bXVtV2lkdGgoY29uc3QgRm9udCYpCi17Ci0gICAgY29uc3QgZmxvYXQgcGFkZGluZ0xlZnRBbmRS
aWdodCA9IDI7IC8vIFRoaXMgc2hvdWxkIG1hdGNoIHRvIGh0bWwuY3NzLgotICAgIHJldHVybiBw
YWRkaW5nTGVmdEFuZFJpZ2h0OwotfQotCi12b2lkIERhdGVUaW1lRmllbGRFbGVtZW50OjpzZXRE
aXNhYmxlZCgpCi17Ci0gICAgLy8gU2V0IEhUTUwgYXR0cmlidXRlIGRpc2FibGVkIHRvIGNoYW5n
ZSBhcHBlcmFuY2UuCi0gICAgc2V0Qm9vbGVhbkF0dHJpYnV0ZShkaXNhYmxlZEF0dHIsIHRydWUp
OwotICAgIHNldE5lZWRzU3R5bGVSZWNhbGMoKTsKLX0KLQotYm9vbCBEYXRlVGltZUZpZWxkRWxl
bWVudDo6c3VwcG9ydHNGb2N1cygpIGNvbnN0Ci17Ci0gICAgcmV0dXJuIHRydWU7Ci19Ci0KLXZv
aWQgRGF0ZVRpbWVGaWVsZEVsZW1lbnQ6OnVwZGF0ZVZpc2libGVWYWx1ZShFdmVudEJlaGF2aW9y
IGV2ZW50QmVoYXZpb3IpCi17Ci0gICAgVGV4dCogY29uc3QgdGV4dE5vZGUgPSB0b1RleHQoZmly
c3RDaGlsZCgpKTsKLSAgICBjb25zdCBTdHJpbmcgbmV3VmlzaWJsZVZhbHVlID0gdmlzaWJsZVZh
bHVlKCk7Ci0gICAgQVNTRVJUKG5ld1Zpc2libGVWYWx1ZS5sZW5ndGgoKSA+IDApOwotCi0gICAg
aWYgKHRleHROb2RlLT53aG9sZVRleHQoKSA9PSBuZXdWaXNpYmxlVmFsdWUpCi0gICAgICAgIHJl
dHVybjsKLQotICAgIHRleHROb2RlLT5yZXBsYWNlV2hvbGVUZXh0KG5ld1Zpc2libGVWYWx1ZSwg
QVNTRVJUX05PX0VYQ0VQVElPTik7Ci0gICAgaWYgKGhhc1ZhbHVlKCkpIHsKLSAgICAgICAgc2V0
QXR0cmlidXRlKGFyaWFfdmFsdWV0ZXh0QXR0ciwgbmV3VmlzaWJsZVZhbHVlKTsKLSAgICAgICAg
c2V0QXR0cmlidXRlKGFyaWFfdmFsdWVub3dBdHRyLCBTdHJpbmc6Om51bWJlcih2YWx1ZUZvckFS
SUFWYWx1ZU5vdygpKSk7Ci0gICAgfSBlbHNlIHsKLSAgICAgICAgc2V0QXR0cmlidXRlKGFyaWFf
dmFsdWV0ZXh0QXR0ciwgQVhEYXRlVGltZUZpZWxkRW1wdHlWYWx1ZVRleHQoKSk7Ci0gICAgICAg
IHJlbW92ZUF0dHJpYnV0ZShhcmlhX3ZhbHVlbm93QXR0cik7Ci0gICAgfQotCi0gICAgaWYgKGV2
ZW50QmVoYXZpb3IgPT0gRGlzcGF0Y2hFdmVudCAmJiBtX2ZpZWxkT3duZXIpCi0gICAgICAgIG1f
ZmllbGRPd25lci0+ZmllbGRWYWx1ZUNoYW5nZWQoKTsKLX0KLQotaW50IERhdGVUaW1lRmllbGRF
bGVtZW50Ojp2YWx1ZUZvckFSSUFWYWx1ZU5vdygpIGNvbnN0Ci17Ci0gICAgcmV0dXJuIHZhbHVl
QXNJbnRlZ2VyKCk7Ci19Ci0KLX0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKLQotI2VuZGlmCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9EYXRlVGltZUZpZWxkRWxlbWVudC5o
IGIvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvRGF0ZVRpbWVGaWVsZEVsZW1lbnQuaApkZWxl
dGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMzE0OGNjYzgxNjAzMjZlOGY2ZjViY2FiMDhkYzU0
MjljM2MyNGFiNC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9EYXRlVGltZUZpZWxkRWxlbWVudC5oCisrKyAv
ZGV2L251bGwKQEAgLTEsMTA2ICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTIgR29v
Z2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQg
dXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlm
aWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0
aW9ucwotICogYXJlIG1ldDoKLSAqIDEuICBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUg
bXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqIDIuICBSZWRp
c3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHly
aWdodAotICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSAqICAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhl
ciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotICoKLSAqIFRISVMg
U09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBg
YEFTIElTJycgQU5ECi0gKiBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKLSAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBN
RVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFCi0gKiBB
UkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJ
QlVUT1JTIEJFIExJQUJMRQotICogRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFM
LCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwKLSAqIERBTUFHRVMgKElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RT
IE9SCi0gKiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lO
RVNTIElOVEVSUlVQVElPTikgSE9XRVZFUgotICogQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9G
IExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUCi0gKiBMSUFCSUxJVFksIE9S
IFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkg
V0FZCi0gKiBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQg
T0YgVEhFIFBPU1NJQklMSVRZIE9GCi0gKiBTVUNIIERBTUFHRS4KLSAqLwotCi0jaWZuZGVmIERh
dGVUaW1lRmllbGRFbGVtZW50X2gKLSNkZWZpbmUgRGF0ZVRpbWVGaWVsZEVsZW1lbnRfaAotCi0j
aWYgRU5BQkxFKElOUFVUX01VTFRJUExFX0ZJRUxEU19VSSkKLSNpbmNsdWRlICJIVE1MRGl2RWxl
bWVudC5oIgotCi1uYW1lc3BhY2UgV2ViQ29yZSB7Ci0KLWNsYXNzIERhdGVDb21wb25lbnRzOwot
Y2xhc3MgRGF0ZVRpbWVGaWVsZHNTdGF0ZTsKLWNsYXNzIEZvbnQ7Ci0KLS8vIERhdGVUaW1lRmll
bGRFbGVtZW50IGlzIGJhc2UgY2xhc3Mgb2YgZGF0ZSB0aW1lIGZpZWxkIGVsZW1lbnQuCi1jbGFz
cyBEYXRlVGltZUZpZWxkRWxlbWVudCA6IHB1YmxpYyBIVE1MRWxlbWVudCB7Ci0gICAgV1RGX01B
S0VfTk9OQ09QWUFCTEUoRGF0ZVRpbWVGaWVsZEVsZW1lbnQpOwotCi1wdWJsaWM6Ci0gICAgZW51
bSBFdmVudEJlaGF2aW9yIHsKLSAgICAgICAgRGlzcGF0Y2hOb0V2ZW50LAotICAgICAgICBEaXNw
YXRjaEV2ZW50LAotICAgIH07Ci0KLSAgICAvLyBGaWVsZE93bmVyIGltcGxlbWVudGVyIG11c3Qg
Y2FsbCByZW1vdmVFdmVudEhhbmRsZXIgd2hlbgotICAgIC8vIGl0IGRvZXNuJ3QgaGFuZGxlIGV2
ZW50LCBlLmcuIGF0IGRlc3RydWN0aW9uLgotICAgIGNsYXNzIEZpZWxkT3duZXIgewotICAgIHB1
YmxpYzoKLSAgICAgICAgdmlydHVhbCB+RmllbGRPd25lcigpOwotICAgICAgICB2aXJ0dWFsIHZv
aWQgZGlkQmx1ckZyb21GaWVsZCgpID0gMDsKLSAgICAgICAgdmlydHVhbCB2b2lkIGRpZEZvY3Vz
T25GaWVsZCgpID0gMDsKLSAgICAgICAgdmlydHVhbCB2b2lkIGZpZWxkVmFsdWVDaGFuZ2VkKCkg
PSAwOwotICAgICAgICB2aXJ0dWFsIGJvb2wgZm9jdXNPbk5leHRGaWVsZChjb25zdCBEYXRlVGlt
ZUZpZWxkRWxlbWVudCYpID0gMDsKLSAgICAgICAgdmlydHVhbCBib29sIGZvY3VzT25QcmV2aW91
c0ZpZWxkKGNvbnN0IERhdGVUaW1lRmllbGRFbGVtZW50JikgPSAwOwotICAgICAgICB2aXJ0dWFs
IGJvb2wgaXNGaWVsZE93bmVyRGlzYWJsZWQoKSBjb25zdCA9IDA7Ci0gICAgICAgIHZpcnR1YWwg
Ym9vbCBpc0ZpZWxkT3duZXJSZWFkT25seSgpIGNvbnN0ID0gMDsKLSAgICAgICAgdmlydHVhbCBB
dG9taWNTdHJpbmcgbG9jYWxlSWRlbnRpZmllcigpIGNvbnN0ID0gMDsKLSAgICB9OwotCi0gICAg
dmlydHVhbCB2b2lkIGRlZmF1bHRFdmVudEhhbmRsZXIoRXZlbnQqKSBPVkVSUklERTsKLSAgICB2
aXJ0dWFsIGJvb2wgaGFzVmFsdWUoKSBjb25zdCA9IDA7Ci0gICAgYm9vbCBpc0Rpc2FibGVkKCkg
Y29uc3Q7Ci0gICAgdmlydHVhbCBib29sIGlzRm9jdXNhYmxlKCkgY29uc3QgT1ZFUlJJREUgRklO
QUw7Ci0gICAgdmlydHVhbCBmbG9hdCBtYXhpbXVtV2lkdGgoY29uc3QgRm9udCYpOwotICAgIHZp
cnR1YWwgdm9pZCBwb3B1bGF0ZURhdGVUaW1lRmllbGRzU3RhdGUoRGF0ZVRpbWVGaWVsZHNTdGF0
ZSYpID0gMDsKLSAgICB2b2lkIHJlbW92ZUV2ZW50SGFuZGxlcigpIHsgbV9maWVsZE93bmVyID0g
MDsgfQotICAgIHZvaWQgc2V0RGlzYWJsZWQoKTsKLSAgICB2aXJ0dWFsIHZvaWQgc2V0RW1wdHlW
YWx1ZShFdmVudEJlaGF2aW9yID0gRGlzcGF0Y2hOb0V2ZW50KSA9IDA7Ci0gICAgdmlydHVhbCB2
b2lkIHNldFZhbHVlQXNEYXRlKGNvbnN0IERhdGVDb21wb25lbnRzJikgPSAwOwotICAgIHZpcnR1
YWwgdm9pZCBzZXRWYWx1ZUFzRGF0ZVRpbWVGaWVsZHNTdGF0ZShjb25zdCBEYXRlVGltZUZpZWxk
c1N0YXRlJikgPSAwOwotICAgIHZpcnR1YWwgdm9pZCBzZXRWYWx1ZUFzSW50ZWdlcihpbnQsIEV2
ZW50QmVoYXZpb3IgPSBEaXNwYXRjaE5vRXZlbnQpID0gMDsKLSAgICB2aXJ0dWFsIHZvaWQgc3Rl
cERvd24oKSA9IDA7Ci0gICAgdmlydHVhbCB2b2lkIHN0ZXBVcCgpID0gMDsKLSAgICB2aXJ0dWFs
IFN0cmluZyB2YWx1ZSgpIGNvbnN0ID0gMDsKLSAgICB2aXJ0dWFsIFN0cmluZyB2aXNpYmxlVmFs
dWUoKSBjb25zdCA9IDA7Ci0KLXByb3RlY3RlZDoKLSAgICBEYXRlVGltZUZpZWxkRWxlbWVudChE
b2N1bWVudCosIEZpZWxkT3duZXImKTsKLSAgICB2aXJ0dWFsIHZvaWQgZGlkQmx1cigpOwotICAg
IHZpcnR1YWwgdm9pZCBkaWRGb2N1cygpOwotICAgIHZvaWQgZm9jdXNPbk5leHRGaWVsZCgpOwot
ICAgIHZpcnR1YWwgdm9pZCBoYW5kbGVLZXlib2FyZEV2ZW50KEtleWJvYXJkRXZlbnQqKSA9IDA7
Ci0gICAgdm9pZCBpbml0aWFsaXplKGNvbnN0IEF0b21pY1N0cmluZyYgcHNldWRvLCBjb25zdCBT
dHJpbmcmIGF4SGVscFRleHQsIGludCBheE1pbmltdW0sIGludCBheE1heGltdW0pOwotICAgIExv
Y2FsZSYgbG9jYWxlRm9yT3duZXIoKSBjb25zdDsKLSAgICBBdG9taWNTdHJpbmcgbG9jYWxlSWRl
bnRpZmllcigpIGNvbnN0OwotICAgIHZvaWQgdXBkYXRlVmlzaWJsZVZhbHVlKEV2ZW50QmVoYXZp
b3IpOwotICAgIHZpcnR1YWwgaW50IHZhbHVlQXNJbnRlZ2VyKCkgY29uc3QgPSAwOwotICAgIHZp
cnR1YWwgaW50IHZhbHVlRm9yQVJJQVZhbHVlTm93KCkgY29uc3Q7Ci0KLXByaXZhdGU6Ci0gICAg
dm9pZCBkZWZhdWx0S2V5Ym9hcmRFdmVudEhhbmRsZXIoS2V5Ym9hcmRFdmVudCopOwotICAgIHZp
cnR1YWwgYm9vbCBpc0RhdGVUaW1lRmllbGRFbGVtZW50KCkgY29uc3QgT1ZFUlJJREU7Ci0gICAg
Ym9vbCBpc0ZpZWxkT3duZXJEaXNhYmxlZCgpIGNvbnN0OwotICAgIGJvb2wgaXNGaWVsZE93bmVy
UmVhZE9ubHkoKSBjb25zdDsKLSAgICB2aXJ0dWFsIGJvb2wgc3VwcG9ydHNGb2N1cygpIGNvbnN0
IE9WRVJSSURFIEZJTkFMOwotCi0gICAgRmllbGRPd25lciogbV9maWVsZE93bmVyOwotfTsKLQot
fSAvLyBuYW1lc3BhY2UgV2ViQ29yZQotCi0jZW5kaWYKLSNlbmRpZgpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvRGF0ZVRpbWVGaWVsZEVsZW1lbnRzLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvc2hhZG93L0RhdGVUaW1lRmllbGRFbGVtZW50cy5jcHAKZGVsZXRlZCBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IGM4NDA2MjI2NzgxYjAyMzMyMzU5ZTUyMzFkNDBkZmRlODFm
OTMyMTguLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvU291
cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvRGF0ZVRpbWVGaWVsZEVsZW1lbnRzLmNwcAorKysgL2Rl
di9udWxsCkBAIC0xLDYzNSArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDEyIEdvb2ds
ZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVz
ZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmlj
YXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlv
bnMKLSAqIGFyZSBtZXQ6Ci0gKiAxLiAgUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11
c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAyLiAgUmVkaXN0
cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmln
aHQKLSAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIg
bWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqCi0gKiBUSElTIFNP
RlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBB
UyBJUycnIEFORAotICogQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJ
TkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCi0gKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVS
Q0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRQotICogQVJF
IERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJV
VE9SUyBCRSBMSUFCTEUKLSAqIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwg
U1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMCi0gKiBEQU1BR0VTIChJTkNMVURJ
TkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBP
UgotICogU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVT
UyBJTlRFUlJVUFRJT04pIEhPV0VWRVIKLSAqIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBM
SUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVAotICogTElBQklMSVRZLCBPUiBU
T1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdB
WQotICogT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9G
IFRIRSBQT1NTSUJJTElUWSBPRgotICogU1VDSCBEQU1BR0UuCi0gKi8KLQotI2luY2x1ZGUgImNv
bmZpZy5oIgotI2lmIEVOQUJMRShJTlBVVF9NVUxUSVBMRV9GSUVMRFNfVUkpCi0jaW5jbHVkZSAi
RGF0ZVRpbWVGaWVsZEVsZW1lbnRzLmgiCi0KLSNpbmNsdWRlICJEYXRlQ29tcG9uZW50cy5oIgot
I2luY2x1ZGUgIkRhdGVUaW1lRmllbGRzU3RhdGUuaCIKLSNpbmNsdWRlICJMb2NhbGl6ZWRTdHJp
bmdzLmgiCi0jaW5jbHVkZSA8d3RmL0N1cnJlbnRUaW1lLmg+Ci0jaW5jbHVkZSA8d3RmL0RhdGVN
YXRoLmg+Ci0KLW5hbWVzcGFjZSBXZWJDb3JlIHsKLQotRGF0ZVRpbWVBTVBNRmllbGRFbGVtZW50
OjpEYXRlVGltZUFNUE1GaWVsZEVsZW1lbnQoRG9jdW1lbnQqIGRvY3VtZW50LCBGaWVsZE93bmVy
JiBmaWVsZE93bmVyLCBjb25zdCBWZWN0b3I8U3RyaW5nPiYgYW1wbUxhYmVscykKLSAgICA6IERh
dGVUaW1lU3ltYm9saWNGaWVsZEVsZW1lbnQoZG9jdW1lbnQsIGZpZWxkT3duZXIsIGFtcG1MYWJl
bHMsIDAsIDEpCi17Ci19Ci0KLVBhc3NSZWZQdHI8RGF0ZVRpbWVBTVBNRmllbGRFbGVtZW50PiBE
YXRlVGltZUFNUE1GaWVsZEVsZW1lbnQ6OmNyZWF0ZShEb2N1bWVudCogZG9jdW1lbnQsIEZpZWxk
T3duZXImIGZpZWxkT3duZXIsIGNvbnN0IFZlY3RvcjxTdHJpbmc+JiBhbXBtTGFiZWxzKQotewot
ICAgIERFRklORV9TVEFUSUNfTE9DQUwoQXRvbWljU3RyaW5nLCBhbXBtUHN1ZWRvSWQsICgiLXdl
YmtpdC1kYXRldGltZS1lZGl0LWFtcG0tZmllbGQiLCBBdG9taWNTdHJpbmc6OkNvbnN0cnVjdEZy
b21MaXRlcmFsKSk7Ci0gICAgUmVmUHRyPERhdGVUaW1lQU1QTUZpZWxkRWxlbWVudD4gZmllbGQg
PSBhZG9wdFJlZihuZXcgRGF0ZVRpbWVBTVBNRmllbGRFbGVtZW50KGRvY3VtZW50LCBmaWVsZE93
bmVyLCBhbXBtTGFiZWxzKSk7Ci0gICAgZmllbGQtPmluaXRpYWxpemUoYW1wbVBzdWVkb0lkLCBB
WEFNUE1GaWVsZFRleHQoKSk7Ci0gICAgcmV0dXJuIGZpZWxkLnJlbGVhc2UoKTsKLX0KLQotdm9p
ZCBEYXRlVGltZUFNUE1GaWVsZEVsZW1lbnQ6OnBvcHVsYXRlRGF0ZVRpbWVGaWVsZHNTdGF0ZShE
YXRlVGltZUZpZWxkc1N0YXRlJiBkYXRlVGltZUZpZWxkc1N0YXRlKQotewotICAgIGlmIChoYXNW
YWx1ZSgpKQotICAgICAgICBkYXRlVGltZUZpZWxkc1N0YXRlLnNldEFNUE0odmFsdWVBc0ludGVn
ZXIoKSA/IERhdGVUaW1lRmllbGRzU3RhdGU6OkFNUE1WYWx1ZVBNIDogRGF0ZVRpbWVGaWVsZHNT
dGF0ZTo6QU1QTVZhbHVlQU0pOwotICAgIGVsc2UKLSAgICAgICAgZGF0ZVRpbWVGaWVsZHNTdGF0
ZS5zZXRBTVBNKERhdGVUaW1lRmllbGRzU3RhdGU6OkFNUE1WYWx1ZUVtcHR5KTsKLX0KLQotdm9p
ZCBEYXRlVGltZUFNUE1GaWVsZEVsZW1lbnQ6OnNldFZhbHVlQXNEYXRlKGNvbnN0IERhdGVDb21w
b25lbnRzJiBkYXRlKQotewotICAgIHNldFZhbHVlQXNJbnRlZ2VyKGRhdGUuaG91cigpID49IDEy
ID8gMSA6IDApOwotfQotCi12b2lkIERhdGVUaW1lQU1QTUZpZWxkRWxlbWVudDo6c2V0VmFsdWVB
c0RhdGVUaW1lRmllbGRzU3RhdGUoY29uc3QgRGF0ZVRpbWVGaWVsZHNTdGF0ZSYgZGF0ZVRpbWVG
aWVsZHNTdGF0ZSkKLXsKLSAgICBpZiAoZGF0ZVRpbWVGaWVsZHNTdGF0ZS5oYXNBTVBNKCkpCi0g
ICAgICAgIHNldFZhbHVlQXNJbnRlZ2VyKGRhdGVUaW1lRmllbGRzU3RhdGUuYW1wbSgpKTsKLSAg
ICBlbHNlCi0gICAgICAgIHNldEVtcHR5VmFsdWUoKTsKLX0KLQotLy8gLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLQotCi1EYXRlVGltZURheUZpZWxkRWxlbWVudDo6RGF0ZVRpbWVEYXlGaWVs
ZEVsZW1lbnQoRG9jdW1lbnQqIGRvY3VtZW50LCBGaWVsZE93bmVyJiBmaWVsZE93bmVyLCBjb25z
dCBTdHJpbmcmIHBsYWNlaG9sZGVyLCBjb25zdCBSYW5nZSYgcmFuZ2UpCi0gICAgOiBEYXRlVGlt
ZU51bWVyaWNGaWVsZEVsZW1lbnQoZG9jdW1lbnQsIGZpZWxkT3duZXIsIHJhbmdlLCBSYW5nZSgx
LCAzMSksIHBsYWNlaG9sZGVyKQotewotfQotCi1QYXNzUmVmUHRyPERhdGVUaW1lRGF5RmllbGRF
bGVtZW50PiBEYXRlVGltZURheUZpZWxkRWxlbWVudDo6Y3JlYXRlKERvY3VtZW50KiBkb2N1bWVu
dCwgRmllbGRPd25lciYgZmllbGRPd25lciwgY29uc3QgU3RyaW5nJiBwbGFjZWhvbGRlciwgY29u
c3QgUmFuZ2UmIHJhbmdlKQotewotICAgIERFRklORV9TVEFUSUNfTE9DQUwoQXRvbWljU3RyaW5n
LCBkYXlQc3VlZG9JZCwgKCItd2Via2l0LWRhdGV0aW1lLWVkaXQtZGF5LWZpZWxkIiwgQXRvbWlj
U3RyaW5nOjpDb25zdHJ1Y3RGcm9tTGl0ZXJhbCkpOwotICAgIFJlZlB0cjxEYXRlVGltZURheUZp
ZWxkRWxlbWVudD4gZmllbGQgPSBhZG9wdFJlZihuZXcgRGF0ZVRpbWVEYXlGaWVsZEVsZW1lbnQo
ZG9jdW1lbnQsIGZpZWxkT3duZXIsIHBsYWNlaG9sZGVyLmlzRW1wdHkoKSA/IEFTQ0lJTGl0ZXJh
bCgiLS0iKSA6IHBsYWNlaG9sZGVyLCByYW5nZSkpOwotICAgIGZpZWxkLT5pbml0aWFsaXplKGRh
eVBzdWVkb0lkLCBBWERheU9mTW9udGhGaWVsZFRleHQoKSk7Ci0gICAgcmV0dXJuIGZpZWxkLnJl
bGVhc2UoKTsKLX0KLQotdm9pZCBEYXRlVGltZURheUZpZWxkRWxlbWVudDo6cG9wdWxhdGVEYXRl
VGltZUZpZWxkc1N0YXRlKERhdGVUaW1lRmllbGRzU3RhdGUmIGRhdGVUaW1lRmllbGRzU3RhdGUp
Ci17Ci0gICAgZGF0ZVRpbWVGaWVsZHNTdGF0ZS5zZXREYXlPZk1vbnRoKGhhc1ZhbHVlKCkgPyB2
YWx1ZUFzSW50ZWdlcigpIDogRGF0ZVRpbWVGaWVsZHNTdGF0ZTo6ZW1wdHlWYWx1ZSk7Ci19Ci0K
LXZvaWQgRGF0ZVRpbWVEYXlGaWVsZEVsZW1lbnQ6OnNldFZhbHVlQXNEYXRlKGNvbnN0IERhdGVD
b21wb25lbnRzJiBkYXRlKQotewotICAgIHNldFZhbHVlQXNJbnRlZ2VyKGRhdGUubW9udGhEYXko
KSk7Ci19Ci0KLXZvaWQgRGF0ZVRpbWVEYXlGaWVsZEVsZW1lbnQ6OnNldFZhbHVlQXNEYXRlVGlt
ZUZpZWxkc1N0YXRlKGNvbnN0IERhdGVUaW1lRmllbGRzU3RhdGUmIGRhdGVUaW1lRmllbGRzU3Rh
dGUpCi17Ci0gICAgaWYgKCFkYXRlVGltZUZpZWxkc1N0YXRlLmhhc0RheU9mTW9udGgoKSkgewot
ICAgICAgICBzZXRFbXB0eVZhbHVlKCk7Ci0gICAgICAgIHJldHVybjsKLSAgICB9Ci0KLSAgICBj
b25zdCB1bnNpZ25lZCB2YWx1ZSA9IGRhdGVUaW1lRmllbGRzU3RhdGUuZGF5T2ZNb250aCgpOwot
ICAgIGlmIChyYW5nZSgpLmlzSW5SYW5nZShzdGF0aWNfY2FzdDxpbnQ+KHZhbHVlKSkpIHsKLSAg
ICAgICAgc2V0VmFsdWVBc0ludGVnZXIodmFsdWUpOwotICAgICAgICByZXR1cm47Ci0gICAgfQot
Ci0gICAgc2V0RW1wdHlWYWx1ZSgpOwotfQotCi0vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tCi0KLURhdGVUaW1lSG91ckZpZWxkRWxlbWVudEJhc2U6OkRhdGVUaW1lSG91ckZpZWxkRWxl
bWVudEJhc2UoRG9jdW1lbnQqIGRvY3VtZW50LCBGaWVsZE93bmVyJiBmaWVsZE93bmVyLCBjb25z
dCBSYW5nZSYgcmFuZ2UsIGNvbnN0IFJhbmdlJiBoYXJkTGltaXRzLCBjb25zdCBTdGVwJiBzdGVw
KQotICAgIDogRGF0ZVRpbWVOdW1lcmljRmllbGRFbGVtZW50KGRvY3VtZW50LCBmaWVsZE93bmVy
LCByYW5nZSwgaGFyZExpbWl0cywgIi0tIiwgc3RlcCkKLXsKLX0KLQotdm9pZCBEYXRlVGltZUhv
dXJGaWVsZEVsZW1lbnRCYXNlOjppbml0aWFsaXplKCkKLXsKLSAgICBERUZJTkVfU1RBVElDX0xP
Q0FMKEF0b21pY1N0cmluZywgaG91clBzdWVkb0lkLCAoIi13ZWJraXQtZGF0ZXRpbWUtZWRpdC1o
b3VyLWZpZWxkIiwgQXRvbWljU3RyaW5nOjpDb25zdHJ1Y3RGcm9tTGl0ZXJhbCkpOwotICAgIERh
dGVUaW1lTnVtZXJpY0ZpZWxkRWxlbWVudDo6aW5pdGlhbGl6ZShob3VyUHN1ZWRvSWQsIEFYSG91
ckZpZWxkVGV4dCgpKTsKLX0KLQotdm9pZCBEYXRlVGltZUhvdXJGaWVsZEVsZW1lbnRCYXNlOjpz
ZXRWYWx1ZUFzRGF0ZShjb25zdCBEYXRlQ29tcG9uZW50cyYgZGF0ZSkKLXsKLSAgICBzZXRWYWx1
ZUFzSW50ZWdlcihkYXRlLmhvdXIoKSk7Ci19Ci0KLXZvaWQgRGF0ZVRpbWVIb3VyRmllbGRFbGVt
ZW50QmFzZTo6c2V0VmFsdWVBc0RhdGVUaW1lRmllbGRzU3RhdGUoY29uc3QgRGF0ZVRpbWVGaWVs
ZHNTdGF0ZSYgZGF0ZVRpbWVGaWVsZHNTdGF0ZSkKLXsKLSAgICBpZiAoIWRhdGVUaW1lRmllbGRz
U3RhdGUuaGFzSG91cigpKSB7Ci0gICAgICAgIHNldEVtcHR5VmFsdWUoKTsKLSAgICAgICAgcmV0
dXJuOwotICAgIH0KLQotICAgIGNvbnN0IGludCBob3VyMTIgPSBkYXRlVGltZUZpZWxkc1N0YXRl
LmhvdXIoKTsKLSAgICBpZiAoaG91cjEyIDwgMSB8fCBob3VyMTIgPiAxMikgewotICAgICAgICBz
ZXRFbXB0eVZhbHVlKCk7Ci0gICAgICAgIHJldHVybjsKLSAgICB9Ci0KLSAgICBpZiAoZGF0ZVRp
bWVGaWVsZHNTdGF0ZS5hbXBtKCkgPT0gRGF0ZVRpbWVGaWVsZHNTdGF0ZTo6QU1QTVZhbHVlUE0p
Ci0gICAgICAgIHNldFZhbHVlQXNJbnRlZ2VyKChob3VyMTIgKyAxMikgJSAyNCk7Ci0gICAgZWxz
ZQotICAgICAgICBzZXRWYWx1ZUFzSW50ZWdlcihob3VyMTIgJSAxMik7Ci19Ci0vLyAtLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tCi0KLURhdGVUaW1lSG91cjExRmllbGRFbGVtZW50OjpEYXRl
VGltZUhvdXIxMUZpZWxkRWxlbWVudChEb2N1bWVudCogZG9jdW1lbnQsIEZpZWxkT3duZXImIGZp
ZWxkT3duZXIsIGNvbnN0IFJhbmdlJiByYW5nZSwgY29uc3QgU3RlcCYgc3RlcCkKLSAgICA6IERh
dGVUaW1lSG91ckZpZWxkRWxlbWVudEJhc2UoZG9jdW1lbnQsIGZpZWxkT3duZXIsIHJhbmdlLCBS
YW5nZSgwLCAxMSksIHN0ZXApCi17Ci19Ci0KLVBhc3NSZWZQdHI8RGF0ZVRpbWVIb3VyMTFGaWVs
ZEVsZW1lbnQ+IERhdGVUaW1lSG91cjExRmllbGRFbGVtZW50OjpjcmVhdGUoRG9jdW1lbnQqIGRv
Y3VtZW50LCBGaWVsZE93bmVyJiBmaWVsZE93bmVyLCBjb25zdCBSYW5nZSYgaG91cjIzUmFuZ2Us
IGNvbnN0IFN0ZXAmIHN0ZXApCi17Ci0gICAgQVNTRVJUKGhvdXIyM1JhbmdlLm1pbmltdW0gPj0g
MCk7Ci0gICAgQVNTRVJUKGhvdXIyM1JhbmdlLm1heGltdW0gPD0gMjMpOwotICAgIEFTU0VSVCho
b3VyMjNSYW5nZS5taW5pbXVtIDw9IGhvdXIyM1JhbmdlLm1heGltdW0pOwotICAgIFJhbmdlIHJh
bmdlKDAsIDExKTsKLSAgICBpZiAoaG91cjIzUmFuZ2UubWF4aW11bSA8IDEyKQotICAgICAgICBy
YW5nZSA9IGhvdXIyM1JhbmdlOwotICAgIGVsc2UgaWYgKGhvdXIyM1JhbmdlLm1pbmltdW0gPj0g
MTIpIHsKLSAgICAgICAgcmFuZ2UubWluaW11bSA9IGhvdXIyM1JhbmdlLm1pbmltdW0gLSAxMjsK
LSAgICAgICAgcmFuZ2UubWF4aW11bSA9IGhvdXIyM1JhbmdlLm1heGltdW0gLSAxMjsKLSAgICB9
Ci0KLSAgICBSZWZQdHI8RGF0ZVRpbWVIb3VyMTFGaWVsZEVsZW1lbnQ+IGZpZWxkID0gYWRvcHRS
ZWYobmV3IERhdGVUaW1lSG91cjExRmllbGRFbGVtZW50KGRvY3VtZW50LCBmaWVsZE93bmVyLCBy
YW5nZSwgc3RlcCkpOwotICAgIGZpZWxkLT5pbml0aWFsaXplKCk7Ci0gICAgcmV0dXJuIGZpZWxk
LnJlbGVhc2UoKTsKLX0KLQotdm9pZCBEYXRlVGltZUhvdXIxMUZpZWxkRWxlbWVudDo6cG9wdWxh
dGVEYXRlVGltZUZpZWxkc1N0YXRlKERhdGVUaW1lRmllbGRzU3RhdGUmIGRhdGVUaW1lRmllbGRz
U3RhdGUpCi17Ci0gICAgaWYgKCFoYXNWYWx1ZSgpKSB7Ci0gICAgICAgIGRhdGVUaW1lRmllbGRz
U3RhdGUuc2V0SG91cihEYXRlVGltZUZpZWxkc1N0YXRlOjplbXB0eVZhbHVlKTsKLSAgICAgICAg
cmV0dXJuOwotICAgIH0KLSAgICBjb25zdCBpbnQgdmFsdWUgPSB2YWx1ZUFzSW50ZWdlcigpOwot
ICAgIGRhdGVUaW1lRmllbGRzU3RhdGUuc2V0SG91cih2YWx1ZSA/IHZhbHVlIDogMTIpOwotfQot
Ci12b2lkIERhdGVUaW1lSG91cjExRmllbGRFbGVtZW50OjpzZXRWYWx1ZUFzSW50ZWdlcihpbnQg
dmFsdWUsIEV2ZW50QmVoYXZpb3IgZXZlbnRCZWhhdmlvcikKLXsKLSAgICB2YWx1ZSA9IFJhbmdl
KDAsIDIzKS5jbGFtcFZhbHVlKHZhbHVlKSAlIDEyOwotICAgIERhdGVUaW1lTnVtZXJpY0ZpZWxk
RWxlbWVudDo6c2V0VmFsdWVBc0ludGVnZXIodmFsdWUsIGV2ZW50QmVoYXZpb3IpOwotfQotCi0v
LyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi0KLURhdGVUaW1lSG91cjEyRmllbGRFbGVt
ZW50OjpEYXRlVGltZUhvdXIxMkZpZWxkRWxlbWVudChEb2N1bWVudCogZG9jdW1lbnQsIEZpZWxk
T3duZXImIGZpZWxkT3duZXIsIGNvbnN0IFJhbmdlJiByYW5nZSwgY29uc3QgU3RlcCYgc3RlcCkK
LSAgICA6IERhdGVUaW1lSG91ckZpZWxkRWxlbWVudEJhc2UoZG9jdW1lbnQsIGZpZWxkT3duZXIs
IHJhbmdlLCBSYW5nZSgxLCAxMiksIHN0ZXApCi17Ci19Ci0KLVBhc3NSZWZQdHI8RGF0ZVRpbWVI
b3VyMTJGaWVsZEVsZW1lbnQ+IERhdGVUaW1lSG91cjEyRmllbGRFbGVtZW50OjpjcmVhdGUoRG9j
dW1lbnQqIGRvY3VtZW50LCBGaWVsZE93bmVyJiBmaWVsZE93bmVyLCBjb25zdCBSYW5nZSYgaG91
cjIzUmFuZ2UsIGNvbnN0IFN0ZXAmIHN0ZXApCi17Ci0gICAgQVNTRVJUKGhvdXIyM1JhbmdlLm1p
bmltdW0gPj0gMCk7Ci0gICAgQVNTRVJUKGhvdXIyM1JhbmdlLm1heGltdW0gPD0gMjMpOwotICAg
IEFTU0VSVChob3VyMjNSYW5nZS5taW5pbXVtIDw9IGhvdXIyM1JhbmdlLm1heGltdW0pOwotICAg
IFJhbmdlIHJhbmdlKDEsIDEyKTsKLSAgICBpZiAoaG91cjIzUmFuZ2UubWF4aW11bSA8IDEyKQot
ICAgICAgICByYW5nZSA9IGhvdXIyM1JhbmdlOwotICAgIGVsc2UgaWYgKGhvdXIyM1JhbmdlLm1p
bmltdW0gPj0gMTIpIHsKLSAgICAgICAgcmFuZ2UubWluaW11bSA9IGhvdXIyM1JhbmdlLm1pbmlt
dW0gLSAxMjsKLSAgICAgICAgcmFuZ2UubWF4aW11bSA9IGhvdXIyM1JhbmdlLm1heGltdW0gLSAx
MjsKLSAgICB9Ci0gICAgaWYgKCFyYW5nZS5taW5pbXVtKQotICAgICAgICByYW5nZS5taW5pbXVt
ID0gMTI7Ci0gICAgaWYgKCFyYW5nZS5tYXhpbXVtKQotICAgICAgICByYW5nZS5tYXhpbXVtID0g
MTI7Ci0gICAgaWYgKHJhbmdlLm1pbmltdW0gPiByYW5nZS5tYXhpbXVtKSB7Ci0gICAgICAgIHJh
bmdlLm1pbmltdW0gPSAxOwotICAgICAgICByYW5nZS5tYXhpbXVtID0gMTI7Ci0gICAgfQotICAg
IFJlZlB0cjxEYXRlVGltZUhvdXIxMkZpZWxkRWxlbWVudD4gZmllbGQgPSBhZG9wdFJlZihuZXcg
RGF0ZVRpbWVIb3VyMTJGaWVsZEVsZW1lbnQoZG9jdW1lbnQsIGZpZWxkT3duZXIsIHJhbmdlLCBz
dGVwKSk7Ci0gICAgZmllbGQtPmluaXRpYWxpemUoKTsKLSAgICByZXR1cm4gZmllbGQucmVsZWFz
ZSgpOwotfQotCi12b2lkIERhdGVUaW1lSG91cjEyRmllbGRFbGVtZW50Ojpwb3B1bGF0ZURhdGVU
aW1lRmllbGRzU3RhdGUoRGF0ZVRpbWVGaWVsZHNTdGF0ZSYgZGF0ZVRpbWVGaWVsZHNTdGF0ZSkK
LXsKLSAgICBkYXRlVGltZUZpZWxkc1N0YXRlLnNldEhvdXIoaGFzVmFsdWUoKSA/IHZhbHVlQXNJ
bnRlZ2VyKCkgOiBEYXRlVGltZUZpZWxkc1N0YXRlOjplbXB0eVZhbHVlKTsKLX0KLQotdm9pZCBE
YXRlVGltZUhvdXIxMkZpZWxkRWxlbWVudDo6c2V0VmFsdWVBc0ludGVnZXIoaW50IHZhbHVlLCBF
dmVudEJlaGF2aW9yIGV2ZW50QmVoYXZpb3IpCi17Ci0gICAgdmFsdWUgPSBSYW5nZSgwLCAyNCku
Y2xhbXBWYWx1ZSh2YWx1ZSkgJSAxMjsKLSAgICBEYXRlVGltZU51bWVyaWNGaWVsZEVsZW1lbnQ6
OnNldFZhbHVlQXNJbnRlZ2VyKHZhbHVlID8gdmFsdWUgOiAxMiwgZXZlbnRCZWhhdmlvcik7Ci19
Ci0KLS8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLQotRGF0ZVRpbWVIb3VyMjNGaWVs
ZEVsZW1lbnQ6OkRhdGVUaW1lSG91cjIzRmllbGRFbGVtZW50KERvY3VtZW50KiBkb2N1bWVudCwg
RmllbGRPd25lciYgZmllbGRPd25lciwgY29uc3QgUmFuZ2UmIHJhbmdlLCBjb25zdCBTdGVwJiBz
dGVwKQotICAgIDogRGF0ZVRpbWVIb3VyRmllbGRFbGVtZW50QmFzZShkb2N1bWVudCwgZmllbGRP
d25lciwgcmFuZ2UsIFJhbmdlKDAsIDIzKSwgc3RlcCkKLXsKLX0KLQotUGFzc1JlZlB0cjxEYXRl
VGltZUhvdXIyM0ZpZWxkRWxlbWVudD4gRGF0ZVRpbWVIb3VyMjNGaWVsZEVsZW1lbnQ6OmNyZWF0
ZShEb2N1bWVudCogZG9jdW1lbnQsIEZpZWxkT3duZXImIGZpZWxkT3duZXIsIGNvbnN0IFJhbmdl
JiBob3VyMjNSYW5nZSwgY29uc3QgU3RlcCYgc3RlcCkKLXsKLSAgICBBU1NFUlQoaG91cjIzUmFu
Z2UubWluaW11bSA+PSAwKTsKLSAgICBBU1NFUlQoaG91cjIzUmFuZ2UubWF4aW11bSA8PSAyMyk7
Ci0gICAgQVNTRVJUKGhvdXIyM1JhbmdlLm1pbmltdW0gPD0gaG91cjIzUmFuZ2UubWF4aW11bSk7
Ci0gICAgUmVmUHRyPERhdGVUaW1lSG91cjIzRmllbGRFbGVtZW50PiBmaWVsZCA9IGFkb3B0UmVm
KG5ldyBEYXRlVGltZUhvdXIyM0ZpZWxkRWxlbWVudChkb2N1bWVudCwgZmllbGRPd25lciwgaG91
cjIzUmFuZ2UsIHN0ZXApKTsKLSAgICBmaWVsZC0+aW5pdGlhbGl6ZSgpOwotICAgIHJldHVybiBm
aWVsZC5yZWxlYXNlKCk7Ci19Ci0KLXZvaWQgRGF0ZVRpbWVIb3VyMjNGaWVsZEVsZW1lbnQ6OnBv
cHVsYXRlRGF0ZVRpbWVGaWVsZHNTdGF0ZShEYXRlVGltZUZpZWxkc1N0YXRlJiBkYXRlVGltZUZp
ZWxkc1N0YXRlKQotewotICAgIGlmICghaGFzVmFsdWUoKSkgewotICAgICAgICBkYXRlVGltZUZp
ZWxkc1N0YXRlLnNldEhvdXIoRGF0ZVRpbWVGaWVsZHNTdGF0ZTo6ZW1wdHlWYWx1ZSk7Ci0gICAg
ICAgIHJldHVybjsKLSAgICB9Ci0KLSAgICBjb25zdCBpbnQgdmFsdWUgPSB2YWx1ZUFzSW50ZWdl
cigpOwotCi0gICAgZGF0ZVRpbWVGaWVsZHNTdGF0ZS5zZXRIb3VyKHZhbHVlID8gdmFsdWUgJSAx
MiA6IDEyKTsKLSAgICBkYXRlVGltZUZpZWxkc1N0YXRlLnNldEFNUE0odmFsdWUgPj0gMTIgPyBE
YXRlVGltZUZpZWxkc1N0YXRlOjpBTVBNVmFsdWVQTSA6IERhdGVUaW1lRmllbGRzU3RhdGU6OkFN
UE1WYWx1ZUFNKTsKLX0KLQotdm9pZCBEYXRlVGltZUhvdXIyM0ZpZWxkRWxlbWVudDo6c2V0VmFs
dWVBc0ludGVnZXIoaW50IHZhbHVlLCBFdmVudEJlaGF2aW9yIGV2ZW50QmVoYXZpb3IpCi17Ci0g
ICAgdmFsdWUgPSBSYW5nZSgwLCAyMykuY2xhbXBWYWx1ZSh2YWx1ZSk7Ci0gICAgRGF0ZVRpbWVO
dW1lcmljRmllbGRFbGVtZW50OjpzZXRWYWx1ZUFzSW50ZWdlcih2YWx1ZSwgZXZlbnRCZWhhdmlv
cik7Ci19Ci0KLS8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLQotRGF0ZVRpbWVIb3Vy
MjRGaWVsZEVsZW1lbnQ6OkRhdGVUaW1lSG91cjI0RmllbGRFbGVtZW50KERvY3VtZW50KiBkb2N1
bWVudCwgRmllbGRPd25lciYgZmllbGRPd25lciwgY29uc3QgUmFuZ2UmIHJhbmdlLCBjb25zdCBT
dGVwJiBzdGVwKQotICAgIDogRGF0ZVRpbWVIb3VyRmllbGRFbGVtZW50QmFzZShkb2N1bWVudCwg
ZmllbGRPd25lciwgcmFuZ2UsIFJhbmdlKDEsIDI0KSwgc3RlcCkKLXsKLX0KLQotUGFzc1JlZlB0
cjxEYXRlVGltZUhvdXIyNEZpZWxkRWxlbWVudD4gRGF0ZVRpbWVIb3VyMjRGaWVsZEVsZW1lbnQ6
OmNyZWF0ZShEb2N1bWVudCogZG9jdW1lbnQsIEZpZWxkT3duZXImIGZpZWxkT3duZXIsIGNvbnN0
IFJhbmdlJiBob3VyMjNSYW5nZSwgY29uc3QgU3RlcCYgc3RlcCkKLXsKLSAgICBBU1NFUlQoaG91
cjIzUmFuZ2UubWluaW11bSA+PSAwKTsKLSAgICBBU1NFUlQoaG91cjIzUmFuZ2UubWF4aW11bSA8
PSAyMyk7Ci0gICAgQVNTRVJUKGhvdXIyM1JhbmdlLm1pbmltdW0gPD0gaG91cjIzUmFuZ2UubWF4
aW11bSk7Ci0gICAgUmFuZ2UgcmFuZ2UoaG91cjIzUmFuZ2UubWluaW11bSA/IGhvdXIyM1Jhbmdl
Lm1pbmltdW0gOiAyNCwgaG91cjIzUmFuZ2UubWF4aW11bSA/IGhvdXIyM1JhbmdlLm1heGltdW0g
OiAyNCk7Ci0gICAgaWYgKHJhbmdlLm1pbmltdW0gPiByYW5nZS5tYXhpbXVtKSB7Ci0gICAgICAg
IHJhbmdlLm1pbmltdW0gPSAxOwotICAgICAgICByYW5nZS5tYXhpbXVtID0gMjQ7Ci0gICAgfQot
Ci0gICAgUmVmUHRyPERhdGVUaW1lSG91cjI0RmllbGRFbGVtZW50PiBmaWVsZCA9IGFkb3B0UmVm
KG5ldyBEYXRlVGltZUhvdXIyNEZpZWxkRWxlbWVudChkb2N1bWVudCwgZmllbGRPd25lciwgcmFu
Z2UsIHN0ZXApKTsKLSAgICBmaWVsZC0+aW5pdGlhbGl6ZSgpOwotICAgIHJldHVybiBmaWVsZC5y
ZWxlYXNlKCk7Ci19Ci0KLXZvaWQgRGF0ZVRpbWVIb3VyMjRGaWVsZEVsZW1lbnQ6OnBvcHVsYXRl
RGF0ZVRpbWVGaWVsZHNTdGF0ZShEYXRlVGltZUZpZWxkc1N0YXRlJiBkYXRlVGltZUZpZWxkc1N0
YXRlKQotewotICAgIGlmICghaGFzVmFsdWUoKSkgewotICAgICAgICBkYXRlVGltZUZpZWxkc1N0
YXRlLnNldEhvdXIoRGF0ZVRpbWVGaWVsZHNTdGF0ZTo6ZW1wdHlWYWx1ZSk7Ci0gICAgICAgIHJl
dHVybjsKLSAgICB9Ci0KLSAgICBjb25zdCBpbnQgdmFsdWUgPSB2YWx1ZUFzSW50ZWdlcigpOwot
Ci0gICAgaWYgKHZhbHVlID09IDI0KSB7Ci0gICAgICAgIGRhdGVUaW1lRmllbGRzU3RhdGUuc2V0
SG91cigxMik7Ci0gICAgICAgIGRhdGVUaW1lRmllbGRzU3RhdGUuc2V0QU1QTShEYXRlVGltZUZp
ZWxkc1N0YXRlOjpBTVBNVmFsdWVBTSk7Ci0gICAgfSBlbHNlIHsKLSAgICAgICAgZGF0ZVRpbWVG
aWVsZHNTdGF0ZS5zZXRIb3VyKHZhbHVlID09IDEyID8gMTIgOiB2YWx1ZSAlIDEyKTsKLSAgICAg
ICAgZGF0ZVRpbWVGaWVsZHNTdGF0ZS5zZXRBTVBNKHZhbHVlID49IDEyID8gRGF0ZVRpbWVGaWVs
ZHNTdGF0ZTo6QU1QTVZhbHVlUE0gOiBEYXRlVGltZUZpZWxkc1N0YXRlOjpBTVBNVmFsdWVBTSk7
Ci0gICAgfQotfQotCi12b2lkIERhdGVUaW1lSG91cjI0RmllbGRFbGVtZW50OjpzZXRWYWx1ZUFz
SW50ZWdlcihpbnQgdmFsdWUsIEV2ZW50QmVoYXZpb3IgZXZlbnRCZWhhdmlvcikKLXsKLSAgICB2
YWx1ZSA9IFJhbmdlKDAsIDI0KS5jbGFtcFZhbHVlKHZhbHVlKTsKLSAgICBEYXRlVGltZU51bWVy
aWNGaWVsZEVsZW1lbnQ6OnNldFZhbHVlQXNJbnRlZ2VyKHZhbHVlID8gdmFsdWUgOiAyNCwgZXZl
bnRCZWhhdmlvcik7Ci19Ci0KLS8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLQotRGF0
ZVRpbWVNaWxsaXNlY29uZEZpZWxkRWxlbWVudDo6RGF0ZVRpbWVNaWxsaXNlY29uZEZpZWxkRWxl
bWVudChEb2N1bWVudCogZG9jdW1lbnQsIEZpZWxkT3duZXImIGZpZWxkT3duZXIsIGNvbnN0IFJh
bmdlJiByYW5nZSwgY29uc3QgU3RlcCYgc3RlcCkKLSAgICA6IERhdGVUaW1lTnVtZXJpY0ZpZWxk
RWxlbWVudChkb2N1bWVudCwgZmllbGRPd25lciwgcmFuZ2UsIFJhbmdlKDAsIDk5OSksICItLS0i
LCBzdGVwKQotewotfQotCi1QYXNzUmVmUHRyPERhdGVUaW1lTWlsbGlzZWNvbmRGaWVsZEVsZW1l
bnQ+IERhdGVUaW1lTWlsbGlzZWNvbmRGaWVsZEVsZW1lbnQ6OmNyZWF0ZShEb2N1bWVudCogZG9j
dW1lbnQsIEZpZWxkT3duZXImIGZpZWxkT3duZXIsIGNvbnN0IFJhbmdlJiByYW5nZSwgY29uc3Qg
U3RlcCYgc3RlcCkKLXsKLSAgICBERUZJTkVfU1RBVElDX0xPQ0FMKEF0b21pY1N0cmluZywgbWls
bGlzZWNvbmRQc3VlZG9JZCwgKCItd2Via2l0LWRhdGV0aW1lLWVkaXQtbWlsbGlzZWNvbmQtZmll
bGQiLCBBdG9taWNTdHJpbmc6OkNvbnN0cnVjdEZyb21MaXRlcmFsKSk7Ci0gICAgUmVmUHRyPERh
dGVUaW1lTWlsbGlzZWNvbmRGaWVsZEVsZW1lbnQ+IGZpZWxkID0gYWRvcHRSZWYobmV3IERhdGVU
aW1lTWlsbGlzZWNvbmRGaWVsZEVsZW1lbnQoZG9jdW1lbnQsIGZpZWxkT3duZXIsIHJhbmdlLCBz
dGVwKSk7Ci0gICAgZmllbGQtPmluaXRpYWxpemUobWlsbGlzZWNvbmRQc3VlZG9JZCwgQVhNaWxs
aXNlY29uZEZpZWxkVGV4dCgpKTsKLSAgICByZXR1cm4gZmllbGQucmVsZWFzZSgpOwotfQotCi12
b2lkIERhdGVUaW1lTWlsbGlzZWNvbmRGaWVsZEVsZW1lbnQ6OnBvcHVsYXRlRGF0ZVRpbWVGaWVs
ZHNTdGF0ZShEYXRlVGltZUZpZWxkc1N0YXRlJiBkYXRlVGltZUZpZWxkc1N0YXRlKQotewotICAg
IGRhdGVUaW1lRmllbGRzU3RhdGUuc2V0TWlsbGlzZWNvbmQoaGFzVmFsdWUoKSA/IHZhbHVlQXNJ
bnRlZ2VyKCkgOiBEYXRlVGltZUZpZWxkc1N0YXRlOjplbXB0eVZhbHVlKTsKLX0KLQotdm9pZCBE
YXRlVGltZU1pbGxpc2Vjb25kRmllbGRFbGVtZW50OjpzZXRWYWx1ZUFzRGF0ZShjb25zdCBEYXRl
Q29tcG9uZW50cyYgZGF0ZSkKLXsKLSAgICBzZXRWYWx1ZUFzSW50ZWdlcihkYXRlLm1pbGxpc2Vj
b25kKCkpOwotfQotCi12b2lkIERhdGVUaW1lTWlsbGlzZWNvbmRGaWVsZEVsZW1lbnQ6OnNldFZh
bHVlQXNEYXRlVGltZUZpZWxkc1N0YXRlKGNvbnN0IERhdGVUaW1lRmllbGRzU3RhdGUmIGRhdGVU
aW1lRmllbGRzU3RhdGUpCi17Ci0gICAgaWYgKCFkYXRlVGltZUZpZWxkc1N0YXRlLmhhc01pbGxp
c2Vjb25kKCkpIHsKLSAgICAgICAgc2V0RW1wdHlWYWx1ZSgpOwotICAgICAgICByZXR1cm47Ci0g
ICAgfQotCi0gICAgY29uc3QgdW5zaWduZWQgdmFsdWUgPSBkYXRlVGltZUZpZWxkc1N0YXRlLm1p
bGxpc2Vjb25kKCk7Ci0gICAgaWYgKHZhbHVlID4gc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KG1heGlt
dW0oKSkpIHsKLSAgICAgICAgc2V0RW1wdHlWYWx1ZSgpOwotICAgICAgICByZXR1cm47Ci0gICAg
fQotCi0gICAgc2V0VmFsdWVBc0ludGVnZXIodmFsdWUpOwotfQotCi0vLyAtLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tCi0KLURhdGVUaW1lTWludXRlRmllbGRFbGVtZW50OjpEYXRlVGltZU1p
bnV0ZUZpZWxkRWxlbWVudChEb2N1bWVudCogZG9jdW1lbnQsIEZpZWxkT3duZXImIGZpZWxkT3du
ZXIsIGNvbnN0IFJhbmdlJiByYW5nZSwgY29uc3QgU3RlcCYgc3RlcCkKLSAgICA6IERhdGVUaW1l
TnVtZXJpY0ZpZWxkRWxlbWVudChkb2N1bWVudCwgZmllbGRPd25lciwgcmFuZ2UsIFJhbmdlKDAs
IDU5KSwgIi0tIiwgc3RlcCkKLXsKLX0KLQotUGFzc1JlZlB0cjxEYXRlVGltZU1pbnV0ZUZpZWxk
RWxlbWVudD4gRGF0ZVRpbWVNaW51dGVGaWVsZEVsZW1lbnQ6OmNyZWF0ZShEb2N1bWVudCogZG9j
dW1lbnQsIEZpZWxkT3duZXImIGZpZWxkT3duZXIsIGNvbnN0IFJhbmdlJiByYW5nZSwgY29uc3Qg
U3RlcCYgc3RlcCkKLXsKLSAgICBERUZJTkVfU1RBVElDX0xPQ0FMKEF0b21pY1N0cmluZywgbWlu
dXRlUHN1ZWRvSWQsICgiLXdlYmtpdC1kYXRldGltZS1lZGl0LW1pbnV0ZS1maWVsZCIsIEF0b21p
Y1N0cmluZzo6Q29uc3RydWN0RnJvbUxpdGVyYWwpKTsKLSAgICBSZWZQdHI8RGF0ZVRpbWVNaW51
dGVGaWVsZEVsZW1lbnQ+IGZpZWxkID0gYWRvcHRSZWYobmV3IERhdGVUaW1lTWludXRlRmllbGRF
bGVtZW50KGRvY3VtZW50LCBmaWVsZE93bmVyLCByYW5nZSwgc3RlcCkpOwotICAgIGZpZWxkLT5p
bml0aWFsaXplKG1pbnV0ZVBzdWVkb0lkLCBBWE1pbnV0ZUZpZWxkVGV4dCgpKTsKLSAgICByZXR1
cm4gZmllbGQucmVsZWFzZSgpOwotfQotCi12b2lkIERhdGVUaW1lTWludXRlRmllbGRFbGVtZW50
Ojpwb3B1bGF0ZURhdGVUaW1lRmllbGRzU3RhdGUoRGF0ZVRpbWVGaWVsZHNTdGF0ZSYgZGF0ZVRp
bWVGaWVsZHNTdGF0ZSkKLXsKLSAgICBkYXRlVGltZUZpZWxkc1N0YXRlLnNldE1pbnV0ZShoYXNW
YWx1ZSgpID8gdmFsdWVBc0ludGVnZXIoKSA6IERhdGVUaW1lRmllbGRzU3RhdGU6OmVtcHR5VmFs
dWUpOwotfQotCi12b2lkIERhdGVUaW1lTWludXRlRmllbGRFbGVtZW50OjpzZXRWYWx1ZUFzRGF0
ZShjb25zdCBEYXRlQ29tcG9uZW50cyYgZGF0ZSkKLXsKLSAgICBzZXRWYWx1ZUFzSW50ZWdlcihk
YXRlLm1pbnV0ZSgpKTsKLX0KLQotdm9pZCBEYXRlVGltZU1pbnV0ZUZpZWxkRWxlbWVudDo6c2V0
VmFsdWVBc0RhdGVUaW1lRmllbGRzU3RhdGUoY29uc3QgRGF0ZVRpbWVGaWVsZHNTdGF0ZSYgZGF0
ZVRpbWVGaWVsZHNTdGF0ZSkKLXsKLSAgICBpZiAoIWRhdGVUaW1lRmllbGRzU3RhdGUuaGFzTWlu
dXRlKCkpIHsKLSAgICAgICAgc2V0RW1wdHlWYWx1ZSgpOwotICAgICAgICByZXR1cm47Ci0gICAg
fQotCi0gICAgY29uc3QgdW5zaWduZWQgdmFsdWUgPSBkYXRlVGltZUZpZWxkc1N0YXRlLm1pbnV0
ZSgpOwotICAgIGlmICh2YWx1ZSA+IHN0YXRpY19jYXN0PHVuc2lnbmVkPihtYXhpbXVtKCkpKSB7
Ci0gICAgICAgIHNldEVtcHR5VmFsdWUoKTsKLSAgICAgICAgcmV0dXJuOwotICAgIH0KLQotICAg
IHNldFZhbHVlQXNJbnRlZ2VyKHZhbHVlKTsKLX0KLQotLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLQotCi1EYXRlVGltZU1vbnRoRmllbGRFbGVtZW50OjpEYXRlVGltZU1vbnRoRmllbGRF
bGVtZW50KERvY3VtZW50KiBkb2N1bWVudCwgRmllbGRPd25lciYgZmllbGRPd25lciwgY29uc3Qg
U3RyaW5nJiBwbGFjZWhvbGRlciwgY29uc3QgUmFuZ2UmIHJhbmdlKQotICAgIDogRGF0ZVRpbWVO
dW1lcmljRmllbGRFbGVtZW50KGRvY3VtZW50LCBmaWVsZE93bmVyLCByYW5nZSwgUmFuZ2UoMSwg
MTIpLCBwbGFjZWhvbGRlcikKLXsKLX0KLQotUGFzc1JlZlB0cjxEYXRlVGltZU1vbnRoRmllbGRF
bGVtZW50PiBEYXRlVGltZU1vbnRoRmllbGRFbGVtZW50OjpjcmVhdGUoRG9jdW1lbnQqIGRvY3Vt
ZW50LCBGaWVsZE93bmVyJiBmaWVsZE93bmVyLCBjb25zdCBTdHJpbmcmIHBsYWNlaG9sZGVyLCBj
b25zdCBSYW5nZSYgcmFuZ2UpCi17Ci0gICAgREVGSU5FX1NUQVRJQ19MT0NBTChBdG9taWNTdHJp
bmcsIG1vbnRoUHN1ZWRvSWQsICgiLXdlYmtpdC1kYXRldGltZS1lZGl0LW1vbnRoLWZpZWxkIiwg
QXRvbWljU3RyaW5nOjpDb25zdHJ1Y3RGcm9tTGl0ZXJhbCkpOwotICAgIFJlZlB0cjxEYXRlVGlt
ZU1vbnRoRmllbGRFbGVtZW50PiBmaWVsZCA9IGFkb3B0UmVmKG5ldyBEYXRlVGltZU1vbnRoRmll
bGRFbGVtZW50KGRvY3VtZW50LCBmaWVsZE93bmVyLCBwbGFjZWhvbGRlci5pc0VtcHR5KCkgPyBB
U0NJSUxpdGVyYWwoIi0tIikgOiBwbGFjZWhvbGRlciwgcmFuZ2UpKTsKLSAgICBmaWVsZC0+aW5p
dGlhbGl6ZShtb250aFBzdWVkb0lkLCBBWE1vbnRoRmllbGRUZXh0KCkpOwotICAgIHJldHVybiBm
aWVsZC5yZWxlYXNlKCk7Ci19Ci0KLXZvaWQgRGF0ZVRpbWVNb250aEZpZWxkRWxlbWVudDo6cG9w
dWxhdGVEYXRlVGltZUZpZWxkc1N0YXRlKERhdGVUaW1lRmllbGRzU3RhdGUmIGRhdGVUaW1lRmll
bGRzU3RhdGUpCi17Ci0gICAgZGF0ZVRpbWVGaWVsZHNTdGF0ZS5zZXRNb250aChoYXNWYWx1ZSgp
ID8gdmFsdWVBc0ludGVnZXIoKSA6IERhdGVUaW1lRmllbGRzU3RhdGU6OmVtcHR5VmFsdWUpOwot
fQotCi12b2lkIERhdGVUaW1lTW9udGhGaWVsZEVsZW1lbnQ6OnNldFZhbHVlQXNEYXRlKGNvbnN0
IERhdGVDb21wb25lbnRzJiBkYXRlKQotewotICAgIHNldFZhbHVlQXNJbnRlZ2VyKGRhdGUubW9u
dGgoKSArIDEpOwotfQotCi12b2lkIERhdGVUaW1lTW9udGhGaWVsZEVsZW1lbnQ6OnNldFZhbHVl
QXNEYXRlVGltZUZpZWxkc1N0YXRlKGNvbnN0IERhdGVUaW1lRmllbGRzU3RhdGUmIGRhdGVUaW1l
RmllbGRzU3RhdGUpCi17Ci0gICAgaWYgKCFkYXRlVGltZUZpZWxkc1N0YXRlLmhhc01vbnRoKCkp
IHsKLSAgICAgICAgc2V0RW1wdHlWYWx1ZSgpOwotICAgICAgICByZXR1cm47Ci0gICAgfQotCi0g
ICAgY29uc3QgdW5zaWduZWQgdmFsdWUgPSBkYXRlVGltZUZpZWxkc1N0YXRlLm1vbnRoKCk7Ci0g
ICAgaWYgKHJhbmdlKCkuaXNJblJhbmdlKHN0YXRpY19jYXN0PGludD4odmFsdWUpKSkgewotICAg
ICAgICBzZXRWYWx1ZUFzSW50ZWdlcih2YWx1ZSk7Ci0gICAgICAgIHJldHVybjsKLSAgICB9Ci0K
LSAgICBzZXRFbXB0eVZhbHVlKCk7Ci19Ci0KLS8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0KLQotRGF0ZVRpbWVTZWNvbmRGaWVsZEVsZW1lbnQ6OkRhdGVUaW1lU2Vjb25kRmllbGRFbGVt
ZW50KERvY3VtZW50KiBkb2N1bWVudCwgRmllbGRPd25lciYgZmllbGRPd25lciwgY29uc3QgUmFu
Z2UmIHJhbmdlLCBjb25zdCBTdGVwJiBzdGVwKQotICAgIDogRGF0ZVRpbWVOdW1lcmljRmllbGRF
bGVtZW50KGRvY3VtZW50LCBmaWVsZE93bmVyLCByYW5nZSwgUmFuZ2UoMCwgNTkpLCAiLS0iLCBz
dGVwKQotewotfQotCi1QYXNzUmVmUHRyPERhdGVUaW1lU2Vjb25kRmllbGRFbGVtZW50PiBEYXRl
VGltZVNlY29uZEZpZWxkRWxlbWVudDo6Y3JlYXRlKERvY3VtZW50KiBkb2N1bWVudCwgRmllbGRP
d25lciYgZmllbGRPd25lciwgY29uc3QgUmFuZ2UmIHJhbmdlLCBjb25zdCBTdGVwJiBzdGVwKQot
ewotICAgIERFRklORV9TVEFUSUNfTE9DQUwoQXRvbWljU3RyaW5nLCBzZWNvbmRQc3VlZG9JZCwg
KCItd2Via2l0LWRhdGV0aW1lLWVkaXQtc2Vjb25kLWZpZWxkIiwgQXRvbWljU3RyaW5nOjpDb25z
dHJ1Y3RGcm9tTGl0ZXJhbCkpOwotICAgIFJlZlB0cjxEYXRlVGltZVNlY29uZEZpZWxkRWxlbWVu
dD4gZmllbGQgPSBhZG9wdFJlZihuZXcgRGF0ZVRpbWVTZWNvbmRGaWVsZEVsZW1lbnQoZG9jdW1l
bnQsIGZpZWxkT3duZXIsIHJhbmdlLCBzdGVwKSk7Ci0gICAgZmllbGQtPmluaXRpYWxpemUoc2Vj
b25kUHN1ZWRvSWQsIEFYU2Vjb25kRmllbGRUZXh0KCkpOwotICAgIHJldHVybiBmaWVsZC5yZWxl
YXNlKCk7Ci19Ci0KLXZvaWQgRGF0ZVRpbWVTZWNvbmRGaWVsZEVsZW1lbnQ6OnBvcHVsYXRlRGF0
ZVRpbWVGaWVsZHNTdGF0ZShEYXRlVGltZUZpZWxkc1N0YXRlJiBkYXRlVGltZUZpZWxkc1N0YXRl
KQotewotICAgIGRhdGVUaW1lRmllbGRzU3RhdGUuc2V0U2Vjb25kKGhhc1ZhbHVlKCkgPyB2YWx1
ZUFzSW50ZWdlcigpIDogRGF0ZVRpbWVGaWVsZHNTdGF0ZTo6ZW1wdHlWYWx1ZSk7Ci19Ci0KLXZv
aWQgRGF0ZVRpbWVTZWNvbmRGaWVsZEVsZW1lbnQ6OnNldFZhbHVlQXNEYXRlKGNvbnN0IERhdGVD
b21wb25lbnRzJiBkYXRlKQotewotICAgIHNldFZhbHVlQXNJbnRlZ2VyKGRhdGUuc2Vjb25kKCkp
OwotfQotCi12b2lkIERhdGVUaW1lU2Vjb25kRmllbGRFbGVtZW50OjpzZXRWYWx1ZUFzRGF0ZVRp
bWVGaWVsZHNTdGF0ZShjb25zdCBEYXRlVGltZUZpZWxkc1N0YXRlJiBkYXRlVGltZUZpZWxkc1N0
YXRlKQotewotICAgIGlmICghZGF0ZVRpbWVGaWVsZHNTdGF0ZS5oYXNTZWNvbmQoKSkgewotICAg
ICAgICBzZXRFbXB0eVZhbHVlKCk7Ci0gICAgICAgIHJldHVybjsKLSAgICB9Ci0KLSAgICBjb25z
dCB1bnNpZ25lZCB2YWx1ZSA9IGRhdGVUaW1lRmllbGRzU3RhdGUuc2Vjb25kKCk7Ci0gICAgaWYg
KHZhbHVlID4gc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KG1heGltdW0oKSkpIHsKLSAgICAgICAgc2V0
RW1wdHlWYWx1ZSgpOwotICAgICAgICByZXR1cm47Ci0gICAgfQotCi0gICAgc2V0VmFsdWVBc0lu
dGVnZXIodmFsdWUpOwotfQotCi0vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi0KLURh
dGVUaW1lU3ltYm9saWNNb250aEZpZWxkRWxlbWVudDo6RGF0ZVRpbWVTeW1ib2xpY01vbnRoRmll
bGRFbGVtZW50KERvY3VtZW50KiBkb2N1bWVudCwgRmllbGRPd25lciYgZmllbGRPd25lciwgY29u
c3QgVmVjdG9yPFN0cmluZz4mIGxhYmVscywgaW50IG1pbmltdW0sIGludCBtYXhpbXVtKQotICAg
IDogRGF0ZVRpbWVTeW1ib2xpY0ZpZWxkRWxlbWVudChkb2N1bWVudCwgZmllbGRPd25lciwgbGFi
ZWxzLCBtaW5pbXVtLCBtYXhpbXVtKQotewotfQotCi1QYXNzUmVmUHRyPERhdGVUaW1lU3ltYm9s
aWNNb250aEZpZWxkRWxlbWVudD4gRGF0ZVRpbWVTeW1ib2xpY01vbnRoRmllbGRFbGVtZW50Ojpj
cmVhdGUoRG9jdW1lbnQqIGRvY3VtZW50LCBGaWVsZE93bmVyJiBmaWVsZE93bmVyLCBjb25zdCBW
ZWN0b3I8U3RyaW5nPiYgbGFiZWxzLCBpbnQgbWluaW11bSwgaW50IG1heGltdW0pCi17Ci0gICAg
REVGSU5FX1NUQVRJQ19MT0NBTChBdG9taWNTdHJpbmcsIG1vbnRoUHN1ZWRvSWQsICgiLXdlYmtp
dC1kYXRldGltZS1lZGl0LW1vbnRoLWZpZWxkIiwgQXRvbWljU3RyaW5nOjpDb25zdHJ1Y3RGcm9t
TGl0ZXJhbCkpOwotICAgIFJlZlB0cjxEYXRlVGltZVN5bWJvbGljTW9udGhGaWVsZEVsZW1lbnQ+
IGZpZWxkID0gYWRvcHRSZWYobmV3IERhdGVUaW1lU3ltYm9saWNNb250aEZpZWxkRWxlbWVudChk
b2N1bWVudCwgZmllbGRPd25lciwgbGFiZWxzLCBtaW5pbXVtLCBtYXhpbXVtKSk7Ci0gICAgZmll
bGQtPmluaXRpYWxpemUobW9udGhQc3VlZG9JZCwgQVhNb250aEZpZWxkVGV4dCgpKTsKLSAgICBy
ZXR1cm4gZmllbGQucmVsZWFzZSgpOwotfQotCi12b2lkIERhdGVUaW1lU3ltYm9saWNNb250aEZp
ZWxkRWxlbWVudDo6cG9wdWxhdGVEYXRlVGltZUZpZWxkc1N0YXRlKERhdGVUaW1lRmllbGRzU3Rh
dGUmIGRhdGVUaW1lRmllbGRzU3RhdGUpCi17Ci0gICAgaWYgKCFoYXNWYWx1ZSgpKQotICAgICAg
ICBkYXRlVGltZUZpZWxkc1N0YXRlLnNldE1vbnRoKERhdGVUaW1lRmllbGRzU3RhdGU6OmVtcHR5
VmFsdWUpOwotICAgIEFTU0VSVCh2YWx1ZUFzSW50ZWdlcigpIDwgc3RhdGljX2Nhc3Q8aW50Pihz
eW1ib2xzU2l6ZSgpKSk7Ci0gICAgZGF0ZVRpbWVGaWVsZHNTdGF0ZS5zZXRNb250aCh2YWx1ZUFz
SW50ZWdlcigpICsgMSk7Ci19Ci0KLXZvaWQgRGF0ZVRpbWVTeW1ib2xpY01vbnRoRmllbGRFbGVt
ZW50OjpzZXRWYWx1ZUFzRGF0ZShjb25zdCBEYXRlQ29tcG9uZW50cyYgZGF0ZSkKLXsKLSAgICBz
ZXRWYWx1ZUFzSW50ZWdlcihkYXRlLm1vbnRoKCkpOwotfQotCi12b2lkIERhdGVUaW1lU3ltYm9s
aWNNb250aEZpZWxkRWxlbWVudDo6c2V0VmFsdWVBc0RhdGVUaW1lRmllbGRzU3RhdGUoY29uc3Qg
RGF0ZVRpbWVGaWVsZHNTdGF0ZSYgZGF0ZVRpbWVGaWVsZHNTdGF0ZSkKLXsKLSAgICBpZiAoIWRh
dGVUaW1lRmllbGRzU3RhdGUuaGFzTW9udGgoKSkgewotICAgICAgICBzZXRFbXB0eVZhbHVlKCk7
Ci0gICAgICAgIHJldHVybjsKLSAgICB9Ci0KLSAgICBjb25zdCB1bnNpZ25lZCB2YWx1ZSA9IGRh
dGVUaW1lRmllbGRzU3RhdGUubW9udGgoKSAtIDE7Ci0gICAgaWYgKHZhbHVlID49IHN5bWJvbHNT
aXplKCkpIHsKLSAgICAgICAgc2V0RW1wdHlWYWx1ZSgpOwotICAgICAgICByZXR1cm47Ci0gICAg
fQotCi0gICAgc2V0VmFsdWVBc0ludGVnZXIodmFsdWUpOwotfQotCi0vLyAtLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tCi0KLURhdGVUaW1lV2Vla0ZpZWxkRWxlbWVudDo6RGF0ZVRpbWVXZWVr
RmllbGRFbGVtZW50KERvY3VtZW50KiBkb2N1bWVudCwgRmllbGRPd25lciYgZmllbGRPd25lciwg
Y29uc3QgUmFuZ2UmIHJhbmdlKQotICAgIDogRGF0ZVRpbWVOdW1lcmljRmllbGRFbGVtZW50KGRv
Y3VtZW50LCBmaWVsZE93bmVyLCByYW5nZSwgUmFuZ2UoRGF0ZUNvbXBvbmVudHM6Om1pbmltdW1X
ZWVrTnVtYmVyLCBEYXRlQ29tcG9uZW50czo6bWF4aW11bVdlZWtOdW1iZXIpLCAiLS0iKQotewot
fQotCi1QYXNzUmVmUHRyPERhdGVUaW1lV2Vla0ZpZWxkRWxlbWVudD4gRGF0ZVRpbWVXZWVrRmll
bGRFbGVtZW50OjpjcmVhdGUoRG9jdW1lbnQqIGRvY3VtZW50LCBGaWVsZE93bmVyJiBmaWVsZE93
bmVyLCBjb25zdCBSYW5nZSYgcmFuZ2UpCi17Ci0gICAgREVGSU5FX1NUQVRJQ19MT0NBTChBdG9t
aWNTdHJpbmcsIHdlZWtQc3VlZG9JZCwgKCItd2Via2l0LWRhdGV0aW1lLWVkaXQtd2Vlay1maWVs
ZCIsIEF0b21pY1N0cmluZzo6Q29uc3RydWN0RnJvbUxpdGVyYWwpKTsKLSAgICBSZWZQdHI8RGF0
ZVRpbWVXZWVrRmllbGRFbGVtZW50PiBmaWVsZCA9IGFkb3B0UmVmKG5ldyBEYXRlVGltZVdlZWtG
aWVsZEVsZW1lbnQoZG9jdW1lbnQsIGZpZWxkT3duZXIsIHJhbmdlKSk7Ci0gICAgZmllbGQtPmlu
aXRpYWxpemUod2Vla1BzdWVkb0lkLCBBWFdlZWtPZlllYXJGaWVsZFRleHQoKSk7Ci0gICAgcmV0
dXJuIGZpZWxkLnJlbGVhc2UoKTsKLX0KLQotdm9pZCBEYXRlVGltZVdlZWtGaWVsZEVsZW1lbnQ6
OnBvcHVsYXRlRGF0ZVRpbWVGaWVsZHNTdGF0ZShEYXRlVGltZUZpZWxkc1N0YXRlJiBkYXRlVGlt
ZUZpZWxkc1N0YXRlKQotewotICAgIGRhdGVUaW1lRmllbGRzU3RhdGUuc2V0V2Vla09mWWVhciho
YXNWYWx1ZSgpID8gdmFsdWVBc0ludGVnZXIoKSA6IERhdGVUaW1lRmllbGRzU3RhdGU6OmVtcHR5
VmFsdWUpOwotfQotCi12b2lkIERhdGVUaW1lV2Vla0ZpZWxkRWxlbWVudDo6c2V0VmFsdWVBc0Rh
dGUoY29uc3QgRGF0ZUNvbXBvbmVudHMmIGRhdGUpCi17Ci0gICAgc2V0VmFsdWVBc0ludGVnZXIo
ZGF0ZS53ZWVrKCkpOwotfQotCi12b2lkIERhdGVUaW1lV2Vla0ZpZWxkRWxlbWVudDo6c2V0VmFs
dWVBc0RhdGVUaW1lRmllbGRzU3RhdGUoY29uc3QgRGF0ZVRpbWVGaWVsZHNTdGF0ZSYgZGF0ZVRp
bWVGaWVsZHNTdGF0ZSkKLXsKLSAgICBpZiAoIWRhdGVUaW1lRmllbGRzU3RhdGUuaGFzV2Vla09m
WWVhcigpKSB7Ci0gICAgICAgIHNldEVtcHR5VmFsdWUoKTsKLSAgICAgICAgcmV0dXJuOwotICAg
IH0KLQotICAgIGNvbnN0IHVuc2lnbmVkIHZhbHVlID0gZGF0ZVRpbWVGaWVsZHNTdGF0ZS53ZWVr
T2ZZZWFyKCk7Ci0gICAgaWYgKHJhbmdlKCkuaXNJblJhbmdlKHN0YXRpY19jYXN0PGludD4odmFs
dWUpKSkgewotICAgICAgICBzZXRWYWx1ZUFzSW50ZWdlcih2YWx1ZSk7Ci0gICAgICAgIHJldHVy
bjsKLSAgICB9Ci0KLSAgICBzZXRFbXB0eVZhbHVlKCk7Ci19Ci0KLS8vIC0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0KLQotRGF0ZVRpbWVZZWFyRmllbGRFbGVtZW50OjpEYXRlVGltZVllYXJG
aWVsZEVsZW1lbnQoRG9jdW1lbnQqIGRvY3VtZW50LCBGaWVsZE93bmVyJiBmaWVsZE93bmVyLCBj
b25zdCBEYXRlVGltZVllYXJGaWVsZEVsZW1lbnQ6OlBhcmFtZXRlcnMmIHBhcmFtZXRlcnMpCi0g
ICAgOiBEYXRlVGltZU51bWVyaWNGaWVsZEVsZW1lbnQoZG9jdW1lbnQsIGZpZWxkT3duZXIsIFJh
bmdlKHBhcmFtZXRlcnMubWluaW11bVllYXIsIHBhcmFtZXRlcnMubWF4aW11bVllYXIpLCBSYW5n
ZShEYXRlQ29tcG9uZW50czo6bWluaW11bVllYXIoKSwgRGF0ZUNvbXBvbmVudHM6Om1heGltdW1Z
ZWFyKCkpLCBwYXJhbWV0ZXJzLnBsYWNlaG9sZGVyLmlzRW1wdHkoKSA/IEFTQ0lJTGl0ZXJhbCgi
LS0tLSIpIDogcGFyYW1ldGVycy5wbGFjZWhvbGRlcikKLSAgICAsIG1fbWluSXNTcGVjaWZpZWQo
cGFyYW1ldGVycy5taW5Jc1NwZWNpZmllZCkKLSAgICAsIG1fbWF4SXNTcGVjaWZpZWQocGFyYW1l
dGVycy5tYXhJc1NwZWNpZmllZCkKLXsKLSAgICBBU1NFUlQocGFyYW1ldGVycy5taW5pbXVtWWVh
ciA+PSBEYXRlQ29tcG9uZW50czo6bWluaW11bVllYXIoKSk7Ci0gICAgQVNTRVJUKHBhcmFtZXRl
cnMubWF4aW11bVllYXIgPD0gRGF0ZUNvbXBvbmVudHM6Om1heGltdW1ZZWFyKCkpOwotfQotCi1Q
YXNzUmVmUHRyPERhdGVUaW1lWWVhckZpZWxkRWxlbWVudD4gRGF0ZVRpbWVZZWFyRmllbGRFbGVt
ZW50OjpjcmVhdGUoRG9jdW1lbnQqIGRvY3VtZW50LCBGaWVsZE93bmVyJiBmaWVsZE93bmVyLCBj
b25zdCBEYXRlVGltZVllYXJGaWVsZEVsZW1lbnQ6OlBhcmFtZXRlcnMmIHBhcmFtZXRlcnMpCi17
Ci0gICAgREVGSU5FX1NUQVRJQ19MT0NBTChBdG9taWNTdHJpbmcsIHllYXJQc3VlZG9JZCwgKCIt
d2Via2l0LWRhdGV0aW1lLWVkaXQteWVhci1maWVsZCIsIEF0b21pY1N0cmluZzo6Q29uc3RydWN0
RnJvbUxpdGVyYWwpKTsKLSAgICBSZWZQdHI8RGF0ZVRpbWVZZWFyRmllbGRFbGVtZW50PiBmaWVs
ZCA9IGFkb3B0UmVmKG5ldyBEYXRlVGltZVllYXJGaWVsZEVsZW1lbnQoZG9jdW1lbnQsIGZpZWxk
T3duZXIsIHBhcmFtZXRlcnMpKTsKLSAgICBmaWVsZC0+aW5pdGlhbGl6ZSh5ZWFyUHN1ZWRvSWQs
IEFYWWVhckZpZWxkVGV4dCgpKTsKLSAgICByZXR1cm4gZmllbGQucmVsZWFzZSgpOwotfQotCi1z
dGF0aWMgaW50IGN1cnJlbnRGdWxsWWVhcigpCi17Ci0gICAgZG91YmxlIGN1cnJlbnQgPSBjdXJy
ZW50VGltZU1TKCk7Ci0gICAgZG91YmxlIHV0Y09mZnNldCA9IGNhbGN1bGF0ZVVUQ09mZnNldCgp
OwotICAgIGRvdWJsZSBkc3RPZmZzZXQgPSBjYWxjdWxhdGVEU1RPZmZzZXQoY3VycmVudCwgdXRj
T2Zmc2V0KTsKLSAgICBpbnQgb2Zmc2V0ID0gc3RhdGljX2Nhc3Q8aW50PigodXRjT2Zmc2V0ICsg
ZHN0T2Zmc2V0KSAvIG1zUGVyTWludXRlKTsKLSAgICBjdXJyZW50ICs9IG9mZnNldCAqIG1zUGVy
TWludXRlOwotCi0gICAgRGF0ZUNvbXBvbmVudHMgZGF0ZTsKLSAgICBkYXRlLnNldE1pbGxpc2Vj
b25kc1NpbmNlRXBvY2hGb3JNb250aChjdXJyZW50KTsKLSAgICByZXR1cm4gZGF0ZS5mdWxsWWVh
cigpOwotfQotCi1pbnQgRGF0ZVRpbWVZZWFyRmllbGRFbGVtZW50OjpkZWZhdWx0VmFsdWVGb3JT
dGVwRG93bigpIGNvbnN0Ci17Ci0gICAgcmV0dXJuIG1fbWF4SXNTcGVjaWZpZWQgPyBEYXRlVGlt
ZU51bWVyaWNGaWVsZEVsZW1lbnQ6OmRlZmF1bHRWYWx1ZUZvclN0ZXBEb3duKCkgOiBjdXJyZW50
RnVsbFllYXIoKTsKLX0KLQotaW50IERhdGVUaW1lWWVhckZpZWxkRWxlbWVudDo6ZGVmYXVsdFZh
bHVlRm9yU3RlcFVwKCkgY29uc3QKLXsKLSAgICByZXR1cm4gbV9taW5Jc1NwZWNpZmllZCA/IERh
dGVUaW1lTnVtZXJpY0ZpZWxkRWxlbWVudDo6ZGVmYXVsdFZhbHVlRm9yU3RlcFVwKCkgOiBjdXJy
ZW50RnVsbFllYXIoKTsKLX0KLQotdm9pZCBEYXRlVGltZVllYXJGaWVsZEVsZW1lbnQ6OnBvcHVs
YXRlRGF0ZVRpbWVGaWVsZHNTdGF0ZShEYXRlVGltZUZpZWxkc1N0YXRlJiBkYXRlVGltZUZpZWxk
c1N0YXRlKQotewotICAgIGRhdGVUaW1lRmllbGRzU3RhdGUuc2V0WWVhcihoYXNWYWx1ZSgpID8g
dmFsdWVBc0ludGVnZXIoKSA6IERhdGVUaW1lRmllbGRzU3RhdGU6OmVtcHR5VmFsdWUpOwotfQot
Ci12b2lkIERhdGVUaW1lWWVhckZpZWxkRWxlbWVudDo6c2V0VmFsdWVBc0RhdGUoY29uc3QgRGF0
ZUNvbXBvbmVudHMmIGRhdGUpCi17Ci0gICAgc2V0VmFsdWVBc0ludGVnZXIoZGF0ZS5mdWxsWWVh
cigpKTsKLX0KLQotdm9pZCBEYXRlVGltZVllYXJGaWVsZEVsZW1lbnQ6OnNldFZhbHVlQXNEYXRl
VGltZUZpZWxkc1N0YXRlKGNvbnN0IERhdGVUaW1lRmllbGRzU3RhdGUmIGRhdGVUaW1lRmllbGRz
U3RhdGUpCi17Ci0gICAgaWYgKCFkYXRlVGltZUZpZWxkc1N0YXRlLmhhc1llYXIoKSkgewotICAg
ICAgICBzZXRFbXB0eVZhbHVlKCk7Ci0gICAgICAgIHJldHVybjsKLSAgICB9Ci0KLSAgICBjb25z
dCB1bnNpZ25lZCB2YWx1ZSA9IGRhdGVUaW1lRmllbGRzU3RhdGUueWVhcigpOwotICAgIGlmIChy
YW5nZSgpLmlzSW5SYW5nZShzdGF0aWNfY2FzdDxpbnQ+KHZhbHVlKSkpIHsKLSAgICAgICAgc2V0
VmFsdWVBc0ludGVnZXIodmFsdWUpOwotICAgICAgICByZXR1cm47Ci0gICAgfQotCi0gICAgc2V0
RW1wdHlWYWx1ZSgpOwotfQotCi19IC8vIG5hbWVzcGFjZSBXZWJDb3JlCi0KLSNlbmRpZgpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvRGF0ZVRpbWVGaWVsZEVsZW1lbnRz
LmggYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9EYXRlVGltZUZpZWxkRWxlbWVudHMuaApk
ZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZWUwNDc0MzkzMGQzNWY5Y2ZiOGQyYjRmZTI2
YmU0ZDc4NzVlYzQyZS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9EYXRlVGltZUZpZWxkRWxlbWVudHMuaAor
KysgL2Rldi9udWxsCkBAIC0xLDI2NSArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDEy
IEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0cmlidXRpb24g
YW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBt
b2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNv
bmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKiAxLiAgUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBj
b2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgICBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAyLiAg
UmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBj
b3B5cmlnaHQKLSAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Ig
b3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqCi0gKiBU
SElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRP
UlMgYGBBUyBJUycnIEFORAotICogQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCi0gKiBJTVBMSUVEIFdBUlJBTlRJRVMg
T0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRQot
ICogQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENP
TlRSSUJVVE9SUyBCRSBMSUFCTEUKLSAqIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURF
TlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMCi0gKiBEQU1BR0VTIChJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBH
T09EUyBPUgotICogU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBC
VVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIKLSAqIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9S
WSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVAotICogTElBQklMSVRZ
LCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4g
QU5ZIFdBWQotICogT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJ
U0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRgotICogU1VDSCBEQU1BR0UuCi0gKi8KLQotI2lmbmRl
ZiBEYXRlVGltZUZpZWxkRWxlbWVudHNfaAotI2RlZmluZSBEYXRlVGltZUZpZWxkRWxlbWVudHNf
aAotCi0jaWYgRU5BQkxFKElOUFVUX01VTFRJUExFX0ZJRUxEU19VSSkKLSNpbmNsdWRlICJEYXRl
VGltZU51bWVyaWNGaWVsZEVsZW1lbnQuaCIKLSNpbmNsdWRlICJEYXRlVGltZVN5bWJvbGljRmll
bGRFbGVtZW50LmgiCi0KLW5hbWVzcGFjZSBXZWJDb3JlIHsKLQotY2xhc3MgRGF0ZVRpbWVBTVBN
RmllbGRFbGVtZW50IEZJTkFMIDogcHVibGljIERhdGVUaW1lU3ltYm9saWNGaWVsZEVsZW1lbnQg
ewotICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKERhdGVUaW1lQU1QTUZpZWxkRWxlbWVudCk7Ci0K
LXB1YmxpYzoKLSAgICBzdGF0aWMgUGFzc1JlZlB0cjxEYXRlVGltZUFNUE1GaWVsZEVsZW1lbnQ+
IGNyZWF0ZShEb2N1bWVudCosIEZpZWxkT3duZXImLCBjb25zdCBWZWN0b3I8U3RyaW5nPiYpOwot
Ci1wcml2YXRlOgotICAgIERhdGVUaW1lQU1QTUZpZWxkRWxlbWVudChEb2N1bWVudCosIEZpZWxk
T3duZXImLCBjb25zdCBWZWN0b3I8U3RyaW5nPiYpOwotCi0gICAgLy8gRGF0ZVRpbWVGaWVsZEVs
ZW1lbnQgZnVuY3Rpb25zLgotICAgIHZpcnR1YWwgdm9pZCBwb3B1bGF0ZURhdGVUaW1lRmllbGRz
U3RhdGUoRGF0ZVRpbWVGaWVsZHNTdGF0ZSYpIE9WRVJSSURFIEZJTkFMOwotICAgIHZpcnR1YWwg
dm9pZCBzZXRWYWx1ZUFzRGF0ZShjb25zdCBEYXRlQ29tcG9uZW50cyYpIE9WRVJSSURFIEZJTkFM
OwotICAgIHZpcnR1YWwgdm9pZCBzZXRWYWx1ZUFzRGF0ZVRpbWVGaWVsZHNTdGF0ZShjb25zdCBE
YXRlVGltZUZpZWxkc1N0YXRlJikgT1ZFUlJJREUgRklOQUw7Ci19OwotCi1jbGFzcyBEYXRlVGlt
ZURheUZpZWxkRWxlbWVudCBGSU5BTCA6IHB1YmxpYyBEYXRlVGltZU51bWVyaWNGaWVsZEVsZW1l
bnQgewotICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKERhdGVUaW1lRGF5RmllbGRFbGVtZW50KTsK
LQotcHVibGljOgotICAgIHN0YXRpYyBQYXNzUmVmUHRyPERhdGVUaW1lRGF5RmllbGRFbGVtZW50
PiBjcmVhdGUoRG9jdW1lbnQqLCBGaWVsZE93bmVyJiwgY29uc3QgU3RyaW5nJiBwbGFjZWhvbGRl
ciwgY29uc3QgUmFuZ2UmKTsKLQotcHJpdmF0ZToKLSAgICBEYXRlVGltZURheUZpZWxkRWxlbWVu
dChEb2N1bWVudCosIEZpZWxkT3duZXImLCBjb25zdCBTdHJpbmcmIHBsYWNlaG9sZGVyLCBjb25z
dCBSYW5nZSYpOwotCi0gICAgLy8gRGF0ZVRpbWVGaWVsZEVsZW1lbnQgZnVuY3Rpb25zLgotICAg
IHZpcnR1YWwgdm9pZCBwb3B1bGF0ZURhdGVUaW1lRmllbGRzU3RhdGUoRGF0ZVRpbWVGaWVsZHNT
dGF0ZSYpIE9WRVJSSURFIEZJTkFMOwotICAgIHZpcnR1YWwgdm9pZCBzZXRWYWx1ZUFzRGF0ZShj
b25zdCBEYXRlQ29tcG9uZW50cyYpIE9WRVJSSURFIEZJTkFMOwotICAgIHZpcnR1YWwgdm9pZCBz
ZXRWYWx1ZUFzRGF0ZVRpbWVGaWVsZHNTdGF0ZShjb25zdCBEYXRlVGltZUZpZWxkc1N0YXRlJikg
T1ZFUlJJREUgRklOQUw7Ci19OwotCi1jbGFzcyBEYXRlVGltZUhvdXJGaWVsZEVsZW1lbnRCYXNl
IDogcHVibGljIERhdGVUaW1lTnVtZXJpY0ZpZWxkRWxlbWVudCB7Ci0gICAgV1RGX01BS0VfTk9O
Q09QWUFCTEUoRGF0ZVRpbWVIb3VyRmllbGRFbGVtZW50QmFzZSk7Ci0KLXByb3RlY3RlZDoKLSAg
ICBEYXRlVGltZUhvdXJGaWVsZEVsZW1lbnRCYXNlKERvY3VtZW50KiwgRmllbGRPd25lciYsIGNv
bnN0IFJhbmdlJiwgY29uc3QgUmFuZ2UmIGhhcmRMaW1pdHMsIGNvbnN0IFN0ZXAmKTsKLSAgICB2
b2lkIGluaXRpYWxpemUoKTsKLQotcHJpdmF0ZToKLSAgICAvLyBEYXRlVGltZUZpZWxkRWxlbWVu
dCBmdW5jdGlvbnMuCi0gICAgdmlydHVhbCB2b2lkIHNldFZhbHVlQXNEYXRlKGNvbnN0IERhdGVD
b21wb25lbnRzJikgT1ZFUlJJREUgRklOQUw7Ci0gICAgdmlydHVhbCB2b2lkIHNldFZhbHVlQXNE
YXRlVGltZUZpZWxkc1N0YXRlKGNvbnN0IERhdGVUaW1lRmllbGRzU3RhdGUmKSBPVkVSUklERSBG
SU5BTDsKLX07Ci0KLWNsYXNzIERhdGVUaW1lSG91cjExRmllbGRFbGVtZW50IEZJTkFMIDogcHVi
bGljIERhdGVUaW1lSG91ckZpZWxkRWxlbWVudEJhc2UgewotICAgIFdURl9NQUtFX05PTkNPUFlB
QkxFKERhdGVUaW1lSG91cjExRmllbGRFbGVtZW50KTsKLQotcHVibGljOgotICAgIHN0YXRpYyBQ
YXNzUmVmUHRyPERhdGVUaW1lSG91cjExRmllbGRFbGVtZW50PiBjcmVhdGUoRG9jdW1lbnQqLCBG
aWVsZE93bmVyJiwgY29uc3QgUmFuZ2UmLCBjb25zdCBTdGVwJik7Ci0KLXByaXZhdGU6Ci0gICAg
RGF0ZVRpbWVIb3VyMTFGaWVsZEVsZW1lbnQoRG9jdW1lbnQqLCBGaWVsZE93bmVyJiwgY29uc3Qg
UmFuZ2UmIGhvdXIyM1JhbmdlLCBjb25zdCBTdGVwJik7Ci0KLSAgICAvLyBEYXRlVGltZUZpZWxk
RWxlbWVudCBmdW5jdGlvbnMuCi0gICAgdmlydHVhbCB2b2lkIHBvcHVsYXRlRGF0ZVRpbWVGaWVs
ZHNTdGF0ZShEYXRlVGltZUZpZWxkc1N0YXRlJikgT1ZFUlJJREUgRklOQUw7Ci0gICAgdmlydHVh
bCB2b2lkIHNldFZhbHVlQXNJbnRlZ2VyKGludCwgRXZlbnRCZWhhdmlvciA9IERpc3BhdGNoTm9F
dmVudCkgT1ZFUlJJREUgRklOQUw7Ci19OwotCi1jbGFzcyBEYXRlVGltZUhvdXIxMkZpZWxkRWxl
bWVudCBGSU5BTCA6IHB1YmxpYyBEYXRlVGltZUhvdXJGaWVsZEVsZW1lbnRCYXNlIHsKLSAgICBX
VEZfTUFLRV9OT05DT1BZQUJMRShEYXRlVGltZUhvdXIxMkZpZWxkRWxlbWVudCk7Ci0KLXB1Ymxp
YzoKLSAgICBzdGF0aWMgUGFzc1JlZlB0cjxEYXRlVGltZUhvdXIxMkZpZWxkRWxlbWVudD4gY3Jl
YXRlKERvY3VtZW50KiwgRmllbGRPd25lciYsIGNvbnN0IFJhbmdlJiwgY29uc3QgU3RlcCYpOwot
Ci1wcml2YXRlOgotICAgIERhdGVUaW1lSG91cjEyRmllbGRFbGVtZW50KERvY3VtZW50KiwgRmll
bGRPd25lciYsIGNvbnN0IFJhbmdlJiBob3VyMjNSYW5nZSwgY29uc3QgU3RlcCYpOwotCi0gICAg
Ly8gRGF0ZVRpbWVGaWVsZEVsZW1lbnQgZnVuY3Rpb25zLgotICAgIHZpcnR1YWwgdm9pZCBwb3B1
bGF0ZURhdGVUaW1lRmllbGRzU3RhdGUoRGF0ZVRpbWVGaWVsZHNTdGF0ZSYpIE9WRVJSSURFIEZJ
TkFMOwotICAgIHZpcnR1YWwgdm9pZCBzZXRWYWx1ZUFzSW50ZWdlcihpbnQsIEV2ZW50QmVoYXZp
b3IgPSBEaXNwYXRjaE5vRXZlbnQpIE9WRVJSSURFIEZJTkFMOwotfTsKLQotY2xhc3MgRGF0ZVRp
bWVIb3VyMjNGaWVsZEVsZW1lbnQgRklOQUwgOiBwdWJsaWMgRGF0ZVRpbWVIb3VyRmllbGRFbGVt
ZW50QmFzZSB7Ci0gICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoRGF0ZVRpbWVIb3VyMjNGaWVsZEVs
ZW1lbnQpOwotCi1wdWJsaWM6Ci0gICAgc3RhdGljIFBhc3NSZWZQdHI8RGF0ZVRpbWVIb3VyMjNG
aWVsZEVsZW1lbnQ+IGNyZWF0ZShEb2N1bWVudCosIEZpZWxkT3duZXImLCBjb25zdCBSYW5nZSYs
IGNvbnN0IFN0ZXAmKTsKLQotcHJpdmF0ZToKLSAgICBEYXRlVGltZUhvdXIyM0ZpZWxkRWxlbWVu
dChEb2N1bWVudCosIEZpZWxkT3duZXImLCBjb25zdCBSYW5nZSYgaG91cjIzUmFuZ2UsIGNvbnN0
IFN0ZXAmKTsKLQotICAgIC8vIERhdGVUaW1lRmllbGRFbGVtZW50IGZ1bmN0aW9ucy4KLSAgICB2
aXJ0dWFsIHZvaWQgcG9wdWxhdGVEYXRlVGltZUZpZWxkc1N0YXRlKERhdGVUaW1lRmllbGRzU3Rh
dGUmKSBPVkVSUklERSBGSU5BTDsKLSAgICB2aXJ0dWFsIHZvaWQgc2V0VmFsdWVBc0ludGVnZXIo
aW50LCBFdmVudEJlaGF2aW9yID0gRGlzcGF0Y2hOb0V2ZW50KSBPVkVSUklERSBGSU5BTDsKLX07
Ci0KLWNsYXNzIERhdGVUaW1lSG91cjI0RmllbGRFbGVtZW50IEZJTkFMIDogcHVibGljIERhdGVU
aW1lSG91ckZpZWxkRWxlbWVudEJhc2UgewotICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKERhdGVU
aW1lSG91cjI0RmllbGRFbGVtZW50KTsKLQotcHVibGljOgotICAgIHN0YXRpYyBQYXNzUmVmUHRy
PERhdGVUaW1lSG91cjI0RmllbGRFbGVtZW50PiBjcmVhdGUoRG9jdW1lbnQqLCBGaWVsZE93bmVy
JiwgY29uc3QgUmFuZ2UmLCBjb25zdCBTdGVwJik7Ci0KLXByaXZhdGU6Ci0gICAgRGF0ZVRpbWVI
b3VyMjRGaWVsZEVsZW1lbnQoRG9jdW1lbnQqLCBGaWVsZE93bmVyJiwgY29uc3QgUmFuZ2UmIGhv
dXIyM1JhbmdlLCBjb25zdCBTdGVwJik7Ci0KLSAgICAvLyBEYXRlVGltZUZpZWxkRWxlbWVudCBm
dW5jdGlvbnMuCi0gICAgdmlydHVhbCB2b2lkIHBvcHVsYXRlRGF0ZVRpbWVGaWVsZHNTdGF0ZShE
YXRlVGltZUZpZWxkc1N0YXRlJikgT1ZFUlJJREUgRklOQUw7Ci0gICAgdmlydHVhbCB2b2lkIHNl
dFZhbHVlQXNJbnRlZ2VyKGludCwgRXZlbnRCZWhhdmlvciA9IERpc3BhdGNoTm9FdmVudCkgT1ZF
UlJJREUgRklOQUw7Ci19OwotCi1jbGFzcyBEYXRlVGltZU1pbGxpc2Vjb25kRmllbGRFbGVtZW50
IEZJTkFMIDogcHVibGljIERhdGVUaW1lTnVtZXJpY0ZpZWxkRWxlbWVudCB7Ci0gICAgV1RGX01B
S0VfTk9OQ09QWUFCTEUoRGF0ZVRpbWVNaWxsaXNlY29uZEZpZWxkRWxlbWVudCk7Ci0KLXB1Ymxp
YzoKLSAgICBzdGF0aWMgUGFzc1JlZlB0cjxEYXRlVGltZU1pbGxpc2Vjb25kRmllbGRFbGVtZW50
PiBjcmVhdGUoRG9jdW1lbnQqLCBGaWVsZE93bmVyJiwgY29uc3QgUmFuZ2UmLCBjb25zdCBTdGVw
Jik7Ci0KLXByaXZhdGU6Ci0gICAgRGF0ZVRpbWVNaWxsaXNlY29uZEZpZWxkRWxlbWVudChEb2N1
bWVudCosIEZpZWxkT3duZXImLCBjb25zdCBSYW5nZSYsIGNvbnN0IFN0ZXAmKTsKLQotICAgIC8v
IERhdGVUaW1lRmllbGRFbGVtZW50IGZ1bmN0aW9ucy4KLSAgICB2aXJ0dWFsIHZvaWQgcG9wdWxh
dGVEYXRlVGltZUZpZWxkc1N0YXRlKERhdGVUaW1lRmllbGRzU3RhdGUmKSBPVkVSUklERSBGSU5B
TDsKLSAgICB2aXJ0dWFsIHZvaWQgc2V0VmFsdWVBc0RhdGUoY29uc3QgRGF0ZUNvbXBvbmVudHMm
KSBPVkVSUklERSBGSU5BTDsKLSAgICB2aXJ0dWFsIHZvaWQgc2V0VmFsdWVBc0RhdGVUaW1lRmll
bGRzU3RhdGUoY29uc3QgRGF0ZVRpbWVGaWVsZHNTdGF0ZSYpIE9WRVJSSURFIEZJTkFMOwotfTsK
LQotY2xhc3MgRGF0ZVRpbWVNaW51dGVGaWVsZEVsZW1lbnQgRklOQUwgOiBwdWJsaWMgRGF0ZVRp
bWVOdW1lcmljRmllbGRFbGVtZW50IHsKLSAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShEYXRlVGlt
ZU1pbnV0ZUZpZWxkRWxlbWVudCk7Ci0KLXB1YmxpYzoKLSAgICBzdGF0aWMgUGFzc1JlZlB0cjxE
YXRlVGltZU1pbnV0ZUZpZWxkRWxlbWVudD4gY3JlYXRlKERvY3VtZW50KiwgRmllbGRPd25lciYs
IGNvbnN0IFJhbmdlJiwgY29uc3QgU3RlcCYpOwotCi1wcml2YXRlOgotICAgIERhdGVUaW1lTWlu
dXRlRmllbGRFbGVtZW50KERvY3VtZW50KiwgRmllbGRPd25lciYsIGNvbnN0IFJhbmdlJiwgY29u
c3QgU3RlcCYpOwotCi0gICAgLy8gRGF0ZVRpbWVGaWVsZEVsZW1lbnQgZnVuY3Rpb25zLgotICAg
IHZpcnR1YWwgdm9pZCBwb3B1bGF0ZURhdGVUaW1lRmllbGRzU3RhdGUoRGF0ZVRpbWVGaWVsZHNT
dGF0ZSYpIE9WRVJSSURFIEZJTkFMOwotICAgIHZpcnR1YWwgdm9pZCBzZXRWYWx1ZUFzRGF0ZShj
b25zdCBEYXRlQ29tcG9uZW50cyYpIE9WRVJSSURFIEZJTkFMOwotICAgIHZpcnR1YWwgdm9pZCBz
ZXRWYWx1ZUFzRGF0ZVRpbWVGaWVsZHNTdGF0ZShjb25zdCBEYXRlVGltZUZpZWxkc1N0YXRlJikg
T1ZFUlJJREUgRklOQUw7Ci19OwotCi1jbGFzcyBEYXRlVGltZU1vbnRoRmllbGRFbGVtZW50IEZJ
TkFMIDogcHVibGljIERhdGVUaW1lTnVtZXJpY0ZpZWxkRWxlbWVudCB7Ci0gICAgV1RGX01BS0Vf
Tk9OQ09QWUFCTEUoRGF0ZVRpbWVNb250aEZpZWxkRWxlbWVudCk7Ci0KLXB1YmxpYzoKLSAgICBz
dGF0aWMgUGFzc1JlZlB0cjxEYXRlVGltZU1vbnRoRmllbGRFbGVtZW50PiBjcmVhdGUoRG9jdW1l
bnQqLCBGaWVsZE93bmVyJiwgY29uc3QgU3RyaW5nJiBwbGFjZWhvbGRlciwgY29uc3QgUmFuZ2Um
KTsKLQotcHJpdmF0ZToKLSAgICBEYXRlVGltZU1vbnRoRmllbGRFbGVtZW50KERvY3VtZW50Kiwg
RmllbGRPd25lciYsIGNvbnN0IFN0cmluZyYgcGxhY2Vob2xkZXIsIGNvbnN0IFJhbmdlJik7Ci0K
LSAgICAvLyBEYXRlVGltZUZpZWxkRWxlbWVudCBmdW5jdGlvbnMuCi0gICAgdmlydHVhbCB2b2lk
IHBvcHVsYXRlRGF0ZVRpbWVGaWVsZHNTdGF0ZShEYXRlVGltZUZpZWxkc1N0YXRlJikgT1ZFUlJJ
REUgRklOQUw7Ci0gICAgdmlydHVhbCB2b2lkIHNldFZhbHVlQXNEYXRlKGNvbnN0IERhdGVDb21w
b25lbnRzJikgT1ZFUlJJREUgRklOQUw7Ci0gICAgdmlydHVhbCB2b2lkIHNldFZhbHVlQXNEYXRl
VGltZUZpZWxkc1N0YXRlKGNvbnN0IERhdGVUaW1lRmllbGRzU3RhdGUmKSBPVkVSUklERSBGSU5B
TDsKLX07Ci0KLWNsYXNzIERhdGVUaW1lU2Vjb25kRmllbGRFbGVtZW50IEZJTkFMIDogcHVibGlj
IERhdGVUaW1lTnVtZXJpY0ZpZWxkRWxlbWVudCB7Ci0gICAgV1RGX01BS0VfTk9OQ09QWUFCTEUo
RGF0ZVRpbWVTZWNvbmRGaWVsZEVsZW1lbnQpOwotCi1wdWJsaWM6Ci0gICAgc3RhdGljIFBhc3NS
ZWZQdHI8RGF0ZVRpbWVTZWNvbmRGaWVsZEVsZW1lbnQ+IGNyZWF0ZShEb2N1bWVudCosIEZpZWxk
T3duZXImLCBjb25zdCBSYW5nZSYsIGNvbnN0IFN0ZXAmKTsKLQotcHJpdmF0ZToKLSAgICBEYXRl
VGltZVNlY29uZEZpZWxkRWxlbWVudChEb2N1bWVudCosIEZpZWxkT3duZXImLCBjb25zdCBSYW5n
ZSYsIGNvbnN0IFN0ZXAmKTsKLQotICAgIC8vIERhdGVUaW1lRmllbGRFbGVtZW50IGZ1bmN0aW9u
cy4KLSAgICB2aXJ0dWFsIHZvaWQgcG9wdWxhdGVEYXRlVGltZUZpZWxkc1N0YXRlKERhdGVUaW1l
RmllbGRzU3RhdGUmKSBPVkVSUklERSBGSU5BTDsKLSAgICB2aXJ0dWFsIHZvaWQgc2V0VmFsdWVB
c0RhdGUoY29uc3QgRGF0ZUNvbXBvbmVudHMmKSBPVkVSUklERSBGSU5BTDsKLSAgICB2aXJ0dWFs
IHZvaWQgc2V0VmFsdWVBc0RhdGVUaW1lRmllbGRzU3RhdGUoY29uc3QgRGF0ZVRpbWVGaWVsZHNT
dGF0ZSYpIE9WRVJSSURFIEZJTkFMOwotfTsKLQotY2xhc3MgRGF0ZVRpbWVTeW1ib2xpY01vbnRo
RmllbGRFbGVtZW50IEZJTkFMIDogcHVibGljIERhdGVUaW1lU3ltYm9saWNGaWVsZEVsZW1lbnQg
ewotICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKERhdGVUaW1lU3ltYm9saWNNb250aEZpZWxkRWxl
bWVudCk7Ci0KLXB1YmxpYzoKLSAgICBzdGF0aWMgUGFzc1JlZlB0cjxEYXRlVGltZVN5bWJvbGlj
TW9udGhGaWVsZEVsZW1lbnQ+IGNyZWF0ZShEb2N1bWVudCosIEZpZWxkT3duZXImLCBjb25zdCBW
ZWN0b3I8U3RyaW5nPiYsIGludCBtaW5pbXVtLCBpbnQgbWF4aW11bSk7Ci0KLXByaXZhdGU6Ci0g
ICAgRGF0ZVRpbWVTeW1ib2xpY01vbnRoRmllbGRFbGVtZW50KERvY3VtZW50KiwgRmllbGRPd25l
ciYsIGNvbnN0IFZlY3RvcjxTdHJpbmc+JiwgaW50IG1pbmltdW0sIGludCBtYXhpbXVtKTsKLQot
ICAgIC8vIERhdGVUaW1lRmllbGRFbGVtZW50IGZ1bmN0aW9ucy4KLSAgICB2aXJ0dWFsIHZvaWQg
cG9wdWxhdGVEYXRlVGltZUZpZWxkc1N0YXRlKERhdGVUaW1lRmllbGRzU3RhdGUmKSBPVkVSUklE
RSBGSU5BTDsKLSAgICB2aXJ0dWFsIHZvaWQgc2V0VmFsdWVBc0RhdGUoY29uc3QgRGF0ZUNvbXBv
bmVudHMmKSBPVkVSUklERSBGSU5BTDsKLSAgICB2aXJ0dWFsIHZvaWQgc2V0VmFsdWVBc0RhdGVU
aW1lRmllbGRzU3RhdGUoY29uc3QgRGF0ZVRpbWVGaWVsZHNTdGF0ZSYpIE9WRVJSSURFIEZJTkFM
OwotfTsKLQotY2xhc3MgRGF0ZVRpbWVXZWVrRmllbGRFbGVtZW50IEZJTkFMIDogcHVibGljIERh
dGVUaW1lTnVtZXJpY0ZpZWxkRWxlbWVudCB7Ci0gICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoRGF0
ZVRpbWVXZWVrRmllbGRFbGVtZW50KTsKLQotcHVibGljOgotICAgIHN0YXRpYyBQYXNzUmVmUHRy
PERhdGVUaW1lV2Vla0ZpZWxkRWxlbWVudD4gY3JlYXRlKERvY3VtZW50KiwgRmllbGRPd25lciYs
IGNvbnN0IFJhbmdlJik7Ci0KLXByaXZhdGU6Ci0gICAgRGF0ZVRpbWVXZWVrRmllbGRFbGVtZW50
KERvY3VtZW50KiwgRmllbGRPd25lciYsIGNvbnN0IFJhbmdlJik7Ci0KLSAgICAvLyBEYXRlVGlt
ZUZpZWxkRWxlbWVudCBmdW5jdGlvbnMuCi0gICAgdmlydHVhbCB2b2lkIHBvcHVsYXRlRGF0ZVRp
bWVGaWVsZHNTdGF0ZShEYXRlVGltZUZpZWxkc1N0YXRlJikgT1ZFUlJJREUgRklOQUw7Ci0gICAg
dmlydHVhbCB2b2lkIHNldFZhbHVlQXNEYXRlKGNvbnN0IERhdGVDb21wb25lbnRzJikgT1ZFUlJJ
REUgRklOQUw7Ci0gICAgdmlydHVhbCB2b2lkIHNldFZhbHVlQXNEYXRlVGltZUZpZWxkc1N0YXRl
KGNvbnN0IERhdGVUaW1lRmllbGRzU3RhdGUmKSBPVkVSUklERSBGSU5BTDsKLX07Ci0KLWNsYXNz
IERhdGVUaW1lWWVhckZpZWxkRWxlbWVudCBGSU5BTCA6IHB1YmxpYyBEYXRlVGltZU51bWVyaWNG
aWVsZEVsZW1lbnQgewotICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKERhdGVUaW1lWWVhckZpZWxk
RWxlbWVudCk7Ci0KLXB1YmxpYzoKLSAgICBzdHJ1Y3QgUGFyYW1ldGVycyB7Ci0gICAgICAgIGlu
dCBtaW5pbXVtWWVhcjsKLSAgICAgICAgaW50IG1heGltdW1ZZWFyOwotICAgICAgICBib29sIG1p
bklzU3BlY2lmaWVkOwotICAgICAgICBib29sIG1heElzU3BlY2lmaWVkOwotICAgICAgICBTdHJp
bmcgcGxhY2Vob2xkZXI7Ci0KLSAgICAgICAgUGFyYW1ldGVycygpCi0gICAgICAgICAgICA6IG1p
bmltdW1ZZWFyKC0xKQotICAgICAgICAgICAgLCBtYXhpbXVtWWVhcigtMSkKLSAgICAgICAgICAg
ICwgbWluSXNTcGVjaWZpZWQoZmFsc2UpCi0gICAgICAgICAgICAsIG1heElzU3BlY2lmaWVkKGZh
bHNlKQotICAgICAgICB7Ci0gICAgICAgIH0KLSAgICB9OwotCi0gICAgc3RhdGljIFBhc3NSZWZQ
dHI8RGF0ZVRpbWVZZWFyRmllbGRFbGVtZW50PiBjcmVhdGUoRG9jdW1lbnQqLCBGaWVsZE93bmVy
JiwgY29uc3QgUGFyYW1ldGVycyYpOwotCi1wcml2YXRlOgotICAgIERhdGVUaW1lWWVhckZpZWxk
RWxlbWVudChEb2N1bWVudCosIEZpZWxkT3duZXImLCBjb25zdCBQYXJhbWV0ZXJzJik7Ci0KLSAg
ICAvLyBEYXRlVGltZUZpZWxkRWxlbWVudCBmdW5jdGlvbnMuCi0gICAgdmlydHVhbCB2b2lkIHBv
cHVsYXRlRGF0ZVRpbWVGaWVsZHNTdGF0ZShEYXRlVGltZUZpZWxkc1N0YXRlJikgT1ZFUlJJREUg
RklOQUw7Ci0gICAgdmlydHVhbCB2b2lkIHNldFZhbHVlQXNEYXRlKGNvbnN0IERhdGVDb21wb25l
bnRzJikgT1ZFUlJJREUgRklOQUw7Ci0gICAgdmlydHVhbCB2b2lkIHNldFZhbHVlQXNEYXRlVGlt
ZUZpZWxkc1N0YXRlKGNvbnN0IERhdGVUaW1lRmllbGRzU3RhdGUmKSBPVkVSUklERSBGSU5BTDsK
LQotICAgIC8vIERhdGVUaW1lTnVtZXJpY0ZpZWxkRWxlbWVudCBmdW5jdGlvbnMuCi0gICAgdmly
dHVhbCBpbnQgZGVmYXVsdFZhbHVlRm9yU3RlcERvd24oKSBjb25zdCBPVkVSUklERSBGSU5BTDsK
LSAgICB2aXJ0dWFsIGludCBkZWZhdWx0VmFsdWVGb3JTdGVwVXAoKSBjb25zdCBPVkVSUklERSBG
SU5BTDsKLQotICAgIGJvb2wgbV9taW5Jc1NwZWNpZmllZDsKLSAgICBib29sIG1fbWF4SXNTcGVj
aWZpZWQ7Ci19OwotCi19IC8vIG5hbWVzcGFjZSBXZWJDb3JlCi0KLSNlbmRpZgotI2VuZGlmCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9EYXRlVGltZU51bWVyaWNGaWVs
ZEVsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvRGF0ZVRpbWVOdW1lcmlj
RmllbGRFbGVtZW50LmNwcApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYjJjYmFhMWUz
NmM1NjBkYzY1ODkzYTYzMzMzNTA1NWVjNThiNTI4OC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9EYXRlVGlt
ZU51bWVyaWNGaWVsZEVsZW1lbnQuY3BwCisrKyAvZGV2L251bGwKQEAgLTEsMjQ1ICswLDAgQEAK
LS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTIgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZl
ZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZv
cm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92
aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotICogYXJlIG1ldDoKLSAqIDEuICBS
ZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHly
aWdodAotICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lci4KLSAqIDIuICBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0g
bXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSAq
ICAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0
aGUgZGlzdHJpYnV0aW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQ
TEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycgQU5ECi0gKiBBTlkgRVhQUkVT
UyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBU
SEUKLSAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1Mg
Rk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFCi0gKiBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQg
U0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQotICogRk9SIEFO
WSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENP
TlNFUVVFTlRJQUwKLSAqIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQ
Uk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SCi0gKiBTRVJWSUNFUzsgTE9TUyBPRiBV
U0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUgot
ICogQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05U
UkFDVCwgU1RSSUNUCi0gKiBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNF
IE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZCi0gKiBPVVQgT0YgVEhFIFVTRSBPRiBU
SElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GCi0gKiBT
VUNIIERBTUFHRS4KLSAqLwotCi0jaW5jbHVkZSAiY29uZmlnLmgiCi0jaWYgRU5BQkxFKElOUFVU
X01VTFRJUExFX0ZJRUxEU19VSSkKLSNpbmNsdWRlICJEYXRlVGltZU51bWVyaWNGaWVsZEVsZW1l
bnQuaCIKLQotI2luY2x1ZGUgIkNTU1Byb3BlcnR5TmFtZXMuaCIKLSNpbmNsdWRlICJDU1NWYWx1
ZUtleXdvcmRzLmgiCi0jaW5jbHVkZSAiRm9udC5oIgotI2luY2x1ZGUgIktleWJvYXJkRXZlbnQu
aCIKLSNpbmNsdWRlICJQbGF0Zm9ybUxvY2FsZS5oIgotI2luY2x1ZGUgPHd0Zi90ZXh0L1N0cmlu
Z0J1aWxkZXIuaD4KLQotdXNpbmcgbmFtZXNwYWNlIFdURjo6VW5pY29kZTsKLQotbmFtZXNwYWNl
IFdlYkNvcmUgewotCi1zdGF0aWMgY29uc3QgRE9NVGltZVN0YW1wIHR5cGVBaGVhZFRpbWVvdXQg
PSAxMDAwOwotCi1pbnQgRGF0ZVRpbWVOdW1lcmljRmllbGRFbGVtZW50OjpSYW5nZTo6Y2xhbXBW
YWx1ZShpbnQgdmFsdWUpIGNvbnN0Ci17Ci0gICAgcmV0dXJuIHN0ZDo6bWluKHN0ZDo6bWF4KHZh
bHVlLCBtaW5pbXVtKSwgbWF4aW11bSk7Ci19Ci0KLWJvb2wgRGF0ZVRpbWVOdW1lcmljRmllbGRF
bGVtZW50OjpSYW5nZTo6aXNJblJhbmdlKGludCB2YWx1ZSkgY29uc3QKLXsKLSAgICByZXR1cm4g
dmFsdWUgPj0gbWluaW11bSAmJiB2YWx1ZSA8PSBtYXhpbXVtOwotfQotCi0vLyAtLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tCi0KLURhdGVUaW1lTnVtZXJpY0ZpZWxkRWxlbWVudDo6RGF0ZVRp
bWVOdW1lcmljRmllbGRFbGVtZW50KERvY3VtZW50KiBkb2N1bWVudCwgRmllbGRPd25lciYgZmll
bGRPd25lciwgY29uc3QgUmFuZ2UmIHJhbmdlLCBjb25zdCBSYW5nZSYgaGFyZExpbWl0cywgY29u
c3QgU3RyaW5nJiBwbGFjZWhvbGRlciwgY29uc3QgRGF0ZVRpbWVOdW1lcmljRmllbGRFbGVtZW50
OjpTdGVwJiBzdGVwKQotICAgIDogRGF0ZVRpbWVGaWVsZEVsZW1lbnQoZG9jdW1lbnQsIGZpZWxk
T3duZXIpCi0gICAgLCBtX2xhc3REaWdpdENoYXJUaW1lKDApCi0gICAgLCBtX3BsYWNlaG9sZGVy
KHBsYWNlaG9sZGVyKQotICAgICwgbV9yYW5nZShyYW5nZSkKLSAgICAsIG1faGFyZExpbWl0cyho
YXJkTGltaXRzKQotICAgICwgbV9zdGVwKHN0ZXApCi0gICAgLCBtX3ZhbHVlKDApCi0gICAgLCBt
X2hhc1ZhbHVlKGZhbHNlKQotewotICAgIEFTU0VSVChtX3N0ZXAuc3RlcCk7Ci0gICAgQVNTRVJU
KG1fcmFuZ2UubWluaW11bSA8PSBtX3JhbmdlLm1heGltdW0pOwotICAgIEFTU0VSVChtX2hhcmRM
aW1pdHMubWluaW11bSA8PSBtX2hhcmRMaW1pdHMubWF4aW11bSk7Ci0KLSAgICAvLyBXZSBzaG93
IGEgZGlyZWN0aW9uLW5ldXRyYWwgc3RyaW5nIHN1Y2ggYXMgIi0tIiBhcyBhIHBsYWNlaG9sZGVy
LiBJdAotICAgIC8vIHNob3VsZCBmb2xsb3cgdGhlIGRpcmVjdGlvbiBvZiBudW1lcmljIHZhbHVl
cy4KLSAgICBpZiAobG9jYWxlRm9yT3duZXIoKS5pc1JUTCgpKSB7Ci0gICAgICAgIERpcmVjdGlv
biBkaXIgPSBkaXJlY3Rpb24oZm9ybWF0VmFsdWUodGhpcy0+bWF4aW11bSgpKVswXSk7Ci0gICAg
ICAgIGlmIChkaXIgPT0gTGVmdFRvUmlnaHQgfHwgZGlyID09IEV1cm9wZWFuTnVtYmVyIHx8IGRp
ciA9PSBBcmFiaWNOdW1iZXIpIHsKLSAgICAgICAgICAgIHNldElubGluZVN0eWxlUHJvcGVydHko
Q1NTUHJvcGVydHlVbmljb2RlQmlkaSwgQ1NTVmFsdWVCaWRpT3ZlcnJpZGUpOwotICAgICAgICAg
ICAgc2V0SW5saW5lU3R5bGVQcm9wZXJ0eShDU1NQcm9wZXJ0eURpcmVjdGlvbiwgQ1NTVmFsdWVM
dHIpOwotICAgICAgICB9Ci0gICAgfQotfQotCi1mbG9hdCBEYXRlVGltZU51bWVyaWNGaWVsZEVs
ZW1lbnQ6Om1heGltdW1XaWR0aChjb25zdCBGb250JiBmb250KQotewotICAgIGZsb2F0IG1heGlt
dW1XaWR0aCA9IGZvbnQud2lkdGgobV9wbGFjZWhvbGRlcik7Ci0gICAgbWF4aW11bVdpZHRoID0g
c3RkOjptYXgobWF4aW11bVdpZHRoLCBmb250LndpZHRoKGZvcm1hdFZhbHVlKG1heGltdW0oKSkp
KTsKLSAgICBtYXhpbXVtV2lkdGggPSBzdGQ6Om1heChtYXhpbXVtV2lkdGgsIGZvbnQud2lkdGgo
dmFsdWUoKSkpOwotICAgIHJldHVybiBtYXhpbXVtV2lkdGggKyBEYXRlVGltZUZpZWxkRWxlbWVu
dDo6bWF4aW11bVdpZHRoKGZvbnQpOwotfQotCi1pbnQgRGF0ZVRpbWVOdW1lcmljRmllbGRFbGVt
ZW50OjpkZWZhdWx0VmFsdWVGb3JTdGVwRG93bigpIGNvbnN0Ci17Ci0gICAgcmV0dXJuIG1fcmFu
Z2UubWF4aW11bTsKLX0KLQotaW50IERhdGVUaW1lTnVtZXJpY0ZpZWxkRWxlbWVudDo6ZGVmYXVs
dFZhbHVlRm9yU3RlcFVwKCkgY29uc3QKLXsKLSAgICByZXR1cm4gbV9yYW5nZS5taW5pbXVtOwot
fQotCi12b2lkIERhdGVUaW1lTnVtZXJpY0ZpZWxkRWxlbWVudDo6ZGlkQmx1cigpCi17Ci0gICAg
aW50IHZhbHVlID0gdHlwZUFoZWFkVmFsdWUoKTsKLSAgICBtX3R5cGVBaGVhZEJ1ZmZlci5jbGVh
cigpOwotICAgIGlmICh2YWx1ZSA+PSAwKQotICAgICAgICBzZXRWYWx1ZUFzSW50ZWdlcih2YWx1
ZSwgRGlzcGF0Y2hFdmVudCk7Ci0gICAgRGF0ZVRpbWVGaWVsZEVsZW1lbnQ6OmRpZEJsdXIoKTsK
LX0KLQotU3RyaW5nIERhdGVUaW1lTnVtZXJpY0ZpZWxkRWxlbWVudDo6Zm9ybWF0VmFsdWUoaW50
IHZhbHVlKSBjb25zdAotewotICAgIExvY2FsZSYgbG9jYWxlID0gbG9jYWxlRm9yT3duZXIoKTsK
LSAgICBpZiAobV9oYXJkTGltaXRzLm1heGltdW0gPiA5OTkpCi0gICAgICAgIHJldHVybiBsb2Nh
bGUuY29udmVydFRvTG9jYWxpemVkTnVtYmVyKFN0cmluZzo6Zm9ybWF0KCIlMDRkIiwgdmFsdWUp
KTsKLSAgICBpZiAobV9oYXJkTGltaXRzLm1heGltdW0gPiA5OSkKLSAgICAgICAgcmV0dXJuIGxv
Y2FsZS5jb252ZXJ0VG9Mb2NhbGl6ZWROdW1iZXIoU3RyaW5nOjpmb3JtYXQoIiUwM2QiLCB2YWx1
ZSkpOwotICAgIHJldHVybiBsb2NhbGUuY29udmVydFRvTG9jYWxpemVkTnVtYmVyKFN0cmluZzo6
Zm9ybWF0KCIlMDJkIiwgdmFsdWUpKTsKLX0KLQotdm9pZCBEYXRlVGltZU51bWVyaWNGaWVsZEVs
ZW1lbnQ6OmhhbmRsZUtleWJvYXJkRXZlbnQoS2V5Ym9hcmRFdmVudCoga2V5Ym9hcmRFdmVudCkK
LXsKLSAgICBBU1NFUlQoIWlzRGlzYWJsZWQoKSk7Ci0gICAgaWYgKGtleWJvYXJkRXZlbnQtPnR5
cGUoKSAhPSBldmVudE5hbWVzKCkua2V5cHJlc3NFdmVudCkKLSAgICAgICAgcmV0dXJuOwotCi0g
ICAgVUNoYXIgY2hhckNvZGUgPSBzdGF0aWNfY2FzdDxVQ2hhcj4oa2V5Ym9hcmRFdmVudC0+Y2hh
ckNvZGUoKSk7Ci0gICAgU3RyaW5nIG51bWJlciA9IGxvY2FsZUZvck93bmVyKCkuY29udmVydEZy
b21Mb2NhbGl6ZWROdW1iZXIoU3RyaW5nKCZjaGFyQ29kZSwgMSkpOwotICAgIGNvbnN0IGludCBk
aWdpdCA9IG51bWJlclswXSAtICcwJzsKLSAgICBpZiAoZGlnaXQgPCAwIHx8IGRpZ2l0ID4gOSkK
LSAgICAgICAgcmV0dXJuOwotCi0gICAgRE9NVGltZVN0YW1wIGRlbHRhID0ga2V5Ym9hcmRFdmVu
dC0+dGltZVN0YW1wKCkgLSBtX2xhc3REaWdpdENoYXJUaW1lOwotICAgIG1fbGFzdERpZ2l0Q2hh
clRpbWUgPSBrZXlib2FyZEV2ZW50LT50aW1lU3RhbXAoKTsKLQotICAgIGlmIChkZWx0YSA+IHR5
cGVBaGVhZFRpbWVvdXQpCi0gICAgICAgIG1fdHlwZUFoZWFkQnVmZmVyLmNsZWFyKCk7Ci0gICAg
bV90eXBlQWhlYWRCdWZmZXIuYXBwZW5kKG51bWJlcik7Ci0KLSAgICBpbnQgbmV3VmFsdWUgPSB0
eXBlQWhlYWRWYWx1ZSgpOwotICAgIGlmIChtX3JhbmdlLmlzSW5SYW5nZShuZXdWYWx1ZSkpCi0g
ICAgICAgIHNldFZhbHVlQXNJbnRlZ2VyKG5ld1ZhbHVlLCBEaXNwYXRjaEV2ZW50KTsKLSAgICBl
bHNlCi0gICAgICAgIHVwZGF0ZVZpc2libGVWYWx1ZShEaXNwYXRjaEV2ZW50KTsKLQotICAgIGlm
IChtX3R5cGVBaGVhZEJ1ZmZlci5sZW5ndGgoKSA+PSBEYXRlVGltZU51bWVyaWNGaWVsZEVsZW1l
bnQ6OmZvcm1hdFZhbHVlKG1fcmFuZ2UubWF4aW11bSkubGVuZ3RoKCkgfHwgbmV3VmFsdWUgKiAx
MCA+IG1fcmFuZ2UubWF4aW11bSkKLSAgICAgICAgZm9jdXNPbk5leHRGaWVsZCgpOwotCi0gICAg
a2V5Ym9hcmRFdmVudC0+c2V0RGVmYXVsdEhhbmRsZWQoKTsKLX0KLQotYm9vbCBEYXRlVGltZU51
bWVyaWNGaWVsZEVsZW1lbnQ6Omhhc1ZhbHVlKCkgY29uc3QKLXsKLSAgICByZXR1cm4gbV9oYXNW
YWx1ZTsKLX0KLQotdm9pZCBEYXRlVGltZU51bWVyaWNGaWVsZEVsZW1lbnQ6OmluaXRpYWxpemUo
Y29uc3QgQXRvbWljU3RyaW5nJiBwc2V1ZG8sIGNvbnN0IFN0cmluZyYgYXhIZWxwVGV4dCkKLXsK
LSAgICBEYXRlVGltZUZpZWxkRWxlbWVudDo6aW5pdGlhbGl6ZShwc2V1ZG8sIGF4SGVscFRleHQs
IG1fcmFuZ2UubWluaW11bSwgbV9yYW5nZS5tYXhpbXVtKTsKLX0KLQotaW50IERhdGVUaW1lTnVt
ZXJpY0ZpZWxkRWxlbWVudDo6bWF4aW11bSgpIGNvbnN0Ci17Ci0gICAgcmV0dXJuIG1fcmFuZ2Uu
bWF4aW11bTsKLX0KLQotdm9pZCBEYXRlVGltZU51bWVyaWNGaWVsZEVsZW1lbnQ6OnNldEVtcHR5
VmFsdWUoRXZlbnRCZWhhdmlvciBldmVudEJlaGF2aW9yKQotewotICAgIGlmIChpc0Rpc2FibGVk
KCkpCi0gICAgICAgIHJldHVybjsKLQotICAgIG1faGFzVmFsdWUgPSBmYWxzZTsKLSAgICBtX3Zh
bHVlID0gMDsKLSAgICBtX3R5cGVBaGVhZEJ1ZmZlci5jbGVhcigpOwotICAgIHVwZGF0ZVZpc2li
bGVWYWx1ZShldmVudEJlaGF2aW9yKTsKLX0KLQotdm9pZCBEYXRlVGltZU51bWVyaWNGaWVsZEVs
ZW1lbnQ6OnNldFZhbHVlQXNJbnRlZ2VyKGludCB2YWx1ZSwgRXZlbnRCZWhhdmlvciBldmVudEJl
aGF2aW9yKQotewotICAgIG1fdmFsdWUgPSBtX2hhcmRMaW1pdHMuY2xhbXBWYWx1ZSh2YWx1ZSk7
Ci0gICAgbV9oYXNWYWx1ZSA9IHRydWU7Ci0gICAgdXBkYXRlVmlzaWJsZVZhbHVlKGV2ZW50QmVo
YXZpb3IpOwotfQotCi12b2lkIERhdGVUaW1lTnVtZXJpY0ZpZWxkRWxlbWVudDo6c3RlcERvd24o
KQotewotICAgIGludCBuZXdWYWx1ZSA9IHJvdW5kRG93bihtX2hhc1ZhbHVlID8gbV92YWx1ZSAt
IDEgOiBkZWZhdWx0VmFsdWVGb3JTdGVwRG93bigpKTsKLSAgICBpZiAoIW1fcmFuZ2UuaXNJblJh
bmdlKG5ld1ZhbHVlKSkKLSAgICAgICAgbmV3VmFsdWUgPSByb3VuZERvd24obV9yYW5nZS5tYXhp
bXVtKTsKLSAgICBtX3R5cGVBaGVhZEJ1ZmZlci5jbGVhcigpOwotICAgIHNldFZhbHVlQXNJbnRl
Z2VyKG5ld1ZhbHVlLCBEaXNwYXRjaEV2ZW50KTsKLX0KLQotdm9pZCBEYXRlVGltZU51bWVyaWNG
aWVsZEVsZW1lbnQ6OnN0ZXBVcCgpCi17Ci0gICAgaW50IG5ld1ZhbHVlID0gcm91bmRVcChtX2hh
c1ZhbHVlID8gbV92YWx1ZSArIDEgOiBkZWZhdWx0VmFsdWVGb3JTdGVwVXAoKSk7Ci0gICAgaWYg
KCFtX3JhbmdlLmlzSW5SYW5nZShuZXdWYWx1ZSkpCi0gICAgICAgIG5ld1ZhbHVlID0gcm91bmRV
cChtX3JhbmdlLm1pbmltdW0pOwotICAgIG1fdHlwZUFoZWFkQnVmZmVyLmNsZWFyKCk7Ci0gICAg
c2V0VmFsdWVBc0ludGVnZXIobmV3VmFsdWUsIERpc3BhdGNoRXZlbnQpOwotfQotCi1TdHJpbmcg
RGF0ZVRpbWVOdW1lcmljRmllbGRFbGVtZW50Ojp2YWx1ZSgpIGNvbnN0Ci17Ci0gICAgcmV0dXJu
IG1faGFzVmFsdWUgPyBmb3JtYXRWYWx1ZShtX3ZhbHVlKSA6IGVtcHR5U3RyaW5nKCk7Ci19Ci0K
LWludCBEYXRlVGltZU51bWVyaWNGaWVsZEVsZW1lbnQ6OnZhbHVlQXNJbnRlZ2VyKCkgY29uc3QK
LXsKLSAgICByZXR1cm4gbV9oYXNWYWx1ZSA/IG1fdmFsdWUgOiAtMTsKLX0KLQotaW50IERhdGVU
aW1lTnVtZXJpY0ZpZWxkRWxlbWVudDo6dHlwZUFoZWFkVmFsdWUoKSBjb25zdAotewotICAgIGlm
IChtX3R5cGVBaGVhZEJ1ZmZlci5sZW5ndGgoKSkKLSAgICAgICAgcmV0dXJuIG1fdHlwZUFoZWFk
QnVmZmVyLnRvU3RyaW5nKCkudG9JbnQoKTsKLSAgICByZXR1cm4gLTE7Ci19Ci0KLVN0cmluZyBE
YXRlVGltZU51bWVyaWNGaWVsZEVsZW1lbnQ6OnZpc2libGVWYWx1ZSgpIGNvbnN0Ci17Ci0gICAg
aWYgKG1fdHlwZUFoZWFkQnVmZmVyLmxlbmd0aCgpKQotICAgICAgICByZXR1cm4gZm9ybWF0VmFs
dWUodHlwZUFoZWFkVmFsdWUoKSk7Ci0gICAgcmV0dXJuIG1faGFzVmFsdWUgPyB2YWx1ZSgpIDog
bV9wbGFjZWhvbGRlcjsKLX0KLQotaW50IERhdGVUaW1lTnVtZXJpY0ZpZWxkRWxlbWVudDo6cm91
bmREb3duKGludCBuKSBjb25zdAotewotICAgIG4gLT0gbV9zdGVwLnN0ZXBCYXNlOwotICAgIGlm
IChuID49IDApCi0gICAgICAgIG4gPSBuIC8gbV9zdGVwLnN0ZXAgKiBtX3N0ZXAuc3RlcDsKLSAg
ICBlbHNlCi0gICAgICAgIG4gPSAtKCgtbiArIG1fc3RlcC5zdGVwIC0gMSkgLyBtX3N0ZXAuc3Rl
cCAqIG1fc3RlcC5zdGVwKTsKLSAgICByZXR1cm4gbiArIG1fc3RlcC5zdGVwQmFzZTsKLX0KLQot
aW50IERhdGVUaW1lTnVtZXJpY0ZpZWxkRWxlbWVudDo6cm91bmRVcChpbnQgbikgY29uc3QKLXsK
LSAgICBuIC09IG1fc3RlcC5zdGVwQmFzZTsKLSAgICBpZiAobiA+PSAwKQotICAgICAgICBuID0g
KG4gKyBtX3N0ZXAuc3RlcCAtIDEpIC8gbV9zdGVwLnN0ZXAgKiBtX3N0ZXAuc3RlcDsKLSAgICBl
bHNlCi0gICAgICAgIG4gPSAtKC1uIC8gbV9zdGVwLnN0ZXAgKiBtX3N0ZXAuc3RlcCk7Ci0gICAg
cmV0dXJuIG4gKyBtX3N0ZXAuc3RlcEJhc2U7Ci19Ci0KLX0gLy8gbmFtZXNwYWNlIFdlYkNvcmUK
LQotI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9EYXRlVGlt
ZU51bWVyaWNGaWVsZEVsZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L0RhdGVU
aW1lTnVtZXJpY0ZpZWxkRWxlbWVudC5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBi
NmQ0M2U5MWQ3YTQ1MGY3OGFmN2JjODE5MDA4MTFmMzU2NTlmNDA4Li4wMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93
L0RhdGVUaW1lTnVtZXJpY0ZpZWxkRWxlbWVudC5oCisrKyAvZGV2L251bGwKQEAgLTEsMTA1ICsw
LDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTIgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyBy
ZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmlu
YXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRl
ZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotICogYXJlIG1ldDoKLSAq
IDEuICBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3Zl
IGNvcHlyaWdodAotICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqIDIuICBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5
IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0
aGUKLSAqICAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQg
d2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQg
QlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycgQU5ECi0gKiBBTlkg
RVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVE
IFRPLCBUSEUKLSAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJ
VE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFCi0gKiBBUkUgRElTQ0xBSU1FRC4gSU4gTk8g
RVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQotICog
Rk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlks
IE9SIENPTlNFUVVFTlRJQUwKLSAqIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVE
IFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SCi0gKiBTRVJWSUNFUzsgTE9T
UyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9X
RVZFUgotICogQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJ
TiBDT05UUkFDVCwgU1RSSUNUCi0gKiBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdM
SUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZCi0gKiBPVVQgT0YgVEhFIFVT
RSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9G
Ci0gKiBTVUNIIERBTUFHRS4KLSAqLwotCi0jaWZuZGVmIERhdGVUaW1lTnVtZXJpY0ZpZWxkRWxl
bWVudF9oCi0jZGVmaW5lIERhdGVUaW1lTnVtZXJpY0ZpZWxkRWxlbWVudF9oCi0KLSNpZiBFTkFC
TEUoSU5QVVRfTVVMVElQTEVfRklFTERTX1VJKQotI2luY2x1ZGUgIkRhdGVUaW1lRmllbGRFbGVt
ZW50LmgiCi0KLW5hbWVzcGFjZSBXZWJDb3JlIHsKLQotLy8gRGF0ZVRpbWVOdW1lcmljRmllbGRF
bGVtZW50IHJlcHJlc2VudHMgbnVtZXJpYyBmaWVsZCBvZiBkYXRlIHRpbWUgZm9ybWF0LAotLy8g
c3VjaCBhczoKLS8vICAtIGhvdXIKLS8vICAtIG1pbnV0ZQotLy8gIC0gbWlsbGlzZWNvbmQKLS8v
ICAtIHNlY29uZAotLy8gIC0geWVhcgotY2xhc3MgRGF0ZVRpbWVOdW1lcmljRmllbGRFbGVtZW50
IDogcHVibGljIERhdGVUaW1lRmllbGRFbGVtZW50IHsKLSAgICBXVEZfTUFLRV9OT05DT1BZQUJM
RShEYXRlVGltZU51bWVyaWNGaWVsZEVsZW1lbnQpOwotCi1wdWJsaWM6Ci0gICAgc3RydWN0IFN0
ZXAgewotICAgICAgICBTdGVwKGludCBzdGVwID0gMSwgaW50IHN0ZXBCYXNlID0gMCkgOiBzdGVw
KHN0ZXApLCBzdGVwQmFzZShzdGVwQmFzZSkgeyB9Ci0gICAgICAgIGludCBzdGVwOwotICAgICAg
ICBpbnQgc3RlcEJhc2U7Ci0gICAgfTsKLQotICAgIHN0cnVjdCBSYW5nZSB7Ci0gICAgICAgIFJh
bmdlKGludCBtaW5pbXVtLCBpbnQgbWF4aW11bSkgOiBtaW5pbXVtKG1pbmltdW0pLCBtYXhpbXVt
KG1heGltdW0pIHsgfQotICAgICAgICBpbnQgY2xhbXBWYWx1ZShpbnQpIGNvbnN0OwotICAgICAg
ICBib29sIGlzSW5SYW5nZShpbnQpIGNvbnN0OwotICAgICAgICBib29sIGlzU2luZ2xldG9uKCkg
Y29uc3QgeyByZXR1cm4gbWluaW11bSA9PSBtYXhpbXVtOyB9Ci0KLSAgICAgICAgaW50IG1pbmlt
dW07Ci0gICAgICAgIGludCBtYXhpbXVtOwotICAgIH07Ci0KLXByb3RlY3RlZDoKLSAgICBEYXRl
VGltZU51bWVyaWNGaWVsZEVsZW1lbnQoRG9jdW1lbnQqLCBGaWVsZE93bmVyJiwgY29uc3QgUmFu
Z2UmLCBjb25zdCBSYW5nZSYgaGFyZExpbWl0cywgY29uc3QgU3RyaW5nJiBwbGFjZWhvbGRlciwg
Y29uc3QgU3RlcCYgPSBTdGVwKCkpOwotCi0gICAgaW50IGNsYW1wVmFsdWUoaW50IHZhbHVlKSBj
b25zdCB7IHJldHVybiBtX3JhbmdlLmNsYW1wVmFsdWUodmFsdWUpOyB9Ci0gICAgdmlydHVhbCBp
bnQgZGVmYXVsdFZhbHVlRm9yU3RlcERvd24oKSBjb25zdDsKLSAgICB2aXJ0dWFsIGludCBkZWZh
dWx0VmFsdWVGb3JTdGVwVXAoKSBjb25zdDsKLSAgICBjb25zdCBSYW5nZSYgcmFuZ2UoKSBjb25z
dCB7IHJldHVybiBtX3JhbmdlOyB9Ci0KLSAgICAvLyBEYXRlVGltZUZpZWxkRWxlbWVudCBmdW5j
dGlvbnMuCi0gICAgdmlydHVhbCBib29sIGhhc1ZhbHVlKCkgY29uc3QgT1ZFUlJJREUgRklOQUw7
Ci0gICAgdm9pZCBpbml0aWFsaXplKGNvbnN0IEF0b21pY1N0cmluZyYgcHNldWRvLCBjb25zdCBT
dHJpbmcmIGF4SGVscFRleHQpOwotICAgIGludCBtYXhpbXVtKCkgY29uc3Q7Ci0gICAgdmlydHVh
bCB2b2lkIHNldEVtcHR5VmFsdWUoRXZlbnRCZWhhdmlvciA9IERpc3BhdGNoTm9FdmVudCkgT1ZF
UlJJREUgRklOQUw7Ci0gICAgdmlydHVhbCB2b2lkIHNldFZhbHVlQXNJbnRlZ2VyKGludCwgRXZl
bnRCZWhhdmlvciA9IERpc3BhdGNoTm9FdmVudCkgT1ZFUlJJREU7Ci0gICAgdmlydHVhbCBpbnQg
dmFsdWVBc0ludGVnZXIoKSBjb25zdCBPVkVSUklERSBGSU5BTDsKLSAgICB2aXJ0dWFsIFN0cmlu
ZyB2aXNpYmxlVmFsdWUoKSBjb25zdCBPVkVSUklERSBGSU5BTDsKLQotcHJpdmF0ZToKLSAgICAv
LyBEYXRlVGltZUZpZWxkRWxlbWVudCBmdW5jdGlvbnMuCi0gICAgdmlydHVhbCB2b2lkIGRpZEJs
dXIoKSBPVkVSUklERSBGSU5BTDsKLSAgICB2aXJ0dWFsIHZvaWQgaGFuZGxlS2V5Ym9hcmRFdmVu
dChLZXlib2FyZEV2ZW50KikgT1ZFUlJJREUgRklOQUw7Ci0gICAgdmlydHVhbCBmbG9hdCBtYXhp
bXVtV2lkdGgoY29uc3QgRm9udCYpIE9WRVJSSURFOwotICAgIHZpcnR1YWwgdm9pZCBzdGVwRG93
bigpIE9WRVJSSURFIEZJTkFMOwotICAgIHZpcnR1YWwgdm9pZCBzdGVwVXAoKSBPVkVSUklERSBG
SU5BTDsKLSAgICB2aXJ0dWFsIFN0cmluZyB2YWx1ZSgpIGNvbnN0IE9WRVJSSURFIEZJTkFMOwot
Ci0gICAgU3RyaW5nIGZvcm1hdFZhbHVlKGludCkgY29uc3Q7Ci0gICAgaW50IHJvdW5kVXAoaW50
KSBjb25zdDsKLSAgICBpbnQgcm91bmREb3duKGludCkgY29uc3Q7Ci0gICAgaW50IHR5cGVBaGVh
ZFZhbHVlKCkgY29uc3Q7Ci0KLSAgICBET01UaW1lU3RhbXAgbV9sYXN0RGlnaXRDaGFyVGltZTsK
LSAgICBjb25zdCBTdHJpbmcgbV9wbGFjZWhvbGRlcjsKLSAgICBjb25zdCBSYW5nZSBtX3Jhbmdl
OwotICAgIGNvbnN0IFJhbmdlIG1faGFyZExpbWl0czsKLSAgICBjb25zdCBTdGVwIG1fc3RlcDsK
LSAgICBpbnQgbV92YWx1ZTsKLSAgICBib29sIG1faGFzVmFsdWU7Ci0gICAgbXV0YWJsZSBTdHJp
bmdCdWlsZGVyIG1fdHlwZUFoZWFkQnVmZmVyOwotfTsKLQotfSAvLyBuYW1lc3BhY2UgV2ViQ29y
ZQotCi0jZW5kaWYKLSNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFk
b3cvRGF0ZVRpbWVTeW1ib2xpY0ZpZWxkRWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1s
L3NoYWRvdy9EYXRlVGltZVN5bWJvbGljRmllbGRFbGVtZW50LmNwcApkZWxldGVkIGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggY2NkMGU4YmYxNTgwNzRkODQ1OTkyYjBiNWUzMWFjYTRkMzQyYWI0Ni4u
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9odG1sL3NoYWRvdy9EYXRlVGltZVN5bWJvbGljRmllbGRFbGVtZW50LmNwcAorKysgL2Rl
di9udWxsCkBAIC0xLDE4MCArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDEyIEdvb2ds
ZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVz
ZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmlj
YXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlv
bnMKLSAqIGFyZSBtZXQ6Ci0gKiAxLiAgUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11
c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAyLiAgUmVkaXN0
cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmln
aHQKLSAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIg
bWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqCi0gKiBUSElTIFNP
RlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBB
UyBJUycnIEFORAotICogQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJ
TkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCi0gKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVS
Q0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRQotICogQVJF
IERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJV
VE9SUyBCRSBMSUFCTEUKLSAqIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwg
U1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMCi0gKiBEQU1BR0VTIChJTkNMVURJ
TkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBP
UgotICogU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVT
UyBJTlRFUlJVUFRJT04pIEhPV0VWRVIKLSAqIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBM
SUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVAotICogTElBQklMSVRZLCBPUiBU
T1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdB
WQotICogT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9G
IFRIRSBQT1NTSUJJTElUWSBPRgotICogU1VDSCBEQU1BR0UuCi0gKi8KLQotI2luY2x1ZGUgImNv
bmZpZy5oIgotI2lmIEVOQUJMRShJTlBVVF9NVUxUSVBMRV9GSUVMRFNfVUkpCi0jaW5jbHVkZSAi
RGF0ZVRpbWVTeW1ib2xpY0ZpZWxkRWxlbWVudC5oIgotCi0jaW5jbHVkZSAiRm9udC5oIgotI2lu
Y2x1ZGUgIktleWJvYXJkRXZlbnQuaCIKLSNpbmNsdWRlICJUZXh0QnJlYWtJdGVyYXRvci5oIgot
I2luY2x1ZGUgPHd0Zi90ZXh0L1N0cmluZ0J1aWxkZXIuaD4KLSNpbmNsdWRlIDx3dGYvdW5pY29k
ZS9Vbmljb2RlLmg+Ci0KLW5hbWVzcGFjZSBXZWJDb3JlIHsKLQotc3RhdGljIEF0b21pY1N0cmlu
ZyBtYWtlVmlzaWJsZUVtcHR5VmFsdWUoY29uc3QgVmVjdG9yPFN0cmluZz4mIHN5bWJvbHMpCi17
Ci0gICAgdW5zaWduZWQgbWF4aW11bUxlbmd0aCA9IDA7Ci0gICAgZm9yICh1bnNpZ25lZCBpbmRl
eCA9IDA7IGluZGV4IDwgc3ltYm9scy5zaXplKCk7ICsraW5kZXgpCi0gICAgICAgIG1heGltdW1M
ZW5ndGggPSBzdGQ6Om1heChtYXhpbXVtTGVuZ3RoLCBudW1HcmFwaGVtZUNsdXN0ZXJzKHN5bWJv
bHNbaW5kZXhdKSk7Ci0gICAgU3RyaW5nQnVpbGRlciBidWlsZGVyOwotICAgIGJ1aWxkZXIucmVz
ZXJ2ZUNhcGFjaXR5KG1heGltdW1MZW5ndGgpOwotICAgIGZvciAodW5zaWduZWQgbGVuZ3RoID0g
MDsgbGVuZ3RoIDwgbWF4aW11bUxlbmd0aDsgKytsZW5ndGgpCi0gICAgICAgIGJ1aWxkZXIuYXBw
ZW5kKCctJyk7Ci0gICAgcmV0dXJuIGJ1aWxkZXIudG9BdG9taWNTdHJpbmcoKTsKLX0KLQotRGF0
ZVRpbWVTeW1ib2xpY0ZpZWxkRWxlbWVudDo6RGF0ZVRpbWVTeW1ib2xpY0ZpZWxkRWxlbWVudChE
b2N1bWVudCogZG9jdW1lbnQsIEZpZWxkT3duZXImIGZpZWxkT3duZXIsIGNvbnN0IFZlY3RvcjxT
dHJpbmc+JiBzeW1ib2xzLCBpbnQgbWluaW11bSwgaW50IG1heGltdW0pCi0gICAgOiBEYXRlVGlt
ZUZpZWxkRWxlbWVudChkb2N1bWVudCwgZmllbGRPd25lcikKLSAgICAsIG1fc3ltYm9scyhzeW1i
b2xzKQotICAgICwgbV92aXNpYmxlRW1wdHlWYWx1ZShtYWtlVmlzaWJsZUVtcHR5VmFsdWUoc3lt
Ym9scykpCi0gICAgLCBtX3NlbGVjdGVkSW5kZXgoLTEpCi0gICAgLCBtX3R5cGVBaGVhZCh0aGlz
KQotICAgICwgbV9taW5pbXVtSW5kZXgobWluaW11bSkKLSAgICAsIG1fbWF4aW11bUluZGV4KG1h
eGltdW0pCi17Ci0gICAgQVNTRVJUKCFzeW1ib2xzLmlzRW1wdHkoKSk7Ci0gICAgQVNTRVJUKG1f
bWluaW11bUluZGV4ID49IDApOwotICAgIEFTU0VSVF9XSVRIX1NFQ1VSSVRZX0lNUExJQ0FUSU9O
KG1fbWF4aW11bUluZGV4IDwgc3RhdGljX2Nhc3Q8aW50PihtX3N5bWJvbHMuc2l6ZSgpKSk7Ci0g
ICAgQVNTRVJUKG1fbWluaW11bUluZGV4IDw9IG1fbWF4aW11bUluZGV4KTsKLX0KLQotZmxvYXQg
RGF0ZVRpbWVTeW1ib2xpY0ZpZWxkRWxlbWVudDo6bWF4aW11bVdpZHRoKGNvbnN0IEZvbnQmIGZv
bnQpCi17Ci0gICAgZmxvYXQgbWF4aW11bVdpZHRoID0gZm9udC53aWR0aCh2aXNpYmxlRW1wdHlW
YWx1ZSgpKTsKLSAgICBmb3IgKHVuc2lnbmVkIGluZGV4ID0gMDsgaW5kZXggPCBtX3N5bWJvbHMu
c2l6ZSgpOyArK2luZGV4KQotICAgICAgICBtYXhpbXVtV2lkdGggPSBzdGQ6Om1heChtYXhpbXVt
V2lkdGgsIGZvbnQud2lkdGgobV9zeW1ib2xzW2luZGV4XSkpOwotICAgIHJldHVybiBtYXhpbXVt
V2lkdGggKyBEYXRlVGltZUZpZWxkRWxlbWVudDo6bWF4aW11bVdpZHRoKGZvbnQpOwotfQotCi12
b2lkIERhdGVUaW1lU3ltYm9saWNGaWVsZEVsZW1lbnQ6OmhhbmRsZUtleWJvYXJkRXZlbnQoS2V5
Ym9hcmRFdmVudCoga2V5Ym9hcmRFdmVudCkKLXsKLSAgICBpZiAoa2V5Ym9hcmRFdmVudC0+dHlw
ZSgpICE9IGV2ZW50TmFtZXMoKS5rZXlwcmVzc0V2ZW50KQotICAgICAgICByZXR1cm47Ci0KLSAg
ICBjb25zdCBVQ2hhciBjaGFyQ29kZSA9IFdURjo6VW5pY29kZTo6dG9Mb3dlcihrZXlib2FyZEV2
ZW50LT5jaGFyQ29kZSgpKTsKLSAgICBpZiAoY2hhckNvZGUgPCAnICcpCi0gICAgICAgIHJldHVy
bjsKLQotICAgIGtleWJvYXJkRXZlbnQtPnNldERlZmF1bHRIYW5kbGVkKCk7Ci0KLSAgICBpbnQg
aW5kZXggPSBtX3R5cGVBaGVhZC5oYW5kbGVFdmVudChrZXlib2FyZEV2ZW50LCBUeXBlQWhlYWQ6
Ok1hdGNoUHJlZml4IHwgVHlwZUFoZWFkOjpDeWNsZUZpcnN0Q2hhciB8IFR5cGVBaGVhZDo6TWF0
Y2hJbmRleCk7Ci0gICAgaWYgKGluZGV4IDwgMCkKLSAgICAgICAgcmV0dXJuOwotICAgIHNldFZh
bHVlQXNJbnRlZ2VyKGluZGV4LCBEaXNwYXRjaEV2ZW50KTsKLX0KLQotYm9vbCBEYXRlVGltZVN5
bWJvbGljRmllbGRFbGVtZW50OjpoYXNWYWx1ZSgpIGNvbnN0Ci17Ci0gICAgcmV0dXJuIG1fc2Vs
ZWN0ZWRJbmRleCA+PSAwOwotfQotCi12b2lkIERhdGVUaW1lU3ltYm9saWNGaWVsZEVsZW1lbnQ6
OmluaXRpYWxpemUoY29uc3QgQXRvbWljU3RyaW5nJiBwc2V1ZG8sIGNvbnN0IFN0cmluZyYgYXhI
ZWxwVGV4dCkKLXsKLSAgICAvLyBUaGUgbWluaW11bSBhbmQgbWF4aW11bSBiZWxvdyBhcmUgZXhw
b3NlZCB0byB1c2VycywgYW5kIDEtYmFzZWQgbnVtYmVycwotICAgIC8vIGFyZSBuYXR1cmFsIGZv
ciBzeW1ib2xpYyBmaWVsZHMuIEZvciBleGFtcGxlLCB0aGUgbWluaW11bSB2YWx1ZSBvZiBhCi0g
ICAgLy8gbW9udGggZmllbGQgc2hvdWxkIGJlIDEsIG5vdCAwLgotICAgIERhdGVUaW1lRmllbGRF
bGVtZW50Ojppbml0aWFsaXplKHBzZXVkbywgYXhIZWxwVGV4dCwgbV9taW5pbXVtSW5kZXggKyAx
LCBtX21heGltdW1JbmRleCArIDEpOwotfQotCi12b2lkIERhdGVUaW1lU3ltYm9saWNGaWVsZEVs
ZW1lbnQ6OnNldEVtcHR5VmFsdWUoRXZlbnRCZWhhdmlvciBldmVudEJlaGF2aW9yKQotewotICAg
IGlmIChpc0Rpc2FibGVkKCkpCi0gICAgICAgIHJldHVybjsKLSAgICBtX3NlbGVjdGVkSW5kZXgg
PSBpbnZhbGlkSW5kZXg7Ci0gICAgdXBkYXRlVmlzaWJsZVZhbHVlKGV2ZW50QmVoYXZpb3IpOwot
fQotCi12b2lkIERhdGVUaW1lU3ltYm9saWNGaWVsZEVsZW1lbnQ6OnNldFZhbHVlQXNJbnRlZ2Vy
KGludCBuZXdTZWxlY3RlZEluZGV4LCBFdmVudEJlaGF2aW9yIGV2ZW50QmVoYXZpb3IpCi17Ci0g
ICAgbV9zZWxlY3RlZEluZGV4ID0gc3RkOjptYXgoMCwgc3RkOjptaW4obmV3U2VsZWN0ZWRJbmRl
eCwgc3RhdGljX2Nhc3Q8aW50PihtX3N5bWJvbHMuc2l6ZSgpIC0gMSkpKTsKLSAgICB1cGRhdGVW
aXNpYmxlVmFsdWUoZXZlbnRCZWhhdmlvcik7Ci19Ci0KLXZvaWQgRGF0ZVRpbWVTeW1ib2xpY0Zp
ZWxkRWxlbWVudDo6c3RlcERvd24oKQotewotICAgIGlmIChoYXNWYWx1ZSgpKSB7Ci0gICAgICAg
IGlmICghaW5kZXhJc0luUmFuZ2UoLS1tX3NlbGVjdGVkSW5kZXgpKQotICAgICAgICAgICAgbV9z
ZWxlY3RlZEluZGV4ID0gbV9tYXhpbXVtSW5kZXg7Ci0gICAgfSBlbHNlCi0gICAgICAgIG1fc2Vs
ZWN0ZWRJbmRleCA9IG1fbWF4aW11bUluZGV4OwotICAgIHVwZGF0ZVZpc2libGVWYWx1ZShEaXNw
YXRjaEV2ZW50KTsKLX0KLQotdm9pZCBEYXRlVGltZVN5bWJvbGljRmllbGRFbGVtZW50OjpzdGVw
VXAoKQotewotICAgIGlmIChoYXNWYWx1ZSgpKSB7Ci0gICAgICAgIGlmICghaW5kZXhJc0luUmFu
Z2UoKyttX3NlbGVjdGVkSW5kZXgpKQotICAgICAgICAgICAgbV9zZWxlY3RlZEluZGV4ID0gbV9t
aW5pbXVtSW5kZXg7Ci0gICAgfSBlbHNlCi0gICAgICAgIG1fc2VsZWN0ZWRJbmRleCA9IG1fbWlu
aW11bUluZGV4OwotICAgIHVwZGF0ZVZpc2libGVWYWx1ZShEaXNwYXRjaEV2ZW50KTsKLX0KLQot
U3RyaW5nIERhdGVUaW1lU3ltYm9saWNGaWVsZEVsZW1lbnQ6OnZhbHVlKCkgY29uc3QKLXsKLSAg
ICByZXR1cm4gaGFzVmFsdWUoKSA/IG1fc3ltYm9sc1ttX3NlbGVjdGVkSW5kZXhdIDogZW1wdHlT
dHJpbmcoKTsKLX0KLQotaW50IERhdGVUaW1lU3ltYm9saWNGaWVsZEVsZW1lbnQ6OnZhbHVlQXNJ
bnRlZ2VyKCkgY29uc3QKLXsKLSAgICByZXR1cm4gbV9zZWxlY3RlZEluZGV4OwotfQotCi1pbnQg
RGF0ZVRpbWVTeW1ib2xpY0ZpZWxkRWxlbWVudDo6dmFsdWVGb3JBUklBVmFsdWVOb3coKSBjb25z
dAotewotICAgIC8vIFN5bmNocm9uaXplIHdpdGggbWluaW11bS9tYXhpbXVtIGFkanVzdG1lbnQg
aW4gaW5pdGlhbGl6ZSgpLgotICAgIHJldHVybiBtX3NlbGVjdGVkSW5kZXggKyAxOwotfQotCi1T
dHJpbmcgRGF0ZVRpbWVTeW1ib2xpY0ZpZWxkRWxlbWVudDo6dmlzaWJsZUVtcHR5VmFsdWUoKSBj
b25zdAotewotICAgIHJldHVybiBtX3Zpc2libGVFbXB0eVZhbHVlOwotfQotCi1TdHJpbmcgRGF0
ZVRpbWVTeW1ib2xpY0ZpZWxkRWxlbWVudDo6dmlzaWJsZVZhbHVlKCkgY29uc3QKLXsKLSAgICBy
ZXR1cm4gaGFzVmFsdWUoKSA/IG1fc3ltYm9sc1ttX3NlbGVjdGVkSW5kZXhdIDogdmlzaWJsZUVt
cHR5VmFsdWUoKTsKLX0KLQotaW50IERhdGVUaW1lU3ltYm9saWNGaWVsZEVsZW1lbnQ6OmluZGV4
T2ZTZWxlY3RlZE9wdGlvbigpIGNvbnN0Ci17Ci0gICAgcmV0dXJuIG1fc2VsZWN0ZWRJbmRleDsK
LX0KLQotaW50IERhdGVUaW1lU3ltYm9saWNGaWVsZEVsZW1lbnQ6Om9wdGlvbkNvdW50KCkgY29u
c3QKLXsKLSAgICByZXR1cm4gbV9zeW1ib2xzLnNpemUoKTsKLX0KLQotU3RyaW5nIERhdGVUaW1l
U3ltYm9saWNGaWVsZEVsZW1lbnQ6Om9wdGlvbkF0SW5kZXgoaW50IGluZGV4KSBjb25zdAotewot
ICAgIHJldHVybiBtX3N5bWJvbHNbaW5kZXhdOwotfQotCi19IC8vIG5hbWVzcGFjZSBXZWJDb3Jl
Ci0KLSNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvRGF0ZVRp
bWVTeW1ib2xpY0ZpZWxkRWxlbWVudC5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvRGF0
ZVRpbWVTeW1ib2xpY0ZpZWxkRWxlbWVudC5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCA3N2NhMTQzY2FlOWFkOWU3MzFlNGI5N2NhNTlkNTkwMGUwMDgzMDcwLi4wMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hh
ZG93L0RhdGVUaW1lU3ltYm9saWNGaWVsZEVsZW1lbnQuaAorKysgL2Rldi9udWxsCkBAIC0xLDgz
ICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTIgR29vZ2xlIEluYy4gQWxsIHJpZ2h0
cyByZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQg
YmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1p
dHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotICogYXJlIG1ldDoK
LSAqIDEuICBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFi
b3ZlIGNvcHlyaWdodAotICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqIDIuICBSZWRpc3RyaWJ1dGlvbnMgaW4gYmlu
YXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgIG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBp
biB0aGUKLSAqICAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlk
ZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklE
RUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycgQU5ECi0gKiBB
TlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLCBUSEUKLSAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5E
IEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFCi0gKiBBUkUgRElTQ0xBSU1FRC4gSU4g
Tk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQot
ICogRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExB
UlksIE9SIENPTlNFUVVFTlRJQUwKLSAqIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SCi0gKiBTRVJWSUNFUzsg
TE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikg
SE9XRVZFUgotICogQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhF
UiBJTiBDT05UUkFDVCwgU1RSSUNUCi0gKiBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBO
RUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZCi0gKiBPVVQgT0YgVEhF
IFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZ
IE9GCi0gKiBTVUNIIERBTUFHRS4KLSAqLwotCi0jaWZuZGVmIERhdGVUaW1lU3ltYm9saWNGaWVs
ZEVsZW1lbnRfaAotI2RlZmluZSBEYXRlVGltZVN5bWJvbGljRmllbGRFbGVtZW50X2gKLQotI2lm
IEVOQUJMRShJTlBVVF9NVUxUSVBMRV9GSUVMRFNfVUkpCi0jaW5jbHVkZSAiRGF0ZVRpbWVGaWVs
ZEVsZW1lbnQuaCIKLSNpbmNsdWRlICJUeXBlQWhlYWQuaCIKLQotbmFtZXNwYWNlIFdlYkNvcmUg
ewotCi0vLyBEYXRlVGltZVN5bWJvbGljRmllbGRFbGVtZW50IHJlcHJlc2VudHMgbm9uLW51bWVy
aWMgZmllbGQgb2YgZGF0YSB0aW1lCi0vLyBmb3JtYXQsIHN1Y2ggYXM6IEFNL1BNLCBhbmQgbW9u
dGguCi1jbGFzcyBEYXRlVGltZVN5bWJvbGljRmllbGRFbGVtZW50IDogcHVibGljIERhdGVUaW1l
RmllbGRFbGVtZW50LCBwdWJsaWMgVHlwZUFoZWFkRGF0YVNvdXJjZSB7Ci0gICAgV1RGX01BS0Vf
Tk9OQ09QWUFCTEUoRGF0ZVRpbWVTeW1ib2xpY0ZpZWxkRWxlbWVudCk7Ci0KLXByb3RlY3RlZDoK
LSAgICBEYXRlVGltZVN5bWJvbGljRmllbGRFbGVtZW50KERvY3VtZW50KiwgRmllbGRPd25lciYs
IGNvbnN0IFZlY3RvcjxTdHJpbmc+JiwgaW50IG1pbmltdW0sIGludCBtYXhpbXVtKTsKLSAgICBz
aXplX3Qgc3ltYm9sc1NpemUoKSBjb25zdCB7IHJldHVybiBtX3N5bWJvbHMuc2l6ZSgpOyB9Ci0g
ICAgdmlydHVhbCBib29sIGhhc1ZhbHVlKCkgY29uc3QgT1ZFUlJJREUgRklOQUw7Ci0gICAgdm9p
ZCBpbml0aWFsaXplKGNvbnN0IEF0b21pY1N0cmluZyYgcHNldWRvLCBjb25zdCBTdHJpbmcmIGF4
SGVscFRleHQpOwotICAgIHZpcnR1YWwgdm9pZCBzZXRFbXB0eVZhbHVlKEV2ZW50QmVoYXZpb3Ig
PSBEaXNwYXRjaE5vRXZlbnQpIE9WRVJSSURFIEZJTkFMOwotICAgIHZpcnR1YWwgdm9pZCBzZXRW
YWx1ZUFzSW50ZWdlcihpbnQsIEV2ZW50QmVoYXZpb3IgPSBEaXNwYXRjaE5vRXZlbnQpIE9WRVJS
SURFIEZJTkFMOwotICAgIHZpcnR1YWwgaW50IHZhbHVlQXNJbnRlZ2VyKCkgY29uc3QgT1ZFUlJJ
REUgRklOQUw7Ci0KLXByaXZhdGU6Ci0gICAgc3RhdGljIGNvbnN0IGludCBpbnZhbGlkSW5kZXgg
PSAtMTsKLQotICAgIFN0cmluZyB2aXNpYmxlRW1wdHlWYWx1ZSgpIGNvbnN0OwotICAgIGJvb2wg
aW5kZXhJc0luUmFuZ2UoaW50IGluZGV4KSBjb25zdCB7IHJldHVybiBpbmRleCA+PSBtX21pbmlt
dW1JbmRleCAmJiBpbmRleCA8PSBtX21heGltdW1JbmRleDsgfQotCi0gICAgLy8gRGF0ZVRpbWVG
aWVsZEVsZW1lbnQgZnVuY3Rpb25zLgotICAgIHZpcnR1YWwgdm9pZCBoYW5kbGVLZXlib2FyZEV2
ZW50KEtleWJvYXJkRXZlbnQqKSBPVkVSUklERSBGSU5BTDsKLSAgICB2aXJ0dWFsIGZsb2F0IG1h
eGltdW1XaWR0aChjb25zdCBGb250JikgT1ZFUlJJREU7Ci0gICAgdmlydHVhbCB2b2lkIHN0ZXBE
b3duKCkgT1ZFUlJJREUgRklOQUw7Ci0gICAgdmlydHVhbCB2b2lkIHN0ZXBVcCgpIE9WRVJSSURF
IEZJTkFMOwotICAgIHZpcnR1YWwgU3RyaW5nIHZhbHVlKCkgY29uc3QgT1ZFUlJJREUgRklOQUw7
Ci0gICAgdmlydHVhbCBpbnQgdmFsdWVGb3JBUklBVmFsdWVOb3coKSBjb25zdCBPVkVSUklERSBG
SU5BTDsKLSAgICB2aXJ0dWFsIFN0cmluZyB2aXNpYmxlVmFsdWUoKSBjb25zdCBPVkVSUklERSBG
SU5BTDsKLQotICAgIC8vIFR5cGVBaGVhZERhdGFTb3VyY2UgZnVuY3Rpb25zLgotICAgIHZpcnR1
YWwgaW50IGluZGV4T2ZTZWxlY3RlZE9wdGlvbigpIGNvbnN0IE9WRVJSSURFOwotICAgIHZpcnR1
YWwgaW50IG9wdGlvbkNvdW50KCkgY29uc3QgT1ZFUlJJREU7Ci0gICAgdmlydHVhbCBTdHJpbmcg
b3B0aW9uQXRJbmRleChpbnQgaW5kZXgpIGNvbnN0IE9WRVJSSURFOwotCi0gICAgY29uc3QgVmVj
dG9yPFN0cmluZz4gbV9zeW1ib2xzOwotCi0gICAgLy8gV2UgdXNlIEF0b21pY1N0cmluZyB0byBz
aGFyZSB2aXNpYmxlIGVtcHR5IHZhbHVlIGFtb25nIG11bHRpcGxlCi0gICAgLy8gRGF0ZVRpbWVF
ZGl0RWxlbWVudHMgaW4gdGhlIHBhZ2UuCi0gICAgY29uc3QgQXRvbWljU3RyaW5nIG1fdmlzaWJs
ZUVtcHR5VmFsdWU7Ci0gICAgaW50IG1fc2VsZWN0ZWRJbmRleDsKLSAgICBUeXBlQWhlYWQgbV90
eXBlQWhlYWQ7Ci0gICAgY29uc3QgaW50IG1fbWluaW11bUluZGV4OwotICAgIGNvbnN0IGludCBt
X21heGltdW1JbmRleDsKLX07Ci0KLX0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKLQotI2VuZGlmCi0j
ZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L1BpY2tlckluZGlj
YXRvckVsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvUGlja2VySW5kaWNh
dG9yRWxlbWVudC5jcHAKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGRjMmVjNWU5MmMw
MmViNTJhODQ4ZjdhNGEzNjBhZWNlYmQzZWEwMmUuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvUGlja2VySW5k
aWNhdG9yRWxlbWVudC5jcHAKKysrIC9kZXYvbnVsbApAQCAtMSwxMzQgKzAsMCBAQAotLyoKLSAq
IENvcHlyaWdodCAoQykgMjAxMiBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICoK
LSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdp
dGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRo
YXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQotICogbWV0OgotICoKLSAqICAgICAqIFJl
ZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJp
Z2h0Ci0gKiBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIuCi0gKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVz
dCByZXByb2R1Y2UgdGhlIGFib3ZlCi0gKiBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCi0gKiBpbiB0aGUgZG9jdW1l
bnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCi0gKiBkaXN0
cmlidXRpb24uCi0gKiAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0
aGUgbmFtZXMgb2YgaXRzCi0gKiBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBv
ciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQotICogdGhpcyBzb2Z0d2FyZSB3aXRob3V0
IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJF
IElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCi0g
KiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElO
RywgQlVUIE5PVAotICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJD
SEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCi0gKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUg
RElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAotICogT1dORVIgT1Ig
Q09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5U
QUwsCi0gKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5D
TFVESU5HLCBCVVQgTk9UCi0gKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRF
IEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKLSAqIERBVEEsIE9SIFBST0ZJVFM7IE9S
IEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQotICogVEhF
T1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwg
T1IgVE9SVAotICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJ
TiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCi0gKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFE
VklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgotICovCi0KLSNpbmNsdWRl
ICJjb25maWcuaCIKLSNpZiBFTkFCTEUoSU5QVVRfTVVMVElQTEVfRklFTERTX1VJKQotI2luY2x1
ZGUgIlBpY2tlckluZGljYXRvckVsZW1lbnQuaCIKLQotI2luY2x1ZGUgIkNocm9tZS5oIgotI2lu
Y2x1ZGUgIkV2ZW50LmgiCi0jaW5jbHVkZSAiUGFnZS5oIgotI2luY2x1ZGUgIlJlbmRlckRldGFp
bHNNYXJrZXIuaCIKLQotdXNpbmcgbmFtZXNwYWNlIFdURjo6VW5pY29kZTsKLQotbmFtZXNwYWNl
IFdlYkNvcmUgewotCi11c2luZyBuYW1lc3BhY2UgSFRNTE5hbWVzOwotCi1pbmxpbmUgUGlja2Vy
SW5kaWNhdG9yRWxlbWVudDo6UGlja2VySW5kaWNhdG9yRWxlbWVudChEb2N1bWVudCogZG9jdW1l
bnQsIFBpY2tlckluZGljYXRvck93bmVyJiBwaWNrZXJJbmRpY2F0b3JPd25lcikKLSAgICA6IEhU
TUxEaXZFbGVtZW50KGRpdlRhZywgZG9jdW1lbnQpCi0gICAgLCBtX3BpY2tlckluZGljYXRvck93
bmVyKCZwaWNrZXJJbmRpY2F0b3JPd25lcikKLXsKLSAgICBzZXRQc2V1ZG8oQXRvbWljU3RyaW5n
KCItd2Via2l0LWNhbGVuZGFyLXBpY2tlci1pbmRpY2F0b3IiLCBBdG9taWNTdHJpbmc6OkNvbnN0
cnVjdEZyb21MaXRlcmFsKSk7Ci19Ci0KLVBhc3NSZWZQdHI8UGlja2VySW5kaWNhdG9yRWxlbWVu
dD4gUGlja2VySW5kaWNhdG9yRWxlbWVudDo6Y3JlYXRlKERvY3VtZW50KiBkb2N1bWVudCwgUGlj
a2VySW5kaWNhdG9yT3duZXImIHBpY2tlckluZGljYXRvck93bmVyKQotewotICAgIHJldHVybiBh
ZG9wdFJlZihuZXcgUGlja2VySW5kaWNhdG9yRWxlbWVudChkb2N1bWVudCwgcGlja2VySW5kaWNh
dG9yT3duZXIpKTsKLX0KLQotUGlja2VySW5kaWNhdG9yRWxlbWVudDo6flBpY2tlckluZGljYXRv
ckVsZW1lbnQoKQotewotICAgIGNsb3NlUG9wdXAoKTsKLSAgICBBU1NFUlQoIW1fY2hvb3Nlcik7
Ci19Ci0KLVJlbmRlck9iamVjdCogUGlja2VySW5kaWNhdG9yRWxlbWVudDo6Y3JlYXRlUmVuZGVy
ZXIoUmVuZGVyQXJlbmEqIGFyZW5hLCBSZW5kZXJTdHlsZSopCi17Ci0gICAgcmV0dXJuIG5ldyAo
YXJlbmEpIFJlbmRlckRldGFpbHNNYXJrZXIodGhpcyk7Ci19Ci0KLXZvaWQgUGlja2VySW5kaWNh
dG9yRWxlbWVudDo6ZGVmYXVsdEV2ZW50SGFuZGxlcihFdmVudCogZXZlbnQpCi17Ci0gICAgaWYg
KCFyZW5kZXJlcigpKQotICAgICAgICByZXR1cm47Ci0gICAgaWYgKCFtX3BpY2tlckluZGljYXRv
ck93bmVyIHx8IG1fcGlja2VySW5kaWNhdG9yT3duZXItPmlzUGlja2VySW5kaWNhdG9yT3duZXJE
aXNhYmxlZE9yUmVhZE9ubHkoKSkKLSAgICAgICAgcmV0dXJuOwotCi0gICAgaWYgKGV2ZW50LT50
eXBlKCkgPT0gZXZlbnROYW1lcygpLmNsaWNrRXZlbnQpIHsKLSAgICAgICAgb3BlblBvcHVwKCk7
Ci0gICAgICAgIGV2ZW50LT5zZXREZWZhdWx0SGFuZGxlZCgpOwotICAgIH0KLQotICAgIGlmICgh
ZXZlbnQtPmRlZmF1bHRIYW5kbGVkKCkpCi0gICAgICAgIEhUTUxEaXZFbGVtZW50OjpkZWZhdWx0
RXZlbnRIYW5kbGVyKGV2ZW50KTsKLX0KLQotYm9vbCBQaWNrZXJJbmRpY2F0b3JFbGVtZW50Ojp3
aWxsUmVzcG9uZFRvTW91c2VDbGlja0V2ZW50cygpCi17Ci0gICAgaWYgKHJlbmRlcmVyKCkgJiYg
bV9waWNrZXJJbmRpY2F0b3JPd25lciAmJiAhbV9waWNrZXJJbmRpY2F0b3JPd25lci0+aXNQaWNr
ZXJJbmRpY2F0b3JPd25lckRpc2FibGVkT3JSZWFkT25seSgpKQotICAgICAgICByZXR1cm4gdHJ1
ZTsKLQotICAgIHJldHVybiBIVE1MRGl2RWxlbWVudDo6d2lsbFJlc3BvbmRUb01vdXNlQ2xpY2tF
dmVudHMoKTsKLX0KLQotdm9pZCBQaWNrZXJJbmRpY2F0b3JFbGVtZW50OjpkaWRDaG9vc2VWYWx1
ZShjb25zdCBTdHJpbmcmIHZhbHVlKQotewotICAgIGlmICghbV9waWNrZXJJbmRpY2F0b3JPd25l
cikKLSAgICAgICAgcmV0dXJuOwotICAgIG1fcGlja2VySW5kaWNhdG9yT3duZXItPnBpY2tlcklu
ZGljYXRvckNob29zZVZhbHVlKHZhbHVlKTsKLX0KLQotdm9pZCBQaWNrZXJJbmRpY2F0b3JFbGVt
ZW50OjpkaWRFbmRDaG9vc2VyKCkKLXsKLSAgICBtX2Nob29zZXIuY2xlYXIoKTsKLX0KLQotdm9p
ZCBQaWNrZXJJbmRpY2F0b3JFbGVtZW50OjpvcGVuUG9wdXAoKQotewotICAgIGlmIChtX2Nob29z
ZXIpCi0gICAgICAgIHJldHVybjsKLSAgICBpZiAoIWRvY3VtZW50KCktPnBhZ2UoKSkKLSAgICAg
ICAgcmV0dXJuOwotICAgIGlmICghbV9waWNrZXJJbmRpY2F0b3JPd25lcikKLSAgICAgICAgcmV0
dXJuOwotICAgIERhdGVUaW1lQ2hvb3NlclBhcmFtZXRlcnMgcGFyYW1ldGVyczsKLSAgICBpZiAo
IW1fcGlja2VySW5kaWNhdG9yT3duZXItPnNldHVwRGF0ZVRpbWVDaG9vc2VyUGFyYW1ldGVycyhw
YXJhbWV0ZXJzKSkKLSAgICAgICAgcmV0dXJuOwotICAgIG1fY2hvb3NlciA9IGRvY3VtZW50KCkt
PnBhZ2UoKS0+Y2hyb21lKCkub3BlbkRhdGVUaW1lQ2hvb3Nlcih0aGlzLCBwYXJhbWV0ZXJzKTsK
LX0KLQotdm9pZCBQaWNrZXJJbmRpY2F0b3JFbGVtZW50OjpjbG9zZVBvcHVwKCkKLXsKLSAgICBp
ZiAoIW1fY2hvb3NlcikKLSAgICAgICAgcmV0dXJuOwotICAgIG1fY2hvb3Nlci0+ZW5kQ2hvb3Nl
cigpOwotfQotCi12b2lkIFBpY2tlckluZGljYXRvckVsZW1lbnQ6OmRldGFjaCgpCi17Ci0gICAg
Y2xvc2VQb3B1cCgpOwotICAgIEhUTUxEaXZFbGVtZW50OjpkZXRhY2goKTsKLX0KLQotfQotCi0j
ZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L1BpY2tlckluZGlj
YXRvckVsZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L1BpY2tlckluZGljYXRv
ckVsZW1lbnQuaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDZmZGUyZjk1YTcwNGQ3
ZjYxMWZlNWNkMzBhNjhlNzc5ZjRhYWUxMC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9QaWNrZXJJbmRpY2F0
b3JFbGVtZW50LmgKKysrIC9kZXYvbnVsbApAQCAtMSw4MiArMCwwIEBACi0vKgotICogQ29weXJp
Z2h0IChDKSAyMDEyIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKgotICogUmVk
aXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3
aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUg
Zm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCi0gKiBtZXQ6Ci0gKgotICogICAgICogUmVkaXN0cmli
dXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAq
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lci4KLSAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJv
ZHVjZSB0aGUgYWJvdmUKLSAqIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKLSAqIGluIHRoZSBkb2N1bWVudGF0aW9u
IGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKLSAqIGRpc3RyaWJ1dGlv
bi4KLSAqICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1l
cyBvZiBpdHMKLSAqIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21v
dGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCi0gKiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lm
aWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJP
VklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKLSAqICJBUyBJ
UyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQg
Tk9UCi0gKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJ
TElUWSBBTkQgRklUTkVTUyBGT1IKLSAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJ
TUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCi0gKiBPV05FUiBPUiBDT05UUklC
VVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKLSAq
IFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcs
IEJVVCBOT1QKLSAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMg
T1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAotICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5F
U1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCi0gKiBUSEVPUlkgT0Yg
TElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JU
Ci0gKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBX
QVkgT1VUIE9GIFRIRSBVU0UKLSAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBP
RiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCi0gKi8KLQotI2lmbmRlZiBQaWNrZXJJ
bmRpY2F0b3JFbGVtZW50X2gKLSNkZWZpbmUgUGlja2VySW5kaWNhdG9yRWxlbWVudF9oCi0KLSNp
ZiBFTkFCTEUoSU5QVVRfTVVMVElQTEVfRklFTERTX1VJKQotI2luY2x1ZGUgIkRhdGVUaW1lQ2hv
b3Nlci5oIgotI2luY2x1ZGUgIkRhdGVUaW1lQ2hvb3NlckNsaWVudC5oIgotI2luY2x1ZGUgIkhU
TUxEaXZFbGVtZW50LmgiCi0jaW5jbHVkZSA8d3RmL093blB0ci5oPgotCi1uYW1lc3BhY2UgV2Vi
Q29yZSB7Ci0KLWNsYXNzIEhUTUxJbnB1dEVsZW1lbnQ7Ci1jbGFzcyBQYWdlUG9wdXA7Ci0KLWNs
YXNzIFBpY2tlckluZGljYXRvckVsZW1lbnQgRklOQUwgOiBwdWJsaWMgSFRNTERpdkVsZW1lbnQs
IHB1YmxpYyBEYXRlVGltZUNob29zZXJDbGllbnQgewotcHVibGljOgotICAgIC8vIFBpY2tlcklu
ZGljYXRvck93bmVyIGltcGxlbWVudGVyIG11c3QgY2FsbCByZW1vdmVQaWNrZXJJbmRpY2F0b3JP
d25lciB3aGVuCi0gICAgLy8gaXQgZG9lc24ndCBoYW5kbGUgZXZlbnQsIGUuZy4gYXQgZGVzdHJ1
Y3Rpb24uCi0gICAgY2xhc3MgUGlja2VySW5kaWNhdG9yT3duZXIgewotICAgIHB1YmxpYzoKLSAg
ICAgICAgdmlydHVhbCB+UGlja2VySW5kaWNhdG9yT3duZXIoKSB7IH0KLSAgICAgICAgdmlydHVh
bCBib29sIGlzUGlja2VySW5kaWNhdG9yT3duZXJEaXNhYmxlZE9yUmVhZE9ubHkoKSBjb25zdCA9
IDA7Ci0gICAgICAgIHZpcnR1YWwgdm9pZCBwaWNrZXJJbmRpY2F0b3JDaG9vc2VWYWx1ZShjb25z
dCBTdHJpbmcmKSA9IDA7Ci0gICAgICAgIHZpcnR1YWwgYm9vbCBzZXR1cERhdGVUaW1lQ2hvb3Nl
clBhcmFtZXRlcnMoRGF0ZVRpbWVDaG9vc2VyUGFyYW1ldGVycyYpID0gMDsKLSAgICB9OwotCi0g
ICAgc3RhdGljIFBhc3NSZWZQdHI8UGlja2VySW5kaWNhdG9yRWxlbWVudD4gY3JlYXRlKERvY3Vt
ZW50KiwgUGlja2VySW5kaWNhdG9yT3duZXImKTsKLSAgICB2aXJ0dWFsIH5QaWNrZXJJbmRpY2F0
b3JFbGVtZW50KCk7Ci0gICAgdm9pZCBvcGVuUG9wdXAoKTsKLSAgICB2b2lkIGNsb3NlUG9wdXAo
KTsKLSAgICB2aXJ0dWFsIGJvb2wgd2lsbFJlc3BvbmRUb01vdXNlQ2xpY2tFdmVudHMoKSBPVkVS
UklERTsKLSAgICB2b2lkIHJlbW92ZVBpY2tlckluZGljYXRvck93bmVyKCkgeyBtX3BpY2tlcklu
ZGljYXRvck93bmVyID0gMDsgfQotCi0gICAgLy8gRGF0ZVRpbWVDaG9vc2VyQ2xpZW50IGltcGxl
bWVudGF0aW9uLgotICAgIHZpcnR1YWwgdm9pZCBkaWRDaG9vc2VWYWx1ZShjb25zdCBTdHJpbmcm
KSBPVkVSUklERTsKLSAgICB2aXJ0dWFsIHZvaWQgZGlkRW5kQ2hvb3NlcigpIE9WRVJSSURFOwot
Ci1wcml2YXRlOgotICAgIFBpY2tlckluZGljYXRvckVsZW1lbnQoRG9jdW1lbnQqLCBQaWNrZXJJ
bmRpY2F0b3JPd25lciYpOwotICAgIHZpcnR1YWwgUmVuZGVyT2JqZWN0KiBjcmVhdGVSZW5kZXJl
cihSZW5kZXJBcmVuYSosIFJlbmRlclN0eWxlKikgT1ZFUlJJREU7Ci0gICAgdmlydHVhbCB2b2lk
IGRlZmF1bHRFdmVudEhhbmRsZXIoRXZlbnQqKSBPVkVSUklERTsKLSAgICB2aXJ0dWFsIHZvaWQg
ZGV0YWNoKCkgT1ZFUlJJREU7Ci0KLSAgICBIVE1MSW5wdXRFbGVtZW50KiBob3N0SW5wdXQoKTsK
LQotICAgIFBpY2tlckluZGljYXRvck93bmVyKiBtX3BpY2tlckluZGljYXRvck93bmVyOwotICAg
IFJlZlB0cjxEYXRlVGltZUNob29zZXI+IG1fY2hvb3NlcjsKLX07Ci0KLX0KLSNlbmRpZgotI2Vu
ZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0Nocm9tZUNsaWVudC5oIGIvU291
cmNlL1dlYkNvcmUvcGFnZS9DaHJvbWVDbGllbnQuaAppbmRleCAxMDdmNGMwY2ZlNTJjYjNlYzhi
ZDhiYzBlZTViYjkyMWEyNzU0NGQ5Li43NDVhMWU3ZmZlYWYwYjc2MTFmMWI3MDYwYjI3ZDIxMWI5
M2M1ZDBkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0Nocm9tZUNsaWVudC5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ2hyb21lQ2xpZW50LmgKQEAgLTIyMSwxMCArMjIxLDYg
QEAgcHVibGljOgogI2VuZGlmCiAKICNpZiBFTkFCTEUoREFURV9BTkRfVElNRV9JTlBVVF9UWVBF
UykKLSAgICAvLyBUaGlzIGZ1bmN0aW9uIGlzIHVzZWQgZm9yOgotICAgIC8vICAtIE1hbmRhdG9y
eSBkYXRlL3RpbWUgY2hvb3NlcnMgaWYgIUVOQUJMRShJTlBVVF9NVUxUSVBMRV9GSUVMRFNfVUkp
Ci0gICAgLy8gIC0gPGRhdGFsaXN0PiBVSSBmb3IgZGF0ZS90aW1lIGlucHV0IHR5cGVzIHJlZ2Fy
ZGxlc3Mgb2YKLSAgICAvLyAgICBFTkFCTEUoSU5QVVRfTVVMVElQTEVfRklFTERTX1VJKQogICAg
IHZpcnR1YWwgUGFzc1JlZlB0cjxEYXRlVGltZUNob29zZXI+IG9wZW5EYXRlVGltZUNob29zZXIo
RGF0ZVRpbWVDaG9vc2VyQ2xpZW50KiwgY29uc3QgRGF0ZVRpbWVDaG9vc2VyUGFyYW1ldGVycyYp
ID0gMDsKICNlbmRpZgogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9Mb2Nh
bGl6ZWRTdHJpbmdzLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9Mb2NhbGl6ZWRTdHJpbmdz
LmgKaW5kZXggMmE1MjJkODFmMzY3ZTFjNDU1YWY0YmUyMTQxMmYyMTJhYTg2YWY1OC4uYzYzZDFh
NGU0NDc5NDFhZWQ2MjQ4YThiYzE2YmUzZTJhNTQ3NjRhOCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vTG9jYWxpemVkU3RyaW5ncy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL0xvY2FsaXplZFN0cmluZ3MuaApAQCAtMTY4LDMzICsxNjgsNiBAQCBuYW1lc3BhY2Ug
V2ViQ29yZSB7CiAgICAgU3RyaW5nIEFYTWVudUxpc3RQb3B1cEFjdGlvblZlcmIoKTsKICAgICBT
dHJpbmcgQVhMaW5rQWN0aW9uVmVyYigpOwogCi0jaWYgRU5BQkxFKElOUFVUX01VTFRJUExFX0ZJ
RUxEU19VSSkKLSAgICBTdHJpbmcgQVhBTVBNRmllbGRUZXh0KCk7Ci0gICAgU3RyaW5nIEFYRGF5
T2ZNb250aEZpZWxkVGV4dCgpOwotICAgIFN0cmluZyBBWERhdGVUaW1lRmllbGRFbXB0eVZhbHVl
VGV4dCgpOwotICAgIFN0cmluZyBBWEhvdXJGaWVsZFRleHQoKTsKLSAgICBTdHJpbmcgQVhNaWxs
aXNlY29uZEZpZWxkVGV4dCgpOwotICAgIFN0cmluZyBBWE1pbnV0ZUZpZWxkVGV4dCgpOwotICAg
IFN0cmluZyBBWE1vbnRoRmllbGRUZXh0KCk7Ci0gICAgU3RyaW5nIEFYU2Vjb25kRmllbGRUZXh0
KCk7Ci0gICAgU3RyaW5nIEFYV2Vla09mWWVhckZpZWxkVGV4dCgpOwotICAgIFN0cmluZyBBWFll
YXJGaWVsZFRleHQoKTsKLQotICAgIC8vIHBsYWNlaG9sZGVyRm9yRGF5T2ZNb250aEZpZWxkKCkg
cmV0dXJucyBsb2NhbGl6ZWQgcGxhY2Vob2xkZXIgdGV4dCwgZS5nLgotICAgIC8vICJkZCIsIGZv
ciBkYXRlIGZpZWxkIHVzZWQgaW4gbXVsdGlwbGUgZmllbGRzICJkYXRlIiwgImRhdGV0aW1lIiwg
YW5kCi0gICAgLy8gImRhdGV0aW1lLWxvY2FsIiBpbnB1dCBVSSBpbnN0ZWFkICItLSIuCi0gICAg
U3RyaW5nIHBsYWNlaG9sZGVyRm9yRGF5T2ZNb250aEZpZWxkKCk7Ci0KLSAgICAvLyBwbGFjZWhv
bGRlckZvcmZNb250aEZpZWxkKCkgcmV0dXJucyBsb2NhbGl6ZWQgcGxhY2Vob2xkZXIgdGV4dCwg
ZS5nLgotICAgIC8vICJtbSIsIGZvciBtb250aCBmaWVsZCB1c2VkIGluIG11bHRpcGxlIGZpZWxk
cyAiZGF0ZSIsICJkYXRldGltZSIsIGFuZAotICAgIC8vICJkYXRldGltZS1sb2NhbCIgaW5wdXQg
VUkgaW5zdGVhZCAiLS0iLgotICAgIFN0cmluZyBwbGFjZWhvbGRlckZvck1vbnRoRmllbGQoKTsK
LQotICAgIC8vIHBsYWNlaG9sZGVyRm9yWWVhckZpZWxkKCkgcmV0dXJucyBsb2NhbGl6ZWQgcGxh
Y2Vob2xkZXIgdGV4dCwgZS5nLgotICAgIC8vICJ5eXl5IiwgZm9yIHllYXIgZmllbGQgdXNlZCBp
biBtdWx0aXBsZSBmaWVsZHMgImRhdGUiLCAiZGF0ZXRpbWUiLCBhbmQKLSAgICAvLyAiZGF0ZXRp
bWUtbG9jYWwiIGlucHV0IFVJIGluc3RlYWQgIi0tLS0iLgotICAgIFN0cmluZyBwbGFjZWhvbGRl
ckZvclllYXJGaWVsZCgpOwotI2VuZGlmCiAjaWYgRU5BQkxFKElOUFVUX1RZUEVfV0VFSykKICAg
ICAvLyB3ZWVrRm9ybWF0SW5MRE1MKCkgcmV0dXJucyB3ZWVrIGFuZCB5ZWFyIGZvcm1hdCBpbiBM
RE1MLCBVbmljb2RlCiAgICAgLy8gdGVjaG5pY2FsIHN0YW5kYXJkIDM1LCBMb2NhbGUgRGF0YSBN
YXJrdXAgTGFuZ3VhZ2UsIGUuZy4gIidXZWVrJyB3dywgeXl5eSIKQEAgLTI1Niw5ICsyMjksNiBA
QCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgU3RyaW5nIHZhbGlkYXRpb25NZXNzYWdlUmFuZ2VP
dmVyZmxvd1RleHQoY29uc3QgU3RyaW5nJiBtYXhpbXVtKTsKICAgICBTdHJpbmcgdmFsaWRhdGlv
bk1lc3NhZ2VTdGVwTWlzbWF0Y2hUZXh0KGNvbnN0IFN0cmluZyYgYmFzZSwgY29uc3QgU3RyaW5n
JiBzdGVwKTsKICAgICBTdHJpbmcgdmFsaWRhdGlvbk1lc3NhZ2VCYWRJbnB1dEZvck51bWJlclRl
eHQoKTsKLSNpZiBFTkFCTEUoSU5QVVRfTVVMVElQTEVfRklFTERTX1VJKQotICAgIFN0cmluZyB2
YWxpZGF0aW9uTWVzc2FnZUJhZElucHV0Rm9yRGF0ZVRpbWVUZXh0KCk7Ci0jZW5kaWYKICNpZiBV
U0UoU09VUCkKICAgICBTdHJpbmcgdW5hY2NlcHRhYmxlVExTQ2VydGlmaWNhdGUoKTsKICNlbmRp
ZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vdGV4dC9QbGF0Zm9ybUxvY2Fs
ZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L1BsYXRmb3JtTG9jYWxlLmNwcApp
bmRleCA4NjA0YTJiMTA4MzlhMTM3MDMzNWMzMTE1YTM0MWNiNzMwMzVjYmZkLi5kNzM2Y2NhNzRl
YTQ5YTk3ZTQyMjMwZTU3ZDEyYTAwMGU4NDVkOGM5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS90ZXh0L1BsYXRmb3JtTG9jYWxlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS90ZXh0L1BsYXRmb3JtTG9jYWxlLmNwcApAQCAtMzI2LDE0ICszMjYsNiBAQCBTdHJp
bmcgTG9jYWxlOjpjb252ZXJ0RnJvbUxvY2FsaXplZE51bWJlcihjb25zdCBTdHJpbmcmIGxvY2Fs
aXplZCkKICAgICByZXR1cm4gYnVpbGRlci50b1N0cmluZygpOwogfQogCi0jaWYgRU5BQkxFKElO
UFVUX01VTFRJUExFX0ZJRUxEU19VSSkKLVN0cmluZyBMb2NhbGU6OmxvY2FsaXplZERlY2ltYWxT
ZXBhcmF0b3IoKQotewotICAgIGluaXRpYWxpemVMb2NhbGVEYXRhKCk7Ci0gICAgcmV0dXJuIG1f
ZGVjaW1hbFN5bWJvbHNbRGVjaW1hbFNlcGFyYXRvckluZGV4XTsKLX0KLSNlbmRpZgotCiAjaWYg
RU5BQkxFKERBVEVfQU5EX1RJTUVfSU5QVVRfVFlQRVMpCiAKIFN0cmluZyBMb2NhbGU6OmZvcm1h
dERhdGVUaW1lKGNvbnN0IERhdGVDb21wb25lbnRzJiBkYXRlLCBGb3JtYXRUeXBlIGZvcm1hdFR5
cGUpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L1BsYXRmb3JtTG9j
YWxlLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L1BsYXRmb3JtTG9jYWxlLmgKaW5k
ZXggOTI1YjdlMTIxNWIzZTA0NTI5YjlmYzVjNzBmYmY5Y2ViOWQ2YzFjMi4uMWU5NzY5MDZiZTg2
ODZiODk1YzZlMzMyOTMyNTU2ZTE1N2UyMDU2YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vdGV4dC9QbGF0Zm9ybUxvY2FsZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL3RleHQvUGxhdGZvcm1Mb2NhbGUuaApAQCAtNTMsMTEgKzUzLDYgQEAgcHVibGljOgogICAg
IC8vIHJlc3VsdGFudCBzdHJpbmcuCiAgICAgU3RyaW5nIGNvbnZlcnRGcm9tTG9jYWxpemVkTnVt
YmVyKGNvbnN0IFN0cmluZyYpOwogCi0jaWYgRU5BQkxFKElOUFVUX01VTFRJUExFX0ZJRUxEU19V
SSkKLSAgICAvLyBSZXR1cm5zIGxvY2FsaXplZCBkZWNpbWFsIHNlcGFyYXRvciwgZS5nLiAiLiIg
Zm9yIEVuZ2xpc2gsICIsIiBmb3IgRnJlbmNoLgotICAgIFN0cmluZyBsb2NhbGl6ZWREZWNpbWFs
U2VwYXJhdG9yKCk7Ci0jZW5kaWYKLQogI2lmIEVOQUJMRShEQVRFX0FORF9USU1FX0lOUFVUX1RZ
UEVTKQogICAgIC8vIFJldHVybnMgZGF0ZSBmb3JtYXQgaW4gVW5pY29kZSBUUjM1IExETUxbMV0g
Y29udGFpbmluZyBkYXkgb2YgbW9udGgsCiAgICAgLy8gbW9udGgsIGFuZCB5ZWFyLCBlLmcuICJk
ZC9tbS95eXl5IgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckRl
dGFpbHNNYXJrZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckRldGFpbHNN
YXJrZXIuY3BwCmluZGV4IDE2NDVmOTI0MTFkNGEyMjE1NWNhNTNjYmI3OTVkM2ExMzEzZmFiYWMu
LjBkMTc2NmE0ZWNkZTMxNjY4YmY0YmJlZWExZmUyNDRkOTU0MjZkZTAgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJEZXRhaWxzTWFya2VyLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRGV0YWlsc01hcmtlci5jcHAKQEAgLTE5LDcgKzE5
LDcgQEAKICAqLwogCiAjaW5jbHVkZSAiY29uZmlnLmgiCi0jaWYgRU5BQkxFKERFVEFJTFNfRUxF
TUVOVCkgfHwgRU5BQkxFKElOUFVUX01VTFRJUExFX0ZJRUxEU19VSSkKKyNpZiBFTkFCTEUoREVU
QUlMU19FTEVNRU5UKQogI2luY2x1ZGUgIlJlbmRlckRldGFpbHNNYXJrZXIuaCIKIAogI2luY2x1
ZGUgIkVsZW1lbnQuaCIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJEZXRhaWxzTWFya2VyLmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRGV0YWls
c01hcmtlci5oCmluZGV4IGNkOTFiMDEzZWE4OTVhNDA0YjMwNWVmM2M2YjVlN2ZlOTI0NWNlYWYu
LmRiN2QyOWQ3MGRkNmYzNDZiMDMwNTM1OWQzMmY3YThkMzI3YmEyZWUgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJEZXRhaWxzTWFya2VyLmgKKysrIGIvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckRldGFpbHNNYXJrZXIuaApAQCAtMjEsNyArMjEsNyBA
QAogI2lmbmRlZiBSZW5kZXJEZXRhaWxzTWFya2VyX2gKICNkZWZpbmUgUmVuZGVyRGV0YWlsc01h
cmtlcl9oCiAKLSNpZiBFTkFCTEUoREVUQUlMU19FTEVNRU5UKSB8fCBFTkFCTEUoSU5QVVRfTVVM
VElQTEVfRklFTERTX1VJKQorI2lmIEVOQUJMRShERVRBSUxTX0VMRU1FTlQpCiAjaW5jbHVkZSAi
UmVuZGVyQmxvY2suaCIKIAogbmFtZXNwYWNlIFdlYkNvcmUgewpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck9iamVjdC5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlck9iamVjdC5oCmluZGV4IDgxODg1MzFmMWRkMTFlYjAzYzY0Y2M4ZGQwYTQ1YzVj
NWU2OTcyMWEuLmJmNDEyZTVlY2U0MWQwNjM1MmI1OTJiZGQyMTc2MzQzYmE4MWQ4NjMgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJPYmplY3QuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmgKQEAgLTMyOSw3ICszMjksNyBAQCBw
dWJsaWM6CiAjZW5kaWYKICAgICB2aXJ0dWFsIGJvb2wgaXNRdW90ZSgpIGNvbnN0IHsgcmV0dXJu
IGZhbHNlOyB9CiAKLSNpZiBFTkFCTEUoREVUQUlMU19FTEVNRU5UKSB8fCBFTkFCTEUoSU5QVVRf
TVVMVElQTEVfRklFTERTX1VJKQorI2lmIEVOQUJMRShERVRBSUxTX0VMRU1FTlQpCiAgICAgdmly
dHVhbCBib29sIGlzRGV0YWlsc01hcmtlcigpIGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9CiAjZW5k
aWYKICAgICB2aXJ0dWFsIGJvb2wgaXNFbWJlZGRlZE9iamVjdCgpIGNvbnN0IHsgcmV0dXJuIGZh
bHNlOyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2JsYWNrYmVycnkvV2ViQ29yZVN1cHBv
cnQvQWJvdXREYXRhRW5hYmxlRmVhdHVyZXMuaW4gYi9Tb3VyY2UvV2ViS2l0L2JsYWNrYmVycnkv
V2ViQ29yZVN1cHBvcnQvQWJvdXREYXRhRW5hYmxlRmVhdHVyZXMuaW4KaW5kZXggYzIwNTIzY2Y0
YmY3NjMwZDhmZjE2YjEwZDBlN2I2NWQ1ODBmZjVkNS4uNjc2YmMwNGRhOGUxNWRiNDc5YjI0MWQx
MzYzMjQ3NDFjOGQ3ZWFkYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9ibGFja2JlcnJ5L1dl
YkNvcmVTdXBwb3J0L0Fib3V0RGF0YUVuYWJsZUZlYXR1cmVzLmluCisrKyBiL1NvdXJjZS9XZWJL
aXQvYmxhY2tiZXJyeS9XZWJDb3JlU3VwcG9ydC9BYm91dERhdGFFbmFibGVGZWF0dXJlcy5pbgpA
QCAtOTEsNyArOTEsNiBAQCBJQ09OREFUQUJBU0UKIElGUkFNRV9TRUFNTEVTUwogSU1BR0VfREVD
T0RFUl9ET1dOX1NBTVBMSU5HCiBJTkRFWEVEX0RBVEFCQVNFCi1JTlBVVF9NVUxUSVBMRV9GSUVM
RFNfVUkKIElOUFVUX1NQRUVDSAogSU5QVVRfVFlQRV9DT0xPUgogSU5QVVRfVFlQRV9EQVRFCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cK
aW5kZXggY2Y1NjZkZjYzYmNmZWI5MGIyZWM2Yjk1MTRmZWYzODliMzBhMmRkMS4uNGM2MjhmODVm
YWUyZDQ4Mzk5YzZiZjU2ODhkNTZhYTcwMWJkNjJjYSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIyNyBAQAor
MjAxMy0wNS0yNiAgS2VudCBUYW11cmEgIDx0a2VudEBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAg
UmVtb3ZlIEVOQUJMRV9JTlBVVF9NVUxUSVBMRV9GSUVMRFNfVUkuCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMTY3OTYKKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIGZhc3QvZm9ybXMvZGF0ZS1tdWx0aXBs
ZS1maWVsZHMvZGF0ZS1tdWx0aXBsZS1maWVsZHMtYXgtYXJpYS1hdHRyaWJ1dGVzLWV4cGVjdGVk
LnR4dDogUmVtb3ZlZC4KKyAgICAgICAgKiBmYXN0L2Zvcm1zL2RhdGUtbXVsdGlwbGUtZmllbGRz
L2RhdGUtbXVsdGlwbGUtZmllbGRzLWF4LWFyaWEtYXR0cmlidXRlcy5odG1sOiBSZW1vdmVkLgor
ICAgICAgICAqIGZhc3QvZm9ybXMvZGF0ZS1tdWx0aXBsZS1maWVsZHMvZGF0ZS1tdWx0aXBsZS1m
aWVsZHMtYXgtdmFsdWUtY2hhbmdlZC1ub3RpZmljYXRpb24tZXhwZWN0ZWQudHh0OiBSZW1vdmVk
LgorICAgICAgICAqIGZhc3QvZm9ybXMvZGF0ZS1tdWx0aXBsZS1maWVsZHMvZGF0ZS1tdWx0aXBs
ZS1maWVsZHMtYXgtdmFsdWUtY2hhbmdlZC1ub3RpZmljYXRpb24uaHRtbDogUmVtb3ZlZC4KKyAg
ICAgICAgKiBmYXN0L2Zvcm1zL2RhdGUtbXVsdGlwbGUtZmllbGRzL2RhdGUtbXVsdGlwbGUtZmll
bGRzLWJsdXItYW5kLWZvY3VzLWV2ZW50cy1leHBlY3RlZC50eHQ6IFJlbW92ZWQuCisgICAgICAg
ICogZmFzdC9mb3Jtcy9kYXRlLW11bHRpcGxlLWZpZWxkcy9kYXRlLW11bHRpcGxlLWZpZWxkcy1i
bHVyLWFuZC1mb2N1cy1ldmVudHMuaHRtbDogUmVtb3ZlZC4KKyAgICAgICAgKiBmYXN0L2Zvcm1z
L2RhdGUtbXVsdGlwbGUtZmllbGRzL2RhdGUtbXVsdGlwbGUtZmllbGRzLWNoYW5nZS1sYXlvdXQt
YnktdmFsdWUtZXhwZWN0ZWQudHh0OiBSZW1vdmVkLgorICAgICAgICAqIGZhc3QvZm9ybXMvZGF0
ZS1tdWx0aXBsZS1maWVsZHMvZGF0ZS1tdWx0aXBsZS1maWVsZHMtY2hhbmdlLWxheW91dC1ieS12
YWx1ZS5odG1sOiBSZW1vdmVkLgorICAgICAgICAqIGZhc3QvZm9ybXMvZGF0ZS1tdWx0aXBsZS1m
aWVsZHMvZGF0ZS1tdWx0aXBsZS1maWVsZHMtY2xlYXJidXR0b24tY2hhbmdlLWFuZC1pbnB1dC1l
dmVudHMtZXhwZWN0ZWQudHh0OiBSZW1vdmVkLgorICAgICAgICAqIGZhc3QvZm9ybXMvZGF0ZS1t
dWx0aXBsZS1maWVsZHMvZGF0ZS1tdWx0aXBsZS1maWVsZHMtY2xlYXJidXR0b24tY2hhbmdlLWFu
ZC1pbnB1dC1ldmVudHMuaHRtbDogUmVtb3ZlZC4KKyAgICAgICAgKiBmYXN0L2Zvcm1zL2RhdGUt
bXVsdGlwbGUtZmllbGRzL2RhdGUtbXVsdGlwbGUtZmllbGRzLWNsZWFyYnV0dG9uLXZpc2liaWxp
dHktYWZ0ZXItcmVzdG9yZS1leHBlY3RlZC5odG1sOiBSZW1vdmVkLgorICAgICAgICAqIGZhc3Qv
Zm9ybXMvZGF0ZS1tdWx0aXBsZS1maWVsZHMvZGF0ZS1tdWx0aXBsZS1maWVsZHMtY2xlYXJidXR0
b24tdmlzaWJpbGl0eS1hZnRlci1yZXN0b3JlLmh0bWw6IFJlbW92ZWQuCisgICAgICAgICogZmFz
dC9mb3Jtcy9kYXRlLW11bHRpcGxlLWZpZWxkcy9kYXRlLW11bHRpcGxlLWZpZWxkcy1mYWxsYmFj
ay1mb3JtYXQtZXhwZWN0ZWQudHh0OiBSZW1vdmVkLgorICAgICAgICAqIGZhc3QvZm9ybXMvZGF0
ZS1tdWx0aXBsZS1maWVsZHMvZGF0ZS1tdWx0aXBsZS1maWVsZHMtZmFsbGJhY2stZm9ybWF0Lmh0
bWw6IFJlbW92ZWQuCisgICAgICAgICogZmFzdC9mb3Jtcy9kYXRlLW11bHRpcGxlLWZpZWxkcy9k
YXRlLW11bHRpcGxlLWZpZWxkcy1mb2N1cy1leHBlY3RlZC50eHQ6IFJlbW92ZWQuCisgICAgICAg
ICogZmFzdC9mb3Jtcy9kYXRlLW11bHRpcGxlLWZpZWxkcy9kYXRlLW11bHRpcGxlLWZpZWxkcy1m
b2N1cy5odG1sOiBSZW1vdmVkLgorICAgICAgICAqIGZhc3QvZm9ybXMvZGF0ZS1tdWx0aXBsZS1m
aWVsZHMvZGF0ZS1tdWx0aXBsZS1maWVsZHMta2V5Ym9hcmQtZXZlbnRzLWV4cGVjdGVkLnR4dDog
UmVtb3ZlZC4KKyAgICAgICAgKiBmYXN0L2Zvcm1zL2RhdGUtbXVsdGlwbGUtZmllbGRzL2RhdGUt
bXVsdGlwbGUtZmllbGRzLWtleWJvYXJkLWV2ZW50cy5odG1sOiBSZW1vdmVkLgorICAgICAgICAq
IGZhc3QvZm9ybXMvZGF0ZS1tdWx0aXBsZS1maWVsZHMvZGF0ZS1tdWx0aXBsZS1maWVsZHMtbW91
c2UtZXZlbnRzLWV4cGVjdGVkLnR4dDogUmVtb3ZlZC4KKyAgICAgICAgKiBmYXN0L2Zvcm1zL2Rh
dGUtbXVsdGlwbGUtZmllbGRzL2RhdGUtbXVsdGlwbGUtZmllbGRzLW1vdXNlLWV2ZW50cy5odG1s
OiBSZW1vdmVkLgorICAgICAgICAqIGZhc3QvZm9ybXMvZGF0ZS1tdWx0aXBsZS1maWVsZHMvZGF0
ZS1tdWx0aXBsZS1maWVsZHMtcHJlc2VydmUtdmFsdWUtYWZ0ZXItaGlzdG9yeS1iYWNrLWV4cGVj
dGVkLnR4dDogUmVtb3ZlZC4KKyAgICAgICAgKiBmYXN0L2Zvcm1zL2RhdGUtbXVsdGlwbGUtZmll
bGRzL2RhdGUtbXVsdGlwbGUtZmllbGRzLXByZXNlcnZlLXZhbHVlLWFmdGVyLWhpc3RvcnktYmFj
ay5odG1sOiBSZW1vdmVkLgorICAgICAgICAqIGZhc3QvZm9ybXMvZGF0ZS1tdWx0aXBsZS1maWVs
ZHMvZGF0ZS1tdWx0aXBsZS1maWVsZHMtcmVhZG9ubHktc3ViZmllbGQtZXhwZWN0ZWQudHh0OiBS
ZW1vdmVkLgorICAgICAgICAqIGZhc3QvZm9ybXMvZGF0ZS1tdWx0aXBsZS1maWVsZHMvZGF0ZS1t
dWx0aXBsZS1maWVsZHMtcmVhZG9ubHktc3ViZmllbGQuaHRtbDogUmVtb3ZlZC4KKyAgICAgICAg
KiBmYXN0L2Zvcm1zL2RhdGUtbXVsdGlwbGUtZmllbGRzL2RhdGUtbXVsdGlwbGUtZmllbGRzLXJl
c2V0LXZhbHVlLWFmdGVyLXJlbG9hZHMtZXhwZWN0ZWQudHh0OiBSZW1vdmVkLgorICAgICAgICAq
IGZhc3QvZm9ybXMvZGF0ZS1tdWx0aXBsZS1maWVsZHMvZGF0ZS1tdWx0aXBsZS1maWVsZHMtcmVz
ZXQtdmFsdWUtYWZ0ZXItcmVsb2Fkcy5odG1sOiBSZW1vdmVkLgorICAgICAgICAqIGZhc3QvZm9y
bXMvZGF0ZS1tdWx0aXBsZS1maWVsZHMvZGF0ZS1tdWx0aXBsZS1maWVsZHMtc3BpbmJ1dHRvbi1j
aGFuZ2UtYW5kLWlucHV0LWV2ZW50cy1leHBlY3RlZC50eHQ6IFJlbW92ZWQuCisgICAgICAgICog
ZmFzdC9mb3Jtcy9kYXRlLW11bHRpcGxlLWZpZWxkcy9kYXRlLW11bHRpcGxlLWZpZWxkcy1zcGlu
YnV0dG9uLWNoYW5nZS1hbmQtaW5wdXQtZXZlbnRzLmh0bWw6IFJlbW92ZWQuCisgICAgICAgICog
ZmFzdC9mb3Jtcy9kYXRlLW11bHRpcGxlLWZpZWxkcy9kYXRlLW11bHRpcGxlLWZpZWxkcy1zdGVw
dXAtc3RlcGRvd24tZnJvbS1yZW5kZXJlci1leHBlY3RlZC50eHQ6IFJlbW92ZWQuCisgICAgICAg
ICogZmFzdC9mb3Jtcy9kYXRlLW11bHRpcGxlLWZpZWxkcy9kYXRlLW11bHRpcGxlLWZpZWxkcy1z
dGVwdXAtc3RlcGRvd24tZnJvbS1yZW5kZXJlci5odG1sOiBSZW1vdmVkLgorICAgICAgICAqIGZh
c3QvZm9ybXMvZGF0ZS1tdWx0aXBsZS1maWVsZHMvZGF0ZS1tdWx0aXBsZS1maWVsZHMtdmFsaWRp
dHktYmFkaW5wdXQtZXhwZWN0ZWQudHh0OiBSZW1vdmVkLgorICAgICAgICAqIGZhc3QvZm9ybXMv
ZGF0ZS1tdWx0aXBsZS1maWVsZHMvZGF0ZS1tdWx0aXBsZS1maWVsZHMtdmFsaWRpdHktYmFkaW5w
dXQuaHRtbDogUmVtb3ZlZC4KKyAgICAgICAgKiBmYXN0L2Zvcm1zL2RhdGUtbXVsdGlwbGUtZmll
bGRzL2RhdGUtbXVsdGlwbGUtZmllbGRzLXZhbHVlLXNldC1lbXB0eS1leHBlY3RlZC50eHQ6IFJl
bW92ZWQuCisgICAgICAgICogZmFzdC9mb3Jtcy9kYXRlLW11bHRpcGxlLWZpZWxkcy9kYXRlLW11
bHRpcGxlLWZpZWxkcy12YWx1ZS1zZXQtZW1wdHkuaHRtbDogUmVtb3ZlZC4KKyAgICAgICAgKiBm
YXN0L2Zvcm1zL2RhdGUtbXVsdGlwbGUtZmllbGRzL2RhdGUtbXVsdGlwbGUtZmllbGRzLXdoZWVs
LWV2ZW50LWV4cGVjdGVkLnR4dDogUmVtb3ZlZC4KKyAgICAgICAgKiBmYXN0L2Zvcm1zL2RhdGUt
bXVsdGlwbGUtZmllbGRzL2RhdGUtbXVsdGlwbGUtZmllbGRzLXdoZWVsLWV2ZW50Lmh0bWw6IFJl
bW92ZWQuCisgICAgICAgICogZmFzdC9mb3Jtcy9kYXRlLW11bHRpcGxlLWZpZWxkcy9yZXNvdXJj
ZXMvcHJlc2VydmUtdmFsdWUtYWZ0ZXItaGlzdG9yeS1iYWNrLWZyYW1lLmh0bWw6IFJlbW92ZWQu
CisgICAgICAgICogZmFzdC9mb3Jtcy9kYXRldGltZS1tdWx0aXBsZS1maWVsZHMvZGF0ZXRpbWUt
bXVsdGlwbGUtZmllbGRzLWZhbGxiYWNrLWZvcm1hdC1leHBlY3RlZC50eHQ6IFJlbW92ZWQuCisg
ICAgICAgICogZmFzdC9mb3Jtcy9kYXRldGltZS1tdWx0aXBsZS1maWVsZHMvZGF0ZXRpbWUtbXVs
dGlwbGUtZmllbGRzLWZhbGxiYWNrLWZvcm1hdC5odG1sOiBSZW1vdmVkLgorICAgICAgICAqIGZh
c3QvZm9ybXMvZGF0ZXRpbWUtbXVsdGlwbGUtZmllbGRzL2RhdGV0aW1lLW11bHRpcGxlLWZpZWxk
cy12YWxpZGl0eS1iYWRpbnB1dC1leHBlY3RlZC50eHQ6IFJlbW92ZWQuCisgICAgICAgICogZmFz
dC9mb3Jtcy9kYXRldGltZS1tdWx0aXBsZS1maWVsZHMvZGF0ZXRpbWUtbXVsdGlwbGUtZmllbGRz
LXZhbGlkaXR5LWJhZGlucHV0Lmh0bWw6IFJlbW92ZWQuCisgICAgICAgICogZmFzdC9mb3Jtcy9k
YXRldGltZS1tdWx0aXBsZS1maWVsZHMvZGF0ZXRpbWUtbXVsdGlwbGUtZmllbGRzLXZhbHVlLXNl
dC1lbXB0eS1leHBlY3RlZC50eHQ6IFJlbW92ZWQuCisgICAgICAgICogZmFzdC9mb3Jtcy9kYXRl
dGltZS1tdWx0aXBsZS1maWVsZHMvZGF0ZXRpbWUtbXVsdGlwbGUtZmllbGRzLXZhbHVlLXNldC1l
bXB0eS5odG1sOiBSZW1vdmVkLgorICAgICAgICAqIGZhc3QvZm9ybXMvZGF0ZXRpbWVsb2NhbC1t
dWx0aXBsZS1maWVsZHMvZGF0ZXRpbWVsb2NhbC1tdWx0aXBsZS1maWVsZHMtYXgtYXJpYS1hdHRy
aWJ1dGVzLWV4cGVjdGVkLnR4dDogUmVtb3ZlZC4KKyAgICAgICAgKiBmYXN0L2Zvcm1zL2RhdGV0
aW1lbG9jYWwtbXVsdGlwbGUtZmllbGRzL2RhdGV0aW1lbG9jYWwtbXVsdGlwbGUtZmllbGRzLWF4
LWFyaWEtYXR0cmlidXRlcy5odG1sOiBSZW1vdmVkLgorICAgICAgICAqIGZhc3QvZm9ybXMvZGF0
ZXRpbWVsb2NhbC1tdWx0aXBsZS1maWVsZHMvZGF0ZXRpbWVsb2NhbC1tdWx0aXBsZS1maWVsZHMt
YXgtdmFsdWUtY2hhbmdlZC1ub3RpZmljYXRpb24tZXhwZWN0ZWQudHh0OiBSZW1vdmVkLgorICAg
ICAgICAqIGZhc3QvZm9ybXMvZGF0ZXRpbWVsb2NhbC1tdWx0aXBsZS1maWVsZHMvZGF0ZXRpbWVs
b2NhbC1tdWx0aXBsZS1maWVsZHMtYXgtdmFsdWUtY2hhbmdlZC1ub3RpZmljYXRpb24uaHRtbDog
UmVtb3ZlZC4KKyAgICAgICAgKiBmYXN0L2Zvcm1zL2RhdGV0aW1lbG9jYWwtbXVsdGlwbGUtZmll
bGRzL2RhdGV0aW1lbG9jYWwtbXVsdGlwbGUtZmllbGRzLWJsdXItYW5kLWZvY3VzLWV2ZW50cy1l
eHBlY3RlZC50eHQ6IFJlbW92ZWQuCisgICAgICAgICogZmFzdC9mb3Jtcy9kYXRldGltZWxvY2Fs
LW11bHRpcGxlLWZpZWxkcy9kYXRldGltZWxvY2FsLW11bHRpcGxlLWZpZWxkcy1ibHVyLWFuZC1m
b2N1cy1ldmVudHMuaHRtbDogUmVtb3ZlZC4KKyAgICAgICAgKiBmYXN0L2Zvcm1zL2RhdGV0aW1l
bG9jYWwtbXVsdGlwbGUtZmllbGRzL2RhdGV0aW1lbG9jYWwtbXVsdGlwbGUtZmllbGRzLWNoYW5n
ZS1sYXlvdXQtYnktdmFsdWUtZXhwZWN0ZWQudHh0OiBSZW1vdmVkLgorICAgICAgICAqIGZhc3Qv
Zm9ybXMvZGF0ZXRpbWVsb2NhbC1tdWx0aXBsZS1maWVsZHMvZGF0ZXRpbWVsb2NhbC1tdWx0aXBs
ZS1maWVsZHMtY2hhbmdlLWxheW91dC1ieS12YWx1ZS5odG1sOiBSZW1vdmVkLgorICAgICAgICAq
IGZhc3QvZm9ybXMvZGF0ZXRpbWVsb2NhbC1tdWx0aXBsZS1maWVsZHMvZGF0ZXRpbWVsb2NhbC1t
dWx0aXBsZS1maWVsZHMtY2xlYXJidXR0b24tY2hhbmdlLWFuZC1pbnB1dC1ldmVudHMtZXhwZWN0
ZWQudHh0OiBSZW1vdmVkLgorICAgICAgICAqIGZhc3QvZm9ybXMvZGF0ZXRpbWVsb2NhbC1tdWx0
aXBsZS1maWVsZHMvZGF0ZXRpbWVsb2NhbC1tdWx0aXBsZS1maWVsZHMtY2xlYXJidXR0b24tY2hh
bmdlLWFuZC1pbnB1dC1ldmVudHMuaHRtbDogUmVtb3ZlZC4KKyAgICAgICAgKiBmYXN0L2Zvcm1z
L2RhdGV0aW1lbG9jYWwtbXVsdGlwbGUtZmllbGRzL2RhdGV0aW1lbG9jYWwtbXVsdGlwbGUtZmll
bGRzLWNsZWFyYnV0dG9uLXZpc2liaWxpdHktYWZ0ZXItcmVzdG9yZS1leHBlY3RlZC5odG1sOiBS
ZW1vdmVkLgorICAgICAgICAqIGZhc3QvZm9ybXMvZGF0ZXRpbWVsb2NhbC1tdWx0aXBsZS1maWVs
ZHMvZGF0ZXRpbWVsb2NhbC1tdWx0aXBsZS1maWVsZHMtY2xlYXJidXR0b24tdmlzaWJpbGl0eS1h
ZnRlci1yZXN0b3JlLmh0bWw6IFJlbW92ZWQuCisgICAgICAgICogZmFzdC9mb3Jtcy9kYXRldGlt
ZWxvY2FsLW11bHRpcGxlLWZpZWxkcy9kYXRldGltZWxvY2FsLW11bHRpcGxlLWZpZWxkcy1mYWxs
YmFjay1mb3JtYXQtZXhwZWN0ZWQudHh0OiBSZW1vdmVkLgorICAgICAgICAqIGZhc3QvZm9ybXMv
ZGF0ZXRpbWVsb2NhbC1tdWx0aXBsZS1maWVsZHMvZGF0ZXRpbWVsb2NhbC1tdWx0aXBsZS1maWVs
ZHMtZmFsbGJhY2stZm9ybWF0Lmh0bWw6IFJlbW92ZWQuCisgICAgICAgICogZmFzdC9mb3Jtcy9k
YXRldGltZWxvY2FsLW11bHRpcGxlLWZpZWxkcy9kYXRldGltZWxvY2FsLW11bHRpcGxlLWZpZWxk
cy1rZXlib2FyZC1ldmVudHMtZXhwZWN0ZWQudHh0OiBSZW1vdmVkLgorICAgICAgICAqIGZhc3Qv
Zm9ybXMvZGF0ZXRpbWVsb2NhbC1tdWx0aXBsZS1maWVsZHMvZGF0ZXRpbWVsb2NhbC1tdWx0aXBs
ZS1maWVsZHMta2V5Ym9hcmQtZXZlbnRzLmh0bWw6IFJlbW92ZWQuCisgICAgICAgICogZmFzdC9m
b3Jtcy9kYXRldGltZWxvY2FsLW11bHRpcGxlLWZpZWxkcy9kYXRldGltZWxvY2FsLW11bHRpcGxl
LWZpZWxkcy1tb3VzZS1ldmVudHMtZXhwZWN0ZWQudHh0OiBSZW1vdmVkLgorICAgICAgICAqIGZh
c3QvZm9ybXMvZGF0ZXRpbWVsb2NhbC1tdWx0aXBsZS1maWVsZHMvZGF0ZXRpbWVsb2NhbC1tdWx0
aXBsZS1maWVsZHMtbW91c2UtZXZlbnRzLmh0bWw6IFJlbW92ZWQuCisgICAgICAgICogZmFzdC9m
b3Jtcy9kYXRldGltZWxvY2FsLW11bHRpcGxlLWZpZWxkcy9kYXRldGltZWxvY2FsLW11bHRpcGxl
LWZpZWxkcy1wcmVzZXJ2ZS12YWx1ZS1hZnRlci1oaXN0b3J5LWJhY2stZXhwZWN0ZWQudHh0OiBS
ZW1vdmVkLgorICAgICAgICAqIGZhc3QvZm9ybXMvZGF0ZXRpbWVsb2NhbC1tdWx0aXBsZS1maWVs
ZHMvZGF0ZXRpbWVsb2NhbC1tdWx0aXBsZS1maWVsZHMtcHJlc2VydmUtdmFsdWUtYWZ0ZXItaGlz
dG9yeS1iYWNrLmh0bWw6IFJlbW92ZWQuCisgICAgICAgICogZmFzdC9mb3Jtcy9kYXRldGltZWxv
Y2FsLW11bHRpcGxlLWZpZWxkcy9kYXRldGltZWxvY2FsLW11bHRpcGxlLWZpZWxkcy1yZWFkb25s
eS1zdWJmaWVsZC1leHBlY3RlZC50eHQ6IFJlbW92ZWQuCisgICAgICAgICogZmFzdC9mb3Jtcy9k
YXRldGltZWxvY2FsLW11bHRpcGxlLWZpZWxkcy9kYXRldGltZWxvY2FsLW11bHRpcGxlLWZpZWxk
cy1yZWFkb25seS1zdWJmaWVsZC5odG1sOiBSZW1vdmVkLgorICAgICAgICAqIGZhc3QvZm9ybXMv
ZGF0ZXRpbWVsb2NhbC1tdWx0aXBsZS1maWVsZHMvZGF0ZXRpbWVsb2NhbC1tdWx0aXBsZS1maWVs
ZHMtcmVzZXQtdmFsdWUtYWZ0ZXItcmVsb2Fkcy1leHBlY3RlZC50eHQ6IFJlbW92ZWQuCisgICAg
ICAgICogZmFzdC9mb3Jtcy9kYXRldGltZWxvY2FsLW11bHRpcGxlLWZpZWxkcy9kYXRldGltZWxv
Y2FsLW11bHRpcGxlLWZpZWxkcy1yZXNldC12YWx1ZS1hZnRlci1yZWxvYWRzLmh0bWw6IFJlbW92
ZWQuCisgICAgICAgICogZmFzdC9mb3Jtcy9kYXRldGltZWxvY2FsLW11bHRpcGxlLWZpZWxkcy9k
YXRldGltZWxvY2FsLW11bHRpcGxlLWZpZWxkcy1zcGluYnV0dG9uLWNoYW5nZS1hbmQtaW5wdXQt
ZXZlbnRzLWV4cGVjdGVkLnR4dDogUmVtb3ZlZC4KKyAgICAgICAgKiBmYXN0L2Zvcm1zL2RhdGV0
aW1lbG9jYWwtbXVsdGlwbGUtZmllbGRzL2RhdGV0aW1lbG9jYWwtbXVsdGlwbGUtZmllbGRzLXNw
aW5idXR0b24tY2hhbmdlLWFuZC1pbnB1dC1ldmVudHMuaHRtbDogUmVtb3ZlZC4KKyAgICAgICAg
KiBmYXN0L2Zvcm1zL2RhdGV0aW1lbG9jYWwtbXVsdGlwbGUtZmllbGRzL2RhdGV0aW1lbG9jYWwt
bXVsdGlwbGUtZmllbGRzLXN0ZXB1cC1zdGVwZG93bi1mcm9tLXJlbmRlcmVyLWV4cGVjdGVkLnR4
dDogUmVtb3ZlZC4KKyAgICAgICAgKiBmYXN0L2Zvcm1zL2RhdGV0aW1lbG9jYWwtbXVsdGlwbGUt
ZmllbGRzL2RhdGV0aW1lbG9jYWwtbXVsdGlwbGUtZmllbGRzLXN0ZXB1cC1zdGVwZG93bi1mcm9t
LXJlbmRlcmVyLmh0bWw6IFJlbW92ZWQuCisgICAgICAgICogZmFzdC9mb3Jtcy9kYXRldGltZWxv
Y2FsLW11bHRpcGxlLWZpZWxkcy9kYXRldGltZWxvY2FsLW11bHRpcGxlLWZpZWxkcy12YWxpZGl0
eS1iYWRpbnB1dC1leHBlY3RlZC50eHQ6IFJlbW92ZWQuCisgICAgICAgICogZmFzdC9mb3Jtcy9k
YXRldGltZWxvY2FsLW11bHRpcGxlLWZpZWxkcy9kYXRldGltZWxvY2FsLW11bHRpcGxlLWZpZWxk
cy12YWxpZGl0eS1iYWRpbnB1dC5odG1sOiBSZW1vdmVkLgorICAgICAgICAqIGZhc3QvZm9ybXMv
ZGF0ZXRpbWVsb2NhbC1tdWx0aXBsZS1maWVsZHMvZGF0ZXRpbWVsb2NhbC1tdWx0aXBsZS1maWVs
ZHMtdmFsdWUtc2V0LWVtcHR5LWV4cGVjdGVkLnR4dDogUmVtb3ZlZC4KKyAgICAgICAgKiBmYXN0
L2Zvcm1zL2RhdGV0aW1lbG9jYWwtbXVsdGlwbGUtZmllbGRzL2RhdGV0aW1lbG9jYWwtbXVsdGlw
bGUtZmllbGRzLXZhbHVlLXNldC1lbXB0eS5odG1sOiBSZW1vdmVkLgorICAgICAgICAqIGZhc3Qv
Zm9ybXMvZGF0ZXRpbWVsb2NhbC1tdWx0aXBsZS1maWVsZHMvZGF0ZXRpbWVsb2NhbC1tdWx0aXBs
ZS1maWVsZHMtd2hlZWwtZXZlbnQtZXhwZWN0ZWQudHh0OiBSZW1vdmVkLgorICAgICAgICAqIGZh
c3QvZm9ybXMvZGF0ZXRpbWVsb2NhbC1tdWx0aXBsZS1maWVsZHMvZGF0ZXRpbWVsb2NhbC1tdWx0
aXBsZS1maWVsZHMtd2hlZWwtZXZlbnQuaHRtbDogUmVtb3ZlZC4KKyAgICAgICAgKiBmYXN0L2Zv
cm1zL2RhdGV0aW1lbG9jYWwtbXVsdGlwbGUtZmllbGRzL3Jlc291cmNlcy9wcmVzZXJ2ZS12YWx1
ZS1hZnRlci1oaXN0b3J5LWJhY2stZnJhbWUuaHRtbDogUmVtb3ZlZC4KKyAgICAgICAgKiBmYXN0
L2Zvcm1zL21vbnRoLW11bHRpcGxlLWZpZWxkcy9tb250aC1tdWx0aXBsZS1maWVsZHMtYXgtYXJp
YS1hdHRyaWJ1dGVzLWV4cGVjdGVkLnR4dDogUmVtb3ZlZC4KKyAgICAgICAgKiBmYXN0L2Zvcm1z
L21vbnRoLW11bHRpcGxlLWZpZWxkcy9tb250aC1tdWx0aXBsZS1maWVsZHMtYXgtYXJpYS1hdHRy
aWJ1dGVzLmh0bWw6IFJlbW92ZWQuCisgICAgICAgICogZmFzdC9mb3Jtcy9tb250aC1tdWx0aXBs
ZS1maWVsZHMvbW9udGgtbXVsdGlwbGUtZmllbGRzLWF4LXZhbHVlLWNoYW5nZWQtbm90aWZpY2F0
aW9uLWV4cGVjdGVkLnR4dDogUmVtb3ZlZC4KKyAgICAgICAgKiBmYXN0L2Zvcm1zL21vbnRoLW11
bHRpcGxlLWZpZWxkcy9tb250aC1tdWx0aXBsZS1maWVsZHMtYXgtdmFsdWUtY2hhbmdlZC1ub3Rp
ZmljYXRpb24uaHRtbDogUmVtb3ZlZC4KKyAgICAgICAgKiBmYXN0L2Zvcm1zL21vbnRoLW11bHRp
cGxlLWZpZWxkcy9tb250aC1tdWx0aXBsZS1maWVsZHMtYmx1ci1hbmQtZm9jdXMtZXZlbnRzLWV4
cGVjdGVkLnR4dDogUmVtb3ZlZC4KKyAgICAgICAgKiBmYXN0L2Zvcm1zL21vbnRoLW11bHRpcGxl
LWZpZWxkcy9tb250aC1tdWx0aXBsZS1maWVsZHMtYmx1ci1hbmQtZm9jdXMtZXZlbnRzLmh0bWw6
IFJlbW92ZWQuCisgICAgICAgICogZmFzdC9mb3Jtcy9tb250aC1tdWx0aXBsZS1maWVsZHMvbW9u
dGgtbXVsdGlwbGUtZmllbGRzLWNoYW5nZS1sYXlvdXQtYnktdmFsdWUtZXhwZWN0ZWQudHh0OiBS
ZW1vdmVkLgorICAgICAgICAqIGZhc3QvZm9ybXMvbW9udGgtbXVsdGlwbGUtZmllbGRzL21vbnRo
LW11bHRpcGxlLWZpZWxkcy1jaGFuZ2UtbGF5b3V0LWJ5LXZhbHVlLmh0bWw6IFJlbW92ZWQuCisg
ICAgICAgICogZmFzdC9mb3Jtcy9tb250aC1tdWx0aXBsZS1maWVsZHMvbW9udGgtbXVsdGlwbGUt
ZmllbGRzLWNsZWFyYnV0dG9uLWNoYW5nZS1hbmQtaW5wdXQtZXZlbnRzLWV4cGVjdGVkLnR4dDog
UmVtb3ZlZC4KKyAgICAgICAgKiBmYXN0L2Zvcm1zL21vbnRoLW11bHRpcGxlLWZpZWxkcy9tb250
aC1tdWx0aXBsZS1maWVsZHMtY2xlYXJidXR0b24tY2hhbmdlLWFuZC1pbnB1dC1ldmVudHMuaHRt
bDogUmVtb3ZlZC4KKyAgICAgICAgKiBmYXN0L2Zvcm1zL21vbnRoLW11bHRpcGxlLWZpZWxkcy9t
b250aC1tdWx0aXBsZS1maWVsZHMtY2xlYXJidXR0b24tdmlzaWJpbGl0eS1hZnRlci1yZXN0b3Jl
LWV4cGVjdGVkLmh0bWw6IFJlbW92ZWQuCisgICAgICAgICogZmFzdC9mb3Jtcy9tb250aC1tdWx0
aXBsZS1maWVsZHMvbW9udGgtbXVsdGlwbGUtZmllbGRzLWNsZWFyYnV0dG9uLXZpc2liaWxpdHkt
YWZ0ZXItcmVzdG9yZS5odG1sOiBSZW1vdmVkLgorICAgICAgICAqIGZhc3QvZm9ybXMvbW9udGgt
bXVsdGlwbGUtZmllbGRzL21vbnRoLW11bHRpcGxlLWZpZWxkcy1mYWxsYmFjay1mb3JtYXQtZXhw
ZWN0ZWQudHh0OiBSZW1vdmVkLgorICAgICAgICAqIGZhc3QvZm9ybXMvbW9udGgtbXVsdGlwbGUt
ZmllbGRzL21vbnRoLW11bHRpcGxlLWZpZWxkcy1mYWxsYmFjay1mb3JtYXQuaHRtbDogUmVtb3Zl
ZC4KKyAgICAgICAgKiBmYXN0L2Zvcm1zL21vbnRoLW11bHRpcGxlLWZpZWxkcy9tb250aC1tdWx0
aXBsZS1maWVsZHMta2V5Ym9hcmQtZXZlbnRzLWV4cGVjdGVkLnR4dDogUmVtb3ZlZC4KKyAgICAg
ICAgKiBmYXN0L2Zvcm1zL21vbnRoLW11bHRpcGxlLWZpZWxkcy9tb250aC1tdWx0aXBsZS1maWVs
ZHMta2V5Ym9hcmQtZXZlbnRzLmh0bWw6IFJlbW92ZWQuCisgICAgICAgICogZmFzdC9mb3Jtcy9t
b250aC1tdWx0aXBsZS1maWVsZHMvbW9udGgtbXVsdGlwbGUtZmllbGRzLW1vdXNlLWV2ZW50cy1l
eHBlY3RlZC50eHQ6IFJlbW92ZWQuCisgICAgICAgICogZmFzdC9mb3Jtcy9tb250aC1tdWx0aXBs
ZS1maWVsZHMvbW9udGgtbXVsdGlwbGUtZmllbGRzLW1vdXNlLWV2ZW50cy5odG1sOiBSZW1vdmVk
LgorICAgICAgICAqIGZhc3QvZm9ybXMvbW9udGgtbXVsdGlwbGUtZmllbGRzL21vbnRoLW11bHRp
cGxlLWZpZWxkcy1wcmVzZXJ2ZS12YWx1ZS1hZnRlci1oaXN0b3J5LWJhY2stZXhwZWN0ZWQudHh0
OiBSZW1vdmVkLgorICAgICAgICAqIGZhc3QvZm9ybXMvbW9udGgtbXVsdGlwbGUtZmllbGRzL21v
bnRoLW11bHRpcGxlLWZpZWxkcy1wcmVzZXJ2ZS12YWx1ZS1hZnRlci1oaXN0b3J5LWJhY2suaHRt
bDogUmVtb3ZlZC4KKyAgICAgICAgKiBmYXN0L2Zvcm1zL21vbnRoLW11bHRpcGxlLWZpZWxkcy9t
b250aC1tdWx0aXBsZS1maWVsZHMtcmVhZG9ubHktc3ViZmllbGQtZXhwZWN0ZWQudHh0OiBSZW1v
dmVkLgorICAgICAgICAqIGZhc3QvZm9ybXMvbW9udGgtbXVsdGlwbGUtZmllbGRzL21vbnRoLW11
bHRpcGxlLWZpZWxkcy1yZWFkb25seS1zdWJmaWVsZC5odG1sOiBSZW1vdmVkLgorICAgICAgICAq
IGZhc3QvZm9ybXMvbW9udGgtbXVsdGlwbGUtZmllbGRzL21vbnRoLW11bHRpcGxlLWZpZWxkcy1y
ZXNldC12YWx1ZS1hZnRlci1yZWxvYWRzLWV4cGVjdGVkLnR4dDogUmVtb3ZlZC4KKyAgICAgICAg
KiBmYXN0L2Zvcm1zL21vbnRoLW11bHRpcGxlLWZpZWxkcy9tb250aC1tdWx0aXBsZS1maWVsZHMt
cmVzZXQtdmFsdWUtYWZ0ZXItcmVsb2Fkcy5odG1sOiBSZW1vdmVkLgorICAgICAgICAqIGZhc3Qv
Zm9ybXMvbW9udGgtbXVsdGlwbGUtZmllbGRzL21vbnRoLW11bHRpcGxlLWZpZWxkcy1zcGluYnV0
dG9uLWNoYW5nZS1hbmQtaW5wdXQtZXZlbnRzLWV4cGVjdGVkLnR4dDogUmVtb3ZlZC4KKyAgICAg
ICAgKiBmYXN0L2Zvcm1zL21vbnRoLW11bHRpcGxlLWZpZWxkcy9tb250aC1tdWx0aXBsZS1maWVs
ZHMtc3BpbmJ1dHRvbi1jaGFuZ2UtYW5kLWlucHV0LWV2ZW50cy5odG1sOiBSZW1vdmVkLgorICAg
ICAgICAqIGZhc3QvZm9ybXMvbW9udGgtbXVsdGlwbGUtZmllbGRzL21vbnRoLW11bHRpcGxlLWZp
ZWxkcy1zdGVwdXAtc3RlcGRvd24tZnJvbS1yZW5kZXJlci1leHBlY3RlZC50eHQ6IFJlbW92ZWQu
CisgICAgICAgICogZmFzdC9mb3Jtcy9tb250aC1tdWx0aXBsZS1maWVsZHMvbW9udGgtbXVsdGlw
bGUtZmllbGRzLXN0ZXB1cC1zdGVwZG93bi1mcm9tLXJlbmRlcmVyLmh0bWw6IFJlbW92ZWQuCisg
ICAgICAgICogZmFzdC9mb3Jtcy9tb250aC1tdWx0aXBsZS1maWVsZHMvbW9udGgtbXVsdGlwbGUt
ZmllbGRzLXZhbGlkaXR5LWJhZGlucHV0LWV4cGVjdGVkLnR4dDogUmVtb3ZlZC4KKyAgICAgICAg
KiBmYXN0L2Zvcm1zL21vbnRoLW11bHRpcGxlLWZpZWxkcy9tb250aC1tdWx0aXBsZS1maWVsZHMt
dmFsaWRpdHktYmFkaW5wdXQuaHRtbDogUmVtb3ZlZC4KKyAgICAgICAgKiBmYXN0L2Zvcm1zL21v
bnRoLW11bHRpcGxlLWZpZWxkcy9tb250aC1tdWx0aXBsZS1maWVsZHMtdmFsdWUtc2V0LWVtcHR5
LWV4cGVjdGVkLnR4dDogUmVtb3ZlZC4KKyAgICAgICAgKiBmYXN0L2Zvcm1zL21vbnRoLW11bHRp
cGxlLWZpZWxkcy9tb250aC1tdWx0aXBsZS1maWVsZHMtdmFsdWUtc2V0LWVtcHR5Lmh0bWw6IFJl
bW92ZWQuCisgICAgICAgICogZmFzdC9mb3Jtcy9tb250aC1tdWx0aXBsZS1maWVsZHMvbW9udGgt
bXVsdGlwbGUtZmllbGRzLXdoZWVsLWV2ZW50LWV4cGVjdGVkLnR4dDogUmVtb3ZlZC4KKyAgICAg
ICAgKiBmYXN0L2Zvcm1zL21vbnRoLW11bHRpcGxlLWZpZWxkcy9tb250aC1tdWx0aXBsZS1maWVs
ZHMtd2hlZWwtZXZlbnQuaHRtbDogUmVtb3ZlZC4KKyAgICAgICAgKiBmYXN0L2Zvcm1zL21vbnRo
LW11bHRpcGxlLWZpZWxkcy9yZXNvdXJjZXMvcHJlc2VydmUtdmFsdWUtYWZ0ZXItaGlzdG9yeS1i
YWNrLWZyYW1lLmh0bWw6IFJlbW92ZWQuCisgICAgICAgICogZmFzdC9mb3Jtcy90aW1lLW11bHRp
cGxlLWZpZWxkcy9yZXNvdXJjZXMvcHJlc2VydmUtdmFsdWUtYWZ0ZXItaGlzdG9yeS1iYWNrLWZy
YW1lLmh0bWw6IFJlbW92ZWQuCisgICAgICAgICogZmFzdC9mb3Jtcy90aW1lLW11bHRpcGxlLWZp
ZWxkcy90aW1lLW11bHRpcGxlLWZpZWxkcy1heC1hcmlhLWF0dHJpYnV0ZXMtZXhwZWN0ZWQudHh0
OiBSZW1vdmVkLgorICAgICAgICAqIGZhc3QvZm9ybXMvdGltZS1tdWx0aXBsZS1maWVsZHMvdGlt
ZS1tdWx0aXBsZS1maWVsZHMtYXgtYXJpYS1hdHRyaWJ1dGVzLmh0bWw6IFJlbW92ZWQuCisgICAg
ICAgICogZmFzdC9mb3Jtcy90aW1lLW11bHRpcGxlLWZpZWxkcy90aW1lLW11bHRpcGxlLWZpZWxk
cy1heC12YWx1ZS1jaGFuZ2VkLW5vdGlmaWNhdGlvbi1leHBlY3RlZC50eHQ6IFJlbW92ZWQuCisg
ICAgICAgICogZmFzdC9mb3Jtcy90aW1lLW11bHRpcGxlLWZpZWxkcy90aW1lLW11bHRpcGxlLWZp
ZWxkcy1heC12YWx1ZS1jaGFuZ2VkLW5vdGlmaWNhdGlvbi5odG1sOiBSZW1vdmVkLgorICAgICAg
ICAqIGZhc3QvZm9ybXMvdGltZS1tdWx0aXBsZS1maWVsZHMvdGltZS1tdWx0aXBsZS1maWVsZHMt
Ymx1ci1hbmQtZm9jdXMtZXZlbnRzLWV4cGVjdGVkLnR4dDogUmVtb3ZlZC4KKyAgICAgICAgKiBm
YXN0L2Zvcm1zL3RpbWUtbXVsdGlwbGUtZmllbGRzL3RpbWUtbXVsdGlwbGUtZmllbGRzLWJsdXIt
YW5kLWZvY3VzLWV2ZW50cy5odG1sOiBSZW1vdmVkLgorICAgICAgICAqIGZhc3QvZm9ybXMvdGlt
ZS1tdWx0aXBsZS1maWVsZHMvdGltZS1tdWx0aXBsZS1maWVsZHMtY2hhbmdlLWxheW91dC1ieS12
YWx1ZS1leHBlY3RlZC50eHQ6IFJlbW92ZWQuCisgICAgICAgICogZmFzdC9mb3Jtcy90aW1lLW11
bHRpcGxlLWZpZWxkcy90aW1lLW11bHRpcGxlLWZpZWxkcy1jaGFuZ2UtbGF5b3V0LWJ5LXZhbHVl
Lmh0bWw6IFJlbW92ZWQuCisgICAgICAgICogZmFzdC9mb3Jtcy90aW1lLW11bHRpcGxlLWZpZWxk
cy90aW1lLW11bHRpcGxlLWZpZWxkcy1jaGFuZ2UtdHlwZS1leHBlY3RlZC50eHQ6IFJlbW92ZWQu
CisgICAgICAgICogZmFzdC9mb3Jtcy90aW1lLW11bHRpcGxlLWZpZWxkcy90aW1lLW11bHRpcGxl
LWZpZWxkcy1jaGFuZ2UtdHlwZS1vbi1mb2N1cy0yLWV4cGVjdGVkLnR4dDogUmVtb3ZlZC4KKyAg
ICAgICAgKiBmYXN0L2Zvcm1zL3RpbWUtbXVsdGlwbGUtZmllbGRzL3RpbWUtbXVsdGlwbGUtZmll
bGRzLWNoYW5nZS10eXBlLW9uLWZvY3VzLTIuaHRtbDogUmVtb3ZlZC4KKyAgICAgICAgKiBmYXN0
L2Zvcm1zL3RpbWUtbXVsdGlwbGUtZmllbGRzL3RpbWUtbXVsdGlwbGUtZmllbGRzLWNoYW5nZS10
eXBlLW9uLWZvY3VzLWV4cGVjdGVkLnR4dDogUmVtb3ZlZC4KKyAgICAgICAgKiBmYXN0L2Zvcm1z
L3RpbWUtbXVsdGlwbGUtZmllbGRzL3RpbWUtbXVsdGlwbGUtZmllbGRzLWNoYW5nZS10eXBlLW9u
LWZvY3VzLmh0bWw6IFJlbW92ZWQuCisgICAgICAgICogZmFzdC9mb3Jtcy90aW1lLW11bHRpcGxl
LWZpZWxkcy90aW1lLW11bHRpcGxlLWZpZWxkcy1jaGFuZ2UtdHlwZS5odG1sOiBSZW1vdmVkLgor
ICAgICAgICAqIGZhc3QvZm9ybXMvdGltZS1tdWx0aXBsZS1maWVsZHMvdGltZS1tdWx0aXBsZS1m
aWVsZHMtY2xlYXJidXR0b24tY2hhbmdlLWFuZC1pbnB1dC1ldmVudHMtZXhwZWN0ZWQudHh0OiBS
ZW1vdmVkLgorICAgICAgICAqIGZhc3QvZm9ybXMvdGltZS1tdWx0aXBsZS1maWVsZHMvdGltZS1t
dWx0aXBsZS1maWVsZHMtY2xlYXJidXR0b24tY2hhbmdlLWFuZC1pbnB1dC1ldmVudHMuaHRtbDog
UmVtb3ZlZC4KKyAgICAgICAgKiBmYXN0L2Zvcm1zL3RpbWUtbXVsdGlwbGUtZmllbGRzL3RpbWUt
bXVsdGlwbGUtZmllbGRzLWNsZWFyYnV0dG9uLXZpc2liaWxpdHktYWZ0ZXItcmVzdG9yZS1leHBl
Y3RlZC5odG1sOiBSZW1vdmVkLgorICAgICAgICAqIGZhc3QvZm9ybXMvdGltZS1tdWx0aXBsZS1m
aWVsZHMvdGltZS1tdWx0aXBsZS1maWVsZHMtY2xlYXJidXR0b24tdmlzaWJpbGl0eS1hZnRlci1y
ZXN0b3JlLmh0bWw6IFJlbW92ZWQuCisgICAgICAgICogZmFzdC9mb3Jtcy90aW1lLW11bHRpcGxl
LWZpZWxkcy90aW1lLW11bHRpcGxlLWZpZWxkcy1jcmFzaC1hZnRlci1hZG9wdG5vZGUtZXhwZWN0
ZWQudHh0OiBSZW1vdmVkLgorICAgICAgICAqIGZhc3QvZm9ybXMvdGltZS1tdWx0aXBsZS1maWVs
ZHMvdGltZS1tdWx0aXBsZS1maWVsZHMtY3Jhc2gtYWZ0ZXItYWRvcHRub2RlLmh0bWw6IFJlbW92
ZWQuCisgICAgICAgICogZmFzdC9mb3Jtcy90aW1lLW11bHRpcGxlLWZpZWxkcy90aW1lLW11bHRp
cGxlLWZpZWxkcy1mYWxsYmFjay1mb3JtYXQtZXhwZWN0ZWQudHh0OiBSZW1vdmVkLgorICAgICAg
ICAqIGZhc3QvZm9ybXMvdGltZS1tdWx0aXBsZS1maWVsZHMvdGltZS1tdWx0aXBsZS1maWVsZHMt
ZmFsbGJhY2stZm9ybWF0Lmh0bWw6IFJlbW92ZWQuCisgICAgICAgICogZmFzdC9mb3Jtcy90aW1l
LW11bHRpcGxlLWZpZWxkcy90aW1lLW11bHRpcGxlLWZpZWxkcy1mb2N1cy1leHBlY3RlZC50eHQ6
IFJlbW92ZWQuCisgICAgICAgICogZmFzdC9mb3Jtcy90aW1lLW11bHRpcGxlLWZpZWxkcy90aW1l
LW11bHRpcGxlLWZpZWxkcy1mb2N1cy1zdHlsZS1leHBlY3RlZC50eHQ6IFJlbW92ZWQuCisgICAg
ICAgICogZmFzdC9mb3Jtcy90aW1lLW11bHRpcGxlLWZpZWxkcy90aW1lLW11bHRpcGxlLWZpZWxk
cy1mb2N1cy1zdHlsZS5odG1sOiBSZW1vdmVkLgorICAgICAgICAqIGZhc3QvZm9ybXMvdGltZS1t
dWx0aXBsZS1maWVsZHMvdGltZS1tdWx0aXBsZS1maWVsZHMtZm9jdXMuaHRtbDogUmVtb3ZlZC4K
KyAgICAgICAgKiBmYXN0L2Zvcm1zL3RpbWUtbXVsdGlwbGUtZmllbGRzL3RpbWUtbXVsdGlwbGUt
ZmllbGRzLWtleWJvYXJkLWV2ZW50cy1leHBlY3RlZC50eHQ6IFJlbW92ZWQuCisgICAgICAgICog
ZmFzdC9mb3Jtcy90aW1lLW11bHRpcGxlLWZpZWxkcy90aW1lLW11bHRpcGxlLWZpZWxkcy1rZXli
b2FyZC1ldmVudHMuaHRtbDogUmVtb3ZlZC4KKyAgICAgICAgKiBmYXN0L2Zvcm1zL3RpbWUtbXVs
dGlwbGUtZmllbGRzL3RpbWUtbXVsdGlwbGUtZmllbGRzLWxvY2FsaXphdGlvbi5odG1sOiBSZW1v
dmVkLgorICAgICAgICAqIGZhc3QvZm9ybXMvdGltZS1tdWx0aXBsZS1maWVsZHMvdGltZS1tdWx0
aXBsZS1maWVsZHMtbG9zaW5nLXJlbmRlcmVyLW9uLWNsaWNrLWV4cGVjdGVkLnR4dDogUmVtb3Zl
ZC4KKyAgICAgICAgKiBmYXN0L2Zvcm1zL3RpbWUtbXVsdGlwbGUtZmllbGRzL3RpbWUtbXVsdGlw
bGUtZmllbGRzLWxvc2luZy1yZW5kZXJlci1vbi1jbGljay5odG1sOiBSZW1vdmVkLgorICAgICAg
ICAqIGZhc3QvZm9ybXMvdGltZS1tdWx0aXBsZS1maWVsZHMvdGltZS1tdWx0aXBsZS1maWVsZHMt
bW91c2UtZXZlbnRzLWV4cGVjdGVkLnR4dDogUmVtb3ZlZC4KKyAgICAgICAgKiBmYXN0L2Zvcm1z
L3RpbWUtbXVsdGlwbGUtZmllbGRzL3RpbWUtbXVsdGlwbGUtZmllbGRzLW1vdXNlLWV2ZW50cy5o
dG1sOiBSZW1vdmVkLgorICAgICAgICAqIGZhc3QvZm9ybXMvdGltZS1tdWx0aXBsZS1maWVsZHMv
dGltZS1tdWx0aXBsZS1maWVsZHMtbmFycm93LXdpZHRoLXNjcm9sbC1leHBlY3RlZC50eHQ6IFJl
bW92ZWQuCisgICAgICAgICogZmFzdC9mb3Jtcy90aW1lLW11bHRpcGxlLWZpZWxkcy90aW1lLW11
bHRpcGxlLWZpZWxkcy1uYXJyb3ctd2lkdGgtc2Nyb2xsLmh0bWw6IFJlbW92ZWQuCisgICAgICAg
ICogZmFzdC9mb3Jtcy90aW1lLW11bHRpcGxlLWZpZWxkcy90aW1lLW11bHRpcGxlLWZpZWxkcy1w
cmVzZXJ2ZS12YWx1ZS1hZnRlci1oaXN0b3J5LWJhY2stZXhwZWN0ZWQudHh0OiBSZW1vdmVkLgor
ICAgICAgICAqIGZhc3QvZm9ybXMvdGltZS1tdWx0aXBsZS1maWVsZHMvdGltZS1tdWx0aXBsZS1m
aWVsZHMtcHJlc2VydmUtdmFsdWUtYWZ0ZXItaGlzdG9yeS1iYWNrLmh0bWw6IFJlbW92ZWQuCisg
ICAgICAgICogZmFzdC9mb3Jtcy90aW1lLW11bHRpcGxlLWZpZWxkcy90aW1lLW11bHRpcGxlLWZp
ZWxkcy1yZWFkb25seS1zdWJmaWVsZC1leHBlY3RlZC50eHQ6IFJlbW92ZWQuCisgICAgICAgICog
ZmFzdC9mb3Jtcy90aW1lLW11bHRpcGxlLWZpZWxkcy90aW1lLW11bHRpcGxlLWZpZWxkcy1yZWFk
b25seS1zdWJmaWVsZC5odG1sOiBSZW1vdmVkLgorICAgICAgICAqIGZhc3QvZm9ybXMvdGltZS1t
dWx0aXBsZS1maWVsZHMvdGltZS1tdWx0aXBsZS1maWVsZHMtcmVzZXQtdmFsdWUtYWZ0ZXItcmVs
b2FkLWV4cGVjdGVkLnR4dDogUmVtb3ZlZC4KKyAgICAgICAgKiBmYXN0L2Zvcm1zL3RpbWUtbXVs
dGlwbGUtZmllbGRzL3RpbWUtbXVsdGlwbGUtZmllbGRzLXJlc2V0LXZhbHVlLWFmdGVyLXJlbG9h
ZC5odG1sOiBSZW1vdmVkLgorICAgICAgICAqIGZhc3QvZm9ybXMvdGltZS1tdWx0aXBsZS1maWVs
ZHMvdGltZS1tdWx0aXBsZS1maWVsZHMtc3BpbmJ1dHRvbi1jaGFuZ2UtYW5kLWlucHV0LWV2ZW50
cy1leHBlY3RlZC50eHQ6IFJlbW92ZWQuCisgICAgICAgICogZmFzdC9mb3Jtcy90aW1lLW11bHRp
cGxlLWZpZWxkcy90aW1lLW11bHRpcGxlLWZpZWxkcy1zcGluYnV0dG9uLWNoYW5nZS1hbmQtaW5w
dXQtZXZlbnRzLmh0bWw6IFJlbW92ZWQuCisgICAgICAgICogZmFzdC9mb3Jtcy90aW1lLW11bHRp
cGxlLWZpZWxkcy90aW1lLW11bHRpcGxlLWZpZWxkcy1zcGluYnV0dG9uLWNsaWNrLWluLWlmcmFt
ZS1leHBlY3RlZC50eHQ6IFJlbW92ZWQuCisgICAgICAgICogZmFzdC9mb3Jtcy90aW1lLW11bHRp
cGxlLWZpZWxkcy90aW1lLW11bHRpcGxlLWZpZWxkcy1zcGluYnV0dG9uLWNsaWNrLWluLWlmcmFt
ZS5odG1sOiBSZW1vdmVkLgorICAgICAgICAqIGZhc3QvZm9ybXMvdGltZS1tdWx0aXBsZS1maWVs
ZHMvdGltZS1tdWx0aXBsZS1maWVsZHMtc3RhdGUtY2hhbmdlLW9uLWZvY3VzLW9yLWJsdXItZXhw
ZWN0ZWQudHh0OiBSZW1vdmVkLgorICAgICAgICAqIGZhc3QvZm9ybXMvdGltZS1tdWx0aXBsZS1m
aWVsZHMvdGltZS1tdWx0aXBsZS1maWVsZHMtc3RhdGUtY2hhbmdlLW9uLWZvY3VzLW9yLWJsdXIu
aHRtbDogUmVtb3ZlZC4KKyAgICAgICAgKiBmYXN0L2Zvcm1zL3RpbWUtbXVsdGlwbGUtZmllbGRz
L3RpbWUtbXVsdGlwbGUtZmllbGRzLXN0YXRpYy1yZWxheW91dC1leHBlY3RlZC50eHQ6IFJlbW92
ZWQuCisgICAgICAgICogZmFzdC9mb3Jtcy90aW1lLW11bHRpcGxlLWZpZWxkcy90aW1lLW11bHRp
cGxlLWZpZWxkcy1zdGF0aWMtcmVsYXlvdXQuaHRtbDogUmVtb3ZlZC4KKyAgICAgICAgKiBmYXN0
L2Zvcm1zL3RpbWUtbXVsdGlwbGUtZmllbGRzL3RpbWUtbXVsdGlwbGUtZmllbGRzLXN0ZXAtYXR0
cmlidXRlLWV4cGVjdGVkLnR4dDogUmVtb3ZlZC4KKyAgICAgICAgKiBmYXN0L2Zvcm1zL3RpbWUt
bXVsdGlwbGUtZmllbGRzL3RpbWUtbXVsdGlwbGUtZmllbGRzLXN0ZXAtYXR0cmlidXRlLmh0bWw6
IFJlbW92ZWQuCisgICAgICAgICogZmFzdC9mb3Jtcy90aW1lLW11bHRpcGxlLWZpZWxkcy90aW1l
LW11bHRpcGxlLWZpZWxkcy1zdGVwdXAtc3RlcGRvd24tZnJvbS1yZW5kZXJlci1leHBlY3RlZC50
eHQ6IFJlbW92ZWQuCisgICAgICAgICogZmFzdC9mb3Jtcy90aW1lLW11bHRpcGxlLWZpZWxkcy90
aW1lLW11bHRpcGxlLWZpZWxkcy1zdGVwdXAtc3RlcGRvd24tZnJvbS1yZW5kZXJlci5odG1sOiBS
ZW1vdmVkLgorICAgICAgICAqIGZhc3QvZm9ybXMvdGltZS1tdWx0aXBsZS1maWVsZHMvdGltZS1t
dWx0aXBsZS1maWVsZHMtdGFiaW5kZXgtZXhwZWN0ZWQudHh0OiBSZW1vdmVkLgorICAgICAgICAq
IGZhc3QvZm9ybXMvdGltZS1tdWx0aXBsZS1maWVsZHMvdGltZS1tdWx0aXBsZS1maWVsZHMtdGFi
aW5kZXguaHRtbDogUmVtb3ZlZC4KKyAgICAgICAgKiBmYXN0L2Zvcm1zL3RpbWUtbXVsdGlwbGUt
ZmllbGRzL3RpbWUtbXVsdGlwbGUtZmllbGRzLXZhbGlkaXR5LWJhZGlucHV0LWV4cGVjdGVkLnR4
dDogUmVtb3ZlZC4KKyAgICAgICAgKiBmYXN0L2Zvcm1zL3RpbWUtbXVsdGlwbGUtZmllbGRzL3Rp
bWUtbXVsdGlwbGUtZmllbGRzLXZhbGlkaXR5LWJhZGlucHV0Lmh0bWw6IFJlbW92ZWQuCisgICAg
ICAgICogZmFzdC9mb3Jtcy90aW1lLW11bHRpcGxlLWZpZWxkcy90aW1lLW11bHRpcGxlLWZpZWxk
cy12YWx1ZS1zZXQtZW1wdHktZXhwZWN0ZWQudHh0OiBSZW1vdmVkLgorICAgICAgICAqIGZhc3Qv
Zm9ybXMvdGltZS1tdWx0aXBsZS1maWVsZHMvdGltZS1tdWx0aXBsZS1maWVsZHMtdmFsdWUtc2V0
LWVtcHR5Lmh0bWw6IFJlbW92ZWQuCisgICAgICAgICogZmFzdC9mb3Jtcy90aW1lLW11bHRpcGxl
LWZpZWxkcy90aW1lLW11bHRpcGxlLWZpZWxkcy13aGVlbC1ldmVudC1leHBlY3RlZC50eHQ6IFJl
bW92ZWQuCisgICAgICAgICogZmFzdC9mb3Jtcy90aW1lLW11bHRpcGxlLWZpZWxkcy90aW1lLW11
bHRpcGxlLWZpZWxkcy13aGVlbC1ldmVudC5odG1sOiBSZW1vdmVkLgorICAgICAgICAqIGZhc3Qv
Zm9ybXMvd2Vlay1tdWx0aXBsZS1maWVsZHMvcmVzb3VyY2VzL3ByZXNlcnZlLXZhbHVlLWFmdGVy
LWhpc3RvcnktYmFjay1mcmFtZS5odG1sOiBSZW1vdmVkLgorICAgICAgICAqIGZhc3QvZm9ybXMv
d2Vlay1tdWx0aXBsZS1maWVsZHMvd2Vlay1tdWx0aXBsZS1maWVsZHMtYXgtYXJpYS1hdHRyaWJ1
dGVzLWV4cGVjdGVkLnR4dDogUmVtb3ZlZC4KKyAgICAgICAgKiBmYXN0L2Zvcm1zL3dlZWstbXVs
dGlwbGUtZmllbGRzL3dlZWstbXVsdGlwbGUtZmllbGRzLWF4LWFyaWEtYXR0cmlidXRlcy5odG1s
OiBSZW1vdmVkLgorICAgICAgICAqIGZhc3QvZm9ybXMvd2Vlay1tdWx0aXBsZS1maWVsZHMvd2Vl
ay1tdWx0aXBsZS1maWVsZHMtYXgtdmFsdWUtY2hhbmdlZC1ub3RpZmljYXRpb24tZXhwZWN0ZWQu
dHh0OiBSZW1vdmVkLgorICAgICAgICAqIGZhc3QvZm9ybXMvd2Vlay1tdWx0aXBsZS1maWVsZHMv
d2Vlay1tdWx0aXBsZS1maWVsZHMtYXgtdmFsdWUtY2hhbmdlZC1ub3RpZmljYXRpb24uaHRtbDog
UmVtb3ZlZC4KKyAgICAgICAgKiBmYXN0L2Zvcm1zL3dlZWstbXVsdGlwbGUtZmllbGRzL3dlZWst
bXVsdGlwbGUtZmllbGRzLWJsdXItYW5kLWZvY3VzLWV2ZW50cy1leHBlY3RlZC50eHQ6IFJlbW92
ZWQuCisgICAgICAgICogZmFzdC9mb3Jtcy93ZWVrLW11bHRpcGxlLWZpZWxkcy93ZWVrLW11bHRp
cGxlLWZpZWxkcy1ibHVyLWFuZC1mb2N1cy1ldmVudHMuaHRtbDogUmVtb3ZlZC4KKyAgICAgICAg
KiBmYXN0L2Zvcm1zL3dlZWstbXVsdGlwbGUtZmllbGRzL3dlZWstbXVsdGlwbGUtZmllbGRzLWNo
YW5nZS1sYXlvdXQtYnktdmFsdWUtZXhwZWN0ZWQudHh0OiBSZW1vdmVkLgorICAgICAgICAqIGZh
c3QvZm9ybXMvd2Vlay1tdWx0aXBsZS1maWVsZHMvd2Vlay1tdWx0aXBsZS1maWVsZHMtY2hhbmdl
LWxheW91dC1ieS12YWx1ZS5odG1sOiBSZW1vdmVkLgorICAgICAgICAqIGZhc3QvZm9ybXMvd2Vl
ay1tdWx0aXBsZS1maWVsZHMvd2Vlay1tdWx0aXBsZS1maWVsZHMtY2xlYXJidXR0b24tY2hhbmdl
LWFuZC1pbnB1dC1ldmVudHMtZXhwZWN0ZWQudHh0OiBSZW1vdmVkLgorICAgICAgICAqIGZhc3Qv
Zm9ybXMvd2Vlay1tdWx0aXBsZS1maWVsZHMvd2Vlay1tdWx0aXBsZS1maWVsZHMtY2xlYXJidXR0
b24tY2hhbmdlLWFuZC1pbnB1dC1ldmVudHMuaHRtbDogUmVtb3ZlZC4KKyAgICAgICAgKiBmYXN0
L2Zvcm1zL3dlZWstbXVsdGlwbGUtZmllbGRzL3dlZWstbXVsdGlwbGUtZmllbGRzLWNsZWFyYnV0
dG9uLXZpc2liaWxpdHktYWZ0ZXItcmVzdG9yZS1leHBlY3RlZC5odG1sOiBSZW1vdmVkLgorICAg
ICAgICAqIGZhc3QvZm9ybXMvd2Vlay1tdWx0aXBsZS1maWVsZHMvd2Vlay1tdWx0aXBsZS1maWVs
ZHMtY2xlYXJidXR0b24tdmlzaWJpbGl0eS1hZnRlci1yZXN0b3JlLmh0bWw6IFJlbW92ZWQuCisg
ICAgICAgICogZmFzdC9mb3Jtcy93ZWVrLW11bHRpcGxlLWZpZWxkcy93ZWVrLW11bHRpcGxlLWZp
ZWxkcy1mYWxsYmFjay1mb3JtYXQtZXhwZWN0ZWQudHh0OiBSZW1vdmVkLgorICAgICAgICAqIGZh
c3QvZm9ybXMvd2Vlay1tdWx0aXBsZS1maWVsZHMvd2Vlay1tdWx0aXBsZS1maWVsZHMtZmFsbGJh
Y2stZm9ybWF0Lmh0bWw6IFJlbW92ZWQuCisgICAgICAgICogZmFzdC9mb3Jtcy93ZWVrLW11bHRp
cGxlLWZpZWxkcy93ZWVrLW11bHRpcGxlLWZpZWxkcy1rZXlib2FyZC1ldmVudHMtZXhwZWN0ZWQu
dHh0OiBSZW1vdmVkLgorICAgICAgICAqIGZhc3QvZm9ybXMvd2Vlay1tdWx0aXBsZS1maWVsZHMv
d2Vlay1tdWx0aXBsZS1maWVsZHMta2V5Ym9hcmQtZXZlbnRzLmh0bWw6IFJlbW92ZWQuCisgICAg
ICAgICogZmFzdC9mb3Jtcy93ZWVrLW11bHRpcGxlLWZpZWxkcy93ZWVrLW11bHRpcGxlLWZpZWxk
cy1tb3VzZS1ldmVudHMtZXhwZWN0ZWQudHh0OiBSZW1vdmVkLgorICAgICAgICAqIGZhc3QvZm9y
bXMvd2Vlay1tdWx0aXBsZS1maWVsZHMvd2Vlay1tdWx0aXBsZS1maWVsZHMtbW91c2UtZXZlbnRz
Lmh0bWw6IFJlbW92ZWQuCisgICAgICAgICogZmFzdC9mb3Jtcy93ZWVrLW11bHRpcGxlLWZpZWxk
cy93ZWVrLW11bHRpcGxlLWZpZWxkcy1wcmVzZXJ2ZS12YWx1ZS1hZnRlci1oaXN0b3J5LWJhY2st
ZXhwZWN0ZWQudHh0OiBSZW1vdmVkLgorICAgICAgICAqIGZhc3QvZm9ybXMvd2Vlay1tdWx0aXBs
ZS1maWVsZHMvd2Vlay1tdWx0aXBsZS1maWVsZHMtcHJlc2VydmUtdmFsdWUtYWZ0ZXItaGlzdG9y
eS1iYWNrLmh0bWw6IFJlbW92ZWQuCisgICAgICAgICogZmFzdC9mb3Jtcy93ZWVrLW11bHRpcGxl
LWZpZWxkcy93ZWVrLW11bHRpcGxlLWZpZWxkcy1yZWFkb25seS1zdWJmaWVsZC1leHBlY3RlZC50
eHQ6IFJlbW92ZWQuCisgICAgICAgICogZmFzdC9mb3Jtcy93ZWVrLW11bHRpcGxlLWZpZWxkcy93
ZWVrLW11bHRpcGxlLWZpZWxkcy1yZWFkb25seS1zdWJmaWVsZC5odG1sOiBSZW1vdmVkLgorICAg
ICAgICAqIGZhc3QvZm9ybXMvd2Vlay1tdWx0aXBsZS1maWVsZHMvd2Vlay1tdWx0aXBsZS1maWVs
ZHMtcmVzZXQtdmFsdWUtYWZ0ZXItcmVsb2Fkcy1leHBlY3RlZC50eHQ6IFJlbW92ZWQuCisgICAg
ICAgICogZmFzdC9mb3Jtcy93ZWVrLW11bHRpcGxlLWZpZWxkcy93ZWVrLW11bHRpcGxlLWZpZWxk
cy1yZXNldC12YWx1ZS1hZnRlci1yZWxvYWRzLmh0bWw6IFJlbW92ZWQuCisgICAgICAgICogZmFz
dC9mb3Jtcy93ZWVrLW11bHRpcGxlLWZpZWxkcy93ZWVrLW11bHRpcGxlLWZpZWxkcy1zcGluYnV0
dG9uLWNoYW5nZS1hbmQtaW5wdXQtZXZlbnRzLWV4cGVjdGVkLnR4dDogUmVtb3ZlZC4KKyAgICAg
ICAgKiBmYXN0L2Zvcm1zL3dlZWstbXVsdGlwbGUtZmllbGRzL3dlZWstbXVsdGlwbGUtZmllbGRz
LXNwaW5idXR0b24tY2hhbmdlLWFuZC1pbnB1dC1ldmVudHMuaHRtbDogUmVtb3ZlZC4KKyAgICAg
ICAgKiBmYXN0L2Zvcm1zL3dlZWstbXVsdGlwbGUtZmllbGRzL3dlZWstbXVsdGlwbGUtZmllbGRz
LXN0ZXB1cC1zdGVwZG93bi1mcm9tLXJlbmRlcmVyLWV4cGVjdGVkLnR4dDogUmVtb3ZlZC4KKyAg
ICAgICAgKiBmYXN0L2Zvcm1zL3dlZWstbXVsdGlwbGUtZmllbGRzL3dlZWstbXVsdGlwbGUtZmll
bGRzLXN0ZXB1cC1zdGVwZG93bi1mcm9tLXJlbmRlcmVyLmh0bWw6IFJlbW92ZWQuCisgICAgICAg
ICogZmFzdC9mb3Jtcy93ZWVrLW11bHRpcGxlLWZpZWxkcy93ZWVrLW11bHRpcGxlLWZpZWxkcy12
YWxpZGl0eS1iYWRpbnB1dC1leHBlY3RlZC50eHQ6IFJlbW92ZWQuCisgICAgICAgICogZmFzdC9m
b3Jtcy93ZWVrLW11bHRpcGxlLWZpZWxkcy93ZWVrLW11bHRpcGxlLWZpZWxkcy12YWxpZGl0eS1i
YWRpbnB1dC5odG1sOiBSZW1vdmVkLgorICAgICAgICAqIGZhc3QvZm9ybXMvd2Vlay1tdWx0aXBs
ZS1maWVsZHMvd2Vlay1tdWx0aXBsZS1maWVsZHMtdmFsdWUtc2V0LWVtcHR5LWV4cGVjdGVkLnR4
dDogUmVtb3ZlZC4KKyAgICAgICAgKiBmYXN0L2Zvcm1zL3dlZWstbXVsdGlwbGUtZmllbGRzL3dl
ZWstbXVsdGlwbGUtZmllbGRzLXZhbHVlLXNldC1lbXB0eS5odG1sOiBSZW1vdmVkLgorICAgICAg
ICAqIGZhc3QvZm9ybXMvd2Vlay1tdWx0aXBsZS1maWVsZHMvd2Vlay1tdWx0aXBsZS1maWVsZHMt
d2hlZWwtZXZlbnQtZXhwZWN0ZWQudHh0OiBSZW1vdmVkLgorICAgICAgICAqIGZhc3QvZm9ybXMv
d2Vlay1tdWx0aXBsZS1maWVsZHMvd2Vlay1tdWx0aXBsZS1maWVsZHMtd2hlZWwtZXZlbnQuaHRt
bDogUmVtb3ZlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9lZmwvVGVzdEV4cGVjdGF0aW9uczoKKyAg
ICAgICAgKiBwbGF0Zm9ybS9ndGsvVGVzdEV4cGVjdGF0aW9uczoKKyAgICAgICAgKiBwbGF0Zm9y
bS9tYWMvVGVzdEV4cGVjdGF0aW9uczoKKyAgICAgICAgKiBwbGF0Zm9ybS9xdC9UZXN0RXhwZWN0
YXRpb25zOgorICAgICAgICAqIHBsYXRmb3JtL3dpbi9UZXN0RXhwZWN0YXRpb25zOgorICAgICAg
ICAqIHBsYXRmb3JtL3dpbmNhaXJvL1Rlc3RFeHBlY3RhdGlvbnM6CisKIDIwMTMtMDUtMjUgIFNp
bW9uIEZyYXNlciAgPHNpbW9uLmZyYXNlckBhcHBsZS5jb20+CiAKICAgICAgICAgVW5wcmVmaXgg
UGFnZSBWaXNpYmlsaXR5IEFQSQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9k
YXRlLW11bHRpcGxlLWZpZWxkcy9kYXRlLW11bHRpcGxlLWZpZWxkcy1heC1hcmlhLWF0dHJpYnV0
ZXMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9kYXRlLW11bHRpcGxlLWZp
ZWxkcy9kYXRlLW11bHRpcGxlLWZpZWxkcy1heC1hcmlhLWF0dHJpYnV0ZXMtZXhwZWN0ZWQudHh0
CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBlM2UyZGUzNjhjNWE0NTY3NGQxNmI5NWZk
ZWZmZDgwNzk0MGRjNmQ1Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvZGF0ZS1tdWx0aXBsZS1maWVsZHMvZGF0ZS1t
dWx0aXBsZS1maWVsZHMtYXgtYXJpYS1hdHRyaWJ1dGVzLWV4cGVjdGVkLnR4dAorKysgL2Rldi9u
dWxsCkBAIC0xLDIyICswLDAgQEAKLVRoaXMgdGVzdCBjaGVja3MgYXJpYS1oZWxwIGF0dHJpYnV0
ZSBvZiBmaWVsZHMgaW4gbXVsdGlwbGUgZmllbGRzIGRhdGUgaW5wdXQgVUkuCi0KLU9uIHN1Y2Nl
c3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5
ICJURVNUIENPTVBMRVRFIi4KLQotCi1Jbml0aWFsIGVtcHR5IHN0YXRlCi1QQVNTIGZvY3VzZWRF
bGVtZW50RGVzY3JpcHRpb24oKSBpcyAiQVhIZWxwOiBNb250aCwgQVhWYWx1ZURlc2NyaXB0aW9u
OiBibGFuaywgaW50VmFsdWU6MCwgcmFuZ2U6MS0xMiIKLVBBU1MgZm9jdXNlZEVsZW1lbnREZXNj
cmlwdGlvbigpIGlzICJBWEhlbHA6IERheSwgQVhWYWx1ZURlc2NyaXB0aW9uOiBibGFuaywgaW50
VmFsdWU6MCwgcmFuZ2U6MS0zMSIKLVBBU1MgZm9jdXNlZEVsZW1lbnREZXNjcmlwdGlvbigpIGlz
ICJBWEhlbHA6IFllYXIsIEFYVmFsdWVEZXNjcmlwdGlvbjogYmxhbmssIGludFZhbHVlOjAsIHJh
bmdlOjEtMjc1NzYwIgotTm9uLWVtcHR5IHZhbHVlCi1QQVNTIGZvY3VzZWRFbGVtZW50RGVzY3Jp
cHRpb24oKSBpcyAiQVhIZWxwOiBNb250aCwgQVhWYWx1ZURlc2NyaXB0aW9uOiAxMCwgaW50VmFs
dWU6MTAsIHJhbmdlOjEtMTIiCi1QQVNTIGZvY3VzZWRFbGVtZW50RGVzY3JpcHRpb24oKSBpcyAi
QVhIZWxwOiBEYXksIEFYVmFsdWVEZXNjcmlwdGlvbjogMDksIGludFZhbHVlOjksIHJhbmdlOjEt
MzEiCi1QQVNTIGZvY3VzZWRFbGVtZW50RGVzY3JpcHRpb24oKSBpcyAiQVhIZWxwOiBZZWFyLCBB
WFZhbHVlRGVzY3JpcHRpb246IDIwMTIsIGludFZhbHVlOjIwMTIsIHJhbmdlOjEtMjc1NzYwIgot
RW1wdHkgdmFsdWUKLVBBU1MgZm9jdXNlZEVsZW1lbnREZXNjcmlwdGlvbigpIGlzICJBWEhlbHA6
IFllYXIsIEFYVmFsdWVEZXNjcmlwdGlvbjogYmxhbmssIGludFZhbHVlOjAsIHJhbmdlOjEtMjc1
NzYwIgotUEFTUyBmb2N1c2VkRWxlbWVudERlc2NyaXB0aW9uKCkgaXMgIkFYSGVscDogRGF5LCBB
WFZhbHVlRGVzY3JpcHRpb246IGJsYW5rLCBpbnRWYWx1ZTowLCByYW5nZToxLTMxIgotUEFTUyBm
b2N1c2VkRWxlbWVudERlc2NyaXB0aW9uKCkgaXMgIkFYSGVscDogTW9udGgsIEFYVmFsdWVEZXNj
cmlwdGlvbjogYmxhbmssIGludFZhbHVlOjAsIHJhbmdlOjEtMTIiCi0KLVBBU1Mgc3VjY2Vzc2Z1
bGx5UGFyc2VkIGlzIHRydWUKLQotVEVTVCBDT01QTEVURQotCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9mYXN0L2Zvcm1zL2RhdGUtbXVsdGlwbGUtZmllbGRzL2RhdGUtbXVsdGlwbGUtZmllbGRz
LWF4LWFyaWEtYXR0cmlidXRlcy5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9kYXRlLW11
bHRpcGxlLWZpZWxkcy9kYXRlLW11bHRpcGxlLWZpZWxkcy1heC1hcmlhLWF0dHJpYnV0ZXMuaHRt
bApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMGQ2NzcwZjQwMTI1YWMyMDIwNWM5MDEz
ODlkMDg4ZWM5ZTYzYzdhMy4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2RhdGUtbXVsdGlwbGUtZmllbGRzL2RhdGUt
bXVsdGlwbGUtZmllbGRzLWF4LWFyaWEtYXR0cmlidXRlcy5odG1sCisrKyAvZGV2L251bGwKQEAg
LTEsNTEgKzAsMCBAQAotPCFET0NUWVBFIGh0bWw+Ci08aHRtbD4KLTxoZWFkPgotPHNjcmlwdCBz
cmM9Ii4uLy4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4K
LTxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvbXVsdGlwbGUtZmllbGRzLWF4LWFyaWEtYXR0cmli
dXRlcy5qcyI+PC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keT4KLTxpbnB1dCBpZD0idGVzdCIgdHlw
ZT0iZGF0ZSI+Ci08c2NyaXB0PgotZGVzY3JpcHRpb24oJ1RoaXMgdGVzdCBjaGVja3MgYXJpYS1o
ZWxwIGF0dHJpYnV0ZSBvZiBmaWVsZHMgaW4gbXVsdGlwbGUgZmllbGRzIGRhdGUgaW5wdXQgVUku
Jyk7Ci0KLXZhciB0ZXN0SW5wdXQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgndGVzdCcpOwot
Ci1pZiAoIXdpbmRvdy5hY2Nlc3NpYmlsaXR5Q29udHJvbGxlciB8fCAhd2luZG93LmV2ZW50U2Vu
ZGVyKQotICAgIGRlYnVnKCdQbGVhc2UgcnVuIGluc2lkZSBEUlQgb3IgV1RSLicpOwotZWxzZSB7
Ci0gICAgdGVzdElucHV0LmZvY3VzKCk7Ci0gICAgZGVidWcoJ0luaXRpYWwgZW1wdHkgc3RhdGUn
KTsKLSAgICBjaGVja0ZvY3VzZWRFbGVtZW50QVhBdHRyaWJ1dGVzKCdBWEhlbHA6IE1vbnRoLCBB
WFZhbHVlRGVzY3JpcHRpb246IGJsYW5rLCBpbnRWYWx1ZTowLCByYW5nZToxLTEyJyk7Ci0gICAg
ZXZlbnRTZW5kZXIua2V5RG93bignXHQnKTsKLSAgICBjaGVja0ZvY3VzZWRFbGVtZW50QVhBdHRy
aWJ1dGVzKCdBWEhlbHA6IERheSwgQVhWYWx1ZURlc2NyaXB0aW9uOiBibGFuaywgaW50VmFsdWU6
MCwgcmFuZ2U6MS0zMScpOwotICAgIGV2ZW50U2VuZGVyLmtleURvd24oJ1x0Jyk7Ci0gICAgY2hl
Y2tGb2N1c2VkRWxlbWVudEFYQXR0cmlidXRlcygnQVhIZWxwOiBZZWFyLCBBWFZhbHVlRGVzY3Jp
cHRpb246IGJsYW5rLCBpbnRWYWx1ZTowLCByYW5nZToxLTI3NTc2MCcpOwotCi0gICAgZXZlbnRT
ZW5kZXIua2V5RG93bignXHQnLCBbJ3NoaWZ0S2V5J10pOwotICAgIGV2ZW50U2VuZGVyLmtleURv
d24oJ1x0JywgWydzaGlmdEtleSddKTsKLSAgICBkZWJ1ZygnTm9uLWVtcHR5IHZhbHVlJyk7Ci0g
ICAgdGVzdElucHV0LnZhbHVlID0gIjIwMTItMTAtMDkiOwotICAgIGNoZWNrRm9jdXNlZEVsZW1l
bnRBWEF0dHJpYnV0ZXMoJ0FYSGVscDogTW9udGgsIEFYVmFsdWVEZXNjcmlwdGlvbjogMTAsIGlu
dFZhbHVlOjEwLCByYW5nZToxLTEyJyk7Ci0gICAgZXZlbnRTZW5kZXIua2V5RG93bignXHQnKTsK
LSAgICBjaGVja0ZvY3VzZWRFbGVtZW50QVhBdHRyaWJ1dGVzKCdBWEhlbHA6IERheSwgQVhWYWx1
ZURlc2NyaXB0aW9uOiAwOSwgaW50VmFsdWU6OSwgcmFuZ2U6MS0zMScpOwotICAgIGV2ZW50U2Vu
ZGVyLmtleURvd24oJ1x0Jyk7Ci0gICAgY2hlY2tGb2N1c2VkRWxlbWVudEFYQXR0cmlidXRlcygn
QVhIZWxwOiBZZWFyLCBBWFZhbHVlRGVzY3JpcHRpb246IDIwMTIsIGludFZhbHVlOjIwMTIsIHJh
bmdlOjEtMjc1NzYwJyk7Ci0KLSAgICBkZWJ1ZygnRW1wdHkgdmFsdWUnKTsKLSAgICBldmVudFNl
bmRlci5rZXlEb3duKCdcYicpOwotICAgIGNoZWNrRm9jdXNlZEVsZW1lbnRBWEF0dHJpYnV0ZXMo
J0FYSGVscDogWWVhciwgQVhWYWx1ZURlc2NyaXB0aW9uOiBibGFuaywgaW50VmFsdWU6MCwgcmFu
Z2U6MS0yNzU3NjAnKTsKLSAgICBldmVudFNlbmRlci5rZXlEb3duKCdcdCcsIFsnc2hpZnRLZXkn
XSk7Ci0gICAgZXZlbnRTZW5kZXIua2V5RG93bignXGInKTsKLSAgICBjaGVja0ZvY3VzZWRFbGVt
ZW50QVhBdHRyaWJ1dGVzKCdBWEhlbHA6IERheSwgQVhWYWx1ZURlc2NyaXB0aW9uOiBibGFuaywg
aW50VmFsdWU6MCwgcmFuZ2U6MS0zMScpOwotICAgIGV2ZW50U2VuZGVyLmtleURvd24oJ1x0Jywg
WydzaGlmdEtleSddKTsKLSAgICBldmVudFNlbmRlci5rZXlEb3duKCdcYicpOwotICAgIGNoZWNr
Rm9jdXNlZEVsZW1lbnRBWEF0dHJpYnV0ZXMoJ0FYSGVscDogTW9udGgsIEFYVmFsdWVEZXNjcmlw
dGlvbjogYmxhbmssIGludFZhbHVlOjAsIHJhbmdlOjEtMTInKTsKLQotICAgIGRlYnVnKCcnKTsK
LSAgICB0ZXN0SW5wdXQucGFyZW50Tm9kZS5yZW1vdmVDaGlsZCh0ZXN0SW5wdXQpOwotfQotPC9z
Y3JpcHQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1w
b3N0LmpzIj48L3NjcmlwdD4KLTwvYm9keT4KLTwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2Zhc3QvZm9ybXMvZGF0ZS1tdWx0aXBsZS1maWVsZHMvZGF0ZS1tdWx0aXBsZS1maWVsZHMt
YXgtdmFsdWUtY2hhbmdlZC1ub3RpZmljYXRpb24tZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
ZmFzdC9mb3Jtcy9kYXRlLW11bHRpcGxlLWZpZWxkcy9kYXRlLW11bHRpcGxlLWZpZWxkcy1heC12
YWx1ZS1jaGFuZ2VkLW5vdGlmaWNhdGlvbi1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IGQ0ZmM4YWU1NDQ1MDYxYTgwZTU4OGM2NzdkMWNhZTY2MTczYTI0ZGIuLjAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMv
ZmFzdC9mb3Jtcy9kYXRlLW11bHRpcGxlLWZpZWxkcy9kYXRlLW11bHRpcGxlLWZpZWxkcy1heC12
YWx1ZS1jaGFuZ2VkLW5vdGlmaWNhdGlvbi1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAt
MSwxNyArMCwwIEBACi1UaGlzIHRlc3QgY2hlY2tzIHZhbHVlIGNoYW5nZWQgYWNjZXNzaWJpbGl0
eSBub3RpZmljYXRpb25zLgotCi1PbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2Yg
IlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCi0KLQotRm9jdXNl
ZFVJRWxlbWVudENoYW5nZWQgQVhIZWxwOiBNb250aD1BWFZhbHVlRGVzY3JpcHRpb246IDEwCi1G
b2N1c2VkVUlFbGVtZW50Q2hhbmdlZCBBWEhlbHA6IERheT1BWFZhbHVlRGVzY3JpcHRpb246IDA5
Ci1Gb2N1c2VkVUlFbGVtZW50Q2hhbmdlZCBBWEhlbHA6IFllYXI9QVhWYWx1ZURlc2NyaXB0aW9u
OiAyMDEyCi1WYWx1ZUNoYW5nZWQgQVhIZWxwOiBEYXk9QVhWYWx1ZURlc2NyaXB0aW9uOiAwNAot
VmFsdWVDaGFuZ2VkIEFYSGVscDogRGF5PUFYVmFsdWVEZXNjcmlwdGlvbjogMDQKLVZhbHVlQ2hh
bmdlZCBBWEhlbHA6IFllYXI9QVhWYWx1ZURlc2NyaXB0aW9uOiAyMDEzCi1WYWx1ZUNoYW5nZWQg
QVhIZWxwOiBZZWFyPUFYVmFsdWVEZXNjcmlwdGlvbjogMjAxMwotCi1QQVNTIHN1Y2Nlc3NmdWxs
eVBhcnNlZCBpcyB0cnVlCi0KLVRFU1QgQ09NUExFVEUKLQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZmFzdC9mb3Jtcy9kYXRlLW11bHRpcGxlLWZpZWxkcy9kYXRlLW11bHRpcGxlLWZpZWxkcy1h
eC12YWx1ZS1jaGFuZ2VkLW5vdGlmaWNhdGlvbi5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jt
cy9kYXRlLW11bHRpcGxlLWZpZWxkcy9kYXRlLW11bHRpcGxlLWZpZWxkcy1heC12YWx1ZS1jaGFu
Z2VkLW5vdGlmaWNhdGlvbi5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAzOTc5
MGEyOTNiNTEyMDk0Y2YwODYxMDA3OTcxMTQ1ZDQxZjZlNWJjLi4wMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvZGF0ZS1t
dWx0aXBsZS1maWVsZHMvZGF0ZS1tdWx0aXBsZS1maWVsZHMtYXgtdmFsdWUtY2hhbmdlZC1ub3Rp
ZmljYXRpb24uaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDM4ICswLDAgQEAKLTwhRE9DVFlQRSBo
dG1sPgotPGh0bWw+Ci08aGVhZD4KLTxzY3JpcHQgc3JjPSIuLi8uLi8uLi9mYXN0L2pzL3Jlc291
cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keT4KLTxpbnB1dCBp
ZD0idGVzdCIgdHlwZT0iZGF0ZSIgdmFsdWU9IjIwMTItMTAtMDkiPgotPHNjcmlwdD4KLWRlc2Ny
aXB0aW9uKCdUaGlzIHRlc3QgY2hlY2tzIHZhbHVlIGNoYW5nZWQgYWNjZXNzaWJpbGl0eSBub3Rp
ZmljYXRpb25zLicpOwotCi12YXIgdGVzdElucHV0ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
InRlc3QiKTsKLQotaWYgKCF3aW5kb3cuYWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIgfHwgIXdpbmRv
dy5ldmVudFNlbmRlcikKLSAgICBkZWJ1ZygiUGxlYXNlIHJ1biBpbnNpZGUgRFJUIG9yIFdSVC4i
KTsKLWVsc2UgewotICAgIGFjY2Vzc2liaWxpdHlDb250cm9sbGVyLmFkZE5vdGlmaWNhdGlvbkxp
c3RlbmVyKGZ1bmN0aW9uIChlbGVtZW50LCBub3RpZmljYXRpb24pIHsKLSAgICAgICAgaWYgKG5v
dGlmaWNhdGlvbiA9PSAnRm9jdXNlZFVJRWxlbWVudENoYW5nZWQnIHx8IG5vdGlmaWNhdGlvbiA9
PSAnVmFsdWVDaGFuZ2VkJykgewotICAgICAgICAgICAgZGVidWcobm90aWZpY2F0aW9uICsgJyAn
ICsgZWxlbWVudC5oZWxwVGV4dCArICc9JyArIGVsZW1lbnQudmFsdWVEZXNjcmlwdGlvbik7Ci0g
ICAgICAgIH0KLSAgICB9KTsKLQotICAgIHRlc3RJbnB1dC5mb2N1cygpOwotICAgIGV2ZW50U2Vu
ZGVyLmtleURvd24oJ1x0Jyk7Ci0gICAgZXZlbnRTZW5kZXIua2V5RG93bignNCcpOwotICAgIGV2
ZW50U2VuZGVyLmtleURvd24oJ3VwQXJyb3cnKTsKLQotICAgIHdpbmRvdy5qc1Rlc3RJc0FzeW5j
ID0gdHJ1ZTsKLQotICAgIHdpbmRvdy5zZXRUaW1lb3V0KGZ1bmN0aW9uKCkgewotICAgICAgICBk
ZWJ1ZygnJyk7Ci0gICAgICAgIHRlc3RJbnB1dC5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKHRlc3RJ
bnB1dCk7Ci0gICAgICAgIGZpbmlzaEpTVGVzdCgpOwotICAgIH0sIDEpOwotfQotPC9zY3JpcHQ+
Ci08c2NyaXB0IHNyYz0iLi4vLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0Lmpz
Ij48L3NjcmlwdD4KLTwvYm9keT4KLTwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zh
c3QvZm9ybXMvZGF0ZS1tdWx0aXBsZS1maWVsZHMvZGF0ZS1tdWx0aXBsZS1maWVsZHMtYmx1ci1h
bmQtZm9jdXMtZXZlbnRzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvZGF0
ZS1tdWx0aXBsZS1maWVsZHMvZGF0ZS1tdWx0aXBsZS1maWVsZHMtYmx1ci1hbmQtZm9jdXMtZXZl
bnRzLWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMzNjMzQ4NjBh
MjBlZTQ5ZjY2NzIzMzc0YTQ2YzI5MTdmMzkzZWQxZi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2RhdGUtbXVsdGlw
bGUtZmllbGRzL2RhdGUtbXVsdGlwbGUtZmllbGRzLWJsdXItYW5kLWZvY3VzLWV2ZW50cy1leHBl
Y3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSwxOCArMCwwIEBACi1DaGVjayBibHVyIGFuZCBm
b2N1cyBldmVudHMgZm9yIG11bHRpcGxlIGZpZWxkcyBkYXRlIGlucHV0IFVJCi0KLU9uIHN1Y2Nl
c3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5
ICJURVNUIENPTVBMRVRFIi4KLQotCi1mb2N1cygpIGFuZCBibHVyKCkKLVBBU1MgdGVzdElucHV0
LmZvY3VzKCk7IHN0YXRlKCkgaXMgImJsdXI9MCBmb2N1cz0xIgotUEFTUyB0ZXN0SW5wdXQuYmx1
cigpOyBzdGF0ZSgpIGlzICJibHVyPTEgZm9jdXM9MSIKLWZvY3VzIGFuZCBUYWIga2V5IHRvIGJs
dXIKLVBBU1Mga2V5RG93bigiCSIpOyBzdGF0ZSgpIGlzICJibHVyPTAgZm9jdXM9MSIKLVBBU1Mg
a2V5RG93bigiCSIpOyBzdGF0ZSgpIGlzICJibHVyPTAgZm9jdXM9MSIKLVBBU1Mga2V5RG93bigi
CSIpOyBzdGF0ZSgpIGlzICJibHVyPTAgZm9jdXM9MSIKLVBBU1Mga2V5RG93bigiCSIpOyBzdGF0
ZSgpIGlzICJibHVyPTEgZm9jdXM9MSIKLQotUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1
ZQotCi1URVNUIENPTVBMRVRFCi0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMv
ZGF0ZS1tdWx0aXBsZS1maWVsZHMvZGF0ZS1tdWx0aXBsZS1maWVsZHMtYmx1ci1hbmQtZm9jdXMt
ZXZlbnRzLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2RhdGUtbXVsdGlwbGUtZmllbGRz
L2RhdGUtbXVsdGlwbGUtZmllbGRzLWJsdXItYW5kLWZvY3VzLWV2ZW50cy5odG1sCmRlbGV0ZWQg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCBhZWU0ZDBiMDM0ZmZkNDJkMTkzMmViNWMyODgzOGQ3NTY1
ODlkMjJkLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xh
eW91dFRlc3RzL2Zhc3QvZm9ybXMvZGF0ZS1tdWx0aXBsZS1maWVsZHMvZGF0ZS1tdWx0aXBsZS1m
aWVsZHMtYmx1ci1hbmQtZm9jdXMtZXZlbnRzLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSwxMiAr
MCwwIEBACi08IURPQ1RZUEUgaHRtbD4KLTxodG1sPgotPGJvZHk+Ci08c2NyaXB0IHNyYz0iLi4v
Li4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIu
Li9yZXNvdXJjZXMvbXVsdGlwbGUtZmllbGRzLWJsdXItYW5kLWZvY3VzLWV2ZW50cy5qcyI+PC9z
Y3JpcHQ+Ci08ZGl2IGlkPSJjb250YWluZXIiPjwvZGl2PgotPHNjcmlwdD4KLXN0YXJ0VGVzdEZv
cignZGF0ZScpOwotPC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vanMvcmVzb3VyY2VzL2pz
LXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Ci08L2JvZHk+Ci08L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2RhdGUtbXVsdGlwbGUtZmllbGRzL2RhdGUtbXVsdGlwbGUt
ZmllbGRzLWNoYW5nZS1sYXlvdXQtYnktdmFsdWUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
ZmFzdC9mb3Jtcy9kYXRlLW11bHRpcGxlLWZpZWxkcy9kYXRlLW11bHRpcGxlLWZpZWxkcy1jaGFu
Z2UtbGF5b3V0LWJ5LXZhbHVlLWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggOTYwN2JlNWUzZmYyZDUxNmQ0Yzc2NjJkMzc5YjJjNmUwMmIxMGI5NS4uMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2Zv
cm1zL2RhdGUtbXVsdGlwbGUtZmllbGRzL2RhdGUtbXVsdGlwbGUtZmllbGRzLWNoYW5nZS1sYXlv
dXQtYnktdmFsdWUtZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEsMTEgKzAsMCBAQAot
Q2hhbmdlIG11bHRpcGxlIGZpZWxkcyBkYXRlIGlucHV0IFVJIGxheW91dCBieSB2YWx1ZQotCi1P
biBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xs
b3dlZCBieSAiVEVTVCBDT01QTEVURSIuCi0KLQotUEFTUyB3aWR0aE9mRW1wdHlWYWx1ZSA8IHdp
ZHRoT2ZPdmVyZmxvd1ZhbHVlIGlzIHRydWUKLVBBU1Mgd2lkdGhPZkVtcHR5VmFsdWUgaXMgd2lk
dGhPZlZhbGlkVmFsdWUKLVBBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKLQotVEVTVCBD
T01QTEVURQotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2RhdGUtbXVsdGlw
bGUtZmllbGRzL2RhdGUtbXVsdGlwbGUtZmllbGRzLWNoYW5nZS1sYXlvdXQtYnktdmFsdWUuaHRt
bCBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvZGF0ZS1tdWx0aXBsZS1maWVsZHMvZGF0ZS1tdWx0
aXBsZS1maWVsZHMtY2hhbmdlLWxheW91dC1ieS12YWx1ZS5odG1sCmRlbGV0ZWQgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCBhOGVjZTU2MDc4MzQzMjU0ZmU2Nzg4ZTAxMDIxNTA1MThmNGE1MThmLi4w
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3Rz
L2Zhc3QvZm9ybXMvZGF0ZS1tdWx0aXBsZS1maWVsZHMvZGF0ZS1tdWx0aXBsZS1maWVsZHMtY2hh
bmdlLWxheW91dC1ieS12YWx1ZS5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsMjUgKzAsMCBAQAot
PCFET0NUWVBFIGh0bWw+Ci08aHRtbD4KLTxib2R5PgotPHNjcmlwdCBzcmM9Ii4uLy4uL2pzL3Jl
c291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0PgotZGVzY3JpcHRpb24o
J0NoYW5nZSBtdWx0aXBsZSBmaWVsZHMgZGF0ZSBpbnB1dCBVSSBsYXlvdXQgYnkgdmFsdWUnKTsK
LXZhciB0ZXN0SW5wdXQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdpbnB1dCcpOwotdGVzdElu
cHV0LnR5cGUgPSAnZGF0ZSc7Ci10ZXN0SW5wdXQubWF4ID0gJzk5OTktMTItMzEnOwotZG9jdW1l
bnQuYm9keS5hcHBlbmRDaGlsZCh0ZXN0SW5wdXQpOwotdmFyIHdpZHRoT2ZFbXB0eVZhbHVlID0g
dGVzdElucHV0Lm9mZnNldFdpZHRoOwotCi10ZXN0SW5wdXQudmFsdWUgPSAnMTAwMDAtMDEtMDEn
OwotdmFyIHdpZHRoT2ZPdmVyZmxvd1ZhbHVlID0gdGVzdElucHV0Lm9mZnNldFdpZHRoOwotc2hv
dWxkQmVUcnVlKCd3aWR0aE9mRW1wdHlWYWx1ZSA8IHdpZHRoT2ZPdmVyZmxvd1ZhbHVlJyk7Ci0K
LXRlc3RJbnB1dC52YWx1ZSA9ICcyMDEyLTEwLTA1JzsKLXZhciB3aWR0aE9mVmFsaWRWYWx1ZSA9
IHRlc3RJbnB1dC5vZmZzZXRXaWR0aDsKLXNob3VsZEJlKCd3aWR0aE9mRW1wdHlWYWx1ZScsICd3
aWR0aE9mVmFsaWRWYWx1ZScpOwotCi1kb2N1bWVudC5ib2R5LnJlbW92ZUNoaWxkKHRlc3RJbnB1
dCk7Ci08L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIuLi8uLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1w
b3N0LmpzIj48L3NjcmlwdD4KLTwvYm9keT4KLTwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2Zhc3QvZm9ybXMvZGF0ZS1tdWx0aXBsZS1maWVsZHMvZGF0ZS1tdWx0aXBsZS1maWVsZHMt
Y2xlYXJidXR0b24tY2hhbmdlLWFuZC1pbnB1dC1ldmVudHMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvZmFzdC9mb3Jtcy9kYXRlLW11bHRpcGxlLWZpZWxkcy9kYXRlLW11bHRpcGxlLWZpZWxk
cy1jbGVhcmJ1dHRvbi1jaGFuZ2UtYW5kLWlucHV0LWV2ZW50cy1leHBlY3RlZC50eHQKZGVsZXRl
ZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGMyYTkzZTZhMjEyZDExYmNjMjhlMzc0Njg5ZTdlYzIw
NzVlYmU2NTUuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEv
TGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9kYXRlLW11bHRpcGxlLWZpZWxkcy9kYXRlLW11bHRpcGxl
LWZpZWxkcy1jbGVhcmJ1dHRvbi1jaGFuZ2UtYW5kLWlucHV0LWV2ZW50cy1leHBlY3RlZC50eHQK
KysrIC9kZXYvbnVsbApAQCAtMSwxOSArMCwwIEBACi1UZXN0IGZvciBldmVudCBkaXNwYXRjaGlu
ZyBieSBzcGluIGJ1dHRvbnMgaW4gYSB0eXBlPWRhdGUgaW5wdXQuCi0KLU9uIHN1Y2Nlc3MsIHlv
dSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNU
IENPTVBMRVRFIi4KLQotCi1Jbml0aWFsIHN0YXRlCi1QQVNTIGNoYW5nZUV2ZW50Q291bnRlciBp
cyAwCi1QQVNTIGlucHV0RXZlbnRDb3VudGVyIGlzIDAKLUNsaWNrIHRoZSBjbGVhciBidXR0b24K
LVBBU1MgdGVzdElucHV0LnZhbHVlIGlzICIiCi1QQVNTIGNoYW5nZUV2ZW50Q291bnRlciBpcyAx
Ci1QQVNTIGlucHV0RXZlbnRDb3VudGVyIGlzIDEKLUZvY3VzIG9uIGFub3RoZXIgZmllbGQKLVBB
U1MgY2hhbmdlRXZlbnRDb3VudGVyIGlzIDEKLVBBU1MgaW5wdXRFdmVudENvdW50ZXIgaXMgMQot
UEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQotCi1URVNUIENPTVBMRVRFCi0KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvZGF0ZS1tdWx0aXBsZS1maWVsZHMvZGF0ZS1t
dWx0aXBsZS1maWVsZHMtY2xlYXJidXR0b24tY2hhbmdlLWFuZC1pbnB1dC1ldmVudHMuaHRtbCBi
L0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvZGF0ZS1tdWx0aXBsZS1maWVsZHMvZGF0ZS1tdWx0aXBs
ZS1maWVsZHMtY2xlYXJidXR0b24tY2hhbmdlLWFuZC1pbnB1dC1ldmVudHMuaHRtbApkZWxldGVk
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMGIzNjhlNWFiYThiMWE0MmQ2NDlhMGFiMjAyZDQ5OTFi
ODgzOTU1Zi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9M
YXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2RhdGUtbXVsdGlwbGUtZmllbGRzL2RhdGUtbXVsdGlwbGUt
ZmllbGRzLWNsZWFyYnV0dG9uLWNoYW5nZS1hbmQtaW5wdXQtZXZlbnRzLmh0bWwKKysrIC9kZXYv
bnVsbApAQCAtMSwxNCArMCwwIEBACi08IURPQ1RZUEUgaHRtbD4KLTxodG1sPgotPGhlYWQ+Ci08
c2NyaXB0IHNyYz0iLi4vLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwv
c2NyaXB0PgotPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy9jb21tb24uanMiPjwvc2NyaXB0Pgot
PHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy9jb21tb24tY2xlYXJidXR0b24tY2hhbmdlLWFuZC1p
bnB1dC1ldmVudHMuanMiPjwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHk+Ci08c2NyaXB0PgotdGVz
dENsZWFyQnV0dG9uQ2hhbmdlQW5kSW5wdXRFdmVudHMoJ2RhdGUnLCAnMjAxMi0xMC0wMScpOwot
PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVz
dC1wb3N0LmpzIj48L3NjcmlwdD4KLTwvYm9keT4KLTwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2Zhc3QvZm9ybXMvZGF0ZS1tdWx0aXBsZS1maWVsZHMvZGF0ZS1tdWx0aXBsZS1maWVs
ZHMtY2xlYXJidXR0b24tdmlzaWJpbGl0eS1hZnRlci1yZXN0b3JlLWV4cGVjdGVkLmh0bWwgYi9M
YXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2RhdGUtbXVsdGlwbGUtZmllbGRzL2RhdGUtbXVsdGlwbGUt
ZmllbGRzLWNsZWFyYnV0dG9uLXZpc2liaWxpdHktYWZ0ZXItcmVzdG9yZS1leHBlY3RlZC5odG1s
CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAyYjdlZDM1M2M3Y2MyMjIzYjdjMDU1OWJm
ZTU3NGExNmQ4MGY4MmQ4Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvZGF0ZS1tdWx0aXBsZS1maWVsZHMvZGF0ZS1t
dWx0aXBsZS1maWVsZHMtY2xlYXJidXR0b24tdmlzaWJpbGl0eS1hZnRlci1yZXN0b3JlLWV4cGVj
dGVkLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSwxMCArMCwwIEBACi08IURPQ1RZUEUgaHRtbD4K
LTxodG1sPgotPGJvZHk+Ci08aW5wdXQgaWQ9ImVtcHR5T25GaXJzdFZpc2l0IiB2YWx1ZT0idmlz
aXRlZCI+Ci08Zm9ybSBhY3Rpb249ImRhdGE6dGV4dC9odG1sLCZsdDtzY3JpcHQ+aGlzdG9yeS5i
YWNrKCkmbHQ7L3NjcmlwdD4iIGlkPWZvcm0xPgotICAgIDxpbnB1dCB0eXBlPWRhdGUgaWQ9aW5w
dXQxPgotICAgIDxpbnB1dCB0eXBlPWRhdGUgaWQ9aW5wdXQyIHZhbHVlPSIyMDAxLTAyLTAzIj4K
LSAgICA8aW5wdXQgdHlwZT1kYXRlIGlkPWlucHV0MyB2YWx1ZT0iMjAwMi0wMy0wNCI+Ci08L2Zv
cm0+Ci08L2JvZHk+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2RhdGUtbXVs
dGlwbGUtZmllbGRzL2RhdGUtbXVsdGlwbGUtZmllbGRzLWNsZWFyYnV0dG9uLXZpc2liaWxpdHkt
YWZ0ZXItcmVzdG9yZS5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9kYXRlLW11bHRpcGxl
LWZpZWxkcy9kYXRlLW11bHRpcGxlLWZpZWxkcy1jbGVhcmJ1dHRvbi12aXNpYmlsaXR5LWFmdGVy
LXJlc3RvcmUuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNDA2ZDRjNjQ3ZmJi
MzdlOGZiYWJlNmE4MjIzODcwODNmYTA5MTRiNi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2RhdGUtbXVsdGlwbGUt
ZmllbGRzL2RhdGUtbXVsdGlwbGUtZmllbGRzLWNsZWFyYnV0dG9uLXZpc2liaWxpdHktYWZ0ZXIt
cmVzdG9yZS5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsMzIgKzAsMCBAQAotPCFET0NUWVBFIGh0
bWw+Ci08aHRtbD4KLTxib2R5PgotPGlucHV0IGlkPSJlbXB0eU9uRmlyc3RWaXNpdCI+Ci08Zm9y
bSBhY3Rpb249ImRhdGE6dGV4dC9odG1sLCZsdDtzY3JpcHQ+aGlzdG9yeS5iYWNrKCkmbHQ7L3Nj
cmlwdD4iIGlkPWZvcm0xPgotICAgIDxpbnB1dCB0eXBlPWRhdGUgaWQ9aW5wdXQxPgotICAgIDxp
bnB1dCB0eXBlPWRhdGUgaWQ9aW5wdXQyPgotICAgIDxpbnB1dCB0eXBlPWRhdGUgaWQ9aW5wdXQz
IHZhbHVlPSIyMDEyLTAxLTAzIj4KLTwvZm9ybT4KLQotPHNjcmlwdD4KLS8vIFJlc3RvcmluZyB0
aGUgZm9ybSBzaG91bGQgdXBkYXRlIHRoZSBjbGVhciBidXR0b24gdmlzaWJpbGl0eS4KLXRlc3RS
dW5uZXIud2FpdFVudGlsRG9uZSgpOwotZnVuY3Rpb24gcnVuVGVzdCgpCi17Ci0gICAgdmFyIHN0
YXRlID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2VtcHR5T25GaXJzdFZpc2l0Jyk7Ci0gICAg
aWYgKCFzdGF0ZS52YWx1ZSkgewotICAgICAgICAvLyBGaXJzdCB2aXNpdC4KLSAgICAgICAgc2V0
VGltZW91dChmdW5jdGlvbigpIHsKLSAgICAgICAgICAgIHN0YXRlLnZhbHVlID0gJ3Zpc2l0ZWQn
OwotICAgICAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2lucHV0MicpLnZhbHVlID0g
IjIwMDEtMDItMDMiOwotICAgICAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2lucHV0
MycpLnZhbHVlID0gIjIwMDItMDMtMDQiOwotICAgICAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoJ2Zvcm0xJykuc3VibWl0KCk7Ci0gICAgICAgIH0sIDApOwotICAgIH0gZWxzZSB7Ci0g
ICAgICAgIHRlc3RSdW5uZXIubm90aWZ5RG9uZSgpOwotICAgIH0KLX0KLQotd2luZG93Lm9ubG9h
ZCA9IHJ1blRlc3Q7Ci08L3NjcmlwdD4KLTwvYm9keT4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2Zhc3QvZm9ybXMvZGF0ZS1tdWx0aXBsZS1maWVsZHMvZGF0ZS1tdWx0aXBsZS1maWVsZHMtZmFs
bGJhY2stZm9ybWF0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvZGF0ZS1t
dWx0aXBsZS1maWVsZHMvZGF0ZS1tdWx0aXBsZS1maWVsZHMtZmFsbGJhY2stZm9ybWF0LWV4cGVj
dGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNTY2MzFmMTczOWQ2MTUwYTFi
YmYzOTBkMzcwY2U2OWNjYmY4NzYyYi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2RhdGUtbXVsdGlwbGUtZmllbGRz
L2RhdGUtbXVsdGlwbGUtZmllbGRzLWZhbGxiYWNrLWZvcm1hdC1leHBlY3RlZC50eHQKKysrIC9k
ZXYvbnVsbApAQCAtMSwxNSArMCwwIEBACi1DaGVja3MgaW5jb21wbGV0ZSBkYXRldGltZSBmb3Jt
YXRzIGFyZSByZWplY3RlZC4KLQotT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9m
ICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgotCi0KLVZhbGlk
IGZvcm1hdAotUEFTUyBnZXRVc2VyQWdlbnRTaGFkb3dUZXh0Q29udGVudChpbnB1dCkgaXMgIjMx
LTA3LTE5OTkiCi1JbnZhbGlkIGZvcm1hdCwgZmFsbGJhY2sgdG8geXl5eS1NTS1kZAotUEFTUyBn
ZXRVc2VyQWdlbnRTaGFkb3dUZXh0Q29udGVudChpbnB1dCkgaXMgIjE5OTktMDctMzEiCi1QQVNT
IGdldFVzZXJBZ2VudFNoYWRvd1RleHRDb250ZW50KGlucHV0KSBpcyAiMTk5OS0wNy0zMSIKLVBB
U1MgZ2V0VXNlckFnZW50U2hhZG93VGV4dENvbnRlbnQoaW5wdXQpIGlzICIxOTk5LTA3LTMxIgot
UEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQotCi1URVNUIENPTVBMRVRFCi0KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvZGF0ZS1tdWx0aXBsZS1maWVsZHMvZGF0ZS1t
dWx0aXBsZS1maWVsZHMtZmFsbGJhY2stZm9ybWF0Lmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2Zv
cm1zL2RhdGUtbXVsdGlwbGUtZmllbGRzL2RhdGUtbXVsdGlwbGUtZmllbGRzLWZhbGxiYWNrLWZv
cm1hdC5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBjZDliMjYwNDY5ZTA5OTc2
Nzc2Y2UyMDU3ZTkzOWQ5NzY2ZGRlZjc2Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvZGF0ZS1tdWx0aXBsZS1maWVs
ZHMvZGF0ZS1tdWx0aXBsZS1maWVsZHMtZmFsbGJhY2stZm9ybWF0Lmh0bWwKKysrIC9kZXYvbnVs
bApAQCAtMSwzOSArMCwwIEBACi08IURPQ1RZUEUgaHRtbD4KLTxodG1sPgotPGhlYWQ+Ci08c2Ny
aXB0IHNyYz0iLi4vLi4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KLTxz
Y3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvY29tbW9uLmpzIj48L3NjcmlwdD4KLTwvaGVhZD4KLTxi
b2R5PgotPHNjcmlwdD4KLWRlc2NyaXB0aW9uKCdDaGVja3MgaW5jb21wbGV0ZSBkYXRldGltZSBm
b3JtYXRzIGFyZSByZWplY3RlZC4nKTsKLQotdmFyIGlucHV0ID0gZG9jdW1lbnQuY3JlYXRlRWxl
bWVudCgnaW5wdXQnKTsKLWlucHV0LnR5cGUgPSAnZGF0ZSc7Ci1kb2N1bWVudC5ib2R5LmFwcGVu
ZENoaWxkKGlucHV0KTsKLQotZnVuY3Rpb24gc2V0RGF0ZVRpbWVGb3JtYXQocGF0dGVybikgewot
ICAgIHZhciB2YWx1ZSA9IGlucHV0LnZhbHVlOwotICAgIGdldEVsZW1lbnRCeVBzZXVkb0lkKGlu
dGVybmFscy55b3VuZ2VzdFNoYWRvd1Jvb3QoaW5wdXQpLCAnLXdlYmtpdC1kYXRldGltZS1lZGl0
Jykuc2V0QXR0cmlidXRlKCdwYXR0ZXJuJywgcGF0dGVybik7Ci0gICAgaW5wdXQudmFsdWUgPSAn
JzsgLy8gVXBkYXRlcyB0aGUgZWxlbWVudCBmb3IgbmV3IGZvcm1hdAotICAgIGlucHV0LnZhbHVl
ID0gdmFsdWU7Ci19Ci0KLWlucHV0LnZhbHVlID0gJzE5OTktMDctMzEnOwotCi1kZWJ1ZygnVmFs
aWQgZm9ybWF0Jyk7Ci1zZXREYXRlVGltZUZvcm1hdCgiZGQtTU0teXl5eSIpOwotc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCdnZXRVc2VyQWdlbnRTaGFkb3dUZXh0Q29udGVudChpbnB1dCknLCAnMzEt
MDctMTk5OScpOwotCi1kZWJ1ZygiSW52YWxpZCBmb3JtYXQsIGZhbGxiYWNrIHRvIHl5eXktTU0t
ZGQiKTsKLXNldERhdGVUaW1lRm9ybWF0KCd5eXl5LU1NJyk7Ci1zaG91bGRCZUVxdWFsVG9TdHJp
bmcoJ2dldFVzZXJBZ2VudFNoYWRvd1RleHRDb250ZW50KGlucHV0KScsICcxOTk5LTA3LTMxJyk7
Ci1zZXREYXRlVGltZUZvcm1hdCgnTU0vZGQnKTsKLXNob3VsZEJlRXF1YWxUb1N0cmluZygnZ2V0
VXNlckFnZW50U2hhZG93VGV4dENvbnRlbnQoaW5wdXQpJywgJzE5OTktMDctMzEnKTsKLXNldERh
dGVUaW1lRm9ybWF0KCdkZC15eXl5Jyk7Ci1zaG91bGRCZUVxdWFsVG9TdHJpbmcoJ2dldFVzZXJB
Z2VudFNoYWRvd1RleHRDb250ZW50KGlucHV0KScsICcxOTk5LTA3LTMxJyk7Ci0KLTwvc2NyaXB0
PgotPHNjcmlwdCBzcmM9Ii4uLy4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2Ny
aXB0PgotPC9ib2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jt
cy9kYXRlLW11bHRpcGxlLWZpZWxkcy9kYXRlLW11bHRpcGxlLWZpZWxkcy1mb2N1cy1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2RhdGUtbXVsdGlwbGUtZmllbGRzL2RhdGUt
bXVsdGlwbGUtZmllbGRzLWZvY3VzLWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggZDkzNzg5OWUxMDkzMTU5NmY0MjlkNmQzY2ZiYzE0ZTk1NmI0Yzk2ZS4uMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0
L2Zvcm1zL2RhdGUtbXVsdGlwbGUtZmllbGRzL2RhdGUtbXVsdGlwbGUtZmllbGRzLWZvY3VzLWV4
cGVjdGVkLnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDExICswLDAgQEAKLUNoZWNrIGlmIGVsZW1l
bnQuZm9jdXMoKSBkb2VzIG5vdCBmb2N1cyBvbiBkaXNhYmxlZCBzdWItZmllbGRzLgotCi1PbiBz
dWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dl
ZCBieSAiVEVTVCBDT01QTEVURSIuCi0KLQotUEFTUyBpbnRlcm5hbHMueW91bmdlc3RTaGFkb3dS
b290KGRhdGVJbnB1dCkuYWN0aXZlRWxlbWVudC5nZXRBdHRyaWJ1dGUoInBzZXVkbyIpIGlzICIt
d2Via2l0LWRhdGV0aW1lLWVkaXQtbW9udGgtZmllbGQiCi1QQVNTIGludGVybmFscy55b3VuZ2Vz
dFNoYWRvd1Jvb3QoZGF0ZUlucHV0KS5hY3RpdmVFbGVtZW50LmdldEF0dHJpYnV0ZSgicHNldWRv
IikgaXMgIi13ZWJraXQtZGF0ZXRpbWUtZWRpdC1tb250aC1maWVsZCIKLVBBU1Mgc3VjY2Vzc2Z1
bGx5UGFyc2VkIGlzIHRydWUKLQotVEVTVCBDT01QTEVURQotCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9mYXN0L2Zvcm1zL2RhdGUtbXVsdGlwbGUtZmllbGRzL2RhdGUtbXVsdGlwbGUtZmllbGRz
LWZvY3VzLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2RhdGUtbXVsdGlwbGUtZmllbGRz
L2RhdGUtbXVsdGlwbGUtZmllbGRzLWZvY3VzLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDMzYzllMDA2ZWVmNzMxNzQwYTVkMWNjNDcwNzdjYTBiZDZjNjFmZDIuLjAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9m
b3Jtcy9kYXRlLW11bHRpcGxlLWZpZWxkcy9kYXRlLW11bHRpcGxlLWZpZWxkcy1mb2N1cy5odG1s
CisrKyAvZGV2L251bGwKQEAgLTEsMzAgKzAsMCBAQAotPCFET0NUWVBFIGh0bWw+Ci08Ym9keT4K
LTxzY3JpcHQgc3JjPSIuLi8uLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0
PgotPHNjcmlwdD4KLWRlc2NyaXB0aW9uKCdDaGVjayBpZiBlbGVtZW50LmZvY3VzKCkgZG9lcyBu
b3QgZm9jdXMgb24gZGlzYWJsZWQgc3ViLWZpZWxkcy4nKTsKLWlmICh3aW5kb3cuaW50ZXJuYWxz
KQotICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRMYW5nQXR0cmlidXRlQXdhcmVGb3JtQ29udHJv
bFVJRW5hYmxlZCh0cnVlKTsKLWVsc2UKLSAgICBkZWJ1ZygnVGhpcyB0ZXN0IHJlcXVpcmVzIERS
VC9XUlQuJyk7Ci0KLXZhciBkYXRlSW5wdXQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdpbnB1
dCcpOwotZGF0ZUlucHV0LmxhbmcgPSAnamEtanAnOwotZGF0ZUlucHV0LnR5cGUgPSAnZGF0ZSc7
Ci1kYXRlSW5wdXQubWluID0gJzIwMTMtMDItMDEnOwotZGF0ZUlucHV0Lm1heCA9ICcyMDEzLTAz
LTMwJzsKLWRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoZGF0ZUlucHV0KTsKLS8vIEFzc3VtZSB0
aGUgZGF0ZSBmb3JtYXQgaXMgInl5eXkvTU0vZGQiCi0KLWRhdGVJbnB1dC5mb2N1cygpOwotLy8g
QmVjYXVzZSB0aGUgeWVhciBmaWVsZCBpcyBmaXhlZCwgdGhlIGZpcnN0IGZvY3VzYWJsZSBlbGVt
ZW50IGlzIHRoZQotLy8gbW9udGggZmllbGQuCi1zaG91bGRCZUVxdWFsVG9TdHJpbmcoJ2ludGVy
bmFscy55b3VuZ2VzdFNoYWRvd1Jvb3QoZGF0ZUlucHV0KS5hY3RpdmVFbGVtZW50LmdldEF0dHJp
YnV0ZSgicHNldWRvIiknLCAnLXdlYmtpdC1kYXRldGltZS1lZGl0LW1vbnRoLWZpZWxkJyk7Ci1k
YXRlSW5wdXQuYmx1cigpOwotZGF0ZUlucHV0LmZvY3VzKCk7Ci1zaG91bGRCZUVxdWFsVG9TdHJp
bmcoJ2ludGVybmFscy55b3VuZ2VzdFNoYWRvd1Jvb3QoZGF0ZUlucHV0KS5hY3RpdmVFbGVtZW50
LmdldEF0dHJpYnV0ZSgicHNldWRvIiknLCAnLXdlYmtpdC1kYXRldGltZS1lZGl0LW1vbnRoLWZp
ZWxkJyk7Ci0KLWRhdGVJbnB1dC5yZW1vdmUoKTsKLTwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii4u
Ly4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgotPC9ib2R5PgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9kYXRlLW11bHRpcGxlLWZpZWxkcy9kYXRl
LW11bHRpcGxlLWZpZWxkcy1rZXlib2FyZC1ldmVudHMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvZmFzdC9mb3Jtcy9kYXRlLW11bHRpcGxlLWZpZWxkcy9kYXRlLW11bHRpcGxlLWZpZWxkcy1r
ZXlib2FyZC1ldmVudHMtZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCBkNGQzOGZlNDRlZDAwZmUwYmU1MjZkZGZkMjQ4OTNkZjRmYzE2YzMyLi4wMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMv
ZGF0ZS1tdWx0aXBsZS1maWVsZHMvZGF0ZS1tdWx0aXBsZS1maWVsZHMta2V5Ym9hcmQtZXZlbnRz
LWV4cGVjdGVkLnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDcxICswLDAgQEAKLU11bHRpcGxlIGZp
ZWxkcyBVSSBvZiBtb250aCBpbnB1dCB0eXBlIHdpdGgga2V5Ym9hcmQgZXZlbnRzCi0KLU9uIHN1
Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2Vk
IGJ5ICJURVNUIENPTVBMRVRFIi4KLQotCi1QbGVhc2UgcnVuIHRoaXMgd2l0aCBEdW1wUmVuZGVy
VHJlZS4KLQotVGVzdCBmb2xsb3dpbmcga2V5czoKLURpZ2l0cwotTGVmdC9SaWdodCAtIE1vdmUg
Zm9jdXMgZmllbGQgaW5zaWRlIGVsZW1lbnQKLVVwL0Rvd24gLSBJbmNyZW1lbnQvZGVjcmVtZW50
IHZhbHVlIG9mIGZvY3VzIGZpZWxkCi1UYWIgLSBNb3ZlIGZvY3VzIGZpZWxkCi1CYWNrc3BhY2Ug
LSBNYWtlIHZhbHVlIGVtcHR5Ci0gIAotPT0gRGlnaXQga2V5cyA9PQotUEFTUyBpbnB1dC52YWx1
ZSBpcyAiMDAxMi0wOS0yMCIKLT09IERpZ2l0IGtleXMgc3RhcnRpbmcgd2l0aCB6ZXJvID09Ci1Q
QVNTIGlucHV0LnZhbHVlIGlzICIwMDQ0LTAyLTAzIgotPT0gRGlnaXQga2V5cyBhbmQgYmFja3Nw
YWNlIGtleSA9PQotUEFTUyBpbnB1dC52YWx1ZSBpcyAiMDAwOC0wNS0wNiIKLT09IExlZnQvUmln
aHQga2V5cyA9PQotUEFTUyBpbnB1dC52YWx1ZSBpcyAiMjAxMi0wOS0wNiIKLVBBU1MgZG9jdW1l
bnQuYWN0aXZlRWxlbWVudC5pZCBpcyAiaW5wdXQiCi09PSBVcC9Eb3duIGtleXMgPT0KLVBBU1Mg
aW5wdXQudmFsdWUgaXMgIjIwMTItMTAtMjkiCi1QQVNTIGlucHV0LnZhbHVlIGlzICIyMDEyLTA4
LTI5IgotPT0gVXAvRG93biBrZXlzIG9uIGVtcHR5IHZhbHVlID09Ci1QQVNTIGlucHV0LnZhbHVl
IGlzIGN1cnJlbnRZZWFyICsgIi0xMS0wMSIKLT09IFVwL0Rvd24ga2V5cyBvbiBlbXB0eSB2YWx1
ZSAyID09Ci1QQVNTIGlucHV0LnZhbHVlIGlzIGN1cnJlbnRZZWFyICsgIi0wMi0yOCIKLT09IFRh
YiBrZXkgPT0KLVBBU1MgaW5wdXQudmFsdWUgaXMgIjIwMTItMDktMDUiCi1QQVNTIGlucHV0LnZh
bHVlIGlzICIyMDEyLTA5LTA3IgotUEFTUyBkb2N1bWVudC5hY3RpdmVFbGVtZW50LmlkIGlzICJh
ZnRlciIKLT09IFNoZml0K1RhYiBrZXkgPT0KLVBBU1MgaW5wdXQudmFsdWUgaXMgIjAwMDMtMDkt
MzAiCi1QQVNTIGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQuaWQgaXMgImJlZm9yZSIKLT09IFVwIGtl
eSBvbiBtYXhpbXVtIHZhbHVlID09Ci1QQVNTIGlucHV0LnZhbHVlIGlzICIwMDAxLTEwLTE0Igot
PT0gVXAga2V5IHdpdGggYSBtYXhpbXVtIGF0dHJpYnV0ZSA9PQotUEFTUyBpbnB1dC52YWx1ZSBp
cyAiMTAwMC0wMS0wMSIKLT09IERvd24ga2V5IG9uIG1pbmltdW0gdmFsdWUgPT0KLVBBU1MgaW5w
dXQudmFsdWUgaXMgIiIKLT09IERvd24ga2V5IHdpdGggYSBtaW5pbXVtIGF0dHJpYnV0ZSA9PQot
UEFTUyBpbnB1dC52YWx1ZSBpcyAiIgotPT0gSW5jb25zaXN0ZW50IG1pbi1tYXggYXR0cmlidXRl
cyA9PQotUEFTUyBpbnB1dC52YWx1ZSBpcyAiMTAwMC0xMi0zMSIKLVBBU1MgaW5wdXQudmFsdWUg
aXMgIjE5OTktMTItMzEiCi09PSBNYWtlIGFuIGludmFsaWQgZGF0ZSA9PQotUEFTUyBpbnB1dC52
YWx1ZSBpcyAiIgotPT0gQmFja3NwYWNlIGtleSA9PQotUEFTUyBpbnB1dC52YWx1ZSBpcyAiIgot
PT0gRGVsZXRlIGtleSA9PQotUEFTUyBpbnB1dC52YWx1ZSBpcyAiIgotPT0gVHlwZWFoZWFkID09
Ci1QQVNTIGlucHV0LnZhbHVlIGlzICIyMDEyLTEyLTAxIgotUEFTUyBpbnB1dC52YWx1ZSBpcyAi
MjAxMi0xMi0wMiIKLT09IFJUTCBmb2N1cyBuYXZpZ2F0aW9uID09Ci1UaGUgdGVzdHMgaW4gdGhp
cyBibG9jayBmYWlsIG9uIHBsYXRmb3JtcyB3aXRob3V0IHRoZSBsYW5nLWF0dHJpYnV0ZS1hd2Fy
ZS1mb3JtLWNvbnRyb2wtVUkgZmVhdHVyZS4KLVBBU1MgaW5wdXQudmFsdWUgaXMgIjIwMTItMDkt
MDEiCi1QQVNTIGlucHV0LnZhbHVlIGlzICIyMDEyLTAyLTAxIgotUEFTUyBpbnB1dC52YWx1ZSBp
cyAiMjAxMi0wMy0wMSIKLT09IERpc2FibGVkL3JlYWRvbmx5ID09Ci1QQVNTIGlucHV0LnZhbHVl
IGlzICIyMDEyLTEwLTA4IgotUEFTUyBpbnB1dC52YWx1ZSBpcyAiMjAxMi0xMS0wOCIKLVBBU1Mg
aW5wdXQudmFsdWUgaXMgIjIwMTItMTEtMDgiCi1QQVNTIGlucHV0LnZhbHVlIGlzICIyMDEyLTEy
LTA4IgotUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQotCi1URVNUIENPTVBMRVRFCi0K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvZGF0ZS1tdWx0aXBsZS1maWVsZHMv
ZGF0ZS1tdWx0aXBsZS1maWVsZHMta2V5Ym9hcmQtZXZlbnRzLmh0bWwgYi9MYXlvdXRUZXN0cy9m
YXN0L2Zvcm1zL2RhdGUtbXVsdGlwbGUtZmllbGRzL2RhdGUtbXVsdGlwbGUtZmllbGRzLWtleWJv
YXJkLWV2ZW50cy5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAyOWNlYjUyMmRj
M2Q2MmQzMmU3YzI3YWJhYjVhYWZjMGJhZjdlMWFmLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvZGF0ZS1tdWx0aXBs
ZS1maWVsZHMvZGF0ZS1tdWx0aXBsZS1maWVsZHMta2V5Ym9hcmQtZXZlbnRzLmh0bWwKKysrIC9k
ZXYvbnVsbApAQCAtMSwyNTEgKzAsMCBAQAotPCFET0NUWVBFIGh0bWw+Ci08aHRtbD4KLTxoZWFk
PgotPHNjcmlwdCBzcmM9Ii4uLy4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3Jp
cHQ+Ci08L2hlYWQ+Ci08Ym9keT4KLTxwIGlkPSJkZXNjcmlwdGlvbiI+PC9wPgotPHA+Ci1QbGVh
c2UgcnVuIHRoaXMgd2l0aCBEdW1wUmVuZGVyVHJlZS4KLTwvcD4KLVRlc3QgZm9sbG93aW5nIGtl
eXM6Ci08dWw+Ci0gICAgPGxpPkRpZ2l0czwvbGk+Ci0gICAgPGxpPkxlZnQvUmlnaHQgLSBNb3Zl
IGZvY3VzIGZpZWxkIGluc2lkZSBlbGVtZW50PC9saT4KLSAgICA8bGk+VXAvRG93biAtIEluY3Jl
bWVudC9kZWNyZW1lbnQgdmFsdWUgb2YgZm9jdXMgZmllbGQ8L2xpPgotICAgIDxsaT5UYWIgLSBN
b3ZlIGZvY3VzIGZpZWxkPC9saT4KLSAgICA8bGk+QmFja3NwYWNlIC0gTWFrZSB2YWx1ZSBlbXB0
eTwvbGk+Ci08L3VsPgotPGlucHV0IGlkPSJiZWZvcmUiPgotPGlucHV0IGlkPSJpbnB1dCIgdHlw
ZT0iZGF0ZSI+Ci08aW5wdXQgaWQ9ImFmdGVyIj4KLTxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgot
PHNjcmlwdD4KLWRlc2NyaXB0aW9uKCdNdWx0aXBsZSBmaWVsZHMgVUkgb2YgbW9udGggaW5wdXQg
dHlwZSB3aXRoIGtleWJvYXJkIGV2ZW50cycpOwotaWYgKHdpbmRvdy5pbnRlcm5hbHMpCi0gICAg
aW50ZXJuYWxzLnNldHRpbmdzLnNldExhbmdBdHRyaWJ1dGVBd2FyZUZvcm1Db250cm9sVUlFbmFi
bGVkKHRydWUpOwotdmFyIGlucHV0ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2lucHV0Jyk7
Ci0KLWZ1bmN0aW9uIGtleURvd24oa2V5LCBtb2RpZmllcnMpCi17Ci0gICAgaWYgKCF3aW5kb3cu
ZXZlbnRTZW5kZXIpCi0gICAgICAgIHJldHVybjsKLSAgICBldmVudFNlbmRlci5rZXlEb3duKGtl
eSwgbW9kaWZpZXJzKTsKLX0KLQotZnVuY3Rpb24gYmVnaW5UZXN0KHRpdGxlLCBvcHRfdmFsdWUs
IG9wdF9taW4sIG9wdF9tYXgpCi17Ci0gICAgZGVidWcoJz09ICcgKyB0aXRsZSArICcgPT0nKTsK
LSAgICBpbnB1dC52YWx1ZSA9IG9wdF92YWx1ZSB8fCAnJzsKLSAgICBpbnB1dC5taW4gPSBvcHRf
bWluID8gb3B0X21pbiA6ICcnOwotICAgIGlucHV0Lm1heCA9IG9wdF9tYXggPyBvcHRfbWF4IDog
Jyc7Ci0gICAgaW5wdXQuYmx1cigpOwotICAgIGlucHV0LmZvY3VzKCk7Ci19Ci0KLS8vIFdlIGFz
c3VtZSB0aGUgZGF0ZSBmb3JtYXQgaXMgTU0vZGQveXl5eS4KLQotYmVnaW5UZXN0KCdEaWdpdCBr
ZXlzJyk7Ci1rZXlEb3duKCc5Jyk7IC8vIC0+IDA5L1tkZF0veXl5eQota2V5RG93bignMicpOyAv
LyAtPiAwOS9bMDJdL3l5eXkKLWtleURvd24oJzAnKTsgLy8gLT4gMDkvMjAvW3l5eXldCi1rZXlE
b3duKCcxJyk7IC8vIC0+IDA5LzIwL1swMDAxXQota2V5RG93bignMicpOyAvLyAtPiAwOS8yMC9b
MDAxMl0KLWtleURvd24oJ0EnKTsgLy8gSWdub3JlZC4KLXNob3VsZEJlRXF1YWxUb1N0cmluZygn
aW5wdXQudmFsdWUnLCAnMDAxMi0wOS0yMCcpOwotCi1iZWdpblRlc3QoJ0RpZ2l0IGtleXMgc3Rh
cnRpbmcgd2l0aCB6ZXJvJyk7Ci1rZXlEb3duKCcwJyk7IC8vIC0+IFswMF0vZGQveXl5eQota2V5
RG93bignMicpOyAvLyAtPiAwMi9bZGRdL3l5eXkKLWtleURvd24oJzAnKTsgLy8gLT4gMDIvWzAw
XS95eXl5Ci1rZXlEb3duKCczJyk7IC8vIC0+IDAyLzAzL1t5eXl5XQota2V5RG93bignMCcpOyAv
LyAtPiAwMi8wMy9bMDAwMF0KLWtleURvd24oJzAnKTsgLy8gLT4gMDIvMDMvWzAwMDBdCi1rZXlE
b3duKCcwJyk7IC8vIC0+IDAyLzAzL1swMDAwXQota2V5RG93bignNCcpOyAvLyAtPiAwMi8wMy9b
MDAwNF0KLWtleURvd24oJzQnKTsgLy8gLT4gMDIvMDMvWzAwNDRdCi1zaG91bGRCZUVxdWFsVG9T
dHJpbmcoJ2lucHV0LnZhbHVlJywgJzAwNDQtMDItMDMnKTsKLQotYmVnaW5UZXN0KCdEaWdpdCBr
ZXlzIGFuZCBiYWNrc3BhY2Uga2V5Jyk7Ci1rZXlEb3duKCcxJyk7IC8vIC0+IFswMV0vZGQveXl5
eQota2V5RG93bigiXGIiKTsgLy8gLT4gW21tXS8yMC8yMDEyCi1rZXlEb3duKCc1Jyk7IC8vIC0+
IDA1L1tkZF0veXl5eQota2V5RG93bignNicpOyAvLyAtPiAwNS8wNi9beXl5eV0KLWtleURvd24o
IlxiIik7IC8vIC0+IDA1LzA2L1t5eXl5XQota2V5RG93bignNycpOyAvLyAtPiAwNS8wNi9bMDAw
N10KLWtleURvd24oIlxiIik7IC8vIC0+IDA1LzA2L1t5eXl5XQota2V5RG93bignOCcpOyAvLyAt
PiAwNS8wNi9bMDAwOF0KLXNob3VsZEJlRXF1YWxUb1N0cmluZygnaW5wdXQudmFsdWUnLCAnMDAw
OC0wNS0wNicpOwotCi0vLyBGSVhNRTogV2Ugc2hvdWxkIHRlc3QgdHlwZSBhaGVhZCB0aW1lIG91
dC4gV2hlbiBldmVudC5sZWFwRm9yd2FyZCgpIGFmZmVjdHMKLS8vIGtleWJvYXJkIGV2ZW50IHRp
bWUgc3RhbXAsIHdlIGNhbiB1bmNvbW1lbnQgdGhpcyBmcmFnbWVudC4KLS8qCi1iZWdpblRlc3Qo
J0RpZ2l0IGtleXMgd2l0aCB0eXBlIGFoZWFkIHRpbWVvdXQnKTsKLWtleURvd24oJzEnKTsgLy8g
LT4gWzAxXS9kZC95eXl5Ci1sZWFwRm9yd2FyZCgxMTAwKTsgLy8gLT4gMDEvW2RkXS95eXl5Ci1r
ZXlEb3duKCcxJyk7IC8vIC0+IDAxL1swMV0veXl5eQota2V5RG93bignNScpOyAvLyAtPiAwMS8x
NS9beXl5eV0KLWtleURvd24oJzYnKTsgLy8gLT4gMDEvMTUvWzAwMDZdCi1zaG91bGRCZUVxdWFs
VG9TdHJpbmcoJ2lucHV0LnZhbHVlJywgJzAwMDYtMDEtMTUnKTsKLSovCi0KLWJlZ2luVGVzdCgn
TGVmdC9SaWdodCBrZXlzJywgJzIwMTItMDktMjknKTsKLWtleURvd24oJ3JpZ2h0QXJyb3cnKTsg
Ly8gLT4gMDkvWzI5XS8yMDEyCi1rZXlEb3duKCc1Jyk7IC8vIC0+IDA5LzA1L1syMDEyXQota2V5
RG93bignbGVmdEFycm93Jyk7IC8vIC0+IDA5L1swNV0vMjAxMgota2V5RG93bignNicpOyAvLyAt
PiAwOS8wNi9bMjAxMl0KLXNob3VsZEJlRXF1YWxUb1N0cmluZygnaW5wdXQudmFsdWUnLCAnMjAx
Mi0wOS0wNicpOwota2V5RG93bignbGVmdEFycm93Jyk7IC8vIC0+IDA5L1swNl0vMjAxMgota2V5
RG93bignbGVmdEFycm93Jyk7IC8vIC0+IFswOV0vMDYvMjAxMgota2V5RG93bignbGVmdEFycm93
Jyk7IC8vIC0+IFswOV0vMDYvMjAxMgotc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdkb2N1bWVudC5h
Y3RpdmVFbGVtZW50LmlkJywgJ2lucHV0Jyk7Ci0KLWJlZ2luVGVzdCgnVXAvRG93biBrZXlzJywg
JzIwMTItMDktMjknKTsKLWtleURvd24oJ3VwQXJyb3cnKTsgLy8gLT4gWzEwXS8yOS8yMDEyCi1z
aG91bGRCZUVxdWFsVG9TdHJpbmcoJ2lucHV0LnZhbHVlJywgJzIwMTItMTAtMjknKTsKLWtleURv
d24oJ2Rvd25BcnJvdycpOyAvLyAtPiBbMDldLzI5LzIwMTIKLWtleURvd24oJ2Rvd25BcnJvdycp
OyAvLyAtPiBbMDhdLzI5LzIwMTIKLXNob3VsZEJlRXF1YWxUb1N0cmluZygnaW5wdXQudmFsdWUn
LCAnMjAxMi0wOC0yOScpOwotCi1iZWdpblRlc3QoJ1VwL0Rvd24ga2V5cyBvbiBlbXB0eSB2YWx1
ZScpOwota2V5RG93bignZG93bkFycm93Jyk7IC8vICAtPiBbMTJdL2RkL3l5eXkKLWtleURvd24o
J2Rvd25BcnJvdycpOyAvLyAgLT4gWzExXS9kZC95eXl5Ci1rZXlEb3duKCdyaWdodEFycm93Jyk7
IC8vIC0+IDExL1tkZF0veXl5eQota2V5RG93bigndXBBcnJvdycpOyAvLyAgICAtPiAxMS9bMDFd
L3l5eXkKLWtleURvd24oJ3VwQXJyb3cnKTsgLy8gICAgLT4gMTEvWzAyXS95eXl5Ci1rZXlEb3du
KCdkb3duQXJyb3cnKTsgLy8gIC0+IDExL1swMV0veXl5eQota2V5RG93bigncmlnaHRBcnJvdycp
OyAvLyAtPiAxMS8wMS9beXl5eV0KLXZhciBjdXJyZW50WWVhciA9IG5ldyBEYXRlKCkuZ2V0RnVs
bFllYXIoKTsKLWtleURvd24oJ3VwQXJyb3cnKTsgLy8gLT4gMTEvMDEvW2N1cnJlbnQgeWVhcl0K
LXNob3VsZEJlKCdpbnB1dC52YWx1ZScsICdjdXJyZW50WWVhciArICItMTEtMDEiJyk7Ci0KLWJl
Z2luVGVzdCgnVXAvRG93biBrZXlzIG9uIGVtcHR5IHZhbHVlIDInKTsKLWtleURvd24oJ3VwQXJy
b3cnKTsgLy8gICAgLT4gWzAxXS9kZC95eXl5Ci1rZXlEb3duKCd1cEFycm93Jyk7IC8vICAgIC0+
IFswMl0vZGQveXl5eQota2V5RG93bigncmlnaHRBcnJvdycpOyAvLyAtPiAwMi9bZGRdL3l5eXkK
LWtleURvd24oJ2Rvd25BcnJvdycpOyAvLyAgLT4gMDIvWzMxXS95eXl5Ci1rZXlEb3duKCdkb3du
QXJyb3cnKTsgLy8gIC0+IDAyL1szMF0veXl5eQota2V5RG93bignZG93bkFycm93Jyk7IC8vICAt
PiAwMi9bMjldL3l5eXkKLWtleURvd24oJ2Rvd25BcnJvdycpOyAvLyAgLT4gMDIvWzI4XS95eXl5
Ci1rZXlEb3duKCdyaWdodEFycm93Jyk7IC8vIC0+IDAyLzI4L1t5eXl5XQotY3VycmVudFllYXIg
PSBuZXcgRGF0ZSgpLmdldEZ1bGxZZWFyKCk7Ci1rZXlEb3duKCdkb3duQXJyb3cnKTsgLy8gLT4g
MDIvMjgvW2N1cnJlbnQgeWVhcl0KLXNob3VsZEJlKCdpbnB1dC52YWx1ZScsICdjdXJyZW50WWVh
ciArICItMDItMjgiJyk7Ci0KLWJlZ2luVGVzdCgnVGFiIGtleScsICcyMDEyLTA5LTMwJyk7Ci1r
ZXlEb3duKCdcdCcpOyAvLyAtPiAwOS9bMzBdLzIwMTIKLWtleURvd24oJzUnKTsgLy8gLT4gMDkv
MDUvWzIwMTJdCi1zaG91bGRCZUVxdWFsVG9TdHJpbmcoJ2lucHV0LnZhbHVlJywgJzIwMTItMDkt
MDUnKTsKLWtleURvd24oJ1x0JywgWydzaGlmdEtleSddKTsgLy8gLT4gMDkvWzA1XS8yMDEyCi1r
ZXlEb3duKCc3Jyk7IC8vIC0+IDA5LzA3L1syMDEyXQotc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdp
bnB1dC52YWx1ZScsICcyMDEyLTA5LTA3Jyk7Ci1rZXlEb3duKCdcdCcpOyAvLyAtPiBGb2N1cyBv
dXQuCi1zaG91bGRCZUVxdWFsVG9TdHJpbmcoJ2RvY3VtZW50LmFjdGl2ZUVsZW1lbnQuaWQnLCAn
YWZ0ZXInKTsKLQotYmVnaW5UZXN0KCdTaGZpdCtUYWIga2V5JywgJzIwMTItMDktMzAnKTsKLWFm
dGVyLmZvY3VzKCk7Ci1rZXlEb3duKCdcdCcsIFsnc2hpZnRLZXknXSk7IC8vIC0+IDA5LzMwL1t5
eXl5XQota2V5RG93bignMycpOyAvLyAtPiAwOS8zMC9bMDAwM10KLXNob3VsZEJlRXF1YWxUb1N0
cmluZygnaW5wdXQudmFsdWUnLCAnMDAwMy0wOS0zMCcpOwota2V5RG93bignXHQnLCBbJ3NoaWZ0
S2V5J10pOyAvLyAtPiAwOS9bMzBdLzAwMDMKLWtleURvd24oJ1x0JywgWydzaGlmdEtleSddKTsg
Ly8gLT4gWzA5XS8zMC8wMDAzCi1rZXlEb3duKCdcdCcsIFsnc2hpZnRLZXknXSk7IC8vIC0+IEZv
Y3VzIG91dC4KLXNob3VsZEJlRXF1YWxUb1N0cmluZygnZG9jdW1lbnQuYWN0aXZlRWxlbWVudC5p
ZCcsICdiZWZvcmUnKTsKLQotYmVnaW5UZXN0KCdVcCBrZXkgb24gbWF4aW11bSB2YWx1ZScsICcy
NzU3NjAtMDktMTMnKTsKLWtleURvd24oJ3VwQXJyb3cnKTsgLy8gLT4gWzEwXS8xMy8yNzU3NjAK
LWtleURvd24oJ1x0Jyk7IC8vICAgICAgLT4gMTAvWzEzXS8yNzU3NjAKLWtleURvd24oJ3VwQXJy
b3cnKTsgLy8gLT4gMTAvWzE0XS8yNzU3NjAKLWtleURvd24oJ1x0Jyk7IC8vICAgICAgLT4gMTAv
MTQvWzI3NTc2MF0KLWtleURvd24oJ3VwQXJyb3cnKTsgLy8gLT4gMTAvMTQvWzAwMDFdCi1zaG91
bGRCZUVxdWFsVG9TdHJpbmcoJ2lucHV0LnZhbHVlJywgJzAwMDEtMTAtMTQnKTsKLWJlZ2luVGVz
dCgnVXAga2V5IHdpdGggYSBtYXhpbXVtIGF0dHJpYnV0ZScsICcxOTk5LTEyLTMxJywgJzEwMDAt
MDEtMDEnLCAnMTk5OS0xMi0zMScpOwota2V5RG93bigndXBBcnJvdycpOyAvLyAtPiBbMDFdLzMx
LzE5OTkKLWtleURvd24oJ1x0Jyk7IC8vICAgICAgLT4gMDEvWzMxXS8xOTk5Ci1rZXlEb3duKCd1
cEFycm93Jyk7IC8vIC0+IDAxL1swMV0vMTk5OQota2V5RG93bignXHQnKTsgLy8gICAgICAtPiAw
MS8wMS9bMTk5OV0KLWtleURvd24oJ3VwQXJyb3cnKTsgLy8gLT4gMDEvMDEvWzEwMDBdCi1zaG91
bGRCZUVxdWFsVG9TdHJpbmcoJ2lucHV0LnZhbHVlJywgJzEwMDAtMDEtMDEnKTsKLQotYmVnaW5U
ZXN0KCdEb3duIGtleSBvbiBtaW5pbXVtIHZhbHVlJywgJzAwMDEtMDEtMDEnLCAnYmFkIG1pbics
ICd3cm9uZyBtYXgnKTsKLWtleURvd24oJ2Rvd25BcnJvdycpOyAvLyAtPiBbMTJdLzAxLzAwMDEK
LWtleURvd24oJ1x0Jyk7IC8vICAgICAgICAtPiAxMi9bMDFdLzAwMDEKLWtleURvd24oJ2Rvd25B
cnJvdycpOyAvLyAtPiAxMi9bMzFdLzAwMDEKLWtleURvd24oJ1x0Jyk7IC8vICAgICAgICAtPiAx
Mi8zMS9bMDAwMV0KLWtleURvd24oJ2Rvd25BcnJvdycpOyAvLyAtPiAxMi8zMS9bMjc1NzYwXSwg
d2hpY2ggaXMgZ3JlYXRlciB0aGFuIHRoZSBoYXJkIGxpbWl0Lgotc2hvdWxkQmVFcXVhbFRvU3Ry
aW5nKCdpbnB1dC52YWx1ZScsICcnKTsKLWJlZ2luVGVzdCgnRG93biBrZXkgd2l0aCBhIG1pbmlt
dW0gYXR0cmlidXRlJywgJzEwMDAtMDEtMDEnLCAnMTAwMC0wMS0wMScpOwota2V5RG93bignZG93
bkFycm93Jyk7IC8vIC0+IFsxMl0vMDEvMTAwMAota2V5RG93bignXHQnKTsgLy8gICAgICAgIC0+
IDEyL1swMV0vMTAwMAota2V5RG93bignZG93bkFycm93Jyk7IC8vIC0+IDEyL1szMV0vMTAwMAot
a2V5RG93bignXHQnKTsgLy8gICAgICAgIC0+IDEyLzMxL1sxMDAwXQota2V5RG93bignZG93bkFy
cm93Jyk7IC8vIC0+IDEyLzMxLzI3NTc2MCwgd2hpY2ggaXMgZ3JlYXRlciB0aGFuIHRoZSBoYXJk
IGxpbWl0Lgotc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdpbnB1dC52YWx1ZScsICcnKTsKLQotYmVn
aW5UZXN0KCdJbmNvbnNpc3RlbnQgbWluLW1heCBhdHRyaWJ1dGVzJywgJzE5OTktMTItMzEnLCAn
MTk5OS0xMi0zMScsICcxMDAwLTAxLTAxJyk7Ci1rZXlEb3duKCdcdCcpOyAvLyAtPiAxMi9bMzFd
LzE5OTkKLWtleURvd24oJ1x0Jyk7IC8vIC0+IDEyLzMxL1sxOTk5XQota2V5RG93bigndXBBcnJv
dycpOyAvLyAtPiAxMi8zMS9bMTAwMF0uICAxMDAwIGlzIHRoZSBzd2FwcGVkIG1pbmltdW0geWVh
ci4KLXNob3VsZEJlRXF1YWxUb1N0cmluZygnaW5wdXQudmFsdWUnLCAnMTAwMC0xMi0zMScpOwot
a2V5RG93bignZG93bkFycm93Jyk7IC8vIC0+IDEyLzMxL1sxOTk5XQotc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCdpbnB1dC52YWx1ZScsICcxOTk5LTEyLTMxJyk7Ci0KLWJlZ2luVGVzdCgnTWFrZSBh
biBpbnZhbGlkIGRhdGUnLCAnMjAxMi0wMi0wMScpOwota2V5RG93bignXHQnKTsgLy8gICAgICAg
IC0+IDAyL1swMV0vMjAxMgota2V5RG93bignZG93bkFycm93Jyk7IC8vIC0+IDAyL1szMV0vMjAx
Mgotc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdpbnB1dC52YWx1ZScsICcnKTsgLy8gMjAxMi0wMi0z
MSBpcyBub3QgYSB2YWxpZCBkYXRlLgotCi1iZWdpblRlc3QoJ0JhY2tzcGFjZSBrZXknLCAnMjAx
Mi0wOS0yMCcpOwota2V5RG93bigiXGIiKTsgLy8gLT4gW21tXS8yMC8yMDEyCi1zaG91bGRCZUVx
dWFsVG9TdHJpbmcoJ2lucHV0LnZhbHVlJywgJycpOwotCi1iZWdpblRlc3QoJ0RlbGV0ZSBrZXkn
LCAnMjAxMi0wOS0zMCcpOwota2V5RG93bigiZGVsZXRlIik7IC8vIC0+IFttbV0vMzAvMjAxMgot
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdpbnB1dC52YWx1ZScsICcnKTsKLQotYmVnaW5UZXN0KCdU
eXBlYWhlYWQnLCAnMjAxMi0xMi0zMScpOwota2V5RG93bigncmlnaHRBcnJvdycpOyAvLyAtPiAx
Mi9bMzFdLzIwMTIKLWtleURvd24oJzEnKTsgLy8gICAgICAgICAgLT4gMTIvWzAxXS8yMDEyCi1z
aG91bGRCZUVxdWFsVG9TdHJpbmcoJ2lucHV0LnZhbHVlJywgJzIwMTItMTItMDEnKTsKLWtleURv
d24oJ2xlZnRBcnJvdycpOyAvLyAgLT4gWzEyXS8wMS8yMDEyCi1rZXlEb3duKCdyaWdodEFycm93
Jyk7IC8vIC0+IDEyL1swMV0vMjAxMgota2V5RG93bignMicpOyAvLyAgICAgICAgICAtPiAxMi9b
MDJdLzIwMTIKLXNob3VsZEJlRXF1YWxUb1N0cmluZygnaW5wdXQudmFsdWUnLCAnMjAxMi0xMi0w
MicpOwotCi1pbnB1dC5zZXRBdHRyaWJ1dGUoImxhbmciLCAiaGUtaWwiKTsKLWJlZ2luVGVzdCgn
UlRMIGZvY3VzIG5hdmlnYXRpb24nLCAnMjAxMi0wOS0yOCcpOwotZGVidWcoJ1RoZSB0ZXN0cyBp
biB0aGlzIGJsb2NrIGZhaWwgb24gcGxhdGZvcm1zIHdpdGhvdXQgdGhlIGxhbmctYXR0cmlidXRl
LWF3YXJlLWZvcm0tY29udHJvbC1VSSBmZWF0dXJlLicpOwotLy8gQm90aCBvZiB0aGUgbG9naWNh
bCBvcmRlciBhbmQgdmlzdWFsIG9yZGVyIGFyZTogZGQvTU0veXl5eQotLy8gSW5pdGlhbCBzdGF0
ZTogICAgICAgICAgICBbMjhdLzA5LzIwMTIKLWtleURvd24oJ3VwQXJyb3cnKTsgLy8gICAgLT4g
WzI5XS8wOS8yMDEyCi1rZXlEb3duKCdyaWdodEFycm93Jyk7IC8vIC0+IFswMV0vMDkvMjAxMgot
a2V5RG93bignMScpOyAvLyAgICAgICAgICAtPiBbMDFdLzA5LzIwMTIKLXNob3VsZEJlRXF1YWxU
b1N0cmluZygnaW5wdXQudmFsdWUnLCAnMjAxMi0wOS0wMScpOwota2V5RG93bignXHQnKTsgLy8g
ICAgICAgICAtPiAwMS9bMDldLzIwMTIKLWtleURvd24oJzInKTsgLy8gICAgICAgICAgLT4gMDEv
MDIvWzIwMTJdCi1zaG91bGRCZUVxdWFsVG9TdHJpbmcoJ2lucHV0LnZhbHVlJywgJzIwMTItMDIt
MDEnKTsKLWtleURvd24oJ1x0JywgWydzaGlmdEtleSddKTsgLy8gLT4gMDEvWzAyXS8yMDEyLwot
a2V5RG93bignMycpOyAvLyAgICAgICAgICAtPiAwMS8wMy9bMjAxMl0KLXNob3VsZEJlRXF1YWxU
b1N0cmluZygnaW5wdXQudmFsdWUnLCAnMjAxMi0wMy0wMScpOwotaW5wdXQucmVtb3ZlQXR0cmli
dXRlKCJsYW5nIik7Ci0KLWJlZ2luVGVzdCgnRGlzYWJsZWQvcmVhZG9ubHknLCAnMjAxMi0xMC0w
OCcpOwotaW5wdXQuZGlzYWJsZWQgPSB0cnVlOwota2V5RG93bigndXBBcnJvdycpOyAvLyAxMC8w
OC8yMDEyCi1zaG91bGRCZUVxdWFsVG9TdHJpbmcoJ2lucHV0LnZhbHVlJywgJzIwMTItMTAtMDgn
KTsKLWlucHV0LmRpc2FibGVkID0gZmFsc2U7Ci1pbnB1dC5mb2N1cygpOwota2V5RG93bigndXBB
cnJvdycpOyAvLyBbMTFdLzA4LzIwMTIKLXNob3VsZEJlRXF1YWxUb1N0cmluZygnaW5wdXQudmFs
dWUnLCAnMjAxMi0xMS0wOCcpOwotaW5wdXQucmVhZE9ubHkgPSB0cnVlOwota2V5RG93bigndXBB
cnJvdycpOyAvLyAxMS8wOC8yMDEyCi1zaG91bGRCZUVxdWFsVG9TdHJpbmcoJ2lucHV0LnZhbHVl
JywgJzIwMTItMTEtMDgnKTsKLWlucHV0LnJlYWRPbmx5ID0gZmFsc2U7Ci1pbnB1dC5mb2N1cygp
Owota2V5RG93bigndXBBcnJvdycpOyAvLyBbMTJdLzA4LzIwMTIKLXNob3VsZEJlRXF1YWxUb1N0
cmluZygnaW5wdXQudmFsdWUnLCAnMjAxMi0xMi0wOCcpOwotCi08L3NjcmlwdD4KLTxzY3JpcHQg
c3JjPSIuLi8uLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KLTwvYm9k
eT4KLTwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvZGF0ZS1tdWx0
aXBsZS1maWVsZHMvZGF0ZS1tdWx0aXBsZS1maWVsZHMtbW91c2UtZXZlbnRzLWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvZGF0ZS1tdWx0aXBsZS1maWVsZHMvZGF0ZS1tdWx0
aXBsZS1maWVsZHMtbW91c2UtZXZlbnRzLWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggY2FmM2E2NzBjMWY1Zjc2OTI5YTdiNmIzMTIyYTUxOWI5N2ViZTBiOS4uMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9m
YXN0L2Zvcm1zL2RhdGUtbXVsdGlwbGUtZmllbGRzL2RhdGUtbXVsdGlwbGUtZmllbGRzLW1vdXNl
LWV2ZW50cy1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSw0NCArMCwwIEBACi1NdWx0
aXBsZSBmaWVsZHMgVUkgb2YgZGF0ZSBpbnB1dCB0eXBlIHdpdGggbW91c2UgZXZlbnRzCi0KLU9u
IHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxv
d2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KLQotCi1QbGVhc2UgcnVuIHRoaXMgd2l0aCBEUlQgb3Ig
V1RSLgotCi1UZXN0IGZvbGxvd2luZyBtb3VzZSBhY3Rpb25zOgotTW91c2UgY2xpY2sgdG8gZm9j
dXMgZWFjaCBvZiBzdWItZmllbGRzCi1Nb3VzZSBjbGljayBvbiB0aGUgc3BpbiBidXR0b24gdG8g
dXBkYXRlIGVhY2ggb2Ygc3ViLWZpZWxkcwotCi09PT4gRm9jdXMgb24gdGhlIG1vbnRoIGZpZWxk
LgotUEFTUyBpbnB1dC52YWx1ZSBpcyAiMjM0NS0wOC0xOSIKLVBBU1MgaW5wdXQudmFsdWUgaXMg
IjIzNDUtMDktMTkiCi1QQVNTIGlucHV0LnZhbHVlIGlzICIyMzQ1LTA4LTE5IgotUEFTUyB3aW5k
b3cuZ2V0U2VsZWN0aW9uKCkucmFuZ2VDb3VudCBpcyAwCi0KLT09PiBGb2N1cyBvbiB0aGUgZGF5
IGZpZWxkLgotUEFTUyBpbnB1dC52YWx1ZSBpcyAiMjM0NS0wOC0yMCIKLVBBU1MgaW5wdXQudmFs
dWUgaXMgIjIzNDUtMDgtMjEiCi1QQVNTIGlucHV0LnZhbHVlIGlzICIyMzQ1LTA4LTIwIgotUEFT
UyB3aW5kb3cuZ2V0U2VsZWN0aW9uKCkucmFuZ2VDb3VudCBpcyAwCi0KLT09PiBGb2N1cyBvbiB0
aGUgeWVhciBmaWVsZC4KLVBBU1MgaW5wdXQudmFsdWUgaXMgIjIzNDYtMDgtMjAiCi1QQVNTIGlu
cHV0LnZhbHVlIGlzICIyMzQ3LTA4LTIwIgotUEFTUyBpbnB1dC52YWx1ZSBpcyAiMjM0Ni0wOC0y
MCIKLVBBU1Mgd2luZG93LmdldFNlbGVjdGlvbigpLnJhbmdlQ291bnQgaXMgMAotCi09PT4gQ2xp
Y2sgb24gYSBkaXNhYmxlZCBmaWVsZC4KLVBBU1MgaW5wdXQudmFsdWUgaXMgIjIzNDYtMDgtMjAi
Ci0KLT09PiBDbGljayBvbiBhIHJlYWQtb25seSBmaWVsZC4KLVBBU1MgaW5wdXQudmFsdWUgaXMg
IjIzNDYtMDgtMjAiCi0KLT09PiBDbGljayBvbiBjbGVhciBidXR0b24uCi1QQVNTIGlucHV0LnZh
bHVlIGlzICIyMzQ2LTA4LTIwIgotUEFTUyBpbnB1dC52YWx1ZSBpcyAiMjM0Ni0wOC0yMCIKLVBB
U1MgaW5wdXQudmFsdWUgaXMgIiIKLQotUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQot
Ci1URVNUIENPTVBMRVRFCi0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvZGF0
ZS1tdWx0aXBsZS1maWVsZHMvZGF0ZS1tdWx0aXBsZS1maWVsZHMtbW91c2UtZXZlbnRzLmh0bWwg
Yi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2RhdGUtbXVsdGlwbGUtZmllbGRzL2RhdGUtbXVsdGlw
bGUtZmllbGRzLW1vdXNlLWV2ZW50cy5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAzZDdjYmNlMmVlNjhhMTkyMzJjNjdhYWIxNWVhYjkxOWQ2NDhkNTM1Li4wMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMv
ZGF0ZS1tdWx0aXBsZS1maWVsZHMvZGF0ZS1tdWx0aXBsZS1maWVsZHMtbW91c2UtZXZlbnRzLmh0
bWwKKysrIC9kZXYvbnVsbApAQCAtMSwxMDggKzAsMCBAQAotPCFET0NUWVBFIGh0bWw+Ci08aHRt
bD4KLTxoZWFkPgotPHNjcmlwdCBzcmM9Ii4uLy4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5q
cyI+PC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keT4KLTxwIGlkPSJkZXNjcmlwdGlvbiI+PC9wPgot
PHA+Ci1QbGVhc2UgcnVuIHRoaXMgd2l0aCBEUlQgb3IgV1RSLgotPC9wPgotVGVzdCBmb2xsb3dp
bmcgbW91c2UgYWN0aW9uczoKLTx1bD4KLSAgICA8bGk+TW91c2UgY2xpY2sgdG8gZm9jdXMgZWFj
aCBvZiBzdWItZmllbGRzPC9saT4KLSAgICA8bGk+TW91c2UgY2xpY2sgb24gdGhlIHNwaW4gYnV0
dG9uIHRvIHVwZGF0ZSBlYWNoIG9mIHN1Yi1maWVsZHM8L2xpPgotPC91bD4KLTxpbnB1dCBpZD0i
aW5wdXQiIHR5cGU9ImRhdGUiIHN0eWxlPSJmb250LWZhbWlseTphaGVtOyBmb250LXNpemU6MTZw
eDsiPgotPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Ci08c2NyaXB0PgotZGVzY3JpcHRpb24oJ011
bHRpcGxlIGZpZWxkcyBVSSBvZiBkYXRlIGlucHV0IHR5cGUgd2l0aCBtb3VzZSBldmVudHMnKTsK
LXZhciBpbnB1dCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdpbnB1dCcpOwotCi1mdW5jdGlv
biBrZXlEb3duKGtleSwgbW9kaWZpZXJzKQotewotICAgIGlmICghd2luZG93LmV2ZW50U2VuZGVy
KQotICAgICAgICByZXR1cm47Ci0gICAgZXZlbnRTZW5kZXIua2V5RG93bihrZXksIG1vZGlmaWVy
cyk7Ci19Ci0KLWZ1bmN0aW9uIG1vdXNlQ2xpY2tPbih4LCB5KQotewotICAgIGlmICghd2luZG93
LmV2ZW50U2VuZGVyKQotICAgICAgICByZXR1cm47Ci0gICAgZXZlbnRTZW5kZXIubW91c2VNb3Zl
VG8oeCArIGlucHV0Lm9mZnNldExlZnQsIHkgKyBpbnB1dC5vZmZzZXRUb3ApOwotICAgIGV2ZW50
U2VuZGVyLm1vdXNlRG93bigpOwotICAgIGV2ZW50U2VuZGVyLm1vdXNlVXAoKTsKLX0KLQotaW5w
dXQudmFsdWUgPSAnMjM0NS0wNy0xOSc7Ci12YXIgY2VudGVyID0gaW5wdXQub2Zmc2V0SGVpZ2h0
IC8gMjsKLXZhciBzcGluQnV0dG9uT2Zmc2V0ID0gMjY7Ci12YXIgY2xlYXJCdXR0b25PZmZzZXQg
PSA0MTsKLQotZGVidWcoJz09PiBGb2N1cyBvbiB0aGUgbW9udGggZmllbGQuJyk7Ci1tb3VzZUNs
aWNrT24oMTIsIGNlbnRlcik7Ci1rZXlEb3duKCd1cEFycm93Jyk7Ci1zaG91bGRCZUVxdWFsVG9T
dHJpbmcoJ2lucHV0LnZhbHVlJywgJzIzNDUtMDgtMTknKTsKLW1vdXNlQ2xpY2tPbihpbnB1dC5v
ZmZzZXRXaWR0aCAtIHNwaW5CdXR0b25PZmZzZXQsIGNlbnRlciAtIDEpOwotc2hvdWxkQmVFcXVh
bFRvU3RyaW5nKCdpbnB1dC52YWx1ZScsICcyMzQ1LTA5LTE5Jyk7Ci1tb3VzZUNsaWNrT24oaW5w
dXQub2Zmc2V0V2lkdGggLSBzcGluQnV0dG9uT2Zmc2V0LCBjZW50ZXIgKyAxKTsKLXNob3VsZEJl
RXF1YWxUb1N0cmluZygnaW5wdXQudmFsdWUnLCAnMjM0NS0wOC0xOScpOwotc2hvdWxkQmVaZXJv
KCd3aW5kb3cuZ2V0U2VsZWN0aW9uKCkucmFuZ2VDb3VudCcpOyAvLyBObyB0ZXh0IHNlbGVjdGlv
bi4KLQotZGVidWcoJycpOwotZGVidWcoJz09PiBGb2N1cyBvbiB0aGUgZGF5IGZpZWxkLicpOwot
bW91c2VDbGlja09uKDYwLCBjZW50ZXIpOwota2V5RG93bigndXBBcnJvdycpOwotc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCdpbnB1dC52YWx1ZScsICcyMzQ1LTA4LTIwJyk7Ci1tb3VzZUNsaWNrT24o
aW5wdXQub2Zmc2V0V2lkdGggLSBzcGluQnV0dG9uT2Zmc2V0LCBjZW50ZXIgLSAxKTsKLXNob3Vs
ZEJlRXF1YWxUb1N0cmluZygnaW5wdXQudmFsdWUnLCAnMjM0NS0wOC0yMScpOwotbW91c2VDbGlj
a09uKGlucHV0Lm9mZnNldFdpZHRoIC0gc3BpbkJ1dHRvbk9mZnNldCwgY2VudGVyICsgMSk7Ci1z
aG91bGRCZUVxdWFsVG9TdHJpbmcoJ2lucHV0LnZhbHVlJywgJzIzNDUtMDgtMjAnKTsKLXNob3Vs
ZEJlWmVybygnd2luZG93LmdldFNlbGVjdGlvbigpLnJhbmdlQ291bnQnKTsgLy8gTm8gdGV4dCBz
ZWxlY3Rpb24uCi0KLWRlYnVnKCcnKTsKLWRlYnVnKCc9PT4gRm9jdXMgb24gdGhlIHllYXIgZmll
bGQuJyk7Ci1tb3VzZUNsaWNrT24oaW5wdXQub2Zmc2V0V2lkdGggLSAxMTUsIGNlbnRlcik7Ci1r
ZXlEb3duKCd1cEFycm93Jyk7Ci1zaG91bGRCZUVxdWFsVG9TdHJpbmcoJ2lucHV0LnZhbHVlJywg
JzIzNDYtMDgtMjAnKTsKLW1vdXNlQ2xpY2tPbihpbnB1dC5vZmZzZXRXaWR0aCAtIHNwaW5CdXR0
b25PZmZzZXQsIGNlbnRlciAtIDEpOwotc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdpbnB1dC52YWx1
ZScsICcyMzQ3LTA4LTIwJyk7Ci1tb3VzZUNsaWNrT24oaW5wdXQub2Zmc2V0V2lkdGggLSBzcGlu
QnV0dG9uT2Zmc2V0LCBjZW50ZXIgKyAxKTsKLXNob3VsZEJlRXF1YWxUb1N0cmluZygnaW5wdXQu
dmFsdWUnLCAnMjM0Ni0wOC0yMCcpOwotc2hvdWxkQmVaZXJvKCd3aW5kb3cuZ2V0U2VsZWN0aW9u
KCkucmFuZ2VDb3VudCcpOyAvLyBObyB0ZXh0IHNlbGVjdGlvbi4KLQotZGVidWcoJycpOwotZGVi
dWcoJz09PiBDbGljayBvbiBhIGRpc2FibGVkIGZpZWxkLicpOwotaW5wdXQuZGlzYWJsZWQgPSB0
cnVlOwotbW91c2VDbGlja09uKDEyLCBjZW50ZXIpOwota2V5RG93bigndXBBcnJvdycpOwotc2hv
dWxkQmVFcXVhbFRvU3RyaW5nKCdpbnB1dC52YWx1ZScsICcyMzQ2LTA4LTIwJyk7Ci1pbnB1dC5k
aXNhYmxlZCA9IGZhbHNlOwotCi1kZWJ1ZygnJyk7Ci1kZWJ1ZygnPT0+IENsaWNrIG9uIGEgcmVh
ZC1vbmx5IGZpZWxkLicpOwotaW5wdXQucmVhZE9ubHkgPSB0cnVlOwotbW91c2VDbGlja09uKDEy
LCBjZW50ZXIpOwota2V5RG93bigndXBBcnJvdycpOwotc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdp
bnB1dC52YWx1ZScsICcyMzQ2LTA4LTIwJyk7Ci1pbnB1dC5yZWFkT25seSA9IGZhbHNlOwotCi1k
ZWJ1ZygnJyk7Ci1kZWJ1ZygnPT0+IENsaWNrIG9uIGNsZWFyIGJ1dHRvbi4nKTsKLWlucHV0LnJl
YWRPbmx5ID0gdHJ1ZTsKLW1vdXNlQ2xpY2tPbihpbnB1dC5vZmZzZXRXaWR0aCAtIGNsZWFyQnV0
dG9uT2Zmc2V0LCBjZW50ZXIpOwotc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdpbnB1dC52YWx1ZScs
ICcyMzQ2LTA4LTIwJyk7Ci1pbnB1dC5kaXNhYmxlZCA9IHRydWU7Ci1pbnB1dC5yZWFkT25seSA9
IGZhbHNlOwotbW91c2VDbGlja09uKGlucHV0Lm9mZnNldFdpZHRoIC0gY2xlYXJCdXR0b25PZmZz
ZXQsIGNlbnRlcik7Ci1zaG91bGRCZUVxdWFsVG9TdHJpbmcoJ2lucHV0LnZhbHVlJywgJzIzNDYt
MDgtMjAnKTsKLWlucHV0LmRpc2FibGVkID0gZmFsc2U7Ci1tb3VzZUNsaWNrT24oaW5wdXQub2Zm
c2V0V2lkdGggLSBjbGVhckJ1dHRvbk9mZnNldCwgY2VudGVyKTsKLXNob3VsZEJlRXF1YWxUb1N0
cmluZygnaW5wdXQudmFsdWUnLCAnJyk7Ci0KLWRlYnVnKCcnKTsKLTwvc2NyaXB0PgotPHNjcmlw
dCBzcmM9Ii4uLy4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgotPC9i
b2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9kYXRlLW11
bHRpcGxlLWZpZWxkcy9kYXRlLW11bHRpcGxlLWZpZWxkcy1wcmVzZXJ2ZS12YWx1ZS1hZnRlci1o
aXN0b3J5LWJhY2stZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9kYXRlLW11
bHRpcGxlLWZpZWxkcy9kYXRlLW11bHRpcGxlLWZpZWxkcy1wcmVzZXJ2ZS12YWx1ZS1hZnRlci1o
aXN0b3J5LWJhY2stZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
NzBkMDY3YWRlOTY1ODYzNDY2YjEyYjgzODVhZTVkZTE1ODU1MmFlLi4wMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvZGF0
ZS1tdWx0aXBsZS1maWVsZHMvZGF0ZS1tdWx0aXBsZS1maWVsZHMtcHJlc2VydmUtdmFsdWUtYWZ0
ZXItaGlzdG9yeS1iYWNrLWV4cGVjdGVkLnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDE4ICswLDAg
QEAKLUNoZWNrcyBpbnB1dCB2YWx1ZSBpcyBwcmVzZXJ2ZWQgYWZ0ZXIgYmFja3dhcmQgYW5kIGZv
cndhcmQKLQotT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNz
YWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgotCi0KLVdlbnQgYmFjayB0byBhIHBh
Z2UuIENoZWNraW5nIGEgZm9ybSBjb250cm9sIHdoaWNoIGhhZCBhIGZ1bGwgdmFsdWU6Ci1QQVNT
ICIxMjAxMi0xMC0wOSIgaXMgIjEyMDEyLTEwLTA5IgotV2VudCBiYWNrIHRvIGEgcGFnZS4gQ2hl
Y2tpbmcgYSBmb3JtIGNvbnRyb2wgd2hpY2ggaGFkIGEgcGFydGlhbCB2YWx1ZToKLVBBU1MgIjAx
L2RkLzE5OTkiIGlzICIwMS9kZC8xOTk5IgotV2VudCBmb3J3YXJkIHRvIGEgcGFnZS4gQ2hlY2tp
bmcgYSBmb3JtIGNvbnRyb2wgd2hpY2ggaGFkIGEgZnVsbCB2YWx1ZToKLVBBU1MgIjAwMDEtMTEt
MTciIGlzICIwMDAxLTExLTE3IgotV2VudCBmb3J3YXJkIHRvIGEgcGFnZS4gQ2hlY2tpbmcgYSBm
b3JtIGNvbnRyb2wgd2hpY2ggaGFkIGEgcGFydGlhbCB2YWx1ZToKLVBBU1MgIm1tLzMxL3l5eXki
IGlzICJtbS8zMS95eXl5IgotCi1QQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCi0KLVRF
U1QgQ09NUExFVEUKLQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9kYXRlLW11
bHRpcGxlLWZpZWxkcy9kYXRlLW11bHRpcGxlLWZpZWxkcy1wcmVzZXJ2ZS12YWx1ZS1hZnRlci1o
aXN0b3J5LWJhY2suaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvZGF0ZS1tdWx0aXBsZS1m
aWVsZHMvZGF0ZS1tdWx0aXBsZS1maWVsZHMtcHJlc2VydmUtdmFsdWUtYWZ0ZXItaGlzdG9yeS1i
YWNrLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDVmZGE2ZDk3N2Q5ZTBiNmY0
NTQwYzdjMmE4NDdiODZhZWNiMzkxMmQuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9kYXRlLW11bHRpcGxlLWZpZWxk
cy9kYXRlLW11bHRpcGxlLWZpZWxkcy1wcmVzZXJ2ZS12YWx1ZS1hZnRlci1oaXN0b3J5LWJhY2su
aHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDQyICswLDAgQEAKLTwhRE9DVFlQRSBodG1sPgotPGh0
bWw+Ci08aGVhZD4KLTxzY3JpcHQgc3JjPSIuLi8uLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10
ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keT4KLTxpZnJhbWUgaWQ9ImlmcmFt
ZSI+PC9pZnJhbWU+Ci08c2NyaXB0PgotZGVzY3JpcHRpb24oJ0NoZWNrcyBpbnB1dCB2YWx1ZSBp
cyBwcmVzZXJ2ZWQgYWZ0ZXIgYmFja3dhcmQgYW5kIGZvcndhcmQnKTsKLWlmICghd2luZG93LmV2
ZW50U2VuZGVyIHx8ICF3aW5kb3cuaW50ZXJuYWxzKQotICAgIGRlYnVnKCdQbGVhc2UgcnVuIHdp
dGhpbiBEUlQvV1RSJyk7Ci13aW5kb3cuanNUZXN0SXNBc3luYyA9IHRydWU7Ci0KLXZhciBzdGF0
ZSA9ICdkaXJlY3QnOwotdmFyIHRlc3RDYXNlcyA9IFtdOwotCi1mdW5jdGlvbiBmYWlsZWQobWVz
c2FnZSkgewotICAgIHRlc3RGYWlsZWQobWVzc2FnZSArICcgaW4gJyArIHN0YXRlKTsKLSAgICBm
aW5pc2hKU1Rlc3QoKTsKLX0KLQotZnVuY3Rpb24gZmluaXNoVGVzdCgpIHsKLSAgICBydW5UZXN0
Q2FzZXMoKTsKLSAgICBmaW5pc2hKU1Rlc3QoKTsKLX0KLQotZnVuY3Rpb24gcnVuVGVzdENhc2Vz
KCkgewotICAgIGZvciAodmFyIGluZGV4ID0gMDsgaW5kZXggPCB0ZXN0Q2FzZXMubGVuZ3RoOyAr
K2luZGV4KSB7Ci0gICAgICAgIHZhciB0ZXN0Q2FzZSA9IHRlc3RDYXNlc1tpbmRleF07Ci0gICAg
ICAgIGRlYnVnKHRlc3RDYXNlWydkZXNjcmlwdGlvbiddICsgJzonKTsKLSAgICAgICAgc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCciJyArIHRlc3RDYXNlWydhY3R1YWwnXSArICciJywgdGVzdENhc2Vb
J2V4cGVjdGVkJ10pOwotICAgIH0KLSAgICBkZWJ1ZygnJyk7Ci19Ci0KLXdpbmRvdy5vbmxvYWQg
PSBmdW5jdGlvbigpIHsKLSAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnaWZyYW1lJykuc3Jj
ID0gJ3Jlc291cmNlcy9wcmVzZXJ2ZS12YWx1ZS1hZnRlci1oaXN0b3J5LWJhY2stZnJhbWUuaHRt
bD9wYWdlMSc7Ci19OwotPC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vLi4vZmFzdC9qcy9y
ZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KLTwvYm9keT4KLTwvaHRtbD4KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvZGF0ZS1tdWx0aXBsZS1maWVsZHMvZGF0
ZS1tdWx0aXBsZS1maWVsZHMtcmVhZG9ubHktc3ViZmllbGQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvZmFzdC9mb3Jtcy9kYXRlLW11bHRpcGxlLWZpZWxkcy9kYXRlLW11bHRpcGxlLWZpZWxk
cy1yZWFkb25seS1zdWJmaWVsZC1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IGM2OTkzYTMzY2EwZTgyNGI3NWI2NzMyY2QwZmRjYWE3MTllZGJkZTQuLjAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9m
b3Jtcy9kYXRlLW11bHRpcGxlLWZpZWxkcy9kYXRlLW11bHRpcGxlLWZpZWxkcy1yZWFkb25seS1z
dWJmaWVsZC1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSw0MiArMCwwIEBACi1TdWIt
ZmllbGRzIGluIGlucHV0W3R5cGU9ZGF0ZV0gc2hvdWxkIGJlIHJlYWQtb25seSBpbiBzb21lIGNh
c2VzLiBUaGlzIHJlcXVpcmVzIHdpbmRvdy5pbnRlcm5hbHMuCi0KLU9uIHN1Y2Nlc3MsIHlvdSB3
aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENP
TVBMRVRFIi4KLQotCi1jcmVhdGVEYXRlSW5wdXQgYXJndW1lbnQgb3JkZXI6IG1pbiwgbWF4LCB2
YWx1ZQotCi1ZZWFyIGZpZWxkOgotUEFTUyBpc1JlYWRPbmx5RmllbGQoY3JlYXRlRGF0ZUlucHV0
KCIiLCAiIiwgIiIpLCBwc2V1ZG9ZZWFyKSBpcyBmYWxzZQotUEFTUyBpc1JlYWRPbmx5RmllbGQo
Y3JlYXRlRGF0ZUlucHV0KCIyMDEyLTEyLTE3IiwgIiIsICIiKSwgcHNldWRvWWVhcikgaXMgZmFs
c2UKLVBBU1MgaXNSZWFkT25seUZpZWxkKGNyZWF0ZURhdGVJbnB1dCgiIiwgIjIwMTItMTItMTci
LCAiIiksIHBzZXVkb1llYXIpIGlzIGZhbHNlCi1QQVNTIGlzUmVhZE9ubHlGaWVsZChjcmVhdGVE
YXRlSW5wdXQoIiIsICIiLCAiMjAxMi0xMi0xNyIpLCBwc2V1ZG9ZZWFyKSBpcyBmYWxzZQotUEFT
UyBpc1JlYWRPbmx5RmllbGQoY3JlYXRlRGF0ZUlucHV0KCIyMDEyLTAxLTAxIiwgIjIwMTItMTIt
MzEiLCAiIiksIHBzZXVkb1llYXIpIGlzIHRydWUKLVBBU1MgaXNSZWFkT25seUZpZWxkKGNyZWF0
ZURhdGVJbnB1dCgiMjAxMi0wMS0wMSIsICIyMDEzLTEyLTMxIiwgIiIpLCBwc2V1ZG9ZZWFyKSBp
cyBmYWxzZQotUEFTUyBpc1JlYWRPbmx5RmllbGQoY3JlYXRlRGF0ZUlucHV0KCIyMDEyLTAxLTAx
IiwgIjIwMTItMTItMzEiLCAiMjAxMi0wNS0zMCIpLCBwc2V1ZG9ZZWFyKSBpcyB0cnVlCi1QQVNT
IGlzUmVhZE9ubHlGaWVsZChjcmVhdGVEYXRlSW5wdXQoIjIwMTItMDEtMDEiLCAiMjAxMi0xMi0z
MSIsICIyMDEzLTAxLTAxIiksIHBzZXVkb1llYXIpIGlzIGZhbHNlCi1Nb250aCBmaWVsZDoKLVBB
U1MgaXNSZWFkT25seUZpZWxkKGNyZWF0ZURhdGVJbnB1dCgiIiwgIiIsICIiKSwgcHNldWRvTW9u
dGgpIGlzIGZhbHNlCi1QQVNTIGlzUmVhZE9ubHlGaWVsZChjcmVhdGVEYXRlSW5wdXQoIjIwMTIt
MTItMTciLCAiIiwgIiIpLCBwc2V1ZG9Nb250aCkgaXMgZmFsc2UKLVBBU1MgaXNSZWFkT25seUZp
ZWxkKGNyZWF0ZURhdGVJbnB1dCgiIiwgIjIwMTItMTItMTciLCAiIiksIHBzZXVkb01vbnRoKSBp
cyBmYWxzZQotUEFTUyBpc1JlYWRPbmx5RmllbGQoY3JlYXRlRGF0ZUlucHV0KCIiLCAiIiwgIjIw
MTItMTItMTciKSwgcHNldWRvTW9udGgpIGlzIGZhbHNlCi1QQVNTIGlzUmVhZE9ubHlGaWVsZChj
cmVhdGVEYXRlSW5wdXQoIjIwMTItMTItMDEiLCAiMjAxMi0xMi0zMSIsICIiKSwgcHNldWRvTW9u
dGgpIGlzIHRydWUKLVBBU1MgaXNSZWFkT25seUZpZWxkKGNyZWF0ZURhdGVJbnB1dCgiMjAxMi0x
MS0wMSIsICIyMDEzLTEyLTMxIiwgIiIpLCBwc2V1ZG9Nb250aCkgaXMgZmFsc2UKLVBBU1MgaXNS
ZWFkT25seUZpZWxkKGNyZWF0ZURhdGVJbnB1dCgiMjAxMi0xMi0wMSIsICIyMDEzLTEyLTMxIiwg
IiIpLCBwc2V1ZG9Nb250aCkgaXMgZmFsc2UKLVBBU1MgaXNSZWFkT25seUZpZWxkKGNyZWF0ZURh
dGVJbnB1dCgiMjAxMi0xMi0wMSIsICIyMDEyLTEyLTMxIiwgIjIwMTItMTItMTUiKSwgcHNldWRv
TW9udGgpIGlzIHRydWUKLVBBU1MgaXNSZWFkT25seUZpZWxkKGNyZWF0ZURhdGVJbnB1dCgiMjAx
Mi0xMi0wMSIsICIyMDEyLTEyLTMxIiwgIjIwMTItMTEtMzAiKSwgcHNldWRvTW9udGgpIGlzIGZh
bHNlCi1EYXkgZmllbGQ6Ci1XZSBzaG91bGQgbm90IG1ha2UgYWxsIHRoZSBmaWVsZHMgcmVhZG9u
bHkgYnkgbWluL21heCwgc28gZGF5IGZpZWxkIGlzIGFsd2F5cyBlZGl0YWJsZS4KLVBBU1MgaXNS
ZWFkT25seUZpZWxkKGNyZWF0ZURhdGVJbnB1dCgiIiwgIiIsICIiKSwgcHNldWRvRGF5KSBpcyBm
YWxzZQotUEFTUyBpc1JlYWRPbmx5RmllbGQoY3JlYXRlRGF0ZUlucHV0KCIyMDEyLTEyLTE3Iiwg
IiIsICIiKSwgcHNldWRvRGF5KSBpcyBmYWxzZQotUEFTUyBpc1JlYWRPbmx5RmllbGQoY3JlYXRl
RGF0ZUlucHV0KCIiLCAiMjAxMi0xMi0xNyIsICIiKSwgcHNldWRvRGF5KSBpcyBmYWxzZQotUEFT
UyBpc1JlYWRPbmx5RmllbGQoY3JlYXRlRGF0ZUlucHV0KCIiLCAiIiwgIjIwMTItMTItMTciKSwg
cHNldWRvRGF5KSBpcyBmYWxzZQotUEFTUyBpc1JlYWRPbmx5RmllbGQoY3JlYXRlRGF0ZUlucHV0
KCIyMDEyLTEyLTE3IiwgIjIwMTItMTItMTciLCAiIiksIHBzZXVkb0RheSkgaXMgZmFsc2UKLVBB
U1MgaXNSZWFkT25seUZpZWxkKGNyZWF0ZURhdGVJbnB1dCgiMjAxMi0xMi0xNyIsICIyMDEzLTEy
LTE4IiwgIiIpLCBwc2V1ZG9EYXkpIGlzIGZhbHNlCi1QQVNTIGlzUmVhZE9ubHlGaWVsZChjcmVh
dGVEYXRlSW5wdXQoIjIwMTItMTEtMTciLCAiMjAxMi0xMi0xNyIsICIiKSwgcHNldWRvRGF5KSBp
cyBmYWxzZQotUEFTUyBpc1JlYWRPbmx5RmllbGQoY3JlYXRlRGF0ZUlucHV0KCIyMDEyLTEyLTE3
IiwgIjIwMTMtMTItMTciLCAiIiksIHBzZXVkb0RheSkgaXMgZmFsc2UKLVBBU1MgaXNSZWFkT25s
eUZpZWxkKGNyZWF0ZURhdGVJbnB1dCgiMjAxMi0xMi0xNyIsICIyMDEyLTEyLTE3IiwgIjIwMTIt
MTItMTciKSwgcHNldWRvRGF5KSBpcyBmYWxzZQotUEFTUyBpc1JlYWRPbmx5RmllbGQoY3JlYXRl
RGF0ZUlucHV0KCIyMDEyLTEyLTE3IiwgIjIwMTItMTItMTciLCAiMjAxMi0xMi0xOCIpLCBwc2V1
ZG9EYXkpIGlzIGZhbHNlCi1QQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCi0KLVRFU1Qg
Q09NUExFVEUKLQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9kYXRlLW11bHRp
cGxlLWZpZWxkcy9kYXRlLW11bHRpcGxlLWZpZWxkcy1yZWFkb25seS1zdWJmaWVsZC5odG1sIGIv
TGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9kYXRlLW11bHRpcGxlLWZpZWxkcy9kYXRlLW11bHRpcGxl
LWZpZWxkcy1yZWFkb25seS1zdWJmaWVsZC5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCBlYzMxM2RkYmE1MzE5ZWM5ZTVlODExZjE1NGJlMGRhYmZkNTg4ZDQwLi4wMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZm9y
bXMvZGF0ZS1tdWx0aXBsZS1maWVsZHMvZGF0ZS1tdWx0aXBsZS1maWVsZHMtcmVhZG9ubHktc3Vi
ZmllbGQuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDcwICswLDAgQEAKLTwhRE9DVFlQRSBodG1s
PgotPGJvZHk+Ci08c2NyaXB0IHNyYz0iLi4vLi4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpz
Ij48L3NjcmlwdD4KLTxzY3JpcHQ+Ci1mdW5jdGlvbiBjcmVhdGVEYXRlSW5wdXQobWluLCBtYXgs
IHZhbHVlKSB7Ci0gICAgdmFyIGlucHV0ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnaW5wdXQn
KTsKLSAgICBpbnB1dC50eXBlID0gJ2RhdGUnOwotICAgIGlmIChtaW4pCi0gICAgICAgIGlucHV0
Lm1pbiA9IG1pbjsKLSAgICBpZiAobWF4KQotICAgICAgICBpbnB1dC5tYXggPSBtYXg7Ci0gICAg
aWYgKHZhbHVlKQotICAgICAgICBpbnB1dC52YWx1ZSA9IHZhbHVlOwotICAgIHJldHVybiBpbnB1
dDsKLX0KLQotLy8gRklYTUU6IFJlbmFtZSB0aGlzIGZ1bmN0aW9uIGFuZCB0aGUgdGVzdCBmaWxl
LgotZnVuY3Rpb24gaXNSZWFkT25seUZpZWxkKGlucHV0LCBwc2V1ZG8pIHsKLSAgICB2YXIgbm9k
ZSA9IGludGVybmFscy55b3VuZ2VzdFNoYWRvd1Jvb3QoaW5wdXQpLnF1ZXJ5U2VsZWN0b3IoJypb
cHNldWRvPSInICsgcHNldWRvICsgJyJdJyk7Ci0gICAgaWYgKCFub2RlKQotICAgICAgICB0ZXN0
RmFpbGVkKCdSZXF1ZXN0ZWQgbm9kZSBpcyBtaXNzaW5nLicpOwotICAgIHJldHVybiBub2RlICYm
IG5vZGUuaGFzQXR0cmlidXRlKCdkaXNhYmxlZCcpOwotfQotCi12YXIgcHNldWRvRGF5ID0gJy13
ZWJraXQtZGF0ZXRpbWUtZWRpdC1kYXktZmllbGQnOwotdmFyIHBzZXVkb01vbnRoID0gJy13ZWJr
aXQtZGF0ZXRpbWUtZWRpdC1tb250aC1maWVsZCc7Ci12YXIgcHNldWRvWWVhciA9ICctd2Via2l0
LWRhdGV0aW1lLWVkaXQteWVhci1maWVsZCc7Ci0KLWRlc2NyaXB0aW9uKCdTdWItZmllbGRzIGlu
IGlucHV0W3R5cGU9ZGF0ZV0gc2hvdWxkIGJlIHJlYWQtb25seSBpbiBzb21lIGNhc2VzLiBUaGlz
IHJlcXVpcmVzIHdpbmRvdy5pbnRlcm5hbHMuJyk7Ci1kZWJ1ZygnY3JlYXRlRGF0ZUlucHV0IGFy
Z3VtZW50IG9yZGVyOiBtaW4sIG1heCwgdmFsdWUnKTsKLWRlYnVnKCcnKTsKLQotZGVidWcoJ1ll
YXIgZmllbGQ6Jyk7Ci1zaG91bGRCZUZhbHNlKCdpc1JlYWRPbmx5RmllbGQoY3JlYXRlRGF0ZUlu
cHV0KCIiLCAiIiwgIiIpLCBwc2V1ZG9ZZWFyKScpOwotc2hvdWxkQmVGYWxzZSgnaXNSZWFkT25s
eUZpZWxkKGNyZWF0ZURhdGVJbnB1dCgiMjAxMi0xMi0xNyIsICIiLCAiIiksIHBzZXVkb1llYXIp
Jyk7Ci1zaG91bGRCZUZhbHNlKCdpc1JlYWRPbmx5RmllbGQoY3JlYXRlRGF0ZUlucHV0KCIiLCAi
MjAxMi0xMi0xNyIsICIiKSwgcHNldWRvWWVhciknKTsKLXNob3VsZEJlRmFsc2UoJ2lzUmVhZE9u
bHlGaWVsZChjcmVhdGVEYXRlSW5wdXQoIiIsICIiLCAiMjAxMi0xMi0xNyIpLCBwc2V1ZG9ZZWFy
KScpOwotc2hvdWxkQmVUcnVlKCdpc1JlYWRPbmx5RmllbGQoY3JlYXRlRGF0ZUlucHV0KCIyMDEy
LTAxLTAxIiwgIjIwMTItMTItMzEiLCAiIiksIHBzZXVkb1llYXIpJyk7Ci1zaG91bGRCZUZhbHNl
KCdpc1JlYWRPbmx5RmllbGQoY3JlYXRlRGF0ZUlucHV0KCIyMDEyLTAxLTAxIiwgIjIwMTMtMTIt
MzEiLCAiIiksIHBzZXVkb1llYXIpJyk7Ci1zaG91bGRCZVRydWUoJ2lzUmVhZE9ubHlGaWVsZChj
cmVhdGVEYXRlSW5wdXQoIjIwMTItMDEtMDEiLCAiMjAxMi0xMi0zMSIsICIyMDEyLTA1LTMwIiks
IHBzZXVkb1llYXIpJyk7Ci1zaG91bGRCZUZhbHNlKCdpc1JlYWRPbmx5RmllbGQoY3JlYXRlRGF0
ZUlucHV0KCIyMDEyLTAxLTAxIiwgIjIwMTItMTItMzEiLCAiMjAxMy0wMS0wMSIpLCBwc2V1ZG9Z
ZWFyKScpOwotCi1kZWJ1ZygnTW9udGggZmllbGQ6Jyk7Ci1zaG91bGRCZUZhbHNlKCdpc1JlYWRP
bmx5RmllbGQoY3JlYXRlRGF0ZUlucHV0KCIiLCAiIiwgIiIpLCBwc2V1ZG9Nb250aCknKTsKLXNo
b3VsZEJlRmFsc2UoJ2lzUmVhZE9ubHlGaWVsZChjcmVhdGVEYXRlSW5wdXQoIjIwMTItMTItMTci
LCAiIiwgIiIpLCBwc2V1ZG9Nb250aCknKTsKLXNob3VsZEJlRmFsc2UoJ2lzUmVhZE9ubHlGaWVs
ZChjcmVhdGVEYXRlSW5wdXQoIiIsICIyMDEyLTEyLTE3IiwgIiIpLCBwc2V1ZG9Nb250aCknKTsK
LXNob3VsZEJlRmFsc2UoJ2lzUmVhZE9ubHlGaWVsZChjcmVhdGVEYXRlSW5wdXQoIiIsICIiLCAi
MjAxMi0xMi0xNyIpLCBwc2V1ZG9Nb250aCknKTsKLXNob3VsZEJlVHJ1ZSgnaXNSZWFkT25seUZp
ZWxkKGNyZWF0ZURhdGVJbnB1dCgiMjAxMi0xMi0wMSIsICIyMDEyLTEyLTMxIiwgIiIpLCBwc2V1
ZG9Nb250aCknKTsKLXNob3VsZEJlRmFsc2UoJ2lzUmVhZE9ubHlGaWVsZChjcmVhdGVEYXRlSW5w
dXQoIjIwMTItMTEtMDEiLCAiMjAxMy0xMi0zMSIsICIiKSwgcHNldWRvTW9udGgpJyk7Ci1zaG91
bGRCZUZhbHNlKCdpc1JlYWRPbmx5RmllbGQoY3JlYXRlRGF0ZUlucHV0KCIyMDEyLTEyLTAxIiwg
IjIwMTMtMTItMzEiLCAiIiksIHBzZXVkb01vbnRoKScpOwotc2hvdWxkQmVUcnVlKCdpc1JlYWRP
bmx5RmllbGQoY3JlYXRlRGF0ZUlucHV0KCIyMDEyLTEyLTAxIiwgIjIwMTItMTItMzEiLCAiMjAx
Mi0xMi0xNSIpLCBwc2V1ZG9Nb250aCknKTsKLXNob3VsZEJlRmFsc2UoJ2lzUmVhZE9ubHlGaWVs
ZChjcmVhdGVEYXRlSW5wdXQoIjIwMTItMTItMDEiLCAiMjAxMi0xMi0zMSIsICIyMDEyLTExLTMw
IiksIHBzZXVkb01vbnRoKScpOwotCi1kZWJ1ZygnRGF5IGZpZWxkOicpOwotZGVidWcoJ1dlIHNo
b3VsZCBub3QgbWFrZSBhbGwgdGhlIGZpZWxkcyByZWFkb25seSBieSBtaW4vbWF4LCBzbyBkYXkg
ZmllbGQgaXMgYWx3YXlzIGVkaXRhYmxlLicpOwotc2hvdWxkQmVGYWxzZSgnaXNSZWFkT25seUZp
ZWxkKGNyZWF0ZURhdGVJbnB1dCgiIiwgIiIsICIiKSwgcHNldWRvRGF5KScpOwotc2hvdWxkQmVG
YWxzZSgnaXNSZWFkT25seUZpZWxkKGNyZWF0ZURhdGVJbnB1dCgiMjAxMi0xMi0xNyIsICIiLCAi
IiksIHBzZXVkb0RheSknKTsKLXNob3VsZEJlRmFsc2UoJ2lzUmVhZE9ubHlGaWVsZChjcmVhdGVE
YXRlSW5wdXQoIiIsICIyMDEyLTEyLTE3IiwgIiIpLCBwc2V1ZG9EYXkpJyk7Ci1zaG91bGRCZUZh
bHNlKCdpc1JlYWRPbmx5RmllbGQoY3JlYXRlRGF0ZUlucHV0KCIiLCAiIiwgIjIwMTItMTItMTci
KSwgcHNldWRvRGF5KScpOwotc2hvdWxkQmVGYWxzZSgnaXNSZWFkT25seUZpZWxkKGNyZWF0ZURh
dGVJbnB1dCgiMjAxMi0xMi0xNyIsICIyMDEyLTEyLTE3IiwgIiIpLCBwc2V1ZG9EYXkpJyk7Ci1z
aG91bGRCZUZhbHNlKCdpc1JlYWRPbmx5RmllbGQoY3JlYXRlRGF0ZUlucHV0KCIyMDEyLTEyLTE3
IiwgIjIwMTMtMTItMTgiLCAiIiksIHBzZXVkb0RheSknKTsKLXNob3VsZEJlRmFsc2UoJ2lzUmVh
ZE9ubHlGaWVsZChjcmVhdGVEYXRlSW5wdXQoIjIwMTItMTEtMTciLCAiMjAxMi0xMi0xNyIsICIi
KSwgcHNldWRvRGF5KScpOwotc2hvdWxkQmVGYWxzZSgnaXNSZWFkT25seUZpZWxkKGNyZWF0ZURh
dGVJbnB1dCgiMjAxMi0xMi0xNyIsICIyMDEzLTEyLTE3IiwgIiIpLCBwc2V1ZG9EYXkpJyk7Ci1z
aG91bGRCZUZhbHNlKCdpc1JlYWRPbmx5RmllbGQoY3JlYXRlRGF0ZUlucHV0KCIyMDEyLTEyLTE3
IiwgIjIwMTItMTItMTciLCAiMjAxMi0xMi0xNyIpLCBwc2V1ZG9EYXkpJyk7Ci1zaG91bGRCZUZh
bHNlKCdpc1JlYWRPbmx5RmllbGQoY3JlYXRlRGF0ZUlucHV0KCIyMDEyLTEyLTE3IiwgIjIwMTIt
MTItMTciLCAiMjAxMi0xMi0xOCIpLCBwc2V1ZG9EYXkpJyk7Ci0KLTwvc2NyaXB0PgotPHNjcmlw
dCBzcmM9Ii4uLy4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgotPC9i
b2R5PgotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2RhdGUtbXVsdGlwbGUt
ZmllbGRzL2RhdGUtbXVsdGlwbGUtZmllbGRzLXJlc2V0LXZhbHVlLWFmdGVyLXJlbG9hZHMtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9kYXRlLW11bHRpcGxlLWZpZWxkcy9k
YXRlLW11bHRpcGxlLWZpZWxkcy1yZXNldC12YWx1ZS1hZnRlci1yZWxvYWRzLWV4cGVjdGVkLnR4
dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMzkzYWY3MDAxMjI1M2Q4ODI1ZmFjNDkw
Y2RhYzEyZTFiMzdmNGFlOC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2RhdGUtbXVsdGlwbGUtZmllbGRzL2RhdGUt
bXVsdGlwbGUtZmllbGRzLXJlc2V0LXZhbHVlLWFmdGVyLXJlbG9hZHMtZXhwZWN0ZWQudHh0Cisr
KyAvZGV2L251bGwKQEAgLTEsMTUgKzAsMCBAQAotQ2hlY2tzIHJlbG9hZGluZyBwYWdlIHJlc2V0
cyBpbnB1dCB2YWx1ZXMKLQotT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQ
QVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgotCi0KLUluaXRpYWwg
dmFsdWVzOgotUEFTUyB0ZXN0SW5wdXQxLnZhbHVlIGlzICIiCi1QQVNTIHRlc3RJbnB1dDIudmFs
dWUgaXMgIjEyMzQtMDUtMDYiCi1SZWxvYWRlZCB2YWx1ZXM6Ci1QQVNTIHRlc3RJbnB1dDEudmFs
dWUgaXMgIiIKLVBBU1MgdGVzdElucHV0Mi52YWx1ZSBpcyAiMTIzNC0wNS0wNiIKLVBBU1Mgc3Vj
Y2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKLQotVEVTVCBDT01QTEVURQotCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2RhdGUtbXVsdGlwbGUtZmllbGRzL2RhdGUtbXVsdGlwbGUt
ZmllbGRzLXJlc2V0LXZhbHVlLWFmdGVyLXJlbG9hZHMuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3Qv
Zm9ybXMvZGF0ZS1tdWx0aXBsZS1maWVsZHMvZGF0ZS1tdWx0aXBsZS1maWVsZHMtcmVzZXQtdmFs
dWUtYWZ0ZXItcmVsb2Fkcy5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBhYzlm
OTQ4NzU1NzM4MjQ1NDEyZGY5YWUyNzY2NmQ1OTU1ZDY4OTZkLi4wMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvZGF0ZS1t
dWx0aXBsZS1maWVsZHMvZGF0ZS1tdWx0aXBsZS1maWVsZHMtcmVzZXQtdmFsdWUtYWZ0ZXItcmVs
b2Fkcy5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsNDIgKzAsMCBAQAotPCFET0NUWVBFIGh0bWw+
Ci08aHRtbD4KLTxoZWFkPgotPHNjcmlwdCBzcmM9Ii4uLy4uLy4uL2Zhc3QvanMvcmVzb3VyY2Vz
L2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5IG9ubG9hZD0icnVuQm9k
eUxvYWRlZCgpIj4KLTxpZnJhbWUgaWQ9aWZyYW1lIHNyY2RvYz0iPGlucHV0IHR5cGU9ZGF0ZSBp
ZD0ndGVzdDEnPjxpbnB1dCB0eXBlPSdkYXRlJyBpZD0ndGVzdDInIHZhbHVlPScxMjM0LTA1LTA2
Jz4iPjwvaWZyYW1lPgotPHNjcmlwdD4KLWRlc2NyaXB0aW9uKCdDaGVja3MgcmVsb2FkaW5nIHBh
Z2UgcmVzZXRzIGlucHV0IHZhbHVlcycpOwotd2luZG93LmpzVGVzdElzQXN5bmMgPSB0cnVlOwot
Ci12YXIgaWZyYW1lID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2lmcmFtZScpOwotdmFyIHRl
c3RJbnB1dDE7Ci12YXIgdGVzdElucHV0MjsKLQotZnVuY3Rpb24gcnVuQm9keUxvYWRlZCgpCi17
Ci0gICAgdGVzdElucHV0MSA9IGlmcmFtZS5jb250ZW50RG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
J3Rlc3QxJyk7Ci0gICAgdGVzdElucHV0MiA9IGlmcmFtZS5jb250ZW50RG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoJ3Rlc3QyJyk7Ci0gICAgZGVidWcoJ0luaXRpYWwgdmFsdWVzOicpOwotICAgIHNo
b3VsZEJlRXF1YWxUb1N0cmluZygndGVzdElucHV0MS52YWx1ZScsICcnKTsKLSAgICBzaG91bGRC
ZUVxdWFsVG9TdHJpbmcoJ3Rlc3RJbnB1dDIudmFsdWUnLCAnMTIzNC0wNS0wNicpOwotICAgIHRl
c3RJbnB1dDEudmFsdWUgPSAnMjAxMi0xMC0wMSc7Ci0gICAgdGVzdElucHV0Mi52YWx1ZSA9ICcy
MDEyLTExLTAxJzsKLSAgICBpZnJhbWUuYWRkRXZlbnRMaXN0ZW5lcignbG9hZCcsIHBhcmVudC5y
dW5PbklGcmFtZUxvYWQpOwotICAgIGlmcmFtZS5jb250ZW50V2luZG93LmxvY2F0aW9uLnJlbG9h
ZCgpOwotfQotCi1mdW5jdGlvbiBydW5PbklGcmFtZUxvYWQoKQotewotICAgIHRlc3RJbnB1dDEg
PSBpZnJhbWUuY29udGVudERvY3VtZW50LmdldEVsZW1lbnRCeUlkKCd0ZXN0MScpOwotICAgIHRl
c3RJbnB1dDIgPSBpZnJhbWUuY29udGVudERvY3VtZW50LmdldEVsZW1lbnRCeUlkKCd0ZXN0Micp
OwotICAgIGRlYnVnKCdSZWxvYWRlZCB2YWx1ZXM6Jyk7Ci0gICAgc2hvdWxkQmVFcXVhbFRvU3Ry
aW5nKCd0ZXN0SW5wdXQxLnZhbHVlJywgJycpOwotICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygn
dGVzdElucHV0Mi52YWx1ZScsICcxMjM0LTA1LTA2Jyk7Ci0gICAgaWZyYW1lLnBhcmVudE5vZGUu
cmVtb3ZlQ2hpbGQoaWZyYW1lKTsKLSAgICBmaW5pc2hKU1Rlc3QoKTsKLX0KLTwvc2NyaXB0Pgot
PHNjcmlwdCBzcmM9Ii4uLy4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+
PC9zY3JpcHQ+Ci08L2JvZHk+Ci08L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0
L2Zvcm1zL2RhdGUtbXVsdGlwbGUtZmllbGRzL2RhdGUtbXVsdGlwbGUtZmllbGRzLXNwaW5idXR0
b24tY2hhbmdlLWFuZC1pbnB1dC1ldmVudHMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFz
dC9mb3Jtcy9kYXRlLW11bHRpcGxlLWZpZWxkcy9kYXRlLW11bHRpcGxlLWZpZWxkcy1zcGluYnV0
dG9uLWNoYW5nZS1hbmQtaW5wdXQtZXZlbnRzLWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggYTNjMmY4ZTJhMGQzYTU0MDE1Zjc2ZDA0ZjRiMGJmYzIwNDc1OGRjNC4u
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0
cy9mYXN0L2Zvcm1zL2RhdGUtbXVsdGlwbGUtZmllbGRzL2RhdGUtbXVsdGlwbGUtZmllbGRzLXNw
aW5idXR0b24tY2hhbmdlLWFuZC1pbnB1dC1ldmVudHMtZXhwZWN0ZWQudHh0CisrKyAvZGV2L251
bGwKQEAgLTEsMTkgKzAsMCBAQAotVGVzdCBmb3IgZXZlbnQgZGlzcGF0Y2hpbmcgYnkgc3BpbiBi
dXR0b25zIGluIGEgdHlwZT1kYXRlIGlucHV0LgotCi1PbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUg
YSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIu
Ci0KLQotSW5pdGlhbCBzdGF0ZQotUEFTUyBjaGFuZ2VFdmVudENvdW50ZXIgaXMgMAotUEFTUyBp
bnB1dEV2ZW50Q291bnRlciBpcyAwCi1DbGljayB0aGUgdXBwZXIgYnV0dG9uCi1QQVNTIHRlc3RJ
bnB1dC52YWx1ZSBpcyAiMjAxMi0xMS0wMSIKLVBBU1MgY2hhbmdlRXZlbnRDb3VudGVyIGlzIDEK
LVBBU1MgaW5wdXRFdmVudENvdW50ZXIgaXMgMQotRm9jdXMgb24gYW5vdGhlciBmaWVsZAotUEFT
UyBjaGFuZ2VFdmVudENvdW50ZXIgaXMgMQotUEFTUyBpbnB1dEV2ZW50Q291bnRlciBpcyAxCi1Q
QVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCi0KLVRFU1QgQ09NUExFVEUKLQpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9kYXRlLW11bHRpcGxlLWZpZWxkcy9kYXRlLW11
bHRpcGxlLWZpZWxkcy1zcGluYnV0dG9uLWNoYW5nZS1hbmQtaW5wdXQtZXZlbnRzLmh0bWwgYi9M
YXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2RhdGUtbXVsdGlwbGUtZmllbGRzL2RhdGUtbXVsdGlwbGUt
ZmllbGRzLXNwaW5idXR0b24tY2hhbmdlLWFuZC1pbnB1dC1ldmVudHMuaHRtbApkZWxldGVkIGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDdhOWI4YzM4NDQ4MTE5NDAxODE2NTIwNjZjNWY3ZTU3NGMz
MmMzYi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlv
dXRUZXN0cy9mYXN0L2Zvcm1zL2RhdGUtbXVsdGlwbGUtZmllbGRzL2RhdGUtbXVsdGlwbGUtZmll
bGRzLXNwaW5idXR0b24tY2hhbmdlLWFuZC1pbnB1dC1ldmVudHMuaHRtbAorKysgL2Rldi9udWxs
CkBAIC0xLDE0ICswLDAgQEAKLTwhRE9DVFlQRSBodG1sPgotPGh0bWw+Ci08aGVhZD4KLTxzY3Jp
cHQgc3JjPSIuLi8uLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3Jp
cHQ+Ci08c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL2NvbW1vbi5qcyI+PC9zY3JpcHQ+Ci08c2Ny
aXB0IHNyYz0iLi4vcmVzb3VyY2VzL2NvbW1vbi1zcGluYnV0dG9uLWNoYW5nZS1hbmQtaW5wdXQt
ZXZlbnRzLmpzIj48L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5PgotPHNjcmlwdD4KLXRlc3RTcGlu
QnV0dG9uQ2hhbmdlQW5kSW5wdXRFdmVudHMoJ2RhdGUnLCAnMjAxMi0xMC0wMScsICcyMDEyLTEx
LTAxJyk7Ci08L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIuLi8uLi8uLi9mYXN0L2pzL3Jlc291cmNl
cy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgotPC9ib2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9kYXRlLW11bHRpcGxlLWZpZWxkcy9kYXRlLW11bHRp
cGxlLWZpZWxkcy1zdGVwdXAtc3RlcGRvd24tZnJvbS1yZW5kZXJlci1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2RhdGUtbXVsdGlwbGUtZmllbGRzL2RhdGUtbXVsdGlwbGUt
ZmllbGRzLXN0ZXB1cC1zdGVwZG93bi1mcm9tLXJlbmRlcmVyLWV4cGVjdGVkLnR4dApkZWxldGVk
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNzFmZDgzMzY0MzNlZGM1ZWI0NTkxZjQwYWQ4MTg4NGU5
NjQ1ZWEyNS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9M
YXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2RhdGUtbXVsdGlwbGUtZmllbGRzL2RhdGUtbXVsdGlwbGUt
ZmllbGRzLXN0ZXB1cC1zdGVwZG93bi1mcm9tLXJlbmRlcmVyLWV4cGVjdGVkLnR4dAorKysgL2Rl
di9udWxsCkBAIC0xLDQ4ICswLDAgQEAKLUNoZWNrIHN0ZXBwaW5nLXVwIGFuZCAtZG93biBmb3Ig
ZGF0ZSBpbnB1dCBmaWVsZHMgZnJvbSByZW5kZXJlci4KLQotT24gc3VjY2VzcywgeW91IHdpbGwg
c2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExF
VEUiLgotCi0KLUZ1bmN0aW9uIGFyZ3VtZW50cyBhcmUgKHZhbHVlLCBtaW4sIG1heCwgW2tleVNl
cXVlbmNlXSkuCi1Nb250aAotUEFTUyBzdGVwVXAoIjIwMDAtMDUtMDEiLCAiMjAwMC0wNS0wMSIs
ICIyMDAwLTEwLTMxIikgaXMgIjIwMDAtMDYtMDEiCi1QQVNTIHN0ZXBEb3duKCIyMDAwLTA1LTAx
IiwgIjIwMDAtMDUtMDEiLCAiMjAwMC0xMC0zMSIpIGlzICIyMDAwLTEwLTAxIgotUEFTUyBzdGVw
VXAoIjIwMDAtMDUtMDEiLCAiMjAwMC0wMi0wMSIsICIyMDAwLTA1LTMxIikgaXMgIjIwMDAtMDIt
MDEiCi1QQVNTIHN0ZXBEb3duKCIyMDAwLTA1LTAxIiwgIjIwMDAtMDItMDEiLCAiMjAwMC0wNS0z
MSIpIGlzICIyMDAwLTA0LTAxIgotUEFTUyBzdGVwVXAoIjIwMDAtMDUtMDEiLCAiMjAwMC0wOC0w
MSIsICIyMDAwLTEwLTMxIikgaXMgIjIwMDAtMDgtMDEiCi1QQVNTIHN0ZXBEb3duKCIyMDAwLTA1
LTAxIiwgIjIwMDAtMDgtMDEiLCAiMjAwMC0xMC0zMSIpIGlzICIyMDAwLTEwLTAxIgotUEFTUyBz
dGVwVXAoIjIwMDAtMDUtMDEiLCAiMjAwMC0wMy0wMSIsICIyMDAwLTAzLTMxIikgaXMgIjIwMDAt
MDMtMDEiCi1QQVNTIHN0ZXBEb3duKCIyMDAwLTA1LTAxIiwgIjIwMDAtMDMtMDEiLCAiMjAwMC0w
My0zMSIpIGlzICIyMDAwLTAzLTAxIgotUEFTUyBzdGVwVXAoIjIwMDAtMDUtMDEiLCAiMjAwMC0w
My0wMSIsICIyMDAxLTA1LTMxIikgaXMgIjIwMDAtMDYtMDEiCi1QQVNTIHN0ZXBEb3duKCIyMDAw
LTA1LTAxIiwgIjIwMDAtMDUtMDEiLCAiMjAwMS0wOC0zMSIpIGlzICIyMDAwLTA0LTAxIgotRGF5
Ci1QQVNTIHN0ZXBVcCgiMjAwMC0wNS0xMCIsICIyMDAwLTA1LTEwIiwgIjIwMDAtMDUtMjAiKSBp
cyAiMjAwMC0wNS0xMSIKLVBBU1Mgc3RlcERvd24oIjIwMDAtMDUtMTAiLCAiMjAwMC0wNS0xMCIs
ICIyMDAwLTA1LTIwIikgaXMgIjIwMDAtMDUtMjAiCi1QQVNTIHN0ZXBVcCgiMjAwMC0wNS0xMCIs
ICIyMDAwLTA1LTA1IiwgIjIwMDAtMDUtMTAiKSBpcyAiMjAwMC0wNS0wNSIKLVBBU1Mgc3RlcERv
d24oIjIwMDAtMDUtMTAiLCAiMjAwMC0wNS0wNSIsICIyMDAwLTA1LTEwIikgaXMgIjIwMDAtMDUt
MDkiCi1QQVNTIHN0ZXBVcCgiMjAwMC0wNS0xMCIsICIyMDAwLTA1LTIwIiwgIjIwMDAtMDUtMzAi
KSBpcyAiMjAwMC0wNS0yMCIKLVBBU1Mgc3RlcERvd24oIjIwMDAtMDUtMTAiLCAiMjAwMC0wNS0y
MCIsICIyMDAwLTA1LTMwIikgaXMgIjIwMDAtMDUtMzAiCi1QQVNTIHN0ZXBVcCgiMjAwMC0wNS0x
MCIsICIyMDAwLTA1LTA1IiwgIjIwMDAtMDUtMDUiKSBpcyAiMjAwMC0wNS0wNSIKLVBBU1Mgc3Rl
cERvd24oIjIwMDAtMDUtMTAiLCAiMjAwMC0wNS0wNSIsICIyMDAwLTA1LTA1IikgaXMgIjIwMDAt
MDUtMDUiCi1QQVNTIHN0ZXBVcCgiMjAwMC0wNS0xMCIsICIyMDAwLTA1LTA1IiwgIjIwMDEtMDUt
MTAiKSBpcyAiMjAwMC0wNS0xMSIKLVBBU1Mgc3RlcERvd24oIjIwMDAtMDUtMTAiLCAiMjAwMC0w
NS0xMCIsICIyMDAxLTA1LTE1IikgaXMgIjIwMDAtMDUtMDkiCi1QQVNTIHN0ZXBVcCgiMjAwMC0w
NS0xMCIsICIyMDAwLTA1LTA1IiwgIjIwMDAtMDYtMTAiKSBpcyAiMjAwMC0wNS0xMSIKLVBBU1Mg
c3RlcERvd24oIjIwMDAtMDUtMTAiLCAiMjAwMC0wNS0xMCIsICIyMDAwLTA2LTE1IikgaXMgIjIw
MDAtMDUtMDkiCi1ZZWFyCi1QQVNTIHN0ZXBVcCgiMjAwMC0wMS0wMSIsICIyMDAwLTAxLTAxIiwg
IjIwMDktMTItMzEiKSBpcyAiMjAwMS0wMS0wMSIKLVBBU1Mgc3RlcERvd24oIjIwMDAtMDEtMDEi
LCAiMjAwMC0wMS0wMSIsICIyMDA5LTEyLTMxIikgaXMgIjIwMDktMDEtMDEiCi1QQVNTIHN0ZXBV
cCgiMjAwMC0wMS0wMSIsICIxOTkwLTAxLTAxIiwgIjIwMDAtMTItMzEiKSBpcyAiMTk5MC0wMS0w
MSIKLVBBU1Mgc3RlcERvd24oIjIwMDAtMDEtMDEiLCAiMTk5MC0wMS0wMSIsICIyMDAwLTEyLTMx
IikgaXMgIjE5OTktMDEtMDEiCi1QQVNTIHN0ZXBVcCgiMjc1NzYwLTAxLTAxIiwgIjE5OTAtMDEt
MDEiLCBudWxsKSBpcyAiMTk5MC0wMS0wMSIKLVBBU1Mgc3RlcERvd24oIjE5OTAtMDEtMDEiLCAi
MTk5MC0wMS0wMSIsIG51bGwpIGlzICIyNzU3NjAtMDEtMDEiCi1QQVNTIHN0ZXBVcCgiMjAwMC0w
MS0wMSIsIG51bGwsICIyMDAwLTEyLTMxIikgaXMgIjAwMDEtMDEtMDEiCi1QQVNTIHN0ZXBEb3du
KCIwMDAxLTAxLTAxIiwgbnVsbCwgIjIwMDAtMTItMzEiKSBpcyAiMjAwMC0wMS0wMSIKLVBBU1Mg
c3RlcFVwKCIxOTkwLTAxLTAxIiwgIjIwMDAtMDEtMDEiLCAiMjAwOS0xMi0zMSIpIGlzICIyMDAw
LTAxLTAxIgotUEFTUyBzdGVwRG93bigiMTk5MC0wMS0wMSIsICIyMDAwLTAxLTAxIiwgIjIwMDkt
MTItMzEiKSBpcyAiMjAwOS0wMS0wMSIKLVBBU1Mgc3RlcFVwKCIyMDIwLTAxLTAxIiwgIjIwMDAt
MDEtMDEiLCAiMjAwMC0xMi0zMSIpIGlzICIyMDAwLTAxLTAxIgotUEFTUyBzdGVwRG93bigiMjAy
MC0wMS0wMSIsICIyMDAwLTAxLTAxIiwgIjIwMDAtMTItMzEiKSBpcyAiMjAwMC0wMS0wMSIKLQot
UEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQotCi1URVNUIENPTVBMRVRFCi0KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvZGF0ZS1tdWx0aXBsZS1maWVsZHMvZGF0ZS1t
dWx0aXBsZS1maWVsZHMtc3RlcHVwLXN0ZXBkb3duLWZyb20tcmVuZGVyZXIuaHRtbCBiL0xheW91
dFRlc3RzL2Zhc3QvZm9ybXMvZGF0ZS1tdWx0aXBsZS1maWVsZHMvZGF0ZS1tdWx0aXBsZS1maWVs
ZHMtc3RlcHVwLXN0ZXBkb3duLWZyb20tcmVuZGVyZXIuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggZTk4OTNmNDMxYjBkMWNhMTM0NWYzZTA1ZTU5MTE0YTA2MjdkMGYyNi4uMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9m
YXN0L2Zvcm1zL2RhdGUtbXVsdGlwbGUtZmllbGRzL2RhdGUtbXVsdGlwbGUtZmllbGRzLXN0ZXB1
cC1zdGVwZG93bi1mcm9tLXJlbmRlcmVyLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSw4NSArMCww
IEBACi08IURPQ1RZUEUgaHRtbD4KLTxodG1sPgotPGhlYWQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4v
anMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIuLi9y
ZXNvdXJjZXMvY29tbW9uLmpzIj48L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5PgotPHNjcmlwdD4K
LWRlc2NyaXB0aW9uKCdDaGVjayBzdGVwcGluZy11cCBhbmQgLWRvd24gZm9yIGRhdGUgaW5wdXQg
ZmllbGRzIGZyb20gcmVuZGVyZXIuJyk7Ci1pZiAoIXdpbmRvdy5ldmVudFNlbmRlcikKLSAgICBk
ZWJ1ZygnVGhpcyB0ZXN0IHJlcXVpcmVzIGV2ZW50U2VuZGVyLicpOwotCi12YXIgaW5wdXQgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KCdpbnB1dCcpOwotaW5wdXQudHlwZSA9ICdkYXRlJzsKLWRv
Y3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoaW5wdXQpOwotCi1mdW5jdGlvbiBzZXRJbnB1dEF0dHJp
YnV0ZXModmFsdWUsIG1pbiwgbWF4KSB7Ci0gICAgaW5wdXQudmFsdWUgPSB2YWx1ZTsKLSAgICBp
bnB1dC5taW4gPSBtaW47Ci0gICAgaW5wdXQubWF4ID0gbWF4OwotfQotCi1mdW5jdGlvbiBzdGVw
VXAodmFsdWUsIG1pbiwgbWF4KSB7Ci0gICAgc2V0SW5wdXRBdHRyaWJ1dGVzKHZhbHVlLCBtaW4s
IG1heCk7Ci0gICAgZXZlbnRTZW5kZXIua2V5RG93bigndXBBcnJvdycpOwotICAgIHJldHVybiBp
bnB1dC52YWx1ZTsKLX0KLQotZnVuY3Rpb24gc3RlcERvd24odmFsdWUsIG1pbiwgbWF4KSB7Ci0g
ICAgc2V0SW5wdXRBdHRyaWJ1dGVzKHZhbHVlLCBtaW4sIG1heCk7Ci0gICAgZXZlbnRTZW5kZXIu
a2V5RG93bignZG93bkFycm93Jyk7Ci0gICAgcmV0dXJuIGlucHV0LnZhbHVlOwotfQotCi1pbnB1
dC5mb2N1cygpOwotZGVidWcoJ0Z1bmN0aW9uIGFyZ3VtZW50cyBhcmUgKHZhbHVlLCBtaW4sIG1h
eCwgW2tleVNlcXVlbmNlXSkuJyk7Ci1kZWJ1ZygnTW9udGgnKTsKLXNob3VsZEJlRXF1YWxUb1N0
cmluZygnc3RlcFVwKCIyMDAwLTA1LTAxIiwgIjIwMDAtMDUtMDEiLCAiMjAwMC0xMC0zMSIpJywg
JzIwMDAtMDYtMDEnKTsKLXNob3VsZEJlRXF1YWxUb1N0cmluZygnc3RlcERvd24oIjIwMDAtMDUt
MDEiLCAiMjAwMC0wNS0wMSIsICIyMDAwLTEwLTMxIiknLCAnMjAwMC0xMC0wMScpOwotc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCdzdGVwVXAoIjIwMDAtMDUtMDEiLCAiMjAwMC0wMi0wMSIsICIyMDAw
LTA1LTMxIiknLCAnMjAwMC0wMi0wMScpOwotc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdzdGVwRG93
bigiMjAwMC0wNS0wMSIsICIyMDAwLTAyLTAxIiwgIjIwMDAtMDUtMzEiKScsICcyMDAwLTA0LTAx
Jyk7Ci1zaG91bGRCZUVxdWFsVG9TdHJpbmcoJ3N0ZXBVcCgiMjAwMC0wNS0wMSIsICIyMDAwLTA4
LTAxIiwgIjIwMDAtMTAtMzEiKScsICcyMDAwLTA4LTAxJyk7Ci1zaG91bGRCZUVxdWFsVG9TdHJp
bmcoJ3N0ZXBEb3duKCIyMDAwLTA1LTAxIiwgIjIwMDAtMDgtMDEiLCAiMjAwMC0xMC0zMSIpJywg
JzIwMDAtMTAtMDEnKTsKLXNob3VsZEJlRXF1YWxUb1N0cmluZygnc3RlcFVwKCIyMDAwLTA1LTAx
IiwgIjIwMDAtMDMtMDEiLCAiMjAwMC0wMy0zMSIpJywgJzIwMDAtMDMtMDEnKTsKLXNob3VsZEJl
RXF1YWxUb1N0cmluZygnc3RlcERvd24oIjIwMDAtMDUtMDEiLCAiMjAwMC0wMy0wMSIsICIyMDAw
LTAzLTMxIiknLCAnMjAwMC0wMy0wMScpOwotc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdzdGVwVXAo
IjIwMDAtMDUtMDEiLCAiMjAwMC0wMy0wMSIsICIyMDAxLTA1LTMxIiknLCAnMjAwMC0wNi0wMScp
Owotc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdzdGVwRG93bigiMjAwMC0wNS0wMSIsICIyMDAwLTA1
LTAxIiwgIjIwMDEtMDgtMzEiKScsICcyMDAwLTA0LTAxJyk7Ci0KLWRlYnVnKCdEYXknKTsKLWV2
ZW50U2VuZGVyLmtleURvd24oJ3JpZ2h0QXJyb3cnKTsKLXNob3VsZEJlRXF1YWxUb1N0cmluZygn
c3RlcFVwKCIyMDAwLTA1LTEwIiwgIjIwMDAtMDUtMTAiLCAiMjAwMC0wNS0yMCIpJywgJzIwMDAt
MDUtMTEnKTsKLXNob3VsZEJlRXF1YWxUb1N0cmluZygnc3RlcERvd24oIjIwMDAtMDUtMTAiLCAi
MjAwMC0wNS0xMCIsICIyMDAwLTA1LTIwIiknLCAnMjAwMC0wNS0yMCcpOwotc2hvdWxkQmVFcXVh
bFRvU3RyaW5nKCdzdGVwVXAoIjIwMDAtMDUtMTAiLCAiMjAwMC0wNS0wNSIsICIyMDAwLTA1LTEw
IiknLCAnMjAwMC0wNS0wNScpOwotc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdzdGVwRG93bigiMjAw
MC0wNS0xMCIsICIyMDAwLTA1LTA1IiwgIjIwMDAtMDUtMTAiKScsICcyMDAwLTA1LTA5Jyk7Ci1z
aG91bGRCZUVxdWFsVG9TdHJpbmcoJ3N0ZXBVcCgiMjAwMC0wNS0xMCIsICIyMDAwLTA1LTIwIiwg
IjIwMDAtMDUtMzAiKScsICcyMDAwLTA1LTIwJyk7Ci1zaG91bGRCZUVxdWFsVG9TdHJpbmcoJ3N0
ZXBEb3duKCIyMDAwLTA1LTEwIiwgIjIwMDAtMDUtMjAiLCAiMjAwMC0wNS0zMCIpJywgJzIwMDAt
MDUtMzAnKTsKLXNob3VsZEJlRXF1YWxUb1N0cmluZygnc3RlcFVwKCIyMDAwLTA1LTEwIiwgIjIw
MDAtMDUtMDUiLCAiMjAwMC0wNS0wNSIpJywgJzIwMDAtMDUtMDUnKTsKLXNob3VsZEJlRXF1YWxU
b1N0cmluZygnc3RlcERvd24oIjIwMDAtMDUtMTAiLCAiMjAwMC0wNS0wNSIsICIyMDAwLTA1LTA1
IiknLCAnMjAwMC0wNS0wNScpOwotc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdzdGVwVXAoIjIwMDAt
MDUtMTAiLCAiMjAwMC0wNS0wNSIsICIyMDAxLTA1LTEwIiknLCAnMjAwMC0wNS0xMScpOwotc2hv
dWxkQmVFcXVhbFRvU3RyaW5nKCdzdGVwRG93bigiMjAwMC0wNS0xMCIsICIyMDAwLTA1LTEwIiwg
IjIwMDEtMDUtMTUiKScsICcyMDAwLTA1LTA5Jyk7Ci1zaG91bGRCZUVxdWFsVG9TdHJpbmcoJ3N0
ZXBVcCgiMjAwMC0wNS0xMCIsICIyMDAwLTA1LTA1IiwgIjIwMDAtMDYtMTAiKScsICcyMDAwLTA1
LTExJyk7Ci1zaG91bGRCZUVxdWFsVG9TdHJpbmcoJ3N0ZXBEb3duKCIyMDAwLTA1LTEwIiwgIjIw
MDAtMDUtMTAiLCAiMjAwMC0wNi0xNSIpJywgJzIwMDAtMDUtMDknKTsKLQotZGVidWcoJ1llYXIn
KTsKLXNldElucHV0QXR0cmlidXRlcyhudWxsLCBudWxsLCBudWxsLCBudWxsKTsKLWV2ZW50U2Vu
ZGVyLmtleURvd24oJ3JpZ2h0QXJyb3cnKTsKLXNob3VsZEJlRXF1YWxUb1N0cmluZygnc3RlcFVw
KCIyMDAwLTAxLTAxIiwgIjIwMDAtMDEtMDEiLCAiMjAwOS0xMi0zMSIpJywgJzIwMDEtMDEtMDEn
KTsKLXNob3VsZEJlRXF1YWxUb1N0cmluZygnc3RlcERvd24oIjIwMDAtMDEtMDEiLCAiMjAwMC0w
MS0wMSIsICIyMDA5LTEyLTMxIiknLCAnMjAwOS0wMS0wMScpOwotc2hvdWxkQmVFcXVhbFRvU3Ry
aW5nKCdzdGVwVXAoIjIwMDAtMDEtMDEiLCAiMTk5MC0wMS0wMSIsICIyMDAwLTEyLTMxIiknLCAn
MTk5MC0wMS0wMScpOwotc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdzdGVwRG93bigiMjAwMC0wMS0w
MSIsICIxOTkwLTAxLTAxIiwgIjIwMDAtMTItMzEiKScsICcxOTk5LTAxLTAxJyk7Ci1zaG91bGRC
ZUVxdWFsVG9TdHJpbmcoJ3N0ZXBVcCgiMjc1NzYwLTAxLTAxIiwgIjE5OTAtMDEtMDEiLCBudWxs
KScsICcxOTkwLTAxLTAxJyk7Ci1zaG91bGRCZUVxdWFsVG9TdHJpbmcoJ3N0ZXBEb3duKCIxOTkw
LTAxLTAxIiwgIjE5OTAtMDEtMDEiLCBudWxsKScsICcyNzU3NjAtMDEtMDEnKTsKLXNob3VsZEJl
RXF1YWxUb1N0cmluZygnc3RlcFVwKCIyMDAwLTAxLTAxIiwgbnVsbCwgIjIwMDAtMTItMzEiKScs
ICcwMDAxLTAxLTAxJyk7Ci1zaG91bGRCZUVxdWFsVG9TdHJpbmcoJ3N0ZXBEb3duKCIwMDAxLTAx
LTAxIiwgbnVsbCwgIjIwMDAtMTItMzEiKScsICcyMDAwLTAxLTAxJyk7Ci1zaG91bGRCZUVxdWFs
VG9TdHJpbmcoJ3N0ZXBVcCgiMTk5MC0wMS0wMSIsICIyMDAwLTAxLTAxIiwgIjIwMDktMTItMzEi
KScsICcyMDAwLTAxLTAxJyk7Ci1zaG91bGRCZUVxdWFsVG9TdHJpbmcoJ3N0ZXBEb3duKCIxOTkw
LTAxLTAxIiwgIjIwMDAtMDEtMDEiLCAiMjAwOS0xMi0zMSIpJywgJzIwMDktMDEtMDEnKTsKLXNo
b3VsZEJlRXF1YWxUb1N0cmluZygnc3RlcFVwKCIyMDIwLTAxLTAxIiwgIjIwMDAtMDEtMDEiLCAi
MjAwMC0xMi0zMSIpJywgJzIwMDAtMDEtMDEnKTsKLXNob3VsZEJlRXF1YWxUb1N0cmluZygnc3Rl
cERvd24oIjIwMjAtMDEtMDEiLCAiMjAwMC0wMS0wMSIsICIyMDAwLTEyLTMxIiknLCAnMjAwMC0w
MS0wMScpOwotCi1kZWJ1ZygnJyk7Ci1pbnB1dC5yZW1vdmUoKTsKLTwvc2NyaXB0PgotPHNjcmlw
dCBzcmM9Ii4uLy4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgotPC9i
b2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9kYXRlLW11
bHRpcGxlLWZpZWxkcy9kYXRlLW11bHRpcGxlLWZpZWxkcy12YWxpZGl0eS1iYWRpbnB1dC1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2RhdGUtbXVsdGlwbGUtZmllbGRzL2Rh
dGUtbXVsdGlwbGUtZmllbGRzLXZhbGlkaXR5LWJhZGlucHV0LWV4cGVjdGVkLnR4dApkZWxldGVk
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMWZlMGE2ZjY0OGQ5MDYyMzIxYjUyMjQ5YjkwYmE2NWU0
ZWExYzk5NC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9M
YXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2RhdGUtbXVsdGlwbGUtZmllbGRzL2RhdGUtbXVsdGlwbGUt
ZmllbGRzLXZhbGlkaXR5LWJhZGlucHV0LWV4cGVjdGVkLnR4dAorKysgL2Rldi9udWxsCkBAIC0x
LDIwICswLDAgQEAKLUEgZGF0ZSBpbnB1dCBmaWVsZHMgd2l0aCBhIGJhZCB1c2VyIGlucHV0IHNo
b3VsZCBtYWtlIHZhbGlkaXR5LmJhZElucHV0IHRydWUgYW5kIGhhdmUgOmludmFsaWQgc3R5bGUu
Ci0KLU9uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMs
IGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KLQotCi1Jbml0aWFsIHN0YXRlLiBUaGUgZWxt
ZW50IGhhcyBubyB2YWx1ZS4KLVBBU1MgY29sb3JPZihpbnB1dCkgaXMgbm90IGludmFsaWRTdHls
ZUNvbG9yCi1QQVNTIGlucHV0LnZhbGlkaXR5LmJhZElucHV0IGlzIGZhbHNlCi1TZXQgYSB2YWx1
ZSB0byB0aGUgZmlyc3Qgc3ViLWZpZWxkLiBUaGUgZWxlbWVudCBiZWNvbWVzIGJhZElucHV0Lgot
UEFTUyBjb2xvck9mKGlucHV0KSBpcyBpbnZhbGlkU3R5bGVDb2xvcgotUEFTUyBpbnB1dC52YWxp
ZGl0eS5iYWRJbnB1dCBpcyB0cnVlCi1TZXQgYW4gaW52YWxpZCBkYXRlLCAyMDEyLTAyLTMxLgot
UEFTUyBpbnB1dC52YWxpZGl0eS5iYWRJbnB1dCBpcyBmYWxzZQotUEFTUyBpbnB1dC52YWx1ZSBp
cyAiIgotUEFTUyBpbnB1dC52YWxpZGl0eS5iYWRJbnB1dCBpcyB0cnVlCi1QQVNTIGNvbG9yT2Yo
aW5wdXQpIGlzIGludmFsaWRTdHlsZUNvbG9yCi1QQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0
cnVlCi0KLVRFU1QgQ09NUExFVEUKLQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jt
cy9kYXRlLW11bHRpcGxlLWZpZWxkcy9kYXRlLW11bHRpcGxlLWZpZWxkcy12YWxpZGl0eS1iYWRp
bnB1dC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9kYXRlLW11bHRpcGxlLWZpZWxkcy9k
YXRlLW11bHRpcGxlLWZpZWxkcy12YWxpZGl0eS1iYWRpbnB1dC5odG1sCmRlbGV0ZWQgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCBjMWE3ODllZWZmNGJjZTQwODkyOTYyNzUyYjRhMThkMGYzOWNjYjUw
Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRl
c3RzL2Zhc3QvZm9ybXMvZGF0ZS1tdWx0aXBsZS1maWVsZHMvZGF0ZS1tdWx0aXBsZS1maWVsZHMt
dmFsaWRpdHktYmFkaW5wdXQuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDE0ICswLDAgQEAKLTwh
RE9DVFlQRSBodG1sPgotPHN0eWxlPgotOmludmFsaWQgewotICAgIGJhY2tncm91bmQtY29sb3I6
ICNmZjAwMDA7Ci19Ci08L3N0eWxlPgotPGJvZHk+Ci08c2NyaXB0IHNyYz0iLi4vLi4vanMvcmVz
b3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIuLi9yZXNvdXJj
ZXMvbXVsdGlwbGUtZmllbGRzLXZhbGlkaXR5LWJhZGlucHV0LmpzIj48L3NjcmlwdD4KLTxzY3Jp
cHQ+Ci10ZXN0QmFkSW5wdXQoJ2RhdGUnKTsKLTwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii4uLy4u
L2pzL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgotPC9ib2R5PgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9kYXRlLW11bHRpcGxlLWZpZWxkcy9kYXRlLW11
bHRpcGxlLWZpZWxkcy12YWx1ZS1zZXQtZW1wdHktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
ZmFzdC9mb3Jtcy9kYXRlLW11bHRpcGxlLWZpZWxkcy9kYXRlLW11bHRpcGxlLWZpZWxkcy12YWx1
ZS1zZXQtZW1wdHktZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA0
ODUzYWI5Y2UwZTQ5NDcyNzYwNzIwY2NjNjE2Y2ZmNzUxNmU3YzdlLi4wMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvZGF0
ZS1tdWx0aXBsZS1maWVsZHMvZGF0ZS1tdWx0aXBsZS1maWVsZHMtdmFsdWUtc2V0LWVtcHR5LWV4
cGVjdGVkLnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDEyICswLDAgQEAKLUNoZWNrIGlmIGlucHV0
LnZhbHVlPSIiIGNsZWFycyBhbiBpbnB1dCB3aXRoIHBhcnRpYWxseS1zcGVjaWZpZWQgdmFsdWUu
Ci0KLU9uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMs
IGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KLQotCi1FbXB0eSB0ZXh0OiBtbS9kZC95eXl5
Ci1QQVNTIGV2ZW50U2VuZGVyLmtleURvd24oInVwQXJyb3ciKTsgZ2V0VXNlckFnZW50U2hhZG93
VGV4dENvbnRlbnQoaW5wdXQpIGlzIG5vdCBlbXB0eVRleHQKLVBBU1MgaW5wdXQudmFsdWUgPSAi
IjsgZ2V0VXNlckFnZW50U2hhZG93VGV4dENvbnRlbnQoaW5wdXQpIGlzIGVtcHR5VGV4dAotUEFT
UyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQotCi1URVNUIENPTVBMRVRFCi0KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvZGF0ZS1tdWx0aXBsZS1maWVsZHMvZGF0ZS1tdWx0
aXBsZS1maWVsZHMtdmFsdWUtc2V0LWVtcHR5Lmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1z
L2RhdGUtbXVsdGlwbGUtZmllbGRzL2RhdGUtbXVsdGlwbGUtZmllbGRzLXZhbHVlLXNldC1lbXB0
eS5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMjhiOGUxOTQ0Y2NlYzQwODM1
NTQ2MjkyMjQwMmU3NmM4NWNhNzA1Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvZGF0ZS1tdWx0aXBsZS1maWVsZHMv
ZGF0ZS1tdWx0aXBsZS1maWVsZHMtdmFsdWUtc2V0LWVtcHR5Lmh0bWwKKysrIC9kZXYvbnVsbApA
QCAtMSwxMCArMCwwIEBACi08IURPQ1RZUEUgaHRtbD4KLTxib2R5PgotPHNjcmlwdCBzcmM9Ii4u
Ly4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0i
Li4vcmVzb3VyY2VzL2NvbW1vbi5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iLi4vcmVzb3Vy
Y2VzL211bHRpcGxlLWZpZWxkcy12YWx1ZS1zZXQtZW1wdHkuanMiPjwvc2NyaXB0PgotPHNjcmlw
dD4KLXRlc3RTZXR0aW5nRW1wdHlTdHJpbmdDbGVhcnNTdWJGaWVsZHMoJ2RhdGUnKTsKLTwvc2Ny
aXB0PgotPHNjcmlwdCBzcmM9Ii4uLy4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwv
c2NyaXB0PgotPC9ib2R5PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9kYXRl
LW11bHRpcGxlLWZpZWxkcy9kYXRlLW11bHRpcGxlLWZpZWxkcy13aGVlbC1ldmVudC1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2RhdGUtbXVsdGlwbGUtZmllbGRzL2RhdGUt
bXVsdGlwbGUtZmllbGRzLXdoZWVsLWV2ZW50LWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMjRhOGM0NmZlZWQ2MmZmOGI5OTRkYTJmYTUxNjQ5OTVjZjcwZjQyZi4u
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0
cy9mYXN0L2Zvcm1zL2RhdGUtbXVsdGlwbGUtZmllbGRzL2RhdGUtbXVsdGlwbGUtZmllbGRzLXdo
ZWVsLWV2ZW50LWV4cGVjdGVkLnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDIzICswLDAgQEAKLVRl
c3QgZm9yIHdoZWVsIG9wZXJhdGlvbnMgZm9yIDxpbnB1dCB0eXBlPWRhdGU+Ci0KLU9uIHN1Y2Nl
c3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5
ICJURVNUIENPTVBMRVRFIi4KLQotCi1Jbml0aWFsIHZhbHVlIGlzIDE5OTktMDEtMTMuIFdlJ2xs
IHdoZWVsIHVwIGJ5IDE6Ci1QQVNTIGlucHV0LnZhbHVlIGlzICIxOTk5LTAyLTEzIgotV2hlZWwg
dXAgYnkgMTAwOgotUEFTUyBpbnB1dC52YWx1ZSBpcyAiMTk5OS0wMy0xMyIKLVdoZWVsIGRvd24g
YnkgMToKLVBBU1MgaW5wdXQudmFsdWUgaXMgIjE5OTktMDItMTMiCi1XaGVlbCBkb3duIGJ5IDI1
NjoKLVBBU1MgaW5wdXQudmFsdWUgaXMgIjE5OTktMDEtMTMiCi1EaXNhYmxlZCBpbnB1dCBlbGVt
ZW50OgotUEFTUyBpbnB1dC52YWx1ZSBpcyAiMTk5OS0wMS0xMyIKLVJlYWQtb25seSBpbnB1dCBl
bGVtZW50OgotUEFTUyBpbnB1dC52YWx1ZSBpcyAiMTk5OS0wMS0xMyIKLU5vIGZvY3VzOgotUEFT
UyBpbnB1dC52YWx1ZSBpcyAiMTk5OS0wMS0xMyIKLVBBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlz
IHRydWUKLQotVEVTVCBDT01QTEVURQotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Zv
cm1zL2RhdGUtbXVsdGlwbGUtZmllbGRzL2RhdGUtbXVsdGlwbGUtZmllbGRzLXdoZWVsLWV2ZW50
Lmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2RhdGUtbXVsdGlwbGUtZmllbGRzL2RhdGUt
bXVsdGlwbGUtZmllbGRzLXdoZWVsLWV2ZW50Lmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDY2MGJmNTliMTVjNTg4MDgyMWFhZThhNjgwMjA2NjMyNWNiODVmMzAuLjAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9m
b3Jtcy9kYXRlLW11bHRpcGxlLWZpZWxkcy9kYXRlLW11bHRpcGxlLWZpZWxkcy13aGVlbC1ldmVu
dC5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsMTcgKzAsMCBAQAotPCFET0NUWVBFIGh0bWw+Ci08
aHRtbD4KLTxoZWFkPgotPHNjcmlwdCBzcmM9Ii4uLy4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pz
LXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvY29tbW9u
LXdoZWVsLWV2ZW50LmpzIj48L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5PgotPHNjcmlwdD4KLXRl
c3RXaGVlbEV2ZW50KHsKLSAgICAnaW5wdXRUeXBlJyA6ICdkYXRlJywKLSAgICAnaW5pdGlhbFZh
bHVlJyA6ICcxOTk5LTAxLTEzJywKLSAgICAnc3RlcFVwVmFsdWUxJyA6ICcxOTk5LTAyLTEzJywK
LSAgICAnc3RlcFVwVmFsdWUyJyA6ICcxOTk5LTAzLTEzJyB9KTsKLTwvc2NyaXB0PgotPHNjcmlw
dCBzcmM9Ii4uLy4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3Jp
cHQ+Ci08L2JvZHk+Ci08L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1z
L2RhdGUtbXVsdGlwbGUtZmllbGRzL3Jlc291cmNlcy9wcmVzZXJ2ZS12YWx1ZS1hZnRlci1oaXN0
b3J5LWJhY2stZnJhbWUuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvZGF0ZS1tdWx0aXBs
ZS1maWVsZHMvcmVzb3VyY2VzL3ByZXNlcnZlLXZhbHVlLWFmdGVyLWhpc3RvcnktYmFjay1mcmFt
ZS5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBjN2MzZTk5NzgxODI2MWQ2MjEy
ODExMTc1ZjhkYzZiNGNiYzExZWZhLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvZGF0ZS1tdWx0aXBsZS1maWVsZHMv
cmVzb3VyY2VzL3ByZXNlcnZlLXZhbHVlLWFmdGVyLWhpc3RvcnktYmFjay1mcmFtZS5odG1sCisr
KyAvZGV2L251bGwKQEAgLTEsMTAwICswLDAgQEAKLTwhRE9DVFlQRSBodG1sPgotPGJvZHk+Ci08
aW5wdXQgdHlwZT0iZGF0ZSIgaWQ9InRlc3QxIj4KLTxpbnB1dCB0eXBlPSJkYXRlIiBpZD0idGVz
dDIiIG1pbj0iMTk5OS0wMS0wMSIgbWF4PSIyMDAwLTEyLTMxIj4KLTxzY3JpcHQ+Ci1mdW5jdGlv
biBmaWVsZHNUZXh0KGlucHV0KSB7Ci0gICAgcmV0dXJuIHdpbmRvdy5pbnRlcm5hbHMub2xkZXN0
U2hhZG93Um9vdChpbnB1dCkudGV4dENvbnRlbnQ7Ci19Ci0KLWZ1bmN0aW9uIGJhY2sobmV3U3Rh
dGUpIHsKLSAgICBwYXJlbnQuc3RhdGUgPSBuZXdTdGF0ZTsKLSAgICBoaXN0b3J5LmJhY2soKTsK
LX0KLQotZnVuY3Rpb24gZm9yd2FyZChuZXdTdGF0ZSkgewotICAgIHBhcmVudC5zdGF0ZSA9IG5l
d1N0YXRlOwotICAgIGhpc3RvcnkuZm9yd2FyZCgpOwotfQotCi1mdW5jdGlvbiBrZXlEb3duKGtl
eSkgewotICAgIGV2ZW50U2VuZGVyLmtleURvd24oa2V5KTsKLX0KLQotdmFyIHRlc3RJbnB1dDEg
PSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgndGVzdDEnKTsKLXZhciB0ZXN0SW5wdXQyID0gZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3Rlc3QyJyk7Ci12YXIgcGFnZU5hbWUgPSBsb2NhdGlvbi5z
ZWFyY2ggfHwgJz9wYWdlMSc7Ci0KLXdpbmRvdy5vbmxvYWQgPSBmdW5jdGlvbigpIHsKLSAgICBz
d2l0Y2ggKHBhZ2VOYW1lKSB7Ci0gICAgY2FzZSAnP3BhZ2UxJzoKLSAgICAgICAgc3dpdGNoIChw
YXJlbnQuc3RhdGUpIHsKLSAgICAgICAgY2FzZSAnZGlyZWN0JzogewotICAgICAgICAgICAgdGVz
dElucHV0MS52YWx1ZSA9ICcxMjAxMi0xMC0wOSc7Ci0gICAgICAgICAgICB0ZXN0SW5wdXQyLmZv
Y3VzKCk7Ci0gICAgICAgICAgICBrZXlEb3duKCd1cEFycm93Jyk7IC8vIC0+IFswMV0vZGQveXl5
eQotICAgICAgICAgICAga2V5RG93bignXHQnKTsgLy8gICAgICAtPiAwMS9bZGRdL3l5eXkKLSAg
ICAgICAgICAgIGtleURvd24oJ1x0Jyk7IC8vICAgICAgLT4gMDEvZGQvW3l5eXldCi0gICAgICAg
ICAgICBrZXlEb3duKCd1cEFycm93Jyk7IC8vIC0+IDAxL2RkL1sxOTk5XQotICAgICAgICAgICAg
dmFyIG5leHRVcmkgPSBsb2NhdGlvbi50b1N0cmluZygpLnJlcGxhY2UoJz9wYWdlMScsICc/cGFn
ZTInKTsKLSAgICAgICAgICAgIHNldFRpbWVvdXQoZnVuY3Rpb24oKSB7IHdpbmRvdy5sb2NhdGlv
bi5ocmVmID0gbmV4dFVyaTsgfSwgMCk7Ci0gICAgICAgICAgICBicmVhazsKLSAgICAgICAgfQot
ICAgICAgICBjYXNlICdiYWNrVG8xJzoKLSAgICAgICAgICAgIHBhcmVudC50ZXN0Q2FzZXMucHVz
aCgKLSAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICdkZXNjcmlwdGlvbicg
OiAnV2VudCBiYWNrIHRvIGEgcGFnZS4gQ2hlY2tpbmcgYSBmb3JtIGNvbnRyb2wgd2hpY2ggaGFk
IGEgZnVsbCB2YWx1ZScsCi0gICAgICAgICAgICAgICAgICAgICdhY3R1YWwnIDogdGVzdElucHV0
MS52YWx1ZSwKLSAgICAgICAgICAgICAgICAgICAgJ2V4cGVjdGVkJyA6ICcxMjAxMi0xMC0wOScg
fSwKLSAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICdkZXNjcmlwdGlvbicg
OiAnV2VudCBiYWNrIHRvIGEgcGFnZS4gQ2hlY2tpbmcgYSBmb3JtIGNvbnRyb2wgd2hpY2ggaGFk
IGEgcGFydGlhbCB2YWx1ZScsCi0gICAgICAgICAgICAgICAgICAgICdhY3R1YWwnIDogZmllbGRz
VGV4dCh0ZXN0SW5wdXQyKSwKLSAgICAgICAgICAgICAgICAgICAgJ2V4cGVjdGVkJyA6ICcwMS9k
ZC8xOTk5JwotICAgICAgICAgICAgICAgIH0pOwotICAgICAgICAgICAgZm9yd2FyZCgnZm9yd2Fy
ZFRvMicpOwotICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgIGNhc2UgJ2JhY2tUbzFTZWNvbmQn
OgotICAgICAgICAgICAgcGFyZW50LmZpbmlzaFRlc3QoKTsKLSAgICAgICAgICAgIGJyZWFrOwot
ICAgICAgICBkZWZhdWx0OgotICAgICAgICAgICAgcGFyZW50LmZhaWxlZCgnVW5leHBlY3RlZCBz
dGF0ZSgnICsgcGFyZW50LnN0YXRlICsgJyknKTsKLSAgICAgICAgICAgIGJyZWFrOwotICAgICAg
ICB9Ci0gICAgICAgIGJyZWFrOwotCi0gICAgY2FzZSAnP3BhZ2UyJzoKLSAgICAgICAgc3dpdGNo
IChwYXJlbnQuc3RhdGUpIHsKLSAgICAgICAgY2FzZSAnZGlyZWN0JzoKLSAgICAgICAgICAgIHRl
c3RJbnB1dDEudmFsdWUgPSAnMDAwMS0xMS0xNyc7Ci0gICAgICAgICAgICB0ZXN0SW5wdXQyLmZv
Y3VzKCk7Ci0gICAgICAgICAgICBrZXlEb3duKCdcdCcpOyAvLyAgICAgICAgLT4gbW0vW2RkXS95
eXl5Ci0gICAgICAgICAgICBrZXlEb3duKCdkb3duQXJyb3cnKTsgLy8gLT4gbW0vWzMxXS95eXl5
Ci0gICAgICAgICAgICBiYWNrKCdiYWNrVG8xJyk7Ci0gICAgICAgICAgICBicmVhazsKLSAgICAg
ICAgY2FzZSAnZm9yd2FyZFRvMic6Ci0gICAgICAgICAgICBwYXJlbnQudGVzdENhc2VzLnB1c2go
Ci0gICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICAnZGVzY3JpcHRpb24nIDog
J1dlbnQgZm9yd2FyZCB0byBhIHBhZ2UuIENoZWNraW5nIGEgZm9ybSBjb250cm9sIHdoaWNoIGhh
ZCBhIGZ1bGwgdmFsdWUnLAotICAgICAgICAgICAgICAgICAgICAnYWN0dWFsJyA6IHRlc3RJbnB1
dDEudmFsdWUsCi0gICAgICAgICAgICAgICAgICAgICdleHBlY3RlZCcgOiAnMDAwMS0xMS0xNycK
LSAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAg
ICAgJ2Rlc2NyaXB0aW9uJyA6ICdXZW50IGZvcndhcmQgdG8gYSBwYWdlLiBDaGVja2luZyBhIGZv
cm0gY29udHJvbCB3aGljaCBoYWQgYSBwYXJ0aWFsIHZhbHVlJywKLSAgICAgICAgICAgICAgICAg
ICAgJ2FjdHVhbCcgOiBmaWVsZHNUZXh0KHRlc3RJbnB1dDIpLAotICAgICAgICAgICAgICAgICAg
ICAnZXhwZWN0ZWQnIDogJ21tLzMxL3l5eXknCi0gICAgICAgICAgICAgICAgfSk7Ci0gICAgICAg
ICAgICBiYWNrKCdiYWNrVG8xU2Vjb25kJyk7Ci0gICAgICAgICAgICBicmVhazsKLSAgICAgICAg
ZGVmYXVsdDoKLSAgICAgICAgICAgIHBhcmVudC5mYWlsZWQoJ1VuZXhwZWN0ZWQgc3RhdGUoJyAr
IHBhcmVudC5zdGF0ZSArICcpJyk7Ci0gICAgICAgICAgICBicmVhazsKLSAgICAgICAgfQotICAg
ICAgICBicmVhazsKLQotICAgIGRlZmF1bHQ6Ci0gICAgICAgIHBhcmVudC5mYWlsZWQoJ1VuZXhw
ZWN0ZWQgcGFnZSgnICsgcGFnZU5hbWUgKyAnKScpOwotICAgICAgICBicmVhazsKLSAgICB9Ci19
OwotPC9zY3JpcHQ+Ci08L2JvZHk+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1z
L2RhdGV0aW1lLW11bHRpcGxlLWZpZWxkcy9kYXRldGltZS1tdWx0aXBsZS1maWVsZHMtZmFsbGJh
Y2stZm9ybWF0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvZGF0ZXRpbWUt
bXVsdGlwbGUtZmllbGRzL2RhdGV0aW1lLW11bHRpcGxlLWZpZWxkcy1mYWxsYmFjay1mb3JtYXQt
ZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBhNzJiYjc5NTNiNTRm
ODcyMzdmMTcxNTU1MjY0YmUyMDkyNmQ1MDU5Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvZGF0ZXRpbWUtbXVsdGlw
bGUtZmllbGRzL2RhdGV0aW1lLW11bHRpcGxlLWZpZWxkcy1mYWxsYmFjay1mb3JtYXQtZXhwZWN0
ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEsMTUgKzAsMCBAQAotQ2hlY2tzIGluY29tcGxldGUg
ZGF0ZXRpbWUgZm9ybWF0cyBhcmUgcmVqZWN0ZWQuCi0KLU9uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNl
ZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRF
Ii4KLQotCi1WYWxpZCBmb3JtYXQKLVBBU1MgZ2V0VXNlckFnZW50U2hhZG93VGV4dENvbnRlbnQo
aW5wdXQpIGlzICIxOTk5LTA3LTMxIDExOjU5IFBNIgotSW52YWxpZCBmb3JtYXQsIGZhbGxiYWNr
IHRvIHl5eXktTU0tZGQnVCdISDptbQotUEFTUyBnZXRVc2VyQWdlbnRTaGFkb3dUZXh0Q29udGVu
dChpbnB1dCkgaXMgIjE5OTktMDctMzFUMjM6NTkiCi1QQVNTIGdldFVzZXJBZ2VudFNoYWRvd1Rl
eHRDb250ZW50KGlucHV0KSBpcyAiMTk5OS0wNy0zMVQyMzo1OSIKLVBBU1MgZ2V0VXNlckFnZW50
U2hhZG93VGV4dENvbnRlbnQoaW5wdXQpIGlzICIxOTk5LTA3LTMxVDIzOjU5IgotUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQotCi1URVNUIENPTVBMRVRFCi0KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2Zhc3QvZm9ybXMvZGF0ZXRpbWUtbXVsdGlwbGUtZmllbGRzL2RhdGV0aW1lLW11
bHRpcGxlLWZpZWxkcy1mYWxsYmFjay1mb3JtYXQuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZm9y
bXMvZGF0ZXRpbWUtbXVsdGlwbGUtZmllbGRzL2RhdGV0aW1lLW11bHRpcGxlLWZpZWxkcy1mYWxs
YmFjay1mb3JtYXQuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMjA5ZjY4OGFk
OTYzYzg1YzA3NzNlMzg3NmRkNWRlYWNhYmVkMmZjMS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2RhdGV0aW1lLW11
bHRpcGxlLWZpZWxkcy9kYXRldGltZS1tdWx0aXBsZS1maWVsZHMtZmFsbGJhY2stZm9ybWF0Lmh0
bWwKKysrIC9kZXYvbnVsbApAQCAtMSwzOSArMCwwIEBACi08IURPQ1RZUEUgaHRtbD4KLTxodG1s
PgotPGhlYWQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpz
Ij48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvY29tbW9uLmpzIj48L3Njcmlw
dD4KLTwvaGVhZD4KLTxib2R5PgotPHNjcmlwdD4KLWRlc2NyaXB0aW9uKCdDaGVja3MgaW5jb21w
bGV0ZSBkYXRldGltZSBmb3JtYXRzIGFyZSByZWplY3RlZC4nKTsKLQotdmFyIGlucHV0ID0gZG9j
dW1lbnQuY3JlYXRlRWxlbWVudCgnaW5wdXQnKTsKLWlucHV0LnR5cGUgPSAnZGF0ZXRpbWUtbG9j
YWwnOwotZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChpbnB1dCk7Ci0KLWZ1bmN0aW9uIHNldERh
dGVUaW1lRm9ybWF0KHBhdHRlcm4pIHsKLSAgICB2YXIgdmFsdWUgPSBpbnB1dC52YWx1ZTsKLSAg
ICBnZXRFbGVtZW50QnlQc2V1ZG9JZChpbnRlcm5hbHMueW91bmdlc3RTaGFkb3dSb290KGlucHV0
KSwgJy13ZWJraXQtZGF0ZXRpbWUtZWRpdCcpLnNldEF0dHJpYnV0ZSgncGF0dGVybicsIHBhdHRl
cm4pOwotICAgIGlucHV0LnZhbHVlID0gJyc7IC8vIFVwZGF0ZXMgdGhlIGVsZW1lbnQgZm9yIG5l
dyBmb3JtYXQKLSAgICBpbnB1dC52YWx1ZSA9IHZhbHVlOwotfQotCi1pbnB1dC52YWx1ZSA9ICcx
OTk5LTA3LTMxVDIzOjU5JzsKLQotZGVidWcoJ1ZhbGlkIGZvcm1hdCcpOwotc2V0RGF0ZVRpbWVG
b3JtYXQoInl5eXktTU0tZGQgaGg6bW0gYSIpOwotc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdnZXRV
c2VyQWdlbnRTaGFkb3dUZXh0Q29udGVudChpbnB1dCknLCAnMTk5OS0wNy0zMSAxMTo1OSBQTScp
OwotCi1kZWJ1ZygiSW52YWxpZCBmb3JtYXQsIGZhbGxiYWNrIHRvIHl5eXktTU0tZGQnVCdISDpt
bSIpOwotc2V0RGF0ZVRpbWVGb3JtYXQoJ3l5eXktTU0tZGQnKTsKLXNob3VsZEJlRXF1YWxUb1N0
cmluZygnZ2V0VXNlckFnZW50U2hhZG93VGV4dENvbnRlbnQoaW5wdXQpJywgJzE5OTktMDctMzFU
MjM6NTknKTsKLXNldERhdGVUaW1lRm9ybWF0KCdISDptbScpOwotc2hvdWxkQmVFcXVhbFRvU3Ry
aW5nKCdnZXRVc2VyQWdlbnRTaGFkb3dUZXh0Q29udGVudChpbnB1dCknLCAnMTk5OS0wNy0zMVQy
Mzo1OScpOwotc2V0RGF0ZVRpbWVGb3JtYXQoInl5eXktTU0tZGQnVCdoaDptbSIpOwotc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCdnZXRVc2VyQWdlbnRTaGFkb3dUZXh0Q29udGVudChpbnB1dCknLCAn
MTk5OS0wNy0zMVQyMzo1OScpOwotCi08L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIuLi8uLi9qcy9y
ZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KLTwvYm9keT4KLTwvaHRtbD4KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvZGF0ZXRpbWUtbXVsdGlwbGUtZmllbGRz
L2RhdGV0aW1lLW11bHRpcGxlLWZpZWxkcy12YWxpZGl0eS1iYWRpbnB1dC1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2RhdGV0aW1lLW11bHRpcGxlLWZpZWxkcy9kYXRldGlt
ZS1tdWx0aXBsZS1maWVsZHMtdmFsaWRpdHktYmFkaW5wdXQtZXhwZWN0ZWQudHh0CmRlbGV0ZWQg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAzYTRlZTQ1OGU1YjIyMTMyMTI1NmQ2ZDM3ODgyMzE5YTgz
ZWQyNmJlLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xh
eW91dFRlc3RzL2Zhc3QvZm9ybXMvZGF0ZXRpbWUtbXVsdGlwbGUtZmllbGRzL2RhdGV0aW1lLW11
bHRpcGxlLWZpZWxkcy12YWxpZGl0eS1iYWRpbnB1dC1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVs
bApAQCAtMSwyMCArMCwwIEBACi1BIGRhdGV0aW1lIGlucHV0IGZpZWxkcyB3aXRoIGEgYmFkIHVz
ZXIgaW5wdXQgc2hvdWxkIG1ha2UgdmFsaWRpdHkuYmFkSW5wdXQgdHJ1ZSBhbmQgaGF2ZSA6aW52
YWxpZCBzdHlsZS4KLQotT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNT
IiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgotCi0KLUluaXRpYWwgc3Rh
dGUuIFRoZSBlbG1lbnQgaGFzIG5vIHZhbHVlLgotUEFTUyBjb2xvck9mKGlucHV0KSBpcyBub3Qg
aW52YWxpZFN0eWxlQ29sb3IKLVBBU1MgaW5wdXQudmFsaWRpdHkuYmFkSW5wdXQgaXMgZmFsc2UK
LVNldCBhIHZhbHVlIHRvIHRoZSBmaXJzdCBzdWItZmllbGQuIFRoZSBlbGVtZW50IGJlY29tZXMg
YmFkSW5wdXQuCi1QQVNTIGNvbG9yT2YoaW5wdXQpIGlzIGludmFsaWRTdHlsZUNvbG9yCi1QQVNT
IGlucHV0LnZhbGlkaXR5LmJhZElucHV0IGlzIHRydWUKLVNldCBhbiBpbnZhbGlkIGRhdGUsIDIw
MTItMDItMzEuCi1QQVNTIGlucHV0LnZhbGlkaXR5LmJhZElucHV0IGlzIGZhbHNlCi1QQVNTIGlu
cHV0LnZhbHVlIGlzICIiCi1QQVNTIGlucHV0LnZhbGlkaXR5LmJhZElucHV0IGlzIHRydWUKLVBB
U1MgY29sb3JPZihpbnB1dCkgaXMgaW52YWxpZFN0eWxlQ29sb3IKLVBBU1Mgc3VjY2Vzc2Z1bGx5
UGFyc2VkIGlzIHRydWUKLQotVEVTVCBDT01QTEVURQotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9mYXN0L2Zvcm1zL2RhdGV0aW1lLW11bHRpcGxlLWZpZWxkcy9kYXRldGltZS1tdWx0aXBsZS1m
aWVsZHMtdmFsaWRpdHktYmFkaW5wdXQuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvZGF0
ZXRpbWUtbXVsdGlwbGUtZmllbGRzL2RhdGV0aW1lLW11bHRpcGxlLWZpZWxkcy12YWxpZGl0eS1i
YWRpbnB1dC5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA4ODJhMGYxMzcxZTg4
NmEyODc5NDg3NmVhYmY2MDFhNDgxM2Y1ZTYxLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvZGF0ZXRpbWUtbXVsdGlw
bGUtZmllbGRzL2RhdGV0aW1lLW11bHRpcGxlLWZpZWxkcy12YWxpZGl0eS1iYWRpbnB1dC5odG1s
CisrKyAvZGV2L251bGwKQEAgLTEsMTQgKzAsMCBAQAotPCFET0NUWVBFIGh0bWw+Ci08c3R5bGU+
Ci06aW52YWxpZCB7Ci0gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmMDAwMDsKLX0KLTwvc3R5bGU+
Ci08Ym9keT4KLTxzY3JpcHQgc3JjPSIuLi8uLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMi
Pjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy9tdWx0aXBsZS1maWVsZHMtdmFs
aWRpdHktYmFkaW5wdXQuanMiPjwvc2NyaXB0PgotPHNjcmlwdD4KLXRlc3RCYWRJbnB1dCgnZGF0
ZXRpbWUnKTsKLTwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii4uLy4uL2pzL3Jlc291cmNlcy9qcy10
ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgotPC9ib2R5PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZmFzdC9mb3Jtcy9kYXRldGltZS1tdWx0aXBsZS1maWVsZHMvZGF0ZXRpbWUtbXVsdGlwbGUtZmll
bGRzLXZhbHVlLXNldC1lbXB0eS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1z
L2RhdGV0aW1lLW11bHRpcGxlLWZpZWxkcy9kYXRldGltZS1tdWx0aXBsZS1maWVsZHMtdmFsdWUt
c2V0LWVtcHR5LWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZDRh
ZDUzZTFhZmVjNGY0MmU3ZjY4NzUzZDEzYzgxYmE1MGVmZjNhZS4uMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2RhdGV0
aW1lLW11bHRpcGxlLWZpZWxkcy9kYXRldGltZS1tdWx0aXBsZS1maWVsZHMtdmFsdWUtc2V0LWVt
cHR5LWV4cGVjdGVkLnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDEyICswLDAgQEAKLUNoZWNrIGlm
IGlucHV0LnZhbHVlPSIiIGNsZWFycyBhbiBpbnB1dCB3aXRoIHBhcnRpYWxseS1zcGVjaWZpZWQg
dmFsdWUuCi0KLU9uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVz
c2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KLQotCi1FbXB0eSB0ZXh0OiBtbS9k
ZC95eXl5IC0tOi0tIC0tCi1QQVNTIGV2ZW50U2VuZGVyLmtleURvd24oInVwQXJyb3ciKTsgZ2V0
VXNlckFnZW50U2hhZG93VGV4dENvbnRlbnQoaW5wdXQpIGlzIG5vdCBlbXB0eVRleHQKLVBBU1Mg
aW5wdXQudmFsdWUgPSAiIjsgZ2V0VXNlckFnZW50U2hhZG93VGV4dENvbnRlbnQoaW5wdXQpIGlz
IGVtcHR5VGV4dAotUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQotCi1URVNUIENPTVBM
RVRFCi0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvZGF0ZXRpbWUtbXVsdGlw
bGUtZmllbGRzL2RhdGV0aW1lLW11bHRpcGxlLWZpZWxkcy12YWx1ZS1zZXQtZW1wdHkuaHRtbCBi
L0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvZGF0ZXRpbWUtbXVsdGlwbGUtZmllbGRzL2RhdGV0aW1l
LW11bHRpcGxlLWZpZWxkcy12YWx1ZS1zZXQtZW1wdHkuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggOWQ3NmU2NjA1NDA4ZmQ3MzA1MzA2Y2MyMDA5ZWFlZTkyYTBiZjY1Ni4uMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9m
YXN0L2Zvcm1zL2RhdGV0aW1lLW11bHRpcGxlLWZpZWxkcy9kYXRldGltZS1tdWx0aXBsZS1maWVs
ZHMtdmFsdWUtc2V0LWVtcHR5Lmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSwxMCArMCwwIEBACi08
IURPQ1RZUEUgaHRtbD4KLTxib2R5PgotPHNjcmlwdCBzcmM9Ii4uLy4uL2pzL3Jlc291cmNlcy9q
cy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL2NvbW1v
bi5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL211bHRpcGxlLWZpZWxk
cy12YWx1ZS1zZXQtZW1wdHkuanMiPjwvc2NyaXB0PgotPHNjcmlwdD4KLXRlc3RTZXR0aW5nRW1w
dHlTdHJpbmdDbGVhcnNTdWJGaWVsZHMoJ2RhdGV0aW1lJyk7Ci08L3NjcmlwdD4KLTxzY3JpcHQg
c3JjPSIuLi8uLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KLTwvYm9k
eT4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvZGF0ZXRpbWVsb2NhbC1tdWx0
aXBsZS1maWVsZHMvZGF0ZXRpbWVsb2NhbC1tdWx0aXBsZS1maWVsZHMtYXgtYXJpYS1hdHRyaWJ1
dGVzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvZGF0ZXRpbWVsb2NhbC1t
dWx0aXBsZS1maWVsZHMvZGF0ZXRpbWVsb2NhbC1tdWx0aXBsZS1maWVsZHMtYXgtYXJpYS1hdHRy
aWJ1dGVzLWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNWM0OGY0
YTg3Y2I4OTBhNTU2OTU4MThlMjI2NDdlMjcwOGE2MGFkNS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2RhdGV0aW1l
bG9jYWwtbXVsdGlwbGUtZmllbGRzL2RhdGV0aW1lbG9jYWwtbXVsdGlwbGUtZmllbGRzLWF4LWFy
aWEtYXR0cmlidXRlcy1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSwyOCArMCwwIEBA
Ci1UaGlzIHRlc3QgY2hlY2tzIGFyaWEtaGVscCBhdHRyaWJ1dGUgb2YgZmllbGRzIGluIG11bHRp
cGxlIGZpZWxkcyBkYXRldGltZS1sb2NhbCBpbnB1dCBVSS4KLQotT24gc3VjY2VzcywgeW91IHdp
bGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09N
UExFVEUiLgotCi0KLU5vbi1lbXB0eSB2YWx1ZQotUEFTUyBmb2N1c2VkRmllbGRWYWx1ZURlc2Ny
aXB0aW9uKCkgaXMgIkFYSGVscDogTW9udGgsIEFYVmFsdWVEZXNjcmlwdGlvbjogMTAsIDEsIDEy
IgotUEFTUyBmb2N1c2VkRmllbGRWYWx1ZURlc2NyaXB0aW9uKCkgaXMgIkFYSGVscDogRGF5LCBB
WFZhbHVlRGVzY3JpcHRpb246IDA5LCAxLCAzMSIKLVBBU1MgZm9jdXNlZEZpZWxkVmFsdWVEZXNj
cmlwdGlvbigpIGlzICJBWEhlbHA6IFllYXIsIEFYVmFsdWVEZXNjcmlwdGlvbjogMjAxMiwgMSwg
Mjc1NzYwIgotUEFTUyBmb2N1c2VkRmllbGRWYWx1ZURlc2NyaXB0aW9uKCkgaXMgIkFYSGVscDog
SG91cnMsIEFYVmFsdWVEZXNjcmlwdGlvbjogMTIsIDEsIDEyIgotUEFTUyBmb2N1c2VkRmllbGRW
YWx1ZURlc2NyaXB0aW9uKCkgaXMgIkFYSGVscDogTWludXRlcywgQVhWYWx1ZURlc2NyaXB0aW9u
OiAzNCwgMCwgNTkiCi1QQVNTIGZvY3VzZWRGaWVsZFZhbHVlRGVzY3JpcHRpb24oKSBpcyAiQVhI
ZWxwOiBTZWNvbmRzLCBBWFZhbHVlRGVzY3JpcHRpb246IDU2LCAwLCA1OSIKLVBBU1MgZm9jdXNl
ZEZpZWxkVmFsdWVEZXNjcmlwdGlvbigpIGlzICJBWEhlbHA6IE1pbGxpc2Vjb25kcywgQVhWYWx1
ZURlc2NyaXB0aW9uOiA3ODksIDAsIDk5OSIKLVBBU1MgZm9jdXNlZEZpZWxkVmFsdWVEZXNjcmlw
dGlvbigpIGlzICJBWEhlbHA6IEFNL1BNLCBBWFZhbHVlRGVzY3JpcHRpb246IFBNLCAxLCAyIgot
RW1wdHkgdmFsdWUKLVBBU1MgZm9jdXNlZEZpZWxkVmFsdWVEZXNjcmlwdGlvbigpIGlzICJBWEhl
bHA6IEFNL1BNLCBBWFZhbHVlRGVzY3JpcHRpb246IGJsYW5rLCAxLCAyIgotUEFTUyBmb2N1c2Vk
RmllbGRWYWx1ZURlc2NyaXB0aW9uKCkgaXMgIkFYSGVscDogTWlsbGlzZWNvbmRzLCBBWFZhbHVl
RGVzY3JpcHRpb246IGJsYW5rLCAwLCA5OTkiCi1QQVNTIGZvY3VzZWRGaWVsZFZhbHVlRGVzY3Jp
cHRpb24oKSBpcyAiQVhIZWxwOiBTZWNvbmRzLCBBWFZhbHVlRGVzY3JpcHRpb246IGJsYW5rLCAw
LCA1OSIKLVBBU1MgZm9jdXNlZEZpZWxkVmFsdWVEZXNjcmlwdGlvbigpIGlzICJBWEhlbHA6IE1p
bnV0ZXMsIEFYVmFsdWVEZXNjcmlwdGlvbjogYmxhbmssIDAsIDU5IgotUEFTUyBmb2N1c2VkRmll
bGRWYWx1ZURlc2NyaXB0aW9uKCkgaXMgIkFYSGVscDogSG91cnMsIEFYVmFsdWVEZXNjcmlwdGlv
bjogYmxhbmssIDEsIDEyIgotUEFTUyBmb2N1c2VkRmllbGRWYWx1ZURlc2NyaXB0aW9uKCkgaXMg
IkFYSGVscDogWWVhciwgQVhWYWx1ZURlc2NyaXB0aW9uOiBibGFuaywgMSwgMjc1NzYwIgotUEFT
UyBmb2N1c2VkRmllbGRWYWx1ZURlc2NyaXB0aW9uKCkgaXMgIkFYSGVscDogRGF5LCBBWFZhbHVl
RGVzY3JpcHRpb246IGJsYW5rLCAxLCAzMSIKLVBBU1MgZm9jdXNlZEZpZWxkVmFsdWVEZXNjcmlw
dGlvbigpIGlzICJBWEhlbHA6IE1vbnRoLCBBWFZhbHVlRGVzY3JpcHRpb246IGJsYW5rLCAxLCAx
MiIKLQotUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQotCi1URVNUIENPTVBMRVRFCi0K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvZGF0ZXRpbWVsb2NhbC1tdWx0aXBs
ZS1maWVsZHMvZGF0ZXRpbWVsb2NhbC1tdWx0aXBsZS1maWVsZHMtYXgtYXJpYS1hdHRyaWJ1dGVz
Lmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2RhdGV0aW1lbG9jYWwtbXVsdGlwbGUtZmll
bGRzL2RhdGV0aW1lbG9jYWwtbXVsdGlwbGUtZmllbGRzLWF4LWFyaWEtYXR0cmlidXRlcy5odG1s
CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAyMTE1MTM2MDBhOTljMDM4Y2FlODYyNGMz
ZDZkODRlYWRkNGNkMmE3Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvZGF0ZXRpbWVsb2NhbC1tdWx0aXBsZS1maWVs
ZHMvZGF0ZXRpbWVsb2NhbC1tdWx0aXBsZS1maWVsZHMtYXgtYXJpYS1hdHRyaWJ1dGVzLmh0bWwK
KysrIC9kZXYvbnVsbApAQCAtMSw3MSArMCwwIEBACi08IURPQ1RZUEUgaHRtbD4KLTxodG1sPgot
PGhlYWQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1w
cmUuanMiPjwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHk+Ci08aW5wdXQgaWQ9InRlc3QiIHR5cGU9
ImRhdGV0aW1lLWxvY2FsIiB2YWx1ZT0iMjAxMi0xMC0wOVQxMjozNDo1Ni43ODkiPgotPHNjcmlw
dD4KLWRlc2NyaXB0aW9uKCdUaGlzIHRlc3QgY2hlY2tzIGFyaWEtaGVscCBhdHRyaWJ1dGUgb2Yg
ZmllbGRzIGluIG11bHRpcGxlIGZpZWxkcyBkYXRldGltZS1sb2NhbCBpbnB1dCBVSS4nKTsKLQot
ZnVuY3Rpb24gZm9jdXNlZEZpZWxkVmFsdWVEZXNjcmlwdGlvbigpCi17Ci0gICAgdmFyIGVsZW1l
bnQgPSBhY2Nlc3NpYmlsaXR5Q29udHJvbGxlci5mb2N1c2VkRWxlbWVudDsKLSAgICByZXR1cm4g
ZWxlbWVudC5oZWxwVGV4dCArICcsICcgKyAgZWxlbWVudC52YWx1ZURlc2NyaXB0aW9uICsgJywg
JyArIGVsZW1lbnQubWluVmFsdWUgKyAnLCAnICsgZWxlbWVudC5tYXhWYWx1ZTsKLX0KLQotdmFy
IHRlc3RJbnB1dCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCd0ZXN0Jyk7Ci0KLWlmICghd2lu
ZG93LmFjY2Vzc2liaWxpdHlDb250cm9sbGVyIHx8ICF3aW5kb3cuZXZlbnRTZW5kZXIpCi0gICAg
ZGVidWcoJ1BsZWFzZSBydW4gaW5zaWRlIERSVCBvciBXVFIuJyk7Ci1lbHNlIHsKLSAgICBkZWJ1
ZygnTm9uLWVtcHR5IHZhbHVlJyk7Ci0gICAgdGVzdElucHV0LmZvY3VzKCk7Ci0gICAgc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCdmb2N1c2VkRmllbGRWYWx1ZURlc2NyaXB0aW9uKCknLCAnQVhIZWxw
OiBNb250aCwgQVhWYWx1ZURlc2NyaXB0aW9uOiAxMCwgMSwgMTInKTsKLSAgICBldmVudFNlbmRl
ci5rZXlEb3duKCdcdCcpOwotICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygnZm9jdXNlZEZpZWxk
VmFsdWVEZXNjcmlwdGlvbigpJywgJ0FYSGVscDogRGF5LCBBWFZhbHVlRGVzY3JpcHRpb246IDA5
LCAxLCAzMScpOwotICAgIGV2ZW50U2VuZGVyLmtleURvd24oJ1x0Jyk7Ci0gICAgc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCdmb2N1c2VkRmllbGRWYWx1ZURlc2NyaXB0aW9uKCknLCAnQVhIZWxwOiBZ
ZWFyLCBBWFZhbHVlRGVzY3JpcHRpb246IDIwMTIsIDEsIDI3NTc2MCcpOwotICAgIGV2ZW50U2Vu
ZGVyLmtleURvd24oJ1x0Jyk7Ci0gICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdmb2N1c2VkRmll
bGRWYWx1ZURlc2NyaXB0aW9uKCknLCAnQVhIZWxwOiBIb3VycywgQVhWYWx1ZURlc2NyaXB0aW9u
OiAxMiwgMSwgMTInKTsKLSAgICBldmVudFNlbmRlci5rZXlEb3duKCdcdCcpOwotICAgIHNob3Vs
ZEJlRXF1YWxUb1N0cmluZygnZm9jdXNlZEZpZWxkVmFsdWVEZXNjcmlwdGlvbigpJywgJ0FYSGVs
cDogTWludXRlcywgQVhWYWx1ZURlc2NyaXB0aW9uOiAzNCwgMCwgNTknKTsKLSAgICBldmVudFNl
bmRlci5rZXlEb3duKCdcdCcpOwotICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygnZm9jdXNlZEZp
ZWxkVmFsdWVEZXNjcmlwdGlvbigpJywgJ0FYSGVscDogU2Vjb25kcywgQVhWYWx1ZURlc2NyaXB0
aW9uOiA1NiwgMCwgNTknKTsKLSAgICBldmVudFNlbmRlci5rZXlEb3duKCdcdCcpOwotICAgIHNo
b3VsZEJlRXF1YWxUb1N0cmluZygnZm9jdXNlZEZpZWxkVmFsdWVEZXNjcmlwdGlvbigpJywgJ0FY
SGVscDogTWlsbGlzZWNvbmRzLCBBWFZhbHVlRGVzY3JpcHRpb246IDc4OSwgMCwgOTk5Jyk7Ci0g
ICAgZXZlbnRTZW5kZXIua2V5RG93bignXHQnKTsKLSAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmco
J2ZvY3VzZWRGaWVsZFZhbHVlRGVzY3JpcHRpb24oKScsICdBWEhlbHA6IEFNL1BNLCBBWFZhbHVl
RGVzY3JpcHRpb246IFBNLCAxLCAyJyk7Ci0KLSAgICBkZWJ1ZygnRW1wdHkgdmFsdWUnKTsKLSAg
ICBldmVudFNlbmRlci5rZXlEb3duKCdcYicpOwotICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygn
Zm9jdXNlZEZpZWxkVmFsdWVEZXNjcmlwdGlvbigpJywgJ0FYSGVscDogQU0vUE0sIEFYVmFsdWVE
ZXNjcmlwdGlvbjogYmxhbmssIDEsIDInKTsKLSAgICBldmVudFNlbmRlci5rZXlEb3duKCdcdCcs
IFsnc2hpZnRLZXknXSk7Ci0gICAgZXZlbnRTZW5kZXIua2V5RG93bignXGInKTsKLSAgICBzaG91
bGRCZUVxdWFsVG9TdHJpbmcoJ2ZvY3VzZWRGaWVsZFZhbHVlRGVzY3JpcHRpb24oKScsICdBWEhl
bHA6IE1pbGxpc2Vjb25kcywgQVhWYWx1ZURlc2NyaXB0aW9uOiBibGFuaywgMCwgOTk5Jyk7Ci0g
ICAgZXZlbnRTZW5kZXIua2V5RG93bignXHQnLCBbJ3NoaWZ0S2V5J10pOwotICAgIGV2ZW50U2Vu
ZGVyLmtleURvd24oJ1xiJyk7Ci0gICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdmb2N1c2VkRmll
bGRWYWx1ZURlc2NyaXB0aW9uKCknLCAnQVhIZWxwOiBTZWNvbmRzLCBBWFZhbHVlRGVzY3JpcHRp
b246IGJsYW5rLCAwLCA1OScpOwotICAgIGV2ZW50U2VuZGVyLmtleURvd24oJ1x0JywgWydzaGlm
dEtleSddKTsKLSAgICBldmVudFNlbmRlci5rZXlEb3duKCdcYicpOwotICAgIHNob3VsZEJlRXF1
YWxUb1N0cmluZygnZm9jdXNlZEZpZWxkVmFsdWVEZXNjcmlwdGlvbigpJywgJ0FYSGVscDogTWlu
dXRlcywgQVhWYWx1ZURlc2NyaXB0aW9uOiBibGFuaywgMCwgNTknKTsKLSAgICBldmVudFNlbmRl
ci5rZXlEb3duKCdcdCcsIFsnc2hpZnRLZXknXSk7Ci0gICAgZXZlbnRTZW5kZXIua2V5RG93bign
XGInKTsKLSAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ2ZvY3VzZWRGaWVsZFZhbHVlRGVzY3Jp
cHRpb24oKScsICdBWEhlbHA6IEhvdXJzLCBBWFZhbHVlRGVzY3JpcHRpb246IGJsYW5rLCAxLCAx
MicpOwotICAgIGV2ZW50U2VuZGVyLmtleURvd24oJ1x0JywgWydzaGlmdEtleSddKTsKLSAgICBl
dmVudFNlbmRlci5rZXlEb3duKCdcYicpOwotICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygnZm9j
dXNlZEZpZWxkVmFsdWVEZXNjcmlwdGlvbigpJywgJ0FYSGVscDogWWVhciwgQVhWYWx1ZURlc2Ny
aXB0aW9uOiBibGFuaywgMSwgMjc1NzYwJyk7Ci0gICAgZXZlbnRTZW5kZXIua2V5RG93bignXHQn
LCBbJ3NoaWZ0S2V5J10pOwotICAgIGV2ZW50U2VuZGVyLmtleURvd24oJ1xiJyk7Ci0gICAgc2hv
dWxkQmVFcXVhbFRvU3RyaW5nKCdmb2N1c2VkRmllbGRWYWx1ZURlc2NyaXB0aW9uKCknLCAnQVhI
ZWxwOiBEYXksIEFYVmFsdWVEZXNjcmlwdGlvbjogYmxhbmssIDEsIDMxJyk7Ci0gICAgZXZlbnRT
ZW5kZXIua2V5RG93bignXHQnLCBbJ3NoaWZ0S2V5J10pOwotICAgIGV2ZW50U2VuZGVyLmtleURv
d24oJ1xiJyk7Ci0gICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdmb2N1c2VkRmllbGRWYWx1ZURl
c2NyaXB0aW9uKCknLCAnQVhIZWxwOiBNb250aCwgQVhWYWx1ZURlc2NyaXB0aW9uOiBibGFuaywg
MSwgMTInKTsKLQotICAgIGRlYnVnKCcnKTsKLSAgICB0ZXN0SW5wdXQucGFyZW50Tm9kZS5yZW1v
dmVDaGlsZCh0ZXN0SW5wdXQpOwotfQotPC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vLi4v
ZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KLTwvYm9keT4KLTwv
aHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvZGF0ZXRpbWVsb2NhbC1t
dWx0aXBsZS1maWVsZHMvZGF0ZXRpbWVsb2NhbC1tdWx0aXBsZS1maWVsZHMtYXgtdmFsdWUtY2hh
bmdlZC1ub3RpZmljYXRpb24tZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9k
YXRldGltZWxvY2FsLW11bHRpcGxlLWZpZWxkcy9kYXRldGltZWxvY2FsLW11bHRpcGxlLWZpZWxk
cy1heC12YWx1ZS1jaGFuZ2VkLW5vdGlmaWNhdGlvbi1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDU0YmZkYWVkNzYyNmU0MTRlMTY1YmMzMTYxNzQzMzZlOTM2NTI5
NjMuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0
VGVzdHMvZmFzdC9mb3Jtcy9kYXRldGltZWxvY2FsLW11bHRpcGxlLWZpZWxkcy9kYXRldGltZWxv
Y2FsLW11bHRpcGxlLWZpZWxkcy1heC12YWx1ZS1jaGFuZ2VkLW5vdGlmaWNhdGlvbi1leHBlY3Rl
ZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSwyMyArMCwwIEBACi1UaGlzIHRlc3QgY2hlY2tzIHZh
bHVlIGNoYW5nZWQgYWNjZXNzaWJpbGl0eSBub3RpZmljYXRpb25zLgotCi1PbiBzdWNjZXNzLCB5
b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVT
VCBDT01QTEVURSIuCi0KLQotRm9jdXNlZFVJRWxlbWVudENoYW5nZWQgQVhIZWxwOiBNb250aD1B
WFZhbHVlRGVzY3JpcHRpb246IDEwCi1Gb2N1c2VkVUlFbGVtZW50Q2hhbmdlZCBBWEhlbHA6IERh
eT1BWFZhbHVlRGVzY3JpcHRpb246IDA5Ci1Gb2N1c2VkVUlFbGVtZW50Q2hhbmdlZCBBWEhlbHA6
IFllYXI9QVhWYWx1ZURlc2NyaXB0aW9uOiAyMDEyCi1Gb2N1c2VkVUlFbGVtZW50Q2hhbmdlZCBB
WEhlbHA6IEhvdXJzPUFYVmFsdWVEZXNjcmlwdGlvbjogMTIKLUZvY3VzZWRVSUVsZW1lbnRDaGFu
Z2VkIEFYSGVscDogTWludXRlcz1BWFZhbHVlRGVzY3JpcHRpb246IDM0Ci1WYWx1ZUNoYW5nZWQg
QVhIZWxwOiBEYXk9QVhWYWx1ZURlc2NyaXB0aW9uOiAwNAotVmFsdWVDaGFuZ2VkIEFYSGVscDog
RGF5PUFYVmFsdWVEZXNjcmlwdGlvbjogMDQKLVZhbHVlQ2hhbmdlZCBBWEhlbHA6IFllYXI9QVhW
YWx1ZURlc2NyaXB0aW9uOiAyMDEzCi1WYWx1ZUNoYW5nZWQgQVhIZWxwOiBZZWFyPUFYVmFsdWVE
ZXNjcmlwdGlvbjogMjAxMwotVmFsdWVDaGFuZ2VkIEFYSGVscDogSG91cnM9QVhWYWx1ZURlc2Ny
aXB0aW9uOiAwMgotVmFsdWVDaGFuZ2VkIEFYSGVscDogSG91cnM9QVhWYWx1ZURlc2NyaXB0aW9u
OiAwMgotVmFsdWVDaGFuZ2VkIEFYSGVscDogTWludXRlcz1BWFZhbHVlRGVzY3JpcHRpb246IDMz
Ci1WYWx1ZUNoYW5nZWQgQVhIZWxwOiBNaW51dGVzPUFYVmFsdWVEZXNjcmlwdGlvbjogMzMKLQot
UEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQotCi1URVNUIENPTVBMRVRFCi0KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvZGF0ZXRpbWVsb2NhbC1tdWx0aXBsZS1maWVs
ZHMvZGF0ZXRpbWVsb2NhbC1tdWx0aXBsZS1maWVsZHMtYXgtdmFsdWUtY2hhbmdlZC1ub3RpZmlj
YXRpb24uaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvZGF0ZXRpbWVsb2NhbC1tdWx0aXBs
ZS1maWVsZHMvZGF0ZXRpbWVsb2NhbC1tdWx0aXBsZS1maWVsZHMtYXgtdmFsdWUtY2hhbmdlZC1u
b3RpZmljYXRpb24uaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggODBkOThkODk2
NGE2NGJjZmZhZGU3ZDQ2ZDQzNzQyZjJlY2M2ZTI3ZS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2RhdGV0aW1lbG9j
YWwtbXVsdGlwbGUtZmllbGRzL2RhdGV0aW1lbG9jYWwtbXVsdGlwbGUtZmllbGRzLWF4LXZhbHVl
LWNoYW5nZWQtbm90aWZpY2F0aW9uLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSw0MSArMCwwIEBA
Ci08IURPQ1RZUEUgaHRtbD4KLTxodG1sPgotPGhlYWQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vLi4v
ZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgotPC9oZWFkPgotPGJv
ZHk+Ci08aW5wdXQgaWQ9InRlc3QiIHR5cGU9ImRhdGV0aW1lLWxvY2FsIiB2YWx1ZT0iMjAxMi0x
MC0wOVQxMjozNDo1NiI+Ci08c2NyaXB0PgotZGVzY3JpcHRpb24oJ1RoaXMgdGVzdCBjaGVja3Mg
dmFsdWUgY2hhbmdlZCBhY2Nlc3NpYmlsaXR5IG5vdGlmaWNhdGlvbnMuJyk7Ci0KLXZhciB0ZXN0
SW5wdXQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgndGVzdCcpOwotCi1pZiAoIXdpbmRvdy5h
Y2Nlc3NpYmlsaXR5Q29udHJvbGxlciB8fCAhd2luZG93LmV2ZW50U2VuZGVyKQotICAgIGRlYnVn
KCdQbGVhc2UgcnVuIGluc2lkZSBEUlQgb3IgV1JULicpOwotZWxzZSB7Ci0gICAgYWNjZXNzaWJp
bGl0eUNvbnRyb2xsZXIuYWRkTm90aWZpY2F0aW9uTGlzdGVuZXIoZnVuY3Rpb24gKGVsZW1lbnQs
IG5vdGlmaWNhdGlvbikgewotICAgICAgICBpZiAobm90aWZpY2F0aW9uID09ICdGb2N1c2VkVUlF
bGVtZW50Q2hhbmdlZCcgfHwgbm90aWZpY2F0aW9uID09ICdWYWx1ZUNoYW5nZWQnKSB7Ci0gICAg
ICAgICAgICBkZWJ1Zyhub3RpZmljYXRpb24gKyAnICcgKyBlbGVtZW50LmhlbHBUZXh0ICsgJz0n
ICsgZWxlbWVudC52YWx1ZURlc2NyaXB0aW9uKTsKLSAgICAgICAgfQotICAgIH0pOwotCi0gICAg
dGVzdElucHV0LmZvY3VzKCk7Ci0gICAgZXZlbnRTZW5kZXIua2V5RG93bignXHQnKTsKLSAgICBl
dmVudFNlbmRlci5rZXlEb3duKCc0Jyk7Ci0gICAgZXZlbnRTZW5kZXIua2V5RG93bigndXBBcnJv
dycpOwotICAgIGV2ZW50U2VuZGVyLmtleURvd24oJ1x0Jyk7Ci0gICAgZXZlbnRTZW5kZXIua2V5
RG93bignMicpOwotICAgIGV2ZW50U2VuZGVyLmtleURvd24oJ2Rvd25BcnJvdycpOwotCi0gICAg
d2luZG93LmpzVGVzdElzQXN5bmMgPSB0cnVlOwotCi0gICAgd2luZG93LnNldFRpbWVvdXQoZnVu
Y3Rpb24oKSB7Ci0gICAgICAgIGRlYnVnKCcnKTsKLSAgICAgICAgdGVzdElucHV0LnBhcmVudE5v
ZGUucmVtb3ZlQ2hpbGQodGVzdElucHV0KTsKLSAgICAgICAgZmluaXNoSlNUZXN0KCk7Ci0gICAg
fSwgMSk7Ci19Ci08L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIuLi8uLi8uLi9mYXN0L2pzL3Jlc291
cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgotPC9ib2R5PgotPC9odG1sPgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9kYXRldGltZWxvY2FsLW11bHRpcGxlLWZpZWxk
cy9kYXRldGltZWxvY2FsLW11bHRpcGxlLWZpZWxkcy1ibHVyLWFuZC1mb2N1cy1ldmVudHMtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9kYXRldGltZWxvY2FsLW11bHRpcGxl
LWZpZWxkcy9kYXRldGltZWxvY2FsLW11bHRpcGxlLWZpZWxkcy1ibHVyLWFuZC1mb2N1cy1ldmVu
dHMtZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA0YjZlYjNmNjJl
OTcwYTdiYTQxMGUyMTUwMzRlMjZmYWUyZmE4Y2RhLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvZGF0ZXRpbWVsb2Nh
bC1tdWx0aXBsZS1maWVsZHMvZGF0ZXRpbWVsb2NhbC1tdWx0aXBsZS1maWVsZHMtYmx1ci1hbmQt
Zm9jdXMtZXZlbnRzLWV4cGVjdGVkLnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDIxICswLDAgQEAK
LUNoZWNrIGJsdXIgYW5kIGZvY3VzIGV2ZW50cyBmb3IgbXVsdGlwbGUgZmllbGRzIGRhdGV0aW1l
LWxvY2FsIGlucHV0IFVJCi0KLU9uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAi
UEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KLQotCi1mb2N1cygp
IGFuZCBibHVyKCkKLVBBU1MgdGVzdElucHV0LmZvY3VzKCk7IHN0YXRlKCkgaXMgImJsdXI9MCBm
b2N1cz0xIgotUEFTUyB0ZXN0SW5wdXQuYmx1cigpOyBzdGF0ZSgpIGlzICJibHVyPTEgZm9jdXM9
MSIKLWZvY3VzIGFuZCBUYWIga2V5IHRvIGJsdXIKLVBBU1Mga2V5RG93bigiCSIpOyBzdGF0ZSgp
IGlzICJibHVyPTAgZm9jdXM9MSIKLVBBU1Mga2V5RG93bigiCSIpOyBzdGF0ZSgpIGlzICJibHVy
PTAgZm9jdXM9MSIKLVBBU1Mga2V5RG93bigiCSIpOyBzdGF0ZSgpIGlzICJibHVyPTAgZm9jdXM9
MSIKLVBBU1Mga2V5RG93bigiCSIpOyBzdGF0ZSgpIGlzICJibHVyPTAgZm9jdXM9MSIKLVBBU1Mg
a2V5RG93bigiCSIpOyBzdGF0ZSgpIGlzICJibHVyPTAgZm9jdXM9MSIKLVBBU1Mga2V5RG93bigi
CSIpOyBzdGF0ZSgpIGlzICJibHVyPTAgZm9jdXM9MSIKLVBBU1Mga2V5RG93bigiCSIpOyBzdGF0
ZSgpIGlzICJibHVyPTEgZm9jdXM9MSIKLQotUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1
ZQotCi1URVNUIENPTVBMRVRFCi0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMv
ZGF0ZXRpbWVsb2NhbC1tdWx0aXBsZS1maWVsZHMvZGF0ZXRpbWVsb2NhbC1tdWx0aXBsZS1maWVs
ZHMtYmx1ci1hbmQtZm9jdXMtZXZlbnRzLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2Rh
dGV0aW1lbG9jYWwtbXVsdGlwbGUtZmllbGRzL2RhdGV0aW1lbG9jYWwtbXVsdGlwbGUtZmllbGRz
LWJsdXItYW5kLWZvY3VzLWV2ZW50cy5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCA2MjRjOGE0NDhlNmE2Mjc0YzhiMWQ5MzJlNTY4ZTYyNjAzZmYzNjBjLi4wMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMv
ZGF0ZXRpbWVsb2NhbC1tdWx0aXBsZS1maWVsZHMvZGF0ZXRpbWVsb2NhbC1tdWx0aXBsZS1maWVs
ZHMtYmx1ci1hbmQtZm9jdXMtZXZlbnRzLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSwxMiArMCww
IEBACi08IURPQ1RZUEUgaHRtbD4KLTxodG1sPgotPGJvZHk+Ci08c2NyaXB0IHNyYz0iLi4vLi4v
anMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIuLi9y
ZXNvdXJjZXMvbXVsdGlwbGUtZmllbGRzLWJsdXItYW5kLWZvY3VzLWV2ZW50cy5qcyI+PC9zY3Jp
cHQ+Ci08ZGl2IGlkPSJjb250YWluZXIiPjwvZGl2PgotPHNjcmlwdD4KLXN0YXJ0VGVzdEZvcign
ZGF0ZXRpbWUtbG9jYWwnKTsKLTwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii4uLy4uL2pzL3Jlc291
cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgotPC9ib2R5PgotPC9odG1sPgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9kYXRldGltZWxvY2FsLW11bHRpcGxlLWZpZWxk
cy9kYXRldGltZWxvY2FsLW11bHRpcGxlLWZpZWxkcy1jaGFuZ2UtbGF5b3V0LWJ5LXZhbHVlLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvZGF0ZXRpbWVsb2NhbC1tdWx0aXBs
ZS1maWVsZHMvZGF0ZXRpbWVsb2NhbC1tdWx0aXBsZS1maWVsZHMtY2hhbmdlLWxheW91dC1ieS12
YWx1ZS1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGIwNjgxZWVi
NDczMjcwZTYzMGM3NDBkNTY5NTFlZDUwYzE4MjBkYjcuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9kYXRldGltZWxv
Y2FsLW11bHRpcGxlLWZpZWxkcy9kYXRldGltZWxvY2FsLW11bHRpcGxlLWZpZWxkcy1jaGFuZ2Ut
bGF5b3V0LWJ5LXZhbHVlLWV4cGVjdGVkLnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDEzICswLDAg
QEAKLUNoYW5nZSBtdWx0aXBsZSBmaWVsZHMgZGF0ZXRpbWUtbG9jYWwgaW5wdXQgVUkgbGF5b3V0
IGJ5IHZhbHVlCi0KLU9uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIg
bWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KLQotCi1QQVNTIHdpZHRoT2ZF
bXB0eVZhbHVlIDwgd2lkdGhPZk92ZXJmbG93VmFsdWUgaXMgdHJ1ZQotUEFTUyB3aWR0aE9mRW1w
dHlWYWx1ZSBpcyB3aWR0aE9mVmFsaWRWYWx1ZQotUEFTUyB3aWR0aE9mRW1wdHlWYWx1ZSA8IHdp
ZHRoV2l0aFNlY29uZCBpcyB0cnVlCi1QQVNTIHdpZHRoV2l0aFNlY29uZCA8IHdpZHRoV2l0aE1p
bGxpc2Vjb25kIGlzIHRydWUKLVBBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKLQotVEVT
VCBDT01QTEVURQotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2RhdGV0aW1l
bG9jYWwtbXVsdGlwbGUtZmllbGRzL2RhdGV0aW1lbG9jYWwtbXVsdGlwbGUtZmllbGRzLWNoYW5n
ZS1sYXlvdXQtYnktdmFsdWUuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvZGF0ZXRpbWVs
b2NhbC1tdWx0aXBsZS1maWVsZHMvZGF0ZXRpbWVsb2NhbC1tdWx0aXBsZS1maWVsZHMtY2hhbmdl
LWxheW91dC1ieS12YWx1ZS5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA3OGZk
ZmRiMjRkZDFiYmZlYzU3ZDZmZGQ2ODY0YzAyMDQ2NDNjMTQzLi4wMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvZGF0ZXRp
bWVsb2NhbC1tdWx0aXBsZS1maWVsZHMvZGF0ZXRpbWVsb2NhbC1tdWx0aXBsZS1maWVsZHMtY2hh
bmdlLWxheW91dC1ieS12YWx1ZS5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsMzMgKzAsMCBAQAot
PCFET0NUWVBFIGh0bWw+Ci08aHRtbD4KLTxib2R5PgotPHNjcmlwdCBzcmM9Ii4uLy4uL2pzL3Jl
c291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0PgotZGVzY3JpcHRpb24o
J0NoYW5nZSBtdWx0aXBsZSBmaWVsZHMgZGF0ZXRpbWUtbG9jYWwgaW5wdXQgVUkgbGF5b3V0IGJ5
IHZhbHVlJyk7Ci12YXIgdGVzdElucHV0ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnaW5wdXQn
KTsKLXRlc3RJbnB1dC50eXBlID0gJ2RhdGV0aW1lLWxvY2FsJzsKLXRlc3RJbnB1dC5tYXggPSAn
OTk5OS0xMi0zMVQyMzo1OSc7Ci1kb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHRlc3RJbnB1dCk7
Ci12YXIgd2lkdGhPZkVtcHR5VmFsdWUgPSB0ZXN0SW5wdXQub2Zmc2V0V2lkdGg7Ci0KLXRlc3RJ
bnB1dC52YWx1ZSA9ICcxMDAwMC0wMS0wMVQwMDowMCc7Ci12YXIgd2lkdGhPZk92ZXJmbG93VmFs
dWUgPSB0ZXN0SW5wdXQub2Zmc2V0V2lkdGg7Ci1zaG91bGRCZVRydWUoJ3dpZHRoT2ZFbXB0eVZh
bHVlIDwgd2lkdGhPZk92ZXJmbG93VmFsdWUnKTsKLQotdGVzdElucHV0LnZhbHVlID0gJzIwMTIt
MTAtMDVUMTI6MDAnOwotdmFyIHdpZHRoT2ZWYWxpZFZhbHVlID0gdGVzdElucHV0Lm9mZnNldFdp
ZHRoOwotc2hvdWxkQmUoJ3dpZHRoT2ZFbXB0eVZhbHVlJywgJ3dpZHRoT2ZWYWxpZFZhbHVlJyk7
Ci0KLXRlc3RJbnB1dC52YWx1ZSA9ICcyMDEyLTEwLTA1VDEyOjAwOjAxJzsKLXZhciB3aWR0aFdp
dGhTZWNvbmQgPSB0ZXN0SW5wdXQub2Zmc2V0V2lkdGg7Ci1zaG91bGRCZVRydWUoJ3dpZHRoT2ZF
bXB0eVZhbHVlIDwgd2lkdGhXaXRoU2Vjb25kJyk7Ci0KLXRlc3RJbnB1dC52YWx1ZSA9ICcyMDEy
LTEwLTA1VDEyOjAwOjAxLjIzNCc7Ci12YXIgd2lkdGhXaXRoTWlsbGlzZWNvbmQgPSB0ZXN0SW5w
dXQub2Zmc2V0V2lkdGg7Ci1zaG91bGRCZVRydWUoJ3dpZHRoV2l0aFNlY29uZCA8IHdpZHRoV2l0
aE1pbGxpc2Vjb25kJyk7Ci0KLWRvY3VtZW50LmJvZHkucmVtb3ZlQ2hpbGQodGVzdElucHV0KTsK
LTwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii4uLy4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXBvc3Qu
anMiPjwvc2NyaXB0PgotPC9ib2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZmFzdC9mb3Jtcy9kYXRldGltZWxvY2FsLW11bHRpcGxlLWZpZWxkcy9kYXRldGltZWxvY2FsLW11
bHRpcGxlLWZpZWxkcy1jbGVhcmJ1dHRvbi1jaGFuZ2UtYW5kLWlucHV0LWV2ZW50cy1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2RhdGV0aW1lbG9jYWwtbXVsdGlwbGUtZmll
bGRzL2RhdGV0aW1lbG9jYWwtbXVsdGlwbGUtZmllbGRzLWNsZWFyYnV0dG9uLWNoYW5nZS1hbmQt
aW5wdXQtZXZlbnRzLWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
M2U0ZWE0YTMyMjgzOGI3ZDUzMjcwODdhNmRlNjk5ZDg3NjZhYWUyMC4uMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2Rh
dGV0aW1lbG9jYWwtbXVsdGlwbGUtZmllbGRzL2RhdGV0aW1lbG9jYWwtbXVsdGlwbGUtZmllbGRz
LWNsZWFyYnV0dG9uLWNoYW5nZS1hbmQtaW5wdXQtZXZlbnRzLWV4cGVjdGVkLnR4dAorKysgL2Rl
di9udWxsCkBAIC0xLDE5ICswLDAgQEAKLVRlc3QgZm9yIGV2ZW50IGRpc3BhdGNoaW5nIGJ5IHNw
aW4gYnV0dG9ucyBpbiBhIHR5cGU9ZGF0ZXRpbWUtbG9jYWwgaW5wdXQuCi0KLU9uIHN1Y2Nlc3Ms
IHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJU
RVNUIENPTVBMRVRFIi4KLQotCi1Jbml0aWFsIHN0YXRlCi1QQVNTIGNoYW5nZUV2ZW50Q291bnRl
ciBpcyAwCi1QQVNTIGlucHV0RXZlbnRDb3VudGVyIGlzIDAKLUNsaWNrIHRoZSBjbGVhciBidXR0
b24KLVBBU1MgdGVzdElucHV0LnZhbHVlIGlzICIiCi1QQVNTIGNoYW5nZUV2ZW50Q291bnRlciBp
cyAxCi1QQVNTIGlucHV0RXZlbnRDb3VudGVyIGlzIDEKLUZvY3VzIG9uIGFub3RoZXIgZmllbGQK
LVBBU1MgY2hhbmdlRXZlbnRDb3VudGVyIGlzIDEKLVBBU1MgaW5wdXRFdmVudENvdW50ZXIgaXMg
MQotUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQotCi1URVNUIENPTVBMRVRFCi0KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvZGF0ZXRpbWVsb2NhbC1tdWx0aXBsZS1m
aWVsZHMvZGF0ZXRpbWVsb2NhbC1tdWx0aXBsZS1maWVsZHMtY2xlYXJidXR0b24tY2hhbmdlLWFu
ZC1pbnB1dC1ldmVudHMuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvZGF0ZXRpbWVsb2Nh
bC1tdWx0aXBsZS1maWVsZHMvZGF0ZXRpbWVsb2NhbC1tdWx0aXBsZS1maWVsZHMtY2xlYXJidXR0
b24tY2hhbmdlLWFuZC1pbnB1dC1ldmVudHMuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMjEzY2ZmNjFiZTgyYjhmZWM0OWY2NTkwOWQ1Zjc1Mzk2ZTI3YTJiZS4uMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2Zv
cm1zL2RhdGV0aW1lbG9jYWwtbXVsdGlwbGUtZmllbGRzL2RhdGV0aW1lbG9jYWwtbXVsdGlwbGUt
ZmllbGRzLWNsZWFyYnV0dG9uLWNoYW5nZS1hbmQtaW5wdXQtZXZlbnRzLmh0bWwKKysrIC9kZXYv
bnVsbApAQCAtMSwxNCArMCwwIEBACi08IURPQ1RZUEUgaHRtbD4KLTxodG1sPgotPGhlYWQ+Ci08
c2NyaXB0IHNyYz0iLi4vLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwv
c2NyaXB0PgotPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy9jb21tb24uanMiPjwvc2NyaXB0Pgot
PHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy9jb21tb24tY2xlYXJidXR0b24tY2hhbmdlLWFuZC1p
bnB1dC1ldmVudHMuanMiPjwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHk+Ci08c2NyaXB0PgotdGVz
dENsZWFyQnV0dG9uQ2hhbmdlQW5kSW5wdXRFdmVudHMoJ2RhdGV0aW1lLWxvY2FsJywgJzIwMTIt
MTAtMTFUMjM6NTknKTsKLTwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii4uLy4uLy4uL2Zhc3QvanMv
cmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Ci08L2JvZHk+Ci08L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2RhdGV0aW1lbG9jYWwtbXVsdGlwbGUt
ZmllbGRzL2RhdGV0aW1lbG9jYWwtbXVsdGlwbGUtZmllbGRzLWNsZWFyYnV0dG9uLXZpc2liaWxp
dHktYWZ0ZXItcmVzdG9yZS1leHBlY3RlZC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9k
YXRldGltZWxvY2FsLW11bHRpcGxlLWZpZWxkcy9kYXRldGltZWxvY2FsLW11bHRpcGxlLWZpZWxk
cy1jbGVhcmJ1dHRvbi12aXNpYmlsaXR5LWFmdGVyLXJlc3RvcmUtZXhwZWN0ZWQuaHRtbApkZWxl
dGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggOTc0OWNmNWYzYjliMWFlMGU3MmM5Nzk4ZDIyM2Rj
MWEyY2M2NDZjNC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0g
YS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2RhdGV0aW1lbG9jYWwtbXVsdGlwbGUtZmllbGRzL2Rh
dGV0aW1lbG9jYWwtbXVsdGlwbGUtZmllbGRzLWNsZWFyYnV0dG9uLXZpc2liaWxpdHktYWZ0ZXIt
cmVzdG9yZS1leHBlY3RlZC5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsMTAgKzAsMCBAQAotPCFE
T0NUWVBFIGh0bWw+Ci08aHRtbD4KLTxib2R5PgotPGlucHV0IGlkPSJlbXB0eU9uRmlyc3RWaXNp
dCIgdmFsdWU9InZpc2l0ZWQiPgotPGZvcm0gYWN0aW9uPSJkYXRhOnRleHQvaHRtbCwmbHQ7c2Ny
aXB0Pmhpc3RvcnkuYmFjaygpJmx0Oy9zY3JpcHQ+IiBpZD1mb3JtMT4KLSAgICA8aW5wdXQgdHlw
ZT0iZGF0ZXRpbWUtbG9jYWwiIGlkPWlucHV0MT4KLSAgICA8aW5wdXQgdHlwZT0iZGF0ZXRpbWUt
bG9jYWwiIGlkPWlucHV0MiB2YWx1ZT0iMjAwMi0wMi0wMlQwMjowMiI+Ci0gICAgPGlucHV0IHR5
cGU9ImRhdGV0aW1lLWxvY2FsIiBpZD1pbnB1dDMgdmFsdWU9IjIwMDMtMDMtMDNUMDM6MDM6MDMu
MDAzIj4KLTwvZm9ybT4KLTwvYm9keT4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZm9y
bXMvZGF0ZXRpbWVsb2NhbC1tdWx0aXBsZS1maWVsZHMvZGF0ZXRpbWVsb2NhbC1tdWx0aXBsZS1m
aWVsZHMtY2xlYXJidXR0b24tdmlzaWJpbGl0eS1hZnRlci1yZXN0b3JlLmh0bWwgYi9MYXlvdXRU
ZXN0cy9mYXN0L2Zvcm1zL2RhdGV0aW1lbG9jYWwtbXVsdGlwbGUtZmllbGRzL2RhdGV0aW1lbG9j
YWwtbXVsdGlwbGUtZmllbGRzLWNsZWFyYnV0dG9uLXZpc2liaWxpdHktYWZ0ZXItcmVzdG9yZS5o
dG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAzYmFlN2QwNWYwZGEzMjFmMzgzZTEz
OTk1YTZiZjJjMmI0ODE3ZGFmLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwCi0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvZGF0ZXRpbWVsb2NhbC1tdWx0aXBsZS1m
aWVsZHMvZGF0ZXRpbWVsb2NhbC1tdWx0aXBsZS1maWVsZHMtY2xlYXJidXR0b24tdmlzaWJpbGl0
eS1hZnRlci1yZXN0b3JlLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSwzMiArMCwwIEBACi08IURP
Q1RZUEUgaHRtbD4KLTxodG1sPgotPGJvZHk+Ci08aW5wdXQgaWQ9ImVtcHR5T25GaXJzdFZpc2l0
Ij4KLTxmb3JtIGFjdGlvbj0iZGF0YTp0ZXh0L2h0bWwsJmx0O3NjcmlwdD5oaXN0b3J5LmJhY2so
KSZsdDsvc2NyaXB0PiIgaWQ9Zm9ybTE+Ci0gICAgPGlucHV0IHR5cGU9ImRhdGV0aW1lLWxvY2Fs
IiBpZD1pbnB1dDE+Ci0gICAgPGlucHV0IHR5cGU9ImRhdGV0aW1lLWxvY2FsIiBpZD1pbnB1dDI+
Ci0gICAgPGlucHV0IHR5cGU9ImRhdGV0aW1lLWxvY2FsIiBpZD1pbnB1dDMgdmFsdWU9IjIwMDEt
MDEtMDFUMDE6MDE6MDEuMDAxIj4KLTwvZm9ybT4KLQotPHNjcmlwdD4KLS8vIFJlc3RvcmluZyB0
aGUgZm9ybSBzaG91bGQgdXBkYXRlIHRoZSBjbGVhciBidXR0b24gdmlzaWJpbGl0eS4KLXRlc3RS
dW5uZXIud2FpdFVudGlsRG9uZSgpOwotZnVuY3Rpb24gcnVuVGVzdCgpCi17Ci0gICAgdmFyIHN0
YXRlID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2VtcHR5T25GaXJzdFZpc2l0Jyk7Ci0gICAg
aWYgKCFzdGF0ZS52YWx1ZSkgewotICAgICAgICAvLyBGaXJzdCB2aXNpdC4KLSAgICAgICAgc2V0
VGltZW91dChmdW5jdGlvbigpIHsKLSAgICAgICAgICAgIHN0YXRlLnZhbHVlID0gJ3Zpc2l0ZWQn
OwotICAgICAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2lucHV0MicpLnZhbHVlID0g
IjIwMDItMDItMDJUMDI6MDIiOwotICAgICAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
J2lucHV0MycpLnZhbHVlID0gIjIwMDMtMDMtMDNUMDM6MDM6MDMuMDAzIjsKLSAgICAgICAgICAg
IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdmb3JtMScpLnN1Ym1pdCgpOwotICAgICAgICB9LCAw
KTsKLSAgICB9IGVsc2UgewotICAgICAgICB0ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsKLSAgICB9
Ci19Ci0KLXdpbmRvdy5vbmxvYWQgPSBydW5UZXN0OwotPC9zY3JpcHQ+Ci08L2JvZHk+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2RhdGV0aW1lbG9jYWwtbXVsdGlwbGUtZmll
bGRzL2RhdGV0aW1lbG9jYWwtbXVsdGlwbGUtZmllbGRzLWZhbGxiYWNrLWZvcm1hdC1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2RhdGV0aW1lbG9jYWwtbXVsdGlwbGUtZmll
bGRzL2RhdGV0aW1lbG9jYWwtbXVsdGlwbGUtZmllbGRzLWZhbGxiYWNrLWZvcm1hdC1leHBlY3Rl
ZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGE3MmJiNzk1M2I1NGY4NzIzN2Yx
NzE1NTUyNjRiZTIwOTI2ZDUwNTkuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9kYXRldGltZWxvY2FsLW11bHRpcGxl
LWZpZWxkcy9kYXRldGltZWxvY2FsLW11bHRpcGxlLWZpZWxkcy1mYWxsYmFjay1mb3JtYXQtZXhw
ZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEsMTUgKzAsMCBAQAotQ2hlY2tzIGluY29tcGxl
dGUgZGF0ZXRpbWUgZm9ybWF0cyBhcmUgcmVqZWN0ZWQuCi0KLU9uIHN1Y2Nlc3MsIHlvdSB3aWxs
IHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBM
RVRFIi4KLQotCi1WYWxpZCBmb3JtYXQKLVBBU1MgZ2V0VXNlckFnZW50U2hhZG93VGV4dENvbnRl
bnQoaW5wdXQpIGlzICIxOTk5LTA3LTMxIDExOjU5IFBNIgotSW52YWxpZCBmb3JtYXQsIGZhbGxi
YWNrIHRvIHl5eXktTU0tZGQnVCdISDptbQotUEFTUyBnZXRVc2VyQWdlbnRTaGFkb3dUZXh0Q29u
dGVudChpbnB1dCkgaXMgIjE5OTktMDctMzFUMjM6NTkiCi1QQVNTIGdldFVzZXJBZ2VudFNoYWRv
d1RleHRDb250ZW50KGlucHV0KSBpcyAiMTk5OS0wNy0zMVQyMzo1OSIKLVBBU1MgZ2V0VXNlckFn
ZW50U2hhZG93VGV4dENvbnRlbnQoaW5wdXQpIGlzICIxOTk5LTA3LTMxVDIzOjU5IgotUEFTUyBz
dWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQotCi1URVNUIENPTVBMRVRFCi0KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvZGF0ZXRpbWVsb2NhbC1tdWx0aXBsZS1maWVsZHMvZGF0
ZXRpbWVsb2NhbC1tdWx0aXBsZS1maWVsZHMtZmFsbGJhY2stZm9ybWF0Lmh0bWwgYi9MYXlvdXRU
ZXN0cy9mYXN0L2Zvcm1zL2RhdGV0aW1lbG9jYWwtbXVsdGlwbGUtZmllbGRzL2RhdGV0aW1lbG9j
YWwtbXVsdGlwbGUtZmllbGRzLWZhbGxiYWNrLWZvcm1hdC5odG1sCmRlbGV0ZWQgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAyMDlmNjg4YWQ5NjNjODVjMDc3M2UzODc2ZGQ1ZGVhY2FiZWQyZmMxLi4w
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3Rz
L2Zhc3QvZm9ybXMvZGF0ZXRpbWVsb2NhbC1tdWx0aXBsZS1maWVsZHMvZGF0ZXRpbWVsb2NhbC1t
dWx0aXBsZS1maWVsZHMtZmFsbGJhY2stZm9ybWF0Lmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSwz
OSArMCwwIEBACi08IURPQ1RZUEUgaHRtbD4KLTxodG1sPgotPGhlYWQ+Ci08c2NyaXB0IHNyYz0i
Li4vLi4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3Jj
PSIuLi9yZXNvdXJjZXMvY29tbW9uLmpzIj48L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5PgotPHNj
cmlwdD4KLWRlc2NyaXB0aW9uKCdDaGVja3MgaW5jb21wbGV0ZSBkYXRldGltZSBmb3JtYXRzIGFy
ZSByZWplY3RlZC4nKTsKLQotdmFyIGlucHV0ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnaW5w
dXQnKTsKLWlucHV0LnR5cGUgPSAnZGF0ZXRpbWUtbG9jYWwnOwotZG9jdW1lbnQuYm9keS5hcHBl
bmRDaGlsZChpbnB1dCk7Ci0KLWZ1bmN0aW9uIHNldERhdGVUaW1lRm9ybWF0KHBhdHRlcm4pIHsK
LSAgICB2YXIgdmFsdWUgPSBpbnB1dC52YWx1ZTsKLSAgICBnZXRFbGVtZW50QnlQc2V1ZG9JZChp
bnRlcm5hbHMueW91bmdlc3RTaGFkb3dSb290KGlucHV0KSwgJy13ZWJraXQtZGF0ZXRpbWUtZWRp
dCcpLnNldEF0dHJpYnV0ZSgncGF0dGVybicsIHBhdHRlcm4pOwotICAgIGlucHV0LnZhbHVlID0g
Jyc7IC8vIFVwZGF0ZXMgdGhlIGVsZW1lbnQgZm9yIG5ldyBmb3JtYXQKLSAgICBpbnB1dC52YWx1
ZSA9IHZhbHVlOwotfQotCi1pbnB1dC52YWx1ZSA9ICcxOTk5LTA3LTMxVDIzOjU5JzsKLQotZGVi
dWcoJ1ZhbGlkIGZvcm1hdCcpOwotc2V0RGF0ZVRpbWVGb3JtYXQoInl5eXktTU0tZGQgaGg6bW0g
YSIpOwotc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdnZXRVc2VyQWdlbnRTaGFkb3dUZXh0Q29udGVu
dChpbnB1dCknLCAnMTk5OS0wNy0zMSAxMTo1OSBQTScpOwotCi1kZWJ1ZygiSW52YWxpZCBmb3Jt
YXQsIGZhbGxiYWNrIHRvIHl5eXktTU0tZGQnVCdISDptbSIpOwotc2V0RGF0ZVRpbWVGb3JtYXQo
J3l5eXktTU0tZGQnKTsKLXNob3VsZEJlRXF1YWxUb1N0cmluZygnZ2V0VXNlckFnZW50U2hhZG93
VGV4dENvbnRlbnQoaW5wdXQpJywgJzE5OTktMDctMzFUMjM6NTknKTsKLXNldERhdGVUaW1lRm9y
bWF0KCdISDptbScpOwotc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdnZXRVc2VyQWdlbnRTaGFkb3dU
ZXh0Q29udGVudChpbnB1dCknLCAnMTk5OS0wNy0zMVQyMzo1OScpOwotc2V0RGF0ZVRpbWVGb3Jt
YXQoInl5eXktTU0tZGQnVCdoaDptbSIpOwotc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdnZXRVc2Vy
QWdlbnRTaGFkb3dUZXh0Q29udGVudChpbnB1dCknLCAnMTk5OS0wNy0zMVQyMzo1OScpOwotCi08
L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIuLi8uLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0Lmpz
Ij48L3NjcmlwdD4KLTwvYm9keT4KLTwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zh
c3QvZm9ybXMvZGF0ZXRpbWVsb2NhbC1tdWx0aXBsZS1maWVsZHMvZGF0ZXRpbWVsb2NhbC1tdWx0
aXBsZS1maWVsZHMta2V5Ym9hcmQtZXZlbnRzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zh
c3QvZm9ybXMvZGF0ZXRpbWVsb2NhbC1tdWx0aXBsZS1maWVsZHMvZGF0ZXRpbWVsb2NhbC1tdWx0
aXBsZS1maWVsZHMta2V5Ym9hcmQtZXZlbnRzLWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggY2UwNjM5N2I0ZjM3ZWM3MGU4MjcwMjE5MmUwY2ZiOGNhYmJhNjAyOS4u
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0
cy9mYXN0L2Zvcm1zL2RhdGV0aW1lbG9jYWwtbXVsdGlwbGUtZmllbGRzL2RhdGV0aW1lbG9jYWwt
bXVsdGlwbGUtZmllbGRzLWtleWJvYXJkLWV2ZW50cy1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVs
bApAQCAtMSw2OCArMCwwIEBACi1NdWx0aXBsZSBmaWVsZHMgVUkgb2YgZGF0ZXRpbWUtbG9jYWwg
aW5wdXQgdHlwZSB3aXRoIGtleWJvYXJkIGV2ZW50cwotCi1PbiBzdWNjZXNzLCB5b3Ugd2lsbCBz
ZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVU
RSIuCi0KLQotUGxlYXNlIHJ1biB0aGlzIHdpdGggRHVtcFJlbmRlclRyZWUuCi0KLVRlc3QgZm9s
bG93aW5nIGtleXM6Ci1EaWdpdHMKLUxlZnQvUmlnaHQgLSBNb3ZlIGZvY3VzIGZpZWxkIGluc2lk
ZSBlbGVtZW50Ci1VcC9Eb3duIC0gSW5jcmVtZW50L2RlY3JlbWVudCB2YWx1ZSBvZiBmb2N1cyBm
aWVsZAotVGFiIC0gTW92ZSBmb2N1cyBmaWVsZAotQmFja3NwYWNlIC0gTWFrZSB2YWx1ZSBlbXB0
eQotICAKLT09IERpZ2l0IGtleXMgPT0KLVBBU1MgaW5wdXQudmFsdWUgaXMgIjk4NzY1LTA5LTIw
VDA3OjU2IgotPT0gRGlnaXQga2V5cyBzdGFydGluZyB3aXRoIHplcm8gPT0KLVBBU1MgaW5wdXQu
dmFsdWUgaXMgIjAwNDQtMDItMDNUMDU6MDYiCi09PSBEaWdpdCBrZXlzIGFuZCBiYWNrc3BhY2Ug
a2V5ID09Ci1QQVNTIGlucHV0LnZhbHVlIGlzICIwMDA4LTA1LTA2VDA5OjEwIgotPT0gTGVmdC9S
aWdodCBrZXlzID09Ci1QQVNTIGlucHV0LnZhbHVlIGlzICIwMDA0LTA5LTA1VDE5OjA1IgotUEFT
UyBkb2N1bWVudC5hY3RpdmVFbGVtZW50LmlkIGlzICJpbnB1dCIKLT09IFVwL0Rvd24ga2V5cyA9
PQotUEFTUyBpbnB1dC52YWx1ZSBpcyAiMjAxMi0xMC0yOVQwMDowMCIKLVBBU1MgaW5wdXQudmFs
dWUgaXMgIjIwMTItMDgtMjlUMDA6MDAiCi09PSBVcC9Eb3duIGtleXMgb24gZW1wdHkgdmFsdWUg
PT0KLVBBU1MgaW5wdXQudmFsdWUgaXMgY3VycmVudFllYXIgKyAiLTExLTAxVDAxOjU5IgotPT0g
VGFiIGtleSA9PQotUEFTUyBpbnB1dC52YWx1ZSBpcyAiMjAxMi0wOS0wNVQxMjowMCIKLVBBU1Mg
ZG9jdW1lbnQuYWN0aXZlRWxlbWVudC5pZCBpcyAiYWZ0ZXIiCi09PSBTaGZpdCtUYWIga2V5ID09
Ci1QQVNTIGlucHV0LnZhbHVlIGlzICIyMDEyLTA5LTMwVDEzOjAzIgotUEFTUyBkb2N1bWVudC5h
Y3RpdmVFbGVtZW50LmlkIGlzICJiZWZvcmUiCi09PSBVcCBrZXkgb24gbWF4aW11bSB2YWx1ZSA9
PQotUEFTUyBpbnB1dC52YWx1ZSBpcyAiMDAwMS0xMC0xNFQwMDowMCIKLT09IFVwIGtleSB3aXRo
IGEgbWF4aW11bSBhdHRyaWJ1dGUgPT0KLVBBU1MgaW5wdXQudmFsdWUgaXMgIjEwMDAtMDEtMDFU
MDA6MDAiCi09PSBEb3duIGtleSBvbiBtaW5pbXVtIHZhbHVlID09Ci1QQVNTIGlucHV0LnZhbHVl
IGlzICIiCi09PSBEb3duIGtleSB3aXRoIGEgbWluaW11bSBhdHRyaWJ1dGUgPT0KLVBBU1MgaW5w
dXQudmFsdWUgaXMgIiIKLT09IEluY29uc2lzdGVudCBtaW4tbWF4IGF0dHJpYnV0ZXMgPT0KLVBB
U1MgaW5wdXQudmFsdWUgaXMgIjEwMDAtMTItMzFUMjM6NTkiCi1QQVNTIGlucHV0LnZhbHVlIGlz
ICIxOTk5LTEyLTMxVDIzOjU5IgotPT0gTWFrZSBhbiBpbnZhbGlkIGRhdGUgPT0KLVBBU1MgaW5w
dXQudmFsdWUgaXMgIiIKLT09IEJhY2tzcGFjZSBrZXkgPT0KLVBBU1MgaW5wdXQudmFsdWUgaXMg
IiIKLT09IERlbGV0ZSBrZXkgPT0KLVBBU1MgaW5wdXQudmFsdWUgaXMgIiIKLT09IFR5cGVhaGVh
ZCA9PQotUEFTUyBpbnB1dC52YWx1ZSBpcyAiMjAxMi0xMi0wMVQwMDowMCIKLVBBU1MgaW5wdXQu
dmFsdWUgaXMgIjIwMTItMTItMDJUMDA6MDAiCi09PSBSVEwgZm9jdXMgbmF2aWdhdGlvbiA9PQot
VGhlIHRlc3RzIGluIHRoaXMgYmxvY2sgZmFpbCBvbiBwbGF0Zm9ybXMgd2l0aG91dCB0aGUgbGFu
Zy1hdHRyaWJ1dGUtYXdhcmUtZm9ybS1jb250cm9sLVVJIGZlYXR1cmUuCi1QQVNTIGlucHV0LnZh
bHVlIGlzICIyMDEyLTA5LTAxVDIzOjAwIgotUEFTUyBpbnB1dC52YWx1ZSBpcyAiMjAxMi0wMi0w
MVQwMTowMCIKLVBBU1MgaW5wdXQudmFsdWUgaXMgIjAwMDgtMDMtMDFUMDE6MDAiCi09PSBEaXNh
YmxlZC9yZWFkb25seSA9PQotUEFTUyBpbnB1dC52YWx1ZSBpcyAiMjAxMi0xMC0wOFQwMDowMCIK
LVBBU1MgaW5wdXQudmFsdWUgaXMgIjIwMTItMTEtMDhUMDA6MDAiCi1QQVNTIGlucHV0LnZhbHVl
IGlzICIyMDEyLTExLTA4VDAwOjAwIgotUEFTUyBpbnB1dC52YWx1ZSBpcyAiMjAxMi0xMi0wOFQw
MDowMCIKLVBBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKLQotVEVTVCBDT01QTEVURQot
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2RhdGV0aW1lbG9jYWwtbXVsdGlw
bGUtZmllbGRzL2RhdGV0aW1lbG9jYWwtbXVsdGlwbGUtZmllbGRzLWtleWJvYXJkLWV2ZW50cy5o
dG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9kYXRldGltZWxvY2FsLW11bHRpcGxlLWZpZWxk
cy9kYXRldGltZWxvY2FsLW11bHRpcGxlLWZpZWxkcy1rZXlib2FyZC1ldmVudHMuaHRtbApkZWxl
dGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMWMxNWExNzljYmMzNDI5ZjhlNWM4OGNhY2EwNjAz
NzQzZjEzYmE0ZC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0g
YS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2RhdGV0aW1lbG9jYWwtbXVsdGlwbGUtZmllbGRzL2Rh
dGV0aW1lbG9jYWwtbXVsdGlwbGUtZmllbGRzLWtleWJvYXJkLWV2ZW50cy5odG1sCisrKyAvZGV2
L251bGwKQEAgLTEsMjcyICswLDAgQEAKLTwhRE9DVFlQRSBodG1sPgotPGh0bWw+Ci08aGVhZD4K
LTxzY3JpcHQgc3JjPSIuLi8uLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0
PgotPC9oZWFkPgotPGJvZHk+Ci08cCBpZD0iZGVzY3JpcHRpb24iPjwvcD4KLTxwPgotUGxlYXNl
IHJ1biB0aGlzIHdpdGggRHVtcFJlbmRlclRyZWUuCi08L3A+Ci1UZXN0IGZvbGxvd2luZyBrZXlz
OgotPHVsPgotICAgIDxsaT5EaWdpdHM8L2xpPgotICAgIDxsaT5MZWZ0L1JpZ2h0IC0gTW92ZSBm
b2N1cyBmaWVsZCBpbnNpZGUgZWxlbWVudDwvbGk+Ci0gICAgPGxpPlVwL0Rvd24gLSBJbmNyZW1l
bnQvZGVjcmVtZW50IHZhbHVlIG9mIGZvY3VzIGZpZWxkPC9saT4KLSAgICA8bGk+VGFiIC0gTW92
ZSBmb2N1cyBmaWVsZDwvbGk+Ci0gICAgPGxpPkJhY2tzcGFjZSAtIE1ha2UgdmFsdWUgZW1wdHk8
L2xpPgotPC91bD4KLTxpbnB1dCBpZD0iYmVmb3JlIj4KLTxpbnB1dCBpZD0iaW5wdXQiIHR5cGU9
ImRhdGV0aW1lLWxvY2FsIj4KLTxpbnB1dCBpZD0iYWZ0ZXIiPgotPGRpdiBpZD0iY29uc29sZSI+
PC9kaXY+Ci08c2NyaXB0PgotZGVzY3JpcHRpb24oJ011bHRpcGxlIGZpZWxkcyBVSSBvZiBkYXRl
dGltZS1sb2NhbCBpbnB1dCB0eXBlIHdpdGgga2V5Ym9hcmQgZXZlbnRzJyk7Ci1pZiAod2luZG93
LmludGVybmFscykKLSAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0TGFuZ0F0dHJpYnV0ZUF3YXJl
Rm9ybUNvbnRyb2xVSUVuYWJsZWQodHJ1ZSk7Ci12YXIgaW5wdXQgPSBkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgnaW5wdXQnKTsKLQotZnVuY3Rpb24ga2V5RG93bihrZXksIG1vZGlmaWVycykKLXsK
LSAgICBpZiAoIXdpbmRvdy5ldmVudFNlbmRlcikKLSAgICAgICAgcmV0dXJuOwotICAgIGV2ZW50
U2VuZGVyLmtleURvd24oa2V5LCBtb2RpZmllcnMpOwotfQotCi1mdW5jdGlvbiBiZWdpblRlc3Qo
dGl0bGUsIG9wdF92YWx1ZSwgb3B0X21pbiwgb3B0X21heCkKLXsKLSAgICBkZWJ1ZygnPT0gJyAr
IHRpdGxlICsgJyA9PScpOwotICAgIGlucHV0LnZhbHVlID0gb3B0X3ZhbHVlIHx8ICcnOwotICAg
IGlucHV0Lm1pbiA9IG9wdF9taW4gPyBvcHRfbWluIDogJyc7Ci0gICAgaW5wdXQubWF4ID0gb3B0
X21heCA/IG9wdF9tYXggOiAnJzsKLSAgICBpbnB1dC5ibHVyKCk7Ci0gICAgaW5wdXQuZm9jdXMo
KTsKLX0KLQotYmVnaW5UZXN0KCdEaWdpdCBrZXlzJyk7Ci1rZXlEb3duKCc5Jyk7IC8vIC0+IDA5
L1tkZF0veXl5eSAtLTotLSAtLQota2V5RG93bignMicpOyAvLyAtPiAwOS9bMDJdL3l5eXkgLS06
LS0gLS0KLWtleURvd24oJzAnKTsgLy8gLT4gMDkvMjAvW3l5eXldIC0tOi0tIC0tCi1rZXlEb3du
KCc5Jyk7IC8vIC0+IDA5LzIwL1swMDA5XSAtLTotLSAtLQota2V5RG93bignOCcpOyAvLyAtPiAw
OS8yMC9bMDA5OF0gLS06LS0gLS0KLWtleURvd24oJzcnKTsgLy8gLT4gMDkvMjAvWzA5ODddIC0t
Oi0tIC0tCi1rZXlEb3duKCc2Jyk7IC8vIC0+IDA5LzIwL1s5ODc2XSAtLTotLSAtLQota2V5RG93
bignNScpOyAvLyAtPiAwOS8yMC85ODc2NSBbLS1dOi0tIC0tCi1rZXlEb3duKCc3Jyk7IC8vIC0+
IDA5LzIwLzk4NzY1IDA3OlstLV0gLS0KLWtleURvd24oJzUnKTsgLy8gLT4gMDkvMjAvOTg3NjUg
MDc6WzA1XSAtLQota2V5RG93bignNicpOyAvLyAtPiAwOS8yMC85ODc2NSAwNzo1NiBbLS1dCi1r
ZXlEb3duKCdBJyk7IC8vIC0+IDA5LzIwLzk4NzY1IDA3OjU2IEFNCi1zaG91bGRCZUVxdWFsVG9T
dHJpbmcoJ2lucHV0LnZhbHVlJywgJzk4NzY1LTA5LTIwVDA3OjU2Jyk7Ci0KLWJlZ2luVGVzdCgn
RGlnaXQga2V5cyBzdGFydGluZyB3aXRoIHplcm8nLCBudWxsLCBudWxsLCAnOTk5OS0xMi0zMVQy
Mzo1OScpOwota2V5RG93bignMCcpOyAvLyAtPiBbMDBdL2RkL3l5eXkgLS06LS0gLS0KLWtleURv
d24oJzInKTsgLy8gLT4gMDIvW2RkXS95eXl5IC0tOi0tIC0tCi1rZXlEb3duKCcwJyk7IC8vIC0+
IDAyL1swMF0veXl5eSAtLTotLSAtLQota2V5RG93bignMycpOyAvLyAtPiAwMi8wMy9beXl5eV0g
LS06LS0gLS0KLWtleURvd24oJzAnKTsgLy8gLT4gMDIvMDMvWzAwMDBdIC0tOi0tIC0tCi1rZXlE
b3duKCcwJyk7IC8vIC0+IDAyLzAzL1swMDAwXSAtLTotLSAtLQota2V5RG93bignNCcpOyAvLyAt
PiAwMi8wMy9bMDA0NF0gLS06LS0gLS0KLWtleURvd24oJzQnKTsgLy8gLT4gMDIvMDMvWzAwNDRd
IC0tOi0tIC0tCi1rZXlEb3duKCcwJyk7IC8vIC0+IDAyLzAzLzAwNDQgWzAwXTotLSAtLQota2V5
RG93bignNScpOyAvLyAtPiAwMi8wMy8wMDQ0IDA1OlstLV0gLS0KLWtleURvd24oJzAnKTsgLy8g
LT4gMDIvMDMvMDA0NCAwMTpbMDFdIC0tCi1rZXlEb3duKCc2Jyk7IC8vIC0+IDAyLzAzLzAwNDQg
MDU6MDYgWy0tXQota2V5RG93bignQScpOyAvLyAtPiAwMi8wMy8wMDQ0IDA1OjA2IEFNCi1zaG91
bGRCZUVxdWFsVG9TdHJpbmcoJ2lucHV0LnZhbHVlJywgJzAwNDQtMDItMDNUMDU6MDYnKTsKLQot
YmVnaW5UZXN0KCdEaWdpdCBrZXlzIGFuZCBiYWNrc3BhY2Uga2V5Jyk7Ci1rZXlEb3duKCcxJyk7
IC8vIC0+IFswMV0vZGQveXl5eSAtLTotLSAtLQota2V5RG93bigiXGIiKTsgLy8gLT4gW21tXS8y
MC8yMDEyIC0tOi0tIC0tCi1rZXlEb3duKCc1Jyk7IC8vIC0+IDA1L1tkZF0veXl5eSAtLTotLSAt
LQota2V5RG93bignNicpOyAvLyAtPiAwNS8wNi9beXl5eV0gLS06LS0gLS0KLWtleURvd24oIlxi
Iik7IC8vIC0+IDA1LzA2L1t5eXl5XSAtLTotLSAtLQota2V5RG93bignNycpOyAvLyAtPiAwNS8w
Ni9bMDAwN10gLS06LS0gLS0KLWtleURvd24oIlxiIik7IC8vIC0+IDA1LzA2L1t5eXl5XSAtLTot
LSAtLQota2V5RG93bignOCcpOyAvLyAtPiAwNS8wNi9bMDAwOF0gLS06LS0gLS0KLWtleURvd24o
J3JpZ2h0QXJyb3cnKTsgLy8gLT4gMDUvMDYvMDAwOCBbLS1dOi0tIC0tCi1rZXlEb3duKCc5Jyk7
IC8vIC0+IDA1LzA2LzAwMDggMDk6Wy0tXSAtLQota2V5RG93bignMScpOyAvLyAtPiAwNS8wNi8w
MDA4IDA5OlswMV0gLS0KLWtleURvd24oJzAnKTsgLy8gLT4gMDUvMDYvMDAwOCAwOToxMCBbLS1d
Ci1rZXlEb3duKCdBJyk7IC8vIC0+IDA1LzA2LzAwMDggMDk6MTAgW0FNXQotc2hvdWxkQmVFcXVh
bFRvU3RyaW5nKCdpbnB1dC52YWx1ZScsICcwMDA4LTA1LTA2VDA5OjEwJyk7Ci0KLS8vIEZJWE1F
OiBXZSBzaG91bGQgdGVzdCB0eXBlIGFoZWFkIHRpbWUgb3V0LiBXaGVuIGV2ZW50LmxlYXBGb3J3
YXJkKCkgYWZmZWN0cwotLy8ga2V5Ym9hcmQgZXZlbnQgdGltZSBzdGFtcCwgd2UgY2FuIHVuY29t
bWVudCB0aGlzIGZyYWdtZW50LgotLyoKLWJlZ2luVGVzdCgnRGlnaXQga2V5cyB3aXRoIHR5cGUg
YWhlYWQgdGltZW91dCcsICcyMDEyLTAxLTAxVDAwOjAwJyk7Ci1rZXlEb3duKCcxJyk7IC8vIC0+
IFswMV0vMDEvMjAxMiAxMjowMCBBTQotbGVhcEZvcndhcmQoMTEwMCk7Ci1rZXlEb3duKCcxJyk7
IC8vIC0+IFswMV0vMDEvMjAxMiAxMjowMCBBTQota2V5RG93bignMicpOyAvLyAtPiAxMi9bMDFd
LzIwMTIgMTI6MDAgQU0KLWtleURvd24oJzUnKTsgLy8gLT4gMTIvMDUvWzIwMTJdIDEyOjAwIEFN
Ci1rZXlEb3duKCc2Jyk7IC8vIC0+IDEyLzA1L1swMDA2XSAxMjowMCBBTQotc2hvdWxkQmVFcXVh
bFRvU3RyaW5nKCdpbnB1dC52YWx1ZScsICcwMDA2LTEyLTA1VDAwOjAwJyk7Ci0qLwotCi1iZWdp
blRlc3QoJ0xlZnQvUmlnaHQga2V5cycsICcyMDEyLTA5LTI5VDAwOjAwJyk7Ci1rZXlEb3duKCdy
aWdodEFycm93Jyk7IC8vIC0+IDA5L1syOV0vMjAxMiAxMjowMCBBTQota2V5RG93bignNScpOyAv
LyAtPiAwOS8wNS9bMjAxMl0gMTI6MDAgQU0KLWtleURvd24oJ3JpZ2h0QXJyb3cnKTsgLy8gLT4g
MDkvMDUvMjAxMiBbMTJdOjAwIEFNCi1rZXlEb3duKCc3Jyk7IC8vIC0+IDA5LzA1LzIwMTIgMDc6
WzAwXSBBTQota2V5RG93bigncmlnaHRBcnJvdycpOyAvLyAtPiAwOS8wNS8yMDEyIDA3OjAwIFtB
TV0KLWtleURvd24oJ1AnKTsgLy8gLT4gMDkvMDUvMjAxMiAwNzowMCBbUE1dCi1rZXlEb3duKCds
ZWZ0QXJyb3cnKTsgLy8gLT4gMDkvMDUvMjAxMiAwNzpbMDBdIFBNCi1rZXlEb3duKCc1Jyk7IC8v
IC0+IDA5LzA1LzIwMTIgMDc6WzA1XSBQTQota2V5RG93bignbGVmdEFycm93Jyk7IC8vIC0+IDA5
LzA1LzIwMTIgWzA3XTowNSBQTQota2V5RG93bignbGVmdEFycm93Jyk7IC8vIC0+IDA5LzA1L1sy
MDEyXSAwNzowNSBQTQota2V5RG93bignNCcpOyAvLyAtPiAwOS8wNS9bMDAwNF0gMDc6MDUgUE0K
LXNob3VsZEJlRXF1YWxUb1N0cmluZygnaW5wdXQudmFsdWUnLCAnMDAwNC0wOS0wNVQxOTowNScp
Owota2V5RG93bignbGVmdEFycm93Jyk7IC8vIC0+IDA5L1swNV0vMDAwNCAwNzowNSBQTQota2V5
RG93bignbGVmdEFycm93Jyk7IC8vIC0+IFswOV0vMDUvMDAwNCAwNzowNSBQTQota2V5RG93bign
bGVmdEFycm93Jyk7IC8vIC0+IFswOV0vMDUvMDAwNCAwNzowNSBQTQotc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCdkb2N1bWVudC5hY3RpdmVFbGVtZW50LmlkJywgJ2lucHV0Jyk7Ci0KLWJlZ2luVGVz
dCgnVXAvRG93biBrZXlzJywgJzIwMTItMDktMjlUMDA6MDAnKTsKLWtleURvd24oJ3VwQXJyb3cn
KTsgLy8gLT4gWzEwXS8yOS8yMDEyIDEyOjAwIEFNCi1zaG91bGRCZUVxdWFsVG9TdHJpbmcoJ2lu
cHV0LnZhbHVlJywgJzIwMTItMTAtMjlUMDA6MDAnKTsKLWtleURvd24oJ2Rvd25BcnJvdycpOyAv
LyAtPiBbMDldLzI5LzIwMTIgMTI6MDAgQU0KLWtleURvd24oJ2Rvd25BcnJvdycpOyAvLyAtPiBb
MDhdLzI5LzIwMTIgMTI6MDAgQU0KLXNob3VsZEJlRXF1YWxUb1N0cmluZygnaW5wdXQudmFsdWUn
LCAnMjAxMi0wOC0yOVQwMDowMCcpOwotCi1iZWdpblRlc3QoJ1VwL0Rvd24ga2V5cyBvbiBlbXB0
eSB2YWx1ZScpOwota2V5RG93bignZG93bkFycm93Jyk7IC8vICAtPiBbMTJdL2RkL3l5eXkgLS06
LS0gLS0KLWtleURvd24oJ2Rvd25BcnJvdycpOyAvLyAgLT4gWzExXS9kZC95eXl5IC0tOi0tIC0t
Ci1rZXlEb3duKCdyaWdodEFycm93Jyk7IC8vIC0+IDExL1tkZF0veXl5eSAtLTotLSAtLQota2V5
RG93bigndXBBcnJvdycpOyAvLyAgICAtPiAxMS9bMDFdL3l5eXkgLS06LS0gLS0KLWtleURvd24o
J3VwQXJyb3cnKTsgLy8gICAgLT4gMTEvWzAyXS95eXl5IC0tOi0tIC0tCi1rZXlEb3duKCdkb3du
QXJyb3cnKTsgLy8gIC0+IDExL1swMV0veXl5eSAtLTotLSAtLQota2V5RG93bigncmlnaHRBcnJv
dycpOyAvLyAtPiAxMS8wMS9beXl5eV0gLS06LS0gLS0KLXZhciBjdXJyZW50WWVhciA9IG5ldyBE
YXRlKCkuZ2V0RnVsbFllYXIoKTsKLWtleURvd24oJ3VwQXJyb3cnKTsgLy8gLT4gMTEvMDEvW2N1
cnJlbnRZZWFyXSAtLTotLSAtLQota2V5RG93bigncmlnaHRBcnJvdycpOyAvLyAtPiAxMS8wMS9j
dXJyZW50WWVhciBbLS1dOi0tIC0tCi1rZXlEb3duKCd1cEFycm93Jyk7IC8vICAgIC0+IDExLzAx
L2N1cnJlbnRZZWFyIFswMV06LS0gLS0KLWtleURvd24oJ3JpZ2h0QXJyb3cnKTsgLy8gLT4gMTEv
MDEvY3VycmVudFllYXIgMDE6Wy0tXSAtLQota2V5RG93bignZG93bkFycm93Jyk7IC8vICAtPiAx
MS8wMS9jdXJyZW50WWVhciAwMTpbNTldIC0tCi1rZXlEb3duKCdyaWdodEFycm93Jyk7IC8vIC0+
IDExLzAxL2N1cnJlbnRZZWFyIDAxOjU5IFstLV0KLWtleURvd24oJ3VwQXJyb3cnKTsgLy8gICAg
LT4gMTEvMDEvY3VycmVudFllYXIgMDE6NTkgW0FNXQotc2hvdWxkQmUoJ2lucHV0LnZhbHVlJywg
J2N1cnJlbnRZZWFyICsgIi0xMS0wMVQwMTo1OSInKTsKLQotYmVnaW5UZXN0KCdUYWIga2V5Jywg
JzIwMTItMDktMzBUMDA6MDAnKTsKLWtleURvd24oJ1x0Jyk7IC8vIC0+IDA5L1szMF0vMjAxMiAx
MjowMCBBTQota2V5RG93bignNScpOyAvLyAtPiAwOS8wNS9bMjAxMl0gMTI6MDAgQU0KLWtleURv
d24oJ1x0Jyk7IC8vIC0+IDA5LzA1LzIwMTIgWzEyXTowMCBBTQota2V5RG93bignXHQnKTsgLy8g
LT4gMDkvMDUvMjAxMiAxMjpbMDBdIEFNCi1rZXlEb3duKCdcdCcpOyAvLyAtPiAwOS8wNS8yMDEy
IDEyOjAwIFtBTV0KLWtleURvd24oJ1AnKTsgLy8gLT4gMDkvMDUvMjAxMiAxMjowMCBbUE1dCi1z
aG91bGRCZUVxdWFsVG9TdHJpbmcoJ2lucHV0LnZhbHVlJywgJzIwMTItMDktMDVUMTI6MDAnKTsK
LWtleURvd24oJ1x0Jyk7IC8vIC0+IEZvY3VzIG91dC4KLXNob3VsZEJlRXF1YWxUb1N0cmluZygn
ZG9jdW1lbnQuYWN0aXZlRWxlbWVudC5pZCcsICdhZnRlcicpOwotCi1iZWdpblRlc3QoJ1NoZml0
K1RhYiBrZXknLCAnMjAxMi0wOS0zMFQwMTowMCcpOwotYWZ0ZXIuZm9jdXMoKTsKLWtleURvd24o
J1x0JywgWydzaGlmdEtleSddKTsgLy8gLT4gMDkvMzAvMjAxMiAwMTowMCBbQU1dCi1rZXlEb3du
KCdQJyk7IC8vIC0+IDA5LzMwLzIwMTIgMDE6MDAgW1BNXQota2V5RG93bignXHQnLCBbJ3NoaWZ0
S2V5J10pOyAvLyAtPiAwOS8zMC8yMDEyIDAxOlswMF0gUE0KLWtleURvd24oJzMnKTsgLy8gLT4g
MDkvMzAvMjAxMiAwMTpbMDNdIFBNCi1zaG91bGRCZUVxdWFsVG9TdHJpbmcoJ2lucHV0LnZhbHVl
JywgJzIwMTItMDktMzBUMTM6MDMnKTsKLWtleURvd24oJ1x0JywgWydzaGlmdEtleSddKTsgLy8g
LT4gMDkvMzAvMjAxMiBbMDFdOjAzIFBNCi1rZXlEb3duKCdcdCcsIFsnc2hpZnRLZXknXSk7IC8v
IC0+IDA5LzMwL1syMDEyXSAwMTowMyBQTQota2V5RG93bignXHQnLCBbJ3NoaWZ0S2V5J10pOyAv
LyAtPiAwOS9bMzBdLzIwMTIgMDE6MDMgUE0KLWtleURvd24oJ1x0JywgWydzaGlmdEtleSddKTsg
Ly8gLT4gWzA5XS8zMC8yMDEyIDAxOjAzIFBNCi1rZXlEb3duKCdcdCcsIFsnc2hpZnRLZXknXSk7
IC8vIC0+IEZvY3VzIG91dC4KLXNob3VsZEJlRXF1YWxUb1N0cmluZygnZG9jdW1lbnQuYWN0aXZl
RWxlbWVudC5pZCcsICdiZWZvcmUnKTsKLQotYmVnaW5UZXN0KCdVcCBrZXkgb24gbWF4aW11bSB2
YWx1ZScsICcyNzU3NjAtMDktMTNUMDA6MDAnKTsKLWtleURvd24oJ3VwQXJyb3cnKTsgLy8gLT4g
WzEwXS8xMy8yNzU3NjAgMTI6MDAgQU0KLWtleURvd24oJ1x0Jyk7IC8vICAgICAgLT4gMTAvWzEz
XS8yNzU3NjAgMTI6MDAgQU0KLWtleURvd24oJ3VwQXJyb3cnKTsgLy8gLT4gMTAvWzE0XS8yNzU3
NjAgMTI6MDAgQU0KLWtleURvd24oJ1x0Jyk7IC8vICAgICAgLT4gMTAvMTQvWzI3NTc2MF0gMTI6
MDAgQU0KLWtleURvd24oJ3VwQXJyb3cnKTsgLy8gLT4gMTAvMTQvWzAwMDFdIDEyOjAwIEFNCi1z
aG91bGRCZUVxdWFsVG9TdHJpbmcoJ2lucHV0LnZhbHVlJywgJzAwMDEtMTAtMTRUMDA6MDAnKTsK
LWJlZ2luVGVzdCgnVXAga2V5IHdpdGggYSBtYXhpbXVtIGF0dHJpYnV0ZScsICcxOTk5LTEyLTMx
VDAwOjAwJywgJzEwMDAtMDEtMDFUMDA6MDAnLCAnMTk5OS0xMi0zMVQyMzo1OScpOwota2V5RG93
bigndXBBcnJvdycpOyAvLyAtPiBbMDFdLzMxLzE5OTkgMTI6MDAgQU0KLWtleURvd24oJ1x0Jyk7
IC8vICAgICAgLT4gMDEvWzMxXS8xOTk5IDEyOjAwIEFNCi1rZXlEb3duKCd1cEFycm93Jyk7IC8v
IC0+IDAxL1swMV0vMTk5OSAxMjowMCBBTQota2V5RG93bignXHQnKTsgLy8gICAgICAtPiAwMS8w
MS9bMTk5OV0gMTI6MDAgQU0KLWtleURvd24oJ3VwQXJyb3cnKTsgLy8gLT4gMDEvMDEvWzEwMDBd
IDEyOjAwIEFNCi1zaG91bGRCZUVxdWFsVG9TdHJpbmcoJ2lucHV0LnZhbHVlJywgJzEwMDAtMDEt
MDFUMDA6MDAnKTsKLQotYmVnaW5UZXN0KCdEb3duIGtleSBvbiBtaW5pbXVtIHZhbHVlJywgJzAw
MDEtMDEtMDFUMDA6MDAnLCAnYmFkIG1pbicsICd3cm9uZyBtYXgnKTsKLWtleURvd24oJ2Rvd25B
cnJvdycpOyAvLyAtPiBbMTJdLzAxLzAwMDEgMTI6MDAgQU0KLWtleURvd24oJ1x0Jyk7IC8vICAg
ICAgICAtPiAxMi9bMDFdLzAwMDEgMTI6MDAgQU0KLWtleURvd24oJ2Rvd25BcnJvdycpOyAvLyAt
PiAxMi9bMzFdLzAwMDEgMTI6MDAgQU0KLWtleURvd24oJ1x0Jyk7IC8vICAgICAgICAtPiAxMi8z
MS9bMDAwMV0gMTI6MDAgQU0KLWtleURvd24oJ2Rvd25BcnJvdycpOyAvLyAtPiAxMi8zMS9bMjc1
NzYwXSAxMjowMCBBTSwgd2hpY2ggaXMgZ3JlYXRlciB0aGFuIHRoZSBoYXJkIGxpbWl0Lgotc2hv
dWxkQmVFcXVhbFRvU3RyaW5nKCdpbnB1dC52YWx1ZScsICcnKTsKLWJlZ2luVGVzdCgnRG93biBr
ZXkgd2l0aCBhIG1pbmltdW0gYXR0cmlidXRlJywgJzEwMDAtMDEtMDFUMDA6MDAnLCAnMTAwMC0w
MS0wMVQwMDowMCcpOwota2V5RG93bignZG93bkFycm93Jyk7IC8vIC0+IFsxMl0vMDEvMTAwMCAx
MjowMCBBTQota2V5RG93bignXHQnKTsgLy8gICAgICAgIC0+IDEyL1swMV0vMTAwMCAxMjowMCBB
TQota2V5RG93bignZG93bkFycm93Jyk7IC8vIC0+IDEyL1szMV0vMTAwMCAxMjowMCBBTQota2V5
RG93bignXHQnKTsgLy8gICAgICAgIC0+IDEyLzMxL1sxMDAwXSAxMjowMCBBTQota2V5RG93bign
ZG93bkFycm93Jyk7IC8vIC0+IDEyLzMxLzI3NTc2MCwgd2hpY2ggaXMgZ3JlYXRlciB0aGFuIHRo
ZSBoYXJkIGxpbWl0Lgotc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdpbnB1dC52YWx1ZScsICcnKTsK
LQotYmVnaW5UZXN0KCdJbmNvbnNpc3RlbnQgbWluLW1heCBhdHRyaWJ1dGVzJywgJzE5OTktMTIt
MzFUMjM6NTknLCAnMTk5OS0xMi0zMVQyMzo1OScsICcxMDAwLTAxLTAxVDAwOjAwJyk7Ci1rZXlE
b3duKCdcdCcpOyAvLyAtPiAxMi9bMzFdLzE5OTkgMTE6NTkgUE0KLWtleURvd24oJ1x0Jyk7IC8v
IC0+IDEyLzMxL1sxOTk5XSAxMTo1OSBQTQota2V5RG93bigndXBBcnJvdycpOyAvLyAtPiAxMi8z
MS9bMTAwMF0gMTE6NTkgUE0uICAxMDAwIGlzIHRoZSBzd2FwcGVkIG1pbmltdW0geWVhci4KLXNo
b3VsZEJlRXF1YWxUb1N0cmluZygnaW5wdXQudmFsdWUnLCAnMTAwMC0xMi0zMVQyMzo1OScpOwot
a2V5RG93bignZG93bkFycm93Jyk7IC8vIC0+IDEyLzMxL1sxOTk5XQotc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCdpbnB1dC52YWx1ZScsICcxOTk5LTEyLTMxVDIzOjU5Jyk7Ci0KLWJlZ2luVGVzdCgn
TWFrZSBhbiBpbnZhbGlkIGRhdGUnLCAnMjAxMi0wMi0wMVQwMDowMCcpOwota2V5RG93bignXHQn
KTsgLy8gICAgICAgIC0+IDAyL1swMV0vMjAxMiAxMjowMCBBTQota2V5RG93bignZG93bkFycm93
Jyk7IC8vIC0+IDAyL1szMV0vMjAxMiAxMjowMCBBTQotc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdp
bnB1dC52YWx1ZScsICcnKTsgLy8gMjAxMi0wMi0zMSBpcyBub3QgYSB2YWxpZCBkYXRlLgotCi1i
ZWdpblRlc3QoJ0JhY2tzcGFjZSBrZXknLCAnMjAxMi0wOS0yMFQwMDowMCcpOwota2V5RG93bign
XGInKTsgLy8gLT4gW21tXS8yMC8yMDEyIDEyOjAwIEFNCi1zaG91bGRCZUVxdWFsVG9TdHJpbmco
J2lucHV0LnZhbHVlJywgJycpOwotCi1iZWdpblRlc3QoJ0RlbGV0ZSBrZXknLCAnMjAxMi0wOS0z
MFQwMDowMCcpOwota2V5RG93bignZGVsZXRlJyk7IC8vIC0+IFttbV0vMzAvMjAxMiAxMjowMCBB
TQotc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdpbnB1dC52YWx1ZScsICcnKTsKLQotYmVnaW5UZXN0
KCdUeXBlYWhlYWQnLCAnMjAxMi0xMi0zMVQwMDowMCcpOwota2V5RG93bigncmlnaHRBcnJvdycp
OyAvLyAtPiAxMi9bMzFdLzIwMTIgMTI6MDAgQU0KLWtleURvd24oJzEnKTsgLy8gICAgICAgICAg
LT4gMTIvWzAxXS8yMDEyIDEyOjAwIEFNCi1zaG91bGRCZUVxdWFsVG9TdHJpbmcoJ2lucHV0LnZh
bHVlJywgJzIwMTItMTItMDFUMDA6MDAnKTsKLWtleURvd24oJ2xlZnRBcnJvdycpOyAvLyAgLT4g
WzEyXS8wMS8yMDEyIDEyOjAwIEFNCi1rZXlEb3duKCdyaWdodEFycm93Jyk7IC8vIC0+IDEyL1sw
MV0vMjAxMiAxMjowMCBBTQota2V5RG93bignMicpOyAvLyAgICAgICAgICAtPiAxMi9bMDJdLzIw
MTIgMTI6MDAgQU0KLXNob3VsZEJlRXF1YWxUb1N0cmluZygnaW5wdXQudmFsdWUnLCAnMjAxMi0x
Mi0wMlQwMDowMCcpOwotCi1pbnB1dC5zZXRBdHRyaWJ1dGUoJ2xhbmcnLCAnaGUtaWwnKTsKLWJl
Z2luVGVzdCgnUlRMIGZvY3VzIG5hdmlnYXRpb24nLCAnMjAxMi0wOS0yOFQyMzowMCcpOwotZGVi
dWcoJ1RoZSB0ZXN0cyBpbiB0aGlzIGJsb2NrIGZhaWwgb24gcGxhdGZvcm1zIHdpdGhvdXQgdGhl
IGxhbmctYXR0cmlidXRlLWF3YXJlLWZvcm0tY29udHJvbC1VSSBmZWF0dXJlLicpOwotLy8gVGhl
IGxvZ2ljbGEgb3JkZXI6IGRkL01NL3l5eXkgaGg6bW0KLS8vIFRoZSB2aXN1YWwgb3JkZXI6IGho
Om1tIGRkL01NL3l5eXkKLWtleURvd24oJzEnKTsgLy8gICAgICAgICAgLT4gMjM6MDAgWzAxXS8w
OS8yMDEyCi1zaG91bGRCZUVxdWFsVG9TdHJpbmcoJ2lucHV0LnZhbHVlJywgJzIwMTItMDktMDFU
MjM6MDAnKTsKLWtleURvd24oJ1x0Jyk7IC8vICAgICAgICAgLT4gMjM6MDAgMDEvWzA5XS8yMDEy
Ci1rZXlEb3duKCcyJyk7IC8vICAgICAgICAgIC0+IDIzOjAwIDAxLzAyL1syMDEyXQota2V5RG93
bignXHQnKTsgLy8gICAgICAgICAtPiBbMjNdOjAwIDIwMTIvMDkvMDEKLWtleURvd24oJzEnKTsg
Ly8gICAgICAgICAgLT4gWzAxXTowMCAwMS8wOS8yMDEyCi1zaG91bGRCZUVxdWFsVG9TdHJpbmco
J2lucHV0LnZhbHVlJywgJzIwMTItMDItMDFUMDE6MDAnKTsKLWtleURvd24oJ1x0JywgWydzaGlm
dEtleSddKTsgLy8gLT4gMDE6MDAgMDEvMDkvWzIwMTJdCi1rZXlEb3duKCc4Jyk7IC8vICAgICAg
ICAgICAgICAgIC0+IDAxOjAwIDAxLzA5L1swMDA4XQota2V5RG93bignXHQnLCBbJ3NoaWZ0S2V5
J10pOyAvLyAtPiAwMTowMCAwMS9bMDldLzAwMDgKLWtleURvd24oJzMnKTsgLy8gICAgICAgICAg
ICAgICAgLT4gMDE6MDAgMDEvMDMvWzAwMDhdCi1zaG91bGRCZUVxdWFsVG9TdHJpbmcoJ2lucHV0
LnZhbHVlJywgJzAwMDgtMDMtMDFUMDE6MDAnKTsKLWlucHV0LnJlbW92ZUF0dHJpYnV0ZSgnbGFu
ZycpOwotCi1iZWdpblRlc3QoJ0Rpc2FibGVkL3JlYWRvbmx5JywgJzIwMTItMTAtMDhUMDA6MDAn
KTsKLWlucHV0LmRpc2FibGVkID0gdHJ1ZTsKLWtleURvd24oJ3VwQXJyb3cnKTsgLy8gMTAvMDgv
MjAxMiAxMjowMCBBTQotc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdpbnB1dC52YWx1ZScsICcyMDEy
LTEwLTA4VDAwOjAwJyk7Ci1pbnB1dC5kaXNhYmxlZCA9IGZhbHNlOwotaW5wdXQuZm9jdXMoKTsK
LWtleURvd24oJ3VwQXJyb3cnKTsgLy8gWzExXS8wOC8yMDEyIDEyOjAwIEFNCi1zaG91bGRCZUVx
dWFsVG9TdHJpbmcoJ2lucHV0LnZhbHVlJywgJzIwMTItMTEtMDhUMDA6MDAnKTsKLWlucHV0LnJl
YWRPbmx5ID0gdHJ1ZTsKLWtleURvd24oJ3VwQXJyb3cnKTsgLy8gMTEvMDgvMjAxMiAxMjowMCBB
TQotc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdpbnB1dC52YWx1ZScsICcyMDEyLTExLTA4VDAwOjAw
Jyk7Ci1pbnB1dC5yZWFkT25seSA9IGZhbHNlOwotaW5wdXQuZm9jdXMoKTsKLWtleURvd24oJ3Vw
QXJyb3cnKTsgLy8gWzEyXS8wOC8yMDEyIDEyOjAwIEFNCi1zaG91bGRCZUVxdWFsVG9TdHJpbmco
J2lucHV0LnZhbHVlJywgJzIwMTItMTItMDhUMDA6MDAnKTsKLQotPC9zY3JpcHQ+Ci08c2NyaXB0
IHNyYz0iLi4vLi4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Ci08L2Jv
ZHk+Ci08L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2RhdGV0aW1l
bG9jYWwtbXVsdGlwbGUtZmllbGRzL2RhdGV0aW1lbG9jYWwtbXVsdGlwbGUtZmllbGRzLW1vdXNl
LWV2ZW50cy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2RhdGV0aW1lbG9j
YWwtbXVsdGlwbGUtZmllbGRzL2RhdGV0aW1lbG9jYWwtbXVsdGlwbGUtZmllbGRzLW1vdXNlLWV2
ZW50cy1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDc1OWU2ZWVj
ZjUyZGY5ZmE5ZjYxZTZjZGUzYjI1YTg3MTlkZmZlYzYuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9kYXRldGltZWxv
Y2FsLW11bHRpcGxlLWZpZWxkcy9kYXRldGltZWxvY2FsLW11bHRpcGxlLWZpZWxkcy1tb3VzZS1l
dmVudHMtZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEsNTYgKzAsMCBAQAotTXVsdGlw
bGUgZmllbGRzIFVJIG9mIGRhdGV0aW1lLWxvY2FsIGlucHV0IHR5cGUgd2l0aCBtb3VzZSBldmVu
dHMKLQotT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdl
cywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgotCi0KLVBsZWFzZSBydW4gdGhpcyB3aXRo
IERSVCBvciBXVFIuCi0KLVRlc3QgZm9sbG93aW5nIG1vdXNlIGFjdGlvbnM6Ci1Nb3VzZSBjbGlj
ayB0byBmb2N1cyBlYWNoIG9mIHN1Yi1maWVsZHMKLU1vdXNlIGNsaWNrIG9uIHRoZSBzcGluIGJ1
dHRvbiB0byB1cGRhdGUgZWFjaCBvZiBzdWItZmllbGRzCi0KLT09PiBGb2N1cyBvbiB0aGUgbW9u
dGggZmllbGQuCi1QQVNTIGlucHV0LnZhbHVlIGlzICIyMzQ1LTA4LTE5VDEwOjAwIgotUEFTUyBp
bnB1dC52YWx1ZSBpcyAiMjM0NS0wOS0xOVQxMDowMCIKLVBBU1MgaW5wdXQudmFsdWUgaXMgIjIz
NDUtMDgtMTlUMTA6MDAiCi1QQVNTIHdpbmRvdy5nZXRTZWxlY3Rpb24oKS5yYW5nZUNvdW50IGlz
IDAKLQotPT0+IEZvY3VzIG9uIHRoZSBkYXkgZmllbGQuCi1QQVNTIGlucHV0LnZhbHVlIGlzICIy
MzQ1LTA4LTIwVDEwOjAwIgotUEFTUyBpbnB1dC52YWx1ZSBpcyAiMjM0NS0wOC0yMVQxMDowMCIK
LVBBU1MgaW5wdXQudmFsdWUgaXMgIjIzNDUtMDgtMjBUMTA6MDAiCi1QQVNTIHdpbmRvdy5nZXRT
ZWxlY3Rpb24oKS5yYW5nZUNvdW50IGlzIDAKLQotPT0+IEZvY3VzIG9uIHRoZSB5ZWFyIGZpZWxk
LgotUEFTUyBpbnB1dC52YWx1ZSBpcyAiMjM0Ni0wOC0yMFQxMDowMCIKLVBBU1MgaW5wdXQudmFs
dWUgaXMgIjIzNDctMDgtMjBUMTA6MDAiCi1QQVNTIGlucHV0LnZhbHVlIGlzICIyMzQ2LTA4LTIw
VDEwOjAwIgotUEFTUyB3aW5kb3cuZ2V0U2VsZWN0aW9uKCkucmFuZ2VDb3VudCBpcyAwCi0KLT09
PiBGb2N1cyBvbiB0aGUgaG91ciBmaWVsZC4KLVBBU1MgaW5wdXQudmFsdWUgaXMgIjIzNDYtMDgt
MjBUMTE6MDAiCi1QQVNTIGlucHV0LnZhbHVlIGlzICIyMzQ2LTA4LTIwVDAwOjAwIgotUEFTUyBp
bnB1dC52YWx1ZSBpcyAiMjM0Ni0wOC0yMFQxMTowMCIKLVBBU1Mgd2luZG93LmdldFNlbGVjdGlv
bigpLnJhbmdlQ291bnQgaXMgMAotCi09PT4gRm9jdXMgb24gdGhlIG1pbnV0ZSBmaWVsZC4KLVBB
U1MgaW5wdXQudmFsdWUgaXMgIjIzNDYtMDgtMjBUMTE6MDEiCi1QQVNTIGlucHV0LnZhbHVlIGlz
ICIyMzQ2LTA4LTIwVDExOjAyIgotUEFTUyBpbnB1dC52YWx1ZSBpcyAiMjM0Ni0wOC0yMFQxMTow
MSIKLVBBU1Mgd2luZG93LmdldFNlbGVjdGlvbigpLnJhbmdlQ291bnQgaXMgMAotCi09PT4gQ2xp
Y2sgb24gYSBkaXNhYmxlZCBmaWVsZC4KLVBBU1MgaW5wdXQudmFsdWUgaXMgIjIzNDYtMDgtMjBU
MTE6MDEiCi0KLT09PiBDbGljayBvbiBhIHJlYWQtb25seSBmaWVsZC4KLVBBU1MgaW5wdXQudmFs
dWUgaXMgIjIzNDYtMDgtMjBUMTE6MDEiCi0KLT09PiBDbGljayBvbiBjbGVhciBidXR0b24uCi1Q
QVNTIGlucHV0LnZhbHVlIGlzICIyMzQ2LTA4LTIwVDExOjAxIgotUEFTUyBpbnB1dC52YWx1ZSBp
cyAiMjM0Ni0wOC0yMFQxMTowMSIKLVBBU1MgaW5wdXQudmFsdWUgaXMgIiIKLQotUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQotCi1URVNUIENPTVBMRVRFCi0KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2Zhc3QvZm9ybXMvZGF0ZXRpbWVsb2NhbC1tdWx0aXBsZS1maWVsZHMvZGF0ZXRp
bWVsb2NhbC1tdWx0aXBsZS1maWVsZHMtbW91c2UtZXZlbnRzLmh0bWwgYi9MYXlvdXRUZXN0cy9m
YXN0L2Zvcm1zL2RhdGV0aW1lbG9jYWwtbXVsdGlwbGUtZmllbGRzL2RhdGV0aW1lbG9jYWwtbXVs
dGlwbGUtZmllbGRzLW1vdXNlLWV2ZW50cy5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCA2ODEyYjlhNDQyNjA0ZTM3ZjAwNWNkNGI2NTE2ZTU1NzU5MTNkMzg0Li4wMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZm9y
bXMvZGF0ZXRpbWVsb2NhbC1tdWx0aXBsZS1maWVsZHMvZGF0ZXRpbWVsb2NhbC1tdWx0aXBsZS1m
aWVsZHMtbW91c2UtZXZlbnRzLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSwxMzAgKzAsMCBAQAot
PCFET0NUWVBFIGh0bWw+Ci08aHRtbD4KLTxoZWFkPgotPHNjcmlwdCBzcmM9Ii4uLy4uL2pzL3Jl
c291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keT4KLTxwIGlk
PSJkZXNjcmlwdGlvbiI+PC9wPgotPHA+Ci1QbGVhc2UgcnVuIHRoaXMgd2l0aCBEUlQgb3IgV1RS
LgotPC9wPgotVGVzdCBmb2xsb3dpbmcgbW91c2UgYWN0aW9uczoKLTx1bD4KLSAgICA8bGk+TW91
c2UgY2xpY2sgdG8gZm9jdXMgZWFjaCBvZiBzdWItZmllbGRzPC9saT4KLSAgICA8bGk+TW91c2Ug
Y2xpY2sgb24gdGhlIHNwaW4gYnV0dG9uIHRvIHVwZGF0ZSBlYWNoIG9mIHN1Yi1maWVsZHM8L2xp
PgotPC91bD4KLTxpbnB1dCBpZD0iaW5wdXQiIHR5cGU9ImRhdGV0aW1lLWxvY2FsIiBzdHlsZT0i
Zm9udC1mYW1pbHk6YWhlbTsgZm9udC1zaXplOjE2cHg7Ij4KLTxkaXYgaWQ9ImNvbnNvbGUiPjwv
ZGl2PgotPHNjcmlwdD4KLWRlc2NyaXB0aW9uKCdNdWx0aXBsZSBmaWVsZHMgVUkgb2YgZGF0ZXRp
bWUtbG9jYWwgaW5wdXQgdHlwZSB3aXRoIG1vdXNlIGV2ZW50cycpOwotdmFyIGlucHV0ID0gZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2lucHV0Jyk7Ci0KLWZ1bmN0aW9uIGtleURvd24oa2V5LCBt
b2RpZmllcnMpCi17Ci0gICAgaWYgKCF3aW5kb3cuZXZlbnRTZW5kZXIpCi0gICAgICAgIHJldHVy
bjsKLSAgICBldmVudFNlbmRlci5rZXlEb3duKGtleSwgbW9kaWZpZXJzKTsKLX0KLQotZnVuY3Rp
b24gbW91c2VDbGlja09uKHgsIHkpCi17Ci0gICAgaWYgKCF3aW5kb3cuZXZlbnRTZW5kZXIpCi0g
ICAgICAgIHJldHVybjsKLSAgICBldmVudFNlbmRlci5tb3VzZU1vdmVUbyh4ICsgaW5wdXQub2Zm
c2V0TGVmdCwgeSArIGlucHV0Lm9mZnNldFRvcCk7Ci0gICAgZXZlbnRTZW5kZXIubW91c2VEb3du
KCk7Ci0gICAgZXZlbnRTZW5kZXIubW91c2VVcCgpOwotfQotCi1pbnB1dC52YWx1ZSA9ICcyMzQ1
LTA3LTE5VDEwOjAwJzsKLXZhciBjZW50ZXIgPSBpbnB1dC5vZmZzZXRIZWlnaHQgLyAyOwotdmFy
IHNwaW5CdXR0b25PZmZzZXQgPSAyNjsKLXZhciBjbGVhckJ1dHRvbk9mZnNldCA9IDQxOwotCi1k
ZWJ1ZygnPT0+IEZvY3VzIG9uIHRoZSBtb250aCBmaWVsZC4nKTsKLW1vdXNlQ2xpY2tPbigxMiwg
Y2VudGVyKTsKLWtleURvd24oJ3VwQXJyb3cnKTsKLXNob3VsZEJlRXF1YWxUb1N0cmluZygnaW5w
dXQudmFsdWUnLCAnMjM0NS0wOC0xOVQxMDowMCcpOwotbW91c2VDbGlja09uKGlucHV0Lm9mZnNl
dFdpZHRoIC0gc3BpbkJ1dHRvbk9mZnNldCwgY2VudGVyIC0gMSk7Ci1zaG91bGRCZUVxdWFsVG9T
dHJpbmcoJ2lucHV0LnZhbHVlJywgJzIzNDUtMDktMTlUMTA6MDAnKTsKLW1vdXNlQ2xpY2tPbihp
bnB1dC5vZmZzZXRXaWR0aCAtIHNwaW5CdXR0b25PZmZzZXQsIGNlbnRlciArIDEpOwotc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCdpbnB1dC52YWx1ZScsICcyMzQ1LTA4LTE5VDEwOjAwJyk7Ci1zaG91
bGRCZVplcm8oJ3dpbmRvdy5nZXRTZWxlY3Rpb24oKS5yYW5nZUNvdW50Jyk7IC8vIE5vIHRleHQg
c2VsZWN0aW9uLgotCi1kZWJ1ZygnJyk7Ci1kZWJ1ZygnPT0+IEZvY3VzIG9uIHRoZSBkYXkgZmll
bGQuJyk7Ci1tb3VzZUNsaWNrT24oNjAsIGNlbnRlcik7Ci1rZXlEb3duKCd1cEFycm93Jyk7Ci1z
aG91bGRCZUVxdWFsVG9TdHJpbmcoJ2lucHV0LnZhbHVlJywgJzIzNDUtMDgtMjBUMTA6MDAnKTsK
LW1vdXNlQ2xpY2tPbihpbnB1dC5vZmZzZXRXaWR0aCAtIHNwaW5CdXR0b25PZmZzZXQsIGNlbnRl
ciAtIDEpOwotc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdpbnB1dC52YWx1ZScsICcyMzQ1LTA4LTIx
VDEwOjAwJyk7Ci1tb3VzZUNsaWNrT24oaW5wdXQub2Zmc2V0V2lkdGggLSBzcGluQnV0dG9uT2Zm
c2V0LCBjZW50ZXIgKyAxKTsKLXNob3VsZEJlRXF1YWxUb1N0cmluZygnaW5wdXQudmFsdWUnLCAn
MjM0NS0wOC0yMFQxMDowMCcpOwotc2hvdWxkQmVaZXJvKCd3aW5kb3cuZ2V0U2VsZWN0aW9uKCku
cmFuZ2VDb3VudCcpOyAvLyBObyB0ZXh0IHNlbGVjdGlvbi4KLQotZGVidWcoJycpOwotZGVidWco
Jz09PiBGb2N1cyBvbiB0aGUgeWVhciBmaWVsZC4nKTsKLW1vdXNlQ2xpY2tPbigxMDgsIGNlbnRl
cik7Ci1rZXlEb3duKCd1cEFycm93Jyk7Ci1zaG91bGRCZUVxdWFsVG9TdHJpbmcoJ2lucHV0LnZh
bHVlJywgJzIzNDYtMDgtMjBUMTA6MDAnKTsKLW1vdXNlQ2xpY2tPbihpbnB1dC5vZmZzZXRXaWR0
aCAtIHNwaW5CdXR0b25PZmZzZXQsIGNlbnRlciAtIDEpOwotc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCdpbnB1dC52YWx1ZScsICcyMzQ3LTA4LTIwVDEwOjAwJyk7Ci1tb3VzZUNsaWNrT24oaW5wdXQu
b2Zmc2V0V2lkdGggLSBzcGluQnV0dG9uT2Zmc2V0LCBjZW50ZXIgKyAxKTsKLXNob3VsZEJlRXF1
YWxUb1N0cmluZygnaW5wdXQudmFsdWUnLCAnMjM0Ni0wOC0yMFQxMDowMCcpOwotc2hvdWxkQmVa
ZXJvKCd3aW5kb3cuZ2V0U2VsZWN0aW9uKCkucmFuZ2VDb3VudCcpOyAvLyBObyB0ZXh0IHNlbGVj
dGlvbi4KLQotZGVidWcoJycpOwotZGVidWcoJz09PiBGb2N1cyBvbiB0aGUgaG91ciBmaWVsZC4n
KTsKLW1vdXNlQ2xpY2tPbigxOTAsIGNlbnRlcik7Ci1rZXlEb3duKCd1cEFycm93Jyk7Ci1zaG91
bGRCZUVxdWFsVG9TdHJpbmcoJ2lucHV0LnZhbHVlJywgJzIzNDYtMDgtMjBUMTE6MDAnKTsKLW1v
dXNlQ2xpY2tPbihpbnB1dC5vZmZzZXRXaWR0aCAtIHNwaW5CdXR0b25PZmZzZXQsIGNlbnRlciAt
IDEpOwotc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdpbnB1dC52YWx1ZScsICcyMzQ2LTA4LTIwVDAw
OjAwJyk7Ci1tb3VzZUNsaWNrT24oaW5wdXQub2Zmc2V0V2lkdGggLSBzcGluQnV0dG9uT2Zmc2V0
LCBjZW50ZXIgKyAxKTsKLXNob3VsZEJlRXF1YWxUb1N0cmluZygnaW5wdXQudmFsdWUnLCAnMjM0
Ni0wOC0yMFQxMTowMCcpOwotc2hvdWxkQmVaZXJvKCd3aW5kb3cuZ2V0U2VsZWN0aW9uKCkucmFu
Z2VDb3VudCcpOyAvLyBObyB0ZXh0IHNlbGVjdGlvbi4KLQotZGVidWcoJycpOwotZGVidWcoJz09
PiBGb2N1cyBvbiB0aGUgbWludXRlIGZpZWxkLicpOwotbW91c2VDbGlja09uKDI0MCwgY2VudGVy
KTsKLWtleURvd24oJ3VwQXJyb3cnKTsKLXNob3VsZEJlRXF1YWxUb1N0cmluZygnaW5wdXQudmFs
dWUnLCAnMjM0Ni0wOC0yMFQxMTowMScpOwotbW91c2VDbGlja09uKGlucHV0Lm9mZnNldFdpZHRo
IC0gc3BpbkJ1dHRvbk9mZnNldCwgY2VudGVyIC0gMSk7Ci1zaG91bGRCZUVxdWFsVG9TdHJpbmco
J2lucHV0LnZhbHVlJywgJzIzNDYtMDgtMjBUMTE6MDInKTsKLW1vdXNlQ2xpY2tPbihpbnB1dC5v
ZmZzZXRXaWR0aCAtIHNwaW5CdXR0b25PZmZzZXQsIGNlbnRlciArIDEpOwotc2hvdWxkQmVFcXVh
bFRvU3RyaW5nKCdpbnB1dC52YWx1ZScsICcyMzQ2LTA4LTIwVDExOjAxJyk7Ci1zaG91bGRCZVpl
cm8oJ3dpbmRvdy5nZXRTZWxlY3Rpb24oKS5yYW5nZUNvdW50Jyk7IC8vIE5vIHRleHQgc2VsZWN0
aW9uLgotCi1kZWJ1ZygnJyk7Ci1kZWJ1ZygnPT0+IENsaWNrIG9uIGEgZGlzYWJsZWQgZmllbGQu
Jyk7Ci1pbnB1dC5kaXNhYmxlZCA9IHRydWU7Ci1tb3VzZUNsaWNrT24oMTIsIGNlbnRlcik7Ci1r
ZXlEb3duKCd1cEFycm93Jyk7Ci1zaG91bGRCZUVxdWFsVG9TdHJpbmcoJ2lucHV0LnZhbHVlJywg
JzIzNDYtMDgtMjBUMTE6MDEnKTsKLWlucHV0LmRpc2FibGVkID0gZmFsc2U7Ci0KLWRlYnVnKCcn
KTsKLWRlYnVnKCc9PT4gQ2xpY2sgb24gYSByZWFkLW9ubHkgZmllbGQuJyk7Ci1pbnB1dC5yZWFk
T25seSA9IHRydWU7Ci1tb3VzZUNsaWNrT24oMTIsIGNlbnRlcik7Ci1rZXlEb3duKCd1cEFycm93
Jyk7Ci1zaG91bGRCZUVxdWFsVG9TdHJpbmcoJ2lucHV0LnZhbHVlJywgJzIzNDYtMDgtMjBUMTE6
MDEnKTsKLWlucHV0LnJlYWRPbmx5ID0gZmFsc2U7Ci0KLWRlYnVnKCcnKTsKLWRlYnVnKCc9PT4g
Q2xpY2sgb24gY2xlYXIgYnV0dG9uLicpOwotaW5wdXQucmVhZE9ubHkgPSB0cnVlOwotbW91c2VD
bGlja09uKGlucHV0Lm9mZnNldFdpZHRoIC0gY2xlYXJCdXR0b25PZmZzZXQsIGNlbnRlcik7Ci1z
aG91bGRCZUVxdWFsVG9TdHJpbmcoJ2lucHV0LnZhbHVlJywgJzIzNDYtMDgtMjBUMTE6MDEnKTsK
LWlucHV0LmRpc2FibGVkID0gdHJ1ZTsKLWlucHV0LnJlYWRPbmx5ID0gZmFsc2U7Ci1tb3VzZUNs
aWNrT24oaW5wdXQub2Zmc2V0V2lkdGggLSBjbGVhckJ1dHRvbk9mZnNldCwgY2VudGVyKTsKLXNo
b3VsZEJlRXF1YWxUb1N0cmluZygnaW5wdXQudmFsdWUnLCAnMjM0Ni0wOC0yMFQxMTowMScpOwot
aW5wdXQuZGlzYWJsZWQgPSBmYWxzZTsKLW1vdXNlQ2xpY2tPbihpbnB1dC5vZmZzZXRXaWR0aCAt
IGNsZWFyQnV0dG9uT2Zmc2V0LCBjZW50ZXIpOwotc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdpbnB1
dC52YWx1ZScsICcnKTsKLQotZGVidWcoJycpOwotPC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iLi4v
Li4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Ci08L2JvZHk+Ci08L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2RhdGV0aW1lbG9jYWwtbXVs
dGlwbGUtZmllbGRzL2RhdGV0aW1lbG9jYWwtbXVsdGlwbGUtZmllbGRzLXByZXNlcnZlLXZhbHVl
LWFmdGVyLWhpc3RvcnktYmFjay1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1z
L2RhdGV0aW1lbG9jYWwtbXVsdGlwbGUtZmllbGRzL2RhdGV0aW1lbG9jYWwtbXVsdGlwbGUtZmll
bGRzLXByZXNlcnZlLXZhbHVlLWFmdGVyLWhpc3RvcnktYmFjay1leHBlY3RlZC50eHQKZGVsZXRl
ZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDNkYjczODM0MjNiMTc2Zjc2ZjUwYzRhYTQ4ZDZmYjlm
NWFkM2RhM2EuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEv
TGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9kYXRldGltZWxvY2FsLW11bHRpcGxlLWZpZWxkcy9kYXRl
dGltZWxvY2FsLW11bHRpcGxlLWZpZWxkcy1wcmVzZXJ2ZS12YWx1ZS1hZnRlci1oaXN0b3J5LWJh
Y2stZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEsMTggKzAsMCBAQAotQ2hlY2tzIGlu
cHV0IHZhbHVlIGlzIHByZXNlcnZlZCBhZnRlciBiYWNrd2FyZCBhbmQgZm9yd2FyZAotCi1PbiBz
dWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dl
ZCBieSAiVEVTVCBDT01QTEVURSIuCi0KLQotV2VudCBiYWNrIHRvIGEgcGFnZS4gQ2hlY2tpbmcg
YSBmb3JtIGNvbnRyb2wgd2hpY2ggaGFkIGEgZnVsbCB2YWx1ZToKLVBBU1MgIjEyMDEyLTEwLTA5
VDAxOjIzIiBpcyAiMTIwMTItMTAtMDlUMDE6MjMiCi1XZW50IGJhY2sgdG8gYSBwYWdlLiBDaGVj
a2luZyBhIGZvcm0gY29udHJvbCB3aGljaCBoYWQgYSBwYXJ0aWFsIHZhbHVlOgotUEFTUyAiMDEv
ZGQvMTk5OSAtLTowMCAtLSIgaXMgIjAxL2RkLzE5OTkgLS06MDAgLS0iCi1XZW50IGZvcndhcmQg
dG8gYSBwYWdlLiBDaGVja2luZyBhIGZvcm0gY29udHJvbCB3aGljaCBoYWQgYSBmdWxsIHZhbHVl
OgotUEFTUyAiMDAwMS0xMS0xN1QyMzo1NSIgaXMgIjAwMDEtMTEtMTdUMjM6NTUiCi1XZW50IGZv
cndhcmQgdG8gYSBwYWdlLiBDaGVja2luZyBhIGZvcm0gY29udHJvbCB3aGljaCBoYWQgYSBwYXJ0
aWFsIHZhbHVlOgotUEFTUyAibW0vMzEveXl5eSAxMjotLSBQTSIgaXMgIm1tLzMxL3l5eXkgMTI6
LS0gUE0iCi0KLVBBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKLQotVEVTVCBDT01QTEVU
RQotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2RhdGV0aW1lbG9jYWwtbXVs
dGlwbGUtZmllbGRzL2RhdGV0aW1lbG9jYWwtbXVsdGlwbGUtZmllbGRzLXByZXNlcnZlLXZhbHVl
LWFmdGVyLWhpc3RvcnktYmFjay5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9kYXRldGlt
ZWxvY2FsLW11bHRpcGxlLWZpZWxkcy9kYXRldGltZWxvY2FsLW11bHRpcGxlLWZpZWxkcy1wcmVz
ZXJ2ZS12YWx1ZS1hZnRlci1oaXN0b3J5LWJhY2suaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggNWZkYTZkOTc3ZDllMGI2ZjQ1NDBjN2MyYTg0N2I4NmFlY2IzOTEyZC4uMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0
L2Zvcm1zL2RhdGV0aW1lbG9jYWwtbXVsdGlwbGUtZmllbGRzL2RhdGV0aW1lbG9jYWwtbXVsdGlw
bGUtZmllbGRzLXByZXNlcnZlLXZhbHVlLWFmdGVyLWhpc3RvcnktYmFjay5odG1sCisrKyAvZGV2
L251bGwKQEAgLTEsNDIgKzAsMCBAQAotPCFET0NUWVBFIGh0bWw+Ci08aHRtbD4KLTxoZWFkPgot
PHNjcmlwdCBzcmM9Ii4uLy4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48
L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5PgotPGlmcmFtZSBpZD0iaWZyYW1lIj48L2lmcmFtZT4K
LTxzY3JpcHQ+Ci1kZXNjcmlwdGlvbignQ2hlY2tzIGlucHV0IHZhbHVlIGlzIHByZXNlcnZlZCBh
ZnRlciBiYWNrd2FyZCBhbmQgZm9yd2FyZCcpOwotaWYgKCF3aW5kb3cuZXZlbnRTZW5kZXIgfHwg
IXdpbmRvdy5pbnRlcm5hbHMpCi0gICAgZGVidWcoJ1BsZWFzZSBydW4gd2l0aGluIERSVC9XVFIn
KTsKLXdpbmRvdy5qc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKLQotdmFyIHN0YXRlID0gJ2RpcmVjdCc7
Ci12YXIgdGVzdENhc2VzID0gW107Ci0KLWZ1bmN0aW9uIGZhaWxlZChtZXNzYWdlKSB7Ci0gICAg
dGVzdEZhaWxlZChtZXNzYWdlICsgJyBpbiAnICsgc3RhdGUpOwotICAgIGZpbmlzaEpTVGVzdCgp
OwotfQotCi1mdW5jdGlvbiBmaW5pc2hUZXN0KCkgewotICAgIHJ1blRlc3RDYXNlcygpOwotICAg
IGZpbmlzaEpTVGVzdCgpOwotfQotCi1mdW5jdGlvbiBydW5UZXN0Q2FzZXMoKSB7Ci0gICAgZm9y
ICh2YXIgaW5kZXggPSAwOyBpbmRleCA8IHRlc3RDYXNlcy5sZW5ndGg7ICsraW5kZXgpIHsKLSAg
ICAgICAgdmFyIHRlc3RDYXNlID0gdGVzdENhc2VzW2luZGV4XTsKLSAgICAgICAgZGVidWcodGVz
dENhc2VbJ2Rlc2NyaXB0aW9uJ10gKyAnOicpOwotICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJp
bmcoJyInICsgdGVzdENhc2VbJ2FjdHVhbCddICsgJyInLCB0ZXN0Q2FzZVsnZXhwZWN0ZWQnXSk7
Ci0gICAgfQotICAgIGRlYnVnKCcnKTsKLX0KLQotd2luZG93Lm9ubG9hZCA9IGZ1bmN0aW9uKCkg
ewotICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdpZnJhbWUnKS5zcmMgPSAncmVzb3VyY2Vz
L3ByZXNlcnZlLXZhbHVlLWFmdGVyLWhpc3RvcnktYmFjay1mcmFtZS5odG1sP3BhZ2UxJzsKLX07
Ci08L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIuLi8uLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10
ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgotPC9ib2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZmFzdC9mb3Jtcy9kYXRldGltZWxvY2FsLW11bHRpcGxlLWZpZWxkcy9kYXRldGlt
ZWxvY2FsLW11bHRpcGxlLWZpZWxkcy1yZWFkb25seS1zdWJmaWVsZC1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2RhdGV0aW1lbG9jYWwtbXVsdGlwbGUtZmllbGRzL2RhdGV0
aW1lbG9jYWwtbXVsdGlwbGUtZmllbGRzLXJlYWRvbmx5LXN1YmZpZWxkLWV4cGVjdGVkLnR4dApk
ZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMjM5NTc5ZDhjMzc2OGIxYzlhZjgxOTkwNmYx
NzQ0YjcxZmYwNTJlOC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAot
LS0gYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2RhdGV0aW1lbG9jYWwtbXVsdGlwbGUtZmllbGRz
L2RhdGV0aW1lbG9jYWwtbXVsdGlwbGUtZmllbGRzLXJlYWRvbmx5LXN1YmZpZWxkLWV4cGVjdGVk
LnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDM5ICswLDAgQEAKLVN1Yi1maWVsZHMgaW4gaW5wdXRb
dHlwZT1kYXRldGltZS1sb2NhbF0gc2hvdWxkIGJlIHJlYWQtb25seSBpbiBzb21lIGNhc2VzLiBU
aGlzIHJlcXVpcmVzIHdpbmRvdy5pbnRlcm5hbHMuCi0KLU9uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNl
ZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRF
Ii4KLQotCi1jcmVhdGVJbnB1dCBhcmd1bWVudCBvcmRlcjogbWluLCBtYXgsIHN0ZXAsIHZhbHVl
Ci0KLUhvdXIgZmllbGQ6Ci1QQVNTIGlzUmVhZE9ubHlGaWVsZChjcmVhdGVJbnB1dCgiMjAxMy0w
MS0xNlQxMTowMCIsICIiLCBzdGVwMWRheSwgIiIpLCBwc2V1ZG9Ib3VyKSBpcyB0cnVlCi1QQVNT
IGlzUmVhZE9ubHlGaWVsZChjcmVhdGVJbnB1dCgiMjAxMy0wMS0xNlQxMTowMCIsICIiLCBzdGVw
MWRheSwgIiIpLCBwc2V1ZG9BTVBNKSBpcyB0cnVlCi1QQVNTIGlzUmVhZE9ubHlGaWVsZChjcmVh
dGVJbnB1dCgiMjAxMy0wMS0xNlQxMTowMCIsICIiLCBzdGVwMWRheSwgIiIpLCBwc2V1ZG9NaW51
dGUpIGlzIHRydWUKLVBBU1MgaXNSZWFkT25seUZpZWxkKGNyZWF0ZUlucHV0KCIyMDEzLTAxLTE2
VDExOjMwIiwgIiIsIHN0ZXAxZGF5LCAiMjAxMy0wMS0xNlQxMTozMCIpLCBwc2V1ZG9Ib3VyKSBp
cyB0cnVlCi1QQVNTIGlzUmVhZE9ubHlGaWVsZChjcmVhdGVJbnB1dCgiMjAxMy0wMS0xNlQxMToz
MCIsICIiLCBzdGVwMWRheSwgIjIwMTMtMDEtMTZUMTE6MzAiKSwgcHNldWRvQU1QTSkgaXMgdHJ1
ZQotUEFTUyBpc1JlYWRPbmx5RmllbGQoY3JlYXRlSW5wdXQoIjIwMTMtMDEtMTZUMTE6MzAiLCAi
Iiwgc3RlcDFkYXksICIyMDEzLTAxLTE2VDExOjMwIiksIHBzZXVkb01pbnV0ZSkgaXMgdHJ1ZQot
UEFTUyBpc1JlYWRPbmx5RmllbGQoY3JlYXRlSW5wdXQoIjIwMTMtMDEtMTZUMTE6MzAiLCAiIiwg
c3RlcDFkYXksICIyMDEzLTAxLTE2VDEyOjMwIiksIHBzZXVkb0hvdXIpIGlzIGZhbHNlCi1QQVNT
IGlzUmVhZE9ubHlGaWVsZChjcmVhdGVJbnB1dCgiMjAxMy0wMS0xNlQxMTozMCIsICIiLCBzdGVw
MWRheSwgIjIwMTMtMDEtMTZUMTI6MzAiKSwgcHNldWRvQU1QTSkgaXMgZmFsc2UKLVBBU1MgaXNS
ZWFkT25seUZpZWxkKGNyZWF0ZUlucHV0KCIyMDEzLTAxLTE2VDExOjMwIiwgIiIsIHN0ZXAxZGF5
LCAiMjAxMy0wMS0xNlQxMjozMCIpLCBwc2V1ZG9NaW51dGUpIGlzIHRydWUKLVBBU1MgaXNSZWFk
T25seUZpZWxkKGNyZWF0ZUlucHV0KCIyMDEzLTAxLTE2VDAwOjAwIiwgIiIsIHN0ZXAxZGF5LCAi
MjAxMy0wMS0xNlQxMjozMCIpLCBwc2V1ZG9Ib3VyKSBpcyBmYWxzZQotUEFTUyBpc1JlYWRPbmx5
RmllbGQoY3JlYXRlSW5wdXQoIjIwMTMtMDEtMTZUMDA6MDAiLCAiIiwgc3RlcDFkYXksICIyMDEz
LTAxLTE2VDEyOjMwIiksIHBzZXVkb0FNUE0pIGlzIGZhbHNlCi1QQVNTIGlzUmVhZE9ubHlGaWVs
ZChjcmVhdGVJbnB1dCgiMjAxMy0wMS0xNlQwMDowMCIsICIiLCBzdGVwMWRheSwgIjIwMTMtMDEt
MTZUMTI6MzAiKSwgcHNldWRvTWludXRlKSBpcyBmYWxzZQotUEFTUyBpc1JlYWRPbmx5RmllbGQo
Y3JlYXRlSW5wdXQoIjIwMTMtMDEtMTZUMTE6MDAiLCAiMjAxMy0wMS0xNlQyMzowMCIsIHN0ZXAx
ZGF5LCAiIiksIHBzZXVkb0hvdXIpIGlzIGZhbHNlCi1QQVNTIGlzUmVhZE9ubHlGaWVsZChjcmVh
dGVJbnB1dCgiMjAxMy0wMS0xNlQxMTowMCIsICIyMDEzLTAxLTE2VDIzOjAwIiwgc3RlcDFkYXks
ICIiKSwgcHNldWRvQU1QTSkgaXMgZmFsc2UKLVBBU1MgaXNSZWFkT25seUZpZWxkKGNyZWF0ZUlu
cHV0KCIyMDEzLTAxLTE2VDExOjAwIiwgIjIwMTMtMDEtMTZUMjM6MDAiLCBzdGVwMWRheSwgIiIp
LCBwc2V1ZG9NaW51dGUpIGlzIHRydWUKLVBBU1MgaXNSZWFkT25seUZpZWxkKGNyZWF0ZUlucHV0
KCIyMDEzLTAxLTE2VDExOjMwIiwgIjIwMTMtMDEtMTZUMjM6MDAiLCBzdGVwMWRheSwgIjIwMTMt
MDEtMTZUMTE6MzAiKSwgcHNldWRvSG91cikgaXMgZmFsc2UKLVBBU1MgaXNSZWFkT25seUZpZWxk
KGNyZWF0ZUlucHV0KCIyMDEzLTAxLTE2VDExOjMwIiwgIjIwMTMtMDEtMTZUMjM6MDAiLCBzdGVw
MWRheSwgIjIwMTMtMDEtMTZUMTE6MzAiKSwgcHNldWRvQU1QTSkgaXMgZmFsc2UKLVBBU1MgaXNS
ZWFkT25seUZpZWxkKGNyZWF0ZUlucHV0KCIyMDEzLTAxLTE2VDExOjMwIiwgIjIwMTMtMDEtMTZU
MjM6MDAiLCBzdGVwMWRheSwgIjIwMTMtMDEtMTZUMTE6MzAiKSwgcHNldWRvTWludXRlKSBpcyB0
cnVlCi1QQVNTIGlzUmVhZE9ubHlGaWVsZChjcmVhdGVJbnB1dCgiMjAxMy0wMS0xNlQxMTozMCIs
ICIyMDEzLTAxLTE2VDExOjU5Iiwgc3RlcDFkYXksICIyMDEzLTAxLTE2VDExOjMwIiksIHBzZXVk
b0hvdXIpIGlzIGZhbHNlCi1QQVNTIGlzUmVhZE9ubHlGaWVsZChjcmVhdGVJbnB1dCgiMjAxMy0w
MS0xNlQxMTozMCIsICIyMDEzLTAxLTE2VDExOjU5Iiwgc3RlcDFkYXksICIyMDEzLTAxLTE2VDEx
OjMwIiksIHBzZXVkb0FNUE0pIGlzIHRydWUKLVBBU1MgaXNSZWFkT25seUZpZWxkKGNyZWF0ZUlu
cHV0KCIyMDEzLTAxLTE2VDExOjMwIiwgIjIwMTMtMDEtMTZUMTE6NTkiLCBzdGVwMWRheSwgIjIw
MTMtMDEtMTZUMTE6MzAiKSwgcHNldWRvTWludXRlKSBpcyB0cnVlCi1QQVNTIGlzUmVhZE9ubHlG
aWVsZChjcmVhdGVJbnB1dCgiMjAxMy0wMS0xNlQxMTozMCIsICIyMDEzLTAxLTE2VDExOjU5Iiwg
c3RlcDFtaW4sICIiKSwgcHNldWRvSG91cikgaXMgdHJ1ZQotUEFTUyBpc1JlYWRPbmx5RmllbGQo
Y3JlYXRlSW5wdXQoIjIwMTMtMDEtMTZUMTE6MzAiLCAiMjAxMy0wMS0xNlQxMTo1OSIsIHN0ZXAx
bWluLCAiIiksIHBzZXVkb0FNUE0pIGlzIHRydWUKLVBBU1MgaXNSZWFkT25seUZpZWxkKGNyZWF0
ZUlucHV0KCIyMDEzLTAxLTE2VDExOjMwIiwgIjIwMTMtMDEtMTZUMTE6NTkiLCBzdGVwMW1pbiwg
IiIpLCBwc2V1ZG9NaW51dGUpIGlzIGZhbHNlCi1BTS9QTSBmaWVsZDoKLVBBU1MgaXNSZWFkT25s
eUZpZWxkKGNyZWF0ZUlucHV0KCIyMDEzLTAxLTE2VDA4OjAwIiwgIjIwMTMtMDEtMTZUMTE6MDAi
LCBzdGVwMW1pbiwgIiIpLCBwc2V1ZG9BTVBNKSBpcyB0cnVlCi1QQVNTIGlzUmVhZE9ubHlGaWVs
ZChjcmVhdGVJbnB1dCgiMjAxMy0wMS0xNlQwODowMCIsICIyMDEzLTAxLTE3VDExOjAwIiwgc3Rl
cDFtaW4sICIiKSwgcHNldWRvQU1QTSkgaXMgZmFsc2UKLVBBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2Vk
IGlzIHRydWUKLQotVEVTVCBDT01QTEVURQotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0
L2Zvcm1zL2RhdGV0aW1lbG9jYWwtbXVsdGlwbGUtZmllbGRzL2RhdGV0aW1lbG9jYWwtbXVsdGlw
bGUtZmllbGRzLXJlYWRvbmx5LXN1YmZpZWxkLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1z
L2RhdGV0aW1lbG9jYWwtbXVsdGlwbGUtZmllbGRzL2RhdGV0aW1lbG9jYWwtbXVsdGlwbGUtZmll
bGRzLXJlYWRvbmx5LXN1YmZpZWxkLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDBkZjI0NzEwNjc5NzkxNjY2ZDY2ZDIyNDVlNzJhM2FhNWIzN2E5YjMuLjAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9k
YXRldGltZWxvY2FsLW11bHRpcGxlLWZpZWxkcy9kYXRldGltZWxvY2FsLW11bHRpcGxlLWZpZWxk
cy1yZWFkb25seS1zdWJmaWVsZC5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsNzcgKzAsMCBAQAot
PCFET0NUWVBFIGh0bWw+Ci08Ym9keT4KLTxzY3JpcHQgc3JjPSIuLi8uLi9qcy9yZXNvdXJjZXMv
anMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgotPHNjcmlwdD4KLWZ1bmN0aW9uIGNyZWF0ZUlucHV0
KG1pbiwgbWF4LCBzdGVwLCB2YWx1ZSkgewotICAgIHZhciBpbnB1dCA9IGRvY3VtZW50LmNyZWF0
ZUVsZW1lbnQoJ2lucHV0Jyk7Ci0gICAgaW5wdXQudHlwZSA9ICdkYXRldGltZS1sb2NhbCc7Ci0g
ICAgaWYgKG1pbikKLSAgICAgICAgaW5wdXQubWluID0gbWluOwotICAgIGlmIChtYXgpCi0gICAg
ICAgIGlucHV0Lm1heCA9IG1heDsKLSAgICBpZiAoc3RlcCkKLSAgICAgICAgaW5wdXQuc3RlcCA9
IHN0ZXA7Ci0gICAgaWYgKHZhbHVlKQotICAgICAgICBpbnB1dC52YWx1ZSA9IHZhbHVlOwotICAg
IHJldHVybiBpbnB1dDsKLX0KLQotLy8gRklYTUU6IFJlbmFtZSB0aGlzIGZ1bmN0aW9uIGFuZCB0
aGUgdGVzdCBmaWxlLgotZnVuY3Rpb24gaXNSZWFkT25seUZpZWxkKGlucHV0LCBwc2V1ZG8pIHsK
LSAgICB2YXIgbm9kZSA9IGludGVybmFscy55b3VuZ2VzdFNoYWRvd1Jvb3QoaW5wdXQpLnF1ZXJ5
U2VsZWN0b3IoJypbcHNldWRvPSInICsgcHNldWRvICsgJyJdJyk7Ci0gICAgaWYgKCFub2RlKQot
ICAgICAgICB0ZXN0RmFpbGVkKCdSZXF1ZXN0ZWQgbm9kZSBpcyBtaXNzaW5nLicpOwotICAgIHJl
dHVybiBub2RlICYmIG5vZGUuaGFzQXR0cmlidXRlKCdkaXNhYmxlZCcpOwotfQotCi12YXIgcHNl
dWRvTWludXRlID0gJy13ZWJraXQtZGF0ZXRpbWUtZWRpdC1taW51dGUtZmllbGQnOwotdmFyIHBz
ZXVkb0hvdXIgPSAnLXdlYmtpdC1kYXRldGltZS1lZGl0LWhvdXItZmllbGQnOwotdmFyIHBzZXVk
b0FNUE0gPSAnLXdlYmtpdC1kYXRldGltZS1lZGl0LWFtcG0tZmllbGQnOwotdmFyIHN0ZXAxZGF5
ID0gJzg2NDAwJzsKLXZhciBzdGVwMW1pbiA9ICc2MCc7Ci0KLWRlc2NyaXB0aW9uKCdTdWItZmll
bGRzIGluIGlucHV0W3R5cGU9ZGF0ZXRpbWUtbG9jYWxdIHNob3VsZCBiZSByZWFkLW9ubHkgaW4g
c29tZSBjYXNlcy4gVGhpcyByZXF1aXJlcyB3aW5kb3cuaW50ZXJuYWxzLicpOwotZGVidWcoJ2Ny
ZWF0ZUlucHV0IGFyZ3VtZW50IG9yZGVyOiBtaW4sIG1heCwgc3RlcCwgdmFsdWUnKTsKLWRlYnVn
KCcnKTsKLQotZGVidWcoJ0hvdXIgZmllbGQ6Jyk7Ci1zaG91bGRCZVRydWUoJ2lzUmVhZE9ubHlG
aWVsZChjcmVhdGVJbnB1dCgiMjAxMy0wMS0xNlQxMTowMCIsICIiLCBzdGVwMWRheSwgIiIpLCBw
c2V1ZG9Ib3VyKScpOwotc2hvdWxkQmVUcnVlKCdpc1JlYWRPbmx5RmllbGQoY3JlYXRlSW5wdXQo
IjIwMTMtMDEtMTZUMTE6MDAiLCAiIiwgc3RlcDFkYXksICIiKSwgcHNldWRvQU1QTSknKTsKLXNo
b3VsZEJlVHJ1ZSgnaXNSZWFkT25seUZpZWxkKGNyZWF0ZUlucHV0KCIyMDEzLTAxLTE2VDExOjAw
IiwgIiIsIHN0ZXAxZGF5LCAiIiksIHBzZXVkb01pbnV0ZSknKTsKLQotc2hvdWxkQmVUcnVlKCdp
c1JlYWRPbmx5RmllbGQoY3JlYXRlSW5wdXQoIjIwMTMtMDEtMTZUMTE6MzAiLCAiIiwgc3RlcDFk
YXksICIyMDEzLTAxLTE2VDExOjMwIiksIHBzZXVkb0hvdXIpJyk7Ci1zaG91bGRCZVRydWUoJ2lz
UmVhZE9ubHlGaWVsZChjcmVhdGVJbnB1dCgiMjAxMy0wMS0xNlQxMTozMCIsICIiLCBzdGVwMWRh
eSwgIjIwMTMtMDEtMTZUMTE6MzAiKSwgcHNldWRvQU1QTSknKTsKLXNob3VsZEJlVHJ1ZSgnaXNS
ZWFkT25seUZpZWxkKGNyZWF0ZUlucHV0KCIyMDEzLTAxLTE2VDExOjMwIiwgIiIsIHN0ZXAxZGF5
LCAiMjAxMy0wMS0xNlQxMTozMCIpLCBwc2V1ZG9NaW51dGUpJyk7Ci0KLXNob3VsZEJlRmFsc2Uo
J2lzUmVhZE9ubHlGaWVsZChjcmVhdGVJbnB1dCgiMjAxMy0wMS0xNlQxMTozMCIsICIiLCBzdGVw
MWRheSwgIjIwMTMtMDEtMTZUMTI6MzAiKSwgcHNldWRvSG91ciknKTsKLXNob3VsZEJlRmFsc2Uo
J2lzUmVhZE9ubHlGaWVsZChjcmVhdGVJbnB1dCgiMjAxMy0wMS0xNlQxMTozMCIsICIiLCBzdGVw
MWRheSwgIjIwMTMtMDEtMTZUMTI6MzAiKSwgcHNldWRvQU1QTSknKTsKLXNob3VsZEJlVHJ1ZSgn
aXNSZWFkT25seUZpZWxkKGNyZWF0ZUlucHV0KCIyMDEzLTAxLTE2VDExOjMwIiwgIiIsIHN0ZXAx
ZGF5LCAiMjAxMy0wMS0xNlQxMjozMCIpLCBwc2V1ZG9NaW51dGUpJyk7Ci0KLXNob3VsZEJlRmFs
c2UoJ2lzUmVhZE9ubHlGaWVsZChjcmVhdGVJbnB1dCgiMjAxMy0wMS0xNlQwMDowMCIsICIiLCBz
dGVwMWRheSwgIjIwMTMtMDEtMTZUMTI6MzAiKSwgcHNldWRvSG91ciknKTsKLXNob3VsZEJlRmFs
c2UoJ2lzUmVhZE9ubHlGaWVsZChjcmVhdGVJbnB1dCgiMjAxMy0wMS0xNlQwMDowMCIsICIiLCBz
dGVwMWRheSwgIjIwMTMtMDEtMTZUMTI6MzAiKSwgcHNldWRvQU1QTSknKTsKLXNob3VsZEJlRmFs
c2UoJ2lzUmVhZE9ubHlGaWVsZChjcmVhdGVJbnB1dCgiMjAxMy0wMS0xNlQwMDowMCIsICIiLCBz
dGVwMWRheSwgIjIwMTMtMDEtMTZUMTI6MzAiKSwgcHNldWRvTWludXRlKScpOwotCi1zaG91bGRC
ZUZhbHNlKCdpc1JlYWRPbmx5RmllbGQoY3JlYXRlSW5wdXQoIjIwMTMtMDEtMTZUMTE6MDAiLCAi
MjAxMy0wMS0xNlQyMzowMCIsIHN0ZXAxZGF5LCAiIiksIHBzZXVkb0hvdXIpJyk7Ci1zaG91bGRC
ZUZhbHNlKCdpc1JlYWRPbmx5RmllbGQoY3JlYXRlSW5wdXQoIjIwMTMtMDEtMTZUMTE6MDAiLCAi
MjAxMy0wMS0xNlQyMzowMCIsIHN0ZXAxZGF5LCAiIiksIHBzZXVkb0FNUE0pJyk7Ci1zaG91bGRC
ZVRydWUoJ2lzUmVhZE9ubHlGaWVsZChjcmVhdGVJbnB1dCgiMjAxMy0wMS0xNlQxMTowMCIsICIy
MDEzLTAxLTE2VDIzOjAwIiwgc3RlcDFkYXksICIiKSwgcHNldWRvTWludXRlKScpOwotCi1zaG91
bGRCZUZhbHNlKCdpc1JlYWRPbmx5RmllbGQoY3JlYXRlSW5wdXQoIjIwMTMtMDEtMTZUMTE6MzAi
LCAiMjAxMy0wMS0xNlQyMzowMCIsIHN0ZXAxZGF5LCAiMjAxMy0wMS0xNlQxMTozMCIpLCBwc2V1
ZG9Ib3VyKScpOwotc2hvdWxkQmVGYWxzZSgnaXNSZWFkT25seUZpZWxkKGNyZWF0ZUlucHV0KCIy
MDEzLTAxLTE2VDExOjMwIiwgIjIwMTMtMDEtMTZUMjM6MDAiLCBzdGVwMWRheSwgIjIwMTMtMDEt
MTZUMTE6MzAiKSwgcHNldWRvQU1QTSknKTsKLXNob3VsZEJlVHJ1ZSgnaXNSZWFkT25seUZpZWxk
KGNyZWF0ZUlucHV0KCIyMDEzLTAxLTE2VDExOjMwIiwgIjIwMTMtMDEtMTZUMjM6MDAiLCBzdGVw
MWRheSwgIjIwMTMtMDEtMTZUMTE6MzAiKSwgcHNldWRvTWludXRlKScpOwotCi1zaG91bGRCZUZh
bHNlKCdpc1JlYWRPbmx5RmllbGQoY3JlYXRlSW5wdXQoIjIwMTMtMDEtMTZUMTE6MzAiLCAiMjAx
My0wMS0xNlQxMTo1OSIsIHN0ZXAxZGF5LCAiMjAxMy0wMS0xNlQxMTozMCIpLCBwc2V1ZG9Ib3Vy
KScpOwotc2hvdWxkQmVUcnVlKCdpc1JlYWRPbmx5RmllbGQoY3JlYXRlSW5wdXQoIjIwMTMtMDEt
MTZUMTE6MzAiLCAiMjAxMy0wMS0xNlQxMTo1OSIsIHN0ZXAxZGF5LCAiMjAxMy0wMS0xNlQxMToz
MCIpLCBwc2V1ZG9BTVBNKScpOwotc2hvdWxkQmVUcnVlKCdpc1JlYWRPbmx5RmllbGQoY3JlYXRl
SW5wdXQoIjIwMTMtMDEtMTZUMTE6MzAiLCAiMjAxMy0wMS0xNlQxMTo1OSIsIHN0ZXAxZGF5LCAi
MjAxMy0wMS0xNlQxMTozMCIpLCBwc2V1ZG9NaW51dGUpJyk7Ci0KLXNob3VsZEJlVHJ1ZSgnaXNS
ZWFkT25seUZpZWxkKGNyZWF0ZUlucHV0KCIyMDEzLTAxLTE2VDExOjMwIiwgIjIwMTMtMDEtMTZU
MTE6NTkiLCBzdGVwMW1pbiwgIiIpLCBwc2V1ZG9Ib3VyKScpOwotc2hvdWxkQmVUcnVlKCdpc1Jl
YWRPbmx5RmllbGQoY3JlYXRlSW5wdXQoIjIwMTMtMDEtMTZUMTE6MzAiLCAiMjAxMy0wMS0xNlQx
MTo1OSIsIHN0ZXAxbWluLCAiIiksIHBzZXVkb0FNUE0pJyk7Ci1zaG91bGRCZUZhbHNlKCdpc1Jl
YWRPbmx5RmllbGQoY3JlYXRlSW5wdXQoIjIwMTMtMDEtMTZUMTE6MzAiLCAiMjAxMy0wMS0xNlQx
MTo1OSIsIHN0ZXAxbWluLCAiIiksIHBzZXVkb01pbnV0ZSknKTsKLQotZGVidWcoJ0FNL1BNIGZp
ZWxkOicpOwotc2hvdWxkQmVUcnVlKCdpc1JlYWRPbmx5RmllbGQoY3JlYXRlSW5wdXQoIjIwMTMt
MDEtMTZUMDg6MDAiLCAiMjAxMy0wMS0xNlQxMTowMCIsIHN0ZXAxbWluLCAiIiksIHBzZXVkb0FN
UE0pJyk7Ci1zaG91bGRCZUZhbHNlKCdpc1JlYWRPbmx5RmllbGQoY3JlYXRlSW5wdXQoIjIwMTMt
MDEtMTZUMDg6MDAiLCAiMjAxMy0wMS0xN1QxMTowMCIsIHN0ZXAxbWluLCAiIiksIHBzZXVkb0FN
UE0pJyk7Ci0KLTwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii4uLy4uL2pzL3Jlc291cmNlcy9qcy10
ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgotPC9ib2R5PgotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9mYXN0L2Zvcm1zL2RhdGV0aW1lbG9jYWwtbXVsdGlwbGUtZmllbGRzL2RhdGV0aW1lbG9jYWwt
bXVsdGlwbGUtZmllbGRzLXJlc2V0LXZhbHVlLWFmdGVyLXJlbG9hZHMtZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9kYXRldGltZWxvY2FsLW11bHRpcGxlLWZpZWxkcy9kYXRl
dGltZWxvY2FsLW11bHRpcGxlLWZpZWxkcy1yZXNldC12YWx1ZS1hZnRlci1yZWxvYWRzLWV4cGVj
dGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYWMxYzExYzYwYjlhZDEzMjc5
ZGQyZGJmY2Q3MTI2YzdmMzU1YTBjNC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2RhdGV0aW1lbG9jYWwtbXVsdGlw
bGUtZmllbGRzL2RhdGV0aW1lbG9jYWwtbXVsdGlwbGUtZmllbGRzLXJlc2V0LXZhbHVlLWFmdGVy
LXJlbG9hZHMtZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEsMTUgKzAsMCBAQAotQ2hl
Y2tzIHJlbG9hZGluZyBwYWdlIHJlc2V0cyBpbnB1dCB2YWx1ZXMKLQotT24gc3VjY2VzcywgeW91
IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1Qg
Q09NUExFVEUiLgotCi0KLUluaXRpYWwgdmFsdWVzOgotUEFTUyB0ZXN0SW5wdXQxLnZhbHVlIGlz
ICIiCi1QQVNTIHRlc3RJbnB1dDIudmFsdWUgaXMgIjEyMzQtMDUtMDZUMDc6MDgiCi1SZWxvYWRl
ZCB2YWx1ZXM6Ci1QQVNTIHRlc3RJbnB1dDEudmFsdWUgaXMgIiIKLVBBU1MgdGVzdElucHV0Mi52
YWx1ZSBpcyAiMTIzNC0wNS0wNlQwNzowOCIKLVBBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRy
dWUKLQotVEVTVCBDT01QTEVURQotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1z
L2RhdGV0aW1lbG9jYWwtbXVsdGlwbGUtZmllbGRzL2RhdGV0aW1lbG9jYWwtbXVsdGlwbGUtZmll
bGRzLXJlc2V0LXZhbHVlLWFmdGVyLXJlbG9hZHMuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZm9y
bXMvZGF0ZXRpbWVsb2NhbC1tdWx0aXBsZS1maWVsZHMvZGF0ZXRpbWVsb2NhbC1tdWx0aXBsZS1m
aWVsZHMtcmVzZXQtdmFsdWUtYWZ0ZXItcmVsb2Fkcy5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCBhZTk1MjY4Y2RhZDg1NTU0YTU5MzVkZDk5ZGMxMzMyMmU2MGIwMjNmLi4wMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2Zh
c3QvZm9ybXMvZGF0ZXRpbWVsb2NhbC1tdWx0aXBsZS1maWVsZHMvZGF0ZXRpbWVsb2NhbC1tdWx0
aXBsZS1maWVsZHMtcmVzZXQtdmFsdWUtYWZ0ZXItcmVsb2Fkcy5odG1sCisrKyAvZGV2L251bGwK
QEAgLTEsNDIgKzAsMCBAQAotPCFET0NUWVBFIGh0bWw+Ci08aHRtbD4KLTxoZWFkPgotPHNjcmlw
dCBzcmM9Ii4uLy4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Njcmlw
dD4KLTwvaGVhZD4KLTxib2R5IG9ubG9hZD0icnVuQm9keUxvYWRlZCgpIj4KLTxpZnJhbWUgaWQ9
aWZyYW1lIHNyY2RvYz0iPGlucHV0IHR5cGU9ZGF0ZXRpbWUtbG9jYWwgaWQ9J3Rlc3QxJz48aW5w
dXQgdHlwZT0nZGF0ZXRpbWUtbG9jYWwnIGlkPSd0ZXN0MicgdmFsdWU9JzEyMzQtMDUtMDZUMDc6
MDgnPiI+PC9pZnJhbWU+Ci08c2NyaXB0PgotZGVzY3JpcHRpb24oJ0NoZWNrcyByZWxvYWRpbmcg
cGFnZSByZXNldHMgaW5wdXQgdmFsdWVzJyk7Ci13aW5kb3cuanNUZXN0SXNBc3luYyA9IHRydWU7
Ci0KLXZhciBpZnJhbWUgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnaWZyYW1lJyk7Ci12YXIg
dGVzdElucHV0MTsKLXZhciB0ZXN0SW5wdXQyOwotCi1mdW5jdGlvbiBydW5Cb2R5TG9hZGVkKCkK
LXsKLSAgICB0ZXN0SW5wdXQxID0gaWZyYW1lLmNvbnRlbnREb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgndGVzdDEnKTsKLSAgICB0ZXN0SW5wdXQyID0gaWZyYW1lLmNvbnRlbnREb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgndGVzdDInKTsKLSAgICBkZWJ1ZygnSW5pdGlhbCB2YWx1ZXM6Jyk7Ci0gICAg
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCd0ZXN0SW5wdXQxLnZhbHVlJywgJycpOwotICAgIHNob3Vs
ZEJlRXF1YWxUb1N0cmluZygndGVzdElucHV0Mi52YWx1ZScsICcxMjM0LTA1LTA2VDA3OjA4Jyk7
Ci0gICAgdGVzdElucHV0MS52YWx1ZSA9ICcyMDEyLTEwLTAxVDA2OjAwJzsKLSAgICB0ZXN0SW5w
dXQyLnZhbHVlID0gJzIwMTItMTEtMDFUMTg6MDAnOwotICAgIGlmcmFtZS5hZGRFdmVudExpc3Rl
bmVyKCdsb2FkJywgcGFyZW50LnJ1bk9uSUZyYW1lTG9hZCk7Ci0gICAgaWZyYW1lLmNvbnRlbnRX
aW5kb3cubG9jYXRpb24ucmVsb2FkKCk7Ci19Ci0KLWZ1bmN0aW9uIHJ1bk9uSUZyYW1lTG9hZCgp
Ci17Ci0gICAgdGVzdElucHV0MSA9IGlmcmFtZS5jb250ZW50RG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoJ3Rlc3QxJyk7Ci0gICAgdGVzdElucHV0MiA9IGlmcmFtZS5jb250ZW50RG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoJ3Rlc3QyJyk7Ci0gICAgZGVidWcoJ1JlbG9hZGVkIHZhbHVlczonKTsKLSAg
ICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ3Rlc3RJbnB1dDEudmFsdWUnLCAnJyk7Ci0gICAgc2hv
dWxkQmVFcXVhbFRvU3RyaW5nKCd0ZXN0SW5wdXQyLnZhbHVlJywgJzEyMzQtMDUtMDZUMDc6MDgn
KTsKLSAgICBpZnJhbWUucGFyZW50Tm9kZS5yZW1vdmVDaGlsZChpZnJhbWUpOwotICAgIGZpbmlz
aEpTVGVzdCgpOwotfQotPC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vLi4vZmFzdC9qcy9y
ZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KLTwvYm9keT4KLTwvaHRtbD4KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvZGF0ZXRpbWVsb2NhbC1tdWx0aXBsZS1m
aWVsZHMvZGF0ZXRpbWVsb2NhbC1tdWx0aXBsZS1maWVsZHMtc3BpbmJ1dHRvbi1jaGFuZ2UtYW5k
LWlucHV0LWV2ZW50cy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2RhdGV0
aW1lbG9jYWwtbXVsdGlwbGUtZmllbGRzL2RhdGV0aW1lbG9jYWwtbXVsdGlwbGUtZmllbGRzLXNw
aW5idXR0b24tY2hhbmdlLWFuZC1pbnB1dC1ldmVudHMtZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAyNDBmNjc3ZThkMGVjZmExYjMyZjE2MjAyOGRiNjYwOWYyZmNh
NmFmLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91
dFRlc3RzL2Zhc3QvZm9ybXMvZGF0ZXRpbWVsb2NhbC1tdWx0aXBsZS1maWVsZHMvZGF0ZXRpbWVs
b2NhbC1tdWx0aXBsZS1maWVsZHMtc3BpbmJ1dHRvbi1jaGFuZ2UtYW5kLWlucHV0LWV2ZW50cy1l
eHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSwxOSArMCwwIEBACi1UZXN0IGZvciBldmVu
dCBkaXNwYXRjaGluZyBieSBzcGluIGJ1dHRvbnMgaW4gYSB0eXBlPWRhdGV0aW1lLWxvY2FsIGlu
cHV0LgotCi1PbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3Nh
Z2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCi0KLQotSW5pdGlhbCBzdGF0ZQotUEFT
UyBjaGFuZ2VFdmVudENvdW50ZXIgaXMgMAotUEFTUyBpbnB1dEV2ZW50Q291bnRlciBpcyAwCi1D
bGljayB0aGUgdXBwZXIgYnV0dG9uCi1QQVNTIHRlc3RJbnB1dC52YWx1ZSBpcyAiMjAxMi0xMS0w
MVQwMDowMCIKLVBBU1MgY2hhbmdlRXZlbnRDb3VudGVyIGlzIDEKLVBBU1MgaW5wdXRFdmVudENv
dW50ZXIgaXMgMQotRm9jdXMgb24gYW5vdGhlciBmaWVsZAotUEFTUyBjaGFuZ2VFdmVudENvdW50
ZXIgaXMgMQotUEFTUyBpbnB1dEV2ZW50Q291bnRlciBpcyAxCi1QQVNTIHN1Y2Nlc3NmdWxseVBh
cnNlZCBpcyB0cnVlCi0KLVRFU1QgQ09NUExFVEUKLQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZmFzdC9mb3Jtcy9kYXRldGltZWxvY2FsLW11bHRpcGxlLWZpZWxkcy9kYXRldGltZWxvY2FsLW11
bHRpcGxlLWZpZWxkcy1zcGluYnV0dG9uLWNoYW5nZS1hbmQtaW5wdXQtZXZlbnRzLmh0bWwgYi9M
YXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2RhdGV0aW1lbG9jYWwtbXVsdGlwbGUtZmllbGRzL2RhdGV0
aW1lbG9jYWwtbXVsdGlwbGUtZmllbGRzLXNwaW5idXR0b24tY2hhbmdlLWFuZC1pbnB1dC1ldmVu
dHMuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYjAxN2Q4Yjg4ODYzZDIyNWZh
MTYwNzA4NjM2YWRiYzk1ZWQzYjVmYi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2RhdGV0aW1lbG9jYWwtbXVsdGlw
bGUtZmllbGRzL2RhdGV0aW1lbG9jYWwtbXVsdGlwbGUtZmllbGRzLXNwaW5idXR0b24tY2hhbmdl
LWFuZC1pbnB1dC1ldmVudHMuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDE0ICswLDAgQEAKLTwh
RE9DVFlQRSBodG1sPgotPGh0bWw+Ci08aGVhZD4KLTxzY3JpcHQgc3JjPSIuLi8uLi8uLi9mYXN0
L2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iLi4v
cmVzb3VyY2VzL2NvbW1vbi5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2Vz
L2NvbW1vbi1zcGluYnV0dG9uLWNoYW5nZS1hbmQtaW5wdXQtZXZlbnRzLmpzIj48L3NjcmlwdD4K
LTwvaGVhZD4KLTxib2R5PgotPHNjcmlwdD4KLXRlc3RTcGluQnV0dG9uQ2hhbmdlQW5kSW5wdXRF
dmVudHMoJ2RhdGV0aW1lLWxvY2FsJywgJzIwMTItMTAtMDFUMDA6MDAnLCAnMjAxMi0xMS0wMVQw
MDowMCcpOwotPC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vLi4vZmFzdC9qcy9yZXNvdXJj
ZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KLTwvYm9keT4KLTwvaHRtbD4KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvZGF0ZXRpbWVsb2NhbC1tdWx0aXBsZS1maWVsZHMv
ZGF0ZXRpbWVsb2NhbC1tdWx0aXBsZS1maWVsZHMtc3RlcHVwLXN0ZXBkb3duLWZyb20tcmVuZGVy
ZXItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9kYXRldGltZWxvY2FsLW11
bHRpcGxlLWZpZWxkcy9kYXRldGltZWxvY2FsLW11bHRpcGxlLWZpZWxkcy1zdGVwdXAtc3RlcGRv
d24tZnJvbS1yZW5kZXJlci1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IGFmMGUwMzAyZDllZGI3OTg0Nzg4ZDZlMDAzMGZhNWM0NDA2MmI0NzYuLjAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jt
cy9kYXRldGltZWxvY2FsLW11bHRpcGxlLWZpZWxkcy9kYXRldGltZWxvY2FsLW11bHRpcGxlLWZp
ZWxkcy1zdGVwdXAtc3RlcGRvd24tZnJvbS1yZW5kZXJlci1leHBlY3RlZC50eHQKKysrIC9kZXYv
bnVsbApAQCAtMSwxNiArMCwwIEBACi1DaGVjayBzdGVwcGluZy11cCBhbmQgLWRvd24gZm9yIGRh
dGV0aW1lLWxvY2FsIGlucHV0IGZpZWxkcyBmcm9tIHJlbmRlcmVyLgotCi1PbiBzdWNjZXNzLCB5
b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVT
VCBDT01QTEVURSIuCi0KLQotRnVuY3Rpb24gYXJndW1lbnRzIGFyZSAodmFsdWUsIHN0ZXAsIG1p
biwgbWF4LCBba2V5U2VxdWVuY2VdKS4KLVRoZSBob3VyIGZpZWxkIHJlc3BlY3RzIG1pbi9tYXgg
YXR0cmlidXRlcyB3aGVuIHRoZXkgaGF2ZSB0aGUgc2FtZSBkYXRlLgotUEFTUyBzdGVwVXAoIjIw
MTMtMDEtMTZUMTc6MDAiLCAxLCAiMjAxMy0wMS0xNlQxNTowMCIsICIyMDEzLTAxLTE2VDE3OjAw
IikgaXMgIjIwMTMtMDEtMTZUMTU6MDAiCi1QQVNTIHN0ZXBEb3duKCIyMDEzLTAxLTE2VDE1OjAw
IiwgMSwgIjIwMTMtMDEtMTZUMTU6MDAiLCAiMjAxMy0wMS0xNlQxNzowMCIpIGlzICIyMDEzLTAx
LTE2VDE3OjAwIgotUEFTUyBzdGVwVXAoIjIwMTMtMDEtMTZUMTc6MDAiLCAxLCAiMjAxMy0wMS0x
NlQxNTowMCIsICIyMDEzLTAxLTE3VDE3OjAwIikgaXMgIjIwMTMtMDEtMTZUMTg6MDAiCi1QQVNT
IHN0ZXBEb3duKCIyMDEzLTAxLTE2VDE3OjAwIiwgMSwgIjIwMTMtMDEtMTZUMTc6MDAiLCAiMjAx
My0wMS0xN1QyMDowMCIpIGlzICIyMDEzLTAxLTE2VDE2OjAwIgotCi1QQVNTIHN1Y2Nlc3NmdWxs
eVBhcnNlZCBpcyB0cnVlCi0KLVRFU1QgQ09NUExFVEUKLQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZmFzdC9mb3Jtcy9kYXRldGltZWxvY2FsLW11bHRpcGxlLWZpZWxkcy9kYXRldGltZWxvY2Fs
LW11bHRpcGxlLWZpZWxkcy1zdGVwdXAtc3RlcGRvd24tZnJvbS1yZW5kZXJlci5odG1sIGIvTGF5
b3V0VGVzdHMvZmFzdC9mb3Jtcy9kYXRldGltZWxvY2FsLW11bHRpcGxlLWZpZWxkcy9kYXRldGlt
ZWxvY2FsLW11bHRpcGxlLWZpZWxkcy1zdGVwdXAtc3RlcGRvd24tZnJvbS1yZW5kZXJlci5odG1s
CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAxMzdmY2Y3ZDM5YjczYjliMzdlZWYxZTYy
YWVkOGViZTU3ZjU1ZGFkLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvZGF0ZXRpbWVsb2NhbC1tdWx0aXBsZS1maWVs
ZHMvZGF0ZXRpbWVsb2NhbC1tdWx0aXBsZS1maWVsZHMtc3RlcHVwLXN0ZXBkb3duLWZyb20tcmVu
ZGVyZXIuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDYxICswLDAgQEAKLTwhRE9DVFlQRSBodG1s
PgotPGh0bWw+Ci08aGVhZD4KLTxzY3JpcHQgc3JjPSIuLi8uLi9qcy9yZXNvdXJjZXMvanMtdGVz
dC1wcmUuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy9jb21tb24uanMi
Pjwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHk+Ci08c2NyaXB0PgotZGVzY3JpcHRpb24oJ0NoZWNr
IHN0ZXBwaW5nLXVwIGFuZCAtZG93biBmb3IgZGF0ZXRpbWUtbG9jYWwgaW5wdXQgZmllbGRzIGZy
b20gcmVuZGVyZXIuJyk7Ci0KLXZhciBpbnB1dCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2lu
cHV0Jyk7Ci0KLWRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoaW5wdXQpOwotCi1mdW5jdGlvbiBr
ZXlEb3duKGtleSwgbW9kaWZpZXJzKQotewotICAgIGlmICghd2luZG93LmV2ZW50U2VuZGVyKQot
ICAgICAgICByZXR1cm47Ci0gICAgZXZlbnRTZW5kZXIua2V5RG93bihrZXksIG1vZGlmaWVycyk7
Ci19Ci0KLWZ1bmN0aW9uIHNldElucHV0QXR0cmlidXRlcyh2YWx1ZSwgbWluLCBtYXgsIHN0ZXAp
IHsKLSAgICBpbnB1dC52YWx1ZSA9IHZhbHVlOwotICAgIGlucHV0Lm1pbiA9IG1pbjsKLSAgICBp
bnB1dC5tYXggPSBtYXg7Ci0gICAgaW5wdXQuc3RlcCA9IHN0ZXA7Ci19Ci0KLWZ1bmN0aW9uIHRl
c3QodmFsdWUsIHN0ZXAsIG1pbiwgbWF4LCBrZXlTZXF1ZW5jZSkgewotICAgIHNldElucHV0QXR0
cmlidXRlcyh2YWx1ZSwgbWluLCBtYXgsIHN0ZXApOwotICAgIGZvciAodmFyIGkgPSAwOyBpIDwg
a2V5U2VxdWVuY2UubGVuZ3RoOyBpKyspCi0gICAgICAgIGtleURvd24oa2V5U2VxdWVuY2VbaV0p
OwotICAgIHJldHVybiBpbnB1dC52YWx1ZTsKLX0KLQotZnVuY3Rpb24gc3RlcFVwKHZhbHVlLCBz
dGVwLCBtaW4sIG1heCkgewotICAgIHJldHVybiB0ZXN0KHZhbHVlLCBzdGVwLCBtaW4sIG1heCwg
Wyd1cEFycm93J10pOwotfQotCi1mdW5jdGlvbiBzdGVwRG93bih2YWx1ZSwgc3RlcCwgbWluLCBt
YXgpIHsKLSAgICByZXR1cm4gdGVzdCh2YWx1ZSwgc3RlcCwgbWluLCBtYXgsIFsnZG93bkFycm93
J10pOwotfQotCi1pbnB1dC50eXBlID0gJ2RhdGV0aW1lLWxvY2FsJzsKLWlucHV0LmZvY3VzKCk7
Ci1kZWJ1ZygnRnVuY3Rpb24gYXJndW1lbnRzIGFyZSAodmFsdWUsIHN0ZXAsIG1pbiwgbWF4LCBb
a2V5U2VxdWVuY2VdKS4nKTsKLWRlYnVnKCdUaGUgaG91ciBmaWVsZCByZXNwZWN0cyBtaW4vbWF4
IGF0dHJpYnV0ZXMgd2hlbiB0aGV5IGhhdmUgdGhlIHNhbWUgZGF0ZS4nKTsKLWtleURvd24oJ3Jp
Z2h0QXJyb3cnKTsKLWtleURvd24oJ3JpZ2h0QXJyb3cnKTsKLWtleURvd24oJ3JpZ2h0QXJyb3cn
KTsKLXNob3VsZEJlRXF1YWxUb1N0cmluZygnc3RlcFVwKCIyMDEzLTAxLTE2VDE3OjAwIiwgMSwg
IjIwMTMtMDEtMTZUMTU6MDAiLCAiMjAxMy0wMS0xNlQxNzowMCIpJywgJzIwMTMtMDEtMTZUMTU6
MDAnKTsKLXNob3VsZEJlRXF1YWxUb1N0cmluZygnc3RlcERvd24oIjIwMTMtMDEtMTZUMTU6MDAi
LCAxLCAiMjAxMy0wMS0xNlQxNTowMCIsICIyMDEzLTAxLTE2VDE3OjAwIiknLCAnMjAxMy0wMS0x
NlQxNzowMCcpOwotc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdzdGVwVXAoIjIwMTMtMDEtMTZUMTc6
MDAiLCAxLCAiMjAxMy0wMS0xNlQxNTowMCIsICIyMDEzLTAxLTE3VDE3OjAwIiknLCAnMjAxMy0w
MS0xNlQxODowMCcpOwotc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdzdGVwRG93bigiMjAxMy0wMS0x
NlQxNzowMCIsIDEsICIyMDEzLTAxLTE2VDE3OjAwIiwgIjIwMTMtMDEtMTdUMjA6MDAiKScsICcy
MDEzLTAxLTE2VDE2OjAwJyk7Ci0KLWRlYnVnKCcnKTsKLWRvY3VtZW50LmJvZHkucmVtb3ZlQ2hp
bGQoaW5wdXQpOwotPC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vanMvcmVzb3VyY2VzL2pz
LXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Ci08L2JvZHk+Ci08L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2RhdGV0aW1lbG9jYWwtbXVsdGlwbGUtZmllbGRzL2RhdGV0
aW1lbG9jYWwtbXVsdGlwbGUtZmllbGRzLXZhbGlkaXR5LWJhZGlucHV0LWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvZGF0ZXRpbWVsb2NhbC1tdWx0aXBsZS1maWVsZHMvZGF0
ZXRpbWVsb2NhbC1tdWx0aXBsZS1maWVsZHMtdmFsaWRpdHktYmFkaW5wdXQtZXhwZWN0ZWQudHh0
CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAxNjVmYTQ4ODM0Mjg5NDRiMGE1Y2ExMDA0
M2QyNTE3ZDRlZmZjMGE1Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvZGF0ZXRpbWVsb2NhbC1tdWx0aXBsZS1maWVs
ZHMvZGF0ZXRpbWVsb2NhbC1tdWx0aXBsZS1maWVsZHMtdmFsaWRpdHktYmFkaW5wdXQtZXhwZWN0
ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEsMjAgKzAsMCBAQAotQSBkYXRldGltZS1sb2NhbCBp
bnB1dCBmaWVsZHMgd2l0aCBhIGJhZCB1c2VyIGlucHV0IHNob3VsZCBtYWtlIHZhbGlkaXR5LmJh
ZElucHV0IHRydWUgYW5kIGhhdmUgOmludmFsaWQgc3R5bGUuCi0KLU9uIHN1Y2Nlc3MsIHlvdSB3
aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENP
TVBMRVRFIi4KLQotCi1Jbml0aWFsIHN0YXRlLiBUaGUgZWxtZW50IGhhcyBubyB2YWx1ZS4KLVBB
U1MgY29sb3JPZihpbnB1dCkgaXMgbm90IGludmFsaWRTdHlsZUNvbG9yCi1QQVNTIGlucHV0LnZh
bGlkaXR5LmJhZElucHV0IGlzIGZhbHNlCi1TZXQgYSB2YWx1ZSB0byB0aGUgZmlyc3Qgc3ViLWZp
ZWxkLiBUaGUgZWxlbWVudCBiZWNvbWVzIGJhZElucHV0LgotUEFTUyBjb2xvck9mKGlucHV0KSBp
cyBpbnZhbGlkU3R5bGVDb2xvcgotUEFTUyBpbnB1dC52YWxpZGl0eS5iYWRJbnB1dCBpcyB0cnVl
Ci1TZXQgYW4gaW52YWxpZCBkYXRlLCAyMDEyLTAyLTMxLgotUEFTUyBpbnB1dC52YWxpZGl0eS5i
YWRJbnB1dCBpcyBmYWxzZQotUEFTUyBpbnB1dC52YWx1ZSBpcyAiIgotUEFTUyBpbnB1dC52YWxp
ZGl0eS5iYWRJbnB1dCBpcyB0cnVlCi1QQVNTIGNvbG9yT2YoaW5wdXQpIGlzIGludmFsaWRTdHls
ZUNvbG9yCi1QQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCi0KLVRFU1QgQ09NUExFVEUK
LQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9kYXRldGltZWxvY2FsLW11bHRp
cGxlLWZpZWxkcy9kYXRldGltZWxvY2FsLW11bHRpcGxlLWZpZWxkcy12YWxpZGl0eS1iYWRpbnB1
dC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9kYXRldGltZWxvY2FsLW11bHRpcGxlLWZp
ZWxkcy9kYXRldGltZWxvY2FsLW11bHRpcGxlLWZpZWxkcy12YWxpZGl0eS1iYWRpbnB1dC5odG1s
CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBjZTQxZmQzOGJlNzQ2NzI2NGUzY2FjMmNh
Y2M0MTY2OTM1NTIwYTU3Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvZGF0ZXRpbWVsb2NhbC1tdWx0aXBsZS1maWVs
ZHMvZGF0ZXRpbWVsb2NhbC1tdWx0aXBsZS1maWVsZHMtdmFsaWRpdHktYmFkaW5wdXQuaHRtbAor
KysgL2Rldi9udWxsCkBAIC0xLDE0ICswLDAgQEAKLTwhRE9DVFlQRSBodG1sPgotPHN0eWxlPgot
OmludmFsaWQgewotICAgIGJhY2tncm91bmQtY29sb3I6ICNmZjAwMDA7Ci19Ci08L3N0eWxlPgot
PGJvZHk+Ci08c2NyaXB0IHNyYz0iLi4vLi4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48
L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvbXVsdGlwbGUtZmllbGRzLXZhbGlk
aXR5LWJhZGlucHV0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQ+Ci10ZXN0QmFkSW5wdXQoJ2RhdGV0
aW1lLWxvY2FsJyk7Ci08L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIuLi8uLi9qcy9yZXNvdXJjZXMv
anMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KLTwvYm9keT4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2Zhc3QvZm9ybXMvZGF0ZXRpbWVsb2NhbC1tdWx0aXBsZS1maWVsZHMvZGF0ZXRpbWVsb2Nh
bC1tdWx0aXBsZS1maWVsZHMtdmFsdWUtc2V0LWVtcHR5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2Zhc3QvZm9ybXMvZGF0ZXRpbWVsb2NhbC1tdWx0aXBsZS1maWVsZHMvZGF0ZXRpbWVsb2Nh
bC1tdWx0aXBsZS1maWVsZHMtdmFsdWUtc2V0LWVtcHR5LWV4cGVjdGVkLnR4dApkZWxldGVkIGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggZDRhZDUzZTFhZmVjNGY0MmU3ZjY4NzUzZDEzYzgxYmE1MGVm
ZjNhZS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlv
dXRUZXN0cy9mYXN0L2Zvcm1zL2RhdGV0aW1lbG9jYWwtbXVsdGlwbGUtZmllbGRzL2RhdGV0aW1l
bG9jYWwtbXVsdGlwbGUtZmllbGRzLXZhbHVlLXNldC1lbXB0eS1leHBlY3RlZC50eHQKKysrIC9k
ZXYvbnVsbApAQCAtMSwxMiArMCwwIEBACi1DaGVjayBpZiBpbnB1dC52YWx1ZT0iIiBjbGVhcnMg
YW4gaW5wdXQgd2l0aCBwYXJ0aWFsbHktc3BlY2lmaWVkIHZhbHVlLgotCi1PbiBzdWNjZXNzLCB5
b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVT
VCBDT01QTEVURSIuCi0KLQotRW1wdHkgdGV4dDogbW0vZGQveXl5eSAtLTotLSAtLQotUEFTUyBl
dmVudFNlbmRlci5rZXlEb3duKCJ1cEFycm93Iik7IGdldFVzZXJBZ2VudFNoYWRvd1RleHRDb250
ZW50KGlucHV0KSBpcyBub3QgZW1wdHlUZXh0Ci1QQVNTIGlucHV0LnZhbHVlID0gIiI7IGdldFVz
ZXJBZ2VudFNoYWRvd1RleHRDb250ZW50KGlucHV0KSBpcyBlbXB0eVRleHQKLVBBU1Mgc3VjY2Vz
c2Z1bGx5UGFyc2VkIGlzIHRydWUKLQotVEVTVCBDT01QTEVURQotCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9mYXN0L2Zvcm1zL2RhdGV0aW1lbG9jYWwtbXVsdGlwbGUtZmllbGRzL2RhdGV0aW1l
bG9jYWwtbXVsdGlwbGUtZmllbGRzLXZhbHVlLXNldC1lbXB0eS5odG1sIGIvTGF5b3V0VGVzdHMv
ZmFzdC9mb3Jtcy9kYXRldGltZWxvY2FsLW11bHRpcGxlLWZpZWxkcy9kYXRldGltZWxvY2FsLW11
bHRpcGxlLWZpZWxkcy12YWx1ZS1zZXQtZW1wdHkuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggNzEzMjA1YzI5NmUzYWQwMDA2YjMyNmZhYzhkYWRiN2IwNTdiZmRkMC4uMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0
L2Zvcm1zL2RhdGV0aW1lbG9jYWwtbXVsdGlwbGUtZmllbGRzL2RhdGV0aW1lbG9jYWwtbXVsdGlw
bGUtZmllbGRzLXZhbHVlLXNldC1lbXB0eS5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsMTAgKzAs
MCBAQAotPCFET0NUWVBFIGh0bWw+Ci08Ym9keT4KLTxzY3JpcHQgc3JjPSIuLi8uLi9qcy9yZXNv
dXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNl
cy9jb21tb24uanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy9tdWx0aXBs
ZS1maWVsZHMtdmFsdWUtc2V0LWVtcHR5LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQ+Ci10ZXN0U2V0
dGluZ0VtcHR5U3RyaW5nQ2xlYXJzU3ViRmllbGRzKCdkYXRldGltZS1sb2NhbCcpOwotPC9zY3Jp
cHQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9z
Y3JpcHQ+Ci08L2JvZHk+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2RhdGV0
aW1lbG9jYWwtbXVsdGlwbGUtZmllbGRzL2RhdGV0aW1lbG9jYWwtbXVsdGlwbGUtZmllbGRzLXdo
ZWVsLWV2ZW50LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvZGF0ZXRpbWVs
b2NhbC1tdWx0aXBsZS1maWVsZHMvZGF0ZXRpbWVsb2NhbC1tdWx0aXBsZS1maWVsZHMtd2hlZWwt
ZXZlbnQtZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBmNzEwYjFk
MmU3MGUzNGI0NjljNWI1YzE2MWFkOTNhOTE3MjAwZTcxLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvZGF0ZXRpbWVs
b2NhbC1tdWx0aXBsZS1maWVsZHMvZGF0ZXRpbWVsb2NhbC1tdWx0aXBsZS1maWVsZHMtd2hlZWwt
ZXZlbnQtZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEsMjMgKzAsMCBAQAotVGVzdCBm
b3Igd2hlZWwgb3BlcmF0aW9ucyBmb3IgPGlucHV0IHR5cGU9ZGF0ZXRpbWUtbG9jYWw+Ci0KLU9u
IHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxv
d2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KLQotCi1Jbml0aWFsIHZhbHVlIGlzIDE5OTktMDEtMTNU
MDA6MDAuIFdlJ2xsIHdoZWVsIHVwIGJ5IDE6Ci1QQVNTIGlucHV0LnZhbHVlIGlzICIxOTk5LTAy
LTEzVDAwOjAwIgotV2hlZWwgdXAgYnkgMTAwOgotUEFTUyBpbnB1dC52YWx1ZSBpcyAiMTk5OS0w
My0xM1QwMDowMCIKLVdoZWVsIGRvd24gYnkgMToKLVBBU1MgaW5wdXQudmFsdWUgaXMgIjE5OTkt
MDItMTNUMDA6MDAiCi1XaGVlbCBkb3duIGJ5IDI1NjoKLVBBU1MgaW5wdXQudmFsdWUgaXMgIjE5
OTktMDEtMTNUMDA6MDAiCi1EaXNhYmxlZCBpbnB1dCBlbGVtZW50OgotUEFTUyBpbnB1dC52YWx1
ZSBpcyAiMTk5OS0wMS0xM1QwMDowMCIKLVJlYWQtb25seSBpbnB1dCBlbGVtZW50OgotUEFTUyBp
bnB1dC52YWx1ZSBpcyAiMTk5OS0wMS0xM1QwMDowMCIKLU5vIGZvY3VzOgotUEFTUyBpbnB1dC52
YWx1ZSBpcyAiMTk5OS0wMS0xM1QwMDowMCIKLVBBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRy
dWUKLQotVEVTVCBDT01QTEVURQotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1z
L2RhdGV0aW1lbG9jYWwtbXVsdGlwbGUtZmllbGRzL2RhdGV0aW1lbG9jYWwtbXVsdGlwbGUtZmll
bGRzLXdoZWVsLWV2ZW50Lmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2RhdGV0aW1lbG9j
YWwtbXVsdGlwbGUtZmllbGRzL2RhdGV0aW1lbG9jYWwtbXVsdGlwbGUtZmllbGRzLXdoZWVsLWV2
ZW50Lmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDI0ODI2ZTJiZDY1NzU2OTUy
N2M1ZjA1YjIwOTM3ZTdmMGZhNmMxOTcuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9kYXRldGltZWxvY2FsLW11bHRp
cGxlLWZpZWxkcy9kYXRldGltZWxvY2FsLW11bHRpcGxlLWZpZWxkcy13aGVlbC1ldmVudC5odG1s
CisrKyAvZGV2L251bGwKQEAgLTEsMTcgKzAsMCBAQAotPCFET0NUWVBFIGh0bWw+Ci08aHRtbD4K
LTxoZWFkPgotPHNjcmlwdCBzcmM9Ii4uLy4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3Qt
cHJlLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvY29tbW9uLXdoZWVs
LWV2ZW50LmpzIj48L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5PgotPHNjcmlwdD4KLXRlc3RXaGVl
bEV2ZW50KHsKLSAgICAnaW5wdXRUeXBlJyA6ICdkYXRldGltZS1sb2NhbCcsCi0gICAgJ2luaXRp
YWxWYWx1ZScgOiAnMTk5OS0wMS0xM1QwMDowMCcsCi0gICAgJ3N0ZXBVcFZhbHVlMScgOiAnMTk5
OS0wMi0xM1QwMDowMCcsCi0gICAgJ3N0ZXBVcFZhbHVlMicgOiAnMTk5OS0wMy0xM1QwMDowMCcg
fSk7Ci08L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIuLi8uLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9q
cy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgotPC9ib2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9kYXRldGltZWxvY2FsLW11bHRpcGxlLWZpZWxkcy9yZXNv
dXJjZXMvcHJlc2VydmUtdmFsdWUtYWZ0ZXItaGlzdG9yeS1iYWNrLWZyYW1lLmh0bWwgYi9MYXlv
dXRUZXN0cy9mYXN0L2Zvcm1zL2RhdGV0aW1lbG9jYWwtbXVsdGlwbGUtZmllbGRzL3Jlc291cmNl
cy9wcmVzZXJ2ZS12YWx1ZS1hZnRlci1oaXN0b3J5LWJhY2stZnJhbWUuaHRtbApkZWxldGVkIGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggYzljYmUwYWViNzFhYWVhMDEwYTZmMDQ1ZmIxMDkwY2IwZmQ0
MmY1MC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlv
dXRUZXN0cy9mYXN0L2Zvcm1zL2RhdGV0aW1lbG9jYWwtbXVsdGlwbGUtZmllbGRzL3Jlc291cmNl
cy9wcmVzZXJ2ZS12YWx1ZS1hZnRlci1oaXN0b3J5LWJhY2stZnJhbWUuaHRtbAorKysgL2Rldi9u
dWxsCkBAIC0xLDExMCArMCwwIEBACi08IURPQ1RZUEUgaHRtbD4KLTxib2R5PgotPGlucHV0IHR5
cGU9ImRhdGV0aW1lLWxvY2FsIiBpZD0idGVzdDEiPgotPGlucHV0IHR5cGU9ImRhdGV0aW1lLWxv
Y2FsIiBpZD0idGVzdDIiIG1pbj0iMTk5OS0wMS0wMVQwMDowMCIgbWF4PSIyMDAwLTEyLTMxVDIz
OjU5Ij4KLTxzY3JpcHQ+Ci1mdW5jdGlvbiBmaWVsZHNUZXh0KGlucHV0KSB7Ci0gICAgcmV0dXJu
IHdpbmRvdy5pbnRlcm5hbHMub2xkZXN0U2hhZG93Um9vdChpbnB1dCkudGV4dENvbnRlbnQ7Ci19
Ci0KLWZ1bmN0aW9uIGJhY2sobmV3U3RhdGUpIHsKLSAgICBwYXJlbnQuc3RhdGUgPSBuZXdTdGF0
ZTsKLSAgICBoaXN0b3J5LmJhY2soKTsKLX0KLQotZnVuY3Rpb24gZm9yd2FyZChuZXdTdGF0ZSkg
ewotICAgIHBhcmVudC5zdGF0ZSA9IG5ld1N0YXRlOwotICAgIGhpc3RvcnkuZm9yd2FyZCgpOwot
fQotCi1mdW5jdGlvbiBrZXlEb3duKGtleSkgewotICAgIGV2ZW50U2VuZGVyLmtleURvd24oa2V5
KTsKLX0KLQotdmFyIHRlc3RJbnB1dDEgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgndGVzdDEn
KTsKLXZhciB0ZXN0SW5wdXQyID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3Rlc3QyJyk7Ci12
YXIgcGFnZU5hbWUgPSBsb2NhdGlvbi5zZWFyY2ggfHwgJz9wYWdlMSc7Ci0KLXdpbmRvdy5vbmxv
YWQgPSBmdW5jdGlvbigpIHsKLSAgICBzd2l0Y2ggKHBhZ2VOYW1lKSB7Ci0gICAgY2FzZSAnP3Bh
Z2UxJzoKLSAgICAgICAgc3dpdGNoIChwYXJlbnQuc3RhdGUpIHsKLSAgICAgICAgY2FzZSAnZGly
ZWN0JzogewotICAgICAgICAgICAgdGVzdElucHV0MS52YWx1ZSA9ICcxMjAxMi0xMC0wOVQwMToy
Myc7Ci0gICAgICAgICAgICB0ZXN0SW5wdXQyLmZvY3VzKCk7Ci0gICAgICAgICAgICBrZXlEb3du
KCd1cEFycm93Jyk7IC8vIC0+IFswMV0vZGQveXl5eSAtLTotLSAtLQotICAgICAgICAgICAga2V5
RG93bignXHQnKTsgLy8gICAgICAtPiAwMS9bZGRdL3l5eXkgLS06LS0gLS0KLSAgICAgICAgICAg
IGtleURvd24oJ1x0Jyk7IC8vICAgICAgLT4gMDEvZGQvW3l5eXldIC0tOi0tIC0tCi0gICAgICAg
ICAgICBrZXlEb3duKCd1cEFycm93Jyk7IC8vIC0+IDAxL2RkL1sxOTk5XSAtLTotLSAtLQotICAg
ICAgICAgICAga2V5RG93bignXHQnKTsgLy8gICAgICAtPiAwMS9kZC8xOTk5IFstLV06LS0gLS0K
LSAgICAgICAgICAgIGtleURvd24oJ1x0Jyk7IC8vICAgICAgLT4gMDEvZGQvMTk5OSAtLTpbLS1d
IC0tCi0gICAgICAgICAgICBrZXlEb3duKCd1cEFycm93Jyk7IC8vIC0+IDAxL2RkLzE5OTkgLS06
WzAwXSAtLQotCi0gICAgICAgICAgICB2YXIgbmV4dFVyaSA9IGxvY2F0aW9uLnRvU3RyaW5nKCku
cmVwbGFjZSgnP3BhZ2UxJywgJz9wYWdlMicpOwotICAgICAgICAgICAgc2V0VGltZW91dChmdW5j
dGlvbigpIHsgd2luZG93LmxvY2F0aW9uLmhyZWYgPSBuZXh0VXJpOyB9LCAwKTsKLSAgICAgICAg
ICAgIGJyZWFrOwotICAgICAgICB9Ci0gICAgICAgIGNhc2UgJ2JhY2tUbzEnOgotICAgICAgICAg
ICAgcGFyZW50LnRlc3RDYXNlcy5wdXNoKAotICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAg
ICAgICAgICAgJ2Rlc2NyaXB0aW9uJyA6ICdXZW50IGJhY2sgdG8gYSBwYWdlLiBDaGVja2luZyBh
IGZvcm0gY29udHJvbCB3aGljaCBoYWQgYSBmdWxsIHZhbHVlJywKLSAgICAgICAgICAgICAgICAg
ICAgJ2FjdHVhbCcgOiB0ZXN0SW5wdXQxLnZhbHVlLAotICAgICAgICAgICAgICAgICAgICAnZXhw
ZWN0ZWQnIDogJzEyMDEyLTEwLTA5VDAxOjIzJyB9LAotICAgICAgICAgICAgICAgIHsKLSAgICAg
ICAgICAgICAgICAgICAgJ2Rlc2NyaXB0aW9uJyA6ICdXZW50IGJhY2sgdG8gYSBwYWdlLiBDaGVj
a2luZyBhIGZvcm0gY29udHJvbCB3aGljaCBoYWQgYSBwYXJ0aWFsIHZhbHVlJywKLSAgICAgICAg
ICAgICAgICAgICAgJ2FjdHVhbCcgOiBmaWVsZHNUZXh0KHRlc3RJbnB1dDIpLAotICAgICAgICAg
ICAgICAgICAgICAnZXhwZWN0ZWQnIDogJzAxL2RkLzE5OTkgLS06MDAgLS0nCi0gICAgICAgICAg
ICAgICAgfSk7Ci0gICAgICAgICAgICBmb3J3YXJkKCdmb3J3YXJkVG8yJyk7Ci0gICAgICAgICAg
ICBicmVhazsKLSAgICAgICAgY2FzZSAnYmFja1RvMVNlY29uZCc6Ci0gICAgICAgICAgICBwYXJl
bnQuZmluaXNoVGVzdCgpOwotICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgIGRlZmF1bHQ6Ci0g
ICAgICAgICAgICBwYXJlbnQuZmFpbGVkKCdVbmV4cGVjdGVkIHN0YXRlKCcgKyBwYXJlbnQuc3Rh
dGUgKyAnKScpOwotICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgIH0KLSAgICAgICAgYnJlYWs7
Ci0KLSAgICBjYXNlICc/cGFnZTInOgotICAgICAgICBzd2l0Y2ggKHBhcmVudC5zdGF0ZSkgewot
ICAgICAgICBjYXNlICdkaXJlY3QnOgotICAgICAgICAgICAgdGVzdElucHV0MS52YWx1ZSA9ICcw
MDAxLTExLTE3VDIzOjU1JzsKLSAgICAgICAgICAgIHRlc3RJbnB1dDIuZm9jdXMoKTsKLSAgICAg
ICAgICAgIGtleURvd24oJ1x0Jyk7IC8vICAgICAgICAtPiBtbS9bZGRdL3l5eXkgLS06LS0gLS0K
LSAgICAgICAgICAgIGtleURvd24oJ2Rvd25BcnJvdycpOyAvLyAtPiBtbS9bMzFdL3l5eXkgLS06
LS0gLS0KLSAgICAgICAgICAgIGtleURvd24oJ1x0Jyk7IC8vICAgICAgICAtPiBtbS8zMS9beXl5
eV0gLS06LS0gLS0KLSAgICAgICAgICAgIGtleURvd24oJ1x0Jyk7IC8vICAgICAgICAtPiBtbS8z
MS95eXl5IFstLV06LS0gLS0KLSAgICAgICAgICAgIGtleURvd24oJ2Rvd25BcnJvdycpOyAvLyAt
PiBtbS8zMS95eXl5IFsxMl06LS0gLS0KLSAgICAgICAgICAgIGtleURvd24oJ1x0Jyk7IC8vICAg
ICAgICAtPiBtbS8zMS95eXl5IDEyOlstLV0gLS0KLSAgICAgICAgICAgIGtleURvd24oJ1x0Jyk7
IC8vICAgICAgICAtPiBtbS8zMS95eXl5IDEyOi0tIFstLV0KLSAgICAgICAgICAgIGtleURvd24o
J2Rvd25BcnJvdycpOyAvLyAtPiBtbS8zMS95eXl5IDEyOi0tIFtQTV0KLSAgICAgICAgICAgIGJh
Y2soJ2JhY2tUbzEnKTsKLSAgICAgICAgICAgIGJyZWFrOwotICAgICAgICBjYXNlICdmb3J3YXJk
VG8yJzoKLSAgICAgICAgICAgIHBhcmVudC50ZXN0Q2FzZXMucHVzaCgKLSAgICAgICAgICAgICAg
ICB7Ci0gICAgICAgICAgICAgICAgICAgICdkZXNjcmlwdGlvbicgOiAnV2VudCBmb3J3YXJkIHRv
IGEgcGFnZS4gQ2hlY2tpbmcgYSBmb3JtIGNvbnRyb2wgd2hpY2ggaGFkIGEgZnVsbCB2YWx1ZScs
Ci0gICAgICAgICAgICAgICAgICAgICdhY3R1YWwnIDogdGVzdElucHV0MS52YWx1ZSwKLSAgICAg
ICAgICAgICAgICAgICAgJ2V4cGVjdGVkJyA6ICcwMDAxLTExLTE3VDIzOjU1JwotICAgICAgICAg
ICAgICAgIH0sCi0gICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICAnZGVzY3Jp
cHRpb24nIDogJ1dlbnQgZm9yd2FyZCB0byBhIHBhZ2UuIENoZWNraW5nIGEgZm9ybSBjb250cm9s
IHdoaWNoIGhhZCBhIHBhcnRpYWwgdmFsdWUnLAotICAgICAgICAgICAgICAgICAgICAnYWN0dWFs
JyA6IGZpZWxkc1RleHQodGVzdElucHV0MiksCi0gICAgICAgICAgICAgICAgICAgICdleHBlY3Rl
ZCcgOiAnbW0vMzEveXl5eSAxMjotLSBQTScKLSAgICAgICAgICAgICAgICB9KTsKLSAgICAgICAg
ICAgIGJhY2soJ2JhY2tUbzFTZWNvbmQnKTsKLSAgICAgICAgICAgIGJyZWFrOwotICAgICAgICBk
ZWZhdWx0OgotICAgICAgICAgICAgcGFyZW50LmZhaWxlZCgnVW5leHBlY3RlZCBzdGF0ZSgnICsg
cGFyZW50LnN0YXRlICsgJyknKTsKLSAgICAgICAgICAgIGJyZWFrOwotICAgICAgICB9Ci0gICAg
ICAgIGJyZWFrOwotCi0gICAgZGVmYXVsdDoKLSAgICAgICAgcGFyZW50LmZhaWxlZCgnVW5leHBl
Y3RlZCBwYWdlKCcgKyBwYWdlTmFtZSArICcpJyk7Ci0gICAgICAgIGJyZWFrOwotICAgIH0KLX07
Ci08L3NjcmlwdD4KLTwvYm9keT4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMv
bW9udGgtbXVsdGlwbGUtZmllbGRzL21vbnRoLW11bHRpcGxlLWZpZWxkcy1heC1hcmlhLWF0dHJp
YnV0ZXMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9tb250aC1tdWx0aXBs
ZS1maWVsZHMvbW9udGgtbXVsdGlwbGUtZmllbGRzLWF4LWFyaWEtYXR0cmlidXRlcy1leHBlY3Rl
ZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDllNTg5MzlhMDE2ZjhlZjc3YjFk
ZWU1NGQyMTkxYWMzNmFhYzM1ODQuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9tb250aC1tdWx0aXBsZS1maWVsZHMv
bW9udGgtbXVsdGlwbGUtZmllbGRzLWF4LWFyaWEtYXR0cmlidXRlcy1leHBlY3RlZC50eHQKKysr
IC9kZXYvbnVsbApAQCAtMSwxNiArMCwwIEBACi1UaGlzIHRlc3QgY2hlY2tzIGFyaWEtaGVscCBh
dHRyaWJ1dGUgb2YgZmllbGRzIGluIG11bHRpcGxlIGZpZWxkcyB3ZWVrIGlucHV0IFVJLgotCi1P
biBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xs
b3dlZCBieSAiVEVTVCBDT01QTEVURSIuCi0KLQotTm9uLWVtcHR5IHZhbHVlCi1QQVNTIGZvY3Vz
ZWRFbGVtZW50RGVzY3JpcHRpb24oKSBpcyAiQVhIZWxwOiBNb250aCwgQVhWYWx1ZURlc2NyaXB0
aW9uOiBPY3RvYmVyLCBpbnRWYWx1ZToxMCwgcmFuZ2U6MS0xMiIKLVBBU1MgZm9jdXNlZEVsZW1l
bnREZXNjcmlwdGlvbigpIGlzICJBWEhlbHA6IFllYXIsIEFYVmFsdWVEZXNjcmlwdGlvbjogMjAx
MiwgaW50VmFsdWU6MjAxMiwgcmFuZ2U6MS0yNzU3NjAiCi1FbXB0eSB2YWx1ZQotUEFTUyBmb2N1
c2VkRWxlbWVudERlc2NyaXB0aW9uKCkgaXMgIkFYSGVscDogWWVhciwgQVhWYWx1ZURlc2NyaXB0
aW9uOiBibGFuaywgaW50VmFsdWU6MCwgcmFuZ2U6MS0yNzU3NjAiCi1QQVNTIGZvY3VzZWRFbGVt
ZW50RGVzY3JpcHRpb24oKSBpcyAiQVhIZWxwOiBNb250aCwgQVhWYWx1ZURlc2NyaXB0aW9uOiBi
bGFuaywgaW50VmFsdWU6MCwgcmFuZ2U6MS0xMiIKLQotUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQg
aXMgdHJ1ZQotCi1URVNUIENPTVBMRVRFCi0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3Qv
Zm9ybXMvbW9udGgtbXVsdGlwbGUtZmllbGRzL21vbnRoLW11bHRpcGxlLWZpZWxkcy1heC1hcmlh
LWF0dHJpYnV0ZXMuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvbW9udGgtbXVsdGlwbGUt
ZmllbGRzL21vbnRoLW11bHRpcGxlLWZpZWxkcy1heC1hcmlhLWF0dHJpYnV0ZXMuaHRtbApkZWxl
dGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMzMwY2Y2YmI3MTliZWIyOWJjNjdiNTRmZTk1OGJk
N2ViOTcyZTM2MC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0g
YS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL21vbnRoLW11bHRpcGxlLWZpZWxkcy9tb250aC1tdWx0
aXBsZS1maWVsZHMtYXgtYXJpYS1hdHRyaWJ1dGVzLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSwz
NiArMCwwIEBACi08IURPQ1RZUEUgaHRtbD4KLTxodG1sPgotPGhlYWQ+Ci08c2NyaXB0IHNyYz0i
Li4vLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgotPHNj
cmlwdCBzcmM9Ii4uL3Jlc291cmNlcy9tdWx0aXBsZS1maWVsZHMtYXgtYXJpYS1hdHRyaWJ1dGVz
LmpzIj48L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5PgotPGlucHV0IGlkPSJ0ZXN0IiB0eXBlPSJt
b250aCIgdmFsdWU9IjIwMTItMTAiPgotPHNjcmlwdD4KLWRlc2NyaXB0aW9uKCdUaGlzIHRlc3Qg
Y2hlY2tzIGFyaWEtaGVscCBhdHRyaWJ1dGUgb2YgZmllbGRzIGluIG11bHRpcGxlIGZpZWxkcyB3
ZWVrIGlucHV0IFVJLicpOwotCi12YXIgdGVzdElucHV0ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoJ3Rlc3QnKTsKLQotaWYgKCF3aW5kb3cuYWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIgfHwgIXdp
bmRvdy5ldmVudFNlbmRlcikKLSAgICBkZWJ1ZygnUGxlYXNlIHJ1biBpbnNpZGUgRFJUIG9yIFdU
Ui4nKTsKLWVsc2UgewotICAgIGRlYnVnKCdOb24tZW1wdHkgdmFsdWUnKTsKLSAgICB0ZXN0SW5w
dXQuZm9jdXMoKTsKLSAgICBjaGVja0ZvY3VzZWRFbGVtZW50QVhBdHRyaWJ1dGVzKCdBWEhlbHA6
IE1vbnRoLCBBWFZhbHVlRGVzY3JpcHRpb246IE9jdG9iZXIsIGludFZhbHVlOjEwLCByYW5nZTox
LTEyJyk7Ci0gICAgZXZlbnRTZW5kZXIua2V5RG93bignXHQnKTsKLSAgICBjaGVja0ZvY3VzZWRF
bGVtZW50QVhBdHRyaWJ1dGVzKCdBWEhlbHA6IFllYXIsIEFYVmFsdWVEZXNjcmlwdGlvbjogMjAx
MiwgaW50VmFsdWU6MjAxMiwgcmFuZ2U6MS0yNzU3NjAnKTsKLQotICAgIGRlYnVnKCdFbXB0eSB2
YWx1ZScpOwotICAgIGV2ZW50U2VuZGVyLmtleURvd24oJ1xiJyk7Ci0gICAgY2hlY2tGb2N1c2Vk
RWxlbWVudEFYQXR0cmlidXRlcygnQVhIZWxwOiBZZWFyLCBBWFZhbHVlRGVzY3JpcHRpb246IGJs
YW5rLCBpbnRWYWx1ZTowLCByYW5nZToxLTI3NTc2MCcpOwotICAgIGV2ZW50U2VuZGVyLmtleURv
d24oJ1x0JywgWydzaGlmdEtleSddKTsKLSAgICBldmVudFNlbmRlci5rZXlEb3duKCdcYicpOwot
ICAgIGNoZWNrRm9jdXNlZEVsZW1lbnRBWEF0dHJpYnV0ZXMoJ0FYSGVscDogTW9udGgsIEFYVmFs
dWVEZXNjcmlwdGlvbjogYmxhbmssIGludFZhbHVlOjAsIHJhbmdlOjEtMTInKTsKLQotICAgIGRl
YnVnKCcnKTsKLSAgICB0ZXN0SW5wdXQucmVtb3ZlKCk7Ci19Ci08L3NjcmlwdD4KLTxzY3JpcHQg
c3JjPSIuLi8uLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0
PgotPC9ib2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9t
b250aC1tdWx0aXBsZS1maWVsZHMvbW9udGgtbXVsdGlwbGUtZmllbGRzLWF4LXZhbHVlLWNoYW5n
ZWQtbm90aWZpY2F0aW9uLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvbW9u
dGgtbXVsdGlwbGUtZmllbGRzL21vbnRoLW11bHRpcGxlLWZpZWxkcy1heC12YWx1ZS1jaGFuZ2Vk
LW5vdGlmaWNhdGlvbi1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IGM4ZTk1YmIxOTM4ZjM1OWIyOTZiY2VhMTJmMzg5YTU1Y2U2ZDQwZTkuLjAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9t
b250aC1tdWx0aXBsZS1maWVsZHMvbW9udGgtbXVsdGlwbGUtZmllbGRzLWF4LXZhbHVlLWNoYW5n
ZWQtbm90aWZpY2F0aW9uLWV4cGVjdGVkLnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDE2ICswLDAg
QEAKLVRoaXMgdGVzdCBjaGVja3MgdmFsdWUgY2hhbmdlZCBhY2Nlc3NpYmlsaXR5IG5vdGlmaWNh
dGlvbnMuCi0KLU9uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVz
c2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KLQotCi1Gb2N1c2VkVUlFbGVtZW50
Q2hhbmdlZCBBWEhlbHA6IE1vbnRoPUFYVmFsdWVEZXNjcmlwdGlvbjogT2N0b2JlcgotRm9jdXNl
ZFVJRWxlbWVudENoYW5nZWQgQVhIZWxwOiBZZWFyPUFYVmFsdWVEZXNjcmlwdGlvbjogMjAxMgot
VmFsdWVDaGFuZ2VkIEFYSGVscDogWWVhcj1BWFZhbHVlRGVzY3JpcHRpb246IDAwMDUKLVZhbHVl
Q2hhbmdlZCBBWEhlbHA6IFllYXI9QVhWYWx1ZURlc2NyaXB0aW9uOiAwMDA1Ci1WYWx1ZUNoYW5n
ZWQgQVhIZWxwOiBZZWFyPUFYVmFsdWVEZXNjcmlwdGlvbjogMDAwNQotVmFsdWVDaGFuZ2VkIEFY
SGVscDogWWVhcj1BWFZhbHVlRGVzY3JpcHRpb246IDAwMDUKLQotUEFTUyBzdWNjZXNzZnVsbHlQ
YXJzZWQgaXMgdHJ1ZQotCi1URVNUIENPTVBMRVRFCi0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2Zhc3QvZm9ybXMvbW9udGgtbXVsdGlwbGUtZmllbGRzL21vbnRoLW11bHRpcGxlLWZpZWxkcy1h
eC12YWx1ZS1jaGFuZ2VkLW5vdGlmaWNhdGlvbi5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jt
cy9tb250aC1tdWx0aXBsZS1maWVsZHMvbW9udGgtbXVsdGlwbGUtZmllbGRzLWF4LXZhbHVlLWNo
YW5nZWQtbm90aWZpY2F0aW9uLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDMz
ZjhkODYxZGEwMThiYTJmZjI3NTVjM2VkZGRmNDE1NzAzNzJhOWMuLjAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9tb250
aC1tdWx0aXBsZS1maWVsZHMvbW9udGgtbXVsdGlwbGUtZmllbGRzLWF4LXZhbHVlLWNoYW5nZWQt
bm90aWZpY2F0aW9uLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSwzOCArMCwwIEBACi08IURPQ1RZ
UEUgaHRtbD4KLTxodG1sPgotPGhlYWQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vLi4vZmFzdC9qcy9y
ZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHk+Ci08aW5w
dXQgaWQ9InRlc3QiIHR5cGU9Im1vbnRoIiB2YWx1ZT0iMjAxMi0xMCI+Ci08c2NyaXB0PgotZGVz
Y3JpcHRpb24oJ1RoaXMgdGVzdCBjaGVja3MgdmFsdWUgY2hhbmdlZCBhY2Nlc3NpYmlsaXR5IG5v
dGlmaWNhdGlvbnMuJyk7Ci0KLXZhciB0ZXN0SW5wdXQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgidGVzdCIpOwotCi1pZiAoIXdpbmRvdy5hY2Nlc3NpYmlsaXR5Q29udHJvbGxlciB8fCAhd2lu
ZG93LmV2ZW50U2VuZGVyKQotICAgIGRlYnVnKCJQbGVhc2UgcnVuIGluc2lkZSBEUlQgb3IgV1JU
LiIpOwotZWxzZSB7Ci0gICAgYWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIuYWRkTm90aWZpY2F0aW9u
TGlzdGVuZXIoZnVuY3Rpb24gKGVsZW1lbnQsIG5vdGlmaWNhdGlvbikgewotICAgICAgICBpZiAo
bm90aWZpY2F0aW9uID09ICdGb2N1c2VkVUlFbGVtZW50Q2hhbmdlZCcgfHwgbm90aWZpY2F0aW9u
ID09ICdWYWx1ZUNoYW5nZWQnKSB7Ci0gICAgICAgICAgICBkZWJ1Zyhub3RpZmljYXRpb24gKyAn
ICcgKyBlbGVtZW50LmhlbHBUZXh0ICsgJz0nICsgZWxlbWVudC52YWx1ZURlc2NyaXB0aW9uKTsK
LSAgICAgICAgfQotICAgIH0pOwotCi0gICAgdGVzdElucHV0LmZvY3VzKCk7Ci0gICAgZXZlbnRT
ZW5kZXIua2V5RG93bignXHQnKTsKLSAgICBldmVudFNlbmRlci5rZXlEb3duKCc0Jyk7Ci0gICAg
ZXZlbnRTZW5kZXIua2V5RG93bigndXBBcnJvdycpOwotCi0gICAgd2luZG93LmpzVGVzdElzQXN5
bmMgPSB0cnVlOwotCi0gICAgd2luZG93LnNldFRpbWVvdXQoZnVuY3Rpb24oKSB7Ci0gICAgICAg
IGRlYnVnKCcnKTsKLSAgICAgICAgdGVzdElucHV0LnJlbW92ZSgpOwotICAgICAgICBmaW5pc2hK
U1Rlc3QoKTsKLSAgICB9LCAxKTsKLX0KLTwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii4uLy4uLy4u
L2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Ci08L2JvZHk+Ci08
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL21vbnRoLW11bHRpcGxl
LWZpZWxkcy9tb250aC1tdWx0aXBsZS1maWVsZHMtYmx1ci1hbmQtZm9jdXMtZXZlbnRzLWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvbW9udGgtbXVsdGlwbGUtZmllbGRzL21v
bnRoLW11bHRpcGxlLWZpZWxkcy1ibHVyLWFuZC1mb2N1cy1ldmVudHMtZXhwZWN0ZWQudHh0CmRl
bGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA1OTUyZDRiMGU4M2FmN2M3NzQxYTJjMmFjZTdi
MDNhY2VmN2I1MTFkLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0t
LSBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvbW9udGgtbXVsdGlwbGUtZmllbGRzL21vbnRoLW11
bHRpcGxlLWZpZWxkcy1ibHVyLWFuZC1mb2N1cy1ldmVudHMtZXhwZWN0ZWQudHh0CisrKyAvZGV2
L251bGwKQEAgLTEsMTcgKzAsMCBAQAotQ2hlY2sgYmx1ciBhbmQgZm9jdXMgZXZlbnRzIGZvciBt
dWx0aXBsZSBmaWVsZHMgbW9udGggaW5wdXQgVUkKLQotT24gc3VjY2VzcywgeW91IHdpbGwgc2Vl
IGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUi
LgotCi0KLWZvY3VzKCkgYW5kIGJsdXIoKQotUEFTUyB0ZXN0SW5wdXQuZm9jdXMoKTsgc3RhdGUo
KSBpcyAiYmx1cj0wIGZvY3VzPTEiCi1QQVNTIHRlc3RJbnB1dC5ibHVyKCk7IHN0YXRlKCkgaXMg
ImJsdXI9MSBmb2N1cz0xIgotZm9jdXMgYW5kIFRhYiBrZXkgdG8gYmx1cgotUEFTUyBrZXlEb3du
KCIJIik7IHN0YXRlKCkgaXMgImJsdXI9MCBmb2N1cz0xIgotUEFTUyBrZXlEb3duKCIJIik7IHN0
YXRlKCkgaXMgImJsdXI9MCBmb2N1cz0xIgotUEFTUyBrZXlEb3duKCIJIik7IHN0YXRlKCkgaXMg
ImJsdXI9MSBmb2N1cz0xIgotCi1QQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCi0KLVRF
U1QgQ09NUExFVEUKLQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9tb250aC1t
dWx0aXBsZS1maWVsZHMvbW9udGgtbXVsdGlwbGUtZmllbGRzLWJsdXItYW5kLWZvY3VzLWV2ZW50
cy5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9tb250aC1tdWx0aXBsZS1maWVsZHMvbW9u
dGgtbXVsdGlwbGUtZmllbGRzLWJsdXItYW5kLWZvY3VzLWV2ZW50cy5odG1sCmRlbGV0ZWQgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAzYTNkM2FjNmFhYWQ0ZGMzNzYzNGY2MjNiN2M2OGIyY2E5NTA1
N2EyLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91
dFRlc3RzL2Zhc3QvZm9ybXMvbW9udGgtbXVsdGlwbGUtZmllbGRzL21vbnRoLW11bHRpcGxlLWZp
ZWxkcy1ibHVyLWFuZC1mb2N1cy1ldmVudHMuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDEyICsw
LDAgQEAKLTwhRE9DVFlQRSBodG1sPgotPGh0bWw+Ci08Ym9keT4KLTxzY3JpcHQgc3JjPSIuLi8u
Li9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii4u
L3Jlc291cmNlcy9tdWx0aXBsZS1maWVsZHMtYmx1ci1hbmQtZm9jdXMtZXZlbnRzLmpzIj48L3Nj
cmlwdD4KLTxkaXYgaWQ9ImNvbnRhaW5lciI+PC9kaXY+Ci08c2NyaXB0Pgotc3RhcnRUZXN0Rm9y
KCdtb250aCcpOwotPC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vanMvcmVzb3VyY2VzL2pz
LXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Ci08L2JvZHk+Ci08L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9mYXN0L2Zvcm1zL21vbnRoLW11bHRpcGxlLWZpZWxkcy9tb250aC1tdWx0aXBs
ZS1maWVsZHMtY2hhbmdlLWxheW91dC1ieS12YWx1ZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9mYXN0L2Zvcm1zL21vbnRoLW11bHRpcGxlLWZpZWxkcy9tb250aC1tdWx0aXBsZS1maWVsZHMt
Y2hhbmdlLWxheW91dC1ieS12YWx1ZS1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IGYxNDcwNjg3OWFlMmFmOGQwYjNhNDEyMzQ4Y2JjZGJjNjdkM2ViOTguLjAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvZmFz
dC9mb3Jtcy9tb250aC1tdWx0aXBsZS1maWVsZHMvbW9udGgtbXVsdGlwbGUtZmllbGRzLWNoYW5n
ZS1sYXlvdXQtYnktdmFsdWUtZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEsMTEgKzAs
MCBAQAotQ2hhbmdlIG11bHRpcGxlIGZpZWxkcyB3ZWVrIGlucHV0IFVJIGxheW91dCBieSB2YWx1
ZQotCi1PbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2Vz
LCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCi0KLQotUEFTUyB3aWR0aE9mRW1wdHlWYWx1
ZSA8IHdpZHRoT2ZPdmVyZmxvd1ZhbHVlIGlzIHRydWUKLVBBU1Mgd2lkdGhPZkVtcHR5VmFsdWUg
aXMgd2lkdGhPZlZhbGlkVmFsdWUKLVBBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKLQot
VEVTVCBDT01QTEVURQotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL21vbnRo
LW11bHRpcGxlLWZpZWxkcy9tb250aC1tdWx0aXBsZS1maWVsZHMtY2hhbmdlLWxheW91dC1ieS12
YWx1ZS5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9tb250aC1tdWx0aXBsZS1maWVsZHMv
bW9udGgtbXVsdGlwbGUtZmllbGRzLWNoYW5nZS1sYXlvdXQtYnktdmFsdWUuaHRtbApkZWxldGVk
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggY2Q4ZjdlMjIyZTUxMzNmNGExMGFjZGQxNDE5NzMzOTA3
ZWVmZGUxZS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9M
YXlvdXRUZXN0cy9mYXN0L2Zvcm1zL21vbnRoLW11bHRpcGxlLWZpZWxkcy9tb250aC1tdWx0aXBs
ZS1maWVsZHMtY2hhbmdlLWxheW91dC1ieS12YWx1ZS5odG1sCisrKyAvZGV2L251bGwKQEAgLTEs
MjUgKzAsMCBAQAotPCFET0NUWVBFIGh0bWw+Ci08aHRtbD4KLTxib2R5PgotPHNjcmlwdCBzcmM9
Ii4uLy4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0Pgot
ZGVzY3JpcHRpb24oJ0NoYW5nZSBtdWx0aXBsZSBmaWVsZHMgd2VlayBpbnB1dCBVSSBsYXlvdXQg
YnkgdmFsdWUnKTsKLXZhciB0ZXN0SW5wdXQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdpbnB1
dCcpOwotdGVzdElucHV0LnR5cGUgPSAnbW9udGgnOwotdGVzdElucHV0Lm1heCA9ICc5OTk5LTEy
JzsKLWRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQodGVzdElucHV0KTsKLXZhciB3aWR0aE9mRW1w
dHlWYWx1ZSA9IHRlc3RJbnB1dC5vZmZzZXRXaWR0aDsKLQotdGVzdElucHV0LnZhbHVlID0gJzEw
MDAwLTEyJzsKLXZhciB3aWR0aE9mT3ZlcmZsb3dWYWx1ZSA9IHRlc3RJbnB1dC5vZmZzZXRXaWR0
aDsKLXNob3VsZEJlVHJ1ZSgnd2lkdGhPZkVtcHR5VmFsdWUgPCB3aWR0aE9mT3ZlcmZsb3dWYWx1
ZScpOwotCi10ZXN0SW5wdXQudmFsdWUgPSAnMjAxMi0xMCc7Ci12YXIgd2lkdGhPZlZhbGlkVmFs
dWUgPSB0ZXN0SW5wdXQub2Zmc2V0V2lkdGg7Ci1zaG91bGRCZSgnd2lkdGhPZkVtcHR5VmFsdWUn
LCAnd2lkdGhPZlZhbGlkVmFsdWUnKTsKLQotdGVzdElucHV0LnJlbW92ZSgpOwotPC9zY3JpcHQ+
Ci08c2NyaXB0IHNyYz0iLi4vLi4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3Jp
cHQ+Ci08L2JvZHk+Ci08L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1z
L21vbnRoLW11bHRpcGxlLWZpZWxkcy9tb250aC1tdWx0aXBsZS1maWVsZHMtY2xlYXJidXR0b24t
Y2hhbmdlLWFuZC1pbnB1dC1ldmVudHMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9m
b3Jtcy9tb250aC1tdWx0aXBsZS1maWVsZHMvbW9udGgtbXVsdGlwbGUtZmllbGRzLWNsZWFyYnV0
dG9uLWNoYW5nZS1hbmQtaW5wdXQtZXZlbnRzLWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMzFmODY2MzBmYjI2MjM3MjJhMTlkNTc5ZDNjNWQxZDFkZDQ2ODgyYi4u
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0
cy9mYXN0L2Zvcm1zL21vbnRoLW11bHRpcGxlLWZpZWxkcy9tb250aC1tdWx0aXBsZS1maWVsZHMt
Y2xlYXJidXR0b24tY2hhbmdlLWFuZC1pbnB1dC1ldmVudHMtZXhwZWN0ZWQudHh0CisrKyAvZGV2
L251bGwKQEAgLTEsMTkgKzAsMCBAQAotVGVzdCBmb3IgZXZlbnQgZGlzcGF0Y2hpbmcgYnkgc3Bp
biBidXR0b25zIGluIGEgdHlwZT1tb250aCBpbnB1dC4KLQotT24gc3VjY2VzcywgeW91IHdpbGwg
c2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExF
VEUiLgotCi0KLUluaXRpYWwgc3RhdGUKLVBBU1MgY2hhbmdlRXZlbnRDb3VudGVyIGlzIDAKLVBB
U1MgaW5wdXRFdmVudENvdW50ZXIgaXMgMAotQ2xpY2sgdGhlIGNsZWFyIGJ1dHRvbgotUEFTUyB0
ZXN0SW5wdXQudmFsdWUgaXMgIiIKLVBBU1MgY2hhbmdlRXZlbnRDb3VudGVyIGlzIDEKLVBBU1Mg
aW5wdXRFdmVudENvdW50ZXIgaXMgMQotRm9jdXMgb24gYW5vdGhlciBmaWVsZAotUEFTUyBjaGFu
Z2VFdmVudENvdW50ZXIgaXMgMQotUEFTUyBpbnB1dEV2ZW50Q291bnRlciBpcyAxCi1QQVNTIHN1
Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCi0KLVRFU1QgQ09NUExFVEUKLQpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9tb250aC1tdWx0aXBsZS1maWVsZHMvbW9udGgtbXVsdGlw
bGUtZmllbGRzLWNsZWFyYnV0dG9uLWNoYW5nZS1hbmQtaW5wdXQtZXZlbnRzLmh0bWwgYi9MYXlv
dXRUZXN0cy9mYXN0L2Zvcm1zL21vbnRoLW11bHRpcGxlLWZpZWxkcy9tb250aC1tdWx0aXBsZS1m
aWVsZHMtY2xlYXJidXR0b24tY2hhbmdlLWFuZC1pbnB1dC1ldmVudHMuaHRtbApkZWxldGVkIGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggNjdkMGJmMmUyZTg4M2MwNTQ0OWI5ZGVjNjUxMjA0NjNiMTUz
ZWFkNi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlv
dXRUZXN0cy9mYXN0L2Zvcm1zL21vbnRoLW11bHRpcGxlLWZpZWxkcy9tb250aC1tdWx0aXBsZS1m
aWVsZHMtY2xlYXJidXR0b24tY2hhbmdlLWFuZC1pbnB1dC1ldmVudHMuaHRtbAorKysgL2Rldi9u
dWxsCkBAIC0xLDE0ICswLDAgQEAKLTwhRE9DVFlQRSBodG1sPgotPGh0bWw+Ci08aGVhZD4KLTxz
Y3JpcHQgc3JjPSIuLi8uLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9z
Y3JpcHQ+Ci08c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL2NvbW1vbi5qcyI+PC9zY3JpcHQ+Ci08
c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL2NvbW1vbi1jbGVhcmJ1dHRvbi1jaGFuZ2UtYW5kLWlu
cHV0LWV2ZW50cy5qcyI+PC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keT4KLTxzY3JpcHQ+Ci10ZXN0
Q2xlYXJCdXR0b25DaGFuZ2VBbmRJbnB1dEV2ZW50cygnbW9udGgnLCAnMjAxMi0xMCcpOwotPC9z
Y3JpcHQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1w
b3N0LmpzIj48L3NjcmlwdD4KLTwvYm9keT4KLTwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2Zhc3QvZm9ybXMvbW9udGgtbXVsdGlwbGUtZmllbGRzL21vbnRoLW11bHRpcGxlLWZpZWxk
cy1jbGVhcmJ1dHRvbi12aXNpYmlsaXR5LWFmdGVyLXJlc3RvcmUtZXhwZWN0ZWQuaHRtbCBiL0xh
eW91dFRlc3RzL2Zhc3QvZm9ybXMvbW9udGgtbXVsdGlwbGUtZmllbGRzL21vbnRoLW11bHRpcGxl
LWZpZWxkcy1jbGVhcmJ1dHRvbi12aXNpYmlsaXR5LWFmdGVyLXJlc3RvcmUtZXhwZWN0ZWQuaHRt
bApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYjczMzU4ZTQ2ZWY5MmY2NGU2YmY1M2Zj
Zjg0ZDUwZjE3YWVkN2FmZS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL21vbnRoLW11bHRpcGxlLWZpZWxkcy9tb250
aC1tdWx0aXBsZS1maWVsZHMtY2xlYXJidXR0b24tdmlzaWJpbGl0eS1hZnRlci1yZXN0b3JlLWV4
cGVjdGVkLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSwxMCArMCwwIEBACi08IURPQ1RZUEUgaHRt
bD4KLTxodG1sPgotPGJvZHk+Ci08aW5wdXQgaWQ9ImVtcHR5T25GaXJzdFZpc2l0IiB2YWx1ZT0i
dmlzaXRlZCI+Ci08Zm9ybSBhY3Rpb249ImRhdGE6dGV4dC9odG1sLCZsdDtzY3JpcHQ+aGlzdG9y
eS5iYWNrKCkmbHQ7L3NjcmlwdD4iIGlkPWZvcm0xPgotICAgIDxpbnB1dCB0eXBlPW1vbnRoIGlk
PWlucHV0MT4KLSAgICA8aW5wdXQgdHlwZT1tb250aCBpZD1pbnB1dDIgdmFsdWU9IjIwMDEtMDIi
PgotICAgIDxpbnB1dCB0eXBlPW1vbnRoIGlkPWlucHV0MyB2YWx1ZT0iMjAwMi0wMyI+Ci08L2Zv
cm0+Ci08L2JvZHk+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL21vbnRoLW11
bHRpcGxlLWZpZWxkcy9tb250aC1tdWx0aXBsZS1maWVsZHMtY2xlYXJidXR0b24tdmlzaWJpbGl0
eS1hZnRlci1yZXN0b3JlLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL21vbnRoLW11bHRp
cGxlLWZpZWxkcy9tb250aC1tdWx0aXBsZS1maWVsZHMtY2xlYXJidXR0b24tdmlzaWJpbGl0eS1h
ZnRlci1yZXN0b3JlLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDllNmY1MTNm
ZDIwZWYwNjRkZmY5N2VmZTQ0MGMzMGQxMTdkNDBkNDIuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9tb250aC1tdWx0
aXBsZS1maWVsZHMvbW9udGgtbXVsdGlwbGUtZmllbGRzLWNsZWFyYnV0dG9uLXZpc2liaWxpdHkt
YWZ0ZXItcmVzdG9yZS5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsMzIgKzAsMCBAQAotPCFET0NU
WVBFIGh0bWw+Ci08aHRtbD4KLTxib2R5PgotPGlucHV0IGlkPSJlbXB0eU9uRmlyc3RWaXNpdCI+
Ci08Zm9ybSBhY3Rpb249ImRhdGE6dGV4dC9odG1sLCZsdDtzY3JpcHQ+aGlzdG9yeS5iYWNrKCkm
bHQ7L3NjcmlwdD4iIGlkPWZvcm0xPgotICAgIDxpbnB1dCB0eXBlPW1vbnRoIGlkPWlucHV0MT4K
LSAgICA8aW5wdXQgdHlwZT1tb250aCBpZD1pbnB1dDI+Ci0gICAgPGlucHV0IHR5cGU9bW9udGgg
aWQ9aW5wdXQzIHZhbHVlPSIyMDEyLTAxIj4KLTwvZm9ybT4KLQotPHNjcmlwdD4KLS8vIFJlc3Rv
cmluZyB0aGUgZm9ybSBzaG91bGQgdXBkYXRlIHRoZSBjbGVhciBidXR0b24gdmlzaWJpbGl0eS4K
LXRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOwotZnVuY3Rpb24gcnVuVGVzdCgpCi17Ci0gICAg
dmFyIHN0YXRlID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2VtcHR5T25GaXJzdFZpc2l0Jyk7
Ci0gICAgaWYgKCFzdGF0ZS52YWx1ZSkgewotICAgICAgICAvLyBGaXJzdCB2aXNpdC4KLSAgICAg
ICAgc2V0VGltZW91dChmdW5jdGlvbigpIHsKLSAgICAgICAgICAgIHN0YXRlLnZhbHVlID0gJ3Zp
c2l0ZWQnOwotICAgICAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2lucHV0MicpLnZh
bHVlID0gIjIwMDEtMDIiOwotICAgICAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2lu
cHV0MycpLnZhbHVlID0gIjIwMDItMDMiOwotICAgICAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoJ2Zvcm0xJykuc3VibWl0KCk7Ci0gICAgICAgIH0sIDApOwotICAgIH0gZWxzZSB7Ci0g
ICAgICAgIHRlc3RSdW5uZXIubm90aWZ5RG9uZSgpOwotICAgIH0KLX0KLQotd2luZG93Lm9ubG9h
ZCA9IHJ1blRlc3Q7Ci08L3NjcmlwdD4KLTwvYm9keT4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2Zhc3QvZm9ybXMvbW9udGgtbXVsdGlwbGUtZmllbGRzL21vbnRoLW11bHRpcGxlLWZpZWxkcy1m
YWxsYmFjay1mb3JtYXQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9tb250
aC1tdWx0aXBsZS1maWVsZHMvbW9udGgtbXVsdGlwbGUtZmllbGRzLWZhbGxiYWNrLWZvcm1hdC1l
eHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGIzOGI5NmFhNTQ4NDhi
MDFkMDI5M2NiNDM1YzBjOTc2NjViNmY0MjAuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9tb250aC1tdWx0aXBsZS1m
aWVsZHMvbW9udGgtbXVsdGlwbGUtZmllbGRzLWZhbGxiYWNrLWZvcm1hdC1leHBlY3RlZC50eHQK
KysrIC9kZXYvbnVsbApAQCAtMSwxNCArMCwwIEBACi1DaGVja3MgaW5jb21wbGV0ZSBkYXRldGlt
ZSBmb3JtYXRzIGFyZSByZWplY3RlZC4KLQotT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2Vy
aWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgotCi0K
LVZhbGlkIGZvcm1hdAotUEFTUyBnZXRVc2VyQWdlbnRTaGFkb3dUZXh0Q29udGVudChpbnB1dCkg
aXMgIjA3LTE5OTkiCi1JbnZhbGlkIGZvcm1hdCwgZmFsbGJhY2sgdG8geXl5eS1NTQotUEFTUyBn
ZXRVc2VyQWdlbnRTaGFkb3dUZXh0Q29udGVudChpbnB1dCkgaXMgIjE5OTktMDciCi1QQVNTIGdl
dFVzZXJBZ2VudFNoYWRvd1RleHRDb250ZW50KGlucHV0KSBpcyAiMTk5OS0wNyIKLVBBU1Mgc3Vj
Y2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKLQotVEVTVCBDT01QTEVURQotCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9mYXN0L2Zvcm1zL21vbnRoLW11bHRpcGxlLWZpZWxkcy9tb250aC1tdWx0aXBs
ZS1maWVsZHMtZmFsbGJhY2stZm9ybWF0Lmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL21v
bnRoLW11bHRpcGxlLWZpZWxkcy9tb250aC1tdWx0aXBsZS1maWVsZHMtZmFsbGJhY2stZm9ybWF0
Lmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDI5NTExYWI2MmM5ZThmNzFlY2Fl
NmJjOTk1NTU1YTU4NWVhZDM2ZmUuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9tb250aC1tdWx0aXBsZS1maWVsZHMv
bW9udGgtbXVsdGlwbGUtZmllbGRzLWZhbGxiYWNrLWZvcm1hdC5odG1sCisrKyAvZGV2L251bGwK
QEAgLTEsMzcgKzAsMCBAQAotPCFET0NUWVBFIGh0bWw+Ci08aHRtbD4KLTxoZWFkPgotPHNjcmlw
dCBzcmM9Ii4uLy4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Ci08c2Ny
aXB0IHNyYz0iLi4vcmVzb3VyY2VzL2NvbW1vbi5qcyI+PC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9k
eT4KLTxzY3JpcHQ+Ci1kZXNjcmlwdGlvbignQ2hlY2tzIGluY29tcGxldGUgZGF0ZXRpbWUgZm9y
bWF0cyBhcmUgcmVqZWN0ZWQuJyk7Ci0KLXZhciBpbnB1dCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1l
bnQoJ2lucHV0Jyk7Ci1pbnB1dC50eXBlID0gJ21vbnRoJzsKLWRvY3VtZW50LmJvZHkuYXBwZW5k
Q2hpbGQoaW5wdXQpOwotCi1mdW5jdGlvbiBzZXREYXRlVGltZUZvcm1hdChwYXR0ZXJuKSB7Ci0g
ICAgdmFyIHZhbHVlID0gaW5wdXQudmFsdWU7Ci0gICAgZ2V0RWxlbWVudEJ5UHNldWRvSWQoaW50
ZXJuYWxzLnlvdW5nZXN0U2hhZG93Um9vdChpbnB1dCksICctd2Via2l0LWRhdGV0aW1lLWVkaXQn
KS5zZXRBdHRyaWJ1dGUoJ3BhdHRlcm4nLCBwYXR0ZXJuKTsKLSAgICBpbnB1dC52YWx1ZSA9ICcn
OyAvLyBVcGRhdGVzIHRoZSBlbGVtZW50IGZvciBuZXcgZm9ybWF0Ci0gICAgaW5wdXQudmFsdWUg
PSB2YWx1ZTsKLX0KLQotaW5wdXQudmFsdWUgPSAnMTk5OS0wNyc7Ci0KLWRlYnVnKCdWYWxpZCBm
b3JtYXQnKTsKLXNldERhdGVUaW1lRm9ybWF0KCdNTS15eXl5Jyk7Ci1zaG91bGRCZUVxdWFsVG9T
dHJpbmcoJ2dldFVzZXJBZ2VudFNoYWRvd1RleHRDb250ZW50KGlucHV0KScsICcwNy0xOTk5Jyk7
Ci0KLWRlYnVnKCdJbnZhbGlkIGZvcm1hdCwgZmFsbGJhY2sgdG8geXl5eS1NTScpOwotc2V0RGF0
ZVRpbWVGb3JtYXQoJ21tLXl5eXknKTsKLXNob3VsZEJlRXF1YWxUb1N0cmluZygnZ2V0VXNlckFn
ZW50U2hhZG93VGV4dENvbnRlbnQoaW5wdXQpJywgJzE5OTktMDcnKTsKLXNldERhdGVUaW1lRm9y
bWF0KCdNJyk7Ci1zaG91bGRCZUVxdWFsVG9TdHJpbmcoJ2dldFVzZXJBZ2VudFNoYWRvd1RleHRD
b250ZW50KGlucHV0KScsICcxOTk5LTA3Jyk7Ci0KLTwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii4u
Ly4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgotPC9ib2R5PgotPC9o
dG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9tb250aC1tdWx0aXBsZS1m
aWVsZHMvbW9udGgtbXVsdGlwbGUtZmllbGRzLWtleWJvYXJkLWV2ZW50cy1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL21vbnRoLW11bHRpcGxlLWZpZWxkcy9tb250aC1tdWx0
aXBsZS1maWVsZHMta2V5Ym9hcmQtZXZlbnRzLWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggYjJjOWVjZDA2NDk1YjYwMDQ3M2E3YTE2ZGM1YWE1ODI5NDdmNTNiNi4u
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0
cy9mYXN0L2Zvcm1zL21vbnRoLW11bHRpcGxlLWZpZWxkcy9tb250aC1tdWx0aXBsZS1maWVsZHMt
a2V5Ym9hcmQtZXZlbnRzLWV4cGVjdGVkLnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDc3ICswLDAg
QEAKLU11bHRpcGxlIGZpZWxkcyBVSSBvZiBtb250aCBpbnB1dCB0eXBlIHdpdGgga2V5Ym9hcmQg
ZXZlbnRzCi0KLU9uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVz
c2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KLQotCi1QbGVhc2UgcnVuIHRoaXMg
d2l0aCBEdW1wUmVuZGVyVHJlZS4KLQotVGVzdCBmb2xsb3dpbmcga2V5czoKLURpZ2l0cwotTGVm
dC9SaWdodCAtIE1vdmUgZm9jdXMgZmllbGQgaW5zaWRlIGVsZW1lbnQKLVVwL0Rvd24gLSBJbmNy
ZW1lbnQvZGVjcmVtZW50IHZhbHVlIG9mIGZvY3VzIGZpZWxkCi1UYWIgLSBNb3ZlIGZvY3VzIGZp
ZWxkCi1CYWNrc3BhY2UgLSBNYWtlIHZhbHVlIGVtcHR5Ci0gIAotPT0gRGlnaXQga2V5cyA9PQot
UEFTUyBpbnB1dC52YWx1ZSBpcyAiMDAxMi0wOSIKLT09IExlZnQvUmlnaHQga2V5cyA9PQotUEFT
UyBpbnB1dC52YWx1ZSBpcyAiMDAwNS0wNiIKLVBBU1MgZG9jdW1lbnQuYWN0aXZlRWxlbWVudC5p
ZCBpcyAiaW5wdXQiCi09PSBVcC9Eb3duIGtleXMgPT0KLVBBU1MgaW5wdXQudmFsdWUgaXMgIjIw
MTItMTAiCi1QQVNTIGlucHV0LnZhbHVlIGlzICIyMDEyLTA4IgotPT0gVXAvRG93biBrZXlzIG9u
IGVtcHR5IHZhbHVlID09Ci1QQVNTIGlucHV0LnZhbHVlIGlzICIyMDEyLTExIgotPT0gVXAvRG93
biBrZXlzIG9uIGVtcHR5IHZhbHVlIDIgPT0KLVBBU1MgaW5wdXQudmFsdWUgaXMgIjIwMTItMDIi
Ci09PSBUYWIga2V5ID09Ci1QQVNTIGlucHV0LnZhbHVlIGlzICIwMDA1LTA5IgotUEFTUyBpbnB1
dC52YWx1ZSBpcyAiMDAwNS0wMSIKLVBBU1MgZG9jdW1lbnQuYWN0aXZlRWxlbWVudC5pZCBpcyAi
YW5vdGhlciIKLT09IFNoZml0K1RhYiBrZXkgPT0KLVBBU1MgaW5wdXQudmFsdWUgaXMgIjAwMDMt
MDkiCi1QQVNTIGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQuaWQgaXMgImJlZm9yZSIKLT09IFVwIGtl
eSBvbiBtYXhpbXVtIHZhbHVlID09Ci1QQVNTIGlucHV0LnZhbHVlIGlzICIwMDAxLTEwIgotPT0g
VXAga2V5IHdpdGggYSBtYXhpbXVtIGF0dHJpYnV0ZSA9PQotUEFTUyBpbnB1dC52YWx1ZSBpcyAi
MDAwMS0wMSIKLT09IERvd24ga2V5IG9uIG1pbmltdW0gdmFsdWUgPT0KLVBBU1MgaW5wdXQudmFs
dWUgaXMgIiIKLT09IERvd24ga2V5IHdpdGggYSBtaW5pbXVtIGF0dHJpYnV0ZSA9PQotUEFTUyBp
bnB1dC52YWx1ZSBpcyAiIgotPT0gSW5jb25zaXN0ZW50IG1pbi1tYXggYXR0cmlidXRlcyA9PQot
UEFTUyBpbnB1dC52YWx1ZSBpcyAiMTAwMC0xMiIKLVBBU1MgaW5wdXQudmFsdWUgaXMgIjE5OTkt
MTIiCi09PSBCYWNrc3BhY2Uga2V5ID09Ci1QQVNTIGlucHV0LnZhbHVlIGlzICIiCi09PSBEZWxl
dGUga2V5ID09Ci1QQVNTIGlucHV0LnZhbHVlIGlzICIiCi09PSBUeXBlYWhlYWQgPT0KLVBBU1Mg
aW5wdXQudmFsdWUgaXMgIjAwMDEtMTIiCi1QQVNTIGlucHV0LnZhbHVlIGlzICIwMDAyLTEyIgot
PT0gVHlwZWFoZWFkIGN5Y2xlIGZpcnN0IGNoYXJhY3RlciA9PQotUEFTUyBpbnB1dC52YWx1ZSBp
cyAiMjAxMi0wMSIKLVBBU1MgaW5wdXQudmFsdWUgaXMgIjIwMTItMDYiCi1QQVNTIGlucHV0LnZh
bHVlIGlzICIyMDEyLTA3IgotUEFTUyBpbnB1dC52YWx1ZSBpcyAiMjAxMi0wMSIKLVBBU1MgaW5w
dXQudmFsdWUgaXMgIjIwMTItMDEiCi09PSBUeXBlYWhlYWQgcHJlZml4IG1hdGNoID09Ci1QQVNT
IGlucHV0LnZhbHVlIGlzICIyMDEyLTAzIgotUEFTUyBpbnB1dC52YWx1ZSBpcyAiMjAxMi0wMyIK
LVBBU1MgaW5wdXQudmFsdWUgaXMgIjIwMTItMDUiCi1QQVNTIGlucHV0LnZhbHVlIGlzICIyMDEy
LTA1IgotPT0gVHlwZWFoZWFkIGluZGV4IG1hdGNoID09Ci1QQVNTIGlucHV0LnZhbHVlIGlzICIy
MDEyLTAxIgotUEFTUyBpbnB1dC52YWx1ZSBpcyAiMjAxMi0xMiIKLVBBU1MgaW5wdXQudmFsdWUg
aXMgIjIwMTItMTIiCi09PSBUeXBlYWhlYWQgc2hvdWxkIHNlYXJjaCBmcm9tIGN1cnJlbnQgc2Vs
ZWN0aW9uID09Ci1QQVNTIGlucHV0LnZhbHVlIGlzICIyMDEyLTA2IgotPT0gUlRMIGZvY3VzIG5h
dmlnYXRpb24gPT0KLVRoZSB0ZXN0cyBpbiB0aGlzIGJsb2NrIGZhaWwgb24gcGxhdGZvcm1zIHdp
dGhvdXQgdGhlIGxhbmctYXR0cmlidXRlLWF3YXJlLWZvcm0tY29udHJvbC1VSSBmZWF0dXJlLgot
UEFTUyBpbnB1dC52YWx1ZSBpcyAiMjAxMi0xMCIKLVBBU1MgaW5wdXQudmFsdWUgaXMgIjAwMDIt
MTAiCi1QQVNTIGlucHV0LnZhbHVlIGlzICIwMDAyLTExIgotUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQotCi1URVNUIENPTVBMRVRFCi0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zh
c3QvZm9ybXMvbW9udGgtbXVsdGlwbGUtZmllbGRzL21vbnRoLW11bHRpcGxlLWZpZWxkcy1rZXli
b2FyZC1ldmVudHMuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvbW9udGgtbXVsdGlwbGUt
ZmllbGRzL21vbnRoLW11bHRpcGxlLWZpZWxkcy1rZXlib2FyZC1ldmVudHMuaHRtbApkZWxldGVk
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggOTcyODkyYjlkODhlY2I0NGU0NzBjM2YyMmUxMzRjNWVk
MDYwMjViYS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9M
YXlvdXRUZXN0cy9mYXN0L2Zvcm1zL21vbnRoLW11bHRpcGxlLWZpZWxkcy9tb250aC1tdWx0aXBs
ZS1maWVsZHMta2V5Ym9hcmQtZXZlbnRzLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSwyMjMgKzAs
MCBAQAotPCFET0NUWVBFIGh0bWw+Ci08aHRtbD4KLTxoZWFkPgotPHNjcmlwdCBzcmM9Ii4uLy4u
L2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keT4K
LTxwIGlkPSJkZXNjcmlwdGlvbiI+PC9wPgotPHA+Ci1QbGVhc2UgcnVuIHRoaXMgd2l0aCBEdW1w
UmVuZGVyVHJlZS4KLTwvcD4KLVRlc3QgZm9sbG93aW5nIGtleXM6Ci08dWw+Ci0gICAgPGxpPkRp
Z2l0czwvbGk+Ci0gICAgPGxpPkxlZnQvUmlnaHQgLSBNb3ZlIGZvY3VzIGZpZWxkIGluc2lkZSBl
bGVtZW50PC9saT4KLSAgICA8bGk+VXAvRG93biAtIEluY3JlbWVudC9kZWNyZW1lbnQgdmFsdWUg
b2YgZm9jdXMgZmllbGQ8L2xpPgotICAgIDxsaT5UYWIgLSBNb3ZlIGZvY3VzIGZpZWxkPC9saT4K
LSAgICA8bGk+QmFja3NwYWNlIC0gTWFrZSB2YWx1ZSBlbXB0eTwvbGk+Ci08L3VsPgotPGlucHV0
IGlkPSJiZWZvcmUiPgotPGlucHV0IGlkPSJpbnB1dCIgdHlwZT0ibW9udGgiPgotPGlucHV0IGlk
PSJhbm90aGVyIj4KLTxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgotPHNjcmlwdD4KLWRlc2NyaXB0
aW9uKCJNdWx0aXBsZSBmaWVsZHMgVUkgb2YgbW9udGggaW5wdXQgdHlwZSB3aXRoIGtleWJvYXJk
IGV2ZW50cyIpOwotaWYgKHdpbmRvdy5pbnRlcm5hbHMpCi0gICAgaW50ZXJuYWxzLnNldHRpbmdz
LnNldExhbmdBdHRyaWJ1dGVBd2FyZUZvcm1Db250cm9sVUlFbmFibGVkKHRydWUpOwotdmFyIGlu
cHV0ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImlucHV0Iik7Ci0KLWZ1bmN0aW9uIGtleURv
d24oa2V5LCBtb2RpZmllcnMpCi17Ci0gICAgaWYgKCF3aW5kb3cuZXZlbnRTZW5kZXIpCi0gICAg
ICAgIHJldHVybjsKLSAgICBldmVudFNlbmRlci5rZXlEb3duKGtleSwgbW9kaWZpZXJzKTsKLX0K
LQotZnVuY3Rpb24gYmVnaW5UZXN0KHRpdGxlLCB2YWx1ZSwgb3B0X21pbiwgb3B0X21heCkKLXsK
LSAgICBkZWJ1ZygiPT0gIiArIHRpdGxlICsgIiA9PSIpOwotICAgIGlucHV0LnZhbHVlID0gdmFs
dWU7Ci0gICAgaW5wdXQubWluID0gb3B0X21pbiA/IG9wdF9taW4gOiAiIjsKLSAgICBpbnB1dC5t
YXggPSBvcHRfbWF4ID8gb3B0X21heCA6ICIiOwotICAgIGlucHV0LmJsdXIoKTsKLSAgICBpbnB1
dC5mb2N1cygpOwotfQotCi0vLyBXZSBhc3N1bWUgdGhlIHllYXItbW9udGggZm9ybWF0IGlzICJN
TU0geXl5eSIuCi0KLWJlZ2luVGVzdCgnRGlnaXQga2V5cycpOwota2V5RG93bigncycpOwota2V5
RG93bigncmlnaHRBcnJvdycpOwota2V5RG93bignMCcpOwota2V5RG93bignMScpOwota2V5RG93
bignMicpOwota2V5RG93bignQScpOwotc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdpbnB1dC52YWx1
ZScsICcwMDEyLTA5Jyk7Ci0KLS8vIEZJWE1FOiBXZSBzaG91bGQgdGVzdCB0eXBlIGFoZWFkIHRp
bWUgb3V0LiBXaGVuIGV2ZW50LmxlYXBGb3J3YXJkKCkgYWZmZWN0cwotLy8ga2V5Ym9hcmQgZXZl
bnQgdGltZSBzdGFtcCwgd2UgY2FuIHVuY29tbWVudCB0aGlzIGZyYWdtZW50LgotLyoKLWJlZ2lu
VGVzdCgnRGlnaXQga2V5cyB3aXRoIHR5cGUgYWhlYWQgdGltZW91dCcpOwota2V5RG93bignMScp
OwotbGVhcEZvcndhcmQoMTEwMCk7Ci1rZXlEb3duKCcxJyk7Ci1rZXlEb3duKCc1Jyk7Ci1rZXlE
b3duKCc2Jyk7Ci1rZXlEb3duKCdBJyk7Ci1zaG91bGRCZUVxdWFsVG9TdHJpbmcoJ2lucHV0LnZh
bHVlJywgJzAwNTYtMDEnKTsKLSovCi0KLWJlZ2luVGVzdCgnTGVmdC9SaWdodCBrZXlzJywgJzIw
MTItMDknKTsKLWtleURvd24oJ3JpZ2h0QXJyb3cnKTsKLWtleURvd24oJzUnKTsKLWtleURvd24o
J2xlZnRBcnJvdycpOwota2V5RG93bignNicpOwotc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdpbnB1
dC52YWx1ZScsICcwMDA1LTA2Jyk7Ci1rZXlEb3duKCdsZWZ0QXJyb3cnKTsKLWtleURvd24oJ2xl
ZnRBcnJvdycpOwota2V5RG93bignbGVmdEFycm93Jyk7Ci1zaG91bGRCZUVxdWFsVG9TdHJpbmco
J2RvY3VtZW50LmFjdGl2ZUVsZW1lbnQuaWQnLCAnaW5wdXQnKTsKLQotYmVnaW5UZXN0KCdVcC9E
b3duIGtleXMnLCAnMjAxMi0wOScpOwota2V5RG93bigndXBBcnJvdycpOwotc2hvdWxkQmVFcXVh
bFRvU3RyaW5nKCdpbnB1dC52YWx1ZScsICcyMDEyLTEwJyk7Ci1rZXlEb3duKCdkb3duQXJyb3cn
KTsKLWtleURvd24oJ2Rvd25BcnJvdycpOwotc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdpbnB1dC52
YWx1ZScsICcyMDEyLTA4Jyk7Ci0KLS8vIE5vdGUgdGhhdCBlbXB0eSB2YWx1ZSBmb3IgdGhlIHll
YXIgZmllbGQgd2l0aG91dCBtaW4vbWF4IGF0dHJpYnV0ZXMgaXMgbm90Ci0vLyB0ZXN0YWJsZSBi
ZWNhdXNlIGl0cyBkZWZhdWx0IHZhbHVlIGRlcGVuZHMgb24gdGhlIGN1cnJlbnQgZGF0ZS4KLWJl
Z2luVGVzdCgnVXAvRG93biBrZXlzIG9uIGVtcHR5IHZhbHVlJywgJycsICcyMDEyLTAxJyk7Ci1r
ZXlEb3duKCdkb3duQXJyb3cnKTsKLWtleURvd24oJ2Rvd25BcnJvdycpOwota2V5RG93bigncmln
aHRBcnJvdycpOwota2V5RG93bigndXBBcnJvdycpOwota2V5RG93bigndXBBcnJvdycpOwota2V5
RG93bignZG93bkFycm93Jyk7Ci1zaG91bGRCZUVxdWFsVG9TdHJpbmcoJ2lucHV0LnZhbHVlJywg
JzIwMTItMTEnKTsKLQotYmVnaW5UZXN0KCdVcC9Eb3duIGtleXMgb24gZW1wdHkgdmFsdWUgMics
ICcnLCB1bmRlZmluZWQsICcyMDEyLTAxJyk7Ci1rZXlEb3duKCd1cEFycm93Jyk7Ci1rZXlEb3du
KCd1cEFycm93Jyk7Ci1rZXlEb3duKCdyaWdodEFycm93Jyk7Ci1rZXlEb3duKCdkb3duQXJyb3cn
KTsKLWtleURvd24oJ2Rvd25BcnJvdycpOwota2V5RG93bigndXBBcnJvdycpOwotc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCdpbnB1dC52YWx1ZScsICcyMDEyLTAyJyk7Ci0KLWJlZ2luVGVzdCgnVGFi
IGtleScsICcyMDEyLTA5Jyk7Ci1rZXlEb3duKCdcdCcpOyAvLyAtPiBTZXAgWzIwMTJdCi1rZXlE
b3duKCc1Jyk7IC8vICAtPiBTZXAgWzAwMDVdCi1zaG91bGRCZUVxdWFsVG9TdHJpbmcoJ2lucHV0
LnZhbHVlJywgJzAwMDUtMDknKTsKLWtleURvd24oJ1x0JywgWydzaGlmdEtleSddKTsgLy8gLT4g
W1NlcF0gWzAwMDVdCi1rZXlEb3duKCdKJyk7IC8vIC0+IFtKYW5dIDAwMDUKLXNob3VsZEJlRXF1
YWxUb1N0cmluZygnaW5wdXQudmFsdWUnLCAnMDAwNS0wMScpOwota2V5RG93bignXHQnKTsgLy8g
LT4gSmFuIFswMDA1XQota2V5RG93bignXHQnKTsgLy8gLT4gSmFuIDAwMDUKLXNob3VsZEJlRXF1
YWxUb1N0cmluZygnZG9jdW1lbnQuYWN0aXZlRWxlbWVudC5pZCcsICdhbm90aGVyJyk7Ci0KLWJl
Z2luVGVzdCgnU2hmaXQrVGFiIGtleScsICcyMDEyLTA5Jyk7Ci1hbm90aGVyLmZvY3VzKCk7Ci1r
ZXlEb3duKCdcdCcsIFsnc2hpZnRLZXknXSk7Ci1rZXlEb3duKCczJyk7Ci1zaG91bGRCZUVxdWFs
VG9TdHJpbmcoJ2lucHV0LnZhbHVlJywgJzAwMDMtMDknKTsKLWtleURvd24oJ1x0JywgWydzaGlm
dEtleSddKTsKLWtleURvd24oJ1x0JywgWydzaGlmdEtleSddKTsKLXNob3VsZEJlRXF1YWxUb1N0
cmluZygnZG9jdW1lbnQuYWN0aXZlRWxlbWVudC5pZCcsICdiZWZvcmUnKTsKLQotYmVnaW5UZXN0
KCdVcCBrZXkgb24gbWF4aW11bSB2YWx1ZScsICcyNzU3NjAtMDknKTsKLWtleURvd24oJ3VwQXJy
b3cnKTsKLWtleURvd24oJ1x0Jyk7Ci1rZXlEb3duKCd1cEFycm93Jyk7Ci1zaG91bGRCZUVxdWFs
VG9TdHJpbmcoJ2lucHV0LnZhbHVlJywgJzAwMDEtMTAnKTsKLWJlZ2luVGVzdCgnVXAga2V5IHdp
dGggYSBtYXhpbXVtIGF0dHJpYnV0ZScsICcxOTk5LTEyJywgdW5kZWZpbmVkLCAnMTk5OS0xMicp
Owota2V5RG93bigndXBBcnJvdycpOwota2V5RG93bignXHQnKTsKLWtleURvd24oJ3VwQXJyb3cn
KTsKLXNob3VsZEJlRXF1YWxUb1N0cmluZygnaW5wdXQudmFsdWUnLCAnMDAwMS0wMScpOwotCi1i
ZWdpblRlc3QoJ0Rvd24ga2V5IG9uIG1pbmltdW0gdmFsdWUnLCAnMDAwMS0wMScsICdiYWQgbWlu
JywgJ3dyb25nIG1heCcpOwota2V5RG93bignZG93bkFycm93Jyk7IC8vIC0+IDAwMDEtMTIKLWtl
eURvd24oJ1x0Jyk7Ci1rZXlEb3duKCdkb3duQXJyb3cnKTsgLy8gLT4gMjc1NzYwLTEyLCB3aGlj
aCBpcyBncmVhdGVyIHRoYW4gdGhlIGhhcmQgbGltaXQuCi1zaG91bGRCZUVxdWFsVG9TdHJpbmco
J2lucHV0LnZhbHVlJywgJycpOwotYmVnaW5UZXN0KCdEb3duIGtleSB3aXRoIGEgbWluaW11bSBh
dHRyaWJ1dGUnLCAnMDAwMS0wMScsICcwMDAxLTAxJyk7Ci1rZXlEb3duKCdkb3duQXJyb3cnKTsg
Ly8gLT4gMDAwMS0xMgota2V5RG93bignXHQnKTsKLWtleURvd24oJ2Rvd25BcnJvdycpOyAvLyAt
PiAyNzU3NjAtMTIsIHdoaWNoIGlzIGdyZWF0ZXIgdGhhbiB0aGUgaGFyZCBsaW1pdC4KLXNob3Vs
ZEJlRXF1YWxUb1N0cmluZygnaW5wdXQudmFsdWUnLCAnJyk7Ci0KLWJlZ2luVGVzdCgnSW5jb25z
aXN0ZW50IG1pbi1tYXggYXR0cmlidXRlcycsICcxOTk5LTEyJywgJzE5OTktMTInLCAnMTAwMC0w
MScpOwota2V5RG93bignXHQnKTsKLWtleURvd24oJ3VwQXJyb3cnKTsKLXNob3VsZEJlRXF1YWxU
b1N0cmluZygnaW5wdXQudmFsdWUnLCAnMTAwMC0xMicpOwota2V5RG93bignZG93bkFycm93Jyk7
Ci1zaG91bGRCZUVxdWFsVG9TdHJpbmcoJ2lucHV0LnZhbHVlJywgJzE5OTktMTInKTsKLQotYmVn
aW5UZXN0KCdCYWNrc3BhY2Uga2V5JywgJzIwMTItMDknKTsKLWtleURvd24oIlxiIik7Ci1zaG91
bGRCZUVxdWFsVG9TdHJpbmcoJ2lucHV0LnZhbHVlJywgJycpOwotCi1iZWdpblRlc3QoJ0RlbGV0
ZSBrZXknLCAnMjAxMi0wOScpOwota2V5RG93bigiZGVsZXRlIik7Ci1zaG91bGRCZUVxdWFsVG9T
dHJpbmcoJ2lucHV0LnZhbHVlJywgJycpOwotCi1iZWdpblRlc3QoJ1R5cGVhaGVhZCcsICcyMDEy
LTEyJyk7Ci1rZXlEb3duKCdyaWdodEFycm93Jyk7Ci1rZXlEb3duKCcxJyk7Ci1zaG91bGRCZUVx
dWFsVG9TdHJpbmcoJ2lucHV0LnZhbHVlJywgJzAwMDEtMTInKTsKLWtleURvd24oJ2xlZnRBcnJv
dycpOwota2V5RG93bigncmlnaHRBcnJvdycpOwota2V5RG93bignMicpOwotc2hvdWxkQmVFcXVh
bFRvU3RyaW5nKCdpbnB1dC52YWx1ZScsICcwMDAyLTEyJyk7Ci0KLWJlZ2luVGVzdCgnVHlwZWFo
ZWFkIGN5Y2xlIGZpcnN0IGNoYXJhY3RlcicsICcyMDEyLTA5Jyk7Ci1rZXlEb3duKCdqJyk7IC8v
ICAgICAgICAgIC0+IFtKYW5dIDIwMTIKLXNob3VsZEJlRXF1YWxUb1N0cmluZygnaW5wdXQudmFs
dWUnLCAnMjAxMi0wMScpOwota2V5RG93bignaicpOyAvLyAgICAgICAgICAtPiBbSnVuXSAyMDEy
Ci1zaG91bGRCZUVxdWFsVG9TdHJpbmcoJ2lucHV0LnZhbHVlJywgJzIwMTItMDYnKTsKLWtleURv
d24oJ2onKTsgLy8gICAgICAgICAgLT4gW0p1bF0gMjAxMgotc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCdpbnB1dC52YWx1ZScsICcyMDEyLTA3Jyk7Ci1rZXlEb3duKCdqJyk7IC8vICAgICAgICAgIC0+
IFtKYW5dIDIwMTIKLXNob3VsZEJlRXF1YWxUb1N0cmluZygnaW5wdXQudmFsdWUnLCAnMjAxMi0w
MScpOwota2V5RG93bigneCcpOyAvLyAgICAgICAgICAtPiBbSmFuXSAyMDEyCi1zaG91bGRCZUVx
dWFsVG9TdHJpbmcoJ2lucHV0LnZhbHVlJywgJzIwMTItMDEnKTsKLQotYmVnaW5UZXN0KCdUeXBl
YWhlYWQgcHJlZml4IG1hdGNoJywgJzIwMTItMDknKTsKLWtleURvd24oJ20nKTsgLy8gICAgICAg
ICAgLT4gW01hcl0gMjAxMgotc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdpbnB1dC52YWx1ZScsICcy
MDEyLTAzJyk7Ci1rZXlEb3duKCdhJyk7IC8vICAgICAgICAgIC0+IFtNYXJdIDIwMTIKLXNob3Vs
ZEJlRXF1YWxUb1N0cmluZygnaW5wdXQudmFsdWUnLCAnMjAxMi0wMycpOwota2V5RG93bigneScp
OyAvLyAgICAgICAgICAtPiBbTWF5XSAyMDEyCi1zaG91bGRCZUVxdWFsVG9TdHJpbmcoJ2lucHV0
LnZhbHVlJywgJzIwMTItMDUnKTsKLWtleURvd24oJ3gnKTsgLy8gICAgICAgICAgLT4gW01heV0g
MjAxMgotc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdpbnB1dC52YWx1ZScsICcyMDEyLTA1Jyk7Ci0K
LWJlZ2luVGVzdCgnVHlwZWFoZWFkIGluZGV4IG1hdGNoJywgJzIwMTItMDknKTsKLWtleURvd24o
JzEnKTsgLy8gICAgICAgICAgLT4gW0phbl0gMjAxMgotc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdp
bnB1dC52YWx1ZScsICcyMDEyLTAxJyk7Ci1rZXlEb3duKCcyJyk7IC8vICAgICAgICAgIC0+IFtE
ZWNdIDIwMTIKLXNob3VsZEJlRXF1YWxUb1N0cmluZygnaW5wdXQudmFsdWUnLCAnMjAxMi0xMicp
Owota2V5RG93bigneCcpOyAvLyAgICAgICAgICAtPiBbRGVjXSAyMDEyCi1zaG91bGRCZUVxdWFs
VG9TdHJpbmcoJ2lucHV0LnZhbHVlJywgJzIwMTItMTInKTsKLQotYmVnaW5UZXN0KCdUeXBlYWhl
YWQgc2hvdWxkIHNlYXJjaCBmcm9tIGN1cnJlbnQgc2VsZWN0aW9uJywgJzIwMTItMDEnKTsKLWtl
eURvd24oJ2onKTsgLy8gICAgICAgICAgLT4gW0p1bl0gMjAxMgotc2hvdWxkQmVFcXVhbFRvU3Ry
aW5nKCdpbnB1dC52YWx1ZScsICcyMDEyLTA2Jyk7Ci0KLWlucHV0LnNldEF0dHJpYnV0ZSgibGFu
ZyIsICJoZS1pbCIpOwotYmVnaW5UZXN0KCdSVEwgZm9jdXMgbmF2aWdhdGlvbicsICcyMDEyLTA5
Jyk7Ci1kZWJ1ZygnVGhlIHRlc3RzIGluIHRoaXMgYmxvY2sgZmFpbCBvbiBwbGF0Zm9ybXMgd2l0
aG91dCB0aGUgbGFuZy1hdHRyaWJ1dGUtYXdhcmUtZm9ybS1jb250cm9sLVVJIGZlYXR1cmUuJyk7
Ci1rZXlEb3duKCd1cEFycm93Jyk7IC8vIC0+IDIwMTIgW00xMF0KLXNob3VsZEJlRXF1YWxUb1N0
cmluZygnaW5wdXQudmFsdWUnLCAnMjAxMi0xMCcpOwota2V5RG93bignXHQnKTsgLy8gICAgICAt
PiBbMjAxMl0gTTEwCi1rZXlEb3duKCcyJyk7IC8vICAgICAgIC0+IFswMDAyXSBNMTAKLXNob3Vs
ZEJlRXF1YWxUb1N0cmluZygnaW5wdXQudmFsdWUnLCAnMDAwMi0xMCcpOwota2V5RG93bignXHQn
LCBbJ3NoaWZ0S2V5J10pOyAvLyAtPiAwMDAyIFtNMTBdCi1rZXlEb3duKCd1cEFycm93Jyk7IC8v
ICAgICAgICAgIC0+IDAwMDIgW00xMV0KLXNob3VsZEJlRXF1YWxUb1N0cmluZygnaW5wdXQudmFs
dWUnLCAnMDAwMi0xMScpOwotaW5wdXQucmVtb3ZlQXR0cmlidXRlKCJsYW5nIik7Ci08L3Njcmlw
dD4KLTxzY3JpcHQgc3JjPSIuLi8uLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3Nj
cmlwdD4KLTwvYm9keT4KLTwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZm9y
bXMvbW9udGgtbXVsdGlwbGUtZmllbGRzL21vbnRoLW11bHRpcGxlLWZpZWxkcy1tb3VzZS1ldmVu
dHMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9tb250aC1tdWx0aXBsZS1m
aWVsZHMvbW9udGgtbXVsdGlwbGUtZmllbGRzLW1vdXNlLWV2ZW50cy1leHBlY3RlZC50eHQKZGVs
ZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGFhMWRiMTE1ODVjZGFhZjFlMjE2OTEwYTg2MmVk
YjI4NTAxMjg1YWUuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0t
IGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9tb250aC1tdWx0aXBsZS1maWVsZHMvbW9udGgtbXVs
dGlwbGUtZmllbGRzLW1vdXNlLWV2ZW50cy1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAt
MSwzOCArMCwwIEBACi1NdWx0aXBsZSBmaWVsZHMgVUkgb2YgbW9udGggaW5wdXQgdHlwZSB3aXRo
IG1vdXNlIGV2ZW50cwotCi1PbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBB
U1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCi0KLQotUGxlYXNlIHJ1
biB0aGlzIHdpdGggRFJUIG9yIFdUUi4KLQotVGVzdCBmb2xsb3dpbmcgbW91c2UgYWN0aW9uczoK
LU1vdXNlIGNsaWNrIHRvIGZvY3VzIGVhY2ggb2Ygc3ViLWZpZWxkcwotTW91c2UgY2xpY2sgb24g
dGhlIHNwaW4gYnV0dG9uIHRvIHVwZGF0ZSBlYWNoIG9mIHN1Yi1maWVsZHMKLQotPT0+IEZvY3Vz
IG9uIHRoZSBtb250aCBmaWVsZC4KLVBBU1MgaW5wdXQudmFsdWUgaXMgIjIzNDUtMDgiCi1QQVNT
IGlucHV0LnZhbHVlIGlzICIyMzQ1LTA5IgotUEFTUyBpbnB1dC52YWx1ZSBpcyAiMjM0NS0wOCIK
LVBBU1Mgd2luZG93LmdldFNlbGVjdGlvbigpLnJhbmdlQ291bnQgaXMgMAotCi09PT4gRm9jdXMg
b24gdGhlIHllYXIgZmllbGQuCi1QQVNTIGlucHV0LnZhbHVlIGlzICIyMzQ2LTA4IgotUEFTUyBp
bnB1dC52YWx1ZSBpcyAiMjM0Ny0wOCIKLVBBU1MgaW5wdXQudmFsdWUgaXMgIjIzNDYtMDgiCi1Q
QVNTIHdpbmRvdy5nZXRTZWxlY3Rpb24oKS5yYW5nZUNvdW50IGlzIDAKLQotPT0+IENsaWNrIG9u
IGEgZGlzYWJsZWQgZmllbGQuCi1QQVNTIGlucHV0LnZhbHVlIGlzICIyMzQ2LTA4IgotCi09PT4g
Q2xpY2sgb24gYSByZWFkLW9ubHkgZmllbGQuCi1QQVNTIGlucHV0LnZhbHVlIGlzICIyMzQ2LTA4
IgotCi09PT4gQ2xpY2sgb24gY2xlYXIgYnV0dG9uLgotUEFTUyBpbnB1dC52YWx1ZSBpcyAiMjM0
Ni0wOCIKLVBBU1MgaW5wdXQudmFsdWUgaXMgIjIzNDYtMDgiCi1QQVNTIGlucHV0LnZhbHVlIGlz
ICIiCi0KLVBBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKLQotVEVTVCBDT01QTEVURQot
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL21vbnRoLW11bHRpcGxlLWZpZWxk
cy9tb250aC1tdWx0aXBsZS1maWVsZHMtbW91c2UtZXZlbnRzLmh0bWwgYi9MYXlvdXRUZXN0cy9m
YXN0L2Zvcm1zL21vbnRoLW11bHRpcGxlLWZpZWxkcy9tb250aC1tdWx0aXBsZS1maWVsZHMtbW91
c2UtZXZlbnRzLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDUwZTMwNjljOGU0
ZWIwNTM4MTQ3NDM5OTRkMTdiYWYzYzk3MGFiZGMuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9tb250aC1tdWx0aXBs
ZS1maWVsZHMvbW9udGgtbXVsdGlwbGUtZmllbGRzLW1vdXNlLWV2ZW50cy5odG1sCisrKyAvZGV2
L251bGwKQEAgLTEsOTcgKzAsMCBAQAotPCFET0NUWVBFIGh0bWw+Ci08aHRtbD4KLTxoZWFkPgot
PHNjcmlwdCBzcmM9Ii4uLy4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+
Ci08L2hlYWQ+Ci08Ym9keT4KLTxwIGlkPSJkZXNjcmlwdGlvbiI+PC9wPgotPHA+Ci1QbGVhc2Ug
cnVuIHRoaXMgd2l0aCBEUlQgb3IgV1RSLgotPC9wPgotVGVzdCBmb2xsb3dpbmcgbW91c2UgYWN0
aW9uczoKLTx1bD4KLSAgICA8bGk+TW91c2UgY2xpY2sgdG8gZm9jdXMgZWFjaCBvZiBzdWItZmll
bGRzPC9saT4KLSAgICA8bGk+TW91c2UgY2xpY2sgb24gdGhlIHNwaW4gYnV0dG9uIHRvIHVwZGF0
ZSBlYWNoIG9mIHN1Yi1maWVsZHM8L2xpPgotPC91bD4KLTxpbnB1dCBpZD0iaW5wdXQiIHR5cGU9
Im1vbnRoIiBzdHlsZT0iZm9udC1mYW1pbHk6YWhlbTsgZm9udC1zaXplOjE2cHg7Ij4KLTxkaXYg
aWQ9ImNvbnNvbGUiPjwvZGl2PgotPHNjcmlwdD4KLWRlc2NyaXB0aW9uKCdNdWx0aXBsZSBmaWVs
ZHMgVUkgb2YgbW9udGggaW5wdXQgdHlwZSB3aXRoIG1vdXNlIGV2ZW50cycpOwotdmFyIGlucHV0
ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2lucHV0Jyk7Ci0KLWZ1bmN0aW9uIGtleURvd24o
a2V5LCBtb2RpZmllcnMpCi17Ci0gICAgaWYgKCF3aW5kb3cuZXZlbnRTZW5kZXIpCi0gICAgICAg
IHJldHVybjsKLSAgICBldmVudFNlbmRlci5rZXlEb3duKGtleSwgbW9kaWZpZXJzKTsKLX0KLQot
ZnVuY3Rpb24gbW91c2VDbGlja09uKHgsIHkpCi17Ci0gICAgaWYgKCF3aW5kb3cuZXZlbnRTZW5k
ZXIpCi0gICAgICAgIHJldHVybjsKLSAgICBldmVudFNlbmRlci5tb3VzZU1vdmVUbyh4ICsgaW5w
dXQub2Zmc2V0TGVmdCwgeSArIGlucHV0Lm9mZnNldFRvcCk7Ci0gICAgZXZlbnRTZW5kZXIubW91
c2VEb3duKCk7Ci0gICAgZXZlbnRTZW5kZXIubW91c2VVcCgpOwotfQotCi1pbnB1dC52YWx1ZSA9
ICcyMzQ1LTA3JzsKLXZhciBjZW50ZXIgPSBpbnB1dC5vZmZzZXRIZWlnaHQgLyAyOwotdmFyIHNw
aW5CdXR0b25PZmZzZXQgPSAyNjsKLXZhciBjbGVhckJ1dHRvbk9mZnNldCA9IDQxOwotCi1kZWJ1
ZygnPT0+IEZvY3VzIG9uIHRoZSBtb250aCBmaWVsZC4nKTsKLW1vdXNlQ2xpY2tPbigxNiwgY2Vu
dGVyKTsKLWtleURvd24oJ3VwQXJyb3cnKTsKLXNob3VsZEJlRXF1YWxUb1N0cmluZygnaW5wdXQu
dmFsdWUnLCAnMjM0NS0wOCcpOwotbW91c2VDbGlja09uKGlucHV0Lm9mZnNldFdpZHRoIC0gc3Bp
bkJ1dHRvbk9mZnNldCwgY2VudGVyIC0gMSk7Ci1zaG91bGRCZUVxdWFsVG9TdHJpbmcoJ2lucHV0
LnZhbHVlJywgJzIzNDUtMDknKTsKLW1vdXNlQ2xpY2tPbihpbnB1dC5vZmZzZXRXaWR0aCAtIHNw
aW5CdXR0b25PZmZzZXQsIGNlbnRlciArIDEpOwotc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdpbnB1
dC52YWx1ZScsICcyMzQ1LTA4Jyk7Ci1zaG91bGRCZVplcm8oJ3dpbmRvdy5nZXRTZWxlY3Rpb24o
KS5yYW5nZUNvdW50Jyk7IC8vIE5vIHRleHQgc2VsZWN0aW9uLgotCi1kZWJ1ZygnJyk7Ci1kZWJ1
ZygnPT0+IEZvY3VzIG9uIHRoZSB5ZWFyIGZpZWxkLicpOwotbW91c2VDbGlja09uKDE3MCwgY2Vu
dGVyKTsKLWtleURvd24oJ3VwQXJyb3cnKTsKLXNob3VsZEJlRXF1YWxUb1N0cmluZygnaW5wdXQu
dmFsdWUnLCAnMjM0Ni0wOCcpOwotbW91c2VDbGlja09uKGlucHV0Lm9mZnNldFdpZHRoIC0gc3Bp
bkJ1dHRvbk9mZnNldCwgY2VudGVyIC0gMSk7Ci1zaG91bGRCZUVxdWFsVG9TdHJpbmcoJ2lucHV0
LnZhbHVlJywgJzIzNDctMDgnKTsKLW1vdXNlQ2xpY2tPbihpbnB1dC5vZmZzZXRXaWR0aCAtIHNw
aW5CdXR0b25PZmZzZXQsIGNlbnRlciArIDEpOwotc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdpbnB1
dC52YWx1ZScsICcyMzQ2LTA4Jyk7Ci1zaG91bGRCZVplcm8oJ3dpbmRvdy5nZXRTZWxlY3Rpb24o
KS5yYW5nZUNvdW50Jyk7IC8vIE5vIHRleHQgc2VsZWN0aW9uLgotCi1kZWJ1ZygnJyk7Ci1kZWJ1
ZygnPT0+IENsaWNrIG9uIGEgZGlzYWJsZWQgZmllbGQuJyk7Ci1pbnB1dC5kaXNhYmxlZCA9IHRy
dWU7Ci1tb3VzZUNsaWNrT24oMTAwLCBjZW50ZXIpOwota2V5RG93bigndXBBcnJvdycpOwotc2hv
dWxkQmVFcXVhbFRvU3RyaW5nKCdpbnB1dC52YWx1ZScsICcyMzQ2LTA4Jyk7Ci1pbnB1dC5kaXNh
YmxlZCA9IGZhbHNlOwotCi1kZWJ1ZygnJyk7Ci1kZWJ1ZygnPT0+IENsaWNrIG9uIGEgcmVhZC1v
bmx5IGZpZWxkLicpOwotaW5wdXQucmVhZE9ubHkgPSB0cnVlOwotbW91c2VDbGlja09uKDEyLCBj
ZW50ZXIpOwota2V5RG93bigndXBBcnJvdycpOwotc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdpbnB1
dC52YWx1ZScsICcyMzQ2LTA4Jyk7Ci1pbnB1dC5yZWFkT25seSA9IGZhbHNlOwotCi1kZWJ1Zygn
Jyk7Ci1kZWJ1ZygnPT0+IENsaWNrIG9uIGNsZWFyIGJ1dHRvbi4nKTsKLWlucHV0LnJlYWRPbmx5
ID0gdHJ1ZTsKLW1vdXNlQ2xpY2tPbihpbnB1dC5vZmZzZXRXaWR0aCAtIGNsZWFyQnV0dG9uT2Zm
c2V0LCBjZW50ZXIpOwotc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdpbnB1dC52YWx1ZScsICcyMzQ2
LTA4Jyk7IC8vIE5vdCBjaGFuZ2VkLgotaW5wdXQuZGlzYWJsZWQgPSB0cnVlOwotaW5wdXQucmVh
ZE9ubHkgPSBmYWxzZTsKLW1vdXNlQ2xpY2tPbihpbnB1dC5vZmZzZXRXaWR0aCAtIGNsZWFyQnV0
dG9uT2Zmc2V0LCBjZW50ZXIpOwotc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdpbnB1dC52YWx1ZScs
ICcyMzQ2LTA4Jyk7IC8vIE5vdCBjaGFuZ2VkLgotaW5wdXQuZGlzYWJsZWQgPSBmYWxzZTsKLW1v
dXNlQ2xpY2tPbihpbnB1dC5vZmZzZXRXaWR0aCAtIGNsZWFyQnV0dG9uT2Zmc2V0LCBjZW50ZXIp
Owotc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdpbnB1dC52YWx1ZScsICcnKTsKLQotZGVidWcoJycp
OwotPC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcG9z
dC5qcyI+PC9zY3JpcHQ+Ci08L2JvZHk+Ci08L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9mYXN0L2Zvcm1zL21vbnRoLW11bHRpcGxlLWZpZWxkcy9tb250aC1tdWx0aXBsZS1maWVsZHMt
cHJlc2VydmUtdmFsdWUtYWZ0ZXItaGlzdG9yeS1iYWNrLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2Zhc3QvZm9ybXMvbW9udGgtbXVsdGlwbGUtZmllbGRzL21vbnRoLW11bHRpcGxlLWZpZWxk
cy1wcmVzZXJ2ZS12YWx1ZS1hZnRlci1oaXN0b3J5LWJhY2stZXhwZWN0ZWQudHh0CmRlbGV0ZWQg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCBkZjgxODRlODMxNzA0NWY4YjhjNTJlNTA3YjkwZjY0MTNm
MmYzMTNiLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xh
eW91dFRlc3RzL2Zhc3QvZm9ybXMvbW9udGgtbXVsdGlwbGUtZmllbGRzL21vbnRoLW11bHRpcGxl
LWZpZWxkcy1wcmVzZXJ2ZS12YWx1ZS1hZnRlci1oaXN0b3J5LWJhY2stZXhwZWN0ZWQudHh0Cisr
KyAvZGV2L251bGwKQEAgLTEsMTggKzAsMCBAQAotQ2hlY2tzIGlucHV0IHZhbHVlIGlzIHByZXNl
cnZlZCBhZnRlciBiYWNrd2FyZCBhbmQgZm9yd2FyZAotCi1PbiBzdWNjZXNzLCB5b3Ugd2lsbCBz
ZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVU
RSIuCi0KLQotV2VudCBiYWNrIHRvIGEgcGFnZS4gQ2hlY2tpbmcgYSBmb3JtIGNvbnRyb2wgd2hp
Y2ggaGFkIGEgZnVsbCB2YWx1ZToKLVBBU1MgIjEyMDEyLTEwIiBpcyAiMTIwMTItMTAiCi1XZW50
IGJhY2sgdG8gYSBwYWdlLiBDaGVja2luZyBhIGZvcm0gY29udHJvbCB3aGljaCBoYWQgYSBwYXJ0
aWFsIHZhbHVlOgotUEFTUyAiSmFudWFyeSAtLS0tIiBpcyAiSmFudWFyeSAtLS0tIgotV2VudCBm
b3J3YXJkIHRvIGEgcGFnZS4gQ2hlY2tpbmcgYSBmb3JtIGNvbnRyb2wgd2hpY2ggaGFkIGEgZnVs
bCB2YWx1ZToKLVBBU1MgIjAwMDEtMTEiIGlzICIwMDAxLTExIgotV2VudCBmb3J3YXJkIHRvIGEg
cGFnZS4gQ2hlY2tpbmcgYSBmb3JtIGNvbnRyb2wgd2hpY2ggaGFkIGEgcGFydGlhbCB2YWx1ZToK
LVBBU1MgIi0tLS0tLS0tLSAxOTk5IiBpcyAiLS0tLS0tLS0tIDE5OTkiCi0KLVBBU1Mgc3VjY2Vz
c2Z1bGx5UGFyc2VkIGlzIHRydWUKLQotVEVTVCBDT01QTEVURQotCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9mYXN0L2Zvcm1zL21vbnRoLW11bHRpcGxlLWZpZWxkcy9tb250aC1tdWx0aXBsZS1m
aWVsZHMtcHJlc2VydmUtdmFsdWUtYWZ0ZXItaGlzdG9yeS1iYWNrLmh0bWwgYi9MYXlvdXRUZXN0
cy9mYXN0L2Zvcm1zL21vbnRoLW11bHRpcGxlLWZpZWxkcy9tb250aC1tdWx0aXBsZS1maWVsZHMt
cHJlc2VydmUtdmFsdWUtYWZ0ZXItaGlzdG9yeS1iYWNrLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDVmZGE2ZDk3N2Q5ZTBiNmY0NTQwYzdjMmE4NDdiODZhZWNiMzkxMmQuLjAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMv
ZmFzdC9mb3Jtcy9tb250aC1tdWx0aXBsZS1maWVsZHMvbW9udGgtbXVsdGlwbGUtZmllbGRzLXBy
ZXNlcnZlLXZhbHVlLWFmdGVyLWhpc3RvcnktYmFjay5odG1sCisrKyAvZGV2L251bGwKQEAgLTEs
NDIgKzAsMCBAQAotPCFET0NUWVBFIGh0bWw+Ci08aHRtbD4KLTxoZWFkPgotPHNjcmlwdCBzcmM9
Ii4uLy4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KLTwv
aGVhZD4KLTxib2R5PgotPGlmcmFtZSBpZD0iaWZyYW1lIj48L2lmcmFtZT4KLTxzY3JpcHQ+Ci1k
ZXNjcmlwdGlvbignQ2hlY2tzIGlucHV0IHZhbHVlIGlzIHByZXNlcnZlZCBhZnRlciBiYWNrd2Fy
ZCBhbmQgZm9yd2FyZCcpOwotaWYgKCF3aW5kb3cuZXZlbnRTZW5kZXIgfHwgIXdpbmRvdy5pbnRl
cm5hbHMpCi0gICAgZGVidWcoJ1BsZWFzZSBydW4gd2l0aGluIERSVC9XVFInKTsKLXdpbmRvdy5q
c1Rlc3RJc0FzeW5jID0gdHJ1ZTsKLQotdmFyIHN0YXRlID0gJ2RpcmVjdCc7Ci12YXIgdGVzdENh
c2VzID0gW107Ci0KLWZ1bmN0aW9uIGZhaWxlZChtZXNzYWdlKSB7Ci0gICAgdGVzdEZhaWxlZCht
ZXNzYWdlICsgJyBpbiAnICsgc3RhdGUpOwotICAgIGZpbmlzaEpTVGVzdCgpOwotfQotCi1mdW5j
dGlvbiBmaW5pc2hUZXN0KCkgewotICAgIHJ1blRlc3RDYXNlcygpOwotICAgIGZpbmlzaEpTVGVz
dCgpOwotfQotCi1mdW5jdGlvbiBydW5UZXN0Q2FzZXMoKSB7Ci0gICAgZm9yICh2YXIgaW5kZXgg
PSAwOyBpbmRleCA8IHRlc3RDYXNlcy5sZW5ndGg7ICsraW5kZXgpIHsKLSAgICAgICAgdmFyIHRl
c3RDYXNlID0gdGVzdENhc2VzW2luZGV4XTsKLSAgICAgICAgZGVidWcodGVzdENhc2VbJ2Rlc2Ny
aXB0aW9uJ10gKyAnOicpOwotICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoJyInICsgdGVz
dENhc2VbJ2FjdHVhbCddICsgJyInLCB0ZXN0Q2FzZVsnZXhwZWN0ZWQnXSk7Ci0gICAgfQotICAg
IGRlYnVnKCcnKTsKLX0KLQotd2luZG93Lm9ubG9hZCA9IGZ1bmN0aW9uKCkgewotICAgIGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCdpZnJhbWUnKS5zcmMgPSAncmVzb3VyY2VzL3ByZXNlcnZlLXZh
bHVlLWFmdGVyLWhpc3RvcnktYmFjay1mcmFtZS5odG1sP3BhZ2UxJzsKLX07Ci08L3NjcmlwdD4K
LTxzY3JpcHQgc3JjPSIuLi8uLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMi
Pjwvc2NyaXB0PgotPC9ib2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFz
dC9mb3Jtcy9tb250aC1tdWx0aXBsZS1maWVsZHMvbW9udGgtbXVsdGlwbGUtZmllbGRzLXJlYWRv
bmx5LXN1YmZpZWxkLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvbW9udGgt
bXVsdGlwbGUtZmllbGRzL21vbnRoLW11bHRpcGxlLWZpZWxkcy1yZWFkb25seS1zdWJmaWVsZC1l
eHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDgxMjU4MDI3NDc0OTA5
ZTU3NTAwYTQwNDk2MzE5NDZjYzNjZGNiYjMuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9tb250aC1tdWx0aXBsZS1m
aWVsZHMvbW9udGgtbXVsdGlwbGUtZmllbGRzLXJlYWRvbmx5LXN1YmZpZWxkLWV4cGVjdGVkLnR4
dAorKysgL2Rldi9udWxsCkBAIC0xLDMxICswLDAgQEAKLVN1Yi1maWVsZHMgaW4gaW5wdXRbdHlw
ZT1tb250aF0gc2hvdWxkIGJlIHJlYWQtb25seSBpbiBzb21lIGNhc2VzLiBUaGlzIHJlcXVpcmVz
IHdpbmRvdy5pbnRlcm5hbHMuCi0KLU9uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBv
ZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KLQotCi1jcmVh
dGVNb250aElucHV0IGFyZ3VtZW50IG9yZGVyOiBtaW4sIG1heCwgdmFsdWUKLQotWWVhciBmaWVs
ZDoKLVBBU1MgaXNSZWFkT25seUZpZWxkKGNyZWF0ZU1vbnRoSW5wdXQoIiIsICIiLCAiIiksIHBz
ZXVkb1llYXIpIGlzIGZhbHNlCi1QQVNTIGlzUmVhZE9ubHlGaWVsZChjcmVhdGVNb250aElucHV0
KCIyMDEyLTEyIiwgIiIsICIiKSwgcHNldWRvWWVhcikgaXMgZmFsc2UKLVBBU1MgaXNSZWFkT25s
eUZpZWxkKGNyZWF0ZU1vbnRoSW5wdXQoIiIsICIyMDEyLTEyIiwgIiIpLCBwc2V1ZG9ZZWFyKSBp
cyBmYWxzZQotUEFTUyBpc1JlYWRPbmx5RmllbGQoY3JlYXRlTW9udGhJbnB1dCgiIiwgIiIsICIy
MDEyLTEyIiksIHBzZXVkb1llYXIpIGlzIGZhbHNlCi1QQVNTIGlzUmVhZE9ubHlGaWVsZChjcmVh
dGVNb250aElucHV0KCIyMDEyLTAxIiwgIjIwMTItMTIiLCAiIiksIHBzZXVkb1llYXIpIGlzIHRy
dWUKLVBBU1MgaXNSZWFkT25seUZpZWxkKGNyZWF0ZU1vbnRoSW5wdXQoIjIwMTItMDEiLCAiMjAx
My0xMiIsICIiKSwgcHNldWRvWWVhcikgaXMgZmFsc2UKLVBBU1MgaXNSZWFkT25seUZpZWxkKGNy
ZWF0ZU1vbnRoSW5wdXQoIjIwMTItMDEiLCAiMjAxMi0xMiIsICIyMDEyLTA1IiksIHBzZXVkb1ll
YXIpIGlzIHRydWUKLVBBU1MgaXNSZWFkT25seUZpZWxkKGNyZWF0ZU1vbnRoSW5wdXQoIjIwMTIt
MDEiLCAiMjAxMi0xMiIsICIyMDEzLTAxIiksIHBzZXVkb1llYXIpIGlzIGZhbHNlCi1Nb250aCBm
aWVsZDoKLVdlIHNob3VsZCBub3QgbWFrZSBhbGwgdGhlIGZpZWxkcyByZWFkb25seSBieSBtaW4v
bWF4LCBzbyBkYXkgZmllbGQgaXMgYWx3YXlzIGVkaXRhYmxlLgotUEFTUyBpc1JlYWRPbmx5Rmll
bGQoY3JlYXRlTW9udGhJbnB1dCgiIiwgIiIsICIiKSwgcHNldWRvTW9udGgpIGlzIGZhbHNlCi1Q
QVNTIGlzUmVhZE9ubHlGaWVsZChjcmVhdGVNb250aElucHV0KCIyMDEyLTEyIiwgIiIsICIiKSwg
cHNldWRvTW9udGgpIGlzIGZhbHNlCi1QQVNTIGlzUmVhZE9ubHlGaWVsZChjcmVhdGVNb250aElu
cHV0KCIiLCAiMjAxMi0xMiIsICIiKSwgcHNldWRvTW9udGgpIGlzIGZhbHNlCi1QQVNTIGlzUmVh
ZE9ubHlGaWVsZChjcmVhdGVNb250aElucHV0KCIiLCAiIiwgIjIwMTItMTIiKSwgcHNldWRvTW9u
dGgpIGlzIGZhbHNlCi1QQVNTIGlzUmVhZE9ubHlGaWVsZChjcmVhdGVNb250aElucHV0KCIyMDEy
LTEyIiwgIjIwMTItMTIiLCAiIiksIHBzZXVkb01vbnRoKSBpcyBmYWxzZQotUEFTUyBpc1JlYWRP
bmx5RmllbGQoY3JlYXRlTW9udGhJbnB1dCgiMjAxMi0xMSIsICIyMDEzLTEyIiwgIiIpLCBwc2V1
ZG9Nb250aCkgaXMgZmFsc2UKLVBBU1MgaXNSZWFkT25seUZpZWxkKGNyZWF0ZU1vbnRoSW5wdXQo
IjIwMTItMTIiLCAiMjAxMy0xMiIsICIiKSwgcHNldWRvTW9udGgpIGlzIGZhbHNlCi1QQVNTIGlz
UmVhZE9ubHlGaWVsZChjcmVhdGVNb250aElucHV0KCIyMDEyLTEyIiwgIjIwMTItMTIiLCAiMjAx
Mi0xMiIpLCBwc2V1ZG9Nb250aCkgaXMgZmFsc2UKLVBBU1MgaXNSZWFkT25seUZpZWxkKGNyZWF0
ZU1vbnRoSW5wdXQoIjIwMTItMTIiLCAiMjAxMi0xMiIsICIyMDEyLTExIiksIHBzZXVkb01vbnRo
KSBpcyBmYWxzZQotUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQotCi1URVNUIENPTVBM
RVRFCi0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvbW9udGgtbXVsdGlwbGUt
ZmllbGRzL21vbnRoLW11bHRpcGxlLWZpZWxkcy1yZWFkb25seS1zdWJmaWVsZC5odG1sIGIvTGF5
b3V0VGVzdHMvZmFzdC9mb3Jtcy9tb250aC1tdWx0aXBsZS1maWVsZHMvbW9udGgtbXVsdGlwbGUt
ZmllbGRzLXJlYWRvbmx5LXN1YmZpZWxkLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IGM5NGE4YzkwYjM3NGUwMDk1MjNkOWYxNjY4MmY5ZjE1YTE3N2ZiZDIuLjAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jt
cy9tb250aC1tdWx0aXBsZS1maWVsZHMvbW9udGgtbXVsdGlwbGUtZmllbGRzLXJlYWRvbmx5LXN1
YmZpZWxkLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSw1NyArMCwwIEBACi08IURPQ1RZUEUgaHRt
bD4KLTxib2R5PgotPHNjcmlwdCBzcmM9Ii4uLy4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5q
cyI+PC9zY3JpcHQ+Ci08c2NyaXB0PgotZnVuY3Rpb24gY3JlYXRlTW9udGhJbnB1dChtaW4sIG1h
eCwgdmFsdWUpIHsKLSAgICB2YXIgaW5wdXQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdpbnB1
dCcpOwotICAgIGlucHV0LnR5cGUgPSAnbW9udGgnOwotICAgIGlmIChtaW4pCi0gICAgICAgIGlu
cHV0Lm1pbiA9IG1pbjsKLSAgICBpZiAobWF4KQotICAgICAgICBpbnB1dC5tYXggPSBtYXg7Ci0g
ICAgaWYgKHZhbHVlKQotICAgICAgICBpbnB1dC52YWx1ZSA9IHZhbHVlOwotICAgIHJldHVybiBp
bnB1dDsKLX0KLQotLy8gRklYTUU6IFJlbmFtZSB0aGlzIGZ1bmN0aW9uIGFuZCB0aGUgdGVzdCBm
aWxlLgotZnVuY3Rpb24gaXNSZWFkT25seUZpZWxkKGlucHV0LCBwc2V1ZG8pIHsKLSAgICB2YXIg
bm9kZSA9IGludGVybmFscy55b3VuZ2VzdFNoYWRvd1Jvb3QoaW5wdXQpLnF1ZXJ5U2VsZWN0b3Io
JypbcHNldWRvPSInICsgcHNldWRvICsgJyJdJyk7Ci0gICAgaWYgKCFub2RlKQotICAgICAgICB0
ZXN0RmFpbGVkKCdSZXF1ZXN0ZWQgbm9kZSBpcyBtaXNzaW5nLicpOwotICAgIHJldHVybiBub2Rl
ICYmIG5vZGUuaGFzQXR0cmlidXRlKCdkaXNhYmxlZCcpOwotfQotCi12YXIgcHNldWRvTW9udGgg
PSAnLXdlYmtpdC1kYXRldGltZS1lZGl0LW1vbnRoLWZpZWxkJzsKLXZhciBwc2V1ZG9ZZWFyID0g
Jy13ZWJraXQtZGF0ZXRpbWUtZWRpdC15ZWFyLWZpZWxkJzsKLQotZGVzY3JpcHRpb24oJ1N1Yi1m
aWVsZHMgaW4gaW5wdXRbdHlwZT1tb250aF0gc2hvdWxkIGJlIHJlYWQtb25seSBpbiBzb21lIGNh
c2VzLiBUaGlzIHJlcXVpcmVzIHdpbmRvdy5pbnRlcm5hbHMuJyk7Ci1kZWJ1ZygnY3JlYXRlTW9u
dGhJbnB1dCBhcmd1bWVudCBvcmRlcjogbWluLCBtYXgsIHZhbHVlJyk7Ci1kZWJ1ZygnJyk7Ci0K
LWRlYnVnKCdZZWFyIGZpZWxkOicpOwotc2hvdWxkQmVGYWxzZSgnaXNSZWFkT25seUZpZWxkKGNy
ZWF0ZU1vbnRoSW5wdXQoIiIsICIiLCAiIiksIHBzZXVkb1llYXIpJyk7Ci1zaG91bGRCZUZhbHNl
KCdpc1JlYWRPbmx5RmllbGQoY3JlYXRlTW9udGhJbnB1dCgiMjAxMi0xMiIsICIiLCAiIiksIHBz
ZXVkb1llYXIpJyk7Ci1zaG91bGRCZUZhbHNlKCdpc1JlYWRPbmx5RmllbGQoY3JlYXRlTW9udGhJ
bnB1dCgiIiwgIjIwMTItMTIiLCAiIiksIHBzZXVkb1llYXIpJyk7Ci1zaG91bGRCZUZhbHNlKCdp
c1JlYWRPbmx5RmllbGQoY3JlYXRlTW9udGhJbnB1dCgiIiwgIiIsICIyMDEyLTEyIiksIHBzZXVk
b1llYXIpJyk7Ci1zaG91bGRCZVRydWUoJ2lzUmVhZE9ubHlGaWVsZChjcmVhdGVNb250aElucHV0
KCIyMDEyLTAxIiwgIjIwMTItMTIiLCAiIiksIHBzZXVkb1llYXIpJyk7Ci1zaG91bGRCZUZhbHNl
KCdpc1JlYWRPbmx5RmllbGQoY3JlYXRlTW9udGhJbnB1dCgiMjAxMi0wMSIsICIyMDEzLTEyIiwg
IiIpLCBwc2V1ZG9ZZWFyKScpOwotc2hvdWxkQmVUcnVlKCdpc1JlYWRPbmx5RmllbGQoY3JlYXRl
TW9udGhJbnB1dCgiMjAxMi0wMSIsICIyMDEyLTEyIiwgIjIwMTItMDUiKSwgcHNldWRvWWVhcikn
KTsKLXNob3VsZEJlRmFsc2UoJ2lzUmVhZE9ubHlGaWVsZChjcmVhdGVNb250aElucHV0KCIyMDEy
LTAxIiwgIjIwMTItMTIiLCAiMjAxMy0wMSIpLCBwc2V1ZG9ZZWFyKScpOwotCi1kZWJ1ZygnTW9u
dGggZmllbGQ6Jyk7Ci1kZWJ1ZygnV2Ugc2hvdWxkIG5vdCBtYWtlIGFsbCB0aGUgZmllbGRzIHJl
YWRvbmx5IGJ5IG1pbi9tYXgsIHNvIGRheSBmaWVsZCBpcyBhbHdheXMgZWRpdGFibGUuJyk7Ci1z
aG91bGRCZUZhbHNlKCdpc1JlYWRPbmx5RmllbGQoY3JlYXRlTW9udGhJbnB1dCgiIiwgIiIsICIi
KSwgcHNldWRvTW9udGgpJyk7Ci1zaG91bGRCZUZhbHNlKCdpc1JlYWRPbmx5RmllbGQoY3JlYXRl
TW9udGhJbnB1dCgiMjAxMi0xMiIsICIiLCAiIiksIHBzZXVkb01vbnRoKScpOwotc2hvdWxkQmVG
YWxzZSgnaXNSZWFkT25seUZpZWxkKGNyZWF0ZU1vbnRoSW5wdXQoIiIsICIyMDEyLTEyIiwgIiIp
LCBwc2V1ZG9Nb250aCknKTsKLXNob3VsZEJlRmFsc2UoJ2lzUmVhZE9ubHlGaWVsZChjcmVhdGVN
b250aElucHV0KCIiLCAiIiwgIjIwMTItMTIiKSwgcHNldWRvTW9udGgpJyk7Ci1zaG91bGRCZUZh
bHNlKCdpc1JlYWRPbmx5RmllbGQoY3JlYXRlTW9udGhJbnB1dCgiMjAxMi0xMiIsICIyMDEyLTEy
IiwgIiIpLCBwc2V1ZG9Nb250aCknKTsKLXNob3VsZEJlRmFsc2UoJ2lzUmVhZE9ubHlGaWVsZChj
cmVhdGVNb250aElucHV0KCIyMDEyLTExIiwgIjIwMTMtMTIiLCAiIiksIHBzZXVkb01vbnRoKScp
Owotc2hvdWxkQmVGYWxzZSgnaXNSZWFkT25seUZpZWxkKGNyZWF0ZU1vbnRoSW5wdXQoIjIwMTIt
MTIiLCAiMjAxMy0xMiIsICIiKSwgcHNldWRvTW9udGgpJyk7Ci1zaG91bGRCZUZhbHNlKCdpc1Jl
YWRPbmx5RmllbGQoY3JlYXRlTW9udGhJbnB1dCgiMjAxMi0xMiIsICIyMDEyLTEyIiwgIjIwMTIt
MTIiKSwgcHNldWRvTW9udGgpJyk7Ci1zaG91bGRCZUZhbHNlKCdpc1JlYWRPbmx5RmllbGQoY3Jl
YXRlTW9udGhJbnB1dCgiMjAxMi0xMiIsICIyMDEyLTEyIiwgIjIwMTItMTEiKSwgcHNldWRvTW9u
dGgpJyk7Ci0KLTwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii4uLy4uL2pzL3Jlc291cmNlcy9qcy10
ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgotPC9ib2R5PgotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9mYXN0L2Zvcm1zL21vbnRoLW11bHRpcGxlLWZpZWxkcy9tb250aC1tdWx0aXBsZS1maWVsZHMt
cmVzZXQtdmFsdWUtYWZ0ZXItcmVsb2Fkcy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0
L2Zvcm1zL21vbnRoLW11bHRpcGxlLWZpZWxkcy9tb250aC1tdWx0aXBsZS1maWVsZHMtcmVzZXQt
dmFsdWUtYWZ0ZXItcmVsb2Fkcy1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IGI5NWJmMjEzNzQ3ZjJiZmJiM2QzNTc5NjA4NWJjMDgzNWZmZjJkZDQuLjAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9m
b3Jtcy9tb250aC1tdWx0aXBsZS1maWVsZHMvbW9udGgtbXVsdGlwbGUtZmllbGRzLXJlc2V0LXZh
bHVlLWFmdGVyLXJlbG9hZHMtZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEsMTUgKzAs
MCBAQAotQ2hlY2tzIHJlbG9hZGluZyBwYWdlIHJlc2V0cyBpbnB1dCB2YWx1ZXMKLQotT24gc3Vj
Y2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQg
YnkgIlRFU1QgQ09NUExFVEUiLgotCi0KLUluaXRpYWwgdmFsdWVzOgotUEFTUyB0ZXN0SW5wdXQx
LnZhbHVlIGlzICIiCi1QQVNTIHRlc3RJbnB1dDIudmFsdWUgaXMgIjEyMzQtMDUiCi1SZWxvYWRl
ZCB2YWx1ZXM6Ci1QQVNTIHRlc3RJbnB1dDEudmFsdWUgaXMgIiIKLVBBU1MgdGVzdElucHV0Mi52
YWx1ZSBpcyAiMTIzNC0wNSIKLVBBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKLQotVEVT
VCBDT01QTEVURQotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL21vbnRoLW11
bHRpcGxlLWZpZWxkcy9tb250aC1tdWx0aXBsZS1maWVsZHMtcmVzZXQtdmFsdWUtYWZ0ZXItcmVs
b2Fkcy5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9tb250aC1tdWx0aXBsZS1maWVsZHMv
bW9udGgtbXVsdGlwbGUtZmllbGRzLXJlc2V0LXZhbHVlLWFmdGVyLXJlbG9hZHMuaHRtbApkZWxl
dGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDQ4MWFlMmYyMzAwODIyZjllMjQxZGUwYWFhM2My
MjA5N2ZjNjk1MS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0g
YS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL21vbnRoLW11bHRpcGxlLWZpZWxkcy9tb250aC1tdWx0
aXBsZS1maWVsZHMtcmVzZXQtdmFsdWUtYWZ0ZXItcmVsb2Fkcy5odG1sCisrKyAvZGV2L251bGwK
QEAgLTEsNDIgKzAsMCBAQAotPCFET0NUWVBFIGh0bWw+Ci08aHRtbD4KLTxoZWFkPgotPHNjcmlw
dCBzcmM9Ii4uLy4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Njcmlw
dD4KLTwvaGVhZD4KLTxib2R5IG9ubG9hZD0icnVuQm9keUxvYWRlZCgpIj4KLTxpZnJhbWUgaWQ9
aWZyYW1lIHNyY2RvYz0iPGlucHV0IHR5cGU9bW9udGggaWQ9J3Rlc3QxJz48aW5wdXQgdHlwZT0n
bW9udGgnIGlkPSd0ZXN0MicgdmFsdWU9JzEyMzQtMDUnPiI+PC9pZnJhbWU+Ci08c2NyaXB0Pgot
ZGVzY3JpcHRpb24oJ0NoZWNrcyByZWxvYWRpbmcgcGFnZSByZXNldHMgaW5wdXQgdmFsdWVzJyk7
Ci13aW5kb3cuanNUZXN0SXNBc3luYyA9IHRydWU7Ci0KLXZhciBpZnJhbWUgPSBkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgnaWZyYW1lJyk7Ci12YXIgdGVzdElucHV0MTsKLXZhciB0ZXN0SW5wdXQy
OwotCi1mdW5jdGlvbiBydW5Cb2R5TG9hZGVkKCkKLXsKLSAgICB0ZXN0SW5wdXQxID0gaWZyYW1l
LmNvbnRlbnREb2N1bWVudC5nZXRFbGVtZW50QnlJZCgndGVzdDEnKTsKLSAgICB0ZXN0SW5wdXQy
ID0gaWZyYW1lLmNvbnRlbnREb2N1bWVudC5nZXRFbGVtZW50QnlJZCgndGVzdDInKTsKLSAgICBk
ZWJ1ZygnSW5pdGlhbCB2YWx1ZXM6Jyk7Ci0gICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCd0ZXN0
SW5wdXQxLnZhbHVlJywgJycpOwotICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygndGVzdElucHV0
Mi52YWx1ZScsICcxMjM0LTA1Jyk7Ci0gICAgdGVzdElucHV0MS52YWx1ZSA9ICcyMDEyLTEwJzsK
LSAgICB0ZXN0SW5wdXQyLnZhbHVlID0gJzIwMTItMTEnOwotICAgIGlmcmFtZS5hZGRFdmVudExp
c3RlbmVyKCdsb2FkJywgcGFyZW50LnJ1bk9uSUZyYW1lTG9hZCk7Ci0gICAgaWZyYW1lLmNvbnRl
bnRXaW5kb3cubG9jYXRpb24ucmVsb2FkKCk7Ci19Ci0KLWZ1bmN0aW9uIHJ1bk9uSUZyYW1lTG9h
ZCgpCi17Ci0gICAgdGVzdElucHV0MSA9IGlmcmFtZS5jb250ZW50RG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoJ3Rlc3QxJyk7Ci0gICAgdGVzdElucHV0MiA9IGlmcmFtZS5jb250ZW50RG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoJ3Rlc3QyJyk7Ci0gICAgZGVidWcoJ1JlbG9hZGVkIHZhbHVlczonKTsK
LSAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ3Rlc3RJbnB1dDEudmFsdWUnLCAnJyk7Ci0gICAg
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCd0ZXN0SW5wdXQyLnZhbHVlJywgJzEyMzQtMDUnKTsKLSAg
ICBpZnJhbWUucGFyZW50Tm9kZS5yZW1vdmVDaGlsZChpZnJhbWUpOwotICAgIGZpbmlzaEpTVGVz
dCgpOwotfQotPC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vLi4vZmFzdC9qcy9yZXNvdXJj
ZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KLTwvYm9keT4KLTwvaHRtbD4KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvbW9udGgtbXVsdGlwbGUtZmllbGRzL21vbnRoLW11
bHRpcGxlLWZpZWxkcy1zcGluYnV0dG9uLWNoYW5nZS1hbmQtaW5wdXQtZXZlbnRzLWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvbW9udGgtbXVsdGlwbGUtZmllbGRzL21vbnRo
LW11bHRpcGxlLWZpZWxkcy1zcGluYnV0dG9uLWNoYW5nZS1hbmQtaW5wdXQtZXZlbnRzLWV4cGVj
dGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZGY3ZmQ2ZjUwMmIzMWMyMmQ3
ZDM2NmIyMDMyNGVlMzc1ZGQzMjM3MS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL21vbnRoLW11bHRpcGxlLWZpZWxk
cy9tb250aC1tdWx0aXBsZS1maWVsZHMtc3BpbmJ1dHRvbi1jaGFuZ2UtYW5kLWlucHV0LWV2ZW50
cy1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSwxOSArMCwwIEBACi1UZXN0IGZvciBl
dmVudCBkaXNwYXRjaGluZyBieSBzcGluIGJ1dHRvbnMgaW4gYSB0eXBlPW1vbnRoIGlucHV0Lgot
Ci1PbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBm
b2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCi0KLQotSW5pdGlhbCBzdGF0ZQotUEFTUyBjaGFu
Z2VFdmVudENvdW50ZXIgaXMgMAotUEFTUyBpbnB1dEV2ZW50Q291bnRlciBpcyAwCi1DbGljayB0
aGUgdXBwZXIgYnV0dG9uCi1QQVNTIHRlc3RJbnB1dC52YWx1ZSBpcyAiMjAxMi0xMSIKLVBBU1Mg
Y2hhbmdlRXZlbnRDb3VudGVyIGlzIDEKLVBBU1MgaW5wdXRFdmVudENvdW50ZXIgaXMgMQotRm9j
dXMgb24gYW5vdGhlciBmaWVsZAotUEFTUyBjaGFuZ2VFdmVudENvdW50ZXIgaXMgMQotUEFTUyBp
bnB1dEV2ZW50Q291bnRlciBpcyAxCi1QQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCi0K
LVRFU1QgQ09NUExFVEUKLQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9tb250
aC1tdWx0aXBsZS1maWVsZHMvbW9udGgtbXVsdGlwbGUtZmllbGRzLXNwaW5idXR0b24tY2hhbmdl
LWFuZC1pbnB1dC1ldmVudHMuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvbW9udGgtbXVs
dGlwbGUtZmllbGRzL21vbnRoLW11bHRpcGxlLWZpZWxkcy1zcGluYnV0dG9uLWNoYW5nZS1hbmQt
aW5wdXQtZXZlbnRzLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDI0ZDI1ZGI2
MWIyYWIwODhkZTE0YTUyMDRhOGI1MWI5ODRkNzU2YTEuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9tb250aC1tdWx0
aXBsZS1maWVsZHMvbW9udGgtbXVsdGlwbGUtZmllbGRzLXNwaW5idXR0b24tY2hhbmdlLWFuZC1p
bnB1dC1ldmVudHMuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDE0ICswLDAgQEAKLTwhRE9DVFlQ
RSBodG1sPgotPGh0bWw+Ci08aGVhZD4KLTxzY3JpcHQgc3JjPSIuLi8uLi8uLi9mYXN0L2pzL3Jl
c291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iLi4vcmVzb3Vy
Y2VzL2NvbW1vbi5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL2NvbW1v
bi1zcGluYnV0dG9uLWNoYW5nZS1hbmQtaW5wdXQtZXZlbnRzLmpzIj48L3NjcmlwdD4KLTwvaGVh
ZD4KLTxib2R5PgotPHNjcmlwdD4KLXRlc3RTcGluQnV0dG9uQ2hhbmdlQW5kSW5wdXRFdmVudHMo
J21vbnRoJywgJzIwMTItMTAnLCAnMjAxMi0xMScpOwotPC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0i
Li4vLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KLTwv
Ym9keT4KLTwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvbW9udGgt
bXVsdGlwbGUtZmllbGRzL21vbnRoLW11bHRpcGxlLWZpZWxkcy1zdGVwdXAtc3RlcGRvd24tZnJv
bS1yZW5kZXJlci1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL21vbnRoLW11
bHRpcGxlLWZpZWxkcy9tb250aC1tdWx0aXBsZS1maWVsZHMtc3RlcHVwLXN0ZXBkb3duLWZyb20t
cmVuZGVyZXItZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAxZTMy
MDRkNDIyOGVmYTAwYTZjNjM0YWU4OWEwZWFkNzBiYjg2ZWM0Li4wMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvbW9udGgt
bXVsdGlwbGUtZmllbGRzL21vbnRoLW11bHRpcGxlLWZpZWxkcy1zdGVwdXAtc3RlcGRvd24tZnJv
bS1yZW5kZXJlci1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSwzNSArMCwwIEBACi1D
aGVjayBzdGVwcGluZy11cCBhbmQgLWRvd24gZm9yIG1vbnRoIGlucHV0IGZpZWxkcyBmcm9tIHJl
bmRlcmVyLgotCi1PbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1l
c3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCi0KLQotRnVuY3Rpb24gYXJndW1l
bnRzIGFyZSAodmFsdWUsIG1pbiwgbWF4LCBba2V5U2VxdWVuY2VdKS4KLU1vbnRoCi1QQVNTIHN0
ZXBVcCgiMjAwMC0wNSIsICIyMDAwLTA1IiwgIjIwMDAtMTAiKSBpcyAiMjAwMC0wNiIKLVBBU1Mg
c3RlcERvd24oIjIwMDAtMDUiLCAiMjAwMC0wNSIsICIyMDAwLTEwIikgaXMgIjIwMDAtMTAiCi1Q
QVNTIHN0ZXBVcCgiMjAwMC0wNSIsICIyMDAwLTAyIiwgIjIwMDAtMDUiKSBpcyAiMjAwMC0wMiIK
LVBBU1Mgc3RlcERvd24oIjIwMDAtMDUiLCAiMjAwMC0wMiIsICIyMDAwLTA1IikgaXMgIjIwMDAt
MDQiCi1QQVNTIHN0ZXBVcCgiMjAwMC0wNSIsICIyMDAwLTA4IiwgIjIwMDAtMTAiKSBpcyAiMjAw
MC0wOCIKLVBBU1Mgc3RlcERvd24oIjIwMDAtMDUiLCAiMjAwMC0wOCIsICIyMDAwLTEwIikgaXMg
IjIwMDAtMTAiCi1QQVNTIHN0ZXBVcCgiMjAwMC0wNSIsICIyMDAwLTAzIiwgIjIwMDAtMDMiKSBp
cyAiMjAwMC0wMyIKLVBBU1Mgc3RlcERvd24oIjIwMDAtMDUiLCAiMjAwMC0wMyIsICIyMDAwLTAz
IikgaXMgIjIwMDAtMDMiCi1QQVNTIHN0ZXBVcCgiMjAwMC0wNSIsICIyMDAwLTAzIiwgIjIwMDEt
MDUiKSBpcyAiMjAwMC0wNiIKLVBBU1Mgc3RlcERvd24oIjIwMDAtMDUiLCAiMjAwMC0wNSIsICIy
MDAxLTA4IikgaXMgIjIwMDAtMDQiCi1ZZWFyCi1QQVNTIHN0ZXBVcCgiMjAwMC0wMSIsICIyMDAw
LTAxIiwgIjIwMDktMTIiKSBpcyAiMjAwMS0wMSIKLVBBU1Mgc3RlcERvd24oIjIwMDAtMDEiLCAi
MjAwMC0wMSIsICIyMDA5LTEyIikgaXMgIjIwMDktMDEiCi1QQVNTIHN0ZXBVcCgiMjAwMC0wMSIs
ICIxOTkwLTAxIiwgIjIwMDAtMTIiKSBpcyAiMTk5MC0wMSIKLVBBU1Mgc3RlcERvd24oIjIwMDAt
MDEiLCAiMTk5MC0wMSIsICIyMDAwLTEyIikgaXMgIjE5OTktMDEiCi1QQVNTIHN0ZXBVcCgiMjc1
NzYwLTAxIiwgIjE5OTAtMDEiLCBudWxsKSBpcyAiMTk5MC0wMSIKLVBBU1Mgc3RlcERvd24oIjE5
OTAtMDEiLCAiMTk5MC0wMSIsIG51bGwpIGlzICIyNzU3NjAtMDEiCi1QQVNTIHN0ZXBVcCgiMjAw
MC0wMSIsIG51bGwsICIyMDAwLTEyIikgaXMgIjAwMDEtMDEiCi1QQVNTIHN0ZXBEb3duKCIwMDAx
LTAxIiwgbnVsbCwgIjIwMDAtMTIiKSBpcyAiMjAwMC0wMSIKLVBBU1Mgc3RlcFVwKCIxOTkwLTAx
IiwgIjIwMDAtMDEiLCAiMjAwOS0xMiIpIGlzICIyMDAwLTAxIgotUEFTUyBzdGVwRG93bigiMTk5
MC0wMSIsICIyMDAwLTAxIiwgIjIwMDktMTIiKSBpcyAiMjAwOS0wMSIKLVBBU1Mgc3RlcFVwKCIy
MDIwLTAxIiwgIjIwMDAtMDEiLCAiMjAwMC0xMiIpIGlzICIyMDAwLTAxIgotUEFTUyBzdGVwRG93
bigiMjAyMC0wMSIsICIyMDAwLTAxIiwgIjIwMDAtMTIiKSBpcyAiMjAwMC0wMSIKLQotUEFTUyBz
dWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQotCi1URVNUIENPTVBMRVRFCi0KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvbW9udGgtbXVsdGlwbGUtZmllbGRzL21vbnRoLW11bHRp
cGxlLWZpZWxkcy1zdGVwdXAtc3RlcGRvd24tZnJvbS1yZW5kZXJlci5odG1sIGIvTGF5b3V0VGVz
dHMvZmFzdC9mb3Jtcy9tb250aC1tdWx0aXBsZS1maWVsZHMvbW9udGgtbXVsdGlwbGUtZmllbGRz
LXN0ZXB1cC1zdGVwZG93bi1mcm9tLXJlbmRlcmVyLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDkxZWFiYTRlMjRiYWM0MmU2ZTU4YjlmZWM4YmQ2OTM3YmEzM2YyYjUuLjAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvZmFz
dC9mb3Jtcy9tb250aC1tdWx0aXBsZS1maWVsZHMvbW9udGgtbXVsdGlwbGUtZmllbGRzLXN0ZXB1
cC1zdGVwZG93bi1mcm9tLXJlbmRlcmVyLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSw2OSArMCww
IEBACi08IURPQ1RZUEUgaHRtbD4KLTxodG1sPgotPGhlYWQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4v
anMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIuLi9y
ZXNvdXJjZXMvY29tbW9uLmpzIj48L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5PgotPHNjcmlwdD4K
LWRlc2NyaXB0aW9uKCdDaGVjayBzdGVwcGluZy11cCBhbmQgLWRvd24gZm9yIG1vbnRoIGlucHV0
IGZpZWxkcyBmcm9tIHJlbmRlcmVyLicpOwotaWYgKCF3aW5kb3cuZXZlbnRTZW5kZXIpCi0gICAg
ZGVidWcoJ1RoaXMgdGVzdCByZXF1aXJlcyBldmVudFNlbmRlci4nKTsKLQotdmFyIGlucHV0ID0g
ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnaW5wdXQnKTsKLWlucHV0LnR5cGUgPSAnbW9udGgnOwot
ZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChpbnB1dCk7Ci0KLWZ1bmN0aW9uIHNldElucHV0QXR0
cmlidXRlcyh2YWx1ZSwgbWluLCBtYXgpIHsKLSAgICBpbnB1dC52YWx1ZSA9IHZhbHVlOwotICAg
IGlucHV0Lm1pbiA9IG1pbjsKLSAgICBpbnB1dC5tYXggPSBtYXg7Ci19Ci0KLWZ1bmN0aW9uIHN0
ZXBVcCh2YWx1ZSwgbWluLCBtYXgpIHsKLSAgICBzZXRJbnB1dEF0dHJpYnV0ZXModmFsdWUsIG1p
biwgbWF4KTsKLSAgICBldmVudFNlbmRlci5rZXlEb3duKCd1cEFycm93Jyk7Ci0gICAgcmV0dXJu
IGlucHV0LnZhbHVlOwotfQotCi1mdW5jdGlvbiBzdGVwRG93bih2YWx1ZSwgbWluLCBtYXgpIHsK
LSAgICBzZXRJbnB1dEF0dHJpYnV0ZXModmFsdWUsIG1pbiwgbWF4KTsKLSAgICBldmVudFNlbmRl
ci5rZXlEb3duKCdkb3duQXJyb3cnKTsKLSAgICByZXR1cm4gaW5wdXQudmFsdWU7Ci19Ci0KLWlu
cHV0LmZvY3VzKCk7Ci1kZWJ1ZygnRnVuY3Rpb24gYXJndW1lbnRzIGFyZSAodmFsdWUsIG1pbiwg
bWF4LCBba2V5U2VxdWVuY2VdKS4nKTsKLWRlYnVnKCdNb250aCcpOwotc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCdzdGVwVXAoIjIwMDAtMDUiLCAiMjAwMC0wNSIsICIyMDAwLTEwIiknLCAnMjAwMC0w
NicpOwotc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdzdGVwRG93bigiMjAwMC0wNSIsICIyMDAwLTA1
IiwgIjIwMDAtMTAiKScsICcyMDAwLTEwJyk7Ci1zaG91bGRCZUVxdWFsVG9TdHJpbmcoJ3N0ZXBV
cCgiMjAwMC0wNSIsICIyMDAwLTAyIiwgIjIwMDAtMDUiKScsICcyMDAwLTAyJyk7Ci1zaG91bGRC
ZUVxdWFsVG9TdHJpbmcoJ3N0ZXBEb3duKCIyMDAwLTA1IiwgIjIwMDAtMDIiLCAiMjAwMC0wNSIp
JywgJzIwMDAtMDQnKTsKLXNob3VsZEJlRXF1YWxUb1N0cmluZygnc3RlcFVwKCIyMDAwLTA1Iiwg
IjIwMDAtMDgiLCAiMjAwMC0xMCIpJywgJzIwMDAtMDgnKTsKLXNob3VsZEJlRXF1YWxUb1N0cmlu
Zygnc3RlcERvd24oIjIwMDAtMDUiLCAiMjAwMC0wOCIsICIyMDAwLTEwIiknLCAnMjAwMC0xMCcp
Owotc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdzdGVwVXAoIjIwMDAtMDUiLCAiMjAwMC0wMyIsICIy
MDAwLTAzIiknLCAnMjAwMC0wMycpOwotc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdzdGVwRG93bigi
MjAwMC0wNSIsICIyMDAwLTAzIiwgIjIwMDAtMDMiKScsICcyMDAwLTAzJyk7Ci1zaG91bGRCZUVx
dWFsVG9TdHJpbmcoJ3N0ZXBVcCgiMjAwMC0wNSIsICIyMDAwLTAzIiwgIjIwMDEtMDUiKScsICcy
MDAwLTA2Jyk7Ci1zaG91bGRCZUVxdWFsVG9TdHJpbmcoJ3N0ZXBEb3duKCIyMDAwLTA1IiwgIjIw
MDAtMDUiLCAiMjAwMS0wOCIpJywgJzIwMDAtMDQnKTsKLQotZGVidWcoJ1llYXInKTsKLWV2ZW50
U2VuZGVyLmtleURvd24oJ3JpZ2h0QXJyb3cnKTsKLXNob3VsZEJlRXF1YWxUb1N0cmluZygnc3Rl
cFVwKCIyMDAwLTAxIiwgIjIwMDAtMDEiLCAiMjAwOS0xMiIpJywgJzIwMDEtMDEnKTsKLXNob3Vs
ZEJlRXF1YWxUb1N0cmluZygnc3RlcERvd24oIjIwMDAtMDEiLCAiMjAwMC0wMSIsICIyMDA5LTEy
IiknLCAnMjAwOS0wMScpOwotc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdzdGVwVXAoIjIwMDAtMDEi
LCAiMTk5MC0wMSIsICIyMDAwLTEyIiknLCAnMTk5MC0wMScpOwotc2hvdWxkQmVFcXVhbFRvU3Ry
aW5nKCdzdGVwRG93bigiMjAwMC0wMSIsICIxOTkwLTAxIiwgIjIwMDAtMTIiKScsICcxOTk5LTAx
Jyk7Ci1zaG91bGRCZUVxdWFsVG9TdHJpbmcoJ3N0ZXBVcCgiMjc1NzYwLTAxIiwgIjE5OTAtMDEi
LCBudWxsKScsICcxOTkwLTAxJyk7Ci1zaG91bGRCZUVxdWFsVG9TdHJpbmcoJ3N0ZXBEb3duKCIx
OTkwLTAxIiwgIjE5OTAtMDEiLCBudWxsKScsICcyNzU3NjAtMDEnKTsKLXNob3VsZEJlRXF1YWxU
b1N0cmluZygnc3RlcFVwKCIyMDAwLTAxIiwgbnVsbCwgIjIwMDAtMTIiKScsICcwMDAxLTAxJyk7
Ci1zaG91bGRCZUVxdWFsVG9TdHJpbmcoJ3N0ZXBEb3duKCIwMDAxLTAxIiwgbnVsbCwgIjIwMDAt
MTIiKScsICcyMDAwLTAxJyk7Ci1zaG91bGRCZUVxdWFsVG9TdHJpbmcoJ3N0ZXBVcCgiMTk5MC0w
MSIsICIyMDAwLTAxIiwgIjIwMDktMTIiKScsICcyMDAwLTAxJyk7Ci1zaG91bGRCZUVxdWFsVG9T
dHJpbmcoJ3N0ZXBEb3duKCIxOTkwLTAxIiwgIjIwMDAtMDEiLCAiMjAwOS0xMiIpJywgJzIwMDkt
MDEnKTsKLXNob3VsZEJlRXF1YWxUb1N0cmluZygnc3RlcFVwKCIyMDIwLTAxIiwgIjIwMDAtMDEi
LCAiMjAwMC0xMiIpJywgJzIwMDAtMDEnKTsKLXNob3VsZEJlRXF1YWxUb1N0cmluZygnc3RlcERv
d24oIjIwMjAtMDEiLCAiMjAwMC0wMSIsICIyMDAwLTEyIiknLCAnMjAwMC0wMScpOwotCi1kZWJ1
ZygnJyk7Ci1pbnB1dC5yZW1vdmUoKTsKLTwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii4uLy4uL2pz
L3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgotPC9ib2R5PgotPC9odG1sPgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9tb250aC1tdWx0aXBsZS1maWVsZHMv
bW9udGgtbXVsdGlwbGUtZmllbGRzLXZhbGlkaXR5LWJhZGlucHV0LWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2Zhc3QvZm9ybXMvbW9udGgtbXVsdGlwbGUtZmllbGRzL21vbnRoLW11bHRpcGxl
LWZpZWxkcy12YWxpZGl0eS1iYWRpbnB1dC1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDA4MGI1Mzk1M2ZhNWE4YmQ5NTUxZmZhMDVmNTk5OGJkOWQwNjIyZTIuLjAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMv
ZmFzdC9mb3Jtcy9tb250aC1tdWx0aXBsZS1maWVsZHMvbW9udGgtbXVsdGlwbGUtZmllbGRzLXZh
bGlkaXR5LWJhZGlucHV0LWV4cGVjdGVkLnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDE1ICswLDAg
QEAKLUEgbW9udGggaW5wdXQgZmllbGRzIHdpdGggYSBiYWQgdXNlciBpbnB1dCBzaG91bGQgbWFr
ZSB2YWxpZGl0eS5iYWRJbnB1dCB0cnVlIGFuZCBoYXZlIDppbnZhbGlkIHN0eWxlLgotCi1PbiBz
dWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dl
ZCBieSAiVEVTVCBDT01QTEVURSIuCi0KLQotSW5pdGlhbCBzdGF0ZS4gVGhlIGVsbWVudCBoYXMg
bm8gdmFsdWUuCi1QQVNTIGNvbG9yT2YoaW5wdXQpIGlzIG5vdCBpbnZhbGlkU3R5bGVDb2xvcgot
UEFTUyBpbnB1dC52YWxpZGl0eS5iYWRJbnB1dCBpcyBmYWxzZQotU2V0IGEgdmFsdWUgdG8gdGhl
IGZpcnN0IHN1Yi1maWVsZC4gVGhlIGVsZW1lbnQgYmVjb21lcyBiYWRJbnB1dC4KLVBBU1MgY29s
b3JPZihpbnB1dCkgaXMgaW52YWxpZFN0eWxlQ29sb3IKLVBBU1MgaW5wdXQudmFsaWRpdHkuYmFk
SW5wdXQgaXMgdHJ1ZQotUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQotCi1URVNUIENP
TVBMRVRFCi0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvbW9udGgtbXVsdGlw
bGUtZmllbGRzL21vbnRoLW11bHRpcGxlLWZpZWxkcy12YWxpZGl0eS1iYWRpbnB1dC5odG1sIGIv
TGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9tb250aC1tdWx0aXBsZS1maWVsZHMvbW9udGgtbXVsdGlw
bGUtZmllbGRzLXZhbGlkaXR5LWJhZGlucHV0Lmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDM1NmVlYTUyODE5NzIxOTUzYWM2MDg1ZDJkOWVlYTEzZDYyODFiMDYuLjAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9m
b3Jtcy9tb250aC1tdWx0aXBsZS1maWVsZHMvbW9udGgtbXVsdGlwbGUtZmllbGRzLXZhbGlkaXR5
LWJhZGlucHV0Lmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSwxNCArMCwwIEBACi08IURPQ1RZUEUg
aHRtbD4KLTxzdHlsZT4KLTppbnZhbGlkIHsKLSAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmYwMDAw
OwotfQotPC9zdHlsZT4KLTxib2R5PgotPHNjcmlwdCBzcmM9Ii4uLy4uL2pzL3Jlc291cmNlcy9q
cy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL211bHRp
cGxlLWZpZWxkcy12YWxpZGl0eS1iYWRpbnB1dC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0PgotdGVz
dEJhZElucHV0KCdtb250aCcpOwotPC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vanMvcmVz
b3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Ci08L2JvZHk+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9mYXN0L2Zvcm1zL21vbnRoLW11bHRpcGxlLWZpZWxkcy9tb250aC1tdWx0aXBs
ZS1maWVsZHMtdmFsdWUtc2V0LWVtcHR5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3Qv
Zm9ybXMvbW9udGgtbXVsdGlwbGUtZmllbGRzL21vbnRoLW11bHRpcGxlLWZpZWxkcy12YWx1ZS1z
ZXQtZW1wdHktZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBiMDc1
OGNiMjc1MjU5OGYzYzhiNzY0MWI5YjVkODdmZmIwMDllMGUzLi4wMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvbW9udGgt
bXVsdGlwbGUtZmllbGRzL21vbnRoLW11bHRpcGxlLWZpZWxkcy12YWx1ZS1zZXQtZW1wdHktZXhw
ZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEsMTIgKzAsMCBAQAotQ2hlY2sgaWYgaW5wdXQu
dmFsdWU9IiIgY2xlYXJzIGFuIGlucHV0IHdpdGggcGFydGlhbGx5LXNwZWNpZmllZCB2YWx1ZS4K
LQotT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywg
Zm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgotCi0KLUVtcHR5IHRleHQ6IC0tLS0tLS0tLSAt
LS0tCi1QQVNTIGV2ZW50U2VuZGVyLmtleURvd24oInVwQXJyb3ciKTsgZ2V0VXNlckFnZW50U2hh
ZG93VGV4dENvbnRlbnQoaW5wdXQpIGlzIG5vdCBlbXB0eVRleHQKLVBBU1MgaW5wdXQudmFsdWUg
PSAiIjsgZ2V0VXNlckFnZW50U2hhZG93VGV4dENvbnRlbnQoaW5wdXQpIGlzIGVtcHR5VGV4dAot
UEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQotCi1URVNUIENPTVBMRVRFCi0KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvbW9udGgtbXVsdGlwbGUtZmllbGRzL21vbnRo
LW11bHRpcGxlLWZpZWxkcy12YWx1ZS1zZXQtZW1wdHkuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3Qv
Zm9ybXMvbW9udGgtbXVsdGlwbGUtZmllbGRzL21vbnRoLW11bHRpcGxlLWZpZWxkcy12YWx1ZS1z
ZXQtZW1wdHkuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNzIzZGZjMTQxZTYw
MzcyM2E1ZmI4ZThjMzFkYWM4NTcwMzM0YTJhZi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL21vbnRoLW11bHRpcGxl
LWZpZWxkcy9tb250aC1tdWx0aXBsZS1maWVsZHMtdmFsdWUtc2V0LWVtcHR5Lmh0bWwKKysrIC9k
ZXYvbnVsbApAQCAtMSwxMCArMCwwIEBACi08IURPQ1RZUEUgaHRtbD4KLTxib2R5PgotPHNjcmlw
dCBzcmM9Ii4uLy4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Ci08c2Ny
aXB0IHNyYz0iLi4vcmVzb3VyY2VzL2NvbW1vbi5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0i
Li4vcmVzb3VyY2VzL211bHRpcGxlLWZpZWxkcy12YWx1ZS1zZXQtZW1wdHkuanMiPjwvc2NyaXB0
PgotPHNjcmlwdD4KLXRlc3RTZXR0aW5nRW1wdHlTdHJpbmdDbGVhcnNTdWJGaWVsZHMoJ21vbnRo
Jyk7Ci08L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIuLi8uLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1w
b3N0LmpzIj48L3NjcmlwdD4KLTwvYm9keT4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3Qv
Zm9ybXMvbW9udGgtbXVsdGlwbGUtZmllbGRzL21vbnRoLW11bHRpcGxlLWZpZWxkcy13aGVlbC1l
dmVudC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL21vbnRoLW11bHRpcGxl
LWZpZWxkcy9tb250aC1tdWx0aXBsZS1maWVsZHMtd2hlZWwtZXZlbnQtZXhwZWN0ZWQudHh0CmRl
bGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA0MDUyYmY5NzcxYzE2NjVmMDVkMmJiYzE2YWJi
YTI5YTAxZjI3ODI3Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0t
LSBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvbW9udGgtbXVsdGlwbGUtZmllbGRzL21vbnRoLW11
bHRpcGxlLWZpZWxkcy13aGVlbC1ldmVudC1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAt
MSwyMyArMCwwIEBACi1UZXN0IGZvciB3aGVlbCBvcGVyYXRpb25zIGZvciA8aW5wdXQgdHlwZT1t
b250aD4KLQotT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNz
YWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgotCi0KLUluaXRpYWwgdmFsdWUgaXMg
MTk5OS0wMS4gV2UnbGwgd2hlZWwgdXAgYnkgMToKLVBBU1MgaW5wdXQudmFsdWUgaXMgIjE5OTkt
MDIiCi1XaGVlbCB1cCBieSAxMDA6Ci1QQVNTIGlucHV0LnZhbHVlIGlzICIxOTk5LTAzIgotV2hl
ZWwgZG93biBieSAxOgotUEFTUyBpbnB1dC52YWx1ZSBpcyAiMTk5OS0wMiIKLVdoZWVsIGRvd24g
YnkgMjU2OgotUEFTUyBpbnB1dC52YWx1ZSBpcyAiMTk5OS0wMSIKLURpc2FibGVkIGlucHV0IGVs
ZW1lbnQ6Ci1QQVNTIGlucHV0LnZhbHVlIGlzICIxOTk5LTAxIgotUmVhZC1vbmx5IGlucHV0IGVs
ZW1lbnQ6Ci1QQVNTIGlucHV0LnZhbHVlIGlzICIxOTk5LTAxIgotTm8gZm9jdXM6Ci1QQVNTIGlu
cHV0LnZhbHVlIGlzICIxOTk5LTAxIgotUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQot
Ci1URVNUIENPTVBMRVRFCi0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvbW9u
dGgtbXVsdGlwbGUtZmllbGRzL21vbnRoLW11bHRpcGxlLWZpZWxkcy13aGVlbC1ldmVudC5odG1s
IGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9tb250aC1tdWx0aXBsZS1maWVsZHMvbW9udGgtbXVs
dGlwbGUtZmllbGRzLXdoZWVsLWV2ZW50Lmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDEyZTRjZjFjMDVjZWQ2NDE0ODg0NTJiMDJiM2MwMDAwNTYzYzU4MzUuLjAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jt
cy9tb250aC1tdWx0aXBsZS1maWVsZHMvbW9udGgtbXVsdGlwbGUtZmllbGRzLXdoZWVsLWV2ZW50
Lmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSwxNyArMCwwIEBACi08IURPQ1RZUEUgaHRtbD4KLTxo
dG1sPgotPGhlYWQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMt
dGVzdC1wcmUuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy9jb21tb24t
d2hlZWwtZXZlbnQuanMiPjwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHk+Ci08c2NyaXB0PgotdGVz
dFdoZWVsRXZlbnQoewotICAgICdpbnB1dFR5cGUnIDogJ21vbnRoJywKLSAgICAnaW5pdGlhbFZh
bHVlJyA6ICcxOTk5LTAxJywKLSAgICAnc3RlcFVwVmFsdWUxJyA6ICcxOTk5LTAyJywKLSAgICAn
c3RlcFVwVmFsdWUyJyA6ICcxOTk5LTAzJyB9KTsKLTwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii4u
Ly4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Ci08L2Jv
ZHk+Ci08L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL21vbnRoLW11
bHRpcGxlLWZpZWxkcy9yZXNvdXJjZXMvcHJlc2VydmUtdmFsdWUtYWZ0ZXItaGlzdG9yeS1iYWNr
LWZyYW1lLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL21vbnRoLW11bHRpcGxlLWZpZWxk
cy9yZXNvdXJjZXMvcHJlc2VydmUtdmFsdWUtYWZ0ZXItaGlzdG9yeS1iYWNrLWZyYW1lLmh0bWwK
ZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDZkYmZhMTk4MWYwZTBkN2Q0MTM5MjZkNDNk
MWQyZmQyZmIyYTUzNDguLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAK
LS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9tb250aC1tdWx0aXBsZS1maWVsZHMvcmVzb3Vy
Y2VzL3ByZXNlcnZlLXZhbHVlLWFmdGVyLWhpc3RvcnktYmFjay1mcmFtZS5odG1sCisrKyAvZGV2
L251bGwKQEAgLTEsOTcgKzAsMCBAQAotPCFET0NUWVBFIGh0bWw+Ci08Ym9keT4KLTxpbnB1dCB0
eXBlPSJtb250aCIgaWQ9InRlc3QxIj4KLTxpbnB1dCB0eXBlPSJtb250aCIgaWQ9InRlc3QyIiBt
aW49IjE5OTgtMDEiIG1heD0iMTk5OS0xMiI+Ci08c2NyaXB0PgotZnVuY3Rpb24gZmllbGRzVGV4
dChpbnB1dCkgewotICAgIHJldHVybiB3aW5kb3cuaW50ZXJuYWxzLm9sZGVzdFNoYWRvd1Jvb3Qo
aW5wdXQpLnRleHRDb250ZW50OwotfQotCi1mdW5jdGlvbiBiYWNrKG5ld1N0YXRlKSB7Ci0gICAg
cGFyZW50LnN0YXRlID0gbmV3U3RhdGU7Ci0gICAgaGlzdG9yeS5iYWNrKCk7Ci19Ci0KLWZ1bmN0
aW9uIGZvcndhcmQobmV3U3RhdGUpIHsKLSAgICBwYXJlbnQuc3RhdGUgPSBuZXdTdGF0ZTsKLSAg
ICBoaXN0b3J5LmZvcndhcmQoKTsKLX0KLQotZnVuY3Rpb24ga2V5RG93bihrZXkpIHsKLSAgICBl
dmVudFNlbmRlci5rZXlEb3duKGtleSk7Ci19Ci0KLXZhciB0ZXN0SW5wdXQxID0gZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoJ3Rlc3QxJyk7Ci12YXIgdGVzdElucHV0MiA9IGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCd0ZXN0MicpOwotdmFyIHBhZ2VOYW1lID0gbG9jYXRpb24uc2VhcmNoIHx8ICc/
cGFnZTEnOwotCi13aW5kb3cub25sb2FkID0gZnVuY3Rpb24oKSB7Ci0gICAgc3dpdGNoIChwYWdl
TmFtZSkgewotICAgIGNhc2UgJz9wYWdlMSc6Ci0gICAgICAgIHN3aXRjaCAocGFyZW50LnN0YXRl
KSB7Ci0gICAgICAgIGNhc2UgJ2RpcmVjdCc6IHsKLSAgICAgICAgICAgIHRlc3RJbnB1dDEudmFs
dWUgPSAnMTIwMTItMTAnOwotICAgICAgICAgICAgdGVzdElucHV0Mi5mb2N1cygpOwotICAgICAg
ICAgICAga2V5RG93bigndXBBcnJvdycpOyAvLyAtPiBbT2N0b2Jlcl0gMTIwMTIKLSAgICAgICAg
ICAgIHZhciBuZXh0VXJpID0gbG9jYXRpb24udG9TdHJpbmcoKS5yZXBsYWNlKCc/cGFnZTEnLCAn
P3BhZ2UyJyk7Ci0gICAgICAgICAgICBzZXRUaW1lb3V0KGZ1bmN0aW9uKCkgeyB3aW5kb3cubG9j
YXRpb24uaHJlZiA9IG5leHRVcmk7IH0sIDApOwotICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAg
IH0KLSAgICAgICAgY2FzZSAnYmFja1RvMSc6Ci0gICAgICAgICAgICBwYXJlbnQudGVzdENhc2Vz
LnB1c2goCi0gICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICAnZGVzY3JpcHRp
b24nIDogJ1dlbnQgYmFjayB0byBhIHBhZ2UuIENoZWNraW5nIGEgZm9ybSBjb250cm9sIHdoaWNo
IGhhZCBhIGZ1bGwgdmFsdWUnLAotICAgICAgICAgICAgICAgICAgICAnYWN0dWFsJyA6IHRlc3RJ
bnB1dDEudmFsdWUsCi0gICAgICAgICAgICAgICAgICAgICdleHBlY3RlZCcgOiAnMTIwMTItMTAn
IH0sCi0gICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICAnZGVzY3JpcHRpb24n
IDogJ1dlbnQgYmFjayB0byBhIHBhZ2UuIENoZWNraW5nIGEgZm9ybSBjb250cm9sIHdoaWNoIGhh
ZCBhIHBhcnRpYWwgdmFsdWUnLAotICAgICAgICAgICAgICAgICAgICAnYWN0dWFsJyA6IGZpZWxk
c1RleHQodGVzdElucHV0MiksCi0gICAgICAgICAgICAgICAgICAgICdleHBlY3RlZCcgOiAnSmFu
dWFyeSAtLS0tJwotICAgICAgICAgICAgICAgIH0pOwotICAgICAgICAgICAgZm9yd2FyZCgnZm9y
d2FyZFRvMicpOwotICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgIGNhc2UgJ2JhY2tUbzFTZWNv
bmQnOgotICAgICAgICAgICAgcGFyZW50LmZpbmlzaFRlc3QoKTsKLSAgICAgICAgICAgIGJyZWFr
OwotICAgICAgICBkZWZhdWx0OgotICAgICAgICAgICAgcGFyZW50LmZhaWxlZCgnVW5leHBlY3Rl
ZCBzdGF0ZSgnICsgcGFyZW50LnN0YXRlICsgJyknKTsKLSAgICAgICAgICAgIGJyZWFrOwotICAg
ICAgICB9Ci0gICAgICAgIGJyZWFrOwotCi0gICAgY2FzZSAnP3BhZ2UyJzoKLSAgICAgICAgc3dp
dGNoIChwYXJlbnQuc3RhdGUpIHsKLSAgICAgICAgY2FzZSAnZGlyZWN0JzoKLSAgICAgICAgICAg
IHRlc3RJbnB1dDEudmFsdWUgPSAnMDAwMS0xMSc7Ci0gICAgICAgICAgICB0ZXN0SW5wdXQyLmZv
Y3VzKCk7Ci0gICAgICAgICAgICBrZXlEb3duKCdcdCcpOyAvLyAgICAgICAgLT4gLS0tLS0tLS0t
IFt5eXl5XQotICAgICAgICAgICAga2V5RG93bignZG93bkFycm93Jyk7IC8vIC0+IC0tLS0tLS0t
LSBbMTk5OV0KLSAgICAgICAgICAgIGJhY2soJ2JhY2tUbzEnKTsKLSAgICAgICAgICAgIGJyZWFr
OwotICAgICAgICBjYXNlICdmb3J3YXJkVG8yJzoKLSAgICAgICAgICAgIHBhcmVudC50ZXN0Q2Fz
ZXMucHVzaCgKLSAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICdkZXNjcmlw
dGlvbicgOiAnV2VudCBmb3J3YXJkIHRvIGEgcGFnZS4gQ2hlY2tpbmcgYSBmb3JtIGNvbnRyb2wg
d2hpY2ggaGFkIGEgZnVsbCB2YWx1ZScsCi0gICAgICAgICAgICAgICAgICAgICdhY3R1YWwnIDog
dGVzdElucHV0MS52YWx1ZSwKLSAgICAgICAgICAgICAgICAgICAgJ2V4cGVjdGVkJyA6ICcwMDAx
LTExJwotICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgewotICAgICAgICAgICAg
ICAgICAgICAnZGVzY3JpcHRpb24nIDogJ1dlbnQgZm9yd2FyZCB0byBhIHBhZ2UuIENoZWNraW5n
IGEgZm9ybSBjb250cm9sIHdoaWNoIGhhZCBhIHBhcnRpYWwgdmFsdWUnLAotICAgICAgICAgICAg
ICAgICAgICAnYWN0dWFsJyA6IGZpZWxkc1RleHQodGVzdElucHV0MiksCi0gICAgICAgICAgICAg
ICAgICAgICdleHBlY3RlZCcgOiAnLS0tLS0tLS0tIDE5OTknCi0gICAgICAgICAgICAgICAgfSk7
Ci0gICAgICAgICAgICBiYWNrKCdiYWNrVG8xU2Vjb25kJyk7Ci0gICAgICAgICAgICBicmVhazsK
LSAgICAgICAgZGVmYXVsdDoKLSAgICAgICAgICAgIHBhcmVudC5mYWlsZWQoJ1VuZXhwZWN0ZWQg
c3RhdGUoJyArIHBhcmVudC5zdGF0ZSArICcpJyk7Ci0gICAgICAgICAgICBicmVhazsKLSAgICAg
ICAgfQotICAgICAgICBicmVhazsKLQotICAgIGRlZmF1bHQ6Ci0gICAgICAgIHBhcmVudC5mYWls
ZWQoJ1VuZXhwZWN0ZWQgcGFnZSgnICsgcGFnZU5hbWUgKyAnKScpOwotICAgICAgICBicmVhazsK
LSAgICB9Ci19OwotPC9zY3JpcHQ+Ci08L2JvZHk+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9m
YXN0L2Zvcm1zL3RpbWUtbXVsdGlwbGUtZmllbGRzL3Jlc291cmNlcy9wcmVzZXJ2ZS12YWx1ZS1h
ZnRlci1oaXN0b3J5LWJhY2stZnJhbWUuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvdGlt
ZS1tdWx0aXBsZS1maWVsZHMvcmVzb3VyY2VzL3ByZXNlcnZlLXZhbHVlLWFmdGVyLWhpc3Rvcnkt
YmFjay1mcmFtZS5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA3YzNiNWYzZjJk
YTE2MWI3ZThmMzdkYjhjOTJkNTAxMzMwNTg3MmVjLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvdGltZS1tdWx0aXBs
ZS1maWVsZHMvcmVzb3VyY2VzL3ByZXNlcnZlLXZhbHVlLWFmdGVyLWhpc3RvcnktYmFjay1mcmFt
ZS5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsMTAwICswLDAgQEAKLTwhRE9DVFlQRSBodG1sPgot
PGJvZHk+Ci08aW5wdXQgdHlwZT10aW1lIGlkPXRlc3QxPgotPGlucHV0IHR5cGU9dGltZSBpZD10
ZXN0MiBzdGVwPTE+Ci08c2NyaXB0PgotZnVuY3Rpb24gZmllbGRzVGV4dChpbnB1dCkgewotICAg
IHJldHVybiB3aW5kb3cuaW50ZXJuYWxzLm9sZGVzdFNoYWRvd1Jvb3QoaW5wdXQpLnRleHRDb250
ZW50OwotfQotCi1mdW5jdGlvbiBiYWNrKG5ld1N0YXRlKSB7Ci0gICAgcGFyZW50LnN0YXRlID0g
bmV3U3RhdGU7Ci0gICAgaGlzdG9yeS5iYWNrKCk7Ci19Ci0KLWZ1bmN0aW9uIGZvcndhcmQobmV3
U3RhdGUpIHsKLSAgICBwYXJlbnQuc3RhdGUgPSBuZXdTdGF0ZTsKLSAgICBoaXN0b3J5LmZvcndh
cmQoKTsKLX0KLQotZnVuY3Rpb24ga2V5RG93bihrZXkpIHsKLSAgICBldmVudFNlbmRlci5rZXlE
b3duKGtleSk7Ci19Ci0KLXZhciB0ZXN0SW5wdXQxID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
J3Rlc3QxJyk7Ci12YXIgdGVzdElucHV0MiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCd0ZXN0
MicpOwotdmFyIHBhZ2VOYW1lID0gbG9jYXRpb24uc2VhcmNoIHx8ICc/cGFnZTEnOwotCi13aW5k
b3cub25sb2FkID0gZnVuY3Rpb24oKSB7Ci0gICAgc3dpdGNoIChwYWdlTmFtZSkgewotICAgIGNh
c2UgJz9wYWdlMSc6Ci0gICAgICAgIHN3aXRjaCAocGFyZW50LnN0YXRlKSB7Ci0gICAgICAgIGNh
c2UgJ2RpcmVjdCc6IHsKLSAgICAgICAgICAgIHRlc3RJbnB1dDEudmFsdWUgPSAnMDE6MDEnOwot
ICAgICAgICAgICAgdGVzdElucHV0Mi5mb2N1cygpOwotICAgICAgICAgICAga2V5RG93bigndXBB
cnJvdycpOwotICAgICAgICAgICAga2V5RG93bignXHQnKTsKLSAgICAgICAgICAgIGtleURvd24o
J1x0Jyk7Ci0gICAgICAgICAgICBrZXlEb3duKCdcdCcpOwotICAgICAgICAgICAga2V5RG93bign
dXBBcnJvdycpOwotICAgICAgICAgICAgdmFyIG5leHRVcmkgPSBsb2NhdGlvbi50b1N0cmluZygp
LnJlcGxhY2UoJz9wYWdlMScsICc/cGFnZTInKTsKLSAgICAgICAgICAgIHNldFRpbWVvdXQoZnVu
Y3Rpb24oKSB7IHdpbmRvdy5sb2NhdGlvbi5ocmVmID0gbmV4dFVyaTsgfSwgMCk7Ci0gICAgICAg
ICAgICBicmVhazsKLSAgICAgICAgfQotICAgICAgICBjYXNlICdiYWNrVG8xJzoKLSAgICAgICAg
ICAgIHBhcmVudC50ZXN0Q2FzZXMucHVzaCgKLSAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAg
ICAgICAgICAgICdkZXNjcmlwdGlvbicgOiAnV2VudCBiYWNrIHRvIGEgcGFnZS4gQ2hlY2tpbmcg
YSBmb3JtIGNvbnRyb2wgd2hpY2ggaGFkIGEgZnVsbCB2YWx1ZScsCi0gICAgICAgICAgICAgICAg
ICAgICdhY3R1YWwnIDogdGVzdElucHV0MS52YWx1ZSwKLSAgICAgICAgICAgICAgICAgICAgJ2V4
cGVjdGVkJyA6ICcwMTowMScgfSwKLSAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAg
ICAgICdkZXNjcmlwdGlvbicgOiAnV2VudCBiYWNrIHRvIGEgcGFnZS4gQ2hlY2tpbmcgYSBmb3Jt
IGNvbnRyb2wgd2hpY2ggaGFkIGEgcGFydGlhbCB2YWx1ZScsCi0gICAgICAgICAgICAgICAgICAg
ICdhY3R1YWwnIDogZmllbGRzVGV4dCh0ZXN0SW5wdXQyKSwKLSAgICAgICAgICAgICAgICAgICAg
J2V4cGVjdGVkJyA6ICcwMTotLTotLSBBTScKLSAgICAgICAgICAgICAgICB9KTsKLSAgICAgICAg
ICAgIGZvcndhcmQoJ2ZvcndhcmRUbzInKTsKLSAgICAgICAgICAgIGJyZWFrOwotICAgICAgICBj
YXNlICdiYWNrVG8xU2Vjb25kJzoKLSAgICAgICAgICAgIHBhcmVudC5maW5pc2hUZXN0KCk7Ci0g
ICAgICAgICAgICBicmVhazsKLSAgICAgICAgZGVmYXVsdDoKLSAgICAgICAgICAgIHBhcmVudC5m
YWlsZWQoJ1Vuc3VwcG9ydGVkIHN0YXRlKCcgKyBwYXJlbnQuc3RhdGUgKyAnKScpOwotICAgICAg
ICAgICAgYnJlYWs7Ci0gICAgICAgIH0KLSAgICAgICAgYnJlYWs7Ci0gICAgY2FzZSAnP3BhZ2Uy
JzoKLSAgICAgICAgc3dpdGNoIChwYXJlbnQuc3RhdGUpIHsKLSAgICAgICAgY2FzZSAnZGlyZWN0
JzoKLSAgICAgICAgICAgIHRlc3RJbnB1dDEudmFsdWUgPSAnMDI6MDInOwotICAgICAgICAgICAg
dGVzdElucHV0Mi5mb2N1cygpOwotICAgICAgICAgICAga2V5RG93bignXHQnKTsKLSAgICAgICAg
ICAgIGtleURvd24oJ2Rvd25BcnJvdycpOwotICAgICAgICAgICAgYmFjaygnYmFja1RvMScpOwot
ICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgIGNhc2UgJ2ZvcndhcmRUbzInOgotICAgICAgICAg
ICAgcGFyZW50LnRlc3RDYXNlcy5wdXNoKAotICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAg
ICAgICAgICAgJ2Rlc2NyaXB0aW9uJyA6ICdXZW50IGZvcndhcmQgdG8gYSBwYWdlLiBDaGVja2lu
ZyBhIGZvcm0gY29udHJvbCB3aGljaCBoYWQgYSBmdWxsIHZhbHVlJywKLSAgICAgICAgICAgICAg
ICAgICAgJ2FjdHVhbCcgOiB0ZXN0SW5wdXQxLnZhbHVlLAotICAgICAgICAgICAgICAgICAgICAn
ZXhwZWN0ZWQnIDogJzAyOjAyJwotICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAg
ewotICAgICAgICAgICAgICAgICAgICAnZGVzY3JpcHRpb24nIDogJ1dlbnQgZm9yd2FyZCB0byBh
IHBhZ2UuIENoZWNraW5nIGEgZm9ybSBjb250cm9sIHdoaWNoIGhhZCBhIHBhcnRpYWwgdmFsdWUn
LAotICAgICAgICAgICAgICAgICAgICAnYWN0dWFsJyA6IGZpZWxkc1RleHQodGVzdElucHV0Miks
Ci0gICAgICAgICAgICAgICAgICAgICdleHBlY3RlZCcgOiAnLS06NTk6LS0gLS0nCi0gICAgICAg
ICAgICAgICAgfSk7Ci0gICAgICAgICAgICBiYWNrKCdiYWNrVG8xU2Vjb25kJyk7Ci0gICAgICAg
ICAgICBicmVhazsKLSAgICAgICAgZGVmYXVsdDoKLSAgICAgICAgICAgIHBhcmVudC5mYWlsZWQo
J1Vuc3VwcG9ydGVkIHN0YXRlKCcgKyBwYXJlbnQuc3RhdGUgKyAnKScpOwotICAgICAgICAgICAg
YnJlYWs7Ci0gICAgICAgIH0KLSAgICAgICAgYnJlYWs7Ci0gICAgZGVmYXVsdDoKLSAgICAgICAg
cGFyZW50LmZhaWxlZCgnVW5zdXBwb3J0ZWQgcGFnZSgnICsgcGFnZU5hbWUgKyAnKScpOwotICAg
ICAgICBicmVhazsKLSAgICB9Ci19OwotPC9zY3JpcHQ+Ci08Ym9keT4KLQpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy90aW1lLW11bHRpcGxlLWZpZWxkcy90aW1lLW11bHRpcGxl
LWZpZWxkcy1heC1hcmlhLWF0dHJpYnV0ZXMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFz
dC9mb3Jtcy90aW1lLW11bHRpcGxlLWZpZWxkcy90aW1lLW11bHRpcGxlLWZpZWxkcy1heC1hcmlh
LWF0dHJpYnV0ZXMtZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBi
N2IzMmEyOGVlYWZmNDNiMDg1NjM4MzkyYmFhZDk3NmIwYmZlNDU2Li4wMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvdGlt
ZS1tdWx0aXBsZS1maWVsZHMvdGltZS1tdWx0aXBsZS1maWVsZHMtYXgtYXJpYS1hdHRyaWJ1dGVz
LWV4cGVjdGVkLnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDIyICswLDAgQEAKLVRoaXMgdGVzdCBj
aGVja3MgYXJpYS1oZWxwIGF0dHJpYnV0ZSBvZiBmaWVsZHMgaW4gbXVsdGlwbGUgZmllbGRzIHRp
bWUgaW5wdXQgVUkuCi0KLU9uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFT
UyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KLQotCi1Ob24tZW1wdHkg
dmFsdWUKLVBBU1MgZm9jdXNlZEVsZW1lbnREZXNjcmlwdGlvbigpIGlzICJBWEhlbHA6IEhvdXJz
LCBBWFZhbHVlRGVzY3JpcHRpb246IDEyLCBpbnRWYWx1ZToxMiwgcmFuZ2U6MS0xMiIKLVBBU1Mg
Zm9jdXNlZEVsZW1lbnREZXNjcmlwdGlvbigpIGlzICJBWEhlbHA6IE1pbnV0ZXMsIEFYVmFsdWVE
ZXNjcmlwdGlvbjogMzQsIGludFZhbHVlOjM0LCByYW5nZTowLTU5IgotUEFTUyBmb2N1c2VkRWxl
bWVudERlc2NyaXB0aW9uKCkgaXMgIkFYSGVscDogU2Vjb25kcywgQVhWYWx1ZURlc2NyaXB0aW9u
OiA1NiwgaW50VmFsdWU6NTYsIHJhbmdlOjAtNTkiCi1QQVNTIGZvY3VzZWRFbGVtZW50RGVzY3Jp
cHRpb24oKSBpcyAiQVhIZWxwOiBNaWxsaXNlY29uZHMsIEFYVmFsdWVEZXNjcmlwdGlvbjogNzg5
LCBpbnRWYWx1ZTo3ODksIHJhbmdlOjAtOTk5IgotUEFTUyBmb2N1c2VkRWxlbWVudERlc2NyaXB0
aW9uKCkgaXMgIkFYSGVscDogQU0vUE0sIEFYVmFsdWVEZXNjcmlwdGlvbjogUE0sIGludFZhbHVl
OjIsIHJhbmdlOjEtMiIKLUVtcHR5IHZhbHVlCi1QQVNTIGZvY3VzZWRFbGVtZW50RGVzY3JpcHRp
b24oKSBpcyAiQVhIZWxwOiBBTS9QTSwgQVhWYWx1ZURlc2NyaXB0aW9uOiBibGFuaywgaW50VmFs
dWU6MCwgcmFuZ2U6MS0yIgotUEFTUyBmb2N1c2VkRWxlbWVudERlc2NyaXB0aW9uKCkgaXMgIkFY
SGVscDogTWlsbGlzZWNvbmRzLCBBWFZhbHVlRGVzY3JpcHRpb246IGJsYW5rLCBpbnRWYWx1ZTow
LCByYW5nZTowLTk5OSIKLVBBU1MgZm9jdXNlZEVsZW1lbnREZXNjcmlwdGlvbigpIGlzICJBWEhl
bHA6IFNlY29uZHMsIEFYVmFsdWVEZXNjcmlwdGlvbjogYmxhbmssIGludFZhbHVlOjAsIHJhbmdl
OjAtNTkiCi1QQVNTIGZvY3VzZWRFbGVtZW50RGVzY3JpcHRpb24oKSBpcyAiQVhIZWxwOiBNaW51
dGVzLCBBWFZhbHVlRGVzY3JpcHRpb246IGJsYW5rLCBpbnRWYWx1ZTowLCByYW5nZTowLTU5Igot
UEFTUyBmb2N1c2VkRWxlbWVudERlc2NyaXB0aW9uKCkgaXMgIkFYSGVscDogSG91cnMsIEFYVmFs
dWVEZXNjcmlwdGlvbjogYmxhbmssIGludFZhbHVlOjAsIHJhbmdlOjEtMTIiCi0KLVBBU1Mgc3Vj
Y2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKLQotVEVTVCBDT01QTEVURQotCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3RpbWUtbXVsdGlwbGUtZmllbGRzL3RpbWUtbXVsdGlwbGUt
ZmllbGRzLWF4LWFyaWEtYXR0cmlidXRlcy5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy90
aW1lLW11bHRpcGxlLWZpZWxkcy90aW1lLW11bHRpcGxlLWZpZWxkcy1heC1hcmlhLWF0dHJpYnV0
ZXMuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZWIwZDQ1YTkxZjZkZTY3YmY2
MDU4ZWNkMWZlMWRkNGQ4NjhmNTA3YS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3RpbWUtbXVsdGlwbGUtZmllbGRz
L3RpbWUtbXVsdGlwbGUtZmllbGRzLWF4LWFyaWEtYXR0cmlidXRlcy5odG1sCisrKyAvZGV2L251
bGwKQEAgLTEsNjUgKzAsMCBAQAotPCFET0NUWVBFIGh0bWw+Ci08aHRtbD4KLTxoZWFkPgotPHNj
cmlwdCBzcmM9Ii4uLy4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Nj
cmlwdD4KLTxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvbXVsdGlwbGUtZmllbGRzLWF4LWFyaWEt
YXR0cmlidXRlcy5qcyI+PC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keT4KLTxpbnB1dCBpZD10ZXN0
IHR5cGU9InRpbWUiIHZhbHVlPSIxMjozNDo1Ni43ODkiPgotPHNjcmlwdD4KLWRlc2NyaXB0aW9u
KCdUaGlzIHRlc3QgY2hlY2tzIGFyaWEtaGVscCBhdHRyaWJ1dGUgb2YgZmllbGRzIGluIG11bHRp
cGxlIGZpZWxkcyB0aW1lIGlucHV0IFVJLicpOwotCi1mdW5jdGlvbiBlbmFibGVBY2Nlc3NpYmls
aXR5KCkKLXsKLSAgICBpZiAoIXdpbmRvdy5hY2Nlc3NpYmlsaXR5Q29udHJvbGxlcikgewotICAg
ICAgICBkZWJ1ZygiUGxlYXNlIHJ1biBpbnNpZGUgRHVtcFJlbmRlclRyZWUuIik7Ci0gICAgICAg
IHJldHVybjsKLSAgICB9Ci19Ci0KLWZ1bmN0aW9uIGtleURvd24oa2V5LCBtb2RpZmllcnMpCi17
Ci0gICAgaWYgKCF3aW5kb3cuZXZlbnRTZW5kZXIpCi0gICAgICAgIHJldHVybjsKLSAgICBldmVu
dFNlbmRlci5rZXlEb3duKGtleSwgbW9kaWZpZXJzKTsKLX0KLQotdmFyIHRlc3RJbnB1dCA9IGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJ0ZXN0Iik7Ci0KLWVuYWJsZUFjY2Vzc2liaWxpdHkoKTsK
LXRlc3RJbnB1dC5mb2N1cygpOwotCi1kZWJ1ZygnTm9uLWVtcHR5IHZhbHVlJyk7Ci10ZXN0SW5w
dXQuZm9jdXMoKTsKLWNoZWNrRm9jdXNlZEVsZW1lbnRBWEF0dHJpYnV0ZXMoJ0FYSGVscDogSG91
cnMsIEFYVmFsdWVEZXNjcmlwdGlvbjogMTIsIGludFZhbHVlOjEyLCByYW5nZToxLTEyJyk7Ci1r
ZXlEb3duKCdcdCcpOwotY2hlY2tGb2N1c2VkRWxlbWVudEFYQXR0cmlidXRlcygnQVhIZWxwOiBN
aW51dGVzLCBBWFZhbHVlRGVzY3JpcHRpb246IDM0LCBpbnRWYWx1ZTozNCwgcmFuZ2U6MC01OScp
Owota2V5RG93bignXHQnKTsKLWNoZWNrRm9jdXNlZEVsZW1lbnRBWEF0dHJpYnV0ZXMoJ0FYSGVs
cDogU2Vjb25kcywgQVhWYWx1ZURlc2NyaXB0aW9uOiA1NiwgaW50VmFsdWU6NTYsIHJhbmdlOjAt
NTknKTsKLWtleURvd24oJ1x0Jyk7Ci1jaGVja0ZvY3VzZWRFbGVtZW50QVhBdHRyaWJ1dGVzKCdB
WEhlbHA6IE1pbGxpc2Vjb25kcywgQVhWYWx1ZURlc2NyaXB0aW9uOiA3ODksIGludFZhbHVlOjc4
OSwgcmFuZ2U6MC05OTknKTsKLWtleURvd24oJ1x0Jyk7Ci1jaGVja0ZvY3VzZWRFbGVtZW50QVhB
dHRyaWJ1dGVzKCdBWEhlbHA6IEFNL1BNLCBBWFZhbHVlRGVzY3JpcHRpb246IFBNLCBpbnRWYWx1
ZToyLCByYW5nZToxLTInKTsKLQotZGVidWcoJ0VtcHR5IHZhbHVlJyk7Ci1rZXlEb3duKCdcYicp
OwotY2hlY2tGb2N1c2VkRWxlbWVudEFYQXR0cmlidXRlcygnQVhIZWxwOiBBTS9QTSwgQVhWYWx1
ZURlc2NyaXB0aW9uOiBibGFuaywgaW50VmFsdWU6MCwgcmFuZ2U6MS0yJyk7Ci1rZXlEb3duKCdc
dCcsIFsnc2hpZnRLZXknXSk7Ci1rZXlEb3duKCdcYicpOwotY2hlY2tGb2N1c2VkRWxlbWVudEFY
QXR0cmlidXRlcygnQVhIZWxwOiBNaWxsaXNlY29uZHMsIEFYVmFsdWVEZXNjcmlwdGlvbjogYmxh
bmssIGludFZhbHVlOjAsIHJhbmdlOjAtOTk5Jyk7Ci1rZXlEb3duKCdcdCcsIFsnc2hpZnRLZXkn
XSk7Ci1rZXlEb3duKCdcYicpOwotY2hlY2tGb2N1c2VkRWxlbWVudEFYQXR0cmlidXRlcygnQVhI
ZWxwOiBTZWNvbmRzLCBBWFZhbHVlRGVzY3JpcHRpb246IGJsYW5rLCBpbnRWYWx1ZTowLCByYW5n
ZTowLTU5Jyk7Ci1rZXlEb3duKCdcdCcsIFsnc2hpZnRLZXknXSk7Ci1rZXlEb3duKCdcYicpOwot
Y2hlY2tGb2N1c2VkRWxlbWVudEFYQXR0cmlidXRlcygnQVhIZWxwOiBNaW51dGVzLCBBWFZhbHVl
RGVzY3JpcHRpb246IGJsYW5rLCBpbnRWYWx1ZTowLCByYW5nZTowLTU5Jyk7Ci1rZXlEb3duKCdc
dCcsIFsnc2hpZnRLZXknXSk7Ci1rZXlEb3duKCdcYicpOwotY2hlY2tGb2N1c2VkRWxlbWVudEFY
QXR0cmlidXRlcygnQVhIZWxwOiBIb3VycywgQVhWYWx1ZURlc2NyaXB0aW9uOiBibGFuaywgaW50
VmFsdWU6MCwgcmFuZ2U6MS0xMicpOwotCi1kZWJ1ZygnJyk7Ci10ZXN0SW5wdXQucGFyZW50Tm9k
ZS5yZW1vdmVDaGlsZCh0ZXN0SW5wdXQpOwotPC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4v
Li4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KLTwvYm9keT4K
LTwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvdGltZS1tdWx0aXBs
ZS1maWVsZHMvdGltZS1tdWx0aXBsZS1maWVsZHMtYXgtdmFsdWUtY2hhbmdlZC1ub3RpZmljYXRp
b24tZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy90aW1lLW11bHRpcGxlLWZp
ZWxkcy90aW1lLW11bHRpcGxlLWZpZWxkcy1heC12YWx1ZS1jaGFuZ2VkLW5vdGlmaWNhdGlvbi1l
eHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDJlNWVkOWJkYTYzMjJm
ZDE1NmVhNDUxZTkxMzg3Y2YzODI4MDI0ZGIuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy90aW1lLW11bHRpcGxlLWZp
ZWxkcy90aW1lLW11bHRpcGxlLWZpZWxkcy1heC12YWx1ZS1jaGFuZ2VkLW5vdGlmaWNhdGlvbi1l
eHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSwxNiArMCwwIEBACi1UaGlzIHRlc3QgY2hl
Y2tzIHZhbHVlIGNoYW5nZWQgYWNjZXNzaWJpbGl0eSBub3RpZmljYXRpb25zLgotCi1PbiBzdWNj
ZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBi
eSAiVEVTVCBDT01QTEVURSIuCi0KLQotRm9jdXNlZFVJRWxlbWVudENoYW5nZWQgQVhIZWxwOiBI
b3Vycz1BWFZhbHVlRGVzY3JpcHRpb246IDEyCi1Gb2N1c2VkVUlFbGVtZW50Q2hhbmdlZCBBWEhl
bHA6IE1pbnV0ZXM9QVhWYWx1ZURlc2NyaXB0aW9uOiAzNAotVmFsdWVDaGFuZ2VkIEFYSGVscDog
TWludXRlcz1BWFZhbHVlRGVzY3JpcHRpb246IDA1Ci1WYWx1ZUNoYW5nZWQgQVhIZWxwOiBNaW51
dGVzPUFYVmFsdWVEZXNjcmlwdGlvbjogMDUKLVZhbHVlQ2hhbmdlZCBBWEhlbHA6IE1pbnV0ZXM9
QVhWYWx1ZURlc2NyaXB0aW9uOiAwNQotVmFsdWVDaGFuZ2VkIEFYSGVscDogTWludXRlcz1BWFZh
bHVlRGVzY3JpcHRpb246IDA1Ci0KLVBBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKLQot
VEVTVCBDT01QTEVURQotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3RpbWUt
bXVsdGlwbGUtZmllbGRzL3RpbWUtbXVsdGlwbGUtZmllbGRzLWF4LXZhbHVlLWNoYW5nZWQtbm90
aWZpY2F0aW9uLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3RpbWUtbXVsdGlwbGUtZmll
bGRzL3RpbWUtbXVsdGlwbGUtZmllbGRzLWF4LXZhbHVlLWNoYW5nZWQtbm90aWZpY2F0aW9uLmh0
bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDA1OTBmYTNlMjNhMmRhNDM5YTFlYTRl
Y2FlYjU0NTIzODMxY2ZlYzIuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy90aW1lLW11bHRpcGxlLWZpZWxkcy90aW1l
LW11bHRpcGxlLWZpZWxkcy1heC12YWx1ZS1jaGFuZ2VkLW5vdGlmaWNhdGlvbi5odG1sCisrKyAv
ZGV2L251bGwKQEAgLTEsNTAgKzAsMCBAQAotPCFET0NUWVBFIGh0bWw+Ci08aHRtbD4KLTxoZWFk
PgotPHNjcmlwdCBzcmM9Ii4uLy4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpz
Ij48L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5PgotPGlucHV0IGlkPXRlc3QgdHlwZT0idGltZSIg
dmFsdWU9IjEyOjM0OjU2Ljc4OSI+Ci08c2NyaXB0PgotZGVzY3JpcHRpb24oJ1RoaXMgdGVzdCBj
aGVja3MgdmFsdWUgY2hhbmdlZCBhY2Nlc3NpYmlsaXR5IG5vdGlmaWNhdGlvbnMuJyk7Ci0KLWZ1
bmN0aW9uIGVuYWJsZUFjY2Vzc2liaWxpdHkoKQotewotICAgIGlmICghd2luZG93LmFjY2Vzc2li
aWxpdHlDb250cm9sbGVyKSB7Ci0gICAgICAgIGRlYnVnKCJQbGVhc2UgcnVuIGluc2lkZSBEdW1w
UmVuZGVyVHJlZS4iKTsKLSAgICAgICAgcmV0dXJuOwotICAgIH0KLQotICAgIGFjY2Vzc2liaWxp
dHlDb250cm9sbGVyLmFkZE5vdGlmaWNhdGlvbkxpc3RlbmVyKGZ1bmN0aW9uIChlbGVtZW50LCBu
b3RpZmljYXRpb24pIHsKLSAgICAgICAgaWYgKG5vdGlmaWNhdGlvbiA9PSAnRm9jdXNlZFVJRWxl
bWVudENoYW5nZWQnIHx8IG5vdGlmaWNhdGlvbiA9PSAnVmFsdWVDaGFuZ2VkJykgewotICAgICAg
ICAgICAgZGVidWcobm90aWZpY2F0aW9uICsgJyAnICsgZWxlbWVudC5oZWxwVGV4dCArICc9JyAr
IGVsZW1lbnQudmFsdWVEZXNjcmlwdGlvbik7Ci0gICAgICAgIH0KLSAgICB9KTsKLX0KLQotZnVu
Y3Rpb24ga2V5RG93bihrZXksIG1vZGlmaWVycykKLXsKLSAgICBpZiAoIXdpbmRvdy5ldmVudFNl
bmRlcikKLSAgICAgICAgcmV0dXJuOwotICAgIGV2ZW50U2VuZGVyLmtleURvd24oa2V5LCBtb2Rp
ZmllcnMpOwotfQotCi12YXIgdGVzdElucHV0ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInRl
c3QiKTsKLQotZW5hYmxlQWNjZXNzaWJpbGl0eSgpOwotdGVzdElucHV0LmZvY3VzKCk7Ci1rZXlE
b3duKCdcdCcpOwota2V5RG93bignNCcpOwota2V5RG93bigndXBBcnJvdycpOwotCi13aW5kb3cu
anNUZXN0SXNBc3luYyA9IHRydWU7Ci0KLXdpbmRvdy5zZXRUaW1lb3V0KGZ1bmN0aW9uICgpIHsK
LSAgICBkZWJ1ZygnJyk7Ci0gICAgdGVzdElucHV0LnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQodGVz
dElucHV0KTsKLSAgICBmaW5pc2hKU1Rlc3QoKTsKLX0sIDEpOwotPC9zY3JpcHQ+Ci08c2NyaXB0
IHNyYz0iLi4vLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3Njcmlw
dD4KLTwvYm9keT4KLTwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMv
dGltZS1tdWx0aXBsZS1maWVsZHMvdGltZS1tdWx0aXBsZS1maWVsZHMtYmx1ci1hbmQtZm9jdXMt
ZXZlbnRzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvdGltZS1tdWx0aXBs
ZS1maWVsZHMvdGltZS1tdWx0aXBsZS1maWVsZHMtYmx1ci1hbmQtZm9jdXMtZXZlbnRzLWV4cGVj
dGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNWMyMzkyMTg3YzVlZTBlNjAz
NjFiZDE0MWVlYzBjNmZhNTFmMjExZi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3RpbWUtbXVsdGlwbGUtZmllbGRz
L3RpbWUtbXVsdGlwbGUtZmllbGRzLWJsdXItYW5kLWZvY3VzLWV2ZW50cy1leHBlY3RlZC50eHQK
KysrIC9kZXYvbnVsbApAQCAtMSwxOCArMCwwIEBACi1DaGVjayBibHVyIGFuZCBmb2N1cyBldmVu
dHMgZm9yIG11bHRpcGxlIGZpZWxkcyB0aW1lIGlucHV0IFVJCi0KLU9uIHN1Y2Nlc3MsIHlvdSB3
aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENP
TVBMRVRFIi4KLQotCi1mb2N1cygpIGFuZCBibHVyKCkKLVBBU1MgdGVzdElucHV0LmZvY3VzKCk7
IHN0YXRlKCkgaXMgImJsdXI9MCBmb2N1cz0xIgotUEFTUyB0ZXN0SW5wdXQuYmx1cigpOyBzdGF0
ZSgpIGlzICJibHVyPTEgZm9jdXM9MSIKLWZvY3VzIGFuZCBUYWIga2V5IHRvIGJsdXIKLVBBU1Mg
a2V5RG93bigiCSIpOyBzdGF0ZSgpIGlzICJibHVyPTAgZm9jdXM9MSIKLVBBU1Mga2V5RG93bigi
CSIpOyBzdGF0ZSgpIGlzICJibHVyPTAgZm9jdXM9MSIKLVBBU1Mga2V5RG93bigiCSIpOyBzdGF0
ZSgpIGlzICJibHVyPTAgZm9jdXM9MSIKLVBBU1Mga2V5RG93bigiCSIpOyBzdGF0ZSgpIGlzICJi
bHVyPTEgZm9jdXM9MSIKLQotUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQotCi1URVNU
IENPTVBMRVRFCi0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvdGltZS1tdWx0
aXBsZS1maWVsZHMvdGltZS1tdWx0aXBsZS1maWVsZHMtYmx1ci1hbmQtZm9jdXMtZXZlbnRzLmh0
bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3RpbWUtbXVsdGlwbGUtZmllbGRzL3RpbWUtbXVs
dGlwbGUtZmllbGRzLWJsdXItYW5kLWZvY3VzLWV2ZW50cy5odG1sCmRlbGV0ZWQgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCBlNTAyNGZiYWVjNWE4N2FlZmYwNGMzMDZhYjAwNjg5NjIzYjQ3M2NmLi4w
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3Rz
L2Zhc3QvZm9ybXMvdGltZS1tdWx0aXBsZS1maWVsZHMvdGltZS1tdWx0aXBsZS1maWVsZHMtYmx1
ci1hbmQtZm9jdXMtZXZlbnRzLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSwxMiArMCwwIEBACi08
IURPQ1RZUEUgaHRtbD4KLTxodG1sPgotPGJvZHk+Ci08c2NyaXB0IHNyYz0iLi4vLi4vanMvcmVz
b3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIuLi9yZXNvdXJj
ZXMvbXVsdGlwbGUtZmllbGRzLWJsdXItYW5kLWZvY3VzLWV2ZW50cy5qcyI+PC9zY3JpcHQ+Ci08
ZGl2IGlkPSJjb250YWluZXIiPjwvZGl2PgotPHNjcmlwdD4KLXN0YXJ0VGVzdEZvcigndGltZScp
OwotPC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcG9z
dC5qcyI+PC9zY3JpcHQ+Ci08L2JvZHk+Ci08L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9mYXN0L2Zvcm1zL3RpbWUtbXVsdGlwbGUtZmllbGRzL3RpbWUtbXVsdGlwbGUtZmllbGRzLWNo
YW5nZS1sYXlvdXQtYnktdmFsdWUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jt
cy90aW1lLW11bHRpcGxlLWZpZWxkcy90aW1lLW11bHRpcGxlLWZpZWxkcy1jaGFuZ2UtbGF5b3V0
LWJ5LXZhbHVlLWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMjE3
YTY4OGQ1YTY5YjZiYmU2MDNmNDNjYmZhOWJjYTk1YmE5Y2Q3Yi4uMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3RpbWUt
bXVsdGlwbGUtZmllbGRzL3RpbWUtbXVsdGlwbGUtZmllbGRzLWNoYW5nZS1sYXlvdXQtYnktdmFs
dWUtZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEsMTEgKzAsMCBAQAotQ2hhbmdlIG11
bHRpcGxlIGZpZWxkcyB0aW1lIGlucHV0IFVJIGxheW91dCBieSB2YWx1ZQotCi1PbiBzdWNjZXNz
LCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAi
VEVTVCBDT01QTEVURSIuCi0KLQotUEFTUyB3aWR0aE9mU3RlcDYwIDwgd2lkdGhXaXRoTWlsbGlz
ZWNvbmQgaXMgdHJ1ZQotUEFTUyB3aWR0aE9mU3RlcDYwID09IHdpZHRoV2l0aFNlY29uZCBpcyB0
cnVlCi1QQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCi0KLVRFU1QgQ09NUExFVEUKLQpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy90aW1lLW11bHRpcGxlLWZpZWxkcy90
aW1lLW11bHRpcGxlLWZpZWxkcy1jaGFuZ2UtbGF5b3V0LWJ5LXZhbHVlLmh0bWwgYi9MYXlvdXRU
ZXN0cy9mYXN0L2Zvcm1zL3RpbWUtbXVsdGlwbGUtZmllbGRzL3RpbWUtbXVsdGlwbGUtZmllbGRz
LWNoYW5nZS1sYXlvdXQtYnktdmFsdWUuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggNWEzZDc1YWMyZmJjNjFiMTQ5ZjA1NzlkMjJiYTIzZGJkNWRmODBiMy4uMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1z
L3RpbWUtbXVsdGlwbGUtZmllbGRzL3RpbWUtbXVsdGlwbGUtZmllbGRzLWNoYW5nZS1sYXlvdXQt
YnktdmFsdWUuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDI4ICswLDAgQEAKLTwhRE9DVFlQRSBo
dG1sPgotPGh0bWw+Ci08aGVhZD4KLTxzY3JpcHQgc3JjPSIuLi8uLi9qcy9yZXNvdXJjZXMvanMt
dGVzdC1wcmUuanMiPjwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHk+Ci08c2NyaXB0PgotZGVzY3Jp
cHRpb24oIkNoYW5nZSBtdWx0aXBsZSBmaWVsZHMgdGltZSBpbnB1dCBVSSBsYXlvdXQgYnkgdmFs
dWUiKTsKLXZhciB0ZXN0SW5wdXQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJpbnB1dCIpOwot
dGVzdElucHV0LnNldEF0dHJpYnV0ZSgidHlwZSIsICJ0aW1lIik7Ci10ZXN0SW5wdXQuc2V0QXR0
cmlidXRlKCJzdGVwIiwgIjYwIik7Ci10ZXN0SW5wdXQuc2V0QXR0cmlidXRlKCJ2YWx1ZSIsICIx
MjozNDo1NiIpOwotZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZCh0ZXN0SW5wdXQpOwotdmFyIHdp
ZHRoT2ZTdGVwNjAgPSB0ZXN0SW5wdXQub2Zmc2V0V2lkdGg7Ci0KLXRlc3RJbnB1dC52YWx1ZSA9
ICIxMjozNDo1Ni43ODkiOwotdmFyIHdpZHRoV2l0aE1pbGxpc2Vjb25kID0gdGVzdElucHV0Lm9m
ZnNldFdpZHRoOwotc2hvdWxkQmVUcnVlKCd3aWR0aE9mU3RlcDYwIDwgd2lkdGhXaXRoTWlsbGlz
ZWNvbmQnKTsKLQotdGVzdElucHV0LnZhbHVlID0gIjEyOjM0OjU2IjsKLXZhciB3aWR0aFdpdGhT
ZWNvbmQgPSB0ZXN0SW5wdXQub2Zmc2V0V2lkdGg7Ci1zaG91bGRCZVRydWUoJ3dpZHRoT2ZTdGVw
NjAgPT0gd2lkdGhXaXRoU2Vjb25kJyk7Ci0KLWRvY3VtZW50LmJvZHkucmVtb3ZlQ2hpbGQodGVz
dElucHV0KTsKLTwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii4uLy4uL2pzL3Jlc291cmNlcy9qcy10
ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgotPC9ib2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZmFzdC9mb3Jtcy90aW1lLW11bHRpcGxlLWZpZWxkcy90aW1lLW11bHRpcGxlLWZp
ZWxkcy1jaGFuZ2UtdHlwZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3Rp
bWUtbXVsdGlwbGUtZmllbGRzL3RpbWUtbXVsdGlwbGUtZmllbGRzLWNoYW5nZS10eXBlLWV4cGVj
dGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZmJmZWVkOTJjNmUwY2JhOGQ3
MjQ5YjZjODgzNGEzMDc5NTA0MDQxMS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3RpbWUtbXVsdGlwbGUtZmllbGRz
L3RpbWUtbXVsdGlwbGUtZmllbGRzLWNoYW5nZS10eXBlLWV4cGVjdGVkLnR4dAorKysgL2Rldi9u
dWxsCkBAIC0xICswLDAgQEAKLVBBU1MgaWYgbm90IGNyYXNoZWQuCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9mYXN0L2Zvcm1zL3RpbWUtbXVsdGlwbGUtZmllbGRzL3RpbWUtbXVsdGlwbGUtZmll
bGRzLWNoYW5nZS10eXBlLW9uLWZvY3VzLTItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFz
dC9mb3Jtcy90aW1lLW11bHRpcGxlLWZpZWxkcy90aW1lLW11bHRpcGxlLWZpZWxkcy1jaGFuZ2Ut
dHlwZS1vbi1mb2N1cy0yLWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggOTc3MDNlNzU0NGRmYzFhMTU0NWM3OWMxYTk3MDNmMzRmNWViNjFhNy4uMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1z
L3RpbWUtbXVsdGlwbGUtZmllbGRzL3RpbWUtbXVsdGlwbGUtZmllbGRzLWNoYW5nZS10eXBlLW9u
LWZvY3VzLTItZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEsNyArMCwwIEBACi1BU1NF
UlQgc2hvdWxkIG5vdCBiZSB0cmlnZ2VyZWQgd2hlbiB0eXBlIGlzIGNoYW5nZWQgaW4gZm9jdXMg
ZXZlbnQuCi0KLVBBU1MgdW5sZXNzIGNyYXNoLgotUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMg
dHJ1ZQotCi1URVNUIENPTVBMRVRFCi0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZm9y
bXMvdGltZS1tdWx0aXBsZS1maWVsZHMvdGltZS1tdWx0aXBsZS1maWVsZHMtY2hhbmdlLXR5cGUt
b24tZm9jdXMtMi5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy90aW1lLW11bHRpcGxlLWZp
ZWxkcy90aW1lLW11bHRpcGxlLWZpZWxkcy1jaGFuZ2UtdHlwZS1vbi1mb2N1cy0yLmh0bWwKZGVs
ZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGUwMmUxMzExMTc3YmNlMzA1Y2NhN2RmZmVmZjNk
MTZlYmZmMGVlZDcuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0t
IGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy90aW1lLW11bHRpcGxlLWZpZWxkcy90aW1lLW11bHRp
cGxlLWZpZWxkcy1jaGFuZ2UtdHlwZS1vbi1mb2N1cy0yLmh0bWwKKysrIC9kZXYvbnVsbApAQCAt
MSwyOSArMCwwIEBACi08IURPQ1RZUEUgaHRtbD4KLTxodG1sPjxib2R5IGNvbnRlbnRlZGl0YWJs
ZT0idHJ1ZSI+Ci08c2NyaXB0IHNyYz0iLi4vLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVz
dC1wcmUuanMiPjwvc2NyaXB0PgotCi08cD5BU1NFUlQgc2hvdWxkIG5vdCBiZSB0cmlnZ2VyZWQg
d2hlbiB0eXBlIGlzIGNoYW5nZWQgaW4gZm9jdXMgZXZlbnQuPC9wPgotCi08ZGl2IGlkPSJjb250
YWluZXIiPgotICAgIDxpbnB1dCBpZD0iaW5wdXQiIHR5cGU9InRpbWUiIHN0eWxlPSJtYXJnaW4t
dG9wOiAxMDAwcHg7Ij4KLTwvZGl2PgotPHByZSBpZD0iY29uc29sZSI+PC9wcmU+Ci0KLTxzY3Jp
cHQ+Ci1qc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKLQotaW5wdXQuYWRkRXZlbnRMaXN0ZW5lcignZm9j
dXMnLCBmdW5jdGlvbigpIHsKLSAgICBpbnB1dC50eXBlID0gJ3RleHQ7JwotfSk7Ci0KLXNldFRp
bWVvdXQoZnVuY3Rpb24oKSB7Ci0gICAgZXZlbnRTZW5kZXIua2V5RG93bignXHQnKTsKLSAgICBl
dmVudFNlbmRlci5rZXlEb3duKCdcdCcpOwotICAgIHNldFRpbWVvdXQoZnVuY3Rpb24oKSB7Ci0g
ICAgICAgIGNvbnRhaW5lci5pbm5lckhUTUwgPSAnUEFTUyB1bmxlc3MgY3Jhc2guJzsKLSAgICAg
ICAgZmluaXNoSlNUZXN0KCk7Ci0gICAgfSwgMCk7Ci19LCAwKTsKLTwvc2NyaXB0PgotPHNjcmlw
dCBzcmM9Ii4uLy4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3Jp
cHQ+Ci08L2JvZHk+PC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy90
aW1lLW11bHRpcGxlLWZpZWxkcy90aW1lLW11bHRpcGxlLWZpZWxkcy1jaGFuZ2UtdHlwZS1vbi1m
b2N1cy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3RpbWUtbXVsdGlwbGUt
ZmllbGRzL3RpbWUtbXVsdGlwbGUtZmllbGRzLWNoYW5nZS10eXBlLW9uLWZvY3VzLWV4cGVjdGVk
LnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYjU1Nzg2ODQ4MGIwZGIwOWU1Zjg2
NzhiYWFiZjZkNTM0MjYyZGYzMi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3RpbWUtbXVsdGlwbGUtZmllbGRzL3Rp
bWUtbXVsdGlwbGUtZmllbGRzLWNoYW5nZS10eXBlLW9uLWZvY3VzLWV4cGVjdGVkLnR4dAorKysg
L2Rldi9udWxsCkBAIC0xLDEyICswLDAgQEAKLUFzc2VydGlvbiBmYWlsdXJlIGJ5IGNoYW5naW5n
IHR5cGUgZnJvbSB0eXBlPXRpbWUgaW4gZm9jdXMgZXZlbnQuCi0KLU9uIHN1Y2Nlc3MsIHlvdSB3
aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENP
TVBMRVRFIi4KLQotCi0KLVBBU1MgTm90IGNyYXNoZWQuCi1QQVNTIG1vdXNlRG93bkNvdW50IGlz
IDEKLVBBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKLQotVEVTVCBDT01QTEVURQotCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3RpbWUtbXVsdGlwbGUtZmllbGRzL3Rp
bWUtbXVsdGlwbGUtZmllbGRzLWNoYW5nZS10eXBlLW9uLWZvY3VzLmh0bWwgYi9MYXlvdXRUZXN0
cy9mYXN0L2Zvcm1zL3RpbWUtbXVsdGlwbGUtZmllbGRzL3RpbWUtbXVsdGlwbGUtZmllbGRzLWNo
YW5nZS10eXBlLW9uLWZvY3VzLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGIx
YmQ3MjNmZjg1MGM0MjRhYjdhOTY5ODcxZjUzZDQyMWNmMjNlZDYuLjAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy90aW1l
LW11bHRpcGxlLWZpZWxkcy90aW1lLW11bHRpcGxlLWZpZWxkcy1jaGFuZ2UtdHlwZS1vbi1mb2N1
cy5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsMTggKzAsMCBAQAotPCFET0NUWVBFIEhUTUwgUFVC
TElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgotPGh0bWw+Ci08aGVhZD4KLTxzY3JpcHQgc3Jj
PSIuLi8uLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Ci08
c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL2NvbW1vbi1jaGFuZ2UtdHlwZS1vbi1mb2N1cy5qcyI+
PC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keT4KLTxwIGlkPSJkZXNjcmlwdGlvbiI+PC9wPgotCi08
aW5wdXQgaWQ9dGVzdCB0eXBlPXRpbWUgdmFsdWU9IjA3OjAwIj4KLQotPGRpdiBpZD0iY29uc29s
ZSI+PC9kaXY+Ci08c2NyaXB0PgotdGVzdENoYW5nZVR5cGVPbkZvY3VzKCk7Ci08L3NjcmlwdD4K
LTxzY3JpcHQgc3JjPSIuLi8uLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMi
Pjwvc2NyaXB0PgotPC9ib2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFz
dC9mb3Jtcy90aW1lLW11bHRpcGxlLWZpZWxkcy90aW1lLW11bHRpcGxlLWZpZWxkcy1jaGFuZ2Ut
dHlwZS5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy90aW1lLW11bHRpcGxlLWZpZWxkcy90
aW1lLW11bHRpcGxlLWZpZWxkcy1jaGFuZ2UtdHlwZS5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCBmMTA2YWI5NjIwODkwZWYwN2EwZDA1OTEyNmE0NzlmNWVkODUzYTIyLi4wMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2Zh
c3QvZm9ybXMvdGltZS1tdWx0aXBsZS1maWVsZHMvdGltZS1tdWx0aXBsZS1maWVsZHMtY2hhbmdl
LXR5cGUuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDEwICswLDAgQEAKLTxib2R5PgotPHNjcmlw
dD4KLWlmICh3aW5kb3cudGVzdFJ1bm5lcikKLSAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsK
LXZhciBpID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnaW5wdXQnKTsKLWkudHlwZSA9ICd0aW1l
JzsKLWkudHlwZSA9ICd0ZXh0JzsKLTwvc2NyaXB0PgotUEFTUyBpZiBub3QgY3Jhc2hlZC4KLTwv
Ym9keT4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvdGltZS1tdWx0aXBsZS1m
aWVsZHMvdGltZS1tdWx0aXBsZS1maWVsZHMtY2xlYXJidXR0b24tY2hhbmdlLWFuZC1pbnB1dC1l
dmVudHMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy90aW1lLW11bHRpcGxl
LWZpZWxkcy90aW1lLW11bHRpcGxlLWZpZWxkcy1jbGVhcmJ1dHRvbi1jaGFuZ2UtYW5kLWlucHV0
LWV2ZW50cy1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDZmNTE0
ODkyYmEyYTExZjU2NmVlNGZkNTZjZDUyMDU3OTA4MzE0OGIuLjAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy90aW1lLW11
bHRpcGxlLWZpZWxkcy90aW1lLW11bHRpcGxlLWZpZWxkcy1jbGVhcmJ1dHRvbi1jaGFuZ2UtYW5k
LWlucHV0LWV2ZW50cy1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSwxOSArMCwwIEBA
Ci1UZXN0IGZvciBldmVudCBkaXNwYXRjaGluZyBieSBzcGluIGJ1dHRvbnMgaW4gYSB0eXBlPXRp
bWUgaW5wdXQuCi0KLU9uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIg
bWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KLQotCi1Jbml0aWFsIHN0YXRl
Ci1QQVNTIGNoYW5nZUV2ZW50Q291bnRlciBpcyAwCi1QQVNTIGlucHV0RXZlbnRDb3VudGVyIGlz
IDAKLUNsaWNrIHRoZSBjbGVhciBidXR0b24KLVBBU1MgdGVzdElucHV0LnZhbHVlIGlzICIiCi1Q
QVNTIGNoYW5nZUV2ZW50Q291bnRlciBpcyAxCi1QQVNTIGlucHV0RXZlbnRDb3VudGVyIGlzIDEK
LUZvY3VzIG9uIGFub3RoZXIgZmllbGQKLVBBU1MgY2hhbmdlRXZlbnRDb3VudGVyIGlzIDEKLVBB
U1MgaW5wdXRFdmVudENvdW50ZXIgaXMgMQotUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1
ZQotCi1URVNUIENPTVBMRVRFCi0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMv
dGltZS1tdWx0aXBsZS1maWVsZHMvdGltZS1tdWx0aXBsZS1maWVsZHMtY2xlYXJidXR0b24tY2hh
bmdlLWFuZC1pbnB1dC1ldmVudHMuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvdGltZS1t
dWx0aXBsZS1maWVsZHMvdGltZS1tdWx0aXBsZS1maWVsZHMtY2xlYXJidXR0b24tY2hhbmdlLWFu
ZC1pbnB1dC1ldmVudHMuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZjE3ZDcw
YzYyOTQyNGQ4YTMxNzMyMmM4MzE5YzdjZmNhOWE1MTVlZS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3RpbWUtbXVs
dGlwbGUtZmllbGRzL3RpbWUtbXVsdGlwbGUtZmllbGRzLWNsZWFyYnV0dG9uLWNoYW5nZS1hbmQt
aW5wdXQtZXZlbnRzLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSwxNCArMCwwIEBACi08IURPQ1RZ
UEUgaHRtbD4KLTxodG1sPgotPGhlYWQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vLi4vZmFzdC9qcy9y
ZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii4uL3Jlc291
cmNlcy9jb21tb24uanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy9jb21t
b24tY2xlYXJidXR0b24tY2hhbmdlLWFuZC1pbnB1dC1ldmVudHMuanMiPjwvc2NyaXB0PgotPC9o
ZWFkPgotPGJvZHk+Ci08c2NyaXB0PgotdGVzdENsZWFyQnV0dG9uQ2hhbmdlQW5kSW5wdXRFdmVu
dHMoJ3RpbWUnLCAnMTI6MzQnKTsKLTwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii4uLy4uLy4uL2Zh
c3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Ci08L2JvZHk+Ci08L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3RpbWUtbXVsdGlwbGUtZmll
bGRzL3RpbWUtbXVsdGlwbGUtZmllbGRzLWNsZWFyYnV0dG9uLXZpc2liaWxpdHktYWZ0ZXItcmVz
dG9yZS1leHBlY3RlZC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy90aW1lLW11bHRpcGxl
LWZpZWxkcy90aW1lLW11bHRpcGxlLWZpZWxkcy1jbGVhcmJ1dHRvbi12aXNpYmlsaXR5LWFmdGVy
LXJlc3RvcmUtZXhwZWN0ZWQuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNWJj
ZTc5MzZiMjU2NTliNzQxODBmNDNkMWRhY2E0ZDhhNDlmMTBjZC4uMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3RpbWUt
bXVsdGlwbGUtZmllbGRzL3RpbWUtbXVsdGlwbGUtZmllbGRzLWNsZWFyYnV0dG9uLXZpc2liaWxp
dHktYWZ0ZXItcmVzdG9yZS1leHBlY3RlZC5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsMTAgKzAs
MCBAQAotPCFET0NUWVBFIGh0bWw+Ci08aHRtbD4KLTxib2R5PgotPGlucHV0IGlkPSJlbXB0eU9u
Rmlyc3RWaXNpdCIgdmFsdWU9InZpc2l0ZWQiPgotPGZvcm0gYWN0aW9uPSJkYXRhOnRleHQvaHRt
bCwmbHQ7c2NyaXB0Pmhpc3RvcnkuYmFjaygpJmx0Oy9zY3JpcHQ+IiBpZD1mb3JtMT4KLSAgICA8
aW5wdXQgdHlwZT10aW1lIGlkPWlucHV0MT4KLSAgICA8aW5wdXQgdHlwZT10aW1lIGlkPWlucHV0
MiB2YWx1ZT0iMDI6MDIiPgotICAgIDxpbnB1dCB0eXBlPXRpbWUgaWQ9aW5wdXQzIHZhbHVlPSIw
MzowMzowMy4wMDMiPgotPC9mb3JtPgotPC9ib2R5PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZmFzdC9mb3Jtcy90aW1lLW11bHRpcGxlLWZpZWxkcy90aW1lLW11bHRpcGxlLWZpZWxkcy1jbGVh
cmJ1dHRvbi12aXNpYmlsaXR5LWFmdGVyLXJlc3RvcmUuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3Qv
Zm9ybXMvdGltZS1tdWx0aXBsZS1maWVsZHMvdGltZS1tdWx0aXBsZS1maWVsZHMtY2xlYXJidXR0
b24tdmlzaWJpbGl0eS1hZnRlci1yZXN0b3JlLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDRiM2M0ZWU2ZDNmMDVjM2FlMGQ1ODFlM2RmZjI3MjJmYTEwY2JjZTMuLjAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9m
b3Jtcy90aW1lLW11bHRpcGxlLWZpZWxkcy90aW1lLW11bHRpcGxlLWZpZWxkcy1jbGVhcmJ1dHRv
bi12aXNpYmlsaXR5LWFmdGVyLXJlc3RvcmUuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDMyICsw
LDAgQEAKLTwhRE9DVFlQRSBodG1sPgotPGh0bWw+Ci08Ym9keT4KLTxpbnB1dCBpZD0iZW1wdHlP
bkZpcnN0VmlzaXQiPgotPGZvcm0gYWN0aW9uPSJkYXRhOnRleHQvaHRtbCwmbHQ7c2NyaXB0Pmhp
c3RvcnkuYmFjaygpJmx0Oy9zY3JpcHQ+IiBpZD1mb3JtMT4KLSAgICA8aW5wdXQgdHlwZT10aW1l
IGlkPWlucHV0MT4KLSAgICA8aW5wdXQgdHlwZT10aW1lIGlkPWlucHV0Mj4KLSAgICA8aW5wdXQg
dHlwZT10aW1lIGlkPWlucHV0MyB2YWx1ZT0iMDE6MDE6MDEuMDAxIj4KLTwvZm9ybT4KLQotPHNj
cmlwdD4KLS8vIFJlc3RvcmluZyB0aGUgZm9ybSBzaG91bGQgdXBkYXRlIHRoZSBjbGVhciBidXR0
b24gdmlzaWJpbGl0eS4KLXRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOwotZnVuY3Rpb24gcnVu
VGVzdCgpCi17Ci0gICAgdmFyIHN0YXRlID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2VtcHR5
T25GaXJzdFZpc2l0Jyk7Ci0gICAgaWYgKCFzdGF0ZS52YWx1ZSkgewotICAgICAgICAvLyBGaXJz
dCB2aXNpdC4KLSAgICAgICAgc2V0VGltZW91dChmdW5jdGlvbigpIHsKLSAgICAgICAgICAgIHN0
YXRlLnZhbHVlID0gJ3Zpc2l0ZWQnOwotICAgICAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoJ2lucHV0MicpLnZhbHVlID0gIjAyOjAyIjsKLSAgICAgICAgICAgIGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCdpbnB1dDMnKS52YWx1ZSA9ICIwMzowMzowMy4wMDMiOwotICAgICAgICAgICAg
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2Zvcm0xJykuc3VibWl0KCk7Ci0gICAgICAgIH0sIDAp
OwotICAgIH0gZWxzZSB7Ci0gICAgICAgIHRlc3RSdW5uZXIubm90aWZ5RG9uZSgpOwotICAgIH0K
LX0KLQotd2luZG93Lm9ubG9hZCA9IHJ1blRlc3Q7Ci08L3NjcmlwdD4KLTwvYm9keT4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvdGltZS1tdWx0aXBsZS1maWVsZHMvdGltZS1t
dWx0aXBsZS1maWVsZHMtY3Jhc2gtYWZ0ZXItYWRvcHRub2RlLWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2Zhc3QvZm9ybXMvdGltZS1tdWx0aXBsZS1maWVsZHMvdGltZS1tdWx0aXBsZS1maWVs
ZHMtY3Jhc2gtYWZ0ZXItYWRvcHRub2RlLWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggM2M3ZWY4ZWQxZDk1N2I0M2UxZGU4YTJiNjQ4NTAzOTlkYmM2NGE4MC4uMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9m
YXN0L2Zvcm1zL3RpbWUtbXVsdGlwbGUtZmllbGRzL3RpbWUtbXVsdGlwbGUtZmllbGRzLWNyYXNo
LWFmdGVyLWFkb3B0bm9kZS1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSwxMSArMCww
IEBACi1DaGVjayBhZG9wdE5vZGUgZGlzcGF0Y2hzIGJsdXIgZXZlbnQgZm9yIG11bHRpcGxlIGZp
ZWxkcyB0aW1lIGlucHV0IFVJCi0KLU9uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBv
ZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KLQotCi1QQVNT
IGxvZ3MudG9TdHJpbmcoKSBpcyAic3RhcnQtYWRvcHROb2RlLGJsdXIsZW5kLWFkb3B0Tm9kZSxz
dGFydC1mb2N1cyxlbmQtZm9jdXMiCi0KLVBBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUK
LQotVEVTVCBDT01QTEVURQotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3Rp
bWUtbXVsdGlwbGUtZmllbGRzL3RpbWUtbXVsdGlwbGUtZmllbGRzLWNyYXNoLWFmdGVyLWFkb3B0
bm9kZS5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy90aW1lLW11bHRpcGxlLWZpZWxkcy90
aW1lLW11bHRpcGxlLWZpZWxkcy1jcmFzaC1hZnRlci1hZG9wdG5vZGUuaHRtbApkZWxldGVkIGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggOGI2ZmE4N2RlYTk2MTA2MDdjZmEwNzA4NjU1ZTlkYTE0YTBl
ZTBhYS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlv
dXRUZXN0cy9mYXN0L2Zvcm1zL3RpbWUtbXVsdGlwbGUtZmllbGRzL3RpbWUtbXVsdGlwbGUtZmll
bGRzLWNyYXNoLWFmdGVyLWFkb3B0bm9kZS5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsMzEgKzAs
MCBAQAotPCFET0NUWVBFIGh0bWw+Ci08aHRtbD4KLTxoZWFkPgotPHNjcmlwdCBzcmM9Ii4uLy4u
L2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keT4K
LTxkaXYgaWQ9ImNvbnRhaW5lciI+Ci08aW5wdXQgYXV0b2ZvY3VzIGlkPSJ0ZXN0IiB0eXBlPSJ0
aW1lIiB2YWx1ZT0iMTI6MzQiPgotPC9kaXY+Ci08c2NyaXB0PgotZGVzY3JpcHRpb24oJ0NoZWNr
IGFkb3B0Tm9kZSBkaXNwYXRjaHMgYmx1ciBldmVudCBmb3IgbXVsdGlwbGUgZmllbGRzIHRpbWUg
aW5wdXQgVUknKTsKLXZhciBjb250YWluZXIgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29u
dGFpbmVyIik7Ci12YXIgdGVzdElucHV0ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3Rlc3Qn
KTsKLXZhciBsb2dzID0gW107Ci10ZXN0SW5wdXQuYWRkRXZlbnRMaXN0ZW5lcignYmx1cicsIGZ1
bmN0aW9uICgpIHsgbG9ncy5wdXNoKCdibHVyJyk7IH0pOwotbG9ncy5wdXNoKCdzdGFydC1hZG9w
dE5vZGUnKTsKLWRvY3VtZW50LmltcGxlbWVudGF0aW9uLmNyZWF0ZURvY3VtZW50KCcnLCAnJywg
bnVsbCkuYWRvcHROb2RlKHRlc3RJbnB1dCk7Ci1sb2dzLnB1c2goJ2VuZC1hZG9wdE5vZGUnKTsK
LXRlc3RJbnB1dC5zZXRBdHRyaWJ1dGUoJ3gnLCAneCcpOwotdGVzdElucHV0LnNldEF0dHJpYnV0
ZSgndHlwZScsICdzdWJtaXQnKTsKLWNvbnRhaW5lci5hcHBlbmRDaGlsZCh0ZXN0SW5wdXQpOwot
bG9ncy5wdXNoKCdzdGFydC1mb2N1cycpOwotdGVzdElucHV0LmZvY3VzKCk7Ci1sb2dzLnB1c2go
J2VuZC1mb2N1cycpOwotc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdsb2dzLnRvU3RyaW5nKCknLCAn
c3RhcnQtYWRvcHROb2RlLGJsdXIsZW5kLWFkb3B0Tm9kZSxzdGFydC1mb2N1cyxlbmQtZm9jdXMn
KTsKLWRlYnVnKCcnKTsKLWRvY3VtZW50LmJvZHkucmVtb3ZlQ2hpbGQoY29udGFpbmVyKTsKLTwv
c2NyaXB0PgotPHNjcmlwdCBzcmM9Ii4uLy4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMi
Pjwvc2NyaXB0PgotPC9ib2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFz
dC9mb3Jtcy90aW1lLW11bHRpcGxlLWZpZWxkcy90aW1lLW11bHRpcGxlLWZpZWxkcy1mYWxsYmFj
ay1mb3JtYXQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy90aW1lLW11bHRp
cGxlLWZpZWxkcy90aW1lLW11bHRpcGxlLWZpZWxkcy1mYWxsYmFjay1mb3JtYXQtZXhwZWN0ZWQu
dHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA0MjE3NGQ0MmVmN2EwNWMzMjIyY2Mx
OWJmMTkyMzFkYmZkZGQwNzIyLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwCi0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvdGltZS1tdWx0aXBsZS1maWVsZHMvdGlt
ZS1tdWx0aXBsZS1maWVsZHMtZmFsbGJhY2stZm9ybWF0LWV4cGVjdGVkLnR4dAorKysgL2Rldi9u
dWxsCkBAIC0xLDE3ICswLDAgQEAKLUNoZWNrcyBpbmNvbXBsZXRlIGRhdGV0aW1lIGZvcm1hdHMg
YXJlIHJlamVjdGVkLgotCi1PbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBB
U1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCi0KLQotVmFsaWQgZm9y
bWF0Ci1QQVNTIGdldFVzZXJBZ2VudFNoYWRvd1RleHRDb250ZW50KGlucHV0KSBpcyAiMDEuMjM0
OjU5OjExIFBNIgotUEFTUyBnZXRVc2VyQWdlbnRTaGFkb3dUZXh0Q29udGVudChpbnB1dCkgaXMg
IjAxLjIzNDo1OToyMyIKLVBBU1MgZ2V0VXNlckFnZW50U2hhZG93VGV4dENvbnRlbnQoaW5wdXQp
IGlzICIwMS4yMzQ6NTk6MjMgUE0iCi1JbnZhbGlkIGZvcm1hdCwgZmFsbGJhY2sgdG8gSEg6bW06
c3MKLVBBU1MgZ2V0VXNlckFnZW50U2hhZG93VGV4dENvbnRlbnQoaW5wdXQpIGlzICIyMzo1OTow
MS4yMzQiCi1QQVNTIGdldFVzZXJBZ2VudFNoYWRvd1RleHRDb250ZW50KGlucHV0KSBpcyAiMjM6
NTk6MDEuMjM0IgotUEFTUyBnZXRVc2VyQWdlbnRTaGFkb3dUZXh0Q29udGVudChpbnB1dCkgaXMg
IjIzOjU5OjAxLjIzNCIKLVBBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKLQotVEVTVCBD
T01QTEVURQotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3RpbWUtbXVsdGlw
bGUtZmllbGRzL3RpbWUtbXVsdGlwbGUtZmllbGRzLWZhbGxiYWNrLWZvcm1hdC5odG1sIGIvTGF5
b3V0VGVzdHMvZmFzdC9mb3Jtcy90aW1lLW11bHRpcGxlLWZpZWxkcy90aW1lLW11bHRpcGxlLWZp
ZWxkcy1mYWxsYmFjay1mb3JtYXQuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
NzY2ZTE2MTdmOTdlMWY3ODYzNDBhNTljYTY1NDkxZDg0ZmExOTFkMS4uMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3Rp
bWUtbXVsdGlwbGUtZmllbGRzL3RpbWUtbXVsdGlwbGUtZmllbGRzLWZhbGxiYWNrLWZvcm1hdC5o
dG1sCisrKyAvZGV2L251bGwKQEAgLTEsNDMgKzAsMCBAQAotPCFET0NUWVBFIGh0bWw+Ci08aHRt
bD4KLTxoZWFkPgotPHNjcmlwdCBzcmM9Ii4uLy4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5q
cyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL2NvbW1vbi5qcyI+PC9zY3Jp
cHQ+Ci08L2hlYWQ+Ci08Ym9keT4KLTxzY3JpcHQ+Ci1kZXNjcmlwdGlvbignQ2hlY2tzIGluY29t
cGxldGUgZGF0ZXRpbWUgZm9ybWF0cyBhcmUgcmVqZWN0ZWQuJyk7Ci0KLXZhciBpbnB1dCA9IGRv
Y3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2lucHV0Jyk7Ci1pbnB1dC50eXBlID0gJ3RpbWUnOwotZG9j
dW1lbnQuYm9keS5hcHBlbmRDaGlsZChpbnB1dCk7Ci0KLWZ1bmN0aW9uIHNldERhdGVUaW1lRm9y
bWF0KHBhdHRlcm4pIHsKLSAgICB2YXIgdmFsdWUgPSBpbnB1dC52YWx1ZTsKLSAgICBnZXRFbGVt
ZW50QnlQc2V1ZG9JZChpbnRlcm5hbHMueW91bmdlc3RTaGFkb3dSb290KGlucHV0KSwgJy13ZWJr
aXQtZGF0ZXRpbWUtZWRpdCcpLnNldEF0dHJpYnV0ZSgncGF0dGVybicsIHBhdHRlcm4pOwotICAg
IGlucHV0LnZhbHVlID0gJyc7IC8vIFVwZGF0ZXMgdGhlIGVsZW1lbnQgZm9yIG5ldyBmb3JtYXQK
LSAgICBpbnB1dC52YWx1ZSA9IHZhbHVlOwotfQotCi1pbnB1dC52YWx1ZSA9ICcyMzo1OTowMS4y
MzQnOwotCi1kZWJ1ZygnVmFsaWQgZm9ybWF0Jyk7Ci1zZXREYXRlVGltZUZvcm1hdCgnc3M6bW06
aGggYScpOwotc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdnZXRVc2VyQWdlbnRTaGFkb3dUZXh0Q29u
dGVudChpbnB1dCknLCAnMDEuMjM0OjU5OjExIFBNJyk7Ci1zZXREYXRlVGltZUZvcm1hdCgnc3M6
bW06SEgnKTsKLXNob3VsZEJlRXF1YWxUb1N0cmluZygnZ2V0VXNlckFnZW50U2hhZG93VGV4dENv
bnRlbnQoaW5wdXQpJywgJzAxLjIzNDo1OToyMycpOwotc2V0RGF0ZVRpbWVGb3JtYXQoJ3NzOm1t
OkhIIGEnKTsKLXNob3VsZEJlRXF1YWxUb1N0cmluZygnZ2V0VXNlckFnZW50U2hhZG93VGV4dENv
bnRlbnQoaW5wdXQpJywgJzAxLjIzNDo1OToyMyBQTScpOwotCi1kZWJ1ZygnSW52YWxpZCBmb3Jt
YXQsIGZhbGxiYWNrIHRvIEhIOm1tOnNzJyk7Ci1zZXREYXRlVGltZUZvcm1hdCgnSEgnKTsKLXNo
b3VsZEJlRXF1YWxUb1N0cmluZygnZ2V0VXNlckFnZW50U2hhZG93VGV4dENvbnRlbnQoaW5wdXQp
JywgJzIzOjU5OjAxLjIzNCcpOwotc2V0RGF0ZVRpbWVGb3JtYXQoJ21tOnNzJyk7Ci1zaG91bGRC
ZUVxdWFsVG9TdHJpbmcoJ2dldFVzZXJBZ2VudFNoYWRvd1RleHRDb250ZW50KGlucHV0KScsICcy
Mzo1OTowMS4yMzQnKTsKLXNldERhdGVUaW1lRm9ybWF0KCdoaDptbTpzcycpOwotc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCdnZXRVc2VyQWdlbnRTaGFkb3dUZXh0Q29udGVudChpbnB1dCknLCAnMjM6
NTk6MDEuMjM0Jyk7Ci0KLTwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii4uLy4uL2pzL3Jlc291cmNl
cy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgotPC9ib2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy90aW1lLW11bHRpcGxlLWZpZWxkcy90aW1lLW11bHRp
cGxlLWZpZWxkcy1mb2N1cy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3Rp
bWUtbXVsdGlwbGUtZmllbGRzL3RpbWUtbXVsdGlwbGUtZmllbGRzLWZvY3VzLWV4cGVjdGVkLnR4
dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMWRlNGY3OTYzMGIxNzI0YWUyNDIxYjgz
ZjI0NDc3YTRkMDg4OTk4Mi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3RpbWUtbXVsdGlwbGUtZmllbGRzL3RpbWUt
bXVsdGlwbGUtZmllbGRzLWZvY3VzLWV4cGVjdGVkLnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDE1
ICswLDAgQEAKLUNoZWNrIGlmIGZvY3VzKCkgZm9yIGZvY3VzZWQgaW5wdXQgZG9lcyBub3QgY2hh
bmdlIGZvY3VzZWQgc3ViLWZpZWxkLgotCi1PbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJp
ZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCi0KLQot
TW92ZSBmb2N1cyB0byB0aGUgc2Vjb25kIHN1Yi1maWVsZDoKLVBBU1MgZG9jdW1lbnQuYWN0aXZl
RWxlbWVudCBpcyB0aW1lSW5wdXQKLVBBU1MgcHNldWRvT2ZGb2N1c2VkKHRpbWVJbnB1dCkgaXMg
Ii13ZWJraXQtZGF0ZXRpbWUtZWRpdC1taW51dGUtZmllbGQiCi1QQVNTIHRpbWVJbnB1dC5mb2N1
cygpOyBwc2V1ZG9PZkZvY3VzZWQodGltZUlucHV0KSBpcyAiLXdlYmtpdC1kYXRldGltZS1lZGl0
LW1pbnV0ZS1maWVsZCIKLUNsaWNrIG9uIGEgZGVsaW1pdGVyIGJldHdlZW4gc3ViLWZpZWxkcywg
dGhlbiBjaGVjayBpZiBmb2N1c2VkIGVsZW1lbnQgaXMgbm90IGNoYW5nZWQ6Ci1QQVNTIHBzZXVk
b09mRm9jdXNlZCh0aW1lSW5wdXQpIGlzICItd2Via2l0LWRhdGV0aW1lLWVkaXQtbWludXRlLWZp
ZWxkIgotUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQotCi1URVNUIENPTVBMRVRFCi0K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvdGltZS1tdWx0aXBsZS1maWVsZHMv
dGltZS1tdWx0aXBsZS1maWVsZHMtZm9jdXMtc3R5bGUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvZmFzdC9mb3Jtcy90aW1lLW11bHRpcGxlLWZpZWxkcy90aW1lLW11bHRpcGxlLWZpZWxkcy1m
b2N1cy1zdHlsZS1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGY0
YTk1ZTM1NzA0NWQ1NTc5OTNmODY2MTJlMTc1NzcyNjA5NGJlMWQuLjAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy90aW1l
LW11bHRpcGxlLWZpZWxkcy90aW1lLW11bHRpcGxlLWZpZWxkcy1mb2N1cy1zdHlsZS1leHBlY3Rl
ZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSwyMCArMCwwIEBACi1DaGVjayBmb2N1cyBzdHlsZSBm
b3IgbXVsdGlwbGUgZmllbGRzIHRpbWUgaW5wdXQgVUkKLQotT24gc3VjY2VzcywgeW91IHdpbGwg
c2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExF
VEUiLgotCi0KLVBBU1MgIi13ZWJraXQtZGF0ZXRpbWUtZWRpdC1ob3VyLWZpZWxkIjsgc3R5bGUu
YmFja2dyb3VuZENvbG9yIGlzIGhpZ2hsaWdodAotUEFTUyAiLXdlYmtpdC1kYXRldGltZS1lZGl0
LWhvdXItZmllbGQiOyBzdHlsZS5jb2xvciBpcyBoaWdobGlnaHR0ZXh0Ci1QQVNTICItd2Via2l0
LWRhdGV0aW1lLWVkaXQtbWludXRlLWZpZWxkIjsgc3R5bGUuYmFja2dyb3VuZENvbG9yIGlzIGhp
Z2hsaWdodAotUEFTUyAiLXdlYmtpdC1kYXRldGltZS1lZGl0LW1pbnV0ZS1maWVsZCI7IHN0eWxl
LmNvbG9yIGlzIGhpZ2hsaWdodHRleHQKLVBBU1MgIi13ZWJraXQtZGF0ZXRpbWUtZWRpdC1zZWNv
bmQtZmllbGQiOyBzdHlsZS5iYWNrZ3JvdW5kQ29sb3IgaXMgaGlnaGxpZ2h0Ci1QQVNTICItd2Vi
a2l0LWRhdGV0aW1lLWVkaXQtc2Vjb25kLWZpZWxkIjsgc3R5bGUuY29sb3IgaXMgaGlnaGxpZ2h0
dGV4dAotUEFTUyAiLXdlYmtpdC1kYXRldGltZS1lZGl0LW1pbGxpc2Vjb25kLWZpZWxkIjsgc3R5
bGUuYmFja2dyb3VuZENvbG9yIGlzIGhpZ2hsaWdodAotUEFTUyAiLXdlYmtpdC1kYXRldGltZS1l
ZGl0LW1pbGxpc2Vjb25kLWZpZWxkIjsgc3R5bGUuY29sb3IgaXMgaGlnaGxpZ2h0dGV4dAotUEFT
UyAiLXdlYmtpdC1kYXRldGltZS1lZGl0LWFtcG0tZmllbGQiOyBzdHlsZS5iYWNrZ3JvdW5kQ29s
b3IgaXMgaGlnaGxpZ2h0Ci1QQVNTICItd2Via2l0LWRhdGV0aW1lLWVkaXQtYW1wbS1maWVsZCI7
IHN0eWxlLmNvbG9yIGlzIGhpZ2hsaWdodHRleHQKLQotUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQg
aXMgdHJ1ZQotCi1URVNUIENPTVBMRVRFCi1QbGVhc2UgcnVuIHRoaXMgdGVzdCB3aXRoaW4gRHVt
cFJlbmRlclRyZWUuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3RpbWUtbXVs
dGlwbGUtZmllbGRzL3RpbWUtbXVsdGlwbGUtZmllbGRzLWZvY3VzLXN0eWxlLmh0bWwgYi9MYXlv
dXRUZXN0cy9mYXN0L2Zvcm1zL3RpbWUtbXVsdGlwbGUtZmllbGRzL3RpbWUtbXVsdGlwbGUtZmll
bGRzLWZvY3VzLXN0eWxlLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDZmYTBl
ZDMzZTJkZTc2ZDRiOGU3YTc5ZTFkMWNiYTg2MGU1ZTExNDcuLjAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy90aW1lLW11
bHRpcGxlLWZpZWxkcy90aW1lLW11bHRpcGxlLWZpZWxkcy1mb2N1cy1zdHlsZS5odG1sCisrKyAv
ZGV2L251bGwKQEAgLTEsNTEgKzAsMCBAQAotPCFET0NUWVBFIGh0bWw+Ci08aHRtbD4KLTxoZWFk
PgotPHNjcmlwdCBzcmM9Ii4uLy4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3Jp
cHQ+Ci08c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL2NvbW1vbi5qcyI+PC9zY3JpcHQ+Ci08L2hl
YWQ+Ci08Ym9keT4KLVBsZWFzZSBydW4gdGhpcyB0ZXN0IHdpdGhpbiBEdW1wUmVuZGVyVHJlZS4K
LTxzY3JpcHQ+Ci1mdW5jdGlvbiBrZXlEb3duKGtleSwgbW9kaWZpZXJzKQotewotICAgIGlmICgh
d2luZG93LmV2ZW50U2VuZGVyKQotICAgICAgICByZXR1cm47Ci0gICAgZXZlbnRTZW5kZXIua2V5
RG93bihrZXksIG1vZGlmaWVycyk7Ci19Ci1kZXNjcmlwdGlvbignQ2hlY2sgZm9jdXMgc3R5bGUg
Zm9yIG11bHRpcGxlIGZpZWxkcyB0aW1lIGlucHV0IFVJJyk7Ci12YXIgdGVzdElucHV0ID0gZG9j
dW1lbnQuY3JlYXRlRWxlbWVudCgiaW5wdXQiKTsKLXRlc3RJbnB1dC5zZXRBdHRyaWJ1dGUoInR5
cGUiLCAidGltZSIpOwotdGVzdElucHV0LnNldEF0dHJpYnV0ZSgic3RlcCIsICIwLjAwMSIpOwot
ZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZCh0ZXN0SW5wdXQpOwotCi12YXIgc2FtcGxlID0gZG9j
dW1lbnQuY3JlYXRlRWxlbWVudCgic3BhbiIpOwotc2FtcGxlLnN0eWxlLmJhY2tncm91bmRDb2xv
ciA9ICJoaWdobGlnaHQiOwotc2FtcGxlLnN0eWxlLmNvbG9yID0gImhpZ2hsaWdodHRleHQiOwot
ZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChzYW1wbGUpOwotdmFyIHNhbXBsZVN0eWxlID0gZ2V0
Q29tcHV0ZWRTdHlsZShzYW1wbGUpOwotdmFyIGhpZ2hsaWdodHRleHQgPSBzYW1wbGVTdHlsZS5j
b2xvcjsKLXZhciBoaWdobGlnaHQgPSBzYW1wbGVTdHlsZS5iYWNrZ3JvdW5kQ29sb3I7Ci0KLXRl
c3RJbnB1dC5mb2N1cygpOwotdmFyIHNoYWRvd1Jvb3QgPSBpbnRlcm5hbHMub2xkZXN0U2hhZG93
Um9vdCh0ZXN0SW5wdXQpOwotdmFyIGZpZWxkcyA9IGdldEVsZW1lbnRCeVBzZXVkb0lkKHNoYWRv
d1Jvb3QsICItd2Via2l0LWRhdGV0aW1lLWVkaXQtZmllbGRzLXdyYXBwZXIiKS5jaGlsZE5vZGVz
OwotZm9yICh2YXIgaW5kZXggPSAwOyBpbmRleCA8IGZpZWxkcy5sZW5ndGg7ICsraW5kZXgpIHsK
LSAgICB2YXIgZmllbGQgPSBmaWVsZHNbaW5kZXhdOwotICAgIGlmIChmaWVsZC5ub2RlVHlwZSAh
PSAxKQotICAgICAgICBjb250aW51ZTsKLSAgICB2YXIgaWQgPSBpbnRlcm5hbHMuc2hhZG93UHNl
dWRvSWQoZmllbGQpOwotICAgIGlmIChpZC5pbmRleE9mKCctZmllbGQnKSA8IDApCi0gICAgICAg
IGNvbnRpbnVlOwotICAgIHZhciBzdHlsZSA9IGdldENvbXB1dGVkU3R5bGUoZmllbGQpOwotICAg
IHNob3VsZEJlKCciJyArIGlkICsgJyI7IHN0eWxlLmJhY2tncm91bmRDb2xvcicsICdoaWdobGln
aHQnKTsKLSAgICBzaG91bGRCZSgnIicgKyBpZCArICciOyBzdHlsZS5jb2xvcicsICdoaWdobGln
aHR0ZXh0Jyk7Ci0gICAga2V5RG93bigncmlnaHRBcnJvdycpOwotfQotZGVidWcoJycpOwotdGVz
dElucHV0LnBhcmVudEVsZW1lbnQucmVtb3ZlQ2hpbGQodGVzdElucHV0KTsKLXNhbXBsZS5wYXJl
bnRFbGVtZW50LnJlbW92ZUNoaWxkKHNhbXBsZSk7Ci08L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIu
Li8uLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KLTwvYm9keT4KLTwv
aHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvdGltZS1tdWx0aXBsZS1m
aWVsZHMvdGltZS1tdWx0aXBsZS1maWVsZHMtZm9jdXMuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3Qv
Zm9ybXMvdGltZS1tdWx0aXBsZS1maWVsZHMvdGltZS1tdWx0aXBsZS1maWVsZHMtZm9jdXMuaHRt
bApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNzc4ZjcxZjQwOTdmN2M0NTM3YzgzODg5
MDg2OGM3N2U1NTRhNjU3Yy4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3RpbWUtbXVsdGlwbGUtZmllbGRzL3RpbWUt
bXVsdGlwbGUtZmllbGRzLWZvY3VzLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSwzMiArMCwwIEBA
Ci08IURPQ1RZUEUgaHRtbD4KLTxib2R5PgotPHNjcmlwdCBzcmM9Ii4uLy4uL2pzL3Jlc291cmNl
cy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Ci08aW5wdXQgaWQ9InRpbWVJbnB1dCIgdHlwZT0i
dGltZSIgdmFsdWU9IjAxOjAxIiBzdHlsZT0iZm9udC1zaXplOjIwcHgiIGF1dG9mb2N1cz4KLTxz
Y3JpcHQ+Ci1mdW5jdGlvbiBkaXNwYXRjaEtleUV2ZW50VG8odHlwZSwga2V5LCB0YXJnZXQpIHsK
LSAgICB2YXIgZXZlbnQgPSBkb2N1bWVudC5jcmVhdGVFdmVudCgnS2V5Ym9hcmRFdmVudCcpOwot
ICAgIGV2ZW50LmluaXRLZXlib2FyZEV2ZW50KHR5cGUsIHRydWUsIHRydWUsIGRvY3VtZW50LmRl
ZmF1bHRWaWV3LCBrZXkpOwotICAgIHRhcmdldC5kaXNwYXRjaEV2ZW50KGV2ZW50KTsKLX0KLQot
ZnVuY3Rpb24gcHNldWRvT2ZGb2N1c2VkKCkgewotICAgIHJldHVybiBpbnRlcm5hbHMueW91bmdl
c3RTaGFkb3dSb290KHRpbWVJbnB1dCkuYWN0aXZlRWxlbWVudC5nZXRBdHRyaWJ1dGUoInBzZXVk
byIpOwotfQotCi1kZXNjcmlwdGlvbignQ2hlY2sgaWYgZm9jdXMoKSBmb3IgZm9jdXNlZCBpbnB1
dCBkb2VzIG5vdCBjaGFuZ2UgZm9jdXNlZCBzdWItZmllbGQuJyk7Ci1kZWJ1ZygnTW92ZSBmb2N1
cyB0byB0aGUgc2Vjb25kIHN1Yi1maWVsZDonKTsKLXZhciB0aW1lSW5wdXQgPSBkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgndGltZUlucHV0Jyk7Ci1zaG91bGRCZSgnZG9jdW1lbnQuYWN0aXZlRWxl
bWVudCcsICd0aW1lSW5wdXQnKTsKLWRpc3BhdGNoS2V5RXZlbnRUbygna2V5ZG93bicsICdSaWdo
dCcsIHRpbWVJbnB1dCk7Ci1zaG91bGRCZUVxdWFsVG9TdHJpbmcoJ3BzZXVkb09mRm9jdXNlZCh0
aW1lSW5wdXQpJywgJy13ZWJraXQtZGF0ZXRpbWUtZWRpdC1taW51dGUtZmllbGQnKTsKLXNob3Vs
ZEJlRXF1YWxUb1N0cmluZygndGltZUlucHV0LmZvY3VzKCk7IHBzZXVkb09mRm9jdXNlZCh0aW1l
SW5wdXQpJywgJy13ZWJraXQtZGF0ZXRpbWUtZWRpdC1taW51dGUtZmllbGQnKTsKLQotZGVidWco
J0NsaWNrIG9uIGEgZGVsaW1pdGVyIGJldHdlZW4gc3ViLWZpZWxkcywgdGhlbiBjaGVjayBpZiBm
b2N1c2VkIGVsZW1lbnQgaXMgbm90IGNoYW5nZWQ6Jyk7Ci12YXIgZm9jdXNlZEZpZWxkID0gaW50
ZXJuYWxzLnlvdW5nZXN0U2hhZG93Um9vdCh0aW1lSW5wdXQpLmFjdGl2ZUVsZW1lbnQ7Ci1ldmVu
dFNlbmRlci5tb3VzZU1vdmVUbyhmb2N1c2VkRmllbGQub2Zmc2V0TGVmdCArIGZvY3VzZWRGaWVs
ZC5vZmZzZXRXaWR0aCArIDEwLCBmb2N1c2VkRmllbGQub2Zmc2V0VG9wICsgMTApOwotZXZlbnRT
ZW5kZXIubW91c2VEb3duKCk7Ci1ldmVudFNlbmRlci5tb3VzZVVwKCk7Ci1zaG91bGRCZUVxdWFs
VG9TdHJpbmcoJ3BzZXVkb09mRm9jdXNlZCh0aW1lSW5wdXQpJywgJy13ZWJraXQtZGF0ZXRpbWUt
ZWRpdC1taW51dGUtZmllbGQnKTsKLTwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii4uLy4uL2pzL3Jl
c291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgotPC9ib2R5PgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy90aW1lLW11bHRpcGxlLWZpZWxkcy90aW1lLW11bHRpcGxl
LWZpZWxkcy1rZXlib2FyZC1ldmVudHMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9m
b3Jtcy90aW1lLW11bHRpcGxlLWZpZWxkcy90aW1lLW11bHRpcGxlLWZpZWxkcy1rZXlib2FyZC1l
dmVudHMtZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBlOTliMjJi
ZTgxMTdjNmZjNmZmMDAwMzg2ZjIzY2I2YmJkMDhiZjFlLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvdGltZS1tdWx0
aXBsZS1maWVsZHMvdGltZS1tdWx0aXBsZS1maWVsZHMta2V5Ym9hcmQtZXZlbnRzLWV4cGVjdGVk
LnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDc2ICswLDAgQEAKLU11bHRpcGxlIGZpZWxkcyBVSSBv
ZiB0aW1lIGlucHV0IHR5cGUgd2l0aCBrZXlib2FyZCBldmVudHMKLQotT24gc3VjY2VzcywgeW91
IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1Qg
Q09NUExFVEUiLgotCi0KLVBsZWFzZSBydW4gdGhpcyB3aXRoIER1bXBSZW5kZXJUcmVlLgotCi1U
ZXN0IGZvbGxvd2luZyBrZXlzOgotRGlnaXQga2V5cwotTGVmdC9SaWdodCAtIE1vdmUgZm9jdXMg
ZmllbGQgaW5zaWRlIGVsZW1lbnQKLVVwL0Rvd24gLSBJbmNyZW1lbnQvZGVjcmVtZW50IHZhbHVl
IG9mIGZvY3VzIGZpZWxkCi1UYWIgLSBNb3ZlIGZvY3VzIGZpZWxkCi1CYWNrc3BhY2UgLSBNYWtl
IHZhbHVlIGVtcHR5Ci0gIAotPT0gRGlnaXQga2V5cyA9PQotUEFTUyBldmVudHNDb3VudGVyLmlu
cHV0IGlzIHVuZGVmaW5lZC4KLVBBU1MgZXZlbnRzQ291bnRlci5jaGFuZ2UgaXMgdW5kZWZpbmVk
LgotUEFTUyBpbnB1dC52YWx1ZSBpcyAiMDc6NTYiCi1QQVNTIGV2ZW50c0NvdW50ZXIuaW5wdXQg
aXMgMQotUEFTUyBldmVudHNDb3VudGVyLmNoYW5nZSBpcyAxCi09PSBEaWdpdCBrZXlzIHN0YXJ0
aW5nIHdpdGggemVybyA9PQotUEFTUyBpbnB1dC52YWx1ZSBpcyAiMTQ6MDMiCi09PSBEaWdpdCBr
ZXlzIGFuZCBiYWNrc3BhY2Uga2V5ID09Ci1QQVNTIGlucHV0LnZhbHVlIGlzICIxNzowNiIKLT09
IExlZnQvUmlnaHQga2V5cyA9PQotUEFTUyBpbnB1dC52YWx1ZSBpcyAiMDY6MDUiCi1QQVNTIGRv
Y3VtZW50LmFjdGl2ZUVsZW1lbnQuaWQgaXMgImlucHV0IgotPT0gVXAvRG93biBrZXlzID09Ci1Q
QVNTIGlucHV0LnZhbHVlIGlzICIwNTo1NiIKLVBBU1MgaW5wdXQudmFsdWUgaXMgIjAzOjU2Igot
PT0gVXAvRG93biBrZXlzIG9uIGVtcHR5IHZhbHVlID09Ci1QQVNTIGV2ZW50c0NvdW50ZXIuaW5w
dXQgaXMgdW5kZWZpbmVkLgotUEFTUyBldmVudHNDb3VudGVyLmNoYW5nZSBpcyB1bmRlZmluZWQu
Ci1QQVNTIGlucHV0LnZhbHVlIGlzICIxNDo1OCIKLVBBU1MgZXZlbnRzQ291bnRlci5pbnB1dCBp
cyAxCi1QQVNTIGV2ZW50c0NvdW50ZXIuY2hhbmdlIGlzIDEKLT09IFRhYiBrZXkgPT0KLVBBU1Mg
aW5wdXQudmFsdWUgaXMgIjAzOjA1IgotUEFTUyBpbnB1dC52YWx1ZSBpcyAiMDc6MDUiCi1QQVNT
IGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQuaWQgaXMgImFub3RoZXIiCi09PSBUYWIgbmF2aWdhdGlv
biBzaG91bGQgc2tpcCBkaXNhYmxlZCBpbnB1dHMgPT0KLVBBU1MgZG9jdW1lbnQuYWN0aXZlRWxl
bWVudC5pZCBpcyAiYW5vdGhlciIKLT09IFRhYiBuYXZpZ2F0aW9uIHNob3VsZCBub3Qgc2tpcCBy
ZWFkb25seSBpbnB1dHMsIGJ1dCBlZGl0aW5nIG9wZXJhdGlvbnMgc2hvdWxkIGJlIGlnbm9yZWQu
ID09Ci1QQVNTIGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQuaWQgaXMgImlucHV0IgotUEFTUyBwc2V1
ZG9PZkZvY3VzZWRTdWJGaWVsZChpbnB1dCkgaXMgIi13ZWJraXQtZGF0ZXRpbWUtZWRpdC1ob3Vy
LWZpZWxkIgotUEFTUyBrZXlEb3duKCJ1cEFycm93Iik7IGlucHV0LnZhbHVlIGlzICIwMTowMSIK
LVBBU1Mga2V5RG93bigiZG93bkFycm93Iik7IGlucHV0LnZhbHVlIGlzICIwMTowMSIKLVBBU1Mg
cHNldWRvT2ZGb2N1c2VkU3ViRmllbGQoaW5wdXQpIGlzICItd2Via2l0LWRhdGV0aW1lLWVkaXQt
bWludXRlLWZpZWxkIgotUEFTUyBrZXlEb3duKCIzIik7IGlucHV0LnZhbHVlIGlzICIwMTowMSIK
LVBBU1MgcHNldWRvT2ZGb2N1c2VkU3ViRmllbGQoaW5wdXQpIGlzICItd2Via2l0LWRhdGV0aW1l
LWVkaXQtYW1wbS1maWVsZCIKLVBBU1MgcHNldWRvT2ZGb2N1c2VkU3ViRmllbGQoaW5wdXQpIGlz
ICItd2Via2l0LWRhdGV0aW1lLWVkaXQtbWludXRlLWZpZWxkIgotUEFTUyBkb2N1bWVudC5hY3Rp
dmVFbGVtZW50LmlkIGlzICJhbm90aGVyIgotPT0gU2hmaXQrVGFiIGtleSA9PQotUEFTUyBpbnB1
dC52YWx1ZSBpcyAiMTU6MDAiCi1QQVNTIGlucHV0LnZhbHVlIGlzICIxNTowMyIKLVBBU1MgZG9j
dW1lbnQuYWN0aXZlRWxlbWVudC5pZCBpcyAiYmVmb3JlIgotPT0gVXAga2V5IG9uIG1heGltdW0g
dmFsdWUgPT0KLVBBU1MgaW5wdXQudmFsdWUgaXMgIjEzOjAwIgotPT0gRG93biBrZXkgb24gbWlu
aW11bSB2YWx1ZSA9PQotUEFTUyBpbnB1dC52YWx1ZSBpcyAiMDA6NTk6NTkuOTk5IgotPT0gQmFj
a3NwYWNlIGtleSA9PQotUEFTUyBpbnB1dC52YWx1ZSBpcyAiIgotPT0gRGVsZXRlIGtleSA9PQot
UEFTUyBpbnB1dC52YWx1ZSBpcyAiIgotPT0gVHlwZWFoZWFkID09Ci1QQVNTIGlucHV0LnZhbHVl
IGlzICIxMjowMTo1NiIKLVBBU1MgaW5wdXQudmFsdWUgaXMgIjEyOjAyOjU2IgotPT0gUlRMIGZv
Y3VzIG5hdmlnYXRpb24gPT0KLVRoZSB0ZXN0cyBpbiB0aGlzIGJsb2NrIGZhaWwgb24gcGxhdGZv
cm1zIHdpdGhvdXQgdGhlIGxhbmctYXR0cmlidXRlLWF3YXJlLWZvcm0tY29udHJvbC1VSSBmZWF0
dXJlLgotUEFTUyBpbnB1dC52YWx1ZSBpcyAiMDE6NTYiCi1QQVNTIGlucHV0LnZhbHVlIGlzICIw
MTowMiIKLVBBU1MgaW5wdXQudmFsdWUgaXMgIjAzOjAyIgotUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQotCi1URVNUIENPTVBMRVRFCi0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zh
c3QvZm9ybXMvdGltZS1tdWx0aXBsZS1maWVsZHMvdGltZS1tdWx0aXBsZS1maWVsZHMta2V5Ym9h
cmQtZXZlbnRzLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3RpbWUtbXVsdGlwbGUtZmll
bGRzL3RpbWUtbXVsdGlwbGUtZmllbGRzLWtleWJvYXJkLWV2ZW50cy5odG1sCmRlbGV0ZWQgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCA1MGY5NDlhZWRkYzgwYTA1M2UwZTBkMDk3MGJiYzEwMWQ5MmI2
MWVkLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91
dFRlc3RzL2Zhc3QvZm9ybXMvdGltZS1tdWx0aXBsZS1maWVsZHMvdGltZS1tdWx0aXBsZS1maWVs
ZHMta2V5Ym9hcmQtZXZlbnRzLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSwyMzkgKzAsMCBAQAot
PCFET0NUWVBFIGh0bWw+Ci08aHRtbD4KLTxoZWFkPgotPHNjcmlwdCBzcmM9Ii4uLy4uL2pzL3Jl
c291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keT4KLTxwIGlk
PSJkZXNjcmlwdGlvbiI+PC9wPgotPHA+Ci1QbGVhc2UgcnVuIHRoaXMgd2l0aCBEdW1wUmVuZGVy
VHJlZS4KLTwvcD4KLVRlc3QgZm9sbG93aW5nIGtleXM6Ci08dWw+Ci0gICAgPGxpPkRpZ2l0IGtl
eXM8L2xpPgotICAgIDxsaT5MZWZ0L1JpZ2h0IC0gTW92ZSBmb2N1cyBmaWVsZCBpbnNpZGUgZWxl
bWVudDwvbGk+Ci0gICAgPGxpPlVwL0Rvd24gLSBJbmNyZW1lbnQvZGVjcmVtZW50IHZhbHVlIG9m
IGZvY3VzIGZpZWxkPC9saT4KLSAgICA8bGk+VGFiIC0gTW92ZSBmb2N1cyBmaWVsZDwvbGk+Ci0g
ICAgPGxpPkJhY2tzcGFjZSAtIE1ha2UgdmFsdWUgZW1wdHk8L2xpPgotPC91bD4KLTxpbnB1dCBp
ZD0iYmVmb3JlIj4KLTxpbnB1dCBpZD0iaW5wdXQiIHR5cGU9InRpbWUiPgotPGlucHV0IGlkPSJh
bm90aGVyIj4KLTxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgotPHNjcmlwdD4KLWRlc2NyaXB0aW9u
KCJNdWx0aXBsZSBmaWVsZHMgVUkgb2YgdGltZSBpbnB1dCB0eXBlIHdpdGgga2V5Ym9hcmQgZXZl
bnRzIik7Ci1pZiAod2luZG93LmludGVybmFscykKLSAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0
TGFuZ0F0dHJpYnV0ZUF3YXJlRm9ybUNvbnRyb2xVSUVuYWJsZWQodHJ1ZSk7Ci12YXIgaW5wdXQg
PSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiaW5wdXQiKTsKLQotZnVuY3Rpb24gcHNldWRvT2ZG
b2N1c2VkU3ViRmllbGQoaG9zdCkKLXsKLSAgICByZXR1cm4gaW50ZXJuYWxzLnlvdW5nZXN0U2hh
ZG93Um9vdChob3N0KS5hY3RpdmVFbGVtZW50LmdldEF0dHJpYnV0ZSgicHNldWRvIikKLX0KLQot
ZnVuY3Rpb24ga2V5RG93bihrZXksIG1vZGlmaWVycykKLXsKLSAgICBpZiAoIXdpbmRvdy5ldmVu
dFNlbmRlcikKLSAgICAgICAgcmV0dXJuOwotICAgIGV2ZW50U2VuZGVyLmtleURvd24oa2V5LCBt
b2RpZmllcnMpOwotfQotCi1mdW5jdGlvbiBiZWdpblRlc3QodGl0bGUsIHZhbHVlKQotewotICAg
IGRlYnVnKCI9PSAiICsgdGl0bGUgKyAiID09Iik7Ci0gICAgaW5wdXQudmFsdWUgPSB2YWx1ZTsK
LSAgICBpbnB1dC5ibHVyKCk7Ci0gICAgaW5wdXQuZm9jdXMoKTsKLX0KLQotdmFyIGV2ZW50c0Nv
dW50ZXIgPSB7fTsKLWZ1bmN0aW9uIGNvdW50RXZlbnRzKGV2ZW50KQotewotICAgIGlmIChldmVu
dHNDb3VudGVyW2V2ZW50LnR5cGVdID09PSB1bmRlZmluZWQpCi0gICAgICAgIGV2ZW50c0NvdW50
ZXJbZXZlbnQudHlwZV0gPSAwOwotICAgIGV2ZW50c0NvdW50ZXJbZXZlbnQudHlwZV0rKzsKLX0K
LWlucHV0LmFkZEV2ZW50TGlzdGVuZXIoJ2lucHV0JywgY291bnRFdmVudHMsIGZhbHNlKTsKLWlu
cHV0LmFkZEV2ZW50TGlzdGVuZXIoJ2NoYW5nZScsIGNvdW50RXZlbnRzLCBmYWxzZSk7Ci0KLWJl
Z2luVGVzdCgnRGlnaXQga2V5cycpOwota2V5RG93bignNycpOyAvLyAtPiAwNzpbLS1dIC0tCi1r
ZXlEb3duKCc1Jyk7IC8vIC0+IDA3OlswNV0gLS0KLWlucHV0LmNsYXNzTmFtZSA9ICJDTEFTUyI7
Ci1rZXlEb3duKCc2Jyk7IC8vIC0+IDA3OjU2IFstLV0KLXNob3VsZEJlVW5kZWZpbmVkKCdldmVu
dHNDb3VudGVyLmlucHV0Jyk7Ci1zaG91bGRCZVVuZGVmaW5lZCgnZXZlbnRzQ291bnRlci5jaGFu
Z2UnKTsKLWtleURvd24oJ0EnKTsgLy8gLT4gMDc6NTYgW0FNXQotc2hvdWxkQmVFcXVhbFRvU3Ry
aW5nKCdpbnB1dC52YWx1ZScsICcwNzo1NicpOwotc2hvdWxkQmUoJ2V2ZW50c0NvdW50ZXIuaW5w
dXQnLCAnMScpOwotc2hvdWxkQmUoJ2V2ZW50c0NvdW50ZXIuY2hhbmdlJywgJzEnKTsKLQotYmVn
aW5UZXN0KCdEaWdpdCBrZXlzIHN0YXJ0aW5nIHdpdGggemVybycpOwota2V5RG93bignMCcpOyAv
LyAtPiBbMDBdOi0tIC0tCi1rZXlEb3duKCcyJyk7IC8vIC0+IDAyOlstLV0gLS0KLWtleURvd24o
JzAnKTsgLy8gLT4gMDI6WzAwXSAtLQota2V5RG93bignMycpOyAvLyAtPiAwMjowMyBbLS1dCi1r
ZXlEb3duKCdQJyk7IC8vIC0+IDAyOjAzIFtQTV0KLXNob3VsZEJlRXF1YWxUb1N0cmluZygnaW5w
dXQudmFsdWUnLCAnMTQ6MDMnKTsKLQotYmVnaW5UZXN0KCdEaWdpdCBrZXlzIGFuZCBiYWNrc3Bh
Y2Uga2V5JywnMDE6MDEnKTsKLWtleURvd24oJzAnKTsgLy8gLT4gWzAwXTotLSAtLQota2V5RG93
bignXGInKTsgLy8gLT4gWy0tXTotLSAtLQota2V5RG93bignNScpOyAvLyAtPiAwNTpbLS1dIC0t
Ci1rZXlEb3duKCc2Jyk7IC8vIC0+IDA1OjA2IFstLV0KLWtleURvd24oJ1xiJyk7IC8vIC0+IDA1
OjA2IFstLV0KLWtleURvd24oJ1AnKTsgLy8gLT4gMDU6MDYgW1BNXQotc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCdpbnB1dC52YWx1ZScsICcxNzowNicpOwotCi0vLyBGSVhNRTogV2Ugc2hvdWxkIHRl
c3QgdHlwZSBhaGVhZCB0aW1lIG91dC4gV2hlbiBldmVudC5sZWFwRm9yd2FyZCgpIGFmZmVjdHMK
LS8vIGtleWJvYXJkIGV2ZW50IHRpbWUgc3RhbXAsIHdlIGNhbiB1bmNvbW1lbnQgdGhpcyBmcmFn
bWVudC4KLS8qCi1iZWdpblRlc3QoJ0RpZ2l0IGtleXMgd2l0aCB0eXBlIGFoZWFkIHRpbWVvdXQn
KTsKLWtleURvd24oJzEnKTsKLWxlYXBGb3J3YXJkKDExMDApOwota2V5RG93bignMScpOwota2V5
RG93bignNScpOwota2V5RG93bignNicpOwota2V5RG93bignQScpOwotc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCdpbnB1dC52YWx1ZScsICcwMTo1NicpOwotKi8KLQotYmVnaW5UZXN0KCdMZWZ0L1Jp
Z2h0IGtleXMnLCAnMDE6MjQnKTsKLWtleURvd24oJ3JpZ2h0QXJyb3cnKTsKLWtleURvd24oJzUn
KTsKLWtleURvd24oJ2xlZnRBcnJvdycpOwota2V5RG93bignNicpOwotc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCdpbnB1dC52YWx1ZScsICcwNjowNScpOwota2V5RG93bignbGVmdEFycm93Jyk7Ci1r
ZXlEb3duKCdsZWZ0QXJyb3cnKTsKLWtleURvd24oJ2xlZnRBcnJvdycpOwotc2hvdWxkQmVFcXVh
bFRvU3RyaW5nKCdkb2N1bWVudC5hY3RpdmVFbGVtZW50LmlkJywgJ2lucHV0Jyk7Ci0KLWJlZ2lu
VGVzdCgnVXAvRG93biBrZXlzJywgJzA0OjU2Jyk7Ci1rZXlEb3duKCd1cEFycm93Jyk7Ci1zaG91
bGRCZUVxdWFsVG9TdHJpbmcoJ2lucHV0LnZhbHVlJywgJzA1OjU2Jyk7Ci1rZXlEb3duKCdkb3du
QXJyb3cnKTsKLWtleURvd24oJ2Rvd25BcnJvdycpOwotc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdp
bnB1dC52YWx1ZScsICcwMzo1NicpOwotCi1iZWdpblRlc3QoJ1VwL0Rvd24ga2V5cyBvbiBlbXB0
eSB2YWx1ZScsICcnKTsKLWV2ZW50c0NvdW50ZXIgPSB7fTsKLWtleURvd24oJ3VwQXJyb3cnKTsg
ICAgLy8gLT4gWzAxXTotLSAtLQota2V5RG93bigndXBBcnJvdycpOyAgICAvLyAtPiBbMDJdOi0t
IC0tCi1rZXlEb3duKCdyaWdodEFycm93Jyk7IC8vIC0+IDAyOlstLV0gLS0KLWtleURvd24oJ2Rv
d25BcnJvdycpOyAgLy8gLT4gMDI6WzU5XSAtLQota2V5RG93bignZG93bkFycm93Jyk7ICAvLyAt
PiAwMjpbNThdIC0tCi1rZXlEb3duKCdyaWdodEFycm93Jyk7IC8vIC0+IDAyOjU4IFstLV0KLXNo
b3VsZEJlVW5kZWZpbmVkKCdldmVudHNDb3VudGVyLmlucHV0Jyk7Ci1zaG91bGRCZVVuZGVmaW5l
ZCgnZXZlbnRzQ291bnRlci5jaGFuZ2UnKTsKLWtleURvd24oJ2Rvd25BcnJvdycpOyAgLy8gLT4g
MDI6NTggW1BNXQotc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdpbnB1dC52YWx1ZScsICcxNDo1OCcp
Owotc2hvdWxkQmUoJ2V2ZW50c0NvdW50ZXIuaW5wdXQnLCAnMScpOwotc2hvdWxkQmUoJ2V2ZW50
c0NvdW50ZXIuY2hhbmdlJywgJzEnKTsKLQotYmVnaW5UZXN0KCdUYWIga2V5JywgJzAzOjAwJyk7
Ci1rZXlEb3duKCdcdCcpOwota2V5RG93bignNScpOwotc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdp
bnB1dC52YWx1ZScsICcwMzowNScpOwota2V5RG93bignXHQnLCBbJ3NoaWZ0S2V5J10pOwota2V5
RG93bignNycpOwotc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdpbnB1dC52YWx1ZScsICcwNzowNScp
Owota2V5RG93bignXHQnKTsKLWtleURvd24oJ1x0Jyk7Ci1zaG91bGRCZUVxdWFsVG9TdHJpbmco
J2RvY3VtZW50LmFjdGl2ZUVsZW1lbnQuaWQnLCAnYW5vdGhlcicpOwotCi1iZWdpblRlc3QoJ1Rh
YiBuYXZpZ2F0aW9uIHNob3VsZCBza2lwIGRpc2FibGVkIGlucHV0cycsICcnKTsKLWJlZm9yZS5m
b2N1cygpOwotaW5wdXQuZGlzYWJsZWQgPSB0cnVlOwota2V5RG93bignXHQnKTsKLXNob3VsZEJl
RXF1YWxUb1N0cmluZygnZG9jdW1lbnQuYWN0aXZlRWxlbWVudC5pZCcsICdhbm90aGVyJyk7Ci1p
bnB1dC5kaXNhYmxlZCA9IGZhbHNlOwotCi1iZWdpblRlc3QoJ1RhYiBuYXZpZ2F0aW9uIHNob3Vs
ZCBub3Qgc2tpcCByZWFkb25seSBpbnB1dHMsIGJ1dCBlZGl0aW5nIG9wZXJhdGlvbnMgc2hvdWxk
IGJlIGlnbm9yZWQuJywgJycpOwotYmVmb3JlLmZvY3VzKCk7Ci1pbnB1dC52YWx1ZSA9ICcwMTow
MSc7Ci1pbnB1dC5yZWFkT25seSA9IHRydWU7Ci1rZXlEb3duKCdcdCcpOwotc2hvdWxkQmVFcXVh
bFRvU3RyaW5nKCdkb2N1bWVudC5hY3RpdmVFbGVtZW50LmlkJywgJ2lucHV0Jyk7Ci1zaG91bGRC
ZUVxdWFsVG9TdHJpbmcoJ3BzZXVkb09mRm9jdXNlZFN1YkZpZWxkKGlucHV0KScsICctd2Via2l0
LWRhdGV0aW1lLWVkaXQtaG91ci1maWVsZCcpOwotc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdrZXlE
b3duKCJ1cEFycm93Iik7IGlucHV0LnZhbHVlJywgJzAxOjAxJyk7Ci1zaG91bGRCZUVxdWFsVG9T
dHJpbmcoJ2tleURvd24oImRvd25BcnJvdyIpOyBpbnB1dC52YWx1ZScsICcwMTowMScpOwota2V5
RG93bigncmlnaHRBcnJvdycpOwotc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdwc2V1ZG9PZkZvY3Vz
ZWRTdWJGaWVsZChpbnB1dCknLCAnLXdlYmtpdC1kYXRldGltZS1lZGl0LW1pbnV0ZS1maWVsZCcp
Owotc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdrZXlEb3duKCIzIik7IGlucHV0LnZhbHVlJywgJzAx
OjAxJyk7Ci1rZXlEb3duKCdcdCcpOwotc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdwc2V1ZG9PZkZv
Y3VzZWRTdWJGaWVsZChpbnB1dCknLCAnLXdlYmtpdC1kYXRldGltZS1lZGl0LWFtcG0tZmllbGQn
KTsKLWtleURvd24oJ2xlZnRBcnJvdycpOwotc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdwc2V1ZG9P
ZkZvY3VzZWRTdWJGaWVsZChpbnB1dCknLCAnLXdlYmtpdC1kYXRldGltZS1lZGl0LW1pbnV0ZS1m
aWVsZCcpOwota2V5RG93bignXHQnKTsKLWtleURvd24oJ1x0Jyk7Ci1zaG91bGRCZUVxdWFsVG9T
dHJpbmcoJ2RvY3VtZW50LmFjdGl2ZUVsZW1lbnQuaWQnLCAnYW5vdGhlcicpOwotaW5wdXQucmVh
ZE9ubHkgPSBmYWxzZTsKLQotYmVnaW5UZXN0KCdTaGZpdCtUYWIga2V5JywgJzAzOjAwJyk7Ci1h
bm90aGVyLmZvY3VzKCk7Ci1rZXlEb3duKCdcdCcsIFsnc2hpZnRLZXknXSk7Ci1rZXlEb3duKCdQ
Jyk7Ci1zaG91bGRCZUVxdWFsVG9TdHJpbmcoJ2lucHV0LnZhbHVlJywgJzE1OjAwJyk7Ci1rZXlE
b3duKCdcdCcsIFsnc2hpZnRLZXknXSk7Ci1rZXlEb3duKCczJyk7Ci1zaG91bGRCZUVxdWFsVG9T
dHJpbmcoJ2lucHV0LnZhbHVlJywgJzE1OjAzJyk7Ci1rZXlEb3duKCdcdCcsIFsnc2hpZnRLZXkn
XSk7Ci1rZXlEb3duKCdcdCcsIFsnc2hpZnRLZXknXSk7Ci1zaG91bGRCZUVxdWFsVG9TdHJpbmco
J2RvY3VtZW50LmFjdGl2ZUVsZW1lbnQuaWQnLCAnYmVmb3JlJyk7Ci0KLWJlZ2luVGVzdCgnVXAg
a2V5IG9uIG1heGltdW0gdmFsdWUnLCAnMTI6NTk6NTkuOTk5Jyk7Ci1rZXlEb3duKCd1cEFycm93
Jyk7Ci1rZXlEb3duKCdcdCcpOwota2V5RG93bigndXBBcnJvdycpOwota2V5RG93bignXHQnKTsK
LWtleURvd24oJ3VwQXJyb3cnKTsKLWtleURvd24oJ1x0Jyk7Ci1rZXlEb3duKCd1cEFycm93Jyk7
Ci1zaG91bGRCZUVxdWFsVG9TdHJpbmcoJ2lucHV0LnZhbHVlJywgJzEzOjAwJyk7Ci0KLWJlZ2lu
VGVzdCgnRG93biBrZXkgb24gbWluaW11bSB2YWx1ZScsICcwMTowMCcpOwotaW5wdXQuc3RlcCA9
IDAuMDAxOwota2V5RG93bignZG93bkFycm93Jyk7Ci1rZXlEb3duKCdcdCcpOwota2V5RG93bign
ZG93bkFycm93Jyk7Ci1rZXlEb3duKCdcdCcpOwota2V5RG93bignZG93bkFycm93Jyk7Ci1rZXlE
b3duKCdcdCcpOwota2V5RG93bignZG93bkFycm93Jyk7Ci1zaG91bGRCZUVxdWFsVG9TdHJpbmco
J2lucHV0LnZhbHVlJywgJzAwOjU5OjU5Ljk5OScpOwotaW5wdXQuc3RlcCA9IDYwOwotCi1iZWdp
blRlc3QoJ0JhY2tzcGFjZSBrZXknLCAnMTI6MzQnKTsKLWtleURvd24oIlxiIik7Ci1zaG91bGRC
ZUVxdWFsVG9TdHJpbmcoJ2lucHV0LnZhbHVlJywgJycpOwotCi1iZWdpblRlc3QoJ0RlbGV0ZSBr
ZXknLCAnMTI6MzQnKTsKLWtleURvd24oImRlbGV0ZSIpOwotc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCdpbnB1dC52YWx1ZScsICcnKTsKLQotYmVnaW5UZXN0KCdUeXBlYWhlYWQnLCAnMTI6MzQ6NTYn
KTsKLWtleURvd24oJ3JpZ2h0QXJyb3cnKTsKLWtleURvd24oJzEnKTsKLXNob3VsZEJlRXF1YWxU
b1N0cmluZygnaW5wdXQudmFsdWUnLCAnMTI6MDE6NTYnKTsKLWtleURvd24oJ3JpZ2h0QXJyb3cn
KTsKLWtleURvd24oJ2xlZnRBcnJvdycpOwota2V5RG93bignMicpOwotc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCdpbnB1dC52YWx1ZScsICcxMjowMjo1NicpOwotCi1pbnB1dC5zZXRBdHRyaWJ1dGUo
ImxhbmciLCAiaGUtaWwiKTsKLWJlZ2luVGVzdCgnUlRMIGZvY3VzIG5hdmlnYXRpb24nLCAnMDQ6
NTYnKTsKLWRlYnVnKCdUaGUgdGVzdHMgaW4gdGhpcyBibG9jayBmYWlsIG9uIHBsYXRmb3JtcyB3
aXRob3V0IHRoZSBsYW5nLWF0dHJpYnV0ZS1hd2FyZS1mb3JtLWNvbnRyb2wtVUkgZmVhdHVyZS4n
KTsKLWtleURvd24oJzEnKTsgLy8gICAgICAgICAgLT4gWzAxXTo1Ngotc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCdpbnB1dC52YWx1ZScsICcwMTo1NicpOwota2V5RG93bignXHQnKTsgLy8gICAgICAg
ICAgLT4gMDE6WzU2XQota2V5RG93bignMicpOyAvLyAgICAgICAgICAtPiAwMTpbMDJdCi1zaG91
bGRCZUVxdWFsVG9TdHJpbmcoJ2lucHV0LnZhbHVlJywgJzAxOjAyJyk7Ci1rZXlEb3duKCdcdCcs
IFsnc2hpZnRLZXknXSk7IC8vIC0+IFswMV06MDIKLWtleURvd24oJzMnKTsgLy8gICAgICAgICAg
LT4gWzAzXTowMgotc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdpbnB1dC52YWx1ZScsICcwMzowMicp
OwotaW5wdXQucmVtb3ZlQXR0cmlidXRlKCJsYW5nIik7Ci08L3NjcmlwdD4KLTxzY3JpcHQgc3Jj
PSIuLi8uLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KLTwvYm9keT4K
LTwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvdGltZS1tdWx0aXBs
ZS1maWVsZHMvdGltZS1tdWx0aXBsZS1maWVsZHMtbG9jYWxpemF0aW9uLmh0bWwgYi9MYXlvdXRU
ZXN0cy9mYXN0L2Zvcm1zL3RpbWUtbXVsdGlwbGUtZmllbGRzL3RpbWUtbXVsdGlwbGUtZmllbGRz
LWxvY2FsaXphdGlvbi5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBhNmQxYjU5
N2Q2MjZlZTQ2ZmE0OTU0YjZiZmI1MTlkNTBmNTlkYTlhLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvdGltZS1tdWx0
aXBsZS1maWVsZHMvdGltZS1tdWx0aXBsZS1maWVsZHMtbG9jYWxpemF0aW9uLmh0bWwKKysrIC9k
ZXYvbnVsbApAQCAtMSwzMCArMCwwIEBACi08IURPQ1RZUEUgaHRtbD4KLTxodG1sPgotPGhlYWQ+
Ci08bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Ci08c2NyaXB0IHNyYz0iLi4vLi4vanMvcmVzb3VyY2Vz
L2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvY29t
bW9uLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQ+Ci1pZiAod2luZG93LmludGVybmFscykKLSAgICBp
bnRlcm5hbHMuc2V0dGluZ3Muc2V0TGFuZ0F0dHJpYnV0ZUF3YXJlRm9ybUNvbnRyb2xVSUVuYWJs
ZWQodHJ1ZSk7Ci08L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5PgotPGRpdiBpZD1jb25zb2xlPjwv
ZGl2PgotPGlucHV0IHR5cGU9InRpbWUiIHZhbHVlPSIxMzoyMzo0NS4xIiBsYW5nPSJlbiIgLz48
YnI+Ci08aW5wdXQgdHlwZT0idGltZSIgdmFsdWU9IjEzOjIzOjQ1LjEiIGxhbmc9ImFyIiAvPjxi
cj4KLTxpbnB1dCB0eXBlPSJ0aW1lIiB2YWx1ZT0iMTM6MjM6NDUuMSIgbGFuZz0iZnIiIC8+PGJy
PgotPGlucHV0IHR5cGU9InRpbWUiIHZhbHVlPSIxMzoyMzo0NS4xIiBsYW5nPSJqYSIgLz48YnI+
Ci08aW5wdXQgdHlwZT0idGltZSIgdmFsdWU9IjEzOjIzOjQ1LjEiIGxhbmc9ImtvIiAvPjxicj4K
LTxpbnB1dCB0eXBlPSJ0aW1lIiB2YWx1ZT0iMTM6MjM6NDUuMSIgbGFuZz0iY24iIC8+Ci08c2Ny
aXB0PgotZGVzY3JpcHRpb24oIlRlc3RzIHRoZSB0aW1lIGZvcm1hdCBmb3IgdmFyaW91cyBsb2Nh
bGVzLiIsIHRydWUpOwotZGVidWcoIlRoZSBmb2xsb3dpbmcgbGluZXMgZGVwZW5kIG9uIHRoZSBs
b2NhbGUgZGF0YSBpbiB0aGUgc3lzdGVtLiIpOwotdmFyIGlucHV0cyA9IGRvY3VtZW50LmdldEVs
ZW1lbnRzQnlUYWdOYW1lKCJpbnB1dCIpOwotZm9yICh2YXIgaSA9IDA7IGkgPCBpbnB1dHMubGVu
Z3RoOyArK2kpIHsKLSAgICAgZGVidWcoaW5wdXRzW2ldLmxhbmcgKyAnOiAnICsgZ2V0VXNlckFn
ZW50U2hhZG93VGV4dENvbnRlbnQoaW5wdXRzW2ldKSk7Ci19Ci08L3NjcmlwdD4KLTxzY3JpcHQg
c3JjPSIuLi8uLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KLTwvYm9k
eT4KLTwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvdGltZS1tdWx0
aXBsZS1maWVsZHMvdGltZS1tdWx0aXBsZS1maWVsZHMtbG9zaW5nLXJlbmRlcmVyLW9uLWNsaWNr
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvdGltZS1tdWx0aXBsZS1maWVs
ZHMvdGltZS1tdWx0aXBsZS1maWVsZHMtbG9zaW5nLXJlbmRlcmVyLW9uLWNsaWNrLWV4cGVjdGVk
LnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggOTU1N2I3YzM2M2EyMjZmOWM1ZWVk
YWI4ZDhjMjU5MzJkMmJmZDA1Ni4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3RpbWUtbXVsdGlwbGUtZmllbGRzL3Rp
bWUtbXVsdGlwbGUtZmllbGRzLWxvc2luZy1yZW5kZXJlci1vbi1jbGljay1leHBlY3RlZC50eHQK
KysrIC9kZXYvbnVsbApAQCAtMSwyICswLDAgQEAKLVRoaXMgdGVzdHMgdGhhdCB3ZSBkb24ndCBj
cmFzaCB3aGVuIHRoZSByZW5kZXJlciBnb2VzIGF3YXkgZHVyaW5nIGV2ZW50IGhhbmRsaW5nLgot
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3RpbWUtbXVsdGlwbGUtZmllbGRz
L3RpbWUtbXVsdGlwbGUtZmllbGRzLWxvc2luZy1yZW5kZXJlci1vbi1jbGljay5odG1sIGIvTGF5
b3V0VGVzdHMvZmFzdC9mb3Jtcy90aW1lLW11bHRpcGxlLWZpZWxkcy90aW1lLW11bHRpcGxlLWZp
ZWxkcy1sb3NpbmctcmVuZGVyZXItb24tY2xpY2suaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggOGRiZDgyNGQzNjYxZDZhNTVkOTgxODNkY2EyNDMwZjViOTFhOTc5Yi4uMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0
L2Zvcm1zL3RpbWUtbXVsdGlwbGUtZmllbGRzL3RpbWUtbXVsdGlwbGUtZmllbGRzLWxvc2luZy1y
ZW5kZXJlci1vbi1jbGljay5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsMTIgKzAsMCBAQAotPGh0
bWw+Ci0gICAgPGhlYWQ+Ci0gICAgICAgIDxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvY29tbW9u
LWxvc2luZy1yZW5kZXJlci1vbi1jbGljay5qcyI+PC9zY3JpcHQ+Ci0gICAgICAgIDxzdHlsZT4K
LSAgICAgICAgICAgICN0ZXN0IHsgd2lkdGg6IDEwMHB4OyB9Ci0gICAgICAgIDwvc3R5bGU+Ci0g
ICAgPC9oZWFkPgotICAgIDxib2R5IG9ubG9hZD0idGVzdExvc2luZ1JlbmRlcmVyT25DbGljaygp
Ij4KLSAgICAgICAgVGhpcyB0ZXN0cyB0aGF0IHdlIGRvbid0IGNyYXNoIHdoZW4gdGhlIHJlbmRl
cmVyIGdvZXMgYXdheSBkdXJpbmcgZXZlbnQgaGFuZGxpbmcuPGJyPgotICAgICAgICA8aW5wdXQg
dHlwZT0idGltZSIgaWQ9InRlc3QiIG9uY2xpY2s9ImV2ZW50LnRhcmdldC5zdHlsZS5kaXNwbGF5
PSdub25lJyI+Ci0gICAgPC9ib2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZmFzdC9mb3Jtcy90aW1lLW11bHRpcGxlLWZpZWxkcy90aW1lLW11bHRpcGxlLWZpZWxkcy1tb3Vz
ZS1ldmVudHMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy90aW1lLW11bHRp
cGxlLWZpZWxkcy90aW1lLW11bHRpcGxlLWZpZWxkcy1tb3VzZS1ldmVudHMtZXhwZWN0ZWQudHh0
CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBkNzNmMGUyNGI4ZjhiZjNkYmE1NWNkMjZl
NTQ4ZDUzMWU1N2JhMzdlLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvdGltZS1tdWx0aXBsZS1maWVsZHMvdGltZS1t
dWx0aXBsZS1maWVsZHMtbW91c2UtZXZlbnRzLWV4cGVjdGVkLnR4dAorKysgL2Rldi9udWxsCkBA
IC0xLDMyICswLDAgQEAKLU11bHRpcGxlIGZpZWxkcyBVSSBvZiB0aW1lIGlucHV0IHR5cGUgd2l0
aCBtb3VzZSBldmVudHMKLQotT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQ
QVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgotCi0KLVBsZWFzZSBy
dW4gdGhpcyB3aXRoIER1bXBSZW5kZXJUcmVlLgotCi1UZXN0IGZvbGxvd2luZyBtb3VzZSBhY3Rp
b25zOgotTW91c2UgY2xpY2sgdG8gZm9jdXMgZmllbGQKLU1vdXNlIGNsaWNrIG9uIHNwaW4gYnV0
dG9uCi0KLT0gRm9jdXMgdG8gaG91ciBmaWVsZCA9Ci1QQVNTIGlucHV0LnZhbHVlIGlzICIwMjoy
MyIKLT0gRm9jdXMgdG8gbWludXRlIGZpZWxkID0KLVBBU1MgaW5wdXQudmFsdWUgaXMgIjAyOjI0
IgotPSBDbGljayB1cCBwYXJ0IG9mIHNwaW4gYnV0dG9uID0KLVBBU1MgaW5wdXQudmFsdWUgaXMg
IjAyOjI1IgotPSBDbGljayBkb3duIHBhcnQgb2Ygc3BpbiBidXR0b24gPQotUEFTUyBpbnB1dC52
YWx1ZSBpcyAiMDI6MjQiCi09IENsaWNrIG9uIGEgZGlzYWJsZWQvcmVhZG9ubHkgZmllbGQgPQot
UEFTUyBpbnB1dC52YWx1ZSBpcyAiMDI6MjQiCi1QQVNTIGlucHV0LnZhbHVlIGlzICIwMjoyNCIK
LQotPT0+IENsaWNrIG9uIGNsZWFyIGJ1dHRvbi4KLVBBU1MgaW5wdXQudmFsdWUgaXMgIjAyOjI0
IgotUEFTUyBpbnB1dC52YWx1ZSBpcyAiMDI6MjQiCi1QQVNTIGlucHV0LnZhbHVlIGlzICIiCi0K
LVBBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKLQotVEVTVCBDT01QTEVURQotCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3RpbWUtbXVsdGlwbGUtZmllbGRzL3RpbWUt
bXVsdGlwbGUtZmllbGRzLW1vdXNlLWV2ZW50cy5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jt
cy90aW1lLW11bHRpcGxlLWZpZWxkcy90aW1lLW11bHRpcGxlLWZpZWxkcy1tb3VzZS1ldmVudHMu
aHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggOGI0YWQ2NGU3ODU4N2UzOWQwYjhi
OTE4MTk3N2Y2MjY1NmZjOGQ5NC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3RpbWUtbXVsdGlwbGUtZmllbGRzL3Rp
bWUtbXVsdGlwbGUtZmllbGRzLW1vdXNlLWV2ZW50cy5odG1sCisrKyAvZGV2L251bGwKQEAgLTEs
MTA2ICswLDAgQEAKLTwhRE9DVFlQRSBodG1sPgotPGh0bWw+Ci08aGVhZD4KLTxzY3JpcHQgc3Jj
PSIuLi8uLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgotPC9oZWFkPgot
PGJvZHk+Ci08cCBpZD0iZGVzY3JpcHRpb24iPjwvcD4KLTxwPgotUGxlYXNlIHJ1biB0aGlzIHdp
dGggRHVtcFJlbmRlclRyZWUuCi08L3A+Ci1UZXN0IGZvbGxvd2luZyBtb3VzZSBhY3Rpb25zOgot
PHVsPgotICAgIDxsaT5Nb3VzZSBjbGljayB0byBmb2N1cyBmaWVsZDwvbGk+Ci0gICAgPGxpPk1v
dXNlIGNsaWNrIG9uIHNwaW4gYnV0dG9uPC9saT4KLTwvdWw+Ci08aW5wdXQgaWQ9ImlucHV0IiB0
eXBlPSJ0aW1lIiBzdHlsZT0iZm9udC1mYW1pbHk6YWhlbTsgZm9udC1zaXplOjE2cHg7Ij4KLTxk
aXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgotPHNjcmlwdD4KLWRlc2NyaXB0aW9uKCJNdWx0aXBsZSBm
aWVsZHMgVUkgb2YgdGltZSBpbnB1dCB0eXBlIHdpdGggbW91c2UgZXZlbnRzIik7Ci12YXIgaW5w
dXQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiaW5wdXQiKTsKLQotZnVuY3Rpb24ga2V5RG93
bihrZXksIG1vZGlmaWVycykKLXsKLSAgICBpZiAoIXdpbmRvdy5ldmVudFNlbmRlcikKLSAgICAg
ICAgcmV0dXJuOwotICAgIGV2ZW50U2VuZGVyLmtleURvd24oa2V5LCBtb2RpZmllcnMpOwotfQot
Ci1mdW5jdGlvbiBtb3VzZUNsaWNrKCkKLXsKLSAgICBpZiAoIXdpbmRvdy5ldmVudFNlbmRlcikK
LSAgICAgICAgcmV0dXJuOwotICAgIGV2ZW50U2VuZGVyLm1vdXNlRG93bigpOwotICAgIGV2ZW50
U2VuZGVyLm1vdXNlVXAoKTsKLX0KLQotZnVuY3Rpb24gbW91c2VNb3ZlVG8oeCwgeSkKLXsKLSAg
ICBpZiAoIXdpbmRvdy5ldmVudFNlbmRlcikKLSAgICAgICAgcmV0dXJuOwotICAgIGV2ZW50U2Vu
ZGVyLm1vdXNlTW92ZVRvKHggKyBpbnB1dC5vZmZzZXRMZWZ0LCB5ICsgaW5wdXQub2Zmc2V0VG9w
KTsKLX0KLQotdmFyIGNlbnRlciA9IGlucHV0Lm9mZnNldEhlaWdodCAvIDI7Ci12YXIgY2xlYXJC
dXR0b25PZmZzZXQgPSAyMDsKLQotaW5wdXQudmFsdWUgPSAiMDE6MjMiOwotaW5wdXQuYmx1cigp
OwotCi1kZWJ1ZygnPSBGb2N1cyB0byBob3VyIGZpZWxkID0nKTsKLW1vdXNlTW92ZVRvKDEyLCAx
NCk7Ci1tb3VzZUNsaWNrKCk7Ci1rZXlEb3duKCd1cEFycm93Jyk7Ci1zaG91bGRCZUVxdWFsVG9T
dHJpbmcoJ2lucHV0LnZhbHVlJywgJzAyOjIzJyk7Ci0KLWRlYnVnKCc9IEZvY3VzIHRvIG1pbnV0
ZSBmaWVsZCA9Jyk7Ci1tb3VzZU1vdmVUbyg3MCwgMTQpOwotbW91c2VDbGljaygpOwota2V5RG93
bigndXBBcnJvdycpOwotc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdpbnB1dC52YWx1ZScsICcwMjoy
NCcpOwotCi1kZWJ1ZygnPSBDbGljayB1cCBwYXJ0IG9mIHNwaW4gYnV0dG9uID0nKTsKLW1vdXNl
TW92ZVRvKGlucHV0Lm9mZnNldFdpZHRoIC0gMTAsIDgpOwotbW91c2VDbGljaygpOwotc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCdpbnB1dC52YWx1ZScsICcwMjoyNScpOwotCi1kZWJ1ZygnPSBDbGlj
ayBkb3duIHBhcnQgb2Ygc3BpbiBidXR0b24gPScpOwotbW91c2VNb3ZlVG8oaW5wdXQub2Zmc2V0
V2lkdGggLSAxMCwgaW5wdXQub2Zmc2V0SGVpZ2h0IC0gOCk7Ci1tb3VzZUNsaWNrKCk7Ci1zaG91
bGRCZUVxdWFsVG9TdHJpbmcoJ2lucHV0LnZhbHVlJywgJzAyOjI0Jyk7Ci0KLWRlYnVnKCc9IENs
aWNrIG9uIGEgZGlzYWJsZWQvcmVhZG9ubHkgZmllbGQgPScpOwotaW5wdXQuZGlzYWJsZWQgPSB0
cnVlOwotbW91c2VNb3ZlVG8oMTIsIDE0KTsKLW1vdXNlQ2xpY2soKTsKLWtleURvd24oJ3VwQXJy
b3cnKTsKLXNob3VsZEJlRXF1YWxUb1N0cmluZygnaW5wdXQudmFsdWUnLCAnMDI6MjQnKTsgLy8g
Tm90IGNoYW5nZWQuCi1pbnB1dC5kaXNhYmxlZCA9IGZhbHNlOwotaW5wdXQucmVhZE9ubHkgPSB0
cnVlOwotbW91c2VNb3ZlVG8oMTIsIDE0KTsKLW1vdXNlQ2xpY2soKTsKLWtleURvd24oJ3VwQXJy
b3cnKTsKLXNob3VsZEJlRXF1YWxUb1N0cmluZygnaW5wdXQudmFsdWUnLCAnMDI6MjQnKTsgLy8g
Tm90IGNoYW5nZWQuCi1pbnB1dC5yZWFkT25seSA9IGZhbHNlOwotCi1kZWJ1ZygnJyk7Ci1kZWJ1
ZygnPT0+IENsaWNrIG9uIGNsZWFyIGJ1dHRvbi4nKTsKLWlucHV0LnJlYWRPbmx5ID0gdHJ1ZTsK
LW1vdXNlTW92ZVRvKGlucHV0Lm9mZnNldFdpZHRoIC0gY2xlYXJCdXR0b25PZmZzZXQsIGNlbnRl
cik7Ci1tb3VzZUNsaWNrKCk7Ci1zaG91bGRCZUVxdWFsVG9TdHJpbmcoJ2lucHV0LnZhbHVlJywg
JzAyOjI0Jyk7IC8vIE5vdCBjaGFuZ2VkLgotaW5wdXQuZGlzYWJsZWQgPSB0cnVlOwotaW5wdXQu
cmVhZE9ubHkgPSBmYWxzZTsKLW1vdXNlTW92ZVRvKGlucHV0Lm9mZnNldFdpZHRoIC0gY2xlYXJC
dXR0b25PZmZzZXQsIGNlbnRlcik7Ci1tb3VzZUNsaWNrKCk7Ci1zaG91bGRCZUVxdWFsVG9TdHJp
bmcoJ2lucHV0LnZhbHVlJywgJzAyOjI0Jyk7IC8vIE5vdCBjaGFuZ2VkLgotaW5wdXQuZGlzYWJs
ZWQgPSBmYWxzZTsKLW1vdXNlTW92ZVRvKGlucHV0Lm9mZnNldFdpZHRoIC0gY2xlYXJCdXR0b25P
ZmZzZXQsIGNlbnRlcik7Ci1tb3VzZUNsaWNrKCk7Ci1zaG91bGRCZUVxdWFsVG9TdHJpbmcoJ2lu
cHV0LnZhbHVlJywgJycpOwotCi1kZWJ1ZygnJyk7Ci08L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIu
Li8uLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KLTwvYm9keT4KLTwv
aHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvdGltZS1tdWx0aXBsZS1m
aWVsZHMvdGltZS1tdWx0aXBsZS1maWVsZHMtbmFycm93LXdpZHRoLXNjcm9sbC1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3RpbWUtbXVsdGlwbGUtZmllbGRzL3RpbWUtbXVs
dGlwbGUtZmllbGRzLW5hcnJvdy13aWR0aC1zY3JvbGwtZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAyODBhMWExZGFlODc5NzlmOGRhZTI0ZDIxOTY2ZjU4ZjU1ZTc0
MDA1Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91
dFRlc3RzL2Zhc3QvZm9ybXMvdGltZS1tdWx0aXBsZS1maWVsZHMvdGltZS1tdWx0aXBsZS1maWVs
ZHMtbmFycm93LXdpZHRoLXNjcm9sbC1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSwx
MCArMCwwIEBACi1DaGVjayBpZiBjaGFuZ2luZyBmb2N1cyBpbiBhIG11bHRpcGxlIGZpZWxkcyBp
bnB1dCBzY3JvbGxzIHRoZSBjb250ZW50LgotCi1PbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBz
ZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCi0K
LQotUEFTUyBpbml0aWFsU2Nyb2xsTGVmdCA8IGNvbnRhaW5lci5zY3JvbGxMZWZ0IGlzIHRydWUK
LVBBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKLQotVEVTVCBDT01QTEVURQotCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3RpbWUtbXVsdGlwbGUtZmllbGRzL3RpbWUt
bXVsdGlwbGUtZmllbGRzLW5hcnJvdy13aWR0aC1zY3JvbGwuaHRtbCBiL0xheW91dFRlc3RzL2Zh
c3QvZm9ybXMvdGltZS1tdWx0aXBsZS1maWVsZHMvdGltZS1tdWx0aXBsZS1maWVsZHMtbmFycm93
LXdpZHRoLXNjcm9sbC5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA0NzVhMWUw
OWJiZTUyYTIzYzM1YjI1NzNlMzdiMTUwMzY0YjcyNTA1Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvdGltZS1tdWx0
aXBsZS1maWVsZHMvdGltZS1tdWx0aXBsZS1maWVsZHMtbmFycm93LXdpZHRoLXNjcm9sbC5odG1s
CisrKyAvZGV2L251bGwKQEAgLTEsMjAgKzAsMCBAQAotPCFET0NUWVBFPgotPGJvZHk+Ci08c2Ny
aXB0IHNyYz0iLi4vLi4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KLTxz
Y3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvY29tbW9uLmpzIj48L3NjcmlwdD4KLQotPGlucHV0IGlk
PSJ0aW1lMSIgdHlwZT0idGltZSIgc3R5bGU9ImZvbnQtc2l6ZToyMHB4OyB3aWR0aDo2MHB4OyI+
Ci0KLTxzY3JpcHQ+Ci1kZXNjcmlwdGlvbignQ2hlY2sgaWYgY2hhbmdpbmcgZm9jdXMgaW4gYSBt
dWx0aXBsZSBmaWVsZHMgaW5wdXQgc2Nyb2xscyB0aGUgY29udGVudC4nKTsKLWlmICghd2luZG93
LmV2ZW50U2VuZGVyIHx8ICF3aW5kb3cuaW50ZXJuYWxzKQotICAgIGRlYnVnKCdUaGlzIHRlc3Qg
cnF1aXJlcyBEUlQvV1JULicpOwotdmFyIHRpbWUxID0gJCgndGltZTEnKTsKLXRpbWUxLmZvY3Vz
KCk7Ci12YXIgY29udGFpbmVyID0gZ2V0RWxlbWVudEJ5UHNldWRvSWQoaW50ZXJuYWxzLm9sZGVz
dFNoYWRvd1Jvb3QodGltZTEpLCAnLXdlYmtpdC1kYXRldGltZS1lZGl0Jyk7Ci12YXIgaW5pdGlh
bFNjcm9sbExlZnQgPSBjb250YWluZXIuc2Nyb2xsTGVmdDsKLWV2ZW50U2VuZGVyLmtleURvd24o
J1x0Jyk7Ci1zaG91bGRCZVRydWUoJ2luaXRpYWxTY3JvbGxMZWZ0IDwgY29udGFpbmVyLnNjcm9s
bExlZnQnKTsKLTwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii4uLy4uL2pzL3Jlc291cmNlcy9qcy10
ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgotPC9ib2R5PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZmFzdC9mb3Jtcy90aW1lLW11bHRpcGxlLWZpZWxkcy90aW1lLW11bHRpcGxlLWZpZWxkcy1wcmVz
ZXJ2ZS12YWx1ZS1hZnRlci1oaXN0b3J5LWJhY2stZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
ZmFzdC9mb3Jtcy90aW1lLW11bHRpcGxlLWZpZWxkcy90aW1lLW11bHRpcGxlLWZpZWxkcy1wcmVz
ZXJ2ZS12YWx1ZS1hZnRlci1oaXN0b3J5LWJhY2stZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCBkZWNlZDI2Nzk3YmMzYzE1MzM5OWY5MDQxNjc2MzA2YjllNTgyNTJi
Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRl
c3RzL2Zhc3QvZm9ybXMvdGltZS1tdWx0aXBsZS1maWVsZHMvdGltZS1tdWx0aXBsZS1maWVsZHMt
cHJlc2VydmUtdmFsdWUtYWZ0ZXItaGlzdG9yeS1iYWNrLWV4cGVjdGVkLnR4dAorKysgL2Rldi9u
dWxsCkBAIC0xLDE4ICswLDAgQEAKLUNoZWNrcyBpbnB1dCB2YWx1ZSBpcyBwcmVzZXJ2ZWQgYWZ0
ZXIgYmFja3dhcmQgYW5kIGZvcndhcmQKLQotT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2Vy
aWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgotCi0K
LVdlbnQgYmFjayB0byBhIHBhZ2UuIENoZWNraW5nIGEgZm9ybSBjb250cm9sIHdoaWNoIGhhZCBh
IGZ1bGwgdmFsdWU6Ci1QQVNTICIwMTowMSIgaXMgIjAxOjAxIgotV2VudCBiYWNrIHRvIGEgcGFn
ZS4gQ2hlY2tpbmcgYSBmb3JtIGNvbnRyb2wgd2hpY2ggaGFkIGEgcGFydGlhbCB2YWx1ZToKLVBB
U1MgIjAxOi0tOi0tIEFNIiBpcyAiMDE6LS06LS0gQU0iCi1XZW50IGZvcndhcmQgdG8gYSBwYWdl
LiBDaGVja2luZyBhIGZvcm0gY29udHJvbCB3aGljaCBoYWQgYSBmdWxsIHZhbHVlOgotUEFTUyAi
MDI6MDIiIGlzICIwMjowMiIKLVdlbnQgZm9yd2FyZCB0byBhIHBhZ2UuIENoZWNraW5nIGEgZm9y
bSBjb250cm9sIHdoaWNoIGhhZCBhIHBhcnRpYWwgdmFsdWU6Ci1QQVNTICItLTo1OTotLSAtLSIg
aXMgIi0tOjU5Oi0tIC0tIgotCi1QQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCi0KLVRF
U1QgQ09NUExFVEUKLQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy90aW1lLW11
bHRpcGxlLWZpZWxkcy90aW1lLW11bHRpcGxlLWZpZWxkcy1wcmVzZXJ2ZS12YWx1ZS1hZnRlci1o
aXN0b3J5LWJhY2suaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvdGltZS1tdWx0aXBsZS1m
aWVsZHMvdGltZS1tdWx0aXBsZS1maWVsZHMtcHJlc2VydmUtdmFsdWUtYWZ0ZXItaGlzdG9yeS1i
YWNrLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDQxNzBhYmIyYzU4NDE0ODI4
ODI2NGZmNjZlNTAxY2RkZDU1NGU0NDEuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy90aW1lLW11bHRpcGxlLWZpZWxk
cy90aW1lLW11bHRpcGxlLWZpZWxkcy1wcmVzZXJ2ZS12YWx1ZS1hZnRlci1oaXN0b3J5LWJhY2su
aHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDQyICswLDAgQEAKLTwhRE9DVFlQRSBodG1sPgotPGh0
bWw+Ci08aGVhZD4KLTxzY3JpcHQgc3JjPSIuLi8uLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10
ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keT4KLTxpZnJhbWUgaWQ9ImlmcmFt
ZSI+PC9pZnJhbWU+Ci08c2NyaXB0PgotZGVzY3JpcHRpb24oJ0NoZWNrcyBpbnB1dCB2YWx1ZSBp
cyBwcmVzZXJ2ZWQgYWZ0ZXIgYmFja3dhcmQgYW5kIGZvcndhcmQnKTsKLWlmICghd2luZG93LmV2
ZW50U2VuZGVyIHx8ICF3aW5kb3cuaW50ZXJuYWxzKQotICAgIGRlYnVnKCdQbGVhc2UgcnVuIHdp
dGhpbiBEdW1wUmVuZGVyVHJlZScpOwotd2luZG93LmpzVGVzdElzQXN5bmMgPSB0cnVlOwotCi12
YXIgc3RhdGUgPSAnZGlyZWN0JzsKLXZhciB0ZXN0Q2FzZXMgPSBbXTsKLQotZnVuY3Rpb24gZmFp
bGVkKG1lc3NhZ2UpIHsKLSAgICB0ZXN0RmFpbGVkKG1lc3NhZ2UgKyAnIGluICcgKyBzdGF0ZSk7
Ci0gICAgZmluaXNoSlNUZXN0KCk7Ci19Ci0KLWZ1bmN0aW9uIGZpbmlzaFRlc3QoKSB7Ci0gICAg
cnVuVGVzdENhc2VzKCk7Ci0gICAgZmluaXNoSlNUZXN0KCk7Ci19Ci0KLWZ1bmN0aW9uIHJ1blRl
c3RDYXNlcygpIHsKLSAgICBmb3IgKHZhciBpbmRleCA9IDA7IGluZGV4IDwgdGVzdENhc2VzLmxl
bmd0aDsgKytpbmRleCkgewotICAgICAgICB2YXIgdGVzdENhc2UgPSB0ZXN0Q2FzZXNbaW5kZXhd
OwotICAgICAgICBkZWJ1Zyh0ZXN0Q2FzZVsnZGVzY3JpcHRpb24nXSArICc6Jyk7Ci0gICAgICAg
IHNob3VsZEJlRXF1YWxUb1N0cmluZygnIicgKyB0ZXN0Q2FzZVsnYWN0dWFsJ10gKyAnIicsIHRl
c3RDYXNlWydleHBlY3RlZCddKTsKLSAgICB9Ci0gICAgZGVidWcoJycpOwotfQotCi13aW5kb3cu
b25sb2FkID0gZnVuY3Rpb24oKSB7Ci0gICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2lmcmFt
ZScpLnNyYyA9ICdyZXNvdXJjZXMvcHJlc2VydmUtdmFsdWUtYWZ0ZXItaGlzdG9yeS1iYWNrLWZy
YW1lLmh0bWw/cGFnZTEnOwotfTsKLTwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii4uLy4uLy4uL2Zh
c3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Ci08L2JvZHk+Ci08L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3RpbWUtbXVsdGlwbGUtZmll
bGRzL3RpbWUtbXVsdGlwbGUtZmllbGRzLXJlYWRvbmx5LXN1YmZpZWxkLWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvdGltZS1tdWx0aXBsZS1maWVsZHMvdGltZS1tdWx0aXBs
ZS1maWVsZHMtcmVhZG9ubHktc3ViZmllbGQtZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCBjNDIyYmY2Zjg3YzY0NWViYjRkZTIwZGRkOWU0NDRjODA0YWVjNDc2Li4w
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3Rz
L2Zhc3QvZm9ybXMvdGltZS1tdWx0aXBsZS1maWVsZHMvdGltZS1tdWx0aXBsZS1maWVsZHMtcmVh
ZG9ubHktc3ViZmllbGQtZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEsNjQgKzAsMCBA
QAotU3ViLWZpZWxkcyBpbiBpbnB1dFt0eXBlPXRpbWVdIHNob3VsZCBiZSByZWFkLW9ubHkgaW4g
c29tZSBjYXNlcy4gVGhpcyByZXF1aXJlcyB3aW5kb3cuaW50ZXJuYWxzLgotCi1PbiBzdWNjZXNz
LCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAi
VEVTVCBDT01QTEVURSIuCi0KLQotY3JlYXRlVGltZUlucHV0IGFyZ3VtZW50IG9yZGVyOiBtaW4s
IG1heCwgc3RlcCwgdmFsdWUKLQotTWlsbGlzZWNvbmRzIGZpZWxkOgotUEFTUyBpc1JlYWRPbmx5
RmllbGQoY3JlYXRlVGltZUlucHV0KCIwMDowMDowMC41MDAiLCBudWxsLCBzdGVwMXNlYywgIiIp
LCBwc2V1ZG9NaWxsaXNlY29uZCkgaXMgdHJ1ZQotUEFTUyBpc1JlYWRPbmx5RmllbGQoY3JlYXRl
VGltZUlucHV0KCIwMDowMDowMC41MDAiLCBudWxsLCBzdGVwMXNlYywgIjAwOjAwOjAwLjUwMCIp
LCBwc2V1ZG9NaWxsaXNlY29uZCkgaXMgdHJ1ZQotUEFTUyBpc1JlYWRPbmx5RmllbGQoY3JlYXRl
VGltZUlucHV0KCIwMDowMDowMC41MDAiLCBudWxsLCBzdGVwMXNlYywgIjAwOjAwOjAwLjYwMCIp
LCBwc2V1ZG9NaWxsaXNlY29uZCkgaXMgZmFsc2UKLVBBU1MgaXNSZWFkT25seUZpZWxkKGNyZWF0
ZVRpbWVJbnB1dCgiMDA6MDA6MDAuMDAwIiwgbnVsbCwgc3RlcDFzZWMsICIwMDowMDowMC42MDAi
KSwgcHNldWRvTWlsbGlzZWNvbmQpIGlzIGZhbHNlCi1QQVNTIGlzUmVhZE9ubHlGaWVsZChjcmVh
dGVUaW1lSW5wdXQoIjAwOjAwOjAwLjUwMCIsICIwMDowMDowMC41MDAiLCBzdGVwMW1zLCAiIiks
IHBzZXVkb01pbGxpc2Vjb25kKSBpcyB0cnVlCi1QQVNTIGlzUmVhZE9ubHlGaWVsZChjcmVhdGVU
aW1lSW5wdXQoIjAwOjAwOjAwLjUwMCIsICIwMDowMDowMC41MDEiLCBzdGVwMW1zLCAiIiksIHBz
ZXVkb01pbGxpc2Vjb25kKSBpcyBmYWxzZQotUEFTUyBpc1JlYWRPbmx5RmllbGQoY3JlYXRlVGlt
ZUlucHV0KCIwMDowMDowMC41MDAiLCAiMDA6MDA6MDAuNTAwIiwgc3RlcDFtcywgIjAwOjAwOjAw
LjEwMCIpLCBwc2V1ZG9NaWxsaXNlY29uZCkgaXMgZmFsc2UKLVNlY29uZHMgZmllbGQ6Ci1QQVNT
IGlzUmVhZE9ubHlGaWVsZChjcmVhdGVUaW1lSW5wdXQoIjAwOjAwOjMwIiwgbnVsbCwgc3RlcDFt
aW4sICIiKSwgcHNldWRvU2Vjb25kKSBpcyB0cnVlCi1QQVNTIGlzUmVhZE9ubHlGaWVsZChjcmVh
dGVUaW1lSW5wdXQoIjAwOjAwOjMwIiwgbnVsbCwgc3RlcDFtaW4sICIwMDowMDozMCIpLCBwc2V1
ZG9TZWNvbmQpIGlzIHRydWUKLVBBU1MgaXNSZWFkT25seUZpZWxkKGNyZWF0ZVRpbWVJbnB1dCgi
MDA6MDA6MzAuNTAwIiwgbnVsbCwgc3RlcDFtaW4sICIwMDowMDozMC42MDAiKSwgcHNldWRvU2Vj
b25kKSBpcyB0cnVlCi1QQVNTIGlzUmVhZE9ubHlGaWVsZChjcmVhdGVUaW1lSW5wdXQoIjAwOjAw
OjMwIiwgbnVsbCwgc3RlcDFtaW4sICIwMDowMDozNSIpLCBwc2V1ZG9TZWNvbmQpIGlzIGZhbHNl
Ci1QQVNTIGlzUmVhZE9ubHlGaWVsZChjcmVhdGVUaW1lSW5wdXQoIjAwOjAwOjAwIiwgbnVsbCwg
c3RlcDFtaW4sICIwMDowMDozNSIpLCBwc2V1ZG9TZWNvbmQpIGlzIGZhbHNlCi1QQVNTIGlzUmVh
ZE9ubHlGaWVsZChjcmVhdGVUaW1lSW5wdXQoIjAwOjAwOjMwIiwgIjAwOjAwOjMwIiwgc3RlcDFt
cywgIiIpLCBwc2V1ZG9TZWNvbmQpIGlzIHRydWUKLVBBU1MgaXNSZWFkT25seUZpZWxkKGNyZWF0
ZVRpbWVJbnB1dCgiMDA6MDA6MzAiLCAiMDA6MDA6MzEiLCBzdGVwMW1zLCAiIiksIHBzZXVkb1Nl
Y29uZCkgaXMgZmFsc2UKLVBBU1MgaXNSZWFkT25seUZpZWxkKGNyZWF0ZVRpbWVJbnB1dCgiMDA6
MDA6MzAiLCAiMDA6MDA6MzAiLCBzdGVwMW1zLCAiMDA6MDA6MjkiKSwgcHNldWRvU2Vjb25kKSBp
cyBmYWxzZQotTWludXRlcyBmaWVsZDoKLVBBU1MgaXNSZWFkT25seUZpZWxkKGNyZWF0ZVRpbWVJ
bnB1dCgiMDA6MzAiLCBudWxsLCBzdGVwMWhvdXIsICIiKSwgcHNldWRvTWludXRlKSBpcyB0cnVl
Ci1QQVNTIGlzUmVhZE9ubHlGaWVsZChjcmVhdGVUaW1lSW5wdXQoIjAwOjMwIiwgbnVsbCwgc3Rl
cDFob3VyLCAiMDA6MzAiKSwgcHNldWRvTWludXRlKSBpcyB0cnVlCi1QQVNTIGlzUmVhZE9ubHlG
aWVsZChjcmVhdGVUaW1lSW5wdXQoIjAwOjMwIiwgbnVsbCwgc3RlcDFob3VyLCAiMDA6MzUiKSwg
cHNldWRvTWludXRlKSBpcyBmYWxzZQotUEFTUyBpc1JlYWRPbmx5RmllbGQoY3JlYXRlVGltZUlu
cHV0KCIwMDowMCIsIG51bGwsIHN0ZXAxaG91ciwgIjAwOjM1IiksIHBzZXVkb01pbnV0ZSkgaXMg
ZmFsc2UKLVBBU1MgaXNSZWFkT25seUZpZWxkKGNyZWF0ZVRpbWVJbnB1dCgiMDA6MDA6MDAiLCAi
MDA6MDA6MzAiLCBzdGVwMXNlYywgIiIpLCBwc2V1ZG9NaW51dGUpIGlzIHRydWUKLVBBU1MgaXNS
ZWFkT25seUZpZWxkKGNyZWF0ZVRpbWVJbnB1dCgiMDA6MDA6MDAiLCAiMDA6MDE6MzAiLCBzdGVw
MXNlYywgIiIpLCBwc2V1ZG9NaW51dGUpIGlzIGZhbHNlCi1QQVNTIGlzUmVhZE9ubHlGaWVsZChj
cmVhdGVUaW1lSW5wdXQoIjAwOjAwOjAwIiwgIjAwOjAwOjMwIiwgc3RlcDFzZWMsICIwMDowMTow
MCIpLCBwc2V1ZG9NaW51dGUpIGlzIGZhbHNlCi1Ib3VyIGZpZWxkOgotUEFTUyBpc1JlYWRPbmx5
RmllbGQoY3JlYXRlVGltZUlucHV0KCIxMTowMCIsIG51bGwsIHN0ZXAxZGF5LCAiIiksIHBzZXVk
b0hvdXIpIGlzIGZhbHNlCi1QQVNTIGlzUmVhZE9ubHlGaWVsZChjcmVhdGVUaW1lSW5wdXQoIjEx
OjAwIiwgbnVsbCwgc3RlcDFkYXksICIiKSwgcHNldWRvQU1QTSkgaXMgZmFsc2UKLVBBU1MgaXNS
ZWFkT25seUZpZWxkKGNyZWF0ZVRpbWVJbnB1dCgiMTE6MDAiLCBudWxsLCBzdGVwMWRheSwgIiIp
LCBwc2V1ZG9NaW51dGUpIGlzIHRydWUKLVBBU1MgaXNSZWFkT25seUZpZWxkKGNyZWF0ZVRpbWVJ
bnB1dCgiMTE6MzAiLCBudWxsLCBzdGVwMWRheSwgIjExOjMwIiksIHBzZXVkb0hvdXIpIGlzIGZh
bHNlCi1QQVNTIGlzUmVhZE9ubHlGaWVsZChjcmVhdGVUaW1lSW5wdXQoIjExOjMwIiwgbnVsbCwg
c3RlcDFkYXksICIxMTozMCIpLCBwc2V1ZG9BTVBNKSBpcyBmYWxzZQotUEFTUyBpc1JlYWRPbmx5
RmllbGQoY3JlYXRlVGltZUlucHV0KCIxMTozMCIsIG51bGwsIHN0ZXAxZGF5LCAiMTE6MzAiKSwg
cHNldWRvTWludXRlKSBpcyB0cnVlCi1QQVNTIGlzUmVhZE9ubHlGaWVsZChjcmVhdGVUaW1lSW5w
dXQoIjExOjMwIiwgbnVsbCwgc3RlcDFkYXksICIxMjozMCIpLCBwc2V1ZG9Ib3VyKSBpcyBmYWxz
ZQotUEFTUyBpc1JlYWRPbmx5RmllbGQoY3JlYXRlVGltZUlucHV0KCIxMTozMCIsIG51bGwsIHN0
ZXAxZGF5LCAiMTI6MzAiKSwgcHNldWRvQU1QTSkgaXMgZmFsc2UKLVBBU1MgaXNSZWFkT25seUZp
ZWxkKGNyZWF0ZVRpbWVJbnB1dCgiMTE6MzAiLCBudWxsLCBzdGVwMWRheSwgIjEyOjMwIiksIHBz
ZXVkb01pbnV0ZSkgaXMgdHJ1ZQotUEFTUyBpc1JlYWRPbmx5RmllbGQoY3JlYXRlVGltZUlucHV0
KCIwMDowMCIsIG51bGwsIHN0ZXAxZGF5LCAiMTI6MzAiKSwgcHNldWRvSG91cikgaXMgZmFsc2UK
LVBBU1MgaXNSZWFkT25seUZpZWxkKGNyZWF0ZVRpbWVJbnB1dCgiMDA6MDAiLCBudWxsLCBzdGVw
MWRheSwgIjEyOjMwIiksIHBzZXVkb0FNUE0pIGlzIGZhbHNlCi1QQVNTIGlzUmVhZE9ubHlGaWVs
ZChjcmVhdGVUaW1lSW5wdXQoIjAwOjAwIiwgbnVsbCwgc3RlcDFkYXksICIxMjozMCIpLCBwc2V1
ZG9NaW51dGUpIGlzIGZhbHNlCi1QQVNTIGlzUmVhZE9ubHlGaWVsZChjcmVhdGVUaW1lSW5wdXQo
IjAwOjAwIiwgIjAwOjMwIiwgc3RlcDFtaW4sICIiKSwgcHNldWRvSG91cikgaXMgdHJ1ZQotUEFT
UyBpc1JlYWRPbmx5RmllbGQoY3JlYXRlVGltZUlucHV0KCIwMDowMCIsICIwMDozMCIsIHN0ZXAx
bWluLCAiIiksIHBzZXVkb0FNUE0pIGlzIHRydWUKLVBBU1MgaXNSZWFkT25seUZpZWxkKGNyZWF0
ZVRpbWVJbnB1dCgiMDA6MDAiLCAiMDA6MzAiLCBzdGVwMW1pbiwgIiIpLCBwc2V1ZG9NaW51dGUp
IGlzIGZhbHNlCi1QQVNTIGlzUmVhZE9ubHlGaWVsZChjcmVhdGVUaW1lSW5wdXQoIjAwOjAwIiwg
IjAwOjAwIiwgc3RlcDFob3VyLCAiIiksIHBzZXVkb0hvdXIpIGlzIGZhbHNlCi1QQVNTIGlzUmVh
ZE9ubHlGaWVsZChjcmVhdGVUaW1lSW5wdXQoIjAwOjAwIiwgIjAwOjAwIiwgc3RlcDFob3VyLCAi
IiksIHBzZXVkb0FNUE0pIGlzIHRydWUKLVBBU1MgaXNSZWFkT25seUZpZWxkKGNyZWF0ZVRpbWVJ
bnB1dCgiMDA6MDAiLCAiMDA6MDAiLCBzdGVwMWhvdXIsICIiKSwgcHNldWRvTWludXRlKSBpcyB0
cnVlCi1BTS9QTSBmaWVsZDoKLVBBU1MgaXNSZWFkT25seUZpZWxkKGNyZWF0ZVRpbWVJbnB1dCgi
MDA6MDAiLCBudWxsLCBzdGVwMW1pbiwgIiIpLCBwc2V1ZG9BTVBNKSBpcyBmYWxzZQotUEFTUyBp
c1JlYWRPbmx5RmllbGQoY3JlYXRlVGltZUlucHV0KCIyMzowMCIsIG51bGwsIHN0ZXAxbWluLCAi
IiksIHBzZXVkb0FNUE0pIGlzIGZhbHNlCi1QQVNTIGlzUmVhZE9ubHlGaWVsZChjcmVhdGVUaW1l
SW5wdXQobnVsbCwgIjAxOjAwIiwgc3RlcDFtaW4sICIiKSwgcHNldWRvQU1QTSkgaXMgZmFsc2UK
LVBBU1MgaXNSZWFkT25seUZpZWxkKGNyZWF0ZVRpbWVJbnB1dChudWxsLCAiMjM6MDAiLCBzdGVw
MW1pbiwgIiIpLCBwc2V1ZG9BTVBNKSBpcyBmYWxzZQotUEFTUyBpc1JlYWRPbmx5RmllbGQoY3Jl
YXRlVGltZUlucHV0KCIwMDowMCIsICIxMTo1OSIsIHN0ZXAxbWluLCAiIiksIHBzZXVkb0FNUE0p
IGlzIHRydWUKLVBBU1MgaXNSZWFkT25seUZpZWxkKGNyZWF0ZVRpbWVJbnB1dCgiMDA6MDAiLCAi
MTI6MDAiLCBzdGVwMW1pbiwgIiIpLCBwc2V1ZG9BTVBNKSBpcyBmYWxzZQotUEFTUyBpc1JlYWRP
bmx5RmllbGQoY3JlYXRlVGltZUlucHV0KCIxMjowMCIsICIxMjowMCIsIHN0ZXAxbWluLCAiIiks
IHBzZXVkb0FNUE0pIGlzIHRydWUKLVBBU1MgaXNSZWFkT25seUZpZWxkKGNyZWF0ZVRpbWVJbnB1
dCgiMTI6MDAiLCAiMjM6NTkiLCBzdGVwMW1pbiwgIiIpLCBwc2V1ZG9BTVBNKSBpcyB0cnVlCi1Q
QVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCi0KLVRFU1QgQ09NUExFVEUKLQpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy90aW1lLW11bHRpcGxlLWZpZWxkcy90aW1lLW11
bHRpcGxlLWZpZWxkcy1yZWFkb25seS1zdWJmaWVsZC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9m
b3Jtcy90aW1lLW11bHRpcGxlLWZpZWxkcy90aW1lLW11bHRpcGxlLWZpZWxkcy1yZWFkb25seS1z
dWJmaWVsZC5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA0MWFiMTUxYjVmNWNm
NGQyOTVjMWU4NmE5ZWNlYjI5Y2IxZjQ1NmE5Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvdGltZS1tdWx0aXBsZS1m
aWVsZHMvdGltZS1tdWx0aXBsZS1maWVsZHMtcmVhZG9ubHktc3ViZmllbGQuaHRtbAorKysgL2Rl
di9udWxsCkBAIC0xLDEwMSArMCwwIEBACi08IURPQ1RZUEUgaHRtbD4KLTxib2R5PgotPHNjcmlw
dCBzcmM9Ii4uLy4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Ci08c2Ny
aXB0PgotZnVuY3Rpb24gY3JlYXRlVGltZUlucHV0KG1pbiwgbWF4LCBzdGVwLCB2YWx1ZSkgewot
ICAgIHZhciBpbnB1dCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2lucHV0Jyk7Ci0gICAgaW5w
dXQudHlwZSA9ICd0aW1lJzsKLSAgICBpbnB1dC5taW4gPSBtaW47Ci0gICAgaW5wdXQubWF4ID0g
bWF4OwotICAgIGlucHV0LnN0ZXAgPSBzdGVwOwotICAgIGlmICh2YWx1ZSkKLSAgICAgICAgaW5w
dXQudmFsdWUgPSB2YWx1ZTsKLSAgICByZXR1cm4gaW5wdXQ7Ci19Ci0KLS8vIEZJWE1FOiBSZW5h
bWUgdGhpcyBmdW5jdGlvbiBhbmQgdGhlIHRlc3QgZmlsZS4KLWZ1bmN0aW9uIGlzUmVhZE9ubHlG
aWVsZChpbnB1dCwgcHNldWRvKSB7Ci0gICAgdmFyIG5vZGUgPSBpbnRlcm5hbHMueW91bmdlc3RT
aGFkb3dSb290KGlucHV0KS5xdWVyeVNlbGVjdG9yKCcqW3BzZXVkbz0iJyArIHBzZXVkbyArICci
XScpOwotICAgIGlmICghbm9kZSkKLSAgICAgICAgdGVzdEZhaWxlZCgnUmVxdWVzdGVkIG5vZGUg
aXMgbWlzc2luZy4nKTsKLSAgICByZXR1cm4gbm9kZSAmJiBub2RlLmhhc0F0dHJpYnV0ZSgnZGlz
YWJsZWQnKTsKLX0KLQotdmFyIHBzZXVkb01pbGxpc2Vjb25kID0gJy13ZWJraXQtZGF0ZXRpbWUt
ZWRpdC1taWxsaXNlY29uZC1maWVsZCc7Ci12YXIgcHNldWRvU2Vjb25kID0gJy13ZWJraXQtZGF0
ZXRpbWUtZWRpdC1zZWNvbmQtZmllbGQnOwotdmFyIHBzZXVkb01pbnV0ZSA9ICctd2Via2l0LWRh
dGV0aW1lLWVkaXQtbWludXRlLWZpZWxkJzsKLXZhciBwc2V1ZG9Ib3VyID0gJy13ZWJraXQtZGF0
ZXRpbWUtZWRpdC1ob3VyLWZpZWxkJzsKLXZhciBwc2V1ZG9BTVBNID0gJy13ZWJraXQtZGF0ZXRp
bWUtZWRpdC1hbXBtLWZpZWxkJzsKLXZhciBzdGVwMW1zID0gJzAuMDAxJzsKLXZhciBzdGVwMXNl
YyA9ICcxJzsKLXZhciBzdGVwMW1pbiA9ICc2MCc7Ci12YXIgc3RlcDFob3VyID0gJzM2MDAnOwot
dmFyIHN0ZXAxZGF5ID0gJzg2NDAwJzsKLQotZGVzY3JpcHRpb24oJ1N1Yi1maWVsZHMgaW4gaW5w
dXRbdHlwZT10aW1lXSBzaG91bGQgYmUgcmVhZC1vbmx5IGluIHNvbWUgY2FzZXMuIFRoaXMgcmVx
dWlyZXMgd2luZG93LmludGVybmFscy4nKTsKLWRlYnVnKCdjcmVhdGVUaW1lSW5wdXQgYXJndW1l
bnQgb3JkZXI6IG1pbiwgbWF4LCBzdGVwLCB2YWx1ZScpOwotZGVidWcoJycpOwotCi1kZWJ1Zygn
TWlsbGlzZWNvbmRzIGZpZWxkOicpOwotc2hvdWxkQmVUcnVlKCdpc1JlYWRPbmx5RmllbGQoY3Jl
YXRlVGltZUlucHV0KCIwMDowMDowMC41MDAiLCBudWxsLCBzdGVwMXNlYywgIiIpLCBwc2V1ZG9N
aWxsaXNlY29uZCknKTsKLXNob3VsZEJlVHJ1ZSgnaXNSZWFkT25seUZpZWxkKGNyZWF0ZVRpbWVJ
bnB1dCgiMDA6MDA6MDAuNTAwIiwgbnVsbCwgc3RlcDFzZWMsICIwMDowMDowMC41MDAiKSwgcHNl
dWRvTWlsbGlzZWNvbmQpJyk7Ci1zaG91bGRCZUZhbHNlKCdpc1JlYWRPbmx5RmllbGQoY3JlYXRl
VGltZUlucHV0KCIwMDowMDowMC41MDAiLCBudWxsLCBzdGVwMXNlYywgIjAwOjAwOjAwLjYwMCIp
LCBwc2V1ZG9NaWxsaXNlY29uZCknKTsKLXNob3VsZEJlRmFsc2UoJ2lzUmVhZE9ubHlGaWVsZChj
cmVhdGVUaW1lSW5wdXQoIjAwOjAwOjAwLjAwMCIsIG51bGwsIHN0ZXAxc2VjLCAiMDA6MDA6MDAu
NjAwIiksIHBzZXVkb01pbGxpc2Vjb25kKScpOwotc2hvdWxkQmVUcnVlKCdpc1JlYWRPbmx5Rmll
bGQoY3JlYXRlVGltZUlucHV0KCIwMDowMDowMC41MDAiLCAiMDA6MDA6MDAuNTAwIiwgc3RlcDFt
cywgIiIpLCBwc2V1ZG9NaWxsaXNlY29uZCknKTsKLXNob3VsZEJlRmFsc2UoJ2lzUmVhZE9ubHlG
aWVsZChjcmVhdGVUaW1lSW5wdXQoIjAwOjAwOjAwLjUwMCIsICIwMDowMDowMC41MDEiLCBzdGVw
MW1zLCAiIiksIHBzZXVkb01pbGxpc2Vjb25kKScpOwotc2hvdWxkQmVGYWxzZSgnaXNSZWFkT25s
eUZpZWxkKGNyZWF0ZVRpbWVJbnB1dCgiMDA6MDA6MDAuNTAwIiwgIjAwOjAwOjAwLjUwMCIsIHN0
ZXAxbXMsICIwMDowMDowMC4xMDAiKSwgcHNldWRvTWlsbGlzZWNvbmQpJyk7Ci0KLWRlYnVnKCdT
ZWNvbmRzIGZpZWxkOicpOwotc2hvdWxkQmVUcnVlKCdpc1JlYWRPbmx5RmllbGQoY3JlYXRlVGlt
ZUlucHV0KCIwMDowMDozMCIsIG51bGwsIHN0ZXAxbWluLCAiIiksIHBzZXVkb1NlY29uZCknKTsK
LXNob3VsZEJlVHJ1ZSgnaXNSZWFkT25seUZpZWxkKGNyZWF0ZVRpbWVJbnB1dCgiMDA6MDA6MzAi
LCBudWxsLCBzdGVwMW1pbiwgIjAwOjAwOjMwIiksIHBzZXVkb1NlY29uZCknKTsKLXNob3VsZEJl
VHJ1ZSgnaXNSZWFkT25seUZpZWxkKGNyZWF0ZVRpbWVJbnB1dCgiMDA6MDA6MzAuNTAwIiwgbnVs
bCwgc3RlcDFtaW4sICIwMDowMDozMC42MDAiKSwgcHNldWRvU2Vjb25kKScpOwotc2hvdWxkQmVG
YWxzZSgnaXNSZWFkT25seUZpZWxkKGNyZWF0ZVRpbWVJbnB1dCgiMDA6MDA6MzAiLCBudWxsLCBz
dGVwMW1pbiwgIjAwOjAwOjM1IiksIHBzZXVkb1NlY29uZCknKTsKLXNob3VsZEJlRmFsc2UoJ2lz
UmVhZE9ubHlGaWVsZChjcmVhdGVUaW1lSW5wdXQoIjAwOjAwOjAwIiwgbnVsbCwgc3RlcDFtaW4s
ICIwMDowMDozNSIpLCBwc2V1ZG9TZWNvbmQpJyk7Ci1zaG91bGRCZVRydWUoJ2lzUmVhZE9ubHlG
aWVsZChjcmVhdGVUaW1lSW5wdXQoIjAwOjAwOjMwIiwgIjAwOjAwOjMwIiwgc3RlcDFtcywgIiIp
LCBwc2V1ZG9TZWNvbmQpJyk7Ci1zaG91bGRCZUZhbHNlKCdpc1JlYWRPbmx5RmllbGQoY3JlYXRl
VGltZUlucHV0KCIwMDowMDozMCIsICIwMDowMDozMSIsIHN0ZXAxbXMsICIiKSwgcHNldWRvU2Vj
b25kKScpOwotc2hvdWxkQmVGYWxzZSgnaXNSZWFkT25seUZpZWxkKGNyZWF0ZVRpbWVJbnB1dCgi
MDA6MDA6MzAiLCAiMDA6MDA6MzAiLCBzdGVwMW1zLCAiMDA6MDA6MjkiKSwgcHNldWRvU2Vjb25k
KScpOwotCi1kZWJ1ZygnTWludXRlcyBmaWVsZDonKTsKLXNob3VsZEJlVHJ1ZSgnaXNSZWFkT25s
eUZpZWxkKGNyZWF0ZVRpbWVJbnB1dCgiMDA6MzAiLCBudWxsLCBzdGVwMWhvdXIsICIiKSwgcHNl
dWRvTWludXRlKScpOwotc2hvdWxkQmVUcnVlKCdpc1JlYWRPbmx5RmllbGQoY3JlYXRlVGltZUlu
cHV0KCIwMDozMCIsIG51bGwsIHN0ZXAxaG91ciwgIjAwOjMwIiksIHBzZXVkb01pbnV0ZSknKTsK
LXNob3VsZEJlRmFsc2UoJ2lzUmVhZE9ubHlGaWVsZChjcmVhdGVUaW1lSW5wdXQoIjAwOjMwIiwg
bnVsbCwgc3RlcDFob3VyLCAiMDA6MzUiKSwgcHNldWRvTWludXRlKScpOwotc2hvdWxkQmVGYWxz
ZSgnaXNSZWFkT25seUZpZWxkKGNyZWF0ZVRpbWVJbnB1dCgiMDA6MDAiLCBudWxsLCBzdGVwMWhv
dXIsICIwMDozNSIpLCBwc2V1ZG9NaW51dGUpJyk7Ci1zaG91bGRCZVRydWUoJ2lzUmVhZE9ubHlG
aWVsZChjcmVhdGVUaW1lSW5wdXQoIjAwOjAwOjAwIiwgIjAwOjAwOjMwIiwgc3RlcDFzZWMsICIi
KSwgcHNldWRvTWludXRlKScpOwotc2hvdWxkQmVGYWxzZSgnaXNSZWFkT25seUZpZWxkKGNyZWF0
ZVRpbWVJbnB1dCgiMDA6MDA6MDAiLCAiMDA6MDE6MzAiLCBzdGVwMXNlYywgIiIpLCBwc2V1ZG9N
aW51dGUpJyk7Ci1zaG91bGRCZUZhbHNlKCdpc1JlYWRPbmx5RmllbGQoY3JlYXRlVGltZUlucHV0
KCIwMDowMDowMCIsICIwMDowMDozMCIsIHN0ZXAxc2VjLCAiMDA6MDE6MDAiKSwgcHNldWRvTWlu
dXRlKScpOwotCi1kZWJ1ZygnSG91ciBmaWVsZDonKTsKLXNob3VsZEJlRmFsc2UoJ2lzUmVhZE9u
bHlGaWVsZChjcmVhdGVUaW1lSW5wdXQoIjExOjAwIiwgbnVsbCwgc3RlcDFkYXksICIiKSwgcHNl
dWRvSG91ciknKTsKLXNob3VsZEJlRmFsc2UoJ2lzUmVhZE9ubHlGaWVsZChjcmVhdGVUaW1lSW5w
dXQoIjExOjAwIiwgbnVsbCwgc3RlcDFkYXksICIiKSwgcHNldWRvQU1QTSknKTsKLXNob3VsZEJl
VHJ1ZSgnaXNSZWFkT25seUZpZWxkKGNyZWF0ZVRpbWVJbnB1dCgiMTE6MDAiLCBudWxsLCBzdGVw
MWRheSwgIiIpLCBwc2V1ZG9NaW51dGUpJyk7Ci1zaG91bGRCZUZhbHNlKCdpc1JlYWRPbmx5Rmll
bGQoY3JlYXRlVGltZUlucHV0KCIxMTozMCIsIG51bGwsIHN0ZXAxZGF5LCAiMTE6MzAiKSwgcHNl
dWRvSG91ciknKTsKLXNob3VsZEJlRmFsc2UoJ2lzUmVhZE9ubHlGaWVsZChjcmVhdGVUaW1lSW5w
dXQoIjExOjMwIiwgbnVsbCwgc3RlcDFkYXksICIxMTozMCIpLCBwc2V1ZG9BTVBNKScpOwotc2hv
dWxkQmVUcnVlKCdpc1JlYWRPbmx5RmllbGQoY3JlYXRlVGltZUlucHV0KCIxMTozMCIsIG51bGws
IHN0ZXAxZGF5LCAiMTE6MzAiKSwgcHNldWRvTWludXRlKScpOwotc2hvdWxkQmVGYWxzZSgnaXNS
ZWFkT25seUZpZWxkKGNyZWF0ZVRpbWVJbnB1dCgiMTE6MzAiLCBudWxsLCBzdGVwMWRheSwgIjEy
OjMwIiksIHBzZXVkb0hvdXIpJyk7Ci1zaG91bGRCZUZhbHNlKCdpc1JlYWRPbmx5RmllbGQoY3Jl
YXRlVGltZUlucHV0KCIxMTozMCIsIG51bGwsIHN0ZXAxZGF5LCAiMTI6MzAiKSwgcHNldWRvQU1Q
TSknKTsKLXNob3VsZEJlVHJ1ZSgnaXNSZWFkT25seUZpZWxkKGNyZWF0ZVRpbWVJbnB1dCgiMTE6
MzAiLCBudWxsLCBzdGVwMWRheSwgIjEyOjMwIiksIHBzZXVkb01pbnV0ZSknKTsKLXNob3VsZEJl
RmFsc2UoJ2lzUmVhZE9ubHlGaWVsZChjcmVhdGVUaW1lSW5wdXQoIjAwOjAwIiwgbnVsbCwgc3Rl
cDFkYXksICIxMjozMCIpLCBwc2V1ZG9Ib3VyKScpOwotc2hvdWxkQmVGYWxzZSgnaXNSZWFkT25s
eUZpZWxkKGNyZWF0ZVRpbWVJbnB1dCgiMDA6MDAiLCBudWxsLCBzdGVwMWRheSwgIjEyOjMwIiks
IHBzZXVkb0FNUE0pJyk7Ci1zaG91bGRCZUZhbHNlKCdpc1JlYWRPbmx5RmllbGQoY3JlYXRlVGlt
ZUlucHV0KCIwMDowMCIsIG51bGwsIHN0ZXAxZGF5LCAiMTI6MzAiKSwgcHNldWRvTWludXRlKScp
Owotc2hvdWxkQmVUcnVlKCdpc1JlYWRPbmx5RmllbGQoY3JlYXRlVGltZUlucHV0KCIwMDowMCIs
ICIwMDozMCIsIHN0ZXAxbWluLCAiIiksIHBzZXVkb0hvdXIpJyk7Ci1zaG91bGRCZVRydWUoJ2lz
UmVhZE9ubHlGaWVsZChjcmVhdGVUaW1lSW5wdXQoIjAwOjAwIiwgIjAwOjMwIiwgc3RlcDFtaW4s
ICIiKSwgcHNldWRvQU1QTSknKTsKLXNob3VsZEJlRmFsc2UoJ2lzUmVhZE9ubHlGaWVsZChjcmVh
dGVUaW1lSW5wdXQoIjAwOjAwIiwgIjAwOjMwIiwgc3RlcDFtaW4sICIiKSwgcHNldWRvTWludXRl
KScpOwotc2hvdWxkQmVGYWxzZSgnaXNSZWFkT25seUZpZWxkKGNyZWF0ZVRpbWVJbnB1dCgiMDA6
MDAiLCAiMDA6MDAiLCBzdGVwMWhvdXIsICIiKSwgcHNldWRvSG91ciknKTsKLXNob3VsZEJlVHJ1
ZSgnaXNSZWFkT25seUZpZWxkKGNyZWF0ZVRpbWVJbnB1dCgiMDA6MDAiLCAiMDA6MDAiLCBzdGVw
MWhvdXIsICIiKSwgcHNldWRvQU1QTSknKTsKLXNob3VsZEJlVHJ1ZSgnaXNSZWFkT25seUZpZWxk
KGNyZWF0ZVRpbWVJbnB1dCgiMDA6MDAiLCAiMDA6MDAiLCBzdGVwMWhvdXIsICIiKSwgcHNldWRv
TWludXRlKScpOwotCi1kZWJ1ZygnQU0vUE0gZmllbGQ6Jyk7Ci1zaG91bGRCZUZhbHNlKCdpc1Jl
YWRPbmx5RmllbGQoY3JlYXRlVGltZUlucHV0KCIwMDowMCIsIG51bGwsIHN0ZXAxbWluLCAiIiks
IHBzZXVkb0FNUE0pJyk7Ci1zaG91bGRCZUZhbHNlKCdpc1JlYWRPbmx5RmllbGQoY3JlYXRlVGlt
ZUlucHV0KCIyMzowMCIsIG51bGwsIHN0ZXAxbWluLCAiIiksIHBzZXVkb0FNUE0pJyk7Ci1zaG91
bGRCZUZhbHNlKCdpc1JlYWRPbmx5RmllbGQoY3JlYXRlVGltZUlucHV0KG51bGwsICIwMTowMCIs
IHN0ZXAxbWluLCAiIiksIHBzZXVkb0FNUE0pJyk7Ci1zaG91bGRCZUZhbHNlKCdpc1JlYWRPbmx5
RmllbGQoY3JlYXRlVGltZUlucHV0KG51bGwsICIyMzowMCIsIHN0ZXAxbWluLCAiIiksIHBzZXVk
b0FNUE0pJyk7Ci1zaG91bGRCZVRydWUoJ2lzUmVhZE9ubHlGaWVsZChjcmVhdGVUaW1lSW5wdXQo
IjAwOjAwIiwgIjExOjU5Iiwgc3RlcDFtaW4sICIiKSwgcHNldWRvQU1QTSknKTsKLXNob3VsZEJl
RmFsc2UoJ2lzUmVhZE9ubHlGaWVsZChjcmVhdGVUaW1lSW5wdXQoIjAwOjAwIiwgIjEyOjAwIiwg
c3RlcDFtaW4sICIiKSwgcHNldWRvQU1QTSknKTsKLXNob3VsZEJlVHJ1ZSgnaXNSZWFkT25seUZp
ZWxkKGNyZWF0ZVRpbWVJbnB1dCgiMTI6MDAiLCAiMTI6MDAiLCBzdGVwMW1pbiwgIiIpLCBwc2V1
ZG9BTVBNKScpOwotc2hvdWxkQmVUcnVlKCdpc1JlYWRPbmx5RmllbGQoY3JlYXRlVGltZUlucHV0
KCIxMjowMCIsICIyMzo1OSIsIHN0ZXAxbWluLCAiIiksIHBzZXVkb0FNUE0pJyk7Ci0KLQotPC9z
Y3JpcHQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+
PC9zY3JpcHQ+Ci08L2JvZHk+Ci0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMv
dGltZS1tdWx0aXBsZS1maWVsZHMvdGltZS1tdWx0aXBsZS1maWVsZHMtcmVzZXQtdmFsdWUtYWZ0
ZXItcmVsb2FkLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvdGltZS1tdWx0
aXBsZS1maWVsZHMvdGltZS1tdWx0aXBsZS1maWVsZHMtcmVzZXQtdmFsdWUtYWZ0ZXItcmVsb2Fk
LWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNzU4OGUzMjBmNTBi
MTI5OTZiYTExNzZiYjczZWRmYjYzY2UxOGYzYS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3RpbWUtbXVsdGlwbGUt
ZmllbGRzL3RpbWUtbXVsdGlwbGUtZmllbGRzLXJlc2V0LXZhbHVlLWFmdGVyLXJlbG9hZC1leHBl
Y3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSwxMSArMCwwIEBACi1DaGVja3MgcmVsb2FkaW5n
IHBhZ2UgcmVzZXRzIGlucHV0IHZhbHVlcwotCi1PbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBz
ZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCi0K
LQotUEFTUyB0ZXN0SW5wdXQxLnZhbHVlIGlzICIiCi1QQVNTIHRlc3RJbnB1dDIudmFsdWUgaXMg
IjAyOjAyIgotUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQotCi1URVNUIENPTVBMRVRF
Ci0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvdGltZS1tdWx0aXBsZS1maWVs
ZHMvdGltZS1tdWx0aXBsZS1maWVsZHMtcmVzZXQtdmFsdWUtYWZ0ZXItcmVsb2FkLmh0bWwgYi9M
YXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3RpbWUtbXVsdGlwbGUtZmllbGRzL3RpbWUtbXVsdGlwbGUt
ZmllbGRzLXJlc2V0LXZhbHVlLWFmdGVyLXJlbG9hZC5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwZTZlZjM0NjExMTY3NThmY2U0NWM0YjA5MDJmYzI1YzFjMTU0MmFhLi4wMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2Zh
c3QvZm9ybXMvdGltZS1tdWx0aXBsZS1maWVsZHMvdGltZS1tdWx0aXBsZS1maWVsZHMtcmVzZXQt
dmFsdWUtYWZ0ZXItcmVsb2FkLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSwzNiArMCwwIEBACi08
IURPQ1RZUEUgaHRtbD4KLTxodG1sPgotPGhlYWQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vLi4vZmFz
dC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHkg
b25sb2FkPSJydW5Cb2R5TG9hZGVkKCkiPgotPGlmcmFtZSBpZD1pZnJhbWUgc3JjZG9jPSI8aW5w
dXQgdHlwZT10aW1lIGlkPXRlc3QxPjxpbnB1dCB0eXBlPXRpbWUgaWQ9dGVzdDIgdmFsdWU9MDI6
MDI+Ij48L2lmcmFtZT4KLTxzY3JpcHQ+Ci1kZXNjcmlwdGlvbignQ2hlY2tzIHJlbG9hZGluZyBw
YWdlIHJlc2V0cyBpbnB1dCB2YWx1ZXMnKTsKLXdpbmRvdy5qc1Rlc3RJc0FzeW5jID0gdHJ1ZTsK
LQotdmFyIGlmcmFtZSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdpZnJhbWUnKTsKLXZhciB0
ZXN0SW5wdXQxOwotdmFyIHRlc3RJbnB1dDI7Ci0KLWZ1bmN0aW9uIHJ1bkJvZHlMb2FkZWQoKQot
ewotICAgIGlmcmFtZS5jb250ZW50RG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3Rlc3QxJykudmFs
dWUgPSAnMTI6MzQnOwotICAgIGlmcmFtZS5jb250ZW50RG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
J3Rlc3QyJykudmFsdWUgPSAnMDM6MDMnOwotICAgIGlmcmFtZS5hZGRFdmVudExpc3RlbmVyKCJs
b2FkIiwgZnVuY3Rpb24gKCkgeyBwYXJlbnQucnVuT25JRnJhbWVMb2FkKCk7IH0pOwotICAgIGlm
cmFtZS5jb250ZW50V2luZG93LmxvY2F0aW9uLnJlbG9hZCgpOwotfQotCi1mdW5jdGlvbiBydW5P
bklGcmFtZUxvYWQoKQotewotICAgIHRlc3RJbnB1dDEgPSBpZnJhbWUuY29udGVudERvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCd0ZXN0MScpOwotICAgIHRlc3RJbnB1dDIgPSBpZnJhbWUuY29udGVu
dERvY3VtZW50LmdldEVsZW1lbnRCeUlkKCd0ZXN0MicpOwotICAgIHNob3VsZEJlRXF1YWxUb1N0
cmluZygndGVzdElucHV0MS52YWx1ZScsICcnKTsKLSAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmco
J3Rlc3RJbnB1dDIudmFsdWUnLCAnMDI6MDInKTsKLSAgICBpZnJhbWUucGFyZW50Tm9kZS5yZW1v
dmVDaGlsZChpZnJhbWUpOwotICAgIGZpbmlzaEpTVGVzdCgpOwotfQotPC9zY3JpcHQ+Ci08c2Ny
aXB0IHNyYz0iLi4vLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3Nj
cmlwdD4KLTwvYm9keT4KLTwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZm9y
bXMvdGltZS1tdWx0aXBsZS1maWVsZHMvdGltZS1tdWx0aXBsZS1maWVsZHMtc3BpbmJ1dHRvbi1j
aGFuZ2UtYW5kLWlucHV0LWV2ZW50cy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2Zv
cm1zL3RpbWUtbXVsdGlwbGUtZmllbGRzL3RpbWUtbXVsdGlwbGUtZmllbGRzLXNwaW5idXR0b24t
Y2hhbmdlLWFuZC1pbnB1dC1ldmVudHMtZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAxODcwODA5MWZjOGJhOTBjOWQ4MjM3NDA2NGI2MWY2NTVhMmM1NDBmLi4wMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2Zh
c3QvZm9ybXMvdGltZS1tdWx0aXBsZS1maWVsZHMvdGltZS1tdWx0aXBsZS1maWVsZHMtc3BpbmJ1
dHRvbi1jaGFuZ2UtYW5kLWlucHV0LWV2ZW50cy1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApA
QCAtMSwxOSArMCwwIEBACi1UZXN0IGZvciBldmVudCBkaXNwYXRjaGluZyBieSBzcGluIGJ1dHRv
bnMgaW4gYSB0eXBlPXRpbWUgaW5wdXQuCi0KLU9uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNl
cmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KLQot
Ci1Jbml0aWFsIHN0YXRlCi1QQVNTIGNoYW5nZUV2ZW50Q291bnRlciBpcyAwCi1QQVNTIGlucHV0
RXZlbnRDb3VudGVyIGlzIDAKLUNsaWNrIHRoZSB1cHBlciBidXR0b24KLVBBU1MgdGVzdElucHV0
LnZhbHVlIGlzICIwNDowMCIKLVBBU1MgY2hhbmdlRXZlbnRDb3VudGVyIGlzIDEKLVBBU1MgaW5w
dXRFdmVudENvdW50ZXIgaXMgMQotRm9jdXMgb24gYW5vdGhlciBmaWVsZAotUEFTUyBjaGFuZ2VF
dmVudENvdW50ZXIgaXMgMQotUEFTUyBpbnB1dEV2ZW50Q291bnRlciBpcyAxCi1QQVNTIHN1Y2Nl
c3NmdWxseVBhcnNlZCBpcyB0cnVlCi0KLVRFU1QgQ09NUExFVEUKLQpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZmFzdC9mb3Jtcy90aW1lLW11bHRpcGxlLWZpZWxkcy90aW1lLW11bHRpcGxlLWZp
ZWxkcy1zcGluYnV0dG9uLWNoYW5nZS1hbmQtaW5wdXQtZXZlbnRzLmh0bWwgYi9MYXlvdXRUZXN0
cy9mYXN0L2Zvcm1zL3RpbWUtbXVsdGlwbGUtZmllbGRzL3RpbWUtbXVsdGlwbGUtZmllbGRzLXNw
aW5idXR0b24tY2hhbmdlLWFuZC1pbnB1dC1ldmVudHMuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggYzEyZDE0MjY5MWI5YmNhMDFiZDhjNGY2ZTE0ZTMyMWJlYTExMDMwYy4uMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9m
YXN0L2Zvcm1zL3RpbWUtbXVsdGlwbGUtZmllbGRzL3RpbWUtbXVsdGlwbGUtZmllbGRzLXNwaW5i
dXR0b24tY2hhbmdlLWFuZC1pbnB1dC1ldmVudHMuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDE0
ICswLDAgQEAKLTwhRE9DVFlQRSBodG1sPgotPGh0bWw+Ci08aGVhZD4KLTxzY3JpcHQgc3JjPSIu
Li8uLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Ci08c2Ny
aXB0IHNyYz0iLi4vcmVzb3VyY2VzL2NvbW1vbi5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0i
Li4vcmVzb3VyY2VzL2NvbW1vbi1zcGluYnV0dG9uLWNoYW5nZS1hbmQtaW5wdXQtZXZlbnRzLmpz
Ij48L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5PgotPHNjcmlwdD4KLXRlc3RTcGluQnV0dG9uQ2hh
bmdlQW5kSW5wdXRFdmVudHMoJ3RpbWUnLCAnMDM6MDAnLCAnMDQ6MDAnKTsKLTwvc2NyaXB0Pgot
PHNjcmlwdCBzcmM9Ii4uLy4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+
PC9zY3JpcHQ+Ci08L2JvZHk+Ci08L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0
L2Zvcm1zL3RpbWUtbXVsdGlwbGUtZmllbGRzL3RpbWUtbXVsdGlwbGUtZmllbGRzLXNwaW5idXR0
b24tY2xpY2staW4taWZyYW1lLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMv
dGltZS1tdWx0aXBsZS1maWVsZHMvdGltZS1tdWx0aXBsZS1maWVsZHMtc3BpbmJ1dHRvbi1jbGlj
ay1pbi1pZnJhbWUtZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBl
M2RkYTdlNDRmN2JhZWFhN2YwZmMzNzM4NmJmNjZmZWUxYWFjYTNiLi4wMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvdGlt
ZS1tdWx0aXBsZS1maWVsZHMvdGltZS1tdWx0aXBsZS1maWVsZHMtc3BpbmJ1dHRvbi1jbGljay1p
bi1pZnJhbWUtZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEsMTAgKzAsMCBAQAotQ2hl
Y2tzIG1vdXNlIGNsaWNrIG9uIHNwaW4gYnV0dG9uIGluIGlmcmFtZS4KLQotT24gc3VjY2Vzcywg
eW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRF
U1QgQ09NUExFVEUiLgotCi0KLVBBU1MgdGVzdElucHV0LnZhbHVlIGlzICIwMTowMCIKLVBBU1Mg
c3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKLQotVEVTVCBDT01QTEVURQotCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3RpbWUtbXVsdGlwbGUtZmllbGRzL3RpbWUtbXVsdGlw
bGUtZmllbGRzLXNwaW5idXR0b24tY2xpY2staW4taWZyYW1lLmh0bWwgYi9MYXlvdXRUZXN0cy9m
YXN0L2Zvcm1zL3RpbWUtbXVsdGlwbGUtZmllbGRzL3RpbWUtbXVsdGlwbGUtZmllbGRzLXNwaW5i
dXR0b24tY2xpY2staW4taWZyYW1lLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDk2NjY4NDdmYzhiYmY0NDFkNTljY2U4Nzg4YTJhZjZiOTI2NTNmODguLjAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy90
aW1lLW11bHRpcGxlLWZpZWxkcy90aW1lLW11bHRpcGxlLWZpZWxkcy1zcGluYnV0dG9uLWNsaWNr
LWluLWlmcmFtZS5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsMTggKzAsMCBAQAotPCFET0NUWVBF
IGh0bWw+Ci08aHRtbD4KLTxoZWFkPgotPHNjcmlwdCBzcmM9Ii4uLy4uLy4uL2Zhc3QvanMvcmVz
b3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIuLi9yZXNvdXJj
ZXMvY29tbW9uLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvY29tbW9u
LXNwaW5idXR0b24tY2xpY2staW4taWZyYW1lLmpzIj48L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5
PgotPHNjcmlwdD4KLXRlc3RDbGlja1NwaW5CdXR0b25JbklGcmFtZSh7Ci0gICAgJ2V4cGVjdGVk
VmFsdWUnIDogJzAxOjAwJywKLSAgICAnaW5pdGlhbFZhbHVlJyA6ICcwMDowMCcsCi0gICAgJ2lu
cHV0VHlwZScgOiAndGltZScKLX0pOwotPC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vLi4v
ZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KLTwvYm9keT4KLTwv
aHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvdGltZS1tdWx0aXBsZS1m
aWVsZHMvdGltZS1tdWx0aXBsZS1maWVsZHMtc3RhdGUtY2hhbmdlLW9uLWZvY3VzLW9yLWJsdXIt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy90aW1lLW11bHRpcGxlLWZpZWxk
cy90aW1lLW11bHRpcGxlLWZpZWxkcy1zdGF0ZS1jaGFuZ2Utb24tZm9jdXMtb3ItYmx1ci1leHBl
Y3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDcyMGM5YWMwMWQ1ZTc0MDE0
NGJjZjk0MDRhYzU1M2JkMDk3YjU2OTEuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy90aW1lLW11bHRpcGxlLWZpZWxk
cy90aW1lLW11bHRpcGxlLWZpZWxkcy1zdGF0ZS1jaGFuZ2Utb24tZm9jdXMtb3ItYmx1ci1leHBl
Y3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSwxNiArMCwwIEBACi1DaGVjayBmb2N1cyBoYW5k
bGVyIG5vdCBkaXNwYXRjaCBibHVyIGV2ZW50Ci0KLU9uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBh
IHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4K
LQotCi1jYWxsIGZvY3VzKCkKLUVudGVyaW5nIGZvY3VzIGV2ZW50IGhhbmRsZXIKLUV4aXN0aW5n
IGZvY3VzIGV2ZW50IGhhbmRsZXIKLWZvY3VzKCkgZmluaXNoZWQKLQotRW50ZXJpbmcgYmx1ciBl
dmVudCBoYW5kbGVyCi1FeGlzdGluZyBibHVyIGV2ZW50IGhhbmRsZXIKLVBBU1Mgc3VjY2Vzc2Z1
bGx5UGFyc2VkIGlzIHRydWUKLQotVEVTVCBDT01QTEVURQotCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9mYXN0L2Zvcm1zL3RpbWUtbXVsdGlwbGUtZmllbGRzL3RpbWUtbXVsdGlwbGUtZmllbGRz
LXN0YXRlLWNoYW5nZS1vbi1mb2N1cy1vci1ibHVyLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2Zv
cm1zL3RpbWUtbXVsdGlwbGUtZmllbGRzL3RpbWUtbXVsdGlwbGUtZmllbGRzLXN0YXRlLWNoYW5n
ZS1vbi1mb2N1cy1vci1ibHVyLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDgw
NzVjNzFkYTAxODc4ZThmYWVlZmVlMTdmMmYyYWRmOTNlNWVhYzUuLjAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy90aW1l
LW11bHRpcGxlLWZpZWxkcy90aW1lLW11bHRpcGxlLWZpZWxkcy1zdGF0ZS1jaGFuZ2Utb24tZm9j
dXMtb3ItYmx1ci5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsNDIgKzAsMCBAQAotPCFET0NUWVBF
IGh0bWw+Ci08aHRtbD4KLTxoZWFkPgotPHNjcmlwdCBzcmM9Ii4uLy4uL2pzL3Jlc291cmNlcy9q
cy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keT4KLTxzY3JpcHQ+Ci1kZXNj
cmlwdGlvbignQ2hlY2sgZm9jdXMgaGFuZGxlciBub3QgZGlzcGF0Y2ggYmx1ciBldmVudCcpOwot
dGVzdElucHV0ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnaW5wdXQnKTsKLWRvY3VtZW50LmJv
ZHkuYXBwZW5kQ2hpbGQodGVzdElucHV0KTsKLXRlc3RJbnB1dC50eXBlID0gJ3RpbWUnOwotCi10
ZXN0SW5wdXQuYWRkRXZlbnRMaXN0ZW5lcigKLSAgICAnYmx1cicsCi0gICAgZnVuY3Rpb24oKQot
ICAgIHsKLSAgICAgICAgZGVidWcoJ0VudGVyaW5nIGJsdXIgZXZlbnQgaGFuZGxlcicpOwotICAg
ICAgICB0ZXN0SW5wdXQuc2V0QXR0cmlidXRlKCd5JywgJ3knKTsKLSAgICAgICAgZGVidWcoJ0V4
aXN0aW5nIGJsdXIgZXZlbnQgaGFuZGxlcicpOwotICAgIH0sCi0gICAgZmFsc2UpOwotCi10ZXN0
SW5wdXQuYWRkRXZlbnRMaXN0ZW5lcigKLSAgICAnZm9jdXMnLAotICAgIGZ1bmN0aW9uKCkKLSAg
ICB7Ci0gICAgICAgIGRlYnVnKCdFbnRlcmluZyBmb2N1cyBldmVudCBoYW5kbGVyJyk7Ci0gICAg
ICAgIHRlc3RJbnB1dC5zZXRBdHRyaWJ1dGUoJ3gnLCAneCcpOwotICAgICAgICBkZWJ1ZygnRXhp
c3RpbmcgZm9jdXMgZXZlbnQgaGFuZGxlcicpOwotICAgIH0sCi0gICAgZmFsc2UpOwotCi1kZWJ1
ZygnY2FsbCBmb2N1cygpJyk7Ci10ZXN0SW5wdXQuZm9jdXMoKTsKLWRlYnVnKCdmb2N1cygpIGZp
bmlzaGVkJyk7Ci1kZWJ1ZygnJyk7Ci0KLXRlc3RJbnB1dC5wYXJlbnROb2RlLnJlbW92ZUNoaWxk
KHRlc3RJbnB1dCk7Ci08L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIuLi8uLi9qcy9yZXNvdXJjZXMv
anMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KLTwvYm9keT4KLTwvaHRtbD4KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvdGltZS1tdWx0aXBsZS1maWVsZHMvdGltZS1tdWx0aXBs
ZS1maWVsZHMtc3RhdGljLXJlbGF5b3V0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3Qv
Zm9ybXMvdGltZS1tdWx0aXBsZS1maWVsZHMvdGltZS1tdWx0aXBsZS1maWVsZHMtc3RhdGljLXJl
bGF5b3V0LWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMGVhZTli
M2QzODNhNGNkMmMzOWRhNDNkNTQ0ZTZhYmVmMjFjNTA1ZC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3RpbWUtbXVs
dGlwbGUtZmllbGRzL3RpbWUtbXVsdGlwbGUtZmllbGRzLXN0YXRpYy1yZWxheW91dC1leHBlY3Rl
ZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSw1ICswLDAgQEAKLVBBU1MgdGltZTEub2Zmc2V0VG9w
IGlzIHRpbWUyLm9mZnNldFRvcAotUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQotCi1U
RVNUIENPTVBMRVRFCi0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvdGltZS1t
dWx0aXBsZS1maWVsZHMvdGltZS1tdWx0aXBsZS1maWVsZHMtc3RhdGljLXJlbGF5b3V0Lmh0bWwg
Yi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3RpbWUtbXVsdGlwbGUtZmllbGRzL3RpbWUtbXVsdGlw
bGUtZmllbGRzLXN0YXRpYy1yZWxheW91dC5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAyMzBmNDlmODJiYTQ2ODZiZTFlOGVjZDdkOTQ1ODY0NmUyYTg2NDlmLi4wMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZm9y
bXMvdGltZS1tdWx0aXBsZS1maWVsZHMvdGltZS1tdWx0aXBsZS1maWVsZHMtc3RhdGljLXJlbGF5
b3V0Lmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSwxNSArMCwwIEBACi08IURPQ1RZUEUgaHRtbD4K
LTxib2R5PgotPHNjcmlwdCBzcmM9Ii4uLy4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+
PC9zY3JpcHQ+Ci08ZGl2IGlkPSJjb250YWluZXIiPgotPHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTog
NjRweDsiPkZvbzwvc3Bhbj4KLTxpbnB1dCB0eXBlPSJ0aW1lIiBpZD0idGltZTEiPgotPGlucHV0
IHR5cGU9InRpbWUiIGlkPSJ0aW1lMiI+Ci08L2Rpdj4KLTxzY3JpcHQ+Ci10aW1lMS52YWx1ZSA9
ICcyMzo1OSc7Ci1zaG91bGRCZSgndGltZTEub2Zmc2V0VG9wJywgJ3RpbWUyLm9mZnNldFRvcCcp
OwotY29udGFpbmVyLnJlbW92ZSgpOwotPC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vanMv
cmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Ci08L2JvZHk+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3RpbWUtbXVsdGlwbGUtZmllbGRzL3RpbWUtbXVsdGlw
bGUtZmllbGRzLXN0ZXAtYXR0cmlidXRlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3Qv
Zm9ybXMvdGltZS1tdWx0aXBsZS1maWVsZHMvdGltZS1tdWx0aXBsZS1maWVsZHMtc3RlcC1hdHRy
aWJ1dGUtZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBjOTUwNDMz
MWVhYjE5YThkZmE4MjcwNTk3NjY5MWQ3ZjNiZTY5MWMxLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvdGltZS1tdWx0
aXBsZS1maWVsZHMvdGltZS1tdWx0aXBsZS1maWVsZHMtc3RlcC1hdHRyaWJ1dGUtZXhwZWN0ZWQu
dHh0CisrKyAvZGV2L251bGwKQEAgLTEsMTQgKzAsMCBAQAotQ2hlY2sgc3RlcCBhdHRyaWJ1dGUg
Y2hhbmdlIGNhdXNlcyBhcHBlcmFuY2UgY2hhbmdlCi0KLU9uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNl
ZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRF
Ii4KLQotCi1TZXQgc3RlcCB0byAwLjAwMQotUEFTUyB3aWR0aE9mU3RlcDAwMSA+IHdpZHRoT2ZT
dGVwNjAgaXMgdHJ1ZQotU2V0IHN0ZXAgdG8gNjAKLVBBU1Mgd2lkdGhPZlN0ZXA2MCA9PSB3aWR0
aE9mU3RlcDYwQWdhaW4gaXMgdHJ1ZQotCi1QQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVl
Ci0KLVRFU1QgQ09NUExFVEUKLQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy90
aW1lLW11bHRpcGxlLWZpZWxkcy90aW1lLW11bHRpcGxlLWZpZWxkcy1zdGVwLWF0dHJpYnV0ZS5o
dG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy90aW1lLW11bHRpcGxlLWZpZWxkcy90aW1lLW11
bHRpcGxlLWZpZWxkcy1zdGVwLWF0dHJpYnV0ZS5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCBjOWYwYThjY2RhNjE2MjA4NGExMWI1NzIyYjZjMDgyYTIyMjY4ODIyLi4wMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2Zhc3Qv
Zm9ybXMvdGltZS1tdWx0aXBsZS1maWVsZHMvdGltZS1tdWx0aXBsZS1maWVsZHMtc3RlcC1hdHRy
aWJ1dGUuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDI4ICswLDAgQEAKLTwhRE9DVFlQRSBodG1s
PgotPGh0bWw+Ci08aGVhZD4KLTxzY3JpcHQgc3JjPSIuLi8uLi9qcy9yZXNvdXJjZXMvanMtdGVz
dC1wcmUuanMiPjwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHk+Ci08aW5wdXQgaWQ9dGVzdCB0eXBl
PXRpbWUgc3RlcD02MD4KLTxzY3JpcHQ+Ci1kZXNjcmlwdGlvbignQ2hlY2sgc3RlcCBhdHRyaWJ1
dGUgY2hhbmdlIGNhdXNlcyBhcHBlcmFuY2UgY2hhbmdlJyk7Ci12YXIgdGVzdElucHV0ID0gZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3Rlc3QnKTsKLXZhciB3aWR0aE9mU3RlcDYwID0gdGVzdElu
cHV0Lm9mZnNldFdpZHRoOwotCi1kZWJ1ZygnU2V0IHN0ZXAgdG8gMC4wMDEnKTsKLXRlc3RJbnB1
dC5zdGVwID0gMC4wMDEKLXZhciB3aWR0aE9mU3RlcDAwMSA9IHRlc3RJbnB1dC5vZmZzZXRXaWR0
aDsKLXNob3VsZEJlVHJ1ZSgnd2lkdGhPZlN0ZXAwMDEgPiB3aWR0aE9mU3RlcDYwJyk7Ci0KLWRl
YnVnKCdTZXQgc3RlcCB0byA2MCcpOwotdGVzdElucHV0LnN0ZXAgPSA2MDsKLXZhciB3aWR0aE9m
U3RlcDYwQWdhaW4gPSB0ZXN0SW5wdXQub2Zmc2V0V2lkdGg7Ci1zaG91bGRCZVRydWUoJ3dpZHRo
T2ZTdGVwNjAgPT0gd2lkdGhPZlN0ZXA2MEFnYWluJyk7Ci0KLWRlYnVnKCcnKTsKLXRlc3RJbnB1
dC5wYXJlbnRFbGVtZW50LnJlbW92ZUNoaWxkKHRlc3RJbnB1dCk7Ci08L3NjcmlwdD4KLTxzY3Jp
cHQgc3JjPSIuLi8uLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KLTwv
Ym9keT4KLTwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvdGltZS1t
dWx0aXBsZS1maWVsZHMvdGltZS1tdWx0aXBsZS1maWVsZHMtc3RlcHVwLXN0ZXBkb3duLWZyb20t
cmVuZGVyZXItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy90aW1lLW11bHRp
cGxlLWZpZWxkcy90aW1lLW11bHRpcGxlLWZpZWxkcy1zdGVwdXAtc3RlcGRvd24tZnJvbS1yZW5k
ZXJlci1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGU0MzVmZmJi
ZWRiNTg1N2Y5NTc4ZDg1MzJkOTQwNTZhODMyZThkM2QuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy90aW1lLW11bHRp
cGxlLWZpZWxkcy90aW1lLW11bHRpcGxlLWZpZWxkcy1zdGVwdXAtc3RlcGRvd24tZnJvbS1yZW5k
ZXJlci1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSwyODEgKzAsMCBAQAotQ2hlY2sg
c3RlcHBpbmctdXAgYW5kIC1kb3duIGZvciB0aW1lIGlucHV0IGZpZWxkcyBmcm9tIHJlbmRlcmVy
LiBObyBjYXNlcyBvZiBlbXB0eSBpbml0aWFsIHZhbHVlcy4KLQotT24gc3VjY2VzcywgeW91IHdp
bGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09N
UExFVEUiLgotCi0KLUZ1bmN0aW9uIGFyZ3VtZW50cyBhcmUgKHZhbHVlLCBzdGVwLCBtaW4sIG1h
eCwgW2tleVNlcXVlbmNlXSkuCi1Ob3JtYWwgY2FzZXMKLVBBU1Mgc3RlcFVwKCIwNzoxMyIsIG51
bGwsIG51bGwsIG51bGwpIGlzICIwNzoxNCIKLVBBU1Mgc3RlcERvd24oIjA3OjEzIiwgbnVsbCwg
bnVsbCwgbnVsbCkgaXMgIjA3OjEyIgotUEFTUyB0ZXN0KCIwNzoxMyIsIG51bGwsIG51bGwsIG51
bGwsIFsidXBBcnJvdyIsICJ1cEFycm93IiwgInVwQXJyb3ciXSkgaXMgIjA3OjE2IgotUEFTUyB0
ZXN0KCIwNzoxMyIsIG51bGwsIG51bGwsIG51bGwsIFsiZG93bkFycm93IiwgImRvd25BcnJvdyIs
ICJkb3duQXJyb3ciXSkgaXMgIjA3OjEwIgotTWlsbGlzZWNvbmRzCi1QQVNTIHN0ZXBVcCgiMDc6
MTM6MDAuMDAwIiwgMC4wMDEsIG51bGwsIG51bGwpIGlzICIwNzoxMzowMC4wMDEiCi1QQVNTIHN0
ZXBEb3duKCIwNzoxMzowMC4wMDEiLCAwLjAwMSwgbnVsbCwgbnVsbCkgaXMgIjA3OjEzIgotUEFT
UyBzdGVwVXAoIjA3OjEzOjAwLjk5OSIsIDAuMDAxLCBudWxsLCBudWxsKSBpcyAiMDc6MTMiCi1Q
QVNTIHN0ZXBEb3duKCIwNzoxMzowMC4wMDAiLCAwLjAwMSwgbnVsbCwgbnVsbCkgaXMgIjA3OjEz
OjAwLjk5OSIKLVBBU1Mgc3RlcFVwKCIwNzoxMzowMC4wMDAiLCAwLjI1MCwgbnVsbCwgbnVsbCkg
aXMgIjA3OjEzOjAwLjI1MCIKLVBBU1Mgc3RlcERvd24oIjA3OjEzOjAwLjUwMCIsIDAuMjUwLCBu
dWxsLCBudWxsKSBpcyAiMDc6MTM6MDAuMjUwIgotUEFTUyBzdGVwVXAoIjA3OjEzOjAwLjc1MCIs
IDAuMjUwLCBudWxsLCBudWxsKSBpcyAiMDc6MTMiCi1QQVNTIHN0ZXBEb3duKCIwNzoxMzowMC4w
MDAiLCAwLjI1MCwgbnVsbCwgbnVsbCkgaXMgIjA3OjEzOjAwLjc1MCIKLVBBU1Mgc3RlcFVwKCIw
NzoxMzowMC4wOTkiLCAwLjEwMCwgbnVsbCwgbnVsbCkgaXMgIjA3OjEzOjAwLjEwMCIKLVBBU1Mg
c3RlcERvd24oIjA3OjEzOjAwLjEwMSIsIDAuMTAwLCBudWxsLCBudWxsKSBpcyAiMDc6MTM6MDAu
MTAwIgotUEFTUyBzdGVwVXAoIjA3OjEzOjAwLjUwMCIsIDAuMDAwMSwgbnVsbCwgbnVsbCkgaXMg
IjA3OjEzOjAwLjUwMSIKLVBBU1Mgc3RlcERvd24oIjA3OjEzOjAwLjUwMCIsIDAuMDAwMSwgbnVs
bCwgbnVsbCkgaXMgIjA3OjEzOjAwLjQ5OSIKLVBBU1Mgc3RlcFVwKCIwNzoxMzowMC41MDAiLCAw
LCBudWxsLCBudWxsKSBpcyAiMDc6MTMiCi1QQVNTIHN0ZXBEb3duKCIwNzoxMzowMC41MDAiLCAw
LCBudWxsLCBudWxsKSBpcyAiMDc6MTMiCi1QQVNTIHN0ZXBVcCgiMDc6MTM6MDAuNTAwIiwgNjAs
IG51bGwsIG51bGwpIGlzICIwNzoxMyIKLVBBU1Mgc3RlcERvd24oIjA3OjEzOjAwLjUwMCIsIDYw
LCBudWxsLCBudWxsKSBpcyAiMDc6MTMiCi1QQVNTIHN0ZXBVcCgiMDc6MTM6MDAuNTAwIiwgMC4x
MDAsICIwMDowMDowMC4wNTAiLCBudWxsKSBpcyAiMDc6MTM6MDAuNTUwIgotUEFTUyBzdGVwRG93
bigiMDc6MTM6MDAuNTAwIiwgMC4xMDAsICIwMDowMDowMC4wNTAiLCBudWxsKSBpcyAiMDc6MTM6
MDAuNDUwIgotUEFTUyB0ZXN0KCIwNzoxMzowMC41MDAiLCAwLjEwMCwgbnVsbCwgbnVsbCwgWyJk
ZWxldGUiLCAidXBBcnJvdyJdKSBpcyAiMDc6MTMiCi1QQVNTIHRlc3QoIjA3OjEzOjAwLjUwMCIs
IDAuMTAwLCBudWxsLCBudWxsLCBbImRlbGV0ZSIsICJkb3duQXJyb3ciXSkgaXMgIjA3OjEzOjAw
LjkwMCIKLVBBU1MgdGVzdCgiMDc6MTM6MDAuNTAwIiwgMC4xMDAsICIwMDowMDowMC4wNTAiLCBu
dWxsLCBbImRlbGV0ZSIsICJ1cEFycm93Il0pIGlzICIwNzoxMzowMC4wNTAiCi1QQVNTIHRlc3Qo
IjA3OjEzOjAwLjUwMCIsIDAuMTAwLCAiMDA6MDA6MDAuMDUwIiwgbnVsbCwgWyJkZWxldGUiLCAi
ZG93bkFycm93Il0pIGlzICIwNzoxMzowMC45NTAiCi1QQVNTIHN0ZXBVcCgiMDc6MTM6MDAuMDEw
IiwgMC4wMDEsICIwNzoxMzowMC4wMDUiLCAiMDc6MTM6MDAuMDEwIikgaXMgIjA3OjEzOjAwLjAw
NSIKLVBBU1Mgc3RlcERvd24oIjA3OjEzOjAwLjAwNSIsIDAuMDAxLCAiMDc6MTM6MDAuMDA1Iiwg
IjA3OjEzOjAwLjAxMCIpIGlzICIwNzoxMzowMC4wMTAiCi1QQVNTIHN0ZXBVcCgiMDc6MTM6MDAu
MDA1IiwgMC4wMDEsICIwNzoxMzowMC4wMTAiLCAiMDc6MTM6MDAuMDIwIikgaXMgIjA3OjEzOjAw
LjAxMCIKLVBBU1Mgc3RlcERvd24oIjA3OjEzOjAwLjAwNSIsIDAuMDAxLCAiMDc6MTM6MDAuMDEw
IiwgIjA3OjEzOjAwLjAyMCIpIGlzICIwNzoxMzowMC4wMjAiCi1QQVNTIHN0ZXBVcCgiMDc6MTM6
MDAuMDA1IiwgMC4wMDEsICIwNzoxMzowMC4wMDIiLCAiMDc6MTM6MDAuMDAyIikgaXMgIjA3OjEz
OjAwLjAwMiIKLVBBU1Mgc3RlcERvd24oIjA3OjEzOjAwLjAwNSIsIDAuMDAxLCAiMDc6MTM6MDAu
MDAyIiwgIjA3OjEzOjAwLjAwMiIpIGlzICIwNzoxMzowMC4wMDIiCi1QQVNTIHN0ZXBVcCgiMDc6
MTM6MDAuMDM1IiwgMC4wMSwgIjA3OjEzOjAwLjAxMCIsICIwNzoxMzowMC4wMzUiKSBpcyAiMDc6
MTM6MDAuMDEwIgotUEFTUyBzdGVwRG93bigiMDc6MTM6MDAuMDM1IiwgMC4wMSwgIjA3OjEzOjAw
LjAxMCIsICIwNzoxMzowMC4wMzUiKSBpcyAiMDc6MTM6MDAuMDMwIgotUEFTUyBzdGVwVXAoIjA3
OjEzOjAwLjAxMCIsIDAuMDAxLCAiMDc6MTM6MDAuMDEwIiwgIjA3OjEzOjAxLjAyMCIpIGlzICIw
NzoxMzowMC4wMTEiCi1QQVNTIHN0ZXBEb3duKCIwNzoxMzowMC4wMTAiLCAwLjAwMSwgIjA3OjEz
OjAwLjAxMCIsICIwNzoxMzowMS4wMjAiKSBpcyAiMDc6MTM6MDAuMDA5IgotU2Vjb25kcwotUEFT
UyBzdGVwVXAoIjA3OjEzOjAwIiwgMSwgbnVsbCwgbnVsbCkgaXMgIjA3OjEzOjAxIgotUEFTUyBz
dGVwRG93bigiMDc6MTM6MDEiLCAxLCBudWxsLCBudWxsKSBpcyAiMDc6MTMiCi1QQVNTIHN0ZXBV
cCgiMDc6MTM6NTkiLCAwLjAwMSwgbnVsbCwgbnVsbCkgaXMgIjA3OjEzIgotUEFTUyBzdGVwRG93
bigiMDc6MTM6MDAiLCAwLjAwMSwgbnVsbCwgbnVsbCkgaXMgIjA3OjEzOjU5IgotUEFTUyBzdGVw
VXAoIjA3OjEzOjAwIiwgMTAsIG51bGwsIG51bGwpIGlzICIwNzoxMzoxMCIKLVBBU1Mgc3RlcERv
d24oIjA3OjEzOjMwIiwgMTAsIG51bGwsIG51bGwpIGlzICIwNzoxMzoyMCIKLVBBU1Mgc3RlcFVw
KCIwNzoxMzo1MCIsIDEwLCBudWxsLCBudWxsKSBpcyAiMDc6MTMiCi1QQVNTIHN0ZXBEb3duKCIw
NzoxMzowMCIsIDEwLCBudWxsLCBudWxsKSBpcyAiMDc6MTM6NTAiCi1QQVNTIHN0ZXBVcCgiMDc6
MTM6MDkiLCAxMCwgbnVsbCwgbnVsbCkgaXMgIjA3OjEzOjEwIgotUEFTUyBzdGVwRG93bigiMDc6
MTM6MTEiLCAxMCwgbnVsbCwgbnVsbCkgaXMgIjA3OjEzOjEwIgotUEFTUyBzdGVwVXAoIjA3OjEz
OjMwIiwgMi41LCBudWxsLCBudWxsKSBpcyAiMDc6MTM6MzEiCi1QQVNTIHN0ZXBEb3duKCIwNzox
MzozMCIsIDIuNSwgbnVsbCwgbnVsbCkgaXMgIjA3OjEzOjI5IgotUEFTUyBzdGVwVXAoIjA3OjEz
OjMwIiwgMCwgbnVsbCwgbnVsbCkgaXMgIjA3OjEzIgotUEFTUyBzdGVwRG93bigiMDc6MTM6MzAi
LCAwLCBudWxsLCBudWxsKSBpcyAiMDc6MTMiCi1QQVNTIHN0ZXBVcCgiMDc6MTM6MzAiLCAzNjAw
LCBudWxsLCBudWxsKSBpcyAiMDc6MTMiCi1QQVNTIHN0ZXBEb3duKCIwNzoxMzozMCIsIDM2MDAs
IG51bGwsIG51bGwpIGlzICIwNzoxMyIKLVBBU1Mgc3RlcFVwKCIwNzoxMzozMCIsIDExLCBudWxs
LCBudWxsKSBpcyAiMDc6MTM6MzEiCi1QQVNTIHN0ZXBEb3duKCIwNzoxMzozMCIsIDExLCBudWxs
LCBudWxsKSBpcyAiMDc6MTM6MjkiCi1QQVNTIHN0ZXBVcCgiMDc6MTM6MzAiLCAxMCwgIjAwOjAw
OjA1IiwgbnVsbCkgaXMgIjA3OjEzOjM1IgotUEFTUyBzdGVwRG93bigiMDc6MTM6MzAiLCAxMCwg
IjAwOjAwOjA1IiwgbnVsbCkgaXMgIjA3OjEzOjI1IgotUEFTUyB0ZXN0KCIwNzoxMzozMCIsIDEw
LCBudWxsLCBudWxsLCBbImRlbGV0ZSIsICJ1cEFycm93Il0pIGlzICIwNzoxMyIKLVBBU1MgdGVz
dCgiMDc6MTM6MzAiLCAxMCwgbnVsbCwgbnVsbCwgWyJkZWxldGUiLCAiZG93bkFycm93Il0pIGlz
ICIwNzoxMzo1MCIKLVBBU1MgdGVzdCgiMDc6MTM6MzAiLCAxMCwgIjAwOjAwOjA1IiwgbnVsbCwg
WyJkZWxldGUiLCAidXBBcnJvdyJdKSBpcyAiMDc6MTM6MDUiCi1QQVNTIHRlc3QoIjA3OjEzOjMw
IiwgMTAsICIwMDowMDowNSIsIG51bGwsIFsiZGVsZXRlIiwgImRvd25BcnJvdyJdKSBpcyAiMDc6
MTM6NTUiCi1QQVNTIHN0ZXBVcCgiMDc6MTM6MTAiLCAxLCAiMDc6MTM6MDUiLCAiMDc6MTM6MTAi
KSBpcyAiMDc6MTM6MDUiCi1QQVNTIHN0ZXBEb3duKCIwNzoxMzowNSIsIDEsICIwNzoxMzowNSIs
ICIwNzoxMzoxMCIpIGlzICIwNzoxMzoxMCIKLVBBU1Mgc3RlcFVwKCIwNzoxMzowNSIsIDEsICIw
NzoxMzoxMCIsICIwNzoxMzoyMCIpIGlzICIwNzoxMzoxMCIKLVBBU1Mgc3RlcERvd24oIjA3OjEz
OjA1IiwgMSwgIjA3OjEzOjEwIiwgIjA3OjEzOjIwIikgaXMgIjA3OjEzOjIwIgotUEFTUyBzdGVw
VXAoIjA3OjEzOjA1IiwgMSwgIjA3OjEzOjAyIiwgIjA3OjEzOjAyIikgaXMgIjA3OjEzOjAyIgot
UEFTUyBzdGVwRG93bigiMDc6MTM6MDUiLCAxLCAiMDc6MTM6MDIiLCAiMDc6MTM6MDIiKSBpcyAi
MDc6MTM6MDIiCi1QQVNTIHN0ZXBVcCgiMDc6MTM6MzUiLCAxMCwgIjA3OjEzOjEwIiwgIjA3OjEz
OjM1IikgaXMgIjA3OjEzOjEwIgotUEFTUyBzdGVwRG93bigiMDc6MTM6MzUiLCAxMCwgIjA3OjEz
OjEwIiwgIjA3OjEzOjM1IikgaXMgIjA3OjEzOjMwIgotUEFTUyBzdGVwVXAoIjA3OjEzOjEwIiwg
MSwgIjA3OjEzOjEwIiwgIjA3OjE0OjIwIikgaXMgIjA3OjEzOjExIgotUEFTUyBzdGVwRG93bigi
MDc6MTM6MTAiLCAxLCAiMDc6MTM6MTAiLCAiMDc6MTQ6MjAiKSBpcyAiMDc6MTM6MDkiCi1NaW51
dGVzCi1QQVNTIHN0ZXBVcCgiMDc6MTMiLCAxLCBudWxsLCBudWxsKSBpcyAiMDc6MTQiCi1QQVNT
IHN0ZXBEb3duKCIwNzoxMyIsIDEsIG51bGwsIG51bGwpIGlzICIwNzoxMiIKLVBBU1Mgc3RlcFVw
KCIwNzo1OSIsIDAuMDAxLCBudWxsLCBudWxsKSBpcyAiMDc6MDAiCi1QQVNTIHN0ZXBEb3duKCIw
NzowMCIsIDAuMDAxLCBudWxsLCBudWxsKSBpcyAiMDc6NTkiCi1QQVNTIHN0ZXBVcCgiMDc6MDAi
LCA2MDAsIG51bGwsIG51bGwpIGlzICIwNzoxMCIKLVBBU1Mgc3RlcERvd24oIjA3OjEwIiwgNjAw
LCBudWxsLCBudWxsKSBpcyAiMDc6MDAiCi1QQVNTIHN0ZXBVcCgiMDc6NTAiLCA2MDAsIG51bGws
IG51bGwpIGlzICIwNzowMCIKLVBBU1Mgc3RlcERvd24oIjA3OjAwIiwgNjAwLCBudWxsLCBudWxs
KSBpcyAiMDc6NTAiCi1QQVNTIHN0ZXBVcCgiMDc6MTMiLCA2MDAsIG51bGwsIG51bGwpIGlzICIw
NzoyMCIKLVBBU1Mgc3RlcERvd24oIjA3OjEzIiwgNjAwLCBudWxsLCBudWxsKSBpcyAiMDc6MTAi
Ci1QQVNTIHN0ZXBVcCgiMDc6MTMiLCAxNTAsIG51bGwsIG51bGwpIGlzICIwNzoxNCIKLVBBU1Mg
c3RlcERvd24oIjA3OjEzIiwgMTUwLCBudWxsLCBudWxsKSBpcyAiMDc6MTIiCi1QQVNTIHN0ZXBV
cCgiMDc6MTMiLCAwLCBudWxsLCBudWxsKSBpcyAiMDc6MTQiCi1QQVNTIHN0ZXBEb3duKCIwNzox
MyIsIDAsIG51bGwsIG51bGwpIGlzICIwNzoxMiIKLVBBU1Mgc3RlcFVwKCIwNzoxMyIsIDM2MDAw
LCBudWxsLCBudWxsKSBpcyAiMDc6MDAiCi1QQVNTIHN0ZXBEb3duKCIwNzoxMyIsIDM2MDAwLCBu
dWxsLCBudWxsKSBpcyAiMDc6MDAiCi1QQVNTIHN0ZXBVcCgiMDc6MTMiLCA2NjAsIG51bGwsIG51
bGwpIGlzICIwNzoxNCIKLVBBU1Mgc3RlcERvd24oIjA3OjEzIiwgNjYwLCBudWxsLCBudWxsKSBp
cyAiMDc6MTIiCi1QQVNTIHN0ZXBVcCgiMDc6MTMiLCA2MDAsICIwMDowNSIsIG51bGwpIGlzICIw
NzoxNSIKLVBBU1Mgc3RlcERvd24oIjA3OjEzIiwgNjAwLCAiMDA6MDUiLCBudWxsKSBpcyAiMDc6
MDUiCi1QQVNTIHRlc3QoIjA3OjEzIiwgNjAwLCBudWxsLCBudWxsLCBbImRlbGV0ZSIsICJ1cEFy
cm93Il0pIGlzICIwNzowMCIKLVBBU1MgdGVzdCgiMDc6MTMiLCA2MDAsIG51bGwsIG51bGwsIFsi
ZGVsZXRlIiwgImRvd25BcnJvdyJdKSBpcyAiMDc6NTAiCi1QQVNTIHRlc3QoIjA3OjEzIiwgNjAw
LCAiMDA6MDUiLCBudWxsLCBbImRlbGV0ZSIsICJ1cEFycm93Il0pIGlzICIwNzowNSIKLVBBU1Mg
dGVzdCgiMDc6MTMiLCA2MDAsICIwMDowNSIsIG51bGwsIFsiZGVsZXRlIiwgImRvd25BcnJvdyJd
KSBpcyAiMDc6NTUiCi1QQVNTIHN0ZXBVcCgiMDc6MTAiLCAxLCAiMDc6MDUiLCAiMDc6MTAiKSBp
cyAiMDc6MDUiCi1QQVNTIHN0ZXBEb3duKCIwNzowNSIsIDEsICIwNzowNSIsICIwNzoxMCIpIGlz
ICIwNzoxMCIKLVBBU1Mgc3RlcFVwKCIwNzowNSIsIDEsICIwNzoxMCIsICIwNzoyMCIpIGlzICIw
NzoxMCIKLVBBU1Mgc3RlcERvd24oIjA3OjA1IiwgMSwgIjA3OjEwIiwgIjA3OjIwIikgaXMgIjA3
OjIwIgotUEFTUyBzdGVwVXAoIjA3OjA1IiwgMSwgIjA3OjAwIiwgIjA3OjAwIikgaXMgIjA3OjAw
IgotUEFTUyBzdGVwRG93bigiMDc6MDUiLCAxLCAiMDc6MDAiLCAiMDc6MDAiKSBpcyAiMDc6MDAi
Ci1QQVNTIHN0ZXBVcCgiMDc6MzUiLCA2MDAsICIwNzoxMCIsICIwNzozNSIpIGlzICIwNzoxMCIK
LVBBU1Mgc3RlcERvd24oIjA3OjM1IiwgNjAwLCAiMDc6MTAiLCAiMDc6MzUiKSBpcyAiMDc6MzAi
Ci1QQVNTIHN0ZXBVcCgiMDc6MTAiLCAxLCAiMDc6MTAiLCAiMDg6MjAiKSBpcyAiMDc6MTEiCi1Q
QVNTIHN0ZXBEb3duKCIwNzoxMCIsIDEsICIwNzoxMCIsICIwODoyMCIpIGlzICIwNzowOSIKLUhv
dXJzLCAxLTEyCi1QQVNTIHN0ZXBVcCgiMDc6MDAiLCAxLCBudWxsLCBudWxsKSBpcyAiMDg6MDAi
Ci1QQVNTIHN0ZXBEb3duKCIwNzowMCIsIDEsIG51bGwsIG51bGwpIGlzICIwNjowMCIKLVBBU1Mg
c3RlcFVwKCIxMTowMCIsIDEsIG51bGwsIG51bGwpIGlzICIwMDowMCIKLVBBU1Mgc3RlcERvd24o
IjAwOjAwIiwgMSwgbnVsbCwgbnVsbCkgaXMgIjExOjAwIgotUEFTUyBzdGVwVXAoIjA2OjAwIiwg
NzIwMCwgbnVsbCwgbnVsbCkgaXMgIjA4OjAwIgotUEFTUyBzdGVwRG93bigiMDY6MDAiLCA3MjAw
LCBudWxsLCBudWxsKSBpcyAiMDQ6MDAiCi1QQVNTIHN0ZXBVcCgiMTA6MDAiLCA3MjAwLCBudWxs
LCBudWxsKSBpcyAiMDA6MDAiCi1QQVNTIHN0ZXBEb3duKCIwMDowMCIsIDcyMDAsIG51bGwsIG51
bGwpIGlzICIxMDowMCIKLVBBU1Mgc3RlcFVwKCIwNzowMCIsIDcyMDAsIG51bGwsIG51bGwpIGlz
ICIwODowMCIKLVBBU1Mgc3RlcERvd24oIjA3OjAwIiwgNzIwMCwgbnVsbCwgbnVsbCkgaXMgIjA2
OjAwIgotUEFTUyBzdGVwVXAoIjA2OjAwIiwgMzYwMSwgbnVsbCwgbnVsbCkgaXMgIjA3OjAwIgot
UEFTUyBzdGVwRG93bigiMDY6MDAiLCAzNjAxLCBudWxsLCBudWxsKSBpcyAiMDU6MDAiCi1QQVNT
IHN0ZXBVcCgiMDY6MDAiLCAwLCBudWxsLCBudWxsKSBpcyAiMDc6MDAiCi1QQVNTIHN0ZXBEb3du
KCIwNjowMCIsIDAsIG51bGwsIG51bGwpIGlzICIwNTowMCIKLVBBU1Mgc3RlcFVwKCIwNjowMCIs
IDg2NDAwLCBudWxsLCBudWxsKSBpcyAiMDA6MDAiCi1QQVNTIHN0ZXBEb3duKCIwNjowMCIsIDg2
NDAwLCBudWxsLCBudWxsKSBpcyAiMDA6MDAiCi1QQVNTIHN0ZXBVcCgiMDY6MDAiLCAzNjAwMCwg
bnVsbCwgbnVsbCkgaXMgIjA3OjAwIgotUEFTUyBzdGVwRG93bigiMDY6MDAiLCAzNjAwMCwgbnVs
bCwgbnVsbCkgaXMgIjA1OjAwIgotUEFTUyBzdGVwVXAoIjA2OjAwIiwgNzIwMCwgIjAxOjAwIiwg
bnVsbCkgaXMgIjA3OjAwIgotUEFTUyBzdGVwRG93bigiMDY6MDAiLCA3MjAwLCAiMDE6MDAiLCBu
dWxsKSBpcyAiMDU6MDAiCi1QQVNTIHRlc3QoIjA2OjAwIiwgNzIwMCwgbnVsbCwgbnVsbCwgWyJk
ZWxldGUiLCAidXBBcnJvdyJdKSBpcyAiMDI6MDAiCi1QQVNTIHRlc3QoIjA2OjAwIiwgNzIwMCwg
bnVsbCwgbnVsbCwgWyJkZWxldGUiLCAiZG93bkFycm93Il0pIGlzICIwMDowMCIKLVBBU1MgZ2V0
VXNlckFnZW50U2hhZG93VGV4dENvbnRlbnQoaW5wdXQpIGlzICIxMjowMCBBTSIKLVBBU1MgdGVz
dCgiMDY6MDAiLCA3MjAwLCAiMDE6MDAiLCBudWxsLCBbImRlbGV0ZSIsICJ1cEFycm93Il0pIGlz
ICIwMTowMCIKLVBBU1MgdGVzdCgiMDY6MDAiLCA3MjAwLCAiMDE6MDAiLCBudWxsLCBbImRlbGV0
ZSIsICJkb3duQXJyb3ciXSkgaXMgIjExOjAwIgotUEFTUyBzdGVwVXAoIjE3OjAwIiwgMSwgIjE3
OjAwIiwgIjIwOjAwIikgaXMgIjE4OjAwIgotUEFTUyBzdGVwRG93bigiMTc6MDAiLCAxLCAiMTc6
MDAiLCAiMjA6MDAiKSBpcyAiMjA6MDAiCi1QQVNTIHN0ZXBVcCgiMTc6MDAiLCAxLCAiMTU6MDAi
LCAiMTc6MDAiKSBpcyAiMTU6MDAiCi1QQVNTIHN0ZXBEb3duKCIxNzowMCIsIDEsICIxNTowMCIs
ICIxNzowMCIpIGlzICIxNjowMCIKLVBBU1Mgc3RlcFVwKCIxNTowMCIsIDEsICIxNzowMCIsICIy
MDowMCIpIGlzICIxNzowMCIKLVBBU1Mgc3RlcERvd24oIjE1OjAwIiwgMSwgIjE3OjAwIiwgIjIw
OjAwIikgaXMgIjIwOjAwIgotUEFTUyBzdGVwVXAoIjE1OjAwIiwgMSwgIjEzOjAwIiwgIjEzOjAw
IikgaXMgIjEzOjAwIgotUEFTUyBzdGVwRG93bigiMTU6MDAiLCAxLCAiMTM6MDAiLCAiMTM6MDAi
KSBpcyAiMTM6MDAiCi1QQVNTIHN0ZXBVcCgiMTI6MDAiLCAxLCAiMTI6MDAiLCAiMTU6MDAiKSBp
cyAiMTM6MDAiCi1QQVNTIHN0ZXBEb3duKCIxMjowMCIsIDEsICIxMjowMCIsICIxNTowMCIpIGlz
ICIyMzowMCIKLVBBU1Mgc3RlcFVwKCIxNTowMCIsIDEsICIxMjowMCIsICIxNTowMCIpIGlzICIx
NjowMCIKLVBBU1Mgc3RlcERvd24oIjE1OjAwIiwgMSwgIjEyOjAwIiwgIjE1OjAwIikgaXMgIjE0
OjAwIgotUEFTUyBzdGVwVXAoIjEyOjAwIiwgMSwgIjEwOjAwIiwgIjEyOjAwIikgaXMgIjEzOjAw
IgotUEFTUyBzdGVwRG93bigiMTI6MDAiLCAxLCAiMTA6MDAiLCAiMTI6MDAiKSBpcyAiMjM6MDAi
Ci1QQVNTIHN0ZXBVcCgiMDA6MDAiLCAxLCAiMDA6MDAiLCAiMDM6MDAiKSBpcyAiMDE6MDAiCi1Q
QVNTIHN0ZXBEb3duKCIwMDowMCIsIDEsICIwMDowMCIsICIwMzowMCIpIGlzICIxMTowMCIKLVBB
U1Mgc3RlcFVwKCIxNTowMCIsIDEsICIxMDowMCIsICIxNTowMCIpIGlzICIxNjowMCIKLVBBU1Mg
c3RlcERvd24oIjEwOjAwIiwgMSwgIjEwOjAwIiwgIjE1OjAwIikgaXMgIjA5OjAwIgotUEFTUyBz
dGVwVXAoIjE3OjAwIiwgNzIwMCwgIjE3OjAwIiwgIjIwOjAwIikgaXMgIjE5OjAwIgotUEFTUyBz
dGVwRG93bigiMTc6MDAiLCA3MjAwLCAiMTc6MDAiLCAiMjA6MDAiKSBpcyAiMTk6MDAiCi1QQVNT
IHN0ZXBVcCgiMTc6MDAiLCA3MjAwLCAiMTc6MDAiLCAiMTg6MDAiKSBpcyAiMTc6MDAiCi1QQVNT
IHN0ZXBEb3duKCIxNzowMCIsIDcyMDAsICIxNzowMCIsICIxODowMCIpIGlzICIxNzowMCIKLUhv
dXJzLCAwLTExCi1QQVNTIHN0ZXBVcCgiMTE6MDAiLCAxLCBudWxsLCBudWxsKSBpcyAiMDA6MDAi
Ci1QQVNTIGdldFVzZXJBZ2VudFNoYWRvd1RleHRDb250ZW50KGlucHV0KSBpcyAiMDA6MDAgQU0i
Ci1QQVNTIHN0ZXBEb3duKCIwMDowMCIsIDEsIG51bGwsIG51bGwpIGlzICIxMTowMCIKLVBBU1Mg
Z2V0VXNlckFnZW50U2hhZG93VGV4dENvbnRlbnQoaW5wdXQpIGlzICIxMTowMCBBTSIKLVBBU1Mg
c3RlcFVwKCIyMzowMCIsIDEsIG51bGwsIG51bGwpIGlzICIxMjowMCIKLVBBU1MgZ2V0VXNlckFn
ZW50U2hhZG93VGV4dENvbnRlbnQoaW5wdXQpIGlzICIwMDowMCBQTSIKLVBBU1Mgc3RlcERvd24o
IjEyOjAwIiwgMSwgbnVsbCwgbnVsbCkgaXMgIjIzOjAwIgotUEFTUyBnZXRVc2VyQWdlbnRTaGFk
b3dUZXh0Q29udGVudChpbnB1dCkgaXMgIjExOjAwIFBNIgotUEFTUyB0ZXN0KCIwNjowMCIsIDcy
MDAsIG51bGwsIG51bGwsIFsiZGVsZXRlIiwgInVwQXJyb3ciXSkgaXMgIjAwOjAwIgotUEFTUyB0
ZXN0KCIwNjowMCIsIDcyMDAsIG51bGwsIG51bGwsIFsiZGVsZXRlIiwgImRvd25BcnJvdyJdKSBp
cyAiMTA6MDAiCi1QQVNTIHRlc3QoIjA2OjAwIiwgNzIwMCwgIjAxOjAwIiwgbnVsbCwgWyJkZWxl
dGUiLCAidXBBcnJvdyJdKSBpcyAiMDE6MDAiCi1QQVNTIHRlc3QoIjA2OjAwIiwgNzIwMCwgIjAx
OjAwIiwgbnVsbCwgWyJkZWxldGUiLCAiZG93bkFycm93Il0pIGlzICIxMTowMCIKLVBBU1Mgc3Rl
cFVwKCIxNzowMCIsIDEsICIxNzowMCIsICIyMDowMCIpIGlzICIxODowMCIKLVBBU1Mgc3RlcERv
d24oIjE3OjAwIiwgMSwgIjE3OjAwIiwgIjIwOjAwIikgaXMgIjIwOjAwIgotUEFTUyBzdGVwVXAo
IjE3OjAwIiwgMSwgIjE1OjAwIiwgIjE3OjAwIikgaXMgIjE1OjAwIgotUEFTUyBzdGVwRG93bigi
MTc6MDAiLCAxLCAiMTU6MDAiLCAiMTc6MDAiKSBpcyAiMTY6MDAiCi1QQVNTIHN0ZXBVcCgiMTU6
MDAiLCAxLCAiMTc6MDAiLCAiMjA6MDAiKSBpcyAiMTc6MDAiCi1QQVNTIHN0ZXBEb3duKCIxNTow
MCIsIDEsICIxNzowMCIsICIyMDowMCIpIGlzICIyMDowMCIKLVBBU1Mgc3RlcFVwKCIxNTowMCIs
IDEsICIxMzowMCIsICIxMzowMCIpIGlzICIxMzowMCIKLVBBU1Mgc3RlcERvd24oIjE1OjAwIiwg
MSwgIjEzOjAwIiwgIjEzOjAwIikgaXMgIjEzOjAwIgotUEFTUyBzdGVwVXAoIjEyOjAwIiwgMSwg
IjEyOjAwIiwgIjE1OjAwIikgaXMgIjEzOjAwIgotUEFTUyBzdGVwRG93bigiMTI6MDAiLCAxLCAi
MTI6MDAiLCAiMTU6MDAiKSBpcyAiMTU6MDAiCi1QQVNTIHN0ZXBVcCgiMTU6MDAiLCAxLCAiMTI6
MDAiLCAiMTU6MDAiKSBpcyAiMTI6MDAiCi1QQVNTIHN0ZXBEb3duKCIxNTowMCIsIDEsICIxMjow
MCIsICIxNTowMCIpIGlzICIxNDowMCIKLVBBU1Mgc3RlcFVwKCIxMjowMCIsIDEsICIxMDowMCIs
ICIxMjowMCIpIGlzICIxMzowMCIKLVBBU1Mgc3RlcERvd24oIjEyOjAwIiwgMSwgIjEwOjAwIiwg
IjEyOjAwIikgaXMgIjIzOjAwIgotUEFTUyBzdGVwVXAoIjAwOjAwIiwgMSwgIjAwOjAwIiwgIjAz
OjAwIikgaXMgIjAxOjAwIgotUEFTUyBzdGVwRG93bigiMDA6MDAiLCAxLCAiMDA6MDAiLCAiMDM6
MDAiKSBpcyAiMDM6MDAiCi1QQVNTIHN0ZXBVcCgiMTU6MDAiLCAxLCAiMTA6MDAiLCAiMTU6MDAi
KSBpcyAiMTY6MDAiCi1QQVNTIHN0ZXBEb3duKCIxMDowMCIsIDEsICIxMDowMCIsICIxNTowMCIp
IGlzICIwOTowMCIKLVBBU1Mgc3RlcFVwKCIyMDowMCIsIDcyMDAsICIxNzowMCIsICIyMDowMCIp
IGlzICIxNzowMCIKLVBBU1Mgc3RlcERvd24oIjIwOjAwIiwgNzIwMCwgIjE3OjAwIiwgIjIwOjAw
IikgaXMgIjE5OjAwIgotSG91cnMsIDAtMjMKLVBBU1Mgc3RlcFVwKCIwNzowMCIsIDEsIG51bGws
IG51bGwpIGlzICIwODowMCIKLVBBU1Mgc3RlcERvd24oIjA3OjAwIiwgMSwgbnVsbCwgbnVsbCkg
aXMgIjA2OjAwIgotUEFTUyBzdGVwVXAoIjIzOjAwIiwgMSwgbnVsbCwgbnVsbCkgaXMgIjAwOjAw
IgotUEFTUyBzdGVwRG93bigiMDA6MDAiLCAxLCBudWxsLCBudWxsKSBpcyAiMjM6MDAiCi1QQVNT
IHN0ZXBVcCgiMDY6MDAiLCA3MjAwLCBudWxsLCBudWxsKSBpcyAiMDg6MDAiCi1QQVNTIHN0ZXBE
b3duKCIwNjowMCIsIDcyMDAsIG51bGwsIG51bGwpIGlzICIwNDowMCIKLVBBU1Mgc3RlcFVwKCIy
MjowMCIsIDcyMDAsIG51bGwsIG51bGwpIGlzICIwMDowMCIKLVBBU1Mgc3RlcERvd24oIjAwOjAw
IiwgNzIwMCwgbnVsbCwgbnVsbCkgaXMgIjIyOjAwIgotUEFTUyBzdGVwVXAoIjA3OjAwIiwgNzIw
MCwgbnVsbCwgbnVsbCkgaXMgIjA4OjAwIgotUEFTUyBzdGVwRG93bigiMDc6MDAiLCA3MjAwLCBu
dWxsLCBudWxsKSBpcyAiMDY6MDAiCi1QQVNTIHN0ZXBVcCgiMDY6MDAiLCAzNjAxLCBudWxsLCBu
dWxsKSBpcyAiMDc6MDAiCi1QQVNTIHN0ZXBEb3duKCIwNjowMCIsIDM2MDEsIG51bGwsIG51bGwp
IGlzICIwNTowMCIKLVBBU1Mgc3RlcFVwKCIwNjowMCIsIDAsIG51bGwsIG51bGwpIGlzICIwNzow
MCIKLVBBU1Mgc3RlcERvd24oIjA2OjAwIiwgMCwgbnVsbCwgbnVsbCkgaXMgIjA1OjAwIgotUEFT
UyBzdGVwVXAoIjA2OjAwIiwgODY0MDAsIG51bGwsIG51bGwpIGlzICIwMDowMCIKLVBBU1Mgc3Rl
cERvd24oIjA2OjAwIiwgODY0MDAsIG51bGwsIG51bGwpIGlzICIwMDowMCIKLVBBU1Mgc3RlcFVw
KCIwNjowMCIsIDM2MDAwLCBudWxsLCBudWxsKSBpcyAiMDc6MDAiCi1QQVNTIHN0ZXBEb3duKCIw
NjowMCIsIDM2MDAwLCBudWxsLCBudWxsKSBpcyAiMDU6MDAiCi1QQVNTIHN0ZXBVcCgiMDY6MDAi
LCA3MjAwLCAiMDE6MDAiLCBudWxsKSBpcyAiMDc6MDAiCi1QQVNTIHN0ZXBEb3duKCIwNjowMCIs
IDcyMDAsICIwMTowMCIsIG51bGwpIGlzICIwNTowMCIKLVBBU1MgdGVzdCgiMDY6MDAiLCA3MjAw
LCBudWxsLCBudWxsLCBbImRlbGV0ZSIsICJ1cEFycm93Il0pIGlzICIwMDowMCIKLVBBU1MgZ2V0
VXNlckFnZW50U2hhZG93VGV4dENvbnRlbnQoaW5wdXQpIGlzICIwMDowMCIKLVBBU1MgdGVzdCgi
MDY6MDAiLCA3MjAwLCBudWxsLCBudWxsLCBbImRlbGV0ZSIsICJkb3duQXJyb3ciXSkgaXMgIjIy
OjAwIgotUEFTUyB0ZXN0KCIwNjowMCIsIDcyMDAsICIwMTowMCIsIG51bGwsIFsiZGVsZXRlIiwg
InVwQXJyb3ciXSkgaXMgIjAxOjAwIgotUEFTUyB0ZXN0KCIwNjowMCIsIDcyMDAsICIwMTowMCIs
IG51bGwsIFsiZGVsZXRlIiwgImRvd25BcnJvdyJdKSBpcyAiMjM6MDAiCi1QQVNTIHN0ZXBVcCgi
MTc6MDAiLCAxLCAiMTc6MDAiLCAiMjA6MDAiKSBpcyAiMTg6MDAiCi1QQVNTIHN0ZXBEb3duKCIx
NzowMCIsIDEsICIxNzowMCIsICIyMDowMCIpIGlzICIyMDowMCIKLVBBU1Mgc3RlcFVwKCIxNzow
MCIsIDEsICIxNTowMCIsICIxNzowMCIpIGlzICIxNTowMCIKLVBBU1Mgc3RlcERvd24oIjE3OjAw
IiwgMSwgIjE1OjAwIiwgIjE3OjAwIikgaXMgIjE2OjAwIgotUEFTUyBzdGVwVXAoIjE1OjAwIiwg
MSwgIjE3OjAwIiwgIjIwOjAwIikgaXMgIjE3OjAwIgotUEFTUyBzdGVwRG93bigiMTU6MDAiLCAx
LCAiMTc6MDAiLCAiMjA6MDAiKSBpcyAiMjA6MDAiCi1QQVNTIHN0ZXBVcCgiMTU6MDAiLCAxLCAi
MTM6MDAiLCAiMTM6MDAiKSBpcyAiMTM6MDAiCi1QQVNTIHN0ZXBEb3duKCIxNTowMCIsIDEsICIx
MzowMCIsICIxMzowMCIpIGlzICIxMzowMCIKLVBBU1Mgc3RlcFVwKCIwMDowMCIsIDEsICIwMDow
MCIsICIwMzowMCIpIGlzICIwMTowMCIKLVBBU1Mgc3RlcERvd24oIjAwOjAwIiwgMSwgIjAwOjAw
IiwgIjAzOjAwIikgaXMgIjAzOjAwIgotUEFTUyBzdGVwVXAoIjAzOjAwIiwgMSwgIjAwOjAwIiwg
IjAzOjAwIikgaXMgIjAwOjAwIgotUEFTUyBzdGVwRG93bigiMDM6MDAiLCAxLCAiMDA6MDAiLCAi
MDM6MDAiKSBpcyAiMDI6MDAiCi1QQVNTIHN0ZXBVcCgiMTI6MDAiLCAxLCAiMTA6MDAiLCAiMTI6
MDAiKSBpcyAiMTA6MDAiCi1QQVNTIHN0ZXBEb3duKCIxMjowMCIsIDEsICIxMDowMCIsICIxMjow
MCIpIGlzICIxMTowMCIKLVBBU1Mgc3RlcFVwKCIwMDowMCIsIDEsICIwMDowMCIsICIwMzowMCIp
IGlzICIwMTowMCIKLVBBU1Mgc3RlcERvd24oIjAwOjAwIiwgMSwgIjAwOjAwIiwgIjAzOjAwIikg
aXMgIjAzOjAwIgotUEFTUyBzdGVwVXAoIjE1OjAwIiwgMSwgIjEwOjAwIiwgIjE1OjAwIikgaXMg
IjEwOjAwIgotUEFTUyBzdGVwRG93bigiMTA6MDAiLCAxLCAiMTA6MDAiLCAiMTU6MDAiKSBpcyAi
MTU6MDAiCi1QQVNTIHN0ZXBVcCgiMjA6MDAiLCA3MjAwLCAiMTc6MDAiLCAiMjA6MDAiKSBpcyAi
MTc6MDAiCi1QQVNTIHN0ZXBEb3duKCIyMDowMCIsIDcyMDAsICIxNzowMCIsICIyMDowMCIpIGlz
ICIxOTowMCIKLUhvdXJzLCAxLTI0Ci1QQVNTIHN0ZXBVcCgiMTE6MDAiLCAxLCBudWxsLCBudWxs
KSBpcyAiMTI6MDAiCi1QQVNTIGdldFVzZXJBZ2VudFNoYWRvd1RleHRDb250ZW50KGlucHV0KSBp
cyAiMTI6MDAiCi1QQVNTIHN0ZXBEb3duKCIwMDowMCIsIDEsIG51bGwsIG51bGwpIGlzICIyMzow
MCIKLVBBU1MgZ2V0VXNlckFnZW50U2hhZG93VGV4dENvbnRlbnQoaW5wdXQpIGlzICIyMzowMCIK
LVBBU1Mgc3RlcFVwKCIyMzowMCIsIDEsIG51bGwsIG51bGwpIGlzICIwMDowMCIKLVBBU1MgZ2V0
VXNlckFnZW50U2hhZG93VGV4dENvbnRlbnQoaW5wdXQpIGlzICIyNDowMCIKLVBBU1Mgc3RlcERv
d24oIjEyOjAwIiwgMSwgbnVsbCwgbnVsbCkgaXMgIjExOjAwIgotUEFTUyBnZXRVc2VyQWdlbnRT
aGFkb3dUZXh0Q29udGVudChpbnB1dCkgaXMgIjExOjAwIgotUEFTUyB0ZXN0KCIwNjowMCIsIDcy
MDAsIG51bGwsIG51bGwsIFsiZGVsZXRlIiwgInVwQXJyb3ciXSkgaXMgIjAyOjAwIgotUEFTUyB0
ZXN0KCIwNjowMCIsIDcyMDAsIG51bGwsIG51bGwsIFsiZGVsZXRlIiwgImRvd25BcnJvdyJdKSBp
cyAiMDA6MDAiCi1QQVNTIHRlc3QoIjA2OjAwIiwgNzIwMCwgIjAxOjAwIiwgbnVsbCwgWyJkZWxl
dGUiLCAidXBBcnJvdyJdKSBpcyAiMDE6MDAiCi1QQVNTIHRlc3QoIjA2OjAwIiwgNzIwMCwgIjAx
OjAwIiwgbnVsbCwgWyJkZWxldGUiLCAiZG93bkFycm93Il0pIGlzICIyMzowMCIKLVBBU1Mgc3Rl
cFVwKCIxNzowMCIsIDEsICIxNzowMCIsICIyMDowMCIpIGlzICIxODowMCIKLVBBU1Mgc3RlcERv
d24oIjE3OjAwIiwgMSwgIjE3OjAwIiwgIjIwOjAwIikgaXMgIjIwOjAwIgotUEFTUyBzdGVwVXAo
IjE3OjAwIiwgMSwgIjE1OjAwIiwgIjE3OjAwIikgaXMgIjE1OjAwIgotUEFTUyBzdGVwRG93bigi
MTc6MDAiLCAxLCAiMTU6MDAiLCAiMTc6MDAiKSBpcyAiMTY6MDAiCi1QQVNTIHN0ZXBVcCgiMTU6
MDAiLCAxLCAiMTc6MDAiLCAiMjA6MDAiKSBpcyAiMTc6MDAiCi1QQVNTIHN0ZXBEb3duKCIxNTow
MCIsIDEsICIxNzowMCIsICIyMDowMCIpIGlzICIyMDowMCIKLVBBU1Mgc3RlcFVwKCIxNTowMCIs
IDEsICIxMzowMCIsICIxMzowMCIpIGlzICIxMzowMCIKLVBBU1Mgc3RlcERvd24oIjE1OjAwIiwg
MSwgIjEzOjAwIiwgIjEzOjAwIikgaXMgIjEzOjAwIgotUEFTUyBzdGVwVXAoIjAwOjAwIiwgMSwg
IjAwOjAwIiwgIjAzOjAwIikgaXMgIjAxOjAwIgotUEFTUyBzdGVwRG93bigiMDA6MDAiLCAxLCAi
MDA6MDAiLCAiMDM6MDAiKSBpcyAiMjM6MDAiCi1QQVNTIHN0ZXBVcCgiMDM6MDAiLCAxLCAiMDA6
MDAiLCAiMDM6MDAiKSBpcyAiMDQ6MDAiCi1QQVNTIHN0ZXBEb3duKCIwMzowMCIsIDEsICIwMDow
MCIsICIwMzowMCIpIGlzICIwMjowMCIKLVBBU1Mgc3RlcFVwKCIxMjowMCIsIDEsICIxMDowMCIs
ICIxMjowMCIpIGlzICIxMDowMCIKLVBBU1Mgc3RlcERvd24oIjEyOjAwIiwgMSwgIjEwOjAwIiwg
IjEyOjAwIikgaXMgIjExOjAwIgotUEFTUyBzdGVwVXAoIjAwOjAwIiwgMSwgIjAwOjAwIiwgIjAz
OjAwIikgaXMgIjAxOjAwIgotUEFTUyBzdGVwRG93bigiMDA6MDAiLCAxLCAiMDA6MDAiLCAiMDM6
MDAiKSBpcyAiMjM6MDAiCi1QQVNTIHN0ZXBVcCgiMTU6MDAiLCAxLCAiMTA6MDAiLCAiMTU6MDAi
KSBpcyAiMTA6MDAiCi1QQVNTIHN0ZXBEb3duKCIxMDowMCIsIDEsICIxMDowMCIsICIxNTowMCIp
IGlzICIxNTowMCIKLVBBU1Mgc3RlcFVwKCIxNzowMCIsIDcyMDAsICIxNzowMCIsICIyMDowMCIp
IGlzICIxOTowMCIKLVBBU1Mgc3RlcERvd24oIjE3OjAwIiwgNzIwMCwgIjE3OjAwIiwgIjIwOjAw
IikgaXMgIjE5OjAwIgotUEFTUyBzdGVwVXAoIjE3OjAwIiwgNzIwMCwgIjE3OjAwIiwgIjE4OjAw
IikgaXMgIjE3OjAwIgotUEFTUyBzdGVwRG93bigiMTc6MDAiLCA3MjAwLCAiMTc6MDAiLCAiMTg6
MDAiKSBpcyAiMTc6MDAiCi0KLVBBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKLQotVEVT
VCBDT01QTEVURQotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3RpbWUtbXVs
dGlwbGUtZmllbGRzL3RpbWUtbXVsdGlwbGUtZmllbGRzLXN0ZXB1cC1zdGVwZG93bi1mcm9tLXJl
bmRlcmVyLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3RpbWUtbXVsdGlwbGUtZmllbGRz
L3RpbWUtbXVsdGlwbGUtZmllbGRzLXN0ZXB1cC1zdGVwZG93bi1mcm9tLXJlbmRlcmVyLmh0bWwK
ZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDVkNzM0Mjk2ZmUzOGZmZGQ3Y2UxNmU1NThl
MGFlNzBlZTdmNTIyNTkuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAK
LS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy90aW1lLW11bHRpcGxlLWZpZWxkcy90aW1lLW11
bHRpcGxlLWZpZWxkcy1zdGVwdXAtc3RlcGRvd24tZnJvbS1yZW5kZXJlci5odG1sCisrKyAvZGV2
L251bGwKQEAgLTEsMzQ5ICswLDAgQEAKLTwhRE9DVFlQRSBodG1sPgotPGh0bWw+Ci08aGVhZD4K
LTxzY3JpcHQgc3JjPSIuLi8uLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0
PgotPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy9jb21tb24uanMiPjwvc2NyaXB0PgotPC9oZWFk
PgotPGJvZHk+Ci08c2NyaXB0PgotZGVzY3JpcHRpb24oJ0NoZWNrIHN0ZXBwaW5nLXVwIGFuZCAt
ZG93biBmb3IgdGltZSBpbnB1dCBmaWVsZHMgZnJvbSByZW5kZXJlci4gTm8gY2FzZXMgb2YgZW1w
dHkgaW5pdGlhbCB2YWx1ZXMuJyk7Ci1pZiAoIXdpbmRvdy5pbnRlcm5hbHMpCi0gICAgdGVzdEZh
aWxlZCgnVGhpcyB0ZXN0IHJlcXVpcmVzIHdpbmRvdy5pbnRlcm5hbHMuJyk7Ci0KLXZhciBpbnB1
dCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2lucHV0Jyk7Ci12YXIgaW52YWxpZFN0YXRlRXJy
ID0gJyJFcnJvcjogSW52YWxpZFN0YXRlRXJyb3I6IERPTSBFeGNlcHRpb24gMTEiJzsKLQotZG9j
dW1lbnQuYm9keS5hcHBlbmRDaGlsZChpbnB1dCk7Ci0KLWZ1bmN0aW9uIGtleURvd24oa2V5LCBt
b2RpZmllcnMpCi17Ci0gICAgaWYgKCF3aW5kb3cuZXZlbnRTZW5kZXIpCi0gICAgICAgIHJldHVy
bjsKLSAgICBldmVudFNlbmRlci5rZXlEb3duKGtleSwgbW9kaWZpZXJzKTsKLX0KLQotZnVuY3Rp
b24gc2V0RGF0ZVRpbWVGb3JtYXQocGF0dGVybikgewotICAgIGdldEVsZW1lbnRCeVBzZXVkb0lk
KGludGVybmFscy55b3VuZ2VzdFNoYWRvd1Jvb3QoaW5wdXQpLCAnLXdlYmtpdC1kYXRldGltZS1l
ZGl0Jykuc2V0QXR0cmlidXRlKCdwYXR0ZXJuJywgcGF0dGVybik7Ci0gICAgaW5wdXQudmFsdWUg
PSAnJzsgIC8vIFVwZGF0ZXMgdGhlIGVsZW1lbnQgZm9yIG5ldyBmb3JtYXQKLX0KLQotZnVuY3Rp
b24gc2V0SW5wdXRBdHRyaWJ1dGVzKHZhbHVlLCBtaW4sIG1heCwgc3RlcCkgewotICAgIGlucHV0
LnZhbHVlID0gdmFsdWU7Ci0gICAgaW5wdXQubWluID0gbWluOwotICAgIGlucHV0Lm1heCA9IG1h
eDsKLSAgICBpbnB1dC5zdGVwID0gc3RlcDsKLX0KLQotZnVuY3Rpb24gdGVzdCh2YWx1ZSwgc3Rl
cCwgbWluLCBtYXgsIGtleVNlcXVlbmNlKSB7Ci0gICAgc2V0SW5wdXRBdHRyaWJ1dGVzKHZhbHVl
LCBtaW4sIG1heCwgc3RlcCk7Ci0gICAgZm9yICh2YXIgaSA9IDA7IGkgPCBrZXlTZXF1ZW5jZS5s
ZW5ndGg7IGkrKykKLSAgICAgICAga2V5RG93bihrZXlTZXF1ZW5jZVtpXSk7Ci0gICAgcmV0dXJu
IGlucHV0LnZhbHVlOwotfQotCi1mdW5jdGlvbiBzdGVwVXAodmFsdWUsIHN0ZXAsIG1pbiwgbWF4
KSB7Ci0gICAgcmV0dXJuIHRlc3QodmFsdWUsIHN0ZXAsIG1pbiwgbWF4LCBbJ3VwQXJyb3cnXSk7
Ci19Ci0KLWZ1bmN0aW9uIHN0ZXBEb3duKHZhbHVlLCBzdGVwLCBtaW4sIG1heCkgewotICAgIHJl
dHVybiB0ZXN0KHZhbHVlLCBzdGVwLCBtaW4sIG1heCwgWydkb3duQXJyb3cnXSk7Ci19Ci0KLWlu
cHV0LnR5cGUgPSAndGltZSc7Ci1pbnB1dC5mb2N1cygpOwota2V5RG93bigncmlnaHRBcnJvdycp
OwotZGVidWcoJ0Z1bmN0aW9uIGFyZ3VtZW50cyBhcmUgKHZhbHVlLCBzdGVwLCBtaW4sIG1heCwg
W2tleVNlcXVlbmNlXSkuJyk7Ci1kZWJ1ZygnTm9ybWFsIGNhc2VzJyk7Ci1zaG91bGRCZUVxdWFs
VG9TdHJpbmcoJ3N0ZXBVcCgiMDc6MTMiLCBudWxsLCBudWxsLCBudWxsKScsICcwNzoxNCcpOwot
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdzdGVwRG93bigiMDc6MTMiLCBudWxsLCBudWxsLCBudWxs
KScsICcwNzoxMicpOwotc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCd0ZXN0KCIwNzoxMyIsIG51bGws
IG51bGwsIG51bGwsIFsidXBBcnJvdyIsICJ1cEFycm93IiwgInVwQXJyb3ciXSknLCAnMDc6MTYn
KTsKLXNob3VsZEJlRXF1YWxUb1N0cmluZygndGVzdCgiMDc6MTMiLCBudWxsLCBudWxsLCBudWxs
LCBbImRvd25BcnJvdyIsICJkb3duQXJyb3ciLCAiZG93bkFycm93Il0pJywgJzA3OjEwJyk7Ci0K
LWRlYnVnKCdNaWxsaXNlY29uZHMnKTsKLWlucHV0LnN0ZXAgPSAwLjAwMTsKLWtleURvd24oJ3Jp
Z2h0QXJyb3cnKTsKLWtleURvd24oJ3JpZ2h0QXJyb3cnKTsKLXNob3VsZEJlRXF1YWxUb1N0cmlu
Zygnc3RlcFVwKCIwNzoxMzowMC4wMDAiLCAwLjAwMSwgbnVsbCwgbnVsbCknLCAnMDc6MTM6MDAu
MDAxJyk7Ci1zaG91bGRCZUVxdWFsVG9TdHJpbmcoJ3N0ZXBEb3duKCIwNzoxMzowMC4wMDEiLCAw
LjAwMSwgbnVsbCwgbnVsbCknLCAnMDc6MTMnKTsKLXNob3VsZEJlRXF1YWxUb1N0cmluZygnc3Rl
cFVwKCIwNzoxMzowMC45OTkiLCAwLjAwMSwgbnVsbCwgbnVsbCknLCAnMDc6MTMnKTsKLXNob3Vs
ZEJlRXF1YWxUb1N0cmluZygnc3RlcERvd24oIjA3OjEzOjAwLjAwMCIsIDAuMDAxLCBudWxsLCBu
dWxsKScsICcwNzoxMzowMC45OTknKTsKLXNob3VsZEJlRXF1YWxUb1N0cmluZygnc3RlcFVwKCIw
NzoxMzowMC4wMDAiLCAwLjI1MCwgbnVsbCwgbnVsbCknLCAnMDc6MTM6MDAuMjUwJyk7Ci1zaG91
bGRCZUVxdWFsVG9TdHJpbmcoJ3N0ZXBEb3duKCIwNzoxMzowMC41MDAiLCAwLjI1MCwgbnVsbCwg
bnVsbCknLCAnMDc6MTM6MDAuMjUwJyk7Ci1zaG91bGRCZUVxdWFsVG9TdHJpbmcoJ3N0ZXBVcCgi
MDc6MTM6MDAuNzUwIiwgMC4yNTAsIG51bGwsIG51bGwpJywgJzA3OjEzJyk7Ci1zaG91bGRCZUVx
dWFsVG9TdHJpbmcoJ3N0ZXBEb3duKCIwNzoxMzowMC4wMDAiLCAwLjI1MCwgbnVsbCwgbnVsbCkn
LCAnMDc6MTM6MDAuNzUwJyk7Ci1zaG91bGRCZUVxdWFsVG9TdHJpbmcoJ3N0ZXBVcCgiMDc6MTM6
MDAuMDk5IiwgMC4xMDAsIG51bGwsIG51bGwpJywgJzA3OjEzOjAwLjEwMCcpOwotc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCdzdGVwRG93bigiMDc6MTM6MDAuMTAxIiwgMC4xMDAsIG51bGwsIG51bGwp
JywgJzA3OjEzOjAwLjEwMCcpOwotc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdzdGVwVXAoIjA3OjEz
OjAwLjUwMCIsIDAuMDAwMSwgbnVsbCwgbnVsbCknLCAnMDc6MTM6MDAuNTAxJyk7Ci1zaG91bGRC
ZUVxdWFsVG9TdHJpbmcoJ3N0ZXBEb3duKCIwNzoxMzowMC41MDAiLCAwLjAwMDEsIG51bGwsIG51
bGwpJywgJzA3OjEzOjAwLjQ5OScpOwotc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdzdGVwVXAoIjA3
OjEzOjAwLjUwMCIsIDAsIG51bGwsIG51bGwpJywgJzA3OjEzJyk7Ci1zaG91bGRCZUVxdWFsVG9T
dHJpbmcoJ3N0ZXBEb3duKCIwNzoxMzowMC41MDAiLCAwLCBudWxsLCBudWxsKScsICcwNzoxMycp
Owotc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdzdGVwVXAoIjA3OjEzOjAwLjUwMCIsIDYwLCBudWxs
LCBudWxsKScsICcwNzoxMycpOwotc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdzdGVwRG93bigiMDc6
MTM6MDAuNTAwIiwgNjAsIG51bGwsIG51bGwpJywgJzA3OjEzJyk7Ci1zaG91bGRCZUVxdWFsVG9T
dHJpbmcoJ3N0ZXBVcCgiMDc6MTM6MDAuNTAwIiwgMC4xMDAsICIwMDowMDowMC4wNTAiLCBudWxs
KScsICcwNzoxMzowMC41NTAnKTsKLXNob3VsZEJlRXF1YWxUb1N0cmluZygnc3RlcERvd24oIjA3
OjEzOjAwLjUwMCIsIDAuMTAwLCAiMDA6MDA6MDAuMDUwIiwgbnVsbCknLCAnMDc6MTM6MDAuNDUw
Jyk7Ci1zaG91bGRCZUVxdWFsVG9TdHJpbmcoJ3Rlc3QoIjA3OjEzOjAwLjUwMCIsIDAuMTAwLCBu
dWxsLCBudWxsLCBbImRlbGV0ZSIsICJ1cEFycm93Il0pJywgJzA3OjEzJyk7Ci1zaG91bGRCZUVx
dWFsVG9TdHJpbmcoJ3Rlc3QoIjA3OjEzOjAwLjUwMCIsIDAuMTAwLCBudWxsLCBudWxsLCBbImRl
bGV0ZSIsICJkb3duQXJyb3ciXSknLCAnMDc6MTM6MDAuOTAwJyk7Ci1zaG91bGRCZUVxdWFsVG9T
dHJpbmcoJ3Rlc3QoIjA3OjEzOjAwLjUwMCIsIDAuMTAwLCAiMDA6MDA6MDAuMDUwIiwgbnVsbCwg
WyJkZWxldGUiLCAidXBBcnJvdyJdKScsICcwNzoxMzowMC4wNTAnKTsKLXNob3VsZEJlRXF1YWxU
b1N0cmluZygndGVzdCgiMDc6MTM6MDAuNTAwIiwgMC4xMDAsICIwMDowMDowMC4wNTAiLCBudWxs
LCBbImRlbGV0ZSIsICJkb3duQXJyb3ciXSknLCAnMDc6MTM6MDAuOTUwJyk7Ci1zaG91bGRCZUVx
dWFsVG9TdHJpbmcoJ3N0ZXBVcCgiMDc6MTM6MDAuMDEwIiwgMC4wMDEsICIwNzoxMzowMC4wMDUi
LCAiMDc6MTM6MDAuMDEwIiknLCAnMDc6MTM6MDAuMDA1Jyk7Ci1zaG91bGRCZUVxdWFsVG9TdHJp
bmcoJ3N0ZXBEb3duKCIwNzoxMzowMC4wMDUiLCAwLjAwMSwgIjA3OjEzOjAwLjAwNSIsICIwNzox
MzowMC4wMTAiKScsICcwNzoxMzowMC4wMTAnKTsKLXNob3VsZEJlRXF1YWxUb1N0cmluZygnc3Rl
cFVwKCIwNzoxMzowMC4wMDUiLCAwLjAwMSwgIjA3OjEzOjAwLjAxMCIsICIwNzoxMzowMC4wMjAi
KScsICcwNzoxMzowMC4wMTAnKTsKLXNob3VsZEJlRXF1YWxUb1N0cmluZygnc3RlcERvd24oIjA3
OjEzOjAwLjAwNSIsIDAuMDAxLCAiMDc6MTM6MDAuMDEwIiwgIjA3OjEzOjAwLjAyMCIpJywgJzA3
OjEzOjAwLjAyMCcpOwotc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdzdGVwVXAoIjA3OjEzOjAwLjAw
NSIsIDAuMDAxLCAiMDc6MTM6MDAuMDAyIiwgIjA3OjEzOjAwLjAwMiIpJywgJzA3OjEzOjAwLjAw
MicpOwotc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdzdGVwRG93bigiMDc6MTM6MDAuMDA1IiwgMC4w
MDEsICIwNzoxMzowMC4wMDIiLCAiMDc6MTM6MDAuMDAyIiknLCAnMDc6MTM6MDAuMDAyJyk7Ci1z
aG91bGRCZUVxdWFsVG9TdHJpbmcoJ3N0ZXBVcCgiMDc6MTM6MDAuMDM1IiwgMC4wMSwgIjA3OjEz
OjAwLjAxMCIsICIwNzoxMzowMC4wMzUiKScsICcwNzoxMzowMC4wMTAnKTsKLXNob3VsZEJlRXF1
YWxUb1N0cmluZygnc3RlcERvd24oIjA3OjEzOjAwLjAzNSIsIDAuMDEsICIwNzoxMzowMC4wMTAi
LCAiMDc6MTM6MDAuMDM1IiknLCAnMDc6MTM6MDAuMDMwJyk7Ci1zaG91bGRCZUVxdWFsVG9TdHJp
bmcoJ3N0ZXBVcCgiMDc6MTM6MDAuMDEwIiwgMC4wMDEsICIwNzoxMzowMC4wMTAiLCAiMDc6MTM6
MDEuMDIwIiknLCAnMDc6MTM6MDAuMDExJyk7Ci1zaG91bGRCZUVxdWFsVG9TdHJpbmcoJ3N0ZXBE
b3duKCIwNzoxMzowMC4wMTAiLCAwLjAwMSwgIjA3OjEzOjAwLjAxMCIsICIwNzoxMzowMS4wMjAi
KScsICcwNzoxMzowMC4wMDknKTsKLQotZGVidWcoJ1NlY29uZHMnKTsKLWtleURvd24oJ2xlZnRB
cnJvdycpOwotc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdzdGVwVXAoIjA3OjEzOjAwIiwgMSwgbnVs
bCwgbnVsbCknLCAnMDc6MTM6MDEnKTsKLXNob3VsZEJlRXF1YWxUb1N0cmluZygnc3RlcERvd24o
IjA3OjEzOjAxIiwgMSwgbnVsbCwgbnVsbCknLCAnMDc6MTMnKTsKLXNob3VsZEJlRXF1YWxUb1N0
cmluZygnc3RlcFVwKCIwNzoxMzo1OSIsIDAuMDAxLCBudWxsLCBudWxsKScsICcwNzoxMycpOwot
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdzdGVwRG93bigiMDc6MTM6MDAiLCAwLjAwMSwgbnVsbCwg
bnVsbCknLCAnMDc6MTM6NTknKTsKLXNob3VsZEJlRXF1YWxUb1N0cmluZygnc3RlcFVwKCIwNzox
MzowMCIsIDEwLCBudWxsLCBudWxsKScsICcwNzoxMzoxMCcpOwotc2hvdWxkQmVFcXVhbFRvU3Ry
aW5nKCdzdGVwRG93bigiMDc6MTM6MzAiLCAxMCwgbnVsbCwgbnVsbCknLCAnMDc6MTM6MjAnKTsK
LXNob3VsZEJlRXF1YWxUb1N0cmluZygnc3RlcFVwKCIwNzoxMzo1MCIsIDEwLCBudWxsLCBudWxs
KScsICcwNzoxMycpOwotc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdzdGVwRG93bigiMDc6MTM6MDAi
LCAxMCwgbnVsbCwgbnVsbCknLCAnMDc6MTM6NTAnKTsKLXNob3VsZEJlRXF1YWxUb1N0cmluZygn
c3RlcFVwKCIwNzoxMzowOSIsIDEwLCBudWxsLCBudWxsKScsICcwNzoxMzoxMCcpOwotc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCdzdGVwRG93bigiMDc6MTM6MTEiLCAxMCwgbnVsbCwgbnVsbCknLCAn
MDc6MTM6MTAnKTsKLXNob3VsZEJlRXF1YWxUb1N0cmluZygnc3RlcFVwKCIwNzoxMzozMCIsIDIu
NSwgbnVsbCwgbnVsbCknLCAnMDc6MTM6MzEnKTsKLXNob3VsZEJlRXF1YWxUb1N0cmluZygnc3Rl
cERvd24oIjA3OjEzOjMwIiwgMi41LCBudWxsLCBudWxsKScsICcwNzoxMzoyOScpOwotc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCdzdGVwVXAoIjA3OjEzOjMwIiwgMCwgbnVsbCwgbnVsbCknLCAnMDc6
MTMnKTsKLXNob3VsZEJlRXF1YWxUb1N0cmluZygnc3RlcERvd24oIjA3OjEzOjMwIiwgMCwgbnVs
bCwgbnVsbCknLCAnMDc6MTMnKTsKLXNob3VsZEJlRXF1YWxUb1N0cmluZygnc3RlcFVwKCIwNzox
MzozMCIsIDM2MDAsIG51bGwsIG51bGwpJywgJzA3OjEzJyk7Ci1zaG91bGRCZUVxdWFsVG9TdHJp
bmcoJ3N0ZXBEb3duKCIwNzoxMzozMCIsIDM2MDAsIG51bGwsIG51bGwpJywgJzA3OjEzJyk7Ci1z
aG91bGRCZUVxdWFsVG9TdHJpbmcoJ3N0ZXBVcCgiMDc6MTM6MzAiLCAxMSwgbnVsbCwgbnVsbCkn
LCAnMDc6MTM6MzEnKTsKLXNob3VsZEJlRXF1YWxUb1N0cmluZygnc3RlcERvd24oIjA3OjEzOjMw
IiwgMTEsIG51bGwsIG51bGwpJywgJzA3OjEzOjI5Jyk7Ci1zaG91bGRCZUVxdWFsVG9TdHJpbmco
J3N0ZXBVcCgiMDc6MTM6MzAiLCAxMCwgIjAwOjAwOjA1IiwgbnVsbCknLCAnMDc6MTM6MzUnKTsK
LXNob3VsZEJlRXF1YWxUb1N0cmluZygnc3RlcERvd24oIjA3OjEzOjMwIiwgMTAsICIwMDowMDow
NSIsIG51bGwpJywgJzA3OjEzOjI1Jyk7Ci1zaG91bGRCZUVxdWFsVG9TdHJpbmcoJ3Rlc3QoIjA3
OjEzOjMwIiwgMTAsIG51bGwsIG51bGwsIFsiZGVsZXRlIiwgInVwQXJyb3ciXSknLCAnMDc6MTMn
KTsKLXNob3VsZEJlRXF1YWxUb1N0cmluZygndGVzdCgiMDc6MTM6MzAiLCAxMCwgbnVsbCwgbnVs
bCwgWyJkZWxldGUiLCAiZG93bkFycm93Il0pJywgJzA3OjEzOjUwJyk7Ci1zaG91bGRCZUVxdWFs
VG9TdHJpbmcoJ3Rlc3QoIjA3OjEzOjMwIiwgMTAsICIwMDowMDowNSIsIG51bGwsIFsiZGVsZXRl
IiwgInVwQXJyb3ciXSknLCAnMDc6MTM6MDUnKTsKLXNob3VsZEJlRXF1YWxUb1N0cmluZygndGVz
dCgiMDc6MTM6MzAiLCAxMCwgIjAwOjAwOjA1IiwgbnVsbCwgWyJkZWxldGUiLCAiZG93bkFycm93
Il0pJywgJzA3OjEzOjU1Jyk7Ci1zaG91bGRCZUVxdWFsVG9TdHJpbmcoJ3N0ZXBVcCgiMDc6MTM6
MTAiLCAxLCAiMDc6MTM6MDUiLCAiMDc6MTM6MTAiKScsICcwNzoxMzowNScpOwotc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCdzdGVwRG93bigiMDc6MTM6MDUiLCAxLCAiMDc6MTM6MDUiLCAiMDc6MTM6
MTAiKScsICcwNzoxMzoxMCcpOwotc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdzdGVwVXAoIjA3OjEz
OjA1IiwgMSwgIjA3OjEzOjEwIiwgIjA3OjEzOjIwIiknLCAnMDc6MTM6MTAnKTsKLXNob3VsZEJl
RXF1YWxUb1N0cmluZygnc3RlcERvd24oIjA3OjEzOjA1IiwgMSwgIjA3OjEzOjEwIiwgIjA3OjEz
OjIwIiknLCAnMDc6MTM6MjAnKTsKLXNob3VsZEJlRXF1YWxUb1N0cmluZygnc3RlcFVwKCIwNzox
MzowNSIsIDEsICIwNzoxMzowMiIsICIwNzoxMzowMiIpJywgJzA3OjEzOjAyJyk7Ci1zaG91bGRC
ZUVxdWFsVG9TdHJpbmcoJ3N0ZXBEb3duKCIwNzoxMzowNSIsIDEsICIwNzoxMzowMiIsICIwNzox
MzowMiIpJywgJzA3OjEzOjAyJyk7Ci1zaG91bGRCZUVxdWFsVG9TdHJpbmcoJ3N0ZXBVcCgiMDc6
MTM6MzUiLCAxMCwgIjA3OjEzOjEwIiwgIjA3OjEzOjM1IiknLCAnMDc6MTM6MTAnKTsKLXNob3Vs
ZEJlRXF1YWxUb1N0cmluZygnc3RlcERvd24oIjA3OjEzOjM1IiwgMTAsICIwNzoxMzoxMCIsICIw
NzoxMzozNSIpJywgJzA3OjEzOjMwJyk7Ci1zaG91bGRCZUVxdWFsVG9TdHJpbmcoJ3N0ZXBVcCgi
MDc6MTM6MTAiLCAxLCAiMDc6MTM6MTAiLCAiMDc6MTQ6MjAiKScsICcwNzoxMzoxMScpOwotc2hv
dWxkQmVFcXVhbFRvU3RyaW5nKCdzdGVwRG93bigiMDc6MTM6MTAiLCAxLCAiMDc6MTM6MTAiLCAi
MDc6MTQ6MjAiKScsICcwNzoxMzowOScpOwotCi1kZWJ1ZygnTWludXRlcycpOwota2V5RG93bign
bGVmdEFycm93Jyk7Ci1zaG91bGRCZUVxdWFsVG9TdHJpbmcoJ3N0ZXBVcCgiMDc6MTMiLCAxLCBu
dWxsLCBudWxsKScsICcwNzoxNCcpOwotc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdzdGVwRG93bigi
MDc6MTMiLCAxLCBudWxsLCBudWxsKScsICcwNzoxMicpOwotc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCdzdGVwVXAoIjA3OjU5IiwgMC4wMDEsIG51bGwsIG51bGwpJywgJzA3OjAwJyk7Ci1zaG91bGRC
ZUVxdWFsVG9TdHJpbmcoJ3N0ZXBEb3duKCIwNzowMCIsIDAuMDAxLCBudWxsLCBudWxsKScsICcw
Nzo1OScpOwotc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdzdGVwVXAoIjA3OjAwIiwgNjAwLCBudWxs
LCBudWxsKScsICcwNzoxMCcpOwotc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdzdGVwRG93bigiMDc6
MTAiLCA2MDAsIG51bGwsIG51bGwpJywgJzA3OjAwJyk7Ci1zaG91bGRCZUVxdWFsVG9TdHJpbmco
J3N0ZXBVcCgiMDc6NTAiLCA2MDAsIG51bGwsIG51bGwpJywgJzA3OjAwJyk7Ci1zaG91bGRCZUVx
dWFsVG9TdHJpbmcoJ3N0ZXBEb3duKCIwNzowMCIsIDYwMCwgbnVsbCwgbnVsbCknLCAnMDc6NTAn
KTsKLXNob3VsZEJlRXF1YWxUb1N0cmluZygnc3RlcFVwKCIwNzoxMyIsIDYwMCwgbnVsbCwgbnVs
bCknLCAnMDc6MjAnKTsKLXNob3VsZEJlRXF1YWxUb1N0cmluZygnc3RlcERvd24oIjA3OjEzIiwg
NjAwLCBudWxsLCBudWxsKScsICcwNzoxMCcpOwotc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdzdGVw
VXAoIjA3OjEzIiwgMTUwLCBudWxsLCBudWxsKScsICcwNzoxNCcpOwotc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCdzdGVwRG93bigiMDc6MTMiLCAxNTAsIG51bGwsIG51bGwpJywgJzA3OjEyJyk7Ci1z
aG91bGRCZUVxdWFsVG9TdHJpbmcoJ3N0ZXBVcCgiMDc6MTMiLCAwLCBudWxsLCBudWxsKScsICcw
NzoxNCcpOwotc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdzdGVwRG93bigiMDc6MTMiLCAwLCBudWxs
LCBudWxsKScsICcwNzoxMicpOwotc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdzdGVwVXAoIjA3OjEz
IiwgMzYwMDAsIG51bGwsIG51bGwpJywgJzA3OjAwJyk7Ci1zaG91bGRCZUVxdWFsVG9TdHJpbmco
J3N0ZXBEb3duKCIwNzoxMyIsIDM2MDAwLCBudWxsLCBudWxsKScsICcwNzowMCcpOwotc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCdzdGVwVXAoIjA3OjEzIiwgNjYwLCBudWxsLCBudWxsKScsICcwNzox
NCcpOwotc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdzdGVwRG93bigiMDc6MTMiLCA2NjAsIG51bGws
IG51bGwpJywgJzA3OjEyJyk7Ci1zaG91bGRCZUVxdWFsVG9TdHJpbmcoJ3N0ZXBVcCgiMDc6MTMi
LCA2MDAsICIwMDowNSIsIG51bGwpJywgJzA3OjE1Jyk7Ci1zaG91bGRCZUVxdWFsVG9TdHJpbmco
J3N0ZXBEb3duKCIwNzoxMyIsIDYwMCwgIjAwOjA1IiwgbnVsbCknLCAnMDc6MDUnKTsKLXNob3Vs
ZEJlRXF1YWxUb1N0cmluZygndGVzdCgiMDc6MTMiLCA2MDAsIG51bGwsIG51bGwsIFsiZGVsZXRl
IiwgInVwQXJyb3ciXSknLCAnMDc6MDAnKTsKLXNob3VsZEJlRXF1YWxUb1N0cmluZygndGVzdCgi
MDc6MTMiLCA2MDAsIG51bGwsIG51bGwsIFsiZGVsZXRlIiwgImRvd25BcnJvdyJdKScsICcwNzo1
MCcpOwotc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCd0ZXN0KCIwNzoxMyIsIDYwMCwgIjAwOjA1Iiwg
bnVsbCwgWyJkZWxldGUiLCAidXBBcnJvdyJdKScsICcwNzowNScpOwotc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCd0ZXN0KCIwNzoxMyIsIDYwMCwgIjAwOjA1IiwgbnVsbCwgWyJkZWxldGUiLCAiZG93
bkFycm93Il0pJywgJzA3OjU1Jyk7Ci1zaG91bGRCZUVxdWFsVG9TdHJpbmcoJ3N0ZXBVcCgiMDc6
MTAiLCAxLCAiMDc6MDUiLCAiMDc6MTAiKScsICcwNzowNScpOwotc2hvdWxkQmVFcXVhbFRvU3Ry
aW5nKCdzdGVwRG93bigiMDc6MDUiLCAxLCAiMDc6MDUiLCAiMDc6MTAiKScsICcwNzoxMCcpOwot
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdzdGVwVXAoIjA3OjA1IiwgMSwgIjA3OjEwIiwgIjA3OjIw
IiknLCAnMDc6MTAnKTsKLXNob3VsZEJlRXF1YWxUb1N0cmluZygnc3RlcERvd24oIjA3OjA1Iiwg
MSwgIjA3OjEwIiwgIjA3OjIwIiknLCAnMDc6MjAnKTsKLXNob3VsZEJlRXF1YWxUb1N0cmluZygn
c3RlcFVwKCIwNzowNSIsIDEsICIwNzowMCIsICIwNzowMCIpJywgJzA3OjAwJyk7Ci1zaG91bGRC
ZUVxdWFsVG9TdHJpbmcoJ3N0ZXBEb3duKCIwNzowNSIsIDEsICIwNzowMCIsICIwNzowMCIpJywg
JzA3OjAwJyk7Ci1zaG91bGRCZUVxdWFsVG9TdHJpbmcoJ3N0ZXBVcCgiMDc6MzUiLCA2MDAsICIw
NzoxMCIsICIwNzozNSIpJywgJzA3OjEwJyk7Ci1zaG91bGRCZUVxdWFsVG9TdHJpbmcoJ3N0ZXBE
b3duKCIwNzozNSIsIDYwMCwgIjA3OjEwIiwgIjA3OjM1IiknLCAnMDc6MzAnKTsKLXNob3VsZEJl
RXF1YWxUb1N0cmluZygnc3RlcFVwKCIwNzoxMCIsIDEsICIwNzoxMCIsICIwODoyMCIpJywgJzA3
OjExJyk7Ci1zaG91bGRCZUVxdWFsVG9TdHJpbmcoJ3N0ZXBEb3duKCIwNzoxMCIsIDEsICIwNzox
MCIsICIwODoyMCIpJywgJzA3OjA5Jyk7Ci0KLWRlYnVnKCdIb3VycywgMS0xMicpOwota2V5RG93
bignbGVmdEFycm93Jyk7Ci1zaG91bGRCZUVxdWFsVG9TdHJpbmcoJ3N0ZXBVcCgiMDc6MDAiLCAx
LCBudWxsLCBudWxsKScsICcwODowMCcpOwotc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdzdGVwRG93
bigiMDc6MDAiLCAxLCBudWxsLCBudWxsKScsICcwNjowMCcpOwotc2hvdWxkQmVFcXVhbFRvU3Ry
aW5nKCdzdGVwVXAoIjExOjAwIiwgMSwgbnVsbCwgbnVsbCknLCAnMDA6MDAnKTsKLXNob3VsZEJl
RXF1YWxUb1N0cmluZygnc3RlcERvd24oIjAwOjAwIiwgMSwgbnVsbCwgbnVsbCknLCAnMTE6MDAn
KTsKLXNob3VsZEJlRXF1YWxUb1N0cmluZygnc3RlcFVwKCIwNjowMCIsIDcyMDAsIG51bGwsIG51
bGwpJywgJzA4OjAwJyk7Ci1zaG91bGRCZUVxdWFsVG9TdHJpbmcoJ3N0ZXBEb3duKCIwNjowMCIs
IDcyMDAsIG51bGwsIG51bGwpJywgJzA0OjAwJyk7Ci1zaG91bGRCZUVxdWFsVG9TdHJpbmcoJ3N0
ZXBVcCgiMTA6MDAiLCA3MjAwLCBudWxsLCBudWxsKScsICcwMDowMCcpOwotc2hvdWxkQmVFcXVh
bFRvU3RyaW5nKCdzdGVwRG93bigiMDA6MDAiLCA3MjAwLCBudWxsLCBudWxsKScsICcxMDowMCcp
Owotc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdzdGVwVXAoIjA3OjAwIiwgNzIwMCwgbnVsbCwgbnVs
bCknLCAnMDg6MDAnKTsKLXNob3VsZEJlRXF1YWxUb1N0cmluZygnc3RlcERvd24oIjA3OjAwIiwg
NzIwMCwgbnVsbCwgbnVsbCknLCAnMDY6MDAnKTsKLXNob3VsZEJlRXF1YWxUb1N0cmluZygnc3Rl
cFVwKCIwNjowMCIsIDM2MDEsIG51bGwsIG51bGwpJywgJzA3OjAwJyk7Ci1zaG91bGRCZUVxdWFs
VG9TdHJpbmcoJ3N0ZXBEb3duKCIwNjowMCIsIDM2MDEsIG51bGwsIG51bGwpJywgJzA1OjAwJyk7
Ci1zaG91bGRCZUVxdWFsVG9TdHJpbmcoJ3N0ZXBVcCgiMDY6MDAiLCAwLCBudWxsLCBudWxsKScs
ICcwNzowMCcpOwotc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdzdGVwRG93bigiMDY6MDAiLCAwLCBu
dWxsLCBudWxsKScsICcwNTowMCcpOwotc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdzdGVwVXAoIjA2
OjAwIiwgODY0MDAsIG51bGwsIG51bGwpJywgJzAwOjAwJyk7Ci1zaG91bGRCZUVxdWFsVG9TdHJp
bmcoJ3N0ZXBEb3duKCIwNjowMCIsIDg2NDAwLCBudWxsLCBudWxsKScsICcwMDowMCcpOwotc2hv
dWxkQmVFcXVhbFRvU3RyaW5nKCdzdGVwVXAoIjA2OjAwIiwgMzYwMDAsIG51bGwsIG51bGwpJywg
JzA3OjAwJyk7Ci1zaG91bGRCZUVxdWFsVG9TdHJpbmcoJ3N0ZXBEb3duKCIwNjowMCIsIDM2MDAw
LCBudWxsLCBudWxsKScsICcwNTowMCcpOwotc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdzdGVwVXAo
IjA2OjAwIiwgNzIwMCwgIjAxOjAwIiwgbnVsbCknLCAnMDc6MDAnKTsKLXNob3VsZEJlRXF1YWxU
b1N0cmluZygnc3RlcERvd24oIjA2OjAwIiwgNzIwMCwgIjAxOjAwIiwgbnVsbCknLCAnMDU6MDAn
KTsKLXNob3VsZEJlRXF1YWxUb1N0cmluZygndGVzdCgiMDY6MDAiLCA3MjAwLCBudWxsLCBudWxs
LCBbImRlbGV0ZSIsICJ1cEFycm93Il0pJywgJzAyOjAwJyk7Ci1zaG91bGRCZUVxdWFsVG9TdHJp
bmcoJ3Rlc3QoIjA2OjAwIiwgNzIwMCwgbnVsbCwgbnVsbCwgWyJkZWxldGUiLCAiZG93bkFycm93
Il0pJywgJzAwOjAwJyk7Ci1zaG91bGRCZUVxdWFsVG9TdHJpbmcoJ2dldFVzZXJBZ2VudFNoYWRv
d1RleHRDb250ZW50KGlucHV0KScsICcxMjowMCBBTScpOwotc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCd0ZXN0KCIwNjowMCIsIDcyMDAsICIwMTowMCIsIG51bGwsIFsiZGVsZXRlIiwgInVwQXJyb3ci
XSknLCAnMDE6MDAnKTsKLXNob3VsZEJlRXF1YWxUb1N0cmluZygndGVzdCgiMDY6MDAiLCA3MjAw
LCAiMDE6MDAiLCBudWxsLCBbImRlbGV0ZSIsICJkb3duQXJyb3ciXSknLCAnMTE6MDAnKTsKLXNo
b3VsZEJlRXF1YWxUb1N0cmluZygnc3RlcFVwKCIxNzowMCIsIDEsICIxNzowMCIsICIyMDowMCIp
JywgJzE4OjAwJyk7Ci1zaG91bGRCZUVxdWFsVG9TdHJpbmcoJ3N0ZXBEb3duKCIxNzowMCIsIDEs
ICIxNzowMCIsICIyMDowMCIpJywgJzIwOjAwJyk7Ci1zaG91bGRCZUVxdWFsVG9TdHJpbmcoJ3N0
ZXBVcCgiMTc6MDAiLCAxLCAiMTU6MDAiLCAiMTc6MDAiKScsICcxNTowMCcpOwotc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCdzdGVwRG93bigiMTc6MDAiLCAxLCAiMTU6MDAiLCAiMTc6MDAiKScsICcx
NjowMCcpOwotc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdzdGVwVXAoIjE1OjAwIiwgMSwgIjE3OjAw
IiwgIjIwOjAwIiknLCAnMTc6MDAnKTsKLXNob3VsZEJlRXF1YWxUb1N0cmluZygnc3RlcERvd24o
IjE1OjAwIiwgMSwgIjE3OjAwIiwgIjIwOjAwIiknLCAnMjA6MDAnKTsKLXNob3VsZEJlRXF1YWxU
b1N0cmluZygnc3RlcFVwKCIxNTowMCIsIDEsICIxMzowMCIsICIxMzowMCIpJywgJzEzOjAwJyk7
Ci1zaG91bGRCZUVxdWFsVG9TdHJpbmcoJ3N0ZXBEb3duKCIxNTowMCIsIDEsICIxMzowMCIsICIx
MzowMCIpJywgJzEzOjAwJyk7Ci1zaG91bGRCZUVxdWFsVG9TdHJpbmcoJ3N0ZXBVcCgiMTI6MDAi
LCAxLCAiMTI6MDAiLCAiMTU6MDAiKScsICcxMzowMCcpOwotc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCdzdGVwRG93bigiMTI6MDAiLCAxLCAiMTI6MDAiLCAiMTU6MDAiKScsICcyMzowMCcpOwotc2hv
dWxkQmVFcXVhbFRvU3RyaW5nKCdzdGVwVXAoIjE1OjAwIiwgMSwgIjEyOjAwIiwgIjE1OjAwIikn
LCAnMTY6MDAnKTsKLXNob3VsZEJlRXF1YWxUb1N0cmluZygnc3RlcERvd24oIjE1OjAwIiwgMSwg
IjEyOjAwIiwgIjE1OjAwIiknLCAnMTQ6MDAnKTsKLXNob3VsZEJlRXF1YWxUb1N0cmluZygnc3Rl
cFVwKCIxMjowMCIsIDEsICIxMDowMCIsICIxMjowMCIpJywgJzEzOjAwJyk7Ci1zaG91bGRCZUVx
dWFsVG9TdHJpbmcoJ3N0ZXBEb3duKCIxMjowMCIsIDEsICIxMDowMCIsICIxMjowMCIpJywgJzIz
OjAwJyk7Ci1zaG91bGRCZUVxdWFsVG9TdHJpbmcoJ3N0ZXBVcCgiMDA6MDAiLCAxLCAiMDA6MDAi
LCAiMDM6MDAiKScsICcwMTowMCcpOwotc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdzdGVwRG93bigi
MDA6MDAiLCAxLCAiMDA6MDAiLCAiMDM6MDAiKScsICcxMTowMCcpOwotc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCdzdGVwVXAoIjE1OjAwIiwgMSwgIjEwOjAwIiwgIjE1OjAwIiknLCAnMTY6MDAnKTsK
LXNob3VsZEJlRXF1YWxUb1N0cmluZygnc3RlcERvd24oIjEwOjAwIiwgMSwgIjEwOjAwIiwgIjE1
OjAwIiknLCAnMDk6MDAnKTsKLXNob3VsZEJlRXF1YWxUb1N0cmluZygnc3RlcFVwKCIxNzowMCIs
IDcyMDAsICIxNzowMCIsICIyMDowMCIpJywgJzE5OjAwJyk7Ci1zaG91bGRCZUVxdWFsVG9TdHJp
bmcoJ3N0ZXBEb3duKCIxNzowMCIsIDcyMDAsICIxNzowMCIsICIyMDowMCIpJywgJzE5OjAwJyk7
Ci1zaG91bGRCZUVxdWFsVG9TdHJpbmcoJ3N0ZXBVcCgiMTc6MDAiLCA3MjAwLCAiMTc6MDAiLCAi
MTg6MDAiKScsICcxNzowMCcpOwotc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdzdGVwRG93bigiMTc6
MDAiLCA3MjAwLCAiMTc6MDAiLCAiMTg6MDAiKScsICcxNzowMCcpOwotCi1kZWJ1ZygnSG91cnMs
IDAtMTEnKTsKLXNldERhdGVUaW1lRm9ybWF0KCdLSzptbSBhJyk7Ci1zaG91bGRCZUVxdWFsVG9T
dHJpbmcoJ3N0ZXBVcCgiMTE6MDAiLCAxLCBudWxsLCBudWxsKScsICcwMDowMCcpOwotc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCdnZXRVc2VyQWdlbnRTaGFkb3dUZXh0Q29udGVudChpbnB1dCknLCAn
MDA6MDAgQU0nKTsKLXNob3VsZEJlRXF1YWxUb1N0cmluZygnc3RlcERvd24oIjAwOjAwIiwgMSwg
bnVsbCwgbnVsbCknLCAnMTE6MDAnKTsKLXNob3VsZEJlRXF1YWxUb1N0cmluZygnZ2V0VXNlckFn
ZW50U2hhZG93VGV4dENvbnRlbnQoaW5wdXQpJywgJzExOjAwIEFNJyk7Ci1zaG91bGRCZUVxdWFs
VG9TdHJpbmcoJ3N0ZXBVcCgiMjM6MDAiLCAxLCBudWxsLCBudWxsKScsICcxMjowMCcpOwotc2hv
dWxkQmVFcXVhbFRvU3RyaW5nKCdnZXRVc2VyQWdlbnRTaGFkb3dUZXh0Q29udGVudChpbnB1dCkn
LCAnMDA6MDAgUE0nKTsKLXNob3VsZEJlRXF1YWxUb1N0cmluZygnc3RlcERvd24oIjEyOjAwIiwg
MSwgbnVsbCwgbnVsbCknLCAnMjM6MDAnKTsKLXNob3VsZEJlRXF1YWxUb1N0cmluZygnZ2V0VXNl
ckFnZW50U2hhZG93VGV4dENvbnRlbnQoaW5wdXQpJywgJzExOjAwIFBNJyk7Ci1zaG91bGRCZUVx
dWFsVG9TdHJpbmcoJ3Rlc3QoIjA2OjAwIiwgNzIwMCwgbnVsbCwgbnVsbCwgWyJkZWxldGUiLCAi
dXBBcnJvdyJdKScsICcwMDowMCcpOwotc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCd0ZXN0KCIwNjow
MCIsIDcyMDAsIG51bGwsIG51bGwsIFsiZGVsZXRlIiwgImRvd25BcnJvdyJdKScsICcxMDowMCcp
Owotc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCd0ZXN0KCIwNjowMCIsIDcyMDAsICIwMTowMCIsIG51
bGwsIFsiZGVsZXRlIiwgInVwQXJyb3ciXSknLCAnMDE6MDAnKTsKLXNob3VsZEJlRXF1YWxUb1N0
cmluZygndGVzdCgiMDY6MDAiLCA3MjAwLCAiMDE6MDAiLCBudWxsLCBbImRlbGV0ZSIsICJkb3du
QXJyb3ciXSknLCAnMTE6MDAnKTsKLXNob3VsZEJlRXF1YWxUb1N0cmluZygnc3RlcFVwKCIxNzow
MCIsIDEsICIxNzowMCIsICIyMDowMCIpJywgJzE4OjAwJyk7Ci1zaG91bGRCZUVxdWFsVG9TdHJp
bmcoJ3N0ZXBEb3duKCIxNzowMCIsIDEsICIxNzowMCIsICIyMDowMCIpJywgJzIwOjAwJyk7Ci1z
aG91bGRCZUVxdWFsVG9TdHJpbmcoJ3N0ZXBVcCgiMTc6MDAiLCAxLCAiMTU6MDAiLCAiMTc6MDAi
KScsICcxNTowMCcpOwotc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdzdGVwRG93bigiMTc6MDAiLCAx
LCAiMTU6MDAiLCAiMTc6MDAiKScsICcxNjowMCcpOwotc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdz
dGVwVXAoIjE1OjAwIiwgMSwgIjE3OjAwIiwgIjIwOjAwIiknLCAnMTc6MDAnKTsKLXNob3VsZEJl
RXF1YWxUb1N0cmluZygnc3RlcERvd24oIjE1OjAwIiwgMSwgIjE3OjAwIiwgIjIwOjAwIiknLCAn
MjA6MDAnKTsKLXNob3VsZEJlRXF1YWxUb1N0cmluZygnc3RlcFVwKCIxNTowMCIsIDEsICIxMzow
MCIsICIxMzowMCIpJywgJzEzOjAwJyk7Ci1zaG91bGRCZUVxdWFsVG9TdHJpbmcoJ3N0ZXBEb3du
KCIxNTowMCIsIDEsICIxMzowMCIsICIxMzowMCIpJywgJzEzOjAwJyk7Ci1zaG91bGRCZUVxdWFs
VG9TdHJpbmcoJ3N0ZXBVcCgiMTI6MDAiLCAxLCAiMTI6MDAiLCAiMTU6MDAiKScsICcxMzowMCcp
Owotc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdzdGVwRG93bigiMTI6MDAiLCAxLCAiMTI6MDAiLCAi
MTU6MDAiKScsICcxNTowMCcpOwotc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdzdGVwVXAoIjE1OjAw
IiwgMSwgIjEyOjAwIiwgIjE1OjAwIiknLCAnMTI6MDAnKTsKLXNob3VsZEJlRXF1YWxUb1N0cmlu
Zygnc3RlcERvd24oIjE1OjAwIiwgMSwgIjEyOjAwIiwgIjE1OjAwIiknLCAnMTQ6MDAnKTsKLXNo
b3VsZEJlRXF1YWxUb1N0cmluZygnc3RlcFVwKCIxMjowMCIsIDEsICIxMDowMCIsICIxMjowMCIp
JywgJzEzOjAwJyk7Ci1zaG91bGRCZUVxdWFsVG9TdHJpbmcoJ3N0ZXBEb3duKCIxMjowMCIsIDEs
ICIxMDowMCIsICIxMjowMCIpJywgJzIzOjAwJyk7Ci1zaG91bGRCZUVxdWFsVG9TdHJpbmcoJ3N0
ZXBVcCgiMDA6MDAiLCAxLCAiMDA6MDAiLCAiMDM6MDAiKScsICcwMTowMCcpOwotc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCdzdGVwRG93bigiMDA6MDAiLCAxLCAiMDA6MDAiLCAiMDM6MDAiKScsICcw
MzowMCcpOwotc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdzdGVwVXAoIjE1OjAwIiwgMSwgIjEwOjAw
IiwgIjE1OjAwIiknLCAnMTY6MDAnKTsKLXNob3VsZEJlRXF1YWxUb1N0cmluZygnc3RlcERvd24o
IjEwOjAwIiwgMSwgIjEwOjAwIiwgIjE1OjAwIiknLCAnMDk6MDAnKTsKLXNob3VsZEJlRXF1YWxU
b1N0cmluZygnc3RlcFVwKCIyMDowMCIsIDcyMDAsICIxNzowMCIsICIyMDowMCIpJywgJzE3OjAw
Jyk7Ci1zaG91bGRCZUVxdWFsVG9TdHJpbmcoJ3N0ZXBEb3duKCIyMDowMCIsIDcyMDAsICIxNzow
MCIsICIyMDowMCIpJywgJzE5OjAwJyk7Ci0KLWRlYnVnKCdIb3VycywgMC0yMycpOwotc2V0RGF0
ZVRpbWVGb3JtYXQoJ0hIOm1tJyk7Ci1zaG91bGRCZUVxdWFsVG9TdHJpbmcoJ3N0ZXBVcCgiMDc6
MDAiLCAxLCBudWxsLCBudWxsKScsICcwODowMCcpOwotc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdz
dGVwRG93bigiMDc6MDAiLCAxLCBudWxsLCBudWxsKScsICcwNjowMCcpOwotc2hvdWxkQmVFcXVh
bFRvU3RyaW5nKCdzdGVwVXAoIjIzOjAwIiwgMSwgbnVsbCwgbnVsbCknLCAnMDA6MDAnKTsKLXNo
b3VsZEJlRXF1YWxUb1N0cmluZygnc3RlcERvd24oIjAwOjAwIiwgMSwgbnVsbCwgbnVsbCknLCAn
MjM6MDAnKTsKLXNob3VsZEJlRXF1YWxUb1N0cmluZygnc3RlcFVwKCIwNjowMCIsIDcyMDAsIG51
bGwsIG51bGwpJywgJzA4OjAwJyk7Ci1zaG91bGRCZUVxdWFsVG9TdHJpbmcoJ3N0ZXBEb3duKCIw
NjowMCIsIDcyMDAsIG51bGwsIG51bGwpJywgJzA0OjAwJyk7Ci1zaG91bGRCZUVxdWFsVG9TdHJp
bmcoJ3N0ZXBVcCgiMjI6MDAiLCA3MjAwLCBudWxsLCBudWxsKScsICcwMDowMCcpOwotc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCdzdGVwRG93bigiMDA6MDAiLCA3MjAwLCBudWxsLCBudWxsKScsICcy
MjowMCcpOwotc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdzdGVwVXAoIjA3OjAwIiwgNzIwMCwgbnVs
bCwgbnVsbCknLCAnMDg6MDAnKTsKLXNob3VsZEJlRXF1YWxUb1N0cmluZygnc3RlcERvd24oIjA3
OjAwIiwgNzIwMCwgbnVsbCwgbnVsbCknLCAnMDY6MDAnKTsKLXNob3VsZEJlRXF1YWxUb1N0cmlu
Zygnc3RlcFVwKCIwNjowMCIsIDM2MDEsIG51bGwsIG51bGwpJywgJzA3OjAwJyk7Ci1zaG91bGRC
ZUVxdWFsVG9TdHJpbmcoJ3N0ZXBEb3duKCIwNjowMCIsIDM2MDEsIG51bGwsIG51bGwpJywgJzA1
OjAwJyk7Ci1zaG91bGRCZUVxdWFsVG9TdHJpbmcoJ3N0ZXBVcCgiMDY6MDAiLCAwLCBudWxsLCBu
dWxsKScsICcwNzowMCcpOwotc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdzdGVwRG93bigiMDY6MDAi
LCAwLCBudWxsLCBudWxsKScsICcwNTowMCcpOwotc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdzdGVw
VXAoIjA2OjAwIiwgODY0MDAsIG51bGwsIG51bGwpJywgJzAwOjAwJyk7Ci1zaG91bGRCZUVxdWFs
VG9TdHJpbmcoJ3N0ZXBEb3duKCIwNjowMCIsIDg2NDAwLCBudWxsLCBudWxsKScsICcwMDowMCcp
Owotc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdzdGVwVXAoIjA2OjAwIiwgMzYwMDAsIG51bGwsIG51
bGwpJywgJzA3OjAwJyk7Ci1zaG91bGRCZUVxdWFsVG9TdHJpbmcoJ3N0ZXBEb3duKCIwNjowMCIs
IDM2MDAwLCBudWxsLCBudWxsKScsICcwNTowMCcpOwotc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdz
dGVwVXAoIjA2OjAwIiwgNzIwMCwgIjAxOjAwIiwgbnVsbCknLCAnMDc6MDAnKTsKLXNob3VsZEJl
RXF1YWxUb1N0cmluZygnc3RlcERvd24oIjA2OjAwIiwgNzIwMCwgIjAxOjAwIiwgbnVsbCknLCAn
MDU6MDAnKTsKLXNob3VsZEJlRXF1YWxUb1N0cmluZygndGVzdCgiMDY6MDAiLCA3MjAwLCBudWxs
LCBudWxsLCBbImRlbGV0ZSIsICJ1cEFycm93Il0pJywgJzAwOjAwJyk7Ci1zaG91bGRCZUVxdWFs
VG9TdHJpbmcoJ2dldFVzZXJBZ2VudFNoYWRvd1RleHRDb250ZW50KGlucHV0KScsICcwMDowMCcp
Owotc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCd0ZXN0KCIwNjowMCIsIDcyMDAsIG51bGwsIG51bGws
IFsiZGVsZXRlIiwgImRvd25BcnJvdyJdKScsICcyMjowMCcpOwotc2hvdWxkQmVFcXVhbFRvU3Ry
aW5nKCd0ZXN0KCIwNjowMCIsIDcyMDAsICIwMTowMCIsIG51bGwsIFsiZGVsZXRlIiwgInVwQXJy
b3ciXSknLCAnMDE6MDAnKTsKLXNob3VsZEJlRXF1YWxUb1N0cmluZygndGVzdCgiMDY6MDAiLCA3
MjAwLCAiMDE6MDAiLCBudWxsLCBbImRlbGV0ZSIsICJkb3duQXJyb3ciXSknLCAnMjM6MDAnKTsK
LXNob3VsZEJlRXF1YWxUb1N0cmluZygnc3RlcFVwKCIxNzowMCIsIDEsICIxNzowMCIsICIyMDow
MCIpJywgJzE4OjAwJyk7Ci1zaG91bGRCZUVxdWFsVG9TdHJpbmcoJ3N0ZXBEb3duKCIxNzowMCIs
IDEsICIxNzowMCIsICIyMDowMCIpJywgJzIwOjAwJyk7Ci1zaG91bGRCZUVxdWFsVG9TdHJpbmco
J3N0ZXBVcCgiMTc6MDAiLCAxLCAiMTU6MDAiLCAiMTc6MDAiKScsICcxNTowMCcpOwotc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCdzdGVwRG93bigiMTc6MDAiLCAxLCAiMTU6MDAiLCAiMTc6MDAiKScs
ICcxNjowMCcpOwotc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdzdGVwVXAoIjE1OjAwIiwgMSwgIjE3
OjAwIiwgIjIwOjAwIiknLCAnMTc6MDAnKTsKLXNob3VsZEJlRXF1YWxUb1N0cmluZygnc3RlcERv
d24oIjE1OjAwIiwgMSwgIjE3OjAwIiwgIjIwOjAwIiknLCAnMjA6MDAnKTsKLXNob3VsZEJlRXF1
YWxUb1N0cmluZygnc3RlcFVwKCIxNTowMCIsIDEsICIxMzowMCIsICIxMzowMCIpJywgJzEzOjAw
Jyk7Ci1zaG91bGRCZUVxdWFsVG9TdHJpbmcoJ3N0ZXBEb3duKCIxNTowMCIsIDEsICIxMzowMCIs
ICIxMzowMCIpJywgJzEzOjAwJyk7Ci1zaG91bGRCZUVxdWFsVG9TdHJpbmcoJ3N0ZXBVcCgiMDA6
MDAiLCAxLCAiMDA6MDAiLCAiMDM6MDAiKScsICcwMTowMCcpOwotc2hvdWxkQmVFcXVhbFRvU3Ry
aW5nKCdzdGVwRG93bigiMDA6MDAiLCAxLCAiMDA6MDAiLCAiMDM6MDAiKScsICcwMzowMCcpOwot
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdzdGVwVXAoIjAzOjAwIiwgMSwgIjAwOjAwIiwgIjAzOjAw
IiknLCAnMDA6MDAnKTsKLXNob3VsZEJlRXF1YWxUb1N0cmluZygnc3RlcERvd24oIjAzOjAwIiwg
MSwgIjAwOjAwIiwgIjAzOjAwIiknLCAnMDI6MDAnKTsKLXNob3VsZEJlRXF1YWxUb1N0cmluZygn
c3RlcFVwKCIxMjowMCIsIDEsICIxMDowMCIsICIxMjowMCIpJywgJzEwOjAwJyk7Ci1zaG91bGRC
ZUVxdWFsVG9TdHJpbmcoJ3N0ZXBEb3duKCIxMjowMCIsIDEsICIxMDowMCIsICIxMjowMCIpJywg
JzExOjAwJyk7Ci1zaG91bGRCZUVxdWFsVG9TdHJpbmcoJ3N0ZXBVcCgiMDA6MDAiLCAxLCAiMDA6
MDAiLCAiMDM6MDAiKScsICcwMTowMCcpOwotc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdzdGVwRG93
bigiMDA6MDAiLCAxLCAiMDA6MDAiLCAiMDM6MDAiKScsICcwMzowMCcpOwotc2hvdWxkQmVFcXVh
bFRvU3RyaW5nKCdzdGVwVXAoIjE1OjAwIiwgMSwgIjEwOjAwIiwgIjE1OjAwIiknLCAnMTA6MDAn
KTsKLXNob3VsZEJlRXF1YWxUb1N0cmluZygnc3RlcERvd24oIjEwOjAwIiwgMSwgIjEwOjAwIiwg
IjE1OjAwIiknLCAnMTU6MDAnKTsKLXNob3VsZEJlRXF1YWxUb1N0cmluZygnc3RlcFVwKCIyMDow
MCIsIDcyMDAsICIxNzowMCIsICIyMDowMCIpJywgJzE3OjAwJyk7Ci1zaG91bGRCZUVxdWFsVG9T
dHJpbmcoJ3N0ZXBEb3duKCIyMDowMCIsIDcyMDAsICIxNzowMCIsICIyMDowMCIpJywgJzE5OjAw
Jyk7Ci0KLWRlYnVnKCdIb3VycywgMS0yNCcpOwotc2V0RGF0ZVRpbWVGb3JtYXQoJ2trOm1tJyk7
Ci1zaG91bGRCZUVxdWFsVG9TdHJpbmcoJ3N0ZXBVcCgiMTE6MDAiLCAxLCBudWxsLCBudWxsKScs
ICcxMjowMCcpOwotc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdnZXRVc2VyQWdlbnRTaGFkb3dUZXh0
Q29udGVudChpbnB1dCknLCAnMTI6MDAnKTsKLXNob3VsZEJlRXF1YWxUb1N0cmluZygnc3RlcERv
d24oIjAwOjAwIiwgMSwgbnVsbCwgbnVsbCknLCAnMjM6MDAnKTsKLXNob3VsZEJlRXF1YWxUb1N0
cmluZygnZ2V0VXNlckFnZW50U2hhZG93VGV4dENvbnRlbnQoaW5wdXQpJywgJzIzOjAwJyk7Ci1z
aG91bGRCZUVxdWFsVG9TdHJpbmcoJ3N0ZXBVcCgiMjM6MDAiLCAxLCBudWxsLCBudWxsKScsICcw
MDowMCcpOwotc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdnZXRVc2VyQWdlbnRTaGFkb3dUZXh0Q29u
dGVudChpbnB1dCknLCAnMjQ6MDAnKTsKLXNob3VsZEJlRXF1YWxUb1N0cmluZygnc3RlcERvd24o
IjEyOjAwIiwgMSwgbnVsbCwgbnVsbCknLCAnMTE6MDAnKTsKLXNob3VsZEJlRXF1YWxUb1N0cmlu
ZygnZ2V0VXNlckFnZW50U2hhZG93VGV4dENvbnRlbnQoaW5wdXQpJywgJzExOjAwJyk7Ci1zaG91
bGRCZUVxdWFsVG9TdHJpbmcoJ3Rlc3QoIjA2OjAwIiwgNzIwMCwgbnVsbCwgbnVsbCwgWyJkZWxl
dGUiLCAidXBBcnJvdyJdKScsICcwMjowMCcpOwotc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCd0ZXN0
KCIwNjowMCIsIDcyMDAsIG51bGwsIG51bGwsIFsiZGVsZXRlIiwgImRvd25BcnJvdyJdKScsICcw
MDowMCcpOwotc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCd0ZXN0KCIwNjowMCIsIDcyMDAsICIwMTow
MCIsIG51bGwsIFsiZGVsZXRlIiwgInVwQXJyb3ciXSknLCAnMDE6MDAnKTsKLXNob3VsZEJlRXF1
YWxUb1N0cmluZygndGVzdCgiMDY6MDAiLCA3MjAwLCAiMDE6MDAiLCBudWxsLCBbImRlbGV0ZSIs
ICJkb3duQXJyb3ciXSknLCAnMjM6MDAnKTsKLXNob3VsZEJlRXF1YWxUb1N0cmluZygnc3RlcFVw
KCIxNzowMCIsIDEsICIxNzowMCIsICIyMDowMCIpJywgJzE4OjAwJyk7Ci1zaG91bGRCZUVxdWFs
VG9TdHJpbmcoJ3N0ZXBEb3duKCIxNzowMCIsIDEsICIxNzowMCIsICIyMDowMCIpJywgJzIwOjAw
Jyk7Ci1zaG91bGRCZUVxdWFsVG9TdHJpbmcoJ3N0ZXBVcCgiMTc6MDAiLCAxLCAiMTU6MDAiLCAi
MTc6MDAiKScsICcxNTowMCcpOwotc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdzdGVwRG93bigiMTc6
MDAiLCAxLCAiMTU6MDAiLCAiMTc6MDAiKScsICcxNjowMCcpOwotc2hvdWxkQmVFcXVhbFRvU3Ry
aW5nKCdzdGVwVXAoIjE1OjAwIiwgMSwgIjE3OjAwIiwgIjIwOjAwIiknLCAnMTc6MDAnKTsKLXNo
b3VsZEJlRXF1YWxUb1N0cmluZygnc3RlcERvd24oIjE1OjAwIiwgMSwgIjE3OjAwIiwgIjIwOjAw
IiknLCAnMjA6MDAnKTsKLXNob3VsZEJlRXF1YWxUb1N0cmluZygnc3RlcFVwKCIxNTowMCIsIDEs
ICIxMzowMCIsICIxMzowMCIpJywgJzEzOjAwJyk7Ci1zaG91bGRCZUVxdWFsVG9TdHJpbmcoJ3N0
ZXBEb3duKCIxNTowMCIsIDEsICIxMzowMCIsICIxMzowMCIpJywgJzEzOjAwJyk7Ci1zaG91bGRC
ZUVxdWFsVG9TdHJpbmcoJ3N0ZXBVcCgiMDA6MDAiLCAxLCAiMDA6MDAiLCAiMDM6MDAiKScsICcw
MTowMCcpOwotc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdzdGVwRG93bigiMDA6MDAiLCAxLCAiMDA6
MDAiLCAiMDM6MDAiKScsICcyMzowMCcpOwotc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdzdGVwVXAo
IjAzOjAwIiwgMSwgIjAwOjAwIiwgIjAzOjAwIiknLCAnMDQ6MDAnKTsKLXNob3VsZEJlRXF1YWxU
b1N0cmluZygnc3RlcERvd24oIjAzOjAwIiwgMSwgIjAwOjAwIiwgIjAzOjAwIiknLCAnMDI6MDAn
KTsKLXNob3VsZEJlRXF1YWxUb1N0cmluZygnc3RlcFVwKCIxMjowMCIsIDEsICIxMDowMCIsICIx
MjowMCIpJywgJzEwOjAwJyk7Ci1zaG91bGRCZUVxdWFsVG9TdHJpbmcoJ3N0ZXBEb3duKCIxMjow
MCIsIDEsICIxMDowMCIsICIxMjowMCIpJywgJzExOjAwJyk7Ci1zaG91bGRCZUVxdWFsVG9TdHJp
bmcoJ3N0ZXBVcCgiMDA6MDAiLCAxLCAiMDA6MDAiLCAiMDM6MDAiKScsICcwMTowMCcpOwotc2hv
dWxkQmVFcXVhbFRvU3RyaW5nKCdzdGVwRG93bigiMDA6MDAiLCAxLCAiMDA6MDAiLCAiMDM6MDAi
KScsICcyMzowMCcpOwotc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdzdGVwVXAoIjE1OjAwIiwgMSwg
IjEwOjAwIiwgIjE1OjAwIiknLCAnMTA6MDAnKTsKLXNob3VsZEJlRXF1YWxUb1N0cmluZygnc3Rl
cERvd24oIjEwOjAwIiwgMSwgIjEwOjAwIiwgIjE1OjAwIiknLCAnMTU6MDAnKTsKLXNob3VsZEJl
RXF1YWxUb1N0cmluZygnc3RlcFVwKCIxNzowMCIsIDcyMDAsICIxNzowMCIsICIyMDowMCIpJywg
JzE5OjAwJyk7Ci1zaG91bGRCZUVxdWFsVG9TdHJpbmcoJ3N0ZXBEb3duKCIxNzowMCIsIDcyMDAs
ICIxNzowMCIsICIyMDowMCIpJywgJzE5OjAwJyk7Ci1zaG91bGRCZUVxdWFsVG9TdHJpbmcoJ3N0
ZXBVcCgiMTc6MDAiLCA3MjAwLCAiMTc6MDAiLCAiMTg6MDAiKScsICcxNzowMCcpOwotc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCdzdGVwRG93bigiMTc6MDAiLCA3MjAwLCAiMTc6MDAiLCAiMTg6MDAi
KScsICcxNzowMCcpOwotCi1zZXREYXRlVGltZUZvcm1hdCgnJyk7Ci1kZWJ1ZygnJyk7Ci1kb2N1
bWVudC5ib2R5LnJlbW92ZUNoaWxkKGlucHV0KTsKLTwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii4u
Ly4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgotPC9ib2R5PgotPC9o
dG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy90aW1lLW11bHRpcGxlLWZp
ZWxkcy90aW1lLW11bHRpcGxlLWZpZWxkcy10YWJpbmRleC1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9mYXN0L2Zvcm1zL3RpbWUtbXVsdGlwbGUtZmllbGRzL3RpbWUtbXVsdGlwbGUtZmllbGRz
LXRhYmluZGV4LWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDY1
Yjg3OTUxZWYwNWUyMTYxZmYyN2Q2YTc1MTliY2RiZWE2MTM3YS4uMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3RpbWUt
bXVsdGlwbGUtZmllbGRzL3RpbWUtbXVsdGlwbGUtZmllbGRzLXRhYmluZGV4LWV4cGVjdGVkLnR4
dAorKysgL2Rldi9udWxsCkBAIC0xLDE4ICswLDAgQEAKLUZvcndvcmQ6Ci1QQVNTIGV2ZW50U2Vu
ZGVyLmtleURvd24odGFiKTsgZG9jdW1lbnQuYWN0aXZlRWxlbWVudC5pZCBpcyAidGFiaW5kZXgy
MC0xIgotUEFTUyBldmVudFNlbmRlci5rZXlEb3duKHRhYik7IGRvY3VtZW50LmFjdGl2ZUVsZW1l
bnQuaWQgaXMgInRpbWUtd2l0aC10YWJpbmRleDIwIgotUEFTUyBzaGFkb3dSb290LmFjdGl2ZUVs
ZW1lbnQuZ2V0QXR0cmlidXRlKCJwc2V1ZG8iKSBpcyBmaXJzdFN1YkZpZWxkCi1QQVNTIGV2ZW50
U2VuZGVyLmtleURvd24odGFiKTsgZXZlbnRTZW5kZXIua2V5RG93bih0YWIpOyBzaGFkb3dSb290
LmFjdGl2ZUVsZW1lbnQuZ2V0QXR0cmlidXRlKCJwc2V1ZG8iKSBpcyBsYXN0U3ViRmllbGQKLVBB
U1MgZXZlbnRTZW5kZXIua2V5RG93bih0YWIpOyBkb2N1bWVudC5hY3RpdmVFbGVtZW50LmlkIGlz
ICJ0YWJpbmRleDIwLTMiCi1QQVNTIGV2ZW50U2VuZGVyLmtleURvd24odGFiKTsgZG9jdW1lbnQu
YWN0aXZlRWxlbWVudC5pZCBpcyAidGFiaW5kZXgzMCIKLQotQmFja3dvcmQ6Ci1QQVNTIGV2ZW50
U2VuZGVyLmtleURvd24odGFiLCBzaGlmdCk7IGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQuaWQgaXMg
InRhYmluZGV4MjAtMyIKLVBBU1MgZXZlbnRTZW5kZXIua2V5RG93bih0YWIsIHNoaWZ0KTsgZG9j
dW1lbnQuYWN0aXZlRWxlbWVudC5pZCBpcyAidGltZS13aXRoLXRhYmluZGV4MjAiCi1QQVNTIHNo
YWRvd1Jvb3QuYWN0aXZlRWxlbWVudC5nZXRBdHRyaWJ1dGUoInBzZXVkbyIpIGlzIGxhc3RTdWJG
aWVsZAotUEFTUyBldmVudFNlbmRlci5rZXlEb3duKHRhYiwgc2hpZnQpOyBldmVudFNlbmRlci5r
ZXlEb3duKHRhYiwgc2hpZnQpOyBzaGFkb3dSb290LmFjdGl2ZUVsZW1lbnQuZ2V0QXR0cmlidXRl
KCJwc2V1ZG8iKSBpcyBmaXJzdFN1YkZpZWxkCi1QQVNTIGV2ZW50U2VuZGVyLmtleURvd24odGFi
LCBzaGlmdCk7IGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQuaWQgaXMgInRhYmluZGV4MjAtMSIKLVBB
U1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKLQotVEVTVCBDT01QTEVURQotICAgIApkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy90aW1lLW11bHRpcGxlLWZpZWxkcy90aW1l
LW11bHRpcGxlLWZpZWxkcy10YWJpbmRleC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy90
aW1lLW11bHRpcGxlLWZpZWxkcy90aW1lLW11bHRpcGxlLWZpZWxkcy10YWJpbmRleC5odG1sCmRl
bGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA3ODQ3ZjczZTJkZGE4NDBlOWQwMTE5ODgxYjgy
YTZjYjczYTFiMWY3Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0t
LSBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvdGltZS1tdWx0aXBsZS1maWVsZHMvdGltZS1tdWx0
aXBsZS1maWVsZHMtdGFiaW5kZXguaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDQ1ICswLDAgQEAK
LTwhRE9DVFlQRSBodG1sPgotPGh0bWw+Ci08Ym9keT4KLTxzY3JpcHQgc3JjPSIuLi8uLi9qcy9y
ZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii4uL3Jlc291
cmNlcy9jb21tb24uanMiPjwvc2NyaXB0PgotCi08aW5wdXQgaWQ9InRhYmluZGV4MzAiIHRhYmlu
ZGV4PSIzMCI+Ci08aW5wdXQgaWQ9InRhYmluZGV4MjAtMSIgdGFiaW5kZXg9IjIwIj4KLTxpbnB1
dCBpZD0idGltZS13aXRoLXRhYmluZGV4MjAiIHRhYmluZGV4PSIyMCIgdHlwZT0idGltZSI+Ci08
aW5wdXQgaWQ9InRhYmluZGV4MjAtMyIgdGFiaW5kZXg9IjIwIj4KLTxpbnB1dCBpZD0idGFiaW5k
ZXgxMCIgdGFiaW5kZXg9IjEwIj4KLQotPHNjcmlwdD4KLWlmICghd2luZG93LmV2ZW50U2VuZGVy
IHx8ICF3aW5kb3cuaW50ZXJuYWxzKQotICAgIGRlYnVnKCdUaGlzIHJlcXVpcmVzIERSVC9XUlQu
Jyk7Ci0KLXZhciBmaXJzdFN1YkZpZWxkID0gIi13ZWJraXQtZGF0ZXRpbWUtZWRpdC1ob3VyLWZp
ZWxkIjsKLXZhciBsYXN0U3ViRmllbGQgPSAiLXdlYmtpdC1kYXRldGltZS1lZGl0LWFtcG0tZmll
bGQiOwotdmFyIHRhYiA9ICdcdCc7Ci12YXIgc2hpZnQgPSBbJ3NoaWZ0S2V5J107Ci0KLSQoJ3Rh
YmluZGV4MTAnKS5mb2N1cygpOwotdmFyIHNoYWRvd1Jvb3QgPSBpbnRlcm5hbHMueW91bmdlc3RT
aGFkb3dSb290KCQoJ3RpbWUtd2l0aC10YWJpbmRleDIwJykpOwotCi1kZWJ1ZygnRm9yd29yZDon
KTsKLXNob3VsZEJlRXF1YWxUb1N0cmluZygnZXZlbnRTZW5kZXIua2V5RG93bih0YWIpOyBkb2N1
bWVudC5hY3RpdmVFbGVtZW50LmlkJywgJ3RhYmluZGV4MjAtMScpOwotc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCdldmVudFNlbmRlci5rZXlEb3duKHRhYik7IGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQu
aWQnLCAndGltZS13aXRoLXRhYmluZGV4MjAnKTsKLXNob3VsZEJlKCdzaGFkb3dSb290LmFjdGl2
ZUVsZW1lbnQuZ2V0QXR0cmlidXRlKCJwc2V1ZG8iKScsICdmaXJzdFN1YkZpZWxkJyk7Ci1zaG91
bGRCZSgnZXZlbnRTZW5kZXIua2V5RG93bih0YWIpOyBldmVudFNlbmRlci5rZXlEb3duKHRhYik7
IHNoYWRvd1Jvb3QuYWN0aXZlRWxlbWVudC5nZXRBdHRyaWJ1dGUoInBzZXVkbyIpJywgJ2xhc3RT
dWJGaWVsZCcpOwotc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdldmVudFNlbmRlci5rZXlEb3duKHRh
Yik7IGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQuaWQnLCAndGFiaW5kZXgyMC0zJyk7Ci1zaG91bGRC
ZUVxdWFsVG9TdHJpbmcoJ2V2ZW50U2VuZGVyLmtleURvd24odGFiKTsgZG9jdW1lbnQuYWN0aXZl
RWxlbWVudC5pZCcsICd0YWJpbmRleDMwJyk7Ci0KLWRlYnVnKCcnKTsKLWRlYnVnKCdCYWNrd29y
ZDonKTsKLXNob3VsZEJlRXF1YWxUb1N0cmluZygnZXZlbnRTZW5kZXIua2V5RG93bih0YWIsIHNo
aWZ0KTsgZG9jdW1lbnQuYWN0aXZlRWxlbWVudC5pZCcsICd0YWJpbmRleDIwLTMnKTsKLXNob3Vs
ZEJlRXF1YWxUb1N0cmluZygnZXZlbnRTZW5kZXIua2V5RG93bih0YWIsIHNoaWZ0KTsgZG9jdW1l
bnQuYWN0aXZlRWxlbWVudC5pZCcsICd0aW1lLXdpdGgtdGFiaW5kZXgyMCcpOwotc2hvdWxkQmUo
J3NoYWRvd1Jvb3QuYWN0aXZlRWxlbWVudC5nZXRBdHRyaWJ1dGUoInBzZXVkbyIpJywgJ2xhc3RT
dWJGaWVsZCcpOwotc2hvdWxkQmUoJ2V2ZW50U2VuZGVyLmtleURvd24odGFiLCBzaGlmdCk7IGV2
ZW50U2VuZGVyLmtleURvd24odGFiLCBzaGlmdCk7IHNoYWRvd1Jvb3QuYWN0aXZlRWxlbWVudC5n
ZXRBdHRyaWJ1dGUoInBzZXVkbyIpJywgJ2ZpcnN0U3ViRmllbGQnKTsKLXNob3VsZEJlRXF1YWxU
b1N0cmluZygnZXZlbnRTZW5kZXIua2V5RG93bih0YWIsIHNoaWZ0KTsgZG9jdW1lbnQuYWN0aXZl
RWxlbWVudC5pZCcsICd0YWJpbmRleDIwLTEnKTsKLQotCi08L3NjcmlwdD4KLTxzY3JpcHQgc3Jj
PSIuLi8uLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KLTwvYm9keT4K
LTwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvdGltZS1tdWx0aXBs
ZS1maWVsZHMvdGltZS1tdWx0aXBsZS1maWVsZHMtdmFsaWRpdHktYmFkaW5wdXQtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy90aW1lLW11bHRpcGxlLWZpZWxkcy90aW1lLW11
bHRpcGxlLWZpZWxkcy12YWxpZGl0eS1iYWRpbnB1dC1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDQ4MGY1NjFmMjI2YzU5YTQ0MTdjYmJlM2U2NjkxN2U5ODNkMDQ3
ZTYuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0
VGVzdHMvZmFzdC9mb3Jtcy90aW1lLW11bHRpcGxlLWZpZWxkcy90aW1lLW11bHRpcGxlLWZpZWxk
cy12YWxpZGl0eS1iYWRpbnB1dC1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSwxNSAr
MCwwIEBACi1BIHRpbWUgaW5wdXQgZmllbGRzIHdpdGggYSBiYWQgdXNlciBpbnB1dCBzaG91bGQg
bWFrZSB2YWxpZGl0eS5iYWRJbnB1dCB0cnVlIGFuZCBoYXZlIDppbnZhbGlkIHN0eWxlLgotCi1P
biBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xs
b3dlZCBieSAiVEVTVCBDT01QTEVURSIuCi0KLQotSW5pdGlhbCBzdGF0ZS4gVGhlIGVsbWVudCBo
YXMgbm8gdmFsdWUuCi1QQVNTIGNvbG9yT2YoaW5wdXQpIGlzIG5vdCBpbnZhbGlkU3R5bGVDb2xv
cgotUEFTUyBpbnB1dC52YWxpZGl0eS5iYWRJbnB1dCBpcyBmYWxzZQotU2V0IGEgdmFsdWUgdG8g
dGhlIGZpcnN0IHN1Yi1maWVsZC4gVGhlIGVsZW1lbnQgYmVjb21lcyBiYWRJbnB1dC4KLVBBU1Mg
Y29sb3JPZihpbnB1dCkgaXMgaW52YWxpZFN0eWxlQ29sb3IKLVBBU1MgaW5wdXQudmFsaWRpdHku
YmFkSW5wdXQgaXMgdHJ1ZQotUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQotCi1URVNU
IENPTVBMRVRFCi0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvdGltZS1tdWx0
aXBsZS1maWVsZHMvdGltZS1tdWx0aXBsZS1maWVsZHMtdmFsaWRpdHktYmFkaW5wdXQuaHRtbCBi
L0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvdGltZS1tdWx0aXBsZS1maWVsZHMvdGltZS1tdWx0aXBs
ZS1maWVsZHMtdmFsaWRpdHktYmFkaW5wdXQuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggODI4MGYwZTgxMzdiYjc0ZDYwZTIwMzI2Y2UyMmIxMGM5NDZhYjI0Mi4uMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2Zv
cm1zL3RpbWUtbXVsdGlwbGUtZmllbGRzL3RpbWUtbXVsdGlwbGUtZmllbGRzLXZhbGlkaXR5LWJh
ZGlucHV0Lmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSwxNCArMCwwIEBACi08IURPQ1RZUEUgaHRt
bD4KLTxzdHlsZT4KLTppbnZhbGlkIHsKLSAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmYwMDAwOwot
fQotPC9zdHlsZT4KLTxib2R5PgotPHNjcmlwdCBzcmM9Ii4uLy4uL2pzL3Jlc291cmNlcy9qcy10
ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL211bHRpcGxl
LWZpZWxkcy12YWxpZGl0eS1iYWRpbnB1dC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0PgotdGVzdEJh
ZElucHV0KCd0aW1lJyk7Ci08L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIuLi8uLi9qcy9yZXNvdXJj
ZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KLTwvYm9keT4KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2Zhc3QvZm9ybXMvdGltZS1tdWx0aXBsZS1maWVsZHMvdGltZS1tdWx0aXBsZS1maWVs
ZHMtdmFsdWUtc2V0LWVtcHR5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMv
dGltZS1tdWx0aXBsZS1maWVsZHMvdGltZS1tdWx0aXBsZS1maWVsZHMtdmFsdWUtc2V0LWVtcHR5
LWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYTdiYjJiYmQ0M2Y2
MGU2OWIyNGNlMDY3NmNhOTk2ZThiYzM2NzE3Yi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3RpbWUtbXVsdGlwbGUt
ZmllbGRzL3RpbWUtbXVsdGlwbGUtZmllbGRzLXZhbHVlLXNldC1lbXB0eS1leHBlY3RlZC50eHQK
KysrIC9kZXYvbnVsbApAQCAtMSwxOSArMCwwIEBACi1DaGVjayBpZiBpbnB1dC52YWx1ZT0iIiBj
bGVhcnMgYW4gaW5wdXQgd2l0aCBwYXJ0aWFsbHktc3BlY2lmaWVkIHZhbHVlLgotCi1PbiBzdWNj
ZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBi
eSAiVEVTVCBDT01QTEVURSIuCi0KLQotRW1wdHkgdGV4dDogLS06LS0gLS0KLVBBU1MgZXZlbnRT
ZW5kZXIua2V5RG93bigidXBBcnJvdyIpOyBnZXRVc2VyQWdlbnRTaGFkb3dUZXh0Q29udGVudChp
bnB1dCkgaXMgbm90IGVtcHR5VGV4dAotUEFTUyBpbnB1dC52YWx1ZSA9ICIiOyBnZXRVc2VyQWdl
bnRTaGFkb3dUZXh0Q29udGVudChpbnB1dCkgaXMgZW1wdHlUZXh0Ci0KLUluaXRpYWwgdGV4dDog
LS06LS06NDUgLS0KLUVtcHR5IHZhbHVlIHNob3VsZCBub3QgY2xlYXIgcmVhZC1vbmx5IGZpZWxk
cy4KLVBBU1MgaW5wdXQudmFsdWUgPSAiIjsgZ2V0VXNlckFnZW50U2hhZG93VGV4dENvbnRlbnQo
aW5wdXQpIGlzICItLTotLTo0NSAtLSIKLUVtcHR5IHZhbHVlIHNob3VsZCBjbGVhciBvbmx5IGVk
aXRhYmxlIGZpZWxkcy4KLVBBU1MgZXZlbnRTZW5kZXIua2V5RG93bigidXBBcnJvdyIpOyBnZXRV
c2VyQWdlbnRTaGFkb3dUZXh0Q29udGVudChpbnB1dCkgaXMgIjAxOi0tOjQ1IC0tIgotUEFTUyBp
bnB1dC52YWx1ZSA9ICIiOyBnZXRVc2VyQWdlbnRTaGFkb3dUZXh0Q29udGVudChpbnB1dCkgaXMg
Ii0tOi0tOjQ1IC0tIgotUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQotCi1URVNUIENP
TVBMRVRFCi0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvdGltZS1tdWx0aXBs
ZS1maWVsZHMvdGltZS1tdWx0aXBsZS1maWVsZHMtdmFsdWUtc2V0LWVtcHR5Lmh0bWwgYi9MYXlv
dXRUZXN0cy9mYXN0L2Zvcm1zL3RpbWUtbXVsdGlwbGUtZmllbGRzL3RpbWUtbXVsdGlwbGUtZmll
bGRzLXZhbHVlLXNldC1lbXB0eS5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBh
ZjNhMzFiZjFjOGY2NTIxNTUyZmQ0OGVlYTY4NzE3ZmM0NWUwOWNmLi4wMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvdGlt
ZS1tdWx0aXBsZS1maWVsZHMvdGltZS1tdWx0aXBsZS1maWVsZHMtdmFsdWUtc2V0LWVtcHR5Lmh0
bWwKKysrIC9kZXYvbnVsbApAQCAtMSwyNyArMCwwIEBACi08IURPQ1RZUEUgaHRtbD4KLTxib2R5
PgotPHNjcmlwdCBzcmM9Ii4uLy4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3Jp
cHQ+Ci08c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL2NvbW1vbi5qcyI+PC9zY3JpcHQ+Ci08c2Ny
aXB0IHNyYz0iLi4vcmVzb3VyY2VzL211bHRpcGxlLWZpZWxkcy12YWx1ZS1zZXQtZW1wdHkuanMi
Pjwvc2NyaXB0PgotPHNjcmlwdD4KLXRlc3RTZXR0aW5nRW1wdHlTdHJpbmdDbGVhcnNTdWJGaWVs
ZHMoJ3RpbWUnKTsKLQotZGVidWcoJycpOwotaW5wdXQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KCdpbnB1dCcpOwotaW5wdXQudHlwZSA9ICd0aW1lJzsKLWlucHV0Lm1pbiA9ICcxMToyMzo0NSc7
Ci1pbnB1dC5zdGVwID0gJzYwJzsKLS8vIEJlY2F1c2UgdGhlIHN0ZXAgdmFsdWUgaXMgNjAgc2Vj
b25kcywgdGhlIHNlY29uZHMgZmllbGRzIGlzIHJlYWQtb25seS4KLWRvY3VtZW50LmJvZHkuYXBw
ZW5kQ2hpbGQoaW5wdXQpOwotZGVidWcoJ0luaXRpYWwgdGV4dDogJyArIGdldFVzZXJBZ2VudFNo
YWRvd1RleHRDb250ZW50KGlucHV0KSk7Ci1kZWJ1ZygnRW1wdHkgdmFsdWUgc2hvdWxkIG5vdCBj
bGVhciByZWFkLW9ubHkgZmllbGRzLicpOwotc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdpbnB1dC52
YWx1ZSA9ICIiOyBnZXRVc2VyQWdlbnRTaGFkb3dUZXh0Q29udGVudChpbnB1dCknLCAnLS06LS06
NDUgLS0nKTsKLQotZGVidWcoJ0VtcHR5IHZhbHVlIHNob3VsZCBjbGVhciBvbmx5IGVkaXRhYmxl
IGZpZWxkcy4nKTsKLWlucHV0LmZvY3VzKCk7Ci1zaG91bGRCZUVxdWFsVG9TdHJpbmcoJ2V2ZW50
U2VuZGVyLmtleURvd24oInVwQXJyb3ciKTsgZ2V0VXNlckFnZW50U2hhZG93VGV4dENvbnRlbnQo
aW5wdXQpJywgJzAxOi0tOjQ1IC0tJyk7Ci1zaG91bGRCZUVxdWFsVG9TdHJpbmcoJ2lucHV0LnZh
bHVlID0gIiI7IGdldFVzZXJBZ2VudFNoYWRvd1RleHRDb250ZW50KGlucHV0KScsICctLTotLTo0
NSAtLScpOwotCi08L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIuLi8uLi9qcy9yZXNvdXJjZXMvanMt
dGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KLTwvYm9keT4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2Zhc3QvZm9ybXMvdGltZS1tdWx0aXBsZS1maWVsZHMvdGltZS1tdWx0aXBsZS1maWVsZHMtd2hl
ZWwtZXZlbnQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy90aW1lLW11bHRp
cGxlLWZpZWxkcy90aW1lLW11bHRpcGxlLWZpZWxkcy13aGVlbC1ldmVudC1leHBlY3RlZC50eHQK
ZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGViODA1N2EzNjc2OGM3ZWM1MzkwMWEyYzUy
MDUxZmNjYWM1YTQwODAuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAK
LS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy90aW1lLW11bHRpcGxlLWZpZWxkcy90aW1lLW11
bHRpcGxlLWZpZWxkcy13aGVlbC1ldmVudC1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAt
MSwyMyArMCwwIEBACi1UZXN0IGZvciB3aGVlbCBvcGVyYXRpb25zIGZvciA8aW5wdXQgdHlwZT10
aW1lPgotCi1PbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3Nh
Z2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCi0KLQotSW5pdGlhbCB2YWx1ZSBpcyAw
NzowMC4gV2UnbGwgd2hlZWwgdXAgYnkgMToKLVBBU1MgaW5wdXQudmFsdWUgaXMgIjA4OjAwIgot
V2hlZWwgdXAgYnkgMTAwOgotUEFTUyBpbnB1dC52YWx1ZSBpcyAiMDk6MDAiCi1XaGVlbCBkb3du
IGJ5IDE6Ci1QQVNTIGlucHV0LnZhbHVlIGlzICIwODowMCIKLVdoZWVsIGRvd24gYnkgMjU2Ogot
UEFTUyBpbnB1dC52YWx1ZSBpcyAiMDc6MDAiCi1EaXNhYmxlZCBpbnB1dCBlbGVtZW50OgotUEFT
UyBpbnB1dC52YWx1ZSBpcyAiMDc6MDAiCi1SZWFkLW9ubHkgaW5wdXQgZWxlbWVudDoKLVBBU1Mg
aW5wdXQudmFsdWUgaXMgIjA3OjAwIgotTm8gZm9jdXM6Ci1QQVNTIGlucHV0LnZhbHVlIGlzICIw
NzowMCIKLVBBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKLQotVEVTVCBDT01QTEVURQot
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3RpbWUtbXVsdGlwbGUtZmllbGRz
L3RpbWUtbXVsdGlwbGUtZmllbGRzLXdoZWVsLWV2ZW50Lmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0
L2Zvcm1zL3RpbWUtbXVsdGlwbGUtZmllbGRzL3RpbWUtbXVsdGlwbGUtZmllbGRzLXdoZWVsLWV2
ZW50Lmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDBkMTk0NTY2MTUwYjNlYzM0
NjkxOGUzZTdmZmY0ODBjZGNiNmRmYzIuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy90aW1lLW11bHRpcGxlLWZpZWxk
cy90aW1lLW11bHRpcGxlLWZpZWxkcy13aGVlbC1ldmVudC5odG1sCisrKyAvZGV2L251bGwKQEAg
LTEsMTcgKzAsMCBAQAotPCFET0NUWVBFIGh0bWw+Ci08aHRtbD4KLTxoZWFkPgotPHNjcmlwdCBz
cmM9Ii4uLy4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4K
LTxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvY29tbW9uLXdoZWVsLWV2ZW50LmpzIj48L3Njcmlw
dD4KLTwvaGVhZD4KLTxib2R5PgotPHNjcmlwdD4KLXRlc3RXaGVlbEV2ZW50KHsKLSAgICAnaW5w
dXRUeXBlJyA6ICd0aW1lJywKLSAgICAnaW5pdGlhbFZhbHVlJyA6ICcwNzowMCcsCi0gICAgJ3N0
ZXBVcFZhbHVlMScgOiAnMDg6MDAnLAotICAgICdzdGVwVXBWYWx1ZTInIDogJzA5OjAwJyB9KTsK
LTwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii4uLy4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRl
c3QtcG9zdC5qcyI+PC9zY3JpcHQ+Ci08L2JvZHk+Ci08L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9mYXN0L2Zvcm1zL3dlZWstbXVsdGlwbGUtZmllbGRzL3Jlc291cmNlcy9wcmVzZXJ2
ZS12YWx1ZS1hZnRlci1oaXN0b3J5LWJhY2stZnJhbWUuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3Qv
Zm9ybXMvd2Vlay1tdWx0aXBsZS1maWVsZHMvcmVzb3VyY2VzL3ByZXNlcnZlLXZhbHVlLWFmdGVy
LWhpc3RvcnktYmFjay1mcmFtZS5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA4
NDJkOGFmOGEzZDcxMDY1MmQ1NDM2NTE2MzY5YjhmOTM1MGE0ZWU4Li4wMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvd2Vl
ay1tdWx0aXBsZS1maWVsZHMvcmVzb3VyY2VzL3ByZXNlcnZlLXZhbHVlLWFmdGVyLWhpc3Rvcnkt
YmFjay1mcmFtZS5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsOTcgKzAsMCBAQAotPCFET0NUWVBF
IGh0bWw+Ci08Ym9keT4KLTxpbnB1dCB0eXBlPSJ3ZWVrIiBpZD0idGVzdDEiPgotPGlucHV0IHR5
cGU9IndlZWsiIGlkPSJ0ZXN0MiIgbWluPSIxOTk4LVcwMSIgbWF4PSIxOTk5LVcxMiI+Ci08c2Ny
aXB0PgotZnVuY3Rpb24gZmllbGRzVGV4dChpbnB1dCkgewotICAgIHJldHVybiB3aW5kb3cuaW50
ZXJuYWxzLm9sZGVzdFNoYWRvd1Jvb3QoaW5wdXQpLnRleHRDb250ZW50OwotfQotCi1mdW5jdGlv
biBiYWNrKG5ld1N0YXRlKSB7Ci0gICAgcGFyZW50LnN0YXRlID0gbmV3U3RhdGU7Ci0gICAgaGlz
dG9yeS5iYWNrKCk7Ci19Ci0KLWZ1bmN0aW9uIGZvcndhcmQobmV3U3RhdGUpIHsKLSAgICBwYXJl
bnQuc3RhdGUgPSBuZXdTdGF0ZTsKLSAgICBoaXN0b3J5LmZvcndhcmQoKTsKLX0KLQotZnVuY3Rp
b24ga2V5RG93bihrZXkpIHsKLSAgICBldmVudFNlbmRlci5rZXlEb3duKGtleSk7Ci19Ci0KLXZh
ciB0ZXN0SW5wdXQxID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3Rlc3QxJyk7Ci12YXIgdGVz
dElucHV0MiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCd0ZXN0MicpOwotdmFyIHBhZ2VOYW1l
ID0gbG9jYXRpb24uc2VhcmNoIHx8ICc/cGFnZTEnOwotCi13aW5kb3cub25sb2FkID0gZnVuY3Rp
b24oKSB7Ci0gICAgc3dpdGNoIChwYWdlTmFtZSkgewotICAgIGNhc2UgJz9wYWdlMSc6Ci0gICAg
ICAgIHN3aXRjaCAocGFyZW50LnN0YXRlKSB7Ci0gICAgICAgIGNhc2UgJ2RpcmVjdCc6IHsKLSAg
ICAgICAgICAgIHRlc3RJbnB1dDEudmFsdWUgPSAnMTIwMTItVzEwJzsKLSAgICAgICAgICAgIHRl
c3RJbnB1dDIuZm9jdXMoKTsKLSAgICAgICAgICAgIGtleURvd24oJ3VwQXJyb3cnKTsgLy8gLT4g
V2VlayBbMDFdLCB5eXl5Ci0gICAgICAgICAgICB2YXIgbmV4dFVyaSA9IGxvY2F0aW9uLnRvU3Ry
aW5nKCkucmVwbGFjZSgnP3BhZ2UxJywgJz9wYWdlMicpOwotICAgICAgICAgICAgc2V0VGltZW91
dChmdW5jdGlvbigpIHsgd2luZG93LmxvY2F0aW9uLmhyZWYgPSBuZXh0VXJpOyB9LCAwKTsKLSAg
ICAgICAgICAgIGJyZWFrOwotICAgICAgICB9Ci0gICAgICAgIGNhc2UgJ2JhY2tUbzEnOgotICAg
ICAgICAgICAgcGFyZW50LnRlc3RDYXNlcy5wdXNoKAotICAgICAgICAgICAgICAgIHsKLSAgICAg
ICAgICAgICAgICAgICAgJ2Rlc2NyaXB0aW9uJyA6ICdXZW50IGJhY2sgdG8gYSBwYWdlLiBDaGVj
a2luZyBhIGZvcm0gY29udHJvbCB3aGljaCBoYWQgYSBmdWxsIHZhbHVlJywKLSAgICAgICAgICAg
ICAgICAgICAgJ2FjdHVhbCcgOiB0ZXN0SW5wdXQxLnZhbHVlLAotICAgICAgICAgICAgICAgICAg
ICAnZXhwZWN0ZWQnIDogJzEyMDEyLVcxMCcgfSwKLSAgICAgICAgICAgICAgICB7Ci0gICAgICAg
ICAgICAgICAgICAgICdkZXNjcmlwdGlvbicgOiAnV2VudCBiYWNrIHRvIGEgcGFnZS4gQ2hlY2tp
bmcgYSBmb3JtIGNvbnRyb2wgd2hpY2ggaGFkIGEgcGFydGlhbCB2YWx1ZScsCi0gICAgICAgICAg
ICAgICAgICAgICdhY3R1YWwnIDogZmllbGRzVGV4dCh0ZXN0SW5wdXQyKSwKLSAgICAgICAgICAg
ICAgICAgICAgJ2V4cGVjdGVkJyA6ICdXZWVrIDAxLCAtLS0tJwotICAgICAgICAgICAgICAgIH0p
OwotICAgICAgICAgICAgZm9yd2FyZCgnZm9yd2FyZFRvMicpOwotICAgICAgICAgICAgYnJlYWs7
Ci0gICAgICAgIGNhc2UgJ2JhY2tUbzFTZWNvbmQnOgotICAgICAgICAgICAgcGFyZW50LmZpbmlz
aFRlc3QoKTsKLSAgICAgICAgICAgIGJyZWFrOwotICAgICAgICBkZWZhdWx0OgotICAgICAgICAg
ICAgcGFyZW50LmZhaWxlZCgnVW5leHBlY3RlZCBzdGF0ZSgnICsgcGFyZW50LnN0YXRlICsgJykn
KTsKLSAgICAgICAgICAgIGJyZWFrOwotICAgICAgICB9Ci0gICAgICAgIGJyZWFrOwotCi0gICAg
Y2FzZSAnP3BhZ2UyJzoKLSAgICAgICAgc3dpdGNoIChwYXJlbnQuc3RhdGUpIHsKLSAgICAgICAg
Y2FzZSAnZGlyZWN0JzoKLSAgICAgICAgICAgIHRlc3RJbnB1dDEudmFsdWUgPSAnMDAwMS1XMTEn
OwotICAgICAgICAgICAgdGVzdElucHV0Mi5mb2N1cygpOwotICAgICAgICAgICAga2V5RG93bign
XHQnKTsgLy8gICAgICAgIC0+IFdlZWsgd3csIFt5eXl5XQotICAgICAgICAgICAga2V5RG93bign
ZG93bkFycm93Jyk7IC8vIC0+IFdlZWsgd3csIFsxOTk5XQotICAgICAgICAgICAgYmFjaygnYmFj
a1RvMScpOwotICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgIGNhc2UgJ2ZvcndhcmRUbzInOgot
ICAgICAgICAgICAgcGFyZW50LnRlc3RDYXNlcy5wdXNoKAotICAgICAgICAgICAgICAgIHsKLSAg
ICAgICAgICAgICAgICAgICAgJ2Rlc2NyaXB0aW9uJyA6ICdXZW50IGZvcndhcmQgdG8gYSBwYWdl
LiBDaGVja2luZyBhIGZvcm0gY29udHJvbCB3aGljaCBoYWQgYSBmdWxsIHZhbHVlJywKLSAgICAg
ICAgICAgICAgICAgICAgJ2FjdHVhbCcgOiB0ZXN0SW5wdXQxLnZhbHVlLAotICAgICAgICAgICAg
ICAgICAgICAnZXhwZWN0ZWQnIDogJzAwMDEtVzExJwotICAgICAgICAgICAgICAgIH0sCi0gICAg
ICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICAnZGVzY3JpcHRpb24nIDogJ1dlbnQg
Zm9yd2FyZCB0byBhIHBhZ2UuIENoZWNraW5nIGEgZm9ybSBjb250cm9sIHdoaWNoIGhhZCBhIHBh
cnRpYWwgdmFsdWUnLAotICAgICAgICAgICAgICAgICAgICAnYWN0dWFsJyA6IGZpZWxkc1RleHQo
dGVzdElucHV0MiksCi0gICAgICAgICAgICAgICAgICAgICdleHBlY3RlZCcgOiAnV2VlayAtLSwg
MTk5OScKLSAgICAgICAgICAgICAgICB9KTsKLSAgICAgICAgICAgIGJhY2soJ2JhY2tUbzFTZWNv
bmQnKTsKLSAgICAgICAgICAgIGJyZWFrOwotICAgICAgICBkZWZhdWx0OgotICAgICAgICAgICAg
cGFyZW50LmZhaWxlZCgnVW5leHBlY3RlZCBzdGF0ZSgnICsgcGFyZW50LnN0YXRlICsgJyknKTsK
LSAgICAgICAgICAgIGJyZWFrOwotICAgICAgICB9Ci0gICAgICAgIGJyZWFrOwotCi0gICAgZGVm
YXVsdDoKLSAgICAgICAgcGFyZW50LmZhaWxlZCgnVW5leHBlY3RlZCBwYWdlKCcgKyBwYWdlTmFt
ZSArICcpJyk7Ci0gICAgICAgIGJyZWFrOwotICAgIH0KLX07Ci08L3NjcmlwdD4KLTwvYm9keT4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvd2Vlay1tdWx0aXBsZS1maWVsZHMv
d2Vlay1tdWx0aXBsZS1maWVsZHMtYXgtYXJpYS1hdHRyaWJ1dGVzLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2Zhc3QvZm9ybXMvd2Vlay1tdWx0aXBsZS1maWVsZHMvd2Vlay1tdWx0aXBsZS1m
aWVsZHMtYXgtYXJpYS1hdHRyaWJ1dGVzLWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggOWQxOTJjM2E1ZDk4N2I0MmY4OTE0ZjBlMjhhNDFhMDA0MzBiODJmNS4uMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9m
YXN0L2Zvcm1zL3dlZWstbXVsdGlwbGUtZmllbGRzL3dlZWstbXVsdGlwbGUtZmllbGRzLWF4LWFy
aWEtYXR0cmlidXRlcy1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSwxNiArMCwwIEBA
Ci1UaGlzIHRlc3QgY2hlY2tzIGFyaWEtaGVscCBhdHRyaWJ1dGUgb2YgZmllbGRzIGluIG11bHRp
cGxlIGZpZWxkcyB3ZWVrIGlucHV0IFVJLgotCi1PbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBz
ZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCi0K
LQotTm9uLWVtcHR5IHZhbHVlCi1QQVNTIGZvY3VzZWRGaWVsZFZhbHVlRGVzY3JpcHRpb24oKSBp
cyAiQVhIZWxwOiBXZWVrLCBBWFZhbHVlRGVzY3JpcHRpb246IDEwLCAxLCA1MyIKLVBBU1MgZm9j
dXNlZEZpZWxkVmFsdWVEZXNjcmlwdGlvbigpIGlzICJBWEhlbHA6IFllYXIsIEFYVmFsdWVEZXNj
cmlwdGlvbjogMjAxMiwgMSwgMjc1NzYwIgotRW1wdHkgdmFsdWUKLVBBU1MgZm9jdXNlZEZpZWxk
VmFsdWVEZXNjcmlwdGlvbigpIGlzICJBWEhlbHA6IFllYXIsIEFYVmFsdWVEZXNjcmlwdGlvbjog
YmxhbmssIDEsIDI3NTc2MCIKLVBBU1MgZm9jdXNlZEZpZWxkVmFsdWVEZXNjcmlwdGlvbigpIGlz
ICJBWEhlbHA6IFdlZWssIEFYVmFsdWVEZXNjcmlwdGlvbjogYmxhbmssIDEsIDUzIgotCi1QQVNT
IHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCi0KLVRFU1QgQ09NUExFVEUKLQpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy93ZWVrLW11bHRpcGxlLWZpZWxkcy93ZWVrLW11bHRp
cGxlLWZpZWxkcy1heC1hcmlhLWF0dHJpYnV0ZXMuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZm9y
bXMvd2Vlay1tdWx0aXBsZS1maWVsZHMvd2Vlay1tdWx0aXBsZS1maWVsZHMtYXgtYXJpYS1hdHRy
aWJ1dGVzLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGIyNTA2NjVhZGRhYWM5
ZmIwMjdhZjRkYWQ1MDE2ZWQyN2QwNjkwZDUuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy93ZWVrLW11bHRpcGxlLWZp
ZWxkcy93ZWVrLW11bHRpcGxlLWZpZWxkcy1heC1hcmlhLWF0dHJpYnV0ZXMuaHRtbAorKysgL2Rl
di9udWxsCkBAIC0xLDQxICswLDAgQEAKLTwhRE9DVFlQRSBodG1sPgotPGh0bWw+Ci08aGVhZD4K
LTxzY3JpcHQgc3JjPSIuLi8uLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+
PC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keT4KLTxpbnB1dCBpZD0idGVzdCIgdHlwZT0id2VlayIg
dmFsdWU9IjIwMTItVzEwIj4KLTxzY3JpcHQ+Ci1kZXNjcmlwdGlvbignVGhpcyB0ZXN0IGNoZWNr
cyBhcmlhLWhlbHAgYXR0cmlidXRlIG9mIGZpZWxkcyBpbiBtdWx0aXBsZSBmaWVsZHMgd2VlayBp
bnB1dCBVSS4nKTsKLQotZnVuY3Rpb24gZm9jdXNlZEZpZWxkVmFsdWVEZXNjcmlwdGlvbigpCi17
Ci0gICAgdmFyIGVsZW1lbnQgPSBhY2Nlc3NpYmlsaXR5Q29udHJvbGxlci5mb2N1c2VkRWxlbWVu
dDsKLSAgICByZXR1cm4gZWxlbWVudC5oZWxwVGV4dCArICcsICcgKyAgZWxlbWVudC52YWx1ZURl
c2NyaXB0aW9uICsgJywgJyArIGVsZW1lbnQubWluVmFsdWUgKyAnLCAnICsgZWxlbWVudC5tYXhW
YWx1ZTsKLX0KLQotdmFyIHRlc3RJbnB1dCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCd0ZXN0
Jyk7Ci0KLWlmICghd2luZG93LmFjY2Vzc2liaWxpdHlDb250cm9sbGVyIHx8ICF3aW5kb3cuZXZl
bnRTZW5kZXIpCi0gICAgZGVidWcoJ1BsZWFzZSBydW4gaW5zaWRlIERSVCBvciBXVFIuJyk7Ci1l
bHNlIHsKLSAgICBkZWJ1ZygnTm9uLWVtcHR5IHZhbHVlJyk7Ci0gICAgdGVzdElucHV0LmZvY3Vz
KCk7Ci0gICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdmb2N1c2VkRmllbGRWYWx1ZURlc2NyaXB0
aW9uKCknLCAnQVhIZWxwOiBXZWVrLCBBWFZhbHVlRGVzY3JpcHRpb246IDEwLCAxLCA1MycpOwot
ICAgIGV2ZW50U2VuZGVyLmtleURvd24oJ1x0Jyk7Ci0gICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCdmb2N1c2VkRmllbGRWYWx1ZURlc2NyaXB0aW9uKCknLCAnQVhIZWxwOiBZZWFyLCBBWFZhbHVl
RGVzY3JpcHRpb246IDIwMTIsIDEsIDI3NTc2MCcpOwotCi0gICAgZGVidWcoJ0VtcHR5IHZhbHVl
Jyk7Ci0gICAgZXZlbnRTZW5kZXIua2V5RG93bignXGInKTsKLSAgICBzaG91bGRCZUVxdWFsVG9T
dHJpbmcoJ2ZvY3VzZWRGaWVsZFZhbHVlRGVzY3JpcHRpb24oKScsICdBWEhlbHA6IFllYXIsIEFY
VmFsdWVEZXNjcmlwdGlvbjogYmxhbmssIDEsIDI3NTc2MCcpOwotICAgIGV2ZW50U2VuZGVyLmtl
eURvd24oJ1x0JywgWydzaGlmdEtleSddKTsKLSAgICBldmVudFNlbmRlci5rZXlEb3duKCdcYicp
OwotICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygnZm9jdXNlZEZpZWxkVmFsdWVEZXNjcmlwdGlv
bigpJywgJ0FYSGVscDogV2VlaywgQVhWYWx1ZURlc2NyaXB0aW9uOiBibGFuaywgMSwgNTMnKTsK
LQotICAgIGRlYnVnKCcnKTsKLSAgICB0ZXN0SW5wdXQucmVtb3ZlKCk7Ci19Ci08L3NjcmlwdD4K
LTxzY3JpcHQgc3JjPSIuLi8uLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMi
Pjwvc2NyaXB0PgotPC9ib2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFz
dC9mb3Jtcy93ZWVrLW11bHRpcGxlLWZpZWxkcy93ZWVrLW11bHRpcGxlLWZpZWxkcy1heC12YWx1
ZS1jaGFuZ2VkLW5vdGlmaWNhdGlvbi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2Zv
cm1zL3dlZWstbXVsdGlwbGUtZmllbGRzL3dlZWstbXVsdGlwbGUtZmllbGRzLWF4LXZhbHVlLWNo
YW5nZWQtbm90aWZpY2F0aW9uLWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggM2I3YThhOWQ5ZmRkZmRlMzUyMTBhZDYwN2RiNTdkYWU1ZDllMWQxOS4uMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2Zv
cm1zL3dlZWstbXVsdGlwbGUtZmllbGRzL3dlZWstbXVsdGlwbGUtZmllbGRzLWF4LXZhbHVlLWNo
YW5nZWQtbm90aWZpY2F0aW9uLWV4cGVjdGVkLnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDE2ICsw
LDAgQEAKLVRoaXMgdGVzdCBjaGVja3MgdmFsdWUgY2hhbmdlZCBhY2Nlc3NpYmlsaXR5IG5vdGlm
aWNhdGlvbnMuCi0KLU9uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIg
bWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KLQotCi1Gb2N1c2VkVUlFbGVt
ZW50Q2hhbmdlZCBBWEhlbHA6IFdlZWs9QVhWYWx1ZURlc2NyaXB0aW9uOiAxMAotRm9jdXNlZFVJ
RWxlbWVudENoYW5nZWQgQVhIZWxwOiBZZWFyPUFYVmFsdWVEZXNjcmlwdGlvbjogMjAxMgotVmFs
dWVDaGFuZ2VkIEFYSGVscDogWWVhcj1BWFZhbHVlRGVzY3JpcHRpb246IDAwMDUKLVZhbHVlQ2hh
bmdlZCBBWEhlbHA6IFllYXI9QVhWYWx1ZURlc2NyaXB0aW9uOiAwMDA1Ci1WYWx1ZUNoYW5nZWQg
QVhIZWxwOiBZZWFyPUFYVmFsdWVEZXNjcmlwdGlvbjogMDAwNQotVmFsdWVDaGFuZ2VkIEFYSGVs
cDogWWVhcj1BWFZhbHVlRGVzY3JpcHRpb246IDAwMDUKLQotUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQotCi1URVNUIENPTVBMRVRFCi0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zh
c3QvZm9ybXMvd2Vlay1tdWx0aXBsZS1maWVsZHMvd2Vlay1tdWx0aXBsZS1maWVsZHMtYXgtdmFs
dWUtY2hhbmdlZC1ub3RpZmljYXRpb24uaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvd2Vl
ay1tdWx0aXBsZS1maWVsZHMvd2Vlay1tdWx0aXBsZS1maWVsZHMtYXgtdmFsdWUtY2hhbmdlZC1u
b3RpZmljYXRpb24uaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMjA5Yzg4MDRh
OGVlYjZlZjRhMmVmOTYwYTM3ZDcyNWY4YjliNjhjMS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3dlZWstbXVsdGlw
bGUtZmllbGRzL3dlZWstbXVsdGlwbGUtZmllbGRzLWF4LXZhbHVlLWNoYW5nZWQtbm90aWZpY2F0
aW9uLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSwzOCArMCwwIEBACi08IURPQ1RZUEUgaHRtbD4K
LTxodG1sPgotPGhlYWQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMv
anMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHk+Ci08aW5wdXQgaWQ9InRl
c3QiIHR5cGU9IndlZWsiIHZhbHVlPSIyMDEyLVcxMCI+Ci08c2NyaXB0PgotZGVzY3JpcHRpb24o
J1RoaXMgdGVzdCBjaGVja3MgdmFsdWUgY2hhbmdlZCBhY2Nlc3NpYmlsaXR5IG5vdGlmaWNhdGlv
bnMuJyk7Ci0KLXZhciB0ZXN0SW5wdXQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgidGVzdCIp
OwotCi1pZiAoIXdpbmRvdy5hY2Nlc3NpYmlsaXR5Q29udHJvbGxlciB8fCAhd2luZG93LmV2ZW50
U2VuZGVyKQotICAgIGRlYnVnKCJQbGVhc2UgcnVuIGluc2lkZSBEUlQgb3IgV1JULiIpOwotZWxz
ZSB7Ci0gICAgYWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIuYWRkTm90aWZpY2F0aW9uTGlzdGVuZXIo
ZnVuY3Rpb24gKGVsZW1lbnQsIG5vdGlmaWNhdGlvbikgewotICAgICAgICBpZiAobm90aWZpY2F0
aW9uID09ICdGb2N1c2VkVUlFbGVtZW50Q2hhbmdlZCcgfHwgbm90aWZpY2F0aW9uID09ICdWYWx1
ZUNoYW5nZWQnKSB7Ci0gICAgICAgICAgICBkZWJ1Zyhub3RpZmljYXRpb24gKyAnICcgKyBlbGVt
ZW50LmhlbHBUZXh0ICsgJz0nICsgZWxlbWVudC52YWx1ZURlc2NyaXB0aW9uKTsKLSAgICAgICAg
fQotICAgIH0pOwotCi0gICAgdGVzdElucHV0LmZvY3VzKCk7Ci0gICAgZXZlbnRTZW5kZXIua2V5
RG93bignXHQnKTsKLSAgICBldmVudFNlbmRlci5rZXlEb3duKCc0Jyk7Ci0gICAgZXZlbnRTZW5k
ZXIua2V5RG93bigndXBBcnJvdycpOwotCi0gICAgd2luZG93LmpzVGVzdElzQXN5bmMgPSB0cnVl
OwotCi0gICAgd2luZG93LnNldFRpbWVvdXQoZnVuY3Rpb24oKSB7Ci0gICAgICAgIGRlYnVnKCcn
KTsKLSAgICAgICAgdGVzdElucHV0LnJlbW92ZSgpOwotICAgICAgICBmaW5pc2hKU1Rlc3QoKTsK
LSAgICB9LCAxKTsKLX0KLTwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii4uLy4uLy4uL2Zhc3QvanMv
cmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Ci08L2JvZHk+Ci08L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3dlZWstbXVsdGlwbGUtZmllbGRzL3dl
ZWstbXVsdGlwbGUtZmllbGRzLWJsdXItYW5kLWZvY3VzLWV2ZW50cy1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3dlZWstbXVsdGlwbGUtZmllbGRzL3dlZWstbXVsdGlwbGUt
ZmllbGRzLWJsdXItYW5kLWZvY3VzLWV2ZW50cy1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IGE2OGNhMDQzMWE1Y2U2MzBmOGZhYWIzMzYxNGYyZTVkM2RlNDYzZmMu
LjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVz
dHMvZmFzdC9mb3Jtcy93ZWVrLW11bHRpcGxlLWZpZWxkcy93ZWVrLW11bHRpcGxlLWZpZWxkcy1i
bHVyLWFuZC1mb2N1cy1ldmVudHMtZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEsMTcg
KzAsMCBAQAotQ2hlY2sgYmx1ciBhbmQgZm9jdXMgZXZlbnRzIGZvciBtdWx0aXBsZSBmaWVsZHMg
d2VlayBpbnB1dCBVSQotCi1PbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBB
U1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCi0KLQotZm9jdXMoKSBh
bmQgYmx1cigpCi1QQVNTIHRlc3RJbnB1dC5mb2N1cygpOyBzdGF0ZSgpIGlzICJibHVyPTAgZm9j
dXM9MSIKLVBBU1MgdGVzdElucHV0LmJsdXIoKTsgc3RhdGUoKSBpcyAiYmx1cj0xIGZvY3VzPTEi
Ci1mb2N1cyBhbmQgVGFiIGtleSB0byBibHVyCi1QQVNTIGtleURvd24oIgkiKTsgc3RhdGUoKSBp
cyAiYmx1cj0wIGZvY3VzPTEiCi1QQVNTIGtleURvd24oIgkiKTsgc3RhdGUoKSBpcyAiYmx1cj0w
IGZvY3VzPTEiCi1QQVNTIGtleURvd24oIgkiKTsgc3RhdGUoKSBpcyAiYmx1cj0xIGZvY3VzPTEi
Ci0KLVBBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKLQotVEVTVCBDT01QTEVURQotCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3dlZWstbXVsdGlwbGUtZmllbGRzL3dl
ZWstbXVsdGlwbGUtZmllbGRzLWJsdXItYW5kLWZvY3VzLWV2ZW50cy5odG1sIGIvTGF5b3V0VGVz
dHMvZmFzdC9mb3Jtcy93ZWVrLW11bHRpcGxlLWZpZWxkcy93ZWVrLW11bHRpcGxlLWZpZWxkcy1i
bHVyLWFuZC1mb2N1cy1ldmVudHMuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
ZDhjNmRjZTJjZGQyMDc1NGQzMjEwZjFhZDFmNDI1MTU1ZjdmY2NlMy4uMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3dl
ZWstbXVsdGlwbGUtZmllbGRzL3dlZWstbXVsdGlwbGUtZmllbGRzLWJsdXItYW5kLWZvY3VzLWV2
ZW50cy5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsMTIgKzAsMCBAQAotPCFET0NUWVBFIGh0bWw+
Ci08aHRtbD4KLTxib2R5PgotPHNjcmlwdCBzcmM9Ii4uLy4uL2pzL3Jlc291cmNlcy9qcy10ZXN0
LXByZS5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL211bHRpcGxlLWZp
ZWxkcy1ibHVyLWFuZC1mb2N1cy1ldmVudHMuanMiPjwvc2NyaXB0PgotPGRpdiBpZD0iY29udGFp
bmVyIj48L2Rpdj4KLTxzY3JpcHQ+Ci1zdGFydFRlc3RGb3IoJ3dlZWsnKTsKLTwvc2NyaXB0Pgot
PHNjcmlwdCBzcmM9Ii4uLy4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0
PgotPC9ib2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy93
ZWVrLW11bHRpcGxlLWZpZWxkcy93ZWVrLW11bHRpcGxlLWZpZWxkcy1jaGFuZ2UtbGF5b3V0LWJ5
LXZhbHVlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvd2Vlay1tdWx0aXBs
ZS1maWVsZHMvd2Vlay1tdWx0aXBsZS1maWVsZHMtY2hhbmdlLWxheW91dC1ieS12YWx1ZS1leHBl
Y3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGYxNDcwNjg3OWFlMmFmOGQw
YjNhNDEyMzQ4Y2JjZGJjNjdkM2ViOTguLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy93ZWVrLW11bHRpcGxlLWZpZWxk
cy93ZWVrLW11bHRpcGxlLWZpZWxkcy1jaGFuZ2UtbGF5b3V0LWJ5LXZhbHVlLWV4cGVjdGVkLnR4
dAorKysgL2Rldi9udWxsCkBAIC0xLDExICswLDAgQEAKLUNoYW5nZSBtdWx0aXBsZSBmaWVsZHMg
d2VlayBpbnB1dCBVSSBsYXlvdXQgYnkgdmFsdWUKLQotT24gc3VjY2VzcywgeW91IHdpbGwgc2Vl
IGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUi
LgotCi0KLVBBU1Mgd2lkdGhPZkVtcHR5VmFsdWUgPCB3aWR0aE9mT3ZlcmZsb3dWYWx1ZSBpcyB0
cnVlCi1QQVNTIHdpZHRoT2ZFbXB0eVZhbHVlIGlzIHdpZHRoT2ZWYWxpZFZhbHVlCi1QQVNTIHN1
Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCi0KLVRFU1QgQ09NUExFVEUKLQpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy93ZWVrLW11bHRpcGxlLWZpZWxkcy93ZWVrLW11bHRpcGxl
LWZpZWxkcy1jaGFuZ2UtbGF5b3V0LWJ5LXZhbHVlLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2Zv
cm1zL3dlZWstbXVsdGlwbGUtZmllbGRzL3dlZWstbXVsdGlwbGUtZmllbGRzLWNoYW5nZS1sYXlv
dXQtYnktdmFsdWUuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMzhkOTM4Y2M0
MjY4NDRjNmQ1YmU5ZjdjZTBkYjgzOGYwY2JkZWY0Ny4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3dlZWstbXVsdGlw
bGUtZmllbGRzL3dlZWstbXVsdGlwbGUtZmllbGRzLWNoYW5nZS1sYXlvdXQtYnktdmFsdWUuaHRt
bAorKysgL2Rldi9udWxsCkBAIC0xLDI1ICswLDAgQEAKLTwhRE9DVFlQRSBodG1sPgotPGh0bWw+
Ci08Ym9keT4KLTxzY3JpcHQgc3JjPSIuLi8uLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMi
Pjwvc2NyaXB0PgotPHNjcmlwdD4KLWRlc2NyaXB0aW9uKCdDaGFuZ2UgbXVsdGlwbGUgZmllbGRz
IHdlZWsgaW5wdXQgVUkgbGF5b3V0IGJ5IHZhbHVlJyk7Ci12YXIgdGVzdElucHV0ID0gZG9jdW1l
bnQuY3JlYXRlRWxlbWVudCgnaW5wdXQnKTsKLXRlc3RJbnB1dC50eXBlID0gJ3dlZWsnOwotdGVz
dElucHV0Lm1heCA9ICc5OTk5LVc1Mic7Ci1kb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHRlc3RJ
bnB1dCk7Ci12YXIgd2lkdGhPZkVtcHR5VmFsdWUgPSB0ZXN0SW5wdXQub2Zmc2V0V2lkdGg7Ci0K
LXRlc3RJbnB1dC52YWx1ZSA9ICcxMDAwMC1XMDEnOwotdmFyIHdpZHRoT2ZPdmVyZmxvd1ZhbHVl
ID0gdGVzdElucHV0Lm9mZnNldFdpZHRoOwotc2hvdWxkQmVUcnVlKCd3aWR0aE9mRW1wdHlWYWx1
ZSA8IHdpZHRoT2ZPdmVyZmxvd1ZhbHVlJyk7Ci0KLXRlc3RJbnB1dC52YWx1ZSA9ICcyMDEyLVcx
MCc7Ci12YXIgd2lkdGhPZlZhbGlkVmFsdWUgPSB0ZXN0SW5wdXQub2Zmc2V0V2lkdGg7Ci1zaG91
bGRCZSgnd2lkdGhPZkVtcHR5VmFsdWUnLCAnd2lkdGhPZlZhbGlkVmFsdWUnKTsKLQotdGVzdElu
cHV0LnJlbW92ZSgpOwotPC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vanMvcmVzb3VyY2Vz
L2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Ci08L2JvZHk+Ci08L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3dlZWstbXVsdGlwbGUtZmllbGRzL3dlZWstbXVsdGlw
bGUtZmllbGRzLWNsZWFyYnV0dG9uLWNoYW5nZS1hbmQtaW5wdXQtZXZlbnRzLWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvd2Vlay1tdWx0aXBsZS1maWVsZHMvd2Vlay1tdWx0
aXBsZS1maWVsZHMtY2xlYXJidXR0b24tY2hhbmdlLWFuZC1pbnB1dC1ldmVudHMtZXhwZWN0ZWQu
dHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAxNTJmMTJjYWUxZGI3YmNhYTdlYTI0
ZTVmOTc0NWFhNmRhM2NjOThiLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwCi0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvd2Vlay1tdWx0aXBsZS1maWVsZHMvd2Vl
ay1tdWx0aXBsZS1maWVsZHMtY2xlYXJidXR0b24tY2hhbmdlLWFuZC1pbnB1dC1ldmVudHMtZXhw
ZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEsMTkgKzAsMCBAQAotVGVzdCBmb3IgZXZlbnQg
ZGlzcGF0Y2hpbmcgYnkgc3BpbiBidXR0b25zIGluIGEgdHlwZT13ZWVrIGlucHV0LgotCi1PbiBz
dWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dl
ZCBieSAiVEVTVCBDT01QTEVURSIuCi0KLQotSW5pdGlhbCBzdGF0ZQotUEFTUyBjaGFuZ2VFdmVu
dENvdW50ZXIgaXMgMAotUEFTUyBpbnB1dEV2ZW50Q291bnRlciBpcyAwCi1DbGljayB0aGUgY2xl
YXIgYnV0dG9uCi1QQVNTIHRlc3RJbnB1dC52YWx1ZSBpcyAiIgotUEFTUyBjaGFuZ2VFdmVudENv
dW50ZXIgaXMgMQotUEFTUyBpbnB1dEV2ZW50Q291bnRlciBpcyAxCi1Gb2N1cyBvbiBhbm90aGVy
IGZpZWxkCi1QQVNTIGNoYW5nZUV2ZW50Q291bnRlciBpcyAxCi1QQVNTIGlucHV0RXZlbnRDb3Vu
dGVyIGlzIDEKLVBBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKLQotVEVTVCBDT01QTEVU
RQotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3dlZWstbXVsdGlwbGUtZmll
bGRzL3dlZWstbXVsdGlwbGUtZmllbGRzLWNsZWFyYnV0dG9uLWNoYW5nZS1hbmQtaW5wdXQtZXZl
bnRzLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3dlZWstbXVsdGlwbGUtZmllbGRzL3dl
ZWstbXVsdGlwbGUtZmllbGRzLWNsZWFyYnV0dG9uLWNoYW5nZS1hbmQtaW5wdXQtZXZlbnRzLmh0
bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGQ2YjQxZTUxNzIzMjg5ZjhhZmYwYWFh
YmQ0MTJmNGEyYjcxNTBiZmQuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy93ZWVrLW11bHRpcGxlLWZpZWxkcy93ZWVr
LW11bHRpcGxlLWZpZWxkcy1jbGVhcmJ1dHRvbi1jaGFuZ2UtYW5kLWlucHV0LWV2ZW50cy5odG1s
CisrKyAvZGV2L251bGwKQEAgLTEsMTQgKzAsMCBAQAotPCFET0NUWVBFIGh0bWw+Ci08aHRtbD4K
LTxoZWFkPgotPHNjcmlwdCBzcmM9Ii4uLy4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3Qt
cHJlLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvY29tbW9uLmpzIj48
L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvY29tbW9uLWNsZWFyYnV0dG9uLWNo
YW5nZS1hbmQtaW5wdXQtZXZlbnRzLmpzIj48L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5PgotPHNj
cmlwdD4KLXRlc3RDbGVhckJ1dHRvbkNoYW5nZUFuZElucHV0RXZlbnRzKCd3ZWVrJywgJzIwMTIt
VzEwJyk7Ci08L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIuLi8uLi8uLi9mYXN0L2pzL3Jlc291cmNl
cy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgotPC9ib2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy93ZWVrLW11bHRpcGxlLWZpZWxkcy93ZWVrLW11bHRp
cGxlLWZpZWxkcy1jbGVhcmJ1dHRvbi12aXNpYmlsaXR5LWFmdGVyLXJlc3RvcmUtZXhwZWN0ZWQu
aHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvd2Vlay1tdWx0aXBsZS1maWVsZHMvd2Vlay1t
dWx0aXBsZS1maWVsZHMtY2xlYXJidXR0b24tdmlzaWJpbGl0eS1hZnRlci1yZXN0b3JlLWV4cGVj
dGVkLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDZmMDhmMWM1NmM1NDE4MGM4
NjIwNmQyZjNlNzk2ZDU5OTUxZTFmMGYuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy93ZWVrLW11bHRpcGxlLWZpZWxk
cy93ZWVrLW11bHRpcGxlLWZpZWxkcy1jbGVhcmJ1dHRvbi12aXNpYmlsaXR5LWFmdGVyLXJlc3Rv
cmUtZXhwZWN0ZWQuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDEwICswLDAgQEAKLTwhRE9DVFlQ
RSBodG1sPgotPGh0bWw+Ci08Ym9keT4KLTxpbnB1dCBpZD0iZW1wdHlPbkZpcnN0VmlzaXQiIHZh
bHVlPSJ2aXNpdGVkIj4KLTxmb3JtIGFjdGlvbj0iZGF0YTp0ZXh0L2h0bWwsJmx0O3NjcmlwdD5o
aXN0b3J5LmJhY2soKSZsdDsvc2NyaXB0PiIgaWQ9Zm9ybTE+Ci0gICAgPGlucHV0IHR5cGU9d2Vl
ayBpZD1pbnB1dDE+Ci0gICAgPGlucHV0IHR5cGU9d2VlayBpZD1pbnB1dDIgdmFsdWU9IjIwMDEt
VzAyIj4KLSAgICA8aW5wdXQgdHlwZT13ZWVrIGlkPWlucHV0MyB2YWx1ZT0iMjAwMi1XMDMiPgot
PC9mb3JtPgotPC9ib2R5PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy93ZWVr
LW11bHRpcGxlLWZpZWxkcy93ZWVrLW11bHRpcGxlLWZpZWxkcy1jbGVhcmJ1dHRvbi12aXNpYmls
aXR5LWFmdGVyLXJlc3RvcmUuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvd2Vlay1tdWx0
aXBsZS1maWVsZHMvd2Vlay1tdWx0aXBsZS1maWVsZHMtY2xlYXJidXR0b24tdmlzaWJpbGl0eS1h
ZnRlci1yZXN0b3JlLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGIxNDdjOWE0
YzEyZmFjZjU5OTlhMDc5ZWU1MjExZWE4MjkzMzczNDMuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy93ZWVrLW11bHRp
cGxlLWZpZWxkcy93ZWVrLW11bHRpcGxlLWZpZWxkcy1jbGVhcmJ1dHRvbi12aXNpYmlsaXR5LWFm
dGVyLXJlc3RvcmUuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDMyICswLDAgQEAKLTwhRE9DVFlQ
RSBodG1sPgotPGh0bWw+Ci08Ym9keT4KLTxpbnB1dCBpZD0iZW1wdHlPbkZpcnN0VmlzaXQiPgot
PGZvcm0gYWN0aW9uPSJkYXRhOnRleHQvaHRtbCwmbHQ7c2NyaXB0Pmhpc3RvcnkuYmFjaygpJmx0
Oy9zY3JpcHQ+IiBpZD1mb3JtMT4KLSAgICA8aW5wdXQgdHlwZT13ZWVrIGlkPWlucHV0MT4KLSAg
ICA8aW5wdXQgdHlwZT13ZWVrIGlkPWlucHV0Mj4KLSAgICA8aW5wdXQgdHlwZT13ZWVrIGlkPWlu
cHV0MyB2YWx1ZT0iMjAxMi1XMDEiPgotPC9mb3JtPgotCi08c2NyaXB0PgotLy8gUmVzdG9yaW5n
IHRoZSBmb3JtIHNob3VsZCB1cGRhdGUgdGhlIGNsZWFyIGJ1dHRvbiB2aXNpYmlsaXR5LgotdGVz
dFJ1bm5lci53YWl0VW50aWxEb25lKCk7Ci1mdW5jdGlvbiBydW5UZXN0KCkKLXsKLSAgICB2YXIg
c3RhdGUgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZW1wdHlPbkZpcnN0VmlzaXQnKTsKLSAg
ICBpZiAoIXN0YXRlLnZhbHVlKSB7Ci0gICAgICAgIC8vIEZpcnN0IHZpc2l0LgotICAgICAgICBz
ZXRUaW1lb3V0KGZ1bmN0aW9uKCkgewotICAgICAgICAgICAgc3RhdGUudmFsdWUgPSAndmlzaXRl
ZCc7Ci0gICAgICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnaW5wdXQyJykudmFsdWUg
PSAiMjAwMS1XMDIiOwotICAgICAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2lucHV0
MycpLnZhbHVlID0gIjIwMDItVzAzIjsKLSAgICAgICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCdmb3JtMScpLnN1Ym1pdCgpOwotICAgICAgICB9LCAwKTsKLSAgICB9IGVsc2UgewotICAg
ICAgICB0ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsKLSAgICB9Ci19Ci0KLXdpbmRvdy5vbmxvYWQg
PSBydW5UZXN0OwotPC9zY3JpcHQ+Ci08L2JvZHk+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9m
YXN0L2Zvcm1zL3dlZWstbXVsdGlwbGUtZmllbGRzL3dlZWstbXVsdGlwbGUtZmllbGRzLWZhbGxi
YWNrLWZvcm1hdC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3dlZWstbXVs
dGlwbGUtZmllbGRzL3dlZWstbXVsdGlwbGUtZmllbGRzLWZhbGxiYWNrLWZvcm1hdC1leHBlY3Rl
ZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDdiMmNjYThlZDZhZWU2NWQwYjQz
NTJiOTBhN2Q5MzExODNhMTcyMWYuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy93ZWVrLW11bHRpcGxlLWZpZWxkcy93
ZWVrLW11bHRpcGxlLWZpZWxkcy1mYWxsYmFjay1mb3JtYXQtZXhwZWN0ZWQudHh0CisrKyAvZGV2
L251bGwKQEAgLTEsMTQgKzAsMCBAQAotQ2hlY2tzIGluY29tcGxldGUgZGF0ZXRpbWUgZm9ybWF0
cyBhcmUgcmVqZWN0ZWQuCi0KLU9uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAi
UEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KLQotCi1WYWxpZCBm
b3JtYXQKLVBBU1MgZ2V0VXNlckFnZW50U2hhZG93VGV4dENvbnRlbnQoaW5wdXQpIGlzICJXZWVr
MDkgMTk5OSIKLUludmFsaWQgZm9ybWF0LCBmYWxsYmFjayB0byB5eXl5LSdXJ3d3Ci1QQVNTIGdl
dFVzZXJBZ2VudFNoYWRvd1RleHRDb250ZW50KGlucHV0KSBpcyAiMTk5OS1XMDkiCi1QQVNTIGdl
dFVzZXJBZ2VudFNoYWRvd1RleHRDb250ZW50KGlucHV0KSBpcyAiMTk5OS1XMDkiCi1QQVNTIHN1
Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCi0KLVRFU1QgQ09NUExFVEUKLQpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy93ZWVrLW11bHRpcGxlLWZpZWxkcy93ZWVrLW11bHRpcGxl
LWZpZWxkcy1mYWxsYmFjay1mb3JtYXQuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvd2Vl
ay1tdWx0aXBsZS1maWVsZHMvd2Vlay1tdWx0aXBsZS1maWVsZHMtZmFsbGJhY2stZm9ybWF0Lmh0
bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDI1ZjQ5MmJiZGI5MWUyNTRiZjBhNTNi
ZWQwY2FmMTA1ZmY3ZmJhMDcuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy93ZWVrLW11bHRpcGxlLWZpZWxkcy93ZWVr
LW11bHRpcGxlLWZpZWxkcy1mYWxsYmFjay1mb3JtYXQuaHRtbAorKysgL2Rldi9udWxsCkBAIC0x
LDM3ICswLDAgQEAKLTwhRE9DVFlQRSBodG1sPgotPGh0bWw+Ci08aGVhZD4KLTxzY3JpcHQgc3Jj
PSIuLi8uLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBz
cmM9Ii4uL3Jlc291cmNlcy9jb21tb24uanMiPjwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHk+Ci08
c2NyaXB0PgotZGVzY3JpcHRpb24oJ0NoZWNrcyBpbmNvbXBsZXRlIGRhdGV0aW1lIGZvcm1hdHMg
YXJlIHJlamVjdGVkLicpOwotCi12YXIgaW5wdXQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdp
bnB1dCcpOwotaW5wdXQudHlwZSA9ICd3ZWVrJzsKLWRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQo
aW5wdXQpOwotCi1mdW5jdGlvbiBzZXREYXRlVGltZUZvcm1hdChwYXR0ZXJuKSB7Ci0gICAgdmFy
IHZhbHVlID0gaW5wdXQudmFsdWU7Ci0gICAgZ2V0RWxlbWVudEJ5UHNldWRvSWQoaW50ZXJuYWxz
LnlvdW5nZXN0U2hhZG93Um9vdChpbnB1dCksICctd2Via2l0LWRhdGV0aW1lLWVkaXQnKS5zZXRB
dHRyaWJ1dGUoJ3BhdHRlcm4nLCBwYXR0ZXJuKTsKLSAgICBpbnB1dC52YWx1ZSA9ICcnOyAvLyBV
cGRhdGVzIHRoZSBlbGVtZW50IGZvciBuZXcgZm9ybWF0Ci0gICAgaW5wdXQudmFsdWUgPSB2YWx1
ZTsKLX0KLQotaW5wdXQudmFsdWUgPSAnMTk5OS1XMDknOwotCi1kZWJ1ZygnVmFsaWQgZm9ybWF0
Jyk7Ci1zZXREYXRlVGltZUZvcm1hdCgiJ1dlZWsnd3cgeXl5eSIpOwotc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCdnZXRVc2VyQWdlbnRTaGFkb3dUZXh0Q29udGVudChpbnB1dCknLCAnV2VlazA5IDE5
OTknKTsKLQotZGVidWcoIkludmFsaWQgZm9ybWF0LCBmYWxsYmFjayB0byB5eXl5LSdXJ3d3Iik7
Ci1zZXREYXRlVGltZUZvcm1hdCgnd3cnKTsKLXNob3VsZEJlRXF1YWxUb1N0cmluZygnZ2V0VXNl
ckFnZW50U2hhZG93VGV4dENvbnRlbnQoaW5wdXQpJywgJzE5OTktVzA5Jyk7Ci1zZXREYXRlVGlt
ZUZvcm1hdCgneXl5eScpOwotc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdnZXRVc2VyQWdlbnRTaGFk
b3dUZXh0Q29udGVudChpbnB1dCknLCAnMTk5OS1XMDknKTsKLQotPC9zY3JpcHQ+Ci08c2NyaXB0
IHNyYz0iLi4vLi4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Ci08L2Jv
ZHk+Ci08L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3dlZWstbXVs
dGlwbGUtZmllbGRzL3dlZWstbXVsdGlwbGUtZmllbGRzLWtleWJvYXJkLWV2ZW50cy1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3dlZWstbXVsdGlwbGUtZmllbGRzL3dlZWst
bXVsdGlwbGUtZmllbGRzLWtleWJvYXJkLWV2ZW50cy1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDgyODdjYjVmZDAzZTQ1NTNmNDZhMzg5ZTBiMDFmNDg0ZGY1NzJk
N2IuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0
VGVzdHMvZmFzdC9mb3Jtcy93ZWVrLW11bHRpcGxlLWZpZWxkcy93ZWVrLW11bHRpcGxlLWZpZWxk
cy1rZXlib2FyZC1ldmVudHMtZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEsNjYgKzAs
MCBAQAotTXVsdGlwbGUgZmllbGRzIFVJIG9mIHdlZWsgaW5wdXQgdHlwZSB3aXRoIGtleWJvYXJk
IGV2ZW50cwotCi1PbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1l
c3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCi0KLQotUGxlYXNlIHJ1biB0aGlz
IHdpdGggRHVtcFJlbmRlclRyZWUuCi0KLVRlc3QgZm9sbG93aW5nIGtleXM6Ci1EaWdpdHMKLUxl
ZnQvUmlnaHQgLSBNb3ZlIGZvY3VzIGZpZWxkIGluc2lkZSBlbGVtZW50Ci1VcC9Eb3duIC0gSW5j
cmVtZW50L2RlY3JlbWVudCB2YWx1ZSBvZiBmb2N1cyBmaWVsZAotVGFiIC0gTW92ZSBmb2N1cyBm
aWVsZAotQmFja3NwYWNlIC0gTWFrZSB2YWx1ZSBlbXB0eQotICAKLT09IERpZ2l0IGtleXMgPT0K
LVBBU1MgaW5wdXQudmFsdWUgaXMgIjAwMTItVzA5IgotPT0gRGlnaXQga2V5cyBzdGFydGluZyB3
aXRoIHplcm8gPT0KLVBBU1MgaW5wdXQudmFsdWUgaXMgIjAzMDAtVzAyIgotPT0gRGlnaXQga2V5
cyBhbmQgYmFja3NwYWNlIGtleSA9PQotUEFTUyBpbnB1dC52YWx1ZSBpcyAiMDAwNi1XMDEiCi09
PSBMZWZ0L1JpZ2h0IGtleXMgPT0KLVBBU1MgaW5wdXQudmFsdWUgaXMgIjAwMDUtVzA2IgotUEFT
UyBkb2N1bWVudC5hY3RpdmVFbGVtZW50LmlkIGlzICJpbnB1dCIKLT09IFVwL0Rvd24ga2V5cyA9
PQotUEFTUyBpbnB1dC52YWx1ZSBpcyAiMjAxMi1XMTAiCi1QQVNTIGlucHV0LnZhbHVlIGlzICIy
MDEyLVcwOCIKLT09IFVwL0Rvd24ga2V5cyBvbiBlbXB0eSB2YWx1ZSA9PQotUEFTUyBpbnB1dC52
YWx1ZSBpcyBjdXJyZW50WWVhciArICItVzUyIgotPT0gVXAvRG93biBrZXlzIG9uIGVtcHR5IHZh
bHVlIDIgPT0KLVBBU1MgaW5wdXQudmFsdWUgaXMgY3VycmVudFllYXIgKyAiLVcwMiIKLT09IFRh
YiBrZXkgPT0KLVBBU1MgaW5wdXQudmFsdWUgaXMgIjAwMDUtVzA5IgotUEFTUyBpbnB1dC52YWx1
ZSBpcyAiMDAwNS1XMDciCi1QQVNTIGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQuaWQgaXMgImFmdGVy
IgotPT0gU2hmaXQrVGFiIGtleSA9PQotUEFTUyBpbnB1dC52YWx1ZSBpcyAiMDAwMy1XMDkiCi1Q
QVNTIGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQuaWQgaXMgImJlZm9yZSIKLT09IFVwIGtleSBvbiBt
YXhpbXVtIHZhbHVlID09Ci1QQVNTIGlucHV0LnZhbHVlIGlzICIwMDAxLVcxMCIKLT09IFVwIGtl
eSB3aXRoIGEgbWF4aW11bSBhdHRyaWJ1dGUgPT0KLVBBU1MgaW5wdXQudmFsdWUgaXMgIjEwMDAt
VzEzIgotPT0gRG93biBrZXkgb24gbWluaW11bSB2YWx1ZSA9PQotUEFTUyBpbnB1dC52YWx1ZSBp
cyAiIgotPT0gRG93biBrZXkgd2l0aCBhIG1pbmltdW0gYXR0cmlidXRlID09Ci1QQVNTIGlucHV0
LnZhbHVlIGlzICIiCi09PSBJbmNvbnNpc3RlbnQgbWluLW1heCBhdHRyaWJ1dGVzID09Ci1QQVNT
IGlucHV0LnZhbHVlIGlzICIxMDAwLVcxMyIKLVBBU1MgaW5wdXQudmFsdWUgaXMgIjE5OTktVzEz
IgotPT0gTWFrZSBhbiBpbnZhbGlkIGRhdGUgPT0KLVBBU1MgaW5wdXQudmFsdWUgaXMgIiIKLT09
IEJhY2tzcGFjZSBrZXkgPT0KLVBBU1MgaW5wdXQudmFsdWUgaXMgIiIKLT09IERlbGV0ZSBrZXkg
PT0KLVBBU1MgaW5wdXQudmFsdWUgaXMgIiIKLT09IFR5cGVhaGVhZCA9PQotUEFTUyBpbnB1dC52
YWx1ZSBpcyAiMDAwMS1XMTIiCi1QQVNTIGlucHV0LnZhbHVlIGlzICIwMDAyLVcxMiIKLT09IERp
c2FibGVkL3JlYWRvbmx5ID09Ci1QQVNTIGlucHV0LnZhbHVlIGlzICIyMDEyLVcxMCIKLVBBU1Mg
aW5wdXQudmFsdWUgaXMgIjIwMTItVzExIgotUEFTUyBpbnB1dC52YWx1ZSBpcyAiMjAxMi1XMTEi
Ci1QQVNTIGlucHV0LnZhbHVlIGlzICIyMDEyLVcxMiIKLVBBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2Vk
IGlzIHRydWUKLQotVEVTVCBDT01QTEVURQotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0
L2Zvcm1zL3dlZWstbXVsdGlwbGUtZmllbGRzL3dlZWstbXVsdGlwbGUtZmllbGRzLWtleWJvYXJk
LWV2ZW50cy5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy93ZWVrLW11bHRpcGxlLWZpZWxk
cy93ZWVrLW11bHRpcGxlLWZpZWxkcy1rZXlib2FyZC1ldmVudHMuaHRtbApkZWxldGVkIGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggNWJiYzk4MzNjNmRlZDBmZmNlNTQ2ZTc1NGI1YjBkNWVmZGFjMDM0
MC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRU
ZXN0cy9mYXN0L2Zvcm1zL3dlZWstbXVsdGlwbGUtZmllbGRzL3dlZWstbXVsdGlwbGUtZmllbGRz
LWtleWJvYXJkLWV2ZW50cy5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsMjEwICswLDAgQEAKLTwh
RE9DVFlQRSBodG1sPgotPGh0bWw+Ci08aGVhZD4KLTxzY3JpcHQgc3JjPSIuLi8uLi9qcy9yZXNv
dXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHk+Ci08cCBpZD0i
ZGVzY3JpcHRpb24iPjwvcD4KLTxwPgotUGxlYXNlIHJ1biB0aGlzIHdpdGggRHVtcFJlbmRlclRy
ZWUuCi08L3A+Ci1UZXN0IGZvbGxvd2luZyBrZXlzOgotPHVsPgotICAgIDxsaT5EaWdpdHM8L2xp
PgotICAgIDxsaT5MZWZ0L1JpZ2h0IC0gTW92ZSBmb2N1cyBmaWVsZCBpbnNpZGUgZWxlbWVudDwv
bGk+Ci0gICAgPGxpPlVwL0Rvd24gLSBJbmNyZW1lbnQvZGVjcmVtZW50IHZhbHVlIG9mIGZvY3Vz
IGZpZWxkPC9saT4KLSAgICA8bGk+VGFiIC0gTW92ZSBmb2N1cyBmaWVsZDwvbGk+Ci0gICAgPGxp
PkJhY2tzcGFjZSAtIE1ha2UgdmFsdWUgZW1wdHk8L2xpPgotPC91bD4KLTxpbnB1dCBpZD0iYmVm
b3JlIj4KLTxpbnB1dCBpZD0iaW5wdXQiIHR5cGU9IndlZWsiPgotPGlucHV0IGlkPSJhZnRlciI+
Ci08ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KLTxzY3JpcHQ+Ci1kZXNjcmlwdGlvbignTXVsdGlw
bGUgZmllbGRzIFVJIG9mIHdlZWsgaW5wdXQgdHlwZSB3aXRoIGtleWJvYXJkIGV2ZW50cycpOwot
aWYgKHdpbmRvdy5pbnRlcm5hbHMpCi0gICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldExhbmdBdHRy
aWJ1dGVBd2FyZUZvcm1Db250cm9sVUlFbmFibGVkKHRydWUpOwotdmFyIGlucHV0ID0gZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoJ2lucHV0Jyk7Ci0KLWZ1bmN0aW9uIGtleURvd24oa2V5LCBtb2Rp
ZmllcnMpCi17Ci0gICAgaWYgKCF3aW5kb3cuZXZlbnRTZW5kZXIpCi0gICAgICAgIHJldHVybjsK
LSAgICBldmVudFNlbmRlci5rZXlEb3duKGtleSwgbW9kaWZpZXJzKTsKLX0KLQotZnVuY3Rpb24g
YmVnaW5UZXN0KHRpdGxlLCBvcHRfdmFsdWUsIG9wdF9taW4sIG9wdF9tYXgpCi17Ci0gICAgZGVi
dWcoJz09ICcgKyB0aXRsZSArICcgPT0nKTsKLSAgICBpbnB1dC52YWx1ZSA9IG9wdF92YWx1ZSB8
fCAnJzsKLSAgICBpbnB1dC5taW4gPSBvcHRfbWluID8gb3B0X21pbiA6ICcnOwotICAgIGlucHV0
Lm1heCA9IG9wdF9tYXggPyBvcHRfbWF4IDogJyc7Ci0gICAgaW5wdXQuYmx1cigpOwotICAgIGlu
cHV0LmZvY3VzKCk7Ci19Ci0KLS8vIFdlIGFzc3VtZSB0aGUgZGF0ZSBmb3JtYXQgaXMgV2VlayB3
dywgeXl5eS4KLQotYmVnaW5UZXN0KCdEaWdpdCBrZXlzJyk7Ci1rZXlEb3duKCc5Jyk7IC8vIC0+
IFdlZWsgMDksIHl5eXkKLWtleURvd24oJzEnKTsgLy8gLT4gV2VlayAwOSwgWzAwMDFdCi1rZXlE
b3duKCcyJyk7IC8vIC0+IFdlZWsgMDksIFswMDEyXQota2V5RG93bignQScpOyAvLyBJZ25vcmVk
Lgotc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdpbnB1dC52YWx1ZScsICcwMDEyLVcwOScpOwotCi1i
ZWdpblRlc3QoJ0RpZ2l0IGtleXMgc3RhcnRpbmcgd2l0aCB6ZXJvJyk7Ci1rZXlEb3duKCcwJyk7
IC8vIC0+IFdlZWsgWzAwXSwgeXl5eQota2V5RG93bignMicpOyAvLyAtPiBXZWVrIDAyLCBbeXl5
eV0KLWtleURvd24oJzAnKTsgLy8gLT4gV2VlayAwMiwgWzAwMDBdCi1rZXlEb3duKCczJyk7IC8v
IC0+IFdlZWsgMDIsIFswMDAzXQota2V5RG93bignMCcpOyAvLyAtPiBXZWVrIDAyLCBbMDAzMF0K
LWtleURvd24oJzAnKTsgLy8gLT4gV2VlayAwMiwgWzAzMDBdCi1zaG91bGRCZUVxdWFsVG9TdHJp
bmcoJ2lucHV0LnZhbHVlJywgJzAzMDAtVzAyJyk7Ci0KLWJlZ2luVGVzdCgnRGlnaXQga2V5cyBh
bmQgYmFja3NwYWNlIGtleScpOwota2V5RG93bignMCcpOyAvLyAtPiBXZWVrIFswMF0sIHl5eXkK
LWtleURvd24oJ1xiJyk7IC8vIC0+IFdlZWsgW3d3XSwgeXl5eQota2V5RG93bignMCcpOyAvLyAt
PiBXZWVrIFswMF0sIHl5eXkKLWtleURvd24oJzAnKTsgLy8gLT4gV2VlayAwMSwgW3l5eXldCi1r
ZXlEb3duKCcwJyk7IC8vIC0+IFdlZWsgMDEsIFswMDAwXQota2V5RG93bignNicpOyAvLyAtPiBX
ZWVrIDA1LCBbMDAwNl0KLXNob3VsZEJlRXF1YWxUb1N0cmluZygnaW5wdXQudmFsdWUnLCAnMDAw
Ni1XMDEnKTsKLQotLy8gRklYTUU6IFdlIHNob3VsZCB0ZXN0IHR5cGUgYWhlYWQgdGltZSBvdXQu
IFdoZW4gZXZlbnQubGVhcEZvcndhcmQoKSBhZmZlY3RzCi0vLyBrZXlib2FyZCBldmVudCB0aW1l
IHN0YW1wLCB3ZSBjYW4gdW5jb21tZW50IHRoaXMgZnJhZ21lbnQuCi0vKgotYmVnaW5UZXN0KCdE
aWdpdCBrZXlzIHdpdGggdHlwZSBhaGVhZCB0aW1lb3V0Jyk7Ci1rZXlEb3duKCcxJyk7IC8vIC0+
IFdlZWsgWzAxXSwgeXl5eQotZXZlbnRTZW5kZXIubGVhcEZvcndhcmQoMTEwMCk7IC8vIC0+IFdl
ZWsgMDEsIFt5eXl5XQota2V5RG93bignMScpOyAvLyAtPiBXZWVrIDAxLCBbMDAwMV0KLWtleURv
d24oJzUnKTsgLy8gLT4gV2VlayAwMSwgWzAwMTVdCi1rZXlEb3duKCc2Jyk7IC8vIC0+IFdlZWsg
MDEsIFswMTU2XQotc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdpbnB1dC52YWx1ZScsICcwMTU2LVcw
MScpOwotKi8KLQotYmVnaW5UZXN0KCdMZWZ0L1JpZ2h0IGtleXMnLCAnMjAxMi1XMDknKTsKLWtl
eURvd24oJ3JpZ2h0QXJyb3cnKTsgLy8gLT4gV2VlayAwOSwgWzIwMTJdCi1rZXlEb3duKCc1Jyk7
IC8vIC0+IFdlZWsgMDksIFswMDA1XQota2V5RG93bignbGVmdEFycm93Jyk7IC8vIC0+IFdlZWsg
WzA5XSwgMDAwNQota2V5RG93bignNicpOyAvLyAtPiBXZWVrIFswNl0sIDAwMDUKLXNob3VsZEJl
RXF1YWxUb1N0cmluZygnaW5wdXQudmFsdWUnLCAnMDAwNS1XMDYnKTsKLWtleURvd24oJ2xlZnRB
cnJvdycpOyAvLyAtPiBXZWVrIDA2LCBbMDAwNV0KLWtleURvd24oJ2xlZnRBcnJvdycpOyAvLyAt
PiBXZWVrIFswNl0sIDAwMDUKLWtleURvd24oJ2xlZnRBcnJvdycpOyAvLyAtPiBXZWVrIFswNl0s
IDAwMDUKLXNob3VsZEJlRXF1YWxUb1N0cmluZygnZG9jdW1lbnQuYWN0aXZlRWxlbWVudC5pZCcs
ICdpbnB1dCcpOwotCi1iZWdpblRlc3QoJ1VwL0Rvd24ga2V5cycsICcyMDEyLVcwOScpOwota2V5
RG93bigndXBBcnJvdycpOyAvLyAtPiBXZWVrIFsxMF0sIDIwMTIKLXNob3VsZEJlRXF1YWxUb1N0
cmluZygnaW5wdXQudmFsdWUnLCAnMjAxMi1XMTAnKTsKLWtleURvd24oJ2Rvd25BcnJvdycpOyAv
LyAtPiBXZWVrIFswOV0sIDIwMTIKLWtleURvd24oJ2Rvd25BcnJvdycpOyAvLyAtPiBXZWVrIFsw
OF0sIDIwMTIKLXNob3VsZEJlRXF1YWxUb1N0cmluZygnaW5wdXQudmFsdWUnLCAnMjAxMi1XMDgn
KTsKLQotYmVnaW5UZXN0KCdVcC9Eb3duIGtleXMgb24gZW1wdHkgdmFsdWUnKTsKLWtleURvd24o
J2Rvd25BcnJvdycpOyAvLyAgLT4gV2VlayBbNTNdLCB5eXl5Ci1rZXlEb3duKCdkb3duQXJyb3cn
KTsgLy8gIC0+IFdlZWsgWzUyXSwgeXl5eQota2V5RG93bigndXBBcnJvdycpOyAvLyAgICAtPiBX
ZWVrIFs1M10sIHl5eXkKLWtleURvd24oJ2Rvd25BcnJvdycpOyAvLyAgLT4gV2VlayBbNTJdLCB5
eXl5Ci1rZXlEb3duKCdyaWdodEFycm93Jyk7IC8vIC0+IFdlZWsgNTIsIFt5eXl5XQotdmFyIGN1
cnJlbnRZZWFyID0gbmV3IERhdGUoKS5nZXRGdWxsWWVhcigpOwota2V5RG93bigndXBBcnJvdycp
OyAvLyAtPiBXZWVrIDUyLCBbY3VycmVudCB5ZWFyXQotc2hvdWxkQmUoJ2lucHV0LnZhbHVlJywg
J2N1cnJlbnRZZWFyICsgIi1XNTIiJyk7Ci0KLWJlZ2luVGVzdCgnVXAvRG93biBrZXlzIG9uIGVt
cHR5IHZhbHVlIDInKTsKLWtleURvd24oJ3VwQXJyb3cnKTsgLy8gICAgLT4gV2VlayBbMDFdLCB5
eXl5Ci1rZXlEb3duKCd1cEFycm93Jyk7IC8vICAgIC0+IFdlZWsgWzAyXSwgeXl5eQota2V5RG93
bigncmlnaHRBcnJvdycpOyAvLyAtPiBXZWVrIDAyLCBbeXl5eV0KLWN1cnJlbnRZZWFyID0gbmV3
IERhdGUoKS5nZXRGdWxsWWVhcigpOwota2V5RG93bignZG93bkFycm93Jyk7IC8vIC0+IFdlZWsg
MDIsIFtjdXJyZW50IHllYXJdCi1zaG91bGRCZSgnaW5wdXQudmFsdWUnLCAnY3VycmVudFllYXIg
KyAiLVcwMiInKTsKLQotYmVnaW5UZXN0KCdUYWIga2V5JywgJzIwMTItVzA5Jyk7Ci1rZXlEb3du
KCdcdCcpOyAvLyAtPiBXZWVrIDA5LCBbMjAxMl0KLWtleURvd24oJzUnKTsgLy8gLT4gV2VlayAw
OSwgWzAwMDVdCi1zaG91bGRCZUVxdWFsVG9TdHJpbmcoJ2lucHV0LnZhbHVlJywgJzAwMDUtVzA5
Jyk7Ci1rZXlEb3duKCdcdCcsIFsnc2hpZnRLZXknXSk7IC8vIC0+IFdlZWsgWzA5XSwgMDAwNQot
a2V5RG93bignNycpOyAvLyAtPiBXZWVrIFswN10sIDAwMDUKLXNob3VsZEJlRXF1YWxUb1N0cmlu
ZygnaW5wdXQudmFsdWUnLCAnMDAwNS1XMDcnKTsKLWtleURvd24oJ1x0Jyk7IC8vIC0+IEZvY3Vz
IG91dC4KLXNob3VsZEJlRXF1YWxUb1N0cmluZygnZG9jdW1lbnQuYWN0aXZlRWxlbWVudC5pZCcs
ICdhZnRlcicpOwotCi1iZWdpblRlc3QoJ1NoZml0K1RhYiBrZXknLCAnMjAxMi1XMDknKTsKLWFm
dGVyLmZvY3VzKCk7Ci1rZXlEb3duKCdcdCcsIFsnc2hpZnRLZXknXSk7IC8vIC0+IFdlZWsgMDks
IFsyMDEyXQota2V5RG93bignMycpOyAvLyAtPiBXZWVrIDA5LCBbMDAwM10KLXNob3VsZEJlRXF1
YWxUb1N0cmluZygnaW5wdXQudmFsdWUnLCAnMDAwMy1XMDknKTsKLWtleURvd24oJ1x0JywgWydz
aGlmdEtleSddKTsgLy8gLT4gV2VlayBbMDldLCAwMDAzCi1rZXlEb3duKCdcdCcsIFsnc2hpZnRL
ZXknXSk7IC8vIC0+IEZvY3VzIG91dC4KLXNob3VsZEJlRXF1YWxUb1N0cmluZygnZG9jdW1lbnQu
YWN0aXZlRWxlbWVudC5pZCcsICdiZWZvcmUnKTsKLQotYmVnaW5UZXN0KCdVcCBrZXkgb24gbWF4
aW11bSB2YWx1ZScsICcyNzU3NjAtVzA5Jyk7Ci1rZXlEb3duKCd1cEFycm93Jyk7IC8vIC0+IFdl
ZWsgWzEwXSwgMjc1NzYwCi1rZXlEb3duKCdcdCcpOyAvLyAgICAgIC0+IFdlZWsgMTAsIFsyNzU3
NjBdCi1rZXlEb3duKCd1cEFycm93Jyk7IC8vIC0+IFdlZWsgMTAsIFswMDAxXQotc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCdpbnB1dC52YWx1ZScsICcwMDAxLVcxMCcpOwotYmVnaW5UZXN0KCdVcCBr
ZXkgd2l0aCBhIG1heGltdW0gYXR0cmlidXRlJywgJzE5OTktVzEyJywgJzEwMDAtVzAxJywgJzE5
OTktVzEyJyk7Ci1rZXlEb3duKCd1cEFycm93Jyk7IC8vIC0+IFdlZWsgWzEzXSwgMTk5OQota2V5
RG93bignXHQnKTsgLy8gICAgICAtPiBXZWVrIDEzLCBbMTk5OV0KLWtleURvd24oJ3VwQXJyb3cn
KTsgLy8gLT4gV2VlayAxMywgWzEwMDBdCi1zaG91bGRCZUVxdWFsVG9TdHJpbmcoJ2lucHV0LnZh
bHVlJywgJzEwMDAtVzEzJyk7Ci0KLWJlZ2luVGVzdCgnRG93biBrZXkgb24gbWluaW11bSB2YWx1
ZScsICcwMDAxLVcwMScsICdiYWQgbWluJywgJ3dyb25nIG1heCcpOwota2V5RG93bignZG93bkFy
cm93Jyk7IC8vIC0+IFdlZWsgWzUzXSwgMDAwMQota2V5RG93bignXHQnKTsgLy8gICAgICAgIC0+
IFdlZWsgMDEsIFswMDAxXQota2V5RG93bignZG93bkFycm93Jyk7IC8vIC0+IFdlZWsgNTMsIFsy
NzU3NjBdLCB3aGljaCBpcyBncmVhdGVyIHRoYW4gdGhlIGhhcmQgbGltaXQuCi1zaG91bGRCZUVx
dWFsVG9TdHJpbmcoJ2lucHV0LnZhbHVlJywgJycpOwotYmVnaW5UZXN0KCdEb3duIGtleSB3aXRo
IGEgbWluaW11bSBhdHRyaWJ1dGUnLCAnMTAwMC1XMDEnLCAnMTAwMC1XMDEnKTsKLWtleURvd24o
J2Rvd25BcnJvdycpOyAvLyAtPiBXZWVrIFs1M10sIDEwMDAKLWtleURvd24oJ1x0Jyk7IC8vICAg
ICAgICAtPiBXZWVrIDUzLCBbMTAwMF0KLWtleURvd24oJ2Rvd25BcnJvdycpOyAvLyAtPiBXZWVr
IDUzLCBbMjc1NzYwXSwgd2hpY2ggaXMgZ3JlYXRlciB0aGFuIHRoZSBoYXJkIGxpbWl0Lgotc2hv
dWxkQmVFcXVhbFRvU3RyaW5nKCdpbnB1dC52YWx1ZScsICcnKTsKLQotYmVnaW5UZXN0KCdJbmNv
bnNpc3RlbnQgbWluLW1heCBhdHRyaWJ1dGVzJywgJzE5OTktVzEyJywgJzE5OTktVzEyJywgJzEw
MDAtVzAxJyk7Ci1rZXlEb3duKCd1cEFycm93Jyk7IC8vIC0+IFdlZWsgWzEzXSwgMTk5OS4KLWtl
eURvd24oJ1x0Jyk7IC8vIC0+IFdlZWsgMTMsIFsxOTk5XQota2V5RG93bigndXBBcnJvdycpOyAv
LyAtPiBXZWVrIDEzLCBbMTAwMF0uICAxMDAwIGlzIHRoZSBzd2FwcGVkIG1pbmltdW0geWVhci4K
LXNob3VsZEJlRXF1YWxUb1N0cmluZygnaW5wdXQudmFsdWUnLCAnMTAwMC1XMTMnKTsKLWtleURv
d24oJ2Rvd25BcnJvdycpOyAvLyAtPiBXZWVrIDAxLCBbMTk5OV0KLXNob3VsZEJlRXF1YWxUb1N0
cmluZygnaW5wdXQudmFsdWUnLCAnMTk5OS1XMTMnKTsKLQotYmVnaW5UZXN0KCdNYWtlIGFuIGlu
dmFsaWQgZGF0ZScsICcyMDEyLVcwMScpOwota2V5RG93bignZG93bkFycm93Jyk7IC8vIC0+IFdl
ZWsgWzUzXSwgMjAxMgotc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdpbnB1dC52YWx1ZScsICcnKTsg
Ly8gMjAxMi1XNTMgaXMgbm90IGEgdmFsaWQgZGF0ZS4KLQotYmVnaW5UZXN0KCdCYWNrc3BhY2Ug
a2V5JywgJzIwMTItVzA5Jyk7Ci1rZXlEb3duKCJcYiIpOyAvLyAtPiBXZWVrIFt3d10sIDIwMTIK
LXNob3VsZEJlRXF1YWxUb1N0cmluZygnaW5wdXQudmFsdWUnLCAnJyk7Ci0KLWJlZ2luVGVzdCgn
RGVsZXRlIGtleScsICcyMDEyLVcwOScpOwota2V5RG93bigiZGVsZXRlIik7IC8vIC0+IFdlZWsg
W3d3XSwgMjAxMgotc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdpbnB1dC52YWx1ZScsICcnKTsKLQot
YmVnaW5UZXN0KCdUeXBlYWhlYWQnLCAnMjAxMi1XMTInKTsKLWtleURvd24oJ3JpZ2h0QXJyb3cn
KTsgLy8gLT4gV2VlayAxMiwgWzIwMTJdCi1rZXlEb3duKCcxJyk7IC8vICAgICAgICAgIC0+IFdl
ZWsgMDEsIFswMDAxXQotc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdpbnB1dC52YWx1ZScsICcwMDAx
LVcxMicpOwota2V5RG93bignbGVmdEFycm93Jyk7IC8vICAtPiBXZWVrIFsxMl0sIDAwMDEKLWtl
eURvd24oJ3JpZ2h0QXJyb3cnKTsgLy8gLT4gV2VlayAxMiwgWzAwMDFdCi1rZXlEb3duKCcyJyk7
IC8vICAgICAgICAgIC0+IFdlZWsgMTIsIFswMDAyXQotc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdp
bnB1dC52YWx1ZScsICcwMDAyLVcxMicpOwotCi1iZWdpblRlc3QoJ0Rpc2FibGVkL3JlYWRvbmx5
JywgJzIwMTItVzEwJyk7Ci1pbnB1dC5kaXNhYmxlZCA9IHRydWU7Ci1rZXlEb3duKCd1cEFycm93
Jyk7IC8vIFdlZWsgMTAsIDIwMTIKLXNob3VsZEJlRXF1YWxUb1N0cmluZygnaW5wdXQudmFsdWUn
LCAnMjAxMi1XMTAnKTsKLWlucHV0LmRpc2FibGVkID0gZmFsc2U7Ci1pbnB1dC5mb2N1cygpOwot
a2V5RG93bigndXBBcnJvdycpOyAvLyBXZWVrIFsxMV0sIDIwMTIKLXNob3VsZEJlRXF1YWxUb1N0
cmluZygnaW5wdXQudmFsdWUnLCAnMjAxMi1XMTEnKTsKLWlucHV0LnJlYWRPbmx5ID0gdHJ1ZTsK
LWtleURvd24oJ3VwQXJyb3cnKTsgLy8gV2VlayBbMTFdLCAyMDEyCi1zaG91bGRCZUVxdWFsVG9T
dHJpbmcoJ2lucHV0LnZhbHVlJywgJzIwMTItVzExJyk7Ci1pbnB1dC5yZWFkT25seSA9IGZhbHNl
OwotaW5wdXQuZm9jdXMoKTsKLWtleURvd24oJ3VwQXJyb3cnKTsgLy8gV2VlayBbMTJdLCAyMDEy
Ci1zaG91bGRCZUVxdWFsVG9TdHJpbmcoJ2lucHV0LnZhbHVlJywgJzIwMTItVzEyJyk7Ci0KLTwv
c2NyaXB0PgotPHNjcmlwdCBzcmM9Ii4uLy4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMi
Pjwvc2NyaXB0PgotPC9ib2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFz
dC9mb3Jtcy93ZWVrLW11bHRpcGxlLWZpZWxkcy93ZWVrLW11bHRpcGxlLWZpZWxkcy1tb3VzZS1l
dmVudHMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy93ZWVrLW11bHRpcGxl
LWZpZWxkcy93ZWVrLW11bHRpcGxlLWZpZWxkcy1tb3VzZS1ldmVudHMtZXhwZWN0ZWQudHh0CmRl
bGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBiNzBlZDUxMjFiYzBkNzE3YzJlNGJjMjg3MmRk
MGVkMjgzZmE5NGMwLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0t
LSBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvd2Vlay1tdWx0aXBsZS1maWVsZHMvd2Vlay1tdWx0
aXBsZS1maWVsZHMtbW91c2UtZXZlbnRzLWV4cGVjdGVkLnR4dAorKysgL2Rldi9udWxsCkBAIC0x
LDM4ICswLDAgQEAKLU11bHRpcGxlIGZpZWxkcyBVSSBvZiBkYXRlIGlucHV0IHR5cGUgd2l0aCBt
b3VzZSBldmVudHMKLQotT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNT
IiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgotCi0KLVBsZWFzZSBydW4g
dGhpcyB3aXRoIERSVCBvciBXVFIuCi0KLVRlc3QgZm9sbG93aW5nIG1vdXNlIGFjdGlvbnM6Ci1N
b3VzZSBjbGljayB0byBmb2N1cyBlYWNoIG9mIHN1Yi1maWVsZHMKLU1vdXNlIGNsaWNrIG9uIHRo
ZSBzcGluIGJ1dHRvbiB0byB1cGRhdGUgZWFjaCBvZiBzdWItZmllbGRzCi0KLT09PiBGb2N1cyBv
biB0aGUgd2VlayBmaWVsZC4KLVBBU1MgaW5wdXQudmFsdWUgaXMgIjIzNDUtVzA4IgotUEFTUyBp
bnB1dC52YWx1ZSBpcyAiMjM0NS1XMDkiCi1QQVNTIGlucHV0LnZhbHVlIGlzICIyMzQ1LVcwOCIK
LVBBU1Mgd2luZG93LmdldFNlbGVjdGlvbigpLnJhbmdlQ291bnQgaXMgMAotCi09PT4gRm9jdXMg
b24gdGhlIHllYXIgZmllbGQuCi1QQVNTIGlucHV0LnZhbHVlIGlzICIyMzQ2LVcwOCIKLVBBU1Mg
aW5wdXQudmFsdWUgaXMgIjIzNDctVzA4IgotUEFTUyBpbnB1dC52YWx1ZSBpcyAiMjM0Ni1XMDgi
Ci1QQVNTIHdpbmRvdy5nZXRTZWxlY3Rpb24oKS5yYW5nZUNvdW50IGlzIDAKLQotPT0+IENsaWNr
IG9uIGEgZGlzYWJsZWQgZmllbGQuCi1QQVNTIGlucHV0LnZhbHVlIGlzICIyMzQ2LVcwOCIKLQot
PT0+IENsaWNrIG9uIGEgcmVhZC1vbmx5IGZpZWxkLgotUEFTUyBpbnB1dC52YWx1ZSBpcyAiMjM0
Ni1XMDgiCi0KLT09PiBDbGljayBvbiBjbGVhciBidXR0b24uCi1QQVNTIGlucHV0LnZhbHVlIGlz
ICIyMzQ2LVcwOCIKLVBBU1MgaW5wdXQudmFsdWUgaXMgIjIzNDYtVzA4IgotUEFTUyBpbnB1dC52
YWx1ZSBpcyAiIgotCi1QQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCi0KLVRFU1QgQ09N
UExFVEUKLQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy93ZWVrLW11bHRpcGxl
LWZpZWxkcy93ZWVrLW11bHRpcGxlLWZpZWxkcy1tb3VzZS1ldmVudHMuaHRtbCBiL0xheW91dFRl
c3RzL2Zhc3QvZm9ybXMvd2Vlay1tdWx0aXBsZS1maWVsZHMvd2Vlay1tdWx0aXBsZS1maWVsZHMt
bW91c2UtZXZlbnRzLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGI3MmJmMzIy
NTRmMjMzNjQ4NzJlMGRmYmVlM2VjYWQ4M2EwNTI2OGYuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy93ZWVrLW11bHRp
cGxlLWZpZWxkcy93ZWVrLW11bHRpcGxlLWZpZWxkcy1tb3VzZS1ldmVudHMuaHRtbAorKysgL2Rl
di9udWxsCkBAIC0xLDk3ICswLDAgQEAKLTwhRE9DVFlQRSBodG1sPgotPGh0bWw+Ci08aGVhZD4K
LTxzY3JpcHQgc3JjPSIuLi8uLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0
PgotPC9oZWFkPgotPGJvZHk+Ci08cCBpZD0iZGVzY3JpcHRpb24iPjwvcD4KLTxwPgotUGxlYXNl
IHJ1biB0aGlzIHdpdGggRFJUIG9yIFdUUi4KLTwvcD4KLVRlc3QgZm9sbG93aW5nIG1vdXNlIGFj
dGlvbnM6Ci08dWw+Ci0gICAgPGxpPk1vdXNlIGNsaWNrIHRvIGZvY3VzIGVhY2ggb2Ygc3ViLWZp
ZWxkczwvbGk+Ci0gICAgPGxpPk1vdXNlIGNsaWNrIG9uIHRoZSBzcGluIGJ1dHRvbiB0byB1cGRh
dGUgZWFjaCBvZiBzdWItZmllbGRzPC9saT4KLTwvdWw+Ci08aW5wdXQgaWQ9ImlucHV0IiB0eXBl
PSJ3ZWVrIiBzdHlsZT0iZm9udC1mYW1pbHk6YWhlbTsgZm9udC1zaXplOjE2cHg7Ij4KLTxkaXYg
aWQ9ImNvbnNvbGUiPjwvZGl2PgotPHNjcmlwdD4KLWRlc2NyaXB0aW9uKCdNdWx0aXBsZSBmaWVs
ZHMgVUkgb2YgZGF0ZSBpbnB1dCB0eXBlIHdpdGggbW91c2UgZXZlbnRzJyk7Ci12YXIgaW5wdXQg
PSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnaW5wdXQnKTsKLQotZnVuY3Rpb24ga2V5RG93bihr
ZXksIG1vZGlmaWVycykKLXsKLSAgICBpZiAoIXdpbmRvdy5ldmVudFNlbmRlcikKLSAgICAgICAg
cmV0dXJuOwotICAgIGV2ZW50U2VuZGVyLmtleURvd24oa2V5LCBtb2RpZmllcnMpOwotfQotCi1m
dW5jdGlvbiBtb3VzZUNsaWNrT24oeCwgeSkKLXsKLSAgICBpZiAoIXdpbmRvdy5ldmVudFNlbmRl
cikKLSAgICAgICAgcmV0dXJuOwotICAgIGV2ZW50U2VuZGVyLm1vdXNlTW92ZVRvKHggKyBpbnB1
dC5vZmZzZXRMZWZ0LCB5ICsgaW5wdXQub2Zmc2V0VG9wKTsKLSAgICBldmVudFNlbmRlci5tb3Vz
ZURvd24oKTsKLSAgICBldmVudFNlbmRlci5tb3VzZVVwKCk7Ci19Ci0KLWlucHV0LnZhbHVlID0g
JzIzNDUtVzA3JzsKLXZhciBjZW50ZXIgPSBpbnB1dC5vZmZzZXRIZWlnaHQgLyAyOwotdmFyIHNw
aW5CdXR0b25PZmZzZXQgPSAyNjsKLXZhciBjbGVhckJ1dHRvbk9mZnNldCA9IDQxOwotCi1kZWJ1
ZygnPT0+IEZvY3VzIG9uIHRoZSB3ZWVrIGZpZWxkLicpOwotbW91c2VDbGlja09uKDEwMCwgY2Vu
dGVyKTsKLWtleURvd24oJ3VwQXJyb3cnKTsKLXNob3VsZEJlRXF1YWxUb1N0cmluZygnaW5wdXQu
dmFsdWUnLCAnMjM0NS1XMDgnKTsKLW1vdXNlQ2xpY2tPbihpbnB1dC5vZmZzZXRXaWR0aCAtIHNw
aW5CdXR0b25PZmZzZXQsIGNlbnRlciAtIDEpOwotc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdpbnB1
dC52YWx1ZScsICcyMzQ1LVcwOScpOwotbW91c2VDbGlja09uKGlucHV0Lm9mZnNldFdpZHRoIC0g
c3BpbkJ1dHRvbk9mZnNldCwgY2VudGVyICsgMSk7Ci1zaG91bGRCZUVxdWFsVG9TdHJpbmcoJ2lu
cHV0LnZhbHVlJywgJzIzNDUtVzA4Jyk7Ci1zaG91bGRCZVplcm8oJ3dpbmRvdy5nZXRTZWxlY3Rp
b24oKS5yYW5nZUNvdW50Jyk7IC8vIE5vIHRleHQgc2VsZWN0aW9uLgotCi1kZWJ1ZygnJyk7Ci1k
ZWJ1ZygnPT0+IEZvY3VzIG9uIHRoZSB5ZWFyIGZpZWxkLicpOwotbW91c2VDbGlja09uKDIwMCwg
Y2VudGVyKTsKLWtleURvd24oJ3VwQXJyb3cnKTsKLXNob3VsZEJlRXF1YWxUb1N0cmluZygnaW5w
dXQudmFsdWUnLCAnMjM0Ni1XMDgnKTsKLW1vdXNlQ2xpY2tPbihpbnB1dC5vZmZzZXRXaWR0aCAt
IHNwaW5CdXR0b25PZmZzZXQsIGNlbnRlciAtIDEpOwotc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdp
bnB1dC52YWx1ZScsICcyMzQ3LVcwOCcpOwotbW91c2VDbGlja09uKGlucHV0Lm9mZnNldFdpZHRo
IC0gc3BpbkJ1dHRvbk9mZnNldCwgY2VudGVyICsgMSk7Ci1zaG91bGRCZUVxdWFsVG9TdHJpbmco
J2lucHV0LnZhbHVlJywgJzIzNDYtVzA4Jyk7Ci1zaG91bGRCZVplcm8oJ3dpbmRvdy5nZXRTZWxl
Y3Rpb24oKS5yYW5nZUNvdW50Jyk7IC8vIE5vIHRleHQgc2VsZWN0aW9uLgotCi1kZWJ1ZygnJyk7
Ci1kZWJ1ZygnPT0+IENsaWNrIG9uIGEgZGlzYWJsZWQgZmllbGQuJyk7Ci1pbnB1dC5kaXNhYmxl
ZCA9IHRydWU7Ci1tb3VzZUNsaWNrT24oMTAwLCBjZW50ZXIpOwota2V5RG93bigndXBBcnJvdycp
Owotc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdpbnB1dC52YWx1ZScsICcyMzQ2LVcwOCcpOwotaW5w
dXQuZGlzYWJsZWQgPSBmYWxzZTsKLQotZGVidWcoJycpOwotZGVidWcoJz09PiBDbGljayBvbiBh
IHJlYWQtb25seSBmaWVsZC4nKTsKLWlucHV0LnJlYWRPbmx5ID0gdHJ1ZTsKLW1vdXNlQ2xpY2tP
bigxMiwgY2VudGVyKTsKLWtleURvd24oJ3VwQXJyb3cnKTsKLXNob3VsZEJlRXF1YWxUb1N0cmlu
ZygnaW5wdXQudmFsdWUnLCAnMjM0Ni1XMDgnKTsKLWlucHV0LnJlYWRPbmx5ID0gZmFsc2U7Ci0K
LWRlYnVnKCcnKTsKLWRlYnVnKCc9PT4gQ2xpY2sgb24gY2xlYXIgYnV0dG9uLicpOwotaW5wdXQu
cmVhZE9ubHkgPSB0cnVlOwotbW91c2VDbGlja09uKGlucHV0Lm9mZnNldFdpZHRoIC0gY2xlYXJC
dXR0b25PZmZzZXQsIGNlbnRlcik7Ci1zaG91bGRCZUVxdWFsVG9TdHJpbmcoJ2lucHV0LnZhbHVl
JywgJzIzNDYtVzA4Jyk7Ci1pbnB1dC5kaXNhYmxlZCA9IHRydWU7Ci1pbnB1dC5yZWFkT25seSA9
IGZhbHNlOwotbW91c2VDbGlja09uKGlucHV0Lm9mZnNldFdpZHRoIC0gY2xlYXJCdXR0b25PZmZz
ZXQsIGNlbnRlcik7Ci1zaG91bGRCZUVxdWFsVG9TdHJpbmcoJ2lucHV0LnZhbHVlJywgJzIzNDYt
VzA4Jyk7Ci1pbnB1dC5kaXNhYmxlZCA9IGZhbHNlOwotbW91c2VDbGlja09uKGlucHV0Lm9mZnNl
dFdpZHRoIC0gY2xlYXJCdXR0b25PZmZzZXQsIGNlbnRlcik7Ci1zaG91bGRCZUVxdWFsVG9TdHJp
bmcoJ2lucHV0LnZhbHVlJywgJycpOwotCi1kZWJ1ZygnJyk7Ci08L3NjcmlwdD4KLTxzY3JpcHQg
c3JjPSIuLi8uLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KLTwvYm9k
eT4KLTwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvd2Vlay1tdWx0
aXBsZS1maWVsZHMvd2Vlay1tdWx0aXBsZS1maWVsZHMtcHJlc2VydmUtdmFsdWUtYWZ0ZXItaGlz
dG9yeS1iYWNrLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvd2Vlay1tdWx0
aXBsZS1maWVsZHMvd2Vlay1tdWx0aXBsZS1maWVsZHMtcHJlc2VydmUtdmFsdWUtYWZ0ZXItaGlz
dG9yeS1iYWNrLWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYWU1
ZGEzNDViMzc5YmYyNmY2OGY5ZWQwMTg4N2NhMjY5YzA2YjgzMC4uMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3dlZWst
bXVsdGlwbGUtZmllbGRzL3dlZWstbXVsdGlwbGUtZmllbGRzLXByZXNlcnZlLXZhbHVlLWFmdGVy
LWhpc3RvcnktYmFjay1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSwxOCArMCwwIEBA
Ci1DaGVja3MgaW5wdXQgdmFsdWUgaXMgcHJlc2VydmVkIGFmdGVyIGJhY2t3YXJkIGFuZCBmb3J3
YXJkCi0KLU9uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2Fn
ZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KLQotCi1XZW50IGJhY2sgdG8gYSBwYWdl
LiBDaGVja2luZyBhIGZvcm0gY29udHJvbCB3aGljaCBoYWQgYSBmdWxsIHZhbHVlOgotUEFTUyAi
MTIwMTItVzEwIiBpcyAiMTIwMTItVzEwIgotV2VudCBiYWNrIHRvIGEgcGFnZS4gQ2hlY2tpbmcg
YSBmb3JtIGNvbnRyb2wgd2hpY2ggaGFkIGEgcGFydGlhbCB2YWx1ZToKLVBBU1MgIldlZWsgMDEs
IC0tLS0iIGlzICJXZWVrIDAxLCAtLS0tIgotV2VudCBmb3J3YXJkIHRvIGEgcGFnZS4gQ2hlY2tp
bmcgYSBmb3JtIGNvbnRyb2wgd2hpY2ggaGFkIGEgZnVsbCB2YWx1ZToKLVBBU1MgIjAwMDEtVzEx
IiBpcyAiMDAwMS1XMTEiCi1XZW50IGZvcndhcmQgdG8gYSBwYWdlLiBDaGVja2luZyBhIGZvcm0g
Y29udHJvbCB3aGljaCBoYWQgYSBwYXJ0aWFsIHZhbHVlOgotUEFTUyAiV2VlayAtLSwgMTk5OSIg
aXMgIldlZWsgLS0sIDE5OTkiCi0KLVBBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKLQot
VEVTVCBDT01QTEVURQotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3dlZWst
bXVsdGlwbGUtZmllbGRzL3dlZWstbXVsdGlwbGUtZmllbGRzLXByZXNlcnZlLXZhbHVlLWFmdGVy
LWhpc3RvcnktYmFjay5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy93ZWVrLW11bHRpcGxl
LWZpZWxkcy93ZWVrLW11bHRpcGxlLWZpZWxkcy1wcmVzZXJ2ZS12YWx1ZS1hZnRlci1oaXN0b3J5
LWJhY2suaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNWZkYTZkOTc3ZDllMGI2
ZjQ1NDBjN2MyYTg0N2I4NmFlY2IzOTEyZC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3dlZWstbXVsdGlwbGUtZmll
bGRzL3dlZWstbXVsdGlwbGUtZmllbGRzLXByZXNlcnZlLXZhbHVlLWFmdGVyLWhpc3RvcnktYmFj
ay5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsNDIgKzAsMCBAQAotPCFET0NUWVBFIGh0bWw+Ci08
aHRtbD4KLTxoZWFkPgotPHNjcmlwdCBzcmM9Ii4uLy4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pz
LXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5PgotPGlmcmFtZSBpZD0iaWZy
YW1lIj48L2lmcmFtZT4KLTxzY3JpcHQ+Ci1kZXNjcmlwdGlvbignQ2hlY2tzIGlucHV0IHZhbHVl
IGlzIHByZXNlcnZlZCBhZnRlciBiYWNrd2FyZCBhbmQgZm9yd2FyZCcpOwotaWYgKCF3aW5kb3cu
ZXZlbnRTZW5kZXIgfHwgIXdpbmRvdy5pbnRlcm5hbHMpCi0gICAgZGVidWcoJ1BsZWFzZSBydW4g
d2l0aGluIERSVC9XVFInKTsKLXdpbmRvdy5qc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKLQotdmFyIHN0
YXRlID0gJ2RpcmVjdCc7Ci12YXIgdGVzdENhc2VzID0gW107Ci0KLWZ1bmN0aW9uIGZhaWxlZCht
ZXNzYWdlKSB7Ci0gICAgdGVzdEZhaWxlZChtZXNzYWdlICsgJyBpbiAnICsgc3RhdGUpOwotICAg
IGZpbmlzaEpTVGVzdCgpOwotfQotCi1mdW5jdGlvbiBmaW5pc2hUZXN0KCkgewotICAgIHJ1blRl
c3RDYXNlcygpOwotICAgIGZpbmlzaEpTVGVzdCgpOwotfQotCi1mdW5jdGlvbiBydW5UZXN0Q2Fz
ZXMoKSB7Ci0gICAgZm9yICh2YXIgaW5kZXggPSAwOyBpbmRleCA8IHRlc3RDYXNlcy5sZW5ndGg7
ICsraW5kZXgpIHsKLSAgICAgICAgdmFyIHRlc3RDYXNlID0gdGVzdENhc2VzW2luZGV4XTsKLSAg
ICAgICAgZGVidWcodGVzdENhc2VbJ2Rlc2NyaXB0aW9uJ10gKyAnOicpOwotICAgICAgICBzaG91
bGRCZUVxdWFsVG9TdHJpbmcoJyInICsgdGVzdENhc2VbJ2FjdHVhbCddICsgJyInLCB0ZXN0Q2Fz
ZVsnZXhwZWN0ZWQnXSk7Ci0gICAgfQotICAgIGRlYnVnKCcnKTsKLX0KLQotd2luZG93Lm9ubG9h
ZCA9IGZ1bmN0aW9uKCkgewotICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdpZnJhbWUnKS5z
cmMgPSAncmVzb3VyY2VzL3ByZXNlcnZlLXZhbHVlLWFmdGVyLWhpc3RvcnktYmFjay1mcmFtZS5o
dG1sP3BhZ2UxJzsKLX07Ci08L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIuLi8uLi8uLi9mYXN0L2pz
L3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgotPC9ib2R5PgotPC9odG1sPgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy93ZWVrLW11bHRpcGxlLWZpZWxkcy93
ZWVrLW11bHRpcGxlLWZpZWxkcy1yZWFkb25seS1zdWJmaWVsZC1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9mYXN0L2Zvcm1zL3dlZWstbXVsdGlwbGUtZmllbGRzL3dlZWstbXVsdGlwbGUtZmll
bGRzLXJlYWRvbmx5LXN1YmZpZWxkLWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMGJhNmE0NTIzZWU4YTI3ZTJhOWUwMTg2Y2FkMmViOTdhYWNiOWI1MC4uMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0
L2Zvcm1zL3dlZWstbXVsdGlwbGUtZmllbGRzL3dlZWstbXVsdGlwbGUtZmllbGRzLXJlYWRvbmx5
LXN1YmZpZWxkLWV4cGVjdGVkLnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDMxICswLDAgQEAKLVN1
Yi1maWVsZHMgaW4gaW5wdXRbdHlwZT13ZWVrXSBzaG91bGQgYmUgcmVhZC1vbmx5IGluIHNvbWUg
Y2FzZXMuIFRoaXMgcmVxdWlyZXMgd2luZG93LmludGVybmFscy4KLQotT24gc3VjY2VzcywgeW91
IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1Qg
Q09NUExFVEUiLgotCi0KLWNyZWF0ZVdlZWtJbnB1dCBhcmd1bWVudCBvcmRlcjogbWluLCBtYXgs
IHZhbHVlCi0KLVllYXIgZmllbGQ6Ci1QQVNTIGlzUmVhZE9ubHlGaWVsZChjcmVhdGVXZWVrSW5w
dXQoIiIsICIiLCAiIiksIHBzZXVkb1llYXIpIGlzIGZhbHNlCi1QQVNTIGlzUmVhZE9ubHlGaWVs
ZChjcmVhdGVXZWVrSW5wdXQoIjIwMTItVzUwIiwgIiIsICIiKSwgcHNldWRvWWVhcikgaXMgZmFs
c2UKLVBBU1MgaXNSZWFkT25seUZpZWxkKGNyZWF0ZVdlZWtJbnB1dCgiIiwgIjIwMTItVzUwIiwg
IiIpLCBwc2V1ZG9ZZWFyKSBpcyBmYWxzZQotUEFTUyBpc1JlYWRPbmx5RmllbGQoY3JlYXRlV2Vl
a0lucHV0KCIiLCAiIiwgIjIwMTItVzUwIiksIHBzZXVkb1llYXIpIGlzIGZhbHNlCi1QQVNTIGlz
UmVhZE9ubHlGaWVsZChjcmVhdGVXZWVrSW5wdXQoIjIwMTItVzAxIiwgIjIwMTItVzUwIiwgIiIp
LCBwc2V1ZG9ZZWFyKSBpcyB0cnVlCi1QQVNTIGlzUmVhZE9ubHlGaWVsZChjcmVhdGVXZWVrSW5w
dXQoIjIwMTItVzAxIiwgIjIwMTMtVzUwIiwgIiIpLCBwc2V1ZG9ZZWFyKSBpcyBmYWxzZQotUEFT
UyBpc1JlYWRPbmx5RmllbGQoY3JlYXRlV2Vla0lucHV0KCIyMDEyLVcwMSIsICIyMDEyLVc1MCIs
ICIyMDEyLVcwNSIpLCBwc2V1ZG9ZZWFyKSBpcyB0cnVlCi1QQVNTIGlzUmVhZE9ubHlGaWVsZChj
cmVhdGVXZWVrSW5wdXQoIjIwMTItVzAxIiwgIjIwMTItVzUwIiwgIjIwMTMtVzAxIiksIHBzZXVk
b1llYXIpIGlzIGZhbHNlCi1XZWVrIGZpZWxkOgotV2Ugc2hvdWxkIG5vdCBtYWtlIGFsbCB0aGUg
ZmllbGRzIHJlYWRvbmx5IGJ5IG1pbi9tYXgsIHNvIHdlZWsgZmllbGQgaXMgYWx3YXlzIGVkaXRh
YmxlLgotUEFTUyBpc1JlYWRPbmx5RmllbGQoY3JlYXRlV2Vla0lucHV0KCIiLCAiIiwgIiIpLCBw
c2V1ZG9XZWVrKSBpcyBmYWxzZQotUEFTUyBpc1JlYWRPbmx5RmllbGQoY3JlYXRlV2Vla0lucHV0
KCIyMDEyLVc1MCIsICIiLCAiIiksIHBzZXVkb1dlZWspIGlzIGZhbHNlCi1QQVNTIGlzUmVhZE9u
bHlGaWVsZChjcmVhdGVXZWVrSW5wdXQoIiIsICIyMDEyLVc1MCIsICIiKSwgcHNldWRvV2Vlaykg
aXMgZmFsc2UKLVBBU1MgaXNSZWFkT25seUZpZWxkKGNyZWF0ZVdlZWtJbnB1dCgiIiwgIiIsICIy
MDEyLVc1MCIpLCBwc2V1ZG9XZWVrKSBpcyBmYWxzZQotUEFTUyBpc1JlYWRPbmx5RmllbGQoY3Jl
YXRlV2Vla0lucHV0KCIyMDEyLVc1MCIsICIyMDEyLVc1MCIsICIiKSwgcHNldWRvV2VlaykgaXMg
ZmFsc2UKLVBBU1MgaXNSZWFkT25seUZpZWxkKGNyZWF0ZVdlZWtJbnB1dCgiMjAxMi1XNDkiLCAi
MjAxMy1XNTAiLCAiIiksIHBzZXVkb1dlZWspIGlzIGZhbHNlCi1QQVNTIGlzUmVhZE9ubHlGaWVs
ZChjcmVhdGVXZWVrSW5wdXQoIjIwMTItVzUwIiwgIjIwMTMtVzUwIiwgIiIpLCBwc2V1ZG9XZWVr
KSBpcyBmYWxzZQotUEFTUyBpc1JlYWRPbmx5RmllbGQoY3JlYXRlV2Vla0lucHV0KCIyMDEyLVc1
MCIsICIyMDEyLVc1MCIsICIyMDEyLVc1MCIpLCBwc2V1ZG9XZWVrKSBpcyBmYWxzZQotUEFTUyBp
c1JlYWRPbmx5RmllbGQoY3JlYXRlV2Vla0lucHV0KCIyMDEyLVc1MCIsICIyMDEyLVc1MCIsICIy
MDEyLVc0OSIpLCBwc2V1ZG9XZWVrKSBpcyBmYWxzZQotUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQg
aXMgdHJ1ZQotCi1URVNUIENPTVBMRVRFCi0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3Qv
Zm9ybXMvd2Vlay1tdWx0aXBsZS1maWVsZHMvd2Vlay1tdWx0aXBsZS1maWVsZHMtcmVhZG9ubHkt
c3ViZmllbGQuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvd2Vlay1tdWx0aXBsZS1maWVs
ZHMvd2Vlay1tdWx0aXBsZS1maWVsZHMtcmVhZG9ubHktc3ViZmllbGQuaHRtbApkZWxldGVkIGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggNjJhYWUyMWI4M2ExMDEyNmY4YmRmYmY0NGFmMGFkYTE5ZGZi
NjAyMi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlv
dXRUZXN0cy9mYXN0L2Zvcm1zL3dlZWstbXVsdGlwbGUtZmllbGRzL3dlZWstbXVsdGlwbGUtZmll
bGRzLXJlYWRvbmx5LXN1YmZpZWxkLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSw1NyArMCwwIEBA
Ci08IURPQ1RZUEUgaHRtbD4KLTxib2R5PgotPHNjcmlwdCBzcmM9Ii4uLy4uL2pzL3Jlc291cmNl
cy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0PgotZnVuY3Rpb24gY3JlYXRlV2Vl
a0lucHV0KG1pbiwgbWF4LCB2YWx1ZSkgewotICAgIHZhciBpbnB1dCA9IGRvY3VtZW50LmNyZWF0
ZUVsZW1lbnQoJ2lucHV0Jyk7Ci0gICAgaW5wdXQudHlwZSA9ICd3ZWVrJzsKLSAgICBpZiAobWlu
KQotICAgICAgICBpbnB1dC5taW4gPSBtaW47Ci0gICAgaWYgKG1heCkKLSAgICAgICAgaW5wdXQu
bWF4ID0gbWF4OwotICAgIGlmICh2YWx1ZSkKLSAgICAgICAgaW5wdXQudmFsdWUgPSB2YWx1ZTsK
LSAgICByZXR1cm4gaW5wdXQ7Ci19Ci0KLS8vIEZJWE1FOiBSZW5hbWUgdGhpcyBmdW5jdGlvbiBh
bmQgdGhlIHRlc3QgZmlsZS4KLWZ1bmN0aW9uIGlzUmVhZE9ubHlGaWVsZChpbnB1dCwgcHNldWRv
KSB7Ci0gICAgdmFyIG5vZGUgPSBpbnRlcm5hbHMueW91bmdlc3RTaGFkb3dSb290KGlucHV0KS5x
dWVyeVNlbGVjdG9yKCcqW3BzZXVkbz0iJyArIHBzZXVkbyArICciXScpOwotICAgIGlmICghbm9k
ZSkKLSAgICAgICAgdGVzdEZhaWxlZCgnUmVxdWVzdGVkIG5vZGUgaXMgbWlzc2luZy4nKTsKLSAg
ICByZXR1cm4gbm9kZSAmJiBub2RlLmhhc0F0dHJpYnV0ZSgnZGlzYWJsZWQnKTsKLX0KLQotdmFy
IHBzZXVkb1dlZWsgPSAnLXdlYmtpdC1kYXRldGltZS1lZGl0LXdlZWstZmllbGQnOwotdmFyIHBz
ZXVkb1llYXIgPSAnLXdlYmtpdC1kYXRldGltZS1lZGl0LXllYXItZmllbGQnOwotCi1kZXNjcmlw
dGlvbignU3ViLWZpZWxkcyBpbiBpbnB1dFt0eXBlPXdlZWtdIHNob3VsZCBiZSByZWFkLW9ubHkg
aW4gc29tZSBjYXNlcy4gVGhpcyByZXF1aXJlcyB3aW5kb3cuaW50ZXJuYWxzLicpOwotZGVidWco
J2NyZWF0ZVdlZWtJbnB1dCBhcmd1bWVudCBvcmRlcjogbWluLCBtYXgsIHZhbHVlJyk7Ci1kZWJ1
ZygnJyk7Ci0KLWRlYnVnKCdZZWFyIGZpZWxkOicpOwotc2hvdWxkQmVGYWxzZSgnaXNSZWFkT25s
eUZpZWxkKGNyZWF0ZVdlZWtJbnB1dCgiIiwgIiIsICIiKSwgcHNldWRvWWVhciknKTsKLXNob3Vs
ZEJlRmFsc2UoJ2lzUmVhZE9ubHlGaWVsZChjcmVhdGVXZWVrSW5wdXQoIjIwMTItVzUwIiwgIiIs
ICIiKSwgcHNldWRvWWVhciknKTsKLXNob3VsZEJlRmFsc2UoJ2lzUmVhZE9ubHlGaWVsZChjcmVh
dGVXZWVrSW5wdXQoIiIsICIyMDEyLVc1MCIsICIiKSwgcHNldWRvWWVhciknKTsKLXNob3VsZEJl
RmFsc2UoJ2lzUmVhZE9ubHlGaWVsZChjcmVhdGVXZWVrSW5wdXQoIiIsICIiLCAiMjAxMi1XNTAi
KSwgcHNldWRvWWVhciknKTsKLXNob3VsZEJlVHJ1ZSgnaXNSZWFkT25seUZpZWxkKGNyZWF0ZVdl
ZWtJbnB1dCgiMjAxMi1XMDEiLCAiMjAxMi1XNTAiLCAiIiksIHBzZXVkb1llYXIpJyk7Ci1zaG91
bGRCZUZhbHNlKCdpc1JlYWRPbmx5RmllbGQoY3JlYXRlV2Vla0lucHV0KCIyMDEyLVcwMSIsICIy
MDEzLVc1MCIsICIiKSwgcHNldWRvWWVhciknKTsKLXNob3VsZEJlVHJ1ZSgnaXNSZWFkT25seUZp
ZWxkKGNyZWF0ZVdlZWtJbnB1dCgiMjAxMi1XMDEiLCAiMjAxMi1XNTAiLCAiMjAxMi1XMDUiKSwg
cHNldWRvWWVhciknKTsKLXNob3VsZEJlRmFsc2UoJ2lzUmVhZE9ubHlGaWVsZChjcmVhdGVXZWVr
SW5wdXQoIjIwMTItVzAxIiwgIjIwMTItVzUwIiwgIjIwMTMtVzAxIiksIHBzZXVkb1llYXIpJyk7
Ci0KLWRlYnVnKCdXZWVrIGZpZWxkOicpOwotZGVidWcoJ1dlIHNob3VsZCBub3QgbWFrZSBhbGwg
dGhlIGZpZWxkcyByZWFkb25seSBieSBtaW4vbWF4LCBzbyB3ZWVrIGZpZWxkIGlzIGFsd2F5cyBl
ZGl0YWJsZS4nKTsKLXNob3VsZEJlRmFsc2UoJ2lzUmVhZE9ubHlGaWVsZChjcmVhdGVXZWVrSW5w
dXQoIiIsICIiLCAiIiksIHBzZXVkb1dlZWspJyk7Ci1zaG91bGRCZUZhbHNlKCdpc1JlYWRPbmx5
RmllbGQoY3JlYXRlV2Vla0lucHV0KCIyMDEyLVc1MCIsICIiLCAiIiksIHBzZXVkb1dlZWspJyk7
Ci1zaG91bGRCZUZhbHNlKCdpc1JlYWRPbmx5RmllbGQoY3JlYXRlV2Vla0lucHV0KCIiLCAiMjAx
Mi1XNTAiLCAiIiksIHBzZXVkb1dlZWspJyk7Ci1zaG91bGRCZUZhbHNlKCdpc1JlYWRPbmx5Rmll
bGQoY3JlYXRlV2Vla0lucHV0KCIiLCAiIiwgIjIwMTItVzUwIiksIHBzZXVkb1dlZWspJyk7Ci1z
aG91bGRCZUZhbHNlKCdpc1JlYWRPbmx5RmllbGQoY3JlYXRlV2Vla0lucHV0KCIyMDEyLVc1MCIs
ICIyMDEyLVc1MCIsICIiKSwgcHNldWRvV2VlayknKTsKLXNob3VsZEJlRmFsc2UoJ2lzUmVhZE9u
bHlGaWVsZChjcmVhdGVXZWVrSW5wdXQoIjIwMTItVzQ5IiwgIjIwMTMtVzUwIiwgIiIpLCBwc2V1
ZG9XZWVrKScpOwotc2hvdWxkQmVGYWxzZSgnaXNSZWFkT25seUZpZWxkKGNyZWF0ZVdlZWtJbnB1
dCgiMjAxMi1XNTAiLCAiMjAxMy1XNTAiLCAiIiksIHBzZXVkb1dlZWspJyk7Ci1zaG91bGRCZUZh
bHNlKCdpc1JlYWRPbmx5RmllbGQoY3JlYXRlV2Vla0lucHV0KCIyMDEyLVc1MCIsICIyMDEyLVc1
MCIsICIyMDEyLVc1MCIpLCBwc2V1ZG9XZWVrKScpOwotc2hvdWxkQmVGYWxzZSgnaXNSZWFkT25s
eUZpZWxkKGNyZWF0ZVdlZWtJbnB1dCgiMjAxMi1XNTAiLCAiMjAxMi1XNTAiLCAiMjAxMi1XNDki
KSwgcHNldWRvV2VlayknKTsKLQotPC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vanMvcmVz
b3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Ci08L2JvZHk+Ci0KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvd2Vlay1tdWx0aXBsZS1maWVsZHMvd2Vlay1tdWx0aXBs
ZS1maWVsZHMtcmVzZXQtdmFsdWUtYWZ0ZXItcmVsb2Fkcy1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9mYXN0L2Zvcm1zL3dlZWstbXVsdGlwbGUtZmllbGRzL3dlZWstbXVsdGlwbGUtZmllbGRz
LXJlc2V0LXZhbHVlLWFmdGVyLXJlbG9hZHMtZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCA1OWQwMjQ3NTM5ZGYwMWMwMDBiN2U3MWJmN2E4ODFmNzk4NGFiN2UzLi4w
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3Rz
L2Zhc3QvZm9ybXMvd2Vlay1tdWx0aXBsZS1maWVsZHMvd2Vlay1tdWx0aXBsZS1maWVsZHMtcmVz
ZXQtdmFsdWUtYWZ0ZXItcmVsb2Fkcy1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSwx
NSArMCwwIEBACi1DaGVja3MgcmVsb2FkaW5nIHBhZ2UgcmVzZXRzIGlucHV0IHZhbHVlcwotCi1P
biBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xs
b3dlZCBieSAiVEVTVCBDT01QTEVURSIuCi0KLQotSW5pdGlhbCB2YWx1ZXM6Ci1QQVNTIHRlc3RJ
bnB1dDEudmFsdWUgaXMgIiIKLVBBU1MgdGVzdElucHV0Mi52YWx1ZSBpcyAiMTIzNC1XMDUiCi1S
ZWxvYWRlZCB2YWx1ZXM6Ci1QQVNTIHRlc3RJbnB1dDEudmFsdWUgaXMgIiIKLVBBU1MgdGVzdElu
cHV0Mi52YWx1ZSBpcyAiMTIzNC1XMDUiCi1QQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVl
Ci0KLVRFU1QgQ09NUExFVEUKLQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy93
ZWVrLW11bHRpcGxlLWZpZWxkcy93ZWVrLW11bHRpcGxlLWZpZWxkcy1yZXNldC12YWx1ZS1hZnRl
ci1yZWxvYWRzLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3dlZWstbXVsdGlwbGUtZmll
bGRzL3dlZWstbXVsdGlwbGUtZmllbGRzLXJlc2V0LXZhbHVlLWFmdGVyLXJlbG9hZHMuaHRtbApk
ZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMWMwMTYyZGU2NjcwNjU5YjkwYzQ4OThkOTFj
MDk2ODc0YWNlYjBmYi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAot
LS0gYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3dlZWstbXVsdGlwbGUtZmllbGRzL3dlZWstbXVs
dGlwbGUtZmllbGRzLXJlc2V0LXZhbHVlLWFmdGVyLXJlbG9hZHMuaHRtbAorKysgL2Rldi9udWxs
CkBAIC0xLDQyICswLDAgQEAKLTwhRE9DVFlQRSBodG1sPgotPGh0bWw+Ci08aGVhZD4KLTxzY3Jp
cHQgc3JjPSIuLi8uLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3Jp
cHQ+Ci08L2hlYWQ+Ci08Ym9keSBvbmxvYWQ9InJ1bkJvZHlMb2FkZWQoKSI+Ci08aWZyYW1lIGlk
PWlmcmFtZSBzcmNkb2M9IjxpbnB1dCB0eXBlPXdlZWsgaWQ9J3Rlc3QxJz48aW5wdXQgdHlwZT0n
d2VlaycgaWQ9J3Rlc3QyJyB2YWx1ZT0nMTIzNC1XMDUnPiI+PC9pZnJhbWU+Ci08c2NyaXB0Pgot
ZGVzY3JpcHRpb24oJ0NoZWNrcyByZWxvYWRpbmcgcGFnZSByZXNldHMgaW5wdXQgdmFsdWVzJyk7
Ci13aW5kb3cuanNUZXN0SXNBc3luYyA9IHRydWU7Ci0KLXZhciBpZnJhbWUgPSBkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgnaWZyYW1lJyk7Ci12YXIgdGVzdElucHV0MTsKLXZhciB0ZXN0SW5wdXQy
OwotCi1mdW5jdGlvbiBydW5Cb2R5TG9hZGVkKCkKLXsKLSAgICB0ZXN0SW5wdXQxID0gaWZyYW1l
LmNvbnRlbnREb2N1bWVudC5nZXRFbGVtZW50QnlJZCgndGVzdDEnKTsKLSAgICB0ZXN0SW5wdXQy
ID0gaWZyYW1lLmNvbnRlbnREb2N1bWVudC5nZXRFbGVtZW50QnlJZCgndGVzdDInKTsKLSAgICBk
ZWJ1ZygnSW5pdGlhbCB2YWx1ZXM6Jyk7Ci0gICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCd0ZXN0
SW5wdXQxLnZhbHVlJywgJycpOwotICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygndGVzdElucHV0
Mi52YWx1ZScsICcxMjM0LVcwNScpOwotICAgIHRlc3RJbnB1dDEudmFsdWUgPSAnMjAxMi1XMTAn
OwotICAgIHRlc3RJbnB1dDIudmFsdWUgPSAnMjAxMi1XMTEnOwotICAgIGlmcmFtZS5hZGRFdmVu
dExpc3RlbmVyKCdsb2FkJywgcGFyZW50LnJ1bk9uSUZyYW1lTG9hZCk7Ci0gICAgaWZyYW1lLmNv
bnRlbnRXaW5kb3cubG9jYXRpb24ucmVsb2FkKCk7Ci19Ci0KLWZ1bmN0aW9uIHJ1bk9uSUZyYW1l
TG9hZCgpCi17Ci0gICAgdGVzdElucHV0MSA9IGlmcmFtZS5jb250ZW50RG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoJ3Rlc3QxJyk7Ci0gICAgdGVzdElucHV0MiA9IGlmcmFtZS5jb250ZW50RG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoJ3Rlc3QyJyk7Ci0gICAgZGVidWcoJ1JlbG9hZGVkIHZhbHVlczon
KTsKLSAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ3Rlc3RJbnB1dDEudmFsdWUnLCAnJyk7Ci0g
ICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCd0ZXN0SW5wdXQyLnZhbHVlJywgJzEyMzQtVzA1Jyk7
Ci0gICAgaWZyYW1lLnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQoaWZyYW1lKTsKLSAgICBmaW5pc2hK
U1Rlc3QoKTsKLX0KLTwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii4uLy4uLy4uL2Zhc3QvanMvcmVz
b3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Ci08L2JvZHk+Ci08L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3dlZWstbXVsdGlwbGUtZmllbGRzL3dlZWst
bXVsdGlwbGUtZmllbGRzLXNwaW5idXR0b24tY2hhbmdlLWFuZC1pbnB1dC1ldmVudHMtZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy93ZWVrLW11bHRpcGxlLWZpZWxkcy93ZWVr
LW11bHRpcGxlLWZpZWxkcy1zcGluYnV0dG9uLWNoYW5nZS1hbmQtaW5wdXQtZXZlbnRzLWV4cGVj
dGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMGVkZmM2NWY5NTNjNWRhMzky
NGE3NTdjY2ZjZDFkMjc2YTJlYzIxOC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3dlZWstbXVsdGlwbGUtZmllbGRz
L3dlZWstbXVsdGlwbGUtZmllbGRzLXNwaW5idXR0b24tY2hhbmdlLWFuZC1pbnB1dC1ldmVudHMt
ZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEsMTkgKzAsMCBAQAotVGVzdCBmb3IgZXZl
bnQgZGlzcGF0Y2hpbmcgYnkgc3BpbiBidXR0b25zIGluIGEgdHlwZT13ZWVrIGlucHV0LgotCi1P
biBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xs
b3dlZCBieSAiVEVTVCBDT01QTEVURSIuCi0KLQotSW5pdGlhbCBzdGF0ZQotUEFTUyBjaGFuZ2VF
dmVudENvdW50ZXIgaXMgMAotUEFTUyBpbnB1dEV2ZW50Q291bnRlciBpcyAwCi1DbGljayB0aGUg
dXBwZXIgYnV0dG9uCi1QQVNTIHRlc3RJbnB1dC52YWx1ZSBpcyAiMjAxMi1XMTEiCi1QQVNTIGNo
YW5nZUV2ZW50Q291bnRlciBpcyAxCi1QQVNTIGlucHV0RXZlbnRDb3VudGVyIGlzIDEKLUZvY3Vz
IG9uIGFub3RoZXIgZmllbGQKLVBBU1MgY2hhbmdlRXZlbnRDb3VudGVyIGlzIDEKLVBBU1MgaW5w
dXRFdmVudENvdW50ZXIgaXMgMQotUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQotCi1U
RVNUIENPTVBMRVRFCi0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvd2Vlay1t
dWx0aXBsZS1maWVsZHMvd2Vlay1tdWx0aXBsZS1maWVsZHMtc3BpbmJ1dHRvbi1jaGFuZ2UtYW5k
LWlucHV0LWV2ZW50cy5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy93ZWVrLW11bHRpcGxl
LWZpZWxkcy93ZWVrLW11bHRpcGxlLWZpZWxkcy1zcGluYnV0dG9uLWNoYW5nZS1hbmQtaW5wdXQt
ZXZlbnRzLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDI5YTI1ZjdkZjVlNGMy
YjdmZWZlMmY4OTYyNzg1MTYxOTY2NDkyOGYuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy93ZWVrLW11bHRpcGxlLWZp
ZWxkcy93ZWVrLW11bHRpcGxlLWZpZWxkcy1zcGluYnV0dG9uLWNoYW5nZS1hbmQtaW5wdXQtZXZl
bnRzLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSwxNCArMCwwIEBACi08IURPQ1RZUEUgaHRtbD4K
LTxodG1sPgotPGhlYWQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMv
anMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy9jb21t
b24uanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy9jb21tb24tc3BpbmJ1
dHRvbi1jaGFuZ2UtYW5kLWlucHV0LWV2ZW50cy5qcyI+PC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9k
eT4KLTxzY3JpcHQ+Ci10ZXN0U3BpbkJ1dHRvbkNoYW5nZUFuZElucHV0RXZlbnRzKCd3ZWVrJywg
JzIwMTItVzEwJywgJzIwMTItVzExJyk7Ci08L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIuLi8uLi8u
Li9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgotPC9ib2R5Pgot
PC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy93ZWVrLW11bHRpcGxl
LWZpZWxkcy93ZWVrLW11bHRpcGxlLWZpZWxkcy1zdGVwdXAtc3RlcGRvd24tZnJvbS1yZW5kZXJl
ci1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3dlZWstbXVsdGlwbGUtZmll
bGRzL3dlZWstbXVsdGlwbGUtZmllbGRzLXN0ZXB1cC1zdGVwZG93bi1mcm9tLXJlbmRlcmVyLWV4
cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYzIxOTRiZTQ3NTMxMGZi
NTc3Y2JmZGFiMjVkNzUzNTdiMjBhOTA2Mi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3dlZWstbXVsdGlwbGUtZmll
bGRzL3dlZWstbXVsdGlwbGUtZmllbGRzLXN0ZXB1cC1zdGVwZG93bi1mcm9tLXJlbmRlcmVyLWV4
cGVjdGVkLnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDM1ICswLDAgQEAKLUNoZWNrIHN0ZXBwaW5n
LXVwIGFuZCAtZG93biBmb3Igd2VlayBpbnB1dCBmaWVsZHMgZnJvbSByZW5kZXJlci4KLQotT24g
c3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93
ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgotCi0KLUZ1bmN0aW9uIGFyZ3VtZW50cyBhcmUgKHZhbHVl
LCBtaW4sIG1heCkuCi1XZWVrCi1QQVNTIHN0ZXBVcCgiMjAwMC1XMDUiLCAiMjAwMC1XMDUiLCAi
MjAwMC1XNDAiKSBpcyAiMjAwMC1XMDYiCi1QQVNTIHN0ZXBEb3duKCIyMDAwLVcwNSIsICIyMDAw
LVcwNSIsICIyMDAwLVc0MCIpIGlzICIyMDAwLVc0MCIKLVBBU1Mgc3RlcFVwKCIyMDAwLVcwNSIs
ICIyMDAwLVcwMiIsICIyMDAwLVcwNSIpIGlzICIyMDAwLVcwMiIKLVBBU1Mgc3RlcERvd24oIjIw
MDAtVzA1IiwgIjIwMDAtVzAyIiwgIjIwMDAtVzA1IikgaXMgIjIwMDAtVzA0IgotUEFTUyBzdGVw
VXAoIjIwMDAtVzA1IiwgIjIwMDAtVzA4IiwgIjIwMDAtVzEwIikgaXMgIjIwMDAtVzA4IgotUEFT
UyBzdGVwRG93bigiMjAwMC1XMDUiLCAiMjAwMC1XMDgiLCAiMjAwMC1XMTAiKSBpcyAiMjAwMC1X
MTAiCi1QQVNTIHN0ZXBVcCgiMjAwMC1XMDUiLCAiMjAwMC1XMDMiLCAiMjAwMC1XMDMiKSBpcyAi
MjAwMC1XMDMiCi1QQVNTIHN0ZXBEb3duKCIyMDAwLVcwNSIsICIyMDAwLVcwMyIsICIyMDAwLVcw
MyIpIGlzICIyMDAwLVcwMyIKLVBBU1Mgc3RlcFVwKCIyMDAwLVcwNSIsICIyMDAwLVcwMyIsICIy
MDAxLVcwNSIpIGlzICIyMDAwLVcwNiIKLVBBU1Mgc3RlcERvd24oIjIwMDAtVzA1IiwgIjIwMDAt
VzA1IiwgIjIwMDEtVzA4IikgaXMgIjIwMDAtVzA0IgotWWVhcgotUEFTUyBzdGVwVXAoIjIwMDAt
VzAxIiwgIjIwMDAtVzAxIiwgIjIwMDktVzUyIikgaXMgIjIwMDEtVzAxIgotUEFTUyBzdGVwRG93
bigiMjAwMC1XMDEiLCAiMjAwMC1XMDEiLCAiMjAwOS1XNTIiKSBpcyAiMjAwOS1XMDEiCi1QQVNT
IHN0ZXBVcCgiMjAwMC1XMDEiLCAiMTk5MC1XMDEiLCAiMjAwMC1XNTIiKSBpcyAiMTk5MC1XMDEi
Ci1QQVNTIHN0ZXBEb3duKCIyMDAwLVcwMSIsICIxOTkwLVcwMSIsICIyMDAwLVc1MiIpIGlzICIx
OTk5LVcwMSIKLVBBU1Mgc3RlcFVwKCIyNzU3NjAtVzAxIiwgIjE5OTAtVzAxIiwgbnVsbCkgaXMg
IjE5OTAtVzAxIgotUEFTUyBzdGVwRG93bigiMTk5MC1XMDEiLCAiMTk5MC1XMDEiLCBudWxsKSBp
cyAiMjc1NzYwLVcwMSIKLVBBU1Mgc3RlcFVwKCIyMDAwLVcwMSIsIG51bGwsICIyMDAwLVc1MiIp
IGlzICIwMDAxLVcwMSIKLVBBU1Mgc3RlcERvd24oIjAwMDEtVzAxIiwgbnVsbCwgIjIwMDAtVzUy
IikgaXMgIjIwMDAtVzAxIgotUEFTUyBzdGVwVXAoIjE5OTAtVzAxIiwgIjIwMDAtVzAxIiwgIjIw
MDktVzUyIikgaXMgIjIwMDAtVzAxIgotUEFTUyBzdGVwRG93bigiMTk5MC1XMDEiLCAiMjAwMC1X
MDEiLCAiMjAwOS1XNTIiKSBpcyAiMjAwOS1XMDEiCi1QQVNTIHN0ZXBVcCgiMjAyMC1XMDEiLCAi
MjAwMC1XMDEiLCAiMjAwMC1XNTIiKSBpcyAiMjAwMC1XMDEiCi1QQVNTIHN0ZXBEb3duKCIyMDIw
LVcwMSIsICIyMDAwLVcwMSIsICIyMDAwLVc1MiIpIGlzICIyMDAwLVcwMSIKLQotUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQotCi1URVNUIENPTVBMRVRFCi0KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2Zhc3QvZm9ybXMvd2Vlay1tdWx0aXBsZS1maWVsZHMvd2Vlay1tdWx0aXBsZS1m
aWVsZHMtc3RlcHVwLXN0ZXBkb3duLWZyb20tcmVuZGVyZXIuaHRtbCBiL0xheW91dFRlc3RzL2Zh
c3QvZm9ybXMvd2Vlay1tdWx0aXBsZS1maWVsZHMvd2Vlay1tdWx0aXBsZS1maWVsZHMtc3RlcHVw
LXN0ZXBkb3duLWZyb20tcmVuZGVyZXIuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggY2NlNTAxNTcxYTI2YTU5MWI4MjkxOWI3OTEwNWY5NTZjOWRkOThjZC4uMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1z
L3dlZWstbXVsdGlwbGUtZmllbGRzL3dlZWstbXVsdGlwbGUtZmllbGRzLXN0ZXB1cC1zdGVwZG93
bi1mcm9tLXJlbmRlcmVyLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSw2OSArMCwwIEBACi08IURP
Q1RZUEUgaHRtbD4KLTxodG1sPgotPGhlYWQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vanMvcmVzb3Vy
Y2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMv
Y29tbW9uLmpzIj48L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5PgotPHNjcmlwdD4KLWRlc2NyaXB0
aW9uKCdDaGVjayBzdGVwcGluZy11cCBhbmQgLWRvd24gZm9yIHdlZWsgaW5wdXQgZmllbGRzIGZy
b20gcmVuZGVyZXIuJyk7Ci1pZiAoIXdpbmRvdy5ldmVudFNlbmRlcikKLSAgICBkZWJ1ZygnVGhp
cyB0ZXN0IHJlcXVpcmVzIGV2ZW50U2VuZGVyLicpOwotCi12YXIgaW5wdXQgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KCdpbnB1dCcpOwotaW5wdXQudHlwZSA9ICd3ZWVrJzsKLWRvY3VtZW50LmJv
ZHkuYXBwZW5kQ2hpbGQoaW5wdXQpOwotCi1mdW5jdGlvbiBzZXRJbnB1dEF0dHJpYnV0ZXModmFs
dWUsIG1pbiwgbWF4KSB7Ci0gICAgaW5wdXQudmFsdWUgPSB2YWx1ZTsKLSAgICBpbnB1dC5taW4g
PSBtaW47Ci0gICAgaW5wdXQubWF4ID0gbWF4OwotfQotCi1mdW5jdGlvbiBzdGVwVXAodmFsdWUs
IG1pbiwgbWF4KSB7Ci0gICAgc2V0SW5wdXRBdHRyaWJ1dGVzKHZhbHVlLCBtaW4sIG1heCk7Ci0g
ICAgZXZlbnRTZW5kZXIua2V5RG93bigndXBBcnJvdycpOwotICAgIHJldHVybiBpbnB1dC52YWx1
ZTsKLX0KLQotZnVuY3Rpb24gc3RlcERvd24odmFsdWUsIG1pbiwgbWF4KSB7Ci0gICAgc2V0SW5w
dXRBdHRyaWJ1dGVzKHZhbHVlLCBtaW4sIG1heCk7Ci0gICAgZXZlbnRTZW5kZXIua2V5RG93bign
ZG93bkFycm93Jyk7Ci0gICAgcmV0dXJuIGlucHV0LnZhbHVlOwotfQotCi1pbnB1dC5mb2N1cygp
OwotZGVidWcoJ0Z1bmN0aW9uIGFyZ3VtZW50cyBhcmUgKHZhbHVlLCBtaW4sIG1heCkuJyk7Ci1k
ZWJ1ZygnV2VlaycpOwotc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdzdGVwVXAoIjIwMDAtVzA1Iiwg
IjIwMDAtVzA1IiwgIjIwMDAtVzQwIiknLCAnMjAwMC1XMDYnKTsKLXNob3VsZEJlRXF1YWxUb1N0
cmluZygnc3RlcERvd24oIjIwMDAtVzA1IiwgIjIwMDAtVzA1IiwgIjIwMDAtVzQwIiknLCAnMjAw
MC1XNDAnKTsKLXNob3VsZEJlRXF1YWxUb1N0cmluZygnc3RlcFVwKCIyMDAwLVcwNSIsICIyMDAw
LVcwMiIsICIyMDAwLVcwNSIpJywgJzIwMDAtVzAyJyk7Ci1zaG91bGRCZUVxdWFsVG9TdHJpbmco
J3N0ZXBEb3duKCIyMDAwLVcwNSIsICIyMDAwLVcwMiIsICIyMDAwLVcwNSIpJywgJzIwMDAtVzA0
Jyk7Ci1zaG91bGRCZUVxdWFsVG9TdHJpbmcoJ3N0ZXBVcCgiMjAwMC1XMDUiLCAiMjAwMC1XMDgi
LCAiMjAwMC1XMTAiKScsICcyMDAwLVcwOCcpOwotc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdzdGVw
RG93bigiMjAwMC1XMDUiLCAiMjAwMC1XMDgiLCAiMjAwMC1XMTAiKScsICcyMDAwLVcxMCcpOwot
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdzdGVwVXAoIjIwMDAtVzA1IiwgIjIwMDAtVzAzIiwgIjIw
MDAtVzAzIiknLCAnMjAwMC1XMDMnKTsKLXNob3VsZEJlRXF1YWxUb1N0cmluZygnc3RlcERvd24o
IjIwMDAtVzA1IiwgIjIwMDAtVzAzIiwgIjIwMDAtVzAzIiknLCAnMjAwMC1XMDMnKTsKLXNob3Vs
ZEJlRXF1YWxUb1N0cmluZygnc3RlcFVwKCIyMDAwLVcwNSIsICIyMDAwLVcwMyIsICIyMDAxLVcw
NSIpJywgJzIwMDAtVzA2Jyk7Ci1zaG91bGRCZUVxdWFsVG9TdHJpbmcoJ3N0ZXBEb3duKCIyMDAw
LVcwNSIsICIyMDAwLVcwNSIsICIyMDAxLVcwOCIpJywgJzIwMDAtVzA0Jyk7Ci0KLWRlYnVnKCdZ
ZWFyJyk7Ci1ldmVudFNlbmRlci5rZXlEb3duKCdyaWdodEFycm93Jyk7Ci1zaG91bGRCZUVxdWFs
VG9TdHJpbmcoJ3N0ZXBVcCgiMjAwMC1XMDEiLCAiMjAwMC1XMDEiLCAiMjAwOS1XNTIiKScsICcy
MDAxLVcwMScpOwotc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdzdGVwRG93bigiMjAwMC1XMDEiLCAi
MjAwMC1XMDEiLCAiMjAwOS1XNTIiKScsICcyMDA5LVcwMScpOwotc2hvdWxkQmVFcXVhbFRvU3Ry
aW5nKCdzdGVwVXAoIjIwMDAtVzAxIiwgIjE5OTAtVzAxIiwgIjIwMDAtVzUyIiknLCAnMTk5MC1X
MDEnKTsKLXNob3VsZEJlRXF1YWxUb1N0cmluZygnc3RlcERvd24oIjIwMDAtVzAxIiwgIjE5OTAt
VzAxIiwgIjIwMDAtVzUyIiknLCAnMTk5OS1XMDEnKTsKLXNob3VsZEJlRXF1YWxUb1N0cmluZygn
c3RlcFVwKCIyNzU3NjAtVzAxIiwgIjE5OTAtVzAxIiwgbnVsbCknLCAnMTk5MC1XMDEnKTsKLXNo
b3VsZEJlRXF1YWxUb1N0cmluZygnc3RlcERvd24oIjE5OTAtVzAxIiwgIjE5OTAtVzAxIiwgbnVs
bCknLCAnMjc1NzYwLVcwMScpOwotc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdzdGVwVXAoIjIwMDAt
VzAxIiwgbnVsbCwgIjIwMDAtVzUyIiknLCAnMDAwMS1XMDEnKTsKLXNob3VsZEJlRXF1YWxUb1N0
cmluZygnc3RlcERvd24oIjAwMDEtVzAxIiwgbnVsbCwgIjIwMDAtVzUyIiknLCAnMjAwMC1XMDEn
KTsKLXNob3VsZEJlRXF1YWxUb1N0cmluZygnc3RlcFVwKCIxOTkwLVcwMSIsICIyMDAwLVcwMSIs
ICIyMDA5LVc1MiIpJywgJzIwMDAtVzAxJyk7Ci1zaG91bGRCZUVxdWFsVG9TdHJpbmcoJ3N0ZXBE
b3duKCIxOTkwLVcwMSIsICIyMDAwLVcwMSIsICIyMDA5LVc1MiIpJywgJzIwMDktVzAxJyk7Ci1z
aG91bGRCZUVxdWFsVG9TdHJpbmcoJ3N0ZXBVcCgiMjAyMC1XMDEiLCAiMjAwMC1XMDEiLCAiMjAw
MC1XNTIiKScsICcyMDAwLVcwMScpOwotc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdzdGVwRG93bigi
MjAyMC1XMDEiLCAiMjAwMC1XMDEiLCAiMjAwMC1XNTIiKScsICcyMDAwLVcwMScpOwotCi1kZWJ1
ZygnJyk7Ci1pbnB1dC5yZW1vdmUoKTsKLTwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii4uLy4uL2pz
L3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgotPC9ib2R5PgotPC9odG1sPgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy93ZWVrLW11bHRpcGxlLWZpZWxkcy93
ZWVrLW11bHRpcGxlLWZpZWxkcy12YWxpZGl0eS1iYWRpbnB1dC1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9mYXN0L2Zvcm1zL3dlZWstbXVsdGlwbGUtZmllbGRzL3dlZWstbXVsdGlwbGUtZmll
bGRzLXZhbGlkaXR5LWJhZGlucHV0LWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMmQ2MTgyMWYyMWI2OTM4ZTMzOWFkY2VmMzA5YzM4NThiNTg0ZjEzMi4uMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0
L2Zvcm1zL3dlZWstbXVsdGlwbGUtZmllbGRzL3dlZWstbXVsdGlwbGUtZmllbGRzLXZhbGlkaXR5
LWJhZGlucHV0LWV4cGVjdGVkLnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDE1ICswLDAgQEAKLUEg
d2VlayBpbnB1dCBmaWVsZHMgd2l0aCBhIGJhZCB1c2VyIGlucHV0IHNob3VsZCBtYWtlIHZhbGlk
aXR5LmJhZElucHV0IHRydWUgYW5kIGhhdmUgOmludmFsaWQgc3R5bGUuCi0KLU9uIHN1Y2Nlc3Ms
IHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJU
RVNUIENPTVBMRVRFIi4KLQotCi1Jbml0aWFsIHN0YXRlLiBUaGUgZWxtZW50IGhhcyBubyB2YWx1
ZS4KLVBBU1MgY29sb3JPZihpbnB1dCkgaXMgbm90IGludmFsaWRTdHlsZUNvbG9yCi1QQVNTIGlu
cHV0LnZhbGlkaXR5LmJhZElucHV0IGlzIGZhbHNlCi1TZXQgYSB2YWx1ZSB0byB0aGUgZmlyc3Qg
c3ViLWZpZWxkLiBUaGUgZWxlbWVudCBiZWNvbWVzIGJhZElucHV0LgotUEFTUyBjb2xvck9mKGlu
cHV0KSBpcyBpbnZhbGlkU3R5bGVDb2xvcgotUEFTUyBpbnB1dC52YWxpZGl0eS5iYWRJbnB1dCBp
cyB0cnVlCi1QQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCi0KLVRFU1QgQ09NUExFVEUK
LQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy93ZWVrLW11bHRpcGxlLWZpZWxk
cy93ZWVrLW11bHRpcGxlLWZpZWxkcy12YWxpZGl0eS1iYWRpbnB1dC5odG1sIGIvTGF5b3V0VGVz
dHMvZmFzdC9mb3Jtcy93ZWVrLW11bHRpcGxlLWZpZWxkcy93ZWVrLW11bHRpcGxlLWZpZWxkcy12
YWxpZGl0eS1iYWRpbnB1dC5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA4NDdh
NmVlZDgwNmM1OTI2NjdhM2YwOWUyZWM2ODk1ZDc4NjM3NTcyLi4wMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvd2Vlay1t
dWx0aXBsZS1maWVsZHMvd2Vlay1tdWx0aXBsZS1maWVsZHMtdmFsaWRpdHktYmFkaW5wdXQuaHRt
bAorKysgL2Rldi9udWxsCkBAIC0xLDE0ICswLDAgQEAKLTwhRE9DVFlQRSBodG1sPgotPHN0eWxl
PgotOmludmFsaWQgewotICAgIGJhY2tncm91bmQtY29sb3I6ICNmZjAwMDA7Ci19Ci08L3N0eWxl
PgotPGJvZHk+Ci08c2NyaXB0IHNyYz0iLi4vLi4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpz
Ij48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvbXVsdGlwbGUtZmllbGRzLXZh
bGlkaXR5LWJhZGlucHV0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQ+Ci10ZXN0QmFkSW5wdXQoJ3dl
ZWsnKTsKLTwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii4uLy4uL2pzL3Jlc291cmNlcy9qcy10ZXN0
LXBvc3QuanMiPjwvc2NyaXB0PgotPC9ib2R5PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFz
dC9mb3Jtcy93ZWVrLW11bHRpcGxlLWZpZWxkcy93ZWVrLW11bHRpcGxlLWZpZWxkcy12YWx1ZS1z
ZXQtZW1wdHktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy93ZWVrLW11bHRp
cGxlLWZpZWxkcy93ZWVrLW11bHRpcGxlLWZpZWxkcy12YWx1ZS1zZXQtZW1wdHktZXhwZWN0ZWQu
dHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAzNmUwMDU3Y2E3N2EyMDg4YzhlOGVk
MGEzNGMzYmViOTM5YTI3NjEzLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwCi0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvd2Vlay1tdWx0aXBsZS1maWVsZHMvd2Vl
ay1tdWx0aXBsZS1maWVsZHMtdmFsdWUtc2V0LWVtcHR5LWV4cGVjdGVkLnR4dAorKysgL2Rldi9u
dWxsCkBAIC0xLDEyICswLDAgQEAKLUNoZWNrIGlmIGlucHV0LnZhbHVlPSIiIGNsZWFycyBhbiBp
bnB1dCB3aXRoIHBhcnRpYWxseS1zcGVjaWZpZWQgdmFsdWUuCi0KLU9uIHN1Y2Nlc3MsIHlvdSB3
aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENP
TVBMRVRFIi4KLQotCi1FbXB0eSB0ZXh0OiBXZWVrIC0tLCAtLS0tCi1QQVNTIGV2ZW50U2VuZGVy
LmtleURvd24oInVwQXJyb3ciKTsgZ2V0VXNlckFnZW50U2hhZG93VGV4dENvbnRlbnQoaW5wdXQp
IGlzIG5vdCBlbXB0eVRleHQKLVBBU1MgaW5wdXQudmFsdWUgPSAiIjsgZ2V0VXNlckFnZW50U2hh
ZG93VGV4dENvbnRlbnQoaW5wdXQpIGlzIGVtcHR5VGV4dAotUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQotCi1URVNUIENPTVBMRVRFCi0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zh
c3QvZm9ybXMvd2Vlay1tdWx0aXBsZS1maWVsZHMvd2Vlay1tdWx0aXBsZS1maWVsZHMtdmFsdWUt
c2V0LWVtcHR5Lmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3dlZWstbXVsdGlwbGUtZmll
bGRzL3dlZWstbXVsdGlwbGUtZmllbGRzLXZhbHVlLXNldC1lbXB0eS5odG1sCmRlbGV0ZWQgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCA5ZTY1OWMyN2JkZjU1YWJlYjFkNzkzYjBiMjU5MzdjYTZhZDJk
YjIwLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91
dFRlc3RzL2Zhc3QvZm9ybXMvd2Vlay1tdWx0aXBsZS1maWVsZHMvd2Vlay1tdWx0aXBsZS1maWVs
ZHMtdmFsdWUtc2V0LWVtcHR5Lmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSwxMCArMCwwIEBACi08
IURPQ1RZUEUgaHRtbD4KLTxib2R5PgotPHNjcmlwdCBzcmM9Ii4uLy4uL2pzL3Jlc291cmNlcy9q
cy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL2NvbW1v
bi5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL211bHRpcGxlLWZpZWxk
cy12YWx1ZS1zZXQtZW1wdHkuanMiPjwvc2NyaXB0PgotPHNjcmlwdD4KLXRlc3RTZXR0aW5nRW1w
dHlTdHJpbmdDbGVhcnNTdWJGaWVsZHMoJ3dlZWsnKTsKLTwvc2NyaXB0PgotPHNjcmlwdCBzcmM9
Ii4uLy4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgotPC9ib2R5Pgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy93ZWVrLW11bHRpcGxlLWZpZWxkcy93
ZWVrLW11bHRpcGxlLWZpZWxkcy13aGVlbC1ldmVudC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9mYXN0L2Zvcm1zL3dlZWstbXVsdGlwbGUtZmllbGRzL3dlZWstbXVsdGlwbGUtZmllbGRzLXdo
ZWVsLWV2ZW50LWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMTBh
ZTljN2FiNWEwYjNkNzdhMTkzMWY2Mzc2ZDJkOWJjZTI2MjJhYS4uMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3dlZWst
bXVsdGlwbGUtZmllbGRzL3dlZWstbXVsdGlwbGUtZmllbGRzLXdoZWVsLWV2ZW50LWV4cGVjdGVk
LnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDIzICswLDAgQEAKLVRlc3QgZm9yIHdoZWVsIG9wZXJh
dGlvbnMgZm9yIDxpbnB1dCB0eXBlPXdlZWs+Ci0KLU9uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBh
IHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4K
LQotCi1Jbml0aWFsIHZhbHVlIGlzIDE5OTktVzAxLiBXZSdsbCB3aGVlbCB1cCBieSAxOgotUEFT
UyBpbnB1dC52YWx1ZSBpcyAiMTk5OS1XMDIiCi1XaGVlbCB1cCBieSAxMDA6Ci1QQVNTIGlucHV0
LnZhbHVlIGlzICIxOTk5LVcwMyIKLVdoZWVsIGRvd24gYnkgMToKLVBBU1MgaW5wdXQudmFsdWUg
aXMgIjE5OTktVzAyIgotV2hlZWwgZG93biBieSAyNTY6Ci1QQVNTIGlucHV0LnZhbHVlIGlzICIx
OTk5LVcwMSIKLURpc2FibGVkIGlucHV0IGVsZW1lbnQ6Ci1QQVNTIGlucHV0LnZhbHVlIGlzICIx
OTk5LVcwMSIKLVJlYWQtb25seSBpbnB1dCBlbGVtZW50OgotUEFTUyBpbnB1dC52YWx1ZSBpcyAi
MTk5OS1XMDEiCi1ObyBmb2N1czoKLVBBU1MgaW5wdXQudmFsdWUgaXMgIjE5OTktVzAxIgotUEFT
UyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQotCi1URVNUIENPTVBMRVRFCi0KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvd2Vlay1tdWx0aXBsZS1maWVsZHMvd2Vlay1tdWx0
aXBsZS1maWVsZHMtd2hlZWwtZXZlbnQuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvd2Vl
ay1tdWx0aXBsZS1maWVsZHMvd2Vlay1tdWx0aXBsZS1maWVsZHMtd2hlZWwtZXZlbnQuaHRtbApk
ZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNDk4ZjQyZmVmNTNkZGUxNTA3MzkyZjE5YWZl
MGQ4ZGU4M2JiZGE3Mi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAot
LS0gYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3dlZWstbXVsdGlwbGUtZmllbGRzL3dlZWstbXVs
dGlwbGUtZmllbGRzLXdoZWVsLWV2ZW50Lmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSwxNyArMCww
IEBACi08IURPQ1RZUEUgaHRtbD4KLTxodG1sPgotPGhlYWQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4v
Li4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBz
cmM9Ii4uL3Jlc291cmNlcy9jb21tb24td2hlZWwtZXZlbnQuanMiPjwvc2NyaXB0PgotPC9oZWFk
PgotPGJvZHk+Ci08c2NyaXB0PgotdGVzdFdoZWVsRXZlbnQoewotICAgICdpbnB1dFR5cGUnIDog
J3dlZWsnLAotICAgICdpbml0aWFsVmFsdWUnIDogJzE5OTktVzAxJywKLSAgICAnc3RlcFVwVmFs
dWUxJyA6ICcxOTk5LVcwMicsCi0gICAgJ3N0ZXBVcFZhbHVlMicgOiAnMTk5OS1XMDMnIH0pOwot
PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVz
dC1wb3N0LmpzIj48L3NjcmlwdD4KLTwvYm9keT4KLTwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL3BsYXRmb3JtL2VmbC9UZXN0RXhwZWN0YXRpb25zIGIvTGF5b3V0VGVzdHMvcGxhdGZv
cm0vZWZsL1Rlc3RFeHBlY3RhdGlvbnMKaW5kZXggYWQzM2Y3YTQyZjI3YzFjZWY2OTJlN2EwNjUw
YjMzMjI3ZGQ4MGU5OC4uN2NkYzcyZTE4NjEzYjQwZGQxNWRlYmU5N2NkZDBkNWIwMzIzOTEyOCAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZWZsL1Rlc3RFeHBlY3RhdGlvbnMKKysr
IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZWZsL1Rlc3RFeHBlY3RhdGlvbnMKQEAgLTE0MzIsMTQg
KzE0MzIsNiBAQCB3ZWJraXQub3JnL2IvNTA0ODUgaW5zcGVjdG9yL3Byb2ZpbGVyL2hlYXAtc25h
cHNob3Qtc3VtbWFyeS1zb3J0aW5nLmh0bWwgWyBTa2lwCiB3ZWJraXQub3JnL2IvNTA0ODUgaW5z
cGVjdG9yL3Byb2ZpbGVyL2hlYXAtc25hcHNob3Qtc3VtbWFyeS1zb3J0aW5nLWluc3RhbmNlcy5o
dG1sIFsgU2tpcCBdCiB3ZWJraXQub3JnL2IvNTA0ODUgaW5zcGVjdG9yLXByb3RvY29sL2hlYXAt
cHJvZmlsZXIgWyBTa2lwIF0KIAotIyBFTkFCTEUoSU5QVVRfTVVMVElQTEVfRklFTERTX1VJKSBp
cyBkaXNhYmxlZAotZmFzdC9mb3Jtcy9kYXRlLW11bHRpcGxlLWZpZWxkcwotZmFzdC9mb3Jtcy9k
YXRldGltZS1tdWx0aXBsZS1maWVsZHMKLWZhc3QvZm9ybXMvZGF0ZXRpbWVsb2NhbC1tdWx0aXBs
ZS1maWVsZHMKLXdlYmtpdC5vcmcvYi85NzI5OSBmYXN0L2Zvcm1zL21vbnRoLW11bHRpcGxlLWZp
ZWxkcwotd2Via2l0Lm9yZy9iLzk0MTg2IGZhc3QvZm9ybXMvdGltZS1tdWx0aXBsZS1maWVsZHMK
LWZhc3QvZm9ybXMvd2Vlay1tdWx0aXBsZS1maWVsZHMKLQogd2Via2l0Lm9yZy9iLzkzOTc2IGZh
c3QvY3NzLWdlbmVyYXRlZC1jb250ZW50L3F1b3Rlcy1sYW5nLmh0bWwgWyBJbWFnZU9ubHlGYWls
dXJlIF0KIAogIyBUaGlzIGhhcyBhbHdheXMgZmFpbGVkIG9uIEd0ay9FZmwgLSBleHBvc2VkIGJ5
IGJ1ZyA4OTgyNgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL1Rlc3RFeHBl
Y3RhdGlvbnMgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGsvVGVzdEV4cGVjdGF0aW9ucwppbmRl
eCBjMTEzNGU3MWZiYTM0MGFhZjY2YTA1MGM5ZWE3YzU0MGRjYzZlNDU5Li4xMDJlNmNiZTFhY2Vk
YTZjYTMzYzY4NDZlNGYyN2MzZmUwNzMwOWY3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0
Zm9ybS9ndGsvVGVzdEV4cGVjdGF0aW9ucworKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGsv
VGVzdEV4cGVjdGF0aW9ucwpAQCAtMTY3LDE3ICsxNjcsMTEgQEAgd2Via2l0Lm9yZy9iLzk4OTM1
IGZhc3QvZm9ybXMvY29sb3IgWyBTa2lwIF0KIAogIyBFTkFCTEVfSU5QVVRfVFlQRV8qIGFyZSBu
b3QgZW5hYmxlZC4KIHdlYmtpdC5vcmcvYi85ODkzNiBmYXN0L2Zvcm1zL2RhdGUgWyBTa2lwIF0K
LXdlYmtpdC5vcmcvYi85ODkzNiBmYXN0L2Zvcm1zL2RhdGUtbXVsdGlwbGUtZmllbGRzIFsgU2tp
cCBdCiB3ZWJraXQub3JnL2IvOTg5MzYgZmFzdC9mb3Jtcy9kYXRldGltZSBbIFNraXAgXQotd2Vi
a2l0Lm9yZy9iLzk4OTM2IGZhc3QvZm9ybXMvZGF0ZXRpbWUtbXVsdGlwbGUtZmllbGRzIFsgU2tp
cCBdCiB3ZWJraXQub3JnL2IvOTg5MzYgZmFzdC9mb3Jtcy9kYXRldGltZWxvY2FsIFsgU2tpcCBd
Ci13ZWJraXQub3JnL2IvOTg5MzYgZmFzdC9mb3Jtcy9kYXRldGltZWxvY2FsLW11bHRpcGxlLWZp
ZWxkcyBbIFNraXAgXQogd2Via2l0Lm9yZy9iLzk4OTM2IGZhc3QvZm9ybXMvbW9udGggWyBTa2lw
IF0KLXdlYmtpdC5vcmcvYi85ODkzNiBmYXN0L2Zvcm1zL21vbnRoLW11bHRpcGxlLWZpZWxkcyBb
IFNraXAgXQogd2Via2l0Lm9yZy9iLzk4OTM2IGZhc3QvZm9ybXMvdGltZSBbIFNraXAgXQotd2Vi
a2l0Lm9yZy9iLzk4OTM2IGZhc3QvZm9ybXMvdGltZS1tdWx0aXBsZS1maWVsZHMgWyBTa2lwIF0K
IHdlYmtpdC5vcmcvYi85ODkzNiBmYXN0L2Zvcm1zL3dlZWsgWyBTa2lwIF0KLXdlYmtpdC5vcmcv
Yi85ODkzNiBmYXN0L2Zvcm1zL3dlZWstbXVsdGlwbGUtZmllbGRzIFsgU2tpcCBdCiAKICMgRU5B
QkxFX0dBTUVQQUQgbm90IGVuYWJsZWQuCiB3ZWJraXQub3JnL2IvOTg5MzcgZ2FtZXBhZCBbIFNr
aXAgXQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL1Rlc3RFeHBlY3RhdGlv
bnMgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvVGVzdEV4cGVjdGF0aW9ucwppbmRleCBiNThk
NzQyNjJiZDE5N2M1ODBjNjU2MTM4ZTVlZjg0MjE0MDliM2YyLi5mMzk3ZDcwMWE5MzlkZThjMTMw
YWY1NTJhYWNjMThiNTU2ZDI5OWRjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9t
YWMvVGVzdEV4cGVjdGF0aW9ucworKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvVGVzdEV4
cGVjdGF0aW9ucwpAQCAtNjc3LDE0ICs2NzcsNiBAQCB3ZWJraXQub3JnL2IvOTA3MjUgbWVkaWEv
bWVkaWEtYmxvY2tlZC1ieS1iZWZvcmVsb2FkLmh0bWwgWyBQYXNzIEZhaWx1cmUgXQogIyBUaGlz
IHRlc3QgZGVwZW5kcyBvbiBzdWJwaXhlbCBsYXlvdXQuCiB3ZWJraXQub3JnL2IvOTIzNTIgY3Nz
My9mbGV4Ym94L2ZsZXgtcm91bmRpbmcuaHRtbAogCi0jIEVOQUJMRShJTlBVVF9NVUxUSVBMRV9G
SUVMRFNfVUkpIGlzIGRpc2FibGVkCi1mYXN0L2Zvcm1zL2RhdGUtbXVsdGlwbGUtZmllbGRzCi1m
YXN0L2Zvcm1zL2RhdGV0aW1lLW11bHRpcGxlLWZpZWxkcwotZmFzdC9mb3Jtcy9kYXRldGltZWxv
Y2FsLW11bHRpcGxlLWZpZWxkcwotZmFzdC9mb3Jtcy9tb250aC1tdWx0aXBsZS1maWVsZHMKLWZh
c3QvZm9ybXMvdGltZS1tdWx0aXBsZS1maWVsZHMKLWZhc3QvZm9ybXMvd2Vlay1tdWx0aXBsZS1m
aWVsZHMKLQogIyA8cmRhcjovL3Byb2JsZW0vMTEyMjQxNjA+IEZvY3VzIG5vdCB0cmFuc2ZlcnJp
bmcgcHJvcGVybHkgaW4gRHVtcFJlbmRlclRyZWUgaW4gTW91bnRhaW4gTGlvbgogZmFzdC9ldmVu
dHMvc2hvdy1tb2RhbC1kaWFsb2ctb25ibHVyLW9uZm9jdXMuaHRtbAogcGxhdGZvcm0vbWFjL2Zh
c3QvZm9ybXMvbGlzdGJveC1zY3JvbGxiYXItaGl0LXRlc3QuaHRtbApkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvcGxhdGZvcm0vcXQvVGVzdEV4cGVjdGF0aW9ucyBiL0xheW91dFRlc3RzL3BsYXRm
b3JtL3F0L1Rlc3RFeHBlY3RhdGlvbnMKaW5kZXggZDZmYTA4OTFkZDczMjc5NWZlODk5ODdiYzRk
MWFmMzY2YzEyMTkzZS4uZjYyMmFkOTBmMjljZmRkMTg4N2QyOWU3Y2IxNjQ2M2RlZTUzNWFhYSAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vcXQvVGVzdEV4cGVjdGF0aW9ucworKysg
Yi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9xdC9UZXN0RXhwZWN0YXRpb25zCkBAIC0zMDAsMTQgKzMw
MCw2IEBAIGZhc3QvZXZlbnRzL3RvdWNoL2dlc3R1cmUvY29udGV4dC1tZW51LW9uLWxvbmctdGFw
Lmh0bWwKICMgRU5BQkxFKEhJRERFTl9QQUdFX0RPTV9USU1FUl9USFJPVFRMSU5HKSBpcyBkaXNh
YmxlZAogZmFzdC9kb20vdGltZXItdGhyb3R0bGluZy1oaWRkZW4tcGFnZS5odG1sCiAKLSMgRU5B
QkxFKElOUFVUX01VTFRJUExFX0ZJRUxEU19VSSkgaXMgZGlzYWJsZWQKLWZhc3QvZm9ybXMvZGF0
ZS1tdWx0aXBsZS1maWVsZHMKLWZhc3QvZm9ybXMvZGF0ZXRpbWUtbXVsdGlwbGUtZmllbGRzCi1m
YXN0L2Zvcm1zL2RhdGV0aW1lbG9jYWwtbXVsdGlwbGUtZmllbGRzCi1mYXN0L2Zvcm1zL21vbnRo
LW11bHRpcGxlLWZpZWxkcwotZmFzdC9mb3Jtcy90aW1lLW11bHRpcGxlLWZpZWxkcwotZmFzdC9m
b3Jtcy93ZWVrLW11bHRpcGxlLWZpZWxkcwotCiAjIEVOQUJMRShEUkFHR0FCTEVfUkVHSU9OKSBp
cyBkaXNhYmxlZAogZmFzdC9jc3MvZHJhZ2dhYmxlLXJlZ2lvbi1wYXJzZXIuaHRtbAogCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93aW4vVGVzdEV4cGVjdGF0aW9ucyBiL0xheW91
dFRlc3RzL3BsYXRmb3JtL3dpbi9UZXN0RXhwZWN0YXRpb25zCmluZGV4IGFjZjM2MDVjYTkxNDZl
YzA4ZjY5OTNlNWFiN2RhZWMyNGE1ZjMwNjEuLmJlYjdjNjA5OWVmOGY0ZjA2NTY1ZjVkZTNmNWY0
YWE0YTEyMTU2ZGMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL3dpbi9UZXN0RXhw
ZWN0YXRpb25zCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL3dpbi9UZXN0RXhwZWN0YXRpb25z
CkBAIC0yMDU0LDE0ICsyMDU0LDYgQEAgcGx1Z2lucy9uZXN0ZWQtcGx1Z2luLW9iamVjdHMuaHRt
bAogI1JlcXVpcmUgcmViYXNlbGluaW5nIGFmdGVyICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9ODk4MjYKIGZhc3QvY3NzL3dvcmQtc3BhY2UtZXh0cmEuaHRtbAogCi0j
IEVOQUJMRShJTlBVVF9NVUxUSVBMRV9GSUVMRFNfVUkpIGlzIGRpc2FibGVkCi1mYXN0L2Zvcm1z
L2RhdGUtbXVsdGlwbGUtZmllbGRzCi1mYXN0L2Zvcm1zL2RhdGV0aW1lLW11bHRpcGxlLWZpZWxk
cwotZmFzdC9mb3Jtcy9kYXRldGltZWxvY2FsLW11bHRpcGxlLWZpZWxkcwotZmFzdC9mb3Jtcy9t
b250aC1tdWx0aXBsZS1maWVsZHMKLWZhc3QvZm9ybXMvdGltZS1tdWx0aXBsZS1maWVsZHMKLWZh
c3QvZm9ybXMvd2Vlay1tdWx0aXBsZS1maWVsZHMKLQogIyBOZWVkcyBhIHJlYmFzZWxpbmUgYWZ0
ZXIgV0sxMDg0MjkgbGFuZHMuCiBzdmcvY3VzdG9tL3RleHQtY3RtLnN2ZwogCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93aW5jYWlyby9UZXN0RXhwZWN0YXRpb25zIGIvTGF5b3V0
VGVzdHMvcGxhdGZvcm0vd2luY2Fpcm8vVGVzdEV4cGVjdGF0aW9ucwppbmRleCBhYmNjZmVlOGE5
YTRkNjUwMzAxM2UyZTAwN2UyN2RhYmNjNTRjOTZiLi5mYTc4M2E3ZGM5ZTVmZmUwNDM3YWVmMDcz
MDU5MTVjNzQ2YTJjMDZlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93aW5jYWly
by9UZXN0RXhwZWN0YXRpb25zCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL3dpbmNhaXJvL1Rl
c3RFeHBlY3RhdGlvbnMKQEAgLTI1NDIsMTEgKzI1NDIsNiBAQCBwbHVnaW5zL25lc3RlZC1wbHVn
aW4tb2JqZWN0cy5odG1sCiAjUmVxdWlyZSByZWJhc2VsaW5pbmcgYWZ0ZXIgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04OTgyNgogZmFzdC9jc3Mvd29yZC1zcGFjZS1l
eHRyYS5odG1sCiAKLSMgRU5BQkxFKElOUFVUX01VTFRJUExFX0ZJRUxEU19VSSkgaXMgZGlzYWJs
ZWQKLWZhc3QvZm9ybXMvZGF0ZS1tdWx0aXBsZS1maWVsZHMKLWZhc3QvZm9ybXMvbW9udGgtbXVs
dGlwbGUtZmllbGRzCi1mYXN0L2Zvcm1zL3RpbWUtbXVsdGlwbGUtZmllbGRzCi0KICMgUmVxdWly
ZSByZWJhc2VsaW5lIGFmdGVyIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD04NDI4NgogZmFzdC9ibG9jay9mbG9hdC9hdm9pZGFuY2UtcnRsLmh0bWwKIGZhc3QvYm9yZGVy
cy9ib3JkZXItcmFkaXVzLXdpZGUtYm9yZGVyLTAxLmh0bWwK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>202939</attachid>
            <date>2013-05-26 17:47:30 -0700</date>
            <delta_ts>2013-05-29 01:16:28 -0700</delta_ts>
            <desc>Patch 2</desc>
            <filename>bug-116796-20130527094608.patch</filename>
            <type>text/plain</type>
            <size>663472</size>
            <attacher name="Kent Tamura">tkent</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTUwNzI3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IDdkNTlmYWZjMTcwODU1NjFkN2RlM2Jm
MWYwMTllOWFlMDg3OGYwYjkuLmFhM2RlYTYzNTU1MGRjYmJlMGMzZWRkNGRjYWJmZTI5ZjI2MGRi
OGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTIgQEAKKzIwMTMtMDUtMjcgIEtlbnQgVGFtdXJhICA8dGtlbnRA
Y2hyb21pdW0ub3JnPgorCisgICAgICAgIFJlbW92ZSBFTkFCTEVfSU5QVVRfTVVMVElQTEVfRklF
TERTX1VJLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MTE2Nzk2CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
KiB3dGYvRmVhdHVyZURlZmluZXMuaDoKKwogMjAxMy0wNS0yNiAgS2VudCBUYW11cmEgIDx0a2Vu
dEBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgUmVtb3ZlIEVOQUJMRV9DQUxFTkRBUl9QSUNLRVIK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCBlM2ViNTQwMzkwNDBlMmZhYzM3MGI1YmVmOTIwNTBmOGViMWY4ODI4Li43
NTM0N2VkYTJjNmJhY2M2NTVmZWRiZmIwN2MyMDlhNGZiNzk1MDAwIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsODEgQEAKKzIwMTMtMDUtMjcgIEtlbnQgVGFtdXJhICA8dGtlbnRAY2hyb21pdW0ub3Jn
PgorCisgICAgICAgIFJlbW92ZSBFTkFCTEVfSU5QVVRfTVVMVElQTEVfRklFTERTX1VJLgorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTE2Nzk2CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGhpcyBmZWF0dXJl
IHdhcyB1c2VkIG9ubHkgYnkgQ2hyb21pdW0gcG9ydC4KKworICAgICAgICAqIENNYWtlTGlzdHMu
dHh0OgorICAgICAgICAqIEdOVW1ha2VmaWxlLmxpc3QuYW06CisgICAgICAgICogVGFyZ2V0LnBy
aToKKyAgICAgICAgKiBXZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvajoKKyAgICAgICAgKiBX
ZWJDb3JlLnZjeHByb2ovV2ViQ29yZS52Y3hwcm9qOgorICAgICAgICAqIFdlYkNvcmUudmN4cHJv
ai9XZWJDb3JlLnZjeHByb2ouZmlsdGVyczoKKyAgICAgICAgKiBXZWJDb3JlLnhjb2RlcHJvai9w
cm9qZWN0LnBieHByb2o6CisgICAgICAgICogY3NzL2h0bWwuY3NzOgorICAgICAgICAoaW5wdXQ6
Oi13ZWJraXQtZGF0ZS1hbmQtdGltZS12YWx1ZSk6CisgICAgICAgICogZG9tL0VsZW1lbnQuY3Bw
OgorICAgICAgICAqIGRvbS9FbGVtZW50Lmg6CisgICAgICAgICogaHRtbC9CYXNlQ2hvb3Nlck9u
bHlEYXRlQW5kVGltZUlucHV0VHlwZS5jcHA6CisgICAgICAgICogaHRtbC9CYXNlQ2hvb3Nlck9u
bHlEYXRlQW5kVGltZUlucHV0VHlwZS5oOgorICAgICAgICAqIGh0bWwvQmFzZU11bHRpcGxlRmll
bGRzRGF0ZUFuZFRpbWVJbnB1dFR5cGUuY3BwOiBSZW1vdmVkLgorICAgICAgICAqIGh0bWwvQmFz
ZU11bHRpcGxlRmllbGRzRGF0ZUFuZFRpbWVJbnB1dFR5cGUuaDogUmVtb3ZlZC4KKyAgICAgICAg
KiBodG1sL0RhdGVJbnB1dFR5cGUuY3BwOgorICAgICAgICAqIGh0bWwvRGF0ZUlucHV0VHlwZS5o
OgorICAgICAgICAoRGF0ZUlucHV0VHlwZSk6CisgICAgICAgICogaHRtbC9EYXRlVGltZUZpZWxk
c1N0YXRlLmNwcDogUmVtb3ZlZC4KKyAgICAgICAgKiBodG1sL0RhdGVUaW1lRmllbGRzU3RhdGUu
aDogUmVtb3ZlZC4KKyAgICAgICAgKiBodG1sL0RhdGVUaW1lSW5wdXRUeXBlLmNwcDoKKyAgICAg
ICAgKiBodG1sL0RhdGVUaW1lSW5wdXRUeXBlLmg6CisgICAgICAgIChEYXRlVGltZUlucHV0VHlw
ZSk6CisgICAgICAgICogaHRtbC9EYXRlVGltZUxvY2FsSW5wdXRUeXBlLmNwcDoKKyAgICAgICAg
KiBodG1sL0RhdGVUaW1lTG9jYWxJbnB1dFR5cGUuaDoKKyAgICAgICAgKERhdGVUaW1lTG9jYWxJ
bnB1dFR5cGUpOgorICAgICAgICAqIGh0bWwvSFRNTElucHV0RWxlbWVudC5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpIVE1MSW5wdXRFbGVtZW50OjpIVE1MSW5wdXRFbGVtZW50KToKKyAgICAgICAg
KFdlYkNvcmUpOgorICAgICAgICAqIGh0bWwvSFRNTElucHV0RWxlbWVudC5oOgorICAgICAgICAo
SFRNTElucHV0RWxlbWVudCk6CisgICAgICAgICogaHRtbC9JbnB1dFR5cGUuY3BwOgorICAgICAg
ICAqIGh0bWwvSW5wdXRUeXBlLmg6CisgICAgICAgIChJbnB1dFR5cGUpOgorICAgICAgICAqIGh0
bWwvTW9udGhJbnB1dFR5cGUuY3BwOgorICAgICAgICAqIGh0bWwvTW9udGhJbnB1dFR5cGUuaDoK
KyAgICAgICAgKE1vbnRoSW5wdXRUeXBlKToKKyAgICAgICAgKiBodG1sL1RpbWVJbnB1dFR5cGUu
Y3BwOgorICAgICAgICAqIGh0bWwvVGltZUlucHV0VHlwZS5oOgorICAgICAgICAoVGltZUlucHV0
VHlwZSk6CisgICAgICAgICogaHRtbC9XZWVrSW5wdXRUeXBlLmNwcDoKKyAgICAgICAgKiBodG1s
L1dlZWtJbnB1dFR5cGUuaDoKKyAgICAgICAgKFdlZWtJbnB1dFR5cGUpOgorICAgICAgICAqIGh0
bWwvc2hhZG93L0NsZWFyQnV0dG9uRWxlbWVudC5jcHA6IFJlbW92ZWQuCisgICAgICAgICogaHRt
bC9zaGFkb3cvQ2xlYXJCdXR0b25FbGVtZW50Lmg6IFJlbW92ZWQuCisgICAgICAgICogaHRtbC9z
aGFkb3cvRGF0ZVRpbWVFZGl0RWxlbWVudC5jcHA6IFJlbW92ZWQuCisgICAgICAgICogaHRtbC9z
aGFkb3cvRGF0ZVRpbWVFZGl0RWxlbWVudC5oOiBSZW1vdmVkLgorICAgICAgICAqIGh0bWwvc2hh
ZG93L0RhdGVUaW1lRmllbGRFbGVtZW50LmNwcDogUmVtb3ZlZC4KKyAgICAgICAgKiBodG1sL3No
YWRvdy9EYXRlVGltZUZpZWxkRWxlbWVudC5oOiBSZW1vdmVkLgorICAgICAgICAqIGh0bWwvc2hh
ZG93L0RhdGVUaW1lRmllbGRFbGVtZW50cy5jcHA6IFJlbW92ZWQuCisgICAgICAgICogaHRtbC9z
aGFkb3cvRGF0ZVRpbWVGaWVsZEVsZW1lbnRzLmg6IFJlbW92ZWQuCisgICAgICAgICogaHRtbC9z
aGFkb3cvRGF0ZVRpbWVOdW1lcmljRmllbGRFbGVtZW50LmNwcDogUmVtb3ZlZC4KKyAgICAgICAg
KiBodG1sL3NoYWRvdy9EYXRlVGltZU51bWVyaWNGaWVsZEVsZW1lbnQuaDogUmVtb3ZlZC4KKyAg
ICAgICAgKiBodG1sL3NoYWRvdy9EYXRlVGltZVN5bWJvbGljRmllbGRFbGVtZW50LmNwcDogUmVt
b3ZlZC4KKyAgICAgICAgKiBodG1sL3NoYWRvdy9EYXRlVGltZVN5bWJvbGljRmllbGRFbGVtZW50
Lmg6IFJlbW92ZWQuCisgICAgICAgICogaHRtbC9zaGFkb3cvUGlja2VySW5kaWNhdG9yRWxlbWVu
dC5jcHA6IFJlbW92ZWQuCisgICAgICAgICogaHRtbC9zaGFkb3cvUGlja2VySW5kaWNhdG9yRWxl
bWVudC5oOiBSZW1vdmVkLgorICAgICAgICAqIHBhZ2UvQ2hyb21lQ2xpZW50Lmg6CisgICAgICAg
IChDaHJvbWVDbGllbnQpOgorICAgICAgICAqIHBsYXRmb3JtL0xvY2FsaXplZFN0cmluZ3MuaDoK
KyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAqIHBsYXRmb3JtL3RleHQvUGxhdGZvcm1Mb2Nh
bGUuY3BwOgorICAgICAgICAqIHBsYXRmb3JtL3RleHQvUGxhdGZvcm1Mb2NhbGUuaDoKKyAgICAg
ICAgKExvY2FsZSk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckRldGFpbHNNYXJrZXIuY3Bw
OgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJEZXRhaWxzTWFya2VyLmg6CisgICAgICAgICog
cmVuZGVyaW5nL1JlbmRlck9iamVjdC5oOgorICAgICAgICAoUmVuZGVyT2JqZWN0KToKKwogMjAx
My0wNS0yNiAgQW50dGkgS29pdmlzdG8gIDxhbnR0aUBhcHBsZS5jb20+CiAKICAgICAgICAgUmVu
YW1lIEZvbnRGYWxsYmFja0xpc3QgdG8gRm9udEdseXBocwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9ibGFja2JlcnJ5L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvYmxhY2tiZXJyeS9DaGFu
Z2VMb2cKaW5kZXggZmQ3MDdiYjZjZjcwZWY3ZGM3ZTQ2NWY3MmQxYWUzZGMyYjc5YzcyOS4uMWZl
Zjc3MGYzM2I5OTMwYTYzMjZkNDQzZmZhZjE5Mzg5N2RjY2E5NCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9ibGFja2JlcnJ5L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L2JsYWNrYmVy
cnkvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTIgQEAKKzIwMTMtMDUtMjcgIEtlbnQgVGFtdXJhICA8
dGtlbnRAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFJlbW92ZSBFTkFCTEVfSU5QVVRfTVVMVElQ
TEVfRklFTERTX1VJLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MTE2Nzk2CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgKiBXZWJDb3JlU3VwcG9ydC9BYm91dERhdGFFbmFibGVGZWF0dXJlcy5pbjoKKwogMjAx
My0wNS0yNiAgS2VudCBUYW11cmEgIDx0a2VudEBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgUmVt
b3ZlIEVOQUJMRV9DQUxFTkRBUl9QSUNLRVIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3RmL0Zl
YXR1cmVEZWZpbmVzLmggYi9Tb3VyY2UvV1RGL3d0Zi9GZWF0dXJlRGVmaW5lcy5oCmluZGV4IDAz
NWI1YmIxNzU0NTc4NmNhOTQyNTMzYTRkYzBiNTIwNDcwMTdjZGIuLmIxYjE4ZGRiMTNjNGRkNWFl
NDFlYTlhZDAyNjg3MWVjYjJkN2Q4MjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvd3RmL0ZlYXR1
cmVEZWZpbmVzLmgKKysrIGIvU291cmNlL1dURi93dGYvRmVhdHVyZURlZmluZXMuaApAQCAtNDk0
LDEwICs0OTQsNiBAQAogI2RlZmluZSBFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRSAwCiAjZW5kaWYK
IAotI2lmICFkZWZpbmVkKEVOQUJMRV9JTlBVVF9NVUxUSVBMRV9GSUVMRFNfVUkpCi0jZGVmaW5l
IEVOQUJMRV9JTlBVVF9NVUxUSVBMRV9GSUVMRFNfVUkgMAotI2VuZGlmCi0KICNpZiAhZGVmaW5l
ZChFTkFCTEVfSU5QVVRfU1BFRUNIKQogI2RlZmluZSBFTkFCTEVfSU5QVVRfU1BFRUNIIDAKICNl
bmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQgYi9Tb3VyY2Uv
V2ViQ29yZS9DTWFrZUxpc3RzLnR4dAppbmRleCAzNzFkYzliN2RlZWM4MzAyM2I1YzkxY2E1ZTA5
Yjg1NjMwZmU2YjE2Li5lNzFkZGJkNWIwZmE3NWJlNjRhNDY2MjUxZGU5M2M3MGIxZmY1YzRjIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9DTWFrZUxpc3RzLnR4dApAQCAtMTM0MSw3ICsxMzQxLDYgQEAgc2V0KFdlYkNvcmVfU09V
UkNFUwogICAgIGh0bWwvQmFzZUNob29zZXJPbmx5RGF0ZUFuZFRpbWVJbnB1dFR5cGUuY3BwCiAg
ICAgaHRtbC9CYXNlQ2xpY2thYmxlV2l0aEtleUlucHV0VHlwZS5jcHAKICAgICBodG1sL0Jhc2VE
YXRlQW5kVGltZUlucHV0VHlwZS5jcHAKLSAgICBodG1sL0Jhc2VNdWx0aXBsZUZpZWxkc0RhdGVB
bmRUaW1lSW5wdXRUeXBlLmNwcAogICAgIGh0bWwvQmFzZVRleHRJbnB1dFR5cGUuY3BwCiAgICAg
aHRtbC9CdXR0b25JbnB1dFR5cGUuY3BwCiAgICAgaHRtbC9DaGVja2JveElucHV0VHlwZS5jcHAK
QEAgLTE1NTcsMTMgKzE1NTYsNyBAQCBzZXQoV2ViQ29yZV9TT1VSQ0VTCiAgICAgaHRtbC9wYXJz
ZXIvWFNTQXVkaXRvci5jcHAKICAgICBodG1sL3BhcnNlci9YU1NBdWRpdG9yRGVsZWdhdGUuY3Bw
CiAKLSAgICBodG1sL3NoYWRvdy9DbGVhckJ1dHRvbkVsZW1lbnQuY3BwCiAgICAgaHRtbC9zaGFk
b3cvQ29udGVudERpc3RyaWJ1dG9yLmNwcAotICAgIGh0bWwvc2hhZG93L0RhdGVUaW1lRWRpdEVs
ZW1lbnQuY3BwCi0gICAgaHRtbC9zaGFkb3cvRGF0ZVRpbWVGaWVsZEVsZW1lbnQuY3BwCi0gICAg
aHRtbC9zaGFkb3cvRGF0ZVRpbWVGaWVsZEVsZW1lbnRzLmNwcAotICAgIGh0bWwvc2hhZG93L0Rh
dGVUaW1lTnVtZXJpY0ZpZWxkRWxlbWVudC5jcHAKLSAgICBodG1sL3NoYWRvdy9EYXRlVGltZVN5
bWJvbGljRmllbGRFbGVtZW50LmNwcAogICAgIGh0bWwvc2hhZG93L0RldGFpbHNNYXJrZXJDb250
cm9sLmNwcAogICAgIGh0bWwvc2hhZG93L0hUTUxDb250ZW50RWxlbWVudC5jcHAKICAgICBodG1s
L3NoYWRvdy9JbnNlcnRpb25Qb2ludC5jcHAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0dO
VW1ha2VmaWxlLmxpc3QuYW0gYi9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5saXN0LmFtCmlu
ZGV4IDJmZDE2NDVlMWVmODY0ZjFmYjhiNDdjNGFhZDMyMDIwNDIwMGM5MWQuLmNkODFlYjVmNDc0
MjMyMzgyMTM5MmE2N2FhZmJmYjYyNzMwZmQ4ODAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L0dOVW1ha2VmaWxlLmxpc3QuYW0KKysrIGIvU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUubGlz
dC5hbQpAQCAtMzMxNyw4ICszMzE3LDYgQEAgd2ViY29yZV9zb3VyY2VzICs9IFwKIAlTb3VyY2Uv
V2ViQ29yZS9odG1sL0Jhc2VDbGlja2FibGVXaXRoS2V5SW5wdXRUeXBlLmggXAogCVNvdXJjZS9X
ZWJDb3JlL2h0bWwvQmFzZURhdGVBbmRUaW1lSW5wdXRUeXBlLmNwcCBcCiAJU291cmNlL1dlYkNv
cmUvaHRtbC9CYXNlRGF0ZUFuZFRpbWVJbnB1dFR5cGUuaCBcCi0JU291cmNlL1dlYkNvcmUvaHRt
bC9CYXNlTXVsdGlwbGVGaWVsZHNEYXRlQW5kVGltZUlucHV0VHlwZS5jcHAgXAotCVNvdXJjZS9X
ZWJDb3JlL2h0bWwvQmFzZU11bHRpcGxlRmllbGRzRGF0ZUFuZFRpbWVJbnB1dFR5cGUuaCBcCiAJ
U291cmNlL1dlYkNvcmUvaHRtbC9CYXNlVGV4dElucHV0VHlwZS5jcHAgXAogCVNvdXJjZS9XZWJD
b3JlL2h0bWwvQmFzZVRleHRJbnB1dFR5cGUuaCBcCiAJU291cmNlL1dlYkNvcmUvaHRtbC9CdXR0
b25JbnB1dFR5cGUuY3BwIFwKQEAgLTM3MjEsMjIgKzM3MTksOCBAQCB3ZWJjb3JlX3NvdXJjZXMg
Kz0gXAogCVNvdXJjZS9XZWJDb3JlL2h0bWwvcGFyc2VyL1hTU0F1ZGl0b3IuaCBcCiAJU291cmNl
L1dlYkNvcmUvaHRtbC9wYXJzZXIvWFNTQXVkaXRvckRlbGVnYXRlLmNwcCBcCiAJU291cmNlL1dl
YkNvcmUvaHRtbC9wYXJzZXIvWFNTQXVkaXRvckRlbGVnYXRlLmggXAotCVNvdXJjZS9XZWJDb3Jl
L2h0bWwvc2hhZG93L1BpY2tlckluZGljYXRvckVsZW1lbnQuY3BwIFwKLQlTb3VyY2UvV2ViQ29y
ZS9odG1sL3NoYWRvdy9QaWNrZXJJbmRpY2F0b3JFbGVtZW50LmggXAotCVNvdXJjZS9XZWJDb3Jl
L2h0bWwvc2hhZG93L0NsZWFyQnV0dG9uRWxlbWVudC5jcHAgXAotCVNvdXJjZS9XZWJDb3JlL2h0
bWwvc2hhZG93L0NsZWFyQnV0dG9uRWxlbWVudC5oIFwKIAlTb3VyY2UvV2ViQ29yZS9odG1sL3No
YWRvdy9Db250ZW50RGlzdHJpYnV0b3IuY3BwIFwKIAlTb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRv
dy9Db250ZW50RGlzdHJpYnV0b3IuaCBcCi0JU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvRGF0
ZVRpbWVFZGl0RWxlbWVudC5jcHAgXAotCVNvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L0RhdGVU
aW1lRWRpdEVsZW1lbnQuaCBcCi0JU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvRGF0ZVRpbWVG
aWVsZEVsZW1lbnQuY3BwIFwKLQlTb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9EYXRlVGltZUZp
ZWxkRWxlbWVudC5oIFwKLQlTb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9EYXRlVGltZUZpZWxk
RWxlbWVudHMuY3BwIFwKLQlTb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9EYXRlVGltZUZpZWxk
RWxlbWVudHMuaCBcCi0JU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvRGF0ZVRpbWVOdW1lcmlj
RmllbGRFbGVtZW50LmNwcCBcCi0JU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvRGF0ZVRpbWVO
dW1lcmljRmllbGRFbGVtZW50LmggXAotCVNvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L0RhdGVU
aW1lU3ltYm9saWNGaWVsZEVsZW1lbnQuY3BwIFwKLQlTb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRv
dy9EYXRlVGltZVN5bWJvbGljRmllbGRFbGVtZW50LmggXAogCVNvdXJjZS9XZWJDb3JlL2h0bWwv
c2hhZG93L0RldGFpbHNNYXJrZXJDb250cm9sLmNwcCBcCiAJU291cmNlL1dlYkNvcmUvaHRtbC9z
aGFkb3cvRGV0YWlsc01hcmtlckNvbnRyb2wuaCBcCiAJU291cmNlL1dlYkNvcmUvaHRtbC9zaGFk
b3cvSFRNTENvbnRlbnRFbGVtZW50LmNwcCBcCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9U
YXJnZXQucHJpIGIvU291cmNlL1dlYkNvcmUvVGFyZ2V0LnByaQppbmRleCAwMzZiOTRiMDJjZjM1
YzIwYTQ4NDZhYTE0ODMyNWRlZjlmNTYxZTkyLi4yNGM2YjYyZDA1YjA2ZmY4YzJlYzJhMDVlMjk0
OGQ2OGZmZThkOGRjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9UYXJnZXQucHJpCisrKyBi
L1NvdXJjZS9XZWJDb3JlL1RhcmdldC5wcmkKQEAgLTU4NSw3ICs1ODUsNiBAQCBTT1VSQ0VTICs9
IFwKICAgICBodG1sL0Jhc2VDaG9vc2VyT25seURhdGVBbmRUaW1lSW5wdXRUeXBlLmNwcCBcCiAg
ICAgaHRtbC9CYXNlQ2xpY2thYmxlV2l0aEtleUlucHV0VHlwZS5jcHAgXAogICAgIGh0bWwvQmFz
ZURhdGVBbmRUaW1lSW5wdXRUeXBlLmNwcCBcCi0gICAgaHRtbC9CYXNlTXVsdGlwbGVGaWVsZHNE
YXRlQW5kVGltZUlucHV0VHlwZS5jcHAgXAogICAgIGh0bWwvQmFzZVRleHRJbnB1dFR5cGUuY3Bw
IFwKICAgICBodG1sL0J1dHRvbklucHV0VHlwZS5jcHAgXAogICAgIGh0bWwvQ2hlY2tib3hJbnB1
dFR5cGUuY3BwIFwKQEAgLTc1NywxMyArNzU2LDcgQEAgU09VUkNFUyArPSBcCiAgICAgaHRtbC9w
YXJzZXIvVGV4dFZpZXdTb3VyY2VQYXJzZXIuY3BwIFwKICAgICBodG1sL3BhcnNlci9YU1NBdWRp
dG9yLmNwcCBcCiAgICAgaHRtbC9wYXJzZXIvWFNTQXVkaXRvckRlbGVnYXRlLmNwcCBcCi0gICAg
aHRtbC9zaGFkb3cvQ2xlYXJCdXR0b25FbGVtZW50LmNwcCBcCiAgICAgaHRtbC9zaGFkb3cvQ29u
dGVudERpc3RyaWJ1dG9yLmNwcCBcCi0gICAgaHRtbC9zaGFkb3cvRGF0ZVRpbWVFZGl0RWxlbWVu
dC5jcHAgXAotICAgIGh0bWwvc2hhZG93L0RhdGVUaW1lRmllbGRFbGVtZW50LmNwcCBcCi0gICAg
aHRtbC9zaGFkb3cvRGF0ZVRpbWVGaWVsZEVsZW1lbnRzLmNwcCBcCi0gICAgaHRtbC9zaGFkb3cv
RGF0ZVRpbWVOdW1lcmljRmllbGRFbGVtZW50LmNwcCBcCi0gICAgaHRtbC9zaGFkb3cvRGF0ZVRp
bWVTeW1ib2xpY0ZpZWxkRWxlbWVudC5jcHAgXAogICAgIGh0bWwvc2hhZG93L0RldGFpbHNNYXJr
ZXJDb250cm9sLmNwcCBcCiAgICAgaHRtbC9zaGFkb3cvSFRNTENvbnRlbnRFbGVtZW50LmNwcCBc
CiAgICAgaHRtbC9zaGFkb3cvSW5zZXJ0aW9uUG9pbnQuY3BwIFwKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qIGIvU291cmNlL1dlYkNvcmUv
V2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2oKaW5kZXggZDU1MGVhMGQ4YTNmODI3NzRjZDAz
MTYxZTg4MTU5NzNlZTdhNmI4Yi4uYWQ3ZWFiOGNjMGY5YjBmN2YzOWRmNWZjNGY5ZmI2NDJkZDgz
MjY1NiAxMDA3NTUKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52
Y3Byb2oKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2oK
QEAgLTYwMTM1LDE0ICs2MDEzNSw2IEBACiAJCQkJPgogCQkJPC9GaWxlPgogCQkJPEZpbGUKLQkJ
CQlSZWxhdGl2ZVBhdGg9Ii4uXGh0bWxcQmFzZU11bHRpcGxlRmllbGRzRGF0ZUFuZFRpbWVJbnB1
dFR5cGUuY3BwIgotCQkJCT4KLQkJCTwvRmlsZT4KLQkJCTxGaWxlCi0JCQkJUmVsYXRpdmVQYXRo
PSIuLlxodG1sXEJhc2VNdWx0aXBsZUZpZWxkc0RhdGVBbmRUaW1lSW5wdXRUeXBlLmgiCi0JCQkJ
PgotCQkJPC9GaWxlPgotCQkJPEZpbGUKIAkJCQlSZWxhdGl2ZVBhdGg9Ii4uXGh0bWxcQmFzZVRl
eHRJbnB1dFR5cGUuY3BwIgogCQkJCT4KIAkJCTwvRmlsZT4KQEAgLTY1MzI2LDE0ICs2NTMxOCw2
IEBACiAJCQkJTmFtZT0ic2hhZG93IgogCQkJCT4KIAkJCQk8RmlsZQotCQkJCQlSZWxhdGl2ZVBh
dGg9Ii4uXGh0bWxcc2hhZG93XENsZWFyQnV0dG9uRWxlbWVudC5jcHAiCi0JCQkJCT4KLQkJCQk8
L0ZpbGU+Ci0JCQkJPEZpbGUKLQkJCQkJUmVsYXRpdmVQYXRoPSIuLlxodG1sXHNoYWRvd1xDbGVh
ckJ1dHRvbkVsZW1lbnQuaCIKLQkJCQkJPgotCQkJCTwvRmlsZT4KLQkJCQk8RmlsZQogCQkJCQlS
ZWxhdGl2ZVBhdGg9Ii4uXGh0bWxcc2hhZG93XENvbnRlbnREaXN0cmlidXRvci5jcHAiCiAJCQkJ
CT4KIAkJCQk8L0ZpbGU+CkBAIC02NTM0Miw0NiArNjUzMjYsNiBAQAogCQkJCQk+CiAJCQkJPC9G
aWxlPgogCQkJCTxGaWxlCi0JCQkJCVJlbGF0aXZlUGF0aD0iLi5caHRtbFxzaGFkb3dcRGF0ZVRp
bWVFZGl0RWxlbWVudC5jcHAiCi0JCQkJCT4KLQkJCQk8L0ZpbGU+Ci0JCQkJPEZpbGUKLQkJCQkJ
UmVsYXRpdmVQYXRoPSIuLlxodG1sXHNoYWRvd1xEYXRlVGltZUVkaXRFbGVtZW50LmgiCi0JCQkJ
CT4KLQkJCQk8L0ZpbGU+Ci0JCQkJPEZpbGUKLQkJCQkJUmVsYXRpdmVQYXRoPSIuLlxodG1sXHNo
YWRvd1xEYXRlVGltZUZpZWxkRWxlbWVudC5jcHAiCi0JCQkJCT4KLQkJCQk8L0ZpbGU+Ci0JCQkJ
PEZpbGUKLQkJCQkJUmVsYXRpdmVQYXRoPSIuLlxodG1sXHNoYWRvd1xEYXRlVGltZUZpZWxkRWxl
bWVudC5oIgotCQkJCQk+Ci0JCQkJPC9GaWxlPgotCQkJCTxGaWxlCi0JCQkJCVJlbGF0aXZlUGF0
aD0iLi5caHRtbFxzaGFkb3dcRGF0ZVRpbWVGaWVsZEVsZW1lbnRzLmNwcCIKLQkJCQkJPgotCQkJ
CTwvRmlsZT4KLQkJCQk8RmlsZQotCQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXGh0bWxcc2hhZG93XERh
dGVUaW1lRmllbGRFbGVtZW50cy5oIgotCQkJCQk+Ci0JCQkJPC9GaWxlPgotCQkJCTxGaWxlCi0J
CQkJCVJlbGF0aXZlUGF0aD0iLi5caHRtbFxzaGFkb3dcRGF0ZVRpbWVOdW1lcmljRmllbGRFbGVt
ZW50LmNwcCIKLQkJCQkJPgotCQkJCTwvRmlsZT4KLQkJCQk8RmlsZQotCQkJCQlSZWxhdGl2ZVBh
dGg9Ii4uXGh0bWxcc2hhZG93XERhdGVUaW1lTnVtZXJpY0ZpZWxkRWxlbWVudC5oIgotCQkJCQk+
Ci0JCQkJPC9GaWxlPgotCQkJCTxGaWxlCi0JCQkJCVJlbGF0aXZlUGF0aD0iLi5caHRtbFxzaGFk
b3dcRGF0ZVRpbWVTeW1ib2xpY0ZpZWxkRWxlbWVudC5jcHAiCi0JCQkJCT4KLQkJCQk8L0ZpbGU+
Ci0JCQkJPEZpbGUKLQkJCQkJUmVsYXRpdmVQYXRoPSIuLlxodG1sXHNoYWRvd1xEYXRlVGltZVN5
bWJvbGljRmllbGRFbGVtZW50LmgiCi0JCQkJCT4KLQkJCQk8L0ZpbGU+Ci0JCQkJPEZpbGUKIAkJ
CQkJUmVsYXRpdmVQYXRoPSIuLlxodG1sXHNoYWRvd1xEZXRhaWxzTWFya2VyQ29udHJvbC5jcHAi
CiAJCQkJCT4KIAkJCQk8L0ZpbGU+CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3Jl
LnZjeHByb2ovV2ViQ29yZS52Y3hwcm9qIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3hwcm9q
L1dlYkNvcmUudmN4cHJvagppbmRleCBkZjUzZDQ3NjVmNTQxOWE1MzZmMDliYTgxZDBjNzVlYWZj
YmE0NzE3Li5hN2QyYWM0OTA0MzllOTc3NWFiNzU2N2Q1Mzk5MjIwMWJmZTRhMDI3IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjeHByb2ovV2ViQ29yZS52Y3hwcm9qCisrKyBi
L1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmN4cHJvai9XZWJDb3JlLnZjeHByb2oKQEAgLTkwMjQs
MTMgKzkwMjQsNyBAQAogICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5caHRtbFxwYXJzZXJcVGV4
dFZpZXdTb3VyY2VQYXJzZXIuY3BwIiAvPgogICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5caHRt
bFxwYXJzZXJcWFNTQXVkaXRvci5jcHAiIC8+CiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxo
dG1sXHBhcnNlclxYU1NBdWRpdG9yRGVsZWdhdGUuY3BwIiAvPgotICAgIDxDbENvbXBpbGUgSW5j
bHVkZT0iLi5caHRtbFxzaGFkb3dcQ2xlYXJCdXR0b25FbGVtZW50LmNwcCIgLz4KICAgICA8Q2xD
b21waWxlIEluY2x1ZGU9Ii4uXGh0bWxcc2hhZG93XENvbnRlbnREaXN0cmlidXRvci5jcHAiIC8+
Ci0gICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxodG1sXHNoYWRvd1xEYXRlVGltZUVkaXRFbGVt
ZW50LmNwcCIgLz4KLSAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXGh0bWxcc2hhZG93XERhdGVU
aW1lRmllbGRFbGVtZW50LmNwcCIgLz4KLSAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXGh0bWxc
c2hhZG93XERhdGVUaW1lRmllbGRFbGVtZW50cy5jcHAiIC8+Ci0gICAgPENsQ29tcGlsZSBJbmNs
dWRlPSIuLlxodG1sXHNoYWRvd1xEYXRlVGltZU51bWVyaWNGaWVsZEVsZW1lbnQuY3BwIiAvPgot
ICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5caHRtbFxzaGFkb3dcRGF0ZVRpbWVTeW1ib2xpY0Zp
ZWxkRWxlbWVudC5jcHAiIC8+CiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxodG1sXHNoYWRv
d1xEZXRhaWxzTWFya2VyQ29udHJvbC5jcHAiIC8+CiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIu
LlxodG1sXHNoYWRvd1xIVE1MQ29udGVudEVsZW1lbnQuY3BwIj4KICAgICAgIDxFeGNsdWRlZEZy
b21CdWlsZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVn
fFdpbjMyJyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+CkBAIC0xMjgxNywxMyArMTI4MTEsNyBA
QAogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5caHRtbFxwYXJzZXJcVGV4dFZpZXdTb3VyY2VQ
YXJzZXIuaCIgLz4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXGh0bWxccGFyc2VyXFhTU0F1
ZGl0b3IuaCIgLz4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXGh0bWxccGFyc2VyXFhTU0F1
ZGl0b3JEZWxlZ2F0ZS5oIiAvPgotICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5caHRtbFxzaGFk
b3dcQ2xlYXJCdXR0b25FbGVtZW50LmgiIC8+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxo
dG1sXHNoYWRvd1xDb250ZW50RGlzdHJpYnV0b3IuaCIgLz4KLSAgICA8Q2xJbmNsdWRlIEluY2x1
ZGU9Ii4uXGh0bWxcc2hhZG93XERhdGVUaW1lRWRpdEVsZW1lbnQuaCIgLz4KLSAgICA8Q2xJbmNs
dWRlIEluY2x1ZGU9Ii4uXGh0bWxcc2hhZG93XERhdGVUaW1lRmllbGRFbGVtZW50LmgiIC8+Ci0g
ICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxodG1sXHNoYWRvd1xEYXRlVGltZUZpZWxkRWxlbWVu
dHMuaCIgLz4KLSAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXGh0bWxcc2hhZG93XERhdGVUaW1l
TnVtZXJpY0ZpZWxkRWxlbWVudC5oIiAvPgotICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5caHRt
bFxzaGFkb3dcRGF0ZVRpbWVTeW1ib2xpY0ZpZWxkRWxlbWVudC5oIiAvPgogICAgIDxDbEluY2x1
ZGUgSW5jbHVkZT0iLi5caHRtbFxzaGFkb3dcRGV0YWlsc01hcmtlckNvbnRyb2wuaCIgLz4KICAg
ICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXGh0bWxcc2hhZG93XEhUTUxDb250ZW50RWxlbWVudC5o
IiAvPgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5caHRtbFxzaGFkb3dcSW5zZXJ0aW9uUG9p
bnQuaCIgLz4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmN4cHJvai9XZWJD
b3JlLnZjeHByb2ouZmlsdGVycyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmN4cHJvai9XZWJD
b3JlLnZjeHByb2ouZmlsdGVycwppbmRleCA5NjdjNWU3YTViZDI0OTNkNGY1YWVmODgzOTdmMjI3
MTBiYmZjYTA0Li44NGVkZDJiYzk1MTNmOWI2ZTIyN2IzY2QyZmViYzg0MTFmNDQ5NGU4IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjeHByb2ovV2ViQ29yZS52Y3hwcm9qLmZp
bHRlcnMKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3hwcm9qL1dlYkNvcmUudmN4cHJv
ai5maWx0ZXJzCkBAIC00Mjk2LDI3ICs0Mjk2LDkgQEAKICAgICA8Q2xDb21waWxlIEluY2x1ZGU9
Ii4uXGh0bWxccGFyc2VyXFhTU0F1ZGl0b3JEZWxlZ2F0ZS5jcHAiPgogICAgICAgPEZpbHRlcj5o
dG1sXHBhcnNlcjwvRmlsdGVyPgogICAgIDwvQ2xDb21waWxlPgotICAgIDxDbENvbXBpbGUgSW5j
bHVkZT0iLi5caHRtbFxzaGFkb3dcQ2xlYXJCdXR0b25FbGVtZW50LmNwcCI+Ci0gICAgICA8Rmls
dGVyPmh0bWxcc2hhZG93PC9GaWx0ZXI+Ci0gICAgPC9DbENvbXBpbGU+CiAgICAgPENsQ29tcGls
ZSBJbmNsdWRlPSIuLlxodG1sXHNoYWRvd1xDb250ZW50RGlzdHJpYnV0b3IuY3BwIj4KICAgICAg
IDxGaWx0ZXI+aHRtbFxzaGFkb3c8L0ZpbHRlcj4KICAgICA8L0NsQ29tcGlsZT4KLSAgICA8Q2xD
b21waWxlIEluY2x1ZGU9Ii4uXGh0bWxcc2hhZG93XERhdGVUaW1lRWRpdEVsZW1lbnQuY3BwIj4K
LSAgICAgIDxGaWx0ZXI+aHRtbFxzaGFkb3c8L0ZpbHRlcj4KLSAgICA8L0NsQ29tcGlsZT4KLSAg
ICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXGh0bWxcc2hhZG93XERhdGVUaW1lRmllbGRFbGVtZW50
LmNwcCI+Ci0gICAgICA8RmlsdGVyPmh0bWxcc2hhZG93PC9GaWx0ZXI+Ci0gICAgPC9DbENvbXBp
bGU+Ci0gICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxodG1sXHNoYWRvd1xEYXRlVGltZUZpZWxk
RWxlbWVudHMuY3BwIj4KLSAgICAgIDxGaWx0ZXI+aHRtbFxzaGFkb3c8L0ZpbHRlcj4KLSAgICA8
L0NsQ29tcGlsZT4KLSAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXGh0bWxcc2hhZG93XERhdGVU
aW1lTnVtZXJpY0ZpZWxkRWxlbWVudC5jcHAiPgotICAgICAgPEZpbHRlcj5odG1sXHNoYWRvdzwv
RmlsdGVyPgotICAgIDwvQ2xDb21waWxlPgotICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5caHRt
bFxzaGFkb3dcRGF0ZVRpbWVTeW1ib2xpY0ZpZWxkRWxlbWVudC5jcHAiPgotICAgICAgPEZpbHRl
cj5odG1sXHNoYWRvdzwvRmlsdGVyPgotICAgIDwvQ2xDb21waWxlPgogICAgIDxDbENvbXBpbGUg
SW5jbHVkZT0iLi5caHRtbFxzaGFkb3dcRGV0YWlsc01hcmtlckNvbnRyb2wuY3BwIj4KICAgICAg
IDxGaWx0ZXI+aHRtbFxzaGFkb3c8L0ZpbHRlcj4KICAgICA8L0NsQ29tcGlsZT4KQEAgLTExMTkw
LDI3ICsxMTE3Miw5IEBACiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxodG1sXHBhcnNlclxY
U1NBdWRpdG9yRGVsZWdhdGUuaCI+CiAgICAgICA8RmlsdGVyPmh0bWxccGFyc2VyPC9GaWx0ZXI+
CiAgICAgPC9DbEluY2x1ZGU+Ci0gICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxodG1sXHNoYWRv
d1xDbGVhckJ1dHRvbkVsZW1lbnQuaCI+Ci0gICAgICA8RmlsdGVyPmh0bWxcc2hhZG93PC9GaWx0
ZXI+Ci0gICAgPC9DbEluY2x1ZGU+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxodG1sXHNo
YWRvd1xDb250ZW50RGlzdHJpYnV0b3IuaCI+CiAgICAgICA8RmlsdGVyPmh0bWxcc2hhZG93PC9G
aWx0ZXI+CiAgICAgPC9DbEluY2x1ZGU+Ci0gICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxodG1s
XHNoYWRvd1xEYXRlVGltZUVkaXRFbGVtZW50LmgiPgotICAgICAgPEZpbHRlcj5odG1sXHNoYWRv
dzwvRmlsdGVyPgotICAgIDwvQ2xJbmNsdWRlPgotICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5c
aHRtbFxzaGFkb3dcRGF0ZVRpbWVGaWVsZEVsZW1lbnQuaCI+Ci0gICAgICA8RmlsdGVyPmh0bWxc
c2hhZG93PC9GaWx0ZXI+Ci0gICAgPC9DbEluY2x1ZGU+Ci0gICAgPENsSW5jbHVkZSBJbmNsdWRl
PSIuLlxodG1sXHNoYWRvd1xEYXRlVGltZUZpZWxkRWxlbWVudHMuaCI+Ci0gICAgICA8RmlsdGVy
Pmh0bWxcc2hhZG93PC9GaWx0ZXI+Ci0gICAgPC9DbEluY2x1ZGU+Ci0gICAgPENsSW5jbHVkZSBJ
bmNsdWRlPSIuLlxodG1sXHNoYWRvd1xEYXRlVGltZU51bWVyaWNGaWVsZEVsZW1lbnQuaCI+Ci0g
ICAgICA8RmlsdGVyPmh0bWxcc2hhZG93PC9GaWx0ZXI+Ci0gICAgPC9DbEluY2x1ZGU+Ci0gICAg
PENsSW5jbHVkZSBJbmNsdWRlPSIuLlxodG1sXHNoYWRvd1xEYXRlVGltZVN5bWJvbGljRmllbGRF
bGVtZW50LmgiPgotICAgICAgPEZpbHRlcj5odG1sXHNoYWRvdzwvRmlsdGVyPgotICAgIDwvQ2xJ
bmNsdWRlPgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5caHRtbFxzaGFkb3dcRGV0YWlsc01h
cmtlckNvbnRyb2wuaCI+CiAgICAgICA8RmlsdGVyPmh0bWxcc2hhZG93PC9GaWx0ZXI+CiAgICAg
PC9DbEluY2x1ZGU+CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJv
ai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9q
ZWN0LnBieHByb2oKaW5kZXggZGRlYmVjMDMyNjc0NGZjZDJhZjRlNjcwZmU0NDcyODg5YzRiNzNj
Ni4uZTJkOTcwZmQ5Y2U2Y2Q5NDAzMWU2NmQxNzBmZjNjNjhlNThhMjQ1MiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtMTIyMSwx
OCArMTIyMSw2IEBACiAJCTQ1M0VCNjM3MTU5QzU3MDQwMDAwMUJCNyAvKiBEYXRlVGltZUZvcm1h
dC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDUzRUI2
MzUxNTlDNTcwNDAwMDAxQkI3IC8qIERhdGVUaW1lRm9ybWF0LmggKi87IHNldHRpbmdzID0ge0FU
VFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJNDU4MzBENEQxNjc5QjRGODAwQUNGOEMz
IC8qIEF1dG9zY3JvbGxDb250cm9sbGVyLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDQ1ODMwRDRCMTY3OUI0RjgwMEFDRjhDMyAvKiBBdXRvc2Nyb2xs
Q29udHJvbGxlci5jcHAgKi87IH07CiAJCTQ1ODMwRDRFMTY3OUI0RjgwMEFDRjhDMyAvKiBBdXRv
c2Nyb2xsQ29udHJvbGxlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gNDU4MzBENEMxNjc5QjRGODAwQUNGOEMzIC8qIEF1dG9zY3JvbGxDb250cm9sbGVy
LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKLQkJNDU4
NjFDNzIxNjE5NDlEQzAwMDEwRjNBIC8qIEJhc2VNdWx0aXBsZUZpZWxkc0RhdGVBbmRUaW1lSW5w
dXRUeXBlLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDQ1ODYxQzcwMTYxOTQ5REMwMDAxMEYzQSAvKiBCYXNlTXVsdGlwbGVGaWVsZHNEYXRlQW5kVGlt
ZUlucHV0VHlwZS5jcHAgKi87IH07Ci0JCTQ1ODYxQzczMTYxOTQ5REMwMDAxMEYzQSAvKiBCYXNl
TXVsdGlwbGVGaWVsZHNEYXRlQW5kVGltZUlucHV0VHlwZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDU4NjFDNzExNjE5NDlEQzAwMDEwRjNBIC8qIEJh
c2VNdWx0aXBsZUZpZWxkc0RhdGVBbmRUaW1lSW5wdXRUeXBlLmggKi87IH07Ci0JCTQ1ODYxQzdG
MTYxOTRBNzQwMDAxMEYzQSAvKiBEYXRlVGltZUVkaXRFbGVtZW50LmNwcCBpbiBTb3VyY2VzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQ1ODYxQzc1MTYxOTRBNzQwMDAxMEYz
QSAvKiBEYXRlVGltZUVkaXRFbGVtZW50LmNwcCAqLzsgfTsKLQkJNDU4NjFDODAxNjE5NEE3NDAw
MDEwRjNBIC8qIERhdGVUaW1lRWRpdEVsZW1lbnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQ1ODYxQzc2MTYxOTRBNzQwMDAxMEYzQSAvKiBEYXRlVGlt
ZUVkaXRFbGVtZW50LmggKi87IH07Ci0JCTQ1ODYxQzgxMTYxOTRBNzQwMDAxMEYzQSAvKiBEYXRl
VGltZUZpZWxkRWxlbWVudC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSA0NTg2MUM3NzE2MTk0QTc0MDAwMTBGM0EgLyogRGF0ZVRpbWVGaWVsZEVsZW1l
bnQuY3BwICovOyB9OwotCQk0NTg2MUM4MjE2MTk0QTc0MDAwMTBGM0EgLyogRGF0ZVRpbWVGaWVs
ZEVsZW1lbnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDQ1ODYxQzc4MTYxOTRBNzQwMDAxMEYzQSAvKiBEYXRlVGltZUZpZWxkRWxlbWVudC5oICovOyB9
OwotCQk0NTg2MUM4MzE2MTk0QTc0MDAwMTBGM0EgLyogRGF0ZVRpbWVGaWVsZEVsZW1lbnRzLmNw
cCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQ1ODYxQzc5
MTYxOTRBNzQwMDAxMEYzQSAvKiBEYXRlVGltZUZpZWxkRWxlbWVudHMuY3BwICovOyB9OwotCQk0
NTg2MUM4NDE2MTk0QTc0MDAwMTBGM0EgLyogRGF0ZVRpbWVGaWVsZEVsZW1lbnRzLmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0NTg2MUM3QTE2MTk0QTc0
MDAwMTBGM0EgLyogRGF0ZVRpbWVGaWVsZEVsZW1lbnRzLmggKi87IH07Ci0JCTQ1ODYxQzg1MTYx
OTRBNzQwMDAxMEYzQSAvKiBEYXRlVGltZU51bWVyaWNGaWVsZEVsZW1lbnQuY3BwIGluIFNvdXJj
ZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDU4NjFDN0IxNjE5NEE3NDAw
MDEwRjNBIC8qIERhdGVUaW1lTnVtZXJpY0ZpZWxkRWxlbWVudC5jcHAgKi87IH07Ci0JCTQ1ODYx
Qzg2MTYxOTRBNzQwMDAxMEYzQSAvKiBEYXRlVGltZU51bWVyaWNGaWVsZEVsZW1lbnQuaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQ1ODYxQzdDMTYxOTRB
NzQwMDAxMEYzQSAvKiBEYXRlVGltZU51bWVyaWNGaWVsZEVsZW1lbnQuaCAqLzsgfTsKLQkJNDU4
NjFDODcxNjE5NEE3NDAwMDEwRjNBIC8qIERhdGVUaW1lU3ltYm9saWNGaWVsZEVsZW1lbnQuY3Bw
IGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDU4NjFDN0Qx
NjE5NEE3NDAwMDEwRjNBIC8qIERhdGVUaW1lU3ltYm9saWNGaWVsZEVsZW1lbnQuY3BwICovOyB9
OwotCQk0NTg2MUM4ODE2MTk0QTc0MDAwMTBGM0EgLyogRGF0ZVRpbWVTeW1ib2xpY0ZpZWxkRWxl
bWVudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDU4
NjFDN0UxNjE5NEE3NDAwMDEwRjNBIC8qIERhdGVUaW1lU3ltYm9saWNGaWVsZEVsZW1lbnQuaCAq
LzsgfTsKIAkJNDU4RkU0MDkxNTg5REYwQjAwNTYwOUU2IC8qIFJlbmRlclNlYXJjaEZpZWxkLmNw
cCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQ1OEZFNDA3
MTU4OURGMEIwMDU2MDlFNiAvKiBSZW5kZXJTZWFyY2hGaWVsZC5jcHAgKi87IH07CiAJCTQ1OEZF
NDBBMTU4OURGMEIwMDU2MDlFNiAvKiBSZW5kZXJTZWFyY2hGaWVsZC5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDU4RkU0MDgxNTg5REYwQjAwNTYwOUU2
IC8qIFJlbmRlclNlYXJjaEZpZWxkLmggKi87IH07CiAJCTQ1QkFDMkIwMTM2MEJCQUIwMDVEQTI1
OCAvKiBJY29uVVJMLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSA0NUJBQzJBRjEzNjBCQkFCMDA1REEyNTggLyogSWNvblVSTC5oICovOyBzZXR0aW5ncyA9
IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CkBAIC01MTIxLDggKzUxMDksNiBAQAog
CQlDMzc1RDdGRDE2NjM5NTE5MDA2MTg0QUIgLyogVHlwZUFoZWFkLmNwcCBpbiBTb3VyY2VzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEMzNzVEN0ZCMTY2Mzk1MTkwMDYxODRB
QiAvKiBUeXBlQWhlYWQuY3BwICovOyB9OwogCQlDMzc1RDdGRTE2NjM5NTE5MDA2MTg0QUIgLyog
VHlwZUFoZWFkLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSBDMzc1RDdGQzE2NjM5NTE5MDA2MTg0QUIgLyogVHlwZUFoZWFkLmggKi87IHNldHRpbmdzID0g
e0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJQzM3Q0RFQkQxNDlFRjIwMzAwNDIw
OTBEIC8qIENvbG9yQ2hvb3NlckNsaWVudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gQzM3Q0RFQkMxNDlFRjIwMzAwNDIwOTBEIC8qIENvbG9yQ2hvb3Nl
ckNsaWVudC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07
Ci0JCUMzN0RGOEVGMTZFNzQ2NzEwMDc5QTBFQiAvKiBDbGVhckJ1dHRvbkVsZW1lbnQuY3BwIGlu
IFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQzM3REY4RUQxNkU3
NDY3MTAwNzlBMEVCIC8qIENsZWFyQnV0dG9uRWxlbWVudC5jcHAgKi87IH07Ci0JCUMzN0RGOEYw
MTZFNzQ2NzEwMDc5QTBFQiAvKiBDbGVhckJ1dHRvbkVsZW1lbnQuaCBpbiBIZWFkZXJzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEMzN0RGOEVFMTZFNzQ2NzEwMDc5QTBFQiAv
KiBDbGVhckJ1dHRvbkVsZW1lbnQuaCAqLzsgfTsKIAkJQzNDRjE3QTQxNUIwMDYzRjAwMjc2RDM5
IC8qIElkVGFyZ2V0T2JzZXJ2ZXIuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gQzNDRjE3QTAxNUIwMDYzRjAwMjc2RDM5IC8qIElkVGFyZ2V0T2JzZXJ2
ZXIuY3BwICovOyB9OwogCQlDM0NGMTdBNTE1QjAwNjNGMDAyNzZEMzkgLyogSWRUYXJnZXRPYnNl
cnZlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQzND
RjE3QTExNUIwMDYzRjAwMjc2RDM5IC8qIElkVGFyZ2V0T2JzZXJ2ZXIuaCAqLzsgc2V0dGluZ3Mg
PSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQlDM0NGMTdBNjE1QjAwNjNGMDAy
NzZEMzkgLyogSWRUYXJnZXRPYnNlcnZlclJlZ2lzdHJ5LmNwcCBpbiBTb3VyY2VzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEMzQ0YxN0EyMTVCMDA2M0YwMDI3NkQzOSAvKiBJ
ZFRhcmdldE9ic2VydmVyUmVnaXN0cnkuY3BwICovOyB9OwpAQCAtNzU3NiwxOCArNzU2Miw2IEBA
CiAJCTQ1M0VCNjM1MTU5QzU3MDQwMDAwMUJCNyAvKiBEYXRlVGltZUZvcm1hdC5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBEYXRlVGltZUZvcm1hdC5oOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwogCQk0NTgzMEQ0QjE2NzlCNEY4MDBBQ0Y4QzMgLyogQXV0b3Njcm9sbENv
bnRyb2xsZXIuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gQXV0b3Nj
cm9sbENvbnRyb2xsZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0NTgzMEQ0
QzE2NzlCNEY4MDBBQ0Y4QzMgLyogQXV0b3Njcm9sbENvbnRyb2xsZXIuaCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuYy5oOyBwYXRoID0gQXV0b3Njcm9sbENvbnRyb2xsZXIuaDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKLQkJNDU4NjFDNzAxNjE5NDlEQzAwMDEwRjNBIC8qIEJhc2VNdWx0aXBs
ZUZpZWxkc0RhdGVBbmRUaW1lSW5wdXRUeXBlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3Bw
LmNwcDsgcGF0aCA9IEJhc2VNdWx0aXBsZUZpZWxkc0RhdGVBbmRUaW1lSW5wdXRUeXBlLmNwcDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJNDU4NjFDNzExNjE5NDlEQzAwMDEwRjNBIC8q
IEJhc2VNdWx0aXBsZUZpZWxkc0RhdGVBbmRUaW1lSW5wdXRUeXBlLmggKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmMuaDsgcGF0aCA9IEJhc2VNdWx0aXBsZUZpZWxkc0RhdGVBbmRUaW1lSW5wdXRUeXBl
Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCTQ1ODYxQzc1MTYxOTRBNzQwMDAxMEYz
QSAvKiBEYXRlVGltZUVkaXRFbGVtZW50LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNw
cDsgcGF0aCA9IERhdGVUaW1lRWRpdEVsZW1lbnQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwotCQk0NTg2MUM3NjE2MTk0QTc0MDAwMTBGM0EgLyogRGF0ZVRpbWVFZGl0RWxlbWVudC5o
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBEYXRlVGltZUVkaXRFbGVtZW50Lmg7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCTQ1ODYxQzc3MTYxOTRBNzQwMDAxMEYzQSAv
KiBEYXRlVGltZUZpZWxkRWxlbWVudC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7
IHBhdGggPSBEYXRlVGltZUZpZWxkRWxlbWVudC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07Ci0JCTQ1ODYxQzc4MTYxOTRBNzQwMDAxMEYzQSAvKiBEYXRlVGltZUZpZWxkRWxlbWVudC5o
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBEYXRlVGltZUZpZWxkRWxlbWVudC5o
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQk0NTg2MUM3OTE2MTk0QTc0MDAwMTBGM0Eg
LyogRGF0ZVRpbWVGaWVsZEVsZW1lbnRzLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNw
cDsgcGF0aCA9IERhdGVUaW1lRmllbGRFbGVtZW50cy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07Ci0JCTQ1ODYxQzdBMTYxOTRBNzQwMDAxMEYzQSAvKiBEYXRlVGltZUZpZWxkRWxlbWVu
dHMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gRGF0ZVRpbWVGaWVsZEVsZW1l
bnRzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCTQ1ODYxQzdCMTYxOTRBNzQwMDAx
MEYzQSAvKiBEYXRlVGltZU51bWVyaWNGaWVsZEVsZW1lbnQuY3BwICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jcHAuY3BwOyBwYXRoID0gRGF0ZVRpbWVOdW1lcmljRmllbGRFbGVtZW50LmNwcDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJNDU4NjFDN0MxNjE5NEE3NDAwMDEwRjNBIC8qIERh
dGVUaW1lTnVtZXJpY0ZpZWxkRWxlbWVudC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBh
dGggPSBEYXRlVGltZU51bWVyaWNGaWVsZEVsZW1lbnQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKLQkJNDU4NjFDN0QxNjE5NEE3NDAwMDEwRjNBIC8qIERhdGVUaW1lU3ltYm9saWNGaWVs
ZEVsZW1lbnQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gRGF0ZVRp
bWVTeW1ib2xpY0ZpZWxkRWxlbWVudC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0J
CTQ1ODYxQzdFMTYxOTRBNzQwMDAxMEYzQSAvKiBEYXRlVGltZVN5bWJvbGljRmllbGRFbGVtZW50
LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IERhdGVUaW1lU3ltYm9saWNGaWVs
ZEVsZW1lbnQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDU4RkU0MDcxNTg5REYw
QjAwNTYwOUU2IC8qIFJlbmRlclNlYXJjaEZpZWxkLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Y3BwLmNwcDsgcGF0aCA9IFJlbmRlclNlYXJjaEZpZWxkLmNwcDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKIAkJNDU4RkU0MDgxNTg5REYwQjAwNTYwOUU2IC8qIFJlbmRlclNlYXJjaEZpZWxk
LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFJlbmRlclNlYXJjaEZpZWxkLmg7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQ1QkFDMkFGMTM2MEJCQUIwMDVEQTI1OCAv
KiBJY29uVVJMLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEljb25VUkwuaDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTExODUwLDggKzExODI0LDYgQEAKIAkJQzM3
NUQ3RkIxNjYzOTUxOTAwNjE4NEFCIC8qIFR5cGVBaGVhZC5jcHAgKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmNwcC5jcHA7IHBhdGggPSBUeXBlQWhlYWQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwogCQlDMzc1RDdGQzE2NjM5NTE5MDA2MTg0QUIgLyogVHlwZUFoZWFkLmggKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFR5cGVBaGVhZC5oOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwogCQlDMzdDREVCQzE0OUVGMjAzMDA0MjA5MEQgLyogQ29sb3JDaG9vc2VyQ2xpZW50
LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IENvbG9yQ2hvb3NlckNsaWVudC5o
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQlDMzdERjhFRDE2RTc0NjcxMDA3OUEwRUIg
LyogQ2xlYXJCdXR0b25FbGVtZW50LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsg
cGF0aCA9IENsZWFyQnV0dG9uRWxlbWVudC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
Ci0JCUMzN0RGOEVFMTZFNzQ2NzEwMDc5QTBFQiAvKiBDbGVhckJ1dHRvbkVsZW1lbnQuaCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQ2xlYXJCdXR0b25FbGVtZW50Lmg7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUMzQ0YxN0EwMTVCMDA2M0YwMDI3NkQzOSAvKiBJZFRh
cmdldE9ic2VydmVyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IElk
VGFyZ2V0T2JzZXJ2ZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlDM0NGMTdB
MTE1QjAwNjNGMDAyNzZEMzkgLyogSWRUYXJnZXRPYnNlcnZlci5oICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jLmg7IHBhdGggPSBJZFRhcmdldE9ic2VydmVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CiAJCUMzQ0YxN0EyMTVCMDA2M0YwMDI3NkQzOSAvKiBJZFRhcmdldE9ic2VydmVyUmVn
aXN0cnkuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSWRUYXJnZXRP
YnNlcnZlclJlZ2lzdHJ5LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTEzODgz
LDIwICsxMzg1NSw4IEBACiAJCTQxNTBGOUVEMTJCNkUwOTkwMDA4Qzg2MCAvKiBzaGFkb3cgKi8g
PSB7CiAJCQlpc2EgPSBQQlhHcm91cDsKIAkJCWNoaWxkcmVuID0gKAotCQkJCUMzN0RGOEVEMTZF
NzQ2NzEwMDc5QTBFQiAvKiBDbGVhckJ1dHRvbkVsZW1lbnQuY3BwICovLAotCQkJCUMzN0RGOEVF
MTZFNzQ2NzEwMDc5QTBFQiAvKiBDbGVhckJ1dHRvbkVsZW1lbnQuaCAqLywKIAkJCQk1N0I3OTE5
RjE0QzZBNjI5MDBGMjAyRDEgLyogQ29udGVudERpc3RyaWJ1dG9yLmNwcCAqLywKIAkJCQk1N0I3
OTFBMDE0QzZBNjI5MDBGMjAyRDEgLyogQ29udGVudERpc3RyaWJ1dG9yLmggKi8sCi0JCQkJNDU4
NjFDNzUxNjE5NEE3NDAwMDEwRjNBIC8qIERhdGVUaW1lRWRpdEVsZW1lbnQuY3BwICovLAotCQkJ
CTQ1ODYxQzc2MTYxOTRBNzQwMDAxMEYzQSAvKiBEYXRlVGltZUVkaXRFbGVtZW50LmggKi8sCi0J
CQkJNDU4NjFDNzcxNjE5NEE3NDAwMDEwRjNBIC8qIERhdGVUaW1lRmllbGRFbGVtZW50LmNwcCAq
LywKLQkJCQk0NTg2MUM3ODE2MTk0QTc0MDAwMTBGM0EgLyogRGF0ZVRpbWVGaWVsZEVsZW1lbnQu
aCAqLywKLQkJCQk0NTg2MUM3OTE2MTk0QTc0MDAwMTBGM0EgLyogRGF0ZVRpbWVGaWVsZEVsZW1l
bnRzLmNwcCAqLywKLQkJCQk0NTg2MUM3QTE2MTk0QTc0MDAwMTBGM0EgLyogRGF0ZVRpbWVGaWVs
ZEVsZW1lbnRzLmggKi8sCi0JCQkJNDU4NjFDN0IxNjE5NEE3NDAwMDEwRjNBIC8qIERhdGVUaW1l
TnVtZXJpY0ZpZWxkRWxlbWVudC5jcHAgKi8sCi0JCQkJNDU4NjFDN0MxNjE5NEE3NDAwMDEwRjNB
IC8qIERhdGVUaW1lTnVtZXJpY0ZpZWxkRWxlbWVudC5oICovLAotCQkJCTQ1ODYxQzdEMTYxOTRB
NzQwMDAxMEYzQSAvKiBEYXRlVGltZVN5bWJvbGljRmllbGRFbGVtZW50LmNwcCAqLywKLQkJCQk0
NTg2MUM3RTE2MTk0QTc0MDAwMTBGM0EgLyogRGF0ZVRpbWVTeW1ib2xpY0ZpZWxkRWxlbWVudC5o
ICovLAogCQkJCUE3QzlBQkY2MTM1N0EzQkYwMEY1NTAzRiAvKiBEZXRhaWxzTWFya2VyQ29udHJv
bC5jcHAgKi8sCiAJCQkJQTdDOUFCRjcxMzU3QTNCRjAwRjU1MDNGIC8qIERldGFpbHNNYXJrZXJD
b250cm9sLmggKi8sCiAJCQkJNTdCNzkxQTcxNEM2QTYzMzAwRjIwMkQxIC8qIEhUTUxDb250ZW50
RWxlbWVudC5jcHAgKi8sCkBAIC0xNTcwMyw4ICsxNTY2Myw2IEBACiAJCQkJQzMzRUU1QzMxNEZC
NDk2MTAwMDIwOTVBIC8qIEJhc2VDbGlja2FibGVXaXRoS2V5SW5wdXRUeXBlLmggKi8sCiAJCQkJ
RjU5Qzk1RkQxMjU1QjIzRjAwMDYyM0MwIC8qIEJhc2VEYXRlQW5kVGltZUlucHV0VHlwZS5jcHAg
Ki8sCiAJCQkJRjU5Qzk1RkUxMjU1QjIzRjAwMDYyM0MwIC8qIEJhc2VEYXRlQW5kVGltZUlucHV0
VHlwZS5oICovLAotCQkJCTQ1ODYxQzcwMTYxOTQ5REMwMDAxMEYzQSAvKiBCYXNlTXVsdGlwbGVG
aWVsZHNEYXRlQW5kVGltZUlucHV0VHlwZS5jcHAgKi8sCi0JCQkJNDU4NjFDNzExNjE5NDlEQzAw
MDEwRjNBIC8qIEJhc2VNdWx0aXBsZUZpZWxkc0RhdGVBbmRUaW1lSW5wdXRUeXBlLmggKi8sCiAJ
CQkJRjU1QjNENzkxMjUxRjEyRDAwM0VGMjY5IC8qIEJhc2VUZXh0SW5wdXRUeXBlLmNwcCAqLywK
IAkJCQlGNTVCM0Q3QTEyNTFGMTJEMDAzRUYyNjkgLyogQmFzZVRleHRJbnB1dFR5cGUuaCAqLywK
IAkJCQlGNTVCM0Q3QjEyNTFGMTJEMDAzRUYyNjkgLyogQnV0dG9uSW5wdXRUeXBlLmNwcCAqLywK
QEAgLTIxMDA2LDcgKzIwOTY0LDYgQEAKIAkJCQlGNUUwQzY1QzE2NDNDNDJDMDBENkNCNjkgLyog
QmFzZUNob29zZXJPbmx5RGF0ZUFuZFRpbWVJbnB1dFR5cGUuaCBpbiBIZWFkZXJzICovLAogCQkJ
CUMzM0VFNUM1MTRGQjQ5NjEwMDAyMDk1QSAvKiBCYXNlQ2xpY2thYmxlV2l0aEtleUlucHV0VHlw
ZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRjU5Qzk2MDAxMjU1QjIzRjAwMDYyM0MwIC8qIEJhc2VE
YXRlQW5kVGltZUlucHV0VHlwZS5oIGluIEhlYWRlcnMgKi8sCi0JCQkJNDU4NjFDNzMxNjE5NDlE
QzAwMDEwRjNBIC8qIEJhc2VNdWx0aXBsZUZpZWxkc0RhdGVBbmRUaW1lSW5wdXRUeXBlLmggaW4g
SGVhZGVycyAqLywKIAkJCQlGNTVCM0RBRTEyNTFGMTJEMDAzRUYyNjkgLyogQmFzZVRleHRJbnB1
dFR5cGUuaCBpbiBIZWFkZXJzICovLAogCQkJCUZCRDZBRjhBMTVFRjI1REYwMDhCNzExMCAvKiBC
YXNpY1NoYXBlRnVuY3Rpb25zLmggaW4gSGVhZGVycyAqLywKIAkJCQlGQkQ2QUY4QzE1RUYyNjA0
MDA4QjcxMTAgLyogQmFzaWNTaGFwZXMuaCBpbiBIZWFkZXJzICovLApAQCAtMjEwOTgsNyArMjEw
NTUsNiBAQAogCQkJCTE0RDgyNDA4MEFGOTNBRUIwMDA0RjA1NyAvKiBDaHJvbWVDbGllbnQuaCBp
biBIZWFkZXJzICovLAogCQkJCTRBQ0JDMEJGMTI3MTNDQkQwMDk0RjlCMiAvKiBDbGFzc0xpc3Qu
aCBpbiBIZWFkZXJzICovLAogCQkJCUJDOTA0Qjc3MEQxMDk5OEYwMDY4MEQzMiAvKiBDbGFzc05v
ZGVMaXN0LmggaW4gSGVhZGVycyAqLywKLQkJCQlDMzdERjhGMDE2RTc0NjcxMDA3OUEwRUIgLyog
Q2xlYXJCdXR0b25FbGVtZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQlCQ0MwNjU3RTBGM0NFMUI3
MDBDRDJEODcgLyogQ2xpZW50UmVjdC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQkNDMDY1ODEwRjND
RTFCNzAwQ0QyRDg3IC8qIENsaWVudFJlY3RMaXN0LmggaW4gSGVhZGVycyAqLywKIAkJCQk4NTAz
MUIzRTBBNDRFRkM3MDBGOTkyRTAgLyogQ2xpcGJvYXJkLmggaW4gSGVhZGVycyAqLywKQEAgLTIx
Mjc3LDE0ICsyMTIzMyw5IEBACiAJCQkJMkU5N0NDRUIxMjkzOUNCODAwQzVDOEZGIC8qIERhdGFW
aWV3LmggaW4gSGVhZGVycyAqLywKIAkJCQlBNTczMkIwQjEzNkExNjFEMDA1QzhEN0MgLyogRGF0
ZUNvbXBvbmVudHMuaCBpbiBIZWFkZXJzICovLAogCQkJCUY1NUIzREI2MTI1MUYxMkQwMDNFRjI2
OSAvKiBEYXRlSW5wdXRUeXBlLmggaW4gSGVhZGVycyAqLywKLQkJCQk0NTg2MUM4MDE2MTk0QTc0
MDAwMTBGM0EgLyogRGF0ZVRpbWVFZGl0RWxlbWVudC5oIGluIEhlYWRlcnMgKi8sCi0JCQkJNDU4
NjFDODIxNjE5NEE3NDAwMDEwRjNBIC8qIERhdGVUaW1lRmllbGRFbGVtZW50LmggaW4gSGVhZGVy
cyAqLywKLQkJCQk0NTg2MUM4NDE2MTk0QTc0MDAwMTBGM0EgLyogRGF0ZVRpbWVGaWVsZEVsZW1l
bnRzLmggaW4gSGVhZGVycyAqLywKIAkJCQk0NTNFQjYzNzE1OUM1NzA0MDAwMDFCQjcgLyogRGF0
ZVRpbWVGb3JtYXQuaCBpbiBIZWFkZXJzICovLAogCQkJCUY1NUIzREI4MTI1MUYxMkQwMDNFRjI2
OSAvKiBEYXRlVGltZUlucHV0VHlwZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRjU1QjNEQkExMjUx
RjEyRDAwM0VGMjY5IC8qIERhdGVUaW1lTG9jYWxJbnB1dFR5cGUuaCBpbiBIZWFkZXJzICovLAot
CQkJCTQ1ODYxQzg2MTYxOTRBNzQwMDAxMEYzQSAvKiBEYXRlVGltZU51bWVyaWNGaWVsZEVsZW1l
bnQuaCBpbiBIZWFkZXJzICovLAotCQkJCTQ1ODYxQzg4MTYxOTRBNzQwMDAxMEYzQSAvKiBEYXRl
VGltZVN5bWJvbGljRmllbGRFbGVtZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQk0NUZFQTVEMDE1
NkRERThDMDA2NTQxMDEgLyogRGVjaW1hbC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQThDMjI4QTEx
MUQ1NzIyRTAwRDVBN0QzIC8qIERlY29kZWREYXRhRG9jdW1lbnRQYXJzZXIuaCBpbiBIZWFkZXJz
ICovLAogCQkJCUNFQ0NGQzNCMTQxOTczRDUwMDJBMEFDMSAvKiBEZWNvZGVFc2NhcGVTZXF1ZW5j
ZXMuaCBpbiBIZWFkZXJzICovLApAQCAtMjQ0NjIsNyArMjQ0MTMsNiBAQAogCQkJCUY1RTBDNjVC
MTY0M0M0MkMwMEQ2Q0I2OSAvKiBCYXNlQ2hvb3Nlck9ubHlEYXRlQW5kVGltZUlucHV0VHlwZS5j
cHAgaW4gU291cmNlcyAqLywKIAkJCQlDMzNFRTVDNDE0RkI0OTYxMDAwMjA5NUEgLyogQmFzZUNs
aWNrYWJsZVdpdGhLZXlJbnB1dFR5cGUuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJRjU5Qzk1RkYx
MjU1QjIzRjAwMDYyM0MwIC8qIEJhc2VEYXRlQW5kVGltZUlucHV0VHlwZS5jcHAgaW4gU291cmNl
cyAqLywKLQkJCQk0NTg2MUM3MjE2MTk0OURDMDAwMTBGM0EgLyogQmFzZU11bHRpcGxlRmllbGRz
RGF0ZUFuZFRpbWVJbnB1dFR5cGUuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJRjU1QjNEQUQxMjUx
RjEyRDAwM0VGMjY5IC8qIEJhc2VUZXh0SW5wdXRUeXBlLmNwcCBpbiBTb3VyY2VzICovLAogCQkJ
CUZCRDZBRjg5MTVFRjI1REIwMDhCNzExMCAvKiBCYXNpY1NoYXBlRnVuY3Rpb25zLmNwcCBpbiBT
b3VyY2VzICovLAogCQkJCUZCRDZBRjhEMTVFRjI2MEEwMDhCNzExMCAvKiBCYXNpY1NoYXBlcy5j
cHAgaW4gU291cmNlcyAqLywKQEAgLTI0NTM2LDcgKzI0NDg2LDYgQEAKIAkJCQlBQkFGMjIwODBD
MDNCMUM3MDBCMEJDRjAgLyogQ2hyb21lTWFjLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJNEFDQkMw
QkUxMjcxM0NCRDAwOTRGOUIyIC8qIENsYXNzTGlzdC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlC
QzkwNEI3NjBEMTA5OThGMDA2ODBEMzIgLyogQ2xhc3NOb2RlTGlzdC5jcHAgaW4gU291cmNlcyAq
LywKLQkJCQlDMzdERjhFRjE2RTc0NjcxMDA3OUEwRUIgLyogQ2xlYXJCdXR0b25FbGVtZW50LmNw
cCBpbiBTb3VyY2VzICovLAogCQkJCUJDQzA2NTdEMEYzQ0UxQjcwMENEMkQ4NyAvKiBDbGllbnRS
ZWN0LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUJDQzA2NTgwMEYzQ0UxQjcwMENEMkQ4NyAvKiBD
bGllbnRSZWN0TGlzdC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlBNzg0OTQxQjBCNUZFNTA3MDAx
RTIzN0EgLyogQ2xpcGJvYXJkLmNwcCBpbiBTb3VyY2VzICovLApAQCAtMjQ2NzksMTMgKzI0NjI4
LDggQEAKIAkJCQkyRTk3Q0NFQTEyOTM5Q0I4MDBDNUM4RkYgLyogRGF0YVZpZXcuY3BwIGluIFNv
dXJjZXMgKi8sCiAJCQkJQTU3MzJCMEExMzZBMTYxRDAwNUM4RDdDIC8qIERhdGVDb21wb25lbnRz
LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUY1NUIzREI1MTI1MUYxMkQwMDNFRjI2OSAvKiBEYXRl
SW5wdXRUeXBlLmNwcCBpbiBTb3VyY2VzICovLAotCQkJCTQ1ODYxQzdGMTYxOTRBNzQwMDAxMEYz
QSAvKiBEYXRlVGltZUVkaXRFbGVtZW50LmNwcCBpbiBTb3VyY2VzICovLAotCQkJCTQ1ODYxQzgx
MTYxOTRBNzQwMDAxMEYzQSAvKiBEYXRlVGltZUZpZWxkRWxlbWVudC5jcHAgaW4gU291cmNlcyAq
LywKLQkJCQk0NTg2MUM4MzE2MTk0QTc0MDAwMTBGM0EgLyogRGF0ZVRpbWVGaWVsZEVsZW1lbnRz
LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUY1NUIzREI3MTI1MUYxMkQwMDNFRjI2OSAvKiBEYXRl
VGltZUlucHV0VHlwZS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlGNTVCM0RCOTEyNTFGMTJEMDAz
RUYyNjkgLyogRGF0ZVRpbWVMb2NhbElucHV0VHlwZS5jcHAgaW4gU291cmNlcyAqLywKLQkJCQk0
NTg2MUM4NTE2MTk0QTc0MDAwMTBGM0EgLyogRGF0ZVRpbWVOdW1lcmljRmllbGRFbGVtZW50LmNw
cCBpbiBTb3VyY2VzICovLAotCQkJCTQ1ODYxQzg3MTYxOTRBNzQwMDAxMEYzQSAvKiBEYXRlVGlt
ZVN5bWJvbGljRmllbGRFbGVtZW50LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTQ1RkVBNUNGMTU2
RERFOEMwMDY1NDEwMSAvKiBEZWNpbWFsLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUE4QzIyOEEy
MTFENTcyMkUwMEQ1QTdEMyAvKiBEZWNvZGVkRGF0YURvY3VtZW50UGFyc2VyLmNwcCBpbiBTb3Vy
Y2VzICovLAogCQkJCTQxNjJBNDUwMTAxMTQ1QUUwMERGRjNFRCAvKiBEZWRpY2F0ZWRXb3JrZXJD
b250ZXh0LmNwcCBpbiBTb3VyY2VzICovLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3Nz
L2h0bWwuY3NzIGIvU291cmNlL1dlYkNvcmUvY3NzL2h0bWwuY3NzCmluZGV4IGYxNzgwZDQ0MDY1
YmE5ZWY2YmUxOTc0Zjg2YzViOTRmYzg4NjkwM2EuLjBhYTM2YTNkNTYwZjBiYzFjZDU1N2NiOTZm
OWRlNzAwN2ZhMzY5ZjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9odG1sLmNzcwor
KysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvaHRtbC5jc3MKQEAgLTQ5OCwxNDggKzQ5OCw2IEBAIGRh
dGFsaXN0IHsKIH0KICNlbmRpZgogCi0jaWYgZGVmaW5lZChFTkFCTEVfSU5QVVRfTVVMVElQTEVf
RklFTERTX1VJKSAmJiBFTkFCTEVfSU5QVVRfTVVMVElQTEVfRklFTERTX1VJCi0jaWYgZGVmaW5l
ZChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFKSAmJiBFTkFCTEVfSU5QVVRfVFlQRV9EQVRFCi1pbnB1
dFt0eXBlPSJkYXRlIl0gewotICAgIC13ZWJraXQtYWxpZ24taXRlbXM6IGNlbnRlcjsKLSAgICBk
aXNwbGF5OiAtd2Via2l0LWlubGluZS1mbGV4OwotICAgIGZvbnQtZmFtaWx5OiBtb25vc3BhY2U7
Ci0gICAgb3ZlcmZsb3c6IGhpZGRlbjsKLSAgICBwYWRkaW5nOiAwOwotICAgIC13ZWJraXQtcGFk
ZGluZy1zdGFydDogMXB4OwotfQotI2VuZGlmCi0jaWYgZGVmaW5lZChFTkFCTEVfSU5QVVRfVFlQ
RV9EQVRFVElNRV9JTkNPTVBMRVRFKSAmJiBFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRV9JTkNP
TVBMRVRFCi1pbnB1dFt0eXBlPSJkYXRldGltZSJdIHsKLSAgICAtd2Via2l0LWFsaWduLWl0ZW1z
OiBjZW50ZXI7Ci0gICAgZGlzcGxheTogLXdlYmtpdC1pbmxpbmUtZmxleDsKLSAgICBmb250LWZh
bWlseTogbW9ub3NwYWNlOwotICAgIG92ZXJmbG93OiBoaWRkZW47Ci0gICAgcGFkZGluZzogMDsK
LSAgICAtd2Via2l0LXBhZGRpbmctc3RhcnQ6IDFweDsKLX0KLSNlbmRpZgotI2lmIGRlZmluZWQo
RU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVMT0NBTCkgJiYgRU5BQkxFX0lOUFVUX1RZUEVfREFU
RVRJTUVMT0NBTAotaW5wdXRbdHlwZT0iZGF0ZXRpbWUtbG9jYWwiXSB7Ci0gICAgLXdlYmtpdC1h
bGlnbi1pdGVtczogY2VudGVyOwotICAgIGRpc3BsYXk6IC13ZWJraXQtaW5saW5lLWZsZXg7Ci0g
ICAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZTsKLSAgICBvdmVyZmxvdzogaGlkZGVuOwotICAgIHBh
ZGRpbmc6IDA7Ci0gICAgLXdlYmtpdC1wYWRkaW5nLXN0YXJ0OiAxcHg7Ci19Ci0jZW5kaWYKLSNp
ZiBkZWZpbmVkKEVOQUJMRV9JTlBVVF9UWVBFX01PTlRIKSAmJiBFTkFCTEVfSU5QVVRfVFlQRV9N
T05USAotaW5wdXRbdHlwZT0ibW9udGgiXSB7Ci0gICAgLXdlYmtpdC1hbGlnbi1pdGVtczogY2Vu
dGVyOwotICAgIGRpc3BsYXk6IC13ZWJraXQtaW5saW5lLWZsZXg7Ci0gICAgZm9udC1mYW1pbHk6
IG1vbm9zcGFjZTsKLSAgICBvdmVyZmxvdzogaGlkZGVuOwotICAgIHBhZGRpbmc6IDA7Ci0gICAg
LXdlYmtpdC1wYWRkaW5nLXN0YXJ0OiAxcHg7Ci19Ci0jZW5kaWYKLSNpZiBkZWZpbmVkKEVOQUJM
RV9JTlBVVF9UWVBFX1RJTUUpICYmIEVOQUJMRV9JTlBVVF9UWVBFX1RJTUUKLWlucHV0W3R5cGU9
InRpbWUiXSB7Ci0gICAgLXdlYmtpdC1hbGlnbi1pdGVtczogY2VudGVyOwotICAgIGRpc3BsYXk6
IC13ZWJraXQtaW5saW5lLWZsZXg7Ci0gICAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZTsKLSAgICBv
dmVyZmxvdzogaGlkZGVuOwotICAgIHBhZGRpbmc6IDA7Ci0gICAgLXdlYmtpdC1wYWRkaW5nLXN0
YXJ0OiAxcHg7Ci19Ci0jZW5kaWYKLSNpZiBkZWZpbmVkKEVOQUJMRV9JTlBVVF9UWVBFX1dFRUsp
ICYmIEVOQUJMRV9JTlBVVF9UWVBFX1dFRUsKLWlucHV0W3R5cGU9IndlZWsiXSB7Ci0gICAgLXdl
YmtpdC1hbGlnbi1pdGVtczogY2VudGVyOwotICAgIGRpc3BsYXk6IC13ZWJraXQtaW5saW5lLWZs
ZXg7Ci0gICAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZTsKLSAgICBvdmVyZmxvdzogaGlkZGVuOwot
ICAgIHBhZGRpbmc6IDA7Ci0gICAgLXdlYmtpdC1wYWRkaW5nLXN0YXJ0OiAxcHg7Ci19Ci0jZW5k
aWYKLQotaW5wdXQ6Oi13ZWJraXQtZGF0ZXRpbWUtZWRpdCB7Ci0gICAgLXdlYmtpdC1mbGV4OiAx
OwotICAgIC13ZWJraXQtdXNlci1tb2RpZnk6IHJlYWQtb25seSAhaW1wb3J0YW50OwotICAgIGRp
c3BsYXk6IGlubGluZS1ibG9jazsKLSAgICBvdmVyZmxvdzogaGlkZGVuOwotfQotCi1pbnB1dDo6
LXdlYmtpdC1kYXRldGltZS1lZGl0LWZpZWxkcy13cmFwcGVyIHsKLSAgICAtd2Via2l0LXVzZXIt
bW9kaWZ5OiByZWFkLW9ubHkgIWltcG9ydGFudDsKLSAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7
Ci0gICAgcGFkZGluZzogMXB4IDA7Ci0gICAgd2hpdGUtc3BhY2U6IHByZTsKLX0KLQotLyogSWYg
eW91IHVwZGF0ZSBwYWRkaW5nLCBib3JkZXIsIG9yIG1hcmdpbiBpbiB0aGUgZm9sbG93aW5nIHJ1
bGVzZXQsIHVwZGF0ZQotICAgRGF0ZVRpbWVGaWVsZEVsZW1lbnQ6Om1heGltdW1XaWR0aCB0b28u
ICovCi1pbnB1dDo6LXdlYmtpdC1kYXRldGltZS1lZGl0LWFtcG0tZmllbGQsCi1pbnB1dDo6LXdl
YmtpdC1kYXRldGltZS1lZGl0LWRheS1maWVsZCwKLWlucHV0Ojotd2Via2l0LWRhdGV0aW1lLWVk
aXQtaG91ci1maWVsZCwKLWlucHV0Ojotd2Via2l0LWRhdGV0aW1lLWVkaXQtbWlsbGlzZWNvbmQt
ZmllbGQsCi1pbnB1dDo6LXdlYmtpdC1kYXRldGltZS1lZGl0LW1pbnV0ZS1maWVsZCwKLWlucHV0
Ojotd2Via2l0LWRhdGV0aW1lLWVkaXQtbW9udGgtZmllbGQsCi1pbnB1dDo6LXdlYmtpdC1kYXRl
dGltZS1lZGl0LXNlY29uZC1maWVsZCwKLWlucHV0Ojotd2Via2l0LWRhdGV0aW1lLWVkaXQtd2Vl
ay1maWVsZCwKLWlucHV0Ojotd2Via2l0LWRhdGV0aW1lLWVkaXQteWVhci1maWVsZCB7Ci0gICAg
LXdlYmtpdC11c2VyLW1vZGlmeTogcmVhZC1vbmx5ICFpbXBvcnRhbnQ7Ci0gICAgYm9yZGVyOiBu
b25lOwotICAgIGRpc3BsYXk6IGlubGluZTsKLSAgICBmb250OiBpbmhlcml0ICFpbXBvcnRhbnQ7
Ci0gICAgcGFkZGluZzogMXB4OwotfQotCi0vKiBSZW1vdmUgZm9jdXMgcmluZyBmcm9tIGZpZWxk
cyBhbmQgdXNlIGhpZ2hsaWdodCBjb2xvciAqLwotaW5wdXQ6Oi13ZWJraXQtZGF0ZXRpbWUtZWRp
dC1hbXBtLWZpZWxkOmZvY3VzLAotaW5wdXQ6Oi13ZWJraXQtZGF0ZXRpbWUtZWRpdC1kYXktZmll
bGQ6Zm9jdXMsCi1pbnB1dDo6LXdlYmtpdC1kYXRldGltZS1lZGl0LWhvdXItZmllbGQ6Zm9jdXMs
Ci1pbnB1dDo6LXdlYmtpdC1kYXRldGltZS1lZGl0LW1pbGxpc2Vjb25kLWZpZWxkOmZvY3VzLAot
aW5wdXQ6Oi13ZWJraXQtZGF0ZXRpbWUtZWRpdC1taW51dGUtZmllbGQ6Zm9jdXMsCi1pbnB1dDo6
LXdlYmtpdC1kYXRldGltZS1lZGl0LW1vbnRoLWZpZWxkOmZvY3VzLAotaW5wdXQ6Oi13ZWJraXQt
ZGF0ZXRpbWUtZWRpdC1zZWNvbmQtZmllbGQ6Zm9jdXMsCi1pbnB1dDo6LXdlYmtpdC1kYXRldGlt
ZS1lZGl0LXdlZWstZmllbGQ6Zm9jdXMsCi1pbnB1dDo6LXdlYmtpdC1kYXRldGltZS1lZGl0LXll
YXItZmllbGQ6Zm9jdXMgewotICAgIGJhY2tncm91bmQtY29sb3I6IGhpZ2hsaWdodDsKLSAgICBj
b2xvcjogaGlnaGxpZ2h0dGV4dDsKLSAgICBvdXRsaW5lOiBub25lOwotfQotCi1pbnB1dDo6LXdl
YmtpdC1kYXRldGltZS1lZGl0LXllYXItZmllbGRbZGlzYWJsZWRdLAotaW5wdXQ6Oi13ZWJraXQt
ZGF0ZXRpbWUtZWRpdC1tb250aC1maWVsZFtkaXNhYmxlZF0sCi1pbnB1dDo6LXdlYmtpdC1kYXRl
dGltZS1lZGl0LXdlZWstZmllbGRbZGlzYWJsZWRdLAotaW5wdXQ6Oi13ZWJraXQtZGF0ZXRpbWUt
ZWRpdC1kYXktZmllbGRbZGlzYWJsZWRdLAotaW5wdXQ6Oi13ZWJraXQtZGF0ZXRpbWUtZWRpdC1h
bXBtLWZpZWxkW2Rpc2FibGVkXSwKLWlucHV0Ojotd2Via2l0LWRhdGV0aW1lLWVkaXQtaG91ci1m
aWVsZFtkaXNhYmxlZF0sCi1pbnB1dDo6LXdlYmtpdC1kYXRldGltZS1lZGl0LW1pbGxpc2Vjb25k
LWZpZWxkW2Rpc2FibGVkXSwKLWlucHV0Ojotd2Via2l0LWRhdGV0aW1lLWVkaXQtbWludXRlLWZp
ZWxkW2Rpc2FibGVkXSwKLWlucHV0Ojotd2Via2l0LWRhdGV0aW1lLWVkaXQtc2Vjb25kLWZpZWxk
W2Rpc2FibGVkXSB7Ci0gICAgY29sb3I6IEdyYXlUZXh0OwotfQotCi0vKiBJZiB5b3UgdXBkYXRl
IHBhZGRpbmcsIGJvcmRlciwgb3IgbWFyZ2luIGluIHRoZSBmb2xsb3dpbmcgcnVsZXNldCwgdXBk
YXRlCi0gICBEYXRlVGltZUVkaXRFbGVtZW50OjpjdXN0b21TdHllbEZvclJlbmRlcmVyIHRvby4g
Ki8KLWlucHV0Ojotd2Via2l0LWRhdGV0aW1lLWVkaXQtdGV4dCB7Ci0gICAgLXdlYmtpdC11c2Vy
LW1vZGlmeTogcmVhZC1vbmx5ICFpbXBvcnRhbnQ7Ci0gICAgZGlzcGxheTogaW5saW5lOwotICAg
IGZvbnQ6IGluaGVyaXQgIWltcG9ydGFudDsKLX0KLQotaW5wdXRbdHlwZT0iZGF0ZSJdOjotd2Vi
a2l0LWlubmVyLXNwaW4tYnV0dG9uLAotaW5wdXRbdHlwZT0iZGF0ZXRpbWUiXTo6LXdlYmtpdC1p
bm5lci1zcGluLWJ1dHRvbiwKLWlucHV0W3R5cGU9ImRhdGV0aW1lLWxvY2FsIl06Oi13ZWJraXQt
aW5uZXItc3Bpbi1idXR0b24sCi1pbnB1dFt0eXBlPSJtb250aCJdOjotd2Via2l0LWlubmVyLXNw
aW4tYnV0dG9uLAotaW5wdXRbdHlwZT0idGltZSJdOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9u
LAotaW5wdXRbdHlwZT0id2VlayJdOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uIHsKLSAgICBk
aXNwbGF5OiBpbmxpbmUtYmxvY2s7Ci0gICAgcG9zaXRpb246IHN0YXRpYzsKLSAgICAtd2Via2l0
LW1hcmdpbi1zdGFydDogMnB4OwotfQotCi0jZWxzZQotCiAjaWYgZGVmaW5lZChFTkFCTEVfSU5Q
VVRfVFlQRV9EQVRFKSAmJiBFTkFCTEVfSU5QVVRfVFlQRV9EQVRFCiBpbnB1dFt0eXBlPSJkYXRl
Il0gewogICAgIC13ZWJraXQtYWxpZ24taXRlbXM6IGNlbnRlcjsKQEAgLTY5OSw3ICs1NTcsNiBA
QCBpbnB1dDo6LXdlYmtpdC1kYXRlLWFuZC10aW1lLXZhbHVlIHsKICAgICBtYXJnaW46IDFweCAy
NHB4IDFweCA0cHg7CiAgICAgd2hpdGUtc3BhY2U6IHByZTsKIH0KLSNlbmRpZgogCiBpbnB1dDo6
LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbiB7CiAgICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBpbm5l
ci1zcGluLWJ1dHRvbjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50LmNw
cCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50LmNwcAppbmRleCA3NGU5ZDg1YjJlYjE2MjUy
YmEwNTk1MDBhZjcyMzA1OTMyZWJjODE0Li40Mjk2MjRjMjk0Y2UzZjQyZTQ4MjkzNGZiOGI1ZjAx
MTkwN2NjYjNkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudC5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnQuY3BwCkBAIC0xMjcwLDEzICsxMjcwLDYgQEAg
UmVuZGVyT2JqZWN0KiBFbGVtZW50OjpjcmVhdGVSZW5kZXJlcihSZW5kZXJBcmVuYSosIFJlbmRl
clN0eWxlKiBzdHlsZSkKICAgICByZXR1cm4gUmVuZGVyT2JqZWN0OjpjcmVhdGVPYmplY3QodGhp
cywgc3R5bGUpOwogfQogCi0jaWYgRU5BQkxFKElOUFVUX01VTFRJUExFX0ZJRUxEU19VSSkKLWJv
b2wgRWxlbWVudDo6aXNEYXRlVGltZUZpZWxkRWxlbWVudCgpIGNvbnN0Ci17Ci0gICAgcmV0dXJu
IGZhbHNlOwotfQotI2VuZGlmCi0KIGJvb2wgRWxlbWVudDo6aXNEaXNhYmxlZEZvcm1Db250cm9s
KCkgY29uc3QKIHsKICNpZiBFTkFCTEUoRElBTE9HX0VMRU1FTlQpCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9kb20vRWxlbWVudC5oIGIvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnQuaApp
bmRleCAwY2M4NTBhZmIxMjRhYTg0YzRiOTMyNzllOWI4OTU4MjY2Y2Q5NzE4Li4yMDc0NTEwYzlj
NjZkNjlmOTg3MzYyZjFkNzg3OTczNzgwNDE3MDcxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9kb20vRWxlbWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50LmgKQEAgLTU1
OSw5ICs1NTksNiBAQCBwdWJsaWM6CiAjaWYgRU5BQkxFKElOUFVUX1NQRUVDSCkKICAgICB2aXJ0
dWFsIGJvb2wgaXNJbnB1dEZpZWxkU3BlZWNoQnV0dG9uRWxlbWVudCgpIGNvbnN0IHsgcmV0dXJu
IGZhbHNlOyB9CiAjZW5kaWYKLSNpZiBFTkFCTEUoSU5QVVRfTVVMVElQTEVfRklFTERTX1VJKQot
ICAgIHZpcnR1YWwgYm9vbCBpc0RhdGVUaW1lRmllbGRFbGVtZW50KCkgY29uc3Q7Ci0jZW5kaWYK
IAogICAgIHZpcnR1YWwgYm9vbCBpc0Zvcm1Db250cm9sRWxlbWVudCgpIGNvbnN0IHsgcmV0dXJu
IGZhbHNlOyB9CiAgICAgdmlydHVhbCBib29sIGlzU3BpbkJ1dHRvbkVsZW1lbnQoKSBjb25zdCB7
IHJldHVybiBmYWxzZTsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9CYXNlQ2hv
b3Nlck9ubHlEYXRlQW5kVGltZUlucHV0VHlwZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0Jh
c2VDaG9vc2VyT25seURhdGVBbmRUaW1lSW5wdXRUeXBlLmNwcAppbmRleCAyYWJhY2UxOWMzNTQ0
NTNhMjIxZGY1YjU3N2ZlYjFlOGQwZWZjODc3Li4wMjQ1MWQwYzE0NjAzOWU1MGMwNjgxNzVmZGIx
M2QyZWVkYTkxMzYzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0Jhc2VDaG9vc2Vy
T25seURhdGVBbmRUaW1lSW5wdXRUeXBlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0Jh
c2VDaG9vc2VyT25seURhdGVBbmRUaW1lSW5wdXRUeXBlLmNwcApAQCAtMjQsNyArMjQsNyBAQAog
ICovCiAKICNpbmNsdWRlICJjb25maWcuaCIKLSNpZiBFTkFCTEUoREFURV9BTkRfVElNRV9JTlBV
VF9UWVBFUykgJiYgIUVOQUJMRShJTlBVVF9NVUxUSVBMRV9GSUVMRFNfVUkpCisjaWYgRU5BQkxF
KERBVEVfQU5EX1RJTUVfSU5QVVRfVFlQRVMpCiAjaW5jbHVkZSAiQmFzZUNob29zZXJPbmx5RGF0
ZUFuZFRpbWVJbnB1dFR5cGUuaCIKIAogI2luY2x1ZGUgIkNocm9tZS5oIgpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvaHRtbC9CYXNlQ2hvb3Nlck9ubHlEYXRlQW5kVGltZUlucHV0VHlwZS5o
IGIvU291cmNlL1dlYkNvcmUvaHRtbC9CYXNlQ2hvb3Nlck9ubHlEYXRlQW5kVGltZUlucHV0VHlw
ZS5oCmluZGV4IDJmNmM4MTBmMGZjNmUwOTIyZjY4MjI1Yjg2MTIxMjU4NTU0Mjc1YTIuLjAzMDg2
NWYwMTliMTNhNDRlNmI4ODQwMzFjZTNhODBiM2NjMzY2MjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvQmFzZUNob29zZXJPbmx5RGF0ZUFuZFRpbWVJbnB1dFR5cGUuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9odG1sL0Jhc2VDaG9vc2VyT25seURhdGVBbmRUaW1lSW5wdXRUeXBlLmgK
QEAgLTI2LDcgKzI2LDcgQEAKICNpZm5kZWYgQmFzZUNob29zZXJPbmx5RGF0ZUFuZFRpbWVJbnB1
dFR5cGVfaAogI2RlZmluZSBCYXNlQ2hvb3Nlck9ubHlEYXRlQW5kVGltZUlucHV0VHlwZV9oCiAK
LSNpZiBFTkFCTEUoREFURV9BTkRfVElNRV9JTlBVVF9UWVBFUykgJiYgIUVOQUJMRShJTlBVVF9N
VUxUSVBMRV9GSUVMRFNfVUkpCisjaWYgRU5BQkxFKERBVEVfQU5EX1RJTUVfSU5QVVRfVFlQRVMp
CiAjaW5jbHVkZSAiQmFzZUNsaWNrYWJsZVdpdGhLZXlJbnB1dFR5cGUuaCIKICNpbmNsdWRlICJC
YXNlRGF0ZUFuZFRpbWVJbnB1dFR5cGUuaCIKICNpbmNsdWRlICJEYXRlVGltZUNob29zZXIuaCIK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvQmFzZU11bHRpcGxlRmllbGRzRGF0ZUFu
ZFRpbWVJbnB1dFR5cGUuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9CYXNlTXVsdGlwbGVGaWVs
ZHNEYXRlQW5kVGltZUlucHV0VHlwZS5jcHAKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDQyNzBmMjA2MzVlMmJlZDNiYWE2YjdhYzA2YzhmOTYzNTRlNGY1YmYuLjAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9CYXNl
TXVsdGlwbGVGaWVsZHNEYXRlQW5kVGltZUlucHV0VHlwZS5jcHAKKysrIC9kZXYvbnVsbApAQCAt
MSw1NzkgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAxMCBHb29nbGUgSW5jLiBBbGwg
cmlnaHRzIHJlc2VydmVkLgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNl
IGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUg
cGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQotICog
bWV0OgotICoKLSAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJl
dGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAgICAgKiBSZWRpc3RyaWJ1dGlv
bnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCi0gKiBjb3B5cmlnaHQg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyCi0gKiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3Zp
ZGVkIHdpdGggdGhlCi0gKiBkaXN0cmlidXRpb24uCi0gKiAgICAgKiBOZWl0aGVyIHRoZSBuYW1l
IG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCi0gKiBjb250cmlidXRvcnMgbWF5
IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQotICog
dGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4K
LSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVS
UyBBTkQgQ09OVFJJQlVUT1JTCi0gKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVE
IFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAotICogTElNSVRFRCBUTywgVEhFIElNUExJ
RUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCi0gKiBBIFBB
UlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENP
UFlSSUdIVAotICogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVD
VCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCi0gKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNF
UVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCi0gKiBMSU1JVEVEIFRPLCBQUk9D
VVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKLSAq
IERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVT
RUQgQU5EIE9OIEFOWQotICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFD
VCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAotICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9S
IE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCi0gKiBPRiBUSElT
IFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFN
QUdFLgotICovCi0KLSNpbmNsdWRlICJjb25maWcuaCIKLSNpZiBFTkFCTEUoSU5QVVRfTVVMVElQ
TEVfRklFTERTX1VJKQotI2luY2x1ZGUgIkJhc2VNdWx0aXBsZUZpZWxkc0RhdGVBbmRUaW1lSW5w
dXRUeXBlLmgiCi0KLSNpbmNsdWRlICJDU1NWYWx1ZUtleXdvcmRzLmgiCi0jaW5jbHVkZSAiRGF0
ZUNvbXBvbmVudHMuaCIKLSNpbmNsdWRlICJEYXRlVGltZUZpZWxkc1N0YXRlLmgiCi0jaW5jbHVk
ZSAiRGF0ZVRpbWVGb3JtYXQuaCIKLSNpbmNsdWRlICJFbGVtZW50U2hhZG93LmgiCi0jaW5jbHVk
ZSAiRm9jdXNDb250cm9sbGVyLmgiCi0jaW5jbHVkZSAiRm9ybUNvbnRyb2xsZXIuaCIKLSNpbmNs
dWRlICJIVE1MRGF0YUxpc3RFbGVtZW50LmgiCi0jaW5jbHVkZSAiSFRNTElucHV0RWxlbWVudC5o
IgotI2luY2x1ZGUgIkhUTUxPcHRpb25FbGVtZW50LmgiCi0jaW5jbHVkZSAiS2V5Ym9hcmRFdmVu
dC5oIgotI2luY2x1ZGUgIkxvY2FsaXplZFN0cmluZ3MuaCIKLSNpbmNsdWRlICJOb2RlVHJhdmVy
c2FsLmgiCi0jaW5jbHVkZSAiUGFnZS5oIgotI2luY2x1ZGUgIlBpY2tlckluZGljYXRvckVsZW1l
bnQuaCIKLSNpbmNsdWRlICJQbGF0Zm9ybUxvY2FsZS5oIgotI2luY2x1ZGUgIlJlbmRlclRoZW1l
LmgiCi0jaW5jbHVkZSAiU2hhZG93Um9vdC5oIgotI2luY2x1ZGUgPHd0Zi9EYXRlTWF0aC5oPgot
Ci1uYW1lc3BhY2UgV2ViQ29yZSB7Ci0KLWNsYXNzIERhdGVUaW1lRm9ybWF0VmFsaWRhdG9yIDog
cHVibGljIERhdGVUaW1lRm9ybWF0OjpUb2tlbkhhbmRsZXIgewotcHVibGljOgotICAgIERhdGVU
aW1lRm9ybWF0VmFsaWRhdG9yKCkKLSAgICAgICAgOiBtX2hhc1llYXIoZmFsc2UpCi0gICAgICAg
ICwgbV9oYXNNb250aChmYWxzZSkKLSAgICAgICAgLCBtX2hhc1dlZWsoZmFsc2UpCi0gICAgICAg
ICwgbV9oYXNEYXkoZmFsc2UpCi0gICAgICAgICwgbV9oYXNBTVBNKGZhbHNlKQotICAgICAgICAs
IG1faGFzSG91cihmYWxzZSkKLSAgICAgICAgLCBtX2hhc01pbnV0ZShmYWxzZSkKLSAgICAgICAg
LCBtX2hhc1NlY29uZChmYWxzZSkgeyB9Ci0KLSAgICB2aXJ0dWFsIHZvaWQgdmlzaXRGaWVsZChE
YXRlVGltZUZvcm1hdDo6RmllbGRUeXBlLCBpbnQpIE9WRVJSSURFIEZJTkFMOwotICAgIHZpcnR1
YWwgdm9pZCB2aXNpdExpdGVyYWwoY29uc3QgU3RyaW5nJikgT1ZFUlJJREUgRklOQUwgeyB9Ci0K
LSAgICBib29sIHZhbGlkYXRlRm9ybWF0KGNvbnN0IFN0cmluZyYgZm9ybWF0LCBjb25zdCBCYXNl
TXVsdGlwbGVGaWVsZHNEYXRlQW5kVGltZUlucHV0VHlwZSYpOwotCi1wcml2YXRlOgotICAgIGJv
b2wgbV9oYXNZZWFyOwotICAgIGJvb2wgbV9oYXNNb250aDsKLSAgICBib29sIG1faGFzV2VlazsK
LSAgICBib29sIG1faGFzRGF5OwotICAgIGJvb2wgbV9oYXNBTVBNOwotICAgIGJvb2wgbV9oYXNI
b3VyOwotICAgIGJvb2wgbV9oYXNNaW51dGU7Ci0gICAgYm9vbCBtX2hhc1NlY29uZDsKLX07Ci0K
LXZvaWQgRGF0ZVRpbWVGb3JtYXRWYWxpZGF0b3I6OnZpc2l0RmllbGQoRGF0ZVRpbWVGb3JtYXQ6
OkZpZWxkVHlwZSBmaWVsZFR5cGUsIGludCkKLXsKLSAgICBzd2l0Y2ggKGZpZWxkVHlwZSkgewot
ICAgIGNhc2UgRGF0ZVRpbWVGb3JtYXQ6OkZpZWxkVHlwZVllYXI6Ci0gICAgICAgIG1faGFzWWVh
ciA9IHRydWU7Ci0gICAgICAgIGJyZWFrOwotICAgIGNhc2UgRGF0ZVRpbWVGb3JtYXQ6OkZpZWxk
VHlwZU1vbnRoOiAvLyBGYWxsdGhyb3VnaC4KLSAgICBjYXNlIERhdGVUaW1lRm9ybWF0OjpGaWVs
ZFR5cGVNb250aFN0YW5kQWxvbmU6Ci0gICAgICAgIG1faGFzTW9udGggPSB0cnVlOwotICAgICAg
ICBicmVhazsKLSAgICBjYXNlIERhdGVUaW1lRm9ybWF0OjpGaWVsZFR5cGVXZWVrT2ZZZWFyOgot
ICAgICAgICBtX2hhc1dlZWsgPSB0cnVlOwotICAgICAgICBicmVhazsKLSAgICBjYXNlIERhdGVU
aW1lRm9ybWF0OjpGaWVsZFR5cGVEYXlPZk1vbnRoOgotICAgICAgICBtX2hhc0RheSA9IHRydWU7
Ci0gICAgICAgIGJyZWFrOwotICAgIGNhc2UgRGF0ZVRpbWVGb3JtYXQ6OkZpZWxkVHlwZVBlcmlv
ZDoKLSAgICAgICAgbV9oYXNBTVBNID0gdHJ1ZTsKLSAgICAgICAgYnJlYWs7Ci0gICAgY2FzZSBE
YXRlVGltZUZvcm1hdDo6RmllbGRUeXBlSG91cjExOiAvLyBGYWxsdGhyb3VnaC4KLSAgICBjYXNl
IERhdGVUaW1lRm9ybWF0OjpGaWVsZFR5cGVIb3VyMTI6Ci0gICAgICAgIG1faGFzSG91ciA9IHRy
dWU7Ci0gICAgICAgIGJyZWFrOwotICAgIGNhc2UgRGF0ZVRpbWVGb3JtYXQ6OkZpZWxkVHlwZUhv
dXIyMzogLy8gRmFsbHRocm91Z2guCi0gICAgY2FzZSBEYXRlVGltZUZvcm1hdDo6RmllbGRUeXBl
SG91cjI0OgotICAgICAgICBtX2hhc0hvdXIgPSB0cnVlOwotICAgICAgICBtX2hhc0FNUE0gPSB0
cnVlOwotICAgICAgICBicmVhazsKLSAgICBjYXNlIERhdGVUaW1lRm9ybWF0OjpGaWVsZFR5cGVN
aW51dGU6Ci0gICAgICAgIG1faGFzTWludXRlID0gdHJ1ZTsKLSAgICAgICAgYnJlYWs7Ci0gICAg
Y2FzZSBEYXRlVGltZUZvcm1hdDo6RmllbGRUeXBlU2Vjb25kOgotICAgICAgICBtX2hhc1NlY29u
ZCA9IHRydWU7Ci0gICAgICAgIGJyZWFrOwotICAgIGRlZmF1bHQ6Ci0gICAgICAgIGJyZWFrOwot
ICAgIH0KLX0KLQotYm9vbCBEYXRlVGltZUZvcm1hdFZhbGlkYXRvcjo6dmFsaWRhdGVGb3JtYXQo
Y29uc3QgU3RyaW5nJiBmb3JtYXQsIGNvbnN0IEJhc2VNdWx0aXBsZUZpZWxkc0RhdGVBbmRUaW1l
SW5wdXRUeXBlJiBpbnB1dFR5cGUpCi17Ci0gICAgaWYgKCFEYXRlVGltZUZvcm1hdDo6cGFyc2Uo
Zm9ybWF0LCAqdGhpcykpCi0gICAgICAgIHJldHVybiBmYWxzZTsKLSAgICByZXR1cm4gaW5wdXRU
eXBlLmlzVmFsaWRGb3JtYXQobV9oYXNZZWFyLCBtX2hhc01vbnRoLCBtX2hhc1dlZWssIG1faGFz
RGF5LCBtX2hhc0FNUE0sIG1faGFzSG91ciwgbV9oYXNNaW51dGUsIG1faGFzU2Vjb25kKTsKLX0K
LQotdm9pZCBCYXNlTXVsdGlwbGVGaWVsZHNEYXRlQW5kVGltZUlucHV0VHlwZTo6ZGlkQmx1ckZy
b21Db250cm9sKCkKLXsKLSAgICAvLyBXZSBkb24ndCBuZWVkIHRvIGNhbGwgYmx1cigpLiBUaGlz
IGZ1bmN0aW9uIGlzIGNhbGxlZCB3aGVuIGNvbnRyb2wKLSAgICAvLyBsb3N0IGZvY3VzLgotCi0g
ICAgLy8gUmVtb3ZlIGZvY3VzIHJpbmcgYnkgQ1NTICJmb2N1cyIgcHNldWRvIGNsYXNzLgotICAg
IGVsZW1lbnQoKS0+c2V0Rm9jdXMoZmFsc2UpOwotfQotCi12b2lkIEJhc2VNdWx0aXBsZUZpZWxk
c0RhdGVBbmRUaW1lSW5wdXRUeXBlOjpkaWRGb2N1c09uQ29udHJvbCgpCi17Ci0gICAgLy8gV2Ug
ZG9uJ3QgbmVlZCB0byBjYWxsIGZvY3VzKCkuIFRoaXMgZnVuY3Rpb24gaXMgY2FsbGVkIHdoZW4g
Y29udHJvbAotICAgIC8vIGdvdCBmb2N1cy4KLQotICAgIC8vIEFkZCBmb2N1cyByaW5nIGJ5IENT
UyAiZm9jdXMiIHBzZXVkbyBjbGFzcy4KLSAgICBlbGVtZW50KCktPnNldEZvY3VzKHRydWUpOwot
fQotCi12b2lkIEJhc2VNdWx0aXBsZUZpZWxkc0RhdGVBbmRUaW1lSW5wdXRUeXBlOjplZGl0Q29u
dHJvbFZhbHVlQ2hhbmdlZCgpCi17Ci0gICAgUmVmUHRyPEhUTUxJbnB1dEVsZW1lbnQ+IGlucHV0
KGVsZW1lbnQoKSk7Ci0gICAgU3RyaW5nIG9sZFZhbHVlID0gaW5wdXQtPnZhbHVlKCk7Ci0gICAg
U3RyaW5nIG5ld1ZhbHVlID0gc2FuaXRpemVWYWx1ZShtX2RhdGVUaW1lRWRpdEVsZW1lbnQtPnZh
bHVlKCkpOwotICAgIC8vIEV2ZW4gaWYgb2xkVmFsdWUgaXMgbnVsbCBhbmQgbmV3VmFsdWUgaXMg
IiIsIHdlIHNob3VsZCBhc3N1bWUgdGhleSBhcmUgc2FtZS4KLSAgICBpZiAoKG9sZFZhbHVlLmlz
RW1wdHkoKSAmJiBuZXdWYWx1ZS5pc0VtcHR5KCkpIHx8IG9sZFZhbHVlID09IG5ld1ZhbHVlKQot
ICAgICAgICBpbnB1dC0+c2V0TmVlZHNWYWxpZGl0eUNoZWNrKCk7Ci0gICAgZWxzZSB7Ci0gICAg
ICAgIGlucHV0LT5zZXRWYWx1ZUludGVybmFsKG5ld1ZhbHVlLCBEaXNwYXRjaE5vRXZlbnQpOwot
ICAgICAgICBpbnB1dC0+c2V0TmVlZHNTdHlsZVJlY2FsYygpOwotICAgICAgICBpbnB1dC0+ZGlz
cGF0Y2hGb3JtQ29udHJvbElucHV0RXZlbnQoKTsKLSAgICAgICAgaW5wdXQtPmRpc3BhdGNoRm9y
bUNvbnRyb2xDaGFuZ2VFdmVudCgpOwotICAgIH0KLSAgICBpbnB1dC0+bm90aWZ5Rm9ybVN0YXRl
Q2hhbmdlZCgpOwotICAgIGlucHV0LT51cGRhdGVDbGVhckJ1dHRvblZpc2liaWxpdHkoKTsKLX0K
LQotYm9vbCBCYXNlTXVsdGlwbGVGaWVsZHNEYXRlQW5kVGltZUlucHV0VHlwZTo6aGFzQ3VzdG9t
Rm9jdXNMb2dpYygpIGNvbnN0Ci17Ci0gICAgcmV0dXJuIGZhbHNlOwotfQotCi1ib29sIEJhc2VN
dWx0aXBsZUZpZWxkc0RhdGVBbmRUaW1lSW5wdXRUeXBlOjppc0VkaXRDb250cm9sT3duZXJEaXNh
YmxlZCgpIGNvbnN0Ci17Ci0gICAgcmV0dXJuIGVsZW1lbnQoKS0+aXNEaXNhYmxlZEZvcm1Db250
cm9sKCk7Ci19Ci0KLWJvb2wgQmFzZU11bHRpcGxlRmllbGRzRGF0ZUFuZFRpbWVJbnB1dFR5cGU6
OmlzRWRpdENvbnRyb2xPd25lclJlYWRPbmx5KCkgY29uc3QKLXsKLSAgICByZXR1cm4gZWxlbWVu
dCgpLT5pc1JlYWRPbmx5KCk7Ci19Ci0KLXZvaWQgQmFzZU11bHRpcGxlRmllbGRzRGF0ZUFuZFRp
bWVJbnB1dFR5cGU6OmZvY3VzQW5kU2VsZWN0U3BpbkJ1dHRvbk93bmVyKCkKLXsKLSAgICBpZiAo
bV9kYXRlVGltZUVkaXRFbGVtZW50KQotICAgICAgICBtX2RhdGVUaW1lRWRpdEVsZW1lbnQtPmZv
Y3VzSWZOb0ZvY3VzKCk7Ci19Ci0KLWJvb2wgQmFzZU11bHRpcGxlRmllbGRzRGF0ZUFuZFRpbWVJ
bnB1dFR5cGU6OnNob3VsZFNwaW5CdXR0b25SZXNwb25kVG9Nb3VzZUV2ZW50cygpCi17Ci0gICAg
cmV0dXJuICFlbGVtZW50KCktPmlzRGlzYWJsZWRPclJlYWRPbmx5KCk7Ci19Ci0KLWJvb2wgQmFz
ZU11bHRpcGxlRmllbGRzRGF0ZUFuZFRpbWVJbnB1dFR5cGU6OnNob3VsZFNwaW5CdXR0b25SZXNw
b25kVG9XaGVlbEV2ZW50cygpCi17Ci0gICAgaWYgKCFzaG91bGRTcGluQnV0dG9uUmVzcG9uZFRv
TW91c2VFdmVudHMoKSkKLSAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgIHJldHVybiBtX2RhdGVU
aW1lRWRpdEVsZW1lbnQgJiYgbV9kYXRlVGltZUVkaXRFbGVtZW50LT5oYXNGb2N1c2VkRmllbGQo
KTsKLX0KLQotdm9pZCBCYXNlTXVsdGlwbGVGaWVsZHNEYXRlQW5kVGltZUlucHV0VHlwZTo6c3Bp
bkJ1dHRvblN0ZXBEb3duKCkKLXsKLSAgICBpZiAobV9kYXRlVGltZUVkaXRFbGVtZW50KQotICAg
ICAgICBtX2RhdGVUaW1lRWRpdEVsZW1lbnQtPnN0ZXBEb3duKCk7Ci19Ci0KLXZvaWQgQmFzZU11
bHRpcGxlRmllbGRzRGF0ZUFuZFRpbWVJbnB1dFR5cGU6OnNwaW5CdXR0b25TdGVwVXAoKQotewot
ICAgIGlmIChtX2RhdGVUaW1lRWRpdEVsZW1lbnQpCi0gICAgICAgIG1fZGF0ZVRpbWVFZGl0RWxl
bWVudC0+c3RlcFVwKCk7Ci19Ci0KLWJvb2wgQmFzZU11bHRpcGxlRmllbGRzRGF0ZUFuZFRpbWVJ
bnB1dFR5cGU6OmlzUGlja2VySW5kaWNhdG9yT3duZXJEaXNhYmxlZE9yUmVhZE9ubHkoKSBjb25z
dAotewotICAgIHJldHVybiBlbGVtZW50KCktPmlzRGlzYWJsZWRPclJlYWRPbmx5KCk7Ci19Ci0K
LXZvaWQgQmFzZU11bHRpcGxlRmllbGRzRGF0ZUFuZFRpbWVJbnB1dFR5cGU6OnBpY2tlckluZGlj
YXRvckNob29zZVZhbHVlKGNvbnN0IFN0cmluZyYgdmFsdWUpCi17Ci0gICAgaWYgKGVsZW1lbnQo
KS0+aXNWYWxpZFZhbHVlKHZhbHVlKSkgewotICAgICAgICBlbGVtZW50KCktPnNldFZhbHVlKHZh
bHVlLCBEaXNwYXRjaElucHV0QW5kQ2hhbmdlRXZlbnQpOwotICAgICAgICByZXR1cm47Ci0gICAg
fQotCi0gICAgaWYgKCFtX2RhdGVUaW1lRWRpdEVsZW1lbnQpCi0gICAgICAgIHJldHVybjsKLSAg
ICBEYXRlQ29tcG9uZW50cyBkYXRlOwotICAgIHVuc2lnbmVkIGVuZDsKLSAgICBpZiAoZGF0ZS5w
YXJzZURhdGUodmFsdWUuY2hhcmFjdGVycygpLCB2YWx1ZS5sZW5ndGgoKSwgMCwgZW5kKSAmJiBl
bmQgPT0gdmFsdWUubGVuZ3RoKCkpCi0gICAgICAgIG1fZGF0ZVRpbWVFZGl0RWxlbWVudC0+c2V0
T25seVllYXJNb250aERheShkYXRlKTsKLX0KLQotYm9vbCBCYXNlTXVsdGlwbGVGaWVsZHNEYXRl
QW5kVGltZUlucHV0VHlwZTo6c2V0dXBEYXRlVGltZUNob29zZXJQYXJhbWV0ZXJzKERhdGVUaW1l
Q2hvb3NlclBhcmFtZXRlcnMmIHBhcmFtZXRlcnMpCi17Ci0gICAgcmV0dXJuIGVsZW1lbnQoKS0+
c2V0dXBEYXRlVGltZUNob29zZXJQYXJhbWV0ZXJzKHBhcmFtZXRlcnMpOwotfQotCi1CYXNlTXVs
dGlwbGVGaWVsZHNEYXRlQW5kVGltZUlucHV0VHlwZTo6QmFzZU11bHRpcGxlRmllbGRzRGF0ZUFu
ZFRpbWVJbnB1dFR5cGUoSFRNTElucHV0RWxlbWVudCogZWxlbWVudCkKLSAgICA6IEJhc2VEYXRl
QW5kVGltZUlucHV0VHlwZShlbGVtZW50KQotICAgICwgbV9kYXRlVGltZUVkaXRFbGVtZW50KDAp
Ci0gICAgLCBtX3NwaW5CdXR0b25FbGVtZW50KDApCi0gICAgLCBtX2NsZWFyQnV0dG9uKDApCi0g
ICAgLCBtX3BpY2tlckluZGljYXRvckVsZW1lbnQoMCkKLSAgICAsIG1fcGlja2VySW5kaWNhdG9y
SXNWaXNpYmxlKGZhbHNlKQotICAgICwgbV9waWNrZXJJbmRpY2F0b3JJc0Fsd2F5c1Zpc2libGUo
ZmFsc2UpCi17Ci19Ci0KLUJhc2VNdWx0aXBsZUZpZWxkc0RhdGVBbmRUaW1lSW5wdXRUeXBlOjp+
QmFzZU11bHRpcGxlRmllbGRzRGF0ZUFuZFRpbWVJbnB1dFR5cGUoKQotewotICAgIGlmIChtX3Nw
aW5CdXR0b25FbGVtZW50KQotICAgICAgICBtX3NwaW5CdXR0b25FbGVtZW50LT5yZW1vdmVTcGlu
QnV0dG9uT3duZXIoKTsKLSAgICBpZiAobV9jbGVhckJ1dHRvbikKLSAgICAgICAgbV9jbGVhckJ1
dHRvbi0+cmVtb3ZlQ2xlYXJCdXR0b25Pd25lcigpOwotICAgIGlmIChtX2RhdGVUaW1lRWRpdEVs
ZW1lbnQpCi0gICAgICAgIG1fZGF0ZVRpbWVFZGl0RWxlbWVudC0+cmVtb3ZlRWRpdENvbnRyb2xP
d25lcigpOwotICAgIGlmIChtX3BpY2tlckluZGljYXRvckVsZW1lbnQpCi0gICAgICAgIG1fcGlj
a2VySW5kaWNhdG9yRWxlbWVudC0+cmVtb3ZlUGlja2VySW5kaWNhdG9yT3duZXIoKTsKLX0KLQot
U3RyaW5nIEJhc2VNdWx0aXBsZUZpZWxkc0RhdGVBbmRUaW1lSW5wdXRUeXBlOjpiYWRJbnB1dFRl
eHQoKSBjb25zdAotewotICAgIHJldHVybiB2YWxpZGF0aW9uTWVzc2FnZUJhZElucHV0Rm9yRGF0
ZVRpbWVUZXh0KCk7Ci19Ci0KLXZvaWQgQmFzZU11bHRpcGxlRmllbGRzRGF0ZUFuZFRpbWVJbnB1
dFR5cGU6OmJsdXIoKQotewotICAgIGlmIChtX2RhdGVUaW1lRWRpdEVsZW1lbnQpCi0gICAgICAg
IG1fZGF0ZVRpbWVFZGl0RWxlbWVudC0+Ymx1ckJ5T3duZXIoKTsKLX0KLQotUGFzc1JlZlB0cjxS
ZW5kZXJTdHlsZT4gQmFzZU11bHRpcGxlRmllbGRzRGF0ZUFuZFRpbWVJbnB1dFR5cGU6OmN1c3Rv
bVN0eWxlRm9yUmVuZGVyZXIoUGFzc1JlZlB0cjxSZW5kZXJTdHlsZT4gb3JpZ2luYWxTdHlsZSkK
LXsKLSAgICBFRGlzcGxheSBvcmlnaW5hbERpc3BsYXkgPSBvcmlnaW5hbFN0eWxlLT5kaXNwbGF5
KCk7Ci0gICAgRURpc3BsYXkgbmV3RGlzcGxheSA9IG9yaWdpbmFsRGlzcGxheTsKLSAgICBpZiAo
b3JpZ2luYWxEaXNwbGF5ID09IElOTElORSB8fCBvcmlnaW5hbERpc3BsYXkgPT0gSU5MSU5FX0JM
T0NLKQotICAgICAgICBuZXdEaXNwbGF5ID0gSU5MSU5FX0ZMRVg7Ci0gICAgZWxzZSBpZiAob3Jp
Z2luYWxEaXNwbGF5ID09IEJMT0NLKQotICAgICAgICBuZXdEaXNwbGF5ID0gRkxFWDsKLSAgICBU
ZXh0RGlyZWN0aW9uIGNvbnRlbnREaXJlY3Rpb24gPSBlbGVtZW50KCktPmxvY2FsZSgpLmlzUlRM
KCkgPyBSVEwgOiBMVFI7Ci0gICAgaWYgKG9yaWdpbmFsU3R5bGUtPmRpcmVjdGlvbigpID09IGNv
bnRlbnREaXJlY3Rpb24gJiYgb3JpZ2luYWxEaXNwbGF5ID09IG5ld0Rpc3BsYXkpCi0gICAgICAg
IHJldHVybiBvcmlnaW5hbFN0eWxlOwotCi0gICAgUmVmUHRyPFJlbmRlclN0eWxlPiBzdHlsZSA9
IFJlbmRlclN0eWxlOjpjbG9uZShvcmlnaW5hbFN0eWxlLmdldCgpKTsKLSAgICBzdHlsZS0+c2V0
RGlyZWN0aW9uKGNvbnRlbnREaXJlY3Rpb24pOwotICAgIHN0eWxlLT5zZXREaXNwbGF5KG5ld0Rp
c3BsYXkpOwotICAgIHJldHVybiBzdHlsZS5yZWxlYXNlKCk7Ci19Ci0KLXZvaWQgQmFzZU11bHRp
cGxlRmllbGRzRGF0ZUFuZFRpbWVJbnB1dFR5cGU6OmNyZWF0ZVNoYWRvd1N1YnRyZWUoKQotewot
ICAgIEFTU0VSVChlbGVtZW50KCktPnNoYWRvdygpKTsKLQotICAgIERvY3VtZW50KiBkb2N1bWVu
dCA9IGVsZW1lbnQoKS0+ZG9jdW1lbnQoKTsKLSAgICBDb250YWluZXJOb2RlKiBjb250YWluZXIg
PSBlbGVtZW50KCktPnVzZXJBZ2VudFNoYWRvd1Jvb3QoKTsKLQotICAgIFJlZlB0cjxEYXRlVGlt
ZUVkaXRFbGVtZW50PiBkYXRlVGltZUVkaXRFbGVtZW50KERhdGVUaW1lRWRpdEVsZW1lbnQ6OmNy
ZWF0ZShkb2N1bWVudCwgKnRoaXMpKTsKLSAgICBtX2RhdGVUaW1lRWRpdEVsZW1lbnQgPSBkYXRl
VGltZUVkaXRFbGVtZW50LmdldCgpOwotICAgIGNvbnRhaW5lci0+YXBwZW5kQ2hpbGQobV9kYXRl
VGltZUVkaXRFbGVtZW50KTsKLSAgICB1cGRhdGVJbm5lclRleHRWYWx1ZSgpOwotCi0gICAgUmVm
UHRyPENsZWFyQnV0dG9uRWxlbWVudD4gY2xlYXJCdXR0b24gPSBDbGVhckJ1dHRvbkVsZW1lbnQ6
OmNyZWF0ZShkb2N1bWVudCwgKnRoaXMpOwotICAgIG1fY2xlYXJCdXR0b24gPSBjbGVhckJ1dHRv
bi5nZXQoKTsKLSAgICBjb250YWluZXItPmFwcGVuZENoaWxkKGNsZWFyQnV0dG9uKTsKLQotICAg
IFJlZlB0cjxTcGluQnV0dG9uRWxlbWVudD4gc3BpbkJ1dHRvbiA9IFNwaW5CdXR0b25FbGVtZW50
OjpjcmVhdGUoZG9jdW1lbnQsICp0aGlzKTsKLSAgICBtX3NwaW5CdXR0b25FbGVtZW50ID0gc3Bp
bkJ1dHRvbi5nZXQoKTsKLSAgICBjb250YWluZXItPmFwcGVuZENoaWxkKHNwaW5CdXR0b24pOwot
Ci0gICAgYm9vbCBzaG91bGRBZGRQaWNrZXJJbmRpY2F0b3IgPSBmYWxzZTsKLSNpZiBFTkFCTEUo
REFUQUxJU1RfRUxFTUVOVCkKLSAgICBpZiAoSW5wdXRUeXBlOjp0aGVtZVN1cHBvcnRzRGF0YUxp
c3RVSSh0aGlzKSkKLSAgICAgICAgc2hvdWxkQWRkUGlja2VySW5kaWNhdG9yID0gdHJ1ZTsKLSNl
bmRpZgotICAgIGlmIChzaG91bGRBZGRQaWNrZXJJbmRpY2F0b3IpIHsKLSAgICAgICAgUmVmUHRy
PFBpY2tlckluZGljYXRvckVsZW1lbnQ+IHBpY2tlckVsZW1lbnQgPSBQaWNrZXJJbmRpY2F0b3JF
bGVtZW50OjpjcmVhdGUoZG9jdW1lbnQsICp0aGlzKTsKLSAgICAgICAgbV9waWNrZXJJbmRpY2F0
b3JFbGVtZW50ID0gcGlja2VyRWxlbWVudC5nZXQoKTsKLSAgICAgICAgY29udGFpbmVyLT5hcHBl
bmRDaGlsZChtX3BpY2tlckluZGljYXRvckVsZW1lbnQpOwotICAgICAgICBtX3BpY2tlckluZGlj
YXRvcklzVmlzaWJsZSA9IHRydWU7Ci0gICAgICAgIHVwZGF0ZVBpY2tlckluZGljYXRvclZpc2li
aWxpdHkoKTsKLSAgICB9Ci19Ci0KLXZvaWQgQmFzZU11bHRpcGxlRmllbGRzRGF0ZUFuZFRpbWVJ
bnB1dFR5cGU6OmRlc3Ryb3lTaGFkb3dTdWJ0cmVlKCkKLXsKLSAgICBpZiAobV9zcGluQnV0dG9u
RWxlbWVudCkgewotICAgICAgICBtX3NwaW5CdXR0b25FbGVtZW50LT5yZW1vdmVTcGluQnV0dG9u
T3duZXIoKTsKLSAgICAgICAgbV9zcGluQnV0dG9uRWxlbWVudCA9IDA7Ci0gICAgfQotICAgIGlm
IChtX2NsZWFyQnV0dG9uKSB7Ci0gICAgICAgIG1fY2xlYXJCdXR0b24tPnJlbW92ZUNsZWFyQnV0
dG9uT3duZXIoKTsKLSAgICAgICAgbV9jbGVhckJ1dHRvbiA9IDA7Ci0gICAgfQotICAgIGlmICht
X2RhdGVUaW1lRWRpdEVsZW1lbnQpIHsKLSAgICAgICAgbV9kYXRlVGltZUVkaXRFbGVtZW50LT5y
ZW1vdmVFZGl0Q29udHJvbE93bmVyKCk7Ci0gICAgICAgIG1fZGF0ZVRpbWVFZGl0RWxlbWVudCA9
IDA7Ci0gICAgfQotICAgIGlmIChtX3BpY2tlckluZGljYXRvckVsZW1lbnQpIHsKLSAgICAgICAg
bV9waWNrZXJJbmRpY2F0b3JFbGVtZW50LT5yZW1vdmVQaWNrZXJJbmRpY2F0b3JPd25lcigpOwot
ICAgICAgICBtX3BpY2tlckluZGljYXRvckVsZW1lbnQgPSAwOwotICAgIH0KLSAgICBCYXNlRGF0
ZUFuZFRpbWVJbnB1dFR5cGU6OmRlc3Ryb3lTaGFkb3dTdWJ0cmVlKCk7Ci19Ci0KLXZvaWQgQmFz
ZU11bHRpcGxlRmllbGRzRGF0ZUFuZFRpbWVJbnB1dFR5cGU6OmhhbmRsZUZvY3VzRXZlbnQoTm9k
ZSogb2xkRm9jdXNlZE5vZGUsIEZvY3VzRGlyZWN0aW9uIGRpcmVjdGlvbikKLXsKLSAgICBpZiAo
IW1fZGF0ZVRpbWVFZGl0RWxlbWVudCkKLSAgICAgICAgcmV0dXJuOwotICAgIGlmIChkaXJlY3Rp
b24gPT0gRm9jdXNEaXJlY3Rpb25CYWNrd2FyZCkgewotICAgICAgICBpZiAoZWxlbWVudCgpLT5k
b2N1bWVudCgpLT5wYWdlKCkpCi0gICAgICAgICAgICBlbGVtZW50KCktPmRvY3VtZW50KCktPnBh
Z2UoKS0+Zm9jdXNDb250cm9sbGVyKCktPmFkdmFuY2VGb2N1cyhkaXJlY3Rpb24sIDApOwotICAg
IH0gZWxzZSBpZiAoZGlyZWN0aW9uID09IEZvY3VzRGlyZWN0aW9uTm9uZSkgewotICAgICAgICBt
X2RhdGVUaW1lRWRpdEVsZW1lbnQtPmZvY3VzQnlPd25lcihvbGRGb2N1c2VkTm9kZSk7Ci0gICAg
fSBlbHNlCi0gICAgICAgIG1fZGF0ZVRpbWVFZGl0RWxlbWVudC0+Zm9jdXNCeU93bmVyKCk7Ci19
Ci0KLXZvaWQgQmFzZU11bHRpcGxlRmllbGRzRGF0ZUFuZFRpbWVJbnB1dFR5cGU6OmZvcndhcmRF
dmVudChFdmVudCogZXZlbnQpCi17Ci0gICAgaWYgKG1fc3BpbkJ1dHRvbkVsZW1lbnQpIHsKLSAg
ICAgICAgbV9zcGluQnV0dG9uRWxlbWVudC0+Zm9yd2FyZEV2ZW50KGV2ZW50KTsKLSAgICAgICAg
aWYgKGV2ZW50LT5kZWZhdWx0SGFuZGxlZCgpKQotICAgICAgICAgICAgcmV0dXJuOwotICAgIH0K
LSAgICAgICAgCi0gICAgaWYgKG1fZGF0ZVRpbWVFZGl0RWxlbWVudCkKLSAgICAgICAgbV9kYXRl
VGltZUVkaXRFbGVtZW50LT5kZWZhdWx0RXZlbnRIYW5kbGVyKGV2ZW50KTsKLX0KLQotdm9pZCBC
YXNlTXVsdGlwbGVGaWVsZHNEYXRlQW5kVGltZUlucHV0VHlwZTo6ZGlzYWJsZWRBdHRyaWJ1dGVD
aGFuZ2VkKCkKLXsKLSAgICBtX3NwaW5CdXR0b25FbGVtZW50LT5yZWxlYXNlQ2FwdHVyZSgpOwot
ICAgIG1fY2xlYXJCdXR0b24tPnJlbGVhc2VDYXB0dXJlKCk7Ci0gICAgaWYgKG1fZGF0ZVRpbWVF
ZGl0RWxlbWVudCkKLSAgICAgICAgbV9kYXRlVGltZUVkaXRFbGVtZW50LT5kaXNhYmxlZFN0YXRl
Q2hhbmdlZCgpOwotfQotCi12b2lkIEJhc2VNdWx0aXBsZUZpZWxkc0RhdGVBbmRUaW1lSW5wdXRU
eXBlOjpyZXF1aXJlZEF0dHJpYnV0ZUNoYW5nZWQoKQotewotICAgIG1fY2xlYXJCdXR0b24tPnJl
bGVhc2VDYXB0dXJlKCk7Ci0gICAgdXBkYXRlQ2xlYXJCdXR0b25WaXNpYmlsaXR5KCk7Ci19Ci0K
LXZvaWQgQmFzZU11bHRpcGxlRmllbGRzRGF0ZUFuZFRpbWVJbnB1dFR5cGU6OmhhbmRsZUtleWRv
d25FdmVudChLZXlib2FyZEV2ZW50KiBldmVudCkKLXsKLSAgICBEb2N1bWVudCogZG9jdW1lbnQg
PSBlbGVtZW50KCktPmRvY3VtZW50KCk7Ci0gICAgUmVmUHRyPFJlbmRlclRoZW1lPiB0aGVtZSA9
IGRvY3VtZW50LT5wYWdlKCkgPyBkb2N1bWVudC0+cGFnZSgpLT50aGVtZSgpIDogUmVuZGVyVGhl
bWU6OmRlZmF1bHRUaGVtZSgpOwotICAgIGlmIChtX3BpY2tlckluZGljYXRvcklzVmlzaWJsZQot
ICAgICAgICAmJiAoKGV2ZW50LT5rZXlJZGVudGlmaWVyKCkgPT0gIkRvd24iICYmIGV2ZW50LT5n
ZXRNb2RpZmllclN0YXRlKCJBbHQiKSkgfHwgKHRoZW1lLT5zaG91bGRPcGVuUGlja2VyV2l0aEY0
S2V5KCkgJiYgZXZlbnQtPmtleUlkZW50aWZpZXIoKSA9PSAiRjQiKSkpIHsKLSAgICAgICAgaWYg
KG1fcGlja2VySW5kaWNhdG9yRWxlbWVudCkKLSAgICAgICAgICAgIG1fcGlja2VySW5kaWNhdG9y
RWxlbWVudC0+b3BlblBvcHVwKCk7Ci0gICAgICAgIGV2ZW50LT5zZXREZWZhdWx0SGFuZGxlZCgp
OwotICAgIH0gZWxzZQotICAgICAgICBmb3J3YXJkRXZlbnQoZXZlbnQpOwotfQotCi1ib29sIEJh
c2VNdWx0aXBsZUZpZWxkc0RhdGVBbmRUaW1lSW5wdXRUeXBlOjpoYXNCYWRJbnB1dCgpIGNvbnN0
Ci17Ci0gICAgcmV0dXJuIGVsZW1lbnQoKS0+dmFsdWUoKS5pc0VtcHR5KCkgJiYgbV9kYXRlVGlt
ZUVkaXRFbGVtZW50ICYmIG1fZGF0ZVRpbWVFZGl0RWxlbWVudC0+YW55RWRpdGFibGVGaWVsZHNI
YXZlVmFsdWVzKCk7Ci19Ci0KLWJvb2wgQmFzZU11bHRpcGxlRmllbGRzRGF0ZUFuZFRpbWVJbnB1
dFR5cGU6OmlzS2V5Ym9hcmRGb2N1c2FibGUoS2V5Ym9hcmRFdmVudCopIGNvbnN0Ci17Ci0gICAg
cmV0dXJuIGVsZW1lbnQoKS0+aXNUZXh0Rm9ybUNvbnRyb2xGb2N1c2FibGUoKTsKLX0KLQotYm9v
bCBCYXNlTXVsdGlwbGVGaWVsZHNEYXRlQW5kVGltZUlucHV0VHlwZTo6aXNNb3VzZUZvY3VzYWJs
ZSgpIGNvbnN0Ci17Ci0gICAgcmV0dXJuIGVsZW1lbnQoKS0+aXNUZXh0Rm9ybUNvbnRyb2xGb2N1
c2FibGUoKTsKLX0KLQotQXRvbWljU3RyaW5nIEJhc2VNdWx0aXBsZUZpZWxkc0RhdGVBbmRUaW1l
SW5wdXRUeXBlOjpsb2NhbGVJZGVudGlmaWVyKCkgY29uc3QKLXsKLSAgICByZXR1cm4gZWxlbWVu
dCgpLT5jb21wdXRlSW5oZXJpdGVkTGFuZ3VhZ2UoKTsKLX0KLQotdm9pZCBCYXNlTXVsdGlwbGVG
aWVsZHNEYXRlQW5kVGltZUlucHV0VHlwZTo6bWluT3JNYXhBdHRyaWJ1dGVDaGFuZ2VkKCkKLXsK
LSAgICB1cGRhdGVJbm5lclRleHRWYWx1ZSgpOwotfQotCi12b2lkIEJhc2VNdWx0aXBsZUZpZWxk
c0RhdGVBbmRUaW1lSW5wdXRUeXBlOjpyZWFkb25seUF0dHJpYnV0ZUNoYW5nZWQoKQotewotICAg
IG1fc3BpbkJ1dHRvbkVsZW1lbnQtPnJlbGVhc2VDYXB0dXJlKCk7Ci0gICAgbV9jbGVhckJ1dHRv
bi0+cmVsZWFzZUNhcHR1cmUoKTsKLSAgICBpZiAobV9kYXRlVGltZUVkaXRFbGVtZW50KQotICAg
ICAgICBtX2RhdGVUaW1lRWRpdEVsZW1lbnQtPnJlYWRPbmx5U3RhdGVDaGFuZ2VkKCk7Ci19Ci0K
LXZvaWQgQmFzZU11bHRpcGxlRmllbGRzRGF0ZUFuZFRpbWVJbnB1dFR5cGU6OnJlc3RvcmVGb3Jt
Q29udHJvbFN0YXRlKGNvbnN0IEZvcm1Db250cm9sU3RhdGUmIHN0YXRlKQotewotICAgIGlmICgh
bV9kYXRlVGltZUVkaXRFbGVtZW50KQotICAgICAgICByZXR1cm47Ci0gICAgRGF0ZVRpbWVGaWVs
ZHNTdGF0ZSBkYXRlVGltZUZpZWxkc1N0YXRlID0gRGF0ZVRpbWVGaWVsZHNTdGF0ZTo6cmVzdG9y
ZUZvcm1Db250cm9sU3RhdGUoc3RhdGUpOwotICAgIG1fZGF0ZVRpbWVFZGl0RWxlbWVudC0+c2V0
VmFsdWVBc0RhdGVUaW1lRmllbGRzU3RhdGUoZGF0ZVRpbWVGaWVsZHNTdGF0ZSk7Ci0gICAgZWxl
bWVudCgpLT5zZXRWYWx1ZUludGVybmFsKHNhbml0aXplVmFsdWUobV9kYXRlVGltZUVkaXRFbGVt
ZW50LT52YWx1ZSgpKSwgRGlzcGF0Y2hOb0V2ZW50KTsKLSAgICB1cGRhdGVDbGVhckJ1dHRvblZp
c2liaWxpdHkoKTsKLX0KLQotRm9ybUNvbnRyb2xTdGF0ZSBCYXNlTXVsdGlwbGVGaWVsZHNEYXRl
QW5kVGltZUlucHV0VHlwZTo6c2F2ZUZvcm1Db250cm9sU3RhdGUoKSBjb25zdAotewotICAgIGlm
ICghbV9kYXRlVGltZUVkaXRFbGVtZW50KQotICAgICAgICByZXR1cm4gRm9ybUNvbnRyb2xTdGF0
ZSgpOwotCi0gICAgcmV0dXJuIG1fZGF0ZVRpbWVFZGl0RWxlbWVudC0+dmFsdWVBc0RhdGVUaW1l
RmllbGRzU3RhdGUoKS5zYXZlRm9ybUNvbnRyb2xTdGF0ZSgpOwotfQotCi12b2lkIEJhc2VNdWx0
aXBsZUZpZWxkc0RhdGVBbmRUaW1lSW5wdXRUeXBlOjpzZXRWYWx1ZShjb25zdCBTdHJpbmcmIHNh
bml0aXplZFZhbHVlLCBib29sIHZhbHVlQ2hhbmdlZCwgVGV4dEZpZWxkRXZlbnRCZWhhdmlvciBl
dmVudEJlaGF2aW9yKQotewotICAgIElucHV0VHlwZTo6c2V0VmFsdWUoc2FuaXRpemVkVmFsdWUs
IHZhbHVlQ2hhbmdlZCwgZXZlbnRCZWhhdmlvcik7Ci0gICAgaWYgKHZhbHVlQ2hhbmdlZCB8fCAo
c2FuaXRpemVkVmFsdWUuaXNFbXB0eSgpICYmIG1fZGF0ZVRpbWVFZGl0RWxlbWVudCAmJiBtX2Rh
dGVUaW1lRWRpdEVsZW1lbnQtPmFueUVkaXRhYmxlRmllbGRzSGF2ZVZhbHVlcygpKSkgewotICAg
ICAgICB1cGRhdGVJbm5lclRleHRWYWx1ZSgpOwotICAgICAgICBlbGVtZW50KCktPnNldE5lZWRz
VmFsaWRpdHlDaGVjaygpOwotICAgIH0KLX0KLQotYm9vbCBCYXNlTXVsdGlwbGVGaWVsZHNEYXRl
QW5kVGltZUlucHV0VHlwZTo6c2hvdWxkVXNlSW5wdXRNZXRob2QoKSBjb25zdAotewotICAgIHJl
dHVybiBmYWxzZTsKLX0KLQotdm9pZCBCYXNlTXVsdGlwbGVGaWVsZHNEYXRlQW5kVGltZUlucHV0
VHlwZTo6c3RlcEF0dHJpYnV0ZUNoYW5nZWQoKQotewotICAgIHVwZGF0ZUlubmVyVGV4dFZhbHVl
KCk7Ci19Ci0KLXZvaWQgQmFzZU11bHRpcGxlRmllbGRzRGF0ZUFuZFRpbWVJbnB1dFR5cGU6OnVw
ZGF0ZUlubmVyVGV4dFZhbHVlKCkKLXsKLSAgICBpZiAoIW1fZGF0ZVRpbWVFZGl0RWxlbWVudCkK
LSAgICAgICAgcmV0dXJuOwotCi0gICAgRGF0ZVRpbWVFZGl0RWxlbWVudDo6TGF5b3V0UGFyYW1l
dGVycyBsYXlvdXRQYXJhbWV0ZXJzKGVsZW1lbnQoKS0+bG9jYWxlKCksIGNyZWF0ZVN0ZXBSYW5n
ZShBbnlJc0RlZmF1bHRTdGVwKSk7Ci0KLSAgICBEYXRlQ29tcG9uZW50cyBkYXRlOwotICAgIGNv
bnN0IGJvb2wgaGFzVmFsdWUgPSBwYXJzZVRvRGF0ZUNvbXBvbmVudHMoZWxlbWVudCgpLT52YWx1
ZSgpLCAmZGF0ZSk7Ci0gICAgaWYgKCFoYXNWYWx1ZSkKLSAgICAgICAgc2V0TWlsbGlzZWNvbmRU
b0RhdGVDb21wb25lbnRzKGxheW91dFBhcmFtZXRlcnMuc3RlcFJhbmdlLm1pbmltdW0oKS50b0Rv
dWJsZSgpLCAmZGF0ZSk7Ci0KLSAgICBzZXR1cExheW91dFBhcmFtZXRlcnMobGF5b3V0UGFyYW1l
dGVycywgZGF0ZSk7Ci0KLSAgICBjb25zdCBBdG9taWNTdHJpbmcgcGF0dGVybiA9IG1fZGF0ZVRp
bWVFZGl0RWxlbWVudC0+ZmFzdEdldEF0dHJpYnV0ZShIVE1MTmFtZXM6OnBhdHRlcm5BdHRyKTsK
LSAgICBpZiAoIXBhdHRlcm4uaXNFbXB0eSgpKQotICAgICAgICBsYXlvdXRQYXJhbWV0ZXJzLmRh
dGVUaW1lRm9ybWF0ID0gcGF0dGVybjsKLQotICAgIGlmICghRGF0ZVRpbWVGb3JtYXRWYWxpZGF0
b3IoKS52YWxpZGF0ZUZvcm1hdChsYXlvdXRQYXJhbWV0ZXJzLmRhdGVUaW1lRm9ybWF0LCAqdGhp
cykpCi0gICAgICAgIGxheW91dFBhcmFtZXRlcnMuZGF0ZVRpbWVGb3JtYXQgPSBsYXlvdXRQYXJh
bWV0ZXJzLmZhbGxiYWNrRGF0ZVRpbWVGb3JtYXQ7Ci0KLSAgICBpZiAoaGFzVmFsdWUpCi0gICAg
ICAgIG1fZGF0ZVRpbWVFZGl0RWxlbWVudC0+c2V0VmFsdWVBc0RhdGUobGF5b3V0UGFyYW1ldGVy
cywgZGF0ZSk7Ci0gICAgZWxzZQotICAgICAgICBtX2RhdGVUaW1lRWRpdEVsZW1lbnQtPnNldEVt
cHR5VmFsdWUobGF5b3V0UGFyYW1ldGVycywgZGF0ZSk7Ci0gICAgdXBkYXRlQ2xlYXJCdXR0b25W
aXNpYmlsaXR5KCk7Ci19Ci0KLXZvaWQgQmFzZU11bHRpcGxlRmllbGRzRGF0ZUFuZFRpbWVJbnB1
dFR5cGU6OnZhbHVlQXR0cmlidXRlQ2hhbmdlZCgpCi17Ci0gICAgaWYgKCFlbGVtZW50KCktPmhh
c0RpcnR5VmFsdWUoKSkKLSAgICAgICAgdXBkYXRlSW5uZXJUZXh0VmFsdWUoKTsKLX0KLQotI2lm
IEVOQUJMRShEQVRBTElTVF9FTEVNRU5UKQotdm9pZCBCYXNlTXVsdGlwbGVGaWVsZHNEYXRlQW5k
VGltZUlucHV0VHlwZTo6bGlzdEF0dHJpYnV0ZVRhcmdldENoYW5nZWQoKQotewotICAgIHVwZGF0
ZVBpY2tlckluZGljYXRvclZpc2liaWxpdHkoKTsKLX0KLSNlbmRpZgotCi12b2lkIEJhc2VNdWx0
aXBsZUZpZWxkc0RhdGVBbmRUaW1lSW5wdXRUeXBlOjp1cGRhdGVQaWNrZXJJbmRpY2F0b3JWaXNp
YmlsaXR5KCkKLXsKLSNpZiBFTkFCTEUoREFUQUxJU1RfRUxFTUVOVCkKLSAgICBpZiAoSFRNTERh
dGFMaXN0RWxlbWVudCogZGF0YUxpc3QgPSBlbGVtZW50KCktPmRhdGFMaXN0KCkpIHsKLSAgICAg
ICAgUmVmUHRyPEhUTUxDb2xsZWN0aW9uPiBvcHRpb25zID0gZGF0YUxpc3QtPm9wdGlvbnMoKTsK
LSAgICAgICAgZm9yICh1bnNpZ25lZCBpID0gMDsgSFRNTE9wdGlvbkVsZW1lbnQqIG9wdGlvbiA9
IHRvSFRNTE9wdGlvbkVsZW1lbnQob3B0aW9ucy0+aXRlbShpKSk7ICsraSkgewotICAgICAgICAg
ICAgaWYgKGVsZW1lbnQoKS0+aXNWYWxpZFZhbHVlKG9wdGlvbi0+dmFsdWUoKSkpIHsKLSAgICAg
ICAgICAgICAgICBzaG93UGlja2VySW5kaWNhdG9yKCk7Ci0gICAgICAgICAgICAgICAgcmV0dXJu
OwotICAgICAgICAgICAgfQotICAgICAgICB9Ci0gICAgfQotICAgIGhpZGVQaWNrZXJJbmRpY2F0
b3IoKTsKLSNlbmRpZgotfQotCi12b2lkIEJhc2VNdWx0aXBsZUZpZWxkc0RhdGVBbmRUaW1lSW5w
dXRUeXBlOjpoaWRlUGlja2VySW5kaWNhdG9yKCkKLXsKLSAgICBpZiAoIW1fcGlja2VySW5kaWNh
dG9ySXNWaXNpYmxlKQotICAgICAgICByZXR1cm47Ci0gICAgbV9waWNrZXJJbmRpY2F0b3JJc1Zp
c2libGUgPSBmYWxzZTsKLSAgICBBU1NFUlQobV9waWNrZXJJbmRpY2F0b3JFbGVtZW50KTsKLSAg
ICBtX3BpY2tlckluZGljYXRvckVsZW1lbnQtPnNldElubGluZVN0eWxlUHJvcGVydHkoQ1NTUHJv
cGVydHlEaXNwbGF5LCBDU1NWYWx1ZU5vbmUpOwotfQotCi12b2lkIEJhc2VNdWx0aXBsZUZpZWxk
c0RhdGVBbmRUaW1lSW5wdXRUeXBlOjpzaG93UGlja2VySW5kaWNhdG9yKCkKLXsKLSAgICBpZiAo
bV9waWNrZXJJbmRpY2F0b3JJc1Zpc2libGUpCi0gICAgICAgIHJldHVybjsKLSAgICBtX3BpY2tl
ckluZGljYXRvcklzVmlzaWJsZSA9IHRydWU7Ci0gICAgQVNTRVJUKG1fcGlja2VySW5kaWNhdG9y
RWxlbWVudCk7Ci0gICAgbV9waWNrZXJJbmRpY2F0b3JFbGVtZW50LT5yZW1vdmVJbmxpbmVTdHls
ZVByb3BlcnR5KENTU1Byb3BlcnR5RGlzcGxheSk7Ci19Ci0KLWJvb2wgQmFzZU11bHRpcGxlRmll
bGRzRGF0ZUFuZFRpbWVJbnB1dFR5cGU6OnNob3VsZEhhdmVTZWNvbmRGaWVsZChjb25zdCBEYXRl
Q29tcG9uZW50cyYgZGF0ZSkgY29uc3QKLXsKLSAgICBTdGVwUmFuZ2Ugc3RlcFJhbmdlID0gY3Jl
YXRlU3RlcFJhbmdlKEFueUlzRGVmYXVsdFN0ZXApOwotICAgIHJldHVybiBkYXRlLnNlY29uZCgp
IHx8IGRhdGUubWlsbGlzZWNvbmQoKQotICAgICAgICB8fCAhc3RlcFJhbmdlLm1pbmltdW0oKS5y
ZW1haW5kZXIoc3RhdGljX2Nhc3Q8aW50Pihtc1Blck1pbnV0ZSkpLmlzWmVybygpCi0gICAgICAg
IHx8ICFzdGVwUmFuZ2Uuc3RlcCgpLnJlbWFpbmRlcihzdGF0aWNfY2FzdDxpbnQ+KG1zUGVyTWlu
dXRlKSkuaXNaZXJvKCk7Ci19Ci0KLXZvaWQgQmFzZU11bHRpcGxlRmllbGRzRGF0ZUFuZFRpbWVJ
bnB1dFR5cGU6OmZvY3VzQW5kU2VsZWN0Q2xlYXJCdXR0b25Pd25lcigpCi17Ci0gICAgZWxlbWVu
dCgpLT5mb2N1cygpOwotfQotCi1ib29sIEJhc2VNdWx0aXBsZUZpZWxkc0RhdGVBbmRUaW1lSW5w
dXRUeXBlOjpzaG91bGRDbGVhckJ1dHRvblJlc3BvbmRUb01vdXNlRXZlbnRzKCkKLXsKLSAgICBy
ZXR1cm4gIWVsZW1lbnQoKS0+aXNEaXNhYmxlZE9yUmVhZE9ubHkoKSAmJiAhZWxlbWVudCgpLT5p
c1JlcXVpcmVkKCk7Ci19Ci0KLXZvaWQgQmFzZU11bHRpcGxlRmllbGRzRGF0ZUFuZFRpbWVJbnB1
dFR5cGU6OmNsZWFyVmFsdWUoKQotewotICAgIFJlZlB0cjxIVE1MSW5wdXRFbGVtZW50PiBpbnB1
dChlbGVtZW50KCkpOwotICAgIGlucHV0LT5zZXRWYWx1ZSgiIiwgRGlzcGF0Y2hJbnB1dEFuZENo
YW5nZUV2ZW50KTsKLSAgICBpbnB1dC0+dXBkYXRlQ2xlYXJCdXR0b25WaXNpYmlsaXR5KCk7Ci19
Ci0KLXZvaWQgQmFzZU11bHRpcGxlRmllbGRzRGF0ZUFuZFRpbWVJbnB1dFR5cGU6OnVwZGF0ZUNs
ZWFyQnV0dG9uVmlzaWJpbGl0eSgpCi17Ci0gICAgaWYgKCFtX2NsZWFyQnV0dG9uKQotICAgICAg
ICByZXR1cm47Ci0KLSAgICBpZiAoZWxlbWVudCgpLT5pc1JlcXVpcmVkKCkgfHwgIW1fZGF0ZVRp
bWVFZGl0RWxlbWVudC0+YW55RWRpdGFibGVGaWVsZHNIYXZlVmFsdWVzKCkpCi0gICAgICAgIG1f
Y2xlYXJCdXR0b24tPnNldElubGluZVN0eWxlUHJvcGVydHkoQ1NTUHJvcGVydHlWaXNpYmlsaXR5
LCBDU1NWYWx1ZUhpZGRlbik7Ci0gICAgZWxzZQotICAgICAgICBtX2NsZWFyQnV0dG9uLT5yZW1v
dmVJbmxpbmVTdHlsZVByb3BlcnR5KENTU1Byb3BlcnR5VmlzaWJpbGl0eSk7Ci19Ci0KLX0gLy8g
bmFtZXNwYWNlIFdlYkNvcmUKLQotI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9o
dG1sL0Jhc2VNdWx0aXBsZUZpZWxkc0RhdGVBbmRUaW1lSW5wdXRUeXBlLmggYi9Tb3VyY2UvV2Vi
Q29yZS9odG1sL0Jhc2VNdWx0aXBsZUZpZWxkc0RhdGVBbmRUaW1lSW5wdXRUeXBlLmgKZGVsZXRl
ZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGIwZTNhMTc4N2Q1NmQ2MjBkODY0ZWFlYmRhOTg5Yzg0
YTQyY2Q1Y2YuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEv
U291cmNlL1dlYkNvcmUvaHRtbC9CYXNlTXVsdGlwbGVGaWVsZHNEYXRlQW5kVGltZUlucHV0VHlw
ZS5oCisrKyAvZGV2L251bGwKQEAgLTEsMTI5ICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMp
IDIwMTAgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1
dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQK
LSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dp
bmcgY29uZGl0aW9ucyBhcmUKLSAqIG1ldDoKLSAqCi0gKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMg
b2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgot
ICogICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRo
ZSBhYm92ZQotICogY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgotICogaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29y
IG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQotICogZGlzdHJpYnV0aW9uLgotICog
ICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0
cwotICogY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9k
dWN0cyBkZXJpdmVkIGZyb20KLSAqIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlv
ciB3cml0dGVuIHBlcm1pc3Npb24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBC
WSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUwotICogIkFTIElTIiBBTkQg
QU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKLSAq
IExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFO
RCBGSVRORVNTIEZPUgotICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElO
IE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKLSAqIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBC
RSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAotICogU1BFQ0lB
TCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5P
VAotICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJW
SUNFUzsgTE9TUyBPRiBVU0UsCi0gKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRF
UlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKLSAqIFRIRU9SWSBPRiBMSUFCSUxJ
VFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKLSAqIChJ
TkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQg
T0YgVEhFIFVTRQotICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQ
T1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KLSAqLwotCi0jaWZuZGVmIEJhc2VNdWx0aXBsZUZp
ZWxkc0RhdGVBbmRUaW1lSW5wdXRUeXBlX2gKLSNkZWZpbmUgQmFzZU11bHRpcGxlRmllbGRzRGF0
ZUFuZFRpbWVJbnB1dFR5cGVfaAotCi0jaWYgRU5BQkxFKElOUFVUX01VTFRJUExFX0ZJRUxEU19V
SSkKLSNpbmNsdWRlICJCYXNlRGF0ZUFuZFRpbWVJbnB1dFR5cGUuaCIKLQotI2luY2x1ZGUgIkNs
ZWFyQnV0dG9uRWxlbWVudC5oIgotI2luY2x1ZGUgIkRhdGVUaW1lRWRpdEVsZW1lbnQuaCIKLSNp
bmNsdWRlICJQaWNrZXJJbmRpY2F0b3JFbGVtZW50LmgiCi0jaW5jbHVkZSAiU3BpbkJ1dHRvbkVs
ZW1lbnQuaCIKLQotbmFtZXNwYWNlIFdlYkNvcmUgewotCi1zdHJ1Y3QgRGF0ZVRpbWVDaG9vc2Vy
UGFyYW1ldGVyczsKLQotY2xhc3MgQmFzZU11bHRpcGxlRmllbGRzRGF0ZUFuZFRpbWVJbnB1dFR5
cGUKLSAgICA6IHB1YmxpYyBCYXNlRGF0ZUFuZFRpbWVJbnB1dFR5cGUKLSAgICAsIHByb3RlY3Rl
ZCBEYXRlVGltZUVkaXRFbGVtZW50OjpFZGl0Q29udHJvbE93bmVyCi0gICAgLCBwcm90ZWN0ZWQg
UGlja2VySW5kaWNhdG9yRWxlbWVudDo6UGlja2VySW5kaWNhdG9yT3duZXIKLSAgICAsIHByb3Rl
Y3RlZCBTcGluQnV0dG9uRWxlbWVudDo6U3BpbkJ1dHRvbk93bmVyCi0gICAgLCBwcm90ZWN0ZWQg
Q2xlYXJCdXR0b25FbGVtZW50OjpDbGVhckJ1dHRvbk93bmVyIHsKLXB1YmxpYzoKLSAgICB2aXJ0
dWFsIGJvb2wgaXNWYWxpZEZvcm1hdChib29sIGhhc1llYXIsIGJvb2wgaGFzTW9udGgsIGJvb2wg
aGFzV2VlaywgYm9vbCBoYXNEYXksIGJvb2wgaGFzQU1QTSwgYm9vbCBoYXNIb3VyLCBib29sIGhh
c01pbnV0ZSwgYm9vbCBoYXNTZWNvbmQpIGNvbnN0ID0gMDsKLQotcHJvdGVjdGVkOgotICAgIEJh
c2VNdWx0aXBsZUZpZWxkc0RhdGVBbmRUaW1lSW5wdXRUeXBlKEhUTUxJbnB1dEVsZW1lbnQqKTsK
LSAgICB2aXJ0dWFsIH5CYXNlTXVsdGlwbGVGaWVsZHNEYXRlQW5kVGltZUlucHV0VHlwZSgpOwot
Ci0gICAgdmlydHVhbCB2b2lkIHNldHVwTGF5b3V0UGFyYW1ldGVycyhEYXRlVGltZUVkaXRFbGVt
ZW50OjpMYXlvdXRQYXJhbWV0ZXJzJiwgY29uc3QgRGF0ZUNvbXBvbmVudHMmKSBjb25zdCA9IDA7
Ci0gICAgYm9vbCBzaG91bGRIYXZlU2Vjb25kRmllbGQoY29uc3QgRGF0ZUNvbXBvbmVudHMmKSBj
b25zdDsKLQotcHJpdmF0ZToKLSAgICAvLyBEYXRlVGltZUVkaXRFbGVtZW50OjpFZGl0Q29udHJv
bE93bmVyIGZ1bmN0aW9ucwotICAgIHZpcnR1YWwgdm9pZCBkaWRCbHVyRnJvbUNvbnRyb2woKSBP
VkVSUklERSBGSU5BTDsKLSAgICB2aXJ0dWFsIHZvaWQgZGlkRm9jdXNPbkNvbnRyb2woKSBPVkVS
UklERSBGSU5BTDsKLSAgICB2aXJ0dWFsIHZvaWQgZWRpdENvbnRyb2xWYWx1ZUNoYW5nZWQoKSBP
VkVSUklERSBGSU5BTDsKLSAgICB2aXJ0dWFsIGJvb2wgaXNFZGl0Q29udHJvbE93bmVyRGlzYWJs
ZWQoKSBjb25zdCBPVkVSUklERSBGSU5BTDsKLSAgICB2aXJ0dWFsIGJvb2wgaXNFZGl0Q29udHJv
bE93bmVyUmVhZE9ubHkoKSBjb25zdCBPVkVSUklERSBGSU5BTDsKLSAgICB2aXJ0dWFsIEF0b21p
Y1N0cmluZyBsb2NhbGVJZGVudGlmaWVyKCkgY29uc3QgT1ZFUlJJREUgRklOQUw7Ci0KLSAgICAv
LyBTcGluQnV0dG9uRWxlbWVudDo6U3BpbkJ1dHRvbk93bmVyIGZ1bmN0aW9ucy4KLSAgICB2aXJ0
dWFsIHZvaWQgZm9jdXNBbmRTZWxlY3RTcGluQnV0dG9uT3duZXIoKSBPVkVSUklERTsKLSAgICB2
aXJ0dWFsIGJvb2wgc2hvdWxkU3BpbkJ1dHRvblJlc3BvbmRUb01vdXNlRXZlbnRzKCkgT1ZFUlJJ
REU7Ci0gICAgdmlydHVhbCBib29sIHNob3VsZFNwaW5CdXR0b25SZXNwb25kVG9XaGVlbEV2ZW50
cygpIE9WRVJSSURFOwotICAgIHZpcnR1YWwgdm9pZCBzcGluQnV0dG9uU3RlcERvd24oKSBPVkVS
UklERTsKLSAgICB2aXJ0dWFsIHZvaWQgc3BpbkJ1dHRvblN0ZXBVcCgpIE9WRVJSSURFOwotCi0g
ICAgLy8gUGlja2VySW5kaWNhdG9yRWxlbWVudDo6UGlja2VySW5kaWNhdG9yT3duZXIgZnVuY3Rp
b25zCi0gICAgdmlydHVhbCBib29sIGlzUGlja2VySW5kaWNhdG9yT3duZXJEaXNhYmxlZE9yUmVh
ZE9ubHkoKSBjb25zdCBPVkVSUklERSBGSU5BTDsKLSAgICB2aXJ0dWFsIHZvaWQgcGlja2VySW5k
aWNhdG9yQ2hvb3NlVmFsdWUoY29uc3QgU3RyaW5nJikgT1ZFUlJJREUgRklOQUw7Ci0gICAgdmly
dHVhbCBib29sIHNldHVwRGF0ZVRpbWVDaG9vc2VyUGFyYW1ldGVycyhEYXRlVGltZUNob29zZXJQ
YXJhbWV0ZXJzJikgT1ZFUlJJREUgRklOQUw7Ci0KLSAgICAvLyBDbGVhckJ1dHRvbkVsZW1lbnQ6
OkNsZWFyQnV0dG9uT3duZXIgZnVuY3Rpb25zLgotICAgIHZpcnR1YWwgdm9pZCBmb2N1c0FuZFNl
bGVjdENsZWFyQnV0dG9uT3duZXIoKSBPVkVSUklERTsKLSAgICB2aXJ0dWFsIGJvb2wgc2hvdWxk
Q2xlYXJCdXR0b25SZXNwb25kVG9Nb3VzZUV2ZW50cygpIE9WRVJSSURFOwotICAgIHZpcnR1YWwg
dm9pZCBjbGVhclZhbHVlKCkgT1ZFUlJJREU7Ci0KLSAgICAvLyBJbnB1dFR5cGUgZnVuY3Rpb25z
Ci0gICAgdmlydHVhbCBTdHJpbmcgYmFkSW5wdXRUZXh0KCkgY29uc3QgT1ZFUlJJREU7Ci0gICAg
dmlydHVhbCB2b2lkIGJsdXIoKSBPVkVSUklERSBGSU5BTDsKLSAgICB2aXJ0dWFsIFBhc3NSZWZQ
dHI8UmVuZGVyU3R5bGU+IGN1c3RvbVN0eWxlRm9yUmVuZGVyZXIoUGFzc1JlZlB0cjxSZW5kZXJT
dHlsZT4pIE9WRVJSSURFOwotICAgIHZpcnR1YWwgdm9pZCBjcmVhdGVTaGFkb3dTdWJ0cmVlKCkg
T1ZFUlJJREUgRklOQUw7Ci0gICAgdmlydHVhbCB2b2lkIGRlc3Ryb3lTaGFkb3dTdWJ0cmVlKCkg
T1ZFUlJJREUgRklOQUw7Ci0gICAgdmlydHVhbCB2b2lkIGRpc2FibGVkQXR0cmlidXRlQ2hhbmdl
ZCgpIE9WRVJSSURFIEZJTkFMOwotICAgIHZpcnR1YWwgdm9pZCBmb3J3YXJkRXZlbnQoRXZlbnQq
KSBPVkVSUklERSBGSU5BTDsKLSAgICB2aXJ0dWFsIHZvaWQgaGFuZGxlRm9jdXNFdmVudChOb2Rl
KiBvbGRGb2N1c2VkTm9kZSwgRm9jdXNEaXJlY3Rpb24pIE9WRVJSSURFOwotICAgIHZpcnR1YWwg
dm9pZCBoYW5kbGVLZXlkb3duRXZlbnQoS2V5Ym9hcmRFdmVudCopIE9WRVJSSURFIEZJTkFMOwot
ICAgIHZpcnR1YWwgYm9vbCBoYXNCYWRJbnB1dCgpIGNvbnN0IE9WRVJSSURFOwotICAgIHZpcnR1
YWwgYm9vbCBoYXNDdXN0b21Gb2N1c0xvZ2ljKCkgY29uc3QgT1ZFUlJJREUgRklOQUw7Ci0gICAg
dmlydHVhbCBib29sIGlzS2V5Ym9hcmRGb2N1c2FibGUoS2V5Ym9hcmRFdmVudCopIGNvbnN0IE9W
RVJSSURFIEZJTkFMOwotICAgIHZpcnR1YWwgYm9vbCBpc01vdXNlRm9jdXNhYmxlKCkgY29uc3Qg
T1ZFUlJJREUgRklOQUw7Ci0gICAgdmlydHVhbCB2b2lkIG1pbk9yTWF4QXR0cmlidXRlQ2hhbmdl
ZCgpIE9WRVJSSURFIEZJTkFMOwotICAgIHZpcnR1YWwgdm9pZCByZWFkb25seUF0dHJpYnV0ZUNo
YW5nZWQoKSBPVkVSUklERSBGSU5BTDsKLSAgICB2aXJ0dWFsIHZvaWQgcmVxdWlyZWRBdHRyaWJ1
dGVDaGFuZ2VkKCkgT1ZFUlJJREUgRklOQUw7Ci0gICAgdmlydHVhbCB2b2lkIHJlc3RvcmVGb3Jt
Q29udHJvbFN0YXRlKGNvbnN0IEZvcm1Db250cm9sU3RhdGUmKSBPVkVSUklERSBGSU5BTDsKLSAg
ICB2aXJ0dWFsIEZvcm1Db250cm9sU3RhdGUgc2F2ZUZvcm1Db250cm9sU3RhdGUoKSBjb25zdCBP
VkVSUklERSBGSU5BTDsKLSAgICB2aXJ0dWFsIHZvaWQgc2V0VmFsdWUoY29uc3QgU3RyaW5nJiwg
Ym9vbCB2YWx1ZUNoYW5nZWQsIFRleHRGaWVsZEV2ZW50QmVoYXZpb3IpIE9WRVJSSURFIEZJTkFM
OwotICAgIHZpcnR1YWwgYm9vbCBzaG91bGRVc2VJbnB1dE1ldGhvZCgpIGNvbnN0IE9WRVJSSURF
IEZJTkFMOwotICAgIHZpcnR1YWwgdm9pZCBzdGVwQXR0cmlidXRlQ2hhbmdlZCgpIE9WRVJSSURF
IEZJTkFMOwotICAgIHZpcnR1YWwgdm9pZCB1cGRhdGVJbm5lclRleHRWYWx1ZSgpIE9WRVJSSURF
IEZJTkFMOwotICAgIHZpcnR1YWwgdm9pZCB2YWx1ZUF0dHJpYnV0ZUNoYW5nZWQoKSBPVkVSUklE
RTsKLSAgICB2aXJ0dWFsIHZvaWQgbGlzdEF0dHJpYnV0ZVRhcmdldENoYW5nZWQoKSBPVkVSUklE
RSBGSU5BTDsKLSAgICB2aXJ0dWFsIHZvaWQgdXBkYXRlQ2xlYXJCdXR0b25WaXNpYmlsaXR5KCkg
T1ZFUlJJREUgRklOQUw7Ci0KLSAgICB2b2lkIHNob3dQaWNrZXJJbmRpY2F0b3IoKTsKLSAgICB2
b2lkIGhpZGVQaWNrZXJJbmRpY2F0b3IoKTsKLSAgICB2b2lkIHVwZGF0ZVBpY2tlckluZGljYXRv
clZpc2liaWxpdHkoKTsKLQotICAgIERhdGVUaW1lRWRpdEVsZW1lbnQqIG1fZGF0ZVRpbWVFZGl0
RWxlbWVudDsKLSAgICBTcGluQnV0dG9uRWxlbWVudCogbV9zcGluQnV0dG9uRWxlbWVudDsKLSAg
ICBDbGVhckJ1dHRvbkVsZW1lbnQqIG1fY2xlYXJCdXR0b247Ci0gICAgUGlja2VySW5kaWNhdG9y
RWxlbWVudCogbV9waWNrZXJJbmRpY2F0b3JFbGVtZW50OwotICAgIGJvb2wgbV9waWNrZXJJbmRp
Y2F0b3JJc1Zpc2libGU7Ci19OwotCi19IC8vIG5hbWVzcGFjZSBXZWJDb3JlCi0KLSNlbmRpZgot
I2VuZGlmIC8vIEJhc2VNdWx0aXBsZUZpZWxkc0RhdGVBbmRUaW1lSW5wdXRUeXBlX2gKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvRGF0ZUlucHV0VHlwZS5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9odG1sL0RhdGVJbnB1dFR5cGUuY3BwCmluZGV4IDk4MTA2MjRiMTRmZDExOGU3YjE4YTEx
ZGQ5MmNiYTY1MjRhODRjOTUuLmI4MzEzOWRmMjBiODlmYmZjMTI3YjJhN2RiZTg4MGM4MjI0Mzgz
NWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvRGF0ZUlucHV0VHlwZS5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvaHRtbC9EYXRlSW5wdXRUeXBlLmNwcApAQCAtMzMsMTQgKzMzLDkg
QEAKICNpbmNsdWRlICJEYXRlSW5wdXRUeXBlLmgiCiAKICNpbmNsdWRlICJEYXRlQ29tcG9uZW50
cy5oIgotI2luY2x1ZGUgIkRhdGVUaW1lRmllbGRzU3RhdGUuaCIKICNpbmNsdWRlICJIVE1MSW5w
dXRFbGVtZW50LmgiCiAjaW5jbHVkZSAiSFRNTE5hbWVzLmgiCiAjaW5jbHVkZSAiSW5wdXRUeXBl
TmFtZXMuaCIKLSNpbmNsdWRlICJLZXlib2FyZEV2ZW50LmgiCi0jaW5jbHVkZSAiTG9jYWxpemVk
U3RyaW5ncy5oIgotI2luY2x1ZGUgIlBpY2tlckluZGljYXRvckVsZW1lbnQuaCIKLSNpbmNsdWRl
ICJQbGF0Zm9ybUxvY2FsZS5oIgogI2luY2x1ZGUgPHd0Zi9QYXNzT3duUHRyLmg+CiAKIG5hbWVz
cGFjZSBXZWJDb3JlIHsKQEAgLTEwNSwzMyArMTAwLDUgQEAgYm9vbCBEYXRlSW5wdXRUeXBlOjpp
c0RhdGVGaWVsZCgpIGNvbnN0CiAgICAgcmV0dXJuIHRydWU7CiB9CiAKLSNpZiBFTkFCTEUoSU5Q
VVRfTVVMVElQTEVfRklFTERTX1VJKQotU3RyaW5nIERhdGVJbnB1dFR5cGU6OmZvcm1hdERhdGVU
aW1lRmllbGRzU3RhdGUoY29uc3QgRGF0ZVRpbWVGaWVsZHNTdGF0ZSYgZGF0ZVRpbWVGaWVsZHNT
dGF0ZSkgY29uc3QKLXsKLSAgICBpZiAoIWRhdGVUaW1lRmllbGRzU3RhdGUuaGFzRGF5T2ZNb250
aCgpIHx8ICFkYXRlVGltZUZpZWxkc1N0YXRlLmhhc01vbnRoKCkgfHwgIWRhdGVUaW1lRmllbGRz
U3RhdGUuaGFzWWVhcigpKQotICAgICAgICByZXR1cm4gZW1wdHlTdHJpbmcoKTsKLQotICAgIHJl
dHVybiBTdHJpbmc6OmZvcm1hdCgiJTA0dS0lMDJ1LSUwMnUiLCBkYXRlVGltZUZpZWxkc1N0YXRl
LnllYXIoKSwgZGF0ZVRpbWVGaWVsZHNTdGF0ZS5tb250aCgpLCBkYXRlVGltZUZpZWxkc1N0YXRl
LmRheU9mTW9udGgoKSk7Ci19Ci0KLXZvaWQgRGF0ZUlucHV0VHlwZTo6c2V0dXBMYXlvdXRQYXJh
bWV0ZXJzKERhdGVUaW1lRWRpdEVsZW1lbnQ6OkxheW91dFBhcmFtZXRlcnMmIGxheW91dFBhcmFt
ZXRlcnMsIGNvbnN0IERhdGVDb21wb25lbnRzJiBkYXRlKSBjb25zdAotewotICAgIGxheW91dFBh
cmFtZXRlcnMuZGF0ZVRpbWVGb3JtYXQgPSBsYXlvdXRQYXJhbWV0ZXJzLmxvY2FsZS5kYXRlRm9y
bWF0KCk7Ci0gICAgbGF5b3V0UGFyYW1ldGVycy5mYWxsYmFja0RhdGVUaW1lRm9ybWF0ID0gQVND
SUlMaXRlcmFsKCJ5eXl5LU1NLWRkIik7Ci0gICAgaWYgKCFwYXJzZVRvRGF0ZUNvbXBvbmVudHMo
ZWxlbWVudCgpLT5mYXN0R2V0QXR0cmlidXRlKG1pbkF0dHIpLCAmbGF5b3V0UGFyYW1ldGVycy5t
aW5pbXVtKSkKLSAgICAgICAgbGF5b3V0UGFyYW1ldGVycy5taW5pbXVtID0gRGF0ZUNvbXBvbmVu
dHMoKTsKLSAgICBpZiAoIXBhcnNlVG9EYXRlQ29tcG9uZW50cyhlbGVtZW50KCktPmZhc3RHZXRB
dHRyaWJ1dGUobWF4QXR0ciksICZsYXlvdXRQYXJhbWV0ZXJzLm1heGltdW0pKQotICAgICAgICBs
YXlvdXRQYXJhbWV0ZXJzLm1heGltdW0gPSBEYXRlQ29tcG9uZW50cygpOwotICAgIGxheW91dFBh
cmFtZXRlcnMucGxhY2Vob2xkZXJGb3JEYXkgPSBwbGFjZWhvbGRlckZvckRheU9mTW9udGhGaWVs
ZCgpOwotICAgIGxheW91dFBhcmFtZXRlcnMucGxhY2Vob2xkZXJGb3JNb250aCA9IHBsYWNlaG9s
ZGVyRm9yTW9udGhGaWVsZCgpOwotICAgIGxheW91dFBhcmFtZXRlcnMucGxhY2Vob2xkZXJGb3JZ
ZWFyID0gcGxhY2Vob2xkZXJGb3JZZWFyRmllbGQoKTsKLX0KLQotYm9vbCBEYXRlSW5wdXRUeXBl
Ojppc1ZhbGlkRm9ybWF0KGJvb2wgaGFzWWVhciwgYm9vbCBoYXNNb250aCwgYm9vbCBoYXNXZWVr
LCBib29sIGhhc0RheSwgYm9vbCBoYXNBTVBNLCBib29sIGhhc0hvdXIsIGJvb2wgaGFzTWludXRl
LCBib29sIGhhc1NlY29uZCkgY29uc3QKLXsKLSAgICByZXR1cm4gaGFzWWVhciAmJiBoYXNNb250
aCAmJiBoYXNEYXk7Ci19Ci0jZW5kaWYKLQogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogI2VuZGlm
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0RhdGVJbnB1dFR5cGUuaCBiL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvRGF0ZUlucHV0VHlwZS5oCmluZGV4IGNmODM3MjEwNWY5YzYwODMzYTVk
OWEzYzUwODZlYTlhNDU0ODc1MmUuLjY0YWM1NDcwNDQ4YmQ3MDEyNDNjOGI5OWE4MmZjZDM0OGI0
M2Q3MjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvRGF0ZUlucHV0VHlwZS5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvRGF0ZUlucHV0VHlwZS5oCkBAIC0zMywyMCArMzMsMTEg
QEAKIAogI2lmIEVOQUJMRShJTlBVVF9UWVBFX0RBVEUpCiAjaW5jbHVkZSAiQmFzZUNob29zZXJP
bmx5RGF0ZUFuZFRpbWVJbnB1dFR5cGUuaCIKLSNpbmNsdWRlICJCYXNlTXVsdGlwbGVGaWVsZHNE
YXRlQW5kVGltZUlucHV0VHlwZS5oIgogI2luY2x1ZGUgPHd0Zi9SZWZQdHIuaD4KIAogbmFtZXNw
YWNlIFdlYkNvcmUgewogCi1jbGFzcyBQaWNrZXJJbmRpY2F0b3JFbGVtZW50OwotCi0jaWYgRU5B
QkxFKElOUFVUX01VTFRJUExFX0ZJRUxEU19VSSkKLXR5cGVkZWYgQmFzZU11bHRpcGxlRmllbGRz
RGF0ZUFuZFRpbWVJbnB1dFR5cGUgQmFzZURhdGVJbnB1dFR5cGU7Ci0jZWxzZQotdHlwZWRlZiBC
YXNlQ2hvb3Nlck9ubHlEYXRlQW5kVGltZUlucHV0VHlwZSBCYXNlRGF0ZUlucHV0VHlwZTsKLSNl
bmRpZgotCi1jbGFzcyBEYXRlSW5wdXRUeXBlIDogcHVibGljIEJhc2VEYXRlSW5wdXRUeXBlIHsK
K2NsYXNzIERhdGVJbnB1dFR5cGUgOiBwdWJsaWMgQmFzZUNob29zZXJPbmx5RGF0ZUFuZFRpbWVJ
bnB1dFR5cGUgewogcHVibGljOgogICAgIHN0YXRpYyBQYXNzT3duUHRyPElucHV0VHlwZT4gY3Jl
YXRlKEhUTUxJbnB1dEVsZW1lbnQqKTsKIApAQCAtNTksMTMgKzUwLDYgQEAgcHJpdmF0ZToKICAg
ICB2aXJ0dWFsIGJvb2wgcGFyc2VUb0RhdGVDb21wb25lbnRzSW50ZXJuYWwoY29uc3QgVUNoYXIq
LCB1bnNpZ25lZCBsZW5ndGgsIERhdGVDb21wb25lbnRzKikgY29uc3QgT1ZFUlJJREU7CiAgICAg
dmlydHVhbCBib29sIHNldE1pbGxpc2Vjb25kVG9EYXRlQ29tcG9uZW50cyhkb3VibGUsIERhdGVD
b21wb25lbnRzKikgY29uc3QgT1ZFUlJJREU7CiAgICAgdmlydHVhbCBib29sIGlzRGF0ZUZpZWxk
KCkgY29uc3QgT1ZFUlJJREU7Ci0KLSNpZiBFTkFCTEUoSU5QVVRfTVVMVElQTEVfRklFTERTX1VJ
KQotICAgIC8vIEJhc2VNdWx0aXBsZUZpZWxkc0RhdGVBbmRUaW1lSW5wdXRUeXBlIGZ1bmN0aW9u
cwotICAgIHZpcnR1YWwgU3RyaW5nIGZvcm1hdERhdGVUaW1lRmllbGRzU3RhdGUoY29uc3QgRGF0
ZVRpbWVGaWVsZHNTdGF0ZSYpIGNvbnN0IE9WRVJSSURFOwotICAgIHZpcnR1YWwgdm9pZCBzZXR1
cExheW91dFBhcmFtZXRlcnMoRGF0ZVRpbWVFZGl0RWxlbWVudDo6TGF5b3V0UGFyYW1ldGVycyYs
IGNvbnN0IERhdGVDb21wb25lbnRzJikgY29uc3QgT1ZFUlJJREU7Ci0gICAgdmlydHVhbCBib29s
IGlzVmFsaWRGb3JtYXQoYm9vbCBoYXNZZWFyLCBib29sIGhhc01vbnRoLCBib29sIGhhc1dlZWss
IGJvb2wgaGFzRGF5LCBib29sIGhhc0FNUE0sIGJvb2wgaGFzSG91ciwgYm9vbCBoYXNNaW51dGUs
IGJvb2wgaGFzU2Vjb25kKSBjb25zdDsKLSNlbmRpZgogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2Vi
Q29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9EYXRlVGltZUZpZWxkc1N0YXRl
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvRGF0ZVRpbWVGaWVsZHNTdGF0ZS5jcHAKZGVsZXRl
ZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGFlMDNhMTNkYWY3MWM2ZjEyYmY2Y2JkYThiZGI5MzNm
ZThkYTBiYjYuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEv
U291cmNlL1dlYkNvcmUvaHRtbC9EYXRlVGltZUZpZWxkc1N0YXRlLmNwcAorKysgL2Rldi9udWxs
CkBAIC0xLDExMiArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDEyIEdvb2dsZSBJbmMu
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBz
b3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24s
IGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAq
IGFyZSBtZXQ6Ci0gKiAxLiAgUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0
YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAyLiAgUmVkaXN0cmlidXRp
b25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAq
ICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIgaW4gdGhlCi0gKiAgICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJp
YWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJF
IElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycn
IEFORAotICogQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywgVEhFCi0gKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRB
QklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRQotICogQVJFIERJU0NM
QUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUyBC
RSBMSUFCTEUKLSAqIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lB
TCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMCi0gKiBEQU1BR0VTIChJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUgotICog
U0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRF
UlJVUFRJT04pIEhPV0VWRVIKLSAqIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJ
VFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVAotICogTElBQklMSVRZLCBPUiBUT1JUIChJ
TkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWQotICog
T1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQ
T1NTSUJJTElUWSBPRgotICogU1VDSCBEQU1BR0UuCi0gKi8KLQotI2luY2x1ZGUgImNvbmZpZy5o
IgotI2lmIEVOQUJMRShJTlBVVF9NVUxUSVBMRV9GSUVMRFNfVUkpCi0jaW5jbHVkZSAiRGF0ZVRp
bWVGaWVsZHNTdGF0ZS5oIgotCi0jaW5jbHVkZSAiRm9ybUNvbnRyb2xsZXIuaCIKLQotbmFtZXNw
YWNlIFdlYkNvcmUgewotCi1jb25zdCB1bnNpZ25lZCBEYXRlVGltZUZpZWxkc1N0YXRlOjplbXB0
eVZhbHVlID0gc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KC0xKTsKLQotc3RhdGljIHVuc2lnbmVkIGdl
dE51bWJlckZyb21Gb3JtQ29udHJvbFN0YXRlKGNvbnN0IEZvcm1Db250cm9sU3RhdGUmIHN0YXRl
LCBzaXplX3QgaW5kZXgpCi17Ci0gICAgaWYgKGluZGV4ID49IHN0YXRlLnZhbHVlU2l6ZSgpKQot
ICAgICAgICByZXR1cm4gRGF0ZVRpbWVGaWVsZHNTdGF0ZTo6ZW1wdHlWYWx1ZTsKLSAgICBib29s
IHBhcnNlZDsKLSAgICB1bnNpZ25lZCBjb25zdCB2YWx1ZSA9IHN0YXRlW2luZGV4XS50b1VJbnQo
JnBhcnNlZCk7Ci0gICAgcmV0dXJuIHBhcnNlZCA/IHZhbHVlIDogRGF0ZVRpbWVGaWVsZHNTdGF0
ZTo6ZW1wdHlWYWx1ZTsKLX0KLQotc3RhdGljIERhdGVUaW1lRmllbGRzU3RhdGU6OkFNUE1WYWx1
ZSBnZXRBTVBNRnJvbUZvcm1Db250cm9sU3RhdGUoY29uc3QgRm9ybUNvbnRyb2xTdGF0ZSYgc3Rh
dGUsIHNpemVfdCBpbmRleCkKLXsKLSAgICBpZiAoaW5kZXggPj0gc3RhdGUudmFsdWVTaXplKCkp
Ci0gICAgICAgIHJldHVybiBEYXRlVGltZUZpZWxkc1N0YXRlOjpBTVBNVmFsdWVFbXB0eTsKLSAg
ICBjb25zdCBTdHJpbmcgdmFsdWUgPSBzdGF0ZVtpbmRleF07Ci0gICAgaWYgKHZhbHVlID09ICJB
IikKLSAgICAgICAgcmV0dXJuIERhdGVUaW1lRmllbGRzU3RhdGU6OkFNUE1WYWx1ZUFNOwotICAg
IGlmICh2YWx1ZSA9PSAiUCIpCi0gICAgICAgIHJldHVybiBEYXRlVGltZUZpZWxkc1N0YXRlOjpB
TVBNVmFsdWVQTTsKLSAgICByZXR1cm4gRGF0ZVRpbWVGaWVsZHNTdGF0ZTo6QU1QTVZhbHVlRW1w
dHk7Ci19Ci0KLURhdGVUaW1lRmllbGRzU3RhdGU6OkRhdGVUaW1lRmllbGRzU3RhdGUoKQotICAg
IDogbV95ZWFyKGVtcHR5VmFsdWUpCi0gICAgLCBtX21vbnRoKGVtcHR5VmFsdWUpCi0gICAgLCBt
X2RheU9mTW9udGgoZW1wdHlWYWx1ZSkKLSAgICAsIG1faG91cihlbXB0eVZhbHVlKQotICAgICwg
bV9taW51dGUoZW1wdHlWYWx1ZSkKLSAgICAsIG1fc2Vjb25kKGVtcHR5VmFsdWUpCi0gICAgLCBt
X21pbGxpc2Vjb25kKGVtcHR5VmFsdWUpCi0gICAgLCBtX3dlZWtPZlllYXIoZW1wdHlWYWx1ZSkK
LSAgICAsIG1fYW1wbShBTVBNVmFsdWVFbXB0eSkKLXsKLX0KLQotdW5zaWduZWQgRGF0ZVRpbWVG
aWVsZHNTdGF0ZTo6aG91cjIzKCkgY29uc3QKLXsKLSAgICBpZiAoIWhhc0hvdXIoKSB8fCAhaGFz
QU1QTSgpKQotICAgICAgICByZXR1cm4gZW1wdHlWYWx1ZTsKLSAgICByZXR1cm4gKG1faG91ciAl
IDEyKSArIChtX2FtcG0gPT0gQU1QTVZhbHVlUE0gPyAxMiA6IDApOwotfQotCi1EYXRlVGltZUZp
ZWxkc1N0YXRlIERhdGVUaW1lRmllbGRzU3RhdGU6OnJlc3RvcmVGb3JtQ29udHJvbFN0YXRlKGNv
bnN0IEZvcm1Db250cm9sU3RhdGUmIHN0YXRlKQotewotICAgIERhdGVUaW1lRmllbGRzU3RhdGUg
ZGF0ZVRpbWVGaWVsZHNTdGF0ZTsKLSAgICBkYXRlVGltZUZpZWxkc1N0YXRlLnNldFllYXIoZ2V0
TnVtYmVyRnJvbUZvcm1Db250cm9sU3RhdGUoc3RhdGUsIDApKTsKLSAgICBkYXRlVGltZUZpZWxk
c1N0YXRlLnNldE1vbnRoKGdldE51bWJlckZyb21Gb3JtQ29udHJvbFN0YXRlKHN0YXRlLCAxKSk7
Ci0gICAgZGF0ZVRpbWVGaWVsZHNTdGF0ZS5zZXREYXlPZk1vbnRoKGdldE51bWJlckZyb21Gb3Jt
Q29udHJvbFN0YXRlKHN0YXRlLCAyKSk7Ci0gICAgZGF0ZVRpbWVGaWVsZHNTdGF0ZS5zZXRIb3Vy
KGdldE51bWJlckZyb21Gb3JtQ29udHJvbFN0YXRlKHN0YXRlLCAzKSk7Ci0gICAgZGF0ZVRpbWVG
aWVsZHNTdGF0ZS5zZXRNaW51dGUoZ2V0TnVtYmVyRnJvbUZvcm1Db250cm9sU3RhdGUoc3RhdGUs
IDQpKTsKLSAgICBkYXRlVGltZUZpZWxkc1N0YXRlLnNldFNlY29uZChnZXROdW1iZXJGcm9tRm9y
bUNvbnRyb2xTdGF0ZShzdGF0ZSwgNSkpOwotICAgIGRhdGVUaW1lRmllbGRzU3RhdGUuc2V0TWls
bGlzZWNvbmQoZ2V0TnVtYmVyRnJvbUZvcm1Db250cm9sU3RhdGUoc3RhdGUsIDYpKTsKLSAgICBk
YXRlVGltZUZpZWxkc1N0YXRlLnNldFdlZWtPZlllYXIoZ2V0TnVtYmVyRnJvbUZvcm1Db250cm9s
U3RhdGUoc3RhdGUsIDcpKTsKLSAgICBkYXRlVGltZUZpZWxkc1N0YXRlLnNldEFNUE0oZ2V0QU1Q
TUZyb21Gb3JtQ29udHJvbFN0YXRlKHN0YXRlLCA4KSk7Ci0gICAgcmV0dXJuIGRhdGVUaW1lRmll
bGRzU3RhdGU7Ci19Ci0KLUZvcm1Db250cm9sU3RhdGUgRGF0ZVRpbWVGaWVsZHNTdGF0ZTo6c2F2
ZUZvcm1Db250cm9sU3RhdGUoKSBjb25zdAotewotICAgIEZvcm1Db250cm9sU3RhdGUgc3RhdGU7
Ci0gICAgc3RhdGUuYXBwZW5kKGhhc1llYXIoKSA/IFN0cmluZzo6bnVtYmVyKG1feWVhcikgOiBl
bXB0eVN0cmluZygpKTsKLSAgICBzdGF0ZS5hcHBlbmQoaGFzTW9udGgoKSA/IFN0cmluZzo6bnVt
YmVyKG1fbW9udGgpIDogZW1wdHlTdHJpbmcoKSk7Ci0gICAgc3RhdGUuYXBwZW5kKGhhc0RheU9m
TW9udGgoKSA/IFN0cmluZzo6bnVtYmVyKG1fZGF5T2ZNb250aCkgOiBlbXB0eVN0cmluZygpKTsK
LSAgICBzdGF0ZS5hcHBlbmQoaGFzSG91cigpID8gU3RyaW5nOjpudW1iZXIobV9ob3VyKSA6IGVt
cHR5U3RyaW5nKCkpOwotICAgIHN0YXRlLmFwcGVuZChoYXNNaW51dGUoKSA/IFN0cmluZzo6bnVt
YmVyKG1fbWludXRlKSA6IGVtcHR5U3RyaW5nKCkpOwotICAgIHN0YXRlLmFwcGVuZChoYXNTZWNv
bmQoKSA/IFN0cmluZzo6bnVtYmVyKG1fc2Vjb25kKSA6IGVtcHR5U3RyaW5nKCkpOwotICAgIHN0
YXRlLmFwcGVuZChoYXNNaWxsaXNlY29uZCgpID8gU3RyaW5nOjpudW1iZXIobV9taWxsaXNlY29u
ZCkgOiBlbXB0eVN0cmluZygpKTsKLSAgICBzdGF0ZS5hcHBlbmQoaGFzV2Vla09mWWVhcigpID8g
U3RyaW5nOjpudW1iZXIobV93ZWVrT2ZZZWFyKSA6IGVtcHR5U3RyaW5nKCkpOwotICAgIGlmICho
YXNBTVBNKCkpCi0gICAgICAgIHN0YXRlLmFwcGVuZChtX2FtcG0gPT0gQU1QTVZhbHVlQU0gPyAi
QSIgOiAiUCIpOwotICAgIGVsc2UKLSAgICAgICAgc3RhdGUuYXBwZW5kKGVtcHR5U3RyaW5nKCkp
OwotICAgIHJldHVybiBzdGF0ZTsKLX0KLQotfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQotCi0jZW5k
aWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvRGF0ZVRpbWVGaWVsZHNTdGF0ZS5o
IGIvU291cmNlL1dlYkNvcmUvaHRtbC9EYXRlVGltZUZpZWxkc1N0YXRlLmgKZGVsZXRlZCBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDJkZDIxOTU0NjA2YjQ5NzRjNDJlNTE2OThhOTExMGJlYmU2OTM5
NTYuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvU291cmNl
L1dlYkNvcmUvaHRtbC9EYXRlVGltZUZpZWxkc1N0YXRlLmgKKysrIC9kZXYvbnVsbApAQCAtMSwx
MDMgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAxMiBHb29nbGUgSW5jLiBBbGwgcmln
aHRzIHJlc2VydmVkLgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFu
ZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVy
bWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0
OgotICogMS4gIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUg
YWJvdmUgY29weXJpZ2h0Ci0gKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogMi4gIFJlZGlzdHJpYnV0aW9ucyBpbiBi
aW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
IGluIHRoZQotICogICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92
aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9W
SURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJyBBTkQKLSAq
IEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJ
TUlURUQgVE8sIFRIRQotICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBB
TkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UKLSAqIEFSRSBESVNDTEFJTUVELiBJ
TiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMgQkUgTElBQkxF
Ci0gKiBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1Q
TEFSWSwgT1IgQ09OU0VRVUVOVElBTAotICogREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJ
TUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IKLSAqIFNFUlZJQ0VT
OyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9O
KSBIT1dFVkVSCi0gKiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVU
SEVSIElOIENPTlRSQUNULCBTVFJJQ1QKLSAqIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5H
IE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkKLSAqIE9VVCBPRiBU
SEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJ
VFkgT0YKLSAqIFNVQ0ggREFNQUdFLgotICovCi0KLSNpZm5kZWYgRGF0ZVRpbWVGaWVsZHNTdGF0
ZV9oCi0jZGVmaW5lIERhdGVUaW1lRmllbGRzU3RhdGVfaAotCi0jaWYgRU5BQkxFKElOUFVUX01V
TFRJUExFX0ZJRUxEU19VSSkKLSNpbmNsdWRlIDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4KLQotbmFt
ZXNwYWNlIFdlYkNvcmUgewotCi1jbGFzcyBGb3JtQ29udHJvbFN0YXRlOwotCi0vLyBEYXRlVGlt
ZUZpZWxkc1N0YXRlIHJlcHJlc2VudHMgZmllbGRzIGluIGRhdGUvdGltZSBmb3IgZm9ybSBzdGF0
ZQotLy8gc2F2ZS9yZXN0b3JlIGZvciBpbnB1dCB0eXBlICJkYXRlIiwgImRhdGV0aW1lIiwgImRh
dGV0aW1lLWxvY2FsIiwgIm1vbnRoIiwKLS8vICJ0aW1lIiwgYW5kICJ3ZWVrIiB3aXRoIG11bHRp
cGxlIGZpZWxkcyBpbnB1dCBVSS4KLS8vCi0vLyBFYWNoIGZpZWxkIGNhbiBjb250YWluIGludmFs
aWQgdmFsdWUgZm9yIGRhdGUsIGUuZy4gZGF5IG9mIG1vbnRoIGZpZWxkIGNhbgotLy8gYmUgMzAg
ZXZlbiBpZiBtb250aCBmaWVsZCBpcyBGZWJydWFyeS4KLWNsYXNzIERhdGVUaW1lRmllbGRzU3Rh
dGUgewotcHVibGljOgotICAgIGVudW0gQU1QTVZhbHVlIHsKLSAgICAgICAgQU1QTVZhbHVlRW1w
dHkgPSAtMSwKLSAgICAgICAgQU1QTVZhbHVlQU0sCi0gICAgICAgIEFNUE1WYWx1ZVBNLAotICAg
IH07Ci0KLSAgICBzdGF0aWMgY29uc3QgdW5zaWduZWQgZW1wdHlWYWx1ZTsKLQotICAgIERhdGVU
aW1lRmllbGRzU3RhdGUoKTsKLQotICAgIHN0YXRpYyBEYXRlVGltZUZpZWxkc1N0YXRlIHJlc3Rv
cmVGb3JtQ29udHJvbFN0YXRlKGNvbnN0IEZvcm1Db250cm9sU3RhdGUmKTsKLSAgICBGb3JtQ29u
dHJvbFN0YXRlIHNhdmVGb3JtQ29udHJvbFN0YXRlKCkgY29uc3Q7Ci0KLSAgICBBTVBNVmFsdWUg
YW1wbSgpIGNvbnN0IHsgcmV0dXJuIG1fYW1wbTsgfQotICAgIHVuc2lnbmVkIGRheU9mTW9udGgo
KSBjb25zdCB7IHJldHVybiBtX2RheU9mTW9udGg7IH0KLSAgICB1bnNpZ25lZCBob3VyKCkgY29u
c3QgeyByZXR1cm4gbV9ob3VyOyB9Ci0gICAgdW5zaWduZWQgaG91cjIzKCkgY29uc3Q7Ci0gICAg
dW5zaWduZWQgbWlsbGlzZWNvbmQoKSBjb25zdCB7IHJldHVybiBtX21pbGxpc2Vjb25kOyB9Ci0g
ICAgdW5zaWduZWQgbWludXRlKCkgY29uc3QgeyByZXR1cm4gbV9taW51dGU7IH0KLSAgICB1bnNp
Z25lZCBtb250aCgpIGNvbnN0IHsgcmV0dXJuIG1fbW9udGg7IH0KLSAgICB1bnNpZ25lZCBzZWNv
bmQoKSBjb25zdCB7IHJldHVybiBtX3NlY29uZDsgfQotICAgIHVuc2lnbmVkIHdlZWtPZlllYXIo
KSBjb25zdCB7IHJldHVybiBtX3dlZWtPZlllYXI7IH0KLSAgICB1bnNpZ25lZCB5ZWFyKCkgY29u
c3QgeyByZXR1cm4gbV95ZWFyOyB9Ci0KLSAgICBib29sIGhhc0FNUE0oKSBjb25zdCB7IHJldHVy
biBtX2FtcG0gIT0gQU1QTVZhbHVlRW1wdHk7IH0KLSAgICBib29sIGhhc0RheU9mTW9udGgoKSBj
b25zdCB7IHJldHVybiBtX2RheU9mTW9udGggIT0gZW1wdHlWYWx1ZTsgfQotICAgIGJvb2wgaGFz
SG91cigpIGNvbnN0IHsgcmV0dXJuIG1faG91ciAhPSBlbXB0eVZhbHVlOyB9Ci0gICAgYm9vbCBo
YXNNaWxsaXNlY29uZCgpIGNvbnN0IHsgcmV0dXJuIG1fbWlsbGlzZWNvbmQgIT0gZW1wdHlWYWx1
ZTsgfQotICAgIGJvb2wgaGFzTWludXRlKCkgY29uc3QgeyByZXR1cm4gbV9taW51dGUgIT0gZW1w
dHlWYWx1ZTsgfQotICAgIGJvb2wgaGFzTW9udGgoKSBjb25zdCB7IHJldHVybiBtX21vbnRoICE9
IGVtcHR5VmFsdWU7IH0KLSAgICBib29sIGhhc1NlY29uZCgpIGNvbnN0IHsgcmV0dXJuIG1fc2Vj
b25kICE9IGVtcHR5VmFsdWU7IH0KLSAgICBib29sIGhhc1dlZWtPZlllYXIoKSBjb25zdCB7IHJl
dHVybiBtX3dlZWtPZlllYXIgIT0gZW1wdHlWYWx1ZTsgfQotICAgIGJvb2wgaGFzWWVhcigpIGNv
bnN0IHsgcmV0dXJuIG1feWVhciAhPSBlbXB0eVZhbHVlOyB9Ci0KLSAgICB2b2lkIHNldEFNUE0o
QU1QTVZhbHVlIGFtcG0pIHsgbV9hbXBtID0gYW1wbTsgfQotICAgIHZvaWQgc2V0RGF5T2ZNb250
aCh1bnNpZ25lZCBkYXlPZk1vbnRoKSB7IG1fZGF5T2ZNb250aCA9IGRheU9mTW9udGg7IH0KLSAg
ICB2b2lkIHNldEhvdXIodW5zaWduZWQgaG91cjEyKSB7IG1faG91ciA9IGhvdXIxMjsgfQotICAg
IHZvaWQgc2V0TWlsbGlzZWNvbmQodW5zaWduZWQgbWlsbGlzZWNvbmQpIHsgbV9taWxsaXNlY29u
ZCA9IG1pbGxpc2Vjb25kOyB9Ci0gICAgdm9pZCBzZXRNaW51dGUodW5zaWduZWQgbWludXRlKSB7
IG1fbWludXRlID0gbWludXRlOyB9Ci0gICAgdm9pZCBzZXRNb250aCh1bnNpZ25lZCBtb250aCkg
eyBtX21vbnRoID0gbW9udGg7IH0KLSAgICB2b2lkIHNldFNlY29uZCh1bnNpZ25lZCBzZWNvbmQp
IHsgbV9zZWNvbmQgPSBzZWNvbmQ7IH0KLSAgICB2b2lkIHNldFdlZWtPZlllYXIodW5zaWduZWQg
d2Vla09mWWVhcikgeyBtX3dlZWtPZlllYXIgPSB3ZWVrT2ZZZWFyOyB9Ci0gICAgdm9pZCBzZXRZ
ZWFyKHVuc2lnbmVkIHllYXIpIHsgbV95ZWFyID0geWVhcjsgfQotCi1wcml2YXRlOgotICAgIHVu
c2lnbmVkIG1feWVhcjsKLSAgICB1bnNpZ25lZCBtX21vbnRoOyAvLyAxIHRvIDEyLgotICAgIHVu
c2lnbmVkIG1fZGF5T2ZNb250aDsKLSAgICB1bnNpZ25lZCBtX2hvdXI7IC8vIDEgdG8gMTIuCi0g
ICAgdW5zaWduZWQgbV9taW51dGU7Ci0gICAgdW5zaWduZWQgbV9zZWNvbmQ7Ci0gICAgdW5zaWdu
ZWQgbV9taWxsaXNlY29uZDsKLSAgICB1bnNpZ25lZCBtX3dlZWtPZlllYXI7Ci0gICAgQU1QTVZh
bHVlIG1fYW1wbTsKLX07Ci0KLX0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKLQotI2VuZGlmCi0jZW5k
aWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvRGF0ZVRpbWVJbnB1dFR5cGUuY3Bw
IGIvU291cmNlL1dlYkNvcmUvaHRtbC9EYXRlVGltZUlucHV0VHlwZS5jcHAKaW5kZXggYWIwODVl
MjQ1NTNjNWQzMzE0ZmJmYmE1ZWI5YmFiODQ1MWI3NjFlZS4uOGE2NGIwZjZiYjBhYzNiZWY4ZTE1
MWY0NDM5Y2YzYjc1ZGZlZjdmMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9EYXRl
VGltZUlucHV0VHlwZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9EYXRlVGltZUlucHV0
VHlwZS5jcHAKQEAgLTM5LDE0ICszOSw2IEBACiAjaW5jbHVkZSA8d3RmL0N1cnJlbnRUaW1lLmg+
CiAjaW5jbHVkZSA8d3RmL1Bhc3NPd25QdHIuaD4KIAotI2lmIEVOQUJMRShJTlBVVF9NVUxUSVBM
RV9GSUVMRFNfVUkpCi0jaW5jbHVkZSAiRGF0ZVRpbWVGaWVsZHNTdGF0ZS5oIgotI2luY2x1ZGUg
IkxvY2FsaXplZFN0cmluZ3MuaCIKLSNpbmNsdWRlICJQbGF0Zm9ybUxvY2FsZS5oIgotI2luY2x1
ZGUgPHd0Zi90ZXh0L1N0cmluZ0J1aWxkZXIuaD4KLSNpbmNsdWRlIDx3dGYvdGV4dC9XVEZTdHJp
bmcuaD4KLSNlbmRpZgotCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIHVzaW5nIG5hbWVzcGFjZSBI
VE1MTmFtZXM7CkBAIC0xMDksNjggKzEwMSw2IEBAIGJvb2wgRGF0ZVRpbWVJbnB1dFR5cGU6Omlz
RGF0ZVRpbWVGaWVsZCgpIGNvbnN0CiAgICAgcmV0dXJuIHRydWU7CiB9CiAKLSNpZiBFTkFCTEUo
SU5QVVRfTVVMVElQTEVfRklFTERTX1VJKQotLy8gRklYTUU6IEl0IGlzIGJldHRlciB0byBzaGFy
ZSBjb2RlIGZvciBEYXRlVGltZUlucHV0VHlwZTo6Zm9ybWF0RGF0ZVRpbWVGaWVsZHNTdGF0ZSgp
Ci0vLyBhbmQgRGF0ZVRpbWVJbnB1dExvY2FsVHlwZTo6Zm9ybWF0RGF0ZVRpbWVGaWVsZHNTdGF0
ZSgpLgotU3RyaW5nIERhdGVUaW1lSW5wdXRUeXBlOjpmb3JtYXREYXRlVGltZUZpZWxkc1N0YXRl
KGNvbnN0IERhdGVUaW1lRmllbGRzU3RhdGUmIGRhdGVUaW1lRmllbGRzU3RhdGUpIGNvbnN0Ci17
Ci0gICAgaWYgKCFkYXRlVGltZUZpZWxkc1N0YXRlLmhhc0RheU9mTW9udGgoKSB8fCAhZGF0ZVRp
bWVGaWVsZHNTdGF0ZS5oYXNNb250aCgpIHx8ICFkYXRlVGltZUZpZWxkc1N0YXRlLmhhc1llYXIo
KQotICAgICAgICB8fCAhZGF0ZVRpbWVGaWVsZHNTdGF0ZS5oYXNIb3VyKCkgfHwgIWRhdGVUaW1l
RmllbGRzU3RhdGUuaGFzTWludXRlKCkgfHwgIWRhdGVUaW1lRmllbGRzU3RhdGUuaGFzQU1QTSgp
KQotICAgICAgICByZXR1cm4gZW1wdHlTdHJpbmcoKTsKLQotICAgIGlmIChkYXRlVGltZUZpZWxk
c1N0YXRlLmhhc01pbGxpc2Vjb25kKCkgJiYgZGF0ZVRpbWVGaWVsZHNTdGF0ZS5taWxsaXNlY29u
ZCgpKSB7Ci0gICAgICAgIHJldHVybiBTdHJpbmc6OmZvcm1hdCgiJTA0dS0lMDJ1LSUwMnVUJTAy
dTolMDJ1OiUwMnUuJTAzdVoiLAotICAgICAgICAgICAgZGF0ZVRpbWVGaWVsZHNTdGF0ZS55ZWFy
KCksCi0gICAgICAgICAgICBkYXRlVGltZUZpZWxkc1N0YXRlLm1vbnRoKCksCi0gICAgICAgICAg
ICBkYXRlVGltZUZpZWxkc1N0YXRlLmRheU9mTW9udGgoKSwKLSAgICAgICAgICAgIGRhdGVUaW1l
RmllbGRzU3RhdGUuaG91cjIzKCksCi0gICAgICAgICAgICBkYXRlVGltZUZpZWxkc1N0YXRlLm1p
bnV0ZSgpLAotICAgICAgICAgICAgZGF0ZVRpbWVGaWVsZHNTdGF0ZS5oYXNTZWNvbmQoKSA/IGRh
dGVUaW1lRmllbGRzU3RhdGUuc2Vjb25kKCkgOiAwLAotICAgICAgICAgICAgZGF0ZVRpbWVGaWVs
ZHNTdGF0ZS5taWxsaXNlY29uZCgpKTsKLSAgICB9Ci0KLSAgICBpZiAoZGF0ZVRpbWVGaWVsZHNT
dGF0ZS5oYXNTZWNvbmQoKSAmJiBkYXRlVGltZUZpZWxkc1N0YXRlLnNlY29uZCgpKSB7Ci0gICAg
ICAgIHJldHVybiBTdHJpbmc6OmZvcm1hdCgiJTA0dS0lMDJ1LSUwMnVUJTAydTolMDJ1OiUwMnVa
IiwKLSAgICAgICAgICAgIGRhdGVUaW1lRmllbGRzU3RhdGUueWVhcigpLAotICAgICAgICAgICAg
ZGF0ZVRpbWVGaWVsZHNTdGF0ZS5tb250aCgpLAotICAgICAgICAgICAgZGF0ZVRpbWVGaWVsZHNT
dGF0ZS5kYXlPZk1vbnRoKCksCi0gICAgICAgICAgICBkYXRlVGltZUZpZWxkc1N0YXRlLmhvdXIy
MygpLAotICAgICAgICAgICAgZGF0ZVRpbWVGaWVsZHNTdGF0ZS5taW51dGUoKSwKLSAgICAgICAg
ICAgIGRhdGVUaW1lRmllbGRzU3RhdGUuc2Vjb25kKCkpOwotICAgIH0KLQotICAgIHJldHVybiBT
dHJpbmc6OmZvcm1hdCgiJTA0dS0lMDJ1LSUwMnVUJTAydTolMDJ1WiIsCi0gICAgICAgIGRhdGVU
aW1lRmllbGRzU3RhdGUueWVhcigpLAotICAgICAgICBkYXRlVGltZUZpZWxkc1N0YXRlLm1vbnRo
KCksCi0gICAgICAgIGRhdGVUaW1lRmllbGRzU3RhdGUuZGF5T2ZNb250aCgpLAotICAgICAgICBk
YXRlVGltZUZpZWxkc1N0YXRlLmhvdXIyMygpLAotICAgICAgICBkYXRlVGltZUZpZWxkc1N0YXRl
Lm1pbnV0ZSgpKTsKLX0KLQotdm9pZCBEYXRlVGltZUlucHV0VHlwZTo6c2V0dXBMYXlvdXRQYXJh
bWV0ZXJzKERhdGVUaW1lRWRpdEVsZW1lbnQ6OkxheW91dFBhcmFtZXRlcnMmIGxheW91dFBhcmFt
ZXRlcnMsIGNvbnN0IERhdGVDb21wb25lbnRzJiBkYXRlKSBjb25zdAotewotICAgIGlmIChzaG91
bGRIYXZlU2Vjb25kRmllbGQoZGF0ZSkpIHsKLSAgICAgICAgbGF5b3V0UGFyYW1ldGVycy5kYXRl
VGltZUZvcm1hdCA9IGxheW91dFBhcmFtZXRlcnMubG9jYWxlLmRhdGVUaW1lRm9ybWF0V2l0aFNl
Y29uZHMoKTsKLSAgICAgICAgbGF5b3V0UGFyYW1ldGVycy5mYWxsYmFja0RhdGVUaW1lRm9ybWF0
ID0gInl5eXktTU0tZGQnVCdISDptbTpzcydaJyI7Ci0gICAgfSBlbHNlIHsKLSAgICAgICAgbGF5
b3V0UGFyYW1ldGVycy5kYXRlVGltZUZvcm1hdCA9IGxheW91dFBhcmFtZXRlcnMubG9jYWxlLmRh
dGVUaW1lRm9ybWF0V2l0aG91dFNlY29uZHMoKTsKLSAgICAgICAgbGF5b3V0UGFyYW1ldGVycy5m
YWxsYmFja0RhdGVUaW1lRm9ybWF0ID0gInl5eXktTU0tZGQnVCdISDptbSdaJyI7Ci0gICAgfQot
ICAgIGlmICghcGFyc2VUb0RhdGVDb21wb25lbnRzKGVsZW1lbnQoKS0+ZmFzdEdldEF0dHJpYnV0
ZShtaW5BdHRyKSwgJmxheW91dFBhcmFtZXRlcnMubWluaW11bSkpCi0gICAgICAgIGxheW91dFBh
cmFtZXRlcnMubWluaW11bSA9IERhdGVDb21wb25lbnRzKCk7Ci0gICAgaWYgKCFwYXJzZVRvRGF0
ZUNvbXBvbmVudHMoZWxlbWVudCgpLT5mYXN0R2V0QXR0cmlidXRlKG1heEF0dHIpLCAmbGF5b3V0
UGFyYW1ldGVycy5tYXhpbXVtKSkKLSAgICAgICAgbGF5b3V0UGFyYW1ldGVycy5tYXhpbXVtID0g
RGF0ZUNvbXBvbmVudHMoKTsKLSAgICBsYXlvdXRQYXJhbWV0ZXJzLnBsYWNlaG9sZGVyRm9yRGF5
ID0gcGxhY2Vob2xkZXJGb3JEYXlPZk1vbnRoRmllbGQoKTsKLSAgICBsYXlvdXRQYXJhbWV0ZXJz
LnBsYWNlaG9sZGVyRm9yTW9udGggPSBwbGFjZWhvbGRlckZvck1vbnRoRmllbGQoKTsKLSAgICBs
YXlvdXRQYXJhbWV0ZXJzLnBsYWNlaG9sZGVyRm9yWWVhciA9IHBsYWNlaG9sZGVyRm9yWWVhckZp
ZWxkKCk7Ci19Ci0KLWJvb2wgRGF0ZVRpbWVJbnB1dFR5cGU6OmlzVmFsaWRGb3JtYXQoYm9vbCBo
YXNZZWFyLCBib29sIGhhc01vbnRoLCBib29sIGhhc1dlZWssIGJvb2wgaGFzRGF5LCBib29sIGhh
c0FNUE0sIGJvb2wgaGFzSG91ciwgYm9vbCBoYXNNaW51dGUsIGJvb2wgaGFzU2Vjb25kKSBjb25z
dAotewotICAgIHJldHVybiBoYXNZZWFyICYmIGhhc01vbnRoICYmIGhhc0RheSAmJiBoYXNBTVBN
ICYmIGhhc0hvdXIgJiYgaGFzTWludXRlOwotfQotI2VuZGlmCi0KIFN0cmluZyBEYXRlVGltZUlu
cHV0VHlwZTo6c2FuaXRpemVWYWx1ZShjb25zdCBTdHJpbmcmIHByb3Bvc2VkVmFsdWUpIGNvbnN0
CiB7CiAgICAgRGF0ZUNvbXBvbmVudHMgZGF0ZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2h0bWwvRGF0ZVRpbWVJbnB1dFR5cGUuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvRGF0ZVRpbWVJ
bnB1dFR5cGUuaAppbmRleCBlOWNkYjg0ZDhiYzI1NjZhOGJjNDhlOTRjYjA3MzgzZTllY2NhNGZm
Li5hMzllMjczODFlZWIzMGFhOTU3NGUwYWYxM2UzYjYxOTZhYTk1MTljIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9odG1sL0RhdGVUaW1lSW5wdXRUeXBlLmgKKysrIGIvU291cmNlL1dlYkNv
cmUvaHRtbC9EYXRlVGltZUlucHV0VHlwZS5oCkBAIC0zNCwxNyArMzQsMTAgQEAKICNpZiBFTkFC
TEUoSU5QVVRfVFlQRV9EQVRFVElNRV9JTkNPTVBMRVRFKQogI2luY2x1ZGUgIkJhc2VDaG9vc2Vy
T25seURhdGVBbmRUaW1lSW5wdXRUeXBlLmgiCiAjaW5jbHVkZSAiQmFzZURhdGVBbmRUaW1lSW5w
dXRUeXBlLmgiCi0jaW5jbHVkZSAiQmFzZU11bHRpcGxlRmllbGRzRGF0ZUFuZFRpbWVJbnB1dFR5
cGUuaCIKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi0jaWYgRU5BQkxFKElOUFVUX01VTFRJUExF
X0ZJRUxEU19VSSkKLXR5cGVkZWYgQmFzZU11bHRpcGxlRmllbGRzRGF0ZUFuZFRpbWVJbnB1dFR5
cGUgQmFzZURhdGVUaW1lSW5wdXRUeXBlOwotI2Vsc2UKLXR5cGVkZWYgQmFzZUNob29zZXJPbmx5
RGF0ZUFuZFRpbWVJbnB1dFR5cGUgQmFzZURhdGVUaW1lSW5wdXRUeXBlOwotI2VuZGlmCi0KLWNs
YXNzIERhdGVUaW1lSW5wdXRUeXBlIDogcHVibGljIEJhc2VEYXRlVGltZUlucHV0VHlwZSB7Citj
bGFzcyBEYXRlVGltZUlucHV0VHlwZSA6IHB1YmxpYyBCYXNlQ2hvb3Nlck9ubHlEYXRlQW5kVGlt
ZUlucHV0VHlwZSB7CiBwdWJsaWM6CiAgICAgc3RhdGljIFBhc3NPd25QdHI8SW5wdXRUeXBlPiBj
cmVhdGUoSFRNTElucHV0RWxlbWVudCopOwogCkBAIC01OSwxMyArNTIsNiBAQCBwcml2YXRlOgog
ICAgIHZpcnR1YWwgYm9vbCBzZXRNaWxsaXNlY29uZFRvRGF0ZUNvbXBvbmVudHMoZG91YmxlLCBE
YXRlQ29tcG9uZW50cyopIGNvbnN0IE9WRVJSSURFOwogICAgIHZpcnR1YWwgYm9vbCBpc0RhdGVU
aW1lRmllbGQoKSBjb25zdCBPVkVSUklERTsKICAgICB2aXJ0dWFsIFN0cmluZyBzYW5pdGl6ZVZh
bHVlKGNvbnN0IFN0cmluZyYpIGNvbnN0IE9WRVJSSURFOwotCi0jaWYgRU5BQkxFKElOUFVUX01V
TFRJUExFX0ZJRUxEU19VSSkKLSAgICAvLyBCYXNlTXVsdGlwbGVGaWVsZHNEYXRlQW5kVGltZUlu
cHV0VHlwZSBmdW5jdGlvbnMKLSAgICB2aXJ0dWFsIFN0cmluZyBmb3JtYXREYXRlVGltZUZpZWxk
c1N0YXRlKGNvbnN0IERhdGVUaW1lRmllbGRzU3RhdGUmKSBjb25zdCBPVkVSUklERSBGSU5BTDsK
LSAgICB2aXJ0dWFsIHZvaWQgc2V0dXBMYXlvdXRQYXJhbWV0ZXJzKERhdGVUaW1lRWRpdEVsZW1l
bnQ6OkxheW91dFBhcmFtZXRlcnMmLCBjb25zdCBEYXRlQ29tcG9uZW50cyYpIGNvbnN0IE9WRVJS
SURFIEZJTkFMOwotICAgIHZpcnR1YWwgYm9vbCBpc1ZhbGlkRm9ybWF0KGJvb2wgaGFzWWVhciwg
Ym9vbCBoYXNNb250aCwgYm9vbCBoYXNXZWVrLCBib29sIGhhc0RheSwgYm9vbCBoYXNBTVBNLCBi
b29sIGhhc0hvdXIsIGJvb2wgaGFzTWludXRlLCBib29sIGhhc1NlY29uZCkgY29uc3Q7Ci0jZW5k
aWYKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2h0bWwvRGF0ZVRpbWVMb2NhbElucHV0VHlwZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1s
L0RhdGVUaW1lTG9jYWxJbnB1dFR5cGUuY3BwCmluZGV4IDY4N2JmZmFlMTM5ZDFhODA0MDFhYzRi
OWQ2MDZhNDY5NWYwZjU0NGUuLmRmMWM0N2EyOTQ1ZmZmOTBlYzk0YmQ2MTM5YjY4ZGRjMDE0OTVm
ZjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvRGF0ZVRpbWVMb2NhbElucHV0VHlw
ZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9EYXRlVGltZUxvY2FsSW5wdXRUeXBlLmNw
cApAQCAtMzgsMTQgKzM4LDYgQEAKICNpbmNsdWRlICJJbnB1dFR5cGVOYW1lcy5oIgogI2luY2x1
ZGUgPHd0Zi9QYXNzT3duUHRyLmg+CiAKLSNpZiBFTkFCTEUoSU5QVVRfTVVMVElQTEVfRklFTERT
X1VJKQotI2luY2x1ZGUgIkRhdGVUaW1lRmllbGRzU3RhdGUuaCIKLSNpbmNsdWRlICJMb2NhbGl6
ZWRTdHJpbmdzLmgiCi0jaW5jbHVkZSAiUGxhdGZvcm1Mb2NhbGUuaCIKLSNpbmNsdWRlIDx3dGYv
dGV4dC9TdHJpbmdCdWlsZGVyLmg+Ci0jaW5jbHVkZSA8d3RmL3RleHQvV1RGU3RyaW5nLmg+Ci0j
ZW5kaWYKLQogbmFtZXNwYWNlIFdlYkNvcmUgewogCiB1c2luZyBuYW1lc3BhY2UgSFRNTE5hbWVz
OwpAQCAtMTE1LDY4ICsxMDcsNiBAQCBib29sIERhdGVUaW1lTG9jYWxJbnB1dFR5cGU6OmlzRGF0
ZVRpbWVMb2NhbEZpZWxkKCkgY29uc3QKICAgICByZXR1cm4gdHJ1ZTsKIH0KIAotI2lmIEVOQUJM
RShJTlBVVF9NVUxUSVBMRV9GSUVMRFNfVUkpCi0vLyBGSVhNRTogSXQgaXMgYmV0dGVyIHRvIHNo
YXJlIGNvZGUgZm9yIERhdGVUaW1lSW5wdXRUeXBlOjpmb3JtYXREYXRlVGltZUZpZWxkc1N0YXRl
KCkKLS8vIGFuZCBEYXRlVGltZUlucHV0TG9jYWxUeXBlOjpmb3JtYXREYXRlVGltZUZpZWxkc1N0
YXRlKCkuCi1TdHJpbmcgRGF0ZVRpbWVMb2NhbElucHV0VHlwZTo6Zm9ybWF0RGF0ZVRpbWVGaWVs
ZHNTdGF0ZShjb25zdCBEYXRlVGltZUZpZWxkc1N0YXRlJiBkYXRlVGltZUZpZWxkc1N0YXRlKSBj
b25zdAotewotICAgIGlmICghZGF0ZVRpbWVGaWVsZHNTdGF0ZS5oYXNEYXlPZk1vbnRoKCkgfHwg
IWRhdGVUaW1lRmllbGRzU3RhdGUuaGFzTW9udGgoKSB8fCAhZGF0ZVRpbWVGaWVsZHNTdGF0ZS5o
YXNZZWFyKCkKLSAgICAgICAgfHwgIWRhdGVUaW1lRmllbGRzU3RhdGUuaGFzSG91cigpIHx8ICFk
YXRlVGltZUZpZWxkc1N0YXRlLmhhc01pbnV0ZSgpIHx8ICFkYXRlVGltZUZpZWxkc1N0YXRlLmhh
c0FNUE0oKSkKLSAgICAgICAgcmV0dXJuIGVtcHR5U3RyaW5nKCk7Ci0KLSAgICBpZiAoZGF0ZVRp
bWVGaWVsZHNTdGF0ZS5oYXNNaWxsaXNlY29uZCgpICYmIGRhdGVUaW1lRmllbGRzU3RhdGUubWls
bGlzZWNvbmQoKSkgewotICAgICAgICByZXR1cm4gU3RyaW5nOjpmb3JtYXQoIiUwNHUtJTAydS0l
MDJ1VCUwMnU6JTAydTolMDJ1LiUwM3UiLAotICAgICAgICAgICAgZGF0ZVRpbWVGaWVsZHNTdGF0
ZS55ZWFyKCksCi0gICAgICAgICAgICBkYXRlVGltZUZpZWxkc1N0YXRlLm1vbnRoKCksCi0gICAg
ICAgICAgICBkYXRlVGltZUZpZWxkc1N0YXRlLmRheU9mTW9udGgoKSwKLSAgICAgICAgICAgIGRh
dGVUaW1lRmllbGRzU3RhdGUuaG91cjIzKCksCi0gICAgICAgICAgICBkYXRlVGltZUZpZWxkc1N0
YXRlLm1pbnV0ZSgpLAotICAgICAgICAgICAgZGF0ZVRpbWVGaWVsZHNTdGF0ZS5oYXNTZWNvbmQo
KSA/IGRhdGVUaW1lRmllbGRzU3RhdGUuc2Vjb25kKCkgOiAwLAotICAgICAgICAgICAgZGF0ZVRp
bWVGaWVsZHNTdGF0ZS5taWxsaXNlY29uZCgpKTsKLSAgICB9Ci0KLSAgICBpZiAoZGF0ZVRpbWVG
aWVsZHNTdGF0ZS5oYXNTZWNvbmQoKSAmJiBkYXRlVGltZUZpZWxkc1N0YXRlLnNlY29uZCgpKSB7
Ci0gICAgICAgIHJldHVybiBTdHJpbmc6OmZvcm1hdCgiJTA0dS0lMDJ1LSUwMnVUJTAydTolMDJ1
OiUwMnUiLAotICAgICAgICAgICAgZGF0ZVRpbWVGaWVsZHNTdGF0ZS55ZWFyKCksCi0gICAgICAg
ICAgICBkYXRlVGltZUZpZWxkc1N0YXRlLm1vbnRoKCksCi0gICAgICAgICAgICBkYXRlVGltZUZp
ZWxkc1N0YXRlLmRheU9mTW9udGgoKSwKLSAgICAgICAgICAgIGRhdGVUaW1lRmllbGRzU3RhdGUu
aG91cjIzKCksCi0gICAgICAgICAgICBkYXRlVGltZUZpZWxkc1N0YXRlLm1pbnV0ZSgpLAotICAg
ICAgICAgICAgZGF0ZVRpbWVGaWVsZHNTdGF0ZS5zZWNvbmQoKSk7Ci0gICAgfQotCi0gICAgcmV0
dXJuIFN0cmluZzo6Zm9ybWF0KCIlMDR1LSUwMnUtJTAydVQlMDJ1OiUwMnUiLAotICAgICAgICBk
YXRlVGltZUZpZWxkc1N0YXRlLnllYXIoKSwKLSAgICAgICAgZGF0ZVRpbWVGaWVsZHNTdGF0ZS5t
b250aCgpLAotICAgICAgICBkYXRlVGltZUZpZWxkc1N0YXRlLmRheU9mTW9udGgoKSwKLSAgICAg
ICAgZGF0ZVRpbWVGaWVsZHNTdGF0ZS5ob3VyMjMoKSwKLSAgICAgICAgZGF0ZVRpbWVGaWVsZHNT
dGF0ZS5taW51dGUoKSk7Ci19Ci0KLXZvaWQgRGF0ZVRpbWVMb2NhbElucHV0VHlwZTo6c2V0dXBM
YXlvdXRQYXJhbWV0ZXJzKERhdGVUaW1lRWRpdEVsZW1lbnQ6OkxheW91dFBhcmFtZXRlcnMmIGxh
eW91dFBhcmFtZXRlcnMsIGNvbnN0IERhdGVDb21wb25lbnRzJiBkYXRlKSBjb25zdAotewotICAg
IGlmIChzaG91bGRIYXZlU2Vjb25kRmllbGQoZGF0ZSkpIHsKLSAgICAgICAgbGF5b3V0UGFyYW1l
dGVycy5kYXRlVGltZUZvcm1hdCA9IGxheW91dFBhcmFtZXRlcnMubG9jYWxlLmRhdGVUaW1lRm9y
bWF0V2l0aFNlY29uZHMoKTsKLSAgICAgICAgbGF5b3V0UGFyYW1ldGVycy5mYWxsYmFja0RhdGVU
aW1lRm9ybWF0ID0gInl5eXktTU0tZGQnVCdISDptbTpzcyI7Ci0gICAgfSBlbHNlIHsKLSAgICAg
ICAgbGF5b3V0UGFyYW1ldGVycy5kYXRlVGltZUZvcm1hdCA9IGxheW91dFBhcmFtZXRlcnMubG9j
YWxlLmRhdGVUaW1lRm9ybWF0V2l0aG91dFNlY29uZHMoKTsKLSAgICAgICAgbGF5b3V0UGFyYW1l
dGVycy5mYWxsYmFja0RhdGVUaW1lRm9ybWF0ID0gInl5eXktTU0tZGQnVCdISDptbSI7Ci0gICAg
fQotICAgIGlmICghcGFyc2VUb0RhdGVDb21wb25lbnRzKGVsZW1lbnQoKS0+ZmFzdEdldEF0dHJp
YnV0ZShtaW5BdHRyKSwgJmxheW91dFBhcmFtZXRlcnMubWluaW11bSkpCi0gICAgICAgIGxheW91
dFBhcmFtZXRlcnMubWluaW11bSA9IERhdGVDb21wb25lbnRzKCk7Ci0gICAgaWYgKCFwYXJzZVRv
RGF0ZUNvbXBvbmVudHMoZWxlbWVudCgpLT5mYXN0R2V0QXR0cmlidXRlKG1heEF0dHIpLCAmbGF5
b3V0UGFyYW1ldGVycy5tYXhpbXVtKSkKLSAgICAgICAgbGF5b3V0UGFyYW1ldGVycy5tYXhpbXVt
ID0gRGF0ZUNvbXBvbmVudHMoKTsKLSAgICBsYXlvdXRQYXJhbWV0ZXJzLnBsYWNlaG9sZGVyRm9y
RGF5ID0gcGxhY2Vob2xkZXJGb3JEYXlPZk1vbnRoRmllbGQoKTsKLSAgICBsYXlvdXRQYXJhbWV0
ZXJzLnBsYWNlaG9sZGVyRm9yTW9udGggPSBwbGFjZWhvbGRlckZvck1vbnRoRmllbGQoKTsKLSAg
ICBsYXlvdXRQYXJhbWV0ZXJzLnBsYWNlaG9sZGVyRm9yWWVhciA9IHBsYWNlaG9sZGVyRm9yWWVh
ckZpZWxkKCk7Ci19Ci0KLWJvb2wgRGF0ZVRpbWVMb2NhbElucHV0VHlwZTo6aXNWYWxpZEZvcm1h
dChib29sIGhhc1llYXIsIGJvb2wgaGFzTW9udGgsIGJvb2wgaGFzV2VlaywgYm9vbCBoYXNEYXks
IGJvb2wgaGFzQU1QTSwgYm9vbCBoYXNIb3VyLCBib29sIGhhc01pbnV0ZSwgYm9vbCBoYXNTZWNv
bmQpIGNvbnN0Ci17Ci0gICAgcmV0dXJuIGhhc1llYXIgJiYgaGFzTW9udGggJiYgaGFzRGF5ICYm
IGhhc0FNUE0gJiYgaGFzSG91ciAmJiBoYXNNaW51dGU7Ci19Ci0jZW5kaWYKLQogfSAvLyBuYW1l
c3BhY2UgV2ViQ29yZQogCiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwv
RGF0ZVRpbWVMb2NhbElucHV0VHlwZS5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9EYXRlVGltZUxv
Y2FsSW5wdXRUeXBlLmgKaW5kZXggYjE2YWJlODQyNzM4NGQ1MDBlOTA2MmVkM2RlMTkzMzFjYjRl
ZjJhYi4uYzZlNGNiY2FjZjRlNTQ1ZjIwMTM1YWEwM2MxNmJhODU5YzIxYTg0OSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvaHRtbC9EYXRlVGltZUxvY2FsSW5wdXRUeXBlLmgKKysrIGIvU291
cmNlL1dlYkNvcmUvaHRtbC9EYXRlVGltZUxvY2FsSW5wdXRUeXBlLmgKQEAgLTMzLDE3ICszMywx
MCBAQAogCiAjaWYgRU5BQkxFKElOUFVUX1RZUEVfREFURVRJTUVMT0NBTCkKICNpbmNsdWRlICJC
YXNlQ2hvb3Nlck9ubHlEYXRlQW5kVGltZUlucHV0VHlwZS5oIgotI2luY2x1ZGUgIkJhc2VNdWx0
aXBsZUZpZWxkc0RhdGVBbmRUaW1lSW5wdXRUeXBlLmgiCiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsK
IAotI2lmIEVOQUJMRShJTlBVVF9NVUxUSVBMRV9GSUVMRFNfVUkpCi10eXBlZGVmIEJhc2VNdWx0
aXBsZUZpZWxkc0RhdGVBbmRUaW1lSW5wdXRUeXBlIEJhc2VEYXRlVGltZUxvY2FsSW5wdXRUeXBl
OwotI2Vsc2UKLXR5cGVkZWYgQmFzZUNob29zZXJPbmx5RGF0ZUFuZFRpbWVJbnB1dFR5cGUgQmFz
ZURhdGVUaW1lTG9jYWxJbnB1dFR5cGU7Ci0jZW5kaWYKLQotY2xhc3MgRGF0ZVRpbWVMb2NhbElu
cHV0VHlwZSA6IHB1YmxpYyBCYXNlRGF0ZVRpbWVMb2NhbElucHV0VHlwZSB7CitjbGFzcyBEYXRl
VGltZUxvY2FsSW5wdXRUeXBlIDogcHVibGljIEJhc2VDaG9vc2VyT25seURhdGVBbmRUaW1lSW5w
dXRUeXBlIHsKIHB1YmxpYzoKICAgICBzdGF0aWMgUGFzc093blB0cjxJbnB1dFR5cGU+IGNyZWF0
ZShIVE1MSW5wdXRFbGVtZW50Kik7CiAKQEAgLTU4LDEzICs1MSw2IEBAIHByaXZhdGU6CiAgICAg
dmlydHVhbCBib29sIHBhcnNlVG9EYXRlQ29tcG9uZW50c0ludGVybmFsKGNvbnN0IFVDaGFyKiwg
dW5zaWduZWQgbGVuZ3RoLCBEYXRlQ29tcG9uZW50cyopIGNvbnN0IE9WRVJSSURFOwogICAgIHZp
cnR1YWwgYm9vbCBzZXRNaWxsaXNlY29uZFRvRGF0ZUNvbXBvbmVudHMoZG91YmxlLCBEYXRlQ29t
cG9uZW50cyopIGNvbnN0IE9WRVJSSURFOwogICAgIHZpcnR1YWwgYm9vbCBpc0RhdGVUaW1lTG9j
YWxGaWVsZCgpIGNvbnN0IE9WRVJSSURFOwotCi0jaWYgRU5BQkxFKElOUFVUX01VTFRJUExFX0ZJ
RUxEU19VSSkKLSAgICAvLyBCYXNlTXVsdGlwbGVGaWVsZHNEYXRlQW5kVGltZUlucHV0VHlwZSBm
dW5jdGlvbnMKLSAgICB2aXJ0dWFsIFN0cmluZyBmb3JtYXREYXRlVGltZUZpZWxkc1N0YXRlKGNv
bnN0IERhdGVUaW1lRmllbGRzU3RhdGUmKSBjb25zdCBPVkVSUklERSBGSU5BTDsKLSAgICB2aXJ0
dWFsIHZvaWQgc2V0dXBMYXlvdXRQYXJhbWV0ZXJzKERhdGVUaW1lRWRpdEVsZW1lbnQ6OkxheW91
dFBhcmFtZXRlcnMmLCBjb25zdCBEYXRlQ29tcG9uZW50cyYpIGNvbnN0IE9WRVJSSURFIEZJTkFM
OwotICAgIHZpcnR1YWwgYm9vbCBpc1ZhbGlkRm9ybWF0KGJvb2wgaGFzWWVhciwgYm9vbCBoYXNN
b250aCwgYm9vbCBoYXNXZWVrLCBib29sIGhhc0RheSwgYm9vbCBoYXNBTVBNLCBib29sIGhhc0hv
dXIsIGJvb2wgaGFzTWludXRlLCBib29sIGhhc1NlY29uZCkgY29uc3Q7Ci0jZW5kaWYKIH07CiAK
IH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwv
SFRNTElucHV0RWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxJbnB1dEVsZW1l
bnQuY3BwCmluZGV4IDUzMTMzZjIzNTYxYTZiZTdiZmQ4MmU1MmQ0ODczNTMyMzIwOWU5YzYuLmFm
YzM4ZjI2NDA4YTRiZjU5Zjk2YzI2YzExNWUwZWU5YzQwYzU3ZjcgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvSFRNTElucHV0RWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
aHRtbC9IVE1MSW5wdXRFbGVtZW50LmNwcApAQCAtMTM5LDkgKzEzOSw2IEBAIEhUTUxJbnB1dEVs
ZW1lbnQ6OkhUTUxJbnB1dEVsZW1lbnQoY29uc3QgUXVhbGlmaWVkTmFtZSYgdGFnTmFtZSwgRG9j
dW1lbnQqIGRvY3VtCiAgICAgLCBtX2lucHV0VHlwZShJbnB1dFR5cGU6OmNyZWF0ZVRleHQodGhp
cykpCiB7CiAgICAgQVNTRVJUKGhhc1RhZ05hbWUoaW5wdXRUYWcpIHx8IGhhc1RhZ05hbWUoaXNp
bmRleFRhZykpOwotI2lmIEVOQUJMRShJTlBVVF9NVUxUSVBMRV9GSUVMRFNfVUkpCi0gICAgc2V0
SGFzQ3VzdG9tU3R5bGVDYWxsYmFja3MoKTsKLSNlbmRpZgogfQogCiBQYXNzUmVmUHRyPEhUTUxJ
bnB1dEVsZW1lbnQ+IEhUTUxJbnB1dEVsZW1lbnQ6OmNyZWF0ZShjb25zdCBRdWFsaWZpZWROYW1l
JiB0YWdOYW1lLCBEb2N1bWVudCogZG9jdW1lbnQsIEhUTUxGb3JtRWxlbWVudCogZm9ybSwgYm9v
bCBjcmVhdGVkQnlQYXJzZXIpCkBAIC0xOTY5LDExICsxOTY2LDQgQEAgYm9vbCBIVE1MSW5wdXRF
bGVtZW50OjpzZXR1cERhdGVUaW1lQ2hvb3NlclBhcmFtZXRlcnMoRGF0ZVRpbWVDaG9vc2VyUGFy
YW1ldGVycyYKIH0KICNlbmRpZgogCi0jaWYgRU5BQkxFKElOUFVUX01VTFRJUExFX0ZJRUxEU19V
SSkKLVBhc3NSZWZQdHI8UmVuZGVyU3R5bGU+IEhUTUxJbnB1dEVsZW1lbnQ6OmN1c3RvbVN0eWxl
Rm9yUmVuZGVyZXIoKQotewotICAgIHJldHVybiBtX2lucHV0VHlwZS0+Y3VzdG9tU3R5bGVGb3JS
ZW5kZXJlcihkb2N1bWVudCgpLT5lbnN1cmVTdHlsZVJlc29sdmVyKCktPnN0eWxlRm9yRWxlbWVu
dCh0aGlzKSk7Ci19Ci0jZW5kaWYKLQogfSAvLyBuYW1lc3BhY2UKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvSFRNTElucHV0RWxlbWVudC5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9I
VE1MSW5wdXRFbGVtZW50LmgKaW5kZXggZTQ2MjI4NmE5YjdiNzY5YzQzYjMzZDA4YWJmZWU1MGRk
YmExZmJkNi4uODEwMWUzYmYzODUxYzIzMWU2OTI5MTgyYjVmMGZmM2NjOTk3MTM4MCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MSW5wdXRFbGVtZW50LmgKKysrIGIvU291cmNl
L1dlYkNvcmUvaHRtbC9IVE1MSW5wdXRFbGVtZW50LmgKQEAgLTQwNCw5ICs0MDQsNiBAQCBwcml2
YXRlOgogICAgIENoZWNrZWRSYWRpb0J1dHRvbnMqIGNoZWNrZWRSYWRpb0J1dHRvbnMoKSBjb25z
dDsKICAgICB2b2lkIGFkZFRvUmFkaW9CdXR0b25Hcm91cCgpOwogICAgIHZvaWQgcmVtb3ZlRnJv
bVJhZGlvQnV0dG9uR3JvdXAoKTsKLSNpZiBFTkFCTEUoSU5QVVRfTVVMVElQTEVfRklFTERTX1VJ
KQotICAgIHZpcnR1YWwgUGFzc1JlZlB0cjxSZW5kZXJTdHlsZT4gY3VzdG9tU3R5bGVGb3JSZW5k
ZXJlcigpIE9WRVJSSURFOwotI2VuZGlmCiAKICAgICBBdG9taWNTdHJpbmcgbV9uYW1lOwogICAg
IFN0cmluZyBtX3ZhbHVlSWZEaXJ0eTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwv
SW5wdXRUeXBlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSW5wdXRUeXBlLmNwcAppbmRleCA0
YTA0ZjFkMTE4NTliZDVmOTQwMjBhZjg3NTg1ZDc5YmRmZDEwNjRiLi5kZTBhYTcxNTMwMDYyOTRi
NWE2ZTI5OTNkMTNjN2QyMmNkMmRiN2NlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1s
L0lucHV0VHlwZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9JbnB1dFR5cGUuY3BwCkBA
IC00NjUsMTEgKzQ2NSw2IEBAIFJlbmRlck9iamVjdCogSW5wdXRUeXBlOjpjcmVhdGVSZW5kZXJl
cihSZW5kZXJBcmVuYSosIFJlbmRlclN0eWxlKiBzdHlsZSkgY29uc3QKICAgICByZXR1cm4gUmVu
ZGVyT2JqZWN0OjpjcmVhdGVPYmplY3QoZWxlbWVudCgpLCBzdHlsZSk7CiB9CiAKLVBhc3NSZWZQ
dHI8UmVuZGVyU3R5bGU+IElucHV0VHlwZTo6Y3VzdG9tU3R5bGVGb3JSZW5kZXJlcihQYXNzUmVm
UHRyPFJlbmRlclN0eWxlPiBvcmlnaW5hbFN0eWxlKQotewotICAgIHJldHVybiBvcmlnaW5hbFN0
eWxlOwotfQotCiB2b2lkIElucHV0VHlwZTo6Ymx1cigpCiB7CiAgICAgZWxlbWVudCgpLT5kZWZh
dWx0Qmx1cigpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9JbnB1dFR5cGUuaCBi
L1NvdXJjZS9XZWJDb3JlL2h0bWwvSW5wdXRUeXBlLmgKaW5kZXggM2ZkNTMxZTBhZmVhMTQ0MDRm
NmY4YmVmODE1ZDk5MGRmMTM5ZDdkZi4uZDdiMjQ1YmUwM2E1YzhlZDNjNGE4MTlkNDZhNzVhZjQ4
MzdjYmI1MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9JbnB1dFR5cGUuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9odG1sL0lucHV0VHlwZS5oCkBAIC0yMzcsNyArMjM3LDYgQEAgcHVi
bGljOgogCiAgICAgdmlydHVhbCBib29sIHJlbmRlcmVySXNOZWVkZWQoKTsKICAgICB2aXJ0dWFs
IFJlbmRlck9iamVjdCogY3JlYXRlUmVuZGVyZXIoUmVuZGVyQXJlbmEqLCBSZW5kZXJTdHlsZSop
IGNvbnN0OwotICAgIHZpcnR1YWwgUGFzc1JlZlB0cjxSZW5kZXJTdHlsZT4gY3VzdG9tU3R5bGVG
b3JSZW5kZXJlcihQYXNzUmVmUHRyPFJlbmRlclN0eWxlPik7CiAgICAgdmlydHVhbCB2b2lkIGFk
ZFNlYXJjaFJlc3VsdCgpOwogICAgIHZpcnR1YWwgdm9pZCBhdHRhY2goKTsKICAgICB2aXJ0dWFs
IHZvaWQgZGV0YWNoKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL01vbnRoSW5w
dXRUeXBlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvTW9udGhJbnB1dFR5cGUuY3BwCmluZGV4
IGRiODBjYmYzN2I3Y2MzMTRmN2VkNzU5N2FjOTIzMjAzMzlmYjE3ZmIuLmFjYWEzMjlkZjY1MGNi
OTBhYzBhNzk1ZWM5N2ExYjk5YzFiMjJmMmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0
bWwvTW9udGhJbnB1dFR5cGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvTW9udGhJbnB1
dFR5cGUuY3BwCkBAIC00MSwxMyArNDEsNiBAQAogI2luY2x1ZGUgPHd0Zi9NYXRoRXh0cmFzLmg+
CiAjaW5jbHVkZSA8d3RmL1Bhc3NPd25QdHIuaD4KIAotI2lmIEVOQUJMRShJTlBVVF9NVUxUSVBM
RV9GSUVMRFNfVUkpCi0jaW5jbHVkZSAiRGF0ZVRpbWVGaWVsZHNTdGF0ZS5oIgotI2luY2x1ZGUg
IkxvY2FsaXplZFN0cmluZ3MuaCIKLSNpbmNsdWRlICJQbGF0Zm9ybUxvY2FsZS5oIgotI2luY2x1
ZGUgPHd0Zi90ZXh0L1dURlN0cmluZy5oPgotI2VuZGlmCi0KIG5hbWVzcGFjZSBXZWJDb3JlIHsK
IAogdXNpbmcgbmFtZXNwYWNlIEhUTUxOYW1lczsKQEAgLTE0OCwzMSArMTQxLDYgQEAgYm9vbCBN
b250aElucHV0VHlwZTo6aXNNb250aEZpZWxkKCkgY29uc3QKICAgICByZXR1cm4gdHJ1ZTsKIH0K
IAotI2lmIEVOQUJMRShJTlBVVF9NVUxUSVBMRV9GSUVMRFNfVUkpCi1TdHJpbmcgTW9udGhJbnB1
dFR5cGU6OmZvcm1hdERhdGVUaW1lRmllbGRzU3RhdGUoY29uc3QgRGF0ZVRpbWVGaWVsZHNTdGF0
ZSYgZGF0ZVRpbWVGaWVsZHNTdGF0ZSkgY29uc3QKLXsKLSAgICBpZiAoIWRhdGVUaW1lRmllbGRz
U3RhdGUuaGFzTW9udGgoKSB8fCAhZGF0ZVRpbWVGaWVsZHNTdGF0ZS5oYXNZZWFyKCkpCi0gICAg
ICAgIHJldHVybiBlbXB0eVN0cmluZygpOwotICAgIHJldHVybiBTdHJpbmc6OmZvcm1hdCgiJTA0
dS0lMDJ1IiwgZGF0ZVRpbWVGaWVsZHNTdGF0ZS55ZWFyKCksIGRhdGVUaW1lRmllbGRzU3RhdGUu
bW9udGgoKSk7Ci19Ci0KLXZvaWQgTW9udGhJbnB1dFR5cGU6OnNldHVwTGF5b3V0UGFyYW1ldGVy
cyhEYXRlVGltZUVkaXRFbGVtZW50OjpMYXlvdXRQYXJhbWV0ZXJzJiBsYXlvdXRQYXJhbWV0ZXJz
LCBjb25zdCBEYXRlQ29tcG9uZW50cyYgZGF0ZSkgY29uc3QKLXsKLSAgICBsYXlvdXRQYXJhbWV0
ZXJzLmRhdGVUaW1lRm9ybWF0ID0gbGF5b3V0UGFyYW1ldGVycy5sb2NhbGUubW9udGhGb3JtYXQo
KTsKLSAgICBsYXlvdXRQYXJhbWV0ZXJzLmZhbGxiYWNrRGF0ZVRpbWVGb3JtYXQgPSAieXl5eS1N
TSI7Ci0gICAgaWYgKCFwYXJzZVRvRGF0ZUNvbXBvbmVudHMoZWxlbWVudCgpLT5mYXN0R2V0QXR0
cmlidXRlKG1pbkF0dHIpLCAmbGF5b3V0UGFyYW1ldGVycy5taW5pbXVtKSkKLSAgICAgICAgbGF5
b3V0UGFyYW1ldGVycy5taW5pbXVtID0gRGF0ZUNvbXBvbmVudHMoKTsKLSAgICBpZiAoIXBhcnNl
VG9EYXRlQ29tcG9uZW50cyhlbGVtZW50KCktPmZhc3RHZXRBdHRyaWJ1dGUobWF4QXR0ciksICZs
YXlvdXRQYXJhbWV0ZXJzLm1heGltdW0pKQotICAgICAgICBsYXlvdXRQYXJhbWV0ZXJzLm1heGlt
dW0gPSBEYXRlQ29tcG9uZW50cygpOwotICAgIGxheW91dFBhcmFtZXRlcnMucGxhY2Vob2xkZXJG
b3JNb250aCA9ICItLSI7Ci0gICAgbGF5b3V0UGFyYW1ldGVycy5wbGFjZWhvbGRlckZvclllYXIg
PSAiLS0tLSI7Ci19Ci0KLWJvb2wgTW9udGhJbnB1dFR5cGU6OmlzVmFsaWRGb3JtYXQoYm9vbCBo
YXNZZWFyLCBib29sIGhhc01vbnRoLCBib29sIGhhc1dlZWssIGJvb2wgaGFzRGF5LCBib29sIGhh
c0FNUE0sIGJvb2wgaGFzSG91ciwgYm9vbCBoYXNNaW51dGUsIGJvb2wgaGFzU2Vjb25kKSBjb25z
dAotewotICAgIHJldHVybiBoYXNZZWFyICYmIGhhc01vbnRoOwotfQotI2VuZGlmCiB9IC8vIG5h
bWVzcGFjZSBXZWJDb3JlCiAKICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRt
bC9Nb250aElucHV0VHlwZS5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9Nb250aElucHV0VHlwZS5o
CmluZGV4IDhmYWU1YmJlN2IwNWI3ZWE1ZGZjYjhhNDM3NDU5MjJkOTY5YWEwYzAuLmVlNTI1OTVj
NTIwMzE3ODU5MTc2MTBiZDMwYTllNWRhN2E2ZThmM2EgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2h0bWwvTW9udGhJbnB1dFR5cGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL01vbnRo
SW5wdXRUeXBlLmgKQEAgLTMzLDE3ICszMywxMCBAQAogCiAjaWYgRU5BQkxFKElOUFVUX1RZUEVf
TU9OVEgpCiAjaW5jbHVkZSAiQmFzZUNob29zZXJPbmx5RGF0ZUFuZFRpbWVJbnB1dFR5cGUuaCIK
LSNpbmNsdWRlICJCYXNlTXVsdGlwbGVGaWVsZHNEYXRlQW5kVGltZUlucHV0VHlwZS5oIgogCiBu
YW1lc3BhY2UgV2ViQ29yZSB7CiAKLSNpZiBFTkFCTEUoSU5QVVRfTVVMVElQTEVfRklFTERTX1VJ
KQotdHlwZWRlZiBCYXNlTXVsdGlwbGVGaWVsZHNEYXRlQW5kVGltZUlucHV0VHlwZSBCYXNlTW9u
dGhJbnB1dFR5cGU7Ci0jZWxzZQotdHlwZWRlZiBCYXNlQ2hvb3Nlck9ubHlEYXRlQW5kVGltZUlu
cHV0VHlwZSBCYXNlTW9udGhJbnB1dFR5cGU7Ci0jZW5kaWYKLQotY2xhc3MgTW9udGhJbnB1dFR5
cGUgOiBwdWJsaWMgQmFzZU1vbnRoSW5wdXRUeXBlIHsKK2NsYXNzIE1vbnRoSW5wdXRUeXBlIDog
cHVibGljIEJhc2VDaG9vc2VyT25seURhdGVBbmRUaW1lSW5wdXRUeXBlIHsKIHB1YmxpYzoKICAg
ICBzdGF0aWMgUGFzc093blB0cjxJbnB1dFR5cGU+IGNyZWF0ZShIVE1MSW5wdXRFbGVtZW50Kik7
CiAKQEAgLTYwLDEzICs1Myw2IEBAIHByaXZhdGU6CiAgICAgdmlydHVhbCBib29sIHBhcnNlVG9E
YXRlQ29tcG9uZW50c0ludGVybmFsKGNvbnN0IFVDaGFyKiwgdW5zaWduZWQgbGVuZ3RoLCBEYXRl
Q29tcG9uZW50cyopIGNvbnN0IE9WRVJSSURFOwogICAgIHZpcnR1YWwgYm9vbCBzZXRNaWxsaXNl
Y29uZFRvRGF0ZUNvbXBvbmVudHMoZG91YmxlLCBEYXRlQ29tcG9uZW50cyopIGNvbnN0IE9WRVJS
SURFOwogICAgIHZpcnR1YWwgYm9vbCBpc01vbnRoRmllbGQoKSBjb25zdCBPVkVSUklERTsKLQot
I2lmIEVOQUJMRShJTlBVVF9NVUxUSVBMRV9GSUVMRFNfVUkpCi0gICAgLy8gQmFzZU11bHRpcGxl
RmllbGRzRGF0ZUFuZFRpbWVJbnB1dFR5cGUgZnVuY3Rpb25zCi0gICAgdmlydHVhbCBTdHJpbmcg
Zm9ybWF0RGF0ZVRpbWVGaWVsZHNTdGF0ZShjb25zdCBEYXRlVGltZUZpZWxkc1N0YXRlJikgY29u
c3QgT1ZFUlJJREUgRklOQUw7Ci0gICAgdmlydHVhbCB2b2lkIHNldHVwTGF5b3V0UGFyYW1ldGVy
cyhEYXRlVGltZUVkaXRFbGVtZW50OjpMYXlvdXRQYXJhbWV0ZXJzJiwgY29uc3QgRGF0ZUNvbXBv
bmVudHMmKSBjb25zdCBPVkVSUklERSBGSU5BTDsKLSAgICB2aXJ0dWFsIGJvb2wgaXNWYWxpZEZv
cm1hdChib29sIGhhc1llYXIsIGJvb2wgaGFzTW9udGgsIGJvb2wgaGFzV2VlaywgYm9vbCBoYXNE
YXksIGJvb2wgaGFzQU1QTSwgYm9vbCBoYXNIb3VyLCBib29sIGhhc01pbnV0ZSwgYm9vbCBoYXNT
ZWNvbmQpIGNvbnN0OwotI2VuZGlmCiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL1RpbWVJbnB1dFR5cGUuY3BwIGIvU291cmNlL1dl
YkNvcmUvaHRtbC9UaW1lSW5wdXRUeXBlLmNwcAppbmRleCAyYjZiYmMwN2NkY2Y3ZGVkMjk1ZWE1
NzU0MjI3ZTdhN2YyYzE5NTIxLi43MWRiOGNhMTA5NzE0ZGNjZDZmZGQ0MzdjN2NmMTFmZDRkNjhl
MWZhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL1RpbWVJbnB1dFR5cGUuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvVGltZUlucHV0VHlwZS5jcHAKQEAgLTQxLDEyICs0MSw2
IEBACiAjaW5jbHVkZSA8d3RmL01hdGhFeHRyYXMuaD4KICNpbmNsdWRlIDx3dGYvUGFzc093blB0
ci5oPgogCi0jaWYgRU5BQkxFKElOUFVUX01VTFRJUExFX0ZJRUxEU19VSSkKLSNpbmNsdWRlICJE
YXRlVGltZUZpZWxkc1N0YXRlLmgiCi0jaW5jbHVkZSAiUGxhdGZvcm1Mb2NhbGUuaCIKLSNpbmNs
dWRlIDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4KLSNlbmRpZgotCiBuYW1lc3BhY2UgV2ViQ29yZSB7
CiAKIHVzaW5nIG5hbWVzcGFjZSBIVE1MTmFtZXM7CkBAIC0xMjQsNTkgKzExOCw2IEBAIGJvb2wg
VGltZUlucHV0VHlwZTo6aXNUaW1lRmllbGQoKSBjb25zdAogICAgIHJldHVybiB0cnVlOwogfQog
Ci0jaWYgRU5BQkxFKElOUFVUX01VTFRJUExFX0ZJRUxEU19VSSkKLQotU3RyaW5nIFRpbWVJbnB1
dFR5cGU6OmxvY2FsaXplVmFsdWUoY29uc3QgU3RyaW5nJiBwcm9wb3NlZFZhbHVlKSBjb25zdAot
ewotICAgIERhdGVDb21wb25lbnRzIGRhdGU7Ci0gICAgaWYgKCFwYXJzZVRvRGF0ZUNvbXBvbmVu
dHMocHJvcG9zZWRWYWx1ZSwgJmRhdGUpKQotICAgICAgICByZXR1cm4gcHJvcG9zZWRWYWx1ZTsK
LQotICAgIExvY2FsZTo6Rm9ybWF0VHlwZSBmb3JtYXRUeXBlID0gc2hvdWxkSGF2ZVNlY29uZEZp
ZWxkKGRhdGUpID8gTG9jYWxlOjpGb3JtYXRUeXBlTWVkaXVtIDogTG9jYWxlOjpGb3JtYXRUeXBl
U2hvcnQ7Ci0KLSAgICBTdHJpbmcgbG9jYWxpemVkID0gZWxlbWVudCgpLT5sb2NhbGUoKS5mb3Jt
YXREYXRlVGltZShkYXRlLCBmb3JtYXRUeXBlKTsKLSAgICByZXR1cm4gbG9jYWxpemVkLmlzRW1w
dHkoKSA/IHByb3Bvc2VkVmFsdWUgOiBsb2NhbGl6ZWQ7Ci19Ci0KLVN0cmluZyBUaW1lSW5wdXRU
eXBlOjpmb3JtYXREYXRlVGltZUZpZWxkc1N0YXRlKGNvbnN0IERhdGVUaW1lRmllbGRzU3RhdGUm
IGRhdGVUaW1lRmllbGRzU3RhdGUpIGNvbnN0Ci17Ci0gICAgaWYgKCFkYXRlVGltZUZpZWxkc1N0
YXRlLmhhc0hvdXIoKSB8fCAhZGF0ZVRpbWVGaWVsZHNTdGF0ZS5oYXNNaW51dGUoKSB8fCAhZGF0
ZVRpbWVGaWVsZHNTdGF0ZS5oYXNBTVBNKCkpCi0gICAgICAgIHJldHVybiBlbXB0eVN0cmluZygp
OwotICAgIGlmIChkYXRlVGltZUZpZWxkc1N0YXRlLmhhc01pbGxpc2Vjb25kKCkgJiYgZGF0ZVRp
bWVGaWVsZHNTdGF0ZS5taWxsaXNlY29uZCgpKQotICAgICAgICByZXR1cm4gU3RyaW5nOjpmb3Jt
YXQoIiUwMnU6JTAydTolMDJ1LiUwM3UiLAotICAgICAgICAgICAgICAgIGRhdGVUaW1lRmllbGRz
U3RhdGUuaG91cjIzKCksCi0gICAgICAgICAgICAgICAgZGF0ZVRpbWVGaWVsZHNTdGF0ZS5taW51
dGUoKSwKLSAgICAgICAgICAgICAgICBkYXRlVGltZUZpZWxkc1N0YXRlLmhhc1NlY29uZCgpID8g
ZGF0ZVRpbWVGaWVsZHNTdGF0ZS5zZWNvbmQoKSA6IDAsCi0gICAgICAgICAgICAgICAgZGF0ZVRp
bWVGaWVsZHNTdGF0ZS5taWxsaXNlY29uZCgpKTsKLSAgICBpZiAoZGF0ZVRpbWVGaWVsZHNTdGF0
ZS5oYXNTZWNvbmQoKSAmJiBkYXRlVGltZUZpZWxkc1N0YXRlLnNlY29uZCgpKQotICAgICAgICBy
ZXR1cm4gU3RyaW5nOjpmb3JtYXQoIiUwMnU6JTAydTolMDJ1IiwKLSAgICAgICAgICAgICAgICBk
YXRlVGltZUZpZWxkc1N0YXRlLmhvdXIyMygpLAotICAgICAgICAgICAgICAgIGRhdGVUaW1lRmll
bGRzU3RhdGUubWludXRlKCksCi0gICAgICAgICAgICAgICAgZGF0ZVRpbWVGaWVsZHNTdGF0ZS5z
ZWNvbmQoKSk7Ci0gICAgcmV0dXJuIFN0cmluZzo6Zm9ybWF0KCIlMDJ1OiUwMnUiLCBkYXRlVGlt
ZUZpZWxkc1N0YXRlLmhvdXIyMygpLCBkYXRlVGltZUZpZWxkc1N0YXRlLm1pbnV0ZSgpKTsKLX0K
LQotdm9pZCBUaW1lSW5wdXRUeXBlOjpzZXR1cExheW91dFBhcmFtZXRlcnMoRGF0ZVRpbWVFZGl0
RWxlbWVudDo6TGF5b3V0UGFyYW1ldGVycyYgbGF5b3V0UGFyYW1ldGVycywgY29uc3QgRGF0ZUNv
bXBvbmVudHMmIGRhdGUpIGNvbnN0Ci17Ci0gICAgaWYgKHNob3VsZEhhdmVTZWNvbmRGaWVsZChk
YXRlKSkgewotICAgICAgICBsYXlvdXRQYXJhbWV0ZXJzLmRhdGVUaW1lRm9ybWF0ID0gbGF5b3V0
UGFyYW1ldGVycy5sb2NhbGUudGltZUZvcm1hdCgpOwotICAgICAgICBsYXlvdXRQYXJhbWV0ZXJz
LmZhbGxiYWNrRGF0ZVRpbWVGb3JtYXQgPSAiSEg6bW06c3MiOwotICAgIH0gZWxzZSB7Ci0gICAg
ICAgIGxheW91dFBhcmFtZXRlcnMuZGF0ZVRpbWVGb3JtYXQgPSBsYXlvdXRQYXJhbWV0ZXJzLmxv
Y2FsZS5zaG9ydFRpbWVGb3JtYXQoKTsKLSAgICAgICAgbGF5b3V0UGFyYW1ldGVycy5mYWxsYmFj
a0RhdGVUaW1lRm9ybWF0ID0gIkhIOm1tIjsKLSAgICB9Ci0gICAgaWYgKCFwYXJzZVRvRGF0ZUNv
bXBvbmVudHMoZWxlbWVudCgpLT5mYXN0R2V0QXR0cmlidXRlKG1pbkF0dHIpLCAmbGF5b3V0UGFy
YW1ldGVycy5taW5pbXVtKSkKLSAgICAgICAgbGF5b3V0UGFyYW1ldGVycy5taW5pbXVtID0gRGF0
ZUNvbXBvbmVudHMoKTsKLSAgICBpZiAoIXBhcnNlVG9EYXRlQ29tcG9uZW50cyhlbGVtZW50KCkt
PmZhc3RHZXRBdHRyaWJ1dGUobWF4QXR0ciksICZsYXlvdXRQYXJhbWV0ZXJzLm1heGltdW0pKQot
ICAgICAgICBsYXlvdXRQYXJhbWV0ZXJzLm1heGltdW0gPSBEYXRlQ29tcG9uZW50cygpOwotfQot
Ci1ib29sIFRpbWVJbnB1dFR5cGU6OmlzVmFsaWRGb3JtYXQoYm9vbCBoYXNZZWFyLCBib29sIGhh
c01vbnRoLCBib29sIGhhc1dlZWssIGJvb2wgaGFzRGF5LCBib29sIGhhc0FNUE0sIGJvb2wgaGFz
SG91ciwgYm9vbCBoYXNNaW51dGUsIGJvb2wgaGFzU2Vjb25kKSBjb25zdAotewotICAgIHJldHVy
biBoYXNIb3VyICYmIGhhc01pbnV0ZSAmJiBoYXNBTVBNOwotfQotI2VuZGlmCi0KIH0gLy8gbmFt
ZXNwYWNlIFdlYkNvcmUKIAogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1s
L1RpbWVJbnB1dFR5cGUuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvVGltZUlucHV0VHlwZS5oCmlu
ZGV4IDE2ZjUxOWU3ZDM5M2M3Mjk5NThjYzg0MTU3MDUyYmQ1ZGM5M2YyMWEuLjBiNTZkOTM1NzM3
MTEwNDk1N2RjNGE5NmJhNjczYTFlNzFjNzE4NjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2h0bWwvVGltZUlucHV0VHlwZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvVGltZUlucHV0
VHlwZS5oCkBAIC0zMywxNyArMzMsMTAgQEAKIAogI2lmIEVOQUJMRShJTlBVVF9UWVBFX1RJTUUp
CiAjaW5jbHVkZSAiQmFzZUNob29zZXJPbmx5RGF0ZUFuZFRpbWVJbnB1dFR5cGUuaCIKLSNpbmNs
dWRlICJCYXNlTXVsdGlwbGVGaWVsZHNEYXRlQW5kVGltZUlucHV0VHlwZS5oIgogCiBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CiAKLSNpZiBFTkFCTEUoSU5QVVRfTVVMVElQTEVfRklFTERTX1VJKQotdHlw
ZWRlZiBCYXNlTXVsdGlwbGVGaWVsZHNEYXRlQW5kVGltZUlucHV0VHlwZSBCYXNlVGltZUlucHV0
VHlwZTsKLSNlbHNlCi10eXBlZGVmIEJhc2VDaG9vc2VyT25seURhdGVBbmRUaW1lSW5wdXRUeXBl
IEJhc2VUaW1lSW5wdXRUeXBlOwotI2VuZGlmCi0KLWNsYXNzIFRpbWVJbnB1dFR5cGUgOiBwdWJs
aWMgQmFzZVRpbWVJbnB1dFR5cGUgeworY2xhc3MgVGltZUlucHV0VHlwZSA6IHB1YmxpYyBCYXNl
Q2hvb3Nlck9ubHlEYXRlQW5kVGltZUlucHV0VHlwZSB7CiBwdWJsaWM6CiAgICAgc3RhdGljIFBh
c3NPd25QdHI8SW5wdXRUeXBlPiBjcmVhdGUoSFRNTElucHV0RWxlbWVudCopOwogCkBAIC01Nywx
NCArNTAsNiBAQCBwcml2YXRlOgogICAgIHZpcnR1YWwgYm9vbCBwYXJzZVRvRGF0ZUNvbXBvbmVu
dHNJbnRlcm5hbChjb25zdCBVQ2hhciosIHVuc2lnbmVkIGxlbmd0aCwgRGF0ZUNvbXBvbmVudHMq
KSBjb25zdCBPVkVSUklERTsKICAgICB2aXJ0dWFsIGJvb2wgc2V0TWlsbGlzZWNvbmRUb0RhdGVD
b21wb25lbnRzKGRvdWJsZSwgRGF0ZUNvbXBvbmVudHMqKSBjb25zdCBPVkVSUklERTsKICAgICB2
aXJ0dWFsIGJvb2wgaXNUaW1lRmllbGQoKSBjb25zdCBPVkVSUklERTsKLSNpZiBFTkFCTEUoSU5Q
VVRfTVVMVElQTEVfRklFTERTX1VJKQotICAgIHZpcnR1YWwgU3RyaW5nIGxvY2FsaXplVmFsdWUo
Y29uc3QgU3RyaW5nJikgY29uc3QgT1ZFUlJJREU7Ci0KLSAgICAvLyBCYXNlTXVsdGlwbGVGaWVs
ZHNEYXRlQW5kVGltZUlucHV0VHlwZSBmdW5jdGlvbnMKLSAgICB2aXJ0dWFsIFN0cmluZyBmb3Jt
YXREYXRlVGltZUZpZWxkc1N0YXRlKGNvbnN0IERhdGVUaW1lRmllbGRzU3RhdGUmKSBjb25zdCBP
VkVSUklERSBGSU5BTDsKLSAgICB2aXJ0dWFsIHZvaWQgc2V0dXBMYXlvdXRQYXJhbWV0ZXJzKERh
dGVUaW1lRWRpdEVsZW1lbnQ6OkxheW91dFBhcmFtZXRlcnMmLCBjb25zdCBEYXRlQ29tcG9uZW50
cyYpIGNvbnN0IE9WRVJSSURFIEZJTkFMOwotICAgIHZpcnR1YWwgYm9vbCBpc1ZhbGlkRm9ybWF0
KGJvb2wgaGFzWWVhciwgYm9vbCBoYXNNb250aCwgYm9vbCBoYXNXZWVrLCBib29sIGhhc0RheSwg
Ym9vbCBoYXNBTVBNLCBib29sIGhhc0hvdXIsIGJvb2wgaGFzTWludXRlLCBib29sIGhhc1NlY29u
ZCkgY29uc3Q7Ci0jZW5kaWYKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvV2Vla0lucHV0VHlwZS5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9odG1sL1dlZWtJbnB1dFR5cGUuY3BwCmluZGV4IGFkOGI4ZDUzZmI4ZmZlYjAwOGE5ZWZjMDM0
MDA4MmU4NzdjMDc5ZGQuLmJmNDc5NTk1ODQ4ZjJjODNhZWQxZWQ1OGE4ZDViZWUyNmYwZmM5MDQg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvV2Vla0lucHV0VHlwZS5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvaHRtbC9XZWVrSW5wdXRUeXBlLmNwcApAQCAtMzgsMTIgKzM4LDYgQEAK
ICNpbmNsdWRlICJJbnB1dFR5cGVOYW1lcy5oIgogI2luY2x1ZGUgPHd0Zi9QYXNzT3duUHRyLmg+
CiAKLSNpZiBFTkFCTEUoSU5QVVRfTVVMVElQTEVfRklFTERTX1VJKQotI2luY2x1ZGUgIkRhdGVU
aW1lRmllbGRzU3RhdGUuaCIKLSNpbmNsdWRlICJMb2NhbGl6ZWRTdHJpbmdzLmgiCi0jaW5jbHVk
ZSA8d3RmL3RleHQvV1RGU3RyaW5nLmg+Ci0jZW5kaWYKLQogbmFtZXNwYWNlIFdlYkNvcmUgewog
CiB1c2luZyBuYW1lc3BhY2UgSFRNTE5hbWVzOwpAQCAtMTAxLDMyICs5NSw2IEBAIGJvb2wgV2Vl
a0lucHV0VHlwZTo6aXNXZWVrRmllbGQoKSBjb25zdAogICAgIHJldHVybiB0cnVlOwogfQogCi0K
LSNpZiBFTkFCTEUoSU5QVVRfTVVMVElQTEVfRklFTERTX1VJKQotU3RyaW5nIFdlZWtJbnB1dFR5
cGU6OmZvcm1hdERhdGVUaW1lRmllbGRzU3RhdGUoY29uc3QgRGF0ZVRpbWVGaWVsZHNTdGF0ZSYg
ZGF0ZVRpbWVGaWVsZHNTdGF0ZSkgY29uc3QKLXsKLSAgICBpZiAoIWRhdGVUaW1lRmllbGRzU3Rh
dGUuaGFzWWVhcigpIHx8ICFkYXRlVGltZUZpZWxkc1N0YXRlLmhhc1dlZWtPZlllYXIoKSkKLSAg
ICAgICAgcmV0dXJuIGVtcHR5U3RyaW5nKCk7Ci0gICAgcmV0dXJuIFN0cmluZzo6Zm9ybWF0KCIl
MDR1LVclMDJ1IiwgZGF0ZVRpbWVGaWVsZHNTdGF0ZS55ZWFyKCksIGRhdGVUaW1lRmllbGRzU3Rh
dGUud2Vla09mWWVhcigpKTsKLX0KLQotdm9pZCBXZWVrSW5wdXRUeXBlOjpzZXR1cExheW91dFBh
cmFtZXRlcnMoRGF0ZVRpbWVFZGl0RWxlbWVudDo6TGF5b3V0UGFyYW1ldGVycyYgbGF5b3V0UGFy
YW1ldGVycywgY29uc3QgRGF0ZUNvbXBvbmVudHMmKSBjb25zdAotewotICAgIGxheW91dFBhcmFt
ZXRlcnMuZGF0ZVRpbWVGb3JtYXQgPSB3ZWVrRm9ybWF0SW5MRE1MKCk7Ci0gICAgbGF5b3V0UGFy
YW1ldGVycy5mYWxsYmFja0RhdGVUaW1lRm9ybWF0ID0gInl5eXktJ1cnd3ciOwotICAgIGlmICgh
cGFyc2VUb0RhdGVDb21wb25lbnRzKGVsZW1lbnQoKS0+ZmFzdEdldEF0dHJpYnV0ZShtaW5BdHRy
KSwgJmxheW91dFBhcmFtZXRlcnMubWluaW11bSkpCi0gICAgICAgIGxheW91dFBhcmFtZXRlcnMu
bWluaW11bSA9IERhdGVDb21wb25lbnRzKCk7Ci0gICAgaWYgKCFwYXJzZVRvRGF0ZUNvbXBvbmVu
dHMoZWxlbWVudCgpLT5mYXN0R2V0QXR0cmlidXRlKG1heEF0dHIpLCAmbGF5b3V0UGFyYW1ldGVy
cy5tYXhpbXVtKSkKLSAgICAgICAgbGF5b3V0UGFyYW1ldGVycy5tYXhpbXVtID0gRGF0ZUNvbXBv
bmVudHMoKTsKLSAgICBsYXlvdXRQYXJhbWV0ZXJzLnBsYWNlaG9sZGVyRm9yWWVhciA9ICItLS0t
IjsKLX0KLQotYm9vbCBXZWVrSW5wdXRUeXBlOjppc1ZhbGlkRm9ybWF0KGJvb2wgaGFzWWVhciwg
Ym9vbCBoYXNNb250aCwgYm9vbCBoYXNXZWVrLCBib29sIGhhc0RheSwgYm9vbCBoYXNBTVBNLCBi
b29sIGhhc0hvdXIsIGJvb2wgaGFzTWludXRlLCBib29sIGhhc1NlY29uZCkgY29uc3QKLXsKLSAg
ICByZXR1cm4gaGFzWWVhciAmJiBoYXNXZWVrOwotfQotI2VuZGlmCi0KIH0gLy8gbmFtZXNwYWNl
IFdlYkNvcmUKIAogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL1dlZWtJ
bnB1dFR5cGUuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvV2Vla0lucHV0VHlwZS5oCmluZGV4IDg5
ZTc0M2QyOGY2OTc3MzhmODMxMWQzNzY0YmQxNGI5ZTg1MDMxOTAuLjk1NDUxOGQ2ZjZkMmQ1NDI4
MTIxYzFmNjZjMjQ4MTJhYTAyZDcyNjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwv
V2Vla0lucHV0VHlwZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvV2Vla0lucHV0VHlwZS5o
CkBAIC0zMywxNyArMzMsMTAgQEAKIAogI2lmIEVOQUJMRShJTlBVVF9UWVBFX1dFRUspCiAjaW5j
bHVkZSAiQmFzZUNob29zZXJPbmx5RGF0ZUFuZFRpbWVJbnB1dFR5cGUuaCIKLSNpbmNsdWRlICJC
YXNlTXVsdGlwbGVGaWVsZHNEYXRlQW5kVGltZUlucHV0VHlwZS5oIgogCiBuYW1lc3BhY2UgV2Vi
Q29yZSB7CiAKLSNpZiBFTkFCTEUoSU5QVVRfTVVMVElQTEVfRklFTERTX1VJKQotdHlwZWRlZiBC
YXNlTXVsdGlwbGVGaWVsZHNEYXRlQW5kVGltZUlucHV0VHlwZSBCYXNlV2Vla0lucHV0VHlwZTsK
LSNlbHNlCi10eXBlZGVmIEJhc2VDaG9vc2VyT25seURhdGVBbmRUaW1lSW5wdXRUeXBlIEJhc2VX
ZWVrSW5wdXRUeXBlOwotI2VuZGlmCi0KLWNsYXNzIFdlZWtJbnB1dFR5cGUgOiBwdWJsaWMgQmFz
ZVdlZWtJbnB1dFR5cGUgeworY2xhc3MgV2Vla0lucHV0VHlwZSA6IHB1YmxpYyBCYXNlQ2hvb3Nl
ck9ubHlEYXRlQW5kVGltZUlucHV0VHlwZSB7CiBwdWJsaWM6CiAgICAgc3RhdGljIFBhc3NPd25Q
dHI8SW5wdXRUeXBlPiBjcmVhdGUoSFRNTElucHV0RWxlbWVudCopOwogCkBAIC01NiwxMyArNDks
NiBAQCBwcml2YXRlOgogICAgIHZpcnR1YWwgYm9vbCBwYXJzZVRvRGF0ZUNvbXBvbmVudHNJbnRl
cm5hbChjb25zdCBVQ2hhciosIHVuc2lnbmVkIGxlbmd0aCwgRGF0ZUNvbXBvbmVudHMqKSBjb25z
dCBPVkVSUklERTsKICAgICB2aXJ0dWFsIGJvb2wgc2V0TWlsbGlzZWNvbmRUb0RhdGVDb21wb25l
bnRzKGRvdWJsZSwgRGF0ZUNvbXBvbmVudHMqKSBjb25zdCBPVkVSUklERTsKICAgICB2aXJ0dWFs
IGJvb2wgaXNXZWVrRmllbGQoKSBjb25zdCBPVkVSUklERTsKLQotI2lmIEVOQUJMRShJTlBVVF9N
VUxUSVBMRV9GSUVMRFNfVUkpCi0gICAgLy8gQmFzZU11bHRpcGxlRmllbGRzRGF0ZUFuZFRpbWVJ
bnB1dFR5cGUgZnVuY3Rpb25zCi0gICAgdmlydHVhbCBTdHJpbmcgZm9ybWF0RGF0ZVRpbWVGaWVs
ZHNTdGF0ZShjb25zdCBEYXRlVGltZUZpZWxkc1N0YXRlJikgY29uc3QgT1ZFUlJJREUgRklOQUw7
Ci0gICAgdmlydHVhbCB2b2lkIHNldHVwTGF5b3V0UGFyYW1ldGVycyhEYXRlVGltZUVkaXRFbGVt
ZW50OjpMYXlvdXRQYXJhbWV0ZXJzJiwgY29uc3QgRGF0ZUNvbXBvbmVudHMmKSBjb25zdCBPVkVS
UklERSBGSU5BTDsKLSAgICB2aXJ0dWFsIGJvb2wgaXNWYWxpZEZvcm1hdChib29sIGhhc1llYXIs
IGJvb2wgaGFzTW9udGgsIGJvb2wgaGFzV2VlaywgYm9vbCBoYXNEYXksIGJvb2wgaGFzQU1QTSwg
Ym9vbCBoYXNIb3VyLCBib29sIGhhc01pbnV0ZSwgYm9vbCBoYXNTZWNvbmQpIGNvbnN0OwotI2Vu
ZGlmCiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9odG1sL3NoYWRvdy9DbGVhckJ1dHRvbkVsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUv
aHRtbC9zaGFkb3cvQ2xlYXJCdXR0b25FbGVtZW50LmNwcApkZWxldGVkIGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggYjkxZGFhOGIzNWYyOTNiZDU5Y2M0MjAyNzQ3OWE5M2IwMWZlODlhOS4uMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9o
dG1sL3NoYWRvdy9DbGVhckJ1dHRvbkVsZW1lbnQuY3BwCisrKyAvZGV2L251bGwKQEAgLTEsMTEy
ICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTMgR29vZ2xlIEluYy4gQWxsIHJpZ2h0
cyByZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQg
YmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1p
dHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotICogYXJlIG1ldDoK
LSAqIDEuICBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFi
b3ZlIGNvcHlyaWdodAotICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqIDIuICBSZWRpc3RyaWJ1dGlvbnMgaW4gYmlu
YXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgIG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBp
biB0aGUKLSAqICAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlk
ZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklE
RUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycgQU5ECi0gKiBB
TlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLCBUSEUKLSAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5E
IEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFCi0gKiBBUkUgRElTQ0xBSU1FRC4gSU4g
Tk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQot
ICogRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExB
UlksIE9SIENPTlNFUVVFTlRJQUwKLSAqIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SCi0gKiBTRVJWSUNFUzsg
TE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikg
SE9XRVZFUgotICogQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhF
UiBJTiBDT05UUkFDVCwgU1RSSUNUCi0gKiBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBO
RUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZCi0gKiBPVVQgT0YgVEhF
IFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZ
IE9GCi0gKiBTVUNIIERBTUFHRS4KLSAqLwotCi0jaW5jbHVkZSAiY29uZmlnLmgiCi0jaW5jbHVk
ZSAiQ2xlYXJCdXR0b25FbGVtZW50LmgiCi0KLSNpbmNsdWRlICJFdmVudEhhbmRsZXIuaCIKLSNp
bmNsdWRlICJGcmFtZS5oIgotI2luY2x1ZGUgIk1vdXNlRXZlbnQuaCIKLSNpbmNsdWRlICJSZW5k
ZXJWaWV3LmgiCi0KLW5hbWVzcGFjZSBXZWJDb3JlIHsKLQotdXNpbmcgbmFtZXNwYWNlIEhUTUxO
YW1lczsKLQotaW5saW5lIENsZWFyQnV0dG9uRWxlbWVudDo6Q2xlYXJCdXR0b25FbGVtZW50KERv
Y3VtZW50KiBkb2N1bWVudCwgQ2xlYXJCdXR0b25Pd25lciYgY2xlYXJCdXR0b25Pd25lcikKLSAg
ICA6IEhUTUxEaXZFbGVtZW50KGRpdlRhZywgZG9jdW1lbnQpCi0gICAgLCBtX2NsZWFyQnV0dG9u
T3duZXIoJmNsZWFyQnV0dG9uT3duZXIpCi0gICAgLCBtX2NhcHR1cmluZyhmYWxzZSkKLXsKLSAg
ICBzZXRQc2V1ZG8oQXRvbWljU3RyaW5nKCItd2Via2l0LWNsZWFyLWJ1dHRvbiIsIEF0b21pY1N0
cmluZzo6Q29uc3RydWN0RnJvbUxpdGVyYWwpKTsKLX0KLQotUGFzc1JlZlB0cjxDbGVhckJ1dHRv
bkVsZW1lbnQ+IENsZWFyQnV0dG9uRWxlbWVudDo6Y3JlYXRlKERvY3VtZW50KiBkb2N1bWVudCwg
Q2xlYXJCdXR0b25Pd25lciYgY2xlYXJCdXR0b25Pd25lcikKLXsKLSAgICByZXR1cm4gYWRvcHRS
ZWYobmV3IENsZWFyQnV0dG9uRWxlbWVudChkb2N1bWVudCwgY2xlYXJCdXR0b25Pd25lcikpOwot
fQotCi12b2lkIENsZWFyQnV0dG9uRWxlbWVudDo6ZGV0YWNoKCkKLXsKLSAgICBpZiAobV9jYXB0
dXJpbmcpIHsKLSAgICAgICAgaWYgKEZyYW1lKiBmcmFtZSA9IGRvY3VtZW50KCktPmZyYW1lKCkp
Ci0gICAgICAgICAgICBmcmFtZS0+ZXZlbnRIYW5kbGVyKCktPnNldENhcHR1cmluZ01vdXNlRXZl
bnRzTm9kZSgwKTsKLSAgICB9Ci0gICAgSFRNTERpdkVsZW1lbnQ6OmRldGFjaCgpOwotfQotCi12
b2lkIENsZWFyQnV0dG9uRWxlbWVudDo6cmVsZWFzZUNhcHR1cmUoKQotewotICAgIGlmICghbV9j
YXB0dXJpbmcpCi0gICAgICAgIHJldHVybjsKLQotICAgIGlmIChGcmFtZSogZnJhbWUgPSBkb2N1
bWVudCgpLT5mcmFtZSgpKSB7Ci0gICAgICAgIGZyYW1lLT5ldmVudEhhbmRsZXIoKS0+c2V0Q2Fw
dHVyaW5nTW91c2VFdmVudHNOb2RlKDApOwotICAgICAgICBtX2NhcHR1cmluZyA9IGZhbHNlOwot
ICAgIH0KLX0KLQotdm9pZCBDbGVhckJ1dHRvbkVsZW1lbnQ6OmRlZmF1bHRFdmVudEhhbmRsZXIo
RXZlbnQqIGV2ZW50KQotewotICAgIGlmICghbV9jbGVhckJ1dHRvbk93bmVyKSB7Ci0gICAgICAg
IGlmICghZXZlbnQtPmRlZmF1bHRIYW5kbGVkKCkpCi0gICAgICAgICAgICBIVE1MRGl2RWxlbWVu
dDo6ZGVmYXVsdEV2ZW50SGFuZGxlcihldmVudCk7Ci0gICAgICAgIHJldHVybjsKLSAgICB9Ci0K
LSAgICBpZiAoIW1fY2xlYXJCdXR0b25Pd25lci0+c2hvdWxkQ2xlYXJCdXR0b25SZXNwb25kVG9N
b3VzZUV2ZW50cygpKSB7Ci0gICAgICAgIGlmICghZXZlbnQtPmRlZmF1bHRIYW5kbGVkKCkpCi0g
ICAgICAgICAgICBIVE1MRGl2RWxlbWVudDo6ZGVmYXVsdEV2ZW50SGFuZGxlcihldmVudCk7Ci0g
ICAgICAgIHJldHVybjsKLSAgICB9Ci0KLSAgICBpZiAoZXZlbnQtPnR5cGUoKSA9PSBldmVudE5h
bWVzKCkubW91c2Vkb3duRXZlbnQgJiYgZXZlbnQtPmlzTW91c2VFdmVudCgpICYmIHN0YXRpY19j
YXN0PE1vdXNlRXZlbnQqPihldmVudCktPmJ1dHRvbigpID09IExlZnRCdXR0b24pIHsKLSAgICAg
ICAgaWYgKHJlbmRlcmVyKCkgJiYgcmVuZGVyZXIoKS0+dmlzaWJsZVRvSGl0VGVzdGluZygpKSB7
Ci0gICAgICAgICAgICBpZiAoRnJhbWUqIGZyYW1lID0gZG9jdW1lbnQoKS0+ZnJhbWUoKSkgewot
ICAgICAgICAgICAgICAgIGZyYW1lLT5ldmVudEhhbmRsZXIoKS0+c2V0Q2FwdHVyaW5nTW91c2VF
dmVudHNOb2RlKHRoaXMpOwotICAgICAgICAgICAgICAgIG1fY2FwdHVyaW5nID0gdHJ1ZTsKLSAg
ICAgICAgICAgIH0KLSAgICAgICAgfQotICAgICAgICBtX2NsZWFyQnV0dG9uT3duZXItPmZvY3Vz
QW5kU2VsZWN0Q2xlYXJCdXR0b25Pd25lcigpOwotICAgICAgICBldmVudC0+c2V0RGVmYXVsdEhh
bmRsZWQoKTsKLSAgICB9Ci0gICAgaWYgKGV2ZW50LT50eXBlKCkgPT0gZXZlbnROYW1lcygpLm1v
dXNldXBFdmVudCAmJiBldmVudC0+aXNNb3VzZUV2ZW50KCkgJiYgc3RhdGljX2Nhc3Q8TW91c2VF
dmVudCo+KGV2ZW50KS0+YnV0dG9uKCkgPT0gTGVmdEJ1dHRvbikgewotICAgICAgICBpZiAobV9j
YXB0dXJpbmcpIHsKLSAgICAgICAgICAgIGlmIChGcmFtZSogZnJhbWUgPSBkb2N1bWVudCgpLT5m
cmFtZSgpKSB7Ci0gICAgICAgICAgICAgICAgZnJhbWUtPmV2ZW50SGFuZGxlcigpLT5zZXRDYXB0
dXJpbmdNb3VzZUV2ZW50c05vZGUoMCk7Ci0gICAgICAgICAgICAgICAgbV9jYXB0dXJpbmcgPSBm
YWxzZTsKLSAgICAgICAgICAgIH0KLSAgICAgICAgICAgIGlmIChob3ZlcmVkKCkpIHsKLSAgICAg
ICAgICAgICAgICBtX2NsZWFyQnV0dG9uT3duZXItPmNsZWFyVmFsdWUoKTsKLSAgICAgICAgICAg
ICAgICBldmVudC0+c2V0RGVmYXVsdEhhbmRsZWQoKTsKLSAgICAgICAgICAgIH0KLSAgICAgICAg
fQotICAgIH0KLQotICAgIGlmICghZXZlbnQtPmRlZmF1bHRIYW5kbGVkKCkpCi0gICAgICAgIEhU
TUxEaXZFbGVtZW50OjpkZWZhdWx0RXZlbnRIYW5kbGVyKGV2ZW50KTsKLX0KLQotfQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvQ2xlYXJCdXR0b25FbGVtZW50LmggYi9T
b3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9DbGVhckJ1dHRvbkVsZW1lbnQuaApkZWxldGVkIGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMGY5NDBhNTk4NjI5ZWRmMTZlZTQ5MDMzZTQyOTFkYjJjZTU4
YmQyMy4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL3NoYWRvdy9DbGVhckJ1dHRvbkVsZW1lbnQuaAorKysgL2Rldi9udWxs
CkBAIC0xLDYwICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTMgR29vZ2xlIEluYy4g
QWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNv
dXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwg
YXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotICog
YXJlIG1ldDoKLSAqIDEuICBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRh
aW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqIDIuICBSZWRpc3RyaWJ1dGlv
bnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotICog
ICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lciBpbiB0aGUKLSAqICAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlh
bHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUg
SVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycg
QU5ECi0gKiBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVU
IE5PVCBMSU1JVEVEIFRPLCBUSEUKLSAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFC
SUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFCi0gKiBBUkUgRElTQ0xB
SU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTIEJF
IExJQUJMRQotICogRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFM
LCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwKLSAqIERBTUFHRVMgKElOQ0xVRElORywgQlVU
IE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SCi0gKiBT
RVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVS
UlVQVElPTikgSE9XRVZFUgotICogQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElU
WSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUCi0gKiBMSUFCSUxJVFksIE9SIFRPUlQgKElO
Q0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZCi0gKiBP
VVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBP
U1NJQklMSVRZIE9GCi0gKiBTVUNIIERBTUFHRS4KLSAqLwotCi0jaWZuZGVmIENsZWFyQnV0dG9u
RWxlbWVudF9oCi0jZGVmaW5lIENsZWFyQnV0dG9uRWxlbWVudF9oCi0KLSNpbmNsdWRlICJIVE1M
RGl2RWxlbWVudC5oIgotI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+Ci0KLW5hbWVzcGFjZSBXZWJD
b3JlIHsKLQotY2xhc3MgQ2xlYXJCdXR0b25FbGVtZW50IEZJTkFMIDogcHVibGljIEhUTUxEaXZF
bGVtZW50IHsKLXB1YmxpYzoKLSAgICBjbGFzcyBDbGVhckJ1dHRvbk93bmVyIHsKLSAgICBwdWJs
aWM6Ci0gICAgICAgIHZpcnR1YWwgfkNsZWFyQnV0dG9uT3duZXIoKSB7IH0KLSAgICAgICAgdmly
dHVhbCB2b2lkIGZvY3VzQW5kU2VsZWN0Q2xlYXJCdXR0b25Pd25lcigpID0gMDsKLSAgICAgICAg
dmlydHVhbCBib29sIHNob3VsZENsZWFyQnV0dG9uUmVzcG9uZFRvTW91c2VFdmVudHMoKSA9IDA7
Ci0gICAgICAgIHZpcnR1YWwgdm9pZCBjbGVhclZhbHVlKCkgPSAwOwotICAgIH07Ci0KLSAgICBz
dGF0aWMgUGFzc1JlZlB0cjxDbGVhckJ1dHRvbkVsZW1lbnQ+IGNyZWF0ZShEb2N1bWVudCosIENs
ZWFyQnV0dG9uT3duZXImKTsKLSAgICB2b2lkIHJlbGVhc2VDYXB0dXJlKCk7Ci0gICAgdm9pZCBy
ZW1vdmVDbGVhckJ1dHRvbk93bmVyKCkgeyBtX2NsZWFyQnV0dG9uT3duZXIgPSAwOyB9Ci0KLXBy
aXZhdGU6Ci0gICAgQ2xlYXJCdXR0b25FbGVtZW50KERvY3VtZW50KiwgQ2xlYXJCdXR0b25Pd25l
ciYpOwotICAgIHZpcnR1YWwgdm9pZCBkZXRhY2goKTsKLSAgICB2aXJ0dWFsIGJvb2wgaXNNb3Vz
ZUZvY3VzYWJsZSgpIGNvbnN0IE9WRVJSSURFIHsgcmV0dXJuIGZhbHNlOyB9Ci0gICAgdmlydHVh
bCB2b2lkIGRlZmF1bHRFdmVudEhhbmRsZXIoRXZlbnQqKTsKLQotICAgIENsZWFyQnV0dG9uT3du
ZXIqIG1fY2xlYXJCdXR0b25Pd25lcjsKLSAgICBib29sIG1fY2FwdHVyaW5nOwotfTsKLQotfSAv
LyBuYW1lc3BhY2UKLQotI2VuZGlmIC8vIENsZWFyQnV0dG9uRWxlbWVudF9oCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9EYXRlVGltZUVkaXRFbGVtZW50LmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L0RhdGVUaW1lRWRpdEVsZW1lbnQuY3BwCmRlbGV0ZWQg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAyYmU2ZWExNThhZjE1ODlmNTMyY2QxYmZhMWIwNjU2NmRh
Y2ZhM2MzLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L0RhdGVUaW1lRWRpdEVsZW1lbnQuY3BwCisrKyAvZGV2
L251bGwKQEAgLTEsNzk4ICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTIgR29vZ2xl
IEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNl
IGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNh
dGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9u
cwotICogYXJlIG1ldDoKLSAqIDEuICBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVz
dCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqIDIuICBSZWRpc3Ry
aWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdo
dAotICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lciBpbiB0aGUKLSAqICAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBt
YXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotICoKLSAqIFRISVMgU09G
VFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFT
IElTJycgQU5ECi0gKiBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKLSAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJD
SEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFCi0gKiBBUkUg
RElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVU
T1JTIEJFIExJQUJMRQotICogRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBT
UEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwKLSAqIERBTUFHRVMgKElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9S
Ci0gKiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNT
IElOVEVSUlVQVElPTikgSE9XRVZFUgotICogQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJ
QUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUCi0gKiBMSUFCSUxJVFksIE9SIFRP
UlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZ
Ci0gKiBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0Yg
VEhFIFBPU1NJQklMSVRZIE9GCi0gKiBTVUNIIERBTUFHRS4KLSAqLwotCi0jaW5jbHVkZSAiY29u
ZmlnLmgiCi0jaWYgRU5BQkxFKElOUFVUX01VTFRJUExFX0ZJRUxEU19VSSkKLSNpbmNsdWRlICJE
YXRlVGltZUVkaXRFbGVtZW50LmgiCi0KLSNpbmNsdWRlICJEYXRlQ29tcG9uZW50cy5oIgotI2lu
Y2x1ZGUgIkRhdGVUaW1lRmllbGRFbGVtZW50cy5oIgotI2luY2x1ZGUgIkRhdGVUaW1lRmllbGRz
U3RhdGUuaCIKLSNpbmNsdWRlICJEYXRlVGltZUZvcm1hdC5oIgotI2luY2x1ZGUgIkRhdGVUaW1l
U3ltYm9saWNGaWVsZEVsZW1lbnQuaCIKLSNpbmNsdWRlICJFdmVudEhhbmRsZXIuaCIKLSNpbmNs
dWRlICJGb250Q2FjaGUuaCIKLSNpbmNsdWRlICJIVE1MTmFtZXMuaCIKLSNpbmNsdWRlICJLZXli
b2FyZEV2ZW50LmgiCi0jaW5jbHVkZSAiTW91c2VFdmVudC5oIgotI2luY2x1ZGUgIlBsYXRmb3Jt
TG9jYWxlLmgiCi0jaW5jbHVkZSAiUmVuZGVyU3R5bGUuaCIKLSNpbmNsdWRlICJTdHlsZVJlc29s
dmVyLmgiCi0jaW5jbHVkZSAiVGV4dC5oIgotI2luY2x1ZGUgPHd0Zi9EYXRlTWF0aC5oPgotI2lu
Y2x1ZGUgPHd0Zi90ZXh0L1N0cmluZ0J1aWxkZXIuaD4KLQotbmFtZXNwYWNlIFdlYkNvcmUgewot
Ci11c2luZyBuYW1lc3BhY2UgSFRNTE5hbWVzOwotdXNpbmcgbmFtZXNwYWNlIFdURjo6VW5pY29k
ZTsKLQotY2xhc3MgRGF0ZVRpbWVFZGl0QnVpbGRlciA6IHByaXZhdGUgRGF0ZVRpbWVGb3JtYXQ6
OlRva2VuSGFuZGxlciB7Ci0gICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoRGF0ZVRpbWVFZGl0QnVp
bGRlcik7Ci0KLXB1YmxpYzoKLSAgICAvLyBUaGUgYXJndW1lbnQgb2JqZWN0cyBtdXN0IGJlIGFs
aXZlIHVudGlsIHRoaXMgb2JqZWN0IGRpZXMuCi0gICAgRGF0ZVRpbWVFZGl0QnVpbGRlcihEYXRl
VGltZUVkaXRFbGVtZW50JiwgY29uc3QgRGF0ZVRpbWVFZGl0RWxlbWVudDo6TGF5b3V0UGFyYW1l
dGVycyYsIGNvbnN0IERhdGVDb21wb25lbnRzJik7Ci0KLSAgICBib29sIGJ1aWxkKGNvbnN0IFN0
cmluZyYpOwotCi1wcml2YXRlOgotICAgIGJvb2wgbmVlZE1pbGxpc2Vjb25kRmllbGQoKSBjb25z
dDsKLSAgICBib29sIHNob3VsZEFNUE1GaWVsZERpc2FibGVkKCkgY29uc3Q7Ci0gICAgYm9vbCBz
aG91bGREYXlPZk1vbnRoRmllbGREaXNhYmxlZCgpIGNvbnN0OwotICAgIGJvb2wgc2hvdWxkSG91
ckZpZWxkRGlzYWJsZWQoKSBjb25zdDsKLSAgICBib29sIHNob3VsZE1pbGxpc2Vjb25kRmllbGRE
aXNhYmxlZCgpIGNvbnN0OwotICAgIGJvb2wgc2hvdWxkTWludXRlRmllbGREaXNhYmxlZCgpIGNv
bnN0OwotICAgIGJvb2wgc2hvdWxkU2Vjb25kRmllbGREaXNhYmxlZCgpIGNvbnN0OwotICAgIGJv
b2wgc2hvdWxkWWVhckZpZWxkRGlzYWJsZWQoKSBjb25zdDsKLSAgICBpbmxpbmUgY29uc3QgU3Rl
cFJhbmdlJiBzdGVwUmFuZ2UoKSBjb25zdCB7IHJldHVybiBtX3BhcmFtZXRlcnMuc3RlcFJhbmdl
OyB9Ci0gICAgRGF0ZVRpbWVOdW1lcmljRmllbGRFbGVtZW50OjpTdGVwIGNyZWF0ZVN0ZXAoZG91
YmxlIG1zUGVyRmllbGRVbml0LCBkb3VibGUgbXNQZXJGaWVsZFNpemUpIGNvbnN0OwotCi0gICAg
Ly8gRGF0ZVRpbWVGb3JtYXQ6OlRva2VuSGFuZGxlciBmdW5jdGlvbnMuCi0gICAgdmlydHVhbCB2
b2lkIHZpc2l0RmllbGQoRGF0ZVRpbWVGb3JtYXQ6OkZpZWxkVHlwZSwgaW50KSBPVkVSUklERSBG
SU5BTDsKLSAgICB2aXJ0dWFsIHZvaWQgdmlzaXRMaXRlcmFsKGNvbnN0IFN0cmluZyYpIE9WRVJS
SURFIEZJTkFMOwotCi0gICAgRGF0ZVRpbWVFZGl0RWxlbWVudCYgbV9lZGl0RWxlbWVudDsKLSAg
ICBjb25zdCBEYXRlQ29tcG9uZW50cyBtX2RhdGVWYWx1ZTsKLSAgICBjb25zdCBEYXRlVGltZUVk
aXRFbGVtZW50OjpMYXlvdXRQYXJhbWV0ZXJzJiBtX3BhcmFtZXRlcnM7Ci0gICAgRGF0ZVRpbWVO
dW1lcmljRmllbGRFbGVtZW50OjpSYW5nZSBtX2RheVJhbmdlOwotICAgIERhdGVUaW1lTnVtZXJp
Y0ZpZWxkRWxlbWVudDo6UmFuZ2UgbV9ob3VyMjNSYW5nZTsKLSAgICBEYXRlVGltZU51bWVyaWNG
aWVsZEVsZW1lbnQ6OlJhbmdlIG1fbWludXRlUmFuZ2U7Ci0gICAgRGF0ZVRpbWVOdW1lcmljRmll
bGRFbGVtZW50OjpSYW5nZSBtX3NlY29uZFJhbmdlOwotICAgIERhdGVUaW1lTnVtZXJpY0ZpZWxk
RWxlbWVudDo6UmFuZ2UgbV9taWxsaXNlY29uZFJhbmdlOwotfTsKLQotRGF0ZVRpbWVFZGl0QnVp
bGRlcjo6RGF0ZVRpbWVFZGl0QnVpbGRlcihEYXRlVGltZUVkaXRFbGVtZW50JiBlbGVtbnQsIGNv
bnN0IERhdGVUaW1lRWRpdEVsZW1lbnQ6OkxheW91dFBhcmFtZXRlcnMmIGxheW91dFBhcmFtZXRl
cnMsIGNvbnN0IERhdGVDb21wb25lbnRzJiBkYXRlVmFsdWUpCi0gICAgOiBtX2VkaXRFbGVtZW50
KGVsZW1udCkKLSAgICAsIG1fZGF0ZVZhbHVlKGRhdGVWYWx1ZSkKLSAgICAsIG1fcGFyYW1ldGVy
cyhsYXlvdXRQYXJhbWV0ZXJzKQotICAgICwgbV9kYXlSYW5nZSgxLCAzMSkKLSAgICAsIG1faG91
cjIzUmFuZ2UoMCwgMjMpCi0gICAgLCBtX21pbnV0ZVJhbmdlKDAsIDU5KQotICAgICwgbV9zZWNv
bmRSYW5nZSgwLCA1OSkKLSAgICAsIG1fbWlsbGlzZWNvbmRSYW5nZSgwLCA5OTkpCi17Ci0gICAg
aWYgKG1fZGF0ZVZhbHVlLnR5cGUoKSA9PSBEYXRlQ29tcG9uZW50czo6RGF0ZQotICAgICAgICB8
fCBtX2RhdGVWYWx1ZS50eXBlKCkgPT0gRGF0ZUNvbXBvbmVudHM6OkRhdGVUaW1lTG9jYWwKLSAg
ICAgICAgfHwgbV9kYXRlVmFsdWUudHlwZSgpID09IERhdGVDb21wb25lbnRzOjpEYXRlVGltZSkg
ewotICAgICAgICBpZiAobV9wYXJhbWV0ZXJzLm1pbmltdW0udHlwZSgpICE9IERhdGVDb21wb25l
bnRzOjpJbnZhbGlkCi0gICAgICAgICAgICAmJiBtX3BhcmFtZXRlcnMubWF4aW11bS50eXBlKCkg
IT0gRGF0ZUNvbXBvbmVudHM6OkludmFsaWQKLSAgICAgICAgICAgICYmIG1fcGFyYW1ldGVycy5t
aW5pbXVtLmZ1bGxZZWFyKCkgPT0gbV9wYXJhbWV0ZXJzLm1heGltdW0uZnVsbFllYXIoKQotICAg
ICAgICAgICAgJiYgbV9wYXJhbWV0ZXJzLm1pbmltdW0ubW9udGgoKSA9PSBtX3BhcmFtZXRlcnMu
bWF4aW11bS5tb250aCgpCi0gICAgICAgICAgICAmJiBtX3BhcmFtZXRlcnMubWluaW11bS5tb250
aERheSgpIDw9IG1fcGFyYW1ldGVycy5tYXhpbXVtLm1vbnRoRGF5KCkpIHsKLSAgICAgICAgICAg
IG1fZGF5UmFuZ2UubWluaW11bSA9IG1fcGFyYW1ldGVycy5taW5pbXVtLm1vbnRoRGF5KCk7Ci0g
ICAgICAgICAgICBtX2RheVJhbmdlLm1heGltdW0gPSBtX3BhcmFtZXRlcnMubWF4aW11bS5tb250
aERheSgpOwotICAgICAgICB9Ci0gICAgfQotCi0gICAgaWYgKG1fZGF0ZVZhbHVlLnR5cGUoKSA9
PSBEYXRlQ29tcG9uZW50czo6VGltZSB8fCBtX2RheVJhbmdlLmlzU2luZ2xldG9uKCkpIHsKLSAg
ICAgICAgaWYgKG1fcGFyYW1ldGVycy5taW5pbXVtLnR5cGUoKSAhPSBEYXRlQ29tcG9uZW50czo6
SW52YWxpZAotICAgICAgICAgICAgJiYgbV9wYXJhbWV0ZXJzLm1heGltdW0udHlwZSgpICE9IERh
dGVDb21wb25lbnRzOjpJbnZhbGlkCi0gICAgICAgICAgICAmJiBtX3BhcmFtZXRlcnMubWluaW11
bS5ob3VyKCkgPD0gbV9wYXJhbWV0ZXJzLm1heGltdW0uaG91cigpKSB7Ci0gICAgICAgICAgICBt
X2hvdXIyM1JhbmdlLm1pbmltdW0gPSBtX3BhcmFtZXRlcnMubWluaW11bS5ob3VyKCk7Ci0gICAg
ICAgICAgICBtX2hvdXIyM1JhbmdlLm1heGltdW0gPSBtX3BhcmFtZXRlcnMubWF4aW11bS5ob3Vy
KCk7Ci0gICAgICAgIH0KLSAgICB9Ci0KLSAgICBpZiAobV9ob3VyMjNSYW5nZS5pc1NpbmdsZXRv
bigpICYmIG1fcGFyYW1ldGVycy5taW5pbXVtLm1pbnV0ZSgpIDw9IG1fcGFyYW1ldGVycy5tYXhp
bXVtLm1pbnV0ZSgpKSB7Ci0gICAgICAgIG1fbWludXRlUmFuZ2UubWluaW11bSA9IG1fcGFyYW1l
dGVycy5taW5pbXVtLm1pbnV0ZSgpOwotICAgICAgICBtX21pbnV0ZVJhbmdlLm1heGltdW0gPSBt
X3BhcmFtZXRlcnMubWF4aW11bS5taW51dGUoKTsKLSAgICB9Ci0gICAgaWYgKG1fbWludXRlUmFu
Z2UuaXNTaW5nbGV0b24oKSAmJiBtX3BhcmFtZXRlcnMubWluaW11bS5zZWNvbmQoKSA8PSBtX3Bh
cmFtZXRlcnMubWF4aW11bS5zZWNvbmQoKSkgewotICAgICAgICBtX3NlY29uZFJhbmdlLm1pbmlt
dW0gPSBtX3BhcmFtZXRlcnMubWluaW11bS5zZWNvbmQoKTsKLSAgICAgICAgbV9zZWNvbmRSYW5n
ZS5tYXhpbXVtID0gbV9wYXJhbWV0ZXJzLm1heGltdW0uc2Vjb25kKCk7Ci0gICAgfQotICAgIGlm
IChtX3NlY29uZFJhbmdlLmlzU2luZ2xldG9uKCkgJiYgbV9wYXJhbWV0ZXJzLm1pbmltdW0ubWls
bGlzZWNvbmQoKSA8PSBtX3BhcmFtZXRlcnMubWF4aW11bS5taWxsaXNlY29uZCgpKSB7Ci0gICAg
ICAgIG1fbWlsbGlzZWNvbmRSYW5nZS5taW5pbXVtID0gbV9wYXJhbWV0ZXJzLm1pbmltdW0ubWls
bGlzZWNvbmQoKTsKLSAgICAgICAgbV9taWxsaXNlY29uZFJhbmdlLm1heGltdW0gPSBtX3BhcmFt
ZXRlcnMubWF4aW11bS5taWxsaXNlY29uZCgpOwotICAgIH0KLX0KLQotYm9vbCBEYXRlVGltZUVk
aXRCdWlsZGVyOjpidWlsZChjb25zdCBTdHJpbmcmIGZvcm1hdFN0cmluZykKLXsKLSAgICBtX2Vk
aXRFbGVtZW50LnJlc2V0RmllbGRzKCk7Ci0gICAgcmV0dXJuIERhdGVUaW1lRm9ybWF0OjpwYXJz
ZShmb3JtYXRTdHJpbmcsICp0aGlzKTsKLX0KLQotYm9vbCBEYXRlVGltZUVkaXRCdWlsZGVyOjpu
ZWVkTWlsbGlzZWNvbmRGaWVsZCgpIGNvbnN0Ci17Ci0gICAgcmV0dXJuIG1fZGF0ZVZhbHVlLm1p
bGxpc2Vjb25kKCkKLSAgICAgICAgfHwgIXN0ZXBSYW5nZSgpLm1pbmltdW0oKS5yZW1haW5kZXIo
c3RhdGljX2Nhc3Q8aW50Pihtc1BlclNlY29uZCkpLmlzWmVybygpCi0gICAgICAgIHx8ICFzdGVw
UmFuZ2UoKS5zdGVwKCkucmVtYWluZGVyKHN0YXRpY19jYXN0PGludD4obXNQZXJTZWNvbmQpKS5p
c1plcm8oKTsKLX0KLQotdm9pZCBEYXRlVGltZUVkaXRCdWlsZGVyOjp2aXNpdEZpZWxkKERhdGVU
aW1lRm9ybWF0OjpGaWVsZFR5cGUgZmllbGRUeXBlLCBpbnQgY291bnQpCi17Ci0gICAgY29uc3Qg
aW50IGNvdW50Rm9yQWJicmV2aWF0ZWRNb250aCA9IDM7Ci0gICAgY29uc3QgaW50IGNvdW50Rm9y
RnVsbE1vbnRoID0gNDsKLSAgICBjb25zdCBpbnQgY291bnRGb3JOYXJyb3dNb250aCA9IDU7Ci0g
ICAgRG9jdW1lbnQqIGNvbnN0IGRvY3VtZW50ID0gbV9lZGl0RWxlbWVudC5kb2N1bWVudCgpOwot
Ci0gICAgc3dpdGNoIChmaWVsZFR5cGUpIHsKLSAgICBjYXNlIERhdGVUaW1lRm9ybWF0OjpGaWVs
ZFR5cGVEYXlPZk1vbnRoOiB7Ci0gICAgICAgIFJlZlB0cjxEYXRlVGltZUZpZWxkRWxlbWVudD4g
ZmllbGQgPSBEYXRlVGltZURheUZpZWxkRWxlbWVudDo6Y3JlYXRlKGRvY3VtZW50LCBtX2VkaXRF
bGVtZW50LCBtX3BhcmFtZXRlcnMucGxhY2Vob2xkZXJGb3JEYXksIG1fZGF5UmFuZ2UpOwotICAg
ICAgICBtX2VkaXRFbGVtZW50LmFkZEZpZWxkKGZpZWxkKTsKLSAgICAgICAgaWYgKHNob3VsZERh
eU9mTW9udGhGaWVsZERpc2FibGVkKCkpIHsKLSAgICAgICAgICAgIGZpZWxkLT5zZXRWYWx1ZUFz
RGF0ZShtX2RhdGVWYWx1ZSk7Ci0gICAgICAgICAgICBmaWVsZC0+c2V0RGlzYWJsZWQoKTsKLSAg
ICAgICAgfQotICAgICAgICByZXR1cm47Ci0gICAgfQotCi0gICAgY2FzZSBEYXRlVGltZUZvcm1h
dDo6RmllbGRUeXBlSG91cjExOiB7Ci0gICAgICAgIERhdGVUaW1lTnVtZXJpY0ZpZWxkRWxlbWVu
dDo6U3RlcCBzdGVwID0gY3JlYXRlU3RlcChtc1BlckhvdXIsIG1zUGVySG91ciAqIDEyKTsKLSAg
ICAgICAgUmVmUHRyPERhdGVUaW1lRmllbGRFbGVtZW50PiBmaWVsZCA9IERhdGVUaW1lSG91cjEx
RmllbGRFbGVtZW50OjpjcmVhdGUoZG9jdW1lbnQsIG1fZWRpdEVsZW1lbnQsIG1faG91cjIzUmFu
Z2UsIHN0ZXApOwotICAgICAgICBtX2VkaXRFbGVtZW50LmFkZEZpZWxkKGZpZWxkKTsKLSAgICAg
ICAgaWYgKHNob3VsZEhvdXJGaWVsZERpc2FibGVkKCkpIHsKLSAgICAgICAgICAgIGZpZWxkLT5z
ZXRWYWx1ZUFzRGF0ZShtX2RhdGVWYWx1ZSk7Ci0gICAgICAgICAgICBmaWVsZC0+c2V0RGlzYWJs
ZWQoKTsKLSAgICAgICAgfQotICAgICAgICByZXR1cm47Ci0gICAgfQotCi0gICAgY2FzZSBEYXRl
VGltZUZvcm1hdDo6RmllbGRUeXBlSG91cjEyOiB7Ci0gICAgICAgIERhdGVUaW1lTnVtZXJpY0Zp
ZWxkRWxlbWVudDo6U3RlcCBzdGVwID0gY3JlYXRlU3RlcChtc1BlckhvdXIsIG1zUGVySG91ciAq
IDEyKTsKLSAgICAgICAgUmVmUHRyPERhdGVUaW1lRmllbGRFbGVtZW50PiBmaWVsZCA9IERhdGVU
aW1lSG91cjEyRmllbGRFbGVtZW50OjpjcmVhdGUoZG9jdW1lbnQsIG1fZWRpdEVsZW1lbnQsIG1f
aG91cjIzUmFuZ2UsIHN0ZXApOwotICAgICAgICBtX2VkaXRFbGVtZW50LmFkZEZpZWxkKGZpZWxk
KTsKLSAgICAgICAgaWYgKHNob3VsZEhvdXJGaWVsZERpc2FibGVkKCkpIHsKLSAgICAgICAgICAg
IGZpZWxkLT5zZXRWYWx1ZUFzRGF0ZShtX2RhdGVWYWx1ZSk7Ci0gICAgICAgICAgICBmaWVsZC0+
c2V0RGlzYWJsZWQoKTsKLSAgICAgICAgfQotICAgICAgICByZXR1cm47Ci0gICAgfQotCi0gICAg
Y2FzZSBEYXRlVGltZUZvcm1hdDo6RmllbGRUeXBlSG91cjIzOiB7Ci0gICAgICAgIERhdGVUaW1l
TnVtZXJpY0ZpZWxkRWxlbWVudDo6U3RlcCBzdGVwID0gY3JlYXRlU3RlcChtc1BlckhvdXIsIG1z
UGVyRGF5KTsKLSAgICAgICAgUmVmUHRyPERhdGVUaW1lRmllbGRFbGVtZW50PiBmaWVsZCA9IERh
dGVUaW1lSG91cjIzRmllbGRFbGVtZW50OjpjcmVhdGUoZG9jdW1lbnQsIG1fZWRpdEVsZW1lbnQs
IG1faG91cjIzUmFuZ2UsIHN0ZXApOwotICAgICAgICBtX2VkaXRFbGVtZW50LmFkZEZpZWxkKGZp
ZWxkKTsKLSAgICAgICAgaWYgKHNob3VsZEhvdXJGaWVsZERpc2FibGVkKCkpIHsKLSAgICAgICAg
ICAgIGZpZWxkLT5zZXRWYWx1ZUFzRGF0ZShtX2RhdGVWYWx1ZSk7Ci0gICAgICAgICAgICBmaWVs
ZC0+c2V0RGlzYWJsZWQoKTsKLSAgICAgICAgfQotICAgICAgICByZXR1cm47Ci0gICAgfQotCi0g
ICAgY2FzZSBEYXRlVGltZUZvcm1hdDo6RmllbGRUeXBlSG91cjI0OiB7Ci0gICAgICAgIERhdGVU
aW1lTnVtZXJpY0ZpZWxkRWxlbWVudDo6U3RlcCBzdGVwID0gY3JlYXRlU3RlcChtc1BlckhvdXIs
IG1zUGVyRGF5KTsKLSAgICAgICAgUmVmUHRyPERhdGVUaW1lRmllbGRFbGVtZW50PiBmaWVsZCA9
IERhdGVUaW1lSG91cjI0RmllbGRFbGVtZW50OjpjcmVhdGUoZG9jdW1lbnQsIG1fZWRpdEVsZW1l
bnQsIG1faG91cjIzUmFuZ2UsIHN0ZXApOwotICAgICAgICBtX2VkaXRFbGVtZW50LmFkZEZpZWxk
KGZpZWxkKTsKLSAgICAgICAgaWYgKHNob3VsZEhvdXJGaWVsZERpc2FibGVkKCkpIHsKLSAgICAg
ICAgICAgIGZpZWxkLT5zZXRWYWx1ZUFzRGF0ZShtX2RhdGVWYWx1ZSk7Ci0gICAgICAgICAgICBm
aWVsZC0+c2V0RGlzYWJsZWQoKTsKLSAgICAgICAgfQotICAgICAgICByZXR1cm47Ci0gICAgfQot
Ci0gICAgY2FzZSBEYXRlVGltZUZvcm1hdDo6RmllbGRUeXBlTWludXRlOiB7Ci0gICAgICAgIERh
dGVUaW1lTnVtZXJpY0ZpZWxkRWxlbWVudDo6U3RlcCBzdGVwID0gY3JlYXRlU3RlcChtc1Blck1p
bnV0ZSwgbXNQZXJIb3VyKTsKLSAgICAgICAgUmVmUHRyPERhdGVUaW1lTnVtZXJpY0ZpZWxkRWxl
bWVudD4gZmllbGQgPSBEYXRlVGltZU1pbnV0ZUZpZWxkRWxlbWVudDo6Y3JlYXRlKGRvY3VtZW50
LCBtX2VkaXRFbGVtZW50LCBtX21pbnV0ZVJhbmdlLCBzdGVwKTsKLSAgICAgICAgbV9lZGl0RWxl
bWVudC5hZGRGaWVsZChmaWVsZCk7Ci0gICAgICAgIGlmIChzaG91bGRNaW51dGVGaWVsZERpc2Fi
bGVkKCkpIHsKLSAgICAgICAgICAgIGZpZWxkLT5zZXRWYWx1ZUFzRGF0ZShtX2RhdGVWYWx1ZSk7
Ci0gICAgICAgICAgICBmaWVsZC0+c2V0RGlzYWJsZWQoKTsKLSAgICAgICAgfQotICAgICAgICBy
ZXR1cm47Ci0gICAgfQotCi0gICAgY2FzZSBEYXRlVGltZUZvcm1hdDo6RmllbGRUeXBlTW9udGg6
IC8vIEZhbGx0aHJvdWdoLgotICAgIGNhc2UgRGF0ZVRpbWVGb3JtYXQ6OkZpZWxkVHlwZU1vbnRo
U3RhbmRBbG9uZTogewotICAgICAgICBpbnQgbWluTW9udGggPSAwLCBtYXhNb250aCA9IDExOwot
ICAgICAgICBpZiAobV9wYXJhbWV0ZXJzLm1pbmltdW0udHlwZSgpICE9IERhdGVDb21wb25lbnRz
OjpJbnZhbGlkCi0gICAgICAgICAgICAmJiBtX3BhcmFtZXRlcnMubWF4aW11bS50eXBlKCkgIT0g
RGF0ZUNvbXBvbmVudHM6OkludmFsaWQKLSAgICAgICAgICAgICYmIG1fcGFyYW1ldGVycy5taW5p
bXVtLmZ1bGxZZWFyKCkgPT0gbV9wYXJhbWV0ZXJzLm1heGltdW0uZnVsbFllYXIoKQotICAgICAg
ICAgICAgJiYgbV9wYXJhbWV0ZXJzLm1pbmltdW0ubW9udGgoKSA8PSBtX3BhcmFtZXRlcnMubWF4
aW11bS5tb250aCgpKSB7Ci0gICAgICAgICAgICBtaW5Nb250aCA9IG1fcGFyYW1ldGVycy5taW5p
bXVtLm1vbnRoKCk7Ci0gICAgICAgICAgICBtYXhNb250aCA9IG1fcGFyYW1ldGVycy5tYXhpbXVt
Lm1vbnRoKCk7Ci0gICAgICAgIH0KLSAgICAgICAgUmVmUHRyPERhdGVUaW1lRmllbGRFbGVtZW50
PiBmaWVsZDsKLSAgICAgICAgc3dpdGNoIChjb3VudCkgewotICAgICAgICBjYXNlIGNvdW50Rm9y
TmFycm93TW9udGg6IC8vIEZhbGx0aHJvdWdoLgotICAgICAgICBjYXNlIGNvdW50Rm9yQWJicmV2
aWF0ZWRNb250aDoKLSAgICAgICAgICAgIGZpZWxkID0gRGF0ZVRpbWVTeW1ib2xpY01vbnRoRmll
bGRFbGVtZW50OjpjcmVhdGUoZG9jdW1lbnQsIG1fZWRpdEVsZW1lbnQsIGZpZWxkVHlwZSA9PSBE
YXRlVGltZUZvcm1hdDo6RmllbGRUeXBlTW9udGggPyBtX3BhcmFtZXRlcnMubG9jYWxlLnNob3J0
TW9udGhMYWJlbHMoKSA6IG1fcGFyYW1ldGVycy5sb2NhbGUuc2hvcnRTdGFuZEFsb25lTW9udGhM
YWJlbHMoKSwgbWluTW9udGgsIG1heE1vbnRoKTsKLSAgICAgICAgICAgIGJyZWFrOwotICAgICAg
ICBjYXNlIGNvdW50Rm9yRnVsbE1vbnRoOgotICAgICAgICAgICAgZmllbGQgPSBEYXRlVGltZVN5
bWJvbGljTW9udGhGaWVsZEVsZW1lbnQ6OmNyZWF0ZShkb2N1bWVudCwgbV9lZGl0RWxlbWVudCwg
ZmllbGRUeXBlID09IERhdGVUaW1lRm9ybWF0OjpGaWVsZFR5cGVNb250aCA/IG1fcGFyYW1ldGVy
cy5sb2NhbGUubW9udGhMYWJlbHMoKSA6IG1fcGFyYW1ldGVycy5sb2NhbGUuc3RhbmRBbG9uZU1v
bnRoTGFiZWxzKCksIG1pbk1vbnRoLCBtYXhNb250aCk7Ci0gICAgICAgICAgICBicmVhazsKLSAg
ICAgICAgZGVmYXVsdDoKLSAgICAgICAgICAgIGZpZWxkID0gRGF0ZVRpbWVNb250aEZpZWxkRWxl
bWVudDo6Y3JlYXRlKGRvY3VtZW50LCBtX2VkaXRFbGVtZW50LCBtX3BhcmFtZXRlcnMucGxhY2Vo
b2xkZXJGb3JNb250aCwgRGF0ZVRpbWVOdW1lcmljRmllbGRFbGVtZW50OjpSYW5nZShtaW5Nb250
aCArIDEsIG1heE1vbnRoICsgMSkpOwotICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgIH0KLSAg
ICAgICAgbV9lZGl0RWxlbWVudC5hZGRGaWVsZChmaWVsZCk7Ci0gICAgICAgIGlmIChtaW5Nb250
aCA9PSBtYXhNb250aCAmJiBtaW5Nb250aCA9PSBtX2RhdGVWYWx1ZS5tb250aCgpICYmIG1fZGF0
ZVZhbHVlLnR5cGUoKSAhPSBEYXRlQ29tcG9uZW50czo6TW9udGgpIHsKLSAgICAgICAgICAgIGZp
ZWxkLT5zZXRWYWx1ZUFzRGF0ZShtX2RhdGVWYWx1ZSk7Ci0gICAgICAgICAgICBmaWVsZC0+c2V0
RGlzYWJsZWQoKTsKLSAgICAgICAgfQotICAgICAgICByZXR1cm47Ci0gICAgfQotCi0gICAgY2Fz
ZSBEYXRlVGltZUZvcm1hdDo6RmllbGRUeXBlUGVyaW9kOiB7Ci0gICAgICAgIFJlZlB0cjxEYXRl
VGltZUZpZWxkRWxlbWVudD4gZmllbGQgPSBEYXRlVGltZUFNUE1GaWVsZEVsZW1lbnQ6OmNyZWF0
ZShkb2N1bWVudCwgbV9lZGl0RWxlbWVudCwgbV9wYXJhbWV0ZXJzLmxvY2FsZS50aW1lQU1QTUxh
YmVscygpKTsKLSAgICAgICAgbV9lZGl0RWxlbWVudC5hZGRGaWVsZChmaWVsZCk7Ci0gICAgICAg
IGlmIChzaG91bGRBTVBNRmllbGREaXNhYmxlZCgpKSB7Ci0gICAgICAgICAgICBmaWVsZC0+c2V0
VmFsdWVBc0RhdGUobV9kYXRlVmFsdWUpOwotICAgICAgICAgICAgZmllbGQtPnNldERpc2FibGVk
KCk7Ci0gICAgICAgIH0KLSAgICAgICAgcmV0dXJuOwotICAgIH0KLQotICAgIGNhc2UgRGF0ZVRp
bWVGb3JtYXQ6OkZpZWxkVHlwZVNlY29uZDogewotICAgICAgICBEYXRlVGltZU51bWVyaWNGaWVs
ZEVsZW1lbnQ6OlN0ZXAgc3RlcCA9IGNyZWF0ZVN0ZXAobXNQZXJTZWNvbmQsIG1zUGVyTWludXRl
KTsKLSAgICAgICAgUmVmUHRyPERhdGVUaW1lTnVtZXJpY0ZpZWxkRWxlbWVudD4gZmllbGQgPSBE
YXRlVGltZVNlY29uZEZpZWxkRWxlbWVudDo6Y3JlYXRlKGRvY3VtZW50LCBtX2VkaXRFbGVtZW50
LCBtX3NlY29uZFJhbmdlLCBzdGVwKTsKLSAgICAgICAgbV9lZGl0RWxlbWVudC5hZGRGaWVsZChm
aWVsZCk7Ci0gICAgICAgIGlmIChzaG91bGRTZWNvbmRGaWVsZERpc2FibGVkKCkpIHsKLSAgICAg
ICAgICAgIGZpZWxkLT5zZXRWYWx1ZUFzRGF0ZShtX2RhdGVWYWx1ZSk7Ci0gICAgICAgICAgICBm
aWVsZC0+c2V0RGlzYWJsZWQoKTsKLSAgICAgICAgfQotCi0gICAgICAgIGlmIChuZWVkTWlsbGlz
ZWNvbmRGaWVsZCgpKSB7Ci0gICAgICAgICAgICB2aXNpdExpdGVyYWwobV9wYXJhbWV0ZXJzLmxv
Y2FsZS5sb2NhbGl6ZWREZWNpbWFsU2VwYXJhdG9yKCkpOwotICAgICAgICAgICAgdmlzaXRGaWVs
ZChEYXRlVGltZUZvcm1hdDo6RmllbGRUeXBlRnJhY3Rpb25hbFNlY29uZCwgMyk7Ci0gICAgICAg
IH0KLSAgICAgICAgcmV0dXJuOwotICAgIH0KLQotICAgIGNhc2UgRGF0ZVRpbWVGb3JtYXQ6OkZp
ZWxkVHlwZUZyYWN0aW9uYWxTZWNvbmQ6IHsKLSAgICAgICAgRGF0ZVRpbWVOdW1lcmljRmllbGRF
bGVtZW50OjpTdGVwIHN0ZXAgPSBjcmVhdGVTdGVwKDEsIG1zUGVyU2Vjb25kKTsKLSAgICAgICAg
UmVmUHRyPERhdGVUaW1lTnVtZXJpY0ZpZWxkRWxlbWVudD4gZmllbGQgPSBEYXRlVGltZU1pbGxp
c2Vjb25kRmllbGRFbGVtZW50OjpjcmVhdGUoZG9jdW1lbnQsIG1fZWRpdEVsZW1lbnQsIG1fbWls
bGlzZWNvbmRSYW5nZSwgc3RlcCk7Ci0gICAgICAgIG1fZWRpdEVsZW1lbnQuYWRkRmllbGQoZmll
bGQpOwotICAgICAgICBpZiAoc2hvdWxkTWlsbGlzZWNvbmRGaWVsZERpc2FibGVkKCkpIHsKLSAg
ICAgICAgICAgIGZpZWxkLT5zZXRWYWx1ZUFzRGF0ZShtX2RhdGVWYWx1ZSk7Ci0gICAgICAgICAg
ICBmaWVsZC0+c2V0RGlzYWJsZWQoKTsKLSAgICAgICAgfQotICAgICAgICByZXR1cm47Ci0gICAg
fQotCi0gICAgY2FzZSBEYXRlVGltZUZvcm1hdDo6RmllbGRUeXBlV2Vla09mWWVhcjogewotICAg
ICAgICBEYXRlVGltZU51bWVyaWNGaWVsZEVsZW1lbnQ6OlJhbmdlIHJhbmdlKERhdGVDb21wb25l
bnRzOjptaW5pbXVtV2Vla051bWJlciwgRGF0ZUNvbXBvbmVudHM6Om1heGltdW1XZWVrTnVtYmVy
KTsKLSAgICAgICAgaWYgKG1fcGFyYW1ldGVycy5taW5pbXVtLnR5cGUoKSAhPSBEYXRlQ29tcG9u
ZW50czo6SW52YWxpZAotICAgICAgICAgICAgJiYgbV9wYXJhbWV0ZXJzLm1heGltdW0udHlwZSgp
ICE9IERhdGVDb21wb25lbnRzOjpJbnZhbGlkCi0gICAgICAgICAgICAmJiBtX3BhcmFtZXRlcnMu
bWluaW11bS5mdWxsWWVhcigpID09IG1fcGFyYW1ldGVycy5tYXhpbXVtLmZ1bGxZZWFyKCkKLSAg
ICAgICAgICAgICYmIG1fcGFyYW1ldGVycy5taW5pbXVtLndlZWsoKSA8PSBtX3BhcmFtZXRlcnMu
bWF4aW11bS53ZWVrKCkpIHsKLSAgICAgICAgICAgIHJhbmdlLm1pbmltdW0gPSBtX3BhcmFtZXRl
cnMubWluaW11bS53ZWVrKCk7Ci0gICAgICAgICAgICByYW5nZS5tYXhpbXVtID0gbV9wYXJhbWV0
ZXJzLm1heGltdW0ud2VlaygpOwotICAgICAgICB9Ci0gICAgICAgIG1fZWRpdEVsZW1lbnQuYWRk
RmllbGQoRGF0ZVRpbWVXZWVrRmllbGRFbGVtZW50OjpjcmVhdGUoZG9jdW1lbnQsIG1fZWRpdEVs
ZW1lbnQsIHJhbmdlKSk7Ci0gICAgICAgIHJldHVybjsKLSAgICB9Ci0KLSAgICBjYXNlIERhdGVU
aW1lRm9ybWF0OjpGaWVsZFR5cGVZZWFyOiB7Ci0gICAgICAgIERhdGVUaW1lWWVhckZpZWxkRWxl
bWVudDo6UGFyYW1ldGVycyB5ZWFyUGFyYW1zOwotICAgICAgICBpZiAobV9wYXJhbWV0ZXJzLm1p
bmltdW0udHlwZSgpID09IERhdGVDb21wb25lbnRzOjpJbnZhbGlkKSB7Ci0gICAgICAgICAgICB5
ZWFyUGFyYW1zLm1pbmltdW1ZZWFyID0gRGF0ZUNvbXBvbmVudHM6Om1pbmltdW1ZZWFyKCk7Ci0g
ICAgICAgICAgICB5ZWFyUGFyYW1zLm1pbklzU3BlY2lmaWVkID0gZmFsc2U7Ci0gICAgICAgIH0g
ZWxzZSB7Ci0gICAgICAgICAgICB5ZWFyUGFyYW1zLm1pbmltdW1ZZWFyID0gbV9wYXJhbWV0ZXJz
Lm1pbmltdW0uZnVsbFllYXIoKTsKLSAgICAgICAgICAgIHllYXJQYXJhbXMubWluSXNTcGVjaWZp
ZWQgPSB0cnVlOwotICAgICAgICB9Ci0gICAgICAgIGlmIChtX3BhcmFtZXRlcnMubWF4aW11bS50
eXBlKCkgPT0gRGF0ZUNvbXBvbmVudHM6OkludmFsaWQpIHsKLSAgICAgICAgICAgIHllYXJQYXJh
bXMubWF4aW11bVllYXIgPSBEYXRlQ29tcG9uZW50czo6bWF4aW11bVllYXIoKTsKLSAgICAgICAg
ICAgIHllYXJQYXJhbXMubWF4SXNTcGVjaWZpZWQgPSBmYWxzZTsKLSAgICAgICAgfSBlbHNlIHsK
LSAgICAgICAgICAgIHllYXJQYXJhbXMubWF4aW11bVllYXIgPSBtX3BhcmFtZXRlcnMubWF4aW11
bS5mdWxsWWVhcigpOwotICAgICAgICAgICAgeWVhclBhcmFtcy5tYXhJc1NwZWNpZmllZCA9IHRy
dWU7Ci0gICAgICAgIH0KLSAgICAgICAgaWYgKHllYXJQYXJhbXMubWluaW11bVllYXIgPiB5ZWFy
UGFyYW1zLm1heGltdW1ZZWFyKSB7Ci0gICAgICAgICAgICBzdGQ6OnN3YXAoeWVhclBhcmFtcy5t
aW5pbXVtWWVhciwgeWVhclBhcmFtcy5tYXhpbXVtWWVhcik7Ci0gICAgICAgICAgICBzdGQ6OnN3
YXAoeWVhclBhcmFtcy5taW5Jc1NwZWNpZmllZCwgeWVhclBhcmFtcy5tYXhJc1NwZWNpZmllZCk7
Ci0gICAgICAgIH0KLSAgICAgICAgeWVhclBhcmFtcy5wbGFjZWhvbGRlciA9IG1fcGFyYW1ldGVy
cy5wbGFjZWhvbGRlckZvclllYXI7Ci0gICAgICAgIFJlZlB0cjxEYXRlVGltZUZpZWxkRWxlbWVu
dD4gZmllbGQgPSBEYXRlVGltZVllYXJGaWVsZEVsZW1lbnQ6OmNyZWF0ZShkb2N1bWVudCwgbV9l
ZGl0RWxlbWVudCwgeWVhclBhcmFtcyk7Ci0gICAgICAgIG1fZWRpdEVsZW1lbnQuYWRkRmllbGQo
ZmllbGQpOwotICAgICAgICBpZiAoc2hvdWxkWWVhckZpZWxkRGlzYWJsZWQoKSkgewotICAgICAg
ICAgICAgZmllbGQtPnNldFZhbHVlQXNEYXRlKG1fZGF0ZVZhbHVlKTsKLSAgICAgICAgICAgIGZp
ZWxkLT5zZXREaXNhYmxlZCgpOwotICAgICAgICB9Ci0gICAgICAgIHJldHVybjsKLSAgICB9Ci0K
LSAgICBkZWZhdWx0OgotICAgICAgICByZXR1cm47Ci0gICAgfQotfQotCi1ib29sIERhdGVUaW1l
RWRpdEJ1aWxkZXI6OnNob3VsZEFNUE1GaWVsZERpc2FibGVkKCkgY29uc3QKLXsKLSAgICByZXR1
cm4gc2hvdWxkSG91ckZpZWxkRGlzYWJsZWQoKQotICAgICAgICB8fCAobV9ob3VyMjNSYW5nZS5t
aW5pbXVtIDwgMTIgJiYgbV9ob3VyMjNSYW5nZS5tYXhpbXVtIDwgMTIgJiYgbV9kYXRlVmFsdWUu
aG91cigpIDwgMTIpCi0gICAgICAgIHx8IChtX2hvdXIyM1JhbmdlLm1pbmltdW0gPj0gMTIgJiYg
bV9ob3VyMjNSYW5nZS5tYXhpbXVtID49IDEyICYmIG1fZGF0ZVZhbHVlLmhvdXIoKSA+PSAxMik7
Ci19Ci0KLWJvb2wgRGF0ZVRpbWVFZGl0QnVpbGRlcjo6c2hvdWxkRGF5T2ZNb250aEZpZWxkRGlz
YWJsZWQoKSBjb25zdAotewotICAgIHJldHVybiBtX2RheVJhbmdlLmlzU2luZ2xldG9uKCkgJiYg
bV9kYXlSYW5nZS5taW5pbXVtID09IG1fZGF0ZVZhbHVlLm1vbnRoRGF5KCkgJiYgbV9kYXRlVmFs
dWUudHlwZSgpICE9IERhdGVDb21wb25lbnRzOjpEYXRlOwotfQotCi1ib29sIERhdGVUaW1lRWRp
dEJ1aWxkZXI6OnNob3VsZEhvdXJGaWVsZERpc2FibGVkKCkgY29uc3QKLXsKLSAgICBpZiAobV9o
b3VyMjNSYW5nZS5pc1NpbmdsZXRvbigpICYmIG1faG91cjIzUmFuZ2UubWluaW11bSA9PSBtX2Rh
dGVWYWx1ZS5ob3VyKCkKLSAgICAgICAgJiYgIShzaG91bGRNaW51dGVGaWVsZERpc2FibGVkKCkg
JiYgc2hvdWxkU2Vjb25kRmllbGREaXNhYmxlZCgpICYmIHNob3VsZE1pbGxpc2Vjb25kRmllbGRE
aXNhYmxlZCgpKSkKLSAgICAgICAgcmV0dXJuIHRydWU7Ci0KLSAgICBpZiAobV9kYXRlVmFsdWUu
dHlwZSgpID09IERhdGVDb21wb25lbnRzOjpUaW1lKQotICAgICAgICByZXR1cm4gZmFsc2U7Ci0g
ICAgQVNTRVJUKG1fZGF0ZVZhbHVlLnR5cGUoKSA9PSBEYXRlQ29tcG9uZW50czo6RGF0ZVRpbWVM
b2NhbCB8fCBtX2RhdGVWYWx1ZS50eXBlKCkgPT0gRGF0ZUNvbXBvbmVudHM6OkRhdGVUaW1lKTsK
LQotICAgIGlmIChzaG91bGREYXlPZk1vbnRoRmllbGREaXNhYmxlZCgpKSB7Ci0gICAgICAgIEFT
U0VSVChtX3BhcmFtZXRlcnMubWluaW11bS5mdWxsWWVhcigpID09IG1fcGFyYW1ldGVycy5tYXhp
bXVtLmZ1bGxZZWFyKCkpOwotICAgICAgICBBU1NFUlQobV9wYXJhbWV0ZXJzLm1pbmltdW0ubW9u
dGgoKSA9PSBtX3BhcmFtZXRlcnMubWF4aW11bS5tb250aCgpKTsKLSAgICAgICAgcmV0dXJuIGZh
bHNlOwotICAgIH0KLQotICAgIGNvbnN0IERlY2ltYWwgZGVjaW1hbE1zUGVyRGF5KHN0YXRpY19j
YXN0PGludD4obXNQZXJEYXkpKTsKLSAgICBEZWNpbWFsIGhvdXJQYXJ0T2ZNaW5pbXVtID0gKHN0
ZXBSYW5nZSgpLm1pbmltdW0oKS5hYnMoKS5yZW1haW5kZXIoZGVjaW1hbE1zUGVyRGF5KSAvIHN0
YXRpY19jYXN0PGludD4obXNQZXJIb3VyKSkuZmxvb3IoKTsKLSAgICByZXR1cm4gaG91clBhcnRP
Zk1pbmltdW0gPT0gbV9kYXRlVmFsdWUuaG91cigpICYmIHN0ZXBSYW5nZSgpLnN0ZXAoKS5yZW1h
aW5kZXIoZGVjaW1hbE1zUGVyRGF5KS5pc1plcm8oKTsKLX0KLQotYm9vbCBEYXRlVGltZUVkaXRC
dWlsZGVyOjpzaG91bGRNaWxsaXNlY29uZEZpZWxkRGlzYWJsZWQoKSBjb25zdAotewotICAgIGlm
IChtX21pbGxpc2Vjb25kUmFuZ2UuaXNTaW5nbGV0b24oKSAmJiBtX21pbGxpc2Vjb25kUmFuZ2Uu
bWluaW11bSA9PSBtX2RhdGVWYWx1ZS5taWxsaXNlY29uZCgpKQotICAgICAgICByZXR1cm4gdHJ1
ZTsKLQotICAgIGNvbnN0IERlY2ltYWwgZGVjaW1hbE1zUGVyU2Vjb25kKHN0YXRpY19jYXN0PGlu
dD4obXNQZXJTZWNvbmQpKTsKLSAgICByZXR1cm4gc3RlcFJhbmdlKCkubWluaW11bSgpLmFicygp
LnJlbWFpbmRlcihkZWNpbWFsTXNQZXJTZWNvbmQpID09IG1fZGF0ZVZhbHVlLm1pbGxpc2Vjb25k
KCkgJiYgc3RlcFJhbmdlKCkuc3RlcCgpLnJlbWFpbmRlcihkZWNpbWFsTXNQZXJTZWNvbmQpLmlz
WmVybygpOwotfQotCi1ib29sIERhdGVUaW1lRWRpdEJ1aWxkZXI6OnNob3VsZE1pbnV0ZUZpZWxk
RGlzYWJsZWQoKSBjb25zdAotewotICAgIGlmIChtX21pbnV0ZVJhbmdlLmlzU2luZ2xldG9uKCkg
JiYgbV9taW51dGVSYW5nZS5taW5pbXVtID09IG1fZGF0ZVZhbHVlLm1pbnV0ZSgpKQotICAgICAg
ICByZXR1cm4gdHJ1ZTsKLQotICAgIGNvbnN0IERlY2ltYWwgZGVjaW1hbE1zUGVySG91cihzdGF0
aWNfY2FzdDxpbnQ+KG1zUGVySG91cikpOwotICAgIERlY2ltYWwgbWludXRlUGFydE9mTWluaW11
bSA9IChzdGVwUmFuZ2UoKS5taW5pbXVtKCkuYWJzKCkucmVtYWluZGVyKGRlY2ltYWxNc1Blckhv
dXIpIC8gc3RhdGljX2Nhc3Q8aW50Pihtc1Blck1pbnV0ZSkpLmZsb29yKCk7Ci0gICAgcmV0dXJu
IG1pbnV0ZVBhcnRPZk1pbmltdW0gPT0gbV9kYXRlVmFsdWUubWludXRlKCkgJiYgc3RlcFJhbmdl
KCkuc3RlcCgpLnJlbWFpbmRlcihkZWNpbWFsTXNQZXJIb3VyKS5pc1plcm8oKTsKLX0KLQotYm9v
bCBEYXRlVGltZUVkaXRCdWlsZGVyOjpzaG91bGRTZWNvbmRGaWVsZERpc2FibGVkKCkgY29uc3QK
LXsKLSAgICBpZiAobV9zZWNvbmRSYW5nZS5pc1NpbmdsZXRvbigpICYmIG1fc2Vjb25kUmFuZ2Uu
bWluaW11bSA9PSBtX2RhdGVWYWx1ZS5zZWNvbmQoKSkKLSAgICAgICAgcmV0dXJuIHRydWU7Ci0K
LSAgICBjb25zdCBEZWNpbWFsIGRlY2ltYWxNc1Blck1pbnV0ZShzdGF0aWNfY2FzdDxpbnQ+KG1z
UGVyTWludXRlKSk7Ci0gICAgRGVjaW1hbCBzZWNvbmRQYXJ0T2ZNaW5pbXVtID0gKHN0ZXBSYW5n
ZSgpLm1pbmltdW0oKS5hYnMoKS5yZW1haW5kZXIoZGVjaW1hbE1zUGVyTWludXRlKSAvIHN0YXRp
Y19jYXN0PGludD4obXNQZXJTZWNvbmQpKS5mbG9vcigpOwotICAgIHJldHVybiBzZWNvbmRQYXJ0
T2ZNaW5pbXVtID09IG1fZGF0ZVZhbHVlLnNlY29uZCgpICYmIHN0ZXBSYW5nZSgpLnN0ZXAoKS5y
ZW1haW5kZXIoZGVjaW1hbE1zUGVyTWludXRlKS5pc1plcm8oKTsKLX0KLQotYm9vbCBEYXRlVGlt
ZUVkaXRCdWlsZGVyOjpzaG91bGRZZWFyRmllbGREaXNhYmxlZCgpIGNvbnN0Ci17Ci0gICAgcmV0
dXJuIG1fcGFyYW1ldGVycy5taW5pbXVtLnR5cGUoKSAhPSBEYXRlQ29tcG9uZW50czo6SW52YWxp
ZAotICAgICAgICAmJiBtX3BhcmFtZXRlcnMubWF4aW11bS50eXBlKCkgIT0gRGF0ZUNvbXBvbmVu
dHM6OkludmFsaWQKLSAgICAgICAgJiYgbV9wYXJhbWV0ZXJzLm1pbmltdW0uZnVsbFllYXIoKSA9
PSBtX3BhcmFtZXRlcnMubWF4aW11bS5mdWxsWWVhcigpCi0gICAgICAgICYmIG1fcGFyYW1ldGVy
cy5taW5pbXVtLmZ1bGxZZWFyKCkgPT0gbV9kYXRlVmFsdWUuZnVsbFllYXIoKTsKLX0KLQotdm9p
ZCBEYXRlVGltZUVkaXRCdWlsZGVyOjp2aXNpdExpdGVyYWwoY29uc3QgU3RyaW5nJiB0ZXh0KQot
ewotICAgIERFRklORV9TVEFUSUNfTE9DQUwoQXRvbWljU3RyaW5nLCB0ZXh0UHNldWRvSWQsICgi
LXdlYmtpdC1kYXRldGltZS1lZGl0LXRleHQiLCBBdG9taWNTdHJpbmc6OkNvbnN0cnVjdEZyb21M
aXRlcmFsKSk7Ci0gICAgQVNTRVJUKHRleHQubGVuZ3RoKCkpOwotICAgIFJlZlB0cjxIVE1MRGl2
RWxlbWVudD4gZWxlbWVudCA9IEhUTUxEaXZFbGVtZW50OjpjcmVhdGUobV9lZGl0RWxlbWVudC5k
b2N1bWVudCgpKTsKLSAgICBlbGVtZW50LT5zZXRQc2V1ZG8odGV4dFBzZXVkb0lkKTsKLSAgICBp
ZiAobV9wYXJhbWV0ZXJzLmxvY2FsZS5pc1JUTCgpICYmIHRleHQubGVuZ3RoKCkpIHsKLSAgICAg
ICAgRGlyZWN0aW9uIGRpciA9IGRpcmVjdGlvbih0ZXh0WzBdKTsKLSAgICAgICAgaWYgKGRpciA9
PSBTZWdtZW50U2VwYXJhdG9yIHx8IGRpciA9PSBXaGl0ZVNwYWNlTmV1dHJhbCB8fCBkaXIgPT0g
T3RoZXJOZXV0cmFsKQotICAgICAgICAgICAgZWxlbWVudC0+YXBwZW5kQ2hpbGQoVGV4dDo6Y3Jl
YXRlKG1fZWRpdEVsZW1lbnQuZG9jdW1lbnQoKSwgU3RyaW5nKCZyaWdodFRvTGVmdE1hcmssIDEp
KSk7Ci0gICAgfQotICAgIGVsZW1lbnQtPmFwcGVuZENoaWxkKFRleHQ6OmNyZWF0ZShtX2VkaXRF
bGVtZW50LmRvY3VtZW50KCksIHRleHQpKTsKLSAgICBtX2VkaXRFbGVtZW50LmZpZWxkc1dyYXBw
ZXJFbGVtZW50KCktPmFwcGVuZENoaWxkKGVsZW1lbnQpOwotfQotCi1EYXRlVGltZU51bWVyaWNG
aWVsZEVsZW1lbnQ6OlN0ZXAgRGF0ZVRpbWVFZGl0QnVpbGRlcjo6Y3JlYXRlU3RlcChkb3VibGUg
bXNQZXJGaWVsZFVuaXQsIGRvdWJsZSBtc1BlckZpZWxkU2l6ZSkgY29uc3QKLXsKLSAgICBjb25z
dCBEZWNpbWFsIG1zUGVyRmllbGRVbml0RGVjaW1hbChzdGF0aWNfY2FzdDxpbnQ+KG1zUGVyRmll
bGRVbml0KSk7Ci0gICAgY29uc3QgRGVjaW1hbCBtc1BlckZpZWxkU2l6ZURlY2ltYWwoc3RhdGlj
X2Nhc3Q8aW50Pihtc1BlckZpZWxkU2l6ZSkpOwotICAgIERlY2ltYWwgc3RlcE1pbGxpc2Vjb25k
cyA9IHN0ZXBSYW5nZSgpLnN0ZXAoKTsKLSAgICBBU1NFUlQoIW1zUGVyRmllbGRVbml0RGVjaW1h
bC5pc1plcm8oKSk7Ci0gICAgQVNTRVJUKCFtc1BlckZpZWxkU2l6ZURlY2ltYWwuaXNaZXJvKCkp
OwotICAgIEFTU0VSVCghc3RlcE1pbGxpc2Vjb25kcy5pc1plcm8oKSk7Ci0KLSAgICBEYXRlVGlt
ZU51bWVyaWNGaWVsZEVsZW1lbnQ6OlN0ZXAgc3RlcCgxLCAwKTsKLQotICAgIGlmIChzdGVwTWls
bGlzZWNvbmRzLnJlbWFpbmRlcihtc1BlckZpZWxkU2l6ZURlY2ltYWwpLmlzWmVybygpKQotICAg
ICAgICBzdGVwTWlsbGlzZWNvbmRzID0gbXNQZXJGaWVsZFNpemVEZWNpbWFsOwotCi0gICAgaWYg
KG1zUGVyRmllbGRTaXplRGVjaW1hbC5yZW1haW5kZXIoc3RlcE1pbGxpc2Vjb25kcykuaXNaZXJv
KCkgJiYgc3RlcE1pbGxpc2Vjb25kcy5yZW1haW5kZXIobXNQZXJGaWVsZFVuaXREZWNpbWFsKS5p
c1plcm8oKSkgewotICAgICAgICBzdGVwLnN0ZXAgPSBzdGF0aWNfY2FzdDxpbnQ+KChzdGVwTWls
bGlzZWNvbmRzIC8gbXNQZXJGaWVsZFVuaXREZWNpbWFsKS50b0RvdWJsZSgpKTsKLSAgICAgICAg
c3RlcC5zdGVwQmFzZSA9IHN0YXRpY19jYXN0PGludD4oKHN0ZXBSYW5nZSgpLnN0ZXBCYXNlKCkg
LyBtc1BlckZpZWxkVW5pdERlY2ltYWwpLmZsb29yKCkucmVtYWluZGVyKG1zUGVyRmllbGRTaXpl
RGVjaW1hbCAvIG1zUGVyRmllbGRVbml0RGVjaW1hbCkudG9Eb3VibGUoKSk7Ci0gICAgfQotICAg
IHJldHVybiBzdGVwOwotfQotCi0vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi0KLURh
dGVUaW1lRWRpdEVsZW1lbnQ6OkVkaXRDb250cm9sT3duZXI6On5FZGl0Q29udHJvbE93bmVyKCkK
LXsKLX0KLQotRGF0ZVRpbWVFZGl0RWxlbWVudDo6RGF0ZVRpbWVFZGl0RWxlbWVudChEb2N1bWVu
dCogZG9jdW1lbnQsIEVkaXRDb250cm9sT3duZXImIGVkaXRDb250cm9sT3duZXIpCi0gICAgOiBI
VE1MRGl2RWxlbWVudChkaXZUYWcsIGRvY3VtZW50KQotICAgICwgbV9lZGl0Q29udHJvbE93bmVy
KCZlZGl0Q29udHJvbE93bmVyKQotewotICAgIERFRklORV9TVEFUSUNfTE9DQUwoQXRvbWljU3Ry
aW5nLCBkYXRlVGltZUVkaXRQc2V1ZG9JZCwgKCItd2Via2l0LWRhdGV0aW1lLWVkaXQiLCBBdG9t
aWNTdHJpbmc6OkNvbnN0cnVjdEZyb21MaXRlcmFsKSk7Ci0gICAgc2V0UHNldWRvKGRhdGVUaW1l
RWRpdFBzZXVkb0lkKTsKLSAgICBzZXRIYXNDdXN0b21TdHlsZUNhbGxiYWNrcygpOwotfQotCi1E
YXRlVGltZUVkaXRFbGVtZW50Ojp+RGF0ZVRpbWVFZGl0RWxlbWVudCgpCi17Ci0gICAgZm9yIChz
aXplX3QgZmllbGRJbmRleCA9IDA7IGZpZWxkSW5kZXggPCBtX2ZpZWxkcy5zaXplKCk7ICsrZmll
bGRJbmRleCkKLSAgICAgICAgbV9maWVsZHNbZmllbGRJbmRleF0tPnJlbW92ZUV2ZW50SGFuZGxl
cigpOwotfQotCi1pbmxpbmUgRWxlbWVudCogRGF0ZVRpbWVFZGl0RWxlbWVudDo6ZmllbGRzV3Jh
cHBlckVsZW1lbnQoKSBjb25zdAotewotICAgIEFTU0VSVChmaXJzdENoaWxkKCkpOwotICAgIHJl
dHVybiB0b0VsZW1lbnQoZmlyc3RDaGlsZCgpKTsKLX0KLQotdm9pZCBEYXRlVGltZUVkaXRFbGVt
ZW50OjphZGRGaWVsZChQYXNzUmVmUHRyPERhdGVUaW1lRmllbGRFbGVtZW50PiBmaWVsZCkKLXsK
LSAgICBpZiAobV9maWVsZHMuc2l6ZSgpID09IG1fZmllbGRzLmNhcGFjaXR5KCkpCi0gICAgICAg
IHJldHVybjsKLSAgICBtX2ZpZWxkcy5hcHBlbmQoZmllbGQuZ2V0KCkpOwotICAgIGZpZWxkc1dy
YXBwZXJFbGVtZW50KCktPmFwcGVuZENoaWxkKGZpZWxkKTsKLX0KLQotYm9vbCBEYXRlVGltZUVk
aXRFbGVtZW50OjphbnlFZGl0YWJsZUZpZWxkc0hhdmVWYWx1ZXMoKSBjb25zdAotewotICAgIGZv
ciAoc2l6ZV90IGZpZWxkSW5kZXggPSAwOyBmaWVsZEluZGV4IDwgbV9maWVsZHMuc2l6ZSgpOyAr
K2ZpZWxkSW5kZXgpIHsKLSAgICAgICAgaWYgKCFtX2ZpZWxkc1tmaWVsZEluZGV4XS0+aXNEaXNh
YmxlZCgpICYmIG1fZmllbGRzW2ZpZWxkSW5kZXhdLT5oYXNWYWx1ZSgpKQotICAgICAgICAgICAg
cmV0dXJuIHRydWU7Ci0gICAgfQotICAgIHJldHVybiBmYWxzZTsKLX0KLQotdm9pZCBEYXRlVGlt
ZUVkaXRFbGVtZW50OjpibHVyQnlPd25lcigpCi17Ci0gICAgaWYgKERhdGVUaW1lRmllbGRFbGVt
ZW50KiBmaWVsZCA9IGZvY3VzZWRGaWVsZCgpKQotICAgICAgICBmaWVsZC0+Ymx1cigpOwotfQot
Ci1QYXNzUmVmUHRyPERhdGVUaW1lRWRpdEVsZW1lbnQ+IERhdGVUaW1lRWRpdEVsZW1lbnQ6OmNy
ZWF0ZShEb2N1bWVudCogZG9jdW1lbnQsIEVkaXRDb250cm9sT3duZXImIGVkaXRDb250cm9sT3du
ZXIpCi17Ci0gICAgUmVmUHRyPERhdGVUaW1lRWRpdEVsZW1lbnQ+IGNvbnRhaW5lciA9IGFkb3B0
UmVmKG5ldyBEYXRlVGltZUVkaXRFbGVtZW50KGRvY3VtZW50LCBlZGl0Q29udHJvbE93bmVyKSk7
Ci0gICAgcmV0dXJuIGNvbnRhaW5lci5yZWxlYXNlKCk7Ci19Ci0KLVBhc3NSZWZQdHI8UmVuZGVy
U3R5bGU+IERhdGVUaW1lRWRpdEVsZW1lbnQ6OmN1c3RvbVN0eWxlRm9yUmVuZGVyZXIoKQotewot
ICAgIC8vIEZJWE1FOiBUaGlzIGlzIGEga2luZCBvZiBsYXlvdXQuIFdlIG1pZ2h0IHdhbnQgdG8g
aW50cm9kdWNlIG5ldyByZW5kZXJlci4KLSAgICBGb250Q2FjaGVQdXJnZVByZXZlbnRlciBmb250
Q2FjaGVQdXJnZVByZXZlbnRlcjsKLSAgICBSZWZQdHI8UmVuZGVyU3R5bGU+IG9yaWdpbmFsU3R5
bGUgPSBkb2N1bWVudCgpLT5lbnN1cmVTdHlsZVJlc29sdmVyKCktPnN0eWxlRm9yRWxlbWVudCh0
aGlzKTsKLSAgICBSZWZQdHI8UmVuZGVyU3R5bGU+IHN0eWxlID0gUmVuZGVyU3R5bGU6OmNsb25l
KG9yaWdpbmFsU3R5bGUuZ2V0KCkpOwotICAgIGZsb2F0IHdpZHRoID0gMDsKLSAgICBmb3IgKE5v
ZGUqIGNoaWxkID0gZmllbGRzV3JhcHBlckVsZW1lbnQoKS0+Zmlyc3RDaGlsZCgpOyBjaGlsZDsg
Y2hpbGQgPSBjaGlsZC0+bmV4dFNpYmxpbmcoKSkgewotICAgICAgICBpZiAoIWNoaWxkLT5pc0Vs
ZW1lbnROb2RlKCkpCi0gICAgICAgICAgICBjb250aW51ZTsKLSAgICAgICAgRWxlbWVudCogY2hp
bGRFbGVtZW50ID0gdG9FbGVtZW50KGNoaWxkKTsKLSAgICAgICAgaWYgKGNoaWxkRWxlbWVudC0+
aXNEYXRlVGltZUZpZWxkRWxlbWVudCgpKSB7Ci0gICAgICAgICAgICAvLyBXZSBuZWVkIHRvIHBh
c3MgdGhlIEZvbnQgb2YgdGhpcyBlbGVtZW50IGJlY2F1c2UgY2hpbGQgZWxlbWVudHMKLSAgICAg
ICAgICAgIC8vIGNhbid0IHJlc29sdmUgaW5oZXJpdGVkIHN0eWxlIGF0IHRoaXMgdGltaW5nLgot
ICAgICAgICAgICAgd2lkdGggKz0gc3RhdGljX2Nhc3Q8RGF0ZVRpbWVGaWVsZEVsZW1lbnQqPihj
aGlsZEVsZW1lbnQpLT5tYXhpbXVtV2lkdGgoc3R5bGUtPmZvbnQoKSk7Ci0gICAgICAgIH0gZWxz
ZSB7Ci0gICAgICAgICAgICAvLyA6Oi13ZWJraXQtZGF0ZXRpbWUtZWRpdC10ZXh0IGNhc2UuIEl0
IGhhcyBubwotICAgICAgICAgICAgLy8gYm9yZGVyL3BhZGRpbmcvbWFyZ2luIGluIGh0bWwuY3Nz
LgotICAgICAgICAgICAgd2lkdGggKz0gc3R5bGUtPmZvbnQoKS53aWR0aChjaGlsZEVsZW1lbnQt
PnRleHRDb250ZW50KCkpOwotICAgICAgICB9Ci0gICAgfQotICAgIHN0eWxlLT5zZXRXaWR0aChM
ZW5ndGgoY2VpbGYod2lkdGgpLCBGaXhlZCkpOwotICAgIHJldHVybiBzdHlsZS5yZWxlYXNlKCk7
Ci19Ci0KLXZvaWQgRGF0ZVRpbWVFZGl0RWxlbWVudDo6ZGlkQmx1ckZyb21GaWVsZCgpCi17Ci0g
ICAgaWYgKG1fZWRpdENvbnRyb2xPd25lcikKLSAgICAgICAgbV9lZGl0Q29udHJvbE93bmVyLT5k
aWRCbHVyRnJvbUNvbnRyb2woKTsKLX0KLQotdm9pZCBEYXRlVGltZUVkaXRFbGVtZW50OjpkaWRG
b2N1c09uRmllbGQoKQotewotICAgIGlmIChtX2VkaXRDb250cm9sT3duZXIpCi0gICAgICAgIG1f
ZWRpdENvbnRyb2xPd25lci0+ZGlkRm9jdXNPbkNvbnRyb2woKTsKLX0KLQotdm9pZCBEYXRlVGlt
ZUVkaXRFbGVtZW50OjpkaXNhYmxlZFN0YXRlQ2hhbmdlZCgpCi17Ci0gICAgdXBkYXRlVUlTdGF0
ZSgpOwotfQotCi1EYXRlVGltZUZpZWxkRWxlbWVudCogRGF0ZVRpbWVFZGl0RWxlbWVudDo6Zmll
bGRBdChzaXplX3QgZmllbGRJbmRleCkgY29uc3QKLXsKLSAgICByZXR1cm4gZmllbGRJbmRleCA8
IG1fZmllbGRzLnNpemUoKSA/IG1fZmllbGRzW2ZpZWxkSW5kZXhdIDogMDsKLX0KLQotc2l6ZV90
IERhdGVUaW1lRWRpdEVsZW1lbnQ6OmZpZWxkSW5kZXhPZihjb25zdCBEYXRlVGltZUZpZWxkRWxl
bWVudCYgZmllbGQpIGNvbnN0Ci17Ci0gICAgZm9yIChzaXplX3QgZmllbGRJbmRleCA9IDA7IGZp
ZWxkSW5kZXggPCBtX2ZpZWxkcy5zaXplKCk7ICsrZmllbGRJbmRleCkgewotICAgICAgICBpZiAo
bV9maWVsZHNbZmllbGRJbmRleF0gPT0gJmZpZWxkKQotICAgICAgICAgICAgcmV0dXJuIGZpZWxk
SW5kZXg7Ci0gICAgfQotICAgIHJldHVybiBpbnZhbGlkRmllbGRJbmRleDsKLX0KLQotdm9pZCBE
YXRlVGltZUVkaXRFbGVtZW50Ojpmb2N1c0lmTm9Gb2N1cygpCi17Ci0gICAgaWYgKGZvY3VzZWRG
aWVsZEluZGV4KCkgIT0gaW52YWxpZEZpZWxkSW5kZXgpCi0gICAgICAgIHJldHVybjsKLSAgICBm
b2N1c09uTmV4dEZvY3VzYWJsZUZpZWxkKDApOwotfQotCi12b2lkIERhdGVUaW1lRWRpdEVsZW1l
bnQ6OmZvY3VzQnlPd25lcihOb2RlKiBvbGRGb2N1c2VkTm9kZSkKLXsKLSAgICBpZiAob2xkRm9j
dXNlZE5vZGUgJiYgb2xkRm9jdXNlZE5vZGUtPmlzRWxlbWVudE5vZGUoKSAmJiB0b0VsZW1lbnQo
b2xkRm9jdXNlZE5vZGUpLT5pc0RhdGVUaW1lRmllbGRFbGVtZW50KCkpIHsKLSAgICAgICAgRGF0
ZVRpbWVGaWVsZEVsZW1lbnQqIG9sZEZvY3VzZWRGaWVsZCA9IHN0YXRpY19jYXN0PERhdGVUaW1l
RmllbGRFbGVtZW50Kj4ob2xkRm9jdXNlZE5vZGUpOwotICAgICAgICBzaXplX3QgaW5kZXggPSBm
aWVsZEluZGV4T2YoKm9sZEZvY3VzZWRGaWVsZCk7Ci0gICAgICAgIGlmIChpbmRleCAhPSBpbnZh
bGlkRmllbGRJbmRleCAmJiBvbGRGb2N1c2VkRmllbGQtPmlzRm9jdXNhYmxlKCkpIHsKLSAgICAg
ICAgICAgIG9sZEZvY3VzZWRGaWVsZC0+Zm9jdXMoKTsKLSAgICAgICAgICAgIHJldHVybjsKLSAg
ICAgICAgfQotICAgIH0KLSAgICBmb2N1c09uTmV4dEZvY3VzYWJsZUZpZWxkKDApOwotfQotCi1E
YXRlVGltZUZpZWxkRWxlbWVudCogRGF0ZVRpbWVFZGl0RWxlbWVudDo6Zm9jdXNlZEZpZWxkKCkg
Y29uc3QKLXsKLSAgICByZXR1cm4gZmllbGRBdChmb2N1c2VkRmllbGRJbmRleCgpKTsKLX0KLQot
c2l6ZV90IERhdGVUaW1lRWRpdEVsZW1lbnQ6OmZvY3VzZWRGaWVsZEluZGV4KCkgY29uc3QKLXsK
LSAgICBOb2RlKiBjb25zdCBmb2N1c2VkRmllbGROb2RlID0gZG9jdW1lbnQoKS0+Zm9jdXNlZE5v
ZGUoKTsKLSAgICBmb3IgKHNpemVfdCBmaWVsZEluZGV4ID0gMDsgZmllbGRJbmRleCA8IG1fZmll
bGRzLnNpemUoKTsgKytmaWVsZEluZGV4KSB7Ci0gICAgICAgIGlmIChtX2ZpZWxkc1tmaWVsZElu
ZGV4XSA9PSBmb2N1c2VkRmllbGROb2RlKQotICAgICAgICAgICAgcmV0dXJuIGZpZWxkSW5kZXg7
Ci0gICAgfQotICAgIHJldHVybiBpbnZhbGlkRmllbGRJbmRleDsKLX0KLQotdm9pZCBEYXRlVGlt
ZUVkaXRFbGVtZW50OjpmaWVsZFZhbHVlQ2hhbmdlZCgpCi17Ci0gICAgaWYgKG1fZWRpdENvbnRy
b2xPd25lcikKLSAgICAgICAgbV9lZGl0Q29udHJvbE93bmVyLT5lZGl0Q29udHJvbFZhbHVlQ2hh
bmdlZCgpOwotfQotCi1ib29sIERhdGVUaW1lRWRpdEVsZW1lbnQ6OmZvY3VzT25OZXh0Rm9jdXNh
YmxlRmllbGQoc2l6ZV90IHN0YXJ0SW5kZXgpCi17Ci0gICAgZm9yIChzaXplX3QgZmllbGRJbmRl
eCA9IHN0YXJ0SW5kZXg7IGZpZWxkSW5kZXggPCBtX2ZpZWxkcy5zaXplKCk7ICsrZmllbGRJbmRl
eCkgewotICAgICAgICBpZiAobV9maWVsZHNbZmllbGRJbmRleF0tPmlzRm9jdXNhYmxlKCkpIHsK
LSAgICAgICAgICAgIG1fZmllbGRzW2ZpZWxkSW5kZXhdLT5mb2N1cygpOwotICAgICAgICAgICAg
cmV0dXJuIHRydWU7Ci0gICAgICAgIH0KLSAgICB9Ci0gICAgcmV0dXJuIGZhbHNlOwotfQotCi1i
b29sIERhdGVUaW1lRWRpdEVsZW1lbnQ6OmZvY3VzT25OZXh0RmllbGQoY29uc3QgRGF0ZVRpbWVG
aWVsZEVsZW1lbnQmIGZpZWxkKQotewotICAgIGNvbnN0IHNpemVfdCBzdGFydEZpZWxkSW5kZXgg
PSBmaWVsZEluZGV4T2YoZmllbGQpOwotICAgIGlmIChzdGFydEZpZWxkSW5kZXggPT0gaW52YWxp
ZEZpZWxkSW5kZXgpCi0gICAgICAgIHJldHVybiBmYWxzZTsKLSAgICByZXR1cm4gZm9jdXNPbk5l
eHRGb2N1c2FibGVGaWVsZChzdGFydEZpZWxkSW5kZXggKyAxKTsKLX0KLQotYm9vbCBEYXRlVGlt
ZUVkaXRFbGVtZW50Ojpmb2N1c09uUHJldmlvdXNGaWVsZChjb25zdCBEYXRlVGltZUZpZWxkRWxl
bWVudCYgZmllbGQpCi17Ci0gICAgY29uc3Qgc2l6ZV90IHN0YXJ0RmllbGRJbmRleCA9IGZpZWxk
SW5kZXhPZihmaWVsZCk7Ci0gICAgaWYgKHN0YXJ0RmllbGRJbmRleCA9PSBpbnZhbGlkRmllbGRJ
bmRleCkKLSAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgIHNpemVfdCBmaWVsZEluZGV4ID0gc3Rh
cnRGaWVsZEluZGV4OwotICAgIHdoaWxlIChmaWVsZEluZGV4ID4gMCkgewotICAgICAgICAtLWZp
ZWxkSW5kZXg7Ci0gICAgICAgIGlmIChtX2ZpZWxkc1tmaWVsZEluZGV4XS0+aXNGb2N1c2FibGUo
KSkgewotICAgICAgICAgICAgbV9maWVsZHNbZmllbGRJbmRleF0tPmZvY3VzKCk7Ci0gICAgICAg
ICAgICByZXR1cm4gdHJ1ZTsKLSAgICAgICAgfQotICAgIH0KLSAgICByZXR1cm4gZmFsc2U7Ci19
Ci0KLWJvb2wgRGF0ZVRpbWVFZGl0RWxlbWVudDo6aXNEaXNhYmxlZCgpIGNvbnN0Ci17Ci0gICAg
cmV0dXJuIG1fZWRpdENvbnRyb2xPd25lciAmJiBtX2VkaXRDb250cm9sT3duZXItPmlzRWRpdENv
bnRyb2xPd25lckRpc2FibGVkKCk7Ci19Ci0KLWJvb2wgRGF0ZVRpbWVFZGl0RWxlbWVudDo6aXNG
aWVsZE93bmVyRGlzYWJsZWQoKSBjb25zdAotewotICAgIHJldHVybiBpc0Rpc2FibGVkKCk7Ci19
Ci0KLWJvb2wgRGF0ZVRpbWVFZGl0RWxlbWVudDo6aXNGaWVsZE93bmVyUmVhZE9ubHkoKSBjb25z
dAotewotICAgIHJldHVybiBpc1JlYWRPbmx5KCk7Ci19Ci0KLWJvb2wgRGF0ZVRpbWVFZGl0RWxl
bWVudDo6aXNSZWFkT25seSgpIGNvbnN0Ci17Ci0gICAgcmV0dXJuIG1fZWRpdENvbnRyb2xPd25l
ciAmJiBtX2VkaXRDb250cm9sT3duZXItPmlzRWRpdENvbnRyb2xPd25lclJlYWRPbmx5KCk7Ci19
Ci0KLXZvaWQgRGF0ZVRpbWVFZGl0RWxlbWVudDo6bGF5b3V0KGNvbnN0IExheW91dFBhcmFtZXRl
cnMmIGxheW91dFBhcmFtZXRlcnMsIGNvbnN0IERhdGVDb21wb25lbnRzJiBkYXRlVmFsdWUpCi17
Ci0gICAgREVGSU5FX1NUQVRJQ19MT0NBTChBdG9taWNTdHJpbmcsIGZpZWxkc1dyYXBwZXJQc2V1
ZG9JZCwgKCItd2Via2l0LWRhdGV0aW1lLWVkaXQtZmllbGRzLXdyYXBwZXIiLCBBdG9taWNTdHJp
bmc6OkNvbnN0cnVjdEZyb21MaXRlcmFsKSk7Ci0gICAgaWYgKCFmaXJzdENoaWxkKCkpIHsKLSAg
ICAgICAgUmVmUHRyPEhUTUxEaXZFbGVtZW50PiBlbGVtZW50ID0gSFRNTERpdkVsZW1lbnQ6OmNy
ZWF0ZShkb2N1bWVudCgpKTsKLSAgICAgICAgZWxlbWVudC0+c2V0UHNldWRvKGZpZWxkc1dyYXBw
ZXJQc2V1ZG9JZCk7Ci0gICAgICAgIGFwcGVuZENoaWxkKGVsZW1lbnQuZ2V0KCkpOwotICAgIH0K
LSAgICBFbGVtZW50KiBmaWVsZHNXcmFwcGVyID0gZmllbGRzV3JhcHBlckVsZW1lbnQoKTsKLQot
ICAgIHNpemVfdCBmb2N1c2VkRmllbGRJbmRleCA9IHRoaXMtPmZvY3VzZWRGaWVsZEluZGV4KCk7
Ci0gICAgRGF0ZVRpbWVGaWVsZEVsZW1lbnQqIGNvbnN0IGZvY3VzZWRGaWVsZCA9IGZpZWxkQXQo
Zm9jdXNlZEZpZWxkSW5kZXgpOwotICAgIGNvbnN0IEF0b21pY1N0cmluZyBmb2N1c2VkRmllbGRJ
ZCA9IGZvY3VzZWRGaWVsZCA/IGZvY3VzZWRGaWVsZC0+c2hhZG93UHNldWRvSWQoKSA6IG51bGxB
dG9tOwotCi0gICAgRGF0ZVRpbWVFZGl0QnVpbGRlciBidWlsZGVyKCp0aGlzLCBsYXlvdXRQYXJh
bWV0ZXJzLCBkYXRlVmFsdWUpOwotICAgIE5vZGUqIGxhc3RDaGlsZFRvQmVSZW1vdmVkID0gZmll
bGRzV3JhcHBlci0+bGFzdENoaWxkKCk7Ci0gICAgaWYgKCFidWlsZGVyLmJ1aWxkKGxheW91dFBh
cmFtZXRlcnMuZGF0ZVRpbWVGb3JtYXQpIHx8IG1fZmllbGRzLmlzRW1wdHkoKSkgewotICAgICAg
ICBsYXN0Q2hpbGRUb0JlUmVtb3ZlZCA9IGZpZWxkc1dyYXBwZXItPmxhc3RDaGlsZCgpOwotICAg
ICAgICBidWlsZGVyLmJ1aWxkKGxheW91dFBhcmFtZXRlcnMuZmFsbGJhY2tEYXRlVGltZUZvcm1h
dCk7Ci0gICAgfQotCi0gICAgaWYgKGZvY3VzZWRGaWVsZEluZGV4ICE9IGludmFsaWRGaWVsZElu
ZGV4KSB7Ci0gICAgICAgIGZvciAoc2l6ZV90IGZpZWxkSW5kZXggPSAwOyBmaWVsZEluZGV4IDwg
bV9maWVsZHMuc2l6ZSgpOyArK2ZpZWxkSW5kZXgpIHsKLSAgICAgICAgICAgIGlmIChtX2ZpZWxk
c1tmaWVsZEluZGV4XS0+c2hhZG93UHNldWRvSWQoKSA9PSBmb2N1c2VkRmllbGRJZCkgewotICAg
ICAgICAgICAgICAgIGZvY3VzZWRGaWVsZEluZGV4ID0gZmllbGRJbmRleDsKLSAgICAgICAgICAg
ICAgICBicmVhazsKLSAgICAgICAgICAgIH0KLSAgICAgICAgfQotICAgICAgICBpZiAoRGF0ZVRp
bWVGaWVsZEVsZW1lbnQqIGZpZWxkID0gZmllbGRBdChzdGQ6Om1pbihmb2N1c2VkRmllbGRJbmRl
eCwgbV9maWVsZHMuc2l6ZSgpIC0gMSkpKQotICAgICAgICAgICAgZmllbGQtPmZvY3VzKCk7Ci0g
ICAgfQotCi0gICAgaWYgKGxhc3RDaGlsZFRvQmVSZW1vdmVkKSB7Ci0gICAgICAgIGZvciAoTm9k
ZSogY2hpbGROb2RlID0gZmllbGRzV3JhcHBlci0+Zmlyc3RDaGlsZCgpOyBjaGlsZE5vZGU7IGNo
aWxkTm9kZSA9IGZpZWxkc1dyYXBwZXItPmZpcnN0Q2hpbGQoKSkgewotICAgICAgICAgICAgZmll
bGRzV3JhcHBlci0+cmVtb3ZlQ2hpbGQoY2hpbGROb2RlKTsKLSAgICAgICAgICAgIGlmIChjaGls
ZE5vZGUgPT0gbGFzdENoaWxkVG9CZVJlbW92ZWQpCi0gICAgICAgICAgICAgICAgYnJlYWs7Ci0g
ICAgICAgIH0KLSAgICAgICAgc2V0TmVlZHNTdHlsZVJlY2FsYygpOwotICAgIH0KLX0KLQotQXRv
bWljU3RyaW5nIERhdGVUaW1lRWRpdEVsZW1lbnQ6OmxvY2FsZUlkZW50aWZpZXIoKSBjb25zdAot
ewotICAgIHJldHVybiBtX2VkaXRDb250cm9sT3duZXIgPyBtX2VkaXRDb250cm9sT3duZXItPmxv
Y2FsZUlkZW50aWZpZXIoKSA6IG51bGxBdG9tOwotfQotCi12b2lkIERhdGVUaW1lRWRpdEVsZW1l
bnQ6OnJlYWRPbmx5U3RhdGVDaGFuZ2VkKCkKLXsKLSAgICB1cGRhdGVVSVN0YXRlKCk7Ci19Ci0K
LXZvaWQgRGF0ZVRpbWVFZGl0RWxlbWVudDo6cmVzZXRGaWVsZHMoKQotewotICAgIGZvciAoc2l6
ZV90IGZpZWxkSW5kZXggPSAwOyBmaWVsZEluZGV4IDwgbV9maWVsZHMuc2l6ZSgpOyArK2ZpZWxk
SW5kZXgpCi0gICAgICAgIG1fZmllbGRzW2ZpZWxkSW5kZXhdLT5yZW1vdmVFdmVudEhhbmRsZXIo
KTsKLSAgICBtX2ZpZWxkcy5zaHJpbmsoMCk7Ci19Ci0KLXZvaWQgRGF0ZVRpbWVFZGl0RWxlbWVu
dDo6ZGVmYXVsdEV2ZW50SGFuZGxlcihFdmVudCogZXZlbnQpCi17Ci0gICAgLy8gSW4gY2FzZSBv
ZiBjb250cm9sIG93bmVyIGZvcndhcmQgZXZlbnQgdG8gY29udHJvbCwgZS5nLiBET00KLSAgICAv
LyBkaXNwYXRjaEV2ZW50IG1ldGhvZC4KLSAgICBpZiAoRGF0ZVRpbWVGaWVsZEVsZW1lbnQqIGZp
ZWxkID0gZm9jdXNlZEZpZWxkKCkpIHsKLSAgICAgICAgZmllbGQtPmRlZmF1bHRFdmVudEhhbmRs
ZXIoZXZlbnQpOwotICAgICAgICBpZiAoZXZlbnQtPmRlZmF1bHRIYW5kbGVkKCkpCi0gICAgICAg
ICAgICByZXR1cm47Ci0gICAgfQotCi0gICAgSFRNTERpdkVsZW1lbnQ6OmRlZmF1bHRFdmVudEhh
bmRsZXIoZXZlbnQpOwotfQotCi12b2lkIERhdGVUaW1lRWRpdEVsZW1lbnQ6OnNldFZhbHVlQXNE
YXRlKGNvbnN0IExheW91dFBhcmFtZXRlcnMmIGxheW91dFBhcmFtZXRlcnMsIGNvbnN0IERhdGVD
b21wb25lbnRzJiBkYXRlKQotewotICAgIGxheW91dChsYXlvdXRQYXJhbWV0ZXJzLCBkYXRlKTsK
LSAgICBmb3IgKHNpemVfdCBmaWVsZEluZGV4ID0gMDsgZmllbGRJbmRleCA8IG1fZmllbGRzLnNp
emUoKTsgKytmaWVsZEluZGV4KQotICAgICAgICBtX2ZpZWxkc1tmaWVsZEluZGV4XS0+c2V0VmFs
dWVBc0RhdGUoZGF0ZSk7Ci19Ci0KLXZvaWQgRGF0ZVRpbWVFZGl0RWxlbWVudDo6c2V0VmFsdWVB
c0RhdGVUaW1lRmllbGRzU3RhdGUoY29uc3QgRGF0ZVRpbWVGaWVsZHNTdGF0ZSYgZGF0ZVRpbWVG
aWVsZHNTdGF0ZSkKLXsKLSAgICBmb3IgKHNpemVfdCBmaWVsZEluZGV4ID0gMDsgZmllbGRJbmRl
eCA8IG1fZmllbGRzLnNpemUoKTsgKytmaWVsZEluZGV4KQotICAgICAgICBtX2ZpZWxkc1tmaWVs
ZEluZGV4XS0+c2V0VmFsdWVBc0RhdGVUaW1lRmllbGRzU3RhdGUoZGF0ZVRpbWVGaWVsZHNTdGF0
ZSk7Ci19Ci0KLXZvaWQgRGF0ZVRpbWVFZGl0RWxlbWVudDo6c2V0RW1wdHlWYWx1ZShjb25zdCBM
YXlvdXRQYXJhbWV0ZXJzJiBsYXlvdXRQYXJhbWV0ZXJzLCBjb25zdCBEYXRlQ29tcG9uZW50cyYg
ZGF0ZUZvclJlYWRPbmx5RmllbGQpCi17Ci0gICAgbGF5b3V0KGxheW91dFBhcmFtZXRlcnMsIGRh
dGVGb3JSZWFkT25seUZpZWxkKTsKLSAgICBmb3IgKHNpemVfdCBmaWVsZEluZGV4ID0gMDsgZmll
bGRJbmRleCA8IG1fZmllbGRzLnNpemUoKTsgKytmaWVsZEluZGV4KQotICAgICAgICBtX2ZpZWxk
c1tmaWVsZEluZGV4XS0+c2V0RW1wdHlWYWx1ZShEYXRlVGltZUZpZWxkRWxlbWVudDo6RGlzcGF0
Y2hOb0V2ZW50KTsKLX0KLQotYm9vbCBEYXRlVGltZUVkaXRFbGVtZW50OjpoYXNGb2N1c2VkRmll
bGQoKQotewotICAgIHJldHVybiBmb2N1c2VkRmllbGRJbmRleCgpICE9IGludmFsaWRGaWVsZElu
ZGV4OwotfQotCi12b2lkIERhdGVUaW1lRWRpdEVsZW1lbnQ6OnNldE9ubHlZZWFyTW9udGhEYXko
Y29uc3QgRGF0ZUNvbXBvbmVudHMmIGRhdGUpCi17Ci0gICAgQVNTRVJUKGRhdGUudHlwZSgpID09
IERhdGVDb21wb25lbnRzOjpEYXRlKTsKLQotICAgIGlmICghbV9lZGl0Q29udHJvbE93bmVyKQot
ICAgICAgICByZXR1cm47Ci0KLSAgICBEYXRlVGltZUZpZWxkc1N0YXRlIGRhdGVUaW1lRmllbGRz
U3RhdGUgPSB2YWx1ZUFzRGF0ZVRpbWVGaWVsZHNTdGF0ZSgpOwotICAgIGRhdGVUaW1lRmllbGRz
U3RhdGUuc2V0WWVhcihkYXRlLmZ1bGxZZWFyKCkpOwotICAgIGRhdGVUaW1lRmllbGRzU3RhdGUu
c2V0TW9udGgoZGF0ZS5tb250aCgpICsgMSk7Ci0gICAgZGF0ZVRpbWVGaWVsZHNTdGF0ZS5zZXRE
YXlPZk1vbnRoKGRhdGUubW9udGhEYXkoKSk7Ci0gICAgc2V0VmFsdWVBc0RhdGVUaW1lRmllbGRz
U3RhdGUoZGF0ZVRpbWVGaWVsZHNTdGF0ZSk7Ci0gICAgbV9lZGl0Q29udHJvbE93bmVyLT5lZGl0
Q29udHJvbFZhbHVlQ2hhbmdlZCgpOwotfQotCi12b2lkIERhdGVUaW1lRWRpdEVsZW1lbnQ6OnN0
ZXBEb3duKCkKLXsKLSAgICBpZiAoRGF0ZVRpbWVGaWVsZEVsZW1lbnQqIGNvbnN0IGZpZWxkID0g
Zm9jdXNlZEZpZWxkKCkpCi0gICAgICAgIGZpZWxkLT5zdGVwRG93bigpOwotfQotCi12b2lkIERh
dGVUaW1lRWRpdEVsZW1lbnQ6OnN0ZXBVcCgpCi17Ci0gICAgaWYgKERhdGVUaW1lRmllbGRFbGVt
ZW50KiBjb25zdCBmaWVsZCA9IGZvY3VzZWRGaWVsZCgpKQotICAgICAgICBmaWVsZC0+c3RlcFVw
KCk7Ci19Ci0KLXZvaWQgRGF0ZVRpbWVFZGl0RWxlbWVudDo6dXBkYXRlVUlTdGF0ZSgpCi17Ci0g
ICAgaWYgKGlzRGlzYWJsZWQoKSkgewotICAgICAgICBpZiAoRGF0ZVRpbWVGaWVsZEVsZW1lbnQq
IGZpZWxkID0gZm9jdXNlZEZpZWxkKCkpCi0gICAgICAgICAgICBmaWVsZC0+Ymx1cigpOwotICAg
IH0KLX0KLQotU3RyaW5nIERhdGVUaW1lRWRpdEVsZW1lbnQ6OnZhbHVlKCkgY29uc3QKLXsKLSAg
ICBpZiAoIW1fZWRpdENvbnRyb2xPd25lcikKLSAgICAgICAgcmV0dXJuIGVtcHR5U3RyaW5nKCk7
Ci0gICAgcmV0dXJuIG1fZWRpdENvbnRyb2xPd25lci0+Zm9ybWF0RGF0ZVRpbWVGaWVsZHNTdGF0
ZSh2YWx1ZUFzRGF0ZVRpbWVGaWVsZHNTdGF0ZSgpKTsKLX0KLQotRGF0ZVRpbWVGaWVsZHNTdGF0
ZSBEYXRlVGltZUVkaXRFbGVtZW50Ojp2YWx1ZUFzRGF0ZVRpbWVGaWVsZHNTdGF0ZSgpIGNvbnN0
Ci17Ci0gICAgRGF0ZVRpbWVGaWVsZHNTdGF0ZSBkYXRlVGltZUZpZWxkc1N0YXRlOwotICAgIGZv
ciAoc2l6ZV90IGZpZWxkSW5kZXggPSAwOyBmaWVsZEluZGV4IDwgbV9maWVsZHMuc2l6ZSgpOyAr
K2ZpZWxkSW5kZXgpCi0gICAgICAgIG1fZmllbGRzW2ZpZWxkSW5kZXhdLT5wb3B1bGF0ZURhdGVU
aW1lRmllbGRzU3RhdGUoZGF0ZVRpbWVGaWVsZHNTdGF0ZSk7Ci0gICAgcmV0dXJuIGRhdGVUaW1l
RmllbGRzU3RhdGU7Ci19Ci0KLX0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKLQotI2VuZGlmCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9EYXRlVGltZUVkaXRFbGVtZW50Lmgg
Yi9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9EYXRlVGltZUVkaXRFbGVtZW50LmgKZGVsZXRl
ZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDRlMjM1ZDU0MGUwN2YwNjVhYWQxNTEzM2ExNGQ5NTkx
MWM3ODBjMTQuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEv
U291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvRGF0ZVRpbWVFZGl0RWxlbWVudC5oCisrKyAvZGV2
L251bGwKQEAgLTEsMTU0ICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTIgR29vZ2xl
IEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNl
IGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNh
dGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9u
cwotICogYXJlIG1ldDoKLSAqIDEuICBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVz
dCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqIDIuICBSZWRpc3Ry
aWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdo
dAotICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lciBpbiB0aGUKLSAqICAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBt
YXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotICoKLSAqIFRISVMgU09G
VFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFT
IElTJycgQU5ECi0gKiBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKLSAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJD
SEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFCi0gKiBBUkUg
RElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVU
T1JTIEJFIExJQUJMRQotICogRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBT
UEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwKLSAqIERBTUFHRVMgKElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9S
Ci0gKiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNT
IElOVEVSUlVQVElPTikgSE9XRVZFUgotICogQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJ
QUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUCi0gKiBMSUFCSUxJVFksIE9SIFRP
UlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZ
Ci0gKiBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0Yg
VEhFIFBPU1NJQklMSVRZIE9GCi0gKiBTVUNIIERBTUFHRS4KLSAqLwotCi0jaWZuZGVmIERhdGVU
aW1lRWRpdEVsZW1lbnRfaAotI2RlZmluZSBEYXRlVGltZUVkaXRFbGVtZW50X2gKLQotI2lmIEVO
QUJMRShJTlBVVF9NVUxUSVBMRV9GSUVMRFNfVUkpCi0jaW5jbHVkZSAiRGF0ZUNvbXBvbmVudHMu
aCIKLSNpbmNsdWRlICJEYXRlVGltZUZpZWxkRWxlbWVudC5oIgotI2luY2x1ZGUgIlN0ZXBSYW5n
ZS5oIgotCi1uYW1lc3BhY2UgV2ViQ29yZSB7Ci0KLWNsYXNzIERhdGVUaW1lRmllbGRzU3RhdGU7
Ci1jbGFzcyBLZXlib2FyZEV2ZW50OwotY2xhc3MgTG9jYWxlOwotY2xhc3MgTW91c2VFdmVudDsK
LWNsYXNzIFN0ZXBSYW5nZTsKLQotLy8gRGF0ZVRpbWVFZGl0RWxlbWVudCBjbGFzcyBjb250YWlu
cyBudW1iZXJpYyBmaWVsZCBhbmQgc3ltYm9sYyBmaWVsZCBmb3IKLS8vIHJlcHJlc2VudGluZyBk
YXRlIGFuZCB0aW1lLCBzdWNoIGFzCi0vLyAgLSBZZWFyLCBNb250aCwgRGF5IE9mIE1vbnRoCi0v
LyAgLSBIb3VyLCBNaW51dGUsIFNlY29uZCwgTWlsbGlzZWNvbmQsIEFNL1BNCi1jbGFzcyBEYXRl
VGltZUVkaXRFbGVtZW50IEZJTkFMIDogcHVibGljIEhUTUxEaXZFbGVtZW50LCBwdWJsaWMgRGF0
ZVRpbWVGaWVsZEVsZW1lbnQ6OkZpZWxkT3duZXIgewotICAgIFdURl9NQUtFX05PTkNPUFlBQkxF
KERhdGVUaW1lRWRpdEVsZW1lbnQpOwotCi1wdWJsaWM6Ci0gICAgLy8gRWRpdENvbnRyb2xPd25l
ciBpbXBsZW1lbnRlciBtdXN0IGNhbGwgcmVtb3ZlRWRpdENvbnRyb2xPd25lciB3aGVuCi0gICAg
Ly8gaXQgZG9lc24ndCBoYW5kbGUgZXZlbnQsIGUuZy4gYXQgZGVzdHJ1Y3Rpb24uCi0gICAgY2xh
c3MgRWRpdENvbnRyb2xPd25lciB7Ci0gICAgcHVibGljOgotICAgICAgICB2aXJ0dWFsIH5FZGl0
Q29udHJvbE93bmVyKCk7Ci0gICAgICAgIHZpcnR1YWwgdm9pZCBkaWRCbHVyRnJvbUNvbnRyb2wo
KSA9IDA7Ci0gICAgICAgIHZpcnR1YWwgdm9pZCBkaWRGb2N1c09uQ29udHJvbCgpID0gMDsKLSAg
ICAgICAgdmlydHVhbCB2b2lkIGVkaXRDb250cm9sVmFsdWVDaGFuZ2VkKCkgPSAwOwotICAgICAg
ICB2aXJ0dWFsIFN0cmluZyBmb3JtYXREYXRlVGltZUZpZWxkc1N0YXRlKGNvbnN0IERhdGVUaW1l
RmllbGRzU3RhdGUmKSBjb25zdCA9IDA7Ci0gICAgICAgIHZpcnR1YWwgYm9vbCBpc0VkaXRDb250
cm9sT3duZXJEaXNhYmxlZCgpIGNvbnN0ID0gMDsKLSAgICAgICAgdmlydHVhbCBib29sIGlzRWRp
dENvbnRyb2xPd25lclJlYWRPbmx5KCkgY29uc3QgPSAwOwotICAgICAgICB2aXJ0dWFsIEF0b21p
Y1N0cmluZyBsb2NhbGVJZGVudGlmaWVyKCkgY29uc3QgPSAwOwotICAgIH07Ci0KLSAgICBzdHJ1
Y3QgTGF5b3V0UGFyYW1ldGVycyB7Ci0gICAgICAgIFN0cmluZyBkYXRlVGltZUZvcm1hdDsKLSAg
ICAgICAgU3RyaW5nIGZhbGxiYWNrRGF0ZVRpbWVGb3JtYXQ7Ci0gICAgICAgIExvY2FsZSYgbG9j
YWxlOwotICAgICAgICBjb25zdCBTdGVwUmFuZ2Ugc3RlcFJhbmdlOwotICAgICAgICBEYXRlQ29t
cG9uZW50cyBtaW5pbXVtOwotICAgICAgICBEYXRlQ29tcG9uZW50cyBtYXhpbXVtOwotICAgICAg
ICBTdHJpbmcgcGxhY2Vob2xkZXJGb3JEYXk7Ci0gICAgICAgIFN0cmluZyBwbGFjZWhvbGRlckZv
ck1vbnRoOwotICAgICAgICBTdHJpbmcgcGxhY2Vob2xkZXJGb3JZZWFyOwotCi0gICAgICAgIExh
eW91dFBhcmFtZXRlcnMoTG9jYWxlJiBsb2NhbGUsIGNvbnN0IFN0ZXBSYW5nZSYgc3RlcFJhbmdl
KQotICAgICAgICAgICAgOiBsb2NhbGUobG9jYWxlKQotICAgICAgICAgICAgLCBzdGVwUmFuZ2Uo
c3RlcFJhbmdlKQotICAgICAgICB7Ci0gICAgICAgIH0KLSAgICB9OwotCi0gICAgc3RhdGljIFBh
c3NSZWZQdHI8RGF0ZVRpbWVFZGl0RWxlbWVudD4gY3JlYXRlKERvY3VtZW50KiwgRWRpdENvbnRy
b2xPd25lciYpOwotCi0gICAgdmlydHVhbCB+RGF0ZVRpbWVFZGl0RWxlbWVudCgpOwotICAgIHZv
aWQgYWRkRmllbGQoUGFzc1JlZlB0cjxEYXRlVGltZUZpZWxkRWxlbWVudD4pOwotICAgIGJvb2wg
YW55RWRpdGFibGVGaWVsZHNIYXZlVmFsdWVzKCkgY29uc3Q7Ci0gICAgdm9pZCBibHVyQnlPd25l
cigpOwotICAgIHZpcnR1YWwgdm9pZCBkZWZhdWx0RXZlbnRIYW5kbGVyKEV2ZW50KikgT1ZFUlJJ
REU7Ci0gICAgdm9pZCBkaXNhYmxlZFN0YXRlQ2hhbmdlZCgpOwotICAgIEVsZW1lbnQqIGZpZWxk
c1dyYXBwZXJFbGVtZW50KCkgY29uc3Q7Ci0gICAgdm9pZCBmb2N1c0lmTm9Gb2N1cygpOwotICAg
IC8vIElmIG9sZEZvY3VzZWROb2RlIGlzIG9uZSBvZiBzdWItZmllbGRzLCBmb2N1cyBvbiBpdC4g
T3RoZXJ3aXNlIGZvY3VzIG9uCi0gICAgLy8gdGhlIGZpcnN0IHN1Yi1maWVsZC4KLSAgICB2b2lk
IGZvY3VzQnlPd25lcihOb2RlKiBvbGRGb2N1c2VkTm9kZSA9IDApOwotICAgIGJvb2wgaGFzRm9j
dXNlZEZpZWxkKCk7Ci0gICAgdm9pZCByZWFkT25seVN0YXRlQ2hhbmdlZCgpOwotICAgIHZvaWQg
cmVtb3ZlRWRpdENvbnRyb2xPd25lcigpIHsgbV9lZGl0Q29udHJvbE93bmVyID0gMDsgfQotICAg
IHZvaWQgcmVzZXRGaWVsZHMoKTsKLSAgICB2b2lkIHNldEVtcHR5VmFsdWUoY29uc3QgTGF5b3V0
UGFyYW1ldGVycyYsIGNvbnN0IERhdGVDb21wb25lbnRzJiBkYXRlRm9yUmVhZE9ubHlGaWVsZCk7
Ci0gICAgdm9pZCBzZXRWYWx1ZUFzRGF0ZShjb25zdCBMYXlvdXRQYXJhbWV0ZXJzJiwgY29uc3Qg
RGF0ZUNvbXBvbmVudHMmKTsKLSAgICB2b2lkIHNldFZhbHVlQXNEYXRlVGltZUZpZWxkc1N0YXRl
KGNvbnN0IERhdGVUaW1lRmllbGRzU3RhdGUmKTsKLSAgICB2b2lkIHNldE9ubHlZZWFyTW9udGhE
YXkoY29uc3QgRGF0ZUNvbXBvbmVudHMmKTsKLSAgICB2b2lkIHN0ZXBEb3duKCk7Ci0gICAgdm9p
ZCBzdGVwVXAoKTsKLSAgICBTdHJpbmcgdmFsdWUoKSBjb25zdDsKLSAgICBEYXRlVGltZUZpZWxk
c1N0YXRlIHZhbHVlQXNEYXRlVGltZUZpZWxkc1N0YXRlKCkgY29uc3Q7Ci0KLXByaXZhdGU6Ci0g
ICAgc3RhdGljIGNvbnN0IHNpemVfdCBpbnZhbGlkRmllbGRJbmRleCA9IHN0YXRpY19jYXN0PHNp
emVfdD4oLTEpOwotCi0gICAgLy8gRGF0ZXRpbWUgY2FuIGJlIHJlcHJlc2VudCBhdCBtb3N0IGZp
dmUgZmllbGRzLCBzdWNoIGFzCi0gICAgLy8gIDEuIHllYXIKLSAgICAvLyAgMi4gbW9udGgKLSAg
ICAvLyAgMy4gZGF5LW9mLW1vbnRoCi0gICAgLy8gIDQuIGhvdXIKLSAgICAvLyAgNS4gbWludXRl
Ci0gICAgLy8gIDYuIHNlY29uZAotICAgIC8vICA3LiBtaWxsaXNlY29uZAotICAgIC8vICA4LiBB
TS9QTQotICAgIHN0YXRpYyBjb25zdCBpbnQgbWF4aW11bU51bWJlck9mRmllbGRzID0gODsKLQot
ICAgIERhdGVUaW1lRWRpdEVsZW1lbnQoRG9jdW1lbnQqLCBFZGl0Q29udHJvbE93bmVyJik7Ci0K
LSAgICBEYXRlVGltZUZpZWxkRWxlbWVudCogZmllbGRBdChzaXplX3QpIGNvbnN0OwotICAgIHNp
emVfdCBmaWVsZEluZGV4T2YoY29uc3QgRGF0ZVRpbWVGaWVsZEVsZW1lbnQmKSBjb25zdDsKLSAg
ICBEYXRlVGltZUZpZWxkRWxlbWVudCogZm9jdXNlZEZpZWxkKCkgY29uc3Q7Ci0gICAgc2l6ZV90
IGZvY3VzZWRGaWVsZEluZGV4KCkgY29uc3Q7Ci0gICAgYm9vbCBmb2N1c09uTmV4dEZvY3VzYWJs
ZUZpZWxkKHNpemVfdCBzdGFydEluZGV4KTsKLSAgICBib29sIGlzRGlzYWJsZWQoKSBjb25zdDsK
LSAgICBib29sIGlzUmVhZE9ubHkoKSBjb25zdDsKLSAgICB2b2lkIGxheW91dChjb25zdCBMYXlv
dXRQYXJhbWV0ZXJzJiwgY29uc3QgRGF0ZUNvbXBvbmVudHMmKTsKLSAgICB2b2lkIHVwZGF0ZVVJ
U3RhdGUoKTsKLQotICAgIC8vIEVsZW1lbnQgZnVuY3Rpb24uCi0gICAgdmlydHVhbCBQYXNzUmVm
UHRyPFJlbmRlclN0eWxlPiBjdXN0b21TdHlsZUZvclJlbmRlcmVyKCkgT1ZFUlJJREU7Ci0KLSAg
ICAvLyBEYXRlVGltZUZpZWxkRWxlbWVudDo6RmllbGRPd25lciBmdW5jdGlvbnMuCi0gICAgdmly
dHVhbCB2b2lkIGRpZEJsdXJGcm9tRmllbGQoKSBPVkVSUklERSBGSU5BTDsKLSAgICB2aXJ0dWFs
IHZvaWQgZGlkRm9jdXNPbkZpZWxkKCkgT1ZFUlJJREUgRklOQUw7Ci0gICAgdmlydHVhbCB2b2lk
IGZpZWxkVmFsdWVDaGFuZ2VkKCkgT1ZFUlJJREUgRklOQUw7Ci0gICAgdmlydHVhbCBib29sIGZv
Y3VzT25OZXh0RmllbGQoY29uc3QgRGF0ZVRpbWVGaWVsZEVsZW1lbnQmKSBPVkVSUklERSBGSU5B
TDsKLSAgICB2aXJ0dWFsIGJvb2wgZm9jdXNPblByZXZpb3VzRmllbGQoY29uc3QgRGF0ZVRpbWVG
aWVsZEVsZW1lbnQmKSBPVkVSUklERSBGSU5BTDsKLSAgICB2aXJ0dWFsIGJvb2wgaXNGaWVsZE93
bmVyRGlzYWJsZWQoKSBjb25zdCBPVkVSUklERSBGSU5BTDsKLSAgICB2aXJ0dWFsIGJvb2wgaXNG
aWVsZE93bmVyUmVhZE9ubHkoKSBjb25zdCBPVkVSUklERSBGSU5BTDsKLSAgICB2aXJ0dWFsIEF0
b21pY1N0cmluZyBsb2NhbGVJZGVudGlmaWVyKCkgY29uc3QgT1ZFUlJJREUgRklOQUw7Ci0KLSAg
ICBWZWN0b3I8RGF0ZVRpbWVGaWVsZEVsZW1lbnQqLCBtYXhpbXVtTnVtYmVyT2ZGaWVsZHM+IG1f
ZmllbGRzOwotICAgIEVkaXRDb250cm9sT3duZXIqIG1fZWRpdENvbnRyb2xPd25lcjsKLX07Ci0K
LX0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKLQotI2VuZGlmCi0jZW5kaWYKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L0RhdGVUaW1lRmllbGRFbGVtZW50LmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvc2hhZG93L0RhdGVUaW1lRmllbGRFbGVtZW50LmNwcApkZWxldGVkIGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggYjk3MjEyZWE3OTc0YTVlOTZiNDk2MzVlYjNkZWEzMTIyY2Nj
OGM3Ni4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL3NoYWRvdy9EYXRlVGltZUZpZWxkRWxlbWVudC5jcHAKKysrIC9kZXYv
bnVsbApAQCAtMSwyNDcgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAxMiBHb29nbGUg
SW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2Ug
aW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0
aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25z
Ci0gKiBhcmUgbWV0OgotICogMS4gIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0
IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogMi4gIFJlZGlzdHJp
YnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0
Ci0gKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyIGluIHRoZQotICogICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1h
dGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0gKgotICogVEhJUyBTT0ZU
V0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMg
SVMnJyBBTkQKLSAqIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQotICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNI
QU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UKLSAqIEFSRSBE
SVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRP
UlMgQkUgTElBQkxFCi0gKiBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQ
RUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTAotICogREFNQUdFUyAoSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IK
LSAqIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1Mg
SU5URVJSVVBUSU9OKSBIT1dFVkVSCi0gKiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElB
QklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QKLSAqIExJQUJJTElUWSwgT1IgVE9S
VCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkK
LSAqIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBU
SEUgUE9TU0lCSUxJVFkgT0YKLSAqIFNVQ0ggREFNQUdFLgotICovCi0KLSNpbmNsdWRlICJjb25m
aWcuaCIKLSNpZiBFTkFCTEUoSU5QVVRfTVVMVElQTEVfRklFTERTX1VJKQotI2luY2x1ZGUgIkRh
dGVUaW1lRmllbGRFbGVtZW50LmgiCi0KLSNpbmNsdWRlICJEYXRlQ29tcG9uZW50cy5oIgotI2lu
Y2x1ZGUgIkhUTUxOYW1lcy5oIgotI2luY2x1ZGUgIktleWJvYXJkRXZlbnQuaCIKLSNpbmNsdWRl
ICJMb2NhbGl6ZWRTdHJpbmdzLmgiCi0jaW5jbHVkZSAiUGxhdGZvcm1Mb2NhbGUuaCIKLSNpbmNs
dWRlICJSZW5kZXJPYmplY3QuaCIKLSNpbmNsdWRlICJUZXh0LmgiCi0jaW5jbHVkZSA8d3RmL3Rl
eHQvV1RGU3RyaW5nLmg+Ci0KLW5hbWVzcGFjZSBXZWJDb3JlIHsKLQotdXNpbmcgbmFtZXNwYWNl
IEhUTUxOYW1lczsKLQotRGF0ZVRpbWVGaWVsZEVsZW1lbnQ6OkZpZWxkT3duZXI6On5GaWVsZE93
bmVyKCkKLXsKLX0KLQotRGF0ZVRpbWVGaWVsZEVsZW1lbnQ6OkRhdGVUaW1lRmllbGRFbGVtZW50
KERvY3VtZW50KiBkb2N1bWVudCwgRmllbGRPd25lciYgZmllbGRPd25lcikKLSAgICA6IEhUTUxF
bGVtZW50KHNwYW5UYWcsIGRvY3VtZW50KQotICAgICwgbV9maWVsZE93bmVyKCZmaWVsZE93bmVy
KQotewotICAgIC8vIE9uIGFjY2Vzc2liaWxpdHksIERhdGVUaW1lRmllbGRFbGVtZW50IGFjdHMg
bGlrZSBzcGluIGJ1dHRvbi4KLSAgICBzZXRBdHRyaWJ1dGUocm9sZUF0dHIsICJzcGluYnV0dG9u
Iik7Ci0gICAgc2V0QXR0cmlidXRlKGFyaWFfdmFsdWV0ZXh0QXR0ciwgQVhEYXRlVGltZUZpZWxk
RW1wdHlWYWx1ZVRleHQoKSk7Ci19Ci0KLXZvaWQgRGF0ZVRpbWVGaWVsZEVsZW1lbnQ6OmRlZmF1
bHRFdmVudEhhbmRsZXIoRXZlbnQqIGV2ZW50KQotewotICAgIGlmIChldmVudC0+dHlwZSgpID09
IGV2ZW50TmFtZXMoKS5ibHVyRXZlbnQpCi0gICAgICAgIGRpZEJsdXIoKTsKLQotICAgIGlmIChl
dmVudC0+dHlwZSgpID09IGV2ZW50TmFtZXMoKS5mb2N1c0V2ZW50KQotICAgICAgICBkaWRGb2N1
cygpOwotCi0gICAgaWYgKGV2ZW50LT5pc0tleWJvYXJkRXZlbnQoKSkgewotICAgICAgICBLZXli
b2FyZEV2ZW50KiBrZXlib2FyZEV2ZW50ID0gc3RhdGljX2Nhc3Q8S2V5Ym9hcmRFdmVudCo+KGV2
ZW50KTsKLSAgICAgICAgaWYgKCFpc0Rpc2FibGVkKCkgJiYgIWlzRmllbGRPd25lckRpc2FibGVk
KCkgJiYgIWlzRmllbGRPd25lclJlYWRPbmx5KCkpIHsKLSAgICAgICAgICAgIGhhbmRsZUtleWJv
YXJkRXZlbnQoa2V5Ym9hcmRFdmVudCk7Ci0gICAgICAgICAgICBpZiAoa2V5Ym9hcmRFdmVudC0+
ZGVmYXVsdEhhbmRsZWQoKSkKLSAgICAgICAgICAgICAgICByZXR1cm47Ci0gICAgICAgIH0KLSAg
ICAgICAgZGVmYXVsdEtleWJvYXJkRXZlbnRIYW5kbGVyKGtleWJvYXJkRXZlbnQpOwotICAgICAg
ICBpZiAoa2V5Ym9hcmRFdmVudC0+ZGVmYXVsdEhhbmRsZWQoKSkKLSAgICAgICAgICAgIHJldHVy
bjsKLSAgICB9Ci0KLSAgICBIVE1MRWxlbWVudDo6ZGVmYXVsdEV2ZW50SGFuZGxlcihldmVudCk7
Ci19Ci0KLXZvaWQgRGF0ZVRpbWVGaWVsZEVsZW1lbnQ6OmRlZmF1bHRLZXlib2FyZEV2ZW50SGFu
ZGxlcihLZXlib2FyZEV2ZW50KiBrZXlib2FyZEV2ZW50KQotewotICAgIGlmIChrZXlib2FyZEV2
ZW50LT50eXBlKCkgIT0gZXZlbnROYW1lcygpLmtleWRvd25FdmVudCkKLSAgICAgICAgcmV0dXJu
OwotCi0gICAgaWYgKGlzRGlzYWJsZWQoKSB8fCBpc0ZpZWxkT3duZXJEaXNhYmxlZCgpKQotICAg
ICAgICByZXR1cm47Ci0KLSAgICBjb25zdCBTdHJpbmcmIGtleUlkZW50aWZpZXIgPSBrZXlib2Fy
ZEV2ZW50LT5rZXlJZGVudGlmaWVyKCk7Ci0KLSAgICBpZiAoa2V5SWRlbnRpZmllciA9PSAiTGVm
dCIpIHsKLSAgICAgICAgaWYgKCFtX2ZpZWxkT3duZXIpCi0gICAgICAgICAgICByZXR1cm47Ci0g
ICAgICAgIC8vIEZJWE1FOiBXZSdkIGxpa2UgdG8gdXNlIEZvY3VzQ29udHJvbGxlcjo6YWR2YW5j
ZUZvY3VzKEZvY3VzRGlyZWN0aW9uTGVmdCwgLi4uKQotICAgICAgICAvLyBidXQgaXQgZG9lc24n
dCB3b3JrIGZvciBzaGFkb3cgbm9kZXMuIHdlYmtpdC5vcmcvYi8xMDQ2NTAKLSAgICAgICAgaWYg
KCFsb2NhbGVGb3JPd25lcigpLmlzUlRMKCkgJiYgbV9maWVsZE93bmVyLT5mb2N1c09uUHJldmlv
dXNGaWVsZCgqdGhpcykpCi0gICAgICAgICAgICBrZXlib2FyZEV2ZW50LT5zZXREZWZhdWx0SGFu
ZGxlZCgpOwotICAgICAgICByZXR1cm47Ci0gICAgfQotCi0gICAgaWYgKGtleUlkZW50aWZpZXIg
PT0gIlJpZ2h0IikgewotICAgICAgICBpZiAoIW1fZmllbGRPd25lcikKLSAgICAgICAgICAgIHJl
dHVybjsKLSAgICAgICAgLy8gRklYTUU6IFdlJ2QgbGlrZSB0byB1c2UgRm9jdXNDb250cm9sbGVy
OjphZHZhbmNlRm9jdXMoRm9jdXNEaXJlY3Rpb25SaWdodCwgLi4uKQotICAgICAgICAvLyBidXQg
aXQgZG9lc24ndCB3b3JrIGZvciBzaGFkb3cgbm9kZXMuIHdlYmtpdC5vcmcvYi8xMDQ2NTAKLSAg
ICAgICAgaWYgKCFsb2NhbGVGb3JPd25lcigpLmlzUlRMKCkgJiYgbV9maWVsZE93bmVyLT5mb2N1
c09uTmV4dEZpZWxkKCp0aGlzKSkKLSAgICAgICAgICAgIGtleWJvYXJkRXZlbnQtPnNldERlZmF1
bHRIYW5kbGVkKCk7Ci0gICAgICAgIHJldHVybjsKLSAgICB9Ci0KLSAgICBpZiAoaXNGaWVsZE93
bmVyUmVhZE9ubHkoKSkKLSAgICAgICAgcmV0dXJuOwotCi0gICAgaWYgKGtleUlkZW50aWZpZXIg
PT0gIkRvd24iKSB7Ci0gICAgICAgIGlmIChrZXlib2FyZEV2ZW50LT5nZXRNb2RpZmllclN0YXRl
KCJBbHQiKSkKLSAgICAgICAgICAgIHJldHVybjsKLSAgICAgICAga2V5Ym9hcmRFdmVudC0+c2V0
RGVmYXVsdEhhbmRsZWQoKTsKLSAgICAgICAgc3RlcERvd24oKTsKLSAgICAgICAgcmV0dXJuOwot
ICAgIH0KLQotICAgIGlmIChrZXlJZGVudGlmaWVyID09ICJVcCIpIHsKLSAgICAgICAga2V5Ym9h
cmRFdmVudC0+c2V0RGVmYXVsdEhhbmRsZWQoKTsKLSAgICAgICAgc3RlcFVwKCk7Ci0gICAgICAg
IHJldHVybjsKLSAgICB9Ci0KLSAgICBpZiAoa2V5SWRlbnRpZmllciA9PSAiVSswMDA4IiB8fCBr
ZXlJZGVudGlmaWVyID09ICJVKzAwN0YiKSB7Ci0gICAgICAgIGtleWJvYXJkRXZlbnQtPnNldERl
ZmF1bHRIYW5kbGVkKCk7Ci0gICAgICAgIHNldEVtcHR5VmFsdWUoRGlzcGF0Y2hFdmVudCk7Ci0g
ICAgICAgIHJldHVybjsKLSAgICB9Ci19Ci0KLXZvaWQgRGF0ZVRpbWVGaWVsZEVsZW1lbnQ6OmRp
ZEJsdXIoKQotewotICAgIGlmIChtX2ZpZWxkT3duZXIpCi0gICAgICAgIG1fZmllbGRPd25lci0+
ZGlkQmx1ckZyb21GaWVsZCgpOwotfQotCi12b2lkIERhdGVUaW1lRmllbGRFbGVtZW50OjpkaWRG
b2N1cygpCi17Ci0gICAgaWYgKG1fZmllbGRPd25lcikKLSAgICAgICAgbV9maWVsZE93bmVyLT5k
aWRGb2N1c09uRmllbGQoKTsKLX0KLQotdm9pZCBEYXRlVGltZUZpZWxkRWxlbWVudDo6Zm9jdXNP
bk5leHRGaWVsZCgpCi17Ci0gICAgaWYgKCFtX2ZpZWxkT3duZXIpCi0gICAgICAgIHJldHVybjsK
LSAgICBtX2ZpZWxkT3duZXItPmZvY3VzT25OZXh0RmllbGQoKnRoaXMpOwotfQotCi12b2lkIERh
dGVUaW1lRmllbGRFbGVtZW50Ojppbml0aWFsaXplKGNvbnN0IEF0b21pY1N0cmluZyYgcHNldWRv
LCBjb25zdCBTdHJpbmcmIGF4SGVscFRleHQsIGludCBheE1pbmltdW0sIGludCBheE1heGltdW0p
Ci17Ci0gICAgc2V0QXR0cmlidXRlKGFyaWFfaGVscEF0dHIsIGF4SGVscFRleHQpOwotICAgIHNl
dEF0dHJpYnV0ZShhcmlhX3ZhbHVlbWluQXR0ciwgU3RyaW5nOjpudW1iZXIoYXhNaW5pbXVtKSk7
Ci0gICAgc2V0QXR0cmlidXRlKGFyaWFfdmFsdWVtYXhBdHRyLCBTdHJpbmc6Om51bWJlcihheE1h
eGltdW0pKTsKLSAgICBzZXRQc2V1ZG8ocHNldWRvKTsKLSAgICBhcHBlbmRDaGlsZChUZXh0Ojpj
cmVhdGUoZG9jdW1lbnQoKSwgdmlzaWJsZVZhbHVlKCkpKTsKLX0KLQotYm9vbCBEYXRlVGltZUZp
ZWxkRWxlbWVudDo6aXNEYXRlVGltZUZpZWxkRWxlbWVudCgpIGNvbnN0Ci17Ci0gICAgcmV0dXJu
IHRydWU7Ci19Ci0KLWJvb2wgRGF0ZVRpbWVGaWVsZEVsZW1lbnQ6OmlzRmllbGRPd25lckRpc2Fi
bGVkKCkgY29uc3QKLXsKLSAgICByZXR1cm4gbV9maWVsZE93bmVyICYmIG1fZmllbGRPd25lci0+
aXNGaWVsZE93bmVyRGlzYWJsZWQoKTsKLX0KLQotYm9vbCBEYXRlVGltZUZpZWxkRWxlbWVudDo6
aXNGaWVsZE93bmVyUmVhZE9ubHkoKSBjb25zdAotewotICAgIHJldHVybiBtX2ZpZWxkT3duZXIg
JiYgbV9maWVsZE93bmVyLT5pc0ZpZWxkT3duZXJSZWFkT25seSgpOwotfQotCi1ib29sIERhdGVU
aW1lRmllbGRFbGVtZW50Ojppc0ZvY3VzYWJsZSgpIGNvbnN0Ci17Ci0gICAgaWYgKGlzRGlzYWJs
ZWQoKSkKLSAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgIGlmIChpc0ZpZWxkT3duZXJEaXNhYmxl
ZCgpKQotICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgcmV0dXJuIEhUTUxFbGVtZW50Ojppc0Zv
Y3VzYWJsZSgpOwotfQotCi1ib29sIERhdGVUaW1lRmllbGRFbGVtZW50Ojppc0Rpc2FibGVkKCkg
Y29uc3QKLXsKLSAgICByZXR1cm4gZmFzdEhhc0F0dHJpYnV0ZShkaXNhYmxlZEF0dHIpOwotfQot
Ci1Mb2NhbGUmIERhdGVUaW1lRmllbGRFbGVtZW50Ojpsb2NhbGVGb3JPd25lcigpIGNvbnN0Ci17
Ci0gICAgcmV0dXJuIGRvY3VtZW50KCktPmdldENhY2hlZExvY2FsZShsb2NhbGVJZGVudGlmaWVy
KCkpOwotfQotCi1BdG9taWNTdHJpbmcgRGF0ZVRpbWVGaWVsZEVsZW1lbnQ6OmxvY2FsZUlkZW50
aWZpZXIoKSBjb25zdAotewotICAgIHJldHVybiBtX2ZpZWxkT3duZXIgPyBtX2ZpZWxkT3duZXIt
PmxvY2FsZUlkZW50aWZpZXIoKSA6IG51bGxBdG9tOwotfQotCi1mbG9hdCBEYXRlVGltZUZpZWxk
RWxlbWVudDo6bWF4aW11bVdpZHRoKGNvbnN0IEZvbnQmKQotewotICAgIGNvbnN0IGZsb2F0IHBh
ZGRpbmdMZWZ0QW5kUmlnaHQgPSAyOyAvLyBUaGlzIHNob3VsZCBtYXRjaCB0byBodG1sLmNzcy4K
LSAgICByZXR1cm4gcGFkZGluZ0xlZnRBbmRSaWdodDsKLX0KLQotdm9pZCBEYXRlVGltZUZpZWxk
RWxlbWVudDo6c2V0RGlzYWJsZWQoKQotewotICAgIC8vIFNldCBIVE1MIGF0dHJpYnV0ZSBkaXNh
YmxlZCB0byBjaGFuZ2UgYXBwZXJhbmNlLgotICAgIHNldEJvb2xlYW5BdHRyaWJ1dGUoZGlzYWJs
ZWRBdHRyLCB0cnVlKTsKLSAgICBzZXROZWVkc1N0eWxlUmVjYWxjKCk7Ci19Ci0KLWJvb2wgRGF0
ZVRpbWVGaWVsZEVsZW1lbnQ6OnN1cHBvcnRzRm9jdXMoKSBjb25zdAotewotICAgIHJldHVybiB0
cnVlOwotfQotCi12b2lkIERhdGVUaW1lRmllbGRFbGVtZW50Ojp1cGRhdGVWaXNpYmxlVmFsdWUo
RXZlbnRCZWhhdmlvciBldmVudEJlaGF2aW9yKQotewotICAgIFRleHQqIGNvbnN0IHRleHROb2Rl
ID0gdG9UZXh0KGZpcnN0Q2hpbGQoKSk7Ci0gICAgY29uc3QgU3RyaW5nIG5ld1Zpc2libGVWYWx1
ZSA9IHZpc2libGVWYWx1ZSgpOwotICAgIEFTU0VSVChuZXdWaXNpYmxlVmFsdWUubGVuZ3RoKCkg
PiAwKTsKLQotICAgIGlmICh0ZXh0Tm9kZS0+d2hvbGVUZXh0KCkgPT0gbmV3VmlzaWJsZVZhbHVl
KQotICAgICAgICByZXR1cm47Ci0KLSAgICB0ZXh0Tm9kZS0+cmVwbGFjZVdob2xlVGV4dChuZXdW
aXNpYmxlVmFsdWUsIEFTU0VSVF9OT19FWENFUFRJT04pOwotICAgIGlmIChoYXNWYWx1ZSgpKSB7
Ci0gICAgICAgIHNldEF0dHJpYnV0ZShhcmlhX3ZhbHVldGV4dEF0dHIsIG5ld1Zpc2libGVWYWx1
ZSk7Ci0gICAgICAgIHNldEF0dHJpYnV0ZShhcmlhX3ZhbHVlbm93QXR0ciwgU3RyaW5nOjpudW1i
ZXIodmFsdWVGb3JBUklBVmFsdWVOb3coKSkpOwotICAgIH0gZWxzZSB7Ci0gICAgICAgIHNldEF0
dHJpYnV0ZShhcmlhX3ZhbHVldGV4dEF0dHIsIEFYRGF0ZVRpbWVGaWVsZEVtcHR5VmFsdWVUZXh0
KCkpOwotICAgICAgICByZW1vdmVBdHRyaWJ1dGUoYXJpYV92YWx1ZW5vd0F0dHIpOwotICAgIH0K
LQotICAgIGlmIChldmVudEJlaGF2aW9yID09IERpc3BhdGNoRXZlbnQgJiYgbV9maWVsZE93bmVy
KQotICAgICAgICBtX2ZpZWxkT3duZXItPmZpZWxkVmFsdWVDaGFuZ2VkKCk7Ci19Ci0KLWludCBE
YXRlVGltZUZpZWxkRWxlbWVudDo6dmFsdWVGb3JBUklBVmFsdWVOb3coKSBjb25zdAotewotICAg
IHJldHVybiB2YWx1ZUFzSW50ZWdlcigpOwotfQotCi19IC8vIG5hbWVzcGFjZSBXZWJDb3JlCi0K
LSNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvRGF0ZVRpbWVG
aWVsZEVsZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L0RhdGVUaW1lRmllbGRF
bGVtZW50LmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDMxNDhjY2M4MTYwMzI2ZThm
NmY1YmNhYjA4ZGM1NDI5YzNjMjRhYjQuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvRGF0ZVRpbWVGaWVsZEVs
ZW1lbnQuaAorKysgL2Rldi9udWxsCkBAIC0xLDEwNiArMCwwIEBACi0vKgotICogQ29weXJpZ2h0
IChDKSAyMDEyIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0
cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRo
b3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9s
bG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKiAxLiAgUmVkaXN0cmlidXRpb25zIG9m
IHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgICBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIu
Ci0gKiAyLiAgUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICAgZG9jdW1lbnRhdGlv
biBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4K
LSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBD
T05UUklCVVRPUlMgYGBBUyBJUycnIEFORAotICogQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJS
QU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCi0gKiBJTVBMSUVEIFdB
UlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIg
UFVSUE9TRQotICogQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4g
T1IgSVRTIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUKLSAqIEZPUiBBTlkgRElSRUNULCBJTkRJUkVD
VCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMCi0gKiBE
QU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VC
U1RJVFVURSBHT09EUyBPUgotICogU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9G
SVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIKLSAqIENBVVNFRCBBTkQgT04g
QU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVAotICog
TElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFS
SVNJTkcgSU4gQU5ZIFdBWQotICogT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZF
TiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRgotICogU1VDSCBEQU1BR0UuCi0gKi8K
LQotI2lmbmRlZiBEYXRlVGltZUZpZWxkRWxlbWVudF9oCi0jZGVmaW5lIERhdGVUaW1lRmllbGRF
bGVtZW50X2gKLQotI2lmIEVOQUJMRShJTlBVVF9NVUxUSVBMRV9GSUVMRFNfVUkpCi0jaW5jbHVk
ZSAiSFRNTERpdkVsZW1lbnQuaCIKLQotbmFtZXNwYWNlIFdlYkNvcmUgewotCi1jbGFzcyBEYXRl
Q29tcG9uZW50czsKLWNsYXNzIERhdGVUaW1lRmllbGRzU3RhdGU7Ci1jbGFzcyBGb250OwotCi0v
LyBEYXRlVGltZUZpZWxkRWxlbWVudCBpcyBiYXNlIGNsYXNzIG9mIGRhdGUgdGltZSBmaWVsZCBl
bGVtZW50LgotY2xhc3MgRGF0ZVRpbWVGaWVsZEVsZW1lbnQgOiBwdWJsaWMgSFRNTEVsZW1lbnQg
ewotICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKERhdGVUaW1lRmllbGRFbGVtZW50KTsKLQotcHVi
bGljOgotICAgIGVudW0gRXZlbnRCZWhhdmlvciB7Ci0gICAgICAgIERpc3BhdGNoTm9FdmVudCwK
LSAgICAgICAgRGlzcGF0Y2hFdmVudCwKLSAgICB9OwotCi0gICAgLy8gRmllbGRPd25lciBpbXBs
ZW1lbnRlciBtdXN0IGNhbGwgcmVtb3ZlRXZlbnRIYW5kbGVyIHdoZW4KLSAgICAvLyBpdCBkb2Vz
bid0IGhhbmRsZSBldmVudCwgZS5nLiBhdCBkZXN0cnVjdGlvbi4KLSAgICBjbGFzcyBGaWVsZE93
bmVyIHsKLSAgICBwdWJsaWM6Ci0gICAgICAgIHZpcnR1YWwgfkZpZWxkT3duZXIoKTsKLSAgICAg
ICAgdmlydHVhbCB2b2lkIGRpZEJsdXJGcm9tRmllbGQoKSA9IDA7Ci0gICAgICAgIHZpcnR1YWwg
dm9pZCBkaWRGb2N1c09uRmllbGQoKSA9IDA7Ci0gICAgICAgIHZpcnR1YWwgdm9pZCBmaWVsZFZh
bHVlQ2hhbmdlZCgpID0gMDsKLSAgICAgICAgdmlydHVhbCBib29sIGZvY3VzT25OZXh0RmllbGQo
Y29uc3QgRGF0ZVRpbWVGaWVsZEVsZW1lbnQmKSA9IDA7Ci0gICAgICAgIHZpcnR1YWwgYm9vbCBm
b2N1c09uUHJldmlvdXNGaWVsZChjb25zdCBEYXRlVGltZUZpZWxkRWxlbWVudCYpID0gMDsKLSAg
ICAgICAgdmlydHVhbCBib29sIGlzRmllbGRPd25lckRpc2FibGVkKCkgY29uc3QgPSAwOwotICAg
ICAgICB2aXJ0dWFsIGJvb2wgaXNGaWVsZE93bmVyUmVhZE9ubHkoKSBjb25zdCA9IDA7Ci0gICAg
ICAgIHZpcnR1YWwgQXRvbWljU3RyaW5nIGxvY2FsZUlkZW50aWZpZXIoKSBjb25zdCA9IDA7Ci0g
ICAgfTsKLQotICAgIHZpcnR1YWwgdm9pZCBkZWZhdWx0RXZlbnRIYW5kbGVyKEV2ZW50KikgT1ZF
UlJJREU7Ci0gICAgdmlydHVhbCBib29sIGhhc1ZhbHVlKCkgY29uc3QgPSAwOwotICAgIGJvb2wg
aXNEaXNhYmxlZCgpIGNvbnN0OwotICAgIHZpcnR1YWwgYm9vbCBpc0ZvY3VzYWJsZSgpIGNvbnN0
IE9WRVJSSURFIEZJTkFMOwotICAgIHZpcnR1YWwgZmxvYXQgbWF4aW11bVdpZHRoKGNvbnN0IEZv
bnQmKTsKLSAgICB2aXJ0dWFsIHZvaWQgcG9wdWxhdGVEYXRlVGltZUZpZWxkc1N0YXRlKERhdGVU
aW1lRmllbGRzU3RhdGUmKSA9IDA7Ci0gICAgdm9pZCByZW1vdmVFdmVudEhhbmRsZXIoKSB7IG1f
ZmllbGRPd25lciA9IDA7IH0KLSAgICB2b2lkIHNldERpc2FibGVkKCk7Ci0gICAgdmlydHVhbCB2
b2lkIHNldEVtcHR5VmFsdWUoRXZlbnRCZWhhdmlvciA9IERpc3BhdGNoTm9FdmVudCkgPSAwOwot
ICAgIHZpcnR1YWwgdm9pZCBzZXRWYWx1ZUFzRGF0ZShjb25zdCBEYXRlQ29tcG9uZW50cyYpID0g
MDsKLSAgICB2aXJ0dWFsIHZvaWQgc2V0VmFsdWVBc0RhdGVUaW1lRmllbGRzU3RhdGUoY29uc3Qg
RGF0ZVRpbWVGaWVsZHNTdGF0ZSYpID0gMDsKLSAgICB2aXJ0dWFsIHZvaWQgc2V0VmFsdWVBc0lu
dGVnZXIoaW50LCBFdmVudEJlaGF2aW9yID0gRGlzcGF0Y2hOb0V2ZW50KSA9IDA7Ci0gICAgdmly
dHVhbCB2b2lkIHN0ZXBEb3duKCkgPSAwOwotICAgIHZpcnR1YWwgdm9pZCBzdGVwVXAoKSA9IDA7
Ci0gICAgdmlydHVhbCBTdHJpbmcgdmFsdWUoKSBjb25zdCA9IDA7Ci0gICAgdmlydHVhbCBTdHJp
bmcgdmlzaWJsZVZhbHVlKCkgY29uc3QgPSAwOwotCi1wcm90ZWN0ZWQ6Ci0gICAgRGF0ZVRpbWVG
aWVsZEVsZW1lbnQoRG9jdW1lbnQqLCBGaWVsZE93bmVyJik7Ci0gICAgdmlydHVhbCB2b2lkIGRp
ZEJsdXIoKTsKLSAgICB2aXJ0dWFsIHZvaWQgZGlkRm9jdXMoKTsKLSAgICB2b2lkIGZvY3VzT25O
ZXh0RmllbGQoKTsKLSAgICB2aXJ0dWFsIHZvaWQgaGFuZGxlS2V5Ym9hcmRFdmVudChLZXlib2Fy
ZEV2ZW50KikgPSAwOwotICAgIHZvaWQgaW5pdGlhbGl6ZShjb25zdCBBdG9taWNTdHJpbmcmIHBz
ZXVkbywgY29uc3QgU3RyaW5nJiBheEhlbHBUZXh0LCBpbnQgYXhNaW5pbXVtLCBpbnQgYXhNYXhp
bXVtKTsKLSAgICBMb2NhbGUmIGxvY2FsZUZvck93bmVyKCkgY29uc3Q7Ci0gICAgQXRvbWljU3Ry
aW5nIGxvY2FsZUlkZW50aWZpZXIoKSBjb25zdDsKLSAgICB2b2lkIHVwZGF0ZVZpc2libGVWYWx1
ZShFdmVudEJlaGF2aW9yKTsKLSAgICB2aXJ0dWFsIGludCB2YWx1ZUFzSW50ZWdlcigpIGNvbnN0
ID0gMDsKLSAgICB2aXJ0dWFsIGludCB2YWx1ZUZvckFSSUFWYWx1ZU5vdygpIGNvbnN0OwotCi1w
cml2YXRlOgotICAgIHZvaWQgZGVmYXVsdEtleWJvYXJkRXZlbnRIYW5kbGVyKEtleWJvYXJkRXZl
bnQqKTsKLSAgICB2aXJ0dWFsIGJvb2wgaXNEYXRlVGltZUZpZWxkRWxlbWVudCgpIGNvbnN0IE9W
RVJSSURFOwotICAgIGJvb2wgaXNGaWVsZE93bmVyRGlzYWJsZWQoKSBjb25zdDsKLSAgICBib29s
IGlzRmllbGRPd25lclJlYWRPbmx5KCkgY29uc3Q7Ci0gICAgdmlydHVhbCBib29sIHN1cHBvcnRz
Rm9jdXMoKSBjb25zdCBPVkVSUklERSBGSU5BTDsKLQotICAgIEZpZWxkT3duZXIqIG1fZmllbGRP
d25lcjsKLX07Ci0KLX0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKLQotI2VuZGlmCi0jZW5kaWYKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L0RhdGVUaW1lRmllbGRFbGVtZW50
cy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9EYXRlVGltZUZpZWxkRWxlbWVudHMu
Y3BwCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBjODQwNjIyNjc4MWIwMjMzMjM1OWU1
MjMxZDQwZGZkZTgxZjkzMjE4Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwCi0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L0RhdGVUaW1lRmllbGRFbGVtZW50
cy5jcHAKKysrIC9kZXYvbnVsbApAQCAtMSw2MzUgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAo
QykgMjAxMiBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICoKLSAqIFJlZGlzdHJp
YnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91
dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxv
d2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0OgotICogMS4gIFJlZGlzdHJpYnV0aW9ucyBvZiBz
b3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICAgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgot
ICogMi4gIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUg
YWJvdmUgY29weXJpZ2h0Ci0gKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQotICogICAgIGRvY3VtZW50YXRpb24g
YW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0g
KgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09O
VFJJQlVUT1JTIGBgQVMgSVMnJyBBTkQKLSAqIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFO
VElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQotICogSU1QTElFRCBXQVJS
QU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBV
UlBPU0UKLSAqIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9S
IElUUyBDT05UUklCVVRPUlMgQkUgTElBQkxFCi0gKiBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1Qs
IElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTAotICogREFN
QUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNU
SVRVVEUgR09PRFMgT1IKLSAqIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklU
UzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSCi0gKiBDQVVTRUQgQU5EIE9OIEFO
WSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QKLSAqIExJ
QUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklT
SU5HIElOIEFOWSBXQVkKLSAqIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4g
SUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YKLSAqIFNVQ0ggREFNQUdFLgotICovCi0K
LSNpbmNsdWRlICJjb25maWcuaCIKLSNpZiBFTkFCTEUoSU5QVVRfTVVMVElQTEVfRklFTERTX1VJ
KQotI2luY2x1ZGUgIkRhdGVUaW1lRmllbGRFbGVtZW50cy5oIgotCi0jaW5jbHVkZSAiRGF0ZUNv
bXBvbmVudHMuaCIKLSNpbmNsdWRlICJEYXRlVGltZUZpZWxkc1N0YXRlLmgiCi0jaW5jbHVkZSAi
TG9jYWxpemVkU3RyaW5ncy5oIgotI2luY2x1ZGUgPHd0Zi9DdXJyZW50VGltZS5oPgotI2luY2x1
ZGUgPHd0Zi9EYXRlTWF0aC5oPgotCi1uYW1lc3BhY2UgV2ViQ29yZSB7Ci0KLURhdGVUaW1lQU1Q
TUZpZWxkRWxlbWVudDo6RGF0ZVRpbWVBTVBNRmllbGRFbGVtZW50KERvY3VtZW50KiBkb2N1bWVu
dCwgRmllbGRPd25lciYgZmllbGRPd25lciwgY29uc3QgVmVjdG9yPFN0cmluZz4mIGFtcG1MYWJl
bHMpCi0gICAgOiBEYXRlVGltZVN5bWJvbGljRmllbGRFbGVtZW50KGRvY3VtZW50LCBmaWVsZE93
bmVyLCBhbXBtTGFiZWxzLCAwLCAxKQotewotfQotCi1QYXNzUmVmUHRyPERhdGVUaW1lQU1QTUZp
ZWxkRWxlbWVudD4gRGF0ZVRpbWVBTVBNRmllbGRFbGVtZW50OjpjcmVhdGUoRG9jdW1lbnQqIGRv
Y3VtZW50LCBGaWVsZE93bmVyJiBmaWVsZE93bmVyLCBjb25zdCBWZWN0b3I8U3RyaW5nPiYgYW1w
bUxhYmVscykKLXsKLSAgICBERUZJTkVfU1RBVElDX0xPQ0FMKEF0b21pY1N0cmluZywgYW1wbVBz
dWVkb0lkLCAoIi13ZWJraXQtZGF0ZXRpbWUtZWRpdC1hbXBtLWZpZWxkIiwgQXRvbWljU3RyaW5n
OjpDb25zdHJ1Y3RGcm9tTGl0ZXJhbCkpOwotICAgIFJlZlB0cjxEYXRlVGltZUFNUE1GaWVsZEVs
ZW1lbnQ+IGZpZWxkID0gYWRvcHRSZWYobmV3IERhdGVUaW1lQU1QTUZpZWxkRWxlbWVudChkb2N1
bWVudCwgZmllbGRPd25lciwgYW1wbUxhYmVscykpOwotICAgIGZpZWxkLT5pbml0aWFsaXplKGFt
cG1Qc3VlZG9JZCwgQVhBTVBNRmllbGRUZXh0KCkpOwotICAgIHJldHVybiBmaWVsZC5yZWxlYXNl
KCk7Ci19Ci0KLXZvaWQgRGF0ZVRpbWVBTVBNRmllbGRFbGVtZW50Ojpwb3B1bGF0ZURhdGVUaW1l
RmllbGRzU3RhdGUoRGF0ZVRpbWVGaWVsZHNTdGF0ZSYgZGF0ZVRpbWVGaWVsZHNTdGF0ZSkKLXsK
LSAgICBpZiAoaGFzVmFsdWUoKSkKLSAgICAgICAgZGF0ZVRpbWVGaWVsZHNTdGF0ZS5zZXRBTVBN
KHZhbHVlQXNJbnRlZ2VyKCkgPyBEYXRlVGltZUZpZWxkc1N0YXRlOjpBTVBNVmFsdWVQTSA6IERh
dGVUaW1lRmllbGRzU3RhdGU6OkFNUE1WYWx1ZUFNKTsKLSAgICBlbHNlCi0gICAgICAgIGRhdGVU
aW1lRmllbGRzU3RhdGUuc2V0QU1QTShEYXRlVGltZUZpZWxkc1N0YXRlOjpBTVBNVmFsdWVFbXB0
eSk7Ci19Ci0KLXZvaWQgRGF0ZVRpbWVBTVBNRmllbGRFbGVtZW50OjpzZXRWYWx1ZUFzRGF0ZShj
b25zdCBEYXRlQ29tcG9uZW50cyYgZGF0ZSkKLXsKLSAgICBzZXRWYWx1ZUFzSW50ZWdlcihkYXRl
LmhvdXIoKSA+PSAxMiA/IDEgOiAwKTsKLX0KLQotdm9pZCBEYXRlVGltZUFNUE1GaWVsZEVsZW1l
bnQ6OnNldFZhbHVlQXNEYXRlVGltZUZpZWxkc1N0YXRlKGNvbnN0IERhdGVUaW1lRmllbGRzU3Rh
dGUmIGRhdGVUaW1lRmllbGRzU3RhdGUpCi17Ci0gICAgaWYgKGRhdGVUaW1lRmllbGRzU3RhdGUu
aGFzQU1QTSgpKQotICAgICAgICBzZXRWYWx1ZUFzSW50ZWdlcihkYXRlVGltZUZpZWxkc1N0YXRl
LmFtcG0oKSk7Ci0gICAgZWxzZQotICAgICAgICBzZXRFbXB0eVZhbHVlKCk7Ci19Ci0KLS8vIC0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLQotRGF0ZVRpbWVEYXlGaWVsZEVsZW1lbnQ6OkRh
dGVUaW1lRGF5RmllbGRFbGVtZW50KERvY3VtZW50KiBkb2N1bWVudCwgRmllbGRPd25lciYgZmll
bGRPd25lciwgY29uc3QgU3RyaW5nJiBwbGFjZWhvbGRlciwgY29uc3QgUmFuZ2UmIHJhbmdlKQot
ICAgIDogRGF0ZVRpbWVOdW1lcmljRmllbGRFbGVtZW50KGRvY3VtZW50LCBmaWVsZE93bmVyLCBy
YW5nZSwgUmFuZ2UoMSwgMzEpLCBwbGFjZWhvbGRlcikKLXsKLX0KLQotUGFzc1JlZlB0cjxEYXRl
VGltZURheUZpZWxkRWxlbWVudD4gRGF0ZVRpbWVEYXlGaWVsZEVsZW1lbnQ6OmNyZWF0ZShEb2N1
bWVudCogZG9jdW1lbnQsIEZpZWxkT3duZXImIGZpZWxkT3duZXIsIGNvbnN0IFN0cmluZyYgcGxh
Y2Vob2xkZXIsIGNvbnN0IFJhbmdlJiByYW5nZSkKLXsKLSAgICBERUZJTkVfU1RBVElDX0xPQ0FM
KEF0b21pY1N0cmluZywgZGF5UHN1ZWRvSWQsICgiLXdlYmtpdC1kYXRldGltZS1lZGl0LWRheS1m
aWVsZCIsIEF0b21pY1N0cmluZzo6Q29uc3RydWN0RnJvbUxpdGVyYWwpKTsKLSAgICBSZWZQdHI8
RGF0ZVRpbWVEYXlGaWVsZEVsZW1lbnQ+IGZpZWxkID0gYWRvcHRSZWYobmV3IERhdGVUaW1lRGF5
RmllbGRFbGVtZW50KGRvY3VtZW50LCBmaWVsZE93bmVyLCBwbGFjZWhvbGRlci5pc0VtcHR5KCkg
PyBBU0NJSUxpdGVyYWwoIi0tIikgOiBwbGFjZWhvbGRlciwgcmFuZ2UpKTsKLSAgICBmaWVsZC0+
aW5pdGlhbGl6ZShkYXlQc3VlZG9JZCwgQVhEYXlPZk1vbnRoRmllbGRUZXh0KCkpOwotICAgIHJl
dHVybiBmaWVsZC5yZWxlYXNlKCk7Ci19Ci0KLXZvaWQgRGF0ZVRpbWVEYXlGaWVsZEVsZW1lbnQ6
OnBvcHVsYXRlRGF0ZVRpbWVGaWVsZHNTdGF0ZShEYXRlVGltZUZpZWxkc1N0YXRlJiBkYXRlVGlt
ZUZpZWxkc1N0YXRlKQotewotICAgIGRhdGVUaW1lRmllbGRzU3RhdGUuc2V0RGF5T2ZNb250aCho
YXNWYWx1ZSgpID8gdmFsdWVBc0ludGVnZXIoKSA6IERhdGVUaW1lRmllbGRzU3RhdGU6OmVtcHR5
VmFsdWUpOwotfQotCi12b2lkIERhdGVUaW1lRGF5RmllbGRFbGVtZW50OjpzZXRWYWx1ZUFzRGF0
ZShjb25zdCBEYXRlQ29tcG9uZW50cyYgZGF0ZSkKLXsKLSAgICBzZXRWYWx1ZUFzSW50ZWdlcihk
YXRlLm1vbnRoRGF5KCkpOwotfQotCi12b2lkIERhdGVUaW1lRGF5RmllbGRFbGVtZW50OjpzZXRW
YWx1ZUFzRGF0ZVRpbWVGaWVsZHNTdGF0ZShjb25zdCBEYXRlVGltZUZpZWxkc1N0YXRlJiBkYXRl
VGltZUZpZWxkc1N0YXRlKQotewotICAgIGlmICghZGF0ZVRpbWVGaWVsZHNTdGF0ZS5oYXNEYXlP
Zk1vbnRoKCkpIHsKLSAgICAgICAgc2V0RW1wdHlWYWx1ZSgpOwotICAgICAgICByZXR1cm47Ci0g
ICAgfQotCi0gICAgY29uc3QgdW5zaWduZWQgdmFsdWUgPSBkYXRlVGltZUZpZWxkc1N0YXRlLmRh
eU9mTW9udGgoKTsKLSAgICBpZiAocmFuZ2UoKS5pc0luUmFuZ2Uoc3RhdGljX2Nhc3Q8aW50Pih2
YWx1ZSkpKSB7Ci0gICAgICAgIHNldFZhbHVlQXNJbnRlZ2VyKHZhbHVlKTsKLSAgICAgICAgcmV0
dXJuOwotICAgIH0KLQotICAgIHNldEVtcHR5VmFsdWUoKTsKLX0KLQotLy8gLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLQotCi1EYXRlVGltZUhvdXJGaWVsZEVsZW1lbnRCYXNlOjpEYXRlVGlt
ZUhvdXJGaWVsZEVsZW1lbnRCYXNlKERvY3VtZW50KiBkb2N1bWVudCwgRmllbGRPd25lciYgZmll
bGRPd25lciwgY29uc3QgUmFuZ2UmIHJhbmdlLCBjb25zdCBSYW5nZSYgaGFyZExpbWl0cywgY29u
c3QgU3RlcCYgc3RlcCkKLSAgICA6IERhdGVUaW1lTnVtZXJpY0ZpZWxkRWxlbWVudChkb2N1bWVu
dCwgZmllbGRPd25lciwgcmFuZ2UsIGhhcmRMaW1pdHMsICItLSIsIHN0ZXApCi17Ci19Ci0KLXZv
aWQgRGF0ZVRpbWVIb3VyRmllbGRFbGVtZW50QmFzZTo6aW5pdGlhbGl6ZSgpCi17Ci0gICAgREVG
SU5FX1NUQVRJQ19MT0NBTChBdG9taWNTdHJpbmcsIGhvdXJQc3VlZG9JZCwgKCItd2Via2l0LWRh
dGV0aW1lLWVkaXQtaG91ci1maWVsZCIsIEF0b21pY1N0cmluZzo6Q29uc3RydWN0RnJvbUxpdGVy
YWwpKTsKLSAgICBEYXRlVGltZU51bWVyaWNGaWVsZEVsZW1lbnQ6OmluaXRpYWxpemUoaG91clBz
dWVkb0lkLCBBWEhvdXJGaWVsZFRleHQoKSk7Ci19Ci0KLXZvaWQgRGF0ZVRpbWVIb3VyRmllbGRF
bGVtZW50QmFzZTo6c2V0VmFsdWVBc0RhdGUoY29uc3QgRGF0ZUNvbXBvbmVudHMmIGRhdGUpCi17
Ci0gICAgc2V0VmFsdWVBc0ludGVnZXIoZGF0ZS5ob3VyKCkpOwotfQotCi12b2lkIERhdGVUaW1l
SG91ckZpZWxkRWxlbWVudEJhc2U6OnNldFZhbHVlQXNEYXRlVGltZUZpZWxkc1N0YXRlKGNvbnN0
IERhdGVUaW1lRmllbGRzU3RhdGUmIGRhdGVUaW1lRmllbGRzU3RhdGUpCi17Ci0gICAgaWYgKCFk
YXRlVGltZUZpZWxkc1N0YXRlLmhhc0hvdXIoKSkgewotICAgICAgICBzZXRFbXB0eVZhbHVlKCk7
Ci0gICAgICAgIHJldHVybjsKLSAgICB9Ci0KLSAgICBjb25zdCBpbnQgaG91cjEyID0gZGF0ZVRp
bWVGaWVsZHNTdGF0ZS5ob3VyKCk7Ci0gICAgaWYgKGhvdXIxMiA8IDEgfHwgaG91cjEyID4gMTIp
IHsKLSAgICAgICAgc2V0RW1wdHlWYWx1ZSgpOwotICAgICAgICByZXR1cm47Ci0gICAgfQotCi0g
ICAgaWYgKGRhdGVUaW1lRmllbGRzU3RhdGUuYW1wbSgpID09IERhdGVUaW1lRmllbGRzU3RhdGU6
OkFNUE1WYWx1ZVBNKQotICAgICAgICBzZXRWYWx1ZUFzSW50ZWdlcigoaG91cjEyICsgMTIpICUg
MjQpOwotICAgIGVsc2UKLSAgICAgICAgc2V0VmFsdWVBc0ludGVnZXIoaG91cjEyICUgMTIpOwot
fQotLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotCi1EYXRlVGltZUhvdXIxMUZpZWxk
RWxlbWVudDo6RGF0ZVRpbWVIb3VyMTFGaWVsZEVsZW1lbnQoRG9jdW1lbnQqIGRvY3VtZW50LCBG
aWVsZE93bmVyJiBmaWVsZE93bmVyLCBjb25zdCBSYW5nZSYgcmFuZ2UsIGNvbnN0IFN0ZXAmIHN0
ZXApCi0gICAgOiBEYXRlVGltZUhvdXJGaWVsZEVsZW1lbnRCYXNlKGRvY3VtZW50LCBmaWVsZE93
bmVyLCByYW5nZSwgUmFuZ2UoMCwgMTEpLCBzdGVwKQotewotfQotCi1QYXNzUmVmUHRyPERhdGVU
aW1lSG91cjExRmllbGRFbGVtZW50PiBEYXRlVGltZUhvdXIxMUZpZWxkRWxlbWVudDo6Y3JlYXRl
KERvY3VtZW50KiBkb2N1bWVudCwgRmllbGRPd25lciYgZmllbGRPd25lciwgY29uc3QgUmFuZ2Um
IGhvdXIyM1JhbmdlLCBjb25zdCBTdGVwJiBzdGVwKQotewotICAgIEFTU0VSVChob3VyMjNSYW5n
ZS5taW5pbXVtID49IDApOwotICAgIEFTU0VSVChob3VyMjNSYW5nZS5tYXhpbXVtIDw9IDIzKTsK
LSAgICBBU1NFUlQoaG91cjIzUmFuZ2UubWluaW11bSA8PSBob3VyMjNSYW5nZS5tYXhpbXVtKTsK
LSAgICBSYW5nZSByYW5nZSgwLCAxMSk7Ci0gICAgaWYgKGhvdXIyM1JhbmdlLm1heGltdW0gPCAx
MikKLSAgICAgICAgcmFuZ2UgPSBob3VyMjNSYW5nZTsKLSAgICBlbHNlIGlmIChob3VyMjNSYW5n
ZS5taW5pbXVtID49IDEyKSB7Ci0gICAgICAgIHJhbmdlLm1pbmltdW0gPSBob3VyMjNSYW5nZS5t
aW5pbXVtIC0gMTI7Ci0gICAgICAgIHJhbmdlLm1heGltdW0gPSBob3VyMjNSYW5nZS5tYXhpbXVt
IC0gMTI7Ci0gICAgfQotCi0gICAgUmVmUHRyPERhdGVUaW1lSG91cjExRmllbGRFbGVtZW50PiBm
aWVsZCA9IGFkb3B0UmVmKG5ldyBEYXRlVGltZUhvdXIxMUZpZWxkRWxlbWVudChkb2N1bWVudCwg
ZmllbGRPd25lciwgcmFuZ2UsIHN0ZXApKTsKLSAgICBmaWVsZC0+aW5pdGlhbGl6ZSgpOwotICAg
IHJldHVybiBmaWVsZC5yZWxlYXNlKCk7Ci19Ci0KLXZvaWQgRGF0ZVRpbWVIb3VyMTFGaWVsZEVs
ZW1lbnQ6OnBvcHVsYXRlRGF0ZVRpbWVGaWVsZHNTdGF0ZShEYXRlVGltZUZpZWxkc1N0YXRlJiBk
YXRlVGltZUZpZWxkc1N0YXRlKQotewotICAgIGlmICghaGFzVmFsdWUoKSkgewotICAgICAgICBk
YXRlVGltZUZpZWxkc1N0YXRlLnNldEhvdXIoRGF0ZVRpbWVGaWVsZHNTdGF0ZTo6ZW1wdHlWYWx1
ZSk7Ci0gICAgICAgIHJldHVybjsKLSAgICB9Ci0gICAgY29uc3QgaW50IHZhbHVlID0gdmFsdWVB
c0ludGVnZXIoKTsKLSAgICBkYXRlVGltZUZpZWxkc1N0YXRlLnNldEhvdXIodmFsdWUgPyB2YWx1
ZSA6IDEyKTsKLX0KLQotdm9pZCBEYXRlVGltZUhvdXIxMUZpZWxkRWxlbWVudDo6c2V0VmFsdWVB
c0ludGVnZXIoaW50IHZhbHVlLCBFdmVudEJlaGF2aW9yIGV2ZW50QmVoYXZpb3IpCi17Ci0gICAg
dmFsdWUgPSBSYW5nZSgwLCAyMykuY2xhbXBWYWx1ZSh2YWx1ZSkgJSAxMjsKLSAgICBEYXRlVGlt
ZU51bWVyaWNGaWVsZEVsZW1lbnQ6OnNldFZhbHVlQXNJbnRlZ2VyKHZhbHVlLCBldmVudEJlaGF2
aW9yKTsKLX0KLQotLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotCi1EYXRlVGltZUhv
dXIxMkZpZWxkRWxlbWVudDo6RGF0ZVRpbWVIb3VyMTJGaWVsZEVsZW1lbnQoRG9jdW1lbnQqIGRv
Y3VtZW50LCBGaWVsZE93bmVyJiBmaWVsZE93bmVyLCBjb25zdCBSYW5nZSYgcmFuZ2UsIGNvbnN0
IFN0ZXAmIHN0ZXApCi0gICAgOiBEYXRlVGltZUhvdXJGaWVsZEVsZW1lbnRCYXNlKGRvY3VtZW50
LCBmaWVsZE93bmVyLCByYW5nZSwgUmFuZ2UoMSwgMTIpLCBzdGVwKQotewotfQotCi1QYXNzUmVm
UHRyPERhdGVUaW1lSG91cjEyRmllbGRFbGVtZW50PiBEYXRlVGltZUhvdXIxMkZpZWxkRWxlbWVu
dDo6Y3JlYXRlKERvY3VtZW50KiBkb2N1bWVudCwgRmllbGRPd25lciYgZmllbGRPd25lciwgY29u
c3QgUmFuZ2UmIGhvdXIyM1JhbmdlLCBjb25zdCBTdGVwJiBzdGVwKQotewotICAgIEFTU0VSVCho
b3VyMjNSYW5nZS5taW5pbXVtID49IDApOwotICAgIEFTU0VSVChob3VyMjNSYW5nZS5tYXhpbXVt
IDw9IDIzKTsKLSAgICBBU1NFUlQoaG91cjIzUmFuZ2UubWluaW11bSA8PSBob3VyMjNSYW5nZS5t
YXhpbXVtKTsKLSAgICBSYW5nZSByYW5nZSgxLCAxMik7Ci0gICAgaWYgKGhvdXIyM1JhbmdlLm1h
eGltdW0gPCAxMikKLSAgICAgICAgcmFuZ2UgPSBob3VyMjNSYW5nZTsKLSAgICBlbHNlIGlmICho
b3VyMjNSYW5nZS5taW5pbXVtID49IDEyKSB7Ci0gICAgICAgIHJhbmdlLm1pbmltdW0gPSBob3Vy
MjNSYW5nZS5taW5pbXVtIC0gMTI7Ci0gICAgICAgIHJhbmdlLm1heGltdW0gPSBob3VyMjNSYW5n
ZS5tYXhpbXVtIC0gMTI7Ci0gICAgfQotICAgIGlmICghcmFuZ2UubWluaW11bSkKLSAgICAgICAg
cmFuZ2UubWluaW11bSA9IDEyOwotICAgIGlmICghcmFuZ2UubWF4aW11bSkKLSAgICAgICAgcmFu
Z2UubWF4aW11bSA9IDEyOwotICAgIGlmIChyYW5nZS5taW5pbXVtID4gcmFuZ2UubWF4aW11bSkg
ewotICAgICAgICByYW5nZS5taW5pbXVtID0gMTsKLSAgICAgICAgcmFuZ2UubWF4aW11bSA9IDEy
OwotICAgIH0KLSAgICBSZWZQdHI8RGF0ZVRpbWVIb3VyMTJGaWVsZEVsZW1lbnQ+IGZpZWxkID0g
YWRvcHRSZWYobmV3IERhdGVUaW1lSG91cjEyRmllbGRFbGVtZW50KGRvY3VtZW50LCBmaWVsZE93
bmVyLCByYW5nZSwgc3RlcCkpOwotICAgIGZpZWxkLT5pbml0aWFsaXplKCk7Ci0gICAgcmV0dXJu
IGZpZWxkLnJlbGVhc2UoKTsKLX0KLQotdm9pZCBEYXRlVGltZUhvdXIxMkZpZWxkRWxlbWVudDo6
cG9wdWxhdGVEYXRlVGltZUZpZWxkc1N0YXRlKERhdGVUaW1lRmllbGRzU3RhdGUmIGRhdGVUaW1l
RmllbGRzU3RhdGUpCi17Ci0gICAgZGF0ZVRpbWVGaWVsZHNTdGF0ZS5zZXRIb3VyKGhhc1ZhbHVl
KCkgPyB2YWx1ZUFzSW50ZWdlcigpIDogRGF0ZVRpbWVGaWVsZHNTdGF0ZTo6ZW1wdHlWYWx1ZSk7
Ci19Ci0KLXZvaWQgRGF0ZVRpbWVIb3VyMTJGaWVsZEVsZW1lbnQ6OnNldFZhbHVlQXNJbnRlZ2Vy
KGludCB2YWx1ZSwgRXZlbnRCZWhhdmlvciBldmVudEJlaGF2aW9yKQotewotICAgIHZhbHVlID0g
UmFuZ2UoMCwgMjQpLmNsYW1wVmFsdWUodmFsdWUpICUgMTI7Ci0gICAgRGF0ZVRpbWVOdW1lcmlj
RmllbGRFbGVtZW50OjpzZXRWYWx1ZUFzSW50ZWdlcih2YWx1ZSA/IHZhbHVlIDogMTIsIGV2ZW50
QmVoYXZpb3IpOwotfQotCi0vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi0KLURhdGVU
aW1lSG91cjIzRmllbGRFbGVtZW50OjpEYXRlVGltZUhvdXIyM0ZpZWxkRWxlbWVudChEb2N1bWVu
dCogZG9jdW1lbnQsIEZpZWxkT3duZXImIGZpZWxkT3duZXIsIGNvbnN0IFJhbmdlJiByYW5nZSwg
Y29uc3QgU3RlcCYgc3RlcCkKLSAgICA6IERhdGVUaW1lSG91ckZpZWxkRWxlbWVudEJhc2UoZG9j
dW1lbnQsIGZpZWxkT3duZXIsIHJhbmdlLCBSYW5nZSgwLCAyMyksIHN0ZXApCi17Ci19Ci0KLVBh
c3NSZWZQdHI8RGF0ZVRpbWVIb3VyMjNGaWVsZEVsZW1lbnQ+IERhdGVUaW1lSG91cjIzRmllbGRF
bGVtZW50OjpjcmVhdGUoRG9jdW1lbnQqIGRvY3VtZW50LCBGaWVsZE93bmVyJiBmaWVsZE93bmVy
LCBjb25zdCBSYW5nZSYgaG91cjIzUmFuZ2UsIGNvbnN0IFN0ZXAmIHN0ZXApCi17Ci0gICAgQVNT
RVJUKGhvdXIyM1JhbmdlLm1pbmltdW0gPj0gMCk7Ci0gICAgQVNTRVJUKGhvdXIyM1JhbmdlLm1h
eGltdW0gPD0gMjMpOwotICAgIEFTU0VSVChob3VyMjNSYW5nZS5taW5pbXVtIDw9IGhvdXIyM1Jh
bmdlLm1heGltdW0pOwotICAgIFJlZlB0cjxEYXRlVGltZUhvdXIyM0ZpZWxkRWxlbWVudD4gZmll
bGQgPSBhZG9wdFJlZihuZXcgRGF0ZVRpbWVIb3VyMjNGaWVsZEVsZW1lbnQoZG9jdW1lbnQsIGZp
ZWxkT3duZXIsIGhvdXIyM1JhbmdlLCBzdGVwKSk7Ci0gICAgZmllbGQtPmluaXRpYWxpemUoKTsK
LSAgICByZXR1cm4gZmllbGQucmVsZWFzZSgpOwotfQotCi12b2lkIERhdGVUaW1lSG91cjIzRmll
bGRFbGVtZW50Ojpwb3B1bGF0ZURhdGVUaW1lRmllbGRzU3RhdGUoRGF0ZVRpbWVGaWVsZHNTdGF0
ZSYgZGF0ZVRpbWVGaWVsZHNTdGF0ZSkKLXsKLSAgICBpZiAoIWhhc1ZhbHVlKCkpIHsKLSAgICAg
ICAgZGF0ZVRpbWVGaWVsZHNTdGF0ZS5zZXRIb3VyKERhdGVUaW1lRmllbGRzU3RhdGU6OmVtcHR5
VmFsdWUpOwotICAgICAgICByZXR1cm47Ci0gICAgfQotCi0gICAgY29uc3QgaW50IHZhbHVlID0g
dmFsdWVBc0ludGVnZXIoKTsKLQotICAgIGRhdGVUaW1lRmllbGRzU3RhdGUuc2V0SG91cih2YWx1
ZSA/IHZhbHVlICUgMTIgOiAxMik7Ci0gICAgZGF0ZVRpbWVGaWVsZHNTdGF0ZS5zZXRBTVBNKHZh
bHVlID49IDEyID8gRGF0ZVRpbWVGaWVsZHNTdGF0ZTo6QU1QTVZhbHVlUE0gOiBEYXRlVGltZUZp
ZWxkc1N0YXRlOjpBTVBNVmFsdWVBTSk7Ci19Ci0KLXZvaWQgRGF0ZVRpbWVIb3VyMjNGaWVsZEVs
ZW1lbnQ6OnNldFZhbHVlQXNJbnRlZ2VyKGludCB2YWx1ZSwgRXZlbnRCZWhhdmlvciBldmVudEJl
aGF2aW9yKQotewotICAgIHZhbHVlID0gUmFuZ2UoMCwgMjMpLmNsYW1wVmFsdWUodmFsdWUpOwot
ICAgIERhdGVUaW1lTnVtZXJpY0ZpZWxkRWxlbWVudDo6c2V0VmFsdWVBc0ludGVnZXIodmFsdWUs
IGV2ZW50QmVoYXZpb3IpOwotfQotCi0vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi0K
LURhdGVUaW1lSG91cjI0RmllbGRFbGVtZW50OjpEYXRlVGltZUhvdXIyNEZpZWxkRWxlbWVudChE
b2N1bWVudCogZG9jdW1lbnQsIEZpZWxkT3duZXImIGZpZWxkT3duZXIsIGNvbnN0IFJhbmdlJiBy
YW5nZSwgY29uc3QgU3RlcCYgc3RlcCkKLSAgICA6IERhdGVUaW1lSG91ckZpZWxkRWxlbWVudEJh
c2UoZG9jdW1lbnQsIGZpZWxkT3duZXIsIHJhbmdlLCBSYW5nZSgxLCAyNCksIHN0ZXApCi17Ci19
Ci0KLVBhc3NSZWZQdHI8RGF0ZVRpbWVIb3VyMjRGaWVsZEVsZW1lbnQ+IERhdGVUaW1lSG91cjI0
RmllbGRFbGVtZW50OjpjcmVhdGUoRG9jdW1lbnQqIGRvY3VtZW50LCBGaWVsZE93bmVyJiBmaWVs
ZE93bmVyLCBjb25zdCBSYW5nZSYgaG91cjIzUmFuZ2UsIGNvbnN0IFN0ZXAmIHN0ZXApCi17Ci0g
ICAgQVNTRVJUKGhvdXIyM1JhbmdlLm1pbmltdW0gPj0gMCk7Ci0gICAgQVNTRVJUKGhvdXIyM1Jh
bmdlLm1heGltdW0gPD0gMjMpOwotICAgIEFTU0VSVChob3VyMjNSYW5nZS5taW5pbXVtIDw9IGhv
dXIyM1JhbmdlLm1heGltdW0pOwotICAgIFJhbmdlIHJhbmdlKGhvdXIyM1JhbmdlLm1pbmltdW0g
PyBob3VyMjNSYW5nZS5taW5pbXVtIDogMjQsIGhvdXIyM1JhbmdlLm1heGltdW0gPyBob3VyMjNS
YW5nZS5tYXhpbXVtIDogMjQpOwotICAgIGlmIChyYW5nZS5taW5pbXVtID4gcmFuZ2UubWF4aW11
bSkgewotICAgICAgICByYW5nZS5taW5pbXVtID0gMTsKLSAgICAgICAgcmFuZ2UubWF4aW11bSA9
IDI0OwotICAgIH0KLQotICAgIFJlZlB0cjxEYXRlVGltZUhvdXIyNEZpZWxkRWxlbWVudD4gZmll
bGQgPSBhZG9wdFJlZihuZXcgRGF0ZVRpbWVIb3VyMjRGaWVsZEVsZW1lbnQoZG9jdW1lbnQsIGZp
ZWxkT3duZXIsIHJhbmdlLCBzdGVwKSk7Ci0gICAgZmllbGQtPmluaXRpYWxpemUoKTsKLSAgICBy
ZXR1cm4gZmllbGQucmVsZWFzZSgpOwotfQotCi12b2lkIERhdGVUaW1lSG91cjI0RmllbGRFbGVt
ZW50Ojpwb3B1bGF0ZURhdGVUaW1lRmllbGRzU3RhdGUoRGF0ZVRpbWVGaWVsZHNTdGF0ZSYgZGF0
ZVRpbWVGaWVsZHNTdGF0ZSkKLXsKLSAgICBpZiAoIWhhc1ZhbHVlKCkpIHsKLSAgICAgICAgZGF0
ZVRpbWVGaWVsZHNTdGF0ZS5zZXRIb3VyKERhdGVUaW1lRmllbGRzU3RhdGU6OmVtcHR5VmFsdWUp
OwotICAgICAgICByZXR1cm47Ci0gICAgfQotCi0gICAgY29uc3QgaW50IHZhbHVlID0gdmFsdWVB
c0ludGVnZXIoKTsKLQotICAgIGlmICh2YWx1ZSA9PSAyNCkgewotICAgICAgICBkYXRlVGltZUZp
ZWxkc1N0YXRlLnNldEhvdXIoMTIpOwotICAgICAgICBkYXRlVGltZUZpZWxkc1N0YXRlLnNldEFN
UE0oRGF0ZVRpbWVGaWVsZHNTdGF0ZTo6QU1QTVZhbHVlQU0pOwotICAgIH0gZWxzZSB7Ci0gICAg
ICAgIGRhdGVUaW1lRmllbGRzU3RhdGUuc2V0SG91cih2YWx1ZSA9PSAxMiA/IDEyIDogdmFsdWUg
JSAxMik7Ci0gICAgICAgIGRhdGVUaW1lRmllbGRzU3RhdGUuc2V0QU1QTSh2YWx1ZSA+PSAxMiA/
IERhdGVUaW1lRmllbGRzU3RhdGU6OkFNUE1WYWx1ZVBNIDogRGF0ZVRpbWVGaWVsZHNTdGF0ZTo6
QU1QTVZhbHVlQU0pOwotICAgIH0KLX0KLQotdm9pZCBEYXRlVGltZUhvdXIyNEZpZWxkRWxlbWVu
dDo6c2V0VmFsdWVBc0ludGVnZXIoaW50IHZhbHVlLCBFdmVudEJlaGF2aW9yIGV2ZW50QmVoYXZp
b3IpCi17Ci0gICAgdmFsdWUgPSBSYW5nZSgwLCAyNCkuY2xhbXBWYWx1ZSh2YWx1ZSk7Ci0gICAg
RGF0ZVRpbWVOdW1lcmljRmllbGRFbGVtZW50OjpzZXRWYWx1ZUFzSW50ZWdlcih2YWx1ZSA/IHZh
bHVlIDogMjQsIGV2ZW50QmVoYXZpb3IpOwotfQotCi0vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tCi0KLURhdGVUaW1lTWlsbGlzZWNvbmRGaWVsZEVsZW1lbnQ6OkRhdGVUaW1lTWlsbGlz
ZWNvbmRGaWVsZEVsZW1lbnQoRG9jdW1lbnQqIGRvY3VtZW50LCBGaWVsZE93bmVyJiBmaWVsZE93
bmVyLCBjb25zdCBSYW5nZSYgcmFuZ2UsIGNvbnN0IFN0ZXAmIHN0ZXApCi0gICAgOiBEYXRlVGlt
ZU51bWVyaWNGaWVsZEVsZW1lbnQoZG9jdW1lbnQsIGZpZWxkT3duZXIsIHJhbmdlLCBSYW5nZSgw
LCA5OTkpLCAiLS0tIiwgc3RlcCkKLXsKLX0KLQotUGFzc1JlZlB0cjxEYXRlVGltZU1pbGxpc2Vj
b25kRmllbGRFbGVtZW50PiBEYXRlVGltZU1pbGxpc2Vjb25kRmllbGRFbGVtZW50OjpjcmVhdGUo
RG9jdW1lbnQqIGRvY3VtZW50LCBGaWVsZE93bmVyJiBmaWVsZE93bmVyLCBjb25zdCBSYW5nZSYg
cmFuZ2UsIGNvbnN0IFN0ZXAmIHN0ZXApCi17Ci0gICAgREVGSU5FX1NUQVRJQ19MT0NBTChBdG9t
aWNTdHJpbmcsIG1pbGxpc2Vjb25kUHN1ZWRvSWQsICgiLXdlYmtpdC1kYXRldGltZS1lZGl0LW1p
bGxpc2Vjb25kLWZpZWxkIiwgQXRvbWljU3RyaW5nOjpDb25zdHJ1Y3RGcm9tTGl0ZXJhbCkpOwot
ICAgIFJlZlB0cjxEYXRlVGltZU1pbGxpc2Vjb25kRmllbGRFbGVtZW50PiBmaWVsZCA9IGFkb3B0
UmVmKG5ldyBEYXRlVGltZU1pbGxpc2Vjb25kRmllbGRFbGVtZW50KGRvY3VtZW50LCBmaWVsZE93
bmVyLCByYW5nZSwgc3RlcCkpOwotICAgIGZpZWxkLT5pbml0aWFsaXplKG1pbGxpc2Vjb25kUHN1
ZWRvSWQsIEFYTWlsbGlzZWNvbmRGaWVsZFRleHQoKSk7Ci0gICAgcmV0dXJuIGZpZWxkLnJlbGVh
c2UoKTsKLX0KLQotdm9pZCBEYXRlVGltZU1pbGxpc2Vjb25kRmllbGRFbGVtZW50Ojpwb3B1bGF0
ZURhdGVUaW1lRmllbGRzU3RhdGUoRGF0ZVRpbWVGaWVsZHNTdGF0ZSYgZGF0ZVRpbWVGaWVsZHNT
dGF0ZSkKLXsKLSAgICBkYXRlVGltZUZpZWxkc1N0YXRlLnNldE1pbGxpc2Vjb25kKGhhc1ZhbHVl
KCkgPyB2YWx1ZUFzSW50ZWdlcigpIDogRGF0ZVRpbWVGaWVsZHNTdGF0ZTo6ZW1wdHlWYWx1ZSk7
Ci19Ci0KLXZvaWQgRGF0ZVRpbWVNaWxsaXNlY29uZEZpZWxkRWxlbWVudDo6c2V0VmFsdWVBc0Rh
dGUoY29uc3QgRGF0ZUNvbXBvbmVudHMmIGRhdGUpCi17Ci0gICAgc2V0VmFsdWVBc0ludGVnZXIo
ZGF0ZS5taWxsaXNlY29uZCgpKTsKLX0KLQotdm9pZCBEYXRlVGltZU1pbGxpc2Vjb25kRmllbGRF
bGVtZW50OjpzZXRWYWx1ZUFzRGF0ZVRpbWVGaWVsZHNTdGF0ZShjb25zdCBEYXRlVGltZUZpZWxk
c1N0YXRlJiBkYXRlVGltZUZpZWxkc1N0YXRlKQotewotICAgIGlmICghZGF0ZVRpbWVGaWVsZHNT
dGF0ZS5oYXNNaWxsaXNlY29uZCgpKSB7Ci0gICAgICAgIHNldEVtcHR5VmFsdWUoKTsKLSAgICAg
ICAgcmV0dXJuOwotICAgIH0KLQotICAgIGNvbnN0IHVuc2lnbmVkIHZhbHVlID0gZGF0ZVRpbWVG
aWVsZHNTdGF0ZS5taWxsaXNlY29uZCgpOwotICAgIGlmICh2YWx1ZSA+IHN0YXRpY19jYXN0PHVu
c2lnbmVkPihtYXhpbXVtKCkpKSB7Ci0gICAgICAgIHNldEVtcHR5VmFsdWUoKTsKLSAgICAgICAg
cmV0dXJuOwotICAgIH0KLQotICAgIHNldFZhbHVlQXNJbnRlZ2VyKHZhbHVlKTsKLX0KLQotLy8g
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotCi1EYXRlVGltZU1pbnV0ZUZpZWxkRWxlbWVu
dDo6RGF0ZVRpbWVNaW51dGVGaWVsZEVsZW1lbnQoRG9jdW1lbnQqIGRvY3VtZW50LCBGaWVsZE93
bmVyJiBmaWVsZE93bmVyLCBjb25zdCBSYW5nZSYgcmFuZ2UsIGNvbnN0IFN0ZXAmIHN0ZXApCi0g
ICAgOiBEYXRlVGltZU51bWVyaWNGaWVsZEVsZW1lbnQoZG9jdW1lbnQsIGZpZWxkT3duZXIsIHJh
bmdlLCBSYW5nZSgwLCA1OSksICItLSIsIHN0ZXApCi17Ci19Ci0KLVBhc3NSZWZQdHI8RGF0ZVRp
bWVNaW51dGVGaWVsZEVsZW1lbnQ+IERhdGVUaW1lTWludXRlRmllbGRFbGVtZW50OjpjcmVhdGUo
RG9jdW1lbnQqIGRvY3VtZW50LCBGaWVsZE93bmVyJiBmaWVsZE93bmVyLCBjb25zdCBSYW5nZSYg
cmFuZ2UsIGNvbnN0IFN0ZXAmIHN0ZXApCi17Ci0gICAgREVGSU5FX1NUQVRJQ19MT0NBTChBdG9t
aWNTdHJpbmcsIG1pbnV0ZVBzdWVkb0lkLCAoIi13ZWJraXQtZGF0ZXRpbWUtZWRpdC1taW51dGUt
ZmllbGQiLCBBdG9taWNTdHJpbmc6OkNvbnN0cnVjdEZyb21MaXRlcmFsKSk7Ci0gICAgUmVmUHRy
PERhdGVUaW1lTWludXRlRmllbGRFbGVtZW50PiBmaWVsZCA9IGFkb3B0UmVmKG5ldyBEYXRlVGlt
ZU1pbnV0ZUZpZWxkRWxlbWVudChkb2N1bWVudCwgZmllbGRPd25lciwgcmFuZ2UsIHN0ZXApKTsK
LSAgICBmaWVsZC0+aW5pdGlhbGl6ZShtaW51dGVQc3VlZG9JZCwgQVhNaW51dGVGaWVsZFRleHQo
KSk7Ci0gICAgcmV0dXJuIGZpZWxkLnJlbGVhc2UoKTsKLX0KLQotdm9pZCBEYXRlVGltZU1pbnV0
ZUZpZWxkRWxlbWVudDo6cG9wdWxhdGVEYXRlVGltZUZpZWxkc1N0YXRlKERhdGVUaW1lRmllbGRz
U3RhdGUmIGRhdGVUaW1lRmllbGRzU3RhdGUpCi17Ci0gICAgZGF0ZVRpbWVGaWVsZHNTdGF0ZS5z
ZXRNaW51dGUoaGFzVmFsdWUoKSA/IHZhbHVlQXNJbnRlZ2VyKCkgOiBEYXRlVGltZUZpZWxkc1N0
YXRlOjplbXB0eVZhbHVlKTsKLX0KLQotdm9pZCBEYXRlVGltZU1pbnV0ZUZpZWxkRWxlbWVudDo6
c2V0VmFsdWVBc0RhdGUoY29uc3QgRGF0ZUNvbXBvbmVudHMmIGRhdGUpCi17Ci0gICAgc2V0VmFs
dWVBc0ludGVnZXIoZGF0ZS5taW51dGUoKSk7Ci19Ci0KLXZvaWQgRGF0ZVRpbWVNaW51dGVGaWVs
ZEVsZW1lbnQ6OnNldFZhbHVlQXNEYXRlVGltZUZpZWxkc1N0YXRlKGNvbnN0IERhdGVUaW1lRmll
bGRzU3RhdGUmIGRhdGVUaW1lRmllbGRzU3RhdGUpCi17Ci0gICAgaWYgKCFkYXRlVGltZUZpZWxk
c1N0YXRlLmhhc01pbnV0ZSgpKSB7Ci0gICAgICAgIHNldEVtcHR5VmFsdWUoKTsKLSAgICAgICAg
cmV0dXJuOwotICAgIH0KLQotICAgIGNvbnN0IHVuc2lnbmVkIHZhbHVlID0gZGF0ZVRpbWVGaWVs
ZHNTdGF0ZS5taW51dGUoKTsKLSAgICBpZiAodmFsdWUgPiBzdGF0aWNfY2FzdDx1bnNpZ25lZD4o
bWF4aW11bSgpKSkgewotICAgICAgICBzZXRFbXB0eVZhbHVlKCk7Ci0gICAgICAgIHJldHVybjsK
LSAgICB9Ci0KLSAgICBzZXRWYWx1ZUFzSW50ZWdlcih2YWx1ZSk7Ci19Ci0KLS8vIC0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0KLQotRGF0ZVRpbWVNb250aEZpZWxkRWxlbWVudDo6RGF0ZVRp
bWVNb250aEZpZWxkRWxlbWVudChEb2N1bWVudCogZG9jdW1lbnQsIEZpZWxkT3duZXImIGZpZWxk
T3duZXIsIGNvbnN0IFN0cmluZyYgcGxhY2Vob2xkZXIsIGNvbnN0IFJhbmdlJiByYW5nZSkKLSAg
ICA6IERhdGVUaW1lTnVtZXJpY0ZpZWxkRWxlbWVudChkb2N1bWVudCwgZmllbGRPd25lciwgcmFu
Z2UsIFJhbmdlKDEsIDEyKSwgcGxhY2Vob2xkZXIpCi17Ci19Ci0KLVBhc3NSZWZQdHI8RGF0ZVRp
bWVNb250aEZpZWxkRWxlbWVudD4gRGF0ZVRpbWVNb250aEZpZWxkRWxlbWVudDo6Y3JlYXRlKERv
Y3VtZW50KiBkb2N1bWVudCwgRmllbGRPd25lciYgZmllbGRPd25lciwgY29uc3QgU3RyaW5nJiBw
bGFjZWhvbGRlciwgY29uc3QgUmFuZ2UmIHJhbmdlKQotewotICAgIERFRklORV9TVEFUSUNfTE9D
QUwoQXRvbWljU3RyaW5nLCBtb250aFBzdWVkb0lkLCAoIi13ZWJraXQtZGF0ZXRpbWUtZWRpdC1t
b250aC1maWVsZCIsIEF0b21pY1N0cmluZzo6Q29uc3RydWN0RnJvbUxpdGVyYWwpKTsKLSAgICBS
ZWZQdHI8RGF0ZVRpbWVNb250aEZpZWxkRWxlbWVudD4gZmllbGQgPSBhZG9wdFJlZihuZXcgRGF0
ZVRpbWVNb250aEZpZWxkRWxlbWVudChkb2N1bWVudCwgZmllbGRPd25lciwgcGxhY2Vob2xkZXIu
aXNFbXB0eSgpID8gQVNDSUlMaXRlcmFsKCItLSIpIDogcGxhY2Vob2xkZXIsIHJhbmdlKSk7Ci0g
ICAgZmllbGQtPmluaXRpYWxpemUobW9udGhQc3VlZG9JZCwgQVhNb250aEZpZWxkVGV4dCgpKTsK
LSAgICByZXR1cm4gZmllbGQucmVsZWFzZSgpOwotfQotCi12b2lkIERhdGVUaW1lTW9udGhGaWVs
ZEVsZW1lbnQ6OnBvcHVsYXRlRGF0ZVRpbWVGaWVsZHNTdGF0ZShEYXRlVGltZUZpZWxkc1N0YXRl
JiBkYXRlVGltZUZpZWxkc1N0YXRlKQotewotICAgIGRhdGVUaW1lRmllbGRzU3RhdGUuc2V0TW9u
dGgoaGFzVmFsdWUoKSA/IHZhbHVlQXNJbnRlZ2VyKCkgOiBEYXRlVGltZUZpZWxkc1N0YXRlOjpl
bXB0eVZhbHVlKTsKLX0KLQotdm9pZCBEYXRlVGltZU1vbnRoRmllbGRFbGVtZW50OjpzZXRWYWx1
ZUFzRGF0ZShjb25zdCBEYXRlQ29tcG9uZW50cyYgZGF0ZSkKLXsKLSAgICBzZXRWYWx1ZUFzSW50
ZWdlcihkYXRlLm1vbnRoKCkgKyAxKTsKLX0KLQotdm9pZCBEYXRlVGltZU1vbnRoRmllbGRFbGVt
ZW50OjpzZXRWYWx1ZUFzRGF0ZVRpbWVGaWVsZHNTdGF0ZShjb25zdCBEYXRlVGltZUZpZWxkc1N0
YXRlJiBkYXRlVGltZUZpZWxkc1N0YXRlKQotewotICAgIGlmICghZGF0ZVRpbWVGaWVsZHNTdGF0
ZS5oYXNNb250aCgpKSB7Ci0gICAgICAgIHNldEVtcHR5VmFsdWUoKTsKLSAgICAgICAgcmV0dXJu
OwotICAgIH0KLQotICAgIGNvbnN0IHVuc2lnbmVkIHZhbHVlID0gZGF0ZVRpbWVGaWVsZHNTdGF0
ZS5tb250aCgpOwotICAgIGlmIChyYW5nZSgpLmlzSW5SYW5nZShzdGF0aWNfY2FzdDxpbnQ+KHZh
bHVlKSkpIHsKLSAgICAgICAgc2V0VmFsdWVBc0ludGVnZXIodmFsdWUpOwotICAgICAgICByZXR1
cm47Ci0gICAgfQotCi0gICAgc2V0RW1wdHlWYWx1ZSgpOwotfQotCi0vLyAtLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tCi0KLURhdGVUaW1lU2Vjb25kRmllbGRFbGVtZW50OjpEYXRlVGltZVNl
Y29uZEZpZWxkRWxlbWVudChEb2N1bWVudCogZG9jdW1lbnQsIEZpZWxkT3duZXImIGZpZWxkT3du
ZXIsIGNvbnN0IFJhbmdlJiByYW5nZSwgY29uc3QgU3RlcCYgc3RlcCkKLSAgICA6IERhdGVUaW1l
TnVtZXJpY0ZpZWxkRWxlbWVudChkb2N1bWVudCwgZmllbGRPd25lciwgcmFuZ2UsIFJhbmdlKDAs
IDU5KSwgIi0tIiwgc3RlcCkKLXsKLX0KLQotUGFzc1JlZlB0cjxEYXRlVGltZVNlY29uZEZpZWxk
RWxlbWVudD4gRGF0ZVRpbWVTZWNvbmRGaWVsZEVsZW1lbnQ6OmNyZWF0ZShEb2N1bWVudCogZG9j
dW1lbnQsIEZpZWxkT3duZXImIGZpZWxkT3duZXIsIGNvbnN0IFJhbmdlJiByYW5nZSwgY29uc3Qg
U3RlcCYgc3RlcCkKLXsKLSAgICBERUZJTkVfU1RBVElDX0xPQ0FMKEF0b21pY1N0cmluZywgc2Vj
b25kUHN1ZWRvSWQsICgiLXdlYmtpdC1kYXRldGltZS1lZGl0LXNlY29uZC1maWVsZCIsIEF0b21p
Y1N0cmluZzo6Q29uc3RydWN0RnJvbUxpdGVyYWwpKTsKLSAgICBSZWZQdHI8RGF0ZVRpbWVTZWNv
bmRGaWVsZEVsZW1lbnQ+IGZpZWxkID0gYWRvcHRSZWYobmV3IERhdGVUaW1lU2Vjb25kRmllbGRF
bGVtZW50KGRvY3VtZW50LCBmaWVsZE93bmVyLCByYW5nZSwgc3RlcCkpOwotICAgIGZpZWxkLT5p
bml0aWFsaXplKHNlY29uZFBzdWVkb0lkLCBBWFNlY29uZEZpZWxkVGV4dCgpKTsKLSAgICByZXR1
cm4gZmllbGQucmVsZWFzZSgpOwotfQotCi12b2lkIERhdGVUaW1lU2Vjb25kRmllbGRFbGVtZW50
Ojpwb3B1bGF0ZURhdGVUaW1lRmllbGRzU3RhdGUoRGF0ZVRpbWVGaWVsZHNTdGF0ZSYgZGF0ZVRp
bWVGaWVsZHNTdGF0ZSkKLXsKLSAgICBkYXRlVGltZUZpZWxkc1N0YXRlLnNldFNlY29uZChoYXNW
YWx1ZSgpID8gdmFsdWVBc0ludGVnZXIoKSA6IERhdGVUaW1lRmllbGRzU3RhdGU6OmVtcHR5VmFs
dWUpOwotfQotCi12b2lkIERhdGVUaW1lU2Vjb25kRmllbGRFbGVtZW50OjpzZXRWYWx1ZUFzRGF0
ZShjb25zdCBEYXRlQ29tcG9uZW50cyYgZGF0ZSkKLXsKLSAgICBzZXRWYWx1ZUFzSW50ZWdlcihk
YXRlLnNlY29uZCgpKTsKLX0KLQotdm9pZCBEYXRlVGltZVNlY29uZEZpZWxkRWxlbWVudDo6c2V0
VmFsdWVBc0RhdGVUaW1lRmllbGRzU3RhdGUoY29uc3QgRGF0ZVRpbWVGaWVsZHNTdGF0ZSYgZGF0
ZVRpbWVGaWVsZHNTdGF0ZSkKLXsKLSAgICBpZiAoIWRhdGVUaW1lRmllbGRzU3RhdGUuaGFzU2Vj
b25kKCkpIHsKLSAgICAgICAgc2V0RW1wdHlWYWx1ZSgpOwotICAgICAgICByZXR1cm47Ci0gICAg
fQotCi0gICAgY29uc3QgdW5zaWduZWQgdmFsdWUgPSBkYXRlVGltZUZpZWxkc1N0YXRlLnNlY29u
ZCgpOwotICAgIGlmICh2YWx1ZSA+IHN0YXRpY19jYXN0PHVuc2lnbmVkPihtYXhpbXVtKCkpKSB7
Ci0gICAgICAgIHNldEVtcHR5VmFsdWUoKTsKLSAgICAgICAgcmV0dXJuOwotICAgIH0KLQotICAg
IHNldFZhbHVlQXNJbnRlZ2VyKHZhbHVlKTsKLX0KLQotLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLQotCi1EYXRlVGltZVN5bWJvbGljTW9udGhGaWVsZEVsZW1lbnQ6OkRhdGVUaW1lU3lt
Ym9saWNNb250aEZpZWxkRWxlbWVudChEb2N1bWVudCogZG9jdW1lbnQsIEZpZWxkT3duZXImIGZp
ZWxkT3duZXIsIGNvbnN0IFZlY3RvcjxTdHJpbmc+JiBsYWJlbHMsIGludCBtaW5pbXVtLCBpbnQg
bWF4aW11bSkKLSAgICA6IERhdGVUaW1lU3ltYm9saWNGaWVsZEVsZW1lbnQoZG9jdW1lbnQsIGZp
ZWxkT3duZXIsIGxhYmVscywgbWluaW11bSwgbWF4aW11bSkKLXsKLX0KLQotUGFzc1JlZlB0cjxE
YXRlVGltZVN5bWJvbGljTW9udGhGaWVsZEVsZW1lbnQ+IERhdGVUaW1lU3ltYm9saWNNb250aEZp
ZWxkRWxlbWVudDo6Y3JlYXRlKERvY3VtZW50KiBkb2N1bWVudCwgRmllbGRPd25lciYgZmllbGRP
d25lciwgY29uc3QgVmVjdG9yPFN0cmluZz4mIGxhYmVscywgaW50IG1pbmltdW0sIGludCBtYXhp
bXVtKQotewotICAgIERFRklORV9TVEFUSUNfTE9DQUwoQXRvbWljU3RyaW5nLCBtb250aFBzdWVk
b0lkLCAoIi13ZWJraXQtZGF0ZXRpbWUtZWRpdC1tb250aC1maWVsZCIsIEF0b21pY1N0cmluZzo6
Q29uc3RydWN0RnJvbUxpdGVyYWwpKTsKLSAgICBSZWZQdHI8RGF0ZVRpbWVTeW1ib2xpY01vbnRo
RmllbGRFbGVtZW50PiBmaWVsZCA9IGFkb3B0UmVmKG5ldyBEYXRlVGltZVN5bWJvbGljTW9udGhG
aWVsZEVsZW1lbnQoZG9jdW1lbnQsIGZpZWxkT3duZXIsIGxhYmVscywgbWluaW11bSwgbWF4aW11
bSkpOwotICAgIGZpZWxkLT5pbml0aWFsaXplKG1vbnRoUHN1ZWRvSWQsIEFYTW9udGhGaWVsZFRl
eHQoKSk7Ci0gICAgcmV0dXJuIGZpZWxkLnJlbGVhc2UoKTsKLX0KLQotdm9pZCBEYXRlVGltZVN5
bWJvbGljTW9udGhGaWVsZEVsZW1lbnQ6OnBvcHVsYXRlRGF0ZVRpbWVGaWVsZHNTdGF0ZShEYXRl
VGltZUZpZWxkc1N0YXRlJiBkYXRlVGltZUZpZWxkc1N0YXRlKQotewotICAgIGlmICghaGFzVmFs
dWUoKSkKLSAgICAgICAgZGF0ZVRpbWVGaWVsZHNTdGF0ZS5zZXRNb250aChEYXRlVGltZUZpZWxk
c1N0YXRlOjplbXB0eVZhbHVlKTsKLSAgICBBU1NFUlQodmFsdWVBc0ludGVnZXIoKSA8IHN0YXRp
Y19jYXN0PGludD4oc3ltYm9sc1NpemUoKSkpOwotICAgIGRhdGVUaW1lRmllbGRzU3RhdGUuc2V0
TW9udGgodmFsdWVBc0ludGVnZXIoKSArIDEpOwotfQotCi12b2lkIERhdGVUaW1lU3ltYm9saWNN
b250aEZpZWxkRWxlbWVudDo6c2V0VmFsdWVBc0RhdGUoY29uc3QgRGF0ZUNvbXBvbmVudHMmIGRh
dGUpCi17Ci0gICAgc2V0VmFsdWVBc0ludGVnZXIoZGF0ZS5tb250aCgpKTsKLX0KLQotdm9pZCBE
YXRlVGltZVN5bWJvbGljTW9udGhGaWVsZEVsZW1lbnQ6OnNldFZhbHVlQXNEYXRlVGltZUZpZWxk
c1N0YXRlKGNvbnN0IERhdGVUaW1lRmllbGRzU3RhdGUmIGRhdGVUaW1lRmllbGRzU3RhdGUpCi17
Ci0gICAgaWYgKCFkYXRlVGltZUZpZWxkc1N0YXRlLmhhc01vbnRoKCkpIHsKLSAgICAgICAgc2V0
RW1wdHlWYWx1ZSgpOwotICAgICAgICByZXR1cm47Ci0gICAgfQotCi0gICAgY29uc3QgdW5zaWdu
ZWQgdmFsdWUgPSBkYXRlVGltZUZpZWxkc1N0YXRlLm1vbnRoKCkgLSAxOwotICAgIGlmICh2YWx1
ZSA+PSBzeW1ib2xzU2l6ZSgpKSB7Ci0gICAgICAgIHNldEVtcHR5VmFsdWUoKTsKLSAgICAgICAg
cmV0dXJuOwotICAgIH0KLQotICAgIHNldFZhbHVlQXNJbnRlZ2VyKHZhbHVlKTsKLX0KLQotLy8g
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotCi1EYXRlVGltZVdlZWtGaWVsZEVsZW1lbnQ6
OkRhdGVUaW1lV2Vla0ZpZWxkRWxlbWVudChEb2N1bWVudCogZG9jdW1lbnQsIEZpZWxkT3duZXIm
IGZpZWxkT3duZXIsIGNvbnN0IFJhbmdlJiByYW5nZSkKLSAgICA6IERhdGVUaW1lTnVtZXJpY0Zp
ZWxkRWxlbWVudChkb2N1bWVudCwgZmllbGRPd25lciwgcmFuZ2UsIFJhbmdlKERhdGVDb21wb25l
bnRzOjptaW5pbXVtV2Vla051bWJlciwgRGF0ZUNvbXBvbmVudHM6Om1heGltdW1XZWVrTnVtYmVy
KSwgIi0tIikKLXsKLX0KLQotUGFzc1JlZlB0cjxEYXRlVGltZVdlZWtGaWVsZEVsZW1lbnQ+IERh
dGVUaW1lV2Vla0ZpZWxkRWxlbWVudDo6Y3JlYXRlKERvY3VtZW50KiBkb2N1bWVudCwgRmllbGRP
d25lciYgZmllbGRPd25lciwgY29uc3QgUmFuZ2UmIHJhbmdlKQotewotICAgIERFRklORV9TVEFU
SUNfTE9DQUwoQXRvbWljU3RyaW5nLCB3ZWVrUHN1ZWRvSWQsICgiLXdlYmtpdC1kYXRldGltZS1l
ZGl0LXdlZWstZmllbGQiLCBBdG9taWNTdHJpbmc6OkNvbnN0cnVjdEZyb21MaXRlcmFsKSk7Ci0g
ICAgUmVmUHRyPERhdGVUaW1lV2Vla0ZpZWxkRWxlbWVudD4gZmllbGQgPSBhZG9wdFJlZihuZXcg
RGF0ZVRpbWVXZWVrRmllbGRFbGVtZW50KGRvY3VtZW50LCBmaWVsZE93bmVyLCByYW5nZSkpOwot
ICAgIGZpZWxkLT5pbml0aWFsaXplKHdlZWtQc3VlZG9JZCwgQVhXZWVrT2ZZZWFyRmllbGRUZXh0
KCkpOwotICAgIHJldHVybiBmaWVsZC5yZWxlYXNlKCk7Ci19Ci0KLXZvaWQgRGF0ZVRpbWVXZWVr
RmllbGRFbGVtZW50Ojpwb3B1bGF0ZURhdGVUaW1lRmllbGRzU3RhdGUoRGF0ZVRpbWVGaWVsZHNT
dGF0ZSYgZGF0ZVRpbWVGaWVsZHNTdGF0ZSkKLXsKLSAgICBkYXRlVGltZUZpZWxkc1N0YXRlLnNl
dFdlZWtPZlllYXIoaGFzVmFsdWUoKSA/IHZhbHVlQXNJbnRlZ2VyKCkgOiBEYXRlVGltZUZpZWxk
c1N0YXRlOjplbXB0eVZhbHVlKTsKLX0KLQotdm9pZCBEYXRlVGltZVdlZWtGaWVsZEVsZW1lbnQ6
OnNldFZhbHVlQXNEYXRlKGNvbnN0IERhdGVDb21wb25lbnRzJiBkYXRlKQotewotICAgIHNldFZh
bHVlQXNJbnRlZ2VyKGRhdGUud2VlaygpKTsKLX0KLQotdm9pZCBEYXRlVGltZVdlZWtGaWVsZEVs
ZW1lbnQ6OnNldFZhbHVlQXNEYXRlVGltZUZpZWxkc1N0YXRlKGNvbnN0IERhdGVUaW1lRmllbGRz
U3RhdGUmIGRhdGVUaW1lRmllbGRzU3RhdGUpCi17Ci0gICAgaWYgKCFkYXRlVGltZUZpZWxkc1N0
YXRlLmhhc1dlZWtPZlllYXIoKSkgewotICAgICAgICBzZXRFbXB0eVZhbHVlKCk7Ci0gICAgICAg
IHJldHVybjsKLSAgICB9Ci0KLSAgICBjb25zdCB1bnNpZ25lZCB2YWx1ZSA9IGRhdGVUaW1lRmll
bGRzU3RhdGUud2Vla09mWWVhcigpOwotICAgIGlmIChyYW5nZSgpLmlzSW5SYW5nZShzdGF0aWNf
Y2FzdDxpbnQ+KHZhbHVlKSkpIHsKLSAgICAgICAgc2V0VmFsdWVBc0ludGVnZXIodmFsdWUpOwot
ICAgICAgICByZXR1cm47Ci0gICAgfQotCi0gICAgc2V0RW1wdHlWYWx1ZSgpOwotfQotCi0vLyAt
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi0KLURhdGVUaW1lWWVhckZpZWxkRWxlbWVudDo6
RGF0ZVRpbWVZZWFyRmllbGRFbGVtZW50KERvY3VtZW50KiBkb2N1bWVudCwgRmllbGRPd25lciYg
ZmllbGRPd25lciwgY29uc3QgRGF0ZVRpbWVZZWFyRmllbGRFbGVtZW50OjpQYXJhbWV0ZXJzJiBw
YXJhbWV0ZXJzKQotICAgIDogRGF0ZVRpbWVOdW1lcmljRmllbGRFbGVtZW50KGRvY3VtZW50LCBm
aWVsZE93bmVyLCBSYW5nZShwYXJhbWV0ZXJzLm1pbmltdW1ZZWFyLCBwYXJhbWV0ZXJzLm1heGlt
dW1ZZWFyKSwgUmFuZ2UoRGF0ZUNvbXBvbmVudHM6Om1pbmltdW1ZZWFyKCksIERhdGVDb21wb25l
bnRzOjptYXhpbXVtWWVhcigpKSwgcGFyYW1ldGVycy5wbGFjZWhvbGRlci5pc0VtcHR5KCkgPyBB
U0NJSUxpdGVyYWwoIi0tLS0iKSA6IHBhcmFtZXRlcnMucGxhY2Vob2xkZXIpCi0gICAgLCBtX21p
bklzU3BlY2lmaWVkKHBhcmFtZXRlcnMubWluSXNTcGVjaWZpZWQpCi0gICAgLCBtX21heElzU3Bl
Y2lmaWVkKHBhcmFtZXRlcnMubWF4SXNTcGVjaWZpZWQpCi17Ci0gICAgQVNTRVJUKHBhcmFtZXRl
cnMubWluaW11bVllYXIgPj0gRGF0ZUNvbXBvbmVudHM6Om1pbmltdW1ZZWFyKCkpOwotICAgIEFT
U0VSVChwYXJhbWV0ZXJzLm1heGltdW1ZZWFyIDw9IERhdGVDb21wb25lbnRzOjptYXhpbXVtWWVh
cigpKTsKLX0KLQotUGFzc1JlZlB0cjxEYXRlVGltZVllYXJGaWVsZEVsZW1lbnQ+IERhdGVUaW1l
WWVhckZpZWxkRWxlbWVudDo6Y3JlYXRlKERvY3VtZW50KiBkb2N1bWVudCwgRmllbGRPd25lciYg
ZmllbGRPd25lciwgY29uc3QgRGF0ZVRpbWVZZWFyRmllbGRFbGVtZW50OjpQYXJhbWV0ZXJzJiBw
YXJhbWV0ZXJzKQotewotICAgIERFRklORV9TVEFUSUNfTE9DQUwoQXRvbWljU3RyaW5nLCB5ZWFy
UHN1ZWRvSWQsICgiLXdlYmtpdC1kYXRldGltZS1lZGl0LXllYXItZmllbGQiLCBBdG9taWNTdHJp
bmc6OkNvbnN0cnVjdEZyb21MaXRlcmFsKSk7Ci0gICAgUmVmUHRyPERhdGVUaW1lWWVhckZpZWxk
RWxlbWVudD4gZmllbGQgPSBhZG9wdFJlZihuZXcgRGF0ZVRpbWVZZWFyRmllbGRFbGVtZW50KGRv
Y3VtZW50LCBmaWVsZE93bmVyLCBwYXJhbWV0ZXJzKSk7Ci0gICAgZmllbGQtPmluaXRpYWxpemUo
eWVhclBzdWVkb0lkLCBBWFllYXJGaWVsZFRleHQoKSk7Ci0gICAgcmV0dXJuIGZpZWxkLnJlbGVh
c2UoKTsKLX0KLQotc3RhdGljIGludCBjdXJyZW50RnVsbFllYXIoKQotewotICAgIGRvdWJsZSBj
dXJyZW50ID0gY3VycmVudFRpbWVNUygpOwotICAgIGRvdWJsZSB1dGNPZmZzZXQgPSBjYWxjdWxh
dGVVVENPZmZzZXQoKTsKLSAgICBkb3VibGUgZHN0T2Zmc2V0ID0gY2FsY3VsYXRlRFNUT2Zmc2V0
KGN1cnJlbnQsIHV0Y09mZnNldCk7Ci0gICAgaW50IG9mZnNldCA9IHN0YXRpY19jYXN0PGludD4o
KHV0Y09mZnNldCArIGRzdE9mZnNldCkgLyBtc1Blck1pbnV0ZSk7Ci0gICAgY3VycmVudCArPSBv
ZmZzZXQgKiBtc1Blck1pbnV0ZTsKLQotICAgIERhdGVDb21wb25lbnRzIGRhdGU7Ci0gICAgZGF0
ZS5zZXRNaWxsaXNlY29uZHNTaW5jZUVwb2NoRm9yTW9udGgoY3VycmVudCk7Ci0gICAgcmV0dXJu
IGRhdGUuZnVsbFllYXIoKTsKLX0KLQotaW50IERhdGVUaW1lWWVhckZpZWxkRWxlbWVudDo6ZGVm
YXVsdFZhbHVlRm9yU3RlcERvd24oKSBjb25zdAotewotICAgIHJldHVybiBtX21heElzU3BlY2lm
aWVkID8gRGF0ZVRpbWVOdW1lcmljRmllbGRFbGVtZW50OjpkZWZhdWx0VmFsdWVGb3JTdGVwRG93
bigpIDogY3VycmVudEZ1bGxZZWFyKCk7Ci19Ci0KLWludCBEYXRlVGltZVllYXJGaWVsZEVsZW1l
bnQ6OmRlZmF1bHRWYWx1ZUZvclN0ZXBVcCgpIGNvbnN0Ci17Ci0gICAgcmV0dXJuIG1fbWluSXNT
cGVjaWZpZWQgPyBEYXRlVGltZU51bWVyaWNGaWVsZEVsZW1lbnQ6OmRlZmF1bHRWYWx1ZUZvclN0
ZXBVcCgpIDogY3VycmVudEZ1bGxZZWFyKCk7Ci19Ci0KLXZvaWQgRGF0ZVRpbWVZZWFyRmllbGRF
bGVtZW50Ojpwb3B1bGF0ZURhdGVUaW1lRmllbGRzU3RhdGUoRGF0ZVRpbWVGaWVsZHNTdGF0ZSYg
ZGF0ZVRpbWVGaWVsZHNTdGF0ZSkKLXsKLSAgICBkYXRlVGltZUZpZWxkc1N0YXRlLnNldFllYXIo
aGFzVmFsdWUoKSA/IHZhbHVlQXNJbnRlZ2VyKCkgOiBEYXRlVGltZUZpZWxkc1N0YXRlOjplbXB0
eVZhbHVlKTsKLX0KLQotdm9pZCBEYXRlVGltZVllYXJGaWVsZEVsZW1lbnQ6OnNldFZhbHVlQXNE
YXRlKGNvbnN0IERhdGVDb21wb25lbnRzJiBkYXRlKQotewotICAgIHNldFZhbHVlQXNJbnRlZ2Vy
KGRhdGUuZnVsbFllYXIoKSk7Ci19Ci0KLXZvaWQgRGF0ZVRpbWVZZWFyRmllbGRFbGVtZW50Ojpz
ZXRWYWx1ZUFzRGF0ZVRpbWVGaWVsZHNTdGF0ZShjb25zdCBEYXRlVGltZUZpZWxkc1N0YXRlJiBk
YXRlVGltZUZpZWxkc1N0YXRlKQotewotICAgIGlmICghZGF0ZVRpbWVGaWVsZHNTdGF0ZS5oYXNZ
ZWFyKCkpIHsKLSAgICAgICAgc2V0RW1wdHlWYWx1ZSgpOwotICAgICAgICByZXR1cm47Ci0gICAg
fQotCi0gICAgY29uc3QgdW5zaWduZWQgdmFsdWUgPSBkYXRlVGltZUZpZWxkc1N0YXRlLnllYXIo
KTsKLSAgICBpZiAocmFuZ2UoKS5pc0luUmFuZ2Uoc3RhdGljX2Nhc3Q8aW50Pih2YWx1ZSkpKSB7
Ci0gICAgICAgIHNldFZhbHVlQXNJbnRlZ2VyKHZhbHVlKTsKLSAgICAgICAgcmV0dXJuOwotICAg
IH0KLQotICAgIHNldEVtcHR5VmFsdWUoKTsKLX0KLQotfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQot
Ci0jZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L0RhdGVUaW1l
RmllbGRFbGVtZW50cy5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvRGF0ZVRpbWVGaWVs
ZEVsZW1lbnRzLmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGVlMDQ3NDM5MzBkMzVm
OWNmYjhkMmI0ZmUyNmJlNGQ3ODc1ZWM0MmUuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvRGF0ZVRpbWVGaWVs
ZEVsZW1lbnRzLmgKKysrIC9kZXYvbnVsbApAQCAtMSwyNjUgKzAsMCBAQAotLyoKLSAqIENvcHly
aWdodCAoQykgMjAxMiBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICoKLSAqIFJl
ZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Ig
d2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhl
IGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0OgotICogMS4gIFJlZGlzdHJpYnV0aW9u
cyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICAg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyLgotICogMi4gIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVj
ZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQotICogICAgIGRvY3VtZW50
YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRp
b24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJ
VFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJyBBTkQKLSAqIEFOWSBFWFBSRVNTIE9SIElNUExJRUQg
V0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQotICogSU1QTElF
RCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNV
TEFSIFBVUlBPU0UKLSAqIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJ
TkMuIE9SIElUUyBDT05UUklCVVRPUlMgQkUgTElBQkxFCi0gKiBGT1IgQU5ZIERJUkVDVCwgSU5E
SVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTAot
ICogREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9G
IFNVQlNUSVRVVEUgR09PRFMgT1IKLSAqIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1Ig
UFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSCi0gKiBDQVVTRUQgQU5E
IE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QK
LSAqIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNF
KSBBUklTSU5HIElOIEFOWSBXQVkKLSAqIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUs
IEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YKLSAqIFNVQ0ggREFNQUdFLgot
ICovCi0KLSNpZm5kZWYgRGF0ZVRpbWVGaWVsZEVsZW1lbnRzX2gKLSNkZWZpbmUgRGF0ZVRpbWVG
aWVsZEVsZW1lbnRzX2gKLQotI2lmIEVOQUJMRShJTlBVVF9NVUxUSVBMRV9GSUVMRFNfVUkpCi0j
aW5jbHVkZSAiRGF0ZVRpbWVOdW1lcmljRmllbGRFbGVtZW50LmgiCi0jaW5jbHVkZSAiRGF0ZVRp
bWVTeW1ib2xpY0ZpZWxkRWxlbWVudC5oIgotCi1uYW1lc3BhY2UgV2ViQ29yZSB7Ci0KLWNsYXNz
IERhdGVUaW1lQU1QTUZpZWxkRWxlbWVudCBGSU5BTCA6IHB1YmxpYyBEYXRlVGltZVN5bWJvbGlj
RmllbGRFbGVtZW50IHsKLSAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShEYXRlVGltZUFNUE1GaWVs
ZEVsZW1lbnQpOwotCi1wdWJsaWM6Ci0gICAgc3RhdGljIFBhc3NSZWZQdHI8RGF0ZVRpbWVBTVBN
RmllbGRFbGVtZW50PiBjcmVhdGUoRG9jdW1lbnQqLCBGaWVsZE93bmVyJiwgY29uc3QgVmVjdG9y
PFN0cmluZz4mKTsKLQotcHJpdmF0ZToKLSAgICBEYXRlVGltZUFNUE1GaWVsZEVsZW1lbnQoRG9j
dW1lbnQqLCBGaWVsZE93bmVyJiwgY29uc3QgVmVjdG9yPFN0cmluZz4mKTsKLQotICAgIC8vIERh
dGVUaW1lRmllbGRFbGVtZW50IGZ1bmN0aW9ucy4KLSAgICB2aXJ0dWFsIHZvaWQgcG9wdWxhdGVE
YXRlVGltZUZpZWxkc1N0YXRlKERhdGVUaW1lRmllbGRzU3RhdGUmKSBPVkVSUklERSBGSU5BTDsK
LSAgICB2aXJ0dWFsIHZvaWQgc2V0VmFsdWVBc0RhdGUoY29uc3QgRGF0ZUNvbXBvbmVudHMmKSBP
VkVSUklERSBGSU5BTDsKLSAgICB2aXJ0dWFsIHZvaWQgc2V0VmFsdWVBc0RhdGVUaW1lRmllbGRz
U3RhdGUoY29uc3QgRGF0ZVRpbWVGaWVsZHNTdGF0ZSYpIE9WRVJSSURFIEZJTkFMOwotfTsKLQot
Y2xhc3MgRGF0ZVRpbWVEYXlGaWVsZEVsZW1lbnQgRklOQUwgOiBwdWJsaWMgRGF0ZVRpbWVOdW1l
cmljRmllbGRFbGVtZW50IHsKLSAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShEYXRlVGltZURheUZp
ZWxkRWxlbWVudCk7Ci0KLXB1YmxpYzoKLSAgICBzdGF0aWMgUGFzc1JlZlB0cjxEYXRlVGltZURh
eUZpZWxkRWxlbWVudD4gY3JlYXRlKERvY3VtZW50KiwgRmllbGRPd25lciYsIGNvbnN0IFN0cmlu
ZyYgcGxhY2Vob2xkZXIsIGNvbnN0IFJhbmdlJik7Ci0KLXByaXZhdGU6Ci0gICAgRGF0ZVRpbWVE
YXlGaWVsZEVsZW1lbnQoRG9jdW1lbnQqLCBGaWVsZE93bmVyJiwgY29uc3QgU3RyaW5nJiBwbGFj
ZWhvbGRlciwgY29uc3QgUmFuZ2UmKTsKLQotICAgIC8vIERhdGVUaW1lRmllbGRFbGVtZW50IGZ1
bmN0aW9ucy4KLSAgICB2aXJ0dWFsIHZvaWQgcG9wdWxhdGVEYXRlVGltZUZpZWxkc1N0YXRlKERh
dGVUaW1lRmllbGRzU3RhdGUmKSBPVkVSUklERSBGSU5BTDsKLSAgICB2aXJ0dWFsIHZvaWQgc2V0
VmFsdWVBc0RhdGUoY29uc3QgRGF0ZUNvbXBvbmVudHMmKSBPVkVSUklERSBGSU5BTDsKLSAgICB2
aXJ0dWFsIHZvaWQgc2V0VmFsdWVBc0RhdGVUaW1lRmllbGRzU3RhdGUoY29uc3QgRGF0ZVRpbWVG
aWVsZHNTdGF0ZSYpIE9WRVJSSURFIEZJTkFMOwotfTsKLQotY2xhc3MgRGF0ZVRpbWVIb3VyRmll
bGRFbGVtZW50QmFzZSA6IHB1YmxpYyBEYXRlVGltZU51bWVyaWNGaWVsZEVsZW1lbnQgewotICAg
IFdURl9NQUtFX05PTkNPUFlBQkxFKERhdGVUaW1lSG91ckZpZWxkRWxlbWVudEJhc2UpOwotCi1w
cm90ZWN0ZWQ6Ci0gICAgRGF0ZVRpbWVIb3VyRmllbGRFbGVtZW50QmFzZShEb2N1bWVudCosIEZp
ZWxkT3duZXImLCBjb25zdCBSYW5nZSYsIGNvbnN0IFJhbmdlJiBoYXJkTGltaXRzLCBjb25zdCBT
dGVwJik7Ci0gICAgdm9pZCBpbml0aWFsaXplKCk7Ci0KLXByaXZhdGU6Ci0gICAgLy8gRGF0ZVRp
bWVGaWVsZEVsZW1lbnQgZnVuY3Rpb25zLgotICAgIHZpcnR1YWwgdm9pZCBzZXRWYWx1ZUFzRGF0
ZShjb25zdCBEYXRlQ29tcG9uZW50cyYpIE9WRVJSSURFIEZJTkFMOwotICAgIHZpcnR1YWwgdm9p
ZCBzZXRWYWx1ZUFzRGF0ZVRpbWVGaWVsZHNTdGF0ZShjb25zdCBEYXRlVGltZUZpZWxkc1N0YXRl
JikgT1ZFUlJJREUgRklOQUw7Ci19OwotCi1jbGFzcyBEYXRlVGltZUhvdXIxMUZpZWxkRWxlbWVu
dCBGSU5BTCA6IHB1YmxpYyBEYXRlVGltZUhvdXJGaWVsZEVsZW1lbnRCYXNlIHsKLSAgICBXVEZf
TUFLRV9OT05DT1BZQUJMRShEYXRlVGltZUhvdXIxMUZpZWxkRWxlbWVudCk7Ci0KLXB1YmxpYzoK
LSAgICBzdGF0aWMgUGFzc1JlZlB0cjxEYXRlVGltZUhvdXIxMUZpZWxkRWxlbWVudD4gY3JlYXRl
KERvY3VtZW50KiwgRmllbGRPd25lciYsIGNvbnN0IFJhbmdlJiwgY29uc3QgU3RlcCYpOwotCi1w
cml2YXRlOgotICAgIERhdGVUaW1lSG91cjExRmllbGRFbGVtZW50KERvY3VtZW50KiwgRmllbGRP
d25lciYsIGNvbnN0IFJhbmdlJiBob3VyMjNSYW5nZSwgY29uc3QgU3RlcCYpOwotCi0gICAgLy8g
RGF0ZVRpbWVGaWVsZEVsZW1lbnQgZnVuY3Rpb25zLgotICAgIHZpcnR1YWwgdm9pZCBwb3B1bGF0
ZURhdGVUaW1lRmllbGRzU3RhdGUoRGF0ZVRpbWVGaWVsZHNTdGF0ZSYpIE9WRVJSSURFIEZJTkFM
OwotICAgIHZpcnR1YWwgdm9pZCBzZXRWYWx1ZUFzSW50ZWdlcihpbnQsIEV2ZW50QmVoYXZpb3Ig
PSBEaXNwYXRjaE5vRXZlbnQpIE9WRVJSSURFIEZJTkFMOwotfTsKLQotY2xhc3MgRGF0ZVRpbWVI
b3VyMTJGaWVsZEVsZW1lbnQgRklOQUwgOiBwdWJsaWMgRGF0ZVRpbWVIb3VyRmllbGRFbGVtZW50
QmFzZSB7Ci0gICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoRGF0ZVRpbWVIb3VyMTJGaWVsZEVsZW1l
bnQpOwotCi1wdWJsaWM6Ci0gICAgc3RhdGljIFBhc3NSZWZQdHI8RGF0ZVRpbWVIb3VyMTJGaWVs
ZEVsZW1lbnQ+IGNyZWF0ZShEb2N1bWVudCosIEZpZWxkT3duZXImLCBjb25zdCBSYW5nZSYsIGNv
bnN0IFN0ZXAmKTsKLQotcHJpdmF0ZToKLSAgICBEYXRlVGltZUhvdXIxMkZpZWxkRWxlbWVudChE
b2N1bWVudCosIEZpZWxkT3duZXImLCBjb25zdCBSYW5nZSYgaG91cjIzUmFuZ2UsIGNvbnN0IFN0
ZXAmKTsKLQotICAgIC8vIERhdGVUaW1lRmllbGRFbGVtZW50IGZ1bmN0aW9ucy4KLSAgICB2aXJ0
dWFsIHZvaWQgcG9wdWxhdGVEYXRlVGltZUZpZWxkc1N0YXRlKERhdGVUaW1lRmllbGRzU3RhdGUm
KSBPVkVSUklERSBGSU5BTDsKLSAgICB2aXJ0dWFsIHZvaWQgc2V0VmFsdWVBc0ludGVnZXIoaW50
LCBFdmVudEJlaGF2aW9yID0gRGlzcGF0Y2hOb0V2ZW50KSBPVkVSUklERSBGSU5BTDsKLX07Ci0K
LWNsYXNzIERhdGVUaW1lSG91cjIzRmllbGRFbGVtZW50IEZJTkFMIDogcHVibGljIERhdGVUaW1l
SG91ckZpZWxkRWxlbWVudEJhc2UgewotICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKERhdGVUaW1l
SG91cjIzRmllbGRFbGVtZW50KTsKLQotcHVibGljOgotICAgIHN0YXRpYyBQYXNzUmVmUHRyPERh
dGVUaW1lSG91cjIzRmllbGRFbGVtZW50PiBjcmVhdGUoRG9jdW1lbnQqLCBGaWVsZE93bmVyJiwg
Y29uc3QgUmFuZ2UmLCBjb25zdCBTdGVwJik7Ci0KLXByaXZhdGU6Ci0gICAgRGF0ZVRpbWVIb3Vy
MjNGaWVsZEVsZW1lbnQoRG9jdW1lbnQqLCBGaWVsZE93bmVyJiwgY29uc3QgUmFuZ2UmIGhvdXIy
M1JhbmdlLCBjb25zdCBTdGVwJik7Ci0KLSAgICAvLyBEYXRlVGltZUZpZWxkRWxlbWVudCBmdW5j
dGlvbnMuCi0gICAgdmlydHVhbCB2b2lkIHBvcHVsYXRlRGF0ZVRpbWVGaWVsZHNTdGF0ZShEYXRl
VGltZUZpZWxkc1N0YXRlJikgT1ZFUlJJREUgRklOQUw7Ci0gICAgdmlydHVhbCB2b2lkIHNldFZh
bHVlQXNJbnRlZ2VyKGludCwgRXZlbnRCZWhhdmlvciA9IERpc3BhdGNoTm9FdmVudCkgT1ZFUlJJ
REUgRklOQUw7Ci19OwotCi1jbGFzcyBEYXRlVGltZUhvdXIyNEZpZWxkRWxlbWVudCBGSU5BTCA6
IHB1YmxpYyBEYXRlVGltZUhvdXJGaWVsZEVsZW1lbnRCYXNlIHsKLSAgICBXVEZfTUFLRV9OT05D
T1BZQUJMRShEYXRlVGltZUhvdXIyNEZpZWxkRWxlbWVudCk7Ci0KLXB1YmxpYzoKLSAgICBzdGF0
aWMgUGFzc1JlZlB0cjxEYXRlVGltZUhvdXIyNEZpZWxkRWxlbWVudD4gY3JlYXRlKERvY3VtZW50
KiwgRmllbGRPd25lciYsIGNvbnN0IFJhbmdlJiwgY29uc3QgU3RlcCYpOwotCi1wcml2YXRlOgot
ICAgIERhdGVUaW1lSG91cjI0RmllbGRFbGVtZW50KERvY3VtZW50KiwgRmllbGRPd25lciYsIGNv
bnN0IFJhbmdlJiBob3VyMjNSYW5nZSwgY29uc3QgU3RlcCYpOwotCi0gICAgLy8gRGF0ZVRpbWVG
aWVsZEVsZW1lbnQgZnVuY3Rpb25zLgotICAgIHZpcnR1YWwgdm9pZCBwb3B1bGF0ZURhdGVUaW1l
RmllbGRzU3RhdGUoRGF0ZVRpbWVGaWVsZHNTdGF0ZSYpIE9WRVJSSURFIEZJTkFMOwotICAgIHZp
cnR1YWwgdm9pZCBzZXRWYWx1ZUFzSW50ZWdlcihpbnQsIEV2ZW50QmVoYXZpb3IgPSBEaXNwYXRj
aE5vRXZlbnQpIE9WRVJSSURFIEZJTkFMOwotfTsKLQotY2xhc3MgRGF0ZVRpbWVNaWxsaXNlY29u
ZEZpZWxkRWxlbWVudCBGSU5BTCA6IHB1YmxpYyBEYXRlVGltZU51bWVyaWNGaWVsZEVsZW1lbnQg
ewotICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKERhdGVUaW1lTWlsbGlzZWNvbmRGaWVsZEVsZW1l
bnQpOwotCi1wdWJsaWM6Ci0gICAgc3RhdGljIFBhc3NSZWZQdHI8RGF0ZVRpbWVNaWxsaXNlY29u
ZEZpZWxkRWxlbWVudD4gY3JlYXRlKERvY3VtZW50KiwgRmllbGRPd25lciYsIGNvbnN0IFJhbmdl
JiwgY29uc3QgU3RlcCYpOwotCi1wcml2YXRlOgotICAgIERhdGVUaW1lTWlsbGlzZWNvbmRGaWVs
ZEVsZW1lbnQoRG9jdW1lbnQqLCBGaWVsZE93bmVyJiwgY29uc3QgUmFuZ2UmLCBjb25zdCBTdGVw
Jik7Ci0KLSAgICAvLyBEYXRlVGltZUZpZWxkRWxlbWVudCBmdW5jdGlvbnMuCi0gICAgdmlydHVh
bCB2b2lkIHBvcHVsYXRlRGF0ZVRpbWVGaWVsZHNTdGF0ZShEYXRlVGltZUZpZWxkc1N0YXRlJikg
T1ZFUlJJREUgRklOQUw7Ci0gICAgdmlydHVhbCB2b2lkIHNldFZhbHVlQXNEYXRlKGNvbnN0IERh
dGVDb21wb25lbnRzJikgT1ZFUlJJREUgRklOQUw7Ci0gICAgdmlydHVhbCB2b2lkIHNldFZhbHVl
QXNEYXRlVGltZUZpZWxkc1N0YXRlKGNvbnN0IERhdGVUaW1lRmllbGRzU3RhdGUmKSBPVkVSUklE
RSBGSU5BTDsKLX07Ci0KLWNsYXNzIERhdGVUaW1lTWludXRlRmllbGRFbGVtZW50IEZJTkFMIDog
cHVibGljIERhdGVUaW1lTnVtZXJpY0ZpZWxkRWxlbWVudCB7Ci0gICAgV1RGX01BS0VfTk9OQ09Q
WUFCTEUoRGF0ZVRpbWVNaW51dGVGaWVsZEVsZW1lbnQpOwotCi1wdWJsaWM6Ci0gICAgc3RhdGlj
IFBhc3NSZWZQdHI8RGF0ZVRpbWVNaW51dGVGaWVsZEVsZW1lbnQ+IGNyZWF0ZShEb2N1bWVudCos
IEZpZWxkT3duZXImLCBjb25zdCBSYW5nZSYsIGNvbnN0IFN0ZXAmKTsKLQotcHJpdmF0ZToKLSAg
ICBEYXRlVGltZU1pbnV0ZUZpZWxkRWxlbWVudChEb2N1bWVudCosIEZpZWxkT3duZXImLCBjb25z
dCBSYW5nZSYsIGNvbnN0IFN0ZXAmKTsKLQotICAgIC8vIERhdGVUaW1lRmllbGRFbGVtZW50IGZ1
bmN0aW9ucy4KLSAgICB2aXJ0dWFsIHZvaWQgcG9wdWxhdGVEYXRlVGltZUZpZWxkc1N0YXRlKERh
dGVUaW1lRmllbGRzU3RhdGUmKSBPVkVSUklERSBGSU5BTDsKLSAgICB2aXJ0dWFsIHZvaWQgc2V0
VmFsdWVBc0RhdGUoY29uc3QgRGF0ZUNvbXBvbmVudHMmKSBPVkVSUklERSBGSU5BTDsKLSAgICB2
aXJ0dWFsIHZvaWQgc2V0VmFsdWVBc0RhdGVUaW1lRmllbGRzU3RhdGUoY29uc3QgRGF0ZVRpbWVG
aWVsZHNTdGF0ZSYpIE9WRVJSSURFIEZJTkFMOwotfTsKLQotY2xhc3MgRGF0ZVRpbWVNb250aEZp
ZWxkRWxlbWVudCBGSU5BTCA6IHB1YmxpYyBEYXRlVGltZU51bWVyaWNGaWVsZEVsZW1lbnQgewot
ICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKERhdGVUaW1lTW9udGhGaWVsZEVsZW1lbnQpOwotCi1w
dWJsaWM6Ci0gICAgc3RhdGljIFBhc3NSZWZQdHI8RGF0ZVRpbWVNb250aEZpZWxkRWxlbWVudD4g
Y3JlYXRlKERvY3VtZW50KiwgRmllbGRPd25lciYsIGNvbnN0IFN0cmluZyYgcGxhY2Vob2xkZXIs
IGNvbnN0IFJhbmdlJik7Ci0KLXByaXZhdGU6Ci0gICAgRGF0ZVRpbWVNb250aEZpZWxkRWxlbWVu
dChEb2N1bWVudCosIEZpZWxkT3duZXImLCBjb25zdCBTdHJpbmcmIHBsYWNlaG9sZGVyLCBjb25z
dCBSYW5nZSYpOwotCi0gICAgLy8gRGF0ZVRpbWVGaWVsZEVsZW1lbnQgZnVuY3Rpb25zLgotICAg
IHZpcnR1YWwgdm9pZCBwb3B1bGF0ZURhdGVUaW1lRmllbGRzU3RhdGUoRGF0ZVRpbWVGaWVsZHNT
dGF0ZSYpIE9WRVJSSURFIEZJTkFMOwotICAgIHZpcnR1YWwgdm9pZCBzZXRWYWx1ZUFzRGF0ZShj
b25zdCBEYXRlQ29tcG9uZW50cyYpIE9WRVJSSURFIEZJTkFMOwotICAgIHZpcnR1YWwgdm9pZCBz
ZXRWYWx1ZUFzRGF0ZVRpbWVGaWVsZHNTdGF0ZShjb25zdCBEYXRlVGltZUZpZWxkc1N0YXRlJikg
T1ZFUlJJREUgRklOQUw7Ci19OwotCi1jbGFzcyBEYXRlVGltZVNlY29uZEZpZWxkRWxlbWVudCBG
SU5BTCA6IHB1YmxpYyBEYXRlVGltZU51bWVyaWNGaWVsZEVsZW1lbnQgewotICAgIFdURl9NQUtF
X05PTkNPUFlBQkxFKERhdGVUaW1lU2Vjb25kRmllbGRFbGVtZW50KTsKLQotcHVibGljOgotICAg
IHN0YXRpYyBQYXNzUmVmUHRyPERhdGVUaW1lU2Vjb25kRmllbGRFbGVtZW50PiBjcmVhdGUoRG9j
dW1lbnQqLCBGaWVsZE93bmVyJiwgY29uc3QgUmFuZ2UmLCBjb25zdCBTdGVwJik7Ci0KLXByaXZh
dGU6Ci0gICAgRGF0ZVRpbWVTZWNvbmRGaWVsZEVsZW1lbnQoRG9jdW1lbnQqLCBGaWVsZE93bmVy
JiwgY29uc3QgUmFuZ2UmLCBjb25zdCBTdGVwJik7Ci0KLSAgICAvLyBEYXRlVGltZUZpZWxkRWxl
bWVudCBmdW5jdGlvbnMuCi0gICAgdmlydHVhbCB2b2lkIHBvcHVsYXRlRGF0ZVRpbWVGaWVsZHNT
dGF0ZShEYXRlVGltZUZpZWxkc1N0YXRlJikgT1ZFUlJJREUgRklOQUw7Ci0gICAgdmlydHVhbCB2
b2lkIHNldFZhbHVlQXNEYXRlKGNvbnN0IERhdGVDb21wb25lbnRzJikgT1ZFUlJJREUgRklOQUw7
Ci0gICAgdmlydHVhbCB2b2lkIHNldFZhbHVlQXNEYXRlVGltZUZpZWxkc1N0YXRlKGNvbnN0IERh
dGVUaW1lRmllbGRzU3RhdGUmKSBPVkVSUklERSBGSU5BTDsKLX07Ci0KLWNsYXNzIERhdGVUaW1l
U3ltYm9saWNNb250aEZpZWxkRWxlbWVudCBGSU5BTCA6IHB1YmxpYyBEYXRlVGltZVN5bWJvbGlj
RmllbGRFbGVtZW50IHsKLSAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShEYXRlVGltZVN5bWJvbGlj
TW9udGhGaWVsZEVsZW1lbnQpOwotCi1wdWJsaWM6Ci0gICAgc3RhdGljIFBhc3NSZWZQdHI8RGF0
ZVRpbWVTeW1ib2xpY01vbnRoRmllbGRFbGVtZW50PiBjcmVhdGUoRG9jdW1lbnQqLCBGaWVsZE93
bmVyJiwgY29uc3QgVmVjdG9yPFN0cmluZz4mLCBpbnQgbWluaW11bSwgaW50IG1heGltdW0pOwot
Ci1wcml2YXRlOgotICAgIERhdGVUaW1lU3ltYm9saWNNb250aEZpZWxkRWxlbWVudChEb2N1bWVu
dCosIEZpZWxkT3duZXImLCBjb25zdCBWZWN0b3I8U3RyaW5nPiYsIGludCBtaW5pbXVtLCBpbnQg
bWF4aW11bSk7Ci0KLSAgICAvLyBEYXRlVGltZUZpZWxkRWxlbWVudCBmdW5jdGlvbnMuCi0gICAg
dmlydHVhbCB2b2lkIHBvcHVsYXRlRGF0ZVRpbWVGaWVsZHNTdGF0ZShEYXRlVGltZUZpZWxkc1N0
YXRlJikgT1ZFUlJJREUgRklOQUw7Ci0gICAgdmlydHVhbCB2b2lkIHNldFZhbHVlQXNEYXRlKGNv
bnN0IERhdGVDb21wb25lbnRzJikgT1ZFUlJJREUgRklOQUw7Ci0gICAgdmlydHVhbCB2b2lkIHNl
dFZhbHVlQXNEYXRlVGltZUZpZWxkc1N0YXRlKGNvbnN0IERhdGVUaW1lRmllbGRzU3RhdGUmKSBP
VkVSUklERSBGSU5BTDsKLX07Ci0KLWNsYXNzIERhdGVUaW1lV2Vla0ZpZWxkRWxlbWVudCBGSU5B
TCA6IHB1YmxpYyBEYXRlVGltZU51bWVyaWNGaWVsZEVsZW1lbnQgewotICAgIFdURl9NQUtFX05P
TkNPUFlBQkxFKERhdGVUaW1lV2Vla0ZpZWxkRWxlbWVudCk7Ci0KLXB1YmxpYzoKLSAgICBzdGF0
aWMgUGFzc1JlZlB0cjxEYXRlVGltZVdlZWtGaWVsZEVsZW1lbnQ+IGNyZWF0ZShEb2N1bWVudCos
IEZpZWxkT3duZXImLCBjb25zdCBSYW5nZSYpOwotCi1wcml2YXRlOgotICAgIERhdGVUaW1lV2Vl
a0ZpZWxkRWxlbWVudChEb2N1bWVudCosIEZpZWxkT3duZXImLCBjb25zdCBSYW5nZSYpOwotCi0g
ICAgLy8gRGF0ZVRpbWVGaWVsZEVsZW1lbnQgZnVuY3Rpb25zLgotICAgIHZpcnR1YWwgdm9pZCBw
b3B1bGF0ZURhdGVUaW1lRmllbGRzU3RhdGUoRGF0ZVRpbWVGaWVsZHNTdGF0ZSYpIE9WRVJSSURF
IEZJTkFMOwotICAgIHZpcnR1YWwgdm9pZCBzZXRWYWx1ZUFzRGF0ZShjb25zdCBEYXRlQ29tcG9u
ZW50cyYpIE9WRVJSSURFIEZJTkFMOwotICAgIHZpcnR1YWwgdm9pZCBzZXRWYWx1ZUFzRGF0ZVRp
bWVGaWVsZHNTdGF0ZShjb25zdCBEYXRlVGltZUZpZWxkc1N0YXRlJikgT1ZFUlJJREUgRklOQUw7
Ci19OwotCi1jbGFzcyBEYXRlVGltZVllYXJGaWVsZEVsZW1lbnQgRklOQUwgOiBwdWJsaWMgRGF0
ZVRpbWVOdW1lcmljRmllbGRFbGVtZW50IHsKLSAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShEYXRl
VGltZVllYXJGaWVsZEVsZW1lbnQpOwotCi1wdWJsaWM6Ci0gICAgc3RydWN0IFBhcmFtZXRlcnMg
ewotICAgICAgICBpbnQgbWluaW11bVllYXI7Ci0gICAgICAgIGludCBtYXhpbXVtWWVhcjsKLSAg
ICAgICAgYm9vbCBtaW5Jc1NwZWNpZmllZDsKLSAgICAgICAgYm9vbCBtYXhJc1NwZWNpZmllZDsK
LSAgICAgICAgU3RyaW5nIHBsYWNlaG9sZGVyOwotCi0gICAgICAgIFBhcmFtZXRlcnMoKQotICAg
ICAgICAgICAgOiBtaW5pbXVtWWVhcigtMSkKLSAgICAgICAgICAgICwgbWF4aW11bVllYXIoLTEp
Ci0gICAgICAgICAgICAsIG1pbklzU3BlY2lmaWVkKGZhbHNlKQotICAgICAgICAgICAgLCBtYXhJ
c1NwZWNpZmllZChmYWxzZSkKLSAgICAgICAgewotICAgICAgICB9Ci0gICAgfTsKLQotICAgIHN0
YXRpYyBQYXNzUmVmUHRyPERhdGVUaW1lWWVhckZpZWxkRWxlbWVudD4gY3JlYXRlKERvY3VtZW50
KiwgRmllbGRPd25lciYsIGNvbnN0IFBhcmFtZXRlcnMmKTsKLQotcHJpdmF0ZToKLSAgICBEYXRl
VGltZVllYXJGaWVsZEVsZW1lbnQoRG9jdW1lbnQqLCBGaWVsZE93bmVyJiwgY29uc3QgUGFyYW1l
dGVycyYpOwotCi0gICAgLy8gRGF0ZVRpbWVGaWVsZEVsZW1lbnQgZnVuY3Rpb25zLgotICAgIHZp
cnR1YWwgdm9pZCBwb3B1bGF0ZURhdGVUaW1lRmllbGRzU3RhdGUoRGF0ZVRpbWVGaWVsZHNTdGF0
ZSYpIE9WRVJSSURFIEZJTkFMOwotICAgIHZpcnR1YWwgdm9pZCBzZXRWYWx1ZUFzRGF0ZShjb25z
dCBEYXRlQ29tcG9uZW50cyYpIE9WRVJSSURFIEZJTkFMOwotICAgIHZpcnR1YWwgdm9pZCBzZXRW
YWx1ZUFzRGF0ZVRpbWVGaWVsZHNTdGF0ZShjb25zdCBEYXRlVGltZUZpZWxkc1N0YXRlJikgT1ZF
UlJJREUgRklOQUw7Ci0KLSAgICAvLyBEYXRlVGltZU51bWVyaWNGaWVsZEVsZW1lbnQgZnVuY3Rp
b25zLgotICAgIHZpcnR1YWwgaW50IGRlZmF1bHRWYWx1ZUZvclN0ZXBEb3duKCkgY29uc3QgT1ZF
UlJJREUgRklOQUw7Ci0gICAgdmlydHVhbCBpbnQgZGVmYXVsdFZhbHVlRm9yU3RlcFVwKCkgY29u
c3QgT1ZFUlJJREUgRklOQUw7Ci0KLSAgICBib29sIG1fbWluSXNTcGVjaWZpZWQ7Ci0gICAgYm9v
bCBtX21heElzU3BlY2lmaWVkOwotfTsKLQotfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQotCi0jZW5k
aWYKLSNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvRGF0ZVRp
bWVOdW1lcmljRmllbGRFbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L0Rh
dGVUaW1lTnVtZXJpY0ZpZWxkRWxlbWVudC5jcHAKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IGIyY2JhYTFlMzZjNTYwZGM2NTg5M2E2MzMzMzUwNTVlYzU4YjUyODguLjAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9z
aGFkb3cvRGF0ZVRpbWVOdW1lcmljRmllbGRFbGVtZW50LmNwcAorKysgL2Rldi9udWxsCkBAIC0x
LDI0NSArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDEyIEdvb2dsZSBJbmMuIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2Ug
YW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBw
ZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBt
ZXQ6Ci0gKiAxLiAgUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAyLiAgUmVkaXN0cmlidXRpb25zIGlu
IGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgICBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIgaW4gdGhlCi0gKiAgICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHBy
b3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBS
T1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnIEFORAot
ICogQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1Qg
TElNSVRFRCBUTywgVEhFCi0gKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZ
IEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRQotICogQVJFIERJU0NMQUlNRUQu
IElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUyBCRSBMSUFC
TEUKLSAqIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhF
TVBMQVJZLCBPUiBDT05TRVFVRU5USUFMCi0gKiBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1Qg
TElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUgotICogU0VSVklD
RVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJ
T04pIEhPV0VWRVIKLSAqIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdI
RVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVAotICogTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJ
TkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWQotICogT1VUIE9G
IFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJ
TElUWSBPRgotICogU1VDSCBEQU1BR0UuCi0gKi8KLQotI2luY2x1ZGUgImNvbmZpZy5oIgotI2lm
IEVOQUJMRShJTlBVVF9NVUxUSVBMRV9GSUVMRFNfVUkpCi0jaW5jbHVkZSAiRGF0ZVRpbWVOdW1l
cmljRmllbGRFbGVtZW50LmgiCi0KLSNpbmNsdWRlICJDU1NQcm9wZXJ0eU5hbWVzLmgiCi0jaW5j
bHVkZSAiQ1NTVmFsdWVLZXl3b3Jkcy5oIgotI2luY2x1ZGUgIkZvbnQuaCIKLSNpbmNsdWRlICJL
ZXlib2FyZEV2ZW50LmgiCi0jaW5jbHVkZSAiUGxhdGZvcm1Mb2NhbGUuaCIKLSNpbmNsdWRlIDx3
dGYvdGV4dC9TdHJpbmdCdWlsZGVyLmg+Ci0KLXVzaW5nIG5hbWVzcGFjZSBXVEY6OlVuaWNvZGU7
Ci0KLW5hbWVzcGFjZSBXZWJDb3JlIHsKLQotc3RhdGljIGNvbnN0IERPTVRpbWVTdGFtcCB0eXBl
QWhlYWRUaW1lb3V0ID0gMTAwMDsKLQotaW50IERhdGVUaW1lTnVtZXJpY0ZpZWxkRWxlbWVudDo6
UmFuZ2U6OmNsYW1wVmFsdWUoaW50IHZhbHVlKSBjb25zdAotewotICAgIHJldHVybiBzdGQ6Om1p
bihzdGQ6Om1heCh2YWx1ZSwgbWluaW11bSksIG1heGltdW0pOwotfQotCi1ib29sIERhdGVUaW1l
TnVtZXJpY0ZpZWxkRWxlbWVudDo6UmFuZ2U6OmlzSW5SYW5nZShpbnQgdmFsdWUpIGNvbnN0Ci17
Ci0gICAgcmV0dXJuIHZhbHVlID49IG1pbmltdW0gJiYgdmFsdWUgPD0gbWF4aW11bTsKLX0KLQot
Ly8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotCi1EYXRlVGltZU51bWVyaWNGaWVsZEVs
ZW1lbnQ6OkRhdGVUaW1lTnVtZXJpY0ZpZWxkRWxlbWVudChEb2N1bWVudCogZG9jdW1lbnQsIEZp
ZWxkT3duZXImIGZpZWxkT3duZXIsIGNvbnN0IFJhbmdlJiByYW5nZSwgY29uc3QgUmFuZ2UmIGhh
cmRMaW1pdHMsIGNvbnN0IFN0cmluZyYgcGxhY2Vob2xkZXIsIGNvbnN0IERhdGVUaW1lTnVtZXJp
Y0ZpZWxkRWxlbWVudDo6U3RlcCYgc3RlcCkKLSAgICA6IERhdGVUaW1lRmllbGRFbGVtZW50KGRv
Y3VtZW50LCBmaWVsZE93bmVyKQotICAgICwgbV9sYXN0RGlnaXRDaGFyVGltZSgwKQotICAgICwg
bV9wbGFjZWhvbGRlcihwbGFjZWhvbGRlcikKLSAgICAsIG1fcmFuZ2UocmFuZ2UpCi0gICAgLCBt
X2hhcmRMaW1pdHMoaGFyZExpbWl0cykKLSAgICAsIG1fc3RlcChzdGVwKQotICAgICwgbV92YWx1
ZSgwKQotICAgICwgbV9oYXNWYWx1ZShmYWxzZSkKLXsKLSAgICBBU1NFUlQobV9zdGVwLnN0ZXAp
OwotICAgIEFTU0VSVChtX3JhbmdlLm1pbmltdW0gPD0gbV9yYW5nZS5tYXhpbXVtKTsKLSAgICBB
U1NFUlQobV9oYXJkTGltaXRzLm1pbmltdW0gPD0gbV9oYXJkTGltaXRzLm1heGltdW0pOwotCi0g
ICAgLy8gV2Ugc2hvdyBhIGRpcmVjdGlvbi1uZXV0cmFsIHN0cmluZyBzdWNoIGFzICItLSIgYXMg
YSBwbGFjZWhvbGRlci4gSXQKLSAgICAvLyBzaG91bGQgZm9sbG93IHRoZSBkaXJlY3Rpb24gb2Yg
bnVtZXJpYyB2YWx1ZXMuCi0gICAgaWYgKGxvY2FsZUZvck93bmVyKCkuaXNSVEwoKSkgewotICAg
ICAgICBEaXJlY3Rpb24gZGlyID0gZGlyZWN0aW9uKGZvcm1hdFZhbHVlKHRoaXMtPm1heGltdW0o
KSlbMF0pOwotICAgICAgICBpZiAoZGlyID09IExlZnRUb1JpZ2h0IHx8IGRpciA9PSBFdXJvcGVh
bk51bWJlciB8fCBkaXIgPT0gQXJhYmljTnVtYmVyKSB7Ci0gICAgICAgICAgICBzZXRJbmxpbmVT
dHlsZVByb3BlcnR5KENTU1Byb3BlcnR5VW5pY29kZUJpZGksIENTU1ZhbHVlQmlkaU92ZXJyaWRl
KTsKLSAgICAgICAgICAgIHNldElubGluZVN0eWxlUHJvcGVydHkoQ1NTUHJvcGVydHlEaXJlY3Rp
b24sIENTU1ZhbHVlTHRyKTsKLSAgICAgICAgfQotICAgIH0KLX0KLQotZmxvYXQgRGF0ZVRpbWVO
dW1lcmljRmllbGRFbGVtZW50OjptYXhpbXVtV2lkdGgoY29uc3QgRm9udCYgZm9udCkKLXsKLSAg
ICBmbG9hdCBtYXhpbXVtV2lkdGggPSBmb250LndpZHRoKG1fcGxhY2Vob2xkZXIpOwotICAgIG1h
eGltdW1XaWR0aCA9IHN0ZDo6bWF4KG1heGltdW1XaWR0aCwgZm9udC53aWR0aChmb3JtYXRWYWx1
ZShtYXhpbXVtKCkpKSk7Ci0gICAgbWF4aW11bVdpZHRoID0gc3RkOjptYXgobWF4aW11bVdpZHRo
LCBmb250LndpZHRoKHZhbHVlKCkpKTsKLSAgICByZXR1cm4gbWF4aW11bVdpZHRoICsgRGF0ZVRp
bWVGaWVsZEVsZW1lbnQ6Om1heGltdW1XaWR0aChmb250KTsKLX0KLQotaW50IERhdGVUaW1lTnVt
ZXJpY0ZpZWxkRWxlbWVudDo6ZGVmYXVsdFZhbHVlRm9yU3RlcERvd24oKSBjb25zdAotewotICAg
IHJldHVybiBtX3JhbmdlLm1heGltdW07Ci19Ci0KLWludCBEYXRlVGltZU51bWVyaWNGaWVsZEVs
ZW1lbnQ6OmRlZmF1bHRWYWx1ZUZvclN0ZXBVcCgpIGNvbnN0Ci17Ci0gICAgcmV0dXJuIG1fcmFu
Z2UubWluaW11bTsKLX0KLQotdm9pZCBEYXRlVGltZU51bWVyaWNGaWVsZEVsZW1lbnQ6OmRpZEJs
dXIoKQotewotICAgIGludCB2YWx1ZSA9IHR5cGVBaGVhZFZhbHVlKCk7Ci0gICAgbV90eXBlQWhl
YWRCdWZmZXIuY2xlYXIoKTsKLSAgICBpZiAodmFsdWUgPj0gMCkKLSAgICAgICAgc2V0VmFsdWVB
c0ludGVnZXIodmFsdWUsIERpc3BhdGNoRXZlbnQpOwotICAgIERhdGVUaW1lRmllbGRFbGVtZW50
OjpkaWRCbHVyKCk7Ci19Ci0KLVN0cmluZyBEYXRlVGltZU51bWVyaWNGaWVsZEVsZW1lbnQ6OmZv
cm1hdFZhbHVlKGludCB2YWx1ZSkgY29uc3QKLXsKLSAgICBMb2NhbGUmIGxvY2FsZSA9IGxvY2Fs
ZUZvck93bmVyKCk7Ci0gICAgaWYgKG1faGFyZExpbWl0cy5tYXhpbXVtID4gOTk5KQotICAgICAg
ICByZXR1cm4gbG9jYWxlLmNvbnZlcnRUb0xvY2FsaXplZE51bWJlcihTdHJpbmc6OmZvcm1hdCgi
JTA0ZCIsIHZhbHVlKSk7Ci0gICAgaWYgKG1faGFyZExpbWl0cy5tYXhpbXVtID4gOTkpCi0gICAg
ICAgIHJldHVybiBsb2NhbGUuY29udmVydFRvTG9jYWxpemVkTnVtYmVyKFN0cmluZzo6Zm9ybWF0
KCIlMDNkIiwgdmFsdWUpKTsKLSAgICByZXR1cm4gbG9jYWxlLmNvbnZlcnRUb0xvY2FsaXplZE51
bWJlcihTdHJpbmc6OmZvcm1hdCgiJTAyZCIsIHZhbHVlKSk7Ci19Ci0KLXZvaWQgRGF0ZVRpbWVO
dW1lcmljRmllbGRFbGVtZW50OjpoYW5kbGVLZXlib2FyZEV2ZW50KEtleWJvYXJkRXZlbnQqIGtl
eWJvYXJkRXZlbnQpCi17Ci0gICAgQVNTRVJUKCFpc0Rpc2FibGVkKCkpOwotICAgIGlmIChrZXli
b2FyZEV2ZW50LT50eXBlKCkgIT0gZXZlbnROYW1lcygpLmtleXByZXNzRXZlbnQpCi0gICAgICAg
IHJldHVybjsKLQotICAgIFVDaGFyIGNoYXJDb2RlID0gc3RhdGljX2Nhc3Q8VUNoYXI+KGtleWJv
YXJkRXZlbnQtPmNoYXJDb2RlKCkpOwotICAgIFN0cmluZyBudW1iZXIgPSBsb2NhbGVGb3JPd25l
cigpLmNvbnZlcnRGcm9tTG9jYWxpemVkTnVtYmVyKFN0cmluZygmY2hhckNvZGUsIDEpKTsKLSAg
ICBjb25zdCBpbnQgZGlnaXQgPSBudW1iZXJbMF0gLSAnMCc7Ci0gICAgaWYgKGRpZ2l0IDwgMCB8
fCBkaWdpdCA+IDkpCi0gICAgICAgIHJldHVybjsKLQotICAgIERPTVRpbWVTdGFtcCBkZWx0YSA9
IGtleWJvYXJkRXZlbnQtPnRpbWVTdGFtcCgpIC0gbV9sYXN0RGlnaXRDaGFyVGltZTsKLSAgICBt
X2xhc3REaWdpdENoYXJUaW1lID0ga2V5Ym9hcmRFdmVudC0+dGltZVN0YW1wKCk7Ci0KLSAgICBp
ZiAoZGVsdGEgPiB0eXBlQWhlYWRUaW1lb3V0KQotICAgICAgICBtX3R5cGVBaGVhZEJ1ZmZlci5j
bGVhcigpOwotICAgIG1fdHlwZUFoZWFkQnVmZmVyLmFwcGVuZChudW1iZXIpOwotCi0gICAgaW50
IG5ld1ZhbHVlID0gdHlwZUFoZWFkVmFsdWUoKTsKLSAgICBpZiAobV9yYW5nZS5pc0luUmFuZ2Uo
bmV3VmFsdWUpKQotICAgICAgICBzZXRWYWx1ZUFzSW50ZWdlcihuZXdWYWx1ZSwgRGlzcGF0Y2hF
dmVudCk7Ci0gICAgZWxzZQotICAgICAgICB1cGRhdGVWaXNpYmxlVmFsdWUoRGlzcGF0Y2hFdmVu
dCk7Ci0KLSAgICBpZiAobV90eXBlQWhlYWRCdWZmZXIubGVuZ3RoKCkgPj0gRGF0ZVRpbWVOdW1l
cmljRmllbGRFbGVtZW50Ojpmb3JtYXRWYWx1ZShtX3JhbmdlLm1heGltdW0pLmxlbmd0aCgpIHx8
IG5ld1ZhbHVlICogMTAgPiBtX3JhbmdlLm1heGltdW0pCi0gICAgICAgIGZvY3VzT25OZXh0Rmll
bGQoKTsKLQotICAgIGtleWJvYXJkRXZlbnQtPnNldERlZmF1bHRIYW5kbGVkKCk7Ci19Ci0KLWJv
b2wgRGF0ZVRpbWVOdW1lcmljRmllbGRFbGVtZW50OjpoYXNWYWx1ZSgpIGNvbnN0Ci17Ci0gICAg
cmV0dXJuIG1faGFzVmFsdWU7Ci19Ci0KLXZvaWQgRGF0ZVRpbWVOdW1lcmljRmllbGRFbGVtZW50
Ojppbml0aWFsaXplKGNvbnN0IEF0b21pY1N0cmluZyYgcHNldWRvLCBjb25zdCBTdHJpbmcmIGF4
SGVscFRleHQpCi17Ci0gICAgRGF0ZVRpbWVGaWVsZEVsZW1lbnQ6OmluaXRpYWxpemUocHNldWRv
LCBheEhlbHBUZXh0LCBtX3JhbmdlLm1pbmltdW0sIG1fcmFuZ2UubWF4aW11bSk7Ci19Ci0KLWlu
dCBEYXRlVGltZU51bWVyaWNGaWVsZEVsZW1lbnQ6Om1heGltdW0oKSBjb25zdAotewotICAgIHJl
dHVybiBtX3JhbmdlLm1heGltdW07Ci19Ci0KLXZvaWQgRGF0ZVRpbWVOdW1lcmljRmllbGRFbGVt
ZW50OjpzZXRFbXB0eVZhbHVlKEV2ZW50QmVoYXZpb3IgZXZlbnRCZWhhdmlvcikKLXsKLSAgICBp
ZiAoaXNEaXNhYmxlZCgpKQotICAgICAgICByZXR1cm47Ci0KLSAgICBtX2hhc1ZhbHVlID0gZmFs
c2U7Ci0gICAgbV92YWx1ZSA9IDA7Ci0gICAgbV90eXBlQWhlYWRCdWZmZXIuY2xlYXIoKTsKLSAg
ICB1cGRhdGVWaXNpYmxlVmFsdWUoZXZlbnRCZWhhdmlvcik7Ci19Ci0KLXZvaWQgRGF0ZVRpbWVO
dW1lcmljRmllbGRFbGVtZW50OjpzZXRWYWx1ZUFzSW50ZWdlcihpbnQgdmFsdWUsIEV2ZW50QmVo
YXZpb3IgZXZlbnRCZWhhdmlvcikKLXsKLSAgICBtX3ZhbHVlID0gbV9oYXJkTGltaXRzLmNsYW1w
VmFsdWUodmFsdWUpOwotICAgIG1faGFzVmFsdWUgPSB0cnVlOwotICAgIHVwZGF0ZVZpc2libGVW
YWx1ZShldmVudEJlaGF2aW9yKTsKLX0KLQotdm9pZCBEYXRlVGltZU51bWVyaWNGaWVsZEVsZW1l
bnQ6OnN0ZXBEb3duKCkKLXsKLSAgICBpbnQgbmV3VmFsdWUgPSByb3VuZERvd24obV9oYXNWYWx1
ZSA/IG1fdmFsdWUgLSAxIDogZGVmYXVsdFZhbHVlRm9yU3RlcERvd24oKSk7Ci0gICAgaWYgKCFt
X3JhbmdlLmlzSW5SYW5nZShuZXdWYWx1ZSkpCi0gICAgICAgIG5ld1ZhbHVlID0gcm91bmREb3du
KG1fcmFuZ2UubWF4aW11bSk7Ci0gICAgbV90eXBlQWhlYWRCdWZmZXIuY2xlYXIoKTsKLSAgICBz
ZXRWYWx1ZUFzSW50ZWdlcihuZXdWYWx1ZSwgRGlzcGF0Y2hFdmVudCk7Ci19Ci0KLXZvaWQgRGF0
ZVRpbWVOdW1lcmljRmllbGRFbGVtZW50OjpzdGVwVXAoKQotewotICAgIGludCBuZXdWYWx1ZSA9
IHJvdW5kVXAobV9oYXNWYWx1ZSA/IG1fdmFsdWUgKyAxIDogZGVmYXVsdFZhbHVlRm9yU3RlcFVw
KCkpOwotICAgIGlmICghbV9yYW5nZS5pc0luUmFuZ2UobmV3VmFsdWUpKQotICAgICAgICBuZXdW
YWx1ZSA9IHJvdW5kVXAobV9yYW5nZS5taW5pbXVtKTsKLSAgICBtX3R5cGVBaGVhZEJ1ZmZlci5j
bGVhcigpOwotICAgIHNldFZhbHVlQXNJbnRlZ2VyKG5ld1ZhbHVlLCBEaXNwYXRjaEV2ZW50KTsK
LX0KLQotU3RyaW5nIERhdGVUaW1lTnVtZXJpY0ZpZWxkRWxlbWVudDo6dmFsdWUoKSBjb25zdAot
ewotICAgIHJldHVybiBtX2hhc1ZhbHVlID8gZm9ybWF0VmFsdWUobV92YWx1ZSkgOiBlbXB0eVN0
cmluZygpOwotfQotCi1pbnQgRGF0ZVRpbWVOdW1lcmljRmllbGRFbGVtZW50Ojp2YWx1ZUFzSW50
ZWdlcigpIGNvbnN0Ci17Ci0gICAgcmV0dXJuIG1faGFzVmFsdWUgPyBtX3ZhbHVlIDogLTE7Ci19
Ci0KLWludCBEYXRlVGltZU51bWVyaWNGaWVsZEVsZW1lbnQ6OnR5cGVBaGVhZFZhbHVlKCkgY29u
c3QKLXsKLSAgICBpZiAobV90eXBlQWhlYWRCdWZmZXIubGVuZ3RoKCkpCi0gICAgICAgIHJldHVy
biBtX3R5cGVBaGVhZEJ1ZmZlci50b1N0cmluZygpLnRvSW50KCk7Ci0gICAgcmV0dXJuIC0xOwot
fQotCi1TdHJpbmcgRGF0ZVRpbWVOdW1lcmljRmllbGRFbGVtZW50Ojp2aXNpYmxlVmFsdWUoKSBj
b25zdAotewotICAgIGlmIChtX3R5cGVBaGVhZEJ1ZmZlci5sZW5ndGgoKSkKLSAgICAgICAgcmV0
dXJuIGZvcm1hdFZhbHVlKHR5cGVBaGVhZFZhbHVlKCkpOwotICAgIHJldHVybiBtX2hhc1ZhbHVl
ID8gdmFsdWUoKSA6IG1fcGxhY2Vob2xkZXI7Ci19Ci0KLWludCBEYXRlVGltZU51bWVyaWNGaWVs
ZEVsZW1lbnQ6OnJvdW5kRG93bihpbnQgbikgY29uc3QKLXsKLSAgICBuIC09IG1fc3RlcC5zdGVw
QmFzZTsKLSAgICBpZiAobiA+PSAwKQotICAgICAgICBuID0gbiAvIG1fc3RlcC5zdGVwICogbV9z
dGVwLnN0ZXA7Ci0gICAgZWxzZQotICAgICAgICBuID0gLSgoLW4gKyBtX3N0ZXAuc3RlcCAtIDEp
IC8gbV9zdGVwLnN0ZXAgKiBtX3N0ZXAuc3RlcCk7Ci0gICAgcmV0dXJuIG4gKyBtX3N0ZXAuc3Rl
cEJhc2U7Ci19Ci0KLWludCBEYXRlVGltZU51bWVyaWNGaWVsZEVsZW1lbnQ6OnJvdW5kVXAoaW50
IG4pIGNvbnN0Ci17Ci0gICAgbiAtPSBtX3N0ZXAuc3RlcEJhc2U7Ci0gICAgaWYgKG4gPj0gMCkK
LSAgICAgICAgbiA9IChuICsgbV9zdGVwLnN0ZXAgLSAxKSAvIG1fc3RlcC5zdGVwICogbV9zdGVw
LnN0ZXA7Ci0gICAgZWxzZQotICAgICAgICBuID0gLSgtbiAvIG1fc3RlcC5zdGVwICogbV9zdGVw
LnN0ZXApOwotICAgIHJldHVybiBuICsgbV9zdGVwLnN0ZXBCYXNlOwotfQotCi19IC8vIG5hbWVz
cGFjZSBXZWJDb3JlCi0KLSNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9z
aGFkb3cvRGF0ZVRpbWVOdW1lcmljRmllbGRFbGVtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9odG1s
L3NoYWRvdy9EYXRlVGltZU51bWVyaWNGaWVsZEVsZW1lbnQuaApkZWxldGVkIGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggYjZkNDNlOTFkN2E0NTBmNzhhZjdiYzgxOTAwODExZjM1NjU5ZjQwOC4uMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9odG1sL3NoYWRvdy9EYXRlVGltZU51bWVyaWNGaWVsZEVsZW1lbnQuaAorKysgL2Rldi9udWxs
CkBAIC0xLDEwNSArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDEyIEdvb2dsZSBJbmMu
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBz
b3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24s
IGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAq
IGFyZSBtZXQ6Ci0gKiAxLiAgUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0
YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAyLiAgUmVkaXN0cmlidXRp
b25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAq
ICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIgaW4gdGhlCi0gKiAgICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJp
YWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJF
IElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycn
IEFORAotICogQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywgVEhFCi0gKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRB
QklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRQotICogQVJFIERJU0NM
QUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUyBC
RSBMSUFCTEUKLSAqIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lB
TCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMCi0gKiBEQU1BR0VTIChJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUgotICog
U0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRF
UlJVUFRJT04pIEhPV0VWRVIKLSAqIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJ
VFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVAotICogTElBQklMSVRZLCBPUiBUT1JUIChJ
TkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWQotICog
T1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQ
T1NTSUJJTElUWSBPRgotICogU1VDSCBEQU1BR0UuCi0gKi8KLQotI2lmbmRlZiBEYXRlVGltZU51
bWVyaWNGaWVsZEVsZW1lbnRfaAotI2RlZmluZSBEYXRlVGltZU51bWVyaWNGaWVsZEVsZW1lbnRf
aAotCi0jaWYgRU5BQkxFKElOUFVUX01VTFRJUExFX0ZJRUxEU19VSSkKLSNpbmNsdWRlICJEYXRl
VGltZUZpZWxkRWxlbWVudC5oIgotCi1uYW1lc3BhY2UgV2ViQ29yZSB7Ci0KLS8vIERhdGVUaW1l
TnVtZXJpY0ZpZWxkRWxlbWVudCByZXByZXNlbnRzIG51bWVyaWMgZmllbGQgb2YgZGF0ZSB0aW1l
IGZvcm1hdCwKLS8vIHN1Y2ggYXM6Ci0vLyAgLSBob3VyCi0vLyAgLSBtaW51dGUKLS8vICAtIG1p
bGxpc2Vjb25kCi0vLyAgLSBzZWNvbmQKLS8vICAtIHllYXIKLWNsYXNzIERhdGVUaW1lTnVtZXJp
Y0ZpZWxkRWxlbWVudCA6IHB1YmxpYyBEYXRlVGltZUZpZWxkRWxlbWVudCB7Ci0gICAgV1RGX01B
S0VfTk9OQ09QWUFCTEUoRGF0ZVRpbWVOdW1lcmljRmllbGRFbGVtZW50KTsKLQotcHVibGljOgot
ICAgIHN0cnVjdCBTdGVwIHsKLSAgICAgICAgU3RlcChpbnQgc3RlcCA9IDEsIGludCBzdGVwQmFz
ZSA9IDApIDogc3RlcChzdGVwKSwgc3RlcEJhc2Uoc3RlcEJhc2UpIHsgfQotICAgICAgICBpbnQg
c3RlcDsKLSAgICAgICAgaW50IHN0ZXBCYXNlOwotICAgIH07Ci0KLSAgICBzdHJ1Y3QgUmFuZ2Ug
ewotICAgICAgICBSYW5nZShpbnQgbWluaW11bSwgaW50IG1heGltdW0pIDogbWluaW11bShtaW5p
bXVtKSwgbWF4aW11bShtYXhpbXVtKSB7IH0KLSAgICAgICAgaW50IGNsYW1wVmFsdWUoaW50KSBj
b25zdDsKLSAgICAgICAgYm9vbCBpc0luUmFuZ2UoaW50KSBjb25zdDsKLSAgICAgICAgYm9vbCBp
c1NpbmdsZXRvbigpIGNvbnN0IHsgcmV0dXJuIG1pbmltdW0gPT0gbWF4aW11bTsgfQotCi0gICAg
ICAgIGludCBtaW5pbXVtOwotICAgICAgICBpbnQgbWF4aW11bTsKLSAgICB9OwotCi1wcm90ZWN0
ZWQ6Ci0gICAgRGF0ZVRpbWVOdW1lcmljRmllbGRFbGVtZW50KERvY3VtZW50KiwgRmllbGRPd25l
ciYsIGNvbnN0IFJhbmdlJiwgY29uc3QgUmFuZ2UmIGhhcmRMaW1pdHMsIGNvbnN0IFN0cmluZyYg
cGxhY2Vob2xkZXIsIGNvbnN0IFN0ZXAmID0gU3RlcCgpKTsKLQotICAgIGludCBjbGFtcFZhbHVl
KGludCB2YWx1ZSkgY29uc3QgeyByZXR1cm4gbV9yYW5nZS5jbGFtcFZhbHVlKHZhbHVlKTsgfQot
ICAgIHZpcnR1YWwgaW50IGRlZmF1bHRWYWx1ZUZvclN0ZXBEb3duKCkgY29uc3Q7Ci0gICAgdmly
dHVhbCBpbnQgZGVmYXVsdFZhbHVlRm9yU3RlcFVwKCkgY29uc3Q7Ci0gICAgY29uc3QgUmFuZ2Um
IHJhbmdlKCkgY29uc3QgeyByZXR1cm4gbV9yYW5nZTsgfQotCi0gICAgLy8gRGF0ZVRpbWVGaWVs
ZEVsZW1lbnQgZnVuY3Rpb25zLgotICAgIHZpcnR1YWwgYm9vbCBoYXNWYWx1ZSgpIGNvbnN0IE9W
RVJSSURFIEZJTkFMOwotICAgIHZvaWQgaW5pdGlhbGl6ZShjb25zdCBBdG9taWNTdHJpbmcmIHBz
ZXVkbywgY29uc3QgU3RyaW5nJiBheEhlbHBUZXh0KTsKLSAgICBpbnQgbWF4aW11bSgpIGNvbnN0
OwotICAgIHZpcnR1YWwgdm9pZCBzZXRFbXB0eVZhbHVlKEV2ZW50QmVoYXZpb3IgPSBEaXNwYXRj
aE5vRXZlbnQpIE9WRVJSSURFIEZJTkFMOwotICAgIHZpcnR1YWwgdm9pZCBzZXRWYWx1ZUFzSW50
ZWdlcihpbnQsIEV2ZW50QmVoYXZpb3IgPSBEaXNwYXRjaE5vRXZlbnQpIE9WRVJSSURFOwotICAg
IHZpcnR1YWwgaW50IHZhbHVlQXNJbnRlZ2VyKCkgY29uc3QgT1ZFUlJJREUgRklOQUw7Ci0gICAg
dmlydHVhbCBTdHJpbmcgdmlzaWJsZVZhbHVlKCkgY29uc3QgT1ZFUlJJREUgRklOQUw7Ci0KLXBy
aXZhdGU6Ci0gICAgLy8gRGF0ZVRpbWVGaWVsZEVsZW1lbnQgZnVuY3Rpb25zLgotICAgIHZpcnR1
YWwgdm9pZCBkaWRCbHVyKCkgT1ZFUlJJREUgRklOQUw7Ci0gICAgdmlydHVhbCB2b2lkIGhhbmRs
ZUtleWJvYXJkRXZlbnQoS2V5Ym9hcmRFdmVudCopIE9WRVJSSURFIEZJTkFMOwotICAgIHZpcnR1
YWwgZmxvYXQgbWF4aW11bVdpZHRoKGNvbnN0IEZvbnQmKSBPVkVSUklERTsKLSAgICB2aXJ0dWFs
IHZvaWQgc3RlcERvd24oKSBPVkVSUklERSBGSU5BTDsKLSAgICB2aXJ0dWFsIHZvaWQgc3RlcFVw
KCkgT1ZFUlJJREUgRklOQUw7Ci0gICAgdmlydHVhbCBTdHJpbmcgdmFsdWUoKSBjb25zdCBPVkVS
UklERSBGSU5BTDsKLQotICAgIFN0cmluZyBmb3JtYXRWYWx1ZShpbnQpIGNvbnN0OwotICAgIGlu
dCByb3VuZFVwKGludCkgY29uc3Q7Ci0gICAgaW50IHJvdW5kRG93bihpbnQpIGNvbnN0OwotICAg
IGludCB0eXBlQWhlYWRWYWx1ZSgpIGNvbnN0OwotCi0gICAgRE9NVGltZVN0YW1wIG1fbGFzdERp
Z2l0Q2hhclRpbWU7Ci0gICAgY29uc3QgU3RyaW5nIG1fcGxhY2Vob2xkZXI7Ci0gICAgY29uc3Qg
UmFuZ2UgbV9yYW5nZTsKLSAgICBjb25zdCBSYW5nZSBtX2hhcmRMaW1pdHM7Ci0gICAgY29uc3Qg
U3RlcCBtX3N0ZXA7Ci0gICAgaW50IG1fdmFsdWU7Ci0gICAgYm9vbCBtX2hhc1ZhbHVlOwotICAg
IG11dGFibGUgU3RyaW5nQnVpbGRlciBtX3R5cGVBaGVhZEJ1ZmZlcjsKLX07Ci0KLX0gLy8gbmFt
ZXNwYWNlIFdlYkNvcmUKLQotI2VuZGlmCi0jZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2h0bWwvc2hhZG93L0RhdGVUaW1lU3ltYm9saWNGaWVsZEVsZW1lbnQuY3BwIGIvU291cmNl
L1dlYkNvcmUvaHRtbC9zaGFkb3cvRGF0ZVRpbWVTeW1ib2xpY0ZpZWxkRWxlbWVudC5jcHAKZGVs
ZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGNjZDBlOGJmMTU4MDc0ZDg0NTk5MmIwYjVlMzFh
Y2E0ZDM0MmFiNDYuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0t
IGEvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvRGF0ZVRpbWVTeW1ib2xpY0ZpZWxkRWxlbWVu
dC5jcHAKKysrIC9kZXYvbnVsbApAQCAtMSwxODAgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAo
QykgMjAxMiBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICoKLSAqIFJlZGlzdHJp
YnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91
dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxv
d2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0OgotICogMS4gIFJlZGlzdHJpYnV0aW9ucyBvZiBz
b3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICAgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgot
ICogMi4gIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUg
YWJvdmUgY29weXJpZ2h0Ci0gKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQotICogICAgIGRvY3VtZW50YXRpb24g
YW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0g
KgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09O
VFJJQlVUT1JTIGBgQVMgSVMnJyBBTkQKLSAqIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFO
VElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQotICogSU1QTElFRCBXQVJS
QU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBV
UlBPU0UKLSAqIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9S
IElUUyBDT05UUklCVVRPUlMgQkUgTElBQkxFCi0gKiBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1Qs
IElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTAotICogREFN
QUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNU
SVRVVEUgR09PRFMgT1IKLSAqIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklU
UzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSCi0gKiBDQVVTRUQgQU5EIE9OIEFO
WSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QKLSAqIExJ
QUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklT
SU5HIElOIEFOWSBXQVkKLSAqIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4g
SUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YKLSAqIFNVQ0ggREFNQUdFLgotICovCi0K
LSNpbmNsdWRlICJjb25maWcuaCIKLSNpZiBFTkFCTEUoSU5QVVRfTVVMVElQTEVfRklFTERTX1VJ
KQotI2luY2x1ZGUgIkRhdGVUaW1lU3ltYm9saWNGaWVsZEVsZW1lbnQuaCIKLQotI2luY2x1ZGUg
IkZvbnQuaCIKLSNpbmNsdWRlICJLZXlib2FyZEV2ZW50LmgiCi0jaW5jbHVkZSAiVGV4dEJyZWFr
SXRlcmF0b3IuaCIKLSNpbmNsdWRlIDx3dGYvdGV4dC9TdHJpbmdCdWlsZGVyLmg+Ci0jaW5jbHVk
ZSA8d3RmL3VuaWNvZGUvVW5pY29kZS5oPgotCi1uYW1lc3BhY2UgV2ViQ29yZSB7Ci0KLXN0YXRp
YyBBdG9taWNTdHJpbmcgbWFrZVZpc2libGVFbXB0eVZhbHVlKGNvbnN0IFZlY3RvcjxTdHJpbmc+
JiBzeW1ib2xzKQotewotICAgIHVuc2lnbmVkIG1heGltdW1MZW5ndGggPSAwOwotICAgIGZvciAo
dW5zaWduZWQgaW5kZXggPSAwOyBpbmRleCA8IHN5bWJvbHMuc2l6ZSgpOyArK2luZGV4KQotICAg
ICAgICBtYXhpbXVtTGVuZ3RoID0gc3RkOjptYXgobWF4aW11bUxlbmd0aCwgbnVtR3JhcGhlbWVD
bHVzdGVycyhzeW1ib2xzW2luZGV4XSkpOwotICAgIFN0cmluZ0J1aWxkZXIgYnVpbGRlcjsKLSAg
ICBidWlsZGVyLnJlc2VydmVDYXBhY2l0eShtYXhpbXVtTGVuZ3RoKTsKLSAgICBmb3IgKHVuc2ln
bmVkIGxlbmd0aCA9IDA7IGxlbmd0aCA8IG1heGltdW1MZW5ndGg7ICsrbGVuZ3RoKQotICAgICAg
ICBidWlsZGVyLmFwcGVuZCgnLScpOwotICAgIHJldHVybiBidWlsZGVyLnRvQXRvbWljU3RyaW5n
KCk7Ci19Ci0KLURhdGVUaW1lU3ltYm9saWNGaWVsZEVsZW1lbnQ6OkRhdGVUaW1lU3ltYm9saWNG
aWVsZEVsZW1lbnQoRG9jdW1lbnQqIGRvY3VtZW50LCBGaWVsZE93bmVyJiBmaWVsZE93bmVyLCBj
b25zdCBWZWN0b3I8U3RyaW5nPiYgc3ltYm9scywgaW50IG1pbmltdW0sIGludCBtYXhpbXVtKQot
ICAgIDogRGF0ZVRpbWVGaWVsZEVsZW1lbnQoZG9jdW1lbnQsIGZpZWxkT3duZXIpCi0gICAgLCBt
X3N5bWJvbHMoc3ltYm9scykKLSAgICAsIG1fdmlzaWJsZUVtcHR5VmFsdWUobWFrZVZpc2libGVF
bXB0eVZhbHVlKHN5bWJvbHMpKQotICAgICwgbV9zZWxlY3RlZEluZGV4KC0xKQotICAgICwgbV90
eXBlQWhlYWQodGhpcykKLSAgICAsIG1fbWluaW11bUluZGV4KG1pbmltdW0pCi0gICAgLCBtX21h
eGltdW1JbmRleChtYXhpbXVtKQotewotICAgIEFTU0VSVCghc3ltYm9scy5pc0VtcHR5KCkpOwot
ICAgIEFTU0VSVChtX21pbmltdW1JbmRleCA+PSAwKTsKLSAgICBBU1NFUlRfV0lUSF9TRUNVUklU
WV9JTVBMSUNBVElPTihtX21heGltdW1JbmRleCA8IHN0YXRpY19jYXN0PGludD4obV9zeW1ib2xz
LnNpemUoKSkpOwotICAgIEFTU0VSVChtX21pbmltdW1JbmRleCA8PSBtX21heGltdW1JbmRleCk7
Ci19Ci0KLWZsb2F0IERhdGVUaW1lU3ltYm9saWNGaWVsZEVsZW1lbnQ6Om1heGltdW1XaWR0aChj
b25zdCBGb250JiBmb250KQotewotICAgIGZsb2F0IG1heGltdW1XaWR0aCA9IGZvbnQud2lkdGgo
dmlzaWJsZUVtcHR5VmFsdWUoKSk7Ci0gICAgZm9yICh1bnNpZ25lZCBpbmRleCA9IDA7IGluZGV4
IDwgbV9zeW1ib2xzLnNpemUoKTsgKytpbmRleCkKLSAgICAgICAgbWF4aW11bVdpZHRoID0gc3Rk
OjptYXgobWF4aW11bVdpZHRoLCBmb250LndpZHRoKG1fc3ltYm9sc1tpbmRleF0pKTsKLSAgICBy
ZXR1cm4gbWF4aW11bVdpZHRoICsgRGF0ZVRpbWVGaWVsZEVsZW1lbnQ6Om1heGltdW1XaWR0aChm
b250KTsKLX0KLQotdm9pZCBEYXRlVGltZVN5bWJvbGljRmllbGRFbGVtZW50OjpoYW5kbGVLZXli
b2FyZEV2ZW50KEtleWJvYXJkRXZlbnQqIGtleWJvYXJkRXZlbnQpCi17Ci0gICAgaWYgKGtleWJv
YXJkRXZlbnQtPnR5cGUoKSAhPSBldmVudE5hbWVzKCkua2V5cHJlc3NFdmVudCkKLSAgICAgICAg
cmV0dXJuOwotCi0gICAgY29uc3QgVUNoYXIgY2hhckNvZGUgPSBXVEY6OlVuaWNvZGU6OnRvTG93
ZXIoa2V5Ym9hcmRFdmVudC0+Y2hhckNvZGUoKSk7Ci0gICAgaWYgKGNoYXJDb2RlIDwgJyAnKQot
ICAgICAgICByZXR1cm47Ci0KLSAgICBrZXlib2FyZEV2ZW50LT5zZXREZWZhdWx0SGFuZGxlZCgp
OwotCi0gICAgaW50IGluZGV4ID0gbV90eXBlQWhlYWQuaGFuZGxlRXZlbnQoa2V5Ym9hcmRFdmVu
dCwgVHlwZUFoZWFkOjpNYXRjaFByZWZpeCB8IFR5cGVBaGVhZDo6Q3ljbGVGaXJzdENoYXIgfCBU
eXBlQWhlYWQ6Ok1hdGNoSW5kZXgpOwotICAgIGlmIChpbmRleCA8IDApCi0gICAgICAgIHJldHVy
bjsKLSAgICBzZXRWYWx1ZUFzSW50ZWdlcihpbmRleCwgRGlzcGF0Y2hFdmVudCk7Ci19Ci0KLWJv
b2wgRGF0ZVRpbWVTeW1ib2xpY0ZpZWxkRWxlbWVudDo6aGFzVmFsdWUoKSBjb25zdAotewotICAg
IHJldHVybiBtX3NlbGVjdGVkSW5kZXggPj0gMDsKLX0KLQotdm9pZCBEYXRlVGltZVN5bWJvbGlj
RmllbGRFbGVtZW50Ojppbml0aWFsaXplKGNvbnN0IEF0b21pY1N0cmluZyYgcHNldWRvLCBjb25z
dCBTdHJpbmcmIGF4SGVscFRleHQpCi17Ci0gICAgLy8gVGhlIG1pbmltdW0gYW5kIG1heGltdW0g
YmVsb3cgYXJlIGV4cG9zZWQgdG8gdXNlcnMsIGFuZCAxLWJhc2VkIG51bWJlcnMKLSAgICAvLyBh
cmUgbmF0dXJhbCBmb3Igc3ltYm9saWMgZmllbGRzLiBGb3IgZXhhbXBsZSwgdGhlIG1pbmltdW0g
dmFsdWUgb2YgYQotICAgIC8vIG1vbnRoIGZpZWxkIHNob3VsZCBiZSAxLCBub3QgMC4KLSAgICBE
YXRlVGltZUZpZWxkRWxlbWVudDo6aW5pdGlhbGl6ZShwc2V1ZG8sIGF4SGVscFRleHQsIG1fbWlu
aW11bUluZGV4ICsgMSwgbV9tYXhpbXVtSW5kZXggKyAxKTsKLX0KLQotdm9pZCBEYXRlVGltZVN5
bWJvbGljRmllbGRFbGVtZW50OjpzZXRFbXB0eVZhbHVlKEV2ZW50QmVoYXZpb3IgZXZlbnRCZWhh
dmlvcikKLXsKLSAgICBpZiAoaXNEaXNhYmxlZCgpKQotICAgICAgICByZXR1cm47Ci0gICAgbV9z
ZWxlY3RlZEluZGV4ID0gaW52YWxpZEluZGV4OwotICAgIHVwZGF0ZVZpc2libGVWYWx1ZShldmVu
dEJlaGF2aW9yKTsKLX0KLQotdm9pZCBEYXRlVGltZVN5bWJvbGljRmllbGRFbGVtZW50OjpzZXRW
YWx1ZUFzSW50ZWdlcihpbnQgbmV3U2VsZWN0ZWRJbmRleCwgRXZlbnRCZWhhdmlvciBldmVudEJl
aGF2aW9yKQotewotICAgIG1fc2VsZWN0ZWRJbmRleCA9IHN0ZDo6bWF4KDAsIHN0ZDo6bWluKG5l
d1NlbGVjdGVkSW5kZXgsIHN0YXRpY19jYXN0PGludD4obV9zeW1ib2xzLnNpemUoKSAtIDEpKSk7
Ci0gICAgdXBkYXRlVmlzaWJsZVZhbHVlKGV2ZW50QmVoYXZpb3IpOwotfQotCi12b2lkIERhdGVU
aW1lU3ltYm9saWNGaWVsZEVsZW1lbnQ6OnN0ZXBEb3duKCkKLXsKLSAgICBpZiAoaGFzVmFsdWUo
KSkgewotICAgICAgICBpZiAoIWluZGV4SXNJblJhbmdlKC0tbV9zZWxlY3RlZEluZGV4KSkKLSAg
ICAgICAgICAgIG1fc2VsZWN0ZWRJbmRleCA9IG1fbWF4aW11bUluZGV4OwotICAgIH0gZWxzZQot
ICAgICAgICBtX3NlbGVjdGVkSW5kZXggPSBtX21heGltdW1JbmRleDsKLSAgICB1cGRhdGVWaXNp
YmxlVmFsdWUoRGlzcGF0Y2hFdmVudCk7Ci19Ci0KLXZvaWQgRGF0ZVRpbWVTeW1ib2xpY0ZpZWxk
RWxlbWVudDo6c3RlcFVwKCkKLXsKLSAgICBpZiAoaGFzVmFsdWUoKSkgewotICAgICAgICBpZiAo
IWluZGV4SXNJblJhbmdlKCsrbV9zZWxlY3RlZEluZGV4KSkKLSAgICAgICAgICAgIG1fc2VsZWN0
ZWRJbmRleCA9IG1fbWluaW11bUluZGV4OwotICAgIH0gZWxzZQotICAgICAgICBtX3NlbGVjdGVk
SW5kZXggPSBtX21pbmltdW1JbmRleDsKLSAgICB1cGRhdGVWaXNpYmxlVmFsdWUoRGlzcGF0Y2hF
dmVudCk7Ci19Ci0KLVN0cmluZyBEYXRlVGltZVN5bWJvbGljRmllbGRFbGVtZW50Ojp2YWx1ZSgp
IGNvbnN0Ci17Ci0gICAgcmV0dXJuIGhhc1ZhbHVlKCkgPyBtX3N5bWJvbHNbbV9zZWxlY3RlZElu
ZGV4XSA6IGVtcHR5U3RyaW5nKCk7Ci19Ci0KLWludCBEYXRlVGltZVN5bWJvbGljRmllbGRFbGVt
ZW50Ojp2YWx1ZUFzSW50ZWdlcigpIGNvbnN0Ci17Ci0gICAgcmV0dXJuIG1fc2VsZWN0ZWRJbmRl
eDsKLX0KLQotaW50IERhdGVUaW1lU3ltYm9saWNGaWVsZEVsZW1lbnQ6OnZhbHVlRm9yQVJJQVZh
bHVlTm93KCkgY29uc3QKLXsKLSAgICAvLyBTeW5jaHJvbml6ZSB3aXRoIG1pbmltdW0vbWF4aW11
bSBhZGp1c3RtZW50IGluIGluaXRpYWxpemUoKS4KLSAgICByZXR1cm4gbV9zZWxlY3RlZEluZGV4
ICsgMTsKLX0KLQotU3RyaW5nIERhdGVUaW1lU3ltYm9saWNGaWVsZEVsZW1lbnQ6OnZpc2libGVF
bXB0eVZhbHVlKCkgY29uc3QKLXsKLSAgICByZXR1cm4gbV92aXNpYmxlRW1wdHlWYWx1ZTsKLX0K
LQotU3RyaW5nIERhdGVUaW1lU3ltYm9saWNGaWVsZEVsZW1lbnQ6OnZpc2libGVWYWx1ZSgpIGNv
bnN0Ci17Ci0gICAgcmV0dXJuIGhhc1ZhbHVlKCkgPyBtX3N5bWJvbHNbbV9zZWxlY3RlZEluZGV4
XSA6IHZpc2libGVFbXB0eVZhbHVlKCk7Ci19Ci0KLWludCBEYXRlVGltZVN5bWJvbGljRmllbGRF
bGVtZW50OjppbmRleE9mU2VsZWN0ZWRPcHRpb24oKSBjb25zdAotewotICAgIHJldHVybiBtX3Nl
bGVjdGVkSW5kZXg7Ci19Ci0KLWludCBEYXRlVGltZVN5bWJvbGljRmllbGRFbGVtZW50OjpvcHRp
b25Db3VudCgpIGNvbnN0Ci17Ci0gICAgcmV0dXJuIG1fc3ltYm9scy5zaXplKCk7Ci19Ci0KLVN0
cmluZyBEYXRlVGltZVN5bWJvbGljRmllbGRFbGVtZW50OjpvcHRpb25BdEluZGV4KGludCBpbmRl
eCkgY29uc3QKLXsKLSAgICByZXR1cm4gbV9zeW1ib2xzW2luZGV4XTsKLX0KLQotfSAvLyBuYW1l
c3BhY2UgV2ViQ29yZQotCi0jZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwv
c2hhZG93L0RhdGVUaW1lU3ltYm9saWNGaWVsZEVsZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2h0
bWwvc2hhZG93L0RhdGVUaW1lU3ltYm9saWNGaWVsZEVsZW1lbnQuaApkZWxldGVkIGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggNzdjYTE0M2NhZTlhZDllNzMxZTRiOTdjYTU5ZDU5MDBlMDA4MzA3MC4u
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9odG1sL3NoYWRvdy9EYXRlVGltZVN5bWJvbGljRmllbGRFbGVtZW50LmgKKysrIC9kZXYv
bnVsbApAQCAtMSw4MyArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDEyIEdvb2dsZSBJ
bmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBp
biBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRp
b24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMK
LSAqIGFyZSBtZXQ6Ci0gKiAxLiAgUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3Qg
cmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAyLiAgUmVkaXN0cmli
dXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQK
LSAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0
ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqCi0gKiBUSElTIFNPRlRX
QVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJ
UycnIEFORAotICogQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCi0gKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hB
TlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRQotICogQVJFIERJ
U0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9S
UyBCRSBMSUFCTEUKLSAqIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BF
Q0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMCi0gKiBEQU1BR0VTIChJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUgot
ICogU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJ
TlRFUlJVUFRJT04pIEhPV0VWRVIKLSAqIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFC
SUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVAotICogTElBQklMSVRZLCBPUiBUT1JU
IChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWQot
ICogT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRI
RSBQT1NTSUJJTElUWSBPRgotICogU1VDSCBEQU1BR0UuCi0gKi8KLQotI2lmbmRlZiBEYXRlVGlt
ZVN5bWJvbGljRmllbGRFbGVtZW50X2gKLSNkZWZpbmUgRGF0ZVRpbWVTeW1ib2xpY0ZpZWxkRWxl
bWVudF9oCi0KLSNpZiBFTkFCTEUoSU5QVVRfTVVMVElQTEVfRklFTERTX1VJKQotI2luY2x1ZGUg
IkRhdGVUaW1lRmllbGRFbGVtZW50LmgiCi0jaW5jbHVkZSAiVHlwZUFoZWFkLmgiCi0KLW5hbWVz
cGFjZSBXZWJDb3JlIHsKLQotLy8gRGF0ZVRpbWVTeW1ib2xpY0ZpZWxkRWxlbWVudCByZXByZXNl
bnRzIG5vbi1udW1lcmljIGZpZWxkIG9mIGRhdGEgdGltZQotLy8gZm9ybWF0LCBzdWNoIGFzOiBB
TS9QTSwgYW5kIG1vbnRoLgotY2xhc3MgRGF0ZVRpbWVTeW1ib2xpY0ZpZWxkRWxlbWVudCA6IHB1
YmxpYyBEYXRlVGltZUZpZWxkRWxlbWVudCwgcHVibGljIFR5cGVBaGVhZERhdGFTb3VyY2Ugewot
ICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKERhdGVUaW1lU3ltYm9saWNGaWVsZEVsZW1lbnQpOwot
Ci1wcm90ZWN0ZWQ6Ci0gICAgRGF0ZVRpbWVTeW1ib2xpY0ZpZWxkRWxlbWVudChEb2N1bWVudCos
IEZpZWxkT3duZXImLCBjb25zdCBWZWN0b3I8U3RyaW5nPiYsIGludCBtaW5pbXVtLCBpbnQgbWF4
aW11bSk7Ci0gICAgc2l6ZV90IHN5bWJvbHNTaXplKCkgY29uc3QgeyByZXR1cm4gbV9zeW1ib2xz
LnNpemUoKTsgfQotICAgIHZpcnR1YWwgYm9vbCBoYXNWYWx1ZSgpIGNvbnN0IE9WRVJSSURFIEZJ
TkFMOwotICAgIHZvaWQgaW5pdGlhbGl6ZShjb25zdCBBdG9taWNTdHJpbmcmIHBzZXVkbywgY29u
c3QgU3RyaW5nJiBheEhlbHBUZXh0KTsKLSAgICB2aXJ0dWFsIHZvaWQgc2V0RW1wdHlWYWx1ZShF
dmVudEJlaGF2aW9yID0gRGlzcGF0Y2hOb0V2ZW50KSBPVkVSUklERSBGSU5BTDsKLSAgICB2aXJ0
dWFsIHZvaWQgc2V0VmFsdWVBc0ludGVnZXIoaW50LCBFdmVudEJlaGF2aW9yID0gRGlzcGF0Y2hO
b0V2ZW50KSBPVkVSUklERSBGSU5BTDsKLSAgICB2aXJ0dWFsIGludCB2YWx1ZUFzSW50ZWdlcigp
IGNvbnN0IE9WRVJSSURFIEZJTkFMOwotCi1wcml2YXRlOgotICAgIHN0YXRpYyBjb25zdCBpbnQg
aW52YWxpZEluZGV4ID0gLTE7Ci0KLSAgICBTdHJpbmcgdmlzaWJsZUVtcHR5VmFsdWUoKSBjb25z
dDsKLSAgICBib29sIGluZGV4SXNJblJhbmdlKGludCBpbmRleCkgY29uc3QgeyByZXR1cm4gaW5k
ZXggPj0gbV9taW5pbXVtSW5kZXggJiYgaW5kZXggPD0gbV9tYXhpbXVtSW5kZXg7IH0KLQotICAg
IC8vIERhdGVUaW1lRmllbGRFbGVtZW50IGZ1bmN0aW9ucy4KLSAgICB2aXJ0dWFsIHZvaWQgaGFu
ZGxlS2V5Ym9hcmRFdmVudChLZXlib2FyZEV2ZW50KikgT1ZFUlJJREUgRklOQUw7Ci0gICAgdmly
dHVhbCBmbG9hdCBtYXhpbXVtV2lkdGgoY29uc3QgRm9udCYpIE9WRVJSSURFOwotICAgIHZpcnR1
YWwgdm9pZCBzdGVwRG93bigpIE9WRVJSSURFIEZJTkFMOwotICAgIHZpcnR1YWwgdm9pZCBzdGVw
VXAoKSBPVkVSUklERSBGSU5BTDsKLSAgICB2aXJ0dWFsIFN0cmluZyB2YWx1ZSgpIGNvbnN0IE9W
RVJSSURFIEZJTkFMOwotICAgIHZpcnR1YWwgaW50IHZhbHVlRm9yQVJJQVZhbHVlTm93KCkgY29u
c3QgT1ZFUlJJREUgRklOQUw7Ci0gICAgdmlydHVhbCBTdHJpbmcgdmlzaWJsZVZhbHVlKCkgY29u
c3QgT1ZFUlJJREUgRklOQUw7Ci0KLSAgICAvLyBUeXBlQWhlYWREYXRhU291cmNlIGZ1bmN0aW9u
cy4KLSAgICB2aXJ0dWFsIGludCBpbmRleE9mU2VsZWN0ZWRPcHRpb24oKSBjb25zdCBPVkVSUklE
RTsKLSAgICB2aXJ0dWFsIGludCBvcHRpb25Db3VudCgpIGNvbnN0IE9WRVJSSURFOwotICAgIHZp
cnR1YWwgU3RyaW5nIG9wdGlvbkF0SW5kZXgoaW50IGluZGV4KSBjb25zdCBPVkVSUklERTsKLQot
ICAgIGNvbnN0IFZlY3RvcjxTdHJpbmc+IG1fc3ltYm9sczsKLQotICAgIC8vIFdlIHVzZSBBdG9t
aWNTdHJpbmcgdG8gc2hhcmUgdmlzaWJsZSBlbXB0eSB2YWx1ZSBhbW9uZyBtdWx0aXBsZQotICAg
IC8vIERhdGVUaW1lRWRpdEVsZW1lbnRzIGluIHRoZSBwYWdlLgotICAgIGNvbnN0IEF0b21pY1N0
cmluZyBtX3Zpc2libGVFbXB0eVZhbHVlOwotICAgIGludCBtX3NlbGVjdGVkSW5kZXg7Ci0gICAg
VHlwZUFoZWFkIG1fdHlwZUFoZWFkOwotICAgIGNvbnN0IGludCBtX21pbmltdW1JbmRleDsKLSAg
ICBjb25zdCBpbnQgbV9tYXhpbXVtSW5kZXg7Ci19OwotCi19IC8vIG5hbWVzcGFjZSBXZWJDb3Jl
Ci0KLSNlbmRpZgotI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRv
dy9QaWNrZXJJbmRpY2F0b3JFbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93
L1BpY2tlckluZGljYXRvckVsZW1lbnQuY3BwCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCBkYzJlYzVlOTJjMDJlYjUyYTg0OGY3YTRhMzYwYWVjZWJkM2VhMDJlLi4wMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hh
ZG93L1BpY2tlckluZGljYXRvckVsZW1lbnQuY3BwCisrKyAvZGV2L251bGwKQEAgLTEsMTM0ICsw
LDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTIgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyBy
ZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmlu
YXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRl
ZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKLSAqIG1ldDoKLSAq
Ci0gKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhl
IGFib3ZlIGNvcHlyaWdodAotICogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogICAgICogUmVkaXN0cmlidXRpb25zIGluIGJp
bmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQotICogY29weXJpZ2h0IG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgotICog
aW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRo
IHRoZQotICogZGlzdHJpYnV0aW9uLgotICogICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29n
bGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cwotICogY29udHJpYnV0b3JzIG1heSBiZSB1c2Vk
IHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KLSAqIHRoaXMgc29m
dHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCi0gKgotICog
VEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENP
TlRSSUJVVE9SUwotICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5U
SUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKLSAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJB
TlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgotICogQSBQQVJUSUNVTEFS
IFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQK
LSAqIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElS
RUNULCBJTkNJREVOVEFMLAotICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFM
IERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAotICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQg
T0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCi0gKiBEQVRBLCBP
UiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBP
TiBBTlkKLSAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklD
VCBMSUFCSUxJVFksIE9SIFRPUlQKLSAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJ
U0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQotICogT0YgVEhJUyBTT0ZUV0FS
RSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KLSAq
LwotCi0jaW5jbHVkZSAiY29uZmlnLmgiCi0jaWYgRU5BQkxFKElOUFVUX01VTFRJUExFX0ZJRUxE
U19VSSkKLSNpbmNsdWRlICJQaWNrZXJJbmRpY2F0b3JFbGVtZW50LmgiCi0KLSNpbmNsdWRlICJD
aHJvbWUuaCIKLSNpbmNsdWRlICJFdmVudC5oIgotI2luY2x1ZGUgIlBhZ2UuaCIKLSNpbmNsdWRl
ICJSZW5kZXJEZXRhaWxzTWFya2VyLmgiCi0KLXVzaW5nIG5hbWVzcGFjZSBXVEY6OlVuaWNvZGU7
Ci0KLW5hbWVzcGFjZSBXZWJDb3JlIHsKLQotdXNpbmcgbmFtZXNwYWNlIEhUTUxOYW1lczsKLQot
aW5saW5lIFBpY2tlckluZGljYXRvckVsZW1lbnQ6OlBpY2tlckluZGljYXRvckVsZW1lbnQoRG9j
dW1lbnQqIGRvY3VtZW50LCBQaWNrZXJJbmRpY2F0b3JPd25lciYgcGlja2VySW5kaWNhdG9yT3du
ZXIpCi0gICAgOiBIVE1MRGl2RWxlbWVudChkaXZUYWcsIGRvY3VtZW50KQotICAgICwgbV9waWNr
ZXJJbmRpY2F0b3JPd25lcigmcGlja2VySW5kaWNhdG9yT3duZXIpCi17Ci0gICAgc2V0UHNldWRv
KEF0b21pY1N0cmluZygiLXdlYmtpdC1jYWxlbmRhci1waWNrZXItaW5kaWNhdG9yIiwgQXRvbWlj
U3RyaW5nOjpDb25zdHJ1Y3RGcm9tTGl0ZXJhbCkpOwotfQotCi1QYXNzUmVmUHRyPFBpY2tlcklu
ZGljYXRvckVsZW1lbnQ+IFBpY2tlckluZGljYXRvckVsZW1lbnQ6OmNyZWF0ZShEb2N1bWVudCog
ZG9jdW1lbnQsIFBpY2tlckluZGljYXRvck93bmVyJiBwaWNrZXJJbmRpY2F0b3JPd25lcikKLXsK
LSAgICByZXR1cm4gYWRvcHRSZWYobmV3IFBpY2tlckluZGljYXRvckVsZW1lbnQoZG9jdW1lbnQs
IHBpY2tlckluZGljYXRvck93bmVyKSk7Ci19Ci0KLVBpY2tlckluZGljYXRvckVsZW1lbnQ6On5Q
aWNrZXJJbmRpY2F0b3JFbGVtZW50KCkKLXsKLSAgICBjbG9zZVBvcHVwKCk7Ci0gICAgQVNTRVJU
KCFtX2Nob29zZXIpOwotfQotCi1SZW5kZXJPYmplY3QqIFBpY2tlckluZGljYXRvckVsZW1lbnQ6
OmNyZWF0ZVJlbmRlcmVyKFJlbmRlckFyZW5hKiBhcmVuYSwgUmVuZGVyU3R5bGUqKQotewotICAg
IHJldHVybiBuZXcgKGFyZW5hKSBSZW5kZXJEZXRhaWxzTWFya2VyKHRoaXMpOwotfQotCi12b2lk
IFBpY2tlckluZGljYXRvckVsZW1lbnQ6OmRlZmF1bHRFdmVudEhhbmRsZXIoRXZlbnQqIGV2ZW50
KQotewotICAgIGlmICghcmVuZGVyZXIoKSkKLSAgICAgICAgcmV0dXJuOwotICAgIGlmICghbV9w
aWNrZXJJbmRpY2F0b3JPd25lciB8fCBtX3BpY2tlckluZGljYXRvck93bmVyLT5pc1BpY2tlcklu
ZGljYXRvck93bmVyRGlzYWJsZWRPclJlYWRPbmx5KCkpCi0gICAgICAgIHJldHVybjsKLQotICAg
IGlmIChldmVudC0+dHlwZSgpID09IGV2ZW50TmFtZXMoKS5jbGlja0V2ZW50KSB7Ci0gICAgICAg
IG9wZW5Qb3B1cCgpOwotICAgICAgICBldmVudC0+c2V0RGVmYXVsdEhhbmRsZWQoKTsKLSAgICB9
Ci0KLSAgICBpZiAoIWV2ZW50LT5kZWZhdWx0SGFuZGxlZCgpKQotICAgICAgICBIVE1MRGl2RWxl
bWVudDo6ZGVmYXVsdEV2ZW50SGFuZGxlcihldmVudCk7Ci19Ci0KLWJvb2wgUGlja2VySW5kaWNh
dG9yRWxlbWVudDo6d2lsbFJlc3BvbmRUb01vdXNlQ2xpY2tFdmVudHMoKQotewotICAgIGlmIChy
ZW5kZXJlcigpICYmIG1fcGlja2VySW5kaWNhdG9yT3duZXIgJiYgIW1fcGlja2VySW5kaWNhdG9y
T3duZXItPmlzUGlja2VySW5kaWNhdG9yT3duZXJEaXNhYmxlZE9yUmVhZE9ubHkoKSkKLSAgICAg
ICAgcmV0dXJuIHRydWU7Ci0KLSAgICByZXR1cm4gSFRNTERpdkVsZW1lbnQ6OndpbGxSZXNwb25k
VG9Nb3VzZUNsaWNrRXZlbnRzKCk7Ci19Ci0KLXZvaWQgUGlja2VySW5kaWNhdG9yRWxlbWVudDo6
ZGlkQ2hvb3NlVmFsdWUoY29uc3QgU3RyaW5nJiB2YWx1ZSkKLXsKLSAgICBpZiAoIW1fcGlja2Vy
SW5kaWNhdG9yT3duZXIpCi0gICAgICAgIHJldHVybjsKLSAgICBtX3BpY2tlckluZGljYXRvck93
bmVyLT5waWNrZXJJbmRpY2F0b3JDaG9vc2VWYWx1ZSh2YWx1ZSk7Ci19Ci0KLXZvaWQgUGlja2Vy
SW5kaWNhdG9yRWxlbWVudDo6ZGlkRW5kQ2hvb3NlcigpCi17Ci0gICAgbV9jaG9vc2VyLmNsZWFy
KCk7Ci19Ci0KLXZvaWQgUGlja2VySW5kaWNhdG9yRWxlbWVudDo6b3BlblBvcHVwKCkKLXsKLSAg
ICBpZiAobV9jaG9vc2VyKQotICAgICAgICByZXR1cm47Ci0gICAgaWYgKCFkb2N1bWVudCgpLT5w
YWdlKCkpCi0gICAgICAgIHJldHVybjsKLSAgICBpZiAoIW1fcGlja2VySW5kaWNhdG9yT3duZXIp
Ci0gICAgICAgIHJldHVybjsKLSAgICBEYXRlVGltZUNob29zZXJQYXJhbWV0ZXJzIHBhcmFtZXRl
cnM7Ci0gICAgaWYgKCFtX3BpY2tlckluZGljYXRvck93bmVyLT5zZXR1cERhdGVUaW1lQ2hvb3Nl
clBhcmFtZXRlcnMocGFyYW1ldGVycykpCi0gICAgICAgIHJldHVybjsKLSAgICBtX2Nob29zZXIg
PSBkb2N1bWVudCgpLT5wYWdlKCktPmNocm9tZSgpLm9wZW5EYXRlVGltZUNob29zZXIodGhpcywg
cGFyYW1ldGVycyk7Ci19Ci0KLXZvaWQgUGlja2VySW5kaWNhdG9yRWxlbWVudDo6Y2xvc2VQb3B1
cCgpCi17Ci0gICAgaWYgKCFtX2Nob29zZXIpCi0gICAgICAgIHJldHVybjsKLSAgICBtX2Nob29z
ZXItPmVuZENob29zZXIoKTsKLX0KLQotdm9pZCBQaWNrZXJJbmRpY2F0b3JFbGVtZW50OjpkZXRh
Y2goKQotewotICAgIGNsb3NlUG9wdXAoKTsKLSAgICBIVE1MRGl2RWxlbWVudDo6ZGV0YWNoKCk7
Ci19Ci0KLX0KLQotI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRv
dy9QaWNrZXJJbmRpY2F0b3JFbGVtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9Q
aWNrZXJJbmRpY2F0b3JFbGVtZW50LmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDA2
ZmRlMmY5NWE3MDRkN2Y2MTFmZTVjZDMwYTY4ZTc3OWY0YWFlMTAuLjAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cv
UGlja2VySW5kaWNhdG9yRWxlbWVudC5oCisrKyAvZGV2L251bGwKQEAgLTEsODIgKzAsMCBAQAot
LyoKLSAqIENvcHlyaWdodCAoQykgMjAxMiBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVk
LgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9y
bXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3Zp
ZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQotICogbWV0OgotICoKLSAqICAg
ICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUg
Y29weXJpZ2h0Ci0gKiBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIuCi0gKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZv
cm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCi0gKiBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCi0gKiBpbiB0aGUg
ZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCi0g
KiBkaXN0cmlidXRpb24uCi0gKiAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMu
IG5vciB0aGUgbmFtZXMgb2YgaXRzCi0gKiBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5k
b3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQotICogdGhpcyBzb2Z0d2FyZSB3
aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KLSAqCi0gKiBUSElTIFNP
RlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVU
T1JTCi0gKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElO
Q0xVRElORywgQlVUIE5PVAotICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBP
RiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCi0gKiBBIFBBUlRJQ1VMQVIgUFVSUE9T
RSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAotICogT1dO
RVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElO
Q0lERU5UQUwsCi0gKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdF
UyAoSU5DTFVESU5HLCBCVVQgTk9UCi0gKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJT
VElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKLSAqIERBVEEsIE9SIFBST0ZJ
VFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQot
ICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJ
TElUWSwgT1IgVE9SVAotICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJ
U0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCi0gKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVO
IElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgotICovCi0KLSNp
Zm5kZWYgUGlja2VySW5kaWNhdG9yRWxlbWVudF9oCi0jZGVmaW5lIFBpY2tlckluZGljYXRvckVs
ZW1lbnRfaAotCi0jaWYgRU5BQkxFKElOUFVUX01VTFRJUExFX0ZJRUxEU19VSSkKLSNpbmNsdWRl
ICJEYXRlVGltZUNob29zZXIuaCIKLSNpbmNsdWRlICJEYXRlVGltZUNob29zZXJDbGllbnQuaCIK
LSNpbmNsdWRlICJIVE1MRGl2RWxlbWVudC5oIgotI2luY2x1ZGUgPHd0Zi9Pd25QdHIuaD4KLQot
bmFtZXNwYWNlIFdlYkNvcmUgewotCi1jbGFzcyBIVE1MSW5wdXRFbGVtZW50OwotY2xhc3MgUGFn
ZVBvcHVwOwotCi1jbGFzcyBQaWNrZXJJbmRpY2F0b3JFbGVtZW50IEZJTkFMIDogcHVibGljIEhU
TUxEaXZFbGVtZW50LCBwdWJsaWMgRGF0ZVRpbWVDaG9vc2VyQ2xpZW50IHsKLXB1YmxpYzoKLSAg
ICAvLyBQaWNrZXJJbmRpY2F0b3JPd25lciBpbXBsZW1lbnRlciBtdXN0IGNhbGwgcmVtb3ZlUGlj
a2VySW5kaWNhdG9yT3duZXIgd2hlbgotICAgIC8vIGl0IGRvZXNuJ3QgaGFuZGxlIGV2ZW50LCBl
LmcuIGF0IGRlc3RydWN0aW9uLgotICAgIGNsYXNzIFBpY2tlckluZGljYXRvck93bmVyIHsKLSAg
ICBwdWJsaWM6Ci0gICAgICAgIHZpcnR1YWwgflBpY2tlckluZGljYXRvck93bmVyKCkgeyB9Ci0g
ICAgICAgIHZpcnR1YWwgYm9vbCBpc1BpY2tlckluZGljYXRvck93bmVyRGlzYWJsZWRPclJlYWRP
bmx5KCkgY29uc3QgPSAwOwotICAgICAgICB2aXJ0dWFsIHZvaWQgcGlja2VySW5kaWNhdG9yQ2hv
b3NlVmFsdWUoY29uc3QgU3RyaW5nJikgPSAwOwotICAgICAgICB2aXJ0dWFsIGJvb2wgc2V0dXBE
YXRlVGltZUNob29zZXJQYXJhbWV0ZXJzKERhdGVUaW1lQ2hvb3NlclBhcmFtZXRlcnMmKSA9IDA7
Ci0gICAgfTsKLQotICAgIHN0YXRpYyBQYXNzUmVmUHRyPFBpY2tlckluZGljYXRvckVsZW1lbnQ+
IGNyZWF0ZShEb2N1bWVudCosIFBpY2tlckluZGljYXRvck93bmVyJik7Ci0gICAgdmlydHVhbCB+
UGlja2VySW5kaWNhdG9yRWxlbWVudCgpOwotICAgIHZvaWQgb3BlblBvcHVwKCk7Ci0gICAgdm9p
ZCBjbG9zZVBvcHVwKCk7Ci0gICAgdmlydHVhbCBib29sIHdpbGxSZXNwb25kVG9Nb3VzZUNsaWNr
RXZlbnRzKCkgT1ZFUlJJREU7Ci0gICAgdm9pZCByZW1vdmVQaWNrZXJJbmRpY2F0b3JPd25lcigp
IHsgbV9waWNrZXJJbmRpY2F0b3JPd25lciA9IDA7IH0KLQotICAgIC8vIERhdGVUaW1lQ2hvb3Nl
ckNsaWVudCBpbXBsZW1lbnRhdGlvbi4KLSAgICB2aXJ0dWFsIHZvaWQgZGlkQ2hvb3NlVmFsdWUo
Y29uc3QgU3RyaW5nJikgT1ZFUlJJREU7Ci0gICAgdmlydHVhbCB2b2lkIGRpZEVuZENob29zZXIo
KSBPVkVSUklERTsKLQotcHJpdmF0ZToKLSAgICBQaWNrZXJJbmRpY2F0b3JFbGVtZW50KERvY3Vt
ZW50KiwgUGlja2VySW5kaWNhdG9yT3duZXImKTsKLSAgICB2aXJ0dWFsIFJlbmRlck9iamVjdCog
Y3JlYXRlUmVuZGVyZXIoUmVuZGVyQXJlbmEqLCBSZW5kZXJTdHlsZSopIE9WRVJSSURFOwotICAg
IHZpcnR1YWwgdm9pZCBkZWZhdWx0RXZlbnRIYW5kbGVyKEV2ZW50KikgT1ZFUlJJREU7Ci0gICAg
dmlydHVhbCB2b2lkIGRldGFjaCgpIE9WRVJSSURFOwotCi0gICAgSFRNTElucHV0RWxlbWVudCog
aG9zdElucHV0KCk7Ci0KLSAgICBQaWNrZXJJbmRpY2F0b3JPd25lciogbV9waWNrZXJJbmRpY2F0
b3JPd25lcjsKLSAgICBSZWZQdHI8RGF0ZVRpbWVDaG9vc2VyPiBtX2Nob29zZXI7Ci19OwotCi19
Ci0jZW5kaWYKLSNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9DaHJvbWVD
bGllbnQuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ2hyb21lQ2xpZW50LmgKaW5kZXggMTA3ZjRj
MGNmZTUyY2IzZWM4YmQ4YmMwZWU1YmI5MjFhMjc1NDRkOS4uNzQ1YTFlN2ZmZWFmMGI3NjExZjFi
NzA2MGIyN2QyMTFiOTNjNWQwZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9DaHJv
bWVDbGllbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0Nocm9tZUNsaWVudC5oCkBAIC0y
MjEsMTAgKzIyMSw2IEBAIHB1YmxpYzoKICNlbmRpZgogCiAjaWYgRU5BQkxFKERBVEVfQU5EX1RJ
TUVfSU5QVVRfVFlQRVMpCi0gICAgLy8gVGhpcyBmdW5jdGlvbiBpcyB1c2VkIGZvcjoKLSAgICAv
LyAgLSBNYW5kYXRvcnkgZGF0ZS90aW1lIGNob29zZXJzIGlmICFFTkFCTEUoSU5QVVRfTVVMVElQ
TEVfRklFTERTX1VJKQotICAgIC8vICAtIDxkYXRhbGlzdD4gVUkgZm9yIGRhdGUvdGltZSBpbnB1
dCB0eXBlcyByZWdhcmRsZXNzIG9mCi0gICAgLy8gICAgRU5BQkxFKElOUFVUX01VTFRJUExFX0ZJ
RUxEU19VSSkKICAgICB2aXJ0dWFsIFBhc3NSZWZQdHI8RGF0ZVRpbWVDaG9vc2VyPiBvcGVuRGF0
ZVRpbWVDaG9vc2VyKERhdGVUaW1lQ2hvb3NlckNsaWVudCosIGNvbnN0IERhdGVUaW1lQ2hvb3Nl
clBhcmFtZXRlcnMmKSA9IDA7CiAjZW5kaWYKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vTG9jYWxpemVkU3RyaW5ncy5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vTG9j
YWxpemVkU3RyaW5ncy5oCmluZGV4IDJhNTIyZDgxZjM2N2UxYzQ1NWFmNGJlMjE0MTJmMjEyYWE4
NmFmNTguLmM2M2QxYTRlNDQ3OTQxYWVkNjI0OGE4YmMxNmJlM2UyYTU0NzY0YTggMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0xvY2FsaXplZFN0cmluZ3MuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9Mb2NhbGl6ZWRTdHJpbmdzLmgKQEAgLTE2OCwzMyArMTY4LDYg
QEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIFN0cmluZyBBWE1lbnVMaXN0UG9wdXBBY3Rpb25W
ZXJiKCk7CiAgICAgU3RyaW5nIEFYTGlua0FjdGlvblZlcmIoKTsKIAotI2lmIEVOQUJMRShJTlBV
VF9NVUxUSVBMRV9GSUVMRFNfVUkpCi0gICAgU3RyaW5nIEFYQU1QTUZpZWxkVGV4dCgpOwotICAg
IFN0cmluZyBBWERheU9mTW9udGhGaWVsZFRleHQoKTsKLSAgICBTdHJpbmcgQVhEYXRlVGltZUZp
ZWxkRW1wdHlWYWx1ZVRleHQoKTsKLSAgICBTdHJpbmcgQVhIb3VyRmllbGRUZXh0KCk7Ci0gICAg
U3RyaW5nIEFYTWlsbGlzZWNvbmRGaWVsZFRleHQoKTsKLSAgICBTdHJpbmcgQVhNaW51dGVGaWVs
ZFRleHQoKTsKLSAgICBTdHJpbmcgQVhNb250aEZpZWxkVGV4dCgpOwotICAgIFN0cmluZyBBWFNl
Y29uZEZpZWxkVGV4dCgpOwotICAgIFN0cmluZyBBWFdlZWtPZlllYXJGaWVsZFRleHQoKTsKLSAg
ICBTdHJpbmcgQVhZZWFyRmllbGRUZXh0KCk7Ci0KLSAgICAvLyBwbGFjZWhvbGRlckZvckRheU9m
TW9udGhGaWVsZCgpIHJldHVybnMgbG9jYWxpemVkIHBsYWNlaG9sZGVyIHRleHQsIGUuZy4KLSAg
ICAvLyAiZGQiLCBmb3IgZGF0ZSBmaWVsZCB1c2VkIGluIG11bHRpcGxlIGZpZWxkcyAiZGF0ZSIs
ICJkYXRldGltZSIsIGFuZAotICAgIC8vICJkYXRldGltZS1sb2NhbCIgaW5wdXQgVUkgaW5zdGVh
ZCAiLS0iLgotICAgIFN0cmluZyBwbGFjZWhvbGRlckZvckRheU9mTW9udGhGaWVsZCgpOwotCi0g
ICAgLy8gcGxhY2Vob2xkZXJGb3JmTW9udGhGaWVsZCgpIHJldHVybnMgbG9jYWxpemVkIHBsYWNl
aG9sZGVyIHRleHQsIGUuZy4KLSAgICAvLyAibW0iLCBmb3IgbW9udGggZmllbGQgdXNlZCBpbiBt
dWx0aXBsZSBmaWVsZHMgImRhdGUiLCAiZGF0ZXRpbWUiLCBhbmQKLSAgICAvLyAiZGF0ZXRpbWUt
bG9jYWwiIGlucHV0IFVJIGluc3RlYWQgIi0tIi4KLSAgICBTdHJpbmcgcGxhY2Vob2xkZXJGb3JN
b250aEZpZWxkKCk7Ci0KLSAgICAvLyBwbGFjZWhvbGRlckZvclllYXJGaWVsZCgpIHJldHVybnMg
bG9jYWxpemVkIHBsYWNlaG9sZGVyIHRleHQsIGUuZy4KLSAgICAvLyAieXl5eSIsIGZvciB5ZWFy
IGZpZWxkIHVzZWQgaW4gbXVsdGlwbGUgZmllbGRzICJkYXRlIiwgImRhdGV0aW1lIiwgYW5kCi0g
ICAgLy8gImRhdGV0aW1lLWxvY2FsIiBpbnB1dCBVSSBpbnN0ZWFkICItLS0tIi4KLSAgICBTdHJp
bmcgcGxhY2Vob2xkZXJGb3JZZWFyRmllbGQoKTsKLSNlbmRpZgogI2lmIEVOQUJMRShJTlBVVF9U
WVBFX1dFRUspCiAgICAgLy8gd2Vla0Zvcm1hdEluTERNTCgpIHJldHVybnMgd2VlayBhbmQgeWVh
ciBmb3JtYXQgaW4gTERNTCwgVW5pY29kZQogICAgIC8vIHRlY2huaWNhbCBzdGFuZGFyZCAzNSwg
TG9jYWxlIERhdGEgTWFya3VwIExhbmd1YWdlLCBlLmcuICInV2Vlaycgd3csIHl5eXkiCkBAIC0y
NTYsOSArMjI5LDYgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIFN0cmluZyB2YWxpZGF0aW9u
TWVzc2FnZVJhbmdlT3ZlcmZsb3dUZXh0KGNvbnN0IFN0cmluZyYgbWF4aW11bSk7CiAgICAgU3Ry
aW5nIHZhbGlkYXRpb25NZXNzYWdlU3RlcE1pc21hdGNoVGV4dChjb25zdCBTdHJpbmcmIGJhc2Us
IGNvbnN0IFN0cmluZyYgc3RlcCk7CiAgICAgU3RyaW5nIHZhbGlkYXRpb25NZXNzYWdlQmFkSW5w
dXRGb3JOdW1iZXJUZXh0KCk7Ci0jaWYgRU5BQkxFKElOUFVUX01VTFRJUExFX0ZJRUxEU19VSSkK
LSAgICBTdHJpbmcgdmFsaWRhdGlvbk1lc3NhZ2VCYWRJbnB1dEZvckRhdGVUaW1lVGV4dCgpOwot
I2VuZGlmCiAjaWYgVVNFKFNPVVApCiAgICAgU3RyaW5nIHVuYWNjZXB0YWJsZVRMU0NlcnRpZmlj
YXRlKCk7CiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3RleHQv
UGxhdGZvcm1Mb2NhbGUuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vdGV4dC9QbGF0Zm9y
bUxvY2FsZS5jcHAKaW5kZXggODYwNGEyYjEwODM5YTEzNzAzMzVjMzExNWEzNDFjYjczMDM1Y2Jm
ZC4uZDczNmNjYTc0ZWE0OWE5N2U0MjIzMGU1N2QxMmEwMDBlODQ1ZDhjOSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vdGV4dC9QbGF0Zm9ybUxvY2FsZS5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vdGV4dC9QbGF0Zm9ybUxvY2FsZS5jcHAKQEAgLTMyNiwxNCAr
MzI2LDYgQEAgU3RyaW5nIExvY2FsZTo6Y29udmVydEZyb21Mb2NhbGl6ZWROdW1iZXIoY29uc3Qg
U3RyaW5nJiBsb2NhbGl6ZWQpCiAgICAgcmV0dXJuIGJ1aWxkZXIudG9TdHJpbmcoKTsKIH0KIAot
I2lmIEVOQUJMRShJTlBVVF9NVUxUSVBMRV9GSUVMRFNfVUkpCi1TdHJpbmcgTG9jYWxlOjpsb2Nh
bGl6ZWREZWNpbWFsU2VwYXJhdG9yKCkKLXsKLSAgICBpbml0aWFsaXplTG9jYWxlRGF0YSgpOwot
ICAgIHJldHVybiBtX2RlY2ltYWxTeW1ib2xzW0RlY2ltYWxTZXBhcmF0b3JJbmRleF07Ci19Ci0j
ZW5kaWYKLQogI2lmIEVOQUJMRShEQVRFX0FORF9USU1FX0lOUFVUX1RZUEVTKQogCiBTdHJpbmcg
TG9jYWxlOjpmb3JtYXREYXRlVGltZShjb25zdCBEYXRlQ29tcG9uZW50cyYgZGF0ZSwgRm9ybWF0
VHlwZSBmb3JtYXRUeXBlKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vdGV4
dC9QbGF0Zm9ybUxvY2FsZS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vdGV4dC9QbGF0Zm9y
bUxvY2FsZS5oCmluZGV4IDkyNWI3ZTEyMTViM2UwNDUyOWI5ZmM1YzcwZmJmOWNlYjlkNmMxYzIu
LjFlOTc2OTA2YmU4Njg2Yjg5NWM2ZTMzMjkzMjU1NmUxNTdlMjA1NmEgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL3RleHQvUGxhdGZvcm1Mb2NhbGUuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS90ZXh0L1BsYXRmb3JtTG9jYWxlLmgKQEAgLTUzLDExICs1Myw2IEBA
IHB1YmxpYzoKICAgICAvLyByZXN1bHRhbnQgc3RyaW5nLgogICAgIFN0cmluZyBjb252ZXJ0RnJv
bUxvY2FsaXplZE51bWJlcihjb25zdCBTdHJpbmcmKTsKIAotI2lmIEVOQUJMRShJTlBVVF9NVUxU
SVBMRV9GSUVMRFNfVUkpCi0gICAgLy8gUmV0dXJucyBsb2NhbGl6ZWQgZGVjaW1hbCBzZXBhcmF0
b3IsIGUuZy4gIi4iIGZvciBFbmdsaXNoLCAiLCIgZm9yIEZyZW5jaC4KLSAgICBTdHJpbmcgbG9j
YWxpemVkRGVjaW1hbFNlcGFyYXRvcigpOwotI2VuZGlmCi0KICNpZiBFTkFCTEUoREFURV9BTkRf
VElNRV9JTlBVVF9UWVBFUykKICAgICAvLyBSZXR1cm5zIGRhdGUgZm9ybWF0IGluIFVuaWNvZGUg
VFIzNSBMRE1MWzFdIGNvbnRhaW5pbmcgZGF5IG9mIG1vbnRoLAogICAgIC8vIG1vbnRoLCBhbmQg
eWVhciwgZS5nLiAiZGQvbW0veXl5eSIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJEZXRhaWxzTWFya2VyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJEZXRhaWxzTWFya2VyLmNwcAppbmRleCAxNjQ1ZjkyNDExZDRhMjIxNTVjYTUzY2JiNzk1
ZDNhMTMxM2ZhYmFjLi4wZDE3NjZhNGVjZGUzMTY2OGJmNGJiZWVhMWZlMjQ0ZDk1NDI2ZGUwIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRGV0YWlsc01hcmtlci5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckRldGFpbHNNYXJrZXIuY3Bw
CkBAIC0xOSw3ICsxOSw3IEBACiAgKi8KIAogI2luY2x1ZGUgImNvbmZpZy5oIgotI2lmIEVOQUJM
RShERVRBSUxTX0VMRU1FTlQpIHx8IEVOQUJMRShJTlBVVF9NVUxUSVBMRV9GSUVMRFNfVUkpCisj
aWYgRU5BQkxFKERFVEFJTFNfRUxFTUVOVCkKICNpbmNsdWRlICJSZW5kZXJEZXRhaWxzTWFya2Vy
LmgiCiAKICNpbmNsdWRlICJFbGVtZW50LmgiCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyRGV0YWlsc01hcmtlci5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlckRldGFpbHNNYXJrZXIuaAppbmRleCBjZDkxYjAxM2VhODk1YTQwNGIzMDVlZjNjNmI1
ZTdmZTkyNDVjZWFmLi5kYjdkMjlkNzBkZDZmMzQ2YjAzMDUzNTlkMzJmN2E4ZDMyN2JhMmVlIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRGV0YWlsc01hcmtlci5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJEZXRhaWxzTWFya2VyLmgKQEAg
LTIxLDcgKzIxLDcgQEAKICNpZm5kZWYgUmVuZGVyRGV0YWlsc01hcmtlcl9oCiAjZGVmaW5lIFJl
bmRlckRldGFpbHNNYXJrZXJfaAogCi0jaWYgRU5BQkxFKERFVEFJTFNfRUxFTUVOVCkgfHwgRU5B
QkxFKElOUFVUX01VTFRJUExFX0ZJRUxEU19VSSkKKyNpZiBFTkFCTEUoREVUQUlMU19FTEVNRU5U
KQogI2luY2x1ZGUgIlJlbmRlckJsb2NrLmgiCiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJPYmplY3QuaCBiL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJPYmplY3QuaAppbmRleCA4MTg4NTMxZjFkZDExZWIwM2M2
NGNjOGRkMGE0NWM1YzVlNjk3MjFhLi5iZjQxMmU1ZWNlNDFkMDYzNTJiNTkyYmRkMjE3NjM0M2Jh
ODFkODYzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyT2JqZWN0
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck9iamVjdC5oCkBAIC0zMjks
NyArMzI5LDcgQEAgcHVibGljOgogI2VuZGlmCiAgICAgdmlydHVhbCBib29sIGlzUXVvdGUoKSBj
b25zdCB7IHJldHVybiBmYWxzZTsgfQogCi0jaWYgRU5BQkxFKERFVEFJTFNfRUxFTUVOVCkgfHwg
RU5BQkxFKElOUFVUX01VTFRJUExFX0ZJRUxEU19VSSkKKyNpZiBFTkFCTEUoREVUQUlMU19FTEVN
RU5UKQogICAgIHZpcnR1YWwgYm9vbCBpc0RldGFpbHNNYXJrZXIoKSBjb25zdCB7IHJldHVybiBm
YWxzZTsgfQogI2VuZGlmCiAgICAgdmlydHVhbCBib29sIGlzRW1iZWRkZWRPYmplY3QoKSBjb25z
dCB7IHJldHVybiBmYWxzZTsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9ibGFja2JlcnJ5
L1dlYkNvcmVTdXBwb3J0L0Fib3V0RGF0YUVuYWJsZUZlYXR1cmVzLmluIGIvU291cmNlL1dlYktp
dC9ibGFja2JlcnJ5L1dlYkNvcmVTdXBwb3J0L0Fib3V0RGF0YUVuYWJsZUZlYXR1cmVzLmluCmlu
ZGV4IGMyMDUyM2NmNGJmNzYzMGQ4ZmYxNmIxMGQwZTdiNjVkNTgwZmY1ZDUuLjY3NmJjMDRkYThl
MTVkYjQ3OWIyNDFkMTM2MzI0NzQxYzhkN2VhZGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
YmxhY2tiZXJyeS9XZWJDb3JlU3VwcG9ydC9BYm91dERhdGFFbmFibGVGZWF0dXJlcy5pbgorKysg
Yi9Tb3VyY2UvV2ViS2l0L2JsYWNrYmVycnkvV2ViQ29yZVN1cHBvcnQvQWJvdXREYXRhRW5hYmxl
RmVhdHVyZXMuaW4KQEAgLTkxLDcgKzkxLDYgQEAgSUNPTkRBVEFCQVNFCiBJRlJBTUVfU0VBTUxF
U1MKIElNQUdFX0RFQ09ERVJfRE9XTl9TQU1QTElORwogSU5ERVhFRF9EQVRBQkFTRQotSU5QVVRf
TVVMVElQTEVfRklFTERTX1VJCiBJTlBVVF9TUEVFQ0gKIElOUFVUX1RZUEVfQ09MT1IKIElOUFVU
X1RZUEVfREFURQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVz
dHMvQ2hhbmdlTG9nCmluZGV4IGNmNTY2ZGY2M2JjZmViOTBiMmVjNmI5NTE0ZmVmMzg5YjMwYTJk
ZDEuLjRjNjI4Zjg1ZmFlMmQ0ODM5OWM2YmY1Njg4ZDU2YWE3MDFiZDYyY2EgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwyMjcgQEAKKzIwMTMtMDUtMjYgIEtlbnQgVGFtdXJhICA8dGtlbnRAY2hyb21pdW0ub3Jn
PgorCisgICAgICAgIFJlbW92ZSBFTkFCTEVfSU5QVVRfTVVMVElQTEVfRklFTERTX1VJLgorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTE2Nzk2CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBmYXN0L2Zvcm1z
L2RhdGUtbXVsdGlwbGUtZmllbGRzL2RhdGUtbXVsdGlwbGUtZmllbGRzLWF4LWFyaWEtYXR0cmli
dXRlcy1leHBlY3RlZC50eHQ6IFJlbW92ZWQuCisgICAgICAgICogZmFzdC9mb3Jtcy9kYXRlLW11
bHRpcGxlLWZpZWxkcy9kYXRlLW11bHRpcGxlLWZpZWxkcy1heC1hcmlhLWF0dHJpYnV0ZXMuaHRt
bDogUmVtb3ZlZC4KKyAgICAgICAgKiBmYXN0L2Zvcm1zL2RhdGUtbXVsdGlwbGUtZmllbGRzL2Rh
dGUtbXVsdGlwbGUtZmllbGRzLWF4LXZhbHVlLWNoYW5nZWQtbm90aWZpY2F0aW9uLWV4cGVjdGVk
LnR4dDogUmVtb3ZlZC4KKyAgICAgICAgKiBmYXN0L2Zvcm1zL2RhdGUtbXVsdGlwbGUtZmllbGRz
L2RhdGUtbXVsdGlwbGUtZmllbGRzLWF4LXZhbHVlLWNoYW5nZWQtbm90aWZpY2F0aW9uLmh0bWw6
IFJlbW92ZWQuCisgICAgICAgICogZmFzdC9mb3Jtcy9kYXRlLW11bHRpcGxlLWZpZWxkcy9kYXRl
LW11bHRpcGxlLWZpZWxkcy1ibHVyLWFuZC1mb2N1cy1ldmVudHMtZXhwZWN0ZWQudHh0OiBSZW1v
dmVkLgorICAgICAgICAqIGZhc3QvZm9ybXMvZGF0ZS1tdWx0aXBsZS1maWVsZHMvZGF0ZS1tdWx0
aXBsZS1maWVsZHMtYmx1ci1hbmQtZm9jdXMtZXZlbnRzLmh0bWw6IFJlbW92ZWQuCisgICAgICAg
ICogZmFzdC9mb3Jtcy9kYXRlLW11bHRpcGxlLWZpZWxkcy9kYXRlLW11bHRpcGxlLWZpZWxkcy1j
aGFuZ2UtbGF5b3V0LWJ5LXZhbHVlLWV4cGVjdGVkLnR4dDogUmVtb3ZlZC4KKyAgICAgICAgKiBm
YXN0L2Zvcm1zL2RhdGUtbXVsdGlwbGUtZmllbGRzL2RhdGUtbXVsdGlwbGUtZmllbGRzLWNoYW5n
ZS1sYXlvdXQtYnktdmFsdWUuaHRtbDogUmVtb3ZlZC4KKyAgICAgICAgKiBmYXN0L2Zvcm1zL2Rh
dGUtbXVsdGlwbGUtZmllbGRzL2RhdGUtbXVsdGlwbGUtZmllbGRzLWNsZWFyYnV0dG9uLWNoYW5n
ZS1hbmQtaW5wdXQtZXZlbnRzLWV4cGVjdGVkLnR4dDogUmVtb3ZlZC4KKyAgICAgICAgKiBmYXN0
L2Zvcm1zL2RhdGUtbXVsdGlwbGUtZmllbGRzL2RhdGUtbXVsdGlwbGUtZmllbGRzLWNsZWFyYnV0
dG9uLWNoYW5nZS1hbmQtaW5wdXQtZXZlbnRzLmh0bWw6IFJlbW92ZWQuCisgICAgICAgICogZmFz
dC9mb3Jtcy9kYXRlLW11bHRpcGxlLWZpZWxkcy9kYXRlLW11bHRpcGxlLWZpZWxkcy1jbGVhcmJ1
dHRvbi12aXNpYmlsaXR5LWFmdGVyLXJlc3RvcmUtZXhwZWN0ZWQuaHRtbDogUmVtb3ZlZC4KKyAg
ICAgICAgKiBmYXN0L2Zvcm1zL2RhdGUtbXVsdGlwbGUtZmllbGRzL2RhdGUtbXVsdGlwbGUtZmll
bGRzLWNsZWFyYnV0dG9uLXZpc2liaWxpdHktYWZ0ZXItcmVzdG9yZS5odG1sOiBSZW1vdmVkLgor
ICAgICAgICAqIGZhc3QvZm9ybXMvZGF0ZS1tdWx0aXBsZS1maWVsZHMvZGF0ZS1tdWx0aXBsZS1m
aWVsZHMtZmFsbGJhY2stZm9ybWF0LWV4cGVjdGVkLnR4dDogUmVtb3ZlZC4KKyAgICAgICAgKiBm
YXN0L2Zvcm1zL2RhdGUtbXVsdGlwbGUtZmllbGRzL2RhdGUtbXVsdGlwbGUtZmllbGRzLWZhbGxi
YWNrLWZvcm1hdC5odG1sOiBSZW1vdmVkLgorICAgICAgICAqIGZhc3QvZm9ybXMvZGF0ZS1tdWx0
aXBsZS1maWVsZHMvZGF0ZS1tdWx0aXBsZS1maWVsZHMtZm9jdXMtZXhwZWN0ZWQudHh0OiBSZW1v
dmVkLgorICAgICAgICAqIGZhc3QvZm9ybXMvZGF0ZS1tdWx0aXBsZS1maWVsZHMvZGF0ZS1tdWx0
aXBsZS1maWVsZHMtZm9jdXMuaHRtbDogUmVtb3ZlZC4KKyAgICAgICAgKiBmYXN0L2Zvcm1zL2Rh
dGUtbXVsdGlwbGUtZmllbGRzL2RhdGUtbXVsdGlwbGUtZmllbGRzLWtleWJvYXJkLWV2ZW50cy1l
eHBlY3RlZC50eHQ6IFJlbW92ZWQuCisgICAgICAgICogZmFzdC9mb3Jtcy9kYXRlLW11bHRpcGxl
LWZpZWxkcy9kYXRlLW11bHRpcGxlLWZpZWxkcy1rZXlib2FyZC1ldmVudHMuaHRtbDogUmVtb3Zl
ZC4KKyAgICAgICAgKiBmYXN0L2Zvcm1zL2RhdGUtbXVsdGlwbGUtZmllbGRzL2RhdGUtbXVsdGlw
bGUtZmllbGRzLW1vdXNlLWV2ZW50cy1leHBlY3RlZC50eHQ6IFJlbW92ZWQuCisgICAgICAgICog
ZmFzdC9mb3Jtcy9kYXRlLW11bHRpcGxlLWZpZWxkcy9kYXRlLW11bHRpcGxlLWZpZWxkcy1tb3Vz
ZS1ldmVudHMuaHRtbDogUmVtb3ZlZC4KKyAgICAgICAgKiBmYXN0L2Zvcm1zL2RhdGUtbXVsdGlw
bGUtZmllbGRzL2RhdGUtbXVsdGlwbGUtZmllbGRzLXByZXNlcnZlLXZhbHVlLWFmdGVyLWhpc3Rv
cnktYmFjay1leHBlY3RlZC50eHQ6IFJlbW92ZWQuCisgICAgICAgICogZmFzdC9mb3Jtcy9kYXRl
LW11bHRpcGxlLWZpZWxkcy9kYXRlLW11bHRpcGxlLWZpZWxkcy1wcmVzZXJ2ZS12YWx1ZS1hZnRl
ci1oaXN0b3J5LWJhY2suaHRtbDogUmVtb3ZlZC4KKyAgICAgICAgKiBmYXN0L2Zvcm1zL2RhdGUt
bXVsdGlwbGUtZmllbGRzL2RhdGUtbXVsdGlwbGUtZmllbGRzLXJlYWRvbmx5LXN1YmZpZWxkLWV4
cGVjdGVkLnR4dDogUmVtb3ZlZC4KKyAgICAgICAgKiBmYXN0L2Zvcm1zL2RhdGUtbXVsdGlwbGUt
ZmllbGRzL2RhdGUtbXVsdGlwbGUtZmllbGRzLXJlYWRvbmx5LXN1YmZpZWxkLmh0bWw6IFJlbW92
ZWQuCisgICAgICAgICogZmFzdC9mb3Jtcy9kYXRlLW11bHRpcGxlLWZpZWxkcy9kYXRlLW11bHRp
cGxlLWZpZWxkcy1yZXNldC12YWx1ZS1hZnRlci1yZWxvYWRzLWV4cGVjdGVkLnR4dDogUmVtb3Zl
ZC4KKyAgICAgICAgKiBmYXN0L2Zvcm1zL2RhdGUtbXVsdGlwbGUtZmllbGRzL2RhdGUtbXVsdGlw
bGUtZmllbGRzLXJlc2V0LXZhbHVlLWFmdGVyLXJlbG9hZHMuaHRtbDogUmVtb3ZlZC4KKyAgICAg
ICAgKiBmYXN0L2Zvcm1zL2RhdGUtbXVsdGlwbGUtZmllbGRzL2RhdGUtbXVsdGlwbGUtZmllbGRz
LXNwaW5idXR0b24tY2hhbmdlLWFuZC1pbnB1dC1ldmVudHMtZXhwZWN0ZWQudHh0OiBSZW1vdmVk
LgorICAgICAgICAqIGZhc3QvZm9ybXMvZGF0ZS1tdWx0aXBsZS1maWVsZHMvZGF0ZS1tdWx0aXBs
ZS1maWVsZHMtc3BpbmJ1dHRvbi1jaGFuZ2UtYW5kLWlucHV0LWV2ZW50cy5odG1sOiBSZW1vdmVk
LgorICAgICAgICAqIGZhc3QvZm9ybXMvZGF0ZS1tdWx0aXBsZS1maWVsZHMvZGF0ZS1tdWx0aXBs
ZS1maWVsZHMtc3RlcHVwLXN0ZXBkb3duLWZyb20tcmVuZGVyZXItZXhwZWN0ZWQudHh0OiBSZW1v
dmVkLgorICAgICAgICAqIGZhc3QvZm9ybXMvZGF0ZS1tdWx0aXBsZS1maWVsZHMvZGF0ZS1tdWx0
aXBsZS1maWVsZHMtc3RlcHVwLXN0ZXBkb3duLWZyb20tcmVuZGVyZXIuaHRtbDogUmVtb3ZlZC4K
KyAgICAgICAgKiBmYXN0L2Zvcm1zL2RhdGUtbXVsdGlwbGUtZmllbGRzL2RhdGUtbXVsdGlwbGUt
ZmllbGRzLXZhbGlkaXR5LWJhZGlucHV0LWV4cGVjdGVkLnR4dDogUmVtb3ZlZC4KKyAgICAgICAg
KiBmYXN0L2Zvcm1zL2RhdGUtbXVsdGlwbGUtZmllbGRzL2RhdGUtbXVsdGlwbGUtZmllbGRzLXZh
bGlkaXR5LWJhZGlucHV0Lmh0bWw6IFJlbW92ZWQuCisgICAgICAgICogZmFzdC9mb3Jtcy9kYXRl
LW11bHRpcGxlLWZpZWxkcy9kYXRlLW11bHRpcGxlLWZpZWxkcy12YWx1ZS1zZXQtZW1wdHktZXhw
ZWN0ZWQudHh0OiBSZW1vdmVkLgorICAgICAgICAqIGZhc3QvZm9ybXMvZGF0ZS1tdWx0aXBsZS1m
aWVsZHMvZGF0ZS1tdWx0aXBsZS1maWVsZHMtdmFsdWUtc2V0LWVtcHR5Lmh0bWw6IFJlbW92ZWQu
CisgICAgICAgICogZmFzdC9mb3Jtcy9kYXRlLW11bHRpcGxlLWZpZWxkcy9kYXRlLW11bHRpcGxl
LWZpZWxkcy13aGVlbC1ldmVudC1leHBlY3RlZC50eHQ6IFJlbW92ZWQuCisgICAgICAgICogZmFz
dC9mb3Jtcy9kYXRlLW11bHRpcGxlLWZpZWxkcy9kYXRlLW11bHRpcGxlLWZpZWxkcy13aGVlbC1l
dmVudC5odG1sOiBSZW1vdmVkLgorICAgICAgICAqIGZhc3QvZm9ybXMvZGF0ZS1tdWx0aXBsZS1m
aWVsZHMvcmVzb3VyY2VzL3ByZXNlcnZlLXZhbHVlLWFmdGVyLWhpc3RvcnktYmFjay1mcmFtZS5o
dG1sOiBSZW1vdmVkLgorICAgICAgICAqIGZhc3QvZm9ybXMvZGF0ZXRpbWUtbXVsdGlwbGUtZmll
bGRzL2RhdGV0aW1lLW11bHRpcGxlLWZpZWxkcy1mYWxsYmFjay1mb3JtYXQtZXhwZWN0ZWQudHh0
OiBSZW1vdmVkLgorICAgICAgICAqIGZhc3QvZm9ybXMvZGF0ZXRpbWUtbXVsdGlwbGUtZmllbGRz
L2RhdGV0aW1lLW11bHRpcGxlLWZpZWxkcy1mYWxsYmFjay1mb3JtYXQuaHRtbDogUmVtb3ZlZC4K
KyAgICAgICAgKiBmYXN0L2Zvcm1zL2RhdGV0aW1lLW11bHRpcGxlLWZpZWxkcy9kYXRldGltZS1t
dWx0aXBsZS1maWVsZHMtdmFsaWRpdHktYmFkaW5wdXQtZXhwZWN0ZWQudHh0OiBSZW1vdmVkLgor
ICAgICAgICAqIGZhc3QvZm9ybXMvZGF0ZXRpbWUtbXVsdGlwbGUtZmllbGRzL2RhdGV0aW1lLW11
bHRpcGxlLWZpZWxkcy12YWxpZGl0eS1iYWRpbnB1dC5odG1sOiBSZW1vdmVkLgorICAgICAgICAq
IGZhc3QvZm9ybXMvZGF0ZXRpbWUtbXVsdGlwbGUtZmllbGRzL2RhdGV0aW1lLW11bHRpcGxlLWZp
ZWxkcy12YWx1ZS1zZXQtZW1wdHktZXhwZWN0ZWQudHh0OiBSZW1vdmVkLgorICAgICAgICAqIGZh
c3QvZm9ybXMvZGF0ZXRpbWUtbXVsdGlwbGUtZmllbGRzL2RhdGV0aW1lLW11bHRpcGxlLWZpZWxk
cy12YWx1ZS1zZXQtZW1wdHkuaHRtbDogUmVtb3ZlZC4KKyAgICAgICAgKiBmYXN0L2Zvcm1zL2Rh
dGV0aW1lbG9jYWwtbXVsdGlwbGUtZmllbGRzL2RhdGV0aW1lbG9jYWwtbXVsdGlwbGUtZmllbGRz
LWF4LWFyaWEtYXR0cmlidXRlcy1leHBlY3RlZC50eHQ6IFJlbW92ZWQuCisgICAgICAgICogZmFz
dC9mb3Jtcy9kYXRldGltZWxvY2FsLW11bHRpcGxlLWZpZWxkcy9kYXRldGltZWxvY2FsLW11bHRp
cGxlLWZpZWxkcy1heC1hcmlhLWF0dHJpYnV0ZXMuaHRtbDogUmVtb3ZlZC4KKyAgICAgICAgKiBm
YXN0L2Zvcm1zL2RhdGV0aW1lbG9jYWwtbXVsdGlwbGUtZmllbGRzL2RhdGV0aW1lbG9jYWwtbXVs
dGlwbGUtZmllbGRzLWF4LXZhbHVlLWNoYW5nZWQtbm90aWZpY2F0aW9uLWV4cGVjdGVkLnR4dDog
UmVtb3ZlZC4KKyAgICAgICAgKiBmYXN0L2Zvcm1zL2RhdGV0aW1lbG9jYWwtbXVsdGlwbGUtZmll
bGRzL2RhdGV0aW1lbG9jYWwtbXVsdGlwbGUtZmllbGRzLWF4LXZhbHVlLWNoYW5nZWQtbm90aWZp
Y2F0aW9uLmh0bWw6IFJlbW92ZWQuCisgICAgICAgICogZmFzdC9mb3Jtcy9kYXRldGltZWxvY2Fs
LW11bHRpcGxlLWZpZWxkcy9kYXRldGltZWxvY2FsLW11bHRpcGxlLWZpZWxkcy1ibHVyLWFuZC1m
b2N1cy1ldmVudHMtZXhwZWN0ZWQudHh0OiBSZW1vdmVkLgorICAgICAgICAqIGZhc3QvZm9ybXMv
ZGF0ZXRpbWVsb2NhbC1tdWx0aXBsZS1maWVsZHMvZGF0ZXRpbWVsb2NhbC1tdWx0aXBsZS1maWVs
ZHMtYmx1ci1hbmQtZm9jdXMtZXZlbnRzLmh0bWw6IFJlbW92ZWQuCisgICAgICAgICogZmFzdC9m
b3Jtcy9kYXRldGltZWxvY2FsLW11bHRpcGxlLWZpZWxkcy9kYXRldGltZWxvY2FsLW11bHRpcGxl
LWZpZWxkcy1jaGFuZ2UtbGF5b3V0LWJ5LXZhbHVlLWV4cGVjdGVkLnR4dDogUmVtb3ZlZC4KKyAg
ICAgICAgKiBmYXN0L2Zvcm1zL2RhdGV0aW1lbG9jYWwtbXVsdGlwbGUtZmllbGRzL2RhdGV0aW1l
bG9jYWwtbXVsdGlwbGUtZmllbGRzLWNoYW5nZS1sYXlvdXQtYnktdmFsdWUuaHRtbDogUmVtb3Zl
ZC4KKyAgICAgICAgKiBmYXN0L2Zvcm1zL2RhdGV0aW1lbG9jYWwtbXVsdGlwbGUtZmllbGRzL2Rh
dGV0aW1lbG9jYWwtbXVsdGlwbGUtZmllbGRzLWNsZWFyYnV0dG9uLWNoYW5nZS1hbmQtaW5wdXQt
ZXZlbnRzLWV4cGVjdGVkLnR4dDogUmVtb3ZlZC4KKyAgICAgICAgKiBmYXN0L2Zvcm1zL2RhdGV0
aW1lbG9jYWwtbXVsdGlwbGUtZmllbGRzL2RhdGV0aW1lbG9jYWwtbXVsdGlwbGUtZmllbGRzLWNs
ZWFyYnV0dG9uLWNoYW5nZS1hbmQtaW5wdXQtZXZlbnRzLmh0bWw6IFJlbW92ZWQuCisgICAgICAg
ICogZmFzdC9mb3Jtcy9kYXRldGltZWxvY2FsLW11bHRpcGxlLWZpZWxkcy9kYXRldGltZWxvY2Fs
LW11bHRpcGxlLWZpZWxkcy1jbGVhcmJ1dHRvbi12aXNpYmlsaXR5LWFmdGVyLXJlc3RvcmUtZXhw
ZWN0ZWQuaHRtbDogUmVtb3ZlZC4KKyAgICAgICAgKiBmYXN0L2Zvcm1zL2RhdGV0aW1lbG9jYWwt
bXVsdGlwbGUtZmllbGRzL2RhdGV0aW1lbG9jYWwtbXVsdGlwbGUtZmllbGRzLWNsZWFyYnV0dG9u
LXZpc2liaWxpdHktYWZ0ZXItcmVzdG9yZS5odG1sOiBSZW1vdmVkLgorICAgICAgICAqIGZhc3Qv
Zm9ybXMvZGF0ZXRpbWVsb2NhbC1tdWx0aXBsZS1maWVsZHMvZGF0ZXRpbWVsb2NhbC1tdWx0aXBs
ZS1maWVsZHMtZmFsbGJhY2stZm9ybWF0LWV4cGVjdGVkLnR4dDogUmVtb3ZlZC4KKyAgICAgICAg
KiBmYXN0L2Zvcm1zL2RhdGV0aW1lbG9jYWwtbXVsdGlwbGUtZmllbGRzL2RhdGV0aW1lbG9jYWwt
bXVsdGlwbGUtZmllbGRzLWZhbGxiYWNrLWZvcm1hdC5odG1sOiBSZW1vdmVkLgorICAgICAgICAq
IGZhc3QvZm9ybXMvZGF0ZXRpbWVsb2NhbC1tdWx0aXBsZS1maWVsZHMvZGF0ZXRpbWVsb2NhbC1t
dWx0aXBsZS1maWVsZHMta2V5Ym9hcmQtZXZlbnRzLWV4cGVjdGVkLnR4dDogUmVtb3ZlZC4KKyAg
ICAgICAgKiBmYXN0L2Zvcm1zL2RhdGV0aW1lbG9jYWwtbXVsdGlwbGUtZmllbGRzL2RhdGV0aW1l
bG9jYWwtbXVsdGlwbGUtZmllbGRzLWtleWJvYXJkLWV2ZW50cy5odG1sOiBSZW1vdmVkLgorICAg
ICAgICAqIGZhc3QvZm9ybXMvZGF0ZXRpbWVsb2NhbC1tdWx0aXBsZS1maWVsZHMvZGF0ZXRpbWVs
b2NhbC1tdWx0aXBsZS1maWVsZHMtbW91c2UtZXZlbnRzLWV4cGVjdGVkLnR4dDogUmVtb3ZlZC4K
KyAgICAgICAgKiBmYXN0L2Zvcm1zL2RhdGV0aW1lbG9jYWwtbXVsdGlwbGUtZmllbGRzL2RhdGV0
aW1lbG9jYWwtbXVsdGlwbGUtZmllbGRzLW1vdXNlLWV2ZW50cy5odG1sOiBSZW1vdmVkLgorICAg
ICAgICAqIGZhc3QvZm9ybXMvZGF0ZXRpbWVsb2NhbC1tdWx0aXBsZS1maWVsZHMvZGF0ZXRpbWVs
b2NhbC1tdWx0aXBsZS1maWVsZHMtcHJlc2VydmUtdmFsdWUtYWZ0ZXItaGlzdG9yeS1iYWNrLWV4
cGVjdGVkLnR4dDogUmVtb3ZlZC4KKyAgICAgICAgKiBmYXN0L2Zvcm1zL2RhdGV0aW1lbG9jYWwt
bXVsdGlwbGUtZmllbGRzL2RhdGV0aW1lbG9jYWwtbXVsdGlwbGUtZmllbGRzLXByZXNlcnZlLXZh
bHVlLWFmdGVyLWhpc3RvcnktYmFjay5odG1sOiBSZW1vdmVkLgorICAgICAgICAqIGZhc3QvZm9y
bXMvZGF0ZXRpbWVsb2NhbC1tdWx0aXBsZS1maWVsZHMvZGF0ZXRpbWVsb2NhbC1tdWx0aXBsZS1m
aWVsZHMtcmVhZG9ubHktc3ViZmllbGQtZXhwZWN0ZWQudHh0OiBSZW1vdmVkLgorICAgICAgICAq
IGZhc3QvZm9ybXMvZGF0ZXRpbWVsb2NhbC1tdWx0aXBsZS1maWVsZHMvZGF0ZXRpbWVsb2NhbC1t
dWx0aXBsZS1maWVsZHMtcmVhZG9ubHktc3ViZmllbGQuaHRtbDogUmVtb3ZlZC4KKyAgICAgICAg
KiBmYXN0L2Zvcm1zL2RhdGV0aW1lbG9jYWwtbXVsdGlwbGUtZmllbGRzL2RhdGV0aW1lbG9jYWwt
bXVsdGlwbGUtZmllbGRzLXJlc2V0LXZhbHVlLWFmdGVyLXJlbG9hZHMtZXhwZWN0ZWQudHh0OiBS
ZW1vdmVkLgorICAgICAgICAqIGZhc3QvZm9ybXMvZGF0ZXRpbWVsb2NhbC1tdWx0aXBsZS1maWVs
ZHMvZGF0ZXRpbWVsb2NhbC1tdWx0aXBsZS1maWVsZHMtcmVzZXQtdmFsdWUtYWZ0ZXItcmVsb2Fk
cy5odG1sOiBSZW1vdmVkLgorICAgICAgICAqIGZhc3QvZm9ybXMvZGF0ZXRpbWVsb2NhbC1tdWx0
aXBsZS1maWVsZHMvZGF0ZXRpbWVsb2NhbC1tdWx0aXBsZS1maWVsZHMtc3BpbmJ1dHRvbi1jaGFu
Z2UtYW5kLWlucHV0LWV2ZW50cy1leHBlY3RlZC50eHQ6IFJlbW92ZWQuCisgICAgICAgICogZmFz
dC9mb3Jtcy9kYXRldGltZWxvY2FsLW11bHRpcGxlLWZpZWxkcy9kYXRldGltZWxvY2FsLW11bHRp
cGxlLWZpZWxkcy1zcGluYnV0dG9uLWNoYW5nZS1hbmQtaW5wdXQtZXZlbnRzLmh0bWw6IFJlbW92
ZWQuCisgICAgICAgICogZmFzdC9mb3Jtcy9kYXRldGltZWxvY2FsLW11bHRpcGxlLWZpZWxkcy9k
YXRldGltZWxvY2FsLW11bHRpcGxlLWZpZWxkcy1zdGVwdXAtc3RlcGRvd24tZnJvbS1yZW5kZXJl
ci1leHBlY3RlZC50eHQ6IFJlbW92ZWQuCisgICAgICAgICogZmFzdC9mb3Jtcy9kYXRldGltZWxv
Y2FsLW11bHRpcGxlLWZpZWxkcy9kYXRldGltZWxvY2FsLW11bHRpcGxlLWZpZWxkcy1zdGVwdXAt
c3RlcGRvd24tZnJvbS1yZW5kZXJlci5odG1sOiBSZW1vdmVkLgorICAgICAgICAqIGZhc3QvZm9y
bXMvZGF0ZXRpbWVsb2NhbC1tdWx0aXBsZS1maWVsZHMvZGF0ZXRpbWVsb2NhbC1tdWx0aXBsZS1m
aWVsZHMtdmFsaWRpdHktYmFkaW5wdXQtZXhwZWN0ZWQudHh0OiBSZW1vdmVkLgorICAgICAgICAq
IGZhc3QvZm9ybXMvZGF0ZXRpbWVsb2NhbC1tdWx0aXBsZS1maWVsZHMvZGF0ZXRpbWVsb2NhbC1t
dWx0aXBsZS1maWVsZHMtdmFsaWRpdHktYmFkaW5wdXQuaHRtbDogUmVtb3ZlZC4KKyAgICAgICAg
KiBmYXN0L2Zvcm1zL2RhdGV0aW1lbG9jYWwtbXVsdGlwbGUtZmllbGRzL2RhdGV0aW1lbG9jYWwt
bXVsdGlwbGUtZmllbGRzLXZhbHVlLXNldC1lbXB0eS1leHBlY3RlZC50eHQ6IFJlbW92ZWQuCisg
ICAgICAgICogZmFzdC9mb3Jtcy9kYXRldGltZWxvY2FsLW11bHRpcGxlLWZpZWxkcy9kYXRldGlt
ZWxvY2FsLW11bHRpcGxlLWZpZWxkcy12YWx1ZS1zZXQtZW1wdHkuaHRtbDogUmVtb3ZlZC4KKyAg
ICAgICAgKiBmYXN0L2Zvcm1zL2RhdGV0aW1lbG9jYWwtbXVsdGlwbGUtZmllbGRzL2RhdGV0aW1l
bG9jYWwtbXVsdGlwbGUtZmllbGRzLXdoZWVsLWV2ZW50LWV4cGVjdGVkLnR4dDogUmVtb3ZlZC4K
KyAgICAgICAgKiBmYXN0L2Zvcm1zL2RhdGV0aW1lbG9jYWwtbXVsdGlwbGUtZmllbGRzL2RhdGV0
aW1lbG9jYWwtbXVsdGlwbGUtZmllbGRzLXdoZWVsLWV2ZW50Lmh0bWw6IFJlbW92ZWQuCisgICAg
ICAgICogZmFzdC9mb3Jtcy9kYXRldGltZWxvY2FsLW11bHRpcGxlLWZpZWxkcy9yZXNvdXJjZXMv
cHJlc2VydmUtdmFsdWUtYWZ0ZXItaGlzdG9yeS1iYWNrLWZyYW1lLmh0bWw6IFJlbW92ZWQuCisg
ICAgICAgICogZmFzdC9mb3Jtcy9tb250aC1tdWx0aXBsZS1maWVsZHMvbW9udGgtbXVsdGlwbGUt
ZmllbGRzLWF4LWFyaWEtYXR0cmlidXRlcy1leHBlY3RlZC50eHQ6IFJlbW92ZWQuCisgICAgICAg
ICogZmFzdC9mb3Jtcy9tb250aC1tdWx0aXBsZS1maWVsZHMvbW9udGgtbXVsdGlwbGUtZmllbGRz
LWF4LWFyaWEtYXR0cmlidXRlcy5odG1sOiBSZW1vdmVkLgorICAgICAgICAqIGZhc3QvZm9ybXMv
bW9udGgtbXVsdGlwbGUtZmllbGRzL21vbnRoLW11bHRpcGxlLWZpZWxkcy1heC12YWx1ZS1jaGFu
Z2VkLW5vdGlmaWNhdGlvbi1leHBlY3RlZC50eHQ6IFJlbW92ZWQuCisgICAgICAgICogZmFzdC9m
b3Jtcy9tb250aC1tdWx0aXBsZS1maWVsZHMvbW9udGgtbXVsdGlwbGUtZmllbGRzLWF4LXZhbHVl
LWNoYW5nZWQtbm90aWZpY2F0aW9uLmh0bWw6IFJlbW92ZWQuCisgICAgICAgICogZmFzdC9mb3Jt
cy9tb250aC1tdWx0aXBsZS1maWVsZHMvbW9udGgtbXVsdGlwbGUtZmllbGRzLWJsdXItYW5kLWZv
Y3VzLWV2ZW50cy1leHBlY3RlZC50eHQ6IFJlbW92ZWQuCisgICAgICAgICogZmFzdC9mb3Jtcy9t
b250aC1tdWx0aXBsZS1maWVsZHMvbW9udGgtbXVsdGlwbGUtZmllbGRzLWJsdXItYW5kLWZvY3Vz
LWV2ZW50cy5odG1sOiBSZW1vdmVkLgorICAgICAgICAqIGZhc3QvZm9ybXMvbW9udGgtbXVsdGlw
bGUtZmllbGRzL21vbnRoLW11bHRpcGxlLWZpZWxkcy1jaGFuZ2UtbGF5b3V0LWJ5LXZhbHVlLWV4
cGVjdGVkLnR4dDogUmVtb3ZlZC4KKyAgICAgICAgKiBmYXN0L2Zvcm1zL21vbnRoLW11bHRpcGxl
LWZpZWxkcy9tb250aC1tdWx0aXBsZS1maWVsZHMtY2hhbmdlLWxheW91dC1ieS12YWx1ZS5odG1s
OiBSZW1vdmVkLgorICAgICAgICAqIGZhc3QvZm9ybXMvbW9udGgtbXVsdGlwbGUtZmllbGRzL21v
bnRoLW11bHRpcGxlLWZpZWxkcy1jbGVhcmJ1dHRvbi1jaGFuZ2UtYW5kLWlucHV0LWV2ZW50cy1l
eHBlY3RlZC50eHQ6IFJlbW92ZWQuCisgICAgICAgICogZmFzdC9mb3Jtcy9tb250aC1tdWx0aXBs
ZS1maWVsZHMvbW9udGgtbXVsdGlwbGUtZmllbGRzLWNsZWFyYnV0dG9uLWNoYW5nZS1hbmQtaW5w
dXQtZXZlbnRzLmh0bWw6IFJlbW92ZWQuCisgICAgICAgICogZmFzdC9mb3Jtcy9tb250aC1tdWx0
aXBsZS1maWVsZHMvbW9udGgtbXVsdGlwbGUtZmllbGRzLWNsZWFyYnV0dG9uLXZpc2liaWxpdHkt
YWZ0ZXItcmVzdG9yZS1leHBlY3RlZC5odG1sOiBSZW1vdmVkLgorICAgICAgICAqIGZhc3QvZm9y
bXMvbW9udGgtbXVsdGlwbGUtZmllbGRzL21vbnRoLW11bHRpcGxlLWZpZWxkcy1jbGVhcmJ1dHRv
bi12aXNpYmlsaXR5LWFmdGVyLXJlc3RvcmUuaHRtbDogUmVtb3ZlZC4KKyAgICAgICAgKiBmYXN0
L2Zvcm1zL21vbnRoLW11bHRpcGxlLWZpZWxkcy9tb250aC1tdWx0aXBsZS1maWVsZHMtZmFsbGJh
Y2stZm9ybWF0LWV4cGVjdGVkLnR4dDogUmVtb3ZlZC4KKyAgICAgICAgKiBmYXN0L2Zvcm1zL21v
bnRoLW11bHRpcGxlLWZpZWxkcy9tb250aC1tdWx0aXBsZS1maWVsZHMtZmFsbGJhY2stZm9ybWF0
Lmh0bWw6IFJlbW92ZWQuCisgICAgICAgICogZmFzdC9mb3Jtcy9tb250aC1tdWx0aXBsZS1maWVs
ZHMvbW9udGgtbXVsdGlwbGUtZmllbGRzLWtleWJvYXJkLWV2ZW50cy1leHBlY3RlZC50eHQ6IFJl
bW92ZWQuCisgICAgICAgICogZmFzdC9mb3Jtcy9tb250aC1tdWx0aXBsZS1maWVsZHMvbW9udGgt
bXVsdGlwbGUtZmllbGRzLWtleWJvYXJkLWV2ZW50cy5odG1sOiBSZW1vdmVkLgorICAgICAgICAq
IGZhc3QvZm9ybXMvbW9udGgtbXVsdGlwbGUtZmllbGRzL21vbnRoLW11bHRpcGxlLWZpZWxkcy1t
b3VzZS1ldmVudHMtZXhwZWN0ZWQudHh0OiBSZW1vdmVkLgorICAgICAgICAqIGZhc3QvZm9ybXMv
bW9udGgtbXVsdGlwbGUtZmllbGRzL21vbnRoLW11bHRpcGxlLWZpZWxkcy1tb3VzZS1ldmVudHMu
aHRtbDogUmVtb3ZlZC4KKyAgICAgICAgKiBmYXN0L2Zvcm1zL21vbnRoLW11bHRpcGxlLWZpZWxk
cy9tb250aC1tdWx0aXBsZS1maWVsZHMtcHJlc2VydmUtdmFsdWUtYWZ0ZXItaGlzdG9yeS1iYWNr
LWV4cGVjdGVkLnR4dDogUmVtb3ZlZC4KKyAgICAgICAgKiBmYXN0L2Zvcm1zL21vbnRoLW11bHRp
cGxlLWZpZWxkcy9tb250aC1tdWx0aXBsZS1maWVsZHMtcHJlc2VydmUtdmFsdWUtYWZ0ZXItaGlz
dG9yeS1iYWNrLmh0bWw6IFJlbW92ZWQuCisgICAgICAgICogZmFzdC9mb3Jtcy9tb250aC1tdWx0
aXBsZS1maWVsZHMvbW9udGgtbXVsdGlwbGUtZmllbGRzLXJlYWRvbmx5LXN1YmZpZWxkLWV4cGVj
dGVkLnR4dDogUmVtb3ZlZC4KKyAgICAgICAgKiBmYXN0L2Zvcm1zL21vbnRoLW11bHRpcGxlLWZp
ZWxkcy9tb250aC1tdWx0aXBsZS1maWVsZHMtcmVhZG9ubHktc3ViZmllbGQuaHRtbDogUmVtb3Zl
ZC4KKyAgICAgICAgKiBmYXN0L2Zvcm1zL21vbnRoLW11bHRpcGxlLWZpZWxkcy9tb250aC1tdWx0
aXBsZS1maWVsZHMtcmVzZXQtdmFsdWUtYWZ0ZXItcmVsb2Fkcy1leHBlY3RlZC50eHQ6IFJlbW92
ZWQuCisgICAgICAgICogZmFzdC9mb3Jtcy9tb250aC1tdWx0aXBsZS1maWVsZHMvbW9udGgtbXVs
dGlwbGUtZmllbGRzLXJlc2V0LXZhbHVlLWFmdGVyLXJlbG9hZHMuaHRtbDogUmVtb3ZlZC4KKyAg
ICAgICAgKiBmYXN0L2Zvcm1zL21vbnRoLW11bHRpcGxlLWZpZWxkcy9tb250aC1tdWx0aXBsZS1m
aWVsZHMtc3BpbmJ1dHRvbi1jaGFuZ2UtYW5kLWlucHV0LWV2ZW50cy1leHBlY3RlZC50eHQ6IFJl
bW92ZWQuCisgICAgICAgICogZmFzdC9mb3Jtcy9tb250aC1tdWx0aXBsZS1maWVsZHMvbW9udGgt
bXVsdGlwbGUtZmllbGRzLXNwaW5idXR0b24tY2hhbmdlLWFuZC1pbnB1dC1ldmVudHMuaHRtbDog
UmVtb3ZlZC4KKyAgICAgICAgKiBmYXN0L2Zvcm1zL21vbnRoLW11bHRpcGxlLWZpZWxkcy9tb250
aC1tdWx0aXBsZS1maWVsZHMtc3RlcHVwLXN0ZXBkb3duLWZyb20tcmVuZGVyZXItZXhwZWN0ZWQu
dHh0OiBSZW1vdmVkLgorICAgICAgICAqIGZhc3QvZm9ybXMvbW9udGgtbXVsdGlwbGUtZmllbGRz
L21vbnRoLW11bHRpcGxlLWZpZWxkcy1zdGVwdXAtc3RlcGRvd24tZnJvbS1yZW5kZXJlci5odG1s
OiBSZW1vdmVkLgorICAgICAgICAqIGZhc3QvZm9ybXMvbW9udGgtbXVsdGlwbGUtZmllbGRzL21v
bnRoLW11bHRpcGxlLWZpZWxkcy12YWxpZGl0eS1iYWRpbnB1dC1leHBlY3RlZC50eHQ6IFJlbW92
ZWQuCisgICAgICAgICogZmFzdC9mb3Jtcy9tb250aC1tdWx0aXBsZS1maWVsZHMvbW9udGgtbXVs
dGlwbGUtZmllbGRzLXZhbGlkaXR5LWJhZGlucHV0Lmh0bWw6IFJlbW92ZWQuCisgICAgICAgICog
ZmFzdC9mb3Jtcy9tb250aC1tdWx0aXBsZS1maWVsZHMvbW9udGgtbXVsdGlwbGUtZmllbGRzLXZh
bHVlLXNldC1lbXB0eS1leHBlY3RlZC50eHQ6IFJlbW92ZWQuCisgICAgICAgICogZmFzdC9mb3Jt
cy9tb250aC1tdWx0aXBsZS1maWVsZHMvbW9udGgtbXVsdGlwbGUtZmllbGRzLXZhbHVlLXNldC1l
bXB0eS5odG1sOiBSZW1vdmVkLgorICAgICAgICAqIGZhc3QvZm9ybXMvbW9udGgtbXVsdGlwbGUt
ZmllbGRzL21vbnRoLW11bHRpcGxlLWZpZWxkcy13aGVlbC1ldmVudC1leHBlY3RlZC50eHQ6IFJl
bW92ZWQuCisgICAgICAgICogZmFzdC9mb3Jtcy9tb250aC1tdWx0aXBsZS1maWVsZHMvbW9udGgt
bXVsdGlwbGUtZmllbGRzLXdoZWVsLWV2ZW50Lmh0bWw6IFJlbW92ZWQuCisgICAgICAgICogZmFz
dC9mb3Jtcy9tb250aC1tdWx0aXBsZS1maWVsZHMvcmVzb3VyY2VzL3ByZXNlcnZlLXZhbHVlLWFm
dGVyLWhpc3RvcnktYmFjay1mcmFtZS5odG1sOiBSZW1vdmVkLgorICAgICAgICAqIGZhc3QvZm9y
bXMvdGltZS1tdWx0aXBsZS1maWVsZHMvcmVzb3VyY2VzL3ByZXNlcnZlLXZhbHVlLWFmdGVyLWhp
c3RvcnktYmFjay1mcmFtZS5odG1sOiBSZW1vdmVkLgorICAgICAgICAqIGZhc3QvZm9ybXMvdGlt
ZS1tdWx0aXBsZS1maWVsZHMvdGltZS1tdWx0aXBsZS1maWVsZHMtYXgtYXJpYS1hdHRyaWJ1dGVz
LWV4cGVjdGVkLnR4dDogUmVtb3ZlZC4KKyAgICAgICAgKiBmYXN0L2Zvcm1zL3RpbWUtbXVsdGlw
bGUtZmllbGRzL3RpbWUtbXVsdGlwbGUtZmllbGRzLWF4LWFyaWEtYXR0cmlidXRlcy5odG1sOiBS
ZW1vdmVkLgorICAgICAgICAqIGZhc3QvZm9ybXMvdGltZS1tdWx0aXBsZS1maWVsZHMvdGltZS1t
dWx0aXBsZS1maWVsZHMtYXgtdmFsdWUtY2hhbmdlZC1ub3RpZmljYXRpb24tZXhwZWN0ZWQudHh0
OiBSZW1vdmVkLgorICAgICAgICAqIGZhc3QvZm9ybXMvdGltZS1tdWx0aXBsZS1maWVsZHMvdGlt
ZS1tdWx0aXBsZS1maWVsZHMtYXgtdmFsdWUtY2hhbmdlZC1ub3RpZmljYXRpb24uaHRtbDogUmVt
b3ZlZC4KKyAgICAgICAgKiBmYXN0L2Zvcm1zL3RpbWUtbXVsdGlwbGUtZmllbGRzL3RpbWUtbXVs
dGlwbGUtZmllbGRzLWJsdXItYW5kLWZvY3VzLWV2ZW50cy1leHBlY3RlZC50eHQ6IFJlbW92ZWQu
CisgICAgICAgICogZmFzdC9mb3Jtcy90aW1lLW11bHRpcGxlLWZpZWxkcy90aW1lLW11bHRpcGxl
LWZpZWxkcy1ibHVyLWFuZC1mb2N1cy1ldmVudHMuaHRtbDogUmVtb3ZlZC4KKyAgICAgICAgKiBm
YXN0L2Zvcm1zL3RpbWUtbXVsdGlwbGUtZmllbGRzL3RpbWUtbXVsdGlwbGUtZmllbGRzLWNoYW5n
ZS1sYXlvdXQtYnktdmFsdWUtZXhwZWN0ZWQudHh0OiBSZW1vdmVkLgorICAgICAgICAqIGZhc3Qv
Zm9ybXMvdGltZS1tdWx0aXBsZS1maWVsZHMvdGltZS1tdWx0aXBsZS1maWVsZHMtY2hhbmdlLWxh
eW91dC1ieS12YWx1ZS5odG1sOiBSZW1vdmVkLgorICAgICAgICAqIGZhc3QvZm9ybXMvdGltZS1t
dWx0aXBsZS1maWVsZHMvdGltZS1tdWx0aXBsZS1maWVsZHMtY2hhbmdlLXR5cGUtZXhwZWN0ZWQu
dHh0OiBSZW1vdmVkLgorICAgICAgICAqIGZhc3QvZm9ybXMvdGltZS1tdWx0aXBsZS1maWVsZHMv
dGltZS1tdWx0aXBsZS1maWVsZHMtY2hhbmdlLXR5cGUtb24tZm9jdXMtMi1leHBlY3RlZC50eHQ6
IFJlbW92ZWQuCisgICAgICAgICogZmFzdC9mb3Jtcy90aW1lLW11bHRpcGxlLWZpZWxkcy90aW1l
LW11bHRpcGxlLWZpZWxkcy1jaGFuZ2UtdHlwZS1vbi1mb2N1cy0yLmh0bWw6IFJlbW92ZWQuCisg
ICAgICAgICogZmFzdC9mb3Jtcy90aW1lLW11bHRpcGxlLWZpZWxkcy90aW1lLW11bHRpcGxlLWZp
ZWxkcy1jaGFuZ2UtdHlwZS1vbi1mb2N1cy1leHBlY3RlZC50eHQ6IFJlbW92ZWQuCisgICAgICAg
ICogZmFzdC9mb3Jtcy90aW1lLW11bHRpcGxlLWZpZWxkcy90aW1lLW11bHRpcGxlLWZpZWxkcy1j
aGFuZ2UtdHlwZS1vbi1mb2N1cy5odG1sOiBSZW1vdmVkLgorICAgICAgICAqIGZhc3QvZm9ybXMv
dGltZS1tdWx0aXBsZS1maWVsZHMvdGltZS1tdWx0aXBsZS1maWVsZHMtY2hhbmdlLXR5cGUuaHRt
bDogUmVtb3ZlZC4KKyAgICAgICAgKiBmYXN0L2Zvcm1zL3RpbWUtbXVsdGlwbGUtZmllbGRzL3Rp
bWUtbXVsdGlwbGUtZmllbGRzLWNsZWFyYnV0dG9uLWNoYW5nZS1hbmQtaW5wdXQtZXZlbnRzLWV4
cGVjdGVkLnR4dDogUmVtb3ZlZC4KKyAgICAgICAgKiBmYXN0L2Zvcm1zL3RpbWUtbXVsdGlwbGUt
ZmllbGRzL3RpbWUtbXVsdGlwbGUtZmllbGRzLWNsZWFyYnV0dG9uLWNoYW5nZS1hbmQtaW5wdXQt
ZXZlbnRzLmh0bWw6IFJlbW92ZWQuCisgICAgICAgICogZmFzdC9mb3Jtcy90aW1lLW11bHRpcGxl
LWZpZWxkcy90aW1lLW11bHRpcGxlLWZpZWxkcy1jbGVhcmJ1dHRvbi12aXNpYmlsaXR5LWFmdGVy
LXJlc3RvcmUtZXhwZWN0ZWQuaHRtbDogUmVtb3ZlZC4KKyAgICAgICAgKiBmYXN0L2Zvcm1zL3Rp
bWUtbXVsdGlwbGUtZmllbGRzL3RpbWUtbXVsdGlwbGUtZmllbGRzLWNsZWFyYnV0dG9uLXZpc2li
aWxpdHktYWZ0ZXItcmVzdG9yZS5odG1sOiBSZW1vdmVkLgorICAgICAgICAqIGZhc3QvZm9ybXMv
dGltZS1tdWx0aXBsZS1maWVsZHMvdGltZS1tdWx0aXBsZS1maWVsZHMtY3Jhc2gtYWZ0ZXItYWRv
cHRub2RlLWV4cGVjdGVkLnR4dDogUmVtb3ZlZC4KKyAgICAgICAgKiBmYXN0L2Zvcm1zL3RpbWUt
bXVsdGlwbGUtZmllbGRzL3RpbWUtbXVsdGlwbGUtZmllbGRzLWNyYXNoLWFmdGVyLWFkb3B0bm9k
ZS5odG1sOiBSZW1vdmVkLgorICAgICAgICAqIGZhc3QvZm9ybXMvdGltZS1tdWx0aXBsZS1maWVs
ZHMvdGltZS1tdWx0aXBsZS1maWVsZHMtZmFsbGJhY2stZm9ybWF0LWV4cGVjdGVkLnR4dDogUmVt
b3ZlZC4KKyAgICAgICAgKiBmYXN0L2Zvcm1zL3RpbWUtbXVsdGlwbGUtZmllbGRzL3RpbWUtbXVs
dGlwbGUtZmllbGRzLWZhbGxiYWNrLWZvcm1hdC5odG1sOiBSZW1vdmVkLgorICAgICAgICAqIGZh
c3QvZm9ybXMvdGltZS1tdWx0aXBsZS1maWVsZHMvdGltZS1tdWx0aXBsZS1maWVsZHMtZm9jdXMt
ZXhwZWN0ZWQudHh0OiBSZW1vdmVkLgorICAgICAgICAqIGZhc3QvZm9ybXMvdGltZS1tdWx0aXBs
ZS1maWVsZHMvdGltZS1tdWx0aXBsZS1maWVsZHMtZm9jdXMtc3R5bGUtZXhwZWN0ZWQudHh0OiBS
ZW1vdmVkLgorICAgICAgICAqIGZhc3QvZm9ybXMvdGltZS1tdWx0aXBsZS1maWVsZHMvdGltZS1t
dWx0aXBsZS1maWVsZHMtZm9jdXMtc3R5bGUuaHRtbDogUmVtb3ZlZC4KKyAgICAgICAgKiBmYXN0
L2Zvcm1zL3RpbWUtbXVsdGlwbGUtZmllbGRzL3RpbWUtbXVsdGlwbGUtZmllbGRzLWZvY3VzLmh0
bWw6IFJlbW92ZWQuCisgICAgICAgICogZmFzdC9mb3Jtcy90aW1lLW11bHRpcGxlLWZpZWxkcy90
aW1lLW11bHRpcGxlLWZpZWxkcy1rZXlib2FyZC1ldmVudHMtZXhwZWN0ZWQudHh0OiBSZW1vdmVk
LgorICAgICAgICAqIGZhc3QvZm9ybXMvdGltZS1tdWx0aXBsZS1maWVsZHMvdGltZS1tdWx0aXBs
ZS1maWVsZHMta2V5Ym9hcmQtZXZlbnRzLmh0bWw6IFJlbW92ZWQuCisgICAgICAgICogZmFzdC9m
b3Jtcy90aW1lLW11bHRpcGxlLWZpZWxkcy90aW1lLW11bHRpcGxlLWZpZWxkcy1sb2NhbGl6YXRp
b24uaHRtbDogUmVtb3ZlZC4KKyAgICAgICAgKiBmYXN0L2Zvcm1zL3RpbWUtbXVsdGlwbGUtZmll
bGRzL3RpbWUtbXVsdGlwbGUtZmllbGRzLWxvc2luZy1yZW5kZXJlci1vbi1jbGljay1leHBlY3Rl
ZC50eHQ6IFJlbW92ZWQuCisgICAgICAgICogZmFzdC9mb3Jtcy90aW1lLW11bHRpcGxlLWZpZWxk
cy90aW1lLW11bHRpcGxlLWZpZWxkcy1sb3NpbmctcmVuZGVyZXItb24tY2xpY2suaHRtbDogUmVt
b3ZlZC4KKyAgICAgICAgKiBmYXN0L2Zvcm1zL3RpbWUtbXVsdGlwbGUtZmllbGRzL3RpbWUtbXVs
dGlwbGUtZmllbGRzLW1vdXNlLWV2ZW50cy1leHBlY3RlZC50eHQ6IFJlbW92ZWQuCisgICAgICAg
ICogZmFzdC9mb3Jtcy90aW1lLW11bHRpcGxlLWZpZWxkcy90aW1lLW11bHRpcGxlLWZpZWxkcy1t
b3VzZS1ldmVudHMuaHRtbDogUmVtb3ZlZC4KKyAgICAgICAgKiBmYXN0L2Zvcm1zL3RpbWUtbXVs
dGlwbGUtZmllbGRzL3RpbWUtbXVsdGlwbGUtZmllbGRzLW5hcnJvdy13aWR0aC1zY3JvbGwtZXhw
ZWN0ZWQudHh0OiBSZW1vdmVkLgorICAgICAgICAqIGZhc3QvZm9ybXMvdGltZS1tdWx0aXBsZS1m
aWVsZHMvdGltZS1tdWx0aXBsZS1maWVsZHMtbmFycm93LXdpZHRoLXNjcm9sbC5odG1sOiBSZW1v
dmVkLgorICAgICAgICAqIGZhc3QvZm9ybXMvdGltZS1tdWx0aXBsZS1maWVsZHMvdGltZS1tdWx0
aXBsZS1maWVsZHMtcHJlc2VydmUtdmFsdWUtYWZ0ZXItaGlzdG9yeS1iYWNrLWV4cGVjdGVkLnR4
dDogUmVtb3ZlZC4KKyAgICAgICAgKiBmYXN0L2Zvcm1zL3RpbWUtbXVsdGlwbGUtZmllbGRzL3Rp
bWUtbXVsdGlwbGUtZmllbGRzLXByZXNlcnZlLXZhbHVlLWFmdGVyLWhpc3RvcnktYmFjay5odG1s
OiBSZW1vdmVkLgorICAgICAgICAqIGZhc3QvZm9ybXMvdGltZS1tdWx0aXBsZS1maWVsZHMvdGlt
ZS1tdWx0aXBsZS1maWVsZHMtcmVhZG9ubHktc3ViZmllbGQtZXhwZWN0ZWQudHh0OiBSZW1vdmVk
LgorICAgICAgICAqIGZhc3QvZm9ybXMvdGltZS1tdWx0aXBsZS1maWVsZHMvdGltZS1tdWx0aXBs
ZS1maWVsZHMtcmVhZG9ubHktc3ViZmllbGQuaHRtbDogUmVtb3ZlZC4KKyAgICAgICAgKiBmYXN0
L2Zvcm1zL3RpbWUtbXVsdGlwbGUtZmllbGRzL3RpbWUtbXVsdGlwbGUtZmllbGRzLXJlc2V0LXZh
bHVlLWFmdGVyLXJlbG9hZC1leHBlY3RlZC50eHQ6IFJlbW92ZWQuCisgICAgICAgICogZmFzdC9m
b3Jtcy90aW1lLW11bHRpcGxlLWZpZWxkcy90aW1lLW11bHRpcGxlLWZpZWxkcy1yZXNldC12YWx1
ZS1hZnRlci1yZWxvYWQuaHRtbDogUmVtb3ZlZC4KKyAgICAgICAgKiBmYXN0L2Zvcm1zL3RpbWUt
bXVsdGlwbGUtZmllbGRzL3RpbWUtbXVsdGlwbGUtZmllbGRzLXNwaW5idXR0b24tY2hhbmdlLWFu
ZC1pbnB1dC1ldmVudHMtZXhwZWN0ZWQudHh0OiBSZW1vdmVkLgorICAgICAgICAqIGZhc3QvZm9y
bXMvdGltZS1tdWx0aXBsZS1maWVsZHMvdGltZS1tdWx0aXBsZS1maWVsZHMtc3BpbmJ1dHRvbi1j
aGFuZ2UtYW5kLWlucHV0LWV2ZW50cy5odG1sOiBSZW1vdmVkLgorICAgICAgICAqIGZhc3QvZm9y
bXMvdGltZS1tdWx0aXBsZS1maWVsZHMvdGltZS1tdWx0aXBsZS1maWVsZHMtc3BpbmJ1dHRvbi1j
bGljay1pbi1pZnJhbWUtZXhwZWN0ZWQudHh0OiBSZW1vdmVkLgorICAgICAgICAqIGZhc3QvZm9y
bXMvdGltZS1tdWx0aXBsZS1maWVsZHMvdGltZS1tdWx0aXBsZS1maWVsZHMtc3BpbmJ1dHRvbi1j
bGljay1pbi1pZnJhbWUuaHRtbDogUmVtb3ZlZC4KKyAgICAgICAgKiBmYXN0L2Zvcm1zL3RpbWUt
bXVsdGlwbGUtZmllbGRzL3RpbWUtbXVsdGlwbGUtZmllbGRzLXN0YXRlLWNoYW5nZS1vbi1mb2N1
cy1vci1ibHVyLWV4cGVjdGVkLnR4dDogUmVtb3ZlZC4KKyAgICAgICAgKiBmYXN0L2Zvcm1zL3Rp
bWUtbXVsdGlwbGUtZmllbGRzL3RpbWUtbXVsdGlwbGUtZmllbGRzLXN0YXRlLWNoYW5nZS1vbi1m
b2N1cy1vci1ibHVyLmh0bWw6IFJlbW92ZWQuCisgICAgICAgICogZmFzdC9mb3Jtcy90aW1lLW11
bHRpcGxlLWZpZWxkcy90aW1lLW11bHRpcGxlLWZpZWxkcy1zdGF0aWMtcmVsYXlvdXQtZXhwZWN0
ZWQudHh0OiBSZW1vdmVkLgorICAgICAgICAqIGZhc3QvZm9ybXMvdGltZS1tdWx0aXBsZS1maWVs
ZHMvdGltZS1tdWx0aXBsZS1maWVsZHMtc3RhdGljLXJlbGF5b3V0Lmh0bWw6IFJlbW92ZWQuCisg
ICAgICAgICogZmFzdC9mb3Jtcy90aW1lLW11bHRpcGxlLWZpZWxkcy90aW1lLW11bHRpcGxlLWZp
ZWxkcy1zdGVwLWF0dHJpYnV0ZS1leHBlY3RlZC50eHQ6IFJlbW92ZWQuCisgICAgICAgICogZmFz
dC9mb3Jtcy90aW1lLW11bHRpcGxlLWZpZWxkcy90aW1lLW11bHRpcGxlLWZpZWxkcy1zdGVwLWF0
dHJpYnV0ZS5odG1sOiBSZW1vdmVkLgorICAgICAgICAqIGZhc3QvZm9ybXMvdGltZS1tdWx0aXBs
ZS1maWVsZHMvdGltZS1tdWx0aXBsZS1maWVsZHMtc3RlcHVwLXN0ZXBkb3duLWZyb20tcmVuZGVy
ZXItZXhwZWN0ZWQudHh0OiBSZW1vdmVkLgorICAgICAgICAqIGZhc3QvZm9ybXMvdGltZS1tdWx0
aXBsZS1maWVsZHMvdGltZS1tdWx0aXBsZS1maWVsZHMtc3RlcHVwLXN0ZXBkb3duLWZyb20tcmVu
ZGVyZXIuaHRtbDogUmVtb3ZlZC4KKyAgICAgICAgKiBmYXN0L2Zvcm1zL3RpbWUtbXVsdGlwbGUt
ZmllbGRzL3RpbWUtbXVsdGlwbGUtZmllbGRzLXRhYmluZGV4LWV4cGVjdGVkLnR4dDogUmVtb3Zl
ZC4KKyAgICAgICAgKiBmYXN0L2Zvcm1zL3RpbWUtbXVsdGlwbGUtZmllbGRzL3RpbWUtbXVsdGlw
bGUtZmllbGRzLXRhYmluZGV4Lmh0bWw6IFJlbW92ZWQuCisgICAgICAgICogZmFzdC9mb3Jtcy90
aW1lLW11bHRpcGxlLWZpZWxkcy90aW1lLW11bHRpcGxlLWZpZWxkcy12YWxpZGl0eS1iYWRpbnB1
dC1leHBlY3RlZC50eHQ6IFJlbW92ZWQuCisgICAgICAgICogZmFzdC9mb3Jtcy90aW1lLW11bHRp
cGxlLWZpZWxkcy90aW1lLW11bHRpcGxlLWZpZWxkcy12YWxpZGl0eS1iYWRpbnB1dC5odG1sOiBS
ZW1vdmVkLgorICAgICAgICAqIGZhc3QvZm9ybXMvdGltZS1tdWx0aXBsZS1maWVsZHMvdGltZS1t
dWx0aXBsZS1maWVsZHMtdmFsdWUtc2V0LWVtcHR5LWV4cGVjdGVkLnR4dDogUmVtb3ZlZC4KKyAg
ICAgICAgKiBmYXN0L2Zvcm1zL3RpbWUtbXVsdGlwbGUtZmllbGRzL3RpbWUtbXVsdGlwbGUtZmll
bGRzLXZhbHVlLXNldC1lbXB0eS5odG1sOiBSZW1vdmVkLgorICAgICAgICAqIGZhc3QvZm9ybXMv
dGltZS1tdWx0aXBsZS1maWVsZHMvdGltZS1tdWx0aXBsZS1maWVsZHMtd2hlZWwtZXZlbnQtZXhw
ZWN0ZWQudHh0OiBSZW1vdmVkLgorICAgICAgICAqIGZhc3QvZm9ybXMvdGltZS1tdWx0aXBsZS1m
aWVsZHMvdGltZS1tdWx0aXBsZS1maWVsZHMtd2hlZWwtZXZlbnQuaHRtbDogUmVtb3ZlZC4KKyAg
ICAgICAgKiBmYXN0L2Zvcm1zL3dlZWstbXVsdGlwbGUtZmllbGRzL3Jlc291cmNlcy9wcmVzZXJ2
ZS12YWx1ZS1hZnRlci1oaXN0b3J5LWJhY2stZnJhbWUuaHRtbDogUmVtb3ZlZC4KKyAgICAgICAg
KiBmYXN0L2Zvcm1zL3dlZWstbXVsdGlwbGUtZmllbGRzL3dlZWstbXVsdGlwbGUtZmllbGRzLWF4
LWFyaWEtYXR0cmlidXRlcy1leHBlY3RlZC50eHQ6IFJlbW92ZWQuCisgICAgICAgICogZmFzdC9m
b3Jtcy93ZWVrLW11bHRpcGxlLWZpZWxkcy93ZWVrLW11bHRpcGxlLWZpZWxkcy1heC1hcmlhLWF0
dHJpYnV0ZXMuaHRtbDogUmVtb3ZlZC4KKyAgICAgICAgKiBmYXN0L2Zvcm1zL3dlZWstbXVsdGlw
bGUtZmllbGRzL3dlZWstbXVsdGlwbGUtZmllbGRzLWF4LXZhbHVlLWNoYW5nZWQtbm90aWZpY2F0
aW9uLWV4cGVjdGVkLnR4dDogUmVtb3ZlZC4KKyAgICAgICAgKiBmYXN0L2Zvcm1zL3dlZWstbXVs
dGlwbGUtZmllbGRzL3dlZWstbXVsdGlwbGUtZmllbGRzLWF4LXZhbHVlLWNoYW5nZWQtbm90aWZp
Y2F0aW9uLmh0bWw6IFJlbW92ZWQuCisgICAgICAgICogZmFzdC9mb3Jtcy93ZWVrLW11bHRpcGxl
LWZpZWxkcy93ZWVrLW11bHRpcGxlLWZpZWxkcy1ibHVyLWFuZC1mb2N1cy1ldmVudHMtZXhwZWN0
ZWQudHh0OiBSZW1vdmVkLgorICAgICAgICAqIGZhc3QvZm9ybXMvd2Vlay1tdWx0aXBsZS1maWVs
ZHMvd2Vlay1tdWx0aXBsZS1maWVsZHMtYmx1ci1hbmQtZm9jdXMtZXZlbnRzLmh0bWw6IFJlbW92
ZWQuCisgICAgICAgICogZmFzdC9mb3Jtcy93ZWVrLW11bHRpcGxlLWZpZWxkcy93ZWVrLW11bHRp
cGxlLWZpZWxkcy1jaGFuZ2UtbGF5b3V0LWJ5LXZhbHVlLWV4cGVjdGVkLnR4dDogUmVtb3ZlZC4K
KyAgICAgICAgKiBmYXN0L2Zvcm1zL3dlZWstbXVsdGlwbGUtZmllbGRzL3dlZWstbXVsdGlwbGUt
ZmllbGRzLWNoYW5nZS1sYXlvdXQtYnktdmFsdWUuaHRtbDogUmVtb3ZlZC4KKyAgICAgICAgKiBm
YXN0L2Zvcm1zL3dlZWstbXVsdGlwbGUtZmllbGRzL3dlZWstbXVsdGlwbGUtZmllbGRzLWNsZWFy
YnV0dG9uLWNoYW5nZS1hbmQtaW5wdXQtZXZlbnRzLWV4cGVjdGVkLnR4dDogUmVtb3ZlZC4KKyAg
ICAgICAgKiBmYXN0L2Zvcm1zL3dlZWstbXVsdGlwbGUtZmllbGRzL3dlZWstbXVsdGlwbGUtZmll
bGRzLWNsZWFyYnV0dG9uLWNoYW5nZS1hbmQtaW5wdXQtZXZlbnRzLmh0bWw6IFJlbW92ZWQuCisg
ICAgICAgICogZmFzdC9mb3Jtcy93ZWVrLW11bHRpcGxlLWZpZWxkcy93ZWVrLW11bHRpcGxlLWZp
ZWxkcy1jbGVhcmJ1dHRvbi12aXNpYmlsaXR5LWFmdGVyLXJlc3RvcmUtZXhwZWN0ZWQuaHRtbDog
UmVtb3ZlZC4KKyAgICAgICAgKiBmYXN0L2Zvcm1zL3dlZWstbXVsdGlwbGUtZmllbGRzL3dlZWst
bXVsdGlwbGUtZmllbGRzLWNsZWFyYnV0dG9uLXZpc2liaWxpdHktYWZ0ZXItcmVzdG9yZS5odG1s
OiBSZW1vdmVkLgorICAgICAgICAqIGZhc3QvZm9ybXMvd2Vlay1tdWx0aXBsZS1maWVsZHMvd2Vl
ay1tdWx0aXBsZS1maWVsZHMtZmFsbGJhY2stZm9ybWF0LWV4cGVjdGVkLnR4dDogUmVtb3ZlZC4K
KyAgICAgICAgKiBmYXN0L2Zvcm1zL3dlZWstbXVsdGlwbGUtZmllbGRzL3dlZWstbXVsdGlwbGUt
ZmllbGRzLWZhbGxiYWNrLWZvcm1hdC5odG1sOiBSZW1vdmVkLgorICAgICAgICAqIGZhc3QvZm9y
bXMvd2Vlay1tdWx0aXBsZS1maWVsZHMvd2Vlay1tdWx0aXBsZS1maWVsZHMta2V5Ym9hcmQtZXZl
bnRzLWV4cGVjdGVkLnR4dDogUmVtb3ZlZC4KKyAgICAgICAgKiBmYXN0L2Zvcm1zL3dlZWstbXVs
dGlwbGUtZmllbGRzL3dlZWstbXVsdGlwbGUtZmllbGRzLWtleWJvYXJkLWV2ZW50cy5odG1sOiBS
ZW1vdmVkLgorICAgICAgICAqIGZhc3QvZm9ybXMvd2Vlay1tdWx0aXBsZS1maWVsZHMvd2Vlay1t
dWx0aXBsZS1maWVsZHMtbW91c2UtZXZlbnRzLWV4cGVjdGVkLnR4dDogUmVtb3ZlZC4KKyAgICAg
ICAgKiBmYXN0L2Zvcm1zL3dlZWstbXVsdGlwbGUtZmllbGRzL3dlZWstbXVsdGlwbGUtZmllbGRz
LW1vdXNlLWV2ZW50cy5odG1sOiBSZW1vdmVkLgorICAgICAgICAqIGZhc3QvZm9ybXMvd2Vlay1t
dWx0aXBsZS1maWVsZHMvd2Vlay1tdWx0aXBsZS1maWVsZHMtcHJlc2VydmUtdmFsdWUtYWZ0ZXIt
aGlzdG9yeS1iYWNrLWV4cGVjdGVkLnR4dDogUmVtb3ZlZC4KKyAgICAgICAgKiBmYXN0L2Zvcm1z
L3dlZWstbXVsdGlwbGUtZmllbGRzL3dlZWstbXVsdGlwbGUtZmllbGRzLXByZXNlcnZlLXZhbHVl
LWFmdGVyLWhpc3RvcnktYmFjay5odG1sOiBSZW1vdmVkLgorICAgICAgICAqIGZhc3QvZm9ybXMv
d2Vlay1tdWx0aXBsZS1maWVsZHMvd2Vlay1tdWx0aXBsZS1maWVsZHMtcmVhZG9ubHktc3ViZmll
bGQtZXhwZWN0ZWQudHh0OiBSZW1vdmVkLgorICAgICAgICAqIGZhc3QvZm9ybXMvd2Vlay1tdWx0
aXBsZS1maWVsZHMvd2Vlay1tdWx0aXBsZS1maWVsZHMtcmVhZG9ubHktc3ViZmllbGQuaHRtbDog
UmVtb3ZlZC4KKyAgICAgICAgKiBmYXN0L2Zvcm1zL3dlZWstbXVsdGlwbGUtZmllbGRzL3dlZWst
bXVsdGlwbGUtZmllbGRzLXJlc2V0LXZhbHVlLWFmdGVyLXJlbG9hZHMtZXhwZWN0ZWQudHh0OiBS
ZW1vdmVkLgorICAgICAgICAqIGZhc3QvZm9ybXMvd2Vlay1tdWx0aXBsZS1maWVsZHMvd2Vlay1t
dWx0aXBsZS1maWVsZHMtcmVzZXQtdmFsdWUtYWZ0ZXItcmVsb2Fkcy5odG1sOiBSZW1vdmVkLgor
ICAgICAgICAqIGZhc3QvZm9ybXMvd2Vlay1tdWx0aXBsZS1maWVsZHMvd2Vlay1tdWx0aXBsZS1m
aWVsZHMtc3BpbmJ1dHRvbi1jaGFuZ2UtYW5kLWlucHV0LWV2ZW50cy1leHBlY3RlZC50eHQ6IFJl
bW92ZWQuCisgICAgICAgICogZmFzdC9mb3Jtcy93ZWVrLW11bHRpcGxlLWZpZWxkcy93ZWVrLW11
bHRpcGxlLWZpZWxkcy1zcGluYnV0dG9uLWNoYW5nZS1hbmQtaW5wdXQtZXZlbnRzLmh0bWw6IFJl
bW92ZWQuCisgICAgICAgICogZmFzdC9mb3Jtcy93ZWVrLW11bHRpcGxlLWZpZWxkcy93ZWVrLW11
bHRpcGxlLWZpZWxkcy1zdGVwdXAtc3RlcGRvd24tZnJvbS1yZW5kZXJlci1leHBlY3RlZC50eHQ6
IFJlbW92ZWQuCisgICAgICAgICogZmFzdC9mb3Jtcy93ZWVrLW11bHRpcGxlLWZpZWxkcy93ZWVr
LW11bHRpcGxlLWZpZWxkcy1zdGVwdXAtc3RlcGRvd24tZnJvbS1yZW5kZXJlci5odG1sOiBSZW1v
dmVkLgorICAgICAgICAqIGZhc3QvZm9ybXMvd2Vlay1tdWx0aXBsZS1maWVsZHMvd2Vlay1tdWx0
aXBsZS1maWVsZHMtdmFsaWRpdHktYmFkaW5wdXQtZXhwZWN0ZWQudHh0OiBSZW1vdmVkLgorICAg
ICAgICAqIGZhc3QvZm9ybXMvd2Vlay1tdWx0aXBsZS1maWVsZHMvd2Vlay1tdWx0aXBsZS1maWVs
ZHMtdmFsaWRpdHktYmFkaW5wdXQuaHRtbDogUmVtb3ZlZC4KKyAgICAgICAgKiBmYXN0L2Zvcm1z
L3dlZWstbXVsdGlwbGUtZmllbGRzL3dlZWstbXVsdGlwbGUtZmllbGRzLXZhbHVlLXNldC1lbXB0
eS1leHBlY3RlZC50eHQ6IFJlbW92ZWQuCisgICAgICAgICogZmFzdC9mb3Jtcy93ZWVrLW11bHRp
cGxlLWZpZWxkcy93ZWVrLW11bHRpcGxlLWZpZWxkcy12YWx1ZS1zZXQtZW1wdHkuaHRtbDogUmVt
b3ZlZC4KKyAgICAgICAgKiBmYXN0L2Zvcm1zL3dlZWstbXVsdGlwbGUtZmllbGRzL3dlZWstbXVs
dGlwbGUtZmllbGRzLXdoZWVsLWV2ZW50LWV4cGVjdGVkLnR4dDogUmVtb3ZlZC4KKyAgICAgICAg
KiBmYXN0L2Zvcm1zL3dlZWstbXVsdGlwbGUtZmllbGRzL3dlZWstbXVsdGlwbGUtZmllbGRzLXdo
ZWVsLWV2ZW50Lmh0bWw6IFJlbW92ZWQuCisgICAgICAgICogcGxhdGZvcm0vZWZsL1Rlc3RFeHBl
Y3RhdGlvbnM6CisgICAgICAgICogcGxhdGZvcm0vZ3RrL1Rlc3RFeHBlY3RhdGlvbnM6CisgICAg
ICAgICogcGxhdGZvcm0vbWFjL1Rlc3RFeHBlY3RhdGlvbnM6CisgICAgICAgICogcGxhdGZvcm0v
cXQvVGVzdEV4cGVjdGF0aW9uczoKKyAgICAgICAgKiBwbGF0Zm9ybS93aW4vVGVzdEV4cGVjdGF0
aW9uczoKKyAgICAgICAgKiBwbGF0Zm9ybS93aW5jYWlyby9UZXN0RXhwZWN0YXRpb25zOgorCiAy
MDEzLTA1LTI1ICBTaW1vbiBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgogCiAgICAg
ICAgIFVucHJlZml4IFBhZ2UgVmlzaWJpbGl0eSBBUEkKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2Zhc3QvZm9ybXMvZGF0ZS1tdWx0aXBsZS1maWVsZHMvZGF0ZS1tdWx0aXBsZS1maWVsZHMtYXgt
YXJpYS1hdHRyaWJ1dGVzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvZGF0
ZS1tdWx0aXBsZS1maWVsZHMvZGF0ZS1tdWx0aXBsZS1maWVsZHMtYXgtYXJpYS1hdHRyaWJ1dGVz
LWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZTNlMmRlMzY4YzVh
NDU2NzRkMTZiOTVmZGVmZmQ4MDc5NDBkYzZkNS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2RhdGUtbXVsdGlwbGUt
ZmllbGRzL2RhdGUtbXVsdGlwbGUtZmllbGRzLWF4LWFyaWEtYXR0cmlidXRlcy1leHBlY3RlZC50
eHQKKysrIC9kZXYvbnVsbApAQCAtMSwyMiArMCwwIEBACi1UaGlzIHRlc3QgY2hlY2tzIGFyaWEt
aGVscCBhdHRyaWJ1dGUgb2YgZmllbGRzIGluIG11bHRpcGxlIGZpZWxkcyBkYXRlIGlucHV0IFVJ
LgotCi1PbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2Vz
LCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCi0KLQotSW5pdGlhbCBlbXB0eSBzdGF0ZQot
UEFTUyBmb2N1c2VkRWxlbWVudERlc2NyaXB0aW9uKCkgaXMgIkFYSGVscDogTW9udGgsIEFYVmFs
dWVEZXNjcmlwdGlvbjogYmxhbmssIGludFZhbHVlOjAsIHJhbmdlOjEtMTIiCi1QQVNTIGZvY3Vz
ZWRFbGVtZW50RGVzY3JpcHRpb24oKSBpcyAiQVhIZWxwOiBEYXksIEFYVmFsdWVEZXNjcmlwdGlv
bjogYmxhbmssIGludFZhbHVlOjAsIHJhbmdlOjEtMzEiCi1QQVNTIGZvY3VzZWRFbGVtZW50RGVz
Y3JpcHRpb24oKSBpcyAiQVhIZWxwOiBZZWFyLCBBWFZhbHVlRGVzY3JpcHRpb246IGJsYW5rLCBp
bnRWYWx1ZTowLCByYW5nZToxLTI3NTc2MCIKLU5vbi1lbXB0eSB2YWx1ZQotUEFTUyBmb2N1c2Vk
RWxlbWVudERlc2NyaXB0aW9uKCkgaXMgIkFYSGVscDogTW9udGgsIEFYVmFsdWVEZXNjcmlwdGlv
bjogMTAsIGludFZhbHVlOjEwLCByYW5nZToxLTEyIgotUEFTUyBmb2N1c2VkRWxlbWVudERlc2Ny
aXB0aW9uKCkgaXMgIkFYSGVscDogRGF5LCBBWFZhbHVlRGVzY3JpcHRpb246IDA5LCBpbnRWYWx1
ZTo5LCByYW5nZToxLTMxIgotUEFTUyBmb2N1c2VkRWxlbWVudERlc2NyaXB0aW9uKCkgaXMgIkFY
SGVscDogWWVhciwgQVhWYWx1ZURlc2NyaXB0aW9uOiAyMDEyLCBpbnRWYWx1ZToyMDEyLCByYW5n
ZToxLTI3NTc2MCIKLUVtcHR5IHZhbHVlCi1QQVNTIGZvY3VzZWRFbGVtZW50RGVzY3JpcHRpb24o
KSBpcyAiQVhIZWxwOiBZZWFyLCBBWFZhbHVlRGVzY3JpcHRpb246IGJsYW5rLCBpbnRWYWx1ZTow
LCByYW5nZToxLTI3NTc2MCIKLVBBU1MgZm9jdXNlZEVsZW1lbnREZXNjcmlwdGlvbigpIGlzICJB
WEhlbHA6IERheSwgQVhWYWx1ZURlc2NyaXB0aW9uOiBibGFuaywgaW50VmFsdWU6MCwgcmFuZ2U6
MS0zMSIKLVBBU1MgZm9jdXNlZEVsZW1lbnREZXNjcmlwdGlvbigpIGlzICJBWEhlbHA6IE1vbnRo
LCBBWFZhbHVlRGVzY3JpcHRpb246IGJsYW5rLCBpbnRWYWx1ZTowLCByYW5nZToxLTEyIgotCi1Q
QVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCi0KLVRFU1QgQ09NUExFVEUKLQpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9kYXRlLW11bHRpcGxlLWZpZWxkcy9kYXRlLW11
bHRpcGxlLWZpZWxkcy1heC1hcmlhLWF0dHJpYnV0ZXMuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3Qv
Zm9ybXMvZGF0ZS1tdWx0aXBsZS1maWVsZHMvZGF0ZS1tdWx0aXBsZS1maWVsZHMtYXgtYXJpYS1h
dHRyaWJ1dGVzLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDBkNjc3MGY0MDEy
NWFjMjAyMDVjOTAxMzg5ZDA4OGVjOWU2M2M3YTMuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9kYXRlLW11bHRpcGxl
LWZpZWxkcy9kYXRlLW11bHRpcGxlLWZpZWxkcy1heC1hcmlhLWF0dHJpYnV0ZXMuaHRtbAorKysg
L2Rldi9udWxsCkBAIC0xLDUxICswLDAgQEAKLTwhRE9DVFlQRSBodG1sPgotPGh0bWw+Ci08aGVh
ZD4KLTxzY3JpcHQgc3JjPSIuLi8uLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5q
cyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL211bHRpcGxlLWZpZWxkcy1h
eC1hcmlhLWF0dHJpYnV0ZXMuanMiPjwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHk+Ci08aW5wdXQg
aWQ9InRlc3QiIHR5cGU9ImRhdGUiPgotPHNjcmlwdD4KLWRlc2NyaXB0aW9uKCdUaGlzIHRlc3Qg
Y2hlY2tzIGFyaWEtaGVscCBhdHRyaWJ1dGUgb2YgZmllbGRzIGluIG11bHRpcGxlIGZpZWxkcyBk
YXRlIGlucHV0IFVJLicpOwotCi12YXIgdGVzdElucHV0ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoJ3Rlc3QnKTsKLQotaWYgKCF3aW5kb3cuYWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIgfHwgIXdp
bmRvdy5ldmVudFNlbmRlcikKLSAgICBkZWJ1ZygnUGxlYXNlIHJ1biBpbnNpZGUgRFJUIG9yIFdU
Ui4nKTsKLWVsc2UgewotICAgIHRlc3RJbnB1dC5mb2N1cygpOwotICAgIGRlYnVnKCdJbml0aWFs
IGVtcHR5IHN0YXRlJyk7Ci0gICAgY2hlY2tGb2N1c2VkRWxlbWVudEFYQXR0cmlidXRlcygnQVhI
ZWxwOiBNb250aCwgQVhWYWx1ZURlc2NyaXB0aW9uOiBibGFuaywgaW50VmFsdWU6MCwgcmFuZ2U6
MS0xMicpOwotICAgIGV2ZW50U2VuZGVyLmtleURvd24oJ1x0Jyk7Ci0gICAgY2hlY2tGb2N1c2Vk
RWxlbWVudEFYQXR0cmlidXRlcygnQVhIZWxwOiBEYXksIEFYVmFsdWVEZXNjcmlwdGlvbjogYmxh
bmssIGludFZhbHVlOjAsIHJhbmdlOjEtMzEnKTsKLSAgICBldmVudFNlbmRlci5rZXlEb3duKCdc
dCcpOwotICAgIGNoZWNrRm9jdXNlZEVsZW1lbnRBWEF0dHJpYnV0ZXMoJ0FYSGVscDogWWVhciwg
QVhWYWx1ZURlc2NyaXB0aW9uOiBibGFuaywgaW50VmFsdWU6MCwgcmFuZ2U6MS0yNzU3NjAnKTsK
LQotICAgIGV2ZW50U2VuZGVyLmtleURvd24oJ1x0JywgWydzaGlmdEtleSddKTsKLSAgICBldmVu
dFNlbmRlci5rZXlEb3duKCdcdCcsIFsnc2hpZnRLZXknXSk7Ci0gICAgZGVidWcoJ05vbi1lbXB0
eSB2YWx1ZScpOwotICAgIHRlc3RJbnB1dC52YWx1ZSA9ICIyMDEyLTEwLTA5IjsKLSAgICBjaGVj
a0ZvY3VzZWRFbGVtZW50QVhBdHRyaWJ1dGVzKCdBWEhlbHA6IE1vbnRoLCBBWFZhbHVlRGVzY3Jp
cHRpb246IDEwLCBpbnRWYWx1ZToxMCwgcmFuZ2U6MS0xMicpOwotICAgIGV2ZW50U2VuZGVyLmtl
eURvd24oJ1x0Jyk7Ci0gICAgY2hlY2tGb2N1c2VkRWxlbWVudEFYQXR0cmlidXRlcygnQVhIZWxw
OiBEYXksIEFYVmFsdWVEZXNjcmlwdGlvbjogMDksIGludFZhbHVlOjksIHJhbmdlOjEtMzEnKTsK
LSAgICBldmVudFNlbmRlci5rZXlEb3duKCdcdCcpOwotICAgIGNoZWNrRm9jdXNlZEVsZW1lbnRB
WEF0dHJpYnV0ZXMoJ0FYSGVscDogWWVhciwgQVhWYWx1ZURlc2NyaXB0aW9uOiAyMDEyLCBpbnRW
YWx1ZToyMDEyLCByYW5nZToxLTI3NTc2MCcpOwotCi0gICAgZGVidWcoJ0VtcHR5IHZhbHVlJyk7
Ci0gICAgZXZlbnRTZW5kZXIua2V5RG93bignXGInKTsKLSAgICBjaGVja0ZvY3VzZWRFbGVtZW50
QVhBdHRyaWJ1dGVzKCdBWEhlbHA6IFllYXIsIEFYVmFsdWVEZXNjcmlwdGlvbjogYmxhbmssIGlu
dFZhbHVlOjAsIHJhbmdlOjEtMjc1NzYwJyk7Ci0gICAgZXZlbnRTZW5kZXIua2V5RG93bignXHQn
LCBbJ3NoaWZ0S2V5J10pOwotICAgIGV2ZW50U2VuZGVyLmtleURvd24oJ1xiJyk7Ci0gICAgY2hl
Y2tGb2N1c2VkRWxlbWVudEFYQXR0cmlidXRlcygnQVhIZWxwOiBEYXksIEFYVmFsdWVEZXNjcmlw
dGlvbjogYmxhbmssIGludFZhbHVlOjAsIHJhbmdlOjEtMzEnKTsKLSAgICBldmVudFNlbmRlci5r
ZXlEb3duKCdcdCcsIFsnc2hpZnRLZXknXSk7Ci0gICAgZXZlbnRTZW5kZXIua2V5RG93bignXGIn
KTsKLSAgICBjaGVja0ZvY3VzZWRFbGVtZW50QVhBdHRyaWJ1dGVzKCdBWEhlbHA6IE1vbnRoLCBB
WFZhbHVlRGVzY3JpcHRpb246IGJsYW5rLCBpbnRWYWx1ZTowLCByYW5nZToxLTEyJyk7Ci0KLSAg
ICBkZWJ1ZygnJyk7Ci0gICAgdGVzdElucHV0LnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQodGVzdElu
cHV0KTsKLX0KLTwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii4uLy4uLy4uL2Zhc3QvanMvcmVzb3Vy
Y2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Ci08L2JvZHk+Ci08L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2RhdGUtbXVsdGlwbGUtZmllbGRzL2RhdGUtbXVs
dGlwbGUtZmllbGRzLWF4LXZhbHVlLWNoYW5nZWQtbm90aWZpY2F0aW9uLWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvZGF0ZS1tdWx0aXBsZS1maWVsZHMvZGF0ZS1tdWx0aXBs
ZS1maWVsZHMtYXgtdmFsdWUtY2hhbmdlZC1ub3RpZmljYXRpb24tZXhwZWN0ZWQudHh0CmRlbGV0
ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBkNGZjOGFlNTQ0NTA2MWE4MGU1ODhjNjc3ZDFjYWU2
NjE3M2EyNGRiLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBh
L0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvZGF0ZS1tdWx0aXBsZS1maWVsZHMvZGF0ZS1tdWx0aXBs
ZS1maWVsZHMtYXgtdmFsdWUtY2hhbmdlZC1ub3RpZmljYXRpb24tZXhwZWN0ZWQudHh0CisrKyAv
ZGV2L251bGwKQEAgLTEsMTcgKzAsMCBAQAotVGhpcyB0ZXN0IGNoZWNrcyB2YWx1ZSBjaGFuZ2Vk
IGFjY2Vzc2liaWxpdHkgbm90aWZpY2F0aW9ucy4KLQotT24gc3VjY2VzcywgeW91IHdpbGwgc2Vl
IGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUi
LgotCi0KLUZvY3VzZWRVSUVsZW1lbnRDaGFuZ2VkIEFYSGVscDogTW9udGg9QVhWYWx1ZURlc2Ny
aXB0aW9uOiAxMAotRm9jdXNlZFVJRWxlbWVudENoYW5nZWQgQVhIZWxwOiBEYXk9QVhWYWx1ZURl
c2NyaXB0aW9uOiAwOQotRm9jdXNlZFVJRWxlbWVudENoYW5nZWQgQVhIZWxwOiBZZWFyPUFYVmFs
dWVEZXNjcmlwdGlvbjogMjAxMgotVmFsdWVDaGFuZ2VkIEFYSGVscDogRGF5PUFYVmFsdWVEZXNj
cmlwdGlvbjogMDQKLVZhbHVlQ2hhbmdlZCBBWEhlbHA6IERheT1BWFZhbHVlRGVzY3JpcHRpb246
IDA0Ci1WYWx1ZUNoYW5nZWQgQVhIZWxwOiBZZWFyPUFYVmFsdWVEZXNjcmlwdGlvbjogMjAxMwot
VmFsdWVDaGFuZ2VkIEFYSGVscDogWWVhcj1BWFZhbHVlRGVzY3JpcHRpb246IDIwMTMKLQotUEFT
UyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQotCi1URVNUIENPTVBMRVRFCi0KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvZGF0ZS1tdWx0aXBsZS1maWVsZHMvZGF0ZS1tdWx0
aXBsZS1maWVsZHMtYXgtdmFsdWUtY2hhbmdlZC1ub3RpZmljYXRpb24uaHRtbCBiL0xheW91dFRl
c3RzL2Zhc3QvZm9ybXMvZGF0ZS1tdWx0aXBsZS1maWVsZHMvZGF0ZS1tdWx0aXBsZS1maWVsZHMt
YXgtdmFsdWUtY2hhbmdlZC1ub3RpZmljYXRpb24uaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMzk3OTBhMjkzYjUxMjA5NGNmMDg2MTAwNzk3MTE0NWQ0MWY2ZTViYy4uMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0
L2Zvcm1zL2RhdGUtbXVsdGlwbGUtZmllbGRzL2RhdGUtbXVsdGlwbGUtZmllbGRzLWF4LXZhbHVl
LWNoYW5nZWQtbm90aWZpY2F0aW9uLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSwzOCArMCwwIEBA
Ci08IURPQ1RZUEUgaHRtbD4KLTxodG1sPgotPGhlYWQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vLi4v
ZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgotPC9oZWFkPgotPGJv
ZHk+Ci08aW5wdXQgaWQ9InRlc3QiIHR5cGU9ImRhdGUiIHZhbHVlPSIyMDEyLTEwLTA5Ij4KLTxz
Y3JpcHQ+Ci1kZXNjcmlwdGlvbignVGhpcyB0ZXN0IGNoZWNrcyB2YWx1ZSBjaGFuZ2VkIGFjY2Vz
c2liaWxpdHkgbm90aWZpY2F0aW9ucy4nKTsKLQotdmFyIHRlc3RJbnB1dCA9IGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJ0ZXN0Iik7Ci0KLWlmICghd2luZG93LmFjY2Vzc2liaWxpdHlDb250cm9s
bGVyIHx8ICF3aW5kb3cuZXZlbnRTZW5kZXIpCi0gICAgZGVidWcoIlBsZWFzZSBydW4gaW5zaWRl
IERSVCBvciBXUlQuIik7Ci1lbHNlIHsKLSAgICBhY2Nlc3NpYmlsaXR5Q29udHJvbGxlci5hZGRO
b3RpZmljYXRpb25MaXN0ZW5lcihmdW5jdGlvbiAoZWxlbWVudCwgbm90aWZpY2F0aW9uKSB7Ci0g
ICAgICAgIGlmIChub3RpZmljYXRpb24gPT0gJ0ZvY3VzZWRVSUVsZW1lbnRDaGFuZ2VkJyB8fCBu
b3RpZmljYXRpb24gPT0gJ1ZhbHVlQ2hhbmdlZCcpIHsKLSAgICAgICAgICAgIGRlYnVnKG5vdGlm
aWNhdGlvbiArICcgJyArIGVsZW1lbnQuaGVscFRleHQgKyAnPScgKyBlbGVtZW50LnZhbHVlRGVz
Y3JpcHRpb24pOwotICAgICAgICB9Ci0gICAgfSk7Ci0KLSAgICB0ZXN0SW5wdXQuZm9jdXMoKTsK
LSAgICBldmVudFNlbmRlci5rZXlEb3duKCdcdCcpOwotICAgIGV2ZW50U2VuZGVyLmtleURvd24o
JzQnKTsKLSAgICBldmVudFNlbmRlci5rZXlEb3duKCd1cEFycm93Jyk7Ci0KLSAgICB3aW5kb3cu
anNUZXN0SXNBc3luYyA9IHRydWU7Ci0KLSAgICB3aW5kb3cuc2V0VGltZW91dChmdW5jdGlvbigp
IHsKLSAgICAgICAgZGVidWcoJycpOwotICAgICAgICB0ZXN0SW5wdXQucGFyZW50Tm9kZS5yZW1v
dmVDaGlsZCh0ZXN0SW5wdXQpOwotICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKLSAgICB9LCAxKTsK
LX0KLTwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii4uLy4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pz
LXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Ci08L2JvZHk+Ci08L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2RhdGUtbXVsdGlwbGUtZmllbGRzL2RhdGUtbXVsdGlwbGUt
ZmllbGRzLWJsdXItYW5kLWZvY3VzLWV2ZW50cy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9m
YXN0L2Zvcm1zL2RhdGUtbXVsdGlwbGUtZmllbGRzL2RhdGUtbXVsdGlwbGUtZmllbGRzLWJsdXIt
YW5kLWZvY3VzLWV2ZW50cy1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDMzYzM0ODYwYTIwZWU0OWY2NjcyMzM3NGE0NmMyOTE3ZjM5M2VkMWYuLjAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jt
cy9kYXRlLW11bHRpcGxlLWZpZWxkcy9kYXRlLW11bHRpcGxlLWZpZWxkcy1ibHVyLWFuZC1mb2N1
cy1ldmVudHMtZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEsMTggKzAsMCBAQAotQ2hl
Y2sgYmx1ciBhbmQgZm9jdXMgZXZlbnRzIGZvciBtdWx0aXBsZSBmaWVsZHMgZGF0ZSBpbnB1dCBV
SQotCi1PbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2Vz
LCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCi0KLQotZm9jdXMoKSBhbmQgYmx1cigpCi1Q
QVNTIHRlc3RJbnB1dC5mb2N1cygpOyBzdGF0ZSgpIGlzICJibHVyPTAgZm9jdXM9MSIKLVBBU1Mg
dGVzdElucHV0LmJsdXIoKTsgc3RhdGUoKSBpcyAiYmx1cj0xIGZvY3VzPTEiCi1mb2N1cyBhbmQg
VGFiIGtleSB0byBibHVyCi1QQVNTIGtleURvd24oIgkiKTsgc3RhdGUoKSBpcyAiYmx1cj0wIGZv
Y3VzPTEiCi1QQVNTIGtleURvd24oIgkiKTsgc3RhdGUoKSBpcyAiYmx1cj0wIGZvY3VzPTEiCi1Q
QVNTIGtleURvd24oIgkiKTsgc3RhdGUoKSBpcyAiYmx1cj0wIGZvY3VzPTEiCi1QQVNTIGtleURv
d24oIgkiKTsgc3RhdGUoKSBpcyAiYmx1cj0xIGZvY3VzPTEiCi0KLVBBU1Mgc3VjY2Vzc2Z1bGx5
UGFyc2VkIGlzIHRydWUKLQotVEVTVCBDT01QTEVURQotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9mYXN0L2Zvcm1zL2RhdGUtbXVsdGlwbGUtZmllbGRzL2RhdGUtbXVsdGlwbGUtZmllbGRzLWJs
dXItYW5kLWZvY3VzLWV2ZW50cy5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9kYXRlLW11
bHRpcGxlLWZpZWxkcy9kYXRlLW11bHRpcGxlLWZpZWxkcy1ibHVyLWFuZC1mb2N1cy1ldmVudHMu
aHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYWVlNGQwYjAzNGZmZDQyZDE5MzJl
YjVjMjg4MzhkNzU2NTg5ZDIyZC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2RhdGUtbXVsdGlwbGUtZmllbGRzL2Rh
dGUtbXVsdGlwbGUtZmllbGRzLWJsdXItYW5kLWZvY3VzLWV2ZW50cy5odG1sCisrKyAvZGV2L251
bGwKQEAgLTEsMTIgKzAsMCBAQAotPCFET0NUWVBFIGh0bWw+Ci08aHRtbD4KLTxib2R5PgotPHNj
cmlwdCBzcmM9Ii4uLy4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Ci08
c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL211bHRpcGxlLWZpZWxkcy1ibHVyLWFuZC1mb2N1cy1l
dmVudHMuanMiPjwvc2NyaXB0PgotPGRpdiBpZD0iY29udGFpbmVyIj48L2Rpdj4KLTxzY3JpcHQ+
Ci1zdGFydFRlc3RGb3IoJ2RhdGUnKTsKLTwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii4uLy4uL2pz
L3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgotPC9ib2R5PgotPC9odG1sPgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9kYXRlLW11bHRpcGxlLWZpZWxkcy9k
YXRlLW11bHRpcGxlLWZpZWxkcy1jaGFuZ2UtbGF5b3V0LWJ5LXZhbHVlLWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvZGF0ZS1tdWx0aXBsZS1maWVsZHMvZGF0ZS1tdWx0aXBs
ZS1maWVsZHMtY2hhbmdlLWxheW91dC1ieS12YWx1ZS1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDk2MDdiZTVlM2ZmMmQ1MTZkNGM3NjYyZDM3OWIyYzZlMDJiMTBi
OTUuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0
VGVzdHMvZmFzdC9mb3Jtcy9kYXRlLW11bHRpcGxlLWZpZWxkcy9kYXRlLW11bHRpcGxlLWZpZWxk
cy1jaGFuZ2UtbGF5b3V0LWJ5LXZhbHVlLWV4cGVjdGVkLnR4dAorKysgL2Rldi9udWxsCkBAIC0x
LDExICswLDAgQEAKLUNoYW5nZSBtdWx0aXBsZSBmaWVsZHMgZGF0ZSBpbnB1dCBVSSBsYXlvdXQg
YnkgdmFsdWUKLQotT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBt
ZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgotCi0KLVBBU1Mgd2lkdGhPZkVt
cHR5VmFsdWUgPCB3aWR0aE9mT3ZlcmZsb3dWYWx1ZSBpcyB0cnVlCi1QQVNTIHdpZHRoT2ZFbXB0
eVZhbHVlIGlzIHdpZHRoT2ZWYWxpZFZhbHVlCi1QQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0
cnVlCi0KLVRFU1QgQ09NUExFVEUKLQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jt
cy9kYXRlLW11bHRpcGxlLWZpZWxkcy9kYXRlLW11bHRpcGxlLWZpZWxkcy1jaGFuZ2UtbGF5b3V0
LWJ5LXZhbHVlLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2RhdGUtbXVsdGlwbGUtZmll
bGRzL2RhdGUtbXVsdGlwbGUtZmllbGRzLWNoYW5nZS1sYXlvdXQtYnktdmFsdWUuaHRtbApkZWxl
dGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYThlY2U1NjA3ODM0MzI1NGZlNjc4OGUwMTAyMTUw
NTE4ZjRhNTE4Zi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0g
YS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2RhdGUtbXVsdGlwbGUtZmllbGRzL2RhdGUtbXVsdGlw
bGUtZmllbGRzLWNoYW5nZS1sYXlvdXQtYnktdmFsdWUuaHRtbAorKysgL2Rldi9udWxsCkBAIC0x
LDI1ICswLDAgQEAKLTwhRE9DVFlQRSBodG1sPgotPGh0bWw+Ci08Ym9keT4KLTxzY3JpcHQgc3Jj
PSIuLi8uLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgotPHNjcmlwdD4K
LWRlc2NyaXB0aW9uKCdDaGFuZ2UgbXVsdGlwbGUgZmllbGRzIGRhdGUgaW5wdXQgVUkgbGF5b3V0
IGJ5IHZhbHVlJyk7Ci12YXIgdGVzdElucHV0ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnaW5w
dXQnKTsKLXRlc3RJbnB1dC50eXBlID0gJ2RhdGUnOwotdGVzdElucHV0Lm1heCA9ICc5OTk5LTEy
LTMxJzsKLWRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQodGVzdElucHV0KTsKLXZhciB3aWR0aE9m
RW1wdHlWYWx1ZSA9IHRlc3RJbnB1dC5vZmZzZXRXaWR0aDsKLQotdGVzdElucHV0LnZhbHVlID0g
JzEwMDAwLTAxLTAxJzsKLXZhciB3aWR0aE9mT3ZlcmZsb3dWYWx1ZSA9IHRlc3RJbnB1dC5vZmZz
ZXRXaWR0aDsKLXNob3VsZEJlVHJ1ZSgnd2lkdGhPZkVtcHR5VmFsdWUgPCB3aWR0aE9mT3ZlcmZs
b3dWYWx1ZScpOwotCi10ZXN0SW5wdXQudmFsdWUgPSAnMjAxMi0xMC0wNSc7Ci12YXIgd2lkdGhP
ZlZhbGlkVmFsdWUgPSB0ZXN0SW5wdXQub2Zmc2V0V2lkdGg7Ci1zaG91bGRCZSgnd2lkdGhPZkVt
cHR5VmFsdWUnLCAnd2lkdGhPZlZhbGlkVmFsdWUnKTsKLQotZG9jdW1lbnQuYm9keS5yZW1vdmVD
aGlsZCh0ZXN0SW5wdXQpOwotPC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vanMvcmVzb3Vy
Y2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Ci08L2JvZHk+Ci08L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2RhdGUtbXVsdGlwbGUtZmllbGRzL2RhdGUtbXVs
dGlwbGUtZmllbGRzLWNsZWFyYnV0dG9uLWNoYW5nZS1hbmQtaW5wdXQtZXZlbnRzLWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvZGF0ZS1tdWx0aXBsZS1maWVsZHMvZGF0ZS1t
dWx0aXBsZS1maWVsZHMtY2xlYXJidXR0b24tY2hhbmdlLWFuZC1pbnB1dC1ldmVudHMtZXhwZWN0
ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBjMmE5M2U2YTIxMmQxMWJjYzI4
ZTM3NDY4OWU3ZWMyMDc1ZWJlNjU1Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvZGF0ZS1tdWx0aXBsZS1maWVsZHMv
ZGF0ZS1tdWx0aXBsZS1maWVsZHMtY2xlYXJidXR0b24tY2hhbmdlLWFuZC1pbnB1dC1ldmVudHMt
ZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEsMTkgKzAsMCBAQAotVGVzdCBmb3IgZXZl
bnQgZGlzcGF0Y2hpbmcgYnkgc3BpbiBidXR0b25zIGluIGEgdHlwZT1kYXRlIGlucHV0LgotCi1P
biBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xs
b3dlZCBieSAiVEVTVCBDT01QTEVURSIuCi0KLQotSW5pdGlhbCBzdGF0ZQotUEFTUyBjaGFuZ2VF
dmVudENvdW50ZXIgaXMgMAotUEFTUyBpbnB1dEV2ZW50Q291bnRlciBpcyAwCi1DbGljayB0aGUg
Y2xlYXIgYnV0dG9uCi1QQVNTIHRlc3RJbnB1dC52YWx1ZSBpcyAiIgotUEFTUyBjaGFuZ2VFdmVu
dENvdW50ZXIgaXMgMQotUEFTUyBpbnB1dEV2ZW50Q291bnRlciBpcyAxCi1Gb2N1cyBvbiBhbm90
aGVyIGZpZWxkCi1QQVNTIGNoYW5nZUV2ZW50Q291bnRlciBpcyAxCi1QQVNTIGlucHV0RXZlbnRD
b3VudGVyIGlzIDEKLVBBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKLQotVEVTVCBDT01Q
TEVURQotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2RhdGUtbXVsdGlwbGUt
ZmllbGRzL2RhdGUtbXVsdGlwbGUtZmllbGRzLWNsZWFyYnV0dG9uLWNoYW5nZS1hbmQtaW5wdXQt
ZXZlbnRzLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2RhdGUtbXVsdGlwbGUtZmllbGRz
L2RhdGUtbXVsdGlwbGUtZmllbGRzLWNsZWFyYnV0dG9uLWNoYW5nZS1hbmQtaW5wdXQtZXZlbnRz
Lmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDBiMzY4ZTVhYmE4YjFhNDJkNjQ5
YTBhYjIwMmQ0OTkxYjg4Mzk1NWYuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9kYXRlLW11bHRpcGxlLWZpZWxkcy9k
YXRlLW11bHRpcGxlLWZpZWxkcy1jbGVhcmJ1dHRvbi1jaGFuZ2UtYW5kLWlucHV0LWV2ZW50cy5o
dG1sCisrKyAvZGV2L251bGwKQEAgLTEsMTQgKzAsMCBAQAotPCFET0NUWVBFIGh0bWw+Ci08aHRt
bD4KLTxoZWFkPgotPHNjcmlwdCBzcmM9Ii4uLy4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRl
c3QtcHJlLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvY29tbW9uLmpz
Ij48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvY29tbW9uLWNsZWFyYnV0dG9u
LWNoYW5nZS1hbmQtaW5wdXQtZXZlbnRzLmpzIj48L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5Pgot
PHNjcmlwdD4KLXRlc3RDbGVhckJ1dHRvbkNoYW5nZUFuZElucHV0RXZlbnRzKCdkYXRlJywgJzIw
MTItMTAtMDEnKTsKLTwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii4uLy4uLy4uL2Zhc3QvanMvcmVz
b3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Ci08L2JvZHk+Ci08L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2RhdGUtbXVsdGlwbGUtZmllbGRzL2RhdGUt
bXVsdGlwbGUtZmllbGRzLWNsZWFyYnV0dG9uLXZpc2liaWxpdHktYWZ0ZXItcmVzdG9yZS1leHBl
Y3RlZC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9kYXRlLW11bHRpcGxlLWZpZWxkcy9k
YXRlLW11bHRpcGxlLWZpZWxkcy1jbGVhcmJ1dHRvbi12aXNpYmlsaXR5LWFmdGVyLXJlc3RvcmUt
ZXhwZWN0ZWQuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMmI3ZWQzNTNjN2Nj
MjIyM2I3YzA1NTliZmU1NzRhMTZkODBmODJkOC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2RhdGUtbXVsdGlwbGUt
ZmllbGRzL2RhdGUtbXVsdGlwbGUtZmllbGRzLWNsZWFyYnV0dG9uLXZpc2liaWxpdHktYWZ0ZXIt
cmVzdG9yZS1leHBlY3RlZC5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsMTAgKzAsMCBAQAotPCFE
T0NUWVBFIGh0bWw+Ci08aHRtbD4KLTxib2R5PgotPGlucHV0IGlkPSJlbXB0eU9uRmlyc3RWaXNp
dCIgdmFsdWU9InZpc2l0ZWQiPgotPGZvcm0gYWN0aW9uPSJkYXRhOnRleHQvaHRtbCwmbHQ7c2Ny
aXB0Pmhpc3RvcnkuYmFjaygpJmx0Oy9zY3JpcHQ+IiBpZD1mb3JtMT4KLSAgICA8aW5wdXQgdHlw
ZT1kYXRlIGlkPWlucHV0MT4KLSAgICA8aW5wdXQgdHlwZT1kYXRlIGlkPWlucHV0MiB2YWx1ZT0i
MjAwMS0wMi0wMyI+Ci0gICAgPGlucHV0IHR5cGU9ZGF0ZSBpZD1pbnB1dDMgdmFsdWU9IjIwMDIt
MDMtMDQiPgotPC9mb3JtPgotPC9ib2R5PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9m
b3Jtcy9kYXRlLW11bHRpcGxlLWZpZWxkcy9kYXRlLW11bHRpcGxlLWZpZWxkcy1jbGVhcmJ1dHRv
bi12aXNpYmlsaXR5LWFmdGVyLXJlc3RvcmUuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMv
ZGF0ZS1tdWx0aXBsZS1maWVsZHMvZGF0ZS1tdWx0aXBsZS1maWVsZHMtY2xlYXJidXR0b24tdmlz
aWJpbGl0eS1hZnRlci1yZXN0b3JlLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDQwNmQ0YzY0N2ZiYjM3ZThmYmFiZTZhODIyMzg3MDgzZmEwOTE0YjYuLjAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9k
YXRlLW11bHRpcGxlLWZpZWxkcy9kYXRlLW11bHRpcGxlLWZpZWxkcy1jbGVhcmJ1dHRvbi12aXNp
YmlsaXR5LWFmdGVyLXJlc3RvcmUuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDMyICswLDAgQEAK
LTwhRE9DVFlQRSBodG1sPgotPGh0bWw+Ci08Ym9keT4KLTxpbnB1dCBpZD0iZW1wdHlPbkZpcnN0
VmlzaXQiPgotPGZvcm0gYWN0aW9uPSJkYXRhOnRleHQvaHRtbCwmbHQ7c2NyaXB0Pmhpc3Rvcnku
YmFjaygpJmx0Oy9zY3JpcHQ+IiBpZD1mb3JtMT4KLSAgICA8aW5wdXQgdHlwZT1kYXRlIGlkPWlu
cHV0MT4KLSAgICA8aW5wdXQgdHlwZT1kYXRlIGlkPWlucHV0Mj4KLSAgICA8aW5wdXQgdHlwZT1k
YXRlIGlkPWlucHV0MyB2YWx1ZT0iMjAxMi0wMS0wMyI+Ci08L2Zvcm0+Ci0KLTxzY3JpcHQ+Ci0v
LyBSZXN0b3JpbmcgdGhlIGZvcm0gc2hvdWxkIHVwZGF0ZSB0aGUgY2xlYXIgYnV0dG9uIHZpc2li
aWxpdHkuCi10ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTsKLWZ1bmN0aW9uIHJ1blRlc3QoKQot
ewotICAgIHZhciBzdGF0ZSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdlbXB0eU9uRmlyc3RW
aXNpdCcpOwotICAgIGlmICghc3RhdGUudmFsdWUpIHsKLSAgICAgICAgLy8gRmlyc3QgdmlzaXQu
Ci0gICAgICAgIHNldFRpbWVvdXQoZnVuY3Rpb24oKSB7Ci0gICAgICAgICAgICBzdGF0ZS52YWx1
ZSA9ICd2aXNpdGVkJzsKLSAgICAgICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdpbnB1
dDInKS52YWx1ZSA9ICIyMDAxLTAyLTAzIjsKLSAgICAgICAgICAgIGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCdpbnB1dDMnKS52YWx1ZSA9ICIyMDAyLTAzLTA0IjsKLSAgICAgICAgICAgIGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCdmb3JtMScpLnN1Ym1pdCgpOwotICAgICAgICB9LCAwKTsKLSAg
ICB9IGVsc2UgewotICAgICAgICB0ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsKLSAgICB9Ci19Ci0K
LXdpbmRvdy5vbmxvYWQgPSBydW5UZXN0OwotPC9zY3JpcHQ+Ci08L2JvZHk+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2RhdGUtbXVsdGlwbGUtZmllbGRzL2RhdGUtbXVsdGlw
bGUtZmllbGRzLWZhbGxiYWNrLWZvcm1hdC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0
L2Zvcm1zL2RhdGUtbXVsdGlwbGUtZmllbGRzL2RhdGUtbXVsdGlwbGUtZmllbGRzLWZhbGxiYWNr
LWZvcm1hdC1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDU2NjMx
ZjE3MzlkNjE1MGExYmJmMzkwZDM3MGNlNjljY2JmODc2MmIuLjAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9kYXRlLW11
bHRpcGxlLWZpZWxkcy9kYXRlLW11bHRpcGxlLWZpZWxkcy1mYWxsYmFjay1mb3JtYXQtZXhwZWN0
ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEsMTUgKzAsMCBAQAotQ2hlY2tzIGluY29tcGxldGUg
ZGF0ZXRpbWUgZm9ybWF0cyBhcmUgcmVqZWN0ZWQuCi0KLU9uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNl
ZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRF
Ii4KLQotCi1WYWxpZCBmb3JtYXQKLVBBU1MgZ2V0VXNlckFnZW50U2hhZG93VGV4dENvbnRlbnQo
aW5wdXQpIGlzICIzMS0wNy0xOTk5IgotSW52YWxpZCBmb3JtYXQsIGZhbGxiYWNrIHRvIHl5eXkt
TU0tZGQKLVBBU1MgZ2V0VXNlckFnZW50U2hhZG93VGV4dENvbnRlbnQoaW5wdXQpIGlzICIxOTk5
LTA3LTMxIgotUEFTUyBnZXRVc2VyQWdlbnRTaGFkb3dUZXh0Q29udGVudChpbnB1dCkgaXMgIjE5
OTktMDctMzEiCi1QQVNTIGdldFVzZXJBZ2VudFNoYWRvd1RleHRDb250ZW50KGlucHV0KSBpcyAi
MTk5OS0wNy0zMSIKLVBBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKLQotVEVTVCBDT01Q
TEVURQotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2RhdGUtbXVsdGlwbGUt
ZmllbGRzL2RhdGUtbXVsdGlwbGUtZmllbGRzLWZhbGxiYWNrLWZvcm1hdC5odG1sIGIvTGF5b3V0
VGVzdHMvZmFzdC9mb3Jtcy9kYXRlLW11bHRpcGxlLWZpZWxkcy9kYXRlLW11bHRpcGxlLWZpZWxk
cy1mYWxsYmFjay1mb3JtYXQuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggY2Q5
YjI2MDQ2OWUwOTk3Njc3NmNlMjA1N2U5MzlkOTc2NmRkZWY3Ni4uMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2RhdGUt
bXVsdGlwbGUtZmllbGRzL2RhdGUtbXVsdGlwbGUtZmllbGRzLWZhbGxiYWNrLWZvcm1hdC5odG1s
CisrKyAvZGV2L251bGwKQEAgLTEsMzkgKzAsMCBAQAotPCFET0NUWVBFIGh0bWw+Ci08aHRtbD4K
LTxoZWFkPgotPHNjcmlwdCBzcmM9Ii4uLy4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+
PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL2NvbW1vbi5qcyI+PC9zY3JpcHQ+
Ci08L2hlYWQ+Ci08Ym9keT4KLTxzY3JpcHQ+Ci1kZXNjcmlwdGlvbignQ2hlY2tzIGluY29tcGxl
dGUgZGF0ZXRpbWUgZm9ybWF0cyBhcmUgcmVqZWN0ZWQuJyk7Ci0KLXZhciBpbnB1dCA9IGRvY3Vt
ZW50LmNyZWF0ZUVsZW1lbnQoJ2lucHV0Jyk7Ci1pbnB1dC50eXBlID0gJ2RhdGUnOwotZG9jdW1l
bnQuYm9keS5hcHBlbmRDaGlsZChpbnB1dCk7Ci0KLWZ1bmN0aW9uIHNldERhdGVUaW1lRm9ybWF0
KHBhdHRlcm4pIHsKLSAgICB2YXIgdmFsdWUgPSBpbnB1dC52YWx1ZTsKLSAgICBnZXRFbGVtZW50
QnlQc2V1ZG9JZChpbnRlcm5hbHMueW91bmdlc3RTaGFkb3dSb290KGlucHV0KSwgJy13ZWJraXQt
ZGF0ZXRpbWUtZWRpdCcpLnNldEF0dHJpYnV0ZSgncGF0dGVybicsIHBhdHRlcm4pOwotICAgIGlu
cHV0LnZhbHVlID0gJyc7IC8vIFVwZGF0ZXMgdGhlIGVsZW1lbnQgZm9yIG5ldyBmb3JtYXQKLSAg
ICBpbnB1dC52YWx1ZSA9IHZhbHVlOwotfQotCi1pbnB1dC52YWx1ZSA9ICcxOTk5LTA3LTMxJzsK
LQotZGVidWcoJ1ZhbGlkIGZvcm1hdCcpOwotc2V0RGF0ZVRpbWVGb3JtYXQoImRkLU1NLXl5eXki
KTsKLXNob3VsZEJlRXF1YWxUb1N0cmluZygnZ2V0VXNlckFnZW50U2hhZG93VGV4dENvbnRlbnQo
aW5wdXQpJywgJzMxLTA3LTE5OTknKTsKLQotZGVidWcoIkludmFsaWQgZm9ybWF0LCBmYWxsYmFj
ayB0byB5eXl5LU1NLWRkIik7Ci1zZXREYXRlVGltZUZvcm1hdCgneXl5eS1NTScpOwotc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCdnZXRVc2VyQWdlbnRTaGFkb3dUZXh0Q29udGVudChpbnB1dCknLCAn
MTk5OS0wNy0zMScpOwotc2V0RGF0ZVRpbWVGb3JtYXQoJ01NL2RkJyk7Ci1zaG91bGRCZUVxdWFs
VG9TdHJpbmcoJ2dldFVzZXJBZ2VudFNoYWRvd1RleHRDb250ZW50KGlucHV0KScsICcxOTk5LTA3
LTMxJyk7Ci1zZXREYXRlVGltZUZvcm1hdCgnZGQteXl5eScpOwotc2hvdWxkQmVFcXVhbFRvU3Ry
aW5nKCdnZXRVc2VyQWdlbnRTaGFkb3dUZXh0Q29udGVudChpbnB1dCknLCAnMTk5OS0wNy0zMScp
OwotCi08L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIuLi8uLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1w
b3N0LmpzIj48L3NjcmlwdD4KLTwvYm9keT4KLTwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2Zhc3QvZm9ybXMvZGF0ZS1tdWx0aXBsZS1maWVsZHMvZGF0ZS1tdWx0aXBsZS1maWVsZHMt
Zm9jdXMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9kYXRlLW11bHRpcGxl
LWZpZWxkcy9kYXRlLW11bHRpcGxlLWZpZWxkcy1mb2N1cy1leHBlY3RlZC50eHQKZGVsZXRlZCBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IGQ5Mzc4OTllMTA5MzE1OTZmNDI5ZDZkM2NmYmMxNGU5NTZi
NGM5NmUuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5
b3V0VGVzdHMvZmFzdC9mb3Jtcy9kYXRlLW11bHRpcGxlLWZpZWxkcy9kYXRlLW11bHRpcGxlLWZp
ZWxkcy1mb2N1cy1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSwxMSArMCwwIEBACi1D
aGVjayBpZiBlbGVtZW50LmZvY3VzKCkgZG9lcyBub3QgZm9jdXMgb24gZGlzYWJsZWQgc3ViLWZp
ZWxkcy4KLQotT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNz
YWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgotCi0KLVBBU1MgaW50ZXJuYWxzLnlv
dW5nZXN0U2hhZG93Um9vdChkYXRlSW5wdXQpLmFjdGl2ZUVsZW1lbnQuZ2V0QXR0cmlidXRlKCJw
c2V1ZG8iKSBpcyAiLXdlYmtpdC1kYXRldGltZS1lZGl0LW1vbnRoLWZpZWxkIgotUEFTUyBpbnRl
cm5hbHMueW91bmdlc3RTaGFkb3dSb290KGRhdGVJbnB1dCkuYWN0aXZlRWxlbWVudC5nZXRBdHRy
aWJ1dGUoInBzZXVkbyIpIGlzICItd2Via2l0LWRhdGV0aW1lLWVkaXQtbW9udGgtZmllbGQiCi1Q
QVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCi0KLVRFU1QgQ09NUExFVEUKLQpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9kYXRlLW11bHRpcGxlLWZpZWxkcy9kYXRlLW11
bHRpcGxlLWZpZWxkcy1mb2N1cy5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9kYXRlLW11
bHRpcGxlLWZpZWxkcy9kYXRlLW11bHRpcGxlLWZpZWxkcy1mb2N1cy5odG1sCmRlbGV0ZWQgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAzM2M5ZTAwNmVlZjczMTc0MGE1ZDFjYzQ3MDc3Y2EwYmQ2YzYx
ZmQyLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91
dFRlc3RzL2Zhc3QvZm9ybXMvZGF0ZS1tdWx0aXBsZS1maWVsZHMvZGF0ZS1tdWx0aXBsZS1maWVs
ZHMtZm9jdXMuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDMwICswLDAgQEAKLTwhRE9DVFlQRSBo
dG1sPgotPGJvZHk+Ci08c2NyaXB0IHNyYz0iLi4vLi4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJl
LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQ+Ci1kZXNjcmlwdGlvbignQ2hlY2sgaWYgZWxlbWVudC5m
b2N1cygpIGRvZXMgbm90IGZvY3VzIG9uIGRpc2FibGVkIHN1Yi1maWVsZHMuJyk7Ci1pZiAod2lu
ZG93LmludGVybmFscykKLSAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0TGFuZ0F0dHJpYnV0ZUF3
YXJlRm9ybUNvbnRyb2xVSUVuYWJsZWQodHJ1ZSk7Ci1lbHNlCi0gICAgZGVidWcoJ1RoaXMgdGVz
dCByZXF1aXJlcyBEUlQvV1JULicpOwotCi12YXIgZGF0ZUlucHV0ID0gZG9jdW1lbnQuY3JlYXRl
RWxlbWVudCgnaW5wdXQnKTsKLWRhdGVJbnB1dC5sYW5nID0gJ2phLWpwJzsKLWRhdGVJbnB1dC50
eXBlID0gJ2RhdGUnOwotZGF0ZUlucHV0Lm1pbiA9ICcyMDEzLTAyLTAxJzsKLWRhdGVJbnB1dC5t
YXggPSAnMjAxMy0wMy0zMCc7Ci1kb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGRhdGVJbnB1dCk7
Ci0vLyBBc3N1bWUgdGhlIGRhdGUgZm9ybWF0IGlzICJ5eXl5L01NL2RkIgotCi1kYXRlSW5wdXQu
Zm9jdXMoKTsKLS8vIEJlY2F1c2UgdGhlIHllYXIgZmllbGQgaXMgZml4ZWQsIHRoZSBmaXJzdCBm
b2N1c2FibGUgZWxlbWVudCBpcyB0aGUKLS8vIG1vbnRoIGZpZWxkLgotc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCdpbnRlcm5hbHMueW91bmdlc3RTaGFkb3dSb290KGRhdGVJbnB1dCkuYWN0aXZlRWxl
bWVudC5nZXRBdHRyaWJ1dGUoInBzZXVkbyIpJywgJy13ZWJraXQtZGF0ZXRpbWUtZWRpdC1tb250
aC1maWVsZCcpOwotZGF0ZUlucHV0LmJsdXIoKTsKLWRhdGVJbnB1dC5mb2N1cygpOwotc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCdpbnRlcm5hbHMueW91bmdlc3RTaGFkb3dSb290KGRhdGVJbnB1dCku
YWN0aXZlRWxlbWVudC5nZXRBdHRyaWJ1dGUoInBzZXVkbyIpJywgJy13ZWJraXQtZGF0ZXRpbWUt
ZWRpdC1tb250aC1maWVsZCcpOwotCi1kYXRlSW5wdXQucmVtb3ZlKCk7Ci08L3NjcmlwdD4KLTxz
Y3JpcHQgc3JjPSIuLi8uLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4K
LTwvYm9keT4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvZGF0ZS1tdWx0aXBs
ZS1maWVsZHMvZGF0ZS1tdWx0aXBsZS1maWVsZHMta2V5Ym9hcmQtZXZlbnRzLWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvZGF0ZS1tdWx0aXBsZS1maWVsZHMvZGF0ZS1tdWx0
aXBsZS1maWVsZHMta2V5Ym9hcmQtZXZlbnRzLWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggZDRkMzhmZTQ0ZWQwMGZlMGJlNTI2ZGRmZDI0ODkzZGY0ZmMxNmMzMi4u
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0
cy9mYXN0L2Zvcm1zL2RhdGUtbXVsdGlwbGUtZmllbGRzL2RhdGUtbXVsdGlwbGUtZmllbGRzLWtl
eWJvYXJkLWV2ZW50cy1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSw3MSArMCwwIEBA
Ci1NdWx0aXBsZSBmaWVsZHMgVUkgb2YgbW9udGggaW5wdXQgdHlwZSB3aXRoIGtleWJvYXJkIGV2
ZW50cwotCi1PbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3Nh
Z2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCi0KLQotUGxlYXNlIHJ1biB0aGlzIHdp
dGggRHVtcFJlbmRlclRyZWUuCi0KLVRlc3QgZm9sbG93aW5nIGtleXM6Ci1EaWdpdHMKLUxlZnQv
UmlnaHQgLSBNb3ZlIGZvY3VzIGZpZWxkIGluc2lkZSBlbGVtZW50Ci1VcC9Eb3duIC0gSW5jcmVt
ZW50L2RlY3JlbWVudCB2YWx1ZSBvZiBmb2N1cyBmaWVsZAotVGFiIC0gTW92ZSBmb2N1cyBmaWVs
ZAotQmFja3NwYWNlIC0gTWFrZSB2YWx1ZSBlbXB0eQotICAKLT09IERpZ2l0IGtleXMgPT0KLVBB
U1MgaW5wdXQudmFsdWUgaXMgIjAwMTItMDktMjAiCi09PSBEaWdpdCBrZXlzIHN0YXJ0aW5nIHdp
dGggemVybyA9PQotUEFTUyBpbnB1dC52YWx1ZSBpcyAiMDA0NC0wMi0wMyIKLT09IERpZ2l0IGtl
eXMgYW5kIGJhY2tzcGFjZSBrZXkgPT0KLVBBU1MgaW5wdXQudmFsdWUgaXMgIjAwMDgtMDUtMDYi
Ci09PSBMZWZ0L1JpZ2h0IGtleXMgPT0KLVBBU1MgaW5wdXQudmFsdWUgaXMgIjIwMTItMDktMDYi
Ci1QQVNTIGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQuaWQgaXMgImlucHV0IgotPT0gVXAvRG93biBr
ZXlzID09Ci1QQVNTIGlucHV0LnZhbHVlIGlzICIyMDEyLTEwLTI5IgotUEFTUyBpbnB1dC52YWx1
ZSBpcyAiMjAxMi0wOC0yOSIKLT09IFVwL0Rvd24ga2V5cyBvbiBlbXB0eSB2YWx1ZSA9PQotUEFT
UyBpbnB1dC52YWx1ZSBpcyBjdXJyZW50WWVhciArICItMTEtMDEiCi09PSBVcC9Eb3duIGtleXMg
b24gZW1wdHkgdmFsdWUgMiA9PQotUEFTUyBpbnB1dC52YWx1ZSBpcyBjdXJyZW50WWVhciArICIt
MDItMjgiCi09PSBUYWIga2V5ID09Ci1QQVNTIGlucHV0LnZhbHVlIGlzICIyMDEyLTA5LTA1Igot
UEFTUyBpbnB1dC52YWx1ZSBpcyAiMjAxMi0wOS0wNyIKLVBBU1MgZG9jdW1lbnQuYWN0aXZlRWxl
bWVudC5pZCBpcyAiYWZ0ZXIiCi09PSBTaGZpdCtUYWIga2V5ID09Ci1QQVNTIGlucHV0LnZhbHVl
IGlzICIwMDAzLTA5LTMwIgotUEFTUyBkb2N1bWVudC5hY3RpdmVFbGVtZW50LmlkIGlzICJiZWZv
cmUiCi09PSBVcCBrZXkgb24gbWF4aW11bSB2YWx1ZSA9PQotUEFTUyBpbnB1dC52YWx1ZSBpcyAi
MDAwMS0xMC0xNCIKLT09IFVwIGtleSB3aXRoIGEgbWF4aW11bSBhdHRyaWJ1dGUgPT0KLVBBU1Mg
aW5wdXQudmFsdWUgaXMgIjEwMDAtMDEtMDEiCi09PSBEb3duIGtleSBvbiBtaW5pbXVtIHZhbHVl
ID09Ci1QQVNTIGlucHV0LnZhbHVlIGlzICIiCi09PSBEb3duIGtleSB3aXRoIGEgbWluaW11bSBh
dHRyaWJ1dGUgPT0KLVBBU1MgaW5wdXQudmFsdWUgaXMgIiIKLT09IEluY29uc2lzdGVudCBtaW4t
bWF4IGF0dHJpYnV0ZXMgPT0KLVBBU1MgaW5wdXQudmFsdWUgaXMgIjEwMDAtMTItMzEiCi1QQVNT
IGlucHV0LnZhbHVlIGlzICIxOTk5LTEyLTMxIgotPT0gTWFrZSBhbiBpbnZhbGlkIGRhdGUgPT0K
LVBBU1MgaW5wdXQudmFsdWUgaXMgIiIKLT09IEJhY2tzcGFjZSBrZXkgPT0KLVBBU1MgaW5wdXQu
dmFsdWUgaXMgIiIKLT09IERlbGV0ZSBrZXkgPT0KLVBBU1MgaW5wdXQudmFsdWUgaXMgIiIKLT09
IFR5cGVhaGVhZCA9PQotUEFTUyBpbnB1dC52YWx1ZSBpcyAiMjAxMi0xMi0wMSIKLVBBU1MgaW5w
dXQudmFsdWUgaXMgIjIwMTItMTItMDIiCi09PSBSVEwgZm9jdXMgbmF2aWdhdGlvbiA9PQotVGhl
IHRlc3RzIGluIHRoaXMgYmxvY2sgZmFpbCBvbiBwbGF0Zm9ybXMgd2l0aG91dCB0aGUgbGFuZy1h
dHRyaWJ1dGUtYXdhcmUtZm9ybS1jb250cm9sLVVJIGZlYXR1cmUuCi1QQVNTIGlucHV0LnZhbHVl
IGlzICIyMDEyLTA5LTAxIgotUEFTUyBpbnB1dC52YWx1ZSBpcyAiMjAxMi0wMi0wMSIKLVBBU1Mg
aW5wdXQudmFsdWUgaXMgIjIwMTItMDMtMDEiCi09PSBEaXNhYmxlZC9yZWFkb25seSA9PQotUEFT
UyBpbnB1dC52YWx1ZSBpcyAiMjAxMi0xMC0wOCIKLVBBU1MgaW5wdXQudmFsdWUgaXMgIjIwMTIt
MTEtMDgiCi1QQVNTIGlucHV0LnZhbHVlIGlzICIyMDEyLTExLTA4IgotUEFTUyBpbnB1dC52YWx1
ZSBpcyAiMjAxMi0xMi0wOCIKLVBBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKLQotVEVT
VCBDT01QTEVURQotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2RhdGUtbXVs
dGlwbGUtZmllbGRzL2RhdGUtbXVsdGlwbGUtZmllbGRzLWtleWJvYXJkLWV2ZW50cy5odG1sIGIv
TGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9kYXRlLW11bHRpcGxlLWZpZWxkcy9kYXRlLW11bHRpcGxl
LWZpZWxkcy1rZXlib2FyZC1ldmVudHMuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMjljZWI1MjJkYzNkNjJkMzJlN2MyN2FiYWI1YWFmYzBiYWY3ZTFhZi4uMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1z
L2RhdGUtbXVsdGlwbGUtZmllbGRzL2RhdGUtbXVsdGlwbGUtZmllbGRzLWtleWJvYXJkLWV2ZW50
cy5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsMjUxICswLDAgQEAKLTwhRE9DVFlQRSBodG1sPgot
PGh0bWw+Ci08aGVhZD4KLTxzY3JpcHQgc3JjPSIuLi8uLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1w
cmUuanMiPjwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHk+Ci08cCBpZD0iZGVzY3JpcHRpb24iPjwv
cD4KLTxwPgotUGxlYXNlIHJ1biB0aGlzIHdpdGggRHVtcFJlbmRlclRyZWUuCi08L3A+Ci1UZXN0
IGZvbGxvd2luZyBrZXlzOgotPHVsPgotICAgIDxsaT5EaWdpdHM8L2xpPgotICAgIDxsaT5MZWZ0
L1JpZ2h0IC0gTW92ZSBmb2N1cyBmaWVsZCBpbnNpZGUgZWxlbWVudDwvbGk+Ci0gICAgPGxpPlVw
L0Rvd24gLSBJbmNyZW1lbnQvZGVjcmVtZW50IHZhbHVlIG9mIGZvY3VzIGZpZWxkPC9saT4KLSAg
ICA8bGk+VGFiIC0gTW92ZSBmb2N1cyBmaWVsZDwvbGk+Ci0gICAgPGxpPkJhY2tzcGFjZSAtIE1h
a2UgdmFsdWUgZW1wdHk8L2xpPgotPC91bD4KLTxpbnB1dCBpZD0iYmVmb3JlIj4KLTxpbnB1dCBp
ZD0iaW5wdXQiIHR5cGU9ImRhdGUiPgotPGlucHV0IGlkPSJhZnRlciI+Ci08ZGl2IGlkPSJjb25z
b2xlIj48L2Rpdj4KLTxzY3JpcHQ+Ci1kZXNjcmlwdGlvbignTXVsdGlwbGUgZmllbGRzIFVJIG9m
IG1vbnRoIGlucHV0IHR5cGUgd2l0aCBrZXlib2FyZCBldmVudHMnKTsKLWlmICh3aW5kb3cuaW50
ZXJuYWxzKQotICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRMYW5nQXR0cmlidXRlQXdhcmVGb3Jt
Q29udHJvbFVJRW5hYmxlZCh0cnVlKTsKLXZhciBpbnB1dCA9IGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCdpbnB1dCcpOwotCi1mdW5jdGlvbiBrZXlEb3duKGtleSwgbW9kaWZpZXJzKQotewotICAg
IGlmICghd2luZG93LmV2ZW50U2VuZGVyKQotICAgICAgICByZXR1cm47Ci0gICAgZXZlbnRTZW5k
ZXIua2V5RG93bihrZXksIG1vZGlmaWVycyk7Ci19Ci0KLWZ1bmN0aW9uIGJlZ2luVGVzdCh0aXRs
ZSwgb3B0X3ZhbHVlLCBvcHRfbWluLCBvcHRfbWF4KQotewotICAgIGRlYnVnKCc9PSAnICsgdGl0
bGUgKyAnID09Jyk7Ci0gICAgaW5wdXQudmFsdWUgPSBvcHRfdmFsdWUgfHwgJyc7Ci0gICAgaW5w
dXQubWluID0gb3B0X21pbiA/IG9wdF9taW4gOiAnJzsKLSAgICBpbnB1dC5tYXggPSBvcHRfbWF4
ID8gb3B0X21heCA6ICcnOwotICAgIGlucHV0LmJsdXIoKTsKLSAgICBpbnB1dC5mb2N1cygpOwot
fQotCi0vLyBXZSBhc3N1bWUgdGhlIGRhdGUgZm9ybWF0IGlzIE1NL2RkL3l5eXkuCi0KLWJlZ2lu
VGVzdCgnRGlnaXQga2V5cycpOwota2V5RG93bignOScpOyAvLyAtPiAwOS9bZGRdL3l5eXkKLWtl
eURvd24oJzInKTsgLy8gLT4gMDkvWzAyXS95eXl5Ci1rZXlEb3duKCcwJyk7IC8vIC0+IDA5LzIw
L1t5eXl5XQota2V5RG93bignMScpOyAvLyAtPiAwOS8yMC9bMDAwMV0KLWtleURvd24oJzInKTsg
Ly8gLT4gMDkvMjAvWzAwMTJdCi1rZXlEb3duKCdBJyk7IC8vIElnbm9yZWQuCi1zaG91bGRCZUVx
dWFsVG9TdHJpbmcoJ2lucHV0LnZhbHVlJywgJzAwMTItMDktMjAnKTsKLQotYmVnaW5UZXN0KCdE
aWdpdCBrZXlzIHN0YXJ0aW5nIHdpdGggemVybycpOwota2V5RG93bignMCcpOyAvLyAtPiBbMDBd
L2RkL3l5eXkKLWtleURvd24oJzInKTsgLy8gLT4gMDIvW2RkXS95eXl5Ci1rZXlEb3duKCcwJyk7
IC8vIC0+IDAyL1swMF0veXl5eQota2V5RG93bignMycpOyAvLyAtPiAwMi8wMy9beXl5eV0KLWtl
eURvd24oJzAnKTsgLy8gLT4gMDIvMDMvWzAwMDBdCi1rZXlEb3duKCcwJyk7IC8vIC0+IDAyLzAz
L1swMDAwXQota2V5RG93bignMCcpOyAvLyAtPiAwMi8wMy9bMDAwMF0KLWtleURvd24oJzQnKTsg
Ly8gLT4gMDIvMDMvWzAwMDRdCi1rZXlEb3duKCc0Jyk7IC8vIC0+IDAyLzAzL1swMDQ0XQotc2hv
dWxkQmVFcXVhbFRvU3RyaW5nKCdpbnB1dC52YWx1ZScsICcwMDQ0LTAyLTAzJyk7Ci0KLWJlZ2lu
VGVzdCgnRGlnaXQga2V5cyBhbmQgYmFja3NwYWNlIGtleScpOwota2V5RG93bignMScpOyAvLyAt
PiBbMDFdL2RkL3l5eXkKLWtleURvd24oIlxiIik7IC8vIC0+IFttbV0vMjAvMjAxMgota2V5RG93
bignNScpOyAvLyAtPiAwNS9bZGRdL3l5eXkKLWtleURvd24oJzYnKTsgLy8gLT4gMDUvMDYvW3l5
eXldCi1rZXlEb3duKCJcYiIpOyAvLyAtPiAwNS8wNi9beXl5eV0KLWtleURvd24oJzcnKTsgLy8g
LT4gMDUvMDYvWzAwMDddCi1rZXlEb3duKCJcYiIpOyAvLyAtPiAwNS8wNi9beXl5eV0KLWtleURv
d24oJzgnKTsgLy8gLT4gMDUvMDYvWzAwMDhdCi1zaG91bGRCZUVxdWFsVG9TdHJpbmcoJ2lucHV0
LnZhbHVlJywgJzAwMDgtMDUtMDYnKTsKLQotLy8gRklYTUU6IFdlIHNob3VsZCB0ZXN0IHR5cGUg
YWhlYWQgdGltZSBvdXQuIFdoZW4gZXZlbnQubGVhcEZvcndhcmQoKSBhZmZlY3RzCi0vLyBrZXli
b2FyZCBldmVudCB0aW1lIHN0YW1wLCB3ZSBjYW4gdW5jb21tZW50IHRoaXMgZnJhZ21lbnQuCi0v
KgotYmVnaW5UZXN0KCdEaWdpdCBrZXlzIHdpdGggdHlwZSBhaGVhZCB0aW1lb3V0Jyk7Ci1rZXlE
b3duKCcxJyk7IC8vIC0+IFswMV0vZGQveXl5eQotbGVhcEZvcndhcmQoMTEwMCk7IC8vIC0+IDAx
L1tkZF0veXl5eQota2V5RG93bignMScpOyAvLyAtPiAwMS9bMDFdL3l5eXkKLWtleURvd24oJzUn
KTsgLy8gLT4gMDEvMTUvW3l5eXldCi1rZXlEb3duKCc2Jyk7IC8vIC0+IDAxLzE1L1swMDA2XQot
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdpbnB1dC52YWx1ZScsICcwMDA2LTAxLTE1Jyk7Ci0qLwot
Ci1iZWdpblRlc3QoJ0xlZnQvUmlnaHQga2V5cycsICcyMDEyLTA5LTI5Jyk7Ci1rZXlEb3duKCdy
aWdodEFycm93Jyk7IC8vIC0+IDA5L1syOV0vMjAxMgota2V5RG93bignNScpOyAvLyAtPiAwOS8w
NS9bMjAxMl0KLWtleURvd24oJ2xlZnRBcnJvdycpOyAvLyAtPiAwOS9bMDVdLzIwMTIKLWtleURv
d24oJzYnKTsgLy8gLT4gMDkvMDYvWzIwMTJdCi1zaG91bGRCZUVxdWFsVG9TdHJpbmcoJ2lucHV0
LnZhbHVlJywgJzIwMTItMDktMDYnKTsKLWtleURvd24oJ2xlZnRBcnJvdycpOyAvLyAtPiAwOS9b
MDZdLzIwMTIKLWtleURvd24oJ2xlZnRBcnJvdycpOyAvLyAtPiBbMDldLzA2LzIwMTIKLWtleURv
d24oJ2xlZnRBcnJvdycpOyAvLyAtPiBbMDldLzA2LzIwMTIKLXNob3VsZEJlRXF1YWxUb1N0cmlu
ZygnZG9jdW1lbnQuYWN0aXZlRWxlbWVudC5pZCcsICdpbnB1dCcpOwotCi1iZWdpblRlc3QoJ1Vw
L0Rvd24ga2V5cycsICcyMDEyLTA5LTI5Jyk7Ci1rZXlEb3duKCd1cEFycm93Jyk7IC8vIC0+IFsx
MF0vMjkvMjAxMgotc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdpbnB1dC52YWx1ZScsICcyMDEyLTEw
LTI5Jyk7Ci1rZXlEb3duKCdkb3duQXJyb3cnKTsgLy8gLT4gWzA5XS8yOS8yMDEyCi1rZXlEb3du
KCdkb3duQXJyb3cnKTsgLy8gLT4gWzA4XS8yOS8yMDEyCi1zaG91bGRCZUVxdWFsVG9TdHJpbmco
J2lucHV0LnZhbHVlJywgJzIwMTItMDgtMjknKTsKLQotYmVnaW5UZXN0KCdVcC9Eb3duIGtleXMg
b24gZW1wdHkgdmFsdWUnKTsKLWtleURvd24oJ2Rvd25BcnJvdycpOyAvLyAgLT4gWzEyXS9kZC95
eXl5Ci1rZXlEb3duKCdkb3duQXJyb3cnKTsgLy8gIC0+IFsxMV0vZGQveXl5eQota2V5RG93bign
cmlnaHRBcnJvdycpOyAvLyAtPiAxMS9bZGRdL3l5eXkKLWtleURvd24oJ3VwQXJyb3cnKTsgLy8g
ICAgLT4gMTEvWzAxXS95eXl5Ci1rZXlEb3duKCd1cEFycm93Jyk7IC8vICAgIC0+IDExL1swMl0v
eXl5eQota2V5RG93bignZG93bkFycm93Jyk7IC8vICAtPiAxMS9bMDFdL3l5eXkKLWtleURvd24o
J3JpZ2h0QXJyb3cnKTsgLy8gLT4gMTEvMDEvW3l5eXldCi12YXIgY3VycmVudFllYXIgPSBuZXcg
RGF0ZSgpLmdldEZ1bGxZZWFyKCk7Ci1rZXlEb3duKCd1cEFycm93Jyk7IC8vIC0+IDExLzAxL1tj
dXJyZW50IHllYXJdCi1zaG91bGRCZSgnaW5wdXQudmFsdWUnLCAnY3VycmVudFllYXIgKyAiLTEx
LTAxIicpOwotCi1iZWdpblRlc3QoJ1VwL0Rvd24ga2V5cyBvbiBlbXB0eSB2YWx1ZSAyJyk7Ci1r
ZXlEb3duKCd1cEFycm93Jyk7IC8vICAgIC0+IFswMV0vZGQveXl5eQota2V5RG93bigndXBBcnJv
dycpOyAvLyAgICAtPiBbMDJdL2RkL3l5eXkKLWtleURvd24oJ3JpZ2h0QXJyb3cnKTsgLy8gLT4g
MDIvW2RkXS95eXl5Ci1rZXlEb3duKCdkb3duQXJyb3cnKTsgLy8gIC0+IDAyL1szMV0veXl5eQot
a2V5RG93bignZG93bkFycm93Jyk7IC8vICAtPiAwMi9bMzBdL3l5eXkKLWtleURvd24oJ2Rvd25B
cnJvdycpOyAvLyAgLT4gMDIvWzI5XS95eXl5Ci1rZXlEb3duKCdkb3duQXJyb3cnKTsgLy8gIC0+
IDAyL1syOF0veXl5eQota2V5RG93bigncmlnaHRBcnJvdycpOyAvLyAtPiAwMi8yOC9beXl5eV0K
LWN1cnJlbnRZZWFyID0gbmV3IERhdGUoKS5nZXRGdWxsWWVhcigpOwota2V5RG93bignZG93bkFy
cm93Jyk7IC8vIC0+IDAyLzI4L1tjdXJyZW50IHllYXJdCi1zaG91bGRCZSgnaW5wdXQudmFsdWUn
LCAnY3VycmVudFllYXIgKyAiLTAyLTI4IicpOwotCi1iZWdpblRlc3QoJ1RhYiBrZXknLCAnMjAx
Mi0wOS0zMCcpOwota2V5RG93bignXHQnKTsgLy8gLT4gMDkvWzMwXS8yMDEyCi1rZXlEb3duKCc1
Jyk7IC8vIC0+IDA5LzA1L1syMDEyXQotc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdpbnB1dC52YWx1
ZScsICcyMDEyLTA5LTA1Jyk7Ci1rZXlEb3duKCdcdCcsIFsnc2hpZnRLZXknXSk7IC8vIC0+IDA5
L1swNV0vMjAxMgota2V5RG93bignNycpOyAvLyAtPiAwOS8wNy9bMjAxMl0KLXNob3VsZEJlRXF1
YWxUb1N0cmluZygnaW5wdXQudmFsdWUnLCAnMjAxMi0wOS0wNycpOwota2V5RG93bignXHQnKTsg
Ly8gLT4gRm9jdXMgb3V0Lgotc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdkb2N1bWVudC5hY3RpdmVF
bGVtZW50LmlkJywgJ2FmdGVyJyk7Ci0KLWJlZ2luVGVzdCgnU2hmaXQrVGFiIGtleScsICcyMDEy
LTA5LTMwJyk7Ci1hZnRlci5mb2N1cygpOwota2V5RG93bignXHQnLCBbJ3NoaWZ0S2V5J10pOyAv
LyAtPiAwOS8zMC9beXl5eV0KLWtleURvd24oJzMnKTsgLy8gLT4gMDkvMzAvWzAwMDNdCi1zaG91
bGRCZUVxdWFsVG9TdHJpbmcoJ2lucHV0LnZhbHVlJywgJzAwMDMtMDktMzAnKTsKLWtleURvd24o
J1x0JywgWydzaGlmdEtleSddKTsgLy8gLT4gMDkvWzMwXS8wMDAzCi1rZXlEb3duKCdcdCcsIFsn
c2hpZnRLZXknXSk7IC8vIC0+IFswOV0vMzAvMDAwMwota2V5RG93bignXHQnLCBbJ3NoaWZ0S2V5
J10pOyAvLyAtPiBGb2N1cyBvdXQuCi1zaG91bGRCZUVxdWFsVG9TdHJpbmcoJ2RvY3VtZW50LmFj
dGl2ZUVsZW1lbnQuaWQnLCAnYmVmb3JlJyk7Ci0KLWJlZ2luVGVzdCgnVXAga2V5IG9uIG1heGlt
dW0gdmFsdWUnLCAnMjc1NzYwLTA5LTEzJyk7Ci1rZXlEb3duKCd1cEFycm93Jyk7IC8vIC0+IFsx
MF0vMTMvMjc1NzYwCi1rZXlEb3duKCdcdCcpOyAvLyAgICAgIC0+IDEwL1sxM10vMjc1NzYwCi1r
ZXlEb3duKCd1cEFycm93Jyk7IC8vIC0+IDEwL1sxNF0vMjc1NzYwCi1rZXlEb3duKCdcdCcpOyAv
LyAgICAgIC0+IDEwLzE0L1syNzU3NjBdCi1rZXlEb3duKCd1cEFycm93Jyk7IC8vIC0+IDEwLzE0
L1swMDAxXQotc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdpbnB1dC52YWx1ZScsICcwMDAxLTEwLTE0
Jyk7Ci1iZWdpblRlc3QoJ1VwIGtleSB3aXRoIGEgbWF4aW11bSBhdHRyaWJ1dGUnLCAnMTk5OS0x
Mi0zMScsICcxMDAwLTAxLTAxJywgJzE5OTktMTItMzEnKTsKLWtleURvd24oJ3VwQXJyb3cnKTsg
Ly8gLT4gWzAxXS8zMS8xOTk5Ci1rZXlEb3duKCdcdCcpOyAvLyAgICAgIC0+IDAxL1szMV0vMTk5
OQota2V5RG93bigndXBBcnJvdycpOyAvLyAtPiAwMS9bMDFdLzE5OTkKLWtleURvd24oJ1x0Jyk7
IC8vICAgICAgLT4gMDEvMDEvWzE5OTldCi1rZXlEb3duKCd1cEFycm93Jyk7IC8vIC0+IDAxLzAx
L1sxMDAwXQotc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdpbnB1dC52YWx1ZScsICcxMDAwLTAxLTAx
Jyk7Ci0KLWJlZ2luVGVzdCgnRG93biBrZXkgb24gbWluaW11bSB2YWx1ZScsICcwMDAxLTAxLTAx
JywgJ2JhZCBtaW4nLCAnd3JvbmcgbWF4Jyk7Ci1rZXlEb3duKCdkb3duQXJyb3cnKTsgLy8gLT4g
WzEyXS8wMS8wMDAxCi1rZXlEb3duKCdcdCcpOyAvLyAgICAgICAgLT4gMTIvWzAxXS8wMDAxCi1r
ZXlEb3duKCdkb3duQXJyb3cnKTsgLy8gLT4gMTIvWzMxXS8wMDAxCi1rZXlEb3duKCdcdCcpOyAv
LyAgICAgICAgLT4gMTIvMzEvWzAwMDFdCi1rZXlEb3duKCdkb3duQXJyb3cnKTsgLy8gLT4gMTIv
MzEvWzI3NTc2MF0sIHdoaWNoIGlzIGdyZWF0ZXIgdGhhbiB0aGUgaGFyZCBsaW1pdC4KLXNob3Vs
ZEJlRXF1YWxUb1N0cmluZygnaW5wdXQudmFsdWUnLCAnJyk7Ci1iZWdpblRlc3QoJ0Rvd24ga2V5
IHdpdGggYSBtaW5pbXVtIGF0dHJpYnV0ZScsICcxMDAwLTAxLTAxJywgJzEwMDAtMDEtMDEnKTsK
LWtleURvd24oJ2Rvd25BcnJvdycpOyAvLyAtPiBbMTJdLzAxLzEwMDAKLWtleURvd24oJ1x0Jyk7
IC8vICAgICAgICAtPiAxMi9bMDFdLzEwMDAKLWtleURvd24oJ2Rvd25BcnJvdycpOyAvLyAtPiAx
Mi9bMzFdLzEwMDAKLWtleURvd24oJ1x0Jyk7IC8vICAgICAgICAtPiAxMi8zMS9bMTAwMF0KLWtl
eURvd24oJ2Rvd25BcnJvdycpOyAvLyAtPiAxMi8zMS8yNzU3NjAsIHdoaWNoIGlzIGdyZWF0ZXIg
dGhhbiB0aGUgaGFyZCBsaW1pdC4KLXNob3VsZEJlRXF1YWxUb1N0cmluZygnaW5wdXQudmFsdWUn
LCAnJyk7Ci0KLWJlZ2luVGVzdCgnSW5jb25zaXN0ZW50IG1pbi1tYXggYXR0cmlidXRlcycsICcx
OTk5LTEyLTMxJywgJzE5OTktMTItMzEnLCAnMTAwMC0wMS0wMScpOwota2V5RG93bignXHQnKTsg
Ly8gLT4gMTIvWzMxXS8xOTk5Ci1rZXlEb3duKCdcdCcpOyAvLyAtPiAxMi8zMS9bMTk5OV0KLWtl
eURvd24oJ3VwQXJyb3cnKTsgLy8gLT4gMTIvMzEvWzEwMDBdLiAgMTAwMCBpcyB0aGUgc3dhcHBl
ZCBtaW5pbXVtIHllYXIuCi1zaG91bGRCZUVxdWFsVG9TdHJpbmcoJ2lucHV0LnZhbHVlJywgJzEw
MDAtMTItMzEnKTsKLWtleURvd24oJ2Rvd25BcnJvdycpOyAvLyAtPiAxMi8zMS9bMTk5OV0KLXNo
b3VsZEJlRXF1YWxUb1N0cmluZygnaW5wdXQudmFsdWUnLCAnMTk5OS0xMi0zMScpOwotCi1iZWdp
blRlc3QoJ01ha2UgYW4gaW52YWxpZCBkYXRlJywgJzIwMTItMDItMDEnKTsKLWtleURvd24oJ1x0
Jyk7IC8vICAgICAgICAtPiAwMi9bMDFdLzIwMTIKLWtleURvd24oJ2Rvd25BcnJvdycpOyAvLyAt
PiAwMi9bMzFdLzIwMTIKLXNob3VsZEJlRXF1YWxUb1N0cmluZygnaW5wdXQudmFsdWUnLCAnJyk7
IC8vIDIwMTItMDItMzEgaXMgbm90IGEgdmFsaWQgZGF0ZS4KLQotYmVnaW5UZXN0KCdCYWNrc3Bh
Y2Uga2V5JywgJzIwMTItMDktMjAnKTsKLWtleURvd24oIlxiIik7IC8vIC0+IFttbV0vMjAvMjAx
Mgotc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdpbnB1dC52YWx1ZScsICcnKTsKLQotYmVnaW5UZXN0
KCdEZWxldGUga2V5JywgJzIwMTItMDktMzAnKTsKLWtleURvd24oImRlbGV0ZSIpOyAvLyAtPiBb
bW1dLzMwLzIwMTIKLXNob3VsZEJlRXF1YWxUb1N0cmluZygnaW5wdXQudmFsdWUnLCAnJyk7Ci0K
LWJlZ2luVGVzdCgnVHlwZWFoZWFkJywgJzIwMTItMTItMzEnKTsKLWtleURvd24oJ3JpZ2h0QXJy
b3cnKTsgLy8gLT4gMTIvWzMxXS8yMDEyCi1rZXlEb3duKCcxJyk7IC8vICAgICAgICAgIC0+IDEy
L1swMV0vMjAxMgotc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdpbnB1dC52YWx1ZScsICcyMDEyLTEy
LTAxJyk7Ci1rZXlEb3duKCdsZWZ0QXJyb3cnKTsgLy8gIC0+IFsxMl0vMDEvMjAxMgota2V5RG93
bigncmlnaHRBcnJvdycpOyAvLyAtPiAxMi9bMDFdLzIwMTIKLWtleURvd24oJzInKTsgLy8gICAg
ICAgICAgLT4gMTIvWzAyXS8yMDEyCi1zaG91bGRCZUVxdWFsVG9TdHJpbmcoJ2lucHV0LnZhbHVl
JywgJzIwMTItMTItMDInKTsKLQotaW5wdXQuc2V0QXR0cmlidXRlKCJsYW5nIiwgImhlLWlsIik7
Ci1iZWdpblRlc3QoJ1JUTCBmb2N1cyBuYXZpZ2F0aW9uJywgJzIwMTItMDktMjgnKTsKLWRlYnVn
KCdUaGUgdGVzdHMgaW4gdGhpcyBibG9jayBmYWlsIG9uIHBsYXRmb3JtcyB3aXRob3V0IHRoZSBs
YW5nLWF0dHJpYnV0ZS1hd2FyZS1mb3JtLWNvbnRyb2wtVUkgZmVhdHVyZS4nKTsKLS8vIEJvdGgg
b2YgdGhlIGxvZ2ljYWwgb3JkZXIgYW5kIHZpc3VhbCBvcmRlciBhcmU6IGRkL01NL3l5eXkKLS8v
IEluaXRpYWwgc3RhdGU6ICAgICAgICAgICAgWzI4XS8wOS8yMDEyCi1rZXlEb3duKCd1cEFycm93
Jyk7IC8vICAgIC0+IFsyOV0vMDkvMjAxMgota2V5RG93bigncmlnaHRBcnJvdycpOyAvLyAtPiBb
MDFdLzA5LzIwMTIKLWtleURvd24oJzEnKTsgLy8gICAgICAgICAgLT4gWzAxXS8wOS8yMDEyCi1z
aG91bGRCZUVxdWFsVG9TdHJpbmcoJ2lucHV0LnZhbHVlJywgJzIwMTItMDktMDEnKTsKLWtleURv
d24oJ1x0Jyk7IC8vICAgICAgICAgLT4gMDEvWzA5XS8yMDEyCi1rZXlEb3duKCcyJyk7IC8vICAg
ICAgICAgIC0+IDAxLzAyL1syMDEyXQotc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdpbnB1dC52YWx1
ZScsICcyMDEyLTAyLTAxJyk7Ci1rZXlEb3duKCdcdCcsIFsnc2hpZnRLZXknXSk7IC8vIC0+IDAx
L1swMl0vMjAxMi8KLWtleURvd24oJzMnKTsgLy8gICAgICAgICAgLT4gMDEvMDMvWzIwMTJdCi1z
aG91bGRCZUVxdWFsVG9TdHJpbmcoJ2lucHV0LnZhbHVlJywgJzIwMTItMDMtMDEnKTsKLWlucHV0
LnJlbW92ZUF0dHJpYnV0ZSgibGFuZyIpOwotCi1iZWdpblRlc3QoJ0Rpc2FibGVkL3JlYWRvbmx5
JywgJzIwMTItMTAtMDgnKTsKLWlucHV0LmRpc2FibGVkID0gdHJ1ZTsKLWtleURvd24oJ3VwQXJy
b3cnKTsgLy8gMTAvMDgvMjAxMgotc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdpbnB1dC52YWx1ZScs
ICcyMDEyLTEwLTA4Jyk7Ci1pbnB1dC5kaXNhYmxlZCA9IGZhbHNlOwotaW5wdXQuZm9jdXMoKTsK
LWtleURvd24oJ3VwQXJyb3cnKTsgLy8gWzExXS8wOC8yMDEyCi1zaG91bGRCZUVxdWFsVG9TdHJp
bmcoJ2lucHV0LnZhbHVlJywgJzIwMTItMTEtMDgnKTsKLWlucHV0LnJlYWRPbmx5ID0gdHJ1ZTsK
LWtleURvd24oJ3VwQXJyb3cnKTsgLy8gMTEvMDgvMjAxMgotc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCdpbnB1dC52YWx1ZScsICcyMDEyLTExLTA4Jyk7Ci1pbnB1dC5yZWFkT25seSA9IGZhbHNlOwot
aW5wdXQuZm9jdXMoKTsKLWtleURvd24oJ3VwQXJyb3cnKTsgLy8gWzEyXS8wOC8yMDEyCi1zaG91
bGRCZUVxdWFsVG9TdHJpbmcoJ2lucHV0LnZhbHVlJywgJzIwMTItMTItMDgnKTsKLQotPC9zY3Jp
cHQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9z
Y3JpcHQ+Ci08L2JvZHk+Ci08L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Zv
cm1zL2RhdGUtbXVsdGlwbGUtZmllbGRzL2RhdGUtbXVsdGlwbGUtZmllbGRzLW1vdXNlLWV2ZW50
cy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2RhdGUtbXVsdGlwbGUtZmll
bGRzL2RhdGUtbXVsdGlwbGUtZmllbGRzLW1vdXNlLWV2ZW50cy1leHBlY3RlZC50eHQKZGVsZXRl
ZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGNhZjNhNjcwYzFmNWY3NjkyOWE3YjZiMzEyMmE1MTli
OTdlYmUwYjkuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEv
TGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9kYXRlLW11bHRpcGxlLWZpZWxkcy9kYXRlLW11bHRpcGxl
LWZpZWxkcy1tb3VzZS1ldmVudHMtZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEsNDQg
KzAsMCBAQAotTXVsdGlwbGUgZmllbGRzIFVJIG9mIGRhdGUgaW5wdXQgdHlwZSB3aXRoIG1vdXNl
IGV2ZW50cwotCi1PbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1l
c3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCi0KLQotUGxlYXNlIHJ1biB0aGlz
IHdpdGggRFJUIG9yIFdUUi4KLQotVGVzdCBmb2xsb3dpbmcgbW91c2UgYWN0aW9uczoKLU1vdXNl
IGNsaWNrIHRvIGZvY3VzIGVhY2ggb2Ygc3ViLWZpZWxkcwotTW91c2UgY2xpY2sgb24gdGhlIHNw
aW4gYnV0dG9uIHRvIHVwZGF0ZSBlYWNoIG9mIHN1Yi1maWVsZHMKLQotPT0+IEZvY3VzIG9uIHRo
ZSBtb250aCBmaWVsZC4KLVBBU1MgaW5wdXQudmFsdWUgaXMgIjIzNDUtMDgtMTkiCi1QQVNTIGlu
cHV0LnZhbHVlIGlzICIyMzQ1LTA5LTE5IgotUEFTUyBpbnB1dC52YWx1ZSBpcyAiMjM0NS0wOC0x
OSIKLVBBU1Mgd2luZG93LmdldFNlbGVjdGlvbigpLnJhbmdlQ291bnQgaXMgMAotCi09PT4gRm9j
dXMgb24gdGhlIGRheSBmaWVsZC4KLVBBU1MgaW5wdXQudmFsdWUgaXMgIjIzNDUtMDgtMjAiCi1Q
QVNTIGlucHV0LnZhbHVlIGlzICIyMzQ1LTA4LTIxIgotUEFTUyBpbnB1dC52YWx1ZSBpcyAiMjM0
NS0wOC0yMCIKLVBBU1Mgd2luZG93LmdldFNlbGVjdGlvbigpLnJhbmdlQ291bnQgaXMgMAotCi09
PT4gRm9jdXMgb24gdGhlIHllYXIgZmllbGQuCi1QQVNTIGlucHV0LnZhbHVlIGlzICIyMzQ2LTA4
LTIwIgotUEFTUyBpbnB1dC52YWx1ZSBpcyAiMjM0Ny0wOC0yMCIKLVBBU1MgaW5wdXQudmFsdWUg
aXMgIjIzNDYtMDgtMjAiCi1QQVNTIHdpbmRvdy5nZXRTZWxlY3Rpb24oKS5yYW5nZUNvdW50IGlz
IDAKLQotPT0+IENsaWNrIG9uIGEgZGlzYWJsZWQgZmllbGQuCi1QQVNTIGlucHV0LnZhbHVlIGlz
ICIyMzQ2LTA4LTIwIgotCi09PT4gQ2xpY2sgb24gYSByZWFkLW9ubHkgZmllbGQuCi1QQVNTIGlu
cHV0LnZhbHVlIGlzICIyMzQ2LTA4LTIwIgotCi09PT4gQ2xpY2sgb24gY2xlYXIgYnV0dG9uLgot
UEFTUyBpbnB1dC52YWx1ZSBpcyAiMjM0Ni0wOC0yMCIKLVBBU1MgaW5wdXQudmFsdWUgaXMgIjIz
NDYtMDgtMjAiCi1QQVNTIGlucHV0LnZhbHVlIGlzICIiCi0KLVBBU1Mgc3VjY2Vzc2Z1bGx5UGFy
c2VkIGlzIHRydWUKLQotVEVTVCBDT01QTEVURQotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9m
YXN0L2Zvcm1zL2RhdGUtbXVsdGlwbGUtZmllbGRzL2RhdGUtbXVsdGlwbGUtZmllbGRzLW1vdXNl
LWV2ZW50cy5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9kYXRlLW11bHRpcGxlLWZpZWxk
cy9kYXRlLW11bHRpcGxlLWZpZWxkcy1tb3VzZS1ldmVudHMuaHRtbApkZWxldGVkIGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggM2Q3Y2JjZTJlZTY4YTE5MjMyYzY3YWFiMTVlYWI5MTlkNjQ4ZDUzNS4u
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0
cy9mYXN0L2Zvcm1zL2RhdGUtbXVsdGlwbGUtZmllbGRzL2RhdGUtbXVsdGlwbGUtZmllbGRzLW1v
dXNlLWV2ZW50cy5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsMTA4ICswLDAgQEAKLTwhRE9DVFlQ
RSBodG1sPgotPGh0bWw+Ci08aGVhZD4KLTxzY3JpcHQgc3JjPSIuLi8uLi9qcy9yZXNvdXJjZXMv
anMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHk+Ci08cCBpZD0iZGVzY3Jp
cHRpb24iPjwvcD4KLTxwPgotUGxlYXNlIHJ1biB0aGlzIHdpdGggRFJUIG9yIFdUUi4KLTwvcD4K
LVRlc3QgZm9sbG93aW5nIG1vdXNlIGFjdGlvbnM6Ci08dWw+Ci0gICAgPGxpPk1vdXNlIGNsaWNr
IHRvIGZvY3VzIGVhY2ggb2Ygc3ViLWZpZWxkczwvbGk+Ci0gICAgPGxpPk1vdXNlIGNsaWNrIG9u
IHRoZSBzcGluIGJ1dHRvbiB0byB1cGRhdGUgZWFjaCBvZiBzdWItZmllbGRzPC9saT4KLTwvdWw+
Ci08aW5wdXQgaWQ9ImlucHV0IiB0eXBlPSJkYXRlIiBzdHlsZT0iZm9udC1mYW1pbHk6YWhlbTsg
Zm9udC1zaXplOjE2cHg7Ij4KLTxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgotPHNjcmlwdD4KLWRl
c2NyaXB0aW9uKCdNdWx0aXBsZSBmaWVsZHMgVUkgb2YgZGF0ZSBpbnB1dCB0eXBlIHdpdGggbW91
c2UgZXZlbnRzJyk7Ci12YXIgaW5wdXQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnaW5wdXQn
KTsKLQotZnVuY3Rpb24ga2V5RG93bihrZXksIG1vZGlmaWVycykKLXsKLSAgICBpZiAoIXdpbmRv
dy5ldmVudFNlbmRlcikKLSAgICAgICAgcmV0dXJuOwotICAgIGV2ZW50U2VuZGVyLmtleURvd24o
a2V5LCBtb2RpZmllcnMpOwotfQotCi1mdW5jdGlvbiBtb3VzZUNsaWNrT24oeCwgeSkKLXsKLSAg
ICBpZiAoIXdpbmRvdy5ldmVudFNlbmRlcikKLSAgICAgICAgcmV0dXJuOwotICAgIGV2ZW50U2Vu
ZGVyLm1vdXNlTW92ZVRvKHggKyBpbnB1dC5vZmZzZXRMZWZ0LCB5ICsgaW5wdXQub2Zmc2V0VG9w
KTsKLSAgICBldmVudFNlbmRlci5tb3VzZURvd24oKTsKLSAgICBldmVudFNlbmRlci5tb3VzZVVw
KCk7Ci19Ci0KLWlucHV0LnZhbHVlID0gJzIzNDUtMDctMTknOwotdmFyIGNlbnRlciA9IGlucHV0
Lm9mZnNldEhlaWdodCAvIDI7Ci12YXIgc3BpbkJ1dHRvbk9mZnNldCA9IDI2OwotdmFyIGNsZWFy
QnV0dG9uT2Zmc2V0ID0gNDE7Ci0KLWRlYnVnKCc9PT4gRm9jdXMgb24gdGhlIG1vbnRoIGZpZWxk
LicpOwotbW91c2VDbGlja09uKDEyLCBjZW50ZXIpOwota2V5RG93bigndXBBcnJvdycpOwotc2hv
dWxkQmVFcXVhbFRvU3RyaW5nKCdpbnB1dC52YWx1ZScsICcyMzQ1LTA4LTE5Jyk7Ci1tb3VzZUNs
aWNrT24oaW5wdXQub2Zmc2V0V2lkdGggLSBzcGluQnV0dG9uT2Zmc2V0LCBjZW50ZXIgLSAxKTsK
LXNob3VsZEJlRXF1YWxUb1N0cmluZygnaW5wdXQudmFsdWUnLCAnMjM0NS0wOS0xOScpOwotbW91
c2VDbGlja09uKGlucHV0Lm9mZnNldFdpZHRoIC0gc3BpbkJ1dHRvbk9mZnNldCwgY2VudGVyICsg
MSk7Ci1zaG91bGRCZUVxdWFsVG9TdHJpbmcoJ2lucHV0LnZhbHVlJywgJzIzNDUtMDgtMTknKTsK
LXNob3VsZEJlWmVybygnd2luZG93LmdldFNlbGVjdGlvbigpLnJhbmdlQ291bnQnKTsgLy8gTm8g
dGV4dCBzZWxlY3Rpb24uCi0KLWRlYnVnKCcnKTsKLWRlYnVnKCc9PT4gRm9jdXMgb24gdGhlIGRh
eSBmaWVsZC4nKTsKLW1vdXNlQ2xpY2tPbig2MCwgY2VudGVyKTsKLWtleURvd24oJ3VwQXJyb3cn
KTsKLXNob3VsZEJlRXF1YWxUb1N0cmluZygnaW5wdXQudmFsdWUnLCAnMjM0NS0wOC0yMCcpOwot
bW91c2VDbGlja09uKGlucHV0Lm9mZnNldFdpZHRoIC0gc3BpbkJ1dHRvbk9mZnNldCwgY2VudGVy
IC0gMSk7Ci1zaG91bGRCZUVxdWFsVG9TdHJpbmcoJ2lucHV0LnZhbHVlJywgJzIzNDUtMDgtMjEn
KTsKLW1vdXNlQ2xpY2tPbihpbnB1dC5vZmZzZXRXaWR0aCAtIHNwaW5CdXR0b25PZmZzZXQsIGNl
bnRlciArIDEpOwotc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdpbnB1dC52YWx1ZScsICcyMzQ1LTA4
LTIwJyk7Ci1zaG91bGRCZVplcm8oJ3dpbmRvdy5nZXRTZWxlY3Rpb24oKS5yYW5nZUNvdW50Jyk7
IC8vIE5vIHRleHQgc2VsZWN0aW9uLgotCi1kZWJ1ZygnJyk7Ci1kZWJ1ZygnPT0+IEZvY3VzIG9u
IHRoZSB5ZWFyIGZpZWxkLicpOwotbW91c2VDbGlja09uKGlucHV0Lm9mZnNldFdpZHRoIC0gMTE1
LCBjZW50ZXIpOwota2V5RG93bigndXBBcnJvdycpOwotc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdp
bnB1dC52YWx1ZScsICcyMzQ2LTA4LTIwJyk7Ci1tb3VzZUNsaWNrT24oaW5wdXQub2Zmc2V0V2lk
dGggLSBzcGluQnV0dG9uT2Zmc2V0LCBjZW50ZXIgLSAxKTsKLXNob3VsZEJlRXF1YWxUb1N0cmlu
ZygnaW5wdXQudmFsdWUnLCAnMjM0Ny0wOC0yMCcpOwotbW91c2VDbGlja09uKGlucHV0Lm9mZnNl
dFdpZHRoIC0gc3BpbkJ1dHRvbk9mZnNldCwgY2VudGVyICsgMSk7Ci1zaG91bGRCZUVxdWFsVG9T
dHJpbmcoJ2lucHV0LnZhbHVlJywgJzIzNDYtMDgtMjAnKTsKLXNob3VsZEJlWmVybygnd2luZG93
LmdldFNlbGVjdGlvbigpLnJhbmdlQ291bnQnKTsgLy8gTm8gdGV4dCBzZWxlY3Rpb24uCi0KLWRl
YnVnKCcnKTsKLWRlYnVnKCc9PT4gQ2xpY2sgb24gYSBkaXNhYmxlZCBmaWVsZC4nKTsKLWlucHV0
LmRpc2FibGVkID0gdHJ1ZTsKLW1vdXNlQ2xpY2tPbigxMiwgY2VudGVyKTsKLWtleURvd24oJ3Vw
QXJyb3cnKTsKLXNob3VsZEJlRXF1YWxUb1N0cmluZygnaW5wdXQudmFsdWUnLCAnMjM0Ni0wOC0y
MCcpOwotaW5wdXQuZGlzYWJsZWQgPSBmYWxzZTsKLQotZGVidWcoJycpOwotZGVidWcoJz09PiBD
bGljayBvbiBhIHJlYWQtb25seSBmaWVsZC4nKTsKLWlucHV0LnJlYWRPbmx5ID0gdHJ1ZTsKLW1v
dXNlQ2xpY2tPbigxMiwgY2VudGVyKTsKLWtleURvd24oJ3VwQXJyb3cnKTsKLXNob3VsZEJlRXF1
YWxUb1N0cmluZygnaW5wdXQudmFsdWUnLCAnMjM0Ni0wOC0yMCcpOwotaW5wdXQucmVhZE9ubHkg
PSBmYWxzZTsKLQotZGVidWcoJycpOwotZGVidWcoJz09PiBDbGljayBvbiBjbGVhciBidXR0b24u
Jyk7Ci1pbnB1dC5yZWFkT25seSA9IHRydWU7Ci1tb3VzZUNsaWNrT24oaW5wdXQub2Zmc2V0V2lk
dGggLSBjbGVhckJ1dHRvbk9mZnNldCwgY2VudGVyKTsKLXNob3VsZEJlRXF1YWxUb1N0cmluZygn
aW5wdXQudmFsdWUnLCAnMjM0Ni0wOC0yMCcpOwotaW5wdXQuZGlzYWJsZWQgPSB0cnVlOwotaW5w
dXQucmVhZE9ubHkgPSBmYWxzZTsKLW1vdXNlQ2xpY2tPbihpbnB1dC5vZmZzZXRXaWR0aCAtIGNs
ZWFyQnV0dG9uT2Zmc2V0LCBjZW50ZXIpOwotc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdpbnB1dC52
YWx1ZScsICcyMzQ2LTA4LTIwJyk7Ci1pbnB1dC5kaXNhYmxlZCA9IGZhbHNlOwotbW91c2VDbGlj
a09uKGlucHV0Lm9mZnNldFdpZHRoIC0gY2xlYXJCdXR0b25PZmZzZXQsIGNlbnRlcik7Ci1zaG91
bGRCZUVxdWFsVG9TdHJpbmcoJ2lucHV0LnZhbHVlJywgJycpOwotCi1kZWJ1ZygnJyk7Ci08L3Nj
cmlwdD4KLTxzY3JpcHQgc3JjPSIuLi8uLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48
L3NjcmlwdD4KLTwvYm9keT4KLTwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3Qv
Zm9ybXMvZGF0ZS1tdWx0aXBsZS1maWVsZHMvZGF0ZS1tdWx0aXBsZS1maWVsZHMtcHJlc2VydmUt
dmFsdWUtYWZ0ZXItaGlzdG9yeS1iYWNrLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3Qv
Zm9ybXMvZGF0ZS1tdWx0aXBsZS1maWVsZHMvZGF0ZS1tdWx0aXBsZS1maWVsZHMtcHJlc2VydmUt
dmFsdWUtYWZ0ZXItaGlzdG9yeS1iYWNrLWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDcwZDA2N2FkZTk2NTg2MzQ2NmIxMmI4Mzg1YWU1ZGUxNTg1NTJhZS4uMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9m
YXN0L2Zvcm1zL2RhdGUtbXVsdGlwbGUtZmllbGRzL2RhdGUtbXVsdGlwbGUtZmllbGRzLXByZXNl
cnZlLXZhbHVlLWFmdGVyLWhpc3RvcnktYmFjay1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApA
QCAtMSwxOCArMCwwIEBACi1DaGVja3MgaW5wdXQgdmFsdWUgaXMgcHJlc2VydmVkIGFmdGVyIGJh
Y2t3YXJkIGFuZCBmb3J3YXJkCi0KLU9uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBv
ZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KLQotCi1XZW50
IGJhY2sgdG8gYSBwYWdlLiBDaGVja2luZyBhIGZvcm0gY29udHJvbCB3aGljaCBoYWQgYSBmdWxs
IHZhbHVlOgotUEFTUyAiMTIwMTItMTAtMDkiIGlzICIxMjAxMi0xMC0wOSIKLVdlbnQgYmFjayB0
byBhIHBhZ2UuIENoZWNraW5nIGEgZm9ybSBjb250cm9sIHdoaWNoIGhhZCBhIHBhcnRpYWwgdmFs
dWU6Ci1QQVNTICIwMS9kZC8xOTk5IiBpcyAiMDEvZGQvMTk5OSIKLVdlbnQgZm9yd2FyZCB0byBh
IHBhZ2UuIENoZWNraW5nIGEgZm9ybSBjb250cm9sIHdoaWNoIGhhZCBhIGZ1bGwgdmFsdWU6Ci1Q
QVNTICIwMDAxLTExLTE3IiBpcyAiMDAwMS0xMS0xNyIKLVdlbnQgZm9yd2FyZCB0byBhIHBhZ2Uu
IENoZWNraW5nIGEgZm9ybSBjb250cm9sIHdoaWNoIGhhZCBhIHBhcnRpYWwgdmFsdWU6Ci1QQVNT
ICJtbS8zMS95eXl5IiBpcyAibW0vMzEveXl5eSIKLQotUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQg
aXMgdHJ1ZQotCi1URVNUIENPTVBMRVRFCi0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3Qv
Zm9ybXMvZGF0ZS1tdWx0aXBsZS1maWVsZHMvZGF0ZS1tdWx0aXBsZS1maWVsZHMtcHJlc2VydmUt
dmFsdWUtYWZ0ZXItaGlzdG9yeS1iYWNrLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2Rh
dGUtbXVsdGlwbGUtZmllbGRzL2RhdGUtbXVsdGlwbGUtZmllbGRzLXByZXNlcnZlLXZhbHVlLWFm
dGVyLWhpc3RvcnktYmFjay5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA1ZmRh
NmQ5NzdkOWUwYjZmNDU0MGM3YzJhODQ3Yjg2YWVjYjM5MTJkLi4wMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvZGF0ZS1t
dWx0aXBsZS1maWVsZHMvZGF0ZS1tdWx0aXBsZS1maWVsZHMtcHJlc2VydmUtdmFsdWUtYWZ0ZXIt
aGlzdG9yeS1iYWNrLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSw0MiArMCwwIEBACi08IURPQ1RZ
UEUgaHRtbD4KLTxodG1sPgotPGhlYWQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vLi4vZmFzdC9qcy9y
ZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHk+Ci08aWZy
YW1lIGlkPSJpZnJhbWUiPjwvaWZyYW1lPgotPHNjcmlwdD4KLWRlc2NyaXB0aW9uKCdDaGVja3Mg
aW5wdXQgdmFsdWUgaXMgcHJlc2VydmVkIGFmdGVyIGJhY2t3YXJkIGFuZCBmb3J3YXJkJyk7Ci1p
ZiAoIXdpbmRvdy5ldmVudFNlbmRlciB8fCAhd2luZG93LmludGVybmFscykKLSAgICBkZWJ1Zygn
UGxlYXNlIHJ1biB3aXRoaW4gRFJUL1dUUicpOwotd2luZG93LmpzVGVzdElzQXN5bmMgPSB0cnVl
OwotCi12YXIgc3RhdGUgPSAnZGlyZWN0JzsKLXZhciB0ZXN0Q2FzZXMgPSBbXTsKLQotZnVuY3Rp
b24gZmFpbGVkKG1lc3NhZ2UpIHsKLSAgICB0ZXN0RmFpbGVkKG1lc3NhZ2UgKyAnIGluICcgKyBz
dGF0ZSk7Ci0gICAgZmluaXNoSlNUZXN0KCk7Ci19Ci0KLWZ1bmN0aW9uIGZpbmlzaFRlc3QoKSB7
Ci0gICAgcnVuVGVzdENhc2VzKCk7Ci0gICAgZmluaXNoSlNUZXN0KCk7Ci19Ci0KLWZ1bmN0aW9u
IHJ1blRlc3RDYXNlcygpIHsKLSAgICBmb3IgKHZhciBpbmRleCA9IDA7IGluZGV4IDwgdGVzdENh
c2VzLmxlbmd0aDsgKytpbmRleCkgewotICAgICAgICB2YXIgdGVzdENhc2UgPSB0ZXN0Q2FzZXNb
aW5kZXhdOwotICAgICAgICBkZWJ1Zyh0ZXN0Q2FzZVsnZGVzY3JpcHRpb24nXSArICc6Jyk7Ci0g
ICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygnIicgKyB0ZXN0Q2FzZVsnYWN0dWFsJ10gKyAn
IicsIHRlc3RDYXNlWydleHBlY3RlZCddKTsKLSAgICB9Ci0gICAgZGVidWcoJycpOwotfQotCi13
aW5kb3cub25sb2FkID0gZnVuY3Rpb24oKSB7Ci0gICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
J2lmcmFtZScpLnNyYyA9ICdyZXNvdXJjZXMvcHJlc2VydmUtdmFsdWUtYWZ0ZXItaGlzdG9yeS1i
YWNrLWZyYW1lLmh0bWw/cGFnZTEnOwotfTsKLTwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii4uLy4u
Ly4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Ci08L2JvZHk+
Ci08L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2RhdGUtbXVsdGlw
bGUtZmllbGRzL2RhdGUtbXVsdGlwbGUtZmllbGRzLXJlYWRvbmx5LXN1YmZpZWxkLWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvZGF0ZS1tdWx0aXBsZS1maWVsZHMvZGF0ZS1t
dWx0aXBsZS1maWVsZHMtcmVhZG9ubHktc3ViZmllbGQtZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCBjNjk5M2EzM2NhMGU4MjRiNzViNjczMmNkMGZkY2FhNzE5ZWRi
ZGU0Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91
dFRlc3RzL2Zhc3QvZm9ybXMvZGF0ZS1tdWx0aXBsZS1maWVsZHMvZGF0ZS1tdWx0aXBsZS1maWVs
ZHMtcmVhZG9ubHktc3ViZmllbGQtZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEsNDIg
KzAsMCBAQAotU3ViLWZpZWxkcyBpbiBpbnB1dFt0eXBlPWRhdGVdIHNob3VsZCBiZSByZWFkLW9u
bHkgaW4gc29tZSBjYXNlcy4gVGhpcyByZXF1aXJlcyB3aW5kb3cuaW50ZXJuYWxzLgotCi1PbiBz
dWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dl
ZCBieSAiVEVTVCBDT01QTEVURSIuCi0KLQotY3JlYXRlRGF0ZUlucHV0IGFyZ3VtZW50IG9yZGVy
OiBtaW4sIG1heCwgdmFsdWUKLQotWWVhciBmaWVsZDoKLVBBU1MgaXNSZWFkT25seUZpZWxkKGNy
ZWF0ZURhdGVJbnB1dCgiIiwgIiIsICIiKSwgcHNldWRvWWVhcikgaXMgZmFsc2UKLVBBU1MgaXNS
ZWFkT25seUZpZWxkKGNyZWF0ZURhdGVJbnB1dCgiMjAxMi0xMi0xNyIsICIiLCAiIiksIHBzZXVk
b1llYXIpIGlzIGZhbHNlCi1QQVNTIGlzUmVhZE9ubHlGaWVsZChjcmVhdGVEYXRlSW5wdXQoIiIs
ICIyMDEyLTEyLTE3IiwgIiIpLCBwc2V1ZG9ZZWFyKSBpcyBmYWxzZQotUEFTUyBpc1JlYWRPbmx5
RmllbGQoY3JlYXRlRGF0ZUlucHV0KCIiLCAiIiwgIjIwMTItMTItMTciKSwgcHNldWRvWWVhcikg
aXMgZmFsc2UKLVBBU1MgaXNSZWFkT25seUZpZWxkKGNyZWF0ZURhdGVJbnB1dCgiMjAxMi0wMS0w
MSIsICIyMDEyLTEyLTMxIiwgIiIpLCBwc2V1ZG9ZZWFyKSBpcyB0cnVlCi1QQVNTIGlzUmVhZE9u
bHlGaWVsZChjcmVhdGVEYXRlSW5wdXQoIjIwMTItMDEtMDEiLCAiMjAxMy0xMi0zMSIsICIiKSwg
cHNldWRvWWVhcikgaXMgZmFsc2UKLVBBU1MgaXNSZWFkT25seUZpZWxkKGNyZWF0ZURhdGVJbnB1
dCgiMjAxMi0wMS0wMSIsICIyMDEyLTEyLTMxIiwgIjIwMTItMDUtMzAiKSwgcHNldWRvWWVhcikg
aXMgdHJ1ZQotUEFTUyBpc1JlYWRPbmx5RmllbGQoY3JlYXRlRGF0ZUlucHV0KCIyMDEyLTAxLTAx
IiwgIjIwMTItMTItMzEiLCAiMjAxMy0wMS0wMSIpLCBwc2V1ZG9ZZWFyKSBpcyBmYWxzZQotTW9u
dGggZmllbGQ6Ci1QQVNTIGlzUmVhZE9ubHlGaWVsZChjcmVhdGVEYXRlSW5wdXQoIiIsICIiLCAi
IiksIHBzZXVkb01vbnRoKSBpcyBmYWxzZQotUEFTUyBpc1JlYWRPbmx5RmllbGQoY3JlYXRlRGF0
ZUlucHV0KCIyMDEyLTEyLTE3IiwgIiIsICIiKSwgcHNldWRvTW9udGgpIGlzIGZhbHNlCi1QQVNT
IGlzUmVhZE9ubHlGaWVsZChjcmVhdGVEYXRlSW5wdXQoIiIsICIyMDEyLTEyLTE3IiwgIiIpLCBw
c2V1ZG9Nb250aCkgaXMgZmFsc2UKLVBBU1MgaXNSZWFkT25seUZpZWxkKGNyZWF0ZURhdGVJbnB1
dCgiIiwgIiIsICIyMDEyLTEyLTE3IiksIHBzZXVkb01vbnRoKSBpcyBmYWxzZQotUEFTUyBpc1Jl
YWRPbmx5RmllbGQoY3JlYXRlRGF0ZUlucHV0KCIyMDEyLTEyLTAxIiwgIjIwMTItMTItMzEiLCAi
IiksIHBzZXVkb01vbnRoKSBpcyB0cnVlCi1QQVNTIGlzUmVhZE9ubHlGaWVsZChjcmVhdGVEYXRl
SW5wdXQoIjIwMTItMTEtMDEiLCAiMjAxMy0xMi0zMSIsICIiKSwgcHNldWRvTW9udGgpIGlzIGZh
bHNlCi1QQVNTIGlzUmVhZE9ubHlGaWVsZChjcmVhdGVEYXRlSW5wdXQoIjIwMTItMTItMDEiLCAi
MjAxMy0xMi0zMSIsICIiKSwgcHNldWRvTW9udGgpIGlzIGZhbHNlCi1QQVNTIGlzUmVhZE9ubHlG
aWVsZChjcmVhdGVEYXRlSW5wdXQoIjIwMTItMTItMDEiLCAiMjAxMi0xMi0zMSIsICIyMDEyLTEy
LTE1IiksIHBzZXVkb01vbnRoKSBpcyB0cnVlCi1QQVNTIGlzUmVhZE9ubHlGaWVsZChjcmVhdGVE
YXRlSW5wdXQoIjIwMTItMTItMDEiLCAiMjAxMi0xMi0zMSIsICIyMDEyLTExLTMwIiksIHBzZXVk
b01vbnRoKSBpcyBmYWxzZQotRGF5IGZpZWxkOgotV2Ugc2hvdWxkIG5vdCBtYWtlIGFsbCB0aGUg
ZmllbGRzIHJlYWRvbmx5IGJ5IG1pbi9tYXgsIHNvIGRheSBmaWVsZCBpcyBhbHdheXMgZWRpdGFi
bGUuCi1QQVNTIGlzUmVhZE9ubHlGaWVsZChjcmVhdGVEYXRlSW5wdXQoIiIsICIiLCAiIiksIHBz
ZXVkb0RheSkgaXMgZmFsc2UKLVBBU1MgaXNSZWFkT25seUZpZWxkKGNyZWF0ZURhdGVJbnB1dCgi
MjAxMi0xMi0xNyIsICIiLCAiIiksIHBzZXVkb0RheSkgaXMgZmFsc2UKLVBBU1MgaXNSZWFkT25s
eUZpZWxkKGNyZWF0ZURhdGVJbnB1dCgiIiwgIjIwMTItMTItMTciLCAiIiksIHBzZXVkb0RheSkg
aXMgZmFsc2UKLVBBU1MgaXNSZWFkT25seUZpZWxkKGNyZWF0ZURhdGVJbnB1dCgiIiwgIiIsICIy
MDEyLTEyLTE3IiksIHBzZXVkb0RheSkgaXMgZmFsc2UKLVBBU1MgaXNSZWFkT25seUZpZWxkKGNy
ZWF0ZURhdGVJbnB1dCgiMjAxMi0xMi0xNyIsICIyMDEyLTEyLTE3IiwgIiIpLCBwc2V1ZG9EYXkp
IGlzIGZhbHNlCi1QQVNTIGlzUmVhZE9ubHlGaWVsZChjcmVhdGVEYXRlSW5wdXQoIjIwMTItMTIt
MTciLCAiMjAxMy0xMi0xOCIsICIiKSwgcHNldWRvRGF5KSBpcyBmYWxzZQotUEFTUyBpc1JlYWRP
bmx5RmllbGQoY3JlYXRlRGF0ZUlucHV0KCIyMDEyLTExLTE3IiwgIjIwMTItMTItMTciLCAiIiks
IHBzZXVkb0RheSkgaXMgZmFsc2UKLVBBU1MgaXNSZWFkT25seUZpZWxkKGNyZWF0ZURhdGVJbnB1
dCgiMjAxMi0xMi0xNyIsICIyMDEzLTEyLTE3IiwgIiIpLCBwc2V1ZG9EYXkpIGlzIGZhbHNlCi1Q
QVNTIGlzUmVhZE9ubHlGaWVsZChjcmVhdGVEYXRlSW5wdXQoIjIwMTItMTItMTciLCAiMjAxMi0x
Mi0xNyIsICIyMDEyLTEyLTE3IiksIHBzZXVkb0RheSkgaXMgZmFsc2UKLVBBU1MgaXNSZWFkT25s
eUZpZWxkKGNyZWF0ZURhdGVJbnB1dCgiMjAxMi0xMi0xNyIsICIyMDEyLTEyLTE3IiwgIjIwMTIt
MTItMTgiKSwgcHNldWRvRGF5KSBpcyBmYWxzZQotUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMg
dHJ1ZQotCi1URVNUIENPTVBMRVRFCi0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZm9y
bXMvZGF0ZS1tdWx0aXBsZS1maWVsZHMvZGF0ZS1tdWx0aXBsZS1maWVsZHMtcmVhZG9ubHktc3Vi
ZmllbGQuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvZGF0ZS1tdWx0aXBsZS1maWVsZHMv
ZGF0ZS1tdWx0aXBsZS1maWVsZHMtcmVhZG9ubHktc3ViZmllbGQuaHRtbApkZWxldGVkIGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggZWMzMTNkZGJhNTMxOWVjOWU1ZTgxMWYxNTRiZTBkYWJmZDU4OGQ0
MC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRU
ZXN0cy9mYXN0L2Zvcm1zL2RhdGUtbXVsdGlwbGUtZmllbGRzL2RhdGUtbXVsdGlwbGUtZmllbGRz
LXJlYWRvbmx5LXN1YmZpZWxkLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSw3MCArMCwwIEBACi08
IURPQ1RZUEUgaHRtbD4KLTxib2R5PgotPHNjcmlwdCBzcmM9Ii4uLy4uL2pzL3Jlc291cmNlcy9q
cy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0PgotZnVuY3Rpb24gY3JlYXRlRGF0ZUlu
cHV0KG1pbiwgbWF4LCB2YWx1ZSkgewotICAgIHZhciBpbnB1dCA9IGRvY3VtZW50LmNyZWF0ZUVs
ZW1lbnQoJ2lucHV0Jyk7Ci0gICAgaW5wdXQudHlwZSA9ICdkYXRlJzsKLSAgICBpZiAobWluKQot
ICAgICAgICBpbnB1dC5taW4gPSBtaW47Ci0gICAgaWYgKG1heCkKLSAgICAgICAgaW5wdXQubWF4
ID0gbWF4OwotICAgIGlmICh2YWx1ZSkKLSAgICAgICAgaW5wdXQudmFsdWUgPSB2YWx1ZTsKLSAg
ICByZXR1cm4gaW5wdXQ7Ci19Ci0KLS8vIEZJWE1FOiBSZW5hbWUgdGhpcyBmdW5jdGlvbiBhbmQg
dGhlIHRlc3QgZmlsZS4KLWZ1bmN0aW9uIGlzUmVhZE9ubHlGaWVsZChpbnB1dCwgcHNldWRvKSB7
Ci0gICAgdmFyIG5vZGUgPSBpbnRlcm5hbHMueW91bmdlc3RTaGFkb3dSb290KGlucHV0KS5xdWVy
eVNlbGVjdG9yKCcqW3BzZXVkbz0iJyArIHBzZXVkbyArICciXScpOwotICAgIGlmICghbm9kZSkK
LSAgICAgICAgdGVzdEZhaWxlZCgnUmVxdWVzdGVkIG5vZGUgaXMgbWlzc2luZy4nKTsKLSAgICBy
ZXR1cm4gbm9kZSAmJiBub2RlLmhhc0F0dHJpYnV0ZSgnZGlzYWJsZWQnKTsKLX0KLQotdmFyIHBz
ZXVkb0RheSA9ICctd2Via2l0LWRhdGV0aW1lLWVkaXQtZGF5LWZpZWxkJzsKLXZhciBwc2V1ZG9N
b250aCA9ICctd2Via2l0LWRhdGV0aW1lLWVkaXQtbW9udGgtZmllbGQnOwotdmFyIHBzZXVkb1ll
YXIgPSAnLXdlYmtpdC1kYXRldGltZS1lZGl0LXllYXItZmllbGQnOwotCi1kZXNjcmlwdGlvbign
U3ViLWZpZWxkcyBpbiBpbnB1dFt0eXBlPWRhdGVdIHNob3VsZCBiZSByZWFkLW9ubHkgaW4gc29t
ZSBjYXNlcy4gVGhpcyByZXF1aXJlcyB3aW5kb3cuaW50ZXJuYWxzLicpOwotZGVidWcoJ2NyZWF0
ZURhdGVJbnB1dCBhcmd1bWVudCBvcmRlcjogbWluLCBtYXgsIHZhbHVlJyk7Ci1kZWJ1ZygnJyk7
Ci0KLWRlYnVnKCdZZWFyIGZpZWxkOicpOwotc2hvdWxkQmVGYWxzZSgnaXNSZWFkT25seUZpZWxk
KGNyZWF0ZURhdGVJbnB1dCgiIiwgIiIsICIiKSwgcHNldWRvWWVhciknKTsKLXNob3VsZEJlRmFs
c2UoJ2lzUmVhZE9ubHlGaWVsZChjcmVhdGVEYXRlSW5wdXQoIjIwMTItMTItMTciLCAiIiwgIiIp
LCBwc2V1ZG9ZZWFyKScpOwotc2hvdWxkQmVGYWxzZSgnaXNSZWFkT25seUZpZWxkKGNyZWF0ZURh
dGVJbnB1dCgiIiwgIjIwMTItMTItMTciLCAiIiksIHBzZXVkb1llYXIpJyk7Ci1zaG91bGRCZUZh
bHNlKCdpc1JlYWRPbmx5RmllbGQoY3JlYXRlRGF0ZUlucHV0KCIiLCAiIiwgIjIwMTItMTItMTci
KSwgcHNldWRvWWVhciknKTsKLXNob3VsZEJlVHJ1ZSgnaXNSZWFkT25seUZpZWxkKGNyZWF0ZURh
dGVJbnB1dCgiMjAxMi0wMS0wMSIsICIyMDEyLTEyLTMxIiwgIiIpLCBwc2V1ZG9ZZWFyKScpOwot
c2hvdWxkQmVGYWxzZSgnaXNSZWFkT25seUZpZWxkKGNyZWF0ZURhdGVJbnB1dCgiMjAxMi0wMS0w
MSIsICIyMDEzLTEyLTMxIiwgIiIpLCBwc2V1ZG9ZZWFyKScpOwotc2hvdWxkQmVUcnVlKCdpc1Jl
YWRPbmx5RmllbGQoY3JlYXRlRGF0ZUlucHV0KCIyMDEyLTAxLTAxIiwgIjIwMTItMTItMzEiLCAi
MjAxMi0wNS0zMCIpLCBwc2V1ZG9ZZWFyKScpOwotc2hvdWxkQmVGYWxzZSgnaXNSZWFkT25seUZp
ZWxkKGNyZWF0ZURhdGVJbnB1dCgiMjAxMi0wMS0wMSIsICIyMDEyLTEyLTMxIiwgIjIwMTMtMDEt
MDEiKSwgcHNldWRvWWVhciknKTsKLQotZGVidWcoJ01vbnRoIGZpZWxkOicpOwotc2hvdWxkQmVG
YWxzZSgnaXNSZWFkT25seUZpZWxkKGNyZWF0ZURhdGVJbnB1dCgiIiwgIiIsICIiKSwgcHNldWRv
TW9udGgpJyk7Ci1zaG91bGRCZUZhbHNlKCdpc1JlYWRPbmx5RmllbGQoY3JlYXRlRGF0ZUlucHV0
KCIyMDEyLTEyLTE3IiwgIiIsICIiKSwgcHNldWRvTW9udGgpJyk7Ci1zaG91bGRCZUZhbHNlKCdp
c1JlYWRPbmx5RmllbGQoY3JlYXRlRGF0ZUlucHV0KCIiLCAiMjAxMi0xMi0xNyIsICIiKSwgcHNl
dWRvTW9udGgpJyk7Ci1zaG91bGRCZUZhbHNlKCdpc1JlYWRPbmx5RmllbGQoY3JlYXRlRGF0ZUlu
cHV0KCIiLCAiIiwgIjIwMTItMTItMTciKSwgcHNldWRvTW9udGgpJyk7Ci1zaG91bGRCZVRydWUo
J2lzUmVhZE9ubHlGaWVsZChjcmVhdGVEYXRlSW5wdXQoIjIwMTItMTItMDEiLCAiMjAxMi0xMi0z
MSIsICIiKSwgcHNldWRvTW9udGgpJyk7Ci1zaG91bGRCZUZhbHNlKCdpc1JlYWRPbmx5RmllbGQo
Y3JlYXRlRGF0ZUlucHV0KCIyMDEyLTExLTAxIiwgIjIwMTMtMTItMzEiLCAiIiksIHBzZXVkb01v
bnRoKScpOwotc2hvdWxkQmVGYWxzZSgnaXNSZWFkT25seUZpZWxkKGNyZWF0ZURhdGVJbnB1dCgi
MjAxMi0xMi0wMSIsICIyMDEzLTEyLTMxIiwgIiIpLCBwc2V1ZG9Nb250aCknKTsKLXNob3VsZEJl
VHJ1ZSgnaXNSZWFkT25seUZpZWxkKGNyZWF0ZURhdGVJbnB1dCgiMjAxMi0xMi0wMSIsICIyMDEy
LTEyLTMxIiwgIjIwMTItMTItMTUiKSwgcHNldWRvTW9udGgpJyk7Ci1zaG91bGRCZUZhbHNlKCdp
c1JlYWRPbmx5RmllbGQoY3JlYXRlRGF0ZUlucHV0KCIyMDEyLTEyLTAxIiwgIjIwMTItMTItMzEi
LCAiMjAxMi0xMS0zMCIpLCBwc2V1ZG9Nb250aCknKTsKLQotZGVidWcoJ0RheSBmaWVsZDonKTsK
LWRlYnVnKCdXZSBzaG91bGQgbm90IG1ha2UgYWxsIHRoZSBmaWVsZHMgcmVhZG9ubHkgYnkgbWlu
L21heCwgc28gZGF5IGZpZWxkIGlzIGFsd2F5cyBlZGl0YWJsZS4nKTsKLXNob3VsZEJlRmFsc2Uo
J2lzUmVhZE9ubHlGaWVsZChjcmVhdGVEYXRlSW5wdXQoIiIsICIiLCAiIiksIHBzZXVkb0RheSkn
KTsKLXNob3VsZEJlRmFsc2UoJ2lzUmVhZE9ubHlGaWVsZChjcmVhdGVEYXRlSW5wdXQoIjIwMTIt
MTItMTciLCAiIiwgIiIpLCBwc2V1ZG9EYXkpJyk7Ci1zaG91bGRCZUZhbHNlKCdpc1JlYWRPbmx5
RmllbGQoY3JlYXRlRGF0ZUlucHV0KCIiLCAiMjAxMi0xMi0xNyIsICIiKSwgcHNldWRvRGF5KScp
Owotc2hvdWxkQmVGYWxzZSgnaXNSZWFkT25seUZpZWxkKGNyZWF0ZURhdGVJbnB1dCgiIiwgIiIs
ICIyMDEyLTEyLTE3IiksIHBzZXVkb0RheSknKTsKLXNob3VsZEJlRmFsc2UoJ2lzUmVhZE9ubHlG
aWVsZChjcmVhdGVEYXRlSW5wdXQoIjIwMTItMTItMTciLCAiMjAxMi0xMi0xNyIsICIiKSwgcHNl
dWRvRGF5KScpOwotc2hvdWxkQmVGYWxzZSgnaXNSZWFkT25seUZpZWxkKGNyZWF0ZURhdGVJbnB1
dCgiMjAxMi0xMi0xNyIsICIyMDEzLTEyLTE4IiwgIiIpLCBwc2V1ZG9EYXkpJyk7Ci1zaG91bGRC
ZUZhbHNlKCdpc1JlYWRPbmx5RmllbGQoY3JlYXRlRGF0ZUlucHV0KCIyMDEyLTExLTE3IiwgIjIw
MTItMTItMTciLCAiIiksIHBzZXVkb0RheSknKTsKLXNob3VsZEJlRmFsc2UoJ2lzUmVhZE9ubHlG
aWVsZChjcmVhdGVEYXRlSW5wdXQoIjIwMTItMTItMTciLCAiMjAxMy0xMi0xNyIsICIiKSwgcHNl
dWRvRGF5KScpOwotc2hvdWxkQmVGYWxzZSgnaXNSZWFkT25seUZpZWxkKGNyZWF0ZURhdGVJbnB1
dCgiMjAxMi0xMi0xNyIsICIyMDEyLTEyLTE3IiwgIjIwMTItMTItMTciKSwgcHNldWRvRGF5KScp
Owotc2hvdWxkQmVGYWxzZSgnaXNSZWFkT25seUZpZWxkKGNyZWF0ZURhdGVJbnB1dCgiMjAxMi0x
Mi0xNyIsICIyMDEyLTEyLTE3IiwgIjIwMTItMTItMTgiKSwgcHNldWRvRGF5KScpOwotCi08L3Nj
cmlwdD4KLTxzY3JpcHQgc3JjPSIuLi8uLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48
L3NjcmlwdD4KLTwvYm9keT4KLQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9k
YXRlLW11bHRpcGxlLWZpZWxkcy9kYXRlLW11bHRpcGxlLWZpZWxkcy1yZXNldC12YWx1ZS1hZnRl
ci1yZWxvYWRzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvZGF0ZS1tdWx0
aXBsZS1maWVsZHMvZGF0ZS1tdWx0aXBsZS1maWVsZHMtcmVzZXQtdmFsdWUtYWZ0ZXItcmVsb2Fk
cy1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDM5M2FmNzAwMTIy
NTNkODgyNWZhYzQ5MGNkYWMxMmUxYjM3ZjRhZTguLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9kYXRlLW11bHRpcGxl
LWZpZWxkcy9kYXRlLW11bHRpcGxlLWZpZWxkcy1yZXNldC12YWx1ZS1hZnRlci1yZWxvYWRzLWV4
cGVjdGVkLnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDE1ICswLDAgQEAKLUNoZWNrcyByZWxvYWRp
bmcgcGFnZSByZXNldHMgaW5wdXQgdmFsdWVzCi0KLU9uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBh
IHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4K
LQotCi1Jbml0aWFsIHZhbHVlczoKLVBBU1MgdGVzdElucHV0MS52YWx1ZSBpcyAiIgotUEFTUyB0
ZXN0SW5wdXQyLnZhbHVlIGlzICIxMjM0LTA1LTA2IgotUmVsb2FkZWQgdmFsdWVzOgotUEFTUyB0
ZXN0SW5wdXQxLnZhbHVlIGlzICIiCi1QQVNTIHRlc3RJbnB1dDIudmFsdWUgaXMgIjEyMzQtMDUt
MDYiCi1QQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCi0KLVRFU1QgQ09NUExFVEUKLQpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9kYXRlLW11bHRpcGxlLWZpZWxkcy9k
YXRlLW11bHRpcGxlLWZpZWxkcy1yZXNldC12YWx1ZS1hZnRlci1yZWxvYWRzLmh0bWwgYi9MYXlv
dXRUZXN0cy9mYXN0L2Zvcm1zL2RhdGUtbXVsdGlwbGUtZmllbGRzL2RhdGUtbXVsdGlwbGUtZmll
bGRzLXJlc2V0LXZhbHVlLWFmdGVyLXJlbG9hZHMuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggYWM5Zjk0ODc1NTczODI0NTQxMmRmOWFlMjc2NjZkNTk1NWQ2ODk2ZC4uMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0
L2Zvcm1zL2RhdGUtbXVsdGlwbGUtZmllbGRzL2RhdGUtbXVsdGlwbGUtZmllbGRzLXJlc2V0LXZh
bHVlLWFmdGVyLXJlbG9hZHMuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDQyICswLDAgQEAKLTwh
RE9DVFlQRSBodG1sPgotPGh0bWw+Ci08aGVhZD4KLTxzY3JpcHQgc3JjPSIuLi8uLi8uLi9mYXN0
L2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keSBv
bmxvYWQ9InJ1bkJvZHlMb2FkZWQoKSI+Ci08aWZyYW1lIGlkPWlmcmFtZSBzcmNkb2M9IjxpbnB1
dCB0eXBlPWRhdGUgaWQ9J3Rlc3QxJz48aW5wdXQgdHlwZT0nZGF0ZScgaWQ9J3Rlc3QyJyB2YWx1
ZT0nMTIzNC0wNS0wNic+Ij48L2lmcmFtZT4KLTxzY3JpcHQ+Ci1kZXNjcmlwdGlvbignQ2hlY2tz
IHJlbG9hZGluZyBwYWdlIHJlc2V0cyBpbnB1dCB2YWx1ZXMnKTsKLXdpbmRvdy5qc1Rlc3RJc0Fz
eW5jID0gdHJ1ZTsKLQotdmFyIGlmcmFtZSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdpZnJh
bWUnKTsKLXZhciB0ZXN0SW5wdXQxOwotdmFyIHRlc3RJbnB1dDI7Ci0KLWZ1bmN0aW9uIHJ1bkJv
ZHlMb2FkZWQoKQotewotICAgIHRlc3RJbnB1dDEgPSBpZnJhbWUuY29udGVudERvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCd0ZXN0MScpOwotICAgIHRlc3RJbnB1dDIgPSBpZnJhbWUuY29udGVudERv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCd0ZXN0MicpOwotICAgIGRlYnVnKCdJbml0aWFsIHZhbHVl
czonKTsKLSAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ3Rlc3RJbnB1dDEudmFsdWUnLCAnJyk7
Ci0gICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCd0ZXN0SW5wdXQyLnZhbHVlJywgJzEyMzQtMDUt
MDYnKTsKLSAgICB0ZXN0SW5wdXQxLnZhbHVlID0gJzIwMTItMTAtMDEnOwotICAgIHRlc3RJbnB1
dDIudmFsdWUgPSAnMjAxMi0xMS0wMSc7Ci0gICAgaWZyYW1lLmFkZEV2ZW50TGlzdGVuZXIoJ2xv
YWQnLCBwYXJlbnQucnVuT25JRnJhbWVMb2FkKTsKLSAgICBpZnJhbWUuY29udGVudFdpbmRvdy5s
b2NhdGlvbi5yZWxvYWQoKTsKLX0KLQotZnVuY3Rpb24gcnVuT25JRnJhbWVMb2FkKCkKLXsKLSAg
ICB0ZXN0SW5wdXQxID0gaWZyYW1lLmNvbnRlbnREb2N1bWVudC5nZXRFbGVtZW50QnlJZCgndGVz
dDEnKTsKLSAgICB0ZXN0SW5wdXQyID0gaWZyYW1lLmNvbnRlbnREb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgndGVzdDInKTsKLSAgICBkZWJ1ZygnUmVsb2FkZWQgdmFsdWVzOicpOwotICAgIHNob3Vs
ZEJlRXF1YWxUb1N0cmluZygndGVzdElucHV0MS52YWx1ZScsICcnKTsKLSAgICBzaG91bGRCZUVx
dWFsVG9TdHJpbmcoJ3Rlc3RJbnB1dDIudmFsdWUnLCAnMTIzNC0wNS0wNicpOwotICAgIGlmcmFt
ZS5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKGlmcmFtZSk7Ci0gICAgZmluaXNoSlNUZXN0KCk7Ci19
Ci08L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIuLi8uLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10
ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgotPC9ib2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZmFzdC9mb3Jtcy9kYXRlLW11bHRpcGxlLWZpZWxkcy9kYXRlLW11bHRpcGxlLWZp
ZWxkcy1zcGluYnV0dG9uLWNoYW5nZS1hbmQtaW5wdXQtZXZlbnRzLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2Zhc3QvZm9ybXMvZGF0ZS1tdWx0aXBsZS1maWVsZHMvZGF0ZS1tdWx0aXBsZS1m
aWVsZHMtc3BpbmJ1dHRvbi1jaGFuZ2UtYW5kLWlucHV0LWV2ZW50cy1leHBlY3RlZC50eHQKZGVs
ZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGEzYzJmOGUyYTBkM2E1NDAxNWY3NmQwNGY0YjBi
ZmMyMDQ3NThkYzQuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0t
IGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9kYXRlLW11bHRpcGxlLWZpZWxkcy9kYXRlLW11bHRp
cGxlLWZpZWxkcy1zcGluYnV0dG9uLWNoYW5nZS1hbmQtaW5wdXQtZXZlbnRzLWV4cGVjdGVkLnR4
dAorKysgL2Rldi9udWxsCkBAIC0xLDE5ICswLDAgQEAKLVRlc3QgZm9yIGV2ZW50IGRpc3BhdGNo
aW5nIGJ5IHNwaW4gYnV0dG9ucyBpbiBhIHR5cGU9ZGF0ZSBpbnB1dC4KLQotT24gc3VjY2Vzcywg
eW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRF
U1QgQ09NUExFVEUiLgotCi0KLUluaXRpYWwgc3RhdGUKLVBBU1MgY2hhbmdlRXZlbnRDb3VudGVy
IGlzIDAKLVBBU1MgaW5wdXRFdmVudENvdW50ZXIgaXMgMAotQ2xpY2sgdGhlIHVwcGVyIGJ1dHRv
bgotUEFTUyB0ZXN0SW5wdXQudmFsdWUgaXMgIjIwMTItMTEtMDEiCi1QQVNTIGNoYW5nZUV2ZW50
Q291bnRlciBpcyAxCi1QQVNTIGlucHV0RXZlbnRDb3VudGVyIGlzIDEKLUZvY3VzIG9uIGFub3Ro
ZXIgZmllbGQKLVBBU1MgY2hhbmdlRXZlbnRDb3VudGVyIGlzIDEKLVBBU1MgaW5wdXRFdmVudENv
dW50ZXIgaXMgMQotUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQotCi1URVNUIENPTVBM
RVRFCi0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvZGF0ZS1tdWx0aXBsZS1m
aWVsZHMvZGF0ZS1tdWx0aXBsZS1maWVsZHMtc3BpbmJ1dHRvbi1jaGFuZ2UtYW5kLWlucHV0LWV2
ZW50cy5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9kYXRlLW11bHRpcGxlLWZpZWxkcy9k
YXRlLW11bHRpcGxlLWZpZWxkcy1zcGluYnV0dG9uLWNoYW5nZS1hbmQtaW5wdXQtZXZlbnRzLmh0
bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDA3YTliOGMzODQ0ODExOTQwMTgxNjUy
MDY2YzVmN2U1NzRjMzJjM2IuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9kYXRlLW11bHRpcGxlLWZpZWxkcy9kYXRl
LW11bHRpcGxlLWZpZWxkcy1zcGluYnV0dG9uLWNoYW5nZS1hbmQtaW5wdXQtZXZlbnRzLmh0bWwK
KysrIC9kZXYvbnVsbApAQCAtMSwxNCArMCwwIEBACi08IURPQ1RZUEUgaHRtbD4KLTxodG1sPgot
PGhlYWQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1w
cmUuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy9jb21tb24uanMiPjwv
c2NyaXB0PgotPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy9jb21tb24tc3BpbmJ1dHRvbi1jaGFu
Z2UtYW5kLWlucHV0LWV2ZW50cy5qcyI+PC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keT4KLTxzY3Jp
cHQ+Ci10ZXN0U3BpbkJ1dHRvbkNoYW5nZUFuZElucHV0RXZlbnRzKCdkYXRlJywgJzIwMTItMTAt
MDEnLCAnMjAxMi0xMS0wMScpOwotPC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vLi4vZmFz
dC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KLTwvYm9keT4KLTwvaHRt
bD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvZGF0ZS1tdWx0aXBsZS1maWVs
ZHMvZGF0ZS1tdWx0aXBsZS1maWVsZHMtc3RlcHVwLXN0ZXBkb3duLWZyb20tcmVuZGVyZXItZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9kYXRlLW11bHRpcGxlLWZpZWxkcy9k
YXRlLW11bHRpcGxlLWZpZWxkcy1zdGVwdXAtc3RlcGRvd24tZnJvbS1yZW5kZXJlci1leHBlY3Rl
ZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDcxZmQ4MzM2NDMzZWRjNWViNDU5
MWY0MGFkODE4ODRlOTY0NWVhMjUuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9kYXRlLW11bHRpcGxlLWZpZWxkcy9k
YXRlLW11bHRpcGxlLWZpZWxkcy1zdGVwdXAtc3RlcGRvd24tZnJvbS1yZW5kZXJlci1leHBlY3Rl
ZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSw0OCArMCwwIEBACi1DaGVjayBzdGVwcGluZy11cCBh
bmQgLWRvd24gZm9yIGRhdGUgaW5wdXQgZmllbGRzIGZyb20gcmVuZGVyZXIuCi0KLU9uIHN1Y2Nl
c3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5
ICJURVNUIENPTVBMRVRFIi4KLQotCi1GdW5jdGlvbiBhcmd1bWVudHMgYXJlICh2YWx1ZSwgbWlu
LCBtYXgsIFtrZXlTZXF1ZW5jZV0pLgotTW9udGgKLVBBU1Mgc3RlcFVwKCIyMDAwLTA1LTAxIiwg
IjIwMDAtMDUtMDEiLCAiMjAwMC0xMC0zMSIpIGlzICIyMDAwLTA2LTAxIgotUEFTUyBzdGVwRG93
bigiMjAwMC0wNS0wMSIsICIyMDAwLTA1LTAxIiwgIjIwMDAtMTAtMzEiKSBpcyAiMjAwMC0xMC0w
MSIKLVBBU1Mgc3RlcFVwKCIyMDAwLTA1LTAxIiwgIjIwMDAtMDItMDEiLCAiMjAwMC0wNS0zMSIp
IGlzICIyMDAwLTAyLTAxIgotUEFTUyBzdGVwRG93bigiMjAwMC0wNS0wMSIsICIyMDAwLTAyLTAx
IiwgIjIwMDAtMDUtMzEiKSBpcyAiMjAwMC0wNC0wMSIKLVBBU1Mgc3RlcFVwKCIyMDAwLTA1LTAx
IiwgIjIwMDAtMDgtMDEiLCAiMjAwMC0xMC0zMSIpIGlzICIyMDAwLTA4LTAxIgotUEFTUyBzdGVw
RG93bigiMjAwMC0wNS0wMSIsICIyMDAwLTA4LTAxIiwgIjIwMDAtMTAtMzEiKSBpcyAiMjAwMC0x
MC0wMSIKLVBBU1Mgc3RlcFVwKCIyMDAwLTA1LTAxIiwgIjIwMDAtMDMtMDEiLCAiMjAwMC0wMy0z
MSIpIGlzICIyMDAwLTAzLTAxIgotUEFTUyBzdGVwRG93bigiMjAwMC0wNS0wMSIsICIyMDAwLTAz
LTAxIiwgIjIwMDAtMDMtMzEiKSBpcyAiMjAwMC0wMy0wMSIKLVBBU1Mgc3RlcFVwKCIyMDAwLTA1
LTAxIiwgIjIwMDAtMDMtMDEiLCAiMjAwMS0wNS0zMSIpIGlzICIyMDAwLTA2LTAxIgotUEFTUyBz
dGVwRG93bigiMjAwMC0wNS0wMSIsICIyMDAwLTA1LTAxIiwgIjIwMDEtMDgtMzEiKSBpcyAiMjAw
MC0wNC0wMSIKLURheQotUEFTUyBzdGVwVXAoIjIwMDAtMDUtMTAiLCAiMjAwMC0wNS0xMCIsICIy
MDAwLTA1LTIwIikgaXMgIjIwMDAtMDUtMTEiCi1QQVNTIHN0ZXBEb3duKCIyMDAwLTA1LTEwIiwg
IjIwMDAtMDUtMTAiLCAiMjAwMC0wNS0yMCIpIGlzICIyMDAwLTA1LTIwIgotUEFTUyBzdGVwVXAo
IjIwMDAtMDUtMTAiLCAiMjAwMC0wNS0wNSIsICIyMDAwLTA1LTEwIikgaXMgIjIwMDAtMDUtMDUi
Ci1QQVNTIHN0ZXBEb3duKCIyMDAwLTA1LTEwIiwgIjIwMDAtMDUtMDUiLCAiMjAwMC0wNS0xMCIp
IGlzICIyMDAwLTA1LTA5IgotUEFTUyBzdGVwVXAoIjIwMDAtMDUtMTAiLCAiMjAwMC0wNS0yMCIs
ICIyMDAwLTA1LTMwIikgaXMgIjIwMDAtMDUtMjAiCi1QQVNTIHN0ZXBEb3duKCIyMDAwLTA1LTEw
IiwgIjIwMDAtMDUtMjAiLCAiMjAwMC0wNS0zMCIpIGlzICIyMDAwLTA1LTMwIgotUEFTUyBzdGVw
VXAoIjIwMDAtMDUtMTAiLCAiMjAwMC0wNS0wNSIsICIyMDAwLTA1LTA1IikgaXMgIjIwMDAtMDUt
MDUiCi1QQVNTIHN0ZXBEb3duKCIyMDAwLTA1LTEwIiwgIjIwMDAtMDUtMDUiLCAiMjAwMC0wNS0w
NSIpIGlzICIyMDAwLTA1LTA1IgotUEFTUyBzdGVwVXAoIjIwMDAtMDUtMTAiLCAiMjAwMC0wNS0w
NSIsICIyMDAxLTA1LTEwIikgaXMgIjIwMDAtMDUtMTEiCi1QQVNTIHN0ZXBEb3duKCIyMDAwLTA1
LTEwIiwgIjIwMDAtMDUtMTAiLCAiMjAwMS0wNS0xNSIpIGlzICIyMDAwLTA1LTA5IgotUEFTUyBz
dGVwVXAoIjIwMDAtMDUtMTAiLCAiMjAwMC0wNS0wNSIsICIyMDAwLTA2LTEwIikgaXMgIjIwMDAt
MDUtMTEiCi1QQVNTIHN0ZXBEb3duKCIyMDAwLTA1LTEwIiwgIjIwMDAtMDUtMTAiLCAiMjAwMC0w
Ni0xNSIpIGlzICIyMDAwLTA1LTA5IgotWWVhcgotUEFTUyBzdGVwVXAoIjIwMDAtMDEtMDEiLCAi
MjAwMC0wMS0wMSIsICIyMDA5LTEyLTMxIikgaXMgIjIwMDEtMDEtMDEiCi1QQVNTIHN0ZXBEb3du
KCIyMDAwLTAxLTAxIiwgIjIwMDAtMDEtMDEiLCAiMjAwOS0xMi0zMSIpIGlzICIyMDA5LTAxLTAx
IgotUEFTUyBzdGVwVXAoIjIwMDAtMDEtMDEiLCAiMTk5MC0wMS0wMSIsICIyMDAwLTEyLTMxIikg
aXMgIjE5OTAtMDEtMDEiCi1QQVNTIHN0ZXBEb3duKCIyMDAwLTAxLTAxIiwgIjE5OTAtMDEtMDEi
LCAiMjAwMC0xMi0zMSIpIGlzICIxOTk5LTAxLTAxIgotUEFTUyBzdGVwVXAoIjI3NTc2MC0wMS0w
MSIsICIxOTkwLTAxLTAxIiwgbnVsbCkgaXMgIjE5OTAtMDEtMDEiCi1QQVNTIHN0ZXBEb3duKCIx
OTkwLTAxLTAxIiwgIjE5OTAtMDEtMDEiLCBudWxsKSBpcyAiMjc1NzYwLTAxLTAxIgotUEFTUyBz
dGVwVXAoIjIwMDAtMDEtMDEiLCBudWxsLCAiMjAwMC0xMi0zMSIpIGlzICIwMDAxLTAxLTAxIgot
UEFTUyBzdGVwRG93bigiMDAwMS0wMS0wMSIsIG51bGwsICIyMDAwLTEyLTMxIikgaXMgIjIwMDAt
MDEtMDEiCi1QQVNTIHN0ZXBVcCgiMTk5MC0wMS0wMSIsICIyMDAwLTAxLTAxIiwgIjIwMDktMTIt
MzEiKSBpcyAiMjAwMC0wMS0wMSIKLVBBU1Mgc3RlcERvd24oIjE5OTAtMDEtMDEiLCAiMjAwMC0w
MS0wMSIsICIyMDA5LTEyLTMxIikgaXMgIjIwMDktMDEtMDEiCi1QQVNTIHN0ZXBVcCgiMjAyMC0w
MS0wMSIsICIyMDAwLTAxLTAxIiwgIjIwMDAtMTItMzEiKSBpcyAiMjAwMC0wMS0wMSIKLVBBU1Mg
c3RlcERvd24oIjIwMjAtMDEtMDEiLCAiMjAwMC0wMS0wMSIsICIyMDAwLTEyLTMxIikgaXMgIjIw
MDAtMDEtMDEiCi0KLVBBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKLQotVEVTVCBDT01Q
TEVURQotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2RhdGUtbXVsdGlwbGUt
ZmllbGRzL2RhdGUtbXVsdGlwbGUtZmllbGRzLXN0ZXB1cC1zdGVwZG93bi1mcm9tLXJlbmRlcmVy
Lmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2RhdGUtbXVsdGlwbGUtZmllbGRzL2RhdGUt
bXVsdGlwbGUtZmllbGRzLXN0ZXB1cC1zdGVwZG93bi1mcm9tLXJlbmRlcmVyLmh0bWwKZGVsZXRl
ZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGU5ODkzZjQzMWIwZDFjYTEzNDVmM2UwNWU1OTExNGEw
NjI3ZDBmMjYuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEv
TGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9kYXRlLW11bHRpcGxlLWZpZWxkcy9kYXRlLW11bHRpcGxl
LWZpZWxkcy1zdGVwdXAtc3RlcGRvd24tZnJvbS1yZW5kZXJlci5odG1sCisrKyAvZGV2L251bGwK
QEAgLTEsODUgKzAsMCBAQAotPCFET0NUWVBFIGh0bWw+Ci08aHRtbD4KLTxoZWFkPgotPHNjcmlw
dCBzcmM9Ii4uLy4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Ci08c2Ny
aXB0IHNyYz0iLi4vcmVzb3VyY2VzL2NvbW1vbi5qcyI+PC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9k
eT4KLTxzY3JpcHQ+Ci1kZXNjcmlwdGlvbignQ2hlY2sgc3RlcHBpbmctdXAgYW5kIC1kb3duIGZv
ciBkYXRlIGlucHV0IGZpZWxkcyBmcm9tIHJlbmRlcmVyLicpOwotaWYgKCF3aW5kb3cuZXZlbnRT
ZW5kZXIpCi0gICAgZGVidWcoJ1RoaXMgdGVzdCByZXF1aXJlcyBldmVudFNlbmRlci4nKTsKLQot
dmFyIGlucHV0ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnaW5wdXQnKTsKLWlucHV0LnR5cGUg
PSAnZGF0ZSc7Ci1kb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGlucHV0KTsKLQotZnVuY3Rpb24g
c2V0SW5wdXRBdHRyaWJ1dGVzKHZhbHVlLCBtaW4sIG1heCkgewotICAgIGlucHV0LnZhbHVlID0g
dmFsdWU7Ci0gICAgaW5wdXQubWluID0gbWluOwotICAgIGlucHV0Lm1heCA9IG1heDsKLX0KLQot
ZnVuY3Rpb24gc3RlcFVwKHZhbHVlLCBtaW4sIG1heCkgewotICAgIHNldElucHV0QXR0cmlidXRl
cyh2YWx1ZSwgbWluLCBtYXgpOwotICAgIGV2ZW50U2VuZGVyLmtleURvd24oJ3VwQXJyb3cnKTsK
LSAgICByZXR1cm4gaW5wdXQudmFsdWU7Ci19Ci0KLWZ1bmN0aW9uIHN0ZXBEb3duKHZhbHVlLCBt
aW4sIG1heCkgewotICAgIHNldElucHV0QXR0cmlidXRlcyh2YWx1ZSwgbWluLCBtYXgpOwotICAg
IGV2ZW50U2VuZGVyLmtleURvd24oJ2Rvd25BcnJvdycpOwotICAgIHJldHVybiBpbnB1dC52YWx1
ZTsKLX0KLQotaW5wdXQuZm9jdXMoKTsKLWRlYnVnKCdGdW5jdGlvbiBhcmd1bWVudHMgYXJlICh2
YWx1ZSwgbWluLCBtYXgsIFtrZXlTZXF1ZW5jZV0pLicpOwotZGVidWcoJ01vbnRoJyk7Ci1zaG91
bGRCZUVxdWFsVG9TdHJpbmcoJ3N0ZXBVcCgiMjAwMC0wNS0wMSIsICIyMDAwLTA1LTAxIiwgIjIw
MDAtMTAtMzEiKScsICcyMDAwLTA2LTAxJyk7Ci1zaG91bGRCZUVxdWFsVG9TdHJpbmcoJ3N0ZXBE
b3duKCIyMDAwLTA1LTAxIiwgIjIwMDAtMDUtMDEiLCAiMjAwMC0xMC0zMSIpJywgJzIwMDAtMTAt
MDEnKTsKLXNob3VsZEJlRXF1YWxUb1N0cmluZygnc3RlcFVwKCIyMDAwLTA1LTAxIiwgIjIwMDAt
MDItMDEiLCAiMjAwMC0wNS0zMSIpJywgJzIwMDAtMDItMDEnKTsKLXNob3VsZEJlRXF1YWxUb1N0
cmluZygnc3RlcERvd24oIjIwMDAtMDUtMDEiLCAiMjAwMC0wMi0wMSIsICIyMDAwLTA1LTMxIikn
LCAnMjAwMC0wNC0wMScpOwotc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdzdGVwVXAoIjIwMDAtMDUt
MDEiLCAiMjAwMC0wOC0wMSIsICIyMDAwLTEwLTMxIiknLCAnMjAwMC0wOC0wMScpOwotc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCdzdGVwRG93bigiMjAwMC0wNS0wMSIsICIyMDAwLTA4LTAxIiwgIjIw
MDAtMTAtMzEiKScsICcyMDAwLTEwLTAxJyk7Ci1zaG91bGRCZUVxdWFsVG9TdHJpbmcoJ3N0ZXBV
cCgiMjAwMC0wNS0wMSIsICIyMDAwLTAzLTAxIiwgIjIwMDAtMDMtMzEiKScsICcyMDAwLTAzLTAx
Jyk7Ci1zaG91bGRCZUVxdWFsVG9TdHJpbmcoJ3N0ZXBEb3duKCIyMDAwLTA1LTAxIiwgIjIwMDAt
MDMtMDEiLCAiMjAwMC0wMy0zMSIpJywgJzIwMDAtMDMtMDEnKTsKLXNob3VsZEJlRXF1YWxUb1N0
cmluZygnc3RlcFVwKCIyMDAwLTA1LTAxIiwgIjIwMDAtMDMtMDEiLCAiMjAwMS0wNS0zMSIpJywg
JzIwMDAtMDYtMDEnKTsKLXNob3VsZEJlRXF1YWxUb1N0cmluZygnc3RlcERvd24oIjIwMDAtMDUt
MDEiLCAiMjAwMC0wNS0wMSIsICIyMDAxLTA4LTMxIiknLCAnMjAwMC0wNC0wMScpOwotCi1kZWJ1
ZygnRGF5Jyk7Ci1ldmVudFNlbmRlci5rZXlEb3duKCdyaWdodEFycm93Jyk7Ci1zaG91bGRCZUVx
dWFsVG9TdHJpbmcoJ3N0ZXBVcCgiMjAwMC0wNS0xMCIsICIyMDAwLTA1LTEwIiwgIjIwMDAtMDUt
MjAiKScsICcyMDAwLTA1LTExJyk7Ci1zaG91bGRCZUVxdWFsVG9TdHJpbmcoJ3N0ZXBEb3duKCIy
MDAwLTA1LTEwIiwgIjIwMDAtMDUtMTAiLCAiMjAwMC0wNS0yMCIpJywgJzIwMDAtMDUtMjAnKTsK
LXNob3VsZEJlRXF1YWxUb1N0cmluZygnc3RlcFVwKCIyMDAwLTA1LTEwIiwgIjIwMDAtMDUtMDUi
LCAiMjAwMC0wNS0xMCIpJywgJzIwMDAtMDUtMDUnKTsKLXNob3VsZEJlRXF1YWxUb1N0cmluZygn
c3RlcERvd24oIjIwMDAtMDUtMTAiLCAiMjAwMC0wNS0wNSIsICIyMDAwLTA1LTEwIiknLCAnMjAw
MC0wNS0wOScpOwotc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdzdGVwVXAoIjIwMDAtMDUtMTAiLCAi
MjAwMC0wNS0yMCIsICIyMDAwLTA1LTMwIiknLCAnMjAwMC0wNS0yMCcpOwotc2hvdWxkQmVFcXVh
bFRvU3RyaW5nKCdzdGVwRG93bigiMjAwMC0wNS0xMCIsICIyMDAwLTA1LTIwIiwgIjIwMDAtMDUt
MzAiKScsICcyMDAwLTA1LTMwJyk7Ci1zaG91bGRCZUVxdWFsVG9TdHJpbmcoJ3N0ZXBVcCgiMjAw
MC0wNS0xMCIsICIyMDAwLTA1LTA1IiwgIjIwMDAtMDUtMDUiKScsICcyMDAwLTA1LTA1Jyk7Ci1z
aG91bGRCZUVxdWFsVG9TdHJpbmcoJ3N0ZXBEb3duKCIyMDAwLTA1LTEwIiwgIjIwMDAtMDUtMDUi
LCAiMjAwMC0wNS0wNSIpJywgJzIwMDAtMDUtMDUnKTsKLXNob3VsZEJlRXF1YWxUb1N0cmluZygn
c3RlcFVwKCIyMDAwLTA1LTEwIiwgIjIwMDAtMDUtMDUiLCAiMjAwMS0wNS0xMCIpJywgJzIwMDAt
MDUtMTEnKTsKLXNob3VsZEJlRXF1YWxUb1N0cmluZygnc3RlcERvd24oIjIwMDAtMDUtMTAiLCAi
MjAwMC0wNS0xMCIsICIyMDAxLTA1LTE1IiknLCAnMjAwMC0wNS0wOScpOwotc2hvdWxkQmVFcXVh
bFRvU3RyaW5nKCdzdGVwVXAoIjIwMDAtMDUtMTAiLCAiMjAwMC0wNS0wNSIsICIyMDAwLTA2LTEw
IiknLCAnMjAwMC0wNS0xMScpOwotc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdzdGVwRG93bigiMjAw
MC0wNS0xMCIsICIyMDAwLTA1LTEwIiwgIjIwMDAtMDYtMTUiKScsICcyMDAwLTA1LTA5Jyk7Ci0K
LWRlYnVnKCdZZWFyJyk7Ci1zZXRJbnB1dEF0dHJpYnV0ZXMobnVsbCwgbnVsbCwgbnVsbCwgbnVs
bCk7Ci1ldmVudFNlbmRlci5rZXlEb3duKCdyaWdodEFycm93Jyk7Ci1zaG91bGRCZUVxdWFsVG9T
dHJpbmcoJ3N0ZXBVcCgiMjAwMC0wMS0wMSIsICIyMDAwLTAxLTAxIiwgIjIwMDktMTItMzEiKScs
ICcyMDAxLTAxLTAxJyk7Ci1zaG91bGRCZUVxdWFsVG9TdHJpbmcoJ3N0ZXBEb3duKCIyMDAwLTAx
LTAxIiwgIjIwMDAtMDEtMDEiLCAiMjAwOS0xMi0zMSIpJywgJzIwMDktMDEtMDEnKTsKLXNob3Vs
ZEJlRXF1YWxUb1N0cmluZygnc3RlcFVwKCIyMDAwLTAxLTAxIiwgIjE5OTAtMDEtMDEiLCAiMjAw
MC0xMi0zMSIpJywgJzE5OTAtMDEtMDEnKTsKLXNob3VsZEJlRXF1YWxUb1N0cmluZygnc3RlcERv
d24oIjIwMDAtMDEtMDEiLCAiMTk5MC0wMS0wMSIsICIyMDAwLTEyLTMxIiknLCAnMTk5OS0wMS0w
MScpOwotc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdzdGVwVXAoIjI3NTc2MC0wMS0wMSIsICIxOTkw
LTAxLTAxIiwgbnVsbCknLCAnMTk5MC0wMS0wMScpOwotc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdz
dGVwRG93bigiMTk5MC0wMS0wMSIsICIxOTkwLTAxLTAxIiwgbnVsbCknLCAnMjc1NzYwLTAxLTAx
Jyk7Ci1zaG91bGRCZUVxdWFsVG9TdHJpbmcoJ3N0ZXBVcCgiMjAwMC0wMS0wMSIsIG51bGwsICIy
MDAwLTEyLTMxIiknLCAnMDAwMS0wMS0wMScpOwotc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdzdGVw
RG93bigiMDAwMS0wMS0wMSIsIG51bGwsICIyMDAwLTEyLTMxIiknLCAnMjAwMC0wMS0wMScpOwot
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdzdGVwVXAoIjE5OTAtMDEtMDEiLCAiMjAwMC0wMS0wMSIs
ICIyMDA5LTEyLTMxIiknLCAnMjAwMC0wMS0wMScpOwotc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdz
dGVwRG93bigiMTk5MC0wMS0wMSIsICIyMDAwLTAxLTAxIiwgIjIwMDktMTItMzEiKScsICcyMDA5
LTAxLTAxJyk7Ci1zaG91bGRCZUVxdWFsVG9TdHJpbmcoJ3N0ZXBVcCgiMjAyMC0wMS0wMSIsICIy
MDAwLTAxLTAxIiwgIjIwMDAtMTItMzEiKScsICcyMDAwLTAxLTAxJyk7Ci1zaG91bGRCZUVxdWFs
VG9TdHJpbmcoJ3N0ZXBEb3duKCIyMDIwLTAxLTAxIiwgIjIwMDAtMDEtMDEiLCAiMjAwMC0xMi0z
MSIpJywgJzIwMDAtMDEtMDEnKTsKLQotZGVidWcoJycpOwotaW5wdXQucmVtb3ZlKCk7Ci08L3Nj
cmlwdD4KLTxzY3JpcHQgc3JjPSIuLi8uLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48
L3NjcmlwdD4KLTwvYm9keT4KLTwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3Qv
Zm9ybXMvZGF0ZS1tdWx0aXBsZS1maWVsZHMvZGF0ZS1tdWx0aXBsZS1maWVsZHMtdmFsaWRpdHkt
YmFkaW5wdXQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9kYXRlLW11bHRp
cGxlLWZpZWxkcy9kYXRlLW11bHRpcGxlLWZpZWxkcy12YWxpZGl0eS1iYWRpbnB1dC1leHBlY3Rl
ZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDFmZTBhNmY2NDhkOTA2MjMyMWI1
MjI0OWI5MGJhNjVlNGVhMWM5OTQuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9kYXRlLW11bHRpcGxlLWZpZWxkcy9k
YXRlLW11bHRpcGxlLWZpZWxkcy12YWxpZGl0eS1iYWRpbnB1dC1leHBlY3RlZC50eHQKKysrIC9k
ZXYvbnVsbApAQCAtMSwyMCArMCwwIEBACi1BIGRhdGUgaW5wdXQgZmllbGRzIHdpdGggYSBiYWQg
dXNlciBpbnB1dCBzaG91bGQgbWFrZSB2YWxpZGl0eS5iYWRJbnB1dCB0cnVlIGFuZCBoYXZlIDpp
bnZhbGlkIHN0eWxlLgotCi1PbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBB
U1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCi0KLQotSW5pdGlhbCBz
dGF0ZS4gVGhlIGVsbWVudCBoYXMgbm8gdmFsdWUuCi1QQVNTIGNvbG9yT2YoaW5wdXQpIGlzIG5v
dCBpbnZhbGlkU3R5bGVDb2xvcgotUEFTUyBpbnB1dC52YWxpZGl0eS5iYWRJbnB1dCBpcyBmYWxz
ZQotU2V0IGEgdmFsdWUgdG8gdGhlIGZpcnN0IHN1Yi1maWVsZC4gVGhlIGVsZW1lbnQgYmVjb21l
cyBiYWRJbnB1dC4KLVBBU1MgY29sb3JPZihpbnB1dCkgaXMgaW52YWxpZFN0eWxlQ29sb3IKLVBB
U1MgaW5wdXQudmFsaWRpdHkuYmFkSW5wdXQgaXMgdHJ1ZQotU2V0IGFuIGludmFsaWQgZGF0ZSwg
MjAxMi0wMi0zMS4KLVBBU1MgaW5wdXQudmFsaWRpdHkuYmFkSW5wdXQgaXMgZmFsc2UKLVBBU1Mg
aW5wdXQudmFsdWUgaXMgIiIKLVBBU1MgaW5wdXQudmFsaWRpdHkuYmFkSW5wdXQgaXMgdHJ1ZQot
UEFTUyBjb2xvck9mKGlucHV0KSBpcyBpbnZhbGlkU3R5bGVDb2xvcgotUEFTUyBzdWNjZXNzZnVs
bHlQYXJzZWQgaXMgdHJ1ZQotCi1URVNUIENPTVBMRVRFCi0KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2Zhc3QvZm9ybXMvZGF0ZS1tdWx0aXBsZS1maWVsZHMvZGF0ZS1tdWx0aXBsZS1maWVsZHMt
dmFsaWRpdHktYmFkaW5wdXQuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvZGF0ZS1tdWx0
aXBsZS1maWVsZHMvZGF0ZS1tdWx0aXBsZS1maWVsZHMtdmFsaWRpdHktYmFkaW5wdXQuaHRtbApk
ZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYzFhNzg5ZWVmZjRiY2U0MDg5Mjk2Mjc1MmI0
YTE4ZDBmMzljY2I1MC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAot
LS0gYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2RhdGUtbXVsdGlwbGUtZmllbGRzL2RhdGUtbXVs
dGlwbGUtZmllbGRzLXZhbGlkaXR5LWJhZGlucHV0Lmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSwx
NCArMCwwIEBACi08IURPQ1RZUEUgaHRtbD4KLTxzdHlsZT4KLTppbnZhbGlkIHsKLSAgICBiYWNr
Z3JvdW5kLWNvbG9yOiAjZmYwMDAwOwotfQotPC9zdHlsZT4KLTxib2R5PgotPHNjcmlwdCBzcmM9
Ii4uLy4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNy
Yz0iLi4vcmVzb3VyY2VzL211bHRpcGxlLWZpZWxkcy12YWxpZGl0eS1iYWRpbnB1dC5qcyI+PC9z
Y3JpcHQ+Ci08c2NyaXB0PgotdGVzdEJhZElucHV0KCdkYXRlJyk7Ci08L3NjcmlwdD4KLTxzY3Jp
cHQgc3JjPSIuLi8uLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KLTwv
Ym9keT4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvZGF0ZS1tdWx0aXBsZS1m
aWVsZHMvZGF0ZS1tdWx0aXBsZS1maWVsZHMtdmFsdWUtc2V0LWVtcHR5LWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvZGF0ZS1tdWx0aXBsZS1maWVsZHMvZGF0ZS1tdWx0aXBs
ZS1maWVsZHMtdmFsdWUtc2V0LWVtcHR5LWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggNDg1M2FiOWNlMGU0OTQ3Mjc2MDcyMGNjYzYxNmNmZjc1MTZlN2M3ZS4uMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9m
YXN0L2Zvcm1zL2RhdGUtbXVsdGlwbGUtZmllbGRzL2RhdGUtbXVsdGlwbGUtZmllbGRzLXZhbHVl
LXNldC1lbXB0eS1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSwxMiArMCwwIEBACi1D
aGVjayBpZiBpbnB1dC52YWx1ZT0iIiBjbGVhcnMgYW4gaW5wdXQgd2l0aCBwYXJ0aWFsbHktc3Bl
Y2lmaWVkIHZhbHVlLgotCi1PbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBB
U1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCi0KLQotRW1wdHkgdGV4
dDogbW0vZGQveXl5eQotUEFTUyBldmVudFNlbmRlci5rZXlEb3duKCJ1cEFycm93Iik7IGdldFVz
ZXJBZ2VudFNoYWRvd1RleHRDb250ZW50KGlucHV0KSBpcyBub3QgZW1wdHlUZXh0Ci1QQVNTIGlu
cHV0LnZhbHVlID0gIiI7IGdldFVzZXJBZ2VudFNoYWRvd1RleHRDb250ZW50KGlucHV0KSBpcyBl
bXB0eVRleHQKLVBBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKLQotVEVTVCBDT01QTEVU
RQotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2RhdGUtbXVsdGlwbGUtZmll
bGRzL2RhdGUtbXVsdGlwbGUtZmllbGRzLXZhbHVlLXNldC1lbXB0eS5odG1sIGIvTGF5b3V0VGVz
dHMvZmFzdC9mb3Jtcy9kYXRlLW11bHRpcGxlLWZpZWxkcy9kYXRlLW11bHRpcGxlLWZpZWxkcy12
YWx1ZS1zZXQtZW1wdHkuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDI4Yjhl
MTk0NGNjZWM0MDgzNTU0NjI5MjI0MDJlNzZjODVjYTcwNS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2RhdGUtbXVs
dGlwbGUtZmllbGRzL2RhdGUtbXVsdGlwbGUtZmllbGRzLXZhbHVlLXNldC1lbXB0eS5odG1sCisr
KyAvZGV2L251bGwKQEAgLTEsMTAgKzAsMCBAQAotPCFET0NUWVBFIGh0bWw+Ci08Ym9keT4KLTxz
Y3JpcHQgc3JjPSIuLi8uLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0Pgot
PHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy9jb21tb24uanMiPjwvc2NyaXB0PgotPHNjcmlwdCBz
cmM9Ii4uL3Jlc291cmNlcy9tdWx0aXBsZS1maWVsZHMtdmFsdWUtc2V0LWVtcHR5LmpzIj48L3Nj
cmlwdD4KLTxzY3JpcHQ+Ci10ZXN0U2V0dGluZ0VtcHR5U3RyaW5nQ2xlYXJzU3ViRmllbGRzKCdk
YXRlJyk7Ci08L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIuLi8uLi9qcy9yZXNvdXJjZXMvanMtdGVz
dC1wb3N0LmpzIj48L3NjcmlwdD4KLTwvYm9keT4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zh
c3QvZm9ybXMvZGF0ZS1tdWx0aXBsZS1maWVsZHMvZGF0ZS1tdWx0aXBsZS1maWVsZHMtd2hlZWwt
ZXZlbnQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9kYXRlLW11bHRpcGxl
LWZpZWxkcy9kYXRlLW11bHRpcGxlLWZpZWxkcy13aGVlbC1ldmVudC1leHBlY3RlZC50eHQKZGVs
ZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDI0YThjNDZmZWVkNjJmZjhiOTk0ZGEyZmE1MTY0
OTk1Y2Y3MGY0MmYuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0t
IGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9kYXRlLW11bHRpcGxlLWZpZWxkcy9kYXRlLW11bHRp
cGxlLWZpZWxkcy13aGVlbC1ldmVudC1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSwy
MyArMCwwIEBACi1UZXN0IGZvciB3aGVlbCBvcGVyYXRpb25zIGZvciA8aW5wdXQgdHlwZT1kYXRl
PgotCi1PbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2Vz
LCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCi0KLQotSW5pdGlhbCB2YWx1ZSBpcyAxOTk5
LTAxLTEzLiBXZSdsbCB3aGVlbCB1cCBieSAxOgotUEFTUyBpbnB1dC52YWx1ZSBpcyAiMTk5OS0w
Mi0xMyIKLVdoZWVsIHVwIGJ5IDEwMDoKLVBBU1MgaW5wdXQudmFsdWUgaXMgIjE5OTktMDMtMTMi
Ci1XaGVlbCBkb3duIGJ5IDE6Ci1QQVNTIGlucHV0LnZhbHVlIGlzICIxOTk5LTAyLTEzIgotV2hl
ZWwgZG93biBieSAyNTY6Ci1QQVNTIGlucHV0LnZhbHVlIGlzICIxOTk5LTAxLTEzIgotRGlzYWJs
ZWQgaW5wdXQgZWxlbWVudDoKLVBBU1MgaW5wdXQudmFsdWUgaXMgIjE5OTktMDEtMTMiCi1SZWFk
LW9ubHkgaW5wdXQgZWxlbWVudDoKLVBBU1MgaW5wdXQudmFsdWUgaXMgIjE5OTktMDEtMTMiCi1O
byBmb2N1czoKLVBBU1MgaW5wdXQudmFsdWUgaXMgIjE5OTktMDEtMTMiCi1QQVNTIHN1Y2Nlc3Nm
dWxseVBhcnNlZCBpcyB0cnVlCi0KLVRFU1QgQ09NUExFVEUKLQpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZmFzdC9mb3Jtcy9kYXRlLW11bHRpcGxlLWZpZWxkcy9kYXRlLW11bHRpcGxlLWZpZWxk
cy13aGVlbC1ldmVudC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9kYXRlLW11bHRpcGxl
LWZpZWxkcy9kYXRlLW11bHRpcGxlLWZpZWxkcy13aGVlbC1ldmVudC5odG1sCmRlbGV0ZWQgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCA2NjBiZjU5YjE1YzU4ODA4MjFhYWU4YTY4MDIwNjYzMjVjYjg1
ZjMwLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91
dFRlc3RzL2Zhc3QvZm9ybXMvZGF0ZS1tdWx0aXBsZS1maWVsZHMvZGF0ZS1tdWx0aXBsZS1maWVs
ZHMtd2hlZWwtZXZlbnQuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDE3ICswLDAgQEAKLTwhRE9D
VFlQRSBodG1sPgotPGh0bWw+Ci08aGVhZD4KLTxzY3JpcHQgc3JjPSIuLi8uLi8uLi9mYXN0L2pz
L3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iLi4vcmVz
b3VyY2VzL2NvbW1vbi13aGVlbC1ldmVudC5qcyI+PC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keT4K
LTxzY3JpcHQ+Ci10ZXN0V2hlZWxFdmVudCh7Ci0gICAgJ2lucHV0VHlwZScgOiAnZGF0ZScsCi0g
ICAgJ2luaXRpYWxWYWx1ZScgOiAnMTk5OS0wMS0xMycsCi0gICAgJ3N0ZXBVcFZhbHVlMScgOiAn
MTk5OS0wMi0xMycsCi0gICAgJ3N0ZXBVcFZhbHVlMicgOiAnMTk5OS0wMy0xMycgfSk7Ci08L3Nj
cmlwdD4KLTxzY3JpcHQgc3JjPSIuLi8uLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXBv
c3QuanMiPjwvc2NyaXB0PgotPC9ib2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZmFzdC9mb3Jtcy9kYXRlLW11bHRpcGxlLWZpZWxkcy9yZXNvdXJjZXMvcHJlc2VydmUtdmFs
dWUtYWZ0ZXItaGlzdG9yeS1iYWNrLWZyYW1lLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1z
L2RhdGUtbXVsdGlwbGUtZmllbGRzL3Jlc291cmNlcy9wcmVzZXJ2ZS12YWx1ZS1hZnRlci1oaXN0
b3J5LWJhY2stZnJhbWUuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYzdjM2U5
OTc4MTgyNjFkNjIxMjgxMTE3NWY4ZGM2YjRjYmMxMWVmYS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2RhdGUtbXVs
dGlwbGUtZmllbGRzL3Jlc291cmNlcy9wcmVzZXJ2ZS12YWx1ZS1hZnRlci1oaXN0b3J5LWJhY2st
ZnJhbWUuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDEwMCArMCwwIEBACi08IURPQ1RZUEUgaHRt
bD4KLTxib2R5PgotPGlucHV0IHR5cGU9ImRhdGUiIGlkPSJ0ZXN0MSI+Ci08aW5wdXQgdHlwZT0i
ZGF0ZSIgaWQ9InRlc3QyIiBtaW49IjE5OTktMDEtMDEiIG1heD0iMjAwMC0xMi0zMSI+Ci08c2Ny
aXB0PgotZnVuY3Rpb24gZmllbGRzVGV4dChpbnB1dCkgewotICAgIHJldHVybiB3aW5kb3cuaW50
ZXJuYWxzLm9sZGVzdFNoYWRvd1Jvb3QoaW5wdXQpLnRleHRDb250ZW50OwotfQotCi1mdW5jdGlv
biBiYWNrKG5ld1N0YXRlKSB7Ci0gICAgcGFyZW50LnN0YXRlID0gbmV3U3RhdGU7Ci0gICAgaGlz
dG9yeS5iYWNrKCk7Ci19Ci0KLWZ1bmN0aW9uIGZvcndhcmQobmV3U3RhdGUpIHsKLSAgICBwYXJl
bnQuc3RhdGUgPSBuZXdTdGF0ZTsKLSAgICBoaXN0b3J5LmZvcndhcmQoKTsKLX0KLQotZnVuY3Rp
b24ga2V5RG93bihrZXkpIHsKLSAgICBldmVudFNlbmRlci5rZXlEb3duKGtleSk7Ci19Ci0KLXZh
ciB0ZXN0SW5wdXQxID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3Rlc3QxJyk7Ci12YXIgdGVz
dElucHV0MiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCd0ZXN0MicpOwotdmFyIHBhZ2VOYW1l
ID0gbG9jYXRpb24uc2VhcmNoIHx8ICc/cGFnZTEnOwotCi13aW5kb3cub25sb2FkID0gZnVuY3Rp
b24oKSB7Ci0gICAgc3dpdGNoIChwYWdlTmFtZSkgewotICAgIGNhc2UgJz9wYWdlMSc6Ci0gICAg
ICAgIHN3aXRjaCAocGFyZW50LnN0YXRlKSB7Ci0gICAgICAgIGNhc2UgJ2RpcmVjdCc6IHsKLSAg
ICAgICAgICAgIHRlc3RJbnB1dDEudmFsdWUgPSAnMTIwMTItMTAtMDknOwotICAgICAgICAgICAg
dGVzdElucHV0Mi5mb2N1cygpOwotICAgICAgICAgICAga2V5RG93bigndXBBcnJvdycpOyAvLyAt
PiBbMDFdL2RkL3l5eXkKLSAgICAgICAgICAgIGtleURvd24oJ1x0Jyk7IC8vICAgICAgLT4gMDEv
W2RkXS95eXl5Ci0gICAgICAgICAgICBrZXlEb3duKCdcdCcpOyAvLyAgICAgIC0+IDAxL2RkL1t5
eXl5XQotICAgICAgICAgICAga2V5RG93bigndXBBcnJvdycpOyAvLyAtPiAwMS9kZC9bMTk5OV0K
LSAgICAgICAgICAgIHZhciBuZXh0VXJpID0gbG9jYXRpb24udG9TdHJpbmcoKS5yZXBsYWNlKCc/
cGFnZTEnLCAnP3BhZ2UyJyk7Ci0gICAgICAgICAgICBzZXRUaW1lb3V0KGZ1bmN0aW9uKCkgeyB3
aW5kb3cubG9jYXRpb24uaHJlZiA9IG5leHRVcmk7IH0sIDApOwotICAgICAgICAgICAgYnJlYWs7
Ci0gICAgICAgIH0KLSAgICAgICAgY2FzZSAnYmFja1RvMSc6Ci0gICAgICAgICAgICBwYXJlbnQu
dGVzdENhc2VzLnB1c2goCi0gICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICAn
ZGVzY3JpcHRpb24nIDogJ1dlbnQgYmFjayB0byBhIHBhZ2UuIENoZWNraW5nIGEgZm9ybSBjb250
cm9sIHdoaWNoIGhhZCBhIGZ1bGwgdmFsdWUnLAotICAgICAgICAgICAgICAgICAgICAnYWN0dWFs
JyA6IHRlc3RJbnB1dDEudmFsdWUsCi0gICAgICAgICAgICAgICAgICAgICdleHBlY3RlZCcgOiAn
MTIwMTItMTAtMDknIH0sCi0gICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICAn
ZGVzY3JpcHRpb24nIDogJ1dlbnQgYmFjayB0byBhIHBhZ2UuIENoZWNraW5nIGEgZm9ybSBjb250
cm9sIHdoaWNoIGhhZCBhIHBhcnRpYWwgdmFsdWUnLAotICAgICAgICAgICAgICAgICAgICAnYWN0
dWFsJyA6IGZpZWxkc1RleHQodGVzdElucHV0MiksCi0gICAgICAgICAgICAgICAgICAgICdleHBl
Y3RlZCcgOiAnMDEvZGQvMTk5OScKLSAgICAgICAgICAgICAgICB9KTsKLSAgICAgICAgICAgIGZv
cndhcmQoJ2ZvcndhcmRUbzInKTsKLSAgICAgICAgICAgIGJyZWFrOwotICAgICAgICBjYXNlICdi
YWNrVG8xU2Vjb25kJzoKLSAgICAgICAgICAgIHBhcmVudC5maW5pc2hUZXN0KCk7Ci0gICAgICAg
ICAgICBicmVhazsKLSAgICAgICAgZGVmYXVsdDoKLSAgICAgICAgICAgIHBhcmVudC5mYWlsZWQo
J1VuZXhwZWN0ZWQgc3RhdGUoJyArIHBhcmVudC5zdGF0ZSArICcpJyk7Ci0gICAgICAgICAgICBi
cmVhazsKLSAgICAgICAgfQotICAgICAgICBicmVhazsKLQotICAgIGNhc2UgJz9wYWdlMic6Ci0g
ICAgICAgIHN3aXRjaCAocGFyZW50LnN0YXRlKSB7Ci0gICAgICAgIGNhc2UgJ2RpcmVjdCc6Ci0g
ICAgICAgICAgICB0ZXN0SW5wdXQxLnZhbHVlID0gJzAwMDEtMTEtMTcnOwotICAgICAgICAgICAg
dGVzdElucHV0Mi5mb2N1cygpOwotICAgICAgICAgICAga2V5RG93bignXHQnKTsgLy8gICAgICAg
IC0+IG1tL1tkZF0veXl5eQotICAgICAgICAgICAga2V5RG93bignZG93bkFycm93Jyk7IC8vIC0+
IG1tL1szMV0veXl5eQotICAgICAgICAgICAgYmFjaygnYmFja1RvMScpOwotICAgICAgICAgICAg
YnJlYWs7Ci0gICAgICAgIGNhc2UgJ2ZvcndhcmRUbzInOgotICAgICAgICAgICAgcGFyZW50LnRl
c3RDYXNlcy5wdXNoKAotICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAgJ2Rl
c2NyaXB0aW9uJyA6ICdXZW50IGZvcndhcmQgdG8gYSBwYWdlLiBDaGVja2luZyBhIGZvcm0gY29u
dHJvbCB3aGljaCBoYWQgYSBmdWxsIHZhbHVlJywKLSAgICAgICAgICAgICAgICAgICAgJ2FjdHVh
bCcgOiB0ZXN0SW5wdXQxLnZhbHVlLAotICAgICAgICAgICAgICAgICAgICAnZXhwZWN0ZWQnIDog
JzAwMDEtMTEtMTcnCi0gICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICB7Ci0gICAg
ICAgICAgICAgICAgICAgICdkZXNjcmlwdGlvbicgOiAnV2VudCBmb3J3YXJkIHRvIGEgcGFnZS4g
Q2hlY2tpbmcgYSBmb3JtIGNvbnRyb2wgd2hpY2ggaGFkIGEgcGFydGlhbCB2YWx1ZScsCi0gICAg
ICAgICAgICAgICAgICAgICdhY3R1YWwnIDogZmllbGRzVGV4dCh0ZXN0SW5wdXQyKSwKLSAgICAg
ICAgICAgICAgICAgICAgJ2V4cGVjdGVkJyA6ICdtbS8zMS95eXl5JwotICAgICAgICAgICAgICAg
IH0pOwotICAgICAgICAgICAgYmFjaygnYmFja1RvMVNlY29uZCcpOwotICAgICAgICAgICAgYnJl
YWs7Ci0gICAgICAgIGRlZmF1bHQ6Ci0gICAgICAgICAgICBwYXJlbnQuZmFpbGVkKCdVbmV4cGVj
dGVkIHN0YXRlKCcgKyBwYXJlbnQuc3RhdGUgKyAnKScpOwotICAgICAgICAgICAgYnJlYWs7Ci0g
ICAgICAgIH0KLSAgICAgICAgYnJlYWs7Ci0KLSAgICBkZWZhdWx0OgotICAgICAgICBwYXJlbnQu
ZmFpbGVkKCdVbmV4cGVjdGVkIHBhZ2UoJyArIHBhZ2VOYW1lICsgJyknKTsKLSAgICAgICAgYnJl
YWs7Ci0gICAgfQotfTsKLTwvc2NyaXB0PgotPC9ib2R5PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZmFzdC9mb3Jtcy9kYXRldGltZS1tdWx0aXBsZS1maWVsZHMvZGF0ZXRpbWUtbXVsdGlwbGUt
ZmllbGRzLWZhbGxiYWNrLWZvcm1hdC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2Zv
cm1zL2RhdGV0aW1lLW11bHRpcGxlLWZpZWxkcy9kYXRldGltZS1tdWx0aXBsZS1maWVsZHMtZmFs
bGJhY2stZm9ybWF0LWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
YTcyYmI3OTUzYjU0Zjg3MjM3ZjE3MTU1NTI2NGJlMjA5MjZkNTA1OS4uMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2Rh
dGV0aW1lLW11bHRpcGxlLWZpZWxkcy9kYXRldGltZS1tdWx0aXBsZS1maWVsZHMtZmFsbGJhY2st
Zm9ybWF0LWV4cGVjdGVkLnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDE1ICswLDAgQEAKLUNoZWNr
cyBpbmNvbXBsZXRlIGRhdGV0aW1lIGZvcm1hdHMgYXJlIHJlamVjdGVkLgotCi1PbiBzdWNjZXNz
LCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAi
VEVTVCBDT01QTEVURSIuCi0KLQotVmFsaWQgZm9ybWF0Ci1QQVNTIGdldFVzZXJBZ2VudFNoYWRv
d1RleHRDb250ZW50KGlucHV0KSBpcyAiMTk5OS0wNy0zMSAxMTo1OSBQTSIKLUludmFsaWQgZm9y
bWF0LCBmYWxsYmFjayB0byB5eXl5LU1NLWRkJ1QnSEg6bW0KLVBBU1MgZ2V0VXNlckFnZW50U2hh
ZG93VGV4dENvbnRlbnQoaW5wdXQpIGlzICIxOTk5LTA3LTMxVDIzOjU5IgotUEFTUyBnZXRVc2Vy
QWdlbnRTaGFkb3dUZXh0Q29udGVudChpbnB1dCkgaXMgIjE5OTktMDctMzFUMjM6NTkiCi1QQVNT
IGdldFVzZXJBZ2VudFNoYWRvd1RleHRDb250ZW50KGlucHV0KSBpcyAiMTk5OS0wNy0zMVQyMzo1
OSIKLVBBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKLQotVEVTVCBDT01QTEVURQotCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2RhdGV0aW1lLW11bHRpcGxlLWZpZWxk
cy9kYXRldGltZS1tdWx0aXBsZS1maWVsZHMtZmFsbGJhY2stZm9ybWF0Lmh0bWwgYi9MYXlvdXRU
ZXN0cy9mYXN0L2Zvcm1zL2RhdGV0aW1lLW11bHRpcGxlLWZpZWxkcy9kYXRldGltZS1tdWx0aXBs
ZS1maWVsZHMtZmFsbGJhY2stZm9ybWF0Lmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDIwOWY2ODhhZDk2M2M4NWMwNzczZTM4NzZkZDVkZWFjYWJlZDJmYzEuLjAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jt
cy9kYXRldGltZS1tdWx0aXBsZS1maWVsZHMvZGF0ZXRpbWUtbXVsdGlwbGUtZmllbGRzLWZhbGxi
YWNrLWZvcm1hdC5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsMzkgKzAsMCBAQAotPCFET0NUWVBF
IGh0bWw+Ci08aHRtbD4KLTxoZWFkPgotPHNjcmlwdCBzcmM9Ii4uLy4uL2pzL3Jlc291cmNlcy9q
cy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL2NvbW1v
bi5qcyI+PC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keT4KLTxzY3JpcHQ+Ci1kZXNjcmlwdGlvbign
Q2hlY2tzIGluY29tcGxldGUgZGF0ZXRpbWUgZm9ybWF0cyBhcmUgcmVqZWN0ZWQuJyk7Ci0KLXZh
ciBpbnB1dCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2lucHV0Jyk7Ci1pbnB1dC50eXBlID0g
J2RhdGV0aW1lLWxvY2FsJzsKLWRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoaW5wdXQpOwotCi1m
dW5jdGlvbiBzZXREYXRlVGltZUZvcm1hdChwYXR0ZXJuKSB7Ci0gICAgdmFyIHZhbHVlID0gaW5w
dXQudmFsdWU7Ci0gICAgZ2V0RWxlbWVudEJ5UHNldWRvSWQoaW50ZXJuYWxzLnlvdW5nZXN0U2hh
ZG93Um9vdChpbnB1dCksICctd2Via2l0LWRhdGV0aW1lLWVkaXQnKS5zZXRBdHRyaWJ1dGUoJ3Bh
dHRlcm4nLCBwYXR0ZXJuKTsKLSAgICBpbnB1dC52YWx1ZSA9ICcnOyAvLyBVcGRhdGVzIHRoZSBl
bGVtZW50IGZvciBuZXcgZm9ybWF0Ci0gICAgaW5wdXQudmFsdWUgPSB2YWx1ZTsKLX0KLQotaW5w
dXQudmFsdWUgPSAnMTk5OS0wNy0zMVQyMzo1OSc7Ci0KLWRlYnVnKCdWYWxpZCBmb3JtYXQnKTsK
LXNldERhdGVUaW1lRm9ybWF0KCJ5eXl5LU1NLWRkIGhoOm1tIGEiKTsKLXNob3VsZEJlRXF1YWxU
b1N0cmluZygnZ2V0VXNlckFnZW50U2hhZG93VGV4dENvbnRlbnQoaW5wdXQpJywgJzE5OTktMDct
MzEgMTE6NTkgUE0nKTsKLQotZGVidWcoIkludmFsaWQgZm9ybWF0LCBmYWxsYmFjayB0byB5eXl5
LU1NLWRkJ1QnSEg6bW0iKTsKLXNldERhdGVUaW1lRm9ybWF0KCd5eXl5LU1NLWRkJyk7Ci1zaG91
bGRCZUVxdWFsVG9TdHJpbmcoJ2dldFVzZXJBZ2VudFNoYWRvd1RleHRDb250ZW50KGlucHV0KScs
ICcxOTk5LTA3LTMxVDIzOjU5Jyk7Ci1zZXREYXRlVGltZUZvcm1hdCgnSEg6bW0nKTsKLXNob3Vs
ZEJlRXF1YWxUb1N0cmluZygnZ2V0VXNlckFnZW50U2hhZG93VGV4dENvbnRlbnQoaW5wdXQpJywg
JzE5OTktMDctMzFUMjM6NTknKTsKLXNldERhdGVUaW1lRm9ybWF0KCJ5eXl5LU1NLWRkJ1QnaGg6
bW0iKTsKLXNob3VsZEJlRXF1YWxUb1N0cmluZygnZ2V0VXNlckFnZW50U2hhZG93VGV4dENvbnRl
bnQoaW5wdXQpJywgJzE5OTktMDctMzFUMjM6NTknKTsKLQotPC9zY3JpcHQ+Ci08c2NyaXB0IHNy
Yz0iLi4vLi4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Ci08L2JvZHk+
Ci08L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2RhdGV0aW1lLW11
bHRpcGxlLWZpZWxkcy9kYXRldGltZS1tdWx0aXBsZS1maWVsZHMtdmFsaWRpdHktYmFkaW5wdXQt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9kYXRldGltZS1tdWx0aXBsZS1m
aWVsZHMvZGF0ZXRpbWUtbXVsdGlwbGUtZmllbGRzLXZhbGlkaXR5LWJhZGlucHV0LWV4cGVjdGVk
LnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggM2E0ZWU0NThlNWIyMjEzMjEyNTZk
NmQzNzg4MjMxOWE4M2VkMjZiZS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2RhdGV0aW1lLW11bHRpcGxlLWZpZWxk
cy9kYXRldGltZS1tdWx0aXBsZS1maWVsZHMtdmFsaWRpdHktYmFkaW5wdXQtZXhwZWN0ZWQudHh0
CisrKyAvZGV2L251bGwKQEAgLTEsMjAgKzAsMCBAQAotQSBkYXRldGltZSBpbnB1dCBmaWVsZHMg
d2l0aCBhIGJhZCB1c2VyIGlucHV0IHNob3VsZCBtYWtlIHZhbGlkaXR5LmJhZElucHV0IHRydWUg
YW5kIGhhdmUgOmludmFsaWQgc3R5bGUuCi0KLU9uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNl
cmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KLQot
Ci1Jbml0aWFsIHN0YXRlLiBUaGUgZWxtZW50IGhhcyBubyB2YWx1ZS4KLVBBU1MgY29sb3JPZihp
bnB1dCkgaXMgbm90IGludmFsaWRTdHlsZUNvbG9yCi1QQVNTIGlucHV0LnZhbGlkaXR5LmJhZElu
cHV0IGlzIGZhbHNlCi1TZXQgYSB2YWx1ZSB0byB0aGUgZmlyc3Qgc3ViLWZpZWxkLiBUaGUgZWxl
bWVudCBiZWNvbWVzIGJhZElucHV0LgotUEFTUyBjb2xvck9mKGlucHV0KSBpcyBpbnZhbGlkU3R5
bGVDb2xvcgotUEFTUyBpbnB1dC52YWxpZGl0eS5iYWRJbnB1dCBpcyB0cnVlCi1TZXQgYW4gaW52
YWxpZCBkYXRlLCAyMDEyLTAyLTMxLgotUEFTUyBpbnB1dC52YWxpZGl0eS5iYWRJbnB1dCBpcyBm
YWxzZQotUEFTUyBpbnB1dC52YWx1ZSBpcyAiIgotUEFTUyBpbnB1dC52YWxpZGl0eS5iYWRJbnB1
dCBpcyB0cnVlCi1QQVNTIGNvbG9yT2YoaW5wdXQpIGlzIGludmFsaWRTdHlsZUNvbG9yCi1QQVNT
IHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCi0KLVRFU1QgQ09NUExFVEUKLQpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9kYXRldGltZS1tdWx0aXBsZS1maWVsZHMvZGF0ZXRp
bWUtbXVsdGlwbGUtZmllbGRzLXZhbGlkaXR5LWJhZGlucHV0Lmh0bWwgYi9MYXlvdXRUZXN0cy9m
YXN0L2Zvcm1zL2RhdGV0aW1lLW11bHRpcGxlLWZpZWxkcy9kYXRldGltZS1tdWx0aXBsZS1maWVs
ZHMtdmFsaWRpdHktYmFkaW5wdXQuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
ODgyYTBmMTM3MWU4ODZhMjg3OTQ4NzZlYWJmNjAxYTQ4MTNmNWU2MS4uMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2Rh
dGV0aW1lLW11bHRpcGxlLWZpZWxkcy9kYXRldGltZS1tdWx0aXBsZS1maWVsZHMtdmFsaWRpdHkt
YmFkaW5wdXQuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDE0ICswLDAgQEAKLTwhRE9DVFlQRSBo
dG1sPgotPHN0eWxlPgotOmludmFsaWQgewotICAgIGJhY2tncm91bmQtY29sb3I6ICNmZjAwMDA7
Ci19Ci08L3N0eWxlPgotPGJvZHk+Ci08c2NyaXB0IHNyYz0iLi4vLi4vanMvcmVzb3VyY2VzL2pz
LXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvbXVsdGlw
bGUtZmllbGRzLXZhbGlkaXR5LWJhZGlucHV0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQ+Ci10ZXN0
QmFkSW5wdXQoJ2RhdGV0aW1lJyk7Ci08L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIuLi8uLi9qcy9y
ZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KLTwvYm9keT4KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvZGF0ZXRpbWUtbXVsdGlwbGUtZmllbGRzL2RhdGV0aW1l
LW11bHRpcGxlLWZpZWxkcy12YWx1ZS1zZXQtZW1wdHktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvZmFzdC9mb3Jtcy9kYXRldGltZS1tdWx0aXBsZS1maWVsZHMvZGF0ZXRpbWUtbXVsdGlwbGUt
ZmllbGRzLXZhbHVlLXNldC1lbXB0eS1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IGQ0YWQ1M2UxYWZlYzRmNDJlN2Y2ODc1M2QxM2M4MWJhNTBlZmYzYWUuLjAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvZmFz
dC9mb3Jtcy9kYXRldGltZS1tdWx0aXBsZS1maWVsZHMvZGF0ZXRpbWUtbXVsdGlwbGUtZmllbGRz
LXZhbHVlLXNldC1lbXB0eS1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSwxMiArMCww
IEBACi1DaGVjayBpZiBpbnB1dC52YWx1ZT0iIiBjbGVhcnMgYW4gaW5wdXQgd2l0aCBwYXJ0aWFs
bHktc3BlY2lmaWVkIHZhbHVlLgotCi1PbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMg
b2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCi0KLQotRW1w
dHkgdGV4dDogbW0vZGQveXl5eSAtLTotLSAtLQotUEFTUyBldmVudFNlbmRlci5rZXlEb3duKCJ1
cEFycm93Iik7IGdldFVzZXJBZ2VudFNoYWRvd1RleHRDb250ZW50KGlucHV0KSBpcyBub3QgZW1w
dHlUZXh0Ci1QQVNTIGlucHV0LnZhbHVlID0gIiI7IGdldFVzZXJBZ2VudFNoYWRvd1RleHRDb250
ZW50KGlucHV0KSBpcyBlbXB0eVRleHQKLVBBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUK
LQotVEVTVCBDT01QTEVURQotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2Rh
dGV0aW1lLW11bHRpcGxlLWZpZWxkcy9kYXRldGltZS1tdWx0aXBsZS1maWVsZHMtdmFsdWUtc2V0
LWVtcHR5Lmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2RhdGV0aW1lLW11bHRpcGxlLWZp
ZWxkcy9kYXRldGltZS1tdWx0aXBsZS1maWVsZHMtdmFsdWUtc2V0LWVtcHR5Lmh0bWwKZGVsZXRl
ZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDlkNzZlNjYwNTQwOGZkNzMwNTMwNmNjMjAwOWVhZWU5
MmEwYmY2NTYuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEv
TGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9kYXRldGltZS1tdWx0aXBsZS1maWVsZHMvZGF0ZXRpbWUt
bXVsdGlwbGUtZmllbGRzLXZhbHVlLXNldC1lbXB0eS5odG1sCisrKyAvZGV2L251bGwKQEAgLTEs
MTAgKzAsMCBAQAotPCFET0NUWVBFIGh0bWw+Ci08Ym9keT4KLTxzY3JpcHQgc3JjPSIuLi8uLi9q
cy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii4uL3Jl
c291cmNlcy9jb21tb24uanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy9t
dWx0aXBsZS1maWVsZHMtdmFsdWUtc2V0LWVtcHR5LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQ+Ci10
ZXN0U2V0dGluZ0VtcHR5U3RyaW5nQ2xlYXJzU3ViRmllbGRzKCdkYXRldGltZScpOwotPC9zY3Jp
cHQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9z
Y3JpcHQ+Ci08L2JvZHk+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2RhdGV0
aW1lbG9jYWwtbXVsdGlwbGUtZmllbGRzL2RhdGV0aW1lbG9jYWwtbXVsdGlwbGUtZmllbGRzLWF4
LWFyaWEtYXR0cmlidXRlcy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2Rh
dGV0aW1lbG9jYWwtbXVsdGlwbGUtZmllbGRzL2RhdGV0aW1lbG9jYWwtbXVsdGlwbGUtZmllbGRz
LWF4LWFyaWEtYXR0cmlidXRlcy1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDVjNDhmNGE4N2NiODkwYTU1Njk1ODE4ZTIyNjQ3ZTI3MDhhNjBhZDUuLjAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9m
b3Jtcy9kYXRldGltZWxvY2FsLW11bHRpcGxlLWZpZWxkcy9kYXRldGltZWxvY2FsLW11bHRpcGxl
LWZpZWxkcy1heC1hcmlhLWF0dHJpYnV0ZXMtZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAg
LTEsMjggKzAsMCBAQAotVGhpcyB0ZXN0IGNoZWNrcyBhcmlhLWhlbHAgYXR0cmlidXRlIG9mIGZp
ZWxkcyBpbiBtdWx0aXBsZSBmaWVsZHMgZGF0ZXRpbWUtbG9jYWwgaW5wdXQgVUkuCi0KLU9uIHN1
Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2Vk
IGJ5ICJURVNUIENPTVBMRVRFIi4KLQotCi1Ob24tZW1wdHkgdmFsdWUKLVBBU1MgZm9jdXNlZEZp
ZWxkVmFsdWVEZXNjcmlwdGlvbigpIGlzICJBWEhlbHA6IE1vbnRoLCBBWFZhbHVlRGVzY3JpcHRp
b246IDEwLCAxLCAxMiIKLVBBU1MgZm9jdXNlZEZpZWxkVmFsdWVEZXNjcmlwdGlvbigpIGlzICJB
WEhlbHA6IERheSwgQVhWYWx1ZURlc2NyaXB0aW9uOiAwOSwgMSwgMzEiCi1QQVNTIGZvY3VzZWRG
aWVsZFZhbHVlRGVzY3JpcHRpb24oKSBpcyAiQVhIZWxwOiBZZWFyLCBBWFZhbHVlRGVzY3JpcHRp
b246IDIwMTIsIDEsIDI3NTc2MCIKLVBBU1MgZm9jdXNlZEZpZWxkVmFsdWVEZXNjcmlwdGlvbigp
IGlzICJBWEhlbHA6IEhvdXJzLCBBWFZhbHVlRGVzY3JpcHRpb246IDEyLCAxLCAxMiIKLVBBU1Mg
Zm9jdXNlZEZpZWxkVmFsdWVEZXNjcmlwdGlvbigpIGlzICJBWEhlbHA6IE1pbnV0ZXMsIEFYVmFs
dWVEZXNjcmlwdGlvbjogMzQsIDAsIDU5IgotUEFTUyBmb2N1c2VkRmllbGRWYWx1ZURlc2NyaXB0
aW9uKCkgaXMgIkFYSGVscDogU2Vjb25kcywgQVhWYWx1ZURlc2NyaXB0aW9uOiA1NiwgMCwgNTki
Ci1QQVNTIGZvY3VzZWRGaWVsZFZhbHVlRGVzY3JpcHRpb24oKSBpcyAiQVhIZWxwOiBNaWxsaXNl
Y29uZHMsIEFYVmFsdWVEZXNjcmlwdGlvbjogNzg5LCAwLCA5OTkiCi1QQVNTIGZvY3VzZWRGaWVs
ZFZhbHVlRGVzY3JpcHRpb24oKSBpcyAiQVhIZWxwOiBBTS9QTSwgQVhWYWx1ZURlc2NyaXB0aW9u
OiBQTSwgMSwgMiIKLUVtcHR5IHZhbHVlCi1QQVNTIGZvY3VzZWRGaWVsZFZhbHVlRGVzY3JpcHRp
b24oKSBpcyAiQVhIZWxwOiBBTS9QTSwgQVhWYWx1ZURlc2NyaXB0aW9uOiBibGFuaywgMSwgMiIK
LVBBU1MgZm9jdXNlZEZpZWxkVmFsdWVEZXNjcmlwdGlvbigpIGlzICJBWEhlbHA6IE1pbGxpc2Vj
b25kcywgQVhWYWx1ZURlc2NyaXB0aW9uOiBibGFuaywgMCwgOTk5IgotUEFTUyBmb2N1c2VkRmll
bGRWYWx1ZURlc2NyaXB0aW9uKCkgaXMgIkFYSGVscDogU2Vjb25kcywgQVhWYWx1ZURlc2NyaXB0
aW9uOiBibGFuaywgMCwgNTkiCi1QQVNTIGZvY3VzZWRGaWVsZFZhbHVlRGVzY3JpcHRpb24oKSBp
cyAiQVhIZWxwOiBNaW51dGVzLCBBWFZhbHVlRGVzY3JpcHRpb246IGJsYW5rLCAwLCA1OSIKLVBB
U1MgZm9jdXNlZEZpZWxkVmFsdWVEZXNjcmlwdGlvbigpIGlzICJBWEhlbHA6IEhvdXJzLCBBWFZh
bHVlRGVzY3JpcHRpb246IGJsYW5rLCAxLCAxMiIKLVBBU1MgZm9jdXNlZEZpZWxkVmFsdWVEZXNj
cmlwdGlvbigpIGlzICJBWEhlbHA6IFllYXIsIEFYVmFsdWVEZXNjcmlwdGlvbjogYmxhbmssIDEs
IDI3NTc2MCIKLVBBU1MgZm9jdXNlZEZpZWxkVmFsdWVEZXNjcmlwdGlvbigpIGlzICJBWEhlbHA6
IERheSwgQVhWYWx1ZURlc2NyaXB0aW9uOiBibGFuaywgMSwgMzEiCi1QQVNTIGZvY3VzZWRGaWVs
ZFZhbHVlRGVzY3JpcHRpb24oKSBpcyAiQVhIZWxwOiBNb250aCwgQVhWYWx1ZURlc2NyaXB0aW9u
OiBibGFuaywgMSwgMTIiCi0KLVBBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKLQotVEVT
VCBDT01QTEVURQotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2RhdGV0aW1l
bG9jYWwtbXVsdGlwbGUtZmllbGRzL2RhdGV0aW1lbG9jYWwtbXVsdGlwbGUtZmllbGRzLWF4LWFy
aWEtYXR0cmlidXRlcy5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9kYXRldGltZWxvY2Fs
LW11bHRpcGxlLWZpZWxkcy9kYXRldGltZWxvY2FsLW11bHRpcGxlLWZpZWxkcy1heC1hcmlhLWF0
dHJpYnV0ZXMuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMjExNTEzNjAwYTk5
YzAzOGNhZTg2MjRjM2Q2ZDg0ZWFkZDRjZDJhNy4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2RhdGV0aW1lbG9jYWwt
bXVsdGlwbGUtZmllbGRzL2RhdGV0aW1lbG9jYWwtbXVsdGlwbGUtZmllbGRzLWF4LWFyaWEtYXR0
cmlidXRlcy5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsNzEgKzAsMCBAQAotPCFET0NUWVBFIGh0
bWw+Ci08aHRtbD4KLTxoZWFkPgotPHNjcmlwdCBzcmM9Ii4uLy4uLy4uL2Zhc3QvanMvcmVzb3Vy
Y2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5PgotPGlucHV0IGlk
PSJ0ZXN0IiB0eXBlPSJkYXRldGltZS1sb2NhbCIgdmFsdWU9IjIwMTItMTAtMDlUMTI6MzQ6NTYu
Nzg5Ij4KLTxzY3JpcHQ+Ci1kZXNjcmlwdGlvbignVGhpcyB0ZXN0IGNoZWNrcyBhcmlhLWhlbHAg
YXR0cmlidXRlIG9mIGZpZWxkcyBpbiBtdWx0aXBsZSBmaWVsZHMgZGF0ZXRpbWUtbG9jYWwgaW5w
dXQgVUkuJyk7Ci0KLWZ1bmN0aW9uIGZvY3VzZWRGaWVsZFZhbHVlRGVzY3JpcHRpb24oKQotewot
ICAgIHZhciBlbGVtZW50ID0gYWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIuZm9jdXNlZEVsZW1lbnQ7
Ci0gICAgcmV0dXJuIGVsZW1lbnQuaGVscFRleHQgKyAnLCAnICsgIGVsZW1lbnQudmFsdWVEZXNj
cmlwdGlvbiArICcsICcgKyBlbGVtZW50Lm1pblZhbHVlICsgJywgJyArIGVsZW1lbnQubWF4VmFs
dWU7Ci19Ci0KLXZhciB0ZXN0SW5wdXQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgndGVzdCcp
OwotCi1pZiAoIXdpbmRvdy5hY2Nlc3NpYmlsaXR5Q29udHJvbGxlciB8fCAhd2luZG93LmV2ZW50
U2VuZGVyKQotICAgIGRlYnVnKCdQbGVhc2UgcnVuIGluc2lkZSBEUlQgb3IgV1RSLicpOwotZWxz
ZSB7Ci0gICAgZGVidWcoJ05vbi1lbXB0eSB2YWx1ZScpOwotICAgIHRlc3RJbnB1dC5mb2N1cygp
OwotICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygnZm9jdXNlZEZpZWxkVmFsdWVEZXNjcmlwdGlv
bigpJywgJ0FYSGVscDogTW9udGgsIEFYVmFsdWVEZXNjcmlwdGlvbjogMTAsIDEsIDEyJyk7Ci0g
ICAgZXZlbnRTZW5kZXIua2V5RG93bignXHQnKTsKLSAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmco
J2ZvY3VzZWRGaWVsZFZhbHVlRGVzY3JpcHRpb24oKScsICdBWEhlbHA6IERheSwgQVhWYWx1ZURl
c2NyaXB0aW9uOiAwOSwgMSwgMzEnKTsKLSAgICBldmVudFNlbmRlci5rZXlEb3duKCdcdCcpOwot
ICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygnZm9jdXNlZEZpZWxkVmFsdWVEZXNjcmlwdGlvbigp
JywgJ0FYSGVscDogWWVhciwgQVhWYWx1ZURlc2NyaXB0aW9uOiAyMDEyLCAxLCAyNzU3NjAnKTsK
LSAgICBldmVudFNlbmRlci5rZXlEb3duKCdcdCcpOwotICAgIHNob3VsZEJlRXF1YWxUb1N0cmlu
ZygnZm9jdXNlZEZpZWxkVmFsdWVEZXNjcmlwdGlvbigpJywgJ0FYSGVscDogSG91cnMsIEFYVmFs
dWVEZXNjcmlwdGlvbjogMTIsIDEsIDEyJyk7Ci0gICAgZXZlbnRTZW5kZXIua2V5RG93bignXHQn
KTsKLSAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ2ZvY3VzZWRGaWVsZFZhbHVlRGVzY3JpcHRp
b24oKScsICdBWEhlbHA6IE1pbnV0ZXMsIEFYVmFsdWVEZXNjcmlwdGlvbjogMzQsIDAsIDU5Jyk7
Ci0gICAgZXZlbnRTZW5kZXIua2V5RG93bignXHQnKTsKLSAgICBzaG91bGRCZUVxdWFsVG9TdHJp
bmcoJ2ZvY3VzZWRGaWVsZFZhbHVlRGVzY3JpcHRpb24oKScsICdBWEhlbHA6IFNlY29uZHMsIEFY
VmFsdWVEZXNjcmlwdGlvbjogNTYsIDAsIDU5Jyk7Ci0gICAgZXZlbnRTZW5kZXIua2V5RG93bign
XHQnKTsKLSAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ2ZvY3VzZWRGaWVsZFZhbHVlRGVzY3Jp
cHRpb24oKScsICdBWEhlbHA6IE1pbGxpc2Vjb25kcywgQVhWYWx1ZURlc2NyaXB0aW9uOiA3ODks
IDAsIDk5OScpOwotICAgIGV2ZW50U2VuZGVyLmtleURvd24oJ1x0Jyk7Ci0gICAgc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCdmb2N1c2VkRmllbGRWYWx1ZURlc2NyaXB0aW9uKCknLCAnQVhIZWxwOiBB
TS9QTSwgQVhWYWx1ZURlc2NyaXB0aW9uOiBQTSwgMSwgMicpOwotCi0gICAgZGVidWcoJ0VtcHR5
IHZhbHVlJyk7Ci0gICAgZXZlbnRTZW5kZXIua2V5RG93bignXGInKTsKLSAgICBzaG91bGRCZUVx
dWFsVG9TdHJpbmcoJ2ZvY3VzZWRGaWVsZFZhbHVlRGVzY3JpcHRpb24oKScsICdBWEhlbHA6IEFN
L1BNLCBBWFZhbHVlRGVzY3JpcHRpb246IGJsYW5rLCAxLCAyJyk7Ci0gICAgZXZlbnRTZW5kZXIu
a2V5RG93bignXHQnLCBbJ3NoaWZ0S2V5J10pOwotICAgIGV2ZW50U2VuZGVyLmtleURvd24oJ1xi
Jyk7Ci0gICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdmb2N1c2VkRmllbGRWYWx1ZURlc2NyaXB0
aW9uKCknLCAnQVhIZWxwOiBNaWxsaXNlY29uZHMsIEFYVmFsdWVEZXNjcmlwdGlvbjogYmxhbmss
IDAsIDk5OScpOwotICAgIGV2ZW50U2VuZGVyLmtleURvd24oJ1x0JywgWydzaGlmdEtleSddKTsK
LSAgICBldmVudFNlbmRlci5rZXlEb3duKCdcYicpOwotICAgIHNob3VsZEJlRXF1YWxUb1N0cmlu
ZygnZm9jdXNlZEZpZWxkVmFsdWVEZXNjcmlwdGlvbigpJywgJ0FYSGVscDogU2Vjb25kcywgQVhW
YWx1ZURlc2NyaXB0aW9uOiBibGFuaywgMCwgNTknKTsKLSAgICBldmVudFNlbmRlci5rZXlEb3du
KCdcdCcsIFsnc2hpZnRLZXknXSk7Ci0gICAgZXZlbnRTZW5kZXIua2V5RG93bignXGInKTsKLSAg
ICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ2ZvY3VzZWRGaWVsZFZhbHVlRGVzY3JpcHRpb24oKScs
ICdBWEhlbHA6IE1pbnV0ZXMsIEFYVmFsdWVEZXNjcmlwdGlvbjogYmxhbmssIDAsIDU5Jyk7Ci0g
ICAgZXZlbnRTZW5kZXIua2V5RG93bignXHQnLCBbJ3NoaWZ0S2V5J10pOwotICAgIGV2ZW50U2Vu
ZGVyLmtleURvd24oJ1xiJyk7Ci0gICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdmb2N1c2VkRmll
bGRWYWx1ZURlc2NyaXB0aW9uKCknLCAnQVhIZWxwOiBIb3VycywgQVhWYWx1ZURlc2NyaXB0aW9u
OiBibGFuaywgMSwgMTInKTsKLSAgICBldmVudFNlbmRlci5rZXlEb3duKCdcdCcsIFsnc2hpZnRL
ZXknXSk7Ci0gICAgZXZlbnRTZW5kZXIua2V5RG93bignXGInKTsKLSAgICBzaG91bGRCZUVxdWFs
VG9TdHJpbmcoJ2ZvY3VzZWRGaWVsZFZhbHVlRGVzY3JpcHRpb24oKScsICdBWEhlbHA6IFllYXIs
IEFYVmFsdWVEZXNjcmlwdGlvbjogYmxhbmssIDEsIDI3NTc2MCcpOwotICAgIGV2ZW50U2VuZGVy
LmtleURvd24oJ1x0JywgWydzaGlmdEtleSddKTsKLSAgICBldmVudFNlbmRlci5rZXlEb3duKCdc
YicpOwotICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygnZm9jdXNlZEZpZWxkVmFsdWVEZXNjcmlw
dGlvbigpJywgJ0FYSGVscDogRGF5LCBBWFZhbHVlRGVzY3JpcHRpb246IGJsYW5rLCAxLCAzMScp
OwotICAgIGV2ZW50U2VuZGVyLmtleURvd24oJ1x0JywgWydzaGlmdEtleSddKTsKLSAgICBldmVu
dFNlbmRlci5rZXlEb3duKCdcYicpOwotICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygnZm9jdXNl
ZEZpZWxkVmFsdWVEZXNjcmlwdGlvbigpJywgJ0FYSGVscDogTW9udGgsIEFYVmFsdWVEZXNjcmlw
dGlvbjogYmxhbmssIDEsIDEyJyk7Ci0KLSAgICBkZWJ1ZygnJyk7Ci0gICAgdGVzdElucHV0LnBh
cmVudE5vZGUucmVtb3ZlQ2hpbGQodGVzdElucHV0KTsKLX0KLTwvc2NyaXB0PgotPHNjcmlwdCBz
cmM9Ii4uLy4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+
Ci08L2JvZHk+Ci08L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2Rh
dGV0aW1lbG9jYWwtbXVsdGlwbGUtZmllbGRzL2RhdGV0aW1lbG9jYWwtbXVsdGlwbGUtZmllbGRz
LWF4LXZhbHVlLWNoYW5nZWQtbm90aWZpY2F0aW9uLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2Zhc3QvZm9ybXMvZGF0ZXRpbWVsb2NhbC1tdWx0aXBsZS1maWVsZHMvZGF0ZXRpbWVsb2NhbC1t
dWx0aXBsZS1maWVsZHMtYXgtdmFsdWUtY2hhbmdlZC1ub3RpZmljYXRpb24tZXhwZWN0ZWQudHh0
CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA1NGJmZGFlZDc2MjZlNDE0ZTE2NWJjMzE2
MTc0MzM2ZTkzNjUyOTYzLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvZGF0ZXRpbWVsb2NhbC1tdWx0aXBsZS1maWVs
ZHMvZGF0ZXRpbWVsb2NhbC1tdWx0aXBsZS1maWVsZHMtYXgtdmFsdWUtY2hhbmdlZC1ub3RpZmlj
YXRpb24tZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEsMjMgKzAsMCBAQAotVGhpcyB0
ZXN0IGNoZWNrcyB2YWx1ZSBjaGFuZ2VkIGFjY2Vzc2liaWxpdHkgbm90aWZpY2F0aW9ucy4KLQot
T24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9s
bG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgotCi0KLUZvY3VzZWRVSUVsZW1lbnRDaGFuZ2VkIEFY
SGVscDogTW9udGg9QVhWYWx1ZURlc2NyaXB0aW9uOiAxMAotRm9jdXNlZFVJRWxlbWVudENoYW5n
ZWQgQVhIZWxwOiBEYXk9QVhWYWx1ZURlc2NyaXB0aW9uOiAwOQotRm9jdXNlZFVJRWxlbWVudENo
YW5nZWQgQVhIZWxwOiBZZWFyPUFYVmFsdWVEZXNjcmlwdGlvbjogMjAxMgotRm9jdXNlZFVJRWxl
bWVudENoYW5nZWQgQVhIZWxwOiBIb3Vycz1BWFZhbHVlRGVzY3JpcHRpb246IDEyCi1Gb2N1c2Vk
VUlFbGVtZW50Q2hhbmdlZCBBWEhlbHA6IE1pbnV0ZXM9QVhWYWx1ZURlc2NyaXB0aW9uOiAzNAot
VmFsdWVDaGFuZ2VkIEFYSGVscDogRGF5PUFYVmFsdWVEZXNjcmlwdGlvbjogMDQKLVZhbHVlQ2hh
bmdlZCBBWEhlbHA6IERheT1BWFZhbHVlRGVzY3JpcHRpb246IDA0Ci1WYWx1ZUNoYW5nZWQgQVhI
ZWxwOiBZZWFyPUFYVmFsdWVEZXNjcmlwdGlvbjogMjAxMwotVmFsdWVDaGFuZ2VkIEFYSGVscDog
WWVhcj1BWFZhbHVlRGVzY3JpcHRpb246IDIwMTMKLVZhbHVlQ2hhbmdlZCBBWEhlbHA6IEhvdXJz
PUFYVmFsdWVEZXNjcmlwdGlvbjogMDIKLVZhbHVlQ2hhbmdlZCBBWEhlbHA6IEhvdXJzPUFYVmFs
dWVEZXNjcmlwdGlvbjogMDIKLVZhbHVlQ2hhbmdlZCBBWEhlbHA6IE1pbnV0ZXM9QVhWYWx1ZURl
c2NyaXB0aW9uOiAzMwotVmFsdWVDaGFuZ2VkIEFYSGVscDogTWludXRlcz1BWFZhbHVlRGVzY3Jp
cHRpb246IDMzCi0KLVBBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKLQotVEVTVCBDT01Q
TEVURQotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2RhdGV0aW1lbG9jYWwt
bXVsdGlwbGUtZmllbGRzL2RhdGV0aW1lbG9jYWwtbXVsdGlwbGUtZmllbGRzLWF4LXZhbHVlLWNo
YW5nZWQtbm90aWZpY2F0aW9uLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2RhdGV0aW1l
bG9jYWwtbXVsdGlwbGUtZmllbGRzL2RhdGV0aW1lbG9jYWwtbXVsdGlwbGUtZmllbGRzLWF4LXZh
bHVlLWNoYW5nZWQtbm90aWZpY2F0aW9uLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDgwZDk4ZDg5NjRhNjRiY2ZmYWRlN2Q0NmQ0Mzc0MmYyZWNjNmUyN2UuLjAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jt
cy9kYXRldGltZWxvY2FsLW11bHRpcGxlLWZpZWxkcy9kYXRldGltZWxvY2FsLW11bHRpcGxlLWZp
ZWxkcy1heC12YWx1ZS1jaGFuZ2VkLW5vdGlmaWNhdGlvbi5odG1sCisrKyAvZGV2L251bGwKQEAg
LTEsNDEgKzAsMCBAQAotPCFET0NUWVBFIGh0bWw+Ci08aHRtbD4KLTxoZWFkPgotPHNjcmlwdCBz
cmM9Ii4uLy4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4K
LTwvaGVhZD4KLTxib2R5PgotPGlucHV0IGlkPSJ0ZXN0IiB0eXBlPSJkYXRldGltZS1sb2NhbCIg
dmFsdWU9IjIwMTItMTAtMDlUMTI6MzQ6NTYiPgotPHNjcmlwdD4KLWRlc2NyaXB0aW9uKCdUaGlz
IHRlc3QgY2hlY2tzIHZhbHVlIGNoYW5nZWQgYWNjZXNzaWJpbGl0eSBub3RpZmljYXRpb25zLicp
OwotCi12YXIgdGVzdElucHV0ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3Rlc3QnKTsKLQot
aWYgKCF3aW5kb3cuYWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIgfHwgIXdpbmRvdy5ldmVudFNlbmRl
cikKLSAgICBkZWJ1ZygnUGxlYXNlIHJ1biBpbnNpZGUgRFJUIG9yIFdSVC4nKTsKLWVsc2Ugewot
ICAgIGFjY2Vzc2liaWxpdHlDb250cm9sbGVyLmFkZE5vdGlmaWNhdGlvbkxpc3RlbmVyKGZ1bmN0
aW9uIChlbGVtZW50LCBub3RpZmljYXRpb24pIHsKLSAgICAgICAgaWYgKG5vdGlmaWNhdGlvbiA9
PSAnRm9jdXNlZFVJRWxlbWVudENoYW5nZWQnIHx8IG5vdGlmaWNhdGlvbiA9PSAnVmFsdWVDaGFu
Z2VkJykgewotICAgICAgICAgICAgZGVidWcobm90aWZpY2F0aW9uICsgJyAnICsgZWxlbWVudC5o
ZWxwVGV4dCArICc9JyArIGVsZW1lbnQudmFsdWVEZXNjcmlwdGlvbik7Ci0gICAgICAgIH0KLSAg
ICB9KTsKLQotICAgIHRlc3RJbnB1dC5mb2N1cygpOwotICAgIGV2ZW50U2VuZGVyLmtleURvd24o
J1x0Jyk7Ci0gICAgZXZlbnRTZW5kZXIua2V5RG93bignNCcpOwotICAgIGV2ZW50U2VuZGVyLmtl
eURvd24oJ3VwQXJyb3cnKTsKLSAgICBldmVudFNlbmRlci5rZXlEb3duKCdcdCcpOwotICAgIGV2
ZW50U2VuZGVyLmtleURvd24oJzInKTsKLSAgICBldmVudFNlbmRlci5rZXlEb3duKCdkb3duQXJy
b3cnKTsKLQotICAgIHdpbmRvdy5qc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKLQotICAgIHdpbmRvdy5z
ZXRUaW1lb3V0KGZ1bmN0aW9uKCkgewotICAgICAgICBkZWJ1ZygnJyk7Ci0gICAgICAgIHRlc3RJ
bnB1dC5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKHRlc3RJbnB1dCk7Ci0gICAgICAgIGZpbmlzaEpT
VGVzdCgpOwotICAgIH0sIDEpOwotfQotPC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vLi4v
ZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KLTwvYm9keT4KLTwv
aHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvZGF0ZXRpbWVsb2NhbC1t
dWx0aXBsZS1maWVsZHMvZGF0ZXRpbWVsb2NhbC1tdWx0aXBsZS1maWVsZHMtYmx1ci1hbmQtZm9j
dXMtZXZlbnRzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvZGF0ZXRpbWVs
b2NhbC1tdWx0aXBsZS1maWVsZHMvZGF0ZXRpbWVsb2NhbC1tdWx0aXBsZS1maWVsZHMtYmx1ci1h
bmQtZm9jdXMtZXZlbnRzLWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggNGI2ZWIzZjYyZTk3MGE3YmE0MTBlMjE1MDM0ZTI2ZmFlMmZhOGNkYS4uMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1z
L2RhdGV0aW1lbG9jYWwtbXVsdGlwbGUtZmllbGRzL2RhdGV0aW1lbG9jYWwtbXVsdGlwbGUtZmll
bGRzLWJsdXItYW5kLWZvY3VzLWV2ZW50cy1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAt
MSwyMSArMCwwIEBACi1DaGVjayBibHVyIGFuZCBmb2N1cyBldmVudHMgZm9yIG11bHRpcGxlIGZp
ZWxkcyBkYXRldGltZS1sb2NhbCBpbnB1dCBVSQotCi1PbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUg
YSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIu
Ci0KLQotZm9jdXMoKSBhbmQgYmx1cigpCi1QQVNTIHRlc3RJbnB1dC5mb2N1cygpOyBzdGF0ZSgp
IGlzICJibHVyPTAgZm9jdXM9MSIKLVBBU1MgdGVzdElucHV0LmJsdXIoKTsgc3RhdGUoKSBpcyAi
Ymx1cj0xIGZvY3VzPTEiCi1mb2N1cyBhbmQgVGFiIGtleSB0byBibHVyCi1QQVNTIGtleURvd24o
IgkiKTsgc3RhdGUoKSBpcyAiYmx1cj0wIGZvY3VzPTEiCi1QQVNTIGtleURvd24oIgkiKTsgc3Rh
dGUoKSBpcyAiYmx1cj0wIGZvY3VzPTEiCi1QQVNTIGtleURvd24oIgkiKTsgc3RhdGUoKSBpcyAi
Ymx1cj0wIGZvY3VzPTEiCi1QQVNTIGtleURvd24oIgkiKTsgc3RhdGUoKSBpcyAiYmx1cj0wIGZv
Y3VzPTEiCi1QQVNTIGtleURvd24oIgkiKTsgc3RhdGUoKSBpcyAiYmx1cj0wIGZvY3VzPTEiCi1Q
QVNTIGtleURvd24oIgkiKTsgc3RhdGUoKSBpcyAiYmx1cj0wIGZvY3VzPTEiCi1QQVNTIGtleURv
d24oIgkiKTsgc3RhdGUoKSBpcyAiYmx1cj0xIGZvY3VzPTEiCi0KLVBBU1Mgc3VjY2Vzc2Z1bGx5
UGFyc2VkIGlzIHRydWUKLQotVEVTVCBDT01QTEVURQotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9mYXN0L2Zvcm1zL2RhdGV0aW1lbG9jYWwtbXVsdGlwbGUtZmllbGRzL2RhdGV0aW1lbG9jYWwt
bXVsdGlwbGUtZmllbGRzLWJsdXItYW5kLWZvY3VzLWV2ZW50cy5odG1sIGIvTGF5b3V0VGVzdHMv
ZmFzdC9mb3Jtcy9kYXRldGltZWxvY2FsLW11bHRpcGxlLWZpZWxkcy9kYXRldGltZWxvY2FsLW11
bHRpcGxlLWZpZWxkcy1ibHVyLWFuZC1mb2N1cy1ldmVudHMuaHRtbApkZWxldGVkIGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggNjI0YzhhNDQ4ZTZhNjI3NGM4YjFkOTMyZTU2OGU2MjYwM2ZmMzYwYy4u
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0
cy9mYXN0L2Zvcm1zL2RhdGV0aW1lbG9jYWwtbXVsdGlwbGUtZmllbGRzL2RhdGV0aW1lbG9jYWwt
bXVsdGlwbGUtZmllbGRzLWJsdXItYW5kLWZvY3VzLWV2ZW50cy5odG1sCisrKyAvZGV2L251bGwK
QEAgLTEsMTIgKzAsMCBAQAotPCFET0NUWVBFIGh0bWw+Ci08aHRtbD4KLTxib2R5PgotPHNjcmlw
dCBzcmM9Ii4uLy4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Ci08c2Ny
aXB0IHNyYz0iLi4vcmVzb3VyY2VzL211bHRpcGxlLWZpZWxkcy1ibHVyLWFuZC1mb2N1cy1ldmVu
dHMuanMiPjwvc2NyaXB0PgotPGRpdiBpZD0iY29udGFpbmVyIj48L2Rpdj4KLTxzY3JpcHQ+Ci1z
dGFydFRlc3RGb3IoJ2RhdGV0aW1lLWxvY2FsJyk7Ci08L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIu
Li8uLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KLTwvYm9keT4KLTwv
aHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvZGF0ZXRpbWVsb2NhbC1t
dWx0aXBsZS1maWVsZHMvZGF0ZXRpbWVsb2NhbC1tdWx0aXBsZS1maWVsZHMtY2hhbmdlLWxheW91
dC1ieS12YWx1ZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2RhdGV0aW1l
bG9jYWwtbXVsdGlwbGUtZmllbGRzL2RhdGV0aW1lbG9jYWwtbXVsdGlwbGUtZmllbGRzLWNoYW5n
ZS1sYXlvdXQtYnktdmFsdWUtZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCBiMDY4MWVlYjQ3MzI3MGU2MzBjNzQwZDU2OTUxZWQ1MGMxODIwZGI3Li4wMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZm9y
bXMvZGF0ZXRpbWVsb2NhbC1tdWx0aXBsZS1maWVsZHMvZGF0ZXRpbWVsb2NhbC1tdWx0aXBsZS1m
aWVsZHMtY2hhbmdlLWxheW91dC1ieS12YWx1ZS1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApA
QCAtMSwxMyArMCwwIEBACi1DaGFuZ2UgbXVsdGlwbGUgZmllbGRzIGRhdGV0aW1lLWxvY2FsIGlu
cHV0IFVJIGxheW91dCBieSB2YWx1ZQotCi1PbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJp
ZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCi0KLQot
UEFTUyB3aWR0aE9mRW1wdHlWYWx1ZSA8IHdpZHRoT2ZPdmVyZmxvd1ZhbHVlIGlzIHRydWUKLVBB
U1Mgd2lkdGhPZkVtcHR5VmFsdWUgaXMgd2lkdGhPZlZhbGlkVmFsdWUKLVBBU1Mgd2lkdGhPZkVt
cHR5VmFsdWUgPCB3aWR0aFdpdGhTZWNvbmQgaXMgdHJ1ZQotUEFTUyB3aWR0aFdpdGhTZWNvbmQg
PCB3aWR0aFdpdGhNaWxsaXNlY29uZCBpcyB0cnVlCi1QQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBp
cyB0cnVlCi0KLVRFU1QgQ09NUExFVEUKLQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9m
b3Jtcy9kYXRldGltZWxvY2FsLW11bHRpcGxlLWZpZWxkcy9kYXRldGltZWxvY2FsLW11bHRpcGxl
LWZpZWxkcy1jaGFuZ2UtbGF5b3V0LWJ5LXZhbHVlLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2Zv
cm1zL2RhdGV0aW1lbG9jYWwtbXVsdGlwbGUtZmllbGRzL2RhdGV0aW1lbG9jYWwtbXVsdGlwbGUt
ZmllbGRzLWNoYW5nZS1sYXlvdXQtYnktdmFsdWUuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggNzhmZGZkYjI0ZGQxYmJmZWM1N2Q2ZmRkNjg2NGMwMjA0NjQzYzE0My4uMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0
L2Zvcm1zL2RhdGV0aW1lbG9jYWwtbXVsdGlwbGUtZmllbGRzL2RhdGV0aW1lbG9jYWwtbXVsdGlw
bGUtZmllbGRzLWNoYW5nZS1sYXlvdXQtYnktdmFsdWUuaHRtbAorKysgL2Rldi9udWxsCkBAIC0x
LDMzICswLDAgQEAKLTwhRE9DVFlQRSBodG1sPgotPGh0bWw+Ci08Ym9keT4KLTxzY3JpcHQgc3Jj
PSIuLi8uLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgotPHNjcmlwdD4K
LWRlc2NyaXB0aW9uKCdDaGFuZ2UgbXVsdGlwbGUgZmllbGRzIGRhdGV0aW1lLWxvY2FsIGlucHV0
IFVJIGxheW91dCBieSB2YWx1ZScpOwotdmFyIHRlc3RJbnB1dCA9IGRvY3VtZW50LmNyZWF0ZUVs
ZW1lbnQoJ2lucHV0Jyk7Ci10ZXN0SW5wdXQudHlwZSA9ICdkYXRldGltZS1sb2NhbCc7Ci10ZXN0
SW5wdXQubWF4ID0gJzk5OTktMTItMzFUMjM6NTknOwotZG9jdW1lbnQuYm9keS5hcHBlbmRDaGls
ZCh0ZXN0SW5wdXQpOwotdmFyIHdpZHRoT2ZFbXB0eVZhbHVlID0gdGVzdElucHV0Lm9mZnNldFdp
ZHRoOwotCi10ZXN0SW5wdXQudmFsdWUgPSAnMTAwMDAtMDEtMDFUMDA6MDAnOwotdmFyIHdpZHRo
T2ZPdmVyZmxvd1ZhbHVlID0gdGVzdElucHV0Lm9mZnNldFdpZHRoOwotc2hvdWxkQmVUcnVlKCd3
aWR0aE9mRW1wdHlWYWx1ZSA8IHdpZHRoT2ZPdmVyZmxvd1ZhbHVlJyk7Ci0KLXRlc3RJbnB1dC52
YWx1ZSA9ICcyMDEyLTEwLTA1VDEyOjAwJzsKLXZhciB3aWR0aE9mVmFsaWRWYWx1ZSA9IHRlc3RJ
bnB1dC5vZmZzZXRXaWR0aDsKLXNob3VsZEJlKCd3aWR0aE9mRW1wdHlWYWx1ZScsICd3aWR0aE9m
VmFsaWRWYWx1ZScpOwotCi10ZXN0SW5wdXQudmFsdWUgPSAnMjAxMi0xMC0wNVQxMjowMDowMSc7
Ci12YXIgd2lkdGhXaXRoU2Vjb25kID0gdGVzdElucHV0Lm9mZnNldFdpZHRoOwotc2hvdWxkQmVU
cnVlKCd3aWR0aE9mRW1wdHlWYWx1ZSA8IHdpZHRoV2l0aFNlY29uZCcpOwotCi10ZXN0SW5wdXQu
dmFsdWUgPSAnMjAxMi0xMC0wNVQxMjowMDowMS4yMzQnOwotdmFyIHdpZHRoV2l0aE1pbGxpc2Vj
b25kID0gdGVzdElucHV0Lm9mZnNldFdpZHRoOwotc2hvdWxkQmVUcnVlKCd3aWR0aFdpdGhTZWNv
bmQgPCB3aWR0aFdpdGhNaWxsaXNlY29uZCcpOwotCi1kb2N1bWVudC5ib2R5LnJlbW92ZUNoaWxk
KHRlc3RJbnB1dCk7Ci08L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIuLi8uLi9qcy9yZXNvdXJjZXMv
anMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KLTwvYm9keT4KLTwvaHRtbD4KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvZGF0ZXRpbWVsb2NhbC1tdWx0aXBsZS1maWVsZHMvZGF0
ZXRpbWVsb2NhbC1tdWx0aXBsZS1maWVsZHMtY2xlYXJidXR0b24tY2hhbmdlLWFuZC1pbnB1dC1l
dmVudHMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9kYXRldGltZWxvY2Fs
LW11bHRpcGxlLWZpZWxkcy9kYXRldGltZWxvY2FsLW11bHRpcGxlLWZpZWxkcy1jbGVhcmJ1dHRv
bi1jaGFuZ2UtYW5kLWlucHV0LWV2ZW50cy1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDNlNGVhNGEzMjI4MzhiN2Q1MzI3MDg3YTZkZTY5OWQ4NzY2YWFlMjAuLjAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMv
ZmFzdC9mb3Jtcy9kYXRldGltZWxvY2FsLW11bHRpcGxlLWZpZWxkcy9kYXRldGltZWxvY2FsLW11
bHRpcGxlLWZpZWxkcy1jbGVhcmJ1dHRvbi1jaGFuZ2UtYW5kLWlucHV0LWV2ZW50cy1leHBlY3Rl
ZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSwxOSArMCwwIEBACi1UZXN0IGZvciBldmVudCBkaXNw
YXRjaGluZyBieSBzcGluIGJ1dHRvbnMgaW4gYSB0eXBlPWRhdGV0aW1lLWxvY2FsIGlucHV0Lgot
Ci1PbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBm
b2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCi0KLQotSW5pdGlhbCBzdGF0ZQotUEFTUyBjaGFu
Z2VFdmVudENvdW50ZXIgaXMgMAotUEFTUyBpbnB1dEV2ZW50Q291bnRlciBpcyAwCi1DbGljayB0
aGUgY2xlYXIgYnV0dG9uCi1QQVNTIHRlc3RJbnB1dC52YWx1ZSBpcyAiIgotUEFTUyBjaGFuZ2VF
dmVudENvdW50ZXIgaXMgMQotUEFTUyBpbnB1dEV2ZW50Q291bnRlciBpcyAxCi1Gb2N1cyBvbiBh
bm90aGVyIGZpZWxkCi1QQVNTIGNoYW5nZUV2ZW50Q291bnRlciBpcyAxCi1QQVNTIGlucHV0RXZl
bnRDb3VudGVyIGlzIDEKLVBBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKLQotVEVTVCBD
T01QTEVURQotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2RhdGV0aW1lbG9j
YWwtbXVsdGlwbGUtZmllbGRzL2RhdGV0aW1lbG9jYWwtbXVsdGlwbGUtZmllbGRzLWNsZWFyYnV0
dG9uLWNoYW5nZS1hbmQtaW5wdXQtZXZlbnRzLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1z
L2RhdGV0aW1lbG9jYWwtbXVsdGlwbGUtZmllbGRzL2RhdGV0aW1lbG9jYWwtbXVsdGlwbGUtZmll
bGRzLWNsZWFyYnV0dG9uLWNoYW5nZS1hbmQtaW5wdXQtZXZlbnRzLmh0bWwKZGVsZXRlZCBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDIxM2NmZjYxYmU4MmI4ZmVjNDlmNjU5MDlkNWY3NTM5NmUyN2Ey
YmUuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0
VGVzdHMvZmFzdC9mb3Jtcy9kYXRldGltZWxvY2FsLW11bHRpcGxlLWZpZWxkcy9kYXRldGltZWxv
Y2FsLW11bHRpcGxlLWZpZWxkcy1jbGVhcmJ1dHRvbi1jaGFuZ2UtYW5kLWlucHV0LWV2ZW50cy5o
dG1sCisrKyAvZGV2L251bGwKQEAgLTEsMTQgKzAsMCBAQAotPCFET0NUWVBFIGh0bWw+Ci08aHRt
bD4KLTxoZWFkPgotPHNjcmlwdCBzcmM9Ii4uLy4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRl
c3QtcHJlLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvY29tbW9uLmpz
Ij48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvY29tbW9uLWNsZWFyYnV0dG9u
LWNoYW5nZS1hbmQtaW5wdXQtZXZlbnRzLmpzIj48L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5Pgot
PHNjcmlwdD4KLXRlc3RDbGVhckJ1dHRvbkNoYW5nZUFuZElucHV0RXZlbnRzKCdkYXRldGltZS1s
b2NhbCcsICcyMDEyLTEwLTExVDIzOjU5Jyk7Ci08L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIuLi8u
Li8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgotPC9ib2R5
PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9kYXRldGltZWxv
Y2FsLW11bHRpcGxlLWZpZWxkcy9kYXRldGltZWxvY2FsLW11bHRpcGxlLWZpZWxkcy1jbGVhcmJ1
dHRvbi12aXNpYmlsaXR5LWFmdGVyLXJlc3RvcmUtZXhwZWN0ZWQuaHRtbCBiL0xheW91dFRlc3Rz
L2Zhc3QvZm9ybXMvZGF0ZXRpbWVsb2NhbC1tdWx0aXBsZS1maWVsZHMvZGF0ZXRpbWVsb2NhbC1t
dWx0aXBsZS1maWVsZHMtY2xlYXJidXR0b24tdmlzaWJpbGl0eS1hZnRlci1yZXN0b3JlLWV4cGVj
dGVkLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDk3NDljZjVmM2I5YjFhZTBl
NzJjOTc5OGQyMjNkYzFhMmNjNjQ2YzQuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9kYXRldGltZWxvY2FsLW11bHRp
cGxlLWZpZWxkcy9kYXRldGltZWxvY2FsLW11bHRpcGxlLWZpZWxkcy1jbGVhcmJ1dHRvbi12aXNp
YmlsaXR5LWFmdGVyLXJlc3RvcmUtZXhwZWN0ZWQuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDEw
ICswLDAgQEAKLTwhRE9DVFlQRSBodG1sPgotPGh0bWw+Ci08Ym9keT4KLTxpbnB1dCBpZD0iZW1w
dHlPbkZpcnN0VmlzaXQiIHZhbHVlPSJ2aXNpdGVkIj4KLTxmb3JtIGFjdGlvbj0iZGF0YTp0ZXh0
L2h0bWwsJmx0O3NjcmlwdD5oaXN0b3J5LmJhY2soKSZsdDsvc2NyaXB0PiIgaWQ9Zm9ybTE+Ci0g
ICAgPGlucHV0IHR5cGU9ImRhdGV0aW1lLWxvY2FsIiBpZD1pbnB1dDE+Ci0gICAgPGlucHV0IHR5
cGU9ImRhdGV0aW1lLWxvY2FsIiBpZD1pbnB1dDIgdmFsdWU9IjIwMDItMDItMDJUMDI6MDIiPgot
ICAgIDxpbnB1dCB0eXBlPSJkYXRldGltZS1sb2NhbCIgaWQ9aW5wdXQzIHZhbHVlPSIyMDAzLTAz
LTAzVDAzOjAzOjAzLjAwMyI+Ci08L2Zvcm0+Ci08L2JvZHk+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9mYXN0L2Zvcm1zL2RhdGV0aW1lbG9jYWwtbXVsdGlwbGUtZmllbGRzL2RhdGV0aW1lbG9j
YWwtbXVsdGlwbGUtZmllbGRzLWNsZWFyYnV0dG9uLXZpc2liaWxpdHktYWZ0ZXItcmVzdG9yZS5o
dG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9kYXRldGltZWxvY2FsLW11bHRpcGxlLWZpZWxk
cy9kYXRldGltZWxvY2FsLW11bHRpcGxlLWZpZWxkcy1jbGVhcmJ1dHRvbi12aXNpYmlsaXR5LWFm
dGVyLXJlc3RvcmUuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggM2JhZTdkMDVm
MGRhMzIxZjM4M2UxMzk5NWE2YmYyYzJiNDgxN2RhZi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2RhdGV0aW1lbG9j
YWwtbXVsdGlwbGUtZmllbGRzL2RhdGV0aW1lbG9jYWwtbXVsdGlwbGUtZmllbGRzLWNsZWFyYnV0
dG9uLXZpc2liaWxpdHktYWZ0ZXItcmVzdG9yZS5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsMzIg
KzAsMCBAQAotPCFET0NUWVBFIGh0bWw+Ci08aHRtbD4KLTxib2R5PgotPGlucHV0IGlkPSJlbXB0
eU9uRmlyc3RWaXNpdCI+Ci08Zm9ybSBhY3Rpb249ImRhdGE6dGV4dC9odG1sLCZsdDtzY3JpcHQ+
aGlzdG9yeS5iYWNrKCkmbHQ7L3NjcmlwdD4iIGlkPWZvcm0xPgotICAgIDxpbnB1dCB0eXBlPSJk
YXRldGltZS1sb2NhbCIgaWQ9aW5wdXQxPgotICAgIDxpbnB1dCB0eXBlPSJkYXRldGltZS1sb2Nh
bCIgaWQ9aW5wdXQyPgotICAgIDxpbnB1dCB0eXBlPSJkYXRldGltZS1sb2NhbCIgaWQ9aW5wdXQz
IHZhbHVlPSIyMDAxLTAxLTAxVDAxOjAxOjAxLjAwMSI+Ci08L2Zvcm0+Ci0KLTxzY3JpcHQ+Ci0v
LyBSZXN0b3JpbmcgdGhlIGZvcm0gc2hvdWxkIHVwZGF0ZSB0aGUgY2xlYXIgYnV0dG9uIHZpc2li
aWxpdHkuCi10ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTsKLWZ1bmN0aW9uIHJ1blRlc3QoKQot
ewotICAgIHZhciBzdGF0ZSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdlbXB0eU9uRmlyc3RW
aXNpdCcpOwotICAgIGlmICghc3RhdGUudmFsdWUpIHsKLSAgICAgICAgLy8gRmlyc3QgdmlzaXQu
Ci0gICAgICAgIHNldFRpbWVvdXQoZnVuY3Rpb24oKSB7Ci0gICAgICAgICAgICBzdGF0ZS52YWx1
ZSA9ICd2aXNpdGVkJzsKLSAgICAgICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdpbnB1
dDInKS52YWx1ZSA9ICIyMDAyLTAyLTAyVDAyOjAyIjsKLSAgICAgICAgICAgIGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCdpbnB1dDMnKS52YWx1ZSA9ICIyMDAzLTAzLTAzVDAzOjAzOjAzLjAwMyI7
Ci0gICAgICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZm9ybTEnKS5zdWJtaXQoKTsK
LSAgICAgICAgfSwgMCk7Ci0gICAgfSBlbHNlIHsKLSAgICAgICAgdGVzdFJ1bm5lci5ub3RpZnlE
b25lKCk7Ci0gICAgfQotfQotCi13aW5kb3cub25sb2FkID0gcnVuVGVzdDsKLTwvc2NyaXB0Pgot
PC9ib2R5PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9kYXRldGltZWxvY2Fs
LW11bHRpcGxlLWZpZWxkcy9kYXRldGltZWxvY2FsLW11bHRpcGxlLWZpZWxkcy1mYWxsYmFjay1m
b3JtYXQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9kYXRldGltZWxvY2Fs
LW11bHRpcGxlLWZpZWxkcy9kYXRldGltZWxvY2FsLW11bHRpcGxlLWZpZWxkcy1mYWxsYmFjay1m
b3JtYXQtZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBhNzJiYjc5
NTNiNTRmODcyMzdmMTcxNTU1MjY0YmUyMDkyNmQ1MDU5Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvZGF0ZXRpbWVs
b2NhbC1tdWx0aXBsZS1maWVsZHMvZGF0ZXRpbWVsb2NhbC1tdWx0aXBsZS1maWVsZHMtZmFsbGJh
Y2stZm9ybWF0LWV4cGVjdGVkLnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDE1ICswLDAgQEAKLUNo
ZWNrcyBpbmNvbXBsZXRlIGRhdGV0aW1lIGZvcm1hdHMgYXJlIHJlamVjdGVkLgotCi1PbiBzdWNj
ZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBi
eSAiVEVTVCBDT01QTEVURSIuCi0KLQotVmFsaWQgZm9ybWF0Ci1QQVNTIGdldFVzZXJBZ2VudFNo
YWRvd1RleHRDb250ZW50KGlucHV0KSBpcyAiMTk5OS0wNy0zMSAxMTo1OSBQTSIKLUludmFsaWQg
Zm9ybWF0LCBmYWxsYmFjayB0byB5eXl5LU1NLWRkJ1QnSEg6bW0KLVBBU1MgZ2V0VXNlckFnZW50
U2hhZG93VGV4dENvbnRlbnQoaW5wdXQpIGlzICIxOTk5LTA3LTMxVDIzOjU5IgotUEFTUyBnZXRV
c2VyQWdlbnRTaGFkb3dUZXh0Q29udGVudChpbnB1dCkgaXMgIjE5OTktMDctMzFUMjM6NTkiCi1Q
QVNTIGdldFVzZXJBZ2VudFNoYWRvd1RleHRDb250ZW50KGlucHV0KSBpcyAiMTk5OS0wNy0zMVQy
Mzo1OSIKLVBBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKLQotVEVTVCBDT01QTEVURQot
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2RhdGV0aW1lbG9jYWwtbXVsdGlw
bGUtZmllbGRzL2RhdGV0aW1lbG9jYWwtbXVsdGlwbGUtZmllbGRzLWZhbGxiYWNrLWZvcm1hdC5o
dG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9kYXRldGltZWxvY2FsLW11bHRpcGxlLWZpZWxk
cy9kYXRldGltZWxvY2FsLW11bHRpcGxlLWZpZWxkcy1mYWxsYmFjay1mb3JtYXQuaHRtbApkZWxl
dGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMjA5ZjY4OGFkOTYzYzg1YzA3NzNlMzg3NmRkNWRl
YWNhYmVkMmZjMS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0g
YS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2RhdGV0aW1lbG9jYWwtbXVsdGlwbGUtZmllbGRzL2Rh
dGV0aW1lbG9jYWwtbXVsdGlwbGUtZmllbGRzLWZhbGxiYWNrLWZvcm1hdC5odG1sCisrKyAvZGV2
L251bGwKQEAgLTEsMzkgKzAsMCBAQAotPCFET0NUWVBFIGh0bWw+Ci08aHRtbD4KLTxoZWFkPgot
PHNjcmlwdCBzcmM9Ii4uLy4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+
Ci08c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL2NvbW1vbi5qcyI+PC9zY3JpcHQ+Ci08L2hlYWQ+
Ci08Ym9keT4KLTxzY3JpcHQ+Ci1kZXNjcmlwdGlvbignQ2hlY2tzIGluY29tcGxldGUgZGF0ZXRp
bWUgZm9ybWF0cyBhcmUgcmVqZWN0ZWQuJyk7Ci0KLXZhciBpbnB1dCA9IGRvY3VtZW50LmNyZWF0
ZUVsZW1lbnQoJ2lucHV0Jyk7Ci1pbnB1dC50eXBlID0gJ2RhdGV0aW1lLWxvY2FsJzsKLWRvY3Vt
ZW50LmJvZHkuYXBwZW5kQ2hpbGQoaW5wdXQpOwotCi1mdW5jdGlvbiBzZXREYXRlVGltZUZvcm1h
dChwYXR0ZXJuKSB7Ci0gICAgdmFyIHZhbHVlID0gaW5wdXQudmFsdWU7Ci0gICAgZ2V0RWxlbWVu
dEJ5UHNldWRvSWQoaW50ZXJuYWxzLnlvdW5nZXN0U2hhZG93Um9vdChpbnB1dCksICctd2Via2l0
LWRhdGV0aW1lLWVkaXQnKS5zZXRBdHRyaWJ1dGUoJ3BhdHRlcm4nLCBwYXR0ZXJuKTsKLSAgICBp
bnB1dC52YWx1ZSA9ICcnOyAvLyBVcGRhdGVzIHRoZSBlbGVtZW50IGZvciBuZXcgZm9ybWF0Ci0g
ICAgaW5wdXQudmFsdWUgPSB2YWx1ZTsKLX0KLQotaW5wdXQudmFsdWUgPSAnMTk5OS0wNy0zMVQy
Mzo1OSc7Ci0KLWRlYnVnKCdWYWxpZCBmb3JtYXQnKTsKLXNldERhdGVUaW1lRm9ybWF0KCJ5eXl5
LU1NLWRkIGhoOm1tIGEiKTsKLXNob3VsZEJlRXF1YWxUb1N0cmluZygnZ2V0VXNlckFnZW50U2hh
ZG93VGV4dENvbnRlbnQoaW5wdXQpJywgJzE5OTktMDctMzEgMTE6NTkgUE0nKTsKLQotZGVidWco
IkludmFsaWQgZm9ybWF0LCBmYWxsYmFjayB0byB5eXl5LU1NLWRkJ1QnSEg6bW0iKTsKLXNldERh
dGVUaW1lRm9ybWF0KCd5eXl5LU1NLWRkJyk7Ci1zaG91bGRCZUVxdWFsVG9TdHJpbmcoJ2dldFVz
ZXJBZ2VudFNoYWRvd1RleHRDb250ZW50KGlucHV0KScsICcxOTk5LTA3LTMxVDIzOjU5Jyk7Ci1z
ZXREYXRlVGltZUZvcm1hdCgnSEg6bW0nKTsKLXNob3VsZEJlRXF1YWxUb1N0cmluZygnZ2V0VXNl
ckFnZW50U2hhZG93VGV4dENvbnRlbnQoaW5wdXQpJywgJzE5OTktMDctMzFUMjM6NTknKTsKLXNl
dERhdGVUaW1lRm9ybWF0KCJ5eXl5LU1NLWRkJ1QnaGg6bW0iKTsKLXNob3VsZEJlRXF1YWxUb1N0
cmluZygnZ2V0VXNlckFnZW50U2hhZG93VGV4dENvbnRlbnQoaW5wdXQpJywgJzE5OTktMDctMzFU
MjM6NTknKTsKLQotPC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vanMvcmVzb3VyY2VzL2pz
LXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Ci08L2JvZHk+Ci08L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2RhdGV0aW1lbG9jYWwtbXVsdGlwbGUtZmllbGRzL2RhdGV0
aW1lbG9jYWwtbXVsdGlwbGUtZmllbGRzLWtleWJvYXJkLWV2ZW50cy1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2RhdGV0aW1lbG9jYWwtbXVsdGlwbGUtZmllbGRzL2RhdGV0
aW1lbG9jYWwtbXVsdGlwbGUtZmllbGRzLWtleWJvYXJkLWV2ZW50cy1leHBlY3RlZC50eHQKZGVs
ZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGNlMDYzOTdiNGYzN2VjNzBlODI3MDIxOTJlMGNm
YjhjYWJiYTYwMjkuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0t
IGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9kYXRldGltZWxvY2FsLW11bHRpcGxlLWZpZWxkcy9k
YXRldGltZWxvY2FsLW11bHRpcGxlLWZpZWxkcy1rZXlib2FyZC1ldmVudHMtZXhwZWN0ZWQudHh0
CisrKyAvZGV2L251bGwKQEAgLTEsNjggKzAsMCBAQAotTXVsdGlwbGUgZmllbGRzIFVJIG9mIGRh
dGV0aW1lLWxvY2FsIGlucHV0IHR5cGUgd2l0aCBrZXlib2FyZCBldmVudHMKLQotT24gc3VjY2Vz
cywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkg
IlRFU1QgQ09NUExFVEUiLgotCi0KLVBsZWFzZSBydW4gdGhpcyB3aXRoIER1bXBSZW5kZXJUcmVl
LgotCi1UZXN0IGZvbGxvd2luZyBrZXlzOgotRGlnaXRzCi1MZWZ0L1JpZ2h0IC0gTW92ZSBmb2N1
cyBmaWVsZCBpbnNpZGUgZWxlbWVudAotVXAvRG93biAtIEluY3JlbWVudC9kZWNyZW1lbnQgdmFs
dWUgb2YgZm9jdXMgZmllbGQKLVRhYiAtIE1vdmUgZm9jdXMgZmllbGQKLUJhY2tzcGFjZSAtIE1h
a2UgdmFsdWUgZW1wdHkKLSAgCi09PSBEaWdpdCBrZXlzID09Ci1QQVNTIGlucHV0LnZhbHVlIGlz
ICI5ODc2NS0wOS0yMFQwNzo1NiIKLT09IERpZ2l0IGtleXMgc3RhcnRpbmcgd2l0aCB6ZXJvID09
Ci1QQVNTIGlucHV0LnZhbHVlIGlzICIwMDQ0LTAyLTAzVDA1OjA2IgotPT0gRGlnaXQga2V5cyBh
bmQgYmFja3NwYWNlIGtleSA9PQotUEFTUyBpbnB1dC52YWx1ZSBpcyAiMDAwOC0wNS0wNlQwOTox
MCIKLT09IExlZnQvUmlnaHQga2V5cyA9PQotUEFTUyBpbnB1dC52YWx1ZSBpcyAiMDAwNC0wOS0w
NVQxOTowNSIKLVBBU1MgZG9jdW1lbnQuYWN0aXZlRWxlbWVudC5pZCBpcyAiaW5wdXQiCi09PSBV
cC9Eb3duIGtleXMgPT0KLVBBU1MgaW5wdXQudmFsdWUgaXMgIjIwMTItMTAtMjlUMDA6MDAiCi1Q
QVNTIGlucHV0LnZhbHVlIGlzICIyMDEyLTA4LTI5VDAwOjAwIgotPT0gVXAvRG93biBrZXlzIG9u
IGVtcHR5IHZhbHVlID09Ci1QQVNTIGlucHV0LnZhbHVlIGlzIGN1cnJlbnRZZWFyICsgIi0xMS0w
MVQwMTo1OSIKLT09IFRhYiBrZXkgPT0KLVBBU1MgaW5wdXQudmFsdWUgaXMgIjIwMTItMDktMDVU
MTI6MDAiCi1QQVNTIGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQuaWQgaXMgImFmdGVyIgotPT0gU2hm
aXQrVGFiIGtleSA9PQotUEFTUyBpbnB1dC52YWx1ZSBpcyAiMjAxMi0wOS0zMFQxMzowMyIKLVBB
U1MgZG9jdW1lbnQuYWN0aXZlRWxlbWVudC5pZCBpcyAiYmVmb3JlIgotPT0gVXAga2V5IG9uIG1h
eGltdW0gdmFsdWUgPT0KLVBBU1MgaW5wdXQudmFsdWUgaXMgIjAwMDEtMTAtMTRUMDA6MDAiCi09
PSBVcCBrZXkgd2l0aCBhIG1heGltdW0gYXR0cmlidXRlID09Ci1QQVNTIGlucHV0LnZhbHVlIGlz
ICIxMDAwLTAxLTAxVDAwOjAwIgotPT0gRG93biBrZXkgb24gbWluaW11bSB2YWx1ZSA9PQotUEFT
UyBpbnB1dC52YWx1ZSBpcyAiIgotPT0gRG93biBrZXkgd2l0aCBhIG1pbmltdW0gYXR0cmlidXRl
ID09Ci1QQVNTIGlucHV0LnZhbHVlIGlzICIiCi09PSBJbmNvbnNpc3RlbnQgbWluLW1heCBhdHRy
aWJ1dGVzID09Ci1QQVNTIGlucHV0LnZhbHVlIGlzICIxMDAwLTEyLTMxVDIzOjU5IgotUEFTUyBp
bnB1dC52YWx1ZSBpcyAiMTk5OS0xMi0zMVQyMzo1OSIKLT09IE1ha2UgYW4gaW52YWxpZCBkYXRl
ID09Ci1QQVNTIGlucHV0LnZhbHVlIGlzICIiCi09PSBCYWNrc3BhY2Uga2V5ID09Ci1QQVNTIGlu
cHV0LnZhbHVlIGlzICIiCi09PSBEZWxldGUga2V5ID09Ci1QQVNTIGlucHV0LnZhbHVlIGlzICIi
Ci09PSBUeXBlYWhlYWQgPT0KLVBBU1MgaW5wdXQudmFsdWUgaXMgIjIwMTItMTItMDFUMDA6MDAi
Ci1QQVNTIGlucHV0LnZhbHVlIGlzICIyMDEyLTEyLTAyVDAwOjAwIgotPT0gUlRMIGZvY3VzIG5h
dmlnYXRpb24gPT0KLVRoZSB0ZXN0cyBpbiB0aGlzIGJsb2NrIGZhaWwgb24gcGxhdGZvcm1zIHdp
dGhvdXQgdGhlIGxhbmctYXR0cmlidXRlLWF3YXJlLWZvcm0tY29udHJvbC1VSSBmZWF0dXJlLgot
UEFTUyBpbnB1dC52YWx1ZSBpcyAiMjAxMi0wOS0wMVQyMzowMCIKLVBBU1MgaW5wdXQudmFsdWUg
aXMgIjIwMTItMDItMDFUMDE6MDAiCi1QQVNTIGlucHV0LnZhbHVlIGlzICIwMDA4LTAzLTAxVDAx
OjAwIgotPT0gRGlzYWJsZWQvcmVhZG9ubHkgPT0KLVBBU1MgaW5wdXQudmFsdWUgaXMgIjIwMTIt
MTAtMDhUMDA6MDAiCi1QQVNTIGlucHV0LnZhbHVlIGlzICIyMDEyLTExLTA4VDAwOjAwIgotUEFT
UyBpbnB1dC52YWx1ZSBpcyAiMjAxMi0xMS0wOFQwMDowMCIKLVBBU1MgaW5wdXQudmFsdWUgaXMg
IjIwMTItMTItMDhUMDA6MDAiCi1QQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCi0KLVRF
U1QgQ09NUExFVEUKLQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9kYXRldGlt
ZWxvY2FsLW11bHRpcGxlLWZpZWxkcy9kYXRldGltZWxvY2FsLW11bHRpcGxlLWZpZWxkcy1rZXli
b2FyZC1ldmVudHMuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvZGF0ZXRpbWVsb2NhbC1t
dWx0aXBsZS1maWVsZHMvZGF0ZXRpbWVsb2NhbC1tdWx0aXBsZS1maWVsZHMta2V5Ym9hcmQtZXZl
bnRzLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDFjMTVhMTc5Y2JjMzQyOWY4
ZTVjODhjYWNhMDYwMzc0M2YxM2JhNGQuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9kYXRldGltZWxvY2FsLW11bHRp
cGxlLWZpZWxkcy9kYXRldGltZWxvY2FsLW11bHRpcGxlLWZpZWxkcy1rZXlib2FyZC1ldmVudHMu
aHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDI3MiArMCwwIEBACi08IURPQ1RZUEUgaHRtbD4KLTxo
dG1sPgotPGhlYWQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJl
LmpzIj48L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5PgotPHAgaWQ9ImRlc2NyaXB0aW9uIj48L3A+
Ci08cD4KLVBsZWFzZSBydW4gdGhpcyB3aXRoIER1bXBSZW5kZXJUcmVlLgotPC9wPgotVGVzdCBm
b2xsb3dpbmcga2V5czoKLTx1bD4KLSAgICA8bGk+RGlnaXRzPC9saT4KLSAgICA8bGk+TGVmdC9S
aWdodCAtIE1vdmUgZm9jdXMgZmllbGQgaW5zaWRlIGVsZW1lbnQ8L2xpPgotICAgIDxsaT5VcC9E
b3duIC0gSW5jcmVtZW50L2RlY3JlbWVudCB2YWx1ZSBvZiBmb2N1cyBmaWVsZDwvbGk+Ci0gICAg
PGxpPlRhYiAtIE1vdmUgZm9jdXMgZmllbGQ8L2xpPgotICAgIDxsaT5CYWNrc3BhY2UgLSBNYWtl
IHZhbHVlIGVtcHR5PC9saT4KLTwvdWw+Ci08aW5wdXQgaWQ9ImJlZm9yZSI+Ci08aW5wdXQgaWQ9
ImlucHV0IiB0eXBlPSJkYXRldGltZS1sb2NhbCI+Ci08aW5wdXQgaWQ9ImFmdGVyIj4KLTxkaXYg
aWQ9ImNvbnNvbGUiPjwvZGl2PgotPHNjcmlwdD4KLWRlc2NyaXB0aW9uKCdNdWx0aXBsZSBmaWVs
ZHMgVUkgb2YgZGF0ZXRpbWUtbG9jYWwgaW5wdXQgdHlwZSB3aXRoIGtleWJvYXJkIGV2ZW50cycp
OwotaWYgKHdpbmRvdy5pbnRlcm5hbHMpCi0gICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldExhbmdB
dHRyaWJ1dGVBd2FyZUZvcm1Db250cm9sVUlFbmFibGVkKHRydWUpOwotdmFyIGlucHV0ID0gZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2lucHV0Jyk7Ci0KLWZ1bmN0aW9uIGtleURvd24oa2V5LCBt
b2RpZmllcnMpCi17Ci0gICAgaWYgKCF3aW5kb3cuZXZlbnRTZW5kZXIpCi0gICAgICAgIHJldHVy
bjsKLSAgICBldmVudFNlbmRlci5rZXlEb3duKGtleSwgbW9kaWZpZXJzKTsKLX0KLQotZnVuY3Rp
b24gYmVnaW5UZXN0KHRpdGxlLCBvcHRfdmFsdWUsIG9wdF9taW4sIG9wdF9tYXgpCi17Ci0gICAg
ZGVidWcoJz09ICcgKyB0aXRsZSArICcgPT0nKTsKLSAgICBpbnB1dC52YWx1ZSA9IG9wdF92YWx1
ZSB8fCAnJzsKLSAgICBpbnB1dC5taW4gPSBvcHRfbWluID8gb3B0X21pbiA6ICcnOwotICAgIGlu
cHV0Lm1heCA9IG9wdF9tYXggPyBvcHRfbWF4IDogJyc7Ci0gICAgaW5wdXQuYmx1cigpOwotICAg
IGlucHV0LmZvY3VzKCk7Ci19Ci0KLWJlZ2luVGVzdCgnRGlnaXQga2V5cycpOwota2V5RG93bign
OScpOyAvLyAtPiAwOS9bZGRdL3l5eXkgLS06LS0gLS0KLWtleURvd24oJzInKTsgLy8gLT4gMDkv
WzAyXS95eXl5IC0tOi0tIC0tCi1rZXlEb3duKCcwJyk7IC8vIC0+IDA5LzIwL1t5eXl5XSAtLTot
LSAtLQota2V5RG93bignOScpOyAvLyAtPiAwOS8yMC9bMDAwOV0gLS06LS0gLS0KLWtleURvd24o
JzgnKTsgLy8gLT4gMDkvMjAvWzAwOThdIC0tOi0tIC0tCi1rZXlEb3duKCc3Jyk7IC8vIC0+IDA5
LzIwL1swOTg3XSAtLTotLSAtLQota2V5RG93bignNicpOyAvLyAtPiAwOS8yMC9bOTg3Nl0gLS06
LS0gLS0KLWtleURvd24oJzUnKTsgLy8gLT4gMDkvMjAvOTg3NjUgWy0tXTotLSAtLQota2V5RG93
bignNycpOyAvLyAtPiAwOS8yMC85ODc2NSAwNzpbLS1dIC0tCi1rZXlEb3duKCc1Jyk7IC8vIC0+
IDA5LzIwLzk4NzY1IDA3OlswNV0gLS0KLWtleURvd24oJzYnKTsgLy8gLT4gMDkvMjAvOTg3NjUg
MDc6NTYgWy0tXQota2V5RG93bignQScpOyAvLyAtPiAwOS8yMC85ODc2NSAwNzo1NiBBTQotc2hv
dWxkQmVFcXVhbFRvU3RyaW5nKCdpbnB1dC52YWx1ZScsICc5ODc2NS0wOS0yMFQwNzo1NicpOwot
Ci1iZWdpblRlc3QoJ0RpZ2l0IGtleXMgc3RhcnRpbmcgd2l0aCB6ZXJvJywgbnVsbCwgbnVsbCwg
Jzk5OTktMTItMzFUMjM6NTknKTsKLWtleURvd24oJzAnKTsgLy8gLT4gWzAwXS9kZC95eXl5IC0t
Oi0tIC0tCi1rZXlEb3duKCcyJyk7IC8vIC0+IDAyL1tkZF0veXl5eSAtLTotLSAtLQota2V5RG93
bignMCcpOyAvLyAtPiAwMi9bMDBdL3l5eXkgLS06LS0gLS0KLWtleURvd24oJzMnKTsgLy8gLT4g
MDIvMDMvW3l5eXldIC0tOi0tIC0tCi1rZXlEb3duKCcwJyk7IC8vIC0+IDAyLzAzL1swMDAwXSAt
LTotLSAtLQota2V5RG93bignMCcpOyAvLyAtPiAwMi8wMy9bMDAwMF0gLS06LS0gLS0KLWtleURv
d24oJzQnKTsgLy8gLT4gMDIvMDMvWzAwNDRdIC0tOi0tIC0tCi1rZXlEb3duKCc0Jyk7IC8vIC0+
IDAyLzAzL1swMDQ0XSAtLTotLSAtLQota2V5RG93bignMCcpOyAvLyAtPiAwMi8wMy8wMDQ0IFsw
MF06LS0gLS0KLWtleURvd24oJzUnKTsgLy8gLT4gMDIvMDMvMDA0NCAwNTpbLS1dIC0tCi1rZXlE
b3duKCcwJyk7IC8vIC0+IDAyLzAzLzAwNDQgMDE6WzAxXSAtLQota2V5RG93bignNicpOyAvLyAt
PiAwMi8wMy8wMDQ0IDA1OjA2IFstLV0KLWtleURvd24oJ0EnKTsgLy8gLT4gMDIvMDMvMDA0NCAw
NTowNiBBTQotc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdpbnB1dC52YWx1ZScsICcwMDQ0LTAyLTAz
VDA1OjA2Jyk7Ci0KLWJlZ2luVGVzdCgnRGlnaXQga2V5cyBhbmQgYmFja3NwYWNlIGtleScpOwot
a2V5RG93bignMScpOyAvLyAtPiBbMDFdL2RkL3l5eXkgLS06LS0gLS0KLWtleURvd24oIlxiIik7
IC8vIC0+IFttbV0vMjAvMjAxMiAtLTotLSAtLQota2V5RG93bignNScpOyAvLyAtPiAwNS9bZGRd
L3l5eXkgLS06LS0gLS0KLWtleURvd24oJzYnKTsgLy8gLT4gMDUvMDYvW3l5eXldIC0tOi0tIC0t
Ci1rZXlEb3duKCJcYiIpOyAvLyAtPiAwNS8wNi9beXl5eV0gLS06LS0gLS0KLWtleURvd24oJzcn
KTsgLy8gLT4gMDUvMDYvWzAwMDddIC0tOi0tIC0tCi1rZXlEb3duKCJcYiIpOyAvLyAtPiAwNS8w
Ni9beXl5eV0gLS06LS0gLS0KLWtleURvd24oJzgnKTsgLy8gLT4gMDUvMDYvWzAwMDhdIC0tOi0t
IC0tCi1rZXlEb3duKCdyaWdodEFycm93Jyk7IC8vIC0+IDA1LzA2LzAwMDggWy0tXTotLSAtLQot
a2V5RG93bignOScpOyAvLyAtPiAwNS8wNi8wMDA4IDA5OlstLV0gLS0KLWtleURvd24oJzEnKTsg
Ly8gLT4gMDUvMDYvMDAwOCAwOTpbMDFdIC0tCi1rZXlEb3duKCcwJyk7IC8vIC0+IDA1LzA2LzAw
MDggMDk6MTAgWy0tXQota2V5RG93bignQScpOyAvLyAtPiAwNS8wNi8wMDA4IDA5OjEwIFtBTV0K
LXNob3VsZEJlRXF1YWxUb1N0cmluZygnaW5wdXQudmFsdWUnLCAnMDAwOC0wNS0wNlQwOToxMCcp
OwotCi0vLyBGSVhNRTogV2Ugc2hvdWxkIHRlc3QgdHlwZSBhaGVhZCB0aW1lIG91dC4gV2hlbiBl
dmVudC5sZWFwRm9yd2FyZCgpIGFmZmVjdHMKLS8vIGtleWJvYXJkIGV2ZW50IHRpbWUgc3RhbXAs
IHdlIGNhbiB1bmNvbW1lbnQgdGhpcyBmcmFnbWVudC4KLS8qCi1iZWdpblRlc3QoJ0RpZ2l0IGtl
eXMgd2l0aCB0eXBlIGFoZWFkIHRpbWVvdXQnLCAnMjAxMi0wMS0wMVQwMDowMCcpOwota2V5RG93
bignMScpOyAvLyAtPiBbMDFdLzAxLzIwMTIgMTI6MDAgQU0KLWxlYXBGb3J3YXJkKDExMDApOwot
a2V5RG93bignMScpOyAvLyAtPiBbMDFdLzAxLzIwMTIgMTI6MDAgQU0KLWtleURvd24oJzInKTsg
Ly8gLT4gMTIvWzAxXS8yMDEyIDEyOjAwIEFNCi1rZXlEb3duKCc1Jyk7IC8vIC0+IDEyLzA1L1sy
MDEyXSAxMjowMCBBTQota2V5RG93bignNicpOyAvLyAtPiAxMi8wNS9bMDAwNl0gMTI6MDAgQU0K
LXNob3VsZEJlRXF1YWxUb1N0cmluZygnaW5wdXQudmFsdWUnLCAnMDAwNi0xMi0wNVQwMDowMCcp
OwotKi8KLQotYmVnaW5UZXN0KCdMZWZ0L1JpZ2h0IGtleXMnLCAnMjAxMi0wOS0yOVQwMDowMCcp
Owota2V5RG93bigncmlnaHRBcnJvdycpOyAvLyAtPiAwOS9bMjldLzIwMTIgMTI6MDAgQU0KLWtl
eURvd24oJzUnKTsgLy8gLT4gMDkvMDUvWzIwMTJdIDEyOjAwIEFNCi1rZXlEb3duKCdyaWdodEFy
cm93Jyk7IC8vIC0+IDA5LzA1LzIwMTIgWzEyXTowMCBBTQota2V5RG93bignNycpOyAvLyAtPiAw
OS8wNS8yMDEyIDA3OlswMF0gQU0KLWtleURvd24oJ3JpZ2h0QXJyb3cnKTsgLy8gLT4gMDkvMDUv
MjAxMiAwNzowMCBbQU1dCi1rZXlEb3duKCdQJyk7IC8vIC0+IDA5LzA1LzIwMTIgMDc6MDAgW1BN
XQota2V5RG93bignbGVmdEFycm93Jyk7IC8vIC0+IDA5LzA1LzIwMTIgMDc6WzAwXSBQTQota2V5
RG93bignNScpOyAvLyAtPiAwOS8wNS8yMDEyIDA3OlswNV0gUE0KLWtleURvd24oJ2xlZnRBcnJv
dycpOyAvLyAtPiAwOS8wNS8yMDEyIFswN106MDUgUE0KLWtleURvd24oJ2xlZnRBcnJvdycpOyAv
LyAtPiAwOS8wNS9bMjAxMl0gMDc6MDUgUE0KLWtleURvd24oJzQnKTsgLy8gLT4gMDkvMDUvWzAw
MDRdIDA3OjA1IFBNCi1zaG91bGRCZUVxdWFsVG9TdHJpbmcoJ2lucHV0LnZhbHVlJywgJzAwMDQt
MDktMDVUMTk6MDUnKTsKLWtleURvd24oJ2xlZnRBcnJvdycpOyAvLyAtPiAwOS9bMDVdLzAwMDQg
MDc6MDUgUE0KLWtleURvd24oJ2xlZnRBcnJvdycpOyAvLyAtPiBbMDldLzA1LzAwMDQgMDc6MDUg
UE0KLWtleURvd24oJ2xlZnRBcnJvdycpOyAvLyAtPiBbMDldLzA1LzAwMDQgMDc6MDUgUE0KLXNo
b3VsZEJlRXF1YWxUb1N0cmluZygnZG9jdW1lbnQuYWN0aXZlRWxlbWVudC5pZCcsICdpbnB1dCcp
OwotCi1iZWdpblRlc3QoJ1VwL0Rvd24ga2V5cycsICcyMDEyLTA5LTI5VDAwOjAwJyk7Ci1rZXlE
b3duKCd1cEFycm93Jyk7IC8vIC0+IFsxMF0vMjkvMjAxMiAxMjowMCBBTQotc2hvdWxkQmVFcXVh
bFRvU3RyaW5nKCdpbnB1dC52YWx1ZScsICcyMDEyLTEwLTI5VDAwOjAwJyk7Ci1rZXlEb3duKCdk
b3duQXJyb3cnKTsgLy8gLT4gWzA5XS8yOS8yMDEyIDEyOjAwIEFNCi1rZXlEb3duKCdkb3duQXJy
b3cnKTsgLy8gLT4gWzA4XS8yOS8yMDEyIDEyOjAwIEFNCi1zaG91bGRCZUVxdWFsVG9TdHJpbmco
J2lucHV0LnZhbHVlJywgJzIwMTItMDgtMjlUMDA6MDAnKTsKLQotYmVnaW5UZXN0KCdVcC9Eb3du
IGtleXMgb24gZW1wdHkgdmFsdWUnKTsKLWtleURvd24oJ2Rvd25BcnJvdycpOyAvLyAgLT4gWzEy
XS9kZC95eXl5IC0tOi0tIC0tCi1rZXlEb3duKCdkb3duQXJyb3cnKTsgLy8gIC0+IFsxMV0vZGQv
eXl5eSAtLTotLSAtLQota2V5RG93bigncmlnaHRBcnJvdycpOyAvLyAtPiAxMS9bZGRdL3l5eXkg
LS06LS0gLS0KLWtleURvd24oJ3VwQXJyb3cnKTsgLy8gICAgLT4gMTEvWzAxXS95eXl5IC0tOi0t
IC0tCi1rZXlEb3duKCd1cEFycm93Jyk7IC8vICAgIC0+IDExL1swMl0veXl5eSAtLTotLSAtLQot
a2V5RG93bignZG93bkFycm93Jyk7IC8vICAtPiAxMS9bMDFdL3l5eXkgLS06LS0gLS0KLWtleURv
d24oJ3JpZ2h0QXJyb3cnKTsgLy8gLT4gMTEvMDEvW3l5eXldIC0tOi0tIC0tCi12YXIgY3VycmVu
dFllYXIgPSBuZXcgRGF0ZSgpLmdldEZ1bGxZZWFyKCk7Ci1rZXlEb3duKCd1cEFycm93Jyk7IC8v
IC0+IDExLzAxL1tjdXJyZW50WWVhcl0gLS06LS0gLS0KLWtleURvd24oJ3JpZ2h0QXJyb3cnKTsg
Ly8gLT4gMTEvMDEvY3VycmVudFllYXIgWy0tXTotLSAtLQota2V5RG93bigndXBBcnJvdycpOyAv
LyAgICAtPiAxMS8wMS9jdXJyZW50WWVhciBbMDFdOi0tIC0tCi1rZXlEb3duKCdyaWdodEFycm93
Jyk7IC8vIC0+IDExLzAxL2N1cnJlbnRZZWFyIDAxOlstLV0gLS0KLWtleURvd24oJ2Rvd25BcnJv
dycpOyAvLyAgLT4gMTEvMDEvY3VycmVudFllYXIgMDE6WzU5XSAtLQota2V5RG93bigncmlnaHRB
cnJvdycpOyAvLyAtPiAxMS8wMS9jdXJyZW50WWVhciAwMTo1OSBbLS1dCi1rZXlEb3duKCd1cEFy
cm93Jyk7IC8vICAgIC0+IDExLzAxL2N1cnJlbnRZZWFyIDAxOjU5IFtBTV0KLXNob3VsZEJlKCdp
bnB1dC52YWx1ZScsICdjdXJyZW50WWVhciArICItMTEtMDFUMDE6NTkiJyk7Ci0KLWJlZ2luVGVz
dCgnVGFiIGtleScsICcyMDEyLTA5LTMwVDAwOjAwJyk7Ci1rZXlEb3duKCdcdCcpOyAvLyAtPiAw
OS9bMzBdLzIwMTIgMTI6MDAgQU0KLWtleURvd24oJzUnKTsgLy8gLT4gMDkvMDUvWzIwMTJdIDEy
OjAwIEFNCi1rZXlEb3duKCdcdCcpOyAvLyAtPiAwOS8wNS8yMDEyIFsxMl06MDAgQU0KLWtleURv
d24oJ1x0Jyk7IC8vIC0+IDA5LzA1LzIwMTIgMTI6WzAwXSBBTQota2V5RG93bignXHQnKTsgLy8g
LT4gMDkvMDUvMjAxMiAxMjowMCBbQU1dCi1rZXlEb3duKCdQJyk7IC8vIC0+IDA5LzA1LzIwMTIg
MTI6MDAgW1BNXQotc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdpbnB1dC52YWx1ZScsICcyMDEyLTA5
LTA1VDEyOjAwJyk7Ci1rZXlEb3duKCdcdCcpOyAvLyAtPiBGb2N1cyBvdXQuCi1zaG91bGRCZUVx
dWFsVG9TdHJpbmcoJ2RvY3VtZW50LmFjdGl2ZUVsZW1lbnQuaWQnLCAnYWZ0ZXInKTsKLQotYmVn
aW5UZXN0KCdTaGZpdCtUYWIga2V5JywgJzIwMTItMDktMzBUMDE6MDAnKTsKLWFmdGVyLmZvY3Vz
KCk7Ci1rZXlEb3duKCdcdCcsIFsnc2hpZnRLZXknXSk7IC8vIC0+IDA5LzMwLzIwMTIgMDE6MDAg
W0FNXQota2V5RG93bignUCcpOyAvLyAtPiAwOS8zMC8yMDEyIDAxOjAwIFtQTV0KLWtleURvd24o
J1x0JywgWydzaGlmdEtleSddKTsgLy8gLT4gMDkvMzAvMjAxMiAwMTpbMDBdIFBNCi1rZXlEb3du
KCczJyk7IC8vIC0+IDA5LzMwLzIwMTIgMDE6WzAzXSBQTQotc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCdpbnB1dC52YWx1ZScsICcyMDEyLTA5LTMwVDEzOjAzJyk7Ci1rZXlEb3duKCdcdCcsIFsnc2hp
ZnRLZXknXSk7IC8vIC0+IDA5LzMwLzIwMTIgWzAxXTowMyBQTQota2V5RG93bignXHQnLCBbJ3No
aWZ0S2V5J10pOyAvLyAtPiAwOS8zMC9bMjAxMl0gMDE6MDMgUE0KLWtleURvd24oJ1x0JywgWydz
aGlmdEtleSddKTsgLy8gLT4gMDkvWzMwXS8yMDEyIDAxOjAzIFBNCi1rZXlEb3duKCdcdCcsIFsn
c2hpZnRLZXknXSk7IC8vIC0+IFswOV0vMzAvMjAxMiAwMTowMyBQTQota2V5RG93bignXHQnLCBb
J3NoaWZ0S2V5J10pOyAvLyAtPiBGb2N1cyBvdXQuCi1zaG91bGRCZUVxdWFsVG9TdHJpbmcoJ2Rv
Y3VtZW50LmFjdGl2ZUVsZW1lbnQuaWQnLCAnYmVmb3JlJyk7Ci0KLWJlZ2luVGVzdCgnVXAga2V5
IG9uIG1heGltdW0gdmFsdWUnLCAnMjc1NzYwLTA5LTEzVDAwOjAwJyk7Ci1rZXlEb3duKCd1cEFy
cm93Jyk7IC8vIC0+IFsxMF0vMTMvMjc1NzYwIDEyOjAwIEFNCi1rZXlEb3duKCdcdCcpOyAvLyAg
ICAgIC0+IDEwL1sxM10vMjc1NzYwIDEyOjAwIEFNCi1rZXlEb3duKCd1cEFycm93Jyk7IC8vIC0+
IDEwL1sxNF0vMjc1NzYwIDEyOjAwIEFNCi1rZXlEb3duKCdcdCcpOyAvLyAgICAgIC0+IDEwLzE0
L1syNzU3NjBdIDEyOjAwIEFNCi1rZXlEb3duKCd1cEFycm93Jyk7IC8vIC0+IDEwLzE0L1swMDAx
XSAxMjowMCBBTQotc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdpbnB1dC52YWx1ZScsICcwMDAxLTEw
LTE0VDAwOjAwJyk7Ci1iZWdpblRlc3QoJ1VwIGtleSB3aXRoIGEgbWF4aW11bSBhdHRyaWJ1dGUn
LCAnMTk5OS0xMi0zMVQwMDowMCcsICcxMDAwLTAxLTAxVDAwOjAwJywgJzE5OTktMTItMzFUMjM6
NTknKTsKLWtleURvd24oJ3VwQXJyb3cnKTsgLy8gLT4gWzAxXS8zMS8xOTk5IDEyOjAwIEFNCi1r
ZXlEb3duKCdcdCcpOyAvLyAgICAgIC0+IDAxL1szMV0vMTk5OSAxMjowMCBBTQota2V5RG93bign
dXBBcnJvdycpOyAvLyAtPiAwMS9bMDFdLzE5OTkgMTI6MDAgQU0KLWtleURvd24oJ1x0Jyk7IC8v
ICAgICAgLT4gMDEvMDEvWzE5OTldIDEyOjAwIEFNCi1rZXlEb3duKCd1cEFycm93Jyk7IC8vIC0+
IDAxLzAxL1sxMDAwXSAxMjowMCBBTQotc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdpbnB1dC52YWx1
ZScsICcxMDAwLTAxLTAxVDAwOjAwJyk7Ci0KLWJlZ2luVGVzdCgnRG93biBrZXkgb24gbWluaW11
bSB2YWx1ZScsICcwMDAxLTAxLTAxVDAwOjAwJywgJ2JhZCBtaW4nLCAnd3JvbmcgbWF4Jyk7Ci1r
ZXlEb3duKCdkb3duQXJyb3cnKTsgLy8gLT4gWzEyXS8wMS8wMDAxIDEyOjAwIEFNCi1rZXlEb3du
KCdcdCcpOyAvLyAgICAgICAgLT4gMTIvWzAxXS8wMDAxIDEyOjAwIEFNCi1rZXlEb3duKCdkb3du
QXJyb3cnKTsgLy8gLT4gMTIvWzMxXS8wMDAxIDEyOjAwIEFNCi1rZXlEb3duKCdcdCcpOyAvLyAg
ICAgICAgLT4gMTIvMzEvWzAwMDFdIDEyOjAwIEFNCi1rZXlEb3duKCdkb3duQXJyb3cnKTsgLy8g
LT4gMTIvMzEvWzI3NTc2MF0gMTI6MDAgQU0sIHdoaWNoIGlzIGdyZWF0ZXIgdGhhbiB0aGUgaGFy
ZCBsaW1pdC4KLXNob3VsZEJlRXF1YWxUb1N0cmluZygnaW5wdXQudmFsdWUnLCAnJyk7Ci1iZWdp
blRlc3QoJ0Rvd24ga2V5IHdpdGggYSBtaW5pbXVtIGF0dHJpYnV0ZScsICcxMDAwLTAxLTAxVDAw
OjAwJywgJzEwMDAtMDEtMDFUMDA6MDAnKTsKLWtleURvd24oJ2Rvd25BcnJvdycpOyAvLyAtPiBb
MTJdLzAxLzEwMDAgMTI6MDAgQU0KLWtleURvd24oJ1x0Jyk7IC8vICAgICAgICAtPiAxMi9bMDFd
LzEwMDAgMTI6MDAgQU0KLWtleURvd24oJ2Rvd25BcnJvdycpOyAvLyAtPiAxMi9bMzFdLzEwMDAg
MTI6MDAgQU0KLWtleURvd24oJ1x0Jyk7IC8vICAgICAgICAtPiAxMi8zMS9bMTAwMF0gMTI6MDAg
QU0KLWtleURvd24oJ2Rvd25BcnJvdycpOyAvLyAtPiAxMi8zMS8yNzU3NjAsIHdoaWNoIGlzIGdy
ZWF0ZXIgdGhhbiB0aGUgaGFyZCBsaW1pdC4KLXNob3VsZEJlRXF1YWxUb1N0cmluZygnaW5wdXQu
dmFsdWUnLCAnJyk7Ci0KLWJlZ2luVGVzdCgnSW5jb25zaXN0ZW50IG1pbi1tYXggYXR0cmlidXRl
cycsICcxOTk5LTEyLTMxVDIzOjU5JywgJzE5OTktMTItMzFUMjM6NTknLCAnMTAwMC0wMS0wMVQw
MDowMCcpOwota2V5RG93bignXHQnKTsgLy8gLT4gMTIvWzMxXS8xOTk5IDExOjU5IFBNCi1rZXlE
b3duKCdcdCcpOyAvLyAtPiAxMi8zMS9bMTk5OV0gMTE6NTkgUE0KLWtleURvd24oJ3VwQXJyb3cn
KTsgLy8gLT4gMTIvMzEvWzEwMDBdIDExOjU5IFBNLiAgMTAwMCBpcyB0aGUgc3dhcHBlZCBtaW5p
bXVtIHllYXIuCi1zaG91bGRCZUVxdWFsVG9TdHJpbmcoJ2lucHV0LnZhbHVlJywgJzEwMDAtMTIt
MzFUMjM6NTknKTsKLWtleURvd24oJ2Rvd25BcnJvdycpOyAvLyAtPiAxMi8zMS9bMTk5OV0KLXNo
b3VsZEJlRXF1YWxUb1N0cmluZygnaW5wdXQudmFsdWUnLCAnMTk5OS0xMi0zMVQyMzo1OScpOwot
Ci1iZWdpblRlc3QoJ01ha2UgYW4gaW52YWxpZCBkYXRlJywgJzIwMTItMDItMDFUMDA6MDAnKTsK
LWtleURvd24oJ1x0Jyk7IC8vICAgICAgICAtPiAwMi9bMDFdLzIwMTIgMTI6MDAgQU0KLWtleURv
d24oJ2Rvd25BcnJvdycpOyAvLyAtPiAwMi9bMzFdLzIwMTIgMTI6MDAgQU0KLXNob3VsZEJlRXF1
YWxUb1N0cmluZygnaW5wdXQudmFsdWUnLCAnJyk7IC8vIDIwMTItMDItMzEgaXMgbm90IGEgdmFs
aWQgZGF0ZS4KLQotYmVnaW5UZXN0KCdCYWNrc3BhY2Uga2V5JywgJzIwMTItMDktMjBUMDA6MDAn
KTsKLWtleURvd24oJ1xiJyk7IC8vIC0+IFttbV0vMjAvMjAxMiAxMjowMCBBTQotc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCdpbnB1dC52YWx1ZScsICcnKTsKLQotYmVnaW5UZXN0KCdEZWxldGUga2V5
JywgJzIwMTItMDktMzBUMDA6MDAnKTsKLWtleURvd24oJ2RlbGV0ZScpOyAvLyAtPiBbbW1dLzMw
LzIwMTIgMTI6MDAgQU0KLXNob3VsZEJlRXF1YWxUb1N0cmluZygnaW5wdXQudmFsdWUnLCAnJyk7
Ci0KLWJlZ2luVGVzdCgnVHlwZWFoZWFkJywgJzIwMTItMTItMzFUMDA6MDAnKTsKLWtleURvd24o
J3JpZ2h0QXJyb3cnKTsgLy8gLT4gMTIvWzMxXS8yMDEyIDEyOjAwIEFNCi1rZXlEb3duKCcxJyk7
IC8vICAgICAgICAgIC0+IDEyL1swMV0vMjAxMiAxMjowMCBBTQotc2hvdWxkQmVFcXVhbFRvU3Ry
aW5nKCdpbnB1dC52YWx1ZScsICcyMDEyLTEyLTAxVDAwOjAwJyk7Ci1rZXlEb3duKCdsZWZ0QXJy
b3cnKTsgLy8gIC0+IFsxMl0vMDEvMjAxMiAxMjowMCBBTQota2V5RG93bigncmlnaHRBcnJvdycp
OyAvLyAtPiAxMi9bMDFdLzIwMTIgMTI6MDAgQU0KLWtleURvd24oJzInKTsgLy8gICAgICAgICAg
LT4gMTIvWzAyXS8yMDEyIDEyOjAwIEFNCi1zaG91bGRCZUVxdWFsVG9TdHJpbmcoJ2lucHV0LnZh
bHVlJywgJzIwMTItMTItMDJUMDA6MDAnKTsKLQotaW5wdXQuc2V0QXR0cmlidXRlKCdsYW5nJywg
J2hlLWlsJyk7Ci1iZWdpblRlc3QoJ1JUTCBmb2N1cyBuYXZpZ2F0aW9uJywgJzIwMTItMDktMjhU
MjM6MDAnKTsKLWRlYnVnKCdUaGUgdGVzdHMgaW4gdGhpcyBibG9jayBmYWlsIG9uIHBsYXRmb3Jt
cyB3aXRob3V0IHRoZSBsYW5nLWF0dHJpYnV0ZS1hd2FyZS1mb3JtLWNvbnRyb2wtVUkgZmVhdHVy
ZS4nKTsKLS8vIFRoZSBsb2dpY2xhIG9yZGVyOiBkZC9NTS95eXl5IGhoOm1tCi0vLyBUaGUgdmlz
dWFsIG9yZGVyOiBoaDptbSBkZC9NTS95eXl5Ci1rZXlEb3duKCcxJyk7IC8vICAgICAgICAgIC0+
IDIzOjAwIFswMV0vMDkvMjAxMgotc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdpbnB1dC52YWx1ZScs
ICcyMDEyLTA5LTAxVDIzOjAwJyk7Ci1rZXlEb3duKCdcdCcpOyAvLyAgICAgICAgIC0+IDIzOjAw
IDAxL1swOV0vMjAxMgota2V5RG93bignMicpOyAvLyAgICAgICAgICAtPiAyMzowMCAwMS8wMi9b
MjAxMl0KLWtleURvd24oJ1x0Jyk7IC8vICAgICAgICAgLT4gWzIzXTowMCAyMDEyLzA5LzAxCi1r
ZXlEb3duKCcxJyk7IC8vICAgICAgICAgIC0+IFswMV06MDAgMDEvMDkvMjAxMgotc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCdpbnB1dC52YWx1ZScsICcyMDEyLTAyLTAxVDAxOjAwJyk7Ci1rZXlEb3du
KCdcdCcsIFsnc2hpZnRLZXknXSk7IC8vIC0+IDAxOjAwIDAxLzA5L1syMDEyXQota2V5RG93bign
OCcpOyAvLyAgICAgICAgICAgICAgICAtPiAwMTowMCAwMS8wOS9bMDAwOF0KLWtleURvd24oJ1x0
JywgWydzaGlmdEtleSddKTsgLy8gLT4gMDE6MDAgMDEvWzA5XS8wMDA4Ci1rZXlEb3duKCczJyk7
IC8vICAgICAgICAgICAgICAgIC0+IDAxOjAwIDAxLzAzL1swMDA4XQotc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCdpbnB1dC52YWx1ZScsICcwMDA4LTAzLTAxVDAxOjAwJyk7Ci1pbnB1dC5yZW1vdmVB
dHRyaWJ1dGUoJ2xhbmcnKTsKLQotYmVnaW5UZXN0KCdEaXNhYmxlZC9yZWFkb25seScsICcyMDEy
LTEwLTA4VDAwOjAwJyk7Ci1pbnB1dC5kaXNhYmxlZCA9IHRydWU7Ci1rZXlEb3duKCd1cEFycm93
Jyk7IC8vIDEwLzA4LzIwMTIgMTI6MDAgQU0KLXNob3VsZEJlRXF1YWxUb1N0cmluZygnaW5wdXQu
dmFsdWUnLCAnMjAxMi0xMC0wOFQwMDowMCcpOwotaW5wdXQuZGlzYWJsZWQgPSBmYWxzZTsKLWlu
cHV0LmZvY3VzKCk7Ci1rZXlEb3duKCd1cEFycm93Jyk7IC8vIFsxMV0vMDgvMjAxMiAxMjowMCBB
TQotc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdpbnB1dC52YWx1ZScsICcyMDEyLTExLTA4VDAwOjAw
Jyk7Ci1pbnB1dC5yZWFkT25seSA9IHRydWU7Ci1rZXlEb3duKCd1cEFycm93Jyk7IC8vIDExLzA4
LzIwMTIgMTI6MDAgQU0KLXNob3VsZEJlRXF1YWxUb1N0cmluZygnaW5wdXQudmFsdWUnLCAnMjAx
Mi0xMS0wOFQwMDowMCcpOwotaW5wdXQucmVhZE9ubHkgPSBmYWxzZTsKLWlucHV0LmZvY3VzKCk7
Ci1rZXlEb3duKCd1cEFycm93Jyk7IC8vIFsxMl0vMDgvMjAxMiAxMjowMCBBTQotc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCdpbnB1dC52YWx1ZScsICcyMDEyLTEyLTA4VDAwOjAwJyk7Ci0KLTwvc2Ny
aXB0PgotPHNjcmlwdCBzcmM9Ii4uLy4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwv
c2NyaXB0PgotPC9ib2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9m
b3Jtcy9kYXRldGltZWxvY2FsLW11bHRpcGxlLWZpZWxkcy9kYXRldGltZWxvY2FsLW11bHRpcGxl
LWZpZWxkcy1tb3VzZS1ldmVudHMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jt
cy9kYXRldGltZWxvY2FsLW11bHRpcGxlLWZpZWxkcy9kYXRldGltZWxvY2FsLW11bHRpcGxlLWZp
ZWxkcy1tb3VzZS1ldmVudHMtZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCA3NTllNmVlY2Y1MmRmOWZhOWY2MWU2Y2RlM2IyNWE4NzE5ZGZmZWM2Li4wMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZm9y
bXMvZGF0ZXRpbWVsb2NhbC1tdWx0aXBsZS1maWVsZHMvZGF0ZXRpbWVsb2NhbC1tdWx0aXBsZS1m
aWVsZHMtbW91c2UtZXZlbnRzLWV4cGVjdGVkLnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDU2ICsw
LDAgQEAKLU11bHRpcGxlIGZpZWxkcyBVSSBvZiBkYXRldGltZS1sb2NhbCBpbnB1dCB0eXBlIHdp
dGggbW91c2UgZXZlbnRzCi0KLU9uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAi
UEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KLQotCi1QbGVhc2Ug
cnVuIHRoaXMgd2l0aCBEUlQgb3IgV1RSLgotCi1UZXN0IGZvbGxvd2luZyBtb3VzZSBhY3Rpb25z
OgotTW91c2UgY2xpY2sgdG8gZm9jdXMgZWFjaCBvZiBzdWItZmllbGRzCi1Nb3VzZSBjbGljayBv
biB0aGUgc3BpbiBidXR0b24gdG8gdXBkYXRlIGVhY2ggb2Ygc3ViLWZpZWxkcwotCi09PT4gRm9j
dXMgb24gdGhlIG1vbnRoIGZpZWxkLgotUEFTUyBpbnB1dC52YWx1ZSBpcyAiMjM0NS0wOC0xOVQx
MDowMCIKLVBBU1MgaW5wdXQudmFsdWUgaXMgIjIzNDUtMDktMTlUMTA6MDAiCi1QQVNTIGlucHV0
LnZhbHVlIGlzICIyMzQ1LTA4LTE5VDEwOjAwIgotUEFTUyB3aW5kb3cuZ2V0U2VsZWN0aW9uKCku
cmFuZ2VDb3VudCBpcyAwCi0KLT09PiBGb2N1cyBvbiB0aGUgZGF5IGZpZWxkLgotUEFTUyBpbnB1
dC52YWx1ZSBpcyAiMjM0NS0wOC0yMFQxMDowMCIKLVBBU1MgaW5wdXQudmFsdWUgaXMgIjIzNDUt
MDgtMjFUMTA6MDAiCi1QQVNTIGlucHV0LnZhbHVlIGlzICIyMzQ1LTA4LTIwVDEwOjAwIgotUEFT
UyB3aW5kb3cuZ2V0U2VsZWN0aW9uKCkucmFuZ2VDb3VudCBpcyAwCi0KLT09PiBGb2N1cyBvbiB0
aGUgeWVhciBmaWVsZC4KLVBBU1MgaW5wdXQudmFsdWUgaXMgIjIzNDYtMDgtMjBUMTA6MDAiCi1Q
QVNTIGlucHV0LnZhbHVlIGlzICIyMzQ3LTA4LTIwVDEwOjAwIgotUEFTUyBpbnB1dC52YWx1ZSBp
cyAiMjM0Ni0wOC0yMFQxMDowMCIKLVBBU1Mgd2luZG93LmdldFNlbGVjdGlvbigpLnJhbmdlQ291
bnQgaXMgMAotCi09PT4gRm9jdXMgb24gdGhlIGhvdXIgZmllbGQuCi1QQVNTIGlucHV0LnZhbHVl
IGlzICIyMzQ2LTA4LTIwVDExOjAwIgotUEFTUyBpbnB1dC52YWx1ZSBpcyAiMjM0Ni0wOC0yMFQw
MDowMCIKLVBBU1MgaW5wdXQudmFsdWUgaXMgIjIzNDYtMDgtMjBUMTE6MDAiCi1QQVNTIHdpbmRv
dy5nZXRTZWxlY3Rpb24oKS5yYW5nZUNvdW50IGlzIDAKLQotPT0+IEZvY3VzIG9uIHRoZSBtaW51
dGUgZmllbGQuCi1QQVNTIGlucHV0LnZhbHVlIGlzICIyMzQ2LTA4LTIwVDExOjAxIgotUEFTUyBp
bnB1dC52YWx1ZSBpcyAiMjM0Ni0wOC0yMFQxMTowMiIKLVBBU1MgaW5wdXQudmFsdWUgaXMgIjIz
NDYtMDgtMjBUMTE6MDEiCi1QQVNTIHdpbmRvdy5nZXRTZWxlY3Rpb24oKS5yYW5nZUNvdW50IGlz
IDAKLQotPT0+IENsaWNrIG9uIGEgZGlzYWJsZWQgZmllbGQuCi1QQVNTIGlucHV0LnZhbHVlIGlz
ICIyMzQ2LTA4LTIwVDExOjAxIgotCi09PT4gQ2xpY2sgb24gYSByZWFkLW9ubHkgZmllbGQuCi1Q
QVNTIGlucHV0LnZhbHVlIGlzICIyMzQ2LTA4LTIwVDExOjAxIgotCi09PT4gQ2xpY2sgb24gY2xl
YXIgYnV0dG9uLgotUEFTUyBpbnB1dC52YWx1ZSBpcyAiMjM0Ni0wOC0yMFQxMTowMSIKLVBBU1Mg
aW5wdXQudmFsdWUgaXMgIjIzNDYtMDgtMjBUMTE6MDEiCi1QQVNTIGlucHV0LnZhbHVlIGlzICIi
Ci0KLVBBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKLQotVEVTVCBDT01QTEVURQotCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2RhdGV0aW1lbG9jYWwtbXVsdGlwbGUt
ZmllbGRzL2RhdGV0aW1lbG9jYWwtbXVsdGlwbGUtZmllbGRzLW1vdXNlLWV2ZW50cy5odG1sIGIv
TGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9kYXRldGltZWxvY2FsLW11bHRpcGxlLWZpZWxkcy9kYXRl
dGltZWxvY2FsLW11bHRpcGxlLWZpZWxkcy1tb3VzZS1ldmVudHMuaHRtbApkZWxldGVkIGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggNjgxMmI5YTQ0MjYwNGUzN2YwMDVjZDRiNjUxNmU1NTc1OTEzZDM4
NC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRU
ZXN0cy9mYXN0L2Zvcm1zL2RhdGV0aW1lbG9jYWwtbXVsdGlwbGUtZmllbGRzL2RhdGV0aW1lbG9j
YWwtbXVsdGlwbGUtZmllbGRzLW1vdXNlLWV2ZW50cy5odG1sCisrKyAvZGV2L251bGwKQEAgLTEs
MTMwICswLDAgQEAKLTwhRE9DVFlQRSBodG1sPgotPGh0bWw+Ci08aGVhZD4KLTxzY3JpcHQgc3Jj
PSIuLi8uLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgotPC9oZWFkPgot
PGJvZHk+Ci08cCBpZD0iZGVzY3JpcHRpb24iPjwvcD4KLTxwPgotUGxlYXNlIHJ1biB0aGlzIHdp
dGggRFJUIG9yIFdUUi4KLTwvcD4KLVRlc3QgZm9sbG93aW5nIG1vdXNlIGFjdGlvbnM6Ci08dWw+
Ci0gICAgPGxpPk1vdXNlIGNsaWNrIHRvIGZvY3VzIGVhY2ggb2Ygc3ViLWZpZWxkczwvbGk+Ci0g
ICAgPGxpPk1vdXNlIGNsaWNrIG9uIHRoZSBzcGluIGJ1dHRvbiB0byB1cGRhdGUgZWFjaCBvZiBz
dWItZmllbGRzPC9saT4KLTwvdWw+Ci08aW5wdXQgaWQ9ImlucHV0IiB0eXBlPSJkYXRldGltZS1s
b2NhbCIgc3R5bGU9ImZvbnQtZmFtaWx5OmFoZW07IGZvbnQtc2l6ZToxNnB4OyI+Ci08ZGl2IGlk
PSJjb25zb2xlIj48L2Rpdj4KLTxzY3JpcHQ+Ci1kZXNjcmlwdGlvbignTXVsdGlwbGUgZmllbGRz
IFVJIG9mIGRhdGV0aW1lLWxvY2FsIGlucHV0IHR5cGUgd2l0aCBtb3VzZSBldmVudHMnKTsKLXZh
ciBpbnB1dCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdpbnB1dCcpOwotCi1mdW5jdGlvbiBr
ZXlEb3duKGtleSwgbW9kaWZpZXJzKQotewotICAgIGlmICghd2luZG93LmV2ZW50U2VuZGVyKQot
ICAgICAgICByZXR1cm47Ci0gICAgZXZlbnRTZW5kZXIua2V5RG93bihrZXksIG1vZGlmaWVycyk7
Ci19Ci0KLWZ1bmN0aW9uIG1vdXNlQ2xpY2tPbih4LCB5KQotewotICAgIGlmICghd2luZG93LmV2
ZW50U2VuZGVyKQotICAgICAgICByZXR1cm47Ci0gICAgZXZlbnRTZW5kZXIubW91c2VNb3ZlVG8o
eCArIGlucHV0Lm9mZnNldExlZnQsIHkgKyBpbnB1dC5vZmZzZXRUb3ApOwotICAgIGV2ZW50U2Vu
ZGVyLm1vdXNlRG93bigpOwotICAgIGV2ZW50U2VuZGVyLm1vdXNlVXAoKTsKLX0KLQotaW5wdXQu
dmFsdWUgPSAnMjM0NS0wNy0xOVQxMDowMCc7Ci12YXIgY2VudGVyID0gaW5wdXQub2Zmc2V0SGVp
Z2h0IC8gMjsKLXZhciBzcGluQnV0dG9uT2Zmc2V0ID0gMjY7Ci12YXIgY2xlYXJCdXR0b25PZmZz
ZXQgPSA0MTsKLQotZGVidWcoJz09PiBGb2N1cyBvbiB0aGUgbW9udGggZmllbGQuJyk7Ci1tb3Vz
ZUNsaWNrT24oMTIsIGNlbnRlcik7Ci1rZXlEb3duKCd1cEFycm93Jyk7Ci1zaG91bGRCZUVxdWFs
VG9TdHJpbmcoJ2lucHV0LnZhbHVlJywgJzIzNDUtMDgtMTlUMTA6MDAnKTsKLW1vdXNlQ2xpY2tP
bihpbnB1dC5vZmZzZXRXaWR0aCAtIHNwaW5CdXR0b25PZmZzZXQsIGNlbnRlciAtIDEpOwotc2hv
dWxkQmVFcXVhbFRvU3RyaW5nKCdpbnB1dC52YWx1ZScsICcyMzQ1LTA5LTE5VDEwOjAwJyk7Ci1t
b3VzZUNsaWNrT24oaW5wdXQub2Zmc2V0V2lkdGggLSBzcGluQnV0dG9uT2Zmc2V0LCBjZW50ZXIg
KyAxKTsKLXNob3VsZEJlRXF1YWxUb1N0cmluZygnaW5wdXQudmFsdWUnLCAnMjM0NS0wOC0xOVQx
MDowMCcpOwotc2hvdWxkQmVaZXJvKCd3aW5kb3cuZ2V0U2VsZWN0aW9uKCkucmFuZ2VDb3VudCcp
OyAvLyBObyB0ZXh0IHNlbGVjdGlvbi4KLQotZGVidWcoJycpOwotZGVidWcoJz09PiBGb2N1cyBv
biB0aGUgZGF5IGZpZWxkLicpOwotbW91c2VDbGlja09uKDYwLCBjZW50ZXIpOwota2V5RG93bign
dXBBcnJvdycpOwotc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdpbnB1dC52YWx1ZScsICcyMzQ1LTA4
LTIwVDEwOjAwJyk7Ci1tb3VzZUNsaWNrT24oaW5wdXQub2Zmc2V0V2lkdGggLSBzcGluQnV0dG9u
T2Zmc2V0LCBjZW50ZXIgLSAxKTsKLXNob3VsZEJlRXF1YWxUb1N0cmluZygnaW5wdXQudmFsdWUn
LCAnMjM0NS0wOC0yMVQxMDowMCcpOwotbW91c2VDbGlja09uKGlucHV0Lm9mZnNldFdpZHRoIC0g
c3BpbkJ1dHRvbk9mZnNldCwgY2VudGVyICsgMSk7Ci1zaG91bGRCZUVxdWFsVG9TdHJpbmcoJ2lu
cHV0LnZhbHVlJywgJzIzNDUtMDgtMjBUMTA6MDAnKTsKLXNob3VsZEJlWmVybygnd2luZG93Lmdl
dFNlbGVjdGlvbigpLnJhbmdlQ291bnQnKTsgLy8gTm8gdGV4dCBzZWxlY3Rpb24uCi0KLWRlYnVn
KCcnKTsKLWRlYnVnKCc9PT4gRm9jdXMgb24gdGhlIHllYXIgZmllbGQuJyk7Ci1tb3VzZUNsaWNr
T24oMTA4LCBjZW50ZXIpOwota2V5RG93bigndXBBcnJvdycpOwotc2hvdWxkQmVFcXVhbFRvU3Ry
aW5nKCdpbnB1dC52YWx1ZScsICcyMzQ2LTA4LTIwVDEwOjAwJyk7Ci1tb3VzZUNsaWNrT24oaW5w
dXQub2Zmc2V0V2lkdGggLSBzcGluQnV0dG9uT2Zmc2V0LCBjZW50ZXIgLSAxKTsKLXNob3VsZEJl
RXF1YWxUb1N0cmluZygnaW5wdXQudmFsdWUnLCAnMjM0Ny0wOC0yMFQxMDowMCcpOwotbW91c2VD
bGlja09uKGlucHV0Lm9mZnNldFdpZHRoIC0gc3BpbkJ1dHRvbk9mZnNldCwgY2VudGVyICsgMSk7
Ci1zaG91bGRCZUVxdWFsVG9TdHJpbmcoJ2lucHV0LnZhbHVlJywgJzIzNDYtMDgtMjBUMTA6MDAn
KTsKLXNob3VsZEJlWmVybygnd2luZG93LmdldFNlbGVjdGlvbigpLnJhbmdlQ291bnQnKTsgLy8g
Tm8gdGV4dCBzZWxlY3Rpb24uCi0KLWRlYnVnKCcnKTsKLWRlYnVnKCc9PT4gRm9jdXMgb24gdGhl
IGhvdXIgZmllbGQuJyk7Ci1tb3VzZUNsaWNrT24oMTkwLCBjZW50ZXIpOwota2V5RG93bigndXBB
cnJvdycpOwotc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdpbnB1dC52YWx1ZScsICcyMzQ2LTA4LTIw
VDExOjAwJyk7Ci1tb3VzZUNsaWNrT24oaW5wdXQub2Zmc2V0V2lkdGggLSBzcGluQnV0dG9uT2Zm
c2V0LCBjZW50ZXIgLSAxKTsKLXNob3VsZEJlRXF1YWxUb1N0cmluZygnaW5wdXQudmFsdWUnLCAn
MjM0Ni0wOC0yMFQwMDowMCcpOwotbW91c2VDbGlja09uKGlucHV0Lm9mZnNldFdpZHRoIC0gc3Bp
bkJ1dHRvbk9mZnNldCwgY2VudGVyICsgMSk7Ci1zaG91bGRCZUVxdWFsVG9TdHJpbmcoJ2lucHV0
LnZhbHVlJywgJzIzNDYtMDgtMjBUMTE6MDAnKTsKLXNob3VsZEJlWmVybygnd2luZG93LmdldFNl
bGVjdGlvbigpLnJhbmdlQ291bnQnKTsgLy8gTm8gdGV4dCBzZWxlY3Rpb24uCi0KLWRlYnVnKCcn
KTsKLWRlYnVnKCc9PT4gRm9jdXMgb24gdGhlIG1pbnV0ZSBmaWVsZC4nKTsKLW1vdXNlQ2xpY2tP
bigyNDAsIGNlbnRlcik7Ci1rZXlEb3duKCd1cEFycm93Jyk7Ci1zaG91bGRCZUVxdWFsVG9TdHJp
bmcoJ2lucHV0LnZhbHVlJywgJzIzNDYtMDgtMjBUMTE6MDEnKTsKLW1vdXNlQ2xpY2tPbihpbnB1
dC5vZmZzZXRXaWR0aCAtIHNwaW5CdXR0b25PZmZzZXQsIGNlbnRlciAtIDEpOwotc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCdpbnB1dC52YWx1ZScsICcyMzQ2LTA4LTIwVDExOjAyJyk7Ci1tb3VzZUNs
aWNrT24oaW5wdXQub2Zmc2V0V2lkdGggLSBzcGluQnV0dG9uT2Zmc2V0LCBjZW50ZXIgKyAxKTsK
LXNob3VsZEJlRXF1YWxUb1N0cmluZygnaW5wdXQudmFsdWUnLCAnMjM0Ni0wOC0yMFQxMTowMScp
Owotc2hvdWxkQmVaZXJvKCd3aW5kb3cuZ2V0U2VsZWN0aW9uKCkucmFuZ2VDb3VudCcpOyAvLyBO
byB0ZXh0IHNlbGVjdGlvbi4KLQotZGVidWcoJycpOwotZGVidWcoJz09PiBDbGljayBvbiBhIGRp
c2FibGVkIGZpZWxkLicpOwotaW5wdXQuZGlzYWJsZWQgPSB0cnVlOwotbW91c2VDbGlja09uKDEy
LCBjZW50ZXIpOwota2V5RG93bigndXBBcnJvdycpOwotc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdp
bnB1dC52YWx1ZScsICcyMzQ2LTA4LTIwVDExOjAxJyk7Ci1pbnB1dC5kaXNhYmxlZCA9IGZhbHNl
OwotCi1kZWJ1ZygnJyk7Ci1kZWJ1ZygnPT0+IENsaWNrIG9uIGEgcmVhZC1vbmx5IGZpZWxkLicp
OwotaW5wdXQucmVhZE9ubHkgPSB0cnVlOwotbW91c2VDbGlja09uKDEyLCBjZW50ZXIpOwota2V5
RG93bigndXBBcnJvdycpOwotc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdpbnB1dC52YWx1ZScsICcy
MzQ2LTA4LTIwVDExOjAxJyk7Ci1pbnB1dC5yZWFkT25seSA9IGZhbHNlOwotCi1kZWJ1ZygnJyk7
Ci1kZWJ1ZygnPT0+IENsaWNrIG9uIGNsZWFyIGJ1dHRvbi4nKTsKLWlucHV0LnJlYWRPbmx5ID0g
dHJ1ZTsKLW1vdXNlQ2xpY2tPbihpbnB1dC5vZmZzZXRXaWR0aCAtIGNsZWFyQnV0dG9uT2Zmc2V0
LCBjZW50ZXIpOwotc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdpbnB1dC52YWx1ZScsICcyMzQ2LTA4
LTIwVDExOjAxJyk7Ci1pbnB1dC5kaXNhYmxlZCA9IHRydWU7Ci1pbnB1dC5yZWFkT25seSA9IGZh
bHNlOwotbW91c2VDbGlja09uKGlucHV0Lm9mZnNldFdpZHRoIC0gY2xlYXJCdXR0b25PZmZzZXQs
IGNlbnRlcik7Ci1zaG91bGRCZUVxdWFsVG9TdHJpbmcoJ2lucHV0LnZhbHVlJywgJzIzNDYtMDgt
MjBUMTE6MDEnKTsKLWlucHV0LmRpc2FibGVkID0gZmFsc2U7Ci1tb3VzZUNsaWNrT24oaW5wdXQu
b2Zmc2V0V2lkdGggLSBjbGVhckJ1dHRvbk9mZnNldCwgY2VudGVyKTsKLXNob3VsZEJlRXF1YWxU
b1N0cmluZygnaW5wdXQudmFsdWUnLCAnJyk7Ci0KLWRlYnVnKCcnKTsKLTwvc2NyaXB0PgotPHNj
cmlwdCBzcmM9Ii4uLy4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0Pgot
PC9ib2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9kYXRl
dGltZWxvY2FsLW11bHRpcGxlLWZpZWxkcy9kYXRldGltZWxvY2FsLW11bHRpcGxlLWZpZWxkcy1w
cmVzZXJ2ZS12YWx1ZS1hZnRlci1oaXN0b3J5LWJhY2stZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvZmFzdC9mb3Jtcy9kYXRldGltZWxvY2FsLW11bHRpcGxlLWZpZWxkcy9kYXRldGltZWxvY2Fs
LW11bHRpcGxlLWZpZWxkcy1wcmVzZXJ2ZS12YWx1ZS1hZnRlci1oaXN0b3J5LWJhY2stZXhwZWN0
ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAzZGI3MzgzNDIzYjE3NmY3NmY1
MGM0YWE0OGQ2ZmI5ZjVhZDNkYTNhLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvZGF0ZXRpbWVsb2NhbC1tdWx0aXBs
ZS1maWVsZHMvZGF0ZXRpbWVsb2NhbC1tdWx0aXBsZS1maWVsZHMtcHJlc2VydmUtdmFsdWUtYWZ0
ZXItaGlzdG9yeS1iYWNrLWV4cGVjdGVkLnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDE4ICswLDAg
QEAKLUNoZWNrcyBpbnB1dCB2YWx1ZSBpcyBwcmVzZXJ2ZWQgYWZ0ZXIgYmFja3dhcmQgYW5kIGZv
cndhcmQKLQotT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNz
YWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgotCi0KLVdlbnQgYmFjayB0byBhIHBh
Z2UuIENoZWNraW5nIGEgZm9ybSBjb250cm9sIHdoaWNoIGhhZCBhIGZ1bGwgdmFsdWU6Ci1QQVNT
ICIxMjAxMi0xMC0wOVQwMToyMyIgaXMgIjEyMDEyLTEwLTA5VDAxOjIzIgotV2VudCBiYWNrIHRv
IGEgcGFnZS4gQ2hlY2tpbmcgYSBmb3JtIGNvbnRyb2wgd2hpY2ggaGFkIGEgcGFydGlhbCB2YWx1
ZToKLVBBU1MgIjAxL2RkLzE5OTkgLS06MDAgLS0iIGlzICIwMS9kZC8xOTk5IC0tOjAwIC0tIgot
V2VudCBmb3J3YXJkIHRvIGEgcGFnZS4gQ2hlY2tpbmcgYSBmb3JtIGNvbnRyb2wgd2hpY2ggaGFk
IGEgZnVsbCB2YWx1ZToKLVBBU1MgIjAwMDEtMTEtMTdUMjM6NTUiIGlzICIwMDAxLTExLTE3VDIz
OjU1IgotV2VudCBmb3J3YXJkIHRvIGEgcGFnZS4gQ2hlY2tpbmcgYSBmb3JtIGNvbnRyb2wgd2hp
Y2ggaGFkIGEgcGFydGlhbCB2YWx1ZToKLVBBU1MgIm1tLzMxL3l5eXkgMTI6LS0gUE0iIGlzICJt
bS8zMS95eXl5IDEyOi0tIFBNIgotCi1QQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCi0K
LVRFU1QgQ09NUExFVEUKLQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9kYXRl
dGltZWxvY2FsLW11bHRpcGxlLWZpZWxkcy9kYXRldGltZWxvY2FsLW11bHRpcGxlLWZpZWxkcy1w
cmVzZXJ2ZS12YWx1ZS1hZnRlci1oaXN0b3J5LWJhY2suaHRtbCBiL0xheW91dFRlc3RzL2Zhc3Qv
Zm9ybXMvZGF0ZXRpbWVsb2NhbC1tdWx0aXBsZS1maWVsZHMvZGF0ZXRpbWVsb2NhbC1tdWx0aXBs
ZS1maWVsZHMtcHJlc2VydmUtdmFsdWUtYWZ0ZXItaGlzdG9yeS1iYWNrLmh0bWwKZGVsZXRlZCBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDVmZGE2ZDk3N2Q5ZTBiNmY0NTQwYzdjMmE4NDdiODZhZWNi
MzkxMmQuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5
b3V0VGVzdHMvZmFzdC9mb3Jtcy9kYXRldGltZWxvY2FsLW11bHRpcGxlLWZpZWxkcy9kYXRldGlt
ZWxvY2FsLW11bHRpcGxlLWZpZWxkcy1wcmVzZXJ2ZS12YWx1ZS1hZnRlci1oaXN0b3J5LWJhY2su
aHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDQyICswLDAgQEAKLTwhRE9DVFlQRSBodG1sPgotPGh0
bWw+Ci08aGVhZD4KLTxzY3JpcHQgc3JjPSIuLi8uLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10
ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keT4KLTxpZnJhbWUgaWQ9ImlmcmFt
ZSI+PC9pZnJhbWU+Ci08c2NyaXB0PgotZGVzY3JpcHRpb24oJ0NoZWNrcyBpbnB1dCB2YWx1ZSBp
cyBwcmVzZXJ2ZWQgYWZ0ZXIgYmFja3dhcmQgYW5kIGZvcndhcmQnKTsKLWlmICghd2luZG93LmV2
ZW50U2VuZGVyIHx8ICF3aW5kb3cuaW50ZXJuYWxzKQotICAgIGRlYnVnKCdQbGVhc2UgcnVuIHdp
dGhpbiBEUlQvV1RSJyk7Ci13aW5kb3cuanNUZXN0SXNBc3luYyA9IHRydWU7Ci0KLXZhciBzdGF0
ZSA9ICdkaXJlY3QnOwotdmFyIHRlc3RDYXNlcyA9IFtdOwotCi1mdW5jdGlvbiBmYWlsZWQobWVz
c2FnZSkgewotICAgIHRlc3RGYWlsZWQobWVzc2FnZSArICcgaW4gJyArIHN0YXRlKTsKLSAgICBm
aW5pc2hKU1Rlc3QoKTsKLX0KLQotZnVuY3Rpb24gZmluaXNoVGVzdCgpIHsKLSAgICBydW5UZXN0
Q2FzZXMoKTsKLSAgICBmaW5pc2hKU1Rlc3QoKTsKLX0KLQotZnVuY3Rpb24gcnVuVGVzdENhc2Vz
KCkgewotICAgIGZvciAodmFyIGluZGV4ID0gMDsgaW5kZXggPCB0ZXN0Q2FzZXMubGVuZ3RoOyAr
K2luZGV4KSB7Ci0gICAgICAgIHZhciB0ZXN0Q2FzZSA9IHRlc3RDYXNlc1tpbmRleF07Ci0gICAg
ICAgIGRlYnVnKHRlc3RDYXNlWydkZXNjcmlwdGlvbiddICsgJzonKTsKLSAgICAgICAgc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCciJyArIHRlc3RDYXNlWydhY3R1YWwnXSArICciJywgdGVzdENhc2Vb
J2V4cGVjdGVkJ10pOwotICAgIH0KLSAgICBkZWJ1ZygnJyk7Ci19Ci0KLXdpbmRvdy5vbmxvYWQg
PSBmdW5jdGlvbigpIHsKLSAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnaWZyYW1lJykuc3Jj
ID0gJ3Jlc291cmNlcy9wcmVzZXJ2ZS12YWx1ZS1hZnRlci1oaXN0b3J5LWJhY2stZnJhbWUuaHRt
bD9wYWdlMSc7Ci19OwotPC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vLi4vZmFzdC9qcy9y
ZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KLTwvYm9keT4KLTwvaHRtbD4KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvZGF0ZXRpbWVsb2NhbC1tdWx0aXBsZS1m
aWVsZHMvZGF0ZXRpbWVsb2NhbC1tdWx0aXBsZS1maWVsZHMtcmVhZG9ubHktc3ViZmllbGQtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9kYXRldGltZWxvY2FsLW11bHRpcGxl
LWZpZWxkcy9kYXRldGltZWxvY2FsLW11bHRpcGxlLWZpZWxkcy1yZWFkb25seS1zdWJmaWVsZC1l
eHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDIzOTU3OWQ4YzM3Njhi
MWM5YWY4MTk5MDZmMTc0NGI3MWZmMDUyZTguLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9kYXRldGltZWxvY2FsLW11
bHRpcGxlLWZpZWxkcy9kYXRldGltZWxvY2FsLW11bHRpcGxlLWZpZWxkcy1yZWFkb25seS1zdWJm
aWVsZC1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSwzOSArMCwwIEBACi1TdWItZmll
bGRzIGluIGlucHV0W3R5cGU9ZGF0ZXRpbWUtbG9jYWxdIHNob3VsZCBiZSByZWFkLW9ubHkgaW4g
c29tZSBjYXNlcy4gVGhpcyByZXF1aXJlcyB3aW5kb3cuaW50ZXJuYWxzLgotCi1PbiBzdWNjZXNz
LCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAi
VEVTVCBDT01QTEVURSIuCi0KLQotY3JlYXRlSW5wdXQgYXJndW1lbnQgb3JkZXI6IG1pbiwgbWF4
LCBzdGVwLCB2YWx1ZQotCi1Ib3VyIGZpZWxkOgotUEFTUyBpc1JlYWRPbmx5RmllbGQoY3JlYXRl
SW5wdXQoIjIwMTMtMDEtMTZUMTE6MDAiLCAiIiwgc3RlcDFkYXksICIiKSwgcHNldWRvSG91cikg
aXMgdHJ1ZQotUEFTUyBpc1JlYWRPbmx5RmllbGQoY3JlYXRlSW5wdXQoIjIwMTMtMDEtMTZUMTE6
MDAiLCAiIiwgc3RlcDFkYXksICIiKSwgcHNldWRvQU1QTSkgaXMgdHJ1ZQotUEFTUyBpc1JlYWRP
bmx5RmllbGQoY3JlYXRlSW5wdXQoIjIwMTMtMDEtMTZUMTE6MDAiLCAiIiwgc3RlcDFkYXksICIi
KSwgcHNldWRvTWludXRlKSBpcyB0cnVlCi1QQVNTIGlzUmVhZE9ubHlGaWVsZChjcmVhdGVJbnB1
dCgiMjAxMy0wMS0xNlQxMTozMCIsICIiLCBzdGVwMWRheSwgIjIwMTMtMDEtMTZUMTE6MzAiKSwg
cHNldWRvSG91cikgaXMgdHJ1ZQotUEFTUyBpc1JlYWRPbmx5RmllbGQoY3JlYXRlSW5wdXQoIjIw
MTMtMDEtMTZUMTE6MzAiLCAiIiwgc3RlcDFkYXksICIyMDEzLTAxLTE2VDExOjMwIiksIHBzZXVk
b0FNUE0pIGlzIHRydWUKLVBBU1MgaXNSZWFkT25seUZpZWxkKGNyZWF0ZUlucHV0KCIyMDEzLTAx
LTE2VDExOjMwIiwgIiIsIHN0ZXAxZGF5LCAiMjAxMy0wMS0xNlQxMTozMCIpLCBwc2V1ZG9NaW51
dGUpIGlzIHRydWUKLVBBU1MgaXNSZWFkT25seUZpZWxkKGNyZWF0ZUlucHV0KCIyMDEzLTAxLTE2
VDExOjMwIiwgIiIsIHN0ZXAxZGF5LCAiMjAxMy0wMS0xNlQxMjozMCIpLCBwc2V1ZG9Ib3VyKSBp
cyBmYWxzZQotUEFTUyBpc1JlYWRPbmx5RmllbGQoY3JlYXRlSW5wdXQoIjIwMTMtMDEtMTZUMTE6
MzAiLCAiIiwgc3RlcDFkYXksICIyMDEzLTAxLTE2VDEyOjMwIiksIHBzZXVkb0FNUE0pIGlzIGZh
bHNlCi1QQVNTIGlzUmVhZE9ubHlGaWVsZChjcmVhdGVJbnB1dCgiMjAxMy0wMS0xNlQxMTozMCIs
ICIiLCBzdGVwMWRheSwgIjIwMTMtMDEtMTZUMTI6MzAiKSwgcHNldWRvTWludXRlKSBpcyB0cnVl
Ci1QQVNTIGlzUmVhZE9ubHlGaWVsZChjcmVhdGVJbnB1dCgiMjAxMy0wMS0xNlQwMDowMCIsICIi
LCBzdGVwMWRheSwgIjIwMTMtMDEtMTZUMTI6MzAiKSwgcHNldWRvSG91cikgaXMgZmFsc2UKLVBB
U1MgaXNSZWFkT25seUZpZWxkKGNyZWF0ZUlucHV0KCIyMDEzLTAxLTE2VDAwOjAwIiwgIiIsIHN0
ZXAxZGF5LCAiMjAxMy0wMS0xNlQxMjozMCIpLCBwc2V1ZG9BTVBNKSBpcyBmYWxzZQotUEFTUyBp
c1JlYWRPbmx5RmllbGQoY3JlYXRlSW5wdXQoIjIwMTMtMDEtMTZUMDA6MDAiLCAiIiwgc3RlcDFk
YXksICIyMDEzLTAxLTE2VDEyOjMwIiksIHBzZXVkb01pbnV0ZSkgaXMgZmFsc2UKLVBBU1MgaXNS
ZWFkT25seUZpZWxkKGNyZWF0ZUlucHV0KCIyMDEzLTAxLTE2VDExOjAwIiwgIjIwMTMtMDEtMTZU
MjM6MDAiLCBzdGVwMWRheSwgIiIpLCBwc2V1ZG9Ib3VyKSBpcyBmYWxzZQotUEFTUyBpc1JlYWRP
bmx5RmllbGQoY3JlYXRlSW5wdXQoIjIwMTMtMDEtMTZUMTE6MDAiLCAiMjAxMy0wMS0xNlQyMzow
MCIsIHN0ZXAxZGF5LCAiIiksIHBzZXVkb0FNUE0pIGlzIGZhbHNlCi1QQVNTIGlzUmVhZE9ubHlG
aWVsZChjcmVhdGVJbnB1dCgiMjAxMy0wMS0xNlQxMTowMCIsICIyMDEzLTAxLTE2VDIzOjAwIiwg
c3RlcDFkYXksICIiKSwgcHNldWRvTWludXRlKSBpcyB0cnVlCi1QQVNTIGlzUmVhZE9ubHlGaWVs
ZChjcmVhdGVJbnB1dCgiMjAxMy0wMS0xNlQxMTozMCIsICIyMDEzLTAxLTE2VDIzOjAwIiwgc3Rl
cDFkYXksICIyMDEzLTAxLTE2VDExOjMwIiksIHBzZXVkb0hvdXIpIGlzIGZhbHNlCi1QQVNTIGlz
UmVhZE9ubHlGaWVsZChjcmVhdGVJbnB1dCgiMjAxMy0wMS0xNlQxMTozMCIsICIyMDEzLTAxLTE2
VDIzOjAwIiwgc3RlcDFkYXksICIyMDEzLTAxLTE2VDExOjMwIiksIHBzZXVkb0FNUE0pIGlzIGZh
bHNlCi1QQVNTIGlzUmVhZE9ubHlGaWVsZChjcmVhdGVJbnB1dCgiMjAxMy0wMS0xNlQxMTozMCIs
ICIyMDEzLTAxLTE2VDIzOjAwIiwgc3RlcDFkYXksICIyMDEzLTAxLTE2VDExOjMwIiksIHBzZXVk
b01pbnV0ZSkgaXMgdHJ1ZQotUEFTUyBpc1JlYWRPbmx5RmllbGQoY3JlYXRlSW5wdXQoIjIwMTMt
MDEtMTZUMTE6MzAiLCAiMjAxMy0wMS0xNlQxMTo1OSIsIHN0ZXAxZGF5LCAiMjAxMy0wMS0xNlQx
MTozMCIpLCBwc2V1ZG9Ib3VyKSBpcyBmYWxzZQotUEFTUyBpc1JlYWRPbmx5RmllbGQoY3JlYXRl
SW5wdXQoIjIwMTMtMDEtMTZUMTE6MzAiLCAiMjAxMy0wMS0xNlQxMTo1OSIsIHN0ZXAxZGF5LCAi
MjAxMy0wMS0xNlQxMTozMCIpLCBwc2V1ZG9BTVBNKSBpcyB0cnVlCi1QQVNTIGlzUmVhZE9ubHlG
aWVsZChjcmVhdGVJbnB1dCgiMjAxMy0wMS0xNlQxMTozMCIsICIyMDEzLTAxLTE2VDExOjU5Iiwg
c3RlcDFkYXksICIyMDEzLTAxLTE2VDExOjMwIiksIHBzZXVkb01pbnV0ZSkgaXMgdHJ1ZQotUEFT
UyBpc1JlYWRPbmx5RmllbGQoY3JlYXRlSW5wdXQoIjIwMTMtMDEtMTZUMTE6MzAiLCAiMjAxMy0w
MS0xNlQxMTo1OSIsIHN0ZXAxbWluLCAiIiksIHBzZXVkb0hvdXIpIGlzIHRydWUKLVBBU1MgaXNS
ZWFkT25seUZpZWxkKGNyZWF0ZUlucHV0KCIyMDEzLTAxLTE2VDExOjMwIiwgIjIwMTMtMDEtMTZU
MTE6NTkiLCBzdGVwMW1pbiwgIiIpLCBwc2V1ZG9BTVBNKSBpcyB0cnVlCi1QQVNTIGlzUmVhZE9u
bHlGaWVsZChjcmVhdGVJbnB1dCgiMjAxMy0wMS0xNlQxMTozMCIsICIyMDEzLTAxLTE2VDExOjU5
Iiwgc3RlcDFtaW4sICIiKSwgcHNldWRvTWludXRlKSBpcyBmYWxzZQotQU0vUE0gZmllbGQ6Ci1Q
QVNTIGlzUmVhZE9ubHlGaWVsZChjcmVhdGVJbnB1dCgiMjAxMy0wMS0xNlQwODowMCIsICIyMDEz
LTAxLTE2VDExOjAwIiwgc3RlcDFtaW4sICIiKSwgcHNldWRvQU1QTSkgaXMgdHJ1ZQotUEFTUyBp
c1JlYWRPbmx5RmllbGQoY3JlYXRlSW5wdXQoIjIwMTMtMDEtMTZUMDg6MDAiLCAiMjAxMy0wMS0x
N1QxMTowMCIsIHN0ZXAxbWluLCAiIiksIHBzZXVkb0FNUE0pIGlzIGZhbHNlCi1QQVNTIHN1Y2Nl
c3NmdWxseVBhcnNlZCBpcyB0cnVlCi0KLVRFU1QgQ09NUExFVEUKLQpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZmFzdC9mb3Jtcy9kYXRldGltZWxvY2FsLW11bHRpcGxlLWZpZWxkcy9kYXRldGlt
ZWxvY2FsLW11bHRpcGxlLWZpZWxkcy1yZWFkb25seS1zdWJmaWVsZC5odG1sIGIvTGF5b3V0VGVz
dHMvZmFzdC9mb3Jtcy9kYXRldGltZWxvY2FsLW11bHRpcGxlLWZpZWxkcy9kYXRldGltZWxvY2Fs
LW11bHRpcGxlLWZpZWxkcy1yZWFkb25seS1zdWJmaWVsZC5odG1sCmRlbGV0ZWQgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwZGYyNDcxMDY3OTc5MTY2NmQ2NmQyMjQ1ZTcyYTNhYTViMzdhOWIzLi4w
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3Rz
L2Zhc3QvZm9ybXMvZGF0ZXRpbWVsb2NhbC1tdWx0aXBsZS1maWVsZHMvZGF0ZXRpbWVsb2NhbC1t
dWx0aXBsZS1maWVsZHMtcmVhZG9ubHktc3ViZmllbGQuaHRtbAorKysgL2Rldi9udWxsCkBAIC0x
LDc3ICswLDAgQEAKLTwhRE9DVFlQRSBodG1sPgotPGJvZHk+Ci08c2NyaXB0IHNyYz0iLi4vLi4v
anMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQ+Ci1mdW5jdGlv
biBjcmVhdGVJbnB1dChtaW4sIG1heCwgc3RlcCwgdmFsdWUpIHsKLSAgICB2YXIgaW5wdXQgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KCdpbnB1dCcpOwotICAgIGlucHV0LnR5cGUgPSAnZGF0ZXRp
bWUtbG9jYWwnOwotICAgIGlmIChtaW4pCi0gICAgICAgIGlucHV0Lm1pbiA9IG1pbjsKLSAgICBp
ZiAobWF4KQotICAgICAgICBpbnB1dC5tYXggPSBtYXg7Ci0gICAgaWYgKHN0ZXApCi0gICAgICAg
IGlucHV0LnN0ZXAgPSBzdGVwOwotICAgIGlmICh2YWx1ZSkKLSAgICAgICAgaW5wdXQudmFsdWUg
PSB2YWx1ZTsKLSAgICByZXR1cm4gaW5wdXQ7Ci19Ci0KLS8vIEZJWE1FOiBSZW5hbWUgdGhpcyBm
dW5jdGlvbiBhbmQgdGhlIHRlc3QgZmlsZS4KLWZ1bmN0aW9uIGlzUmVhZE9ubHlGaWVsZChpbnB1
dCwgcHNldWRvKSB7Ci0gICAgdmFyIG5vZGUgPSBpbnRlcm5hbHMueW91bmdlc3RTaGFkb3dSb290
KGlucHV0KS5xdWVyeVNlbGVjdG9yKCcqW3BzZXVkbz0iJyArIHBzZXVkbyArICciXScpOwotICAg
IGlmICghbm9kZSkKLSAgICAgICAgdGVzdEZhaWxlZCgnUmVxdWVzdGVkIG5vZGUgaXMgbWlzc2lu
Zy4nKTsKLSAgICByZXR1cm4gbm9kZSAmJiBub2RlLmhhc0F0dHJpYnV0ZSgnZGlzYWJsZWQnKTsK
LX0KLQotdmFyIHBzZXVkb01pbnV0ZSA9ICctd2Via2l0LWRhdGV0aW1lLWVkaXQtbWludXRlLWZp
ZWxkJzsKLXZhciBwc2V1ZG9Ib3VyID0gJy13ZWJraXQtZGF0ZXRpbWUtZWRpdC1ob3VyLWZpZWxk
JzsKLXZhciBwc2V1ZG9BTVBNID0gJy13ZWJraXQtZGF0ZXRpbWUtZWRpdC1hbXBtLWZpZWxkJzsK
LXZhciBzdGVwMWRheSA9ICc4NjQwMCc7Ci12YXIgc3RlcDFtaW4gPSAnNjAnOwotCi1kZXNjcmlw
dGlvbignU3ViLWZpZWxkcyBpbiBpbnB1dFt0eXBlPWRhdGV0aW1lLWxvY2FsXSBzaG91bGQgYmUg
cmVhZC1vbmx5IGluIHNvbWUgY2FzZXMuIFRoaXMgcmVxdWlyZXMgd2luZG93LmludGVybmFscy4n
KTsKLWRlYnVnKCdjcmVhdGVJbnB1dCBhcmd1bWVudCBvcmRlcjogbWluLCBtYXgsIHN0ZXAsIHZh
bHVlJyk7Ci1kZWJ1ZygnJyk7Ci0KLWRlYnVnKCdIb3VyIGZpZWxkOicpOwotc2hvdWxkQmVUcnVl
KCdpc1JlYWRPbmx5RmllbGQoY3JlYXRlSW5wdXQoIjIwMTMtMDEtMTZUMTE6MDAiLCAiIiwgc3Rl
cDFkYXksICIiKSwgcHNldWRvSG91ciknKTsKLXNob3VsZEJlVHJ1ZSgnaXNSZWFkT25seUZpZWxk
KGNyZWF0ZUlucHV0KCIyMDEzLTAxLTE2VDExOjAwIiwgIiIsIHN0ZXAxZGF5LCAiIiksIHBzZXVk
b0FNUE0pJyk7Ci1zaG91bGRCZVRydWUoJ2lzUmVhZE9ubHlGaWVsZChjcmVhdGVJbnB1dCgiMjAx
My0wMS0xNlQxMTowMCIsICIiLCBzdGVwMWRheSwgIiIpLCBwc2V1ZG9NaW51dGUpJyk7Ci0KLXNo
b3VsZEJlVHJ1ZSgnaXNSZWFkT25seUZpZWxkKGNyZWF0ZUlucHV0KCIyMDEzLTAxLTE2VDExOjMw
IiwgIiIsIHN0ZXAxZGF5LCAiMjAxMy0wMS0xNlQxMTozMCIpLCBwc2V1ZG9Ib3VyKScpOwotc2hv
dWxkQmVUcnVlKCdpc1JlYWRPbmx5RmllbGQoY3JlYXRlSW5wdXQoIjIwMTMtMDEtMTZUMTE6MzAi
LCAiIiwgc3RlcDFkYXksICIyMDEzLTAxLTE2VDExOjMwIiksIHBzZXVkb0FNUE0pJyk7Ci1zaG91
bGRCZVRydWUoJ2lzUmVhZE9ubHlGaWVsZChjcmVhdGVJbnB1dCgiMjAxMy0wMS0xNlQxMTozMCIs
ICIiLCBzdGVwMWRheSwgIjIwMTMtMDEtMTZUMTE6MzAiKSwgcHNldWRvTWludXRlKScpOwotCi1z
aG91bGRCZUZhbHNlKCdpc1JlYWRPbmx5RmllbGQoY3JlYXRlSW5wdXQoIjIwMTMtMDEtMTZUMTE6
MzAiLCAiIiwgc3RlcDFkYXksICIyMDEzLTAxLTE2VDEyOjMwIiksIHBzZXVkb0hvdXIpJyk7Ci1z
aG91bGRCZUZhbHNlKCdpc1JlYWRPbmx5RmllbGQoY3JlYXRlSW5wdXQoIjIwMTMtMDEtMTZUMTE6
MzAiLCAiIiwgc3RlcDFkYXksICIyMDEzLTAxLTE2VDEyOjMwIiksIHBzZXVkb0FNUE0pJyk7Ci1z
aG91bGRCZVRydWUoJ2lzUmVhZE9ubHlGaWVsZChjcmVhdGVJbnB1dCgiMjAxMy0wMS0xNlQxMToz
MCIsICIiLCBzdGVwMWRheSwgIjIwMTMtMDEtMTZUMTI6MzAiKSwgcHNldWRvTWludXRlKScpOwot
Ci1zaG91bGRCZUZhbHNlKCdpc1JlYWRPbmx5RmllbGQoY3JlYXRlSW5wdXQoIjIwMTMtMDEtMTZU
MDA6MDAiLCAiIiwgc3RlcDFkYXksICIyMDEzLTAxLTE2VDEyOjMwIiksIHBzZXVkb0hvdXIpJyk7
Ci1zaG91bGRCZUZhbHNlKCdpc1JlYWRPbmx5RmllbGQoY3JlYXRlSW5wdXQoIjIwMTMtMDEtMTZU
MDA6MDAiLCAiIiwgc3RlcDFkYXksICIyMDEzLTAxLTE2VDEyOjMwIiksIHBzZXVkb0FNUE0pJyk7
Ci1zaG91bGRCZUZhbHNlKCdpc1JlYWRPbmx5RmllbGQoY3JlYXRlSW5wdXQoIjIwMTMtMDEtMTZU
MDA6MDAiLCAiIiwgc3RlcDFkYXksICIyMDEzLTAxLTE2VDEyOjMwIiksIHBzZXVkb01pbnV0ZSkn
KTsKLQotc2hvdWxkQmVGYWxzZSgnaXNSZWFkT25seUZpZWxkKGNyZWF0ZUlucHV0KCIyMDEzLTAx
LTE2VDExOjAwIiwgIjIwMTMtMDEtMTZUMjM6MDAiLCBzdGVwMWRheSwgIiIpLCBwc2V1ZG9Ib3Vy
KScpOwotc2hvdWxkQmVGYWxzZSgnaXNSZWFkT25seUZpZWxkKGNyZWF0ZUlucHV0KCIyMDEzLTAx
LTE2VDExOjAwIiwgIjIwMTMtMDEtMTZUMjM6MDAiLCBzdGVwMWRheSwgIiIpLCBwc2V1ZG9BTVBN
KScpOwotc2hvdWxkQmVUcnVlKCdpc1JlYWRPbmx5RmllbGQoY3JlYXRlSW5wdXQoIjIwMTMtMDEt
MTZUMTE6MDAiLCAiMjAxMy0wMS0xNlQyMzowMCIsIHN0ZXAxZGF5LCAiIiksIHBzZXVkb01pbnV0
ZSknKTsKLQotc2hvdWxkQmVGYWxzZSgnaXNSZWFkT25seUZpZWxkKGNyZWF0ZUlucHV0KCIyMDEz
LTAxLTE2VDExOjMwIiwgIjIwMTMtMDEtMTZUMjM6MDAiLCBzdGVwMWRheSwgIjIwMTMtMDEtMTZU
MTE6MzAiKSwgcHNldWRvSG91ciknKTsKLXNob3VsZEJlRmFsc2UoJ2lzUmVhZE9ubHlGaWVsZChj
cmVhdGVJbnB1dCgiMjAxMy0wMS0xNlQxMTozMCIsICIyMDEzLTAxLTE2VDIzOjAwIiwgc3RlcDFk
YXksICIyMDEzLTAxLTE2VDExOjMwIiksIHBzZXVkb0FNUE0pJyk7Ci1zaG91bGRCZVRydWUoJ2lz
UmVhZE9ubHlGaWVsZChjcmVhdGVJbnB1dCgiMjAxMy0wMS0xNlQxMTozMCIsICIyMDEzLTAxLTE2
VDIzOjAwIiwgc3RlcDFkYXksICIyMDEzLTAxLTE2VDExOjMwIiksIHBzZXVkb01pbnV0ZSknKTsK
LQotc2hvdWxkQmVGYWxzZSgnaXNSZWFkT25seUZpZWxkKGNyZWF0ZUlucHV0KCIyMDEzLTAxLTE2
VDExOjMwIiwgIjIwMTMtMDEtMTZUMTE6NTkiLCBzdGVwMWRheSwgIjIwMTMtMDEtMTZUMTE6MzAi
KSwgcHNldWRvSG91ciknKTsKLXNob3VsZEJlVHJ1ZSgnaXNSZWFkT25seUZpZWxkKGNyZWF0ZUlu
cHV0KCIyMDEzLTAxLTE2VDExOjMwIiwgIjIwMTMtMDEtMTZUMTE6NTkiLCBzdGVwMWRheSwgIjIw
MTMtMDEtMTZUMTE6MzAiKSwgcHNldWRvQU1QTSknKTsKLXNob3VsZEJlVHJ1ZSgnaXNSZWFkT25s
eUZpZWxkKGNyZWF0ZUlucHV0KCIyMDEzLTAxLTE2VDExOjMwIiwgIjIwMTMtMDEtMTZUMTE6NTki
LCBzdGVwMWRheSwgIjIwMTMtMDEtMTZUMTE6MzAiKSwgcHNldWRvTWludXRlKScpOwotCi1zaG91
bGRCZVRydWUoJ2lzUmVhZE9ubHlGaWVsZChjcmVhdGVJbnB1dCgiMjAxMy0wMS0xNlQxMTozMCIs
ICIyMDEzLTAxLTE2VDExOjU5Iiwgc3RlcDFtaW4sICIiKSwgcHNldWRvSG91ciknKTsKLXNob3Vs
ZEJlVHJ1ZSgnaXNSZWFkT25seUZpZWxkKGNyZWF0ZUlucHV0KCIyMDEzLTAxLTE2VDExOjMwIiwg
IjIwMTMtMDEtMTZUMTE6NTkiLCBzdGVwMW1pbiwgIiIpLCBwc2V1ZG9BTVBNKScpOwotc2hvdWxk
QmVGYWxzZSgnaXNSZWFkT25seUZpZWxkKGNyZWF0ZUlucHV0KCIyMDEzLTAxLTE2VDExOjMwIiwg
IjIwMTMtMDEtMTZUMTE6NTkiLCBzdGVwMW1pbiwgIiIpLCBwc2V1ZG9NaW51dGUpJyk7Ci0KLWRl
YnVnKCdBTS9QTSBmaWVsZDonKTsKLXNob3VsZEJlVHJ1ZSgnaXNSZWFkT25seUZpZWxkKGNyZWF0
ZUlucHV0KCIyMDEzLTAxLTE2VDA4OjAwIiwgIjIwMTMtMDEtMTZUMTE6MDAiLCBzdGVwMW1pbiwg
IiIpLCBwc2V1ZG9BTVBNKScpOwotc2hvdWxkQmVGYWxzZSgnaXNSZWFkT25seUZpZWxkKGNyZWF0
ZUlucHV0KCIyMDEzLTAxLTE2VDA4OjAwIiwgIjIwMTMtMDEtMTdUMTE6MDAiLCBzdGVwMW1pbiwg
IiIpLCBwc2V1ZG9BTVBNKScpOwotCi08L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIuLi8uLi9qcy9y
ZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KLTwvYm9keT4KLQpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9kYXRldGltZWxvY2FsLW11bHRpcGxlLWZpZWxkcy9k
YXRldGltZWxvY2FsLW11bHRpcGxlLWZpZWxkcy1yZXNldC12YWx1ZS1hZnRlci1yZWxvYWRzLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvZGF0ZXRpbWVsb2NhbC1tdWx0aXBs
ZS1maWVsZHMvZGF0ZXRpbWVsb2NhbC1tdWx0aXBsZS1maWVsZHMtcmVzZXQtdmFsdWUtYWZ0ZXIt
cmVsb2Fkcy1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGFjMWMx
MWM2MGI5YWQxMzI3OWRkMmRiZmNkNzEyNmM3ZjM1NWEwYzQuLjAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9kYXRldGlt
ZWxvY2FsLW11bHRpcGxlLWZpZWxkcy9kYXRldGltZWxvY2FsLW11bHRpcGxlLWZpZWxkcy1yZXNl
dC12YWx1ZS1hZnRlci1yZWxvYWRzLWV4cGVjdGVkLnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDE1
ICswLDAgQEAKLUNoZWNrcyByZWxvYWRpbmcgcGFnZSByZXNldHMgaW5wdXQgdmFsdWVzCi0KLU9u
IHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxv
d2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KLQotCi1Jbml0aWFsIHZhbHVlczoKLVBBU1MgdGVzdElu
cHV0MS52YWx1ZSBpcyAiIgotUEFTUyB0ZXN0SW5wdXQyLnZhbHVlIGlzICIxMjM0LTA1LTA2VDA3
OjA4IgotUmVsb2FkZWQgdmFsdWVzOgotUEFTUyB0ZXN0SW5wdXQxLnZhbHVlIGlzICIiCi1QQVNT
IHRlc3RJbnB1dDIudmFsdWUgaXMgIjEyMzQtMDUtMDZUMDc6MDgiCi1QQVNTIHN1Y2Nlc3NmdWxs
eVBhcnNlZCBpcyB0cnVlCi0KLVRFU1QgQ09NUExFVEUKLQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZmFzdC9mb3Jtcy9kYXRldGltZWxvY2FsLW11bHRpcGxlLWZpZWxkcy9kYXRldGltZWxvY2Fs
LW11bHRpcGxlLWZpZWxkcy1yZXNldC12YWx1ZS1hZnRlci1yZWxvYWRzLmh0bWwgYi9MYXlvdXRU
ZXN0cy9mYXN0L2Zvcm1zL2RhdGV0aW1lbG9jYWwtbXVsdGlwbGUtZmllbGRzL2RhdGV0aW1lbG9j
YWwtbXVsdGlwbGUtZmllbGRzLXJlc2V0LXZhbHVlLWFmdGVyLXJlbG9hZHMuaHRtbApkZWxldGVk
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYWU5NTI2OGNkYWQ4NTU1NGE1OTM1ZGQ5OWRjMTMzMjJl
NjBiMDIzZi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9M
YXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2RhdGV0aW1lbG9jYWwtbXVsdGlwbGUtZmllbGRzL2RhdGV0
aW1lbG9jYWwtbXVsdGlwbGUtZmllbGRzLXJlc2V0LXZhbHVlLWFmdGVyLXJlbG9hZHMuaHRtbAor
KysgL2Rldi9udWxsCkBAIC0xLDQyICswLDAgQEAKLTwhRE9DVFlQRSBodG1sPgotPGh0bWw+Ci08
aGVhZD4KLTxzY3JpcHQgc3JjPSIuLi8uLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXBy
ZS5qcyI+PC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keSBvbmxvYWQ9InJ1bkJvZHlMb2FkZWQoKSI+
Ci08aWZyYW1lIGlkPWlmcmFtZSBzcmNkb2M9IjxpbnB1dCB0eXBlPWRhdGV0aW1lLWxvY2FsIGlk
PSd0ZXN0MSc+PGlucHV0IHR5cGU9J2RhdGV0aW1lLWxvY2FsJyBpZD0ndGVzdDInIHZhbHVlPScx
MjM0LTA1LTA2VDA3OjA4Jz4iPjwvaWZyYW1lPgotPHNjcmlwdD4KLWRlc2NyaXB0aW9uKCdDaGVj
a3MgcmVsb2FkaW5nIHBhZ2UgcmVzZXRzIGlucHV0IHZhbHVlcycpOwotd2luZG93LmpzVGVzdElz
QXN5bmMgPSB0cnVlOwotCi12YXIgaWZyYW1lID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2lm
cmFtZScpOwotdmFyIHRlc3RJbnB1dDE7Ci12YXIgdGVzdElucHV0MjsKLQotZnVuY3Rpb24gcnVu
Qm9keUxvYWRlZCgpCi17Ci0gICAgdGVzdElucHV0MSA9IGlmcmFtZS5jb250ZW50RG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoJ3Rlc3QxJyk7Ci0gICAgdGVzdElucHV0MiA9IGlmcmFtZS5jb250ZW50
RG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3Rlc3QyJyk7Ci0gICAgZGVidWcoJ0luaXRpYWwgdmFs
dWVzOicpOwotICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygndGVzdElucHV0MS52YWx1ZScsICcn
KTsKLSAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ3Rlc3RJbnB1dDIudmFsdWUnLCAnMTIzNC0w
NS0wNlQwNzowOCcpOwotICAgIHRlc3RJbnB1dDEudmFsdWUgPSAnMjAxMi0xMC0wMVQwNjowMCc7
Ci0gICAgdGVzdElucHV0Mi52YWx1ZSA9ICcyMDEyLTExLTAxVDE4OjAwJzsKLSAgICBpZnJhbWUu
YWRkRXZlbnRMaXN0ZW5lcignbG9hZCcsIHBhcmVudC5ydW5PbklGcmFtZUxvYWQpOwotICAgIGlm
cmFtZS5jb250ZW50V2luZG93LmxvY2F0aW9uLnJlbG9hZCgpOwotfQotCi1mdW5jdGlvbiBydW5P
bklGcmFtZUxvYWQoKQotewotICAgIHRlc3RJbnB1dDEgPSBpZnJhbWUuY29udGVudERvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCd0ZXN0MScpOwotICAgIHRlc3RJbnB1dDIgPSBpZnJhbWUuY29udGVu
dERvY3VtZW50LmdldEVsZW1lbnRCeUlkKCd0ZXN0MicpOwotICAgIGRlYnVnKCdSZWxvYWRlZCB2
YWx1ZXM6Jyk7Ci0gICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCd0ZXN0SW5wdXQxLnZhbHVlJywg
JycpOwotICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygndGVzdElucHV0Mi52YWx1ZScsICcxMjM0
LTA1LTA2VDA3OjA4Jyk7Ci0gICAgaWZyYW1lLnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQoaWZyYW1l
KTsKLSAgICBmaW5pc2hKU1Rlc3QoKTsKLX0KLTwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii4uLy4u
Ly4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Ci08L2JvZHk+
Ci08L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2RhdGV0aW1lbG9j
YWwtbXVsdGlwbGUtZmllbGRzL2RhdGV0aW1lbG9jYWwtbXVsdGlwbGUtZmllbGRzLXNwaW5idXR0
b24tY2hhbmdlLWFuZC1pbnB1dC1ldmVudHMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFz
dC9mb3Jtcy9kYXRldGltZWxvY2FsLW11bHRpcGxlLWZpZWxkcy9kYXRldGltZWxvY2FsLW11bHRp
cGxlLWZpZWxkcy1zcGluYnV0dG9uLWNoYW5nZS1hbmQtaW5wdXQtZXZlbnRzLWV4cGVjdGVkLnR4
dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMjQwZjY3N2U4ZDBlY2ZhMWIzMmYxNjIw
MjhkYjY2MDlmMmZjYTZhZi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2RhdGV0aW1lbG9jYWwtbXVsdGlwbGUtZmll
bGRzL2RhdGV0aW1lbG9jYWwtbXVsdGlwbGUtZmllbGRzLXNwaW5idXR0b24tY2hhbmdlLWFuZC1p
bnB1dC1ldmVudHMtZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEsMTkgKzAsMCBAQAot
VGVzdCBmb3IgZXZlbnQgZGlzcGF0Y2hpbmcgYnkgc3BpbiBidXR0b25zIGluIGEgdHlwZT1kYXRl
dGltZS1sb2NhbCBpbnB1dC4KLQotT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9m
ICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgotCi0KLUluaXRp
YWwgc3RhdGUKLVBBU1MgY2hhbmdlRXZlbnRDb3VudGVyIGlzIDAKLVBBU1MgaW5wdXRFdmVudENv
dW50ZXIgaXMgMAotQ2xpY2sgdGhlIHVwcGVyIGJ1dHRvbgotUEFTUyB0ZXN0SW5wdXQudmFsdWUg
aXMgIjIwMTItMTEtMDFUMDA6MDAiCi1QQVNTIGNoYW5nZUV2ZW50Q291bnRlciBpcyAxCi1QQVNT
IGlucHV0RXZlbnRDb3VudGVyIGlzIDEKLUZvY3VzIG9uIGFub3RoZXIgZmllbGQKLVBBU1MgY2hh
bmdlRXZlbnRDb3VudGVyIGlzIDEKLVBBU1MgaW5wdXRFdmVudENvdW50ZXIgaXMgMQotUEFTUyBz
dWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQotCi1URVNUIENPTVBMRVRFCi0KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvZGF0ZXRpbWVsb2NhbC1tdWx0aXBsZS1maWVsZHMvZGF0
ZXRpbWVsb2NhbC1tdWx0aXBsZS1maWVsZHMtc3BpbmJ1dHRvbi1jaGFuZ2UtYW5kLWlucHV0LWV2
ZW50cy5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9kYXRldGltZWxvY2FsLW11bHRpcGxl
LWZpZWxkcy9kYXRldGltZWxvY2FsLW11bHRpcGxlLWZpZWxkcy1zcGluYnV0dG9uLWNoYW5nZS1h
bmQtaW5wdXQtZXZlbnRzLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGIwMTdk
OGI4ODg2M2QyMjVmYTE2MDcwODYzNmFkYmM5NWVkM2I1ZmIuLjAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9kYXRldGlt
ZWxvY2FsLW11bHRpcGxlLWZpZWxkcy9kYXRldGltZWxvY2FsLW11bHRpcGxlLWZpZWxkcy1zcGlu
YnV0dG9uLWNoYW5nZS1hbmQtaW5wdXQtZXZlbnRzLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSwx
NCArMCwwIEBACi08IURPQ1RZUEUgaHRtbD4KLTxodG1sPgotPGhlYWQ+Ci08c2NyaXB0IHNyYz0i
Li4vLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgotPHNj
cmlwdCBzcmM9Ii4uL3Jlc291cmNlcy9jb21tb24uanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9
Ii4uL3Jlc291cmNlcy9jb21tb24tc3BpbmJ1dHRvbi1jaGFuZ2UtYW5kLWlucHV0LWV2ZW50cy5q
cyI+PC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keT4KLTxzY3JpcHQ+Ci10ZXN0U3BpbkJ1dHRvbkNo
YW5nZUFuZElucHV0RXZlbnRzKCdkYXRldGltZS1sb2NhbCcsICcyMDEyLTEwLTAxVDAwOjAwJywg
JzIwMTItMTEtMDFUMDA6MDAnKTsKLTwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii4uLy4uLy4uL2Zh
c3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Ci08L2JvZHk+Ci08L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2RhdGV0aW1lbG9jYWwtbXVs
dGlwbGUtZmllbGRzL2RhdGV0aW1lbG9jYWwtbXVsdGlwbGUtZmllbGRzLXN0ZXB1cC1zdGVwZG93
bi1mcm9tLXJlbmRlcmVyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvZGF0
ZXRpbWVsb2NhbC1tdWx0aXBsZS1maWVsZHMvZGF0ZXRpbWVsb2NhbC1tdWx0aXBsZS1maWVsZHMt
c3RlcHVwLXN0ZXBkb3duLWZyb20tcmVuZGVyZXItZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCBhZjBlMDMwMmQ5ZWRiNzk4NDc4OGQ2ZTAwMzBmYTVjNDQwNjJiNDc2
Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRl
c3RzL2Zhc3QvZm9ybXMvZGF0ZXRpbWVsb2NhbC1tdWx0aXBsZS1maWVsZHMvZGF0ZXRpbWVsb2Nh
bC1tdWx0aXBsZS1maWVsZHMtc3RlcHVwLXN0ZXBkb3duLWZyb20tcmVuZGVyZXItZXhwZWN0ZWQu
dHh0CisrKyAvZGV2L251bGwKQEAgLTEsMTYgKzAsMCBAQAotQ2hlY2sgc3RlcHBpbmctdXAgYW5k
IC1kb3duIGZvciBkYXRldGltZS1sb2NhbCBpbnB1dCBmaWVsZHMgZnJvbSByZW5kZXJlci4KLQot
T24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9s
bG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgotCi0KLUZ1bmN0aW9uIGFyZ3VtZW50cyBhcmUgKHZh
bHVlLCBzdGVwLCBtaW4sIG1heCwgW2tleVNlcXVlbmNlXSkuCi1UaGUgaG91ciBmaWVsZCByZXNw
ZWN0cyBtaW4vbWF4IGF0dHJpYnV0ZXMgd2hlbiB0aGV5IGhhdmUgdGhlIHNhbWUgZGF0ZS4KLVBB
U1Mgc3RlcFVwKCIyMDEzLTAxLTE2VDE3OjAwIiwgMSwgIjIwMTMtMDEtMTZUMTU6MDAiLCAiMjAx
My0wMS0xNlQxNzowMCIpIGlzICIyMDEzLTAxLTE2VDE1OjAwIgotUEFTUyBzdGVwRG93bigiMjAx
My0wMS0xNlQxNTowMCIsIDEsICIyMDEzLTAxLTE2VDE1OjAwIiwgIjIwMTMtMDEtMTZUMTc6MDAi
KSBpcyAiMjAxMy0wMS0xNlQxNzowMCIKLVBBU1Mgc3RlcFVwKCIyMDEzLTAxLTE2VDE3OjAwIiwg
MSwgIjIwMTMtMDEtMTZUMTU6MDAiLCAiMjAxMy0wMS0xN1QxNzowMCIpIGlzICIyMDEzLTAxLTE2
VDE4OjAwIgotUEFTUyBzdGVwRG93bigiMjAxMy0wMS0xNlQxNzowMCIsIDEsICIyMDEzLTAxLTE2
VDE3OjAwIiwgIjIwMTMtMDEtMTdUMjA6MDAiKSBpcyAiMjAxMy0wMS0xNlQxNjowMCIKLQotUEFT
UyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQotCi1URVNUIENPTVBMRVRFCi0KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvZGF0ZXRpbWVsb2NhbC1tdWx0aXBsZS1maWVsZHMv
ZGF0ZXRpbWVsb2NhbC1tdWx0aXBsZS1maWVsZHMtc3RlcHVwLXN0ZXBkb3duLWZyb20tcmVuZGVy
ZXIuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvZGF0ZXRpbWVsb2NhbC1tdWx0aXBsZS1m
aWVsZHMvZGF0ZXRpbWVsb2NhbC1tdWx0aXBsZS1maWVsZHMtc3RlcHVwLXN0ZXBkb3duLWZyb20t
cmVuZGVyZXIuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMTM3ZmNmN2QzOWI3
M2I5YjM3ZWVmMWU2MmFlZDhlYmU1N2Y1NWRhZC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2RhdGV0aW1lbG9jYWwt
bXVsdGlwbGUtZmllbGRzL2RhdGV0aW1lbG9jYWwtbXVsdGlwbGUtZmllbGRzLXN0ZXB1cC1zdGVw
ZG93bi1mcm9tLXJlbmRlcmVyLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSw2MSArMCwwIEBACi08
IURPQ1RZUEUgaHRtbD4KLTxodG1sPgotPGhlYWQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vanMvcmVz
b3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIuLi9yZXNvdXJj
ZXMvY29tbW9uLmpzIj48L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5PgotPHNjcmlwdD4KLWRlc2Ny
aXB0aW9uKCdDaGVjayBzdGVwcGluZy11cCBhbmQgLWRvd24gZm9yIGRhdGV0aW1lLWxvY2FsIGlu
cHV0IGZpZWxkcyBmcm9tIHJlbmRlcmVyLicpOwotCi12YXIgaW5wdXQgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KCdpbnB1dCcpOwotCi1kb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGlucHV0KTsK
LQotZnVuY3Rpb24ga2V5RG93bihrZXksIG1vZGlmaWVycykKLXsKLSAgICBpZiAoIXdpbmRvdy5l
dmVudFNlbmRlcikKLSAgICAgICAgcmV0dXJuOwotICAgIGV2ZW50U2VuZGVyLmtleURvd24oa2V5
LCBtb2RpZmllcnMpOwotfQotCi1mdW5jdGlvbiBzZXRJbnB1dEF0dHJpYnV0ZXModmFsdWUsIG1p
biwgbWF4LCBzdGVwKSB7Ci0gICAgaW5wdXQudmFsdWUgPSB2YWx1ZTsKLSAgICBpbnB1dC5taW4g
PSBtaW47Ci0gICAgaW5wdXQubWF4ID0gbWF4OwotICAgIGlucHV0LnN0ZXAgPSBzdGVwOwotfQot
Ci1mdW5jdGlvbiB0ZXN0KHZhbHVlLCBzdGVwLCBtaW4sIG1heCwga2V5U2VxdWVuY2UpIHsKLSAg
ICBzZXRJbnB1dEF0dHJpYnV0ZXModmFsdWUsIG1pbiwgbWF4LCBzdGVwKTsKLSAgICBmb3IgKHZh
ciBpID0gMDsgaSA8IGtleVNlcXVlbmNlLmxlbmd0aDsgaSsrKQotICAgICAgICBrZXlEb3duKGtl
eVNlcXVlbmNlW2ldKTsKLSAgICByZXR1cm4gaW5wdXQudmFsdWU7Ci19Ci0KLWZ1bmN0aW9uIHN0
ZXBVcCh2YWx1ZSwgc3RlcCwgbWluLCBtYXgpIHsKLSAgICByZXR1cm4gdGVzdCh2YWx1ZSwgc3Rl
cCwgbWluLCBtYXgsIFsndXBBcnJvdyddKTsKLX0KLQotZnVuY3Rpb24gc3RlcERvd24odmFsdWUs
IHN0ZXAsIG1pbiwgbWF4KSB7Ci0gICAgcmV0dXJuIHRlc3QodmFsdWUsIHN0ZXAsIG1pbiwgbWF4
LCBbJ2Rvd25BcnJvdyddKTsKLX0KLQotaW5wdXQudHlwZSA9ICdkYXRldGltZS1sb2NhbCc7Ci1p
bnB1dC5mb2N1cygpOwotZGVidWcoJ0Z1bmN0aW9uIGFyZ3VtZW50cyBhcmUgKHZhbHVlLCBzdGVw
LCBtaW4sIG1heCwgW2tleVNlcXVlbmNlXSkuJyk7Ci1kZWJ1ZygnVGhlIGhvdXIgZmllbGQgcmVz
cGVjdHMgbWluL21heCBhdHRyaWJ1dGVzIHdoZW4gdGhleSBoYXZlIHRoZSBzYW1lIGRhdGUuJyk7
Ci1rZXlEb3duKCdyaWdodEFycm93Jyk7Ci1rZXlEb3duKCdyaWdodEFycm93Jyk7Ci1rZXlEb3du
KCdyaWdodEFycm93Jyk7Ci1zaG91bGRCZUVxdWFsVG9TdHJpbmcoJ3N0ZXBVcCgiMjAxMy0wMS0x
NlQxNzowMCIsIDEsICIyMDEzLTAxLTE2VDE1OjAwIiwgIjIwMTMtMDEtMTZUMTc6MDAiKScsICcy
MDEzLTAxLTE2VDE1OjAwJyk7Ci1zaG91bGRCZUVxdWFsVG9TdHJpbmcoJ3N0ZXBEb3duKCIyMDEz
LTAxLTE2VDE1OjAwIiwgMSwgIjIwMTMtMDEtMTZUMTU6MDAiLCAiMjAxMy0wMS0xNlQxNzowMCIp
JywgJzIwMTMtMDEtMTZUMTc6MDAnKTsKLXNob3VsZEJlRXF1YWxUb1N0cmluZygnc3RlcFVwKCIy
MDEzLTAxLTE2VDE3OjAwIiwgMSwgIjIwMTMtMDEtMTZUMTU6MDAiLCAiMjAxMy0wMS0xN1QxNzow
MCIpJywgJzIwMTMtMDEtMTZUMTg6MDAnKTsKLXNob3VsZEJlRXF1YWxUb1N0cmluZygnc3RlcERv
d24oIjIwMTMtMDEtMTZUMTc6MDAiLCAxLCAiMjAxMy0wMS0xNlQxNzowMCIsICIyMDEzLTAxLTE3
VDIwOjAwIiknLCAnMjAxMy0wMS0xNlQxNjowMCcpOwotCi1kZWJ1ZygnJyk7Ci1kb2N1bWVudC5i
b2R5LnJlbW92ZUNoaWxkKGlucHV0KTsKLTwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii4uLy4uL2pz
L3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgotPC9ib2R5PgotPC9odG1sPgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9kYXRldGltZWxvY2FsLW11bHRpcGxl
LWZpZWxkcy9kYXRldGltZWxvY2FsLW11bHRpcGxlLWZpZWxkcy12YWxpZGl0eS1iYWRpbnB1dC1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2RhdGV0aW1lbG9jYWwtbXVsdGlw
bGUtZmllbGRzL2RhdGV0aW1lbG9jYWwtbXVsdGlwbGUtZmllbGRzLXZhbGlkaXR5LWJhZGlucHV0
LWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMTY1ZmE0ODgzNDI4
OTQ0YjBhNWNhMTAwNDNkMjUxN2Q0ZWZmYzBhNS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2RhdGV0aW1lbG9jYWwt
bXVsdGlwbGUtZmllbGRzL2RhdGV0aW1lbG9jYWwtbXVsdGlwbGUtZmllbGRzLXZhbGlkaXR5LWJh
ZGlucHV0LWV4cGVjdGVkLnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDIwICswLDAgQEAKLUEgZGF0
ZXRpbWUtbG9jYWwgaW5wdXQgZmllbGRzIHdpdGggYSBiYWQgdXNlciBpbnB1dCBzaG91bGQgbWFr
ZSB2YWxpZGl0eS5iYWRJbnB1dCB0cnVlIGFuZCBoYXZlIDppbnZhbGlkIHN0eWxlLgotCi1PbiBz
dWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dl
ZCBieSAiVEVTVCBDT01QTEVURSIuCi0KLQotSW5pdGlhbCBzdGF0ZS4gVGhlIGVsbWVudCBoYXMg
bm8gdmFsdWUuCi1QQVNTIGNvbG9yT2YoaW5wdXQpIGlzIG5vdCBpbnZhbGlkU3R5bGVDb2xvcgot
UEFTUyBpbnB1dC52YWxpZGl0eS5iYWRJbnB1dCBpcyBmYWxzZQotU2V0IGEgdmFsdWUgdG8gdGhl
IGZpcnN0IHN1Yi1maWVsZC4gVGhlIGVsZW1lbnQgYmVjb21lcyBiYWRJbnB1dC4KLVBBU1MgY29s
b3JPZihpbnB1dCkgaXMgaW52YWxpZFN0eWxlQ29sb3IKLVBBU1MgaW5wdXQudmFsaWRpdHkuYmFk
SW5wdXQgaXMgdHJ1ZQotU2V0IGFuIGludmFsaWQgZGF0ZSwgMjAxMi0wMi0zMS4KLVBBU1MgaW5w
dXQudmFsaWRpdHkuYmFkSW5wdXQgaXMgZmFsc2UKLVBBU1MgaW5wdXQudmFsdWUgaXMgIiIKLVBB
U1MgaW5wdXQudmFsaWRpdHkuYmFkSW5wdXQgaXMgdHJ1ZQotUEFTUyBjb2xvck9mKGlucHV0KSBp
cyBpbnZhbGlkU3R5bGVDb2xvcgotUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQotCi1U
RVNUIENPTVBMRVRFCi0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvZGF0ZXRp
bWVsb2NhbC1tdWx0aXBsZS1maWVsZHMvZGF0ZXRpbWVsb2NhbC1tdWx0aXBsZS1maWVsZHMtdmFs
aWRpdHktYmFkaW5wdXQuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvZGF0ZXRpbWVsb2Nh
bC1tdWx0aXBsZS1maWVsZHMvZGF0ZXRpbWVsb2NhbC1tdWx0aXBsZS1maWVsZHMtdmFsaWRpdHkt
YmFkaW5wdXQuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggY2U0MWZkMzhiZTc0
NjcyNjRlM2NhYzJjYWNjNDE2NjkzNTUyMGE1Ny4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2RhdGV0aW1lbG9jYWwt
bXVsdGlwbGUtZmllbGRzL2RhdGV0aW1lbG9jYWwtbXVsdGlwbGUtZmllbGRzLXZhbGlkaXR5LWJh
ZGlucHV0Lmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSwxNCArMCwwIEBACi08IURPQ1RZUEUgaHRt
bD4KLTxzdHlsZT4KLTppbnZhbGlkIHsKLSAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmYwMDAwOwot
fQotPC9zdHlsZT4KLTxib2R5PgotPHNjcmlwdCBzcmM9Ii4uLy4uL2pzL3Jlc291cmNlcy9qcy10
ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL211bHRpcGxl
LWZpZWxkcy12YWxpZGl0eS1iYWRpbnB1dC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0PgotdGVzdEJh
ZElucHV0KCdkYXRldGltZS1sb2NhbCcpOwotPC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4v
anMvcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Ci08L2JvZHk+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2RhdGV0aW1lbG9jYWwtbXVsdGlwbGUtZmllbGRz
L2RhdGV0aW1lbG9jYWwtbXVsdGlwbGUtZmllbGRzLXZhbHVlLXNldC1lbXB0eS1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2RhdGV0aW1lbG9jYWwtbXVsdGlwbGUtZmllbGRz
L2RhdGV0aW1lbG9jYWwtbXVsdGlwbGUtZmllbGRzLXZhbHVlLXNldC1lbXB0eS1leHBlY3RlZC50
eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGQ0YWQ1M2UxYWZlYzRmNDJlN2Y2ODc1
M2QxM2M4MWJhNTBlZmYzYWUuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9kYXRldGltZWxvY2FsLW11bHRpcGxlLWZp
ZWxkcy9kYXRldGltZWxvY2FsLW11bHRpcGxlLWZpZWxkcy12YWx1ZS1zZXQtZW1wdHktZXhwZWN0
ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEsMTIgKzAsMCBAQAotQ2hlY2sgaWYgaW5wdXQudmFs
dWU9IiIgY2xlYXJzIGFuIGlucHV0IHdpdGggcGFydGlhbGx5LXNwZWNpZmllZCB2YWx1ZS4KLQot
T24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9s
bG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgotCi0KLUVtcHR5IHRleHQ6IG1tL2RkL3l5eXkgLS06
LS0gLS0KLVBBU1MgZXZlbnRTZW5kZXIua2V5RG93bigidXBBcnJvdyIpOyBnZXRVc2VyQWdlbnRT
aGFkb3dUZXh0Q29udGVudChpbnB1dCkgaXMgbm90IGVtcHR5VGV4dAotUEFTUyBpbnB1dC52YWx1
ZSA9ICIiOyBnZXRVc2VyQWdlbnRTaGFkb3dUZXh0Q29udGVudChpbnB1dCkgaXMgZW1wdHlUZXh0
Ci1QQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCi0KLVRFU1QgQ09NUExFVEUKLQpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9kYXRldGltZWxvY2FsLW11bHRpcGxlLWZp
ZWxkcy9kYXRldGltZWxvY2FsLW11bHRpcGxlLWZpZWxkcy12YWx1ZS1zZXQtZW1wdHkuaHRtbCBi
L0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvZGF0ZXRpbWVsb2NhbC1tdWx0aXBsZS1maWVsZHMvZGF0
ZXRpbWVsb2NhbC1tdWx0aXBsZS1maWVsZHMtdmFsdWUtc2V0LWVtcHR5Lmh0bWwKZGVsZXRlZCBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDcxMzIwNWMyOTZlM2FkMDAwNmIzMjZmYWM4ZGFkYjdiMDU3
YmZkZDAuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5
b3V0VGVzdHMvZmFzdC9mb3Jtcy9kYXRldGltZWxvY2FsLW11bHRpcGxlLWZpZWxkcy9kYXRldGlt
ZWxvY2FsLW11bHRpcGxlLWZpZWxkcy12YWx1ZS1zZXQtZW1wdHkuaHRtbAorKysgL2Rldi9udWxs
CkBAIC0xLDEwICswLDAgQEAKLTwhRE9DVFlQRSBodG1sPgotPGJvZHk+Ci08c2NyaXB0IHNyYz0i
Li4vLi4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3Jj
PSIuLi9yZXNvdXJjZXMvY29tbW9uLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIuLi9yZXNv
dXJjZXMvbXVsdGlwbGUtZmllbGRzLXZhbHVlLXNldC1lbXB0eS5qcyI+PC9zY3JpcHQ+Ci08c2Ny
aXB0PgotdGVzdFNldHRpbmdFbXB0eVN0cmluZ0NsZWFyc1N1YkZpZWxkcygnZGF0ZXRpbWUtbG9j
YWwnKTsKLTwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii4uLy4uL2pzL3Jlc291cmNlcy9qcy10ZXN0
LXBvc3QuanMiPjwvc2NyaXB0PgotPC9ib2R5PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFz
dC9mb3Jtcy9kYXRldGltZWxvY2FsLW11bHRpcGxlLWZpZWxkcy9kYXRldGltZWxvY2FsLW11bHRp
cGxlLWZpZWxkcy13aGVlbC1ldmVudC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2Zv
cm1zL2RhdGV0aW1lbG9jYWwtbXVsdGlwbGUtZmllbGRzL2RhdGV0aW1lbG9jYWwtbXVsdGlwbGUt
ZmllbGRzLXdoZWVsLWV2ZW50LWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggZjcxMGIxZDJlNzBlMzRiNDY5YzViNWMxNjFhZDkzYTkxNzIwMGU3MS4uMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2Zv
cm1zL2RhdGV0aW1lbG9jYWwtbXVsdGlwbGUtZmllbGRzL2RhdGV0aW1lbG9jYWwtbXVsdGlwbGUt
ZmllbGRzLXdoZWVsLWV2ZW50LWV4cGVjdGVkLnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDIzICsw
LDAgQEAKLVRlc3QgZm9yIHdoZWVsIG9wZXJhdGlvbnMgZm9yIDxpbnB1dCB0eXBlPWRhdGV0aW1l
LWxvY2FsPgotCi1PbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1l
c3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCi0KLQotSW5pdGlhbCB2YWx1ZSBp
cyAxOTk5LTAxLTEzVDAwOjAwLiBXZSdsbCB3aGVlbCB1cCBieSAxOgotUEFTUyBpbnB1dC52YWx1
ZSBpcyAiMTk5OS0wMi0xM1QwMDowMCIKLVdoZWVsIHVwIGJ5IDEwMDoKLVBBU1MgaW5wdXQudmFs
dWUgaXMgIjE5OTktMDMtMTNUMDA6MDAiCi1XaGVlbCBkb3duIGJ5IDE6Ci1QQVNTIGlucHV0LnZh
bHVlIGlzICIxOTk5LTAyLTEzVDAwOjAwIgotV2hlZWwgZG93biBieSAyNTY6Ci1QQVNTIGlucHV0
LnZhbHVlIGlzICIxOTk5LTAxLTEzVDAwOjAwIgotRGlzYWJsZWQgaW5wdXQgZWxlbWVudDoKLVBB
U1MgaW5wdXQudmFsdWUgaXMgIjE5OTktMDEtMTNUMDA6MDAiCi1SZWFkLW9ubHkgaW5wdXQgZWxl
bWVudDoKLVBBU1MgaW5wdXQudmFsdWUgaXMgIjE5OTktMDEtMTNUMDA6MDAiCi1ObyBmb2N1czoK
LVBBU1MgaW5wdXQudmFsdWUgaXMgIjE5OTktMDEtMTNUMDA6MDAiCi1QQVNTIHN1Y2Nlc3NmdWxs
eVBhcnNlZCBpcyB0cnVlCi0KLVRFU1QgQ09NUExFVEUKLQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZmFzdC9mb3Jtcy9kYXRldGltZWxvY2FsLW11bHRpcGxlLWZpZWxkcy9kYXRldGltZWxvY2Fs
LW11bHRpcGxlLWZpZWxkcy13aGVlbC1ldmVudC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jt
cy9kYXRldGltZWxvY2FsLW11bHRpcGxlLWZpZWxkcy9kYXRldGltZWxvY2FsLW11bHRpcGxlLWZp
ZWxkcy13aGVlbC1ldmVudC5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAyNDgy
NmUyYmQ2NTc1Njk1MjdjNWYwNWIyMDkzN2U3ZjBmYTZjMTk3Li4wMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvZGF0ZXRp
bWVsb2NhbC1tdWx0aXBsZS1maWVsZHMvZGF0ZXRpbWVsb2NhbC1tdWx0aXBsZS1maWVsZHMtd2hl
ZWwtZXZlbnQuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDE3ICswLDAgQEAKLTwhRE9DVFlQRSBo
dG1sPgotPGh0bWw+Ci08aGVhZD4KLTxzY3JpcHQgc3JjPSIuLi8uLi8uLi9mYXN0L2pzL3Jlc291
cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2Vz
L2NvbW1vbi13aGVlbC1ldmVudC5qcyI+PC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keT4KLTxzY3Jp
cHQ+Ci10ZXN0V2hlZWxFdmVudCh7Ci0gICAgJ2lucHV0VHlwZScgOiAnZGF0ZXRpbWUtbG9jYWwn
LAotICAgICdpbml0aWFsVmFsdWUnIDogJzE5OTktMDEtMTNUMDA6MDAnLAotICAgICdzdGVwVXBW
YWx1ZTEnIDogJzE5OTktMDItMTNUMDA6MDAnLAotICAgICdzdGVwVXBWYWx1ZTInIDogJzE5OTkt
MDMtMTNUMDA6MDAnIH0pOwotPC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vLi4vZmFzdC9q
cy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KLTwvYm9keT4KLTwvaHRtbD4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvZGF0ZXRpbWVsb2NhbC1tdWx0aXBs
ZS1maWVsZHMvcmVzb3VyY2VzL3ByZXNlcnZlLXZhbHVlLWFmdGVyLWhpc3RvcnktYmFjay1mcmFt
ZS5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9kYXRldGltZWxvY2FsLW11bHRpcGxlLWZp
ZWxkcy9yZXNvdXJjZXMvcHJlc2VydmUtdmFsdWUtYWZ0ZXItaGlzdG9yeS1iYWNrLWZyYW1lLmh0
bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGM5Y2JlMGFlYjcxYWFlYTAxMGE2ZjA0
NWZiMTA5MGNiMGZkNDJmNTAuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9kYXRldGltZWxvY2FsLW11bHRpcGxlLWZp
ZWxkcy9yZXNvdXJjZXMvcHJlc2VydmUtdmFsdWUtYWZ0ZXItaGlzdG9yeS1iYWNrLWZyYW1lLmh0
bWwKKysrIC9kZXYvbnVsbApAQCAtMSwxMTAgKzAsMCBAQAotPCFET0NUWVBFIGh0bWw+Ci08Ym9k
eT4KLTxpbnB1dCB0eXBlPSJkYXRldGltZS1sb2NhbCIgaWQ9InRlc3QxIj4KLTxpbnB1dCB0eXBl
PSJkYXRldGltZS1sb2NhbCIgaWQ9InRlc3QyIiBtaW49IjE5OTktMDEtMDFUMDA6MDAiIG1heD0i
MjAwMC0xMi0zMVQyMzo1OSI+Ci08c2NyaXB0PgotZnVuY3Rpb24gZmllbGRzVGV4dChpbnB1dCkg
ewotICAgIHJldHVybiB3aW5kb3cuaW50ZXJuYWxzLm9sZGVzdFNoYWRvd1Jvb3QoaW5wdXQpLnRl
eHRDb250ZW50OwotfQotCi1mdW5jdGlvbiBiYWNrKG5ld1N0YXRlKSB7Ci0gICAgcGFyZW50LnN0
YXRlID0gbmV3U3RhdGU7Ci0gICAgaGlzdG9yeS5iYWNrKCk7Ci19Ci0KLWZ1bmN0aW9uIGZvcndh
cmQobmV3U3RhdGUpIHsKLSAgICBwYXJlbnQuc3RhdGUgPSBuZXdTdGF0ZTsKLSAgICBoaXN0b3J5
LmZvcndhcmQoKTsKLX0KLQotZnVuY3Rpb24ga2V5RG93bihrZXkpIHsKLSAgICBldmVudFNlbmRl
ci5rZXlEb3duKGtleSk7Ci19Ci0KLXZhciB0ZXN0SW5wdXQxID0gZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoJ3Rlc3QxJyk7Ci12YXIgdGVzdElucHV0MiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCd0ZXN0MicpOwotdmFyIHBhZ2VOYW1lID0gbG9jYXRpb24uc2VhcmNoIHx8ICc/cGFnZTEnOwot
Ci13aW5kb3cub25sb2FkID0gZnVuY3Rpb24oKSB7Ci0gICAgc3dpdGNoIChwYWdlTmFtZSkgewot
ICAgIGNhc2UgJz9wYWdlMSc6Ci0gICAgICAgIHN3aXRjaCAocGFyZW50LnN0YXRlKSB7Ci0gICAg
ICAgIGNhc2UgJ2RpcmVjdCc6IHsKLSAgICAgICAgICAgIHRlc3RJbnB1dDEudmFsdWUgPSAnMTIw
MTItMTAtMDlUMDE6MjMnOwotICAgICAgICAgICAgdGVzdElucHV0Mi5mb2N1cygpOwotICAgICAg
ICAgICAga2V5RG93bigndXBBcnJvdycpOyAvLyAtPiBbMDFdL2RkL3l5eXkgLS06LS0gLS0KLSAg
ICAgICAgICAgIGtleURvd24oJ1x0Jyk7IC8vICAgICAgLT4gMDEvW2RkXS95eXl5IC0tOi0tIC0t
Ci0gICAgICAgICAgICBrZXlEb3duKCdcdCcpOyAvLyAgICAgIC0+IDAxL2RkL1t5eXl5XSAtLTot
LSAtLQotICAgICAgICAgICAga2V5RG93bigndXBBcnJvdycpOyAvLyAtPiAwMS9kZC9bMTk5OV0g
LS06LS0gLS0KLSAgICAgICAgICAgIGtleURvd24oJ1x0Jyk7IC8vICAgICAgLT4gMDEvZGQvMTk5
OSBbLS1dOi0tIC0tCi0gICAgICAgICAgICBrZXlEb3duKCdcdCcpOyAvLyAgICAgIC0+IDAxL2Rk
LzE5OTkgLS06Wy0tXSAtLQotICAgICAgICAgICAga2V5RG93bigndXBBcnJvdycpOyAvLyAtPiAw
MS9kZC8xOTk5IC0tOlswMF0gLS0KLQotICAgICAgICAgICAgdmFyIG5leHRVcmkgPSBsb2NhdGlv
bi50b1N0cmluZygpLnJlcGxhY2UoJz9wYWdlMScsICc/cGFnZTInKTsKLSAgICAgICAgICAgIHNl
dFRpbWVvdXQoZnVuY3Rpb24oKSB7IHdpbmRvdy5sb2NhdGlvbi5ocmVmID0gbmV4dFVyaTsgfSwg
MCk7Ci0gICAgICAgICAgICBicmVhazsKLSAgICAgICAgfQotICAgICAgICBjYXNlICdiYWNrVG8x
JzoKLSAgICAgICAgICAgIHBhcmVudC50ZXN0Q2FzZXMucHVzaCgKLSAgICAgICAgICAgICAgICB7
Ci0gICAgICAgICAgICAgICAgICAgICdkZXNjcmlwdGlvbicgOiAnV2VudCBiYWNrIHRvIGEgcGFn
ZS4gQ2hlY2tpbmcgYSBmb3JtIGNvbnRyb2wgd2hpY2ggaGFkIGEgZnVsbCB2YWx1ZScsCi0gICAg
ICAgICAgICAgICAgICAgICdhY3R1YWwnIDogdGVzdElucHV0MS52YWx1ZSwKLSAgICAgICAgICAg
ICAgICAgICAgJ2V4cGVjdGVkJyA6ICcxMjAxMi0xMC0wOVQwMToyMycgfSwKLSAgICAgICAgICAg
ICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICdkZXNjcmlwdGlvbicgOiAnV2VudCBiYWNrIHRv
IGEgcGFnZS4gQ2hlY2tpbmcgYSBmb3JtIGNvbnRyb2wgd2hpY2ggaGFkIGEgcGFydGlhbCB2YWx1
ZScsCi0gICAgICAgICAgICAgICAgICAgICdhY3R1YWwnIDogZmllbGRzVGV4dCh0ZXN0SW5wdXQy
KSwKLSAgICAgICAgICAgICAgICAgICAgJ2V4cGVjdGVkJyA6ICcwMS9kZC8xOTk5IC0tOjAwIC0t
JwotICAgICAgICAgICAgICAgIH0pOwotICAgICAgICAgICAgZm9yd2FyZCgnZm9yd2FyZFRvMicp
OwotICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgIGNhc2UgJ2JhY2tUbzFTZWNvbmQnOgotICAg
ICAgICAgICAgcGFyZW50LmZpbmlzaFRlc3QoKTsKLSAgICAgICAgICAgIGJyZWFrOwotICAgICAg
ICBkZWZhdWx0OgotICAgICAgICAgICAgcGFyZW50LmZhaWxlZCgnVW5leHBlY3RlZCBzdGF0ZSgn
ICsgcGFyZW50LnN0YXRlICsgJyknKTsKLSAgICAgICAgICAgIGJyZWFrOwotICAgICAgICB9Ci0g
ICAgICAgIGJyZWFrOwotCi0gICAgY2FzZSAnP3BhZ2UyJzoKLSAgICAgICAgc3dpdGNoIChwYXJl
bnQuc3RhdGUpIHsKLSAgICAgICAgY2FzZSAnZGlyZWN0JzoKLSAgICAgICAgICAgIHRlc3RJbnB1
dDEudmFsdWUgPSAnMDAwMS0xMS0xN1QyMzo1NSc7Ci0gICAgICAgICAgICB0ZXN0SW5wdXQyLmZv
Y3VzKCk7Ci0gICAgICAgICAgICBrZXlEb3duKCdcdCcpOyAvLyAgICAgICAgLT4gbW0vW2RkXS95
eXl5IC0tOi0tIC0tCi0gICAgICAgICAgICBrZXlEb3duKCdkb3duQXJyb3cnKTsgLy8gLT4gbW0v
WzMxXS95eXl5IC0tOi0tIC0tCi0gICAgICAgICAgICBrZXlEb3duKCdcdCcpOyAvLyAgICAgICAg
LT4gbW0vMzEvW3l5eXldIC0tOi0tIC0tCi0gICAgICAgICAgICBrZXlEb3duKCdcdCcpOyAvLyAg
ICAgICAgLT4gbW0vMzEveXl5eSBbLS1dOi0tIC0tCi0gICAgICAgICAgICBrZXlEb3duKCdkb3du
QXJyb3cnKTsgLy8gLT4gbW0vMzEveXl5eSBbMTJdOi0tIC0tCi0gICAgICAgICAgICBrZXlEb3du
KCdcdCcpOyAvLyAgICAgICAgLT4gbW0vMzEveXl5eSAxMjpbLS1dIC0tCi0gICAgICAgICAgICBr
ZXlEb3duKCdcdCcpOyAvLyAgICAgICAgLT4gbW0vMzEveXl5eSAxMjotLSBbLS1dCi0gICAgICAg
ICAgICBrZXlEb3duKCdkb3duQXJyb3cnKTsgLy8gLT4gbW0vMzEveXl5eSAxMjotLSBbUE1dCi0g
ICAgICAgICAgICBiYWNrKCdiYWNrVG8xJyk7Ci0gICAgICAgICAgICBicmVhazsKLSAgICAgICAg
Y2FzZSAnZm9yd2FyZFRvMic6Ci0gICAgICAgICAgICBwYXJlbnQudGVzdENhc2VzLnB1c2goCi0g
ICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICAnZGVzY3JpcHRpb24nIDogJ1dl
bnQgZm9yd2FyZCB0byBhIHBhZ2UuIENoZWNraW5nIGEgZm9ybSBjb250cm9sIHdoaWNoIGhhZCBh
IGZ1bGwgdmFsdWUnLAotICAgICAgICAgICAgICAgICAgICAnYWN0dWFsJyA6IHRlc3RJbnB1dDEu
dmFsdWUsCi0gICAgICAgICAgICAgICAgICAgICdleHBlY3RlZCcgOiAnMDAwMS0xMS0xN1QyMzo1
NScKLSAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAg
ICAgICAgJ2Rlc2NyaXB0aW9uJyA6ICdXZW50IGZvcndhcmQgdG8gYSBwYWdlLiBDaGVja2luZyBh
IGZvcm0gY29udHJvbCB3aGljaCBoYWQgYSBwYXJ0aWFsIHZhbHVlJywKLSAgICAgICAgICAgICAg
ICAgICAgJ2FjdHVhbCcgOiBmaWVsZHNUZXh0KHRlc3RJbnB1dDIpLAotICAgICAgICAgICAgICAg
ICAgICAnZXhwZWN0ZWQnIDogJ21tLzMxL3l5eXkgMTI6LS0gUE0nCi0gICAgICAgICAgICAgICAg
fSk7Ci0gICAgICAgICAgICBiYWNrKCdiYWNrVG8xU2Vjb25kJyk7Ci0gICAgICAgICAgICBicmVh
azsKLSAgICAgICAgZGVmYXVsdDoKLSAgICAgICAgICAgIHBhcmVudC5mYWlsZWQoJ1VuZXhwZWN0
ZWQgc3RhdGUoJyArIHBhcmVudC5zdGF0ZSArICcpJyk7Ci0gICAgICAgICAgICBicmVhazsKLSAg
ICAgICAgfQotICAgICAgICBicmVhazsKLQotICAgIGRlZmF1bHQ6Ci0gICAgICAgIHBhcmVudC5m
YWlsZWQoJ1VuZXhwZWN0ZWQgcGFnZSgnICsgcGFnZU5hbWUgKyAnKScpOwotICAgICAgICBicmVh
azsKLSAgICB9Ci19OwotPC9zY3JpcHQ+Ci08L2JvZHk+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9mYXN0L2Zvcm1zL21vbnRoLW11bHRpcGxlLWZpZWxkcy9tb250aC1tdWx0aXBsZS1maWVsZHMt
YXgtYXJpYS1hdHRyaWJ1dGVzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMv
bW9udGgtbXVsdGlwbGUtZmllbGRzL21vbnRoLW11bHRpcGxlLWZpZWxkcy1heC1hcmlhLWF0dHJp
YnV0ZXMtZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA5ZTU4OTM5
YTAxNmY4ZWY3N2IxZGVlNTRkMjE5MWFjMzZhYWMzNTg0Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvbW9udGgtbXVs
dGlwbGUtZmllbGRzL21vbnRoLW11bHRpcGxlLWZpZWxkcy1heC1hcmlhLWF0dHJpYnV0ZXMtZXhw
ZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEsMTYgKzAsMCBAQAotVGhpcyB0ZXN0IGNoZWNr
cyBhcmlhLWhlbHAgYXR0cmlidXRlIG9mIGZpZWxkcyBpbiBtdWx0aXBsZSBmaWVsZHMgd2VlayBp
bnB1dCBVSS4KLQotT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBt
ZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgotCi0KLU5vbi1lbXB0eSB2YWx1
ZQotUEFTUyBmb2N1c2VkRWxlbWVudERlc2NyaXB0aW9uKCkgaXMgIkFYSGVscDogTW9udGgsIEFY
VmFsdWVEZXNjcmlwdGlvbjogT2N0b2JlciwgaW50VmFsdWU6MTAsIHJhbmdlOjEtMTIiCi1QQVNT
IGZvY3VzZWRFbGVtZW50RGVzY3JpcHRpb24oKSBpcyAiQVhIZWxwOiBZZWFyLCBBWFZhbHVlRGVz
Y3JpcHRpb246IDIwMTIsIGludFZhbHVlOjIwMTIsIHJhbmdlOjEtMjc1NzYwIgotRW1wdHkgdmFs
dWUKLVBBU1MgZm9jdXNlZEVsZW1lbnREZXNjcmlwdGlvbigpIGlzICJBWEhlbHA6IFllYXIsIEFY
VmFsdWVEZXNjcmlwdGlvbjogYmxhbmssIGludFZhbHVlOjAsIHJhbmdlOjEtMjc1NzYwIgotUEFT
UyBmb2N1c2VkRWxlbWVudERlc2NyaXB0aW9uKCkgaXMgIkFYSGVscDogTW9udGgsIEFYVmFsdWVE
ZXNjcmlwdGlvbjogYmxhbmssIGludFZhbHVlOjAsIHJhbmdlOjEtMTIiCi0KLVBBU1Mgc3VjY2Vz
c2Z1bGx5UGFyc2VkIGlzIHRydWUKLQotVEVTVCBDT01QTEVURQotCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9mYXN0L2Zvcm1zL21vbnRoLW11bHRpcGxlLWZpZWxkcy9tb250aC1tdWx0aXBsZS1m
aWVsZHMtYXgtYXJpYS1hdHRyaWJ1dGVzLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL21v
bnRoLW11bHRpcGxlLWZpZWxkcy9tb250aC1tdWx0aXBsZS1maWVsZHMtYXgtYXJpYS1hdHRyaWJ1
dGVzLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDMzMGNmNmJiNzE5YmViMjli
YzY3YjU0ZmU5NThiZDdlYjk3MmUzNjAuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9tb250aC1tdWx0aXBsZS1maWVs
ZHMvbW9udGgtbXVsdGlwbGUtZmllbGRzLWF4LWFyaWEtYXR0cmlidXRlcy5odG1sCisrKyAvZGV2
L251bGwKQEAgLTEsMzYgKzAsMCBAQAotPCFET0NUWVBFIGh0bWw+Ci08aHRtbD4KLTxoZWFkPgot
PHNjcmlwdCBzcmM9Ii4uLy4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48
L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvbXVsdGlwbGUtZmllbGRzLWF4LWFy
aWEtYXR0cmlidXRlcy5qcyI+PC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keT4KLTxpbnB1dCBpZD0i
dGVzdCIgdHlwZT0ibW9udGgiIHZhbHVlPSIyMDEyLTEwIj4KLTxzY3JpcHQ+Ci1kZXNjcmlwdGlv
bignVGhpcyB0ZXN0IGNoZWNrcyBhcmlhLWhlbHAgYXR0cmlidXRlIG9mIGZpZWxkcyBpbiBtdWx0
aXBsZSBmaWVsZHMgd2VlayBpbnB1dCBVSS4nKTsKLQotdmFyIHRlc3RJbnB1dCA9IGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCd0ZXN0Jyk7Ci0KLWlmICghd2luZG93LmFjY2Vzc2liaWxpdHlDb250
cm9sbGVyIHx8ICF3aW5kb3cuZXZlbnRTZW5kZXIpCi0gICAgZGVidWcoJ1BsZWFzZSBydW4gaW5z
aWRlIERSVCBvciBXVFIuJyk7Ci1lbHNlIHsKLSAgICBkZWJ1ZygnTm9uLWVtcHR5IHZhbHVlJyk7
Ci0gICAgdGVzdElucHV0LmZvY3VzKCk7Ci0gICAgY2hlY2tGb2N1c2VkRWxlbWVudEFYQXR0cmli
dXRlcygnQVhIZWxwOiBNb250aCwgQVhWYWx1ZURlc2NyaXB0aW9uOiBPY3RvYmVyLCBpbnRWYWx1
ZToxMCwgcmFuZ2U6MS0xMicpOwotICAgIGV2ZW50U2VuZGVyLmtleURvd24oJ1x0Jyk7Ci0gICAg
Y2hlY2tGb2N1c2VkRWxlbWVudEFYQXR0cmlidXRlcygnQVhIZWxwOiBZZWFyLCBBWFZhbHVlRGVz
Y3JpcHRpb246IDIwMTIsIGludFZhbHVlOjIwMTIsIHJhbmdlOjEtMjc1NzYwJyk7Ci0KLSAgICBk
ZWJ1ZygnRW1wdHkgdmFsdWUnKTsKLSAgICBldmVudFNlbmRlci5rZXlEb3duKCdcYicpOwotICAg
IGNoZWNrRm9jdXNlZEVsZW1lbnRBWEF0dHJpYnV0ZXMoJ0FYSGVscDogWWVhciwgQVhWYWx1ZURl
c2NyaXB0aW9uOiBibGFuaywgaW50VmFsdWU6MCwgcmFuZ2U6MS0yNzU3NjAnKTsKLSAgICBldmVu
dFNlbmRlci5rZXlEb3duKCdcdCcsIFsnc2hpZnRLZXknXSk7Ci0gICAgZXZlbnRTZW5kZXIua2V5
RG93bignXGInKTsKLSAgICBjaGVja0ZvY3VzZWRFbGVtZW50QVhBdHRyaWJ1dGVzKCdBWEhlbHA6
IE1vbnRoLCBBWFZhbHVlRGVzY3JpcHRpb246IGJsYW5rLCBpbnRWYWx1ZTowLCByYW5nZToxLTEy
Jyk7Ci0KLSAgICBkZWJ1ZygnJyk7Ci0gICAgdGVzdElucHV0LnJlbW92ZSgpOwotfQotPC9zY3Jp
cHQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0
LmpzIj48L3NjcmlwdD4KLTwvYm9keT4KLTwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2Zhc3QvZm9ybXMvbW9udGgtbXVsdGlwbGUtZmllbGRzL21vbnRoLW11bHRpcGxlLWZpZWxkcy1h
eC12YWx1ZS1jaGFuZ2VkLW5vdGlmaWNhdGlvbi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9m
YXN0L2Zvcm1zL21vbnRoLW11bHRpcGxlLWZpZWxkcy9tb250aC1tdWx0aXBsZS1maWVsZHMtYXgt
dmFsdWUtY2hhbmdlZC1ub3RpZmljYXRpb24tZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCBjOGU5NWJiMTkzOGYzNTliMjk2YmNlYTEyZjM4OWE1NWNlNmQ0MGU5Li4w
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3Rz
L2Zhc3QvZm9ybXMvbW9udGgtbXVsdGlwbGUtZmllbGRzL21vbnRoLW11bHRpcGxlLWZpZWxkcy1h
eC12YWx1ZS1jaGFuZ2VkLW5vdGlmaWNhdGlvbi1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApA
QCAtMSwxNiArMCwwIEBACi1UaGlzIHRlc3QgY2hlY2tzIHZhbHVlIGNoYW5nZWQgYWNjZXNzaWJp
bGl0eSBub3RpZmljYXRpb25zLgotCi1PbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMg
b2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCi0KLQotRm9j
dXNlZFVJRWxlbWVudENoYW5nZWQgQVhIZWxwOiBNb250aD1BWFZhbHVlRGVzY3JpcHRpb246IE9j
dG9iZXIKLUZvY3VzZWRVSUVsZW1lbnRDaGFuZ2VkIEFYSGVscDogWWVhcj1BWFZhbHVlRGVzY3Jp
cHRpb246IDIwMTIKLVZhbHVlQ2hhbmdlZCBBWEhlbHA6IFllYXI9QVhWYWx1ZURlc2NyaXB0aW9u
OiAwMDA1Ci1WYWx1ZUNoYW5nZWQgQVhIZWxwOiBZZWFyPUFYVmFsdWVEZXNjcmlwdGlvbjogMDAw
NQotVmFsdWVDaGFuZ2VkIEFYSGVscDogWWVhcj1BWFZhbHVlRGVzY3JpcHRpb246IDAwMDUKLVZh
bHVlQ2hhbmdlZCBBWEhlbHA6IFllYXI9QVhWYWx1ZURlc2NyaXB0aW9uOiAwMDA1Ci0KLVBBU1Mg
c3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKLQotVEVTVCBDT01QTEVURQotCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL21vbnRoLW11bHRpcGxlLWZpZWxkcy9tb250aC1tdWx0
aXBsZS1maWVsZHMtYXgtdmFsdWUtY2hhbmdlZC1ub3RpZmljYXRpb24uaHRtbCBiL0xheW91dFRl
c3RzL2Zhc3QvZm9ybXMvbW9udGgtbXVsdGlwbGUtZmllbGRzL21vbnRoLW11bHRpcGxlLWZpZWxk
cy1heC12YWx1ZS1jaGFuZ2VkLW5vdGlmaWNhdGlvbi5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAzM2Y4ZDg2MWRhMDE4YmEyZmYyNzU1YzNlZGRkZjQxNTcwMzcyYTljLi4wMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2Zh
c3QvZm9ybXMvbW9udGgtbXVsdGlwbGUtZmllbGRzL21vbnRoLW11bHRpcGxlLWZpZWxkcy1heC12
YWx1ZS1jaGFuZ2VkLW5vdGlmaWNhdGlvbi5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsMzggKzAs
MCBAQAotPCFET0NUWVBFIGh0bWw+Ci08aHRtbD4KLTxoZWFkPgotPHNjcmlwdCBzcmM9Ii4uLy4u
Ly4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KLTwvaGVhZD4K
LTxib2R5PgotPGlucHV0IGlkPSJ0ZXN0IiB0eXBlPSJtb250aCIgdmFsdWU9IjIwMTItMTAiPgot
PHNjcmlwdD4KLWRlc2NyaXB0aW9uKCdUaGlzIHRlc3QgY2hlY2tzIHZhbHVlIGNoYW5nZWQgYWNj
ZXNzaWJpbGl0eSBub3RpZmljYXRpb25zLicpOwotCi12YXIgdGVzdElucHV0ID0gZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoInRlc3QiKTsKLQotaWYgKCF3aW5kb3cuYWNjZXNzaWJpbGl0eUNvbnRy
b2xsZXIgfHwgIXdpbmRvdy5ldmVudFNlbmRlcikKLSAgICBkZWJ1ZygiUGxlYXNlIHJ1biBpbnNp
ZGUgRFJUIG9yIFdSVC4iKTsKLWVsc2UgewotICAgIGFjY2Vzc2liaWxpdHlDb250cm9sbGVyLmFk
ZE5vdGlmaWNhdGlvbkxpc3RlbmVyKGZ1bmN0aW9uIChlbGVtZW50LCBub3RpZmljYXRpb24pIHsK
LSAgICAgICAgaWYgKG5vdGlmaWNhdGlvbiA9PSAnRm9jdXNlZFVJRWxlbWVudENoYW5nZWQnIHx8
IG5vdGlmaWNhdGlvbiA9PSAnVmFsdWVDaGFuZ2VkJykgewotICAgICAgICAgICAgZGVidWcobm90
aWZpY2F0aW9uICsgJyAnICsgZWxlbWVudC5oZWxwVGV4dCArICc9JyArIGVsZW1lbnQudmFsdWVE
ZXNjcmlwdGlvbik7Ci0gICAgICAgIH0KLSAgICB9KTsKLQotICAgIHRlc3RJbnB1dC5mb2N1cygp
OwotICAgIGV2ZW50U2VuZGVyLmtleURvd24oJ1x0Jyk7Ci0gICAgZXZlbnRTZW5kZXIua2V5RG93
bignNCcpOwotICAgIGV2ZW50U2VuZGVyLmtleURvd24oJ3VwQXJyb3cnKTsKLQotICAgIHdpbmRv
dy5qc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKLQotICAgIHdpbmRvdy5zZXRUaW1lb3V0KGZ1bmN0aW9u
KCkgewotICAgICAgICBkZWJ1ZygnJyk7Ci0gICAgICAgIHRlc3RJbnB1dC5yZW1vdmUoKTsKLSAg
ICAgICAgZmluaXNoSlNUZXN0KCk7Ci0gICAgfSwgMSk7Ci19Ci08L3NjcmlwdD4KLTxzY3JpcHQg
c3JjPSIuLi8uLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0
PgotPC9ib2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9t
b250aC1tdWx0aXBsZS1maWVsZHMvbW9udGgtbXVsdGlwbGUtZmllbGRzLWJsdXItYW5kLWZvY3Vz
LWV2ZW50cy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL21vbnRoLW11bHRp
cGxlLWZpZWxkcy9tb250aC1tdWx0aXBsZS1maWVsZHMtYmx1ci1hbmQtZm9jdXMtZXZlbnRzLWV4
cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNTk1MmQ0YjBlODNhZjdj
Nzc0MWEyYzJhY2U3YjAzYWNlZjdiNTExZC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL21vbnRoLW11bHRpcGxlLWZp
ZWxkcy9tb250aC1tdWx0aXBsZS1maWVsZHMtYmx1ci1hbmQtZm9jdXMtZXZlbnRzLWV4cGVjdGVk
LnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDE3ICswLDAgQEAKLUNoZWNrIGJsdXIgYW5kIGZvY3Vz
IGV2ZW50cyBmb3IgbXVsdGlwbGUgZmllbGRzIG1vbnRoIGlucHV0IFVJCi0KLU9uIHN1Y2Nlc3Ms
IHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJU
RVNUIENPTVBMRVRFIi4KLQotCi1mb2N1cygpIGFuZCBibHVyKCkKLVBBU1MgdGVzdElucHV0LmZv
Y3VzKCk7IHN0YXRlKCkgaXMgImJsdXI9MCBmb2N1cz0xIgotUEFTUyB0ZXN0SW5wdXQuYmx1cigp
OyBzdGF0ZSgpIGlzICJibHVyPTEgZm9jdXM9MSIKLWZvY3VzIGFuZCBUYWIga2V5IHRvIGJsdXIK
LVBBU1Mga2V5RG93bigiCSIpOyBzdGF0ZSgpIGlzICJibHVyPTAgZm9jdXM9MSIKLVBBU1Mga2V5
RG93bigiCSIpOyBzdGF0ZSgpIGlzICJibHVyPTAgZm9jdXM9MSIKLVBBU1Mga2V5RG93bigiCSIp
OyBzdGF0ZSgpIGlzICJibHVyPTEgZm9jdXM9MSIKLQotUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQg
aXMgdHJ1ZQotCi1URVNUIENPTVBMRVRFCi0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3Qv
Zm9ybXMvbW9udGgtbXVsdGlwbGUtZmllbGRzL21vbnRoLW11bHRpcGxlLWZpZWxkcy1ibHVyLWFu
ZC1mb2N1cy1ldmVudHMuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvbW9udGgtbXVsdGlw
bGUtZmllbGRzL21vbnRoLW11bHRpcGxlLWZpZWxkcy1ibHVyLWFuZC1mb2N1cy1ldmVudHMuaHRt
bApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggM2EzZDNhYzZhYWFkNGRjMzc2MzRmNjIz
YjdjNjhiMmNhOTUwNTdhMi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL21vbnRoLW11bHRpcGxlLWZpZWxkcy9tb250
aC1tdWx0aXBsZS1maWVsZHMtYmx1ci1hbmQtZm9jdXMtZXZlbnRzLmh0bWwKKysrIC9kZXYvbnVs
bApAQCAtMSwxMiArMCwwIEBACi08IURPQ1RZUEUgaHRtbD4KLTxodG1sPgotPGJvZHk+Ci08c2Ny
aXB0IHNyYz0iLi4vLi4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KLTxz
Y3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvbXVsdGlwbGUtZmllbGRzLWJsdXItYW5kLWZvY3VzLWV2
ZW50cy5qcyI+PC9zY3JpcHQ+Ci08ZGl2IGlkPSJjb250YWluZXIiPjwvZGl2PgotPHNjcmlwdD4K
LXN0YXJ0VGVzdEZvcignbW9udGgnKTsKLTwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii4uLy4uL2pz
L3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgotPC9ib2R5PgotPC9odG1sPgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9tb250aC1tdWx0aXBsZS1maWVsZHMv
bW9udGgtbXVsdGlwbGUtZmllbGRzLWNoYW5nZS1sYXlvdXQtYnktdmFsdWUtZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9tb250aC1tdWx0aXBsZS1maWVsZHMvbW9udGgtbXVs
dGlwbGUtZmllbGRzLWNoYW5nZS1sYXlvdXQtYnktdmFsdWUtZXhwZWN0ZWQudHh0CmRlbGV0ZWQg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCBmMTQ3MDY4NzlhZTJhZjhkMGIzYTQxMjM0OGNiY2RiYzY3
ZDNlYjk4Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xh
eW91dFRlc3RzL2Zhc3QvZm9ybXMvbW9udGgtbXVsdGlwbGUtZmllbGRzL21vbnRoLW11bHRpcGxl
LWZpZWxkcy1jaGFuZ2UtbGF5b3V0LWJ5LXZhbHVlLWV4cGVjdGVkLnR4dAorKysgL2Rldi9udWxs
CkBAIC0xLDExICswLDAgQEAKLUNoYW5nZSBtdWx0aXBsZSBmaWVsZHMgd2VlayBpbnB1dCBVSSBs
YXlvdXQgYnkgdmFsdWUKLQotT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQ
QVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgotCi0KLVBBU1Mgd2lk
dGhPZkVtcHR5VmFsdWUgPCB3aWR0aE9mT3ZlcmZsb3dWYWx1ZSBpcyB0cnVlCi1QQVNTIHdpZHRo
T2ZFbXB0eVZhbHVlIGlzIHdpZHRoT2ZWYWxpZFZhbHVlCi1QQVNTIHN1Y2Nlc3NmdWxseVBhcnNl
ZCBpcyB0cnVlCi0KLVRFU1QgQ09NUExFVEUKLQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFz
dC9mb3Jtcy9tb250aC1tdWx0aXBsZS1maWVsZHMvbW9udGgtbXVsdGlwbGUtZmllbGRzLWNoYW5n
ZS1sYXlvdXQtYnktdmFsdWUuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvbW9udGgtbXVs
dGlwbGUtZmllbGRzL21vbnRoLW11bHRpcGxlLWZpZWxkcy1jaGFuZ2UtbGF5b3V0LWJ5LXZhbHVl
Lmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGNkOGY3ZTIyMmU1MTMzZjRhMTBh
Y2RkMTQxOTczMzkwN2VlZmRlMWUuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9tb250aC1tdWx0aXBsZS1maWVsZHMv
bW9udGgtbXVsdGlwbGUtZmllbGRzLWNoYW5nZS1sYXlvdXQtYnktdmFsdWUuaHRtbAorKysgL2Rl
di9udWxsCkBAIC0xLDI1ICswLDAgQEAKLTwhRE9DVFlQRSBodG1sPgotPGh0bWw+Ci08Ym9keT4K
LTxzY3JpcHQgc3JjPSIuLi8uLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0
PgotPHNjcmlwdD4KLWRlc2NyaXB0aW9uKCdDaGFuZ2UgbXVsdGlwbGUgZmllbGRzIHdlZWsgaW5w
dXQgVUkgbGF5b3V0IGJ5IHZhbHVlJyk7Ci12YXIgdGVzdElucHV0ID0gZG9jdW1lbnQuY3JlYXRl
RWxlbWVudCgnaW5wdXQnKTsKLXRlc3RJbnB1dC50eXBlID0gJ21vbnRoJzsKLXRlc3RJbnB1dC5t
YXggPSAnOTk5OS0xMic7Ci1kb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHRlc3RJbnB1dCk7Ci12
YXIgd2lkdGhPZkVtcHR5VmFsdWUgPSB0ZXN0SW5wdXQub2Zmc2V0V2lkdGg7Ci0KLXRlc3RJbnB1
dC52YWx1ZSA9ICcxMDAwMC0xMic7Ci12YXIgd2lkdGhPZk92ZXJmbG93VmFsdWUgPSB0ZXN0SW5w
dXQub2Zmc2V0V2lkdGg7Ci1zaG91bGRCZVRydWUoJ3dpZHRoT2ZFbXB0eVZhbHVlIDwgd2lkdGhP
Zk92ZXJmbG93VmFsdWUnKTsKLQotdGVzdElucHV0LnZhbHVlID0gJzIwMTItMTAnOwotdmFyIHdp
ZHRoT2ZWYWxpZFZhbHVlID0gdGVzdElucHV0Lm9mZnNldFdpZHRoOwotc2hvdWxkQmUoJ3dpZHRo
T2ZFbXB0eVZhbHVlJywgJ3dpZHRoT2ZWYWxpZFZhbHVlJyk7Ci0KLXRlc3RJbnB1dC5yZW1vdmUo
KTsKLTwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii4uLy4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXBv
c3QuanMiPjwvc2NyaXB0PgotPC9ib2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZmFzdC9mb3Jtcy9tb250aC1tdWx0aXBsZS1maWVsZHMvbW9udGgtbXVsdGlwbGUtZmllbGRz
LWNsZWFyYnV0dG9uLWNoYW5nZS1hbmQtaW5wdXQtZXZlbnRzLWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2Zhc3QvZm9ybXMvbW9udGgtbXVsdGlwbGUtZmllbGRzL21vbnRoLW11bHRpcGxlLWZp
ZWxkcy1jbGVhcmJ1dHRvbi1jaGFuZ2UtYW5kLWlucHV0LWV2ZW50cy1leHBlY3RlZC50eHQKZGVs
ZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDMxZjg2NjMwZmIyNjIzNzIyYTE5ZDU3OWQzYzVk
MWQxZGQ0Njg4MmIuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0t
IGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9tb250aC1tdWx0aXBsZS1maWVsZHMvbW9udGgtbXVs
dGlwbGUtZmllbGRzLWNsZWFyYnV0dG9uLWNoYW5nZS1hbmQtaW5wdXQtZXZlbnRzLWV4cGVjdGVk
LnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDE5ICswLDAgQEAKLVRlc3QgZm9yIGV2ZW50IGRpc3Bh
dGNoaW5nIGJ5IHNwaW4gYnV0dG9ucyBpbiBhIHR5cGU9bW9udGggaW5wdXQuCi0KLU9uIHN1Y2Nl
c3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5
ICJURVNUIENPTVBMRVRFIi4KLQotCi1Jbml0aWFsIHN0YXRlCi1QQVNTIGNoYW5nZUV2ZW50Q291
bnRlciBpcyAwCi1QQVNTIGlucHV0RXZlbnRDb3VudGVyIGlzIDAKLUNsaWNrIHRoZSBjbGVhciBi
dXR0b24KLVBBU1MgdGVzdElucHV0LnZhbHVlIGlzICIiCi1QQVNTIGNoYW5nZUV2ZW50Q291bnRl
ciBpcyAxCi1QQVNTIGlucHV0RXZlbnRDb3VudGVyIGlzIDEKLUZvY3VzIG9uIGFub3RoZXIgZmll
bGQKLVBBU1MgY2hhbmdlRXZlbnRDb3VudGVyIGlzIDEKLVBBU1MgaW5wdXRFdmVudENvdW50ZXIg
aXMgMQotUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQotCi1URVNUIENPTVBMRVRFCi0K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvbW9udGgtbXVsdGlwbGUtZmllbGRz
L21vbnRoLW11bHRpcGxlLWZpZWxkcy1jbGVhcmJ1dHRvbi1jaGFuZ2UtYW5kLWlucHV0LWV2ZW50
cy5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9tb250aC1tdWx0aXBsZS1maWVsZHMvbW9u
dGgtbXVsdGlwbGUtZmllbGRzLWNsZWFyYnV0dG9uLWNoYW5nZS1hbmQtaW5wdXQtZXZlbnRzLmh0
bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDY3ZDBiZjJlMmU4ODNjMDU0NDliOWRl
YzY1MTIwNDYzYjE1M2VhZDYuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9tb250aC1tdWx0aXBsZS1maWVsZHMvbW9u
dGgtbXVsdGlwbGUtZmllbGRzLWNsZWFyYnV0dG9uLWNoYW5nZS1hbmQtaW5wdXQtZXZlbnRzLmh0
bWwKKysrIC9kZXYvbnVsbApAQCAtMSwxNCArMCwwIEBACi08IURPQ1RZUEUgaHRtbD4KLTxodG1s
PgotPGhlYWQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVz
dC1wcmUuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy9jb21tb24uanMi
Pjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy9jb21tb24tY2xlYXJidXR0b24t
Y2hhbmdlLWFuZC1pbnB1dC1ldmVudHMuanMiPjwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHk+Ci08
c2NyaXB0PgotdGVzdENsZWFyQnV0dG9uQ2hhbmdlQW5kSW5wdXRFdmVudHMoJ21vbnRoJywgJzIw
MTItMTAnKTsKLTwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii4uLy4uLy4uL2Zhc3QvanMvcmVzb3Vy
Y2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Ci08L2JvZHk+Ci08L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL21vbnRoLW11bHRpcGxlLWZpZWxkcy9tb250aC1t
dWx0aXBsZS1maWVsZHMtY2xlYXJidXR0b24tdmlzaWJpbGl0eS1hZnRlci1yZXN0b3JlLWV4cGVj
dGVkLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL21vbnRoLW11bHRpcGxlLWZpZWxkcy9t
b250aC1tdWx0aXBsZS1maWVsZHMtY2xlYXJidXR0b24tdmlzaWJpbGl0eS1hZnRlci1yZXN0b3Jl
LWV4cGVjdGVkLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGI3MzM1OGU0NmVm
OTJmNjRlNmJmNTNmY2Y4NGQ1MGYxN2FlZDdhZmUuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9tb250aC1tdWx0aXBs
ZS1maWVsZHMvbW9udGgtbXVsdGlwbGUtZmllbGRzLWNsZWFyYnV0dG9uLXZpc2liaWxpdHktYWZ0
ZXItcmVzdG9yZS1leHBlY3RlZC5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsMTAgKzAsMCBAQAot
PCFET0NUWVBFIGh0bWw+Ci08aHRtbD4KLTxib2R5PgotPGlucHV0IGlkPSJlbXB0eU9uRmlyc3RW
aXNpdCIgdmFsdWU9InZpc2l0ZWQiPgotPGZvcm0gYWN0aW9uPSJkYXRhOnRleHQvaHRtbCwmbHQ7
c2NyaXB0Pmhpc3RvcnkuYmFjaygpJmx0Oy9zY3JpcHQ+IiBpZD1mb3JtMT4KLSAgICA8aW5wdXQg
dHlwZT1tb250aCBpZD1pbnB1dDE+Ci0gICAgPGlucHV0IHR5cGU9bW9udGggaWQ9aW5wdXQyIHZh
bHVlPSIyMDAxLTAyIj4KLSAgICA8aW5wdXQgdHlwZT1tb250aCBpZD1pbnB1dDMgdmFsdWU9IjIw
MDItMDMiPgotPC9mb3JtPgotPC9ib2R5PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9m
b3Jtcy9tb250aC1tdWx0aXBsZS1maWVsZHMvbW9udGgtbXVsdGlwbGUtZmllbGRzLWNsZWFyYnV0
dG9uLXZpc2liaWxpdHktYWZ0ZXItcmVzdG9yZS5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jt
cy9tb250aC1tdWx0aXBsZS1maWVsZHMvbW9udGgtbXVsdGlwbGUtZmllbGRzLWNsZWFyYnV0dG9u
LXZpc2liaWxpdHktYWZ0ZXItcmVzdG9yZS5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCA5ZTZmNTEzZmQyMGVmMDY0ZGZmOTdlZmU0NDBjMzBkMTE3ZDQwZDQyLi4wMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZm9y
bXMvbW9udGgtbXVsdGlwbGUtZmllbGRzL21vbnRoLW11bHRpcGxlLWZpZWxkcy1jbGVhcmJ1dHRv
bi12aXNpYmlsaXR5LWFmdGVyLXJlc3RvcmUuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDMyICsw
LDAgQEAKLTwhRE9DVFlQRSBodG1sPgotPGh0bWw+Ci08Ym9keT4KLTxpbnB1dCBpZD0iZW1wdHlP
bkZpcnN0VmlzaXQiPgotPGZvcm0gYWN0aW9uPSJkYXRhOnRleHQvaHRtbCwmbHQ7c2NyaXB0Pmhp
c3RvcnkuYmFjaygpJmx0Oy9zY3JpcHQ+IiBpZD1mb3JtMT4KLSAgICA8aW5wdXQgdHlwZT1tb250
aCBpZD1pbnB1dDE+Ci0gICAgPGlucHV0IHR5cGU9bW9udGggaWQ9aW5wdXQyPgotICAgIDxpbnB1
dCB0eXBlPW1vbnRoIGlkPWlucHV0MyB2YWx1ZT0iMjAxMi0wMSI+Ci08L2Zvcm0+Ci0KLTxzY3Jp
cHQ+Ci0vLyBSZXN0b3JpbmcgdGhlIGZvcm0gc2hvdWxkIHVwZGF0ZSB0aGUgY2xlYXIgYnV0dG9u
IHZpc2liaWxpdHkuCi10ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTsKLWZ1bmN0aW9uIHJ1blRl
c3QoKQotewotICAgIHZhciBzdGF0ZSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdlbXB0eU9u
Rmlyc3RWaXNpdCcpOwotICAgIGlmICghc3RhdGUudmFsdWUpIHsKLSAgICAgICAgLy8gRmlyc3Qg
dmlzaXQuCi0gICAgICAgIHNldFRpbWVvdXQoZnVuY3Rpb24oKSB7Ci0gICAgICAgICAgICBzdGF0
ZS52YWx1ZSA9ICd2aXNpdGVkJzsKLSAgICAgICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCdpbnB1dDInKS52YWx1ZSA9ICIyMDAxLTAyIjsKLSAgICAgICAgICAgIGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCdpbnB1dDMnKS52YWx1ZSA9ICIyMDAyLTAzIjsKLSAgICAgICAgICAgIGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCdmb3JtMScpLnN1Ym1pdCgpOwotICAgICAgICB9LCAwKTsKLSAg
ICB9IGVsc2UgewotICAgICAgICB0ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsKLSAgICB9Ci19Ci0K
LXdpbmRvdy5vbmxvYWQgPSBydW5UZXN0OwotPC9zY3JpcHQ+Ci08L2JvZHk+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL21vbnRoLW11bHRpcGxlLWZpZWxkcy9tb250aC1tdWx0
aXBsZS1maWVsZHMtZmFsbGJhY2stZm9ybWF0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zh
c3QvZm9ybXMvbW9udGgtbXVsdGlwbGUtZmllbGRzL21vbnRoLW11bHRpcGxlLWZpZWxkcy1mYWxs
YmFjay1mb3JtYXQtZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBi
MzhiOTZhYTU0ODQ4YjAxZDAyOTNjYjQzNWMwYzk3NjY1YjZmNDIwLi4wMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvbW9u
dGgtbXVsdGlwbGUtZmllbGRzL21vbnRoLW11bHRpcGxlLWZpZWxkcy1mYWxsYmFjay1mb3JtYXQt
ZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEsMTQgKzAsMCBAQAotQ2hlY2tzIGluY29t
cGxldGUgZGF0ZXRpbWUgZm9ybWF0cyBhcmUgcmVqZWN0ZWQuCi0KLU9uIHN1Y2Nlc3MsIHlvdSB3
aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENP
TVBMRVRFIi4KLQotCi1WYWxpZCBmb3JtYXQKLVBBU1MgZ2V0VXNlckFnZW50U2hhZG93VGV4dENv
bnRlbnQoaW5wdXQpIGlzICIwNy0xOTk5IgotSW52YWxpZCBmb3JtYXQsIGZhbGxiYWNrIHRvIHl5
eXktTU0KLVBBU1MgZ2V0VXNlckFnZW50U2hhZG93VGV4dENvbnRlbnQoaW5wdXQpIGlzICIxOTk5
LTA3IgotUEFTUyBnZXRVc2VyQWdlbnRTaGFkb3dUZXh0Q29udGVudChpbnB1dCkgaXMgIjE5OTkt
MDciCi1QQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCi0KLVRFU1QgQ09NUExFVEUKLQpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9tb250aC1tdWx0aXBsZS1maWVsZHMv
bW9udGgtbXVsdGlwbGUtZmllbGRzLWZhbGxiYWNrLWZvcm1hdC5odG1sIGIvTGF5b3V0VGVzdHMv
ZmFzdC9mb3Jtcy9tb250aC1tdWx0aXBsZS1maWVsZHMvbW9udGgtbXVsdGlwbGUtZmllbGRzLWZh
bGxiYWNrLWZvcm1hdC5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAyOTUxMWFi
NjJjOWU4ZjcxZWNhZTZiYzk5NTU1NWE1ODVlYWQzNmZlLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvbW9udGgtbXVs
dGlwbGUtZmllbGRzL21vbnRoLW11bHRpcGxlLWZpZWxkcy1mYWxsYmFjay1mb3JtYXQuaHRtbAor
KysgL2Rldi9udWxsCkBAIC0xLDM3ICswLDAgQEAKLTwhRE9DVFlQRSBodG1sPgotPGh0bWw+Ci08
aGVhZD4KLTxzY3JpcHQgc3JjPSIuLi8uLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwv
c2NyaXB0PgotPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy9jb21tb24uanMiPjwvc2NyaXB0Pgot
PC9oZWFkPgotPGJvZHk+Ci08c2NyaXB0PgotZGVzY3JpcHRpb24oJ0NoZWNrcyBpbmNvbXBsZXRl
IGRhdGV0aW1lIGZvcm1hdHMgYXJlIHJlamVjdGVkLicpOwotCi12YXIgaW5wdXQgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KCdpbnB1dCcpOwotaW5wdXQudHlwZSA9ICdtb250aCc7Ci1kb2N1bWVu
dC5ib2R5LmFwcGVuZENoaWxkKGlucHV0KTsKLQotZnVuY3Rpb24gc2V0RGF0ZVRpbWVGb3JtYXQo
cGF0dGVybikgewotICAgIHZhciB2YWx1ZSA9IGlucHV0LnZhbHVlOwotICAgIGdldEVsZW1lbnRC
eVBzZXVkb0lkKGludGVybmFscy55b3VuZ2VzdFNoYWRvd1Jvb3QoaW5wdXQpLCAnLXdlYmtpdC1k
YXRldGltZS1lZGl0Jykuc2V0QXR0cmlidXRlKCdwYXR0ZXJuJywgcGF0dGVybik7Ci0gICAgaW5w
dXQudmFsdWUgPSAnJzsgLy8gVXBkYXRlcyB0aGUgZWxlbWVudCBmb3IgbmV3IGZvcm1hdAotICAg
IGlucHV0LnZhbHVlID0gdmFsdWU7Ci19Ci0KLWlucHV0LnZhbHVlID0gJzE5OTktMDcnOwotCi1k
ZWJ1ZygnVmFsaWQgZm9ybWF0Jyk7Ci1zZXREYXRlVGltZUZvcm1hdCgnTU0teXl5eScpOwotc2hv
dWxkQmVFcXVhbFRvU3RyaW5nKCdnZXRVc2VyQWdlbnRTaGFkb3dUZXh0Q29udGVudChpbnB1dCkn
LCAnMDctMTk5OScpOwotCi1kZWJ1ZygnSW52YWxpZCBmb3JtYXQsIGZhbGxiYWNrIHRvIHl5eXkt
TU0nKTsKLXNldERhdGVUaW1lRm9ybWF0KCdtbS15eXl5Jyk7Ci1zaG91bGRCZUVxdWFsVG9TdHJp
bmcoJ2dldFVzZXJBZ2VudFNoYWRvd1RleHRDb250ZW50KGlucHV0KScsICcxOTk5LTA3Jyk7Ci1z
ZXREYXRlVGltZUZvcm1hdCgnTScpOwotc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdnZXRVc2VyQWdl
bnRTaGFkb3dUZXh0Q29udGVudChpbnB1dCknLCAnMTk5OS0wNycpOwotCi08L3NjcmlwdD4KLTxz
Y3JpcHQgc3JjPSIuLi8uLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4K
LTwvYm9keT4KLTwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvbW9u
dGgtbXVsdGlwbGUtZmllbGRzL21vbnRoLW11bHRpcGxlLWZpZWxkcy1rZXlib2FyZC1ldmVudHMt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9tb250aC1tdWx0aXBsZS1maWVs
ZHMvbW9udGgtbXVsdGlwbGUtZmllbGRzLWtleWJvYXJkLWV2ZW50cy1leHBlY3RlZC50eHQKZGVs
ZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGIyYzllY2QwNjQ5NWI2MDA0NzNhN2ExNmRjNWFh
NTgyOTQ3ZjUzYjYuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0t
IGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9tb250aC1tdWx0aXBsZS1maWVsZHMvbW9udGgtbXVs
dGlwbGUtZmllbGRzLWtleWJvYXJkLWV2ZW50cy1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApA
QCAtMSw3NyArMCwwIEBACi1NdWx0aXBsZSBmaWVsZHMgVUkgb2YgbW9udGggaW5wdXQgdHlwZSB3
aXRoIGtleWJvYXJkIGV2ZW50cwotCi1PbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMg
b2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCi0KLQotUGxl
YXNlIHJ1biB0aGlzIHdpdGggRHVtcFJlbmRlclRyZWUuCi0KLVRlc3QgZm9sbG93aW5nIGtleXM6
Ci1EaWdpdHMKLUxlZnQvUmlnaHQgLSBNb3ZlIGZvY3VzIGZpZWxkIGluc2lkZSBlbGVtZW50Ci1V
cC9Eb3duIC0gSW5jcmVtZW50L2RlY3JlbWVudCB2YWx1ZSBvZiBmb2N1cyBmaWVsZAotVGFiIC0g
TW92ZSBmb2N1cyBmaWVsZAotQmFja3NwYWNlIC0gTWFrZSB2YWx1ZSBlbXB0eQotICAKLT09IERp
Z2l0IGtleXMgPT0KLVBBU1MgaW5wdXQudmFsdWUgaXMgIjAwMTItMDkiCi09PSBMZWZ0L1JpZ2h0
IGtleXMgPT0KLVBBU1MgaW5wdXQudmFsdWUgaXMgIjAwMDUtMDYiCi1QQVNTIGRvY3VtZW50LmFj
dGl2ZUVsZW1lbnQuaWQgaXMgImlucHV0IgotPT0gVXAvRG93biBrZXlzID09Ci1QQVNTIGlucHV0
LnZhbHVlIGlzICIyMDEyLTEwIgotUEFTUyBpbnB1dC52YWx1ZSBpcyAiMjAxMi0wOCIKLT09IFVw
L0Rvd24ga2V5cyBvbiBlbXB0eSB2YWx1ZSA9PQotUEFTUyBpbnB1dC52YWx1ZSBpcyAiMjAxMi0x
MSIKLT09IFVwL0Rvd24ga2V5cyBvbiBlbXB0eSB2YWx1ZSAyID09Ci1QQVNTIGlucHV0LnZhbHVl
IGlzICIyMDEyLTAyIgotPT0gVGFiIGtleSA9PQotUEFTUyBpbnB1dC52YWx1ZSBpcyAiMDAwNS0w
OSIKLVBBU1MgaW5wdXQudmFsdWUgaXMgIjAwMDUtMDEiCi1QQVNTIGRvY3VtZW50LmFjdGl2ZUVs
ZW1lbnQuaWQgaXMgImFub3RoZXIiCi09PSBTaGZpdCtUYWIga2V5ID09Ci1QQVNTIGlucHV0LnZh
bHVlIGlzICIwMDAzLTA5IgotUEFTUyBkb2N1bWVudC5hY3RpdmVFbGVtZW50LmlkIGlzICJiZWZv
cmUiCi09PSBVcCBrZXkgb24gbWF4aW11bSB2YWx1ZSA9PQotUEFTUyBpbnB1dC52YWx1ZSBpcyAi
MDAwMS0xMCIKLT09IFVwIGtleSB3aXRoIGEgbWF4aW11bSBhdHRyaWJ1dGUgPT0KLVBBU1MgaW5w
dXQudmFsdWUgaXMgIjAwMDEtMDEiCi09PSBEb3duIGtleSBvbiBtaW5pbXVtIHZhbHVlID09Ci1Q
QVNTIGlucHV0LnZhbHVlIGlzICIiCi09PSBEb3duIGtleSB3aXRoIGEgbWluaW11bSBhdHRyaWJ1
dGUgPT0KLVBBU1MgaW5wdXQudmFsdWUgaXMgIiIKLT09IEluY29uc2lzdGVudCBtaW4tbWF4IGF0
dHJpYnV0ZXMgPT0KLVBBU1MgaW5wdXQudmFsdWUgaXMgIjEwMDAtMTIiCi1QQVNTIGlucHV0LnZh
bHVlIGlzICIxOTk5LTEyIgotPT0gQmFja3NwYWNlIGtleSA9PQotUEFTUyBpbnB1dC52YWx1ZSBp
cyAiIgotPT0gRGVsZXRlIGtleSA9PQotUEFTUyBpbnB1dC52YWx1ZSBpcyAiIgotPT0gVHlwZWFo
ZWFkID09Ci1QQVNTIGlucHV0LnZhbHVlIGlzICIwMDAxLTEyIgotUEFTUyBpbnB1dC52YWx1ZSBp
cyAiMDAwMi0xMiIKLT09IFR5cGVhaGVhZCBjeWNsZSBmaXJzdCBjaGFyYWN0ZXIgPT0KLVBBU1Mg
aW5wdXQudmFsdWUgaXMgIjIwMTItMDEiCi1QQVNTIGlucHV0LnZhbHVlIGlzICIyMDEyLTA2Igot
UEFTUyBpbnB1dC52YWx1ZSBpcyAiMjAxMi0wNyIKLVBBU1MgaW5wdXQudmFsdWUgaXMgIjIwMTIt
MDEiCi1QQVNTIGlucHV0LnZhbHVlIGlzICIyMDEyLTAxIgotPT0gVHlwZWFoZWFkIHByZWZpeCBt
YXRjaCA9PQotUEFTUyBpbnB1dC52YWx1ZSBpcyAiMjAxMi0wMyIKLVBBU1MgaW5wdXQudmFsdWUg
aXMgIjIwMTItMDMiCi1QQVNTIGlucHV0LnZhbHVlIGlzICIyMDEyLTA1IgotUEFTUyBpbnB1dC52
YWx1ZSBpcyAiMjAxMi0wNSIKLT09IFR5cGVhaGVhZCBpbmRleCBtYXRjaCA9PQotUEFTUyBpbnB1
dC52YWx1ZSBpcyAiMjAxMi0wMSIKLVBBU1MgaW5wdXQudmFsdWUgaXMgIjIwMTItMTIiCi1QQVNT
IGlucHV0LnZhbHVlIGlzICIyMDEyLTEyIgotPT0gVHlwZWFoZWFkIHNob3VsZCBzZWFyY2ggZnJv
bSBjdXJyZW50IHNlbGVjdGlvbiA9PQotUEFTUyBpbnB1dC52YWx1ZSBpcyAiMjAxMi0wNiIKLT09
IFJUTCBmb2N1cyBuYXZpZ2F0aW9uID09Ci1UaGUgdGVzdHMgaW4gdGhpcyBibG9jayBmYWlsIG9u
IHBsYXRmb3JtcyB3aXRob3V0IHRoZSBsYW5nLWF0dHJpYnV0ZS1hd2FyZS1mb3JtLWNvbnRyb2wt
VUkgZmVhdHVyZS4KLVBBU1MgaW5wdXQudmFsdWUgaXMgIjIwMTItMTAiCi1QQVNTIGlucHV0LnZh
bHVlIGlzICIwMDAyLTEwIgotUEFTUyBpbnB1dC52YWx1ZSBpcyAiMDAwMi0xMSIKLVBBU1Mgc3Vj
Y2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKLQotVEVTVCBDT01QTEVURQotCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9mYXN0L2Zvcm1zL21vbnRoLW11bHRpcGxlLWZpZWxkcy9tb250aC1tdWx0aXBs
ZS1maWVsZHMta2V5Ym9hcmQtZXZlbnRzLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL21v
bnRoLW11bHRpcGxlLWZpZWxkcy9tb250aC1tdWx0aXBsZS1maWVsZHMta2V5Ym9hcmQtZXZlbnRz
Lmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDk3Mjg5MmI5ZDg4ZWNiNDRlNDcw
YzNmMjJlMTM0YzVlZDA2MDI1YmEuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9tb250aC1tdWx0aXBsZS1maWVsZHMv
bW9udGgtbXVsdGlwbGUtZmllbGRzLWtleWJvYXJkLWV2ZW50cy5odG1sCisrKyAvZGV2L251bGwK
QEAgLTEsMjIzICswLDAgQEAKLTwhRE9DVFlQRSBodG1sPgotPGh0bWw+Ci08aGVhZD4KLTxzY3Jp
cHQgc3JjPSIuLi8uLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgotPC9o
ZWFkPgotPGJvZHk+Ci08cCBpZD0iZGVzY3JpcHRpb24iPjwvcD4KLTxwPgotUGxlYXNlIHJ1biB0
aGlzIHdpdGggRHVtcFJlbmRlclRyZWUuCi08L3A+Ci1UZXN0IGZvbGxvd2luZyBrZXlzOgotPHVs
PgotICAgIDxsaT5EaWdpdHM8L2xpPgotICAgIDxsaT5MZWZ0L1JpZ2h0IC0gTW92ZSBmb2N1cyBm
aWVsZCBpbnNpZGUgZWxlbWVudDwvbGk+Ci0gICAgPGxpPlVwL0Rvd24gLSBJbmNyZW1lbnQvZGVj
cmVtZW50IHZhbHVlIG9mIGZvY3VzIGZpZWxkPC9saT4KLSAgICA8bGk+VGFiIC0gTW92ZSBmb2N1
cyBmaWVsZDwvbGk+Ci0gICAgPGxpPkJhY2tzcGFjZSAtIE1ha2UgdmFsdWUgZW1wdHk8L2xpPgot
PC91bD4KLTxpbnB1dCBpZD0iYmVmb3JlIj4KLTxpbnB1dCBpZD0iaW5wdXQiIHR5cGU9Im1vbnRo
Ij4KLTxpbnB1dCBpZD0iYW5vdGhlciI+Ci08ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KLTxzY3Jp
cHQ+Ci1kZXNjcmlwdGlvbigiTXVsdGlwbGUgZmllbGRzIFVJIG9mIG1vbnRoIGlucHV0IHR5cGUg
d2l0aCBrZXlib2FyZCBldmVudHMiKTsKLWlmICh3aW5kb3cuaW50ZXJuYWxzKQotICAgIGludGVy
bmFscy5zZXR0aW5ncy5zZXRMYW5nQXR0cmlidXRlQXdhcmVGb3JtQ29udHJvbFVJRW5hYmxlZCh0
cnVlKTsKLXZhciBpbnB1dCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJpbnB1dCIpOwotCi1m
dW5jdGlvbiBrZXlEb3duKGtleSwgbW9kaWZpZXJzKQotewotICAgIGlmICghd2luZG93LmV2ZW50
U2VuZGVyKQotICAgICAgICByZXR1cm47Ci0gICAgZXZlbnRTZW5kZXIua2V5RG93bihrZXksIG1v
ZGlmaWVycyk7Ci19Ci0KLWZ1bmN0aW9uIGJlZ2luVGVzdCh0aXRsZSwgdmFsdWUsIG9wdF9taW4s
IG9wdF9tYXgpCi17Ci0gICAgZGVidWcoIj09ICIgKyB0aXRsZSArICIgPT0iKTsKLSAgICBpbnB1
dC52YWx1ZSA9IHZhbHVlOwotICAgIGlucHV0Lm1pbiA9IG9wdF9taW4gPyBvcHRfbWluIDogIiI7
Ci0gICAgaW5wdXQubWF4ID0gb3B0X21heCA/IG9wdF9tYXggOiAiIjsKLSAgICBpbnB1dC5ibHVy
KCk7Ci0gICAgaW5wdXQuZm9jdXMoKTsKLX0KLQotLy8gV2UgYXNzdW1lIHRoZSB5ZWFyLW1vbnRo
IGZvcm1hdCBpcyAiTU1NIHl5eXkiLgotCi1iZWdpblRlc3QoJ0RpZ2l0IGtleXMnKTsKLWtleURv
d24oJ3MnKTsKLWtleURvd24oJ3JpZ2h0QXJyb3cnKTsKLWtleURvd24oJzAnKTsKLWtleURvd24o
JzEnKTsKLWtleURvd24oJzInKTsKLWtleURvd24oJ0EnKTsKLXNob3VsZEJlRXF1YWxUb1N0cmlu
ZygnaW5wdXQudmFsdWUnLCAnMDAxMi0wOScpOwotCi0vLyBGSVhNRTogV2Ugc2hvdWxkIHRlc3Qg
dHlwZSBhaGVhZCB0aW1lIG91dC4gV2hlbiBldmVudC5sZWFwRm9yd2FyZCgpIGFmZmVjdHMKLS8v
IGtleWJvYXJkIGV2ZW50IHRpbWUgc3RhbXAsIHdlIGNhbiB1bmNvbW1lbnQgdGhpcyBmcmFnbWVu
dC4KLS8qCi1iZWdpblRlc3QoJ0RpZ2l0IGtleXMgd2l0aCB0eXBlIGFoZWFkIHRpbWVvdXQnKTsK
LWtleURvd24oJzEnKTsKLWxlYXBGb3J3YXJkKDExMDApOwota2V5RG93bignMScpOwota2V5RG93
bignNScpOwota2V5RG93bignNicpOwota2V5RG93bignQScpOwotc2hvdWxkQmVFcXVhbFRvU3Ry
aW5nKCdpbnB1dC52YWx1ZScsICcwMDU2LTAxJyk7Ci0qLwotCi1iZWdpblRlc3QoJ0xlZnQvUmln
aHQga2V5cycsICcyMDEyLTA5Jyk7Ci1rZXlEb3duKCdyaWdodEFycm93Jyk7Ci1rZXlEb3duKCc1
Jyk7Ci1rZXlEb3duKCdsZWZ0QXJyb3cnKTsKLWtleURvd24oJzYnKTsKLXNob3VsZEJlRXF1YWxU
b1N0cmluZygnaW5wdXQudmFsdWUnLCAnMDAwNS0wNicpOwota2V5RG93bignbGVmdEFycm93Jyk7
Ci1rZXlEb3duKCdsZWZ0QXJyb3cnKTsKLWtleURvd24oJ2xlZnRBcnJvdycpOwotc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCdkb2N1bWVudC5hY3RpdmVFbGVtZW50LmlkJywgJ2lucHV0Jyk7Ci0KLWJl
Z2luVGVzdCgnVXAvRG93biBrZXlzJywgJzIwMTItMDknKTsKLWtleURvd24oJ3VwQXJyb3cnKTsK
LXNob3VsZEJlRXF1YWxUb1N0cmluZygnaW5wdXQudmFsdWUnLCAnMjAxMi0xMCcpOwota2V5RG93
bignZG93bkFycm93Jyk7Ci1rZXlEb3duKCdkb3duQXJyb3cnKTsKLXNob3VsZEJlRXF1YWxUb1N0
cmluZygnaW5wdXQudmFsdWUnLCAnMjAxMi0wOCcpOwotCi0vLyBOb3RlIHRoYXQgZW1wdHkgdmFs
dWUgZm9yIHRoZSB5ZWFyIGZpZWxkIHdpdGhvdXQgbWluL21heCBhdHRyaWJ1dGVzIGlzIG5vdAot
Ly8gdGVzdGFibGUgYmVjYXVzZSBpdHMgZGVmYXVsdCB2YWx1ZSBkZXBlbmRzIG9uIHRoZSBjdXJy
ZW50IGRhdGUuCi1iZWdpblRlc3QoJ1VwL0Rvd24ga2V5cyBvbiBlbXB0eSB2YWx1ZScsICcnLCAn
MjAxMi0wMScpOwota2V5RG93bignZG93bkFycm93Jyk7Ci1rZXlEb3duKCdkb3duQXJyb3cnKTsK
LWtleURvd24oJ3JpZ2h0QXJyb3cnKTsKLWtleURvd24oJ3VwQXJyb3cnKTsKLWtleURvd24oJ3Vw
QXJyb3cnKTsKLWtleURvd24oJ2Rvd25BcnJvdycpOwotc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdp
bnB1dC52YWx1ZScsICcyMDEyLTExJyk7Ci0KLWJlZ2luVGVzdCgnVXAvRG93biBrZXlzIG9uIGVt
cHR5IHZhbHVlIDInLCAnJywgdW5kZWZpbmVkLCAnMjAxMi0wMScpOwota2V5RG93bigndXBBcnJv
dycpOwota2V5RG93bigndXBBcnJvdycpOwota2V5RG93bigncmlnaHRBcnJvdycpOwota2V5RG93
bignZG93bkFycm93Jyk7Ci1rZXlEb3duKCdkb3duQXJyb3cnKTsKLWtleURvd24oJ3VwQXJyb3cn
KTsKLXNob3VsZEJlRXF1YWxUb1N0cmluZygnaW5wdXQudmFsdWUnLCAnMjAxMi0wMicpOwotCi1i
ZWdpblRlc3QoJ1RhYiBrZXknLCAnMjAxMi0wOScpOwota2V5RG93bignXHQnKTsgLy8gLT4gU2Vw
IFsyMDEyXQota2V5RG93bignNScpOyAvLyAgLT4gU2VwIFswMDA1XQotc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCdpbnB1dC52YWx1ZScsICcwMDA1LTA5Jyk7Ci1rZXlEb3duKCdcdCcsIFsnc2hpZnRL
ZXknXSk7IC8vIC0+IFtTZXBdIFswMDA1XQota2V5RG93bignSicpOyAvLyAtPiBbSmFuXSAwMDA1
Ci1zaG91bGRCZUVxdWFsVG9TdHJpbmcoJ2lucHV0LnZhbHVlJywgJzAwMDUtMDEnKTsKLWtleURv
d24oJ1x0Jyk7IC8vIC0+IEphbiBbMDAwNV0KLWtleURvd24oJ1x0Jyk7IC8vIC0+IEphbiAwMDA1
Ci1zaG91bGRCZUVxdWFsVG9TdHJpbmcoJ2RvY3VtZW50LmFjdGl2ZUVsZW1lbnQuaWQnLCAnYW5v
dGhlcicpOwotCi1iZWdpblRlc3QoJ1NoZml0K1RhYiBrZXknLCAnMjAxMi0wOScpOwotYW5vdGhl
ci5mb2N1cygpOwota2V5RG93bignXHQnLCBbJ3NoaWZ0S2V5J10pOwota2V5RG93bignMycpOwot
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdpbnB1dC52YWx1ZScsICcwMDAzLTA5Jyk7Ci1rZXlEb3du
KCdcdCcsIFsnc2hpZnRLZXknXSk7Ci1rZXlEb3duKCdcdCcsIFsnc2hpZnRLZXknXSk7Ci1zaG91
bGRCZUVxdWFsVG9TdHJpbmcoJ2RvY3VtZW50LmFjdGl2ZUVsZW1lbnQuaWQnLCAnYmVmb3JlJyk7
Ci0KLWJlZ2luVGVzdCgnVXAga2V5IG9uIG1heGltdW0gdmFsdWUnLCAnMjc1NzYwLTA5Jyk7Ci1r
ZXlEb3duKCd1cEFycm93Jyk7Ci1rZXlEb3duKCdcdCcpOwota2V5RG93bigndXBBcnJvdycpOwot
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdpbnB1dC52YWx1ZScsICcwMDAxLTEwJyk7Ci1iZWdpblRl
c3QoJ1VwIGtleSB3aXRoIGEgbWF4aW11bSBhdHRyaWJ1dGUnLCAnMTk5OS0xMicsIHVuZGVmaW5l
ZCwgJzE5OTktMTInKTsKLWtleURvd24oJ3VwQXJyb3cnKTsKLWtleURvd24oJ1x0Jyk7Ci1rZXlE
b3duKCd1cEFycm93Jyk7Ci1zaG91bGRCZUVxdWFsVG9TdHJpbmcoJ2lucHV0LnZhbHVlJywgJzAw
MDEtMDEnKTsKLQotYmVnaW5UZXN0KCdEb3duIGtleSBvbiBtaW5pbXVtIHZhbHVlJywgJzAwMDEt
MDEnLCAnYmFkIG1pbicsICd3cm9uZyBtYXgnKTsKLWtleURvd24oJ2Rvd25BcnJvdycpOyAvLyAt
PiAwMDAxLTEyCi1rZXlEb3duKCdcdCcpOwota2V5RG93bignZG93bkFycm93Jyk7IC8vIC0+IDI3
NTc2MC0xMiwgd2hpY2ggaXMgZ3JlYXRlciB0aGFuIHRoZSBoYXJkIGxpbWl0Lgotc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCdpbnB1dC52YWx1ZScsICcnKTsKLWJlZ2luVGVzdCgnRG93biBrZXkgd2l0
aCBhIG1pbmltdW0gYXR0cmlidXRlJywgJzAwMDEtMDEnLCAnMDAwMS0wMScpOwota2V5RG93bign
ZG93bkFycm93Jyk7IC8vIC0+IDAwMDEtMTIKLWtleURvd24oJ1x0Jyk7Ci1rZXlEb3duKCdkb3du
QXJyb3cnKTsgLy8gLT4gMjc1NzYwLTEyLCB3aGljaCBpcyBncmVhdGVyIHRoYW4gdGhlIGhhcmQg
bGltaXQuCi1zaG91bGRCZUVxdWFsVG9TdHJpbmcoJ2lucHV0LnZhbHVlJywgJycpOwotCi1iZWdp
blRlc3QoJ0luY29uc2lzdGVudCBtaW4tbWF4IGF0dHJpYnV0ZXMnLCAnMTk5OS0xMicsICcxOTk5
LTEyJywgJzEwMDAtMDEnKTsKLWtleURvd24oJ1x0Jyk7Ci1rZXlEb3duKCd1cEFycm93Jyk7Ci1z
aG91bGRCZUVxdWFsVG9TdHJpbmcoJ2lucHV0LnZhbHVlJywgJzEwMDAtMTInKTsKLWtleURvd24o
J2Rvd25BcnJvdycpOwotc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdpbnB1dC52YWx1ZScsICcxOTk5
LTEyJyk7Ci0KLWJlZ2luVGVzdCgnQmFja3NwYWNlIGtleScsICcyMDEyLTA5Jyk7Ci1rZXlEb3du
KCJcYiIpOwotc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdpbnB1dC52YWx1ZScsICcnKTsKLQotYmVn
aW5UZXN0KCdEZWxldGUga2V5JywgJzIwMTItMDknKTsKLWtleURvd24oImRlbGV0ZSIpOwotc2hv
dWxkQmVFcXVhbFRvU3RyaW5nKCdpbnB1dC52YWx1ZScsICcnKTsKLQotYmVnaW5UZXN0KCdUeXBl
YWhlYWQnLCAnMjAxMi0xMicpOwota2V5RG93bigncmlnaHRBcnJvdycpOwota2V5RG93bignMScp
Owotc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdpbnB1dC52YWx1ZScsICcwMDAxLTEyJyk7Ci1rZXlE
b3duKCdsZWZ0QXJyb3cnKTsKLWtleURvd24oJ3JpZ2h0QXJyb3cnKTsKLWtleURvd24oJzInKTsK
LXNob3VsZEJlRXF1YWxUb1N0cmluZygnaW5wdXQudmFsdWUnLCAnMDAwMi0xMicpOwotCi1iZWdp
blRlc3QoJ1R5cGVhaGVhZCBjeWNsZSBmaXJzdCBjaGFyYWN0ZXInLCAnMjAxMi0wOScpOwota2V5
RG93bignaicpOyAvLyAgICAgICAgICAtPiBbSmFuXSAyMDEyCi1zaG91bGRCZUVxdWFsVG9TdHJp
bmcoJ2lucHV0LnZhbHVlJywgJzIwMTItMDEnKTsKLWtleURvd24oJ2onKTsgLy8gICAgICAgICAg
LT4gW0p1bl0gMjAxMgotc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdpbnB1dC52YWx1ZScsICcyMDEy
LTA2Jyk7Ci1rZXlEb3duKCdqJyk7IC8vICAgICAgICAgIC0+IFtKdWxdIDIwMTIKLXNob3VsZEJl
RXF1YWxUb1N0cmluZygnaW5wdXQudmFsdWUnLCAnMjAxMi0wNycpOwota2V5RG93bignaicpOyAv
LyAgICAgICAgICAtPiBbSmFuXSAyMDEyCi1zaG91bGRCZUVxdWFsVG9TdHJpbmcoJ2lucHV0LnZh
bHVlJywgJzIwMTItMDEnKTsKLWtleURvd24oJ3gnKTsgLy8gICAgICAgICAgLT4gW0phbl0gMjAx
Mgotc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdpbnB1dC52YWx1ZScsICcyMDEyLTAxJyk7Ci0KLWJl
Z2luVGVzdCgnVHlwZWFoZWFkIHByZWZpeCBtYXRjaCcsICcyMDEyLTA5Jyk7Ci1rZXlEb3duKCdt
Jyk7IC8vICAgICAgICAgIC0+IFtNYXJdIDIwMTIKLXNob3VsZEJlRXF1YWxUb1N0cmluZygnaW5w
dXQudmFsdWUnLCAnMjAxMi0wMycpOwota2V5RG93bignYScpOyAvLyAgICAgICAgICAtPiBbTWFy
XSAyMDEyCi1zaG91bGRCZUVxdWFsVG9TdHJpbmcoJ2lucHV0LnZhbHVlJywgJzIwMTItMDMnKTsK
LWtleURvd24oJ3knKTsgLy8gICAgICAgICAgLT4gW01heV0gMjAxMgotc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCdpbnB1dC52YWx1ZScsICcyMDEyLTA1Jyk7Ci1rZXlEb3duKCd4Jyk7IC8vICAgICAg
ICAgIC0+IFtNYXldIDIwMTIKLXNob3VsZEJlRXF1YWxUb1N0cmluZygnaW5wdXQudmFsdWUnLCAn
MjAxMi0wNScpOwotCi1iZWdpblRlc3QoJ1R5cGVhaGVhZCBpbmRleCBtYXRjaCcsICcyMDEyLTA5
Jyk7Ci1rZXlEb3duKCcxJyk7IC8vICAgICAgICAgIC0+IFtKYW5dIDIwMTIKLXNob3VsZEJlRXF1
YWxUb1N0cmluZygnaW5wdXQudmFsdWUnLCAnMjAxMi0wMScpOwota2V5RG93bignMicpOyAvLyAg
ICAgICAgICAtPiBbRGVjXSAyMDEyCi1zaG91bGRCZUVxdWFsVG9TdHJpbmcoJ2lucHV0LnZhbHVl
JywgJzIwMTItMTInKTsKLWtleURvd24oJ3gnKTsgLy8gICAgICAgICAgLT4gW0RlY10gMjAxMgot
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdpbnB1dC52YWx1ZScsICcyMDEyLTEyJyk7Ci0KLWJlZ2lu
VGVzdCgnVHlwZWFoZWFkIHNob3VsZCBzZWFyY2ggZnJvbSBjdXJyZW50IHNlbGVjdGlvbicsICcy
MDEyLTAxJyk7Ci1rZXlEb3duKCdqJyk7IC8vICAgICAgICAgIC0+IFtKdW5dIDIwMTIKLXNob3Vs
ZEJlRXF1YWxUb1N0cmluZygnaW5wdXQudmFsdWUnLCAnMjAxMi0wNicpOwotCi1pbnB1dC5zZXRB
dHRyaWJ1dGUoImxhbmciLCAiaGUtaWwiKTsKLWJlZ2luVGVzdCgnUlRMIGZvY3VzIG5hdmlnYXRp
b24nLCAnMjAxMi0wOScpOwotZGVidWcoJ1RoZSB0ZXN0cyBpbiB0aGlzIGJsb2NrIGZhaWwgb24g
cGxhdGZvcm1zIHdpdGhvdXQgdGhlIGxhbmctYXR0cmlidXRlLWF3YXJlLWZvcm0tY29udHJvbC1V
SSBmZWF0dXJlLicpOwota2V5RG93bigndXBBcnJvdycpOyAvLyAtPiAyMDEyIFtNMTBdCi1zaG91
bGRCZUVxdWFsVG9TdHJpbmcoJ2lucHV0LnZhbHVlJywgJzIwMTItMTAnKTsKLWtleURvd24oJ1x0
Jyk7IC8vICAgICAgLT4gWzIwMTJdIE0xMAota2V5RG93bignMicpOyAvLyAgICAgICAtPiBbMDAw
Ml0gTTEwCi1zaG91bGRCZUVxdWFsVG9TdHJpbmcoJ2lucHV0LnZhbHVlJywgJzAwMDItMTAnKTsK
LWtleURvd24oJ1x0JywgWydzaGlmdEtleSddKTsgLy8gLT4gMDAwMiBbTTEwXQota2V5RG93bign
dXBBcnJvdycpOyAvLyAgICAgICAgICAtPiAwMDAyIFtNMTFdCi1zaG91bGRCZUVxdWFsVG9TdHJp
bmcoJ2lucHV0LnZhbHVlJywgJzAwMDItMTEnKTsKLWlucHV0LnJlbW92ZUF0dHJpYnV0ZSgibGFu
ZyIpOwotPC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vanMvcmVzb3VyY2VzL2pzLXRlc3Qt
cG9zdC5qcyI+PC9zY3JpcHQ+Ci08L2JvZHk+Ci08L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9mYXN0L2Zvcm1zL21vbnRoLW11bHRpcGxlLWZpZWxkcy9tb250aC1tdWx0aXBsZS1maWVs
ZHMtbW91c2UtZXZlbnRzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvbW9u
dGgtbXVsdGlwbGUtZmllbGRzL21vbnRoLW11bHRpcGxlLWZpZWxkcy1tb3VzZS1ldmVudHMtZXhw
ZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBhYTFkYjExNTg1Y2RhYWYx
ZTIxNjkxMGE4NjJlZGIyODUwMTI4NWFlLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvbW9udGgtbXVsdGlwbGUtZmll
bGRzL21vbnRoLW11bHRpcGxlLWZpZWxkcy1tb3VzZS1ldmVudHMtZXhwZWN0ZWQudHh0CisrKyAv
ZGV2L251bGwKQEAgLTEsMzggKzAsMCBAQAotTXVsdGlwbGUgZmllbGRzIFVJIG9mIG1vbnRoIGlu
cHV0IHR5cGUgd2l0aCBtb3VzZSBldmVudHMKLQotT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEg
c2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgot
Ci0KLVBsZWFzZSBydW4gdGhpcyB3aXRoIERSVCBvciBXVFIuCi0KLVRlc3QgZm9sbG93aW5nIG1v
dXNlIGFjdGlvbnM6Ci1Nb3VzZSBjbGljayB0byBmb2N1cyBlYWNoIG9mIHN1Yi1maWVsZHMKLU1v
dXNlIGNsaWNrIG9uIHRoZSBzcGluIGJ1dHRvbiB0byB1cGRhdGUgZWFjaCBvZiBzdWItZmllbGRz
Ci0KLT09PiBGb2N1cyBvbiB0aGUgbW9udGggZmllbGQuCi1QQVNTIGlucHV0LnZhbHVlIGlzICIy
MzQ1LTA4IgotUEFTUyBpbnB1dC52YWx1ZSBpcyAiMjM0NS0wOSIKLVBBU1MgaW5wdXQudmFsdWUg
aXMgIjIzNDUtMDgiCi1QQVNTIHdpbmRvdy5nZXRTZWxlY3Rpb24oKS5yYW5nZUNvdW50IGlzIDAK
LQotPT0+IEZvY3VzIG9uIHRoZSB5ZWFyIGZpZWxkLgotUEFTUyBpbnB1dC52YWx1ZSBpcyAiMjM0
Ni0wOCIKLVBBU1MgaW5wdXQudmFsdWUgaXMgIjIzNDctMDgiCi1QQVNTIGlucHV0LnZhbHVlIGlz
ICIyMzQ2LTA4IgotUEFTUyB3aW5kb3cuZ2V0U2VsZWN0aW9uKCkucmFuZ2VDb3VudCBpcyAwCi0K
LT09PiBDbGljayBvbiBhIGRpc2FibGVkIGZpZWxkLgotUEFTUyBpbnB1dC52YWx1ZSBpcyAiMjM0
Ni0wOCIKLQotPT0+IENsaWNrIG9uIGEgcmVhZC1vbmx5IGZpZWxkLgotUEFTUyBpbnB1dC52YWx1
ZSBpcyAiMjM0Ni0wOCIKLQotPT0+IENsaWNrIG9uIGNsZWFyIGJ1dHRvbi4KLVBBU1MgaW5wdXQu
dmFsdWUgaXMgIjIzNDYtMDgiCi1QQVNTIGlucHV0LnZhbHVlIGlzICIyMzQ2LTA4IgotUEFTUyBp
bnB1dC52YWx1ZSBpcyAiIgotCi1QQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCi0KLVRF
U1QgQ09NUExFVEUKLQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9tb250aC1t
dWx0aXBsZS1maWVsZHMvbW9udGgtbXVsdGlwbGUtZmllbGRzLW1vdXNlLWV2ZW50cy5odG1sIGIv
TGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9tb250aC1tdWx0aXBsZS1maWVsZHMvbW9udGgtbXVsdGlw
bGUtZmllbGRzLW1vdXNlLWV2ZW50cy5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCA1MGUzMDY5YzhlNGViMDUzODE0NzQzOTk0ZDE3YmFmM2M5NzBhYmRjLi4wMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMv
bW9udGgtbXVsdGlwbGUtZmllbGRzL21vbnRoLW11bHRpcGxlLWZpZWxkcy1tb3VzZS1ldmVudHMu
aHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDk3ICswLDAgQEAKLTwhRE9DVFlQRSBodG1sPgotPGh0
bWw+Ci08aGVhZD4KLTxzY3JpcHQgc3JjPSIuLi8uLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUu
anMiPjwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHk+Ci08cCBpZD0iZGVzY3JpcHRpb24iPjwvcD4K
LTxwPgotUGxlYXNlIHJ1biB0aGlzIHdpdGggRFJUIG9yIFdUUi4KLTwvcD4KLVRlc3QgZm9sbG93
aW5nIG1vdXNlIGFjdGlvbnM6Ci08dWw+Ci0gICAgPGxpPk1vdXNlIGNsaWNrIHRvIGZvY3VzIGVh
Y2ggb2Ygc3ViLWZpZWxkczwvbGk+Ci0gICAgPGxpPk1vdXNlIGNsaWNrIG9uIHRoZSBzcGluIGJ1
dHRvbiB0byB1cGRhdGUgZWFjaCBvZiBzdWItZmllbGRzPC9saT4KLTwvdWw+Ci08aW5wdXQgaWQ9
ImlucHV0IiB0eXBlPSJtb250aCIgc3R5bGU9ImZvbnQtZmFtaWx5OmFoZW07IGZvbnQtc2l6ZTox
NnB4OyI+Ci08ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KLTxzY3JpcHQ+Ci1kZXNjcmlwdGlvbign
TXVsdGlwbGUgZmllbGRzIFVJIG9mIG1vbnRoIGlucHV0IHR5cGUgd2l0aCBtb3VzZSBldmVudHMn
KTsKLXZhciBpbnB1dCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdpbnB1dCcpOwotCi1mdW5j
dGlvbiBrZXlEb3duKGtleSwgbW9kaWZpZXJzKQotewotICAgIGlmICghd2luZG93LmV2ZW50U2Vu
ZGVyKQotICAgICAgICByZXR1cm47Ci0gICAgZXZlbnRTZW5kZXIua2V5RG93bihrZXksIG1vZGlm
aWVycyk7Ci19Ci0KLWZ1bmN0aW9uIG1vdXNlQ2xpY2tPbih4LCB5KQotewotICAgIGlmICghd2lu
ZG93LmV2ZW50U2VuZGVyKQotICAgICAgICByZXR1cm47Ci0gICAgZXZlbnRTZW5kZXIubW91c2VN
b3ZlVG8oeCArIGlucHV0Lm9mZnNldExlZnQsIHkgKyBpbnB1dC5vZmZzZXRUb3ApOwotICAgIGV2
ZW50U2VuZGVyLm1vdXNlRG93bigpOwotICAgIGV2ZW50U2VuZGVyLm1vdXNlVXAoKTsKLX0KLQot
aW5wdXQudmFsdWUgPSAnMjM0NS0wNyc7Ci12YXIgY2VudGVyID0gaW5wdXQub2Zmc2V0SGVpZ2h0
IC8gMjsKLXZhciBzcGluQnV0dG9uT2Zmc2V0ID0gMjY7Ci12YXIgY2xlYXJCdXR0b25PZmZzZXQg
PSA0MTsKLQotZGVidWcoJz09PiBGb2N1cyBvbiB0aGUgbW9udGggZmllbGQuJyk7Ci1tb3VzZUNs
aWNrT24oMTYsIGNlbnRlcik7Ci1rZXlEb3duKCd1cEFycm93Jyk7Ci1zaG91bGRCZUVxdWFsVG9T
dHJpbmcoJ2lucHV0LnZhbHVlJywgJzIzNDUtMDgnKTsKLW1vdXNlQ2xpY2tPbihpbnB1dC5vZmZz
ZXRXaWR0aCAtIHNwaW5CdXR0b25PZmZzZXQsIGNlbnRlciAtIDEpOwotc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCdpbnB1dC52YWx1ZScsICcyMzQ1LTA5Jyk7Ci1tb3VzZUNsaWNrT24oaW5wdXQub2Zm
c2V0V2lkdGggLSBzcGluQnV0dG9uT2Zmc2V0LCBjZW50ZXIgKyAxKTsKLXNob3VsZEJlRXF1YWxU
b1N0cmluZygnaW5wdXQudmFsdWUnLCAnMjM0NS0wOCcpOwotc2hvdWxkQmVaZXJvKCd3aW5kb3cu
Z2V0U2VsZWN0aW9uKCkucmFuZ2VDb3VudCcpOyAvLyBObyB0ZXh0IHNlbGVjdGlvbi4KLQotZGVi
dWcoJycpOwotZGVidWcoJz09PiBGb2N1cyBvbiB0aGUgeWVhciBmaWVsZC4nKTsKLW1vdXNlQ2xp
Y2tPbigxNzAsIGNlbnRlcik7Ci1rZXlEb3duKCd1cEFycm93Jyk7Ci1zaG91bGRCZUVxdWFsVG9T
dHJpbmcoJ2lucHV0LnZhbHVlJywgJzIzNDYtMDgnKTsKLW1vdXNlQ2xpY2tPbihpbnB1dC5vZmZz
ZXRXaWR0aCAtIHNwaW5CdXR0b25PZmZzZXQsIGNlbnRlciAtIDEpOwotc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCdpbnB1dC52YWx1ZScsICcyMzQ3LTA4Jyk7Ci1tb3VzZUNsaWNrT24oaW5wdXQub2Zm
c2V0V2lkdGggLSBzcGluQnV0dG9uT2Zmc2V0LCBjZW50ZXIgKyAxKTsKLXNob3VsZEJlRXF1YWxU
b1N0cmluZygnaW5wdXQudmFsdWUnLCAnMjM0Ni0wOCcpOwotc2hvdWxkQmVaZXJvKCd3aW5kb3cu
Z2V0U2VsZWN0aW9uKCkucmFuZ2VDb3VudCcpOyAvLyBObyB0ZXh0IHNlbGVjdGlvbi4KLQotZGVi
dWcoJycpOwotZGVidWcoJz09PiBDbGljayBvbiBhIGRpc2FibGVkIGZpZWxkLicpOwotaW5wdXQu
ZGlzYWJsZWQgPSB0cnVlOwotbW91c2VDbGlja09uKDEwMCwgY2VudGVyKTsKLWtleURvd24oJ3Vw
QXJyb3cnKTsKLXNob3VsZEJlRXF1YWxUb1N0cmluZygnaW5wdXQudmFsdWUnLCAnMjM0Ni0wOCcp
OwotaW5wdXQuZGlzYWJsZWQgPSBmYWxzZTsKLQotZGVidWcoJycpOwotZGVidWcoJz09PiBDbGlj
ayBvbiBhIHJlYWQtb25seSBmaWVsZC4nKTsKLWlucHV0LnJlYWRPbmx5ID0gdHJ1ZTsKLW1vdXNl
Q2xpY2tPbigxMiwgY2VudGVyKTsKLWtleURvd24oJ3VwQXJyb3cnKTsKLXNob3VsZEJlRXF1YWxU
b1N0cmluZygnaW5wdXQudmFsdWUnLCAnMjM0Ni0wOCcpOwotaW5wdXQucmVhZE9ubHkgPSBmYWxz
ZTsKLQotZGVidWcoJycpOwotZGVidWcoJz09PiBDbGljayBvbiBjbGVhciBidXR0b24uJyk7Ci1p
bnB1dC5yZWFkT25seSA9IHRydWU7Ci1tb3VzZUNsaWNrT24oaW5wdXQub2Zmc2V0V2lkdGggLSBj
bGVhckJ1dHRvbk9mZnNldCwgY2VudGVyKTsKLXNob3VsZEJlRXF1YWxUb1N0cmluZygnaW5wdXQu
dmFsdWUnLCAnMjM0Ni0wOCcpOyAvLyBOb3QgY2hhbmdlZC4KLWlucHV0LmRpc2FibGVkID0gdHJ1
ZTsKLWlucHV0LnJlYWRPbmx5ID0gZmFsc2U7Ci1tb3VzZUNsaWNrT24oaW5wdXQub2Zmc2V0V2lk
dGggLSBjbGVhckJ1dHRvbk9mZnNldCwgY2VudGVyKTsKLXNob3VsZEJlRXF1YWxUb1N0cmluZygn
aW5wdXQudmFsdWUnLCAnMjM0Ni0wOCcpOyAvLyBOb3QgY2hhbmdlZC4KLWlucHV0LmRpc2FibGVk
ID0gZmFsc2U7Ci1tb3VzZUNsaWNrT24oaW5wdXQub2Zmc2V0V2lkdGggLSBjbGVhckJ1dHRvbk9m
ZnNldCwgY2VudGVyKTsKLXNob3VsZEJlRXF1YWxUb1N0cmluZygnaW5wdXQudmFsdWUnLCAnJyk7
Ci0KLWRlYnVnKCcnKTsKLTwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii4uLy4uL2pzL3Jlc291cmNl
cy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgotPC9ib2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9tb250aC1tdWx0aXBsZS1maWVsZHMvbW9udGgtbXVs
dGlwbGUtZmllbGRzLXByZXNlcnZlLXZhbHVlLWFmdGVyLWhpc3RvcnktYmFjay1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL21vbnRoLW11bHRpcGxlLWZpZWxkcy9tb250aC1t
dWx0aXBsZS1maWVsZHMtcHJlc2VydmUtdmFsdWUtYWZ0ZXItaGlzdG9yeS1iYWNrLWV4cGVjdGVk
LnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZGY4MTg0ZTgzMTcwNDVmOGI4YzUy
ZTUwN2I5MGY2NDEzZjJmMzEzYi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL21vbnRoLW11bHRpcGxlLWZpZWxkcy9t
b250aC1tdWx0aXBsZS1maWVsZHMtcHJlc2VydmUtdmFsdWUtYWZ0ZXItaGlzdG9yeS1iYWNrLWV4
cGVjdGVkLnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDE4ICswLDAgQEAKLUNoZWNrcyBpbnB1dCB2
YWx1ZSBpcyBwcmVzZXJ2ZWQgYWZ0ZXIgYmFja3dhcmQgYW5kIGZvcndhcmQKLQotT24gc3VjY2Vz
cywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkg
IlRFU1QgQ09NUExFVEUiLgotCi0KLVdlbnQgYmFjayB0byBhIHBhZ2UuIENoZWNraW5nIGEgZm9y
bSBjb250cm9sIHdoaWNoIGhhZCBhIGZ1bGwgdmFsdWU6Ci1QQVNTICIxMjAxMi0xMCIgaXMgIjEy
MDEyLTEwIgotV2VudCBiYWNrIHRvIGEgcGFnZS4gQ2hlY2tpbmcgYSBmb3JtIGNvbnRyb2wgd2hp
Y2ggaGFkIGEgcGFydGlhbCB2YWx1ZToKLVBBU1MgIkphbnVhcnkgLS0tLSIgaXMgIkphbnVhcnkg
LS0tLSIKLVdlbnQgZm9yd2FyZCB0byBhIHBhZ2UuIENoZWNraW5nIGEgZm9ybSBjb250cm9sIHdo
aWNoIGhhZCBhIGZ1bGwgdmFsdWU6Ci1QQVNTICIwMDAxLTExIiBpcyAiMDAwMS0xMSIKLVdlbnQg
Zm9yd2FyZCB0byBhIHBhZ2UuIENoZWNraW5nIGEgZm9ybSBjb250cm9sIHdoaWNoIGhhZCBhIHBh
cnRpYWwgdmFsdWU6Ci1QQVNTICItLS0tLS0tLS0gMTk5OSIgaXMgIi0tLS0tLS0tLSAxOTk5Igot
Ci1QQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCi0KLVRFU1QgQ09NUExFVEUKLQpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9tb250aC1tdWx0aXBsZS1maWVsZHMvbW9u
dGgtbXVsdGlwbGUtZmllbGRzLXByZXNlcnZlLXZhbHVlLWFmdGVyLWhpc3RvcnktYmFjay5odG1s
IGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9tb250aC1tdWx0aXBsZS1maWVsZHMvbW9udGgtbXVs
dGlwbGUtZmllbGRzLXByZXNlcnZlLXZhbHVlLWFmdGVyLWhpc3RvcnktYmFjay5odG1sCmRlbGV0
ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA1ZmRhNmQ5NzdkOWUwYjZmNDU0MGM3YzJhODQ3Yjg2
YWVjYjM5MTJkLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBh
L0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvbW9udGgtbXVsdGlwbGUtZmllbGRzL21vbnRoLW11bHRp
cGxlLWZpZWxkcy1wcmVzZXJ2ZS12YWx1ZS1hZnRlci1oaXN0b3J5LWJhY2suaHRtbAorKysgL2Rl
di9udWxsCkBAIC0xLDQyICswLDAgQEAKLTwhRE9DVFlQRSBodG1sPgotPGh0bWw+Ci08aGVhZD4K
LTxzY3JpcHQgc3JjPSIuLi8uLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+
PC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keT4KLTxpZnJhbWUgaWQ9ImlmcmFtZSI+PC9pZnJhbWU+
Ci08c2NyaXB0PgotZGVzY3JpcHRpb24oJ0NoZWNrcyBpbnB1dCB2YWx1ZSBpcyBwcmVzZXJ2ZWQg
YWZ0ZXIgYmFja3dhcmQgYW5kIGZvcndhcmQnKTsKLWlmICghd2luZG93LmV2ZW50U2VuZGVyIHx8
ICF3aW5kb3cuaW50ZXJuYWxzKQotICAgIGRlYnVnKCdQbGVhc2UgcnVuIHdpdGhpbiBEUlQvV1RS
Jyk7Ci13aW5kb3cuanNUZXN0SXNBc3luYyA9IHRydWU7Ci0KLXZhciBzdGF0ZSA9ICdkaXJlY3Qn
OwotdmFyIHRlc3RDYXNlcyA9IFtdOwotCi1mdW5jdGlvbiBmYWlsZWQobWVzc2FnZSkgewotICAg
IHRlc3RGYWlsZWQobWVzc2FnZSArICcgaW4gJyArIHN0YXRlKTsKLSAgICBmaW5pc2hKU1Rlc3Qo
KTsKLX0KLQotZnVuY3Rpb24gZmluaXNoVGVzdCgpIHsKLSAgICBydW5UZXN0Q2FzZXMoKTsKLSAg
ICBmaW5pc2hKU1Rlc3QoKTsKLX0KLQotZnVuY3Rpb24gcnVuVGVzdENhc2VzKCkgewotICAgIGZv
ciAodmFyIGluZGV4ID0gMDsgaW5kZXggPCB0ZXN0Q2FzZXMubGVuZ3RoOyArK2luZGV4KSB7Ci0g
ICAgICAgIHZhciB0ZXN0Q2FzZSA9IHRlc3RDYXNlc1tpbmRleF07Ci0gICAgICAgIGRlYnVnKHRl
c3RDYXNlWydkZXNjcmlwdGlvbiddICsgJzonKTsKLSAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3Ry
aW5nKCciJyArIHRlc3RDYXNlWydhY3R1YWwnXSArICciJywgdGVzdENhc2VbJ2V4cGVjdGVkJ10p
OwotICAgIH0KLSAgICBkZWJ1ZygnJyk7Ci19Ci0KLXdpbmRvdy5vbmxvYWQgPSBmdW5jdGlvbigp
IHsKLSAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnaWZyYW1lJykuc3JjID0gJ3Jlc291cmNl
cy9wcmVzZXJ2ZS12YWx1ZS1hZnRlci1oaXN0b3J5LWJhY2stZnJhbWUuaHRtbD9wYWdlMSc7Ci19
OwotPC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMt
dGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KLTwvYm9keT4KLTwvaHRtbD4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2Zhc3QvZm9ybXMvbW9udGgtbXVsdGlwbGUtZmllbGRzL21vbnRoLW11bHRpcGxl
LWZpZWxkcy1yZWFkb25seS1zdWJmaWVsZC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0
L2Zvcm1zL21vbnRoLW11bHRpcGxlLWZpZWxkcy9tb250aC1tdWx0aXBsZS1maWVsZHMtcmVhZG9u
bHktc3ViZmllbGQtZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA4
MTI1ODAyNzQ3NDkwOWU1NzUwMGE0MDQ5NjMxOTQ2Y2MzY2RjYmIzLi4wMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvbW9u
dGgtbXVsdGlwbGUtZmllbGRzL21vbnRoLW11bHRpcGxlLWZpZWxkcy1yZWFkb25seS1zdWJmaWVs
ZC1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSwzMSArMCwwIEBACi1TdWItZmllbGRz
IGluIGlucHV0W3R5cGU9bW9udGhdIHNob3VsZCBiZSByZWFkLW9ubHkgaW4gc29tZSBjYXNlcy4g
VGhpcyByZXF1aXJlcyB3aW5kb3cuaW50ZXJuYWxzLgotCi1PbiBzdWNjZXNzLCB5b3Ugd2lsbCBz
ZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVU
RSIuCi0KLQotY3JlYXRlTW9udGhJbnB1dCBhcmd1bWVudCBvcmRlcjogbWluLCBtYXgsIHZhbHVl
Ci0KLVllYXIgZmllbGQ6Ci1QQVNTIGlzUmVhZE9ubHlGaWVsZChjcmVhdGVNb250aElucHV0KCIi
LCAiIiwgIiIpLCBwc2V1ZG9ZZWFyKSBpcyBmYWxzZQotUEFTUyBpc1JlYWRPbmx5RmllbGQoY3Jl
YXRlTW9udGhJbnB1dCgiMjAxMi0xMiIsICIiLCAiIiksIHBzZXVkb1llYXIpIGlzIGZhbHNlCi1Q
QVNTIGlzUmVhZE9ubHlGaWVsZChjcmVhdGVNb250aElucHV0KCIiLCAiMjAxMi0xMiIsICIiKSwg
cHNldWRvWWVhcikgaXMgZmFsc2UKLVBBU1MgaXNSZWFkT25seUZpZWxkKGNyZWF0ZU1vbnRoSW5w
dXQoIiIsICIiLCAiMjAxMi0xMiIpLCBwc2V1ZG9ZZWFyKSBpcyBmYWxzZQotUEFTUyBpc1JlYWRP
bmx5RmllbGQoY3JlYXRlTW9udGhJbnB1dCgiMjAxMi0wMSIsICIyMDEyLTEyIiwgIiIpLCBwc2V1
ZG9ZZWFyKSBpcyB0cnVlCi1QQVNTIGlzUmVhZE9ubHlGaWVsZChjcmVhdGVNb250aElucHV0KCIy
MDEyLTAxIiwgIjIwMTMtMTIiLCAiIiksIHBzZXVkb1llYXIpIGlzIGZhbHNlCi1QQVNTIGlzUmVh
ZE9ubHlGaWVsZChjcmVhdGVNb250aElucHV0KCIyMDEyLTAxIiwgIjIwMTItMTIiLCAiMjAxMi0w
NSIpLCBwc2V1ZG9ZZWFyKSBpcyB0cnVlCi1QQVNTIGlzUmVhZE9ubHlGaWVsZChjcmVhdGVNb250
aElucHV0KCIyMDEyLTAxIiwgIjIwMTItMTIiLCAiMjAxMy0wMSIpLCBwc2V1ZG9ZZWFyKSBpcyBm
YWxzZQotTW9udGggZmllbGQ6Ci1XZSBzaG91bGQgbm90IG1ha2UgYWxsIHRoZSBmaWVsZHMgcmVh
ZG9ubHkgYnkgbWluL21heCwgc28gZGF5IGZpZWxkIGlzIGFsd2F5cyBlZGl0YWJsZS4KLVBBU1Mg
aXNSZWFkT25seUZpZWxkKGNyZWF0ZU1vbnRoSW5wdXQoIiIsICIiLCAiIiksIHBzZXVkb01vbnRo
KSBpcyBmYWxzZQotUEFTUyBpc1JlYWRPbmx5RmllbGQoY3JlYXRlTW9udGhJbnB1dCgiMjAxMi0x
MiIsICIiLCAiIiksIHBzZXVkb01vbnRoKSBpcyBmYWxzZQotUEFTUyBpc1JlYWRPbmx5RmllbGQo
Y3JlYXRlTW9udGhJbnB1dCgiIiwgIjIwMTItMTIiLCAiIiksIHBzZXVkb01vbnRoKSBpcyBmYWxz
ZQotUEFTUyBpc1JlYWRPbmx5RmllbGQoY3JlYXRlTW9udGhJbnB1dCgiIiwgIiIsICIyMDEyLTEy
IiksIHBzZXVkb01vbnRoKSBpcyBmYWxzZQotUEFTUyBpc1JlYWRPbmx5RmllbGQoY3JlYXRlTW9u
dGhJbnB1dCgiMjAxMi0xMiIsICIyMDEyLTEyIiwgIiIpLCBwc2V1ZG9Nb250aCkgaXMgZmFsc2UK
LVBBU1MgaXNSZWFkT25seUZpZWxkKGNyZWF0ZU1vbnRoSW5wdXQoIjIwMTItMTEiLCAiMjAxMy0x
MiIsICIiKSwgcHNldWRvTW9udGgpIGlzIGZhbHNlCi1QQVNTIGlzUmVhZE9ubHlGaWVsZChjcmVh
dGVNb250aElucHV0KCIyMDEyLTEyIiwgIjIwMTMtMTIiLCAiIiksIHBzZXVkb01vbnRoKSBpcyBm
YWxzZQotUEFTUyBpc1JlYWRPbmx5RmllbGQoY3JlYXRlTW9udGhJbnB1dCgiMjAxMi0xMiIsICIy
MDEyLTEyIiwgIjIwMTItMTIiKSwgcHNldWRvTW9udGgpIGlzIGZhbHNlCi1QQVNTIGlzUmVhZE9u
bHlGaWVsZChjcmVhdGVNb250aElucHV0KCIyMDEyLTEyIiwgIjIwMTItMTIiLCAiMjAxMi0xMSIp
LCBwc2V1ZG9Nb250aCkgaXMgZmFsc2UKLVBBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUK
LQotVEVTVCBDT01QTEVURQotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL21v
bnRoLW11bHRpcGxlLWZpZWxkcy9tb250aC1tdWx0aXBsZS1maWVsZHMtcmVhZG9ubHktc3ViZmll
bGQuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvbW9udGgtbXVsdGlwbGUtZmllbGRzL21v
bnRoLW11bHRpcGxlLWZpZWxkcy1yZWFkb25seS1zdWJmaWVsZC5odG1sCmRlbGV0ZWQgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCBjOTRhOGM5MGIzNzRlMDA5NTIzZDlmMTY2ODJmOWYxNWExNzdmYmQy
Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRl
c3RzL2Zhc3QvZm9ybXMvbW9udGgtbXVsdGlwbGUtZmllbGRzL21vbnRoLW11bHRpcGxlLWZpZWxk
cy1yZWFkb25seS1zdWJmaWVsZC5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsNTcgKzAsMCBAQAot
PCFET0NUWVBFIGh0bWw+Ci08Ym9keT4KLTxzY3JpcHQgc3JjPSIuLi8uLi9qcy9yZXNvdXJjZXMv
anMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgotPHNjcmlwdD4KLWZ1bmN0aW9uIGNyZWF0ZU1vbnRo
SW5wdXQobWluLCBtYXgsIHZhbHVlKSB7Ci0gICAgdmFyIGlucHV0ID0gZG9jdW1lbnQuY3JlYXRl
RWxlbWVudCgnaW5wdXQnKTsKLSAgICBpbnB1dC50eXBlID0gJ21vbnRoJzsKLSAgICBpZiAobWlu
KQotICAgICAgICBpbnB1dC5taW4gPSBtaW47Ci0gICAgaWYgKG1heCkKLSAgICAgICAgaW5wdXQu
bWF4ID0gbWF4OwotICAgIGlmICh2YWx1ZSkKLSAgICAgICAgaW5wdXQudmFsdWUgPSB2YWx1ZTsK
LSAgICByZXR1cm4gaW5wdXQ7Ci19Ci0KLS8vIEZJWE1FOiBSZW5hbWUgdGhpcyBmdW5jdGlvbiBh
bmQgdGhlIHRlc3QgZmlsZS4KLWZ1bmN0aW9uIGlzUmVhZE9ubHlGaWVsZChpbnB1dCwgcHNldWRv
KSB7Ci0gICAgdmFyIG5vZGUgPSBpbnRlcm5hbHMueW91bmdlc3RTaGFkb3dSb290KGlucHV0KS5x
dWVyeVNlbGVjdG9yKCcqW3BzZXVkbz0iJyArIHBzZXVkbyArICciXScpOwotICAgIGlmICghbm9k
ZSkKLSAgICAgICAgdGVzdEZhaWxlZCgnUmVxdWVzdGVkIG5vZGUgaXMgbWlzc2luZy4nKTsKLSAg
ICByZXR1cm4gbm9kZSAmJiBub2RlLmhhc0F0dHJpYnV0ZSgnZGlzYWJsZWQnKTsKLX0KLQotdmFy
IHBzZXVkb01vbnRoID0gJy13ZWJraXQtZGF0ZXRpbWUtZWRpdC1tb250aC1maWVsZCc7Ci12YXIg
cHNldWRvWWVhciA9ICctd2Via2l0LWRhdGV0aW1lLWVkaXQteWVhci1maWVsZCc7Ci0KLWRlc2Ny
aXB0aW9uKCdTdWItZmllbGRzIGluIGlucHV0W3R5cGU9bW9udGhdIHNob3VsZCBiZSByZWFkLW9u
bHkgaW4gc29tZSBjYXNlcy4gVGhpcyByZXF1aXJlcyB3aW5kb3cuaW50ZXJuYWxzLicpOwotZGVi
dWcoJ2NyZWF0ZU1vbnRoSW5wdXQgYXJndW1lbnQgb3JkZXI6IG1pbiwgbWF4LCB2YWx1ZScpOwot
ZGVidWcoJycpOwotCi1kZWJ1ZygnWWVhciBmaWVsZDonKTsKLXNob3VsZEJlRmFsc2UoJ2lzUmVh
ZE9ubHlGaWVsZChjcmVhdGVNb250aElucHV0KCIiLCAiIiwgIiIpLCBwc2V1ZG9ZZWFyKScpOwot
c2hvdWxkQmVGYWxzZSgnaXNSZWFkT25seUZpZWxkKGNyZWF0ZU1vbnRoSW5wdXQoIjIwMTItMTIi
LCAiIiwgIiIpLCBwc2V1ZG9ZZWFyKScpOwotc2hvdWxkQmVGYWxzZSgnaXNSZWFkT25seUZpZWxk
KGNyZWF0ZU1vbnRoSW5wdXQoIiIsICIyMDEyLTEyIiwgIiIpLCBwc2V1ZG9ZZWFyKScpOwotc2hv
dWxkQmVGYWxzZSgnaXNSZWFkT25seUZpZWxkKGNyZWF0ZU1vbnRoSW5wdXQoIiIsICIiLCAiMjAx
Mi0xMiIpLCBwc2V1ZG9ZZWFyKScpOwotc2hvdWxkQmVUcnVlKCdpc1JlYWRPbmx5RmllbGQoY3Jl
YXRlTW9udGhJbnB1dCgiMjAxMi0wMSIsICIyMDEyLTEyIiwgIiIpLCBwc2V1ZG9ZZWFyKScpOwot
c2hvdWxkQmVGYWxzZSgnaXNSZWFkT25seUZpZWxkKGNyZWF0ZU1vbnRoSW5wdXQoIjIwMTItMDEi
LCAiMjAxMy0xMiIsICIiKSwgcHNldWRvWWVhciknKTsKLXNob3VsZEJlVHJ1ZSgnaXNSZWFkT25s
eUZpZWxkKGNyZWF0ZU1vbnRoSW5wdXQoIjIwMTItMDEiLCAiMjAxMi0xMiIsICIyMDEyLTA1Iiks
IHBzZXVkb1llYXIpJyk7Ci1zaG91bGRCZUZhbHNlKCdpc1JlYWRPbmx5RmllbGQoY3JlYXRlTW9u
dGhJbnB1dCgiMjAxMi0wMSIsICIyMDEyLTEyIiwgIjIwMTMtMDEiKSwgcHNldWRvWWVhciknKTsK
LQotZGVidWcoJ01vbnRoIGZpZWxkOicpOwotZGVidWcoJ1dlIHNob3VsZCBub3QgbWFrZSBhbGwg
dGhlIGZpZWxkcyByZWFkb25seSBieSBtaW4vbWF4LCBzbyBkYXkgZmllbGQgaXMgYWx3YXlzIGVk
aXRhYmxlLicpOwotc2hvdWxkQmVGYWxzZSgnaXNSZWFkT25seUZpZWxkKGNyZWF0ZU1vbnRoSW5w
dXQoIiIsICIiLCAiIiksIHBzZXVkb01vbnRoKScpOwotc2hvdWxkQmVGYWxzZSgnaXNSZWFkT25s
eUZpZWxkKGNyZWF0ZU1vbnRoSW5wdXQoIjIwMTItMTIiLCAiIiwgIiIpLCBwc2V1ZG9Nb250aCkn
KTsKLXNob3VsZEJlRmFsc2UoJ2lzUmVhZE9ubHlGaWVsZChjcmVhdGVNb250aElucHV0KCIiLCAi
MjAxMi0xMiIsICIiKSwgcHNldWRvTW9udGgpJyk7Ci1zaG91bGRCZUZhbHNlKCdpc1JlYWRPbmx5
RmllbGQoY3JlYXRlTW9udGhJbnB1dCgiIiwgIiIsICIyMDEyLTEyIiksIHBzZXVkb01vbnRoKScp
Owotc2hvdWxkQmVGYWxzZSgnaXNSZWFkT25seUZpZWxkKGNyZWF0ZU1vbnRoSW5wdXQoIjIwMTIt
MTIiLCAiMjAxMi0xMiIsICIiKSwgcHNldWRvTW9udGgpJyk7Ci1zaG91bGRCZUZhbHNlKCdpc1Jl
YWRPbmx5RmllbGQoY3JlYXRlTW9udGhJbnB1dCgiMjAxMi0xMSIsICIyMDEzLTEyIiwgIiIpLCBw
c2V1ZG9Nb250aCknKTsKLXNob3VsZEJlRmFsc2UoJ2lzUmVhZE9ubHlGaWVsZChjcmVhdGVNb250
aElucHV0KCIyMDEyLTEyIiwgIjIwMTMtMTIiLCAiIiksIHBzZXVkb01vbnRoKScpOwotc2hvdWxk
QmVGYWxzZSgnaXNSZWFkT25seUZpZWxkKGNyZWF0ZU1vbnRoSW5wdXQoIjIwMTItMTIiLCAiMjAx
Mi0xMiIsICIyMDEyLTEyIiksIHBzZXVkb01vbnRoKScpOwotc2hvdWxkQmVGYWxzZSgnaXNSZWFk
T25seUZpZWxkKGNyZWF0ZU1vbnRoSW5wdXQoIjIwMTItMTIiLCAiMjAxMi0xMiIsICIyMDEyLTEx
IiksIHBzZXVkb01vbnRoKScpOwotCi08L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIuLi8uLi9qcy9y
ZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KLTwvYm9keT4KLQpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9tb250aC1tdWx0aXBsZS1maWVsZHMvbW9udGgtbXVs
dGlwbGUtZmllbGRzLXJlc2V0LXZhbHVlLWFmdGVyLXJlbG9hZHMtZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvZmFzdC9mb3Jtcy9tb250aC1tdWx0aXBsZS1maWVsZHMvbW9udGgtbXVsdGlwbGUt
ZmllbGRzLXJlc2V0LXZhbHVlLWFmdGVyLXJlbG9hZHMtZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCBiOTViZjIxMzc0N2YyYmZiYjNkMzU3OTYwODViYzA4MzVmZmYy
ZGQ0Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91
dFRlc3RzL2Zhc3QvZm9ybXMvbW9udGgtbXVsdGlwbGUtZmllbGRzL21vbnRoLW11bHRpcGxlLWZp
ZWxkcy1yZXNldC12YWx1ZS1hZnRlci1yZWxvYWRzLWV4cGVjdGVkLnR4dAorKysgL2Rldi9udWxs
CkBAIC0xLDE1ICswLDAgQEAKLUNoZWNrcyByZWxvYWRpbmcgcGFnZSByZXNldHMgaW5wdXQgdmFs
dWVzCi0KLU9uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2Fn
ZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KLQotCi1Jbml0aWFsIHZhbHVlczoKLVBB
U1MgdGVzdElucHV0MS52YWx1ZSBpcyAiIgotUEFTUyB0ZXN0SW5wdXQyLnZhbHVlIGlzICIxMjM0
LTA1IgotUmVsb2FkZWQgdmFsdWVzOgotUEFTUyB0ZXN0SW5wdXQxLnZhbHVlIGlzICIiCi1QQVNT
IHRlc3RJbnB1dDIudmFsdWUgaXMgIjEyMzQtMDUiCi1QQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBp
cyB0cnVlCi0KLVRFU1QgQ09NUExFVEUKLQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9m
b3Jtcy9tb250aC1tdWx0aXBsZS1maWVsZHMvbW9udGgtbXVsdGlwbGUtZmllbGRzLXJlc2V0LXZh
bHVlLWFmdGVyLXJlbG9hZHMuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvbW9udGgtbXVs
dGlwbGUtZmllbGRzL21vbnRoLW11bHRpcGxlLWZpZWxkcy1yZXNldC12YWx1ZS1hZnRlci1yZWxv
YWRzLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDA0ODFhZTJmMjMwMDgyMmY5
ZTI0MWRlMGFhYTNjMjIwOTdmYzY5NTEuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9tb250aC1tdWx0aXBsZS1maWVs
ZHMvbW9udGgtbXVsdGlwbGUtZmllbGRzLXJlc2V0LXZhbHVlLWFmdGVyLXJlbG9hZHMuaHRtbAor
KysgL2Rldi9udWxsCkBAIC0xLDQyICswLDAgQEAKLTwhRE9DVFlQRSBodG1sPgotPGh0bWw+Ci08
aGVhZD4KLTxzY3JpcHQgc3JjPSIuLi8uLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXBy
ZS5qcyI+PC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keSBvbmxvYWQ9InJ1bkJvZHlMb2FkZWQoKSI+
Ci08aWZyYW1lIGlkPWlmcmFtZSBzcmNkb2M9IjxpbnB1dCB0eXBlPW1vbnRoIGlkPSd0ZXN0MSc+
PGlucHV0IHR5cGU9J21vbnRoJyBpZD0ndGVzdDInIHZhbHVlPScxMjM0LTA1Jz4iPjwvaWZyYW1l
PgotPHNjcmlwdD4KLWRlc2NyaXB0aW9uKCdDaGVja3MgcmVsb2FkaW5nIHBhZ2UgcmVzZXRzIGlu
cHV0IHZhbHVlcycpOwotd2luZG93LmpzVGVzdElzQXN5bmMgPSB0cnVlOwotCi12YXIgaWZyYW1l
ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2lmcmFtZScpOwotdmFyIHRlc3RJbnB1dDE7Ci12
YXIgdGVzdElucHV0MjsKLQotZnVuY3Rpb24gcnVuQm9keUxvYWRlZCgpCi17Ci0gICAgdGVzdElu
cHV0MSA9IGlmcmFtZS5jb250ZW50RG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3Rlc3QxJyk7Ci0g
ICAgdGVzdElucHV0MiA9IGlmcmFtZS5jb250ZW50RG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3Rl
c3QyJyk7Ci0gICAgZGVidWcoJ0luaXRpYWwgdmFsdWVzOicpOwotICAgIHNob3VsZEJlRXF1YWxU
b1N0cmluZygndGVzdElucHV0MS52YWx1ZScsICcnKTsKLSAgICBzaG91bGRCZUVxdWFsVG9TdHJp
bmcoJ3Rlc3RJbnB1dDIudmFsdWUnLCAnMTIzNC0wNScpOwotICAgIHRlc3RJbnB1dDEudmFsdWUg
PSAnMjAxMi0xMCc7Ci0gICAgdGVzdElucHV0Mi52YWx1ZSA9ICcyMDEyLTExJzsKLSAgICBpZnJh
bWUuYWRkRXZlbnRMaXN0ZW5lcignbG9hZCcsIHBhcmVudC5ydW5PbklGcmFtZUxvYWQpOwotICAg
IGlmcmFtZS5jb250ZW50V2luZG93LmxvY2F0aW9uLnJlbG9hZCgpOwotfQotCi1mdW5jdGlvbiBy
dW5PbklGcmFtZUxvYWQoKQotewotICAgIHRlc3RJbnB1dDEgPSBpZnJhbWUuY29udGVudERvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCd0ZXN0MScpOwotICAgIHRlc3RJbnB1dDIgPSBpZnJhbWUuY29u
dGVudERvY3VtZW50LmdldEVsZW1lbnRCeUlkKCd0ZXN0MicpOwotICAgIGRlYnVnKCdSZWxvYWRl
ZCB2YWx1ZXM6Jyk7Ci0gICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCd0ZXN0SW5wdXQxLnZhbHVl
JywgJycpOwotICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygndGVzdElucHV0Mi52YWx1ZScsICcx
MjM0LTA1Jyk7Ci0gICAgaWZyYW1lLnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQoaWZyYW1lKTsKLSAg
ICBmaW5pc2hKU1Rlc3QoKTsKLX0KLTwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii4uLy4uLy4uL2Zh
c3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Ci08L2JvZHk+Ci08L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL21vbnRoLW11bHRpcGxlLWZp
ZWxkcy9tb250aC1tdWx0aXBsZS1maWVsZHMtc3BpbmJ1dHRvbi1jaGFuZ2UtYW5kLWlucHV0LWV2
ZW50cy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL21vbnRoLW11bHRpcGxl
LWZpZWxkcy9tb250aC1tdWx0aXBsZS1maWVsZHMtc3BpbmJ1dHRvbi1jaGFuZ2UtYW5kLWlucHV0
LWV2ZW50cy1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGRmN2Zk
NmY1MDJiMzFjMjJkN2QzNjZiMjAzMjRlZTM3NWRkMzIzNzEuLjAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9tb250aC1t
dWx0aXBsZS1maWVsZHMvbW9udGgtbXVsdGlwbGUtZmllbGRzLXNwaW5idXR0b24tY2hhbmdlLWFu
ZC1pbnB1dC1ldmVudHMtZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEsMTkgKzAsMCBA
QAotVGVzdCBmb3IgZXZlbnQgZGlzcGF0Y2hpbmcgYnkgc3BpbiBidXR0b25zIGluIGEgdHlwZT1t
b250aCBpbnB1dC4KLQotT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNT
IiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgotCi0KLUluaXRpYWwgc3Rh
dGUKLVBBU1MgY2hhbmdlRXZlbnRDb3VudGVyIGlzIDAKLVBBU1MgaW5wdXRFdmVudENvdW50ZXIg
aXMgMAotQ2xpY2sgdGhlIHVwcGVyIGJ1dHRvbgotUEFTUyB0ZXN0SW5wdXQudmFsdWUgaXMgIjIw
MTItMTEiCi1QQVNTIGNoYW5nZUV2ZW50Q291bnRlciBpcyAxCi1QQVNTIGlucHV0RXZlbnRDb3Vu
dGVyIGlzIDEKLUZvY3VzIG9uIGFub3RoZXIgZmllbGQKLVBBU1MgY2hhbmdlRXZlbnRDb3VudGVy
IGlzIDEKLVBBU1MgaW5wdXRFdmVudENvdW50ZXIgaXMgMQotUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQotCi1URVNUIENPTVBMRVRFCi0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zh
c3QvZm9ybXMvbW9udGgtbXVsdGlwbGUtZmllbGRzL21vbnRoLW11bHRpcGxlLWZpZWxkcy1zcGlu
YnV0dG9uLWNoYW5nZS1hbmQtaW5wdXQtZXZlbnRzLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2Zv
cm1zL21vbnRoLW11bHRpcGxlLWZpZWxkcy9tb250aC1tdWx0aXBsZS1maWVsZHMtc3BpbmJ1dHRv
bi1jaGFuZ2UtYW5kLWlucHV0LWV2ZW50cy5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAyNGQyNWRiNjFiMmFiMDg4ZGUxNGE1MjA0YThiNTFiOTg0ZDc1NmExLi4wMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZm9y
bXMvbW9udGgtbXVsdGlwbGUtZmllbGRzL21vbnRoLW11bHRpcGxlLWZpZWxkcy1zcGluYnV0dG9u
LWNoYW5nZS1hbmQtaW5wdXQtZXZlbnRzLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSwxNCArMCww
IEBACi08IURPQ1RZUEUgaHRtbD4KLTxodG1sPgotPGhlYWQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4v
Li4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBz
cmM9Ii4uL3Jlc291cmNlcy9jb21tb24uanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii4uL3Jl
c291cmNlcy9jb21tb24tc3BpbmJ1dHRvbi1jaGFuZ2UtYW5kLWlucHV0LWV2ZW50cy5qcyI+PC9z
Y3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keT4KLTxzY3JpcHQ+Ci10ZXN0U3BpbkJ1dHRvbkNoYW5nZUFu
ZElucHV0RXZlbnRzKCdtb250aCcsICcyMDEyLTEwJywgJzIwMTItMTEnKTsKLTwvc2NyaXB0Pgot
PHNjcmlwdCBzcmM9Ii4uLy4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+
PC9zY3JpcHQ+Ci08L2JvZHk+Ci08L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0
L2Zvcm1zL21vbnRoLW11bHRpcGxlLWZpZWxkcy9tb250aC1tdWx0aXBsZS1maWVsZHMtc3RlcHVw
LXN0ZXBkb3duLWZyb20tcmVuZGVyZXItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9m
b3Jtcy9tb250aC1tdWx0aXBsZS1maWVsZHMvbW9udGgtbXVsdGlwbGUtZmllbGRzLXN0ZXB1cC1z
dGVwZG93bi1mcm9tLXJlbmRlcmVyLWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMWUzMjA0ZDQyMjhlZmEwMGE2YzYzNGFlODlhMGVhZDcwYmI4NmVjNC4uMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0
L2Zvcm1zL21vbnRoLW11bHRpcGxlLWZpZWxkcy9tb250aC1tdWx0aXBsZS1maWVsZHMtc3RlcHVw
LXN0ZXBkb3duLWZyb20tcmVuZGVyZXItZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEs
MzUgKzAsMCBAQAotQ2hlY2sgc3RlcHBpbmctdXAgYW5kIC1kb3duIGZvciBtb250aCBpbnB1dCBm
aWVsZHMgZnJvbSByZW5kZXJlci4KLQotT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVz
IG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgotCi0KLUZ1
bmN0aW9uIGFyZ3VtZW50cyBhcmUgKHZhbHVlLCBtaW4sIG1heCwgW2tleVNlcXVlbmNlXSkuCi1N
b250aAotUEFTUyBzdGVwVXAoIjIwMDAtMDUiLCAiMjAwMC0wNSIsICIyMDAwLTEwIikgaXMgIjIw
MDAtMDYiCi1QQVNTIHN0ZXBEb3duKCIyMDAwLTA1IiwgIjIwMDAtMDUiLCAiMjAwMC0xMCIpIGlz
ICIyMDAwLTEwIgotUEFTUyBzdGVwVXAoIjIwMDAtMDUiLCAiMjAwMC0wMiIsICIyMDAwLTA1Iikg
aXMgIjIwMDAtMDIiCi1QQVNTIHN0ZXBEb3duKCIyMDAwLTA1IiwgIjIwMDAtMDIiLCAiMjAwMC0w
NSIpIGlzICIyMDAwLTA0IgotUEFTUyBzdGVwVXAoIjIwMDAtMDUiLCAiMjAwMC0wOCIsICIyMDAw
LTEwIikgaXMgIjIwMDAtMDgiCi1QQVNTIHN0ZXBEb3duKCIyMDAwLTA1IiwgIjIwMDAtMDgiLCAi
MjAwMC0xMCIpIGlzICIyMDAwLTEwIgotUEFTUyBzdGVwVXAoIjIwMDAtMDUiLCAiMjAwMC0wMyIs
ICIyMDAwLTAzIikgaXMgIjIwMDAtMDMiCi1QQVNTIHN0ZXBEb3duKCIyMDAwLTA1IiwgIjIwMDAt
MDMiLCAiMjAwMC0wMyIpIGlzICIyMDAwLTAzIgotUEFTUyBzdGVwVXAoIjIwMDAtMDUiLCAiMjAw
MC0wMyIsICIyMDAxLTA1IikgaXMgIjIwMDAtMDYiCi1QQVNTIHN0ZXBEb3duKCIyMDAwLTA1Iiwg
IjIwMDAtMDUiLCAiMjAwMS0wOCIpIGlzICIyMDAwLTA0IgotWWVhcgotUEFTUyBzdGVwVXAoIjIw
MDAtMDEiLCAiMjAwMC0wMSIsICIyMDA5LTEyIikgaXMgIjIwMDEtMDEiCi1QQVNTIHN0ZXBEb3du
KCIyMDAwLTAxIiwgIjIwMDAtMDEiLCAiMjAwOS0xMiIpIGlzICIyMDA5LTAxIgotUEFTUyBzdGVw
VXAoIjIwMDAtMDEiLCAiMTk5MC0wMSIsICIyMDAwLTEyIikgaXMgIjE5OTAtMDEiCi1QQVNTIHN0
ZXBEb3duKCIyMDAwLTAxIiwgIjE5OTAtMDEiLCAiMjAwMC0xMiIpIGlzICIxOTk5LTAxIgotUEFT
UyBzdGVwVXAoIjI3NTc2MC0wMSIsICIxOTkwLTAxIiwgbnVsbCkgaXMgIjE5OTAtMDEiCi1QQVNT
IHN0ZXBEb3duKCIxOTkwLTAxIiwgIjE5OTAtMDEiLCBudWxsKSBpcyAiMjc1NzYwLTAxIgotUEFT
UyBzdGVwVXAoIjIwMDAtMDEiLCBudWxsLCAiMjAwMC0xMiIpIGlzICIwMDAxLTAxIgotUEFTUyBz
dGVwRG93bigiMDAwMS0wMSIsIG51bGwsICIyMDAwLTEyIikgaXMgIjIwMDAtMDEiCi1QQVNTIHN0
ZXBVcCgiMTk5MC0wMSIsICIyMDAwLTAxIiwgIjIwMDktMTIiKSBpcyAiMjAwMC0wMSIKLVBBU1Mg
c3RlcERvd24oIjE5OTAtMDEiLCAiMjAwMC0wMSIsICIyMDA5LTEyIikgaXMgIjIwMDktMDEiCi1Q
QVNTIHN0ZXBVcCgiMjAyMC0wMSIsICIyMDAwLTAxIiwgIjIwMDAtMTIiKSBpcyAiMjAwMC0wMSIK
LVBBU1Mgc3RlcERvd24oIjIwMjAtMDEiLCAiMjAwMC0wMSIsICIyMDAwLTEyIikgaXMgIjIwMDAt
MDEiCi0KLVBBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKLQotVEVTVCBDT01QTEVURQot
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL21vbnRoLW11bHRpcGxlLWZpZWxk
cy9tb250aC1tdWx0aXBsZS1maWVsZHMtc3RlcHVwLXN0ZXBkb3duLWZyb20tcmVuZGVyZXIuaHRt
bCBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvbW9udGgtbXVsdGlwbGUtZmllbGRzL21vbnRoLW11
bHRpcGxlLWZpZWxkcy1zdGVwdXAtc3RlcGRvd24tZnJvbS1yZW5kZXJlci5odG1sCmRlbGV0ZWQg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCA5MWVhYmE0ZTI0YmFjNDJlNmU1OGI5ZmVjOGJkNjkzN2Jh
MzNmMmI1Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xh
eW91dFRlc3RzL2Zhc3QvZm9ybXMvbW9udGgtbXVsdGlwbGUtZmllbGRzL21vbnRoLW11bHRpcGxl
LWZpZWxkcy1zdGVwdXAtc3RlcGRvd24tZnJvbS1yZW5kZXJlci5odG1sCisrKyAvZGV2L251bGwK
QEAgLTEsNjkgKzAsMCBAQAotPCFET0NUWVBFIGh0bWw+Ci08aHRtbD4KLTxoZWFkPgotPHNjcmlw
dCBzcmM9Ii4uLy4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Ci08c2Ny
aXB0IHNyYz0iLi4vcmVzb3VyY2VzL2NvbW1vbi5qcyI+PC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9k
eT4KLTxzY3JpcHQ+Ci1kZXNjcmlwdGlvbignQ2hlY2sgc3RlcHBpbmctdXAgYW5kIC1kb3duIGZv
ciBtb250aCBpbnB1dCBmaWVsZHMgZnJvbSByZW5kZXJlci4nKTsKLWlmICghd2luZG93LmV2ZW50
U2VuZGVyKQotICAgIGRlYnVnKCdUaGlzIHRlc3QgcmVxdWlyZXMgZXZlbnRTZW5kZXIuJyk7Ci0K
LXZhciBpbnB1dCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2lucHV0Jyk7Ci1pbnB1dC50eXBl
ID0gJ21vbnRoJzsKLWRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoaW5wdXQpOwotCi1mdW5jdGlv
biBzZXRJbnB1dEF0dHJpYnV0ZXModmFsdWUsIG1pbiwgbWF4KSB7Ci0gICAgaW5wdXQudmFsdWUg
PSB2YWx1ZTsKLSAgICBpbnB1dC5taW4gPSBtaW47Ci0gICAgaW5wdXQubWF4ID0gbWF4OwotfQot
Ci1mdW5jdGlvbiBzdGVwVXAodmFsdWUsIG1pbiwgbWF4KSB7Ci0gICAgc2V0SW5wdXRBdHRyaWJ1
dGVzKHZhbHVlLCBtaW4sIG1heCk7Ci0gICAgZXZlbnRTZW5kZXIua2V5RG93bigndXBBcnJvdycp
OwotICAgIHJldHVybiBpbnB1dC52YWx1ZTsKLX0KLQotZnVuY3Rpb24gc3RlcERvd24odmFsdWUs
IG1pbiwgbWF4KSB7Ci0gICAgc2V0SW5wdXRBdHRyaWJ1dGVzKHZhbHVlLCBtaW4sIG1heCk7Ci0g
ICAgZXZlbnRTZW5kZXIua2V5RG93bignZG93bkFycm93Jyk7Ci0gICAgcmV0dXJuIGlucHV0LnZh
bHVlOwotfQotCi1pbnB1dC5mb2N1cygpOwotZGVidWcoJ0Z1bmN0aW9uIGFyZ3VtZW50cyBhcmUg
KHZhbHVlLCBtaW4sIG1heCwgW2tleVNlcXVlbmNlXSkuJyk7Ci1kZWJ1ZygnTW9udGgnKTsKLXNo
b3VsZEJlRXF1YWxUb1N0cmluZygnc3RlcFVwKCIyMDAwLTA1IiwgIjIwMDAtMDUiLCAiMjAwMC0x
MCIpJywgJzIwMDAtMDYnKTsKLXNob3VsZEJlRXF1YWxUb1N0cmluZygnc3RlcERvd24oIjIwMDAt
MDUiLCAiMjAwMC0wNSIsICIyMDAwLTEwIiknLCAnMjAwMC0xMCcpOwotc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCdzdGVwVXAoIjIwMDAtMDUiLCAiMjAwMC0wMiIsICIyMDAwLTA1IiknLCAnMjAwMC0w
MicpOwotc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdzdGVwRG93bigiMjAwMC0wNSIsICIyMDAwLTAy
IiwgIjIwMDAtMDUiKScsICcyMDAwLTA0Jyk7Ci1zaG91bGRCZUVxdWFsVG9TdHJpbmcoJ3N0ZXBV
cCgiMjAwMC0wNSIsICIyMDAwLTA4IiwgIjIwMDAtMTAiKScsICcyMDAwLTA4Jyk7Ci1zaG91bGRC
ZUVxdWFsVG9TdHJpbmcoJ3N0ZXBEb3duKCIyMDAwLTA1IiwgIjIwMDAtMDgiLCAiMjAwMC0xMCIp
JywgJzIwMDAtMTAnKTsKLXNob3VsZEJlRXF1YWxUb1N0cmluZygnc3RlcFVwKCIyMDAwLTA1Iiwg
IjIwMDAtMDMiLCAiMjAwMC0wMyIpJywgJzIwMDAtMDMnKTsKLXNob3VsZEJlRXF1YWxUb1N0cmlu
Zygnc3RlcERvd24oIjIwMDAtMDUiLCAiMjAwMC0wMyIsICIyMDAwLTAzIiknLCAnMjAwMC0wMycp
Owotc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdzdGVwVXAoIjIwMDAtMDUiLCAiMjAwMC0wMyIsICIy
MDAxLTA1IiknLCAnMjAwMC0wNicpOwotc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdzdGVwRG93bigi
MjAwMC0wNSIsICIyMDAwLTA1IiwgIjIwMDEtMDgiKScsICcyMDAwLTA0Jyk7Ci0KLWRlYnVnKCdZ
ZWFyJyk7Ci1ldmVudFNlbmRlci5rZXlEb3duKCdyaWdodEFycm93Jyk7Ci1zaG91bGRCZUVxdWFs
VG9TdHJpbmcoJ3N0ZXBVcCgiMjAwMC0wMSIsICIyMDAwLTAxIiwgIjIwMDktMTIiKScsICcyMDAx
LTAxJyk7Ci1zaG91bGRCZUVxdWFsVG9TdHJpbmcoJ3N0ZXBEb3duKCIyMDAwLTAxIiwgIjIwMDAt
MDEiLCAiMjAwOS0xMiIpJywgJzIwMDktMDEnKTsKLXNob3VsZEJlRXF1YWxUb1N0cmluZygnc3Rl
cFVwKCIyMDAwLTAxIiwgIjE5OTAtMDEiLCAiMjAwMC0xMiIpJywgJzE5OTAtMDEnKTsKLXNob3Vs
ZEJlRXF1YWxUb1N0cmluZygnc3RlcERvd24oIjIwMDAtMDEiLCAiMTk5MC0wMSIsICIyMDAwLTEy
IiknLCAnMTk5OS0wMScpOwotc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdzdGVwVXAoIjI3NTc2MC0w
MSIsICIxOTkwLTAxIiwgbnVsbCknLCAnMTk5MC0wMScpOwotc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCdzdGVwRG93bigiMTk5MC0wMSIsICIxOTkwLTAxIiwgbnVsbCknLCAnMjc1NzYwLTAxJyk7Ci1z
aG91bGRCZUVxdWFsVG9TdHJpbmcoJ3N0ZXBVcCgiMjAwMC0wMSIsIG51bGwsICIyMDAwLTEyIikn
LCAnMDAwMS0wMScpOwotc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdzdGVwRG93bigiMDAwMS0wMSIs
IG51bGwsICIyMDAwLTEyIiknLCAnMjAwMC0wMScpOwotc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdz
dGVwVXAoIjE5OTAtMDEiLCAiMjAwMC0wMSIsICIyMDA5LTEyIiknLCAnMjAwMC0wMScpOwotc2hv
dWxkQmVFcXVhbFRvU3RyaW5nKCdzdGVwRG93bigiMTk5MC0wMSIsICIyMDAwLTAxIiwgIjIwMDkt
MTIiKScsICcyMDA5LTAxJyk7Ci1zaG91bGRCZUVxdWFsVG9TdHJpbmcoJ3N0ZXBVcCgiMjAyMC0w
MSIsICIyMDAwLTAxIiwgIjIwMDAtMTIiKScsICcyMDAwLTAxJyk7Ci1zaG91bGRCZUVxdWFsVG9T
dHJpbmcoJ3N0ZXBEb3duKCIyMDIwLTAxIiwgIjIwMDAtMDEiLCAiMjAwMC0xMiIpJywgJzIwMDAt
MDEnKTsKLQotZGVidWcoJycpOwotaW5wdXQucmVtb3ZlKCk7Ci08L3NjcmlwdD4KLTxzY3JpcHQg
c3JjPSIuLi8uLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KLTwvYm9k
eT4KLTwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvbW9udGgtbXVs
dGlwbGUtZmllbGRzL21vbnRoLW11bHRpcGxlLWZpZWxkcy12YWxpZGl0eS1iYWRpbnB1dC1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL21vbnRoLW11bHRpcGxlLWZpZWxkcy9t
b250aC1tdWx0aXBsZS1maWVsZHMtdmFsaWRpdHktYmFkaW5wdXQtZXhwZWN0ZWQudHh0CmRlbGV0
ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwODBiNTM5NTNmYTVhOGJkOTU1MWZmYTA1ZjU5OThi
ZDlkMDYyMmUyLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBh
L0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvbW9udGgtbXVsdGlwbGUtZmllbGRzL21vbnRoLW11bHRp
cGxlLWZpZWxkcy12YWxpZGl0eS1iYWRpbnB1dC1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApA
QCAtMSwxNSArMCwwIEBACi1BIG1vbnRoIGlucHV0IGZpZWxkcyB3aXRoIGEgYmFkIHVzZXIgaW5w
dXQgc2hvdWxkIG1ha2UgdmFsaWRpdHkuYmFkSW5wdXQgdHJ1ZSBhbmQgaGF2ZSA6aW52YWxpZCBz
dHlsZS4KLQotT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNz
YWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgotCi0KLUluaXRpYWwgc3RhdGUuIFRo
ZSBlbG1lbnQgaGFzIG5vIHZhbHVlLgotUEFTUyBjb2xvck9mKGlucHV0KSBpcyBub3QgaW52YWxp
ZFN0eWxlQ29sb3IKLVBBU1MgaW5wdXQudmFsaWRpdHkuYmFkSW5wdXQgaXMgZmFsc2UKLVNldCBh
IHZhbHVlIHRvIHRoZSBmaXJzdCBzdWItZmllbGQuIFRoZSBlbGVtZW50IGJlY29tZXMgYmFkSW5w
dXQuCi1QQVNTIGNvbG9yT2YoaW5wdXQpIGlzIGludmFsaWRTdHlsZUNvbG9yCi1QQVNTIGlucHV0
LnZhbGlkaXR5LmJhZElucHV0IGlzIHRydWUKLVBBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRy
dWUKLQotVEVTVCBDT01QTEVURQotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1z
L21vbnRoLW11bHRpcGxlLWZpZWxkcy9tb250aC1tdWx0aXBsZS1maWVsZHMtdmFsaWRpdHktYmFk
aW5wdXQuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvbW9udGgtbXVsdGlwbGUtZmllbGRz
L21vbnRoLW11bHRpcGxlLWZpZWxkcy12YWxpZGl0eS1iYWRpbnB1dC5odG1sCmRlbGV0ZWQgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAzNTZlZWE1MjgxOTcyMTk1M2FjNjA4NWQyZDllZWExM2Q2Mjgx
YjA2Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91
dFRlc3RzL2Zhc3QvZm9ybXMvbW9udGgtbXVsdGlwbGUtZmllbGRzL21vbnRoLW11bHRpcGxlLWZp
ZWxkcy12YWxpZGl0eS1iYWRpbnB1dC5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsMTQgKzAsMCBA
QAotPCFET0NUWVBFIGh0bWw+Ci08c3R5bGU+Ci06aW52YWxpZCB7Ci0gICAgYmFja2dyb3VuZC1j
b2xvcjogI2ZmMDAwMDsKLX0KLTwvc3R5bGU+Ci08Ym9keT4KLTxzY3JpcHQgc3JjPSIuLi8uLi9q
cy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii4uL3Jl
c291cmNlcy9tdWx0aXBsZS1maWVsZHMtdmFsaWRpdHktYmFkaW5wdXQuanMiPjwvc2NyaXB0Pgot
PHNjcmlwdD4KLXRlc3RCYWRJbnB1dCgnbW9udGgnKTsKLTwvc2NyaXB0PgotPHNjcmlwdCBzcmM9
Ii4uLy4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgotPC9ib2R5Pgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9tb250aC1tdWx0aXBsZS1maWVsZHMv
bW9udGgtbXVsdGlwbGUtZmllbGRzLXZhbHVlLXNldC1lbXB0eS1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9mYXN0L2Zvcm1zL21vbnRoLW11bHRpcGxlLWZpZWxkcy9tb250aC1tdWx0aXBsZS1m
aWVsZHMtdmFsdWUtc2V0LWVtcHR5LWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggYjA3NThjYjI3NTI1OThmM2M4Yjc2NDFiOWI1ZDg3ZmZiMDA5ZTBlMy4uMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0
L2Zvcm1zL21vbnRoLW11bHRpcGxlLWZpZWxkcy9tb250aC1tdWx0aXBsZS1maWVsZHMtdmFsdWUt
c2V0LWVtcHR5LWV4cGVjdGVkLnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDEyICswLDAgQEAKLUNo
ZWNrIGlmIGlucHV0LnZhbHVlPSIiIGNsZWFycyBhbiBpbnB1dCB3aXRoIHBhcnRpYWxseS1zcGVj
aWZpZWQgdmFsdWUuCi0KLU9uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFT
UyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KLQotCi1FbXB0eSB0ZXh0
OiAtLS0tLS0tLS0gLS0tLQotUEFTUyBldmVudFNlbmRlci5rZXlEb3duKCJ1cEFycm93Iik7IGdl
dFVzZXJBZ2VudFNoYWRvd1RleHRDb250ZW50KGlucHV0KSBpcyBub3QgZW1wdHlUZXh0Ci1QQVNT
IGlucHV0LnZhbHVlID0gIiI7IGdldFVzZXJBZ2VudFNoYWRvd1RleHRDb250ZW50KGlucHV0KSBp
cyBlbXB0eVRleHQKLVBBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKLQotVEVTVCBDT01Q
TEVURQotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL21vbnRoLW11bHRpcGxl
LWZpZWxkcy9tb250aC1tdWx0aXBsZS1maWVsZHMtdmFsdWUtc2V0LWVtcHR5Lmh0bWwgYi9MYXlv
dXRUZXN0cy9mYXN0L2Zvcm1zL21vbnRoLW11bHRpcGxlLWZpZWxkcy9tb250aC1tdWx0aXBsZS1m
aWVsZHMtdmFsdWUtc2V0LWVtcHR5Lmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDcyM2RmYzE0MWU2MDM3MjNhNWZiOGU4YzMxZGFjODU3MDMzNGEyYWYuLjAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9t
b250aC1tdWx0aXBsZS1maWVsZHMvbW9udGgtbXVsdGlwbGUtZmllbGRzLXZhbHVlLXNldC1lbXB0
eS5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsMTAgKzAsMCBAQAotPCFET0NUWVBFIGh0bWw+Ci08
Ym9keT4KLTxzY3JpcHQgc3JjPSIuLi8uLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwv
c2NyaXB0PgotPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy9jb21tb24uanMiPjwvc2NyaXB0Pgot
PHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy9tdWx0aXBsZS1maWVsZHMtdmFsdWUtc2V0LWVtcHR5
LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQ+Ci10ZXN0U2V0dGluZ0VtcHR5U3RyaW5nQ2xlYXJzU3Vi
RmllbGRzKCdtb250aCcpOwotPC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vanMvcmVzb3Vy
Y2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Ci08L2JvZHk+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9mYXN0L2Zvcm1zL21vbnRoLW11bHRpcGxlLWZpZWxkcy9tb250aC1tdWx0aXBsZS1m
aWVsZHMtd2hlZWwtZXZlbnQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9t
b250aC1tdWx0aXBsZS1maWVsZHMvbW9udGgtbXVsdGlwbGUtZmllbGRzLXdoZWVsLWV2ZW50LWV4
cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNDA1MmJmOTc3MWMxNjY1
ZjA1ZDJiYmMxNmFiYmEyOWEwMWYyNzgyNy4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL21vbnRoLW11bHRpcGxlLWZp
ZWxkcy9tb250aC1tdWx0aXBsZS1maWVsZHMtd2hlZWwtZXZlbnQtZXhwZWN0ZWQudHh0CisrKyAv
ZGV2L251bGwKQEAgLTEsMjMgKzAsMCBAQAotVGVzdCBmb3Igd2hlZWwgb3BlcmF0aW9ucyBmb3Ig
PGlucHV0IHR5cGU9bW9udGg+Ci0KLU9uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBv
ZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KLQotCi1Jbml0
aWFsIHZhbHVlIGlzIDE5OTktMDEuIFdlJ2xsIHdoZWVsIHVwIGJ5IDE6Ci1QQVNTIGlucHV0LnZh
bHVlIGlzICIxOTk5LTAyIgotV2hlZWwgdXAgYnkgMTAwOgotUEFTUyBpbnB1dC52YWx1ZSBpcyAi
MTk5OS0wMyIKLVdoZWVsIGRvd24gYnkgMToKLVBBU1MgaW5wdXQudmFsdWUgaXMgIjE5OTktMDIi
Ci1XaGVlbCBkb3duIGJ5IDI1NjoKLVBBU1MgaW5wdXQudmFsdWUgaXMgIjE5OTktMDEiCi1EaXNh
YmxlZCBpbnB1dCBlbGVtZW50OgotUEFTUyBpbnB1dC52YWx1ZSBpcyAiMTk5OS0wMSIKLVJlYWQt
b25seSBpbnB1dCBlbGVtZW50OgotUEFTUyBpbnB1dC52YWx1ZSBpcyAiMTk5OS0wMSIKLU5vIGZv
Y3VzOgotUEFTUyBpbnB1dC52YWx1ZSBpcyAiMTk5OS0wMSIKLVBBU1Mgc3VjY2Vzc2Z1bGx5UGFy
c2VkIGlzIHRydWUKLQotVEVTVCBDT01QTEVURQotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9m
YXN0L2Zvcm1zL21vbnRoLW11bHRpcGxlLWZpZWxkcy9tb250aC1tdWx0aXBsZS1maWVsZHMtd2hl
ZWwtZXZlbnQuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvbW9udGgtbXVsdGlwbGUtZmll
bGRzL21vbnRoLW11bHRpcGxlLWZpZWxkcy13aGVlbC1ldmVudC5odG1sCmRlbGV0ZWQgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAxMmU0Y2YxYzA1Y2VkNjQxNDg4NDUyYjAyYjNjMDAwMDU2M2M1ODM1
Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRl
c3RzL2Zhc3QvZm9ybXMvbW9udGgtbXVsdGlwbGUtZmllbGRzL21vbnRoLW11bHRpcGxlLWZpZWxk
cy13aGVlbC1ldmVudC5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsMTcgKzAsMCBAQAotPCFET0NU
WVBFIGh0bWw+Ci08aHRtbD4KLTxoZWFkPgotPHNjcmlwdCBzcmM9Ii4uLy4uLy4uL2Zhc3QvanMv
cmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIuLi9yZXNv
dXJjZXMvY29tbW9uLXdoZWVsLWV2ZW50LmpzIj48L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5Pgot
PHNjcmlwdD4KLXRlc3RXaGVlbEV2ZW50KHsKLSAgICAnaW5wdXRUeXBlJyA6ICdtb250aCcsCi0g
ICAgJ2luaXRpYWxWYWx1ZScgOiAnMTk5OS0wMScsCi0gICAgJ3N0ZXBVcFZhbHVlMScgOiAnMTk5
OS0wMicsCi0gICAgJ3N0ZXBVcFZhbHVlMicgOiAnMTk5OS0wMycgfSk7Ci08L3NjcmlwdD4KLTxz
Y3JpcHQgc3JjPSIuLi8uLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwv
c2NyaXB0PgotPC9ib2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9m
b3Jtcy9tb250aC1tdWx0aXBsZS1maWVsZHMvcmVzb3VyY2VzL3ByZXNlcnZlLXZhbHVlLWFmdGVy
LWhpc3RvcnktYmFjay1mcmFtZS5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9tb250aC1t
dWx0aXBsZS1maWVsZHMvcmVzb3VyY2VzL3ByZXNlcnZlLXZhbHVlLWFmdGVyLWhpc3RvcnktYmFj
ay1mcmFtZS5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA2ZGJmYTE5ODFmMGUw
ZDdkNDEzOTI2ZDQzZDFkMmZkMmZiMmE1MzQ4Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvbW9udGgtbXVsdGlwbGUt
ZmllbGRzL3Jlc291cmNlcy9wcmVzZXJ2ZS12YWx1ZS1hZnRlci1oaXN0b3J5LWJhY2stZnJhbWUu
aHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDk3ICswLDAgQEAKLTwhRE9DVFlQRSBodG1sPgotPGJv
ZHk+Ci08aW5wdXQgdHlwZT0ibW9udGgiIGlkPSJ0ZXN0MSI+Ci08aW5wdXQgdHlwZT0ibW9udGgi
IGlkPSJ0ZXN0MiIgbWluPSIxOTk4LTAxIiBtYXg9IjE5OTktMTIiPgotPHNjcmlwdD4KLWZ1bmN0
aW9uIGZpZWxkc1RleHQoaW5wdXQpIHsKLSAgICByZXR1cm4gd2luZG93LmludGVybmFscy5vbGRl
c3RTaGFkb3dSb290KGlucHV0KS50ZXh0Q29udGVudDsKLX0KLQotZnVuY3Rpb24gYmFjayhuZXdT
dGF0ZSkgewotICAgIHBhcmVudC5zdGF0ZSA9IG5ld1N0YXRlOwotICAgIGhpc3RvcnkuYmFjaygp
OwotfQotCi1mdW5jdGlvbiBmb3J3YXJkKG5ld1N0YXRlKSB7Ci0gICAgcGFyZW50LnN0YXRlID0g
bmV3U3RhdGU7Ci0gICAgaGlzdG9yeS5mb3J3YXJkKCk7Ci19Ci0KLWZ1bmN0aW9uIGtleURvd24o
a2V5KSB7Ci0gICAgZXZlbnRTZW5kZXIua2V5RG93bihrZXkpOwotfQotCi12YXIgdGVzdElucHV0
MSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCd0ZXN0MScpOwotdmFyIHRlc3RJbnB1dDIgPSBk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgndGVzdDInKTsKLXZhciBwYWdlTmFtZSA9IGxvY2F0aW9u
LnNlYXJjaCB8fCAnP3BhZ2UxJzsKLQotd2luZG93Lm9ubG9hZCA9IGZ1bmN0aW9uKCkgewotICAg
IHN3aXRjaCAocGFnZU5hbWUpIHsKLSAgICBjYXNlICc/cGFnZTEnOgotICAgICAgICBzd2l0Y2gg
KHBhcmVudC5zdGF0ZSkgewotICAgICAgICBjYXNlICdkaXJlY3QnOiB7Ci0gICAgICAgICAgICB0
ZXN0SW5wdXQxLnZhbHVlID0gJzEyMDEyLTEwJzsKLSAgICAgICAgICAgIHRlc3RJbnB1dDIuZm9j
dXMoKTsKLSAgICAgICAgICAgIGtleURvd24oJ3VwQXJyb3cnKTsgLy8gLT4gW09jdG9iZXJdIDEy
MDEyCi0gICAgICAgICAgICB2YXIgbmV4dFVyaSA9IGxvY2F0aW9uLnRvU3RyaW5nKCkucmVwbGFj
ZSgnP3BhZ2UxJywgJz9wYWdlMicpOwotICAgICAgICAgICAgc2V0VGltZW91dChmdW5jdGlvbigp
IHsgd2luZG93LmxvY2F0aW9uLmhyZWYgPSBuZXh0VXJpOyB9LCAwKTsKLSAgICAgICAgICAgIGJy
ZWFrOwotICAgICAgICB9Ci0gICAgICAgIGNhc2UgJ2JhY2tUbzEnOgotICAgICAgICAgICAgcGFy
ZW50LnRlc3RDYXNlcy5wdXNoKAotICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAg
ICAgJ2Rlc2NyaXB0aW9uJyA6ICdXZW50IGJhY2sgdG8gYSBwYWdlLiBDaGVja2luZyBhIGZvcm0g
Y29udHJvbCB3aGljaCBoYWQgYSBmdWxsIHZhbHVlJywKLSAgICAgICAgICAgICAgICAgICAgJ2Fj
dHVhbCcgOiB0ZXN0SW5wdXQxLnZhbHVlLAotICAgICAgICAgICAgICAgICAgICAnZXhwZWN0ZWQn
IDogJzEyMDEyLTEwJyB9LAotICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAg
J2Rlc2NyaXB0aW9uJyA6ICdXZW50IGJhY2sgdG8gYSBwYWdlLiBDaGVja2luZyBhIGZvcm0gY29u
dHJvbCB3aGljaCBoYWQgYSBwYXJ0aWFsIHZhbHVlJywKLSAgICAgICAgICAgICAgICAgICAgJ2Fj
dHVhbCcgOiBmaWVsZHNUZXh0KHRlc3RJbnB1dDIpLAotICAgICAgICAgICAgICAgICAgICAnZXhw
ZWN0ZWQnIDogJ0phbnVhcnkgLS0tLScKLSAgICAgICAgICAgICAgICB9KTsKLSAgICAgICAgICAg
IGZvcndhcmQoJ2ZvcndhcmRUbzInKTsKLSAgICAgICAgICAgIGJyZWFrOwotICAgICAgICBjYXNl
ICdiYWNrVG8xU2Vjb25kJzoKLSAgICAgICAgICAgIHBhcmVudC5maW5pc2hUZXN0KCk7Ci0gICAg
ICAgICAgICBicmVhazsKLSAgICAgICAgZGVmYXVsdDoKLSAgICAgICAgICAgIHBhcmVudC5mYWls
ZWQoJ1VuZXhwZWN0ZWQgc3RhdGUoJyArIHBhcmVudC5zdGF0ZSArICcpJyk7Ci0gICAgICAgICAg
ICBicmVhazsKLSAgICAgICAgfQotICAgICAgICBicmVhazsKLQotICAgIGNhc2UgJz9wYWdlMic6
Ci0gICAgICAgIHN3aXRjaCAocGFyZW50LnN0YXRlKSB7Ci0gICAgICAgIGNhc2UgJ2RpcmVjdCc6
Ci0gICAgICAgICAgICB0ZXN0SW5wdXQxLnZhbHVlID0gJzAwMDEtMTEnOwotICAgICAgICAgICAg
dGVzdElucHV0Mi5mb2N1cygpOwotICAgICAgICAgICAga2V5RG93bignXHQnKTsgLy8gICAgICAg
IC0+IC0tLS0tLS0tLSBbeXl5eV0KLSAgICAgICAgICAgIGtleURvd24oJ2Rvd25BcnJvdycpOyAv
LyAtPiAtLS0tLS0tLS0gWzE5OTldCi0gICAgICAgICAgICBiYWNrKCdiYWNrVG8xJyk7Ci0gICAg
ICAgICAgICBicmVhazsKLSAgICAgICAgY2FzZSAnZm9yd2FyZFRvMic6Ci0gICAgICAgICAgICBw
YXJlbnQudGVzdENhc2VzLnB1c2goCi0gICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAg
ICAgICAnZGVzY3JpcHRpb24nIDogJ1dlbnQgZm9yd2FyZCB0byBhIHBhZ2UuIENoZWNraW5nIGEg
Zm9ybSBjb250cm9sIHdoaWNoIGhhZCBhIGZ1bGwgdmFsdWUnLAotICAgICAgICAgICAgICAgICAg
ICAnYWN0dWFsJyA6IHRlc3RJbnB1dDEudmFsdWUsCi0gICAgICAgICAgICAgICAgICAgICdleHBl
Y3RlZCcgOiAnMDAwMS0xMScKLSAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgIHsK
LSAgICAgICAgICAgICAgICAgICAgJ2Rlc2NyaXB0aW9uJyA6ICdXZW50IGZvcndhcmQgdG8gYSBw
YWdlLiBDaGVja2luZyBhIGZvcm0gY29udHJvbCB3aGljaCBoYWQgYSBwYXJ0aWFsIHZhbHVlJywK
LSAgICAgICAgICAgICAgICAgICAgJ2FjdHVhbCcgOiBmaWVsZHNUZXh0KHRlc3RJbnB1dDIpLAot
ICAgICAgICAgICAgICAgICAgICAnZXhwZWN0ZWQnIDogJy0tLS0tLS0tLSAxOTk5JwotICAgICAg
ICAgICAgICAgIH0pOwotICAgICAgICAgICAgYmFjaygnYmFja1RvMVNlY29uZCcpOwotICAgICAg
ICAgICAgYnJlYWs7Ci0gICAgICAgIGRlZmF1bHQ6Ci0gICAgICAgICAgICBwYXJlbnQuZmFpbGVk
KCdVbmV4cGVjdGVkIHN0YXRlKCcgKyBwYXJlbnQuc3RhdGUgKyAnKScpOwotICAgICAgICAgICAg
YnJlYWs7Ci0gICAgICAgIH0KLSAgICAgICAgYnJlYWs7Ci0KLSAgICBkZWZhdWx0OgotICAgICAg
ICBwYXJlbnQuZmFpbGVkKCdVbmV4cGVjdGVkIHBhZ2UoJyArIHBhZ2VOYW1lICsgJyknKTsKLSAg
ICAgICAgYnJlYWs7Ci0gICAgfQotfTsKLTwvc2NyaXB0PgotPC9ib2R5PgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy90aW1lLW11bHRpcGxlLWZpZWxkcy9yZXNvdXJjZXMvcHJl
c2VydmUtdmFsdWUtYWZ0ZXItaGlzdG9yeS1iYWNrLWZyYW1lLmh0bWwgYi9MYXlvdXRUZXN0cy9m
YXN0L2Zvcm1zL3RpbWUtbXVsdGlwbGUtZmllbGRzL3Jlc291cmNlcy9wcmVzZXJ2ZS12YWx1ZS1h
ZnRlci1oaXN0b3J5LWJhY2stZnJhbWUuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggN2MzYjVmM2YyZGExNjFiN2U4ZjM3ZGI4YzkyZDUwMTMzMDU4NzJlYy4uMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1z
L3RpbWUtbXVsdGlwbGUtZmllbGRzL3Jlc291cmNlcy9wcmVzZXJ2ZS12YWx1ZS1hZnRlci1oaXN0
b3J5LWJhY2stZnJhbWUuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDEwMCArMCwwIEBACi08IURP
Q1RZUEUgaHRtbD4KLTxib2R5PgotPGlucHV0IHR5cGU9dGltZSBpZD10ZXN0MT4KLTxpbnB1dCB0
eXBlPXRpbWUgaWQ9dGVzdDIgc3RlcD0xPgotPHNjcmlwdD4KLWZ1bmN0aW9uIGZpZWxkc1RleHQo
aW5wdXQpIHsKLSAgICByZXR1cm4gd2luZG93LmludGVybmFscy5vbGRlc3RTaGFkb3dSb290KGlu
cHV0KS50ZXh0Q29udGVudDsKLX0KLQotZnVuY3Rpb24gYmFjayhuZXdTdGF0ZSkgewotICAgIHBh
cmVudC5zdGF0ZSA9IG5ld1N0YXRlOwotICAgIGhpc3RvcnkuYmFjaygpOwotfQotCi1mdW5jdGlv
biBmb3J3YXJkKG5ld1N0YXRlKSB7Ci0gICAgcGFyZW50LnN0YXRlID0gbmV3U3RhdGU7Ci0gICAg
aGlzdG9yeS5mb3J3YXJkKCk7Ci19Ci0KLWZ1bmN0aW9uIGtleURvd24oa2V5KSB7Ci0gICAgZXZl
bnRTZW5kZXIua2V5RG93bihrZXkpOwotfQotCi12YXIgdGVzdElucHV0MSA9IGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCd0ZXN0MScpOwotdmFyIHRlc3RJbnB1dDIgPSBkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgndGVzdDInKTsKLXZhciBwYWdlTmFtZSA9IGxvY2F0aW9uLnNlYXJjaCB8fCAnP3Bh
Z2UxJzsKLQotd2luZG93Lm9ubG9hZCA9IGZ1bmN0aW9uKCkgewotICAgIHN3aXRjaCAocGFnZU5h
bWUpIHsKLSAgICBjYXNlICc/cGFnZTEnOgotICAgICAgICBzd2l0Y2ggKHBhcmVudC5zdGF0ZSkg
ewotICAgICAgICBjYXNlICdkaXJlY3QnOiB7Ci0gICAgICAgICAgICB0ZXN0SW5wdXQxLnZhbHVl
ID0gJzAxOjAxJzsKLSAgICAgICAgICAgIHRlc3RJbnB1dDIuZm9jdXMoKTsKLSAgICAgICAgICAg
IGtleURvd24oJ3VwQXJyb3cnKTsKLSAgICAgICAgICAgIGtleURvd24oJ1x0Jyk7Ci0gICAgICAg
ICAgICBrZXlEb3duKCdcdCcpOwotICAgICAgICAgICAga2V5RG93bignXHQnKTsKLSAgICAgICAg
ICAgIGtleURvd24oJ3VwQXJyb3cnKTsKLSAgICAgICAgICAgIHZhciBuZXh0VXJpID0gbG9jYXRp
b24udG9TdHJpbmcoKS5yZXBsYWNlKCc/cGFnZTEnLCAnP3BhZ2UyJyk7Ci0gICAgICAgICAgICBz
ZXRUaW1lb3V0KGZ1bmN0aW9uKCkgeyB3aW5kb3cubG9jYXRpb24uaHJlZiA9IG5leHRVcmk7IH0s
IDApOwotICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgIH0KLSAgICAgICAgY2FzZSAnYmFja1Rv
MSc6Ci0gICAgICAgICAgICBwYXJlbnQudGVzdENhc2VzLnB1c2goCi0gICAgICAgICAgICAgICAg
ewotICAgICAgICAgICAgICAgICAgICAnZGVzY3JpcHRpb24nIDogJ1dlbnQgYmFjayB0byBhIHBh
Z2UuIENoZWNraW5nIGEgZm9ybSBjb250cm9sIHdoaWNoIGhhZCBhIGZ1bGwgdmFsdWUnLAotICAg
ICAgICAgICAgICAgICAgICAnYWN0dWFsJyA6IHRlc3RJbnB1dDEudmFsdWUsCi0gICAgICAgICAg
ICAgICAgICAgICdleHBlY3RlZCcgOiAnMDE6MDEnIH0sCi0gICAgICAgICAgICAgICAgewotICAg
ICAgICAgICAgICAgICAgICAnZGVzY3JpcHRpb24nIDogJ1dlbnQgYmFjayB0byBhIHBhZ2UuIENo
ZWNraW5nIGEgZm9ybSBjb250cm9sIHdoaWNoIGhhZCBhIHBhcnRpYWwgdmFsdWUnLAotICAgICAg
ICAgICAgICAgICAgICAnYWN0dWFsJyA6IGZpZWxkc1RleHQodGVzdElucHV0MiksCi0gICAgICAg
ICAgICAgICAgICAgICdleHBlY3RlZCcgOiAnMDE6LS06LS0gQU0nCi0gICAgICAgICAgICAgICAg
fSk7Ci0gICAgICAgICAgICBmb3J3YXJkKCdmb3J3YXJkVG8yJyk7Ci0gICAgICAgICAgICBicmVh
azsKLSAgICAgICAgY2FzZSAnYmFja1RvMVNlY29uZCc6Ci0gICAgICAgICAgICBwYXJlbnQuZmlu
aXNoVGVzdCgpOwotICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgIGRlZmF1bHQ6Ci0gICAgICAg
ICAgICBwYXJlbnQuZmFpbGVkKCdVbnN1cHBvcnRlZCBzdGF0ZSgnICsgcGFyZW50LnN0YXRlICsg
JyknKTsKLSAgICAgICAgICAgIGJyZWFrOwotICAgICAgICB9Ci0gICAgICAgIGJyZWFrOwotICAg
IGNhc2UgJz9wYWdlMic6Ci0gICAgICAgIHN3aXRjaCAocGFyZW50LnN0YXRlKSB7Ci0gICAgICAg
IGNhc2UgJ2RpcmVjdCc6Ci0gICAgICAgICAgICB0ZXN0SW5wdXQxLnZhbHVlID0gJzAyOjAyJzsK
LSAgICAgICAgICAgIHRlc3RJbnB1dDIuZm9jdXMoKTsKLSAgICAgICAgICAgIGtleURvd24oJ1x0
Jyk7Ci0gICAgICAgICAgICBrZXlEb3duKCdkb3duQXJyb3cnKTsKLSAgICAgICAgICAgIGJhY2so
J2JhY2tUbzEnKTsKLSAgICAgICAgICAgIGJyZWFrOwotICAgICAgICBjYXNlICdmb3J3YXJkVG8y
JzoKLSAgICAgICAgICAgIHBhcmVudC50ZXN0Q2FzZXMucHVzaCgKLSAgICAgICAgICAgICAgICB7
Ci0gICAgICAgICAgICAgICAgICAgICdkZXNjcmlwdGlvbicgOiAnV2VudCBmb3J3YXJkIHRvIGEg
cGFnZS4gQ2hlY2tpbmcgYSBmb3JtIGNvbnRyb2wgd2hpY2ggaGFkIGEgZnVsbCB2YWx1ZScsCi0g
ICAgICAgICAgICAgICAgICAgICdhY3R1YWwnIDogdGVzdElucHV0MS52YWx1ZSwKLSAgICAgICAg
ICAgICAgICAgICAgJ2V4cGVjdGVkJyA6ICcwMjowMicKLSAgICAgICAgICAgICAgICB9LAotICAg
ICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAgJ2Rlc2NyaXB0aW9uJyA6ICdXZW50
IGZvcndhcmQgdG8gYSBwYWdlLiBDaGVja2luZyBhIGZvcm0gY29udHJvbCB3aGljaCBoYWQgYSBw
YXJ0aWFsIHZhbHVlJywKLSAgICAgICAgICAgICAgICAgICAgJ2FjdHVhbCcgOiBmaWVsZHNUZXh0
KHRlc3RJbnB1dDIpLAotICAgICAgICAgICAgICAgICAgICAnZXhwZWN0ZWQnIDogJy0tOjU5Oi0t
IC0tJwotICAgICAgICAgICAgICAgIH0pOwotICAgICAgICAgICAgYmFjaygnYmFja1RvMVNlY29u
ZCcpOwotICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgIGRlZmF1bHQ6Ci0gICAgICAgICAgICBw
YXJlbnQuZmFpbGVkKCdVbnN1cHBvcnRlZCBzdGF0ZSgnICsgcGFyZW50LnN0YXRlICsgJyknKTsK
LSAgICAgICAgICAgIGJyZWFrOwotICAgICAgICB9Ci0gICAgICAgIGJyZWFrOwotICAgIGRlZmF1
bHQ6Ci0gICAgICAgIHBhcmVudC5mYWlsZWQoJ1Vuc3VwcG9ydGVkIHBhZ2UoJyArIHBhZ2VOYW1l
ICsgJyknKTsKLSAgICAgICAgYnJlYWs7Ci0gICAgfQotfTsKLTwvc2NyaXB0PgotPGJvZHk+Ci0K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvdGltZS1tdWx0aXBsZS1maWVsZHMv
dGltZS1tdWx0aXBsZS1maWVsZHMtYXgtYXJpYS1hdHRyaWJ1dGVzLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2Zhc3QvZm9ybXMvdGltZS1tdWx0aXBsZS1maWVsZHMvdGltZS1tdWx0aXBsZS1m
aWVsZHMtYXgtYXJpYS1hdHRyaWJ1dGVzLWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggYjdiMzJhMjhlZWFmZjQzYjA4NTYzODM5MmJhYWQ5NzZiMGJmZTQ1Ni4uMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9m
YXN0L2Zvcm1zL3RpbWUtbXVsdGlwbGUtZmllbGRzL3RpbWUtbXVsdGlwbGUtZmllbGRzLWF4LWFy
aWEtYXR0cmlidXRlcy1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSwyMiArMCwwIEBA
Ci1UaGlzIHRlc3QgY2hlY2tzIGFyaWEtaGVscCBhdHRyaWJ1dGUgb2YgZmllbGRzIGluIG11bHRp
cGxlIGZpZWxkcyB0aW1lIGlucHV0IFVJLgotCi1PbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBz
ZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCi0K
LQotTm9uLWVtcHR5IHZhbHVlCi1QQVNTIGZvY3VzZWRFbGVtZW50RGVzY3JpcHRpb24oKSBpcyAi
QVhIZWxwOiBIb3VycywgQVhWYWx1ZURlc2NyaXB0aW9uOiAxMiwgaW50VmFsdWU6MTIsIHJhbmdl
OjEtMTIiCi1QQVNTIGZvY3VzZWRFbGVtZW50RGVzY3JpcHRpb24oKSBpcyAiQVhIZWxwOiBNaW51
dGVzLCBBWFZhbHVlRGVzY3JpcHRpb246IDM0LCBpbnRWYWx1ZTozNCwgcmFuZ2U6MC01OSIKLVBB
U1MgZm9jdXNlZEVsZW1lbnREZXNjcmlwdGlvbigpIGlzICJBWEhlbHA6IFNlY29uZHMsIEFYVmFs
dWVEZXNjcmlwdGlvbjogNTYsIGludFZhbHVlOjU2LCByYW5nZTowLTU5IgotUEFTUyBmb2N1c2Vk
RWxlbWVudERlc2NyaXB0aW9uKCkgaXMgIkFYSGVscDogTWlsbGlzZWNvbmRzLCBBWFZhbHVlRGVz
Y3JpcHRpb246IDc4OSwgaW50VmFsdWU6Nzg5LCByYW5nZTowLTk5OSIKLVBBU1MgZm9jdXNlZEVs
ZW1lbnREZXNjcmlwdGlvbigpIGlzICJBWEhlbHA6IEFNL1BNLCBBWFZhbHVlRGVzY3JpcHRpb246
IFBNLCBpbnRWYWx1ZToyLCByYW5nZToxLTIiCi1FbXB0eSB2YWx1ZQotUEFTUyBmb2N1c2VkRWxl
bWVudERlc2NyaXB0aW9uKCkgaXMgIkFYSGVscDogQU0vUE0sIEFYVmFsdWVEZXNjcmlwdGlvbjog
YmxhbmssIGludFZhbHVlOjAsIHJhbmdlOjEtMiIKLVBBU1MgZm9jdXNlZEVsZW1lbnREZXNjcmlw
dGlvbigpIGlzICJBWEhlbHA6IE1pbGxpc2Vjb25kcywgQVhWYWx1ZURlc2NyaXB0aW9uOiBibGFu
aywgaW50VmFsdWU6MCwgcmFuZ2U6MC05OTkiCi1QQVNTIGZvY3VzZWRFbGVtZW50RGVzY3JpcHRp
b24oKSBpcyAiQVhIZWxwOiBTZWNvbmRzLCBBWFZhbHVlRGVzY3JpcHRpb246IGJsYW5rLCBpbnRW
YWx1ZTowLCByYW5nZTowLTU5IgotUEFTUyBmb2N1c2VkRWxlbWVudERlc2NyaXB0aW9uKCkgaXMg
IkFYSGVscDogTWludXRlcywgQVhWYWx1ZURlc2NyaXB0aW9uOiBibGFuaywgaW50VmFsdWU6MCwg
cmFuZ2U6MC01OSIKLVBBU1MgZm9jdXNlZEVsZW1lbnREZXNjcmlwdGlvbigpIGlzICJBWEhlbHA6
IEhvdXJzLCBBWFZhbHVlRGVzY3JpcHRpb246IGJsYW5rLCBpbnRWYWx1ZTowLCByYW5nZToxLTEy
IgotCi1QQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCi0KLVRFU1QgQ09NUExFVEUKLQpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy90aW1lLW11bHRpcGxlLWZpZWxkcy90
aW1lLW11bHRpcGxlLWZpZWxkcy1heC1hcmlhLWF0dHJpYnV0ZXMuaHRtbCBiL0xheW91dFRlc3Rz
L2Zhc3QvZm9ybXMvdGltZS1tdWx0aXBsZS1maWVsZHMvdGltZS1tdWx0aXBsZS1maWVsZHMtYXgt
YXJpYS1hdHRyaWJ1dGVzLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGViMGQ0
NWE5MWY2ZGU2N2JmNjA1OGVjZDFmZTFkZDRkODY4ZjUwN2EuLjAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy90aW1lLW11
bHRpcGxlLWZpZWxkcy90aW1lLW11bHRpcGxlLWZpZWxkcy1heC1hcmlhLWF0dHJpYnV0ZXMuaHRt
bAorKysgL2Rldi9udWxsCkBAIC0xLDY1ICswLDAgQEAKLTwhRE9DVFlQRSBodG1sPgotPGh0bWw+
Ci08aGVhZD4KLTxzY3JpcHQgc3JjPSIuLi8uLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0
LXByZS5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL211bHRpcGxlLWZp
ZWxkcy1heC1hcmlhLWF0dHJpYnV0ZXMuanMiPjwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHk+Ci08
aW5wdXQgaWQ9dGVzdCB0eXBlPSJ0aW1lIiB2YWx1ZT0iMTI6MzQ6NTYuNzg5Ij4KLTxzY3JpcHQ+
Ci1kZXNjcmlwdGlvbignVGhpcyB0ZXN0IGNoZWNrcyBhcmlhLWhlbHAgYXR0cmlidXRlIG9mIGZp
ZWxkcyBpbiBtdWx0aXBsZSBmaWVsZHMgdGltZSBpbnB1dCBVSS4nKTsKLQotZnVuY3Rpb24gZW5h
YmxlQWNjZXNzaWJpbGl0eSgpCi17Ci0gICAgaWYgKCF3aW5kb3cuYWNjZXNzaWJpbGl0eUNvbnRy
b2xsZXIpIHsKLSAgICAgICAgZGVidWcoIlBsZWFzZSBydW4gaW5zaWRlIER1bXBSZW5kZXJUcmVl
LiIpOwotICAgICAgICByZXR1cm47Ci0gICAgfQotfQotCi1mdW5jdGlvbiBrZXlEb3duKGtleSwg
bW9kaWZpZXJzKQotewotICAgIGlmICghd2luZG93LmV2ZW50U2VuZGVyKQotICAgICAgICByZXR1
cm47Ci0gICAgZXZlbnRTZW5kZXIua2V5RG93bihrZXksIG1vZGlmaWVycyk7Ci19Ci0KLXZhciB0
ZXN0SW5wdXQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgidGVzdCIpOwotCi1lbmFibGVBY2Nl
c3NpYmlsaXR5KCk7Ci10ZXN0SW5wdXQuZm9jdXMoKTsKLQotZGVidWcoJ05vbi1lbXB0eSB2YWx1
ZScpOwotdGVzdElucHV0LmZvY3VzKCk7Ci1jaGVja0ZvY3VzZWRFbGVtZW50QVhBdHRyaWJ1dGVz
KCdBWEhlbHA6IEhvdXJzLCBBWFZhbHVlRGVzY3JpcHRpb246IDEyLCBpbnRWYWx1ZToxMiwgcmFu
Z2U6MS0xMicpOwota2V5RG93bignXHQnKTsKLWNoZWNrRm9jdXNlZEVsZW1lbnRBWEF0dHJpYnV0
ZXMoJ0FYSGVscDogTWludXRlcywgQVhWYWx1ZURlc2NyaXB0aW9uOiAzNCwgaW50VmFsdWU6MzQs
IHJhbmdlOjAtNTknKTsKLWtleURvd24oJ1x0Jyk7Ci1jaGVja0ZvY3VzZWRFbGVtZW50QVhBdHRy
aWJ1dGVzKCdBWEhlbHA6IFNlY29uZHMsIEFYVmFsdWVEZXNjcmlwdGlvbjogNTYsIGludFZhbHVl
OjU2LCByYW5nZTowLTU5Jyk7Ci1rZXlEb3duKCdcdCcpOwotY2hlY2tGb2N1c2VkRWxlbWVudEFY
QXR0cmlidXRlcygnQVhIZWxwOiBNaWxsaXNlY29uZHMsIEFYVmFsdWVEZXNjcmlwdGlvbjogNzg5
LCBpbnRWYWx1ZTo3ODksIHJhbmdlOjAtOTk5Jyk7Ci1rZXlEb3duKCdcdCcpOwotY2hlY2tGb2N1
c2VkRWxlbWVudEFYQXR0cmlidXRlcygnQVhIZWxwOiBBTS9QTSwgQVhWYWx1ZURlc2NyaXB0aW9u
OiBQTSwgaW50VmFsdWU6MiwgcmFuZ2U6MS0yJyk7Ci0KLWRlYnVnKCdFbXB0eSB2YWx1ZScpOwot
a2V5RG93bignXGInKTsKLWNoZWNrRm9jdXNlZEVsZW1lbnRBWEF0dHJpYnV0ZXMoJ0FYSGVscDog
QU0vUE0sIEFYVmFsdWVEZXNjcmlwdGlvbjogYmxhbmssIGludFZhbHVlOjAsIHJhbmdlOjEtMicp
Owota2V5RG93bignXHQnLCBbJ3NoaWZ0S2V5J10pOwota2V5RG93bignXGInKTsKLWNoZWNrRm9j
dXNlZEVsZW1lbnRBWEF0dHJpYnV0ZXMoJ0FYSGVscDogTWlsbGlzZWNvbmRzLCBBWFZhbHVlRGVz
Y3JpcHRpb246IGJsYW5rLCBpbnRWYWx1ZTowLCByYW5nZTowLTk5OScpOwota2V5RG93bignXHQn
LCBbJ3NoaWZ0S2V5J10pOwota2V5RG93bignXGInKTsKLWNoZWNrRm9jdXNlZEVsZW1lbnRBWEF0
dHJpYnV0ZXMoJ0FYSGVscDogU2Vjb25kcywgQVhWYWx1ZURlc2NyaXB0aW9uOiBibGFuaywgaW50
VmFsdWU6MCwgcmFuZ2U6MC01OScpOwota2V5RG93bignXHQnLCBbJ3NoaWZ0S2V5J10pOwota2V5
RG93bignXGInKTsKLWNoZWNrRm9jdXNlZEVsZW1lbnRBWEF0dHJpYnV0ZXMoJ0FYSGVscDogTWlu
dXRlcywgQVhWYWx1ZURlc2NyaXB0aW9uOiBibGFuaywgaW50VmFsdWU6MCwgcmFuZ2U6MC01OScp
Owota2V5RG93bignXHQnLCBbJ3NoaWZ0S2V5J10pOwota2V5RG93bignXGInKTsKLWNoZWNrRm9j
dXNlZEVsZW1lbnRBWEF0dHJpYnV0ZXMoJ0FYSGVscDogSG91cnMsIEFYVmFsdWVEZXNjcmlwdGlv
bjogYmxhbmssIGludFZhbHVlOjAsIHJhbmdlOjEtMTInKTsKLQotZGVidWcoJycpOwotdGVzdElu
cHV0LnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQodGVzdElucHV0KTsKLTwvc2NyaXB0PgotPHNjcmlw
dCBzcmM9Ii4uLy4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3Jp
cHQ+Ci08L2JvZHk+Ci08L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1z
L3RpbWUtbXVsdGlwbGUtZmllbGRzL3RpbWUtbXVsdGlwbGUtZmllbGRzLWF4LXZhbHVlLWNoYW5n
ZWQtbm90aWZpY2F0aW9uLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvdGlt
ZS1tdWx0aXBsZS1maWVsZHMvdGltZS1tdWx0aXBsZS1maWVsZHMtYXgtdmFsdWUtY2hhbmdlZC1u
b3RpZmljYXRpb24tZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAy
ZTVlZDliZGE2MzIyZmQxNTZlYTQ1MWU5MTM4N2NmMzgyODAyNGRiLi4wMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvdGlt
ZS1tdWx0aXBsZS1maWVsZHMvdGltZS1tdWx0aXBsZS1maWVsZHMtYXgtdmFsdWUtY2hhbmdlZC1u
b3RpZmljYXRpb24tZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEsMTYgKzAsMCBAQAot
VGhpcyB0ZXN0IGNoZWNrcyB2YWx1ZSBjaGFuZ2VkIGFjY2Vzc2liaWxpdHkgbm90aWZpY2F0aW9u
cy4KLQotT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdl
cywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgotCi0KLUZvY3VzZWRVSUVsZW1lbnRDaGFu
Z2VkIEFYSGVscDogSG91cnM9QVhWYWx1ZURlc2NyaXB0aW9uOiAxMgotRm9jdXNlZFVJRWxlbWVu
dENoYW5nZWQgQVhIZWxwOiBNaW51dGVzPUFYVmFsdWVEZXNjcmlwdGlvbjogMzQKLVZhbHVlQ2hh
bmdlZCBBWEhlbHA6IE1pbnV0ZXM9QVhWYWx1ZURlc2NyaXB0aW9uOiAwNQotVmFsdWVDaGFuZ2Vk
IEFYSGVscDogTWludXRlcz1BWFZhbHVlRGVzY3JpcHRpb246IDA1Ci1WYWx1ZUNoYW5nZWQgQVhI
ZWxwOiBNaW51dGVzPUFYVmFsdWVEZXNjcmlwdGlvbjogMDUKLVZhbHVlQ2hhbmdlZCBBWEhlbHA6
IE1pbnV0ZXM9QVhWYWx1ZURlc2NyaXB0aW9uOiAwNQotCi1QQVNTIHN1Y2Nlc3NmdWxseVBhcnNl
ZCBpcyB0cnVlCi0KLVRFU1QgQ09NUExFVEUKLQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFz
dC9mb3Jtcy90aW1lLW11bHRpcGxlLWZpZWxkcy90aW1lLW11bHRpcGxlLWZpZWxkcy1heC12YWx1
ZS1jaGFuZ2VkLW5vdGlmaWNhdGlvbi5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy90aW1l
LW11bHRpcGxlLWZpZWxkcy90aW1lLW11bHRpcGxlLWZpZWxkcy1heC12YWx1ZS1jaGFuZ2VkLW5v
dGlmaWNhdGlvbi5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwNTkwZmEzZTIz
YTJkYTQzOWExZWE0ZWNhZWI1NDUyMzgzMWNmZWMyLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvdGltZS1tdWx0aXBs
ZS1maWVsZHMvdGltZS1tdWx0aXBsZS1maWVsZHMtYXgtdmFsdWUtY2hhbmdlZC1ub3RpZmljYXRp
b24uaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDUwICswLDAgQEAKLTwhRE9DVFlQRSBodG1sPgot
PGh0bWw+Ci08aGVhZD4KLTxzY3JpcHQgc3JjPSIuLi8uLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9q
cy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keT4KLTxpbnB1dCBpZD10ZXN0
IHR5cGU9InRpbWUiIHZhbHVlPSIxMjozNDo1Ni43ODkiPgotPHNjcmlwdD4KLWRlc2NyaXB0aW9u
KCdUaGlzIHRlc3QgY2hlY2tzIHZhbHVlIGNoYW5nZWQgYWNjZXNzaWJpbGl0eSBub3RpZmljYXRp
b25zLicpOwotCi1mdW5jdGlvbiBlbmFibGVBY2Nlc3NpYmlsaXR5KCkKLXsKLSAgICBpZiAoIXdp
bmRvdy5hY2Nlc3NpYmlsaXR5Q29udHJvbGxlcikgewotICAgICAgICBkZWJ1ZygiUGxlYXNlIHJ1
biBpbnNpZGUgRHVtcFJlbmRlclRyZWUuIik7Ci0gICAgICAgIHJldHVybjsKLSAgICB9Ci0KLSAg
ICBhY2Nlc3NpYmlsaXR5Q29udHJvbGxlci5hZGROb3RpZmljYXRpb25MaXN0ZW5lcihmdW5jdGlv
biAoZWxlbWVudCwgbm90aWZpY2F0aW9uKSB7Ci0gICAgICAgIGlmIChub3RpZmljYXRpb24gPT0g
J0ZvY3VzZWRVSUVsZW1lbnRDaGFuZ2VkJyB8fCBub3RpZmljYXRpb24gPT0gJ1ZhbHVlQ2hhbmdl
ZCcpIHsKLSAgICAgICAgICAgIGRlYnVnKG5vdGlmaWNhdGlvbiArICcgJyArIGVsZW1lbnQuaGVs
cFRleHQgKyAnPScgKyBlbGVtZW50LnZhbHVlRGVzY3JpcHRpb24pOwotICAgICAgICB9Ci0gICAg
fSk7Ci19Ci0KLWZ1bmN0aW9uIGtleURvd24oa2V5LCBtb2RpZmllcnMpCi17Ci0gICAgaWYgKCF3
aW5kb3cuZXZlbnRTZW5kZXIpCi0gICAgICAgIHJldHVybjsKLSAgICBldmVudFNlbmRlci5rZXlE
b3duKGtleSwgbW9kaWZpZXJzKTsKLX0KLQotdmFyIHRlc3RJbnB1dCA9IGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJ0ZXN0Iik7Ci0KLWVuYWJsZUFjY2Vzc2liaWxpdHkoKTsKLXRlc3RJbnB1dC5m
b2N1cygpOwota2V5RG93bignXHQnKTsKLWtleURvd24oJzQnKTsKLWtleURvd24oJ3VwQXJyb3cn
KTsKLQotd2luZG93LmpzVGVzdElzQXN5bmMgPSB0cnVlOwotCi13aW5kb3cuc2V0VGltZW91dChm
dW5jdGlvbiAoKSB7Ci0gICAgZGVidWcoJycpOwotICAgIHRlc3RJbnB1dC5wYXJlbnROb2RlLnJl
bW92ZUNoaWxkKHRlc3RJbnB1dCk7Ci0gICAgZmluaXNoSlNUZXN0KCk7Ci19LCAxKTsKLTwvc2Ny
aXB0PgotPHNjcmlwdCBzcmM9Ii4uLy4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcG9z
dC5qcyI+PC9zY3JpcHQ+Ci08L2JvZHk+Ci08L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9mYXN0L2Zvcm1zL3RpbWUtbXVsdGlwbGUtZmllbGRzL3RpbWUtbXVsdGlwbGUtZmllbGRzLWJs
dXItYW5kLWZvY3VzLWV2ZW50cy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1z
L3RpbWUtbXVsdGlwbGUtZmllbGRzL3RpbWUtbXVsdGlwbGUtZmllbGRzLWJsdXItYW5kLWZvY3Vz
LWV2ZW50cy1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDVjMjM5
MjE4N2M1ZWUwZTYwMzYxYmQxNDFlZWMwYzZmYTUxZjIxMWYuLjAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy90aW1lLW11
bHRpcGxlLWZpZWxkcy90aW1lLW11bHRpcGxlLWZpZWxkcy1ibHVyLWFuZC1mb2N1cy1ldmVudHMt
ZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEsMTggKzAsMCBAQAotQ2hlY2sgYmx1ciBh
bmQgZm9jdXMgZXZlbnRzIGZvciBtdWx0aXBsZSBmaWVsZHMgdGltZSBpbnB1dCBVSQotCi1PbiBz
dWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dl
ZCBieSAiVEVTVCBDT01QTEVURSIuCi0KLQotZm9jdXMoKSBhbmQgYmx1cigpCi1QQVNTIHRlc3RJ
bnB1dC5mb2N1cygpOyBzdGF0ZSgpIGlzICJibHVyPTAgZm9jdXM9MSIKLVBBU1MgdGVzdElucHV0
LmJsdXIoKTsgc3RhdGUoKSBpcyAiYmx1cj0xIGZvY3VzPTEiCi1mb2N1cyBhbmQgVGFiIGtleSB0
byBibHVyCi1QQVNTIGtleURvd24oIgkiKTsgc3RhdGUoKSBpcyAiYmx1cj0wIGZvY3VzPTEiCi1Q
QVNTIGtleURvd24oIgkiKTsgc3RhdGUoKSBpcyAiYmx1cj0wIGZvY3VzPTEiCi1QQVNTIGtleURv
d24oIgkiKTsgc3RhdGUoKSBpcyAiYmx1cj0wIGZvY3VzPTEiCi1QQVNTIGtleURvd24oIgkiKTsg
c3RhdGUoKSBpcyAiYmx1cj0xIGZvY3VzPTEiCi0KLVBBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlz
IHRydWUKLQotVEVTVCBDT01QTEVURQotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Zv
cm1zL3RpbWUtbXVsdGlwbGUtZmllbGRzL3RpbWUtbXVsdGlwbGUtZmllbGRzLWJsdXItYW5kLWZv
Y3VzLWV2ZW50cy5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy90aW1lLW11bHRpcGxlLWZp
ZWxkcy90aW1lLW11bHRpcGxlLWZpZWxkcy1ibHVyLWFuZC1mb2N1cy1ldmVudHMuaHRtbApkZWxl
dGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZTUwMjRmYmFlYzVhODdhZWZmMDRjMzA2YWIwMDY4
OTYyM2I0NzNjZi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0g
YS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3RpbWUtbXVsdGlwbGUtZmllbGRzL3RpbWUtbXVsdGlw
bGUtZmllbGRzLWJsdXItYW5kLWZvY3VzLWV2ZW50cy5odG1sCisrKyAvZGV2L251bGwKQEAgLTEs
MTIgKzAsMCBAQAotPCFET0NUWVBFIGh0bWw+Ci08aHRtbD4KLTxib2R5PgotPHNjcmlwdCBzcmM9
Ii4uLy4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNy
Yz0iLi4vcmVzb3VyY2VzL211bHRpcGxlLWZpZWxkcy1ibHVyLWFuZC1mb2N1cy1ldmVudHMuanMi
Pjwvc2NyaXB0PgotPGRpdiBpZD0iY29udGFpbmVyIj48L2Rpdj4KLTxzY3JpcHQ+Ci1zdGFydFRl
c3RGb3IoJ3RpbWUnKTsKLTwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii4uLy4uL2pzL3Jlc291cmNl
cy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgotPC9ib2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy90aW1lLW11bHRpcGxlLWZpZWxkcy90aW1lLW11bHRp
cGxlLWZpZWxkcy1jaGFuZ2UtbGF5b3V0LWJ5LXZhbHVlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2Zhc3QvZm9ybXMvdGltZS1tdWx0aXBsZS1maWVsZHMvdGltZS1tdWx0aXBsZS1maWVsZHMt
Y2hhbmdlLWxheW91dC1ieS12YWx1ZS1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDIxN2E2ODhkNWE2OWI2YmJlNjAzZjQzY2JmYTliY2E5NWJhOWNkN2IuLjAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvZmFz
dC9mb3Jtcy90aW1lLW11bHRpcGxlLWZpZWxkcy90aW1lLW11bHRpcGxlLWZpZWxkcy1jaGFuZ2Ut
bGF5b3V0LWJ5LXZhbHVlLWV4cGVjdGVkLnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDExICswLDAg
QEAKLUNoYW5nZSBtdWx0aXBsZSBmaWVsZHMgdGltZSBpbnB1dCBVSSBsYXlvdXQgYnkgdmFsdWUK
LQotT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywg
Zm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgotCi0KLVBBU1Mgd2lkdGhPZlN0ZXA2MCA8IHdp
ZHRoV2l0aE1pbGxpc2Vjb25kIGlzIHRydWUKLVBBU1Mgd2lkdGhPZlN0ZXA2MCA9PSB3aWR0aFdp
dGhTZWNvbmQgaXMgdHJ1ZQotUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQotCi1URVNU
IENPTVBMRVRFCi0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvdGltZS1tdWx0
aXBsZS1maWVsZHMvdGltZS1tdWx0aXBsZS1maWVsZHMtY2hhbmdlLWxheW91dC1ieS12YWx1ZS5o
dG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy90aW1lLW11bHRpcGxlLWZpZWxkcy90aW1lLW11
bHRpcGxlLWZpZWxkcy1jaGFuZ2UtbGF5b3V0LWJ5LXZhbHVlLmh0bWwKZGVsZXRlZCBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDVhM2Q3NWFjMmZiYzYxYjE0OWYwNTc5ZDIyYmEyM2RiZDVkZjgwYjMu
LjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVz
dHMvZmFzdC9mb3Jtcy90aW1lLW11bHRpcGxlLWZpZWxkcy90aW1lLW11bHRpcGxlLWZpZWxkcy1j
aGFuZ2UtbGF5b3V0LWJ5LXZhbHVlLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSwyOCArMCwwIEBA
Ci08IURPQ1RZUEUgaHRtbD4KLTxodG1sPgotPGhlYWQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vanMv
cmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5PgotPHNj
cmlwdD4KLWRlc2NyaXB0aW9uKCJDaGFuZ2UgbXVsdGlwbGUgZmllbGRzIHRpbWUgaW5wdXQgVUkg
bGF5b3V0IGJ5IHZhbHVlIik7Ci12YXIgdGVzdElucHV0ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVu
dCgiaW5wdXQiKTsKLXRlc3RJbnB1dC5zZXRBdHRyaWJ1dGUoInR5cGUiLCAidGltZSIpOwotdGVz
dElucHV0LnNldEF0dHJpYnV0ZSgic3RlcCIsICI2MCIpOwotdGVzdElucHV0LnNldEF0dHJpYnV0
ZSgidmFsdWUiLCAiMTI6MzQ6NTYiKTsKLWRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQodGVzdElu
cHV0KTsKLXZhciB3aWR0aE9mU3RlcDYwID0gdGVzdElucHV0Lm9mZnNldFdpZHRoOwotCi10ZXN0
SW5wdXQudmFsdWUgPSAiMTI6MzQ6NTYuNzg5IjsKLXZhciB3aWR0aFdpdGhNaWxsaXNlY29uZCA9
IHRlc3RJbnB1dC5vZmZzZXRXaWR0aDsKLXNob3VsZEJlVHJ1ZSgnd2lkdGhPZlN0ZXA2MCA8IHdp
ZHRoV2l0aE1pbGxpc2Vjb25kJyk7Ci0KLXRlc3RJbnB1dC52YWx1ZSA9ICIxMjozNDo1NiI7Ci12
YXIgd2lkdGhXaXRoU2Vjb25kID0gdGVzdElucHV0Lm9mZnNldFdpZHRoOwotc2hvdWxkQmVUcnVl
KCd3aWR0aE9mU3RlcDYwID09IHdpZHRoV2l0aFNlY29uZCcpOwotCi1kb2N1bWVudC5ib2R5LnJl
bW92ZUNoaWxkKHRlc3RJbnB1dCk7Ci08L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIuLi8uLi9qcy9y
ZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KLTwvYm9keT4KLTwvaHRtbD4KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvdGltZS1tdWx0aXBsZS1maWVsZHMvdGlt
ZS1tdWx0aXBsZS1maWVsZHMtY2hhbmdlLXR5cGUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
ZmFzdC9mb3Jtcy90aW1lLW11bHRpcGxlLWZpZWxkcy90aW1lLW11bHRpcGxlLWZpZWxkcy1jaGFu
Z2UtdHlwZS1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGZiZmVl
ZDkyYzZlMGNiYThkNzI0OWI2Yzg4MzRhMzA3OTUwNDA0MTEuLjAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy90aW1lLW11
bHRpcGxlLWZpZWxkcy90aW1lLW11bHRpcGxlLWZpZWxkcy1jaGFuZ2UtdHlwZS1leHBlY3RlZC50
eHQKKysrIC9kZXYvbnVsbApAQCAtMSArMCwwIEBACi1QQVNTIGlmIG5vdCBjcmFzaGVkLgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy90aW1lLW11bHRpcGxlLWZpZWxkcy90aW1l
LW11bHRpcGxlLWZpZWxkcy1jaGFuZ2UtdHlwZS1vbi1mb2N1cy0yLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2Zhc3QvZm9ybXMvdGltZS1tdWx0aXBsZS1maWVsZHMvdGltZS1tdWx0aXBsZS1m
aWVsZHMtY2hhbmdlLXR5cGUtb24tZm9jdXMtMi1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDk3NzAzZTc1NDRkZmMxYTE1NDVjNzljMWE5NzAzZjM0ZjVlYjYxYTcu
LjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVz
dHMvZmFzdC9mb3Jtcy90aW1lLW11bHRpcGxlLWZpZWxkcy90aW1lLW11bHRpcGxlLWZpZWxkcy1j
aGFuZ2UtdHlwZS1vbi1mb2N1cy0yLWV4cGVjdGVkLnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDcg
KzAsMCBAQAotQVNTRVJUIHNob3VsZCBub3QgYmUgdHJpZ2dlcmVkIHdoZW4gdHlwZSBpcyBjaGFu
Z2VkIGluIGZvY3VzIGV2ZW50LgotCi1QQVNTIHVubGVzcyBjcmFzaC4KLVBBU1Mgc3VjY2Vzc2Z1
bGx5UGFyc2VkIGlzIHRydWUKLQotVEVTVCBDT01QTEVURQotCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9mYXN0L2Zvcm1zL3RpbWUtbXVsdGlwbGUtZmllbGRzL3RpbWUtbXVsdGlwbGUtZmllbGRz
LWNoYW5nZS10eXBlLW9uLWZvY3VzLTIuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvdGlt
ZS1tdWx0aXBsZS1maWVsZHMvdGltZS1tdWx0aXBsZS1maWVsZHMtY2hhbmdlLXR5cGUtb24tZm9j
dXMtMi5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBlMDJlMTMxMTE3N2JjZTMw
NWNjYTdkZmZlZmYzZDE2ZWJmZjBlZWQ3Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvdGltZS1tdWx0aXBsZS1maWVs
ZHMvdGltZS1tdWx0aXBsZS1maWVsZHMtY2hhbmdlLXR5cGUtb24tZm9jdXMtMi5odG1sCisrKyAv
ZGV2L251bGwKQEAgLTEsMjkgKzAsMCBAQAotPCFET0NUWVBFIGh0bWw+Ci08aHRtbD48Ym9keSBj
b250ZW50ZWRpdGFibGU9InRydWUiPgotPHNjcmlwdCBzcmM9Ii4uLy4uLy4uL2Zhc3QvanMvcmVz
b3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KLQotPHA+QVNTRVJUIHNob3VsZCBub3Qg
YmUgdHJpZ2dlcmVkIHdoZW4gdHlwZSBpcyBjaGFuZ2VkIGluIGZvY3VzIGV2ZW50LjwvcD4KLQot
PGRpdiBpZD0iY29udGFpbmVyIj4KLSAgICA8aW5wdXQgaWQ9ImlucHV0IiB0eXBlPSJ0aW1lIiBz
dHlsZT0ibWFyZ2luLXRvcDogMTAwMHB4OyI+Ci08L2Rpdj4KLTxwcmUgaWQ9ImNvbnNvbGUiPjwv
cHJlPgotCi08c2NyaXB0PgotanNUZXN0SXNBc3luYyA9IHRydWU7Ci0KLWlucHV0LmFkZEV2ZW50
TGlzdGVuZXIoJ2ZvY3VzJywgZnVuY3Rpb24oKSB7Ci0gICAgaW5wdXQudHlwZSA9ICd0ZXh0OycK
LX0pOwotCi1zZXRUaW1lb3V0KGZ1bmN0aW9uKCkgewotICAgIGV2ZW50U2VuZGVyLmtleURvd24o
J1x0Jyk7Ci0gICAgZXZlbnRTZW5kZXIua2V5RG93bignXHQnKTsKLSAgICBzZXRUaW1lb3V0KGZ1
bmN0aW9uKCkgewotICAgICAgICBjb250YWluZXIuaW5uZXJIVE1MID0gJ1BBU1MgdW5sZXNzIGNy
YXNoLic7Ci0gICAgICAgIGZpbmlzaEpTVGVzdCgpOwotICAgIH0sIDApOwotfSwgMCk7Ci08L3Nj
cmlwdD4KLTxzY3JpcHQgc3JjPSIuLi8uLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXBv
c3QuanMiPjwvc2NyaXB0PgotPC9ib2R5PjwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2Zhc3QvZm9ybXMvdGltZS1tdWx0aXBsZS1maWVsZHMvdGltZS1tdWx0aXBsZS1maWVsZHMtY2hh
bmdlLXR5cGUtb24tZm9jdXMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy90
aW1lLW11bHRpcGxlLWZpZWxkcy90aW1lLW11bHRpcGxlLWZpZWxkcy1jaGFuZ2UtdHlwZS1vbi1m
b2N1cy1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGI1NTc4Njg0
ODBiMGRiMDllNWY4Njc4YmFhYmY2ZDUzNDI2MmRmMzIuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy90aW1lLW11bHRp
cGxlLWZpZWxkcy90aW1lLW11bHRpcGxlLWZpZWxkcy1jaGFuZ2UtdHlwZS1vbi1mb2N1cy1leHBl
Y3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSwxMiArMCwwIEBACi1Bc3NlcnRpb24gZmFpbHVy
ZSBieSBjaGFuZ2luZyB0eXBlIGZyb20gdHlwZT10aW1lIGluIGZvY3VzIGV2ZW50LgotCi1PbiBz
dWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dl
ZCBieSAiVEVTVCBDT01QTEVURSIuCi0KLQotCi1QQVNTIE5vdCBjcmFzaGVkLgotUEFTUyBtb3Vz
ZURvd25Db3VudCBpcyAxCi1QQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCi0KLVRFU1Qg
Q09NUExFVEUKLQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy90aW1lLW11bHRp
cGxlLWZpZWxkcy90aW1lLW11bHRpcGxlLWZpZWxkcy1jaGFuZ2UtdHlwZS1vbi1mb2N1cy5odG1s
IGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy90aW1lLW11bHRpcGxlLWZpZWxkcy90aW1lLW11bHRp
cGxlLWZpZWxkcy1jaGFuZ2UtdHlwZS1vbi1mb2N1cy5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCBiMWJkNzIzZmY4NTBjNDI0YWI3YTk2OTg3MWY1M2Q0MjFjZjIzZWQ2Li4wMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2Zh
c3QvZm9ybXMvdGltZS1tdWx0aXBsZS1maWVsZHMvdGltZS1tdWx0aXBsZS1maWVsZHMtY2hhbmdl
LXR5cGUtb24tZm9jdXMuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDE4ICswLDAgQEAKLTwhRE9D
VFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KLTxodG1sPgotPGhlYWQ+
Ci08c2NyaXB0IHNyYz0iLi4vLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMi
Pjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy9jb21tb24tY2hhbmdlLXR5cGUt
b24tZm9jdXMuanMiPjwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHk+Ci08cCBpZD0iZGVzY3JpcHRp
b24iPjwvcD4KLQotPGlucHV0IGlkPXRlc3QgdHlwZT10aW1lIHZhbHVlPSIwNzowMCI+Ci0KLTxk
aXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgotPHNjcmlwdD4KLXRlc3RDaGFuZ2VUeXBlT25Gb2N1cygp
OwotPC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMt
dGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KLTwvYm9keT4KLTwvaHRtbD4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2Zhc3QvZm9ybXMvdGltZS1tdWx0aXBsZS1maWVsZHMvdGltZS1tdWx0aXBsZS1m
aWVsZHMtY2hhbmdlLXR5cGUuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvdGltZS1tdWx0
aXBsZS1maWVsZHMvdGltZS1tdWx0aXBsZS1maWVsZHMtY2hhbmdlLXR5cGUuaHRtbApkZWxldGVk
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZjEwNmFiOTYyMDg5MGVmMDdhMGQwNTkxMjZhNDc5ZjVl
ZDg1M2EyMi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9M
YXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3RpbWUtbXVsdGlwbGUtZmllbGRzL3RpbWUtbXVsdGlwbGUt
ZmllbGRzLWNoYW5nZS10eXBlLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSwxMCArMCwwIEBACi08
Ym9keT4KLTxzY3JpcHQ+Ci1pZiAod2luZG93LnRlc3RSdW5uZXIpCi0gICAgdGVzdFJ1bm5lci5k
dW1wQXNUZXh0KCk7Ci12YXIgaSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2lucHV0Jyk7Ci1p
LnR5cGUgPSAndGltZSc7Ci1pLnR5cGUgPSAndGV4dCc7Ci08L3NjcmlwdD4KLVBBU1MgaWYgbm90
IGNyYXNoZWQuCi08L2JvZHk+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3Rp
bWUtbXVsdGlwbGUtZmllbGRzL3RpbWUtbXVsdGlwbGUtZmllbGRzLWNsZWFyYnV0dG9uLWNoYW5n
ZS1hbmQtaW5wdXQtZXZlbnRzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMv
dGltZS1tdWx0aXBsZS1maWVsZHMvdGltZS1tdWx0aXBsZS1maWVsZHMtY2xlYXJidXR0b24tY2hh
bmdlLWFuZC1pbnB1dC1ldmVudHMtZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCA2ZjUxNDg5MmJhMmExMWY1NjZlZTRmZDU2Y2Q1MjA1NzkwODMxNDhiLi4wMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2Zhc3Qv
Zm9ybXMvdGltZS1tdWx0aXBsZS1maWVsZHMvdGltZS1tdWx0aXBsZS1maWVsZHMtY2xlYXJidXR0
b24tY2hhbmdlLWFuZC1pbnB1dC1ldmVudHMtZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAg
LTEsMTkgKzAsMCBAQAotVGVzdCBmb3IgZXZlbnQgZGlzcGF0Y2hpbmcgYnkgc3BpbiBidXR0b25z
IGluIGEgdHlwZT10aW1lIGlucHV0LgotCi1PbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJp
ZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCi0KLQot
SW5pdGlhbCBzdGF0ZQotUEFTUyBjaGFuZ2VFdmVudENvdW50ZXIgaXMgMAotUEFTUyBpbnB1dEV2
ZW50Q291bnRlciBpcyAwCi1DbGljayB0aGUgY2xlYXIgYnV0dG9uCi1QQVNTIHRlc3RJbnB1dC52
YWx1ZSBpcyAiIgotUEFTUyBjaGFuZ2VFdmVudENvdW50ZXIgaXMgMQotUEFTUyBpbnB1dEV2ZW50
Q291bnRlciBpcyAxCi1Gb2N1cyBvbiBhbm90aGVyIGZpZWxkCi1QQVNTIGNoYW5nZUV2ZW50Q291
bnRlciBpcyAxCi1QQVNTIGlucHV0RXZlbnRDb3VudGVyIGlzIDEKLVBBU1Mgc3VjY2Vzc2Z1bGx5
UGFyc2VkIGlzIHRydWUKLQotVEVTVCBDT01QTEVURQotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9mYXN0L2Zvcm1zL3RpbWUtbXVsdGlwbGUtZmllbGRzL3RpbWUtbXVsdGlwbGUtZmllbGRzLWNs
ZWFyYnV0dG9uLWNoYW5nZS1hbmQtaW5wdXQtZXZlbnRzLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0
L2Zvcm1zL3RpbWUtbXVsdGlwbGUtZmllbGRzL3RpbWUtbXVsdGlwbGUtZmllbGRzLWNsZWFyYnV0
dG9uLWNoYW5nZS1hbmQtaW5wdXQtZXZlbnRzLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IGYxN2Q3MGM2Mjk0MjRkOGEzMTczMjJjODMxOWM3Y2ZjYTlhNTE1ZWUuLjAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9m
b3Jtcy90aW1lLW11bHRpcGxlLWZpZWxkcy90aW1lLW11bHRpcGxlLWZpZWxkcy1jbGVhcmJ1dHRv
bi1jaGFuZ2UtYW5kLWlucHV0LWV2ZW50cy5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsMTQgKzAs
MCBAQAotPCFET0NUWVBFIGh0bWw+Ci08aHRtbD4KLTxoZWFkPgotPHNjcmlwdCBzcmM9Ii4uLy4u
Ly4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQg
c3JjPSIuLi9yZXNvdXJjZXMvY29tbW9uLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIuLi9y
ZXNvdXJjZXMvY29tbW9uLWNsZWFyYnV0dG9uLWNoYW5nZS1hbmQtaW5wdXQtZXZlbnRzLmpzIj48
L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5PgotPHNjcmlwdD4KLXRlc3RDbGVhckJ1dHRvbkNoYW5n
ZUFuZElucHV0RXZlbnRzKCd0aW1lJywgJzEyOjM0Jyk7Ci08L3NjcmlwdD4KLTxzY3JpcHQgc3Jj
PSIuLi8uLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0Pgot
PC9ib2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy90aW1l
LW11bHRpcGxlLWZpZWxkcy90aW1lLW11bHRpcGxlLWZpZWxkcy1jbGVhcmJ1dHRvbi12aXNpYmls
aXR5LWFmdGVyLXJlc3RvcmUtZXhwZWN0ZWQuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMv
dGltZS1tdWx0aXBsZS1maWVsZHMvdGltZS1tdWx0aXBsZS1maWVsZHMtY2xlYXJidXR0b24tdmlz
aWJpbGl0eS1hZnRlci1yZXN0b3JlLWV4cGVjdGVkLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDViY2U3OTM2YjI1NjU5Yjc0MTgwZjQzZDFkYWNhNGQ4YTQ5ZjEwY2QuLjAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvZmFz
dC9mb3Jtcy90aW1lLW11bHRpcGxlLWZpZWxkcy90aW1lLW11bHRpcGxlLWZpZWxkcy1jbGVhcmJ1
dHRvbi12aXNpYmlsaXR5LWFmdGVyLXJlc3RvcmUtZXhwZWN0ZWQuaHRtbAorKysgL2Rldi9udWxs
CkBAIC0xLDEwICswLDAgQEAKLTwhRE9DVFlQRSBodG1sPgotPGh0bWw+Ci08Ym9keT4KLTxpbnB1
dCBpZD0iZW1wdHlPbkZpcnN0VmlzaXQiIHZhbHVlPSJ2aXNpdGVkIj4KLTxmb3JtIGFjdGlvbj0i
ZGF0YTp0ZXh0L2h0bWwsJmx0O3NjcmlwdD5oaXN0b3J5LmJhY2soKSZsdDsvc2NyaXB0PiIgaWQ9
Zm9ybTE+Ci0gICAgPGlucHV0IHR5cGU9dGltZSBpZD1pbnB1dDE+Ci0gICAgPGlucHV0IHR5cGU9
dGltZSBpZD1pbnB1dDIgdmFsdWU9IjAyOjAyIj4KLSAgICA8aW5wdXQgdHlwZT10aW1lIGlkPWlu
cHV0MyB2YWx1ZT0iMDM6MDM6MDMuMDAzIj4KLTwvZm9ybT4KLTwvYm9keT4KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvdGltZS1tdWx0aXBsZS1maWVsZHMvdGltZS1tdWx0aXBs
ZS1maWVsZHMtY2xlYXJidXR0b24tdmlzaWJpbGl0eS1hZnRlci1yZXN0b3JlLmh0bWwgYi9MYXlv
dXRUZXN0cy9mYXN0L2Zvcm1zL3RpbWUtbXVsdGlwbGUtZmllbGRzL3RpbWUtbXVsdGlwbGUtZmll
bGRzLWNsZWFyYnV0dG9uLXZpc2liaWxpdHktYWZ0ZXItcmVzdG9yZS5odG1sCmRlbGV0ZWQgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCA0YjNjNGVlNmQzZjA1YzNhZTBkNTgxZTNkZmYyNzIyZmExMGNi
Y2UzLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91
dFRlc3RzL2Zhc3QvZm9ybXMvdGltZS1tdWx0aXBsZS1maWVsZHMvdGltZS1tdWx0aXBsZS1maWVs
ZHMtY2xlYXJidXR0b24tdmlzaWJpbGl0eS1hZnRlci1yZXN0b3JlLmh0bWwKKysrIC9kZXYvbnVs
bApAQCAtMSwzMiArMCwwIEBACi08IURPQ1RZUEUgaHRtbD4KLTxodG1sPgotPGJvZHk+Ci08aW5w
dXQgaWQ9ImVtcHR5T25GaXJzdFZpc2l0Ij4KLTxmb3JtIGFjdGlvbj0iZGF0YTp0ZXh0L2h0bWws
Jmx0O3NjcmlwdD5oaXN0b3J5LmJhY2soKSZsdDsvc2NyaXB0PiIgaWQ9Zm9ybTE+Ci0gICAgPGlu
cHV0IHR5cGU9dGltZSBpZD1pbnB1dDE+Ci0gICAgPGlucHV0IHR5cGU9dGltZSBpZD1pbnB1dDI+
Ci0gICAgPGlucHV0IHR5cGU9dGltZSBpZD1pbnB1dDMgdmFsdWU9IjAxOjAxOjAxLjAwMSI+Ci08
L2Zvcm0+Ci0KLTxzY3JpcHQ+Ci0vLyBSZXN0b3JpbmcgdGhlIGZvcm0gc2hvdWxkIHVwZGF0ZSB0
aGUgY2xlYXIgYnV0dG9uIHZpc2liaWxpdHkuCi10ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTsK
LWZ1bmN0aW9uIHJ1blRlc3QoKQotewotICAgIHZhciBzdGF0ZSA9IGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCdlbXB0eU9uRmlyc3RWaXNpdCcpOwotICAgIGlmICghc3RhdGUudmFsdWUpIHsKLSAg
ICAgICAgLy8gRmlyc3QgdmlzaXQuCi0gICAgICAgIHNldFRpbWVvdXQoZnVuY3Rpb24oKSB7Ci0g
ICAgICAgICAgICBzdGF0ZS52YWx1ZSA9ICd2aXNpdGVkJzsKLSAgICAgICAgICAgIGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCdpbnB1dDInKS52YWx1ZSA9ICIwMjowMiI7Ci0gICAgICAgICAgICBk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgnaW5wdXQzJykudmFsdWUgPSAiMDM6MDM6MDMuMDAzIjsK
LSAgICAgICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdmb3JtMScpLnN1Ym1pdCgpOwot
ICAgICAgICB9LCAwKTsKLSAgICB9IGVsc2UgewotICAgICAgICB0ZXN0UnVubmVyLm5vdGlmeURv
bmUoKTsKLSAgICB9Ci19Ci0KLXdpbmRvdy5vbmxvYWQgPSBydW5UZXN0OwotPC9zY3JpcHQ+Ci08
L2JvZHk+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3RpbWUtbXVsdGlwbGUt
ZmllbGRzL3RpbWUtbXVsdGlwbGUtZmllbGRzLWNyYXNoLWFmdGVyLWFkb3B0bm9kZS1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3RpbWUtbXVsdGlwbGUtZmllbGRzL3RpbWUt
bXVsdGlwbGUtZmllbGRzLWNyYXNoLWFmdGVyLWFkb3B0bm9kZS1leHBlY3RlZC50eHQKZGVsZXRl
ZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDNjN2VmOGVkMWQ5NTdiNDNlMWRlOGEyYjY0ODUwMzk5
ZGJjNjRhODAuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEv
TGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy90aW1lLW11bHRpcGxlLWZpZWxkcy90aW1lLW11bHRpcGxl
LWZpZWxkcy1jcmFzaC1hZnRlci1hZG9wdG5vZGUtZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwK
QEAgLTEsMTEgKzAsMCBAQAotQ2hlY2sgYWRvcHROb2RlIGRpc3BhdGNocyBibHVyIGV2ZW50IGZv
ciBtdWx0aXBsZSBmaWVsZHMgdGltZSBpbnB1dCBVSQotCi1PbiBzdWNjZXNzLCB5b3Ugd2lsbCBz
ZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVU
RSIuCi0KLQotUEFTUyBsb2dzLnRvU3RyaW5nKCkgaXMgInN0YXJ0LWFkb3B0Tm9kZSxibHVyLGVu
ZC1hZG9wdE5vZGUsc3RhcnQtZm9jdXMsZW5kLWZvY3VzIgotCi1QQVNTIHN1Y2Nlc3NmdWxseVBh
cnNlZCBpcyB0cnVlCi0KLVRFU1QgQ09NUExFVEUKLQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZmFzdC9mb3Jtcy90aW1lLW11bHRpcGxlLWZpZWxkcy90aW1lLW11bHRpcGxlLWZpZWxkcy1jcmFz
aC1hZnRlci1hZG9wdG5vZGUuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvdGltZS1tdWx0
aXBsZS1maWVsZHMvdGltZS1tdWx0aXBsZS1maWVsZHMtY3Jhc2gtYWZ0ZXItYWRvcHRub2RlLmh0
bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDhiNmZhODdkZWE5NjEwNjA3Y2ZhMDcw
ODY1NWU5ZGExNGEwZWUwYWEuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy90aW1lLW11bHRpcGxlLWZpZWxkcy90aW1l
LW11bHRpcGxlLWZpZWxkcy1jcmFzaC1hZnRlci1hZG9wdG5vZGUuaHRtbAorKysgL2Rldi9udWxs
CkBAIC0xLDMxICswLDAgQEAKLTwhRE9DVFlQRSBodG1sPgotPGh0bWw+Ci08aGVhZD4KLTxzY3Jp
cHQgc3JjPSIuLi8uLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgotPC9o
ZWFkPgotPGJvZHk+Ci08ZGl2IGlkPSJjb250YWluZXIiPgotPGlucHV0IGF1dG9mb2N1cyBpZD0i
dGVzdCIgdHlwZT0idGltZSIgdmFsdWU9IjEyOjM0Ij4KLTwvZGl2PgotPHNjcmlwdD4KLWRlc2Ny
aXB0aW9uKCdDaGVjayBhZG9wdE5vZGUgZGlzcGF0Y2hzIGJsdXIgZXZlbnQgZm9yIG11bHRpcGxl
IGZpZWxkcyB0aW1lIGlucHV0IFVJJyk7Ci12YXIgY29udGFpbmVyID0gZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvbnRhaW5lciIpOwotdmFyIHRlc3RJbnB1dCA9IGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCd0ZXN0Jyk7Ci12YXIgbG9ncyA9IFtdOwotdGVzdElucHV0LmFkZEV2ZW50TGlzdGVu
ZXIoJ2JsdXInLCBmdW5jdGlvbiAoKSB7IGxvZ3MucHVzaCgnYmx1cicpOyB9KTsKLWxvZ3MucHVz
aCgnc3RhcnQtYWRvcHROb2RlJyk7Ci1kb2N1bWVudC5pbXBsZW1lbnRhdGlvbi5jcmVhdGVEb2N1
bWVudCgnJywgJycsIG51bGwpLmFkb3B0Tm9kZSh0ZXN0SW5wdXQpOwotbG9ncy5wdXNoKCdlbmQt
YWRvcHROb2RlJyk7Ci10ZXN0SW5wdXQuc2V0QXR0cmlidXRlKCd4JywgJ3gnKTsKLXRlc3RJbnB1
dC5zZXRBdHRyaWJ1dGUoJ3R5cGUnLCAnc3VibWl0Jyk7Ci1jb250YWluZXIuYXBwZW5kQ2hpbGQo
dGVzdElucHV0KTsKLWxvZ3MucHVzaCgnc3RhcnQtZm9jdXMnKTsKLXRlc3RJbnB1dC5mb2N1cygp
OwotbG9ncy5wdXNoKCdlbmQtZm9jdXMnKTsKLXNob3VsZEJlRXF1YWxUb1N0cmluZygnbG9ncy50
b1N0cmluZygpJywgJ3N0YXJ0LWFkb3B0Tm9kZSxibHVyLGVuZC1hZG9wdE5vZGUsc3RhcnQtZm9j
dXMsZW5kLWZvY3VzJyk7Ci1kZWJ1ZygnJyk7Ci1kb2N1bWVudC5ib2R5LnJlbW92ZUNoaWxkKGNv
bnRhaW5lcik7Ci08L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIuLi8uLi9qcy9yZXNvdXJjZXMvanMt
dGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KLTwvYm9keT4KLTwvaHRtbD4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2Zhc3QvZm9ybXMvdGltZS1tdWx0aXBsZS1maWVsZHMvdGltZS1tdWx0aXBsZS1m
aWVsZHMtZmFsbGJhY2stZm9ybWF0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvZm9y
bXMvdGltZS1tdWx0aXBsZS1maWVsZHMvdGltZS1tdWx0aXBsZS1maWVsZHMtZmFsbGJhY2stZm9y
bWF0LWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNDIxNzRkNDJl
ZjdhMDVjMzIyMmNjMTliZjE5MjMxZGJmZGRkMDcyMi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3RpbWUtbXVsdGlw
bGUtZmllbGRzL3RpbWUtbXVsdGlwbGUtZmllbGRzLWZhbGxiYWNrLWZvcm1hdC1leHBlY3RlZC50
eHQKKysrIC9kZXYvbnVsbApAQCAtMSwxNyArMCwwIEBACi1DaGVja3MgaW5jb21wbGV0ZSBkYXRl
dGltZSBmb3JtYXRzIGFyZSByZWplY3RlZC4KLQotT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEg
c2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgot
Ci0KLVZhbGlkIGZvcm1hdAotUEFTUyBnZXRVc2VyQWdlbnRTaGFkb3dUZXh0Q29udGVudChpbnB1
dCkgaXMgIjAxLjIzNDo1OToxMSBQTSIKLVBBU1MgZ2V0VXNlckFnZW50U2hhZG93VGV4dENvbnRl
bnQoaW5wdXQpIGlzICIwMS4yMzQ6NTk6MjMiCi1QQVNTIGdldFVzZXJBZ2VudFNoYWRvd1RleHRD
b250ZW50KGlucHV0KSBpcyAiMDEuMjM0OjU5OjIzIFBNIgotSW52YWxpZCBmb3JtYXQsIGZhbGxi
YWNrIHRvIEhIOm1tOnNzCi1QQVNTIGdldFVzZXJBZ2VudFNoYWRvd1RleHRDb250ZW50KGlucHV0
KSBpcyAiMjM6NTk6MDEuMjM0IgotUEFTUyBnZXRVc2VyQWdlbnRTaGFkb3dUZXh0Q29udGVudChp
bnB1dCkgaXMgIjIzOjU5OjAxLjIzNCIKLVBBU1MgZ2V0VXNlckFnZW50U2hhZG93VGV4dENvbnRl
bnQoaW5wdXQpIGlzICIyMzo1OTowMS4yMzQiCi1QQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0
cnVlCi0KLVRFU1QgQ09NUExFVEUKLQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jt
cy90aW1lLW11bHRpcGxlLWZpZWxkcy90aW1lLW11bHRpcGxlLWZpZWxkcy1mYWxsYmFjay1mb3Jt
YXQuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvdGltZS1tdWx0aXBsZS1maWVsZHMvdGlt
ZS1tdWx0aXBsZS1maWVsZHMtZmFsbGJhY2stZm9ybWF0Lmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDc2NmUxNjE3Zjk3ZTFmNzg2MzQwYTU5Y2E2NTQ5MWQ4NGZhMTkxZDEuLjAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMv
ZmFzdC9mb3Jtcy90aW1lLW11bHRpcGxlLWZpZWxkcy90aW1lLW11bHRpcGxlLWZpZWxkcy1mYWxs
YmFjay1mb3JtYXQuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDQzICswLDAgQEAKLTwhRE9DVFlQ
RSBodG1sPgotPGh0bWw+Ci08aGVhZD4KLTxzY3JpcHQgc3JjPSIuLi8uLi9qcy9yZXNvdXJjZXMv
anMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy9jb21t
b24uanMiPjwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHk+Ci08c2NyaXB0PgotZGVzY3JpcHRpb24o
J0NoZWNrcyBpbmNvbXBsZXRlIGRhdGV0aW1lIGZvcm1hdHMgYXJlIHJlamVjdGVkLicpOwotCi12
YXIgaW5wdXQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdpbnB1dCcpOwotaW5wdXQudHlwZSA9
ICd0aW1lJzsKLWRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoaW5wdXQpOwotCi1mdW5jdGlvbiBz
ZXREYXRlVGltZUZvcm1hdChwYXR0ZXJuKSB7Ci0gICAgdmFyIHZhbHVlID0gaW5wdXQudmFsdWU7
Ci0gICAgZ2V0RWxlbWVudEJ5UHNldWRvSWQoaW50ZXJuYWxzLnlvdW5nZXN0U2hhZG93Um9vdChp
bnB1dCksICctd2Via2l0LWRhdGV0aW1lLWVkaXQnKS5zZXRBdHRyaWJ1dGUoJ3BhdHRlcm4nLCBw
YXR0ZXJuKTsKLSAgICBpbnB1dC52YWx1ZSA9ICcnOyAvLyBVcGRhdGVzIHRoZSBlbGVtZW50IGZv
ciBuZXcgZm9ybWF0Ci0gICAgaW5wdXQudmFsdWUgPSB2YWx1ZTsKLX0KLQotaW5wdXQudmFsdWUg
PSAnMjM6NTk6MDEuMjM0JzsKLQotZGVidWcoJ1ZhbGlkIGZvcm1hdCcpOwotc2V0RGF0ZVRpbWVG
b3JtYXQoJ3NzOm1tOmhoIGEnKTsKLXNob3VsZEJlRXF1YWxUb1N0cmluZygnZ2V0VXNlckFnZW50
U2hhZG93VGV4dENvbnRlbnQoaW5wdXQpJywgJzAxLjIzNDo1OToxMSBQTScpOwotc2V0RGF0ZVRp
bWVGb3JtYXQoJ3NzOm1tOkhIJyk7Ci1zaG91bGRCZUVxdWFsVG9TdHJpbmcoJ2dldFVzZXJBZ2Vu
dFNoYWRvd1RleHRDb250ZW50KGlucHV0KScsICcwMS4yMzQ6NTk6MjMnKTsKLXNldERhdGVUaW1l
Rm9ybWF0KCdzczptbTpISCBhJyk7Ci1zaG91bGRCZUVxdWFsVG9TdHJpbmcoJ2dldFVzZXJBZ2Vu
dFNoYWRvd1RleHRDb250ZW50KGlucHV0KScsICcwMS4yMzQ6NTk6MjMgUE0nKTsKLQotZGVidWco
J0ludmFsaWQgZm9ybWF0LCBmYWxsYmFjayB0byBISDptbTpzcycpOwotc2V0RGF0ZVRpbWVGb3Jt
YXQoJ0hIJyk7Ci1zaG91bGRCZUVxdWFsVG9TdHJpbmcoJ2dldFVzZXJBZ2VudFNoYWRvd1RleHRD
b250ZW50KGlucHV0KScsICcyMzo1OTowMS4yMzQnKTsKLXNldERhdGVUaW1lRm9ybWF0KCdtbTpz
cycpOwotc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdnZXRVc2VyQWdlbnRTaGFkb3dUZXh0Q29udGVu
dChpbnB1dCknLCAnMjM6NTk6MDEuMjM0Jyk7Ci1zZXREYXRlVGltZUZvcm1hdCgnaGg6bW06c3Mn
KTsKLXNob3VsZEJlRXF1YWxUb1N0cmluZygnZ2V0VXNlckFnZW50U2hhZG93VGV4dENvbnRlbnQo
aW5wdXQpJywgJzIzOjU5OjAxLjIzNCcpOwotCi08L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIuLi8u
Li9qcy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KLTwvYm9keT4KLTwvaHRt
bD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvdGltZS1tdWx0aXBsZS1maWVs
ZHMvdGltZS1tdWx0aXBsZS1maWVsZHMtZm9jdXMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
ZmFzdC9mb3Jtcy90aW1lLW11bHRpcGxlLWZpZWxkcy90aW1lLW11bHRpcGxlLWZpZWxkcy1mb2N1
cy1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDFkZTRmNzk2MzBi
MTcyNGFlMjQyMWI4M2YyNDQ3N2E0ZDA4ODk5ODIuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy90aW1lLW11bHRpcGxl
LWZpZWxkcy90aW1lLW11bHRpcGxlLWZpZWxkcy1mb2N1cy1leHBlY3RlZC50eHQKKysrIC9kZXYv
bnVsbApAQCAtMSwxNSArMCwwIEBACi1DaGVjayBpZiBmb2N1cygpIGZvciBmb2N1c2VkIGlucHV0
IGRvZXMgbm90IGNoYW5nZSBmb2N1c2VkIHN1Yi1maWVsZC4KLQotT24gc3VjY2VzcywgeW91IHdp
bGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09N
UExFVEUiLgotCi0KLU1vdmUgZm9jdXMgdG8gdGhlIHNlY29uZCBzdWItZmllbGQ6Ci1QQVNTIGRv
Y3VtZW50LmFjdGl2ZUVsZW1lbnQgaXMgdGltZUlucHV0Ci1QQVNTIHBzZXVkb09mRm9jdXNlZCh0
aW1lSW5wdXQpIGlzICItd2Via2l0LWRhdGV0aW1lLWVkaXQtbWludXRlLWZpZWxkIgotUEFTUyB0
aW1lSW5wdXQuZm9jdXMoKTsgcHNldWRvT2ZGb2N1c2VkKHRpbWVJbnB1dCkgaXMgIi13ZWJraXQt
ZGF0ZXRpbWUtZWRpdC1taW51dGUtZmllbGQiCi1DbGljayBvbiBhIGRlbGltaXRlciBiZXR3ZWVu
IHN1Yi1maWVsZHMsIHRoZW4gY2hlY2sgaWYgZm9jdXNlZCBlbGVtZW50IGlzIG5vdCBjaGFuZ2Vk
OgotUEFTUyBwc2V1ZG9PZkZvY3VzZWQodGltZUlucHV0KSBpcyAiLXdlYmtpdC1kYXRldGltZS1l
ZGl0LW1pbnV0ZS1maWVsZCIKLVBBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKLQotVEVT
VCBDT01QTEVURQotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3RpbWUtbXVs
dGlwbGUtZmllbGRzL3RpbWUtbXVsdGlwbGUtZmllbGRzLWZvY3VzLXN0eWxlLWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvdGltZS1tdWx0aXBsZS1maWVsZHMvdGltZS1tdWx0
aXBsZS1maWVsZHMtZm9jdXMtc3R5bGUtZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCBmNGE5NWUzNTcwNDVkNTU3OTkzZjg2NjEyZTE3NTc3MjYwOTRiZTFkLi4wMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2Zh
c3QvZm9ybXMvdGltZS1tdWx0aXBsZS1maWVsZHMvdGltZS1tdWx0aXBsZS1maWVsZHMtZm9jdXMt
c3R5bGUtZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEsMjAgKzAsMCBAQAotQ2hlY2sg
Zm9jdXMgc3R5bGUgZm9yIG11bHRpcGxlIGZpZWxkcyB0aW1lIGlucHV0IFVJCi0KLU9uIHN1Y2Nl
c3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5
ICJURVNUIENPTVBMRVRFIi4KLQotCi1QQVNTICItd2Via2l0LWRhdGV0aW1lLWVkaXQtaG91ci1m
aWVsZCI7IHN0eWxlLmJhY2tncm91bmRDb2xvciBpcyBoaWdobGlnaHQKLVBBU1MgIi13ZWJraXQt
ZGF0ZXRpbWUtZWRpdC1ob3VyLWZpZWxkIjsgc3R5bGUuY29sb3IgaXMgaGlnaGxpZ2h0dGV4dAot
UEFTUyAiLXdlYmtpdC1kYXRldGltZS1lZGl0LW1pbnV0ZS1maWVsZCI7IHN0eWxlLmJhY2tncm91
bmRDb2xvciBpcyBoaWdobGlnaHQKLVBBU1MgIi13ZWJraXQtZGF0ZXRpbWUtZWRpdC1taW51dGUt
ZmllbGQiOyBzdHlsZS5jb2xvciBpcyBoaWdobGlnaHR0ZXh0Ci1QQVNTICItd2Via2l0LWRhdGV0
aW1lLWVkaXQtc2Vjb25kLWZpZWxkIjsgc3R5bGUuYmFja2dyb3VuZENvbG9yIGlzIGhpZ2hsaWdo
dAotUEFTUyAiLXdlYmtpdC1kYXRldGltZS1lZGl0LXNlY29uZC1maWVsZCI7IHN0eWxlLmNvbG9y
IGlzIGhpZ2hsaWdodHRleHQKLVBBU1MgIi13ZWJraXQtZGF0ZXRpbWUtZWRpdC1taWxsaXNlY29u
ZC1maWVsZCI7IHN0eWxlLmJhY2tncm91bmRDb2xvciBpcyBoaWdobGlnaHQKLVBBU1MgIi13ZWJr
aXQtZGF0ZXRpbWUtZWRpdC1taWxsaXNlY29uZC1maWVsZCI7IHN0eWxlLmNvbG9yIGlzIGhpZ2hs
aWdodHRleHQKLVBBU1MgIi13ZWJraXQtZGF0ZXRpbWUtZWRpdC1hbXBtLWZpZWxkIjsgc3R5bGUu
YmFja2dyb3VuZENvbG9yIGlzIGhpZ2hsaWdodAotUEFTUyAiLXdlYmtpdC1kYXRldGltZS1lZGl0
LWFtcG0tZmllbGQiOyBzdHlsZS5jb2xvciBpcyBoaWdobGlnaHR0ZXh0Ci0KLVBBU1Mgc3VjY2Vz
c2Z1bGx5UGFyc2VkIGlzIHRydWUKLQotVEVTVCBDT01QTEVURQotUGxlYXNlIHJ1biB0aGlzIHRl
c3Qgd2l0aGluIER1bXBSZW5kZXJUcmVlLgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9m
b3Jtcy90aW1lLW11bHRpcGxlLWZpZWxkcy90aW1lLW11bHRpcGxlLWZpZWxkcy1mb2N1cy1zdHls
ZS5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy90aW1lLW11bHRpcGxlLWZpZWxkcy90aW1l
LW11bHRpcGxlLWZpZWxkcy1mb2N1cy1zdHlsZS5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCA2ZmEwZWQzM2UyZGU3NmQ0YjhlN2E3OWUxZDFjYmE4NjBlNWUxMTQ3Li4wMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2Zhc3Qv
Zm9ybXMvdGltZS1tdWx0aXBsZS1maWVsZHMvdGltZS1tdWx0aXBsZS1maWVsZHMtZm9jdXMtc3R5
bGUuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDUxICswLDAgQEAKLTwhRE9DVFlQRSBodG1sPgot
PGh0bWw+Ci08aGVhZD4KLTxzY3JpcHQgc3JjPSIuLi8uLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1w
cmUuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy9jb21tb24uanMiPjwv
c2NyaXB0PgotPC9oZWFkPgotPGJvZHk+Ci1QbGVhc2UgcnVuIHRoaXMgdGVzdCB3aXRoaW4gRHVt
cFJlbmRlclRyZWUuCi08c2NyaXB0PgotZnVuY3Rpb24ga2V5RG93bihrZXksIG1vZGlmaWVycykK
LXsKLSAgICBpZiAoIXdpbmRvdy5ldmVudFNlbmRlcikKLSAgICAgICAgcmV0dXJuOwotICAgIGV2
ZW50U2VuZGVyLmtleURvd24oa2V5LCBtb2RpZmllcnMpOwotfQotZGVzY3JpcHRpb24oJ0NoZWNr
IGZvY3VzIHN0eWxlIGZvciBtdWx0aXBsZSBmaWVsZHMgdGltZSBpbnB1dCBVSScpOwotdmFyIHRl
c3RJbnB1dCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImlucHV0Iik7Ci10ZXN0SW5wdXQuc2V0
QXR0cmlidXRlKCJ0eXBlIiwgInRpbWUiKTsKLXRlc3RJbnB1dC5zZXRBdHRyaWJ1dGUoInN0ZXAi
LCAiMC4wMDEiKTsKLWRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQodGVzdElucHV0KTsKLQotdmFy
IHNhbXBsZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInNwYW4iKTsKLXNhbXBsZS5zdHlsZS5i
YWNrZ3JvdW5kQ29sb3IgPSAiaGlnaGxpZ2h0IjsKLXNhbXBsZS5zdHlsZS5jb2xvciA9ICJoaWdo
bGlnaHR0ZXh0IjsKLWRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoc2FtcGxlKTsKLXZhciBzYW1w
bGVTdHlsZSA9IGdldENvbXB1dGVkU3R5bGUoc2FtcGxlKTsKLXZhciBoaWdobGlnaHR0ZXh0ID0g
c2FtcGxlU3R5bGUuY29sb3I7Ci12YXIgaGlnaGxpZ2h0ID0gc2FtcGxlU3R5bGUuYmFja2dyb3Vu
ZENvbG9yOwotCi10ZXN0SW5wdXQuZm9jdXMoKTsKLXZhciBzaGFkb3dSb290ID0gaW50ZXJuYWxz
Lm9sZGVzdFNoYWRvd1Jvb3QodGVzdElucHV0KTsKLXZhciBmaWVsZHMgPSBnZXRFbGVtZW50QnlQ
c2V1ZG9JZChzaGFkb3dSb290LCAiLXdlYmtpdC1kYXRldGltZS1lZGl0LWZpZWxkcy13cmFwcGVy
IikuY2hpbGROb2RlczsKLWZvciAodmFyIGluZGV4ID0gMDsgaW5kZXggPCBmaWVsZHMubGVuZ3Ro
OyArK2luZGV4KSB7Ci0gICAgdmFyIGZpZWxkID0gZmllbGRzW2luZGV4XTsKLSAgICBpZiAoZmll
bGQubm9kZVR5cGUgIT0gMSkKLSAgICAgICAgY29udGludWU7Ci0gICAgdmFyIGlkID0gaW50ZXJu
YWxzLnNoYWRvd1BzZXVkb0lkKGZpZWxkKTsKLSAgICBpZiAoaWQuaW5kZXhPZignLWZpZWxkJykg
PCAwKQotICAgICAgICBjb250aW51ZTsKLSAgICB2YXIgc3R5bGUgPSBnZXRDb21wdXRlZFN0eWxl
KGZpZWxkKTsKLSAgICBzaG91bGRCZSgnIicgKyBpZCArICciOyBzdHlsZS5iYWNrZ3JvdW5kQ29s
b3InLCAnaGlnaGxpZ2h0Jyk7Ci0gICAgc2hvdWxkQmUoJyInICsgaWQgKyAnIjsgc3R5bGUuY29s
b3InLCAnaGlnaGxpZ2h0dGV4dCcpOwotICAgIGtleURvd24oJ3JpZ2h0QXJyb3cnKTsKLX0KLWRl
YnVnKCcnKTsKLXRlc3RJbnB1dC5wYXJlbnRFbGVtZW50LnJlbW92ZUNoaWxkKHRlc3RJbnB1dCk7
Ci1zYW1wbGUucGFyZW50RWxlbWVudC5yZW1vdmVDaGlsZChzYW1wbGUpOwotPC9zY3JpcHQ+Ci08
c2NyaXB0IHNyYz0iLi4vLi4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+
Ci08L2JvZHk+Ci08L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3Rp
bWUtbXVsdGlwbGUtZmllbGRzL3RpbWUtbXVsdGlwbGUtZmllbGRzLWZvY3VzLmh0bWwgYi9MYXlv
dXRUZXN0cy9mYXN0L2Zvcm1zL3RpbWUtbXVsdGlwbGUtZmllbGRzL3RpbWUtbXVsdGlwbGUtZmll
bGRzLWZvY3VzLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDc3OGY3MWY0MDk3
ZjdjNDUzN2M4Mzg4OTA4NjhjNzdlNTU0YTY1N2MuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy90aW1lLW11bHRpcGxl
LWZpZWxkcy90aW1lLW11bHRpcGxlLWZpZWxkcy1mb2N1cy5odG1sCisrKyAvZGV2L251bGwKQEAg
LTEsMzIgKzAsMCBAQAotPCFET0NUWVBFIGh0bWw+Ci08Ym9keT4KLTxzY3JpcHQgc3JjPSIuLi8u
Li9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgotPGlucHV0IGlkPSJ0aW1l
SW5wdXQiIHR5cGU9InRpbWUiIHZhbHVlPSIwMTowMSIgc3R5bGU9ImZvbnQtc2l6ZToyMHB4IiBh
dXRvZm9jdXM+Ci08c2NyaXB0PgotZnVuY3Rpb24gZGlzcGF0Y2hLZXlFdmVudFRvKHR5cGUsIGtl
eSwgdGFyZ2V0KSB7Ci0gICAgdmFyIGV2ZW50ID0gZG9jdW1lbnQuY3JlYXRlRXZlbnQoJ0tleWJv
YXJkRXZlbnQnKTsKLSAgICBldmVudC5pbml0S2V5Ym9hcmRFdmVudCh0eXBlLCB0cnVlLCB0cnVl
LCBkb2N1bWVudC5kZWZhdWx0Vmlldywga2V5KTsKLSAgICB0YXJnZXQuZGlzcGF0Y2hFdmVudChl
dmVudCk7Ci19Ci0KLWZ1bmN0aW9uIHBzZXVkb09mRm9jdXNlZCgpIHsKLSAgICByZXR1cm4gaW50
ZXJuYWxzLnlvdW5nZXN0U2hhZG93Um9vdCh0aW1lSW5wdXQpLmFjdGl2ZUVsZW1lbnQuZ2V0QXR0
cmlidXRlKCJwc2V1ZG8iKTsKLX0KLQotZGVzY3JpcHRpb24oJ0NoZWNrIGlmIGZvY3VzKCkgZm9y
IGZvY3VzZWQgaW5wdXQgZG9lcyBub3QgY2hhbmdlIGZvY3VzZWQgc3ViLWZpZWxkLicpOwotZGVi
dWcoJ01vdmUgZm9jdXMgdG8gdGhlIHNlY29uZCBzdWItZmllbGQ6Jyk7Ci12YXIgdGltZUlucHV0
ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3RpbWVJbnB1dCcpOwotc2hvdWxkQmUoJ2RvY3Vt
ZW50LmFjdGl2ZUVsZW1lbnQnLCAndGltZUlucHV0Jyk7Ci1kaXNwYXRjaEtleUV2ZW50VG8oJ2tl
eWRvd24nLCAnUmlnaHQnLCB0aW1lSW5wdXQpOwotc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdwc2V1
ZG9PZkZvY3VzZWQodGltZUlucHV0KScsICctd2Via2l0LWRhdGV0aW1lLWVkaXQtbWludXRlLWZp
ZWxkJyk7Ci1zaG91bGRCZUVxdWFsVG9TdHJpbmcoJ3RpbWVJbnB1dC5mb2N1cygpOyBwc2V1ZG9P
ZkZvY3VzZWQodGltZUlucHV0KScsICctd2Via2l0LWRhdGV0aW1lLWVkaXQtbWludXRlLWZpZWxk
Jyk7Ci0KLWRlYnVnKCdDbGljayBvbiBhIGRlbGltaXRlciBiZXR3ZWVuIHN1Yi1maWVsZHMsIHRo
ZW4gY2hlY2sgaWYgZm9jdXNlZCBlbGVtZW50IGlzIG5vdCBjaGFuZ2VkOicpOwotdmFyIGZvY3Vz
ZWRGaWVsZCA9IGludGVybmFscy55b3VuZ2VzdFNoYWRvd1Jvb3QodGltZUlucHV0KS5hY3RpdmVF
bGVtZW50OwotZXZlbnRTZW5kZXIubW91c2VNb3ZlVG8oZm9jdXNlZEZpZWxkLm9mZnNldExlZnQg
KyBmb2N1c2VkRmllbGQub2Zmc2V0V2lkdGggKyAxMCwgZm9jdXNlZEZpZWxkLm9mZnNldFRvcCAr
IDEwKTsKLWV2ZW50U2VuZGVyLm1vdXNlRG93bigpOwotZXZlbnRTZW5kZXIubW91c2VVcCgpOwot
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdwc2V1ZG9PZkZvY3VzZWQodGltZUlucHV0KScsICctd2Vi
a2l0LWRhdGV0aW1lLWVkaXQtbWludXRlLWZpZWxkJyk7Ci08L3NjcmlwdD4KLTxzY3JpcHQgc3Jj
PSIuLi8uLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KLTwvYm9keT4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvdGltZS1tdWx0aXBsZS1maWVsZHMv
dGltZS1tdWx0aXBsZS1maWVsZHMta2V5Ym9hcmQtZXZlbnRzLWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2Zhc3QvZm9ybXMvdGltZS1tdWx0aXBsZS1maWVsZHMvdGltZS1tdWx0aXBsZS1maWVs
ZHMta2V5Ym9hcmQtZXZlbnRzLWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggZTk5YjIyYmU4MTE3YzZmYzZmZjAwMDM4NmYyM2NiNmJiZDA4YmYxZS4uMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2Zv
cm1zL3RpbWUtbXVsdGlwbGUtZmllbGRzL3RpbWUtbXVsdGlwbGUtZmllbGRzLWtleWJvYXJkLWV2
ZW50cy1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSw3NiArMCwwIEBACi1NdWx0aXBs
ZSBmaWVsZHMgVUkgb2YgdGltZSBpbnB1dCB0eXBlIHdpdGgga2V5Ym9hcmQgZXZlbnRzCi0KLU9u
IHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxv
d2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KLQotCi1QbGVhc2UgcnVuIHRoaXMgd2l0aCBEdW1wUmVu
ZGVyVHJlZS4KLQotVGVzdCBmb2xsb3dpbmcga2V5czoKLURpZ2l0IGtleXMKLUxlZnQvUmlnaHQg
LSBNb3ZlIGZvY3VzIGZpZWxkIGluc2lkZSBlbGVtZW50Ci1VcC9Eb3duIC0gSW5jcmVtZW50L2Rl
Y3JlbWVudCB2YWx1ZSBvZiBmb2N1cyBmaWVsZAotVGFiIC0gTW92ZSBmb2N1cyBmaWVsZAotQmFj
a3NwYWNlIC0gTWFrZSB2YWx1ZSBlbXB0eQotICAKLT09IERpZ2l0IGtleXMgPT0KLVBBU1MgZXZl
bnRzQ291bnRlci5pbnB1dCBpcyB1bmRlZmluZWQuCi1QQVNTIGV2ZW50c0NvdW50ZXIuY2hhbmdl
IGlzIHVuZGVmaW5lZC4KLVBBU1MgaW5wdXQudmFsdWUgaXMgIjA3OjU2IgotUEFTUyBldmVudHND
b3VudGVyLmlucHV0IGlzIDEKLVBBU1MgZXZlbnRzQ291bnRlci5jaGFuZ2UgaXMgMQotPT0gRGln
aXQga2V5cyBzdGFydGluZyB3aXRoIHplcm8gPT0KLVBBU1MgaW5wdXQudmFsdWUgaXMgIjE0OjAz
IgotPT0gRGlnaXQga2V5cyBhbmQgYmFja3NwYWNlIGtleSA9PQotUEFTUyBpbnB1dC52YWx1ZSBp
cyAiMTc6MDYiCi09PSBMZWZ0L1JpZ2h0IGtleXMgPT0KLVBBU1MgaW5wdXQudmFsdWUgaXMgIjA2
OjA1IgotUEFTUyBkb2N1bWVudC5hY3RpdmVFbGVtZW50LmlkIGlzICJpbnB1dCIKLT09IFVwL0Rv
d24ga2V5cyA9PQotUEFTUyBpbnB1dC52YWx1ZSBpcyAiMDU6NTYiCi1QQVNTIGlucHV0LnZhbHVl
IGlzICIwMzo1NiIKLT09IFVwL0Rvd24ga2V5cyBvbiBlbXB0eSB2YWx1ZSA9PQotUEFTUyBldmVu
dHNDb3VudGVyLmlucHV0IGlzIHVuZGVmaW5lZC4KLVBBU1MgZXZlbnRzQ291bnRlci5jaGFuZ2Ug
aXMgdW5kZWZpbmVkLgotUEFTUyBpbnB1dC52YWx1ZSBpcyAiMTQ6NTgiCi1QQVNTIGV2ZW50c0Nv
dW50ZXIuaW5wdXQgaXMgMQotUEFTUyBldmVudHNDb3VudGVyLmNoYW5nZSBpcyAxCi09PSBUYWIg
a2V5ID09Ci1QQVNTIGlucHV0LnZhbHVlIGlzICIwMzowNSIKLVBBU1MgaW5wdXQudmFsdWUgaXMg
IjA3OjA1IgotUEFTUyBkb2N1bWVudC5hY3RpdmVFbGVtZW50LmlkIGlzICJhbm90aGVyIgotPT0g
VGFiIG5hdmlnYXRpb24gc2hvdWxkIHNraXAgZGlzYWJsZWQgaW5wdXRzID09Ci1QQVNTIGRvY3Vt
ZW50LmFjdGl2ZUVsZW1lbnQuaWQgaXMgImFub3RoZXIiCi09PSBUYWIgbmF2aWdhdGlvbiBzaG91
bGQgbm90IHNraXAgcmVhZG9ubHkgaW5wdXRzLCBidXQgZWRpdGluZyBvcGVyYXRpb25zIHNob3Vs
ZCBiZSBpZ25vcmVkLiA9PQotUEFTUyBkb2N1bWVudC5hY3RpdmVFbGVtZW50LmlkIGlzICJpbnB1
dCIKLVBBU1MgcHNldWRvT2ZGb2N1c2VkU3ViRmllbGQoaW5wdXQpIGlzICItd2Via2l0LWRhdGV0
aW1lLWVkaXQtaG91ci1maWVsZCIKLVBBU1Mga2V5RG93bigidXBBcnJvdyIpOyBpbnB1dC52YWx1
ZSBpcyAiMDE6MDEiCi1QQVNTIGtleURvd24oImRvd25BcnJvdyIpOyBpbnB1dC52YWx1ZSBpcyAi
MDE6MDEiCi1QQVNTIHBzZXVkb09mRm9jdXNlZFN1YkZpZWxkKGlucHV0KSBpcyAiLXdlYmtpdC1k
YXRldGltZS1lZGl0LW1pbnV0ZS1maWVsZCIKLVBBU1Mga2V5RG93bigiMyIpOyBpbnB1dC52YWx1
ZSBpcyAiMDE6MDEiCi1QQVNTIHBzZXVkb09mRm9jdXNlZFN1YkZpZWxkKGlucHV0KSBpcyAiLXdl
YmtpdC1kYXRldGltZS1lZGl0LWFtcG0tZmllbGQiCi1QQVNTIHBzZXVkb09mRm9jdXNlZFN1YkZp
ZWxkKGlucHV0KSBpcyAiLXdlYmtpdC1kYXRldGltZS1lZGl0LW1pbnV0ZS1maWVsZCIKLVBBU1Mg
ZG9jdW1lbnQuYWN0aXZlRWxlbWVudC5pZCBpcyAiYW5vdGhlciIKLT09IFNoZml0K1RhYiBrZXkg
PT0KLVBBU1MgaW5wdXQudmFsdWUgaXMgIjE1OjAwIgotUEFTUyBpbnB1dC52YWx1ZSBpcyAiMTU6
MDMiCi1QQVNTIGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQuaWQgaXMgImJlZm9yZSIKLT09IFVwIGtl
eSBvbiBtYXhpbXVtIHZhbHVlID09Ci1QQVNTIGlucHV0LnZhbHVlIGlzICIxMzowMCIKLT09IERv
d24ga2V5IG9uIG1pbmltdW0gdmFsdWUgPT0KLVBBU1MgaW5wdXQudmFsdWUgaXMgIjAwOjU5OjU5
Ljk5OSIKLT09IEJhY2tzcGFjZSBrZXkgPT0KLVBBU1MgaW5wdXQudmFsdWUgaXMgIiIKLT09IERl
bGV0ZSBrZXkgPT0KLVBBU1MgaW5wdXQudmFsdWUgaXMgIiIKLT09IFR5cGVhaGVhZCA9PQotUEFT
UyBpbnB1dC52YWx1ZSBpcyAiMTI6MDE6NTYiCi1QQVNTIGlucHV0LnZhbHVlIGlzICIxMjowMjo1
NiIKLT09IFJUTCBmb2N1cyBuYXZpZ2F0aW9uID09Ci1UaGUgdGVzdHMgaW4gdGhpcyBibG9jayBm
YWlsIG9uIHBsYXRmb3JtcyB3aXRob3V0IHRoZSBsYW5nLWF0dHJpYnV0ZS1hd2FyZS1mb3JtLWNv
bnRyb2wtVUkgZmVhdHVyZS4KLVBBU1MgaW5wdXQudmFsdWUgaXMgIjAxOjU2IgotUEFTUyBpbnB1
dC52YWx1ZSBpcyAiMDE6MDIiCi1QQVNTIGlucHV0LnZhbHVlIGlzICIwMzowMiIKLVBBU1Mgc3Vj
Y2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKLQotVEVTVCBDT01QTEVURQotCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3RpbWUtbXVsdGlwbGUtZmllbGRzL3RpbWUtbXVsdGlwbGUt
ZmllbGRzLWtleWJvYXJkLWV2ZW50cy5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy90aW1l
LW11bHRpcGxlLWZpZWxkcy90aW1lLW11bHRpcGxlLWZpZWxkcy1rZXlib2FyZC1ldmVudHMuaHRt
bApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNTBmOTQ5YWVkZGM4MGEwNTNlMGUwZDA5
NzBiYmMxMDFkOTJiNjFlZC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3RpbWUtbXVsdGlwbGUtZmllbGRzL3RpbWUt
bXVsdGlwbGUtZmllbGRzLWtleWJvYXJkLWV2ZW50cy5odG1sCisrKyAvZGV2L251bGwKQEAgLTEs
MjM5ICswLDAgQEAKLTwhRE9DVFlQRSBodG1sPgotPGh0bWw+Ci08aGVhZD4KLTxzY3JpcHQgc3Jj
PSIuLi8uLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgotPC9oZWFkPgot
PGJvZHk+Ci08cCBpZD0iZGVzY3JpcHRpb24iPjwvcD4KLTxwPgotUGxlYXNlIHJ1biB0aGlzIHdp
dGggRHVtcFJlbmRlclRyZWUuCi08L3A+Ci1UZXN0IGZvbGxvd2luZyBrZXlzOgotPHVsPgotICAg
IDxsaT5EaWdpdCBrZXlzPC9saT4KLSAgICA8bGk+TGVmdC9SaWdodCAtIE1vdmUgZm9jdXMgZmll
bGQgaW5zaWRlIGVsZW1lbnQ8L2xpPgotICAgIDxsaT5VcC9Eb3duIC0gSW5jcmVtZW50L2RlY3Jl
bWVudCB2YWx1ZSBvZiBmb2N1cyBmaWVsZDwvbGk+Ci0gICAgPGxpPlRhYiAtIE1vdmUgZm9jdXMg
ZmllbGQ8L2xpPgotICAgIDxsaT5CYWNrc3BhY2UgLSBNYWtlIHZhbHVlIGVtcHR5PC9saT4KLTwv
dWw+Ci08aW5wdXQgaWQ9ImJlZm9yZSI+Ci08aW5wdXQgaWQ9ImlucHV0IiB0eXBlPSJ0aW1lIj4K
LTxpbnB1dCBpZD0iYW5vdGhlciI+Ci08ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KLTxzY3JpcHQ+
Ci1kZXNjcmlwdGlvbigiTXVsdGlwbGUgZmllbGRzIFVJIG9mIHRpbWUgaW5wdXQgdHlwZSB3aXRo
IGtleWJvYXJkIGV2ZW50cyIpOwotaWYgKHdpbmRvdy5pbnRlcm5hbHMpCi0gICAgaW50ZXJuYWxz
LnNldHRpbmdzLnNldExhbmdBdHRyaWJ1dGVBd2FyZUZvcm1Db250cm9sVUlFbmFibGVkKHRydWUp
OwotdmFyIGlucHV0ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImlucHV0Iik7Ci0KLWZ1bmN0
aW9uIHBzZXVkb09mRm9jdXNlZFN1YkZpZWxkKGhvc3QpCi17Ci0gICAgcmV0dXJuIGludGVybmFs
cy55b3VuZ2VzdFNoYWRvd1Jvb3QoaG9zdCkuYWN0aXZlRWxlbWVudC5nZXRBdHRyaWJ1dGUoInBz
ZXVkbyIpCi19Ci0KLWZ1bmN0aW9uIGtleURvd24oa2V5LCBtb2RpZmllcnMpCi17Ci0gICAgaWYg
KCF3aW5kb3cuZXZlbnRTZW5kZXIpCi0gICAgICAgIHJldHVybjsKLSAgICBldmVudFNlbmRlci5r
ZXlEb3duKGtleSwgbW9kaWZpZXJzKTsKLX0KLQotZnVuY3Rpb24gYmVnaW5UZXN0KHRpdGxlLCB2
YWx1ZSkKLXsKLSAgICBkZWJ1ZygiPT0gIiArIHRpdGxlICsgIiA9PSIpOwotICAgIGlucHV0LnZh
bHVlID0gdmFsdWU7Ci0gICAgaW5wdXQuYmx1cigpOwotICAgIGlucHV0LmZvY3VzKCk7Ci19Ci0K
LXZhciBldmVudHNDb3VudGVyID0ge307Ci1mdW5jdGlvbiBjb3VudEV2ZW50cyhldmVudCkKLXsK
LSAgICBpZiAoZXZlbnRzQ291bnRlcltldmVudC50eXBlXSA9PT0gdW5kZWZpbmVkKQotICAgICAg
ICBldmVudHNDb3VudGVyW2V2ZW50LnR5cGVdID0gMDsKLSAgICBldmVudHNDb3VudGVyW2V2ZW50
LnR5cGVdKys7Ci19Ci1pbnB1dC5hZGRFdmVudExpc3RlbmVyKCdpbnB1dCcsIGNvdW50RXZlbnRz
LCBmYWxzZSk7Ci1pbnB1dC5hZGRFdmVudExpc3RlbmVyKCdjaGFuZ2UnLCBjb3VudEV2ZW50cywg
ZmFsc2UpOwotCi1iZWdpblRlc3QoJ0RpZ2l0IGtleXMnKTsKLWtleURvd24oJzcnKTsgLy8gLT4g
MDc6Wy0tXSAtLQota2V5RG93bignNScpOyAvLyAtPiAwNzpbMDVdIC0tCi1pbnB1dC5jbGFzc05h
bWUgPSAiQ0xBU1MiOwota2V5RG93bignNicpOyAvLyAtPiAwNzo1NiBbLS1dCi1zaG91bGRCZVVu
ZGVmaW5lZCgnZXZlbnRzQ291bnRlci5pbnB1dCcpOwotc2hvdWxkQmVVbmRlZmluZWQoJ2V2ZW50
c0NvdW50ZXIuY2hhbmdlJyk7Ci1rZXlEb3duKCdBJyk7IC8vIC0+IDA3OjU2IFtBTV0KLXNob3Vs
ZEJlRXF1YWxUb1N0cmluZygnaW5wdXQudmFsdWUnLCAnMDc6NTYnKTsKLXNob3VsZEJlKCdldmVu
dHNDb3VudGVyLmlucHV0JywgJzEnKTsKLXNob3VsZEJlKCdldmVudHNDb3VudGVyLmNoYW5nZScs
ICcxJyk7Ci0KLWJlZ2luVGVzdCgnRGlnaXQga2V5cyBzdGFydGluZyB3aXRoIHplcm8nKTsKLWtl
eURvd24oJzAnKTsgLy8gLT4gWzAwXTotLSAtLQota2V5RG93bignMicpOyAvLyAtPiAwMjpbLS1d
IC0tCi1rZXlEb3duKCcwJyk7IC8vIC0+IDAyOlswMF0gLS0KLWtleURvd24oJzMnKTsgLy8gLT4g
MDI6MDMgWy0tXQota2V5RG93bignUCcpOyAvLyAtPiAwMjowMyBbUE1dCi1zaG91bGRCZUVxdWFs
VG9TdHJpbmcoJ2lucHV0LnZhbHVlJywgJzE0OjAzJyk7Ci0KLWJlZ2luVGVzdCgnRGlnaXQga2V5
cyBhbmQgYmFja3NwYWNlIGtleScsJzAxOjAxJyk7Ci1rZXlEb3duKCcwJyk7IC8vIC0+IFswMF06
LS0gLS0KLWtleURvd24oJ1xiJyk7IC8vIC0+IFstLV06LS0gLS0KLWtleURvd24oJzUnKTsgLy8g
LT4gMDU6Wy0tXSAtLQota2V5RG93bignNicpOyAvLyAtPiAwNTowNiBbLS1dCi1rZXlEb3duKCdc
YicpOyAvLyAtPiAwNTowNiBbLS1dCi1rZXlEb3duKCdQJyk7IC8vIC0+IDA1OjA2IFtQTV0KLXNo
b3VsZEJlRXF1YWxUb1N0cmluZygnaW5wdXQudmFsdWUnLCAnMTc6MDYnKTsKLQotLy8gRklYTUU6
IFdlIHNob3VsZCB0ZXN0IHR5cGUgYWhlYWQgdGltZSBvdXQuIFdoZW4gZXZlbnQubGVhcEZvcndh
cmQoKSBhZmZlY3RzCi0vLyBrZXlib2FyZCBldmVudCB0aW1lIHN0YW1wLCB3ZSBjYW4gdW5jb21t
ZW50IHRoaXMgZnJhZ21lbnQuCi0vKgotYmVnaW5UZXN0KCdEaWdpdCBrZXlzIHdpdGggdHlwZSBh
aGVhZCB0aW1lb3V0Jyk7Ci1rZXlEb3duKCcxJyk7Ci1sZWFwRm9yd2FyZCgxMTAwKTsKLWtleURv
d24oJzEnKTsKLWtleURvd24oJzUnKTsKLWtleURvd24oJzYnKTsKLWtleURvd24oJ0EnKTsKLXNo
b3VsZEJlRXF1YWxUb1N0cmluZygnaW5wdXQudmFsdWUnLCAnMDE6NTYnKTsKLSovCi0KLWJlZ2lu
VGVzdCgnTGVmdC9SaWdodCBrZXlzJywgJzAxOjI0Jyk7Ci1rZXlEb3duKCdyaWdodEFycm93Jyk7
Ci1rZXlEb3duKCc1Jyk7Ci1rZXlEb3duKCdsZWZ0QXJyb3cnKTsKLWtleURvd24oJzYnKTsKLXNo
b3VsZEJlRXF1YWxUb1N0cmluZygnaW5wdXQudmFsdWUnLCAnMDY6MDUnKTsKLWtleURvd24oJ2xl
ZnRBcnJvdycpOwota2V5RG93bignbGVmdEFycm93Jyk7Ci1rZXlEb3duKCdsZWZ0QXJyb3cnKTsK
LXNob3VsZEJlRXF1YWxUb1N0cmluZygnZG9jdW1lbnQuYWN0aXZlRWxlbWVudC5pZCcsICdpbnB1
dCcpOwotCi1iZWdpblRlc3QoJ1VwL0Rvd24ga2V5cycsICcwNDo1NicpOwota2V5RG93bigndXBB
cnJvdycpOwotc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdpbnB1dC52YWx1ZScsICcwNTo1NicpOwot
a2V5RG93bignZG93bkFycm93Jyk7Ci1rZXlEb3duKCdkb3duQXJyb3cnKTsKLXNob3VsZEJlRXF1
YWxUb1N0cmluZygnaW5wdXQudmFsdWUnLCAnMDM6NTYnKTsKLQotYmVnaW5UZXN0KCdVcC9Eb3du
IGtleXMgb24gZW1wdHkgdmFsdWUnLCAnJyk7Ci1ldmVudHNDb3VudGVyID0ge307Ci1rZXlEb3du
KCd1cEFycm93Jyk7ICAgIC8vIC0+IFswMV06LS0gLS0KLWtleURvd24oJ3VwQXJyb3cnKTsgICAg
Ly8gLT4gWzAyXTotLSAtLQota2V5RG93bigncmlnaHRBcnJvdycpOyAvLyAtPiAwMjpbLS1dIC0t
Ci1rZXlEb3duKCdkb3duQXJyb3cnKTsgIC8vIC0+IDAyOls1OV0gLS0KLWtleURvd24oJ2Rvd25B
cnJvdycpOyAgLy8gLT4gMDI6WzU4XSAtLQota2V5RG93bigncmlnaHRBcnJvdycpOyAvLyAtPiAw
Mjo1OCBbLS1dCi1zaG91bGRCZVVuZGVmaW5lZCgnZXZlbnRzQ291bnRlci5pbnB1dCcpOwotc2hv
dWxkQmVVbmRlZmluZWQoJ2V2ZW50c0NvdW50ZXIuY2hhbmdlJyk7Ci1rZXlEb3duKCdkb3duQXJy
b3cnKTsgIC8vIC0+IDAyOjU4IFtQTV0KLXNob3VsZEJlRXF1YWxUb1N0cmluZygnaW5wdXQudmFs
dWUnLCAnMTQ6NTgnKTsKLXNob3VsZEJlKCdldmVudHNDb3VudGVyLmlucHV0JywgJzEnKTsKLXNo
b3VsZEJlKCdldmVudHNDb3VudGVyLmNoYW5nZScsICcxJyk7Ci0KLWJlZ2luVGVzdCgnVGFiIGtl
eScsICcwMzowMCcpOwota2V5RG93bignXHQnKTsKLWtleURvd24oJzUnKTsKLXNob3VsZEJlRXF1
YWxUb1N0cmluZygnaW5wdXQudmFsdWUnLCAnMDM6MDUnKTsKLWtleURvd24oJ1x0JywgWydzaGlm
dEtleSddKTsKLWtleURvd24oJzcnKTsKLXNob3VsZEJlRXF1YWxUb1N0cmluZygnaW5wdXQudmFs
dWUnLCAnMDc6MDUnKTsKLWtleURvd24oJ1x0Jyk7Ci1rZXlEb3duKCdcdCcpOwotc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCdkb2N1bWVudC5hY3RpdmVFbGVtZW50LmlkJywgJ2Fub3RoZXInKTsKLQot
YmVnaW5UZXN0KCdUYWIgbmF2aWdhdGlvbiBzaG91bGQgc2tpcCBkaXNhYmxlZCBpbnB1dHMnLCAn
Jyk7Ci1iZWZvcmUuZm9jdXMoKTsKLWlucHV0LmRpc2FibGVkID0gdHJ1ZTsKLWtleURvd24oJ1x0
Jyk7Ci1zaG91bGRCZUVxdWFsVG9TdHJpbmcoJ2RvY3VtZW50LmFjdGl2ZUVsZW1lbnQuaWQnLCAn
YW5vdGhlcicpOwotaW5wdXQuZGlzYWJsZWQgPSBmYWxzZTsKLQotYmVnaW5UZXN0KCdUYWIgbmF2
aWdhdGlvbiBzaG91bGQgbm90IHNraXAgcmVhZG9ubHkgaW5wdXRzLCBidXQgZWRpdGluZyBvcGVy
YXRpb25zIHNob3VsZCBiZSBpZ25vcmVkLicsICcnKTsKLWJlZm9yZS5mb2N1cygpOwotaW5wdXQu
dmFsdWUgPSAnMDE6MDEnOwotaW5wdXQucmVhZE9ubHkgPSB0cnVlOwota2V5RG93bignXHQnKTsK
LXNob3VsZEJlRXF1YWxUb1N0cmluZygnZG9jdW1lbnQuYWN0aXZlRWxlbWVudC5pZCcsICdpbnB1
dCcpOwotc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdwc2V1ZG9PZkZvY3VzZWRTdWJGaWVsZChpbnB1
dCknLCAnLXdlYmtpdC1kYXRldGltZS1lZGl0LWhvdXItZmllbGQnKTsKLXNob3VsZEJlRXF1YWxU
b1N0cmluZygna2V5RG93bigidXBBcnJvdyIpOyBpbnB1dC52YWx1ZScsICcwMTowMScpOwotc2hv
dWxkQmVFcXVhbFRvU3RyaW5nKCdrZXlEb3duKCJkb3duQXJyb3ciKTsgaW5wdXQudmFsdWUnLCAn
MDE6MDEnKTsKLWtleURvd24oJ3JpZ2h0QXJyb3cnKTsKLXNob3VsZEJlRXF1YWxUb1N0cmluZygn
cHNldWRvT2ZGb2N1c2VkU3ViRmllbGQoaW5wdXQpJywgJy13ZWJraXQtZGF0ZXRpbWUtZWRpdC1t
aW51dGUtZmllbGQnKTsKLXNob3VsZEJlRXF1YWxUb1N0cmluZygna2V5RG93bigiMyIpOyBpbnB1
dC52YWx1ZScsICcwMTowMScpOwota2V5RG93bignXHQnKTsKLXNob3VsZEJlRXF1YWxUb1N0cmlu
ZygncHNldWRvT2ZGb2N1c2VkU3ViRmllbGQoaW5wdXQpJywgJy13ZWJraXQtZGF0ZXRpbWUtZWRp
dC1hbXBtLWZpZWxkJyk7Ci1rZXlEb3duKCdsZWZ0QXJyb3cnKTsKLXNob3VsZEJlRXF1YWxUb1N0
cmluZygncHNldWRvT2ZGb2N1c2VkU3ViRmllbGQoaW5wdXQpJywgJy13ZWJraXQtZGF0ZXRpbWUt
ZWRpdC1taW51dGUtZmllbGQnKTsKLWtleURvd24oJ1x0Jyk7Ci1rZXlEb3duKCdcdCcpOwotc2hv
dWxkQmVFcXVhbFRvU3RyaW5nKCdkb2N1bWVudC5hY3RpdmVFbGVtZW50LmlkJywgJ2Fub3RoZXIn
KTsKLWlucHV0LnJlYWRPbmx5ID0gZmFsc2U7Ci0KLWJlZ2luVGVzdCgnU2hmaXQrVGFiIGtleScs
ICcwMzowMCcpOwotYW5vdGhlci5mb2N1cygpOwota2V5RG93bignXHQnLCBbJ3NoaWZ0S2V5J10p
Owota2V5RG93bignUCcpOwotc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdpbnB1dC52YWx1ZScsICcx
NTowMCcpOwota2V5RG93bignXHQnLCBbJ3NoaWZ0S2V5J10pOwota2V5RG93bignMycpOwotc2hv
dWxkQmVFcXVhbFRvU3RyaW5nKCdpbnB1dC52YWx1ZScsICcxNTowMycpOwota2V5RG93bignXHQn
LCBbJ3NoaWZ0S2V5J10pOwota2V5RG93bignXHQnLCBbJ3NoaWZ0S2V5J10pOwotc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCdkb2N1bWVudC5hY3RpdmVFbGVtZW50LmlkJywgJ2JlZm9yZScpOwotCi1i
ZWdpblRlc3QoJ1VwIGtleSBvbiBtYXhpbXVtIHZhbHVlJywgJzEyOjU5OjU5Ljk5OScpOwota2V5
RG93bigndXBBcnJvdycpOwota2V5RG93bignXHQnKTsKLWtleURvd24oJ3VwQXJyb3cnKTsKLWtl
eURvd24oJ1x0Jyk7Ci1rZXlEb3duKCd1cEFycm93Jyk7Ci1rZXlEb3duKCdcdCcpOwota2V5RG93
bigndXBBcnJvdycpOwotc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdpbnB1dC52YWx1ZScsICcxMzow
MCcpOwotCi1iZWdpblRlc3QoJ0Rvd24ga2V5IG9uIG1pbmltdW0gdmFsdWUnLCAnMDE6MDAnKTsK
LWlucHV0LnN0ZXAgPSAwLjAwMTsKLWtleURvd24oJ2Rvd25BcnJvdycpOwota2V5RG93bignXHQn
KTsKLWtleURvd24oJ2Rvd25BcnJvdycpOwota2V5RG93bignXHQnKTsKLWtleURvd24oJ2Rvd25B
cnJvdycpOwota2V5RG93bignXHQnKTsKLWtleURvd24oJ2Rvd25BcnJvdycpOwotc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCdpbnB1dC52YWx1ZScsICcwMDo1OTo1OS45OTknKTsKLWlucHV0LnN0ZXAg
PSA2MDsKLQotYmVnaW5UZXN0KCdCYWNrc3BhY2Uga2V5JywgJzEyOjM0Jyk7Ci1rZXlEb3duKCJc
YiIpOwotc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdpbnB1dC52YWx1ZScsICcnKTsKLQotYmVnaW5U
ZXN0KCdEZWxldGUga2V5JywgJzEyOjM0Jyk7Ci1rZXlEb3duKCJkZWxldGUiKTsKLXNob3VsZEJl
RXF1YWxUb1N0cmluZygnaW5wdXQudmFsdWUnLCAnJyk7Ci0KLWJlZ2luVGVzdCgnVHlwZWFoZWFk
JywgJzEyOjM0OjU2Jyk7Ci1rZXlEb3duKCdyaWdodEFycm93Jyk7Ci1rZXlEb3duKCcxJyk7Ci1z
aG91bGRCZUVxdWFsVG9TdHJpbmcoJ2lucHV0LnZhbHVlJywgJzEyOjAxOjU2Jyk7Ci1rZXlEb3du
KCdyaWdodEFycm93Jyk7Ci1rZXlEb3duKCdsZWZ0QXJyb3cnKTsKLWtleURvd24oJzInKTsKLXNo
b3VsZEJlRXF1YWxUb1N0cmluZygnaW5wdXQudmFsdWUnLCAnMTI6MDI6NTYnKTsKLQotaW5wdXQu
c2V0QXR0cmlidXRlKCJsYW5nIiwgImhlLWlsIik7Ci1iZWdpblRlc3QoJ1JUTCBmb2N1cyBuYXZp
Z2F0aW9uJywgJzA0OjU2Jyk7Ci1kZWJ1ZygnVGhlIHRlc3RzIGluIHRoaXMgYmxvY2sgZmFpbCBv
biBwbGF0Zm9ybXMgd2l0aG91dCB0aGUgbGFuZy1hdHRyaWJ1dGUtYXdhcmUtZm9ybS1jb250cm9s
LVVJIGZlYXR1cmUuJyk7Ci1rZXlEb3duKCcxJyk7IC8vICAgICAgICAgIC0+IFswMV06NTYKLXNo
b3VsZEJlRXF1YWxUb1N0cmluZygnaW5wdXQudmFsdWUnLCAnMDE6NTYnKTsKLWtleURvd24oJ1x0
Jyk7IC8vICAgICAgICAgIC0+IDAxOls1Nl0KLWtleURvd24oJzInKTsgLy8gICAgICAgICAgLT4g
MDE6WzAyXQotc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdpbnB1dC52YWx1ZScsICcwMTowMicpOwot
a2V5RG93bignXHQnLCBbJ3NoaWZ0S2V5J10pOyAvLyAtPiBbMDFdOjAyCi1rZXlEb3duKCczJyk7
IC8vICAgICAgICAgIC0+IFswM106MDIKLXNob3VsZEJlRXF1YWxUb1N0cmluZygnaW5wdXQudmFs
dWUnLCAnMDM6MDInKTsKLWlucHV0LnJlbW92ZUF0dHJpYnV0ZSgibGFuZyIpOwotPC9zY3JpcHQ+
Ci08c2NyaXB0IHNyYz0iLi4vLi4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3Jp
cHQ+Ci08L2JvZHk+Ci08L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1z
L3RpbWUtbXVsdGlwbGUtZmllbGRzL3RpbWUtbXVsdGlwbGUtZmllbGRzLWxvY2FsaXphdGlvbi5o
dG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy90aW1lLW11bHRpcGxlLWZpZWxkcy90aW1lLW11
bHRpcGxlLWZpZWxkcy1sb2NhbGl6YXRpb24uaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggYTZkMWI1OTdkNjI2ZWU0NmZhNDk1NGI2YmZiNTE5ZDUwZjU5ZGE5YS4uMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2Zv
cm1zL3RpbWUtbXVsdGlwbGUtZmllbGRzL3RpbWUtbXVsdGlwbGUtZmllbGRzLWxvY2FsaXphdGlv
bi5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsMzAgKzAsMCBAQAotPCFET0NUWVBFIGh0bWw+Ci08
aHRtbD4KLTxoZWFkPgotPG1ldGEgY2hhcnNldD0idXRmLTgiPgotPHNjcmlwdCBzcmM9Ii4uLy4u
L2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iLi4v
cmVzb3VyY2VzL2NvbW1vbi5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0PgotaWYgKHdpbmRvdy5pbnRl
cm5hbHMpCi0gICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldExhbmdBdHRyaWJ1dGVBd2FyZUZvcm1D
b250cm9sVUlFbmFibGVkKHRydWUpOwotPC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keT4KLTxkaXYg
aWQ9Y29uc29sZT48L2Rpdj4KLTxpbnB1dCB0eXBlPSJ0aW1lIiB2YWx1ZT0iMTM6MjM6NDUuMSIg
bGFuZz0iZW4iIC8+PGJyPgotPGlucHV0IHR5cGU9InRpbWUiIHZhbHVlPSIxMzoyMzo0NS4xIiBs
YW5nPSJhciIgLz48YnI+Ci08aW5wdXQgdHlwZT0idGltZSIgdmFsdWU9IjEzOjIzOjQ1LjEiIGxh
bmc9ImZyIiAvPjxicj4KLTxpbnB1dCB0eXBlPSJ0aW1lIiB2YWx1ZT0iMTM6MjM6NDUuMSIgbGFu
Zz0iamEiIC8+PGJyPgotPGlucHV0IHR5cGU9InRpbWUiIHZhbHVlPSIxMzoyMzo0NS4xIiBsYW5n
PSJrbyIgLz48YnI+Ci08aW5wdXQgdHlwZT0idGltZSIgdmFsdWU9IjEzOjIzOjQ1LjEiIGxhbmc9
ImNuIiAvPgotPHNjcmlwdD4KLWRlc2NyaXB0aW9uKCJUZXN0cyB0aGUgdGltZSBmb3JtYXQgZm9y
IHZhcmlvdXMgbG9jYWxlcy4iLCB0cnVlKTsKLWRlYnVnKCJUaGUgZm9sbG93aW5nIGxpbmVzIGRl
cGVuZCBvbiB0aGUgbG9jYWxlIGRhdGEgaW4gdGhlIHN5c3RlbS4iKTsKLXZhciBpbnB1dHMgPSBk
b2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgiaW5wdXQiKTsKLWZvciAodmFyIGkgPSAwOyBp
IDwgaW5wdXRzLmxlbmd0aDsgKytpKSB7Ci0gICAgIGRlYnVnKGlucHV0c1tpXS5sYW5nICsgJzog
JyArIGdldFVzZXJBZ2VudFNoYWRvd1RleHRDb250ZW50KGlucHV0c1tpXSkpOwotfQotPC9zY3Jp
cHQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9z
Y3JpcHQ+Ci08L2JvZHk+Ci08L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Zv
cm1zL3RpbWUtbXVsdGlwbGUtZmllbGRzL3RpbWUtbXVsdGlwbGUtZmllbGRzLWxvc2luZy1yZW5k
ZXJlci1vbi1jbGljay1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3RpbWUt
bXVsdGlwbGUtZmllbGRzL3RpbWUtbXVsdGlwbGUtZmllbGRzLWxvc2luZy1yZW5kZXJlci1vbi1j
bGljay1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDk1NTdiN2Mz
NjNhMjI2ZjljNWVlZGFiOGQ4YzI1OTMyZDJiZmQwNTYuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy90aW1lLW11bHRp
cGxlLWZpZWxkcy90aW1lLW11bHRpcGxlLWZpZWxkcy1sb3NpbmctcmVuZGVyZXItb24tY2xpY2st
ZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEsMiArMCwwIEBACi1UaGlzIHRlc3RzIHRo
YXQgd2UgZG9uJ3QgY3Jhc2ggd2hlbiB0aGUgcmVuZGVyZXIgZ29lcyBhd2F5IGR1cmluZyBldmVu
dCBoYW5kbGluZy4KLQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy90aW1lLW11
bHRpcGxlLWZpZWxkcy90aW1lLW11bHRpcGxlLWZpZWxkcy1sb3NpbmctcmVuZGVyZXItb24tY2xp
Y2suaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvdGltZS1tdWx0aXBsZS1maWVsZHMvdGlt
ZS1tdWx0aXBsZS1maWVsZHMtbG9zaW5nLXJlbmRlcmVyLW9uLWNsaWNrLmh0bWwKZGVsZXRlZCBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDhkYmQ4MjRkMzY2MWQ2YTU1ZDk4MTgzZGNhMjQzMGY1Yjkx
YTk3OWIuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5
b3V0VGVzdHMvZmFzdC9mb3Jtcy90aW1lLW11bHRpcGxlLWZpZWxkcy90aW1lLW11bHRpcGxlLWZp
ZWxkcy1sb3NpbmctcmVuZGVyZXItb24tY2xpY2suaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDEy
ICswLDAgQEAKLTxodG1sPgotICAgIDxoZWFkPgotICAgICAgICA8c2NyaXB0IHNyYz0iLi4vcmVz
b3VyY2VzL2NvbW1vbi1sb3NpbmctcmVuZGVyZXItb24tY2xpY2suanMiPjwvc2NyaXB0PgotICAg
ICAgICA8c3R5bGU+Ci0gICAgICAgICAgICAjdGVzdCB7IHdpZHRoOiAxMDBweDsgfQotICAgICAg
ICA8L3N0eWxlPgotICAgIDwvaGVhZD4KLSAgICA8Ym9keSBvbmxvYWQ9InRlc3RMb3NpbmdSZW5k
ZXJlck9uQ2xpY2soKSI+Ci0gICAgICAgIFRoaXMgdGVzdHMgdGhhdCB3ZSBkb24ndCBjcmFzaCB3
aGVuIHRoZSByZW5kZXJlciBnb2VzIGF3YXkgZHVyaW5nIGV2ZW50IGhhbmRsaW5nLjxicj4KLSAg
ICAgICAgPGlucHV0IHR5cGU9InRpbWUiIGlkPSJ0ZXN0IiBvbmNsaWNrPSJldmVudC50YXJnZXQu
c3R5bGUuZGlzcGxheT0nbm9uZSciPgotICAgIDwvYm9keT4KLTwvaHRtbD4KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvdGltZS1tdWx0aXBsZS1maWVsZHMvdGltZS1tdWx0aXBs
ZS1maWVsZHMtbW91c2UtZXZlbnRzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvZm9y
bXMvdGltZS1tdWx0aXBsZS1maWVsZHMvdGltZS1tdWx0aXBsZS1maWVsZHMtbW91c2UtZXZlbnRz
LWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZDczZjBlMjRiOGY4
YmYzZGJhNTVjZDI2ZTU0OGQ1MzFlNTdiYTM3ZS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3RpbWUtbXVsdGlwbGUt
ZmllbGRzL3RpbWUtbXVsdGlwbGUtZmllbGRzLW1vdXNlLWV2ZW50cy1leHBlY3RlZC50eHQKKysr
IC9kZXYvbnVsbApAQCAtMSwzMiArMCwwIEBACi1NdWx0aXBsZSBmaWVsZHMgVUkgb2YgdGltZSBp
bnB1dCB0eXBlIHdpdGggbW91c2UgZXZlbnRzCi0KLU9uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBh
IHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4K
LQotCi1QbGVhc2UgcnVuIHRoaXMgd2l0aCBEdW1wUmVuZGVyVHJlZS4KLQotVGVzdCBmb2xsb3dp
bmcgbW91c2UgYWN0aW9uczoKLU1vdXNlIGNsaWNrIHRvIGZvY3VzIGZpZWxkCi1Nb3VzZSBjbGlj
ayBvbiBzcGluIGJ1dHRvbgotCi09IEZvY3VzIHRvIGhvdXIgZmllbGQgPQotUEFTUyBpbnB1dC52
YWx1ZSBpcyAiMDI6MjMiCi09IEZvY3VzIHRvIG1pbnV0ZSBmaWVsZCA9Ci1QQVNTIGlucHV0LnZh
bHVlIGlzICIwMjoyNCIKLT0gQ2xpY2sgdXAgcGFydCBvZiBzcGluIGJ1dHRvbiA9Ci1QQVNTIGlu
cHV0LnZhbHVlIGlzICIwMjoyNSIKLT0gQ2xpY2sgZG93biBwYXJ0IG9mIHNwaW4gYnV0dG9uID0K
LVBBU1MgaW5wdXQudmFsdWUgaXMgIjAyOjI0IgotPSBDbGljayBvbiBhIGRpc2FibGVkL3JlYWRv
bmx5IGZpZWxkID0KLVBBU1MgaW5wdXQudmFsdWUgaXMgIjAyOjI0IgotUEFTUyBpbnB1dC52YWx1
ZSBpcyAiMDI6MjQiCi0KLT09PiBDbGljayBvbiBjbGVhciBidXR0b24uCi1QQVNTIGlucHV0LnZh
bHVlIGlzICIwMjoyNCIKLVBBU1MgaW5wdXQudmFsdWUgaXMgIjAyOjI0IgotUEFTUyBpbnB1dC52
YWx1ZSBpcyAiIgotCi1QQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCi0KLVRFU1QgQ09N
UExFVEUKLQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy90aW1lLW11bHRpcGxl
LWZpZWxkcy90aW1lLW11bHRpcGxlLWZpZWxkcy1tb3VzZS1ldmVudHMuaHRtbCBiL0xheW91dFRl
c3RzL2Zhc3QvZm9ybXMvdGltZS1tdWx0aXBsZS1maWVsZHMvdGltZS1tdWx0aXBsZS1maWVsZHMt
bW91c2UtZXZlbnRzLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDhiNGFkNjRl
Nzg1ODdlMzlkMGI4YjkxODE5NzdmNjI2NTZmYzhkOTQuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy90aW1lLW11bHRp
cGxlLWZpZWxkcy90aW1lLW11bHRpcGxlLWZpZWxkcy1tb3VzZS1ldmVudHMuaHRtbAorKysgL2Rl
di9udWxsCkBAIC0xLDEwNiArMCwwIEBACi08IURPQ1RZUEUgaHRtbD4KLTxodG1sPgotPGhlYWQ+
Ci08c2NyaXB0IHNyYz0iLi4vLi4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Njcmlw
dD4KLTwvaGVhZD4KLTxib2R5PgotPHAgaWQ9ImRlc2NyaXB0aW9uIj48L3A+Ci08cD4KLVBsZWFz
ZSBydW4gdGhpcyB3aXRoIER1bXBSZW5kZXJUcmVlLgotPC9wPgotVGVzdCBmb2xsb3dpbmcgbW91
c2UgYWN0aW9uczoKLTx1bD4KLSAgICA8bGk+TW91c2UgY2xpY2sgdG8gZm9jdXMgZmllbGQ8L2xp
PgotICAgIDxsaT5Nb3VzZSBjbGljayBvbiBzcGluIGJ1dHRvbjwvbGk+Ci08L3VsPgotPGlucHV0
IGlkPSJpbnB1dCIgdHlwZT0idGltZSIgc3R5bGU9ImZvbnQtZmFtaWx5OmFoZW07IGZvbnQtc2l6
ZToxNnB4OyI+Ci08ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KLTxzY3JpcHQ+Ci1kZXNjcmlwdGlv
bigiTXVsdGlwbGUgZmllbGRzIFVJIG9mIHRpbWUgaW5wdXQgdHlwZSB3aXRoIG1vdXNlIGV2ZW50
cyIpOwotdmFyIGlucHV0ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImlucHV0Iik7Ci0KLWZ1
bmN0aW9uIGtleURvd24oa2V5LCBtb2RpZmllcnMpCi17Ci0gICAgaWYgKCF3aW5kb3cuZXZlbnRT
ZW5kZXIpCi0gICAgICAgIHJldHVybjsKLSAgICBldmVudFNlbmRlci5rZXlEb3duKGtleSwgbW9k
aWZpZXJzKTsKLX0KLQotZnVuY3Rpb24gbW91c2VDbGljaygpCi17Ci0gICAgaWYgKCF3aW5kb3cu
ZXZlbnRTZW5kZXIpCi0gICAgICAgIHJldHVybjsKLSAgICBldmVudFNlbmRlci5tb3VzZURvd24o
KTsKLSAgICBldmVudFNlbmRlci5tb3VzZVVwKCk7Ci19Ci0KLWZ1bmN0aW9uIG1vdXNlTW92ZVRv
KHgsIHkpCi17Ci0gICAgaWYgKCF3aW5kb3cuZXZlbnRTZW5kZXIpCi0gICAgICAgIHJldHVybjsK
LSAgICBldmVudFNlbmRlci5tb3VzZU1vdmVUbyh4ICsgaW5wdXQub2Zmc2V0TGVmdCwgeSArIGlu
cHV0Lm9mZnNldFRvcCk7Ci19Ci0KLXZhciBjZW50ZXIgPSBpbnB1dC5vZmZzZXRIZWlnaHQgLyAy
OwotdmFyIGNsZWFyQnV0dG9uT2Zmc2V0ID0gMjA7Ci0KLWlucHV0LnZhbHVlID0gIjAxOjIzIjsK
LWlucHV0LmJsdXIoKTsKLQotZGVidWcoJz0gRm9jdXMgdG8gaG91ciBmaWVsZCA9Jyk7Ci1tb3Vz
ZU1vdmVUbygxMiwgMTQpOwotbW91c2VDbGljaygpOwota2V5RG93bigndXBBcnJvdycpOwotc2hv
dWxkQmVFcXVhbFRvU3RyaW5nKCdpbnB1dC52YWx1ZScsICcwMjoyMycpOwotCi1kZWJ1ZygnPSBG
b2N1cyB0byBtaW51dGUgZmllbGQgPScpOwotbW91c2VNb3ZlVG8oNzAsIDE0KTsKLW1vdXNlQ2xp
Y2soKTsKLWtleURvd24oJ3VwQXJyb3cnKTsKLXNob3VsZEJlRXF1YWxUb1N0cmluZygnaW5wdXQu
dmFsdWUnLCAnMDI6MjQnKTsKLQotZGVidWcoJz0gQ2xpY2sgdXAgcGFydCBvZiBzcGluIGJ1dHRv
biA9Jyk7Ci1tb3VzZU1vdmVUbyhpbnB1dC5vZmZzZXRXaWR0aCAtIDEwLCA4KTsKLW1vdXNlQ2xp
Y2soKTsKLXNob3VsZEJlRXF1YWxUb1N0cmluZygnaW5wdXQudmFsdWUnLCAnMDI6MjUnKTsKLQot
ZGVidWcoJz0gQ2xpY2sgZG93biBwYXJ0IG9mIHNwaW4gYnV0dG9uID0nKTsKLW1vdXNlTW92ZVRv
KGlucHV0Lm9mZnNldFdpZHRoIC0gMTAsIGlucHV0Lm9mZnNldEhlaWdodCAtIDgpOwotbW91c2VD
bGljaygpOwotc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdpbnB1dC52YWx1ZScsICcwMjoyNCcpOwot
Ci1kZWJ1ZygnPSBDbGljayBvbiBhIGRpc2FibGVkL3JlYWRvbmx5IGZpZWxkID0nKTsKLWlucHV0
LmRpc2FibGVkID0gdHJ1ZTsKLW1vdXNlTW92ZVRvKDEyLCAxNCk7Ci1tb3VzZUNsaWNrKCk7Ci1r
ZXlEb3duKCd1cEFycm93Jyk7Ci1zaG91bGRCZUVxdWFsVG9TdHJpbmcoJ2lucHV0LnZhbHVlJywg
JzAyOjI0Jyk7IC8vIE5vdCBjaGFuZ2VkLgotaW5wdXQuZGlzYWJsZWQgPSBmYWxzZTsKLWlucHV0
LnJlYWRPbmx5ID0gdHJ1ZTsKLW1vdXNlTW92ZVRvKDEyLCAxNCk7Ci1tb3VzZUNsaWNrKCk7Ci1r
ZXlEb3duKCd1cEFycm93Jyk7Ci1zaG91bGRCZUVxdWFsVG9TdHJpbmcoJ2lucHV0LnZhbHVlJywg
JzAyOjI0Jyk7IC8vIE5vdCBjaGFuZ2VkLgotaW5wdXQucmVhZE9ubHkgPSBmYWxzZTsKLQotZGVi
dWcoJycpOwotZGVidWcoJz09PiBDbGljayBvbiBjbGVhciBidXR0b24uJyk7Ci1pbnB1dC5yZWFk
T25seSA9IHRydWU7Ci1tb3VzZU1vdmVUbyhpbnB1dC5vZmZzZXRXaWR0aCAtIGNsZWFyQnV0dG9u
T2Zmc2V0LCBjZW50ZXIpOwotbW91c2VDbGljaygpOwotc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdp
bnB1dC52YWx1ZScsICcwMjoyNCcpOyAvLyBOb3QgY2hhbmdlZC4KLWlucHV0LmRpc2FibGVkID0g
dHJ1ZTsKLWlucHV0LnJlYWRPbmx5ID0gZmFsc2U7Ci1tb3VzZU1vdmVUbyhpbnB1dC5vZmZzZXRX
aWR0aCAtIGNsZWFyQnV0dG9uT2Zmc2V0LCBjZW50ZXIpOwotbW91c2VDbGljaygpOwotc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCdpbnB1dC52YWx1ZScsICcwMjoyNCcpOyAvLyBOb3QgY2hhbmdlZC4K
LWlucHV0LmRpc2FibGVkID0gZmFsc2U7Ci1tb3VzZU1vdmVUbyhpbnB1dC5vZmZzZXRXaWR0aCAt
IGNsZWFyQnV0dG9uT2Zmc2V0LCBjZW50ZXIpOwotbW91c2VDbGljaygpOwotc2hvdWxkQmVFcXVh
bFRvU3RyaW5nKCdpbnB1dC52YWx1ZScsICcnKTsKLQotZGVidWcoJycpOwotPC9zY3JpcHQ+Ci08
c2NyaXB0IHNyYz0iLi4vLi4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+
Ci08L2JvZHk+Ci08L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3Rp
bWUtbXVsdGlwbGUtZmllbGRzL3RpbWUtbXVsdGlwbGUtZmllbGRzLW5hcnJvdy13aWR0aC1zY3Jv
bGwtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy90aW1lLW11bHRpcGxlLWZp
ZWxkcy90aW1lLW11bHRpcGxlLWZpZWxkcy1uYXJyb3ctd2lkdGgtc2Nyb2xsLWV4cGVjdGVkLnR4
dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMjgwYTFhMWRhZTg3OTc5ZjhkYWUyNGQy
MTk2NmY1OGY1NWU3NDAwNS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3RpbWUtbXVsdGlwbGUtZmllbGRzL3RpbWUt
bXVsdGlwbGUtZmllbGRzLW5hcnJvdy13aWR0aC1zY3JvbGwtZXhwZWN0ZWQudHh0CisrKyAvZGV2
L251bGwKQEAgLTEsMTAgKzAsMCBAQAotQ2hlY2sgaWYgY2hhbmdpbmcgZm9jdXMgaW4gYSBtdWx0
aXBsZSBmaWVsZHMgaW5wdXQgc2Nyb2xscyB0aGUgY29udGVudC4KLQotT24gc3VjY2VzcywgeW91
IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1Qg
Q09NUExFVEUiLgotCi0KLVBBU1MgaW5pdGlhbFNjcm9sbExlZnQgPCBjb250YWluZXIuc2Nyb2xs
TGVmdCBpcyB0cnVlCi1QQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCi0KLVRFU1QgQ09N
UExFVEUKLQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy90aW1lLW11bHRpcGxl
LWZpZWxkcy90aW1lLW11bHRpcGxlLWZpZWxkcy1uYXJyb3ctd2lkdGgtc2Nyb2xsLmh0bWwgYi9M
YXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3RpbWUtbXVsdGlwbGUtZmllbGRzL3RpbWUtbXVsdGlwbGUt
ZmllbGRzLW5hcnJvdy13aWR0aC1zY3JvbGwuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggNDc1YTFlMDliYmU1MmEyM2MzNWIyNTczZTM3YjE1MDM2NGI3MjUwNS4uMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2Zv
cm1zL3RpbWUtbXVsdGlwbGUtZmllbGRzL3RpbWUtbXVsdGlwbGUtZmllbGRzLW5hcnJvdy13aWR0
aC1zY3JvbGwuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDIwICswLDAgQEAKLTwhRE9DVFlQRT4K
LTxib2R5PgotPHNjcmlwdCBzcmM9Ii4uLy4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+
PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL2NvbW1vbi5qcyI+PC9zY3JpcHQ+
Ci0KLTxpbnB1dCBpZD0idGltZTEiIHR5cGU9InRpbWUiIHN0eWxlPSJmb250LXNpemU6MjBweDsg
d2lkdGg6NjBweDsiPgotCi08c2NyaXB0PgotZGVzY3JpcHRpb24oJ0NoZWNrIGlmIGNoYW5naW5n
IGZvY3VzIGluIGEgbXVsdGlwbGUgZmllbGRzIGlucHV0IHNjcm9sbHMgdGhlIGNvbnRlbnQuJyk7
Ci1pZiAoIXdpbmRvdy5ldmVudFNlbmRlciB8fCAhd2luZG93LmludGVybmFscykKLSAgICBkZWJ1
ZygnVGhpcyB0ZXN0IHJxdWlyZXMgRFJUL1dSVC4nKTsKLXZhciB0aW1lMSA9ICQoJ3RpbWUxJyk7
Ci10aW1lMS5mb2N1cygpOwotdmFyIGNvbnRhaW5lciA9IGdldEVsZW1lbnRCeVBzZXVkb0lkKGlu
dGVybmFscy5vbGRlc3RTaGFkb3dSb290KHRpbWUxKSwgJy13ZWJraXQtZGF0ZXRpbWUtZWRpdCcp
OwotdmFyIGluaXRpYWxTY3JvbGxMZWZ0ID0gY29udGFpbmVyLnNjcm9sbExlZnQ7Ci1ldmVudFNl
bmRlci5rZXlEb3duKCdcdCcpOwotc2hvdWxkQmVUcnVlKCdpbml0aWFsU2Nyb2xsTGVmdCA8IGNv
bnRhaW5lci5zY3JvbGxMZWZ0Jyk7Ci08L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIuLi8uLi9qcy9y
ZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KLTwvYm9keT4KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvdGltZS1tdWx0aXBsZS1maWVsZHMvdGltZS1tdWx0aXBs
ZS1maWVsZHMtcHJlc2VydmUtdmFsdWUtYWZ0ZXItaGlzdG9yeS1iYWNrLWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvdGltZS1tdWx0aXBsZS1maWVsZHMvdGltZS1tdWx0aXBs
ZS1maWVsZHMtcHJlc2VydmUtdmFsdWUtYWZ0ZXItaGlzdG9yeS1iYWNrLWV4cGVjdGVkLnR4dApk
ZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZGVjZWQyNjc5N2JjM2MxNTMzOTlmOTA0MTY3
NjMwNmI5ZTU4MjUyYi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAot
LS0gYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3RpbWUtbXVsdGlwbGUtZmllbGRzL3RpbWUtbXVs
dGlwbGUtZmllbGRzLXByZXNlcnZlLXZhbHVlLWFmdGVyLWhpc3RvcnktYmFjay1leHBlY3RlZC50
eHQKKysrIC9kZXYvbnVsbApAQCAtMSwxOCArMCwwIEBACi1DaGVja3MgaW5wdXQgdmFsdWUgaXMg
cHJlc2VydmVkIGFmdGVyIGJhY2t3YXJkIGFuZCBmb3J3YXJkCi0KLU9uIHN1Y2Nlc3MsIHlvdSB3
aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENP
TVBMRVRFIi4KLQotCi1XZW50IGJhY2sgdG8gYSBwYWdlLiBDaGVja2luZyBhIGZvcm0gY29udHJv
bCB3aGljaCBoYWQgYSBmdWxsIHZhbHVlOgotUEFTUyAiMDE6MDEiIGlzICIwMTowMSIKLVdlbnQg
YmFjayB0byBhIHBhZ2UuIENoZWNraW5nIGEgZm9ybSBjb250cm9sIHdoaWNoIGhhZCBhIHBhcnRp
YWwgdmFsdWU6Ci1QQVNTICIwMTotLTotLSBBTSIgaXMgIjAxOi0tOi0tIEFNIgotV2VudCBmb3J3
YXJkIHRvIGEgcGFnZS4gQ2hlY2tpbmcgYSBmb3JtIGNvbnRyb2wgd2hpY2ggaGFkIGEgZnVsbCB2
YWx1ZToKLVBBU1MgIjAyOjAyIiBpcyAiMDI6MDIiCi1XZW50IGZvcndhcmQgdG8gYSBwYWdlLiBD
aGVja2luZyBhIGZvcm0gY29udHJvbCB3aGljaCBoYWQgYSBwYXJ0aWFsIHZhbHVlOgotUEFTUyAi
LS06NTk6LS0gLS0iIGlzICItLTo1OTotLSAtLSIKLQotUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQg
aXMgdHJ1ZQotCi1URVNUIENPTVBMRVRFCi0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3Qv
Zm9ybXMvdGltZS1tdWx0aXBsZS1maWVsZHMvdGltZS1tdWx0aXBsZS1maWVsZHMtcHJlc2VydmUt
dmFsdWUtYWZ0ZXItaGlzdG9yeS1iYWNrLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3Rp
bWUtbXVsdGlwbGUtZmllbGRzL3RpbWUtbXVsdGlwbGUtZmllbGRzLXByZXNlcnZlLXZhbHVlLWFm
dGVyLWhpc3RvcnktYmFjay5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA0MTcw
YWJiMmM1ODQxNDgyODgyNjRmZjY2ZTUwMWNkZGQ1NTRlNDQxLi4wMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvdGltZS1t
dWx0aXBsZS1maWVsZHMvdGltZS1tdWx0aXBsZS1maWVsZHMtcHJlc2VydmUtdmFsdWUtYWZ0ZXIt
aGlzdG9yeS1iYWNrLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSw0MiArMCwwIEBACi08IURPQ1RZ
UEUgaHRtbD4KLTxodG1sPgotPGhlYWQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vLi4vZmFzdC9qcy9y
ZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHk+Ci08aWZy
YW1lIGlkPSJpZnJhbWUiPjwvaWZyYW1lPgotPHNjcmlwdD4KLWRlc2NyaXB0aW9uKCdDaGVja3Mg
aW5wdXQgdmFsdWUgaXMgcHJlc2VydmVkIGFmdGVyIGJhY2t3YXJkIGFuZCBmb3J3YXJkJyk7Ci1p
ZiAoIXdpbmRvdy5ldmVudFNlbmRlciB8fCAhd2luZG93LmludGVybmFscykKLSAgICBkZWJ1Zygn
UGxlYXNlIHJ1biB3aXRoaW4gRHVtcFJlbmRlclRyZWUnKTsKLXdpbmRvdy5qc1Rlc3RJc0FzeW5j
ID0gdHJ1ZTsKLQotdmFyIHN0YXRlID0gJ2RpcmVjdCc7Ci12YXIgdGVzdENhc2VzID0gW107Ci0K
LWZ1bmN0aW9uIGZhaWxlZChtZXNzYWdlKSB7Ci0gICAgdGVzdEZhaWxlZChtZXNzYWdlICsgJyBp
biAnICsgc3RhdGUpOwotICAgIGZpbmlzaEpTVGVzdCgpOwotfQotCi1mdW5jdGlvbiBmaW5pc2hU
ZXN0KCkgewotICAgIHJ1blRlc3RDYXNlcygpOwotICAgIGZpbmlzaEpTVGVzdCgpOwotfQotCi1m
dW5jdGlvbiBydW5UZXN0Q2FzZXMoKSB7Ci0gICAgZm9yICh2YXIgaW5kZXggPSAwOyBpbmRleCA8
IHRlc3RDYXNlcy5sZW5ndGg7ICsraW5kZXgpIHsKLSAgICAgICAgdmFyIHRlc3RDYXNlID0gdGVz
dENhc2VzW2luZGV4XTsKLSAgICAgICAgZGVidWcodGVzdENhc2VbJ2Rlc2NyaXB0aW9uJ10gKyAn
OicpOwotICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoJyInICsgdGVzdENhc2VbJ2FjdHVh
bCddICsgJyInLCB0ZXN0Q2FzZVsnZXhwZWN0ZWQnXSk7Ci0gICAgfQotICAgIGRlYnVnKCcnKTsK
LX0KLQotd2luZG93Lm9ubG9hZCA9IGZ1bmN0aW9uKCkgewotICAgIGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCdpZnJhbWUnKS5zcmMgPSAncmVzb3VyY2VzL3ByZXNlcnZlLXZhbHVlLWFmdGVyLWhp
c3RvcnktYmFjay1mcmFtZS5odG1sP3BhZ2UxJzsKLX07Ci08L3NjcmlwdD4KLTxzY3JpcHQgc3Jj
PSIuLi8uLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0Pgot
PC9ib2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy90aW1l
LW11bHRpcGxlLWZpZWxkcy90aW1lLW11bHRpcGxlLWZpZWxkcy1yZWFkb25seS1zdWJmaWVsZC1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3RpbWUtbXVsdGlwbGUtZmllbGRz
L3RpbWUtbXVsdGlwbGUtZmllbGRzLXJlYWRvbmx5LXN1YmZpZWxkLWV4cGVjdGVkLnR4dApkZWxl
dGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYzQyMmJmNmY4N2M2NDVlYmI0ZGUyMGRkZDllNDQ0
YzgwNGFlYzQ3Ni4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0g
YS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3RpbWUtbXVsdGlwbGUtZmllbGRzL3RpbWUtbXVsdGlw
bGUtZmllbGRzLXJlYWRvbmx5LXN1YmZpZWxkLWV4cGVjdGVkLnR4dAorKysgL2Rldi9udWxsCkBA
IC0xLDY0ICswLDAgQEAKLVN1Yi1maWVsZHMgaW4gaW5wdXRbdHlwZT10aW1lXSBzaG91bGQgYmUg
cmVhZC1vbmx5IGluIHNvbWUgY2FzZXMuIFRoaXMgcmVxdWlyZXMgd2luZG93LmludGVybmFscy4K
LQotT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywg
Zm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgotCi0KLWNyZWF0ZVRpbWVJbnB1dCBhcmd1bWVu
dCBvcmRlcjogbWluLCBtYXgsIHN0ZXAsIHZhbHVlCi0KLU1pbGxpc2Vjb25kcyBmaWVsZDoKLVBB
U1MgaXNSZWFkT25seUZpZWxkKGNyZWF0ZVRpbWVJbnB1dCgiMDA6MDA6MDAuNTAwIiwgbnVsbCwg
c3RlcDFzZWMsICIiKSwgcHNldWRvTWlsbGlzZWNvbmQpIGlzIHRydWUKLVBBU1MgaXNSZWFkT25s
eUZpZWxkKGNyZWF0ZVRpbWVJbnB1dCgiMDA6MDA6MDAuNTAwIiwgbnVsbCwgc3RlcDFzZWMsICIw
MDowMDowMC41MDAiKSwgcHNldWRvTWlsbGlzZWNvbmQpIGlzIHRydWUKLVBBU1MgaXNSZWFkT25s
eUZpZWxkKGNyZWF0ZVRpbWVJbnB1dCgiMDA6MDA6MDAuNTAwIiwgbnVsbCwgc3RlcDFzZWMsICIw
MDowMDowMC42MDAiKSwgcHNldWRvTWlsbGlzZWNvbmQpIGlzIGZhbHNlCi1QQVNTIGlzUmVhZE9u
bHlGaWVsZChjcmVhdGVUaW1lSW5wdXQoIjAwOjAwOjAwLjAwMCIsIG51bGwsIHN0ZXAxc2VjLCAi
MDA6MDA6MDAuNjAwIiksIHBzZXVkb01pbGxpc2Vjb25kKSBpcyBmYWxzZQotUEFTUyBpc1JlYWRP
bmx5RmllbGQoY3JlYXRlVGltZUlucHV0KCIwMDowMDowMC41MDAiLCAiMDA6MDA6MDAuNTAwIiwg
c3RlcDFtcywgIiIpLCBwc2V1ZG9NaWxsaXNlY29uZCkgaXMgdHJ1ZQotUEFTUyBpc1JlYWRPbmx5
RmllbGQoY3JlYXRlVGltZUlucHV0KCIwMDowMDowMC41MDAiLCAiMDA6MDA6MDAuNTAxIiwgc3Rl
cDFtcywgIiIpLCBwc2V1ZG9NaWxsaXNlY29uZCkgaXMgZmFsc2UKLVBBU1MgaXNSZWFkT25seUZp
ZWxkKGNyZWF0ZVRpbWVJbnB1dCgiMDA6MDA6MDAuNTAwIiwgIjAwOjAwOjAwLjUwMCIsIHN0ZXAx
bXMsICIwMDowMDowMC4xMDAiKSwgcHNldWRvTWlsbGlzZWNvbmQpIGlzIGZhbHNlCi1TZWNvbmRz
IGZpZWxkOgotUEFTUyBpc1JlYWRPbmx5RmllbGQoY3JlYXRlVGltZUlucHV0KCIwMDowMDozMCIs
IG51bGwsIHN0ZXAxbWluLCAiIiksIHBzZXVkb1NlY29uZCkgaXMgdHJ1ZQotUEFTUyBpc1JlYWRP
bmx5RmllbGQoY3JlYXRlVGltZUlucHV0KCIwMDowMDozMCIsIG51bGwsIHN0ZXAxbWluLCAiMDA6
MDA6MzAiKSwgcHNldWRvU2Vjb25kKSBpcyB0cnVlCi1QQVNTIGlzUmVhZE9ubHlGaWVsZChjcmVh
dGVUaW1lSW5wdXQoIjAwOjAwOjMwLjUwMCIsIG51bGwsIHN0ZXAxbWluLCAiMDA6MDA6MzAuNjAw
IiksIHBzZXVkb1NlY29uZCkgaXMgdHJ1ZQotUEFTUyBpc1JlYWRPbmx5RmllbGQoY3JlYXRlVGlt
ZUlucHV0KCIwMDowMDozMCIsIG51bGwsIHN0ZXAxbWluLCAiMDA6MDA6MzUiKSwgcHNldWRvU2Vj
b25kKSBpcyBmYWxzZQotUEFTUyBpc1JlYWRPbmx5RmllbGQoY3JlYXRlVGltZUlucHV0KCIwMDow
MDowMCIsIG51bGwsIHN0ZXAxbWluLCAiMDA6MDA6MzUiKSwgcHNldWRvU2Vjb25kKSBpcyBmYWxz
ZQotUEFTUyBpc1JlYWRPbmx5RmllbGQoY3JlYXRlVGltZUlucHV0KCIwMDowMDozMCIsICIwMDow
MDozMCIsIHN0ZXAxbXMsICIiKSwgcHNldWRvU2Vjb25kKSBpcyB0cnVlCi1QQVNTIGlzUmVhZE9u
bHlGaWVsZChjcmVhdGVUaW1lSW5wdXQoIjAwOjAwOjMwIiwgIjAwOjAwOjMxIiwgc3RlcDFtcywg
IiIpLCBwc2V1ZG9TZWNvbmQpIGlzIGZhbHNlCi1QQVNTIGlzUmVhZE9ubHlGaWVsZChjcmVhdGVU
aW1lSW5wdXQoIjAwOjAwOjMwIiwgIjAwOjAwOjMwIiwgc3RlcDFtcywgIjAwOjAwOjI5IiksIHBz
ZXVkb1NlY29uZCkgaXMgZmFsc2UKLU1pbnV0ZXMgZmllbGQ6Ci1QQVNTIGlzUmVhZE9ubHlGaWVs
ZChjcmVhdGVUaW1lSW5wdXQoIjAwOjMwIiwgbnVsbCwgc3RlcDFob3VyLCAiIiksIHBzZXVkb01p
bnV0ZSkgaXMgdHJ1ZQotUEFTUyBpc1JlYWRPbmx5RmllbGQoY3JlYXRlVGltZUlucHV0KCIwMDoz
MCIsIG51bGwsIHN0ZXAxaG91ciwgIjAwOjMwIiksIHBzZXVkb01pbnV0ZSkgaXMgdHJ1ZQotUEFT
UyBpc1JlYWRPbmx5RmllbGQoY3JlYXRlVGltZUlucHV0KCIwMDozMCIsIG51bGwsIHN0ZXAxaG91
ciwgIjAwOjM1IiksIHBzZXVkb01pbnV0ZSkgaXMgZmFsc2UKLVBBU1MgaXNSZWFkT25seUZpZWxk
KGNyZWF0ZVRpbWVJbnB1dCgiMDA6MDAiLCBudWxsLCBzdGVwMWhvdXIsICIwMDozNSIpLCBwc2V1
ZG9NaW51dGUpIGlzIGZhbHNlCi1QQVNTIGlzUmVhZE9ubHlGaWVsZChjcmVhdGVUaW1lSW5wdXQo
IjAwOjAwOjAwIiwgIjAwOjAwOjMwIiwgc3RlcDFzZWMsICIiKSwgcHNldWRvTWludXRlKSBpcyB0
cnVlCi1QQVNTIGlzUmVhZE9ubHlGaWVsZChjcmVhdGVUaW1lSW5wdXQoIjAwOjAwOjAwIiwgIjAw
OjAxOjMwIiwgc3RlcDFzZWMsICIiKSwgcHNldWRvTWludXRlKSBpcyBmYWxzZQotUEFTUyBpc1Jl
YWRPbmx5RmllbGQoY3JlYXRlVGltZUlucHV0KCIwMDowMDowMCIsICIwMDowMDozMCIsIHN0ZXAx
c2VjLCAiMDA6MDE6MDAiKSwgcHNldWRvTWludXRlKSBpcyBmYWxzZQotSG91ciBmaWVsZDoKLVBB
U1MgaXNSZWFkT25seUZpZWxkKGNyZWF0ZVRpbWVJbnB1dCgiMTE6MDAiLCBudWxsLCBzdGVwMWRh
eSwgIiIpLCBwc2V1ZG9Ib3VyKSBpcyBmYWxzZQotUEFTUyBpc1JlYWRPbmx5RmllbGQoY3JlYXRl
VGltZUlucHV0KCIxMTowMCIsIG51bGwsIHN0ZXAxZGF5LCAiIiksIHBzZXVkb0FNUE0pIGlzIGZh
bHNlCi1QQVNTIGlzUmVhZE9ubHlGaWVsZChjcmVhdGVUaW1lSW5wdXQoIjExOjAwIiwgbnVsbCwg
c3RlcDFkYXksICIiKSwgcHNldWRvTWludXRlKSBpcyB0cnVlCi1QQVNTIGlzUmVhZE9ubHlGaWVs
ZChjcmVhdGVUaW1lSW5wdXQoIjExOjMwIiwgbnVsbCwgc3RlcDFkYXksICIxMTozMCIpLCBwc2V1
ZG9Ib3VyKSBpcyBmYWxzZQotUEFTUyBpc1JlYWRPbmx5RmllbGQoY3JlYXRlVGltZUlucHV0KCIx
MTozMCIsIG51bGwsIHN0ZXAxZGF5LCAiMTE6MzAiKSwgcHNldWRvQU1QTSkgaXMgZmFsc2UKLVBB
U1MgaXNSZWFkT25seUZpZWxkKGNyZWF0ZVRpbWVJbnB1dCgiMTE6MzAiLCBudWxsLCBzdGVwMWRh
eSwgIjExOjMwIiksIHBzZXVkb01pbnV0ZSkgaXMgdHJ1ZQotUEFTUyBpc1JlYWRPbmx5RmllbGQo
Y3JlYXRlVGltZUlucHV0KCIxMTozMCIsIG51bGwsIHN0ZXAxZGF5LCAiMTI6MzAiKSwgcHNldWRv
SG91cikgaXMgZmFsc2UKLVBBU1MgaXNSZWFkT25seUZpZWxkKGNyZWF0ZVRpbWVJbnB1dCgiMTE6
MzAiLCBudWxsLCBzdGVwMWRheSwgIjEyOjMwIiksIHBzZXVkb0FNUE0pIGlzIGZhbHNlCi1QQVNT
IGlzUmVhZE9ubHlGaWVsZChjcmVhdGVUaW1lSW5wdXQoIjExOjMwIiwgbnVsbCwgc3RlcDFkYXks
ICIxMjozMCIpLCBwc2V1ZG9NaW51dGUpIGlzIHRydWUKLVBBU1MgaXNSZWFkT25seUZpZWxkKGNy
ZWF0ZVRpbWVJbnB1dCgiMDA6MDAiLCBudWxsLCBzdGVwMWRheSwgIjEyOjMwIiksIHBzZXVkb0hv
dXIpIGlzIGZhbHNlCi1QQVNTIGlzUmVhZE9ubHlGaWVsZChjcmVhdGVUaW1lSW5wdXQoIjAwOjAw
IiwgbnVsbCwgc3RlcDFkYXksICIxMjozMCIpLCBwc2V1ZG9BTVBNKSBpcyBmYWxzZQotUEFTUyBp
c1JlYWRPbmx5RmllbGQoY3JlYXRlVGltZUlucHV0KCIwMDowMCIsIG51bGwsIHN0ZXAxZGF5LCAi
MTI6MzAiKSwgcHNldWRvTWludXRlKSBpcyBmYWxzZQotUEFTUyBpc1JlYWRPbmx5RmllbGQoY3Jl
YXRlVGltZUlucHV0KCIwMDowMCIsICIwMDozMCIsIHN0ZXAxbWluLCAiIiksIHBzZXVkb0hvdXIp
IGlzIHRydWUKLVBBU1MgaXNSZWFkT25seUZpZWxkKGNyZWF0ZVRpbWVJbnB1dCgiMDA6MDAiLCAi
MDA6MzAiLCBzdGVwMW1pbiwgIiIpLCBwc2V1ZG9BTVBNKSBpcyB0cnVlCi1QQVNTIGlzUmVhZE9u
bHlGaWVsZChjcmVhdGVUaW1lSW5wdXQoIjAwOjAwIiwgIjAwOjMwIiwgc3RlcDFtaW4sICIiKSwg
cHNldWRvTWludXRlKSBpcyBmYWxzZQotUEFTUyBpc1JlYWRPbmx5RmllbGQoY3JlYXRlVGltZUlu
cHV0KCIwMDowMCIsICIwMDowMCIsIHN0ZXAxaG91ciwgIiIpLCBwc2V1ZG9Ib3VyKSBpcyBmYWxz
ZQotUEFTUyBpc1JlYWRPbmx5RmllbGQoY3JlYXRlVGltZUlucHV0KCIwMDowMCIsICIwMDowMCIs
IHN0ZXAxaG91ciwgIiIpLCBwc2V1ZG9BTVBNKSBpcyB0cnVlCi1QQVNTIGlzUmVhZE9ubHlGaWVs
ZChjcmVhdGVUaW1lSW5wdXQoIjAwOjAwIiwgIjAwOjAwIiwgc3RlcDFob3VyLCAiIiksIHBzZXVk
b01pbnV0ZSkgaXMgdHJ1ZQotQU0vUE0gZmllbGQ6Ci1QQVNTIGlzUmVhZE9ubHlGaWVsZChjcmVh
dGVUaW1lSW5wdXQoIjAwOjAwIiwgbnVsbCwgc3RlcDFtaW4sICIiKSwgcHNldWRvQU1QTSkgaXMg
ZmFsc2UKLVBBU1MgaXNSZWFkT25seUZpZWxkKGNyZWF0ZVRpbWVJbnB1dCgiMjM6MDAiLCBudWxs
LCBzdGVwMW1pbiwgIiIpLCBwc2V1ZG9BTVBNKSBpcyBmYWxzZQotUEFTUyBpc1JlYWRPbmx5Rmll
bGQoY3JlYXRlVGltZUlucHV0KG51bGwsICIwMTowMCIsIHN0ZXAxbWluLCAiIiksIHBzZXVkb0FN
UE0pIGlzIGZhbHNlCi1QQVNTIGlzUmVhZE9ubHlGaWVsZChjcmVhdGVUaW1lSW5wdXQobnVsbCwg
IjIzOjAwIiwgc3RlcDFtaW4sICIiKSwgcHNldWRvQU1QTSkgaXMgZmFsc2UKLVBBU1MgaXNSZWFk
T25seUZpZWxkKGNyZWF0ZVRpbWVJbnB1dCgiMDA6MDAiLCAiMTE6NTkiLCBzdGVwMW1pbiwgIiIp
LCBwc2V1ZG9BTVBNKSBpcyB0cnVlCi1QQVNTIGlzUmVhZE9ubHlGaWVsZChjcmVhdGVUaW1lSW5w
dXQoIjAwOjAwIiwgIjEyOjAwIiwgc3RlcDFtaW4sICIiKSwgcHNldWRvQU1QTSkgaXMgZmFsc2UK
LVBBU1MgaXNSZWFkT25seUZpZWxkKGNyZWF0ZVRpbWVJbnB1dCgiMTI6MDAiLCAiMTI6MDAiLCBz
dGVwMW1pbiwgIiIpLCBwc2V1ZG9BTVBNKSBpcyB0cnVlCi1QQVNTIGlzUmVhZE9ubHlGaWVsZChj
cmVhdGVUaW1lSW5wdXQoIjEyOjAwIiwgIjIzOjU5Iiwgc3RlcDFtaW4sICIiKSwgcHNldWRvQU1Q
TSkgaXMgdHJ1ZQotUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQotCi1URVNUIENPTVBM
RVRFCi0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvdGltZS1tdWx0aXBsZS1m
aWVsZHMvdGltZS1tdWx0aXBsZS1maWVsZHMtcmVhZG9ubHktc3ViZmllbGQuaHRtbCBiL0xheW91
dFRlc3RzL2Zhc3QvZm9ybXMvdGltZS1tdWx0aXBsZS1maWVsZHMvdGltZS1tdWx0aXBsZS1maWVs
ZHMtcmVhZG9ubHktc3ViZmllbGQuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
NDFhYjE1MWI1ZjVjZjRkMjk1YzFlODZhOWVjZWIyOWNiMWY0NTZhOS4uMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3Rp
bWUtbXVsdGlwbGUtZmllbGRzL3RpbWUtbXVsdGlwbGUtZmllbGRzLXJlYWRvbmx5LXN1YmZpZWxk
Lmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSwxMDEgKzAsMCBAQAotPCFET0NUWVBFIGh0bWw+Ci08
Ym9keT4KLTxzY3JpcHQgc3JjPSIuLi8uLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwv
c2NyaXB0PgotPHNjcmlwdD4KLWZ1bmN0aW9uIGNyZWF0ZVRpbWVJbnB1dChtaW4sIG1heCwgc3Rl
cCwgdmFsdWUpIHsKLSAgICB2YXIgaW5wdXQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdpbnB1
dCcpOwotICAgIGlucHV0LnR5cGUgPSAndGltZSc7Ci0gICAgaW5wdXQubWluID0gbWluOwotICAg
IGlucHV0Lm1heCA9IG1heDsKLSAgICBpbnB1dC5zdGVwID0gc3RlcDsKLSAgICBpZiAodmFsdWUp
Ci0gICAgICAgIGlucHV0LnZhbHVlID0gdmFsdWU7Ci0gICAgcmV0dXJuIGlucHV0OwotfQotCi0v
LyBGSVhNRTogUmVuYW1lIHRoaXMgZnVuY3Rpb24gYW5kIHRoZSB0ZXN0IGZpbGUuCi1mdW5jdGlv
biBpc1JlYWRPbmx5RmllbGQoaW5wdXQsIHBzZXVkbykgewotICAgIHZhciBub2RlID0gaW50ZXJu
YWxzLnlvdW5nZXN0U2hhZG93Um9vdChpbnB1dCkucXVlcnlTZWxlY3RvcignKltwc2V1ZG89Iicg
KyBwc2V1ZG8gKyAnIl0nKTsKLSAgICBpZiAoIW5vZGUpCi0gICAgICAgIHRlc3RGYWlsZWQoJ1Jl
cXVlc3RlZCBub2RlIGlzIG1pc3NpbmcuJyk7Ci0gICAgcmV0dXJuIG5vZGUgJiYgbm9kZS5oYXNB
dHRyaWJ1dGUoJ2Rpc2FibGVkJyk7Ci19Ci0KLXZhciBwc2V1ZG9NaWxsaXNlY29uZCA9ICctd2Vi
a2l0LWRhdGV0aW1lLWVkaXQtbWlsbGlzZWNvbmQtZmllbGQnOwotdmFyIHBzZXVkb1NlY29uZCA9
ICctd2Via2l0LWRhdGV0aW1lLWVkaXQtc2Vjb25kLWZpZWxkJzsKLXZhciBwc2V1ZG9NaW51dGUg
PSAnLXdlYmtpdC1kYXRldGltZS1lZGl0LW1pbnV0ZS1maWVsZCc7Ci12YXIgcHNldWRvSG91ciA9
ICctd2Via2l0LWRhdGV0aW1lLWVkaXQtaG91ci1maWVsZCc7Ci12YXIgcHNldWRvQU1QTSA9ICct
d2Via2l0LWRhdGV0aW1lLWVkaXQtYW1wbS1maWVsZCc7Ci12YXIgc3RlcDFtcyA9ICcwLjAwMSc7
Ci12YXIgc3RlcDFzZWMgPSAnMSc7Ci12YXIgc3RlcDFtaW4gPSAnNjAnOwotdmFyIHN0ZXAxaG91
ciA9ICczNjAwJzsKLXZhciBzdGVwMWRheSA9ICc4NjQwMCc7Ci0KLWRlc2NyaXB0aW9uKCdTdWIt
ZmllbGRzIGluIGlucHV0W3R5cGU9dGltZV0gc2hvdWxkIGJlIHJlYWQtb25seSBpbiBzb21lIGNh
c2VzLiBUaGlzIHJlcXVpcmVzIHdpbmRvdy5pbnRlcm5hbHMuJyk7Ci1kZWJ1ZygnY3JlYXRlVGlt
ZUlucHV0IGFyZ3VtZW50IG9yZGVyOiBtaW4sIG1heCwgc3RlcCwgdmFsdWUnKTsKLWRlYnVnKCcn
KTsKLQotZGVidWcoJ01pbGxpc2Vjb25kcyBmaWVsZDonKTsKLXNob3VsZEJlVHJ1ZSgnaXNSZWFk
T25seUZpZWxkKGNyZWF0ZVRpbWVJbnB1dCgiMDA6MDA6MDAuNTAwIiwgbnVsbCwgc3RlcDFzZWMs
ICIiKSwgcHNldWRvTWlsbGlzZWNvbmQpJyk7Ci1zaG91bGRCZVRydWUoJ2lzUmVhZE9ubHlGaWVs
ZChjcmVhdGVUaW1lSW5wdXQoIjAwOjAwOjAwLjUwMCIsIG51bGwsIHN0ZXAxc2VjLCAiMDA6MDA6
MDAuNTAwIiksIHBzZXVkb01pbGxpc2Vjb25kKScpOwotc2hvdWxkQmVGYWxzZSgnaXNSZWFkT25s
eUZpZWxkKGNyZWF0ZVRpbWVJbnB1dCgiMDA6MDA6MDAuNTAwIiwgbnVsbCwgc3RlcDFzZWMsICIw
MDowMDowMC42MDAiKSwgcHNldWRvTWlsbGlzZWNvbmQpJyk7Ci1zaG91bGRCZUZhbHNlKCdpc1Jl
YWRPbmx5RmllbGQoY3JlYXRlVGltZUlucHV0KCIwMDowMDowMC4wMDAiLCBudWxsLCBzdGVwMXNl
YywgIjAwOjAwOjAwLjYwMCIpLCBwc2V1ZG9NaWxsaXNlY29uZCknKTsKLXNob3VsZEJlVHJ1ZSgn
aXNSZWFkT25seUZpZWxkKGNyZWF0ZVRpbWVJbnB1dCgiMDA6MDA6MDAuNTAwIiwgIjAwOjAwOjAw
LjUwMCIsIHN0ZXAxbXMsICIiKSwgcHNldWRvTWlsbGlzZWNvbmQpJyk7Ci1zaG91bGRCZUZhbHNl
KCdpc1JlYWRPbmx5RmllbGQoY3JlYXRlVGltZUlucHV0KCIwMDowMDowMC41MDAiLCAiMDA6MDA6
MDAuNTAxIiwgc3RlcDFtcywgIiIpLCBwc2V1ZG9NaWxsaXNlY29uZCknKTsKLXNob3VsZEJlRmFs
c2UoJ2lzUmVhZE9ubHlGaWVsZChjcmVhdGVUaW1lSW5wdXQoIjAwOjAwOjAwLjUwMCIsICIwMDow
MDowMC41MDAiLCBzdGVwMW1zLCAiMDA6MDA6MDAuMTAwIiksIHBzZXVkb01pbGxpc2Vjb25kKScp
OwotCi1kZWJ1ZygnU2Vjb25kcyBmaWVsZDonKTsKLXNob3VsZEJlVHJ1ZSgnaXNSZWFkT25seUZp
ZWxkKGNyZWF0ZVRpbWVJbnB1dCgiMDA6MDA6MzAiLCBudWxsLCBzdGVwMW1pbiwgIiIpLCBwc2V1
ZG9TZWNvbmQpJyk7Ci1zaG91bGRCZVRydWUoJ2lzUmVhZE9ubHlGaWVsZChjcmVhdGVUaW1lSW5w
dXQoIjAwOjAwOjMwIiwgbnVsbCwgc3RlcDFtaW4sICIwMDowMDozMCIpLCBwc2V1ZG9TZWNvbmQp
Jyk7Ci1zaG91bGRCZVRydWUoJ2lzUmVhZE9ubHlGaWVsZChjcmVhdGVUaW1lSW5wdXQoIjAwOjAw
OjMwLjUwMCIsIG51bGwsIHN0ZXAxbWluLCAiMDA6MDA6MzAuNjAwIiksIHBzZXVkb1NlY29uZCkn
KTsKLXNob3VsZEJlRmFsc2UoJ2lzUmVhZE9ubHlGaWVsZChjcmVhdGVUaW1lSW5wdXQoIjAwOjAw
OjMwIiwgbnVsbCwgc3RlcDFtaW4sICIwMDowMDozNSIpLCBwc2V1ZG9TZWNvbmQpJyk7Ci1zaG91
bGRCZUZhbHNlKCdpc1JlYWRPbmx5RmllbGQoY3JlYXRlVGltZUlucHV0KCIwMDowMDowMCIsIG51
bGwsIHN0ZXAxbWluLCAiMDA6MDA6MzUiKSwgcHNldWRvU2Vjb25kKScpOwotc2hvdWxkQmVUcnVl
KCdpc1JlYWRPbmx5RmllbGQoY3JlYXRlVGltZUlucHV0KCIwMDowMDozMCIsICIwMDowMDozMCIs
IHN0ZXAxbXMsICIiKSwgcHNldWRvU2Vjb25kKScpOwotc2hvdWxkQmVGYWxzZSgnaXNSZWFkT25s
eUZpZWxkKGNyZWF0ZVRpbWVJbnB1dCgiMDA6MDA6MzAiLCAiMDA6MDA6MzEiLCBzdGVwMW1zLCAi
IiksIHBzZXVkb1NlY29uZCknKTsKLXNob3VsZEJlRmFsc2UoJ2lzUmVhZE9ubHlGaWVsZChjcmVh
dGVUaW1lSW5wdXQoIjAwOjAwOjMwIiwgIjAwOjAwOjMwIiwgc3RlcDFtcywgIjAwOjAwOjI5Iiks
IHBzZXVkb1NlY29uZCknKTsKLQotZGVidWcoJ01pbnV0ZXMgZmllbGQ6Jyk7Ci1zaG91bGRCZVRy
dWUoJ2lzUmVhZE9ubHlGaWVsZChjcmVhdGVUaW1lSW5wdXQoIjAwOjMwIiwgbnVsbCwgc3RlcDFo
b3VyLCAiIiksIHBzZXVkb01pbnV0ZSknKTsKLXNob3VsZEJlVHJ1ZSgnaXNSZWFkT25seUZpZWxk
KGNyZWF0ZVRpbWVJbnB1dCgiMDA6MzAiLCBudWxsLCBzdGVwMWhvdXIsICIwMDozMCIpLCBwc2V1
ZG9NaW51dGUpJyk7Ci1zaG91bGRCZUZhbHNlKCdpc1JlYWRPbmx5RmllbGQoY3JlYXRlVGltZUlu
cHV0KCIwMDozMCIsIG51bGwsIHN0ZXAxaG91ciwgIjAwOjM1IiksIHBzZXVkb01pbnV0ZSknKTsK
LXNob3VsZEJlRmFsc2UoJ2lzUmVhZE9ubHlGaWVsZChjcmVhdGVUaW1lSW5wdXQoIjAwOjAwIiwg
bnVsbCwgc3RlcDFob3VyLCAiMDA6MzUiKSwgcHNldWRvTWludXRlKScpOwotc2hvdWxkQmVUcnVl
KCdpc1JlYWRPbmx5RmllbGQoY3JlYXRlVGltZUlucHV0KCIwMDowMDowMCIsICIwMDowMDozMCIs
IHN0ZXAxc2VjLCAiIiksIHBzZXVkb01pbnV0ZSknKTsKLXNob3VsZEJlRmFsc2UoJ2lzUmVhZE9u
bHlGaWVsZChjcmVhdGVUaW1lSW5wdXQoIjAwOjAwOjAwIiwgIjAwOjAxOjMwIiwgc3RlcDFzZWMs
ICIiKSwgcHNldWRvTWludXRlKScpOwotc2hvdWxkQmVGYWxzZSgnaXNSZWFkT25seUZpZWxkKGNy
ZWF0ZVRpbWVJbnB1dCgiMDA6MDA6MDAiLCAiMDA6MDA6MzAiLCBzdGVwMXNlYywgIjAwOjAxOjAw
IiksIHBzZXVkb01pbnV0ZSknKTsKLQotZGVidWcoJ0hvdXIgZmllbGQ6Jyk7Ci1zaG91bGRCZUZh
bHNlKCdpc1JlYWRPbmx5RmllbGQoY3JlYXRlVGltZUlucHV0KCIxMTowMCIsIG51bGwsIHN0ZXAx
ZGF5LCAiIiksIHBzZXVkb0hvdXIpJyk7Ci1zaG91bGRCZUZhbHNlKCdpc1JlYWRPbmx5RmllbGQo
Y3JlYXRlVGltZUlucHV0KCIxMTowMCIsIG51bGwsIHN0ZXAxZGF5LCAiIiksIHBzZXVkb0FNUE0p
Jyk7Ci1zaG91bGRCZVRydWUoJ2lzUmVhZE9ubHlGaWVsZChjcmVhdGVUaW1lSW5wdXQoIjExOjAw
IiwgbnVsbCwgc3RlcDFkYXksICIiKSwgcHNldWRvTWludXRlKScpOwotc2hvdWxkQmVGYWxzZSgn
aXNSZWFkT25seUZpZWxkKGNyZWF0ZVRpbWVJbnB1dCgiMTE6MzAiLCBudWxsLCBzdGVwMWRheSwg
IjExOjMwIiksIHBzZXVkb0hvdXIpJyk7Ci1zaG91bGRCZUZhbHNlKCdpc1JlYWRPbmx5RmllbGQo
Y3JlYXRlVGltZUlucHV0KCIxMTozMCIsIG51bGwsIHN0ZXAxZGF5LCAiMTE6MzAiKSwgcHNldWRv
QU1QTSknKTsKLXNob3VsZEJlVHJ1ZSgnaXNSZWFkT25seUZpZWxkKGNyZWF0ZVRpbWVJbnB1dCgi
MTE6MzAiLCBudWxsLCBzdGVwMWRheSwgIjExOjMwIiksIHBzZXVkb01pbnV0ZSknKTsKLXNob3Vs
ZEJlRmFsc2UoJ2lzUmVhZE9ubHlGaWVsZChjcmVhdGVUaW1lSW5wdXQoIjExOjMwIiwgbnVsbCwg
c3RlcDFkYXksICIxMjozMCIpLCBwc2V1ZG9Ib3VyKScpOwotc2hvdWxkQmVGYWxzZSgnaXNSZWFk
T25seUZpZWxkKGNyZWF0ZVRpbWVJbnB1dCgiMTE6MzAiLCBudWxsLCBzdGVwMWRheSwgIjEyOjMw
IiksIHBzZXVkb0FNUE0pJyk7Ci1zaG91bGRCZVRydWUoJ2lzUmVhZE9ubHlGaWVsZChjcmVhdGVU
aW1lSW5wdXQoIjExOjMwIiwgbnVsbCwgc3RlcDFkYXksICIxMjozMCIpLCBwc2V1ZG9NaW51dGUp
Jyk7Ci1zaG91bGRCZUZhbHNlKCdpc1JlYWRPbmx5RmllbGQoY3JlYXRlVGltZUlucHV0KCIwMDow
MCIsIG51bGwsIHN0ZXAxZGF5LCAiMTI6MzAiKSwgcHNldWRvSG91ciknKTsKLXNob3VsZEJlRmFs
c2UoJ2lzUmVhZE9ubHlGaWVsZChjcmVhdGVUaW1lSW5wdXQoIjAwOjAwIiwgbnVsbCwgc3RlcDFk
YXksICIxMjozMCIpLCBwc2V1ZG9BTVBNKScpOwotc2hvdWxkQmVGYWxzZSgnaXNSZWFkT25seUZp
ZWxkKGNyZWF0ZVRpbWVJbnB1dCgiMDA6MDAiLCBudWxsLCBzdGVwMWRheSwgIjEyOjMwIiksIHBz
ZXVkb01pbnV0ZSknKTsKLXNob3VsZEJlVHJ1ZSgnaXNSZWFkT25seUZpZWxkKGNyZWF0ZVRpbWVJ
bnB1dCgiMDA6MDAiLCAiMDA6MzAiLCBzdGVwMW1pbiwgIiIpLCBwc2V1ZG9Ib3VyKScpOwotc2hv
dWxkQmVUcnVlKCdpc1JlYWRPbmx5RmllbGQoY3JlYXRlVGltZUlucHV0KCIwMDowMCIsICIwMDoz
MCIsIHN0ZXAxbWluLCAiIiksIHBzZXVkb0FNUE0pJyk7Ci1zaG91bGRCZUZhbHNlKCdpc1JlYWRP
bmx5RmllbGQoY3JlYXRlVGltZUlucHV0KCIwMDowMCIsICIwMDozMCIsIHN0ZXAxbWluLCAiIiks
IHBzZXVkb01pbnV0ZSknKTsKLXNob3VsZEJlRmFsc2UoJ2lzUmVhZE9ubHlGaWVsZChjcmVhdGVU
aW1lSW5wdXQoIjAwOjAwIiwgIjAwOjAwIiwgc3RlcDFob3VyLCAiIiksIHBzZXVkb0hvdXIpJyk7
Ci1zaG91bGRCZVRydWUoJ2lzUmVhZE9ubHlGaWVsZChjcmVhdGVUaW1lSW5wdXQoIjAwOjAwIiwg
IjAwOjAwIiwgc3RlcDFob3VyLCAiIiksIHBzZXVkb0FNUE0pJyk7Ci1zaG91bGRCZVRydWUoJ2lz
UmVhZE9ubHlGaWVsZChjcmVhdGVUaW1lSW5wdXQoIjAwOjAwIiwgIjAwOjAwIiwgc3RlcDFob3Vy
LCAiIiksIHBzZXVkb01pbnV0ZSknKTsKLQotZGVidWcoJ0FNL1BNIGZpZWxkOicpOwotc2hvdWxk
QmVGYWxzZSgnaXNSZWFkT25seUZpZWxkKGNyZWF0ZVRpbWVJbnB1dCgiMDA6MDAiLCBudWxsLCBz
dGVwMW1pbiwgIiIpLCBwc2V1ZG9BTVBNKScpOwotc2hvdWxkQmVGYWxzZSgnaXNSZWFkT25seUZp
ZWxkKGNyZWF0ZVRpbWVJbnB1dCgiMjM6MDAiLCBudWxsLCBzdGVwMW1pbiwgIiIpLCBwc2V1ZG9B
TVBNKScpOwotc2hvdWxkQmVGYWxzZSgnaXNSZWFkT25seUZpZWxkKGNyZWF0ZVRpbWVJbnB1dChu
dWxsLCAiMDE6MDAiLCBzdGVwMW1pbiwgIiIpLCBwc2V1ZG9BTVBNKScpOwotc2hvdWxkQmVGYWxz
ZSgnaXNSZWFkT25seUZpZWxkKGNyZWF0ZVRpbWVJbnB1dChudWxsLCAiMjM6MDAiLCBzdGVwMW1p
biwgIiIpLCBwc2V1ZG9BTVBNKScpOwotc2hvdWxkQmVUcnVlKCdpc1JlYWRPbmx5RmllbGQoY3Jl
YXRlVGltZUlucHV0KCIwMDowMCIsICIxMTo1OSIsIHN0ZXAxbWluLCAiIiksIHBzZXVkb0FNUE0p
Jyk7Ci1zaG91bGRCZUZhbHNlKCdpc1JlYWRPbmx5RmllbGQoY3JlYXRlVGltZUlucHV0KCIwMDow
MCIsICIxMjowMCIsIHN0ZXAxbWluLCAiIiksIHBzZXVkb0FNUE0pJyk7Ci1zaG91bGRCZVRydWUo
J2lzUmVhZE9ubHlGaWVsZChjcmVhdGVUaW1lSW5wdXQoIjEyOjAwIiwgIjEyOjAwIiwgc3RlcDFt
aW4sICIiKSwgcHNldWRvQU1QTSknKTsKLXNob3VsZEJlVHJ1ZSgnaXNSZWFkT25seUZpZWxkKGNy
ZWF0ZVRpbWVJbnB1dCgiMTI6MDAiLCAiMjM6NTkiLCBzdGVwMW1pbiwgIiIpLCBwc2V1ZG9BTVBN
KScpOwotCi0KLTwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii4uLy4uL2pzL3Jlc291cmNlcy9qcy10
ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgotPC9ib2R5PgotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9mYXN0L2Zvcm1zL3RpbWUtbXVsdGlwbGUtZmllbGRzL3RpbWUtbXVsdGlwbGUtZmllbGRzLXJl
c2V0LXZhbHVlLWFmdGVyLXJlbG9hZC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2Zv
cm1zL3RpbWUtbXVsdGlwbGUtZmllbGRzL3RpbWUtbXVsdGlwbGUtZmllbGRzLXJlc2V0LXZhbHVl
LWFmdGVyLXJlbG9hZC1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDc1ODhlMzIwZjUwYjEyOTk2YmExMTc2YmI3M2VkZmI2M2NlMThmM2EuLjAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy90
aW1lLW11bHRpcGxlLWZpZWxkcy90aW1lLW11bHRpcGxlLWZpZWxkcy1yZXNldC12YWx1ZS1hZnRl
ci1yZWxvYWQtZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEsMTEgKzAsMCBAQAotQ2hl
Y2tzIHJlbG9hZGluZyBwYWdlIHJlc2V0cyBpbnB1dCB2YWx1ZXMKLQotT24gc3VjY2VzcywgeW91
IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1Qg
Q09NUExFVEUiLgotCi0KLVBBU1MgdGVzdElucHV0MS52YWx1ZSBpcyAiIgotUEFTUyB0ZXN0SW5w
dXQyLnZhbHVlIGlzICIwMjowMiIKLVBBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKLQot
VEVTVCBDT01QTEVURQotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3RpbWUt
bXVsdGlwbGUtZmllbGRzL3RpbWUtbXVsdGlwbGUtZmllbGRzLXJlc2V0LXZhbHVlLWFmdGVyLXJl
bG9hZC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy90aW1lLW11bHRpcGxlLWZpZWxkcy90
aW1lLW11bHRpcGxlLWZpZWxkcy1yZXNldC12YWx1ZS1hZnRlci1yZWxvYWQuaHRtbApkZWxldGVk
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMGU2ZWYzNDYxMTE2NzU4ZmNlNDVjNGIwOTAyZmMyNWMx
YzE1NDJhYS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9M
YXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3RpbWUtbXVsdGlwbGUtZmllbGRzL3RpbWUtbXVsdGlwbGUt
ZmllbGRzLXJlc2V0LXZhbHVlLWFmdGVyLXJlbG9hZC5odG1sCisrKyAvZGV2L251bGwKQEAgLTEs
MzYgKzAsMCBAQAotPCFET0NUWVBFIGh0bWw+Ci08aHRtbD4KLTxoZWFkPgotPHNjcmlwdCBzcmM9
Ii4uLy4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KLTwv
aGVhZD4KLTxib2R5IG9ubG9hZD0icnVuQm9keUxvYWRlZCgpIj4KLTxpZnJhbWUgaWQ9aWZyYW1l
IHNyY2RvYz0iPGlucHV0IHR5cGU9dGltZSBpZD10ZXN0MT48aW5wdXQgdHlwZT10aW1lIGlkPXRl
c3QyIHZhbHVlPTAyOjAyPiI+PC9pZnJhbWU+Ci08c2NyaXB0PgotZGVzY3JpcHRpb24oJ0NoZWNr
cyByZWxvYWRpbmcgcGFnZSByZXNldHMgaW5wdXQgdmFsdWVzJyk7Ci13aW5kb3cuanNUZXN0SXNB
c3luYyA9IHRydWU7Ci0KLXZhciBpZnJhbWUgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnaWZy
YW1lJyk7Ci12YXIgdGVzdElucHV0MTsKLXZhciB0ZXN0SW5wdXQyOwotCi1mdW5jdGlvbiBydW5C
b2R5TG9hZGVkKCkKLXsKLSAgICBpZnJhbWUuY29udGVudERvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCd0ZXN0MScpLnZhbHVlID0gJzEyOjM0JzsKLSAgICBpZnJhbWUuY29udGVudERvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCd0ZXN0MicpLnZhbHVlID0gJzAzOjAzJzsKLSAgICBpZnJhbWUuYWRkRXZl
bnRMaXN0ZW5lcigibG9hZCIsIGZ1bmN0aW9uICgpIHsgcGFyZW50LnJ1bk9uSUZyYW1lTG9hZCgp
OyB9KTsKLSAgICBpZnJhbWUuY29udGVudFdpbmRvdy5sb2NhdGlvbi5yZWxvYWQoKTsKLX0KLQot
ZnVuY3Rpb24gcnVuT25JRnJhbWVMb2FkKCkKLXsKLSAgICB0ZXN0SW5wdXQxID0gaWZyYW1lLmNv
bnRlbnREb2N1bWVudC5nZXRFbGVtZW50QnlJZCgndGVzdDEnKTsKLSAgICB0ZXN0SW5wdXQyID0g
aWZyYW1lLmNvbnRlbnREb2N1bWVudC5nZXRFbGVtZW50QnlJZCgndGVzdDInKTsKLSAgICBzaG91
bGRCZUVxdWFsVG9TdHJpbmcoJ3Rlc3RJbnB1dDEudmFsdWUnLCAnJyk7Ci0gICAgc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCd0ZXN0SW5wdXQyLnZhbHVlJywgJzAyOjAyJyk7Ci0gICAgaWZyYW1lLnBh
cmVudE5vZGUucmVtb3ZlQ2hpbGQoaWZyYW1lKTsKLSAgICBmaW5pc2hKU1Rlc3QoKTsKLX0KLTwv
c2NyaXB0PgotPHNjcmlwdCBzcmM9Ii4uLy4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3Qt
cG9zdC5qcyI+PC9zY3JpcHQ+Ci08L2JvZHk+Ci08L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9mYXN0L2Zvcm1zL3RpbWUtbXVsdGlwbGUtZmllbGRzL3RpbWUtbXVsdGlwbGUtZmllbGRz
LXNwaW5idXR0b24tY2hhbmdlLWFuZC1pbnB1dC1ldmVudHMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvZmFzdC9mb3Jtcy90aW1lLW11bHRpcGxlLWZpZWxkcy90aW1lLW11bHRpcGxlLWZpZWxk
cy1zcGluYnV0dG9uLWNoYW5nZS1hbmQtaW5wdXQtZXZlbnRzLWV4cGVjdGVkLnR4dApkZWxldGVk
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMTg3MDgwOTFmYzhiYTkwYzlkODIzNzQwNjRiNjFmNjU1
YTJjNTQwZi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9M
YXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3RpbWUtbXVsdGlwbGUtZmllbGRzL3RpbWUtbXVsdGlwbGUt
ZmllbGRzLXNwaW5idXR0b24tY2hhbmdlLWFuZC1pbnB1dC1ldmVudHMtZXhwZWN0ZWQudHh0Cisr
KyAvZGV2L251bGwKQEAgLTEsMTkgKzAsMCBAQAotVGVzdCBmb3IgZXZlbnQgZGlzcGF0Y2hpbmcg
Ynkgc3BpbiBidXR0b25zIGluIGEgdHlwZT10aW1lIGlucHV0LgotCi1PbiBzdWNjZXNzLCB5b3Ug
d2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBD
T01QTEVURSIuCi0KLQotSW5pdGlhbCBzdGF0ZQotUEFTUyBjaGFuZ2VFdmVudENvdW50ZXIgaXMg
MAotUEFTUyBpbnB1dEV2ZW50Q291bnRlciBpcyAwCi1DbGljayB0aGUgdXBwZXIgYnV0dG9uCi1Q
QVNTIHRlc3RJbnB1dC52YWx1ZSBpcyAiMDQ6MDAiCi1QQVNTIGNoYW5nZUV2ZW50Q291bnRlciBp
cyAxCi1QQVNTIGlucHV0RXZlbnRDb3VudGVyIGlzIDEKLUZvY3VzIG9uIGFub3RoZXIgZmllbGQK
LVBBU1MgY2hhbmdlRXZlbnRDb3VudGVyIGlzIDEKLVBBU1MgaW5wdXRFdmVudENvdW50ZXIgaXMg
MQotUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQotCi1URVNUIENPTVBMRVRFCi0KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvdGltZS1tdWx0aXBsZS1maWVsZHMvdGlt
ZS1tdWx0aXBsZS1maWVsZHMtc3BpbmJ1dHRvbi1jaGFuZ2UtYW5kLWlucHV0LWV2ZW50cy5odG1s
IGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy90aW1lLW11bHRpcGxlLWZpZWxkcy90aW1lLW11bHRp
cGxlLWZpZWxkcy1zcGluYnV0dG9uLWNoYW5nZS1hbmQtaW5wdXQtZXZlbnRzLmh0bWwKZGVsZXRl
ZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGMxMmQxNDI2OTFiOWJjYTAxYmQ4YzRmNmUxNGUzMjFi
ZWExMTAzMGMuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEv
TGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy90aW1lLW11bHRpcGxlLWZpZWxkcy90aW1lLW11bHRpcGxl
LWZpZWxkcy1zcGluYnV0dG9uLWNoYW5nZS1hbmQtaW5wdXQtZXZlbnRzLmh0bWwKKysrIC9kZXYv
bnVsbApAQCAtMSwxNCArMCwwIEBACi08IURPQ1RZUEUgaHRtbD4KLTxodG1sPgotPGhlYWQ+Ci08
c2NyaXB0IHNyYz0iLi4vLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwv
c2NyaXB0PgotPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy9jb21tb24uanMiPjwvc2NyaXB0Pgot
PHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy9jb21tb24tc3BpbmJ1dHRvbi1jaGFuZ2UtYW5kLWlu
cHV0LWV2ZW50cy5qcyI+PC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keT4KLTxzY3JpcHQ+Ci10ZXN0
U3BpbkJ1dHRvbkNoYW5nZUFuZElucHV0RXZlbnRzKCd0aW1lJywgJzAzOjAwJywgJzA0OjAwJyk7
Ci08L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIuLi8uLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10
ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgotPC9ib2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZmFzdC9mb3Jtcy90aW1lLW11bHRpcGxlLWZpZWxkcy90aW1lLW11bHRpcGxlLWZp
ZWxkcy1zcGluYnV0dG9uLWNsaWNrLWluLWlmcmFtZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9mYXN0L2Zvcm1zL3RpbWUtbXVsdGlwbGUtZmllbGRzL3RpbWUtbXVsdGlwbGUtZmllbGRzLXNw
aW5idXR0b24tY2xpY2staW4taWZyYW1lLWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggZTNkZGE3ZTQ0ZjdiYWVhYTdmMGZjMzczODZiZjY2ZmVlMWFhY2EzYi4uMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9m
YXN0L2Zvcm1zL3RpbWUtbXVsdGlwbGUtZmllbGRzL3RpbWUtbXVsdGlwbGUtZmllbGRzLXNwaW5i
dXR0b24tY2xpY2staW4taWZyYW1lLWV4cGVjdGVkLnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDEw
ICswLDAgQEAKLUNoZWNrcyBtb3VzZSBjbGljayBvbiBzcGluIGJ1dHRvbiBpbiBpZnJhbWUuCi0K
LU9uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZv
bGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KLQotCi1QQVNTIHRlc3RJbnB1dC52YWx1ZSBpcyAi
MDE6MDAiCi1QQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCi0KLVRFU1QgQ09NUExFVEUK
LQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy90aW1lLW11bHRpcGxlLWZpZWxk
cy90aW1lLW11bHRpcGxlLWZpZWxkcy1zcGluYnV0dG9uLWNsaWNrLWluLWlmcmFtZS5odG1sIGIv
TGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy90aW1lLW11bHRpcGxlLWZpZWxkcy90aW1lLW11bHRpcGxl
LWZpZWxkcy1zcGluYnV0dG9uLWNsaWNrLWluLWlmcmFtZS5odG1sCmRlbGV0ZWQgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCA5NjY2ODQ3ZmM4YmJmNDQxZDU5Y2NlODc4OGEyYWY2YjkyNjUzZjg4Li4w
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3Rz
L2Zhc3QvZm9ybXMvdGltZS1tdWx0aXBsZS1maWVsZHMvdGltZS1tdWx0aXBsZS1maWVsZHMtc3Bp
bmJ1dHRvbi1jbGljay1pbi1pZnJhbWUuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDE4ICswLDAg
QEAKLTwhRE9DVFlQRSBodG1sPgotPGh0bWw+Ci08aGVhZD4KLTxzY3JpcHQgc3JjPSIuLi8uLi8u
Li9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNy
Yz0iLi4vcmVzb3VyY2VzL2NvbW1vbi5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iLi4vcmVz
b3VyY2VzL2NvbW1vbi1zcGluYnV0dG9uLWNsaWNrLWluLWlmcmFtZS5qcyI+PC9zY3JpcHQ+Ci08
L2hlYWQ+Ci08Ym9keT4KLTxzY3JpcHQ+Ci10ZXN0Q2xpY2tTcGluQnV0dG9uSW5JRnJhbWUoewot
ICAgICdleHBlY3RlZFZhbHVlJyA6ICcwMTowMCcsCi0gICAgJ2luaXRpYWxWYWx1ZScgOiAnMDA6
MDAnLAotICAgICdpbnB1dFR5cGUnIDogJ3RpbWUnCi19KTsKLTwvc2NyaXB0PgotPHNjcmlwdCBz
cmM9Ii4uLy4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+
Ci08L2JvZHk+Ci08L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3Rp
bWUtbXVsdGlwbGUtZmllbGRzL3RpbWUtbXVsdGlwbGUtZmllbGRzLXN0YXRlLWNoYW5nZS1vbi1m
b2N1cy1vci1ibHVyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvdGltZS1t
dWx0aXBsZS1maWVsZHMvdGltZS1tdWx0aXBsZS1maWVsZHMtc3RhdGUtY2hhbmdlLW9uLWZvY3Vz
LW9yLWJsdXItZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA3MjBj
OWFjMDFkNWU3NDAxNDRiY2Y5NDA0YWM1NTNiZDA5N2I1NjkxLi4wMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvdGltZS1t
dWx0aXBsZS1maWVsZHMvdGltZS1tdWx0aXBsZS1maWVsZHMtc3RhdGUtY2hhbmdlLW9uLWZvY3Vz
LW9yLWJsdXItZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEsMTYgKzAsMCBAQAotQ2hl
Y2sgZm9jdXMgaGFuZGxlciBub3QgZGlzcGF0Y2ggYmx1ciBldmVudAotCi1PbiBzdWNjZXNzLCB5
b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVT
VCBDT01QTEVURSIuCi0KLQotY2FsbCBmb2N1cygpCi1FbnRlcmluZyBmb2N1cyBldmVudCBoYW5k
bGVyCi1FeGlzdGluZyBmb2N1cyBldmVudCBoYW5kbGVyCi1mb2N1cygpIGZpbmlzaGVkCi0KLUVu
dGVyaW5nIGJsdXIgZXZlbnQgaGFuZGxlcgotRXhpc3RpbmcgYmx1ciBldmVudCBoYW5kbGVyCi1Q
QVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCi0KLVRFU1QgQ09NUExFVEUKLQpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy90aW1lLW11bHRpcGxlLWZpZWxkcy90aW1lLW11
bHRpcGxlLWZpZWxkcy1zdGF0ZS1jaGFuZ2Utb24tZm9jdXMtb3ItYmx1ci5odG1sIGIvTGF5b3V0
VGVzdHMvZmFzdC9mb3Jtcy90aW1lLW11bHRpcGxlLWZpZWxkcy90aW1lLW11bHRpcGxlLWZpZWxk
cy1zdGF0ZS1jaGFuZ2Utb24tZm9jdXMtb3ItYmx1ci5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCA4MDc1YzcxZGEwMTg3OGU4ZmFlZWZlZTE3ZjJmMmFkZjkzZTVlYWM1Li4wMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2Zh
c3QvZm9ybXMvdGltZS1tdWx0aXBsZS1maWVsZHMvdGltZS1tdWx0aXBsZS1maWVsZHMtc3RhdGUt
Y2hhbmdlLW9uLWZvY3VzLW9yLWJsdXIuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDQyICswLDAg
QEAKLTwhRE9DVFlQRSBodG1sPgotPGh0bWw+Ci08aGVhZD4KLTxzY3JpcHQgc3JjPSIuLi8uLi9q
cy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHk+Ci08
c2NyaXB0PgotZGVzY3JpcHRpb24oJ0NoZWNrIGZvY3VzIGhhbmRsZXIgbm90IGRpc3BhdGNoIGJs
dXIgZXZlbnQnKTsKLXRlc3RJbnB1dCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2lucHV0Jyk7
Ci1kb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHRlc3RJbnB1dCk7Ci10ZXN0SW5wdXQudHlwZSA9
ICd0aW1lJzsKLQotdGVzdElucHV0LmFkZEV2ZW50TGlzdGVuZXIoCi0gICAgJ2JsdXInLAotICAg
IGZ1bmN0aW9uKCkKLSAgICB7Ci0gICAgICAgIGRlYnVnKCdFbnRlcmluZyBibHVyIGV2ZW50IGhh
bmRsZXInKTsKLSAgICAgICAgdGVzdElucHV0LnNldEF0dHJpYnV0ZSgneScsICd5Jyk7Ci0gICAg
ICAgIGRlYnVnKCdFeGlzdGluZyBibHVyIGV2ZW50IGhhbmRsZXInKTsKLSAgICB9LAotICAgIGZh
bHNlKTsKLQotdGVzdElucHV0LmFkZEV2ZW50TGlzdGVuZXIoCi0gICAgJ2ZvY3VzJywKLSAgICBm
dW5jdGlvbigpCi0gICAgewotICAgICAgICBkZWJ1ZygnRW50ZXJpbmcgZm9jdXMgZXZlbnQgaGFu
ZGxlcicpOwotICAgICAgICB0ZXN0SW5wdXQuc2V0QXR0cmlidXRlKCd4JywgJ3gnKTsKLSAgICAg
ICAgZGVidWcoJ0V4aXN0aW5nIGZvY3VzIGV2ZW50IGhhbmRsZXInKTsKLSAgICB9LAotICAgIGZh
bHNlKTsKLQotZGVidWcoJ2NhbGwgZm9jdXMoKScpOwotdGVzdElucHV0LmZvY3VzKCk7Ci1kZWJ1
ZygnZm9jdXMoKSBmaW5pc2hlZCcpOwotZGVidWcoJycpOwotCi10ZXN0SW5wdXQucGFyZW50Tm9k
ZS5yZW1vdmVDaGlsZCh0ZXN0SW5wdXQpOwotPC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4v
anMvcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Ci08L2JvZHk+Ci08L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3RpbWUtbXVsdGlwbGUtZmllbGRz
L3RpbWUtbXVsdGlwbGUtZmllbGRzLXN0YXRpYy1yZWxheW91dC1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9mYXN0L2Zvcm1zL3RpbWUtbXVsdGlwbGUtZmllbGRzL3RpbWUtbXVsdGlwbGUtZmll
bGRzLXN0YXRpYy1yZWxheW91dC1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDBlYWU5YjNkMzgzYTRjZDJjMzlkYTQzZDU0NGU2YWJlZjIxYzUwNWQuLjAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9m
b3Jtcy90aW1lLW11bHRpcGxlLWZpZWxkcy90aW1lLW11bHRpcGxlLWZpZWxkcy1zdGF0aWMtcmVs
YXlvdXQtZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEsNSArMCwwIEBACi1QQVNTIHRp
bWUxLm9mZnNldFRvcCBpcyB0aW1lMi5vZmZzZXRUb3AKLVBBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2Vk
IGlzIHRydWUKLQotVEVTVCBDT01QTEVURQotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0
L2Zvcm1zL3RpbWUtbXVsdGlwbGUtZmllbGRzL3RpbWUtbXVsdGlwbGUtZmllbGRzLXN0YXRpYy1y
ZWxheW91dC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy90aW1lLW11bHRpcGxlLWZpZWxk
cy90aW1lLW11bHRpcGxlLWZpZWxkcy1zdGF0aWMtcmVsYXlvdXQuaHRtbApkZWxldGVkIGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMjMwZjQ5ZjgyYmE0Njg2YmUxZThlY2Q3ZDk0NTg2NDZlMmE4NjQ5
Zi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRU
ZXN0cy9mYXN0L2Zvcm1zL3RpbWUtbXVsdGlwbGUtZmllbGRzL3RpbWUtbXVsdGlwbGUtZmllbGRz
LXN0YXRpYy1yZWxheW91dC5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsMTUgKzAsMCBAQAotPCFE
T0NUWVBFIGh0bWw+Ci08Ym9keT4KLTxzY3JpcHQgc3JjPSIuLi8uLi9qcy9yZXNvdXJjZXMvanMt
dGVzdC1wcmUuanMiPjwvc2NyaXB0PgotPGRpdiBpZD0iY29udGFpbmVyIj4KLTxzcGFuIHN0eWxl
PSJmb250LXNpemU6IDY0cHg7Ij5Gb288L3NwYW4+Ci08aW5wdXQgdHlwZT0idGltZSIgaWQ9InRp
bWUxIj4KLTxpbnB1dCB0eXBlPSJ0aW1lIiBpZD0idGltZTIiPgotPC9kaXY+Ci08c2NyaXB0Pgot
dGltZTEudmFsdWUgPSAnMjM6NTknOwotc2hvdWxkQmUoJ3RpbWUxLm9mZnNldFRvcCcsICd0aW1l
Mi5vZmZzZXRUb3AnKTsKLWNvbnRhaW5lci5yZW1vdmUoKTsKLTwvc2NyaXB0PgotPHNjcmlwdCBz
cmM9Ii4uLy4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgotPC9ib2R5
PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy90aW1lLW11bHRpcGxlLWZpZWxk
cy90aW1lLW11bHRpcGxlLWZpZWxkcy1zdGVwLWF0dHJpYnV0ZS1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9mYXN0L2Zvcm1zL3RpbWUtbXVsdGlwbGUtZmllbGRzL3RpbWUtbXVsdGlwbGUtZmll
bGRzLXN0ZXAtYXR0cmlidXRlLWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggYzk1MDQzMzFlYWIxOWE4ZGZhODI3MDU5NzY2OTFkN2YzYmU2OTFjMS4uMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2Zv
cm1zL3RpbWUtbXVsdGlwbGUtZmllbGRzL3RpbWUtbXVsdGlwbGUtZmllbGRzLXN0ZXAtYXR0cmli
dXRlLWV4cGVjdGVkLnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDE0ICswLDAgQEAKLUNoZWNrIHN0
ZXAgYXR0cmlidXRlIGNoYW5nZSBjYXVzZXMgYXBwZXJhbmNlIGNoYW5nZQotCi1PbiBzdWNjZXNz
LCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAi
VEVTVCBDT01QTEVURSIuCi0KLQotU2V0IHN0ZXAgdG8gMC4wMDEKLVBBU1Mgd2lkdGhPZlN0ZXAw
MDEgPiB3aWR0aE9mU3RlcDYwIGlzIHRydWUKLVNldCBzdGVwIHRvIDYwCi1QQVNTIHdpZHRoT2ZT
dGVwNjAgPT0gd2lkdGhPZlN0ZXA2MEFnYWluIGlzIHRydWUKLQotUEFTUyBzdWNjZXNzZnVsbHlQ
YXJzZWQgaXMgdHJ1ZQotCi1URVNUIENPTVBMRVRFCi0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2Zhc3QvZm9ybXMvdGltZS1tdWx0aXBsZS1maWVsZHMvdGltZS1tdWx0aXBsZS1maWVsZHMtc3Rl
cC1hdHRyaWJ1dGUuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvdGltZS1tdWx0aXBsZS1m
aWVsZHMvdGltZS1tdWx0aXBsZS1maWVsZHMtc3RlcC1hdHRyaWJ1dGUuaHRtbApkZWxldGVkIGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggYzlmMGE4Y2NkYTYxNjIwODRhMTFiNTcyMmI2YzA4MmEyMjI2
ODgyMi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlv
dXRUZXN0cy9mYXN0L2Zvcm1zL3RpbWUtbXVsdGlwbGUtZmllbGRzL3RpbWUtbXVsdGlwbGUtZmll
bGRzLXN0ZXAtYXR0cmlidXRlLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSwyOCArMCwwIEBACi08
IURPQ1RZUEUgaHRtbD4KLTxodG1sPgotPGhlYWQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vanMvcmVz
b3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5PgotPGlucHV0
IGlkPXRlc3QgdHlwZT10aW1lIHN0ZXA9NjA+Ci08c2NyaXB0PgotZGVzY3JpcHRpb24oJ0NoZWNr
IHN0ZXAgYXR0cmlidXRlIGNoYW5nZSBjYXVzZXMgYXBwZXJhbmNlIGNoYW5nZScpOwotdmFyIHRl
c3RJbnB1dCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCd0ZXN0Jyk7Ci12YXIgd2lkdGhPZlN0
ZXA2MCA9IHRlc3RJbnB1dC5vZmZzZXRXaWR0aDsKLQotZGVidWcoJ1NldCBzdGVwIHRvIDAuMDAx
Jyk7Ci10ZXN0SW5wdXQuc3RlcCA9IDAuMDAxCi12YXIgd2lkdGhPZlN0ZXAwMDEgPSB0ZXN0SW5w
dXQub2Zmc2V0V2lkdGg7Ci1zaG91bGRCZVRydWUoJ3dpZHRoT2ZTdGVwMDAxID4gd2lkdGhPZlN0
ZXA2MCcpOwotCi1kZWJ1ZygnU2V0IHN0ZXAgdG8gNjAnKTsKLXRlc3RJbnB1dC5zdGVwID0gNjA7
Ci12YXIgd2lkdGhPZlN0ZXA2MEFnYWluID0gdGVzdElucHV0Lm9mZnNldFdpZHRoOwotc2hvdWxk
QmVUcnVlKCd3aWR0aE9mU3RlcDYwID09IHdpZHRoT2ZTdGVwNjBBZ2FpbicpOwotCi1kZWJ1Zygn
Jyk7Ci10ZXN0SW5wdXQucGFyZW50RWxlbWVudC5yZW1vdmVDaGlsZCh0ZXN0SW5wdXQpOwotPC9z
Y3JpcHQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+
PC9zY3JpcHQ+Ci08L2JvZHk+Ci08L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0
L2Zvcm1zL3RpbWUtbXVsdGlwbGUtZmllbGRzL3RpbWUtbXVsdGlwbGUtZmllbGRzLXN0ZXB1cC1z
dGVwZG93bi1mcm9tLXJlbmRlcmVyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvZm9y
bXMvdGltZS1tdWx0aXBsZS1maWVsZHMvdGltZS1tdWx0aXBsZS1maWVsZHMtc3RlcHVwLXN0ZXBk
b3duLWZyb20tcmVuZGVyZXItZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCBlNDM1ZmZiYmVkYjU4NTdmOTU3OGQ4NTMyZDk0MDU2YTgzMmU4ZDNkLi4wMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZm9y
bXMvdGltZS1tdWx0aXBsZS1maWVsZHMvdGltZS1tdWx0aXBsZS1maWVsZHMtc3RlcHVwLXN0ZXBk
b3duLWZyb20tcmVuZGVyZXItZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEsMjgxICsw
LDAgQEAKLUNoZWNrIHN0ZXBwaW5nLXVwIGFuZCAtZG93biBmb3IgdGltZSBpbnB1dCBmaWVsZHMg
ZnJvbSByZW5kZXJlci4gTm8gY2FzZXMgb2YgZW1wdHkgaW5pdGlhbCB2YWx1ZXMuCi0KLU9uIHN1
Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2Vk
IGJ5ICJURVNUIENPTVBMRVRFIi4KLQotCi1GdW5jdGlvbiBhcmd1bWVudHMgYXJlICh2YWx1ZSwg
c3RlcCwgbWluLCBtYXgsIFtrZXlTZXF1ZW5jZV0pLgotTm9ybWFsIGNhc2VzCi1QQVNTIHN0ZXBV
cCgiMDc6MTMiLCBudWxsLCBudWxsLCBudWxsKSBpcyAiMDc6MTQiCi1QQVNTIHN0ZXBEb3duKCIw
NzoxMyIsIG51bGwsIG51bGwsIG51bGwpIGlzICIwNzoxMiIKLVBBU1MgdGVzdCgiMDc6MTMiLCBu
dWxsLCBudWxsLCBudWxsLCBbInVwQXJyb3ciLCAidXBBcnJvdyIsICJ1cEFycm93Il0pIGlzICIw
NzoxNiIKLVBBU1MgdGVzdCgiMDc6MTMiLCBudWxsLCBudWxsLCBudWxsLCBbImRvd25BcnJvdyIs
ICJkb3duQXJyb3ciLCAiZG93bkFycm93Il0pIGlzICIwNzoxMCIKLU1pbGxpc2Vjb25kcwotUEFT
UyBzdGVwVXAoIjA3OjEzOjAwLjAwMCIsIDAuMDAxLCBudWxsLCBudWxsKSBpcyAiMDc6MTM6MDAu
MDAxIgotUEFTUyBzdGVwRG93bigiMDc6MTM6MDAuMDAxIiwgMC4wMDEsIG51bGwsIG51bGwpIGlz
ICIwNzoxMyIKLVBBU1Mgc3RlcFVwKCIwNzoxMzowMC45OTkiLCAwLjAwMSwgbnVsbCwgbnVsbCkg
aXMgIjA3OjEzIgotUEFTUyBzdGVwRG93bigiMDc6MTM6MDAuMDAwIiwgMC4wMDEsIG51bGwsIG51
bGwpIGlzICIwNzoxMzowMC45OTkiCi1QQVNTIHN0ZXBVcCgiMDc6MTM6MDAuMDAwIiwgMC4yNTAs
IG51bGwsIG51bGwpIGlzICIwNzoxMzowMC4yNTAiCi1QQVNTIHN0ZXBEb3duKCIwNzoxMzowMC41
MDAiLCAwLjI1MCwgbnVsbCwgbnVsbCkgaXMgIjA3OjEzOjAwLjI1MCIKLVBBU1Mgc3RlcFVwKCIw
NzoxMzowMC43NTAiLCAwLjI1MCwgbnVsbCwgbnVsbCkgaXMgIjA3OjEzIgotUEFTUyBzdGVwRG93
bigiMDc6MTM6MDAuMDAwIiwgMC4yNTAsIG51bGwsIG51bGwpIGlzICIwNzoxMzowMC43NTAiCi1Q
QVNTIHN0ZXBVcCgiMDc6MTM6MDAuMDk5IiwgMC4xMDAsIG51bGwsIG51bGwpIGlzICIwNzoxMzow
MC4xMDAiCi1QQVNTIHN0ZXBEb3duKCIwNzoxMzowMC4xMDEiLCAwLjEwMCwgbnVsbCwgbnVsbCkg
aXMgIjA3OjEzOjAwLjEwMCIKLVBBU1Mgc3RlcFVwKCIwNzoxMzowMC41MDAiLCAwLjAwMDEsIG51
bGwsIG51bGwpIGlzICIwNzoxMzowMC41MDEiCi1QQVNTIHN0ZXBEb3duKCIwNzoxMzowMC41MDAi
LCAwLjAwMDEsIG51bGwsIG51bGwpIGlzICIwNzoxMzowMC40OTkiCi1QQVNTIHN0ZXBVcCgiMDc6
MTM6MDAuNTAwIiwgMCwgbnVsbCwgbnVsbCkgaXMgIjA3OjEzIgotUEFTUyBzdGVwRG93bigiMDc6
MTM6MDAuNTAwIiwgMCwgbnVsbCwgbnVsbCkgaXMgIjA3OjEzIgotUEFTUyBzdGVwVXAoIjA3OjEz
OjAwLjUwMCIsIDYwLCBudWxsLCBudWxsKSBpcyAiMDc6MTMiCi1QQVNTIHN0ZXBEb3duKCIwNzox
MzowMC41MDAiLCA2MCwgbnVsbCwgbnVsbCkgaXMgIjA3OjEzIgotUEFTUyBzdGVwVXAoIjA3OjEz
OjAwLjUwMCIsIDAuMTAwLCAiMDA6MDA6MDAuMDUwIiwgbnVsbCkgaXMgIjA3OjEzOjAwLjU1MCIK
LVBBU1Mgc3RlcERvd24oIjA3OjEzOjAwLjUwMCIsIDAuMTAwLCAiMDA6MDA6MDAuMDUwIiwgbnVs
bCkgaXMgIjA3OjEzOjAwLjQ1MCIKLVBBU1MgdGVzdCgiMDc6MTM6MDAuNTAwIiwgMC4xMDAsIG51
bGwsIG51bGwsIFsiZGVsZXRlIiwgInVwQXJyb3ciXSkgaXMgIjA3OjEzIgotUEFTUyB0ZXN0KCIw
NzoxMzowMC41MDAiLCAwLjEwMCwgbnVsbCwgbnVsbCwgWyJkZWxldGUiLCAiZG93bkFycm93Il0p
IGlzICIwNzoxMzowMC45MDAiCi1QQVNTIHRlc3QoIjA3OjEzOjAwLjUwMCIsIDAuMTAwLCAiMDA6
MDA6MDAuMDUwIiwgbnVsbCwgWyJkZWxldGUiLCAidXBBcnJvdyJdKSBpcyAiMDc6MTM6MDAuMDUw
IgotUEFTUyB0ZXN0KCIwNzoxMzowMC41MDAiLCAwLjEwMCwgIjAwOjAwOjAwLjA1MCIsIG51bGws
IFsiZGVsZXRlIiwgImRvd25BcnJvdyJdKSBpcyAiMDc6MTM6MDAuOTUwIgotUEFTUyBzdGVwVXAo
IjA3OjEzOjAwLjAxMCIsIDAuMDAxLCAiMDc6MTM6MDAuMDA1IiwgIjA3OjEzOjAwLjAxMCIpIGlz
ICIwNzoxMzowMC4wMDUiCi1QQVNTIHN0ZXBEb3duKCIwNzoxMzowMC4wMDUiLCAwLjAwMSwgIjA3
OjEzOjAwLjAwNSIsICIwNzoxMzowMC4wMTAiKSBpcyAiMDc6MTM6MDAuMDEwIgotUEFTUyBzdGVw
VXAoIjA3OjEzOjAwLjAwNSIsIDAuMDAxLCAiMDc6MTM6MDAuMDEwIiwgIjA3OjEzOjAwLjAyMCIp
IGlzICIwNzoxMzowMC4wMTAiCi1QQVNTIHN0ZXBEb3duKCIwNzoxMzowMC4wMDUiLCAwLjAwMSwg
IjA3OjEzOjAwLjAxMCIsICIwNzoxMzowMC4wMjAiKSBpcyAiMDc6MTM6MDAuMDIwIgotUEFTUyBz
dGVwVXAoIjA3OjEzOjAwLjAwNSIsIDAuMDAxLCAiMDc6MTM6MDAuMDAyIiwgIjA3OjEzOjAwLjAw
MiIpIGlzICIwNzoxMzowMC4wMDIiCi1QQVNTIHN0ZXBEb3duKCIwNzoxMzowMC4wMDUiLCAwLjAw
MSwgIjA3OjEzOjAwLjAwMiIsICIwNzoxMzowMC4wMDIiKSBpcyAiMDc6MTM6MDAuMDAyIgotUEFT
UyBzdGVwVXAoIjA3OjEzOjAwLjAzNSIsIDAuMDEsICIwNzoxMzowMC4wMTAiLCAiMDc6MTM6MDAu
MDM1IikgaXMgIjA3OjEzOjAwLjAxMCIKLVBBU1Mgc3RlcERvd24oIjA3OjEzOjAwLjAzNSIsIDAu
MDEsICIwNzoxMzowMC4wMTAiLCAiMDc6MTM6MDAuMDM1IikgaXMgIjA3OjEzOjAwLjAzMCIKLVBB
U1Mgc3RlcFVwKCIwNzoxMzowMC4wMTAiLCAwLjAwMSwgIjA3OjEzOjAwLjAxMCIsICIwNzoxMzow
MS4wMjAiKSBpcyAiMDc6MTM6MDAuMDExIgotUEFTUyBzdGVwRG93bigiMDc6MTM6MDAuMDEwIiwg
MC4wMDEsICIwNzoxMzowMC4wMTAiLCAiMDc6MTM6MDEuMDIwIikgaXMgIjA3OjEzOjAwLjAwOSIK
LVNlY29uZHMKLVBBU1Mgc3RlcFVwKCIwNzoxMzowMCIsIDEsIG51bGwsIG51bGwpIGlzICIwNzox
MzowMSIKLVBBU1Mgc3RlcERvd24oIjA3OjEzOjAxIiwgMSwgbnVsbCwgbnVsbCkgaXMgIjA3OjEz
IgotUEFTUyBzdGVwVXAoIjA3OjEzOjU5IiwgMC4wMDEsIG51bGwsIG51bGwpIGlzICIwNzoxMyIK
LVBBU1Mgc3RlcERvd24oIjA3OjEzOjAwIiwgMC4wMDEsIG51bGwsIG51bGwpIGlzICIwNzoxMzo1
OSIKLVBBU1Mgc3RlcFVwKCIwNzoxMzowMCIsIDEwLCBudWxsLCBudWxsKSBpcyAiMDc6MTM6MTAi
Ci1QQVNTIHN0ZXBEb3duKCIwNzoxMzozMCIsIDEwLCBudWxsLCBudWxsKSBpcyAiMDc6MTM6MjAi
Ci1QQVNTIHN0ZXBVcCgiMDc6MTM6NTAiLCAxMCwgbnVsbCwgbnVsbCkgaXMgIjA3OjEzIgotUEFT
UyBzdGVwRG93bigiMDc6MTM6MDAiLCAxMCwgbnVsbCwgbnVsbCkgaXMgIjA3OjEzOjUwIgotUEFT
UyBzdGVwVXAoIjA3OjEzOjA5IiwgMTAsIG51bGwsIG51bGwpIGlzICIwNzoxMzoxMCIKLVBBU1Mg
c3RlcERvd24oIjA3OjEzOjExIiwgMTAsIG51bGwsIG51bGwpIGlzICIwNzoxMzoxMCIKLVBBU1Mg
c3RlcFVwKCIwNzoxMzozMCIsIDIuNSwgbnVsbCwgbnVsbCkgaXMgIjA3OjEzOjMxIgotUEFTUyBz
dGVwRG93bigiMDc6MTM6MzAiLCAyLjUsIG51bGwsIG51bGwpIGlzICIwNzoxMzoyOSIKLVBBU1Mg
c3RlcFVwKCIwNzoxMzozMCIsIDAsIG51bGwsIG51bGwpIGlzICIwNzoxMyIKLVBBU1Mgc3RlcERv
d24oIjA3OjEzOjMwIiwgMCwgbnVsbCwgbnVsbCkgaXMgIjA3OjEzIgotUEFTUyBzdGVwVXAoIjA3
OjEzOjMwIiwgMzYwMCwgbnVsbCwgbnVsbCkgaXMgIjA3OjEzIgotUEFTUyBzdGVwRG93bigiMDc6
MTM6MzAiLCAzNjAwLCBudWxsLCBudWxsKSBpcyAiMDc6MTMiCi1QQVNTIHN0ZXBVcCgiMDc6MTM6
MzAiLCAxMSwgbnVsbCwgbnVsbCkgaXMgIjA3OjEzOjMxIgotUEFTUyBzdGVwRG93bigiMDc6MTM6
MzAiLCAxMSwgbnVsbCwgbnVsbCkgaXMgIjA3OjEzOjI5IgotUEFTUyBzdGVwVXAoIjA3OjEzOjMw
IiwgMTAsICIwMDowMDowNSIsIG51bGwpIGlzICIwNzoxMzozNSIKLVBBU1Mgc3RlcERvd24oIjA3
OjEzOjMwIiwgMTAsICIwMDowMDowNSIsIG51bGwpIGlzICIwNzoxMzoyNSIKLVBBU1MgdGVzdCgi
MDc6MTM6MzAiLCAxMCwgbnVsbCwgbnVsbCwgWyJkZWxldGUiLCAidXBBcnJvdyJdKSBpcyAiMDc6
MTMiCi1QQVNTIHRlc3QoIjA3OjEzOjMwIiwgMTAsIG51bGwsIG51bGwsIFsiZGVsZXRlIiwgImRv
d25BcnJvdyJdKSBpcyAiMDc6MTM6NTAiCi1QQVNTIHRlc3QoIjA3OjEzOjMwIiwgMTAsICIwMDow
MDowNSIsIG51bGwsIFsiZGVsZXRlIiwgInVwQXJyb3ciXSkgaXMgIjA3OjEzOjA1IgotUEFTUyB0
ZXN0KCIwNzoxMzozMCIsIDEwLCAiMDA6MDA6MDUiLCBudWxsLCBbImRlbGV0ZSIsICJkb3duQXJy
b3ciXSkgaXMgIjA3OjEzOjU1IgotUEFTUyBzdGVwVXAoIjA3OjEzOjEwIiwgMSwgIjA3OjEzOjA1
IiwgIjA3OjEzOjEwIikgaXMgIjA3OjEzOjA1IgotUEFTUyBzdGVwRG93bigiMDc6MTM6MDUiLCAx
LCAiMDc6MTM6MDUiLCAiMDc6MTM6MTAiKSBpcyAiMDc6MTM6MTAiCi1QQVNTIHN0ZXBVcCgiMDc6
MTM6MDUiLCAxLCAiMDc6MTM6MTAiLCAiMDc6MTM6MjAiKSBpcyAiMDc6MTM6MTAiCi1QQVNTIHN0
ZXBEb3duKCIwNzoxMzowNSIsIDEsICIwNzoxMzoxMCIsICIwNzoxMzoyMCIpIGlzICIwNzoxMzoy
MCIKLVBBU1Mgc3RlcFVwKCIwNzoxMzowNSIsIDEsICIwNzoxMzowMiIsICIwNzoxMzowMiIpIGlz
ICIwNzoxMzowMiIKLVBBU1Mgc3RlcERvd24oIjA3OjEzOjA1IiwgMSwgIjA3OjEzOjAyIiwgIjA3
OjEzOjAyIikgaXMgIjA3OjEzOjAyIgotUEFTUyBzdGVwVXAoIjA3OjEzOjM1IiwgMTAsICIwNzox
MzoxMCIsICIwNzoxMzozNSIpIGlzICIwNzoxMzoxMCIKLVBBU1Mgc3RlcERvd24oIjA3OjEzOjM1
IiwgMTAsICIwNzoxMzoxMCIsICIwNzoxMzozNSIpIGlzICIwNzoxMzozMCIKLVBBU1Mgc3RlcFVw
KCIwNzoxMzoxMCIsIDEsICIwNzoxMzoxMCIsICIwNzoxNDoyMCIpIGlzICIwNzoxMzoxMSIKLVBB
U1Mgc3RlcERvd24oIjA3OjEzOjEwIiwgMSwgIjA3OjEzOjEwIiwgIjA3OjE0OjIwIikgaXMgIjA3
OjEzOjA5IgotTWludXRlcwotUEFTUyBzdGVwVXAoIjA3OjEzIiwgMSwgbnVsbCwgbnVsbCkgaXMg
IjA3OjE0IgotUEFTUyBzdGVwRG93bigiMDc6MTMiLCAxLCBudWxsLCBudWxsKSBpcyAiMDc6MTIi
Ci1QQVNTIHN0ZXBVcCgiMDc6NTkiLCAwLjAwMSwgbnVsbCwgbnVsbCkgaXMgIjA3OjAwIgotUEFT
UyBzdGVwRG93bigiMDc6MDAiLCAwLjAwMSwgbnVsbCwgbnVsbCkgaXMgIjA3OjU5IgotUEFTUyBz
dGVwVXAoIjA3OjAwIiwgNjAwLCBudWxsLCBudWxsKSBpcyAiMDc6MTAiCi1QQVNTIHN0ZXBEb3du
KCIwNzoxMCIsIDYwMCwgbnVsbCwgbnVsbCkgaXMgIjA3OjAwIgotUEFTUyBzdGVwVXAoIjA3OjUw
IiwgNjAwLCBudWxsLCBudWxsKSBpcyAiMDc6MDAiCi1QQVNTIHN0ZXBEb3duKCIwNzowMCIsIDYw
MCwgbnVsbCwgbnVsbCkgaXMgIjA3OjUwIgotUEFTUyBzdGVwVXAoIjA3OjEzIiwgNjAwLCBudWxs
LCBudWxsKSBpcyAiMDc6MjAiCi1QQVNTIHN0ZXBEb3duKCIwNzoxMyIsIDYwMCwgbnVsbCwgbnVs
bCkgaXMgIjA3OjEwIgotUEFTUyBzdGVwVXAoIjA3OjEzIiwgMTUwLCBudWxsLCBudWxsKSBpcyAi
MDc6MTQiCi1QQVNTIHN0ZXBEb3duKCIwNzoxMyIsIDE1MCwgbnVsbCwgbnVsbCkgaXMgIjA3OjEy
IgotUEFTUyBzdGVwVXAoIjA3OjEzIiwgMCwgbnVsbCwgbnVsbCkgaXMgIjA3OjE0IgotUEFTUyBz
dGVwRG93bigiMDc6MTMiLCAwLCBudWxsLCBudWxsKSBpcyAiMDc6MTIiCi1QQVNTIHN0ZXBVcCgi
MDc6MTMiLCAzNjAwMCwgbnVsbCwgbnVsbCkgaXMgIjA3OjAwIgotUEFTUyBzdGVwRG93bigiMDc6
MTMiLCAzNjAwMCwgbnVsbCwgbnVsbCkgaXMgIjA3OjAwIgotUEFTUyBzdGVwVXAoIjA3OjEzIiwg
NjYwLCBudWxsLCBudWxsKSBpcyAiMDc6MTQiCi1QQVNTIHN0ZXBEb3duKCIwNzoxMyIsIDY2MCwg
bnVsbCwgbnVsbCkgaXMgIjA3OjEyIgotUEFTUyBzdGVwVXAoIjA3OjEzIiwgNjAwLCAiMDA6MDUi
LCBudWxsKSBpcyAiMDc6MTUiCi1QQVNTIHN0ZXBEb3duKCIwNzoxMyIsIDYwMCwgIjAwOjA1Iiwg
bnVsbCkgaXMgIjA3OjA1IgotUEFTUyB0ZXN0KCIwNzoxMyIsIDYwMCwgbnVsbCwgbnVsbCwgWyJk
ZWxldGUiLCAidXBBcnJvdyJdKSBpcyAiMDc6MDAiCi1QQVNTIHRlc3QoIjA3OjEzIiwgNjAwLCBu
dWxsLCBudWxsLCBbImRlbGV0ZSIsICJkb3duQXJyb3ciXSkgaXMgIjA3OjUwIgotUEFTUyB0ZXN0
KCIwNzoxMyIsIDYwMCwgIjAwOjA1IiwgbnVsbCwgWyJkZWxldGUiLCAidXBBcnJvdyJdKSBpcyAi
MDc6MDUiCi1QQVNTIHRlc3QoIjA3OjEzIiwgNjAwLCAiMDA6MDUiLCBudWxsLCBbImRlbGV0ZSIs
ICJkb3duQXJyb3ciXSkgaXMgIjA3OjU1IgotUEFTUyBzdGVwVXAoIjA3OjEwIiwgMSwgIjA3OjA1
IiwgIjA3OjEwIikgaXMgIjA3OjA1IgotUEFTUyBzdGVwRG93bigiMDc6MDUiLCAxLCAiMDc6MDUi
LCAiMDc6MTAiKSBpcyAiMDc6MTAiCi1QQVNTIHN0ZXBVcCgiMDc6MDUiLCAxLCAiMDc6MTAiLCAi
MDc6MjAiKSBpcyAiMDc6MTAiCi1QQVNTIHN0ZXBEb3duKCIwNzowNSIsIDEsICIwNzoxMCIsICIw
NzoyMCIpIGlzICIwNzoyMCIKLVBBU1Mgc3RlcFVwKCIwNzowNSIsIDEsICIwNzowMCIsICIwNzow
MCIpIGlzICIwNzowMCIKLVBBU1Mgc3RlcERvd24oIjA3OjA1IiwgMSwgIjA3OjAwIiwgIjA3OjAw
IikgaXMgIjA3OjAwIgotUEFTUyBzdGVwVXAoIjA3OjM1IiwgNjAwLCAiMDc6MTAiLCAiMDc6MzUi
KSBpcyAiMDc6MTAiCi1QQVNTIHN0ZXBEb3duKCIwNzozNSIsIDYwMCwgIjA3OjEwIiwgIjA3OjM1
IikgaXMgIjA3OjMwIgotUEFTUyBzdGVwVXAoIjA3OjEwIiwgMSwgIjA3OjEwIiwgIjA4OjIwIikg
aXMgIjA3OjExIgotUEFTUyBzdGVwRG93bigiMDc6MTAiLCAxLCAiMDc6MTAiLCAiMDg6MjAiKSBp
cyAiMDc6MDkiCi1Ib3VycywgMS0xMgotUEFTUyBzdGVwVXAoIjA3OjAwIiwgMSwgbnVsbCwgbnVs
bCkgaXMgIjA4OjAwIgotUEFTUyBzdGVwRG93bigiMDc6MDAiLCAxLCBudWxsLCBudWxsKSBpcyAi
MDY6MDAiCi1QQVNTIHN0ZXBVcCgiMTE6MDAiLCAxLCBudWxsLCBudWxsKSBpcyAiMDA6MDAiCi1Q
QVNTIHN0ZXBEb3duKCIwMDowMCIsIDEsIG51bGwsIG51bGwpIGlzICIxMTowMCIKLVBBU1Mgc3Rl
cFVwKCIwNjowMCIsIDcyMDAsIG51bGwsIG51bGwpIGlzICIwODowMCIKLVBBU1Mgc3RlcERvd24o
IjA2OjAwIiwgNzIwMCwgbnVsbCwgbnVsbCkgaXMgIjA0OjAwIgotUEFTUyBzdGVwVXAoIjEwOjAw
IiwgNzIwMCwgbnVsbCwgbnVsbCkgaXMgIjAwOjAwIgotUEFTUyBzdGVwRG93bigiMDA6MDAiLCA3
MjAwLCBudWxsLCBudWxsKSBpcyAiMTA6MDAiCi1QQVNTIHN0ZXBVcCgiMDc6MDAiLCA3MjAwLCBu
dWxsLCBudWxsKSBpcyAiMDg6MDAiCi1QQVNTIHN0ZXBEb3duKCIwNzowMCIsIDcyMDAsIG51bGws
IG51bGwpIGlzICIwNjowMCIKLVBBU1Mgc3RlcFVwKCIwNjowMCIsIDM2MDEsIG51bGwsIG51bGwp
IGlzICIwNzowMCIKLVBBU1Mgc3RlcERvd24oIjA2OjAwIiwgMzYwMSwgbnVsbCwgbnVsbCkgaXMg
IjA1OjAwIgotUEFTUyBzdGVwVXAoIjA2OjAwIiwgMCwgbnVsbCwgbnVsbCkgaXMgIjA3OjAwIgot
UEFTUyBzdGVwRG93bigiMDY6MDAiLCAwLCBudWxsLCBudWxsKSBpcyAiMDU6MDAiCi1QQVNTIHN0
ZXBVcCgiMDY6MDAiLCA4NjQwMCwgbnVsbCwgbnVsbCkgaXMgIjAwOjAwIgotUEFTUyBzdGVwRG93
bigiMDY6MDAiLCA4NjQwMCwgbnVsbCwgbnVsbCkgaXMgIjAwOjAwIgotUEFTUyBzdGVwVXAoIjA2
OjAwIiwgMzYwMDAsIG51bGwsIG51bGwpIGlzICIwNzowMCIKLVBBU1Mgc3RlcERvd24oIjA2OjAw
IiwgMzYwMDAsIG51bGwsIG51bGwpIGlzICIwNTowMCIKLVBBU1Mgc3RlcFVwKCIwNjowMCIsIDcy
MDAsICIwMTowMCIsIG51bGwpIGlzICIwNzowMCIKLVBBU1Mgc3RlcERvd24oIjA2OjAwIiwgNzIw
MCwgIjAxOjAwIiwgbnVsbCkgaXMgIjA1OjAwIgotUEFTUyB0ZXN0KCIwNjowMCIsIDcyMDAsIG51
bGwsIG51bGwsIFsiZGVsZXRlIiwgInVwQXJyb3ciXSkgaXMgIjAyOjAwIgotUEFTUyB0ZXN0KCIw
NjowMCIsIDcyMDAsIG51bGwsIG51bGwsIFsiZGVsZXRlIiwgImRvd25BcnJvdyJdKSBpcyAiMDA6
MDAiCi1QQVNTIGdldFVzZXJBZ2VudFNoYWRvd1RleHRDb250ZW50KGlucHV0KSBpcyAiMTI6MDAg
QU0iCi1QQVNTIHRlc3QoIjA2OjAwIiwgNzIwMCwgIjAxOjAwIiwgbnVsbCwgWyJkZWxldGUiLCAi
dXBBcnJvdyJdKSBpcyAiMDE6MDAiCi1QQVNTIHRlc3QoIjA2OjAwIiwgNzIwMCwgIjAxOjAwIiwg
bnVsbCwgWyJkZWxldGUiLCAiZG93bkFycm93Il0pIGlzICIxMTowMCIKLVBBU1Mgc3RlcFVwKCIx
NzowMCIsIDEsICIxNzowMCIsICIyMDowMCIpIGlzICIxODowMCIKLVBBU1Mgc3RlcERvd24oIjE3
OjAwIiwgMSwgIjE3OjAwIiwgIjIwOjAwIikgaXMgIjIwOjAwIgotUEFTUyBzdGVwVXAoIjE3OjAw
IiwgMSwgIjE1OjAwIiwgIjE3OjAwIikgaXMgIjE1OjAwIgotUEFTUyBzdGVwRG93bigiMTc6MDAi
LCAxLCAiMTU6MDAiLCAiMTc6MDAiKSBpcyAiMTY6MDAiCi1QQVNTIHN0ZXBVcCgiMTU6MDAiLCAx
LCAiMTc6MDAiLCAiMjA6MDAiKSBpcyAiMTc6MDAiCi1QQVNTIHN0ZXBEb3duKCIxNTowMCIsIDEs
ICIxNzowMCIsICIyMDowMCIpIGlzICIyMDowMCIKLVBBU1Mgc3RlcFVwKCIxNTowMCIsIDEsICIx
MzowMCIsICIxMzowMCIpIGlzICIxMzowMCIKLVBBU1Mgc3RlcERvd24oIjE1OjAwIiwgMSwgIjEz
OjAwIiwgIjEzOjAwIikgaXMgIjEzOjAwIgotUEFTUyBzdGVwVXAoIjEyOjAwIiwgMSwgIjEyOjAw
IiwgIjE1OjAwIikgaXMgIjEzOjAwIgotUEFTUyBzdGVwRG93bigiMTI6MDAiLCAxLCAiMTI6MDAi
LCAiMTU6MDAiKSBpcyAiMjM6MDAiCi1QQVNTIHN0ZXBVcCgiMTU6MDAiLCAxLCAiMTI6MDAiLCAi
MTU6MDAiKSBpcyAiMTY6MDAiCi1QQVNTIHN0ZXBEb3duKCIxNTowMCIsIDEsICIxMjowMCIsICIx
NTowMCIpIGlzICIxNDowMCIKLVBBU1Mgc3RlcFVwKCIxMjowMCIsIDEsICIxMDowMCIsICIxMjow
MCIpIGlzICIxMzowMCIKLVBBU1Mgc3RlcERvd24oIjEyOjAwIiwgMSwgIjEwOjAwIiwgIjEyOjAw
IikgaXMgIjIzOjAwIgotUEFTUyBzdGVwVXAoIjAwOjAwIiwgMSwgIjAwOjAwIiwgIjAzOjAwIikg
aXMgIjAxOjAwIgotUEFTUyBzdGVwRG93bigiMDA6MDAiLCAxLCAiMDA6MDAiLCAiMDM6MDAiKSBp
cyAiMTE6MDAiCi1QQVNTIHN0ZXBVcCgiMTU6MDAiLCAxLCAiMTA6MDAiLCAiMTU6MDAiKSBpcyAi
MTY6MDAiCi1QQVNTIHN0ZXBEb3duKCIxMDowMCIsIDEsICIxMDowMCIsICIxNTowMCIpIGlzICIw
OTowMCIKLVBBU1Mgc3RlcFVwKCIxNzowMCIsIDcyMDAsICIxNzowMCIsICIyMDowMCIpIGlzICIx
OTowMCIKLVBBU1Mgc3RlcERvd24oIjE3OjAwIiwgNzIwMCwgIjE3OjAwIiwgIjIwOjAwIikgaXMg
IjE5OjAwIgotUEFTUyBzdGVwVXAoIjE3OjAwIiwgNzIwMCwgIjE3OjAwIiwgIjE4OjAwIikgaXMg
IjE3OjAwIgotUEFTUyBzdGVwRG93bigiMTc6MDAiLCA3MjAwLCAiMTc6MDAiLCAiMTg6MDAiKSBp
cyAiMTc6MDAiCi1Ib3VycywgMC0xMQotUEFTUyBzdGVwVXAoIjExOjAwIiwgMSwgbnVsbCwgbnVs
bCkgaXMgIjAwOjAwIgotUEFTUyBnZXRVc2VyQWdlbnRTaGFkb3dUZXh0Q29udGVudChpbnB1dCkg
aXMgIjAwOjAwIEFNIgotUEFTUyBzdGVwRG93bigiMDA6MDAiLCAxLCBudWxsLCBudWxsKSBpcyAi
MTE6MDAiCi1QQVNTIGdldFVzZXJBZ2VudFNoYWRvd1RleHRDb250ZW50KGlucHV0KSBpcyAiMTE6
MDAgQU0iCi1QQVNTIHN0ZXBVcCgiMjM6MDAiLCAxLCBudWxsLCBudWxsKSBpcyAiMTI6MDAiCi1Q
QVNTIGdldFVzZXJBZ2VudFNoYWRvd1RleHRDb250ZW50KGlucHV0KSBpcyAiMDA6MDAgUE0iCi1Q
QVNTIHN0ZXBEb3duKCIxMjowMCIsIDEsIG51bGwsIG51bGwpIGlzICIyMzowMCIKLVBBU1MgZ2V0
VXNlckFnZW50U2hhZG93VGV4dENvbnRlbnQoaW5wdXQpIGlzICIxMTowMCBQTSIKLVBBU1MgdGVz
dCgiMDY6MDAiLCA3MjAwLCBudWxsLCBudWxsLCBbImRlbGV0ZSIsICJ1cEFycm93Il0pIGlzICIw
MDowMCIKLVBBU1MgdGVzdCgiMDY6MDAiLCA3MjAwLCBudWxsLCBudWxsLCBbImRlbGV0ZSIsICJk
b3duQXJyb3ciXSkgaXMgIjEwOjAwIgotUEFTUyB0ZXN0KCIwNjowMCIsIDcyMDAsICIwMTowMCIs
IG51bGwsIFsiZGVsZXRlIiwgInVwQXJyb3ciXSkgaXMgIjAxOjAwIgotUEFTUyB0ZXN0KCIwNjow
MCIsIDcyMDAsICIwMTowMCIsIG51bGwsIFsiZGVsZXRlIiwgImRvd25BcnJvdyJdKSBpcyAiMTE6
MDAiCi1QQVNTIHN0ZXBVcCgiMTc6MDAiLCAxLCAiMTc6MDAiLCAiMjA6MDAiKSBpcyAiMTg6MDAi
Ci1QQVNTIHN0ZXBEb3duKCIxNzowMCIsIDEsICIxNzowMCIsICIyMDowMCIpIGlzICIyMDowMCIK
LVBBU1Mgc3RlcFVwKCIxNzowMCIsIDEsICIxNTowMCIsICIxNzowMCIpIGlzICIxNTowMCIKLVBB
U1Mgc3RlcERvd24oIjE3OjAwIiwgMSwgIjE1OjAwIiwgIjE3OjAwIikgaXMgIjE2OjAwIgotUEFT
UyBzdGVwVXAoIjE1OjAwIiwgMSwgIjE3OjAwIiwgIjIwOjAwIikgaXMgIjE3OjAwIgotUEFTUyBz
dGVwRG93bigiMTU6MDAiLCAxLCAiMTc6MDAiLCAiMjA6MDAiKSBpcyAiMjA6MDAiCi1QQVNTIHN0
ZXBVcCgiMTU6MDAiLCAxLCAiMTM6MDAiLCAiMTM6MDAiKSBpcyAiMTM6MDAiCi1QQVNTIHN0ZXBE
b3duKCIxNTowMCIsIDEsICIxMzowMCIsICIxMzowMCIpIGlzICIxMzowMCIKLVBBU1Mgc3RlcFVw
KCIxMjowMCIsIDEsICIxMjowMCIsICIxNTowMCIpIGlzICIxMzowMCIKLVBBU1Mgc3RlcERvd24o
IjEyOjAwIiwgMSwgIjEyOjAwIiwgIjE1OjAwIikgaXMgIjE1OjAwIgotUEFTUyBzdGVwVXAoIjE1
OjAwIiwgMSwgIjEyOjAwIiwgIjE1OjAwIikgaXMgIjEyOjAwIgotUEFTUyBzdGVwRG93bigiMTU6
MDAiLCAxLCAiMTI6MDAiLCAiMTU6MDAiKSBpcyAiMTQ6MDAiCi1QQVNTIHN0ZXBVcCgiMTI6MDAi
LCAxLCAiMTA6MDAiLCAiMTI6MDAiKSBpcyAiMTM6MDAiCi1QQVNTIHN0ZXBEb3duKCIxMjowMCIs
IDEsICIxMDowMCIsICIxMjowMCIpIGlzICIyMzowMCIKLVBBU1Mgc3RlcFVwKCIwMDowMCIsIDEs
ICIwMDowMCIsICIwMzowMCIpIGlzICIwMTowMCIKLVBBU1Mgc3RlcERvd24oIjAwOjAwIiwgMSwg
IjAwOjAwIiwgIjAzOjAwIikgaXMgIjAzOjAwIgotUEFTUyBzdGVwVXAoIjE1OjAwIiwgMSwgIjEw
OjAwIiwgIjE1OjAwIikgaXMgIjE2OjAwIgotUEFTUyBzdGVwRG93bigiMTA6MDAiLCAxLCAiMTA6
MDAiLCAiMTU6MDAiKSBpcyAiMDk6MDAiCi1QQVNTIHN0ZXBVcCgiMjA6MDAiLCA3MjAwLCAiMTc6
MDAiLCAiMjA6MDAiKSBpcyAiMTc6MDAiCi1QQVNTIHN0ZXBEb3duKCIyMDowMCIsIDcyMDAsICIx
NzowMCIsICIyMDowMCIpIGlzICIxOTowMCIKLUhvdXJzLCAwLTIzCi1QQVNTIHN0ZXBVcCgiMDc6
MDAiLCAxLCBudWxsLCBudWxsKSBpcyAiMDg6MDAiCi1QQVNTIHN0ZXBEb3duKCIwNzowMCIsIDEs
IG51bGwsIG51bGwpIGlzICIwNjowMCIKLVBBU1Mgc3RlcFVwKCIyMzowMCIsIDEsIG51bGwsIG51
bGwpIGlzICIwMDowMCIKLVBBU1Mgc3RlcERvd24oIjAwOjAwIiwgMSwgbnVsbCwgbnVsbCkgaXMg
IjIzOjAwIgotUEFTUyBzdGVwVXAoIjA2OjAwIiwgNzIwMCwgbnVsbCwgbnVsbCkgaXMgIjA4OjAw
IgotUEFTUyBzdGVwRG93bigiMDY6MDAiLCA3MjAwLCBudWxsLCBudWxsKSBpcyAiMDQ6MDAiCi1Q
QVNTIHN0ZXBVcCgiMjI6MDAiLCA3MjAwLCBudWxsLCBudWxsKSBpcyAiMDA6MDAiCi1QQVNTIHN0
ZXBEb3duKCIwMDowMCIsIDcyMDAsIG51bGwsIG51bGwpIGlzICIyMjowMCIKLVBBU1Mgc3RlcFVw
KCIwNzowMCIsIDcyMDAsIG51bGwsIG51bGwpIGlzICIwODowMCIKLVBBU1Mgc3RlcERvd24oIjA3
OjAwIiwgNzIwMCwgbnVsbCwgbnVsbCkgaXMgIjA2OjAwIgotUEFTUyBzdGVwVXAoIjA2OjAwIiwg
MzYwMSwgbnVsbCwgbnVsbCkgaXMgIjA3OjAwIgotUEFTUyBzdGVwRG93bigiMDY6MDAiLCAzNjAx
LCBudWxsLCBudWxsKSBpcyAiMDU6MDAiCi1QQVNTIHN0ZXBVcCgiMDY6MDAiLCAwLCBudWxsLCBu
dWxsKSBpcyAiMDc6MDAiCi1QQVNTIHN0ZXBEb3duKCIwNjowMCIsIDAsIG51bGwsIG51bGwpIGlz
ICIwNTowMCIKLVBBU1Mgc3RlcFVwKCIwNjowMCIsIDg2NDAwLCBudWxsLCBudWxsKSBpcyAiMDA6
MDAiCi1QQVNTIHN0ZXBEb3duKCIwNjowMCIsIDg2NDAwLCBudWxsLCBudWxsKSBpcyAiMDA6MDAi
Ci1QQVNTIHN0ZXBVcCgiMDY6MDAiLCAzNjAwMCwgbnVsbCwgbnVsbCkgaXMgIjA3OjAwIgotUEFT
UyBzdGVwRG93bigiMDY6MDAiLCAzNjAwMCwgbnVsbCwgbnVsbCkgaXMgIjA1OjAwIgotUEFTUyBz
dGVwVXAoIjA2OjAwIiwgNzIwMCwgIjAxOjAwIiwgbnVsbCkgaXMgIjA3OjAwIgotUEFTUyBzdGVw
RG93bigiMDY6MDAiLCA3MjAwLCAiMDE6MDAiLCBudWxsKSBpcyAiMDU6MDAiCi1QQVNTIHRlc3Qo
IjA2OjAwIiwgNzIwMCwgbnVsbCwgbnVsbCwgWyJkZWxldGUiLCAidXBBcnJvdyJdKSBpcyAiMDA6
MDAiCi1QQVNTIGdldFVzZXJBZ2VudFNoYWRvd1RleHRDb250ZW50KGlucHV0KSBpcyAiMDA6MDAi
Ci1QQVNTIHRlc3QoIjA2OjAwIiwgNzIwMCwgbnVsbCwgbnVsbCwgWyJkZWxldGUiLCAiZG93bkFy
cm93Il0pIGlzICIyMjowMCIKLVBBU1MgdGVzdCgiMDY6MDAiLCA3MjAwLCAiMDE6MDAiLCBudWxs
LCBbImRlbGV0ZSIsICJ1cEFycm93Il0pIGlzICIwMTowMCIKLVBBU1MgdGVzdCgiMDY6MDAiLCA3
MjAwLCAiMDE6MDAiLCBudWxsLCBbImRlbGV0ZSIsICJkb3duQXJyb3ciXSkgaXMgIjIzOjAwIgot
UEFTUyBzdGVwVXAoIjE3OjAwIiwgMSwgIjE3OjAwIiwgIjIwOjAwIikgaXMgIjE4OjAwIgotUEFT
UyBzdGVwRG93bigiMTc6MDAiLCAxLCAiMTc6MDAiLCAiMjA6MDAiKSBpcyAiMjA6MDAiCi1QQVNT
IHN0ZXBVcCgiMTc6MDAiLCAxLCAiMTU6MDAiLCAiMTc6MDAiKSBpcyAiMTU6MDAiCi1QQVNTIHN0
ZXBEb3duKCIxNzowMCIsIDEsICIxNTowMCIsICIxNzowMCIpIGlzICIxNjowMCIKLVBBU1Mgc3Rl
cFVwKCIxNTowMCIsIDEsICIxNzowMCIsICIyMDowMCIpIGlzICIxNzowMCIKLVBBU1Mgc3RlcERv
d24oIjE1OjAwIiwgMSwgIjE3OjAwIiwgIjIwOjAwIikgaXMgIjIwOjAwIgotUEFTUyBzdGVwVXAo
IjE1OjAwIiwgMSwgIjEzOjAwIiwgIjEzOjAwIikgaXMgIjEzOjAwIgotUEFTUyBzdGVwRG93bigi
MTU6MDAiLCAxLCAiMTM6MDAiLCAiMTM6MDAiKSBpcyAiMTM6MDAiCi1QQVNTIHN0ZXBVcCgiMDA6
MDAiLCAxLCAiMDA6MDAiLCAiMDM6MDAiKSBpcyAiMDE6MDAiCi1QQVNTIHN0ZXBEb3duKCIwMDow
MCIsIDEsICIwMDowMCIsICIwMzowMCIpIGlzICIwMzowMCIKLVBBU1Mgc3RlcFVwKCIwMzowMCIs
IDEsICIwMDowMCIsICIwMzowMCIpIGlzICIwMDowMCIKLVBBU1Mgc3RlcERvd24oIjAzOjAwIiwg
MSwgIjAwOjAwIiwgIjAzOjAwIikgaXMgIjAyOjAwIgotUEFTUyBzdGVwVXAoIjEyOjAwIiwgMSwg
IjEwOjAwIiwgIjEyOjAwIikgaXMgIjEwOjAwIgotUEFTUyBzdGVwRG93bigiMTI6MDAiLCAxLCAi
MTA6MDAiLCAiMTI6MDAiKSBpcyAiMTE6MDAiCi1QQVNTIHN0ZXBVcCgiMDA6MDAiLCAxLCAiMDA6
MDAiLCAiMDM6MDAiKSBpcyAiMDE6MDAiCi1QQVNTIHN0ZXBEb3duKCIwMDowMCIsIDEsICIwMDow
MCIsICIwMzowMCIpIGlzICIwMzowMCIKLVBBU1Mgc3RlcFVwKCIxNTowMCIsIDEsICIxMDowMCIs
ICIxNTowMCIpIGlzICIxMDowMCIKLVBBU1Mgc3RlcERvd24oIjEwOjAwIiwgMSwgIjEwOjAwIiwg
IjE1OjAwIikgaXMgIjE1OjAwIgotUEFTUyBzdGVwVXAoIjIwOjAwIiwgNzIwMCwgIjE3OjAwIiwg
IjIwOjAwIikgaXMgIjE3OjAwIgotUEFTUyBzdGVwRG93bigiMjA6MDAiLCA3MjAwLCAiMTc6MDAi
LCAiMjA6MDAiKSBpcyAiMTk6MDAiCi1Ib3VycywgMS0yNAotUEFTUyBzdGVwVXAoIjExOjAwIiwg
MSwgbnVsbCwgbnVsbCkgaXMgIjEyOjAwIgotUEFTUyBnZXRVc2VyQWdlbnRTaGFkb3dUZXh0Q29u
dGVudChpbnB1dCkgaXMgIjEyOjAwIgotUEFTUyBzdGVwRG93bigiMDA6MDAiLCAxLCBudWxsLCBu
dWxsKSBpcyAiMjM6MDAiCi1QQVNTIGdldFVzZXJBZ2VudFNoYWRvd1RleHRDb250ZW50KGlucHV0
KSBpcyAiMjM6MDAiCi1QQVNTIHN0ZXBVcCgiMjM6MDAiLCAxLCBudWxsLCBudWxsKSBpcyAiMDA6
MDAiCi1QQVNTIGdldFVzZXJBZ2VudFNoYWRvd1RleHRDb250ZW50KGlucHV0KSBpcyAiMjQ6MDAi
Ci1QQVNTIHN0ZXBEb3duKCIxMjowMCIsIDEsIG51bGwsIG51bGwpIGlzICIxMTowMCIKLVBBU1Mg
Z2V0VXNlckFnZW50U2hhZG93VGV4dENvbnRlbnQoaW5wdXQpIGlzICIxMTowMCIKLVBBU1MgdGVz
dCgiMDY6MDAiLCA3MjAwLCBudWxsLCBudWxsLCBbImRlbGV0ZSIsICJ1cEFycm93Il0pIGlzICIw
MjowMCIKLVBBU1MgdGVzdCgiMDY6MDAiLCA3MjAwLCBudWxsLCBudWxsLCBbImRlbGV0ZSIsICJk
b3duQXJyb3ciXSkgaXMgIjAwOjAwIgotUEFTUyB0ZXN0KCIwNjowMCIsIDcyMDAsICIwMTowMCIs
IG51bGwsIFsiZGVsZXRlIiwgInVwQXJyb3ciXSkgaXMgIjAxOjAwIgotUEFTUyB0ZXN0KCIwNjow
MCIsIDcyMDAsICIwMTowMCIsIG51bGwsIFsiZGVsZXRlIiwgImRvd25BcnJvdyJdKSBpcyAiMjM6
MDAiCi1QQVNTIHN0ZXBVcCgiMTc6MDAiLCAxLCAiMTc6MDAiLCAiMjA6MDAiKSBpcyAiMTg6MDAi
Ci1QQVNTIHN0ZXBEb3duKCIxNzowMCIsIDEsICIxNzowMCIsICIyMDowMCIpIGlzICIyMDowMCIK
LVBBU1Mgc3RlcFVwKCIxNzowMCIsIDEsICIxNTowMCIsICIxNzowMCIpIGlzICIxNTowMCIKLVBB
U1Mgc3RlcERvd24oIjE3OjAwIiwgMSwgIjE1OjAwIiwgIjE3OjAwIikgaXMgIjE2OjAwIgotUEFT
UyBzdGVwVXAoIjE1OjAwIiwgMSwgIjE3OjAwIiwgIjIwOjAwIikgaXMgIjE3OjAwIgotUEFTUyBz
dGVwRG93bigiMTU6MDAiLCAxLCAiMTc6MDAiLCAiMjA6MDAiKSBpcyAiMjA6MDAiCi1QQVNTIHN0
ZXBVcCgiMTU6MDAiLCAxLCAiMTM6MDAiLCAiMTM6MDAiKSBpcyAiMTM6MDAiCi1QQVNTIHN0ZXBE
b3duKCIxNTowMCIsIDEsICIxMzowMCIsICIxMzowMCIpIGlzICIxMzowMCIKLVBBU1Mgc3RlcFVw
KCIwMDowMCIsIDEsICIwMDowMCIsICIwMzowMCIpIGlzICIwMTowMCIKLVBBU1Mgc3RlcERvd24o
IjAwOjAwIiwgMSwgIjAwOjAwIiwgIjAzOjAwIikgaXMgIjIzOjAwIgotUEFTUyBzdGVwVXAoIjAz
OjAwIiwgMSwgIjAwOjAwIiwgIjAzOjAwIikgaXMgIjA0OjAwIgotUEFTUyBzdGVwRG93bigiMDM6
MDAiLCAxLCAiMDA6MDAiLCAiMDM6MDAiKSBpcyAiMDI6MDAiCi1QQVNTIHN0ZXBVcCgiMTI6MDAi
LCAxLCAiMTA6MDAiLCAiMTI6MDAiKSBpcyAiMTA6MDAiCi1QQVNTIHN0ZXBEb3duKCIxMjowMCIs
IDEsICIxMDowMCIsICIxMjowMCIpIGlzICIxMTowMCIKLVBBU1Mgc3RlcFVwKCIwMDowMCIsIDEs
ICIwMDowMCIsICIwMzowMCIpIGlzICIwMTowMCIKLVBBU1Mgc3RlcERvd24oIjAwOjAwIiwgMSwg
IjAwOjAwIiwgIjAzOjAwIikgaXMgIjIzOjAwIgotUEFTUyBzdGVwVXAoIjE1OjAwIiwgMSwgIjEw
OjAwIiwgIjE1OjAwIikgaXMgIjEwOjAwIgotUEFTUyBzdGVwRG93bigiMTA6MDAiLCAxLCAiMTA6
MDAiLCAiMTU6MDAiKSBpcyAiMTU6MDAiCi1QQVNTIHN0ZXBVcCgiMTc6MDAiLCA3MjAwLCAiMTc6
MDAiLCAiMjA6MDAiKSBpcyAiMTk6MDAiCi1QQVNTIHN0ZXBEb3duKCIxNzowMCIsIDcyMDAsICIx
NzowMCIsICIyMDowMCIpIGlzICIxOTowMCIKLVBBU1Mgc3RlcFVwKCIxNzowMCIsIDcyMDAsICIx
NzowMCIsICIxODowMCIpIGlzICIxNzowMCIKLVBBU1Mgc3RlcERvd24oIjE3OjAwIiwgNzIwMCwg
IjE3OjAwIiwgIjE4OjAwIikgaXMgIjE3OjAwIgotCi1QQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBp
cyB0cnVlCi0KLVRFU1QgQ09NUExFVEUKLQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9m
b3Jtcy90aW1lLW11bHRpcGxlLWZpZWxkcy90aW1lLW11bHRpcGxlLWZpZWxkcy1zdGVwdXAtc3Rl
cGRvd24tZnJvbS1yZW5kZXJlci5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy90aW1lLW11
bHRpcGxlLWZpZWxkcy90aW1lLW11bHRpcGxlLWZpZWxkcy1zdGVwdXAtc3RlcGRvd24tZnJvbS1y
ZW5kZXJlci5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA1ZDczNDI5NmZlMzhm
ZmRkN2NlMTZlNTU4ZTBhZTcwZWU3ZjUyMjU5Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvdGltZS1tdWx0aXBsZS1m
aWVsZHMvdGltZS1tdWx0aXBsZS1maWVsZHMtc3RlcHVwLXN0ZXBkb3duLWZyb20tcmVuZGVyZXIu
aHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDM0OSArMCwwIEBACi08IURPQ1RZUEUgaHRtbD4KLTxo
dG1sPgotPGhlYWQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJl
LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvY29tbW9uLmpzIj48L3Nj
cmlwdD4KLTwvaGVhZD4KLTxib2R5PgotPHNjcmlwdD4KLWRlc2NyaXB0aW9uKCdDaGVjayBzdGVw
cGluZy11cCBhbmQgLWRvd24gZm9yIHRpbWUgaW5wdXQgZmllbGRzIGZyb20gcmVuZGVyZXIuIE5v
IGNhc2VzIG9mIGVtcHR5IGluaXRpYWwgdmFsdWVzLicpOwotaWYgKCF3aW5kb3cuaW50ZXJuYWxz
KQotICAgIHRlc3RGYWlsZWQoJ1RoaXMgdGVzdCByZXF1aXJlcyB3aW5kb3cuaW50ZXJuYWxzLicp
OwotCi12YXIgaW5wdXQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdpbnB1dCcpOwotdmFyIGlu
dmFsaWRTdGF0ZUVyciA9ICciRXJyb3I6IEludmFsaWRTdGF0ZUVycm9yOiBET00gRXhjZXB0aW9u
IDExIic7Ci0KLWRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoaW5wdXQpOwotCi1mdW5jdGlvbiBr
ZXlEb3duKGtleSwgbW9kaWZpZXJzKQotewotICAgIGlmICghd2luZG93LmV2ZW50U2VuZGVyKQot
ICAgICAgICByZXR1cm47Ci0gICAgZXZlbnRTZW5kZXIua2V5RG93bihrZXksIG1vZGlmaWVycyk7
Ci19Ci0KLWZ1bmN0aW9uIHNldERhdGVUaW1lRm9ybWF0KHBhdHRlcm4pIHsKLSAgICBnZXRFbGVt
ZW50QnlQc2V1ZG9JZChpbnRlcm5hbHMueW91bmdlc3RTaGFkb3dSb290KGlucHV0KSwgJy13ZWJr
aXQtZGF0ZXRpbWUtZWRpdCcpLnNldEF0dHJpYnV0ZSgncGF0dGVybicsIHBhdHRlcm4pOwotICAg
IGlucHV0LnZhbHVlID0gJyc7ICAvLyBVcGRhdGVzIHRoZSBlbGVtZW50IGZvciBuZXcgZm9ybWF0
Ci19Ci0KLWZ1bmN0aW9uIHNldElucHV0QXR0cmlidXRlcyh2YWx1ZSwgbWluLCBtYXgsIHN0ZXAp
IHsKLSAgICBpbnB1dC52YWx1ZSA9IHZhbHVlOwotICAgIGlucHV0Lm1pbiA9IG1pbjsKLSAgICBp
bnB1dC5tYXggPSBtYXg7Ci0gICAgaW5wdXQuc3RlcCA9IHN0ZXA7Ci19Ci0KLWZ1bmN0aW9uIHRl
c3QodmFsdWUsIHN0ZXAsIG1pbiwgbWF4LCBrZXlTZXF1ZW5jZSkgewotICAgIHNldElucHV0QXR0
cmlidXRlcyh2YWx1ZSwgbWluLCBtYXgsIHN0ZXApOwotICAgIGZvciAodmFyIGkgPSAwOyBpIDwg
a2V5U2VxdWVuY2UubGVuZ3RoOyBpKyspCi0gICAgICAgIGtleURvd24oa2V5U2VxdWVuY2VbaV0p
OwotICAgIHJldHVybiBpbnB1dC52YWx1ZTsKLX0KLQotZnVuY3Rpb24gc3RlcFVwKHZhbHVlLCBz
dGVwLCBtaW4sIG1heCkgewotICAgIHJldHVybiB0ZXN0KHZhbHVlLCBzdGVwLCBtaW4sIG1heCwg
Wyd1cEFycm93J10pOwotfQotCi1mdW5jdGlvbiBzdGVwRG93bih2YWx1ZSwgc3RlcCwgbWluLCBt
YXgpIHsKLSAgICByZXR1cm4gdGVzdCh2YWx1ZSwgc3RlcCwgbWluLCBtYXgsIFsnZG93bkFycm93
J10pOwotfQotCi1pbnB1dC50eXBlID0gJ3RpbWUnOwotaW5wdXQuZm9jdXMoKTsKLWtleURvd24o
J3JpZ2h0QXJyb3cnKTsKLWRlYnVnKCdGdW5jdGlvbiBhcmd1bWVudHMgYXJlICh2YWx1ZSwgc3Rl
cCwgbWluLCBtYXgsIFtrZXlTZXF1ZW5jZV0pLicpOwotZGVidWcoJ05vcm1hbCBjYXNlcycpOwot
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdzdGVwVXAoIjA3OjEzIiwgbnVsbCwgbnVsbCwgbnVsbCkn
LCAnMDc6MTQnKTsKLXNob3VsZEJlRXF1YWxUb1N0cmluZygnc3RlcERvd24oIjA3OjEzIiwgbnVs
bCwgbnVsbCwgbnVsbCknLCAnMDc6MTInKTsKLXNob3VsZEJlRXF1YWxUb1N0cmluZygndGVzdCgi
MDc6MTMiLCBudWxsLCBudWxsLCBudWxsLCBbInVwQXJyb3ciLCAidXBBcnJvdyIsICJ1cEFycm93
Il0pJywgJzA3OjE2Jyk7Ci1zaG91bGRCZUVxdWFsVG9TdHJpbmcoJ3Rlc3QoIjA3OjEzIiwgbnVs
bCwgbnVsbCwgbnVsbCwgWyJkb3duQXJyb3ciLCAiZG93bkFycm93IiwgImRvd25BcnJvdyJdKScs
ICcwNzoxMCcpOwotCi1kZWJ1ZygnTWlsbGlzZWNvbmRzJyk7Ci1pbnB1dC5zdGVwID0gMC4wMDE7
Ci1rZXlEb3duKCdyaWdodEFycm93Jyk7Ci1rZXlEb3duKCdyaWdodEFycm93Jyk7Ci1zaG91bGRC
ZUVxdWFsVG9TdHJpbmcoJ3N0ZXBVcCgiMDc6MTM6MDAuMDAwIiwgMC4wMDEsIG51bGwsIG51bGwp
JywgJzA3OjEzOjAwLjAwMScpOwotc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdzdGVwRG93bigiMDc6
MTM6MDAuMDAxIiwgMC4wMDEsIG51bGwsIG51bGwpJywgJzA3OjEzJyk7Ci1zaG91bGRCZUVxdWFs
VG9TdHJpbmcoJ3N0ZXBVcCgiMDc6MTM6MDAuOTk5IiwgMC4wMDEsIG51bGwsIG51bGwpJywgJzA3
OjEzJyk7Ci1zaG91bGRCZUVxdWFsVG9TdHJpbmcoJ3N0ZXBEb3duKCIwNzoxMzowMC4wMDAiLCAw
LjAwMSwgbnVsbCwgbnVsbCknLCAnMDc6MTM6MDAuOTk5Jyk7Ci1zaG91bGRCZUVxdWFsVG9TdHJp
bmcoJ3N0ZXBVcCgiMDc6MTM6MDAuMDAwIiwgMC4yNTAsIG51bGwsIG51bGwpJywgJzA3OjEzOjAw
LjI1MCcpOwotc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdzdGVwRG93bigiMDc6MTM6MDAuNTAwIiwg
MC4yNTAsIG51bGwsIG51bGwpJywgJzA3OjEzOjAwLjI1MCcpOwotc2hvdWxkQmVFcXVhbFRvU3Ry
aW5nKCdzdGVwVXAoIjA3OjEzOjAwLjc1MCIsIDAuMjUwLCBudWxsLCBudWxsKScsICcwNzoxMycp
Owotc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdzdGVwRG93bigiMDc6MTM6MDAuMDAwIiwgMC4yNTAs
IG51bGwsIG51bGwpJywgJzA3OjEzOjAwLjc1MCcpOwotc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdz
dGVwVXAoIjA3OjEzOjAwLjA5OSIsIDAuMTAwLCBudWxsLCBudWxsKScsICcwNzoxMzowMC4xMDAn
KTsKLXNob3VsZEJlRXF1YWxUb1N0cmluZygnc3RlcERvd24oIjA3OjEzOjAwLjEwMSIsIDAuMTAw
LCBudWxsLCBudWxsKScsICcwNzoxMzowMC4xMDAnKTsKLXNob3VsZEJlRXF1YWxUb1N0cmluZygn
c3RlcFVwKCIwNzoxMzowMC41MDAiLCAwLjAwMDEsIG51bGwsIG51bGwpJywgJzA3OjEzOjAwLjUw
MScpOwotc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdzdGVwRG93bigiMDc6MTM6MDAuNTAwIiwgMC4w
MDAxLCBudWxsLCBudWxsKScsICcwNzoxMzowMC40OTknKTsKLXNob3VsZEJlRXF1YWxUb1N0cmlu
Zygnc3RlcFVwKCIwNzoxMzowMC41MDAiLCAwLCBudWxsLCBudWxsKScsICcwNzoxMycpOwotc2hv
dWxkQmVFcXVhbFRvU3RyaW5nKCdzdGVwRG93bigiMDc6MTM6MDAuNTAwIiwgMCwgbnVsbCwgbnVs
bCknLCAnMDc6MTMnKTsKLXNob3VsZEJlRXF1YWxUb1N0cmluZygnc3RlcFVwKCIwNzoxMzowMC41
MDAiLCA2MCwgbnVsbCwgbnVsbCknLCAnMDc6MTMnKTsKLXNob3VsZEJlRXF1YWxUb1N0cmluZygn
c3RlcERvd24oIjA3OjEzOjAwLjUwMCIsIDYwLCBudWxsLCBudWxsKScsICcwNzoxMycpOwotc2hv
dWxkQmVFcXVhbFRvU3RyaW5nKCdzdGVwVXAoIjA3OjEzOjAwLjUwMCIsIDAuMTAwLCAiMDA6MDA6
MDAuMDUwIiwgbnVsbCknLCAnMDc6MTM6MDAuNTUwJyk7Ci1zaG91bGRCZUVxdWFsVG9TdHJpbmco
J3N0ZXBEb3duKCIwNzoxMzowMC41MDAiLCAwLjEwMCwgIjAwOjAwOjAwLjA1MCIsIG51bGwpJywg
JzA3OjEzOjAwLjQ1MCcpOwotc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCd0ZXN0KCIwNzoxMzowMC41
MDAiLCAwLjEwMCwgbnVsbCwgbnVsbCwgWyJkZWxldGUiLCAidXBBcnJvdyJdKScsICcwNzoxMycp
Owotc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCd0ZXN0KCIwNzoxMzowMC41MDAiLCAwLjEwMCwgbnVs
bCwgbnVsbCwgWyJkZWxldGUiLCAiZG93bkFycm93Il0pJywgJzA3OjEzOjAwLjkwMCcpOwotc2hv
dWxkQmVFcXVhbFRvU3RyaW5nKCd0ZXN0KCIwNzoxMzowMC41MDAiLCAwLjEwMCwgIjAwOjAwOjAw
LjA1MCIsIG51bGwsIFsiZGVsZXRlIiwgInVwQXJyb3ciXSknLCAnMDc6MTM6MDAuMDUwJyk7Ci1z
aG91bGRCZUVxdWFsVG9TdHJpbmcoJ3Rlc3QoIjA3OjEzOjAwLjUwMCIsIDAuMTAwLCAiMDA6MDA6
MDAuMDUwIiwgbnVsbCwgWyJkZWxldGUiLCAiZG93bkFycm93Il0pJywgJzA3OjEzOjAwLjk1MCcp
Owotc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdzdGVwVXAoIjA3OjEzOjAwLjAxMCIsIDAuMDAxLCAi
MDc6MTM6MDAuMDA1IiwgIjA3OjEzOjAwLjAxMCIpJywgJzA3OjEzOjAwLjAwNScpOwotc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCdzdGVwRG93bigiMDc6MTM6MDAuMDA1IiwgMC4wMDEsICIwNzoxMzow
MC4wMDUiLCAiMDc6MTM6MDAuMDEwIiknLCAnMDc6MTM6MDAuMDEwJyk7Ci1zaG91bGRCZUVxdWFs
VG9TdHJpbmcoJ3N0ZXBVcCgiMDc6MTM6MDAuMDA1IiwgMC4wMDEsICIwNzoxMzowMC4wMTAiLCAi
MDc6MTM6MDAuMDIwIiknLCAnMDc6MTM6MDAuMDEwJyk7Ci1zaG91bGRCZUVxdWFsVG9TdHJpbmco
J3N0ZXBEb3duKCIwNzoxMzowMC4wMDUiLCAwLjAwMSwgIjA3OjEzOjAwLjAxMCIsICIwNzoxMzow
MC4wMjAiKScsICcwNzoxMzowMC4wMjAnKTsKLXNob3VsZEJlRXF1YWxUb1N0cmluZygnc3RlcFVw
KCIwNzoxMzowMC4wMDUiLCAwLjAwMSwgIjA3OjEzOjAwLjAwMiIsICIwNzoxMzowMC4wMDIiKScs
ICcwNzoxMzowMC4wMDInKTsKLXNob3VsZEJlRXF1YWxUb1N0cmluZygnc3RlcERvd24oIjA3OjEz
OjAwLjAwNSIsIDAuMDAxLCAiMDc6MTM6MDAuMDAyIiwgIjA3OjEzOjAwLjAwMiIpJywgJzA3OjEz
OjAwLjAwMicpOwotc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdzdGVwVXAoIjA3OjEzOjAwLjAzNSIs
IDAuMDEsICIwNzoxMzowMC4wMTAiLCAiMDc6MTM6MDAuMDM1IiknLCAnMDc6MTM6MDAuMDEwJyk7
Ci1zaG91bGRCZUVxdWFsVG9TdHJpbmcoJ3N0ZXBEb3duKCIwNzoxMzowMC4wMzUiLCAwLjAxLCAi
MDc6MTM6MDAuMDEwIiwgIjA3OjEzOjAwLjAzNSIpJywgJzA3OjEzOjAwLjAzMCcpOwotc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCdzdGVwVXAoIjA3OjEzOjAwLjAxMCIsIDAuMDAxLCAiMDc6MTM6MDAu
MDEwIiwgIjA3OjEzOjAxLjAyMCIpJywgJzA3OjEzOjAwLjAxMScpOwotc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCdzdGVwRG93bigiMDc6MTM6MDAuMDEwIiwgMC4wMDEsICIwNzoxMzowMC4wMTAiLCAi
MDc6MTM6MDEuMDIwIiknLCAnMDc6MTM6MDAuMDA5Jyk7Ci0KLWRlYnVnKCdTZWNvbmRzJyk7Ci1r
ZXlEb3duKCdsZWZ0QXJyb3cnKTsKLXNob3VsZEJlRXF1YWxUb1N0cmluZygnc3RlcFVwKCIwNzox
MzowMCIsIDEsIG51bGwsIG51bGwpJywgJzA3OjEzOjAxJyk7Ci1zaG91bGRCZUVxdWFsVG9TdHJp
bmcoJ3N0ZXBEb3duKCIwNzoxMzowMSIsIDEsIG51bGwsIG51bGwpJywgJzA3OjEzJyk7Ci1zaG91
bGRCZUVxdWFsVG9TdHJpbmcoJ3N0ZXBVcCgiMDc6MTM6NTkiLCAwLjAwMSwgbnVsbCwgbnVsbCkn
LCAnMDc6MTMnKTsKLXNob3VsZEJlRXF1YWxUb1N0cmluZygnc3RlcERvd24oIjA3OjEzOjAwIiwg
MC4wMDEsIG51bGwsIG51bGwpJywgJzA3OjEzOjU5Jyk7Ci1zaG91bGRCZUVxdWFsVG9TdHJpbmco
J3N0ZXBVcCgiMDc6MTM6MDAiLCAxMCwgbnVsbCwgbnVsbCknLCAnMDc6MTM6MTAnKTsKLXNob3Vs
ZEJlRXF1YWxUb1N0cmluZygnc3RlcERvd24oIjA3OjEzOjMwIiwgMTAsIG51bGwsIG51bGwpJywg
JzA3OjEzOjIwJyk7Ci1zaG91bGRCZUVxdWFsVG9TdHJpbmcoJ3N0ZXBVcCgiMDc6MTM6NTAiLCAx
MCwgbnVsbCwgbnVsbCknLCAnMDc6MTMnKTsKLXNob3VsZEJlRXF1YWxUb1N0cmluZygnc3RlcERv
d24oIjA3OjEzOjAwIiwgMTAsIG51bGwsIG51bGwpJywgJzA3OjEzOjUwJyk7Ci1zaG91bGRCZUVx
dWFsVG9TdHJpbmcoJ3N0ZXBVcCgiMDc6MTM6MDkiLCAxMCwgbnVsbCwgbnVsbCknLCAnMDc6MTM6
MTAnKTsKLXNob3VsZEJlRXF1YWxUb1N0cmluZygnc3RlcERvd24oIjA3OjEzOjExIiwgMTAsIG51
bGwsIG51bGwpJywgJzA3OjEzOjEwJyk7Ci1zaG91bGRCZUVxdWFsVG9TdHJpbmcoJ3N0ZXBVcCgi
MDc6MTM6MzAiLCAyLjUsIG51bGwsIG51bGwpJywgJzA3OjEzOjMxJyk7Ci1zaG91bGRCZUVxdWFs
VG9TdHJpbmcoJ3N0ZXBEb3duKCIwNzoxMzozMCIsIDIuNSwgbnVsbCwgbnVsbCknLCAnMDc6MTM6
MjknKTsKLXNob3VsZEJlRXF1YWxUb1N0cmluZygnc3RlcFVwKCIwNzoxMzozMCIsIDAsIG51bGws
IG51bGwpJywgJzA3OjEzJyk7Ci1zaG91bGRCZUVxdWFsVG9TdHJpbmcoJ3N0ZXBEb3duKCIwNzox
MzozMCIsIDAsIG51bGwsIG51bGwpJywgJzA3OjEzJyk7Ci1zaG91bGRCZUVxdWFsVG9TdHJpbmco
J3N0ZXBVcCgiMDc6MTM6MzAiLCAzNjAwLCBudWxsLCBudWxsKScsICcwNzoxMycpOwotc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCdzdGVwRG93bigiMDc6MTM6MzAiLCAzNjAwLCBudWxsLCBudWxsKScs
ICcwNzoxMycpOwotc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdzdGVwVXAoIjA3OjEzOjMwIiwgMTEs
IG51bGwsIG51bGwpJywgJzA3OjEzOjMxJyk7Ci1zaG91bGRCZUVxdWFsVG9TdHJpbmcoJ3N0ZXBE
b3duKCIwNzoxMzozMCIsIDExLCBudWxsLCBudWxsKScsICcwNzoxMzoyOScpOwotc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCdzdGVwVXAoIjA3OjEzOjMwIiwgMTAsICIwMDowMDowNSIsIG51bGwpJywg
JzA3OjEzOjM1Jyk7Ci1zaG91bGRCZUVxdWFsVG9TdHJpbmcoJ3N0ZXBEb3duKCIwNzoxMzozMCIs
IDEwLCAiMDA6MDA6MDUiLCBudWxsKScsICcwNzoxMzoyNScpOwotc2hvdWxkQmVFcXVhbFRvU3Ry
aW5nKCd0ZXN0KCIwNzoxMzozMCIsIDEwLCBudWxsLCBudWxsLCBbImRlbGV0ZSIsICJ1cEFycm93
Il0pJywgJzA3OjEzJyk7Ci1zaG91bGRCZUVxdWFsVG9TdHJpbmcoJ3Rlc3QoIjA3OjEzOjMwIiwg
MTAsIG51bGwsIG51bGwsIFsiZGVsZXRlIiwgImRvd25BcnJvdyJdKScsICcwNzoxMzo1MCcpOwot
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCd0ZXN0KCIwNzoxMzozMCIsIDEwLCAiMDA6MDA6MDUiLCBu
dWxsLCBbImRlbGV0ZSIsICJ1cEFycm93Il0pJywgJzA3OjEzOjA1Jyk7Ci1zaG91bGRCZUVxdWFs
VG9TdHJpbmcoJ3Rlc3QoIjA3OjEzOjMwIiwgMTAsICIwMDowMDowNSIsIG51bGwsIFsiZGVsZXRl
IiwgImRvd25BcnJvdyJdKScsICcwNzoxMzo1NScpOwotc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdz
dGVwVXAoIjA3OjEzOjEwIiwgMSwgIjA3OjEzOjA1IiwgIjA3OjEzOjEwIiknLCAnMDc6MTM6MDUn
KTsKLXNob3VsZEJlRXF1YWxUb1N0cmluZygnc3RlcERvd24oIjA3OjEzOjA1IiwgMSwgIjA3OjEz
OjA1IiwgIjA3OjEzOjEwIiknLCAnMDc6MTM6MTAnKTsKLXNob3VsZEJlRXF1YWxUb1N0cmluZygn
c3RlcFVwKCIwNzoxMzowNSIsIDEsICIwNzoxMzoxMCIsICIwNzoxMzoyMCIpJywgJzA3OjEzOjEw
Jyk7Ci1zaG91bGRCZUVxdWFsVG9TdHJpbmcoJ3N0ZXBEb3duKCIwNzoxMzowNSIsIDEsICIwNzox
MzoxMCIsICIwNzoxMzoyMCIpJywgJzA3OjEzOjIwJyk7Ci1zaG91bGRCZUVxdWFsVG9TdHJpbmco
J3N0ZXBVcCgiMDc6MTM6MDUiLCAxLCAiMDc6MTM6MDIiLCAiMDc6MTM6MDIiKScsICcwNzoxMzow
MicpOwotc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdzdGVwRG93bigiMDc6MTM6MDUiLCAxLCAiMDc6
MTM6MDIiLCAiMDc6MTM6MDIiKScsICcwNzoxMzowMicpOwotc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCdzdGVwVXAoIjA3OjEzOjM1IiwgMTAsICIwNzoxMzoxMCIsICIwNzoxMzozNSIpJywgJzA3OjEz
OjEwJyk7Ci1zaG91bGRCZUVxdWFsVG9TdHJpbmcoJ3N0ZXBEb3duKCIwNzoxMzozNSIsIDEwLCAi
MDc6MTM6MTAiLCAiMDc6MTM6MzUiKScsICcwNzoxMzozMCcpOwotc2hvdWxkQmVFcXVhbFRvU3Ry
aW5nKCdzdGVwVXAoIjA3OjEzOjEwIiwgMSwgIjA3OjEzOjEwIiwgIjA3OjE0OjIwIiknLCAnMDc6
MTM6MTEnKTsKLXNob3VsZEJlRXF1YWxUb1N0cmluZygnc3RlcERvd24oIjA3OjEzOjEwIiwgMSwg
IjA3OjEzOjEwIiwgIjA3OjE0OjIwIiknLCAnMDc6MTM6MDknKTsKLQotZGVidWcoJ01pbnV0ZXMn
KTsKLWtleURvd24oJ2xlZnRBcnJvdycpOwotc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdzdGVwVXAo
IjA3OjEzIiwgMSwgbnVsbCwgbnVsbCknLCAnMDc6MTQnKTsKLXNob3VsZEJlRXF1YWxUb1N0cmlu
Zygnc3RlcERvd24oIjA3OjEzIiwgMSwgbnVsbCwgbnVsbCknLCAnMDc6MTInKTsKLXNob3VsZEJl
RXF1YWxUb1N0cmluZygnc3RlcFVwKCIwNzo1OSIsIDAuMDAxLCBudWxsLCBudWxsKScsICcwNzow
MCcpOwotc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdzdGVwRG93bigiMDc6MDAiLCAwLjAwMSwgbnVs
bCwgbnVsbCknLCAnMDc6NTknKTsKLXNob3VsZEJlRXF1YWxUb1N0cmluZygnc3RlcFVwKCIwNzow
MCIsIDYwMCwgbnVsbCwgbnVsbCknLCAnMDc6MTAnKTsKLXNob3VsZEJlRXF1YWxUb1N0cmluZygn
c3RlcERvd24oIjA3OjEwIiwgNjAwLCBudWxsLCBudWxsKScsICcwNzowMCcpOwotc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCdzdGVwVXAoIjA3OjUwIiwgNjAwLCBudWxsLCBudWxsKScsICcwNzowMCcp
Owotc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdzdGVwRG93bigiMDc6MDAiLCA2MDAsIG51bGwsIG51
bGwpJywgJzA3OjUwJyk7Ci1zaG91bGRCZUVxdWFsVG9TdHJpbmcoJ3N0ZXBVcCgiMDc6MTMiLCA2
MDAsIG51bGwsIG51bGwpJywgJzA3OjIwJyk7Ci1zaG91bGRCZUVxdWFsVG9TdHJpbmcoJ3N0ZXBE
b3duKCIwNzoxMyIsIDYwMCwgbnVsbCwgbnVsbCknLCAnMDc6MTAnKTsKLXNob3VsZEJlRXF1YWxU
b1N0cmluZygnc3RlcFVwKCIwNzoxMyIsIDE1MCwgbnVsbCwgbnVsbCknLCAnMDc6MTQnKTsKLXNo
b3VsZEJlRXF1YWxUb1N0cmluZygnc3RlcERvd24oIjA3OjEzIiwgMTUwLCBudWxsLCBudWxsKScs
ICcwNzoxMicpOwotc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdzdGVwVXAoIjA3OjEzIiwgMCwgbnVs
bCwgbnVsbCknLCAnMDc6MTQnKTsKLXNob3VsZEJlRXF1YWxUb1N0cmluZygnc3RlcERvd24oIjA3
OjEzIiwgMCwgbnVsbCwgbnVsbCknLCAnMDc6MTInKTsKLXNob3VsZEJlRXF1YWxUb1N0cmluZygn
c3RlcFVwKCIwNzoxMyIsIDM2MDAwLCBudWxsLCBudWxsKScsICcwNzowMCcpOwotc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCdzdGVwRG93bigiMDc6MTMiLCAzNjAwMCwgbnVsbCwgbnVsbCknLCAnMDc6
MDAnKTsKLXNob3VsZEJlRXF1YWxUb1N0cmluZygnc3RlcFVwKCIwNzoxMyIsIDY2MCwgbnVsbCwg
bnVsbCknLCAnMDc6MTQnKTsKLXNob3VsZEJlRXF1YWxUb1N0cmluZygnc3RlcERvd24oIjA3OjEz
IiwgNjYwLCBudWxsLCBudWxsKScsICcwNzoxMicpOwotc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdz
dGVwVXAoIjA3OjEzIiwgNjAwLCAiMDA6MDUiLCBudWxsKScsICcwNzoxNScpOwotc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCdzdGVwRG93bigiMDc6MTMiLCA2MDAsICIwMDowNSIsIG51bGwpJywgJzA3
OjA1Jyk7Ci1zaG91bGRCZUVxdWFsVG9TdHJpbmcoJ3Rlc3QoIjA3OjEzIiwgNjAwLCBudWxsLCBu
dWxsLCBbImRlbGV0ZSIsICJ1cEFycm93Il0pJywgJzA3OjAwJyk7Ci1zaG91bGRCZUVxdWFsVG9T
dHJpbmcoJ3Rlc3QoIjA3OjEzIiwgNjAwLCBudWxsLCBudWxsLCBbImRlbGV0ZSIsICJkb3duQXJy
b3ciXSknLCAnMDc6NTAnKTsKLXNob3VsZEJlRXF1YWxUb1N0cmluZygndGVzdCgiMDc6MTMiLCA2
MDAsICIwMDowNSIsIG51bGwsIFsiZGVsZXRlIiwgInVwQXJyb3ciXSknLCAnMDc6MDUnKTsKLXNo
b3VsZEJlRXF1YWxUb1N0cmluZygndGVzdCgiMDc6MTMiLCA2MDAsICIwMDowNSIsIG51bGwsIFsi
ZGVsZXRlIiwgImRvd25BcnJvdyJdKScsICcwNzo1NScpOwotc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCdzdGVwVXAoIjA3OjEwIiwgMSwgIjA3OjA1IiwgIjA3OjEwIiknLCAnMDc6MDUnKTsKLXNob3Vs
ZEJlRXF1YWxUb1N0cmluZygnc3RlcERvd24oIjA3OjA1IiwgMSwgIjA3OjA1IiwgIjA3OjEwIikn
LCAnMDc6MTAnKTsKLXNob3VsZEJlRXF1YWxUb1N0cmluZygnc3RlcFVwKCIwNzowNSIsIDEsICIw
NzoxMCIsICIwNzoyMCIpJywgJzA3OjEwJyk7Ci1zaG91bGRCZUVxdWFsVG9TdHJpbmcoJ3N0ZXBE
b3duKCIwNzowNSIsIDEsICIwNzoxMCIsICIwNzoyMCIpJywgJzA3OjIwJyk7Ci1zaG91bGRCZUVx
dWFsVG9TdHJpbmcoJ3N0ZXBVcCgiMDc6MDUiLCAxLCAiMDc6MDAiLCAiMDc6MDAiKScsICcwNzow
MCcpOwotc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdzdGVwRG93bigiMDc6MDUiLCAxLCAiMDc6MDAi
LCAiMDc6MDAiKScsICcwNzowMCcpOwotc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdzdGVwVXAoIjA3
OjM1IiwgNjAwLCAiMDc6MTAiLCAiMDc6MzUiKScsICcwNzoxMCcpOwotc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCdzdGVwRG93bigiMDc6MzUiLCA2MDAsICIwNzoxMCIsICIwNzozNSIpJywgJzA3OjMw
Jyk7Ci1zaG91bGRCZUVxdWFsVG9TdHJpbmcoJ3N0ZXBVcCgiMDc6MTAiLCAxLCAiMDc6MTAiLCAi
MDg6MjAiKScsICcwNzoxMScpOwotc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdzdGVwRG93bigiMDc6
MTAiLCAxLCAiMDc6MTAiLCAiMDg6MjAiKScsICcwNzowOScpOwotCi1kZWJ1ZygnSG91cnMsIDEt
MTInKTsKLWtleURvd24oJ2xlZnRBcnJvdycpOwotc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdzdGVw
VXAoIjA3OjAwIiwgMSwgbnVsbCwgbnVsbCknLCAnMDg6MDAnKTsKLXNob3VsZEJlRXF1YWxUb1N0
cmluZygnc3RlcERvd24oIjA3OjAwIiwgMSwgbnVsbCwgbnVsbCknLCAnMDY6MDAnKTsKLXNob3Vs
ZEJlRXF1YWxUb1N0cmluZygnc3RlcFVwKCIxMTowMCIsIDEsIG51bGwsIG51bGwpJywgJzAwOjAw
Jyk7Ci1zaG91bGRCZUVxdWFsVG9TdHJpbmcoJ3N0ZXBEb3duKCIwMDowMCIsIDEsIG51bGwsIG51
bGwpJywgJzExOjAwJyk7Ci1zaG91bGRCZUVxdWFsVG9TdHJpbmcoJ3N0ZXBVcCgiMDY6MDAiLCA3
MjAwLCBudWxsLCBudWxsKScsICcwODowMCcpOwotc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdzdGVw
RG93bigiMDY6MDAiLCA3MjAwLCBudWxsLCBudWxsKScsICcwNDowMCcpOwotc2hvdWxkQmVFcXVh
bFRvU3RyaW5nKCdzdGVwVXAoIjEwOjAwIiwgNzIwMCwgbnVsbCwgbnVsbCknLCAnMDA6MDAnKTsK
LXNob3VsZEJlRXF1YWxUb1N0cmluZygnc3RlcERvd24oIjAwOjAwIiwgNzIwMCwgbnVsbCwgbnVs
bCknLCAnMTA6MDAnKTsKLXNob3VsZEJlRXF1YWxUb1N0cmluZygnc3RlcFVwKCIwNzowMCIsIDcy
MDAsIG51bGwsIG51bGwpJywgJzA4OjAwJyk7Ci1zaG91bGRCZUVxdWFsVG9TdHJpbmcoJ3N0ZXBE
b3duKCIwNzowMCIsIDcyMDAsIG51bGwsIG51bGwpJywgJzA2OjAwJyk7Ci1zaG91bGRCZUVxdWFs
VG9TdHJpbmcoJ3N0ZXBVcCgiMDY6MDAiLCAzNjAxLCBudWxsLCBudWxsKScsICcwNzowMCcpOwot
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdzdGVwRG93bigiMDY6MDAiLCAzNjAxLCBudWxsLCBudWxs
KScsICcwNTowMCcpOwotc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdzdGVwVXAoIjA2OjAwIiwgMCwg
bnVsbCwgbnVsbCknLCAnMDc6MDAnKTsKLXNob3VsZEJlRXF1YWxUb1N0cmluZygnc3RlcERvd24o
IjA2OjAwIiwgMCwgbnVsbCwgbnVsbCknLCAnMDU6MDAnKTsKLXNob3VsZEJlRXF1YWxUb1N0cmlu
Zygnc3RlcFVwKCIwNjowMCIsIDg2NDAwLCBudWxsLCBudWxsKScsICcwMDowMCcpOwotc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCdzdGVwRG93bigiMDY6MDAiLCA4NjQwMCwgbnVsbCwgbnVsbCknLCAn
MDA6MDAnKTsKLXNob3VsZEJlRXF1YWxUb1N0cmluZygnc3RlcFVwKCIwNjowMCIsIDM2MDAwLCBu
dWxsLCBudWxsKScsICcwNzowMCcpOwotc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdzdGVwRG93bigi
MDY6MDAiLCAzNjAwMCwgbnVsbCwgbnVsbCknLCAnMDU6MDAnKTsKLXNob3VsZEJlRXF1YWxUb1N0
cmluZygnc3RlcFVwKCIwNjowMCIsIDcyMDAsICIwMTowMCIsIG51bGwpJywgJzA3OjAwJyk7Ci1z
aG91bGRCZUVxdWFsVG9TdHJpbmcoJ3N0ZXBEb3duKCIwNjowMCIsIDcyMDAsICIwMTowMCIsIG51
bGwpJywgJzA1OjAwJyk7Ci1zaG91bGRCZUVxdWFsVG9TdHJpbmcoJ3Rlc3QoIjA2OjAwIiwgNzIw
MCwgbnVsbCwgbnVsbCwgWyJkZWxldGUiLCAidXBBcnJvdyJdKScsICcwMjowMCcpOwotc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCd0ZXN0KCIwNjowMCIsIDcyMDAsIG51bGwsIG51bGwsIFsiZGVsZXRl
IiwgImRvd25BcnJvdyJdKScsICcwMDowMCcpOwotc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdnZXRV
c2VyQWdlbnRTaGFkb3dUZXh0Q29udGVudChpbnB1dCknLCAnMTI6MDAgQU0nKTsKLXNob3VsZEJl
RXF1YWxUb1N0cmluZygndGVzdCgiMDY6MDAiLCA3MjAwLCAiMDE6MDAiLCBudWxsLCBbImRlbGV0
ZSIsICJ1cEFycm93Il0pJywgJzAxOjAwJyk7Ci1zaG91bGRCZUVxdWFsVG9TdHJpbmcoJ3Rlc3Qo
IjA2OjAwIiwgNzIwMCwgIjAxOjAwIiwgbnVsbCwgWyJkZWxldGUiLCAiZG93bkFycm93Il0pJywg
JzExOjAwJyk7Ci1zaG91bGRCZUVxdWFsVG9TdHJpbmcoJ3N0ZXBVcCgiMTc6MDAiLCAxLCAiMTc6
MDAiLCAiMjA6MDAiKScsICcxODowMCcpOwotc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdzdGVwRG93
bigiMTc6MDAiLCAxLCAiMTc6MDAiLCAiMjA6MDAiKScsICcyMDowMCcpOwotc2hvdWxkQmVFcXVh
bFRvU3RyaW5nKCdzdGVwVXAoIjE3OjAwIiwgMSwgIjE1OjAwIiwgIjE3OjAwIiknLCAnMTU6MDAn
KTsKLXNob3VsZEJlRXF1YWxUb1N0cmluZygnc3RlcERvd24oIjE3OjAwIiwgMSwgIjE1OjAwIiwg
IjE3OjAwIiknLCAnMTY6MDAnKTsKLXNob3VsZEJlRXF1YWxUb1N0cmluZygnc3RlcFVwKCIxNTow
MCIsIDEsICIxNzowMCIsICIyMDowMCIpJywgJzE3OjAwJyk7Ci1zaG91bGRCZUVxdWFsVG9TdHJp
bmcoJ3N0ZXBEb3duKCIxNTowMCIsIDEsICIxNzowMCIsICIyMDowMCIpJywgJzIwOjAwJyk7Ci1z
aG91bGRCZUVxdWFsVG9TdHJpbmcoJ3N0ZXBVcCgiMTU6MDAiLCAxLCAiMTM6MDAiLCAiMTM6MDAi
KScsICcxMzowMCcpOwotc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdzdGVwRG93bigiMTU6MDAiLCAx
LCAiMTM6MDAiLCAiMTM6MDAiKScsICcxMzowMCcpOwotc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdz
dGVwVXAoIjEyOjAwIiwgMSwgIjEyOjAwIiwgIjE1OjAwIiknLCAnMTM6MDAnKTsKLXNob3VsZEJl
RXF1YWxUb1N0cmluZygnc3RlcERvd24oIjEyOjAwIiwgMSwgIjEyOjAwIiwgIjE1OjAwIiknLCAn
MjM6MDAnKTsKLXNob3VsZEJlRXF1YWxUb1N0cmluZygnc3RlcFVwKCIxNTowMCIsIDEsICIxMjow
MCIsICIxNTowMCIpJywgJzE2OjAwJyk7Ci1zaG91bGRCZUVxdWFsVG9TdHJpbmcoJ3N0ZXBEb3du
KCIxNTowMCIsIDEsICIxMjowMCIsICIxNTowMCIpJywgJzE0OjAwJyk7Ci1zaG91bGRCZUVxdWFs
VG9TdHJpbmcoJ3N0ZXBVcCgiMTI6MDAiLCAxLCAiMTA6MDAiLCAiMTI6MDAiKScsICcxMzowMCcp
Owotc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdzdGVwRG93bigiMTI6MDAiLCAxLCAiMTA6MDAiLCAi
MTI6MDAiKScsICcyMzowMCcpOwotc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdzdGVwVXAoIjAwOjAw
IiwgMSwgIjAwOjAwIiwgIjAzOjAwIiknLCAnMDE6MDAnKTsKLXNob3VsZEJlRXF1YWxUb1N0cmlu
Zygnc3RlcERvd24oIjAwOjAwIiwgMSwgIjAwOjAwIiwgIjAzOjAwIiknLCAnMTE6MDAnKTsKLXNo
b3VsZEJlRXF1YWxUb1N0cmluZygnc3RlcFVwKCIxNTowMCIsIDEsICIxMDowMCIsICIxNTowMCIp
JywgJzE2OjAwJyk7Ci1zaG91bGRCZUVxdWFsVG9TdHJpbmcoJ3N0ZXBEb3duKCIxMDowMCIsIDEs
ICIxMDowMCIsICIxNTowMCIpJywgJzA5OjAwJyk7Ci1zaG91bGRCZUVxdWFsVG9TdHJpbmcoJ3N0
ZXBVcCgiMTc6MDAiLCA3MjAwLCAiMTc6MDAiLCAiMjA6MDAiKScsICcxOTowMCcpOwotc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCdzdGVwRG93bigiMTc6MDAiLCA3MjAwLCAiMTc6MDAiLCAiMjA6MDAi
KScsICcxOTowMCcpOwotc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdzdGVwVXAoIjE3OjAwIiwgNzIw
MCwgIjE3OjAwIiwgIjE4OjAwIiknLCAnMTc6MDAnKTsKLXNob3VsZEJlRXF1YWxUb1N0cmluZygn
c3RlcERvd24oIjE3OjAwIiwgNzIwMCwgIjE3OjAwIiwgIjE4OjAwIiknLCAnMTc6MDAnKTsKLQot
ZGVidWcoJ0hvdXJzLCAwLTExJyk7Ci1zZXREYXRlVGltZUZvcm1hdCgnS0s6bW0gYScpOwotc2hv
dWxkQmVFcXVhbFRvU3RyaW5nKCdzdGVwVXAoIjExOjAwIiwgMSwgbnVsbCwgbnVsbCknLCAnMDA6
MDAnKTsKLXNob3VsZEJlRXF1YWxUb1N0cmluZygnZ2V0VXNlckFnZW50U2hhZG93VGV4dENvbnRl
bnQoaW5wdXQpJywgJzAwOjAwIEFNJyk7Ci1zaG91bGRCZUVxdWFsVG9TdHJpbmcoJ3N0ZXBEb3du
KCIwMDowMCIsIDEsIG51bGwsIG51bGwpJywgJzExOjAwJyk7Ci1zaG91bGRCZUVxdWFsVG9TdHJp
bmcoJ2dldFVzZXJBZ2VudFNoYWRvd1RleHRDb250ZW50KGlucHV0KScsICcxMTowMCBBTScpOwot
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdzdGVwVXAoIjIzOjAwIiwgMSwgbnVsbCwgbnVsbCknLCAn
MTI6MDAnKTsKLXNob3VsZEJlRXF1YWxUb1N0cmluZygnZ2V0VXNlckFnZW50U2hhZG93VGV4dENv
bnRlbnQoaW5wdXQpJywgJzAwOjAwIFBNJyk7Ci1zaG91bGRCZUVxdWFsVG9TdHJpbmcoJ3N0ZXBE
b3duKCIxMjowMCIsIDEsIG51bGwsIG51bGwpJywgJzIzOjAwJyk7Ci1zaG91bGRCZUVxdWFsVG9T
dHJpbmcoJ2dldFVzZXJBZ2VudFNoYWRvd1RleHRDb250ZW50KGlucHV0KScsICcxMTowMCBQTScp
Owotc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCd0ZXN0KCIwNjowMCIsIDcyMDAsIG51bGwsIG51bGws
IFsiZGVsZXRlIiwgInVwQXJyb3ciXSknLCAnMDA6MDAnKTsKLXNob3VsZEJlRXF1YWxUb1N0cmlu
ZygndGVzdCgiMDY6MDAiLCA3MjAwLCBudWxsLCBudWxsLCBbImRlbGV0ZSIsICJkb3duQXJyb3ci
XSknLCAnMTA6MDAnKTsKLXNob3VsZEJlRXF1YWxUb1N0cmluZygndGVzdCgiMDY6MDAiLCA3MjAw
LCAiMDE6MDAiLCBudWxsLCBbImRlbGV0ZSIsICJ1cEFycm93Il0pJywgJzAxOjAwJyk7Ci1zaG91
bGRCZUVxdWFsVG9TdHJpbmcoJ3Rlc3QoIjA2OjAwIiwgNzIwMCwgIjAxOjAwIiwgbnVsbCwgWyJk
ZWxldGUiLCAiZG93bkFycm93Il0pJywgJzExOjAwJyk7Ci1zaG91bGRCZUVxdWFsVG9TdHJpbmco
J3N0ZXBVcCgiMTc6MDAiLCAxLCAiMTc6MDAiLCAiMjA6MDAiKScsICcxODowMCcpOwotc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCdzdGVwRG93bigiMTc6MDAiLCAxLCAiMTc6MDAiLCAiMjA6MDAiKScs
ICcyMDowMCcpOwotc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdzdGVwVXAoIjE3OjAwIiwgMSwgIjE1
OjAwIiwgIjE3OjAwIiknLCAnMTU6MDAnKTsKLXNob3VsZEJlRXF1YWxUb1N0cmluZygnc3RlcERv
d24oIjE3OjAwIiwgMSwgIjE1OjAwIiwgIjE3OjAwIiknLCAnMTY6MDAnKTsKLXNob3VsZEJlRXF1
YWxUb1N0cmluZygnc3RlcFVwKCIxNTowMCIsIDEsICIxNzowMCIsICIyMDowMCIpJywgJzE3OjAw
Jyk7Ci1zaG91bGRCZUVxdWFsVG9TdHJpbmcoJ3N0ZXBEb3duKCIxNTowMCIsIDEsICIxNzowMCIs
ICIyMDowMCIpJywgJzIwOjAwJyk7Ci1zaG91bGRCZUVxdWFsVG9TdHJpbmcoJ3N0ZXBVcCgiMTU6
MDAiLCAxLCAiMTM6MDAiLCAiMTM6MDAiKScsICcxMzowMCcpOwotc2hvdWxkQmVFcXVhbFRvU3Ry
aW5nKCdzdGVwRG93bigiMTU6MDAiLCAxLCAiMTM6MDAiLCAiMTM6MDAiKScsICcxMzowMCcpOwot
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdzdGVwVXAoIjEyOjAwIiwgMSwgIjEyOjAwIiwgIjE1OjAw
IiknLCAnMTM6MDAnKTsKLXNob3VsZEJlRXF1YWxUb1N0cmluZygnc3RlcERvd24oIjEyOjAwIiwg
MSwgIjEyOjAwIiwgIjE1OjAwIiknLCAnMTU6MDAnKTsKLXNob3VsZEJlRXF1YWxUb1N0cmluZygn
c3RlcFVwKCIxNTowMCIsIDEsICIxMjowMCIsICIxNTowMCIpJywgJzEyOjAwJyk7Ci1zaG91bGRC
ZUVxdWFsVG9TdHJpbmcoJ3N0ZXBEb3duKCIxNTowMCIsIDEsICIxMjowMCIsICIxNTowMCIpJywg
JzE0OjAwJyk7Ci1zaG91bGRCZUVxdWFsVG9TdHJpbmcoJ3N0ZXBVcCgiMTI6MDAiLCAxLCAiMTA6
MDAiLCAiMTI6MDAiKScsICcxMzowMCcpOwotc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdzdGVwRG93
bigiMTI6MDAiLCAxLCAiMTA6MDAiLCAiMTI6MDAiKScsICcyMzowMCcpOwotc2hvdWxkQmVFcXVh
bFRvU3RyaW5nKCdzdGVwVXAoIjAwOjAwIiwgMSwgIjAwOjAwIiwgIjAzOjAwIiknLCAnMDE6MDAn
KTsKLXNob3VsZEJlRXF1YWxUb1N0cmluZygnc3RlcERvd24oIjAwOjAwIiwgMSwgIjAwOjAwIiwg
IjAzOjAwIiknLCAnMDM6MDAnKTsKLXNob3VsZEJlRXF1YWxUb1N0cmluZygnc3RlcFVwKCIxNTow
MCIsIDEsICIxMDowMCIsICIxNTowMCIpJywgJzE2OjAwJyk7Ci1zaG91bGRCZUVxdWFsVG9TdHJp
bmcoJ3N0ZXBEb3duKCIxMDowMCIsIDEsICIxMDowMCIsICIxNTowMCIpJywgJzA5OjAwJyk7Ci1z
aG91bGRCZUVxdWFsVG9TdHJpbmcoJ3N0ZXBVcCgiMjA6MDAiLCA3MjAwLCAiMTc6MDAiLCAiMjA6
MDAiKScsICcxNzowMCcpOwotc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdzdGVwRG93bigiMjA6MDAi
LCA3MjAwLCAiMTc6MDAiLCAiMjA6MDAiKScsICcxOTowMCcpOwotCi1kZWJ1ZygnSG91cnMsIDAt
MjMnKTsKLXNldERhdGVUaW1lRm9ybWF0KCdISDptbScpOwotc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCdzdGVwVXAoIjA3OjAwIiwgMSwgbnVsbCwgbnVsbCknLCAnMDg6MDAnKTsKLXNob3VsZEJlRXF1
YWxUb1N0cmluZygnc3RlcERvd24oIjA3OjAwIiwgMSwgbnVsbCwgbnVsbCknLCAnMDY6MDAnKTsK
LXNob3VsZEJlRXF1YWxUb1N0cmluZygnc3RlcFVwKCIyMzowMCIsIDEsIG51bGwsIG51bGwpJywg
JzAwOjAwJyk7Ci1zaG91bGRCZUVxdWFsVG9TdHJpbmcoJ3N0ZXBEb3duKCIwMDowMCIsIDEsIG51
bGwsIG51bGwpJywgJzIzOjAwJyk7Ci1zaG91bGRCZUVxdWFsVG9TdHJpbmcoJ3N0ZXBVcCgiMDY6
MDAiLCA3MjAwLCBudWxsLCBudWxsKScsICcwODowMCcpOwotc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCdzdGVwRG93bigiMDY6MDAiLCA3MjAwLCBudWxsLCBudWxsKScsICcwNDowMCcpOwotc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCdzdGVwVXAoIjIyOjAwIiwgNzIwMCwgbnVsbCwgbnVsbCknLCAnMDA6
MDAnKTsKLXNob3VsZEJlRXF1YWxUb1N0cmluZygnc3RlcERvd24oIjAwOjAwIiwgNzIwMCwgbnVs
bCwgbnVsbCknLCAnMjI6MDAnKTsKLXNob3VsZEJlRXF1YWxUb1N0cmluZygnc3RlcFVwKCIwNzow
MCIsIDcyMDAsIG51bGwsIG51bGwpJywgJzA4OjAwJyk7Ci1zaG91bGRCZUVxdWFsVG9TdHJpbmco
J3N0ZXBEb3duKCIwNzowMCIsIDcyMDAsIG51bGwsIG51bGwpJywgJzA2OjAwJyk7Ci1zaG91bGRC
ZUVxdWFsVG9TdHJpbmcoJ3N0ZXBVcCgiMDY6MDAiLCAzNjAxLCBudWxsLCBudWxsKScsICcwNzow
MCcpOwotc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdzdGVwRG93bigiMDY6MDAiLCAzNjAxLCBudWxs
LCBudWxsKScsICcwNTowMCcpOwotc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdzdGVwVXAoIjA2OjAw
IiwgMCwgbnVsbCwgbnVsbCknLCAnMDc6MDAnKTsKLXNob3VsZEJlRXF1YWxUb1N0cmluZygnc3Rl
cERvd24oIjA2OjAwIiwgMCwgbnVsbCwgbnVsbCknLCAnMDU6MDAnKTsKLXNob3VsZEJlRXF1YWxU
b1N0cmluZygnc3RlcFVwKCIwNjowMCIsIDg2NDAwLCBudWxsLCBudWxsKScsICcwMDowMCcpOwot
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdzdGVwRG93bigiMDY6MDAiLCA4NjQwMCwgbnVsbCwgbnVs
bCknLCAnMDA6MDAnKTsKLXNob3VsZEJlRXF1YWxUb1N0cmluZygnc3RlcFVwKCIwNjowMCIsIDM2
MDAwLCBudWxsLCBudWxsKScsICcwNzowMCcpOwotc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdzdGVw
RG93bigiMDY6MDAiLCAzNjAwMCwgbnVsbCwgbnVsbCknLCAnMDU6MDAnKTsKLXNob3VsZEJlRXF1
YWxUb1N0cmluZygnc3RlcFVwKCIwNjowMCIsIDcyMDAsICIwMTowMCIsIG51bGwpJywgJzA3OjAw
Jyk7Ci1zaG91bGRCZUVxdWFsVG9TdHJpbmcoJ3N0ZXBEb3duKCIwNjowMCIsIDcyMDAsICIwMTow
MCIsIG51bGwpJywgJzA1OjAwJyk7Ci1zaG91bGRCZUVxdWFsVG9TdHJpbmcoJ3Rlc3QoIjA2OjAw
IiwgNzIwMCwgbnVsbCwgbnVsbCwgWyJkZWxldGUiLCAidXBBcnJvdyJdKScsICcwMDowMCcpOwot
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdnZXRVc2VyQWdlbnRTaGFkb3dUZXh0Q29udGVudChpbnB1
dCknLCAnMDA6MDAnKTsKLXNob3VsZEJlRXF1YWxUb1N0cmluZygndGVzdCgiMDY6MDAiLCA3MjAw
LCBudWxsLCBudWxsLCBbImRlbGV0ZSIsICJkb3duQXJyb3ciXSknLCAnMjI6MDAnKTsKLXNob3Vs
ZEJlRXF1YWxUb1N0cmluZygndGVzdCgiMDY6MDAiLCA3MjAwLCAiMDE6MDAiLCBudWxsLCBbImRl
bGV0ZSIsICJ1cEFycm93Il0pJywgJzAxOjAwJyk7Ci1zaG91bGRCZUVxdWFsVG9TdHJpbmcoJ3Rl
c3QoIjA2OjAwIiwgNzIwMCwgIjAxOjAwIiwgbnVsbCwgWyJkZWxldGUiLCAiZG93bkFycm93Il0p
JywgJzIzOjAwJyk7Ci1zaG91bGRCZUVxdWFsVG9TdHJpbmcoJ3N0ZXBVcCgiMTc6MDAiLCAxLCAi
MTc6MDAiLCAiMjA6MDAiKScsICcxODowMCcpOwotc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdzdGVw
RG93bigiMTc6MDAiLCAxLCAiMTc6MDAiLCAiMjA6MDAiKScsICcyMDowMCcpOwotc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCdzdGVwVXAoIjE3OjAwIiwgMSwgIjE1OjAwIiwgIjE3OjAwIiknLCAnMTU6
MDAnKTsKLXNob3VsZEJlRXF1YWxUb1N0cmluZygnc3RlcERvd24oIjE3OjAwIiwgMSwgIjE1OjAw
IiwgIjE3OjAwIiknLCAnMTY6MDAnKTsKLXNob3VsZEJlRXF1YWxUb1N0cmluZygnc3RlcFVwKCIx
NTowMCIsIDEsICIxNzowMCIsICIyMDowMCIpJywgJzE3OjAwJyk7Ci1zaG91bGRCZUVxdWFsVG9T
dHJpbmcoJ3N0ZXBEb3duKCIxNTowMCIsIDEsICIxNzowMCIsICIyMDowMCIpJywgJzIwOjAwJyk7
Ci1zaG91bGRCZUVxdWFsVG9TdHJpbmcoJ3N0ZXBVcCgiMTU6MDAiLCAxLCAiMTM6MDAiLCAiMTM6
MDAiKScsICcxMzowMCcpOwotc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdzdGVwRG93bigiMTU6MDAi
LCAxLCAiMTM6MDAiLCAiMTM6MDAiKScsICcxMzowMCcpOwotc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCdzdGVwVXAoIjAwOjAwIiwgMSwgIjAwOjAwIiwgIjAzOjAwIiknLCAnMDE6MDAnKTsKLXNob3Vs
ZEJlRXF1YWxUb1N0cmluZygnc3RlcERvd24oIjAwOjAwIiwgMSwgIjAwOjAwIiwgIjAzOjAwIikn
LCAnMDM6MDAnKTsKLXNob3VsZEJlRXF1YWxUb1N0cmluZygnc3RlcFVwKCIwMzowMCIsIDEsICIw
MDowMCIsICIwMzowMCIpJywgJzAwOjAwJyk7Ci1zaG91bGRCZUVxdWFsVG9TdHJpbmcoJ3N0ZXBE
b3duKCIwMzowMCIsIDEsICIwMDowMCIsICIwMzowMCIpJywgJzAyOjAwJyk7Ci1zaG91bGRCZUVx
dWFsVG9TdHJpbmcoJ3N0ZXBVcCgiMTI6MDAiLCAxLCAiMTA6MDAiLCAiMTI6MDAiKScsICcxMDow
MCcpOwotc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdzdGVwRG93bigiMTI6MDAiLCAxLCAiMTA6MDAi
LCAiMTI6MDAiKScsICcxMTowMCcpOwotc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdzdGVwVXAoIjAw
OjAwIiwgMSwgIjAwOjAwIiwgIjAzOjAwIiknLCAnMDE6MDAnKTsKLXNob3VsZEJlRXF1YWxUb1N0
cmluZygnc3RlcERvd24oIjAwOjAwIiwgMSwgIjAwOjAwIiwgIjAzOjAwIiknLCAnMDM6MDAnKTsK
LXNob3VsZEJlRXF1YWxUb1N0cmluZygnc3RlcFVwKCIxNTowMCIsIDEsICIxMDowMCIsICIxNTow
MCIpJywgJzEwOjAwJyk7Ci1zaG91bGRCZUVxdWFsVG9TdHJpbmcoJ3N0ZXBEb3duKCIxMDowMCIs
IDEsICIxMDowMCIsICIxNTowMCIpJywgJzE1OjAwJyk7Ci1zaG91bGRCZUVxdWFsVG9TdHJpbmco
J3N0ZXBVcCgiMjA6MDAiLCA3MjAwLCAiMTc6MDAiLCAiMjA6MDAiKScsICcxNzowMCcpOwotc2hv
dWxkQmVFcXVhbFRvU3RyaW5nKCdzdGVwRG93bigiMjA6MDAiLCA3MjAwLCAiMTc6MDAiLCAiMjA6
MDAiKScsICcxOTowMCcpOwotCi1kZWJ1ZygnSG91cnMsIDEtMjQnKTsKLXNldERhdGVUaW1lRm9y
bWF0KCdrazptbScpOwotc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdzdGVwVXAoIjExOjAwIiwgMSwg
bnVsbCwgbnVsbCknLCAnMTI6MDAnKTsKLXNob3VsZEJlRXF1YWxUb1N0cmluZygnZ2V0VXNlckFn
ZW50U2hhZG93VGV4dENvbnRlbnQoaW5wdXQpJywgJzEyOjAwJyk7Ci1zaG91bGRCZUVxdWFsVG9T
dHJpbmcoJ3N0ZXBEb3duKCIwMDowMCIsIDEsIG51bGwsIG51bGwpJywgJzIzOjAwJyk7Ci1zaG91
bGRCZUVxdWFsVG9TdHJpbmcoJ2dldFVzZXJBZ2VudFNoYWRvd1RleHRDb250ZW50KGlucHV0KScs
ICcyMzowMCcpOwotc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdzdGVwVXAoIjIzOjAwIiwgMSwgbnVs
bCwgbnVsbCknLCAnMDA6MDAnKTsKLXNob3VsZEJlRXF1YWxUb1N0cmluZygnZ2V0VXNlckFnZW50
U2hhZG93VGV4dENvbnRlbnQoaW5wdXQpJywgJzI0OjAwJyk7Ci1zaG91bGRCZUVxdWFsVG9TdHJp
bmcoJ3N0ZXBEb3duKCIxMjowMCIsIDEsIG51bGwsIG51bGwpJywgJzExOjAwJyk7Ci1zaG91bGRC
ZUVxdWFsVG9TdHJpbmcoJ2dldFVzZXJBZ2VudFNoYWRvd1RleHRDb250ZW50KGlucHV0KScsICcx
MTowMCcpOwotc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCd0ZXN0KCIwNjowMCIsIDcyMDAsIG51bGws
IG51bGwsIFsiZGVsZXRlIiwgInVwQXJyb3ciXSknLCAnMDI6MDAnKTsKLXNob3VsZEJlRXF1YWxU
b1N0cmluZygndGVzdCgiMDY6MDAiLCA3MjAwLCBudWxsLCBudWxsLCBbImRlbGV0ZSIsICJkb3du
QXJyb3ciXSknLCAnMDA6MDAnKTsKLXNob3VsZEJlRXF1YWxUb1N0cmluZygndGVzdCgiMDY6MDAi
LCA3MjAwLCAiMDE6MDAiLCBudWxsLCBbImRlbGV0ZSIsICJ1cEFycm93Il0pJywgJzAxOjAwJyk7
Ci1zaG91bGRCZUVxdWFsVG9TdHJpbmcoJ3Rlc3QoIjA2OjAwIiwgNzIwMCwgIjAxOjAwIiwgbnVs
bCwgWyJkZWxldGUiLCAiZG93bkFycm93Il0pJywgJzIzOjAwJyk7Ci1zaG91bGRCZUVxdWFsVG9T
dHJpbmcoJ3N0ZXBVcCgiMTc6MDAiLCAxLCAiMTc6MDAiLCAiMjA6MDAiKScsICcxODowMCcpOwot
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdzdGVwRG93bigiMTc6MDAiLCAxLCAiMTc6MDAiLCAiMjA6
MDAiKScsICcyMDowMCcpOwotc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdzdGVwVXAoIjE3OjAwIiwg
MSwgIjE1OjAwIiwgIjE3OjAwIiknLCAnMTU6MDAnKTsKLXNob3VsZEJlRXF1YWxUb1N0cmluZygn
c3RlcERvd24oIjE3OjAwIiwgMSwgIjE1OjAwIiwgIjE3OjAwIiknLCAnMTY6MDAnKTsKLXNob3Vs
ZEJlRXF1YWxUb1N0cmluZygnc3RlcFVwKCIxNTowMCIsIDEsICIxNzowMCIsICIyMDowMCIpJywg
JzE3OjAwJyk7Ci1zaG91bGRCZUVxdWFsVG9TdHJpbmcoJ3N0ZXBEb3duKCIxNTowMCIsIDEsICIx
NzowMCIsICIyMDowMCIpJywgJzIwOjAwJyk7Ci1zaG91bGRCZUVxdWFsVG9TdHJpbmcoJ3N0ZXBV
cCgiMTU6MDAiLCAxLCAiMTM6MDAiLCAiMTM6MDAiKScsICcxMzowMCcpOwotc2hvdWxkQmVFcXVh
bFRvU3RyaW5nKCdzdGVwRG93bigiMTU6MDAiLCAxLCAiMTM6MDAiLCAiMTM6MDAiKScsICcxMzow
MCcpOwotc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdzdGVwVXAoIjAwOjAwIiwgMSwgIjAwOjAwIiwg
IjAzOjAwIiknLCAnMDE6MDAnKTsKLXNob3VsZEJlRXF1YWxUb1N0cmluZygnc3RlcERvd24oIjAw
OjAwIiwgMSwgIjAwOjAwIiwgIjAzOjAwIiknLCAnMjM6MDAnKTsKLXNob3VsZEJlRXF1YWxUb1N0
cmluZygnc3RlcFVwKCIwMzowMCIsIDEsICIwMDowMCIsICIwMzowMCIpJywgJzA0OjAwJyk7Ci1z
aG91bGRCZUVxdWFsVG9TdHJpbmcoJ3N0ZXBEb3duKCIwMzowMCIsIDEsICIwMDowMCIsICIwMzow
MCIpJywgJzAyOjAwJyk7Ci1zaG91bGRCZUVxdWFsVG9TdHJpbmcoJ3N0ZXBVcCgiMTI6MDAiLCAx
LCAiMTA6MDAiLCAiMTI6MDAiKScsICcxMDowMCcpOwotc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdz
dGVwRG93bigiMTI6MDAiLCAxLCAiMTA6MDAiLCAiMTI6MDAiKScsICcxMTowMCcpOwotc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCdzdGVwVXAoIjAwOjAwIiwgMSwgIjAwOjAwIiwgIjAzOjAwIiknLCAn
MDE6MDAnKTsKLXNob3VsZEJlRXF1YWxUb1N0cmluZygnc3RlcERvd24oIjAwOjAwIiwgMSwgIjAw
OjAwIiwgIjAzOjAwIiknLCAnMjM6MDAnKTsKLXNob3VsZEJlRXF1YWxUb1N0cmluZygnc3RlcFVw
KCIxNTowMCIsIDEsICIxMDowMCIsICIxNTowMCIpJywgJzEwOjAwJyk7Ci1zaG91bGRCZUVxdWFs
VG9TdHJpbmcoJ3N0ZXBEb3duKCIxMDowMCIsIDEsICIxMDowMCIsICIxNTowMCIpJywgJzE1OjAw
Jyk7Ci1zaG91bGRCZUVxdWFsVG9TdHJpbmcoJ3N0ZXBVcCgiMTc6MDAiLCA3MjAwLCAiMTc6MDAi
LCAiMjA6MDAiKScsICcxOTowMCcpOwotc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdzdGVwRG93bigi
MTc6MDAiLCA3MjAwLCAiMTc6MDAiLCAiMjA6MDAiKScsICcxOTowMCcpOwotc2hvdWxkQmVFcXVh
bFRvU3RyaW5nKCdzdGVwVXAoIjE3OjAwIiwgNzIwMCwgIjE3OjAwIiwgIjE4OjAwIiknLCAnMTc6
MDAnKTsKLXNob3VsZEJlRXF1YWxUb1N0cmluZygnc3RlcERvd24oIjE3OjAwIiwgNzIwMCwgIjE3
OjAwIiwgIjE4OjAwIiknLCAnMTc6MDAnKTsKLQotc2V0RGF0ZVRpbWVGb3JtYXQoJycpOwotZGVi
dWcoJycpOwotZG9jdW1lbnQuYm9keS5yZW1vdmVDaGlsZChpbnB1dCk7Ci08L3NjcmlwdD4KLTxz
Y3JpcHQgc3JjPSIuLi8uLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4K
LTwvYm9keT4KLTwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvdGlt
ZS1tdWx0aXBsZS1maWVsZHMvdGltZS1tdWx0aXBsZS1maWVsZHMtdGFiaW5kZXgtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy90aW1lLW11bHRpcGxlLWZpZWxkcy90aW1lLW11
bHRpcGxlLWZpZWxkcy10YWJpbmRleC1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDA2NWI4Nzk1MWVmMDVlMjE2MWZmMjdkNmE3NTE5YmNkYmVhNjEzN2EuLjAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvZmFz
dC9mb3Jtcy90aW1lLW11bHRpcGxlLWZpZWxkcy90aW1lLW11bHRpcGxlLWZpZWxkcy10YWJpbmRl
eC1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSwxOCArMCwwIEBACi1Gb3J3b3JkOgot
UEFTUyBldmVudFNlbmRlci5rZXlEb3duKHRhYik7IGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQuaWQg
aXMgInRhYmluZGV4MjAtMSIKLVBBU1MgZXZlbnRTZW5kZXIua2V5RG93bih0YWIpOyBkb2N1bWVu
dC5hY3RpdmVFbGVtZW50LmlkIGlzICJ0aW1lLXdpdGgtdGFiaW5kZXgyMCIKLVBBU1Mgc2hhZG93
Um9vdC5hY3RpdmVFbGVtZW50LmdldEF0dHJpYnV0ZSgicHNldWRvIikgaXMgZmlyc3RTdWJGaWVs
ZAotUEFTUyBldmVudFNlbmRlci5rZXlEb3duKHRhYik7IGV2ZW50U2VuZGVyLmtleURvd24odGFi
KTsgc2hhZG93Um9vdC5hY3RpdmVFbGVtZW50LmdldEF0dHJpYnV0ZSgicHNldWRvIikgaXMgbGFz
dFN1YkZpZWxkCi1QQVNTIGV2ZW50U2VuZGVyLmtleURvd24odGFiKTsgZG9jdW1lbnQuYWN0aXZl
RWxlbWVudC5pZCBpcyAidGFiaW5kZXgyMC0zIgotUEFTUyBldmVudFNlbmRlci5rZXlEb3duKHRh
Yik7IGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQuaWQgaXMgInRhYmluZGV4MzAiCi0KLUJhY2t3b3Jk
OgotUEFTUyBldmVudFNlbmRlci5rZXlEb3duKHRhYiwgc2hpZnQpOyBkb2N1bWVudC5hY3RpdmVF
bGVtZW50LmlkIGlzICJ0YWJpbmRleDIwLTMiCi1QQVNTIGV2ZW50U2VuZGVyLmtleURvd24odGFi
LCBzaGlmdCk7IGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQuaWQgaXMgInRpbWUtd2l0aC10YWJpbmRl
eDIwIgotUEFTUyBzaGFkb3dSb290LmFjdGl2ZUVsZW1lbnQuZ2V0QXR0cmlidXRlKCJwc2V1ZG8i
KSBpcyBsYXN0U3ViRmllbGQKLVBBU1MgZXZlbnRTZW5kZXIua2V5RG93bih0YWIsIHNoaWZ0KTsg
ZXZlbnRTZW5kZXIua2V5RG93bih0YWIsIHNoaWZ0KTsgc2hhZG93Um9vdC5hY3RpdmVFbGVtZW50
LmdldEF0dHJpYnV0ZSgicHNldWRvIikgaXMgZmlyc3RTdWJGaWVsZAotUEFTUyBldmVudFNlbmRl
ci5rZXlEb3duKHRhYiwgc2hpZnQpOyBkb2N1bWVudC5hY3RpdmVFbGVtZW50LmlkIGlzICJ0YWJp
bmRleDIwLTEiCi1QQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCi0KLVRFU1QgQ09NUExF
VEUKLSAgICAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvdGltZS1tdWx0aXBs
ZS1maWVsZHMvdGltZS1tdWx0aXBsZS1maWVsZHMtdGFiaW5kZXguaHRtbCBiL0xheW91dFRlc3Rz
L2Zhc3QvZm9ybXMvdGltZS1tdWx0aXBsZS1maWVsZHMvdGltZS1tdWx0aXBsZS1maWVsZHMtdGFi
aW5kZXguaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNzg0N2Y3M2UyZGRhODQw
ZTlkMDExOTg4MWI4MmE2Y2I3M2ExYjFmNy4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3RpbWUtbXVsdGlwbGUtZmll
bGRzL3RpbWUtbXVsdGlwbGUtZmllbGRzLXRhYmluZGV4Lmh0bWwKKysrIC9kZXYvbnVsbApAQCAt
MSw0NSArMCwwIEBACi08IURPQ1RZUEUgaHRtbD4KLTxodG1sPgotPGJvZHk+Ci08c2NyaXB0IHNy
Yz0iLi4vLi4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQg
c3JjPSIuLi9yZXNvdXJjZXMvY29tbW9uLmpzIj48L3NjcmlwdD4KLQotPGlucHV0IGlkPSJ0YWJp
bmRleDMwIiB0YWJpbmRleD0iMzAiPgotPGlucHV0IGlkPSJ0YWJpbmRleDIwLTEiIHRhYmluZGV4
PSIyMCI+Ci08aW5wdXQgaWQ9InRpbWUtd2l0aC10YWJpbmRleDIwIiB0YWJpbmRleD0iMjAiIHR5
cGU9InRpbWUiPgotPGlucHV0IGlkPSJ0YWJpbmRleDIwLTMiIHRhYmluZGV4PSIyMCI+Ci08aW5w
dXQgaWQ9InRhYmluZGV4MTAiIHRhYmluZGV4PSIxMCI+Ci0KLTxzY3JpcHQ+Ci1pZiAoIXdpbmRv
dy5ldmVudFNlbmRlciB8fCAhd2luZG93LmludGVybmFscykKLSAgICBkZWJ1ZygnVGhpcyByZXF1
aXJlcyBEUlQvV1JULicpOwotCi12YXIgZmlyc3RTdWJGaWVsZCA9ICItd2Via2l0LWRhdGV0aW1l
LWVkaXQtaG91ci1maWVsZCI7Ci12YXIgbGFzdFN1YkZpZWxkID0gIi13ZWJraXQtZGF0ZXRpbWUt
ZWRpdC1hbXBtLWZpZWxkIjsKLXZhciB0YWIgPSAnXHQnOwotdmFyIHNoaWZ0ID0gWydzaGlmdEtl
eSddOwotCi0kKCd0YWJpbmRleDEwJykuZm9jdXMoKTsKLXZhciBzaGFkb3dSb290ID0gaW50ZXJu
YWxzLnlvdW5nZXN0U2hhZG93Um9vdCgkKCd0aW1lLXdpdGgtdGFiaW5kZXgyMCcpKTsKLQotZGVi
dWcoJ0ZvcndvcmQ6Jyk7Ci1zaG91bGRCZUVxdWFsVG9TdHJpbmcoJ2V2ZW50U2VuZGVyLmtleURv
d24odGFiKTsgZG9jdW1lbnQuYWN0aXZlRWxlbWVudC5pZCcsICd0YWJpbmRleDIwLTEnKTsKLXNo
b3VsZEJlRXF1YWxUb1N0cmluZygnZXZlbnRTZW5kZXIua2V5RG93bih0YWIpOyBkb2N1bWVudC5h
Y3RpdmVFbGVtZW50LmlkJywgJ3RpbWUtd2l0aC10YWJpbmRleDIwJyk7Ci1zaG91bGRCZSgnc2hh
ZG93Um9vdC5hY3RpdmVFbGVtZW50LmdldEF0dHJpYnV0ZSgicHNldWRvIiknLCAnZmlyc3RTdWJG
aWVsZCcpOwotc2hvdWxkQmUoJ2V2ZW50U2VuZGVyLmtleURvd24odGFiKTsgZXZlbnRTZW5kZXIu
a2V5RG93bih0YWIpOyBzaGFkb3dSb290LmFjdGl2ZUVsZW1lbnQuZ2V0QXR0cmlidXRlKCJwc2V1
ZG8iKScsICdsYXN0U3ViRmllbGQnKTsKLXNob3VsZEJlRXF1YWxUb1N0cmluZygnZXZlbnRTZW5k
ZXIua2V5RG93bih0YWIpOyBkb2N1bWVudC5hY3RpdmVFbGVtZW50LmlkJywgJ3RhYmluZGV4MjAt
MycpOwotc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdldmVudFNlbmRlci5rZXlEb3duKHRhYik7IGRv
Y3VtZW50LmFjdGl2ZUVsZW1lbnQuaWQnLCAndGFiaW5kZXgzMCcpOwotCi1kZWJ1ZygnJyk7Ci1k
ZWJ1ZygnQmFja3dvcmQ6Jyk7Ci1zaG91bGRCZUVxdWFsVG9TdHJpbmcoJ2V2ZW50U2VuZGVyLmtl
eURvd24odGFiLCBzaGlmdCk7IGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQuaWQnLCAndGFiaW5kZXgy
MC0zJyk7Ci1zaG91bGRCZUVxdWFsVG9TdHJpbmcoJ2V2ZW50U2VuZGVyLmtleURvd24odGFiLCBz
aGlmdCk7IGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQuaWQnLCAndGltZS13aXRoLXRhYmluZGV4MjAn
KTsKLXNob3VsZEJlKCdzaGFkb3dSb290LmFjdGl2ZUVsZW1lbnQuZ2V0QXR0cmlidXRlKCJwc2V1
ZG8iKScsICdsYXN0U3ViRmllbGQnKTsKLXNob3VsZEJlKCdldmVudFNlbmRlci5rZXlEb3duKHRh
Yiwgc2hpZnQpOyBldmVudFNlbmRlci5rZXlEb3duKHRhYiwgc2hpZnQpOyBzaGFkb3dSb290LmFj
dGl2ZUVsZW1lbnQuZ2V0QXR0cmlidXRlKCJwc2V1ZG8iKScsICdmaXJzdFN1YkZpZWxkJyk7Ci1z
aG91bGRCZUVxdWFsVG9TdHJpbmcoJ2V2ZW50U2VuZGVyLmtleURvd24odGFiLCBzaGlmdCk7IGRv
Y3VtZW50LmFjdGl2ZUVsZW1lbnQuaWQnLCAndGFiaW5kZXgyMC0xJyk7Ci0KLQotPC9zY3JpcHQ+
Ci08c2NyaXB0IHNyYz0iLi4vLi4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3Jp
cHQ+Ci08L2JvZHk+Ci08L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1z
L3RpbWUtbXVsdGlwbGUtZmllbGRzL3RpbWUtbXVsdGlwbGUtZmllbGRzLXZhbGlkaXR5LWJhZGlu
cHV0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvdGltZS1tdWx0aXBsZS1m
aWVsZHMvdGltZS1tdWx0aXBsZS1maWVsZHMtdmFsaWRpdHktYmFkaW5wdXQtZXhwZWN0ZWQudHh0
CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA0ODBmNTYxZjIyNmM1OWE0NDE3Y2JiZTNl
NjY5MTdlOTgzZDA0N2U2Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvdGltZS1tdWx0aXBsZS1maWVsZHMvdGltZS1t
dWx0aXBsZS1maWVsZHMtdmFsaWRpdHktYmFkaW5wdXQtZXhwZWN0ZWQudHh0CisrKyAvZGV2L251
bGwKQEAgLTEsMTUgKzAsMCBAQAotQSB0aW1lIGlucHV0IGZpZWxkcyB3aXRoIGEgYmFkIHVzZXIg
aW5wdXQgc2hvdWxkIG1ha2UgdmFsaWRpdHkuYmFkSW5wdXQgdHJ1ZSBhbmQgaGF2ZSA6aW52YWxp
ZCBzdHlsZS4KLQotT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBt
ZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgotCi0KLUluaXRpYWwgc3RhdGUu
IFRoZSBlbG1lbnQgaGFzIG5vIHZhbHVlLgotUEFTUyBjb2xvck9mKGlucHV0KSBpcyBub3QgaW52
YWxpZFN0eWxlQ29sb3IKLVBBU1MgaW5wdXQudmFsaWRpdHkuYmFkSW5wdXQgaXMgZmFsc2UKLVNl
dCBhIHZhbHVlIHRvIHRoZSBmaXJzdCBzdWItZmllbGQuIFRoZSBlbGVtZW50IGJlY29tZXMgYmFk
SW5wdXQuCi1QQVNTIGNvbG9yT2YoaW5wdXQpIGlzIGludmFsaWRTdHlsZUNvbG9yCi1QQVNTIGlu
cHV0LnZhbGlkaXR5LmJhZElucHV0IGlzIHRydWUKLVBBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlz
IHRydWUKLQotVEVTVCBDT01QTEVURQotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Zv
cm1zL3RpbWUtbXVsdGlwbGUtZmllbGRzL3RpbWUtbXVsdGlwbGUtZmllbGRzLXZhbGlkaXR5LWJh
ZGlucHV0Lmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3RpbWUtbXVsdGlwbGUtZmllbGRz
L3RpbWUtbXVsdGlwbGUtZmllbGRzLXZhbGlkaXR5LWJhZGlucHV0Lmh0bWwKZGVsZXRlZCBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDgyODBmMGU4MTM3YmI3NGQ2MGUyMDMyNmNlMjJiMTBjOTQ2YWIy
NDIuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0
VGVzdHMvZmFzdC9mb3Jtcy90aW1lLW11bHRpcGxlLWZpZWxkcy90aW1lLW11bHRpcGxlLWZpZWxk
cy12YWxpZGl0eS1iYWRpbnB1dC5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsMTQgKzAsMCBAQAot
PCFET0NUWVBFIGh0bWw+Ci08c3R5bGU+Ci06aW52YWxpZCB7Ci0gICAgYmFja2dyb3VuZC1jb2xv
cjogI2ZmMDAwMDsKLX0KLTwvc3R5bGU+Ci08Ym9keT4KLTxzY3JpcHQgc3JjPSIuLi8uLi9qcy9y
ZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii4uL3Jlc291
cmNlcy9tdWx0aXBsZS1maWVsZHMtdmFsaWRpdHktYmFkaW5wdXQuanMiPjwvc2NyaXB0PgotPHNj
cmlwdD4KLXRlc3RCYWRJbnB1dCgndGltZScpOwotPC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iLi4v
Li4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Ci08L2JvZHk+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3RpbWUtbXVsdGlwbGUtZmllbGRzL3RpbWUt
bXVsdGlwbGUtZmllbGRzLXZhbHVlLXNldC1lbXB0eS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9mYXN0L2Zvcm1zL3RpbWUtbXVsdGlwbGUtZmllbGRzL3RpbWUtbXVsdGlwbGUtZmllbGRzLXZh
bHVlLXNldC1lbXB0eS1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IGE3YmIyYmJkNDNmNjBlNjliMjRjZTA2NzZjYTk5NmU4YmMzNjcxN2IuLjAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy90
aW1lLW11bHRpcGxlLWZpZWxkcy90aW1lLW11bHRpcGxlLWZpZWxkcy12YWx1ZS1zZXQtZW1wdHkt
ZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEsMTkgKzAsMCBAQAotQ2hlY2sgaWYgaW5w
dXQudmFsdWU9IiIgY2xlYXJzIGFuIGlucHV0IHdpdGggcGFydGlhbGx5LXNwZWNpZmllZCB2YWx1
ZS4KLQotT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdl
cywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgotCi0KLUVtcHR5IHRleHQ6IC0tOi0tIC0t
Ci1QQVNTIGV2ZW50U2VuZGVyLmtleURvd24oInVwQXJyb3ciKTsgZ2V0VXNlckFnZW50U2hhZG93
VGV4dENvbnRlbnQoaW5wdXQpIGlzIG5vdCBlbXB0eVRleHQKLVBBU1MgaW5wdXQudmFsdWUgPSAi
IjsgZ2V0VXNlckFnZW50U2hhZG93VGV4dENvbnRlbnQoaW5wdXQpIGlzIGVtcHR5VGV4dAotCi1J
bml0aWFsIHRleHQ6IC0tOi0tOjQ1IC0tCi1FbXB0eSB2YWx1ZSBzaG91bGQgbm90IGNsZWFyIHJl
YWQtb25seSBmaWVsZHMuCi1QQVNTIGlucHV0LnZhbHVlID0gIiI7IGdldFVzZXJBZ2VudFNoYWRv
d1RleHRDb250ZW50KGlucHV0KSBpcyAiLS06LS06NDUgLS0iCi1FbXB0eSB2YWx1ZSBzaG91bGQg
Y2xlYXIgb25seSBlZGl0YWJsZSBmaWVsZHMuCi1QQVNTIGV2ZW50U2VuZGVyLmtleURvd24oInVw
QXJyb3ciKTsgZ2V0VXNlckFnZW50U2hhZG93VGV4dENvbnRlbnQoaW5wdXQpIGlzICIwMTotLTo0
NSAtLSIKLVBBU1MgaW5wdXQudmFsdWUgPSAiIjsgZ2V0VXNlckFnZW50U2hhZG93VGV4dENvbnRl
bnQoaW5wdXQpIGlzICItLTotLTo0NSAtLSIKLVBBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRy
dWUKLQotVEVTVCBDT01QTEVURQotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1z
L3RpbWUtbXVsdGlwbGUtZmllbGRzL3RpbWUtbXVsdGlwbGUtZmllbGRzLXZhbHVlLXNldC1lbXB0
eS5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy90aW1lLW11bHRpcGxlLWZpZWxkcy90aW1l
LW11bHRpcGxlLWZpZWxkcy12YWx1ZS1zZXQtZW1wdHkuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggYWYzYTMxYmYxYzhmNjUyMTU1MmZkNDhlZWE2ODcxN2ZjNDVlMDljZi4uMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9m
YXN0L2Zvcm1zL3RpbWUtbXVsdGlwbGUtZmllbGRzL3RpbWUtbXVsdGlwbGUtZmllbGRzLXZhbHVl
LXNldC1lbXB0eS5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsMjcgKzAsMCBAQAotPCFET0NUWVBF
IGh0bWw+Ci08Ym9keT4KLTxzY3JpcHQgc3JjPSIuLi8uLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1w
cmUuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy9jb21tb24uanMiPjwv
c2NyaXB0PgotPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy9tdWx0aXBsZS1maWVsZHMtdmFsdWUt
c2V0LWVtcHR5LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQ+Ci10ZXN0U2V0dGluZ0VtcHR5U3RyaW5n
Q2xlYXJzU3ViRmllbGRzKCd0aW1lJyk7Ci0KLWRlYnVnKCcnKTsKLWlucHV0ID0gZG9jdW1lbnQu
Y3JlYXRlRWxlbWVudCgnaW5wdXQnKTsKLWlucHV0LnR5cGUgPSAndGltZSc7Ci1pbnB1dC5taW4g
PSAnMTE6MjM6NDUnOwotaW5wdXQuc3RlcCA9ICc2MCc7Ci0vLyBCZWNhdXNlIHRoZSBzdGVwIHZh
bHVlIGlzIDYwIHNlY29uZHMsIHRoZSBzZWNvbmRzIGZpZWxkcyBpcyByZWFkLW9ubHkuCi1kb2N1
bWVudC5ib2R5LmFwcGVuZENoaWxkKGlucHV0KTsKLWRlYnVnKCdJbml0aWFsIHRleHQ6ICcgKyBn
ZXRVc2VyQWdlbnRTaGFkb3dUZXh0Q29udGVudChpbnB1dCkpOwotZGVidWcoJ0VtcHR5IHZhbHVl
IHNob3VsZCBub3QgY2xlYXIgcmVhZC1vbmx5IGZpZWxkcy4nKTsKLXNob3VsZEJlRXF1YWxUb1N0
cmluZygnaW5wdXQudmFsdWUgPSAiIjsgZ2V0VXNlckFnZW50U2hhZG93VGV4dENvbnRlbnQoaW5w
dXQpJywgJy0tOi0tOjQ1IC0tJyk7Ci0KLWRlYnVnKCdFbXB0eSB2YWx1ZSBzaG91bGQgY2xlYXIg
b25seSBlZGl0YWJsZSBmaWVsZHMuJyk7Ci1pbnB1dC5mb2N1cygpOwotc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCdldmVudFNlbmRlci5rZXlEb3duKCJ1cEFycm93Iik7IGdldFVzZXJBZ2VudFNoYWRv
d1RleHRDb250ZW50KGlucHV0KScsICcwMTotLTo0NSAtLScpOwotc2hvdWxkQmVFcXVhbFRvU3Ry
aW5nKCdpbnB1dC52YWx1ZSA9ICIiOyBnZXRVc2VyQWdlbnRTaGFkb3dUZXh0Q29udGVudChpbnB1
dCknLCAnLS06LS06NDUgLS0nKTsKLQotPC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vanMv
cmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Ci08L2JvZHk+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3RpbWUtbXVsdGlwbGUtZmllbGRzL3RpbWUtbXVsdGlw
bGUtZmllbGRzLXdoZWVsLWV2ZW50LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvZm9y
bXMvdGltZS1tdWx0aXBsZS1maWVsZHMvdGltZS1tdWx0aXBsZS1maWVsZHMtd2hlZWwtZXZlbnQt
ZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBlYjgwNTdhMzY3Njhj
N2VjNTM5MDFhMmM1MjA1MWZjY2FjNWE0MDgwLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvdGltZS1tdWx0aXBsZS1m
aWVsZHMvdGltZS1tdWx0aXBsZS1maWVsZHMtd2hlZWwtZXZlbnQtZXhwZWN0ZWQudHh0CisrKyAv
ZGV2L251bGwKQEAgLTEsMjMgKzAsMCBAQAotVGVzdCBmb3Igd2hlZWwgb3BlcmF0aW9ucyBmb3Ig
PGlucHV0IHR5cGU9dGltZT4KLQotT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9m
ICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgotCi0KLUluaXRp
YWwgdmFsdWUgaXMgMDc6MDAuIFdlJ2xsIHdoZWVsIHVwIGJ5IDE6Ci1QQVNTIGlucHV0LnZhbHVl
IGlzICIwODowMCIKLVdoZWVsIHVwIGJ5IDEwMDoKLVBBU1MgaW5wdXQudmFsdWUgaXMgIjA5OjAw
IgotV2hlZWwgZG93biBieSAxOgotUEFTUyBpbnB1dC52YWx1ZSBpcyAiMDg6MDAiCi1XaGVlbCBk
b3duIGJ5IDI1NjoKLVBBU1MgaW5wdXQudmFsdWUgaXMgIjA3OjAwIgotRGlzYWJsZWQgaW5wdXQg
ZWxlbWVudDoKLVBBU1MgaW5wdXQudmFsdWUgaXMgIjA3OjAwIgotUmVhZC1vbmx5IGlucHV0IGVs
ZW1lbnQ6Ci1QQVNTIGlucHV0LnZhbHVlIGlzICIwNzowMCIKLU5vIGZvY3VzOgotUEFTUyBpbnB1
dC52YWx1ZSBpcyAiMDc6MDAiCi1QQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCi0KLVRF
U1QgQ09NUExFVEUKLQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy90aW1lLW11
bHRpcGxlLWZpZWxkcy90aW1lLW11bHRpcGxlLWZpZWxkcy13aGVlbC1ldmVudC5odG1sIGIvTGF5
b3V0VGVzdHMvZmFzdC9mb3Jtcy90aW1lLW11bHRpcGxlLWZpZWxkcy90aW1lLW11bHRpcGxlLWZp
ZWxkcy13aGVlbC1ldmVudC5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwZDE5
NDU2NjE1MGIzZWMzNDY5MThlM2U3ZmZmNDgwY2RjYjZkZmMyLi4wMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvdGltZS1t
dWx0aXBsZS1maWVsZHMvdGltZS1tdWx0aXBsZS1maWVsZHMtd2hlZWwtZXZlbnQuaHRtbAorKysg
L2Rldi9udWxsCkBAIC0xLDE3ICswLDAgQEAKLTwhRE9DVFlQRSBodG1sPgotPGh0bWw+Ci08aGVh
ZD4KLTxzY3JpcHQgc3JjPSIuLi8uLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5q
cyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL2NvbW1vbi13aGVlbC1ldmVu
dC5qcyI+PC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keT4KLTxzY3JpcHQ+Ci10ZXN0V2hlZWxFdmVu
dCh7Ci0gICAgJ2lucHV0VHlwZScgOiAndGltZScsCi0gICAgJ2luaXRpYWxWYWx1ZScgOiAnMDc6
MDAnLAotICAgICdzdGVwVXBWYWx1ZTEnIDogJzA4OjAwJywKLSAgICAnc3RlcFVwVmFsdWUyJyA6
ICcwOTowMCcgfSk7Ci08L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIuLi8uLi8uLi9mYXN0L2pzL3Jl
c291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgotPC9ib2R5PgotPC9odG1sPgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy93ZWVrLW11bHRpcGxlLWZpZWxkcy9yZXNv
dXJjZXMvcHJlc2VydmUtdmFsdWUtYWZ0ZXItaGlzdG9yeS1iYWNrLWZyYW1lLmh0bWwgYi9MYXlv
dXRUZXN0cy9mYXN0L2Zvcm1zL3dlZWstbXVsdGlwbGUtZmllbGRzL3Jlc291cmNlcy9wcmVzZXJ2
ZS12YWx1ZS1hZnRlci1oaXN0b3J5LWJhY2stZnJhbWUuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggODQyZDhhZjhhM2Q3MTA2NTJkNTQzNjUxNjM2OWI4ZjkzNTBhNGVlOC4uMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9m
YXN0L2Zvcm1zL3dlZWstbXVsdGlwbGUtZmllbGRzL3Jlc291cmNlcy9wcmVzZXJ2ZS12YWx1ZS1h
ZnRlci1oaXN0b3J5LWJhY2stZnJhbWUuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDk3ICswLDAg
QEAKLTwhRE9DVFlQRSBodG1sPgotPGJvZHk+Ci08aW5wdXQgdHlwZT0id2VlayIgaWQ9InRlc3Qx
Ij4KLTxpbnB1dCB0eXBlPSJ3ZWVrIiBpZD0idGVzdDIiIG1pbj0iMTk5OC1XMDEiIG1heD0iMTk5
OS1XMTIiPgotPHNjcmlwdD4KLWZ1bmN0aW9uIGZpZWxkc1RleHQoaW5wdXQpIHsKLSAgICByZXR1
cm4gd2luZG93LmludGVybmFscy5vbGRlc3RTaGFkb3dSb290KGlucHV0KS50ZXh0Q29udGVudDsK
LX0KLQotZnVuY3Rpb24gYmFjayhuZXdTdGF0ZSkgewotICAgIHBhcmVudC5zdGF0ZSA9IG5ld1N0
YXRlOwotICAgIGhpc3RvcnkuYmFjaygpOwotfQotCi1mdW5jdGlvbiBmb3J3YXJkKG5ld1N0YXRl
KSB7Ci0gICAgcGFyZW50LnN0YXRlID0gbmV3U3RhdGU7Ci0gICAgaGlzdG9yeS5mb3J3YXJkKCk7
Ci19Ci0KLWZ1bmN0aW9uIGtleURvd24oa2V5KSB7Ci0gICAgZXZlbnRTZW5kZXIua2V5RG93bihr
ZXkpOwotfQotCi12YXIgdGVzdElucHV0MSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCd0ZXN0
MScpOwotdmFyIHRlc3RJbnB1dDIgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgndGVzdDInKTsK
LXZhciBwYWdlTmFtZSA9IGxvY2F0aW9uLnNlYXJjaCB8fCAnP3BhZ2UxJzsKLQotd2luZG93Lm9u
bG9hZCA9IGZ1bmN0aW9uKCkgewotICAgIHN3aXRjaCAocGFnZU5hbWUpIHsKLSAgICBjYXNlICc/
cGFnZTEnOgotICAgICAgICBzd2l0Y2ggKHBhcmVudC5zdGF0ZSkgewotICAgICAgICBjYXNlICdk
aXJlY3QnOiB7Ci0gICAgICAgICAgICB0ZXN0SW5wdXQxLnZhbHVlID0gJzEyMDEyLVcxMCc7Ci0g
ICAgICAgICAgICB0ZXN0SW5wdXQyLmZvY3VzKCk7Ci0gICAgICAgICAgICBrZXlEb3duKCd1cEFy
cm93Jyk7IC8vIC0+IFdlZWsgWzAxXSwgeXl5eQotICAgICAgICAgICAgdmFyIG5leHRVcmkgPSBs
b2NhdGlvbi50b1N0cmluZygpLnJlcGxhY2UoJz9wYWdlMScsICc/cGFnZTInKTsKLSAgICAgICAg
ICAgIHNldFRpbWVvdXQoZnVuY3Rpb24oKSB7IHdpbmRvdy5sb2NhdGlvbi5ocmVmID0gbmV4dFVy
aTsgfSwgMCk7Ci0gICAgICAgICAgICBicmVhazsKLSAgICAgICAgfQotICAgICAgICBjYXNlICdi
YWNrVG8xJzoKLSAgICAgICAgICAgIHBhcmVudC50ZXN0Q2FzZXMucHVzaCgKLSAgICAgICAgICAg
ICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICdkZXNjcmlwdGlvbicgOiAnV2VudCBiYWNrIHRv
IGEgcGFnZS4gQ2hlY2tpbmcgYSBmb3JtIGNvbnRyb2wgd2hpY2ggaGFkIGEgZnVsbCB2YWx1ZScs
Ci0gICAgICAgICAgICAgICAgICAgICdhY3R1YWwnIDogdGVzdElucHV0MS52YWx1ZSwKLSAgICAg
ICAgICAgICAgICAgICAgJ2V4cGVjdGVkJyA6ICcxMjAxMi1XMTAnIH0sCi0gICAgICAgICAgICAg
ICAgewotICAgICAgICAgICAgICAgICAgICAnZGVzY3JpcHRpb24nIDogJ1dlbnQgYmFjayB0byBh
IHBhZ2UuIENoZWNraW5nIGEgZm9ybSBjb250cm9sIHdoaWNoIGhhZCBhIHBhcnRpYWwgdmFsdWUn
LAotICAgICAgICAgICAgICAgICAgICAnYWN0dWFsJyA6IGZpZWxkc1RleHQodGVzdElucHV0Miks
Ci0gICAgICAgICAgICAgICAgICAgICdleHBlY3RlZCcgOiAnV2VlayAwMSwgLS0tLScKLSAgICAg
ICAgICAgICAgICB9KTsKLSAgICAgICAgICAgIGZvcndhcmQoJ2ZvcndhcmRUbzInKTsKLSAgICAg
ICAgICAgIGJyZWFrOwotICAgICAgICBjYXNlICdiYWNrVG8xU2Vjb25kJzoKLSAgICAgICAgICAg
IHBhcmVudC5maW5pc2hUZXN0KCk7Ci0gICAgICAgICAgICBicmVhazsKLSAgICAgICAgZGVmYXVs
dDoKLSAgICAgICAgICAgIHBhcmVudC5mYWlsZWQoJ1VuZXhwZWN0ZWQgc3RhdGUoJyArIHBhcmVu
dC5zdGF0ZSArICcpJyk7Ci0gICAgICAgICAgICBicmVhazsKLSAgICAgICAgfQotICAgICAgICBi
cmVhazsKLQotICAgIGNhc2UgJz9wYWdlMic6Ci0gICAgICAgIHN3aXRjaCAocGFyZW50LnN0YXRl
KSB7Ci0gICAgICAgIGNhc2UgJ2RpcmVjdCc6Ci0gICAgICAgICAgICB0ZXN0SW5wdXQxLnZhbHVl
ID0gJzAwMDEtVzExJzsKLSAgICAgICAgICAgIHRlc3RJbnB1dDIuZm9jdXMoKTsKLSAgICAgICAg
ICAgIGtleURvd24oJ1x0Jyk7IC8vICAgICAgICAtPiBXZWVrIHd3LCBbeXl5eV0KLSAgICAgICAg
ICAgIGtleURvd24oJ2Rvd25BcnJvdycpOyAvLyAtPiBXZWVrIHd3LCBbMTk5OV0KLSAgICAgICAg
ICAgIGJhY2soJ2JhY2tUbzEnKTsKLSAgICAgICAgICAgIGJyZWFrOwotICAgICAgICBjYXNlICdm
b3J3YXJkVG8yJzoKLSAgICAgICAgICAgIHBhcmVudC50ZXN0Q2FzZXMucHVzaCgKLSAgICAgICAg
ICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICdkZXNjcmlwdGlvbicgOiAnV2VudCBmb3J3
YXJkIHRvIGEgcGFnZS4gQ2hlY2tpbmcgYSBmb3JtIGNvbnRyb2wgd2hpY2ggaGFkIGEgZnVsbCB2
YWx1ZScsCi0gICAgICAgICAgICAgICAgICAgICdhY3R1YWwnIDogdGVzdElucHV0MS52YWx1ZSwK
LSAgICAgICAgICAgICAgICAgICAgJ2V4cGVjdGVkJyA6ICcwMDAxLVcxMScKLSAgICAgICAgICAg
ICAgICB9LAotICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAgJ2Rlc2NyaXB0
aW9uJyA6ICdXZW50IGZvcndhcmQgdG8gYSBwYWdlLiBDaGVja2luZyBhIGZvcm0gY29udHJvbCB3
aGljaCBoYWQgYSBwYXJ0aWFsIHZhbHVlJywKLSAgICAgICAgICAgICAgICAgICAgJ2FjdHVhbCcg
OiBmaWVsZHNUZXh0KHRlc3RJbnB1dDIpLAotICAgICAgICAgICAgICAgICAgICAnZXhwZWN0ZWQn
IDogJ1dlZWsgLS0sIDE5OTknCi0gICAgICAgICAgICAgICAgfSk7Ci0gICAgICAgICAgICBiYWNr
KCdiYWNrVG8xU2Vjb25kJyk7Ci0gICAgICAgICAgICBicmVhazsKLSAgICAgICAgZGVmYXVsdDoK
LSAgICAgICAgICAgIHBhcmVudC5mYWlsZWQoJ1VuZXhwZWN0ZWQgc3RhdGUoJyArIHBhcmVudC5z
dGF0ZSArICcpJyk7Ci0gICAgICAgICAgICBicmVhazsKLSAgICAgICAgfQotICAgICAgICBicmVh
azsKLQotICAgIGRlZmF1bHQ6Ci0gICAgICAgIHBhcmVudC5mYWlsZWQoJ1VuZXhwZWN0ZWQgcGFn
ZSgnICsgcGFnZU5hbWUgKyAnKScpOwotICAgICAgICBicmVhazsKLSAgICB9Ci19OwotPC9zY3Jp
cHQ+Ci08L2JvZHk+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3dlZWstbXVs
dGlwbGUtZmllbGRzL3dlZWstbXVsdGlwbGUtZmllbGRzLWF4LWFyaWEtYXR0cmlidXRlcy1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3dlZWstbXVsdGlwbGUtZmllbGRzL3dl
ZWstbXVsdGlwbGUtZmllbGRzLWF4LWFyaWEtYXR0cmlidXRlcy1leHBlY3RlZC50eHQKZGVsZXRl
ZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDlkMTkyYzNhNWQ5ODdiNDJmODkxNGYwZTI4YTQxYTAw
NDMwYjgyZjUuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEv
TGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy93ZWVrLW11bHRpcGxlLWZpZWxkcy93ZWVrLW11bHRpcGxl
LWZpZWxkcy1heC1hcmlhLWF0dHJpYnV0ZXMtZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAg
LTEsMTYgKzAsMCBAQAotVGhpcyB0ZXN0IGNoZWNrcyBhcmlhLWhlbHAgYXR0cmlidXRlIG9mIGZp
ZWxkcyBpbiBtdWx0aXBsZSBmaWVsZHMgd2VlayBpbnB1dCBVSS4KLQotT24gc3VjY2VzcywgeW91
IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1Qg
Q09NUExFVEUiLgotCi0KLU5vbi1lbXB0eSB2YWx1ZQotUEFTUyBmb2N1c2VkRmllbGRWYWx1ZURl
c2NyaXB0aW9uKCkgaXMgIkFYSGVscDogV2VlaywgQVhWYWx1ZURlc2NyaXB0aW9uOiAxMCwgMSwg
NTMiCi1QQVNTIGZvY3VzZWRGaWVsZFZhbHVlRGVzY3JpcHRpb24oKSBpcyAiQVhIZWxwOiBZZWFy
LCBBWFZhbHVlRGVzY3JpcHRpb246IDIwMTIsIDEsIDI3NTc2MCIKLUVtcHR5IHZhbHVlCi1QQVNT
IGZvY3VzZWRGaWVsZFZhbHVlRGVzY3JpcHRpb24oKSBpcyAiQVhIZWxwOiBZZWFyLCBBWFZhbHVl
RGVzY3JpcHRpb246IGJsYW5rLCAxLCAyNzU3NjAiCi1QQVNTIGZvY3VzZWRGaWVsZFZhbHVlRGVz
Y3JpcHRpb24oKSBpcyAiQVhIZWxwOiBXZWVrLCBBWFZhbHVlRGVzY3JpcHRpb246IGJsYW5rLCAx
LCA1MyIKLQotUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQotCi1URVNUIENPTVBMRVRF
Ci0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvd2Vlay1tdWx0aXBsZS1maWVs
ZHMvd2Vlay1tdWx0aXBsZS1maWVsZHMtYXgtYXJpYS1hdHRyaWJ1dGVzLmh0bWwgYi9MYXlvdXRU
ZXN0cy9mYXN0L2Zvcm1zL3dlZWstbXVsdGlwbGUtZmllbGRzL3dlZWstbXVsdGlwbGUtZmllbGRz
LWF4LWFyaWEtYXR0cmlidXRlcy5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBi
MjUwNjY1YWRkYWFjOWZiMDI3YWY0ZGFkNTAxNmVkMjdkMDY5MGQ1Li4wMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvd2Vl
ay1tdWx0aXBsZS1maWVsZHMvd2Vlay1tdWx0aXBsZS1maWVsZHMtYXgtYXJpYS1hdHRyaWJ1dGVz
Lmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSw0MSArMCwwIEBACi08IURPQ1RZUEUgaHRtbD4KLTxo
dG1sPgotPGhlYWQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMt
dGVzdC1wcmUuanMiPjwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHk+Ci08aW5wdXQgaWQ9InRlc3Qi
IHR5cGU9IndlZWsiIHZhbHVlPSIyMDEyLVcxMCI+Ci08c2NyaXB0PgotZGVzY3JpcHRpb24oJ1Ro
aXMgdGVzdCBjaGVja3MgYXJpYS1oZWxwIGF0dHJpYnV0ZSBvZiBmaWVsZHMgaW4gbXVsdGlwbGUg
ZmllbGRzIHdlZWsgaW5wdXQgVUkuJyk7Ci0KLWZ1bmN0aW9uIGZvY3VzZWRGaWVsZFZhbHVlRGVz
Y3JpcHRpb24oKQotewotICAgIHZhciBlbGVtZW50ID0gYWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIu
Zm9jdXNlZEVsZW1lbnQ7Ci0gICAgcmV0dXJuIGVsZW1lbnQuaGVscFRleHQgKyAnLCAnICsgIGVs
ZW1lbnQudmFsdWVEZXNjcmlwdGlvbiArICcsICcgKyBlbGVtZW50Lm1pblZhbHVlICsgJywgJyAr
IGVsZW1lbnQubWF4VmFsdWU7Ci19Ci0KLXZhciB0ZXN0SW5wdXQgPSBkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgndGVzdCcpOwotCi1pZiAoIXdpbmRvdy5hY2Nlc3NpYmlsaXR5Q29udHJvbGxlciB8
fCAhd2luZG93LmV2ZW50U2VuZGVyKQotICAgIGRlYnVnKCdQbGVhc2UgcnVuIGluc2lkZSBEUlQg
b3IgV1RSLicpOwotZWxzZSB7Ci0gICAgZGVidWcoJ05vbi1lbXB0eSB2YWx1ZScpOwotICAgIHRl
c3RJbnB1dC5mb2N1cygpOwotICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygnZm9jdXNlZEZpZWxk
VmFsdWVEZXNjcmlwdGlvbigpJywgJ0FYSGVscDogV2VlaywgQVhWYWx1ZURlc2NyaXB0aW9uOiAx
MCwgMSwgNTMnKTsKLSAgICBldmVudFNlbmRlci5rZXlEb3duKCdcdCcpOwotICAgIHNob3VsZEJl
RXF1YWxUb1N0cmluZygnZm9jdXNlZEZpZWxkVmFsdWVEZXNjcmlwdGlvbigpJywgJ0FYSGVscDog
WWVhciwgQVhWYWx1ZURlc2NyaXB0aW9uOiAyMDEyLCAxLCAyNzU3NjAnKTsKLQotICAgIGRlYnVn
KCdFbXB0eSB2YWx1ZScpOwotICAgIGV2ZW50U2VuZGVyLmtleURvd24oJ1xiJyk7Ci0gICAgc2hv
dWxkQmVFcXVhbFRvU3RyaW5nKCdmb2N1c2VkRmllbGRWYWx1ZURlc2NyaXB0aW9uKCknLCAnQVhI
ZWxwOiBZZWFyLCBBWFZhbHVlRGVzY3JpcHRpb246IGJsYW5rLCAxLCAyNzU3NjAnKTsKLSAgICBl
dmVudFNlbmRlci5rZXlEb3duKCdcdCcsIFsnc2hpZnRLZXknXSk7Ci0gICAgZXZlbnRTZW5kZXIu
a2V5RG93bignXGInKTsKLSAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ2ZvY3VzZWRGaWVsZFZh
bHVlRGVzY3JpcHRpb24oKScsICdBWEhlbHA6IFdlZWssIEFYVmFsdWVEZXNjcmlwdGlvbjogYmxh
bmssIDEsIDUzJyk7Ci0KLSAgICBkZWJ1ZygnJyk7Ci0gICAgdGVzdElucHV0LnJlbW92ZSgpOwot
fQotPC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMt
dGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KLTwvYm9keT4KLTwvaHRtbD4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2Zhc3QvZm9ybXMvd2Vlay1tdWx0aXBsZS1maWVsZHMvd2Vlay1tdWx0aXBsZS1m
aWVsZHMtYXgtdmFsdWUtY2hhbmdlZC1ub3RpZmljYXRpb24tZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvZmFzdC9mb3Jtcy93ZWVrLW11bHRpcGxlLWZpZWxkcy93ZWVrLW11bHRpcGxlLWZpZWxk
cy1heC12YWx1ZS1jaGFuZ2VkLW5vdGlmaWNhdGlvbi1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDNiN2E4YTlkOWZkZGZkZTM1MjEwYWQ2MDdkYjU3ZGFlNWQ5ZTFk
MTkuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0
VGVzdHMvZmFzdC9mb3Jtcy93ZWVrLW11bHRpcGxlLWZpZWxkcy93ZWVrLW11bHRpcGxlLWZpZWxk
cy1heC12YWx1ZS1jaGFuZ2VkLW5vdGlmaWNhdGlvbi1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVs
bApAQCAtMSwxNiArMCwwIEBACi1UaGlzIHRlc3QgY2hlY2tzIHZhbHVlIGNoYW5nZWQgYWNjZXNz
aWJpbGl0eSBub3RpZmljYXRpb25zLgotCi1PbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJp
ZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCi0KLQot
Rm9jdXNlZFVJRWxlbWVudENoYW5nZWQgQVhIZWxwOiBXZWVrPUFYVmFsdWVEZXNjcmlwdGlvbjog
MTAKLUZvY3VzZWRVSUVsZW1lbnRDaGFuZ2VkIEFYSGVscDogWWVhcj1BWFZhbHVlRGVzY3JpcHRp
b246IDIwMTIKLVZhbHVlQ2hhbmdlZCBBWEhlbHA6IFllYXI9QVhWYWx1ZURlc2NyaXB0aW9uOiAw
MDA1Ci1WYWx1ZUNoYW5nZWQgQVhIZWxwOiBZZWFyPUFYVmFsdWVEZXNjcmlwdGlvbjogMDAwNQot
VmFsdWVDaGFuZ2VkIEFYSGVscDogWWVhcj1BWFZhbHVlRGVzY3JpcHRpb246IDAwMDUKLVZhbHVl
Q2hhbmdlZCBBWEhlbHA6IFllYXI9QVhWYWx1ZURlc2NyaXB0aW9uOiAwMDA1Ci0KLVBBU1Mgc3Vj
Y2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKLQotVEVTVCBDT01QTEVURQotCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3dlZWstbXVsdGlwbGUtZmllbGRzL3dlZWstbXVsdGlwbGUt
ZmllbGRzLWF4LXZhbHVlLWNoYW5nZWQtbm90aWZpY2F0aW9uLmh0bWwgYi9MYXlvdXRUZXN0cy9m
YXN0L2Zvcm1zL3dlZWstbXVsdGlwbGUtZmllbGRzL3dlZWstbXVsdGlwbGUtZmllbGRzLWF4LXZh
bHVlLWNoYW5nZWQtbm90aWZpY2F0aW9uLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDIwOWM4ODA0YThlZWI2ZWY0YTJlZjk2MGEzN2Q3MjVmOGI5YjY4YzEuLjAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jt
cy93ZWVrLW11bHRpcGxlLWZpZWxkcy93ZWVrLW11bHRpcGxlLWZpZWxkcy1heC12YWx1ZS1jaGFu
Z2VkLW5vdGlmaWNhdGlvbi5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsMzggKzAsMCBAQAotPCFE
T0NUWVBFIGh0bWw+Ci08aHRtbD4KLTxoZWFkPgotPHNjcmlwdCBzcmM9Ii4uLy4uLy4uL2Zhc3Qv
anMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5Pgot
PGlucHV0IGlkPSJ0ZXN0IiB0eXBlPSJ3ZWVrIiB2YWx1ZT0iMjAxMi1XMTAiPgotPHNjcmlwdD4K
LWRlc2NyaXB0aW9uKCdUaGlzIHRlc3QgY2hlY2tzIHZhbHVlIGNoYW5nZWQgYWNjZXNzaWJpbGl0
eSBub3RpZmljYXRpb25zLicpOwotCi12YXIgdGVzdElucHV0ID0gZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoInRlc3QiKTsKLQotaWYgKCF3aW5kb3cuYWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIgfHwg
IXdpbmRvdy5ldmVudFNlbmRlcikKLSAgICBkZWJ1ZygiUGxlYXNlIHJ1biBpbnNpZGUgRFJUIG9y
IFdSVC4iKTsKLWVsc2UgewotICAgIGFjY2Vzc2liaWxpdHlDb250cm9sbGVyLmFkZE5vdGlmaWNh
dGlvbkxpc3RlbmVyKGZ1bmN0aW9uIChlbGVtZW50LCBub3RpZmljYXRpb24pIHsKLSAgICAgICAg
aWYgKG5vdGlmaWNhdGlvbiA9PSAnRm9jdXNlZFVJRWxlbWVudENoYW5nZWQnIHx8IG5vdGlmaWNh
dGlvbiA9PSAnVmFsdWVDaGFuZ2VkJykgewotICAgICAgICAgICAgZGVidWcobm90aWZpY2F0aW9u
ICsgJyAnICsgZWxlbWVudC5oZWxwVGV4dCArICc9JyArIGVsZW1lbnQudmFsdWVEZXNjcmlwdGlv
bik7Ci0gICAgICAgIH0KLSAgICB9KTsKLQotICAgIHRlc3RJbnB1dC5mb2N1cygpOwotICAgIGV2
ZW50U2VuZGVyLmtleURvd24oJ1x0Jyk7Ci0gICAgZXZlbnRTZW5kZXIua2V5RG93bignNCcpOwot
ICAgIGV2ZW50U2VuZGVyLmtleURvd24oJ3VwQXJyb3cnKTsKLQotICAgIHdpbmRvdy5qc1Rlc3RJ
c0FzeW5jID0gdHJ1ZTsKLQotICAgIHdpbmRvdy5zZXRUaW1lb3V0KGZ1bmN0aW9uKCkgewotICAg
ICAgICBkZWJ1ZygnJyk7Ci0gICAgICAgIHRlc3RJbnB1dC5yZW1vdmUoKTsKLSAgICAgICAgZmlu
aXNoSlNUZXN0KCk7Ci0gICAgfSwgMSk7Ci19Ci08L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIuLi8u
Li8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgotPC9ib2R5
PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy93ZWVrLW11bHRp
cGxlLWZpZWxkcy93ZWVrLW11bHRpcGxlLWZpZWxkcy1ibHVyLWFuZC1mb2N1cy1ldmVudHMtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy93ZWVrLW11bHRpcGxlLWZpZWxkcy93
ZWVrLW11bHRpcGxlLWZpZWxkcy1ibHVyLWFuZC1mb2N1cy1ldmVudHMtZXhwZWN0ZWQudHh0CmRl
bGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBhNjhjYTA0MzFhNWNlNjMwZjhmYWFiMzM2MTRm
MmU1ZDNkZTQ2M2ZjLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0t
LSBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvd2Vlay1tdWx0aXBsZS1maWVsZHMvd2Vlay1tdWx0
aXBsZS1maWVsZHMtYmx1ci1hbmQtZm9jdXMtZXZlbnRzLWV4cGVjdGVkLnR4dAorKysgL2Rldi9u
dWxsCkBAIC0xLDE3ICswLDAgQEAKLUNoZWNrIGJsdXIgYW5kIGZvY3VzIGV2ZW50cyBmb3IgbXVs
dGlwbGUgZmllbGRzIHdlZWsgaW5wdXQgVUkKLQotT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEg
c2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgot
Ci0KLWZvY3VzKCkgYW5kIGJsdXIoKQotUEFTUyB0ZXN0SW5wdXQuZm9jdXMoKTsgc3RhdGUoKSBp
cyAiYmx1cj0wIGZvY3VzPTEiCi1QQVNTIHRlc3RJbnB1dC5ibHVyKCk7IHN0YXRlKCkgaXMgImJs
dXI9MSBmb2N1cz0xIgotZm9jdXMgYW5kIFRhYiBrZXkgdG8gYmx1cgotUEFTUyBrZXlEb3duKCIJ
Iik7IHN0YXRlKCkgaXMgImJsdXI9MCBmb2N1cz0xIgotUEFTUyBrZXlEb3duKCIJIik7IHN0YXRl
KCkgaXMgImJsdXI9MCBmb2N1cz0xIgotUEFTUyBrZXlEb3duKCIJIik7IHN0YXRlKCkgaXMgImJs
dXI9MSBmb2N1cz0xIgotCi1QQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCi0KLVRFU1Qg
Q09NUExFVEUKLQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy93ZWVrLW11bHRp
cGxlLWZpZWxkcy93ZWVrLW11bHRpcGxlLWZpZWxkcy1ibHVyLWFuZC1mb2N1cy1ldmVudHMuaHRt
bCBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvd2Vlay1tdWx0aXBsZS1maWVsZHMvd2Vlay1tdWx0
aXBsZS1maWVsZHMtYmx1ci1hbmQtZm9jdXMtZXZlbnRzLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IGQ4YzZkY2UyY2RkMjA3NTRkMzIxMGYxYWQxZjQyNTE1NWY3ZmNjZTMuLjAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMv
ZmFzdC9mb3Jtcy93ZWVrLW11bHRpcGxlLWZpZWxkcy93ZWVrLW11bHRpcGxlLWZpZWxkcy1ibHVy
LWFuZC1mb2N1cy1ldmVudHMuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDEyICswLDAgQEAKLTwh
RE9DVFlQRSBodG1sPgotPGh0bWw+Ci08Ym9keT4KLTxzY3JpcHQgc3JjPSIuLi8uLi9qcy9yZXNv
dXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNl
cy9tdWx0aXBsZS1maWVsZHMtYmx1ci1hbmQtZm9jdXMtZXZlbnRzLmpzIj48L3NjcmlwdD4KLTxk
aXYgaWQ9ImNvbnRhaW5lciI+PC9kaXY+Ci08c2NyaXB0Pgotc3RhcnRUZXN0Rm9yKCd3ZWVrJyk7
Ci08L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIuLi8uLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0
LmpzIj48L3NjcmlwdD4KLTwvYm9keT4KLTwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2Zhc3QvZm9ybXMvd2Vlay1tdWx0aXBsZS1maWVsZHMvd2Vlay1tdWx0aXBsZS1maWVsZHMtY2hh
bmdlLWxheW91dC1ieS12YWx1ZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1z
L3dlZWstbXVsdGlwbGUtZmllbGRzL3dlZWstbXVsdGlwbGUtZmllbGRzLWNoYW5nZS1sYXlvdXQt
YnktdmFsdWUtZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBmMTQ3
MDY4NzlhZTJhZjhkMGIzYTQxMjM0OGNiY2RiYzY3ZDNlYjk4Li4wMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvd2Vlay1t
dWx0aXBsZS1maWVsZHMvd2Vlay1tdWx0aXBsZS1maWVsZHMtY2hhbmdlLWxheW91dC1ieS12YWx1
ZS1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSwxMSArMCwwIEBACi1DaGFuZ2UgbXVs
dGlwbGUgZmllbGRzIHdlZWsgaW5wdXQgVUkgbGF5b3V0IGJ5IHZhbHVlCi0KLU9uIHN1Y2Nlc3Ms
IHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJU
RVNUIENPTVBMRVRFIi4KLQotCi1QQVNTIHdpZHRoT2ZFbXB0eVZhbHVlIDwgd2lkdGhPZk92ZXJm
bG93VmFsdWUgaXMgdHJ1ZQotUEFTUyB3aWR0aE9mRW1wdHlWYWx1ZSBpcyB3aWR0aE9mVmFsaWRW
YWx1ZQotUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQotCi1URVNUIENPTVBMRVRFCi0K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvd2Vlay1tdWx0aXBsZS1maWVsZHMv
d2Vlay1tdWx0aXBsZS1maWVsZHMtY2hhbmdlLWxheW91dC1ieS12YWx1ZS5odG1sIGIvTGF5b3V0
VGVzdHMvZmFzdC9mb3Jtcy93ZWVrLW11bHRpcGxlLWZpZWxkcy93ZWVrLW11bHRpcGxlLWZpZWxk
cy1jaGFuZ2UtbGF5b3V0LWJ5LXZhbHVlLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDM4ZDkzOGNjNDI2ODQ0YzZkNWJlOWY3Y2UwZGI4MzhmMGNiZGVmNDcuLjAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jt
cy93ZWVrLW11bHRpcGxlLWZpZWxkcy93ZWVrLW11bHRpcGxlLWZpZWxkcy1jaGFuZ2UtbGF5b3V0
LWJ5LXZhbHVlLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSwyNSArMCwwIEBACi08IURPQ1RZUEUg
aHRtbD4KLTxodG1sPgotPGJvZHk+Ci08c2NyaXB0IHNyYz0iLi4vLi4vanMvcmVzb3VyY2VzL2pz
LXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQ+Ci1kZXNjcmlwdGlvbignQ2hhbmdlIG11
bHRpcGxlIGZpZWxkcyB3ZWVrIGlucHV0IFVJIGxheW91dCBieSB2YWx1ZScpOwotdmFyIHRlc3RJ
bnB1dCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2lucHV0Jyk7Ci10ZXN0SW5wdXQudHlwZSA9
ICd3ZWVrJzsKLXRlc3RJbnB1dC5tYXggPSAnOTk5OS1XNTInOwotZG9jdW1lbnQuYm9keS5hcHBl
bmRDaGlsZCh0ZXN0SW5wdXQpOwotdmFyIHdpZHRoT2ZFbXB0eVZhbHVlID0gdGVzdElucHV0Lm9m
ZnNldFdpZHRoOwotCi10ZXN0SW5wdXQudmFsdWUgPSAnMTAwMDAtVzAxJzsKLXZhciB3aWR0aE9m
T3ZlcmZsb3dWYWx1ZSA9IHRlc3RJbnB1dC5vZmZzZXRXaWR0aDsKLXNob3VsZEJlVHJ1ZSgnd2lk
dGhPZkVtcHR5VmFsdWUgPCB3aWR0aE9mT3ZlcmZsb3dWYWx1ZScpOwotCi10ZXN0SW5wdXQudmFs
dWUgPSAnMjAxMi1XMTAnOwotdmFyIHdpZHRoT2ZWYWxpZFZhbHVlID0gdGVzdElucHV0Lm9mZnNl
dFdpZHRoOwotc2hvdWxkQmUoJ3dpZHRoT2ZFbXB0eVZhbHVlJywgJ3dpZHRoT2ZWYWxpZFZhbHVl
Jyk7Ci0KLXRlc3RJbnB1dC5yZW1vdmUoKTsKLTwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii4uLy4u
L2pzL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgotPC9ib2R5PgotPC9odG1s
PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy93ZWVrLW11bHRpcGxlLWZpZWxk
cy93ZWVrLW11bHRpcGxlLWZpZWxkcy1jbGVhcmJ1dHRvbi1jaGFuZ2UtYW5kLWlucHV0LWV2ZW50
cy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3dlZWstbXVsdGlwbGUtZmll
bGRzL3dlZWstbXVsdGlwbGUtZmllbGRzLWNsZWFyYnV0dG9uLWNoYW5nZS1hbmQtaW5wdXQtZXZl
bnRzLWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMTUyZjEyY2Fl
MWRiN2JjYWE3ZWEyNGU1Zjk3NDVhYTZkYTNjYzk4Yi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3dlZWstbXVsdGlw
bGUtZmllbGRzL3dlZWstbXVsdGlwbGUtZmllbGRzLWNsZWFyYnV0dG9uLWNoYW5nZS1hbmQtaW5w
dXQtZXZlbnRzLWV4cGVjdGVkLnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDE5ICswLDAgQEAKLVRl
c3QgZm9yIGV2ZW50IGRpc3BhdGNoaW5nIGJ5IHNwaW4gYnV0dG9ucyBpbiBhIHR5cGU9d2VlayBp
bnB1dC4KLQotT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNz
YWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgotCi0KLUluaXRpYWwgc3RhdGUKLVBB
U1MgY2hhbmdlRXZlbnRDb3VudGVyIGlzIDAKLVBBU1MgaW5wdXRFdmVudENvdW50ZXIgaXMgMAot
Q2xpY2sgdGhlIGNsZWFyIGJ1dHRvbgotUEFTUyB0ZXN0SW5wdXQudmFsdWUgaXMgIiIKLVBBU1Mg
Y2hhbmdlRXZlbnRDb3VudGVyIGlzIDEKLVBBU1MgaW5wdXRFdmVudENvdW50ZXIgaXMgMQotRm9j
dXMgb24gYW5vdGhlciBmaWVsZAotUEFTUyBjaGFuZ2VFdmVudENvdW50ZXIgaXMgMQotUEFTUyBp
bnB1dEV2ZW50Q291bnRlciBpcyAxCi1QQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCi0K
LVRFU1QgQ09NUExFVEUKLQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy93ZWVr
LW11bHRpcGxlLWZpZWxkcy93ZWVrLW11bHRpcGxlLWZpZWxkcy1jbGVhcmJ1dHRvbi1jaGFuZ2Ut
YW5kLWlucHV0LWV2ZW50cy5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy93ZWVrLW11bHRp
cGxlLWZpZWxkcy93ZWVrLW11bHRpcGxlLWZpZWxkcy1jbGVhcmJ1dHRvbi1jaGFuZ2UtYW5kLWlu
cHV0LWV2ZW50cy5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBkNmI0MWU1MTcy
MzI4OWY4YWZmMGFhYWJkNDEyZjRhMmI3MTUwYmZkLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvd2Vlay1tdWx0aXBs
ZS1maWVsZHMvd2Vlay1tdWx0aXBsZS1maWVsZHMtY2xlYXJidXR0b24tY2hhbmdlLWFuZC1pbnB1
dC1ldmVudHMuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDE0ICswLDAgQEAKLTwhRE9DVFlQRSBo
dG1sPgotPGh0bWw+Ci08aGVhZD4KLTxzY3JpcHQgc3JjPSIuLi8uLi8uLi9mYXN0L2pzL3Jlc291
cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2Vz
L2NvbW1vbi5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL2NvbW1vbi1j
bGVhcmJ1dHRvbi1jaGFuZ2UtYW5kLWlucHV0LWV2ZW50cy5qcyI+PC9zY3JpcHQ+Ci08L2hlYWQ+
Ci08Ym9keT4KLTxzY3JpcHQ+Ci10ZXN0Q2xlYXJCdXR0b25DaGFuZ2VBbmRJbnB1dEV2ZW50cygn
d2VlaycsICcyMDEyLVcxMCcpOwotPC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vLi4vZmFz
dC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KLTwvYm9keT4KLTwvaHRt
bD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvd2Vlay1tdWx0aXBsZS1maWVs
ZHMvd2Vlay1tdWx0aXBsZS1maWVsZHMtY2xlYXJidXR0b24tdmlzaWJpbGl0eS1hZnRlci1yZXN0
b3JlLWV4cGVjdGVkLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3dlZWstbXVsdGlwbGUt
ZmllbGRzL3dlZWstbXVsdGlwbGUtZmllbGRzLWNsZWFyYnV0dG9uLXZpc2liaWxpdHktYWZ0ZXIt
cmVzdG9yZS1leHBlY3RlZC5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA2ZjA4
ZjFjNTZjNTQxODBjODYyMDZkMmYzZTc5NmQ1OTk1MWUxZjBmLi4wMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvd2Vlay1t
dWx0aXBsZS1maWVsZHMvd2Vlay1tdWx0aXBsZS1maWVsZHMtY2xlYXJidXR0b24tdmlzaWJpbGl0
eS1hZnRlci1yZXN0b3JlLWV4cGVjdGVkLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSwxMCArMCww
IEBACi08IURPQ1RZUEUgaHRtbD4KLTxodG1sPgotPGJvZHk+Ci08aW5wdXQgaWQ9ImVtcHR5T25G
aXJzdFZpc2l0IiB2YWx1ZT0idmlzaXRlZCI+Ci08Zm9ybSBhY3Rpb249ImRhdGE6dGV4dC9odG1s
LCZsdDtzY3JpcHQ+aGlzdG9yeS5iYWNrKCkmbHQ7L3NjcmlwdD4iIGlkPWZvcm0xPgotICAgIDxp
bnB1dCB0eXBlPXdlZWsgaWQ9aW5wdXQxPgotICAgIDxpbnB1dCB0eXBlPXdlZWsgaWQ9aW5wdXQy
IHZhbHVlPSIyMDAxLVcwMiI+Ci0gICAgPGlucHV0IHR5cGU9d2VlayBpZD1pbnB1dDMgdmFsdWU9
IjIwMDItVzAzIj4KLTwvZm9ybT4KLTwvYm9keT4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zh
c3QvZm9ybXMvd2Vlay1tdWx0aXBsZS1maWVsZHMvd2Vlay1tdWx0aXBsZS1maWVsZHMtY2xlYXJi
dXR0b24tdmlzaWJpbGl0eS1hZnRlci1yZXN0b3JlLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2Zv
cm1zL3dlZWstbXVsdGlwbGUtZmllbGRzL3dlZWstbXVsdGlwbGUtZmllbGRzLWNsZWFyYnV0dG9u
LXZpc2liaWxpdHktYWZ0ZXItcmVzdG9yZS5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCBiMTQ3YzlhNGMxMmZhY2Y1OTk5YTA3OWVlNTIxMWVhODI5MzM3MzQzLi4wMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZm9y
bXMvd2Vlay1tdWx0aXBsZS1maWVsZHMvd2Vlay1tdWx0aXBsZS1maWVsZHMtY2xlYXJidXR0b24t
dmlzaWJpbGl0eS1hZnRlci1yZXN0b3JlLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSwzMiArMCww
IEBACi08IURPQ1RZUEUgaHRtbD4KLTxodG1sPgotPGJvZHk+Ci08aW5wdXQgaWQ9ImVtcHR5T25G
aXJzdFZpc2l0Ij4KLTxmb3JtIGFjdGlvbj0iZGF0YTp0ZXh0L2h0bWwsJmx0O3NjcmlwdD5oaXN0
b3J5LmJhY2soKSZsdDsvc2NyaXB0PiIgaWQ9Zm9ybTE+Ci0gICAgPGlucHV0IHR5cGU9d2VlayBp
ZD1pbnB1dDE+Ci0gICAgPGlucHV0IHR5cGU9d2VlayBpZD1pbnB1dDI+Ci0gICAgPGlucHV0IHR5
cGU9d2VlayBpZD1pbnB1dDMgdmFsdWU9IjIwMTItVzAxIj4KLTwvZm9ybT4KLQotPHNjcmlwdD4K
LS8vIFJlc3RvcmluZyB0aGUgZm9ybSBzaG91bGQgdXBkYXRlIHRoZSBjbGVhciBidXR0b24gdmlz
aWJpbGl0eS4KLXRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOwotZnVuY3Rpb24gcnVuVGVzdCgp
Ci17Ci0gICAgdmFyIHN0YXRlID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2VtcHR5T25GaXJz
dFZpc2l0Jyk7Ci0gICAgaWYgKCFzdGF0ZS52YWx1ZSkgewotICAgICAgICAvLyBGaXJzdCB2aXNp
dC4KLSAgICAgICAgc2V0VGltZW91dChmdW5jdGlvbigpIHsKLSAgICAgICAgICAgIHN0YXRlLnZh
bHVlID0gJ3Zpc2l0ZWQnOwotICAgICAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2lu
cHV0MicpLnZhbHVlID0gIjIwMDEtVzAyIjsKLSAgICAgICAgICAgIGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCdpbnB1dDMnKS52YWx1ZSA9ICIyMDAyLVcwMyI7Ci0gICAgICAgICAgICBkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgnZm9ybTEnKS5zdWJtaXQoKTsKLSAgICAgICAgfSwgMCk7Ci0gICAg
fSBlbHNlIHsKLSAgICAgICAgdGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7Ci0gICAgfQotfQotCi13
aW5kb3cub25sb2FkID0gcnVuVGVzdDsKLTwvc2NyaXB0PgotPC9ib2R5PgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy93ZWVrLW11bHRpcGxlLWZpZWxkcy93ZWVrLW11bHRpcGxl
LWZpZWxkcy1mYWxsYmFjay1mb3JtYXQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9m
b3Jtcy93ZWVrLW11bHRpcGxlLWZpZWxkcy93ZWVrLW11bHRpcGxlLWZpZWxkcy1mYWxsYmFjay1m
b3JtYXQtZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA3YjJjY2E4
ZWQ2YWVlNjVkMGI0MzUyYjkwYTdkOTMxMTgzYTE3MjFmLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvd2Vlay1tdWx0
aXBsZS1maWVsZHMvd2Vlay1tdWx0aXBsZS1maWVsZHMtZmFsbGJhY2stZm9ybWF0LWV4cGVjdGVk
LnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDE0ICswLDAgQEAKLUNoZWNrcyBpbmNvbXBsZXRlIGRh
dGV0aW1lIGZvcm1hdHMgYXJlIHJlamVjdGVkLgotCi1PbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUg
YSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIu
Ci0KLQotVmFsaWQgZm9ybWF0Ci1QQVNTIGdldFVzZXJBZ2VudFNoYWRvd1RleHRDb250ZW50KGlu
cHV0KSBpcyAiV2VlazA5IDE5OTkiCi1JbnZhbGlkIGZvcm1hdCwgZmFsbGJhY2sgdG8geXl5eS0n
Vyd3dwotUEFTUyBnZXRVc2VyQWdlbnRTaGFkb3dUZXh0Q29udGVudChpbnB1dCkgaXMgIjE5OTkt
VzA5IgotUEFTUyBnZXRVc2VyQWdlbnRTaGFkb3dUZXh0Q29udGVudChpbnB1dCkgaXMgIjE5OTkt
VzA5IgotUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQotCi1URVNUIENPTVBMRVRFCi0K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvd2Vlay1tdWx0aXBsZS1maWVsZHMv
d2Vlay1tdWx0aXBsZS1maWVsZHMtZmFsbGJhY2stZm9ybWF0Lmh0bWwgYi9MYXlvdXRUZXN0cy9m
YXN0L2Zvcm1zL3dlZWstbXVsdGlwbGUtZmllbGRzL3dlZWstbXVsdGlwbGUtZmllbGRzLWZhbGxi
YWNrLWZvcm1hdC5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAyNWY0OTJiYmRi
OTFlMjU0YmYwYTUzYmVkMGNhZjEwNWZmN2ZiYTA3Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvd2Vlay1tdWx0aXBs
ZS1maWVsZHMvd2Vlay1tdWx0aXBsZS1maWVsZHMtZmFsbGJhY2stZm9ybWF0Lmh0bWwKKysrIC9k
ZXYvbnVsbApAQCAtMSwzNyArMCwwIEBACi08IURPQ1RZUEUgaHRtbD4KLTxodG1sPgotPGhlYWQ+
Ci08c2NyaXB0IHNyYz0iLi4vLi4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Njcmlw
dD4KLTxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvY29tbW9uLmpzIj48L3NjcmlwdD4KLTwvaGVh
ZD4KLTxib2R5PgotPHNjcmlwdD4KLWRlc2NyaXB0aW9uKCdDaGVja3MgaW5jb21wbGV0ZSBkYXRl
dGltZSBmb3JtYXRzIGFyZSByZWplY3RlZC4nKTsKLQotdmFyIGlucHV0ID0gZG9jdW1lbnQuY3Jl
YXRlRWxlbWVudCgnaW5wdXQnKTsKLWlucHV0LnR5cGUgPSAnd2Vlayc7Ci1kb2N1bWVudC5ib2R5
LmFwcGVuZENoaWxkKGlucHV0KTsKLQotZnVuY3Rpb24gc2V0RGF0ZVRpbWVGb3JtYXQocGF0dGVy
bikgewotICAgIHZhciB2YWx1ZSA9IGlucHV0LnZhbHVlOwotICAgIGdldEVsZW1lbnRCeVBzZXVk
b0lkKGludGVybmFscy55b3VuZ2VzdFNoYWRvd1Jvb3QoaW5wdXQpLCAnLXdlYmtpdC1kYXRldGlt
ZS1lZGl0Jykuc2V0QXR0cmlidXRlKCdwYXR0ZXJuJywgcGF0dGVybik7Ci0gICAgaW5wdXQudmFs
dWUgPSAnJzsgLy8gVXBkYXRlcyB0aGUgZWxlbWVudCBmb3IgbmV3IGZvcm1hdAotICAgIGlucHV0
LnZhbHVlID0gdmFsdWU7Ci19Ci0KLWlucHV0LnZhbHVlID0gJzE5OTktVzA5JzsKLQotZGVidWco
J1ZhbGlkIGZvcm1hdCcpOwotc2V0RGF0ZVRpbWVGb3JtYXQoIidXZWVrJ3d3IHl5eXkiKTsKLXNo
b3VsZEJlRXF1YWxUb1N0cmluZygnZ2V0VXNlckFnZW50U2hhZG93VGV4dENvbnRlbnQoaW5wdXQp
JywgJ1dlZWswOSAxOTk5Jyk7Ci0KLWRlYnVnKCJJbnZhbGlkIGZvcm1hdCwgZmFsbGJhY2sgdG8g
eXl5eS0nVyd3dyIpOwotc2V0RGF0ZVRpbWVGb3JtYXQoJ3d3Jyk7Ci1zaG91bGRCZUVxdWFsVG9T
dHJpbmcoJ2dldFVzZXJBZ2VudFNoYWRvd1RleHRDb250ZW50KGlucHV0KScsICcxOTk5LVcwOScp
Owotc2V0RGF0ZVRpbWVGb3JtYXQoJ3l5eXknKTsKLXNob3VsZEJlRXF1YWxUb1N0cmluZygnZ2V0
VXNlckFnZW50U2hhZG93VGV4dENvbnRlbnQoaW5wdXQpJywgJzE5OTktVzA5Jyk7Ci0KLTwvc2Ny
aXB0PgotPHNjcmlwdCBzcmM9Ii4uLy4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwv
c2NyaXB0PgotPC9ib2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9m
b3Jtcy93ZWVrLW11bHRpcGxlLWZpZWxkcy93ZWVrLW11bHRpcGxlLWZpZWxkcy1rZXlib2FyZC1l
dmVudHMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy93ZWVrLW11bHRpcGxl
LWZpZWxkcy93ZWVrLW11bHRpcGxlLWZpZWxkcy1rZXlib2FyZC1ldmVudHMtZXhwZWN0ZWQudHh0
CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA4Mjg3Y2I1ZmQwM2U0NTUzZjQ2YTM4OWUw
YjAxZjQ4NGRmNTcyZDdiLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvd2Vlay1tdWx0aXBsZS1maWVsZHMvd2Vlay1t
dWx0aXBsZS1maWVsZHMta2V5Ym9hcmQtZXZlbnRzLWV4cGVjdGVkLnR4dAorKysgL2Rldi9udWxs
CkBAIC0xLDY2ICswLDAgQEAKLU11bHRpcGxlIGZpZWxkcyBVSSBvZiB3ZWVrIGlucHV0IHR5cGUg
d2l0aCBrZXlib2FyZCBldmVudHMKLQotT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVz
IG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgotCi0KLVBs
ZWFzZSBydW4gdGhpcyB3aXRoIER1bXBSZW5kZXJUcmVlLgotCi1UZXN0IGZvbGxvd2luZyBrZXlz
OgotRGlnaXRzCi1MZWZ0L1JpZ2h0IC0gTW92ZSBmb2N1cyBmaWVsZCBpbnNpZGUgZWxlbWVudAot
VXAvRG93biAtIEluY3JlbWVudC9kZWNyZW1lbnQgdmFsdWUgb2YgZm9jdXMgZmllbGQKLVRhYiAt
IE1vdmUgZm9jdXMgZmllbGQKLUJhY2tzcGFjZSAtIE1ha2UgdmFsdWUgZW1wdHkKLSAgCi09PSBE
aWdpdCBrZXlzID09Ci1QQVNTIGlucHV0LnZhbHVlIGlzICIwMDEyLVcwOSIKLT09IERpZ2l0IGtl
eXMgc3RhcnRpbmcgd2l0aCB6ZXJvID09Ci1QQVNTIGlucHV0LnZhbHVlIGlzICIwMzAwLVcwMiIK
LT09IERpZ2l0IGtleXMgYW5kIGJhY2tzcGFjZSBrZXkgPT0KLVBBU1MgaW5wdXQudmFsdWUgaXMg
IjAwMDYtVzAxIgotPT0gTGVmdC9SaWdodCBrZXlzID09Ci1QQVNTIGlucHV0LnZhbHVlIGlzICIw
MDA1LVcwNiIKLVBBU1MgZG9jdW1lbnQuYWN0aXZlRWxlbWVudC5pZCBpcyAiaW5wdXQiCi09PSBV
cC9Eb3duIGtleXMgPT0KLVBBU1MgaW5wdXQudmFsdWUgaXMgIjIwMTItVzEwIgotUEFTUyBpbnB1
dC52YWx1ZSBpcyAiMjAxMi1XMDgiCi09PSBVcC9Eb3duIGtleXMgb24gZW1wdHkgdmFsdWUgPT0K
LVBBU1MgaW5wdXQudmFsdWUgaXMgY3VycmVudFllYXIgKyAiLVc1MiIKLT09IFVwL0Rvd24ga2V5
cyBvbiBlbXB0eSB2YWx1ZSAyID09Ci1QQVNTIGlucHV0LnZhbHVlIGlzIGN1cnJlbnRZZWFyICsg
Ii1XMDIiCi09PSBUYWIga2V5ID09Ci1QQVNTIGlucHV0LnZhbHVlIGlzICIwMDA1LVcwOSIKLVBB
U1MgaW5wdXQudmFsdWUgaXMgIjAwMDUtVzA3IgotUEFTUyBkb2N1bWVudC5hY3RpdmVFbGVtZW50
LmlkIGlzICJhZnRlciIKLT09IFNoZml0K1RhYiBrZXkgPT0KLVBBU1MgaW5wdXQudmFsdWUgaXMg
IjAwMDMtVzA5IgotUEFTUyBkb2N1bWVudC5hY3RpdmVFbGVtZW50LmlkIGlzICJiZWZvcmUiCi09
PSBVcCBrZXkgb24gbWF4aW11bSB2YWx1ZSA9PQotUEFTUyBpbnB1dC52YWx1ZSBpcyAiMDAwMS1X
MTAiCi09PSBVcCBrZXkgd2l0aCBhIG1heGltdW0gYXR0cmlidXRlID09Ci1QQVNTIGlucHV0LnZh
bHVlIGlzICIxMDAwLVcxMyIKLT09IERvd24ga2V5IG9uIG1pbmltdW0gdmFsdWUgPT0KLVBBU1Mg
aW5wdXQudmFsdWUgaXMgIiIKLT09IERvd24ga2V5IHdpdGggYSBtaW5pbXVtIGF0dHJpYnV0ZSA9
PQotUEFTUyBpbnB1dC52YWx1ZSBpcyAiIgotPT0gSW5jb25zaXN0ZW50IG1pbi1tYXggYXR0cmli
dXRlcyA9PQotUEFTUyBpbnB1dC52YWx1ZSBpcyAiMTAwMC1XMTMiCi1QQVNTIGlucHV0LnZhbHVl
IGlzICIxOTk5LVcxMyIKLT09IE1ha2UgYW4gaW52YWxpZCBkYXRlID09Ci1QQVNTIGlucHV0LnZh
bHVlIGlzICIiCi09PSBCYWNrc3BhY2Uga2V5ID09Ci1QQVNTIGlucHV0LnZhbHVlIGlzICIiCi09
PSBEZWxldGUga2V5ID09Ci1QQVNTIGlucHV0LnZhbHVlIGlzICIiCi09PSBUeXBlYWhlYWQgPT0K
LVBBU1MgaW5wdXQudmFsdWUgaXMgIjAwMDEtVzEyIgotUEFTUyBpbnB1dC52YWx1ZSBpcyAiMDAw
Mi1XMTIiCi09PSBEaXNhYmxlZC9yZWFkb25seSA9PQotUEFTUyBpbnB1dC52YWx1ZSBpcyAiMjAx
Mi1XMTAiCi1QQVNTIGlucHV0LnZhbHVlIGlzICIyMDEyLVcxMSIKLVBBU1MgaW5wdXQudmFsdWUg
aXMgIjIwMTItVzExIgotUEFTUyBpbnB1dC52YWx1ZSBpcyAiMjAxMi1XMTIiCi1QQVNTIHN1Y2Nl
c3NmdWxseVBhcnNlZCBpcyB0cnVlCi0KLVRFU1QgQ09NUExFVEUKLQpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZmFzdC9mb3Jtcy93ZWVrLW11bHRpcGxlLWZpZWxkcy93ZWVrLW11bHRpcGxlLWZp
ZWxkcy1rZXlib2FyZC1ldmVudHMuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvd2Vlay1t
dWx0aXBsZS1maWVsZHMvd2Vlay1tdWx0aXBsZS1maWVsZHMta2V5Ym9hcmQtZXZlbnRzLmh0bWwK
ZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDViYmM5ODMzYzZkZWQwZmZjZTU0NmU3NTRi
NWIwZDVlZmRhYzAzNDAuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAK
LS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy93ZWVrLW11bHRpcGxlLWZpZWxkcy93ZWVrLW11
bHRpcGxlLWZpZWxkcy1rZXlib2FyZC1ldmVudHMuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDIx
MCArMCwwIEBACi08IURPQ1RZUEUgaHRtbD4KLTxodG1sPgotPGhlYWQ+Ci08c2NyaXB0IHNyYz0i
Li4vLi4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KLTwvaGVhZD4KLTxi
b2R5PgotPHAgaWQ9ImRlc2NyaXB0aW9uIj48L3A+Ci08cD4KLVBsZWFzZSBydW4gdGhpcyB3aXRo
IER1bXBSZW5kZXJUcmVlLgotPC9wPgotVGVzdCBmb2xsb3dpbmcga2V5czoKLTx1bD4KLSAgICA8
bGk+RGlnaXRzPC9saT4KLSAgICA8bGk+TGVmdC9SaWdodCAtIE1vdmUgZm9jdXMgZmllbGQgaW5z
aWRlIGVsZW1lbnQ8L2xpPgotICAgIDxsaT5VcC9Eb3duIC0gSW5jcmVtZW50L2RlY3JlbWVudCB2
YWx1ZSBvZiBmb2N1cyBmaWVsZDwvbGk+Ci0gICAgPGxpPlRhYiAtIE1vdmUgZm9jdXMgZmllbGQ8
L2xpPgotICAgIDxsaT5CYWNrc3BhY2UgLSBNYWtlIHZhbHVlIGVtcHR5PC9saT4KLTwvdWw+Ci08
aW5wdXQgaWQ9ImJlZm9yZSI+Ci08aW5wdXQgaWQ9ImlucHV0IiB0eXBlPSJ3ZWVrIj4KLTxpbnB1
dCBpZD0iYWZ0ZXIiPgotPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Ci08c2NyaXB0PgotZGVzY3Jp
cHRpb24oJ011bHRpcGxlIGZpZWxkcyBVSSBvZiB3ZWVrIGlucHV0IHR5cGUgd2l0aCBrZXlib2Fy
ZCBldmVudHMnKTsKLWlmICh3aW5kb3cuaW50ZXJuYWxzKQotICAgIGludGVybmFscy5zZXR0aW5n
cy5zZXRMYW5nQXR0cmlidXRlQXdhcmVGb3JtQ29udHJvbFVJRW5hYmxlZCh0cnVlKTsKLXZhciBp
bnB1dCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdpbnB1dCcpOwotCi1mdW5jdGlvbiBrZXlE
b3duKGtleSwgbW9kaWZpZXJzKQotewotICAgIGlmICghd2luZG93LmV2ZW50U2VuZGVyKQotICAg
ICAgICByZXR1cm47Ci0gICAgZXZlbnRTZW5kZXIua2V5RG93bihrZXksIG1vZGlmaWVycyk7Ci19
Ci0KLWZ1bmN0aW9uIGJlZ2luVGVzdCh0aXRsZSwgb3B0X3ZhbHVlLCBvcHRfbWluLCBvcHRfbWF4
KQotewotICAgIGRlYnVnKCc9PSAnICsgdGl0bGUgKyAnID09Jyk7Ci0gICAgaW5wdXQudmFsdWUg
PSBvcHRfdmFsdWUgfHwgJyc7Ci0gICAgaW5wdXQubWluID0gb3B0X21pbiA/IG9wdF9taW4gOiAn
JzsKLSAgICBpbnB1dC5tYXggPSBvcHRfbWF4ID8gb3B0X21heCA6ICcnOwotICAgIGlucHV0LmJs
dXIoKTsKLSAgICBpbnB1dC5mb2N1cygpOwotfQotCi0vLyBXZSBhc3N1bWUgdGhlIGRhdGUgZm9y
bWF0IGlzIFdlZWsgd3csIHl5eXkuCi0KLWJlZ2luVGVzdCgnRGlnaXQga2V5cycpOwota2V5RG93
bignOScpOyAvLyAtPiBXZWVrIDA5LCB5eXl5Ci1rZXlEb3duKCcxJyk7IC8vIC0+IFdlZWsgMDks
IFswMDAxXQota2V5RG93bignMicpOyAvLyAtPiBXZWVrIDA5LCBbMDAxMl0KLWtleURvd24oJ0En
KTsgLy8gSWdub3JlZC4KLXNob3VsZEJlRXF1YWxUb1N0cmluZygnaW5wdXQudmFsdWUnLCAnMDAx
Mi1XMDknKTsKLQotYmVnaW5UZXN0KCdEaWdpdCBrZXlzIHN0YXJ0aW5nIHdpdGggemVybycpOwot
a2V5RG93bignMCcpOyAvLyAtPiBXZWVrIFswMF0sIHl5eXkKLWtleURvd24oJzInKTsgLy8gLT4g
V2VlayAwMiwgW3l5eXldCi1rZXlEb3duKCcwJyk7IC8vIC0+IFdlZWsgMDIsIFswMDAwXQota2V5
RG93bignMycpOyAvLyAtPiBXZWVrIDAyLCBbMDAwM10KLWtleURvd24oJzAnKTsgLy8gLT4gV2Vl
ayAwMiwgWzAwMzBdCi1rZXlEb3duKCcwJyk7IC8vIC0+IFdlZWsgMDIsIFswMzAwXQotc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCdpbnB1dC52YWx1ZScsICcwMzAwLVcwMicpOwotCi1iZWdpblRlc3Qo
J0RpZ2l0IGtleXMgYW5kIGJhY2tzcGFjZSBrZXknKTsKLWtleURvd24oJzAnKTsgLy8gLT4gV2Vl
ayBbMDBdLCB5eXl5Ci1rZXlEb3duKCdcYicpOyAvLyAtPiBXZWVrIFt3d10sIHl5eXkKLWtleURv
d24oJzAnKTsgLy8gLT4gV2VlayBbMDBdLCB5eXl5Ci1rZXlEb3duKCcwJyk7IC8vIC0+IFdlZWsg
MDEsIFt5eXl5XQota2V5RG93bignMCcpOyAvLyAtPiBXZWVrIDAxLCBbMDAwMF0KLWtleURvd24o
JzYnKTsgLy8gLT4gV2VlayAwNSwgWzAwMDZdCi1zaG91bGRCZUVxdWFsVG9TdHJpbmcoJ2lucHV0
LnZhbHVlJywgJzAwMDYtVzAxJyk7Ci0KLS8vIEZJWE1FOiBXZSBzaG91bGQgdGVzdCB0eXBlIGFo
ZWFkIHRpbWUgb3V0LiBXaGVuIGV2ZW50LmxlYXBGb3J3YXJkKCkgYWZmZWN0cwotLy8ga2V5Ym9h
cmQgZXZlbnQgdGltZSBzdGFtcCwgd2UgY2FuIHVuY29tbWVudCB0aGlzIGZyYWdtZW50LgotLyoK
LWJlZ2luVGVzdCgnRGlnaXQga2V5cyB3aXRoIHR5cGUgYWhlYWQgdGltZW91dCcpOwota2V5RG93
bignMScpOyAvLyAtPiBXZWVrIFswMV0sIHl5eXkKLWV2ZW50U2VuZGVyLmxlYXBGb3J3YXJkKDEx
MDApOyAvLyAtPiBXZWVrIDAxLCBbeXl5eV0KLWtleURvd24oJzEnKTsgLy8gLT4gV2VlayAwMSwg
WzAwMDFdCi1rZXlEb3duKCc1Jyk7IC8vIC0+IFdlZWsgMDEsIFswMDE1XQota2V5RG93bignNicp
OyAvLyAtPiBXZWVrIDAxLCBbMDE1Nl0KLXNob3VsZEJlRXF1YWxUb1N0cmluZygnaW5wdXQudmFs
dWUnLCAnMDE1Ni1XMDEnKTsKLSovCi0KLWJlZ2luVGVzdCgnTGVmdC9SaWdodCBrZXlzJywgJzIw
MTItVzA5Jyk7Ci1rZXlEb3duKCdyaWdodEFycm93Jyk7IC8vIC0+IFdlZWsgMDksIFsyMDEyXQot
a2V5RG93bignNScpOyAvLyAtPiBXZWVrIDA5LCBbMDAwNV0KLWtleURvd24oJ2xlZnRBcnJvdycp
OyAvLyAtPiBXZWVrIFswOV0sIDAwMDUKLWtleURvd24oJzYnKTsgLy8gLT4gV2VlayBbMDZdLCAw
MDA1Ci1zaG91bGRCZUVxdWFsVG9TdHJpbmcoJ2lucHV0LnZhbHVlJywgJzAwMDUtVzA2Jyk7Ci1r
ZXlEb3duKCdsZWZ0QXJyb3cnKTsgLy8gLT4gV2VlayAwNiwgWzAwMDVdCi1rZXlEb3duKCdsZWZ0
QXJyb3cnKTsgLy8gLT4gV2VlayBbMDZdLCAwMDA1Ci1rZXlEb3duKCdsZWZ0QXJyb3cnKTsgLy8g
LT4gV2VlayBbMDZdLCAwMDA1Ci1zaG91bGRCZUVxdWFsVG9TdHJpbmcoJ2RvY3VtZW50LmFjdGl2
ZUVsZW1lbnQuaWQnLCAnaW5wdXQnKTsKLQotYmVnaW5UZXN0KCdVcC9Eb3duIGtleXMnLCAnMjAx
Mi1XMDknKTsKLWtleURvd24oJ3VwQXJyb3cnKTsgLy8gLT4gV2VlayBbMTBdLCAyMDEyCi1zaG91
bGRCZUVxdWFsVG9TdHJpbmcoJ2lucHV0LnZhbHVlJywgJzIwMTItVzEwJyk7Ci1rZXlEb3duKCdk
b3duQXJyb3cnKTsgLy8gLT4gV2VlayBbMDldLCAyMDEyCi1rZXlEb3duKCdkb3duQXJyb3cnKTsg
Ly8gLT4gV2VlayBbMDhdLCAyMDEyCi1zaG91bGRCZUVxdWFsVG9TdHJpbmcoJ2lucHV0LnZhbHVl
JywgJzIwMTItVzA4Jyk7Ci0KLWJlZ2luVGVzdCgnVXAvRG93biBrZXlzIG9uIGVtcHR5IHZhbHVl
Jyk7Ci1rZXlEb3duKCdkb3duQXJyb3cnKTsgLy8gIC0+IFdlZWsgWzUzXSwgeXl5eQota2V5RG93
bignZG93bkFycm93Jyk7IC8vICAtPiBXZWVrIFs1Ml0sIHl5eXkKLWtleURvd24oJ3VwQXJyb3cn
KTsgLy8gICAgLT4gV2VlayBbNTNdLCB5eXl5Ci1rZXlEb3duKCdkb3duQXJyb3cnKTsgLy8gIC0+
IFdlZWsgWzUyXSwgeXl5eQota2V5RG93bigncmlnaHRBcnJvdycpOyAvLyAtPiBXZWVrIDUyLCBb
eXl5eV0KLXZhciBjdXJyZW50WWVhciA9IG5ldyBEYXRlKCkuZ2V0RnVsbFllYXIoKTsKLWtleURv
d24oJ3VwQXJyb3cnKTsgLy8gLT4gV2VlayA1MiwgW2N1cnJlbnQgeWVhcl0KLXNob3VsZEJlKCdp
bnB1dC52YWx1ZScsICdjdXJyZW50WWVhciArICItVzUyIicpOwotCi1iZWdpblRlc3QoJ1VwL0Rv
d24ga2V5cyBvbiBlbXB0eSB2YWx1ZSAyJyk7Ci1rZXlEb3duKCd1cEFycm93Jyk7IC8vICAgIC0+
IFdlZWsgWzAxXSwgeXl5eQota2V5RG93bigndXBBcnJvdycpOyAvLyAgICAtPiBXZWVrIFswMl0s
IHl5eXkKLWtleURvd24oJ3JpZ2h0QXJyb3cnKTsgLy8gLT4gV2VlayAwMiwgW3l5eXldCi1jdXJy
ZW50WWVhciA9IG5ldyBEYXRlKCkuZ2V0RnVsbFllYXIoKTsKLWtleURvd24oJ2Rvd25BcnJvdycp
OyAvLyAtPiBXZWVrIDAyLCBbY3VycmVudCB5ZWFyXQotc2hvdWxkQmUoJ2lucHV0LnZhbHVlJywg
J2N1cnJlbnRZZWFyICsgIi1XMDIiJyk7Ci0KLWJlZ2luVGVzdCgnVGFiIGtleScsICcyMDEyLVcw
OScpOwota2V5RG93bignXHQnKTsgLy8gLT4gV2VlayAwOSwgWzIwMTJdCi1rZXlEb3duKCc1Jyk7
IC8vIC0+IFdlZWsgMDksIFswMDA1XQotc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdpbnB1dC52YWx1
ZScsICcwMDA1LVcwOScpOwota2V5RG93bignXHQnLCBbJ3NoaWZ0S2V5J10pOyAvLyAtPiBXZWVr
IFswOV0sIDAwMDUKLWtleURvd24oJzcnKTsgLy8gLT4gV2VlayBbMDddLCAwMDA1Ci1zaG91bGRC
ZUVxdWFsVG9TdHJpbmcoJ2lucHV0LnZhbHVlJywgJzAwMDUtVzA3Jyk7Ci1rZXlEb3duKCdcdCcp
OyAvLyAtPiBGb2N1cyBvdXQuCi1zaG91bGRCZUVxdWFsVG9TdHJpbmcoJ2RvY3VtZW50LmFjdGl2
ZUVsZW1lbnQuaWQnLCAnYWZ0ZXInKTsKLQotYmVnaW5UZXN0KCdTaGZpdCtUYWIga2V5JywgJzIw
MTItVzA5Jyk7Ci1hZnRlci5mb2N1cygpOwota2V5RG93bignXHQnLCBbJ3NoaWZ0S2V5J10pOyAv
LyAtPiBXZWVrIDA5LCBbMjAxMl0KLWtleURvd24oJzMnKTsgLy8gLT4gV2VlayAwOSwgWzAwMDNd
Ci1zaG91bGRCZUVxdWFsVG9TdHJpbmcoJ2lucHV0LnZhbHVlJywgJzAwMDMtVzA5Jyk7Ci1rZXlE
b3duKCdcdCcsIFsnc2hpZnRLZXknXSk7IC8vIC0+IFdlZWsgWzA5XSwgMDAwMwota2V5RG93bign
XHQnLCBbJ3NoaWZ0S2V5J10pOyAvLyAtPiBGb2N1cyBvdXQuCi1zaG91bGRCZUVxdWFsVG9TdHJp
bmcoJ2RvY3VtZW50LmFjdGl2ZUVsZW1lbnQuaWQnLCAnYmVmb3JlJyk7Ci0KLWJlZ2luVGVzdCgn
VXAga2V5IG9uIG1heGltdW0gdmFsdWUnLCAnMjc1NzYwLVcwOScpOwota2V5RG93bigndXBBcnJv
dycpOyAvLyAtPiBXZWVrIFsxMF0sIDI3NTc2MAota2V5RG93bignXHQnKTsgLy8gICAgICAtPiBX
ZWVrIDEwLCBbMjc1NzYwXQota2V5RG93bigndXBBcnJvdycpOyAvLyAtPiBXZWVrIDEwLCBbMDAw
MV0KLXNob3VsZEJlRXF1YWxUb1N0cmluZygnaW5wdXQudmFsdWUnLCAnMDAwMS1XMTAnKTsKLWJl
Z2luVGVzdCgnVXAga2V5IHdpdGggYSBtYXhpbXVtIGF0dHJpYnV0ZScsICcxOTk5LVcxMicsICcx
MDAwLVcwMScsICcxOTk5LVcxMicpOwota2V5RG93bigndXBBcnJvdycpOyAvLyAtPiBXZWVrIFsx
M10sIDE5OTkKLWtleURvd24oJ1x0Jyk7IC8vICAgICAgLT4gV2VlayAxMywgWzE5OTldCi1rZXlE
b3duKCd1cEFycm93Jyk7IC8vIC0+IFdlZWsgMTMsIFsxMDAwXQotc2hvdWxkQmVFcXVhbFRvU3Ry
aW5nKCdpbnB1dC52YWx1ZScsICcxMDAwLVcxMycpOwotCi1iZWdpblRlc3QoJ0Rvd24ga2V5IG9u
IG1pbmltdW0gdmFsdWUnLCAnMDAwMS1XMDEnLCAnYmFkIG1pbicsICd3cm9uZyBtYXgnKTsKLWtl
eURvd24oJ2Rvd25BcnJvdycpOyAvLyAtPiBXZWVrIFs1M10sIDAwMDEKLWtleURvd24oJ1x0Jyk7
IC8vICAgICAgICAtPiBXZWVrIDAxLCBbMDAwMV0KLWtleURvd24oJ2Rvd25BcnJvdycpOyAvLyAt
PiBXZWVrIDUzLCBbMjc1NzYwXSwgd2hpY2ggaXMgZ3JlYXRlciB0aGFuIHRoZSBoYXJkIGxpbWl0
Lgotc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdpbnB1dC52YWx1ZScsICcnKTsKLWJlZ2luVGVzdCgn
RG93biBrZXkgd2l0aCBhIG1pbmltdW0gYXR0cmlidXRlJywgJzEwMDAtVzAxJywgJzEwMDAtVzAx
Jyk7Ci1rZXlEb3duKCdkb3duQXJyb3cnKTsgLy8gLT4gV2VlayBbNTNdLCAxMDAwCi1rZXlEb3du
KCdcdCcpOyAvLyAgICAgICAgLT4gV2VlayA1MywgWzEwMDBdCi1rZXlEb3duKCdkb3duQXJyb3cn
KTsgLy8gLT4gV2VlayA1MywgWzI3NTc2MF0sIHdoaWNoIGlzIGdyZWF0ZXIgdGhhbiB0aGUgaGFy
ZCBsaW1pdC4KLXNob3VsZEJlRXF1YWxUb1N0cmluZygnaW5wdXQudmFsdWUnLCAnJyk7Ci0KLWJl
Z2luVGVzdCgnSW5jb25zaXN0ZW50IG1pbi1tYXggYXR0cmlidXRlcycsICcxOTk5LVcxMicsICcx
OTk5LVcxMicsICcxMDAwLVcwMScpOwota2V5RG93bigndXBBcnJvdycpOyAvLyAtPiBXZWVrIFsx
M10sIDE5OTkuCi1rZXlEb3duKCdcdCcpOyAvLyAtPiBXZWVrIDEzLCBbMTk5OV0KLWtleURvd24o
J3VwQXJyb3cnKTsgLy8gLT4gV2VlayAxMywgWzEwMDBdLiAgMTAwMCBpcyB0aGUgc3dhcHBlZCBt
aW5pbXVtIHllYXIuCi1zaG91bGRCZUVxdWFsVG9TdHJpbmcoJ2lucHV0LnZhbHVlJywgJzEwMDAt
VzEzJyk7Ci1rZXlEb3duKCdkb3duQXJyb3cnKTsgLy8gLT4gV2VlayAwMSwgWzE5OTldCi1zaG91
bGRCZUVxdWFsVG9TdHJpbmcoJ2lucHV0LnZhbHVlJywgJzE5OTktVzEzJyk7Ci0KLWJlZ2luVGVz
dCgnTWFrZSBhbiBpbnZhbGlkIGRhdGUnLCAnMjAxMi1XMDEnKTsKLWtleURvd24oJ2Rvd25BcnJv
dycpOyAvLyAtPiBXZWVrIFs1M10sIDIwMTIKLXNob3VsZEJlRXF1YWxUb1N0cmluZygnaW5wdXQu
dmFsdWUnLCAnJyk7IC8vIDIwMTItVzUzIGlzIG5vdCBhIHZhbGlkIGRhdGUuCi0KLWJlZ2luVGVz
dCgnQmFja3NwYWNlIGtleScsICcyMDEyLVcwOScpOwota2V5RG93bigiXGIiKTsgLy8gLT4gV2Vl
ayBbd3ddLCAyMDEyCi1zaG91bGRCZUVxdWFsVG9TdHJpbmcoJ2lucHV0LnZhbHVlJywgJycpOwot
Ci1iZWdpblRlc3QoJ0RlbGV0ZSBrZXknLCAnMjAxMi1XMDknKTsKLWtleURvd24oImRlbGV0ZSIp
OyAvLyAtPiBXZWVrIFt3d10sIDIwMTIKLXNob3VsZEJlRXF1YWxUb1N0cmluZygnaW5wdXQudmFs
dWUnLCAnJyk7Ci0KLWJlZ2luVGVzdCgnVHlwZWFoZWFkJywgJzIwMTItVzEyJyk7Ci1rZXlEb3du
KCdyaWdodEFycm93Jyk7IC8vIC0+IFdlZWsgMTIsIFsyMDEyXQota2V5RG93bignMScpOyAvLyAg
ICAgICAgICAtPiBXZWVrIDAxLCBbMDAwMV0KLXNob3VsZEJlRXF1YWxUb1N0cmluZygnaW5wdXQu
dmFsdWUnLCAnMDAwMS1XMTInKTsKLWtleURvd24oJ2xlZnRBcnJvdycpOyAvLyAgLT4gV2VlayBb
MTJdLCAwMDAxCi1rZXlEb3duKCdyaWdodEFycm93Jyk7IC8vIC0+IFdlZWsgMTIsIFswMDAxXQot
a2V5RG93bignMicpOyAvLyAgICAgICAgICAtPiBXZWVrIDEyLCBbMDAwMl0KLXNob3VsZEJlRXF1
YWxUb1N0cmluZygnaW5wdXQudmFsdWUnLCAnMDAwMi1XMTInKTsKLQotYmVnaW5UZXN0KCdEaXNh
YmxlZC9yZWFkb25seScsICcyMDEyLVcxMCcpOwotaW5wdXQuZGlzYWJsZWQgPSB0cnVlOwota2V5
RG93bigndXBBcnJvdycpOyAvLyBXZWVrIDEwLCAyMDEyCi1zaG91bGRCZUVxdWFsVG9TdHJpbmco
J2lucHV0LnZhbHVlJywgJzIwMTItVzEwJyk7Ci1pbnB1dC5kaXNhYmxlZCA9IGZhbHNlOwotaW5w
dXQuZm9jdXMoKTsKLWtleURvd24oJ3VwQXJyb3cnKTsgLy8gV2VlayBbMTFdLCAyMDEyCi1zaG91
bGRCZUVxdWFsVG9TdHJpbmcoJ2lucHV0LnZhbHVlJywgJzIwMTItVzExJyk7Ci1pbnB1dC5yZWFk
T25seSA9IHRydWU7Ci1rZXlEb3duKCd1cEFycm93Jyk7IC8vIFdlZWsgWzExXSwgMjAxMgotc2hv
dWxkQmVFcXVhbFRvU3RyaW5nKCdpbnB1dC52YWx1ZScsICcyMDEyLVcxMScpOwotaW5wdXQucmVh
ZE9ubHkgPSBmYWxzZTsKLWlucHV0LmZvY3VzKCk7Ci1rZXlEb3duKCd1cEFycm93Jyk7IC8vIFdl
ZWsgWzEyXSwgMjAxMgotc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdpbnB1dC52YWx1ZScsICcyMDEy
LVcxMicpOwotCi08L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIuLi8uLi9qcy9yZXNvdXJjZXMvanMt
dGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KLTwvYm9keT4KLTwvaHRtbD4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2Zhc3QvZm9ybXMvd2Vlay1tdWx0aXBsZS1maWVsZHMvd2Vlay1tdWx0aXBsZS1m
aWVsZHMtbW91c2UtZXZlbnRzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMv
d2Vlay1tdWx0aXBsZS1maWVsZHMvd2Vlay1tdWx0aXBsZS1maWVsZHMtbW91c2UtZXZlbnRzLWV4
cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYjcwZWQ1MTIxYmMwZDcx
N2MyZTRiYzI4NzJkZDBlZDI4M2ZhOTRjMC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3dlZWstbXVsdGlwbGUtZmll
bGRzL3dlZWstbXVsdGlwbGUtZmllbGRzLW1vdXNlLWV2ZW50cy1leHBlY3RlZC50eHQKKysrIC9k
ZXYvbnVsbApAQCAtMSwzOCArMCwwIEBACi1NdWx0aXBsZSBmaWVsZHMgVUkgb2YgZGF0ZSBpbnB1
dCB0eXBlIHdpdGggbW91c2UgZXZlbnRzCi0KLU9uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNl
cmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KLQot
Ci1QbGVhc2UgcnVuIHRoaXMgd2l0aCBEUlQgb3IgV1RSLgotCi1UZXN0IGZvbGxvd2luZyBtb3Vz
ZSBhY3Rpb25zOgotTW91c2UgY2xpY2sgdG8gZm9jdXMgZWFjaCBvZiBzdWItZmllbGRzCi1Nb3Vz
ZSBjbGljayBvbiB0aGUgc3BpbiBidXR0b24gdG8gdXBkYXRlIGVhY2ggb2Ygc3ViLWZpZWxkcwot
Ci09PT4gRm9jdXMgb24gdGhlIHdlZWsgZmllbGQuCi1QQVNTIGlucHV0LnZhbHVlIGlzICIyMzQ1
LVcwOCIKLVBBU1MgaW5wdXQudmFsdWUgaXMgIjIzNDUtVzA5IgotUEFTUyBpbnB1dC52YWx1ZSBp
cyAiMjM0NS1XMDgiCi1QQVNTIHdpbmRvdy5nZXRTZWxlY3Rpb24oKS5yYW5nZUNvdW50IGlzIDAK
LQotPT0+IEZvY3VzIG9uIHRoZSB5ZWFyIGZpZWxkLgotUEFTUyBpbnB1dC52YWx1ZSBpcyAiMjM0
Ni1XMDgiCi1QQVNTIGlucHV0LnZhbHVlIGlzICIyMzQ3LVcwOCIKLVBBU1MgaW5wdXQudmFsdWUg
aXMgIjIzNDYtVzA4IgotUEFTUyB3aW5kb3cuZ2V0U2VsZWN0aW9uKCkucmFuZ2VDb3VudCBpcyAw
Ci0KLT09PiBDbGljayBvbiBhIGRpc2FibGVkIGZpZWxkLgotUEFTUyBpbnB1dC52YWx1ZSBpcyAi
MjM0Ni1XMDgiCi0KLT09PiBDbGljayBvbiBhIHJlYWQtb25seSBmaWVsZC4KLVBBU1MgaW5wdXQu
dmFsdWUgaXMgIjIzNDYtVzA4IgotCi09PT4gQ2xpY2sgb24gY2xlYXIgYnV0dG9uLgotUEFTUyBp
bnB1dC52YWx1ZSBpcyAiMjM0Ni1XMDgiCi1QQVNTIGlucHV0LnZhbHVlIGlzICIyMzQ2LVcwOCIK
LVBBU1MgaW5wdXQudmFsdWUgaXMgIiIKLQotUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1
ZQotCi1URVNUIENPTVBMRVRFCi0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMv
d2Vlay1tdWx0aXBsZS1maWVsZHMvd2Vlay1tdWx0aXBsZS1maWVsZHMtbW91c2UtZXZlbnRzLmh0
bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3dlZWstbXVsdGlwbGUtZmllbGRzL3dlZWstbXVs
dGlwbGUtZmllbGRzLW1vdXNlLWV2ZW50cy5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCBiNzJiZjMyMjU0ZjIzMzY0ODcyZTBkZmJlZTNlY2FkODNhMDUyNjhmLi4wMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZm9y
bXMvd2Vlay1tdWx0aXBsZS1maWVsZHMvd2Vlay1tdWx0aXBsZS1maWVsZHMtbW91c2UtZXZlbnRz
Lmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSw5NyArMCwwIEBACi08IURPQ1RZUEUgaHRtbD4KLTxo
dG1sPgotPGhlYWQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJl
LmpzIj48L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5PgotPHAgaWQ9ImRlc2NyaXB0aW9uIj48L3A+
Ci08cD4KLVBsZWFzZSBydW4gdGhpcyB3aXRoIERSVCBvciBXVFIuCi08L3A+Ci1UZXN0IGZvbGxv
d2luZyBtb3VzZSBhY3Rpb25zOgotPHVsPgotICAgIDxsaT5Nb3VzZSBjbGljayB0byBmb2N1cyBl
YWNoIG9mIHN1Yi1maWVsZHM8L2xpPgotICAgIDxsaT5Nb3VzZSBjbGljayBvbiB0aGUgc3BpbiBi
dXR0b24gdG8gdXBkYXRlIGVhY2ggb2Ygc3ViLWZpZWxkczwvbGk+Ci08L3VsPgotPGlucHV0IGlk
PSJpbnB1dCIgdHlwZT0id2VlayIgc3R5bGU9ImZvbnQtZmFtaWx5OmFoZW07IGZvbnQtc2l6ZTox
NnB4OyI+Ci08ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KLTxzY3JpcHQ+Ci1kZXNjcmlwdGlvbign
TXVsdGlwbGUgZmllbGRzIFVJIG9mIGRhdGUgaW5wdXQgdHlwZSB3aXRoIG1vdXNlIGV2ZW50cycp
OwotdmFyIGlucHV0ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2lucHV0Jyk7Ci0KLWZ1bmN0
aW9uIGtleURvd24oa2V5LCBtb2RpZmllcnMpCi17Ci0gICAgaWYgKCF3aW5kb3cuZXZlbnRTZW5k
ZXIpCi0gICAgICAgIHJldHVybjsKLSAgICBldmVudFNlbmRlci5rZXlEb3duKGtleSwgbW9kaWZp
ZXJzKTsKLX0KLQotZnVuY3Rpb24gbW91c2VDbGlja09uKHgsIHkpCi17Ci0gICAgaWYgKCF3aW5k
b3cuZXZlbnRTZW5kZXIpCi0gICAgICAgIHJldHVybjsKLSAgICBldmVudFNlbmRlci5tb3VzZU1v
dmVUbyh4ICsgaW5wdXQub2Zmc2V0TGVmdCwgeSArIGlucHV0Lm9mZnNldFRvcCk7Ci0gICAgZXZl
bnRTZW5kZXIubW91c2VEb3duKCk7Ci0gICAgZXZlbnRTZW5kZXIubW91c2VVcCgpOwotfQotCi1p
bnB1dC52YWx1ZSA9ICcyMzQ1LVcwNyc7Ci12YXIgY2VudGVyID0gaW5wdXQub2Zmc2V0SGVpZ2h0
IC8gMjsKLXZhciBzcGluQnV0dG9uT2Zmc2V0ID0gMjY7Ci12YXIgY2xlYXJCdXR0b25PZmZzZXQg
PSA0MTsKLQotZGVidWcoJz09PiBGb2N1cyBvbiB0aGUgd2VlayBmaWVsZC4nKTsKLW1vdXNlQ2xp
Y2tPbigxMDAsIGNlbnRlcik7Ci1rZXlEb3duKCd1cEFycm93Jyk7Ci1zaG91bGRCZUVxdWFsVG9T
dHJpbmcoJ2lucHV0LnZhbHVlJywgJzIzNDUtVzA4Jyk7Ci1tb3VzZUNsaWNrT24oaW5wdXQub2Zm
c2V0V2lkdGggLSBzcGluQnV0dG9uT2Zmc2V0LCBjZW50ZXIgLSAxKTsKLXNob3VsZEJlRXF1YWxU
b1N0cmluZygnaW5wdXQudmFsdWUnLCAnMjM0NS1XMDknKTsKLW1vdXNlQ2xpY2tPbihpbnB1dC5v
ZmZzZXRXaWR0aCAtIHNwaW5CdXR0b25PZmZzZXQsIGNlbnRlciArIDEpOwotc2hvdWxkQmVFcXVh
bFRvU3RyaW5nKCdpbnB1dC52YWx1ZScsICcyMzQ1LVcwOCcpOwotc2hvdWxkQmVaZXJvKCd3aW5k
b3cuZ2V0U2VsZWN0aW9uKCkucmFuZ2VDb3VudCcpOyAvLyBObyB0ZXh0IHNlbGVjdGlvbi4KLQot
ZGVidWcoJycpOwotZGVidWcoJz09PiBGb2N1cyBvbiB0aGUgeWVhciBmaWVsZC4nKTsKLW1vdXNl
Q2xpY2tPbigyMDAsIGNlbnRlcik7Ci1rZXlEb3duKCd1cEFycm93Jyk7Ci1zaG91bGRCZUVxdWFs
VG9TdHJpbmcoJ2lucHV0LnZhbHVlJywgJzIzNDYtVzA4Jyk7Ci1tb3VzZUNsaWNrT24oaW5wdXQu
b2Zmc2V0V2lkdGggLSBzcGluQnV0dG9uT2Zmc2V0LCBjZW50ZXIgLSAxKTsKLXNob3VsZEJlRXF1
YWxUb1N0cmluZygnaW5wdXQudmFsdWUnLCAnMjM0Ny1XMDgnKTsKLW1vdXNlQ2xpY2tPbihpbnB1
dC5vZmZzZXRXaWR0aCAtIHNwaW5CdXR0b25PZmZzZXQsIGNlbnRlciArIDEpOwotc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCdpbnB1dC52YWx1ZScsICcyMzQ2LVcwOCcpOwotc2hvdWxkQmVaZXJvKCd3
aW5kb3cuZ2V0U2VsZWN0aW9uKCkucmFuZ2VDb3VudCcpOyAvLyBObyB0ZXh0IHNlbGVjdGlvbi4K
LQotZGVidWcoJycpOwotZGVidWcoJz09PiBDbGljayBvbiBhIGRpc2FibGVkIGZpZWxkLicpOwot
aW5wdXQuZGlzYWJsZWQgPSB0cnVlOwotbW91c2VDbGlja09uKDEwMCwgY2VudGVyKTsKLWtleURv
d24oJ3VwQXJyb3cnKTsKLXNob3VsZEJlRXF1YWxUb1N0cmluZygnaW5wdXQudmFsdWUnLCAnMjM0
Ni1XMDgnKTsKLWlucHV0LmRpc2FibGVkID0gZmFsc2U7Ci0KLWRlYnVnKCcnKTsKLWRlYnVnKCc9
PT4gQ2xpY2sgb24gYSByZWFkLW9ubHkgZmllbGQuJyk7Ci1pbnB1dC5yZWFkT25seSA9IHRydWU7
Ci1tb3VzZUNsaWNrT24oMTIsIGNlbnRlcik7Ci1rZXlEb3duKCd1cEFycm93Jyk7Ci1zaG91bGRC
ZUVxdWFsVG9TdHJpbmcoJ2lucHV0LnZhbHVlJywgJzIzNDYtVzA4Jyk7Ci1pbnB1dC5yZWFkT25s
eSA9IGZhbHNlOwotCi1kZWJ1ZygnJyk7Ci1kZWJ1ZygnPT0+IENsaWNrIG9uIGNsZWFyIGJ1dHRv
bi4nKTsKLWlucHV0LnJlYWRPbmx5ID0gdHJ1ZTsKLW1vdXNlQ2xpY2tPbihpbnB1dC5vZmZzZXRX
aWR0aCAtIGNsZWFyQnV0dG9uT2Zmc2V0LCBjZW50ZXIpOwotc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCdpbnB1dC52YWx1ZScsICcyMzQ2LVcwOCcpOwotaW5wdXQuZGlzYWJsZWQgPSB0cnVlOwotaW5w
dXQucmVhZE9ubHkgPSBmYWxzZTsKLW1vdXNlQ2xpY2tPbihpbnB1dC5vZmZzZXRXaWR0aCAtIGNs
ZWFyQnV0dG9uT2Zmc2V0LCBjZW50ZXIpOwotc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdpbnB1dC52
YWx1ZScsICcyMzQ2LVcwOCcpOwotaW5wdXQuZGlzYWJsZWQgPSBmYWxzZTsKLW1vdXNlQ2xpY2tP
bihpbnB1dC5vZmZzZXRXaWR0aCAtIGNsZWFyQnV0dG9uT2Zmc2V0LCBjZW50ZXIpOwotc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCdpbnB1dC52YWx1ZScsICcnKTsKLQotZGVidWcoJycpOwotPC9zY3Jp
cHQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9z
Y3JpcHQ+Ci08L2JvZHk+Ci08L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Zv
cm1zL3dlZWstbXVsdGlwbGUtZmllbGRzL3dlZWstbXVsdGlwbGUtZmllbGRzLXByZXNlcnZlLXZh
bHVlLWFmdGVyLWhpc3RvcnktYmFjay1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2Zv
cm1zL3dlZWstbXVsdGlwbGUtZmllbGRzL3dlZWstbXVsdGlwbGUtZmllbGRzLXByZXNlcnZlLXZh
bHVlLWFmdGVyLWhpc3RvcnktYmFjay1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IGFlNWRhMzQ1YjM3OWJmMjZmNjhmOWVkMDE4ODdjYTI2OWMwNmI4MzAuLjAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvZmFz
dC9mb3Jtcy93ZWVrLW11bHRpcGxlLWZpZWxkcy93ZWVrLW11bHRpcGxlLWZpZWxkcy1wcmVzZXJ2
ZS12YWx1ZS1hZnRlci1oaXN0b3J5LWJhY2stZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAg
LTEsMTggKzAsMCBAQAotQ2hlY2tzIGlucHV0IHZhbHVlIGlzIHByZXNlcnZlZCBhZnRlciBiYWNr
d2FyZCBhbmQgZm9yd2FyZAotCi1PbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2Yg
IlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCi0KLQotV2VudCBi
YWNrIHRvIGEgcGFnZS4gQ2hlY2tpbmcgYSBmb3JtIGNvbnRyb2wgd2hpY2ggaGFkIGEgZnVsbCB2
YWx1ZToKLVBBU1MgIjEyMDEyLVcxMCIgaXMgIjEyMDEyLVcxMCIKLVdlbnQgYmFjayB0byBhIHBh
Z2UuIENoZWNraW5nIGEgZm9ybSBjb250cm9sIHdoaWNoIGhhZCBhIHBhcnRpYWwgdmFsdWU6Ci1Q
QVNTICJXZWVrIDAxLCAtLS0tIiBpcyAiV2VlayAwMSwgLS0tLSIKLVdlbnQgZm9yd2FyZCB0byBh
IHBhZ2UuIENoZWNraW5nIGEgZm9ybSBjb250cm9sIHdoaWNoIGhhZCBhIGZ1bGwgdmFsdWU6Ci1Q
QVNTICIwMDAxLVcxMSIgaXMgIjAwMDEtVzExIgotV2VudCBmb3J3YXJkIHRvIGEgcGFnZS4gQ2hl
Y2tpbmcgYSBmb3JtIGNvbnRyb2wgd2hpY2ggaGFkIGEgcGFydGlhbCB2YWx1ZToKLVBBU1MgIldl
ZWsgLS0sIDE5OTkiIGlzICJXZWVrIC0tLCAxOTk5IgotCi1QQVNTIHN1Y2Nlc3NmdWxseVBhcnNl
ZCBpcyB0cnVlCi0KLVRFU1QgQ09NUExFVEUKLQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFz
dC9mb3Jtcy93ZWVrLW11bHRpcGxlLWZpZWxkcy93ZWVrLW11bHRpcGxlLWZpZWxkcy1wcmVzZXJ2
ZS12YWx1ZS1hZnRlci1oaXN0b3J5LWJhY2suaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMv
d2Vlay1tdWx0aXBsZS1maWVsZHMvd2Vlay1tdWx0aXBsZS1maWVsZHMtcHJlc2VydmUtdmFsdWUt
YWZ0ZXItaGlzdG9yeS1iYWNrLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDVm
ZGE2ZDk3N2Q5ZTBiNmY0NTQwYzdjMmE4NDdiODZhZWNiMzkxMmQuLjAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy93ZWVr
LW11bHRpcGxlLWZpZWxkcy93ZWVrLW11bHRpcGxlLWZpZWxkcy1wcmVzZXJ2ZS12YWx1ZS1hZnRl
ci1oaXN0b3J5LWJhY2suaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDQyICswLDAgQEAKLTwhRE9D
VFlQRSBodG1sPgotPGh0bWw+Ci08aGVhZD4KLTxzY3JpcHQgc3JjPSIuLi8uLi8uLi9mYXN0L2pz
L3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keT4KLTxp
ZnJhbWUgaWQ9ImlmcmFtZSI+PC9pZnJhbWU+Ci08c2NyaXB0PgotZGVzY3JpcHRpb24oJ0NoZWNr
cyBpbnB1dCB2YWx1ZSBpcyBwcmVzZXJ2ZWQgYWZ0ZXIgYmFja3dhcmQgYW5kIGZvcndhcmQnKTsK
LWlmICghd2luZG93LmV2ZW50U2VuZGVyIHx8ICF3aW5kb3cuaW50ZXJuYWxzKQotICAgIGRlYnVn
KCdQbGVhc2UgcnVuIHdpdGhpbiBEUlQvV1RSJyk7Ci13aW5kb3cuanNUZXN0SXNBc3luYyA9IHRy
dWU7Ci0KLXZhciBzdGF0ZSA9ICdkaXJlY3QnOwotdmFyIHRlc3RDYXNlcyA9IFtdOwotCi1mdW5j
dGlvbiBmYWlsZWQobWVzc2FnZSkgewotICAgIHRlc3RGYWlsZWQobWVzc2FnZSArICcgaW4gJyAr
IHN0YXRlKTsKLSAgICBmaW5pc2hKU1Rlc3QoKTsKLX0KLQotZnVuY3Rpb24gZmluaXNoVGVzdCgp
IHsKLSAgICBydW5UZXN0Q2FzZXMoKTsKLSAgICBmaW5pc2hKU1Rlc3QoKTsKLX0KLQotZnVuY3Rp
b24gcnVuVGVzdENhc2VzKCkgewotICAgIGZvciAodmFyIGluZGV4ID0gMDsgaW5kZXggPCB0ZXN0
Q2FzZXMubGVuZ3RoOyArK2luZGV4KSB7Ci0gICAgICAgIHZhciB0ZXN0Q2FzZSA9IHRlc3RDYXNl
c1tpbmRleF07Ci0gICAgICAgIGRlYnVnKHRlc3RDYXNlWydkZXNjcmlwdGlvbiddICsgJzonKTsK
LSAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCciJyArIHRlc3RDYXNlWydhY3R1YWwnXSAr
ICciJywgdGVzdENhc2VbJ2V4cGVjdGVkJ10pOwotICAgIH0KLSAgICBkZWJ1ZygnJyk7Ci19Ci0K
LXdpbmRvdy5vbmxvYWQgPSBmdW5jdGlvbigpIHsKLSAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgnaWZyYW1lJykuc3JjID0gJ3Jlc291cmNlcy9wcmVzZXJ2ZS12YWx1ZS1hZnRlci1oaXN0b3J5
LWJhY2stZnJhbWUuaHRtbD9wYWdlMSc7Ci19OwotPC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iLi4v
Li4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KLTwvYm9k
eT4KLTwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvd2Vlay1tdWx0
aXBsZS1maWVsZHMvd2Vlay1tdWx0aXBsZS1maWVsZHMtcmVhZG9ubHktc3ViZmllbGQtZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy93ZWVrLW11bHRpcGxlLWZpZWxkcy93ZWVr
LW11bHRpcGxlLWZpZWxkcy1yZWFkb25seS1zdWJmaWVsZC1leHBlY3RlZC50eHQKZGVsZXRlZCBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDBiYTZhNDUyM2VlOGEyN2UyYTllMDE4NmNhZDJlYjk3YWFj
YjliNTAuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5
b3V0VGVzdHMvZmFzdC9mb3Jtcy93ZWVrLW11bHRpcGxlLWZpZWxkcy93ZWVrLW11bHRpcGxlLWZp
ZWxkcy1yZWFkb25seS1zdWJmaWVsZC1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSwz
MSArMCwwIEBACi1TdWItZmllbGRzIGluIGlucHV0W3R5cGU9d2Vla10gc2hvdWxkIGJlIHJlYWQt
b25seSBpbiBzb21lIGNhc2VzLiBUaGlzIHJlcXVpcmVzIHdpbmRvdy5pbnRlcm5hbHMuCi0KLU9u
IHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxv
d2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KLQotCi1jcmVhdGVXZWVrSW5wdXQgYXJndW1lbnQgb3Jk
ZXI6IG1pbiwgbWF4LCB2YWx1ZQotCi1ZZWFyIGZpZWxkOgotUEFTUyBpc1JlYWRPbmx5RmllbGQo
Y3JlYXRlV2Vla0lucHV0KCIiLCAiIiwgIiIpLCBwc2V1ZG9ZZWFyKSBpcyBmYWxzZQotUEFTUyBp
c1JlYWRPbmx5RmllbGQoY3JlYXRlV2Vla0lucHV0KCIyMDEyLVc1MCIsICIiLCAiIiksIHBzZXVk
b1llYXIpIGlzIGZhbHNlCi1QQVNTIGlzUmVhZE9ubHlGaWVsZChjcmVhdGVXZWVrSW5wdXQoIiIs
ICIyMDEyLVc1MCIsICIiKSwgcHNldWRvWWVhcikgaXMgZmFsc2UKLVBBU1MgaXNSZWFkT25seUZp
ZWxkKGNyZWF0ZVdlZWtJbnB1dCgiIiwgIiIsICIyMDEyLVc1MCIpLCBwc2V1ZG9ZZWFyKSBpcyBm
YWxzZQotUEFTUyBpc1JlYWRPbmx5RmllbGQoY3JlYXRlV2Vla0lucHV0KCIyMDEyLVcwMSIsICIy
MDEyLVc1MCIsICIiKSwgcHNldWRvWWVhcikgaXMgdHJ1ZQotUEFTUyBpc1JlYWRPbmx5RmllbGQo
Y3JlYXRlV2Vla0lucHV0KCIyMDEyLVcwMSIsICIyMDEzLVc1MCIsICIiKSwgcHNldWRvWWVhcikg
aXMgZmFsc2UKLVBBU1MgaXNSZWFkT25seUZpZWxkKGNyZWF0ZVdlZWtJbnB1dCgiMjAxMi1XMDEi
LCAiMjAxMi1XNTAiLCAiMjAxMi1XMDUiKSwgcHNldWRvWWVhcikgaXMgdHJ1ZQotUEFTUyBpc1Jl
YWRPbmx5RmllbGQoY3JlYXRlV2Vla0lucHV0KCIyMDEyLVcwMSIsICIyMDEyLVc1MCIsICIyMDEz
LVcwMSIpLCBwc2V1ZG9ZZWFyKSBpcyBmYWxzZQotV2VlayBmaWVsZDoKLVdlIHNob3VsZCBub3Qg
bWFrZSBhbGwgdGhlIGZpZWxkcyByZWFkb25seSBieSBtaW4vbWF4LCBzbyB3ZWVrIGZpZWxkIGlz
IGFsd2F5cyBlZGl0YWJsZS4KLVBBU1MgaXNSZWFkT25seUZpZWxkKGNyZWF0ZVdlZWtJbnB1dCgi
IiwgIiIsICIiKSwgcHNldWRvV2VlaykgaXMgZmFsc2UKLVBBU1MgaXNSZWFkT25seUZpZWxkKGNy
ZWF0ZVdlZWtJbnB1dCgiMjAxMi1XNTAiLCAiIiwgIiIpLCBwc2V1ZG9XZWVrKSBpcyBmYWxzZQot
UEFTUyBpc1JlYWRPbmx5RmllbGQoY3JlYXRlV2Vla0lucHV0KCIiLCAiMjAxMi1XNTAiLCAiIiks
IHBzZXVkb1dlZWspIGlzIGZhbHNlCi1QQVNTIGlzUmVhZE9ubHlGaWVsZChjcmVhdGVXZWVrSW5w
dXQoIiIsICIiLCAiMjAxMi1XNTAiKSwgcHNldWRvV2VlaykgaXMgZmFsc2UKLVBBU1MgaXNSZWFk
T25seUZpZWxkKGNyZWF0ZVdlZWtJbnB1dCgiMjAxMi1XNTAiLCAiMjAxMi1XNTAiLCAiIiksIHBz
ZXVkb1dlZWspIGlzIGZhbHNlCi1QQVNTIGlzUmVhZE9ubHlGaWVsZChjcmVhdGVXZWVrSW5wdXQo
IjIwMTItVzQ5IiwgIjIwMTMtVzUwIiwgIiIpLCBwc2V1ZG9XZWVrKSBpcyBmYWxzZQotUEFTUyBp
c1JlYWRPbmx5RmllbGQoY3JlYXRlV2Vla0lucHV0KCIyMDEyLVc1MCIsICIyMDEzLVc1MCIsICIi
KSwgcHNldWRvV2VlaykgaXMgZmFsc2UKLVBBU1MgaXNSZWFkT25seUZpZWxkKGNyZWF0ZVdlZWtJ
bnB1dCgiMjAxMi1XNTAiLCAiMjAxMi1XNTAiLCAiMjAxMi1XNTAiKSwgcHNldWRvV2VlaykgaXMg
ZmFsc2UKLVBBU1MgaXNSZWFkT25seUZpZWxkKGNyZWF0ZVdlZWtJbnB1dCgiMjAxMi1XNTAiLCAi
MjAxMi1XNTAiLCAiMjAxMi1XNDkiKSwgcHNldWRvV2VlaykgaXMgZmFsc2UKLVBBU1Mgc3VjY2Vz
c2Z1bGx5UGFyc2VkIGlzIHRydWUKLQotVEVTVCBDT01QTEVURQotCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9mYXN0L2Zvcm1zL3dlZWstbXVsdGlwbGUtZmllbGRzL3dlZWstbXVsdGlwbGUtZmll
bGRzLXJlYWRvbmx5LXN1YmZpZWxkLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3dlZWst
bXVsdGlwbGUtZmllbGRzL3dlZWstbXVsdGlwbGUtZmllbGRzLXJlYWRvbmx5LXN1YmZpZWxkLmh0
bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDYyYWFlMjFiODNhMTAxMjZmOGJkZmJm
NDRhZjBhZGExOWRmYjYwMjIuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy93ZWVrLW11bHRpcGxlLWZpZWxkcy93ZWVr
LW11bHRpcGxlLWZpZWxkcy1yZWFkb25seS1zdWJmaWVsZC5odG1sCisrKyAvZGV2L251bGwKQEAg
LTEsNTcgKzAsMCBAQAotPCFET0NUWVBFIGh0bWw+Ci08Ym9keT4KLTxzY3JpcHQgc3JjPSIuLi8u
Li9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgotPHNjcmlwdD4KLWZ1bmN0
aW9uIGNyZWF0ZVdlZWtJbnB1dChtaW4sIG1heCwgdmFsdWUpIHsKLSAgICB2YXIgaW5wdXQgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KCdpbnB1dCcpOwotICAgIGlucHV0LnR5cGUgPSAnd2Vlayc7
Ci0gICAgaWYgKG1pbikKLSAgICAgICAgaW5wdXQubWluID0gbWluOwotICAgIGlmIChtYXgpCi0g
ICAgICAgIGlucHV0Lm1heCA9IG1heDsKLSAgICBpZiAodmFsdWUpCi0gICAgICAgIGlucHV0LnZh
bHVlID0gdmFsdWU7Ci0gICAgcmV0dXJuIGlucHV0OwotfQotCi0vLyBGSVhNRTogUmVuYW1lIHRo
aXMgZnVuY3Rpb24gYW5kIHRoZSB0ZXN0IGZpbGUuCi1mdW5jdGlvbiBpc1JlYWRPbmx5RmllbGQo
aW5wdXQsIHBzZXVkbykgewotICAgIHZhciBub2RlID0gaW50ZXJuYWxzLnlvdW5nZXN0U2hhZG93
Um9vdChpbnB1dCkucXVlcnlTZWxlY3RvcignKltwc2V1ZG89IicgKyBwc2V1ZG8gKyAnIl0nKTsK
LSAgICBpZiAoIW5vZGUpCi0gICAgICAgIHRlc3RGYWlsZWQoJ1JlcXVlc3RlZCBub2RlIGlzIG1p
c3NpbmcuJyk7Ci0gICAgcmV0dXJuIG5vZGUgJiYgbm9kZS5oYXNBdHRyaWJ1dGUoJ2Rpc2FibGVk
Jyk7Ci19Ci0KLXZhciBwc2V1ZG9XZWVrID0gJy13ZWJraXQtZGF0ZXRpbWUtZWRpdC13ZWVrLWZp
ZWxkJzsKLXZhciBwc2V1ZG9ZZWFyID0gJy13ZWJraXQtZGF0ZXRpbWUtZWRpdC15ZWFyLWZpZWxk
JzsKLQotZGVzY3JpcHRpb24oJ1N1Yi1maWVsZHMgaW4gaW5wdXRbdHlwZT13ZWVrXSBzaG91bGQg
YmUgcmVhZC1vbmx5IGluIHNvbWUgY2FzZXMuIFRoaXMgcmVxdWlyZXMgd2luZG93LmludGVybmFs
cy4nKTsKLWRlYnVnKCdjcmVhdGVXZWVrSW5wdXQgYXJndW1lbnQgb3JkZXI6IG1pbiwgbWF4LCB2
YWx1ZScpOwotZGVidWcoJycpOwotCi1kZWJ1ZygnWWVhciBmaWVsZDonKTsKLXNob3VsZEJlRmFs
c2UoJ2lzUmVhZE9ubHlGaWVsZChjcmVhdGVXZWVrSW5wdXQoIiIsICIiLCAiIiksIHBzZXVkb1ll
YXIpJyk7Ci1zaG91bGRCZUZhbHNlKCdpc1JlYWRPbmx5RmllbGQoY3JlYXRlV2Vla0lucHV0KCIy
MDEyLVc1MCIsICIiLCAiIiksIHBzZXVkb1llYXIpJyk7Ci1zaG91bGRCZUZhbHNlKCdpc1JlYWRP
bmx5RmllbGQoY3JlYXRlV2Vla0lucHV0KCIiLCAiMjAxMi1XNTAiLCAiIiksIHBzZXVkb1llYXIp
Jyk7Ci1zaG91bGRCZUZhbHNlKCdpc1JlYWRPbmx5RmllbGQoY3JlYXRlV2Vla0lucHV0KCIiLCAi
IiwgIjIwMTItVzUwIiksIHBzZXVkb1llYXIpJyk7Ci1zaG91bGRCZVRydWUoJ2lzUmVhZE9ubHlG
aWVsZChjcmVhdGVXZWVrSW5wdXQoIjIwMTItVzAxIiwgIjIwMTItVzUwIiwgIiIpLCBwc2V1ZG9Z
ZWFyKScpOwotc2hvdWxkQmVGYWxzZSgnaXNSZWFkT25seUZpZWxkKGNyZWF0ZVdlZWtJbnB1dCgi
MjAxMi1XMDEiLCAiMjAxMy1XNTAiLCAiIiksIHBzZXVkb1llYXIpJyk7Ci1zaG91bGRCZVRydWUo
J2lzUmVhZE9ubHlGaWVsZChjcmVhdGVXZWVrSW5wdXQoIjIwMTItVzAxIiwgIjIwMTItVzUwIiwg
IjIwMTItVzA1IiksIHBzZXVkb1llYXIpJyk7Ci1zaG91bGRCZUZhbHNlKCdpc1JlYWRPbmx5Rmll
bGQoY3JlYXRlV2Vla0lucHV0KCIyMDEyLVcwMSIsICIyMDEyLVc1MCIsICIyMDEzLVcwMSIpLCBw
c2V1ZG9ZZWFyKScpOwotCi1kZWJ1ZygnV2VlayBmaWVsZDonKTsKLWRlYnVnKCdXZSBzaG91bGQg
bm90IG1ha2UgYWxsIHRoZSBmaWVsZHMgcmVhZG9ubHkgYnkgbWluL21heCwgc28gd2VlayBmaWVs
ZCBpcyBhbHdheXMgZWRpdGFibGUuJyk7Ci1zaG91bGRCZUZhbHNlKCdpc1JlYWRPbmx5RmllbGQo
Y3JlYXRlV2Vla0lucHV0KCIiLCAiIiwgIiIpLCBwc2V1ZG9XZWVrKScpOwotc2hvdWxkQmVGYWxz
ZSgnaXNSZWFkT25seUZpZWxkKGNyZWF0ZVdlZWtJbnB1dCgiMjAxMi1XNTAiLCAiIiwgIiIpLCBw
c2V1ZG9XZWVrKScpOwotc2hvdWxkQmVGYWxzZSgnaXNSZWFkT25seUZpZWxkKGNyZWF0ZVdlZWtJ
bnB1dCgiIiwgIjIwMTItVzUwIiwgIiIpLCBwc2V1ZG9XZWVrKScpOwotc2hvdWxkQmVGYWxzZSgn
aXNSZWFkT25seUZpZWxkKGNyZWF0ZVdlZWtJbnB1dCgiIiwgIiIsICIyMDEyLVc1MCIpLCBwc2V1
ZG9XZWVrKScpOwotc2hvdWxkQmVGYWxzZSgnaXNSZWFkT25seUZpZWxkKGNyZWF0ZVdlZWtJbnB1
dCgiMjAxMi1XNTAiLCAiMjAxMi1XNTAiLCAiIiksIHBzZXVkb1dlZWspJyk7Ci1zaG91bGRCZUZh
bHNlKCdpc1JlYWRPbmx5RmllbGQoY3JlYXRlV2Vla0lucHV0KCIyMDEyLVc0OSIsICIyMDEzLVc1
MCIsICIiKSwgcHNldWRvV2VlayknKTsKLXNob3VsZEJlRmFsc2UoJ2lzUmVhZE9ubHlGaWVsZChj
cmVhdGVXZWVrSW5wdXQoIjIwMTItVzUwIiwgIjIwMTMtVzUwIiwgIiIpLCBwc2V1ZG9XZWVrKScp
Owotc2hvdWxkQmVGYWxzZSgnaXNSZWFkT25seUZpZWxkKGNyZWF0ZVdlZWtJbnB1dCgiMjAxMi1X
NTAiLCAiMjAxMi1XNTAiLCAiMjAxMi1XNTAiKSwgcHNldWRvV2VlayknKTsKLXNob3VsZEJlRmFs
c2UoJ2lzUmVhZE9ubHlGaWVsZChjcmVhdGVXZWVrSW5wdXQoIjIwMTItVzUwIiwgIjIwMTItVzUw
IiwgIjIwMTItVzQ5IiksIHBzZXVkb1dlZWspJyk7Ci0KLTwvc2NyaXB0PgotPHNjcmlwdCBzcmM9
Ii4uLy4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgotPC9ib2R5Pgot
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3dlZWstbXVsdGlwbGUtZmllbGRz
L3dlZWstbXVsdGlwbGUtZmllbGRzLXJlc2V0LXZhbHVlLWFmdGVyLXJlbG9hZHMtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy93ZWVrLW11bHRpcGxlLWZpZWxkcy93ZWVrLW11
bHRpcGxlLWZpZWxkcy1yZXNldC12YWx1ZS1hZnRlci1yZWxvYWRzLWV4cGVjdGVkLnR4dApkZWxl
dGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNTlkMDI0NzUzOWRmMDFjMDAwYjdlNzFiZjdhODgx
Zjc5ODRhYjdlMy4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0g
YS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3dlZWstbXVsdGlwbGUtZmllbGRzL3dlZWstbXVsdGlw
bGUtZmllbGRzLXJlc2V0LXZhbHVlLWFmdGVyLXJlbG9hZHMtZXhwZWN0ZWQudHh0CisrKyAvZGV2
L251bGwKQEAgLTEsMTUgKzAsMCBAQAotQ2hlY2tzIHJlbG9hZGluZyBwYWdlIHJlc2V0cyBpbnB1
dCB2YWx1ZXMKLQotT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBt
ZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgotCi0KLUluaXRpYWwgdmFsdWVz
OgotUEFTUyB0ZXN0SW5wdXQxLnZhbHVlIGlzICIiCi1QQVNTIHRlc3RJbnB1dDIudmFsdWUgaXMg
IjEyMzQtVzA1IgotUmVsb2FkZWQgdmFsdWVzOgotUEFTUyB0ZXN0SW5wdXQxLnZhbHVlIGlzICIi
Ci1QQVNTIHRlc3RJbnB1dDIudmFsdWUgaXMgIjEyMzQtVzA1IgotUEFTUyBzdWNjZXNzZnVsbHlQ
YXJzZWQgaXMgdHJ1ZQotCi1URVNUIENPTVBMRVRFCi0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2Zhc3QvZm9ybXMvd2Vlay1tdWx0aXBsZS1maWVsZHMvd2Vlay1tdWx0aXBsZS1maWVsZHMtcmVz
ZXQtdmFsdWUtYWZ0ZXItcmVsb2Fkcy5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy93ZWVr
LW11bHRpcGxlLWZpZWxkcy93ZWVrLW11bHRpcGxlLWZpZWxkcy1yZXNldC12YWx1ZS1hZnRlci1y
ZWxvYWRzLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDFjMDE2MmRlNjY3MDY1
OWI5MGM0ODk4ZDkxYzA5Njg3NGFjZWIwZmIuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy93ZWVrLW11bHRpcGxlLWZp
ZWxkcy93ZWVrLW11bHRpcGxlLWZpZWxkcy1yZXNldC12YWx1ZS1hZnRlci1yZWxvYWRzLmh0bWwK
KysrIC9kZXYvbnVsbApAQCAtMSw0MiArMCwwIEBACi08IURPQ1RZUEUgaHRtbD4KLTxodG1sPgot
PGhlYWQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1w
cmUuanMiPjwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHkgb25sb2FkPSJydW5Cb2R5TG9hZGVkKCki
PgotPGlmcmFtZSBpZD1pZnJhbWUgc3JjZG9jPSI8aW5wdXQgdHlwZT13ZWVrIGlkPSd0ZXN0MSc+
PGlucHV0IHR5cGU9J3dlZWsnIGlkPSd0ZXN0MicgdmFsdWU9JzEyMzQtVzA1Jz4iPjwvaWZyYW1l
PgotPHNjcmlwdD4KLWRlc2NyaXB0aW9uKCdDaGVja3MgcmVsb2FkaW5nIHBhZ2UgcmVzZXRzIGlu
cHV0IHZhbHVlcycpOwotd2luZG93LmpzVGVzdElzQXN5bmMgPSB0cnVlOwotCi12YXIgaWZyYW1l
ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2lmcmFtZScpOwotdmFyIHRlc3RJbnB1dDE7Ci12
YXIgdGVzdElucHV0MjsKLQotZnVuY3Rpb24gcnVuQm9keUxvYWRlZCgpCi17Ci0gICAgdGVzdElu
cHV0MSA9IGlmcmFtZS5jb250ZW50RG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3Rlc3QxJyk7Ci0g
ICAgdGVzdElucHV0MiA9IGlmcmFtZS5jb250ZW50RG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3Rl
c3QyJyk7Ci0gICAgZGVidWcoJ0luaXRpYWwgdmFsdWVzOicpOwotICAgIHNob3VsZEJlRXF1YWxU
b1N0cmluZygndGVzdElucHV0MS52YWx1ZScsICcnKTsKLSAgICBzaG91bGRCZUVxdWFsVG9TdHJp
bmcoJ3Rlc3RJbnB1dDIudmFsdWUnLCAnMTIzNC1XMDUnKTsKLSAgICB0ZXN0SW5wdXQxLnZhbHVl
ID0gJzIwMTItVzEwJzsKLSAgICB0ZXN0SW5wdXQyLnZhbHVlID0gJzIwMTItVzExJzsKLSAgICBp
ZnJhbWUuYWRkRXZlbnRMaXN0ZW5lcignbG9hZCcsIHBhcmVudC5ydW5PbklGcmFtZUxvYWQpOwot
ICAgIGlmcmFtZS5jb250ZW50V2luZG93LmxvY2F0aW9uLnJlbG9hZCgpOwotfQotCi1mdW5jdGlv
biBydW5PbklGcmFtZUxvYWQoKQotewotICAgIHRlc3RJbnB1dDEgPSBpZnJhbWUuY29udGVudERv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCd0ZXN0MScpOwotICAgIHRlc3RJbnB1dDIgPSBpZnJhbWUu
Y29udGVudERvY3VtZW50LmdldEVsZW1lbnRCeUlkKCd0ZXN0MicpOwotICAgIGRlYnVnKCdSZWxv
YWRlZCB2YWx1ZXM6Jyk7Ci0gICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCd0ZXN0SW5wdXQxLnZh
bHVlJywgJycpOwotICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygndGVzdElucHV0Mi52YWx1ZScs
ICcxMjM0LVcwNScpOwotICAgIGlmcmFtZS5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKGlmcmFtZSk7
Ci0gICAgZmluaXNoSlNUZXN0KCk7Ci19Ci08L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIuLi8uLi8u
Li9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgotPC9ib2R5Pgot
PC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy93ZWVrLW11bHRpcGxl
LWZpZWxkcy93ZWVrLW11bHRpcGxlLWZpZWxkcy1zcGluYnV0dG9uLWNoYW5nZS1hbmQtaW5wdXQt
ZXZlbnRzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvd2Vlay1tdWx0aXBs
ZS1maWVsZHMvd2Vlay1tdWx0aXBsZS1maWVsZHMtc3BpbmJ1dHRvbi1jaGFuZ2UtYW5kLWlucHV0
LWV2ZW50cy1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDBlZGZj
NjVmOTUzYzVkYTM5MjRhNzU3Y2NmY2QxZDI3NmEyZWMyMTguLjAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy93ZWVrLW11
bHRpcGxlLWZpZWxkcy93ZWVrLW11bHRpcGxlLWZpZWxkcy1zcGluYnV0dG9uLWNoYW5nZS1hbmQt
aW5wdXQtZXZlbnRzLWV4cGVjdGVkLnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDE5ICswLDAgQEAK
LVRlc3QgZm9yIGV2ZW50IGRpc3BhdGNoaW5nIGJ5IHNwaW4gYnV0dG9ucyBpbiBhIHR5cGU9d2Vl
ayBpbnB1dC4KLQotT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBt
ZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgotCi0KLUluaXRpYWwgc3RhdGUK
LVBBU1MgY2hhbmdlRXZlbnRDb3VudGVyIGlzIDAKLVBBU1MgaW5wdXRFdmVudENvdW50ZXIgaXMg
MAotQ2xpY2sgdGhlIHVwcGVyIGJ1dHRvbgotUEFTUyB0ZXN0SW5wdXQudmFsdWUgaXMgIjIwMTIt
VzExIgotUEFTUyBjaGFuZ2VFdmVudENvdW50ZXIgaXMgMQotUEFTUyBpbnB1dEV2ZW50Q291bnRl
ciBpcyAxCi1Gb2N1cyBvbiBhbm90aGVyIGZpZWxkCi1QQVNTIGNoYW5nZUV2ZW50Q291bnRlciBp
cyAxCi1QQVNTIGlucHV0RXZlbnRDb3VudGVyIGlzIDEKLVBBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2Vk
IGlzIHRydWUKLQotVEVTVCBDT01QTEVURQotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0
L2Zvcm1zL3dlZWstbXVsdGlwbGUtZmllbGRzL3dlZWstbXVsdGlwbGUtZmllbGRzLXNwaW5idXR0
b24tY2hhbmdlLWFuZC1pbnB1dC1ldmVudHMuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMv
d2Vlay1tdWx0aXBsZS1maWVsZHMvd2Vlay1tdWx0aXBsZS1maWVsZHMtc3BpbmJ1dHRvbi1jaGFu
Z2UtYW5kLWlucHV0LWV2ZW50cy5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAy
OWEyNWY3ZGY1ZTRjMmI3ZmVmZTJmODk2Mjc4NTE2MTk2NjQ5MjhmLi4wMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvd2Vl
ay1tdWx0aXBsZS1maWVsZHMvd2Vlay1tdWx0aXBsZS1maWVsZHMtc3BpbmJ1dHRvbi1jaGFuZ2Ut
YW5kLWlucHV0LWV2ZW50cy5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsMTQgKzAsMCBAQAotPCFE
T0NUWVBFIGh0bWw+Ci08aHRtbD4KLTxoZWFkPgotPHNjcmlwdCBzcmM9Ii4uLy4uLy4uL2Zhc3Qv
anMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIuLi9y
ZXNvdXJjZXMvY29tbW9uLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMv
Y29tbW9uLXNwaW5idXR0b24tY2hhbmdlLWFuZC1pbnB1dC1ldmVudHMuanMiPjwvc2NyaXB0Pgot
PC9oZWFkPgotPGJvZHk+Ci08c2NyaXB0PgotdGVzdFNwaW5CdXR0b25DaGFuZ2VBbmRJbnB1dEV2
ZW50cygnd2VlaycsICcyMDEyLVcxMCcsICcyMDEyLVcxMScpOwotPC9zY3JpcHQ+Ci08c2NyaXB0
IHNyYz0iLi4vLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3Njcmlw
dD4KLTwvYm9keT4KLTwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMv
d2Vlay1tdWx0aXBsZS1maWVsZHMvd2Vlay1tdWx0aXBsZS1maWVsZHMtc3RlcHVwLXN0ZXBkb3du
LWZyb20tcmVuZGVyZXItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy93ZWVr
LW11bHRpcGxlLWZpZWxkcy93ZWVrLW11bHRpcGxlLWZpZWxkcy1zdGVwdXAtc3RlcGRvd24tZnJv
bS1yZW5kZXJlci1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGMy
MTk0YmU0NzUzMTBmYjU3N2NiZmRhYjI1ZDc1MzU3YjIwYTkwNjIuLjAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy93ZWVr
LW11bHRpcGxlLWZpZWxkcy93ZWVrLW11bHRpcGxlLWZpZWxkcy1zdGVwdXAtc3RlcGRvd24tZnJv
bS1yZW5kZXJlci1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSwzNSArMCwwIEBACi1D
aGVjayBzdGVwcGluZy11cCBhbmQgLWRvd24gZm9yIHdlZWsgaW5wdXQgZmllbGRzIGZyb20gcmVu
ZGVyZXIuCi0KLU9uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVz
c2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KLQotCi1GdW5jdGlvbiBhcmd1bWVu
dHMgYXJlICh2YWx1ZSwgbWluLCBtYXgpLgotV2VlawotUEFTUyBzdGVwVXAoIjIwMDAtVzA1Iiwg
IjIwMDAtVzA1IiwgIjIwMDAtVzQwIikgaXMgIjIwMDAtVzA2IgotUEFTUyBzdGVwRG93bigiMjAw
MC1XMDUiLCAiMjAwMC1XMDUiLCAiMjAwMC1XNDAiKSBpcyAiMjAwMC1XNDAiCi1QQVNTIHN0ZXBV
cCgiMjAwMC1XMDUiLCAiMjAwMC1XMDIiLCAiMjAwMC1XMDUiKSBpcyAiMjAwMC1XMDIiCi1QQVNT
IHN0ZXBEb3duKCIyMDAwLVcwNSIsICIyMDAwLVcwMiIsICIyMDAwLVcwNSIpIGlzICIyMDAwLVcw
NCIKLVBBU1Mgc3RlcFVwKCIyMDAwLVcwNSIsICIyMDAwLVcwOCIsICIyMDAwLVcxMCIpIGlzICIy
MDAwLVcwOCIKLVBBU1Mgc3RlcERvd24oIjIwMDAtVzA1IiwgIjIwMDAtVzA4IiwgIjIwMDAtVzEw
IikgaXMgIjIwMDAtVzEwIgotUEFTUyBzdGVwVXAoIjIwMDAtVzA1IiwgIjIwMDAtVzAzIiwgIjIw
MDAtVzAzIikgaXMgIjIwMDAtVzAzIgotUEFTUyBzdGVwRG93bigiMjAwMC1XMDUiLCAiMjAwMC1X
MDMiLCAiMjAwMC1XMDMiKSBpcyAiMjAwMC1XMDMiCi1QQVNTIHN0ZXBVcCgiMjAwMC1XMDUiLCAi
MjAwMC1XMDMiLCAiMjAwMS1XMDUiKSBpcyAiMjAwMC1XMDYiCi1QQVNTIHN0ZXBEb3duKCIyMDAw
LVcwNSIsICIyMDAwLVcwNSIsICIyMDAxLVcwOCIpIGlzICIyMDAwLVcwNCIKLVllYXIKLVBBU1Mg
c3RlcFVwKCIyMDAwLVcwMSIsICIyMDAwLVcwMSIsICIyMDA5LVc1MiIpIGlzICIyMDAxLVcwMSIK
LVBBU1Mgc3RlcERvd24oIjIwMDAtVzAxIiwgIjIwMDAtVzAxIiwgIjIwMDktVzUyIikgaXMgIjIw
MDktVzAxIgotUEFTUyBzdGVwVXAoIjIwMDAtVzAxIiwgIjE5OTAtVzAxIiwgIjIwMDAtVzUyIikg
aXMgIjE5OTAtVzAxIgotUEFTUyBzdGVwRG93bigiMjAwMC1XMDEiLCAiMTk5MC1XMDEiLCAiMjAw
MC1XNTIiKSBpcyAiMTk5OS1XMDEiCi1QQVNTIHN0ZXBVcCgiMjc1NzYwLVcwMSIsICIxOTkwLVcw
MSIsIG51bGwpIGlzICIxOTkwLVcwMSIKLVBBU1Mgc3RlcERvd24oIjE5OTAtVzAxIiwgIjE5OTAt
VzAxIiwgbnVsbCkgaXMgIjI3NTc2MC1XMDEiCi1QQVNTIHN0ZXBVcCgiMjAwMC1XMDEiLCBudWxs
LCAiMjAwMC1XNTIiKSBpcyAiMDAwMS1XMDEiCi1QQVNTIHN0ZXBEb3duKCIwMDAxLVcwMSIsIG51
bGwsICIyMDAwLVc1MiIpIGlzICIyMDAwLVcwMSIKLVBBU1Mgc3RlcFVwKCIxOTkwLVcwMSIsICIy
MDAwLVcwMSIsICIyMDA5LVc1MiIpIGlzICIyMDAwLVcwMSIKLVBBU1Mgc3RlcERvd24oIjE5OTAt
VzAxIiwgIjIwMDAtVzAxIiwgIjIwMDktVzUyIikgaXMgIjIwMDktVzAxIgotUEFTUyBzdGVwVXAo
IjIwMjAtVzAxIiwgIjIwMDAtVzAxIiwgIjIwMDAtVzUyIikgaXMgIjIwMDAtVzAxIgotUEFTUyBz
dGVwRG93bigiMjAyMC1XMDEiLCAiMjAwMC1XMDEiLCAiMjAwMC1XNTIiKSBpcyAiMjAwMC1XMDEi
Ci0KLVBBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKLQotVEVTVCBDT01QTEVURQotCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3dlZWstbXVsdGlwbGUtZmllbGRzL3dl
ZWstbXVsdGlwbGUtZmllbGRzLXN0ZXB1cC1zdGVwZG93bi1mcm9tLXJlbmRlcmVyLmh0bWwgYi9M
YXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3dlZWstbXVsdGlwbGUtZmllbGRzL3dlZWstbXVsdGlwbGUt
ZmllbGRzLXN0ZXB1cC1zdGVwZG93bi1mcm9tLXJlbmRlcmVyLmh0bWwKZGVsZXRlZCBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IGNjZTUwMTU3MWEyNmE1OTFiODI5MTliNzkxMDVmOTU2YzlkZDk4Y2Qu
LjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVz
dHMvZmFzdC9mb3Jtcy93ZWVrLW11bHRpcGxlLWZpZWxkcy93ZWVrLW11bHRpcGxlLWZpZWxkcy1z
dGVwdXAtc3RlcGRvd24tZnJvbS1yZW5kZXJlci5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsNjkg
KzAsMCBAQAotPCFET0NUWVBFIGh0bWw+Ci08aHRtbD4KLTxoZWFkPgotPHNjcmlwdCBzcmM9Ii4u
Ly4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0i
Li4vcmVzb3VyY2VzL2NvbW1vbi5qcyI+PC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keT4KLTxzY3Jp
cHQ+Ci1kZXNjcmlwdGlvbignQ2hlY2sgc3RlcHBpbmctdXAgYW5kIC1kb3duIGZvciB3ZWVrIGlu
cHV0IGZpZWxkcyBmcm9tIHJlbmRlcmVyLicpOwotaWYgKCF3aW5kb3cuZXZlbnRTZW5kZXIpCi0g
ICAgZGVidWcoJ1RoaXMgdGVzdCByZXF1aXJlcyBldmVudFNlbmRlci4nKTsKLQotdmFyIGlucHV0
ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnaW5wdXQnKTsKLWlucHV0LnR5cGUgPSAnd2Vlayc7
Ci1kb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGlucHV0KTsKLQotZnVuY3Rpb24gc2V0SW5wdXRB
dHRyaWJ1dGVzKHZhbHVlLCBtaW4sIG1heCkgewotICAgIGlucHV0LnZhbHVlID0gdmFsdWU7Ci0g
ICAgaW5wdXQubWluID0gbWluOwotICAgIGlucHV0Lm1heCA9IG1heDsKLX0KLQotZnVuY3Rpb24g
c3RlcFVwKHZhbHVlLCBtaW4sIG1heCkgewotICAgIHNldElucHV0QXR0cmlidXRlcyh2YWx1ZSwg
bWluLCBtYXgpOwotICAgIGV2ZW50U2VuZGVyLmtleURvd24oJ3VwQXJyb3cnKTsKLSAgICByZXR1
cm4gaW5wdXQudmFsdWU7Ci19Ci0KLWZ1bmN0aW9uIHN0ZXBEb3duKHZhbHVlLCBtaW4sIG1heCkg
ewotICAgIHNldElucHV0QXR0cmlidXRlcyh2YWx1ZSwgbWluLCBtYXgpOwotICAgIGV2ZW50U2Vu
ZGVyLmtleURvd24oJ2Rvd25BcnJvdycpOwotICAgIHJldHVybiBpbnB1dC52YWx1ZTsKLX0KLQot
aW5wdXQuZm9jdXMoKTsKLWRlYnVnKCdGdW5jdGlvbiBhcmd1bWVudHMgYXJlICh2YWx1ZSwgbWlu
LCBtYXgpLicpOwotZGVidWcoJ1dlZWsnKTsKLXNob3VsZEJlRXF1YWxUb1N0cmluZygnc3RlcFVw
KCIyMDAwLVcwNSIsICIyMDAwLVcwNSIsICIyMDAwLVc0MCIpJywgJzIwMDAtVzA2Jyk7Ci1zaG91
bGRCZUVxdWFsVG9TdHJpbmcoJ3N0ZXBEb3duKCIyMDAwLVcwNSIsICIyMDAwLVcwNSIsICIyMDAw
LVc0MCIpJywgJzIwMDAtVzQwJyk7Ci1zaG91bGRCZUVxdWFsVG9TdHJpbmcoJ3N0ZXBVcCgiMjAw
MC1XMDUiLCAiMjAwMC1XMDIiLCAiMjAwMC1XMDUiKScsICcyMDAwLVcwMicpOwotc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCdzdGVwRG93bigiMjAwMC1XMDUiLCAiMjAwMC1XMDIiLCAiMjAwMC1XMDUi
KScsICcyMDAwLVcwNCcpOwotc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdzdGVwVXAoIjIwMDAtVzA1
IiwgIjIwMDAtVzA4IiwgIjIwMDAtVzEwIiknLCAnMjAwMC1XMDgnKTsKLXNob3VsZEJlRXF1YWxU
b1N0cmluZygnc3RlcERvd24oIjIwMDAtVzA1IiwgIjIwMDAtVzA4IiwgIjIwMDAtVzEwIiknLCAn
MjAwMC1XMTAnKTsKLXNob3VsZEJlRXF1YWxUb1N0cmluZygnc3RlcFVwKCIyMDAwLVcwNSIsICIy
MDAwLVcwMyIsICIyMDAwLVcwMyIpJywgJzIwMDAtVzAzJyk7Ci1zaG91bGRCZUVxdWFsVG9TdHJp
bmcoJ3N0ZXBEb3duKCIyMDAwLVcwNSIsICIyMDAwLVcwMyIsICIyMDAwLVcwMyIpJywgJzIwMDAt
VzAzJyk7Ci1zaG91bGRCZUVxdWFsVG9TdHJpbmcoJ3N0ZXBVcCgiMjAwMC1XMDUiLCAiMjAwMC1X
MDMiLCAiMjAwMS1XMDUiKScsICcyMDAwLVcwNicpOwotc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdz
dGVwRG93bigiMjAwMC1XMDUiLCAiMjAwMC1XMDUiLCAiMjAwMS1XMDgiKScsICcyMDAwLVcwNCcp
OwotCi1kZWJ1ZygnWWVhcicpOwotZXZlbnRTZW5kZXIua2V5RG93bigncmlnaHRBcnJvdycpOwot
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdzdGVwVXAoIjIwMDAtVzAxIiwgIjIwMDAtVzAxIiwgIjIw
MDktVzUyIiknLCAnMjAwMS1XMDEnKTsKLXNob3VsZEJlRXF1YWxUb1N0cmluZygnc3RlcERvd24o
IjIwMDAtVzAxIiwgIjIwMDAtVzAxIiwgIjIwMDktVzUyIiknLCAnMjAwOS1XMDEnKTsKLXNob3Vs
ZEJlRXF1YWxUb1N0cmluZygnc3RlcFVwKCIyMDAwLVcwMSIsICIxOTkwLVcwMSIsICIyMDAwLVc1
MiIpJywgJzE5OTAtVzAxJyk7Ci1zaG91bGRCZUVxdWFsVG9TdHJpbmcoJ3N0ZXBEb3duKCIyMDAw
LVcwMSIsICIxOTkwLVcwMSIsICIyMDAwLVc1MiIpJywgJzE5OTktVzAxJyk7Ci1zaG91bGRCZUVx
dWFsVG9TdHJpbmcoJ3N0ZXBVcCgiMjc1NzYwLVcwMSIsICIxOTkwLVcwMSIsIG51bGwpJywgJzE5
OTAtVzAxJyk7Ci1zaG91bGRCZUVxdWFsVG9TdHJpbmcoJ3N0ZXBEb3duKCIxOTkwLVcwMSIsICIx
OTkwLVcwMSIsIG51bGwpJywgJzI3NTc2MC1XMDEnKTsKLXNob3VsZEJlRXF1YWxUb1N0cmluZygn
c3RlcFVwKCIyMDAwLVcwMSIsIG51bGwsICIyMDAwLVc1MiIpJywgJzAwMDEtVzAxJyk7Ci1zaG91
bGRCZUVxdWFsVG9TdHJpbmcoJ3N0ZXBEb3duKCIwMDAxLVcwMSIsIG51bGwsICIyMDAwLVc1MiIp
JywgJzIwMDAtVzAxJyk7Ci1zaG91bGRCZUVxdWFsVG9TdHJpbmcoJ3N0ZXBVcCgiMTk5MC1XMDEi
LCAiMjAwMC1XMDEiLCAiMjAwOS1XNTIiKScsICcyMDAwLVcwMScpOwotc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCdzdGVwRG93bigiMTk5MC1XMDEiLCAiMjAwMC1XMDEiLCAiMjAwOS1XNTIiKScsICcy
MDA5LVcwMScpOwotc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdzdGVwVXAoIjIwMjAtVzAxIiwgIjIw
MDAtVzAxIiwgIjIwMDAtVzUyIiknLCAnMjAwMC1XMDEnKTsKLXNob3VsZEJlRXF1YWxUb1N0cmlu
Zygnc3RlcERvd24oIjIwMjAtVzAxIiwgIjIwMDAtVzAxIiwgIjIwMDAtVzUyIiknLCAnMjAwMC1X
MDEnKTsKLQotZGVidWcoJycpOwotaW5wdXQucmVtb3ZlKCk7Ci08L3NjcmlwdD4KLTxzY3JpcHQg
c3JjPSIuLi8uLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KLTwvYm9k
eT4KLTwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvd2Vlay1tdWx0
aXBsZS1maWVsZHMvd2Vlay1tdWx0aXBsZS1maWVsZHMtdmFsaWRpdHktYmFkaW5wdXQtZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy93ZWVrLW11bHRpcGxlLWZpZWxkcy93ZWVr
LW11bHRpcGxlLWZpZWxkcy12YWxpZGl0eS1iYWRpbnB1dC1leHBlY3RlZC50eHQKZGVsZXRlZCBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDJkNjE4MjFmMjFiNjkzOGUzMzlhZGNlZjMwOWMzODU4YjU4
NGYxMzIuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5
b3V0VGVzdHMvZmFzdC9mb3Jtcy93ZWVrLW11bHRpcGxlLWZpZWxkcy93ZWVrLW11bHRpcGxlLWZp
ZWxkcy12YWxpZGl0eS1iYWRpbnB1dC1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSwx
NSArMCwwIEBACi1BIHdlZWsgaW5wdXQgZmllbGRzIHdpdGggYSBiYWQgdXNlciBpbnB1dCBzaG91
bGQgbWFrZSB2YWxpZGl0eS5iYWRJbnB1dCB0cnVlIGFuZCBoYXZlIDppbnZhbGlkIHN0eWxlLgot
Ci1PbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBm
b2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCi0KLQotSW5pdGlhbCBzdGF0ZS4gVGhlIGVsbWVu
dCBoYXMgbm8gdmFsdWUuCi1QQVNTIGNvbG9yT2YoaW5wdXQpIGlzIG5vdCBpbnZhbGlkU3R5bGVD
b2xvcgotUEFTUyBpbnB1dC52YWxpZGl0eS5iYWRJbnB1dCBpcyBmYWxzZQotU2V0IGEgdmFsdWUg
dG8gdGhlIGZpcnN0IHN1Yi1maWVsZC4gVGhlIGVsZW1lbnQgYmVjb21lcyBiYWRJbnB1dC4KLVBB
U1MgY29sb3JPZihpbnB1dCkgaXMgaW52YWxpZFN0eWxlQ29sb3IKLVBBU1MgaW5wdXQudmFsaWRp
dHkuYmFkSW5wdXQgaXMgdHJ1ZQotUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQotCi1U
RVNUIENPTVBMRVRFCi0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvd2Vlay1t
dWx0aXBsZS1maWVsZHMvd2Vlay1tdWx0aXBsZS1maWVsZHMtdmFsaWRpdHktYmFkaW5wdXQuaHRt
bCBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvd2Vlay1tdWx0aXBsZS1maWVsZHMvd2Vlay1tdWx0
aXBsZS1maWVsZHMtdmFsaWRpdHktYmFkaW5wdXQuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggODQ3YTZlZWQ4MDZjNTkyNjY3YTNmMDllMmVjNjg5NWQ3ODYzNzU3Mi4uMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0
L2Zvcm1zL3dlZWstbXVsdGlwbGUtZmllbGRzL3dlZWstbXVsdGlwbGUtZmllbGRzLXZhbGlkaXR5
LWJhZGlucHV0Lmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSwxNCArMCwwIEBACi08IURPQ1RZUEUg
aHRtbD4KLTxzdHlsZT4KLTppbnZhbGlkIHsKLSAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmYwMDAw
OwotfQotPC9zdHlsZT4KLTxib2R5PgotPHNjcmlwdCBzcmM9Ii4uLy4uL2pzL3Jlc291cmNlcy9q
cy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL211bHRp
cGxlLWZpZWxkcy12YWxpZGl0eS1iYWRpbnB1dC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0PgotdGVz
dEJhZElucHV0KCd3ZWVrJyk7Ci08L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIuLi8uLi9qcy9yZXNv
dXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KLTwvYm9keT4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2Zhc3QvZm9ybXMvd2Vlay1tdWx0aXBsZS1maWVsZHMvd2Vlay1tdWx0aXBsZS1m
aWVsZHMtdmFsdWUtc2V0LWVtcHR5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvZm9y
bXMvd2Vlay1tdWx0aXBsZS1maWVsZHMvd2Vlay1tdWx0aXBsZS1maWVsZHMtdmFsdWUtc2V0LWVt
cHR5LWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMzZlMDA1N2Nh
NzdhMjA4OGM4ZThlZDBhMzRjM2JlYjkzOWEyNzYxMy4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3dlZWstbXVsdGlw
bGUtZmllbGRzL3dlZWstbXVsdGlwbGUtZmllbGRzLXZhbHVlLXNldC1lbXB0eS1leHBlY3RlZC50
eHQKKysrIC9kZXYvbnVsbApAQCAtMSwxMiArMCwwIEBACi1DaGVjayBpZiBpbnB1dC52YWx1ZT0i
IiBjbGVhcnMgYW4gaW5wdXQgd2l0aCBwYXJ0aWFsbHktc3BlY2lmaWVkIHZhbHVlLgotCi1PbiBz
dWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dl
ZCBieSAiVEVTVCBDT01QTEVURSIuCi0KLQotRW1wdHkgdGV4dDogV2VlayAtLSwgLS0tLQotUEFT
UyBldmVudFNlbmRlci5rZXlEb3duKCJ1cEFycm93Iik7IGdldFVzZXJBZ2VudFNoYWRvd1RleHRD
b250ZW50KGlucHV0KSBpcyBub3QgZW1wdHlUZXh0Ci1QQVNTIGlucHV0LnZhbHVlID0gIiI7IGdl
dFVzZXJBZ2VudFNoYWRvd1RleHRDb250ZW50KGlucHV0KSBpcyBlbXB0eVRleHQKLVBBU1Mgc3Vj
Y2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKLQotVEVTVCBDT01QTEVURQotCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3dlZWstbXVsdGlwbGUtZmllbGRzL3dlZWstbXVsdGlwbGUt
ZmllbGRzLXZhbHVlLXNldC1lbXB0eS5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy93ZWVr
LW11bHRpcGxlLWZpZWxkcy93ZWVrLW11bHRpcGxlLWZpZWxkcy12YWx1ZS1zZXQtZW1wdHkuaHRt
bApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggOWU2NTljMjdiZGY1NWFiZWIxZDc5M2Iw
YjI1OTM3Y2E2YWQyZGIyMC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3dlZWstbXVsdGlwbGUtZmllbGRzL3dlZWst
bXVsdGlwbGUtZmllbGRzLXZhbHVlLXNldC1lbXB0eS5odG1sCisrKyAvZGV2L251bGwKQEAgLTEs
MTAgKzAsMCBAQAotPCFET0NUWVBFIGh0bWw+Ci08Ym9keT4KLTxzY3JpcHQgc3JjPSIuLi8uLi9q
cy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii4uL3Jl
c291cmNlcy9jb21tb24uanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy9t
dWx0aXBsZS1maWVsZHMtdmFsdWUtc2V0LWVtcHR5LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQ+Ci10
ZXN0U2V0dGluZ0VtcHR5U3RyaW5nQ2xlYXJzU3ViRmllbGRzKCd3ZWVrJyk7Ci08L3NjcmlwdD4K
LTxzY3JpcHQgc3JjPSIuLi8uLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3Njcmlw
dD4KLTwvYm9keT4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvd2Vlay1tdWx0
aXBsZS1maWVsZHMvd2Vlay1tdWx0aXBsZS1maWVsZHMtd2hlZWwtZXZlbnQtZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy93ZWVrLW11bHRpcGxlLWZpZWxkcy93ZWVrLW11bHRp
cGxlLWZpZWxkcy13aGVlbC1ldmVudC1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDEwYWU5YzdhYjVhMGIzZDc3YTE5MzFmNjM3NmQyZDliY2UyNjIyYWEuLjAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvZmFz
dC9mb3Jtcy93ZWVrLW11bHRpcGxlLWZpZWxkcy93ZWVrLW11bHRpcGxlLWZpZWxkcy13aGVlbC1l
dmVudC1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSwyMyArMCwwIEBACi1UZXN0IGZv
ciB3aGVlbCBvcGVyYXRpb25zIGZvciA8aW5wdXQgdHlwZT13ZWVrPgotCi1PbiBzdWNjZXNzLCB5
b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVT
VCBDT01QTEVURSIuCi0KLQotSW5pdGlhbCB2YWx1ZSBpcyAxOTk5LVcwMS4gV2UnbGwgd2hlZWwg
dXAgYnkgMToKLVBBU1MgaW5wdXQudmFsdWUgaXMgIjE5OTktVzAyIgotV2hlZWwgdXAgYnkgMTAw
OgotUEFTUyBpbnB1dC52YWx1ZSBpcyAiMTk5OS1XMDMiCi1XaGVlbCBkb3duIGJ5IDE6Ci1QQVNT
IGlucHV0LnZhbHVlIGlzICIxOTk5LVcwMiIKLVdoZWVsIGRvd24gYnkgMjU2OgotUEFTUyBpbnB1
dC52YWx1ZSBpcyAiMTk5OS1XMDEiCi1EaXNhYmxlZCBpbnB1dCBlbGVtZW50OgotUEFTUyBpbnB1
dC52YWx1ZSBpcyAiMTk5OS1XMDEiCi1SZWFkLW9ubHkgaW5wdXQgZWxlbWVudDoKLVBBU1MgaW5w
dXQudmFsdWUgaXMgIjE5OTktVzAxIgotTm8gZm9jdXM6Ci1QQVNTIGlucHV0LnZhbHVlIGlzICIx
OTk5LVcwMSIKLVBBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKLQotVEVTVCBDT01QTEVU
RQotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3dlZWstbXVsdGlwbGUtZmll
bGRzL3dlZWstbXVsdGlwbGUtZmllbGRzLXdoZWVsLWV2ZW50Lmh0bWwgYi9MYXlvdXRUZXN0cy9m
YXN0L2Zvcm1zL3dlZWstbXVsdGlwbGUtZmllbGRzL3dlZWstbXVsdGlwbGUtZmllbGRzLXdoZWVs
LWV2ZW50Lmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDQ5OGY0MmZlZjUzZGRl
MTUwNzM5MmYxOWFmZTBkOGRlODNiYmRhNzIuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy93ZWVrLW11bHRpcGxlLWZp
ZWxkcy93ZWVrLW11bHRpcGxlLWZpZWxkcy13aGVlbC1ldmVudC5odG1sCisrKyAvZGV2L251bGwK
QEAgLTEsMTcgKzAsMCBAQAotPCFET0NUWVBFIGh0bWw+Ci08aHRtbD4KLTxoZWFkPgotPHNjcmlw
dCBzcmM9Ii4uLy4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Njcmlw
dD4KLTxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvY29tbW9uLXdoZWVsLWV2ZW50LmpzIj48L3Nj
cmlwdD4KLTwvaGVhZD4KLTxib2R5PgotPHNjcmlwdD4KLXRlc3RXaGVlbEV2ZW50KHsKLSAgICAn
aW5wdXRUeXBlJyA6ICd3ZWVrJywKLSAgICAnaW5pdGlhbFZhbHVlJyA6ICcxOTk5LVcwMScsCi0g
ICAgJ3N0ZXBVcFZhbHVlMScgOiAnMTk5OS1XMDInLAotICAgICdzdGVwVXBWYWx1ZTInIDogJzE5
OTktVzAzJyB9KTsKLTwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii4uLy4uLy4uL2Zhc3QvanMvcmVz
b3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Ci08L2JvZHk+Ci08L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9lZmwvVGVzdEV4cGVjdGF0aW9ucyBiL0xheW91
dFRlc3RzL3BsYXRmb3JtL2VmbC9UZXN0RXhwZWN0YXRpb25zCmluZGV4IGFkMzNmN2E0MmYyN2Mx
Y2VmNjkyZTdhMDY1MGIzMzIyN2RkODBlOTguLjdjZGM3MmUxODYxM2I0MGRkMTVkZWJlOTdjZGQw
ZDViMDMyMzkxMjggMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2VmbC9UZXN0RXhw
ZWN0YXRpb25zCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2VmbC9UZXN0RXhwZWN0YXRpb25z
CkBAIC0xNDMyLDE0ICsxNDMyLDYgQEAgd2Via2l0Lm9yZy9iLzUwNDg1IGluc3BlY3Rvci9wcm9m
aWxlci9oZWFwLXNuYXBzaG90LXN1bW1hcnktc29ydGluZy5odG1sIFsgU2tpcAogd2Via2l0Lm9y
Zy9iLzUwNDg1IGluc3BlY3Rvci9wcm9maWxlci9oZWFwLXNuYXBzaG90LXN1bW1hcnktc29ydGlu
Zy1pbnN0YW5jZXMuaHRtbCBbIFNraXAgXQogd2Via2l0Lm9yZy9iLzUwNDg1IGluc3BlY3Rvci1w
cm90b2NvbC9oZWFwLXByb2ZpbGVyIFsgU2tpcCBdCiAKLSMgRU5BQkxFKElOUFVUX01VTFRJUExF
X0ZJRUxEU19VSSkgaXMgZGlzYWJsZWQKLWZhc3QvZm9ybXMvZGF0ZS1tdWx0aXBsZS1maWVsZHMK
LWZhc3QvZm9ybXMvZGF0ZXRpbWUtbXVsdGlwbGUtZmllbGRzCi1mYXN0L2Zvcm1zL2RhdGV0aW1l
bG9jYWwtbXVsdGlwbGUtZmllbGRzCi13ZWJraXQub3JnL2IvOTcyOTkgZmFzdC9mb3Jtcy9tb250
aC1tdWx0aXBsZS1maWVsZHMKLXdlYmtpdC5vcmcvYi85NDE4NiBmYXN0L2Zvcm1zL3RpbWUtbXVs
dGlwbGUtZmllbGRzCi1mYXN0L2Zvcm1zL3dlZWstbXVsdGlwbGUtZmllbGRzCi0KIHdlYmtpdC5v
cmcvYi85Mzk3NiBmYXN0L2Nzcy1nZW5lcmF0ZWQtY29udGVudC9xdW90ZXMtbGFuZy5odG1sIFsg
SW1hZ2VPbmx5RmFpbHVyZSBdCiAKICMgVGhpcyBoYXMgYWx3YXlzIGZhaWxlZCBvbiBHdGsvRWZs
IC0gZXhwb3NlZCBieSBidWcgODk4MjYKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3Jt
L2d0ay9UZXN0RXhwZWN0YXRpb25zIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL1Rlc3RFeHBl
Y3RhdGlvbnMKaW5kZXggYzExMzRlNzFmYmEzNDBhYWY2NmEwNTBjOWVhN2M1NDBkY2M2ZTQ1OS4u
MTAyZTZjYmUxYWNlZGE2Y2EzM2M2ODQ2ZTRmMjdjM2ZlMDczMDlmNyAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL1Rlc3RFeHBlY3RhdGlvbnMKKysrIGIvTGF5b3V0VGVzdHMv
cGxhdGZvcm0vZ3RrL1Rlc3RFeHBlY3RhdGlvbnMKQEAgLTE2NywxNyArMTY3LDExIEBAIHdlYmtp
dC5vcmcvYi85ODkzNSBmYXN0L2Zvcm1zL2NvbG9yIFsgU2tpcCBdCiAKICMgRU5BQkxFX0lOUFVU
X1RZUEVfKiBhcmUgbm90IGVuYWJsZWQuCiB3ZWJraXQub3JnL2IvOTg5MzYgZmFzdC9mb3Jtcy9k
YXRlIFsgU2tpcCBdCi13ZWJraXQub3JnL2IvOTg5MzYgZmFzdC9mb3Jtcy9kYXRlLW11bHRpcGxl
LWZpZWxkcyBbIFNraXAgXQogd2Via2l0Lm9yZy9iLzk4OTM2IGZhc3QvZm9ybXMvZGF0ZXRpbWUg
WyBTa2lwIF0KLXdlYmtpdC5vcmcvYi85ODkzNiBmYXN0L2Zvcm1zL2RhdGV0aW1lLW11bHRpcGxl
LWZpZWxkcyBbIFNraXAgXQogd2Via2l0Lm9yZy9iLzk4OTM2IGZhc3QvZm9ybXMvZGF0ZXRpbWVs
b2NhbCBbIFNraXAgXQotd2Via2l0Lm9yZy9iLzk4OTM2IGZhc3QvZm9ybXMvZGF0ZXRpbWVsb2Nh
bC1tdWx0aXBsZS1maWVsZHMgWyBTa2lwIF0KIHdlYmtpdC5vcmcvYi85ODkzNiBmYXN0L2Zvcm1z
L21vbnRoIFsgU2tpcCBdCi13ZWJraXQub3JnL2IvOTg5MzYgZmFzdC9mb3Jtcy9tb250aC1tdWx0
aXBsZS1maWVsZHMgWyBTa2lwIF0KIHdlYmtpdC5vcmcvYi85ODkzNiBmYXN0L2Zvcm1zL3RpbWUg
WyBTa2lwIF0KLXdlYmtpdC5vcmcvYi85ODkzNiBmYXN0L2Zvcm1zL3RpbWUtbXVsdGlwbGUtZmll
bGRzIFsgU2tpcCBdCiB3ZWJraXQub3JnL2IvOTg5MzYgZmFzdC9mb3Jtcy93ZWVrIFsgU2tpcCBd
Ci13ZWJraXQub3JnL2IvOTg5MzYgZmFzdC9mb3Jtcy93ZWVrLW11bHRpcGxlLWZpZWxkcyBbIFNr
aXAgXQogCiAjIEVOQUJMRV9HQU1FUEFEIG5vdCBlbmFibGVkLgogd2Via2l0Lm9yZy9iLzk4OTM3
IGdhbWVwYWQgWyBTa2lwIF0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9U
ZXN0RXhwZWN0YXRpb25zIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL1Rlc3RFeHBlY3RhdGlv
bnMKaW5kZXggYjU4ZDc0MjYyYmQxOTdjNTgwYzY1NjEzOGU1ZWY4NDIxNDA5YjNmMi4uZjM5N2Q3
MDFhOTM5ZGU4YzEzMGFmNTUyYWFjYzE4YjU1NmQyOTlkYyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvcGxhdGZvcm0vbWFjL1Rlc3RFeHBlY3RhdGlvbnMKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZv
cm0vbWFjL1Rlc3RFeHBlY3RhdGlvbnMKQEAgLTY3NywxNCArNjc3LDYgQEAgd2Via2l0Lm9yZy9i
LzkwNzI1IG1lZGlhL21lZGlhLWJsb2NrZWQtYnktYmVmb3JlbG9hZC5odG1sIFsgUGFzcyBGYWls
dXJlIF0KICMgVGhpcyB0ZXN0IGRlcGVuZHMgb24gc3VicGl4ZWwgbGF5b3V0Lgogd2Via2l0Lm9y
Zy9iLzkyMzUyIGNzczMvZmxleGJveC9mbGV4LXJvdW5kaW5nLmh0bWwKIAotIyBFTkFCTEUoSU5Q
VVRfTVVMVElQTEVfRklFTERTX1VJKSBpcyBkaXNhYmxlZAotZmFzdC9mb3Jtcy9kYXRlLW11bHRp
cGxlLWZpZWxkcwotZmFzdC9mb3Jtcy9kYXRldGltZS1tdWx0aXBsZS1maWVsZHMKLWZhc3QvZm9y
bXMvZGF0ZXRpbWVsb2NhbC1tdWx0aXBsZS1maWVsZHMKLWZhc3QvZm9ybXMvbW9udGgtbXVsdGlw
bGUtZmllbGRzCi1mYXN0L2Zvcm1zL3RpbWUtbXVsdGlwbGUtZmllbGRzCi1mYXN0L2Zvcm1zL3dl
ZWstbXVsdGlwbGUtZmllbGRzCi0KICMgPHJkYXI6Ly9wcm9ibGVtLzExMjI0MTYwPiBGb2N1cyBu
b3QgdHJhbnNmZXJyaW5nIHByb3Blcmx5IGluIER1bXBSZW5kZXJUcmVlIGluIE1vdW50YWluIExp
b24KIGZhc3QvZXZlbnRzL3Nob3ctbW9kYWwtZGlhbG9nLW9uYmx1ci1vbmZvY3VzLmh0bWwKIHBs
YXRmb3JtL21hYy9mYXN0L2Zvcm1zL2xpc3Rib3gtc2Nyb2xsYmFyLWhpdC10ZXN0Lmh0bWwKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL3F0L1Rlc3RFeHBlY3RhdGlvbnMgYi9MYXlv
dXRUZXN0cy9wbGF0Zm9ybS9xdC9UZXN0RXhwZWN0YXRpb25zCmluZGV4IGQ2ZmEwODkxZGQ3MzI3
OTVmZTg5OTg3YmM0ZDFhZjM2NmMxMjE5M2UuLmY2MjJhZDkwZjI5Y2ZkZDE4ODdkMjllN2NiMTY0
NjNkZWU1MzVhYWEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL3F0L1Rlc3RFeHBl
Y3RhdGlvbnMKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vcXQvVGVzdEV4cGVjdGF0aW9ucwpA
QCAtMzAwLDE0ICszMDAsNiBAQCBmYXN0L2V2ZW50cy90b3VjaC9nZXN0dXJlL2NvbnRleHQtbWVu
dS1vbi1sb25nLXRhcC5odG1sCiAjIEVOQUJMRShISURERU5fUEFHRV9ET01fVElNRVJfVEhST1RU
TElORykgaXMgZGlzYWJsZWQKIGZhc3QvZG9tL3RpbWVyLXRocm90dGxpbmctaGlkZGVuLXBhZ2Uu
aHRtbAogCi0jIEVOQUJMRShJTlBVVF9NVUxUSVBMRV9GSUVMRFNfVUkpIGlzIGRpc2FibGVkCi1m
YXN0L2Zvcm1zL2RhdGUtbXVsdGlwbGUtZmllbGRzCi1mYXN0L2Zvcm1zL2RhdGV0aW1lLW11bHRp
cGxlLWZpZWxkcwotZmFzdC9mb3Jtcy9kYXRldGltZWxvY2FsLW11bHRpcGxlLWZpZWxkcwotZmFz
dC9mb3Jtcy9tb250aC1tdWx0aXBsZS1maWVsZHMKLWZhc3QvZm9ybXMvdGltZS1tdWx0aXBsZS1m
aWVsZHMKLWZhc3QvZm9ybXMvd2Vlay1tdWx0aXBsZS1maWVsZHMKLQogIyBFTkFCTEUoRFJBR0dB
QkxFX1JFR0lPTikgaXMgZGlzYWJsZWQKIGZhc3QvY3NzL2RyYWdnYWJsZS1yZWdpb24tcGFyc2Vy
Lmh0bWwKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2luL1Rlc3RFeHBlY3Rh
dGlvbnMgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93aW4vVGVzdEV4cGVjdGF0aW9ucwppbmRleCBh
Y2YzNjA1Y2E5MTQ2ZWMwOGY2OTkzZTVhYjdkYWVjMjRhNWYzMDYxLi5iZWI3YzYwOTllZjhmNGYw
NjU2NWY1ZGUzZjVmNGFhNGExMjE1NmRjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9y
bS93aW4vVGVzdEV4cGVjdGF0aW9ucworKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93aW4vVGVz
dEV4cGVjdGF0aW9ucwpAQCAtMjA1NCwxNCArMjA1NCw2IEBAIHBsdWdpbnMvbmVzdGVkLXBsdWdp
bi1vYmplY3RzLmh0bWwKICNSZXF1aXJlIHJlYmFzZWxpbmluZyBhZnRlciAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTg5ODI2CiBmYXN0L2Nzcy93b3JkLXNwYWNlLWV4
dHJhLmh0bWwKIAotIyBFTkFCTEUoSU5QVVRfTVVMVElQTEVfRklFTERTX1VJKSBpcyBkaXNhYmxl
ZAotZmFzdC9mb3Jtcy9kYXRlLW11bHRpcGxlLWZpZWxkcwotZmFzdC9mb3Jtcy9kYXRldGltZS1t
dWx0aXBsZS1maWVsZHMKLWZhc3QvZm9ybXMvZGF0ZXRpbWVsb2NhbC1tdWx0aXBsZS1maWVsZHMK
LWZhc3QvZm9ybXMvbW9udGgtbXVsdGlwbGUtZmllbGRzCi1mYXN0L2Zvcm1zL3RpbWUtbXVsdGlw
bGUtZmllbGRzCi1mYXN0L2Zvcm1zL3dlZWstbXVsdGlwbGUtZmllbGRzCi0KICMgTmVlZHMgYSBy
ZWJhc2VsaW5lIGFmdGVyIFdLMTA4NDI5IGxhbmRzLgogc3ZnL2N1c3RvbS90ZXh0LWN0bS5zdmcK
IApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2luY2Fpcm8vVGVzdEV4cGVjdGF0
aW9ucyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL3dpbmNhaXJvL1Rlc3RFeHBlY3RhdGlvbnMKaW5k
ZXggYWJjY2ZlZThhOWE0ZDY1MDMwMTNlMmUwMDdlMjdkYWJjYzU0Yzk2Yi4uZmE3ODNhN2RjOWU1
ZmZlMDQzN2FlZjA3MzA1OTE1Yzc0NmEyYzA2ZSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxh
dGZvcm0vd2luY2Fpcm8vVGVzdEV4cGVjdGF0aW9ucworKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9y
bS93aW5jYWlyby9UZXN0RXhwZWN0YXRpb25zCkBAIC0yNTQyLDExICsyNTQyLDYgQEAgcGx1Z2lu
cy9uZXN0ZWQtcGx1Z2luLW9iamVjdHMuaHRtbAogI1JlcXVpcmUgcmViYXNlbGluaW5nIGFmdGVy
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODk4MjYKIGZhc3QvY3Nz
L3dvcmQtc3BhY2UtZXh0cmEuaHRtbAogCi0jIEVOQUJMRShJTlBVVF9NVUxUSVBMRV9GSUVMRFNf
VUkpIGlzIGRpc2FibGVkCi1mYXN0L2Zvcm1zL2RhdGUtbXVsdGlwbGUtZmllbGRzCi1mYXN0L2Zv
cm1zL21vbnRoLW11bHRpcGxlLWZpZWxkcwotZmFzdC9mb3Jtcy90aW1lLW11bHRpcGxlLWZpZWxk
cwotCiAjIFJlcXVpcmUgcmViYXNlbGluZSBhZnRlciBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9ODQyODYKIGZhc3QvYmxvY2svZmxvYXQvYXZvaWRhbmNlLXJ0bC5odG1s
CiBmYXN0L2JvcmRlcnMvYm9yZGVyLXJhZGl1cy13aWRlLWJvcmRlci0wMS5odG1sCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>203135</attachid>
            <date>2013-05-29 01:16:33 -0700</date>
            <delta_ts>2013-05-29 01:47:40 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-116796-20130529171510.patch</filename>
            <type>text/plain</type>
            <size>663642</size>
            <attacher name="Kent Tamura">tkent</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTUwODczCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IDVjM2Y1NjM5ZDYzMzk2YzdkNzA2YmU4
NTNjMmFjNmI2ZjU2OTk1ZWYuLjFlMGY1YjlmNTgzMTg0OTY3MGI1MmQ3Mzk2YWExOGM2Y2E1NmNh
M2MgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTIgQEAKKzIwMTMtMDUtMjkgIEtlbnQgVGFtdXJhICA8dGtlbnRA
Y2hyb21pdW0ub3JnPgorCisgICAgICAgIFJlbW92ZSBFTkFCTEVfSU5QVVRfTVVMVElQTEVfRklF
TERTX1VJLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MTE2Nzk2CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgUnlvc3VrZSBOaXdhLgorCisgICAgICAgICog
d3RmL0ZlYXR1cmVEZWZpbmVzLmg6CisKIDIwMTMtMDUtMjcgIEdhdmluIEJhcnJhY2xvdWdoICA8
YmFycmFjbG91Z2hAYXBwbGUuY29tPgogCiAgICAgICAgIFN0cmluZyhuZXcgRGF0ZSgyMDEwLDEw
LDEpKSBpcyB3cm9uZyBpbiBLUkFULCBZQUtUCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMzM5MGFkNjk1Y2U3NTRi
Mjc1YzAxYzc1NTAyOTA3ZThhYTJiMTVkNy4uODk0YzYwZDgzZDE3ZjVhMjFlMGQ0NjFiNDVhZDI0
OGE0ZmMyODI3OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDgxIEBACisyMDEzLTA1LTI5ICBLZW50
IFRhbXVyYSAgPHRrZW50QGNocm9taXVtLm9yZz4KKworICAgICAgICBSZW1vdmUgRU5BQkxFX0lO
UFVUX01VTFRJUExFX0ZJRUxEU19VSS4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTExNjc5NgorCisgICAgICAgIFJldmlld2VkIGJ5IFJ5b3N1a2UgTml3
YS4KKworICAgICAgICBUaGlzIGZlYXR1cmUgd2FzIHVzZWQgb25seSBieSBDaHJvbWl1bSBwb3J0
LgorCisgICAgICAgICogQ01ha2VMaXN0cy50eHQ6CisgICAgICAgICogR05VbWFrZWZpbGUubGlz
dC5hbToKKyAgICAgICAgKiBUYXJnZXQucHJpOgorICAgICAgICAqIFdlYkNvcmUudmNwcm9qL1dl
YkNvcmUudmNwcm9qOgorICAgICAgICAqIFdlYkNvcmUudmN4cHJvai9XZWJDb3JlLnZjeHByb2o6
CisgICAgICAgICogV2ViQ29yZS52Y3hwcm9qL1dlYkNvcmUudmN4cHJvai5maWx0ZXJzOgorICAg
ICAgICAqIFdlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgKiBjc3Mv
aHRtbC5jc3M6CisgICAgICAgIChpbnB1dDo6LXdlYmtpdC1kYXRlLWFuZC10aW1lLXZhbHVlKToK
KyAgICAgICAgKiBkb20vRWxlbWVudC5jcHA6CisgICAgICAgICogZG9tL0VsZW1lbnQuaDoKKyAg
ICAgICAgKiBodG1sL0Jhc2VDaG9vc2VyT25seURhdGVBbmRUaW1lSW5wdXRUeXBlLmNwcDoKKyAg
ICAgICAgKiBodG1sL0Jhc2VDaG9vc2VyT25seURhdGVBbmRUaW1lSW5wdXRUeXBlLmg6CisgICAg
ICAgICogaHRtbC9CYXNlTXVsdGlwbGVGaWVsZHNEYXRlQW5kVGltZUlucHV0VHlwZS5jcHA6IFJl
bW92ZWQuCisgICAgICAgICogaHRtbC9CYXNlTXVsdGlwbGVGaWVsZHNEYXRlQW5kVGltZUlucHV0
VHlwZS5oOiBSZW1vdmVkLgorICAgICAgICAqIGh0bWwvRGF0ZUlucHV0VHlwZS5jcHA6CisgICAg
ICAgICogaHRtbC9EYXRlSW5wdXRUeXBlLmg6CisgICAgICAgIChEYXRlSW5wdXRUeXBlKToKKyAg
ICAgICAgKiBodG1sL0RhdGVUaW1lRmllbGRzU3RhdGUuY3BwOiBSZW1vdmVkLgorICAgICAgICAq
IGh0bWwvRGF0ZVRpbWVGaWVsZHNTdGF0ZS5oOiBSZW1vdmVkLgorICAgICAgICAqIGh0bWwvRGF0
ZVRpbWVJbnB1dFR5cGUuY3BwOgorICAgICAgICAqIGh0bWwvRGF0ZVRpbWVJbnB1dFR5cGUuaDoK
KyAgICAgICAgKERhdGVUaW1lSW5wdXRUeXBlKToKKyAgICAgICAgKiBodG1sL0RhdGVUaW1lTG9j
YWxJbnB1dFR5cGUuY3BwOgorICAgICAgICAqIGh0bWwvRGF0ZVRpbWVMb2NhbElucHV0VHlwZS5o
OgorICAgICAgICAoRGF0ZVRpbWVMb2NhbElucHV0VHlwZSk6CisgICAgICAgICogaHRtbC9IVE1M
SW5wdXRFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxJbnB1dEVsZW1lbnQ6OkhU
TUxJbnB1dEVsZW1lbnQpOgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgICogaHRtbC9IVE1M
SW5wdXRFbGVtZW50Lmg6CisgICAgICAgIChIVE1MSW5wdXRFbGVtZW50KToKKyAgICAgICAgKiBo
dG1sL0lucHV0VHlwZS5jcHA6CisgICAgICAgICogaHRtbC9JbnB1dFR5cGUuaDoKKyAgICAgICAg
KElucHV0VHlwZSk6CisgICAgICAgICogaHRtbC9Nb250aElucHV0VHlwZS5jcHA6CisgICAgICAg
ICogaHRtbC9Nb250aElucHV0VHlwZS5oOgorICAgICAgICAoTW9udGhJbnB1dFR5cGUpOgorICAg
ICAgICAqIGh0bWwvVGltZUlucHV0VHlwZS5jcHA6CisgICAgICAgICogaHRtbC9UaW1lSW5wdXRU
eXBlLmg6CisgICAgICAgIChUaW1lSW5wdXRUeXBlKToKKyAgICAgICAgKiBodG1sL1dlZWtJbnB1
dFR5cGUuY3BwOgorICAgICAgICAqIGh0bWwvV2Vla0lucHV0VHlwZS5oOgorICAgICAgICAoV2Vl
a0lucHV0VHlwZSk6CisgICAgICAgICogaHRtbC9zaGFkb3cvQ2xlYXJCdXR0b25FbGVtZW50LmNw
cDogUmVtb3ZlZC4KKyAgICAgICAgKiBodG1sL3NoYWRvdy9DbGVhckJ1dHRvbkVsZW1lbnQuaDog
UmVtb3ZlZC4KKyAgICAgICAgKiBodG1sL3NoYWRvdy9EYXRlVGltZUVkaXRFbGVtZW50LmNwcDog
UmVtb3ZlZC4KKyAgICAgICAgKiBodG1sL3NoYWRvdy9EYXRlVGltZUVkaXRFbGVtZW50Lmg6IFJl
bW92ZWQuCisgICAgICAgICogaHRtbC9zaGFkb3cvRGF0ZVRpbWVGaWVsZEVsZW1lbnQuY3BwOiBS
ZW1vdmVkLgorICAgICAgICAqIGh0bWwvc2hhZG93L0RhdGVUaW1lRmllbGRFbGVtZW50Lmg6IFJl
bW92ZWQuCisgICAgICAgICogaHRtbC9zaGFkb3cvRGF0ZVRpbWVGaWVsZEVsZW1lbnRzLmNwcDog
UmVtb3ZlZC4KKyAgICAgICAgKiBodG1sL3NoYWRvdy9EYXRlVGltZUZpZWxkRWxlbWVudHMuaDog
UmVtb3ZlZC4KKyAgICAgICAgKiBodG1sL3NoYWRvdy9EYXRlVGltZU51bWVyaWNGaWVsZEVsZW1l
bnQuY3BwOiBSZW1vdmVkLgorICAgICAgICAqIGh0bWwvc2hhZG93L0RhdGVUaW1lTnVtZXJpY0Zp
ZWxkRWxlbWVudC5oOiBSZW1vdmVkLgorICAgICAgICAqIGh0bWwvc2hhZG93L0RhdGVUaW1lU3lt
Ym9saWNGaWVsZEVsZW1lbnQuY3BwOiBSZW1vdmVkLgorICAgICAgICAqIGh0bWwvc2hhZG93L0Rh
dGVUaW1lU3ltYm9saWNGaWVsZEVsZW1lbnQuaDogUmVtb3ZlZC4KKyAgICAgICAgKiBodG1sL3No
YWRvdy9QaWNrZXJJbmRpY2F0b3JFbGVtZW50LmNwcDogUmVtb3ZlZC4KKyAgICAgICAgKiBodG1s
L3NoYWRvdy9QaWNrZXJJbmRpY2F0b3JFbGVtZW50Lmg6IFJlbW92ZWQuCisgICAgICAgICogcGFn
ZS9DaHJvbWVDbGllbnQuaDoKKyAgICAgICAgKENocm9tZUNsaWVudCk6CisgICAgICAgICogcGxh
dGZvcm0vTG9jYWxpemVkU3RyaW5ncy5oOgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgICog
cGxhdGZvcm0vdGV4dC9QbGF0Zm9ybUxvY2FsZS5jcHA6CisgICAgICAgICogcGxhdGZvcm0vdGV4
dC9QbGF0Zm9ybUxvY2FsZS5oOgorICAgICAgICAoTG9jYWxlKToKKyAgICAgICAgKiByZW5kZXJp
bmcvUmVuZGVyRGV0YWlsc01hcmtlci5jcHA6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckRl
dGFpbHNNYXJrZXIuaDoKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyT2JqZWN0Lmg6CisgICAg
ICAgIChSZW5kZXJPYmplY3QpOgorCiAyMDEzLTA1LTI5ICBSeW9zdWtlIE5pd2EgIDxybml3YUB3
ZWJraXQub3JnPgogCiAgICAgICAgIFJlbW92ZSBzZXRGdWxsU2NyZWVuUmVuZGVyZXJTaXplIGFu
ZCBzZXRGdWxsU2NyZWVuUmVuZGVyZXJCYWNrZ3JvdW5kQ29sb3IKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvYmxhY2tiZXJyeS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L2JsYWNrYmVycnkv
Q2hhbmdlTG9nCmluZGV4IDk2N2U0ZDlhNzQ4ODc2MzU4NjM0MzAzZjg5ZGNkYTg2NGQyNTVlMDQu
LjdmYjJjNWM1YzE0NDk2ODg1NTMwOGVmZjhjZDg1NGJkMTQ2ZmU0ZDQgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvYmxhY2tiZXJyeS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9ibGFj
a2JlcnJ5L0NoYW5nZUxvZwpAQCAtMSwzICsxLDEyIEBACisyMDEzLTA1LTI5ICBLZW50IFRhbXVy
YSAgPHRrZW50QGNocm9taXVtLm9yZz4KKworICAgICAgICBSZW1vdmUgRU5BQkxFX0lOUFVUX01V
TFRJUExFX0ZJRUxEU19VSS4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTExNjc5NgorCisgICAgICAgIFJldmlld2VkIGJ5IFJ5b3N1a2UgTml3YS4KKwor
ICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L0Fib3V0RGF0YUVuYWJsZUZlYXR1cmVzLmluOgorCiAy
MDEzLTA1LTI4ICBBcnZpZCBOaWxzc29uICA8YW5pbHNzb25AcmltLmNvbT4KIAogICAgICAgICBb
QmxhY2tCZXJyeV0gRml4IHN0eWxlIGlzc3VlcyBpbiBCbGFja0JlcnJ5IGFjY2VsZXJhdGVkIGNv
bXBvc2l0aW5nIGJhY2tlbmQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3RmL0ZlYXR1cmVEZWZp
bmVzLmggYi9Tb3VyY2UvV1RGL3d0Zi9GZWF0dXJlRGVmaW5lcy5oCmluZGV4IDAzNWI1YmIxNzU0
NTc4NmNhOTQyNTMzYTRkYzBiNTIwNDcwMTdjZGIuLmIxYjE4ZGRiMTNjNGRkNWFlNDFlYTlhZDAy
Njg3MWVjYjJkN2Q4MjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvd3RmL0ZlYXR1cmVEZWZpbmVz
LmgKKysrIGIvU291cmNlL1dURi93dGYvRmVhdHVyZURlZmluZXMuaApAQCAtNDk0LDEwICs0OTQs
NiBAQAogI2RlZmluZSBFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRSAwCiAjZW5kaWYKIAotI2lmICFk
ZWZpbmVkKEVOQUJMRV9JTlBVVF9NVUxUSVBMRV9GSUVMRFNfVUkpCi0jZGVmaW5lIEVOQUJMRV9J
TlBVVF9NVUxUSVBMRV9GSUVMRFNfVUkgMAotI2VuZGlmCi0KICNpZiAhZGVmaW5lZChFTkFCTEVf
SU5QVVRfU1BFRUNIKQogI2RlZmluZSBFTkFCTEVfSU5QVVRfU1BFRUNIIDAKICNlbmRpZgpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQgYi9Tb3VyY2UvV2ViQ29yZS9D
TWFrZUxpc3RzLnR4dAppbmRleCBkZmI3MTUwMzM4N2M1Y2I5MTc2N2ZlNzBhN2NjMmU3MjFmNGVi
OGI1Li5iYzNiYWE4ZjI2OTU2ZDVhNTcxOTY1MzZlYWJmZTc1MjhhYzA0MjQ5IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAorKysgYi9Tb3VyY2UvV2ViQ29yZS9DTWFr
ZUxpc3RzLnR4dApAQCAtMTM0Miw3ICsxMzQyLDYgQEAgc2V0KFdlYkNvcmVfU09VUkNFUwogICAg
IGh0bWwvQmFzZUNob29zZXJPbmx5RGF0ZUFuZFRpbWVJbnB1dFR5cGUuY3BwCiAgICAgaHRtbC9C
YXNlQ2xpY2thYmxlV2l0aEtleUlucHV0VHlwZS5jcHAKICAgICBodG1sL0Jhc2VEYXRlQW5kVGlt
ZUlucHV0VHlwZS5jcHAKLSAgICBodG1sL0Jhc2VNdWx0aXBsZUZpZWxkc0RhdGVBbmRUaW1lSW5w
dXRUeXBlLmNwcAogICAgIGh0bWwvQmFzZVRleHRJbnB1dFR5cGUuY3BwCiAgICAgaHRtbC9CdXR0
b25JbnB1dFR5cGUuY3BwCiAgICAgaHRtbC9DaGVja2JveElucHV0VHlwZS5jcHAKQEAgLTE1NjAs
MTMgKzE1NTksNyBAQCBzZXQoV2ViQ29yZV9TT1VSQ0VTCiAgICAgaHRtbC9wYXJzZXIvWFNTQXVk
aXRvci5jcHAKICAgICBodG1sL3BhcnNlci9YU1NBdWRpdG9yRGVsZWdhdGUuY3BwCiAKLSAgICBo
dG1sL3NoYWRvdy9DbGVhckJ1dHRvbkVsZW1lbnQuY3BwCiAgICAgaHRtbC9zaGFkb3cvQ29udGVu
dERpc3RyaWJ1dG9yLmNwcAotICAgIGh0bWwvc2hhZG93L0RhdGVUaW1lRWRpdEVsZW1lbnQuY3Bw
Ci0gICAgaHRtbC9zaGFkb3cvRGF0ZVRpbWVGaWVsZEVsZW1lbnQuY3BwCi0gICAgaHRtbC9zaGFk
b3cvRGF0ZVRpbWVGaWVsZEVsZW1lbnRzLmNwcAotICAgIGh0bWwvc2hhZG93L0RhdGVUaW1lTnVt
ZXJpY0ZpZWxkRWxlbWVudC5jcHAKLSAgICBodG1sL3NoYWRvdy9EYXRlVGltZVN5bWJvbGljRmll
bGRFbGVtZW50LmNwcAogICAgIGh0bWwvc2hhZG93L0RldGFpbHNNYXJrZXJDb250cm9sLmNwcAog
ICAgIGh0bWwvc2hhZG93L0hUTUxDb250ZW50RWxlbWVudC5jcHAKICAgICBodG1sL3NoYWRvdy9J
bnNlcnRpb25Qb2ludC5jcHAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxl
Lmxpc3QuYW0gYi9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5saXN0LmFtCmluZGV4IDFjNjI0
ZjYyM2EzNTVkZWE5Yjg3MWYxYzlmOGZlYjQ5MTRlZTY5OWUuLmY1N2U3NDkxOTRkZGY1ODUwMzI5
MDNjY2QwMjc0OWRiYjA5YjBiNzkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2Vm
aWxlLmxpc3QuYW0KKysrIGIvU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbQpAQCAt
MzMxNyw4ICszMzE3LDYgQEAgd2ViY29yZV9zb3VyY2VzICs9IFwKIAlTb3VyY2UvV2ViQ29yZS9o
dG1sL0Jhc2VDbGlja2FibGVXaXRoS2V5SW5wdXRUeXBlLmggXAogCVNvdXJjZS9XZWJDb3JlL2h0
bWwvQmFzZURhdGVBbmRUaW1lSW5wdXRUeXBlLmNwcCBcCiAJU291cmNlL1dlYkNvcmUvaHRtbC9C
YXNlRGF0ZUFuZFRpbWVJbnB1dFR5cGUuaCBcCi0JU291cmNlL1dlYkNvcmUvaHRtbC9CYXNlTXVs
dGlwbGVGaWVsZHNEYXRlQW5kVGltZUlucHV0VHlwZS5jcHAgXAotCVNvdXJjZS9XZWJDb3JlL2h0
bWwvQmFzZU11bHRpcGxlRmllbGRzRGF0ZUFuZFRpbWVJbnB1dFR5cGUuaCBcCiAJU291cmNlL1dl
YkNvcmUvaHRtbC9CYXNlVGV4dElucHV0VHlwZS5jcHAgXAogCVNvdXJjZS9XZWJDb3JlL2h0bWwv
QmFzZVRleHRJbnB1dFR5cGUuaCBcCiAJU291cmNlL1dlYkNvcmUvaHRtbC9CdXR0b25JbnB1dFR5
cGUuY3BwIFwKQEAgLTM3MjMsMjIgKzM3MjEsOCBAQCB3ZWJjb3JlX3NvdXJjZXMgKz0gXAogCVNv
dXJjZS9XZWJDb3JlL2h0bWwvcGFyc2VyL1hTU0F1ZGl0b3IuaCBcCiAJU291cmNlL1dlYkNvcmUv
aHRtbC9wYXJzZXIvWFNTQXVkaXRvckRlbGVnYXRlLmNwcCBcCiAJU291cmNlL1dlYkNvcmUvaHRt
bC9wYXJzZXIvWFNTQXVkaXRvckRlbGVnYXRlLmggXAotCVNvdXJjZS9XZWJDb3JlL2h0bWwvc2hh
ZG93L1BpY2tlckluZGljYXRvckVsZW1lbnQuY3BwIFwKLQlTb3VyY2UvV2ViQ29yZS9odG1sL3No
YWRvdy9QaWNrZXJJbmRpY2F0b3JFbGVtZW50LmggXAotCVNvdXJjZS9XZWJDb3JlL2h0bWwvc2hh
ZG93L0NsZWFyQnV0dG9uRWxlbWVudC5jcHAgXAotCVNvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93
L0NsZWFyQnV0dG9uRWxlbWVudC5oIFwKIAlTb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9Db250
ZW50RGlzdHJpYnV0b3IuY3BwIFwKIAlTb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9Db250ZW50
RGlzdHJpYnV0b3IuaCBcCi0JU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvRGF0ZVRpbWVFZGl0
RWxlbWVudC5jcHAgXAotCVNvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L0RhdGVUaW1lRWRpdEVs
ZW1lbnQuaCBcCi0JU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvRGF0ZVRpbWVGaWVsZEVsZW1l
bnQuY3BwIFwKLQlTb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9EYXRlVGltZUZpZWxkRWxlbWVu
dC5oIFwKLQlTb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9EYXRlVGltZUZpZWxkRWxlbWVudHMu
Y3BwIFwKLQlTb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9EYXRlVGltZUZpZWxkRWxlbWVudHMu
aCBcCi0JU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvRGF0ZVRpbWVOdW1lcmljRmllbGRFbGVt
ZW50LmNwcCBcCi0JU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvRGF0ZVRpbWVOdW1lcmljRmll
bGRFbGVtZW50LmggXAotCVNvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L0RhdGVUaW1lU3ltYm9s
aWNGaWVsZEVsZW1lbnQuY3BwIFwKLQlTb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9EYXRlVGlt
ZVN5bWJvbGljRmllbGRFbGVtZW50LmggXAogCVNvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L0Rl
dGFpbHNNYXJrZXJDb250cm9sLmNwcCBcCiAJU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvRGV0
YWlsc01hcmtlckNvbnRyb2wuaCBcCiAJU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvSFRNTENv
bnRlbnRFbGVtZW50LmNwcCBcCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9UYXJnZXQucHJp
IGIvU291cmNlL1dlYkNvcmUvVGFyZ2V0LnByaQppbmRleCBkYzRjNmYzZjBlOWEyOTYwZWYzZmM3
MTg3YmUzYTE0YzFkMzU5MTI0Li5iZjY3ZWQ2ZGQzYzRhOGNjZWZjZTQ5ZDhhMDU4ODNhMGNmN2Jh
OGQzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9UYXJnZXQucHJpCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL1RhcmdldC5wcmkKQEAgLTU4NSw3ICs1ODUsNiBAQCBTT1VSQ0VTICs9IFwKICAgICBo
dG1sL0Jhc2VDaG9vc2VyT25seURhdGVBbmRUaW1lSW5wdXRUeXBlLmNwcCBcCiAgICAgaHRtbC9C
YXNlQ2xpY2thYmxlV2l0aEtleUlucHV0VHlwZS5jcHAgXAogICAgIGh0bWwvQmFzZURhdGVBbmRU
aW1lSW5wdXRUeXBlLmNwcCBcCi0gICAgaHRtbC9CYXNlTXVsdGlwbGVGaWVsZHNEYXRlQW5kVGlt
ZUlucHV0VHlwZS5jcHAgXAogICAgIGh0bWwvQmFzZVRleHRJbnB1dFR5cGUuY3BwIFwKICAgICBo
dG1sL0J1dHRvbklucHV0VHlwZS5jcHAgXAogICAgIGh0bWwvQ2hlY2tib3hJbnB1dFR5cGUuY3Bw
IFwKQEAgLTc1OCwxMyArNzU3LDcgQEAgU09VUkNFUyArPSBcCiAgICAgaHRtbC9wYXJzZXIvVGV4
dFZpZXdTb3VyY2VQYXJzZXIuY3BwIFwKICAgICBodG1sL3BhcnNlci9YU1NBdWRpdG9yLmNwcCBc
CiAgICAgaHRtbC9wYXJzZXIvWFNTQXVkaXRvckRlbGVnYXRlLmNwcCBcCi0gICAgaHRtbC9zaGFk
b3cvQ2xlYXJCdXR0b25FbGVtZW50LmNwcCBcCiAgICAgaHRtbC9zaGFkb3cvQ29udGVudERpc3Ry
aWJ1dG9yLmNwcCBcCi0gICAgaHRtbC9zaGFkb3cvRGF0ZVRpbWVFZGl0RWxlbWVudC5jcHAgXAot
ICAgIGh0bWwvc2hhZG93L0RhdGVUaW1lRmllbGRFbGVtZW50LmNwcCBcCi0gICAgaHRtbC9zaGFk
b3cvRGF0ZVRpbWVGaWVsZEVsZW1lbnRzLmNwcCBcCi0gICAgaHRtbC9zaGFkb3cvRGF0ZVRpbWVO
dW1lcmljRmllbGRFbGVtZW50LmNwcCBcCi0gICAgaHRtbC9zaGFkb3cvRGF0ZVRpbWVTeW1ib2xp
Y0ZpZWxkRWxlbWVudC5jcHAgXAogICAgIGh0bWwvc2hhZG93L0RldGFpbHNNYXJrZXJDb250cm9s
LmNwcCBcCiAgICAgaHRtbC9zaGFkb3cvSFRNTENvbnRlbnRFbGVtZW50LmNwcCBcCiAgICAgaHRt
bC9zaGFkb3cvSW5zZXJ0aW9uUG9pbnQuY3BwIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52
Y3Byb2ovV2ViQ29yZS52Y3Byb2oKaW5kZXggNTQ1NTY0MjgzMmQ0YmRhNGU0MTAxY2RkYTJjMDQ0
YTZlOWYyM2U0YS4uNWE1ZmJmZGE2MDFlMzQyMzNiYzQ0ODRkODRhZmRmMDg4M2JkYmIyNyAxMDA3
NTUKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2oKKysr
IGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2oKQEAgLTYwMTM1
LDE0ICs2MDEzNSw2IEBACiAJCQkJPgogCQkJPC9GaWxlPgogCQkJPEZpbGUKLQkJCQlSZWxhdGl2
ZVBhdGg9Ii4uXGh0bWxcQmFzZU11bHRpcGxlRmllbGRzRGF0ZUFuZFRpbWVJbnB1dFR5cGUuY3Bw
IgotCQkJCT4KLQkJCTwvRmlsZT4KLQkJCTxGaWxlCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlxodG1s
XEJhc2VNdWx0aXBsZUZpZWxkc0RhdGVBbmRUaW1lSW5wdXRUeXBlLmgiCi0JCQkJPgotCQkJPC9G
aWxlPgotCQkJPEZpbGUKIAkJCQlSZWxhdGl2ZVBhdGg9Ii4uXGh0bWxcQmFzZVRleHRJbnB1dFR5
cGUuY3BwIgogCQkJCT4KIAkJCTwvRmlsZT4KQEAgLTY1MzM4LDE0ICs2NTMzMCw2IEBACiAJCQkJ
TmFtZT0ic2hhZG93IgogCQkJCT4KIAkJCQk8RmlsZQotCQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXGh0
bWxcc2hhZG93XENsZWFyQnV0dG9uRWxlbWVudC5jcHAiCi0JCQkJCT4KLQkJCQk8L0ZpbGU+Ci0J
CQkJPEZpbGUKLQkJCQkJUmVsYXRpdmVQYXRoPSIuLlxodG1sXHNoYWRvd1xDbGVhckJ1dHRvbkVs
ZW1lbnQuaCIKLQkJCQkJPgotCQkJCTwvRmlsZT4KLQkJCQk8RmlsZQogCQkJCQlSZWxhdGl2ZVBh
dGg9Ii4uXGh0bWxcc2hhZG93XENvbnRlbnREaXN0cmlidXRvci5jcHAiCiAJCQkJCT4KIAkJCQk8
L0ZpbGU+CkBAIC02NTM1NCw0NiArNjUzMzgsNiBAQAogCQkJCQk+CiAJCQkJPC9GaWxlPgogCQkJ
CTxGaWxlCi0JCQkJCVJlbGF0aXZlUGF0aD0iLi5caHRtbFxzaGFkb3dcRGF0ZVRpbWVFZGl0RWxl
bWVudC5jcHAiCi0JCQkJCT4KLQkJCQk8L0ZpbGU+Ci0JCQkJPEZpbGUKLQkJCQkJUmVsYXRpdmVQ
YXRoPSIuLlxodG1sXHNoYWRvd1xEYXRlVGltZUVkaXRFbGVtZW50LmgiCi0JCQkJCT4KLQkJCQk8
L0ZpbGU+Ci0JCQkJPEZpbGUKLQkJCQkJUmVsYXRpdmVQYXRoPSIuLlxodG1sXHNoYWRvd1xEYXRl
VGltZUZpZWxkRWxlbWVudC5jcHAiCi0JCQkJCT4KLQkJCQk8L0ZpbGU+Ci0JCQkJPEZpbGUKLQkJ
CQkJUmVsYXRpdmVQYXRoPSIuLlxodG1sXHNoYWRvd1xEYXRlVGltZUZpZWxkRWxlbWVudC5oIgot
CQkJCQk+Ci0JCQkJPC9GaWxlPgotCQkJCTxGaWxlCi0JCQkJCVJlbGF0aXZlUGF0aD0iLi5caHRt
bFxzaGFkb3dcRGF0ZVRpbWVGaWVsZEVsZW1lbnRzLmNwcCIKLQkJCQkJPgotCQkJCTwvRmlsZT4K
LQkJCQk8RmlsZQotCQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXGh0bWxcc2hhZG93XERhdGVUaW1lRmll
bGRFbGVtZW50cy5oIgotCQkJCQk+Ci0JCQkJPC9GaWxlPgotCQkJCTxGaWxlCi0JCQkJCVJlbGF0
aXZlUGF0aD0iLi5caHRtbFxzaGFkb3dcRGF0ZVRpbWVOdW1lcmljRmllbGRFbGVtZW50LmNwcCIK
LQkJCQkJPgotCQkJCTwvRmlsZT4KLQkJCQk8RmlsZQotCQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXGh0
bWxcc2hhZG93XERhdGVUaW1lTnVtZXJpY0ZpZWxkRWxlbWVudC5oIgotCQkJCQk+Ci0JCQkJPC9G
aWxlPgotCQkJCTxGaWxlCi0JCQkJCVJlbGF0aXZlUGF0aD0iLi5caHRtbFxzaGFkb3dcRGF0ZVRp
bWVTeW1ib2xpY0ZpZWxkRWxlbWVudC5jcHAiCi0JCQkJCT4KLQkJCQk8L0ZpbGU+Ci0JCQkJPEZp
bGUKLQkJCQkJUmVsYXRpdmVQYXRoPSIuLlxodG1sXHNoYWRvd1xEYXRlVGltZVN5bWJvbGljRmll
bGRFbGVtZW50LmgiCi0JCQkJCT4KLQkJCQk8L0ZpbGU+Ci0JCQkJPEZpbGUKIAkJCQkJUmVsYXRp
dmVQYXRoPSIuLlxodG1sXHNoYWRvd1xEZXRhaWxzTWFya2VyQ29udHJvbC5jcHAiCiAJCQkJCT4K
IAkJCQk8L0ZpbGU+CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjeHByb2ov
V2ViQ29yZS52Y3hwcm9qIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3hwcm9qL1dlYkNvcmUu
dmN4cHJvagppbmRleCBlOWEzYTM3YzM5N2Y1MDc5Y2IxMThlMmNhYjQ1OGM4NTM2ZTNjNjY0Li5m
OWQ5ZWQ5NmNhNjhjMjNkNTEyNzYxNWJhNWNiMDI5YmI5NzcwNmYzIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9XZWJDb3JlLnZjeHByb2ovV2ViQ29yZS52Y3hwcm9qCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL1dlYkNvcmUudmN4cHJvai9XZWJDb3JlLnZjeHByb2oKQEAgLTkwMjUsMTMgKzkwMjUs
NyBAQAogICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5caHRtbFxwYXJzZXJcVGV4dFZpZXdTb3Vy
Y2VQYXJzZXIuY3BwIiAvPgogICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5caHRtbFxwYXJzZXJc
WFNTQXVkaXRvci5jcHAiIC8+CiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxodG1sXHBhcnNl
clxYU1NBdWRpdG9yRGVsZWdhdGUuY3BwIiAvPgotICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5c
aHRtbFxzaGFkb3dcQ2xlYXJCdXR0b25FbGVtZW50LmNwcCIgLz4KICAgICA8Q2xDb21waWxlIElu
Y2x1ZGU9Ii4uXGh0bWxcc2hhZG93XENvbnRlbnREaXN0cmlidXRvci5jcHAiIC8+Ci0gICAgPENs
Q29tcGlsZSBJbmNsdWRlPSIuLlxodG1sXHNoYWRvd1xEYXRlVGltZUVkaXRFbGVtZW50LmNwcCIg
Lz4KLSAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXGh0bWxcc2hhZG93XERhdGVUaW1lRmllbGRF
bGVtZW50LmNwcCIgLz4KLSAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXGh0bWxcc2hhZG93XERh
dGVUaW1lRmllbGRFbGVtZW50cy5jcHAiIC8+Ci0gICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxo
dG1sXHNoYWRvd1xEYXRlVGltZU51bWVyaWNGaWVsZEVsZW1lbnQuY3BwIiAvPgotICAgIDxDbENv
bXBpbGUgSW5jbHVkZT0iLi5caHRtbFxzaGFkb3dcRGF0ZVRpbWVTeW1ib2xpY0ZpZWxkRWxlbWVu
dC5jcHAiIC8+CiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxodG1sXHNoYWRvd1xEZXRhaWxz
TWFya2VyQ29udHJvbC5jcHAiIC8+CiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxodG1sXHNo
YWRvd1xIVE1MQ29udGVudEVsZW1lbnQuY3BwIj4KICAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBD
b25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfFdpbjMyJyI+
dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+CkBAIC0xMjgxOSwxMyArMTI4MTMsNyBAQAogICAgIDxD
bEluY2x1ZGUgSW5jbHVkZT0iLi5caHRtbFxwYXJzZXJcVGV4dFZpZXdTb3VyY2VQYXJzZXIuaCIg
Lz4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXGh0bWxccGFyc2VyXFhTU0F1ZGl0b3IuaCIg
Lz4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXGh0bWxccGFyc2VyXFhTU0F1ZGl0b3JEZWxl
Z2F0ZS5oIiAvPgotICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5caHRtbFxzaGFkb3dcQ2xlYXJC
dXR0b25FbGVtZW50LmgiIC8+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxodG1sXHNoYWRv
d1xDb250ZW50RGlzdHJpYnV0b3IuaCIgLz4KLSAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXGh0
bWxcc2hhZG93XERhdGVUaW1lRWRpdEVsZW1lbnQuaCIgLz4KLSAgICA8Q2xJbmNsdWRlIEluY2x1
ZGU9Ii4uXGh0bWxcc2hhZG93XERhdGVUaW1lRmllbGRFbGVtZW50LmgiIC8+Ci0gICAgPENsSW5j
bHVkZSBJbmNsdWRlPSIuLlxodG1sXHNoYWRvd1xEYXRlVGltZUZpZWxkRWxlbWVudHMuaCIgLz4K
LSAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXGh0bWxcc2hhZG93XERhdGVUaW1lTnVtZXJpY0Zp
ZWxkRWxlbWVudC5oIiAvPgotICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5caHRtbFxzaGFkb3dc
RGF0ZVRpbWVTeW1ib2xpY0ZpZWxkRWxlbWVudC5oIiAvPgogICAgIDxDbEluY2x1ZGUgSW5jbHVk
ZT0iLi5caHRtbFxzaGFkb3dcRGV0YWlsc01hcmtlckNvbnRyb2wuaCIgLz4KICAgICA8Q2xJbmNs
dWRlIEluY2x1ZGU9Ii4uXGh0bWxcc2hhZG93XEhUTUxDb250ZW50RWxlbWVudC5oIiAvPgogICAg
IDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5caHRtbFxzaGFkb3dcSW5zZXJ0aW9uUG9pbnQuaCIgLz4K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmN4cHJvai9XZWJDb3JlLnZjeHBy
b2ouZmlsdGVycyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmN4cHJvai9XZWJDb3JlLnZjeHBy
b2ouZmlsdGVycwppbmRleCBiYzU2YzdmMDA2YThmOTAzZWVkYzI5YWJhMWEzMzU2ZTdiOGQwOGIz
Li43YjhiOTQ0OTIyMjBjZTMzZGJhODU4MTk0OTRjN2E0MTQxZGIzODM2IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjeHByb2ovV2ViQ29yZS52Y3hwcm9qLmZpbHRlcnMKKysr
IGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3hwcm9qL1dlYkNvcmUudmN4cHJvai5maWx0ZXJz
CkBAIC00Mjk5LDI3ICs0Mjk5LDkgQEAKICAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXGh0bWxc
cGFyc2VyXFhTU0F1ZGl0b3JEZWxlZ2F0ZS5jcHAiPgogICAgICAgPEZpbHRlcj5odG1sXHBhcnNl
cjwvRmlsdGVyPgogICAgIDwvQ2xDb21waWxlPgotICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5c
aHRtbFxzaGFkb3dcQ2xlYXJCdXR0b25FbGVtZW50LmNwcCI+Ci0gICAgICA8RmlsdGVyPmh0bWxc
c2hhZG93PC9GaWx0ZXI+Ci0gICAgPC9DbENvbXBpbGU+CiAgICAgPENsQ29tcGlsZSBJbmNsdWRl
PSIuLlxodG1sXHNoYWRvd1xDb250ZW50RGlzdHJpYnV0b3IuY3BwIj4KICAgICAgIDxGaWx0ZXI+
aHRtbFxzaGFkb3c8L0ZpbHRlcj4KICAgICA8L0NsQ29tcGlsZT4KLSAgICA8Q2xDb21waWxlIElu
Y2x1ZGU9Ii4uXGh0bWxcc2hhZG93XERhdGVUaW1lRWRpdEVsZW1lbnQuY3BwIj4KLSAgICAgIDxG
aWx0ZXI+aHRtbFxzaGFkb3c8L0ZpbHRlcj4KLSAgICA8L0NsQ29tcGlsZT4KLSAgICA8Q2xDb21w
aWxlIEluY2x1ZGU9Ii4uXGh0bWxcc2hhZG93XERhdGVUaW1lRmllbGRFbGVtZW50LmNwcCI+Ci0g
ICAgICA8RmlsdGVyPmh0bWxcc2hhZG93PC9GaWx0ZXI+Ci0gICAgPC9DbENvbXBpbGU+Ci0gICAg
PENsQ29tcGlsZSBJbmNsdWRlPSIuLlxodG1sXHNoYWRvd1xEYXRlVGltZUZpZWxkRWxlbWVudHMu
Y3BwIj4KLSAgICAgIDxGaWx0ZXI+aHRtbFxzaGFkb3c8L0ZpbHRlcj4KLSAgICA8L0NsQ29tcGls
ZT4KLSAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXGh0bWxcc2hhZG93XERhdGVUaW1lTnVtZXJp
Y0ZpZWxkRWxlbWVudC5jcHAiPgotICAgICAgPEZpbHRlcj5odG1sXHNoYWRvdzwvRmlsdGVyPgot
ICAgIDwvQ2xDb21waWxlPgotICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5caHRtbFxzaGFkb3dc
RGF0ZVRpbWVTeW1ib2xpY0ZpZWxkRWxlbWVudC5jcHAiPgotICAgICAgPEZpbHRlcj5odG1sXHNo
YWRvdzwvRmlsdGVyPgotICAgIDwvQ2xDb21waWxlPgogICAgIDxDbENvbXBpbGUgSW5jbHVkZT0i
Li5caHRtbFxzaGFkb3dcRGV0YWlsc01hcmtlckNvbnRyb2wuY3BwIj4KICAgICAgIDxGaWx0ZXI+
aHRtbFxzaGFkb3c8L0ZpbHRlcj4KICAgICA8L0NsQ29tcGlsZT4KQEAgLTExMTk2LDI3ICsxMTE3
OCw5IEBACiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxodG1sXHBhcnNlclxYU1NBdWRpdG9y
RGVsZWdhdGUuaCI+CiAgICAgICA8RmlsdGVyPmh0bWxccGFyc2VyPC9GaWx0ZXI+CiAgICAgPC9D
bEluY2x1ZGU+Ci0gICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxodG1sXHNoYWRvd1xDbGVhckJ1
dHRvbkVsZW1lbnQuaCI+Ci0gICAgICA8RmlsdGVyPmh0bWxcc2hhZG93PC9GaWx0ZXI+Ci0gICAg
PC9DbEluY2x1ZGU+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxodG1sXHNoYWRvd1xDb250
ZW50RGlzdHJpYnV0b3IuaCI+CiAgICAgICA8RmlsdGVyPmh0bWxcc2hhZG93PC9GaWx0ZXI+CiAg
ICAgPC9DbEluY2x1ZGU+Ci0gICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxodG1sXHNoYWRvd1xE
YXRlVGltZUVkaXRFbGVtZW50LmgiPgotICAgICAgPEZpbHRlcj5odG1sXHNoYWRvdzwvRmlsdGVy
PgotICAgIDwvQ2xJbmNsdWRlPgotICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5caHRtbFxzaGFk
b3dcRGF0ZVRpbWVGaWVsZEVsZW1lbnQuaCI+Ci0gICAgICA8RmlsdGVyPmh0bWxcc2hhZG93PC9G
aWx0ZXI+Ci0gICAgPC9DbEluY2x1ZGU+Ci0gICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxodG1s
XHNoYWRvd1xEYXRlVGltZUZpZWxkRWxlbWVudHMuaCI+Ci0gICAgICA8RmlsdGVyPmh0bWxcc2hh
ZG93PC9GaWx0ZXI+Ci0gICAgPC9DbEluY2x1ZGU+Ci0gICAgPENsSW5jbHVkZSBJbmNsdWRlPSIu
LlxodG1sXHNoYWRvd1xEYXRlVGltZU51bWVyaWNGaWVsZEVsZW1lbnQuaCI+Ci0gICAgICA8Rmls
dGVyPmh0bWxcc2hhZG93PC9GaWx0ZXI+Ci0gICAgPC9DbEluY2x1ZGU+Ci0gICAgPENsSW5jbHVk
ZSBJbmNsdWRlPSIuLlxodG1sXHNoYWRvd1xEYXRlVGltZVN5bWJvbGljRmllbGRFbGVtZW50Lmgi
PgotICAgICAgPEZpbHRlcj5odG1sXHNoYWRvdzwvRmlsdGVyPgotICAgIDwvQ2xJbmNsdWRlPgog
ICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5caHRtbFxzaGFkb3dcRGV0YWlsc01hcmtlckNvbnRy
b2wuaCI+CiAgICAgICA8RmlsdGVyPmh0bWxcc2hhZG93PC9GaWx0ZXI+CiAgICAgPC9DbEluY2x1
ZGU+CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0
LnBieHByb2ogYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHBy
b2oKaW5kZXggNGZhMzViNzVkYWI2NGJiNTE4Yzk5Yjg4YWZiNjNlOWU1MGI1ZTQxYS4uMTBlNzk3
ZGZjM2Y1YTVmYWJjYmI2NTQ0MGVjYTg5YWUxZWFlMWU3ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XZWJD
b3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtMTIyMSwxOCArMTIyMSw2
IEBACiAJCTQ1M0VCNjM3MTU5QzU3MDQwMDAwMUJCNyAvKiBEYXRlVGltZUZvcm1hdC5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDUzRUI2MzUxNTlDNTcw
NDAwMDAxQkI3IC8qIERhdGVUaW1lRm9ybWF0LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMg
PSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJNDU4MzBENEQxNjc5QjRGODAwQUNGOEMzIC8qIEF1dG9z
Y3JvbGxDb250cm9sbGVyLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDQ1ODMwRDRCMTY3OUI0RjgwMEFDRjhDMyAvKiBBdXRvc2Nyb2xsQ29udHJvbGxl
ci5jcHAgKi87IH07CiAJCTQ1ODMwRDRFMTY3OUI0RjgwMEFDRjhDMyAvKiBBdXRvc2Nyb2xsQ29u
dHJvbGxlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
NDU4MzBENEMxNjc5QjRGODAwQUNGOEMzIC8qIEF1dG9zY3JvbGxDb250cm9sbGVyLmggKi87IHNl
dHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKLQkJNDU4NjFDNzIxNjE5
NDlEQzAwMDEwRjNBIC8qIEJhc2VNdWx0aXBsZUZpZWxkc0RhdGVBbmRUaW1lSW5wdXRUeXBlLmNw
cCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQ1ODYxQzcw
MTYxOTQ5REMwMDAxMEYzQSAvKiBCYXNlTXVsdGlwbGVGaWVsZHNEYXRlQW5kVGltZUlucHV0VHlw
ZS5jcHAgKi87IH07Ci0JCTQ1ODYxQzczMTYxOTQ5REMwMDAxMEYzQSAvKiBCYXNlTXVsdGlwbGVG
aWVsZHNEYXRlQW5kVGltZUlucHV0VHlwZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gNDU4NjFDNzExNjE5NDlEQzAwMDEwRjNBIC8qIEJhc2VNdWx0aXBs
ZUZpZWxkc0RhdGVBbmRUaW1lSW5wdXRUeXBlLmggKi87IH07Ci0JCTQ1ODYxQzdGMTYxOTRBNzQw
MDAxMEYzQSAvKiBEYXRlVGltZUVkaXRFbGVtZW50LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQ1ODYxQzc1MTYxOTRBNzQwMDAxMEYzQSAvKiBEYXRl
VGltZUVkaXRFbGVtZW50LmNwcCAqLzsgfTsKLQkJNDU4NjFDODAxNjE5NEE3NDAwMDEwRjNBIC8q
IERhdGVUaW1lRWRpdEVsZW1lbnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDQ1ODYxQzc2MTYxOTRBNzQwMDAxMEYzQSAvKiBEYXRlVGltZUVkaXRFbGVt
ZW50LmggKi87IH07Ci0JCTQ1ODYxQzgxMTYxOTRBNzQwMDAxMEYzQSAvKiBEYXRlVGltZUZpZWxk
RWxlbWVudC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSA0NTg2MUM3NzE2MTk0QTc0MDAwMTBGM0EgLyogRGF0ZVRpbWVGaWVsZEVsZW1lbnQuY3BwICov
OyB9OwotCQk0NTg2MUM4MjE2MTk0QTc0MDAwMTBGM0EgLyogRGF0ZVRpbWVGaWVsZEVsZW1lbnQu
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQ1ODYxQzc4
MTYxOTRBNzQwMDAxMEYzQSAvKiBEYXRlVGltZUZpZWxkRWxlbWVudC5oICovOyB9OwotCQk0NTg2
MUM4MzE2MTk0QTc0MDAwMTBGM0EgLyogRGF0ZVRpbWVGaWVsZEVsZW1lbnRzLmNwcCBpbiBTb3Vy
Y2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQ1ODYxQzc5MTYxOTRBNzQw
MDAxMEYzQSAvKiBEYXRlVGltZUZpZWxkRWxlbWVudHMuY3BwICovOyB9OwotCQk0NTg2MUM4NDE2
MTk0QTc0MDAwMTBGM0EgLyogRGF0ZVRpbWVGaWVsZEVsZW1lbnRzLmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0NTg2MUM3QTE2MTk0QTc0MDAwMTBGM0Eg
LyogRGF0ZVRpbWVGaWVsZEVsZW1lbnRzLmggKi87IH07Ci0JCTQ1ODYxQzg1MTYxOTRBNzQwMDAx
MEYzQSAvKiBEYXRlVGltZU51bWVyaWNGaWVsZEVsZW1lbnQuY3BwIGluIFNvdXJjZXMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDU4NjFDN0IxNjE5NEE3NDAwMDEwRjNBIC8q
IERhdGVUaW1lTnVtZXJpY0ZpZWxkRWxlbWVudC5jcHAgKi87IH07Ci0JCTQ1ODYxQzg2MTYxOTRB
NzQwMDAxMEYzQSAvKiBEYXRlVGltZU51bWVyaWNGaWVsZEVsZW1lbnQuaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQ1ODYxQzdDMTYxOTRBNzQwMDAxMEYz
QSAvKiBEYXRlVGltZU51bWVyaWNGaWVsZEVsZW1lbnQuaCAqLzsgfTsKLQkJNDU4NjFDODcxNjE5
NEE3NDAwMDEwRjNBIC8qIERhdGVUaW1lU3ltYm9saWNGaWVsZEVsZW1lbnQuY3BwIGluIFNvdXJj
ZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDU4NjFDN0QxNjE5NEE3NDAw
MDEwRjNBIC8qIERhdGVUaW1lU3ltYm9saWNGaWVsZEVsZW1lbnQuY3BwICovOyB9OwotCQk0NTg2
MUM4ODE2MTk0QTc0MDAwMTBGM0EgLyogRGF0ZVRpbWVTeW1ib2xpY0ZpZWxkRWxlbWVudC5oIGlu
IEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDU4NjFDN0UxNjE5
NEE3NDAwMDEwRjNBIC8qIERhdGVUaW1lU3ltYm9saWNGaWVsZEVsZW1lbnQuaCAqLzsgfTsKIAkJ
NDU4RkU0MDkxNTg5REYwQjAwNTYwOUU2IC8qIFJlbmRlclNlYXJjaEZpZWxkLmNwcCBpbiBTb3Vy
Y2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQ1OEZFNDA3MTU4OURGMEIw
MDU2MDlFNiAvKiBSZW5kZXJTZWFyY2hGaWVsZC5jcHAgKi87IH07CiAJCTQ1OEZFNDBBMTU4OURG
MEIwMDU2MDlFNiAvKiBSZW5kZXJTZWFyY2hGaWVsZC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDU4RkU0MDgxNTg5REYwQjAwNTYwOUU2IC8qIFJlbmRl
clNlYXJjaEZpZWxkLmggKi87IH07CiAJCTQ1QkFDMkIwMTM2MEJCQUIwMDVEQTI1OCAvKiBJY29u
VVJMLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0NUJB
QzJBRjEzNjBCQkFCMDA1REEyNTggLyogSWNvblVSTC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJV
VEVTID0gKFByaXZhdGUsICk7IH07IH07CkBAIC01MTIxLDggKzUxMDksNiBAQAogCQlDMzc1RDdG
RDE2NjM5NTE5MDA2MTg0QUIgLyogVHlwZUFoZWFkLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEMzNzVEN0ZCMTY2Mzk1MTkwMDYxODRBQiAvKiBUeXBl
QWhlYWQuY3BwICovOyB9OwogCQlDMzc1RDdGRTE2NjM5NTE5MDA2MTg0QUIgLyogVHlwZUFoZWFk
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDMzc1RDdG
QzE2NjM5NTE5MDA2MTg0QUIgLyogVHlwZUFoZWFkLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVU
RVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJQzM3Q0RFQkQxNDlFRjIwMzAwNDIwOTBEIC8qIENv
bG9yQ2hvb3NlckNsaWVudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gQzM3Q0RFQkMxNDlFRjIwMzAwNDIwOTBEIC8qIENvbG9yQ2hvb3NlckNsaWVudC5o
ICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07Ci0JCUMzN0RG
OEVGMTZFNzQ2NzEwMDc5QTBFQiAvKiBDbGVhckJ1dHRvbkVsZW1lbnQuY3BwIGluIFNvdXJjZXMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQzM3REY4RUQxNkU3NDY3MTAwNzlB
MEVCIC8qIENsZWFyQnV0dG9uRWxlbWVudC5jcHAgKi87IH07Ci0JCUMzN0RGOEYwMTZFNzQ2NzEw
MDc5QTBFQiAvKiBDbGVhckJ1dHRvbkVsZW1lbnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEMzN0RGOEVFMTZFNzQ2NzEwMDc5QTBFQiAvKiBDbGVhckJ1
dHRvbkVsZW1lbnQuaCAqLzsgfTsKIAkJQzNDRjE3QTQxNUIwMDYzRjAwMjc2RDM5IC8qIElkVGFy
Z2V0T2JzZXJ2ZXIuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gQzNDRjE3QTAxNUIwMDYzRjAwMjc2RDM5IC8qIElkVGFyZ2V0T2JzZXJ2ZXIuY3BwICov
OyB9OwogCQlDM0NGMTdBNTE1QjAwNjNGMDAyNzZEMzkgLyogSWRUYXJnZXRPYnNlcnZlci5oIGlu
IEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQzNDRjE3QTExNUIw
MDYzRjAwMjc2RDM5IC8qIElkVGFyZ2V0T2JzZXJ2ZXIuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklC
VVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQlDM0NGMTdBNjE1QjAwNjNGMDAyNzZEMzkgLyog
SWRUYXJnZXRPYnNlcnZlclJlZ2lzdHJ5LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IEMzQ0YxN0EyMTVCMDA2M0YwMDI3NkQzOSAvKiBJZFRhcmdldE9i
c2VydmVyUmVnaXN0cnkuY3BwICovOyB9OwpAQCAtNzU3OCwxOCArNzU2NCw2IEBACiAJCTQ1M0VC
NjM1MTU5QzU3MDQwMDAwMUJCNyAvKiBEYXRlVGltZUZvcm1hdC5oICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jLmg7IHBhdGggPSBEYXRlVGltZUZvcm1hdC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwogCQk0NTgzMEQ0QjE2NzlCNEY4MDBBQ0Y4QzMgLyogQXV0b3Njcm9sbENvbnRyb2xsZXIu
Y3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gQXV0b3Njcm9sbENvbnRy
b2xsZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0NTgzMEQ0QzE2NzlCNEY4
MDBBQ0Y4QzMgLyogQXV0b3Njcm9sbENvbnRyb2xsZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Yy5oOyBwYXRoID0gQXV0b3Njcm9sbENvbnRyb2xsZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKLQkJNDU4NjFDNzAxNjE5NDlEQzAwMDEwRjNBIC8qIEJhc2VNdWx0aXBsZUZpZWxkc0Rh
dGVBbmRUaW1lSW5wdXRUeXBlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0
aCA9IEJhc2VNdWx0aXBsZUZpZWxkc0RhdGVBbmRUaW1lSW5wdXRUeXBlLmNwcDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKLQkJNDU4NjFDNzExNjE5NDlEQzAwMDEwRjNBIC8qIEJhc2VNdWx0
aXBsZUZpZWxkc0RhdGVBbmRUaW1lSW5wdXRUeXBlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMu
aDsgcGF0aCA9IEJhc2VNdWx0aXBsZUZpZWxkc0RhdGVBbmRUaW1lSW5wdXRUeXBlLmg7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCTQ1ODYxQzc1MTYxOTRBNzQwMDAxMEYzQSAvKiBEYXRl
VGltZUVkaXRFbGVtZW50LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9
IERhdGVUaW1lRWRpdEVsZW1lbnQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQk0
NTg2MUM3NjE2MTk0QTc0MDAwMTBGM0EgLyogRGF0ZVRpbWVFZGl0RWxlbWVudC5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBEYXRlVGltZUVkaXRFbGVtZW50Lmg7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07Ci0JCTQ1ODYxQzc3MTYxOTRBNzQwMDAxMEYzQSAvKiBEYXRlVGlt
ZUZpZWxkRWxlbWVudC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBE
YXRlVGltZUZpZWxkRWxlbWVudC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCTQ1
ODYxQzc4MTYxOTRBNzQwMDAxMEYzQSAvKiBEYXRlVGltZUZpZWxkRWxlbWVudC5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBEYXRlVGltZUZpZWxkRWxlbWVudC5oOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwotCQk0NTg2MUM3OTE2MTk0QTc0MDAwMTBGM0EgLyogRGF0ZVRp
bWVGaWVsZEVsZW1lbnRzLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9
IERhdGVUaW1lRmllbGRFbGVtZW50cy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0J
CTQ1ODYxQzdBMTYxOTRBNzQwMDAxMEYzQSAvKiBEYXRlVGltZUZpZWxkRWxlbWVudHMuaCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gRGF0ZVRpbWVGaWVsZEVsZW1lbnRzLmg7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCTQ1ODYxQzdCMTYxOTRBNzQwMDAxMEYzQSAvKiBE
YXRlVGltZU51bWVyaWNGaWVsZEVsZW1lbnQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAu
Y3BwOyBwYXRoID0gRGF0ZVRpbWVOdW1lcmljRmllbGRFbGVtZW50LmNwcDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKLQkJNDU4NjFDN0MxNjE5NEE3NDAwMDEwRjNBIC8qIERhdGVUaW1lTnVt
ZXJpY0ZpZWxkRWxlbWVudC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBEYXRl
VGltZU51bWVyaWNGaWVsZEVsZW1lbnQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJ
NDU4NjFDN0QxNjE5NEE3NDAwMDEwRjNBIC8qIERhdGVUaW1lU3ltYm9saWNGaWVsZEVsZW1lbnQu
Y3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gRGF0ZVRpbWVTeW1ib2xp
Y0ZpZWxkRWxlbWVudC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCTQ1ODYxQzdF
MTYxOTRBNzQwMDAxMEYzQSAvKiBEYXRlVGltZVN5bWJvbGljRmllbGRFbGVtZW50LmggKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IERhdGVUaW1lU3ltYm9saWNGaWVsZEVsZW1lbnQu
aDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDU4RkU0MDcxNTg5REYwQjAwNTYwOUU2
IC8qIFJlbmRlclNlYXJjaEZpZWxkLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsg
cGF0aCA9IFJlbmRlclNlYXJjaEZpZWxkLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
IAkJNDU4RkU0MDgxNTg5REYwQjAwNTYwOUU2IC8qIFJlbmRlclNlYXJjaEZpZWxkLmggKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFJlbmRlclNlYXJjaEZpZWxkLmg7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQ1QkFDMkFGMTM2MEJCQUIwMDVEQTI1OCAvKiBJY29uVVJM
LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEljb25VUkwuaDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTExODUyLDggKzExODI2LDYgQEAKIAkJQzM3NUQ3RkIxNjYz
OTUxOTAwNjE4NEFCIC8qIFR5cGVBaGVhZC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5j
cHA7IHBhdGggPSBUeXBlQWhlYWQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlD
Mzc1RDdGQzE2NjM5NTE5MDA2MTg0QUIgLyogVHlwZUFoZWFkLmggKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmMuaDsgcGF0aCA9IFR5cGVBaGVhZC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owog
CQlDMzdDREVCQzE0OUVGMjAzMDA0MjA5MEQgLyogQ29sb3JDaG9vc2VyQ2xpZW50LmggKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IENvbG9yQ2hvb3NlckNsaWVudC5oOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwotCQlDMzdERjhFRDE2RTc0NjcxMDA3OUEwRUIgLyogQ2xlYXJC
dXR0b25FbGVtZW50LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IENs
ZWFyQnV0dG9uRWxlbWVudC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCUMzN0RG
OEVFMTZFNzQ2NzEwMDc5QTBFQiAvKiBDbGVhckJ1dHRvbkVsZW1lbnQuaCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuYy5oOyBwYXRoID0gQ2xlYXJCdXR0b25FbGVtZW50Lmg7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CiAJCUMzQ0YxN0EwMTVCMDA2M0YwMDI3NkQzOSAvKiBJZFRhcmdldE9ic2Vy
dmVyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IElkVGFyZ2V0T2Jz
ZXJ2ZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlDM0NGMTdBMTE1QjAwNjNG
MDAyNzZEMzkgLyogSWRUYXJnZXRPYnNlcnZlci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IHBhdGggPSBJZFRhcmdldE9ic2VydmVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJ
CUMzQ0YxN0EyMTVCMDA2M0YwMDI3NkQzOSAvKiBJZFRhcmdldE9ic2VydmVyUmVnaXN0cnkuY3Bw
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSWRUYXJnZXRPYnNlcnZlclJl
Z2lzdHJ5LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTEzODk4LDIwICsxMzg3
MCw4IEBACiAJCTQxNTBGOUVEMTJCNkUwOTkwMDA4Qzg2MCAvKiBzaGFkb3cgKi8gPSB7CiAJCQlp
c2EgPSBQQlhHcm91cDsKIAkJCWNoaWxkcmVuID0gKAotCQkJCUMzN0RGOEVEMTZFNzQ2NzEwMDc5
QTBFQiAvKiBDbGVhckJ1dHRvbkVsZW1lbnQuY3BwICovLAotCQkJCUMzN0RGOEVFMTZFNzQ2NzEw
MDc5QTBFQiAvKiBDbGVhckJ1dHRvbkVsZW1lbnQuaCAqLywKIAkJCQk1N0I3OTE5RjE0QzZBNjI5
MDBGMjAyRDEgLyogQ29udGVudERpc3RyaWJ1dG9yLmNwcCAqLywKIAkJCQk1N0I3OTFBMDE0QzZB
NjI5MDBGMjAyRDEgLyogQ29udGVudERpc3RyaWJ1dG9yLmggKi8sCi0JCQkJNDU4NjFDNzUxNjE5
NEE3NDAwMDEwRjNBIC8qIERhdGVUaW1lRWRpdEVsZW1lbnQuY3BwICovLAotCQkJCTQ1ODYxQzc2
MTYxOTRBNzQwMDAxMEYzQSAvKiBEYXRlVGltZUVkaXRFbGVtZW50LmggKi8sCi0JCQkJNDU4NjFD
NzcxNjE5NEE3NDAwMDEwRjNBIC8qIERhdGVUaW1lRmllbGRFbGVtZW50LmNwcCAqLywKLQkJCQk0
NTg2MUM3ODE2MTk0QTc0MDAwMTBGM0EgLyogRGF0ZVRpbWVGaWVsZEVsZW1lbnQuaCAqLywKLQkJ
CQk0NTg2MUM3OTE2MTk0QTc0MDAwMTBGM0EgLyogRGF0ZVRpbWVGaWVsZEVsZW1lbnRzLmNwcCAq
LywKLQkJCQk0NTg2MUM3QTE2MTk0QTc0MDAwMTBGM0EgLyogRGF0ZVRpbWVGaWVsZEVsZW1lbnRz
LmggKi8sCi0JCQkJNDU4NjFDN0IxNjE5NEE3NDAwMDEwRjNBIC8qIERhdGVUaW1lTnVtZXJpY0Zp
ZWxkRWxlbWVudC5jcHAgKi8sCi0JCQkJNDU4NjFDN0MxNjE5NEE3NDAwMDEwRjNBIC8qIERhdGVU
aW1lTnVtZXJpY0ZpZWxkRWxlbWVudC5oICovLAotCQkJCTQ1ODYxQzdEMTYxOTRBNzQwMDAxMEYz
QSAvKiBEYXRlVGltZVN5bWJvbGljRmllbGRFbGVtZW50LmNwcCAqLywKLQkJCQk0NTg2MUM3RTE2
MTk0QTc0MDAwMTBGM0EgLyogRGF0ZVRpbWVTeW1ib2xpY0ZpZWxkRWxlbWVudC5oICovLAogCQkJ
CUE3QzlBQkY2MTM1N0EzQkYwMEY1NTAzRiAvKiBEZXRhaWxzTWFya2VyQ29udHJvbC5jcHAgKi8s
CiAJCQkJQTdDOUFCRjcxMzU3QTNCRjAwRjU1MDNGIC8qIERldGFpbHNNYXJrZXJDb250cm9sLmgg
Ki8sCiAJCQkJNTdCNzkxQTcxNEM2QTYzMzAwRjIwMkQxIC8qIEhUTUxDb250ZW50RWxlbWVudC5j
cHAgKi8sCkBAIC0xNTcxOSw4ICsxNTY3OSw2IEBACiAJCQkJQzMzRUU1QzMxNEZCNDk2MTAwMDIw
OTVBIC8qIEJhc2VDbGlja2FibGVXaXRoS2V5SW5wdXRUeXBlLmggKi8sCiAJCQkJRjU5Qzk1RkQx
MjU1QjIzRjAwMDYyM0MwIC8qIEJhc2VEYXRlQW5kVGltZUlucHV0VHlwZS5jcHAgKi8sCiAJCQkJ
RjU5Qzk1RkUxMjU1QjIzRjAwMDYyM0MwIC8qIEJhc2VEYXRlQW5kVGltZUlucHV0VHlwZS5oICov
LAotCQkJCTQ1ODYxQzcwMTYxOTQ5REMwMDAxMEYzQSAvKiBCYXNlTXVsdGlwbGVGaWVsZHNEYXRl
QW5kVGltZUlucHV0VHlwZS5jcHAgKi8sCi0JCQkJNDU4NjFDNzExNjE5NDlEQzAwMDEwRjNBIC8q
IEJhc2VNdWx0aXBsZUZpZWxkc0RhdGVBbmRUaW1lSW5wdXRUeXBlLmggKi8sCiAJCQkJRjU1QjNE
NzkxMjUxRjEyRDAwM0VGMjY5IC8qIEJhc2VUZXh0SW5wdXRUeXBlLmNwcCAqLywKIAkJCQlGNTVC
M0Q3QTEyNTFGMTJEMDAzRUYyNjkgLyogQmFzZVRleHRJbnB1dFR5cGUuaCAqLywKIAkJCQlGNTVC
M0Q3QjEyNTFGMTJEMDAzRUYyNjkgLyogQnV0dG9uSW5wdXRUeXBlLmNwcCAqLywKQEAgLTIxMDIx
LDcgKzIwOTc5LDYgQEAKIAkJCQlGNUUwQzY1QzE2NDNDNDJDMDBENkNCNjkgLyogQmFzZUNob29z
ZXJPbmx5RGF0ZUFuZFRpbWVJbnB1dFR5cGUuaCBpbiBIZWFkZXJzICovLAogCQkJCUMzM0VFNUM1
MTRGQjQ5NjEwMDAyMDk1QSAvKiBCYXNlQ2xpY2thYmxlV2l0aEtleUlucHV0VHlwZS5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJRjU5Qzk2MDAxMjU1QjIzRjAwMDYyM0MwIC8qIEJhc2VEYXRlQW5kVGlt
ZUlucHV0VHlwZS5oIGluIEhlYWRlcnMgKi8sCi0JCQkJNDU4NjFDNzMxNjE5NDlEQzAwMDEwRjNB
IC8qIEJhc2VNdWx0aXBsZUZpZWxkc0RhdGVBbmRUaW1lSW5wdXRUeXBlLmggaW4gSGVhZGVycyAq
LywKIAkJCQlGNTVCM0RBRTEyNTFGMTJEMDAzRUYyNjkgLyogQmFzZVRleHRJbnB1dFR5cGUuaCBp
biBIZWFkZXJzICovLAogCQkJCUZCRDZBRjhBMTVFRjI1REYwMDhCNzExMCAvKiBCYXNpY1NoYXBl
RnVuY3Rpb25zLmggaW4gSGVhZGVycyAqLywKIAkJCQlGQkQ2QUY4QzE1RUYyNjA0MDA4QjcxMTAg
LyogQmFzaWNTaGFwZXMuaCBpbiBIZWFkZXJzICovLApAQCAtMjExMTMsNyArMjEwNzAsNiBAQAog
CQkJCTE0RDgyNDA4MEFGOTNBRUIwMDA0RjA1NyAvKiBDaHJvbWVDbGllbnQuaCBpbiBIZWFkZXJz
ICovLAogCQkJCTRBQ0JDMEJGMTI3MTNDQkQwMDk0RjlCMiAvKiBDbGFzc0xpc3QuaCBpbiBIZWFk
ZXJzICovLAogCQkJCUJDOTA0Qjc3MEQxMDk5OEYwMDY4MEQzMiAvKiBDbGFzc05vZGVMaXN0Lmgg
aW4gSGVhZGVycyAqLywKLQkJCQlDMzdERjhGMDE2RTc0NjcxMDA3OUEwRUIgLyogQ2xlYXJCdXR0
b25FbGVtZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQlCQ0MwNjU3RTBGM0NFMUI3MDBDRDJEODcg
LyogQ2xpZW50UmVjdC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQkNDMDY1ODEwRjNDRTFCNzAwQ0Qy
RDg3IC8qIENsaWVudFJlY3RMaXN0LmggaW4gSGVhZGVycyAqLywKIAkJCQk4NTAzMUIzRTBBNDRF
RkM3MDBGOTkyRTAgLyogQ2xpcGJvYXJkLmggaW4gSGVhZGVycyAqLywKQEAgLTIxMjkyLDE0ICsy
MTI0OCw5IEBACiAJCQkJMkU5N0NDRUIxMjkzOUNCODAwQzVDOEZGIC8qIERhdGFWaWV3LmggaW4g
SGVhZGVycyAqLywKIAkJCQlBNTczMkIwQjEzNkExNjFEMDA1QzhEN0MgLyogRGF0ZUNvbXBvbmVu
dHMuaCBpbiBIZWFkZXJzICovLAogCQkJCUY1NUIzREI2MTI1MUYxMkQwMDNFRjI2OSAvKiBEYXRl
SW5wdXRUeXBlLmggaW4gSGVhZGVycyAqLywKLQkJCQk0NTg2MUM4MDE2MTk0QTc0MDAwMTBGM0Eg
LyogRGF0ZVRpbWVFZGl0RWxlbWVudC5oIGluIEhlYWRlcnMgKi8sCi0JCQkJNDU4NjFDODIxNjE5
NEE3NDAwMDEwRjNBIC8qIERhdGVUaW1lRmllbGRFbGVtZW50LmggaW4gSGVhZGVycyAqLywKLQkJ
CQk0NTg2MUM4NDE2MTk0QTc0MDAwMTBGM0EgLyogRGF0ZVRpbWVGaWVsZEVsZW1lbnRzLmggaW4g
SGVhZGVycyAqLywKIAkJCQk0NTNFQjYzNzE1OUM1NzA0MDAwMDFCQjcgLyogRGF0ZVRpbWVGb3Jt
YXQuaCBpbiBIZWFkZXJzICovLAogCQkJCUY1NUIzREI4MTI1MUYxMkQwMDNFRjI2OSAvKiBEYXRl
VGltZUlucHV0VHlwZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRjU1QjNEQkExMjUxRjEyRDAwM0VG
MjY5IC8qIERhdGVUaW1lTG9jYWxJbnB1dFR5cGUuaCBpbiBIZWFkZXJzICovLAotCQkJCTQ1ODYx
Qzg2MTYxOTRBNzQwMDAxMEYzQSAvKiBEYXRlVGltZU51bWVyaWNGaWVsZEVsZW1lbnQuaCBpbiBI
ZWFkZXJzICovLAotCQkJCTQ1ODYxQzg4MTYxOTRBNzQwMDAxMEYzQSAvKiBEYXRlVGltZVN5bWJv
bGljRmllbGRFbGVtZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQk0NUZFQTVEMDE1NkRERThDMDA2
NTQxMDEgLyogRGVjaW1hbC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQThDMjI4QTExMUQ1NzIyRTAw
RDVBN0QzIC8qIERlY29kZWREYXRhRG9jdW1lbnRQYXJzZXIuaCBpbiBIZWFkZXJzICovLAogCQkJ
CUNFQ0NGQzNCMTQxOTczRDUwMDJBMEFDMSAvKiBEZWNvZGVFc2NhcGVTZXF1ZW5jZXMuaCBpbiBI
ZWFkZXJzICovLApAQCAtMjQ0NzcsNyArMjQ0MjgsNiBAQAogCQkJCUY1RTBDNjVCMTY0M0M0MkMw
MEQ2Q0I2OSAvKiBCYXNlQ2hvb3Nlck9ubHlEYXRlQW5kVGltZUlucHV0VHlwZS5jcHAgaW4gU291
cmNlcyAqLywKIAkJCQlDMzNFRTVDNDE0RkI0OTYxMDAwMjA5NUEgLyogQmFzZUNsaWNrYWJsZVdp
dGhLZXlJbnB1dFR5cGUuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJRjU5Qzk1RkYxMjU1QjIzRjAw
MDYyM0MwIC8qIEJhc2VEYXRlQW5kVGltZUlucHV0VHlwZS5jcHAgaW4gU291cmNlcyAqLywKLQkJ
CQk0NTg2MUM3MjE2MTk0OURDMDAwMTBGM0EgLyogQmFzZU11bHRpcGxlRmllbGRzRGF0ZUFuZFRp
bWVJbnB1dFR5cGUuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJRjU1QjNEQUQxMjUxRjEyRDAwM0VG
MjY5IC8qIEJhc2VUZXh0SW5wdXRUeXBlLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUZCRDZBRjg5
MTVFRjI1REIwMDhCNzExMCAvKiBCYXNpY1NoYXBlRnVuY3Rpb25zLmNwcCBpbiBTb3VyY2VzICov
LAogCQkJCUZCRDZBRjhEMTVFRjI2MEEwMDhCNzExMCAvKiBCYXNpY1NoYXBlcy5jcHAgaW4gU291
cmNlcyAqLywKQEAgLTI0NTUxLDcgKzI0NTAxLDYgQEAKIAkJCQlBQkFGMjIwODBDMDNCMUM3MDBC
MEJDRjAgLyogQ2hyb21lTWFjLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJNEFDQkMwQkUxMjcxM0NC
RDAwOTRGOUIyIC8qIENsYXNzTGlzdC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlCQzkwNEI3NjBE
MTA5OThGMDA2ODBEMzIgLyogQ2xhc3NOb2RlTGlzdC5jcHAgaW4gU291cmNlcyAqLywKLQkJCQlD
MzdERjhFRjE2RTc0NjcxMDA3OUEwRUIgLyogQ2xlYXJCdXR0b25FbGVtZW50LmNwcCBpbiBTb3Vy
Y2VzICovLAogCQkJCUJDQzA2NTdEMEYzQ0UxQjcwMENEMkQ4NyAvKiBDbGllbnRSZWN0LmNwcCBp
biBTb3VyY2VzICovLAogCQkJCUJDQzA2NTgwMEYzQ0UxQjcwMENEMkQ4NyAvKiBDbGllbnRSZWN0
TGlzdC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlBNzg0OTQxQjBCNUZFNTA3MDAxRTIzN0EgLyog
Q2xpcGJvYXJkLmNwcCBpbiBTb3VyY2VzICovLApAQCAtMjQ2OTQsMTMgKzI0NjQzLDggQEAKIAkJ
CQkyRTk3Q0NFQTEyOTM5Q0I4MDBDNUM4RkYgLyogRGF0YVZpZXcuY3BwIGluIFNvdXJjZXMgKi8s
CiAJCQkJQTU3MzJCMEExMzZBMTYxRDAwNUM4RDdDIC8qIERhdGVDb21wb25lbnRzLmNwcCBpbiBT
b3VyY2VzICovLAogCQkJCUY1NUIzREI1MTI1MUYxMkQwMDNFRjI2OSAvKiBEYXRlSW5wdXRUeXBl
LmNwcCBpbiBTb3VyY2VzICovLAotCQkJCTQ1ODYxQzdGMTYxOTRBNzQwMDAxMEYzQSAvKiBEYXRl
VGltZUVkaXRFbGVtZW50LmNwcCBpbiBTb3VyY2VzICovLAotCQkJCTQ1ODYxQzgxMTYxOTRBNzQw
MDAxMEYzQSAvKiBEYXRlVGltZUZpZWxkRWxlbWVudC5jcHAgaW4gU291cmNlcyAqLywKLQkJCQk0
NTg2MUM4MzE2MTk0QTc0MDAwMTBGM0EgLyogRGF0ZVRpbWVGaWVsZEVsZW1lbnRzLmNwcCBpbiBT
b3VyY2VzICovLAogCQkJCUY1NUIzREI3MTI1MUYxMkQwMDNFRjI2OSAvKiBEYXRlVGltZUlucHV0
VHlwZS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlGNTVCM0RCOTEyNTFGMTJEMDAzRUYyNjkgLyog
RGF0ZVRpbWVMb2NhbElucHV0VHlwZS5jcHAgaW4gU291cmNlcyAqLywKLQkJCQk0NTg2MUM4NTE2
MTk0QTc0MDAwMTBGM0EgLyogRGF0ZVRpbWVOdW1lcmljRmllbGRFbGVtZW50LmNwcCBpbiBTb3Vy
Y2VzICovLAotCQkJCTQ1ODYxQzg3MTYxOTRBNzQwMDAxMEYzQSAvKiBEYXRlVGltZVN5bWJvbGlj
RmllbGRFbGVtZW50LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTQ1RkVBNUNGMTU2RERFOEMwMDY1
NDEwMSAvKiBEZWNpbWFsLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUE4QzIyOEEyMTFENTcyMkUw
MEQ1QTdEMyAvKiBEZWNvZGVkRGF0YURvY3VtZW50UGFyc2VyLmNwcCBpbiBTb3VyY2VzICovLAog
CQkJCTQxNjJBNDUwMTAxMTQ1QUUwMERGRjNFRCAvKiBEZWRpY2F0ZWRXb3JrZXJDb250ZXh0LmNw
cCBpbiBTb3VyY2VzICovLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL2h0bWwuY3Nz
IGIvU291cmNlL1dlYkNvcmUvY3NzL2h0bWwuY3NzCmluZGV4IGYxNzgwZDQ0MDY1YmE5ZWY2YmUx
OTc0Zjg2YzViOTRmYzg4NjkwM2EuLjBhYTM2YTNkNTYwZjBiYzFjZDU1N2NiOTZmOWRlNzAwN2Zh
MzY5ZjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9odG1sLmNzcworKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9jc3MvaHRtbC5jc3MKQEAgLTQ5OCwxNDggKzQ5OCw2IEBAIGRhdGFsaXN0IHsK
IH0KICNlbmRpZgogCi0jaWYgZGVmaW5lZChFTkFCTEVfSU5QVVRfTVVMVElQTEVfRklFTERTX1VJ
KSAmJiBFTkFCTEVfSU5QVVRfTVVMVElQTEVfRklFTERTX1VJCi0jaWYgZGVmaW5lZChFTkFCTEVf
SU5QVVRfVFlQRV9EQVRFKSAmJiBFTkFCTEVfSU5QVVRfVFlQRV9EQVRFCi1pbnB1dFt0eXBlPSJk
YXRlIl0gewotICAgIC13ZWJraXQtYWxpZ24taXRlbXM6IGNlbnRlcjsKLSAgICBkaXNwbGF5OiAt
d2Via2l0LWlubGluZS1mbGV4OwotICAgIGZvbnQtZmFtaWx5OiBtb25vc3BhY2U7Ci0gICAgb3Zl
cmZsb3c6IGhpZGRlbjsKLSAgICBwYWRkaW5nOiAwOwotICAgIC13ZWJraXQtcGFkZGluZy1zdGFy
dDogMXB4OwotfQotI2VuZGlmCi0jaWYgZGVmaW5lZChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElN
RV9JTkNPTVBMRVRFKSAmJiBFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRV9JTkNPTVBMRVRFCi1p
bnB1dFt0eXBlPSJkYXRldGltZSJdIHsKLSAgICAtd2Via2l0LWFsaWduLWl0ZW1zOiBjZW50ZXI7
Ci0gICAgZGlzcGxheTogLXdlYmtpdC1pbmxpbmUtZmxleDsKLSAgICBmb250LWZhbWlseTogbW9u
b3NwYWNlOwotICAgIG92ZXJmbG93OiBoaWRkZW47Ci0gICAgcGFkZGluZzogMDsKLSAgICAtd2Vi
a2l0LXBhZGRpbmctc3RhcnQ6IDFweDsKLX0KLSNlbmRpZgotI2lmIGRlZmluZWQoRU5BQkxFX0lO
UFVUX1RZUEVfREFURVRJTUVMT0NBTCkgJiYgRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVMT0NB
TAotaW5wdXRbdHlwZT0iZGF0ZXRpbWUtbG9jYWwiXSB7Ci0gICAgLXdlYmtpdC1hbGlnbi1pdGVt
czogY2VudGVyOwotICAgIGRpc3BsYXk6IC13ZWJraXQtaW5saW5lLWZsZXg7Ci0gICAgZm9udC1m
YW1pbHk6IG1vbm9zcGFjZTsKLSAgICBvdmVyZmxvdzogaGlkZGVuOwotICAgIHBhZGRpbmc6IDA7
Ci0gICAgLXdlYmtpdC1wYWRkaW5nLXN0YXJ0OiAxcHg7Ci19Ci0jZW5kaWYKLSNpZiBkZWZpbmVk
KEVOQUJMRV9JTlBVVF9UWVBFX01PTlRIKSAmJiBFTkFCTEVfSU5QVVRfVFlQRV9NT05USAotaW5w
dXRbdHlwZT0ibW9udGgiXSB7Ci0gICAgLXdlYmtpdC1hbGlnbi1pdGVtczogY2VudGVyOwotICAg
IGRpc3BsYXk6IC13ZWJraXQtaW5saW5lLWZsZXg7Ci0gICAgZm9udC1mYW1pbHk6IG1vbm9zcGFj
ZTsKLSAgICBvdmVyZmxvdzogaGlkZGVuOwotICAgIHBhZGRpbmc6IDA7Ci0gICAgLXdlYmtpdC1w
YWRkaW5nLXN0YXJ0OiAxcHg7Ci19Ci0jZW5kaWYKLSNpZiBkZWZpbmVkKEVOQUJMRV9JTlBVVF9U
WVBFX1RJTUUpICYmIEVOQUJMRV9JTlBVVF9UWVBFX1RJTUUKLWlucHV0W3R5cGU9InRpbWUiXSB7
Ci0gICAgLXdlYmtpdC1hbGlnbi1pdGVtczogY2VudGVyOwotICAgIGRpc3BsYXk6IC13ZWJraXQt
aW5saW5lLWZsZXg7Ci0gICAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZTsKLSAgICBvdmVyZmxvdzog
aGlkZGVuOwotICAgIHBhZGRpbmc6IDA7Ci0gICAgLXdlYmtpdC1wYWRkaW5nLXN0YXJ0OiAxcHg7
Ci19Ci0jZW5kaWYKLSNpZiBkZWZpbmVkKEVOQUJMRV9JTlBVVF9UWVBFX1dFRUspICYmIEVOQUJM
RV9JTlBVVF9UWVBFX1dFRUsKLWlucHV0W3R5cGU9IndlZWsiXSB7Ci0gICAgLXdlYmtpdC1hbGln
bi1pdGVtczogY2VudGVyOwotICAgIGRpc3BsYXk6IC13ZWJraXQtaW5saW5lLWZsZXg7Ci0gICAg
Zm9udC1mYW1pbHk6IG1vbm9zcGFjZTsKLSAgICBvdmVyZmxvdzogaGlkZGVuOwotICAgIHBhZGRp
bmc6IDA7Ci0gICAgLXdlYmtpdC1wYWRkaW5nLXN0YXJ0OiAxcHg7Ci19Ci0jZW5kaWYKLQotaW5w
dXQ6Oi13ZWJraXQtZGF0ZXRpbWUtZWRpdCB7Ci0gICAgLXdlYmtpdC1mbGV4OiAxOwotICAgIC13
ZWJraXQtdXNlci1tb2RpZnk6IHJlYWQtb25seSAhaW1wb3J0YW50OwotICAgIGRpc3BsYXk6IGlu
bGluZS1ibG9jazsKLSAgICBvdmVyZmxvdzogaGlkZGVuOwotfQotCi1pbnB1dDo6LXdlYmtpdC1k
YXRldGltZS1lZGl0LWZpZWxkcy13cmFwcGVyIHsKLSAgICAtd2Via2l0LXVzZXItbW9kaWZ5OiBy
ZWFkLW9ubHkgIWltcG9ydGFudDsKLSAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7Ci0gICAgcGFk
ZGluZzogMXB4IDA7Ci0gICAgd2hpdGUtc3BhY2U6IHByZTsKLX0KLQotLyogSWYgeW91IHVwZGF0
ZSBwYWRkaW5nLCBib3JkZXIsIG9yIG1hcmdpbiBpbiB0aGUgZm9sbG93aW5nIHJ1bGVzZXQsIHVw
ZGF0ZQotICAgRGF0ZVRpbWVGaWVsZEVsZW1lbnQ6Om1heGltdW1XaWR0aCB0b28uICovCi1pbnB1
dDo6LXdlYmtpdC1kYXRldGltZS1lZGl0LWFtcG0tZmllbGQsCi1pbnB1dDo6LXdlYmtpdC1kYXRl
dGltZS1lZGl0LWRheS1maWVsZCwKLWlucHV0Ojotd2Via2l0LWRhdGV0aW1lLWVkaXQtaG91ci1m
aWVsZCwKLWlucHV0Ojotd2Via2l0LWRhdGV0aW1lLWVkaXQtbWlsbGlzZWNvbmQtZmllbGQsCi1p
bnB1dDo6LXdlYmtpdC1kYXRldGltZS1lZGl0LW1pbnV0ZS1maWVsZCwKLWlucHV0Ojotd2Via2l0
LWRhdGV0aW1lLWVkaXQtbW9udGgtZmllbGQsCi1pbnB1dDo6LXdlYmtpdC1kYXRldGltZS1lZGl0
LXNlY29uZC1maWVsZCwKLWlucHV0Ojotd2Via2l0LWRhdGV0aW1lLWVkaXQtd2Vlay1maWVsZCwK
LWlucHV0Ojotd2Via2l0LWRhdGV0aW1lLWVkaXQteWVhci1maWVsZCB7Ci0gICAgLXdlYmtpdC11
c2VyLW1vZGlmeTogcmVhZC1vbmx5ICFpbXBvcnRhbnQ7Ci0gICAgYm9yZGVyOiBub25lOwotICAg
IGRpc3BsYXk6IGlubGluZTsKLSAgICBmb250OiBpbmhlcml0ICFpbXBvcnRhbnQ7Ci0gICAgcGFk
ZGluZzogMXB4OwotfQotCi0vKiBSZW1vdmUgZm9jdXMgcmluZyBmcm9tIGZpZWxkcyBhbmQgdXNl
IGhpZ2hsaWdodCBjb2xvciAqLwotaW5wdXQ6Oi13ZWJraXQtZGF0ZXRpbWUtZWRpdC1hbXBtLWZp
ZWxkOmZvY3VzLAotaW5wdXQ6Oi13ZWJraXQtZGF0ZXRpbWUtZWRpdC1kYXktZmllbGQ6Zm9jdXMs
Ci1pbnB1dDo6LXdlYmtpdC1kYXRldGltZS1lZGl0LWhvdXItZmllbGQ6Zm9jdXMsCi1pbnB1dDo6
LXdlYmtpdC1kYXRldGltZS1lZGl0LW1pbGxpc2Vjb25kLWZpZWxkOmZvY3VzLAotaW5wdXQ6Oi13
ZWJraXQtZGF0ZXRpbWUtZWRpdC1taW51dGUtZmllbGQ6Zm9jdXMsCi1pbnB1dDo6LXdlYmtpdC1k
YXRldGltZS1lZGl0LW1vbnRoLWZpZWxkOmZvY3VzLAotaW5wdXQ6Oi13ZWJraXQtZGF0ZXRpbWUt
ZWRpdC1zZWNvbmQtZmllbGQ6Zm9jdXMsCi1pbnB1dDo6LXdlYmtpdC1kYXRldGltZS1lZGl0LXdl
ZWstZmllbGQ6Zm9jdXMsCi1pbnB1dDo6LXdlYmtpdC1kYXRldGltZS1lZGl0LXllYXItZmllbGQ6
Zm9jdXMgewotICAgIGJhY2tncm91bmQtY29sb3I6IGhpZ2hsaWdodDsKLSAgICBjb2xvcjogaGln
aGxpZ2h0dGV4dDsKLSAgICBvdXRsaW5lOiBub25lOwotfQotCi1pbnB1dDo6LXdlYmtpdC1kYXRl
dGltZS1lZGl0LXllYXItZmllbGRbZGlzYWJsZWRdLAotaW5wdXQ6Oi13ZWJraXQtZGF0ZXRpbWUt
ZWRpdC1tb250aC1maWVsZFtkaXNhYmxlZF0sCi1pbnB1dDo6LXdlYmtpdC1kYXRldGltZS1lZGl0
LXdlZWstZmllbGRbZGlzYWJsZWRdLAotaW5wdXQ6Oi13ZWJraXQtZGF0ZXRpbWUtZWRpdC1kYXkt
ZmllbGRbZGlzYWJsZWRdLAotaW5wdXQ6Oi13ZWJraXQtZGF0ZXRpbWUtZWRpdC1hbXBtLWZpZWxk
W2Rpc2FibGVkXSwKLWlucHV0Ojotd2Via2l0LWRhdGV0aW1lLWVkaXQtaG91ci1maWVsZFtkaXNh
YmxlZF0sCi1pbnB1dDo6LXdlYmtpdC1kYXRldGltZS1lZGl0LW1pbGxpc2Vjb25kLWZpZWxkW2Rp
c2FibGVkXSwKLWlucHV0Ojotd2Via2l0LWRhdGV0aW1lLWVkaXQtbWludXRlLWZpZWxkW2Rpc2Fi
bGVkXSwKLWlucHV0Ojotd2Via2l0LWRhdGV0aW1lLWVkaXQtc2Vjb25kLWZpZWxkW2Rpc2FibGVk
XSB7Ci0gICAgY29sb3I6IEdyYXlUZXh0OwotfQotCi0vKiBJZiB5b3UgdXBkYXRlIHBhZGRpbmcs
IGJvcmRlciwgb3IgbWFyZ2luIGluIHRoZSBmb2xsb3dpbmcgcnVsZXNldCwgdXBkYXRlCi0gICBE
YXRlVGltZUVkaXRFbGVtZW50OjpjdXN0b21TdHllbEZvclJlbmRlcmVyIHRvby4gKi8KLWlucHV0
Ojotd2Via2l0LWRhdGV0aW1lLWVkaXQtdGV4dCB7Ci0gICAgLXdlYmtpdC11c2VyLW1vZGlmeTog
cmVhZC1vbmx5ICFpbXBvcnRhbnQ7Ci0gICAgZGlzcGxheTogaW5saW5lOwotICAgIGZvbnQ6IGlu
aGVyaXQgIWltcG9ydGFudDsKLX0KLQotaW5wdXRbdHlwZT0iZGF0ZSJdOjotd2Via2l0LWlubmVy
LXNwaW4tYnV0dG9uLAotaW5wdXRbdHlwZT0iZGF0ZXRpbWUiXTo6LXdlYmtpdC1pbm5lci1zcGlu
LWJ1dHRvbiwKLWlucHV0W3R5cGU9ImRhdGV0aW1lLWxvY2FsIl06Oi13ZWJraXQtaW5uZXItc3Bp
bi1idXR0b24sCi1pbnB1dFt0eXBlPSJtb250aCJdOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9u
LAotaW5wdXRbdHlwZT0idGltZSJdOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uLAotaW5wdXRb
dHlwZT0id2VlayJdOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uIHsKLSAgICBkaXNwbGF5OiBp
bmxpbmUtYmxvY2s7Ci0gICAgcG9zaXRpb246IHN0YXRpYzsKLSAgICAtd2Via2l0LW1hcmdpbi1z
dGFydDogMnB4OwotfQotCi0jZWxzZQotCiAjaWYgZGVmaW5lZChFTkFCTEVfSU5QVVRfVFlQRV9E
QVRFKSAmJiBFTkFCTEVfSU5QVVRfVFlQRV9EQVRFCiBpbnB1dFt0eXBlPSJkYXRlIl0gewogICAg
IC13ZWJraXQtYWxpZ24taXRlbXM6IGNlbnRlcjsKQEAgLTY5OSw3ICs1NTcsNiBAQCBpbnB1dDo6
LXdlYmtpdC1kYXRlLWFuZC10aW1lLXZhbHVlIHsKICAgICBtYXJnaW46IDFweCAyNHB4IDFweCA0
cHg7CiAgICAgd2hpdGUtc3BhY2U6IHByZTsKIH0KLSNlbmRpZgogCiBpbnB1dDo6LXdlYmtpdC1p
bm5lci1zcGluLWJ1dHRvbiB7CiAgICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBpbm5lci1zcGluLWJ1
dHRvbjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50LmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL2RvbS9FbGVtZW50LmNwcAppbmRleCBiYTI3ZDQ3ZDBiNmY5M2I2NmEyYWEyMDky
MTA4NzZiZDJmOWJhY2YwLi45ZThkZjY2YTdkZWRhMmQ5OWVhZDUzMzczN2RiNTZjYWEyYjU0ZGJk
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudC5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvZG9tL0VsZW1lbnQuY3BwCkBAIC0xMjcxLDEzICsxMjcxLDYgQEAgUmVuZGVyT2Jq
ZWN0KiBFbGVtZW50OjpjcmVhdGVSZW5kZXJlcihSZW5kZXJBcmVuYSosIFJlbmRlclN0eWxlKiBz
dHlsZSkKICAgICByZXR1cm4gUmVuZGVyT2JqZWN0OjpjcmVhdGVPYmplY3QodGhpcywgc3R5bGUp
OwogfQogCi0jaWYgRU5BQkxFKElOUFVUX01VTFRJUExFX0ZJRUxEU19VSSkKLWJvb2wgRWxlbWVu
dDo6aXNEYXRlVGltZUZpZWxkRWxlbWVudCgpIGNvbnN0Ci17Ci0gICAgcmV0dXJuIGZhbHNlOwot
fQotI2VuZGlmCi0KIGJvb2wgRWxlbWVudDo6aXNEaXNhYmxlZEZvcm1Db250cm9sKCkgY29uc3QK
IHsKICNpZiBFTkFCTEUoRElBTE9HX0VMRU1FTlQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9kb20vRWxlbWVudC5oIGIvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnQuaAppbmRleCAyNDUz
MGMyMWUzMDhmZjNmODQ1MGQ1YzdhNjNkZTc3MDRmYjViMzBhLi4xZjE5ZjUwNzY5ZTFjNGRhZDk0
Mzg1NmRkNzc3MWJkYjhmYTM0ZjJhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vRWxl
bWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50LmgKQEAgLTU1OSw5ICs1NTks
NiBAQCBwdWJsaWM6CiAjaWYgRU5BQkxFKElOUFVUX1NQRUVDSCkKICAgICB2aXJ0dWFsIGJvb2wg
aXNJbnB1dEZpZWxkU3BlZWNoQnV0dG9uRWxlbWVudCgpIGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9
CiAjZW5kaWYKLSNpZiBFTkFCTEUoSU5QVVRfTVVMVElQTEVfRklFTERTX1VJKQotICAgIHZpcnR1
YWwgYm9vbCBpc0RhdGVUaW1lRmllbGRFbGVtZW50KCkgY29uc3Q7Ci0jZW5kaWYKIAogICAgIHZp
cnR1YWwgYm9vbCBpc0Zvcm1Db250cm9sRWxlbWVudCgpIGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9
CiAgICAgdmlydHVhbCBib29sIGlzU3BpbkJ1dHRvbkVsZW1lbnQoKSBjb25zdCB7IHJldHVybiBm
YWxzZTsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9CYXNlQ2hvb3Nlck9ubHlE
YXRlQW5kVGltZUlucHV0VHlwZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0Jhc2VDaG9vc2Vy
T25seURhdGVBbmRUaW1lSW5wdXRUeXBlLmNwcAppbmRleCAyYWJhY2UxOWMzNTQ0NTNhMjIxZGY1
YjU3N2ZlYjFlOGQwZWZjODc3Li4wMjQ1MWQwYzE0NjAzOWU1MGMwNjgxNzVmZGIxM2QyZWVkYTkx
MzYzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0Jhc2VDaG9vc2VyT25seURhdGVB
bmRUaW1lSW5wdXRUeXBlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0Jhc2VDaG9vc2Vy
T25seURhdGVBbmRUaW1lSW5wdXRUeXBlLmNwcApAQCAtMjQsNyArMjQsNyBAQAogICovCiAKICNp
bmNsdWRlICJjb25maWcuaCIKLSNpZiBFTkFCTEUoREFURV9BTkRfVElNRV9JTlBVVF9UWVBFUykg
JiYgIUVOQUJMRShJTlBVVF9NVUxUSVBMRV9GSUVMRFNfVUkpCisjaWYgRU5BQkxFKERBVEVfQU5E
X1RJTUVfSU5QVVRfVFlQRVMpCiAjaW5jbHVkZSAiQmFzZUNob29zZXJPbmx5RGF0ZUFuZFRpbWVJ
bnB1dFR5cGUuaCIKIAogI2luY2x1ZGUgIkNocm9tZS5oIgpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvaHRtbC9CYXNlQ2hvb3Nlck9ubHlEYXRlQW5kVGltZUlucHV0VHlwZS5oIGIvU291cmNl
L1dlYkNvcmUvaHRtbC9CYXNlQ2hvb3Nlck9ubHlEYXRlQW5kVGltZUlucHV0VHlwZS5oCmluZGV4
IDJmNmM4MTBmMGZjNmUwOTIyZjY4MjI1Yjg2MTIxMjU4NTU0Mjc1YTIuLjAzMDg2NWYwMTliMTNh
NDRlNmI4ODQwMzFjZTNhODBiM2NjMzY2MjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0
bWwvQmFzZUNob29zZXJPbmx5RGF0ZUFuZFRpbWVJbnB1dFR5cGUuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9odG1sL0Jhc2VDaG9vc2VyT25seURhdGVBbmRUaW1lSW5wdXRUeXBlLmgKQEAgLTI2LDcg
KzI2LDcgQEAKICNpZm5kZWYgQmFzZUNob29zZXJPbmx5RGF0ZUFuZFRpbWVJbnB1dFR5cGVfaAog
I2RlZmluZSBCYXNlQ2hvb3Nlck9ubHlEYXRlQW5kVGltZUlucHV0VHlwZV9oCiAKLSNpZiBFTkFC
TEUoREFURV9BTkRfVElNRV9JTlBVVF9UWVBFUykgJiYgIUVOQUJMRShJTlBVVF9NVUxUSVBMRV9G
SUVMRFNfVUkpCisjaWYgRU5BQkxFKERBVEVfQU5EX1RJTUVfSU5QVVRfVFlQRVMpCiAjaW5jbHVk
ZSAiQmFzZUNsaWNrYWJsZVdpdGhLZXlJbnB1dFR5cGUuaCIKICNpbmNsdWRlICJCYXNlRGF0ZUFu
ZFRpbWVJbnB1dFR5cGUuaCIKICNpbmNsdWRlICJEYXRlVGltZUNob29zZXIuaCIKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvQmFzZU11bHRpcGxlRmllbGRzRGF0ZUFuZFRpbWVJbnB1
dFR5cGUuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9CYXNlTXVsdGlwbGVGaWVsZHNEYXRlQW5k
VGltZUlucHV0VHlwZS5jcHAKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDQyNzBmMjA2
MzVlMmJlZDNiYWE2YjdhYzA2YzhmOTYzNTRlNGY1YmYuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9CYXNlTXVsdGlwbGVG
aWVsZHNEYXRlQW5kVGltZUlucHV0VHlwZS5jcHAKKysrIC9kZXYvbnVsbApAQCAtMSw1NzkgKzAs
MCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAxMCBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJl
c2VydmVkLgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5h
cnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVk
IHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQotICogbWV0OgotICoK
LSAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUg
YWJvdmUgY29weXJpZ2h0Ci0gKiBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmlu
YXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCi0gKiBjb3B5cmlnaHQgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCi0gKiBp
biB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGgg
dGhlCi0gKiBkaXN0cmlidXRpb24uCi0gKiAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2ds
ZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCi0gKiBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQg
dG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQotICogdGhpcyBzb2Z0
d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KLSAqCi0gKiBU
SElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09O
VFJJQlVUT1JTCi0gKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJ
RVMsIElOQ0xVRElORywgQlVUIE5PVAotICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFO
VElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCi0gKiBBIFBBUlRJQ1VMQVIg
UFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAot
ICogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJF
Q1QsIElOQ0lERU5UQUwsCi0gKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwg
REFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCi0gKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBP
RiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKLSAqIERBVEEsIE9S
IFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9O
IEFOWQotICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNU
IExJQUJJTElUWSwgT1IgVE9SVAotICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lT
RSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCi0gKiBPRiBUSElTIFNPRlRXQVJF
LCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgotICov
Ci0KLSNpbmNsdWRlICJjb25maWcuaCIKLSNpZiBFTkFCTEUoSU5QVVRfTVVMVElQTEVfRklFTERT
X1VJKQotI2luY2x1ZGUgIkJhc2VNdWx0aXBsZUZpZWxkc0RhdGVBbmRUaW1lSW5wdXRUeXBlLmgi
Ci0KLSNpbmNsdWRlICJDU1NWYWx1ZUtleXdvcmRzLmgiCi0jaW5jbHVkZSAiRGF0ZUNvbXBvbmVu
dHMuaCIKLSNpbmNsdWRlICJEYXRlVGltZUZpZWxkc1N0YXRlLmgiCi0jaW5jbHVkZSAiRGF0ZVRp
bWVGb3JtYXQuaCIKLSNpbmNsdWRlICJFbGVtZW50U2hhZG93LmgiCi0jaW5jbHVkZSAiRm9jdXND
b250cm9sbGVyLmgiCi0jaW5jbHVkZSAiRm9ybUNvbnRyb2xsZXIuaCIKLSNpbmNsdWRlICJIVE1M
RGF0YUxpc3RFbGVtZW50LmgiCi0jaW5jbHVkZSAiSFRNTElucHV0RWxlbWVudC5oIgotI2luY2x1
ZGUgIkhUTUxPcHRpb25FbGVtZW50LmgiCi0jaW5jbHVkZSAiS2V5Ym9hcmRFdmVudC5oIgotI2lu
Y2x1ZGUgIkxvY2FsaXplZFN0cmluZ3MuaCIKLSNpbmNsdWRlICJOb2RlVHJhdmVyc2FsLmgiCi0j
aW5jbHVkZSAiUGFnZS5oIgotI2luY2x1ZGUgIlBpY2tlckluZGljYXRvckVsZW1lbnQuaCIKLSNp
bmNsdWRlICJQbGF0Zm9ybUxvY2FsZS5oIgotI2luY2x1ZGUgIlJlbmRlclRoZW1lLmgiCi0jaW5j
bHVkZSAiU2hhZG93Um9vdC5oIgotI2luY2x1ZGUgPHd0Zi9EYXRlTWF0aC5oPgotCi1uYW1lc3Bh
Y2UgV2ViQ29yZSB7Ci0KLWNsYXNzIERhdGVUaW1lRm9ybWF0VmFsaWRhdG9yIDogcHVibGljIERh
dGVUaW1lRm9ybWF0OjpUb2tlbkhhbmRsZXIgewotcHVibGljOgotICAgIERhdGVUaW1lRm9ybWF0
VmFsaWRhdG9yKCkKLSAgICAgICAgOiBtX2hhc1llYXIoZmFsc2UpCi0gICAgICAgICwgbV9oYXNN
b250aChmYWxzZSkKLSAgICAgICAgLCBtX2hhc1dlZWsoZmFsc2UpCi0gICAgICAgICwgbV9oYXNE
YXkoZmFsc2UpCi0gICAgICAgICwgbV9oYXNBTVBNKGZhbHNlKQotICAgICAgICAsIG1faGFzSG91
cihmYWxzZSkKLSAgICAgICAgLCBtX2hhc01pbnV0ZShmYWxzZSkKLSAgICAgICAgLCBtX2hhc1Nl
Y29uZChmYWxzZSkgeyB9Ci0KLSAgICB2aXJ0dWFsIHZvaWQgdmlzaXRGaWVsZChEYXRlVGltZUZv
cm1hdDo6RmllbGRUeXBlLCBpbnQpIE9WRVJSSURFIEZJTkFMOwotICAgIHZpcnR1YWwgdm9pZCB2
aXNpdExpdGVyYWwoY29uc3QgU3RyaW5nJikgT1ZFUlJJREUgRklOQUwgeyB9Ci0KLSAgICBib29s
IHZhbGlkYXRlRm9ybWF0KGNvbnN0IFN0cmluZyYgZm9ybWF0LCBjb25zdCBCYXNlTXVsdGlwbGVG
aWVsZHNEYXRlQW5kVGltZUlucHV0VHlwZSYpOwotCi1wcml2YXRlOgotICAgIGJvb2wgbV9oYXNZ
ZWFyOwotICAgIGJvb2wgbV9oYXNNb250aDsKLSAgICBib29sIG1faGFzV2VlazsKLSAgICBib29s
IG1faGFzRGF5OwotICAgIGJvb2wgbV9oYXNBTVBNOwotICAgIGJvb2wgbV9oYXNIb3VyOwotICAg
IGJvb2wgbV9oYXNNaW51dGU7Ci0gICAgYm9vbCBtX2hhc1NlY29uZDsKLX07Ci0KLXZvaWQgRGF0
ZVRpbWVGb3JtYXRWYWxpZGF0b3I6OnZpc2l0RmllbGQoRGF0ZVRpbWVGb3JtYXQ6OkZpZWxkVHlw
ZSBmaWVsZFR5cGUsIGludCkKLXsKLSAgICBzd2l0Y2ggKGZpZWxkVHlwZSkgewotICAgIGNhc2Ug
RGF0ZVRpbWVGb3JtYXQ6OkZpZWxkVHlwZVllYXI6Ci0gICAgICAgIG1faGFzWWVhciA9IHRydWU7
Ci0gICAgICAgIGJyZWFrOwotICAgIGNhc2UgRGF0ZVRpbWVGb3JtYXQ6OkZpZWxkVHlwZU1vbnRo
OiAvLyBGYWxsdGhyb3VnaC4KLSAgICBjYXNlIERhdGVUaW1lRm9ybWF0OjpGaWVsZFR5cGVNb250
aFN0YW5kQWxvbmU6Ci0gICAgICAgIG1faGFzTW9udGggPSB0cnVlOwotICAgICAgICBicmVhazsK
LSAgICBjYXNlIERhdGVUaW1lRm9ybWF0OjpGaWVsZFR5cGVXZWVrT2ZZZWFyOgotICAgICAgICBt
X2hhc1dlZWsgPSB0cnVlOwotICAgICAgICBicmVhazsKLSAgICBjYXNlIERhdGVUaW1lRm9ybWF0
OjpGaWVsZFR5cGVEYXlPZk1vbnRoOgotICAgICAgICBtX2hhc0RheSA9IHRydWU7Ci0gICAgICAg
IGJyZWFrOwotICAgIGNhc2UgRGF0ZVRpbWVGb3JtYXQ6OkZpZWxkVHlwZVBlcmlvZDoKLSAgICAg
ICAgbV9oYXNBTVBNID0gdHJ1ZTsKLSAgICAgICAgYnJlYWs7Ci0gICAgY2FzZSBEYXRlVGltZUZv
cm1hdDo6RmllbGRUeXBlSG91cjExOiAvLyBGYWxsdGhyb3VnaC4KLSAgICBjYXNlIERhdGVUaW1l
Rm9ybWF0OjpGaWVsZFR5cGVIb3VyMTI6Ci0gICAgICAgIG1faGFzSG91ciA9IHRydWU7Ci0gICAg
ICAgIGJyZWFrOwotICAgIGNhc2UgRGF0ZVRpbWVGb3JtYXQ6OkZpZWxkVHlwZUhvdXIyMzogLy8g
RmFsbHRocm91Z2guCi0gICAgY2FzZSBEYXRlVGltZUZvcm1hdDo6RmllbGRUeXBlSG91cjI0Ogot
ICAgICAgICBtX2hhc0hvdXIgPSB0cnVlOwotICAgICAgICBtX2hhc0FNUE0gPSB0cnVlOwotICAg
ICAgICBicmVhazsKLSAgICBjYXNlIERhdGVUaW1lRm9ybWF0OjpGaWVsZFR5cGVNaW51dGU6Ci0g
ICAgICAgIG1faGFzTWludXRlID0gdHJ1ZTsKLSAgICAgICAgYnJlYWs7Ci0gICAgY2FzZSBEYXRl
VGltZUZvcm1hdDo6RmllbGRUeXBlU2Vjb25kOgotICAgICAgICBtX2hhc1NlY29uZCA9IHRydWU7
Ci0gICAgICAgIGJyZWFrOwotICAgIGRlZmF1bHQ6Ci0gICAgICAgIGJyZWFrOwotICAgIH0KLX0K
LQotYm9vbCBEYXRlVGltZUZvcm1hdFZhbGlkYXRvcjo6dmFsaWRhdGVGb3JtYXQoY29uc3QgU3Ry
aW5nJiBmb3JtYXQsIGNvbnN0IEJhc2VNdWx0aXBsZUZpZWxkc0RhdGVBbmRUaW1lSW5wdXRUeXBl
JiBpbnB1dFR5cGUpCi17Ci0gICAgaWYgKCFEYXRlVGltZUZvcm1hdDo6cGFyc2UoZm9ybWF0LCAq
dGhpcykpCi0gICAgICAgIHJldHVybiBmYWxzZTsKLSAgICByZXR1cm4gaW5wdXRUeXBlLmlzVmFs
aWRGb3JtYXQobV9oYXNZZWFyLCBtX2hhc01vbnRoLCBtX2hhc1dlZWssIG1faGFzRGF5LCBtX2hh
c0FNUE0sIG1faGFzSG91ciwgbV9oYXNNaW51dGUsIG1faGFzU2Vjb25kKTsKLX0KLQotdm9pZCBC
YXNlTXVsdGlwbGVGaWVsZHNEYXRlQW5kVGltZUlucHV0VHlwZTo6ZGlkQmx1ckZyb21Db250cm9s
KCkKLXsKLSAgICAvLyBXZSBkb24ndCBuZWVkIHRvIGNhbGwgYmx1cigpLiBUaGlzIGZ1bmN0aW9u
IGlzIGNhbGxlZCB3aGVuIGNvbnRyb2wKLSAgICAvLyBsb3N0IGZvY3VzLgotCi0gICAgLy8gUmVt
b3ZlIGZvY3VzIHJpbmcgYnkgQ1NTICJmb2N1cyIgcHNldWRvIGNsYXNzLgotICAgIGVsZW1lbnQo
KS0+c2V0Rm9jdXMoZmFsc2UpOwotfQotCi12b2lkIEJhc2VNdWx0aXBsZUZpZWxkc0RhdGVBbmRU
aW1lSW5wdXRUeXBlOjpkaWRGb2N1c09uQ29udHJvbCgpCi17Ci0gICAgLy8gV2UgZG9uJ3QgbmVl
ZCB0byBjYWxsIGZvY3VzKCkuIFRoaXMgZnVuY3Rpb24gaXMgY2FsbGVkIHdoZW4gY29udHJvbAot
ICAgIC8vIGdvdCBmb2N1cy4KLQotICAgIC8vIEFkZCBmb2N1cyByaW5nIGJ5IENTUyAiZm9jdXMi
IHBzZXVkbyBjbGFzcy4KLSAgICBlbGVtZW50KCktPnNldEZvY3VzKHRydWUpOwotfQotCi12b2lk
IEJhc2VNdWx0aXBsZUZpZWxkc0RhdGVBbmRUaW1lSW5wdXRUeXBlOjplZGl0Q29udHJvbFZhbHVl
Q2hhbmdlZCgpCi17Ci0gICAgUmVmUHRyPEhUTUxJbnB1dEVsZW1lbnQ+IGlucHV0KGVsZW1lbnQo
KSk7Ci0gICAgU3RyaW5nIG9sZFZhbHVlID0gaW5wdXQtPnZhbHVlKCk7Ci0gICAgU3RyaW5nIG5l
d1ZhbHVlID0gc2FuaXRpemVWYWx1ZShtX2RhdGVUaW1lRWRpdEVsZW1lbnQtPnZhbHVlKCkpOwot
ICAgIC8vIEV2ZW4gaWYgb2xkVmFsdWUgaXMgbnVsbCBhbmQgbmV3VmFsdWUgaXMgIiIsIHdlIHNo
b3VsZCBhc3N1bWUgdGhleSBhcmUgc2FtZS4KLSAgICBpZiAoKG9sZFZhbHVlLmlzRW1wdHkoKSAm
JiBuZXdWYWx1ZS5pc0VtcHR5KCkpIHx8IG9sZFZhbHVlID09IG5ld1ZhbHVlKQotICAgICAgICBp
bnB1dC0+c2V0TmVlZHNWYWxpZGl0eUNoZWNrKCk7Ci0gICAgZWxzZSB7Ci0gICAgICAgIGlucHV0
LT5zZXRWYWx1ZUludGVybmFsKG5ld1ZhbHVlLCBEaXNwYXRjaE5vRXZlbnQpOwotICAgICAgICBp
bnB1dC0+c2V0TmVlZHNTdHlsZVJlY2FsYygpOwotICAgICAgICBpbnB1dC0+ZGlzcGF0Y2hGb3Jt
Q29udHJvbElucHV0RXZlbnQoKTsKLSAgICAgICAgaW5wdXQtPmRpc3BhdGNoRm9ybUNvbnRyb2xD
aGFuZ2VFdmVudCgpOwotICAgIH0KLSAgICBpbnB1dC0+bm90aWZ5Rm9ybVN0YXRlQ2hhbmdlZCgp
OwotICAgIGlucHV0LT51cGRhdGVDbGVhckJ1dHRvblZpc2liaWxpdHkoKTsKLX0KLQotYm9vbCBC
YXNlTXVsdGlwbGVGaWVsZHNEYXRlQW5kVGltZUlucHV0VHlwZTo6aGFzQ3VzdG9tRm9jdXNMb2dp
YygpIGNvbnN0Ci17Ci0gICAgcmV0dXJuIGZhbHNlOwotfQotCi1ib29sIEJhc2VNdWx0aXBsZUZp
ZWxkc0RhdGVBbmRUaW1lSW5wdXRUeXBlOjppc0VkaXRDb250cm9sT3duZXJEaXNhYmxlZCgpIGNv
bnN0Ci17Ci0gICAgcmV0dXJuIGVsZW1lbnQoKS0+aXNEaXNhYmxlZEZvcm1Db250cm9sKCk7Ci19
Ci0KLWJvb2wgQmFzZU11bHRpcGxlRmllbGRzRGF0ZUFuZFRpbWVJbnB1dFR5cGU6OmlzRWRpdENv
bnRyb2xPd25lclJlYWRPbmx5KCkgY29uc3QKLXsKLSAgICByZXR1cm4gZWxlbWVudCgpLT5pc1Jl
YWRPbmx5KCk7Ci19Ci0KLXZvaWQgQmFzZU11bHRpcGxlRmllbGRzRGF0ZUFuZFRpbWVJbnB1dFR5
cGU6OmZvY3VzQW5kU2VsZWN0U3BpbkJ1dHRvbk93bmVyKCkKLXsKLSAgICBpZiAobV9kYXRlVGlt
ZUVkaXRFbGVtZW50KQotICAgICAgICBtX2RhdGVUaW1lRWRpdEVsZW1lbnQtPmZvY3VzSWZOb0Zv
Y3VzKCk7Ci19Ci0KLWJvb2wgQmFzZU11bHRpcGxlRmllbGRzRGF0ZUFuZFRpbWVJbnB1dFR5cGU6
OnNob3VsZFNwaW5CdXR0b25SZXNwb25kVG9Nb3VzZUV2ZW50cygpCi17Ci0gICAgcmV0dXJuICFl
bGVtZW50KCktPmlzRGlzYWJsZWRPclJlYWRPbmx5KCk7Ci19Ci0KLWJvb2wgQmFzZU11bHRpcGxl
RmllbGRzRGF0ZUFuZFRpbWVJbnB1dFR5cGU6OnNob3VsZFNwaW5CdXR0b25SZXNwb25kVG9XaGVl
bEV2ZW50cygpCi17Ci0gICAgaWYgKCFzaG91bGRTcGluQnV0dG9uUmVzcG9uZFRvTW91c2VFdmVu
dHMoKSkKLSAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgIHJldHVybiBtX2RhdGVUaW1lRWRpdEVs
ZW1lbnQgJiYgbV9kYXRlVGltZUVkaXRFbGVtZW50LT5oYXNGb2N1c2VkRmllbGQoKTsKLX0KLQot
dm9pZCBCYXNlTXVsdGlwbGVGaWVsZHNEYXRlQW5kVGltZUlucHV0VHlwZTo6c3BpbkJ1dHRvblN0
ZXBEb3duKCkKLXsKLSAgICBpZiAobV9kYXRlVGltZUVkaXRFbGVtZW50KQotICAgICAgICBtX2Rh
dGVUaW1lRWRpdEVsZW1lbnQtPnN0ZXBEb3duKCk7Ci19Ci0KLXZvaWQgQmFzZU11bHRpcGxlRmll
bGRzRGF0ZUFuZFRpbWVJbnB1dFR5cGU6OnNwaW5CdXR0b25TdGVwVXAoKQotewotICAgIGlmICht
X2RhdGVUaW1lRWRpdEVsZW1lbnQpCi0gICAgICAgIG1fZGF0ZVRpbWVFZGl0RWxlbWVudC0+c3Rl
cFVwKCk7Ci19Ci0KLWJvb2wgQmFzZU11bHRpcGxlRmllbGRzRGF0ZUFuZFRpbWVJbnB1dFR5cGU6
OmlzUGlja2VySW5kaWNhdG9yT3duZXJEaXNhYmxlZE9yUmVhZE9ubHkoKSBjb25zdAotewotICAg
IHJldHVybiBlbGVtZW50KCktPmlzRGlzYWJsZWRPclJlYWRPbmx5KCk7Ci19Ci0KLXZvaWQgQmFz
ZU11bHRpcGxlRmllbGRzRGF0ZUFuZFRpbWVJbnB1dFR5cGU6OnBpY2tlckluZGljYXRvckNob29z
ZVZhbHVlKGNvbnN0IFN0cmluZyYgdmFsdWUpCi17Ci0gICAgaWYgKGVsZW1lbnQoKS0+aXNWYWxp
ZFZhbHVlKHZhbHVlKSkgewotICAgICAgICBlbGVtZW50KCktPnNldFZhbHVlKHZhbHVlLCBEaXNw
YXRjaElucHV0QW5kQ2hhbmdlRXZlbnQpOwotICAgICAgICByZXR1cm47Ci0gICAgfQotCi0gICAg
aWYgKCFtX2RhdGVUaW1lRWRpdEVsZW1lbnQpCi0gICAgICAgIHJldHVybjsKLSAgICBEYXRlQ29t
cG9uZW50cyBkYXRlOwotICAgIHVuc2lnbmVkIGVuZDsKLSAgICBpZiAoZGF0ZS5wYXJzZURhdGUo
dmFsdWUuY2hhcmFjdGVycygpLCB2YWx1ZS5sZW5ndGgoKSwgMCwgZW5kKSAmJiBlbmQgPT0gdmFs
dWUubGVuZ3RoKCkpCi0gICAgICAgIG1fZGF0ZVRpbWVFZGl0RWxlbWVudC0+c2V0T25seVllYXJN
b250aERheShkYXRlKTsKLX0KLQotYm9vbCBCYXNlTXVsdGlwbGVGaWVsZHNEYXRlQW5kVGltZUlu
cHV0VHlwZTo6c2V0dXBEYXRlVGltZUNob29zZXJQYXJhbWV0ZXJzKERhdGVUaW1lQ2hvb3NlclBh
cmFtZXRlcnMmIHBhcmFtZXRlcnMpCi17Ci0gICAgcmV0dXJuIGVsZW1lbnQoKS0+c2V0dXBEYXRl
VGltZUNob29zZXJQYXJhbWV0ZXJzKHBhcmFtZXRlcnMpOwotfQotCi1CYXNlTXVsdGlwbGVGaWVs
ZHNEYXRlQW5kVGltZUlucHV0VHlwZTo6QmFzZU11bHRpcGxlRmllbGRzRGF0ZUFuZFRpbWVJbnB1
dFR5cGUoSFRNTElucHV0RWxlbWVudCogZWxlbWVudCkKLSAgICA6IEJhc2VEYXRlQW5kVGltZUlu
cHV0VHlwZShlbGVtZW50KQotICAgICwgbV9kYXRlVGltZUVkaXRFbGVtZW50KDApCi0gICAgLCBt
X3NwaW5CdXR0b25FbGVtZW50KDApCi0gICAgLCBtX2NsZWFyQnV0dG9uKDApCi0gICAgLCBtX3Bp
Y2tlckluZGljYXRvckVsZW1lbnQoMCkKLSAgICAsIG1fcGlja2VySW5kaWNhdG9ySXNWaXNpYmxl
KGZhbHNlKQotICAgICwgbV9waWNrZXJJbmRpY2F0b3JJc0Fsd2F5c1Zpc2libGUoZmFsc2UpCi17
Ci19Ci0KLUJhc2VNdWx0aXBsZUZpZWxkc0RhdGVBbmRUaW1lSW5wdXRUeXBlOjp+QmFzZU11bHRp
cGxlRmllbGRzRGF0ZUFuZFRpbWVJbnB1dFR5cGUoKQotewotICAgIGlmIChtX3NwaW5CdXR0b25F
bGVtZW50KQotICAgICAgICBtX3NwaW5CdXR0b25FbGVtZW50LT5yZW1vdmVTcGluQnV0dG9uT3du
ZXIoKTsKLSAgICBpZiAobV9jbGVhckJ1dHRvbikKLSAgICAgICAgbV9jbGVhckJ1dHRvbi0+cmVt
b3ZlQ2xlYXJCdXR0b25Pd25lcigpOwotICAgIGlmIChtX2RhdGVUaW1lRWRpdEVsZW1lbnQpCi0g
ICAgICAgIG1fZGF0ZVRpbWVFZGl0RWxlbWVudC0+cmVtb3ZlRWRpdENvbnRyb2xPd25lcigpOwot
ICAgIGlmIChtX3BpY2tlckluZGljYXRvckVsZW1lbnQpCi0gICAgICAgIG1fcGlja2VySW5kaWNh
dG9yRWxlbWVudC0+cmVtb3ZlUGlja2VySW5kaWNhdG9yT3duZXIoKTsKLX0KLQotU3RyaW5nIEJh
c2VNdWx0aXBsZUZpZWxkc0RhdGVBbmRUaW1lSW5wdXRUeXBlOjpiYWRJbnB1dFRleHQoKSBjb25z
dAotewotICAgIHJldHVybiB2YWxpZGF0aW9uTWVzc2FnZUJhZElucHV0Rm9yRGF0ZVRpbWVUZXh0
KCk7Ci19Ci0KLXZvaWQgQmFzZU11bHRpcGxlRmllbGRzRGF0ZUFuZFRpbWVJbnB1dFR5cGU6OmJs
dXIoKQotewotICAgIGlmIChtX2RhdGVUaW1lRWRpdEVsZW1lbnQpCi0gICAgICAgIG1fZGF0ZVRp
bWVFZGl0RWxlbWVudC0+Ymx1ckJ5T3duZXIoKTsKLX0KLQotUGFzc1JlZlB0cjxSZW5kZXJTdHls
ZT4gQmFzZU11bHRpcGxlRmllbGRzRGF0ZUFuZFRpbWVJbnB1dFR5cGU6OmN1c3RvbVN0eWxlRm9y
UmVuZGVyZXIoUGFzc1JlZlB0cjxSZW5kZXJTdHlsZT4gb3JpZ2luYWxTdHlsZSkKLXsKLSAgICBF
RGlzcGxheSBvcmlnaW5hbERpc3BsYXkgPSBvcmlnaW5hbFN0eWxlLT5kaXNwbGF5KCk7Ci0gICAg
RURpc3BsYXkgbmV3RGlzcGxheSA9IG9yaWdpbmFsRGlzcGxheTsKLSAgICBpZiAob3JpZ2luYWxE
aXNwbGF5ID09IElOTElORSB8fCBvcmlnaW5hbERpc3BsYXkgPT0gSU5MSU5FX0JMT0NLKQotICAg
ICAgICBuZXdEaXNwbGF5ID0gSU5MSU5FX0ZMRVg7Ci0gICAgZWxzZSBpZiAob3JpZ2luYWxEaXNw
bGF5ID09IEJMT0NLKQotICAgICAgICBuZXdEaXNwbGF5ID0gRkxFWDsKLSAgICBUZXh0RGlyZWN0
aW9uIGNvbnRlbnREaXJlY3Rpb24gPSBlbGVtZW50KCktPmxvY2FsZSgpLmlzUlRMKCkgPyBSVEwg
OiBMVFI7Ci0gICAgaWYgKG9yaWdpbmFsU3R5bGUtPmRpcmVjdGlvbigpID09IGNvbnRlbnREaXJl
Y3Rpb24gJiYgb3JpZ2luYWxEaXNwbGF5ID09IG5ld0Rpc3BsYXkpCi0gICAgICAgIHJldHVybiBv
cmlnaW5hbFN0eWxlOwotCi0gICAgUmVmUHRyPFJlbmRlclN0eWxlPiBzdHlsZSA9IFJlbmRlclN0
eWxlOjpjbG9uZShvcmlnaW5hbFN0eWxlLmdldCgpKTsKLSAgICBzdHlsZS0+c2V0RGlyZWN0aW9u
KGNvbnRlbnREaXJlY3Rpb24pOwotICAgIHN0eWxlLT5zZXREaXNwbGF5KG5ld0Rpc3BsYXkpOwot
ICAgIHJldHVybiBzdHlsZS5yZWxlYXNlKCk7Ci19Ci0KLXZvaWQgQmFzZU11bHRpcGxlRmllbGRz
RGF0ZUFuZFRpbWVJbnB1dFR5cGU6OmNyZWF0ZVNoYWRvd1N1YnRyZWUoKQotewotICAgIEFTU0VS
VChlbGVtZW50KCktPnNoYWRvdygpKTsKLQotICAgIERvY3VtZW50KiBkb2N1bWVudCA9IGVsZW1l
bnQoKS0+ZG9jdW1lbnQoKTsKLSAgICBDb250YWluZXJOb2RlKiBjb250YWluZXIgPSBlbGVtZW50
KCktPnVzZXJBZ2VudFNoYWRvd1Jvb3QoKTsKLQotICAgIFJlZlB0cjxEYXRlVGltZUVkaXRFbGVt
ZW50PiBkYXRlVGltZUVkaXRFbGVtZW50KERhdGVUaW1lRWRpdEVsZW1lbnQ6OmNyZWF0ZShkb2N1
bWVudCwgKnRoaXMpKTsKLSAgICBtX2RhdGVUaW1lRWRpdEVsZW1lbnQgPSBkYXRlVGltZUVkaXRF
bGVtZW50LmdldCgpOwotICAgIGNvbnRhaW5lci0+YXBwZW5kQ2hpbGQobV9kYXRlVGltZUVkaXRF
bGVtZW50KTsKLSAgICB1cGRhdGVJbm5lclRleHRWYWx1ZSgpOwotCi0gICAgUmVmUHRyPENsZWFy
QnV0dG9uRWxlbWVudD4gY2xlYXJCdXR0b24gPSBDbGVhckJ1dHRvbkVsZW1lbnQ6OmNyZWF0ZShk
b2N1bWVudCwgKnRoaXMpOwotICAgIG1fY2xlYXJCdXR0b24gPSBjbGVhckJ1dHRvbi5nZXQoKTsK
LSAgICBjb250YWluZXItPmFwcGVuZENoaWxkKGNsZWFyQnV0dG9uKTsKLQotICAgIFJlZlB0cjxT
cGluQnV0dG9uRWxlbWVudD4gc3BpbkJ1dHRvbiA9IFNwaW5CdXR0b25FbGVtZW50OjpjcmVhdGUo
ZG9jdW1lbnQsICp0aGlzKTsKLSAgICBtX3NwaW5CdXR0b25FbGVtZW50ID0gc3BpbkJ1dHRvbi5n
ZXQoKTsKLSAgICBjb250YWluZXItPmFwcGVuZENoaWxkKHNwaW5CdXR0b24pOwotCi0gICAgYm9v
bCBzaG91bGRBZGRQaWNrZXJJbmRpY2F0b3IgPSBmYWxzZTsKLSNpZiBFTkFCTEUoREFUQUxJU1Rf
RUxFTUVOVCkKLSAgICBpZiAoSW5wdXRUeXBlOjp0aGVtZVN1cHBvcnRzRGF0YUxpc3RVSSh0aGlz
KSkKLSAgICAgICAgc2hvdWxkQWRkUGlja2VySW5kaWNhdG9yID0gdHJ1ZTsKLSNlbmRpZgotICAg
IGlmIChzaG91bGRBZGRQaWNrZXJJbmRpY2F0b3IpIHsKLSAgICAgICAgUmVmUHRyPFBpY2tlcklu
ZGljYXRvckVsZW1lbnQ+IHBpY2tlckVsZW1lbnQgPSBQaWNrZXJJbmRpY2F0b3JFbGVtZW50Ojpj
cmVhdGUoZG9jdW1lbnQsICp0aGlzKTsKLSAgICAgICAgbV9waWNrZXJJbmRpY2F0b3JFbGVtZW50
ID0gcGlja2VyRWxlbWVudC5nZXQoKTsKLSAgICAgICAgY29udGFpbmVyLT5hcHBlbmRDaGlsZCht
X3BpY2tlckluZGljYXRvckVsZW1lbnQpOwotICAgICAgICBtX3BpY2tlckluZGljYXRvcklzVmlz
aWJsZSA9IHRydWU7Ci0gICAgICAgIHVwZGF0ZVBpY2tlckluZGljYXRvclZpc2liaWxpdHkoKTsK
LSAgICB9Ci19Ci0KLXZvaWQgQmFzZU11bHRpcGxlRmllbGRzRGF0ZUFuZFRpbWVJbnB1dFR5cGU6
OmRlc3Ryb3lTaGFkb3dTdWJ0cmVlKCkKLXsKLSAgICBpZiAobV9zcGluQnV0dG9uRWxlbWVudCkg
ewotICAgICAgICBtX3NwaW5CdXR0b25FbGVtZW50LT5yZW1vdmVTcGluQnV0dG9uT3duZXIoKTsK
LSAgICAgICAgbV9zcGluQnV0dG9uRWxlbWVudCA9IDA7Ci0gICAgfQotICAgIGlmIChtX2NsZWFy
QnV0dG9uKSB7Ci0gICAgICAgIG1fY2xlYXJCdXR0b24tPnJlbW92ZUNsZWFyQnV0dG9uT3duZXIo
KTsKLSAgICAgICAgbV9jbGVhckJ1dHRvbiA9IDA7Ci0gICAgfQotICAgIGlmIChtX2RhdGVUaW1l
RWRpdEVsZW1lbnQpIHsKLSAgICAgICAgbV9kYXRlVGltZUVkaXRFbGVtZW50LT5yZW1vdmVFZGl0
Q29udHJvbE93bmVyKCk7Ci0gICAgICAgIG1fZGF0ZVRpbWVFZGl0RWxlbWVudCA9IDA7Ci0gICAg
fQotICAgIGlmIChtX3BpY2tlckluZGljYXRvckVsZW1lbnQpIHsKLSAgICAgICAgbV9waWNrZXJJ
bmRpY2F0b3JFbGVtZW50LT5yZW1vdmVQaWNrZXJJbmRpY2F0b3JPd25lcigpOwotICAgICAgICBt
X3BpY2tlckluZGljYXRvckVsZW1lbnQgPSAwOwotICAgIH0KLSAgICBCYXNlRGF0ZUFuZFRpbWVJ
bnB1dFR5cGU6OmRlc3Ryb3lTaGFkb3dTdWJ0cmVlKCk7Ci19Ci0KLXZvaWQgQmFzZU11bHRpcGxl
RmllbGRzRGF0ZUFuZFRpbWVJbnB1dFR5cGU6OmhhbmRsZUZvY3VzRXZlbnQoTm9kZSogb2xkRm9j
dXNlZE5vZGUsIEZvY3VzRGlyZWN0aW9uIGRpcmVjdGlvbikKLXsKLSAgICBpZiAoIW1fZGF0ZVRp
bWVFZGl0RWxlbWVudCkKLSAgICAgICAgcmV0dXJuOwotICAgIGlmIChkaXJlY3Rpb24gPT0gRm9j
dXNEaXJlY3Rpb25CYWNrd2FyZCkgewotICAgICAgICBpZiAoZWxlbWVudCgpLT5kb2N1bWVudCgp
LT5wYWdlKCkpCi0gICAgICAgICAgICBlbGVtZW50KCktPmRvY3VtZW50KCktPnBhZ2UoKS0+Zm9j
dXNDb250cm9sbGVyKCktPmFkdmFuY2VGb2N1cyhkaXJlY3Rpb24sIDApOwotICAgIH0gZWxzZSBp
ZiAoZGlyZWN0aW9uID09IEZvY3VzRGlyZWN0aW9uTm9uZSkgewotICAgICAgICBtX2RhdGVUaW1l
RWRpdEVsZW1lbnQtPmZvY3VzQnlPd25lcihvbGRGb2N1c2VkTm9kZSk7Ci0gICAgfSBlbHNlCi0g
ICAgICAgIG1fZGF0ZVRpbWVFZGl0RWxlbWVudC0+Zm9jdXNCeU93bmVyKCk7Ci19Ci0KLXZvaWQg
QmFzZU11bHRpcGxlRmllbGRzRGF0ZUFuZFRpbWVJbnB1dFR5cGU6OmZvcndhcmRFdmVudChFdmVu
dCogZXZlbnQpCi17Ci0gICAgaWYgKG1fc3BpbkJ1dHRvbkVsZW1lbnQpIHsKLSAgICAgICAgbV9z
cGluQnV0dG9uRWxlbWVudC0+Zm9yd2FyZEV2ZW50KGV2ZW50KTsKLSAgICAgICAgaWYgKGV2ZW50
LT5kZWZhdWx0SGFuZGxlZCgpKQotICAgICAgICAgICAgcmV0dXJuOwotICAgIH0KLSAgICAgICAg
Ci0gICAgaWYgKG1fZGF0ZVRpbWVFZGl0RWxlbWVudCkKLSAgICAgICAgbV9kYXRlVGltZUVkaXRF
bGVtZW50LT5kZWZhdWx0RXZlbnRIYW5kbGVyKGV2ZW50KTsKLX0KLQotdm9pZCBCYXNlTXVsdGlw
bGVGaWVsZHNEYXRlQW5kVGltZUlucHV0VHlwZTo6ZGlzYWJsZWRBdHRyaWJ1dGVDaGFuZ2VkKCkK
LXsKLSAgICBtX3NwaW5CdXR0b25FbGVtZW50LT5yZWxlYXNlQ2FwdHVyZSgpOwotICAgIG1fY2xl
YXJCdXR0b24tPnJlbGVhc2VDYXB0dXJlKCk7Ci0gICAgaWYgKG1fZGF0ZVRpbWVFZGl0RWxlbWVu
dCkKLSAgICAgICAgbV9kYXRlVGltZUVkaXRFbGVtZW50LT5kaXNhYmxlZFN0YXRlQ2hhbmdlZCgp
OwotfQotCi12b2lkIEJhc2VNdWx0aXBsZUZpZWxkc0RhdGVBbmRUaW1lSW5wdXRUeXBlOjpyZXF1
aXJlZEF0dHJpYnV0ZUNoYW5nZWQoKQotewotICAgIG1fY2xlYXJCdXR0b24tPnJlbGVhc2VDYXB0
dXJlKCk7Ci0gICAgdXBkYXRlQ2xlYXJCdXR0b25WaXNpYmlsaXR5KCk7Ci19Ci0KLXZvaWQgQmFz
ZU11bHRpcGxlRmllbGRzRGF0ZUFuZFRpbWVJbnB1dFR5cGU6OmhhbmRsZUtleWRvd25FdmVudChL
ZXlib2FyZEV2ZW50KiBldmVudCkKLXsKLSAgICBEb2N1bWVudCogZG9jdW1lbnQgPSBlbGVtZW50
KCktPmRvY3VtZW50KCk7Ci0gICAgUmVmUHRyPFJlbmRlclRoZW1lPiB0aGVtZSA9IGRvY3VtZW50
LT5wYWdlKCkgPyBkb2N1bWVudC0+cGFnZSgpLT50aGVtZSgpIDogUmVuZGVyVGhlbWU6OmRlZmF1
bHRUaGVtZSgpOwotICAgIGlmIChtX3BpY2tlckluZGljYXRvcklzVmlzaWJsZQotICAgICAgICAm
JiAoKGV2ZW50LT5rZXlJZGVudGlmaWVyKCkgPT0gIkRvd24iICYmIGV2ZW50LT5nZXRNb2RpZmll
clN0YXRlKCJBbHQiKSkgfHwgKHRoZW1lLT5zaG91bGRPcGVuUGlja2VyV2l0aEY0S2V5KCkgJiYg
ZXZlbnQtPmtleUlkZW50aWZpZXIoKSA9PSAiRjQiKSkpIHsKLSAgICAgICAgaWYgKG1fcGlja2Vy
SW5kaWNhdG9yRWxlbWVudCkKLSAgICAgICAgICAgIG1fcGlja2VySW5kaWNhdG9yRWxlbWVudC0+
b3BlblBvcHVwKCk7Ci0gICAgICAgIGV2ZW50LT5zZXREZWZhdWx0SGFuZGxlZCgpOwotICAgIH0g
ZWxzZQotICAgICAgICBmb3J3YXJkRXZlbnQoZXZlbnQpOwotfQotCi1ib29sIEJhc2VNdWx0aXBs
ZUZpZWxkc0RhdGVBbmRUaW1lSW5wdXRUeXBlOjpoYXNCYWRJbnB1dCgpIGNvbnN0Ci17Ci0gICAg
cmV0dXJuIGVsZW1lbnQoKS0+dmFsdWUoKS5pc0VtcHR5KCkgJiYgbV9kYXRlVGltZUVkaXRFbGVt
ZW50ICYmIG1fZGF0ZVRpbWVFZGl0RWxlbWVudC0+YW55RWRpdGFibGVGaWVsZHNIYXZlVmFsdWVz
KCk7Ci19Ci0KLWJvb2wgQmFzZU11bHRpcGxlRmllbGRzRGF0ZUFuZFRpbWVJbnB1dFR5cGU6Omlz
S2V5Ym9hcmRGb2N1c2FibGUoS2V5Ym9hcmRFdmVudCopIGNvbnN0Ci17Ci0gICAgcmV0dXJuIGVs
ZW1lbnQoKS0+aXNUZXh0Rm9ybUNvbnRyb2xGb2N1c2FibGUoKTsKLX0KLQotYm9vbCBCYXNlTXVs
dGlwbGVGaWVsZHNEYXRlQW5kVGltZUlucHV0VHlwZTo6aXNNb3VzZUZvY3VzYWJsZSgpIGNvbnN0
Ci17Ci0gICAgcmV0dXJuIGVsZW1lbnQoKS0+aXNUZXh0Rm9ybUNvbnRyb2xGb2N1c2FibGUoKTsK
LX0KLQotQXRvbWljU3RyaW5nIEJhc2VNdWx0aXBsZUZpZWxkc0RhdGVBbmRUaW1lSW5wdXRUeXBl
Ojpsb2NhbGVJZGVudGlmaWVyKCkgY29uc3QKLXsKLSAgICByZXR1cm4gZWxlbWVudCgpLT5jb21w
dXRlSW5oZXJpdGVkTGFuZ3VhZ2UoKTsKLX0KLQotdm9pZCBCYXNlTXVsdGlwbGVGaWVsZHNEYXRl
QW5kVGltZUlucHV0VHlwZTo6bWluT3JNYXhBdHRyaWJ1dGVDaGFuZ2VkKCkKLXsKLSAgICB1cGRh
dGVJbm5lclRleHRWYWx1ZSgpOwotfQotCi12b2lkIEJhc2VNdWx0aXBsZUZpZWxkc0RhdGVBbmRU
aW1lSW5wdXRUeXBlOjpyZWFkb25seUF0dHJpYnV0ZUNoYW5nZWQoKQotewotICAgIG1fc3BpbkJ1
dHRvbkVsZW1lbnQtPnJlbGVhc2VDYXB0dXJlKCk7Ci0gICAgbV9jbGVhckJ1dHRvbi0+cmVsZWFz
ZUNhcHR1cmUoKTsKLSAgICBpZiAobV9kYXRlVGltZUVkaXRFbGVtZW50KQotICAgICAgICBtX2Rh
dGVUaW1lRWRpdEVsZW1lbnQtPnJlYWRPbmx5U3RhdGVDaGFuZ2VkKCk7Ci19Ci0KLXZvaWQgQmFz
ZU11bHRpcGxlRmllbGRzRGF0ZUFuZFRpbWVJbnB1dFR5cGU6OnJlc3RvcmVGb3JtQ29udHJvbFN0
YXRlKGNvbnN0IEZvcm1Db250cm9sU3RhdGUmIHN0YXRlKQotewotICAgIGlmICghbV9kYXRlVGlt
ZUVkaXRFbGVtZW50KQotICAgICAgICByZXR1cm47Ci0gICAgRGF0ZVRpbWVGaWVsZHNTdGF0ZSBk
YXRlVGltZUZpZWxkc1N0YXRlID0gRGF0ZVRpbWVGaWVsZHNTdGF0ZTo6cmVzdG9yZUZvcm1Db250
cm9sU3RhdGUoc3RhdGUpOwotICAgIG1fZGF0ZVRpbWVFZGl0RWxlbWVudC0+c2V0VmFsdWVBc0Rh
dGVUaW1lRmllbGRzU3RhdGUoZGF0ZVRpbWVGaWVsZHNTdGF0ZSk7Ci0gICAgZWxlbWVudCgpLT5z
ZXRWYWx1ZUludGVybmFsKHNhbml0aXplVmFsdWUobV9kYXRlVGltZUVkaXRFbGVtZW50LT52YWx1
ZSgpKSwgRGlzcGF0Y2hOb0V2ZW50KTsKLSAgICB1cGRhdGVDbGVhckJ1dHRvblZpc2liaWxpdHko
KTsKLX0KLQotRm9ybUNvbnRyb2xTdGF0ZSBCYXNlTXVsdGlwbGVGaWVsZHNEYXRlQW5kVGltZUlu
cHV0VHlwZTo6c2F2ZUZvcm1Db250cm9sU3RhdGUoKSBjb25zdAotewotICAgIGlmICghbV9kYXRl
VGltZUVkaXRFbGVtZW50KQotICAgICAgICByZXR1cm4gRm9ybUNvbnRyb2xTdGF0ZSgpOwotCi0g
ICAgcmV0dXJuIG1fZGF0ZVRpbWVFZGl0RWxlbWVudC0+dmFsdWVBc0RhdGVUaW1lRmllbGRzU3Rh
dGUoKS5zYXZlRm9ybUNvbnRyb2xTdGF0ZSgpOwotfQotCi12b2lkIEJhc2VNdWx0aXBsZUZpZWxk
c0RhdGVBbmRUaW1lSW5wdXRUeXBlOjpzZXRWYWx1ZShjb25zdCBTdHJpbmcmIHNhbml0aXplZFZh
bHVlLCBib29sIHZhbHVlQ2hhbmdlZCwgVGV4dEZpZWxkRXZlbnRCZWhhdmlvciBldmVudEJlaGF2
aW9yKQotewotICAgIElucHV0VHlwZTo6c2V0VmFsdWUoc2FuaXRpemVkVmFsdWUsIHZhbHVlQ2hh
bmdlZCwgZXZlbnRCZWhhdmlvcik7Ci0gICAgaWYgKHZhbHVlQ2hhbmdlZCB8fCAoc2FuaXRpemVk
VmFsdWUuaXNFbXB0eSgpICYmIG1fZGF0ZVRpbWVFZGl0RWxlbWVudCAmJiBtX2RhdGVUaW1lRWRp
dEVsZW1lbnQtPmFueUVkaXRhYmxlRmllbGRzSGF2ZVZhbHVlcygpKSkgewotICAgICAgICB1cGRh
dGVJbm5lclRleHRWYWx1ZSgpOwotICAgICAgICBlbGVtZW50KCktPnNldE5lZWRzVmFsaWRpdHlD
aGVjaygpOwotICAgIH0KLX0KLQotYm9vbCBCYXNlTXVsdGlwbGVGaWVsZHNEYXRlQW5kVGltZUlu
cHV0VHlwZTo6c2hvdWxkVXNlSW5wdXRNZXRob2QoKSBjb25zdAotewotICAgIHJldHVybiBmYWxz
ZTsKLX0KLQotdm9pZCBCYXNlTXVsdGlwbGVGaWVsZHNEYXRlQW5kVGltZUlucHV0VHlwZTo6c3Rl
cEF0dHJpYnV0ZUNoYW5nZWQoKQotewotICAgIHVwZGF0ZUlubmVyVGV4dFZhbHVlKCk7Ci19Ci0K
LXZvaWQgQmFzZU11bHRpcGxlRmllbGRzRGF0ZUFuZFRpbWVJbnB1dFR5cGU6OnVwZGF0ZUlubmVy
VGV4dFZhbHVlKCkKLXsKLSAgICBpZiAoIW1fZGF0ZVRpbWVFZGl0RWxlbWVudCkKLSAgICAgICAg
cmV0dXJuOwotCi0gICAgRGF0ZVRpbWVFZGl0RWxlbWVudDo6TGF5b3V0UGFyYW1ldGVycyBsYXlv
dXRQYXJhbWV0ZXJzKGVsZW1lbnQoKS0+bG9jYWxlKCksIGNyZWF0ZVN0ZXBSYW5nZShBbnlJc0Rl
ZmF1bHRTdGVwKSk7Ci0KLSAgICBEYXRlQ29tcG9uZW50cyBkYXRlOwotICAgIGNvbnN0IGJvb2wg
aGFzVmFsdWUgPSBwYXJzZVRvRGF0ZUNvbXBvbmVudHMoZWxlbWVudCgpLT52YWx1ZSgpLCAmZGF0
ZSk7Ci0gICAgaWYgKCFoYXNWYWx1ZSkKLSAgICAgICAgc2V0TWlsbGlzZWNvbmRUb0RhdGVDb21w
b25lbnRzKGxheW91dFBhcmFtZXRlcnMuc3RlcFJhbmdlLm1pbmltdW0oKS50b0RvdWJsZSgpLCAm
ZGF0ZSk7Ci0KLSAgICBzZXR1cExheW91dFBhcmFtZXRlcnMobGF5b3V0UGFyYW1ldGVycywgZGF0
ZSk7Ci0KLSAgICBjb25zdCBBdG9taWNTdHJpbmcgcGF0dGVybiA9IG1fZGF0ZVRpbWVFZGl0RWxl
bWVudC0+ZmFzdEdldEF0dHJpYnV0ZShIVE1MTmFtZXM6OnBhdHRlcm5BdHRyKTsKLSAgICBpZiAo
IXBhdHRlcm4uaXNFbXB0eSgpKQotICAgICAgICBsYXlvdXRQYXJhbWV0ZXJzLmRhdGVUaW1lRm9y
bWF0ID0gcGF0dGVybjsKLQotICAgIGlmICghRGF0ZVRpbWVGb3JtYXRWYWxpZGF0b3IoKS52YWxp
ZGF0ZUZvcm1hdChsYXlvdXRQYXJhbWV0ZXJzLmRhdGVUaW1lRm9ybWF0LCAqdGhpcykpCi0gICAg
ICAgIGxheW91dFBhcmFtZXRlcnMuZGF0ZVRpbWVGb3JtYXQgPSBsYXlvdXRQYXJhbWV0ZXJzLmZh
bGxiYWNrRGF0ZVRpbWVGb3JtYXQ7Ci0KLSAgICBpZiAoaGFzVmFsdWUpCi0gICAgICAgIG1fZGF0
ZVRpbWVFZGl0RWxlbWVudC0+c2V0VmFsdWVBc0RhdGUobGF5b3V0UGFyYW1ldGVycywgZGF0ZSk7
Ci0gICAgZWxzZQotICAgICAgICBtX2RhdGVUaW1lRWRpdEVsZW1lbnQtPnNldEVtcHR5VmFsdWUo
bGF5b3V0UGFyYW1ldGVycywgZGF0ZSk7Ci0gICAgdXBkYXRlQ2xlYXJCdXR0b25WaXNpYmlsaXR5
KCk7Ci19Ci0KLXZvaWQgQmFzZU11bHRpcGxlRmllbGRzRGF0ZUFuZFRpbWVJbnB1dFR5cGU6OnZh
bHVlQXR0cmlidXRlQ2hhbmdlZCgpCi17Ci0gICAgaWYgKCFlbGVtZW50KCktPmhhc0RpcnR5VmFs
dWUoKSkKLSAgICAgICAgdXBkYXRlSW5uZXJUZXh0VmFsdWUoKTsKLX0KLQotI2lmIEVOQUJMRShE
QVRBTElTVF9FTEVNRU5UKQotdm9pZCBCYXNlTXVsdGlwbGVGaWVsZHNEYXRlQW5kVGltZUlucHV0
VHlwZTo6bGlzdEF0dHJpYnV0ZVRhcmdldENoYW5nZWQoKQotewotICAgIHVwZGF0ZVBpY2tlcklu
ZGljYXRvclZpc2liaWxpdHkoKTsKLX0KLSNlbmRpZgotCi12b2lkIEJhc2VNdWx0aXBsZUZpZWxk
c0RhdGVBbmRUaW1lSW5wdXRUeXBlOjp1cGRhdGVQaWNrZXJJbmRpY2F0b3JWaXNpYmlsaXR5KCkK
LXsKLSNpZiBFTkFCTEUoREFUQUxJU1RfRUxFTUVOVCkKLSAgICBpZiAoSFRNTERhdGFMaXN0RWxl
bWVudCogZGF0YUxpc3QgPSBlbGVtZW50KCktPmRhdGFMaXN0KCkpIHsKLSAgICAgICAgUmVmUHRy
PEhUTUxDb2xsZWN0aW9uPiBvcHRpb25zID0gZGF0YUxpc3QtPm9wdGlvbnMoKTsKLSAgICAgICAg
Zm9yICh1bnNpZ25lZCBpID0gMDsgSFRNTE9wdGlvbkVsZW1lbnQqIG9wdGlvbiA9IHRvSFRNTE9w
dGlvbkVsZW1lbnQob3B0aW9ucy0+aXRlbShpKSk7ICsraSkgewotICAgICAgICAgICAgaWYgKGVs
ZW1lbnQoKS0+aXNWYWxpZFZhbHVlKG9wdGlvbi0+dmFsdWUoKSkpIHsKLSAgICAgICAgICAgICAg
ICBzaG93UGlja2VySW5kaWNhdG9yKCk7Ci0gICAgICAgICAgICAgICAgcmV0dXJuOwotICAgICAg
ICAgICAgfQotICAgICAgICB9Ci0gICAgfQotICAgIGhpZGVQaWNrZXJJbmRpY2F0b3IoKTsKLSNl
bmRpZgotfQotCi12b2lkIEJhc2VNdWx0aXBsZUZpZWxkc0RhdGVBbmRUaW1lSW5wdXRUeXBlOjpo
aWRlUGlja2VySW5kaWNhdG9yKCkKLXsKLSAgICBpZiAoIW1fcGlja2VySW5kaWNhdG9ySXNWaXNp
YmxlKQotICAgICAgICByZXR1cm47Ci0gICAgbV9waWNrZXJJbmRpY2F0b3JJc1Zpc2libGUgPSBm
YWxzZTsKLSAgICBBU1NFUlQobV9waWNrZXJJbmRpY2F0b3JFbGVtZW50KTsKLSAgICBtX3BpY2tl
ckluZGljYXRvckVsZW1lbnQtPnNldElubGluZVN0eWxlUHJvcGVydHkoQ1NTUHJvcGVydHlEaXNw
bGF5LCBDU1NWYWx1ZU5vbmUpOwotfQotCi12b2lkIEJhc2VNdWx0aXBsZUZpZWxkc0RhdGVBbmRU
aW1lSW5wdXRUeXBlOjpzaG93UGlja2VySW5kaWNhdG9yKCkKLXsKLSAgICBpZiAobV9waWNrZXJJ
bmRpY2F0b3JJc1Zpc2libGUpCi0gICAgICAgIHJldHVybjsKLSAgICBtX3BpY2tlckluZGljYXRv
cklzVmlzaWJsZSA9IHRydWU7Ci0gICAgQVNTRVJUKG1fcGlja2VySW5kaWNhdG9yRWxlbWVudCk7
Ci0gICAgbV9waWNrZXJJbmRpY2F0b3JFbGVtZW50LT5yZW1vdmVJbmxpbmVTdHlsZVByb3BlcnR5
KENTU1Byb3BlcnR5RGlzcGxheSk7Ci19Ci0KLWJvb2wgQmFzZU11bHRpcGxlRmllbGRzRGF0ZUFu
ZFRpbWVJbnB1dFR5cGU6OnNob3VsZEhhdmVTZWNvbmRGaWVsZChjb25zdCBEYXRlQ29tcG9uZW50
cyYgZGF0ZSkgY29uc3QKLXsKLSAgICBTdGVwUmFuZ2Ugc3RlcFJhbmdlID0gY3JlYXRlU3RlcFJh
bmdlKEFueUlzRGVmYXVsdFN0ZXApOwotICAgIHJldHVybiBkYXRlLnNlY29uZCgpIHx8IGRhdGUu
bWlsbGlzZWNvbmQoKQotICAgICAgICB8fCAhc3RlcFJhbmdlLm1pbmltdW0oKS5yZW1haW5kZXIo
c3RhdGljX2Nhc3Q8aW50Pihtc1Blck1pbnV0ZSkpLmlzWmVybygpCi0gICAgICAgIHx8ICFzdGVw
UmFuZ2Uuc3RlcCgpLnJlbWFpbmRlcihzdGF0aWNfY2FzdDxpbnQ+KG1zUGVyTWludXRlKSkuaXNa
ZXJvKCk7Ci19Ci0KLXZvaWQgQmFzZU11bHRpcGxlRmllbGRzRGF0ZUFuZFRpbWVJbnB1dFR5cGU6
OmZvY3VzQW5kU2VsZWN0Q2xlYXJCdXR0b25Pd25lcigpCi17Ci0gICAgZWxlbWVudCgpLT5mb2N1
cygpOwotfQotCi1ib29sIEJhc2VNdWx0aXBsZUZpZWxkc0RhdGVBbmRUaW1lSW5wdXRUeXBlOjpz
aG91bGRDbGVhckJ1dHRvblJlc3BvbmRUb01vdXNlRXZlbnRzKCkKLXsKLSAgICByZXR1cm4gIWVs
ZW1lbnQoKS0+aXNEaXNhYmxlZE9yUmVhZE9ubHkoKSAmJiAhZWxlbWVudCgpLT5pc1JlcXVpcmVk
KCk7Ci19Ci0KLXZvaWQgQmFzZU11bHRpcGxlRmllbGRzRGF0ZUFuZFRpbWVJbnB1dFR5cGU6OmNs
ZWFyVmFsdWUoKQotewotICAgIFJlZlB0cjxIVE1MSW5wdXRFbGVtZW50PiBpbnB1dChlbGVtZW50
KCkpOwotICAgIGlucHV0LT5zZXRWYWx1ZSgiIiwgRGlzcGF0Y2hJbnB1dEFuZENoYW5nZUV2ZW50
KTsKLSAgICBpbnB1dC0+dXBkYXRlQ2xlYXJCdXR0b25WaXNpYmlsaXR5KCk7Ci19Ci0KLXZvaWQg
QmFzZU11bHRpcGxlRmllbGRzRGF0ZUFuZFRpbWVJbnB1dFR5cGU6OnVwZGF0ZUNsZWFyQnV0dG9u
VmlzaWJpbGl0eSgpCi17Ci0gICAgaWYgKCFtX2NsZWFyQnV0dG9uKQotICAgICAgICByZXR1cm47
Ci0KLSAgICBpZiAoZWxlbWVudCgpLT5pc1JlcXVpcmVkKCkgfHwgIW1fZGF0ZVRpbWVFZGl0RWxl
bWVudC0+YW55RWRpdGFibGVGaWVsZHNIYXZlVmFsdWVzKCkpCi0gICAgICAgIG1fY2xlYXJCdXR0
b24tPnNldElubGluZVN0eWxlUHJvcGVydHkoQ1NTUHJvcGVydHlWaXNpYmlsaXR5LCBDU1NWYWx1
ZUhpZGRlbik7Ci0gICAgZWxzZQotICAgICAgICBtX2NsZWFyQnV0dG9uLT5yZW1vdmVJbmxpbmVT
dHlsZVByb3BlcnR5KENTU1Byb3BlcnR5VmlzaWJpbGl0eSk7Ci19Ci0KLX0gLy8gbmFtZXNwYWNl
IFdlYkNvcmUKLQotI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0Jhc2VN
dWx0aXBsZUZpZWxkc0RhdGVBbmRUaW1lSW5wdXRUeXBlLmggYi9Tb3VyY2UvV2ViQ29yZS9odG1s
L0Jhc2VNdWx0aXBsZUZpZWxkc0RhdGVBbmRUaW1lSW5wdXRUeXBlLmgKZGVsZXRlZCBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IGIwZTNhMTc4N2Q1NmQ2MjBkODY0ZWFlYmRhOTg5Yzg0YTQyY2Q1Y2Yu
LjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvU291cmNlL1dl
YkNvcmUvaHRtbC9CYXNlTXVsdGlwbGVGaWVsZHNEYXRlQW5kVGltZUlucHV0VHlwZS5oCisrKyAv
ZGV2L251bGwKQEAgLTEsMTI5ICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTAgR29v
Z2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQg
dXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlm
aWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0
aW9ucyBhcmUKLSAqIG1ldDoKLSAqCi0gKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNl
IGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogICAgICog
UmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQot
ICogY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lcgotICogaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1h
dGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQotICogZGlzdHJpYnV0aW9uLgotICogICAgICogTmVp
dGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cwotICogY29u
dHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJp
dmVkIGZyb20KLSAqIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVu
IHBlcm1pc3Npb24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09Q
WVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUwotICogIkFTIElTIiBBTkQgQU5ZIEVYUFJF
U1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKLSAqIExJTUlURUQg
VE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNT
IEZPUgotICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5U
IFNIQUxMIFRIRSBDT1BZUklHSFQKLSAqIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUg
Rk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAotICogU1BFQ0lBTCwgRVhFTVBM
QVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAotICogTElN
SVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9T
UyBPRiBVU0UsCi0gKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04p
IEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKLSAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRI
RVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKLSAqIChJTkNMVURJTkcg
TkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVT
RQotICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElU
WSBPRiBTVUNIIERBTUFHRS4KLSAqLwotCi0jaWZuZGVmIEJhc2VNdWx0aXBsZUZpZWxkc0RhdGVB
bmRUaW1lSW5wdXRUeXBlX2gKLSNkZWZpbmUgQmFzZU11bHRpcGxlRmllbGRzRGF0ZUFuZFRpbWVJ
bnB1dFR5cGVfaAotCi0jaWYgRU5BQkxFKElOUFVUX01VTFRJUExFX0ZJRUxEU19VSSkKLSNpbmNs
dWRlICJCYXNlRGF0ZUFuZFRpbWVJbnB1dFR5cGUuaCIKLQotI2luY2x1ZGUgIkNsZWFyQnV0dG9u
RWxlbWVudC5oIgotI2luY2x1ZGUgIkRhdGVUaW1lRWRpdEVsZW1lbnQuaCIKLSNpbmNsdWRlICJQ
aWNrZXJJbmRpY2F0b3JFbGVtZW50LmgiCi0jaW5jbHVkZSAiU3BpbkJ1dHRvbkVsZW1lbnQuaCIK
LQotbmFtZXNwYWNlIFdlYkNvcmUgewotCi1zdHJ1Y3QgRGF0ZVRpbWVDaG9vc2VyUGFyYW1ldGVy
czsKLQotY2xhc3MgQmFzZU11bHRpcGxlRmllbGRzRGF0ZUFuZFRpbWVJbnB1dFR5cGUKLSAgICA6
IHB1YmxpYyBCYXNlRGF0ZUFuZFRpbWVJbnB1dFR5cGUKLSAgICAsIHByb3RlY3RlZCBEYXRlVGlt
ZUVkaXRFbGVtZW50OjpFZGl0Q29udHJvbE93bmVyCi0gICAgLCBwcm90ZWN0ZWQgUGlja2VySW5k
aWNhdG9yRWxlbWVudDo6UGlja2VySW5kaWNhdG9yT3duZXIKLSAgICAsIHByb3RlY3RlZCBTcGlu
QnV0dG9uRWxlbWVudDo6U3BpbkJ1dHRvbk93bmVyCi0gICAgLCBwcm90ZWN0ZWQgQ2xlYXJCdXR0
b25FbGVtZW50OjpDbGVhckJ1dHRvbk93bmVyIHsKLXB1YmxpYzoKLSAgICB2aXJ0dWFsIGJvb2wg
aXNWYWxpZEZvcm1hdChib29sIGhhc1llYXIsIGJvb2wgaGFzTW9udGgsIGJvb2wgaGFzV2Vlaywg
Ym9vbCBoYXNEYXksIGJvb2wgaGFzQU1QTSwgYm9vbCBoYXNIb3VyLCBib29sIGhhc01pbnV0ZSwg
Ym9vbCBoYXNTZWNvbmQpIGNvbnN0ID0gMDsKLQotcHJvdGVjdGVkOgotICAgIEJhc2VNdWx0aXBs
ZUZpZWxkc0RhdGVBbmRUaW1lSW5wdXRUeXBlKEhUTUxJbnB1dEVsZW1lbnQqKTsKLSAgICB2aXJ0
dWFsIH5CYXNlTXVsdGlwbGVGaWVsZHNEYXRlQW5kVGltZUlucHV0VHlwZSgpOwotCi0gICAgdmly
dHVhbCB2b2lkIHNldHVwTGF5b3V0UGFyYW1ldGVycyhEYXRlVGltZUVkaXRFbGVtZW50OjpMYXlv
dXRQYXJhbWV0ZXJzJiwgY29uc3QgRGF0ZUNvbXBvbmVudHMmKSBjb25zdCA9IDA7Ci0gICAgYm9v
bCBzaG91bGRIYXZlU2Vjb25kRmllbGQoY29uc3QgRGF0ZUNvbXBvbmVudHMmKSBjb25zdDsKLQot
cHJpdmF0ZToKLSAgICAvLyBEYXRlVGltZUVkaXRFbGVtZW50OjpFZGl0Q29udHJvbE93bmVyIGZ1
bmN0aW9ucwotICAgIHZpcnR1YWwgdm9pZCBkaWRCbHVyRnJvbUNvbnRyb2woKSBPVkVSUklERSBG
SU5BTDsKLSAgICB2aXJ0dWFsIHZvaWQgZGlkRm9jdXNPbkNvbnRyb2woKSBPVkVSUklERSBGSU5B
TDsKLSAgICB2aXJ0dWFsIHZvaWQgZWRpdENvbnRyb2xWYWx1ZUNoYW5nZWQoKSBPVkVSUklERSBG
SU5BTDsKLSAgICB2aXJ0dWFsIGJvb2wgaXNFZGl0Q29udHJvbE93bmVyRGlzYWJsZWQoKSBjb25z
dCBPVkVSUklERSBGSU5BTDsKLSAgICB2aXJ0dWFsIGJvb2wgaXNFZGl0Q29udHJvbE93bmVyUmVh
ZE9ubHkoKSBjb25zdCBPVkVSUklERSBGSU5BTDsKLSAgICB2aXJ0dWFsIEF0b21pY1N0cmluZyBs
b2NhbGVJZGVudGlmaWVyKCkgY29uc3QgT1ZFUlJJREUgRklOQUw7Ci0KLSAgICAvLyBTcGluQnV0
dG9uRWxlbWVudDo6U3BpbkJ1dHRvbk93bmVyIGZ1bmN0aW9ucy4KLSAgICB2aXJ0dWFsIHZvaWQg
Zm9jdXNBbmRTZWxlY3RTcGluQnV0dG9uT3duZXIoKSBPVkVSUklERTsKLSAgICB2aXJ0dWFsIGJv
b2wgc2hvdWxkU3BpbkJ1dHRvblJlc3BvbmRUb01vdXNlRXZlbnRzKCkgT1ZFUlJJREU7Ci0gICAg
dmlydHVhbCBib29sIHNob3VsZFNwaW5CdXR0b25SZXNwb25kVG9XaGVlbEV2ZW50cygpIE9WRVJS
SURFOwotICAgIHZpcnR1YWwgdm9pZCBzcGluQnV0dG9uU3RlcERvd24oKSBPVkVSUklERTsKLSAg
ICB2aXJ0dWFsIHZvaWQgc3BpbkJ1dHRvblN0ZXBVcCgpIE9WRVJSSURFOwotCi0gICAgLy8gUGlj
a2VySW5kaWNhdG9yRWxlbWVudDo6UGlja2VySW5kaWNhdG9yT3duZXIgZnVuY3Rpb25zCi0gICAg
dmlydHVhbCBib29sIGlzUGlja2VySW5kaWNhdG9yT3duZXJEaXNhYmxlZE9yUmVhZE9ubHkoKSBj
b25zdCBPVkVSUklERSBGSU5BTDsKLSAgICB2aXJ0dWFsIHZvaWQgcGlja2VySW5kaWNhdG9yQ2hv
b3NlVmFsdWUoY29uc3QgU3RyaW5nJikgT1ZFUlJJREUgRklOQUw7Ci0gICAgdmlydHVhbCBib29s
IHNldHVwRGF0ZVRpbWVDaG9vc2VyUGFyYW1ldGVycyhEYXRlVGltZUNob29zZXJQYXJhbWV0ZXJz
JikgT1ZFUlJJREUgRklOQUw7Ci0KLSAgICAvLyBDbGVhckJ1dHRvbkVsZW1lbnQ6OkNsZWFyQnV0
dG9uT3duZXIgZnVuY3Rpb25zLgotICAgIHZpcnR1YWwgdm9pZCBmb2N1c0FuZFNlbGVjdENsZWFy
QnV0dG9uT3duZXIoKSBPVkVSUklERTsKLSAgICB2aXJ0dWFsIGJvb2wgc2hvdWxkQ2xlYXJCdXR0
b25SZXNwb25kVG9Nb3VzZUV2ZW50cygpIE9WRVJSSURFOwotICAgIHZpcnR1YWwgdm9pZCBjbGVh
clZhbHVlKCkgT1ZFUlJJREU7Ci0KLSAgICAvLyBJbnB1dFR5cGUgZnVuY3Rpb25zCi0gICAgdmly
dHVhbCBTdHJpbmcgYmFkSW5wdXRUZXh0KCkgY29uc3QgT1ZFUlJJREU7Ci0gICAgdmlydHVhbCB2
b2lkIGJsdXIoKSBPVkVSUklERSBGSU5BTDsKLSAgICB2aXJ0dWFsIFBhc3NSZWZQdHI8UmVuZGVy
U3R5bGU+IGN1c3RvbVN0eWxlRm9yUmVuZGVyZXIoUGFzc1JlZlB0cjxSZW5kZXJTdHlsZT4pIE9W
RVJSSURFOwotICAgIHZpcnR1YWwgdm9pZCBjcmVhdGVTaGFkb3dTdWJ0cmVlKCkgT1ZFUlJJREUg
RklOQUw7Ci0gICAgdmlydHVhbCB2b2lkIGRlc3Ryb3lTaGFkb3dTdWJ0cmVlKCkgT1ZFUlJJREUg
RklOQUw7Ci0gICAgdmlydHVhbCB2b2lkIGRpc2FibGVkQXR0cmlidXRlQ2hhbmdlZCgpIE9WRVJS
SURFIEZJTkFMOwotICAgIHZpcnR1YWwgdm9pZCBmb3J3YXJkRXZlbnQoRXZlbnQqKSBPVkVSUklE
RSBGSU5BTDsKLSAgICB2aXJ0dWFsIHZvaWQgaGFuZGxlRm9jdXNFdmVudChOb2RlKiBvbGRGb2N1
c2VkTm9kZSwgRm9jdXNEaXJlY3Rpb24pIE9WRVJSSURFOwotICAgIHZpcnR1YWwgdm9pZCBoYW5k
bGVLZXlkb3duRXZlbnQoS2V5Ym9hcmRFdmVudCopIE9WRVJSSURFIEZJTkFMOwotICAgIHZpcnR1
YWwgYm9vbCBoYXNCYWRJbnB1dCgpIGNvbnN0IE9WRVJSSURFOwotICAgIHZpcnR1YWwgYm9vbCBo
YXNDdXN0b21Gb2N1c0xvZ2ljKCkgY29uc3QgT1ZFUlJJREUgRklOQUw7Ci0gICAgdmlydHVhbCBi
b29sIGlzS2V5Ym9hcmRGb2N1c2FibGUoS2V5Ym9hcmRFdmVudCopIGNvbnN0IE9WRVJSSURFIEZJ
TkFMOwotICAgIHZpcnR1YWwgYm9vbCBpc01vdXNlRm9jdXNhYmxlKCkgY29uc3QgT1ZFUlJJREUg
RklOQUw7Ci0gICAgdmlydHVhbCB2b2lkIG1pbk9yTWF4QXR0cmlidXRlQ2hhbmdlZCgpIE9WRVJS
SURFIEZJTkFMOwotICAgIHZpcnR1YWwgdm9pZCByZWFkb25seUF0dHJpYnV0ZUNoYW5nZWQoKSBP
VkVSUklERSBGSU5BTDsKLSAgICB2aXJ0dWFsIHZvaWQgcmVxdWlyZWRBdHRyaWJ1dGVDaGFuZ2Vk
KCkgT1ZFUlJJREUgRklOQUw7Ci0gICAgdmlydHVhbCB2b2lkIHJlc3RvcmVGb3JtQ29udHJvbFN0
YXRlKGNvbnN0IEZvcm1Db250cm9sU3RhdGUmKSBPVkVSUklERSBGSU5BTDsKLSAgICB2aXJ0dWFs
IEZvcm1Db250cm9sU3RhdGUgc2F2ZUZvcm1Db250cm9sU3RhdGUoKSBjb25zdCBPVkVSUklERSBG
SU5BTDsKLSAgICB2aXJ0dWFsIHZvaWQgc2V0VmFsdWUoY29uc3QgU3RyaW5nJiwgYm9vbCB2YWx1
ZUNoYW5nZWQsIFRleHRGaWVsZEV2ZW50QmVoYXZpb3IpIE9WRVJSSURFIEZJTkFMOwotICAgIHZp
cnR1YWwgYm9vbCBzaG91bGRVc2VJbnB1dE1ldGhvZCgpIGNvbnN0IE9WRVJSSURFIEZJTkFMOwot
ICAgIHZpcnR1YWwgdm9pZCBzdGVwQXR0cmlidXRlQ2hhbmdlZCgpIE9WRVJSSURFIEZJTkFMOwot
ICAgIHZpcnR1YWwgdm9pZCB1cGRhdGVJbm5lclRleHRWYWx1ZSgpIE9WRVJSSURFIEZJTkFMOwot
ICAgIHZpcnR1YWwgdm9pZCB2YWx1ZUF0dHJpYnV0ZUNoYW5nZWQoKSBPVkVSUklERTsKLSAgICB2
aXJ0dWFsIHZvaWQgbGlzdEF0dHJpYnV0ZVRhcmdldENoYW5nZWQoKSBPVkVSUklERSBGSU5BTDsK
LSAgICB2aXJ0dWFsIHZvaWQgdXBkYXRlQ2xlYXJCdXR0b25WaXNpYmlsaXR5KCkgT1ZFUlJJREUg
RklOQUw7Ci0KLSAgICB2b2lkIHNob3dQaWNrZXJJbmRpY2F0b3IoKTsKLSAgICB2b2lkIGhpZGVQ
aWNrZXJJbmRpY2F0b3IoKTsKLSAgICB2b2lkIHVwZGF0ZVBpY2tlckluZGljYXRvclZpc2liaWxp
dHkoKTsKLQotICAgIERhdGVUaW1lRWRpdEVsZW1lbnQqIG1fZGF0ZVRpbWVFZGl0RWxlbWVudDsK
LSAgICBTcGluQnV0dG9uRWxlbWVudCogbV9zcGluQnV0dG9uRWxlbWVudDsKLSAgICBDbGVhckJ1
dHRvbkVsZW1lbnQqIG1fY2xlYXJCdXR0b247Ci0gICAgUGlja2VySW5kaWNhdG9yRWxlbWVudCog
bV9waWNrZXJJbmRpY2F0b3JFbGVtZW50OwotICAgIGJvb2wgbV9waWNrZXJJbmRpY2F0b3JJc1Zp
c2libGU7Ci19OwotCi19IC8vIG5hbWVzcGFjZSBXZWJDb3JlCi0KLSNlbmRpZgotI2VuZGlmIC8v
IEJhc2VNdWx0aXBsZUZpZWxkc0RhdGVBbmRUaW1lSW5wdXRUeXBlX2gKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvRGF0ZUlucHV0VHlwZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1s
L0RhdGVJbnB1dFR5cGUuY3BwCmluZGV4IDk4MTA2MjRiMTRmZDExOGU3YjE4YTExZGQ5MmNiYTY1
MjRhODRjOTUuLmI4MzEzOWRmMjBiODlmYmZjMTI3YjJhN2RiZTg4MGM4MjI0MzgzNWQgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvRGF0ZUlucHV0VHlwZS5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvaHRtbC9EYXRlSW5wdXRUeXBlLmNwcApAQCAtMzMsMTQgKzMzLDkgQEAKICNpbmNs
dWRlICJEYXRlSW5wdXRUeXBlLmgiCiAKICNpbmNsdWRlICJEYXRlQ29tcG9uZW50cy5oIgotI2lu
Y2x1ZGUgIkRhdGVUaW1lRmllbGRzU3RhdGUuaCIKICNpbmNsdWRlICJIVE1MSW5wdXRFbGVtZW50
LmgiCiAjaW5jbHVkZSAiSFRNTE5hbWVzLmgiCiAjaW5jbHVkZSAiSW5wdXRUeXBlTmFtZXMuaCIK
LSNpbmNsdWRlICJLZXlib2FyZEV2ZW50LmgiCi0jaW5jbHVkZSAiTG9jYWxpemVkU3RyaW5ncy5o
IgotI2luY2x1ZGUgIlBpY2tlckluZGljYXRvckVsZW1lbnQuaCIKLSNpbmNsdWRlICJQbGF0Zm9y
bUxvY2FsZS5oIgogI2luY2x1ZGUgPHd0Zi9QYXNzT3duUHRyLmg+CiAKIG5hbWVzcGFjZSBXZWJD
b3JlIHsKQEAgLTEwNSwzMyArMTAwLDUgQEAgYm9vbCBEYXRlSW5wdXRUeXBlOjppc0RhdGVGaWVs
ZCgpIGNvbnN0CiAgICAgcmV0dXJuIHRydWU7CiB9CiAKLSNpZiBFTkFCTEUoSU5QVVRfTVVMVElQ
TEVfRklFTERTX1VJKQotU3RyaW5nIERhdGVJbnB1dFR5cGU6OmZvcm1hdERhdGVUaW1lRmllbGRz
U3RhdGUoY29uc3QgRGF0ZVRpbWVGaWVsZHNTdGF0ZSYgZGF0ZVRpbWVGaWVsZHNTdGF0ZSkgY29u
c3QKLXsKLSAgICBpZiAoIWRhdGVUaW1lRmllbGRzU3RhdGUuaGFzRGF5T2ZNb250aCgpIHx8ICFk
YXRlVGltZUZpZWxkc1N0YXRlLmhhc01vbnRoKCkgfHwgIWRhdGVUaW1lRmllbGRzU3RhdGUuaGFz
WWVhcigpKQotICAgICAgICByZXR1cm4gZW1wdHlTdHJpbmcoKTsKLQotICAgIHJldHVybiBTdHJp
bmc6OmZvcm1hdCgiJTA0dS0lMDJ1LSUwMnUiLCBkYXRlVGltZUZpZWxkc1N0YXRlLnllYXIoKSwg
ZGF0ZVRpbWVGaWVsZHNTdGF0ZS5tb250aCgpLCBkYXRlVGltZUZpZWxkc1N0YXRlLmRheU9mTW9u
dGgoKSk7Ci19Ci0KLXZvaWQgRGF0ZUlucHV0VHlwZTo6c2V0dXBMYXlvdXRQYXJhbWV0ZXJzKERh
dGVUaW1lRWRpdEVsZW1lbnQ6OkxheW91dFBhcmFtZXRlcnMmIGxheW91dFBhcmFtZXRlcnMsIGNv
bnN0IERhdGVDb21wb25lbnRzJiBkYXRlKSBjb25zdAotewotICAgIGxheW91dFBhcmFtZXRlcnMu
ZGF0ZVRpbWVGb3JtYXQgPSBsYXlvdXRQYXJhbWV0ZXJzLmxvY2FsZS5kYXRlRm9ybWF0KCk7Ci0g
ICAgbGF5b3V0UGFyYW1ldGVycy5mYWxsYmFja0RhdGVUaW1lRm9ybWF0ID0gQVNDSUlMaXRlcmFs
KCJ5eXl5LU1NLWRkIik7Ci0gICAgaWYgKCFwYXJzZVRvRGF0ZUNvbXBvbmVudHMoZWxlbWVudCgp
LT5mYXN0R2V0QXR0cmlidXRlKG1pbkF0dHIpLCAmbGF5b3V0UGFyYW1ldGVycy5taW5pbXVtKSkK
LSAgICAgICAgbGF5b3V0UGFyYW1ldGVycy5taW5pbXVtID0gRGF0ZUNvbXBvbmVudHMoKTsKLSAg
ICBpZiAoIXBhcnNlVG9EYXRlQ29tcG9uZW50cyhlbGVtZW50KCktPmZhc3RHZXRBdHRyaWJ1dGUo
bWF4QXR0ciksICZsYXlvdXRQYXJhbWV0ZXJzLm1heGltdW0pKQotICAgICAgICBsYXlvdXRQYXJh
bWV0ZXJzLm1heGltdW0gPSBEYXRlQ29tcG9uZW50cygpOwotICAgIGxheW91dFBhcmFtZXRlcnMu
cGxhY2Vob2xkZXJGb3JEYXkgPSBwbGFjZWhvbGRlckZvckRheU9mTW9udGhGaWVsZCgpOwotICAg
IGxheW91dFBhcmFtZXRlcnMucGxhY2Vob2xkZXJGb3JNb250aCA9IHBsYWNlaG9sZGVyRm9yTW9u
dGhGaWVsZCgpOwotICAgIGxheW91dFBhcmFtZXRlcnMucGxhY2Vob2xkZXJGb3JZZWFyID0gcGxh
Y2Vob2xkZXJGb3JZZWFyRmllbGQoKTsKLX0KLQotYm9vbCBEYXRlSW5wdXRUeXBlOjppc1ZhbGlk
Rm9ybWF0KGJvb2wgaGFzWWVhciwgYm9vbCBoYXNNb250aCwgYm9vbCBoYXNXZWVrLCBib29sIGhh
c0RheSwgYm9vbCBoYXNBTVBNLCBib29sIGhhc0hvdXIsIGJvb2wgaGFzTWludXRlLCBib29sIGhh
c1NlY29uZCkgY29uc3QKLXsKLSAgICByZXR1cm4gaGFzWWVhciAmJiBoYXNNb250aCAmJiBoYXNE
YXk7Ci19Ci0jZW5kaWYKLQogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogI2VuZGlmCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0RhdGVJbnB1dFR5cGUuaCBiL1NvdXJjZS9XZWJDb3Jl
L2h0bWwvRGF0ZUlucHV0VHlwZS5oCmluZGV4IGNmODM3MjEwNWY5YzYwODMzYTVkOWEzYzUwODZl
YTlhNDU0ODc1MmUuLjY0YWM1NDcwNDQ4YmQ3MDEyNDNjOGI5OWE4MmZjZDM0OGI0M2Q3MjYgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvRGF0ZUlucHV0VHlwZS5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvRGF0ZUlucHV0VHlwZS5oCkBAIC0zMywyMCArMzMsMTEgQEAKIAogI2lm
IEVOQUJMRShJTlBVVF9UWVBFX0RBVEUpCiAjaW5jbHVkZSAiQmFzZUNob29zZXJPbmx5RGF0ZUFu
ZFRpbWVJbnB1dFR5cGUuaCIKLSNpbmNsdWRlICJCYXNlTXVsdGlwbGVGaWVsZHNEYXRlQW5kVGlt
ZUlucHV0VHlwZS5oIgogI2luY2x1ZGUgPHd0Zi9SZWZQdHIuaD4KIAogbmFtZXNwYWNlIFdlYkNv
cmUgewogCi1jbGFzcyBQaWNrZXJJbmRpY2F0b3JFbGVtZW50OwotCi0jaWYgRU5BQkxFKElOUFVU
X01VTFRJUExFX0ZJRUxEU19VSSkKLXR5cGVkZWYgQmFzZU11bHRpcGxlRmllbGRzRGF0ZUFuZFRp
bWVJbnB1dFR5cGUgQmFzZURhdGVJbnB1dFR5cGU7Ci0jZWxzZQotdHlwZWRlZiBCYXNlQ2hvb3Nl
ck9ubHlEYXRlQW5kVGltZUlucHV0VHlwZSBCYXNlRGF0ZUlucHV0VHlwZTsKLSNlbmRpZgotCi1j
bGFzcyBEYXRlSW5wdXRUeXBlIDogcHVibGljIEJhc2VEYXRlSW5wdXRUeXBlIHsKK2NsYXNzIERh
dGVJbnB1dFR5cGUgOiBwdWJsaWMgQmFzZUNob29zZXJPbmx5RGF0ZUFuZFRpbWVJbnB1dFR5cGUg
ewogcHVibGljOgogICAgIHN0YXRpYyBQYXNzT3duUHRyPElucHV0VHlwZT4gY3JlYXRlKEhUTUxJ
bnB1dEVsZW1lbnQqKTsKIApAQCAtNTksMTMgKzUwLDYgQEAgcHJpdmF0ZToKICAgICB2aXJ0dWFs
IGJvb2wgcGFyc2VUb0RhdGVDb21wb25lbnRzSW50ZXJuYWwoY29uc3QgVUNoYXIqLCB1bnNpZ25l
ZCBsZW5ndGgsIERhdGVDb21wb25lbnRzKikgY29uc3QgT1ZFUlJJREU7CiAgICAgdmlydHVhbCBi
b29sIHNldE1pbGxpc2Vjb25kVG9EYXRlQ29tcG9uZW50cyhkb3VibGUsIERhdGVDb21wb25lbnRz
KikgY29uc3QgT1ZFUlJJREU7CiAgICAgdmlydHVhbCBib29sIGlzRGF0ZUZpZWxkKCkgY29uc3Qg
T1ZFUlJJREU7Ci0KLSNpZiBFTkFCTEUoSU5QVVRfTVVMVElQTEVfRklFTERTX1VJKQotICAgIC8v
IEJhc2VNdWx0aXBsZUZpZWxkc0RhdGVBbmRUaW1lSW5wdXRUeXBlIGZ1bmN0aW9ucwotICAgIHZp
cnR1YWwgU3RyaW5nIGZvcm1hdERhdGVUaW1lRmllbGRzU3RhdGUoY29uc3QgRGF0ZVRpbWVGaWVs
ZHNTdGF0ZSYpIGNvbnN0IE9WRVJSSURFOwotICAgIHZpcnR1YWwgdm9pZCBzZXR1cExheW91dFBh
cmFtZXRlcnMoRGF0ZVRpbWVFZGl0RWxlbWVudDo6TGF5b3V0UGFyYW1ldGVycyYsIGNvbnN0IERh
dGVDb21wb25lbnRzJikgY29uc3QgT1ZFUlJJREU7Ci0gICAgdmlydHVhbCBib29sIGlzVmFsaWRG
b3JtYXQoYm9vbCBoYXNZZWFyLCBib29sIGhhc01vbnRoLCBib29sIGhhc1dlZWssIGJvb2wgaGFz
RGF5LCBib29sIGhhc0FNUE0sIGJvb2wgaGFzSG91ciwgYm9vbCBoYXNNaW51dGUsIGJvb2wgaGFz
U2Vjb25kKSBjb25zdDsKLSNlbmRpZgogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9EYXRlVGltZUZpZWxkc1N0YXRlLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvRGF0ZVRpbWVGaWVsZHNTdGF0ZS5jcHAKZGVsZXRlZCBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IGFlMDNhMTNkYWY3MWM2ZjEyYmY2Y2JkYThiZGI5MzNmZThkYTBiYjYu
LjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvU291cmNlL1dl
YkNvcmUvaHRtbC9EYXRlVGltZUZpZWxkc1N0YXRlLmNwcAorKysgL2Rldi9udWxsCkBAIC0xLDEx
MiArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDEyIEdvb2dsZSBJbmMuIEFsbCByaWdo
dHMgcmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5k
IGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJt
aXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6
Ci0gKiAxLiAgUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKLSAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAyLiAgUmVkaXN0cmlidXRpb25zIGluIGJp
bmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgICBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIg
aW4gdGhlCi0gKiAgICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3Zp
ZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJ
REVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnIEFORAotICog
QU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElN
SVRFRCBUTywgVEhFCi0gKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFO
RCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRQotICogQVJFIERJU0NMQUlNRUQuIElO
IE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUK
LSAqIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBM
QVJZLCBPUiBDT05TRVFVRU5USUFMCi0gKiBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElN
SVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUgotICogU0VSVklDRVM7
IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04p
IEhPV0VWRVIKLSAqIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRI
RVIgSU4gQ09OVFJBQ1QsIFNUUklDVAotICogTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcg
TkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWQotICogT1VUIE9GIFRI
RSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElU
WSBPRgotICogU1VDSCBEQU1BR0UuCi0gKi8KLQotI2luY2x1ZGUgImNvbmZpZy5oIgotI2lmIEVO
QUJMRShJTlBVVF9NVUxUSVBMRV9GSUVMRFNfVUkpCi0jaW5jbHVkZSAiRGF0ZVRpbWVGaWVsZHNT
dGF0ZS5oIgotCi0jaW5jbHVkZSAiRm9ybUNvbnRyb2xsZXIuaCIKLQotbmFtZXNwYWNlIFdlYkNv
cmUgewotCi1jb25zdCB1bnNpZ25lZCBEYXRlVGltZUZpZWxkc1N0YXRlOjplbXB0eVZhbHVlID0g
c3RhdGljX2Nhc3Q8dW5zaWduZWQ+KC0xKTsKLQotc3RhdGljIHVuc2lnbmVkIGdldE51bWJlckZy
b21Gb3JtQ29udHJvbFN0YXRlKGNvbnN0IEZvcm1Db250cm9sU3RhdGUmIHN0YXRlLCBzaXplX3Qg
aW5kZXgpCi17Ci0gICAgaWYgKGluZGV4ID49IHN0YXRlLnZhbHVlU2l6ZSgpKQotICAgICAgICBy
ZXR1cm4gRGF0ZVRpbWVGaWVsZHNTdGF0ZTo6ZW1wdHlWYWx1ZTsKLSAgICBib29sIHBhcnNlZDsK
LSAgICB1bnNpZ25lZCBjb25zdCB2YWx1ZSA9IHN0YXRlW2luZGV4XS50b1VJbnQoJnBhcnNlZCk7
Ci0gICAgcmV0dXJuIHBhcnNlZCA/IHZhbHVlIDogRGF0ZVRpbWVGaWVsZHNTdGF0ZTo6ZW1wdHlW
YWx1ZTsKLX0KLQotc3RhdGljIERhdGVUaW1lRmllbGRzU3RhdGU6OkFNUE1WYWx1ZSBnZXRBTVBN
RnJvbUZvcm1Db250cm9sU3RhdGUoY29uc3QgRm9ybUNvbnRyb2xTdGF0ZSYgc3RhdGUsIHNpemVf
dCBpbmRleCkKLXsKLSAgICBpZiAoaW5kZXggPj0gc3RhdGUudmFsdWVTaXplKCkpCi0gICAgICAg
IHJldHVybiBEYXRlVGltZUZpZWxkc1N0YXRlOjpBTVBNVmFsdWVFbXB0eTsKLSAgICBjb25zdCBT
dHJpbmcgdmFsdWUgPSBzdGF0ZVtpbmRleF07Ci0gICAgaWYgKHZhbHVlID09ICJBIikKLSAgICAg
ICAgcmV0dXJuIERhdGVUaW1lRmllbGRzU3RhdGU6OkFNUE1WYWx1ZUFNOwotICAgIGlmICh2YWx1
ZSA9PSAiUCIpCi0gICAgICAgIHJldHVybiBEYXRlVGltZUZpZWxkc1N0YXRlOjpBTVBNVmFsdWVQ
TTsKLSAgICByZXR1cm4gRGF0ZVRpbWVGaWVsZHNTdGF0ZTo6QU1QTVZhbHVlRW1wdHk7Ci19Ci0K
LURhdGVUaW1lRmllbGRzU3RhdGU6OkRhdGVUaW1lRmllbGRzU3RhdGUoKQotICAgIDogbV95ZWFy
KGVtcHR5VmFsdWUpCi0gICAgLCBtX21vbnRoKGVtcHR5VmFsdWUpCi0gICAgLCBtX2RheU9mTW9u
dGgoZW1wdHlWYWx1ZSkKLSAgICAsIG1faG91cihlbXB0eVZhbHVlKQotICAgICwgbV9taW51dGUo
ZW1wdHlWYWx1ZSkKLSAgICAsIG1fc2Vjb25kKGVtcHR5VmFsdWUpCi0gICAgLCBtX21pbGxpc2Vj
b25kKGVtcHR5VmFsdWUpCi0gICAgLCBtX3dlZWtPZlllYXIoZW1wdHlWYWx1ZSkKLSAgICAsIG1f
YW1wbShBTVBNVmFsdWVFbXB0eSkKLXsKLX0KLQotdW5zaWduZWQgRGF0ZVRpbWVGaWVsZHNTdGF0
ZTo6aG91cjIzKCkgY29uc3QKLXsKLSAgICBpZiAoIWhhc0hvdXIoKSB8fCAhaGFzQU1QTSgpKQot
ICAgICAgICByZXR1cm4gZW1wdHlWYWx1ZTsKLSAgICByZXR1cm4gKG1faG91ciAlIDEyKSArICht
X2FtcG0gPT0gQU1QTVZhbHVlUE0gPyAxMiA6IDApOwotfQotCi1EYXRlVGltZUZpZWxkc1N0YXRl
IERhdGVUaW1lRmllbGRzU3RhdGU6OnJlc3RvcmVGb3JtQ29udHJvbFN0YXRlKGNvbnN0IEZvcm1D
b250cm9sU3RhdGUmIHN0YXRlKQotewotICAgIERhdGVUaW1lRmllbGRzU3RhdGUgZGF0ZVRpbWVG
aWVsZHNTdGF0ZTsKLSAgICBkYXRlVGltZUZpZWxkc1N0YXRlLnNldFllYXIoZ2V0TnVtYmVyRnJv
bUZvcm1Db250cm9sU3RhdGUoc3RhdGUsIDApKTsKLSAgICBkYXRlVGltZUZpZWxkc1N0YXRlLnNl
dE1vbnRoKGdldE51bWJlckZyb21Gb3JtQ29udHJvbFN0YXRlKHN0YXRlLCAxKSk7Ci0gICAgZGF0
ZVRpbWVGaWVsZHNTdGF0ZS5zZXREYXlPZk1vbnRoKGdldE51bWJlckZyb21Gb3JtQ29udHJvbFN0
YXRlKHN0YXRlLCAyKSk7Ci0gICAgZGF0ZVRpbWVGaWVsZHNTdGF0ZS5zZXRIb3VyKGdldE51bWJl
ckZyb21Gb3JtQ29udHJvbFN0YXRlKHN0YXRlLCAzKSk7Ci0gICAgZGF0ZVRpbWVGaWVsZHNTdGF0
ZS5zZXRNaW51dGUoZ2V0TnVtYmVyRnJvbUZvcm1Db250cm9sU3RhdGUoc3RhdGUsIDQpKTsKLSAg
ICBkYXRlVGltZUZpZWxkc1N0YXRlLnNldFNlY29uZChnZXROdW1iZXJGcm9tRm9ybUNvbnRyb2xT
dGF0ZShzdGF0ZSwgNSkpOwotICAgIGRhdGVUaW1lRmllbGRzU3RhdGUuc2V0TWlsbGlzZWNvbmQo
Z2V0TnVtYmVyRnJvbUZvcm1Db250cm9sU3RhdGUoc3RhdGUsIDYpKTsKLSAgICBkYXRlVGltZUZp
ZWxkc1N0YXRlLnNldFdlZWtPZlllYXIoZ2V0TnVtYmVyRnJvbUZvcm1Db250cm9sU3RhdGUoc3Rh
dGUsIDcpKTsKLSAgICBkYXRlVGltZUZpZWxkc1N0YXRlLnNldEFNUE0oZ2V0QU1QTUZyb21Gb3Jt
Q29udHJvbFN0YXRlKHN0YXRlLCA4KSk7Ci0gICAgcmV0dXJuIGRhdGVUaW1lRmllbGRzU3RhdGU7
Ci19Ci0KLUZvcm1Db250cm9sU3RhdGUgRGF0ZVRpbWVGaWVsZHNTdGF0ZTo6c2F2ZUZvcm1Db250
cm9sU3RhdGUoKSBjb25zdAotewotICAgIEZvcm1Db250cm9sU3RhdGUgc3RhdGU7Ci0gICAgc3Rh
dGUuYXBwZW5kKGhhc1llYXIoKSA/IFN0cmluZzo6bnVtYmVyKG1feWVhcikgOiBlbXB0eVN0cmlu
ZygpKTsKLSAgICBzdGF0ZS5hcHBlbmQoaGFzTW9udGgoKSA/IFN0cmluZzo6bnVtYmVyKG1fbW9u
dGgpIDogZW1wdHlTdHJpbmcoKSk7Ci0gICAgc3RhdGUuYXBwZW5kKGhhc0RheU9mTW9udGgoKSA/
IFN0cmluZzo6bnVtYmVyKG1fZGF5T2ZNb250aCkgOiBlbXB0eVN0cmluZygpKTsKLSAgICBzdGF0
ZS5hcHBlbmQoaGFzSG91cigpID8gU3RyaW5nOjpudW1iZXIobV9ob3VyKSA6IGVtcHR5U3RyaW5n
KCkpOwotICAgIHN0YXRlLmFwcGVuZChoYXNNaW51dGUoKSA/IFN0cmluZzo6bnVtYmVyKG1fbWlu
dXRlKSA6IGVtcHR5U3RyaW5nKCkpOwotICAgIHN0YXRlLmFwcGVuZChoYXNTZWNvbmQoKSA/IFN0
cmluZzo6bnVtYmVyKG1fc2Vjb25kKSA6IGVtcHR5U3RyaW5nKCkpOwotICAgIHN0YXRlLmFwcGVu
ZChoYXNNaWxsaXNlY29uZCgpID8gU3RyaW5nOjpudW1iZXIobV9taWxsaXNlY29uZCkgOiBlbXB0
eVN0cmluZygpKTsKLSAgICBzdGF0ZS5hcHBlbmQoaGFzV2Vla09mWWVhcigpID8gU3RyaW5nOjpu
dW1iZXIobV93ZWVrT2ZZZWFyKSA6IGVtcHR5U3RyaW5nKCkpOwotICAgIGlmIChoYXNBTVBNKCkp
Ci0gICAgICAgIHN0YXRlLmFwcGVuZChtX2FtcG0gPT0gQU1QTVZhbHVlQU0gPyAiQSIgOiAiUCIp
OwotICAgIGVsc2UKLSAgICAgICAgc3RhdGUuYXBwZW5kKGVtcHR5U3RyaW5nKCkpOwotICAgIHJl
dHVybiBzdGF0ZTsKLX0KLQotfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQotCi0jZW5kaWYKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvRGF0ZVRpbWVGaWVsZHNTdGF0ZS5oIGIvU291cmNl
L1dlYkNvcmUvaHRtbC9EYXRlVGltZUZpZWxkc1N0YXRlLmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDJkZDIxOTU0NjA2YjQ5NzRjNDJlNTE2OThhOTExMGJlYmU2OTM5NTYuLjAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvU291cmNlL1dlYkNvcmUv
aHRtbC9EYXRlVGltZUZpZWxkc1N0YXRlLmgKKysrIC9kZXYvbnVsbApAQCAtMSwxMDMgKzAsMCBA
QAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAxMiBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2Vy
dmVkLgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkg
Zm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHBy
b3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0OgotICogMS4g
IFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29w
eXJpZ2h0Ci0gKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyLgotICogMi4gIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9y
bSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICAgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQot
ICogICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRo
IHRoZSBkaXN0cmlidXRpb24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBB
UFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJyBBTkQKLSAqIEFOWSBFWFBS
RVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
IFRIRQotICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVT
UyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UKLSAqIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVO
VCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMgQkUgTElBQkxFCi0gKiBGT1Ig
QU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1Ig
Q09OU0VRVUVOVElBTAotICogREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
IFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IKLSAqIFNFUlZJQ0VTOyBMT1NTIE9G
IFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVS
Ci0gKiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENP
TlRSQUNULCBTVFJJQ1QKLSAqIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VO
Q0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkKLSAqIE9VVCBPRiBUSEUgVVNFIE9G
IFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YKLSAq
IFNVQ0ggREFNQUdFLgotICovCi0KLSNpZm5kZWYgRGF0ZVRpbWVGaWVsZHNTdGF0ZV9oCi0jZGVm
aW5lIERhdGVUaW1lRmllbGRzU3RhdGVfaAotCi0jaWYgRU5BQkxFKElOUFVUX01VTFRJUExFX0ZJ
RUxEU19VSSkKLSNpbmNsdWRlIDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4KLQotbmFtZXNwYWNlIFdl
YkNvcmUgewotCi1jbGFzcyBGb3JtQ29udHJvbFN0YXRlOwotCi0vLyBEYXRlVGltZUZpZWxkc1N0
YXRlIHJlcHJlc2VudHMgZmllbGRzIGluIGRhdGUvdGltZSBmb3IgZm9ybSBzdGF0ZQotLy8gc2F2
ZS9yZXN0b3JlIGZvciBpbnB1dCB0eXBlICJkYXRlIiwgImRhdGV0aW1lIiwgImRhdGV0aW1lLWxv
Y2FsIiwgIm1vbnRoIiwKLS8vICJ0aW1lIiwgYW5kICJ3ZWVrIiB3aXRoIG11bHRpcGxlIGZpZWxk
cyBpbnB1dCBVSS4KLS8vCi0vLyBFYWNoIGZpZWxkIGNhbiBjb250YWluIGludmFsaWQgdmFsdWUg
Zm9yIGRhdGUsIGUuZy4gZGF5IG9mIG1vbnRoIGZpZWxkIGNhbgotLy8gYmUgMzAgZXZlbiBpZiBt
b250aCBmaWVsZCBpcyBGZWJydWFyeS4KLWNsYXNzIERhdGVUaW1lRmllbGRzU3RhdGUgewotcHVi
bGljOgotICAgIGVudW0gQU1QTVZhbHVlIHsKLSAgICAgICAgQU1QTVZhbHVlRW1wdHkgPSAtMSwK
LSAgICAgICAgQU1QTVZhbHVlQU0sCi0gICAgICAgIEFNUE1WYWx1ZVBNLAotICAgIH07Ci0KLSAg
ICBzdGF0aWMgY29uc3QgdW5zaWduZWQgZW1wdHlWYWx1ZTsKLQotICAgIERhdGVUaW1lRmllbGRz
U3RhdGUoKTsKLQotICAgIHN0YXRpYyBEYXRlVGltZUZpZWxkc1N0YXRlIHJlc3RvcmVGb3JtQ29u
dHJvbFN0YXRlKGNvbnN0IEZvcm1Db250cm9sU3RhdGUmKTsKLSAgICBGb3JtQ29udHJvbFN0YXRl
IHNhdmVGb3JtQ29udHJvbFN0YXRlKCkgY29uc3Q7Ci0KLSAgICBBTVBNVmFsdWUgYW1wbSgpIGNv
bnN0IHsgcmV0dXJuIG1fYW1wbTsgfQotICAgIHVuc2lnbmVkIGRheU9mTW9udGgoKSBjb25zdCB7
IHJldHVybiBtX2RheU9mTW9udGg7IH0KLSAgICB1bnNpZ25lZCBob3VyKCkgY29uc3QgeyByZXR1
cm4gbV9ob3VyOyB9Ci0gICAgdW5zaWduZWQgaG91cjIzKCkgY29uc3Q7Ci0gICAgdW5zaWduZWQg
bWlsbGlzZWNvbmQoKSBjb25zdCB7IHJldHVybiBtX21pbGxpc2Vjb25kOyB9Ci0gICAgdW5zaWdu
ZWQgbWludXRlKCkgY29uc3QgeyByZXR1cm4gbV9taW51dGU7IH0KLSAgICB1bnNpZ25lZCBtb250
aCgpIGNvbnN0IHsgcmV0dXJuIG1fbW9udGg7IH0KLSAgICB1bnNpZ25lZCBzZWNvbmQoKSBjb25z
dCB7IHJldHVybiBtX3NlY29uZDsgfQotICAgIHVuc2lnbmVkIHdlZWtPZlllYXIoKSBjb25zdCB7
IHJldHVybiBtX3dlZWtPZlllYXI7IH0KLSAgICB1bnNpZ25lZCB5ZWFyKCkgY29uc3QgeyByZXR1
cm4gbV95ZWFyOyB9Ci0KLSAgICBib29sIGhhc0FNUE0oKSBjb25zdCB7IHJldHVybiBtX2FtcG0g
IT0gQU1QTVZhbHVlRW1wdHk7IH0KLSAgICBib29sIGhhc0RheU9mTW9udGgoKSBjb25zdCB7IHJl
dHVybiBtX2RheU9mTW9udGggIT0gZW1wdHlWYWx1ZTsgfQotICAgIGJvb2wgaGFzSG91cigpIGNv
bnN0IHsgcmV0dXJuIG1faG91ciAhPSBlbXB0eVZhbHVlOyB9Ci0gICAgYm9vbCBoYXNNaWxsaXNl
Y29uZCgpIGNvbnN0IHsgcmV0dXJuIG1fbWlsbGlzZWNvbmQgIT0gZW1wdHlWYWx1ZTsgfQotICAg
IGJvb2wgaGFzTWludXRlKCkgY29uc3QgeyByZXR1cm4gbV9taW51dGUgIT0gZW1wdHlWYWx1ZTsg
fQotICAgIGJvb2wgaGFzTW9udGgoKSBjb25zdCB7IHJldHVybiBtX21vbnRoICE9IGVtcHR5VmFs
dWU7IH0KLSAgICBib29sIGhhc1NlY29uZCgpIGNvbnN0IHsgcmV0dXJuIG1fc2Vjb25kICE9IGVt
cHR5VmFsdWU7IH0KLSAgICBib29sIGhhc1dlZWtPZlllYXIoKSBjb25zdCB7IHJldHVybiBtX3dl
ZWtPZlllYXIgIT0gZW1wdHlWYWx1ZTsgfQotICAgIGJvb2wgaGFzWWVhcigpIGNvbnN0IHsgcmV0
dXJuIG1feWVhciAhPSBlbXB0eVZhbHVlOyB9Ci0KLSAgICB2b2lkIHNldEFNUE0oQU1QTVZhbHVl
IGFtcG0pIHsgbV9hbXBtID0gYW1wbTsgfQotICAgIHZvaWQgc2V0RGF5T2ZNb250aCh1bnNpZ25l
ZCBkYXlPZk1vbnRoKSB7IG1fZGF5T2ZNb250aCA9IGRheU9mTW9udGg7IH0KLSAgICB2b2lkIHNl
dEhvdXIodW5zaWduZWQgaG91cjEyKSB7IG1faG91ciA9IGhvdXIxMjsgfQotICAgIHZvaWQgc2V0
TWlsbGlzZWNvbmQodW5zaWduZWQgbWlsbGlzZWNvbmQpIHsgbV9taWxsaXNlY29uZCA9IG1pbGxp
c2Vjb25kOyB9Ci0gICAgdm9pZCBzZXRNaW51dGUodW5zaWduZWQgbWludXRlKSB7IG1fbWludXRl
ID0gbWludXRlOyB9Ci0gICAgdm9pZCBzZXRNb250aCh1bnNpZ25lZCBtb250aCkgeyBtX21vbnRo
ID0gbW9udGg7IH0KLSAgICB2b2lkIHNldFNlY29uZCh1bnNpZ25lZCBzZWNvbmQpIHsgbV9zZWNv
bmQgPSBzZWNvbmQ7IH0KLSAgICB2b2lkIHNldFdlZWtPZlllYXIodW5zaWduZWQgd2Vla09mWWVh
cikgeyBtX3dlZWtPZlllYXIgPSB3ZWVrT2ZZZWFyOyB9Ci0gICAgdm9pZCBzZXRZZWFyKHVuc2ln
bmVkIHllYXIpIHsgbV95ZWFyID0geWVhcjsgfQotCi1wcml2YXRlOgotICAgIHVuc2lnbmVkIG1f
eWVhcjsKLSAgICB1bnNpZ25lZCBtX21vbnRoOyAvLyAxIHRvIDEyLgotICAgIHVuc2lnbmVkIG1f
ZGF5T2ZNb250aDsKLSAgICB1bnNpZ25lZCBtX2hvdXI7IC8vIDEgdG8gMTIuCi0gICAgdW5zaWdu
ZWQgbV9taW51dGU7Ci0gICAgdW5zaWduZWQgbV9zZWNvbmQ7Ci0gICAgdW5zaWduZWQgbV9taWxs
aXNlY29uZDsKLSAgICB1bnNpZ25lZCBtX3dlZWtPZlllYXI7Ci0gICAgQU1QTVZhbHVlIG1fYW1w
bTsKLX07Ci0KLX0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKLQotI2VuZGlmCi0jZW5kaWYKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvRGF0ZVRpbWVJbnB1dFR5cGUuY3BwIGIvU291cmNl
L1dlYkNvcmUvaHRtbC9EYXRlVGltZUlucHV0VHlwZS5jcHAKaW5kZXggYWIwODVlMjQ1NTNjNWQz
MzE0ZmJmYmE1ZWI5YmFiODQ1MWI3NjFlZS4uOGE2NGIwZjZiYjBhYzNiZWY4ZTE1MWY0NDM5Y2Yz
Yjc1ZGZlZjdmMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9EYXRlVGltZUlucHV0
VHlwZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9EYXRlVGltZUlucHV0VHlwZS5jcHAK
QEAgLTM5LDE0ICszOSw2IEBACiAjaW5jbHVkZSA8d3RmL0N1cnJlbnRUaW1lLmg+CiAjaW5jbHVk
ZSA8d3RmL1Bhc3NPd25QdHIuaD4KIAotI2lmIEVOQUJMRShJTlBVVF9NVUxUSVBMRV9GSUVMRFNf
VUkpCi0jaW5jbHVkZSAiRGF0ZVRpbWVGaWVsZHNTdGF0ZS5oIgotI2luY2x1ZGUgIkxvY2FsaXpl
ZFN0cmluZ3MuaCIKLSNpbmNsdWRlICJQbGF0Zm9ybUxvY2FsZS5oIgotI2luY2x1ZGUgPHd0Zi90
ZXh0L1N0cmluZ0J1aWxkZXIuaD4KLSNpbmNsdWRlIDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4KLSNl
bmRpZgotCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIHVzaW5nIG5hbWVzcGFjZSBIVE1MTmFtZXM7
CkBAIC0xMDksNjggKzEwMSw2IEBAIGJvb2wgRGF0ZVRpbWVJbnB1dFR5cGU6OmlzRGF0ZVRpbWVG
aWVsZCgpIGNvbnN0CiAgICAgcmV0dXJuIHRydWU7CiB9CiAKLSNpZiBFTkFCTEUoSU5QVVRfTVVM
VElQTEVfRklFTERTX1VJKQotLy8gRklYTUU6IEl0IGlzIGJldHRlciB0byBzaGFyZSBjb2RlIGZv
ciBEYXRlVGltZUlucHV0VHlwZTo6Zm9ybWF0RGF0ZVRpbWVGaWVsZHNTdGF0ZSgpCi0vLyBhbmQg
RGF0ZVRpbWVJbnB1dExvY2FsVHlwZTo6Zm9ybWF0RGF0ZVRpbWVGaWVsZHNTdGF0ZSgpLgotU3Ry
aW5nIERhdGVUaW1lSW5wdXRUeXBlOjpmb3JtYXREYXRlVGltZUZpZWxkc1N0YXRlKGNvbnN0IERh
dGVUaW1lRmllbGRzU3RhdGUmIGRhdGVUaW1lRmllbGRzU3RhdGUpIGNvbnN0Ci17Ci0gICAgaWYg
KCFkYXRlVGltZUZpZWxkc1N0YXRlLmhhc0RheU9mTW9udGgoKSB8fCAhZGF0ZVRpbWVGaWVsZHNT
dGF0ZS5oYXNNb250aCgpIHx8ICFkYXRlVGltZUZpZWxkc1N0YXRlLmhhc1llYXIoKQotICAgICAg
ICB8fCAhZGF0ZVRpbWVGaWVsZHNTdGF0ZS5oYXNIb3VyKCkgfHwgIWRhdGVUaW1lRmllbGRzU3Rh
dGUuaGFzTWludXRlKCkgfHwgIWRhdGVUaW1lRmllbGRzU3RhdGUuaGFzQU1QTSgpKQotICAgICAg
ICByZXR1cm4gZW1wdHlTdHJpbmcoKTsKLQotICAgIGlmIChkYXRlVGltZUZpZWxkc1N0YXRlLmhh
c01pbGxpc2Vjb25kKCkgJiYgZGF0ZVRpbWVGaWVsZHNTdGF0ZS5taWxsaXNlY29uZCgpKSB7Ci0g
ICAgICAgIHJldHVybiBTdHJpbmc6OmZvcm1hdCgiJTA0dS0lMDJ1LSUwMnVUJTAydTolMDJ1OiUw
MnUuJTAzdVoiLAotICAgICAgICAgICAgZGF0ZVRpbWVGaWVsZHNTdGF0ZS55ZWFyKCksCi0gICAg
ICAgICAgICBkYXRlVGltZUZpZWxkc1N0YXRlLm1vbnRoKCksCi0gICAgICAgICAgICBkYXRlVGlt
ZUZpZWxkc1N0YXRlLmRheU9mTW9udGgoKSwKLSAgICAgICAgICAgIGRhdGVUaW1lRmllbGRzU3Rh
dGUuaG91cjIzKCksCi0gICAgICAgICAgICBkYXRlVGltZUZpZWxkc1N0YXRlLm1pbnV0ZSgpLAot
ICAgICAgICAgICAgZGF0ZVRpbWVGaWVsZHNTdGF0ZS5oYXNTZWNvbmQoKSA/IGRhdGVUaW1lRmll
bGRzU3RhdGUuc2Vjb25kKCkgOiAwLAotICAgICAgICAgICAgZGF0ZVRpbWVGaWVsZHNTdGF0ZS5t
aWxsaXNlY29uZCgpKTsKLSAgICB9Ci0KLSAgICBpZiAoZGF0ZVRpbWVGaWVsZHNTdGF0ZS5oYXNT
ZWNvbmQoKSAmJiBkYXRlVGltZUZpZWxkc1N0YXRlLnNlY29uZCgpKSB7Ci0gICAgICAgIHJldHVy
biBTdHJpbmc6OmZvcm1hdCgiJTA0dS0lMDJ1LSUwMnVUJTAydTolMDJ1OiUwMnVaIiwKLSAgICAg
ICAgICAgIGRhdGVUaW1lRmllbGRzU3RhdGUueWVhcigpLAotICAgICAgICAgICAgZGF0ZVRpbWVG
aWVsZHNTdGF0ZS5tb250aCgpLAotICAgICAgICAgICAgZGF0ZVRpbWVGaWVsZHNTdGF0ZS5kYXlP
Zk1vbnRoKCksCi0gICAgICAgICAgICBkYXRlVGltZUZpZWxkc1N0YXRlLmhvdXIyMygpLAotICAg
ICAgICAgICAgZGF0ZVRpbWVGaWVsZHNTdGF0ZS5taW51dGUoKSwKLSAgICAgICAgICAgIGRhdGVU
aW1lRmllbGRzU3RhdGUuc2Vjb25kKCkpOwotICAgIH0KLQotICAgIHJldHVybiBTdHJpbmc6OmZv
cm1hdCgiJTA0dS0lMDJ1LSUwMnVUJTAydTolMDJ1WiIsCi0gICAgICAgIGRhdGVUaW1lRmllbGRz
U3RhdGUueWVhcigpLAotICAgICAgICBkYXRlVGltZUZpZWxkc1N0YXRlLm1vbnRoKCksCi0gICAg
ICAgIGRhdGVUaW1lRmllbGRzU3RhdGUuZGF5T2ZNb250aCgpLAotICAgICAgICBkYXRlVGltZUZp
ZWxkc1N0YXRlLmhvdXIyMygpLAotICAgICAgICBkYXRlVGltZUZpZWxkc1N0YXRlLm1pbnV0ZSgp
KTsKLX0KLQotdm9pZCBEYXRlVGltZUlucHV0VHlwZTo6c2V0dXBMYXlvdXRQYXJhbWV0ZXJzKERh
dGVUaW1lRWRpdEVsZW1lbnQ6OkxheW91dFBhcmFtZXRlcnMmIGxheW91dFBhcmFtZXRlcnMsIGNv
bnN0IERhdGVDb21wb25lbnRzJiBkYXRlKSBjb25zdAotewotICAgIGlmIChzaG91bGRIYXZlU2Vj
b25kRmllbGQoZGF0ZSkpIHsKLSAgICAgICAgbGF5b3V0UGFyYW1ldGVycy5kYXRlVGltZUZvcm1h
dCA9IGxheW91dFBhcmFtZXRlcnMubG9jYWxlLmRhdGVUaW1lRm9ybWF0V2l0aFNlY29uZHMoKTsK
LSAgICAgICAgbGF5b3V0UGFyYW1ldGVycy5mYWxsYmFja0RhdGVUaW1lRm9ybWF0ID0gInl5eXkt
TU0tZGQnVCdISDptbTpzcydaJyI7Ci0gICAgfSBlbHNlIHsKLSAgICAgICAgbGF5b3V0UGFyYW1l
dGVycy5kYXRlVGltZUZvcm1hdCA9IGxheW91dFBhcmFtZXRlcnMubG9jYWxlLmRhdGVUaW1lRm9y
bWF0V2l0aG91dFNlY29uZHMoKTsKLSAgICAgICAgbGF5b3V0UGFyYW1ldGVycy5mYWxsYmFja0Rh
dGVUaW1lRm9ybWF0ID0gInl5eXktTU0tZGQnVCdISDptbSdaJyI7Ci0gICAgfQotICAgIGlmICgh
cGFyc2VUb0RhdGVDb21wb25lbnRzKGVsZW1lbnQoKS0+ZmFzdEdldEF0dHJpYnV0ZShtaW5BdHRy
KSwgJmxheW91dFBhcmFtZXRlcnMubWluaW11bSkpCi0gICAgICAgIGxheW91dFBhcmFtZXRlcnMu
bWluaW11bSA9IERhdGVDb21wb25lbnRzKCk7Ci0gICAgaWYgKCFwYXJzZVRvRGF0ZUNvbXBvbmVu
dHMoZWxlbWVudCgpLT5mYXN0R2V0QXR0cmlidXRlKG1heEF0dHIpLCAmbGF5b3V0UGFyYW1ldGVy
cy5tYXhpbXVtKSkKLSAgICAgICAgbGF5b3V0UGFyYW1ldGVycy5tYXhpbXVtID0gRGF0ZUNvbXBv
bmVudHMoKTsKLSAgICBsYXlvdXRQYXJhbWV0ZXJzLnBsYWNlaG9sZGVyRm9yRGF5ID0gcGxhY2Vo
b2xkZXJGb3JEYXlPZk1vbnRoRmllbGQoKTsKLSAgICBsYXlvdXRQYXJhbWV0ZXJzLnBsYWNlaG9s
ZGVyRm9yTW9udGggPSBwbGFjZWhvbGRlckZvck1vbnRoRmllbGQoKTsKLSAgICBsYXlvdXRQYXJh
bWV0ZXJzLnBsYWNlaG9sZGVyRm9yWWVhciA9IHBsYWNlaG9sZGVyRm9yWWVhckZpZWxkKCk7Ci19
Ci0KLWJvb2wgRGF0ZVRpbWVJbnB1dFR5cGU6OmlzVmFsaWRGb3JtYXQoYm9vbCBoYXNZZWFyLCBi
b29sIGhhc01vbnRoLCBib29sIGhhc1dlZWssIGJvb2wgaGFzRGF5LCBib29sIGhhc0FNUE0sIGJv
b2wgaGFzSG91ciwgYm9vbCBoYXNNaW51dGUsIGJvb2wgaGFzU2Vjb25kKSBjb25zdAotewotICAg
IHJldHVybiBoYXNZZWFyICYmIGhhc01vbnRoICYmIGhhc0RheSAmJiBoYXNBTVBNICYmIGhhc0hv
dXIgJiYgaGFzTWludXRlOwotfQotI2VuZGlmCi0KIFN0cmluZyBEYXRlVGltZUlucHV0VHlwZTo6
c2FuaXRpemVWYWx1ZShjb25zdCBTdHJpbmcmIHByb3Bvc2VkVmFsdWUpIGNvbnN0CiB7CiAgICAg
RGF0ZUNvbXBvbmVudHMgZGF0ZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvRGF0
ZVRpbWVJbnB1dFR5cGUuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvRGF0ZVRpbWVJbnB1dFR5cGUu
aAppbmRleCBlOWNkYjg0ZDhiYzI1NjZhOGJjNDhlOTRjYjA3MzgzZTllY2NhNGZmLi5hMzllMjcz
ODFlZWIzMGFhOTU3NGUwYWYxM2UzYjYxOTZhYTk1MTljIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9odG1sL0RhdGVUaW1lSW5wdXRUeXBlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9E
YXRlVGltZUlucHV0VHlwZS5oCkBAIC0zNCwxNyArMzQsMTAgQEAKICNpZiBFTkFCTEUoSU5QVVRf
VFlQRV9EQVRFVElNRV9JTkNPTVBMRVRFKQogI2luY2x1ZGUgIkJhc2VDaG9vc2VyT25seURhdGVB
bmRUaW1lSW5wdXRUeXBlLmgiCiAjaW5jbHVkZSAiQmFzZURhdGVBbmRUaW1lSW5wdXRUeXBlLmgi
Ci0jaW5jbHVkZSAiQmFzZU11bHRpcGxlRmllbGRzRGF0ZUFuZFRpbWVJbnB1dFR5cGUuaCIKIAog
bmFtZXNwYWNlIFdlYkNvcmUgewogCi0jaWYgRU5BQkxFKElOUFVUX01VTFRJUExFX0ZJRUxEU19V
SSkKLXR5cGVkZWYgQmFzZU11bHRpcGxlRmllbGRzRGF0ZUFuZFRpbWVJbnB1dFR5cGUgQmFzZURh
dGVUaW1lSW5wdXRUeXBlOwotI2Vsc2UKLXR5cGVkZWYgQmFzZUNob29zZXJPbmx5RGF0ZUFuZFRp
bWVJbnB1dFR5cGUgQmFzZURhdGVUaW1lSW5wdXRUeXBlOwotI2VuZGlmCi0KLWNsYXNzIERhdGVU
aW1lSW5wdXRUeXBlIDogcHVibGljIEJhc2VEYXRlVGltZUlucHV0VHlwZSB7CitjbGFzcyBEYXRl
VGltZUlucHV0VHlwZSA6IHB1YmxpYyBCYXNlQ2hvb3Nlck9ubHlEYXRlQW5kVGltZUlucHV0VHlw
ZSB7CiBwdWJsaWM6CiAgICAgc3RhdGljIFBhc3NPd25QdHI8SW5wdXRUeXBlPiBjcmVhdGUoSFRN
TElucHV0RWxlbWVudCopOwogCkBAIC01OSwxMyArNTIsNiBAQCBwcml2YXRlOgogICAgIHZpcnR1
YWwgYm9vbCBzZXRNaWxsaXNlY29uZFRvRGF0ZUNvbXBvbmVudHMoZG91YmxlLCBEYXRlQ29tcG9u
ZW50cyopIGNvbnN0IE9WRVJSSURFOwogICAgIHZpcnR1YWwgYm9vbCBpc0RhdGVUaW1lRmllbGQo
KSBjb25zdCBPVkVSUklERTsKICAgICB2aXJ0dWFsIFN0cmluZyBzYW5pdGl6ZVZhbHVlKGNvbnN0
IFN0cmluZyYpIGNvbnN0IE9WRVJSSURFOwotCi0jaWYgRU5BQkxFKElOUFVUX01VTFRJUExFX0ZJ
RUxEU19VSSkKLSAgICAvLyBCYXNlTXVsdGlwbGVGaWVsZHNEYXRlQW5kVGltZUlucHV0VHlwZSBm
dW5jdGlvbnMKLSAgICB2aXJ0dWFsIFN0cmluZyBmb3JtYXREYXRlVGltZUZpZWxkc1N0YXRlKGNv
bnN0IERhdGVUaW1lRmllbGRzU3RhdGUmKSBjb25zdCBPVkVSUklERSBGSU5BTDsKLSAgICB2aXJ0
dWFsIHZvaWQgc2V0dXBMYXlvdXRQYXJhbWV0ZXJzKERhdGVUaW1lRWRpdEVsZW1lbnQ6OkxheW91
dFBhcmFtZXRlcnMmLCBjb25zdCBEYXRlQ29tcG9uZW50cyYpIGNvbnN0IE9WRVJSSURFIEZJTkFM
OwotICAgIHZpcnR1YWwgYm9vbCBpc1ZhbGlkRm9ybWF0KGJvb2wgaGFzWWVhciwgYm9vbCBoYXNN
b250aCwgYm9vbCBoYXNXZWVrLCBib29sIGhhc0RheSwgYm9vbCBoYXNBTVBNLCBib29sIGhhc0hv
dXIsIGJvb2wgaGFzTWludXRlLCBib29sIGhhc1NlY29uZCkgY29uc3Q7Ci0jZW5kaWYKIH07CiAK
IH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwv
RGF0ZVRpbWVMb2NhbElucHV0VHlwZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0RhdGVUaW1l
TG9jYWxJbnB1dFR5cGUuY3BwCmluZGV4IDY4N2JmZmFlMTM5ZDFhODA0MDFhYzRiOWQ2MDZhNDY5
NWYwZjU0NGUuLmRmMWM0N2EyOTQ1ZmZmOTBlYzk0YmQ2MTM5YjY4ZGRjMDE0OTVmZjcgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvRGF0ZVRpbWVMb2NhbElucHV0VHlwZS5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvaHRtbC9EYXRlVGltZUxvY2FsSW5wdXRUeXBlLmNwcApAQCAtMzgs
MTQgKzM4LDYgQEAKICNpbmNsdWRlICJJbnB1dFR5cGVOYW1lcy5oIgogI2luY2x1ZGUgPHd0Zi9Q
YXNzT3duUHRyLmg+CiAKLSNpZiBFTkFCTEUoSU5QVVRfTVVMVElQTEVfRklFTERTX1VJKQotI2lu
Y2x1ZGUgIkRhdGVUaW1lRmllbGRzU3RhdGUuaCIKLSNpbmNsdWRlICJMb2NhbGl6ZWRTdHJpbmdz
LmgiCi0jaW5jbHVkZSAiUGxhdGZvcm1Mb2NhbGUuaCIKLSNpbmNsdWRlIDx3dGYvdGV4dC9TdHJp
bmdCdWlsZGVyLmg+Ci0jaW5jbHVkZSA8d3RmL3RleHQvV1RGU3RyaW5nLmg+Ci0jZW5kaWYKLQog
bmFtZXNwYWNlIFdlYkNvcmUgewogCiB1c2luZyBuYW1lc3BhY2UgSFRNTE5hbWVzOwpAQCAtMTE1
LDY4ICsxMDcsNiBAQCBib29sIERhdGVUaW1lTG9jYWxJbnB1dFR5cGU6OmlzRGF0ZVRpbWVMb2Nh
bEZpZWxkKCkgY29uc3QKICAgICByZXR1cm4gdHJ1ZTsKIH0KIAotI2lmIEVOQUJMRShJTlBVVF9N
VUxUSVBMRV9GSUVMRFNfVUkpCi0vLyBGSVhNRTogSXQgaXMgYmV0dGVyIHRvIHNoYXJlIGNvZGUg
Zm9yIERhdGVUaW1lSW5wdXRUeXBlOjpmb3JtYXREYXRlVGltZUZpZWxkc1N0YXRlKCkKLS8vIGFu
ZCBEYXRlVGltZUlucHV0TG9jYWxUeXBlOjpmb3JtYXREYXRlVGltZUZpZWxkc1N0YXRlKCkuCi1T
dHJpbmcgRGF0ZVRpbWVMb2NhbElucHV0VHlwZTo6Zm9ybWF0RGF0ZVRpbWVGaWVsZHNTdGF0ZShj
b25zdCBEYXRlVGltZUZpZWxkc1N0YXRlJiBkYXRlVGltZUZpZWxkc1N0YXRlKSBjb25zdAotewot
ICAgIGlmICghZGF0ZVRpbWVGaWVsZHNTdGF0ZS5oYXNEYXlPZk1vbnRoKCkgfHwgIWRhdGVUaW1l
RmllbGRzU3RhdGUuaGFzTW9udGgoKSB8fCAhZGF0ZVRpbWVGaWVsZHNTdGF0ZS5oYXNZZWFyKCkK
LSAgICAgICAgfHwgIWRhdGVUaW1lRmllbGRzU3RhdGUuaGFzSG91cigpIHx8ICFkYXRlVGltZUZp
ZWxkc1N0YXRlLmhhc01pbnV0ZSgpIHx8ICFkYXRlVGltZUZpZWxkc1N0YXRlLmhhc0FNUE0oKSkK
LSAgICAgICAgcmV0dXJuIGVtcHR5U3RyaW5nKCk7Ci0KLSAgICBpZiAoZGF0ZVRpbWVGaWVsZHNT
dGF0ZS5oYXNNaWxsaXNlY29uZCgpICYmIGRhdGVUaW1lRmllbGRzU3RhdGUubWlsbGlzZWNvbmQo
KSkgewotICAgICAgICByZXR1cm4gU3RyaW5nOjpmb3JtYXQoIiUwNHUtJTAydS0lMDJ1VCUwMnU6
JTAydTolMDJ1LiUwM3UiLAotICAgICAgICAgICAgZGF0ZVRpbWVGaWVsZHNTdGF0ZS55ZWFyKCks
Ci0gICAgICAgICAgICBkYXRlVGltZUZpZWxkc1N0YXRlLm1vbnRoKCksCi0gICAgICAgICAgICBk
YXRlVGltZUZpZWxkc1N0YXRlLmRheU9mTW9udGgoKSwKLSAgICAgICAgICAgIGRhdGVUaW1lRmll
bGRzU3RhdGUuaG91cjIzKCksCi0gICAgICAgICAgICBkYXRlVGltZUZpZWxkc1N0YXRlLm1pbnV0
ZSgpLAotICAgICAgICAgICAgZGF0ZVRpbWVGaWVsZHNTdGF0ZS5oYXNTZWNvbmQoKSA/IGRhdGVU
aW1lRmllbGRzU3RhdGUuc2Vjb25kKCkgOiAwLAotICAgICAgICAgICAgZGF0ZVRpbWVGaWVsZHNT
dGF0ZS5taWxsaXNlY29uZCgpKTsKLSAgICB9Ci0KLSAgICBpZiAoZGF0ZVRpbWVGaWVsZHNTdGF0
ZS5oYXNTZWNvbmQoKSAmJiBkYXRlVGltZUZpZWxkc1N0YXRlLnNlY29uZCgpKSB7Ci0gICAgICAg
IHJldHVybiBTdHJpbmc6OmZvcm1hdCgiJTA0dS0lMDJ1LSUwMnVUJTAydTolMDJ1OiUwMnUiLAot
ICAgICAgICAgICAgZGF0ZVRpbWVGaWVsZHNTdGF0ZS55ZWFyKCksCi0gICAgICAgICAgICBkYXRl
VGltZUZpZWxkc1N0YXRlLm1vbnRoKCksCi0gICAgICAgICAgICBkYXRlVGltZUZpZWxkc1N0YXRl
LmRheU9mTW9udGgoKSwKLSAgICAgICAgICAgIGRhdGVUaW1lRmllbGRzU3RhdGUuaG91cjIzKCks
Ci0gICAgICAgICAgICBkYXRlVGltZUZpZWxkc1N0YXRlLm1pbnV0ZSgpLAotICAgICAgICAgICAg
ZGF0ZVRpbWVGaWVsZHNTdGF0ZS5zZWNvbmQoKSk7Ci0gICAgfQotCi0gICAgcmV0dXJuIFN0cmlu
Zzo6Zm9ybWF0KCIlMDR1LSUwMnUtJTAydVQlMDJ1OiUwMnUiLAotICAgICAgICBkYXRlVGltZUZp
ZWxkc1N0YXRlLnllYXIoKSwKLSAgICAgICAgZGF0ZVRpbWVGaWVsZHNTdGF0ZS5tb250aCgpLAot
ICAgICAgICBkYXRlVGltZUZpZWxkc1N0YXRlLmRheU9mTW9udGgoKSwKLSAgICAgICAgZGF0ZVRp
bWVGaWVsZHNTdGF0ZS5ob3VyMjMoKSwKLSAgICAgICAgZGF0ZVRpbWVGaWVsZHNTdGF0ZS5taW51
dGUoKSk7Ci19Ci0KLXZvaWQgRGF0ZVRpbWVMb2NhbElucHV0VHlwZTo6c2V0dXBMYXlvdXRQYXJh
bWV0ZXJzKERhdGVUaW1lRWRpdEVsZW1lbnQ6OkxheW91dFBhcmFtZXRlcnMmIGxheW91dFBhcmFt
ZXRlcnMsIGNvbnN0IERhdGVDb21wb25lbnRzJiBkYXRlKSBjb25zdAotewotICAgIGlmIChzaG91
bGRIYXZlU2Vjb25kRmllbGQoZGF0ZSkpIHsKLSAgICAgICAgbGF5b3V0UGFyYW1ldGVycy5kYXRl
VGltZUZvcm1hdCA9IGxheW91dFBhcmFtZXRlcnMubG9jYWxlLmRhdGVUaW1lRm9ybWF0V2l0aFNl
Y29uZHMoKTsKLSAgICAgICAgbGF5b3V0UGFyYW1ldGVycy5mYWxsYmFja0RhdGVUaW1lRm9ybWF0
ID0gInl5eXktTU0tZGQnVCdISDptbTpzcyI7Ci0gICAgfSBlbHNlIHsKLSAgICAgICAgbGF5b3V0
UGFyYW1ldGVycy5kYXRlVGltZUZvcm1hdCA9IGxheW91dFBhcmFtZXRlcnMubG9jYWxlLmRhdGVU
aW1lRm9ybWF0V2l0aG91dFNlY29uZHMoKTsKLSAgICAgICAgbGF5b3V0UGFyYW1ldGVycy5mYWxs
YmFja0RhdGVUaW1lRm9ybWF0ID0gInl5eXktTU0tZGQnVCdISDptbSI7Ci0gICAgfQotICAgIGlm
ICghcGFyc2VUb0RhdGVDb21wb25lbnRzKGVsZW1lbnQoKS0+ZmFzdEdldEF0dHJpYnV0ZShtaW5B
dHRyKSwgJmxheW91dFBhcmFtZXRlcnMubWluaW11bSkpCi0gICAgICAgIGxheW91dFBhcmFtZXRl
cnMubWluaW11bSA9IERhdGVDb21wb25lbnRzKCk7Ci0gICAgaWYgKCFwYXJzZVRvRGF0ZUNvbXBv
bmVudHMoZWxlbWVudCgpLT5mYXN0R2V0QXR0cmlidXRlKG1heEF0dHIpLCAmbGF5b3V0UGFyYW1l
dGVycy5tYXhpbXVtKSkKLSAgICAgICAgbGF5b3V0UGFyYW1ldGVycy5tYXhpbXVtID0gRGF0ZUNv
bXBvbmVudHMoKTsKLSAgICBsYXlvdXRQYXJhbWV0ZXJzLnBsYWNlaG9sZGVyRm9yRGF5ID0gcGxh
Y2Vob2xkZXJGb3JEYXlPZk1vbnRoRmllbGQoKTsKLSAgICBsYXlvdXRQYXJhbWV0ZXJzLnBsYWNl
aG9sZGVyRm9yTW9udGggPSBwbGFjZWhvbGRlckZvck1vbnRoRmllbGQoKTsKLSAgICBsYXlvdXRQ
YXJhbWV0ZXJzLnBsYWNlaG9sZGVyRm9yWWVhciA9IHBsYWNlaG9sZGVyRm9yWWVhckZpZWxkKCk7
Ci19Ci0KLWJvb2wgRGF0ZVRpbWVMb2NhbElucHV0VHlwZTo6aXNWYWxpZEZvcm1hdChib29sIGhh
c1llYXIsIGJvb2wgaGFzTW9udGgsIGJvb2wgaGFzV2VlaywgYm9vbCBoYXNEYXksIGJvb2wgaGFz
QU1QTSwgYm9vbCBoYXNIb3VyLCBib29sIGhhc01pbnV0ZSwgYm9vbCBoYXNTZWNvbmQpIGNvbnN0
Ci17Ci0gICAgcmV0dXJuIGhhc1llYXIgJiYgaGFzTW9udGggJiYgaGFzRGF5ICYmIGhhc0FNUE0g
JiYgaGFzSG91ciAmJiBoYXNNaW51dGU7Ci19Ci0jZW5kaWYKLQogfSAvLyBuYW1lc3BhY2UgV2Vi
Q29yZQogCiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvRGF0ZVRpbWVM
b2NhbElucHV0VHlwZS5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9EYXRlVGltZUxvY2FsSW5wdXRU
eXBlLmgKaW5kZXggYjE2YWJlODQyNzM4NGQ1MDBlOTA2MmVkM2RlMTkzMzFjYjRlZjJhYi4uYzZl
NGNiY2FjZjRlNTQ1ZjIwMTM1YWEwM2MxNmJhODU5YzIxYTg0OSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvaHRtbC9EYXRlVGltZUxvY2FsSW5wdXRUeXBlLmgKKysrIGIvU291cmNlL1dlYkNv
cmUvaHRtbC9EYXRlVGltZUxvY2FsSW5wdXRUeXBlLmgKQEAgLTMzLDE3ICszMywxMCBAQAogCiAj
aWYgRU5BQkxFKElOUFVUX1RZUEVfREFURVRJTUVMT0NBTCkKICNpbmNsdWRlICJCYXNlQ2hvb3Nl
ck9ubHlEYXRlQW5kVGltZUlucHV0VHlwZS5oIgotI2luY2x1ZGUgIkJhc2VNdWx0aXBsZUZpZWxk
c0RhdGVBbmRUaW1lSW5wdXRUeXBlLmgiCiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotI2lmIEVO
QUJMRShJTlBVVF9NVUxUSVBMRV9GSUVMRFNfVUkpCi10eXBlZGVmIEJhc2VNdWx0aXBsZUZpZWxk
c0RhdGVBbmRUaW1lSW5wdXRUeXBlIEJhc2VEYXRlVGltZUxvY2FsSW5wdXRUeXBlOwotI2Vsc2UK
LXR5cGVkZWYgQmFzZUNob29zZXJPbmx5RGF0ZUFuZFRpbWVJbnB1dFR5cGUgQmFzZURhdGVUaW1l
TG9jYWxJbnB1dFR5cGU7Ci0jZW5kaWYKLQotY2xhc3MgRGF0ZVRpbWVMb2NhbElucHV0VHlwZSA6
IHB1YmxpYyBCYXNlRGF0ZVRpbWVMb2NhbElucHV0VHlwZSB7CitjbGFzcyBEYXRlVGltZUxvY2Fs
SW5wdXRUeXBlIDogcHVibGljIEJhc2VDaG9vc2VyT25seURhdGVBbmRUaW1lSW5wdXRUeXBlIHsK
IHB1YmxpYzoKICAgICBzdGF0aWMgUGFzc093blB0cjxJbnB1dFR5cGU+IGNyZWF0ZShIVE1MSW5w
dXRFbGVtZW50Kik7CiAKQEAgLTU4LDEzICs1MSw2IEBAIHByaXZhdGU6CiAgICAgdmlydHVhbCBi
b29sIHBhcnNlVG9EYXRlQ29tcG9uZW50c0ludGVybmFsKGNvbnN0IFVDaGFyKiwgdW5zaWduZWQg
bGVuZ3RoLCBEYXRlQ29tcG9uZW50cyopIGNvbnN0IE9WRVJSSURFOwogICAgIHZpcnR1YWwgYm9v
bCBzZXRNaWxsaXNlY29uZFRvRGF0ZUNvbXBvbmVudHMoZG91YmxlLCBEYXRlQ29tcG9uZW50cyop
IGNvbnN0IE9WRVJSSURFOwogICAgIHZpcnR1YWwgYm9vbCBpc0RhdGVUaW1lTG9jYWxGaWVsZCgp
IGNvbnN0IE9WRVJSSURFOwotCi0jaWYgRU5BQkxFKElOUFVUX01VTFRJUExFX0ZJRUxEU19VSSkK
LSAgICAvLyBCYXNlTXVsdGlwbGVGaWVsZHNEYXRlQW5kVGltZUlucHV0VHlwZSBmdW5jdGlvbnMK
LSAgICB2aXJ0dWFsIFN0cmluZyBmb3JtYXREYXRlVGltZUZpZWxkc1N0YXRlKGNvbnN0IERhdGVU
aW1lRmllbGRzU3RhdGUmKSBjb25zdCBPVkVSUklERSBGSU5BTDsKLSAgICB2aXJ0dWFsIHZvaWQg
c2V0dXBMYXlvdXRQYXJhbWV0ZXJzKERhdGVUaW1lRWRpdEVsZW1lbnQ6OkxheW91dFBhcmFtZXRl
cnMmLCBjb25zdCBEYXRlQ29tcG9uZW50cyYpIGNvbnN0IE9WRVJSSURFIEZJTkFMOwotICAgIHZp
cnR1YWwgYm9vbCBpc1ZhbGlkRm9ybWF0KGJvb2wgaGFzWWVhciwgYm9vbCBoYXNNb250aCwgYm9v
bCBoYXNXZWVrLCBib29sIGhhc0RheSwgYm9vbCBoYXNBTVBNLCBib29sIGhhc0hvdXIsIGJvb2wg
aGFzTWludXRlLCBib29sIGhhc1NlY29uZCkgY29uc3Q7Ci0jZW5kaWYKIH07CiAKIH0gLy8gbmFt
ZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTElucHV0
RWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxJbnB1dEVsZW1lbnQuY3BwCmlu
ZGV4IDVjYmJmZmMwNjg4NTE1N2E0NDAyMDJkNzhlMTI2MGVlM2M3ZTAwM2QuLmM5MWM4ZGI2YTg4
YTNjNDgwZjA0ZTJkZTUxMzMxZWE4MzhmODU3ZTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2h0bWwvSFRNTElucHV0RWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1M
SW5wdXRFbGVtZW50LmNwcApAQCAtMTM5LDkgKzEzOSw2IEBAIEhUTUxJbnB1dEVsZW1lbnQ6OkhU
TUxJbnB1dEVsZW1lbnQoY29uc3QgUXVhbGlmaWVkTmFtZSYgdGFnTmFtZSwgRG9jdW1lbnQqIGRv
Y3VtCiAgICAgLCBtX2lucHV0VHlwZShJbnB1dFR5cGU6OmNyZWF0ZVRleHQodGhpcykpCiB7CiAg
ICAgQVNTRVJUKGhhc1RhZ05hbWUoaW5wdXRUYWcpIHx8IGhhc1RhZ05hbWUoaXNpbmRleFRhZykp
OwotI2lmIEVOQUJMRShJTlBVVF9NVUxUSVBMRV9GSUVMRFNfVUkpCi0gICAgc2V0SGFzQ3VzdG9t
U3R5bGVDYWxsYmFja3MoKTsKLSNlbmRpZgogfQogCiBQYXNzUmVmUHRyPEhUTUxJbnB1dEVsZW1l
bnQ+IEhUTUxJbnB1dEVsZW1lbnQ6OmNyZWF0ZShjb25zdCBRdWFsaWZpZWROYW1lJiB0YWdOYW1l
LCBEb2N1bWVudCogZG9jdW1lbnQsIEhUTUxGb3JtRWxlbWVudCogZm9ybSwgYm9vbCBjcmVhdGVk
QnlQYXJzZXIpCkBAIC0xOTY5LDExICsxOTY2LDQgQEAgYm9vbCBIVE1MSW5wdXRFbGVtZW50Ojpz
ZXR1cERhdGVUaW1lQ2hvb3NlclBhcmFtZXRlcnMoRGF0ZVRpbWVDaG9vc2VyUGFyYW1ldGVycyYK
IH0KICNlbmRpZgogCi0jaWYgRU5BQkxFKElOUFVUX01VTFRJUExFX0ZJRUxEU19VSSkKLVBhc3NS
ZWZQdHI8UmVuZGVyU3R5bGU+IEhUTUxJbnB1dEVsZW1lbnQ6OmN1c3RvbVN0eWxlRm9yUmVuZGVy
ZXIoKQotewotICAgIHJldHVybiBtX2lucHV0VHlwZS0+Y3VzdG9tU3R5bGVGb3JSZW5kZXJlcihk
b2N1bWVudCgpLT5lbnN1cmVTdHlsZVJlc29sdmVyKCktPnN0eWxlRm9yRWxlbWVudCh0aGlzKSk7
Ci19Ci0jZW5kaWYKLQogfSAvLyBuYW1lc3BhY2UKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2h0bWwvSFRNTElucHV0RWxlbWVudC5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MSW5wdXRF
bGVtZW50LmgKaW5kZXggZTQ2MjI4NmE5YjdiNzY5YzQzYjMzZDA4YWJmZWU1MGRkYmExZmJkNi4u
ODEwMWUzYmYzODUxYzIzMWU2OTI5MTgyYjVmMGZmM2NjOTk3MTM4MCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvaHRtbC9IVE1MSW5wdXRFbGVtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUv
aHRtbC9IVE1MSW5wdXRFbGVtZW50LmgKQEAgLTQwNCw5ICs0MDQsNiBAQCBwcml2YXRlOgogICAg
IENoZWNrZWRSYWRpb0J1dHRvbnMqIGNoZWNrZWRSYWRpb0J1dHRvbnMoKSBjb25zdDsKICAgICB2
b2lkIGFkZFRvUmFkaW9CdXR0b25Hcm91cCgpOwogICAgIHZvaWQgcmVtb3ZlRnJvbVJhZGlvQnV0
dG9uR3JvdXAoKTsKLSNpZiBFTkFCTEUoSU5QVVRfTVVMVElQTEVfRklFTERTX1VJKQotICAgIHZp
cnR1YWwgUGFzc1JlZlB0cjxSZW5kZXJTdHlsZT4gY3VzdG9tU3R5bGVGb3JSZW5kZXJlcigpIE9W
RVJSSURFOwotI2VuZGlmCiAKICAgICBBdG9taWNTdHJpbmcgbV9uYW1lOwogICAgIFN0cmluZyBt
X3ZhbHVlSWZEaXJ0eTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSW5wdXRUeXBl
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSW5wdXRUeXBlLmNwcAppbmRleCA0YTA0ZjFkMTE4
NTliZDVmOTQwMjBhZjg3NTg1ZDc5YmRmZDEwNjRiLi5kZTBhYTcxNTMwMDYyOTRiNWE2ZTI5OTNk
MTNjN2QyMmNkMmRiN2NlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0lucHV0VHlw
ZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9JbnB1dFR5cGUuY3BwCkBAIC00NjUsMTEg
KzQ2NSw2IEBAIFJlbmRlck9iamVjdCogSW5wdXRUeXBlOjpjcmVhdGVSZW5kZXJlcihSZW5kZXJB
cmVuYSosIFJlbmRlclN0eWxlKiBzdHlsZSkgY29uc3QKICAgICByZXR1cm4gUmVuZGVyT2JqZWN0
OjpjcmVhdGVPYmplY3QoZWxlbWVudCgpLCBzdHlsZSk7CiB9CiAKLVBhc3NSZWZQdHI8UmVuZGVy
U3R5bGU+IElucHV0VHlwZTo6Y3VzdG9tU3R5bGVGb3JSZW5kZXJlcihQYXNzUmVmUHRyPFJlbmRl
clN0eWxlPiBvcmlnaW5hbFN0eWxlKQotewotICAgIHJldHVybiBvcmlnaW5hbFN0eWxlOwotfQot
CiB2b2lkIElucHV0VHlwZTo6Ymx1cigpCiB7CiAgICAgZWxlbWVudCgpLT5kZWZhdWx0Qmx1cigp
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9JbnB1dFR5cGUuaCBiL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvSW5wdXRUeXBlLmgKaW5kZXggM2ZkNTMxZTBhZmVhMTQ0MDRmNmY4YmVmODE1
ZDk5MGRmMTM5ZDdkZi4uZDdiMjQ1YmUwM2E1YzhlZDNjNGE4MTlkNDZhNzVhZjQ4MzdjYmI1MyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9JbnB1dFR5cGUuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9odG1sL0lucHV0VHlwZS5oCkBAIC0yMzcsNyArMjM3LDYgQEAgcHVibGljOgogCiAg
ICAgdmlydHVhbCBib29sIHJlbmRlcmVySXNOZWVkZWQoKTsKICAgICB2aXJ0dWFsIFJlbmRlck9i
amVjdCogY3JlYXRlUmVuZGVyZXIoUmVuZGVyQXJlbmEqLCBSZW5kZXJTdHlsZSopIGNvbnN0Owot
ICAgIHZpcnR1YWwgUGFzc1JlZlB0cjxSZW5kZXJTdHlsZT4gY3VzdG9tU3R5bGVGb3JSZW5kZXJl
cihQYXNzUmVmUHRyPFJlbmRlclN0eWxlPik7CiAgICAgdmlydHVhbCB2b2lkIGFkZFNlYXJjaFJl
c3VsdCgpOwogICAgIHZpcnR1YWwgdm9pZCBhdHRhY2goKTsKICAgICB2aXJ0dWFsIHZvaWQgZGV0
YWNoKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL01vbnRoSW5wdXRUeXBlLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvTW9udGhJbnB1dFR5cGUuY3BwCmluZGV4IGRiODBjYmYz
N2I3Y2MzMTRmN2VkNzU5N2FjOTIzMjAzMzlmYjE3ZmIuLmFjYWEzMjlkZjY1MGNiOTBhYzBhNzk1
ZWM5N2ExYjk5YzFiMjJmMmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvTW9udGhJ
bnB1dFR5cGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvTW9udGhJbnB1dFR5cGUuY3Bw
CkBAIC00MSwxMyArNDEsNiBAQAogI2luY2x1ZGUgPHd0Zi9NYXRoRXh0cmFzLmg+CiAjaW5jbHVk
ZSA8d3RmL1Bhc3NPd25QdHIuaD4KIAotI2lmIEVOQUJMRShJTlBVVF9NVUxUSVBMRV9GSUVMRFNf
VUkpCi0jaW5jbHVkZSAiRGF0ZVRpbWVGaWVsZHNTdGF0ZS5oIgotI2luY2x1ZGUgIkxvY2FsaXpl
ZFN0cmluZ3MuaCIKLSNpbmNsdWRlICJQbGF0Zm9ybUxvY2FsZS5oIgotI2luY2x1ZGUgPHd0Zi90
ZXh0L1dURlN0cmluZy5oPgotI2VuZGlmCi0KIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogdXNpbmcg
bmFtZXNwYWNlIEhUTUxOYW1lczsKQEAgLTE0OCwzMSArMTQxLDYgQEAgYm9vbCBNb250aElucHV0
VHlwZTo6aXNNb250aEZpZWxkKCkgY29uc3QKICAgICByZXR1cm4gdHJ1ZTsKIH0KIAotI2lmIEVO
QUJMRShJTlBVVF9NVUxUSVBMRV9GSUVMRFNfVUkpCi1TdHJpbmcgTW9udGhJbnB1dFR5cGU6OmZv
cm1hdERhdGVUaW1lRmllbGRzU3RhdGUoY29uc3QgRGF0ZVRpbWVGaWVsZHNTdGF0ZSYgZGF0ZVRp
bWVGaWVsZHNTdGF0ZSkgY29uc3QKLXsKLSAgICBpZiAoIWRhdGVUaW1lRmllbGRzU3RhdGUuaGFz
TW9udGgoKSB8fCAhZGF0ZVRpbWVGaWVsZHNTdGF0ZS5oYXNZZWFyKCkpCi0gICAgICAgIHJldHVy
biBlbXB0eVN0cmluZygpOwotICAgIHJldHVybiBTdHJpbmc6OmZvcm1hdCgiJTA0dS0lMDJ1Iiwg
ZGF0ZVRpbWVGaWVsZHNTdGF0ZS55ZWFyKCksIGRhdGVUaW1lRmllbGRzU3RhdGUubW9udGgoKSk7
Ci19Ci0KLXZvaWQgTW9udGhJbnB1dFR5cGU6OnNldHVwTGF5b3V0UGFyYW1ldGVycyhEYXRlVGlt
ZUVkaXRFbGVtZW50OjpMYXlvdXRQYXJhbWV0ZXJzJiBsYXlvdXRQYXJhbWV0ZXJzLCBjb25zdCBE
YXRlQ29tcG9uZW50cyYgZGF0ZSkgY29uc3QKLXsKLSAgICBsYXlvdXRQYXJhbWV0ZXJzLmRhdGVU
aW1lRm9ybWF0ID0gbGF5b3V0UGFyYW1ldGVycy5sb2NhbGUubW9udGhGb3JtYXQoKTsKLSAgICBs
YXlvdXRQYXJhbWV0ZXJzLmZhbGxiYWNrRGF0ZVRpbWVGb3JtYXQgPSAieXl5eS1NTSI7Ci0gICAg
aWYgKCFwYXJzZVRvRGF0ZUNvbXBvbmVudHMoZWxlbWVudCgpLT5mYXN0R2V0QXR0cmlidXRlKG1p
bkF0dHIpLCAmbGF5b3V0UGFyYW1ldGVycy5taW5pbXVtKSkKLSAgICAgICAgbGF5b3V0UGFyYW1l
dGVycy5taW5pbXVtID0gRGF0ZUNvbXBvbmVudHMoKTsKLSAgICBpZiAoIXBhcnNlVG9EYXRlQ29t
cG9uZW50cyhlbGVtZW50KCktPmZhc3RHZXRBdHRyaWJ1dGUobWF4QXR0ciksICZsYXlvdXRQYXJh
bWV0ZXJzLm1heGltdW0pKQotICAgICAgICBsYXlvdXRQYXJhbWV0ZXJzLm1heGltdW0gPSBEYXRl
Q29tcG9uZW50cygpOwotICAgIGxheW91dFBhcmFtZXRlcnMucGxhY2Vob2xkZXJGb3JNb250aCA9
ICItLSI7Ci0gICAgbGF5b3V0UGFyYW1ldGVycy5wbGFjZWhvbGRlckZvclllYXIgPSAiLS0tLSI7
Ci19Ci0KLWJvb2wgTW9udGhJbnB1dFR5cGU6OmlzVmFsaWRGb3JtYXQoYm9vbCBoYXNZZWFyLCBi
b29sIGhhc01vbnRoLCBib29sIGhhc1dlZWssIGJvb2wgaGFzRGF5LCBib29sIGhhc0FNUE0sIGJv
b2wgaGFzSG91ciwgYm9vbCBoYXNNaW51dGUsIGJvb2wgaGFzU2Vjb25kKSBjb25zdAotewotICAg
IHJldHVybiBoYXNZZWFyICYmIGhhc01vbnRoOwotfQotI2VuZGlmCiB9IC8vIG5hbWVzcGFjZSBX
ZWJDb3JlCiAKICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9Nb250aElu
cHV0VHlwZS5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9Nb250aElucHV0VHlwZS5oCmluZGV4IDhm
YWU1YmJlN2IwNWI3ZWE1ZGZjYjhhNDM3NDU5MjJkOTY5YWEwYzAuLmVlNTI1OTVjNTIwMzE3ODU5
MTc2MTBiZDMwYTllNWRhN2E2ZThmM2EgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwv
TW9udGhJbnB1dFR5cGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL01vbnRoSW5wdXRUeXBl
LmgKQEAgLTMzLDE3ICszMywxMCBAQAogCiAjaWYgRU5BQkxFKElOUFVUX1RZUEVfTU9OVEgpCiAj
aW5jbHVkZSAiQmFzZUNob29zZXJPbmx5RGF0ZUFuZFRpbWVJbnB1dFR5cGUuaCIKLSNpbmNsdWRl
ICJCYXNlTXVsdGlwbGVGaWVsZHNEYXRlQW5kVGltZUlucHV0VHlwZS5oIgogCiBuYW1lc3BhY2Ug
V2ViQ29yZSB7CiAKLSNpZiBFTkFCTEUoSU5QVVRfTVVMVElQTEVfRklFTERTX1VJKQotdHlwZWRl
ZiBCYXNlTXVsdGlwbGVGaWVsZHNEYXRlQW5kVGltZUlucHV0VHlwZSBCYXNlTW9udGhJbnB1dFR5
cGU7Ci0jZWxzZQotdHlwZWRlZiBCYXNlQ2hvb3Nlck9ubHlEYXRlQW5kVGltZUlucHV0VHlwZSBC
YXNlTW9udGhJbnB1dFR5cGU7Ci0jZW5kaWYKLQotY2xhc3MgTW9udGhJbnB1dFR5cGUgOiBwdWJs
aWMgQmFzZU1vbnRoSW5wdXRUeXBlIHsKK2NsYXNzIE1vbnRoSW5wdXRUeXBlIDogcHVibGljIEJh
c2VDaG9vc2VyT25seURhdGVBbmRUaW1lSW5wdXRUeXBlIHsKIHB1YmxpYzoKICAgICBzdGF0aWMg
UGFzc093blB0cjxJbnB1dFR5cGU+IGNyZWF0ZShIVE1MSW5wdXRFbGVtZW50Kik7CiAKQEAgLTYw
LDEzICs1Myw2IEBAIHByaXZhdGU6CiAgICAgdmlydHVhbCBib29sIHBhcnNlVG9EYXRlQ29tcG9u
ZW50c0ludGVybmFsKGNvbnN0IFVDaGFyKiwgdW5zaWduZWQgbGVuZ3RoLCBEYXRlQ29tcG9uZW50
cyopIGNvbnN0IE9WRVJSSURFOwogICAgIHZpcnR1YWwgYm9vbCBzZXRNaWxsaXNlY29uZFRvRGF0
ZUNvbXBvbmVudHMoZG91YmxlLCBEYXRlQ29tcG9uZW50cyopIGNvbnN0IE9WRVJSSURFOwogICAg
IHZpcnR1YWwgYm9vbCBpc01vbnRoRmllbGQoKSBjb25zdCBPVkVSUklERTsKLQotI2lmIEVOQUJM
RShJTlBVVF9NVUxUSVBMRV9GSUVMRFNfVUkpCi0gICAgLy8gQmFzZU11bHRpcGxlRmllbGRzRGF0
ZUFuZFRpbWVJbnB1dFR5cGUgZnVuY3Rpb25zCi0gICAgdmlydHVhbCBTdHJpbmcgZm9ybWF0RGF0
ZVRpbWVGaWVsZHNTdGF0ZShjb25zdCBEYXRlVGltZUZpZWxkc1N0YXRlJikgY29uc3QgT1ZFUlJJ
REUgRklOQUw7Ci0gICAgdmlydHVhbCB2b2lkIHNldHVwTGF5b3V0UGFyYW1ldGVycyhEYXRlVGlt
ZUVkaXRFbGVtZW50OjpMYXlvdXRQYXJhbWV0ZXJzJiwgY29uc3QgRGF0ZUNvbXBvbmVudHMmKSBj
b25zdCBPVkVSUklERSBGSU5BTDsKLSAgICB2aXJ0dWFsIGJvb2wgaXNWYWxpZEZvcm1hdChib29s
IGhhc1llYXIsIGJvb2wgaGFzTW9udGgsIGJvb2wgaGFzV2VlaywgYm9vbCBoYXNEYXksIGJvb2wg
aGFzQU1QTSwgYm9vbCBoYXNIb3VyLCBib29sIGhhc01pbnV0ZSwgYm9vbCBoYXNTZWNvbmQpIGNv
bnN0OwotI2VuZGlmCiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9odG1sL1RpbWVJbnB1dFR5cGUuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRt
bC9UaW1lSW5wdXRUeXBlLmNwcAppbmRleCAyYjZiYmMwN2NkY2Y3ZGVkMjk1ZWE1NzU0MjI3ZTdh
N2YyYzE5NTIxLi43MWRiOGNhMTA5NzE0ZGNjZDZmZGQ0MzdjN2NmMTFmZDRkNjhlMWZhIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL1RpbWVJbnB1dFR5cGUuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvVGltZUlucHV0VHlwZS5jcHAKQEAgLTQxLDEyICs0MSw2IEBACiAjaW5j
bHVkZSA8d3RmL01hdGhFeHRyYXMuaD4KICNpbmNsdWRlIDx3dGYvUGFzc093blB0ci5oPgogCi0j
aWYgRU5BQkxFKElOUFVUX01VTFRJUExFX0ZJRUxEU19VSSkKLSNpbmNsdWRlICJEYXRlVGltZUZp
ZWxkc1N0YXRlLmgiCi0jaW5jbHVkZSAiUGxhdGZvcm1Mb2NhbGUuaCIKLSNpbmNsdWRlIDx3dGYv
dGV4dC9XVEZTdHJpbmcuaD4KLSNlbmRpZgotCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIHVzaW5n
IG5hbWVzcGFjZSBIVE1MTmFtZXM7CkBAIC0xMjQsNTkgKzExOCw2IEBAIGJvb2wgVGltZUlucHV0
VHlwZTo6aXNUaW1lRmllbGQoKSBjb25zdAogICAgIHJldHVybiB0cnVlOwogfQogCi0jaWYgRU5B
QkxFKElOUFVUX01VTFRJUExFX0ZJRUxEU19VSSkKLQotU3RyaW5nIFRpbWVJbnB1dFR5cGU6Omxv
Y2FsaXplVmFsdWUoY29uc3QgU3RyaW5nJiBwcm9wb3NlZFZhbHVlKSBjb25zdAotewotICAgIERh
dGVDb21wb25lbnRzIGRhdGU7Ci0gICAgaWYgKCFwYXJzZVRvRGF0ZUNvbXBvbmVudHMocHJvcG9z
ZWRWYWx1ZSwgJmRhdGUpKQotICAgICAgICByZXR1cm4gcHJvcG9zZWRWYWx1ZTsKLQotICAgIExv
Y2FsZTo6Rm9ybWF0VHlwZSBmb3JtYXRUeXBlID0gc2hvdWxkSGF2ZVNlY29uZEZpZWxkKGRhdGUp
ID8gTG9jYWxlOjpGb3JtYXRUeXBlTWVkaXVtIDogTG9jYWxlOjpGb3JtYXRUeXBlU2hvcnQ7Ci0K
LSAgICBTdHJpbmcgbG9jYWxpemVkID0gZWxlbWVudCgpLT5sb2NhbGUoKS5mb3JtYXREYXRlVGlt
ZShkYXRlLCBmb3JtYXRUeXBlKTsKLSAgICByZXR1cm4gbG9jYWxpemVkLmlzRW1wdHkoKSA/IHBy
b3Bvc2VkVmFsdWUgOiBsb2NhbGl6ZWQ7Ci19Ci0KLVN0cmluZyBUaW1lSW5wdXRUeXBlOjpmb3Jt
YXREYXRlVGltZUZpZWxkc1N0YXRlKGNvbnN0IERhdGVUaW1lRmllbGRzU3RhdGUmIGRhdGVUaW1l
RmllbGRzU3RhdGUpIGNvbnN0Ci17Ci0gICAgaWYgKCFkYXRlVGltZUZpZWxkc1N0YXRlLmhhc0hv
dXIoKSB8fCAhZGF0ZVRpbWVGaWVsZHNTdGF0ZS5oYXNNaW51dGUoKSB8fCAhZGF0ZVRpbWVGaWVs
ZHNTdGF0ZS5oYXNBTVBNKCkpCi0gICAgICAgIHJldHVybiBlbXB0eVN0cmluZygpOwotICAgIGlm
IChkYXRlVGltZUZpZWxkc1N0YXRlLmhhc01pbGxpc2Vjb25kKCkgJiYgZGF0ZVRpbWVGaWVsZHNT
dGF0ZS5taWxsaXNlY29uZCgpKQotICAgICAgICByZXR1cm4gU3RyaW5nOjpmb3JtYXQoIiUwMnU6
JTAydTolMDJ1LiUwM3UiLAotICAgICAgICAgICAgICAgIGRhdGVUaW1lRmllbGRzU3RhdGUuaG91
cjIzKCksCi0gICAgICAgICAgICAgICAgZGF0ZVRpbWVGaWVsZHNTdGF0ZS5taW51dGUoKSwKLSAg
ICAgICAgICAgICAgICBkYXRlVGltZUZpZWxkc1N0YXRlLmhhc1NlY29uZCgpID8gZGF0ZVRpbWVG
aWVsZHNTdGF0ZS5zZWNvbmQoKSA6IDAsCi0gICAgICAgICAgICAgICAgZGF0ZVRpbWVGaWVsZHNT
dGF0ZS5taWxsaXNlY29uZCgpKTsKLSAgICBpZiAoZGF0ZVRpbWVGaWVsZHNTdGF0ZS5oYXNTZWNv
bmQoKSAmJiBkYXRlVGltZUZpZWxkc1N0YXRlLnNlY29uZCgpKQotICAgICAgICByZXR1cm4gU3Ry
aW5nOjpmb3JtYXQoIiUwMnU6JTAydTolMDJ1IiwKLSAgICAgICAgICAgICAgICBkYXRlVGltZUZp
ZWxkc1N0YXRlLmhvdXIyMygpLAotICAgICAgICAgICAgICAgIGRhdGVUaW1lRmllbGRzU3RhdGUu
bWludXRlKCksCi0gICAgICAgICAgICAgICAgZGF0ZVRpbWVGaWVsZHNTdGF0ZS5zZWNvbmQoKSk7
Ci0gICAgcmV0dXJuIFN0cmluZzo6Zm9ybWF0KCIlMDJ1OiUwMnUiLCBkYXRlVGltZUZpZWxkc1N0
YXRlLmhvdXIyMygpLCBkYXRlVGltZUZpZWxkc1N0YXRlLm1pbnV0ZSgpKTsKLX0KLQotdm9pZCBU
aW1lSW5wdXRUeXBlOjpzZXR1cExheW91dFBhcmFtZXRlcnMoRGF0ZVRpbWVFZGl0RWxlbWVudDo6
TGF5b3V0UGFyYW1ldGVycyYgbGF5b3V0UGFyYW1ldGVycywgY29uc3QgRGF0ZUNvbXBvbmVudHMm
IGRhdGUpIGNvbnN0Ci17Ci0gICAgaWYgKHNob3VsZEhhdmVTZWNvbmRGaWVsZChkYXRlKSkgewot
ICAgICAgICBsYXlvdXRQYXJhbWV0ZXJzLmRhdGVUaW1lRm9ybWF0ID0gbGF5b3V0UGFyYW1ldGVy
cy5sb2NhbGUudGltZUZvcm1hdCgpOwotICAgICAgICBsYXlvdXRQYXJhbWV0ZXJzLmZhbGxiYWNr
RGF0ZVRpbWVGb3JtYXQgPSAiSEg6bW06c3MiOwotICAgIH0gZWxzZSB7Ci0gICAgICAgIGxheW91
dFBhcmFtZXRlcnMuZGF0ZVRpbWVGb3JtYXQgPSBsYXlvdXRQYXJhbWV0ZXJzLmxvY2FsZS5zaG9y
dFRpbWVGb3JtYXQoKTsKLSAgICAgICAgbGF5b3V0UGFyYW1ldGVycy5mYWxsYmFja0RhdGVUaW1l
Rm9ybWF0ID0gIkhIOm1tIjsKLSAgICB9Ci0gICAgaWYgKCFwYXJzZVRvRGF0ZUNvbXBvbmVudHMo
ZWxlbWVudCgpLT5mYXN0R2V0QXR0cmlidXRlKG1pbkF0dHIpLCAmbGF5b3V0UGFyYW1ldGVycy5t
aW5pbXVtKSkKLSAgICAgICAgbGF5b3V0UGFyYW1ldGVycy5taW5pbXVtID0gRGF0ZUNvbXBvbmVu
dHMoKTsKLSAgICBpZiAoIXBhcnNlVG9EYXRlQ29tcG9uZW50cyhlbGVtZW50KCktPmZhc3RHZXRB
dHRyaWJ1dGUobWF4QXR0ciksICZsYXlvdXRQYXJhbWV0ZXJzLm1heGltdW0pKQotICAgICAgICBs
YXlvdXRQYXJhbWV0ZXJzLm1heGltdW0gPSBEYXRlQ29tcG9uZW50cygpOwotfQotCi1ib29sIFRp
bWVJbnB1dFR5cGU6OmlzVmFsaWRGb3JtYXQoYm9vbCBoYXNZZWFyLCBib29sIGhhc01vbnRoLCBi
b29sIGhhc1dlZWssIGJvb2wgaGFzRGF5LCBib29sIGhhc0FNUE0sIGJvb2wgaGFzSG91ciwgYm9v
bCBoYXNNaW51dGUsIGJvb2wgaGFzU2Vjb25kKSBjb25zdAotewotICAgIHJldHVybiBoYXNIb3Vy
ICYmIGhhc01pbnV0ZSAmJiBoYXNBTVBNOwotfQotI2VuZGlmCi0KIH0gLy8gbmFtZXNwYWNlIFdl
YkNvcmUKIAogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL1RpbWVJbnB1
dFR5cGUuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvVGltZUlucHV0VHlwZS5oCmluZGV4IDE2ZjUx
OWU3ZDM5M2M3Mjk5NThjYzg0MTU3MDUyYmQ1ZGM5M2YyMWEuLjBiNTZkOTM1NzM3MTEwNDk1N2Rj
NGE5NmJhNjczYTFlNzFjNzE4NjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvVGlt
ZUlucHV0VHlwZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvVGltZUlucHV0VHlwZS5oCkBA
IC0zMywxNyArMzMsMTAgQEAKIAogI2lmIEVOQUJMRShJTlBVVF9UWVBFX1RJTUUpCiAjaW5jbHVk
ZSAiQmFzZUNob29zZXJPbmx5RGF0ZUFuZFRpbWVJbnB1dFR5cGUuaCIKLSNpbmNsdWRlICJCYXNl
TXVsdGlwbGVGaWVsZHNEYXRlQW5kVGltZUlucHV0VHlwZS5oIgogCiBuYW1lc3BhY2UgV2ViQ29y
ZSB7CiAKLSNpZiBFTkFCTEUoSU5QVVRfTVVMVElQTEVfRklFTERTX1VJKQotdHlwZWRlZiBCYXNl
TXVsdGlwbGVGaWVsZHNEYXRlQW5kVGltZUlucHV0VHlwZSBCYXNlVGltZUlucHV0VHlwZTsKLSNl
bHNlCi10eXBlZGVmIEJhc2VDaG9vc2VyT25seURhdGVBbmRUaW1lSW5wdXRUeXBlIEJhc2VUaW1l
SW5wdXRUeXBlOwotI2VuZGlmCi0KLWNsYXNzIFRpbWVJbnB1dFR5cGUgOiBwdWJsaWMgQmFzZVRp
bWVJbnB1dFR5cGUgeworY2xhc3MgVGltZUlucHV0VHlwZSA6IHB1YmxpYyBCYXNlQ2hvb3Nlck9u
bHlEYXRlQW5kVGltZUlucHV0VHlwZSB7CiBwdWJsaWM6CiAgICAgc3RhdGljIFBhc3NPd25QdHI8
SW5wdXRUeXBlPiBjcmVhdGUoSFRNTElucHV0RWxlbWVudCopOwogCkBAIC01NywxNCArNTAsNiBA
QCBwcml2YXRlOgogICAgIHZpcnR1YWwgYm9vbCBwYXJzZVRvRGF0ZUNvbXBvbmVudHNJbnRlcm5h
bChjb25zdCBVQ2hhciosIHVuc2lnbmVkIGxlbmd0aCwgRGF0ZUNvbXBvbmVudHMqKSBjb25zdCBP
VkVSUklERTsKICAgICB2aXJ0dWFsIGJvb2wgc2V0TWlsbGlzZWNvbmRUb0RhdGVDb21wb25lbnRz
KGRvdWJsZSwgRGF0ZUNvbXBvbmVudHMqKSBjb25zdCBPVkVSUklERTsKICAgICB2aXJ0dWFsIGJv
b2wgaXNUaW1lRmllbGQoKSBjb25zdCBPVkVSUklERTsKLSNpZiBFTkFCTEUoSU5QVVRfTVVMVElQ
TEVfRklFTERTX1VJKQotICAgIHZpcnR1YWwgU3RyaW5nIGxvY2FsaXplVmFsdWUoY29uc3QgU3Ry
aW5nJikgY29uc3QgT1ZFUlJJREU7Ci0KLSAgICAvLyBCYXNlTXVsdGlwbGVGaWVsZHNEYXRlQW5k
VGltZUlucHV0VHlwZSBmdW5jdGlvbnMKLSAgICB2aXJ0dWFsIFN0cmluZyBmb3JtYXREYXRlVGlt
ZUZpZWxkc1N0YXRlKGNvbnN0IERhdGVUaW1lRmllbGRzU3RhdGUmKSBjb25zdCBPVkVSUklERSBG
SU5BTDsKLSAgICB2aXJ0dWFsIHZvaWQgc2V0dXBMYXlvdXRQYXJhbWV0ZXJzKERhdGVUaW1lRWRp
dEVsZW1lbnQ6OkxheW91dFBhcmFtZXRlcnMmLCBjb25zdCBEYXRlQ29tcG9uZW50cyYpIGNvbnN0
IE9WRVJSSURFIEZJTkFMOwotICAgIHZpcnR1YWwgYm9vbCBpc1ZhbGlkRm9ybWF0KGJvb2wgaGFz
WWVhciwgYm9vbCBoYXNNb250aCwgYm9vbCBoYXNXZWVrLCBib29sIGhhc0RheSwgYm9vbCBoYXNB
TVBNLCBib29sIGhhc0hvdXIsIGJvb2wgaGFzTWludXRlLCBib29sIGhhc1NlY29uZCkgY29uc3Q7
Ci0jZW5kaWYKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvV2Vla0lucHV0VHlwZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL1dl
ZWtJbnB1dFR5cGUuY3BwCmluZGV4IGFkOGI4ZDUzZmI4ZmZlYjAwOGE5ZWZjMDM0MDA4MmU4Nzdj
MDc5ZGQuLmJmNDc5NTk1ODQ4ZjJjODNhZWQxZWQ1OGE4ZDViZWUyNmYwZmM5MDQgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvV2Vla0lucHV0VHlwZS5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvaHRtbC9XZWVrSW5wdXRUeXBlLmNwcApAQCAtMzgsMTIgKzM4LDYgQEAKICNpbmNsdWRl
ICJJbnB1dFR5cGVOYW1lcy5oIgogI2luY2x1ZGUgPHd0Zi9QYXNzT3duUHRyLmg+CiAKLSNpZiBF
TkFCTEUoSU5QVVRfTVVMVElQTEVfRklFTERTX1VJKQotI2luY2x1ZGUgIkRhdGVUaW1lRmllbGRz
U3RhdGUuaCIKLSNpbmNsdWRlICJMb2NhbGl6ZWRTdHJpbmdzLmgiCi0jaW5jbHVkZSA8d3RmL3Rl
eHQvV1RGU3RyaW5nLmg+Ci0jZW5kaWYKLQogbmFtZXNwYWNlIFdlYkNvcmUgewogCiB1c2luZyBu
YW1lc3BhY2UgSFRNTE5hbWVzOwpAQCAtMTAxLDMyICs5NSw2IEBAIGJvb2wgV2Vla0lucHV0VHlw
ZTo6aXNXZWVrRmllbGQoKSBjb25zdAogICAgIHJldHVybiB0cnVlOwogfQogCi0KLSNpZiBFTkFC
TEUoSU5QVVRfTVVMVElQTEVfRklFTERTX1VJKQotU3RyaW5nIFdlZWtJbnB1dFR5cGU6OmZvcm1h
dERhdGVUaW1lRmllbGRzU3RhdGUoY29uc3QgRGF0ZVRpbWVGaWVsZHNTdGF0ZSYgZGF0ZVRpbWVG
aWVsZHNTdGF0ZSkgY29uc3QKLXsKLSAgICBpZiAoIWRhdGVUaW1lRmllbGRzU3RhdGUuaGFzWWVh
cigpIHx8ICFkYXRlVGltZUZpZWxkc1N0YXRlLmhhc1dlZWtPZlllYXIoKSkKLSAgICAgICAgcmV0
dXJuIGVtcHR5U3RyaW5nKCk7Ci0gICAgcmV0dXJuIFN0cmluZzo6Zm9ybWF0KCIlMDR1LVclMDJ1
IiwgZGF0ZVRpbWVGaWVsZHNTdGF0ZS55ZWFyKCksIGRhdGVUaW1lRmllbGRzU3RhdGUud2Vla09m
WWVhcigpKTsKLX0KLQotdm9pZCBXZWVrSW5wdXRUeXBlOjpzZXR1cExheW91dFBhcmFtZXRlcnMo
RGF0ZVRpbWVFZGl0RWxlbWVudDo6TGF5b3V0UGFyYW1ldGVycyYgbGF5b3V0UGFyYW1ldGVycywg
Y29uc3QgRGF0ZUNvbXBvbmVudHMmKSBjb25zdAotewotICAgIGxheW91dFBhcmFtZXRlcnMuZGF0
ZVRpbWVGb3JtYXQgPSB3ZWVrRm9ybWF0SW5MRE1MKCk7Ci0gICAgbGF5b3V0UGFyYW1ldGVycy5m
YWxsYmFja0RhdGVUaW1lRm9ybWF0ID0gInl5eXktJ1cnd3ciOwotICAgIGlmICghcGFyc2VUb0Rh
dGVDb21wb25lbnRzKGVsZW1lbnQoKS0+ZmFzdEdldEF0dHJpYnV0ZShtaW5BdHRyKSwgJmxheW91
dFBhcmFtZXRlcnMubWluaW11bSkpCi0gICAgICAgIGxheW91dFBhcmFtZXRlcnMubWluaW11bSA9
IERhdGVDb21wb25lbnRzKCk7Ci0gICAgaWYgKCFwYXJzZVRvRGF0ZUNvbXBvbmVudHMoZWxlbWVu
dCgpLT5mYXN0R2V0QXR0cmlidXRlKG1heEF0dHIpLCAmbGF5b3V0UGFyYW1ldGVycy5tYXhpbXVt
KSkKLSAgICAgICAgbGF5b3V0UGFyYW1ldGVycy5tYXhpbXVtID0gRGF0ZUNvbXBvbmVudHMoKTsK
LSAgICBsYXlvdXRQYXJhbWV0ZXJzLnBsYWNlaG9sZGVyRm9yWWVhciA9ICItLS0tIjsKLX0KLQot
Ym9vbCBXZWVrSW5wdXRUeXBlOjppc1ZhbGlkRm9ybWF0KGJvb2wgaGFzWWVhciwgYm9vbCBoYXNN
b250aCwgYm9vbCBoYXNXZWVrLCBib29sIGhhc0RheSwgYm9vbCBoYXNBTVBNLCBib29sIGhhc0hv
dXIsIGJvb2wgaGFzTWludXRlLCBib29sIGhhc1NlY29uZCkgY29uc3QKLXsKLSAgICByZXR1cm4g
aGFzWWVhciAmJiBoYXNXZWVrOwotfQotI2VuZGlmCi0KIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUK
IAogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL1dlZWtJbnB1dFR5cGUu
aCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvV2Vla0lucHV0VHlwZS5oCmluZGV4IDg5ZTc0M2QyOGY2
OTc3MzhmODMxMWQzNzY0YmQxNGI5ZTg1MDMxOTAuLjk1NDUxOGQ2ZjZkMmQ1NDI4MTIxYzFmNjZj
MjQ4MTJhYTAyZDcyNjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvV2Vla0lucHV0
VHlwZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvV2Vla0lucHV0VHlwZS5oCkBAIC0zMywx
NyArMzMsMTAgQEAKIAogI2lmIEVOQUJMRShJTlBVVF9UWVBFX1dFRUspCiAjaW5jbHVkZSAiQmFz
ZUNob29zZXJPbmx5RGF0ZUFuZFRpbWVJbnB1dFR5cGUuaCIKLSNpbmNsdWRlICJCYXNlTXVsdGlw
bGVGaWVsZHNEYXRlQW5kVGltZUlucHV0VHlwZS5oIgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAK
LSNpZiBFTkFCTEUoSU5QVVRfTVVMVElQTEVfRklFTERTX1VJKQotdHlwZWRlZiBCYXNlTXVsdGlw
bGVGaWVsZHNEYXRlQW5kVGltZUlucHV0VHlwZSBCYXNlV2Vla0lucHV0VHlwZTsKLSNlbHNlCi10
eXBlZGVmIEJhc2VDaG9vc2VyT25seURhdGVBbmRUaW1lSW5wdXRUeXBlIEJhc2VXZWVrSW5wdXRU
eXBlOwotI2VuZGlmCi0KLWNsYXNzIFdlZWtJbnB1dFR5cGUgOiBwdWJsaWMgQmFzZVdlZWtJbnB1
dFR5cGUgeworY2xhc3MgV2Vla0lucHV0VHlwZSA6IHB1YmxpYyBCYXNlQ2hvb3Nlck9ubHlEYXRl
QW5kVGltZUlucHV0VHlwZSB7CiBwdWJsaWM6CiAgICAgc3RhdGljIFBhc3NPd25QdHI8SW5wdXRU
eXBlPiBjcmVhdGUoSFRNTElucHV0RWxlbWVudCopOwogCkBAIC01NiwxMyArNDksNiBAQCBwcml2
YXRlOgogICAgIHZpcnR1YWwgYm9vbCBwYXJzZVRvRGF0ZUNvbXBvbmVudHNJbnRlcm5hbChjb25z
dCBVQ2hhciosIHVuc2lnbmVkIGxlbmd0aCwgRGF0ZUNvbXBvbmVudHMqKSBjb25zdCBPVkVSUklE
RTsKICAgICB2aXJ0dWFsIGJvb2wgc2V0TWlsbGlzZWNvbmRUb0RhdGVDb21wb25lbnRzKGRvdWJs
ZSwgRGF0ZUNvbXBvbmVudHMqKSBjb25zdCBPVkVSUklERTsKICAgICB2aXJ0dWFsIGJvb2wgaXNX
ZWVrRmllbGQoKSBjb25zdCBPVkVSUklERTsKLQotI2lmIEVOQUJMRShJTlBVVF9NVUxUSVBMRV9G
SUVMRFNfVUkpCi0gICAgLy8gQmFzZU11bHRpcGxlRmllbGRzRGF0ZUFuZFRpbWVJbnB1dFR5cGUg
ZnVuY3Rpb25zCi0gICAgdmlydHVhbCBTdHJpbmcgZm9ybWF0RGF0ZVRpbWVGaWVsZHNTdGF0ZShj
b25zdCBEYXRlVGltZUZpZWxkc1N0YXRlJikgY29uc3QgT1ZFUlJJREUgRklOQUw7Ci0gICAgdmly
dHVhbCB2b2lkIHNldHVwTGF5b3V0UGFyYW1ldGVycyhEYXRlVGltZUVkaXRFbGVtZW50OjpMYXlv
dXRQYXJhbWV0ZXJzJiwgY29uc3QgRGF0ZUNvbXBvbmVudHMmKSBjb25zdCBPVkVSUklERSBGSU5B
TDsKLSAgICB2aXJ0dWFsIGJvb2wgaXNWYWxpZEZvcm1hdChib29sIGhhc1llYXIsIGJvb2wgaGFz
TW9udGgsIGJvb2wgaGFzV2VlaywgYm9vbCBoYXNEYXksIGJvb2wgaGFzQU1QTSwgYm9vbCBoYXNI
b3VyLCBib29sIGhhc01pbnV0ZSwgYm9vbCBoYXNTZWNvbmQpIGNvbnN0OwotI2VuZGlmCiB9Owog
CiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1s
L3NoYWRvdy9DbGVhckJ1dHRvbkVsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFk
b3cvQ2xlYXJCdXR0b25FbGVtZW50LmNwcApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
YjkxZGFhOGIzNWYyOTNiZDU5Y2M0MjAyNzQ3OWE5M2IwMWZlODlhOS4uMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRv
dy9DbGVhckJ1dHRvbkVsZW1lbnQuY3BwCisrKyAvZGV2L251bGwKQEAgLTEsMTEyICswLDAgQEAK
LS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTMgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZl
ZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZv
cm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92
aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotICogYXJlIG1ldDoKLSAqIDEuICBS
ZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHly
aWdodAotICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lci4KLSAqIDIuICBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0g
bXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSAq
ICAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0
aGUgZGlzdHJpYnV0aW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQ
TEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycgQU5ECi0gKiBBTlkgRVhQUkVT
UyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBU
SEUKLSAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1Mg
Rk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFCi0gKiBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQg
U0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQotICogRk9SIEFO
WSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENP
TlNFUVVFTlRJQUwKLSAqIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQ
Uk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SCi0gKiBTRVJWSUNFUzsgTE9TUyBPRiBV
U0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUgot
ICogQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05U
UkFDVCwgU1RSSUNUCi0gKiBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNF
IE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZCi0gKiBPVVQgT0YgVEhFIFVTRSBPRiBU
SElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GCi0gKiBT
VUNIIERBTUFHRS4KLSAqLwotCi0jaW5jbHVkZSAiY29uZmlnLmgiCi0jaW5jbHVkZSAiQ2xlYXJC
dXR0b25FbGVtZW50LmgiCi0KLSNpbmNsdWRlICJFdmVudEhhbmRsZXIuaCIKLSNpbmNsdWRlICJG
cmFtZS5oIgotI2luY2x1ZGUgIk1vdXNlRXZlbnQuaCIKLSNpbmNsdWRlICJSZW5kZXJWaWV3Lmgi
Ci0KLW5hbWVzcGFjZSBXZWJDb3JlIHsKLQotdXNpbmcgbmFtZXNwYWNlIEhUTUxOYW1lczsKLQot
aW5saW5lIENsZWFyQnV0dG9uRWxlbWVudDo6Q2xlYXJCdXR0b25FbGVtZW50KERvY3VtZW50KiBk
b2N1bWVudCwgQ2xlYXJCdXR0b25Pd25lciYgY2xlYXJCdXR0b25Pd25lcikKLSAgICA6IEhUTUxE
aXZFbGVtZW50KGRpdlRhZywgZG9jdW1lbnQpCi0gICAgLCBtX2NsZWFyQnV0dG9uT3duZXIoJmNs
ZWFyQnV0dG9uT3duZXIpCi0gICAgLCBtX2NhcHR1cmluZyhmYWxzZSkKLXsKLSAgICBzZXRQc2V1
ZG8oQXRvbWljU3RyaW5nKCItd2Via2l0LWNsZWFyLWJ1dHRvbiIsIEF0b21pY1N0cmluZzo6Q29u
c3RydWN0RnJvbUxpdGVyYWwpKTsKLX0KLQotUGFzc1JlZlB0cjxDbGVhckJ1dHRvbkVsZW1lbnQ+
IENsZWFyQnV0dG9uRWxlbWVudDo6Y3JlYXRlKERvY3VtZW50KiBkb2N1bWVudCwgQ2xlYXJCdXR0
b25Pd25lciYgY2xlYXJCdXR0b25Pd25lcikKLXsKLSAgICByZXR1cm4gYWRvcHRSZWYobmV3IENs
ZWFyQnV0dG9uRWxlbWVudChkb2N1bWVudCwgY2xlYXJCdXR0b25Pd25lcikpOwotfQotCi12b2lk
IENsZWFyQnV0dG9uRWxlbWVudDo6ZGV0YWNoKCkKLXsKLSAgICBpZiAobV9jYXB0dXJpbmcpIHsK
LSAgICAgICAgaWYgKEZyYW1lKiBmcmFtZSA9IGRvY3VtZW50KCktPmZyYW1lKCkpCi0gICAgICAg
ICAgICBmcmFtZS0+ZXZlbnRIYW5kbGVyKCktPnNldENhcHR1cmluZ01vdXNlRXZlbnRzTm9kZSgw
KTsKLSAgICB9Ci0gICAgSFRNTERpdkVsZW1lbnQ6OmRldGFjaCgpOwotfQotCi12b2lkIENsZWFy
QnV0dG9uRWxlbWVudDo6cmVsZWFzZUNhcHR1cmUoKQotewotICAgIGlmICghbV9jYXB0dXJpbmcp
Ci0gICAgICAgIHJldHVybjsKLQotICAgIGlmIChGcmFtZSogZnJhbWUgPSBkb2N1bWVudCgpLT5m
cmFtZSgpKSB7Ci0gICAgICAgIGZyYW1lLT5ldmVudEhhbmRsZXIoKS0+c2V0Q2FwdHVyaW5nTW91
c2VFdmVudHNOb2RlKDApOwotICAgICAgICBtX2NhcHR1cmluZyA9IGZhbHNlOwotICAgIH0KLX0K
LQotdm9pZCBDbGVhckJ1dHRvbkVsZW1lbnQ6OmRlZmF1bHRFdmVudEhhbmRsZXIoRXZlbnQqIGV2
ZW50KQotewotICAgIGlmICghbV9jbGVhckJ1dHRvbk93bmVyKSB7Ci0gICAgICAgIGlmICghZXZl
bnQtPmRlZmF1bHRIYW5kbGVkKCkpCi0gICAgICAgICAgICBIVE1MRGl2RWxlbWVudDo6ZGVmYXVs
dEV2ZW50SGFuZGxlcihldmVudCk7Ci0gICAgICAgIHJldHVybjsKLSAgICB9Ci0KLSAgICBpZiAo
IW1fY2xlYXJCdXR0b25Pd25lci0+c2hvdWxkQ2xlYXJCdXR0b25SZXNwb25kVG9Nb3VzZUV2ZW50
cygpKSB7Ci0gICAgICAgIGlmICghZXZlbnQtPmRlZmF1bHRIYW5kbGVkKCkpCi0gICAgICAgICAg
ICBIVE1MRGl2RWxlbWVudDo6ZGVmYXVsdEV2ZW50SGFuZGxlcihldmVudCk7Ci0gICAgICAgIHJl
dHVybjsKLSAgICB9Ci0KLSAgICBpZiAoZXZlbnQtPnR5cGUoKSA9PSBldmVudE5hbWVzKCkubW91
c2Vkb3duRXZlbnQgJiYgZXZlbnQtPmlzTW91c2VFdmVudCgpICYmIHN0YXRpY19jYXN0PE1vdXNl
RXZlbnQqPihldmVudCktPmJ1dHRvbigpID09IExlZnRCdXR0b24pIHsKLSAgICAgICAgaWYgKHJl
bmRlcmVyKCkgJiYgcmVuZGVyZXIoKS0+dmlzaWJsZVRvSGl0VGVzdGluZygpKSB7Ci0gICAgICAg
ICAgICBpZiAoRnJhbWUqIGZyYW1lID0gZG9jdW1lbnQoKS0+ZnJhbWUoKSkgewotICAgICAgICAg
ICAgICAgIGZyYW1lLT5ldmVudEhhbmRsZXIoKS0+c2V0Q2FwdHVyaW5nTW91c2VFdmVudHNOb2Rl
KHRoaXMpOwotICAgICAgICAgICAgICAgIG1fY2FwdHVyaW5nID0gdHJ1ZTsKLSAgICAgICAgICAg
IH0KLSAgICAgICAgfQotICAgICAgICBtX2NsZWFyQnV0dG9uT3duZXItPmZvY3VzQW5kU2VsZWN0
Q2xlYXJCdXR0b25Pd25lcigpOwotICAgICAgICBldmVudC0+c2V0RGVmYXVsdEhhbmRsZWQoKTsK
LSAgICB9Ci0gICAgaWYgKGV2ZW50LT50eXBlKCkgPT0gZXZlbnROYW1lcygpLm1vdXNldXBFdmVu
dCAmJiBldmVudC0+aXNNb3VzZUV2ZW50KCkgJiYgc3RhdGljX2Nhc3Q8TW91c2VFdmVudCo+KGV2
ZW50KS0+YnV0dG9uKCkgPT0gTGVmdEJ1dHRvbikgewotICAgICAgICBpZiAobV9jYXB0dXJpbmcp
IHsKLSAgICAgICAgICAgIGlmIChGcmFtZSogZnJhbWUgPSBkb2N1bWVudCgpLT5mcmFtZSgpKSB7
Ci0gICAgICAgICAgICAgICAgZnJhbWUtPmV2ZW50SGFuZGxlcigpLT5zZXRDYXB0dXJpbmdNb3Vz
ZUV2ZW50c05vZGUoMCk7Ci0gICAgICAgICAgICAgICAgbV9jYXB0dXJpbmcgPSBmYWxzZTsKLSAg
ICAgICAgICAgIH0KLSAgICAgICAgICAgIGlmIChob3ZlcmVkKCkpIHsKLSAgICAgICAgICAgICAg
ICBtX2NsZWFyQnV0dG9uT3duZXItPmNsZWFyVmFsdWUoKTsKLSAgICAgICAgICAgICAgICBldmVu
dC0+c2V0RGVmYXVsdEhhbmRsZWQoKTsKLSAgICAgICAgICAgIH0KLSAgICAgICAgfQotICAgIH0K
LQotICAgIGlmICghZXZlbnQtPmRlZmF1bHRIYW5kbGVkKCkpCi0gICAgICAgIEhUTUxEaXZFbGVt
ZW50OjpkZWZhdWx0RXZlbnRIYW5kbGVyKGV2ZW50KTsKLX0KLQotfQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvQ2xlYXJCdXR0b25FbGVtZW50LmggYi9Tb3VyY2UvV2Vi
Q29yZS9odG1sL3NoYWRvdy9DbGVhckJ1dHRvbkVsZW1lbnQuaApkZWxldGVkIGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMGY5NDBhNTk4NjI5ZWRmMTZlZTQ5MDMzZTQyOTFkYjJjZTU4YmQyMy4uMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9odG1sL3NoYWRvdy9DbGVhckJ1dHRvbkVsZW1lbnQuaAorKysgL2Rldi9udWxsCkBAIC0xLDYw
ICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTMgR29vZ2xlIEluYy4gQWxsIHJpZ2h0
cyByZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQg
YmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1p
dHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotICogYXJlIG1ldDoK
LSAqIDEuICBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFi
b3ZlIGNvcHlyaWdodAotICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqIDIuICBSZWRpc3RyaWJ1dGlvbnMgaW4gYmlu
YXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgIG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBp
biB0aGUKLSAqICAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlk
ZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklE
RUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycgQU5ECi0gKiBB
TlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLCBUSEUKLSAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5E
IEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFCi0gKiBBUkUgRElTQ0xBSU1FRC4gSU4g
Tk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQot
ICogRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExB
UlksIE9SIENPTlNFUVVFTlRJQUwKLSAqIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SCi0gKiBTRVJWSUNFUzsg
TE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikg
SE9XRVZFUgotICogQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhF
UiBJTiBDT05UUkFDVCwgU1RSSUNUCi0gKiBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBO
RUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZCi0gKiBPVVQgT0YgVEhF
IFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZ
IE9GCi0gKiBTVUNIIERBTUFHRS4KLSAqLwotCi0jaWZuZGVmIENsZWFyQnV0dG9uRWxlbWVudF9o
Ci0jZGVmaW5lIENsZWFyQnV0dG9uRWxlbWVudF9oCi0KLSNpbmNsdWRlICJIVE1MRGl2RWxlbWVu
dC5oIgotI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+Ci0KLW5hbWVzcGFjZSBXZWJDb3JlIHsKLQot
Y2xhc3MgQ2xlYXJCdXR0b25FbGVtZW50IEZJTkFMIDogcHVibGljIEhUTUxEaXZFbGVtZW50IHsK
LXB1YmxpYzoKLSAgICBjbGFzcyBDbGVhckJ1dHRvbk93bmVyIHsKLSAgICBwdWJsaWM6Ci0gICAg
ICAgIHZpcnR1YWwgfkNsZWFyQnV0dG9uT3duZXIoKSB7IH0KLSAgICAgICAgdmlydHVhbCB2b2lk
IGZvY3VzQW5kU2VsZWN0Q2xlYXJCdXR0b25Pd25lcigpID0gMDsKLSAgICAgICAgdmlydHVhbCBi
b29sIHNob3VsZENsZWFyQnV0dG9uUmVzcG9uZFRvTW91c2VFdmVudHMoKSA9IDA7Ci0gICAgICAg
IHZpcnR1YWwgdm9pZCBjbGVhclZhbHVlKCkgPSAwOwotICAgIH07Ci0KLSAgICBzdGF0aWMgUGFz
c1JlZlB0cjxDbGVhckJ1dHRvbkVsZW1lbnQ+IGNyZWF0ZShEb2N1bWVudCosIENsZWFyQnV0dG9u
T3duZXImKTsKLSAgICB2b2lkIHJlbGVhc2VDYXB0dXJlKCk7Ci0gICAgdm9pZCByZW1vdmVDbGVh
ckJ1dHRvbk93bmVyKCkgeyBtX2NsZWFyQnV0dG9uT3duZXIgPSAwOyB9Ci0KLXByaXZhdGU6Ci0g
ICAgQ2xlYXJCdXR0b25FbGVtZW50KERvY3VtZW50KiwgQ2xlYXJCdXR0b25Pd25lciYpOwotICAg
IHZpcnR1YWwgdm9pZCBkZXRhY2goKTsKLSAgICB2aXJ0dWFsIGJvb2wgaXNNb3VzZUZvY3VzYWJs
ZSgpIGNvbnN0IE9WRVJSSURFIHsgcmV0dXJuIGZhbHNlOyB9Ci0gICAgdmlydHVhbCB2b2lkIGRl
ZmF1bHRFdmVudEhhbmRsZXIoRXZlbnQqKTsKLQotICAgIENsZWFyQnV0dG9uT3duZXIqIG1fY2xl
YXJCdXR0b25Pd25lcjsKLSAgICBib29sIG1fY2FwdHVyaW5nOwotfTsKLQotfSAvLyBuYW1lc3Bh
Y2UKLQotI2VuZGlmIC8vIENsZWFyQnV0dG9uRWxlbWVudF9oCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9odG1sL3NoYWRvdy9EYXRlVGltZUVkaXRFbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJD
b3JlL2h0bWwvc2hhZG93L0RhdGVUaW1lRWRpdEVsZW1lbnQuY3BwCmRlbGV0ZWQgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCA2YjJmMDgyYzRlMzU0ZTg2YWI0NzUzMWZkNDI5NTY0ZTJlMGM5NjFjLi4w
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1NvdXJjZS9XZWJD
b3JlL2h0bWwvc2hhZG93L0RhdGVUaW1lRWRpdEVsZW1lbnQuY3BwCisrKyAvZGV2L251bGwKQEAg
LTEsNzk4ICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTIgR29vZ2xlIEluYy4gQWxs
IHJpZ2h0cyByZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJj
ZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJl
IHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotICogYXJl
IG1ldDoKLSAqIDEuICBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4g
dGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqIDIuICBSZWRpc3RyaWJ1dGlvbnMg
aW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAg
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lciBpbiB0aGUKLSAqICAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMg
cHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMg
UFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycgQU5E
Ci0gKiBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5P
VCBMSU1JVEVEIFRPLCBUSEUKLSAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJ
VFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFCi0gKiBBUkUgRElTQ0xBSU1F
RC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTIEJFIExJ
QUJMRQotICogRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBF
WEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwKLSAqIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5P
VCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SCi0gKiBTRVJW
SUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQ
VElPTikgSE9XRVZFUgotICogQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwg
V0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUCi0gKiBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xV
RElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZCi0gKiBPVVQg
T0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJ
QklMSVRZIE9GCi0gKiBTVUNIIERBTUFHRS4KLSAqLwotCi0jaW5jbHVkZSAiY29uZmlnLmgiCi0j
aWYgRU5BQkxFKElOUFVUX01VTFRJUExFX0ZJRUxEU19VSSkKLSNpbmNsdWRlICJEYXRlVGltZUVk
aXRFbGVtZW50LmgiCi0KLSNpbmNsdWRlICJEYXRlQ29tcG9uZW50cy5oIgotI2luY2x1ZGUgIkRh
dGVUaW1lRmllbGRFbGVtZW50cy5oIgotI2luY2x1ZGUgIkRhdGVUaW1lRmllbGRzU3RhdGUuaCIK
LSNpbmNsdWRlICJEYXRlVGltZUZvcm1hdC5oIgotI2luY2x1ZGUgIkRhdGVUaW1lU3ltYm9saWNG
aWVsZEVsZW1lbnQuaCIKLSNpbmNsdWRlICJFdmVudEhhbmRsZXIuaCIKLSNpbmNsdWRlICJGb250
Q2FjaGUuaCIKLSNpbmNsdWRlICJIVE1MTmFtZXMuaCIKLSNpbmNsdWRlICJLZXlib2FyZEV2ZW50
LmgiCi0jaW5jbHVkZSAiTW91c2VFdmVudC5oIgotI2luY2x1ZGUgIlBsYXRmb3JtTG9jYWxlLmgi
Ci0jaW5jbHVkZSAiUmVuZGVyU3R5bGUuaCIKLSNpbmNsdWRlICJTdHlsZVJlc29sdmVyLmgiCi0j
aW5jbHVkZSAiVGV4dC5oIgotI2luY2x1ZGUgPHd0Zi9EYXRlTWF0aC5oPgotI2luY2x1ZGUgPHd0
Zi90ZXh0L1N0cmluZ0J1aWxkZXIuaD4KLQotbmFtZXNwYWNlIFdlYkNvcmUgewotCi11c2luZyBu
YW1lc3BhY2UgSFRNTE5hbWVzOwotdXNpbmcgbmFtZXNwYWNlIFdURjo6VW5pY29kZTsKLQotY2xh
c3MgRGF0ZVRpbWVFZGl0QnVpbGRlciA6IHByaXZhdGUgRGF0ZVRpbWVGb3JtYXQ6OlRva2VuSGFu
ZGxlciB7Ci0gICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoRGF0ZVRpbWVFZGl0QnVpbGRlcik7Ci0K
LXB1YmxpYzoKLSAgICAvLyBUaGUgYXJndW1lbnQgb2JqZWN0cyBtdXN0IGJlIGFsaXZlIHVudGls
IHRoaXMgb2JqZWN0IGRpZXMuCi0gICAgRGF0ZVRpbWVFZGl0QnVpbGRlcihEYXRlVGltZUVkaXRF
bGVtZW50JiwgY29uc3QgRGF0ZVRpbWVFZGl0RWxlbWVudDo6TGF5b3V0UGFyYW1ldGVycyYsIGNv
bnN0IERhdGVDb21wb25lbnRzJik7Ci0KLSAgICBib29sIGJ1aWxkKGNvbnN0IFN0cmluZyYpOwot
Ci1wcml2YXRlOgotICAgIGJvb2wgbmVlZE1pbGxpc2Vjb25kRmllbGQoKSBjb25zdDsKLSAgICBi
b29sIHNob3VsZEFNUE1GaWVsZERpc2FibGVkKCkgY29uc3Q7Ci0gICAgYm9vbCBzaG91bGREYXlP
Zk1vbnRoRmllbGREaXNhYmxlZCgpIGNvbnN0OwotICAgIGJvb2wgc2hvdWxkSG91ckZpZWxkRGlz
YWJsZWQoKSBjb25zdDsKLSAgICBib29sIHNob3VsZE1pbGxpc2Vjb25kRmllbGREaXNhYmxlZCgp
IGNvbnN0OwotICAgIGJvb2wgc2hvdWxkTWludXRlRmllbGREaXNhYmxlZCgpIGNvbnN0OwotICAg
IGJvb2wgc2hvdWxkU2Vjb25kRmllbGREaXNhYmxlZCgpIGNvbnN0OwotICAgIGJvb2wgc2hvdWxk
WWVhckZpZWxkRGlzYWJsZWQoKSBjb25zdDsKLSAgICBpbmxpbmUgY29uc3QgU3RlcFJhbmdlJiBz
dGVwUmFuZ2UoKSBjb25zdCB7IHJldHVybiBtX3BhcmFtZXRlcnMuc3RlcFJhbmdlOyB9Ci0gICAg
RGF0ZVRpbWVOdW1lcmljRmllbGRFbGVtZW50OjpTdGVwIGNyZWF0ZVN0ZXAoZG91YmxlIG1zUGVy
RmllbGRVbml0LCBkb3VibGUgbXNQZXJGaWVsZFNpemUpIGNvbnN0OwotCi0gICAgLy8gRGF0ZVRp
bWVGb3JtYXQ6OlRva2VuSGFuZGxlciBmdW5jdGlvbnMuCi0gICAgdmlydHVhbCB2b2lkIHZpc2l0
RmllbGQoRGF0ZVRpbWVGb3JtYXQ6OkZpZWxkVHlwZSwgaW50KSBPVkVSUklERSBGSU5BTDsKLSAg
ICB2aXJ0dWFsIHZvaWQgdmlzaXRMaXRlcmFsKGNvbnN0IFN0cmluZyYpIE9WRVJSSURFIEZJTkFM
OwotCi0gICAgRGF0ZVRpbWVFZGl0RWxlbWVudCYgbV9lZGl0RWxlbWVudDsKLSAgICBjb25zdCBE
YXRlQ29tcG9uZW50cyBtX2RhdGVWYWx1ZTsKLSAgICBjb25zdCBEYXRlVGltZUVkaXRFbGVtZW50
OjpMYXlvdXRQYXJhbWV0ZXJzJiBtX3BhcmFtZXRlcnM7Ci0gICAgRGF0ZVRpbWVOdW1lcmljRmll
bGRFbGVtZW50OjpSYW5nZSBtX2RheVJhbmdlOwotICAgIERhdGVUaW1lTnVtZXJpY0ZpZWxkRWxl
bWVudDo6UmFuZ2UgbV9ob3VyMjNSYW5nZTsKLSAgICBEYXRlVGltZU51bWVyaWNGaWVsZEVsZW1l
bnQ6OlJhbmdlIG1fbWludXRlUmFuZ2U7Ci0gICAgRGF0ZVRpbWVOdW1lcmljRmllbGRFbGVtZW50
OjpSYW5nZSBtX3NlY29uZFJhbmdlOwotICAgIERhdGVUaW1lTnVtZXJpY0ZpZWxkRWxlbWVudDo6
UmFuZ2UgbV9taWxsaXNlY29uZFJhbmdlOwotfTsKLQotRGF0ZVRpbWVFZGl0QnVpbGRlcjo6RGF0
ZVRpbWVFZGl0QnVpbGRlcihEYXRlVGltZUVkaXRFbGVtZW50JiBlbGVtbnQsIGNvbnN0IERhdGVU
aW1lRWRpdEVsZW1lbnQ6OkxheW91dFBhcmFtZXRlcnMmIGxheW91dFBhcmFtZXRlcnMsIGNvbnN0
IERhdGVDb21wb25lbnRzJiBkYXRlVmFsdWUpCi0gICAgOiBtX2VkaXRFbGVtZW50KGVsZW1udCkK
LSAgICAsIG1fZGF0ZVZhbHVlKGRhdGVWYWx1ZSkKLSAgICAsIG1fcGFyYW1ldGVycyhsYXlvdXRQ
YXJhbWV0ZXJzKQotICAgICwgbV9kYXlSYW5nZSgxLCAzMSkKLSAgICAsIG1faG91cjIzUmFuZ2Uo
MCwgMjMpCi0gICAgLCBtX21pbnV0ZVJhbmdlKDAsIDU5KQotICAgICwgbV9zZWNvbmRSYW5nZSgw
LCA1OSkKLSAgICAsIG1fbWlsbGlzZWNvbmRSYW5nZSgwLCA5OTkpCi17Ci0gICAgaWYgKG1fZGF0
ZVZhbHVlLnR5cGUoKSA9PSBEYXRlQ29tcG9uZW50czo6RGF0ZQotICAgICAgICB8fCBtX2RhdGVW
YWx1ZS50eXBlKCkgPT0gRGF0ZUNvbXBvbmVudHM6OkRhdGVUaW1lTG9jYWwKLSAgICAgICAgfHwg
bV9kYXRlVmFsdWUudHlwZSgpID09IERhdGVDb21wb25lbnRzOjpEYXRlVGltZSkgewotICAgICAg
ICBpZiAobV9wYXJhbWV0ZXJzLm1pbmltdW0udHlwZSgpICE9IERhdGVDb21wb25lbnRzOjpJbnZh
bGlkCi0gICAgICAgICAgICAmJiBtX3BhcmFtZXRlcnMubWF4aW11bS50eXBlKCkgIT0gRGF0ZUNv
bXBvbmVudHM6OkludmFsaWQKLSAgICAgICAgICAgICYmIG1fcGFyYW1ldGVycy5taW5pbXVtLmZ1
bGxZZWFyKCkgPT0gbV9wYXJhbWV0ZXJzLm1heGltdW0uZnVsbFllYXIoKQotICAgICAgICAgICAg
JiYgbV9wYXJhbWV0ZXJzLm1pbmltdW0ubW9udGgoKSA9PSBtX3BhcmFtZXRlcnMubWF4aW11bS5t
b250aCgpCi0gICAgICAgICAgICAmJiBtX3BhcmFtZXRlcnMubWluaW11bS5tb250aERheSgpIDw9
IG1fcGFyYW1ldGVycy5tYXhpbXVtLm1vbnRoRGF5KCkpIHsKLSAgICAgICAgICAgIG1fZGF5UmFu
Z2UubWluaW11bSA9IG1fcGFyYW1ldGVycy5taW5pbXVtLm1vbnRoRGF5KCk7Ci0gICAgICAgICAg
ICBtX2RheVJhbmdlLm1heGltdW0gPSBtX3BhcmFtZXRlcnMubWF4aW11bS5tb250aERheSgpOwot
ICAgICAgICB9Ci0gICAgfQotCi0gICAgaWYgKG1fZGF0ZVZhbHVlLnR5cGUoKSA9PSBEYXRlQ29t
cG9uZW50czo6VGltZSB8fCBtX2RheVJhbmdlLmlzU2luZ2xldG9uKCkpIHsKLSAgICAgICAgaWYg
KG1fcGFyYW1ldGVycy5taW5pbXVtLnR5cGUoKSAhPSBEYXRlQ29tcG9uZW50czo6SW52YWxpZAot
ICAgICAgICAgICAgJiYgbV9wYXJhbWV0ZXJzLm1heGltdW0udHlwZSgpICE9IERhdGVDb21wb25l
bnRzOjpJbnZhbGlkCi0gICAgICAgICAgICAmJiBtX3BhcmFtZXRlcnMubWluaW11bS5ob3VyKCkg
PD0gbV9wYXJhbWV0ZXJzLm1heGltdW0uaG91cigpKSB7Ci0gICAgICAgICAgICBtX2hvdXIyM1Jh
bmdlLm1pbmltdW0gPSBtX3BhcmFtZXRlcnMubWluaW11bS5ob3VyKCk7Ci0gICAgICAgICAgICBt
X2hvdXIyM1JhbmdlLm1heGltdW0gPSBtX3BhcmFtZXRlcnMubWF4aW11bS5ob3VyKCk7Ci0gICAg
ICAgIH0KLSAgICB9Ci0KLSAgICBpZiAobV9ob3VyMjNSYW5nZS5pc1NpbmdsZXRvbigpICYmIG1f
cGFyYW1ldGVycy5taW5pbXVtLm1pbnV0ZSgpIDw9IG1fcGFyYW1ldGVycy5tYXhpbXVtLm1pbnV0
ZSgpKSB7Ci0gICAgICAgIG1fbWludXRlUmFuZ2UubWluaW11bSA9IG1fcGFyYW1ldGVycy5taW5p
bXVtLm1pbnV0ZSgpOwotICAgICAgICBtX21pbnV0ZVJhbmdlLm1heGltdW0gPSBtX3BhcmFtZXRl
cnMubWF4aW11bS5taW51dGUoKTsKLSAgICB9Ci0gICAgaWYgKG1fbWludXRlUmFuZ2UuaXNTaW5n
bGV0b24oKSAmJiBtX3BhcmFtZXRlcnMubWluaW11bS5zZWNvbmQoKSA8PSBtX3BhcmFtZXRlcnMu
bWF4aW11bS5zZWNvbmQoKSkgewotICAgICAgICBtX3NlY29uZFJhbmdlLm1pbmltdW0gPSBtX3Bh
cmFtZXRlcnMubWluaW11bS5zZWNvbmQoKTsKLSAgICAgICAgbV9zZWNvbmRSYW5nZS5tYXhpbXVt
ID0gbV9wYXJhbWV0ZXJzLm1heGltdW0uc2Vjb25kKCk7Ci0gICAgfQotICAgIGlmIChtX3NlY29u
ZFJhbmdlLmlzU2luZ2xldG9uKCkgJiYgbV9wYXJhbWV0ZXJzLm1pbmltdW0ubWlsbGlzZWNvbmQo
KSA8PSBtX3BhcmFtZXRlcnMubWF4aW11bS5taWxsaXNlY29uZCgpKSB7Ci0gICAgICAgIG1fbWls
bGlzZWNvbmRSYW5nZS5taW5pbXVtID0gbV9wYXJhbWV0ZXJzLm1pbmltdW0ubWlsbGlzZWNvbmQo
KTsKLSAgICAgICAgbV9taWxsaXNlY29uZFJhbmdlLm1heGltdW0gPSBtX3BhcmFtZXRlcnMubWF4
aW11bS5taWxsaXNlY29uZCgpOwotICAgIH0KLX0KLQotYm9vbCBEYXRlVGltZUVkaXRCdWlsZGVy
OjpidWlsZChjb25zdCBTdHJpbmcmIGZvcm1hdFN0cmluZykKLXsKLSAgICBtX2VkaXRFbGVtZW50
LnJlc2V0RmllbGRzKCk7Ci0gICAgcmV0dXJuIERhdGVUaW1lRm9ybWF0OjpwYXJzZShmb3JtYXRT
dHJpbmcsICp0aGlzKTsKLX0KLQotYm9vbCBEYXRlVGltZUVkaXRCdWlsZGVyOjpuZWVkTWlsbGlz
ZWNvbmRGaWVsZCgpIGNvbnN0Ci17Ci0gICAgcmV0dXJuIG1fZGF0ZVZhbHVlLm1pbGxpc2Vjb25k
KCkKLSAgICAgICAgfHwgIXN0ZXBSYW5nZSgpLm1pbmltdW0oKS5yZW1haW5kZXIoc3RhdGljX2Nh
c3Q8aW50Pihtc1BlclNlY29uZCkpLmlzWmVybygpCi0gICAgICAgIHx8ICFzdGVwUmFuZ2UoKS5z
dGVwKCkucmVtYWluZGVyKHN0YXRpY19jYXN0PGludD4obXNQZXJTZWNvbmQpKS5pc1plcm8oKTsK
LX0KLQotdm9pZCBEYXRlVGltZUVkaXRCdWlsZGVyOjp2aXNpdEZpZWxkKERhdGVUaW1lRm9ybWF0
OjpGaWVsZFR5cGUgZmllbGRUeXBlLCBpbnQgY291bnQpCi17Ci0gICAgY29uc3QgaW50IGNvdW50
Rm9yQWJicmV2aWF0ZWRNb250aCA9IDM7Ci0gICAgY29uc3QgaW50IGNvdW50Rm9yRnVsbE1vbnRo
ID0gNDsKLSAgICBjb25zdCBpbnQgY291bnRGb3JOYXJyb3dNb250aCA9IDU7Ci0gICAgRG9jdW1l
bnQqIGNvbnN0IGRvY3VtZW50ID0gbV9lZGl0RWxlbWVudC5kb2N1bWVudCgpOwotCi0gICAgc3dp
dGNoIChmaWVsZFR5cGUpIHsKLSAgICBjYXNlIERhdGVUaW1lRm9ybWF0OjpGaWVsZFR5cGVEYXlP
Zk1vbnRoOiB7Ci0gICAgICAgIFJlZlB0cjxEYXRlVGltZUZpZWxkRWxlbWVudD4gZmllbGQgPSBE
YXRlVGltZURheUZpZWxkRWxlbWVudDo6Y3JlYXRlKGRvY3VtZW50LCBtX2VkaXRFbGVtZW50LCBt
X3BhcmFtZXRlcnMucGxhY2Vob2xkZXJGb3JEYXksIG1fZGF5UmFuZ2UpOwotICAgICAgICBtX2Vk
aXRFbGVtZW50LmFkZEZpZWxkKGZpZWxkKTsKLSAgICAgICAgaWYgKHNob3VsZERheU9mTW9udGhG
aWVsZERpc2FibGVkKCkpIHsKLSAgICAgICAgICAgIGZpZWxkLT5zZXRWYWx1ZUFzRGF0ZShtX2Rh
dGVWYWx1ZSk7Ci0gICAgICAgICAgICBmaWVsZC0+c2V0RGlzYWJsZWQoKTsKLSAgICAgICAgfQot
ICAgICAgICByZXR1cm47Ci0gICAgfQotCi0gICAgY2FzZSBEYXRlVGltZUZvcm1hdDo6RmllbGRU
eXBlSG91cjExOiB7Ci0gICAgICAgIERhdGVUaW1lTnVtZXJpY0ZpZWxkRWxlbWVudDo6U3RlcCBz
dGVwID0gY3JlYXRlU3RlcChtc1BlckhvdXIsIG1zUGVySG91ciAqIDEyKTsKLSAgICAgICAgUmVm
UHRyPERhdGVUaW1lRmllbGRFbGVtZW50PiBmaWVsZCA9IERhdGVUaW1lSG91cjExRmllbGRFbGVt
ZW50OjpjcmVhdGUoZG9jdW1lbnQsIG1fZWRpdEVsZW1lbnQsIG1faG91cjIzUmFuZ2UsIHN0ZXAp
OwotICAgICAgICBtX2VkaXRFbGVtZW50LmFkZEZpZWxkKGZpZWxkKTsKLSAgICAgICAgaWYgKHNo
b3VsZEhvdXJGaWVsZERpc2FibGVkKCkpIHsKLSAgICAgICAgICAgIGZpZWxkLT5zZXRWYWx1ZUFz
RGF0ZShtX2RhdGVWYWx1ZSk7Ci0gICAgICAgICAgICBmaWVsZC0+c2V0RGlzYWJsZWQoKTsKLSAg
ICAgICAgfQotICAgICAgICByZXR1cm47Ci0gICAgfQotCi0gICAgY2FzZSBEYXRlVGltZUZvcm1h
dDo6RmllbGRUeXBlSG91cjEyOiB7Ci0gICAgICAgIERhdGVUaW1lTnVtZXJpY0ZpZWxkRWxlbWVu
dDo6U3RlcCBzdGVwID0gY3JlYXRlU3RlcChtc1BlckhvdXIsIG1zUGVySG91ciAqIDEyKTsKLSAg
ICAgICAgUmVmUHRyPERhdGVUaW1lRmllbGRFbGVtZW50PiBmaWVsZCA9IERhdGVUaW1lSG91cjEy
RmllbGRFbGVtZW50OjpjcmVhdGUoZG9jdW1lbnQsIG1fZWRpdEVsZW1lbnQsIG1faG91cjIzUmFu
Z2UsIHN0ZXApOwotICAgICAgICBtX2VkaXRFbGVtZW50LmFkZEZpZWxkKGZpZWxkKTsKLSAgICAg
ICAgaWYgKHNob3VsZEhvdXJGaWVsZERpc2FibGVkKCkpIHsKLSAgICAgICAgICAgIGZpZWxkLT5z
ZXRWYWx1ZUFzRGF0ZShtX2RhdGVWYWx1ZSk7Ci0gICAgICAgICAgICBmaWVsZC0+c2V0RGlzYWJs
ZWQoKTsKLSAgICAgICAgfQotICAgICAgICByZXR1cm47Ci0gICAgfQotCi0gICAgY2FzZSBEYXRl
VGltZUZvcm1hdDo6RmllbGRUeXBlSG91cjIzOiB7Ci0gICAgICAgIERhdGVUaW1lTnVtZXJpY0Zp
ZWxkRWxlbWVudDo6U3RlcCBzdGVwID0gY3JlYXRlU3RlcChtc1BlckhvdXIsIG1zUGVyRGF5KTsK
LSAgICAgICAgUmVmUHRyPERhdGVUaW1lRmllbGRFbGVtZW50PiBmaWVsZCA9IERhdGVUaW1lSG91
cjIzRmllbGRFbGVtZW50OjpjcmVhdGUoZG9jdW1lbnQsIG1fZWRpdEVsZW1lbnQsIG1faG91cjIz
UmFuZ2UsIHN0ZXApOwotICAgICAgICBtX2VkaXRFbGVtZW50LmFkZEZpZWxkKGZpZWxkKTsKLSAg
ICAgICAgaWYgKHNob3VsZEhvdXJGaWVsZERpc2FibGVkKCkpIHsKLSAgICAgICAgICAgIGZpZWxk
LT5zZXRWYWx1ZUFzRGF0ZShtX2RhdGVWYWx1ZSk7Ci0gICAgICAgICAgICBmaWVsZC0+c2V0RGlz
YWJsZWQoKTsKLSAgICAgICAgfQotICAgICAgICByZXR1cm47Ci0gICAgfQotCi0gICAgY2FzZSBE
YXRlVGltZUZvcm1hdDo6RmllbGRUeXBlSG91cjI0OiB7Ci0gICAgICAgIERhdGVUaW1lTnVtZXJp
Y0ZpZWxkRWxlbWVudDo6U3RlcCBzdGVwID0gY3JlYXRlU3RlcChtc1BlckhvdXIsIG1zUGVyRGF5
KTsKLSAgICAgICAgUmVmUHRyPERhdGVUaW1lRmllbGRFbGVtZW50PiBmaWVsZCA9IERhdGVUaW1l
SG91cjI0RmllbGRFbGVtZW50OjpjcmVhdGUoZG9jdW1lbnQsIG1fZWRpdEVsZW1lbnQsIG1faG91
cjIzUmFuZ2UsIHN0ZXApOwotICAgICAgICBtX2VkaXRFbGVtZW50LmFkZEZpZWxkKGZpZWxkKTsK
LSAgICAgICAgaWYgKHNob3VsZEhvdXJGaWVsZERpc2FibGVkKCkpIHsKLSAgICAgICAgICAgIGZp
ZWxkLT5zZXRWYWx1ZUFzRGF0ZShtX2RhdGVWYWx1ZSk7Ci0gICAgICAgICAgICBmaWVsZC0+c2V0
RGlzYWJsZWQoKTsKLSAgICAgICAgfQotICAgICAgICByZXR1cm47Ci0gICAgfQotCi0gICAgY2Fz
ZSBEYXRlVGltZUZvcm1hdDo6RmllbGRUeXBlTWludXRlOiB7Ci0gICAgICAgIERhdGVUaW1lTnVt
ZXJpY0ZpZWxkRWxlbWVudDo6U3RlcCBzdGVwID0gY3JlYXRlU3RlcChtc1Blck1pbnV0ZSwgbXNQ
ZXJIb3VyKTsKLSAgICAgICAgUmVmUHRyPERhdGVUaW1lTnVtZXJpY0ZpZWxkRWxlbWVudD4gZmll
bGQgPSBEYXRlVGltZU1pbnV0ZUZpZWxkRWxlbWVudDo6Y3JlYXRlKGRvY3VtZW50LCBtX2VkaXRF
bGVtZW50LCBtX21pbnV0ZVJhbmdlLCBzdGVwKTsKLSAgICAgICAgbV9lZGl0RWxlbWVudC5hZGRG
aWVsZChmaWVsZCk7Ci0gICAgICAgIGlmIChzaG91bGRNaW51dGVGaWVsZERpc2FibGVkKCkpIHsK
LSAgICAgICAgICAgIGZpZWxkLT5zZXRWYWx1ZUFzRGF0ZShtX2RhdGVWYWx1ZSk7Ci0gICAgICAg
ICAgICBmaWVsZC0+c2V0RGlzYWJsZWQoKTsKLSAgICAgICAgfQotICAgICAgICByZXR1cm47Ci0g
ICAgfQotCi0gICAgY2FzZSBEYXRlVGltZUZvcm1hdDo6RmllbGRUeXBlTW9udGg6IC8vIEZhbGx0
aHJvdWdoLgotICAgIGNhc2UgRGF0ZVRpbWVGb3JtYXQ6OkZpZWxkVHlwZU1vbnRoU3RhbmRBbG9u
ZTogewotICAgICAgICBpbnQgbWluTW9udGggPSAwLCBtYXhNb250aCA9IDExOwotICAgICAgICBp
ZiAobV9wYXJhbWV0ZXJzLm1pbmltdW0udHlwZSgpICE9IERhdGVDb21wb25lbnRzOjpJbnZhbGlk
Ci0gICAgICAgICAgICAmJiBtX3BhcmFtZXRlcnMubWF4aW11bS50eXBlKCkgIT0gRGF0ZUNvbXBv
bmVudHM6OkludmFsaWQKLSAgICAgICAgICAgICYmIG1fcGFyYW1ldGVycy5taW5pbXVtLmZ1bGxZ
ZWFyKCkgPT0gbV9wYXJhbWV0ZXJzLm1heGltdW0uZnVsbFllYXIoKQotICAgICAgICAgICAgJiYg
bV9wYXJhbWV0ZXJzLm1pbmltdW0ubW9udGgoKSA8PSBtX3BhcmFtZXRlcnMubWF4aW11bS5tb250
aCgpKSB7Ci0gICAgICAgICAgICBtaW5Nb250aCA9IG1fcGFyYW1ldGVycy5taW5pbXVtLm1vbnRo
KCk7Ci0gICAgICAgICAgICBtYXhNb250aCA9IG1fcGFyYW1ldGVycy5tYXhpbXVtLm1vbnRoKCk7
Ci0gICAgICAgIH0KLSAgICAgICAgUmVmUHRyPERhdGVUaW1lRmllbGRFbGVtZW50PiBmaWVsZDsK
LSAgICAgICAgc3dpdGNoIChjb3VudCkgewotICAgICAgICBjYXNlIGNvdW50Rm9yTmFycm93TW9u
dGg6IC8vIEZhbGx0aHJvdWdoLgotICAgICAgICBjYXNlIGNvdW50Rm9yQWJicmV2aWF0ZWRNb250
aDoKLSAgICAgICAgICAgIGZpZWxkID0gRGF0ZVRpbWVTeW1ib2xpY01vbnRoRmllbGRFbGVtZW50
OjpjcmVhdGUoZG9jdW1lbnQsIG1fZWRpdEVsZW1lbnQsIGZpZWxkVHlwZSA9PSBEYXRlVGltZUZv
cm1hdDo6RmllbGRUeXBlTW9udGggPyBtX3BhcmFtZXRlcnMubG9jYWxlLnNob3J0TW9udGhMYWJl
bHMoKSA6IG1fcGFyYW1ldGVycy5sb2NhbGUuc2hvcnRTdGFuZEFsb25lTW9udGhMYWJlbHMoKSwg
bWluTW9udGgsIG1heE1vbnRoKTsKLSAgICAgICAgICAgIGJyZWFrOwotICAgICAgICBjYXNlIGNv
dW50Rm9yRnVsbE1vbnRoOgotICAgICAgICAgICAgZmllbGQgPSBEYXRlVGltZVN5bWJvbGljTW9u
dGhGaWVsZEVsZW1lbnQ6OmNyZWF0ZShkb2N1bWVudCwgbV9lZGl0RWxlbWVudCwgZmllbGRUeXBl
ID09IERhdGVUaW1lRm9ybWF0OjpGaWVsZFR5cGVNb250aCA/IG1fcGFyYW1ldGVycy5sb2NhbGUu
bW9udGhMYWJlbHMoKSA6IG1fcGFyYW1ldGVycy5sb2NhbGUuc3RhbmRBbG9uZU1vbnRoTGFiZWxz
KCksIG1pbk1vbnRoLCBtYXhNb250aCk7Ci0gICAgICAgICAgICBicmVhazsKLSAgICAgICAgZGVm
YXVsdDoKLSAgICAgICAgICAgIGZpZWxkID0gRGF0ZVRpbWVNb250aEZpZWxkRWxlbWVudDo6Y3Jl
YXRlKGRvY3VtZW50LCBtX2VkaXRFbGVtZW50LCBtX3BhcmFtZXRlcnMucGxhY2Vob2xkZXJGb3JN
b250aCwgRGF0ZVRpbWVOdW1lcmljRmllbGRFbGVtZW50OjpSYW5nZShtaW5Nb250aCArIDEsIG1h
eE1vbnRoICsgMSkpOwotICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgIH0KLSAgICAgICAgbV9l
ZGl0RWxlbWVudC5hZGRGaWVsZChmaWVsZCk7Ci0gICAgICAgIGlmIChtaW5Nb250aCA9PSBtYXhN
b250aCAmJiBtaW5Nb250aCA9PSBtX2RhdGVWYWx1ZS5tb250aCgpICYmIG1fZGF0ZVZhbHVlLnR5
cGUoKSAhPSBEYXRlQ29tcG9uZW50czo6TW9udGgpIHsKLSAgICAgICAgICAgIGZpZWxkLT5zZXRW
YWx1ZUFzRGF0ZShtX2RhdGVWYWx1ZSk7Ci0gICAgICAgICAgICBmaWVsZC0+c2V0RGlzYWJsZWQo
KTsKLSAgICAgICAgfQotICAgICAgICByZXR1cm47Ci0gICAgfQotCi0gICAgY2FzZSBEYXRlVGlt
ZUZvcm1hdDo6RmllbGRUeXBlUGVyaW9kOiB7Ci0gICAgICAgIFJlZlB0cjxEYXRlVGltZUZpZWxk
RWxlbWVudD4gZmllbGQgPSBEYXRlVGltZUFNUE1GaWVsZEVsZW1lbnQ6OmNyZWF0ZShkb2N1bWVu
dCwgbV9lZGl0RWxlbWVudCwgbV9wYXJhbWV0ZXJzLmxvY2FsZS50aW1lQU1QTUxhYmVscygpKTsK
LSAgICAgICAgbV9lZGl0RWxlbWVudC5hZGRGaWVsZChmaWVsZCk7Ci0gICAgICAgIGlmIChzaG91
bGRBTVBNRmllbGREaXNhYmxlZCgpKSB7Ci0gICAgICAgICAgICBmaWVsZC0+c2V0VmFsdWVBc0Rh
dGUobV9kYXRlVmFsdWUpOwotICAgICAgICAgICAgZmllbGQtPnNldERpc2FibGVkKCk7Ci0gICAg
ICAgIH0KLSAgICAgICAgcmV0dXJuOwotICAgIH0KLQotICAgIGNhc2UgRGF0ZVRpbWVGb3JtYXQ6
OkZpZWxkVHlwZVNlY29uZDogewotICAgICAgICBEYXRlVGltZU51bWVyaWNGaWVsZEVsZW1lbnQ6
OlN0ZXAgc3RlcCA9IGNyZWF0ZVN0ZXAobXNQZXJTZWNvbmQsIG1zUGVyTWludXRlKTsKLSAgICAg
ICAgUmVmUHRyPERhdGVUaW1lTnVtZXJpY0ZpZWxkRWxlbWVudD4gZmllbGQgPSBEYXRlVGltZVNl
Y29uZEZpZWxkRWxlbWVudDo6Y3JlYXRlKGRvY3VtZW50LCBtX2VkaXRFbGVtZW50LCBtX3NlY29u
ZFJhbmdlLCBzdGVwKTsKLSAgICAgICAgbV9lZGl0RWxlbWVudC5hZGRGaWVsZChmaWVsZCk7Ci0g
ICAgICAgIGlmIChzaG91bGRTZWNvbmRGaWVsZERpc2FibGVkKCkpIHsKLSAgICAgICAgICAgIGZp
ZWxkLT5zZXRWYWx1ZUFzRGF0ZShtX2RhdGVWYWx1ZSk7Ci0gICAgICAgICAgICBmaWVsZC0+c2V0
RGlzYWJsZWQoKTsKLSAgICAgICAgfQotCi0gICAgICAgIGlmIChuZWVkTWlsbGlzZWNvbmRGaWVs
ZCgpKSB7Ci0gICAgICAgICAgICB2aXNpdExpdGVyYWwobV9wYXJhbWV0ZXJzLmxvY2FsZS5sb2Nh
bGl6ZWREZWNpbWFsU2VwYXJhdG9yKCkpOwotICAgICAgICAgICAgdmlzaXRGaWVsZChEYXRlVGlt
ZUZvcm1hdDo6RmllbGRUeXBlRnJhY3Rpb25hbFNlY29uZCwgMyk7Ci0gICAgICAgIH0KLSAgICAg
ICAgcmV0dXJuOwotICAgIH0KLQotICAgIGNhc2UgRGF0ZVRpbWVGb3JtYXQ6OkZpZWxkVHlwZUZy
YWN0aW9uYWxTZWNvbmQ6IHsKLSAgICAgICAgRGF0ZVRpbWVOdW1lcmljRmllbGRFbGVtZW50OjpT
dGVwIHN0ZXAgPSBjcmVhdGVTdGVwKDEsIG1zUGVyU2Vjb25kKTsKLSAgICAgICAgUmVmUHRyPERh
dGVUaW1lTnVtZXJpY0ZpZWxkRWxlbWVudD4gZmllbGQgPSBEYXRlVGltZU1pbGxpc2Vjb25kRmll
bGRFbGVtZW50OjpjcmVhdGUoZG9jdW1lbnQsIG1fZWRpdEVsZW1lbnQsIG1fbWlsbGlzZWNvbmRS
YW5nZSwgc3RlcCk7Ci0gICAgICAgIG1fZWRpdEVsZW1lbnQuYWRkRmllbGQoZmllbGQpOwotICAg
ICAgICBpZiAoc2hvdWxkTWlsbGlzZWNvbmRGaWVsZERpc2FibGVkKCkpIHsKLSAgICAgICAgICAg
IGZpZWxkLT5zZXRWYWx1ZUFzRGF0ZShtX2RhdGVWYWx1ZSk7Ci0gICAgICAgICAgICBmaWVsZC0+
c2V0RGlzYWJsZWQoKTsKLSAgICAgICAgfQotICAgICAgICByZXR1cm47Ci0gICAgfQotCi0gICAg
Y2FzZSBEYXRlVGltZUZvcm1hdDo6RmllbGRUeXBlV2Vla09mWWVhcjogewotICAgICAgICBEYXRl
VGltZU51bWVyaWNGaWVsZEVsZW1lbnQ6OlJhbmdlIHJhbmdlKERhdGVDb21wb25lbnRzOjptaW5p
bXVtV2Vla051bWJlciwgRGF0ZUNvbXBvbmVudHM6Om1heGltdW1XZWVrTnVtYmVyKTsKLSAgICAg
ICAgaWYgKG1fcGFyYW1ldGVycy5taW5pbXVtLnR5cGUoKSAhPSBEYXRlQ29tcG9uZW50czo6SW52
YWxpZAotICAgICAgICAgICAgJiYgbV9wYXJhbWV0ZXJzLm1heGltdW0udHlwZSgpICE9IERhdGVD
b21wb25lbnRzOjpJbnZhbGlkCi0gICAgICAgICAgICAmJiBtX3BhcmFtZXRlcnMubWluaW11bS5m
dWxsWWVhcigpID09IG1fcGFyYW1ldGVycy5tYXhpbXVtLmZ1bGxZZWFyKCkKLSAgICAgICAgICAg
ICYmIG1fcGFyYW1ldGVycy5taW5pbXVtLndlZWsoKSA8PSBtX3BhcmFtZXRlcnMubWF4aW11bS53
ZWVrKCkpIHsKLSAgICAgICAgICAgIHJhbmdlLm1pbmltdW0gPSBtX3BhcmFtZXRlcnMubWluaW11
bS53ZWVrKCk7Ci0gICAgICAgICAgICByYW5nZS5tYXhpbXVtID0gbV9wYXJhbWV0ZXJzLm1heGlt
dW0ud2VlaygpOwotICAgICAgICB9Ci0gICAgICAgIG1fZWRpdEVsZW1lbnQuYWRkRmllbGQoRGF0
ZVRpbWVXZWVrRmllbGRFbGVtZW50OjpjcmVhdGUoZG9jdW1lbnQsIG1fZWRpdEVsZW1lbnQsIHJh
bmdlKSk7Ci0gICAgICAgIHJldHVybjsKLSAgICB9Ci0KLSAgICBjYXNlIERhdGVUaW1lRm9ybWF0
OjpGaWVsZFR5cGVZZWFyOiB7Ci0gICAgICAgIERhdGVUaW1lWWVhckZpZWxkRWxlbWVudDo6UGFy
YW1ldGVycyB5ZWFyUGFyYW1zOwotICAgICAgICBpZiAobV9wYXJhbWV0ZXJzLm1pbmltdW0udHlw
ZSgpID09IERhdGVDb21wb25lbnRzOjpJbnZhbGlkKSB7Ci0gICAgICAgICAgICB5ZWFyUGFyYW1z
Lm1pbmltdW1ZZWFyID0gRGF0ZUNvbXBvbmVudHM6Om1pbmltdW1ZZWFyKCk7Ci0gICAgICAgICAg
ICB5ZWFyUGFyYW1zLm1pbklzU3BlY2lmaWVkID0gZmFsc2U7Ci0gICAgICAgIH0gZWxzZSB7Ci0g
ICAgICAgICAgICB5ZWFyUGFyYW1zLm1pbmltdW1ZZWFyID0gbV9wYXJhbWV0ZXJzLm1pbmltdW0u
ZnVsbFllYXIoKTsKLSAgICAgICAgICAgIHllYXJQYXJhbXMubWluSXNTcGVjaWZpZWQgPSB0cnVl
OwotICAgICAgICB9Ci0gICAgICAgIGlmIChtX3BhcmFtZXRlcnMubWF4aW11bS50eXBlKCkgPT0g
RGF0ZUNvbXBvbmVudHM6OkludmFsaWQpIHsKLSAgICAgICAgICAgIHllYXJQYXJhbXMubWF4aW11
bVllYXIgPSBEYXRlQ29tcG9uZW50czo6bWF4aW11bVllYXIoKTsKLSAgICAgICAgICAgIHllYXJQ
YXJhbXMubWF4SXNTcGVjaWZpZWQgPSBmYWxzZTsKLSAgICAgICAgfSBlbHNlIHsKLSAgICAgICAg
ICAgIHllYXJQYXJhbXMubWF4aW11bVllYXIgPSBtX3BhcmFtZXRlcnMubWF4aW11bS5mdWxsWWVh
cigpOwotICAgICAgICAgICAgeWVhclBhcmFtcy5tYXhJc1NwZWNpZmllZCA9IHRydWU7Ci0gICAg
ICAgIH0KLSAgICAgICAgaWYgKHllYXJQYXJhbXMubWluaW11bVllYXIgPiB5ZWFyUGFyYW1zLm1h
eGltdW1ZZWFyKSB7Ci0gICAgICAgICAgICBzdGQ6OnN3YXAoeWVhclBhcmFtcy5taW5pbXVtWWVh
ciwgeWVhclBhcmFtcy5tYXhpbXVtWWVhcik7Ci0gICAgICAgICAgICBzdGQ6OnN3YXAoeWVhclBh
cmFtcy5taW5Jc1NwZWNpZmllZCwgeWVhclBhcmFtcy5tYXhJc1NwZWNpZmllZCk7Ci0gICAgICAg
IH0KLSAgICAgICAgeWVhclBhcmFtcy5wbGFjZWhvbGRlciA9IG1fcGFyYW1ldGVycy5wbGFjZWhv
bGRlckZvclllYXI7Ci0gICAgICAgIFJlZlB0cjxEYXRlVGltZUZpZWxkRWxlbWVudD4gZmllbGQg
PSBEYXRlVGltZVllYXJGaWVsZEVsZW1lbnQ6OmNyZWF0ZShkb2N1bWVudCwgbV9lZGl0RWxlbWVu
dCwgeWVhclBhcmFtcyk7Ci0gICAgICAgIG1fZWRpdEVsZW1lbnQuYWRkRmllbGQoZmllbGQpOwot
ICAgICAgICBpZiAoc2hvdWxkWWVhckZpZWxkRGlzYWJsZWQoKSkgewotICAgICAgICAgICAgZmll
bGQtPnNldFZhbHVlQXNEYXRlKG1fZGF0ZVZhbHVlKTsKLSAgICAgICAgICAgIGZpZWxkLT5zZXRE
aXNhYmxlZCgpOwotICAgICAgICB9Ci0gICAgICAgIHJldHVybjsKLSAgICB9Ci0KLSAgICBkZWZh
dWx0OgotICAgICAgICByZXR1cm47Ci0gICAgfQotfQotCi1ib29sIERhdGVUaW1lRWRpdEJ1aWxk
ZXI6OnNob3VsZEFNUE1GaWVsZERpc2FibGVkKCkgY29uc3QKLXsKLSAgICByZXR1cm4gc2hvdWxk
SG91ckZpZWxkRGlzYWJsZWQoKQotICAgICAgICB8fCAobV9ob3VyMjNSYW5nZS5taW5pbXVtIDwg
MTIgJiYgbV9ob3VyMjNSYW5nZS5tYXhpbXVtIDwgMTIgJiYgbV9kYXRlVmFsdWUuaG91cigpIDwg
MTIpCi0gICAgICAgIHx8IChtX2hvdXIyM1JhbmdlLm1pbmltdW0gPj0gMTIgJiYgbV9ob3VyMjNS
YW5nZS5tYXhpbXVtID49IDEyICYmIG1fZGF0ZVZhbHVlLmhvdXIoKSA+PSAxMik7Ci19Ci0KLWJv
b2wgRGF0ZVRpbWVFZGl0QnVpbGRlcjo6c2hvdWxkRGF5T2ZNb250aEZpZWxkRGlzYWJsZWQoKSBj
b25zdAotewotICAgIHJldHVybiBtX2RheVJhbmdlLmlzU2luZ2xldG9uKCkgJiYgbV9kYXlSYW5n
ZS5taW5pbXVtID09IG1fZGF0ZVZhbHVlLm1vbnRoRGF5KCkgJiYgbV9kYXRlVmFsdWUudHlwZSgp
ICE9IERhdGVDb21wb25lbnRzOjpEYXRlOwotfQotCi1ib29sIERhdGVUaW1lRWRpdEJ1aWxkZXI6
OnNob3VsZEhvdXJGaWVsZERpc2FibGVkKCkgY29uc3QKLXsKLSAgICBpZiAobV9ob3VyMjNSYW5n
ZS5pc1NpbmdsZXRvbigpICYmIG1faG91cjIzUmFuZ2UubWluaW11bSA9PSBtX2RhdGVWYWx1ZS5o
b3VyKCkKLSAgICAgICAgJiYgIShzaG91bGRNaW51dGVGaWVsZERpc2FibGVkKCkgJiYgc2hvdWxk
U2Vjb25kRmllbGREaXNhYmxlZCgpICYmIHNob3VsZE1pbGxpc2Vjb25kRmllbGREaXNhYmxlZCgp
KSkKLSAgICAgICAgcmV0dXJuIHRydWU7Ci0KLSAgICBpZiAobV9kYXRlVmFsdWUudHlwZSgpID09
IERhdGVDb21wb25lbnRzOjpUaW1lKQotICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgQVNTRVJU
KG1fZGF0ZVZhbHVlLnR5cGUoKSA9PSBEYXRlQ29tcG9uZW50czo6RGF0ZVRpbWVMb2NhbCB8fCBt
X2RhdGVWYWx1ZS50eXBlKCkgPT0gRGF0ZUNvbXBvbmVudHM6OkRhdGVUaW1lKTsKLQotICAgIGlm
IChzaG91bGREYXlPZk1vbnRoRmllbGREaXNhYmxlZCgpKSB7Ci0gICAgICAgIEFTU0VSVChtX3Bh
cmFtZXRlcnMubWluaW11bS5mdWxsWWVhcigpID09IG1fcGFyYW1ldGVycy5tYXhpbXVtLmZ1bGxZ
ZWFyKCkpOwotICAgICAgICBBU1NFUlQobV9wYXJhbWV0ZXJzLm1pbmltdW0ubW9udGgoKSA9PSBt
X3BhcmFtZXRlcnMubWF4aW11bS5tb250aCgpKTsKLSAgICAgICAgcmV0dXJuIGZhbHNlOwotICAg
IH0KLQotICAgIGNvbnN0IERlY2ltYWwgZGVjaW1hbE1zUGVyRGF5KHN0YXRpY19jYXN0PGludD4o
bXNQZXJEYXkpKTsKLSAgICBEZWNpbWFsIGhvdXJQYXJ0T2ZNaW5pbXVtID0gKHN0ZXBSYW5nZSgp
Lm1pbmltdW0oKS5hYnMoKS5yZW1haW5kZXIoZGVjaW1hbE1zUGVyRGF5KSAvIHN0YXRpY19jYXN0
PGludD4obXNQZXJIb3VyKSkuZmxvb3IoKTsKLSAgICByZXR1cm4gaG91clBhcnRPZk1pbmltdW0g
PT0gbV9kYXRlVmFsdWUuaG91cigpICYmIHN0ZXBSYW5nZSgpLnN0ZXAoKS5yZW1haW5kZXIoZGVj
aW1hbE1zUGVyRGF5KS5pc1plcm8oKTsKLX0KLQotYm9vbCBEYXRlVGltZUVkaXRCdWlsZGVyOjpz
aG91bGRNaWxsaXNlY29uZEZpZWxkRGlzYWJsZWQoKSBjb25zdAotewotICAgIGlmIChtX21pbGxp
c2Vjb25kUmFuZ2UuaXNTaW5nbGV0b24oKSAmJiBtX21pbGxpc2Vjb25kUmFuZ2UubWluaW11bSA9
PSBtX2RhdGVWYWx1ZS5taWxsaXNlY29uZCgpKQotICAgICAgICByZXR1cm4gdHJ1ZTsKLQotICAg
IGNvbnN0IERlY2ltYWwgZGVjaW1hbE1zUGVyU2Vjb25kKHN0YXRpY19jYXN0PGludD4obXNQZXJT
ZWNvbmQpKTsKLSAgICByZXR1cm4gc3RlcFJhbmdlKCkubWluaW11bSgpLmFicygpLnJlbWFpbmRl
cihkZWNpbWFsTXNQZXJTZWNvbmQpID09IG1fZGF0ZVZhbHVlLm1pbGxpc2Vjb25kKCkgJiYgc3Rl
cFJhbmdlKCkuc3RlcCgpLnJlbWFpbmRlcihkZWNpbWFsTXNQZXJTZWNvbmQpLmlzWmVybygpOwot
fQotCi1ib29sIERhdGVUaW1lRWRpdEJ1aWxkZXI6OnNob3VsZE1pbnV0ZUZpZWxkRGlzYWJsZWQo
KSBjb25zdAotewotICAgIGlmIChtX21pbnV0ZVJhbmdlLmlzU2luZ2xldG9uKCkgJiYgbV9taW51
dGVSYW5nZS5taW5pbXVtID09IG1fZGF0ZVZhbHVlLm1pbnV0ZSgpKQotICAgICAgICByZXR1cm4g
dHJ1ZTsKLQotICAgIGNvbnN0IERlY2ltYWwgZGVjaW1hbE1zUGVySG91cihzdGF0aWNfY2FzdDxp
bnQ+KG1zUGVySG91cikpOwotICAgIERlY2ltYWwgbWludXRlUGFydE9mTWluaW11bSA9IChzdGVw
UmFuZ2UoKS5taW5pbXVtKCkuYWJzKCkucmVtYWluZGVyKGRlY2ltYWxNc1BlckhvdXIpIC8gc3Rh
dGljX2Nhc3Q8aW50Pihtc1Blck1pbnV0ZSkpLmZsb29yKCk7Ci0gICAgcmV0dXJuIG1pbnV0ZVBh
cnRPZk1pbmltdW0gPT0gbV9kYXRlVmFsdWUubWludXRlKCkgJiYgc3RlcFJhbmdlKCkuc3RlcCgp
LnJlbWFpbmRlcihkZWNpbWFsTXNQZXJIb3VyKS5pc1plcm8oKTsKLX0KLQotYm9vbCBEYXRlVGlt
ZUVkaXRCdWlsZGVyOjpzaG91bGRTZWNvbmRGaWVsZERpc2FibGVkKCkgY29uc3QKLXsKLSAgICBp
ZiAobV9zZWNvbmRSYW5nZS5pc1NpbmdsZXRvbigpICYmIG1fc2Vjb25kUmFuZ2UubWluaW11bSA9
PSBtX2RhdGVWYWx1ZS5zZWNvbmQoKSkKLSAgICAgICAgcmV0dXJuIHRydWU7Ci0KLSAgICBjb25z
dCBEZWNpbWFsIGRlY2ltYWxNc1Blck1pbnV0ZShzdGF0aWNfY2FzdDxpbnQ+KG1zUGVyTWludXRl
KSk7Ci0gICAgRGVjaW1hbCBzZWNvbmRQYXJ0T2ZNaW5pbXVtID0gKHN0ZXBSYW5nZSgpLm1pbmlt
dW0oKS5hYnMoKS5yZW1haW5kZXIoZGVjaW1hbE1zUGVyTWludXRlKSAvIHN0YXRpY19jYXN0PGlu
dD4obXNQZXJTZWNvbmQpKS5mbG9vcigpOwotICAgIHJldHVybiBzZWNvbmRQYXJ0T2ZNaW5pbXVt
ID09IG1fZGF0ZVZhbHVlLnNlY29uZCgpICYmIHN0ZXBSYW5nZSgpLnN0ZXAoKS5yZW1haW5kZXIo
ZGVjaW1hbE1zUGVyTWludXRlKS5pc1plcm8oKTsKLX0KLQotYm9vbCBEYXRlVGltZUVkaXRCdWls
ZGVyOjpzaG91bGRZZWFyRmllbGREaXNhYmxlZCgpIGNvbnN0Ci17Ci0gICAgcmV0dXJuIG1fcGFy
YW1ldGVycy5taW5pbXVtLnR5cGUoKSAhPSBEYXRlQ29tcG9uZW50czo6SW52YWxpZAotICAgICAg
ICAmJiBtX3BhcmFtZXRlcnMubWF4aW11bS50eXBlKCkgIT0gRGF0ZUNvbXBvbmVudHM6OkludmFs
aWQKLSAgICAgICAgJiYgbV9wYXJhbWV0ZXJzLm1pbmltdW0uZnVsbFllYXIoKSA9PSBtX3BhcmFt
ZXRlcnMubWF4aW11bS5mdWxsWWVhcigpCi0gICAgICAgICYmIG1fcGFyYW1ldGVycy5taW5pbXVt
LmZ1bGxZZWFyKCkgPT0gbV9kYXRlVmFsdWUuZnVsbFllYXIoKTsKLX0KLQotdm9pZCBEYXRlVGlt
ZUVkaXRCdWlsZGVyOjp2aXNpdExpdGVyYWwoY29uc3QgU3RyaW5nJiB0ZXh0KQotewotICAgIERF
RklORV9TVEFUSUNfTE9DQUwoQXRvbWljU3RyaW5nLCB0ZXh0UHNldWRvSWQsICgiLXdlYmtpdC1k
YXRldGltZS1lZGl0LXRleHQiLCBBdG9taWNTdHJpbmc6OkNvbnN0cnVjdEZyb21MaXRlcmFsKSk7
Ci0gICAgQVNTRVJUKHRleHQubGVuZ3RoKCkpOwotICAgIFJlZlB0cjxIVE1MRGl2RWxlbWVudD4g
ZWxlbWVudCA9IEhUTUxEaXZFbGVtZW50OjpjcmVhdGUobV9lZGl0RWxlbWVudC5kb2N1bWVudCgp
KTsKLSAgICBlbGVtZW50LT5zZXRQc2V1ZG8odGV4dFBzZXVkb0lkKTsKLSAgICBpZiAobV9wYXJh
bWV0ZXJzLmxvY2FsZS5pc1JUTCgpICYmIHRleHQubGVuZ3RoKCkpIHsKLSAgICAgICAgRGlyZWN0
aW9uIGRpciA9IGRpcmVjdGlvbih0ZXh0WzBdKTsKLSAgICAgICAgaWYgKGRpciA9PSBTZWdtZW50
U2VwYXJhdG9yIHx8IGRpciA9PSBXaGl0ZVNwYWNlTmV1dHJhbCB8fCBkaXIgPT0gT3RoZXJOZXV0
cmFsKQotICAgICAgICAgICAgZWxlbWVudC0+YXBwZW5kQ2hpbGQoVGV4dDo6Y3JlYXRlKG1fZWRp
dEVsZW1lbnQuZG9jdW1lbnQoKSwgU3RyaW5nKCZyaWdodFRvTGVmdE1hcmssIDEpKSk7Ci0gICAg
fQotICAgIGVsZW1lbnQtPmFwcGVuZENoaWxkKFRleHQ6OmNyZWF0ZShtX2VkaXRFbGVtZW50LmRv
Y3VtZW50KCksIHRleHQpKTsKLSAgICBtX2VkaXRFbGVtZW50LmZpZWxkc1dyYXBwZXJFbGVtZW50
KCktPmFwcGVuZENoaWxkKGVsZW1lbnQpOwotfQotCi1EYXRlVGltZU51bWVyaWNGaWVsZEVsZW1l
bnQ6OlN0ZXAgRGF0ZVRpbWVFZGl0QnVpbGRlcjo6Y3JlYXRlU3RlcChkb3VibGUgbXNQZXJGaWVs
ZFVuaXQsIGRvdWJsZSBtc1BlckZpZWxkU2l6ZSkgY29uc3QKLXsKLSAgICBjb25zdCBEZWNpbWFs
IG1zUGVyRmllbGRVbml0RGVjaW1hbChzdGF0aWNfY2FzdDxpbnQ+KG1zUGVyRmllbGRVbml0KSk7
Ci0gICAgY29uc3QgRGVjaW1hbCBtc1BlckZpZWxkU2l6ZURlY2ltYWwoc3RhdGljX2Nhc3Q8aW50
Pihtc1BlckZpZWxkU2l6ZSkpOwotICAgIERlY2ltYWwgc3RlcE1pbGxpc2Vjb25kcyA9IHN0ZXBS
YW5nZSgpLnN0ZXAoKTsKLSAgICBBU1NFUlQoIW1zUGVyRmllbGRVbml0RGVjaW1hbC5pc1plcm8o
KSk7Ci0gICAgQVNTRVJUKCFtc1BlckZpZWxkU2l6ZURlY2ltYWwuaXNaZXJvKCkpOwotICAgIEFT
U0VSVCghc3RlcE1pbGxpc2Vjb25kcy5pc1plcm8oKSk7Ci0KLSAgICBEYXRlVGltZU51bWVyaWNG
aWVsZEVsZW1lbnQ6OlN0ZXAgc3RlcCgxLCAwKTsKLQotICAgIGlmIChzdGVwTWlsbGlzZWNvbmRz
LnJlbWFpbmRlcihtc1BlckZpZWxkU2l6ZURlY2ltYWwpLmlzWmVybygpKQotICAgICAgICBzdGVw
TWlsbGlzZWNvbmRzID0gbXNQZXJGaWVsZFNpemVEZWNpbWFsOwotCi0gICAgaWYgKG1zUGVyRmll
bGRTaXplRGVjaW1hbC5yZW1haW5kZXIoc3RlcE1pbGxpc2Vjb25kcykuaXNaZXJvKCkgJiYgc3Rl
cE1pbGxpc2Vjb25kcy5yZW1haW5kZXIobXNQZXJGaWVsZFVuaXREZWNpbWFsKS5pc1plcm8oKSkg
ewotICAgICAgICBzdGVwLnN0ZXAgPSBzdGF0aWNfY2FzdDxpbnQ+KChzdGVwTWlsbGlzZWNvbmRz
IC8gbXNQZXJGaWVsZFVuaXREZWNpbWFsKS50b0RvdWJsZSgpKTsKLSAgICAgICAgc3RlcC5zdGVw
QmFzZSA9IHN0YXRpY19jYXN0PGludD4oKHN0ZXBSYW5nZSgpLnN0ZXBCYXNlKCkgLyBtc1BlckZp
ZWxkVW5pdERlY2ltYWwpLmZsb29yKCkucmVtYWluZGVyKG1zUGVyRmllbGRTaXplRGVjaW1hbCAv
IG1zUGVyRmllbGRVbml0RGVjaW1hbCkudG9Eb3VibGUoKSk7Ci0gICAgfQotICAgIHJldHVybiBz
dGVwOwotfQotCi0vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi0KLURhdGVUaW1lRWRp
dEVsZW1lbnQ6OkVkaXRDb250cm9sT3duZXI6On5FZGl0Q29udHJvbE93bmVyKCkKLXsKLX0KLQot
RGF0ZVRpbWVFZGl0RWxlbWVudDo6RGF0ZVRpbWVFZGl0RWxlbWVudChEb2N1bWVudCogZG9jdW1l
bnQsIEVkaXRDb250cm9sT3duZXImIGVkaXRDb250cm9sT3duZXIpCi0gICAgOiBIVE1MRGl2RWxl
bWVudChkaXZUYWcsIGRvY3VtZW50KQotICAgICwgbV9lZGl0Q29udHJvbE93bmVyKCZlZGl0Q29u
dHJvbE93bmVyKQotewotICAgIERFRklORV9TVEFUSUNfTE9DQUwoQXRvbWljU3RyaW5nLCBkYXRl
VGltZUVkaXRQc2V1ZG9JZCwgKCItd2Via2l0LWRhdGV0aW1lLWVkaXQiLCBBdG9taWNTdHJpbmc6
OkNvbnN0cnVjdEZyb21MaXRlcmFsKSk7Ci0gICAgc2V0UHNldWRvKGRhdGVUaW1lRWRpdFBzZXVk
b0lkKTsKLSAgICBzZXRIYXNDdXN0b21TdHlsZUNhbGxiYWNrcygpOwotfQotCi1EYXRlVGltZUVk
aXRFbGVtZW50Ojp+RGF0ZVRpbWVFZGl0RWxlbWVudCgpCi17Ci0gICAgZm9yIChzaXplX3QgZmll
bGRJbmRleCA9IDA7IGZpZWxkSW5kZXggPCBtX2ZpZWxkcy5zaXplKCk7ICsrZmllbGRJbmRleCkK
LSAgICAgICAgbV9maWVsZHNbZmllbGRJbmRleF0tPnJlbW92ZUV2ZW50SGFuZGxlcigpOwotfQot
Ci1pbmxpbmUgRWxlbWVudCogRGF0ZVRpbWVFZGl0RWxlbWVudDo6ZmllbGRzV3JhcHBlckVsZW1l
bnQoKSBjb25zdAotewotICAgIEFTU0VSVChmaXJzdENoaWxkKCkpOwotICAgIHJldHVybiB0b0Vs
ZW1lbnQoZmlyc3RDaGlsZCgpKTsKLX0KLQotdm9pZCBEYXRlVGltZUVkaXRFbGVtZW50OjphZGRG
aWVsZChQYXNzUmVmUHRyPERhdGVUaW1lRmllbGRFbGVtZW50PiBmaWVsZCkKLXsKLSAgICBpZiAo
bV9maWVsZHMuc2l6ZSgpID09IG1fZmllbGRzLmNhcGFjaXR5KCkpCi0gICAgICAgIHJldHVybjsK
LSAgICBtX2ZpZWxkcy5hcHBlbmQoZmllbGQuZ2V0KCkpOwotICAgIGZpZWxkc1dyYXBwZXJFbGVt
ZW50KCktPmFwcGVuZENoaWxkKGZpZWxkKTsKLX0KLQotYm9vbCBEYXRlVGltZUVkaXRFbGVtZW50
OjphbnlFZGl0YWJsZUZpZWxkc0hhdmVWYWx1ZXMoKSBjb25zdAotewotICAgIGZvciAoc2l6ZV90
IGZpZWxkSW5kZXggPSAwOyBmaWVsZEluZGV4IDwgbV9maWVsZHMuc2l6ZSgpOyArK2ZpZWxkSW5k
ZXgpIHsKLSAgICAgICAgaWYgKCFtX2ZpZWxkc1tmaWVsZEluZGV4XS0+aXNEaXNhYmxlZCgpICYm
IG1fZmllbGRzW2ZpZWxkSW5kZXhdLT5oYXNWYWx1ZSgpKQotICAgICAgICAgICAgcmV0dXJuIHRy
dWU7Ci0gICAgfQotICAgIHJldHVybiBmYWxzZTsKLX0KLQotdm9pZCBEYXRlVGltZUVkaXRFbGVt
ZW50OjpibHVyQnlPd25lcigpCi17Ci0gICAgaWYgKERhdGVUaW1lRmllbGRFbGVtZW50KiBmaWVs
ZCA9IGZvY3VzZWRGaWVsZCgpKQotICAgICAgICBmaWVsZC0+Ymx1cigpOwotfQotCi1QYXNzUmVm
UHRyPERhdGVUaW1lRWRpdEVsZW1lbnQ+IERhdGVUaW1lRWRpdEVsZW1lbnQ6OmNyZWF0ZShEb2N1
bWVudCogZG9jdW1lbnQsIEVkaXRDb250cm9sT3duZXImIGVkaXRDb250cm9sT3duZXIpCi17Ci0g
ICAgUmVmUHRyPERhdGVUaW1lRWRpdEVsZW1lbnQ+IGNvbnRhaW5lciA9IGFkb3B0UmVmKG5ldyBE
YXRlVGltZUVkaXRFbGVtZW50KGRvY3VtZW50LCBlZGl0Q29udHJvbE93bmVyKSk7Ci0gICAgcmV0
dXJuIGNvbnRhaW5lci5yZWxlYXNlKCk7Ci19Ci0KLVBhc3NSZWZQdHI8UmVuZGVyU3R5bGU+IERh
dGVUaW1lRWRpdEVsZW1lbnQ6OmN1c3RvbVN0eWxlRm9yUmVuZGVyZXIoKQotewotICAgIC8vIEZJ
WE1FOiBUaGlzIGlzIGEga2luZCBvZiBsYXlvdXQuIFdlIG1pZ2h0IHdhbnQgdG8gaW50cm9kdWNl
IG5ldyByZW5kZXJlci4KLSAgICBGb250Q2FjaGVQdXJnZVByZXZlbnRlciBmb250Q2FjaGVQdXJn
ZVByZXZlbnRlcjsKLSAgICBSZWZQdHI8UmVuZGVyU3R5bGU+IG9yaWdpbmFsU3R5bGUgPSBkb2N1
bWVudCgpLT5lbnN1cmVTdHlsZVJlc29sdmVyKCktPnN0eWxlRm9yRWxlbWVudCh0aGlzKTsKLSAg
ICBSZWZQdHI8UmVuZGVyU3R5bGU+IHN0eWxlID0gUmVuZGVyU3R5bGU6OmNsb25lKG9yaWdpbmFs
U3R5bGUuZ2V0KCkpOwotICAgIGZsb2F0IHdpZHRoID0gMDsKLSAgICBmb3IgKE5vZGUqIGNoaWxk
ID0gZmllbGRzV3JhcHBlckVsZW1lbnQoKS0+Zmlyc3RDaGlsZCgpOyBjaGlsZDsgY2hpbGQgPSBj
aGlsZC0+bmV4dFNpYmxpbmcoKSkgewotICAgICAgICBpZiAoIWNoaWxkLT5pc0VsZW1lbnROb2Rl
KCkpCi0gICAgICAgICAgICBjb250aW51ZTsKLSAgICAgICAgRWxlbWVudCogY2hpbGRFbGVtZW50
ID0gdG9FbGVtZW50KGNoaWxkKTsKLSAgICAgICAgaWYgKGNoaWxkRWxlbWVudC0+aXNEYXRlVGlt
ZUZpZWxkRWxlbWVudCgpKSB7Ci0gICAgICAgICAgICAvLyBXZSBuZWVkIHRvIHBhc3MgdGhlIEZv
bnQgb2YgdGhpcyBlbGVtZW50IGJlY2F1c2UgY2hpbGQgZWxlbWVudHMKLSAgICAgICAgICAgIC8v
IGNhbid0IHJlc29sdmUgaW5oZXJpdGVkIHN0eWxlIGF0IHRoaXMgdGltaW5nLgotICAgICAgICAg
ICAgd2lkdGggKz0gc3RhdGljX2Nhc3Q8RGF0ZVRpbWVGaWVsZEVsZW1lbnQqPihjaGlsZEVsZW1l
bnQpLT5tYXhpbXVtV2lkdGgoc3R5bGUtPmZvbnQoKSk7Ci0gICAgICAgIH0gZWxzZSB7Ci0gICAg
ICAgICAgICAvLyA6Oi13ZWJraXQtZGF0ZXRpbWUtZWRpdC10ZXh0IGNhc2UuIEl0IGhhcyBubwot
ICAgICAgICAgICAgLy8gYm9yZGVyL3BhZGRpbmcvbWFyZ2luIGluIGh0bWwuY3NzLgotICAgICAg
ICAgICAgd2lkdGggKz0gc3R5bGUtPmZvbnQoKS53aWR0aChjaGlsZEVsZW1lbnQtPnRleHRDb250
ZW50KCkpOwotICAgICAgICB9Ci0gICAgfQotICAgIHN0eWxlLT5zZXRXaWR0aChMZW5ndGgoY2Vp
bGYod2lkdGgpLCBGaXhlZCkpOwotICAgIHJldHVybiBzdHlsZS5yZWxlYXNlKCk7Ci19Ci0KLXZv
aWQgRGF0ZVRpbWVFZGl0RWxlbWVudDo6ZGlkQmx1ckZyb21GaWVsZCgpCi17Ci0gICAgaWYgKG1f
ZWRpdENvbnRyb2xPd25lcikKLSAgICAgICAgbV9lZGl0Q29udHJvbE93bmVyLT5kaWRCbHVyRnJv
bUNvbnRyb2woKTsKLX0KLQotdm9pZCBEYXRlVGltZUVkaXRFbGVtZW50OjpkaWRGb2N1c09uRmll
bGQoKQotewotICAgIGlmIChtX2VkaXRDb250cm9sT3duZXIpCi0gICAgICAgIG1fZWRpdENvbnRy
b2xPd25lci0+ZGlkRm9jdXNPbkNvbnRyb2woKTsKLX0KLQotdm9pZCBEYXRlVGltZUVkaXRFbGVt
ZW50OjpkaXNhYmxlZFN0YXRlQ2hhbmdlZCgpCi17Ci0gICAgdXBkYXRlVUlTdGF0ZSgpOwotfQot
Ci1EYXRlVGltZUZpZWxkRWxlbWVudCogRGF0ZVRpbWVFZGl0RWxlbWVudDo6ZmllbGRBdChzaXpl
X3QgZmllbGRJbmRleCkgY29uc3QKLXsKLSAgICByZXR1cm4gZmllbGRJbmRleCA8IG1fZmllbGRz
LnNpemUoKSA/IG1fZmllbGRzW2ZpZWxkSW5kZXhdIDogMDsKLX0KLQotc2l6ZV90IERhdGVUaW1l
RWRpdEVsZW1lbnQ6OmZpZWxkSW5kZXhPZihjb25zdCBEYXRlVGltZUZpZWxkRWxlbWVudCYgZmll
bGQpIGNvbnN0Ci17Ci0gICAgZm9yIChzaXplX3QgZmllbGRJbmRleCA9IDA7IGZpZWxkSW5kZXgg
PCBtX2ZpZWxkcy5zaXplKCk7ICsrZmllbGRJbmRleCkgewotICAgICAgICBpZiAobV9maWVsZHNb
ZmllbGRJbmRleF0gPT0gJmZpZWxkKQotICAgICAgICAgICAgcmV0dXJuIGZpZWxkSW5kZXg7Ci0g
ICAgfQotICAgIHJldHVybiBpbnZhbGlkRmllbGRJbmRleDsKLX0KLQotdm9pZCBEYXRlVGltZUVk
aXRFbGVtZW50Ojpmb2N1c0lmTm9Gb2N1cygpCi17Ci0gICAgaWYgKGZvY3VzZWRGaWVsZEluZGV4
KCkgIT0gaW52YWxpZEZpZWxkSW5kZXgpCi0gICAgICAgIHJldHVybjsKLSAgICBmb2N1c09uTmV4
dEZvY3VzYWJsZUZpZWxkKDApOwotfQotCi12b2lkIERhdGVUaW1lRWRpdEVsZW1lbnQ6OmZvY3Vz
QnlPd25lcihOb2RlKiBvbGRGb2N1c2VkTm9kZSkKLXsKLSAgICBpZiAob2xkRm9jdXNlZE5vZGUg
JiYgb2xkRm9jdXNlZE5vZGUtPmlzRWxlbWVudE5vZGUoKSAmJiB0b0VsZW1lbnQob2xkRm9jdXNl
ZE5vZGUpLT5pc0RhdGVUaW1lRmllbGRFbGVtZW50KCkpIHsKLSAgICAgICAgRGF0ZVRpbWVGaWVs
ZEVsZW1lbnQqIG9sZEZvY3VzZWRGaWVsZCA9IHN0YXRpY19jYXN0PERhdGVUaW1lRmllbGRFbGVt
ZW50Kj4ob2xkRm9jdXNlZE5vZGUpOwotICAgICAgICBzaXplX3QgaW5kZXggPSBmaWVsZEluZGV4
T2YoKm9sZEZvY3VzZWRGaWVsZCk7Ci0gICAgICAgIGlmIChpbmRleCAhPSBpbnZhbGlkRmllbGRJ
bmRleCAmJiBvbGRGb2N1c2VkRmllbGQtPmlzRm9jdXNhYmxlKCkpIHsKLSAgICAgICAgICAgIG9s
ZEZvY3VzZWRGaWVsZC0+Zm9jdXMoKTsKLSAgICAgICAgICAgIHJldHVybjsKLSAgICAgICAgfQot
ICAgIH0KLSAgICBmb2N1c09uTmV4dEZvY3VzYWJsZUZpZWxkKDApOwotfQotCi1EYXRlVGltZUZp
ZWxkRWxlbWVudCogRGF0ZVRpbWVFZGl0RWxlbWVudDo6Zm9jdXNlZEZpZWxkKCkgY29uc3QKLXsK
LSAgICByZXR1cm4gZmllbGRBdChmb2N1c2VkRmllbGRJbmRleCgpKTsKLX0KLQotc2l6ZV90IERh
dGVUaW1lRWRpdEVsZW1lbnQ6OmZvY3VzZWRGaWVsZEluZGV4KCkgY29uc3QKLXsKLSAgICBOb2Rl
KiBjb25zdCBmb2N1c2VkRmllbGROb2RlID0gZG9jdW1lbnQoKS0+Zm9jdXNlZEVsZW1lbnQoKTsK
LSAgICBmb3IgKHNpemVfdCBmaWVsZEluZGV4ID0gMDsgZmllbGRJbmRleCA8IG1fZmllbGRzLnNp
emUoKTsgKytmaWVsZEluZGV4KSB7Ci0gICAgICAgIGlmIChtX2ZpZWxkc1tmaWVsZEluZGV4XSA9
PSBmb2N1c2VkRmllbGROb2RlKQotICAgICAgICAgICAgcmV0dXJuIGZpZWxkSW5kZXg7Ci0gICAg
fQotICAgIHJldHVybiBpbnZhbGlkRmllbGRJbmRleDsKLX0KLQotdm9pZCBEYXRlVGltZUVkaXRF
bGVtZW50OjpmaWVsZFZhbHVlQ2hhbmdlZCgpCi17Ci0gICAgaWYgKG1fZWRpdENvbnRyb2xPd25l
cikKLSAgICAgICAgbV9lZGl0Q29udHJvbE93bmVyLT5lZGl0Q29udHJvbFZhbHVlQ2hhbmdlZCgp
OwotfQotCi1ib29sIERhdGVUaW1lRWRpdEVsZW1lbnQ6OmZvY3VzT25OZXh0Rm9jdXNhYmxlRmll
bGQoc2l6ZV90IHN0YXJ0SW5kZXgpCi17Ci0gICAgZm9yIChzaXplX3QgZmllbGRJbmRleCA9IHN0
YXJ0SW5kZXg7IGZpZWxkSW5kZXggPCBtX2ZpZWxkcy5zaXplKCk7ICsrZmllbGRJbmRleCkgewot
ICAgICAgICBpZiAobV9maWVsZHNbZmllbGRJbmRleF0tPmlzRm9jdXNhYmxlKCkpIHsKLSAgICAg
ICAgICAgIG1fZmllbGRzW2ZpZWxkSW5kZXhdLT5mb2N1cygpOwotICAgICAgICAgICAgcmV0dXJu
IHRydWU7Ci0gICAgICAgIH0KLSAgICB9Ci0gICAgcmV0dXJuIGZhbHNlOwotfQotCi1ib29sIERh
dGVUaW1lRWRpdEVsZW1lbnQ6OmZvY3VzT25OZXh0RmllbGQoY29uc3QgRGF0ZVRpbWVGaWVsZEVs
ZW1lbnQmIGZpZWxkKQotewotICAgIGNvbnN0IHNpemVfdCBzdGFydEZpZWxkSW5kZXggPSBmaWVs
ZEluZGV4T2YoZmllbGQpOwotICAgIGlmIChzdGFydEZpZWxkSW5kZXggPT0gaW52YWxpZEZpZWxk
SW5kZXgpCi0gICAgICAgIHJldHVybiBmYWxzZTsKLSAgICByZXR1cm4gZm9jdXNPbk5leHRGb2N1
c2FibGVGaWVsZChzdGFydEZpZWxkSW5kZXggKyAxKTsKLX0KLQotYm9vbCBEYXRlVGltZUVkaXRF
bGVtZW50Ojpmb2N1c09uUHJldmlvdXNGaWVsZChjb25zdCBEYXRlVGltZUZpZWxkRWxlbWVudCYg
ZmllbGQpCi17Ci0gICAgY29uc3Qgc2l6ZV90IHN0YXJ0RmllbGRJbmRleCA9IGZpZWxkSW5kZXhP
ZihmaWVsZCk7Ci0gICAgaWYgKHN0YXJ0RmllbGRJbmRleCA9PSBpbnZhbGlkRmllbGRJbmRleCkK
LSAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgIHNpemVfdCBmaWVsZEluZGV4ID0gc3RhcnRGaWVs
ZEluZGV4OwotICAgIHdoaWxlIChmaWVsZEluZGV4ID4gMCkgewotICAgICAgICAtLWZpZWxkSW5k
ZXg7Ci0gICAgICAgIGlmIChtX2ZpZWxkc1tmaWVsZEluZGV4XS0+aXNGb2N1c2FibGUoKSkgewot
ICAgICAgICAgICAgbV9maWVsZHNbZmllbGRJbmRleF0tPmZvY3VzKCk7Ci0gICAgICAgICAgICBy
ZXR1cm4gdHJ1ZTsKLSAgICAgICAgfQotICAgIH0KLSAgICByZXR1cm4gZmFsc2U7Ci19Ci0KLWJv
b2wgRGF0ZVRpbWVFZGl0RWxlbWVudDo6aXNEaXNhYmxlZCgpIGNvbnN0Ci17Ci0gICAgcmV0dXJu
IG1fZWRpdENvbnRyb2xPd25lciAmJiBtX2VkaXRDb250cm9sT3duZXItPmlzRWRpdENvbnRyb2xP
d25lckRpc2FibGVkKCk7Ci19Ci0KLWJvb2wgRGF0ZVRpbWVFZGl0RWxlbWVudDo6aXNGaWVsZE93
bmVyRGlzYWJsZWQoKSBjb25zdAotewotICAgIHJldHVybiBpc0Rpc2FibGVkKCk7Ci19Ci0KLWJv
b2wgRGF0ZVRpbWVFZGl0RWxlbWVudDo6aXNGaWVsZE93bmVyUmVhZE9ubHkoKSBjb25zdAotewot
ICAgIHJldHVybiBpc1JlYWRPbmx5KCk7Ci19Ci0KLWJvb2wgRGF0ZVRpbWVFZGl0RWxlbWVudDo6
aXNSZWFkT25seSgpIGNvbnN0Ci17Ci0gICAgcmV0dXJuIG1fZWRpdENvbnRyb2xPd25lciAmJiBt
X2VkaXRDb250cm9sT3duZXItPmlzRWRpdENvbnRyb2xPd25lclJlYWRPbmx5KCk7Ci19Ci0KLXZv
aWQgRGF0ZVRpbWVFZGl0RWxlbWVudDo6bGF5b3V0KGNvbnN0IExheW91dFBhcmFtZXRlcnMmIGxh
eW91dFBhcmFtZXRlcnMsIGNvbnN0IERhdGVDb21wb25lbnRzJiBkYXRlVmFsdWUpCi17Ci0gICAg
REVGSU5FX1NUQVRJQ19MT0NBTChBdG9taWNTdHJpbmcsIGZpZWxkc1dyYXBwZXJQc2V1ZG9JZCwg
KCItd2Via2l0LWRhdGV0aW1lLWVkaXQtZmllbGRzLXdyYXBwZXIiLCBBdG9taWNTdHJpbmc6OkNv
bnN0cnVjdEZyb21MaXRlcmFsKSk7Ci0gICAgaWYgKCFmaXJzdENoaWxkKCkpIHsKLSAgICAgICAg
UmVmUHRyPEhUTUxEaXZFbGVtZW50PiBlbGVtZW50ID0gSFRNTERpdkVsZW1lbnQ6OmNyZWF0ZShk
b2N1bWVudCgpKTsKLSAgICAgICAgZWxlbWVudC0+c2V0UHNldWRvKGZpZWxkc1dyYXBwZXJQc2V1
ZG9JZCk7Ci0gICAgICAgIGFwcGVuZENoaWxkKGVsZW1lbnQuZ2V0KCkpOwotICAgIH0KLSAgICBF
bGVtZW50KiBmaWVsZHNXcmFwcGVyID0gZmllbGRzV3JhcHBlckVsZW1lbnQoKTsKLQotICAgIHNp
emVfdCBmb2N1c2VkRmllbGRJbmRleCA9IHRoaXMtPmZvY3VzZWRGaWVsZEluZGV4KCk7Ci0gICAg
RGF0ZVRpbWVGaWVsZEVsZW1lbnQqIGNvbnN0IGZvY3VzZWRGaWVsZCA9IGZpZWxkQXQoZm9jdXNl
ZEZpZWxkSW5kZXgpOwotICAgIGNvbnN0IEF0b21pY1N0cmluZyBmb2N1c2VkRmllbGRJZCA9IGZv
Y3VzZWRGaWVsZCA/IGZvY3VzZWRGaWVsZC0+c2hhZG93UHNldWRvSWQoKSA6IG51bGxBdG9tOwot
Ci0gICAgRGF0ZVRpbWVFZGl0QnVpbGRlciBidWlsZGVyKCp0aGlzLCBsYXlvdXRQYXJhbWV0ZXJz
LCBkYXRlVmFsdWUpOwotICAgIE5vZGUqIGxhc3RDaGlsZFRvQmVSZW1vdmVkID0gZmllbGRzV3Jh
cHBlci0+bGFzdENoaWxkKCk7Ci0gICAgaWYgKCFidWlsZGVyLmJ1aWxkKGxheW91dFBhcmFtZXRl
cnMuZGF0ZVRpbWVGb3JtYXQpIHx8IG1fZmllbGRzLmlzRW1wdHkoKSkgewotICAgICAgICBsYXN0
Q2hpbGRUb0JlUmVtb3ZlZCA9IGZpZWxkc1dyYXBwZXItPmxhc3RDaGlsZCgpOwotICAgICAgICBi
dWlsZGVyLmJ1aWxkKGxheW91dFBhcmFtZXRlcnMuZmFsbGJhY2tEYXRlVGltZUZvcm1hdCk7Ci0g
ICAgfQotCi0gICAgaWYgKGZvY3VzZWRGaWVsZEluZGV4ICE9IGludmFsaWRGaWVsZEluZGV4KSB7
Ci0gICAgICAgIGZvciAoc2l6ZV90IGZpZWxkSW5kZXggPSAwOyBmaWVsZEluZGV4IDwgbV9maWVs
ZHMuc2l6ZSgpOyArK2ZpZWxkSW5kZXgpIHsKLSAgICAgICAgICAgIGlmIChtX2ZpZWxkc1tmaWVs
ZEluZGV4XS0+c2hhZG93UHNldWRvSWQoKSA9PSBmb2N1c2VkRmllbGRJZCkgewotICAgICAgICAg
ICAgICAgIGZvY3VzZWRGaWVsZEluZGV4ID0gZmllbGRJbmRleDsKLSAgICAgICAgICAgICAgICBi
cmVhazsKLSAgICAgICAgICAgIH0KLSAgICAgICAgfQotICAgICAgICBpZiAoRGF0ZVRpbWVGaWVs
ZEVsZW1lbnQqIGZpZWxkID0gZmllbGRBdChzdGQ6Om1pbihmb2N1c2VkRmllbGRJbmRleCwgbV9m
aWVsZHMuc2l6ZSgpIC0gMSkpKQotICAgICAgICAgICAgZmllbGQtPmZvY3VzKCk7Ci0gICAgfQot
Ci0gICAgaWYgKGxhc3RDaGlsZFRvQmVSZW1vdmVkKSB7Ci0gICAgICAgIGZvciAoTm9kZSogY2hp
bGROb2RlID0gZmllbGRzV3JhcHBlci0+Zmlyc3RDaGlsZCgpOyBjaGlsZE5vZGU7IGNoaWxkTm9k
ZSA9IGZpZWxkc1dyYXBwZXItPmZpcnN0Q2hpbGQoKSkgewotICAgICAgICAgICAgZmllbGRzV3Jh
cHBlci0+cmVtb3ZlQ2hpbGQoY2hpbGROb2RlKTsKLSAgICAgICAgICAgIGlmIChjaGlsZE5vZGUg
PT0gbGFzdENoaWxkVG9CZVJlbW92ZWQpCi0gICAgICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAg
IH0KLSAgICAgICAgc2V0TmVlZHNTdHlsZVJlY2FsYygpOwotICAgIH0KLX0KLQotQXRvbWljU3Ry
aW5nIERhdGVUaW1lRWRpdEVsZW1lbnQ6OmxvY2FsZUlkZW50aWZpZXIoKSBjb25zdAotewotICAg
IHJldHVybiBtX2VkaXRDb250cm9sT3duZXIgPyBtX2VkaXRDb250cm9sT3duZXItPmxvY2FsZUlk
ZW50aWZpZXIoKSA6IG51bGxBdG9tOwotfQotCi12b2lkIERhdGVUaW1lRWRpdEVsZW1lbnQ6OnJl
YWRPbmx5U3RhdGVDaGFuZ2VkKCkKLXsKLSAgICB1cGRhdGVVSVN0YXRlKCk7Ci19Ci0KLXZvaWQg
RGF0ZVRpbWVFZGl0RWxlbWVudDo6cmVzZXRGaWVsZHMoKQotewotICAgIGZvciAoc2l6ZV90IGZp
ZWxkSW5kZXggPSAwOyBmaWVsZEluZGV4IDwgbV9maWVsZHMuc2l6ZSgpOyArK2ZpZWxkSW5kZXgp
Ci0gICAgICAgIG1fZmllbGRzW2ZpZWxkSW5kZXhdLT5yZW1vdmVFdmVudEhhbmRsZXIoKTsKLSAg
ICBtX2ZpZWxkcy5zaHJpbmsoMCk7Ci19Ci0KLXZvaWQgRGF0ZVRpbWVFZGl0RWxlbWVudDo6ZGVm
YXVsdEV2ZW50SGFuZGxlcihFdmVudCogZXZlbnQpCi17Ci0gICAgLy8gSW4gY2FzZSBvZiBjb250
cm9sIG93bmVyIGZvcndhcmQgZXZlbnQgdG8gY29udHJvbCwgZS5nLiBET00KLSAgICAvLyBkaXNw
YXRjaEV2ZW50IG1ldGhvZC4KLSAgICBpZiAoRGF0ZVRpbWVGaWVsZEVsZW1lbnQqIGZpZWxkID0g
Zm9jdXNlZEZpZWxkKCkpIHsKLSAgICAgICAgZmllbGQtPmRlZmF1bHRFdmVudEhhbmRsZXIoZXZl
bnQpOwotICAgICAgICBpZiAoZXZlbnQtPmRlZmF1bHRIYW5kbGVkKCkpCi0gICAgICAgICAgICBy
ZXR1cm47Ci0gICAgfQotCi0gICAgSFRNTERpdkVsZW1lbnQ6OmRlZmF1bHRFdmVudEhhbmRsZXIo
ZXZlbnQpOwotfQotCi12b2lkIERhdGVUaW1lRWRpdEVsZW1lbnQ6OnNldFZhbHVlQXNEYXRlKGNv
bnN0IExheW91dFBhcmFtZXRlcnMmIGxheW91dFBhcmFtZXRlcnMsIGNvbnN0IERhdGVDb21wb25l
bnRzJiBkYXRlKQotewotICAgIGxheW91dChsYXlvdXRQYXJhbWV0ZXJzLCBkYXRlKTsKLSAgICBm
b3IgKHNpemVfdCBmaWVsZEluZGV4ID0gMDsgZmllbGRJbmRleCA8IG1fZmllbGRzLnNpemUoKTsg
KytmaWVsZEluZGV4KQotICAgICAgICBtX2ZpZWxkc1tmaWVsZEluZGV4XS0+c2V0VmFsdWVBc0Rh
dGUoZGF0ZSk7Ci19Ci0KLXZvaWQgRGF0ZVRpbWVFZGl0RWxlbWVudDo6c2V0VmFsdWVBc0RhdGVU
aW1lRmllbGRzU3RhdGUoY29uc3QgRGF0ZVRpbWVGaWVsZHNTdGF0ZSYgZGF0ZVRpbWVGaWVsZHNT
dGF0ZSkKLXsKLSAgICBmb3IgKHNpemVfdCBmaWVsZEluZGV4ID0gMDsgZmllbGRJbmRleCA8IG1f
ZmllbGRzLnNpemUoKTsgKytmaWVsZEluZGV4KQotICAgICAgICBtX2ZpZWxkc1tmaWVsZEluZGV4
XS0+c2V0VmFsdWVBc0RhdGVUaW1lRmllbGRzU3RhdGUoZGF0ZVRpbWVGaWVsZHNTdGF0ZSk7Ci19
Ci0KLXZvaWQgRGF0ZVRpbWVFZGl0RWxlbWVudDo6c2V0RW1wdHlWYWx1ZShjb25zdCBMYXlvdXRQ
YXJhbWV0ZXJzJiBsYXlvdXRQYXJhbWV0ZXJzLCBjb25zdCBEYXRlQ29tcG9uZW50cyYgZGF0ZUZv
clJlYWRPbmx5RmllbGQpCi17Ci0gICAgbGF5b3V0KGxheW91dFBhcmFtZXRlcnMsIGRhdGVGb3JS
ZWFkT25seUZpZWxkKTsKLSAgICBmb3IgKHNpemVfdCBmaWVsZEluZGV4ID0gMDsgZmllbGRJbmRl
eCA8IG1fZmllbGRzLnNpemUoKTsgKytmaWVsZEluZGV4KQotICAgICAgICBtX2ZpZWxkc1tmaWVs
ZEluZGV4XS0+c2V0RW1wdHlWYWx1ZShEYXRlVGltZUZpZWxkRWxlbWVudDo6RGlzcGF0Y2hOb0V2
ZW50KTsKLX0KLQotYm9vbCBEYXRlVGltZUVkaXRFbGVtZW50OjpoYXNGb2N1c2VkRmllbGQoKQot
ewotICAgIHJldHVybiBmb2N1c2VkRmllbGRJbmRleCgpICE9IGludmFsaWRGaWVsZEluZGV4Owot
fQotCi12b2lkIERhdGVUaW1lRWRpdEVsZW1lbnQ6OnNldE9ubHlZZWFyTW9udGhEYXkoY29uc3Qg
RGF0ZUNvbXBvbmVudHMmIGRhdGUpCi17Ci0gICAgQVNTRVJUKGRhdGUudHlwZSgpID09IERhdGVD
b21wb25lbnRzOjpEYXRlKTsKLQotICAgIGlmICghbV9lZGl0Q29udHJvbE93bmVyKQotICAgICAg
ICByZXR1cm47Ci0KLSAgICBEYXRlVGltZUZpZWxkc1N0YXRlIGRhdGVUaW1lRmllbGRzU3RhdGUg
PSB2YWx1ZUFzRGF0ZVRpbWVGaWVsZHNTdGF0ZSgpOwotICAgIGRhdGVUaW1lRmllbGRzU3RhdGUu
c2V0WWVhcihkYXRlLmZ1bGxZZWFyKCkpOwotICAgIGRhdGVUaW1lRmllbGRzU3RhdGUuc2V0TW9u
dGgoZGF0ZS5tb250aCgpICsgMSk7Ci0gICAgZGF0ZVRpbWVGaWVsZHNTdGF0ZS5zZXREYXlPZk1v
bnRoKGRhdGUubW9udGhEYXkoKSk7Ci0gICAgc2V0VmFsdWVBc0RhdGVUaW1lRmllbGRzU3RhdGUo
ZGF0ZVRpbWVGaWVsZHNTdGF0ZSk7Ci0gICAgbV9lZGl0Q29udHJvbE93bmVyLT5lZGl0Q29udHJv
bFZhbHVlQ2hhbmdlZCgpOwotfQotCi12b2lkIERhdGVUaW1lRWRpdEVsZW1lbnQ6OnN0ZXBEb3du
KCkKLXsKLSAgICBpZiAoRGF0ZVRpbWVGaWVsZEVsZW1lbnQqIGNvbnN0IGZpZWxkID0gZm9jdXNl
ZEZpZWxkKCkpCi0gICAgICAgIGZpZWxkLT5zdGVwRG93bigpOwotfQotCi12b2lkIERhdGVUaW1l
RWRpdEVsZW1lbnQ6OnN0ZXBVcCgpCi17Ci0gICAgaWYgKERhdGVUaW1lRmllbGRFbGVtZW50KiBj
b25zdCBmaWVsZCA9IGZvY3VzZWRGaWVsZCgpKQotICAgICAgICBmaWVsZC0+c3RlcFVwKCk7Ci19
Ci0KLXZvaWQgRGF0ZVRpbWVFZGl0RWxlbWVudDo6dXBkYXRlVUlTdGF0ZSgpCi17Ci0gICAgaWYg
KGlzRGlzYWJsZWQoKSkgewotICAgICAgICBpZiAoRGF0ZVRpbWVGaWVsZEVsZW1lbnQqIGZpZWxk
ID0gZm9jdXNlZEZpZWxkKCkpCi0gICAgICAgICAgICBmaWVsZC0+Ymx1cigpOwotICAgIH0KLX0K
LQotU3RyaW5nIERhdGVUaW1lRWRpdEVsZW1lbnQ6OnZhbHVlKCkgY29uc3QKLXsKLSAgICBpZiAo
IW1fZWRpdENvbnRyb2xPd25lcikKLSAgICAgICAgcmV0dXJuIGVtcHR5U3RyaW5nKCk7Ci0gICAg
cmV0dXJuIG1fZWRpdENvbnRyb2xPd25lci0+Zm9ybWF0RGF0ZVRpbWVGaWVsZHNTdGF0ZSh2YWx1
ZUFzRGF0ZVRpbWVGaWVsZHNTdGF0ZSgpKTsKLX0KLQotRGF0ZVRpbWVGaWVsZHNTdGF0ZSBEYXRl
VGltZUVkaXRFbGVtZW50Ojp2YWx1ZUFzRGF0ZVRpbWVGaWVsZHNTdGF0ZSgpIGNvbnN0Ci17Ci0g
ICAgRGF0ZVRpbWVGaWVsZHNTdGF0ZSBkYXRlVGltZUZpZWxkc1N0YXRlOwotICAgIGZvciAoc2l6
ZV90IGZpZWxkSW5kZXggPSAwOyBmaWVsZEluZGV4IDwgbV9maWVsZHMuc2l6ZSgpOyArK2ZpZWxk
SW5kZXgpCi0gICAgICAgIG1fZmllbGRzW2ZpZWxkSW5kZXhdLT5wb3B1bGF0ZURhdGVUaW1lRmll
bGRzU3RhdGUoZGF0ZVRpbWVGaWVsZHNTdGF0ZSk7Ci0gICAgcmV0dXJuIGRhdGVUaW1lRmllbGRz
U3RhdGU7Ci19Ci0KLX0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKLQotI2VuZGlmCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9EYXRlVGltZUVkaXRFbGVtZW50LmggYi9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL3NoYWRvdy9EYXRlVGltZUVkaXRFbGVtZW50LmgKZGVsZXRlZCBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDRlMjM1ZDU0MGUwN2YwNjVhYWQxNTEzM2ExNGQ5NTkxMWM3ODBj
MTQuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvU291cmNl
L1dlYkNvcmUvaHRtbC9zaGFkb3cvRGF0ZVRpbWVFZGl0RWxlbWVudC5oCisrKyAvZGV2L251bGwK
QEAgLTEsMTU0ICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTIgR29vZ2xlIEluYy4g
QWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNv
dXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwg
YXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotICog
YXJlIG1ldDoKLSAqIDEuICBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRh
aW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqIDIuICBSZWRpc3RyaWJ1dGlv
bnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotICog
ICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lciBpbiB0aGUKLSAqICAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlh
bHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUg
SVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycg
QU5ECi0gKiBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVU
IE5PVCBMSU1JVEVEIFRPLCBUSEUKLSAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFC
SUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFCi0gKiBBUkUgRElTQ0xB
SU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTIEJF
IExJQUJMRQotICogRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFM
LCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwKLSAqIERBTUFHRVMgKElOQ0xVRElORywgQlVU
IE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SCi0gKiBT
RVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVS
UlVQVElPTikgSE9XRVZFUgotICogQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElU
WSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUCi0gKiBMSUFCSUxJVFksIE9SIFRPUlQgKElO
Q0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZCi0gKiBP
VVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBP
U1NJQklMSVRZIE9GCi0gKiBTVUNIIERBTUFHRS4KLSAqLwotCi0jaWZuZGVmIERhdGVUaW1lRWRp
dEVsZW1lbnRfaAotI2RlZmluZSBEYXRlVGltZUVkaXRFbGVtZW50X2gKLQotI2lmIEVOQUJMRShJ
TlBVVF9NVUxUSVBMRV9GSUVMRFNfVUkpCi0jaW5jbHVkZSAiRGF0ZUNvbXBvbmVudHMuaCIKLSNp
bmNsdWRlICJEYXRlVGltZUZpZWxkRWxlbWVudC5oIgotI2luY2x1ZGUgIlN0ZXBSYW5nZS5oIgot
Ci1uYW1lc3BhY2UgV2ViQ29yZSB7Ci0KLWNsYXNzIERhdGVUaW1lRmllbGRzU3RhdGU7Ci1jbGFz
cyBLZXlib2FyZEV2ZW50OwotY2xhc3MgTG9jYWxlOwotY2xhc3MgTW91c2VFdmVudDsKLWNsYXNz
IFN0ZXBSYW5nZTsKLQotLy8gRGF0ZVRpbWVFZGl0RWxlbWVudCBjbGFzcyBjb250YWlucyBudW1i
ZXJpYyBmaWVsZCBhbmQgc3ltYm9sYyBmaWVsZCBmb3IKLS8vIHJlcHJlc2VudGluZyBkYXRlIGFu
ZCB0aW1lLCBzdWNoIGFzCi0vLyAgLSBZZWFyLCBNb250aCwgRGF5IE9mIE1vbnRoCi0vLyAgLSBI
b3VyLCBNaW51dGUsIFNlY29uZCwgTWlsbGlzZWNvbmQsIEFNL1BNCi1jbGFzcyBEYXRlVGltZUVk
aXRFbGVtZW50IEZJTkFMIDogcHVibGljIEhUTUxEaXZFbGVtZW50LCBwdWJsaWMgRGF0ZVRpbWVG
aWVsZEVsZW1lbnQ6OkZpZWxkT3duZXIgewotICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKERhdGVU
aW1lRWRpdEVsZW1lbnQpOwotCi1wdWJsaWM6Ci0gICAgLy8gRWRpdENvbnRyb2xPd25lciBpbXBs
ZW1lbnRlciBtdXN0IGNhbGwgcmVtb3ZlRWRpdENvbnRyb2xPd25lciB3aGVuCi0gICAgLy8gaXQg
ZG9lc24ndCBoYW5kbGUgZXZlbnQsIGUuZy4gYXQgZGVzdHJ1Y3Rpb24uCi0gICAgY2xhc3MgRWRp
dENvbnRyb2xPd25lciB7Ci0gICAgcHVibGljOgotICAgICAgICB2aXJ0dWFsIH5FZGl0Q29udHJv
bE93bmVyKCk7Ci0gICAgICAgIHZpcnR1YWwgdm9pZCBkaWRCbHVyRnJvbUNvbnRyb2woKSA9IDA7
Ci0gICAgICAgIHZpcnR1YWwgdm9pZCBkaWRGb2N1c09uQ29udHJvbCgpID0gMDsKLSAgICAgICAg
dmlydHVhbCB2b2lkIGVkaXRDb250cm9sVmFsdWVDaGFuZ2VkKCkgPSAwOwotICAgICAgICB2aXJ0
dWFsIFN0cmluZyBmb3JtYXREYXRlVGltZUZpZWxkc1N0YXRlKGNvbnN0IERhdGVUaW1lRmllbGRz
U3RhdGUmKSBjb25zdCA9IDA7Ci0gICAgICAgIHZpcnR1YWwgYm9vbCBpc0VkaXRDb250cm9sT3du
ZXJEaXNhYmxlZCgpIGNvbnN0ID0gMDsKLSAgICAgICAgdmlydHVhbCBib29sIGlzRWRpdENvbnRy
b2xPd25lclJlYWRPbmx5KCkgY29uc3QgPSAwOwotICAgICAgICB2aXJ0dWFsIEF0b21pY1N0cmlu
ZyBsb2NhbGVJZGVudGlmaWVyKCkgY29uc3QgPSAwOwotICAgIH07Ci0KLSAgICBzdHJ1Y3QgTGF5
b3V0UGFyYW1ldGVycyB7Ci0gICAgICAgIFN0cmluZyBkYXRlVGltZUZvcm1hdDsKLSAgICAgICAg
U3RyaW5nIGZhbGxiYWNrRGF0ZVRpbWVGb3JtYXQ7Ci0gICAgICAgIExvY2FsZSYgbG9jYWxlOwot
ICAgICAgICBjb25zdCBTdGVwUmFuZ2Ugc3RlcFJhbmdlOwotICAgICAgICBEYXRlQ29tcG9uZW50
cyBtaW5pbXVtOwotICAgICAgICBEYXRlQ29tcG9uZW50cyBtYXhpbXVtOwotICAgICAgICBTdHJp
bmcgcGxhY2Vob2xkZXJGb3JEYXk7Ci0gICAgICAgIFN0cmluZyBwbGFjZWhvbGRlckZvck1vbnRo
OwotICAgICAgICBTdHJpbmcgcGxhY2Vob2xkZXJGb3JZZWFyOwotCi0gICAgICAgIExheW91dFBh
cmFtZXRlcnMoTG9jYWxlJiBsb2NhbGUsIGNvbnN0IFN0ZXBSYW5nZSYgc3RlcFJhbmdlKQotICAg
ICAgICAgICAgOiBsb2NhbGUobG9jYWxlKQotICAgICAgICAgICAgLCBzdGVwUmFuZ2Uoc3RlcFJh
bmdlKQotICAgICAgICB7Ci0gICAgICAgIH0KLSAgICB9OwotCi0gICAgc3RhdGljIFBhc3NSZWZQ
dHI8RGF0ZVRpbWVFZGl0RWxlbWVudD4gY3JlYXRlKERvY3VtZW50KiwgRWRpdENvbnRyb2xPd25l
ciYpOwotCi0gICAgdmlydHVhbCB+RGF0ZVRpbWVFZGl0RWxlbWVudCgpOwotICAgIHZvaWQgYWRk
RmllbGQoUGFzc1JlZlB0cjxEYXRlVGltZUZpZWxkRWxlbWVudD4pOwotICAgIGJvb2wgYW55RWRp
dGFibGVGaWVsZHNIYXZlVmFsdWVzKCkgY29uc3Q7Ci0gICAgdm9pZCBibHVyQnlPd25lcigpOwot
ICAgIHZpcnR1YWwgdm9pZCBkZWZhdWx0RXZlbnRIYW5kbGVyKEV2ZW50KikgT1ZFUlJJREU7Ci0g
ICAgdm9pZCBkaXNhYmxlZFN0YXRlQ2hhbmdlZCgpOwotICAgIEVsZW1lbnQqIGZpZWxkc1dyYXBw
ZXJFbGVtZW50KCkgY29uc3Q7Ci0gICAgdm9pZCBmb2N1c0lmTm9Gb2N1cygpOwotICAgIC8vIElm
IG9sZEZvY3VzZWROb2RlIGlzIG9uZSBvZiBzdWItZmllbGRzLCBmb2N1cyBvbiBpdC4gT3RoZXJ3
aXNlIGZvY3VzIG9uCi0gICAgLy8gdGhlIGZpcnN0IHN1Yi1maWVsZC4KLSAgICB2b2lkIGZvY3Vz
QnlPd25lcihOb2RlKiBvbGRGb2N1c2VkTm9kZSA9IDApOwotICAgIGJvb2wgaGFzRm9jdXNlZEZp
ZWxkKCk7Ci0gICAgdm9pZCByZWFkT25seVN0YXRlQ2hhbmdlZCgpOwotICAgIHZvaWQgcmVtb3Zl
RWRpdENvbnRyb2xPd25lcigpIHsgbV9lZGl0Q29udHJvbE93bmVyID0gMDsgfQotICAgIHZvaWQg
cmVzZXRGaWVsZHMoKTsKLSAgICB2b2lkIHNldEVtcHR5VmFsdWUoY29uc3QgTGF5b3V0UGFyYW1l
dGVycyYsIGNvbnN0IERhdGVDb21wb25lbnRzJiBkYXRlRm9yUmVhZE9ubHlGaWVsZCk7Ci0gICAg
dm9pZCBzZXRWYWx1ZUFzRGF0ZShjb25zdCBMYXlvdXRQYXJhbWV0ZXJzJiwgY29uc3QgRGF0ZUNv
bXBvbmVudHMmKTsKLSAgICB2b2lkIHNldFZhbHVlQXNEYXRlVGltZUZpZWxkc1N0YXRlKGNvbnN0
IERhdGVUaW1lRmllbGRzU3RhdGUmKTsKLSAgICB2b2lkIHNldE9ubHlZZWFyTW9udGhEYXkoY29u
c3QgRGF0ZUNvbXBvbmVudHMmKTsKLSAgICB2b2lkIHN0ZXBEb3duKCk7Ci0gICAgdm9pZCBzdGVw
VXAoKTsKLSAgICBTdHJpbmcgdmFsdWUoKSBjb25zdDsKLSAgICBEYXRlVGltZUZpZWxkc1N0YXRl
IHZhbHVlQXNEYXRlVGltZUZpZWxkc1N0YXRlKCkgY29uc3Q7Ci0KLXByaXZhdGU6Ci0gICAgc3Rh
dGljIGNvbnN0IHNpemVfdCBpbnZhbGlkRmllbGRJbmRleCA9IHN0YXRpY19jYXN0PHNpemVfdD4o
LTEpOwotCi0gICAgLy8gRGF0ZXRpbWUgY2FuIGJlIHJlcHJlc2VudCBhdCBtb3N0IGZpdmUgZmll
bGRzLCBzdWNoIGFzCi0gICAgLy8gIDEuIHllYXIKLSAgICAvLyAgMi4gbW9udGgKLSAgICAvLyAg
My4gZGF5LW9mLW1vbnRoCi0gICAgLy8gIDQuIGhvdXIKLSAgICAvLyAgNS4gbWludXRlCi0gICAg
Ly8gIDYuIHNlY29uZAotICAgIC8vICA3LiBtaWxsaXNlY29uZAotICAgIC8vICA4LiBBTS9QTQot
ICAgIHN0YXRpYyBjb25zdCBpbnQgbWF4aW11bU51bWJlck9mRmllbGRzID0gODsKLQotICAgIERh
dGVUaW1lRWRpdEVsZW1lbnQoRG9jdW1lbnQqLCBFZGl0Q29udHJvbE93bmVyJik7Ci0KLSAgICBE
YXRlVGltZUZpZWxkRWxlbWVudCogZmllbGRBdChzaXplX3QpIGNvbnN0OwotICAgIHNpemVfdCBm
aWVsZEluZGV4T2YoY29uc3QgRGF0ZVRpbWVGaWVsZEVsZW1lbnQmKSBjb25zdDsKLSAgICBEYXRl
VGltZUZpZWxkRWxlbWVudCogZm9jdXNlZEZpZWxkKCkgY29uc3Q7Ci0gICAgc2l6ZV90IGZvY3Vz
ZWRGaWVsZEluZGV4KCkgY29uc3Q7Ci0gICAgYm9vbCBmb2N1c09uTmV4dEZvY3VzYWJsZUZpZWxk
KHNpemVfdCBzdGFydEluZGV4KTsKLSAgICBib29sIGlzRGlzYWJsZWQoKSBjb25zdDsKLSAgICBi
b29sIGlzUmVhZE9ubHkoKSBjb25zdDsKLSAgICB2b2lkIGxheW91dChjb25zdCBMYXlvdXRQYXJh
bWV0ZXJzJiwgY29uc3QgRGF0ZUNvbXBvbmVudHMmKTsKLSAgICB2b2lkIHVwZGF0ZVVJU3RhdGUo
KTsKLQotICAgIC8vIEVsZW1lbnQgZnVuY3Rpb24uCi0gICAgdmlydHVhbCBQYXNzUmVmUHRyPFJl
bmRlclN0eWxlPiBjdXN0b21TdHlsZUZvclJlbmRlcmVyKCkgT1ZFUlJJREU7Ci0KLSAgICAvLyBE
YXRlVGltZUZpZWxkRWxlbWVudDo6RmllbGRPd25lciBmdW5jdGlvbnMuCi0gICAgdmlydHVhbCB2
b2lkIGRpZEJsdXJGcm9tRmllbGQoKSBPVkVSUklERSBGSU5BTDsKLSAgICB2aXJ0dWFsIHZvaWQg
ZGlkRm9jdXNPbkZpZWxkKCkgT1ZFUlJJREUgRklOQUw7Ci0gICAgdmlydHVhbCB2b2lkIGZpZWxk
VmFsdWVDaGFuZ2VkKCkgT1ZFUlJJREUgRklOQUw7Ci0gICAgdmlydHVhbCBib29sIGZvY3VzT25O
ZXh0RmllbGQoY29uc3QgRGF0ZVRpbWVGaWVsZEVsZW1lbnQmKSBPVkVSUklERSBGSU5BTDsKLSAg
ICB2aXJ0dWFsIGJvb2wgZm9jdXNPblByZXZpb3VzRmllbGQoY29uc3QgRGF0ZVRpbWVGaWVsZEVs
ZW1lbnQmKSBPVkVSUklERSBGSU5BTDsKLSAgICB2aXJ0dWFsIGJvb2wgaXNGaWVsZE93bmVyRGlz
YWJsZWQoKSBjb25zdCBPVkVSUklERSBGSU5BTDsKLSAgICB2aXJ0dWFsIGJvb2wgaXNGaWVsZE93
bmVyUmVhZE9ubHkoKSBjb25zdCBPVkVSUklERSBGSU5BTDsKLSAgICB2aXJ0dWFsIEF0b21pY1N0
cmluZyBsb2NhbGVJZGVudGlmaWVyKCkgY29uc3QgT1ZFUlJJREUgRklOQUw7Ci0KLSAgICBWZWN0
b3I8RGF0ZVRpbWVGaWVsZEVsZW1lbnQqLCBtYXhpbXVtTnVtYmVyT2ZGaWVsZHM+IG1fZmllbGRz
OwotICAgIEVkaXRDb250cm9sT3duZXIqIG1fZWRpdENvbnRyb2xPd25lcjsKLX07Ci0KLX0gLy8g
bmFtZXNwYWNlIFdlYkNvcmUKLQotI2VuZGlmCi0jZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvc2hhZG93L0RhdGVUaW1lRmllbGRFbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJD
b3JlL2h0bWwvc2hhZG93L0RhdGVUaW1lRmllbGRFbGVtZW50LmNwcApkZWxldGVkIGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggYjk3MjEyZWE3OTc0YTVlOTZiNDk2MzVlYjNkZWEzMTIyY2NjOGM3Ni4u
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9odG1sL3NoYWRvdy9EYXRlVGltZUZpZWxkRWxlbWVudC5jcHAKKysrIC9kZXYvbnVsbApA
QCAtMSwyNDcgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAxMiBHb29nbGUgSW5jLiBB
bGwgcmlnaHRzIHJlc2VydmVkLgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291
cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBh
cmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBh
cmUgbWV0OgotICogMS4gIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFp
biB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogMi4gIFJlZGlzdHJpYnV0aW9u
cyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAg
ICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyIGluIHRoZQotICogICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFs
cyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJ
UyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJyBB
TkQKLSAqIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sIFRIRQotICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJ
TElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UKLSAqIEFSRSBESVNDTEFJ
TUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMgQkUg
TElBQkxFCi0gKiBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUws
IEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTAotICogREFNQUdFUyAoSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IKLSAqIFNF
UlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJS
VVBUSU9OKSBIT1dFVkVSCi0gKiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZ
LCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QKLSAqIExJQUJJTElUWSwgT1IgVE9SVCAoSU5D
TFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkKLSAqIE9V
VCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9T
U0lCSUxJVFkgT0YKLSAqIFNVQ0ggREFNQUdFLgotICovCi0KLSNpbmNsdWRlICJjb25maWcuaCIK
LSNpZiBFTkFCTEUoSU5QVVRfTVVMVElQTEVfRklFTERTX1VJKQotI2luY2x1ZGUgIkRhdGVUaW1l
RmllbGRFbGVtZW50LmgiCi0KLSNpbmNsdWRlICJEYXRlQ29tcG9uZW50cy5oIgotI2luY2x1ZGUg
IkhUTUxOYW1lcy5oIgotI2luY2x1ZGUgIktleWJvYXJkRXZlbnQuaCIKLSNpbmNsdWRlICJMb2Nh
bGl6ZWRTdHJpbmdzLmgiCi0jaW5jbHVkZSAiUGxhdGZvcm1Mb2NhbGUuaCIKLSNpbmNsdWRlICJS
ZW5kZXJPYmplY3QuaCIKLSNpbmNsdWRlICJUZXh0LmgiCi0jaW5jbHVkZSA8d3RmL3RleHQvV1RG
U3RyaW5nLmg+Ci0KLW5hbWVzcGFjZSBXZWJDb3JlIHsKLQotdXNpbmcgbmFtZXNwYWNlIEhUTUxO
YW1lczsKLQotRGF0ZVRpbWVGaWVsZEVsZW1lbnQ6OkZpZWxkT3duZXI6On5GaWVsZE93bmVyKCkK
LXsKLX0KLQotRGF0ZVRpbWVGaWVsZEVsZW1lbnQ6OkRhdGVUaW1lRmllbGRFbGVtZW50KERvY3Vt
ZW50KiBkb2N1bWVudCwgRmllbGRPd25lciYgZmllbGRPd25lcikKLSAgICA6IEhUTUxFbGVtZW50
KHNwYW5UYWcsIGRvY3VtZW50KQotICAgICwgbV9maWVsZE93bmVyKCZmaWVsZE93bmVyKQotewot
ICAgIC8vIE9uIGFjY2Vzc2liaWxpdHksIERhdGVUaW1lRmllbGRFbGVtZW50IGFjdHMgbGlrZSBz
cGluIGJ1dHRvbi4KLSAgICBzZXRBdHRyaWJ1dGUocm9sZUF0dHIsICJzcGluYnV0dG9uIik7Ci0g
ICAgc2V0QXR0cmlidXRlKGFyaWFfdmFsdWV0ZXh0QXR0ciwgQVhEYXRlVGltZUZpZWxkRW1wdHlW
YWx1ZVRleHQoKSk7Ci19Ci0KLXZvaWQgRGF0ZVRpbWVGaWVsZEVsZW1lbnQ6OmRlZmF1bHRFdmVu
dEhhbmRsZXIoRXZlbnQqIGV2ZW50KQotewotICAgIGlmIChldmVudC0+dHlwZSgpID09IGV2ZW50
TmFtZXMoKS5ibHVyRXZlbnQpCi0gICAgICAgIGRpZEJsdXIoKTsKLQotICAgIGlmIChldmVudC0+
dHlwZSgpID09IGV2ZW50TmFtZXMoKS5mb2N1c0V2ZW50KQotICAgICAgICBkaWRGb2N1cygpOwot
Ci0gICAgaWYgKGV2ZW50LT5pc0tleWJvYXJkRXZlbnQoKSkgewotICAgICAgICBLZXlib2FyZEV2
ZW50KiBrZXlib2FyZEV2ZW50ID0gc3RhdGljX2Nhc3Q8S2V5Ym9hcmRFdmVudCo+KGV2ZW50KTsK
LSAgICAgICAgaWYgKCFpc0Rpc2FibGVkKCkgJiYgIWlzRmllbGRPd25lckRpc2FibGVkKCkgJiYg
IWlzRmllbGRPd25lclJlYWRPbmx5KCkpIHsKLSAgICAgICAgICAgIGhhbmRsZUtleWJvYXJkRXZl
bnQoa2V5Ym9hcmRFdmVudCk7Ci0gICAgICAgICAgICBpZiAoa2V5Ym9hcmRFdmVudC0+ZGVmYXVs
dEhhbmRsZWQoKSkKLSAgICAgICAgICAgICAgICByZXR1cm47Ci0gICAgICAgIH0KLSAgICAgICAg
ZGVmYXVsdEtleWJvYXJkRXZlbnRIYW5kbGVyKGtleWJvYXJkRXZlbnQpOwotICAgICAgICBpZiAo
a2V5Ym9hcmRFdmVudC0+ZGVmYXVsdEhhbmRsZWQoKSkKLSAgICAgICAgICAgIHJldHVybjsKLSAg
ICB9Ci0KLSAgICBIVE1MRWxlbWVudDo6ZGVmYXVsdEV2ZW50SGFuZGxlcihldmVudCk7Ci19Ci0K
LXZvaWQgRGF0ZVRpbWVGaWVsZEVsZW1lbnQ6OmRlZmF1bHRLZXlib2FyZEV2ZW50SGFuZGxlcihL
ZXlib2FyZEV2ZW50KiBrZXlib2FyZEV2ZW50KQotewotICAgIGlmIChrZXlib2FyZEV2ZW50LT50
eXBlKCkgIT0gZXZlbnROYW1lcygpLmtleWRvd25FdmVudCkKLSAgICAgICAgcmV0dXJuOwotCi0g
ICAgaWYgKGlzRGlzYWJsZWQoKSB8fCBpc0ZpZWxkT3duZXJEaXNhYmxlZCgpKQotICAgICAgICBy
ZXR1cm47Ci0KLSAgICBjb25zdCBTdHJpbmcmIGtleUlkZW50aWZpZXIgPSBrZXlib2FyZEV2ZW50
LT5rZXlJZGVudGlmaWVyKCk7Ci0KLSAgICBpZiAoa2V5SWRlbnRpZmllciA9PSAiTGVmdCIpIHsK
LSAgICAgICAgaWYgKCFtX2ZpZWxkT3duZXIpCi0gICAgICAgICAgICByZXR1cm47Ci0gICAgICAg
IC8vIEZJWE1FOiBXZSdkIGxpa2UgdG8gdXNlIEZvY3VzQ29udHJvbGxlcjo6YWR2YW5jZUZvY3Vz
KEZvY3VzRGlyZWN0aW9uTGVmdCwgLi4uKQotICAgICAgICAvLyBidXQgaXQgZG9lc24ndCB3b3Jr
IGZvciBzaGFkb3cgbm9kZXMuIHdlYmtpdC5vcmcvYi8xMDQ2NTAKLSAgICAgICAgaWYgKCFsb2Nh
bGVGb3JPd25lcigpLmlzUlRMKCkgJiYgbV9maWVsZE93bmVyLT5mb2N1c09uUHJldmlvdXNGaWVs
ZCgqdGhpcykpCi0gICAgICAgICAgICBrZXlib2FyZEV2ZW50LT5zZXREZWZhdWx0SGFuZGxlZCgp
OwotICAgICAgICByZXR1cm47Ci0gICAgfQotCi0gICAgaWYgKGtleUlkZW50aWZpZXIgPT0gIlJp
Z2h0IikgewotICAgICAgICBpZiAoIW1fZmllbGRPd25lcikKLSAgICAgICAgICAgIHJldHVybjsK
LSAgICAgICAgLy8gRklYTUU6IFdlJ2QgbGlrZSB0byB1c2UgRm9jdXNDb250cm9sbGVyOjphZHZh
bmNlRm9jdXMoRm9jdXNEaXJlY3Rpb25SaWdodCwgLi4uKQotICAgICAgICAvLyBidXQgaXQgZG9l
c24ndCB3b3JrIGZvciBzaGFkb3cgbm9kZXMuIHdlYmtpdC5vcmcvYi8xMDQ2NTAKLSAgICAgICAg
aWYgKCFsb2NhbGVGb3JPd25lcigpLmlzUlRMKCkgJiYgbV9maWVsZE93bmVyLT5mb2N1c09uTmV4
dEZpZWxkKCp0aGlzKSkKLSAgICAgICAgICAgIGtleWJvYXJkRXZlbnQtPnNldERlZmF1bHRIYW5k
bGVkKCk7Ci0gICAgICAgIHJldHVybjsKLSAgICB9Ci0KLSAgICBpZiAoaXNGaWVsZE93bmVyUmVh
ZE9ubHkoKSkKLSAgICAgICAgcmV0dXJuOwotCi0gICAgaWYgKGtleUlkZW50aWZpZXIgPT0gIkRv
d24iKSB7Ci0gICAgICAgIGlmIChrZXlib2FyZEV2ZW50LT5nZXRNb2RpZmllclN0YXRlKCJBbHQi
KSkKLSAgICAgICAgICAgIHJldHVybjsKLSAgICAgICAga2V5Ym9hcmRFdmVudC0+c2V0RGVmYXVs
dEhhbmRsZWQoKTsKLSAgICAgICAgc3RlcERvd24oKTsKLSAgICAgICAgcmV0dXJuOwotICAgIH0K
LQotICAgIGlmIChrZXlJZGVudGlmaWVyID09ICJVcCIpIHsKLSAgICAgICAga2V5Ym9hcmRFdmVu
dC0+c2V0RGVmYXVsdEhhbmRsZWQoKTsKLSAgICAgICAgc3RlcFVwKCk7Ci0gICAgICAgIHJldHVy
bjsKLSAgICB9Ci0KLSAgICBpZiAoa2V5SWRlbnRpZmllciA9PSAiVSswMDA4IiB8fCBrZXlJZGVu
dGlmaWVyID09ICJVKzAwN0YiKSB7Ci0gICAgICAgIGtleWJvYXJkRXZlbnQtPnNldERlZmF1bHRI
YW5kbGVkKCk7Ci0gICAgICAgIHNldEVtcHR5VmFsdWUoRGlzcGF0Y2hFdmVudCk7Ci0gICAgICAg
IHJldHVybjsKLSAgICB9Ci19Ci0KLXZvaWQgRGF0ZVRpbWVGaWVsZEVsZW1lbnQ6OmRpZEJsdXIo
KQotewotICAgIGlmIChtX2ZpZWxkT3duZXIpCi0gICAgICAgIG1fZmllbGRPd25lci0+ZGlkQmx1
ckZyb21GaWVsZCgpOwotfQotCi12b2lkIERhdGVUaW1lRmllbGRFbGVtZW50OjpkaWRGb2N1cygp
Ci17Ci0gICAgaWYgKG1fZmllbGRPd25lcikKLSAgICAgICAgbV9maWVsZE93bmVyLT5kaWRGb2N1
c09uRmllbGQoKTsKLX0KLQotdm9pZCBEYXRlVGltZUZpZWxkRWxlbWVudDo6Zm9jdXNPbk5leHRG
aWVsZCgpCi17Ci0gICAgaWYgKCFtX2ZpZWxkT3duZXIpCi0gICAgICAgIHJldHVybjsKLSAgICBt
X2ZpZWxkT3duZXItPmZvY3VzT25OZXh0RmllbGQoKnRoaXMpOwotfQotCi12b2lkIERhdGVUaW1l
RmllbGRFbGVtZW50Ojppbml0aWFsaXplKGNvbnN0IEF0b21pY1N0cmluZyYgcHNldWRvLCBjb25z
dCBTdHJpbmcmIGF4SGVscFRleHQsIGludCBheE1pbmltdW0sIGludCBheE1heGltdW0pCi17Ci0g
ICAgc2V0QXR0cmlidXRlKGFyaWFfaGVscEF0dHIsIGF4SGVscFRleHQpOwotICAgIHNldEF0dHJp
YnV0ZShhcmlhX3ZhbHVlbWluQXR0ciwgU3RyaW5nOjpudW1iZXIoYXhNaW5pbXVtKSk7Ci0gICAg
c2V0QXR0cmlidXRlKGFyaWFfdmFsdWVtYXhBdHRyLCBTdHJpbmc6Om51bWJlcihheE1heGltdW0p
KTsKLSAgICBzZXRQc2V1ZG8ocHNldWRvKTsKLSAgICBhcHBlbmRDaGlsZChUZXh0OjpjcmVhdGUo
ZG9jdW1lbnQoKSwgdmlzaWJsZVZhbHVlKCkpKTsKLX0KLQotYm9vbCBEYXRlVGltZUZpZWxkRWxl
bWVudDo6aXNEYXRlVGltZUZpZWxkRWxlbWVudCgpIGNvbnN0Ci17Ci0gICAgcmV0dXJuIHRydWU7
Ci19Ci0KLWJvb2wgRGF0ZVRpbWVGaWVsZEVsZW1lbnQ6OmlzRmllbGRPd25lckRpc2FibGVkKCkg
Y29uc3QKLXsKLSAgICByZXR1cm4gbV9maWVsZE93bmVyICYmIG1fZmllbGRPd25lci0+aXNGaWVs
ZE93bmVyRGlzYWJsZWQoKTsKLX0KLQotYm9vbCBEYXRlVGltZUZpZWxkRWxlbWVudDo6aXNGaWVs
ZE93bmVyUmVhZE9ubHkoKSBjb25zdAotewotICAgIHJldHVybiBtX2ZpZWxkT3duZXIgJiYgbV9m
aWVsZE93bmVyLT5pc0ZpZWxkT3duZXJSZWFkT25seSgpOwotfQotCi1ib29sIERhdGVUaW1lRmll
bGRFbGVtZW50Ojppc0ZvY3VzYWJsZSgpIGNvbnN0Ci17Ci0gICAgaWYgKGlzRGlzYWJsZWQoKSkK
LSAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgIGlmIChpc0ZpZWxkT3duZXJEaXNhYmxlZCgpKQot
ICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgcmV0dXJuIEhUTUxFbGVtZW50Ojppc0ZvY3VzYWJs
ZSgpOwotfQotCi1ib29sIERhdGVUaW1lRmllbGRFbGVtZW50Ojppc0Rpc2FibGVkKCkgY29uc3QK
LXsKLSAgICByZXR1cm4gZmFzdEhhc0F0dHJpYnV0ZShkaXNhYmxlZEF0dHIpOwotfQotCi1Mb2Nh
bGUmIERhdGVUaW1lRmllbGRFbGVtZW50Ojpsb2NhbGVGb3JPd25lcigpIGNvbnN0Ci17Ci0gICAg
cmV0dXJuIGRvY3VtZW50KCktPmdldENhY2hlZExvY2FsZShsb2NhbGVJZGVudGlmaWVyKCkpOwot
fQotCi1BdG9taWNTdHJpbmcgRGF0ZVRpbWVGaWVsZEVsZW1lbnQ6OmxvY2FsZUlkZW50aWZpZXIo
KSBjb25zdAotewotICAgIHJldHVybiBtX2ZpZWxkT3duZXIgPyBtX2ZpZWxkT3duZXItPmxvY2Fs
ZUlkZW50aWZpZXIoKSA6IG51bGxBdG9tOwotfQotCi1mbG9hdCBEYXRlVGltZUZpZWxkRWxlbWVu
dDo6bWF4aW11bVdpZHRoKGNvbnN0IEZvbnQmKQotewotICAgIGNvbnN0IGZsb2F0IHBhZGRpbmdM
ZWZ0QW5kUmlnaHQgPSAyOyAvLyBUaGlzIHNob3VsZCBtYXRjaCB0byBodG1sLmNzcy4KLSAgICBy
ZXR1cm4gcGFkZGluZ0xlZnRBbmRSaWdodDsKLX0KLQotdm9pZCBEYXRlVGltZUZpZWxkRWxlbWVu
dDo6c2V0RGlzYWJsZWQoKQotewotICAgIC8vIFNldCBIVE1MIGF0dHJpYnV0ZSBkaXNhYmxlZCB0
byBjaGFuZ2UgYXBwZXJhbmNlLgotICAgIHNldEJvb2xlYW5BdHRyaWJ1dGUoZGlzYWJsZWRBdHRy
LCB0cnVlKTsKLSAgICBzZXROZWVkc1N0eWxlUmVjYWxjKCk7Ci19Ci0KLWJvb2wgRGF0ZVRpbWVG
aWVsZEVsZW1lbnQ6OnN1cHBvcnRzRm9jdXMoKSBjb25zdAotewotICAgIHJldHVybiB0cnVlOwot
fQotCi12b2lkIERhdGVUaW1lRmllbGRFbGVtZW50Ojp1cGRhdGVWaXNpYmxlVmFsdWUoRXZlbnRC
ZWhhdmlvciBldmVudEJlaGF2aW9yKQotewotICAgIFRleHQqIGNvbnN0IHRleHROb2RlID0gdG9U
ZXh0KGZpcnN0Q2hpbGQoKSk7Ci0gICAgY29uc3QgU3RyaW5nIG5ld1Zpc2libGVWYWx1ZSA9IHZp
c2libGVWYWx1ZSgpOwotICAgIEFTU0VSVChuZXdWaXNpYmxlVmFsdWUubGVuZ3RoKCkgPiAwKTsK
LQotICAgIGlmICh0ZXh0Tm9kZS0+d2hvbGVUZXh0KCkgPT0gbmV3VmlzaWJsZVZhbHVlKQotICAg
ICAgICByZXR1cm47Ci0KLSAgICB0ZXh0Tm9kZS0+cmVwbGFjZVdob2xlVGV4dChuZXdWaXNpYmxl
VmFsdWUsIEFTU0VSVF9OT19FWENFUFRJT04pOwotICAgIGlmIChoYXNWYWx1ZSgpKSB7Ci0gICAg
ICAgIHNldEF0dHJpYnV0ZShhcmlhX3ZhbHVldGV4dEF0dHIsIG5ld1Zpc2libGVWYWx1ZSk7Ci0g
ICAgICAgIHNldEF0dHJpYnV0ZShhcmlhX3ZhbHVlbm93QXR0ciwgU3RyaW5nOjpudW1iZXIodmFs
dWVGb3JBUklBVmFsdWVOb3coKSkpOwotICAgIH0gZWxzZSB7Ci0gICAgICAgIHNldEF0dHJpYnV0
ZShhcmlhX3ZhbHVldGV4dEF0dHIsIEFYRGF0ZVRpbWVGaWVsZEVtcHR5VmFsdWVUZXh0KCkpOwot
ICAgICAgICByZW1vdmVBdHRyaWJ1dGUoYXJpYV92YWx1ZW5vd0F0dHIpOwotICAgIH0KLQotICAg
IGlmIChldmVudEJlaGF2aW9yID09IERpc3BhdGNoRXZlbnQgJiYgbV9maWVsZE93bmVyKQotICAg
ICAgICBtX2ZpZWxkT3duZXItPmZpZWxkVmFsdWVDaGFuZ2VkKCk7Ci19Ci0KLWludCBEYXRlVGlt
ZUZpZWxkRWxlbWVudDo6dmFsdWVGb3JBUklBVmFsdWVOb3coKSBjb25zdAotewotICAgIHJldHVy
biB2YWx1ZUFzSW50ZWdlcigpOwotfQotCi19IC8vIG5hbWVzcGFjZSBXZWJDb3JlCi0KLSNlbmRp
ZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvRGF0ZVRpbWVGaWVsZEVs
ZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L0RhdGVUaW1lRmllbGRFbGVtZW50
LmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDMxNDhjY2M4MTYwMzI2ZThmNmY1YmNh
YjA4ZGM1NDI5YzNjMjRhYjQuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvRGF0ZVRpbWVGaWVsZEVsZW1lbnQu
aAorKysgL2Rldi9udWxsCkBAIC0xLDEwNiArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAy
MDEyIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0cmlidXRp
b24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0g
KiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5n
IGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKiAxLiAgUmVkaXN0cmlidXRpb25zIG9mIHNvdXJj
ZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgICBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAy
LiAgUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92
ZSBjb3B5cmlnaHQKLSAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICAgZG9jdW1lbnRhdGlvbiBhbmQv
b3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqCi0g
KiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklC
VVRPUlMgYGBBUyBJUycnIEFORAotICogQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVT
LCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCi0gKiBJTVBMSUVEIFdBUlJBTlRJ
RVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9T
RQotICogQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRT
IENPTlRSSUJVVE9SUyBCRSBMSUFCTEUKLSAqIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5D
SURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMCi0gKiBEQU1BR0VT
IChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVU
RSBHT09EUyBPUgotICogU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBP
UiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIKLSAqIENBVVNFRCBBTkQgT04gQU5ZIFRI
RU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVAotICogTElBQklM
SVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcg
SU4gQU5ZIFdBWQotICogT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBB
RFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRgotICogU1VDSCBEQU1BR0UuCi0gKi8KLQotI2lm
bmRlZiBEYXRlVGltZUZpZWxkRWxlbWVudF9oCi0jZGVmaW5lIERhdGVUaW1lRmllbGRFbGVtZW50
X2gKLQotI2lmIEVOQUJMRShJTlBVVF9NVUxUSVBMRV9GSUVMRFNfVUkpCi0jaW5jbHVkZSAiSFRN
TERpdkVsZW1lbnQuaCIKLQotbmFtZXNwYWNlIFdlYkNvcmUgewotCi1jbGFzcyBEYXRlQ29tcG9u
ZW50czsKLWNsYXNzIERhdGVUaW1lRmllbGRzU3RhdGU7Ci1jbGFzcyBGb250OwotCi0vLyBEYXRl
VGltZUZpZWxkRWxlbWVudCBpcyBiYXNlIGNsYXNzIG9mIGRhdGUgdGltZSBmaWVsZCBlbGVtZW50
LgotY2xhc3MgRGF0ZVRpbWVGaWVsZEVsZW1lbnQgOiBwdWJsaWMgSFRNTEVsZW1lbnQgewotICAg
IFdURl9NQUtFX05PTkNPUFlBQkxFKERhdGVUaW1lRmllbGRFbGVtZW50KTsKLQotcHVibGljOgot
ICAgIGVudW0gRXZlbnRCZWhhdmlvciB7Ci0gICAgICAgIERpc3BhdGNoTm9FdmVudCwKLSAgICAg
ICAgRGlzcGF0Y2hFdmVudCwKLSAgICB9OwotCi0gICAgLy8gRmllbGRPd25lciBpbXBsZW1lbnRl
ciBtdXN0IGNhbGwgcmVtb3ZlRXZlbnRIYW5kbGVyIHdoZW4KLSAgICAvLyBpdCBkb2Vzbid0IGhh
bmRsZSBldmVudCwgZS5nLiBhdCBkZXN0cnVjdGlvbi4KLSAgICBjbGFzcyBGaWVsZE93bmVyIHsK
LSAgICBwdWJsaWM6Ci0gICAgICAgIHZpcnR1YWwgfkZpZWxkT3duZXIoKTsKLSAgICAgICAgdmly
dHVhbCB2b2lkIGRpZEJsdXJGcm9tRmllbGQoKSA9IDA7Ci0gICAgICAgIHZpcnR1YWwgdm9pZCBk
aWRGb2N1c09uRmllbGQoKSA9IDA7Ci0gICAgICAgIHZpcnR1YWwgdm9pZCBmaWVsZFZhbHVlQ2hh
bmdlZCgpID0gMDsKLSAgICAgICAgdmlydHVhbCBib29sIGZvY3VzT25OZXh0RmllbGQoY29uc3Qg
RGF0ZVRpbWVGaWVsZEVsZW1lbnQmKSA9IDA7Ci0gICAgICAgIHZpcnR1YWwgYm9vbCBmb2N1c09u
UHJldmlvdXNGaWVsZChjb25zdCBEYXRlVGltZUZpZWxkRWxlbWVudCYpID0gMDsKLSAgICAgICAg
dmlydHVhbCBib29sIGlzRmllbGRPd25lckRpc2FibGVkKCkgY29uc3QgPSAwOwotICAgICAgICB2
aXJ0dWFsIGJvb2wgaXNGaWVsZE93bmVyUmVhZE9ubHkoKSBjb25zdCA9IDA7Ci0gICAgICAgIHZp
cnR1YWwgQXRvbWljU3RyaW5nIGxvY2FsZUlkZW50aWZpZXIoKSBjb25zdCA9IDA7Ci0gICAgfTsK
LQotICAgIHZpcnR1YWwgdm9pZCBkZWZhdWx0RXZlbnRIYW5kbGVyKEV2ZW50KikgT1ZFUlJJREU7
Ci0gICAgdmlydHVhbCBib29sIGhhc1ZhbHVlKCkgY29uc3QgPSAwOwotICAgIGJvb2wgaXNEaXNh
YmxlZCgpIGNvbnN0OwotICAgIHZpcnR1YWwgYm9vbCBpc0ZvY3VzYWJsZSgpIGNvbnN0IE9WRVJS
SURFIEZJTkFMOwotICAgIHZpcnR1YWwgZmxvYXQgbWF4aW11bVdpZHRoKGNvbnN0IEZvbnQmKTsK
LSAgICB2aXJ0dWFsIHZvaWQgcG9wdWxhdGVEYXRlVGltZUZpZWxkc1N0YXRlKERhdGVUaW1lRmll
bGRzU3RhdGUmKSA9IDA7Ci0gICAgdm9pZCByZW1vdmVFdmVudEhhbmRsZXIoKSB7IG1fZmllbGRP
d25lciA9IDA7IH0KLSAgICB2b2lkIHNldERpc2FibGVkKCk7Ci0gICAgdmlydHVhbCB2b2lkIHNl
dEVtcHR5VmFsdWUoRXZlbnRCZWhhdmlvciA9IERpc3BhdGNoTm9FdmVudCkgPSAwOwotICAgIHZp
cnR1YWwgdm9pZCBzZXRWYWx1ZUFzRGF0ZShjb25zdCBEYXRlQ29tcG9uZW50cyYpID0gMDsKLSAg
ICB2aXJ0dWFsIHZvaWQgc2V0VmFsdWVBc0RhdGVUaW1lRmllbGRzU3RhdGUoY29uc3QgRGF0ZVRp
bWVGaWVsZHNTdGF0ZSYpID0gMDsKLSAgICB2aXJ0dWFsIHZvaWQgc2V0VmFsdWVBc0ludGVnZXIo
aW50LCBFdmVudEJlaGF2aW9yID0gRGlzcGF0Y2hOb0V2ZW50KSA9IDA7Ci0gICAgdmlydHVhbCB2
b2lkIHN0ZXBEb3duKCkgPSAwOwotICAgIHZpcnR1YWwgdm9pZCBzdGVwVXAoKSA9IDA7Ci0gICAg
dmlydHVhbCBTdHJpbmcgdmFsdWUoKSBjb25zdCA9IDA7Ci0gICAgdmlydHVhbCBTdHJpbmcgdmlz
aWJsZVZhbHVlKCkgY29uc3QgPSAwOwotCi1wcm90ZWN0ZWQ6Ci0gICAgRGF0ZVRpbWVGaWVsZEVs
ZW1lbnQoRG9jdW1lbnQqLCBGaWVsZE93bmVyJik7Ci0gICAgdmlydHVhbCB2b2lkIGRpZEJsdXIo
KTsKLSAgICB2aXJ0dWFsIHZvaWQgZGlkRm9jdXMoKTsKLSAgICB2b2lkIGZvY3VzT25OZXh0Rmll
bGQoKTsKLSAgICB2aXJ0dWFsIHZvaWQgaGFuZGxlS2V5Ym9hcmRFdmVudChLZXlib2FyZEV2ZW50
KikgPSAwOwotICAgIHZvaWQgaW5pdGlhbGl6ZShjb25zdCBBdG9taWNTdHJpbmcmIHBzZXVkbywg
Y29uc3QgU3RyaW5nJiBheEhlbHBUZXh0LCBpbnQgYXhNaW5pbXVtLCBpbnQgYXhNYXhpbXVtKTsK
LSAgICBMb2NhbGUmIGxvY2FsZUZvck93bmVyKCkgY29uc3Q7Ci0gICAgQXRvbWljU3RyaW5nIGxv
Y2FsZUlkZW50aWZpZXIoKSBjb25zdDsKLSAgICB2b2lkIHVwZGF0ZVZpc2libGVWYWx1ZShFdmVu
dEJlaGF2aW9yKTsKLSAgICB2aXJ0dWFsIGludCB2YWx1ZUFzSW50ZWdlcigpIGNvbnN0ID0gMDsK
LSAgICB2aXJ0dWFsIGludCB2YWx1ZUZvckFSSUFWYWx1ZU5vdygpIGNvbnN0OwotCi1wcml2YXRl
OgotICAgIHZvaWQgZGVmYXVsdEtleWJvYXJkRXZlbnRIYW5kbGVyKEtleWJvYXJkRXZlbnQqKTsK
LSAgICB2aXJ0dWFsIGJvb2wgaXNEYXRlVGltZUZpZWxkRWxlbWVudCgpIGNvbnN0IE9WRVJSSURF
OwotICAgIGJvb2wgaXNGaWVsZE93bmVyRGlzYWJsZWQoKSBjb25zdDsKLSAgICBib29sIGlzRmll
bGRPd25lclJlYWRPbmx5KCkgY29uc3Q7Ci0gICAgdmlydHVhbCBib29sIHN1cHBvcnRzRm9jdXMo
KSBjb25zdCBPVkVSUklERSBGSU5BTDsKLQotICAgIEZpZWxkT3duZXIqIG1fZmllbGRPd25lcjsK
LX07Ci0KLX0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKLQotI2VuZGlmCi0jZW5kaWYKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L0RhdGVUaW1lRmllbGRFbGVtZW50cy5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9EYXRlVGltZUZpZWxkRWxlbWVudHMuY3BwCmRl
bGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBjODQwNjIyNjc4MWIwMjMzMjM1OWU1MjMxZDQw
ZGZkZTgxZjkzMjE4Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0t
LSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L0RhdGVUaW1lRmllbGRFbGVtZW50cy5jcHAK
KysrIC9kZXYvbnVsbApAQCAtMSw2MzUgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAx
MiBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICoKLSAqIFJlZGlzdHJpYnV0aW9u
IGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICog
bW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBj
b25kaXRpb25zCi0gKiBhcmUgbWV0OgotICogMS4gIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2Ug
Y29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICAgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogMi4g
IFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUg
Y29weXJpZ2h0Ci0gKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQotICogICAgIGRvY3VtZW50YXRpb24gYW5kL29y
IG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0gKgotICog
VEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVU
T1JTIGBgQVMgSVMnJyBBTkQKLSAqIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywg
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQotICogSU1QTElFRCBXQVJSQU5USUVT
IE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UK
LSAqIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBD
T05UUklCVVRPUlMgQkUgTElBQkxFCi0gKiBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lE
RU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTAotICogREFNQUdFUyAo
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUg
R09PRFMgT1IKLSAqIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1Ig
QlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSCi0gKiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVP
UlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QKLSAqIExJQUJJTElU
WSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElO
IEFOWSBXQVkKLSAqIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURW
SVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YKLSAqIFNVQ0ggREFNQUdFLgotICovCi0KLSNpbmNs
dWRlICJjb25maWcuaCIKLSNpZiBFTkFCTEUoSU5QVVRfTVVMVElQTEVfRklFTERTX1VJKQotI2lu
Y2x1ZGUgIkRhdGVUaW1lRmllbGRFbGVtZW50cy5oIgotCi0jaW5jbHVkZSAiRGF0ZUNvbXBvbmVu
dHMuaCIKLSNpbmNsdWRlICJEYXRlVGltZUZpZWxkc1N0YXRlLmgiCi0jaW5jbHVkZSAiTG9jYWxp
emVkU3RyaW5ncy5oIgotI2luY2x1ZGUgPHd0Zi9DdXJyZW50VGltZS5oPgotI2luY2x1ZGUgPHd0
Zi9EYXRlTWF0aC5oPgotCi1uYW1lc3BhY2UgV2ViQ29yZSB7Ci0KLURhdGVUaW1lQU1QTUZpZWxk
RWxlbWVudDo6RGF0ZVRpbWVBTVBNRmllbGRFbGVtZW50KERvY3VtZW50KiBkb2N1bWVudCwgRmll
bGRPd25lciYgZmllbGRPd25lciwgY29uc3QgVmVjdG9yPFN0cmluZz4mIGFtcG1MYWJlbHMpCi0g
ICAgOiBEYXRlVGltZVN5bWJvbGljRmllbGRFbGVtZW50KGRvY3VtZW50LCBmaWVsZE93bmVyLCBh
bXBtTGFiZWxzLCAwLCAxKQotewotfQotCi1QYXNzUmVmUHRyPERhdGVUaW1lQU1QTUZpZWxkRWxl
bWVudD4gRGF0ZVRpbWVBTVBNRmllbGRFbGVtZW50OjpjcmVhdGUoRG9jdW1lbnQqIGRvY3VtZW50
LCBGaWVsZE93bmVyJiBmaWVsZE93bmVyLCBjb25zdCBWZWN0b3I8U3RyaW5nPiYgYW1wbUxhYmVs
cykKLXsKLSAgICBERUZJTkVfU1RBVElDX0xPQ0FMKEF0b21pY1N0cmluZywgYW1wbVBzdWVkb0lk
LCAoIi13ZWJraXQtZGF0ZXRpbWUtZWRpdC1hbXBtLWZpZWxkIiwgQXRvbWljU3RyaW5nOjpDb25z
dHJ1Y3RGcm9tTGl0ZXJhbCkpOwotICAgIFJlZlB0cjxEYXRlVGltZUFNUE1GaWVsZEVsZW1lbnQ+
IGZpZWxkID0gYWRvcHRSZWYobmV3IERhdGVUaW1lQU1QTUZpZWxkRWxlbWVudChkb2N1bWVudCwg
ZmllbGRPd25lciwgYW1wbUxhYmVscykpOwotICAgIGZpZWxkLT5pbml0aWFsaXplKGFtcG1Qc3Vl
ZG9JZCwgQVhBTVBNRmllbGRUZXh0KCkpOwotICAgIHJldHVybiBmaWVsZC5yZWxlYXNlKCk7Ci19
Ci0KLXZvaWQgRGF0ZVRpbWVBTVBNRmllbGRFbGVtZW50Ojpwb3B1bGF0ZURhdGVUaW1lRmllbGRz
U3RhdGUoRGF0ZVRpbWVGaWVsZHNTdGF0ZSYgZGF0ZVRpbWVGaWVsZHNTdGF0ZSkKLXsKLSAgICBp
ZiAoaGFzVmFsdWUoKSkKLSAgICAgICAgZGF0ZVRpbWVGaWVsZHNTdGF0ZS5zZXRBTVBNKHZhbHVl
QXNJbnRlZ2VyKCkgPyBEYXRlVGltZUZpZWxkc1N0YXRlOjpBTVBNVmFsdWVQTSA6IERhdGVUaW1l
RmllbGRzU3RhdGU6OkFNUE1WYWx1ZUFNKTsKLSAgICBlbHNlCi0gICAgICAgIGRhdGVUaW1lRmll
bGRzU3RhdGUuc2V0QU1QTShEYXRlVGltZUZpZWxkc1N0YXRlOjpBTVBNVmFsdWVFbXB0eSk7Ci19
Ci0KLXZvaWQgRGF0ZVRpbWVBTVBNRmllbGRFbGVtZW50OjpzZXRWYWx1ZUFzRGF0ZShjb25zdCBE
YXRlQ29tcG9uZW50cyYgZGF0ZSkKLXsKLSAgICBzZXRWYWx1ZUFzSW50ZWdlcihkYXRlLmhvdXIo
KSA+PSAxMiA/IDEgOiAwKTsKLX0KLQotdm9pZCBEYXRlVGltZUFNUE1GaWVsZEVsZW1lbnQ6OnNl
dFZhbHVlQXNEYXRlVGltZUZpZWxkc1N0YXRlKGNvbnN0IERhdGVUaW1lRmllbGRzU3RhdGUmIGRh
dGVUaW1lRmllbGRzU3RhdGUpCi17Ci0gICAgaWYgKGRhdGVUaW1lRmllbGRzU3RhdGUuaGFzQU1Q
TSgpKQotICAgICAgICBzZXRWYWx1ZUFzSW50ZWdlcihkYXRlVGltZUZpZWxkc1N0YXRlLmFtcG0o
KSk7Ci0gICAgZWxzZQotICAgICAgICBzZXRFbXB0eVZhbHVlKCk7Ci19Ci0KLS8vIC0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0KLQotRGF0ZVRpbWVEYXlGaWVsZEVsZW1lbnQ6OkRhdGVUaW1l
RGF5RmllbGRFbGVtZW50KERvY3VtZW50KiBkb2N1bWVudCwgRmllbGRPd25lciYgZmllbGRPd25l
ciwgY29uc3QgU3RyaW5nJiBwbGFjZWhvbGRlciwgY29uc3QgUmFuZ2UmIHJhbmdlKQotICAgIDog
RGF0ZVRpbWVOdW1lcmljRmllbGRFbGVtZW50KGRvY3VtZW50LCBmaWVsZE93bmVyLCByYW5nZSwg
UmFuZ2UoMSwgMzEpLCBwbGFjZWhvbGRlcikKLXsKLX0KLQotUGFzc1JlZlB0cjxEYXRlVGltZURh
eUZpZWxkRWxlbWVudD4gRGF0ZVRpbWVEYXlGaWVsZEVsZW1lbnQ6OmNyZWF0ZShEb2N1bWVudCog
ZG9jdW1lbnQsIEZpZWxkT3duZXImIGZpZWxkT3duZXIsIGNvbnN0IFN0cmluZyYgcGxhY2Vob2xk
ZXIsIGNvbnN0IFJhbmdlJiByYW5nZSkKLXsKLSAgICBERUZJTkVfU1RBVElDX0xPQ0FMKEF0b21p
Y1N0cmluZywgZGF5UHN1ZWRvSWQsICgiLXdlYmtpdC1kYXRldGltZS1lZGl0LWRheS1maWVsZCIs
IEF0b21pY1N0cmluZzo6Q29uc3RydWN0RnJvbUxpdGVyYWwpKTsKLSAgICBSZWZQdHI8RGF0ZVRp
bWVEYXlGaWVsZEVsZW1lbnQ+IGZpZWxkID0gYWRvcHRSZWYobmV3IERhdGVUaW1lRGF5RmllbGRF
bGVtZW50KGRvY3VtZW50LCBmaWVsZE93bmVyLCBwbGFjZWhvbGRlci5pc0VtcHR5KCkgPyBBU0NJ
SUxpdGVyYWwoIi0tIikgOiBwbGFjZWhvbGRlciwgcmFuZ2UpKTsKLSAgICBmaWVsZC0+aW5pdGlh
bGl6ZShkYXlQc3VlZG9JZCwgQVhEYXlPZk1vbnRoRmllbGRUZXh0KCkpOwotICAgIHJldHVybiBm
aWVsZC5yZWxlYXNlKCk7Ci19Ci0KLXZvaWQgRGF0ZVRpbWVEYXlGaWVsZEVsZW1lbnQ6OnBvcHVs
YXRlRGF0ZVRpbWVGaWVsZHNTdGF0ZShEYXRlVGltZUZpZWxkc1N0YXRlJiBkYXRlVGltZUZpZWxk
c1N0YXRlKQotewotICAgIGRhdGVUaW1lRmllbGRzU3RhdGUuc2V0RGF5T2ZNb250aChoYXNWYWx1
ZSgpID8gdmFsdWVBc0ludGVnZXIoKSA6IERhdGVUaW1lRmllbGRzU3RhdGU6OmVtcHR5VmFsdWUp
OwotfQotCi12b2lkIERhdGVUaW1lRGF5RmllbGRFbGVtZW50OjpzZXRWYWx1ZUFzRGF0ZShjb25z
dCBEYXRlQ29tcG9uZW50cyYgZGF0ZSkKLXsKLSAgICBzZXRWYWx1ZUFzSW50ZWdlcihkYXRlLm1v
bnRoRGF5KCkpOwotfQotCi12b2lkIERhdGVUaW1lRGF5RmllbGRFbGVtZW50OjpzZXRWYWx1ZUFz
RGF0ZVRpbWVGaWVsZHNTdGF0ZShjb25zdCBEYXRlVGltZUZpZWxkc1N0YXRlJiBkYXRlVGltZUZp
ZWxkc1N0YXRlKQotewotICAgIGlmICghZGF0ZVRpbWVGaWVsZHNTdGF0ZS5oYXNEYXlPZk1vbnRo
KCkpIHsKLSAgICAgICAgc2V0RW1wdHlWYWx1ZSgpOwotICAgICAgICByZXR1cm47Ci0gICAgfQot
Ci0gICAgY29uc3QgdW5zaWduZWQgdmFsdWUgPSBkYXRlVGltZUZpZWxkc1N0YXRlLmRheU9mTW9u
dGgoKTsKLSAgICBpZiAocmFuZ2UoKS5pc0luUmFuZ2Uoc3RhdGljX2Nhc3Q8aW50Pih2YWx1ZSkp
KSB7Ci0gICAgICAgIHNldFZhbHVlQXNJbnRlZ2VyKHZhbHVlKTsKLSAgICAgICAgcmV0dXJuOwot
ICAgIH0KLQotICAgIHNldEVtcHR5VmFsdWUoKTsKLX0KLQotLy8gLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLQotCi1EYXRlVGltZUhvdXJGaWVsZEVsZW1lbnRCYXNlOjpEYXRlVGltZUhvdXJG
aWVsZEVsZW1lbnRCYXNlKERvY3VtZW50KiBkb2N1bWVudCwgRmllbGRPd25lciYgZmllbGRPd25l
ciwgY29uc3QgUmFuZ2UmIHJhbmdlLCBjb25zdCBSYW5nZSYgaGFyZExpbWl0cywgY29uc3QgU3Rl
cCYgc3RlcCkKLSAgICA6IERhdGVUaW1lTnVtZXJpY0ZpZWxkRWxlbWVudChkb2N1bWVudCwgZmll
bGRPd25lciwgcmFuZ2UsIGhhcmRMaW1pdHMsICItLSIsIHN0ZXApCi17Ci19Ci0KLXZvaWQgRGF0
ZVRpbWVIb3VyRmllbGRFbGVtZW50QmFzZTo6aW5pdGlhbGl6ZSgpCi17Ci0gICAgREVGSU5FX1NU
QVRJQ19MT0NBTChBdG9taWNTdHJpbmcsIGhvdXJQc3VlZG9JZCwgKCItd2Via2l0LWRhdGV0aW1l
LWVkaXQtaG91ci1maWVsZCIsIEF0b21pY1N0cmluZzo6Q29uc3RydWN0RnJvbUxpdGVyYWwpKTsK
LSAgICBEYXRlVGltZU51bWVyaWNGaWVsZEVsZW1lbnQ6OmluaXRpYWxpemUoaG91clBzdWVkb0lk
LCBBWEhvdXJGaWVsZFRleHQoKSk7Ci19Ci0KLXZvaWQgRGF0ZVRpbWVIb3VyRmllbGRFbGVtZW50
QmFzZTo6c2V0VmFsdWVBc0RhdGUoY29uc3QgRGF0ZUNvbXBvbmVudHMmIGRhdGUpCi17Ci0gICAg
c2V0VmFsdWVBc0ludGVnZXIoZGF0ZS5ob3VyKCkpOwotfQotCi12b2lkIERhdGVUaW1lSG91ckZp
ZWxkRWxlbWVudEJhc2U6OnNldFZhbHVlQXNEYXRlVGltZUZpZWxkc1N0YXRlKGNvbnN0IERhdGVU
aW1lRmllbGRzU3RhdGUmIGRhdGVUaW1lRmllbGRzU3RhdGUpCi17Ci0gICAgaWYgKCFkYXRlVGlt
ZUZpZWxkc1N0YXRlLmhhc0hvdXIoKSkgewotICAgICAgICBzZXRFbXB0eVZhbHVlKCk7Ci0gICAg
ICAgIHJldHVybjsKLSAgICB9Ci0KLSAgICBjb25zdCBpbnQgaG91cjEyID0gZGF0ZVRpbWVGaWVs
ZHNTdGF0ZS5ob3VyKCk7Ci0gICAgaWYgKGhvdXIxMiA8IDEgfHwgaG91cjEyID4gMTIpIHsKLSAg
ICAgICAgc2V0RW1wdHlWYWx1ZSgpOwotICAgICAgICByZXR1cm47Ci0gICAgfQotCi0gICAgaWYg
KGRhdGVUaW1lRmllbGRzU3RhdGUuYW1wbSgpID09IERhdGVUaW1lRmllbGRzU3RhdGU6OkFNUE1W
YWx1ZVBNKQotICAgICAgICBzZXRWYWx1ZUFzSW50ZWdlcigoaG91cjEyICsgMTIpICUgMjQpOwot
ICAgIGVsc2UKLSAgICAgICAgc2V0VmFsdWVBc0ludGVnZXIoaG91cjEyICUgMTIpOwotfQotLy8g
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotCi1EYXRlVGltZUhvdXIxMUZpZWxkRWxlbWVu
dDo6RGF0ZVRpbWVIb3VyMTFGaWVsZEVsZW1lbnQoRG9jdW1lbnQqIGRvY3VtZW50LCBGaWVsZE93
bmVyJiBmaWVsZE93bmVyLCBjb25zdCBSYW5nZSYgcmFuZ2UsIGNvbnN0IFN0ZXAmIHN0ZXApCi0g
ICAgOiBEYXRlVGltZUhvdXJGaWVsZEVsZW1lbnRCYXNlKGRvY3VtZW50LCBmaWVsZE93bmVyLCBy
YW5nZSwgUmFuZ2UoMCwgMTEpLCBzdGVwKQotewotfQotCi1QYXNzUmVmUHRyPERhdGVUaW1lSG91
cjExRmllbGRFbGVtZW50PiBEYXRlVGltZUhvdXIxMUZpZWxkRWxlbWVudDo6Y3JlYXRlKERvY3Vt
ZW50KiBkb2N1bWVudCwgRmllbGRPd25lciYgZmllbGRPd25lciwgY29uc3QgUmFuZ2UmIGhvdXIy
M1JhbmdlLCBjb25zdCBTdGVwJiBzdGVwKQotewotICAgIEFTU0VSVChob3VyMjNSYW5nZS5taW5p
bXVtID49IDApOwotICAgIEFTU0VSVChob3VyMjNSYW5nZS5tYXhpbXVtIDw9IDIzKTsKLSAgICBB
U1NFUlQoaG91cjIzUmFuZ2UubWluaW11bSA8PSBob3VyMjNSYW5nZS5tYXhpbXVtKTsKLSAgICBS
YW5nZSByYW5nZSgwLCAxMSk7Ci0gICAgaWYgKGhvdXIyM1JhbmdlLm1heGltdW0gPCAxMikKLSAg
ICAgICAgcmFuZ2UgPSBob3VyMjNSYW5nZTsKLSAgICBlbHNlIGlmIChob3VyMjNSYW5nZS5taW5p
bXVtID49IDEyKSB7Ci0gICAgICAgIHJhbmdlLm1pbmltdW0gPSBob3VyMjNSYW5nZS5taW5pbXVt
IC0gMTI7Ci0gICAgICAgIHJhbmdlLm1heGltdW0gPSBob3VyMjNSYW5nZS5tYXhpbXVtIC0gMTI7
Ci0gICAgfQotCi0gICAgUmVmUHRyPERhdGVUaW1lSG91cjExRmllbGRFbGVtZW50PiBmaWVsZCA9
IGFkb3B0UmVmKG5ldyBEYXRlVGltZUhvdXIxMUZpZWxkRWxlbWVudChkb2N1bWVudCwgZmllbGRP
d25lciwgcmFuZ2UsIHN0ZXApKTsKLSAgICBmaWVsZC0+aW5pdGlhbGl6ZSgpOwotICAgIHJldHVy
biBmaWVsZC5yZWxlYXNlKCk7Ci19Ci0KLXZvaWQgRGF0ZVRpbWVIb3VyMTFGaWVsZEVsZW1lbnQ6
OnBvcHVsYXRlRGF0ZVRpbWVGaWVsZHNTdGF0ZShEYXRlVGltZUZpZWxkc1N0YXRlJiBkYXRlVGlt
ZUZpZWxkc1N0YXRlKQotewotICAgIGlmICghaGFzVmFsdWUoKSkgewotICAgICAgICBkYXRlVGlt
ZUZpZWxkc1N0YXRlLnNldEhvdXIoRGF0ZVRpbWVGaWVsZHNTdGF0ZTo6ZW1wdHlWYWx1ZSk7Ci0g
ICAgICAgIHJldHVybjsKLSAgICB9Ci0gICAgY29uc3QgaW50IHZhbHVlID0gdmFsdWVBc0ludGVn
ZXIoKTsKLSAgICBkYXRlVGltZUZpZWxkc1N0YXRlLnNldEhvdXIodmFsdWUgPyB2YWx1ZSA6IDEy
KTsKLX0KLQotdm9pZCBEYXRlVGltZUhvdXIxMUZpZWxkRWxlbWVudDo6c2V0VmFsdWVBc0ludGVn
ZXIoaW50IHZhbHVlLCBFdmVudEJlaGF2aW9yIGV2ZW50QmVoYXZpb3IpCi17Ci0gICAgdmFsdWUg
PSBSYW5nZSgwLCAyMykuY2xhbXBWYWx1ZSh2YWx1ZSkgJSAxMjsKLSAgICBEYXRlVGltZU51bWVy
aWNGaWVsZEVsZW1lbnQ6OnNldFZhbHVlQXNJbnRlZ2VyKHZhbHVlLCBldmVudEJlaGF2aW9yKTsK
LX0KLQotLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotCi1EYXRlVGltZUhvdXIxMkZp
ZWxkRWxlbWVudDo6RGF0ZVRpbWVIb3VyMTJGaWVsZEVsZW1lbnQoRG9jdW1lbnQqIGRvY3VtZW50
LCBGaWVsZE93bmVyJiBmaWVsZE93bmVyLCBjb25zdCBSYW5nZSYgcmFuZ2UsIGNvbnN0IFN0ZXAm
IHN0ZXApCi0gICAgOiBEYXRlVGltZUhvdXJGaWVsZEVsZW1lbnRCYXNlKGRvY3VtZW50LCBmaWVs
ZE93bmVyLCByYW5nZSwgUmFuZ2UoMSwgMTIpLCBzdGVwKQotewotfQotCi1QYXNzUmVmUHRyPERh
dGVUaW1lSG91cjEyRmllbGRFbGVtZW50PiBEYXRlVGltZUhvdXIxMkZpZWxkRWxlbWVudDo6Y3Jl
YXRlKERvY3VtZW50KiBkb2N1bWVudCwgRmllbGRPd25lciYgZmllbGRPd25lciwgY29uc3QgUmFu
Z2UmIGhvdXIyM1JhbmdlLCBjb25zdCBTdGVwJiBzdGVwKQotewotICAgIEFTU0VSVChob3VyMjNS
YW5nZS5taW5pbXVtID49IDApOwotICAgIEFTU0VSVChob3VyMjNSYW5nZS5tYXhpbXVtIDw9IDIz
KTsKLSAgICBBU1NFUlQoaG91cjIzUmFuZ2UubWluaW11bSA8PSBob3VyMjNSYW5nZS5tYXhpbXVt
KTsKLSAgICBSYW5nZSByYW5nZSgxLCAxMik7Ci0gICAgaWYgKGhvdXIyM1JhbmdlLm1heGltdW0g
PCAxMikKLSAgICAgICAgcmFuZ2UgPSBob3VyMjNSYW5nZTsKLSAgICBlbHNlIGlmIChob3VyMjNS
YW5nZS5taW5pbXVtID49IDEyKSB7Ci0gICAgICAgIHJhbmdlLm1pbmltdW0gPSBob3VyMjNSYW5n
ZS5taW5pbXVtIC0gMTI7Ci0gICAgICAgIHJhbmdlLm1heGltdW0gPSBob3VyMjNSYW5nZS5tYXhp
bXVtIC0gMTI7Ci0gICAgfQotICAgIGlmICghcmFuZ2UubWluaW11bSkKLSAgICAgICAgcmFuZ2Uu
bWluaW11bSA9IDEyOwotICAgIGlmICghcmFuZ2UubWF4aW11bSkKLSAgICAgICAgcmFuZ2UubWF4
aW11bSA9IDEyOwotICAgIGlmIChyYW5nZS5taW5pbXVtID4gcmFuZ2UubWF4aW11bSkgewotICAg
ICAgICByYW5nZS5taW5pbXVtID0gMTsKLSAgICAgICAgcmFuZ2UubWF4aW11bSA9IDEyOwotICAg
IH0KLSAgICBSZWZQdHI8RGF0ZVRpbWVIb3VyMTJGaWVsZEVsZW1lbnQ+IGZpZWxkID0gYWRvcHRS
ZWYobmV3IERhdGVUaW1lSG91cjEyRmllbGRFbGVtZW50KGRvY3VtZW50LCBmaWVsZE93bmVyLCBy
YW5nZSwgc3RlcCkpOwotICAgIGZpZWxkLT5pbml0aWFsaXplKCk7Ci0gICAgcmV0dXJuIGZpZWxk
LnJlbGVhc2UoKTsKLX0KLQotdm9pZCBEYXRlVGltZUhvdXIxMkZpZWxkRWxlbWVudDo6cG9wdWxh
dGVEYXRlVGltZUZpZWxkc1N0YXRlKERhdGVUaW1lRmllbGRzU3RhdGUmIGRhdGVUaW1lRmllbGRz
U3RhdGUpCi17Ci0gICAgZGF0ZVRpbWVGaWVsZHNTdGF0ZS5zZXRIb3VyKGhhc1ZhbHVlKCkgPyB2
YWx1ZUFzSW50ZWdlcigpIDogRGF0ZVRpbWVGaWVsZHNTdGF0ZTo6ZW1wdHlWYWx1ZSk7Ci19Ci0K
LXZvaWQgRGF0ZVRpbWVIb3VyMTJGaWVsZEVsZW1lbnQ6OnNldFZhbHVlQXNJbnRlZ2VyKGludCB2
YWx1ZSwgRXZlbnRCZWhhdmlvciBldmVudEJlaGF2aW9yKQotewotICAgIHZhbHVlID0gUmFuZ2Uo
MCwgMjQpLmNsYW1wVmFsdWUodmFsdWUpICUgMTI7Ci0gICAgRGF0ZVRpbWVOdW1lcmljRmllbGRF
bGVtZW50OjpzZXRWYWx1ZUFzSW50ZWdlcih2YWx1ZSA/IHZhbHVlIDogMTIsIGV2ZW50QmVoYXZp
b3IpOwotfQotCi0vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi0KLURhdGVUaW1lSG91
cjIzRmllbGRFbGVtZW50OjpEYXRlVGltZUhvdXIyM0ZpZWxkRWxlbWVudChEb2N1bWVudCogZG9j
dW1lbnQsIEZpZWxkT3duZXImIGZpZWxkT3duZXIsIGNvbnN0IFJhbmdlJiByYW5nZSwgY29uc3Qg
U3RlcCYgc3RlcCkKLSAgICA6IERhdGVUaW1lSG91ckZpZWxkRWxlbWVudEJhc2UoZG9jdW1lbnQs
IGZpZWxkT3duZXIsIHJhbmdlLCBSYW5nZSgwLCAyMyksIHN0ZXApCi17Ci19Ci0KLVBhc3NSZWZQ
dHI8RGF0ZVRpbWVIb3VyMjNGaWVsZEVsZW1lbnQ+IERhdGVUaW1lSG91cjIzRmllbGRFbGVtZW50
OjpjcmVhdGUoRG9jdW1lbnQqIGRvY3VtZW50LCBGaWVsZE93bmVyJiBmaWVsZE93bmVyLCBjb25z
dCBSYW5nZSYgaG91cjIzUmFuZ2UsIGNvbnN0IFN0ZXAmIHN0ZXApCi17Ci0gICAgQVNTRVJUKGhv
dXIyM1JhbmdlLm1pbmltdW0gPj0gMCk7Ci0gICAgQVNTRVJUKGhvdXIyM1JhbmdlLm1heGltdW0g
PD0gMjMpOwotICAgIEFTU0VSVChob3VyMjNSYW5nZS5taW5pbXVtIDw9IGhvdXIyM1JhbmdlLm1h
eGltdW0pOwotICAgIFJlZlB0cjxEYXRlVGltZUhvdXIyM0ZpZWxkRWxlbWVudD4gZmllbGQgPSBh
ZG9wdFJlZihuZXcgRGF0ZVRpbWVIb3VyMjNGaWVsZEVsZW1lbnQoZG9jdW1lbnQsIGZpZWxkT3du
ZXIsIGhvdXIyM1JhbmdlLCBzdGVwKSk7Ci0gICAgZmllbGQtPmluaXRpYWxpemUoKTsKLSAgICBy
ZXR1cm4gZmllbGQucmVsZWFzZSgpOwotfQotCi12b2lkIERhdGVUaW1lSG91cjIzRmllbGRFbGVt
ZW50Ojpwb3B1bGF0ZURhdGVUaW1lRmllbGRzU3RhdGUoRGF0ZVRpbWVGaWVsZHNTdGF0ZSYgZGF0
ZVRpbWVGaWVsZHNTdGF0ZSkKLXsKLSAgICBpZiAoIWhhc1ZhbHVlKCkpIHsKLSAgICAgICAgZGF0
ZVRpbWVGaWVsZHNTdGF0ZS5zZXRIb3VyKERhdGVUaW1lRmllbGRzU3RhdGU6OmVtcHR5VmFsdWUp
OwotICAgICAgICByZXR1cm47Ci0gICAgfQotCi0gICAgY29uc3QgaW50IHZhbHVlID0gdmFsdWVB
c0ludGVnZXIoKTsKLQotICAgIGRhdGVUaW1lRmllbGRzU3RhdGUuc2V0SG91cih2YWx1ZSA/IHZh
bHVlICUgMTIgOiAxMik7Ci0gICAgZGF0ZVRpbWVGaWVsZHNTdGF0ZS5zZXRBTVBNKHZhbHVlID49
IDEyID8gRGF0ZVRpbWVGaWVsZHNTdGF0ZTo6QU1QTVZhbHVlUE0gOiBEYXRlVGltZUZpZWxkc1N0
YXRlOjpBTVBNVmFsdWVBTSk7Ci19Ci0KLXZvaWQgRGF0ZVRpbWVIb3VyMjNGaWVsZEVsZW1lbnQ6
OnNldFZhbHVlQXNJbnRlZ2VyKGludCB2YWx1ZSwgRXZlbnRCZWhhdmlvciBldmVudEJlaGF2aW9y
KQotewotICAgIHZhbHVlID0gUmFuZ2UoMCwgMjMpLmNsYW1wVmFsdWUodmFsdWUpOwotICAgIERh
dGVUaW1lTnVtZXJpY0ZpZWxkRWxlbWVudDo6c2V0VmFsdWVBc0ludGVnZXIodmFsdWUsIGV2ZW50
QmVoYXZpb3IpOwotfQotCi0vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi0KLURhdGVU
aW1lSG91cjI0RmllbGRFbGVtZW50OjpEYXRlVGltZUhvdXIyNEZpZWxkRWxlbWVudChEb2N1bWVu
dCogZG9jdW1lbnQsIEZpZWxkT3duZXImIGZpZWxkT3duZXIsIGNvbnN0IFJhbmdlJiByYW5nZSwg
Y29uc3QgU3RlcCYgc3RlcCkKLSAgICA6IERhdGVUaW1lSG91ckZpZWxkRWxlbWVudEJhc2UoZG9j
dW1lbnQsIGZpZWxkT3duZXIsIHJhbmdlLCBSYW5nZSgxLCAyNCksIHN0ZXApCi17Ci19Ci0KLVBh
c3NSZWZQdHI8RGF0ZVRpbWVIb3VyMjRGaWVsZEVsZW1lbnQ+IERhdGVUaW1lSG91cjI0RmllbGRF
bGVtZW50OjpjcmVhdGUoRG9jdW1lbnQqIGRvY3VtZW50LCBGaWVsZE93bmVyJiBmaWVsZE93bmVy
LCBjb25zdCBSYW5nZSYgaG91cjIzUmFuZ2UsIGNvbnN0IFN0ZXAmIHN0ZXApCi17Ci0gICAgQVNT
RVJUKGhvdXIyM1JhbmdlLm1pbmltdW0gPj0gMCk7Ci0gICAgQVNTRVJUKGhvdXIyM1JhbmdlLm1h
eGltdW0gPD0gMjMpOwotICAgIEFTU0VSVChob3VyMjNSYW5nZS5taW5pbXVtIDw9IGhvdXIyM1Jh
bmdlLm1heGltdW0pOwotICAgIFJhbmdlIHJhbmdlKGhvdXIyM1JhbmdlLm1pbmltdW0gPyBob3Vy
MjNSYW5nZS5taW5pbXVtIDogMjQsIGhvdXIyM1JhbmdlLm1heGltdW0gPyBob3VyMjNSYW5nZS5t
YXhpbXVtIDogMjQpOwotICAgIGlmIChyYW5nZS5taW5pbXVtID4gcmFuZ2UubWF4aW11bSkgewot
ICAgICAgICByYW5nZS5taW5pbXVtID0gMTsKLSAgICAgICAgcmFuZ2UubWF4aW11bSA9IDI0Owot
ICAgIH0KLQotICAgIFJlZlB0cjxEYXRlVGltZUhvdXIyNEZpZWxkRWxlbWVudD4gZmllbGQgPSBh
ZG9wdFJlZihuZXcgRGF0ZVRpbWVIb3VyMjRGaWVsZEVsZW1lbnQoZG9jdW1lbnQsIGZpZWxkT3du
ZXIsIHJhbmdlLCBzdGVwKSk7Ci0gICAgZmllbGQtPmluaXRpYWxpemUoKTsKLSAgICByZXR1cm4g
ZmllbGQucmVsZWFzZSgpOwotfQotCi12b2lkIERhdGVUaW1lSG91cjI0RmllbGRFbGVtZW50Ojpw
b3B1bGF0ZURhdGVUaW1lRmllbGRzU3RhdGUoRGF0ZVRpbWVGaWVsZHNTdGF0ZSYgZGF0ZVRpbWVG
aWVsZHNTdGF0ZSkKLXsKLSAgICBpZiAoIWhhc1ZhbHVlKCkpIHsKLSAgICAgICAgZGF0ZVRpbWVG
aWVsZHNTdGF0ZS5zZXRIb3VyKERhdGVUaW1lRmllbGRzU3RhdGU6OmVtcHR5VmFsdWUpOwotICAg
ICAgICByZXR1cm47Ci0gICAgfQotCi0gICAgY29uc3QgaW50IHZhbHVlID0gdmFsdWVBc0ludGVn
ZXIoKTsKLQotICAgIGlmICh2YWx1ZSA9PSAyNCkgewotICAgICAgICBkYXRlVGltZUZpZWxkc1N0
YXRlLnNldEhvdXIoMTIpOwotICAgICAgICBkYXRlVGltZUZpZWxkc1N0YXRlLnNldEFNUE0oRGF0
ZVRpbWVGaWVsZHNTdGF0ZTo6QU1QTVZhbHVlQU0pOwotICAgIH0gZWxzZSB7Ci0gICAgICAgIGRh
dGVUaW1lRmllbGRzU3RhdGUuc2V0SG91cih2YWx1ZSA9PSAxMiA/IDEyIDogdmFsdWUgJSAxMik7
Ci0gICAgICAgIGRhdGVUaW1lRmllbGRzU3RhdGUuc2V0QU1QTSh2YWx1ZSA+PSAxMiA/IERhdGVU
aW1lRmllbGRzU3RhdGU6OkFNUE1WYWx1ZVBNIDogRGF0ZVRpbWVGaWVsZHNTdGF0ZTo6QU1QTVZh
bHVlQU0pOwotICAgIH0KLX0KLQotdm9pZCBEYXRlVGltZUhvdXIyNEZpZWxkRWxlbWVudDo6c2V0
VmFsdWVBc0ludGVnZXIoaW50IHZhbHVlLCBFdmVudEJlaGF2aW9yIGV2ZW50QmVoYXZpb3IpCi17
Ci0gICAgdmFsdWUgPSBSYW5nZSgwLCAyNCkuY2xhbXBWYWx1ZSh2YWx1ZSk7Ci0gICAgRGF0ZVRp
bWVOdW1lcmljRmllbGRFbGVtZW50OjpzZXRWYWx1ZUFzSW50ZWdlcih2YWx1ZSA/IHZhbHVlIDog
MjQsIGV2ZW50QmVoYXZpb3IpOwotfQotCi0vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
Ci0KLURhdGVUaW1lTWlsbGlzZWNvbmRGaWVsZEVsZW1lbnQ6OkRhdGVUaW1lTWlsbGlzZWNvbmRG
aWVsZEVsZW1lbnQoRG9jdW1lbnQqIGRvY3VtZW50LCBGaWVsZE93bmVyJiBmaWVsZE93bmVyLCBj
b25zdCBSYW5nZSYgcmFuZ2UsIGNvbnN0IFN0ZXAmIHN0ZXApCi0gICAgOiBEYXRlVGltZU51bWVy
aWNGaWVsZEVsZW1lbnQoZG9jdW1lbnQsIGZpZWxkT3duZXIsIHJhbmdlLCBSYW5nZSgwLCA5OTkp
LCAiLS0tIiwgc3RlcCkKLXsKLX0KLQotUGFzc1JlZlB0cjxEYXRlVGltZU1pbGxpc2Vjb25kRmll
bGRFbGVtZW50PiBEYXRlVGltZU1pbGxpc2Vjb25kRmllbGRFbGVtZW50OjpjcmVhdGUoRG9jdW1l
bnQqIGRvY3VtZW50LCBGaWVsZE93bmVyJiBmaWVsZE93bmVyLCBjb25zdCBSYW5nZSYgcmFuZ2Us
IGNvbnN0IFN0ZXAmIHN0ZXApCi17Ci0gICAgREVGSU5FX1NUQVRJQ19MT0NBTChBdG9taWNTdHJp
bmcsIG1pbGxpc2Vjb25kUHN1ZWRvSWQsICgiLXdlYmtpdC1kYXRldGltZS1lZGl0LW1pbGxpc2Vj
b25kLWZpZWxkIiwgQXRvbWljU3RyaW5nOjpDb25zdHJ1Y3RGcm9tTGl0ZXJhbCkpOwotICAgIFJl
ZlB0cjxEYXRlVGltZU1pbGxpc2Vjb25kRmllbGRFbGVtZW50PiBmaWVsZCA9IGFkb3B0UmVmKG5l
dyBEYXRlVGltZU1pbGxpc2Vjb25kRmllbGRFbGVtZW50KGRvY3VtZW50LCBmaWVsZE93bmVyLCBy
YW5nZSwgc3RlcCkpOwotICAgIGZpZWxkLT5pbml0aWFsaXplKG1pbGxpc2Vjb25kUHN1ZWRvSWQs
IEFYTWlsbGlzZWNvbmRGaWVsZFRleHQoKSk7Ci0gICAgcmV0dXJuIGZpZWxkLnJlbGVhc2UoKTsK
LX0KLQotdm9pZCBEYXRlVGltZU1pbGxpc2Vjb25kRmllbGRFbGVtZW50Ojpwb3B1bGF0ZURhdGVU
aW1lRmllbGRzU3RhdGUoRGF0ZVRpbWVGaWVsZHNTdGF0ZSYgZGF0ZVRpbWVGaWVsZHNTdGF0ZSkK
LXsKLSAgICBkYXRlVGltZUZpZWxkc1N0YXRlLnNldE1pbGxpc2Vjb25kKGhhc1ZhbHVlKCkgPyB2
YWx1ZUFzSW50ZWdlcigpIDogRGF0ZVRpbWVGaWVsZHNTdGF0ZTo6ZW1wdHlWYWx1ZSk7Ci19Ci0K
LXZvaWQgRGF0ZVRpbWVNaWxsaXNlY29uZEZpZWxkRWxlbWVudDo6c2V0VmFsdWVBc0RhdGUoY29u
c3QgRGF0ZUNvbXBvbmVudHMmIGRhdGUpCi17Ci0gICAgc2V0VmFsdWVBc0ludGVnZXIoZGF0ZS5t
aWxsaXNlY29uZCgpKTsKLX0KLQotdm9pZCBEYXRlVGltZU1pbGxpc2Vjb25kRmllbGRFbGVtZW50
OjpzZXRWYWx1ZUFzRGF0ZVRpbWVGaWVsZHNTdGF0ZShjb25zdCBEYXRlVGltZUZpZWxkc1N0YXRl
JiBkYXRlVGltZUZpZWxkc1N0YXRlKQotewotICAgIGlmICghZGF0ZVRpbWVGaWVsZHNTdGF0ZS5o
YXNNaWxsaXNlY29uZCgpKSB7Ci0gICAgICAgIHNldEVtcHR5VmFsdWUoKTsKLSAgICAgICAgcmV0
dXJuOwotICAgIH0KLQotICAgIGNvbnN0IHVuc2lnbmVkIHZhbHVlID0gZGF0ZVRpbWVGaWVsZHNT
dGF0ZS5taWxsaXNlY29uZCgpOwotICAgIGlmICh2YWx1ZSA+IHN0YXRpY19jYXN0PHVuc2lnbmVk
PihtYXhpbXVtKCkpKSB7Ci0gICAgICAgIHNldEVtcHR5VmFsdWUoKTsKLSAgICAgICAgcmV0dXJu
OwotICAgIH0KLQotICAgIHNldFZhbHVlQXNJbnRlZ2VyKHZhbHVlKTsKLX0KLQotLy8gLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotCi1EYXRlVGltZU1pbnV0ZUZpZWxkRWxlbWVudDo6RGF0
ZVRpbWVNaW51dGVGaWVsZEVsZW1lbnQoRG9jdW1lbnQqIGRvY3VtZW50LCBGaWVsZE93bmVyJiBm
aWVsZE93bmVyLCBjb25zdCBSYW5nZSYgcmFuZ2UsIGNvbnN0IFN0ZXAmIHN0ZXApCi0gICAgOiBE
YXRlVGltZU51bWVyaWNGaWVsZEVsZW1lbnQoZG9jdW1lbnQsIGZpZWxkT3duZXIsIHJhbmdlLCBS
YW5nZSgwLCA1OSksICItLSIsIHN0ZXApCi17Ci19Ci0KLVBhc3NSZWZQdHI8RGF0ZVRpbWVNaW51
dGVGaWVsZEVsZW1lbnQ+IERhdGVUaW1lTWludXRlRmllbGRFbGVtZW50OjpjcmVhdGUoRG9jdW1l
bnQqIGRvY3VtZW50LCBGaWVsZE93bmVyJiBmaWVsZE93bmVyLCBjb25zdCBSYW5nZSYgcmFuZ2Us
IGNvbnN0IFN0ZXAmIHN0ZXApCi17Ci0gICAgREVGSU5FX1NUQVRJQ19MT0NBTChBdG9taWNTdHJp
bmcsIG1pbnV0ZVBzdWVkb0lkLCAoIi13ZWJraXQtZGF0ZXRpbWUtZWRpdC1taW51dGUtZmllbGQi
LCBBdG9taWNTdHJpbmc6OkNvbnN0cnVjdEZyb21MaXRlcmFsKSk7Ci0gICAgUmVmUHRyPERhdGVU
aW1lTWludXRlRmllbGRFbGVtZW50PiBmaWVsZCA9IGFkb3B0UmVmKG5ldyBEYXRlVGltZU1pbnV0
ZUZpZWxkRWxlbWVudChkb2N1bWVudCwgZmllbGRPd25lciwgcmFuZ2UsIHN0ZXApKTsKLSAgICBm
aWVsZC0+aW5pdGlhbGl6ZShtaW51dGVQc3VlZG9JZCwgQVhNaW51dGVGaWVsZFRleHQoKSk7Ci0g
ICAgcmV0dXJuIGZpZWxkLnJlbGVhc2UoKTsKLX0KLQotdm9pZCBEYXRlVGltZU1pbnV0ZUZpZWxk
RWxlbWVudDo6cG9wdWxhdGVEYXRlVGltZUZpZWxkc1N0YXRlKERhdGVUaW1lRmllbGRzU3RhdGUm
IGRhdGVUaW1lRmllbGRzU3RhdGUpCi17Ci0gICAgZGF0ZVRpbWVGaWVsZHNTdGF0ZS5zZXRNaW51
dGUoaGFzVmFsdWUoKSA/IHZhbHVlQXNJbnRlZ2VyKCkgOiBEYXRlVGltZUZpZWxkc1N0YXRlOjpl
bXB0eVZhbHVlKTsKLX0KLQotdm9pZCBEYXRlVGltZU1pbnV0ZUZpZWxkRWxlbWVudDo6c2V0VmFs
dWVBc0RhdGUoY29uc3QgRGF0ZUNvbXBvbmVudHMmIGRhdGUpCi17Ci0gICAgc2V0VmFsdWVBc0lu
dGVnZXIoZGF0ZS5taW51dGUoKSk7Ci19Ci0KLXZvaWQgRGF0ZVRpbWVNaW51dGVGaWVsZEVsZW1l
bnQ6OnNldFZhbHVlQXNEYXRlVGltZUZpZWxkc1N0YXRlKGNvbnN0IERhdGVUaW1lRmllbGRzU3Rh
dGUmIGRhdGVUaW1lRmllbGRzU3RhdGUpCi17Ci0gICAgaWYgKCFkYXRlVGltZUZpZWxkc1N0YXRl
Lmhhc01pbnV0ZSgpKSB7Ci0gICAgICAgIHNldEVtcHR5VmFsdWUoKTsKLSAgICAgICAgcmV0dXJu
OwotICAgIH0KLQotICAgIGNvbnN0IHVuc2lnbmVkIHZhbHVlID0gZGF0ZVRpbWVGaWVsZHNTdGF0
ZS5taW51dGUoKTsKLSAgICBpZiAodmFsdWUgPiBzdGF0aWNfY2FzdDx1bnNpZ25lZD4obWF4aW11
bSgpKSkgewotICAgICAgICBzZXRFbXB0eVZhbHVlKCk7Ci0gICAgICAgIHJldHVybjsKLSAgICB9
Ci0KLSAgICBzZXRWYWx1ZUFzSW50ZWdlcih2YWx1ZSk7Ci19Ci0KLS8vIC0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0KLQotRGF0ZVRpbWVNb250aEZpZWxkRWxlbWVudDo6RGF0ZVRpbWVNb250
aEZpZWxkRWxlbWVudChEb2N1bWVudCogZG9jdW1lbnQsIEZpZWxkT3duZXImIGZpZWxkT3duZXIs
IGNvbnN0IFN0cmluZyYgcGxhY2Vob2xkZXIsIGNvbnN0IFJhbmdlJiByYW5nZSkKLSAgICA6IERh
dGVUaW1lTnVtZXJpY0ZpZWxkRWxlbWVudChkb2N1bWVudCwgZmllbGRPd25lciwgcmFuZ2UsIFJh
bmdlKDEsIDEyKSwgcGxhY2Vob2xkZXIpCi17Ci19Ci0KLVBhc3NSZWZQdHI8RGF0ZVRpbWVNb250
aEZpZWxkRWxlbWVudD4gRGF0ZVRpbWVNb250aEZpZWxkRWxlbWVudDo6Y3JlYXRlKERvY3VtZW50
KiBkb2N1bWVudCwgRmllbGRPd25lciYgZmllbGRPd25lciwgY29uc3QgU3RyaW5nJiBwbGFjZWhv
bGRlciwgY29uc3QgUmFuZ2UmIHJhbmdlKQotewotICAgIERFRklORV9TVEFUSUNfTE9DQUwoQXRv
bWljU3RyaW5nLCBtb250aFBzdWVkb0lkLCAoIi13ZWJraXQtZGF0ZXRpbWUtZWRpdC1tb250aC1m
aWVsZCIsIEF0b21pY1N0cmluZzo6Q29uc3RydWN0RnJvbUxpdGVyYWwpKTsKLSAgICBSZWZQdHI8
RGF0ZVRpbWVNb250aEZpZWxkRWxlbWVudD4gZmllbGQgPSBhZG9wdFJlZihuZXcgRGF0ZVRpbWVN
b250aEZpZWxkRWxlbWVudChkb2N1bWVudCwgZmllbGRPd25lciwgcGxhY2Vob2xkZXIuaXNFbXB0
eSgpID8gQVNDSUlMaXRlcmFsKCItLSIpIDogcGxhY2Vob2xkZXIsIHJhbmdlKSk7Ci0gICAgZmll
bGQtPmluaXRpYWxpemUobW9udGhQc3VlZG9JZCwgQVhNb250aEZpZWxkVGV4dCgpKTsKLSAgICBy
ZXR1cm4gZmllbGQucmVsZWFzZSgpOwotfQotCi12b2lkIERhdGVUaW1lTW9udGhGaWVsZEVsZW1l
bnQ6OnBvcHVsYXRlRGF0ZVRpbWVGaWVsZHNTdGF0ZShEYXRlVGltZUZpZWxkc1N0YXRlJiBkYXRl
VGltZUZpZWxkc1N0YXRlKQotewotICAgIGRhdGVUaW1lRmllbGRzU3RhdGUuc2V0TW9udGgoaGFz
VmFsdWUoKSA/IHZhbHVlQXNJbnRlZ2VyKCkgOiBEYXRlVGltZUZpZWxkc1N0YXRlOjplbXB0eVZh
bHVlKTsKLX0KLQotdm9pZCBEYXRlVGltZU1vbnRoRmllbGRFbGVtZW50OjpzZXRWYWx1ZUFzRGF0
ZShjb25zdCBEYXRlQ29tcG9uZW50cyYgZGF0ZSkKLXsKLSAgICBzZXRWYWx1ZUFzSW50ZWdlcihk
YXRlLm1vbnRoKCkgKyAxKTsKLX0KLQotdm9pZCBEYXRlVGltZU1vbnRoRmllbGRFbGVtZW50Ojpz
ZXRWYWx1ZUFzRGF0ZVRpbWVGaWVsZHNTdGF0ZShjb25zdCBEYXRlVGltZUZpZWxkc1N0YXRlJiBk
YXRlVGltZUZpZWxkc1N0YXRlKQotewotICAgIGlmICghZGF0ZVRpbWVGaWVsZHNTdGF0ZS5oYXNN
b250aCgpKSB7Ci0gICAgICAgIHNldEVtcHR5VmFsdWUoKTsKLSAgICAgICAgcmV0dXJuOwotICAg
IH0KLQotICAgIGNvbnN0IHVuc2lnbmVkIHZhbHVlID0gZGF0ZVRpbWVGaWVsZHNTdGF0ZS5tb250
aCgpOwotICAgIGlmIChyYW5nZSgpLmlzSW5SYW5nZShzdGF0aWNfY2FzdDxpbnQ+KHZhbHVlKSkp
IHsKLSAgICAgICAgc2V0VmFsdWVBc0ludGVnZXIodmFsdWUpOwotICAgICAgICByZXR1cm47Ci0g
ICAgfQotCi0gICAgc2V0RW1wdHlWYWx1ZSgpOwotfQotCi0vLyAtLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tCi0KLURhdGVUaW1lU2Vjb25kRmllbGRFbGVtZW50OjpEYXRlVGltZVNlY29uZEZp
ZWxkRWxlbWVudChEb2N1bWVudCogZG9jdW1lbnQsIEZpZWxkT3duZXImIGZpZWxkT3duZXIsIGNv
bnN0IFJhbmdlJiByYW5nZSwgY29uc3QgU3RlcCYgc3RlcCkKLSAgICA6IERhdGVUaW1lTnVtZXJp
Y0ZpZWxkRWxlbWVudChkb2N1bWVudCwgZmllbGRPd25lciwgcmFuZ2UsIFJhbmdlKDAsIDU5KSwg
Ii0tIiwgc3RlcCkKLXsKLX0KLQotUGFzc1JlZlB0cjxEYXRlVGltZVNlY29uZEZpZWxkRWxlbWVu
dD4gRGF0ZVRpbWVTZWNvbmRGaWVsZEVsZW1lbnQ6OmNyZWF0ZShEb2N1bWVudCogZG9jdW1lbnQs
IEZpZWxkT3duZXImIGZpZWxkT3duZXIsIGNvbnN0IFJhbmdlJiByYW5nZSwgY29uc3QgU3RlcCYg
c3RlcCkKLXsKLSAgICBERUZJTkVfU1RBVElDX0xPQ0FMKEF0b21pY1N0cmluZywgc2Vjb25kUHN1
ZWRvSWQsICgiLXdlYmtpdC1kYXRldGltZS1lZGl0LXNlY29uZC1maWVsZCIsIEF0b21pY1N0cmlu
Zzo6Q29uc3RydWN0RnJvbUxpdGVyYWwpKTsKLSAgICBSZWZQdHI8RGF0ZVRpbWVTZWNvbmRGaWVs
ZEVsZW1lbnQ+IGZpZWxkID0gYWRvcHRSZWYobmV3IERhdGVUaW1lU2Vjb25kRmllbGRFbGVtZW50
KGRvY3VtZW50LCBmaWVsZE93bmVyLCByYW5nZSwgc3RlcCkpOwotICAgIGZpZWxkLT5pbml0aWFs
aXplKHNlY29uZFBzdWVkb0lkLCBBWFNlY29uZEZpZWxkVGV4dCgpKTsKLSAgICByZXR1cm4gZmll
bGQucmVsZWFzZSgpOwotfQotCi12b2lkIERhdGVUaW1lU2Vjb25kRmllbGRFbGVtZW50Ojpwb3B1
bGF0ZURhdGVUaW1lRmllbGRzU3RhdGUoRGF0ZVRpbWVGaWVsZHNTdGF0ZSYgZGF0ZVRpbWVGaWVs
ZHNTdGF0ZSkKLXsKLSAgICBkYXRlVGltZUZpZWxkc1N0YXRlLnNldFNlY29uZChoYXNWYWx1ZSgp
ID8gdmFsdWVBc0ludGVnZXIoKSA6IERhdGVUaW1lRmllbGRzU3RhdGU6OmVtcHR5VmFsdWUpOwot
fQotCi12b2lkIERhdGVUaW1lU2Vjb25kRmllbGRFbGVtZW50OjpzZXRWYWx1ZUFzRGF0ZShjb25z
dCBEYXRlQ29tcG9uZW50cyYgZGF0ZSkKLXsKLSAgICBzZXRWYWx1ZUFzSW50ZWdlcihkYXRlLnNl
Y29uZCgpKTsKLX0KLQotdm9pZCBEYXRlVGltZVNlY29uZEZpZWxkRWxlbWVudDo6c2V0VmFsdWVB
c0RhdGVUaW1lRmllbGRzU3RhdGUoY29uc3QgRGF0ZVRpbWVGaWVsZHNTdGF0ZSYgZGF0ZVRpbWVG
aWVsZHNTdGF0ZSkKLXsKLSAgICBpZiAoIWRhdGVUaW1lRmllbGRzU3RhdGUuaGFzU2Vjb25kKCkp
IHsKLSAgICAgICAgc2V0RW1wdHlWYWx1ZSgpOwotICAgICAgICByZXR1cm47Ci0gICAgfQotCi0g
ICAgY29uc3QgdW5zaWduZWQgdmFsdWUgPSBkYXRlVGltZUZpZWxkc1N0YXRlLnNlY29uZCgpOwot
ICAgIGlmICh2YWx1ZSA+IHN0YXRpY19jYXN0PHVuc2lnbmVkPihtYXhpbXVtKCkpKSB7Ci0gICAg
ICAgIHNldEVtcHR5VmFsdWUoKTsKLSAgICAgICAgcmV0dXJuOwotICAgIH0KLQotICAgIHNldFZh
bHVlQXNJbnRlZ2VyKHZhbHVlKTsKLX0KLQotLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LQotCi1EYXRlVGltZVN5bWJvbGljTW9udGhGaWVsZEVsZW1lbnQ6OkRhdGVUaW1lU3ltYm9saWNN
b250aEZpZWxkRWxlbWVudChEb2N1bWVudCogZG9jdW1lbnQsIEZpZWxkT3duZXImIGZpZWxkT3du
ZXIsIGNvbnN0IFZlY3RvcjxTdHJpbmc+JiBsYWJlbHMsIGludCBtaW5pbXVtLCBpbnQgbWF4aW11
bSkKLSAgICA6IERhdGVUaW1lU3ltYm9saWNGaWVsZEVsZW1lbnQoZG9jdW1lbnQsIGZpZWxkT3du
ZXIsIGxhYmVscywgbWluaW11bSwgbWF4aW11bSkKLXsKLX0KLQotUGFzc1JlZlB0cjxEYXRlVGlt
ZVN5bWJvbGljTW9udGhGaWVsZEVsZW1lbnQ+IERhdGVUaW1lU3ltYm9saWNNb250aEZpZWxkRWxl
bWVudDo6Y3JlYXRlKERvY3VtZW50KiBkb2N1bWVudCwgRmllbGRPd25lciYgZmllbGRPd25lciwg
Y29uc3QgVmVjdG9yPFN0cmluZz4mIGxhYmVscywgaW50IG1pbmltdW0sIGludCBtYXhpbXVtKQot
ewotICAgIERFRklORV9TVEFUSUNfTE9DQUwoQXRvbWljU3RyaW5nLCBtb250aFBzdWVkb0lkLCAo
Ii13ZWJraXQtZGF0ZXRpbWUtZWRpdC1tb250aC1maWVsZCIsIEF0b21pY1N0cmluZzo6Q29uc3Ry
dWN0RnJvbUxpdGVyYWwpKTsKLSAgICBSZWZQdHI8RGF0ZVRpbWVTeW1ib2xpY01vbnRoRmllbGRF
bGVtZW50PiBmaWVsZCA9IGFkb3B0UmVmKG5ldyBEYXRlVGltZVN5bWJvbGljTW9udGhGaWVsZEVs
ZW1lbnQoZG9jdW1lbnQsIGZpZWxkT3duZXIsIGxhYmVscywgbWluaW11bSwgbWF4aW11bSkpOwot
ICAgIGZpZWxkLT5pbml0aWFsaXplKG1vbnRoUHN1ZWRvSWQsIEFYTW9udGhGaWVsZFRleHQoKSk7
Ci0gICAgcmV0dXJuIGZpZWxkLnJlbGVhc2UoKTsKLX0KLQotdm9pZCBEYXRlVGltZVN5bWJvbGlj
TW9udGhGaWVsZEVsZW1lbnQ6OnBvcHVsYXRlRGF0ZVRpbWVGaWVsZHNTdGF0ZShEYXRlVGltZUZp
ZWxkc1N0YXRlJiBkYXRlVGltZUZpZWxkc1N0YXRlKQotewotICAgIGlmICghaGFzVmFsdWUoKSkK
LSAgICAgICAgZGF0ZVRpbWVGaWVsZHNTdGF0ZS5zZXRNb250aChEYXRlVGltZUZpZWxkc1N0YXRl
OjplbXB0eVZhbHVlKTsKLSAgICBBU1NFUlQodmFsdWVBc0ludGVnZXIoKSA8IHN0YXRpY19jYXN0
PGludD4oc3ltYm9sc1NpemUoKSkpOwotICAgIGRhdGVUaW1lRmllbGRzU3RhdGUuc2V0TW9udGgo
dmFsdWVBc0ludGVnZXIoKSArIDEpOwotfQotCi12b2lkIERhdGVUaW1lU3ltYm9saWNNb250aEZp
ZWxkRWxlbWVudDo6c2V0VmFsdWVBc0RhdGUoY29uc3QgRGF0ZUNvbXBvbmVudHMmIGRhdGUpCi17
Ci0gICAgc2V0VmFsdWVBc0ludGVnZXIoZGF0ZS5tb250aCgpKTsKLX0KLQotdm9pZCBEYXRlVGlt
ZVN5bWJvbGljTW9udGhGaWVsZEVsZW1lbnQ6OnNldFZhbHVlQXNEYXRlVGltZUZpZWxkc1N0YXRl
KGNvbnN0IERhdGVUaW1lRmllbGRzU3RhdGUmIGRhdGVUaW1lRmllbGRzU3RhdGUpCi17Ci0gICAg
aWYgKCFkYXRlVGltZUZpZWxkc1N0YXRlLmhhc01vbnRoKCkpIHsKLSAgICAgICAgc2V0RW1wdHlW
YWx1ZSgpOwotICAgICAgICByZXR1cm47Ci0gICAgfQotCi0gICAgY29uc3QgdW5zaWduZWQgdmFs
dWUgPSBkYXRlVGltZUZpZWxkc1N0YXRlLm1vbnRoKCkgLSAxOwotICAgIGlmICh2YWx1ZSA+PSBz
eW1ib2xzU2l6ZSgpKSB7Ci0gICAgICAgIHNldEVtcHR5VmFsdWUoKTsKLSAgICAgICAgcmV0dXJu
OwotICAgIH0KLQotICAgIHNldFZhbHVlQXNJbnRlZ2VyKHZhbHVlKTsKLX0KLQotLy8gLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotCi1EYXRlVGltZVdlZWtGaWVsZEVsZW1lbnQ6OkRhdGVU
aW1lV2Vla0ZpZWxkRWxlbWVudChEb2N1bWVudCogZG9jdW1lbnQsIEZpZWxkT3duZXImIGZpZWxk
T3duZXIsIGNvbnN0IFJhbmdlJiByYW5nZSkKLSAgICA6IERhdGVUaW1lTnVtZXJpY0ZpZWxkRWxl
bWVudChkb2N1bWVudCwgZmllbGRPd25lciwgcmFuZ2UsIFJhbmdlKERhdGVDb21wb25lbnRzOjpt
aW5pbXVtV2Vla051bWJlciwgRGF0ZUNvbXBvbmVudHM6Om1heGltdW1XZWVrTnVtYmVyKSwgIi0t
IikKLXsKLX0KLQotUGFzc1JlZlB0cjxEYXRlVGltZVdlZWtGaWVsZEVsZW1lbnQ+IERhdGVUaW1l
V2Vla0ZpZWxkRWxlbWVudDo6Y3JlYXRlKERvY3VtZW50KiBkb2N1bWVudCwgRmllbGRPd25lciYg
ZmllbGRPd25lciwgY29uc3QgUmFuZ2UmIHJhbmdlKQotewotICAgIERFRklORV9TVEFUSUNfTE9D
QUwoQXRvbWljU3RyaW5nLCB3ZWVrUHN1ZWRvSWQsICgiLXdlYmtpdC1kYXRldGltZS1lZGl0LXdl
ZWstZmllbGQiLCBBdG9taWNTdHJpbmc6OkNvbnN0cnVjdEZyb21MaXRlcmFsKSk7Ci0gICAgUmVm
UHRyPERhdGVUaW1lV2Vla0ZpZWxkRWxlbWVudD4gZmllbGQgPSBhZG9wdFJlZihuZXcgRGF0ZVRp
bWVXZWVrRmllbGRFbGVtZW50KGRvY3VtZW50LCBmaWVsZE93bmVyLCByYW5nZSkpOwotICAgIGZp
ZWxkLT5pbml0aWFsaXplKHdlZWtQc3VlZG9JZCwgQVhXZWVrT2ZZZWFyRmllbGRUZXh0KCkpOwot
ICAgIHJldHVybiBmaWVsZC5yZWxlYXNlKCk7Ci19Ci0KLXZvaWQgRGF0ZVRpbWVXZWVrRmllbGRF
bGVtZW50Ojpwb3B1bGF0ZURhdGVUaW1lRmllbGRzU3RhdGUoRGF0ZVRpbWVGaWVsZHNTdGF0ZSYg
ZGF0ZVRpbWVGaWVsZHNTdGF0ZSkKLXsKLSAgICBkYXRlVGltZUZpZWxkc1N0YXRlLnNldFdlZWtP
ZlllYXIoaGFzVmFsdWUoKSA/IHZhbHVlQXNJbnRlZ2VyKCkgOiBEYXRlVGltZUZpZWxkc1N0YXRl
OjplbXB0eVZhbHVlKTsKLX0KLQotdm9pZCBEYXRlVGltZVdlZWtGaWVsZEVsZW1lbnQ6OnNldFZh
bHVlQXNEYXRlKGNvbnN0IERhdGVDb21wb25lbnRzJiBkYXRlKQotewotICAgIHNldFZhbHVlQXNJ
bnRlZ2VyKGRhdGUud2VlaygpKTsKLX0KLQotdm9pZCBEYXRlVGltZVdlZWtGaWVsZEVsZW1lbnQ6
OnNldFZhbHVlQXNEYXRlVGltZUZpZWxkc1N0YXRlKGNvbnN0IERhdGVUaW1lRmllbGRzU3RhdGUm
IGRhdGVUaW1lRmllbGRzU3RhdGUpCi17Ci0gICAgaWYgKCFkYXRlVGltZUZpZWxkc1N0YXRlLmhh
c1dlZWtPZlllYXIoKSkgewotICAgICAgICBzZXRFbXB0eVZhbHVlKCk7Ci0gICAgICAgIHJldHVy
bjsKLSAgICB9Ci0KLSAgICBjb25zdCB1bnNpZ25lZCB2YWx1ZSA9IGRhdGVUaW1lRmllbGRzU3Rh
dGUud2Vla09mWWVhcigpOwotICAgIGlmIChyYW5nZSgpLmlzSW5SYW5nZShzdGF0aWNfY2FzdDxp
bnQ+KHZhbHVlKSkpIHsKLSAgICAgICAgc2V0VmFsdWVBc0ludGVnZXIodmFsdWUpOwotICAgICAg
ICByZXR1cm47Ci0gICAgfQotCi0gICAgc2V0RW1wdHlWYWx1ZSgpOwotfQotCi0vLyAtLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tCi0KLURhdGVUaW1lWWVhckZpZWxkRWxlbWVudDo6RGF0ZVRp
bWVZZWFyRmllbGRFbGVtZW50KERvY3VtZW50KiBkb2N1bWVudCwgRmllbGRPd25lciYgZmllbGRP
d25lciwgY29uc3QgRGF0ZVRpbWVZZWFyRmllbGRFbGVtZW50OjpQYXJhbWV0ZXJzJiBwYXJhbWV0
ZXJzKQotICAgIDogRGF0ZVRpbWVOdW1lcmljRmllbGRFbGVtZW50KGRvY3VtZW50LCBmaWVsZE93
bmVyLCBSYW5nZShwYXJhbWV0ZXJzLm1pbmltdW1ZZWFyLCBwYXJhbWV0ZXJzLm1heGltdW1ZZWFy
KSwgUmFuZ2UoRGF0ZUNvbXBvbmVudHM6Om1pbmltdW1ZZWFyKCksIERhdGVDb21wb25lbnRzOjpt
YXhpbXVtWWVhcigpKSwgcGFyYW1ldGVycy5wbGFjZWhvbGRlci5pc0VtcHR5KCkgPyBBU0NJSUxp
dGVyYWwoIi0tLS0iKSA6IHBhcmFtZXRlcnMucGxhY2Vob2xkZXIpCi0gICAgLCBtX21pbklzU3Bl
Y2lmaWVkKHBhcmFtZXRlcnMubWluSXNTcGVjaWZpZWQpCi0gICAgLCBtX21heElzU3BlY2lmaWVk
KHBhcmFtZXRlcnMubWF4SXNTcGVjaWZpZWQpCi17Ci0gICAgQVNTRVJUKHBhcmFtZXRlcnMubWlu
aW11bVllYXIgPj0gRGF0ZUNvbXBvbmVudHM6Om1pbmltdW1ZZWFyKCkpOwotICAgIEFTU0VSVChw
YXJhbWV0ZXJzLm1heGltdW1ZZWFyIDw9IERhdGVDb21wb25lbnRzOjptYXhpbXVtWWVhcigpKTsK
LX0KLQotUGFzc1JlZlB0cjxEYXRlVGltZVllYXJGaWVsZEVsZW1lbnQ+IERhdGVUaW1lWWVhckZp
ZWxkRWxlbWVudDo6Y3JlYXRlKERvY3VtZW50KiBkb2N1bWVudCwgRmllbGRPd25lciYgZmllbGRP
d25lciwgY29uc3QgRGF0ZVRpbWVZZWFyRmllbGRFbGVtZW50OjpQYXJhbWV0ZXJzJiBwYXJhbWV0
ZXJzKQotewotICAgIERFRklORV9TVEFUSUNfTE9DQUwoQXRvbWljU3RyaW5nLCB5ZWFyUHN1ZWRv
SWQsICgiLXdlYmtpdC1kYXRldGltZS1lZGl0LXllYXItZmllbGQiLCBBdG9taWNTdHJpbmc6OkNv
bnN0cnVjdEZyb21MaXRlcmFsKSk7Ci0gICAgUmVmUHRyPERhdGVUaW1lWWVhckZpZWxkRWxlbWVu
dD4gZmllbGQgPSBhZG9wdFJlZihuZXcgRGF0ZVRpbWVZZWFyRmllbGRFbGVtZW50KGRvY3VtZW50
LCBmaWVsZE93bmVyLCBwYXJhbWV0ZXJzKSk7Ci0gICAgZmllbGQtPmluaXRpYWxpemUoeWVhclBz
dWVkb0lkLCBBWFllYXJGaWVsZFRleHQoKSk7Ci0gICAgcmV0dXJuIGZpZWxkLnJlbGVhc2UoKTsK
LX0KLQotc3RhdGljIGludCBjdXJyZW50RnVsbFllYXIoKQotewotICAgIGRvdWJsZSBjdXJyZW50
ID0gY3VycmVudFRpbWVNUygpOwotICAgIGRvdWJsZSB1dGNPZmZzZXQgPSBjYWxjdWxhdGVVVENP
ZmZzZXQoKTsKLSAgICBkb3VibGUgZHN0T2Zmc2V0ID0gY2FsY3VsYXRlRFNUT2Zmc2V0KGN1cnJl
bnQsIHV0Y09mZnNldCk7Ci0gICAgaW50IG9mZnNldCA9IHN0YXRpY19jYXN0PGludD4oKHV0Y09m
ZnNldCArIGRzdE9mZnNldCkgLyBtc1Blck1pbnV0ZSk7Ci0gICAgY3VycmVudCArPSBvZmZzZXQg
KiBtc1Blck1pbnV0ZTsKLQotICAgIERhdGVDb21wb25lbnRzIGRhdGU7Ci0gICAgZGF0ZS5zZXRN
aWxsaXNlY29uZHNTaW5jZUVwb2NoRm9yTW9udGgoY3VycmVudCk7Ci0gICAgcmV0dXJuIGRhdGUu
ZnVsbFllYXIoKTsKLX0KLQotaW50IERhdGVUaW1lWWVhckZpZWxkRWxlbWVudDo6ZGVmYXVsdFZh
bHVlRm9yU3RlcERvd24oKSBjb25zdAotewotICAgIHJldHVybiBtX21heElzU3BlY2lmaWVkID8g
RGF0ZVRpbWVOdW1lcmljRmllbGRFbGVtZW50OjpkZWZhdWx0VmFsdWVGb3JTdGVwRG93bigpIDog
Y3VycmVudEZ1bGxZZWFyKCk7Ci19Ci0KLWludCBEYXRlVGltZVllYXJGaWVsZEVsZW1lbnQ6OmRl
ZmF1bHRWYWx1ZUZvclN0ZXBVcCgpIGNvbnN0Ci17Ci0gICAgcmV0dXJuIG1fbWluSXNTcGVjaWZp
ZWQgPyBEYXRlVGltZU51bWVyaWNGaWVsZEVsZW1lbnQ6OmRlZmF1bHRWYWx1ZUZvclN0ZXBVcCgp
IDogY3VycmVudEZ1bGxZZWFyKCk7Ci19Ci0KLXZvaWQgRGF0ZVRpbWVZZWFyRmllbGRFbGVtZW50
Ojpwb3B1bGF0ZURhdGVUaW1lRmllbGRzU3RhdGUoRGF0ZVRpbWVGaWVsZHNTdGF0ZSYgZGF0ZVRp
bWVGaWVsZHNTdGF0ZSkKLXsKLSAgICBkYXRlVGltZUZpZWxkc1N0YXRlLnNldFllYXIoaGFzVmFs
dWUoKSA/IHZhbHVlQXNJbnRlZ2VyKCkgOiBEYXRlVGltZUZpZWxkc1N0YXRlOjplbXB0eVZhbHVl
KTsKLX0KLQotdm9pZCBEYXRlVGltZVllYXJGaWVsZEVsZW1lbnQ6OnNldFZhbHVlQXNEYXRlKGNv
bnN0IERhdGVDb21wb25lbnRzJiBkYXRlKQotewotICAgIHNldFZhbHVlQXNJbnRlZ2VyKGRhdGUu
ZnVsbFllYXIoKSk7Ci19Ci0KLXZvaWQgRGF0ZVRpbWVZZWFyRmllbGRFbGVtZW50OjpzZXRWYWx1
ZUFzRGF0ZVRpbWVGaWVsZHNTdGF0ZShjb25zdCBEYXRlVGltZUZpZWxkc1N0YXRlJiBkYXRlVGlt
ZUZpZWxkc1N0YXRlKQotewotICAgIGlmICghZGF0ZVRpbWVGaWVsZHNTdGF0ZS5oYXNZZWFyKCkp
IHsKLSAgICAgICAgc2V0RW1wdHlWYWx1ZSgpOwotICAgICAgICByZXR1cm47Ci0gICAgfQotCi0g
ICAgY29uc3QgdW5zaWduZWQgdmFsdWUgPSBkYXRlVGltZUZpZWxkc1N0YXRlLnllYXIoKTsKLSAg
ICBpZiAocmFuZ2UoKS5pc0luUmFuZ2Uoc3RhdGljX2Nhc3Q8aW50Pih2YWx1ZSkpKSB7Ci0gICAg
ICAgIHNldFZhbHVlQXNJbnRlZ2VyKHZhbHVlKTsKLSAgICAgICAgcmV0dXJuOwotICAgIH0KLQot
ICAgIHNldEVtcHR5VmFsdWUoKTsKLX0KLQotfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQotCi0jZW5k
aWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L0RhdGVUaW1lRmllbGRF
bGVtZW50cy5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvRGF0ZVRpbWVGaWVsZEVsZW1l
bnRzLmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGVlMDQ3NDM5MzBkMzVmOWNmYjhk
MmI0ZmUyNmJlNGQ3ODc1ZWM0MmUuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvRGF0ZVRpbWVGaWVsZEVsZW1l
bnRzLmgKKysrIC9kZXYvbnVsbApAQCAtMSwyNjUgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAo
QykgMjAxMiBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICoKLSAqIFJlZGlzdHJp
YnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91
dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxv
d2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0OgotICogMS4gIFJlZGlzdHJpYnV0aW9ucyBvZiBz
b3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICAgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgot
ICogMi4gIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUg
YWJvdmUgY29weXJpZ2h0Ci0gKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQotICogICAgIGRvY3VtZW50YXRpb24g
YW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0g
KgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09O
VFJJQlVUT1JTIGBgQVMgSVMnJyBBTkQKLSAqIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFO
VElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQotICogSU1QTElFRCBXQVJS
QU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBV
UlBPU0UKLSAqIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9S
IElUUyBDT05UUklCVVRPUlMgQkUgTElBQkxFCi0gKiBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1Qs
IElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTAotICogREFN
QUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNU
SVRVVEUgR09PRFMgT1IKLSAqIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklU
UzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSCi0gKiBDQVVTRUQgQU5EIE9OIEFO
WSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QKLSAqIExJ
QUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklT
SU5HIElOIEFOWSBXQVkKLSAqIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4g
SUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YKLSAqIFNVQ0ggREFNQUdFLgotICovCi0K
LSNpZm5kZWYgRGF0ZVRpbWVGaWVsZEVsZW1lbnRzX2gKLSNkZWZpbmUgRGF0ZVRpbWVGaWVsZEVs
ZW1lbnRzX2gKLQotI2lmIEVOQUJMRShJTlBVVF9NVUxUSVBMRV9GSUVMRFNfVUkpCi0jaW5jbHVk
ZSAiRGF0ZVRpbWVOdW1lcmljRmllbGRFbGVtZW50LmgiCi0jaW5jbHVkZSAiRGF0ZVRpbWVTeW1i
b2xpY0ZpZWxkRWxlbWVudC5oIgotCi1uYW1lc3BhY2UgV2ViQ29yZSB7Ci0KLWNsYXNzIERhdGVU
aW1lQU1QTUZpZWxkRWxlbWVudCBGSU5BTCA6IHB1YmxpYyBEYXRlVGltZVN5bWJvbGljRmllbGRF
bGVtZW50IHsKLSAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShEYXRlVGltZUFNUE1GaWVsZEVsZW1l
bnQpOwotCi1wdWJsaWM6Ci0gICAgc3RhdGljIFBhc3NSZWZQdHI8RGF0ZVRpbWVBTVBNRmllbGRF
bGVtZW50PiBjcmVhdGUoRG9jdW1lbnQqLCBGaWVsZE93bmVyJiwgY29uc3QgVmVjdG9yPFN0cmlu
Zz4mKTsKLQotcHJpdmF0ZToKLSAgICBEYXRlVGltZUFNUE1GaWVsZEVsZW1lbnQoRG9jdW1lbnQq
LCBGaWVsZE93bmVyJiwgY29uc3QgVmVjdG9yPFN0cmluZz4mKTsKLQotICAgIC8vIERhdGVUaW1l
RmllbGRFbGVtZW50IGZ1bmN0aW9ucy4KLSAgICB2aXJ0dWFsIHZvaWQgcG9wdWxhdGVEYXRlVGlt
ZUZpZWxkc1N0YXRlKERhdGVUaW1lRmllbGRzU3RhdGUmKSBPVkVSUklERSBGSU5BTDsKLSAgICB2
aXJ0dWFsIHZvaWQgc2V0VmFsdWVBc0RhdGUoY29uc3QgRGF0ZUNvbXBvbmVudHMmKSBPVkVSUklE
RSBGSU5BTDsKLSAgICB2aXJ0dWFsIHZvaWQgc2V0VmFsdWVBc0RhdGVUaW1lRmllbGRzU3RhdGUo
Y29uc3QgRGF0ZVRpbWVGaWVsZHNTdGF0ZSYpIE9WRVJSSURFIEZJTkFMOwotfTsKLQotY2xhc3Mg
RGF0ZVRpbWVEYXlGaWVsZEVsZW1lbnQgRklOQUwgOiBwdWJsaWMgRGF0ZVRpbWVOdW1lcmljRmll
bGRFbGVtZW50IHsKLSAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShEYXRlVGltZURheUZpZWxkRWxl
bWVudCk7Ci0KLXB1YmxpYzoKLSAgICBzdGF0aWMgUGFzc1JlZlB0cjxEYXRlVGltZURheUZpZWxk
RWxlbWVudD4gY3JlYXRlKERvY3VtZW50KiwgRmllbGRPd25lciYsIGNvbnN0IFN0cmluZyYgcGxh
Y2Vob2xkZXIsIGNvbnN0IFJhbmdlJik7Ci0KLXByaXZhdGU6Ci0gICAgRGF0ZVRpbWVEYXlGaWVs
ZEVsZW1lbnQoRG9jdW1lbnQqLCBGaWVsZE93bmVyJiwgY29uc3QgU3RyaW5nJiBwbGFjZWhvbGRl
ciwgY29uc3QgUmFuZ2UmKTsKLQotICAgIC8vIERhdGVUaW1lRmllbGRFbGVtZW50IGZ1bmN0aW9u
cy4KLSAgICB2aXJ0dWFsIHZvaWQgcG9wdWxhdGVEYXRlVGltZUZpZWxkc1N0YXRlKERhdGVUaW1l
RmllbGRzU3RhdGUmKSBPVkVSUklERSBGSU5BTDsKLSAgICB2aXJ0dWFsIHZvaWQgc2V0VmFsdWVB
c0RhdGUoY29uc3QgRGF0ZUNvbXBvbmVudHMmKSBPVkVSUklERSBGSU5BTDsKLSAgICB2aXJ0dWFs
IHZvaWQgc2V0VmFsdWVBc0RhdGVUaW1lRmllbGRzU3RhdGUoY29uc3QgRGF0ZVRpbWVGaWVsZHNT
dGF0ZSYpIE9WRVJSSURFIEZJTkFMOwotfTsKLQotY2xhc3MgRGF0ZVRpbWVIb3VyRmllbGRFbGVt
ZW50QmFzZSA6IHB1YmxpYyBEYXRlVGltZU51bWVyaWNGaWVsZEVsZW1lbnQgewotICAgIFdURl9N
QUtFX05PTkNPUFlBQkxFKERhdGVUaW1lSG91ckZpZWxkRWxlbWVudEJhc2UpOwotCi1wcm90ZWN0
ZWQ6Ci0gICAgRGF0ZVRpbWVIb3VyRmllbGRFbGVtZW50QmFzZShEb2N1bWVudCosIEZpZWxkT3du
ZXImLCBjb25zdCBSYW5nZSYsIGNvbnN0IFJhbmdlJiBoYXJkTGltaXRzLCBjb25zdCBTdGVwJik7
Ci0gICAgdm9pZCBpbml0aWFsaXplKCk7Ci0KLXByaXZhdGU6Ci0gICAgLy8gRGF0ZVRpbWVGaWVs
ZEVsZW1lbnQgZnVuY3Rpb25zLgotICAgIHZpcnR1YWwgdm9pZCBzZXRWYWx1ZUFzRGF0ZShjb25z
dCBEYXRlQ29tcG9uZW50cyYpIE9WRVJSSURFIEZJTkFMOwotICAgIHZpcnR1YWwgdm9pZCBzZXRW
YWx1ZUFzRGF0ZVRpbWVGaWVsZHNTdGF0ZShjb25zdCBEYXRlVGltZUZpZWxkc1N0YXRlJikgT1ZF
UlJJREUgRklOQUw7Ci19OwotCi1jbGFzcyBEYXRlVGltZUhvdXIxMUZpZWxkRWxlbWVudCBGSU5B
TCA6IHB1YmxpYyBEYXRlVGltZUhvdXJGaWVsZEVsZW1lbnRCYXNlIHsKLSAgICBXVEZfTUFLRV9O
T05DT1BZQUJMRShEYXRlVGltZUhvdXIxMUZpZWxkRWxlbWVudCk7Ci0KLXB1YmxpYzoKLSAgICBz
dGF0aWMgUGFzc1JlZlB0cjxEYXRlVGltZUhvdXIxMUZpZWxkRWxlbWVudD4gY3JlYXRlKERvY3Vt
ZW50KiwgRmllbGRPd25lciYsIGNvbnN0IFJhbmdlJiwgY29uc3QgU3RlcCYpOwotCi1wcml2YXRl
OgotICAgIERhdGVUaW1lSG91cjExRmllbGRFbGVtZW50KERvY3VtZW50KiwgRmllbGRPd25lciYs
IGNvbnN0IFJhbmdlJiBob3VyMjNSYW5nZSwgY29uc3QgU3RlcCYpOwotCi0gICAgLy8gRGF0ZVRp
bWVGaWVsZEVsZW1lbnQgZnVuY3Rpb25zLgotICAgIHZpcnR1YWwgdm9pZCBwb3B1bGF0ZURhdGVU
aW1lRmllbGRzU3RhdGUoRGF0ZVRpbWVGaWVsZHNTdGF0ZSYpIE9WRVJSSURFIEZJTkFMOwotICAg
IHZpcnR1YWwgdm9pZCBzZXRWYWx1ZUFzSW50ZWdlcihpbnQsIEV2ZW50QmVoYXZpb3IgPSBEaXNw
YXRjaE5vRXZlbnQpIE9WRVJSSURFIEZJTkFMOwotfTsKLQotY2xhc3MgRGF0ZVRpbWVIb3VyMTJG
aWVsZEVsZW1lbnQgRklOQUwgOiBwdWJsaWMgRGF0ZVRpbWVIb3VyRmllbGRFbGVtZW50QmFzZSB7
Ci0gICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoRGF0ZVRpbWVIb3VyMTJGaWVsZEVsZW1lbnQpOwot
Ci1wdWJsaWM6Ci0gICAgc3RhdGljIFBhc3NSZWZQdHI8RGF0ZVRpbWVIb3VyMTJGaWVsZEVsZW1l
bnQ+IGNyZWF0ZShEb2N1bWVudCosIEZpZWxkT3duZXImLCBjb25zdCBSYW5nZSYsIGNvbnN0IFN0
ZXAmKTsKLQotcHJpdmF0ZToKLSAgICBEYXRlVGltZUhvdXIxMkZpZWxkRWxlbWVudChEb2N1bWVu
dCosIEZpZWxkT3duZXImLCBjb25zdCBSYW5nZSYgaG91cjIzUmFuZ2UsIGNvbnN0IFN0ZXAmKTsK
LQotICAgIC8vIERhdGVUaW1lRmllbGRFbGVtZW50IGZ1bmN0aW9ucy4KLSAgICB2aXJ0dWFsIHZv
aWQgcG9wdWxhdGVEYXRlVGltZUZpZWxkc1N0YXRlKERhdGVUaW1lRmllbGRzU3RhdGUmKSBPVkVS
UklERSBGSU5BTDsKLSAgICB2aXJ0dWFsIHZvaWQgc2V0VmFsdWVBc0ludGVnZXIoaW50LCBFdmVu
dEJlaGF2aW9yID0gRGlzcGF0Y2hOb0V2ZW50KSBPVkVSUklERSBGSU5BTDsKLX07Ci0KLWNsYXNz
IERhdGVUaW1lSG91cjIzRmllbGRFbGVtZW50IEZJTkFMIDogcHVibGljIERhdGVUaW1lSG91ckZp
ZWxkRWxlbWVudEJhc2UgewotICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKERhdGVUaW1lSG91cjIz
RmllbGRFbGVtZW50KTsKLQotcHVibGljOgotICAgIHN0YXRpYyBQYXNzUmVmUHRyPERhdGVUaW1l
SG91cjIzRmllbGRFbGVtZW50PiBjcmVhdGUoRG9jdW1lbnQqLCBGaWVsZE93bmVyJiwgY29uc3Qg
UmFuZ2UmLCBjb25zdCBTdGVwJik7Ci0KLXByaXZhdGU6Ci0gICAgRGF0ZVRpbWVIb3VyMjNGaWVs
ZEVsZW1lbnQoRG9jdW1lbnQqLCBGaWVsZE93bmVyJiwgY29uc3QgUmFuZ2UmIGhvdXIyM1Jhbmdl
LCBjb25zdCBTdGVwJik7Ci0KLSAgICAvLyBEYXRlVGltZUZpZWxkRWxlbWVudCBmdW5jdGlvbnMu
Ci0gICAgdmlydHVhbCB2b2lkIHBvcHVsYXRlRGF0ZVRpbWVGaWVsZHNTdGF0ZShEYXRlVGltZUZp
ZWxkc1N0YXRlJikgT1ZFUlJJREUgRklOQUw7Ci0gICAgdmlydHVhbCB2b2lkIHNldFZhbHVlQXNJ
bnRlZ2VyKGludCwgRXZlbnRCZWhhdmlvciA9IERpc3BhdGNoTm9FdmVudCkgT1ZFUlJJREUgRklO
QUw7Ci19OwotCi1jbGFzcyBEYXRlVGltZUhvdXIyNEZpZWxkRWxlbWVudCBGSU5BTCA6IHB1Ymxp
YyBEYXRlVGltZUhvdXJGaWVsZEVsZW1lbnRCYXNlIHsKLSAgICBXVEZfTUFLRV9OT05DT1BZQUJM
RShEYXRlVGltZUhvdXIyNEZpZWxkRWxlbWVudCk7Ci0KLXB1YmxpYzoKLSAgICBzdGF0aWMgUGFz
c1JlZlB0cjxEYXRlVGltZUhvdXIyNEZpZWxkRWxlbWVudD4gY3JlYXRlKERvY3VtZW50KiwgRmll
bGRPd25lciYsIGNvbnN0IFJhbmdlJiwgY29uc3QgU3RlcCYpOwotCi1wcml2YXRlOgotICAgIERh
dGVUaW1lSG91cjI0RmllbGRFbGVtZW50KERvY3VtZW50KiwgRmllbGRPd25lciYsIGNvbnN0IFJh
bmdlJiBob3VyMjNSYW5nZSwgY29uc3QgU3RlcCYpOwotCi0gICAgLy8gRGF0ZVRpbWVGaWVsZEVs
ZW1lbnQgZnVuY3Rpb25zLgotICAgIHZpcnR1YWwgdm9pZCBwb3B1bGF0ZURhdGVUaW1lRmllbGRz
U3RhdGUoRGF0ZVRpbWVGaWVsZHNTdGF0ZSYpIE9WRVJSSURFIEZJTkFMOwotICAgIHZpcnR1YWwg
dm9pZCBzZXRWYWx1ZUFzSW50ZWdlcihpbnQsIEV2ZW50QmVoYXZpb3IgPSBEaXNwYXRjaE5vRXZl
bnQpIE9WRVJSSURFIEZJTkFMOwotfTsKLQotY2xhc3MgRGF0ZVRpbWVNaWxsaXNlY29uZEZpZWxk
RWxlbWVudCBGSU5BTCA6IHB1YmxpYyBEYXRlVGltZU51bWVyaWNGaWVsZEVsZW1lbnQgewotICAg
IFdURl9NQUtFX05PTkNPUFlBQkxFKERhdGVUaW1lTWlsbGlzZWNvbmRGaWVsZEVsZW1lbnQpOwot
Ci1wdWJsaWM6Ci0gICAgc3RhdGljIFBhc3NSZWZQdHI8RGF0ZVRpbWVNaWxsaXNlY29uZEZpZWxk
RWxlbWVudD4gY3JlYXRlKERvY3VtZW50KiwgRmllbGRPd25lciYsIGNvbnN0IFJhbmdlJiwgY29u
c3QgU3RlcCYpOwotCi1wcml2YXRlOgotICAgIERhdGVUaW1lTWlsbGlzZWNvbmRGaWVsZEVsZW1l
bnQoRG9jdW1lbnQqLCBGaWVsZE93bmVyJiwgY29uc3QgUmFuZ2UmLCBjb25zdCBTdGVwJik7Ci0K
LSAgICAvLyBEYXRlVGltZUZpZWxkRWxlbWVudCBmdW5jdGlvbnMuCi0gICAgdmlydHVhbCB2b2lk
IHBvcHVsYXRlRGF0ZVRpbWVGaWVsZHNTdGF0ZShEYXRlVGltZUZpZWxkc1N0YXRlJikgT1ZFUlJJ
REUgRklOQUw7Ci0gICAgdmlydHVhbCB2b2lkIHNldFZhbHVlQXNEYXRlKGNvbnN0IERhdGVDb21w
b25lbnRzJikgT1ZFUlJJREUgRklOQUw7Ci0gICAgdmlydHVhbCB2b2lkIHNldFZhbHVlQXNEYXRl
VGltZUZpZWxkc1N0YXRlKGNvbnN0IERhdGVUaW1lRmllbGRzU3RhdGUmKSBPVkVSUklERSBGSU5B
TDsKLX07Ci0KLWNsYXNzIERhdGVUaW1lTWludXRlRmllbGRFbGVtZW50IEZJTkFMIDogcHVibGlj
IERhdGVUaW1lTnVtZXJpY0ZpZWxkRWxlbWVudCB7Ci0gICAgV1RGX01BS0VfTk9OQ09QWUFCTEUo
RGF0ZVRpbWVNaW51dGVGaWVsZEVsZW1lbnQpOwotCi1wdWJsaWM6Ci0gICAgc3RhdGljIFBhc3NS
ZWZQdHI8RGF0ZVRpbWVNaW51dGVGaWVsZEVsZW1lbnQ+IGNyZWF0ZShEb2N1bWVudCosIEZpZWxk
T3duZXImLCBjb25zdCBSYW5nZSYsIGNvbnN0IFN0ZXAmKTsKLQotcHJpdmF0ZToKLSAgICBEYXRl
VGltZU1pbnV0ZUZpZWxkRWxlbWVudChEb2N1bWVudCosIEZpZWxkT3duZXImLCBjb25zdCBSYW5n
ZSYsIGNvbnN0IFN0ZXAmKTsKLQotICAgIC8vIERhdGVUaW1lRmllbGRFbGVtZW50IGZ1bmN0aW9u
cy4KLSAgICB2aXJ0dWFsIHZvaWQgcG9wdWxhdGVEYXRlVGltZUZpZWxkc1N0YXRlKERhdGVUaW1l
RmllbGRzU3RhdGUmKSBPVkVSUklERSBGSU5BTDsKLSAgICB2aXJ0dWFsIHZvaWQgc2V0VmFsdWVB
c0RhdGUoY29uc3QgRGF0ZUNvbXBvbmVudHMmKSBPVkVSUklERSBGSU5BTDsKLSAgICB2aXJ0dWFs
IHZvaWQgc2V0VmFsdWVBc0RhdGVUaW1lRmllbGRzU3RhdGUoY29uc3QgRGF0ZVRpbWVGaWVsZHNT
dGF0ZSYpIE9WRVJSSURFIEZJTkFMOwotfTsKLQotY2xhc3MgRGF0ZVRpbWVNb250aEZpZWxkRWxl
bWVudCBGSU5BTCA6IHB1YmxpYyBEYXRlVGltZU51bWVyaWNGaWVsZEVsZW1lbnQgewotICAgIFdU
Rl9NQUtFX05PTkNPUFlBQkxFKERhdGVUaW1lTW9udGhGaWVsZEVsZW1lbnQpOwotCi1wdWJsaWM6
Ci0gICAgc3RhdGljIFBhc3NSZWZQdHI8RGF0ZVRpbWVNb250aEZpZWxkRWxlbWVudD4gY3JlYXRl
KERvY3VtZW50KiwgRmllbGRPd25lciYsIGNvbnN0IFN0cmluZyYgcGxhY2Vob2xkZXIsIGNvbnN0
IFJhbmdlJik7Ci0KLXByaXZhdGU6Ci0gICAgRGF0ZVRpbWVNb250aEZpZWxkRWxlbWVudChEb2N1
bWVudCosIEZpZWxkT3duZXImLCBjb25zdCBTdHJpbmcmIHBsYWNlaG9sZGVyLCBjb25zdCBSYW5n
ZSYpOwotCi0gICAgLy8gRGF0ZVRpbWVGaWVsZEVsZW1lbnQgZnVuY3Rpb25zLgotICAgIHZpcnR1
YWwgdm9pZCBwb3B1bGF0ZURhdGVUaW1lRmllbGRzU3RhdGUoRGF0ZVRpbWVGaWVsZHNTdGF0ZSYp
IE9WRVJSSURFIEZJTkFMOwotICAgIHZpcnR1YWwgdm9pZCBzZXRWYWx1ZUFzRGF0ZShjb25zdCBE
YXRlQ29tcG9uZW50cyYpIE9WRVJSSURFIEZJTkFMOwotICAgIHZpcnR1YWwgdm9pZCBzZXRWYWx1
ZUFzRGF0ZVRpbWVGaWVsZHNTdGF0ZShjb25zdCBEYXRlVGltZUZpZWxkc1N0YXRlJikgT1ZFUlJJ
REUgRklOQUw7Ci19OwotCi1jbGFzcyBEYXRlVGltZVNlY29uZEZpZWxkRWxlbWVudCBGSU5BTCA6
IHB1YmxpYyBEYXRlVGltZU51bWVyaWNGaWVsZEVsZW1lbnQgewotICAgIFdURl9NQUtFX05PTkNP
UFlBQkxFKERhdGVUaW1lU2Vjb25kRmllbGRFbGVtZW50KTsKLQotcHVibGljOgotICAgIHN0YXRp
YyBQYXNzUmVmUHRyPERhdGVUaW1lU2Vjb25kRmllbGRFbGVtZW50PiBjcmVhdGUoRG9jdW1lbnQq
LCBGaWVsZE93bmVyJiwgY29uc3QgUmFuZ2UmLCBjb25zdCBTdGVwJik7Ci0KLXByaXZhdGU6Ci0g
ICAgRGF0ZVRpbWVTZWNvbmRGaWVsZEVsZW1lbnQoRG9jdW1lbnQqLCBGaWVsZE93bmVyJiwgY29u
c3QgUmFuZ2UmLCBjb25zdCBTdGVwJik7Ci0KLSAgICAvLyBEYXRlVGltZUZpZWxkRWxlbWVudCBm
dW5jdGlvbnMuCi0gICAgdmlydHVhbCB2b2lkIHBvcHVsYXRlRGF0ZVRpbWVGaWVsZHNTdGF0ZShE
YXRlVGltZUZpZWxkc1N0YXRlJikgT1ZFUlJJREUgRklOQUw7Ci0gICAgdmlydHVhbCB2b2lkIHNl
dFZhbHVlQXNEYXRlKGNvbnN0IERhdGVDb21wb25lbnRzJikgT1ZFUlJJREUgRklOQUw7Ci0gICAg
dmlydHVhbCB2b2lkIHNldFZhbHVlQXNEYXRlVGltZUZpZWxkc1N0YXRlKGNvbnN0IERhdGVUaW1l
RmllbGRzU3RhdGUmKSBPVkVSUklERSBGSU5BTDsKLX07Ci0KLWNsYXNzIERhdGVUaW1lU3ltYm9s
aWNNb250aEZpZWxkRWxlbWVudCBGSU5BTCA6IHB1YmxpYyBEYXRlVGltZVN5bWJvbGljRmllbGRF
bGVtZW50IHsKLSAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShEYXRlVGltZVN5bWJvbGljTW9udGhG
aWVsZEVsZW1lbnQpOwotCi1wdWJsaWM6Ci0gICAgc3RhdGljIFBhc3NSZWZQdHI8RGF0ZVRpbWVT
eW1ib2xpY01vbnRoRmllbGRFbGVtZW50PiBjcmVhdGUoRG9jdW1lbnQqLCBGaWVsZE93bmVyJiwg
Y29uc3QgVmVjdG9yPFN0cmluZz4mLCBpbnQgbWluaW11bSwgaW50IG1heGltdW0pOwotCi1wcml2
YXRlOgotICAgIERhdGVUaW1lU3ltYm9saWNNb250aEZpZWxkRWxlbWVudChEb2N1bWVudCosIEZp
ZWxkT3duZXImLCBjb25zdCBWZWN0b3I8U3RyaW5nPiYsIGludCBtaW5pbXVtLCBpbnQgbWF4aW11
bSk7Ci0KLSAgICAvLyBEYXRlVGltZUZpZWxkRWxlbWVudCBmdW5jdGlvbnMuCi0gICAgdmlydHVh
bCB2b2lkIHBvcHVsYXRlRGF0ZVRpbWVGaWVsZHNTdGF0ZShEYXRlVGltZUZpZWxkc1N0YXRlJikg
T1ZFUlJJREUgRklOQUw7Ci0gICAgdmlydHVhbCB2b2lkIHNldFZhbHVlQXNEYXRlKGNvbnN0IERh
dGVDb21wb25lbnRzJikgT1ZFUlJJREUgRklOQUw7Ci0gICAgdmlydHVhbCB2b2lkIHNldFZhbHVl
QXNEYXRlVGltZUZpZWxkc1N0YXRlKGNvbnN0IERhdGVUaW1lRmllbGRzU3RhdGUmKSBPVkVSUklE
RSBGSU5BTDsKLX07Ci0KLWNsYXNzIERhdGVUaW1lV2Vla0ZpZWxkRWxlbWVudCBGSU5BTCA6IHB1
YmxpYyBEYXRlVGltZU51bWVyaWNGaWVsZEVsZW1lbnQgewotICAgIFdURl9NQUtFX05PTkNPUFlB
QkxFKERhdGVUaW1lV2Vla0ZpZWxkRWxlbWVudCk7Ci0KLXB1YmxpYzoKLSAgICBzdGF0aWMgUGFz
c1JlZlB0cjxEYXRlVGltZVdlZWtGaWVsZEVsZW1lbnQ+IGNyZWF0ZShEb2N1bWVudCosIEZpZWxk
T3duZXImLCBjb25zdCBSYW5nZSYpOwotCi1wcml2YXRlOgotICAgIERhdGVUaW1lV2Vla0ZpZWxk
RWxlbWVudChEb2N1bWVudCosIEZpZWxkT3duZXImLCBjb25zdCBSYW5nZSYpOwotCi0gICAgLy8g
RGF0ZVRpbWVGaWVsZEVsZW1lbnQgZnVuY3Rpb25zLgotICAgIHZpcnR1YWwgdm9pZCBwb3B1bGF0
ZURhdGVUaW1lRmllbGRzU3RhdGUoRGF0ZVRpbWVGaWVsZHNTdGF0ZSYpIE9WRVJSSURFIEZJTkFM
OwotICAgIHZpcnR1YWwgdm9pZCBzZXRWYWx1ZUFzRGF0ZShjb25zdCBEYXRlQ29tcG9uZW50cyYp
IE9WRVJSSURFIEZJTkFMOwotICAgIHZpcnR1YWwgdm9pZCBzZXRWYWx1ZUFzRGF0ZVRpbWVGaWVs
ZHNTdGF0ZShjb25zdCBEYXRlVGltZUZpZWxkc1N0YXRlJikgT1ZFUlJJREUgRklOQUw7Ci19Owot
Ci1jbGFzcyBEYXRlVGltZVllYXJGaWVsZEVsZW1lbnQgRklOQUwgOiBwdWJsaWMgRGF0ZVRpbWVO
dW1lcmljRmllbGRFbGVtZW50IHsKLSAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShEYXRlVGltZVll
YXJGaWVsZEVsZW1lbnQpOwotCi1wdWJsaWM6Ci0gICAgc3RydWN0IFBhcmFtZXRlcnMgewotICAg
ICAgICBpbnQgbWluaW11bVllYXI7Ci0gICAgICAgIGludCBtYXhpbXVtWWVhcjsKLSAgICAgICAg
Ym9vbCBtaW5Jc1NwZWNpZmllZDsKLSAgICAgICAgYm9vbCBtYXhJc1NwZWNpZmllZDsKLSAgICAg
ICAgU3RyaW5nIHBsYWNlaG9sZGVyOwotCi0gICAgICAgIFBhcmFtZXRlcnMoKQotICAgICAgICAg
ICAgOiBtaW5pbXVtWWVhcigtMSkKLSAgICAgICAgICAgICwgbWF4aW11bVllYXIoLTEpCi0gICAg
ICAgICAgICAsIG1pbklzU3BlY2lmaWVkKGZhbHNlKQotICAgICAgICAgICAgLCBtYXhJc1NwZWNp
ZmllZChmYWxzZSkKLSAgICAgICAgewotICAgICAgICB9Ci0gICAgfTsKLQotICAgIHN0YXRpYyBQ
YXNzUmVmUHRyPERhdGVUaW1lWWVhckZpZWxkRWxlbWVudD4gY3JlYXRlKERvY3VtZW50KiwgRmll
bGRPd25lciYsIGNvbnN0IFBhcmFtZXRlcnMmKTsKLQotcHJpdmF0ZToKLSAgICBEYXRlVGltZVll
YXJGaWVsZEVsZW1lbnQoRG9jdW1lbnQqLCBGaWVsZE93bmVyJiwgY29uc3QgUGFyYW1ldGVycyYp
OwotCi0gICAgLy8gRGF0ZVRpbWVGaWVsZEVsZW1lbnQgZnVuY3Rpb25zLgotICAgIHZpcnR1YWwg
dm9pZCBwb3B1bGF0ZURhdGVUaW1lRmllbGRzU3RhdGUoRGF0ZVRpbWVGaWVsZHNTdGF0ZSYpIE9W
RVJSSURFIEZJTkFMOwotICAgIHZpcnR1YWwgdm9pZCBzZXRWYWx1ZUFzRGF0ZShjb25zdCBEYXRl
Q29tcG9uZW50cyYpIE9WRVJSSURFIEZJTkFMOwotICAgIHZpcnR1YWwgdm9pZCBzZXRWYWx1ZUFz
RGF0ZVRpbWVGaWVsZHNTdGF0ZShjb25zdCBEYXRlVGltZUZpZWxkc1N0YXRlJikgT1ZFUlJJREUg
RklOQUw7Ci0KLSAgICAvLyBEYXRlVGltZU51bWVyaWNGaWVsZEVsZW1lbnQgZnVuY3Rpb25zLgot
ICAgIHZpcnR1YWwgaW50IGRlZmF1bHRWYWx1ZUZvclN0ZXBEb3duKCkgY29uc3QgT1ZFUlJJREUg
RklOQUw7Ci0gICAgdmlydHVhbCBpbnQgZGVmYXVsdFZhbHVlRm9yU3RlcFVwKCkgY29uc3QgT1ZF
UlJJREUgRklOQUw7Ci0KLSAgICBib29sIG1fbWluSXNTcGVjaWZpZWQ7Ci0gICAgYm9vbCBtX21h
eElzU3BlY2lmaWVkOwotfTsKLQotfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQotCi0jZW5kaWYKLSNl
bmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvRGF0ZVRpbWVOdW1l
cmljRmllbGRFbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L0RhdGVUaW1l
TnVtZXJpY0ZpZWxkRWxlbWVudC5jcHAKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGIy
Y2JhYTFlMzZjNTYwZGM2NTg5M2E2MzMzMzUwNTVlYzU4YjUyODguLjAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cv
RGF0ZVRpbWVOdW1lcmljRmllbGRFbGVtZW50LmNwcAorKysgL2Rldi9udWxsCkBAIC0xLDI0NSAr
MCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDEyIEdvb2dsZSBJbmMuIEFsbCByaWdodHMg
cmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJp
bmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0
ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0g
KiAxLiAgUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92
ZSBjb3B5cmlnaHQKLSAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAyLiAgUmVkaXN0cmlidXRpb25zIGluIGJpbmFy
eSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgICBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4g
dGhlCi0gKiAgICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVk
IHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVE
IEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnIEFORAotICogQU5Z
IEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywgVEhFCi0gKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBG
SVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRQotICogQVJFIERJU0NMQUlNRUQuIElOIE5P
IEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUKLSAq
IEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZ
LCBPUiBDT05TRVFVRU5USUFMCi0gKiBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUgotICogU0VSVklDRVM7IExP
U1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhP
V0VWRVIKLSAqIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIg
SU4gQ09OVFJBQ1QsIFNUUklDVAotICogTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVH
TElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWQotICogT1VUIE9GIFRIRSBV
U0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBP
RgotICogU1VDSCBEQU1BR0UuCi0gKi8KLQotI2luY2x1ZGUgImNvbmZpZy5oIgotI2lmIEVOQUJM
RShJTlBVVF9NVUxUSVBMRV9GSUVMRFNfVUkpCi0jaW5jbHVkZSAiRGF0ZVRpbWVOdW1lcmljRmll
bGRFbGVtZW50LmgiCi0KLSNpbmNsdWRlICJDU1NQcm9wZXJ0eU5hbWVzLmgiCi0jaW5jbHVkZSAi
Q1NTVmFsdWVLZXl3b3Jkcy5oIgotI2luY2x1ZGUgIkZvbnQuaCIKLSNpbmNsdWRlICJLZXlib2Fy
ZEV2ZW50LmgiCi0jaW5jbHVkZSAiUGxhdGZvcm1Mb2NhbGUuaCIKLSNpbmNsdWRlIDx3dGYvdGV4
dC9TdHJpbmdCdWlsZGVyLmg+Ci0KLXVzaW5nIG5hbWVzcGFjZSBXVEY6OlVuaWNvZGU7Ci0KLW5h
bWVzcGFjZSBXZWJDb3JlIHsKLQotc3RhdGljIGNvbnN0IERPTVRpbWVTdGFtcCB0eXBlQWhlYWRU
aW1lb3V0ID0gMTAwMDsKLQotaW50IERhdGVUaW1lTnVtZXJpY0ZpZWxkRWxlbWVudDo6UmFuZ2U6
OmNsYW1wVmFsdWUoaW50IHZhbHVlKSBjb25zdAotewotICAgIHJldHVybiBzdGQ6Om1pbihzdGQ6
Om1heCh2YWx1ZSwgbWluaW11bSksIG1heGltdW0pOwotfQotCi1ib29sIERhdGVUaW1lTnVtZXJp
Y0ZpZWxkRWxlbWVudDo6UmFuZ2U6OmlzSW5SYW5nZShpbnQgdmFsdWUpIGNvbnN0Ci17Ci0gICAg
cmV0dXJuIHZhbHVlID49IG1pbmltdW0gJiYgdmFsdWUgPD0gbWF4aW11bTsKLX0KLQotLy8gLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotCi1EYXRlVGltZU51bWVyaWNGaWVsZEVsZW1lbnQ6
OkRhdGVUaW1lTnVtZXJpY0ZpZWxkRWxlbWVudChEb2N1bWVudCogZG9jdW1lbnQsIEZpZWxkT3du
ZXImIGZpZWxkT3duZXIsIGNvbnN0IFJhbmdlJiByYW5nZSwgY29uc3QgUmFuZ2UmIGhhcmRMaW1p
dHMsIGNvbnN0IFN0cmluZyYgcGxhY2Vob2xkZXIsIGNvbnN0IERhdGVUaW1lTnVtZXJpY0ZpZWxk
RWxlbWVudDo6U3RlcCYgc3RlcCkKLSAgICA6IERhdGVUaW1lRmllbGRFbGVtZW50KGRvY3VtZW50
LCBmaWVsZE93bmVyKQotICAgICwgbV9sYXN0RGlnaXRDaGFyVGltZSgwKQotICAgICwgbV9wbGFj
ZWhvbGRlcihwbGFjZWhvbGRlcikKLSAgICAsIG1fcmFuZ2UocmFuZ2UpCi0gICAgLCBtX2hhcmRM
aW1pdHMoaGFyZExpbWl0cykKLSAgICAsIG1fc3RlcChzdGVwKQotICAgICwgbV92YWx1ZSgwKQot
ICAgICwgbV9oYXNWYWx1ZShmYWxzZSkKLXsKLSAgICBBU1NFUlQobV9zdGVwLnN0ZXApOwotICAg
IEFTU0VSVChtX3JhbmdlLm1pbmltdW0gPD0gbV9yYW5nZS5tYXhpbXVtKTsKLSAgICBBU1NFUlQo
bV9oYXJkTGltaXRzLm1pbmltdW0gPD0gbV9oYXJkTGltaXRzLm1heGltdW0pOwotCi0gICAgLy8g
V2Ugc2hvdyBhIGRpcmVjdGlvbi1uZXV0cmFsIHN0cmluZyBzdWNoIGFzICItLSIgYXMgYSBwbGFj
ZWhvbGRlci4gSXQKLSAgICAvLyBzaG91bGQgZm9sbG93IHRoZSBkaXJlY3Rpb24gb2YgbnVtZXJp
YyB2YWx1ZXMuCi0gICAgaWYgKGxvY2FsZUZvck93bmVyKCkuaXNSVEwoKSkgewotICAgICAgICBE
aXJlY3Rpb24gZGlyID0gZGlyZWN0aW9uKGZvcm1hdFZhbHVlKHRoaXMtPm1heGltdW0oKSlbMF0p
OwotICAgICAgICBpZiAoZGlyID09IExlZnRUb1JpZ2h0IHx8IGRpciA9PSBFdXJvcGVhbk51bWJl
ciB8fCBkaXIgPT0gQXJhYmljTnVtYmVyKSB7Ci0gICAgICAgICAgICBzZXRJbmxpbmVTdHlsZVBy
b3BlcnR5KENTU1Byb3BlcnR5VW5pY29kZUJpZGksIENTU1ZhbHVlQmlkaU92ZXJyaWRlKTsKLSAg
ICAgICAgICAgIHNldElubGluZVN0eWxlUHJvcGVydHkoQ1NTUHJvcGVydHlEaXJlY3Rpb24sIENT
U1ZhbHVlTHRyKTsKLSAgICAgICAgfQotICAgIH0KLX0KLQotZmxvYXQgRGF0ZVRpbWVOdW1lcmlj
RmllbGRFbGVtZW50OjptYXhpbXVtV2lkdGgoY29uc3QgRm9udCYgZm9udCkKLXsKLSAgICBmbG9h
dCBtYXhpbXVtV2lkdGggPSBmb250LndpZHRoKG1fcGxhY2Vob2xkZXIpOwotICAgIG1heGltdW1X
aWR0aCA9IHN0ZDo6bWF4KG1heGltdW1XaWR0aCwgZm9udC53aWR0aChmb3JtYXRWYWx1ZShtYXhp
bXVtKCkpKSk7Ci0gICAgbWF4aW11bVdpZHRoID0gc3RkOjptYXgobWF4aW11bVdpZHRoLCBmb250
LndpZHRoKHZhbHVlKCkpKTsKLSAgICByZXR1cm4gbWF4aW11bVdpZHRoICsgRGF0ZVRpbWVGaWVs
ZEVsZW1lbnQ6Om1heGltdW1XaWR0aChmb250KTsKLX0KLQotaW50IERhdGVUaW1lTnVtZXJpY0Zp
ZWxkRWxlbWVudDo6ZGVmYXVsdFZhbHVlRm9yU3RlcERvd24oKSBjb25zdAotewotICAgIHJldHVy
biBtX3JhbmdlLm1heGltdW07Ci19Ci0KLWludCBEYXRlVGltZU51bWVyaWNGaWVsZEVsZW1lbnQ6
OmRlZmF1bHRWYWx1ZUZvclN0ZXBVcCgpIGNvbnN0Ci17Ci0gICAgcmV0dXJuIG1fcmFuZ2UubWlu
aW11bTsKLX0KLQotdm9pZCBEYXRlVGltZU51bWVyaWNGaWVsZEVsZW1lbnQ6OmRpZEJsdXIoKQot
ewotICAgIGludCB2YWx1ZSA9IHR5cGVBaGVhZFZhbHVlKCk7Ci0gICAgbV90eXBlQWhlYWRCdWZm
ZXIuY2xlYXIoKTsKLSAgICBpZiAodmFsdWUgPj0gMCkKLSAgICAgICAgc2V0VmFsdWVBc0ludGVn
ZXIodmFsdWUsIERpc3BhdGNoRXZlbnQpOwotICAgIERhdGVUaW1lRmllbGRFbGVtZW50OjpkaWRC
bHVyKCk7Ci19Ci0KLVN0cmluZyBEYXRlVGltZU51bWVyaWNGaWVsZEVsZW1lbnQ6OmZvcm1hdFZh
bHVlKGludCB2YWx1ZSkgY29uc3QKLXsKLSAgICBMb2NhbGUmIGxvY2FsZSA9IGxvY2FsZUZvck93
bmVyKCk7Ci0gICAgaWYgKG1faGFyZExpbWl0cy5tYXhpbXVtID4gOTk5KQotICAgICAgICByZXR1
cm4gbG9jYWxlLmNvbnZlcnRUb0xvY2FsaXplZE51bWJlcihTdHJpbmc6OmZvcm1hdCgiJTA0ZCIs
IHZhbHVlKSk7Ci0gICAgaWYgKG1faGFyZExpbWl0cy5tYXhpbXVtID4gOTkpCi0gICAgICAgIHJl
dHVybiBsb2NhbGUuY29udmVydFRvTG9jYWxpemVkTnVtYmVyKFN0cmluZzo6Zm9ybWF0KCIlMDNk
IiwgdmFsdWUpKTsKLSAgICByZXR1cm4gbG9jYWxlLmNvbnZlcnRUb0xvY2FsaXplZE51bWJlcihT
dHJpbmc6OmZvcm1hdCgiJTAyZCIsIHZhbHVlKSk7Ci19Ci0KLXZvaWQgRGF0ZVRpbWVOdW1lcmlj
RmllbGRFbGVtZW50OjpoYW5kbGVLZXlib2FyZEV2ZW50KEtleWJvYXJkRXZlbnQqIGtleWJvYXJk
RXZlbnQpCi17Ci0gICAgQVNTRVJUKCFpc0Rpc2FibGVkKCkpOwotICAgIGlmIChrZXlib2FyZEV2
ZW50LT50eXBlKCkgIT0gZXZlbnROYW1lcygpLmtleXByZXNzRXZlbnQpCi0gICAgICAgIHJldHVy
bjsKLQotICAgIFVDaGFyIGNoYXJDb2RlID0gc3RhdGljX2Nhc3Q8VUNoYXI+KGtleWJvYXJkRXZl
bnQtPmNoYXJDb2RlKCkpOwotICAgIFN0cmluZyBudW1iZXIgPSBsb2NhbGVGb3JPd25lcigpLmNv
bnZlcnRGcm9tTG9jYWxpemVkTnVtYmVyKFN0cmluZygmY2hhckNvZGUsIDEpKTsKLSAgICBjb25z
dCBpbnQgZGlnaXQgPSBudW1iZXJbMF0gLSAnMCc7Ci0gICAgaWYgKGRpZ2l0IDwgMCB8fCBkaWdp
dCA+IDkpCi0gICAgICAgIHJldHVybjsKLQotICAgIERPTVRpbWVTdGFtcCBkZWx0YSA9IGtleWJv
YXJkRXZlbnQtPnRpbWVTdGFtcCgpIC0gbV9sYXN0RGlnaXRDaGFyVGltZTsKLSAgICBtX2xhc3RE
aWdpdENoYXJUaW1lID0ga2V5Ym9hcmRFdmVudC0+dGltZVN0YW1wKCk7Ci0KLSAgICBpZiAoZGVs
dGEgPiB0eXBlQWhlYWRUaW1lb3V0KQotICAgICAgICBtX3R5cGVBaGVhZEJ1ZmZlci5jbGVhcigp
OwotICAgIG1fdHlwZUFoZWFkQnVmZmVyLmFwcGVuZChudW1iZXIpOwotCi0gICAgaW50IG5ld1Zh
bHVlID0gdHlwZUFoZWFkVmFsdWUoKTsKLSAgICBpZiAobV9yYW5nZS5pc0luUmFuZ2UobmV3VmFs
dWUpKQotICAgICAgICBzZXRWYWx1ZUFzSW50ZWdlcihuZXdWYWx1ZSwgRGlzcGF0Y2hFdmVudCk7
Ci0gICAgZWxzZQotICAgICAgICB1cGRhdGVWaXNpYmxlVmFsdWUoRGlzcGF0Y2hFdmVudCk7Ci0K
LSAgICBpZiAobV90eXBlQWhlYWRCdWZmZXIubGVuZ3RoKCkgPj0gRGF0ZVRpbWVOdW1lcmljRmll
bGRFbGVtZW50Ojpmb3JtYXRWYWx1ZShtX3JhbmdlLm1heGltdW0pLmxlbmd0aCgpIHx8IG5ld1Zh
bHVlICogMTAgPiBtX3JhbmdlLm1heGltdW0pCi0gICAgICAgIGZvY3VzT25OZXh0RmllbGQoKTsK
LQotICAgIGtleWJvYXJkRXZlbnQtPnNldERlZmF1bHRIYW5kbGVkKCk7Ci19Ci0KLWJvb2wgRGF0
ZVRpbWVOdW1lcmljRmllbGRFbGVtZW50OjpoYXNWYWx1ZSgpIGNvbnN0Ci17Ci0gICAgcmV0dXJu
IG1faGFzVmFsdWU7Ci19Ci0KLXZvaWQgRGF0ZVRpbWVOdW1lcmljRmllbGRFbGVtZW50Ojppbml0
aWFsaXplKGNvbnN0IEF0b21pY1N0cmluZyYgcHNldWRvLCBjb25zdCBTdHJpbmcmIGF4SGVscFRl
eHQpCi17Ci0gICAgRGF0ZVRpbWVGaWVsZEVsZW1lbnQ6OmluaXRpYWxpemUocHNldWRvLCBheEhl
bHBUZXh0LCBtX3JhbmdlLm1pbmltdW0sIG1fcmFuZ2UubWF4aW11bSk7Ci19Ci0KLWludCBEYXRl
VGltZU51bWVyaWNGaWVsZEVsZW1lbnQ6Om1heGltdW0oKSBjb25zdAotewotICAgIHJldHVybiBt
X3JhbmdlLm1heGltdW07Ci19Ci0KLXZvaWQgRGF0ZVRpbWVOdW1lcmljRmllbGRFbGVtZW50Ojpz
ZXRFbXB0eVZhbHVlKEV2ZW50QmVoYXZpb3IgZXZlbnRCZWhhdmlvcikKLXsKLSAgICBpZiAoaXNE
aXNhYmxlZCgpKQotICAgICAgICByZXR1cm47Ci0KLSAgICBtX2hhc1ZhbHVlID0gZmFsc2U7Ci0g
ICAgbV92YWx1ZSA9IDA7Ci0gICAgbV90eXBlQWhlYWRCdWZmZXIuY2xlYXIoKTsKLSAgICB1cGRh
dGVWaXNpYmxlVmFsdWUoZXZlbnRCZWhhdmlvcik7Ci19Ci0KLXZvaWQgRGF0ZVRpbWVOdW1lcmlj
RmllbGRFbGVtZW50OjpzZXRWYWx1ZUFzSW50ZWdlcihpbnQgdmFsdWUsIEV2ZW50QmVoYXZpb3Ig
ZXZlbnRCZWhhdmlvcikKLXsKLSAgICBtX3ZhbHVlID0gbV9oYXJkTGltaXRzLmNsYW1wVmFsdWUo
dmFsdWUpOwotICAgIG1faGFzVmFsdWUgPSB0cnVlOwotICAgIHVwZGF0ZVZpc2libGVWYWx1ZShl
dmVudEJlaGF2aW9yKTsKLX0KLQotdm9pZCBEYXRlVGltZU51bWVyaWNGaWVsZEVsZW1lbnQ6OnN0
ZXBEb3duKCkKLXsKLSAgICBpbnQgbmV3VmFsdWUgPSByb3VuZERvd24obV9oYXNWYWx1ZSA/IG1f
dmFsdWUgLSAxIDogZGVmYXVsdFZhbHVlRm9yU3RlcERvd24oKSk7Ci0gICAgaWYgKCFtX3Jhbmdl
LmlzSW5SYW5nZShuZXdWYWx1ZSkpCi0gICAgICAgIG5ld1ZhbHVlID0gcm91bmREb3duKG1fcmFu
Z2UubWF4aW11bSk7Ci0gICAgbV90eXBlQWhlYWRCdWZmZXIuY2xlYXIoKTsKLSAgICBzZXRWYWx1
ZUFzSW50ZWdlcihuZXdWYWx1ZSwgRGlzcGF0Y2hFdmVudCk7Ci19Ci0KLXZvaWQgRGF0ZVRpbWVO
dW1lcmljRmllbGRFbGVtZW50OjpzdGVwVXAoKQotewotICAgIGludCBuZXdWYWx1ZSA9IHJvdW5k
VXAobV9oYXNWYWx1ZSA/IG1fdmFsdWUgKyAxIDogZGVmYXVsdFZhbHVlRm9yU3RlcFVwKCkpOwot
ICAgIGlmICghbV9yYW5nZS5pc0luUmFuZ2UobmV3VmFsdWUpKQotICAgICAgICBuZXdWYWx1ZSA9
IHJvdW5kVXAobV9yYW5nZS5taW5pbXVtKTsKLSAgICBtX3R5cGVBaGVhZEJ1ZmZlci5jbGVhcigp
OwotICAgIHNldFZhbHVlQXNJbnRlZ2VyKG5ld1ZhbHVlLCBEaXNwYXRjaEV2ZW50KTsKLX0KLQot
U3RyaW5nIERhdGVUaW1lTnVtZXJpY0ZpZWxkRWxlbWVudDo6dmFsdWUoKSBjb25zdAotewotICAg
IHJldHVybiBtX2hhc1ZhbHVlID8gZm9ybWF0VmFsdWUobV92YWx1ZSkgOiBlbXB0eVN0cmluZygp
OwotfQotCi1pbnQgRGF0ZVRpbWVOdW1lcmljRmllbGRFbGVtZW50Ojp2YWx1ZUFzSW50ZWdlcigp
IGNvbnN0Ci17Ci0gICAgcmV0dXJuIG1faGFzVmFsdWUgPyBtX3ZhbHVlIDogLTE7Ci19Ci0KLWlu
dCBEYXRlVGltZU51bWVyaWNGaWVsZEVsZW1lbnQ6OnR5cGVBaGVhZFZhbHVlKCkgY29uc3QKLXsK
LSAgICBpZiAobV90eXBlQWhlYWRCdWZmZXIubGVuZ3RoKCkpCi0gICAgICAgIHJldHVybiBtX3R5
cGVBaGVhZEJ1ZmZlci50b1N0cmluZygpLnRvSW50KCk7Ci0gICAgcmV0dXJuIC0xOwotfQotCi1T
dHJpbmcgRGF0ZVRpbWVOdW1lcmljRmllbGRFbGVtZW50Ojp2aXNpYmxlVmFsdWUoKSBjb25zdAot
ewotICAgIGlmIChtX3R5cGVBaGVhZEJ1ZmZlci5sZW5ndGgoKSkKLSAgICAgICAgcmV0dXJuIGZv
cm1hdFZhbHVlKHR5cGVBaGVhZFZhbHVlKCkpOwotICAgIHJldHVybiBtX2hhc1ZhbHVlID8gdmFs
dWUoKSA6IG1fcGxhY2Vob2xkZXI7Ci19Ci0KLWludCBEYXRlVGltZU51bWVyaWNGaWVsZEVsZW1l
bnQ6OnJvdW5kRG93bihpbnQgbikgY29uc3QKLXsKLSAgICBuIC09IG1fc3RlcC5zdGVwQmFzZTsK
LSAgICBpZiAobiA+PSAwKQotICAgICAgICBuID0gbiAvIG1fc3RlcC5zdGVwICogbV9zdGVwLnN0
ZXA7Ci0gICAgZWxzZQotICAgICAgICBuID0gLSgoLW4gKyBtX3N0ZXAuc3RlcCAtIDEpIC8gbV9z
dGVwLnN0ZXAgKiBtX3N0ZXAuc3RlcCk7Ci0gICAgcmV0dXJuIG4gKyBtX3N0ZXAuc3RlcEJhc2U7
Ci19Ci0KLWludCBEYXRlVGltZU51bWVyaWNGaWVsZEVsZW1lbnQ6OnJvdW5kVXAoaW50IG4pIGNv
bnN0Ci17Ci0gICAgbiAtPSBtX3N0ZXAuc3RlcEJhc2U7Ci0gICAgaWYgKG4gPj0gMCkKLSAgICAg
ICAgbiA9IChuICsgbV9zdGVwLnN0ZXAgLSAxKSAvIG1fc3RlcC5zdGVwICogbV9zdGVwLnN0ZXA7
Ci0gICAgZWxzZQotICAgICAgICBuID0gLSgtbiAvIG1fc3RlcC5zdGVwICogbV9zdGVwLnN0ZXAp
OwotICAgIHJldHVybiBuICsgbV9zdGVwLnN0ZXBCYXNlOwotfQotCi19IC8vIG5hbWVzcGFjZSBX
ZWJDb3JlCi0KLSNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cv
RGF0ZVRpbWVOdW1lcmljRmllbGRFbGVtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRv
dy9EYXRlVGltZU51bWVyaWNGaWVsZEVsZW1lbnQuaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggYjZkNDNlOTFkN2E0NTBmNzhhZjdiYzgxOTAwODExZjM1NjU5ZjQwOC4uMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1s
L3NoYWRvdy9EYXRlVGltZU51bWVyaWNGaWVsZEVsZW1lbnQuaAorKysgL2Rldi9udWxsCkBAIC0x
LDEwNSArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDEyIEdvb2dsZSBJbmMuIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2Ug
YW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBw
ZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBt
ZXQ6Ci0gKiAxLiAgUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAyLiAgUmVkaXN0cmlidXRpb25zIGlu
IGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgICBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIgaW4gdGhlCi0gKiAgICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHBy
b3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBS
T1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnIEFORAot
ICogQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1Qg
TElNSVRFRCBUTywgVEhFCi0gKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZ
IEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRQotICogQVJFIERJU0NMQUlNRUQu
IElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUyBCRSBMSUFC
TEUKLSAqIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhF
TVBMQVJZLCBPUiBDT05TRVFVRU5USUFMCi0gKiBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1Qg
TElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUgotICogU0VSVklD
RVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJ
T04pIEhPV0VWRVIKLSAqIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdI
RVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVAotICogTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJ
TkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWQotICogT1VUIE9G
IFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJ
TElUWSBPRgotICogU1VDSCBEQU1BR0UuCi0gKi8KLQotI2lmbmRlZiBEYXRlVGltZU51bWVyaWNG
aWVsZEVsZW1lbnRfaAotI2RlZmluZSBEYXRlVGltZU51bWVyaWNGaWVsZEVsZW1lbnRfaAotCi0j
aWYgRU5BQkxFKElOUFVUX01VTFRJUExFX0ZJRUxEU19VSSkKLSNpbmNsdWRlICJEYXRlVGltZUZp
ZWxkRWxlbWVudC5oIgotCi1uYW1lc3BhY2UgV2ViQ29yZSB7Ci0KLS8vIERhdGVUaW1lTnVtZXJp
Y0ZpZWxkRWxlbWVudCByZXByZXNlbnRzIG51bWVyaWMgZmllbGQgb2YgZGF0ZSB0aW1lIGZvcm1h
dCwKLS8vIHN1Y2ggYXM6Ci0vLyAgLSBob3VyCi0vLyAgLSBtaW51dGUKLS8vICAtIG1pbGxpc2Vj
b25kCi0vLyAgLSBzZWNvbmQKLS8vICAtIHllYXIKLWNsYXNzIERhdGVUaW1lTnVtZXJpY0ZpZWxk
RWxlbWVudCA6IHB1YmxpYyBEYXRlVGltZUZpZWxkRWxlbWVudCB7Ci0gICAgV1RGX01BS0VfTk9O
Q09QWUFCTEUoRGF0ZVRpbWVOdW1lcmljRmllbGRFbGVtZW50KTsKLQotcHVibGljOgotICAgIHN0
cnVjdCBTdGVwIHsKLSAgICAgICAgU3RlcChpbnQgc3RlcCA9IDEsIGludCBzdGVwQmFzZSA9IDAp
IDogc3RlcChzdGVwKSwgc3RlcEJhc2Uoc3RlcEJhc2UpIHsgfQotICAgICAgICBpbnQgc3RlcDsK
LSAgICAgICAgaW50IHN0ZXBCYXNlOwotICAgIH07Ci0KLSAgICBzdHJ1Y3QgUmFuZ2UgewotICAg
ICAgICBSYW5nZShpbnQgbWluaW11bSwgaW50IG1heGltdW0pIDogbWluaW11bShtaW5pbXVtKSwg
bWF4aW11bShtYXhpbXVtKSB7IH0KLSAgICAgICAgaW50IGNsYW1wVmFsdWUoaW50KSBjb25zdDsK
LSAgICAgICAgYm9vbCBpc0luUmFuZ2UoaW50KSBjb25zdDsKLSAgICAgICAgYm9vbCBpc1Npbmds
ZXRvbigpIGNvbnN0IHsgcmV0dXJuIG1pbmltdW0gPT0gbWF4aW11bTsgfQotCi0gICAgICAgIGlu
dCBtaW5pbXVtOwotICAgICAgICBpbnQgbWF4aW11bTsKLSAgICB9OwotCi1wcm90ZWN0ZWQ6Ci0g
ICAgRGF0ZVRpbWVOdW1lcmljRmllbGRFbGVtZW50KERvY3VtZW50KiwgRmllbGRPd25lciYsIGNv
bnN0IFJhbmdlJiwgY29uc3QgUmFuZ2UmIGhhcmRMaW1pdHMsIGNvbnN0IFN0cmluZyYgcGxhY2Vo
b2xkZXIsIGNvbnN0IFN0ZXAmID0gU3RlcCgpKTsKLQotICAgIGludCBjbGFtcFZhbHVlKGludCB2
YWx1ZSkgY29uc3QgeyByZXR1cm4gbV9yYW5nZS5jbGFtcFZhbHVlKHZhbHVlKTsgfQotICAgIHZp
cnR1YWwgaW50IGRlZmF1bHRWYWx1ZUZvclN0ZXBEb3duKCkgY29uc3Q7Ci0gICAgdmlydHVhbCBp
bnQgZGVmYXVsdFZhbHVlRm9yU3RlcFVwKCkgY29uc3Q7Ci0gICAgY29uc3QgUmFuZ2UmIHJhbmdl
KCkgY29uc3QgeyByZXR1cm4gbV9yYW5nZTsgfQotCi0gICAgLy8gRGF0ZVRpbWVGaWVsZEVsZW1l
bnQgZnVuY3Rpb25zLgotICAgIHZpcnR1YWwgYm9vbCBoYXNWYWx1ZSgpIGNvbnN0IE9WRVJSSURF
IEZJTkFMOwotICAgIHZvaWQgaW5pdGlhbGl6ZShjb25zdCBBdG9taWNTdHJpbmcmIHBzZXVkbywg
Y29uc3QgU3RyaW5nJiBheEhlbHBUZXh0KTsKLSAgICBpbnQgbWF4aW11bSgpIGNvbnN0OwotICAg
IHZpcnR1YWwgdm9pZCBzZXRFbXB0eVZhbHVlKEV2ZW50QmVoYXZpb3IgPSBEaXNwYXRjaE5vRXZl
bnQpIE9WRVJSSURFIEZJTkFMOwotICAgIHZpcnR1YWwgdm9pZCBzZXRWYWx1ZUFzSW50ZWdlcihp
bnQsIEV2ZW50QmVoYXZpb3IgPSBEaXNwYXRjaE5vRXZlbnQpIE9WRVJSSURFOwotICAgIHZpcnR1
YWwgaW50IHZhbHVlQXNJbnRlZ2VyKCkgY29uc3QgT1ZFUlJJREUgRklOQUw7Ci0gICAgdmlydHVh
bCBTdHJpbmcgdmlzaWJsZVZhbHVlKCkgY29uc3QgT1ZFUlJJREUgRklOQUw7Ci0KLXByaXZhdGU6
Ci0gICAgLy8gRGF0ZVRpbWVGaWVsZEVsZW1lbnQgZnVuY3Rpb25zLgotICAgIHZpcnR1YWwgdm9p
ZCBkaWRCbHVyKCkgT1ZFUlJJREUgRklOQUw7Ci0gICAgdmlydHVhbCB2b2lkIGhhbmRsZUtleWJv
YXJkRXZlbnQoS2V5Ym9hcmRFdmVudCopIE9WRVJSSURFIEZJTkFMOwotICAgIHZpcnR1YWwgZmxv
YXQgbWF4aW11bVdpZHRoKGNvbnN0IEZvbnQmKSBPVkVSUklERTsKLSAgICB2aXJ0dWFsIHZvaWQg
c3RlcERvd24oKSBPVkVSUklERSBGSU5BTDsKLSAgICB2aXJ0dWFsIHZvaWQgc3RlcFVwKCkgT1ZF
UlJJREUgRklOQUw7Ci0gICAgdmlydHVhbCBTdHJpbmcgdmFsdWUoKSBjb25zdCBPVkVSUklERSBG
SU5BTDsKLQotICAgIFN0cmluZyBmb3JtYXRWYWx1ZShpbnQpIGNvbnN0OwotICAgIGludCByb3Vu
ZFVwKGludCkgY29uc3Q7Ci0gICAgaW50IHJvdW5kRG93bihpbnQpIGNvbnN0OwotICAgIGludCB0
eXBlQWhlYWRWYWx1ZSgpIGNvbnN0OwotCi0gICAgRE9NVGltZVN0YW1wIG1fbGFzdERpZ2l0Q2hh
clRpbWU7Ci0gICAgY29uc3QgU3RyaW5nIG1fcGxhY2Vob2xkZXI7Ci0gICAgY29uc3QgUmFuZ2Ug
bV9yYW5nZTsKLSAgICBjb25zdCBSYW5nZSBtX2hhcmRMaW1pdHM7Ci0gICAgY29uc3QgU3RlcCBt
X3N0ZXA7Ci0gICAgaW50IG1fdmFsdWU7Ci0gICAgYm9vbCBtX2hhc1ZhbHVlOwotICAgIG11dGFi
bGUgU3RyaW5nQnVpbGRlciBtX3R5cGVBaGVhZEJ1ZmZlcjsKLX07Ci0KLX0gLy8gbmFtZXNwYWNl
IFdlYkNvcmUKLQotI2VuZGlmCi0jZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0
bWwvc2hhZG93L0RhdGVUaW1lU3ltYm9saWNGaWVsZEVsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNv
cmUvaHRtbC9zaGFkb3cvRGF0ZVRpbWVTeW1ib2xpY0ZpZWxkRWxlbWVudC5jcHAKZGVsZXRlZCBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IGNjZDBlOGJmMTU4MDc0ZDg0NTk5MmIwYjVlMzFhY2E0ZDM0
MmFiNDYuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvU291
cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvRGF0ZVRpbWVTeW1ib2xpY0ZpZWxkRWxlbWVudC5jcHAK
KysrIC9kZXYvbnVsbApAQCAtMSwxODAgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAx
MiBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICoKLSAqIFJlZGlzdHJpYnV0aW9u
IGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICog
bW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBj
b25kaXRpb25zCi0gKiBhcmUgbWV0OgotICogMS4gIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2Ug
Y29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICAgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogMi4g
IFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUg
Y29weXJpZ2h0Ci0gKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQotICogICAgIGRvY3VtZW50YXRpb24gYW5kL29y
IG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0gKgotICog
VEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVU
T1JTIGBgQVMgSVMnJyBBTkQKLSAqIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywg
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQotICogSU1QTElFRCBXQVJSQU5USUVT
IE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UK
LSAqIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBD
T05UUklCVVRPUlMgQkUgTElBQkxFCi0gKiBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lE
RU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTAotICogREFNQUdFUyAo
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUg
R09PRFMgT1IKLSAqIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1Ig
QlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSCi0gKiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVP
UlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QKLSAqIExJQUJJTElU
WSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElO
IEFOWSBXQVkKLSAqIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURW
SVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YKLSAqIFNVQ0ggREFNQUdFLgotICovCi0KLSNpbmNs
dWRlICJjb25maWcuaCIKLSNpZiBFTkFCTEUoSU5QVVRfTVVMVElQTEVfRklFTERTX1VJKQotI2lu
Y2x1ZGUgIkRhdGVUaW1lU3ltYm9saWNGaWVsZEVsZW1lbnQuaCIKLQotI2luY2x1ZGUgIkZvbnQu
aCIKLSNpbmNsdWRlICJLZXlib2FyZEV2ZW50LmgiCi0jaW5jbHVkZSAiVGV4dEJyZWFrSXRlcmF0
b3IuaCIKLSNpbmNsdWRlIDx3dGYvdGV4dC9TdHJpbmdCdWlsZGVyLmg+Ci0jaW5jbHVkZSA8d3Rm
L3VuaWNvZGUvVW5pY29kZS5oPgotCi1uYW1lc3BhY2UgV2ViQ29yZSB7Ci0KLXN0YXRpYyBBdG9t
aWNTdHJpbmcgbWFrZVZpc2libGVFbXB0eVZhbHVlKGNvbnN0IFZlY3RvcjxTdHJpbmc+JiBzeW1i
b2xzKQotewotICAgIHVuc2lnbmVkIG1heGltdW1MZW5ndGggPSAwOwotICAgIGZvciAodW5zaWdu
ZWQgaW5kZXggPSAwOyBpbmRleCA8IHN5bWJvbHMuc2l6ZSgpOyArK2luZGV4KQotICAgICAgICBt
YXhpbXVtTGVuZ3RoID0gc3RkOjptYXgobWF4aW11bUxlbmd0aCwgbnVtR3JhcGhlbWVDbHVzdGVy
cyhzeW1ib2xzW2luZGV4XSkpOwotICAgIFN0cmluZ0J1aWxkZXIgYnVpbGRlcjsKLSAgICBidWls
ZGVyLnJlc2VydmVDYXBhY2l0eShtYXhpbXVtTGVuZ3RoKTsKLSAgICBmb3IgKHVuc2lnbmVkIGxl
bmd0aCA9IDA7IGxlbmd0aCA8IG1heGltdW1MZW5ndGg7ICsrbGVuZ3RoKQotICAgICAgICBidWls
ZGVyLmFwcGVuZCgnLScpOwotICAgIHJldHVybiBidWlsZGVyLnRvQXRvbWljU3RyaW5nKCk7Ci19
Ci0KLURhdGVUaW1lU3ltYm9saWNGaWVsZEVsZW1lbnQ6OkRhdGVUaW1lU3ltYm9saWNGaWVsZEVs
ZW1lbnQoRG9jdW1lbnQqIGRvY3VtZW50LCBGaWVsZE93bmVyJiBmaWVsZE93bmVyLCBjb25zdCBW
ZWN0b3I8U3RyaW5nPiYgc3ltYm9scywgaW50IG1pbmltdW0sIGludCBtYXhpbXVtKQotICAgIDog
RGF0ZVRpbWVGaWVsZEVsZW1lbnQoZG9jdW1lbnQsIGZpZWxkT3duZXIpCi0gICAgLCBtX3N5bWJv
bHMoc3ltYm9scykKLSAgICAsIG1fdmlzaWJsZUVtcHR5VmFsdWUobWFrZVZpc2libGVFbXB0eVZh
bHVlKHN5bWJvbHMpKQotICAgICwgbV9zZWxlY3RlZEluZGV4KC0xKQotICAgICwgbV90eXBlQWhl
YWQodGhpcykKLSAgICAsIG1fbWluaW11bUluZGV4KG1pbmltdW0pCi0gICAgLCBtX21heGltdW1J
bmRleChtYXhpbXVtKQotewotICAgIEFTU0VSVCghc3ltYm9scy5pc0VtcHR5KCkpOwotICAgIEFT
U0VSVChtX21pbmltdW1JbmRleCA+PSAwKTsKLSAgICBBU1NFUlRfV0lUSF9TRUNVUklUWV9JTVBM
SUNBVElPTihtX21heGltdW1JbmRleCA8IHN0YXRpY19jYXN0PGludD4obV9zeW1ib2xzLnNpemUo
KSkpOwotICAgIEFTU0VSVChtX21pbmltdW1JbmRleCA8PSBtX21heGltdW1JbmRleCk7Ci19Ci0K
LWZsb2F0IERhdGVUaW1lU3ltYm9saWNGaWVsZEVsZW1lbnQ6Om1heGltdW1XaWR0aChjb25zdCBG
b250JiBmb250KQotewotICAgIGZsb2F0IG1heGltdW1XaWR0aCA9IGZvbnQud2lkdGgodmlzaWJs
ZUVtcHR5VmFsdWUoKSk7Ci0gICAgZm9yICh1bnNpZ25lZCBpbmRleCA9IDA7IGluZGV4IDwgbV9z
eW1ib2xzLnNpemUoKTsgKytpbmRleCkKLSAgICAgICAgbWF4aW11bVdpZHRoID0gc3RkOjptYXgo
bWF4aW11bVdpZHRoLCBmb250LndpZHRoKG1fc3ltYm9sc1tpbmRleF0pKTsKLSAgICByZXR1cm4g
bWF4aW11bVdpZHRoICsgRGF0ZVRpbWVGaWVsZEVsZW1lbnQ6Om1heGltdW1XaWR0aChmb250KTsK
LX0KLQotdm9pZCBEYXRlVGltZVN5bWJvbGljRmllbGRFbGVtZW50OjpoYW5kbGVLZXlib2FyZEV2
ZW50KEtleWJvYXJkRXZlbnQqIGtleWJvYXJkRXZlbnQpCi17Ci0gICAgaWYgKGtleWJvYXJkRXZl
bnQtPnR5cGUoKSAhPSBldmVudE5hbWVzKCkua2V5cHJlc3NFdmVudCkKLSAgICAgICAgcmV0dXJu
OwotCi0gICAgY29uc3QgVUNoYXIgY2hhckNvZGUgPSBXVEY6OlVuaWNvZGU6OnRvTG93ZXIoa2V5
Ym9hcmRFdmVudC0+Y2hhckNvZGUoKSk7Ci0gICAgaWYgKGNoYXJDb2RlIDwgJyAnKQotICAgICAg
ICByZXR1cm47Ci0KLSAgICBrZXlib2FyZEV2ZW50LT5zZXREZWZhdWx0SGFuZGxlZCgpOwotCi0g
ICAgaW50IGluZGV4ID0gbV90eXBlQWhlYWQuaGFuZGxlRXZlbnQoa2V5Ym9hcmRFdmVudCwgVHlw
ZUFoZWFkOjpNYXRjaFByZWZpeCB8IFR5cGVBaGVhZDo6Q3ljbGVGaXJzdENoYXIgfCBUeXBlQWhl
YWQ6Ok1hdGNoSW5kZXgpOwotICAgIGlmIChpbmRleCA8IDApCi0gICAgICAgIHJldHVybjsKLSAg
ICBzZXRWYWx1ZUFzSW50ZWdlcihpbmRleCwgRGlzcGF0Y2hFdmVudCk7Ci19Ci0KLWJvb2wgRGF0
ZVRpbWVTeW1ib2xpY0ZpZWxkRWxlbWVudDo6aGFzVmFsdWUoKSBjb25zdAotewotICAgIHJldHVy
biBtX3NlbGVjdGVkSW5kZXggPj0gMDsKLX0KLQotdm9pZCBEYXRlVGltZVN5bWJvbGljRmllbGRF
bGVtZW50Ojppbml0aWFsaXplKGNvbnN0IEF0b21pY1N0cmluZyYgcHNldWRvLCBjb25zdCBTdHJp
bmcmIGF4SGVscFRleHQpCi17Ci0gICAgLy8gVGhlIG1pbmltdW0gYW5kIG1heGltdW0gYmVsb3cg
YXJlIGV4cG9zZWQgdG8gdXNlcnMsIGFuZCAxLWJhc2VkIG51bWJlcnMKLSAgICAvLyBhcmUgbmF0
dXJhbCBmb3Igc3ltYm9saWMgZmllbGRzLiBGb3IgZXhhbXBsZSwgdGhlIG1pbmltdW0gdmFsdWUg
b2YgYQotICAgIC8vIG1vbnRoIGZpZWxkIHNob3VsZCBiZSAxLCBub3QgMC4KLSAgICBEYXRlVGlt
ZUZpZWxkRWxlbWVudDo6aW5pdGlhbGl6ZShwc2V1ZG8sIGF4SGVscFRleHQsIG1fbWluaW11bUlu
ZGV4ICsgMSwgbV9tYXhpbXVtSW5kZXggKyAxKTsKLX0KLQotdm9pZCBEYXRlVGltZVN5bWJvbGlj
RmllbGRFbGVtZW50OjpzZXRFbXB0eVZhbHVlKEV2ZW50QmVoYXZpb3IgZXZlbnRCZWhhdmlvcikK
LXsKLSAgICBpZiAoaXNEaXNhYmxlZCgpKQotICAgICAgICByZXR1cm47Ci0gICAgbV9zZWxlY3Rl
ZEluZGV4ID0gaW52YWxpZEluZGV4OwotICAgIHVwZGF0ZVZpc2libGVWYWx1ZShldmVudEJlaGF2
aW9yKTsKLX0KLQotdm9pZCBEYXRlVGltZVN5bWJvbGljRmllbGRFbGVtZW50OjpzZXRWYWx1ZUFz
SW50ZWdlcihpbnQgbmV3U2VsZWN0ZWRJbmRleCwgRXZlbnRCZWhhdmlvciBldmVudEJlaGF2aW9y
KQotewotICAgIG1fc2VsZWN0ZWRJbmRleCA9IHN0ZDo6bWF4KDAsIHN0ZDo6bWluKG5ld1NlbGVj
dGVkSW5kZXgsIHN0YXRpY19jYXN0PGludD4obV9zeW1ib2xzLnNpemUoKSAtIDEpKSk7Ci0gICAg
dXBkYXRlVmlzaWJsZVZhbHVlKGV2ZW50QmVoYXZpb3IpOwotfQotCi12b2lkIERhdGVUaW1lU3lt
Ym9saWNGaWVsZEVsZW1lbnQ6OnN0ZXBEb3duKCkKLXsKLSAgICBpZiAoaGFzVmFsdWUoKSkgewot
ICAgICAgICBpZiAoIWluZGV4SXNJblJhbmdlKC0tbV9zZWxlY3RlZEluZGV4KSkKLSAgICAgICAg
ICAgIG1fc2VsZWN0ZWRJbmRleCA9IG1fbWF4aW11bUluZGV4OwotICAgIH0gZWxzZQotICAgICAg
ICBtX3NlbGVjdGVkSW5kZXggPSBtX21heGltdW1JbmRleDsKLSAgICB1cGRhdGVWaXNpYmxlVmFs
dWUoRGlzcGF0Y2hFdmVudCk7Ci19Ci0KLXZvaWQgRGF0ZVRpbWVTeW1ib2xpY0ZpZWxkRWxlbWVu
dDo6c3RlcFVwKCkKLXsKLSAgICBpZiAoaGFzVmFsdWUoKSkgewotICAgICAgICBpZiAoIWluZGV4
SXNJblJhbmdlKCsrbV9zZWxlY3RlZEluZGV4KSkKLSAgICAgICAgICAgIG1fc2VsZWN0ZWRJbmRl
eCA9IG1fbWluaW11bUluZGV4OwotICAgIH0gZWxzZQotICAgICAgICBtX3NlbGVjdGVkSW5kZXgg
PSBtX21pbmltdW1JbmRleDsKLSAgICB1cGRhdGVWaXNpYmxlVmFsdWUoRGlzcGF0Y2hFdmVudCk7
Ci19Ci0KLVN0cmluZyBEYXRlVGltZVN5bWJvbGljRmllbGRFbGVtZW50Ojp2YWx1ZSgpIGNvbnN0
Ci17Ci0gICAgcmV0dXJuIGhhc1ZhbHVlKCkgPyBtX3N5bWJvbHNbbV9zZWxlY3RlZEluZGV4XSA6
IGVtcHR5U3RyaW5nKCk7Ci19Ci0KLWludCBEYXRlVGltZVN5bWJvbGljRmllbGRFbGVtZW50Ojp2
YWx1ZUFzSW50ZWdlcigpIGNvbnN0Ci17Ci0gICAgcmV0dXJuIG1fc2VsZWN0ZWRJbmRleDsKLX0K
LQotaW50IERhdGVUaW1lU3ltYm9saWNGaWVsZEVsZW1lbnQ6OnZhbHVlRm9yQVJJQVZhbHVlTm93
KCkgY29uc3QKLXsKLSAgICAvLyBTeW5jaHJvbml6ZSB3aXRoIG1pbmltdW0vbWF4aW11bSBhZGp1
c3RtZW50IGluIGluaXRpYWxpemUoKS4KLSAgICByZXR1cm4gbV9zZWxlY3RlZEluZGV4ICsgMTsK
LX0KLQotU3RyaW5nIERhdGVUaW1lU3ltYm9saWNGaWVsZEVsZW1lbnQ6OnZpc2libGVFbXB0eVZh
bHVlKCkgY29uc3QKLXsKLSAgICByZXR1cm4gbV92aXNpYmxlRW1wdHlWYWx1ZTsKLX0KLQotU3Ry
aW5nIERhdGVUaW1lU3ltYm9saWNGaWVsZEVsZW1lbnQ6OnZpc2libGVWYWx1ZSgpIGNvbnN0Ci17
Ci0gICAgcmV0dXJuIGhhc1ZhbHVlKCkgPyBtX3N5bWJvbHNbbV9zZWxlY3RlZEluZGV4XSA6IHZp
c2libGVFbXB0eVZhbHVlKCk7Ci19Ci0KLWludCBEYXRlVGltZVN5bWJvbGljRmllbGRFbGVtZW50
OjppbmRleE9mU2VsZWN0ZWRPcHRpb24oKSBjb25zdAotewotICAgIHJldHVybiBtX3NlbGVjdGVk
SW5kZXg7Ci19Ci0KLWludCBEYXRlVGltZVN5bWJvbGljRmllbGRFbGVtZW50OjpvcHRpb25Db3Vu
dCgpIGNvbnN0Ci17Ci0gICAgcmV0dXJuIG1fc3ltYm9scy5zaXplKCk7Ci19Ci0KLVN0cmluZyBE
YXRlVGltZVN5bWJvbGljRmllbGRFbGVtZW50OjpvcHRpb25BdEluZGV4KGludCBpbmRleCkgY29u
c3QKLXsKLSAgICByZXR1cm4gbV9zeW1ib2xzW2luZGV4XTsKLX0KLQotfSAvLyBuYW1lc3BhY2Ug
V2ViQ29yZQotCi0jZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93
L0RhdGVUaW1lU3ltYm9saWNGaWVsZEVsZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hh
ZG93L0RhdGVUaW1lU3ltYm9saWNGaWVsZEVsZW1lbnQuaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggNzdjYTE0M2NhZTlhZDllNzMxZTRiOTdjYTU5ZDU5MDBlMDA4MzA3MC4uMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9o
dG1sL3NoYWRvdy9EYXRlVGltZVN5bWJvbGljRmllbGRFbGVtZW50LmgKKysrIC9kZXYvbnVsbApA
QCAtMSw4MyArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDEyIEdvb2dsZSBJbmMuIEFs
bCByaWdodHMgcmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3Vy
Y2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFy
ZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFy
ZSBtZXQ6Ci0gKiAxLiAgUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWlu
IHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAyLiAgUmVkaXN0cmlidXRpb25z
IGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAg
ICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIgaW4gdGhlCi0gKiAgICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxz
IHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElT
IFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnIEFO
RAotICogQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywgVEhFCi0gKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklM
SVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRQotICogQVJFIERJU0NMQUlN
RUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUyBCRSBM
SUFCTEUKLSAqIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwg
RVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMCi0gKiBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUgotICogU0VS
VklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJV
UFRJT04pIEhPV0VWRVIKLSAqIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFks
IFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVAotICogTElBQklMSVRZLCBPUiBUT1JUIChJTkNM
VURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWQotICogT1VU
IE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NT
SUJJTElUWSBPRgotICogU1VDSCBEQU1BR0UuCi0gKi8KLQotI2lmbmRlZiBEYXRlVGltZVN5bWJv
bGljRmllbGRFbGVtZW50X2gKLSNkZWZpbmUgRGF0ZVRpbWVTeW1ib2xpY0ZpZWxkRWxlbWVudF9o
Ci0KLSNpZiBFTkFCTEUoSU5QVVRfTVVMVElQTEVfRklFTERTX1VJKQotI2luY2x1ZGUgIkRhdGVU
aW1lRmllbGRFbGVtZW50LmgiCi0jaW5jbHVkZSAiVHlwZUFoZWFkLmgiCi0KLW5hbWVzcGFjZSBX
ZWJDb3JlIHsKLQotLy8gRGF0ZVRpbWVTeW1ib2xpY0ZpZWxkRWxlbWVudCByZXByZXNlbnRzIG5v
bi1udW1lcmljIGZpZWxkIG9mIGRhdGEgdGltZQotLy8gZm9ybWF0LCBzdWNoIGFzOiBBTS9QTSwg
YW5kIG1vbnRoLgotY2xhc3MgRGF0ZVRpbWVTeW1ib2xpY0ZpZWxkRWxlbWVudCA6IHB1YmxpYyBE
YXRlVGltZUZpZWxkRWxlbWVudCwgcHVibGljIFR5cGVBaGVhZERhdGFTb3VyY2UgewotICAgIFdU
Rl9NQUtFX05PTkNPUFlBQkxFKERhdGVUaW1lU3ltYm9saWNGaWVsZEVsZW1lbnQpOwotCi1wcm90
ZWN0ZWQ6Ci0gICAgRGF0ZVRpbWVTeW1ib2xpY0ZpZWxkRWxlbWVudChEb2N1bWVudCosIEZpZWxk
T3duZXImLCBjb25zdCBWZWN0b3I8U3RyaW5nPiYsIGludCBtaW5pbXVtLCBpbnQgbWF4aW11bSk7
Ci0gICAgc2l6ZV90IHN5bWJvbHNTaXplKCkgY29uc3QgeyByZXR1cm4gbV9zeW1ib2xzLnNpemUo
KTsgfQotICAgIHZpcnR1YWwgYm9vbCBoYXNWYWx1ZSgpIGNvbnN0IE9WRVJSSURFIEZJTkFMOwot
ICAgIHZvaWQgaW5pdGlhbGl6ZShjb25zdCBBdG9taWNTdHJpbmcmIHBzZXVkbywgY29uc3QgU3Ry
aW5nJiBheEhlbHBUZXh0KTsKLSAgICB2aXJ0dWFsIHZvaWQgc2V0RW1wdHlWYWx1ZShFdmVudEJl
aGF2aW9yID0gRGlzcGF0Y2hOb0V2ZW50KSBPVkVSUklERSBGSU5BTDsKLSAgICB2aXJ0dWFsIHZv
aWQgc2V0VmFsdWVBc0ludGVnZXIoaW50LCBFdmVudEJlaGF2aW9yID0gRGlzcGF0Y2hOb0V2ZW50
KSBPVkVSUklERSBGSU5BTDsKLSAgICB2aXJ0dWFsIGludCB2YWx1ZUFzSW50ZWdlcigpIGNvbnN0
IE9WRVJSSURFIEZJTkFMOwotCi1wcml2YXRlOgotICAgIHN0YXRpYyBjb25zdCBpbnQgaW52YWxp
ZEluZGV4ID0gLTE7Ci0KLSAgICBTdHJpbmcgdmlzaWJsZUVtcHR5VmFsdWUoKSBjb25zdDsKLSAg
ICBib29sIGluZGV4SXNJblJhbmdlKGludCBpbmRleCkgY29uc3QgeyByZXR1cm4gaW5kZXggPj0g
bV9taW5pbXVtSW5kZXggJiYgaW5kZXggPD0gbV9tYXhpbXVtSW5kZXg7IH0KLQotICAgIC8vIERh
dGVUaW1lRmllbGRFbGVtZW50IGZ1bmN0aW9ucy4KLSAgICB2aXJ0dWFsIHZvaWQgaGFuZGxlS2V5
Ym9hcmRFdmVudChLZXlib2FyZEV2ZW50KikgT1ZFUlJJREUgRklOQUw7Ci0gICAgdmlydHVhbCBm
bG9hdCBtYXhpbXVtV2lkdGgoY29uc3QgRm9udCYpIE9WRVJSSURFOwotICAgIHZpcnR1YWwgdm9p
ZCBzdGVwRG93bigpIE9WRVJSSURFIEZJTkFMOwotICAgIHZpcnR1YWwgdm9pZCBzdGVwVXAoKSBP
VkVSUklERSBGSU5BTDsKLSAgICB2aXJ0dWFsIFN0cmluZyB2YWx1ZSgpIGNvbnN0IE9WRVJSSURF
IEZJTkFMOwotICAgIHZpcnR1YWwgaW50IHZhbHVlRm9yQVJJQVZhbHVlTm93KCkgY29uc3QgT1ZF
UlJJREUgRklOQUw7Ci0gICAgdmlydHVhbCBTdHJpbmcgdmlzaWJsZVZhbHVlKCkgY29uc3QgT1ZF
UlJJREUgRklOQUw7Ci0KLSAgICAvLyBUeXBlQWhlYWREYXRhU291cmNlIGZ1bmN0aW9ucy4KLSAg
ICB2aXJ0dWFsIGludCBpbmRleE9mU2VsZWN0ZWRPcHRpb24oKSBjb25zdCBPVkVSUklERTsKLSAg
ICB2aXJ0dWFsIGludCBvcHRpb25Db3VudCgpIGNvbnN0IE9WRVJSSURFOwotICAgIHZpcnR1YWwg
U3RyaW5nIG9wdGlvbkF0SW5kZXgoaW50IGluZGV4KSBjb25zdCBPVkVSUklERTsKLQotICAgIGNv
bnN0IFZlY3RvcjxTdHJpbmc+IG1fc3ltYm9sczsKLQotICAgIC8vIFdlIHVzZSBBdG9taWNTdHJp
bmcgdG8gc2hhcmUgdmlzaWJsZSBlbXB0eSB2YWx1ZSBhbW9uZyBtdWx0aXBsZQotICAgIC8vIERh
dGVUaW1lRWRpdEVsZW1lbnRzIGluIHRoZSBwYWdlLgotICAgIGNvbnN0IEF0b21pY1N0cmluZyBt
X3Zpc2libGVFbXB0eVZhbHVlOwotICAgIGludCBtX3NlbGVjdGVkSW5kZXg7Ci0gICAgVHlwZUFo
ZWFkIG1fdHlwZUFoZWFkOwotICAgIGNvbnN0IGludCBtX21pbmltdW1JbmRleDsKLSAgICBjb25z
dCBpbnQgbV9tYXhpbXVtSW5kZXg7Ci19OwotCi19IC8vIG5hbWVzcGFjZSBXZWJDb3JlCi0KLSNl
bmRpZgotI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9QaWNr
ZXJJbmRpY2F0b3JFbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L1BpY2tl
ckluZGljYXRvckVsZW1lbnQuY3BwCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBkYzJl
YzVlOTJjMDJlYjUyYTg0OGY3YTRhMzYwYWVjZWJkM2VhMDJlLi4wMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L1Bp
Y2tlckluZGljYXRvckVsZW1lbnQuY3BwCisrKyAvZGV2L251bGwKQEAgLTEsMTM0ICswLDAgQEAK
LS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTIgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZl
ZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZv
cm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92
aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKLSAqIG1ldDoKLSAqCi0gKiAg
ICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3Zl
IGNvcHlyaWdodAotICogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyLgotICogICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBm
b3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQotICogY29weXJpZ2h0IG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgotICogaW4gdGhl
IGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQot
ICogZGlzdHJpYnV0aW9uLgotICogICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5j
LiBub3IgdGhlIG5hbWVzIG9mIGl0cwotICogY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVu
ZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KLSAqIHRoaXMgc29mdHdhcmUg
d2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCi0gKgotICogVEhJUyBT
T0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJV
VE9SUwotICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJ
TkNMVURJTkcsIEJVVCBOT1QKLSAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMg
T0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgotICogQSBQQVJUSUNVTEFSIFBVUlBP
U0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKLSAqIE9X
TkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJ
TkNJREVOVEFMLAotICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFH
RVMgKElOQ0xVRElORywgQlVUIE5PVAotICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VC
U1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCi0gKiBEQVRBLCBPUiBQUk9G
SVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkK
LSAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFC
SUxJVFksIE9SIFRPUlQKLSAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFS
SVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQotICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZF
TiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KLSAqLwotCi0j
aW5jbHVkZSAiY29uZmlnLmgiCi0jaWYgRU5BQkxFKElOUFVUX01VTFRJUExFX0ZJRUxEU19VSSkK
LSNpbmNsdWRlICJQaWNrZXJJbmRpY2F0b3JFbGVtZW50LmgiCi0KLSNpbmNsdWRlICJDaHJvbWUu
aCIKLSNpbmNsdWRlICJFdmVudC5oIgotI2luY2x1ZGUgIlBhZ2UuaCIKLSNpbmNsdWRlICJSZW5k
ZXJEZXRhaWxzTWFya2VyLmgiCi0KLXVzaW5nIG5hbWVzcGFjZSBXVEY6OlVuaWNvZGU7Ci0KLW5h
bWVzcGFjZSBXZWJDb3JlIHsKLQotdXNpbmcgbmFtZXNwYWNlIEhUTUxOYW1lczsKLQotaW5saW5l
IFBpY2tlckluZGljYXRvckVsZW1lbnQ6OlBpY2tlckluZGljYXRvckVsZW1lbnQoRG9jdW1lbnQq
IGRvY3VtZW50LCBQaWNrZXJJbmRpY2F0b3JPd25lciYgcGlja2VySW5kaWNhdG9yT3duZXIpCi0g
ICAgOiBIVE1MRGl2RWxlbWVudChkaXZUYWcsIGRvY3VtZW50KQotICAgICwgbV9waWNrZXJJbmRp
Y2F0b3JPd25lcigmcGlja2VySW5kaWNhdG9yT3duZXIpCi17Ci0gICAgc2V0UHNldWRvKEF0b21p
Y1N0cmluZygiLXdlYmtpdC1jYWxlbmRhci1waWNrZXItaW5kaWNhdG9yIiwgQXRvbWljU3RyaW5n
OjpDb25zdHJ1Y3RGcm9tTGl0ZXJhbCkpOwotfQotCi1QYXNzUmVmUHRyPFBpY2tlckluZGljYXRv
ckVsZW1lbnQ+IFBpY2tlckluZGljYXRvckVsZW1lbnQ6OmNyZWF0ZShEb2N1bWVudCogZG9jdW1l
bnQsIFBpY2tlckluZGljYXRvck93bmVyJiBwaWNrZXJJbmRpY2F0b3JPd25lcikKLXsKLSAgICBy
ZXR1cm4gYWRvcHRSZWYobmV3IFBpY2tlckluZGljYXRvckVsZW1lbnQoZG9jdW1lbnQsIHBpY2tl
ckluZGljYXRvck93bmVyKSk7Ci19Ci0KLVBpY2tlckluZGljYXRvckVsZW1lbnQ6On5QaWNrZXJJ
bmRpY2F0b3JFbGVtZW50KCkKLXsKLSAgICBjbG9zZVBvcHVwKCk7Ci0gICAgQVNTRVJUKCFtX2No
b29zZXIpOwotfQotCi1SZW5kZXJPYmplY3QqIFBpY2tlckluZGljYXRvckVsZW1lbnQ6OmNyZWF0
ZVJlbmRlcmVyKFJlbmRlckFyZW5hKiBhcmVuYSwgUmVuZGVyU3R5bGUqKQotewotICAgIHJldHVy
biBuZXcgKGFyZW5hKSBSZW5kZXJEZXRhaWxzTWFya2VyKHRoaXMpOwotfQotCi12b2lkIFBpY2tl
ckluZGljYXRvckVsZW1lbnQ6OmRlZmF1bHRFdmVudEhhbmRsZXIoRXZlbnQqIGV2ZW50KQotewot
ICAgIGlmICghcmVuZGVyZXIoKSkKLSAgICAgICAgcmV0dXJuOwotICAgIGlmICghbV9waWNrZXJJ
bmRpY2F0b3JPd25lciB8fCBtX3BpY2tlckluZGljYXRvck93bmVyLT5pc1BpY2tlckluZGljYXRv
ck93bmVyRGlzYWJsZWRPclJlYWRPbmx5KCkpCi0gICAgICAgIHJldHVybjsKLQotICAgIGlmIChl
dmVudC0+dHlwZSgpID09IGV2ZW50TmFtZXMoKS5jbGlja0V2ZW50KSB7Ci0gICAgICAgIG9wZW5Q
b3B1cCgpOwotICAgICAgICBldmVudC0+c2V0RGVmYXVsdEhhbmRsZWQoKTsKLSAgICB9Ci0KLSAg
ICBpZiAoIWV2ZW50LT5kZWZhdWx0SGFuZGxlZCgpKQotICAgICAgICBIVE1MRGl2RWxlbWVudDo6
ZGVmYXVsdEV2ZW50SGFuZGxlcihldmVudCk7Ci19Ci0KLWJvb2wgUGlja2VySW5kaWNhdG9yRWxl
bWVudDo6d2lsbFJlc3BvbmRUb01vdXNlQ2xpY2tFdmVudHMoKQotewotICAgIGlmIChyZW5kZXJl
cigpICYmIG1fcGlja2VySW5kaWNhdG9yT3duZXIgJiYgIW1fcGlja2VySW5kaWNhdG9yT3duZXIt
PmlzUGlja2VySW5kaWNhdG9yT3duZXJEaXNhYmxlZE9yUmVhZE9ubHkoKSkKLSAgICAgICAgcmV0
dXJuIHRydWU7Ci0KLSAgICByZXR1cm4gSFRNTERpdkVsZW1lbnQ6OndpbGxSZXNwb25kVG9Nb3Vz
ZUNsaWNrRXZlbnRzKCk7Ci19Ci0KLXZvaWQgUGlja2VySW5kaWNhdG9yRWxlbWVudDo6ZGlkQ2hv
b3NlVmFsdWUoY29uc3QgU3RyaW5nJiB2YWx1ZSkKLXsKLSAgICBpZiAoIW1fcGlja2VySW5kaWNh
dG9yT3duZXIpCi0gICAgICAgIHJldHVybjsKLSAgICBtX3BpY2tlckluZGljYXRvck93bmVyLT5w
aWNrZXJJbmRpY2F0b3JDaG9vc2VWYWx1ZSh2YWx1ZSk7Ci19Ci0KLXZvaWQgUGlja2VySW5kaWNh
dG9yRWxlbWVudDo6ZGlkRW5kQ2hvb3NlcigpCi17Ci0gICAgbV9jaG9vc2VyLmNsZWFyKCk7Ci19
Ci0KLXZvaWQgUGlja2VySW5kaWNhdG9yRWxlbWVudDo6b3BlblBvcHVwKCkKLXsKLSAgICBpZiAo
bV9jaG9vc2VyKQotICAgICAgICByZXR1cm47Ci0gICAgaWYgKCFkb2N1bWVudCgpLT5wYWdlKCkp
Ci0gICAgICAgIHJldHVybjsKLSAgICBpZiAoIW1fcGlja2VySW5kaWNhdG9yT3duZXIpCi0gICAg
ICAgIHJldHVybjsKLSAgICBEYXRlVGltZUNob29zZXJQYXJhbWV0ZXJzIHBhcmFtZXRlcnM7Ci0g
ICAgaWYgKCFtX3BpY2tlckluZGljYXRvck93bmVyLT5zZXR1cERhdGVUaW1lQ2hvb3NlclBhcmFt
ZXRlcnMocGFyYW1ldGVycykpCi0gICAgICAgIHJldHVybjsKLSAgICBtX2Nob29zZXIgPSBkb2N1
bWVudCgpLT5wYWdlKCktPmNocm9tZSgpLm9wZW5EYXRlVGltZUNob29zZXIodGhpcywgcGFyYW1l
dGVycyk7Ci19Ci0KLXZvaWQgUGlja2VySW5kaWNhdG9yRWxlbWVudDo6Y2xvc2VQb3B1cCgpCi17
Ci0gICAgaWYgKCFtX2Nob29zZXIpCi0gICAgICAgIHJldHVybjsKLSAgICBtX2Nob29zZXItPmVu
ZENob29zZXIoKTsKLX0KLQotdm9pZCBQaWNrZXJJbmRpY2F0b3JFbGVtZW50OjpkZXRhY2goKQot
ewotICAgIGNsb3NlUG9wdXAoKTsKLSAgICBIVE1MRGl2RWxlbWVudDo6ZGV0YWNoKCk7Ci19Ci0K
LX0KLQotI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9QaWNr
ZXJJbmRpY2F0b3JFbGVtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9QaWNrZXJJ
bmRpY2F0b3JFbGVtZW50LmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGVlNDJmYWJi
Nzk0NzJhMTFlNTdmZjQwYTBkZmExMDQ3MDBlOTY2MzUuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvUGlja2Vy
SW5kaWNhdG9yRWxlbWVudC5oCisrKyAvZGV2L251bGwKQEAgLTEsODEgKzAsMCBAQAotLyoKLSAq
IENvcHlyaWdodCAoQykgMjAxMiBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICoK
LSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdp
dGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRo
YXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQotICogbWV0OgotICoKLSAqICAgICAqIFJl
ZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJp
Z2h0Ci0gKiBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIuCi0gKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVz
dCByZXByb2R1Y2UgdGhlIGFib3ZlCi0gKiBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCi0gKiBpbiB0aGUgZG9jdW1l
bnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCi0gKiBkaXN0
cmlidXRpb24uCi0gKiAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0
aGUgbmFtZXMgb2YgaXRzCi0gKiBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBv
ciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQotICogdGhpcyBzb2Z0d2FyZSB3aXRob3V0
IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJF
IElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCi0g
KiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElO
RywgQlVUIE5PVAotICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJD
SEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCi0gKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUg
RElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAotICogT1dORVIgT1Ig
Q09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5U
QUwsCi0gKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5D
TFVESU5HLCBCVVQgTk9UCi0gKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRF
IEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKLSAqIERBVEEsIE9SIFBST0ZJVFM7IE9S
IEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQotICogVEhF
T1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwg
T1IgVE9SVAotICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJ
TiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCi0gKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFE
VklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgotICovCi0KLSNpZm5kZWYg
UGlja2VySW5kaWNhdG9yRWxlbWVudF9oCi0jZGVmaW5lIFBpY2tlckluZGljYXRvckVsZW1lbnRf
aAotCi0jaWYgRU5BQkxFKElOUFVUX01VTFRJUExFX0ZJRUxEU19VSSkKLSNpbmNsdWRlICJEYXRl
VGltZUNob29zZXIuaCIKLSNpbmNsdWRlICJEYXRlVGltZUNob29zZXJDbGllbnQuaCIKLSNpbmNs
dWRlICJIVE1MRGl2RWxlbWVudC5oIgotI2luY2x1ZGUgPHd0Zi9Pd25QdHIuaD4KLQotbmFtZXNw
YWNlIFdlYkNvcmUgewotCi1jbGFzcyBIVE1MSW5wdXRFbGVtZW50OwotCi1jbGFzcyBQaWNrZXJJ
bmRpY2F0b3JFbGVtZW50IEZJTkFMIDogcHVibGljIEhUTUxEaXZFbGVtZW50LCBwdWJsaWMgRGF0
ZVRpbWVDaG9vc2VyQ2xpZW50IHsKLXB1YmxpYzoKLSAgICAvLyBQaWNrZXJJbmRpY2F0b3JPd25l
ciBpbXBsZW1lbnRlciBtdXN0IGNhbGwgcmVtb3ZlUGlja2VySW5kaWNhdG9yT3duZXIgd2hlbgot
ICAgIC8vIGl0IGRvZXNuJ3QgaGFuZGxlIGV2ZW50LCBlLmcuIGF0IGRlc3RydWN0aW9uLgotICAg
IGNsYXNzIFBpY2tlckluZGljYXRvck93bmVyIHsKLSAgICBwdWJsaWM6Ci0gICAgICAgIHZpcnR1
YWwgflBpY2tlckluZGljYXRvck93bmVyKCkgeyB9Ci0gICAgICAgIHZpcnR1YWwgYm9vbCBpc1Bp
Y2tlckluZGljYXRvck93bmVyRGlzYWJsZWRPclJlYWRPbmx5KCkgY29uc3QgPSAwOwotICAgICAg
ICB2aXJ0dWFsIHZvaWQgcGlja2VySW5kaWNhdG9yQ2hvb3NlVmFsdWUoY29uc3QgU3RyaW5nJikg
PSAwOwotICAgICAgICB2aXJ0dWFsIGJvb2wgc2V0dXBEYXRlVGltZUNob29zZXJQYXJhbWV0ZXJz
KERhdGVUaW1lQ2hvb3NlclBhcmFtZXRlcnMmKSA9IDA7Ci0gICAgfTsKLQotICAgIHN0YXRpYyBQ
YXNzUmVmUHRyPFBpY2tlckluZGljYXRvckVsZW1lbnQ+IGNyZWF0ZShEb2N1bWVudCosIFBpY2tl
ckluZGljYXRvck93bmVyJik7Ci0gICAgdmlydHVhbCB+UGlja2VySW5kaWNhdG9yRWxlbWVudCgp
OwotICAgIHZvaWQgb3BlblBvcHVwKCk7Ci0gICAgdm9pZCBjbG9zZVBvcHVwKCk7Ci0gICAgdmly
dHVhbCBib29sIHdpbGxSZXNwb25kVG9Nb3VzZUNsaWNrRXZlbnRzKCkgT1ZFUlJJREU7Ci0gICAg
dm9pZCByZW1vdmVQaWNrZXJJbmRpY2F0b3JPd25lcigpIHsgbV9waWNrZXJJbmRpY2F0b3JPd25l
ciA9IDA7IH0KLQotICAgIC8vIERhdGVUaW1lQ2hvb3NlckNsaWVudCBpbXBsZW1lbnRhdGlvbi4K
LSAgICB2aXJ0dWFsIHZvaWQgZGlkQ2hvb3NlVmFsdWUoY29uc3QgU3RyaW5nJikgT1ZFUlJJREU7
Ci0gICAgdmlydHVhbCB2b2lkIGRpZEVuZENob29zZXIoKSBPVkVSUklERTsKLQotcHJpdmF0ZToK
LSAgICBQaWNrZXJJbmRpY2F0b3JFbGVtZW50KERvY3VtZW50KiwgUGlja2VySW5kaWNhdG9yT3du
ZXImKTsKLSAgICB2aXJ0dWFsIFJlbmRlck9iamVjdCogY3JlYXRlUmVuZGVyZXIoUmVuZGVyQXJl
bmEqLCBSZW5kZXJTdHlsZSopIE9WRVJSSURFOwotICAgIHZpcnR1YWwgdm9pZCBkZWZhdWx0RXZl
bnRIYW5kbGVyKEV2ZW50KikgT1ZFUlJJREU7Ci0gICAgdmlydHVhbCB2b2lkIGRldGFjaCgpIE9W
RVJSSURFOwotCi0gICAgSFRNTElucHV0RWxlbWVudCogaG9zdElucHV0KCk7Ci0KLSAgICBQaWNr
ZXJJbmRpY2F0b3JPd25lciogbV9waWNrZXJJbmRpY2F0b3JPd25lcjsKLSAgICBSZWZQdHI8RGF0
ZVRpbWVDaG9vc2VyPiBtX2Nob29zZXI7Ci19OwotCi19Ci0jZW5kaWYKLSNlbmRpZgpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9DaHJvbWVDbGllbnQuaCBiL1NvdXJjZS9XZWJDb3Jl
L3BhZ2UvQ2hyb21lQ2xpZW50LmgKaW5kZXggMTA3ZjRjMGNmZTUyY2IzZWM4YmQ4YmMwZWU1YmI5
MjFhMjc1NDRkOS4uNzQ1YTFlN2ZmZWFmMGI3NjExZjFiNzA2MGIyN2QyMTFiOTNjNWQwZCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9DaHJvbWVDbGllbnQuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL0Nocm9tZUNsaWVudC5oCkBAIC0yMjEsMTAgKzIyMSw2IEBAIHB1YmxpYzoK
ICNlbmRpZgogCiAjaWYgRU5BQkxFKERBVEVfQU5EX1RJTUVfSU5QVVRfVFlQRVMpCi0gICAgLy8g
VGhpcyBmdW5jdGlvbiBpcyB1c2VkIGZvcjoKLSAgICAvLyAgLSBNYW5kYXRvcnkgZGF0ZS90aW1l
IGNob29zZXJzIGlmICFFTkFCTEUoSU5QVVRfTVVMVElQTEVfRklFTERTX1VJKQotICAgIC8vICAt
IDxkYXRhbGlzdD4gVUkgZm9yIGRhdGUvdGltZSBpbnB1dCB0eXBlcyByZWdhcmRsZXNzIG9mCi0g
ICAgLy8gICAgRU5BQkxFKElOUFVUX01VTFRJUExFX0ZJRUxEU19VSSkKICAgICB2aXJ0dWFsIFBh
c3NSZWZQdHI8RGF0ZVRpbWVDaG9vc2VyPiBvcGVuRGF0ZVRpbWVDaG9vc2VyKERhdGVUaW1lQ2hv
b3NlckNsaWVudCosIGNvbnN0IERhdGVUaW1lQ2hvb3NlclBhcmFtZXRlcnMmKSA9IDA7CiAjZW5k
aWYKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vTG9jYWxpemVkU3RyaW5n
cy5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vTG9jYWxpemVkU3RyaW5ncy5oCmluZGV4IDJh
NTIyZDgxZjM2N2UxYzQ1NWFmNGJlMjE0MTJmMjEyYWE4NmFmNTguLmM2M2QxYTRlNDQ3OTQxYWVk
NjI0OGE4YmMxNmJlM2UyYTU0NzY0YTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL0xvY2FsaXplZFN0cmluZ3MuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9Mb2Nh
bGl6ZWRTdHJpbmdzLmgKQEAgLTE2OCwzMyArMTY4LDYgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewog
ICAgIFN0cmluZyBBWE1lbnVMaXN0UG9wdXBBY3Rpb25WZXJiKCk7CiAgICAgU3RyaW5nIEFYTGlu
a0FjdGlvblZlcmIoKTsKIAotI2lmIEVOQUJMRShJTlBVVF9NVUxUSVBMRV9GSUVMRFNfVUkpCi0g
ICAgU3RyaW5nIEFYQU1QTUZpZWxkVGV4dCgpOwotICAgIFN0cmluZyBBWERheU9mTW9udGhGaWVs
ZFRleHQoKTsKLSAgICBTdHJpbmcgQVhEYXRlVGltZUZpZWxkRW1wdHlWYWx1ZVRleHQoKTsKLSAg
ICBTdHJpbmcgQVhIb3VyRmllbGRUZXh0KCk7Ci0gICAgU3RyaW5nIEFYTWlsbGlzZWNvbmRGaWVs
ZFRleHQoKTsKLSAgICBTdHJpbmcgQVhNaW51dGVGaWVsZFRleHQoKTsKLSAgICBTdHJpbmcgQVhN
b250aEZpZWxkVGV4dCgpOwotICAgIFN0cmluZyBBWFNlY29uZEZpZWxkVGV4dCgpOwotICAgIFN0
cmluZyBBWFdlZWtPZlllYXJGaWVsZFRleHQoKTsKLSAgICBTdHJpbmcgQVhZZWFyRmllbGRUZXh0
KCk7Ci0KLSAgICAvLyBwbGFjZWhvbGRlckZvckRheU9mTW9udGhGaWVsZCgpIHJldHVybnMgbG9j
YWxpemVkIHBsYWNlaG9sZGVyIHRleHQsIGUuZy4KLSAgICAvLyAiZGQiLCBmb3IgZGF0ZSBmaWVs
ZCB1c2VkIGluIG11bHRpcGxlIGZpZWxkcyAiZGF0ZSIsICJkYXRldGltZSIsIGFuZAotICAgIC8v
ICJkYXRldGltZS1sb2NhbCIgaW5wdXQgVUkgaW5zdGVhZCAiLS0iLgotICAgIFN0cmluZyBwbGFj
ZWhvbGRlckZvckRheU9mTW9udGhGaWVsZCgpOwotCi0gICAgLy8gcGxhY2Vob2xkZXJGb3JmTW9u
dGhGaWVsZCgpIHJldHVybnMgbG9jYWxpemVkIHBsYWNlaG9sZGVyIHRleHQsIGUuZy4KLSAgICAv
LyAibW0iLCBmb3IgbW9udGggZmllbGQgdXNlZCBpbiBtdWx0aXBsZSBmaWVsZHMgImRhdGUiLCAi
ZGF0ZXRpbWUiLCBhbmQKLSAgICAvLyAiZGF0ZXRpbWUtbG9jYWwiIGlucHV0IFVJIGluc3RlYWQg
Ii0tIi4KLSAgICBTdHJpbmcgcGxhY2Vob2xkZXJGb3JNb250aEZpZWxkKCk7Ci0KLSAgICAvLyBw
bGFjZWhvbGRlckZvclllYXJGaWVsZCgpIHJldHVybnMgbG9jYWxpemVkIHBsYWNlaG9sZGVyIHRl
eHQsIGUuZy4KLSAgICAvLyAieXl5eSIsIGZvciB5ZWFyIGZpZWxkIHVzZWQgaW4gbXVsdGlwbGUg
ZmllbGRzICJkYXRlIiwgImRhdGV0aW1lIiwgYW5kCi0gICAgLy8gImRhdGV0aW1lLWxvY2FsIiBp
bnB1dCBVSSBpbnN0ZWFkICItLS0tIi4KLSAgICBTdHJpbmcgcGxhY2Vob2xkZXJGb3JZZWFyRmll
bGQoKTsKLSNlbmRpZgogI2lmIEVOQUJMRShJTlBVVF9UWVBFX1dFRUspCiAgICAgLy8gd2Vla0Zv
cm1hdEluTERNTCgpIHJldHVybnMgd2VlayBhbmQgeWVhciBmb3JtYXQgaW4gTERNTCwgVW5pY29k
ZQogICAgIC8vIHRlY2huaWNhbCBzdGFuZGFyZCAzNSwgTG9jYWxlIERhdGEgTWFya3VwIExhbmd1
YWdlLCBlLmcuICInV2Vlaycgd3csIHl5eXkiCkBAIC0yNTYsOSArMjI5LDYgQEAgbmFtZXNwYWNl
IFdlYkNvcmUgewogICAgIFN0cmluZyB2YWxpZGF0aW9uTWVzc2FnZVJhbmdlT3ZlcmZsb3dUZXh0
KGNvbnN0IFN0cmluZyYgbWF4aW11bSk7CiAgICAgU3RyaW5nIHZhbGlkYXRpb25NZXNzYWdlU3Rl
cE1pc21hdGNoVGV4dChjb25zdCBTdHJpbmcmIGJhc2UsIGNvbnN0IFN0cmluZyYgc3RlcCk7CiAg
ICAgU3RyaW5nIHZhbGlkYXRpb25NZXNzYWdlQmFkSW5wdXRGb3JOdW1iZXJUZXh0KCk7Ci0jaWYg
RU5BQkxFKElOUFVUX01VTFRJUExFX0ZJRUxEU19VSSkKLSAgICBTdHJpbmcgdmFsaWRhdGlvbk1l
c3NhZ2VCYWRJbnB1dEZvckRhdGVUaW1lVGV4dCgpOwotI2VuZGlmCiAjaWYgVVNFKFNPVVApCiAg
ICAgU3RyaW5nIHVuYWNjZXB0YWJsZVRMU0NlcnRpZmljYXRlKCk7CiAjZW5kaWYKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3RleHQvUGxhdGZvcm1Mb2NhbGUuY3BwIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vdGV4dC9QbGF0Zm9ybUxvY2FsZS5jcHAKaW5kZXggODYwNGEy
YjEwODM5YTEzNzAzMzVjMzExNWEzNDFjYjczMDM1Y2JmZC4uZDczNmNjYTc0ZWE0OWE5N2U0MjIz
MGU1N2QxMmEwMDBlODQ1ZDhjOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
dGV4dC9QbGF0Zm9ybUxvY2FsZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vdGV4
dC9QbGF0Zm9ybUxvY2FsZS5jcHAKQEAgLTMyNiwxNCArMzI2LDYgQEAgU3RyaW5nIExvY2FsZTo6
Y29udmVydEZyb21Mb2NhbGl6ZWROdW1iZXIoY29uc3QgU3RyaW5nJiBsb2NhbGl6ZWQpCiAgICAg
cmV0dXJuIGJ1aWxkZXIudG9TdHJpbmcoKTsKIH0KIAotI2lmIEVOQUJMRShJTlBVVF9NVUxUSVBM
RV9GSUVMRFNfVUkpCi1TdHJpbmcgTG9jYWxlOjpsb2NhbGl6ZWREZWNpbWFsU2VwYXJhdG9yKCkK
LXsKLSAgICBpbml0aWFsaXplTG9jYWxlRGF0YSgpOwotICAgIHJldHVybiBtX2RlY2ltYWxTeW1i
b2xzW0RlY2ltYWxTZXBhcmF0b3JJbmRleF07Ci19Ci0jZW5kaWYKLQogI2lmIEVOQUJMRShEQVRF
X0FORF9USU1FX0lOUFVUX1RZUEVTKQogCiBTdHJpbmcgTG9jYWxlOjpmb3JtYXREYXRlVGltZShj
b25zdCBEYXRlQ29tcG9uZW50cyYgZGF0ZSwgRm9ybWF0VHlwZSBmb3JtYXRUeXBlKQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vdGV4dC9QbGF0Zm9ybUxvY2FsZS5oIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vdGV4dC9QbGF0Zm9ybUxvY2FsZS5oCmluZGV4IDkyNWI3ZTEy
MTViM2UwNDUyOWI5ZmM1YzcwZmJmOWNlYjlkNmMxYzIuLjFlOTc2OTA2YmU4Njg2Yjg5NWM2ZTMz
MjkzMjU1NmUxNTdlMjA1NmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3Rl
eHQvUGxhdGZvcm1Mb2NhbGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L1Bs
YXRmb3JtTG9jYWxlLmgKQEAgLTUzLDExICs1Myw2IEBAIHB1YmxpYzoKICAgICAvLyByZXN1bHRh
bnQgc3RyaW5nLgogICAgIFN0cmluZyBjb252ZXJ0RnJvbUxvY2FsaXplZE51bWJlcihjb25zdCBT
dHJpbmcmKTsKIAotI2lmIEVOQUJMRShJTlBVVF9NVUxUSVBMRV9GSUVMRFNfVUkpCi0gICAgLy8g
UmV0dXJucyBsb2NhbGl6ZWQgZGVjaW1hbCBzZXBhcmF0b3IsIGUuZy4gIi4iIGZvciBFbmdsaXNo
LCAiLCIgZm9yIEZyZW5jaC4KLSAgICBTdHJpbmcgbG9jYWxpemVkRGVjaW1hbFNlcGFyYXRvcigp
OwotI2VuZGlmCi0KICNpZiBFTkFCTEUoREFURV9BTkRfVElNRV9JTlBVVF9UWVBFUykKICAgICAv
LyBSZXR1cm5zIGRhdGUgZm9ybWF0IGluIFVuaWNvZGUgVFIzNSBMRE1MWzFdIGNvbnRhaW5pbmcg
ZGF5IG9mIG1vbnRoLAogICAgIC8vIG1vbnRoLCBhbmQgeWVhciwgZS5nLiAiZGQvbW0veXl5eSIK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJEZXRhaWxzTWFya2Vy
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJEZXRhaWxzTWFya2VyLmNwcApp
bmRleCAxNjQ1ZjkyNDExZDRhMjIxNTVjYTUzY2JiNzk1ZDNhMTMxM2ZhYmFjLi4wZDE3NjZhNGVj
ZGUzMTY2OGJmNGJiZWVhMWZlMjQ0ZDk1NDI2ZGUwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyRGV0YWlsc01hcmtlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlckRldGFpbHNNYXJrZXIuY3BwCkBAIC0xOSw3ICsxOSw3IEBACiAgKi8K
IAogI2luY2x1ZGUgImNvbmZpZy5oIgotI2lmIEVOQUJMRShERVRBSUxTX0VMRU1FTlQpIHx8IEVO
QUJMRShJTlBVVF9NVUxUSVBMRV9GSUVMRFNfVUkpCisjaWYgRU5BQkxFKERFVEFJTFNfRUxFTUVO
VCkKICNpbmNsdWRlICJSZW5kZXJEZXRhaWxzTWFya2VyLmgiCiAKICNpbmNsdWRlICJFbGVtZW50
LmgiCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRGV0YWlsc01h
cmtlci5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckRldGFpbHNNYXJrZXIuaApp
bmRleCBjZDkxYjAxM2VhODk1YTQwNGIzMDVlZjNjNmI1ZTdmZTkyNDVjZWFmLi5kYjdkMjlkNzBk
ZDZmMzQ2YjAzMDUzNTlkMzJmN2E4ZDMyN2JhMmVlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyRGV0YWlsc01hcmtlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJEZXRhaWxzTWFya2VyLmgKQEAgLTIxLDcgKzIxLDcgQEAKICNpZm5kZWYg
UmVuZGVyRGV0YWlsc01hcmtlcl9oCiAjZGVmaW5lIFJlbmRlckRldGFpbHNNYXJrZXJfaAogCi0j
aWYgRU5BQkxFKERFVEFJTFNfRUxFTUVOVCkgfHwgRU5BQkxFKElOUFVUX01VTFRJUExFX0ZJRUxE
U19VSSkKKyNpZiBFTkFCTEUoREVUQUlMU19FTEVNRU5UKQogI2luY2x1ZGUgIlJlbmRlckJsb2Nr
LmgiCiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJPYmplY3QuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJP
YmplY3QuaAppbmRleCA0M2NiNTEyOGRiMzI5MDI3OWY4OTJlMjI3MTYwZGFkMTU0NzE1ZTljLi5h
NjkyYmQxOGZmNjg4ZjA4MThkMWQ1MmJjZjVkMjE5Yjk4NWYzMjg0IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmgKKysrIGIvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlck9iamVjdC5oCkBAIC0zMjksNyArMzI5LDcgQEAgcHVibGljOgogI2Vu
ZGlmCiAgICAgdmlydHVhbCBib29sIGlzUXVvdGUoKSBjb25zdCB7IHJldHVybiBmYWxzZTsgfQog
Ci0jaWYgRU5BQkxFKERFVEFJTFNfRUxFTUVOVCkgfHwgRU5BQkxFKElOUFVUX01VTFRJUExFX0ZJ
RUxEU19VSSkKKyNpZiBFTkFCTEUoREVUQUlMU19FTEVNRU5UKQogICAgIHZpcnR1YWwgYm9vbCBp
c0RldGFpbHNNYXJrZXIoKSBjb25zdCB7IHJldHVybiBmYWxzZTsgfQogI2VuZGlmCiAgICAgdmly
dHVhbCBib29sIGlzRW1iZWRkZWRPYmplY3QoKSBjb25zdCB7IHJldHVybiBmYWxzZTsgfQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9ibGFja2JlcnJ5L1dlYkNvcmVTdXBwb3J0L0Fib3V0RGF0
YUVuYWJsZUZlYXR1cmVzLmluIGIvU291cmNlL1dlYktpdC9ibGFja2JlcnJ5L1dlYkNvcmVTdXBw
b3J0L0Fib3V0RGF0YUVuYWJsZUZlYXR1cmVzLmluCmluZGV4IGMyMDUyM2NmNGJmNzYzMGQ4ZmYx
NmIxMGQwZTdiNjVkNTgwZmY1ZDUuLjY3NmJjMDRkYThlMTVkYjQ3OWIyNDFkMTM2MzI0NzQxYzhk
N2VhZGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvYmxhY2tiZXJyeS9XZWJDb3JlU3VwcG9y
dC9BYm91dERhdGFFbmFibGVGZWF0dXJlcy5pbgorKysgYi9Tb3VyY2UvV2ViS2l0L2JsYWNrYmVy
cnkvV2ViQ29yZVN1cHBvcnQvQWJvdXREYXRhRW5hYmxlRmVhdHVyZXMuaW4KQEAgLTkxLDcgKzkx
LDYgQEAgSUNPTkRBVEFCQVNFCiBJRlJBTUVfU0VBTUxFU1MKIElNQUdFX0RFQ09ERVJfRE9XTl9T
QU1QTElORwogSU5ERVhFRF9EQVRBQkFTRQotSU5QVVRfTVVMVElQTEVfRklFTERTX1VJCiBJTlBV
VF9TUEVFQ0gKIElOUFVUX1RZUEVfQ09MT1IKIElOUFVUX1RZUEVfREFURQpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDc0Y2Yw
NWI3NzIzMTc0MmI0YTUyYmIyN2Q4ZmU4M2JkYmZkYTVmY2EuLjk1NDcwNWIxNjA2ZWVkN2ZiMGI1
OWYwZWQ0MTkwNWNhYmZmY2YzYjQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZwor
KysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMjcgQEAKKzIwMTMtMDUtMjkg
IEtlbnQgVGFtdXJhICA8dGtlbnRAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFJlbW92ZSBFTkFC
TEVfSU5QVVRfTVVMVElQTEVfRklFTERTX1VJLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTE2Nzk2CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgUnlvc3Vr
ZSBOaXdhLgorCisgICAgICAgICogZmFzdC9mb3Jtcy9kYXRlLW11bHRpcGxlLWZpZWxkcy9kYXRl
LW11bHRpcGxlLWZpZWxkcy1heC1hcmlhLWF0dHJpYnV0ZXMtZXhwZWN0ZWQudHh0OiBSZW1vdmVk
LgorICAgICAgICAqIGZhc3QvZm9ybXMvZGF0ZS1tdWx0aXBsZS1maWVsZHMvZGF0ZS1tdWx0aXBs
ZS1maWVsZHMtYXgtYXJpYS1hdHRyaWJ1dGVzLmh0bWw6IFJlbW92ZWQuCisgICAgICAgICogZmFz
dC9mb3Jtcy9kYXRlLW11bHRpcGxlLWZpZWxkcy9kYXRlLW11bHRpcGxlLWZpZWxkcy1heC12YWx1
ZS1jaGFuZ2VkLW5vdGlmaWNhdGlvbi1leHBlY3RlZC50eHQ6IFJlbW92ZWQuCisgICAgICAgICog
ZmFzdC9mb3Jtcy9kYXRlLW11bHRpcGxlLWZpZWxkcy9kYXRlLW11bHRpcGxlLWZpZWxkcy1heC12
YWx1ZS1jaGFuZ2VkLW5vdGlmaWNhdGlvbi5odG1sOiBSZW1vdmVkLgorICAgICAgICAqIGZhc3Qv
Zm9ybXMvZGF0ZS1tdWx0aXBsZS1maWVsZHMvZGF0ZS1tdWx0aXBsZS1maWVsZHMtYmx1ci1hbmQt
Zm9jdXMtZXZlbnRzLWV4cGVjdGVkLnR4dDogUmVtb3ZlZC4KKyAgICAgICAgKiBmYXN0L2Zvcm1z
L2RhdGUtbXVsdGlwbGUtZmllbGRzL2RhdGUtbXVsdGlwbGUtZmllbGRzLWJsdXItYW5kLWZvY3Vz
LWV2ZW50cy5odG1sOiBSZW1vdmVkLgorICAgICAgICAqIGZhc3QvZm9ybXMvZGF0ZS1tdWx0aXBs
ZS1maWVsZHMvZGF0ZS1tdWx0aXBsZS1maWVsZHMtY2hhbmdlLWxheW91dC1ieS12YWx1ZS1leHBl
Y3RlZC50eHQ6IFJlbW92ZWQuCisgICAgICAgICogZmFzdC9mb3Jtcy9kYXRlLW11bHRpcGxlLWZp
ZWxkcy9kYXRlLW11bHRpcGxlLWZpZWxkcy1jaGFuZ2UtbGF5b3V0LWJ5LXZhbHVlLmh0bWw6IFJl
bW92ZWQuCisgICAgICAgICogZmFzdC9mb3Jtcy9kYXRlLW11bHRpcGxlLWZpZWxkcy9kYXRlLW11
bHRpcGxlLWZpZWxkcy1jbGVhcmJ1dHRvbi1jaGFuZ2UtYW5kLWlucHV0LWV2ZW50cy1leHBlY3Rl
ZC50eHQ6IFJlbW92ZWQuCisgICAgICAgICogZmFzdC9mb3Jtcy9kYXRlLW11bHRpcGxlLWZpZWxk
cy9kYXRlLW11bHRpcGxlLWZpZWxkcy1jbGVhcmJ1dHRvbi1jaGFuZ2UtYW5kLWlucHV0LWV2ZW50
cy5odG1sOiBSZW1vdmVkLgorICAgICAgICAqIGZhc3QvZm9ybXMvZGF0ZS1tdWx0aXBsZS1maWVs
ZHMvZGF0ZS1tdWx0aXBsZS1maWVsZHMtY2xlYXJidXR0b24tdmlzaWJpbGl0eS1hZnRlci1yZXN0
b3JlLWV4cGVjdGVkLmh0bWw6IFJlbW92ZWQuCisgICAgICAgICogZmFzdC9mb3Jtcy9kYXRlLW11
bHRpcGxlLWZpZWxkcy9kYXRlLW11bHRpcGxlLWZpZWxkcy1jbGVhcmJ1dHRvbi12aXNpYmlsaXR5
LWFmdGVyLXJlc3RvcmUuaHRtbDogUmVtb3ZlZC4KKyAgICAgICAgKiBmYXN0L2Zvcm1zL2RhdGUt
bXVsdGlwbGUtZmllbGRzL2RhdGUtbXVsdGlwbGUtZmllbGRzLWZhbGxiYWNrLWZvcm1hdC1leHBl
Y3RlZC50eHQ6IFJlbW92ZWQuCisgICAgICAgICogZmFzdC9mb3Jtcy9kYXRlLW11bHRpcGxlLWZp
ZWxkcy9kYXRlLW11bHRpcGxlLWZpZWxkcy1mYWxsYmFjay1mb3JtYXQuaHRtbDogUmVtb3ZlZC4K
KyAgICAgICAgKiBmYXN0L2Zvcm1zL2RhdGUtbXVsdGlwbGUtZmllbGRzL2RhdGUtbXVsdGlwbGUt
ZmllbGRzLWZvY3VzLWV4cGVjdGVkLnR4dDogUmVtb3ZlZC4KKyAgICAgICAgKiBmYXN0L2Zvcm1z
L2RhdGUtbXVsdGlwbGUtZmllbGRzL2RhdGUtbXVsdGlwbGUtZmllbGRzLWZvY3VzLmh0bWw6IFJl
bW92ZWQuCisgICAgICAgICogZmFzdC9mb3Jtcy9kYXRlLW11bHRpcGxlLWZpZWxkcy9kYXRlLW11
bHRpcGxlLWZpZWxkcy1rZXlib2FyZC1ldmVudHMtZXhwZWN0ZWQudHh0OiBSZW1vdmVkLgorICAg
ICAgICAqIGZhc3QvZm9ybXMvZGF0ZS1tdWx0aXBsZS1maWVsZHMvZGF0ZS1tdWx0aXBsZS1maWVs
ZHMta2V5Ym9hcmQtZXZlbnRzLmh0bWw6IFJlbW92ZWQuCisgICAgICAgICogZmFzdC9mb3Jtcy9k
YXRlLW11bHRpcGxlLWZpZWxkcy9kYXRlLW11bHRpcGxlLWZpZWxkcy1tb3VzZS1ldmVudHMtZXhw
ZWN0ZWQudHh0OiBSZW1vdmVkLgorICAgICAgICAqIGZhc3QvZm9ybXMvZGF0ZS1tdWx0aXBsZS1m
aWVsZHMvZGF0ZS1tdWx0aXBsZS1maWVsZHMtbW91c2UtZXZlbnRzLmh0bWw6IFJlbW92ZWQuCisg
ICAgICAgICogZmFzdC9mb3Jtcy9kYXRlLW11bHRpcGxlLWZpZWxkcy9kYXRlLW11bHRpcGxlLWZp
ZWxkcy1wcmVzZXJ2ZS12YWx1ZS1hZnRlci1oaXN0b3J5LWJhY2stZXhwZWN0ZWQudHh0OiBSZW1v
dmVkLgorICAgICAgICAqIGZhc3QvZm9ybXMvZGF0ZS1tdWx0aXBsZS1maWVsZHMvZGF0ZS1tdWx0
aXBsZS1maWVsZHMtcHJlc2VydmUtdmFsdWUtYWZ0ZXItaGlzdG9yeS1iYWNrLmh0bWw6IFJlbW92
ZWQuCisgICAgICAgICogZmFzdC9mb3Jtcy9kYXRlLW11bHRpcGxlLWZpZWxkcy9kYXRlLW11bHRp
cGxlLWZpZWxkcy1yZWFkb25seS1zdWJmaWVsZC1leHBlY3RlZC50eHQ6IFJlbW92ZWQuCisgICAg
ICAgICogZmFzdC9mb3Jtcy9kYXRlLW11bHRpcGxlLWZpZWxkcy9kYXRlLW11bHRpcGxlLWZpZWxk
cy1yZWFkb25seS1zdWJmaWVsZC5odG1sOiBSZW1vdmVkLgorICAgICAgICAqIGZhc3QvZm9ybXMv
ZGF0ZS1tdWx0aXBsZS1maWVsZHMvZGF0ZS1tdWx0aXBsZS1maWVsZHMtcmVzZXQtdmFsdWUtYWZ0
ZXItcmVsb2Fkcy1leHBlY3RlZC50eHQ6IFJlbW92ZWQuCisgICAgICAgICogZmFzdC9mb3Jtcy9k
YXRlLW11bHRpcGxlLWZpZWxkcy9kYXRlLW11bHRpcGxlLWZpZWxkcy1yZXNldC12YWx1ZS1hZnRl
ci1yZWxvYWRzLmh0bWw6IFJlbW92ZWQuCisgICAgICAgICogZmFzdC9mb3Jtcy9kYXRlLW11bHRp
cGxlLWZpZWxkcy9kYXRlLW11bHRpcGxlLWZpZWxkcy1zcGluYnV0dG9uLWNoYW5nZS1hbmQtaW5w
dXQtZXZlbnRzLWV4cGVjdGVkLnR4dDogUmVtb3ZlZC4KKyAgICAgICAgKiBmYXN0L2Zvcm1zL2Rh
dGUtbXVsdGlwbGUtZmllbGRzL2RhdGUtbXVsdGlwbGUtZmllbGRzLXNwaW5idXR0b24tY2hhbmdl
LWFuZC1pbnB1dC1ldmVudHMuaHRtbDogUmVtb3ZlZC4KKyAgICAgICAgKiBmYXN0L2Zvcm1zL2Rh
dGUtbXVsdGlwbGUtZmllbGRzL2RhdGUtbXVsdGlwbGUtZmllbGRzLXN0ZXB1cC1zdGVwZG93bi1m
cm9tLXJlbmRlcmVyLWV4cGVjdGVkLnR4dDogUmVtb3ZlZC4KKyAgICAgICAgKiBmYXN0L2Zvcm1z
L2RhdGUtbXVsdGlwbGUtZmllbGRzL2RhdGUtbXVsdGlwbGUtZmllbGRzLXN0ZXB1cC1zdGVwZG93
bi1mcm9tLXJlbmRlcmVyLmh0bWw6IFJlbW92ZWQuCisgICAgICAgICogZmFzdC9mb3Jtcy9kYXRl
LW11bHRpcGxlLWZpZWxkcy9kYXRlLW11bHRpcGxlLWZpZWxkcy12YWxpZGl0eS1iYWRpbnB1dC1l
eHBlY3RlZC50eHQ6IFJlbW92ZWQuCisgICAgICAgICogZmFzdC9mb3Jtcy9kYXRlLW11bHRpcGxl
LWZpZWxkcy9kYXRlLW11bHRpcGxlLWZpZWxkcy12YWxpZGl0eS1iYWRpbnB1dC5odG1sOiBSZW1v
dmVkLgorICAgICAgICAqIGZhc3QvZm9ybXMvZGF0ZS1tdWx0aXBsZS1maWVsZHMvZGF0ZS1tdWx0
aXBsZS1maWVsZHMtdmFsdWUtc2V0LWVtcHR5LWV4cGVjdGVkLnR4dDogUmVtb3ZlZC4KKyAgICAg
ICAgKiBmYXN0L2Zvcm1zL2RhdGUtbXVsdGlwbGUtZmllbGRzL2RhdGUtbXVsdGlwbGUtZmllbGRz
LXZhbHVlLXNldC1lbXB0eS5odG1sOiBSZW1vdmVkLgorICAgICAgICAqIGZhc3QvZm9ybXMvZGF0
ZS1tdWx0aXBsZS1maWVsZHMvZGF0ZS1tdWx0aXBsZS1maWVsZHMtd2hlZWwtZXZlbnQtZXhwZWN0
ZWQudHh0OiBSZW1vdmVkLgorICAgICAgICAqIGZhc3QvZm9ybXMvZGF0ZS1tdWx0aXBsZS1maWVs
ZHMvZGF0ZS1tdWx0aXBsZS1maWVsZHMtd2hlZWwtZXZlbnQuaHRtbDogUmVtb3ZlZC4KKyAgICAg
ICAgKiBmYXN0L2Zvcm1zL2RhdGUtbXVsdGlwbGUtZmllbGRzL3Jlc291cmNlcy9wcmVzZXJ2ZS12
YWx1ZS1hZnRlci1oaXN0b3J5LWJhY2stZnJhbWUuaHRtbDogUmVtb3ZlZC4KKyAgICAgICAgKiBm
YXN0L2Zvcm1zL2RhdGV0aW1lLW11bHRpcGxlLWZpZWxkcy9kYXRldGltZS1tdWx0aXBsZS1maWVs
ZHMtZmFsbGJhY2stZm9ybWF0LWV4cGVjdGVkLnR4dDogUmVtb3ZlZC4KKyAgICAgICAgKiBmYXN0
L2Zvcm1zL2RhdGV0aW1lLW11bHRpcGxlLWZpZWxkcy9kYXRldGltZS1tdWx0aXBsZS1maWVsZHMt
ZmFsbGJhY2stZm9ybWF0Lmh0bWw6IFJlbW92ZWQuCisgICAgICAgICogZmFzdC9mb3Jtcy9kYXRl
dGltZS1tdWx0aXBsZS1maWVsZHMvZGF0ZXRpbWUtbXVsdGlwbGUtZmllbGRzLXZhbGlkaXR5LWJh
ZGlucHV0LWV4cGVjdGVkLnR4dDogUmVtb3ZlZC4KKyAgICAgICAgKiBmYXN0L2Zvcm1zL2RhdGV0
aW1lLW11bHRpcGxlLWZpZWxkcy9kYXRldGltZS1tdWx0aXBsZS1maWVsZHMtdmFsaWRpdHktYmFk
aW5wdXQuaHRtbDogUmVtb3ZlZC4KKyAgICAgICAgKiBmYXN0L2Zvcm1zL2RhdGV0aW1lLW11bHRp
cGxlLWZpZWxkcy9kYXRldGltZS1tdWx0aXBsZS1maWVsZHMtdmFsdWUtc2V0LWVtcHR5LWV4cGVj
dGVkLnR4dDogUmVtb3ZlZC4KKyAgICAgICAgKiBmYXN0L2Zvcm1zL2RhdGV0aW1lLW11bHRpcGxl
LWZpZWxkcy9kYXRldGltZS1tdWx0aXBsZS1maWVsZHMtdmFsdWUtc2V0LWVtcHR5Lmh0bWw6IFJl
bW92ZWQuCisgICAgICAgICogZmFzdC9mb3Jtcy9kYXRldGltZWxvY2FsLW11bHRpcGxlLWZpZWxk
cy9kYXRldGltZWxvY2FsLW11bHRpcGxlLWZpZWxkcy1heC1hcmlhLWF0dHJpYnV0ZXMtZXhwZWN0
ZWQudHh0OiBSZW1vdmVkLgorICAgICAgICAqIGZhc3QvZm9ybXMvZGF0ZXRpbWVsb2NhbC1tdWx0
aXBsZS1maWVsZHMvZGF0ZXRpbWVsb2NhbC1tdWx0aXBsZS1maWVsZHMtYXgtYXJpYS1hdHRyaWJ1
dGVzLmh0bWw6IFJlbW92ZWQuCisgICAgICAgICogZmFzdC9mb3Jtcy9kYXRldGltZWxvY2FsLW11
bHRpcGxlLWZpZWxkcy9kYXRldGltZWxvY2FsLW11bHRpcGxlLWZpZWxkcy1heC12YWx1ZS1jaGFu
Z2VkLW5vdGlmaWNhdGlvbi1leHBlY3RlZC50eHQ6IFJlbW92ZWQuCisgICAgICAgICogZmFzdC9m
b3Jtcy9kYXRldGltZWxvY2FsLW11bHRpcGxlLWZpZWxkcy9kYXRldGltZWxvY2FsLW11bHRpcGxl
LWZpZWxkcy1heC12YWx1ZS1jaGFuZ2VkLW5vdGlmaWNhdGlvbi5odG1sOiBSZW1vdmVkLgorICAg
ICAgICAqIGZhc3QvZm9ybXMvZGF0ZXRpbWVsb2NhbC1tdWx0aXBsZS1maWVsZHMvZGF0ZXRpbWVs
b2NhbC1tdWx0aXBsZS1maWVsZHMtYmx1ci1hbmQtZm9jdXMtZXZlbnRzLWV4cGVjdGVkLnR4dDog
UmVtb3ZlZC4KKyAgICAgICAgKiBmYXN0L2Zvcm1zL2RhdGV0aW1lbG9jYWwtbXVsdGlwbGUtZmll
bGRzL2RhdGV0aW1lbG9jYWwtbXVsdGlwbGUtZmllbGRzLWJsdXItYW5kLWZvY3VzLWV2ZW50cy5o
dG1sOiBSZW1vdmVkLgorICAgICAgICAqIGZhc3QvZm9ybXMvZGF0ZXRpbWVsb2NhbC1tdWx0aXBs
ZS1maWVsZHMvZGF0ZXRpbWVsb2NhbC1tdWx0aXBsZS1maWVsZHMtY2hhbmdlLWxheW91dC1ieS12
YWx1ZS1leHBlY3RlZC50eHQ6IFJlbW92ZWQuCisgICAgICAgICogZmFzdC9mb3Jtcy9kYXRldGlt
ZWxvY2FsLW11bHRpcGxlLWZpZWxkcy9kYXRldGltZWxvY2FsLW11bHRpcGxlLWZpZWxkcy1jaGFu
Z2UtbGF5b3V0LWJ5LXZhbHVlLmh0bWw6IFJlbW92ZWQuCisgICAgICAgICogZmFzdC9mb3Jtcy9k
YXRldGltZWxvY2FsLW11bHRpcGxlLWZpZWxkcy9kYXRldGltZWxvY2FsLW11bHRpcGxlLWZpZWxk
cy1jbGVhcmJ1dHRvbi1jaGFuZ2UtYW5kLWlucHV0LWV2ZW50cy1leHBlY3RlZC50eHQ6IFJlbW92
ZWQuCisgICAgICAgICogZmFzdC9mb3Jtcy9kYXRldGltZWxvY2FsLW11bHRpcGxlLWZpZWxkcy9k
YXRldGltZWxvY2FsLW11bHRpcGxlLWZpZWxkcy1jbGVhcmJ1dHRvbi1jaGFuZ2UtYW5kLWlucHV0
LWV2ZW50cy5odG1sOiBSZW1vdmVkLgorICAgICAgICAqIGZhc3QvZm9ybXMvZGF0ZXRpbWVsb2Nh
bC1tdWx0aXBsZS1maWVsZHMvZGF0ZXRpbWVsb2NhbC1tdWx0aXBsZS1maWVsZHMtY2xlYXJidXR0
b24tdmlzaWJpbGl0eS1hZnRlci1yZXN0b3JlLWV4cGVjdGVkLmh0bWw6IFJlbW92ZWQuCisgICAg
ICAgICogZmFzdC9mb3Jtcy9kYXRldGltZWxvY2FsLW11bHRpcGxlLWZpZWxkcy9kYXRldGltZWxv
Y2FsLW11bHRpcGxlLWZpZWxkcy1jbGVhcmJ1dHRvbi12aXNpYmlsaXR5LWFmdGVyLXJlc3RvcmUu
aHRtbDogUmVtb3ZlZC4KKyAgICAgICAgKiBmYXN0L2Zvcm1zL2RhdGV0aW1lbG9jYWwtbXVsdGlw
bGUtZmllbGRzL2RhdGV0aW1lbG9jYWwtbXVsdGlwbGUtZmllbGRzLWZhbGxiYWNrLWZvcm1hdC1l
eHBlY3RlZC50eHQ6IFJlbW92ZWQuCisgICAgICAgICogZmFzdC9mb3Jtcy9kYXRldGltZWxvY2Fs
LW11bHRpcGxlLWZpZWxkcy9kYXRldGltZWxvY2FsLW11bHRpcGxlLWZpZWxkcy1mYWxsYmFjay1m
b3JtYXQuaHRtbDogUmVtb3ZlZC4KKyAgICAgICAgKiBmYXN0L2Zvcm1zL2RhdGV0aW1lbG9jYWwt
bXVsdGlwbGUtZmllbGRzL2RhdGV0aW1lbG9jYWwtbXVsdGlwbGUtZmllbGRzLWtleWJvYXJkLWV2
ZW50cy1leHBlY3RlZC50eHQ6IFJlbW92ZWQuCisgICAgICAgICogZmFzdC9mb3Jtcy9kYXRldGlt
ZWxvY2FsLW11bHRpcGxlLWZpZWxkcy9kYXRldGltZWxvY2FsLW11bHRpcGxlLWZpZWxkcy1rZXli
b2FyZC1ldmVudHMuaHRtbDogUmVtb3ZlZC4KKyAgICAgICAgKiBmYXN0L2Zvcm1zL2RhdGV0aW1l
bG9jYWwtbXVsdGlwbGUtZmllbGRzL2RhdGV0aW1lbG9jYWwtbXVsdGlwbGUtZmllbGRzLW1vdXNl
LWV2ZW50cy1leHBlY3RlZC50eHQ6IFJlbW92ZWQuCisgICAgICAgICogZmFzdC9mb3Jtcy9kYXRl
dGltZWxvY2FsLW11bHRpcGxlLWZpZWxkcy9kYXRldGltZWxvY2FsLW11bHRpcGxlLWZpZWxkcy1t
b3VzZS1ldmVudHMuaHRtbDogUmVtb3ZlZC4KKyAgICAgICAgKiBmYXN0L2Zvcm1zL2RhdGV0aW1l
bG9jYWwtbXVsdGlwbGUtZmllbGRzL2RhdGV0aW1lbG9jYWwtbXVsdGlwbGUtZmllbGRzLXByZXNl
cnZlLXZhbHVlLWFmdGVyLWhpc3RvcnktYmFjay1leHBlY3RlZC50eHQ6IFJlbW92ZWQuCisgICAg
ICAgICogZmFzdC9mb3Jtcy9kYXRldGltZWxvY2FsLW11bHRpcGxlLWZpZWxkcy9kYXRldGltZWxv
Y2FsLW11bHRpcGxlLWZpZWxkcy1wcmVzZXJ2ZS12YWx1ZS1hZnRlci1oaXN0b3J5LWJhY2suaHRt
bDogUmVtb3ZlZC4KKyAgICAgICAgKiBmYXN0L2Zvcm1zL2RhdGV0aW1lbG9jYWwtbXVsdGlwbGUt
ZmllbGRzL2RhdGV0aW1lbG9jYWwtbXVsdGlwbGUtZmllbGRzLXJlYWRvbmx5LXN1YmZpZWxkLWV4
cGVjdGVkLnR4dDogUmVtb3ZlZC4KKyAgICAgICAgKiBmYXN0L2Zvcm1zL2RhdGV0aW1lbG9jYWwt
bXVsdGlwbGUtZmllbGRzL2RhdGV0aW1lbG9jYWwtbXVsdGlwbGUtZmllbGRzLXJlYWRvbmx5LXN1
YmZpZWxkLmh0bWw6IFJlbW92ZWQuCisgICAgICAgICogZmFzdC9mb3Jtcy9kYXRldGltZWxvY2Fs
LW11bHRpcGxlLWZpZWxkcy9kYXRldGltZWxvY2FsLW11bHRpcGxlLWZpZWxkcy1yZXNldC12YWx1
ZS1hZnRlci1yZWxvYWRzLWV4cGVjdGVkLnR4dDogUmVtb3ZlZC4KKyAgICAgICAgKiBmYXN0L2Zv
cm1zL2RhdGV0aW1lbG9jYWwtbXVsdGlwbGUtZmllbGRzL2RhdGV0aW1lbG9jYWwtbXVsdGlwbGUt
ZmllbGRzLXJlc2V0LXZhbHVlLWFmdGVyLXJlbG9hZHMuaHRtbDogUmVtb3ZlZC4KKyAgICAgICAg
KiBmYXN0L2Zvcm1zL2RhdGV0aW1lbG9jYWwtbXVsdGlwbGUtZmllbGRzL2RhdGV0aW1lbG9jYWwt
bXVsdGlwbGUtZmllbGRzLXNwaW5idXR0b24tY2hhbmdlLWFuZC1pbnB1dC1ldmVudHMtZXhwZWN0
ZWQudHh0OiBSZW1vdmVkLgorICAgICAgICAqIGZhc3QvZm9ybXMvZGF0ZXRpbWVsb2NhbC1tdWx0
aXBsZS1maWVsZHMvZGF0ZXRpbWVsb2NhbC1tdWx0aXBsZS1maWVsZHMtc3BpbmJ1dHRvbi1jaGFu
Z2UtYW5kLWlucHV0LWV2ZW50cy5odG1sOiBSZW1vdmVkLgorICAgICAgICAqIGZhc3QvZm9ybXMv
ZGF0ZXRpbWVsb2NhbC1tdWx0aXBsZS1maWVsZHMvZGF0ZXRpbWVsb2NhbC1tdWx0aXBsZS1maWVs
ZHMtc3RlcHVwLXN0ZXBkb3duLWZyb20tcmVuZGVyZXItZXhwZWN0ZWQudHh0OiBSZW1vdmVkLgor
ICAgICAgICAqIGZhc3QvZm9ybXMvZGF0ZXRpbWVsb2NhbC1tdWx0aXBsZS1maWVsZHMvZGF0ZXRp
bWVsb2NhbC1tdWx0aXBsZS1maWVsZHMtc3RlcHVwLXN0ZXBkb3duLWZyb20tcmVuZGVyZXIuaHRt
bDogUmVtb3ZlZC4KKyAgICAgICAgKiBmYXN0L2Zvcm1zL2RhdGV0aW1lbG9jYWwtbXVsdGlwbGUt
ZmllbGRzL2RhdGV0aW1lbG9jYWwtbXVsdGlwbGUtZmllbGRzLXZhbGlkaXR5LWJhZGlucHV0LWV4
cGVjdGVkLnR4dDogUmVtb3ZlZC4KKyAgICAgICAgKiBmYXN0L2Zvcm1zL2RhdGV0aW1lbG9jYWwt
bXVsdGlwbGUtZmllbGRzL2RhdGV0aW1lbG9jYWwtbXVsdGlwbGUtZmllbGRzLXZhbGlkaXR5LWJh
ZGlucHV0Lmh0bWw6IFJlbW92ZWQuCisgICAgICAgICogZmFzdC9mb3Jtcy9kYXRldGltZWxvY2Fs
LW11bHRpcGxlLWZpZWxkcy9kYXRldGltZWxvY2FsLW11bHRpcGxlLWZpZWxkcy12YWx1ZS1zZXQt
ZW1wdHktZXhwZWN0ZWQudHh0OiBSZW1vdmVkLgorICAgICAgICAqIGZhc3QvZm9ybXMvZGF0ZXRp
bWVsb2NhbC1tdWx0aXBsZS1maWVsZHMvZGF0ZXRpbWVsb2NhbC1tdWx0aXBsZS1maWVsZHMtdmFs
dWUtc2V0LWVtcHR5Lmh0bWw6IFJlbW92ZWQuCisgICAgICAgICogZmFzdC9mb3Jtcy9kYXRldGlt
ZWxvY2FsLW11bHRpcGxlLWZpZWxkcy9kYXRldGltZWxvY2FsLW11bHRpcGxlLWZpZWxkcy13aGVl
bC1ldmVudC1leHBlY3RlZC50eHQ6IFJlbW92ZWQuCisgICAgICAgICogZmFzdC9mb3Jtcy9kYXRl
dGltZWxvY2FsLW11bHRpcGxlLWZpZWxkcy9kYXRldGltZWxvY2FsLW11bHRpcGxlLWZpZWxkcy13
aGVlbC1ldmVudC5odG1sOiBSZW1vdmVkLgorICAgICAgICAqIGZhc3QvZm9ybXMvZGF0ZXRpbWVs
b2NhbC1tdWx0aXBsZS1maWVsZHMvcmVzb3VyY2VzL3ByZXNlcnZlLXZhbHVlLWFmdGVyLWhpc3Rv
cnktYmFjay1mcmFtZS5odG1sOiBSZW1vdmVkLgorICAgICAgICAqIGZhc3QvZm9ybXMvbW9udGgt
bXVsdGlwbGUtZmllbGRzL21vbnRoLW11bHRpcGxlLWZpZWxkcy1heC1hcmlhLWF0dHJpYnV0ZXMt
ZXhwZWN0ZWQudHh0OiBSZW1vdmVkLgorICAgICAgICAqIGZhc3QvZm9ybXMvbW9udGgtbXVsdGlw
bGUtZmllbGRzL21vbnRoLW11bHRpcGxlLWZpZWxkcy1heC1hcmlhLWF0dHJpYnV0ZXMuaHRtbDog
UmVtb3ZlZC4KKyAgICAgICAgKiBmYXN0L2Zvcm1zL21vbnRoLW11bHRpcGxlLWZpZWxkcy9tb250
aC1tdWx0aXBsZS1maWVsZHMtYXgtdmFsdWUtY2hhbmdlZC1ub3RpZmljYXRpb24tZXhwZWN0ZWQu
dHh0OiBSZW1vdmVkLgorICAgICAgICAqIGZhc3QvZm9ybXMvbW9udGgtbXVsdGlwbGUtZmllbGRz
L21vbnRoLW11bHRpcGxlLWZpZWxkcy1heC12YWx1ZS1jaGFuZ2VkLW5vdGlmaWNhdGlvbi5odG1s
OiBSZW1vdmVkLgorICAgICAgICAqIGZhc3QvZm9ybXMvbW9udGgtbXVsdGlwbGUtZmllbGRzL21v
bnRoLW11bHRpcGxlLWZpZWxkcy1ibHVyLWFuZC1mb2N1cy1ldmVudHMtZXhwZWN0ZWQudHh0OiBS
ZW1vdmVkLgorICAgICAgICAqIGZhc3QvZm9ybXMvbW9udGgtbXVsdGlwbGUtZmllbGRzL21vbnRo
LW11bHRpcGxlLWZpZWxkcy1ibHVyLWFuZC1mb2N1cy1ldmVudHMuaHRtbDogUmVtb3ZlZC4KKyAg
ICAgICAgKiBmYXN0L2Zvcm1zL21vbnRoLW11bHRpcGxlLWZpZWxkcy9tb250aC1tdWx0aXBsZS1m
aWVsZHMtY2hhbmdlLWxheW91dC1ieS12YWx1ZS1leHBlY3RlZC50eHQ6IFJlbW92ZWQuCisgICAg
ICAgICogZmFzdC9mb3Jtcy9tb250aC1tdWx0aXBsZS1maWVsZHMvbW9udGgtbXVsdGlwbGUtZmll
bGRzLWNoYW5nZS1sYXlvdXQtYnktdmFsdWUuaHRtbDogUmVtb3ZlZC4KKyAgICAgICAgKiBmYXN0
L2Zvcm1zL21vbnRoLW11bHRpcGxlLWZpZWxkcy9tb250aC1tdWx0aXBsZS1maWVsZHMtY2xlYXJi
dXR0b24tY2hhbmdlLWFuZC1pbnB1dC1ldmVudHMtZXhwZWN0ZWQudHh0OiBSZW1vdmVkLgorICAg
ICAgICAqIGZhc3QvZm9ybXMvbW9udGgtbXVsdGlwbGUtZmllbGRzL21vbnRoLW11bHRpcGxlLWZp
ZWxkcy1jbGVhcmJ1dHRvbi1jaGFuZ2UtYW5kLWlucHV0LWV2ZW50cy5odG1sOiBSZW1vdmVkLgor
ICAgICAgICAqIGZhc3QvZm9ybXMvbW9udGgtbXVsdGlwbGUtZmllbGRzL21vbnRoLW11bHRpcGxl
LWZpZWxkcy1jbGVhcmJ1dHRvbi12aXNpYmlsaXR5LWFmdGVyLXJlc3RvcmUtZXhwZWN0ZWQuaHRt
bDogUmVtb3ZlZC4KKyAgICAgICAgKiBmYXN0L2Zvcm1zL21vbnRoLW11bHRpcGxlLWZpZWxkcy9t
b250aC1tdWx0aXBsZS1maWVsZHMtY2xlYXJidXR0b24tdmlzaWJpbGl0eS1hZnRlci1yZXN0b3Jl
Lmh0bWw6IFJlbW92ZWQuCisgICAgICAgICogZmFzdC9mb3Jtcy9tb250aC1tdWx0aXBsZS1maWVs
ZHMvbW9udGgtbXVsdGlwbGUtZmllbGRzLWZhbGxiYWNrLWZvcm1hdC1leHBlY3RlZC50eHQ6IFJl
bW92ZWQuCisgICAgICAgICogZmFzdC9mb3Jtcy9tb250aC1tdWx0aXBsZS1maWVsZHMvbW9udGgt
bXVsdGlwbGUtZmllbGRzLWZhbGxiYWNrLWZvcm1hdC5odG1sOiBSZW1vdmVkLgorICAgICAgICAq
IGZhc3QvZm9ybXMvbW9udGgtbXVsdGlwbGUtZmllbGRzL21vbnRoLW11bHRpcGxlLWZpZWxkcy1r
ZXlib2FyZC1ldmVudHMtZXhwZWN0ZWQudHh0OiBSZW1vdmVkLgorICAgICAgICAqIGZhc3QvZm9y
bXMvbW9udGgtbXVsdGlwbGUtZmllbGRzL21vbnRoLW11bHRpcGxlLWZpZWxkcy1rZXlib2FyZC1l
dmVudHMuaHRtbDogUmVtb3ZlZC4KKyAgICAgICAgKiBmYXN0L2Zvcm1zL21vbnRoLW11bHRpcGxl
LWZpZWxkcy9tb250aC1tdWx0aXBsZS1maWVsZHMtbW91c2UtZXZlbnRzLWV4cGVjdGVkLnR4dDog
UmVtb3ZlZC4KKyAgICAgICAgKiBmYXN0L2Zvcm1zL21vbnRoLW11bHRpcGxlLWZpZWxkcy9tb250
aC1tdWx0aXBsZS1maWVsZHMtbW91c2UtZXZlbnRzLmh0bWw6IFJlbW92ZWQuCisgICAgICAgICog
ZmFzdC9mb3Jtcy9tb250aC1tdWx0aXBsZS1maWVsZHMvbW9udGgtbXVsdGlwbGUtZmllbGRzLXBy
ZXNlcnZlLXZhbHVlLWFmdGVyLWhpc3RvcnktYmFjay1leHBlY3RlZC50eHQ6IFJlbW92ZWQuCisg
ICAgICAgICogZmFzdC9mb3Jtcy9tb250aC1tdWx0aXBsZS1maWVsZHMvbW9udGgtbXVsdGlwbGUt
ZmllbGRzLXByZXNlcnZlLXZhbHVlLWFmdGVyLWhpc3RvcnktYmFjay5odG1sOiBSZW1vdmVkLgor
ICAgICAgICAqIGZhc3QvZm9ybXMvbW9udGgtbXVsdGlwbGUtZmllbGRzL21vbnRoLW11bHRpcGxl
LWZpZWxkcy1yZWFkb25seS1zdWJmaWVsZC1leHBlY3RlZC50eHQ6IFJlbW92ZWQuCisgICAgICAg
ICogZmFzdC9mb3Jtcy9tb250aC1tdWx0aXBsZS1maWVsZHMvbW9udGgtbXVsdGlwbGUtZmllbGRz
LXJlYWRvbmx5LXN1YmZpZWxkLmh0bWw6IFJlbW92ZWQuCisgICAgICAgICogZmFzdC9mb3Jtcy9t
b250aC1tdWx0aXBsZS1maWVsZHMvbW9udGgtbXVsdGlwbGUtZmllbGRzLXJlc2V0LXZhbHVlLWFm
dGVyLXJlbG9hZHMtZXhwZWN0ZWQudHh0OiBSZW1vdmVkLgorICAgICAgICAqIGZhc3QvZm9ybXMv
bW9udGgtbXVsdGlwbGUtZmllbGRzL21vbnRoLW11bHRpcGxlLWZpZWxkcy1yZXNldC12YWx1ZS1h
ZnRlci1yZWxvYWRzLmh0bWw6IFJlbW92ZWQuCisgICAgICAgICogZmFzdC9mb3Jtcy9tb250aC1t
dWx0aXBsZS1maWVsZHMvbW9udGgtbXVsdGlwbGUtZmllbGRzLXNwaW5idXR0b24tY2hhbmdlLWFu
ZC1pbnB1dC1ldmVudHMtZXhwZWN0ZWQudHh0OiBSZW1vdmVkLgorICAgICAgICAqIGZhc3QvZm9y
bXMvbW9udGgtbXVsdGlwbGUtZmllbGRzL21vbnRoLW11bHRpcGxlLWZpZWxkcy1zcGluYnV0dG9u
LWNoYW5nZS1hbmQtaW5wdXQtZXZlbnRzLmh0bWw6IFJlbW92ZWQuCisgICAgICAgICogZmFzdC9m
b3Jtcy9tb250aC1tdWx0aXBsZS1maWVsZHMvbW9udGgtbXVsdGlwbGUtZmllbGRzLXN0ZXB1cC1z
dGVwZG93bi1mcm9tLXJlbmRlcmVyLWV4cGVjdGVkLnR4dDogUmVtb3ZlZC4KKyAgICAgICAgKiBm
YXN0L2Zvcm1zL21vbnRoLW11bHRpcGxlLWZpZWxkcy9tb250aC1tdWx0aXBsZS1maWVsZHMtc3Rl
cHVwLXN0ZXBkb3duLWZyb20tcmVuZGVyZXIuaHRtbDogUmVtb3ZlZC4KKyAgICAgICAgKiBmYXN0
L2Zvcm1zL21vbnRoLW11bHRpcGxlLWZpZWxkcy9tb250aC1tdWx0aXBsZS1maWVsZHMtdmFsaWRp
dHktYmFkaW5wdXQtZXhwZWN0ZWQudHh0OiBSZW1vdmVkLgorICAgICAgICAqIGZhc3QvZm9ybXMv
bW9udGgtbXVsdGlwbGUtZmllbGRzL21vbnRoLW11bHRpcGxlLWZpZWxkcy12YWxpZGl0eS1iYWRp
bnB1dC5odG1sOiBSZW1vdmVkLgorICAgICAgICAqIGZhc3QvZm9ybXMvbW9udGgtbXVsdGlwbGUt
ZmllbGRzL21vbnRoLW11bHRpcGxlLWZpZWxkcy12YWx1ZS1zZXQtZW1wdHktZXhwZWN0ZWQudHh0
OiBSZW1vdmVkLgorICAgICAgICAqIGZhc3QvZm9ybXMvbW9udGgtbXVsdGlwbGUtZmllbGRzL21v
bnRoLW11bHRpcGxlLWZpZWxkcy12YWx1ZS1zZXQtZW1wdHkuaHRtbDogUmVtb3ZlZC4KKyAgICAg
ICAgKiBmYXN0L2Zvcm1zL21vbnRoLW11bHRpcGxlLWZpZWxkcy9tb250aC1tdWx0aXBsZS1maWVs
ZHMtd2hlZWwtZXZlbnQtZXhwZWN0ZWQudHh0OiBSZW1vdmVkLgorICAgICAgICAqIGZhc3QvZm9y
bXMvbW9udGgtbXVsdGlwbGUtZmllbGRzL21vbnRoLW11bHRpcGxlLWZpZWxkcy13aGVlbC1ldmVu
dC5odG1sOiBSZW1vdmVkLgorICAgICAgICAqIGZhc3QvZm9ybXMvbW9udGgtbXVsdGlwbGUtZmll
bGRzL3Jlc291cmNlcy9wcmVzZXJ2ZS12YWx1ZS1hZnRlci1oaXN0b3J5LWJhY2stZnJhbWUuaHRt
bDogUmVtb3ZlZC4KKyAgICAgICAgKiBmYXN0L2Zvcm1zL3RpbWUtbXVsdGlwbGUtZmllbGRzL3Jl
c291cmNlcy9wcmVzZXJ2ZS12YWx1ZS1hZnRlci1oaXN0b3J5LWJhY2stZnJhbWUuaHRtbDogUmVt
b3ZlZC4KKyAgICAgICAgKiBmYXN0L2Zvcm1zL3RpbWUtbXVsdGlwbGUtZmllbGRzL3RpbWUtbXVs
dGlwbGUtZmllbGRzLWF4LWFyaWEtYXR0cmlidXRlcy1leHBlY3RlZC50eHQ6IFJlbW92ZWQuCisg
ICAgICAgICogZmFzdC9mb3Jtcy90aW1lLW11bHRpcGxlLWZpZWxkcy90aW1lLW11bHRpcGxlLWZp
ZWxkcy1heC1hcmlhLWF0dHJpYnV0ZXMuaHRtbDogUmVtb3ZlZC4KKyAgICAgICAgKiBmYXN0L2Zv
cm1zL3RpbWUtbXVsdGlwbGUtZmllbGRzL3RpbWUtbXVsdGlwbGUtZmllbGRzLWF4LXZhbHVlLWNo
YW5nZWQtbm90aWZpY2F0aW9uLWV4cGVjdGVkLnR4dDogUmVtb3ZlZC4KKyAgICAgICAgKiBmYXN0
L2Zvcm1zL3RpbWUtbXVsdGlwbGUtZmllbGRzL3RpbWUtbXVsdGlwbGUtZmllbGRzLWF4LXZhbHVl
LWNoYW5nZWQtbm90aWZpY2F0aW9uLmh0bWw6IFJlbW92ZWQuCisgICAgICAgICogZmFzdC9mb3Jt
cy90aW1lLW11bHRpcGxlLWZpZWxkcy90aW1lLW11bHRpcGxlLWZpZWxkcy1ibHVyLWFuZC1mb2N1
cy1ldmVudHMtZXhwZWN0ZWQudHh0OiBSZW1vdmVkLgorICAgICAgICAqIGZhc3QvZm9ybXMvdGlt
ZS1tdWx0aXBsZS1maWVsZHMvdGltZS1tdWx0aXBsZS1maWVsZHMtYmx1ci1hbmQtZm9jdXMtZXZl
bnRzLmh0bWw6IFJlbW92ZWQuCisgICAgICAgICogZmFzdC9mb3Jtcy90aW1lLW11bHRpcGxlLWZp
ZWxkcy90aW1lLW11bHRpcGxlLWZpZWxkcy1jaGFuZ2UtbGF5b3V0LWJ5LXZhbHVlLWV4cGVjdGVk
LnR4dDogUmVtb3ZlZC4KKyAgICAgICAgKiBmYXN0L2Zvcm1zL3RpbWUtbXVsdGlwbGUtZmllbGRz
L3RpbWUtbXVsdGlwbGUtZmllbGRzLWNoYW5nZS1sYXlvdXQtYnktdmFsdWUuaHRtbDogUmVtb3Zl
ZC4KKyAgICAgICAgKiBmYXN0L2Zvcm1zL3RpbWUtbXVsdGlwbGUtZmllbGRzL3RpbWUtbXVsdGlw
bGUtZmllbGRzLWNoYW5nZS10eXBlLWV4cGVjdGVkLnR4dDogUmVtb3ZlZC4KKyAgICAgICAgKiBm
YXN0L2Zvcm1zL3RpbWUtbXVsdGlwbGUtZmllbGRzL3RpbWUtbXVsdGlwbGUtZmllbGRzLWNoYW5n
ZS10eXBlLW9uLWZvY3VzLTItZXhwZWN0ZWQudHh0OiBSZW1vdmVkLgorICAgICAgICAqIGZhc3Qv
Zm9ybXMvdGltZS1tdWx0aXBsZS1maWVsZHMvdGltZS1tdWx0aXBsZS1maWVsZHMtY2hhbmdlLXR5
cGUtb24tZm9jdXMtMi5odG1sOiBSZW1vdmVkLgorICAgICAgICAqIGZhc3QvZm9ybXMvdGltZS1t
dWx0aXBsZS1maWVsZHMvdGltZS1tdWx0aXBsZS1maWVsZHMtY2hhbmdlLXR5cGUtb24tZm9jdXMt
ZXhwZWN0ZWQudHh0OiBSZW1vdmVkLgorICAgICAgICAqIGZhc3QvZm9ybXMvdGltZS1tdWx0aXBs
ZS1maWVsZHMvdGltZS1tdWx0aXBsZS1maWVsZHMtY2hhbmdlLXR5cGUtb24tZm9jdXMuaHRtbDog
UmVtb3ZlZC4KKyAgICAgICAgKiBmYXN0L2Zvcm1zL3RpbWUtbXVsdGlwbGUtZmllbGRzL3RpbWUt
bXVsdGlwbGUtZmllbGRzLWNoYW5nZS10eXBlLmh0bWw6IFJlbW92ZWQuCisgICAgICAgICogZmFz
dC9mb3Jtcy90aW1lLW11bHRpcGxlLWZpZWxkcy90aW1lLW11bHRpcGxlLWZpZWxkcy1jbGVhcmJ1
dHRvbi1jaGFuZ2UtYW5kLWlucHV0LWV2ZW50cy1leHBlY3RlZC50eHQ6IFJlbW92ZWQuCisgICAg
ICAgICogZmFzdC9mb3Jtcy90aW1lLW11bHRpcGxlLWZpZWxkcy90aW1lLW11bHRpcGxlLWZpZWxk
cy1jbGVhcmJ1dHRvbi1jaGFuZ2UtYW5kLWlucHV0LWV2ZW50cy5odG1sOiBSZW1vdmVkLgorICAg
ICAgICAqIGZhc3QvZm9ybXMvdGltZS1tdWx0aXBsZS1maWVsZHMvdGltZS1tdWx0aXBsZS1maWVs
ZHMtY2xlYXJidXR0b24tdmlzaWJpbGl0eS1hZnRlci1yZXN0b3JlLWV4cGVjdGVkLmh0bWw6IFJl
bW92ZWQuCisgICAgICAgICogZmFzdC9mb3Jtcy90aW1lLW11bHRpcGxlLWZpZWxkcy90aW1lLW11
bHRpcGxlLWZpZWxkcy1jbGVhcmJ1dHRvbi12aXNpYmlsaXR5LWFmdGVyLXJlc3RvcmUuaHRtbDog
UmVtb3ZlZC4KKyAgICAgICAgKiBmYXN0L2Zvcm1zL3RpbWUtbXVsdGlwbGUtZmllbGRzL3RpbWUt
bXVsdGlwbGUtZmllbGRzLWNyYXNoLWFmdGVyLWFkb3B0bm9kZS1leHBlY3RlZC50eHQ6IFJlbW92
ZWQuCisgICAgICAgICogZmFzdC9mb3Jtcy90aW1lLW11bHRpcGxlLWZpZWxkcy90aW1lLW11bHRp
cGxlLWZpZWxkcy1jcmFzaC1hZnRlci1hZG9wdG5vZGUuaHRtbDogUmVtb3ZlZC4KKyAgICAgICAg
KiBmYXN0L2Zvcm1zL3RpbWUtbXVsdGlwbGUtZmllbGRzL3RpbWUtbXVsdGlwbGUtZmllbGRzLWZh
bGxiYWNrLWZvcm1hdC1leHBlY3RlZC50eHQ6IFJlbW92ZWQuCisgICAgICAgICogZmFzdC9mb3Jt
cy90aW1lLW11bHRpcGxlLWZpZWxkcy90aW1lLW11bHRpcGxlLWZpZWxkcy1mYWxsYmFjay1mb3Jt
YXQuaHRtbDogUmVtb3ZlZC4KKyAgICAgICAgKiBmYXN0L2Zvcm1zL3RpbWUtbXVsdGlwbGUtZmll
bGRzL3RpbWUtbXVsdGlwbGUtZmllbGRzLWZvY3VzLWV4cGVjdGVkLnR4dDogUmVtb3ZlZC4KKyAg
ICAgICAgKiBmYXN0L2Zvcm1zL3RpbWUtbXVsdGlwbGUtZmllbGRzL3RpbWUtbXVsdGlwbGUtZmll
bGRzLWZvY3VzLXN0eWxlLWV4cGVjdGVkLnR4dDogUmVtb3ZlZC4KKyAgICAgICAgKiBmYXN0L2Zv
cm1zL3RpbWUtbXVsdGlwbGUtZmllbGRzL3RpbWUtbXVsdGlwbGUtZmllbGRzLWZvY3VzLXN0eWxl
Lmh0bWw6IFJlbW92ZWQuCisgICAgICAgICogZmFzdC9mb3Jtcy90aW1lLW11bHRpcGxlLWZpZWxk
cy90aW1lLW11bHRpcGxlLWZpZWxkcy1mb2N1cy5odG1sOiBSZW1vdmVkLgorICAgICAgICAqIGZh
c3QvZm9ybXMvdGltZS1tdWx0aXBsZS1maWVsZHMvdGltZS1tdWx0aXBsZS1maWVsZHMta2V5Ym9h
cmQtZXZlbnRzLWV4cGVjdGVkLnR4dDogUmVtb3ZlZC4KKyAgICAgICAgKiBmYXN0L2Zvcm1zL3Rp
bWUtbXVsdGlwbGUtZmllbGRzL3RpbWUtbXVsdGlwbGUtZmllbGRzLWtleWJvYXJkLWV2ZW50cy5o
dG1sOiBSZW1vdmVkLgorICAgICAgICAqIGZhc3QvZm9ybXMvdGltZS1tdWx0aXBsZS1maWVsZHMv
dGltZS1tdWx0aXBsZS1maWVsZHMtbG9jYWxpemF0aW9uLmh0bWw6IFJlbW92ZWQuCisgICAgICAg
ICogZmFzdC9mb3Jtcy90aW1lLW11bHRpcGxlLWZpZWxkcy90aW1lLW11bHRpcGxlLWZpZWxkcy1s
b3NpbmctcmVuZGVyZXItb24tY2xpY2stZXhwZWN0ZWQudHh0OiBSZW1vdmVkLgorICAgICAgICAq
IGZhc3QvZm9ybXMvdGltZS1tdWx0aXBsZS1maWVsZHMvdGltZS1tdWx0aXBsZS1maWVsZHMtbG9z
aW5nLXJlbmRlcmVyLW9uLWNsaWNrLmh0bWw6IFJlbW92ZWQuCisgICAgICAgICogZmFzdC9mb3Jt
cy90aW1lLW11bHRpcGxlLWZpZWxkcy90aW1lLW11bHRpcGxlLWZpZWxkcy1tb3VzZS1ldmVudHMt
ZXhwZWN0ZWQudHh0OiBSZW1vdmVkLgorICAgICAgICAqIGZhc3QvZm9ybXMvdGltZS1tdWx0aXBs
ZS1maWVsZHMvdGltZS1tdWx0aXBsZS1maWVsZHMtbW91c2UtZXZlbnRzLmh0bWw6IFJlbW92ZWQu
CisgICAgICAgICogZmFzdC9mb3Jtcy90aW1lLW11bHRpcGxlLWZpZWxkcy90aW1lLW11bHRpcGxl
LWZpZWxkcy1uYXJyb3ctd2lkdGgtc2Nyb2xsLWV4cGVjdGVkLnR4dDogUmVtb3ZlZC4KKyAgICAg
ICAgKiBmYXN0L2Zvcm1zL3RpbWUtbXVsdGlwbGUtZmllbGRzL3RpbWUtbXVsdGlwbGUtZmllbGRz
LW5hcnJvdy13aWR0aC1zY3JvbGwuaHRtbDogUmVtb3ZlZC4KKyAgICAgICAgKiBmYXN0L2Zvcm1z
L3RpbWUtbXVsdGlwbGUtZmllbGRzL3RpbWUtbXVsdGlwbGUtZmllbGRzLXByZXNlcnZlLXZhbHVl
LWFmdGVyLWhpc3RvcnktYmFjay1leHBlY3RlZC50eHQ6IFJlbW92ZWQuCisgICAgICAgICogZmFz
dC9mb3Jtcy90aW1lLW11bHRpcGxlLWZpZWxkcy90aW1lLW11bHRpcGxlLWZpZWxkcy1wcmVzZXJ2
ZS12YWx1ZS1hZnRlci1oaXN0b3J5LWJhY2suaHRtbDogUmVtb3ZlZC4KKyAgICAgICAgKiBmYXN0
L2Zvcm1zL3RpbWUtbXVsdGlwbGUtZmllbGRzL3RpbWUtbXVsdGlwbGUtZmllbGRzLXJlYWRvbmx5
LXN1YmZpZWxkLWV4cGVjdGVkLnR4dDogUmVtb3ZlZC4KKyAgICAgICAgKiBmYXN0L2Zvcm1zL3Rp
bWUtbXVsdGlwbGUtZmllbGRzL3RpbWUtbXVsdGlwbGUtZmllbGRzLXJlYWRvbmx5LXN1YmZpZWxk
Lmh0bWw6IFJlbW92ZWQuCisgICAgICAgICogZmFzdC9mb3Jtcy90aW1lLW11bHRpcGxlLWZpZWxk
cy90aW1lLW11bHRpcGxlLWZpZWxkcy1yZXNldC12YWx1ZS1hZnRlci1yZWxvYWQtZXhwZWN0ZWQu
dHh0OiBSZW1vdmVkLgorICAgICAgICAqIGZhc3QvZm9ybXMvdGltZS1tdWx0aXBsZS1maWVsZHMv
dGltZS1tdWx0aXBsZS1maWVsZHMtcmVzZXQtdmFsdWUtYWZ0ZXItcmVsb2FkLmh0bWw6IFJlbW92
ZWQuCisgICAgICAgICogZmFzdC9mb3Jtcy90aW1lLW11bHRpcGxlLWZpZWxkcy90aW1lLW11bHRp
cGxlLWZpZWxkcy1zcGluYnV0dG9uLWNoYW5nZS1hbmQtaW5wdXQtZXZlbnRzLWV4cGVjdGVkLnR4
dDogUmVtb3ZlZC4KKyAgICAgICAgKiBmYXN0L2Zvcm1zL3RpbWUtbXVsdGlwbGUtZmllbGRzL3Rp
bWUtbXVsdGlwbGUtZmllbGRzLXNwaW5idXR0b24tY2hhbmdlLWFuZC1pbnB1dC1ldmVudHMuaHRt
bDogUmVtb3ZlZC4KKyAgICAgICAgKiBmYXN0L2Zvcm1zL3RpbWUtbXVsdGlwbGUtZmllbGRzL3Rp
bWUtbXVsdGlwbGUtZmllbGRzLXNwaW5idXR0b24tY2xpY2staW4taWZyYW1lLWV4cGVjdGVkLnR4
dDogUmVtb3ZlZC4KKyAgICAgICAgKiBmYXN0L2Zvcm1zL3RpbWUtbXVsdGlwbGUtZmllbGRzL3Rp
bWUtbXVsdGlwbGUtZmllbGRzLXNwaW5idXR0b24tY2xpY2staW4taWZyYW1lLmh0bWw6IFJlbW92
ZWQuCisgICAgICAgICogZmFzdC9mb3Jtcy90aW1lLW11bHRpcGxlLWZpZWxkcy90aW1lLW11bHRp
cGxlLWZpZWxkcy1zdGF0ZS1jaGFuZ2Utb24tZm9jdXMtb3ItYmx1ci1leHBlY3RlZC50eHQ6IFJl
bW92ZWQuCisgICAgICAgICogZmFzdC9mb3Jtcy90aW1lLW11bHRpcGxlLWZpZWxkcy90aW1lLW11
bHRpcGxlLWZpZWxkcy1zdGF0ZS1jaGFuZ2Utb24tZm9jdXMtb3ItYmx1ci5odG1sOiBSZW1vdmVk
LgorICAgICAgICAqIGZhc3QvZm9ybXMvdGltZS1tdWx0aXBsZS1maWVsZHMvdGltZS1tdWx0aXBs
ZS1maWVsZHMtc3RhdGljLXJlbGF5b3V0LWV4cGVjdGVkLnR4dDogUmVtb3ZlZC4KKyAgICAgICAg
KiBmYXN0L2Zvcm1zL3RpbWUtbXVsdGlwbGUtZmllbGRzL3RpbWUtbXVsdGlwbGUtZmllbGRzLXN0
YXRpYy1yZWxheW91dC5odG1sOiBSZW1vdmVkLgorICAgICAgICAqIGZhc3QvZm9ybXMvdGltZS1t
dWx0aXBsZS1maWVsZHMvdGltZS1tdWx0aXBsZS1maWVsZHMtc3RlcC1hdHRyaWJ1dGUtZXhwZWN0
ZWQudHh0OiBSZW1vdmVkLgorICAgICAgICAqIGZhc3QvZm9ybXMvdGltZS1tdWx0aXBsZS1maWVs
ZHMvdGltZS1tdWx0aXBsZS1maWVsZHMtc3RlcC1hdHRyaWJ1dGUuaHRtbDogUmVtb3ZlZC4KKyAg
ICAgICAgKiBmYXN0L2Zvcm1zL3RpbWUtbXVsdGlwbGUtZmllbGRzL3RpbWUtbXVsdGlwbGUtZmll
bGRzLXN0ZXB1cC1zdGVwZG93bi1mcm9tLXJlbmRlcmVyLWV4cGVjdGVkLnR4dDogUmVtb3ZlZC4K
KyAgICAgICAgKiBmYXN0L2Zvcm1zL3RpbWUtbXVsdGlwbGUtZmllbGRzL3RpbWUtbXVsdGlwbGUt
ZmllbGRzLXN0ZXB1cC1zdGVwZG93bi1mcm9tLXJlbmRlcmVyLmh0bWw6IFJlbW92ZWQuCisgICAg
ICAgICogZmFzdC9mb3Jtcy90aW1lLW11bHRpcGxlLWZpZWxkcy90aW1lLW11bHRpcGxlLWZpZWxk
cy10YWJpbmRleC1leHBlY3RlZC50eHQ6IFJlbW92ZWQuCisgICAgICAgICogZmFzdC9mb3Jtcy90
aW1lLW11bHRpcGxlLWZpZWxkcy90aW1lLW11bHRpcGxlLWZpZWxkcy10YWJpbmRleC5odG1sOiBS
ZW1vdmVkLgorICAgICAgICAqIGZhc3QvZm9ybXMvdGltZS1tdWx0aXBsZS1maWVsZHMvdGltZS1t
dWx0aXBsZS1maWVsZHMtdmFsaWRpdHktYmFkaW5wdXQtZXhwZWN0ZWQudHh0OiBSZW1vdmVkLgor
ICAgICAgICAqIGZhc3QvZm9ybXMvdGltZS1tdWx0aXBsZS1maWVsZHMvdGltZS1tdWx0aXBsZS1m
aWVsZHMtdmFsaWRpdHktYmFkaW5wdXQuaHRtbDogUmVtb3ZlZC4KKyAgICAgICAgKiBmYXN0L2Zv
cm1zL3RpbWUtbXVsdGlwbGUtZmllbGRzL3RpbWUtbXVsdGlwbGUtZmllbGRzLXZhbHVlLXNldC1l
bXB0eS1leHBlY3RlZC50eHQ6IFJlbW92ZWQuCisgICAgICAgICogZmFzdC9mb3Jtcy90aW1lLW11
bHRpcGxlLWZpZWxkcy90aW1lLW11bHRpcGxlLWZpZWxkcy12YWx1ZS1zZXQtZW1wdHkuaHRtbDog
UmVtb3ZlZC4KKyAgICAgICAgKiBmYXN0L2Zvcm1zL3RpbWUtbXVsdGlwbGUtZmllbGRzL3RpbWUt
bXVsdGlwbGUtZmllbGRzLXdoZWVsLWV2ZW50LWV4cGVjdGVkLnR4dDogUmVtb3ZlZC4KKyAgICAg
ICAgKiBmYXN0L2Zvcm1zL3RpbWUtbXVsdGlwbGUtZmllbGRzL3RpbWUtbXVsdGlwbGUtZmllbGRz
LXdoZWVsLWV2ZW50Lmh0bWw6IFJlbW92ZWQuCisgICAgICAgICogZmFzdC9mb3Jtcy93ZWVrLW11
bHRpcGxlLWZpZWxkcy9yZXNvdXJjZXMvcHJlc2VydmUtdmFsdWUtYWZ0ZXItaGlzdG9yeS1iYWNr
LWZyYW1lLmh0bWw6IFJlbW92ZWQuCisgICAgICAgICogZmFzdC9mb3Jtcy93ZWVrLW11bHRpcGxl
LWZpZWxkcy93ZWVrLW11bHRpcGxlLWZpZWxkcy1heC1hcmlhLWF0dHJpYnV0ZXMtZXhwZWN0ZWQu
dHh0OiBSZW1vdmVkLgorICAgICAgICAqIGZhc3QvZm9ybXMvd2Vlay1tdWx0aXBsZS1maWVsZHMv
d2Vlay1tdWx0aXBsZS1maWVsZHMtYXgtYXJpYS1hdHRyaWJ1dGVzLmh0bWw6IFJlbW92ZWQuCisg
ICAgICAgICogZmFzdC9mb3Jtcy93ZWVrLW11bHRpcGxlLWZpZWxkcy93ZWVrLW11bHRpcGxlLWZp
ZWxkcy1heC12YWx1ZS1jaGFuZ2VkLW5vdGlmaWNhdGlvbi1leHBlY3RlZC50eHQ6IFJlbW92ZWQu
CisgICAgICAgICogZmFzdC9mb3Jtcy93ZWVrLW11bHRpcGxlLWZpZWxkcy93ZWVrLW11bHRpcGxl
LWZpZWxkcy1heC12YWx1ZS1jaGFuZ2VkLW5vdGlmaWNhdGlvbi5odG1sOiBSZW1vdmVkLgorICAg
ICAgICAqIGZhc3QvZm9ybXMvd2Vlay1tdWx0aXBsZS1maWVsZHMvd2Vlay1tdWx0aXBsZS1maWVs
ZHMtYmx1ci1hbmQtZm9jdXMtZXZlbnRzLWV4cGVjdGVkLnR4dDogUmVtb3ZlZC4KKyAgICAgICAg
KiBmYXN0L2Zvcm1zL3dlZWstbXVsdGlwbGUtZmllbGRzL3dlZWstbXVsdGlwbGUtZmllbGRzLWJs
dXItYW5kLWZvY3VzLWV2ZW50cy5odG1sOiBSZW1vdmVkLgorICAgICAgICAqIGZhc3QvZm9ybXMv
d2Vlay1tdWx0aXBsZS1maWVsZHMvd2Vlay1tdWx0aXBsZS1maWVsZHMtY2hhbmdlLWxheW91dC1i
eS12YWx1ZS1leHBlY3RlZC50eHQ6IFJlbW92ZWQuCisgICAgICAgICogZmFzdC9mb3Jtcy93ZWVr
LW11bHRpcGxlLWZpZWxkcy93ZWVrLW11bHRpcGxlLWZpZWxkcy1jaGFuZ2UtbGF5b3V0LWJ5LXZh
bHVlLmh0bWw6IFJlbW92ZWQuCisgICAgICAgICogZmFzdC9mb3Jtcy93ZWVrLW11bHRpcGxlLWZp
ZWxkcy93ZWVrLW11bHRpcGxlLWZpZWxkcy1jbGVhcmJ1dHRvbi1jaGFuZ2UtYW5kLWlucHV0LWV2
ZW50cy1leHBlY3RlZC50eHQ6IFJlbW92ZWQuCisgICAgICAgICogZmFzdC9mb3Jtcy93ZWVrLW11
bHRpcGxlLWZpZWxkcy93ZWVrLW11bHRpcGxlLWZpZWxkcy1jbGVhcmJ1dHRvbi1jaGFuZ2UtYW5k
LWlucHV0LWV2ZW50cy5odG1sOiBSZW1vdmVkLgorICAgICAgICAqIGZhc3QvZm9ybXMvd2Vlay1t
dWx0aXBsZS1maWVsZHMvd2Vlay1tdWx0aXBsZS1maWVsZHMtY2xlYXJidXR0b24tdmlzaWJpbGl0
eS1hZnRlci1yZXN0b3JlLWV4cGVjdGVkLmh0bWw6IFJlbW92ZWQuCisgICAgICAgICogZmFzdC9m
b3Jtcy93ZWVrLW11bHRpcGxlLWZpZWxkcy93ZWVrLW11bHRpcGxlLWZpZWxkcy1jbGVhcmJ1dHRv
bi12aXNpYmlsaXR5LWFmdGVyLXJlc3RvcmUuaHRtbDogUmVtb3ZlZC4KKyAgICAgICAgKiBmYXN0
L2Zvcm1zL3dlZWstbXVsdGlwbGUtZmllbGRzL3dlZWstbXVsdGlwbGUtZmllbGRzLWZhbGxiYWNr
LWZvcm1hdC1leHBlY3RlZC50eHQ6IFJlbW92ZWQuCisgICAgICAgICogZmFzdC9mb3Jtcy93ZWVr
LW11bHRpcGxlLWZpZWxkcy93ZWVrLW11bHRpcGxlLWZpZWxkcy1mYWxsYmFjay1mb3JtYXQuaHRt
bDogUmVtb3ZlZC4KKyAgICAgICAgKiBmYXN0L2Zvcm1zL3dlZWstbXVsdGlwbGUtZmllbGRzL3dl
ZWstbXVsdGlwbGUtZmllbGRzLWtleWJvYXJkLWV2ZW50cy1leHBlY3RlZC50eHQ6IFJlbW92ZWQu
CisgICAgICAgICogZmFzdC9mb3Jtcy93ZWVrLW11bHRpcGxlLWZpZWxkcy93ZWVrLW11bHRpcGxl
LWZpZWxkcy1rZXlib2FyZC1ldmVudHMuaHRtbDogUmVtb3ZlZC4KKyAgICAgICAgKiBmYXN0L2Zv
cm1zL3dlZWstbXVsdGlwbGUtZmllbGRzL3dlZWstbXVsdGlwbGUtZmllbGRzLW1vdXNlLWV2ZW50
cy1leHBlY3RlZC50eHQ6IFJlbW92ZWQuCisgICAgICAgICogZmFzdC9mb3Jtcy93ZWVrLW11bHRp
cGxlLWZpZWxkcy93ZWVrLW11bHRpcGxlLWZpZWxkcy1tb3VzZS1ldmVudHMuaHRtbDogUmVtb3Zl
ZC4KKyAgICAgICAgKiBmYXN0L2Zvcm1zL3dlZWstbXVsdGlwbGUtZmllbGRzL3dlZWstbXVsdGlw
bGUtZmllbGRzLXByZXNlcnZlLXZhbHVlLWFmdGVyLWhpc3RvcnktYmFjay1leHBlY3RlZC50eHQ6
IFJlbW92ZWQuCisgICAgICAgICogZmFzdC9mb3Jtcy93ZWVrLW11bHRpcGxlLWZpZWxkcy93ZWVr
LW11bHRpcGxlLWZpZWxkcy1wcmVzZXJ2ZS12YWx1ZS1hZnRlci1oaXN0b3J5LWJhY2suaHRtbDog
UmVtb3ZlZC4KKyAgICAgICAgKiBmYXN0L2Zvcm1zL3dlZWstbXVsdGlwbGUtZmllbGRzL3dlZWst
bXVsdGlwbGUtZmllbGRzLXJlYWRvbmx5LXN1YmZpZWxkLWV4cGVjdGVkLnR4dDogUmVtb3ZlZC4K
KyAgICAgICAgKiBmYXN0L2Zvcm1zL3dlZWstbXVsdGlwbGUtZmllbGRzL3dlZWstbXVsdGlwbGUt
ZmllbGRzLXJlYWRvbmx5LXN1YmZpZWxkLmh0bWw6IFJlbW92ZWQuCisgICAgICAgICogZmFzdC9m
b3Jtcy93ZWVrLW11bHRpcGxlLWZpZWxkcy93ZWVrLW11bHRpcGxlLWZpZWxkcy1yZXNldC12YWx1
ZS1hZnRlci1yZWxvYWRzLWV4cGVjdGVkLnR4dDogUmVtb3ZlZC4KKyAgICAgICAgKiBmYXN0L2Zv
cm1zL3dlZWstbXVsdGlwbGUtZmllbGRzL3dlZWstbXVsdGlwbGUtZmllbGRzLXJlc2V0LXZhbHVl
LWFmdGVyLXJlbG9hZHMuaHRtbDogUmVtb3ZlZC4KKyAgICAgICAgKiBmYXN0L2Zvcm1zL3dlZWst
bXVsdGlwbGUtZmllbGRzL3dlZWstbXVsdGlwbGUtZmllbGRzLXNwaW5idXR0b24tY2hhbmdlLWFu
ZC1pbnB1dC1ldmVudHMtZXhwZWN0ZWQudHh0OiBSZW1vdmVkLgorICAgICAgICAqIGZhc3QvZm9y
bXMvd2Vlay1tdWx0aXBsZS1maWVsZHMvd2Vlay1tdWx0aXBsZS1maWVsZHMtc3BpbmJ1dHRvbi1j
aGFuZ2UtYW5kLWlucHV0LWV2ZW50cy5odG1sOiBSZW1vdmVkLgorICAgICAgICAqIGZhc3QvZm9y
bXMvd2Vlay1tdWx0aXBsZS1maWVsZHMvd2Vlay1tdWx0aXBsZS1maWVsZHMtc3RlcHVwLXN0ZXBk
b3duLWZyb20tcmVuZGVyZXItZXhwZWN0ZWQudHh0OiBSZW1vdmVkLgorICAgICAgICAqIGZhc3Qv
Zm9ybXMvd2Vlay1tdWx0aXBsZS1maWVsZHMvd2Vlay1tdWx0aXBsZS1maWVsZHMtc3RlcHVwLXN0
ZXBkb3duLWZyb20tcmVuZGVyZXIuaHRtbDogUmVtb3ZlZC4KKyAgICAgICAgKiBmYXN0L2Zvcm1z
L3dlZWstbXVsdGlwbGUtZmllbGRzL3dlZWstbXVsdGlwbGUtZmllbGRzLXZhbGlkaXR5LWJhZGlu
cHV0LWV4cGVjdGVkLnR4dDogUmVtb3ZlZC4KKyAgICAgICAgKiBmYXN0L2Zvcm1zL3dlZWstbXVs
dGlwbGUtZmllbGRzL3dlZWstbXVsdGlwbGUtZmllbGRzLXZhbGlkaXR5LWJhZGlucHV0Lmh0bWw6
IFJlbW92ZWQuCisgICAgICAgICogZmFzdC9mb3Jtcy93ZWVrLW11bHRpcGxlLWZpZWxkcy93ZWVr
LW11bHRpcGxlLWZpZWxkcy12YWx1ZS1zZXQtZW1wdHktZXhwZWN0ZWQudHh0OiBSZW1vdmVkLgor
ICAgICAgICAqIGZhc3QvZm9ybXMvd2Vlay1tdWx0aXBsZS1maWVsZHMvd2Vlay1tdWx0aXBsZS1m
aWVsZHMtdmFsdWUtc2V0LWVtcHR5Lmh0bWw6IFJlbW92ZWQuCisgICAgICAgICogZmFzdC9mb3Jt
cy93ZWVrLW11bHRpcGxlLWZpZWxkcy93ZWVrLW11bHRpcGxlLWZpZWxkcy13aGVlbC1ldmVudC1l
eHBlY3RlZC50eHQ6IFJlbW92ZWQuCisgICAgICAgICogZmFzdC9mb3Jtcy93ZWVrLW11bHRpcGxl
LWZpZWxkcy93ZWVrLW11bHRpcGxlLWZpZWxkcy13aGVlbC1ldmVudC5odG1sOiBSZW1vdmVkLgor
ICAgICAgICAqIHBsYXRmb3JtL2VmbC9UZXN0RXhwZWN0YXRpb25zOgorICAgICAgICAqIHBsYXRm
b3JtL2d0ay9UZXN0RXhwZWN0YXRpb25zOgorICAgICAgICAqIHBsYXRmb3JtL21hYy9UZXN0RXhw
ZWN0YXRpb25zOgorICAgICAgICAqIHBsYXRmb3JtL3F0L1Rlc3RFeHBlY3RhdGlvbnM6CisgICAg
ICAgICogcGxhdGZvcm0vd2luL1Rlc3RFeHBlY3RhdGlvbnM6CisgICAgICAgICogcGxhdGZvcm0v
d2luY2Fpcm8vVGVzdEV4cGVjdGF0aW9uczoKKwogMjAxMy0wNS0yOSAgUmFkdSBTdGF2aWxhICA8
c3RhdmlsYUBhZG9iZS5jb20+CiAKICAgICAgICAgW0NTUyBSZWdpb25zXSBNb3VzZSBvdmVyIGFu
IGVsZW1lbnQgZG9lcyBub3QgdHJpZ2dlciA6aG92ZXIgc3RhdGUgZm9yIHBhcmVudCB3aGVuIHRo
ZSBlbGVtZW50IGlzIGZsb3dlZCBpbiBhIHJlZ2lvbgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZmFzdC9mb3Jtcy9kYXRlLW11bHRpcGxlLWZpZWxkcy9kYXRlLW11bHRpcGxlLWZpZWxkcy1heC1h
cmlhLWF0dHJpYnV0ZXMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9kYXRl
LW11bHRpcGxlLWZpZWxkcy9kYXRlLW11bHRpcGxlLWZpZWxkcy1heC1hcmlhLWF0dHJpYnV0ZXMt
ZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBlM2UyZGUzNjhjNWE0
NTY3NGQxNmI5NWZkZWZmZDgwNzk0MGRjNmQ1Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvZGF0ZS1tdWx0aXBsZS1m
aWVsZHMvZGF0ZS1tdWx0aXBsZS1maWVsZHMtYXgtYXJpYS1hdHRyaWJ1dGVzLWV4cGVjdGVkLnR4
dAorKysgL2Rldi9udWxsCkBAIC0xLDIyICswLDAgQEAKLVRoaXMgdGVzdCBjaGVja3MgYXJpYS1o
ZWxwIGF0dHJpYnV0ZSBvZiBmaWVsZHMgaW4gbXVsdGlwbGUgZmllbGRzIGRhdGUgaW5wdXQgVUku
Ci0KLU9uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMs
IGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KLQotCi1Jbml0aWFsIGVtcHR5IHN0YXRlCi1Q
QVNTIGZvY3VzZWRFbGVtZW50RGVzY3JpcHRpb24oKSBpcyAiQVhIZWxwOiBNb250aCwgQVhWYWx1
ZURlc2NyaXB0aW9uOiBibGFuaywgaW50VmFsdWU6MCwgcmFuZ2U6MS0xMiIKLVBBU1MgZm9jdXNl
ZEVsZW1lbnREZXNjcmlwdGlvbigpIGlzICJBWEhlbHA6IERheSwgQVhWYWx1ZURlc2NyaXB0aW9u
OiBibGFuaywgaW50VmFsdWU6MCwgcmFuZ2U6MS0zMSIKLVBBU1MgZm9jdXNlZEVsZW1lbnREZXNj
cmlwdGlvbigpIGlzICJBWEhlbHA6IFllYXIsIEFYVmFsdWVEZXNjcmlwdGlvbjogYmxhbmssIGlu
dFZhbHVlOjAsIHJhbmdlOjEtMjc1NzYwIgotTm9uLWVtcHR5IHZhbHVlCi1QQVNTIGZvY3VzZWRF
bGVtZW50RGVzY3JpcHRpb24oKSBpcyAiQVhIZWxwOiBNb250aCwgQVhWYWx1ZURlc2NyaXB0aW9u
OiAxMCwgaW50VmFsdWU6MTAsIHJhbmdlOjEtMTIiCi1QQVNTIGZvY3VzZWRFbGVtZW50RGVzY3Jp
cHRpb24oKSBpcyAiQVhIZWxwOiBEYXksIEFYVmFsdWVEZXNjcmlwdGlvbjogMDksIGludFZhbHVl
OjksIHJhbmdlOjEtMzEiCi1QQVNTIGZvY3VzZWRFbGVtZW50RGVzY3JpcHRpb24oKSBpcyAiQVhI
ZWxwOiBZZWFyLCBBWFZhbHVlRGVzY3JpcHRpb246IDIwMTIsIGludFZhbHVlOjIwMTIsIHJhbmdl
OjEtMjc1NzYwIgotRW1wdHkgdmFsdWUKLVBBU1MgZm9jdXNlZEVsZW1lbnREZXNjcmlwdGlvbigp
IGlzICJBWEhlbHA6IFllYXIsIEFYVmFsdWVEZXNjcmlwdGlvbjogYmxhbmssIGludFZhbHVlOjAs
IHJhbmdlOjEtMjc1NzYwIgotUEFTUyBmb2N1c2VkRWxlbWVudERlc2NyaXB0aW9uKCkgaXMgIkFY
SGVscDogRGF5LCBBWFZhbHVlRGVzY3JpcHRpb246IGJsYW5rLCBpbnRWYWx1ZTowLCByYW5nZTox
LTMxIgotUEFTUyBmb2N1c2VkRWxlbWVudERlc2NyaXB0aW9uKCkgaXMgIkFYSGVscDogTW9udGgs
IEFYVmFsdWVEZXNjcmlwdGlvbjogYmxhbmssIGludFZhbHVlOjAsIHJhbmdlOjEtMTIiCi0KLVBB
U1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKLQotVEVTVCBDT01QTEVURQotCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2RhdGUtbXVsdGlwbGUtZmllbGRzL2RhdGUtbXVs
dGlwbGUtZmllbGRzLWF4LWFyaWEtYXR0cmlidXRlcy5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9m
b3Jtcy9kYXRlLW11bHRpcGxlLWZpZWxkcy9kYXRlLW11bHRpcGxlLWZpZWxkcy1heC1hcmlhLWF0
dHJpYnV0ZXMuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMGQ2NzcwZjQwMTI1
YWMyMDIwNWM5MDEzODlkMDg4ZWM5ZTYzYzdhMy4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2RhdGUtbXVsdGlwbGUt
ZmllbGRzL2RhdGUtbXVsdGlwbGUtZmllbGRzLWF4LWFyaWEtYXR0cmlidXRlcy5odG1sCisrKyAv
ZGV2L251bGwKQEAgLTEsNTEgKzAsMCBAQAotPCFET0NUWVBFIGh0bWw+Ci08aHRtbD4KLTxoZWFk
PgotPHNjcmlwdCBzcmM9Ii4uLy4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpz
Ij48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvbXVsdGlwbGUtZmllbGRzLWF4
LWFyaWEtYXR0cmlidXRlcy5qcyI+PC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keT4KLTxpbnB1dCBp
ZD0idGVzdCIgdHlwZT0iZGF0ZSI+Ci08c2NyaXB0PgotZGVzY3JpcHRpb24oJ1RoaXMgdGVzdCBj
aGVja3MgYXJpYS1oZWxwIGF0dHJpYnV0ZSBvZiBmaWVsZHMgaW4gbXVsdGlwbGUgZmllbGRzIGRh
dGUgaW5wdXQgVUkuJyk7Ci0KLXZhciB0ZXN0SW5wdXQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgndGVzdCcpOwotCi1pZiAoIXdpbmRvdy5hY2Nlc3NpYmlsaXR5Q29udHJvbGxlciB8fCAhd2lu
ZG93LmV2ZW50U2VuZGVyKQotICAgIGRlYnVnKCdQbGVhc2UgcnVuIGluc2lkZSBEUlQgb3IgV1RS
LicpOwotZWxzZSB7Ci0gICAgdGVzdElucHV0LmZvY3VzKCk7Ci0gICAgZGVidWcoJ0luaXRpYWwg
ZW1wdHkgc3RhdGUnKTsKLSAgICBjaGVja0ZvY3VzZWRFbGVtZW50QVhBdHRyaWJ1dGVzKCdBWEhl
bHA6IE1vbnRoLCBBWFZhbHVlRGVzY3JpcHRpb246IGJsYW5rLCBpbnRWYWx1ZTowLCByYW5nZTox
LTEyJyk7Ci0gICAgZXZlbnRTZW5kZXIua2V5RG93bignXHQnKTsKLSAgICBjaGVja0ZvY3VzZWRF
bGVtZW50QVhBdHRyaWJ1dGVzKCdBWEhlbHA6IERheSwgQVhWYWx1ZURlc2NyaXB0aW9uOiBibGFu
aywgaW50VmFsdWU6MCwgcmFuZ2U6MS0zMScpOwotICAgIGV2ZW50U2VuZGVyLmtleURvd24oJ1x0
Jyk7Ci0gICAgY2hlY2tGb2N1c2VkRWxlbWVudEFYQXR0cmlidXRlcygnQVhIZWxwOiBZZWFyLCBB
WFZhbHVlRGVzY3JpcHRpb246IGJsYW5rLCBpbnRWYWx1ZTowLCByYW5nZToxLTI3NTc2MCcpOwot
Ci0gICAgZXZlbnRTZW5kZXIua2V5RG93bignXHQnLCBbJ3NoaWZ0S2V5J10pOwotICAgIGV2ZW50
U2VuZGVyLmtleURvd24oJ1x0JywgWydzaGlmdEtleSddKTsKLSAgICBkZWJ1ZygnTm9uLWVtcHR5
IHZhbHVlJyk7Ci0gICAgdGVzdElucHV0LnZhbHVlID0gIjIwMTItMTAtMDkiOwotICAgIGNoZWNr
Rm9jdXNlZEVsZW1lbnRBWEF0dHJpYnV0ZXMoJ0FYSGVscDogTW9udGgsIEFYVmFsdWVEZXNjcmlw
dGlvbjogMTAsIGludFZhbHVlOjEwLCByYW5nZToxLTEyJyk7Ci0gICAgZXZlbnRTZW5kZXIua2V5
RG93bignXHQnKTsKLSAgICBjaGVja0ZvY3VzZWRFbGVtZW50QVhBdHRyaWJ1dGVzKCdBWEhlbHA6
IERheSwgQVhWYWx1ZURlc2NyaXB0aW9uOiAwOSwgaW50VmFsdWU6OSwgcmFuZ2U6MS0zMScpOwot
ICAgIGV2ZW50U2VuZGVyLmtleURvd24oJ1x0Jyk7Ci0gICAgY2hlY2tGb2N1c2VkRWxlbWVudEFY
QXR0cmlidXRlcygnQVhIZWxwOiBZZWFyLCBBWFZhbHVlRGVzY3JpcHRpb246IDIwMTIsIGludFZh
bHVlOjIwMTIsIHJhbmdlOjEtMjc1NzYwJyk7Ci0KLSAgICBkZWJ1ZygnRW1wdHkgdmFsdWUnKTsK
LSAgICBldmVudFNlbmRlci5rZXlEb3duKCdcYicpOwotICAgIGNoZWNrRm9jdXNlZEVsZW1lbnRB
WEF0dHJpYnV0ZXMoJ0FYSGVscDogWWVhciwgQVhWYWx1ZURlc2NyaXB0aW9uOiBibGFuaywgaW50
VmFsdWU6MCwgcmFuZ2U6MS0yNzU3NjAnKTsKLSAgICBldmVudFNlbmRlci5rZXlEb3duKCdcdCcs
IFsnc2hpZnRLZXknXSk7Ci0gICAgZXZlbnRTZW5kZXIua2V5RG93bignXGInKTsKLSAgICBjaGVj
a0ZvY3VzZWRFbGVtZW50QVhBdHRyaWJ1dGVzKCdBWEhlbHA6IERheSwgQVhWYWx1ZURlc2NyaXB0
aW9uOiBibGFuaywgaW50VmFsdWU6MCwgcmFuZ2U6MS0zMScpOwotICAgIGV2ZW50U2VuZGVyLmtl
eURvd24oJ1x0JywgWydzaGlmdEtleSddKTsKLSAgICBldmVudFNlbmRlci5rZXlEb3duKCdcYicp
OwotICAgIGNoZWNrRm9jdXNlZEVsZW1lbnRBWEF0dHJpYnV0ZXMoJ0FYSGVscDogTW9udGgsIEFY
VmFsdWVEZXNjcmlwdGlvbjogYmxhbmssIGludFZhbHVlOjAsIHJhbmdlOjEtMTInKTsKLQotICAg
IGRlYnVnKCcnKTsKLSAgICB0ZXN0SW5wdXQucGFyZW50Tm9kZS5yZW1vdmVDaGlsZCh0ZXN0SW5w
dXQpOwotfQotPC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vLi4vZmFzdC9qcy9yZXNvdXJj
ZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KLTwvYm9keT4KLTwvaHRtbD4KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvZGF0ZS1tdWx0aXBsZS1maWVsZHMvZGF0ZS1tdWx0
aXBsZS1maWVsZHMtYXgtdmFsdWUtY2hhbmdlZC1ub3RpZmljYXRpb24tZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9kYXRlLW11bHRpcGxlLWZpZWxkcy9kYXRlLW11bHRpcGxl
LWZpZWxkcy1heC12YWx1ZS1jaGFuZ2VkLW5vdGlmaWNhdGlvbi1leHBlY3RlZC50eHQKZGVsZXRl
ZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGQ0ZmM4YWU1NDQ1MDYxYTgwZTU4OGM2NzdkMWNhZTY2
MTczYTI0ZGIuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEv
TGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9kYXRlLW11bHRpcGxlLWZpZWxkcy9kYXRlLW11bHRpcGxl
LWZpZWxkcy1heC12YWx1ZS1jaGFuZ2VkLW5vdGlmaWNhdGlvbi1leHBlY3RlZC50eHQKKysrIC9k
ZXYvbnVsbApAQCAtMSwxNyArMCwwIEBACi1UaGlzIHRlc3QgY2hlY2tzIHZhbHVlIGNoYW5nZWQg
YWNjZXNzaWJpbGl0eSBub3RpZmljYXRpb25zLgotCi1PbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUg
YSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIu
Ci0KLQotRm9jdXNlZFVJRWxlbWVudENoYW5nZWQgQVhIZWxwOiBNb250aD1BWFZhbHVlRGVzY3Jp
cHRpb246IDEwCi1Gb2N1c2VkVUlFbGVtZW50Q2hhbmdlZCBBWEhlbHA6IERheT1BWFZhbHVlRGVz
Y3JpcHRpb246IDA5Ci1Gb2N1c2VkVUlFbGVtZW50Q2hhbmdlZCBBWEhlbHA6IFllYXI9QVhWYWx1
ZURlc2NyaXB0aW9uOiAyMDEyCi1WYWx1ZUNoYW5nZWQgQVhIZWxwOiBEYXk9QVhWYWx1ZURlc2Ny
aXB0aW9uOiAwNAotVmFsdWVDaGFuZ2VkIEFYSGVscDogRGF5PUFYVmFsdWVEZXNjcmlwdGlvbjog
MDQKLVZhbHVlQ2hhbmdlZCBBWEhlbHA6IFllYXI9QVhWYWx1ZURlc2NyaXB0aW9uOiAyMDEzCi1W
YWx1ZUNoYW5nZWQgQVhIZWxwOiBZZWFyPUFYVmFsdWVEZXNjcmlwdGlvbjogMjAxMwotCi1QQVNT
IHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCi0KLVRFU1QgQ09NUExFVEUKLQpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9kYXRlLW11bHRpcGxlLWZpZWxkcy9kYXRlLW11bHRp
cGxlLWZpZWxkcy1heC12YWx1ZS1jaGFuZ2VkLW5vdGlmaWNhdGlvbi5odG1sIGIvTGF5b3V0VGVz
dHMvZmFzdC9mb3Jtcy9kYXRlLW11bHRpcGxlLWZpZWxkcy9kYXRlLW11bHRpcGxlLWZpZWxkcy1h
eC12YWx1ZS1jaGFuZ2VkLW5vdGlmaWNhdGlvbi5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAzOTc5MGEyOTNiNTEyMDk0Y2YwODYxMDA3OTcxMTQ1ZDQxZjZlNWJjLi4wMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2Zhc3Qv
Zm9ybXMvZGF0ZS1tdWx0aXBsZS1maWVsZHMvZGF0ZS1tdWx0aXBsZS1maWVsZHMtYXgtdmFsdWUt
Y2hhbmdlZC1ub3RpZmljYXRpb24uaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDM4ICswLDAgQEAK
LTwhRE9DVFlQRSBodG1sPgotPGh0bWw+Ci08aGVhZD4KLTxzY3JpcHQgc3JjPSIuLi8uLi8uLi9m
YXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9k
eT4KLTxpbnB1dCBpZD0idGVzdCIgdHlwZT0iZGF0ZSIgdmFsdWU9IjIwMTItMTAtMDkiPgotPHNj
cmlwdD4KLWRlc2NyaXB0aW9uKCdUaGlzIHRlc3QgY2hlY2tzIHZhbHVlIGNoYW5nZWQgYWNjZXNz
aWJpbGl0eSBub3RpZmljYXRpb25zLicpOwotCi12YXIgdGVzdElucHV0ID0gZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoInRlc3QiKTsKLQotaWYgKCF3aW5kb3cuYWNjZXNzaWJpbGl0eUNvbnRyb2xs
ZXIgfHwgIXdpbmRvdy5ldmVudFNlbmRlcikKLSAgICBkZWJ1ZygiUGxlYXNlIHJ1biBpbnNpZGUg
RFJUIG9yIFdSVC4iKTsKLWVsc2UgewotICAgIGFjY2Vzc2liaWxpdHlDb250cm9sbGVyLmFkZE5v
dGlmaWNhdGlvbkxpc3RlbmVyKGZ1bmN0aW9uIChlbGVtZW50LCBub3RpZmljYXRpb24pIHsKLSAg
ICAgICAgaWYgKG5vdGlmaWNhdGlvbiA9PSAnRm9jdXNlZFVJRWxlbWVudENoYW5nZWQnIHx8IG5v
dGlmaWNhdGlvbiA9PSAnVmFsdWVDaGFuZ2VkJykgewotICAgICAgICAgICAgZGVidWcobm90aWZp
Y2F0aW9uICsgJyAnICsgZWxlbWVudC5oZWxwVGV4dCArICc9JyArIGVsZW1lbnQudmFsdWVEZXNj
cmlwdGlvbik7Ci0gICAgICAgIH0KLSAgICB9KTsKLQotICAgIHRlc3RJbnB1dC5mb2N1cygpOwot
ICAgIGV2ZW50U2VuZGVyLmtleURvd24oJ1x0Jyk7Ci0gICAgZXZlbnRTZW5kZXIua2V5RG93bign
NCcpOwotICAgIGV2ZW50U2VuZGVyLmtleURvd24oJ3VwQXJyb3cnKTsKLQotICAgIHdpbmRvdy5q
c1Rlc3RJc0FzeW5jID0gdHJ1ZTsKLQotICAgIHdpbmRvdy5zZXRUaW1lb3V0KGZ1bmN0aW9uKCkg
ewotICAgICAgICBkZWJ1ZygnJyk7Ci0gICAgICAgIHRlc3RJbnB1dC5wYXJlbnROb2RlLnJlbW92
ZUNoaWxkKHRlc3RJbnB1dCk7Ci0gICAgICAgIGZpbmlzaEpTVGVzdCgpOwotICAgIH0sIDEpOwot
fQotPC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMt
dGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KLTwvYm9keT4KLTwvaHRtbD4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2Zhc3QvZm9ybXMvZGF0ZS1tdWx0aXBsZS1maWVsZHMvZGF0ZS1tdWx0aXBsZS1m
aWVsZHMtYmx1ci1hbmQtZm9jdXMtZXZlbnRzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zh
c3QvZm9ybXMvZGF0ZS1tdWx0aXBsZS1maWVsZHMvZGF0ZS1tdWx0aXBsZS1maWVsZHMtYmx1ci1h
bmQtZm9jdXMtZXZlbnRzLWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMzNjMzQ4NjBhMjBlZTQ5ZjY2NzIzMzc0YTQ2YzI5MTdmMzkzZWQxZi4uMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1z
L2RhdGUtbXVsdGlwbGUtZmllbGRzL2RhdGUtbXVsdGlwbGUtZmllbGRzLWJsdXItYW5kLWZvY3Vz
LWV2ZW50cy1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSwxOCArMCwwIEBACi1DaGVj
ayBibHVyIGFuZCBmb2N1cyBldmVudHMgZm9yIG11bHRpcGxlIGZpZWxkcyBkYXRlIGlucHV0IFVJ
Ci0KLU9uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMs
IGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KLQotCi1mb2N1cygpIGFuZCBibHVyKCkKLVBB
U1MgdGVzdElucHV0LmZvY3VzKCk7IHN0YXRlKCkgaXMgImJsdXI9MCBmb2N1cz0xIgotUEFTUyB0
ZXN0SW5wdXQuYmx1cigpOyBzdGF0ZSgpIGlzICJibHVyPTEgZm9jdXM9MSIKLWZvY3VzIGFuZCBU
YWIga2V5IHRvIGJsdXIKLVBBU1Mga2V5RG93bigiCSIpOyBzdGF0ZSgpIGlzICJibHVyPTAgZm9j
dXM9MSIKLVBBU1Mga2V5RG93bigiCSIpOyBzdGF0ZSgpIGlzICJibHVyPTAgZm9jdXM9MSIKLVBB
U1Mga2V5RG93bigiCSIpOyBzdGF0ZSgpIGlzICJibHVyPTAgZm9jdXM9MSIKLVBBU1Mga2V5RG93
bigiCSIpOyBzdGF0ZSgpIGlzICJibHVyPTEgZm9jdXM9MSIKLQotUEFTUyBzdWNjZXNzZnVsbHlQ
YXJzZWQgaXMgdHJ1ZQotCi1URVNUIENPTVBMRVRFCi0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2Zhc3QvZm9ybXMvZGF0ZS1tdWx0aXBsZS1maWVsZHMvZGF0ZS1tdWx0aXBsZS1maWVsZHMtYmx1
ci1hbmQtZm9jdXMtZXZlbnRzLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2RhdGUtbXVs
dGlwbGUtZmllbGRzL2RhdGUtbXVsdGlwbGUtZmllbGRzLWJsdXItYW5kLWZvY3VzLWV2ZW50cy5o
dG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBhZWU0ZDBiMDM0ZmZkNDJkMTkzMmVi
NWMyODgzOGQ3NTY1ODlkMjJkLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwCi0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvZGF0ZS1tdWx0aXBsZS1maWVsZHMvZGF0
ZS1tdWx0aXBsZS1maWVsZHMtYmx1ci1hbmQtZm9jdXMtZXZlbnRzLmh0bWwKKysrIC9kZXYvbnVs
bApAQCAtMSwxMiArMCwwIEBACi08IURPQ1RZUEUgaHRtbD4KLTxodG1sPgotPGJvZHk+Ci08c2Ny
aXB0IHNyYz0iLi4vLi4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KLTxz
Y3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvbXVsdGlwbGUtZmllbGRzLWJsdXItYW5kLWZvY3VzLWV2
ZW50cy5qcyI+PC9zY3JpcHQ+Ci08ZGl2IGlkPSJjb250YWluZXIiPjwvZGl2PgotPHNjcmlwdD4K
LXN0YXJ0VGVzdEZvcignZGF0ZScpOwotPC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vanMv
cmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Ci08L2JvZHk+Ci08L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2RhdGUtbXVsdGlwbGUtZmllbGRzL2Rh
dGUtbXVsdGlwbGUtZmllbGRzLWNoYW5nZS1sYXlvdXQtYnktdmFsdWUtZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9kYXRlLW11bHRpcGxlLWZpZWxkcy9kYXRlLW11bHRpcGxl
LWZpZWxkcy1jaGFuZ2UtbGF5b3V0LWJ5LXZhbHVlLWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggOTYwN2JlNWUzZmYyZDUxNmQ0Yzc2NjJkMzc5YjJjNmUwMmIxMGI5
NS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRU
ZXN0cy9mYXN0L2Zvcm1zL2RhdGUtbXVsdGlwbGUtZmllbGRzL2RhdGUtbXVsdGlwbGUtZmllbGRz
LWNoYW5nZS1sYXlvdXQtYnktdmFsdWUtZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEs
MTEgKzAsMCBAQAotQ2hhbmdlIG11bHRpcGxlIGZpZWxkcyBkYXRlIGlucHV0IFVJIGxheW91dCBi
eSB2YWx1ZQotCi1PbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1l
c3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCi0KLQotUEFTUyB3aWR0aE9mRW1w
dHlWYWx1ZSA8IHdpZHRoT2ZPdmVyZmxvd1ZhbHVlIGlzIHRydWUKLVBBU1Mgd2lkdGhPZkVtcHR5
VmFsdWUgaXMgd2lkdGhPZlZhbGlkVmFsdWUKLVBBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRy
dWUKLQotVEVTVCBDT01QTEVURQotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1z
L2RhdGUtbXVsdGlwbGUtZmllbGRzL2RhdGUtbXVsdGlwbGUtZmllbGRzLWNoYW5nZS1sYXlvdXQt
YnktdmFsdWUuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvZGF0ZS1tdWx0aXBsZS1maWVs
ZHMvZGF0ZS1tdWx0aXBsZS1maWVsZHMtY2hhbmdlLWxheW91dC1ieS12YWx1ZS5odG1sCmRlbGV0
ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBhOGVjZTU2MDc4MzQzMjU0ZmU2Nzg4ZTAxMDIxNTA1
MThmNGE1MThmLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBh
L0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvZGF0ZS1tdWx0aXBsZS1maWVsZHMvZGF0ZS1tdWx0aXBs
ZS1maWVsZHMtY2hhbmdlLWxheW91dC1ieS12YWx1ZS5odG1sCisrKyAvZGV2L251bGwKQEAgLTEs
MjUgKzAsMCBAQAotPCFET0NUWVBFIGh0bWw+Ci08aHRtbD4KLTxib2R5PgotPHNjcmlwdCBzcmM9
Ii4uLy4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0Pgot
ZGVzY3JpcHRpb24oJ0NoYW5nZSBtdWx0aXBsZSBmaWVsZHMgZGF0ZSBpbnB1dCBVSSBsYXlvdXQg
YnkgdmFsdWUnKTsKLXZhciB0ZXN0SW5wdXQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdpbnB1
dCcpOwotdGVzdElucHV0LnR5cGUgPSAnZGF0ZSc7Ci10ZXN0SW5wdXQubWF4ID0gJzk5OTktMTIt
MzEnOwotZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZCh0ZXN0SW5wdXQpOwotdmFyIHdpZHRoT2ZF
bXB0eVZhbHVlID0gdGVzdElucHV0Lm9mZnNldFdpZHRoOwotCi10ZXN0SW5wdXQudmFsdWUgPSAn
MTAwMDAtMDEtMDEnOwotdmFyIHdpZHRoT2ZPdmVyZmxvd1ZhbHVlID0gdGVzdElucHV0Lm9mZnNl
dFdpZHRoOwotc2hvdWxkQmVUcnVlKCd3aWR0aE9mRW1wdHlWYWx1ZSA8IHdpZHRoT2ZPdmVyZmxv
d1ZhbHVlJyk7Ci0KLXRlc3RJbnB1dC52YWx1ZSA9ICcyMDEyLTEwLTA1JzsKLXZhciB3aWR0aE9m
VmFsaWRWYWx1ZSA9IHRlc3RJbnB1dC5vZmZzZXRXaWR0aDsKLXNob3VsZEJlKCd3aWR0aE9mRW1w
dHlWYWx1ZScsICd3aWR0aE9mVmFsaWRWYWx1ZScpOwotCi1kb2N1bWVudC5ib2R5LnJlbW92ZUNo
aWxkKHRlc3RJbnB1dCk7Ci08L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIuLi8uLi9qcy9yZXNvdXJj
ZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KLTwvYm9keT4KLTwvaHRtbD4KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvZGF0ZS1tdWx0aXBsZS1maWVsZHMvZGF0ZS1tdWx0
aXBsZS1maWVsZHMtY2xlYXJidXR0b24tY2hhbmdlLWFuZC1pbnB1dC1ldmVudHMtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9kYXRlLW11bHRpcGxlLWZpZWxkcy9kYXRlLW11
bHRpcGxlLWZpZWxkcy1jbGVhcmJ1dHRvbi1jaGFuZ2UtYW5kLWlucHV0LWV2ZW50cy1leHBlY3Rl
ZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGMyYTkzZTZhMjEyZDExYmNjMjhl
Mzc0Njg5ZTdlYzIwNzVlYmU2NTUuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9kYXRlLW11bHRpcGxlLWZpZWxkcy9k
YXRlLW11bHRpcGxlLWZpZWxkcy1jbGVhcmJ1dHRvbi1jaGFuZ2UtYW5kLWlucHV0LWV2ZW50cy1l
eHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSwxOSArMCwwIEBACi1UZXN0IGZvciBldmVu
dCBkaXNwYXRjaGluZyBieSBzcGluIGJ1dHRvbnMgaW4gYSB0eXBlPWRhdGUgaW5wdXQuCi0KLU9u
IHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxv
d2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KLQotCi1Jbml0aWFsIHN0YXRlCi1QQVNTIGNoYW5nZUV2
ZW50Q291bnRlciBpcyAwCi1QQVNTIGlucHV0RXZlbnRDb3VudGVyIGlzIDAKLUNsaWNrIHRoZSBj
bGVhciBidXR0b24KLVBBU1MgdGVzdElucHV0LnZhbHVlIGlzICIiCi1QQVNTIGNoYW5nZUV2ZW50
Q291bnRlciBpcyAxCi1QQVNTIGlucHV0RXZlbnRDb3VudGVyIGlzIDEKLUZvY3VzIG9uIGFub3Ro
ZXIgZmllbGQKLVBBU1MgY2hhbmdlRXZlbnRDb3VudGVyIGlzIDEKLVBBU1MgaW5wdXRFdmVudENv
dW50ZXIgaXMgMQotUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQotCi1URVNUIENPTVBM
RVRFCi0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvZGF0ZS1tdWx0aXBsZS1m
aWVsZHMvZGF0ZS1tdWx0aXBsZS1maWVsZHMtY2xlYXJidXR0b24tY2hhbmdlLWFuZC1pbnB1dC1l
dmVudHMuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvZGF0ZS1tdWx0aXBsZS1maWVsZHMv
ZGF0ZS1tdWx0aXBsZS1maWVsZHMtY2xlYXJidXR0b24tY2hhbmdlLWFuZC1pbnB1dC1ldmVudHMu
aHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMGIzNjhlNWFiYThiMWE0MmQ2NDlh
MGFiMjAyZDQ5OTFiODgzOTU1Zi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2RhdGUtbXVsdGlwbGUtZmllbGRzL2Rh
dGUtbXVsdGlwbGUtZmllbGRzLWNsZWFyYnV0dG9uLWNoYW5nZS1hbmQtaW5wdXQtZXZlbnRzLmh0
bWwKKysrIC9kZXYvbnVsbApAQCAtMSwxNCArMCwwIEBACi08IURPQ1RZUEUgaHRtbD4KLTxodG1s
PgotPGhlYWQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVz
dC1wcmUuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy9jb21tb24uanMi
Pjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy9jb21tb24tY2xlYXJidXR0b24t
Y2hhbmdlLWFuZC1pbnB1dC1ldmVudHMuanMiPjwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHk+Ci08
c2NyaXB0PgotdGVzdENsZWFyQnV0dG9uQ2hhbmdlQW5kSW5wdXRFdmVudHMoJ2RhdGUnLCAnMjAx
Mi0xMC0wMScpOwotPC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vLi4vZmFzdC9qcy9yZXNv
dXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KLTwvYm9keT4KLTwvaHRtbD4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvZGF0ZS1tdWx0aXBsZS1maWVsZHMvZGF0ZS1t
dWx0aXBsZS1maWVsZHMtY2xlYXJidXR0b24tdmlzaWJpbGl0eS1hZnRlci1yZXN0b3JlLWV4cGVj
dGVkLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2RhdGUtbXVsdGlwbGUtZmllbGRzL2Rh
dGUtbXVsdGlwbGUtZmllbGRzLWNsZWFyYnV0dG9uLXZpc2liaWxpdHktYWZ0ZXItcmVzdG9yZS1l
eHBlY3RlZC5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAyYjdlZDM1M2M3Y2My
MjIzYjdjMDU1OWJmZTU3NGExNmQ4MGY4MmQ4Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvZGF0ZS1tdWx0aXBsZS1m
aWVsZHMvZGF0ZS1tdWx0aXBsZS1maWVsZHMtY2xlYXJidXR0b24tdmlzaWJpbGl0eS1hZnRlci1y
ZXN0b3JlLWV4cGVjdGVkLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSwxMCArMCwwIEBACi08IURP
Q1RZUEUgaHRtbD4KLTxodG1sPgotPGJvZHk+Ci08aW5wdXQgaWQ9ImVtcHR5T25GaXJzdFZpc2l0
IiB2YWx1ZT0idmlzaXRlZCI+Ci08Zm9ybSBhY3Rpb249ImRhdGE6dGV4dC9odG1sLCZsdDtzY3Jp
cHQ+aGlzdG9yeS5iYWNrKCkmbHQ7L3NjcmlwdD4iIGlkPWZvcm0xPgotICAgIDxpbnB1dCB0eXBl
PWRhdGUgaWQ9aW5wdXQxPgotICAgIDxpbnB1dCB0eXBlPWRhdGUgaWQ9aW5wdXQyIHZhbHVlPSIy
MDAxLTAyLTAzIj4KLSAgICA8aW5wdXQgdHlwZT1kYXRlIGlkPWlucHV0MyB2YWx1ZT0iMjAwMi0w
My0wNCI+Ci08L2Zvcm0+Ci08L2JvZHk+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Zv
cm1zL2RhdGUtbXVsdGlwbGUtZmllbGRzL2RhdGUtbXVsdGlwbGUtZmllbGRzLWNsZWFyYnV0dG9u
LXZpc2liaWxpdHktYWZ0ZXItcmVzdG9yZS5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9k
YXRlLW11bHRpcGxlLWZpZWxkcy9kYXRlLW11bHRpcGxlLWZpZWxkcy1jbGVhcmJ1dHRvbi12aXNp
YmlsaXR5LWFmdGVyLXJlc3RvcmUuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
NDA2ZDRjNjQ3ZmJiMzdlOGZiYWJlNmE4MjIzODcwODNmYTA5MTRiNi4uMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2Rh
dGUtbXVsdGlwbGUtZmllbGRzL2RhdGUtbXVsdGlwbGUtZmllbGRzLWNsZWFyYnV0dG9uLXZpc2li
aWxpdHktYWZ0ZXItcmVzdG9yZS5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsMzIgKzAsMCBAQAot
PCFET0NUWVBFIGh0bWw+Ci08aHRtbD4KLTxib2R5PgotPGlucHV0IGlkPSJlbXB0eU9uRmlyc3RW
aXNpdCI+Ci08Zm9ybSBhY3Rpb249ImRhdGE6dGV4dC9odG1sLCZsdDtzY3JpcHQ+aGlzdG9yeS5i
YWNrKCkmbHQ7L3NjcmlwdD4iIGlkPWZvcm0xPgotICAgIDxpbnB1dCB0eXBlPWRhdGUgaWQ9aW5w
dXQxPgotICAgIDxpbnB1dCB0eXBlPWRhdGUgaWQ9aW5wdXQyPgotICAgIDxpbnB1dCB0eXBlPWRh
dGUgaWQ9aW5wdXQzIHZhbHVlPSIyMDEyLTAxLTAzIj4KLTwvZm9ybT4KLQotPHNjcmlwdD4KLS8v
IFJlc3RvcmluZyB0aGUgZm9ybSBzaG91bGQgdXBkYXRlIHRoZSBjbGVhciBidXR0b24gdmlzaWJp
bGl0eS4KLXRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOwotZnVuY3Rpb24gcnVuVGVzdCgpCi17
Ci0gICAgdmFyIHN0YXRlID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2VtcHR5T25GaXJzdFZp
c2l0Jyk7Ci0gICAgaWYgKCFzdGF0ZS52YWx1ZSkgewotICAgICAgICAvLyBGaXJzdCB2aXNpdC4K
LSAgICAgICAgc2V0VGltZW91dChmdW5jdGlvbigpIHsKLSAgICAgICAgICAgIHN0YXRlLnZhbHVl
ID0gJ3Zpc2l0ZWQnOwotICAgICAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2lucHV0
MicpLnZhbHVlID0gIjIwMDEtMDItMDMiOwotICAgICAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoJ2lucHV0MycpLnZhbHVlID0gIjIwMDItMDMtMDQiOwotICAgICAgICAgICAgZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoJ2Zvcm0xJykuc3VibWl0KCk7Ci0gICAgICAgIH0sIDApOwotICAg
IH0gZWxzZSB7Ci0gICAgICAgIHRlc3RSdW5uZXIubm90aWZ5RG9uZSgpOwotICAgIH0KLX0KLQot
d2luZG93Lm9ubG9hZCA9IHJ1blRlc3Q7Ci08L3NjcmlwdD4KLTwvYm9keT4KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvZGF0ZS1tdWx0aXBsZS1maWVsZHMvZGF0ZS1tdWx0aXBs
ZS1maWVsZHMtZmFsbGJhY2stZm9ybWF0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3Qv
Zm9ybXMvZGF0ZS1tdWx0aXBsZS1maWVsZHMvZGF0ZS1tdWx0aXBsZS1maWVsZHMtZmFsbGJhY2st
Zm9ybWF0LWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNTY2MzFm
MTczOWQ2MTUwYTFiYmYzOTBkMzcwY2U2OWNjYmY4NzYyYi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2RhdGUtbXVs
dGlwbGUtZmllbGRzL2RhdGUtbXVsdGlwbGUtZmllbGRzLWZhbGxiYWNrLWZvcm1hdC1leHBlY3Rl
ZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSwxNSArMCwwIEBACi1DaGVja3MgaW5jb21wbGV0ZSBk
YXRldGltZSBmb3JtYXRzIGFyZSByZWplY3RlZC4KLQotT24gc3VjY2VzcywgeW91IHdpbGwgc2Vl
IGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUi
LgotCi0KLVZhbGlkIGZvcm1hdAotUEFTUyBnZXRVc2VyQWdlbnRTaGFkb3dUZXh0Q29udGVudChp
bnB1dCkgaXMgIjMxLTA3LTE5OTkiCi1JbnZhbGlkIGZvcm1hdCwgZmFsbGJhY2sgdG8geXl5eS1N
TS1kZAotUEFTUyBnZXRVc2VyQWdlbnRTaGFkb3dUZXh0Q29udGVudChpbnB1dCkgaXMgIjE5OTkt
MDctMzEiCi1QQVNTIGdldFVzZXJBZ2VudFNoYWRvd1RleHRDb250ZW50KGlucHV0KSBpcyAiMTk5
OS0wNy0zMSIKLVBBU1MgZ2V0VXNlckFnZW50U2hhZG93VGV4dENvbnRlbnQoaW5wdXQpIGlzICIx
OTk5LTA3LTMxIgotUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQotCi1URVNUIENPTVBM
RVRFCi0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvZGF0ZS1tdWx0aXBsZS1m
aWVsZHMvZGF0ZS1tdWx0aXBsZS1maWVsZHMtZmFsbGJhY2stZm9ybWF0Lmh0bWwgYi9MYXlvdXRU
ZXN0cy9mYXN0L2Zvcm1zL2RhdGUtbXVsdGlwbGUtZmllbGRzL2RhdGUtbXVsdGlwbGUtZmllbGRz
LWZhbGxiYWNrLWZvcm1hdC5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBjZDli
MjYwNDY5ZTA5OTc2Nzc2Y2UyMDU3ZTkzOWQ5NzY2ZGRlZjc2Li4wMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvZGF0ZS1t
dWx0aXBsZS1maWVsZHMvZGF0ZS1tdWx0aXBsZS1maWVsZHMtZmFsbGJhY2stZm9ybWF0Lmh0bWwK
KysrIC9kZXYvbnVsbApAQCAtMSwzOSArMCwwIEBACi08IURPQ1RZUEUgaHRtbD4KLTxodG1sPgot
PGhlYWQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48
L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvY29tbW9uLmpzIj48L3NjcmlwdD4K
LTwvaGVhZD4KLTxib2R5PgotPHNjcmlwdD4KLWRlc2NyaXB0aW9uKCdDaGVja3MgaW5jb21wbGV0
ZSBkYXRldGltZSBmb3JtYXRzIGFyZSByZWplY3RlZC4nKTsKLQotdmFyIGlucHV0ID0gZG9jdW1l
bnQuY3JlYXRlRWxlbWVudCgnaW5wdXQnKTsKLWlucHV0LnR5cGUgPSAnZGF0ZSc7Ci1kb2N1bWVu
dC5ib2R5LmFwcGVuZENoaWxkKGlucHV0KTsKLQotZnVuY3Rpb24gc2V0RGF0ZVRpbWVGb3JtYXQo
cGF0dGVybikgewotICAgIHZhciB2YWx1ZSA9IGlucHV0LnZhbHVlOwotICAgIGdldEVsZW1lbnRC
eVBzZXVkb0lkKGludGVybmFscy55b3VuZ2VzdFNoYWRvd1Jvb3QoaW5wdXQpLCAnLXdlYmtpdC1k
YXRldGltZS1lZGl0Jykuc2V0QXR0cmlidXRlKCdwYXR0ZXJuJywgcGF0dGVybik7Ci0gICAgaW5w
dXQudmFsdWUgPSAnJzsgLy8gVXBkYXRlcyB0aGUgZWxlbWVudCBmb3IgbmV3IGZvcm1hdAotICAg
IGlucHV0LnZhbHVlID0gdmFsdWU7Ci19Ci0KLWlucHV0LnZhbHVlID0gJzE5OTktMDctMzEnOwot
Ci1kZWJ1ZygnVmFsaWQgZm9ybWF0Jyk7Ci1zZXREYXRlVGltZUZvcm1hdCgiZGQtTU0teXl5eSIp
Owotc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdnZXRVc2VyQWdlbnRTaGFkb3dUZXh0Q29udGVudChp
bnB1dCknLCAnMzEtMDctMTk5OScpOwotCi1kZWJ1ZygiSW52YWxpZCBmb3JtYXQsIGZhbGxiYWNr
IHRvIHl5eXktTU0tZGQiKTsKLXNldERhdGVUaW1lRm9ybWF0KCd5eXl5LU1NJyk7Ci1zaG91bGRC
ZUVxdWFsVG9TdHJpbmcoJ2dldFVzZXJBZ2VudFNoYWRvd1RleHRDb250ZW50KGlucHV0KScsICcx
OTk5LTA3LTMxJyk7Ci1zZXREYXRlVGltZUZvcm1hdCgnTU0vZGQnKTsKLXNob3VsZEJlRXF1YWxU
b1N0cmluZygnZ2V0VXNlckFnZW50U2hhZG93VGV4dENvbnRlbnQoaW5wdXQpJywgJzE5OTktMDct
MzEnKTsKLXNldERhdGVUaW1lRm9ybWF0KCdkZC15eXl5Jyk7Ci1zaG91bGRCZUVxdWFsVG9TdHJp
bmcoJ2dldFVzZXJBZ2VudFNoYWRvd1RleHRDb250ZW50KGlucHV0KScsICcxOTk5LTA3LTMxJyk7
Ci0KLTwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii4uLy4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXBv
c3QuanMiPjwvc2NyaXB0PgotPC9ib2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZmFzdC9mb3Jtcy9kYXRlLW11bHRpcGxlLWZpZWxkcy9kYXRlLW11bHRpcGxlLWZpZWxkcy1m
b2N1cy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2RhdGUtbXVsdGlwbGUt
ZmllbGRzL2RhdGUtbXVsdGlwbGUtZmllbGRzLWZvY3VzLWV4cGVjdGVkLnR4dApkZWxldGVkIGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggZDkzNzg5OWUxMDkzMTU5NmY0MjlkNmQzY2ZiYzE0ZTk1NmI0
Yzk2ZS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlv
dXRUZXN0cy9mYXN0L2Zvcm1zL2RhdGUtbXVsdGlwbGUtZmllbGRzL2RhdGUtbXVsdGlwbGUtZmll
bGRzLWZvY3VzLWV4cGVjdGVkLnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDExICswLDAgQEAKLUNo
ZWNrIGlmIGVsZW1lbnQuZm9jdXMoKSBkb2VzIG5vdCBmb2N1cyBvbiBkaXNhYmxlZCBzdWItZmll
bGRzLgotCi1PbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3Nh
Z2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCi0KLQotUEFTUyBpbnRlcm5hbHMueW91
bmdlc3RTaGFkb3dSb290KGRhdGVJbnB1dCkuYWN0aXZlRWxlbWVudC5nZXRBdHRyaWJ1dGUoInBz
ZXVkbyIpIGlzICItd2Via2l0LWRhdGV0aW1lLWVkaXQtbW9udGgtZmllbGQiCi1QQVNTIGludGVy
bmFscy55b3VuZ2VzdFNoYWRvd1Jvb3QoZGF0ZUlucHV0KS5hY3RpdmVFbGVtZW50LmdldEF0dHJp
YnV0ZSgicHNldWRvIikgaXMgIi13ZWJraXQtZGF0ZXRpbWUtZWRpdC1tb250aC1maWVsZCIKLVBB
U1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKLQotVEVTVCBDT01QTEVURQotCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2RhdGUtbXVsdGlwbGUtZmllbGRzL2RhdGUtbXVs
dGlwbGUtZmllbGRzLWZvY3VzLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2RhdGUtbXVs
dGlwbGUtZmllbGRzL2RhdGUtbXVsdGlwbGUtZmllbGRzLWZvY3VzLmh0bWwKZGVsZXRlZCBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDMzYzllMDA2ZWVmNzMxNzQwYTVkMWNjNDcwNzdjYTBiZDZjNjFm
ZDIuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0
VGVzdHMvZmFzdC9mb3Jtcy9kYXRlLW11bHRpcGxlLWZpZWxkcy9kYXRlLW11bHRpcGxlLWZpZWxk
cy1mb2N1cy5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsMzAgKzAsMCBAQAotPCFET0NUWVBFIGh0
bWw+Ci08Ym9keT4KLTxzY3JpcHQgc3JjPSIuLi8uLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUu
anMiPjwvc2NyaXB0PgotPHNjcmlwdD4KLWRlc2NyaXB0aW9uKCdDaGVjayBpZiBlbGVtZW50LmZv
Y3VzKCkgZG9lcyBub3QgZm9jdXMgb24gZGlzYWJsZWQgc3ViLWZpZWxkcy4nKTsKLWlmICh3aW5k
b3cuaW50ZXJuYWxzKQotICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRMYW5nQXR0cmlidXRlQXdh
cmVGb3JtQ29udHJvbFVJRW5hYmxlZCh0cnVlKTsKLWVsc2UKLSAgICBkZWJ1ZygnVGhpcyB0ZXN0
IHJlcXVpcmVzIERSVC9XUlQuJyk7Ci0KLXZhciBkYXRlSW5wdXQgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KCdpbnB1dCcpOwotZGF0ZUlucHV0LmxhbmcgPSAnamEtanAnOwotZGF0ZUlucHV0LnR5
cGUgPSAnZGF0ZSc7Ci1kYXRlSW5wdXQubWluID0gJzIwMTMtMDItMDEnOwotZGF0ZUlucHV0Lm1h
eCA9ICcyMDEzLTAzLTMwJzsKLWRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoZGF0ZUlucHV0KTsK
LS8vIEFzc3VtZSB0aGUgZGF0ZSBmb3JtYXQgaXMgInl5eXkvTU0vZGQiCi0KLWRhdGVJbnB1dC5m
b2N1cygpOwotLy8gQmVjYXVzZSB0aGUgeWVhciBmaWVsZCBpcyBmaXhlZCwgdGhlIGZpcnN0IGZv
Y3VzYWJsZSBlbGVtZW50IGlzIHRoZQotLy8gbW9udGggZmllbGQuCi1zaG91bGRCZUVxdWFsVG9T
dHJpbmcoJ2ludGVybmFscy55b3VuZ2VzdFNoYWRvd1Jvb3QoZGF0ZUlucHV0KS5hY3RpdmVFbGVt
ZW50LmdldEF0dHJpYnV0ZSgicHNldWRvIiknLCAnLXdlYmtpdC1kYXRldGltZS1lZGl0LW1vbnRo
LWZpZWxkJyk7Ci1kYXRlSW5wdXQuYmx1cigpOwotZGF0ZUlucHV0LmZvY3VzKCk7Ci1zaG91bGRC
ZUVxdWFsVG9TdHJpbmcoJ2ludGVybmFscy55b3VuZ2VzdFNoYWRvd1Jvb3QoZGF0ZUlucHV0KS5h
Y3RpdmVFbGVtZW50LmdldEF0dHJpYnV0ZSgicHNldWRvIiknLCAnLXdlYmtpdC1kYXRldGltZS1l
ZGl0LW1vbnRoLWZpZWxkJyk7Ci0KLWRhdGVJbnB1dC5yZW1vdmUoKTsKLTwvc2NyaXB0PgotPHNj
cmlwdCBzcmM9Ii4uLy4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0Pgot
PC9ib2R5PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9kYXRlLW11bHRpcGxl
LWZpZWxkcy9kYXRlLW11bHRpcGxlLWZpZWxkcy1rZXlib2FyZC1ldmVudHMtZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9kYXRlLW11bHRpcGxlLWZpZWxkcy9kYXRlLW11bHRp
cGxlLWZpZWxkcy1rZXlib2FyZC1ldmVudHMtZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCBkNGQzOGZlNDRlZDAwZmUwYmU1MjZkZGZkMjQ4OTNkZjRmYzE2YzMyLi4w
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3Rz
L2Zhc3QvZm9ybXMvZGF0ZS1tdWx0aXBsZS1maWVsZHMvZGF0ZS1tdWx0aXBsZS1maWVsZHMta2V5
Ym9hcmQtZXZlbnRzLWV4cGVjdGVkLnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDcxICswLDAgQEAK
LU11bHRpcGxlIGZpZWxkcyBVSSBvZiBtb250aCBpbnB1dCB0eXBlIHdpdGgga2V5Ym9hcmQgZXZl
bnRzCi0KLU9uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2Fn
ZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KLQotCi1QbGVhc2UgcnVuIHRoaXMgd2l0
aCBEdW1wUmVuZGVyVHJlZS4KLQotVGVzdCBmb2xsb3dpbmcga2V5czoKLURpZ2l0cwotTGVmdC9S
aWdodCAtIE1vdmUgZm9jdXMgZmllbGQgaW5zaWRlIGVsZW1lbnQKLVVwL0Rvd24gLSBJbmNyZW1l
bnQvZGVjcmVtZW50IHZhbHVlIG9mIGZvY3VzIGZpZWxkCi1UYWIgLSBNb3ZlIGZvY3VzIGZpZWxk
Ci1CYWNrc3BhY2UgLSBNYWtlIHZhbHVlIGVtcHR5Ci0gIAotPT0gRGlnaXQga2V5cyA9PQotUEFT
UyBpbnB1dC52YWx1ZSBpcyAiMDAxMi0wOS0yMCIKLT09IERpZ2l0IGtleXMgc3RhcnRpbmcgd2l0
aCB6ZXJvID09Ci1QQVNTIGlucHV0LnZhbHVlIGlzICIwMDQ0LTAyLTAzIgotPT0gRGlnaXQga2V5
cyBhbmQgYmFja3NwYWNlIGtleSA9PQotUEFTUyBpbnB1dC52YWx1ZSBpcyAiMDAwOC0wNS0wNiIK
LT09IExlZnQvUmlnaHQga2V5cyA9PQotUEFTUyBpbnB1dC52YWx1ZSBpcyAiMjAxMi0wOS0wNiIK
LVBBU1MgZG9jdW1lbnQuYWN0aXZlRWxlbWVudC5pZCBpcyAiaW5wdXQiCi09PSBVcC9Eb3duIGtl
eXMgPT0KLVBBU1MgaW5wdXQudmFsdWUgaXMgIjIwMTItMTAtMjkiCi1QQVNTIGlucHV0LnZhbHVl
IGlzICIyMDEyLTA4LTI5IgotPT0gVXAvRG93biBrZXlzIG9uIGVtcHR5IHZhbHVlID09Ci1QQVNT
IGlucHV0LnZhbHVlIGlzIGN1cnJlbnRZZWFyICsgIi0xMS0wMSIKLT09IFVwL0Rvd24ga2V5cyBv
biBlbXB0eSB2YWx1ZSAyID09Ci1QQVNTIGlucHV0LnZhbHVlIGlzIGN1cnJlbnRZZWFyICsgIi0w
Mi0yOCIKLT09IFRhYiBrZXkgPT0KLVBBU1MgaW5wdXQudmFsdWUgaXMgIjIwMTItMDktMDUiCi1Q
QVNTIGlucHV0LnZhbHVlIGlzICIyMDEyLTA5LTA3IgotUEFTUyBkb2N1bWVudC5hY3RpdmVFbGVt
ZW50LmlkIGlzICJhZnRlciIKLT09IFNoZml0K1RhYiBrZXkgPT0KLVBBU1MgaW5wdXQudmFsdWUg
aXMgIjAwMDMtMDktMzAiCi1QQVNTIGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQuaWQgaXMgImJlZm9y
ZSIKLT09IFVwIGtleSBvbiBtYXhpbXVtIHZhbHVlID09Ci1QQVNTIGlucHV0LnZhbHVlIGlzICIw
MDAxLTEwLTE0IgotPT0gVXAga2V5IHdpdGggYSBtYXhpbXVtIGF0dHJpYnV0ZSA9PQotUEFTUyBp
bnB1dC52YWx1ZSBpcyAiMTAwMC0wMS0wMSIKLT09IERvd24ga2V5IG9uIG1pbmltdW0gdmFsdWUg
PT0KLVBBU1MgaW5wdXQudmFsdWUgaXMgIiIKLT09IERvd24ga2V5IHdpdGggYSBtaW5pbXVtIGF0
dHJpYnV0ZSA9PQotUEFTUyBpbnB1dC52YWx1ZSBpcyAiIgotPT0gSW5jb25zaXN0ZW50IG1pbi1t
YXggYXR0cmlidXRlcyA9PQotUEFTUyBpbnB1dC52YWx1ZSBpcyAiMTAwMC0xMi0zMSIKLVBBU1Mg
aW5wdXQudmFsdWUgaXMgIjE5OTktMTItMzEiCi09PSBNYWtlIGFuIGludmFsaWQgZGF0ZSA9PQot
UEFTUyBpbnB1dC52YWx1ZSBpcyAiIgotPT0gQmFja3NwYWNlIGtleSA9PQotUEFTUyBpbnB1dC52
YWx1ZSBpcyAiIgotPT0gRGVsZXRlIGtleSA9PQotUEFTUyBpbnB1dC52YWx1ZSBpcyAiIgotPT0g
VHlwZWFoZWFkID09Ci1QQVNTIGlucHV0LnZhbHVlIGlzICIyMDEyLTEyLTAxIgotUEFTUyBpbnB1
dC52YWx1ZSBpcyAiMjAxMi0xMi0wMiIKLT09IFJUTCBmb2N1cyBuYXZpZ2F0aW9uID09Ci1UaGUg
dGVzdHMgaW4gdGhpcyBibG9jayBmYWlsIG9uIHBsYXRmb3JtcyB3aXRob3V0IHRoZSBsYW5nLWF0
dHJpYnV0ZS1hd2FyZS1mb3JtLWNvbnRyb2wtVUkgZmVhdHVyZS4KLVBBU1MgaW5wdXQudmFsdWUg
aXMgIjIwMTItMDktMDEiCi1QQVNTIGlucHV0LnZhbHVlIGlzICIyMDEyLTAyLTAxIgotUEFTUyBp
bnB1dC52YWx1ZSBpcyAiMjAxMi0wMy0wMSIKLT09IERpc2FibGVkL3JlYWRvbmx5ID09Ci1QQVNT
IGlucHV0LnZhbHVlIGlzICIyMDEyLTEwLTA4IgotUEFTUyBpbnB1dC52YWx1ZSBpcyAiMjAxMi0x
MS0wOCIKLVBBU1MgaW5wdXQudmFsdWUgaXMgIjIwMTItMTEtMDgiCi1QQVNTIGlucHV0LnZhbHVl
IGlzICIyMDEyLTEyLTA4IgotUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQotCi1URVNU
IENPTVBMRVRFCi0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvZGF0ZS1tdWx0
aXBsZS1maWVsZHMvZGF0ZS1tdWx0aXBsZS1maWVsZHMta2V5Ym9hcmQtZXZlbnRzLmh0bWwgYi9M
YXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2RhdGUtbXVsdGlwbGUtZmllbGRzL2RhdGUtbXVsdGlwbGUt
ZmllbGRzLWtleWJvYXJkLWV2ZW50cy5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAyOWNlYjUyMmRjM2Q2MmQzMmU3YzI3YWJhYjVhYWZjMGJhZjdlMWFmLi4wMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMv
ZGF0ZS1tdWx0aXBsZS1maWVsZHMvZGF0ZS1tdWx0aXBsZS1maWVsZHMta2V5Ym9hcmQtZXZlbnRz
Lmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSwyNTEgKzAsMCBAQAotPCFET0NUWVBFIGh0bWw+Ci08
aHRtbD4KLTxoZWFkPgotPHNjcmlwdCBzcmM9Ii4uLy4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXBy
ZS5qcyI+PC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keT4KLTxwIGlkPSJkZXNjcmlwdGlvbiI+PC9w
PgotPHA+Ci1QbGVhc2UgcnVuIHRoaXMgd2l0aCBEdW1wUmVuZGVyVHJlZS4KLTwvcD4KLVRlc3Qg
Zm9sbG93aW5nIGtleXM6Ci08dWw+Ci0gICAgPGxpPkRpZ2l0czwvbGk+Ci0gICAgPGxpPkxlZnQv
UmlnaHQgLSBNb3ZlIGZvY3VzIGZpZWxkIGluc2lkZSBlbGVtZW50PC9saT4KLSAgICA8bGk+VXAv
RG93biAtIEluY3JlbWVudC9kZWNyZW1lbnQgdmFsdWUgb2YgZm9jdXMgZmllbGQ8L2xpPgotICAg
IDxsaT5UYWIgLSBNb3ZlIGZvY3VzIGZpZWxkPC9saT4KLSAgICA8bGk+QmFja3NwYWNlIC0gTWFr
ZSB2YWx1ZSBlbXB0eTwvbGk+Ci08L3VsPgotPGlucHV0IGlkPSJiZWZvcmUiPgotPGlucHV0IGlk
PSJpbnB1dCIgdHlwZT0iZGF0ZSI+Ci08aW5wdXQgaWQ9ImFmdGVyIj4KLTxkaXYgaWQ9ImNvbnNv
bGUiPjwvZGl2PgotPHNjcmlwdD4KLWRlc2NyaXB0aW9uKCdNdWx0aXBsZSBmaWVsZHMgVUkgb2Yg
bW9udGggaW5wdXQgdHlwZSB3aXRoIGtleWJvYXJkIGV2ZW50cycpOwotaWYgKHdpbmRvdy5pbnRl
cm5hbHMpCi0gICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldExhbmdBdHRyaWJ1dGVBd2FyZUZvcm1D
b250cm9sVUlFbmFibGVkKHRydWUpOwotdmFyIGlucHV0ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoJ2lucHV0Jyk7Ci0KLWZ1bmN0aW9uIGtleURvd24oa2V5LCBtb2RpZmllcnMpCi17Ci0gICAg
aWYgKCF3aW5kb3cuZXZlbnRTZW5kZXIpCi0gICAgICAgIHJldHVybjsKLSAgICBldmVudFNlbmRl
ci5rZXlEb3duKGtleSwgbW9kaWZpZXJzKTsKLX0KLQotZnVuY3Rpb24gYmVnaW5UZXN0KHRpdGxl
LCBvcHRfdmFsdWUsIG9wdF9taW4sIG9wdF9tYXgpCi17Ci0gICAgZGVidWcoJz09ICcgKyB0aXRs
ZSArICcgPT0nKTsKLSAgICBpbnB1dC52YWx1ZSA9IG9wdF92YWx1ZSB8fCAnJzsKLSAgICBpbnB1
dC5taW4gPSBvcHRfbWluID8gb3B0X21pbiA6ICcnOwotICAgIGlucHV0Lm1heCA9IG9wdF9tYXgg
PyBvcHRfbWF4IDogJyc7Ci0gICAgaW5wdXQuYmx1cigpOwotICAgIGlucHV0LmZvY3VzKCk7Ci19
Ci0KLS8vIFdlIGFzc3VtZSB0aGUgZGF0ZSBmb3JtYXQgaXMgTU0vZGQveXl5eS4KLQotYmVnaW5U
ZXN0KCdEaWdpdCBrZXlzJyk7Ci1rZXlEb3duKCc5Jyk7IC8vIC0+IDA5L1tkZF0veXl5eQota2V5
RG93bignMicpOyAvLyAtPiAwOS9bMDJdL3l5eXkKLWtleURvd24oJzAnKTsgLy8gLT4gMDkvMjAv
W3l5eXldCi1rZXlEb3duKCcxJyk7IC8vIC0+IDA5LzIwL1swMDAxXQota2V5RG93bignMicpOyAv
LyAtPiAwOS8yMC9bMDAxMl0KLWtleURvd24oJ0EnKTsgLy8gSWdub3JlZC4KLXNob3VsZEJlRXF1
YWxUb1N0cmluZygnaW5wdXQudmFsdWUnLCAnMDAxMi0wOS0yMCcpOwotCi1iZWdpblRlc3QoJ0Rp
Z2l0IGtleXMgc3RhcnRpbmcgd2l0aCB6ZXJvJyk7Ci1rZXlEb3duKCcwJyk7IC8vIC0+IFswMF0v
ZGQveXl5eQota2V5RG93bignMicpOyAvLyAtPiAwMi9bZGRdL3l5eXkKLWtleURvd24oJzAnKTsg
Ly8gLT4gMDIvWzAwXS95eXl5Ci1rZXlEb3duKCczJyk7IC8vIC0+IDAyLzAzL1t5eXl5XQota2V5
RG93bignMCcpOyAvLyAtPiAwMi8wMy9bMDAwMF0KLWtleURvd24oJzAnKTsgLy8gLT4gMDIvMDMv
WzAwMDBdCi1rZXlEb3duKCcwJyk7IC8vIC0+IDAyLzAzL1swMDAwXQota2V5RG93bignNCcpOyAv
LyAtPiAwMi8wMy9bMDAwNF0KLWtleURvd24oJzQnKTsgLy8gLT4gMDIvMDMvWzAwNDRdCi1zaG91
bGRCZUVxdWFsVG9TdHJpbmcoJ2lucHV0LnZhbHVlJywgJzAwNDQtMDItMDMnKTsKLQotYmVnaW5U
ZXN0KCdEaWdpdCBrZXlzIGFuZCBiYWNrc3BhY2Uga2V5Jyk7Ci1rZXlEb3duKCcxJyk7IC8vIC0+
IFswMV0vZGQveXl5eQota2V5RG93bigiXGIiKTsgLy8gLT4gW21tXS8yMC8yMDEyCi1rZXlEb3du
KCc1Jyk7IC8vIC0+IDA1L1tkZF0veXl5eQota2V5RG93bignNicpOyAvLyAtPiAwNS8wNi9beXl5
eV0KLWtleURvd24oIlxiIik7IC8vIC0+IDA1LzA2L1t5eXl5XQota2V5RG93bignNycpOyAvLyAt
PiAwNS8wNi9bMDAwN10KLWtleURvd24oIlxiIik7IC8vIC0+IDA1LzA2L1t5eXl5XQota2V5RG93
bignOCcpOyAvLyAtPiAwNS8wNi9bMDAwOF0KLXNob3VsZEJlRXF1YWxUb1N0cmluZygnaW5wdXQu
dmFsdWUnLCAnMDAwOC0wNS0wNicpOwotCi0vLyBGSVhNRTogV2Ugc2hvdWxkIHRlc3QgdHlwZSBh
aGVhZCB0aW1lIG91dC4gV2hlbiBldmVudC5sZWFwRm9yd2FyZCgpIGFmZmVjdHMKLS8vIGtleWJv
YXJkIGV2ZW50IHRpbWUgc3RhbXAsIHdlIGNhbiB1bmNvbW1lbnQgdGhpcyBmcmFnbWVudC4KLS8q
Ci1iZWdpblRlc3QoJ0RpZ2l0IGtleXMgd2l0aCB0eXBlIGFoZWFkIHRpbWVvdXQnKTsKLWtleURv
d24oJzEnKTsgLy8gLT4gWzAxXS9kZC95eXl5Ci1sZWFwRm9yd2FyZCgxMTAwKTsgLy8gLT4gMDEv
W2RkXS95eXl5Ci1rZXlEb3duKCcxJyk7IC8vIC0+IDAxL1swMV0veXl5eQota2V5RG93bignNScp
OyAvLyAtPiAwMS8xNS9beXl5eV0KLWtleURvd24oJzYnKTsgLy8gLT4gMDEvMTUvWzAwMDZdCi1z
aG91bGRCZUVxdWFsVG9TdHJpbmcoJ2lucHV0LnZhbHVlJywgJzAwMDYtMDEtMTUnKTsKLSovCi0K
LWJlZ2luVGVzdCgnTGVmdC9SaWdodCBrZXlzJywgJzIwMTItMDktMjknKTsKLWtleURvd24oJ3Jp
Z2h0QXJyb3cnKTsgLy8gLT4gMDkvWzI5XS8yMDEyCi1rZXlEb3duKCc1Jyk7IC8vIC0+IDA5LzA1
L1syMDEyXQota2V5RG93bignbGVmdEFycm93Jyk7IC8vIC0+IDA5L1swNV0vMjAxMgota2V5RG93
bignNicpOyAvLyAtPiAwOS8wNi9bMjAxMl0KLXNob3VsZEJlRXF1YWxUb1N0cmluZygnaW5wdXQu
dmFsdWUnLCAnMjAxMi0wOS0wNicpOwota2V5RG93bignbGVmdEFycm93Jyk7IC8vIC0+IDA5L1sw
Nl0vMjAxMgota2V5RG93bignbGVmdEFycm93Jyk7IC8vIC0+IFswOV0vMDYvMjAxMgota2V5RG93
bignbGVmdEFycm93Jyk7IC8vIC0+IFswOV0vMDYvMjAxMgotc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCdkb2N1bWVudC5hY3RpdmVFbGVtZW50LmlkJywgJ2lucHV0Jyk7Ci0KLWJlZ2luVGVzdCgnVXAv
RG93biBrZXlzJywgJzIwMTItMDktMjknKTsKLWtleURvd24oJ3VwQXJyb3cnKTsgLy8gLT4gWzEw
XS8yOS8yMDEyCi1zaG91bGRCZUVxdWFsVG9TdHJpbmcoJ2lucHV0LnZhbHVlJywgJzIwMTItMTAt
MjknKTsKLWtleURvd24oJ2Rvd25BcnJvdycpOyAvLyAtPiBbMDldLzI5LzIwMTIKLWtleURvd24o
J2Rvd25BcnJvdycpOyAvLyAtPiBbMDhdLzI5LzIwMTIKLXNob3VsZEJlRXF1YWxUb1N0cmluZygn
aW5wdXQudmFsdWUnLCAnMjAxMi0wOC0yOScpOwotCi1iZWdpblRlc3QoJ1VwL0Rvd24ga2V5cyBv
biBlbXB0eSB2YWx1ZScpOwota2V5RG93bignZG93bkFycm93Jyk7IC8vICAtPiBbMTJdL2RkL3l5
eXkKLWtleURvd24oJ2Rvd25BcnJvdycpOyAvLyAgLT4gWzExXS9kZC95eXl5Ci1rZXlEb3duKCdy
aWdodEFycm93Jyk7IC8vIC0+IDExL1tkZF0veXl5eQota2V5RG93bigndXBBcnJvdycpOyAvLyAg
ICAtPiAxMS9bMDFdL3l5eXkKLWtleURvd24oJ3VwQXJyb3cnKTsgLy8gICAgLT4gMTEvWzAyXS95
eXl5Ci1rZXlEb3duKCdkb3duQXJyb3cnKTsgLy8gIC0+IDExL1swMV0veXl5eQota2V5RG93bign
cmlnaHRBcnJvdycpOyAvLyAtPiAxMS8wMS9beXl5eV0KLXZhciBjdXJyZW50WWVhciA9IG5ldyBE
YXRlKCkuZ2V0RnVsbFllYXIoKTsKLWtleURvd24oJ3VwQXJyb3cnKTsgLy8gLT4gMTEvMDEvW2N1
cnJlbnQgeWVhcl0KLXNob3VsZEJlKCdpbnB1dC52YWx1ZScsICdjdXJyZW50WWVhciArICItMTEt
MDEiJyk7Ci0KLWJlZ2luVGVzdCgnVXAvRG93biBrZXlzIG9uIGVtcHR5IHZhbHVlIDInKTsKLWtl
eURvd24oJ3VwQXJyb3cnKTsgLy8gICAgLT4gWzAxXS9kZC95eXl5Ci1rZXlEb3duKCd1cEFycm93
Jyk7IC8vICAgIC0+IFswMl0vZGQveXl5eQota2V5RG93bigncmlnaHRBcnJvdycpOyAvLyAtPiAw
Mi9bZGRdL3l5eXkKLWtleURvd24oJ2Rvd25BcnJvdycpOyAvLyAgLT4gMDIvWzMxXS95eXl5Ci1r
ZXlEb3duKCdkb3duQXJyb3cnKTsgLy8gIC0+IDAyL1szMF0veXl5eQota2V5RG93bignZG93bkFy
cm93Jyk7IC8vICAtPiAwMi9bMjldL3l5eXkKLWtleURvd24oJ2Rvd25BcnJvdycpOyAvLyAgLT4g
MDIvWzI4XS95eXl5Ci1rZXlEb3duKCdyaWdodEFycm93Jyk7IC8vIC0+IDAyLzI4L1t5eXl5XQot
Y3VycmVudFllYXIgPSBuZXcgRGF0ZSgpLmdldEZ1bGxZZWFyKCk7Ci1rZXlEb3duKCdkb3duQXJy
b3cnKTsgLy8gLT4gMDIvMjgvW2N1cnJlbnQgeWVhcl0KLXNob3VsZEJlKCdpbnB1dC52YWx1ZScs
ICdjdXJyZW50WWVhciArICItMDItMjgiJyk7Ci0KLWJlZ2luVGVzdCgnVGFiIGtleScsICcyMDEy
LTA5LTMwJyk7Ci1rZXlEb3duKCdcdCcpOyAvLyAtPiAwOS9bMzBdLzIwMTIKLWtleURvd24oJzUn
KTsgLy8gLT4gMDkvMDUvWzIwMTJdCi1zaG91bGRCZUVxdWFsVG9TdHJpbmcoJ2lucHV0LnZhbHVl
JywgJzIwMTItMDktMDUnKTsKLWtleURvd24oJ1x0JywgWydzaGlmdEtleSddKTsgLy8gLT4gMDkv
WzA1XS8yMDEyCi1rZXlEb3duKCc3Jyk7IC8vIC0+IDA5LzA3L1syMDEyXQotc2hvdWxkQmVFcXVh
bFRvU3RyaW5nKCdpbnB1dC52YWx1ZScsICcyMDEyLTA5LTA3Jyk7Ci1rZXlEb3duKCdcdCcpOyAv
LyAtPiBGb2N1cyBvdXQuCi1zaG91bGRCZUVxdWFsVG9TdHJpbmcoJ2RvY3VtZW50LmFjdGl2ZUVs
ZW1lbnQuaWQnLCAnYWZ0ZXInKTsKLQotYmVnaW5UZXN0KCdTaGZpdCtUYWIga2V5JywgJzIwMTIt
MDktMzAnKTsKLWFmdGVyLmZvY3VzKCk7Ci1rZXlEb3duKCdcdCcsIFsnc2hpZnRLZXknXSk7IC8v
IC0+IDA5LzMwL1t5eXl5XQota2V5RG93bignMycpOyAvLyAtPiAwOS8zMC9bMDAwM10KLXNob3Vs
ZEJlRXF1YWxUb1N0cmluZygnaW5wdXQudmFsdWUnLCAnMDAwMy0wOS0zMCcpOwota2V5RG93bign
XHQnLCBbJ3NoaWZ0S2V5J10pOyAvLyAtPiAwOS9bMzBdLzAwMDMKLWtleURvd24oJ1x0JywgWydz
aGlmdEtleSddKTsgLy8gLT4gWzA5XS8zMC8wMDAzCi1rZXlEb3duKCdcdCcsIFsnc2hpZnRLZXkn
XSk7IC8vIC0+IEZvY3VzIG91dC4KLXNob3VsZEJlRXF1YWxUb1N0cmluZygnZG9jdW1lbnQuYWN0
aXZlRWxlbWVudC5pZCcsICdiZWZvcmUnKTsKLQotYmVnaW5UZXN0KCdVcCBrZXkgb24gbWF4aW11
bSB2YWx1ZScsICcyNzU3NjAtMDktMTMnKTsKLWtleURvd24oJ3VwQXJyb3cnKTsgLy8gLT4gWzEw
XS8xMy8yNzU3NjAKLWtleURvd24oJ1x0Jyk7IC8vICAgICAgLT4gMTAvWzEzXS8yNzU3NjAKLWtl
eURvd24oJ3VwQXJyb3cnKTsgLy8gLT4gMTAvWzE0XS8yNzU3NjAKLWtleURvd24oJ1x0Jyk7IC8v
ICAgICAgLT4gMTAvMTQvWzI3NTc2MF0KLWtleURvd24oJ3VwQXJyb3cnKTsgLy8gLT4gMTAvMTQv
WzAwMDFdCi1zaG91bGRCZUVxdWFsVG9TdHJpbmcoJ2lucHV0LnZhbHVlJywgJzAwMDEtMTAtMTQn
KTsKLWJlZ2luVGVzdCgnVXAga2V5IHdpdGggYSBtYXhpbXVtIGF0dHJpYnV0ZScsICcxOTk5LTEy
LTMxJywgJzEwMDAtMDEtMDEnLCAnMTk5OS0xMi0zMScpOwota2V5RG93bigndXBBcnJvdycpOyAv
LyAtPiBbMDFdLzMxLzE5OTkKLWtleURvd24oJ1x0Jyk7IC8vICAgICAgLT4gMDEvWzMxXS8xOTk5
Ci1rZXlEb3duKCd1cEFycm93Jyk7IC8vIC0+IDAxL1swMV0vMTk5OQota2V5RG93bignXHQnKTsg
Ly8gICAgICAtPiAwMS8wMS9bMTk5OV0KLWtleURvd24oJ3VwQXJyb3cnKTsgLy8gLT4gMDEvMDEv
WzEwMDBdCi1zaG91bGRCZUVxdWFsVG9TdHJpbmcoJ2lucHV0LnZhbHVlJywgJzEwMDAtMDEtMDEn
KTsKLQotYmVnaW5UZXN0KCdEb3duIGtleSBvbiBtaW5pbXVtIHZhbHVlJywgJzAwMDEtMDEtMDEn
LCAnYmFkIG1pbicsICd3cm9uZyBtYXgnKTsKLWtleURvd24oJ2Rvd25BcnJvdycpOyAvLyAtPiBb
MTJdLzAxLzAwMDEKLWtleURvd24oJ1x0Jyk7IC8vICAgICAgICAtPiAxMi9bMDFdLzAwMDEKLWtl
eURvd24oJ2Rvd25BcnJvdycpOyAvLyAtPiAxMi9bMzFdLzAwMDEKLWtleURvd24oJ1x0Jyk7IC8v
ICAgICAgICAtPiAxMi8zMS9bMDAwMV0KLWtleURvd24oJ2Rvd25BcnJvdycpOyAvLyAtPiAxMi8z
MS9bMjc1NzYwXSwgd2hpY2ggaXMgZ3JlYXRlciB0aGFuIHRoZSBoYXJkIGxpbWl0Lgotc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCdpbnB1dC52YWx1ZScsICcnKTsKLWJlZ2luVGVzdCgnRG93biBrZXkg
d2l0aCBhIG1pbmltdW0gYXR0cmlidXRlJywgJzEwMDAtMDEtMDEnLCAnMTAwMC0wMS0wMScpOwot
a2V5RG93bignZG93bkFycm93Jyk7IC8vIC0+IFsxMl0vMDEvMTAwMAota2V5RG93bignXHQnKTsg
Ly8gICAgICAgIC0+IDEyL1swMV0vMTAwMAota2V5RG93bignZG93bkFycm93Jyk7IC8vIC0+IDEy
L1szMV0vMTAwMAota2V5RG93bignXHQnKTsgLy8gICAgICAgIC0+IDEyLzMxL1sxMDAwXQota2V5
RG93bignZG93bkFycm93Jyk7IC8vIC0+IDEyLzMxLzI3NTc2MCwgd2hpY2ggaXMgZ3JlYXRlciB0
aGFuIHRoZSBoYXJkIGxpbWl0Lgotc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdpbnB1dC52YWx1ZScs
ICcnKTsKLQotYmVnaW5UZXN0KCdJbmNvbnNpc3RlbnQgbWluLW1heCBhdHRyaWJ1dGVzJywgJzE5
OTktMTItMzEnLCAnMTk5OS0xMi0zMScsICcxMDAwLTAxLTAxJyk7Ci1rZXlEb3duKCdcdCcpOyAv
LyAtPiAxMi9bMzFdLzE5OTkKLWtleURvd24oJ1x0Jyk7IC8vIC0+IDEyLzMxL1sxOTk5XQota2V5
RG93bigndXBBcnJvdycpOyAvLyAtPiAxMi8zMS9bMTAwMF0uICAxMDAwIGlzIHRoZSBzd2FwcGVk
IG1pbmltdW0geWVhci4KLXNob3VsZEJlRXF1YWxUb1N0cmluZygnaW5wdXQudmFsdWUnLCAnMTAw
MC0xMi0zMScpOwota2V5RG93bignZG93bkFycm93Jyk7IC8vIC0+IDEyLzMxL1sxOTk5XQotc2hv
dWxkQmVFcXVhbFRvU3RyaW5nKCdpbnB1dC52YWx1ZScsICcxOTk5LTEyLTMxJyk7Ci0KLWJlZ2lu
VGVzdCgnTWFrZSBhbiBpbnZhbGlkIGRhdGUnLCAnMjAxMi0wMi0wMScpOwota2V5RG93bignXHQn
KTsgLy8gICAgICAgIC0+IDAyL1swMV0vMjAxMgota2V5RG93bignZG93bkFycm93Jyk7IC8vIC0+
IDAyL1szMV0vMjAxMgotc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdpbnB1dC52YWx1ZScsICcnKTsg
Ly8gMjAxMi0wMi0zMSBpcyBub3QgYSB2YWxpZCBkYXRlLgotCi1iZWdpblRlc3QoJ0JhY2tzcGFj
ZSBrZXknLCAnMjAxMi0wOS0yMCcpOwota2V5RG93bigiXGIiKTsgLy8gLT4gW21tXS8yMC8yMDEy
Ci1zaG91bGRCZUVxdWFsVG9TdHJpbmcoJ2lucHV0LnZhbHVlJywgJycpOwotCi1iZWdpblRlc3Qo
J0RlbGV0ZSBrZXknLCAnMjAxMi0wOS0zMCcpOwota2V5RG93bigiZGVsZXRlIik7IC8vIC0+IFtt
bV0vMzAvMjAxMgotc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdpbnB1dC52YWx1ZScsICcnKTsKLQot
YmVnaW5UZXN0KCdUeXBlYWhlYWQnLCAnMjAxMi0xMi0zMScpOwota2V5RG93bigncmlnaHRBcnJv
dycpOyAvLyAtPiAxMi9bMzFdLzIwMTIKLWtleURvd24oJzEnKTsgLy8gICAgICAgICAgLT4gMTIv
WzAxXS8yMDEyCi1zaG91bGRCZUVxdWFsVG9TdHJpbmcoJ2lucHV0LnZhbHVlJywgJzIwMTItMTIt
MDEnKTsKLWtleURvd24oJ2xlZnRBcnJvdycpOyAvLyAgLT4gWzEyXS8wMS8yMDEyCi1rZXlEb3du
KCdyaWdodEFycm93Jyk7IC8vIC0+IDEyL1swMV0vMjAxMgota2V5RG93bignMicpOyAvLyAgICAg
ICAgICAtPiAxMi9bMDJdLzIwMTIKLXNob3VsZEJlRXF1YWxUb1N0cmluZygnaW5wdXQudmFsdWUn
LCAnMjAxMi0xMi0wMicpOwotCi1pbnB1dC5zZXRBdHRyaWJ1dGUoImxhbmciLCAiaGUtaWwiKTsK
LWJlZ2luVGVzdCgnUlRMIGZvY3VzIG5hdmlnYXRpb24nLCAnMjAxMi0wOS0yOCcpOwotZGVidWco
J1RoZSB0ZXN0cyBpbiB0aGlzIGJsb2NrIGZhaWwgb24gcGxhdGZvcm1zIHdpdGhvdXQgdGhlIGxh
bmctYXR0cmlidXRlLWF3YXJlLWZvcm0tY29udHJvbC1VSSBmZWF0dXJlLicpOwotLy8gQm90aCBv
ZiB0aGUgbG9naWNhbCBvcmRlciBhbmQgdmlzdWFsIG9yZGVyIGFyZTogZGQvTU0veXl5eQotLy8g
SW5pdGlhbCBzdGF0ZTogICAgICAgICAgICBbMjhdLzA5LzIwMTIKLWtleURvd24oJ3VwQXJyb3cn
KTsgLy8gICAgLT4gWzI5XS8wOS8yMDEyCi1rZXlEb3duKCdyaWdodEFycm93Jyk7IC8vIC0+IFsw
MV0vMDkvMjAxMgota2V5RG93bignMScpOyAvLyAgICAgICAgICAtPiBbMDFdLzA5LzIwMTIKLXNo
b3VsZEJlRXF1YWxUb1N0cmluZygnaW5wdXQudmFsdWUnLCAnMjAxMi0wOS0wMScpOwota2V5RG93
bignXHQnKTsgLy8gICAgICAgICAtPiAwMS9bMDldLzIwMTIKLWtleURvd24oJzInKTsgLy8gICAg
ICAgICAgLT4gMDEvMDIvWzIwMTJdCi1zaG91bGRCZUVxdWFsVG9TdHJpbmcoJ2lucHV0LnZhbHVl
JywgJzIwMTItMDItMDEnKTsKLWtleURvd24oJ1x0JywgWydzaGlmdEtleSddKTsgLy8gLT4gMDEv
WzAyXS8yMDEyLwota2V5RG93bignMycpOyAvLyAgICAgICAgICAtPiAwMS8wMy9bMjAxMl0KLXNo
b3VsZEJlRXF1YWxUb1N0cmluZygnaW5wdXQudmFsdWUnLCAnMjAxMi0wMy0wMScpOwotaW5wdXQu
cmVtb3ZlQXR0cmlidXRlKCJsYW5nIik7Ci0KLWJlZ2luVGVzdCgnRGlzYWJsZWQvcmVhZG9ubHkn
LCAnMjAxMi0xMC0wOCcpOwotaW5wdXQuZGlzYWJsZWQgPSB0cnVlOwota2V5RG93bigndXBBcnJv
dycpOyAvLyAxMC8wOC8yMDEyCi1zaG91bGRCZUVxdWFsVG9TdHJpbmcoJ2lucHV0LnZhbHVlJywg
JzIwMTItMTAtMDgnKTsKLWlucHV0LmRpc2FibGVkID0gZmFsc2U7Ci1pbnB1dC5mb2N1cygpOwot
a2V5RG93bigndXBBcnJvdycpOyAvLyBbMTFdLzA4LzIwMTIKLXNob3VsZEJlRXF1YWxUb1N0cmlu
ZygnaW5wdXQudmFsdWUnLCAnMjAxMi0xMS0wOCcpOwotaW5wdXQucmVhZE9ubHkgPSB0cnVlOwot
a2V5RG93bigndXBBcnJvdycpOyAvLyAxMS8wOC8yMDEyCi1zaG91bGRCZUVxdWFsVG9TdHJpbmco
J2lucHV0LnZhbHVlJywgJzIwMTItMTEtMDgnKTsKLWlucHV0LnJlYWRPbmx5ID0gZmFsc2U7Ci1p
bnB1dC5mb2N1cygpOwota2V5RG93bigndXBBcnJvdycpOyAvLyBbMTJdLzA4LzIwMTIKLXNob3Vs
ZEJlRXF1YWxUb1N0cmluZygnaW5wdXQudmFsdWUnLCAnMjAxMi0xMi0wOCcpOwotCi08L3Njcmlw
dD4KLTxzY3JpcHQgc3JjPSIuLi8uLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3Nj
cmlwdD4KLTwvYm9keT4KLTwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZm9y
bXMvZGF0ZS1tdWx0aXBsZS1maWVsZHMvZGF0ZS1tdWx0aXBsZS1maWVsZHMtbW91c2UtZXZlbnRz
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvZGF0ZS1tdWx0aXBsZS1maWVs
ZHMvZGF0ZS1tdWx0aXBsZS1maWVsZHMtbW91c2UtZXZlbnRzLWV4cGVjdGVkLnR4dApkZWxldGVk
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggY2FmM2E2NzBjMWY1Zjc2OTI5YTdiNmIzMTIyYTUxOWI5
N2ViZTBiOS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9M
YXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2RhdGUtbXVsdGlwbGUtZmllbGRzL2RhdGUtbXVsdGlwbGUt
ZmllbGRzLW1vdXNlLWV2ZW50cy1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSw0NCAr
MCwwIEBACi1NdWx0aXBsZSBmaWVsZHMgVUkgb2YgZGF0ZSBpbnB1dCB0eXBlIHdpdGggbW91c2Ug
ZXZlbnRzCi0KLU9uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVz
c2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KLQotCi1QbGVhc2UgcnVuIHRoaXMg
d2l0aCBEUlQgb3IgV1RSLgotCi1UZXN0IGZvbGxvd2luZyBtb3VzZSBhY3Rpb25zOgotTW91c2Ug
Y2xpY2sgdG8gZm9jdXMgZWFjaCBvZiBzdWItZmllbGRzCi1Nb3VzZSBjbGljayBvbiB0aGUgc3Bp
biBidXR0b24gdG8gdXBkYXRlIGVhY2ggb2Ygc3ViLWZpZWxkcwotCi09PT4gRm9jdXMgb24gdGhl
IG1vbnRoIGZpZWxkLgotUEFTUyBpbnB1dC52YWx1ZSBpcyAiMjM0NS0wOC0xOSIKLVBBU1MgaW5w
dXQudmFsdWUgaXMgIjIzNDUtMDktMTkiCi1QQVNTIGlucHV0LnZhbHVlIGlzICIyMzQ1LTA4LTE5
IgotUEFTUyB3aW5kb3cuZ2V0U2VsZWN0aW9uKCkucmFuZ2VDb3VudCBpcyAwCi0KLT09PiBGb2N1
cyBvbiB0aGUgZGF5IGZpZWxkLgotUEFTUyBpbnB1dC52YWx1ZSBpcyAiMjM0NS0wOC0yMCIKLVBB
U1MgaW5wdXQudmFsdWUgaXMgIjIzNDUtMDgtMjEiCi1QQVNTIGlucHV0LnZhbHVlIGlzICIyMzQ1
LTA4LTIwIgotUEFTUyB3aW5kb3cuZ2V0U2VsZWN0aW9uKCkucmFuZ2VDb3VudCBpcyAwCi0KLT09
PiBGb2N1cyBvbiB0aGUgeWVhciBmaWVsZC4KLVBBU1MgaW5wdXQudmFsdWUgaXMgIjIzNDYtMDgt
MjAiCi1QQVNTIGlucHV0LnZhbHVlIGlzICIyMzQ3LTA4LTIwIgotUEFTUyBpbnB1dC52YWx1ZSBp
cyAiMjM0Ni0wOC0yMCIKLVBBU1Mgd2luZG93LmdldFNlbGVjdGlvbigpLnJhbmdlQ291bnQgaXMg
MAotCi09PT4gQ2xpY2sgb24gYSBkaXNhYmxlZCBmaWVsZC4KLVBBU1MgaW5wdXQudmFsdWUgaXMg
IjIzNDYtMDgtMjAiCi0KLT09PiBDbGljayBvbiBhIHJlYWQtb25seSBmaWVsZC4KLVBBU1MgaW5w
dXQudmFsdWUgaXMgIjIzNDYtMDgtMjAiCi0KLT09PiBDbGljayBvbiBjbGVhciBidXR0b24uCi1Q
QVNTIGlucHV0LnZhbHVlIGlzICIyMzQ2LTA4LTIwIgotUEFTUyBpbnB1dC52YWx1ZSBpcyAiMjM0
Ni0wOC0yMCIKLVBBU1MgaW5wdXQudmFsdWUgaXMgIiIKLQotUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQotCi1URVNUIENPTVBMRVRFCi0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zh
c3QvZm9ybXMvZGF0ZS1tdWx0aXBsZS1maWVsZHMvZGF0ZS1tdWx0aXBsZS1maWVsZHMtbW91c2Ut
ZXZlbnRzLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2RhdGUtbXVsdGlwbGUtZmllbGRz
L2RhdGUtbXVsdGlwbGUtZmllbGRzLW1vdXNlLWV2ZW50cy5odG1sCmRlbGV0ZWQgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAzZDdjYmNlMmVlNjhhMTkyMzJjNjdhYWIxNWVhYjkxOWQ2NDhkNTM1Li4w
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3Rz
L2Zhc3QvZm9ybXMvZGF0ZS1tdWx0aXBsZS1maWVsZHMvZGF0ZS1tdWx0aXBsZS1maWVsZHMtbW91
c2UtZXZlbnRzLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSwxMDggKzAsMCBAQAotPCFET0NUWVBF
IGh0bWw+Ci08aHRtbD4KLTxoZWFkPgotPHNjcmlwdCBzcmM9Ii4uLy4uL2pzL3Jlc291cmNlcy9q
cy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keT4KLTxwIGlkPSJkZXNjcmlw
dGlvbiI+PC9wPgotPHA+Ci1QbGVhc2UgcnVuIHRoaXMgd2l0aCBEUlQgb3IgV1RSLgotPC9wPgot
VGVzdCBmb2xsb3dpbmcgbW91c2UgYWN0aW9uczoKLTx1bD4KLSAgICA8bGk+TW91c2UgY2xpY2sg
dG8gZm9jdXMgZWFjaCBvZiBzdWItZmllbGRzPC9saT4KLSAgICA8bGk+TW91c2UgY2xpY2sgb24g
dGhlIHNwaW4gYnV0dG9uIHRvIHVwZGF0ZSBlYWNoIG9mIHN1Yi1maWVsZHM8L2xpPgotPC91bD4K
LTxpbnB1dCBpZD0iaW5wdXQiIHR5cGU9ImRhdGUiIHN0eWxlPSJmb250LWZhbWlseTphaGVtOyBm
b250LXNpemU6MTZweDsiPgotPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Ci08c2NyaXB0PgotZGVz
Y3JpcHRpb24oJ011bHRpcGxlIGZpZWxkcyBVSSBvZiBkYXRlIGlucHV0IHR5cGUgd2l0aCBtb3Vz
ZSBldmVudHMnKTsKLXZhciBpbnB1dCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdpbnB1dCcp
OwotCi1mdW5jdGlvbiBrZXlEb3duKGtleSwgbW9kaWZpZXJzKQotewotICAgIGlmICghd2luZG93
LmV2ZW50U2VuZGVyKQotICAgICAgICByZXR1cm47Ci0gICAgZXZlbnRTZW5kZXIua2V5RG93bihr
ZXksIG1vZGlmaWVycyk7Ci19Ci0KLWZ1bmN0aW9uIG1vdXNlQ2xpY2tPbih4LCB5KQotewotICAg
IGlmICghd2luZG93LmV2ZW50U2VuZGVyKQotICAgICAgICByZXR1cm47Ci0gICAgZXZlbnRTZW5k
ZXIubW91c2VNb3ZlVG8oeCArIGlucHV0Lm9mZnNldExlZnQsIHkgKyBpbnB1dC5vZmZzZXRUb3Ap
OwotICAgIGV2ZW50U2VuZGVyLm1vdXNlRG93bigpOwotICAgIGV2ZW50U2VuZGVyLm1vdXNlVXAo
KTsKLX0KLQotaW5wdXQudmFsdWUgPSAnMjM0NS0wNy0xOSc7Ci12YXIgY2VudGVyID0gaW5wdXQu
b2Zmc2V0SGVpZ2h0IC8gMjsKLXZhciBzcGluQnV0dG9uT2Zmc2V0ID0gMjY7Ci12YXIgY2xlYXJC
dXR0b25PZmZzZXQgPSA0MTsKLQotZGVidWcoJz09PiBGb2N1cyBvbiB0aGUgbW9udGggZmllbGQu
Jyk7Ci1tb3VzZUNsaWNrT24oMTIsIGNlbnRlcik7Ci1rZXlEb3duKCd1cEFycm93Jyk7Ci1zaG91
bGRCZUVxdWFsVG9TdHJpbmcoJ2lucHV0LnZhbHVlJywgJzIzNDUtMDgtMTknKTsKLW1vdXNlQ2xp
Y2tPbihpbnB1dC5vZmZzZXRXaWR0aCAtIHNwaW5CdXR0b25PZmZzZXQsIGNlbnRlciAtIDEpOwot
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdpbnB1dC52YWx1ZScsICcyMzQ1LTA5LTE5Jyk7Ci1tb3Vz
ZUNsaWNrT24oaW5wdXQub2Zmc2V0V2lkdGggLSBzcGluQnV0dG9uT2Zmc2V0LCBjZW50ZXIgKyAx
KTsKLXNob3VsZEJlRXF1YWxUb1N0cmluZygnaW5wdXQudmFsdWUnLCAnMjM0NS0wOC0xOScpOwot
c2hvdWxkQmVaZXJvKCd3aW5kb3cuZ2V0U2VsZWN0aW9uKCkucmFuZ2VDb3VudCcpOyAvLyBObyB0
ZXh0IHNlbGVjdGlvbi4KLQotZGVidWcoJycpOwotZGVidWcoJz09PiBGb2N1cyBvbiB0aGUgZGF5
IGZpZWxkLicpOwotbW91c2VDbGlja09uKDYwLCBjZW50ZXIpOwota2V5RG93bigndXBBcnJvdycp
Owotc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdpbnB1dC52YWx1ZScsICcyMzQ1LTA4LTIwJyk7Ci1t
b3VzZUNsaWNrT24oaW5wdXQub2Zmc2V0V2lkdGggLSBzcGluQnV0dG9uT2Zmc2V0LCBjZW50ZXIg
LSAxKTsKLXNob3VsZEJlRXF1YWxUb1N0cmluZygnaW5wdXQudmFsdWUnLCAnMjM0NS0wOC0yMScp
OwotbW91c2VDbGlja09uKGlucHV0Lm9mZnNldFdpZHRoIC0gc3BpbkJ1dHRvbk9mZnNldCwgY2Vu
dGVyICsgMSk7Ci1zaG91bGRCZUVxdWFsVG9TdHJpbmcoJ2lucHV0LnZhbHVlJywgJzIzNDUtMDgt
MjAnKTsKLXNob3VsZEJlWmVybygnd2luZG93LmdldFNlbGVjdGlvbigpLnJhbmdlQ291bnQnKTsg
Ly8gTm8gdGV4dCBzZWxlY3Rpb24uCi0KLWRlYnVnKCcnKTsKLWRlYnVnKCc9PT4gRm9jdXMgb24g
dGhlIHllYXIgZmllbGQuJyk7Ci1tb3VzZUNsaWNrT24oaW5wdXQub2Zmc2V0V2lkdGggLSAxMTUs
IGNlbnRlcik7Ci1rZXlEb3duKCd1cEFycm93Jyk7Ci1zaG91bGRCZUVxdWFsVG9TdHJpbmcoJ2lu
cHV0LnZhbHVlJywgJzIzNDYtMDgtMjAnKTsKLW1vdXNlQ2xpY2tPbihpbnB1dC5vZmZzZXRXaWR0
aCAtIHNwaW5CdXR0b25PZmZzZXQsIGNlbnRlciAtIDEpOwotc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCdpbnB1dC52YWx1ZScsICcyMzQ3LTA4LTIwJyk7Ci1tb3VzZUNsaWNrT24oaW5wdXQub2Zmc2V0
V2lkdGggLSBzcGluQnV0dG9uT2Zmc2V0LCBjZW50ZXIgKyAxKTsKLXNob3VsZEJlRXF1YWxUb1N0
cmluZygnaW5wdXQudmFsdWUnLCAnMjM0Ni0wOC0yMCcpOwotc2hvdWxkQmVaZXJvKCd3aW5kb3cu
Z2V0U2VsZWN0aW9uKCkucmFuZ2VDb3VudCcpOyAvLyBObyB0ZXh0IHNlbGVjdGlvbi4KLQotZGVi
dWcoJycpOwotZGVidWcoJz09PiBDbGljayBvbiBhIGRpc2FibGVkIGZpZWxkLicpOwotaW5wdXQu
ZGlzYWJsZWQgPSB0cnVlOwotbW91c2VDbGlja09uKDEyLCBjZW50ZXIpOwota2V5RG93bigndXBB
cnJvdycpOwotc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdpbnB1dC52YWx1ZScsICcyMzQ2LTA4LTIw
Jyk7Ci1pbnB1dC5kaXNhYmxlZCA9IGZhbHNlOwotCi1kZWJ1ZygnJyk7Ci1kZWJ1ZygnPT0+IENs
aWNrIG9uIGEgcmVhZC1vbmx5IGZpZWxkLicpOwotaW5wdXQucmVhZE9ubHkgPSB0cnVlOwotbW91
c2VDbGlja09uKDEyLCBjZW50ZXIpOwota2V5RG93bigndXBBcnJvdycpOwotc2hvdWxkQmVFcXVh
bFRvU3RyaW5nKCdpbnB1dC52YWx1ZScsICcyMzQ2LTA4LTIwJyk7Ci1pbnB1dC5yZWFkT25seSA9
IGZhbHNlOwotCi1kZWJ1ZygnJyk7Ci1kZWJ1ZygnPT0+IENsaWNrIG9uIGNsZWFyIGJ1dHRvbi4n
KTsKLWlucHV0LnJlYWRPbmx5ID0gdHJ1ZTsKLW1vdXNlQ2xpY2tPbihpbnB1dC5vZmZzZXRXaWR0
aCAtIGNsZWFyQnV0dG9uT2Zmc2V0LCBjZW50ZXIpOwotc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdp
bnB1dC52YWx1ZScsICcyMzQ2LTA4LTIwJyk7Ci1pbnB1dC5kaXNhYmxlZCA9IHRydWU7Ci1pbnB1
dC5yZWFkT25seSA9IGZhbHNlOwotbW91c2VDbGlja09uKGlucHV0Lm9mZnNldFdpZHRoIC0gY2xl
YXJCdXR0b25PZmZzZXQsIGNlbnRlcik7Ci1zaG91bGRCZUVxdWFsVG9TdHJpbmcoJ2lucHV0LnZh
bHVlJywgJzIzNDYtMDgtMjAnKTsKLWlucHV0LmRpc2FibGVkID0gZmFsc2U7Ci1tb3VzZUNsaWNr
T24oaW5wdXQub2Zmc2V0V2lkdGggLSBjbGVhckJ1dHRvbk9mZnNldCwgY2VudGVyKTsKLXNob3Vs
ZEJlRXF1YWxUb1N0cmluZygnaW5wdXQudmFsdWUnLCAnJyk7Ci0KLWRlYnVnKCcnKTsKLTwvc2Ny
aXB0PgotPHNjcmlwdCBzcmM9Ii4uLy4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwv
c2NyaXB0PgotPC9ib2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9m
b3Jtcy9kYXRlLW11bHRpcGxlLWZpZWxkcy9kYXRlLW11bHRpcGxlLWZpZWxkcy1wcmVzZXJ2ZS12
YWx1ZS1hZnRlci1oaXN0b3J5LWJhY2stZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9m
b3Jtcy9kYXRlLW11bHRpcGxlLWZpZWxkcy9kYXRlLW11bHRpcGxlLWZpZWxkcy1wcmVzZXJ2ZS12
YWx1ZS1hZnRlci1oaXN0b3J5LWJhY2stZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwNzBkMDY3YWRlOTY1ODYzNDY2YjEyYjgzODVhZTVkZTE1ODU1MmFlLi4wMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2Zh
c3QvZm9ybXMvZGF0ZS1tdWx0aXBsZS1maWVsZHMvZGF0ZS1tdWx0aXBsZS1maWVsZHMtcHJlc2Vy
dmUtdmFsdWUtYWZ0ZXItaGlzdG9yeS1iYWNrLWV4cGVjdGVkLnR4dAorKysgL2Rldi9udWxsCkBA
IC0xLDE4ICswLDAgQEAKLUNoZWNrcyBpbnB1dCB2YWx1ZSBpcyBwcmVzZXJ2ZWQgYWZ0ZXIgYmFj
a3dhcmQgYW5kIGZvcndhcmQKLQotT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9m
ICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgotCi0KLVdlbnQg
YmFjayB0byBhIHBhZ2UuIENoZWNraW5nIGEgZm9ybSBjb250cm9sIHdoaWNoIGhhZCBhIGZ1bGwg
dmFsdWU6Ci1QQVNTICIxMjAxMi0xMC0wOSIgaXMgIjEyMDEyLTEwLTA5IgotV2VudCBiYWNrIHRv
IGEgcGFnZS4gQ2hlY2tpbmcgYSBmb3JtIGNvbnRyb2wgd2hpY2ggaGFkIGEgcGFydGlhbCB2YWx1
ZToKLVBBU1MgIjAxL2RkLzE5OTkiIGlzICIwMS9kZC8xOTk5IgotV2VudCBmb3J3YXJkIHRvIGEg
cGFnZS4gQ2hlY2tpbmcgYSBmb3JtIGNvbnRyb2wgd2hpY2ggaGFkIGEgZnVsbCB2YWx1ZToKLVBB
U1MgIjAwMDEtMTEtMTciIGlzICIwMDAxLTExLTE3IgotV2VudCBmb3J3YXJkIHRvIGEgcGFnZS4g
Q2hlY2tpbmcgYSBmb3JtIGNvbnRyb2wgd2hpY2ggaGFkIGEgcGFydGlhbCB2YWx1ZToKLVBBU1Mg
Im1tLzMxL3l5eXkiIGlzICJtbS8zMS95eXl5IgotCi1QQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBp
cyB0cnVlCi0KLVRFU1QgQ09NUExFVEUKLQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9m
b3Jtcy9kYXRlLW11bHRpcGxlLWZpZWxkcy9kYXRlLW11bHRpcGxlLWZpZWxkcy1wcmVzZXJ2ZS12
YWx1ZS1hZnRlci1oaXN0b3J5LWJhY2suaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvZGF0
ZS1tdWx0aXBsZS1maWVsZHMvZGF0ZS1tdWx0aXBsZS1maWVsZHMtcHJlc2VydmUtdmFsdWUtYWZ0
ZXItaGlzdG9yeS1iYWNrLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDVmZGE2
ZDk3N2Q5ZTBiNmY0NTQwYzdjMmE4NDdiODZhZWNiMzkxMmQuLjAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9kYXRlLW11
bHRpcGxlLWZpZWxkcy9kYXRlLW11bHRpcGxlLWZpZWxkcy1wcmVzZXJ2ZS12YWx1ZS1hZnRlci1o
aXN0b3J5LWJhY2suaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDQyICswLDAgQEAKLTwhRE9DVFlQ
RSBodG1sPgotPGh0bWw+Ci08aGVhZD4KLTxzY3JpcHQgc3JjPSIuLi8uLi8uLi9mYXN0L2pzL3Jl
c291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keT4KLTxpZnJh
bWUgaWQ9ImlmcmFtZSI+PC9pZnJhbWU+Ci08c2NyaXB0PgotZGVzY3JpcHRpb24oJ0NoZWNrcyBp
bnB1dCB2YWx1ZSBpcyBwcmVzZXJ2ZWQgYWZ0ZXIgYmFja3dhcmQgYW5kIGZvcndhcmQnKTsKLWlm
ICghd2luZG93LmV2ZW50U2VuZGVyIHx8ICF3aW5kb3cuaW50ZXJuYWxzKQotICAgIGRlYnVnKCdQ
bGVhc2UgcnVuIHdpdGhpbiBEUlQvV1RSJyk7Ci13aW5kb3cuanNUZXN0SXNBc3luYyA9IHRydWU7
Ci0KLXZhciBzdGF0ZSA9ICdkaXJlY3QnOwotdmFyIHRlc3RDYXNlcyA9IFtdOwotCi1mdW5jdGlv
biBmYWlsZWQobWVzc2FnZSkgewotICAgIHRlc3RGYWlsZWQobWVzc2FnZSArICcgaW4gJyArIHN0
YXRlKTsKLSAgICBmaW5pc2hKU1Rlc3QoKTsKLX0KLQotZnVuY3Rpb24gZmluaXNoVGVzdCgpIHsK
LSAgICBydW5UZXN0Q2FzZXMoKTsKLSAgICBmaW5pc2hKU1Rlc3QoKTsKLX0KLQotZnVuY3Rpb24g
cnVuVGVzdENhc2VzKCkgewotICAgIGZvciAodmFyIGluZGV4ID0gMDsgaW5kZXggPCB0ZXN0Q2Fz
ZXMubGVuZ3RoOyArK2luZGV4KSB7Ci0gICAgICAgIHZhciB0ZXN0Q2FzZSA9IHRlc3RDYXNlc1tp
bmRleF07Ci0gICAgICAgIGRlYnVnKHRlc3RDYXNlWydkZXNjcmlwdGlvbiddICsgJzonKTsKLSAg
ICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCciJyArIHRlc3RDYXNlWydhY3R1YWwnXSArICci
JywgdGVzdENhc2VbJ2V4cGVjdGVkJ10pOwotICAgIH0KLSAgICBkZWJ1ZygnJyk7Ci19Ci0KLXdp
bmRvdy5vbmxvYWQgPSBmdW5jdGlvbigpIHsKLSAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgn
aWZyYW1lJykuc3JjID0gJ3Jlc291cmNlcy9wcmVzZXJ2ZS12YWx1ZS1hZnRlci1oaXN0b3J5LWJh
Y2stZnJhbWUuaHRtbD9wYWdlMSc7Ci19OwotPC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4v
Li4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KLTwvYm9keT4K
LTwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvZGF0ZS1tdWx0aXBs
ZS1maWVsZHMvZGF0ZS1tdWx0aXBsZS1maWVsZHMtcmVhZG9ubHktc3ViZmllbGQtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9kYXRlLW11bHRpcGxlLWZpZWxkcy9kYXRlLW11
bHRpcGxlLWZpZWxkcy1yZWFkb25seS1zdWJmaWVsZC1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IGM2OTkzYTMzY2EwZTgyNGI3NWI2NzMyY2QwZmRjYWE3MTllZGJk
ZTQuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0
VGVzdHMvZmFzdC9mb3Jtcy9kYXRlLW11bHRpcGxlLWZpZWxkcy9kYXRlLW11bHRpcGxlLWZpZWxk
cy1yZWFkb25seS1zdWJmaWVsZC1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSw0MiAr
MCwwIEBACi1TdWItZmllbGRzIGluIGlucHV0W3R5cGU9ZGF0ZV0gc2hvdWxkIGJlIHJlYWQtb25s
eSBpbiBzb21lIGNhc2VzLiBUaGlzIHJlcXVpcmVzIHdpbmRvdy5pbnRlcm5hbHMuCi0KLU9uIHN1
Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2Vk
IGJ5ICJURVNUIENPTVBMRVRFIi4KLQotCi1jcmVhdGVEYXRlSW5wdXQgYXJndW1lbnQgb3JkZXI6
IG1pbiwgbWF4LCB2YWx1ZQotCi1ZZWFyIGZpZWxkOgotUEFTUyBpc1JlYWRPbmx5RmllbGQoY3Jl
YXRlRGF0ZUlucHV0KCIiLCAiIiwgIiIpLCBwc2V1ZG9ZZWFyKSBpcyBmYWxzZQotUEFTUyBpc1Jl
YWRPbmx5RmllbGQoY3JlYXRlRGF0ZUlucHV0KCIyMDEyLTEyLTE3IiwgIiIsICIiKSwgcHNldWRv
WWVhcikgaXMgZmFsc2UKLVBBU1MgaXNSZWFkT25seUZpZWxkKGNyZWF0ZURhdGVJbnB1dCgiIiwg
IjIwMTItMTItMTciLCAiIiksIHBzZXVkb1llYXIpIGlzIGZhbHNlCi1QQVNTIGlzUmVhZE9ubHlG
aWVsZChjcmVhdGVEYXRlSW5wdXQoIiIsICIiLCAiMjAxMi0xMi0xNyIpLCBwc2V1ZG9ZZWFyKSBp
cyBmYWxzZQotUEFTUyBpc1JlYWRPbmx5RmllbGQoY3JlYXRlRGF0ZUlucHV0KCIyMDEyLTAxLTAx
IiwgIjIwMTItMTItMzEiLCAiIiksIHBzZXVkb1llYXIpIGlzIHRydWUKLVBBU1MgaXNSZWFkT25s
eUZpZWxkKGNyZWF0ZURhdGVJbnB1dCgiMjAxMi0wMS0wMSIsICIyMDEzLTEyLTMxIiwgIiIpLCBw
c2V1ZG9ZZWFyKSBpcyBmYWxzZQotUEFTUyBpc1JlYWRPbmx5RmllbGQoY3JlYXRlRGF0ZUlucHV0
KCIyMDEyLTAxLTAxIiwgIjIwMTItMTItMzEiLCAiMjAxMi0wNS0zMCIpLCBwc2V1ZG9ZZWFyKSBp
cyB0cnVlCi1QQVNTIGlzUmVhZE9ubHlGaWVsZChjcmVhdGVEYXRlSW5wdXQoIjIwMTItMDEtMDEi
LCAiMjAxMi0xMi0zMSIsICIyMDEzLTAxLTAxIiksIHBzZXVkb1llYXIpIGlzIGZhbHNlCi1Nb250
aCBmaWVsZDoKLVBBU1MgaXNSZWFkT25seUZpZWxkKGNyZWF0ZURhdGVJbnB1dCgiIiwgIiIsICIi
KSwgcHNldWRvTW9udGgpIGlzIGZhbHNlCi1QQVNTIGlzUmVhZE9ubHlGaWVsZChjcmVhdGVEYXRl
SW5wdXQoIjIwMTItMTItMTciLCAiIiwgIiIpLCBwc2V1ZG9Nb250aCkgaXMgZmFsc2UKLVBBU1Mg
aXNSZWFkT25seUZpZWxkKGNyZWF0ZURhdGVJbnB1dCgiIiwgIjIwMTItMTItMTciLCAiIiksIHBz
ZXVkb01vbnRoKSBpcyBmYWxzZQotUEFTUyBpc1JlYWRPbmx5RmllbGQoY3JlYXRlRGF0ZUlucHV0
KCIiLCAiIiwgIjIwMTItMTItMTciKSwgcHNldWRvTW9udGgpIGlzIGZhbHNlCi1QQVNTIGlzUmVh
ZE9ubHlGaWVsZChjcmVhdGVEYXRlSW5wdXQoIjIwMTItMTItMDEiLCAiMjAxMi0xMi0zMSIsICIi
KSwgcHNldWRvTW9udGgpIGlzIHRydWUKLVBBU1MgaXNSZWFkT25seUZpZWxkKGNyZWF0ZURhdGVJ
bnB1dCgiMjAxMi0xMS0wMSIsICIyMDEzLTEyLTMxIiwgIiIpLCBwc2V1ZG9Nb250aCkgaXMgZmFs
c2UKLVBBU1MgaXNSZWFkT25seUZpZWxkKGNyZWF0ZURhdGVJbnB1dCgiMjAxMi0xMi0wMSIsICIy
MDEzLTEyLTMxIiwgIiIpLCBwc2V1ZG9Nb250aCkgaXMgZmFsc2UKLVBBU1MgaXNSZWFkT25seUZp
ZWxkKGNyZWF0ZURhdGVJbnB1dCgiMjAxMi0xMi0wMSIsICIyMDEyLTEyLTMxIiwgIjIwMTItMTIt
MTUiKSwgcHNldWRvTW9udGgpIGlzIHRydWUKLVBBU1MgaXNSZWFkT25seUZpZWxkKGNyZWF0ZURh
dGVJbnB1dCgiMjAxMi0xMi0wMSIsICIyMDEyLTEyLTMxIiwgIjIwMTItMTEtMzAiKSwgcHNldWRv
TW9udGgpIGlzIGZhbHNlCi1EYXkgZmllbGQ6Ci1XZSBzaG91bGQgbm90IG1ha2UgYWxsIHRoZSBm
aWVsZHMgcmVhZG9ubHkgYnkgbWluL21heCwgc28gZGF5IGZpZWxkIGlzIGFsd2F5cyBlZGl0YWJs
ZS4KLVBBU1MgaXNSZWFkT25seUZpZWxkKGNyZWF0ZURhdGVJbnB1dCgiIiwgIiIsICIiKSwgcHNl
dWRvRGF5KSBpcyBmYWxzZQotUEFTUyBpc1JlYWRPbmx5RmllbGQoY3JlYXRlRGF0ZUlucHV0KCIy
MDEyLTEyLTE3IiwgIiIsICIiKSwgcHNldWRvRGF5KSBpcyBmYWxzZQotUEFTUyBpc1JlYWRPbmx5
RmllbGQoY3JlYXRlRGF0ZUlucHV0KCIiLCAiMjAxMi0xMi0xNyIsICIiKSwgcHNldWRvRGF5KSBp
cyBmYWxzZQotUEFTUyBpc1JlYWRPbmx5RmllbGQoY3JlYXRlRGF0ZUlucHV0KCIiLCAiIiwgIjIw
MTItMTItMTciKSwgcHNldWRvRGF5KSBpcyBmYWxzZQotUEFTUyBpc1JlYWRPbmx5RmllbGQoY3Jl
YXRlRGF0ZUlucHV0KCIyMDEyLTEyLTE3IiwgIjIwMTItMTItMTciLCAiIiksIHBzZXVkb0RheSkg
aXMgZmFsc2UKLVBBU1MgaXNSZWFkT25seUZpZWxkKGNyZWF0ZURhdGVJbnB1dCgiMjAxMi0xMi0x
NyIsICIyMDEzLTEyLTE4IiwgIiIpLCBwc2V1ZG9EYXkpIGlzIGZhbHNlCi1QQVNTIGlzUmVhZE9u
bHlGaWVsZChjcmVhdGVEYXRlSW5wdXQoIjIwMTItMTEtMTciLCAiMjAxMi0xMi0xNyIsICIiKSwg
cHNldWRvRGF5KSBpcyBmYWxzZQotUEFTUyBpc1JlYWRPbmx5RmllbGQoY3JlYXRlRGF0ZUlucHV0
KCIyMDEyLTEyLTE3IiwgIjIwMTMtMTItMTciLCAiIiksIHBzZXVkb0RheSkgaXMgZmFsc2UKLVBB
U1MgaXNSZWFkT25seUZpZWxkKGNyZWF0ZURhdGVJbnB1dCgiMjAxMi0xMi0xNyIsICIyMDEyLTEy
LTE3IiwgIjIwMTItMTItMTciKSwgcHNldWRvRGF5KSBpcyBmYWxzZQotUEFTUyBpc1JlYWRPbmx5
RmllbGQoY3JlYXRlRGF0ZUlucHV0KCIyMDEyLTEyLTE3IiwgIjIwMTItMTItMTciLCAiMjAxMi0x
Mi0xOCIpLCBwc2V1ZG9EYXkpIGlzIGZhbHNlCi1QQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0
cnVlCi0KLVRFU1QgQ09NUExFVEUKLQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jt
cy9kYXRlLW11bHRpcGxlLWZpZWxkcy9kYXRlLW11bHRpcGxlLWZpZWxkcy1yZWFkb25seS1zdWJm
aWVsZC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9kYXRlLW11bHRpcGxlLWZpZWxkcy9k
YXRlLW11bHRpcGxlLWZpZWxkcy1yZWFkb25seS1zdWJmaWVsZC5odG1sCmRlbGV0ZWQgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCBlYzMxM2RkYmE1MzE5ZWM5ZTVlODExZjE1NGJlMGRhYmZkNTg4ZDQw
Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRl
c3RzL2Zhc3QvZm9ybXMvZGF0ZS1tdWx0aXBsZS1maWVsZHMvZGF0ZS1tdWx0aXBsZS1maWVsZHMt
cmVhZG9ubHktc3ViZmllbGQuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDcwICswLDAgQEAKLTwh
RE9DVFlQRSBodG1sPgotPGJvZHk+Ci08c2NyaXB0IHNyYz0iLi4vLi4vanMvcmVzb3VyY2VzL2pz
LXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQ+Ci1mdW5jdGlvbiBjcmVhdGVEYXRlSW5w
dXQobWluLCBtYXgsIHZhbHVlKSB7Ci0gICAgdmFyIGlucHV0ID0gZG9jdW1lbnQuY3JlYXRlRWxl
bWVudCgnaW5wdXQnKTsKLSAgICBpbnB1dC50eXBlID0gJ2RhdGUnOwotICAgIGlmIChtaW4pCi0g
ICAgICAgIGlucHV0Lm1pbiA9IG1pbjsKLSAgICBpZiAobWF4KQotICAgICAgICBpbnB1dC5tYXgg
PSBtYXg7Ci0gICAgaWYgKHZhbHVlKQotICAgICAgICBpbnB1dC52YWx1ZSA9IHZhbHVlOwotICAg
IHJldHVybiBpbnB1dDsKLX0KLQotLy8gRklYTUU6IFJlbmFtZSB0aGlzIGZ1bmN0aW9uIGFuZCB0
aGUgdGVzdCBmaWxlLgotZnVuY3Rpb24gaXNSZWFkT25seUZpZWxkKGlucHV0LCBwc2V1ZG8pIHsK
LSAgICB2YXIgbm9kZSA9IGludGVybmFscy55b3VuZ2VzdFNoYWRvd1Jvb3QoaW5wdXQpLnF1ZXJ5
U2VsZWN0b3IoJypbcHNldWRvPSInICsgcHNldWRvICsgJyJdJyk7Ci0gICAgaWYgKCFub2RlKQot
ICAgICAgICB0ZXN0RmFpbGVkKCdSZXF1ZXN0ZWQgbm9kZSBpcyBtaXNzaW5nLicpOwotICAgIHJl
dHVybiBub2RlICYmIG5vZGUuaGFzQXR0cmlidXRlKCdkaXNhYmxlZCcpOwotfQotCi12YXIgcHNl
dWRvRGF5ID0gJy13ZWJraXQtZGF0ZXRpbWUtZWRpdC1kYXktZmllbGQnOwotdmFyIHBzZXVkb01v
bnRoID0gJy13ZWJraXQtZGF0ZXRpbWUtZWRpdC1tb250aC1maWVsZCc7Ci12YXIgcHNldWRvWWVh
ciA9ICctd2Via2l0LWRhdGV0aW1lLWVkaXQteWVhci1maWVsZCc7Ci0KLWRlc2NyaXB0aW9uKCdT
dWItZmllbGRzIGluIGlucHV0W3R5cGU9ZGF0ZV0gc2hvdWxkIGJlIHJlYWQtb25seSBpbiBzb21l
IGNhc2VzLiBUaGlzIHJlcXVpcmVzIHdpbmRvdy5pbnRlcm5hbHMuJyk7Ci1kZWJ1ZygnY3JlYXRl
RGF0ZUlucHV0IGFyZ3VtZW50IG9yZGVyOiBtaW4sIG1heCwgdmFsdWUnKTsKLWRlYnVnKCcnKTsK
LQotZGVidWcoJ1llYXIgZmllbGQ6Jyk7Ci1zaG91bGRCZUZhbHNlKCdpc1JlYWRPbmx5RmllbGQo
Y3JlYXRlRGF0ZUlucHV0KCIiLCAiIiwgIiIpLCBwc2V1ZG9ZZWFyKScpOwotc2hvdWxkQmVGYWxz
ZSgnaXNSZWFkT25seUZpZWxkKGNyZWF0ZURhdGVJbnB1dCgiMjAxMi0xMi0xNyIsICIiLCAiIiks
IHBzZXVkb1llYXIpJyk7Ci1zaG91bGRCZUZhbHNlKCdpc1JlYWRPbmx5RmllbGQoY3JlYXRlRGF0
ZUlucHV0KCIiLCAiMjAxMi0xMi0xNyIsICIiKSwgcHNldWRvWWVhciknKTsKLXNob3VsZEJlRmFs
c2UoJ2lzUmVhZE9ubHlGaWVsZChjcmVhdGVEYXRlSW5wdXQoIiIsICIiLCAiMjAxMi0xMi0xNyIp
LCBwc2V1ZG9ZZWFyKScpOwotc2hvdWxkQmVUcnVlKCdpc1JlYWRPbmx5RmllbGQoY3JlYXRlRGF0
ZUlucHV0KCIyMDEyLTAxLTAxIiwgIjIwMTItMTItMzEiLCAiIiksIHBzZXVkb1llYXIpJyk7Ci1z
aG91bGRCZUZhbHNlKCdpc1JlYWRPbmx5RmllbGQoY3JlYXRlRGF0ZUlucHV0KCIyMDEyLTAxLTAx
IiwgIjIwMTMtMTItMzEiLCAiIiksIHBzZXVkb1llYXIpJyk7Ci1zaG91bGRCZVRydWUoJ2lzUmVh
ZE9ubHlGaWVsZChjcmVhdGVEYXRlSW5wdXQoIjIwMTItMDEtMDEiLCAiMjAxMi0xMi0zMSIsICIy
MDEyLTA1LTMwIiksIHBzZXVkb1llYXIpJyk7Ci1zaG91bGRCZUZhbHNlKCdpc1JlYWRPbmx5Rmll
bGQoY3JlYXRlRGF0ZUlucHV0KCIyMDEyLTAxLTAxIiwgIjIwMTItMTItMzEiLCAiMjAxMy0wMS0w
MSIpLCBwc2V1ZG9ZZWFyKScpOwotCi1kZWJ1ZygnTW9udGggZmllbGQ6Jyk7Ci1zaG91bGRCZUZh
bHNlKCdpc1JlYWRPbmx5RmllbGQoY3JlYXRlRGF0ZUlucHV0KCIiLCAiIiwgIiIpLCBwc2V1ZG9N
b250aCknKTsKLXNob3VsZEJlRmFsc2UoJ2lzUmVhZE9ubHlGaWVsZChjcmVhdGVEYXRlSW5wdXQo
IjIwMTItMTItMTciLCAiIiwgIiIpLCBwc2V1ZG9Nb250aCknKTsKLXNob3VsZEJlRmFsc2UoJ2lz
UmVhZE9ubHlGaWVsZChjcmVhdGVEYXRlSW5wdXQoIiIsICIyMDEyLTEyLTE3IiwgIiIpLCBwc2V1
ZG9Nb250aCknKTsKLXNob3VsZEJlRmFsc2UoJ2lzUmVhZE9ubHlGaWVsZChjcmVhdGVEYXRlSW5w
dXQoIiIsICIiLCAiMjAxMi0xMi0xNyIpLCBwc2V1ZG9Nb250aCknKTsKLXNob3VsZEJlVHJ1ZSgn
aXNSZWFkT25seUZpZWxkKGNyZWF0ZURhdGVJbnB1dCgiMjAxMi0xMi0wMSIsICIyMDEyLTEyLTMx
IiwgIiIpLCBwc2V1ZG9Nb250aCknKTsKLXNob3VsZEJlRmFsc2UoJ2lzUmVhZE9ubHlGaWVsZChj
cmVhdGVEYXRlSW5wdXQoIjIwMTItMTEtMDEiLCAiMjAxMy0xMi0zMSIsICIiKSwgcHNldWRvTW9u
dGgpJyk7Ci1zaG91bGRCZUZhbHNlKCdpc1JlYWRPbmx5RmllbGQoY3JlYXRlRGF0ZUlucHV0KCIy
MDEyLTEyLTAxIiwgIjIwMTMtMTItMzEiLCAiIiksIHBzZXVkb01vbnRoKScpOwotc2hvdWxkQmVU
cnVlKCdpc1JlYWRPbmx5RmllbGQoY3JlYXRlRGF0ZUlucHV0KCIyMDEyLTEyLTAxIiwgIjIwMTIt
MTItMzEiLCAiMjAxMi0xMi0xNSIpLCBwc2V1ZG9Nb250aCknKTsKLXNob3VsZEJlRmFsc2UoJ2lz
UmVhZE9ubHlGaWVsZChjcmVhdGVEYXRlSW5wdXQoIjIwMTItMTItMDEiLCAiMjAxMi0xMi0zMSIs
ICIyMDEyLTExLTMwIiksIHBzZXVkb01vbnRoKScpOwotCi1kZWJ1ZygnRGF5IGZpZWxkOicpOwot
ZGVidWcoJ1dlIHNob3VsZCBub3QgbWFrZSBhbGwgdGhlIGZpZWxkcyByZWFkb25seSBieSBtaW4v
bWF4LCBzbyBkYXkgZmllbGQgaXMgYWx3YXlzIGVkaXRhYmxlLicpOwotc2hvdWxkQmVGYWxzZSgn
aXNSZWFkT25seUZpZWxkKGNyZWF0ZURhdGVJbnB1dCgiIiwgIiIsICIiKSwgcHNldWRvRGF5KScp
Owotc2hvdWxkQmVGYWxzZSgnaXNSZWFkT25seUZpZWxkKGNyZWF0ZURhdGVJbnB1dCgiMjAxMi0x
Mi0xNyIsICIiLCAiIiksIHBzZXVkb0RheSknKTsKLXNob3VsZEJlRmFsc2UoJ2lzUmVhZE9ubHlG
aWVsZChjcmVhdGVEYXRlSW5wdXQoIiIsICIyMDEyLTEyLTE3IiwgIiIpLCBwc2V1ZG9EYXkpJyk7
Ci1zaG91bGRCZUZhbHNlKCdpc1JlYWRPbmx5RmllbGQoY3JlYXRlRGF0ZUlucHV0KCIiLCAiIiwg
IjIwMTItMTItMTciKSwgcHNldWRvRGF5KScpOwotc2hvdWxkQmVGYWxzZSgnaXNSZWFkT25seUZp
ZWxkKGNyZWF0ZURhdGVJbnB1dCgiMjAxMi0xMi0xNyIsICIyMDEyLTEyLTE3IiwgIiIpLCBwc2V1
ZG9EYXkpJyk7Ci1zaG91bGRCZUZhbHNlKCdpc1JlYWRPbmx5RmllbGQoY3JlYXRlRGF0ZUlucHV0
KCIyMDEyLTEyLTE3IiwgIjIwMTMtMTItMTgiLCAiIiksIHBzZXVkb0RheSknKTsKLXNob3VsZEJl
RmFsc2UoJ2lzUmVhZE9ubHlGaWVsZChjcmVhdGVEYXRlSW5wdXQoIjIwMTItMTEtMTciLCAiMjAx
Mi0xMi0xNyIsICIiKSwgcHNldWRvRGF5KScpOwotc2hvdWxkQmVGYWxzZSgnaXNSZWFkT25seUZp
ZWxkKGNyZWF0ZURhdGVJbnB1dCgiMjAxMi0xMi0xNyIsICIyMDEzLTEyLTE3IiwgIiIpLCBwc2V1
ZG9EYXkpJyk7Ci1zaG91bGRCZUZhbHNlKCdpc1JlYWRPbmx5RmllbGQoY3JlYXRlRGF0ZUlucHV0
KCIyMDEyLTEyLTE3IiwgIjIwMTItMTItMTciLCAiMjAxMi0xMi0xNyIpLCBwc2V1ZG9EYXkpJyk7
Ci1zaG91bGRCZUZhbHNlKCdpc1JlYWRPbmx5RmllbGQoY3JlYXRlRGF0ZUlucHV0KCIyMDEyLTEy
LTE3IiwgIjIwMTItMTItMTciLCAiMjAxMi0xMi0xOCIpLCBwc2V1ZG9EYXkpJyk7Ci0KLTwvc2Ny
aXB0PgotPHNjcmlwdCBzcmM9Ii4uLy4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwv
c2NyaXB0PgotPC9ib2R5PgotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2Rh
dGUtbXVsdGlwbGUtZmllbGRzL2RhdGUtbXVsdGlwbGUtZmllbGRzLXJlc2V0LXZhbHVlLWFmdGVy
LXJlbG9hZHMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9kYXRlLW11bHRp
cGxlLWZpZWxkcy9kYXRlLW11bHRpcGxlLWZpZWxkcy1yZXNldC12YWx1ZS1hZnRlci1yZWxvYWRz
LWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMzkzYWY3MDAxMjI1
M2Q4ODI1ZmFjNDkwY2RhYzEyZTFiMzdmNGFlOC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2RhdGUtbXVsdGlwbGUt
ZmllbGRzL2RhdGUtbXVsdGlwbGUtZmllbGRzLXJlc2V0LXZhbHVlLWFmdGVyLXJlbG9hZHMtZXhw
ZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEsMTUgKzAsMCBAQAotQ2hlY2tzIHJlbG9hZGlu
ZyBwYWdlIHJlc2V0cyBpbnB1dCB2YWx1ZXMKLQotT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEg
c2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgot
Ci0KLUluaXRpYWwgdmFsdWVzOgotUEFTUyB0ZXN0SW5wdXQxLnZhbHVlIGlzICIiCi1QQVNTIHRl
c3RJbnB1dDIudmFsdWUgaXMgIjEyMzQtMDUtMDYiCi1SZWxvYWRlZCB2YWx1ZXM6Ci1QQVNTIHRl
c3RJbnB1dDEudmFsdWUgaXMgIiIKLVBBU1MgdGVzdElucHV0Mi52YWx1ZSBpcyAiMTIzNC0wNS0w
NiIKLVBBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKLQotVEVTVCBDT01QTEVURQotCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2RhdGUtbXVsdGlwbGUtZmllbGRzL2Rh
dGUtbXVsdGlwbGUtZmllbGRzLXJlc2V0LXZhbHVlLWFmdGVyLXJlbG9hZHMuaHRtbCBiL0xheW91
dFRlc3RzL2Zhc3QvZm9ybXMvZGF0ZS1tdWx0aXBsZS1maWVsZHMvZGF0ZS1tdWx0aXBsZS1maWVs
ZHMtcmVzZXQtdmFsdWUtYWZ0ZXItcmVsb2Fkcy5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCBhYzlmOTQ4NzU1NzM4MjQ1NDEyZGY5YWUyNzY2NmQ1OTU1ZDY4OTZkLi4wMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2Zhc3Qv
Zm9ybXMvZGF0ZS1tdWx0aXBsZS1maWVsZHMvZGF0ZS1tdWx0aXBsZS1maWVsZHMtcmVzZXQtdmFs
dWUtYWZ0ZXItcmVsb2Fkcy5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsNDIgKzAsMCBAQAotPCFE
T0NUWVBFIGh0bWw+Ci08aHRtbD4KLTxoZWFkPgotPHNjcmlwdCBzcmM9Ii4uLy4uLy4uL2Zhc3Qv
anMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5IG9u
bG9hZD0icnVuQm9keUxvYWRlZCgpIj4KLTxpZnJhbWUgaWQ9aWZyYW1lIHNyY2RvYz0iPGlucHV0
IHR5cGU9ZGF0ZSBpZD0ndGVzdDEnPjxpbnB1dCB0eXBlPSdkYXRlJyBpZD0ndGVzdDInIHZhbHVl
PScxMjM0LTA1LTA2Jz4iPjwvaWZyYW1lPgotPHNjcmlwdD4KLWRlc2NyaXB0aW9uKCdDaGVja3Mg
cmVsb2FkaW5nIHBhZ2UgcmVzZXRzIGlucHV0IHZhbHVlcycpOwotd2luZG93LmpzVGVzdElzQXN5
bmMgPSB0cnVlOwotCi12YXIgaWZyYW1lID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2lmcmFt
ZScpOwotdmFyIHRlc3RJbnB1dDE7Ci12YXIgdGVzdElucHV0MjsKLQotZnVuY3Rpb24gcnVuQm9k
eUxvYWRlZCgpCi17Ci0gICAgdGVzdElucHV0MSA9IGlmcmFtZS5jb250ZW50RG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoJ3Rlc3QxJyk7Ci0gICAgdGVzdElucHV0MiA9IGlmcmFtZS5jb250ZW50RG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3Rlc3QyJyk7Ci0gICAgZGVidWcoJ0luaXRpYWwgdmFsdWVz
OicpOwotICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygndGVzdElucHV0MS52YWx1ZScsICcnKTsK
LSAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ3Rlc3RJbnB1dDIudmFsdWUnLCAnMTIzNC0wNS0w
NicpOwotICAgIHRlc3RJbnB1dDEudmFsdWUgPSAnMjAxMi0xMC0wMSc7Ci0gICAgdGVzdElucHV0
Mi52YWx1ZSA9ICcyMDEyLTExLTAxJzsKLSAgICBpZnJhbWUuYWRkRXZlbnRMaXN0ZW5lcignbG9h
ZCcsIHBhcmVudC5ydW5PbklGcmFtZUxvYWQpOwotICAgIGlmcmFtZS5jb250ZW50V2luZG93Lmxv
Y2F0aW9uLnJlbG9hZCgpOwotfQotCi1mdW5jdGlvbiBydW5PbklGcmFtZUxvYWQoKQotewotICAg
IHRlc3RJbnB1dDEgPSBpZnJhbWUuY29udGVudERvY3VtZW50LmdldEVsZW1lbnRCeUlkKCd0ZXN0
MScpOwotICAgIHRlc3RJbnB1dDIgPSBpZnJhbWUuY29udGVudERvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCd0ZXN0MicpOwotICAgIGRlYnVnKCdSZWxvYWRlZCB2YWx1ZXM6Jyk7Ci0gICAgc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCd0ZXN0SW5wdXQxLnZhbHVlJywgJycpOwotICAgIHNob3VsZEJlRXF1
YWxUb1N0cmluZygndGVzdElucHV0Mi52YWx1ZScsICcxMjM0LTA1LTA2Jyk7Ci0gICAgaWZyYW1l
LnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQoaWZyYW1lKTsKLSAgICBmaW5pc2hKU1Rlc3QoKTsKLX0K
LTwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii4uLy4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRl
c3QtcG9zdC5qcyI+PC9zY3JpcHQ+Ci08L2JvZHk+Ci08L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9mYXN0L2Zvcm1zL2RhdGUtbXVsdGlwbGUtZmllbGRzL2RhdGUtbXVsdGlwbGUtZmll
bGRzLXNwaW5idXR0b24tY2hhbmdlLWFuZC1pbnB1dC1ldmVudHMtZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvZmFzdC9mb3Jtcy9kYXRlLW11bHRpcGxlLWZpZWxkcy9kYXRlLW11bHRpcGxlLWZp
ZWxkcy1zcGluYnV0dG9uLWNoYW5nZS1hbmQtaW5wdXQtZXZlbnRzLWV4cGVjdGVkLnR4dApkZWxl
dGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYTNjMmY4ZTJhMGQzYTU0MDE1Zjc2ZDA0ZjRiMGJm
YzIwNDc1OGRjNC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0g
YS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2RhdGUtbXVsdGlwbGUtZmllbGRzL2RhdGUtbXVsdGlw
bGUtZmllbGRzLXNwaW5idXR0b24tY2hhbmdlLWFuZC1pbnB1dC1ldmVudHMtZXhwZWN0ZWQudHh0
CisrKyAvZGV2L251bGwKQEAgLTEsMTkgKzAsMCBAQAotVGVzdCBmb3IgZXZlbnQgZGlzcGF0Y2hp
bmcgYnkgc3BpbiBidXR0b25zIGluIGEgdHlwZT1kYXRlIGlucHV0LgotCi1PbiBzdWNjZXNzLCB5
b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVT
VCBDT01QTEVURSIuCi0KLQotSW5pdGlhbCBzdGF0ZQotUEFTUyBjaGFuZ2VFdmVudENvdW50ZXIg
aXMgMAotUEFTUyBpbnB1dEV2ZW50Q291bnRlciBpcyAwCi1DbGljayB0aGUgdXBwZXIgYnV0dG9u
Ci1QQVNTIHRlc3RJbnB1dC52YWx1ZSBpcyAiMjAxMi0xMS0wMSIKLVBBU1MgY2hhbmdlRXZlbnRD
b3VudGVyIGlzIDEKLVBBU1MgaW5wdXRFdmVudENvdW50ZXIgaXMgMQotRm9jdXMgb24gYW5vdGhl
ciBmaWVsZAotUEFTUyBjaGFuZ2VFdmVudENvdW50ZXIgaXMgMQotUEFTUyBpbnB1dEV2ZW50Q291
bnRlciBpcyAxCi1QQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCi0KLVRFU1QgQ09NUExF
VEUKLQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9kYXRlLW11bHRpcGxlLWZp
ZWxkcy9kYXRlLW11bHRpcGxlLWZpZWxkcy1zcGluYnV0dG9uLWNoYW5nZS1hbmQtaW5wdXQtZXZl
bnRzLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2RhdGUtbXVsdGlwbGUtZmllbGRzL2Rh
dGUtbXVsdGlwbGUtZmllbGRzLXNwaW5idXR0b24tY2hhbmdlLWFuZC1pbnB1dC1ldmVudHMuaHRt
bApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDdhOWI4YzM4NDQ4MTE5NDAxODE2NTIw
NjZjNWY3ZTU3NGMzMmMzYi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2RhdGUtbXVsdGlwbGUtZmllbGRzL2RhdGUt
bXVsdGlwbGUtZmllbGRzLXNwaW5idXR0b24tY2hhbmdlLWFuZC1pbnB1dC1ldmVudHMuaHRtbAor
KysgL2Rldi9udWxsCkBAIC0xLDE0ICswLDAgQEAKLTwhRE9DVFlQRSBodG1sPgotPGh0bWw+Ci08
aGVhZD4KLTxzY3JpcHQgc3JjPSIuLi8uLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXBy
ZS5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL2NvbW1vbi5qcyI+PC9z
Y3JpcHQ+Ci08c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL2NvbW1vbi1zcGluYnV0dG9uLWNoYW5n
ZS1hbmQtaW5wdXQtZXZlbnRzLmpzIj48L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5PgotPHNjcmlw
dD4KLXRlc3RTcGluQnV0dG9uQ2hhbmdlQW5kSW5wdXRFdmVudHMoJ2RhdGUnLCAnMjAxMi0xMC0w
MScsICcyMDEyLTExLTAxJyk7Ci08L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIuLi8uLi8uLi9mYXN0
L2pzL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgotPC9ib2R5PgotPC9odG1s
PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9kYXRlLW11bHRpcGxlLWZpZWxk
cy9kYXRlLW11bHRpcGxlLWZpZWxkcy1zdGVwdXAtc3RlcGRvd24tZnJvbS1yZW5kZXJlci1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2RhdGUtbXVsdGlwbGUtZmllbGRzL2Rh
dGUtbXVsdGlwbGUtZmllbGRzLXN0ZXB1cC1zdGVwZG93bi1mcm9tLXJlbmRlcmVyLWV4cGVjdGVk
LnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNzFmZDgzMzY0MzNlZGM1ZWI0NTkx
ZjQwYWQ4MTg4NGU5NjQ1ZWEyNS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2RhdGUtbXVsdGlwbGUtZmllbGRzL2Rh
dGUtbXVsdGlwbGUtZmllbGRzLXN0ZXB1cC1zdGVwZG93bi1mcm9tLXJlbmRlcmVyLWV4cGVjdGVk
LnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDQ4ICswLDAgQEAKLUNoZWNrIHN0ZXBwaW5nLXVwIGFu
ZCAtZG93biBmb3IgZGF0ZSBpbnB1dCBmaWVsZHMgZnJvbSByZW5kZXJlci4KLQotT24gc3VjY2Vz
cywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkg
IlRFU1QgQ09NUExFVEUiLgotCi0KLUZ1bmN0aW9uIGFyZ3VtZW50cyBhcmUgKHZhbHVlLCBtaW4s
IG1heCwgW2tleVNlcXVlbmNlXSkuCi1Nb250aAotUEFTUyBzdGVwVXAoIjIwMDAtMDUtMDEiLCAi
MjAwMC0wNS0wMSIsICIyMDAwLTEwLTMxIikgaXMgIjIwMDAtMDYtMDEiCi1QQVNTIHN0ZXBEb3du
KCIyMDAwLTA1LTAxIiwgIjIwMDAtMDUtMDEiLCAiMjAwMC0xMC0zMSIpIGlzICIyMDAwLTEwLTAx
IgotUEFTUyBzdGVwVXAoIjIwMDAtMDUtMDEiLCAiMjAwMC0wMi0wMSIsICIyMDAwLTA1LTMxIikg
aXMgIjIwMDAtMDItMDEiCi1QQVNTIHN0ZXBEb3duKCIyMDAwLTA1LTAxIiwgIjIwMDAtMDItMDEi
LCAiMjAwMC0wNS0zMSIpIGlzICIyMDAwLTA0LTAxIgotUEFTUyBzdGVwVXAoIjIwMDAtMDUtMDEi
LCAiMjAwMC0wOC0wMSIsICIyMDAwLTEwLTMxIikgaXMgIjIwMDAtMDgtMDEiCi1QQVNTIHN0ZXBE
b3duKCIyMDAwLTA1LTAxIiwgIjIwMDAtMDgtMDEiLCAiMjAwMC0xMC0zMSIpIGlzICIyMDAwLTEw
LTAxIgotUEFTUyBzdGVwVXAoIjIwMDAtMDUtMDEiLCAiMjAwMC0wMy0wMSIsICIyMDAwLTAzLTMx
IikgaXMgIjIwMDAtMDMtMDEiCi1QQVNTIHN0ZXBEb3duKCIyMDAwLTA1LTAxIiwgIjIwMDAtMDMt
MDEiLCAiMjAwMC0wMy0zMSIpIGlzICIyMDAwLTAzLTAxIgotUEFTUyBzdGVwVXAoIjIwMDAtMDUt
MDEiLCAiMjAwMC0wMy0wMSIsICIyMDAxLTA1LTMxIikgaXMgIjIwMDAtMDYtMDEiCi1QQVNTIHN0
ZXBEb3duKCIyMDAwLTA1LTAxIiwgIjIwMDAtMDUtMDEiLCAiMjAwMS0wOC0zMSIpIGlzICIyMDAw
LTA0LTAxIgotRGF5Ci1QQVNTIHN0ZXBVcCgiMjAwMC0wNS0xMCIsICIyMDAwLTA1LTEwIiwgIjIw
MDAtMDUtMjAiKSBpcyAiMjAwMC0wNS0xMSIKLVBBU1Mgc3RlcERvd24oIjIwMDAtMDUtMTAiLCAi
MjAwMC0wNS0xMCIsICIyMDAwLTA1LTIwIikgaXMgIjIwMDAtMDUtMjAiCi1QQVNTIHN0ZXBVcCgi
MjAwMC0wNS0xMCIsICIyMDAwLTA1LTA1IiwgIjIwMDAtMDUtMTAiKSBpcyAiMjAwMC0wNS0wNSIK
LVBBU1Mgc3RlcERvd24oIjIwMDAtMDUtMTAiLCAiMjAwMC0wNS0wNSIsICIyMDAwLTA1LTEwIikg
aXMgIjIwMDAtMDUtMDkiCi1QQVNTIHN0ZXBVcCgiMjAwMC0wNS0xMCIsICIyMDAwLTA1LTIwIiwg
IjIwMDAtMDUtMzAiKSBpcyAiMjAwMC0wNS0yMCIKLVBBU1Mgc3RlcERvd24oIjIwMDAtMDUtMTAi
LCAiMjAwMC0wNS0yMCIsICIyMDAwLTA1LTMwIikgaXMgIjIwMDAtMDUtMzAiCi1QQVNTIHN0ZXBV
cCgiMjAwMC0wNS0xMCIsICIyMDAwLTA1LTA1IiwgIjIwMDAtMDUtMDUiKSBpcyAiMjAwMC0wNS0w
NSIKLVBBU1Mgc3RlcERvd24oIjIwMDAtMDUtMTAiLCAiMjAwMC0wNS0wNSIsICIyMDAwLTA1LTA1
IikgaXMgIjIwMDAtMDUtMDUiCi1QQVNTIHN0ZXBVcCgiMjAwMC0wNS0xMCIsICIyMDAwLTA1LTA1
IiwgIjIwMDEtMDUtMTAiKSBpcyAiMjAwMC0wNS0xMSIKLVBBU1Mgc3RlcERvd24oIjIwMDAtMDUt
MTAiLCAiMjAwMC0wNS0xMCIsICIyMDAxLTA1LTE1IikgaXMgIjIwMDAtMDUtMDkiCi1QQVNTIHN0
ZXBVcCgiMjAwMC0wNS0xMCIsICIyMDAwLTA1LTA1IiwgIjIwMDAtMDYtMTAiKSBpcyAiMjAwMC0w
NS0xMSIKLVBBU1Mgc3RlcERvd24oIjIwMDAtMDUtMTAiLCAiMjAwMC0wNS0xMCIsICIyMDAwLTA2
LTE1IikgaXMgIjIwMDAtMDUtMDkiCi1ZZWFyCi1QQVNTIHN0ZXBVcCgiMjAwMC0wMS0wMSIsICIy
MDAwLTAxLTAxIiwgIjIwMDktMTItMzEiKSBpcyAiMjAwMS0wMS0wMSIKLVBBU1Mgc3RlcERvd24o
IjIwMDAtMDEtMDEiLCAiMjAwMC0wMS0wMSIsICIyMDA5LTEyLTMxIikgaXMgIjIwMDktMDEtMDEi
Ci1QQVNTIHN0ZXBVcCgiMjAwMC0wMS0wMSIsICIxOTkwLTAxLTAxIiwgIjIwMDAtMTItMzEiKSBp
cyAiMTk5MC0wMS0wMSIKLVBBU1Mgc3RlcERvd24oIjIwMDAtMDEtMDEiLCAiMTk5MC0wMS0wMSIs
ICIyMDAwLTEyLTMxIikgaXMgIjE5OTktMDEtMDEiCi1QQVNTIHN0ZXBVcCgiMjc1NzYwLTAxLTAx
IiwgIjE5OTAtMDEtMDEiLCBudWxsKSBpcyAiMTk5MC0wMS0wMSIKLVBBU1Mgc3RlcERvd24oIjE5
OTAtMDEtMDEiLCAiMTk5MC0wMS0wMSIsIG51bGwpIGlzICIyNzU3NjAtMDEtMDEiCi1QQVNTIHN0
ZXBVcCgiMjAwMC0wMS0wMSIsIG51bGwsICIyMDAwLTEyLTMxIikgaXMgIjAwMDEtMDEtMDEiCi1Q
QVNTIHN0ZXBEb3duKCIwMDAxLTAxLTAxIiwgbnVsbCwgIjIwMDAtMTItMzEiKSBpcyAiMjAwMC0w
MS0wMSIKLVBBU1Mgc3RlcFVwKCIxOTkwLTAxLTAxIiwgIjIwMDAtMDEtMDEiLCAiMjAwOS0xMi0z
MSIpIGlzICIyMDAwLTAxLTAxIgotUEFTUyBzdGVwRG93bigiMTk5MC0wMS0wMSIsICIyMDAwLTAx
LTAxIiwgIjIwMDktMTItMzEiKSBpcyAiMjAwOS0wMS0wMSIKLVBBU1Mgc3RlcFVwKCIyMDIwLTAx
LTAxIiwgIjIwMDAtMDEtMDEiLCAiMjAwMC0xMi0zMSIpIGlzICIyMDAwLTAxLTAxIgotUEFTUyBz
dGVwRG93bigiMjAyMC0wMS0wMSIsICIyMDAwLTAxLTAxIiwgIjIwMDAtMTItMzEiKSBpcyAiMjAw
MC0wMS0wMSIKLQotUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQotCi1URVNUIENPTVBM
RVRFCi0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvZGF0ZS1tdWx0aXBsZS1m
aWVsZHMvZGF0ZS1tdWx0aXBsZS1maWVsZHMtc3RlcHVwLXN0ZXBkb3duLWZyb20tcmVuZGVyZXIu
aHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvZGF0ZS1tdWx0aXBsZS1maWVsZHMvZGF0ZS1t
dWx0aXBsZS1maWVsZHMtc3RlcHVwLXN0ZXBkb3duLWZyb20tcmVuZGVyZXIuaHRtbApkZWxldGVk
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZTk4OTNmNDMxYjBkMWNhMTM0NWYzZTA1ZTU5MTE0YTA2
MjdkMGYyNi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9M
YXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2RhdGUtbXVsdGlwbGUtZmllbGRzL2RhdGUtbXVsdGlwbGUt
ZmllbGRzLXN0ZXB1cC1zdGVwZG93bi1mcm9tLXJlbmRlcmVyLmh0bWwKKysrIC9kZXYvbnVsbApA
QCAtMSw4NSArMCwwIEBACi08IURPQ1RZUEUgaHRtbD4KLTxodG1sPgotPGhlYWQ+Ci08c2NyaXB0
IHNyYz0iLi4vLi4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KLTxzY3Jp
cHQgc3JjPSIuLi9yZXNvdXJjZXMvY29tbW9uLmpzIj48L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5
PgotPHNjcmlwdD4KLWRlc2NyaXB0aW9uKCdDaGVjayBzdGVwcGluZy11cCBhbmQgLWRvd24gZm9y
IGRhdGUgaW5wdXQgZmllbGRzIGZyb20gcmVuZGVyZXIuJyk7Ci1pZiAoIXdpbmRvdy5ldmVudFNl
bmRlcikKLSAgICBkZWJ1ZygnVGhpcyB0ZXN0IHJlcXVpcmVzIGV2ZW50U2VuZGVyLicpOwotCi12
YXIgaW5wdXQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdpbnB1dCcpOwotaW5wdXQudHlwZSA9
ICdkYXRlJzsKLWRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoaW5wdXQpOwotCi1mdW5jdGlvbiBz
ZXRJbnB1dEF0dHJpYnV0ZXModmFsdWUsIG1pbiwgbWF4KSB7Ci0gICAgaW5wdXQudmFsdWUgPSB2
YWx1ZTsKLSAgICBpbnB1dC5taW4gPSBtaW47Ci0gICAgaW5wdXQubWF4ID0gbWF4OwotfQotCi1m
dW5jdGlvbiBzdGVwVXAodmFsdWUsIG1pbiwgbWF4KSB7Ci0gICAgc2V0SW5wdXRBdHRyaWJ1dGVz
KHZhbHVlLCBtaW4sIG1heCk7Ci0gICAgZXZlbnRTZW5kZXIua2V5RG93bigndXBBcnJvdycpOwot
ICAgIHJldHVybiBpbnB1dC52YWx1ZTsKLX0KLQotZnVuY3Rpb24gc3RlcERvd24odmFsdWUsIG1p
biwgbWF4KSB7Ci0gICAgc2V0SW5wdXRBdHRyaWJ1dGVzKHZhbHVlLCBtaW4sIG1heCk7Ci0gICAg
ZXZlbnRTZW5kZXIua2V5RG93bignZG93bkFycm93Jyk7Ci0gICAgcmV0dXJuIGlucHV0LnZhbHVl
OwotfQotCi1pbnB1dC5mb2N1cygpOwotZGVidWcoJ0Z1bmN0aW9uIGFyZ3VtZW50cyBhcmUgKHZh
bHVlLCBtaW4sIG1heCwgW2tleVNlcXVlbmNlXSkuJyk7Ci1kZWJ1ZygnTW9udGgnKTsKLXNob3Vs
ZEJlRXF1YWxUb1N0cmluZygnc3RlcFVwKCIyMDAwLTA1LTAxIiwgIjIwMDAtMDUtMDEiLCAiMjAw
MC0xMC0zMSIpJywgJzIwMDAtMDYtMDEnKTsKLXNob3VsZEJlRXF1YWxUb1N0cmluZygnc3RlcERv
d24oIjIwMDAtMDUtMDEiLCAiMjAwMC0wNS0wMSIsICIyMDAwLTEwLTMxIiknLCAnMjAwMC0xMC0w
MScpOwotc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdzdGVwVXAoIjIwMDAtMDUtMDEiLCAiMjAwMC0w
Mi0wMSIsICIyMDAwLTA1LTMxIiknLCAnMjAwMC0wMi0wMScpOwotc2hvdWxkQmVFcXVhbFRvU3Ry
aW5nKCdzdGVwRG93bigiMjAwMC0wNS0wMSIsICIyMDAwLTAyLTAxIiwgIjIwMDAtMDUtMzEiKScs
ICcyMDAwLTA0LTAxJyk7Ci1zaG91bGRCZUVxdWFsVG9TdHJpbmcoJ3N0ZXBVcCgiMjAwMC0wNS0w
MSIsICIyMDAwLTA4LTAxIiwgIjIwMDAtMTAtMzEiKScsICcyMDAwLTA4LTAxJyk7Ci1zaG91bGRC
ZUVxdWFsVG9TdHJpbmcoJ3N0ZXBEb3duKCIyMDAwLTA1LTAxIiwgIjIwMDAtMDgtMDEiLCAiMjAw
MC0xMC0zMSIpJywgJzIwMDAtMTAtMDEnKTsKLXNob3VsZEJlRXF1YWxUb1N0cmluZygnc3RlcFVw
KCIyMDAwLTA1LTAxIiwgIjIwMDAtMDMtMDEiLCAiMjAwMC0wMy0zMSIpJywgJzIwMDAtMDMtMDEn
KTsKLXNob3VsZEJlRXF1YWxUb1N0cmluZygnc3RlcERvd24oIjIwMDAtMDUtMDEiLCAiMjAwMC0w
My0wMSIsICIyMDAwLTAzLTMxIiknLCAnMjAwMC0wMy0wMScpOwotc2hvdWxkQmVFcXVhbFRvU3Ry
aW5nKCdzdGVwVXAoIjIwMDAtMDUtMDEiLCAiMjAwMC0wMy0wMSIsICIyMDAxLTA1LTMxIiknLCAn
MjAwMC0wNi0wMScpOwotc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdzdGVwRG93bigiMjAwMC0wNS0w
MSIsICIyMDAwLTA1LTAxIiwgIjIwMDEtMDgtMzEiKScsICcyMDAwLTA0LTAxJyk7Ci0KLWRlYnVn
KCdEYXknKTsKLWV2ZW50U2VuZGVyLmtleURvd24oJ3JpZ2h0QXJyb3cnKTsKLXNob3VsZEJlRXF1
YWxUb1N0cmluZygnc3RlcFVwKCIyMDAwLTA1LTEwIiwgIjIwMDAtMDUtMTAiLCAiMjAwMC0wNS0y
MCIpJywgJzIwMDAtMDUtMTEnKTsKLXNob3VsZEJlRXF1YWxUb1N0cmluZygnc3RlcERvd24oIjIw
MDAtMDUtMTAiLCAiMjAwMC0wNS0xMCIsICIyMDAwLTA1LTIwIiknLCAnMjAwMC0wNS0yMCcpOwot
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdzdGVwVXAoIjIwMDAtMDUtMTAiLCAiMjAwMC0wNS0wNSIs
ICIyMDAwLTA1LTEwIiknLCAnMjAwMC0wNS0wNScpOwotc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdz
dGVwRG93bigiMjAwMC0wNS0xMCIsICIyMDAwLTA1LTA1IiwgIjIwMDAtMDUtMTAiKScsICcyMDAw
LTA1LTA5Jyk7Ci1zaG91bGRCZUVxdWFsVG9TdHJpbmcoJ3N0ZXBVcCgiMjAwMC0wNS0xMCIsICIy
MDAwLTA1LTIwIiwgIjIwMDAtMDUtMzAiKScsICcyMDAwLTA1LTIwJyk7Ci1zaG91bGRCZUVxdWFs
VG9TdHJpbmcoJ3N0ZXBEb3duKCIyMDAwLTA1LTEwIiwgIjIwMDAtMDUtMjAiLCAiMjAwMC0wNS0z
MCIpJywgJzIwMDAtMDUtMzAnKTsKLXNob3VsZEJlRXF1YWxUb1N0cmluZygnc3RlcFVwKCIyMDAw
LTA1LTEwIiwgIjIwMDAtMDUtMDUiLCAiMjAwMC0wNS0wNSIpJywgJzIwMDAtMDUtMDUnKTsKLXNo
b3VsZEJlRXF1YWxUb1N0cmluZygnc3RlcERvd24oIjIwMDAtMDUtMTAiLCAiMjAwMC0wNS0wNSIs
ICIyMDAwLTA1LTA1IiknLCAnMjAwMC0wNS0wNScpOwotc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdz
dGVwVXAoIjIwMDAtMDUtMTAiLCAiMjAwMC0wNS0wNSIsICIyMDAxLTA1LTEwIiknLCAnMjAwMC0w
NS0xMScpOwotc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdzdGVwRG93bigiMjAwMC0wNS0xMCIsICIy
MDAwLTA1LTEwIiwgIjIwMDEtMDUtMTUiKScsICcyMDAwLTA1LTA5Jyk7Ci1zaG91bGRCZUVxdWFs
VG9TdHJpbmcoJ3N0ZXBVcCgiMjAwMC0wNS0xMCIsICIyMDAwLTA1LTA1IiwgIjIwMDAtMDYtMTAi
KScsICcyMDAwLTA1LTExJyk7Ci1zaG91bGRCZUVxdWFsVG9TdHJpbmcoJ3N0ZXBEb3duKCIyMDAw
LTA1LTEwIiwgIjIwMDAtMDUtMTAiLCAiMjAwMC0wNi0xNSIpJywgJzIwMDAtMDUtMDknKTsKLQot
ZGVidWcoJ1llYXInKTsKLXNldElucHV0QXR0cmlidXRlcyhudWxsLCBudWxsLCBudWxsLCBudWxs
KTsKLWV2ZW50U2VuZGVyLmtleURvd24oJ3JpZ2h0QXJyb3cnKTsKLXNob3VsZEJlRXF1YWxUb1N0
cmluZygnc3RlcFVwKCIyMDAwLTAxLTAxIiwgIjIwMDAtMDEtMDEiLCAiMjAwOS0xMi0zMSIpJywg
JzIwMDEtMDEtMDEnKTsKLXNob3VsZEJlRXF1YWxUb1N0cmluZygnc3RlcERvd24oIjIwMDAtMDEt
MDEiLCAiMjAwMC0wMS0wMSIsICIyMDA5LTEyLTMxIiknLCAnMjAwOS0wMS0wMScpOwotc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCdzdGVwVXAoIjIwMDAtMDEtMDEiLCAiMTk5MC0wMS0wMSIsICIyMDAw
LTEyLTMxIiknLCAnMTk5MC0wMS0wMScpOwotc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdzdGVwRG93
bigiMjAwMC0wMS0wMSIsICIxOTkwLTAxLTAxIiwgIjIwMDAtMTItMzEiKScsICcxOTk5LTAxLTAx
Jyk7Ci1zaG91bGRCZUVxdWFsVG9TdHJpbmcoJ3N0ZXBVcCgiMjc1NzYwLTAxLTAxIiwgIjE5OTAt
MDEtMDEiLCBudWxsKScsICcxOTkwLTAxLTAxJyk7Ci1zaG91bGRCZUVxdWFsVG9TdHJpbmcoJ3N0
ZXBEb3duKCIxOTkwLTAxLTAxIiwgIjE5OTAtMDEtMDEiLCBudWxsKScsICcyNzU3NjAtMDEtMDEn
KTsKLXNob3VsZEJlRXF1YWxUb1N0cmluZygnc3RlcFVwKCIyMDAwLTAxLTAxIiwgbnVsbCwgIjIw
MDAtMTItMzEiKScsICcwMDAxLTAxLTAxJyk7Ci1zaG91bGRCZUVxdWFsVG9TdHJpbmcoJ3N0ZXBE
b3duKCIwMDAxLTAxLTAxIiwgbnVsbCwgIjIwMDAtMTItMzEiKScsICcyMDAwLTAxLTAxJyk7Ci1z
aG91bGRCZUVxdWFsVG9TdHJpbmcoJ3N0ZXBVcCgiMTk5MC0wMS0wMSIsICIyMDAwLTAxLTAxIiwg
IjIwMDktMTItMzEiKScsICcyMDAwLTAxLTAxJyk7Ci1zaG91bGRCZUVxdWFsVG9TdHJpbmcoJ3N0
ZXBEb3duKCIxOTkwLTAxLTAxIiwgIjIwMDAtMDEtMDEiLCAiMjAwOS0xMi0zMSIpJywgJzIwMDkt
MDEtMDEnKTsKLXNob3VsZEJlRXF1YWxUb1N0cmluZygnc3RlcFVwKCIyMDIwLTAxLTAxIiwgIjIw
MDAtMDEtMDEiLCAiMjAwMC0xMi0zMSIpJywgJzIwMDAtMDEtMDEnKTsKLXNob3VsZEJlRXF1YWxU
b1N0cmluZygnc3RlcERvd24oIjIwMjAtMDEtMDEiLCAiMjAwMC0wMS0wMSIsICIyMDAwLTEyLTMx
IiknLCAnMjAwMC0wMS0wMScpOwotCi1kZWJ1ZygnJyk7Ci1pbnB1dC5yZW1vdmUoKTsKLTwvc2Ny
aXB0PgotPHNjcmlwdCBzcmM9Ii4uLy4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwv
c2NyaXB0PgotPC9ib2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9m
b3Jtcy9kYXRlLW11bHRpcGxlLWZpZWxkcy9kYXRlLW11bHRpcGxlLWZpZWxkcy12YWxpZGl0eS1i
YWRpbnB1dC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2RhdGUtbXVsdGlw
bGUtZmllbGRzL2RhdGUtbXVsdGlwbGUtZmllbGRzLXZhbGlkaXR5LWJhZGlucHV0LWV4cGVjdGVk
LnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMWZlMGE2ZjY0OGQ5MDYyMzIxYjUy
MjQ5YjkwYmE2NWU0ZWExYzk5NC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2RhdGUtbXVsdGlwbGUtZmllbGRzL2Rh
dGUtbXVsdGlwbGUtZmllbGRzLXZhbGlkaXR5LWJhZGlucHV0LWV4cGVjdGVkLnR4dAorKysgL2Rl
di9udWxsCkBAIC0xLDIwICswLDAgQEAKLUEgZGF0ZSBpbnB1dCBmaWVsZHMgd2l0aCBhIGJhZCB1
c2VyIGlucHV0IHNob3VsZCBtYWtlIHZhbGlkaXR5LmJhZElucHV0IHRydWUgYW5kIGhhdmUgOmlu
dmFsaWQgc3R5bGUuCi0KLU9uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFT
UyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KLQotCi1Jbml0aWFsIHN0
YXRlLiBUaGUgZWxtZW50IGhhcyBubyB2YWx1ZS4KLVBBU1MgY29sb3JPZihpbnB1dCkgaXMgbm90
IGludmFsaWRTdHlsZUNvbG9yCi1QQVNTIGlucHV0LnZhbGlkaXR5LmJhZElucHV0IGlzIGZhbHNl
Ci1TZXQgYSB2YWx1ZSB0byB0aGUgZmlyc3Qgc3ViLWZpZWxkLiBUaGUgZWxlbWVudCBiZWNvbWVz
IGJhZElucHV0LgotUEFTUyBjb2xvck9mKGlucHV0KSBpcyBpbnZhbGlkU3R5bGVDb2xvcgotUEFT
UyBpbnB1dC52YWxpZGl0eS5iYWRJbnB1dCBpcyB0cnVlCi1TZXQgYW4gaW52YWxpZCBkYXRlLCAy
MDEyLTAyLTMxLgotUEFTUyBpbnB1dC52YWxpZGl0eS5iYWRJbnB1dCBpcyBmYWxzZQotUEFTUyBp
bnB1dC52YWx1ZSBpcyAiIgotUEFTUyBpbnB1dC52YWxpZGl0eS5iYWRJbnB1dCBpcyB0cnVlCi1Q
QVNTIGNvbG9yT2YoaW5wdXQpIGlzIGludmFsaWRTdHlsZUNvbG9yCi1QQVNTIHN1Y2Nlc3NmdWxs
eVBhcnNlZCBpcyB0cnVlCi0KLVRFU1QgQ09NUExFVEUKLQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZmFzdC9mb3Jtcy9kYXRlLW11bHRpcGxlLWZpZWxkcy9kYXRlLW11bHRpcGxlLWZpZWxkcy12
YWxpZGl0eS1iYWRpbnB1dC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9kYXRlLW11bHRp
cGxlLWZpZWxkcy9kYXRlLW11bHRpcGxlLWZpZWxkcy12YWxpZGl0eS1iYWRpbnB1dC5odG1sCmRl
bGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBjMWE3ODllZWZmNGJjZTQwODkyOTYyNzUyYjRh
MThkMGYzOWNjYjUwLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0t
LSBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvZGF0ZS1tdWx0aXBsZS1maWVsZHMvZGF0ZS1tdWx0
aXBsZS1maWVsZHMtdmFsaWRpdHktYmFkaW5wdXQuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDE0
ICswLDAgQEAKLTwhRE9DVFlQRSBodG1sPgotPHN0eWxlPgotOmludmFsaWQgewotICAgIGJhY2tn
cm91bmQtY29sb3I6ICNmZjAwMDA7Ci19Ci08L3N0eWxlPgotPGJvZHk+Ci08c2NyaXB0IHNyYz0i
Li4vLi4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3Jj
PSIuLi9yZXNvdXJjZXMvbXVsdGlwbGUtZmllbGRzLXZhbGlkaXR5LWJhZGlucHV0LmpzIj48L3Nj
cmlwdD4KLTxzY3JpcHQ+Ci10ZXN0QmFkSW5wdXQoJ2RhdGUnKTsKLTwvc2NyaXB0PgotPHNjcmlw
dCBzcmM9Ii4uLy4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgotPC9i
b2R5PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9kYXRlLW11bHRpcGxlLWZp
ZWxkcy9kYXRlLW11bHRpcGxlLWZpZWxkcy12YWx1ZS1zZXQtZW1wdHktZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9kYXRlLW11bHRpcGxlLWZpZWxkcy9kYXRlLW11bHRpcGxl
LWZpZWxkcy12YWx1ZS1zZXQtZW1wdHktZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCA0ODUzYWI5Y2UwZTQ5NDcyNzYwNzIwY2NjNjE2Y2ZmNzUxNmU3YzdlLi4wMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2Zh
c3QvZm9ybXMvZGF0ZS1tdWx0aXBsZS1maWVsZHMvZGF0ZS1tdWx0aXBsZS1maWVsZHMtdmFsdWUt
c2V0LWVtcHR5LWV4cGVjdGVkLnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDEyICswLDAgQEAKLUNo
ZWNrIGlmIGlucHV0LnZhbHVlPSIiIGNsZWFycyBhbiBpbnB1dCB3aXRoIHBhcnRpYWxseS1zcGVj
aWZpZWQgdmFsdWUuCi0KLU9uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFT
UyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KLQotCi1FbXB0eSB0ZXh0
OiBtbS9kZC95eXl5Ci1QQVNTIGV2ZW50U2VuZGVyLmtleURvd24oInVwQXJyb3ciKTsgZ2V0VXNl
ckFnZW50U2hhZG93VGV4dENvbnRlbnQoaW5wdXQpIGlzIG5vdCBlbXB0eVRleHQKLVBBU1MgaW5w
dXQudmFsdWUgPSAiIjsgZ2V0VXNlckFnZW50U2hhZG93VGV4dENvbnRlbnQoaW5wdXQpIGlzIGVt
cHR5VGV4dAotUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQotCi1URVNUIENPTVBMRVRF
Ci0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvZGF0ZS1tdWx0aXBsZS1maWVs
ZHMvZGF0ZS1tdWx0aXBsZS1maWVsZHMtdmFsdWUtc2V0LWVtcHR5Lmh0bWwgYi9MYXlvdXRUZXN0
cy9mYXN0L2Zvcm1zL2RhdGUtbXVsdGlwbGUtZmllbGRzL2RhdGUtbXVsdGlwbGUtZmllbGRzLXZh
bHVlLXNldC1lbXB0eS5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMjhiOGUx
OTQ0Y2NlYzQwODM1NTQ2MjkyMjQwMmU3NmM4NWNhNzA1Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvZGF0ZS1tdWx0
aXBsZS1maWVsZHMvZGF0ZS1tdWx0aXBsZS1maWVsZHMtdmFsdWUtc2V0LWVtcHR5Lmh0bWwKKysr
IC9kZXYvbnVsbApAQCAtMSwxMCArMCwwIEBACi08IURPQ1RZUEUgaHRtbD4KLTxib2R5PgotPHNj
cmlwdCBzcmM9Ii4uLy4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Ci08
c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL2NvbW1vbi5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNy
Yz0iLi4vcmVzb3VyY2VzL211bHRpcGxlLWZpZWxkcy12YWx1ZS1zZXQtZW1wdHkuanMiPjwvc2Ny
aXB0PgotPHNjcmlwdD4KLXRlc3RTZXR0aW5nRW1wdHlTdHJpbmdDbGVhcnNTdWJGaWVsZHMoJ2Rh
dGUnKTsKLTwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii4uLy4uL2pzL3Jlc291cmNlcy9qcy10ZXN0
LXBvc3QuanMiPjwvc2NyaXB0PgotPC9ib2R5PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFz
dC9mb3Jtcy9kYXRlLW11bHRpcGxlLWZpZWxkcy9kYXRlLW11bHRpcGxlLWZpZWxkcy13aGVlbC1l
dmVudC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2RhdGUtbXVsdGlwbGUt
ZmllbGRzL2RhdGUtbXVsdGlwbGUtZmllbGRzLXdoZWVsLWV2ZW50LWV4cGVjdGVkLnR4dApkZWxl
dGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMjRhOGM0NmZlZWQ2MmZmOGI5OTRkYTJmYTUxNjQ5
OTVjZjcwZjQyZi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0g
YS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2RhdGUtbXVsdGlwbGUtZmllbGRzL2RhdGUtbXVsdGlw
bGUtZmllbGRzLXdoZWVsLWV2ZW50LWV4cGVjdGVkLnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDIz
ICswLDAgQEAKLVRlc3QgZm9yIHdoZWVsIG9wZXJhdGlvbnMgZm9yIDxpbnB1dCB0eXBlPWRhdGU+
Ci0KLU9uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMs
IGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KLQotCi1Jbml0aWFsIHZhbHVlIGlzIDE5OTkt
MDEtMTMuIFdlJ2xsIHdoZWVsIHVwIGJ5IDE6Ci1QQVNTIGlucHV0LnZhbHVlIGlzICIxOTk5LTAy
LTEzIgotV2hlZWwgdXAgYnkgMTAwOgotUEFTUyBpbnB1dC52YWx1ZSBpcyAiMTk5OS0wMy0xMyIK
LVdoZWVsIGRvd24gYnkgMToKLVBBU1MgaW5wdXQudmFsdWUgaXMgIjE5OTktMDItMTMiCi1XaGVl
bCBkb3duIGJ5IDI1NjoKLVBBU1MgaW5wdXQudmFsdWUgaXMgIjE5OTktMDEtMTMiCi1EaXNhYmxl
ZCBpbnB1dCBlbGVtZW50OgotUEFTUyBpbnB1dC52YWx1ZSBpcyAiMTk5OS0wMS0xMyIKLVJlYWQt
b25seSBpbnB1dCBlbGVtZW50OgotUEFTUyBpbnB1dC52YWx1ZSBpcyAiMTk5OS0wMS0xMyIKLU5v
IGZvY3VzOgotUEFTUyBpbnB1dC52YWx1ZSBpcyAiMTk5OS0wMS0xMyIKLVBBU1Mgc3VjY2Vzc2Z1
bGx5UGFyc2VkIGlzIHRydWUKLQotVEVTVCBDT01QTEVURQotCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9mYXN0L2Zvcm1zL2RhdGUtbXVsdGlwbGUtZmllbGRzL2RhdGUtbXVsdGlwbGUtZmllbGRz
LXdoZWVsLWV2ZW50Lmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2RhdGUtbXVsdGlwbGUt
ZmllbGRzL2RhdGUtbXVsdGlwbGUtZmllbGRzLXdoZWVsLWV2ZW50Lmh0bWwKZGVsZXRlZCBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDY2MGJmNTliMTVjNTg4MDgyMWFhZThhNjgwMjA2NjMyNWNiODVm
MzAuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0
VGVzdHMvZmFzdC9mb3Jtcy9kYXRlLW11bHRpcGxlLWZpZWxkcy9kYXRlLW11bHRpcGxlLWZpZWxk
cy13aGVlbC1ldmVudC5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsMTcgKzAsMCBAQAotPCFET0NU
WVBFIGh0bWw+Ci08aHRtbD4KLTxoZWFkPgotPHNjcmlwdCBzcmM9Ii4uLy4uLy4uL2Zhc3QvanMv
cmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIuLi9yZXNv
dXJjZXMvY29tbW9uLXdoZWVsLWV2ZW50LmpzIj48L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5Pgot
PHNjcmlwdD4KLXRlc3RXaGVlbEV2ZW50KHsKLSAgICAnaW5wdXRUeXBlJyA6ICdkYXRlJywKLSAg
ICAnaW5pdGlhbFZhbHVlJyA6ICcxOTk5LTAxLTEzJywKLSAgICAnc3RlcFVwVmFsdWUxJyA6ICcx
OTk5LTAyLTEzJywKLSAgICAnc3RlcFVwVmFsdWUyJyA6ICcxOTk5LTAzLTEzJyB9KTsKLTwvc2Ny
aXB0PgotPHNjcmlwdCBzcmM9Ii4uLy4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcG9z
dC5qcyI+PC9zY3JpcHQ+Ci08L2JvZHk+Ci08L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9mYXN0L2Zvcm1zL2RhdGUtbXVsdGlwbGUtZmllbGRzL3Jlc291cmNlcy9wcmVzZXJ2ZS12YWx1
ZS1hZnRlci1oaXN0b3J5LWJhY2stZnJhbWUuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMv
ZGF0ZS1tdWx0aXBsZS1maWVsZHMvcmVzb3VyY2VzL3ByZXNlcnZlLXZhbHVlLWFmdGVyLWhpc3Rv
cnktYmFjay1mcmFtZS5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBjN2MzZTk5
NzgxODI2MWQ2MjEyODExMTc1ZjhkYzZiNGNiYzExZWZhLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvZGF0ZS1tdWx0
aXBsZS1maWVsZHMvcmVzb3VyY2VzL3ByZXNlcnZlLXZhbHVlLWFmdGVyLWhpc3RvcnktYmFjay1m
cmFtZS5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsMTAwICswLDAgQEAKLTwhRE9DVFlQRSBodG1s
PgotPGJvZHk+Ci08aW5wdXQgdHlwZT0iZGF0ZSIgaWQ9InRlc3QxIj4KLTxpbnB1dCB0eXBlPSJk
YXRlIiBpZD0idGVzdDIiIG1pbj0iMTk5OS0wMS0wMSIgbWF4PSIyMDAwLTEyLTMxIj4KLTxzY3Jp
cHQ+Ci1mdW5jdGlvbiBmaWVsZHNUZXh0KGlucHV0KSB7Ci0gICAgcmV0dXJuIHdpbmRvdy5pbnRl
cm5hbHMub2xkZXN0U2hhZG93Um9vdChpbnB1dCkudGV4dENvbnRlbnQ7Ci19Ci0KLWZ1bmN0aW9u
IGJhY2sobmV3U3RhdGUpIHsKLSAgICBwYXJlbnQuc3RhdGUgPSBuZXdTdGF0ZTsKLSAgICBoaXN0
b3J5LmJhY2soKTsKLX0KLQotZnVuY3Rpb24gZm9yd2FyZChuZXdTdGF0ZSkgewotICAgIHBhcmVu
dC5zdGF0ZSA9IG5ld1N0YXRlOwotICAgIGhpc3RvcnkuZm9yd2FyZCgpOwotfQotCi1mdW5jdGlv
biBrZXlEb3duKGtleSkgewotICAgIGV2ZW50U2VuZGVyLmtleURvd24oa2V5KTsKLX0KLQotdmFy
IHRlc3RJbnB1dDEgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgndGVzdDEnKTsKLXZhciB0ZXN0
SW5wdXQyID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3Rlc3QyJyk7Ci12YXIgcGFnZU5hbWUg
PSBsb2NhdGlvbi5zZWFyY2ggfHwgJz9wYWdlMSc7Ci0KLXdpbmRvdy5vbmxvYWQgPSBmdW5jdGlv
bigpIHsKLSAgICBzd2l0Y2ggKHBhZ2VOYW1lKSB7Ci0gICAgY2FzZSAnP3BhZ2UxJzoKLSAgICAg
ICAgc3dpdGNoIChwYXJlbnQuc3RhdGUpIHsKLSAgICAgICAgY2FzZSAnZGlyZWN0JzogewotICAg
ICAgICAgICAgdGVzdElucHV0MS52YWx1ZSA9ICcxMjAxMi0xMC0wOSc7Ci0gICAgICAgICAgICB0
ZXN0SW5wdXQyLmZvY3VzKCk7Ci0gICAgICAgICAgICBrZXlEb3duKCd1cEFycm93Jyk7IC8vIC0+
IFswMV0vZGQveXl5eQotICAgICAgICAgICAga2V5RG93bignXHQnKTsgLy8gICAgICAtPiAwMS9b
ZGRdL3l5eXkKLSAgICAgICAgICAgIGtleURvd24oJ1x0Jyk7IC8vICAgICAgLT4gMDEvZGQvW3l5
eXldCi0gICAgICAgICAgICBrZXlEb3duKCd1cEFycm93Jyk7IC8vIC0+IDAxL2RkL1sxOTk5XQot
ICAgICAgICAgICAgdmFyIG5leHRVcmkgPSBsb2NhdGlvbi50b1N0cmluZygpLnJlcGxhY2UoJz9w
YWdlMScsICc/cGFnZTInKTsKLSAgICAgICAgICAgIHNldFRpbWVvdXQoZnVuY3Rpb24oKSB7IHdp
bmRvdy5sb2NhdGlvbi5ocmVmID0gbmV4dFVyaTsgfSwgMCk7Ci0gICAgICAgICAgICBicmVhazsK
LSAgICAgICAgfQotICAgICAgICBjYXNlICdiYWNrVG8xJzoKLSAgICAgICAgICAgIHBhcmVudC50
ZXN0Q2FzZXMucHVzaCgKLSAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICdk
ZXNjcmlwdGlvbicgOiAnV2VudCBiYWNrIHRvIGEgcGFnZS4gQ2hlY2tpbmcgYSBmb3JtIGNvbnRy
b2wgd2hpY2ggaGFkIGEgZnVsbCB2YWx1ZScsCi0gICAgICAgICAgICAgICAgICAgICdhY3R1YWwn
IDogdGVzdElucHV0MS52YWx1ZSwKLSAgICAgICAgICAgICAgICAgICAgJ2V4cGVjdGVkJyA6ICcx
MjAxMi0xMC0wOScgfSwKLSAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICdk
ZXNjcmlwdGlvbicgOiAnV2VudCBiYWNrIHRvIGEgcGFnZS4gQ2hlY2tpbmcgYSBmb3JtIGNvbnRy
b2wgd2hpY2ggaGFkIGEgcGFydGlhbCB2YWx1ZScsCi0gICAgICAgICAgICAgICAgICAgICdhY3R1
YWwnIDogZmllbGRzVGV4dCh0ZXN0SW5wdXQyKSwKLSAgICAgICAgICAgICAgICAgICAgJ2V4cGVj
dGVkJyA6ICcwMS9kZC8xOTk5JwotICAgICAgICAgICAgICAgIH0pOwotICAgICAgICAgICAgZm9y
d2FyZCgnZm9yd2FyZFRvMicpOwotICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgIGNhc2UgJ2Jh
Y2tUbzFTZWNvbmQnOgotICAgICAgICAgICAgcGFyZW50LmZpbmlzaFRlc3QoKTsKLSAgICAgICAg
ICAgIGJyZWFrOwotICAgICAgICBkZWZhdWx0OgotICAgICAgICAgICAgcGFyZW50LmZhaWxlZCgn
VW5leHBlY3RlZCBzdGF0ZSgnICsgcGFyZW50LnN0YXRlICsgJyknKTsKLSAgICAgICAgICAgIGJy
ZWFrOwotICAgICAgICB9Ci0gICAgICAgIGJyZWFrOwotCi0gICAgY2FzZSAnP3BhZ2UyJzoKLSAg
ICAgICAgc3dpdGNoIChwYXJlbnQuc3RhdGUpIHsKLSAgICAgICAgY2FzZSAnZGlyZWN0JzoKLSAg
ICAgICAgICAgIHRlc3RJbnB1dDEudmFsdWUgPSAnMDAwMS0xMS0xNyc7Ci0gICAgICAgICAgICB0
ZXN0SW5wdXQyLmZvY3VzKCk7Ci0gICAgICAgICAgICBrZXlEb3duKCdcdCcpOyAvLyAgICAgICAg
LT4gbW0vW2RkXS95eXl5Ci0gICAgICAgICAgICBrZXlEb3duKCdkb3duQXJyb3cnKTsgLy8gLT4g
bW0vWzMxXS95eXl5Ci0gICAgICAgICAgICBiYWNrKCdiYWNrVG8xJyk7Ci0gICAgICAgICAgICBi
cmVhazsKLSAgICAgICAgY2FzZSAnZm9yd2FyZFRvMic6Ci0gICAgICAgICAgICBwYXJlbnQudGVz
dENhc2VzLnB1c2goCi0gICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICAnZGVz
Y3JpcHRpb24nIDogJ1dlbnQgZm9yd2FyZCB0byBhIHBhZ2UuIENoZWNraW5nIGEgZm9ybSBjb250
cm9sIHdoaWNoIGhhZCBhIGZ1bGwgdmFsdWUnLAotICAgICAgICAgICAgICAgICAgICAnYWN0dWFs
JyA6IHRlc3RJbnB1dDEudmFsdWUsCi0gICAgICAgICAgICAgICAgICAgICdleHBlY3RlZCcgOiAn
MDAwMS0xMS0xNycKLSAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgIHsKLSAgICAg
ICAgICAgICAgICAgICAgJ2Rlc2NyaXB0aW9uJyA6ICdXZW50IGZvcndhcmQgdG8gYSBwYWdlLiBD
aGVja2luZyBhIGZvcm0gY29udHJvbCB3aGljaCBoYWQgYSBwYXJ0aWFsIHZhbHVlJywKLSAgICAg
ICAgICAgICAgICAgICAgJ2FjdHVhbCcgOiBmaWVsZHNUZXh0KHRlc3RJbnB1dDIpLAotICAgICAg
ICAgICAgICAgICAgICAnZXhwZWN0ZWQnIDogJ21tLzMxL3l5eXknCi0gICAgICAgICAgICAgICAg
fSk7Ci0gICAgICAgICAgICBiYWNrKCdiYWNrVG8xU2Vjb25kJyk7Ci0gICAgICAgICAgICBicmVh
azsKLSAgICAgICAgZGVmYXVsdDoKLSAgICAgICAgICAgIHBhcmVudC5mYWlsZWQoJ1VuZXhwZWN0
ZWQgc3RhdGUoJyArIHBhcmVudC5zdGF0ZSArICcpJyk7Ci0gICAgICAgICAgICBicmVhazsKLSAg
ICAgICAgfQotICAgICAgICBicmVhazsKLQotICAgIGRlZmF1bHQ6Ci0gICAgICAgIHBhcmVudC5m
YWlsZWQoJ1VuZXhwZWN0ZWQgcGFnZSgnICsgcGFnZU5hbWUgKyAnKScpOwotICAgICAgICBicmVh
azsKLSAgICB9Ci19OwotPC9zY3JpcHQ+Ci08L2JvZHk+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9mYXN0L2Zvcm1zL2RhdGV0aW1lLW11bHRpcGxlLWZpZWxkcy9kYXRldGltZS1tdWx0aXBsZS1m
aWVsZHMtZmFsbGJhY2stZm9ybWF0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvZm9y
bXMvZGF0ZXRpbWUtbXVsdGlwbGUtZmllbGRzL2RhdGV0aW1lLW11bHRpcGxlLWZpZWxkcy1mYWxs
YmFjay1mb3JtYXQtZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBh
NzJiYjc5NTNiNTRmODcyMzdmMTcxNTU1MjY0YmUyMDkyNmQ1MDU5Li4wMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvZGF0
ZXRpbWUtbXVsdGlwbGUtZmllbGRzL2RhdGV0aW1lLW11bHRpcGxlLWZpZWxkcy1mYWxsYmFjay1m
b3JtYXQtZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEsMTUgKzAsMCBAQAotQ2hlY2tz
IGluY29tcGxldGUgZGF0ZXRpbWUgZm9ybWF0cyBhcmUgcmVqZWN0ZWQuCi0KLU9uIHN1Y2Nlc3Ms
IHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJU
RVNUIENPTVBMRVRFIi4KLQotCi1WYWxpZCBmb3JtYXQKLVBBU1MgZ2V0VXNlckFnZW50U2hhZG93
VGV4dENvbnRlbnQoaW5wdXQpIGlzICIxOTk5LTA3LTMxIDExOjU5IFBNIgotSW52YWxpZCBmb3Jt
YXQsIGZhbGxiYWNrIHRvIHl5eXktTU0tZGQnVCdISDptbQotUEFTUyBnZXRVc2VyQWdlbnRTaGFk
b3dUZXh0Q29udGVudChpbnB1dCkgaXMgIjE5OTktMDctMzFUMjM6NTkiCi1QQVNTIGdldFVzZXJB
Z2VudFNoYWRvd1RleHRDb250ZW50KGlucHV0KSBpcyAiMTk5OS0wNy0zMVQyMzo1OSIKLVBBU1Mg
Z2V0VXNlckFnZW50U2hhZG93VGV4dENvbnRlbnQoaW5wdXQpIGlzICIxOTk5LTA3LTMxVDIzOjU5
IgotUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQotCi1URVNUIENPTVBMRVRFCi0KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvZGF0ZXRpbWUtbXVsdGlwbGUtZmllbGRz
L2RhdGV0aW1lLW11bHRpcGxlLWZpZWxkcy1mYWxsYmFjay1mb3JtYXQuaHRtbCBiL0xheW91dFRl
c3RzL2Zhc3QvZm9ybXMvZGF0ZXRpbWUtbXVsdGlwbGUtZmllbGRzL2RhdGV0aW1lLW11bHRpcGxl
LWZpZWxkcy1mYWxsYmFjay1mb3JtYXQuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMjA5ZjY4OGFkOTYzYzg1YzA3NzNlMzg3NmRkNWRlYWNhYmVkMmZjMS4uMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1z
L2RhdGV0aW1lLW11bHRpcGxlLWZpZWxkcy9kYXRldGltZS1tdWx0aXBsZS1maWVsZHMtZmFsbGJh
Y2stZm9ybWF0Lmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSwzOSArMCwwIEBACi08IURPQ1RZUEUg
aHRtbD4KLTxodG1sPgotPGhlYWQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vanMvcmVzb3VyY2VzL2pz
LXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvY29tbW9u
LmpzIj48L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5PgotPHNjcmlwdD4KLWRlc2NyaXB0aW9uKCdD
aGVja3MgaW5jb21wbGV0ZSBkYXRldGltZSBmb3JtYXRzIGFyZSByZWplY3RlZC4nKTsKLQotdmFy
IGlucHV0ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnaW5wdXQnKTsKLWlucHV0LnR5cGUgPSAn
ZGF0ZXRpbWUtbG9jYWwnOwotZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChpbnB1dCk7Ci0KLWZ1
bmN0aW9uIHNldERhdGVUaW1lRm9ybWF0KHBhdHRlcm4pIHsKLSAgICB2YXIgdmFsdWUgPSBpbnB1
dC52YWx1ZTsKLSAgICBnZXRFbGVtZW50QnlQc2V1ZG9JZChpbnRlcm5hbHMueW91bmdlc3RTaGFk
b3dSb290KGlucHV0KSwgJy13ZWJraXQtZGF0ZXRpbWUtZWRpdCcpLnNldEF0dHJpYnV0ZSgncGF0
dGVybicsIHBhdHRlcm4pOwotICAgIGlucHV0LnZhbHVlID0gJyc7IC8vIFVwZGF0ZXMgdGhlIGVs
ZW1lbnQgZm9yIG5ldyBmb3JtYXQKLSAgICBpbnB1dC52YWx1ZSA9IHZhbHVlOwotfQotCi1pbnB1
dC52YWx1ZSA9ICcxOTk5LTA3LTMxVDIzOjU5JzsKLQotZGVidWcoJ1ZhbGlkIGZvcm1hdCcpOwot
c2V0RGF0ZVRpbWVGb3JtYXQoInl5eXktTU0tZGQgaGg6bW0gYSIpOwotc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCdnZXRVc2VyQWdlbnRTaGFkb3dUZXh0Q29udGVudChpbnB1dCknLCAnMTk5OS0wNy0z
MSAxMTo1OSBQTScpOwotCi1kZWJ1ZygiSW52YWxpZCBmb3JtYXQsIGZhbGxiYWNrIHRvIHl5eXkt
TU0tZGQnVCdISDptbSIpOwotc2V0RGF0ZVRpbWVGb3JtYXQoJ3l5eXktTU0tZGQnKTsKLXNob3Vs
ZEJlRXF1YWxUb1N0cmluZygnZ2V0VXNlckFnZW50U2hhZG93VGV4dENvbnRlbnQoaW5wdXQpJywg
JzE5OTktMDctMzFUMjM6NTknKTsKLXNldERhdGVUaW1lRm9ybWF0KCdISDptbScpOwotc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCdnZXRVc2VyQWdlbnRTaGFkb3dUZXh0Q29udGVudChpbnB1dCknLCAn
MTk5OS0wNy0zMVQyMzo1OScpOwotc2V0RGF0ZVRpbWVGb3JtYXQoInl5eXktTU0tZGQnVCdoaDpt
bSIpOwotc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdnZXRVc2VyQWdlbnRTaGFkb3dUZXh0Q29udGVu
dChpbnB1dCknLCAnMTk5OS0wNy0zMVQyMzo1OScpOwotCi08L3NjcmlwdD4KLTxzY3JpcHQgc3Jj
PSIuLi8uLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KLTwvYm9keT4K
LTwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvZGF0ZXRpbWUtbXVs
dGlwbGUtZmllbGRzL2RhdGV0aW1lLW11bHRpcGxlLWZpZWxkcy12YWxpZGl0eS1iYWRpbnB1dC1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2RhdGV0aW1lLW11bHRpcGxlLWZp
ZWxkcy9kYXRldGltZS1tdWx0aXBsZS1maWVsZHMtdmFsaWRpdHktYmFkaW5wdXQtZXhwZWN0ZWQu
dHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAzYTRlZTQ1OGU1YjIyMTMyMTI1NmQ2
ZDM3ODgyMzE5YTgzZWQyNmJlLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwCi0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvZGF0ZXRpbWUtbXVsdGlwbGUtZmllbGRz
L2RhdGV0aW1lLW11bHRpcGxlLWZpZWxkcy12YWxpZGl0eS1iYWRpbnB1dC1leHBlY3RlZC50eHQK
KysrIC9kZXYvbnVsbApAQCAtMSwyMCArMCwwIEBACi1BIGRhdGV0aW1lIGlucHV0IGZpZWxkcyB3
aXRoIGEgYmFkIHVzZXIgaW5wdXQgc2hvdWxkIG1ha2UgdmFsaWRpdHkuYmFkSW5wdXQgdHJ1ZSBh
bmQgaGF2ZSA6aW52YWxpZCBzdHlsZS4KLQotT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2Vy
aWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgotCi0K
LUluaXRpYWwgc3RhdGUuIFRoZSBlbG1lbnQgaGFzIG5vIHZhbHVlLgotUEFTUyBjb2xvck9mKGlu
cHV0KSBpcyBub3QgaW52YWxpZFN0eWxlQ29sb3IKLVBBU1MgaW5wdXQudmFsaWRpdHkuYmFkSW5w
dXQgaXMgZmFsc2UKLVNldCBhIHZhbHVlIHRvIHRoZSBmaXJzdCBzdWItZmllbGQuIFRoZSBlbGVt
ZW50IGJlY29tZXMgYmFkSW5wdXQuCi1QQVNTIGNvbG9yT2YoaW5wdXQpIGlzIGludmFsaWRTdHls
ZUNvbG9yCi1QQVNTIGlucHV0LnZhbGlkaXR5LmJhZElucHV0IGlzIHRydWUKLVNldCBhbiBpbnZh
bGlkIGRhdGUsIDIwMTItMDItMzEuCi1QQVNTIGlucHV0LnZhbGlkaXR5LmJhZElucHV0IGlzIGZh
bHNlCi1QQVNTIGlucHV0LnZhbHVlIGlzICIiCi1QQVNTIGlucHV0LnZhbGlkaXR5LmJhZElucHV0
IGlzIHRydWUKLVBBU1MgY29sb3JPZihpbnB1dCkgaXMgaW52YWxpZFN0eWxlQ29sb3IKLVBBU1Mg
c3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKLQotVEVTVCBDT01QTEVURQotCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2RhdGV0aW1lLW11bHRpcGxlLWZpZWxkcy9kYXRldGlt
ZS1tdWx0aXBsZS1maWVsZHMtdmFsaWRpdHktYmFkaW5wdXQuaHRtbCBiL0xheW91dFRlc3RzL2Zh
c3QvZm9ybXMvZGF0ZXRpbWUtbXVsdGlwbGUtZmllbGRzL2RhdGV0aW1lLW11bHRpcGxlLWZpZWxk
cy12YWxpZGl0eS1iYWRpbnB1dC5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA4
ODJhMGYxMzcxZTg4NmEyODc5NDg3NmVhYmY2MDFhNDgxM2Y1ZTYxLi4wMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvZGF0
ZXRpbWUtbXVsdGlwbGUtZmllbGRzL2RhdGV0aW1lLW11bHRpcGxlLWZpZWxkcy12YWxpZGl0eS1i
YWRpbnB1dC5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsMTQgKzAsMCBAQAotPCFET0NUWVBFIGh0
bWw+Ci08c3R5bGU+Ci06aW52YWxpZCB7Ci0gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmMDAwMDsK
LX0KLTwvc3R5bGU+Ci08Ym9keT4KLTxzY3JpcHQgc3JjPSIuLi8uLi9qcy9yZXNvdXJjZXMvanMt
dGVzdC1wcmUuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy9tdWx0aXBs
ZS1maWVsZHMtdmFsaWRpdHktYmFkaW5wdXQuanMiPjwvc2NyaXB0PgotPHNjcmlwdD4KLXRlc3RC
YWRJbnB1dCgnZGF0ZXRpbWUnKTsKLTwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii4uLy4uL2pzL3Jl
c291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgotPC9ib2R5PgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9kYXRldGltZS1tdWx0aXBsZS1maWVsZHMvZGF0ZXRpbWUt
bXVsdGlwbGUtZmllbGRzLXZhbHVlLXNldC1lbXB0eS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9mYXN0L2Zvcm1zL2RhdGV0aW1lLW11bHRpcGxlLWZpZWxkcy9kYXRldGltZS1tdWx0aXBsZS1m
aWVsZHMtdmFsdWUtc2V0LWVtcHR5LWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggZDRhZDUzZTFhZmVjNGY0MmU3ZjY4NzUzZDEzYzgxYmE1MGVmZjNhZS4uMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0
L2Zvcm1zL2RhdGV0aW1lLW11bHRpcGxlLWZpZWxkcy9kYXRldGltZS1tdWx0aXBsZS1maWVsZHMt
dmFsdWUtc2V0LWVtcHR5LWV4cGVjdGVkLnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDEyICswLDAg
QEAKLUNoZWNrIGlmIGlucHV0LnZhbHVlPSIiIGNsZWFycyBhbiBpbnB1dCB3aXRoIHBhcnRpYWxs
eS1zcGVjaWZpZWQgdmFsdWUuCi0KLU9uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBv
ZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KLQotCi1FbXB0
eSB0ZXh0OiBtbS9kZC95eXl5IC0tOi0tIC0tCi1QQVNTIGV2ZW50U2VuZGVyLmtleURvd24oInVw
QXJyb3ciKTsgZ2V0VXNlckFnZW50U2hhZG93VGV4dENvbnRlbnQoaW5wdXQpIGlzIG5vdCBlbXB0
eVRleHQKLVBBU1MgaW5wdXQudmFsdWUgPSAiIjsgZ2V0VXNlckFnZW50U2hhZG93VGV4dENvbnRl
bnQoaW5wdXQpIGlzIGVtcHR5VGV4dAotUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQot
Ci1URVNUIENPTVBMRVRFCi0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvZGF0
ZXRpbWUtbXVsdGlwbGUtZmllbGRzL2RhdGV0aW1lLW11bHRpcGxlLWZpZWxkcy12YWx1ZS1zZXQt
ZW1wdHkuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvZGF0ZXRpbWUtbXVsdGlwbGUtZmll
bGRzL2RhdGV0aW1lLW11bHRpcGxlLWZpZWxkcy12YWx1ZS1zZXQtZW1wdHkuaHRtbApkZWxldGVk
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggOWQ3NmU2NjA1NDA4ZmQ3MzA1MzA2Y2MyMDA5ZWFlZTky
YTBiZjY1Ni4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9M
YXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2RhdGV0aW1lLW11bHRpcGxlLWZpZWxkcy9kYXRldGltZS1t
dWx0aXBsZS1maWVsZHMtdmFsdWUtc2V0LWVtcHR5Lmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSwx
MCArMCwwIEBACi08IURPQ1RZUEUgaHRtbD4KLTxib2R5PgotPHNjcmlwdCBzcmM9Ii4uLy4uL2pz
L3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iLi4vcmVz
b3VyY2VzL2NvbW1vbi5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL211
bHRpcGxlLWZpZWxkcy12YWx1ZS1zZXQtZW1wdHkuanMiPjwvc2NyaXB0PgotPHNjcmlwdD4KLXRl
c3RTZXR0aW5nRW1wdHlTdHJpbmdDbGVhcnNTdWJGaWVsZHMoJ2RhdGV0aW1lJyk7Ci08L3Njcmlw
dD4KLTxzY3JpcHQgc3JjPSIuLi8uLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3Nj
cmlwdD4KLTwvYm9keT4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvZGF0ZXRp
bWVsb2NhbC1tdWx0aXBsZS1maWVsZHMvZGF0ZXRpbWVsb2NhbC1tdWx0aXBsZS1maWVsZHMtYXgt
YXJpYS1hdHRyaWJ1dGVzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvZGF0
ZXRpbWVsb2NhbC1tdWx0aXBsZS1maWVsZHMvZGF0ZXRpbWVsb2NhbC1tdWx0aXBsZS1maWVsZHMt
YXgtYXJpYS1hdHRyaWJ1dGVzLWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggNWM0OGY0YTg3Y2I4OTBhNTU2OTU4MThlMjI2NDdlMjcwOGE2MGFkNS4uMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2Zv
cm1zL2RhdGV0aW1lbG9jYWwtbXVsdGlwbGUtZmllbGRzL2RhdGV0aW1lbG9jYWwtbXVsdGlwbGUt
ZmllbGRzLWF4LWFyaWEtYXR0cmlidXRlcy1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAt
MSwyOCArMCwwIEBACi1UaGlzIHRlc3QgY2hlY2tzIGFyaWEtaGVscCBhdHRyaWJ1dGUgb2YgZmll
bGRzIGluIG11bHRpcGxlIGZpZWxkcyBkYXRldGltZS1sb2NhbCBpbnB1dCBVSS4KLQotT24gc3Vj
Y2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQg
YnkgIlRFU1QgQ09NUExFVEUiLgotCi0KLU5vbi1lbXB0eSB2YWx1ZQotUEFTUyBmb2N1c2VkRmll
bGRWYWx1ZURlc2NyaXB0aW9uKCkgaXMgIkFYSGVscDogTW9udGgsIEFYVmFsdWVEZXNjcmlwdGlv
bjogMTAsIDEsIDEyIgotUEFTUyBmb2N1c2VkRmllbGRWYWx1ZURlc2NyaXB0aW9uKCkgaXMgIkFY
SGVscDogRGF5LCBBWFZhbHVlRGVzY3JpcHRpb246IDA5LCAxLCAzMSIKLVBBU1MgZm9jdXNlZEZp
ZWxkVmFsdWVEZXNjcmlwdGlvbigpIGlzICJBWEhlbHA6IFllYXIsIEFYVmFsdWVEZXNjcmlwdGlv
bjogMjAxMiwgMSwgMjc1NzYwIgotUEFTUyBmb2N1c2VkRmllbGRWYWx1ZURlc2NyaXB0aW9uKCkg
aXMgIkFYSGVscDogSG91cnMsIEFYVmFsdWVEZXNjcmlwdGlvbjogMTIsIDEsIDEyIgotUEFTUyBm
b2N1c2VkRmllbGRWYWx1ZURlc2NyaXB0aW9uKCkgaXMgIkFYSGVscDogTWludXRlcywgQVhWYWx1
ZURlc2NyaXB0aW9uOiAzNCwgMCwgNTkiCi1QQVNTIGZvY3VzZWRGaWVsZFZhbHVlRGVzY3JpcHRp
b24oKSBpcyAiQVhIZWxwOiBTZWNvbmRzLCBBWFZhbHVlRGVzY3JpcHRpb246IDU2LCAwLCA1OSIK
LVBBU1MgZm9jdXNlZEZpZWxkVmFsdWVEZXNjcmlwdGlvbigpIGlzICJBWEhlbHA6IE1pbGxpc2Vj
b25kcywgQVhWYWx1ZURlc2NyaXB0aW9uOiA3ODksIDAsIDk5OSIKLVBBU1MgZm9jdXNlZEZpZWxk
VmFsdWVEZXNjcmlwdGlvbigpIGlzICJBWEhlbHA6IEFNL1BNLCBBWFZhbHVlRGVzY3JpcHRpb246
IFBNLCAxLCAyIgotRW1wdHkgdmFsdWUKLVBBU1MgZm9jdXNlZEZpZWxkVmFsdWVEZXNjcmlwdGlv
bigpIGlzICJBWEhlbHA6IEFNL1BNLCBBWFZhbHVlRGVzY3JpcHRpb246IGJsYW5rLCAxLCAyIgot
UEFTUyBmb2N1c2VkRmllbGRWYWx1ZURlc2NyaXB0aW9uKCkgaXMgIkFYSGVscDogTWlsbGlzZWNv
bmRzLCBBWFZhbHVlRGVzY3JpcHRpb246IGJsYW5rLCAwLCA5OTkiCi1QQVNTIGZvY3VzZWRGaWVs
ZFZhbHVlRGVzY3JpcHRpb24oKSBpcyAiQVhIZWxwOiBTZWNvbmRzLCBBWFZhbHVlRGVzY3JpcHRp
b246IGJsYW5rLCAwLCA1OSIKLVBBU1MgZm9jdXNlZEZpZWxkVmFsdWVEZXNjcmlwdGlvbigpIGlz
ICJBWEhlbHA6IE1pbnV0ZXMsIEFYVmFsdWVEZXNjcmlwdGlvbjogYmxhbmssIDAsIDU5IgotUEFT
UyBmb2N1c2VkRmllbGRWYWx1ZURlc2NyaXB0aW9uKCkgaXMgIkFYSGVscDogSG91cnMsIEFYVmFs
dWVEZXNjcmlwdGlvbjogYmxhbmssIDEsIDEyIgotUEFTUyBmb2N1c2VkRmllbGRWYWx1ZURlc2Ny
aXB0aW9uKCkgaXMgIkFYSGVscDogWWVhciwgQVhWYWx1ZURlc2NyaXB0aW9uOiBibGFuaywgMSwg
Mjc1NzYwIgotUEFTUyBmb2N1c2VkRmllbGRWYWx1ZURlc2NyaXB0aW9uKCkgaXMgIkFYSGVscDog
RGF5LCBBWFZhbHVlRGVzY3JpcHRpb246IGJsYW5rLCAxLCAzMSIKLVBBU1MgZm9jdXNlZEZpZWxk
VmFsdWVEZXNjcmlwdGlvbigpIGlzICJBWEhlbHA6IE1vbnRoLCBBWFZhbHVlRGVzY3JpcHRpb246
IGJsYW5rLCAxLCAxMiIKLQotUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQotCi1URVNU
IENPTVBMRVRFCi0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvZGF0ZXRpbWVs
b2NhbC1tdWx0aXBsZS1maWVsZHMvZGF0ZXRpbWVsb2NhbC1tdWx0aXBsZS1maWVsZHMtYXgtYXJp
YS1hdHRyaWJ1dGVzLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2RhdGV0aW1lbG9jYWwt
bXVsdGlwbGUtZmllbGRzL2RhdGV0aW1lbG9jYWwtbXVsdGlwbGUtZmllbGRzLWF4LWFyaWEtYXR0
cmlidXRlcy5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAyMTE1MTM2MDBhOTlj
MDM4Y2FlODYyNGMzZDZkODRlYWRkNGNkMmE3Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvZGF0ZXRpbWVsb2NhbC1t
dWx0aXBsZS1maWVsZHMvZGF0ZXRpbWVsb2NhbC1tdWx0aXBsZS1maWVsZHMtYXgtYXJpYS1hdHRy
aWJ1dGVzLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSw3MSArMCwwIEBACi08IURPQ1RZUEUgaHRt
bD4KLTxodG1sPgotPGhlYWQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vLi4vZmFzdC9qcy9yZXNvdXJj
ZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHk+Ci08aW5wdXQgaWQ9
InRlc3QiIHR5cGU9ImRhdGV0aW1lLWxvY2FsIiB2YWx1ZT0iMjAxMi0xMC0wOVQxMjozNDo1Ni43
ODkiPgotPHNjcmlwdD4KLWRlc2NyaXB0aW9uKCdUaGlzIHRlc3QgY2hlY2tzIGFyaWEtaGVscCBh
dHRyaWJ1dGUgb2YgZmllbGRzIGluIG11bHRpcGxlIGZpZWxkcyBkYXRldGltZS1sb2NhbCBpbnB1
dCBVSS4nKTsKLQotZnVuY3Rpb24gZm9jdXNlZEZpZWxkVmFsdWVEZXNjcmlwdGlvbigpCi17Ci0g
ICAgdmFyIGVsZW1lbnQgPSBhY2Nlc3NpYmlsaXR5Q29udHJvbGxlci5mb2N1c2VkRWxlbWVudDsK
LSAgICByZXR1cm4gZWxlbWVudC5oZWxwVGV4dCArICcsICcgKyAgZWxlbWVudC52YWx1ZURlc2Ny
aXB0aW9uICsgJywgJyArIGVsZW1lbnQubWluVmFsdWUgKyAnLCAnICsgZWxlbWVudC5tYXhWYWx1
ZTsKLX0KLQotdmFyIHRlc3RJbnB1dCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCd0ZXN0Jyk7
Ci0KLWlmICghd2luZG93LmFjY2Vzc2liaWxpdHlDb250cm9sbGVyIHx8ICF3aW5kb3cuZXZlbnRT
ZW5kZXIpCi0gICAgZGVidWcoJ1BsZWFzZSBydW4gaW5zaWRlIERSVCBvciBXVFIuJyk7Ci1lbHNl
IHsKLSAgICBkZWJ1ZygnTm9uLWVtcHR5IHZhbHVlJyk7Ci0gICAgdGVzdElucHV0LmZvY3VzKCk7
Ci0gICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdmb2N1c2VkRmllbGRWYWx1ZURlc2NyaXB0aW9u
KCknLCAnQVhIZWxwOiBNb250aCwgQVhWYWx1ZURlc2NyaXB0aW9uOiAxMCwgMSwgMTInKTsKLSAg
ICBldmVudFNlbmRlci5rZXlEb3duKCdcdCcpOwotICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygn
Zm9jdXNlZEZpZWxkVmFsdWVEZXNjcmlwdGlvbigpJywgJ0FYSGVscDogRGF5LCBBWFZhbHVlRGVz
Y3JpcHRpb246IDA5LCAxLCAzMScpOwotICAgIGV2ZW50U2VuZGVyLmtleURvd24oJ1x0Jyk7Ci0g
ICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdmb2N1c2VkRmllbGRWYWx1ZURlc2NyaXB0aW9uKCkn
LCAnQVhIZWxwOiBZZWFyLCBBWFZhbHVlRGVzY3JpcHRpb246IDIwMTIsIDEsIDI3NTc2MCcpOwot
ICAgIGV2ZW50U2VuZGVyLmtleURvd24oJ1x0Jyk7Ci0gICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCdmb2N1c2VkRmllbGRWYWx1ZURlc2NyaXB0aW9uKCknLCAnQVhIZWxwOiBIb3VycywgQVhWYWx1
ZURlc2NyaXB0aW9uOiAxMiwgMSwgMTInKTsKLSAgICBldmVudFNlbmRlci5rZXlEb3duKCdcdCcp
OwotICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygnZm9jdXNlZEZpZWxkVmFsdWVEZXNjcmlwdGlv
bigpJywgJ0FYSGVscDogTWludXRlcywgQVhWYWx1ZURlc2NyaXB0aW9uOiAzNCwgMCwgNTknKTsK
LSAgICBldmVudFNlbmRlci5rZXlEb3duKCdcdCcpOwotICAgIHNob3VsZEJlRXF1YWxUb1N0cmlu
ZygnZm9jdXNlZEZpZWxkVmFsdWVEZXNjcmlwdGlvbigpJywgJ0FYSGVscDogU2Vjb25kcywgQVhW
YWx1ZURlc2NyaXB0aW9uOiA1NiwgMCwgNTknKTsKLSAgICBldmVudFNlbmRlci5rZXlEb3duKCdc
dCcpOwotICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygnZm9jdXNlZEZpZWxkVmFsdWVEZXNjcmlw
dGlvbigpJywgJ0FYSGVscDogTWlsbGlzZWNvbmRzLCBBWFZhbHVlRGVzY3JpcHRpb246IDc4OSwg
MCwgOTk5Jyk7Ci0gICAgZXZlbnRTZW5kZXIua2V5RG93bignXHQnKTsKLSAgICBzaG91bGRCZUVx
dWFsVG9TdHJpbmcoJ2ZvY3VzZWRGaWVsZFZhbHVlRGVzY3JpcHRpb24oKScsICdBWEhlbHA6IEFN
L1BNLCBBWFZhbHVlRGVzY3JpcHRpb246IFBNLCAxLCAyJyk7Ci0KLSAgICBkZWJ1ZygnRW1wdHkg
dmFsdWUnKTsKLSAgICBldmVudFNlbmRlci5rZXlEb3duKCdcYicpOwotICAgIHNob3VsZEJlRXF1
YWxUb1N0cmluZygnZm9jdXNlZEZpZWxkVmFsdWVEZXNjcmlwdGlvbigpJywgJ0FYSGVscDogQU0v
UE0sIEFYVmFsdWVEZXNjcmlwdGlvbjogYmxhbmssIDEsIDInKTsKLSAgICBldmVudFNlbmRlci5r
ZXlEb3duKCdcdCcsIFsnc2hpZnRLZXknXSk7Ci0gICAgZXZlbnRTZW5kZXIua2V5RG93bignXGIn
KTsKLSAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ2ZvY3VzZWRGaWVsZFZhbHVlRGVzY3JpcHRp
b24oKScsICdBWEhlbHA6IE1pbGxpc2Vjb25kcywgQVhWYWx1ZURlc2NyaXB0aW9uOiBibGFuaywg
MCwgOTk5Jyk7Ci0gICAgZXZlbnRTZW5kZXIua2V5RG93bignXHQnLCBbJ3NoaWZ0S2V5J10pOwot
ICAgIGV2ZW50U2VuZGVyLmtleURvd24oJ1xiJyk7Ci0gICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCdmb2N1c2VkRmllbGRWYWx1ZURlc2NyaXB0aW9uKCknLCAnQVhIZWxwOiBTZWNvbmRzLCBBWFZh
bHVlRGVzY3JpcHRpb246IGJsYW5rLCAwLCA1OScpOwotICAgIGV2ZW50U2VuZGVyLmtleURvd24o
J1x0JywgWydzaGlmdEtleSddKTsKLSAgICBldmVudFNlbmRlci5rZXlEb3duKCdcYicpOwotICAg
IHNob3VsZEJlRXF1YWxUb1N0cmluZygnZm9jdXNlZEZpZWxkVmFsdWVEZXNjcmlwdGlvbigpJywg
J0FYSGVscDogTWludXRlcywgQVhWYWx1ZURlc2NyaXB0aW9uOiBibGFuaywgMCwgNTknKTsKLSAg
ICBldmVudFNlbmRlci5rZXlEb3duKCdcdCcsIFsnc2hpZnRLZXknXSk7Ci0gICAgZXZlbnRTZW5k
ZXIua2V5RG93bignXGInKTsKLSAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ2ZvY3VzZWRGaWVs
ZFZhbHVlRGVzY3JpcHRpb24oKScsICdBWEhlbHA6IEhvdXJzLCBBWFZhbHVlRGVzY3JpcHRpb246
IGJsYW5rLCAxLCAxMicpOwotICAgIGV2ZW50U2VuZGVyLmtleURvd24oJ1x0JywgWydzaGlmdEtl
eSddKTsKLSAgICBldmVudFNlbmRlci5rZXlEb3duKCdcYicpOwotICAgIHNob3VsZEJlRXF1YWxU
b1N0cmluZygnZm9jdXNlZEZpZWxkVmFsdWVEZXNjcmlwdGlvbigpJywgJ0FYSGVscDogWWVhciwg
QVhWYWx1ZURlc2NyaXB0aW9uOiBibGFuaywgMSwgMjc1NzYwJyk7Ci0gICAgZXZlbnRTZW5kZXIu
a2V5RG93bignXHQnLCBbJ3NoaWZ0S2V5J10pOwotICAgIGV2ZW50U2VuZGVyLmtleURvd24oJ1xi
Jyk7Ci0gICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdmb2N1c2VkRmllbGRWYWx1ZURlc2NyaXB0
aW9uKCknLCAnQVhIZWxwOiBEYXksIEFYVmFsdWVEZXNjcmlwdGlvbjogYmxhbmssIDEsIDMxJyk7
Ci0gICAgZXZlbnRTZW5kZXIua2V5RG93bignXHQnLCBbJ3NoaWZ0S2V5J10pOwotICAgIGV2ZW50
U2VuZGVyLmtleURvd24oJ1xiJyk7Ci0gICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdmb2N1c2Vk
RmllbGRWYWx1ZURlc2NyaXB0aW9uKCknLCAnQVhIZWxwOiBNb250aCwgQVhWYWx1ZURlc2NyaXB0
aW9uOiBibGFuaywgMSwgMTInKTsKLQotICAgIGRlYnVnKCcnKTsKLSAgICB0ZXN0SW5wdXQucGFy
ZW50Tm9kZS5yZW1vdmVDaGlsZCh0ZXN0SW5wdXQpOwotfQotPC9zY3JpcHQ+Ci08c2NyaXB0IHNy
Yz0iLi4vLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4K
LTwvYm9keT4KLTwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvZGF0
ZXRpbWVsb2NhbC1tdWx0aXBsZS1maWVsZHMvZGF0ZXRpbWVsb2NhbC1tdWx0aXBsZS1maWVsZHMt
YXgtdmFsdWUtY2hhbmdlZC1ub3RpZmljYXRpb24tZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
ZmFzdC9mb3Jtcy9kYXRldGltZWxvY2FsLW11bHRpcGxlLWZpZWxkcy9kYXRldGltZWxvY2FsLW11
bHRpcGxlLWZpZWxkcy1heC12YWx1ZS1jaGFuZ2VkLW5vdGlmaWNhdGlvbi1leHBlY3RlZC50eHQK
ZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDU0YmZkYWVkNzYyNmU0MTRlMTY1YmMzMTYx
NzQzMzZlOTM2NTI5NjMuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAK
LS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9kYXRldGltZWxvY2FsLW11bHRpcGxlLWZpZWxk
cy9kYXRldGltZWxvY2FsLW11bHRpcGxlLWZpZWxkcy1heC12YWx1ZS1jaGFuZ2VkLW5vdGlmaWNh
dGlvbi1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSwyMyArMCwwIEBACi1UaGlzIHRl
c3QgY2hlY2tzIHZhbHVlIGNoYW5nZWQgYWNjZXNzaWJpbGl0eSBub3RpZmljYXRpb25zLgotCi1P
biBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xs
b3dlZCBieSAiVEVTVCBDT01QTEVURSIuCi0KLQotRm9jdXNlZFVJRWxlbWVudENoYW5nZWQgQVhI
ZWxwOiBNb250aD1BWFZhbHVlRGVzY3JpcHRpb246IDEwCi1Gb2N1c2VkVUlFbGVtZW50Q2hhbmdl
ZCBBWEhlbHA6IERheT1BWFZhbHVlRGVzY3JpcHRpb246IDA5Ci1Gb2N1c2VkVUlFbGVtZW50Q2hh
bmdlZCBBWEhlbHA6IFllYXI9QVhWYWx1ZURlc2NyaXB0aW9uOiAyMDEyCi1Gb2N1c2VkVUlFbGVt
ZW50Q2hhbmdlZCBBWEhlbHA6IEhvdXJzPUFYVmFsdWVEZXNjcmlwdGlvbjogMTIKLUZvY3VzZWRV
SUVsZW1lbnRDaGFuZ2VkIEFYSGVscDogTWludXRlcz1BWFZhbHVlRGVzY3JpcHRpb246IDM0Ci1W
YWx1ZUNoYW5nZWQgQVhIZWxwOiBEYXk9QVhWYWx1ZURlc2NyaXB0aW9uOiAwNAotVmFsdWVDaGFu
Z2VkIEFYSGVscDogRGF5PUFYVmFsdWVEZXNjcmlwdGlvbjogMDQKLVZhbHVlQ2hhbmdlZCBBWEhl
bHA6IFllYXI9QVhWYWx1ZURlc2NyaXB0aW9uOiAyMDEzCi1WYWx1ZUNoYW5nZWQgQVhIZWxwOiBZ
ZWFyPUFYVmFsdWVEZXNjcmlwdGlvbjogMjAxMwotVmFsdWVDaGFuZ2VkIEFYSGVscDogSG91cnM9
QVhWYWx1ZURlc2NyaXB0aW9uOiAwMgotVmFsdWVDaGFuZ2VkIEFYSGVscDogSG91cnM9QVhWYWx1
ZURlc2NyaXB0aW9uOiAwMgotVmFsdWVDaGFuZ2VkIEFYSGVscDogTWludXRlcz1BWFZhbHVlRGVz
Y3JpcHRpb246IDMzCi1WYWx1ZUNoYW5nZWQgQVhIZWxwOiBNaW51dGVzPUFYVmFsdWVEZXNjcmlw
dGlvbjogMzMKLQotUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQotCi1URVNUIENPTVBM
RVRFCi0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvZGF0ZXRpbWVsb2NhbC1t
dWx0aXBsZS1maWVsZHMvZGF0ZXRpbWVsb2NhbC1tdWx0aXBsZS1maWVsZHMtYXgtdmFsdWUtY2hh
bmdlZC1ub3RpZmljYXRpb24uaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvZGF0ZXRpbWVs
b2NhbC1tdWx0aXBsZS1maWVsZHMvZGF0ZXRpbWVsb2NhbC1tdWx0aXBsZS1maWVsZHMtYXgtdmFs
dWUtY2hhbmdlZC1ub3RpZmljYXRpb24uaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggODBkOThkODk2NGE2NGJjZmZhZGU3ZDQ2ZDQzNzQyZjJlY2M2ZTI3ZS4uMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1z
L2RhdGV0aW1lbG9jYWwtbXVsdGlwbGUtZmllbGRzL2RhdGV0aW1lbG9jYWwtbXVsdGlwbGUtZmll
bGRzLWF4LXZhbHVlLWNoYW5nZWQtbm90aWZpY2F0aW9uLmh0bWwKKysrIC9kZXYvbnVsbApAQCAt
MSw0MSArMCwwIEBACi08IURPQ1RZUEUgaHRtbD4KLTxodG1sPgotPGhlYWQ+Ci08c2NyaXB0IHNy
Yz0iLi4vLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0Pgot
PC9oZWFkPgotPGJvZHk+Ci08aW5wdXQgaWQ9InRlc3QiIHR5cGU9ImRhdGV0aW1lLWxvY2FsIiB2
YWx1ZT0iMjAxMi0xMC0wOVQxMjozNDo1NiI+Ci08c2NyaXB0PgotZGVzY3JpcHRpb24oJ1RoaXMg
dGVzdCBjaGVja3MgdmFsdWUgY2hhbmdlZCBhY2Nlc3NpYmlsaXR5IG5vdGlmaWNhdGlvbnMuJyk7
Ci0KLXZhciB0ZXN0SW5wdXQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgndGVzdCcpOwotCi1p
ZiAoIXdpbmRvdy5hY2Nlc3NpYmlsaXR5Q29udHJvbGxlciB8fCAhd2luZG93LmV2ZW50U2VuZGVy
KQotICAgIGRlYnVnKCdQbGVhc2UgcnVuIGluc2lkZSBEUlQgb3IgV1JULicpOwotZWxzZSB7Ci0g
ICAgYWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIuYWRkTm90aWZpY2F0aW9uTGlzdGVuZXIoZnVuY3Rp
b24gKGVsZW1lbnQsIG5vdGlmaWNhdGlvbikgewotICAgICAgICBpZiAobm90aWZpY2F0aW9uID09
ICdGb2N1c2VkVUlFbGVtZW50Q2hhbmdlZCcgfHwgbm90aWZpY2F0aW9uID09ICdWYWx1ZUNoYW5n
ZWQnKSB7Ci0gICAgICAgICAgICBkZWJ1Zyhub3RpZmljYXRpb24gKyAnICcgKyBlbGVtZW50Lmhl
bHBUZXh0ICsgJz0nICsgZWxlbWVudC52YWx1ZURlc2NyaXB0aW9uKTsKLSAgICAgICAgfQotICAg
IH0pOwotCi0gICAgdGVzdElucHV0LmZvY3VzKCk7Ci0gICAgZXZlbnRTZW5kZXIua2V5RG93bign
XHQnKTsKLSAgICBldmVudFNlbmRlci5rZXlEb3duKCc0Jyk7Ci0gICAgZXZlbnRTZW5kZXIua2V5
RG93bigndXBBcnJvdycpOwotICAgIGV2ZW50U2VuZGVyLmtleURvd24oJ1x0Jyk7Ci0gICAgZXZl
bnRTZW5kZXIua2V5RG93bignMicpOwotICAgIGV2ZW50U2VuZGVyLmtleURvd24oJ2Rvd25BcnJv
dycpOwotCi0gICAgd2luZG93LmpzVGVzdElzQXN5bmMgPSB0cnVlOwotCi0gICAgd2luZG93LnNl
dFRpbWVvdXQoZnVuY3Rpb24oKSB7Ci0gICAgICAgIGRlYnVnKCcnKTsKLSAgICAgICAgdGVzdElu
cHV0LnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQodGVzdElucHV0KTsKLSAgICAgICAgZmluaXNoSlNU
ZXN0KCk7Ci0gICAgfSwgMSk7Ci19Ci08L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIuLi8uLi8uLi9m
YXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgotPC9ib2R5PgotPC9o
dG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9kYXRldGltZWxvY2FsLW11
bHRpcGxlLWZpZWxkcy9kYXRldGltZWxvY2FsLW11bHRpcGxlLWZpZWxkcy1ibHVyLWFuZC1mb2N1
cy1ldmVudHMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9kYXRldGltZWxv
Y2FsLW11bHRpcGxlLWZpZWxkcy9kYXRldGltZWxvY2FsLW11bHRpcGxlLWZpZWxkcy1ibHVyLWFu
ZC1mb2N1cy1ldmVudHMtZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCA0YjZlYjNmNjJlOTcwYTdiYTQxMGUyMTUwMzRlMjZmYWUyZmE4Y2RhLi4wMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMv
ZGF0ZXRpbWVsb2NhbC1tdWx0aXBsZS1maWVsZHMvZGF0ZXRpbWVsb2NhbC1tdWx0aXBsZS1maWVs
ZHMtYmx1ci1hbmQtZm9jdXMtZXZlbnRzLWV4cGVjdGVkLnR4dAorKysgL2Rldi9udWxsCkBAIC0x
LDIxICswLDAgQEAKLUNoZWNrIGJsdXIgYW5kIGZvY3VzIGV2ZW50cyBmb3IgbXVsdGlwbGUgZmll
bGRzIGRhdGV0aW1lLWxvY2FsIGlucHV0IFVJCi0KLU9uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBh
IHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4K
LQotCi1mb2N1cygpIGFuZCBibHVyKCkKLVBBU1MgdGVzdElucHV0LmZvY3VzKCk7IHN0YXRlKCkg
aXMgImJsdXI9MCBmb2N1cz0xIgotUEFTUyB0ZXN0SW5wdXQuYmx1cigpOyBzdGF0ZSgpIGlzICJi
bHVyPTEgZm9jdXM9MSIKLWZvY3VzIGFuZCBUYWIga2V5IHRvIGJsdXIKLVBBU1Mga2V5RG93bigi
CSIpOyBzdGF0ZSgpIGlzICJibHVyPTAgZm9jdXM9MSIKLVBBU1Mga2V5RG93bigiCSIpOyBzdGF0
ZSgpIGlzICJibHVyPTAgZm9jdXM9MSIKLVBBU1Mga2V5RG93bigiCSIpOyBzdGF0ZSgpIGlzICJi
bHVyPTAgZm9jdXM9MSIKLVBBU1Mga2V5RG93bigiCSIpOyBzdGF0ZSgpIGlzICJibHVyPTAgZm9j
dXM9MSIKLVBBU1Mga2V5RG93bigiCSIpOyBzdGF0ZSgpIGlzICJibHVyPTAgZm9jdXM9MSIKLVBB
U1Mga2V5RG93bigiCSIpOyBzdGF0ZSgpIGlzICJibHVyPTAgZm9jdXM9MSIKLVBBU1Mga2V5RG93
bigiCSIpOyBzdGF0ZSgpIGlzICJibHVyPTEgZm9jdXM9MSIKLQotUEFTUyBzdWNjZXNzZnVsbHlQ
YXJzZWQgaXMgdHJ1ZQotCi1URVNUIENPTVBMRVRFCi0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2Zhc3QvZm9ybXMvZGF0ZXRpbWVsb2NhbC1tdWx0aXBsZS1maWVsZHMvZGF0ZXRpbWVsb2NhbC1t
dWx0aXBsZS1maWVsZHMtYmx1ci1hbmQtZm9jdXMtZXZlbnRzLmh0bWwgYi9MYXlvdXRUZXN0cy9m
YXN0L2Zvcm1zL2RhdGV0aW1lbG9jYWwtbXVsdGlwbGUtZmllbGRzL2RhdGV0aW1lbG9jYWwtbXVs
dGlwbGUtZmllbGRzLWJsdXItYW5kLWZvY3VzLWV2ZW50cy5odG1sCmRlbGV0ZWQgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCA2MjRjOGE0NDhlNmE2Mjc0YzhiMWQ5MzJlNTY4ZTYyNjAzZmYzNjBjLi4w
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3Rz
L2Zhc3QvZm9ybXMvZGF0ZXRpbWVsb2NhbC1tdWx0aXBsZS1maWVsZHMvZGF0ZXRpbWVsb2NhbC1t
dWx0aXBsZS1maWVsZHMtYmx1ci1hbmQtZm9jdXMtZXZlbnRzLmh0bWwKKysrIC9kZXYvbnVsbApA
QCAtMSwxMiArMCwwIEBACi08IURPQ1RZUEUgaHRtbD4KLTxodG1sPgotPGJvZHk+Ci08c2NyaXB0
IHNyYz0iLi4vLi4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KLTxzY3Jp
cHQgc3JjPSIuLi9yZXNvdXJjZXMvbXVsdGlwbGUtZmllbGRzLWJsdXItYW5kLWZvY3VzLWV2ZW50
cy5qcyI+PC9zY3JpcHQ+Ci08ZGl2IGlkPSJjb250YWluZXIiPjwvZGl2PgotPHNjcmlwdD4KLXN0
YXJ0VGVzdEZvcignZGF0ZXRpbWUtbG9jYWwnKTsKLTwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii4u
Ly4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgotPC9ib2R5PgotPC9o
dG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9kYXRldGltZWxvY2FsLW11
bHRpcGxlLWZpZWxkcy9kYXRldGltZWxvY2FsLW11bHRpcGxlLWZpZWxkcy1jaGFuZ2UtbGF5b3V0
LWJ5LXZhbHVlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvZGF0ZXRpbWVs
b2NhbC1tdWx0aXBsZS1maWVsZHMvZGF0ZXRpbWVsb2NhbC1tdWx0aXBsZS1maWVsZHMtY2hhbmdl
LWxheW91dC1ieS12YWx1ZS1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IGIwNjgxZWViNDczMjcwZTYzMGM3NDBkNTY5NTFlZDUwYzE4MjBkYjcuLjAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jt
cy9kYXRldGltZWxvY2FsLW11bHRpcGxlLWZpZWxkcy9kYXRldGltZWxvY2FsLW11bHRpcGxlLWZp
ZWxkcy1jaGFuZ2UtbGF5b3V0LWJ5LXZhbHVlLWV4cGVjdGVkLnR4dAorKysgL2Rldi9udWxsCkBA
IC0xLDEzICswLDAgQEAKLUNoYW5nZSBtdWx0aXBsZSBmaWVsZHMgZGF0ZXRpbWUtbG9jYWwgaW5w
dXQgVUkgbGF5b3V0IGJ5IHZhbHVlCi0KLU9uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmll
cyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KLQotCi1Q
QVNTIHdpZHRoT2ZFbXB0eVZhbHVlIDwgd2lkdGhPZk92ZXJmbG93VmFsdWUgaXMgdHJ1ZQotUEFT
UyB3aWR0aE9mRW1wdHlWYWx1ZSBpcyB3aWR0aE9mVmFsaWRWYWx1ZQotUEFTUyB3aWR0aE9mRW1w
dHlWYWx1ZSA8IHdpZHRoV2l0aFNlY29uZCBpcyB0cnVlCi1QQVNTIHdpZHRoV2l0aFNlY29uZCA8
IHdpZHRoV2l0aE1pbGxpc2Vjb25kIGlzIHRydWUKLVBBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlz
IHRydWUKLQotVEVTVCBDT01QTEVURQotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Zv
cm1zL2RhdGV0aW1lbG9jYWwtbXVsdGlwbGUtZmllbGRzL2RhdGV0aW1lbG9jYWwtbXVsdGlwbGUt
ZmllbGRzLWNoYW5nZS1sYXlvdXQtYnktdmFsdWUuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZm9y
bXMvZGF0ZXRpbWVsb2NhbC1tdWx0aXBsZS1maWVsZHMvZGF0ZXRpbWVsb2NhbC1tdWx0aXBsZS1m
aWVsZHMtY2hhbmdlLWxheW91dC1ieS12YWx1ZS5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCA3OGZkZmRiMjRkZDFiYmZlYzU3ZDZmZGQ2ODY0YzAyMDQ2NDNjMTQzLi4wMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2Zhc3Qv
Zm9ybXMvZGF0ZXRpbWVsb2NhbC1tdWx0aXBsZS1maWVsZHMvZGF0ZXRpbWVsb2NhbC1tdWx0aXBs
ZS1maWVsZHMtY2hhbmdlLWxheW91dC1ieS12YWx1ZS5odG1sCisrKyAvZGV2L251bGwKQEAgLTEs
MzMgKzAsMCBAQAotPCFET0NUWVBFIGh0bWw+Ci08aHRtbD4KLTxib2R5PgotPHNjcmlwdCBzcmM9
Ii4uLy4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0Pgot
ZGVzY3JpcHRpb24oJ0NoYW5nZSBtdWx0aXBsZSBmaWVsZHMgZGF0ZXRpbWUtbG9jYWwgaW5wdXQg
VUkgbGF5b3V0IGJ5IHZhbHVlJyk7Ci12YXIgdGVzdElucHV0ID0gZG9jdW1lbnQuY3JlYXRlRWxl
bWVudCgnaW5wdXQnKTsKLXRlc3RJbnB1dC50eXBlID0gJ2RhdGV0aW1lLWxvY2FsJzsKLXRlc3RJ
bnB1dC5tYXggPSAnOTk5OS0xMi0zMVQyMzo1OSc7Ci1kb2N1bWVudC5ib2R5LmFwcGVuZENoaWxk
KHRlc3RJbnB1dCk7Ci12YXIgd2lkdGhPZkVtcHR5VmFsdWUgPSB0ZXN0SW5wdXQub2Zmc2V0V2lk
dGg7Ci0KLXRlc3RJbnB1dC52YWx1ZSA9ICcxMDAwMC0wMS0wMVQwMDowMCc7Ci12YXIgd2lkdGhP
Zk92ZXJmbG93VmFsdWUgPSB0ZXN0SW5wdXQub2Zmc2V0V2lkdGg7Ci1zaG91bGRCZVRydWUoJ3dp
ZHRoT2ZFbXB0eVZhbHVlIDwgd2lkdGhPZk92ZXJmbG93VmFsdWUnKTsKLQotdGVzdElucHV0LnZh
bHVlID0gJzIwMTItMTAtMDVUMTI6MDAnOwotdmFyIHdpZHRoT2ZWYWxpZFZhbHVlID0gdGVzdElu
cHV0Lm9mZnNldFdpZHRoOwotc2hvdWxkQmUoJ3dpZHRoT2ZFbXB0eVZhbHVlJywgJ3dpZHRoT2ZW
YWxpZFZhbHVlJyk7Ci0KLXRlc3RJbnB1dC52YWx1ZSA9ICcyMDEyLTEwLTA1VDEyOjAwOjAxJzsK
LXZhciB3aWR0aFdpdGhTZWNvbmQgPSB0ZXN0SW5wdXQub2Zmc2V0V2lkdGg7Ci1zaG91bGRCZVRy
dWUoJ3dpZHRoT2ZFbXB0eVZhbHVlIDwgd2lkdGhXaXRoU2Vjb25kJyk7Ci0KLXRlc3RJbnB1dC52
YWx1ZSA9ICcyMDEyLTEwLTA1VDEyOjAwOjAxLjIzNCc7Ci12YXIgd2lkdGhXaXRoTWlsbGlzZWNv
bmQgPSB0ZXN0SW5wdXQub2Zmc2V0V2lkdGg7Ci1zaG91bGRCZVRydWUoJ3dpZHRoV2l0aFNlY29u
ZCA8IHdpZHRoV2l0aE1pbGxpc2Vjb25kJyk7Ci0KLWRvY3VtZW50LmJvZHkucmVtb3ZlQ2hpbGQo
dGVzdElucHV0KTsKLTwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii4uLy4uL2pzL3Jlc291cmNlcy9q
cy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgotPC9ib2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9kYXRldGltZWxvY2FsLW11bHRpcGxlLWZpZWxkcy9kYXRl
dGltZWxvY2FsLW11bHRpcGxlLWZpZWxkcy1jbGVhcmJ1dHRvbi1jaGFuZ2UtYW5kLWlucHV0LWV2
ZW50cy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2RhdGV0aW1lbG9jYWwt
bXVsdGlwbGUtZmllbGRzL2RhdGV0aW1lbG9jYWwtbXVsdGlwbGUtZmllbGRzLWNsZWFyYnV0dG9u
LWNoYW5nZS1hbmQtaW5wdXQtZXZlbnRzLWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggM2U0ZWE0YTMyMjgzOGI3ZDUzMjcwODdhNmRlNjk5ZDg3NjZhYWUyMC4uMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9m
YXN0L2Zvcm1zL2RhdGV0aW1lbG9jYWwtbXVsdGlwbGUtZmllbGRzL2RhdGV0aW1lbG9jYWwtbXVs
dGlwbGUtZmllbGRzLWNsZWFyYnV0dG9uLWNoYW5nZS1hbmQtaW5wdXQtZXZlbnRzLWV4cGVjdGVk
LnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDE5ICswLDAgQEAKLVRlc3QgZm9yIGV2ZW50IGRpc3Bh
dGNoaW5nIGJ5IHNwaW4gYnV0dG9ucyBpbiBhIHR5cGU9ZGF0ZXRpbWUtbG9jYWwgaW5wdXQuCi0K
LU9uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZv
bGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KLQotCi1Jbml0aWFsIHN0YXRlCi1QQVNTIGNoYW5n
ZUV2ZW50Q291bnRlciBpcyAwCi1QQVNTIGlucHV0RXZlbnRDb3VudGVyIGlzIDAKLUNsaWNrIHRo
ZSBjbGVhciBidXR0b24KLVBBU1MgdGVzdElucHV0LnZhbHVlIGlzICIiCi1QQVNTIGNoYW5nZUV2
ZW50Q291bnRlciBpcyAxCi1QQVNTIGlucHV0RXZlbnRDb3VudGVyIGlzIDEKLUZvY3VzIG9uIGFu
b3RoZXIgZmllbGQKLVBBU1MgY2hhbmdlRXZlbnRDb3VudGVyIGlzIDEKLVBBU1MgaW5wdXRFdmVu
dENvdW50ZXIgaXMgMQotUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQotCi1URVNUIENP
TVBMRVRFCi0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvZGF0ZXRpbWVsb2Nh
bC1tdWx0aXBsZS1maWVsZHMvZGF0ZXRpbWVsb2NhbC1tdWx0aXBsZS1maWVsZHMtY2xlYXJidXR0
b24tY2hhbmdlLWFuZC1pbnB1dC1ldmVudHMuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMv
ZGF0ZXRpbWVsb2NhbC1tdWx0aXBsZS1maWVsZHMvZGF0ZXRpbWVsb2NhbC1tdWx0aXBsZS1maWVs
ZHMtY2xlYXJidXR0b24tY2hhbmdlLWFuZC1pbnB1dC1ldmVudHMuaHRtbApkZWxldGVkIGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMjEzY2ZmNjFiZTgyYjhmZWM0OWY2NTkwOWQ1Zjc1Mzk2ZTI3YTJi
ZS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRU
ZXN0cy9mYXN0L2Zvcm1zL2RhdGV0aW1lbG9jYWwtbXVsdGlwbGUtZmllbGRzL2RhdGV0aW1lbG9j
YWwtbXVsdGlwbGUtZmllbGRzLWNsZWFyYnV0dG9uLWNoYW5nZS1hbmQtaW5wdXQtZXZlbnRzLmh0
bWwKKysrIC9kZXYvbnVsbApAQCAtMSwxNCArMCwwIEBACi08IURPQ1RZUEUgaHRtbD4KLTxodG1s
PgotPGhlYWQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVz
dC1wcmUuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy9jb21tb24uanMi
Pjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy9jb21tb24tY2xlYXJidXR0b24t
Y2hhbmdlLWFuZC1pbnB1dC1ldmVudHMuanMiPjwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHk+Ci08
c2NyaXB0PgotdGVzdENsZWFyQnV0dG9uQ2hhbmdlQW5kSW5wdXRFdmVudHMoJ2RhdGV0aW1lLWxv
Y2FsJywgJzIwMTItMTAtMTFUMjM6NTknKTsKLTwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii4uLy4u
Ly4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Ci08L2JvZHk+
Ci08L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2RhdGV0aW1lbG9j
YWwtbXVsdGlwbGUtZmllbGRzL2RhdGV0aW1lbG9jYWwtbXVsdGlwbGUtZmllbGRzLWNsZWFyYnV0
dG9uLXZpc2liaWxpdHktYWZ0ZXItcmVzdG9yZS1leHBlY3RlZC5odG1sIGIvTGF5b3V0VGVzdHMv
ZmFzdC9mb3Jtcy9kYXRldGltZWxvY2FsLW11bHRpcGxlLWZpZWxkcy9kYXRldGltZWxvY2FsLW11
bHRpcGxlLWZpZWxkcy1jbGVhcmJ1dHRvbi12aXNpYmlsaXR5LWFmdGVyLXJlc3RvcmUtZXhwZWN0
ZWQuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggOTc0OWNmNWYzYjliMWFlMGU3
MmM5Nzk4ZDIyM2RjMWEyY2M2NDZjNC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2RhdGV0aW1lbG9jYWwtbXVsdGlw
bGUtZmllbGRzL2RhdGV0aW1lbG9jYWwtbXVsdGlwbGUtZmllbGRzLWNsZWFyYnV0dG9uLXZpc2li
aWxpdHktYWZ0ZXItcmVzdG9yZS1leHBlY3RlZC5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsMTAg
KzAsMCBAQAotPCFET0NUWVBFIGh0bWw+Ci08aHRtbD4KLTxib2R5PgotPGlucHV0IGlkPSJlbXB0
eU9uRmlyc3RWaXNpdCIgdmFsdWU9InZpc2l0ZWQiPgotPGZvcm0gYWN0aW9uPSJkYXRhOnRleHQv
aHRtbCwmbHQ7c2NyaXB0Pmhpc3RvcnkuYmFjaygpJmx0Oy9zY3JpcHQ+IiBpZD1mb3JtMT4KLSAg
ICA8aW5wdXQgdHlwZT0iZGF0ZXRpbWUtbG9jYWwiIGlkPWlucHV0MT4KLSAgICA8aW5wdXQgdHlw
ZT0iZGF0ZXRpbWUtbG9jYWwiIGlkPWlucHV0MiB2YWx1ZT0iMjAwMi0wMi0wMlQwMjowMiI+Ci0g
ICAgPGlucHV0IHR5cGU9ImRhdGV0aW1lLWxvY2FsIiBpZD1pbnB1dDMgdmFsdWU9IjIwMDMtMDMt
MDNUMDM6MDM6MDMuMDAzIj4KLTwvZm9ybT4KLTwvYm9keT4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2Zhc3QvZm9ybXMvZGF0ZXRpbWVsb2NhbC1tdWx0aXBsZS1maWVsZHMvZGF0ZXRpbWVsb2Nh
bC1tdWx0aXBsZS1maWVsZHMtY2xlYXJidXR0b24tdmlzaWJpbGl0eS1hZnRlci1yZXN0b3JlLmh0
bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2RhdGV0aW1lbG9jYWwtbXVsdGlwbGUtZmllbGRz
L2RhdGV0aW1lbG9jYWwtbXVsdGlwbGUtZmllbGRzLWNsZWFyYnV0dG9uLXZpc2liaWxpdHktYWZ0
ZXItcmVzdG9yZS5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAzYmFlN2QwNWYw
ZGEzMjFmMzgzZTEzOTk1YTZiZjJjMmI0ODE3ZGFmLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvZGF0ZXRpbWVsb2Nh
bC1tdWx0aXBsZS1maWVsZHMvZGF0ZXRpbWVsb2NhbC1tdWx0aXBsZS1maWVsZHMtY2xlYXJidXR0
b24tdmlzaWJpbGl0eS1hZnRlci1yZXN0b3JlLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSwzMiAr
MCwwIEBACi08IURPQ1RZUEUgaHRtbD4KLTxodG1sPgotPGJvZHk+Ci08aW5wdXQgaWQ9ImVtcHR5
T25GaXJzdFZpc2l0Ij4KLTxmb3JtIGFjdGlvbj0iZGF0YTp0ZXh0L2h0bWwsJmx0O3NjcmlwdD5o
aXN0b3J5LmJhY2soKSZsdDsvc2NyaXB0PiIgaWQ9Zm9ybTE+Ci0gICAgPGlucHV0IHR5cGU9ImRh
dGV0aW1lLWxvY2FsIiBpZD1pbnB1dDE+Ci0gICAgPGlucHV0IHR5cGU9ImRhdGV0aW1lLWxvY2Fs
IiBpZD1pbnB1dDI+Ci0gICAgPGlucHV0IHR5cGU9ImRhdGV0aW1lLWxvY2FsIiBpZD1pbnB1dDMg
dmFsdWU9IjIwMDEtMDEtMDFUMDE6MDE6MDEuMDAxIj4KLTwvZm9ybT4KLQotPHNjcmlwdD4KLS8v
IFJlc3RvcmluZyB0aGUgZm9ybSBzaG91bGQgdXBkYXRlIHRoZSBjbGVhciBidXR0b24gdmlzaWJp
bGl0eS4KLXRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOwotZnVuY3Rpb24gcnVuVGVzdCgpCi17
Ci0gICAgdmFyIHN0YXRlID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2VtcHR5T25GaXJzdFZp
c2l0Jyk7Ci0gICAgaWYgKCFzdGF0ZS52YWx1ZSkgewotICAgICAgICAvLyBGaXJzdCB2aXNpdC4K
LSAgICAgICAgc2V0VGltZW91dChmdW5jdGlvbigpIHsKLSAgICAgICAgICAgIHN0YXRlLnZhbHVl
ID0gJ3Zpc2l0ZWQnOwotICAgICAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2lucHV0
MicpLnZhbHVlID0gIjIwMDItMDItMDJUMDI6MDIiOwotICAgICAgICAgICAgZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoJ2lucHV0MycpLnZhbHVlID0gIjIwMDMtMDMtMDNUMDM6MDM6MDMuMDAzIjsK
LSAgICAgICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdmb3JtMScpLnN1Ym1pdCgpOwot
ICAgICAgICB9LCAwKTsKLSAgICB9IGVsc2UgewotICAgICAgICB0ZXN0UnVubmVyLm5vdGlmeURv
bmUoKTsKLSAgICB9Ci19Ci0KLXdpbmRvdy5vbmxvYWQgPSBydW5UZXN0OwotPC9zY3JpcHQ+Ci08
L2JvZHk+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2RhdGV0aW1lbG9jYWwt
bXVsdGlwbGUtZmllbGRzL2RhdGV0aW1lbG9jYWwtbXVsdGlwbGUtZmllbGRzLWZhbGxiYWNrLWZv
cm1hdC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2RhdGV0aW1lbG9jYWwt
bXVsdGlwbGUtZmllbGRzL2RhdGV0aW1lbG9jYWwtbXVsdGlwbGUtZmllbGRzLWZhbGxiYWNrLWZv
cm1hdC1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGE3MmJiNzk1
M2I1NGY4NzIzN2YxNzE1NTUyNjRiZTIwOTI2ZDUwNTkuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9kYXRldGltZWxv
Y2FsLW11bHRpcGxlLWZpZWxkcy9kYXRldGltZWxvY2FsLW11bHRpcGxlLWZpZWxkcy1mYWxsYmFj
ay1mb3JtYXQtZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEsMTUgKzAsMCBAQAotQ2hl
Y2tzIGluY29tcGxldGUgZGF0ZXRpbWUgZm9ybWF0cyBhcmUgcmVqZWN0ZWQuCi0KLU9uIHN1Y2Nl
c3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5
ICJURVNUIENPTVBMRVRFIi4KLQotCi1WYWxpZCBmb3JtYXQKLVBBU1MgZ2V0VXNlckFnZW50U2hh
ZG93VGV4dENvbnRlbnQoaW5wdXQpIGlzICIxOTk5LTA3LTMxIDExOjU5IFBNIgotSW52YWxpZCBm
b3JtYXQsIGZhbGxiYWNrIHRvIHl5eXktTU0tZGQnVCdISDptbQotUEFTUyBnZXRVc2VyQWdlbnRT
aGFkb3dUZXh0Q29udGVudChpbnB1dCkgaXMgIjE5OTktMDctMzFUMjM6NTkiCi1QQVNTIGdldFVz
ZXJBZ2VudFNoYWRvd1RleHRDb250ZW50KGlucHV0KSBpcyAiMTk5OS0wNy0zMVQyMzo1OSIKLVBB
U1MgZ2V0VXNlckFnZW50U2hhZG93VGV4dENvbnRlbnQoaW5wdXQpIGlzICIxOTk5LTA3LTMxVDIz
OjU5IgotUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQotCi1URVNUIENPTVBMRVRFCi0K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvZGF0ZXRpbWVsb2NhbC1tdWx0aXBs
ZS1maWVsZHMvZGF0ZXRpbWVsb2NhbC1tdWx0aXBsZS1maWVsZHMtZmFsbGJhY2stZm9ybWF0Lmh0
bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2RhdGV0aW1lbG9jYWwtbXVsdGlwbGUtZmllbGRz
L2RhdGV0aW1lbG9jYWwtbXVsdGlwbGUtZmllbGRzLWZhbGxiYWNrLWZvcm1hdC5odG1sCmRlbGV0
ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAyMDlmNjg4YWQ5NjNjODVjMDc3M2UzODc2ZGQ1ZGVh
Y2FiZWQyZmMxLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBh
L0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvZGF0ZXRpbWVsb2NhbC1tdWx0aXBsZS1maWVsZHMvZGF0
ZXRpbWVsb2NhbC1tdWx0aXBsZS1maWVsZHMtZmFsbGJhY2stZm9ybWF0Lmh0bWwKKysrIC9kZXYv
bnVsbApAQCAtMSwzOSArMCwwIEBACi08IURPQ1RZUEUgaHRtbD4KLTxodG1sPgotPGhlYWQ+Ci08
c2NyaXB0IHNyYz0iLi4vLi4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4K
LTxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvY29tbW9uLmpzIj48L3NjcmlwdD4KLTwvaGVhZD4K
LTxib2R5PgotPHNjcmlwdD4KLWRlc2NyaXB0aW9uKCdDaGVja3MgaW5jb21wbGV0ZSBkYXRldGlt
ZSBmb3JtYXRzIGFyZSByZWplY3RlZC4nKTsKLQotdmFyIGlucHV0ID0gZG9jdW1lbnQuY3JlYXRl
RWxlbWVudCgnaW5wdXQnKTsKLWlucHV0LnR5cGUgPSAnZGF0ZXRpbWUtbG9jYWwnOwotZG9jdW1l
bnQuYm9keS5hcHBlbmRDaGlsZChpbnB1dCk7Ci0KLWZ1bmN0aW9uIHNldERhdGVUaW1lRm9ybWF0
KHBhdHRlcm4pIHsKLSAgICB2YXIgdmFsdWUgPSBpbnB1dC52YWx1ZTsKLSAgICBnZXRFbGVtZW50
QnlQc2V1ZG9JZChpbnRlcm5hbHMueW91bmdlc3RTaGFkb3dSb290KGlucHV0KSwgJy13ZWJraXQt
ZGF0ZXRpbWUtZWRpdCcpLnNldEF0dHJpYnV0ZSgncGF0dGVybicsIHBhdHRlcm4pOwotICAgIGlu
cHV0LnZhbHVlID0gJyc7IC8vIFVwZGF0ZXMgdGhlIGVsZW1lbnQgZm9yIG5ldyBmb3JtYXQKLSAg
ICBpbnB1dC52YWx1ZSA9IHZhbHVlOwotfQotCi1pbnB1dC52YWx1ZSA9ICcxOTk5LTA3LTMxVDIz
OjU5JzsKLQotZGVidWcoJ1ZhbGlkIGZvcm1hdCcpOwotc2V0RGF0ZVRpbWVGb3JtYXQoInl5eXkt
TU0tZGQgaGg6bW0gYSIpOwotc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdnZXRVc2VyQWdlbnRTaGFk
b3dUZXh0Q29udGVudChpbnB1dCknLCAnMTk5OS0wNy0zMSAxMTo1OSBQTScpOwotCi1kZWJ1Zygi
SW52YWxpZCBmb3JtYXQsIGZhbGxiYWNrIHRvIHl5eXktTU0tZGQnVCdISDptbSIpOwotc2V0RGF0
ZVRpbWVGb3JtYXQoJ3l5eXktTU0tZGQnKTsKLXNob3VsZEJlRXF1YWxUb1N0cmluZygnZ2V0VXNl
ckFnZW50U2hhZG93VGV4dENvbnRlbnQoaW5wdXQpJywgJzE5OTktMDctMzFUMjM6NTknKTsKLXNl
dERhdGVUaW1lRm9ybWF0KCdISDptbScpOwotc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdnZXRVc2Vy
QWdlbnRTaGFkb3dUZXh0Q29udGVudChpbnB1dCknLCAnMTk5OS0wNy0zMVQyMzo1OScpOwotc2V0
RGF0ZVRpbWVGb3JtYXQoInl5eXktTU0tZGQnVCdoaDptbSIpOwotc2hvdWxkQmVFcXVhbFRvU3Ry
aW5nKCdnZXRVc2VyQWdlbnRTaGFkb3dUZXh0Q29udGVudChpbnB1dCknLCAnMTk5OS0wNy0zMVQy
Mzo1OScpOwotCi08L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIuLi8uLi9qcy9yZXNvdXJjZXMvanMt
dGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KLTwvYm9keT4KLTwvaHRtbD4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2Zhc3QvZm9ybXMvZGF0ZXRpbWVsb2NhbC1tdWx0aXBsZS1maWVsZHMvZGF0ZXRp
bWVsb2NhbC1tdWx0aXBsZS1maWVsZHMta2V5Ym9hcmQtZXZlbnRzLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2Zhc3QvZm9ybXMvZGF0ZXRpbWVsb2NhbC1tdWx0aXBsZS1maWVsZHMvZGF0ZXRp
bWVsb2NhbC1tdWx0aXBsZS1maWVsZHMta2V5Ym9hcmQtZXZlbnRzLWV4cGVjdGVkLnR4dApkZWxl
dGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggY2UwNjM5N2I0ZjM3ZWM3MGU4MjcwMjE5MmUwY2Zi
OGNhYmJhNjAyOS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0g
YS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2RhdGV0aW1lbG9jYWwtbXVsdGlwbGUtZmllbGRzL2Rh
dGV0aW1lbG9jYWwtbXVsdGlwbGUtZmllbGRzLWtleWJvYXJkLWV2ZW50cy1leHBlY3RlZC50eHQK
KysrIC9kZXYvbnVsbApAQCAtMSw2OCArMCwwIEBACi1NdWx0aXBsZSBmaWVsZHMgVUkgb2YgZGF0
ZXRpbWUtbG9jYWwgaW5wdXQgdHlwZSB3aXRoIGtleWJvYXJkIGV2ZW50cwotCi1PbiBzdWNjZXNz
LCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAi
VEVTVCBDT01QTEVURSIuCi0KLQotUGxlYXNlIHJ1biB0aGlzIHdpdGggRHVtcFJlbmRlclRyZWUu
Ci0KLVRlc3QgZm9sbG93aW5nIGtleXM6Ci1EaWdpdHMKLUxlZnQvUmlnaHQgLSBNb3ZlIGZvY3Vz
IGZpZWxkIGluc2lkZSBlbGVtZW50Ci1VcC9Eb3duIC0gSW5jcmVtZW50L2RlY3JlbWVudCB2YWx1
ZSBvZiBmb2N1cyBmaWVsZAotVGFiIC0gTW92ZSBmb2N1cyBmaWVsZAotQmFja3NwYWNlIC0gTWFr
ZSB2YWx1ZSBlbXB0eQotICAKLT09IERpZ2l0IGtleXMgPT0KLVBBU1MgaW5wdXQudmFsdWUgaXMg
Ijk4NzY1LTA5LTIwVDA3OjU2IgotPT0gRGlnaXQga2V5cyBzdGFydGluZyB3aXRoIHplcm8gPT0K
LVBBU1MgaW5wdXQudmFsdWUgaXMgIjAwNDQtMDItMDNUMDU6MDYiCi09PSBEaWdpdCBrZXlzIGFu
ZCBiYWNrc3BhY2Uga2V5ID09Ci1QQVNTIGlucHV0LnZhbHVlIGlzICIwMDA4LTA1LTA2VDA5OjEw
IgotPT0gTGVmdC9SaWdodCBrZXlzID09Ci1QQVNTIGlucHV0LnZhbHVlIGlzICIwMDA0LTA5LTA1
VDE5OjA1IgotUEFTUyBkb2N1bWVudC5hY3RpdmVFbGVtZW50LmlkIGlzICJpbnB1dCIKLT09IFVw
L0Rvd24ga2V5cyA9PQotUEFTUyBpbnB1dC52YWx1ZSBpcyAiMjAxMi0xMC0yOVQwMDowMCIKLVBB
U1MgaW5wdXQudmFsdWUgaXMgIjIwMTItMDgtMjlUMDA6MDAiCi09PSBVcC9Eb3duIGtleXMgb24g
ZW1wdHkgdmFsdWUgPT0KLVBBU1MgaW5wdXQudmFsdWUgaXMgY3VycmVudFllYXIgKyAiLTExLTAx
VDAxOjU5IgotPT0gVGFiIGtleSA9PQotUEFTUyBpbnB1dC52YWx1ZSBpcyAiMjAxMi0wOS0wNVQx
MjowMCIKLVBBU1MgZG9jdW1lbnQuYWN0aXZlRWxlbWVudC5pZCBpcyAiYWZ0ZXIiCi09PSBTaGZp
dCtUYWIga2V5ID09Ci1QQVNTIGlucHV0LnZhbHVlIGlzICIyMDEyLTA5LTMwVDEzOjAzIgotUEFT
UyBkb2N1bWVudC5hY3RpdmVFbGVtZW50LmlkIGlzICJiZWZvcmUiCi09PSBVcCBrZXkgb24gbWF4
aW11bSB2YWx1ZSA9PQotUEFTUyBpbnB1dC52YWx1ZSBpcyAiMDAwMS0xMC0xNFQwMDowMCIKLT09
IFVwIGtleSB3aXRoIGEgbWF4aW11bSBhdHRyaWJ1dGUgPT0KLVBBU1MgaW5wdXQudmFsdWUgaXMg
IjEwMDAtMDEtMDFUMDA6MDAiCi09PSBEb3duIGtleSBvbiBtaW5pbXVtIHZhbHVlID09Ci1QQVNT
IGlucHV0LnZhbHVlIGlzICIiCi09PSBEb3duIGtleSB3aXRoIGEgbWluaW11bSBhdHRyaWJ1dGUg
PT0KLVBBU1MgaW5wdXQudmFsdWUgaXMgIiIKLT09IEluY29uc2lzdGVudCBtaW4tbWF4IGF0dHJp
YnV0ZXMgPT0KLVBBU1MgaW5wdXQudmFsdWUgaXMgIjEwMDAtMTItMzFUMjM6NTkiCi1QQVNTIGlu
cHV0LnZhbHVlIGlzICIxOTk5LTEyLTMxVDIzOjU5IgotPT0gTWFrZSBhbiBpbnZhbGlkIGRhdGUg
PT0KLVBBU1MgaW5wdXQudmFsdWUgaXMgIiIKLT09IEJhY2tzcGFjZSBrZXkgPT0KLVBBU1MgaW5w
dXQudmFsdWUgaXMgIiIKLT09IERlbGV0ZSBrZXkgPT0KLVBBU1MgaW5wdXQudmFsdWUgaXMgIiIK
LT09IFR5cGVhaGVhZCA9PQotUEFTUyBpbnB1dC52YWx1ZSBpcyAiMjAxMi0xMi0wMVQwMDowMCIK
LVBBU1MgaW5wdXQudmFsdWUgaXMgIjIwMTItMTItMDJUMDA6MDAiCi09PSBSVEwgZm9jdXMgbmF2
aWdhdGlvbiA9PQotVGhlIHRlc3RzIGluIHRoaXMgYmxvY2sgZmFpbCBvbiBwbGF0Zm9ybXMgd2l0
aG91dCB0aGUgbGFuZy1hdHRyaWJ1dGUtYXdhcmUtZm9ybS1jb250cm9sLVVJIGZlYXR1cmUuCi1Q
QVNTIGlucHV0LnZhbHVlIGlzICIyMDEyLTA5LTAxVDIzOjAwIgotUEFTUyBpbnB1dC52YWx1ZSBp
cyAiMjAxMi0wMi0wMVQwMTowMCIKLVBBU1MgaW5wdXQudmFsdWUgaXMgIjAwMDgtMDMtMDFUMDE6
MDAiCi09PSBEaXNhYmxlZC9yZWFkb25seSA9PQotUEFTUyBpbnB1dC52YWx1ZSBpcyAiMjAxMi0x
MC0wOFQwMDowMCIKLVBBU1MgaW5wdXQudmFsdWUgaXMgIjIwMTItMTEtMDhUMDA6MDAiCi1QQVNT
IGlucHV0LnZhbHVlIGlzICIyMDEyLTExLTA4VDAwOjAwIgotUEFTUyBpbnB1dC52YWx1ZSBpcyAi
MjAxMi0xMi0wOFQwMDowMCIKLVBBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKLQotVEVT
VCBDT01QTEVURQotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2RhdGV0aW1l
bG9jYWwtbXVsdGlwbGUtZmllbGRzL2RhdGV0aW1lbG9jYWwtbXVsdGlwbGUtZmllbGRzLWtleWJv
YXJkLWV2ZW50cy5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9kYXRldGltZWxvY2FsLW11
bHRpcGxlLWZpZWxkcy9kYXRldGltZWxvY2FsLW11bHRpcGxlLWZpZWxkcy1rZXlib2FyZC1ldmVu
dHMuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMWMxNWExNzljYmMzNDI5Zjhl
NWM4OGNhY2EwNjAzNzQzZjEzYmE0ZC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2RhdGV0aW1lbG9jYWwtbXVsdGlw
bGUtZmllbGRzL2RhdGV0aW1lbG9jYWwtbXVsdGlwbGUtZmllbGRzLWtleWJvYXJkLWV2ZW50cy5o
dG1sCisrKyAvZGV2L251bGwKQEAgLTEsMjcyICswLDAgQEAKLTwhRE9DVFlQRSBodG1sPgotPGh0
bWw+Ci08aGVhZD4KLTxzY3JpcHQgc3JjPSIuLi8uLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUu
anMiPjwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHk+Ci08cCBpZD0iZGVzY3JpcHRpb24iPjwvcD4K
LTxwPgotUGxlYXNlIHJ1biB0aGlzIHdpdGggRHVtcFJlbmRlclRyZWUuCi08L3A+Ci1UZXN0IGZv
bGxvd2luZyBrZXlzOgotPHVsPgotICAgIDxsaT5EaWdpdHM8L2xpPgotICAgIDxsaT5MZWZ0L1Jp
Z2h0IC0gTW92ZSBmb2N1cyBmaWVsZCBpbnNpZGUgZWxlbWVudDwvbGk+Ci0gICAgPGxpPlVwL0Rv
d24gLSBJbmNyZW1lbnQvZGVjcmVtZW50IHZhbHVlIG9mIGZvY3VzIGZpZWxkPC9saT4KLSAgICA8
bGk+VGFiIC0gTW92ZSBmb2N1cyBmaWVsZDwvbGk+Ci0gICAgPGxpPkJhY2tzcGFjZSAtIE1ha2Ug
dmFsdWUgZW1wdHk8L2xpPgotPC91bD4KLTxpbnB1dCBpZD0iYmVmb3JlIj4KLTxpbnB1dCBpZD0i
aW5wdXQiIHR5cGU9ImRhdGV0aW1lLWxvY2FsIj4KLTxpbnB1dCBpZD0iYWZ0ZXIiPgotPGRpdiBp
ZD0iY29uc29sZSI+PC9kaXY+Ci08c2NyaXB0PgotZGVzY3JpcHRpb24oJ011bHRpcGxlIGZpZWxk
cyBVSSBvZiBkYXRldGltZS1sb2NhbCBpbnB1dCB0eXBlIHdpdGgga2V5Ym9hcmQgZXZlbnRzJyk7
Ci1pZiAod2luZG93LmludGVybmFscykKLSAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0TGFuZ0F0
dHJpYnV0ZUF3YXJlRm9ybUNvbnRyb2xVSUVuYWJsZWQodHJ1ZSk7Ci12YXIgaW5wdXQgPSBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgnaW5wdXQnKTsKLQotZnVuY3Rpb24ga2V5RG93bihrZXksIG1v
ZGlmaWVycykKLXsKLSAgICBpZiAoIXdpbmRvdy5ldmVudFNlbmRlcikKLSAgICAgICAgcmV0dXJu
OwotICAgIGV2ZW50U2VuZGVyLmtleURvd24oa2V5LCBtb2RpZmllcnMpOwotfQotCi1mdW5jdGlv
biBiZWdpblRlc3QodGl0bGUsIG9wdF92YWx1ZSwgb3B0X21pbiwgb3B0X21heCkKLXsKLSAgICBk
ZWJ1ZygnPT0gJyArIHRpdGxlICsgJyA9PScpOwotICAgIGlucHV0LnZhbHVlID0gb3B0X3ZhbHVl
IHx8ICcnOwotICAgIGlucHV0Lm1pbiA9IG9wdF9taW4gPyBvcHRfbWluIDogJyc7Ci0gICAgaW5w
dXQubWF4ID0gb3B0X21heCA/IG9wdF9tYXggOiAnJzsKLSAgICBpbnB1dC5ibHVyKCk7Ci0gICAg
aW5wdXQuZm9jdXMoKTsKLX0KLQotYmVnaW5UZXN0KCdEaWdpdCBrZXlzJyk7Ci1rZXlEb3duKCc5
Jyk7IC8vIC0+IDA5L1tkZF0veXl5eSAtLTotLSAtLQota2V5RG93bignMicpOyAvLyAtPiAwOS9b
MDJdL3l5eXkgLS06LS0gLS0KLWtleURvd24oJzAnKTsgLy8gLT4gMDkvMjAvW3l5eXldIC0tOi0t
IC0tCi1rZXlEb3duKCc5Jyk7IC8vIC0+IDA5LzIwL1swMDA5XSAtLTotLSAtLQota2V5RG93bign
OCcpOyAvLyAtPiAwOS8yMC9bMDA5OF0gLS06LS0gLS0KLWtleURvd24oJzcnKTsgLy8gLT4gMDkv
MjAvWzA5ODddIC0tOi0tIC0tCi1rZXlEb3duKCc2Jyk7IC8vIC0+IDA5LzIwL1s5ODc2XSAtLTot
LSAtLQota2V5RG93bignNScpOyAvLyAtPiAwOS8yMC85ODc2NSBbLS1dOi0tIC0tCi1rZXlEb3du
KCc3Jyk7IC8vIC0+IDA5LzIwLzk4NzY1IDA3OlstLV0gLS0KLWtleURvd24oJzUnKTsgLy8gLT4g
MDkvMjAvOTg3NjUgMDc6WzA1XSAtLQota2V5RG93bignNicpOyAvLyAtPiAwOS8yMC85ODc2NSAw
Nzo1NiBbLS1dCi1rZXlEb3duKCdBJyk7IC8vIC0+IDA5LzIwLzk4NzY1IDA3OjU2IEFNCi1zaG91
bGRCZUVxdWFsVG9TdHJpbmcoJ2lucHV0LnZhbHVlJywgJzk4NzY1LTA5LTIwVDA3OjU2Jyk7Ci0K
LWJlZ2luVGVzdCgnRGlnaXQga2V5cyBzdGFydGluZyB3aXRoIHplcm8nLCBudWxsLCBudWxsLCAn
OTk5OS0xMi0zMVQyMzo1OScpOwota2V5RG93bignMCcpOyAvLyAtPiBbMDBdL2RkL3l5eXkgLS06
LS0gLS0KLWtleURvd24oJzInKTsgLy8gLT4gMDIvW2RkXS95eXl5IC0tOi0tIC0tCi1rZXlEb3du
KCcwJyk7IC8vIC0+IDAyL1swMF0veXl5eSAtLTotLSAtLQota2V5RG93bignMycpOyAvLyAtPiAw
Mi8wMy9beXl5eV0gLS06LS0gLS0KLWtleURvd24oJzAnKTsgLy8gLT4gMDIvMDMvWzAwMDBdIC0t
Oi0tIC0tCi1rZXlEb3duKCcwJyk7IC8vIC0+IDAyLzAzL1swMDAwXSAtLTotLSAtLQota2V5RG93
bignNCcpOyAvLyAtPiAwMi8wMy9bMDA0NF0gLS06LS0gLS0KLWtleURvd24oJzQnKTsgLy8gLT4g
MDIvMDMvWzAwNDRdIC0tOi0tIC0tCi1rZXlEb3duKCcwJyk7IC8vIC0+IDAyLzAzLzAwNDQgWzAw
XTotLSAtLQota2V5RG93bignNScpOyAvLyAtPiAwMi8wMy8wMDQ0IDA1OlstLV0gLS0KLWtleURv
d24oJzAnKTsgLy8gLT4gMDIvMDMvMDA0NCAwMTpbMDFdIC0tCi1rZXlEb3duKCc2Jyk7IC8vIC0+
IDAyLzAzLzAwNDQgMDU6MDYgWy0tXQota2V5RG93bignQScpOyAvLyAtPiAwMi8wMy8wMDQ0IDA1
OjA2IEFNCi1zaG91bGRCZUVxdWFsVG9TdHJpbmcoJ2lucHV0LnZhbHVlJywgJzAwNDQtMDItMDNU
MDU6MDYnKTsKLQotYmVnaW5UZXN0KCdEaWdpdCBrZXlzIGFuZCBiYWNrc3BhY2Uga2V5Jyk7Ci1r
ZXlEb3duKCcxJyk7IC8vIC0+IFswMV0vZGQveXl5eSAtLTotLSAtLQota2V5RG93bigiXGIiKTsg
Ly8gLT4gW21tXS8yMC8yMDEyIC0tOi0tIC0tCi1rZXlEb3duKCc1Jyk7IC8vIC0+IDA1L1tkZF0v
eXl5eSAtLTotLSAtLQota2V5RG93bignNicpOyAvLyAtPiAwNS8wNi9beXl5eV0gLS06LS0gLS0K
LWtleURvd24oIlxiIik7IC8vIC0+IDA1LzA2L1t5eXl5XSAtLTotLSAtLQota2V5RG93bignNycp
OyAvLyAtPiAwNS8wNi9bMDAwN10gLS06LS0gLS0KLWtleURvd24oIlxiIik7IC8vIC0+IDA1LzA2
L1t5eXl5XSAtLTotLSAtLQota2V5RG93bignOCcpOyAvLyAtPiAwNS8wNi9bMDAwOF0gLS06LS0g
LS0KLWtleURvd24oJ3JpZ2h0QXJyb3cnKTsgLy8gLT4gMDUvMDYvMDAwOCBbLS1dOi0tIC0tCi1r
ZXlEb3duKCc5Jyk7IC8vIC0+IDA1LzA2LzAwMDggMDk6Wy0tXSAtLQota2V5RG93bignMScpOyAv
LyAtPiAwNS8wNi8wMDA4IDA5OlswMV0gLS0KLWtleURvd24oJzAnKTsgLy8gLT4gMDUvMDYvMDAw
OCAwOToxMCBbLS1dCi1rZXlEb3duKCdBJyk7IC8vIC0+IDA1LzA2LzAwMDggMDk6MTAgW0FNXQot
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdpbnB1dC52YWx1ZScsICcwMDA4LTA1LTA2VDA5OjEwJyk7
Ci0KLS8vIEZJWE1FOiBXZSBzaG91bGQgdGVzdCB0eXBlIGFoZWFkIHRpbWUgb3V0LiBXaGVuIGV2
ZW50LmxlYXBGb3J3YXJkKCkgYWZmZWN0cwotLy8ga2V5Ym9hcmQgZXZlbnQgdGltZSBzdGFtcCwg
d2UgY2FuIHVuY29tbWVudCB0aGlzIGZyYWdtZW50LgotLyoKLWJlZ2luVGVzdCgnRGlnaXQga2V5
cyB3aXRoIHR5cGUgYWhlYWQgdGltZW91dCcsICcyMDEyLTAxLTAxVDAwOjAwJyk7Ci1rZXlEb3du
KCcxJyk7IC8vIC0+IFswMV0vMDEvMjAxMiAxMjowMCBBTQotbGVhcEZvcndhcmQoMTEwMCk7Ci1r
ZXlEb3duKCcxJyk7IC8vIC0+IFswMV0vMDEvMjAxMiAxMjowMCBBTQota2V5RG93bignMicpOyAv
LyAtPiAxMi9bMDFdLzIwMTIgMTI6MDAgQU0KLWtleURvd24oJzUnKTsgLy8gLT4gMTIvMDUvWzIw
MTJdIDEyOjAwIEFNCi1rZXlEb3duKCc2Jyk7IC8vIC0+IDEyLzA1L1swMDA2XSAxMjowMCBBTQot
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdpbnB1dC52YWx1ZScsICcwMDA2LTEyLTA1VDAwOjAwJyk7
Ci0qLwotCi1iZWdpblRlc3QoJ0xlZnQvUmlnaHQga2V5cycsICcyMDEyLTA5LTI5VDAwOjAwJyk7
Ci1rZXlEb3duKCdyaWdodEFycm93Jyk7IC8vIC0+IDA5L1syOV0vMjAxMiAxMjowMCBBTQota2V5
RG93bignNScpOyAvLyAtPiAwOS8wNS9bMjAxMl0gMTI6MDAgQU0KLWtleURvd24oJ3JpZ2h0QXJy
b3cnKTsgLy8gLT4gMDkvMDUvMjAxMiBbMTJdOjAwIEFNCi1rZXlEb3duKCc3Jyk7IC8vIC0+IDA5
LzA1LzIwMTIgMDc6WzAwXSBBTQota2V5RG93bigncmlnaHRBcnJvdycpOyAvLyAtPiAwOS8wNS8y
MDEyIDA3OjAwIFtBTV0KLWtleURvd24oJ1AnKTsgLy8gLT4gMDkvMDUvMjAxMiAwNzowMCBbUE1d
Ci1rZXlEb3duKCdsZWZ0QXJyb3cnKTsgLy8gLT4gMDkvMDUvMjAxMiAwNzpbMDBdIFBNCi1rZXlE
b3duKCc1Jyk7IC8vIC0+IDA5LzA1LzIwMTIgMDc6WzA1XSBQTQota2V5RG93bignbGVmdEFycm93
Jyk7IC8vIC0+IDA5LzA1LzIwMTIgWzA3XTowNSBQTQota2V5RG93bignbGVmdEFycm93Jyk7IC8v
IC0+IDA5LzA1L1syMDEyXSAwNzowNSBQTQota2V5RG93bignNCcpOyAvLyAtPiAwOS8wNS9bMDAw
NF0gMDc6MDUgUE0KLXNob3VsZEJlRXF1YWxUb1N0cmluZygnaW5wdXQudmFsdWUnLCAnMDAwNC0w
OS0wNVQxOTowNScpOwota2V5RG93bignbGVmdEFycm93Jyk7IC8vIC0+IDA5L1swNV0vMDAwNCAw
NzowNSBQTQota2V5RG93bignbGVmdEFycm93Jyk7IC8vIC0+IFswOV0vMDUvMDAwNCAwNzowNSBQ
TQota2V5RG93bignbGVmdEFycm93Jyk7IC8vIC0+IFswOV0vMDUvMDAwNCAwNzowNSBQTQotc2hv
dWxkQmVFcXVhbFRvU3RyaW5nKCdkb2N1bWVudC5hY3RpdmVFbGVtZW50LmlkJywgJ2lucHV0Jyk7
Ci0KLWJlZ2luVGVzdCgnVXAvRG93biBrZXlzJywgJzIwMTItMDktMjlUMDA6MDAnKTsKLWtleURv
d24oJ3VwQXJyb3cnKTsgLy8gLT4gWzEwXS8yOS8yMDEyIDEyOjAwIEFNCi1zaG91bGRCZUVxdWFs
VG9TdHJpbmcoJ2lucHV0LnZhbHVlJywgJzIwMTItMTAtMjlUMDA6MDAnKTsKLWtleURvd24oJ2Rv
d25BcnJvdycpOyAvLyAtPiBbMDldLzI5LzIwMTIgMTI6MDAgQU0KLWtleURvd24oJ2Rvd25BcnJv
dycpOyAvLyAtPiBbMDhdLzI5LzIwMTIgMTI6MDAgQU0KLXNob3VsZEJlRXF1YWxUb1N0cmluZygn
aW5wdXQudmFsdWUnLCAnMjAxMi0wOC0yOVQwMDowMCcpOwotCi1iZWdpblRlc3QoJ1VwL0Rvd24g
a2V5cyBvbiBlbXB0eSB2YWx1ZScpOwota2V5RG93bignZG93bkFycm93Jyk7IC8vICAtPiBbMTJd
L2RkL3l5eXkgLS06LS0gLS0KLWtleURvd24oJ2Rvd25BcnJvdycpOyAvLyAgLT4gWzExXS9kZC95
eXl5IC0tOi0tIC0tCi1rZXlEb3duKCdyaWdodEFycm93Jyk7IC8vIC0+IDExL1tkZF0veXl5eSAt
LTotLSAtLQota2V5RG93bigndXBBcnJvdycpOyAvLyAgICAtPiAxMS9bMDFdL3l5eXkgLS06LS0g
LS0KLWtleURvd24oJ3VwQXJyb3cnKTsgLy8gICAgLT4gMTEvWzAyXS95eXl5IC0tOi0tIC0tCi1r
ZXlEb3duKCdkb3duQXJyb3cnKTsgLy8gIC0+IDExL1swMV0veXl5eSAtLTotLSAtLQota2V5RG93
bigncmlnaHRBcnJvdycpOyAvLyAtPiAxMS8wMS9beXl5eV0gLS06LS0gLS0KLXZhciBjdXJyZW50
WWVhciA9IG5ldyBEYXRlKCkuZ2V0RnVsbFllYXIoKTsKLWtleURvd24oJ3VwQXJyb3cnKTsgLy8g
LT4gMTEvMDEvW2N1cnJlbnRZZWFyXSAtLTotLSAtLQota2V5RG93bigncmlnaHRBcnJvdycpOyAv
LyAtPiAxMS8wMS9jdXJyZW50WWVhciBbLS1dOi0tIC0tCi1rZXlEb3duKCd1cEFycm93Jyk7IC8v
ICAgIC0+IDExLzAxL2N1cnJlbnRZZWFyIFswMV06LS0gLS0KLWtleURvd24oJ3JpZ2h0QXJyb3cn
KTsgLy8gLT4gMTEvMDEvY3VycmVudFllYXIgMDE6Wy0tXSAtLQota2V5RG93bignZG93bkFycm93
Jyk7IC8vICAtPiAxMS8wMS9jdXJyZW50WWVhciAwMTpbNTldIC0tCi1rZXlEb3duKCdyaWdodEFy
cm93Jyk7IC8vIC0+IDExLzAxL2N1cnJlbnRZZWFyIDAxOjU5IFstLV0KLWtleURvd24oJ3VwQXJy
b3cnKTsgLy8gICAgLT4gMTEvMDEvY3VycmVudFllYXIgMDE6NTkgW0FNXQotc2hvdWxkQmUoJ2lu
cHV0LnZhbHVlJywgJ2N1cnJlbnRZZWFyICsgIi0xMS0wMVQwMTo1OSInKTsKLQotYmVnaW5UZXN0
KCdUYWIga2V5JywgJzIwMTItMDktMzBUMDA6MDAnKTsKLWtleURvd24oJ1x0Jyk7IC8vIC0+IDA5
L1szMF0vMjAxMiAxMjowMCBBTQota2V5RG93bignNScpOyAvLyAtPiAwOS8wNS9bMjAxMl0gMTI6
MDAgQU0KLWtleURvd24oJ1x0Jyk7IC8vIC0+IDA5LzA1LzIwMTIgWzEyXTowMCBBTQota2V5RG93
bignXHQnKTsgLy8gLT4gMDkvMDUvMjAxMiAxMjpbMDBdIEFNCi1rZXlEb3duKCdcdCcpOyAvLyAt
PiAwOS8wNS8yMDEyIDEyOjAwIFtBTV0KLWtleURvd24oJ1AnKTsgLy8gLT4gMDkvMDUvMjAxMiAx
MjowMCBbUE1dCi1zaG91bGRCZUVxdWFsVG9TdHJpbmcoJ2lucHV0LnZhbHVlJywgJzIwMTItMDkt
MDVUMTI6MDAnKTsKLWtleURvd24oJ1x0Jyk7IC8vIC0+IEZvY3VzIG91dC4KLXNob3VsZEJlRXF1
YWxUb1N0cmluZygnZG9jdW1lbnQuYWN0aXZlRWxlbWVudC5pZCcsICdhZnRlcicpOwotCi1iZWdp
blRlc3QoJ1NoZml0K1RhYiBrZXknLCAnMjAxMi0wOS0zMFQwMTowMCcpOwotYWZ0ZXIuZm9jdXMo
KTsKLWtleURvd24oJ1x0JywgWydzaGlmdEtleSddKTsgLy8gLT4gMDkvMzAvMjAxMiAwMTowMCBb
QU1dCi1rZXlEb3duKCdQJyk7IC8vIC0+IDA5LzMwLzIwMTIgMDE6MDAgW1BNXQota2V5RG93bign
XHQnLCBbJ3NoaWZ0S2V5J10pOyAvLyAtPiAwOS8zMC8yMDEyIDAxOlswMF0gUE0KLWtleURvd24o
JzMnKTsgLy8gLT4gMDkvMzAvMjAxMiAwMTpbMDNdIFBNCi1zaG91bGRCZUVxdWFsVG9TdHJpbmco
J2lucHV0LnZhbHVlJywgJzIwMTItMDktMzBUMTM6MDMnKTsKLWtleURvd24oJ1x0JywgWydzaGlm
dEtleSddKTsgLy8gLT4gMDkvMzAvMjAxMiBbMDFdOjAzIFBNCi1rZXlEb3duKCdcdCcsIFsnc2hp
ZnRLZXknXSk7IC8vIC0+IDA5LzMwL1syMDEyXSAwMTowMyBQTQota2V5RG93bignXHQnLCBbJ3No
aWZ0S2V5J10pOyAvLyAtPiAwOS9bMzBdLzIwMTIgMDE6MDMgUE0KLWtleURvd24oJ1x0JywgWydz
aGlmdEtleSddKTsgLy8gLT4gWzA5XS8zMC8yMDEyIDAxOjAzIFBNCi1rZXlEb3duKCdcdCcsIFsn
c2hpZnRLZXknXSk7IC8vIC0+IEZvY3VzIG91dC4KLXNob3VsZEJlRXF1YWxUb1N0cmluZygnZG9j
dW1lbnQuYWN0aXZlRWxlbWVudC5pZCcsICdiZWZvcmUnKTsKLQotYmVnaW5UZXN0KCdVcCBrZXkg
b24gbWF4aW11bSB2YWx1ZScsICcyNzU3NjAtMDktMTNUMDA6MDAnKTsKLWtleURvd24oJ3VwQXJy
b3cnKTsgLy8gLT4gWzEwXS8xMy8yNzU3NjAgMTI6MDAgQU0KLWtleURvd24oJ1x0Jyk7IC8vICAg
ICAgLT4gMTAvWzEzXS8yNzU3NjAgMTI6MDAgQU0KLWtleURvd24oJ3VwQXJyb3cnKTsgLy8gLT4g
MTAvWzE0XS8yNzU3NjAgMTI6MDAgQU0KLWtleURvd24oJ1x0Jyk7IC8vICAgICAgLT4gMTAvMTQv
WzI3NTc2MF0gMTI6MDAgQU0KLWtleURvd24oJ3VwQXJyb3cnKTsgLy8gLT4gMTAvMTQvWzAwMDFd
IDEyOjAwIEFNCi1zaG91bGRCZUVxdWFsVG9TdHJpbmcoJ2lucHV0LnZhbHVlJywgJzAwMDEtMTAt
MTRUMDA6MDAnKTsKLWJlZ2luVGVzdCgnVXAga2V5IHdpdGggYSBtYXhpbXVtIGF0dHJpYnV0ZScs
ICcxOTk5LTEyLTMxVDAwOjAwJywgJzEwMDAtMDEtMDFUMDA6MDAnLCAnMTk5OS0xMi0zMVQyMzo1
OScpOwota2V5RG93bigndXBBcnJvdycpOyAvLyAtPiBbMDFdLzMxLzE5OTkgMTI6MDAgQU0KLWtl
eURvd24oJ1x0Jyk7IC8vICAgICAgLT4gMDEvWzMxXS8xOTk5IDEyOjAwIEFNCi1rZXlEb3duKCd1
cEFycm93Jyk7IC8vIC0+IDAxL1swMV0vMTk5OSAxMjowMCBBTQota2V5RG93bignXHQnKTsgLy8g
ICAgICAtPiAwMS8wMS9bMTk5OV0gMTI6MDAgQU0KLWtleURvd24oJ3VwQXJyb3cnKTsgLy8gLT4g
MDEvMDEvWzEwMDBdIDEyOjAwIEFNCi1zaG91bGRCZUVxdWFsVG9TdHJpbmcoJ2lucHV0LnZhbHVl
JywgJzEwMDAtMDEtMDFUMDA6MDAnKTsKLQotYmVnaW5UZXN0KCdEb3duIGtleSBvbiBtaW5pbXVt
IHZhbHVlJywgJzAwMDEtMDEtMDFUMDA6MDAnLCAnYmFkIG1pbicsICd3cm9uZyBtYXgnKTsKLWtl
eURvd24oJ2Rvd25BcnJvdycpOyAvLyAtPiBbMTJdLzAxLzAwMDEgMTI6MDAgQU0KLWtleURvd24o
J1x0Jyk7IC8vICAgICAgICAtPiAxMi9bMDFdLzAwMDEgMTI6MDAgQU0KLWtleURvd24oJ2Rvd25B
cnJvdycpOyAvLyAtPiAxMi9bMzFdLzAwMDEgMTI6MDAgQU0KLWtleURvd24oJ1x0Jyk7IC8vICAg
ICAgICAtPiAxMi8zMS9bMDAwMV0gMTI6MDAgQU0KLWtleURvd24oJ2Rvd25BcnJvdycpOyAvLyAt
PiAxMi8zMS9bMjc1NzYwXSAxMjowMCBBTSwgd2hpY2ggaXMgZ3JlYXRlciB0aGFuIHRoZSBoYXJk
IGxpbWl0Lgotc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdpbnB1dC52YWx1ZScsICcnKTsKLWJlZ2lu
VGVzdCgnRG93biBrZXkgd2l0aCBhIG1pbmltdW0gYXR0cmlidXRlJywgJzEwMDAtMDEtMDFUMDA6
MDAnLCAnMTAwMC0wMS0wMVQwMDowMCcpOwota2V5RG93bignZG93bkFycm93Jyk7IC8vIC0+IFsx
Ml0vMDEvMTAwMCAxMjowMCBBTQota2V5RG93bignXHQnKTsgLy8gICAgICAgIC0+IDEyL1swMV0v
MTAwMCAxMjowMCBBTQota2V5RG93bignZG93bkFycm93Jyk7IC8vIC0+IDEyL1szMV0vMTAwMCAx
MjowMCBBTQota2V5RG93bignXHQnKTsgLy8gICAgICAgIC0+IDEyLzMxL1sxMDAwXSAxMjowMCBB
TQota2V5RG93bignZG93bkFycm93Jyk7IC8vIC0+IDEyLzMxLzI3NTc2MCwgd2hpY2ggaXMgZ3Jl
YXRlciB0aGFuIHRoZSBoYXJkIGxpbWl0Lgotc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdpbnB1dC52
YWx1ZScsICcnKTsKLQotYmVnaW5UZXN0KCdJbmNvbnNpc3RlbnQgbWluLW1heCBhdHRyaWJ1dGVz
JywgJzE5OTktMTItMzFUMjM6NTknLCAnMTk5OS0xMi0zMVQyMzo1OScsICcxMDAwLTAxLTAxVDAw
OjAwJyk7Ci1rZXlEb3duKCdcdCcpOyAvLyAtPiAxMi9bMzFdLzE5OTkgMTE6NTkgUE0KLWtleURv
d24oJ1x0Jyk7IC8vIC0+IDEyLzMxL1sxOTk5XSAxMTo1OSBQTQota2V5RG93bigndXBBcnJvdycp
OyAvLyAtPiAxMi8zMS9bMTAwMF0gMTE6NTkgUE0uICAxMDAwIGlzIHRoZSBzd2FwcGVkIG1pbmlt
dW0geWVhci4KLXNob3VsZEJlRXF1YWxUb1N0cmluZygnaW5wdXQudmFsdWUnLCAnMTAwMC0xMi0z
MVQyMzo1OScpOwota2V5RG93bignZG93bkFycm93Jyk7IC8vIC0+IDEyLzMxL1sxOTk5XQotc2hv
dWxkQmVFcXVhbFRvU3RyaW5nKCdpbnB1dC52YWx1ZScsICcxOTk5LTEyLTMxVDIzOjU5Jyk7Ci0K
LWJlZ2luVGVzdCgnTWFrZSBhbiBpbnZhbGlkIGRhdGUnLCAnMjAxMi0wMi0wMVQwMDowMCcpOwot
a2V5RG93bignXHQnKTsgLy8gICAgICAgIC0+IDAyL1swMV0vMjAxMiAxMjowMCBBTQota2V5RG93
bignZG93bkFycm93Jyk7IC8vIC0+IDAyL1szMV0vMjAxMiAxMjowMCBBTQotc2hvdWxkQmVFcXVh
bFRvU3RyaW5nKCdpbnB1dC52YWx1ZScsICcnKTsgLy8gMjAxMi0wMi0zMSBpcyBub3QgYSB2YWxp
ZCBkYXRlLgotCi1iZWdpblRlc3QoJ0JhY2tzcGFjZSBrZXknLCAnMjAxMi0wOS0yMFQwMDowMCcp
Owota2V5RG93bignXGInKTsgLy8gLT4gW21tXS8yMC8yMDEyIDEyOjAwIEFNCi1zaG91bGRCZUVx
dWFsVG9TdHJpbmcoJ2lucHV0LnZhbHVlJywgJycpOwotCi1iZWdpblRlc3QoJ0RlbGV0ZSBrZXkn
LCAnMjAxMi0wOS0zMFQwMDowMCcpOwota2V5RG93bignZGVsZXRlJyk7IC8vIC0+IFttbV0vMzAv
MjAxMiAxMjowMCBBTQotc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdpbnB1dC52YWx1ZScsICcnKTsK
LQotYmVnaW5UZXN0KCdUeXBlYWhlYWQnLCAnMjAxMi0xMi0zMVQwMDowMCcpOwota2V5RG93bign
cmlnaHRBcnJvdycpOyAvLyAtPiAxMi9bMzFdLzIwMTIgMTI6MDAgQU0KLWtleURvd24oJzEnKTsg
Ly8gICAgICAgICAgLT4gMTIvWzAxXS8yMDEyIDEyOjAwIEFNCi1zaG91bGRCZUVxdWFsVG9TdHJp
bmcoJ2lucHV0LnZhbHVlJywgJzIwMTItMTItMDFUMDA6MDAnKTsKLWtleURvd24oJ2xlZnRBcnJv
dycpOyAvLyAgLT4gWzEyXS8wMS8yMDEyIDEyOjAwIEFNCi1rZXlEb3duKCdyaWdodEFycm93Jyk7
IC8vIC0+IDEyL1swMV0vMjAxMiAxMjowMCBBTQota2V5RG93bignMicpOyAvLyAgICAgICAgICAt
PiAxMi9bMDJdLzIwMTIgMTI6MDAgQU0KLXNob3VsZEJlRXF1YWxUb1N0cmluZygnaW5wdXQudmFs
dWUnLCAnMjAxMi0xMi0wMlQwMDowMCcpOwotCi1pbnB1dC5zZXRBdHRyaWJ1dGUoJ2xhbmcnLCAn
aGUtaWwnKTsKLWJlZ2luVGVzdCgnUlRMIGZvY3VzIG5hdmlnYXRpb24nLCAnMjAxMi0wOS0yOFQy
MzowMCcpOwotZGVidWcoJ1RoZSB0ZXN0cyBpbiB0aGlzIGJsb2NrIGZhaWwgb24gcGxhdGZvcm1z
IHdpdGhvdXQgdGhlIGxhbmctYXR0cmlidXRlLWF3YXJlLWZvcm0tY29udHJvbC1VSSBmZWF0dXJl
LicpOwotLy8gVGhlIGxvZ2ljbGEgb3JkZXI6IGRkL01NL3l5eXkgaGg6bW0KLS8vIFRoZSB2aXN1
YWwgb3JkZXI6IGhoOm1tIGRkL01NL3l5eXkKLWtleURvd24oJzEnKTsgLy8gICAgICAgICAgLT4g
MjM6MDAgWzAxXS8wOS8yMDEyCi1zaG91bGRCZUVxdWFsVG9TdHJpbmcoJ2lucHV0LnZhbHVlJywg
JzIwMTItMDktMDFUMjM6MDAnKTsKLWtleURvd24oJ1x0Jyk7IC8vICAgICAgICAgLT4gMjM6MDAg
MDEvWzA5XS8yMDEyCi1rZXlEb3duKCcyJyk7IC8vICAgICAgICAgIC0+IDIzOjAwIDAxLzAyL1sy
MDEyXQota2V5RG93bignXHQnKTsgLy8gICAgICAgICAtPiBbMjNdOjAwIDIwMTIvMDkvMDEKLWtl
eURvd24oJzEnKTsgLy8gICAgICAgICAgLT4gWzAxXTowMCAwMS8wOS8yMDEyCi1zaG91bGRCZUVx
dWFsVG9TdHJpbmcoJ2lucHV0LnZhbHVlJywgJzIwMTItMDItMDFUMDE6MDAnKTsKLWtleURvd24o
J1x0JywgWydzaGlmdEtleSddKTsgLy8gLT4gMDE6MDAgMDEvMDkvWzIwMTJdCi1rZXlEb3duKCc4
Jyk7IC8vICAgICAgICAgICAgICAgIC0+IDAxOjAwIDAxLzA5L1swMDA4XQota2V5RG93bignXHQn
LCBbJ3NoaWZ0S2V5J10pOyAvLyAtPiAwMTowMCAwMS9bMDldLzAwMDgKLWtleURvd24oJzMnKTsg
Ly8gICAgICAgICAgICAgICAgLT4gMDE6MDAgMDEvMDMvWzAwMDhdCi1zaG91bGRCZUVxdWFsVG9T
dHJpbmcoJ2lucHV0LnZhbHVlJywgJzAwMDgtMDMtMDFUMDE6MDAnKTsKLWlucHV0LnJlbW92ZUF0
dHJpYnV0ZSgnbGFuZycpOwotCi1iZWdpblRlc3QoJ0Rpc2FibGVkL3JlYWRvbmx5JywgJzIwMTIt
MTAtMDhUMDA6MDAnKTsKLWlucHV0LmRpc2FibGVkID0gdHJ1ZTsKLWtleURvd24oJ3VwQXJyb3cn
KTsgLy8gMTAvMDgvMjAxMiAxMjowMCBBTQotc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdpbnB1dC52
YWx1ZScsICcyMDEyLTEwLTA4VDAwOjAwJyk7Ci1pbnB1dC5kaXNhYmxlZCA9IGZhbHNlOwotaW5w
dXQuZm9jdXMoKTsKLWtleURvd24oJ3VwQXJyb3cnKTsgLy8gWzExXS8wOC8yMDEyIDEyOjAwIEFN
Ci1zaG91bGRCZUVxdWFsVG9TdHJpbmcoJ2lucHV0LnZhbHVlJywgJzIwMTItMTEtMDhUMDA6MDAn
KTsKLWlucHV0LnJlYWRPbmx5ID0gdHJ1ZTsKLWtleURvd24oJ3VwQXJyb3cnKTsgLy8gMTEvMDgv
MjAxMiAxMjowMCBBTQotc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdpbnB1dC52YWx1ZScsICcyMDEy
LTExLTA4VDAwOjAwJyk7Ci1pbnB1dC5yZWFkT25seSA9IGZhbHNlOwotaW5wdXQuZm9jdXMoKTsK
LWtleURvd24oJ3VwQXJyb3cnKTsgLy8gWzEyXS8wOC8yMDEyIDEyOjAwIEFNCi1zaG91bGRCZUVx
dWFsVG9TdHJpbmcoJ2lucHV0LnZhbHVlJywgJzIwMTItMTItMDhUMDA6MDAnKTsKLQotPC9zY3Jp
cHQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9z
Y3JpcHQ+Ci08L2JvZHk+Ci08L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Zv
cm1zL2RhdGV0aW1lbG9jYWwtbXVsdGlwbGUtZmllbGRzL2RhdGV0aW1lbG9jYWwtbXVsdGlwbGUt
ZmllbGRzLW1vdXNlLWV2ZW50cy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1z
L2RhdGV0aW1lbG9jYWwtbXVsdGlwbGUtZmllbGRzL2RhdGV0aW1lbG9jYWwtbXVsdGlwbGUtZmll
bGRzLW1vdXNlLWV2ZW50cy1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDc1OWU2ZWVjZjUyZGY5ZmE5ZjYxZTZjZGUzYjI1YTg3MTlkZmZlYzYuLjAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jt
cy9kYXRldGltZWxvY2FsLW11bHRpcGxlLWZpZWxkcy9kYXRldGltZWxvY2FsLW11bHRpcGxlLWZp
ZWxkcy1tb3VzZS1ldmVudHMtZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEsNTYgKzAs
MCBAQAotTXVsdGlwbGUgZmllbGRzIFVJIG9mIGRhdGV0aW1lLWxvY2FsIGlucHV0IHR5cGUgd2l0
aCBtb3VzZSBldmVudHMKLQotT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQ
QVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgotCi0KLVBsZWFzZSBy
dW4gdGhpcyB3aXRoIERSVCBvciBXVFIuCi0KLVRlc3QgZm9sbG93aW5nIG1vdXNlIGFjdGlvbnM6
Ci1Nb3VzZSBjbGljayB0byBmb2N1cyBlYWNoIG9mIHN1Yi1maWVsZHMKLU1vdXNlIGNsaWNrIG9u
IHRoZSBzcGluIGJ1dHRvbiB0byB1cGRhdGUgZWFjaCBvZiBzdWItZmllbGRzCi0KLT09PiBGb2N1
cyBvbiB0aGUgbW9udGggZmllbGQuCi1QQVNTIGlucHV0LnZhbHVlIGlzICIyMzQ1LTA4LTE5VDEw
OjAwIgotUEFTUyBpbnB1dC52YWx1ZSBpcyAiMjM0NS0wOS0xOVQxMDowMCIKLVBBU1MgaW5wdXQu
dmFsdWUgaXMgIjIzNDUtMDgtMTlUMTA6MDAiCi1QQVNTIHdpbmRvdy5nZXRTZWxlY3Rpb24oKS5y
YW5nZUNvdW50IGlzIDAKLQotPT0+IEZvY3VzIG9uIHRoZSBkYXkgZmllbGQuCi1QQVNTIGlucHV0
LnZhbHVlIGlzICIyMzQ1LTA4LTIwVDEwOjAwIgotUEFTUyBpbnB1dC52YWx1ZSBpcyAiMjM0NS0w
OC0yMVQxMDowMCIKLVBBU1MgaW5wdXQudmFsdWUgaXMgIjIzNDUtMDgtMjBUMTA6MDAiCi1QQVNT
IHdpbmRvdy5nZXRTZWxlY3Rpb24oKS5yYW5nZUNvdW50IGlzIDAKLQotPT0+IEZvY3VzIG9uIHRo
ZSB5ZWFyIGZpZWxkLgotUEFTUyBpbnB1dC52YWx1ZSBpcyAiMjM0Ni0wOC0yMFQxMDowMCIKLVBB
U1MgaW5wdXQudmFsdWUgaXMgIjIzNDctMDgtMjBUMTA6MDAiCi1QQVNTIGlucHV0LnZhbHVlIGlz
ICIyMzQ2LTA4LTIwVDEwOjAwIgotUEFTUyB3aW5kb3cuZ2V0U2VsZWN0aW9uKCkucmFuZ2VDb3Vu
dCBpcyAwCi0KLT09PiBGb2N1cyBvbiB0aGUgaG91ciBmaWVsZC4KLVBBU1MgaW5wdXQudmFsdWUg
aXMgIjIzNDYtMDgtMjBUMTE6MDAiCi1QQVNTIGlucHV0LnZhbHVlIGlzICIyMzQ2LTA4LTIwVDAw
OjAwIgotUEFTUyBpbnB1dC52YWx1ZSBpcyAiMjM0Ni0wOC0yMFQxMTowMCIKLVBBU1Mgd2luZG93
LmdldFNlbGVjdGlvbigpLnJhbmdlQ291bnQgaXMgMAotCi09PT4gRm9jdXMgb24gdGhlIG1pbnV0
ZSBmaWVsZC4KLVBBU1MgaW5wdXQudmFsdWUgaXMgIjIzNDYtMDgtMjBUMTE6MDEiCi1QQVNTIGlu
cHV0LnZhbHVlIGlzICIyMzQ2LTA4LTIwVDExOjAyIgotUEFTUyBpbnB1dC52YWx1ZSBpcyAiMjM0
Ni0wOC0yMFQxMTowMSIKLVBBU1Mgd2luZG93LmdldFNlbGVjdGlvbigpLnJhbmdlQ291bnQgaXMg
MAotCi09PT4gQ2xpY2sgb24gYSBkaXNhYmxlZCBmaWVsZC4KLVBBU1MgaW5wdXQudmFsdWUgaXMg
IjIzNDYtMDgtMjBUMTE6MDEiCi0KLT09PiBDbGljayBvbiBhIHJlYWQtb25seSBmaWVsZC4KLVBB
U1MgaW5wdXQudmFsdWUgaXMgIjIzNDYtMDgtMjBUMTE6MDEiCi0KLT09PiBDbGljayBvbiBjbGVh
ciBidXR0b24uCi1QQVNTIGlucHV0LnZhbHVlIGlzICIyMzQ2LTA4LTIwVDExOjAxIgotUEFTUyBp
bnB1dC52YWx1ZSBpcyAiMjM0Ni0wOC0yMFQxMTowMSIKLVBBU1MgaW5wdXQudmFsdWUgaXMgIiIK
LQotUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQotCi1URVNUIENPTVBMRVRFCi0KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvZGF0ZXRpbWVsb2NhbC1tdWx0aXBsZS1m
aWVsZHMvZGF0ZXRpbWVsb2NhbC1tdWx0aXBsZS1maWVsZHMtbW91c2UtZXZlbnRzLmh0bWwgYi9M
YXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2RhdGV0aW1lbG9jYWwtbXVsdGlwbGUtZmllbGRzL2RhdGV0
aW1lbG9jYWwtbXVsdGlwbGUtZmllbGRzLW1vdXNlLWV2ZW50cy5odG1sCmRlbGV0ZWQgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCA2ODEyYjlhNDQyNjA0ZTM3ZjAwNWNkNGI2NTE2ZTU1NzU5MTNkMzg0
Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRl
c3RzL2Zhc3QvZm9ybXMvZGF0ZXRpbWVsb2NhbC1tdWx0aXBsZS1maWVsZHMvZGF0ZXRpbWVsb2Nh
bC1tdWx0aXBsZS1maWVsZHMtbW91c2UtZXZlbnRzLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSwx
MzAgKzAsMCBAQAotPCFET0NUWVBFIGh0bWw+Ci08aHRtbD4KLTxoZWFkPgotPHNjcmlwdCBzcmM9
Ii4uLy4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Ci08L2hlYWQ+Ci08
Ym9keT4KLTxwIGlkPSJkZXNjcmlwdGlvbiI+PC9wPgotPHA+Ci1QbGVhc2UgcnVuIHRoaXMgd2l0
aCBEUlQgb3IgV1RSLgotPC9wPgotVGVzdCBmb2xsb3dpbmcgbW91c2UgYWN0aW9uczoKLTx1bD4K
LSAgICA8bGk+TW91c2UgY2xpY2sgdG8gZm9jdXMgZWFjaCBvZiBzdWItZmllbGRzPC9saT4KLSAg
ICA8bGk+TW91c2UgY2xpY2sgb24gdGhlIHNwaW4gYnV0dG9uIHRvIHVwZGF0ZSBlYWNoIG9mIHN1
Yi1maWVsZHM8L2xpPgotPC91bD4KLTxpbnB1dCBpZD0iaW5wdXQiIHR5cGU9ImRhdGV0aW1lLWxv
Y2FsIiBzdHlsZT0iZm9udC1mYW1pbHk6YWhlbTsgZm9udC1zaXplOjE2cHg7Ij4KLTxkaXYgaWQ9
ImNvbnNvbGUiPjwvZGl2PgotPHNjcmlwdD4KLWRlc2NyaXB0aW9uKCdNdWx0aXBsZSBmaWVsZHMg
VUkgb2YgZGF0ZXRpbWUtbG9jYWwgaW5wdXQgdHlwZSB3aXRoIG1vdXNlIGV2ZW50cycpOwotdmFy
IGlucHV0ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2lucHV0Jyk7Ci0KLWZ1bmN0aW9uIGtl
eURvd24oa2V5LCBtb2RpZmllcnMpCi17Ci0gICAgaWYgKCF3aW5kb3cuZXZlbnRTZW5kZXIpCi0g
ICAgICAgIHJldHVybjsKLSAgICBldmVudFNlbmRlci5rZXlEb3duKGtleSwgbW9kaWZpZXJzKTsK
LX0KLQotZnVuY3Rpb24gbW91c2VDbGlja09uKHgsIHkpCi17Ci0gICAgaWYgKCF3aW5kb3cuZXZl
bnRTZW5kZXIpCi0gICAgICAgIHJldHVybjsKLSAgICBldmVudFNlbmRlci5tb3VzZU1vdmVUbyh4
ICsgaW5wdXQub2Zmc2V0TGVmdCwgeSArIGlucHV0Lm9mZnNldFRvcCk7Ci0gICAgZXZlbnRTZW5k
ZXIubW91c2VEb3duKCk7Ci0gICAgZXZlbnRTZW5kZXIubW91c2VVcCgpOwotfQotCi1pbnB1dC52
YWx1ZSA9ICcyMzQ1LTA3LTE5VDEwOjAwJzsKLXZhciBjZW50ZXIgPSBpbnB1dC5vZmZzZXRIZWln
aHQgLyAyOwotdmFyIHNwaW5CdXR0b25PZmZzZXQgPSAyNjsKLXZhciBjbGVhckJ1dHRvbk9mZnNl
dCA9IDQxOwotCi1kZWJ1ZygnPT0+IEZvY3VzIG9uIHRoZSBtb250aCBmaWVsZC4nKTsKLW1vdXNl
Q2xpY2tPbigxMiwgY2VudGVyKTsKLWtleURvd24oJ3VwQXJyb3cnKTsKLXNob3VsZEJlRXF1YWxU
b1N0cmluZygnaW5wdXQudmFsdWUnLCAnMjM0NS0wOC0xOVQxMDowMCcpOwotbW91c2VDbGlja09u
KGlucHV0Lm9mZnNldFdpZHRoIC0gc3BpbkJ1dHRvbk9mZnNldCwgY2VudGVyIC0gMSk7Ci1zaG91
bGRCZUVxdWFsVG9TdHJpbmcoJ2lucHV0LnZhbHVlJywgJzIzNDUtMDktMTlUMTA6MDAnKTsKLW1v
dXNlQ2xpY2tPbihpbnB1dC5vZmZzZXRXaWR0aCAtIHNwaW5CdXR0b25PZmZzZXQsIGNlbnRlciAr
IDEpOwotc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdpbnB1dC52YWx1ZScsICcyMzQ1LTA4LTE5VDEw
OjAwJyk7Ci1zaG91bGRCZVplcm8oJ3dpbmRvdy5nZXRTZWxlY3Rpb24oKS5yYW5nZUNvdW50Jyk7
IC8vIE5vIHRleHQgc2VsZWN0aW9uLgotCi1kZWJ1ZygnJyk7Ci1kZWJ1ZygnPT0+IEZvY3VzIG9u
IHRoZSBkYXkgZmllbGQuJyk7Ci1tb3VzZUNsaWNrT24oNjAsIGNlbnRlcik7Ci1rZXlEb3duKCd1
cEFycm93Jyk7Ci1zaG91bGRCZUVxdWFsVG9TdHJpbmcoJ2lucHV0LnZhbHVlJywgJzIzNDUtMDgt
MjBUMTA6MDAnKTsKLW1vdXNlQ2xpY2tPbihpbnB1dC5vZmZzZXRXaWR0aCAtIHNwaW5CdXR0b25P
ZmZzZXQsIGNlbnRlciAtIDEpOwotc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdpbnB1dC52YWx1ZScs
ICcyMzQ1LTA4LTIxVDEwOjAwJyk7Ci1tb3VzZUNsaWNrT24oaW5wdXQub2Zmc2V0V2lkdGggLSBz
cGluQnV0dG9uT2Zmc2V0LCBjZW50ZXIgKyAxKTsKLXNob3VsZEJlRXF1YWxUb1N0cmluZygnaW5w
dXQudmFsdWUnLCAnMjM0NS0wOC0yMFQxMDowMCcpOwotc2hvdWxkQmVaZXJvKCd3aW5kb3cuZ2V0
U2VsZWN0aW9uKCkucmFuZ2VDb3VudCcpOyAvLyBObyB0ZXh0IHNlbGVjdGlvbi4KLQotZGVidWco
JycpOwotZGVidWcoJz09PiBGb2N1cyBvbiB0aGUgeWVhciBmaWVsZC4nKTsKLW1vdXNlQ2xpY2tP
bigxMDgsIGNlbnRlcik7Ci1rZXlEb3duKCd1cEFycm93Jyk7Ci1zaG91bGRCZUVxdWFsVG9TdHJp
bmcoJ2lucHV0LnZhbHVlJywgJzIzNDYtMDgtMjBUMTA6MDAnKTsKLW1vdXNlQ2xpY2tPbihpbnB1
dC5vZmZzZXRXaWR0aCAtIHNwaW5CdXR0b25PZmZzZXQsIGNlbnRlciAtIDEpOwotc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCdpbnB1dC52YWx1ZScsICcyMzQ3LTA4LTIwVDEwOjAwJyk7Ci1tb3VzZUNs
aWNrT24oaW5wdXQub2Zmc2V0V2lkdGggLSBzcGluQnV0dG9uT2Zmc2V0LCBjZW50ZXIgKyAxKTsK
LXNob3VsZEJlRXF1YWxUb1N0cmluZygnaW5wdXQudmFsdWUnLCAnMjM0Ni0wOC0yMFQxMDowMCcp
Owotc2hvdWxkQmVaZXJvKCd3aW5kb3cuZ2V0U2VsZWN0aW9uKCkucmFuZ2VDb3VudCcpOyAvLyBO
byB0ZXh0IHNlbGVjdGlvbi4KLQotZGVidWcoJycpOwotZGVidWcoJz09PiBGb2N1cyBvbiB0aGUg
aG91ciBmaWVsZC4nKTsKLW1vdXNlQ2xpY2tPbigxOTAsIGNlbnRlcik7Ci1rZXlEb3duKCd1cEFy
cm93Jyk7Ci1zaG91bGRCZUVxdWFsVG9TdHJpbmcoJ2lucHV0LnZhbHVlJywgJzIzNDYtMDgtMjBU
MTE6MDAnKTsKLW1vdXNlQ2xpY2tPbihpbnB1dC5vZmZzZXRXaWR0aCAtIHNwaW5CdXR0b25PZmZz
ZXQsIGNlbnRlciAtIDEpOwotc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdpbnB1dC52YWx1ZScsICcy
MzQ2LTA4LTIwVDAwOjAwJyk7Ci1tb3VzZUNsaWNrT24oaW5wdXQub2Zmc2V0V2lkdGggLSBzcGlu
QnV0dG9uT2Zmc2V0LCBjZW50ZXIgKyAxKTsKLXNob3VsZEJlRXF1YWxUb1N0cmluZygnaW5wdXQu
dmFsdWUnLCAnMjM0Ni0wOC0yMFQxMTowMCcpOwotc2hvdWxkQmVaZXJvKCd3aW5kb3cuZ2V0U2Vs
ZWN0aW9uKCkucmFuZ2VDb3VudCcpOyAvLyBObyB0ZXh0IHNlbGVjdGlvbi4KLQotZGVidWcoJycp
OwotZGVidWcoJz09PiBGb2N1cyBvbiB0aGUgbWludXRlIGZpZWxkLicpOwotbW91c2VDbGlja09u
KDI0MCwgY2VudGVyKTsKLWtleURvd24oJ3VwQXJyb3cnKTsKLXNob3VsZEJlRXF1YWxUb1N0cmlu
ZygnaW5wdXQudmFsdWUnLCAnMjM0Ni0wOC0yMFQxMTowMScpOwotbW91c2VDbGlja09uKGlucHV0
Lm9mZnNldFdpZHRoIC0gc3BpbkJ1dHRvbk9mZnNldCwgY2VudGVyIC0gMSk7Ci1zaG91bGRCZUVx
dWFsVG9TdHJpbmcoJ2lucHV0LnZhbHVlJywgJzIzNDYtMDgtMjBUMTE6MDInKTsKLW1vdXNlQ2xp
Y2tPbihpbnB1dC5vZmZzZXRXaWR0aCAtIHNwaW5CdXR0b25PZmZzZXQsIGNlbnRlciArIDEpOwot
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdpbnB1dC52YWx1ZScsICcyMzQ2LTA4LTIwVDExOjAxJyk7
Ci1zaG91bGRCZVplcm8oJ3dpbmRvdy5nZXRTZWxlY3Rpb24oKS5yYW5nZUNvdW50Jyk7IC8vIE5v
IHRleHQgc2VsZWN0aW9uLgotCi1kZWJ1ZygnJyk7Ci1kZWJ1ZygnPT0+IENsaWNrIG9uIGEgZGlz
YWJsZWQgZmllbGQuJyk7Ci1pbnB1dC5kaXNhYmxlZCA9IHRydWU7Ci1tb3VzZUNsaWNrT24oMTIs
IGNlbnRlcik7Ci1rZXlEb3duKCd1cEFycm93Jyk7Ci1zaG91bGRCZUVxdWFsVG9TdHJpbmcoJ2lu
cHV0LnZhbHVlJywgJzIzNDYtMDgtMjBUMTE6MDEnKTsKLWlucHV0LmRpc2FibGVkID0gZmFsc2U7
Ci0KLWRlYnVnKCcnKTsKLWRlYnVnKCc9PT4gQ2xpY2sgb24gYSByZWFkLW9ubHkgZmllbGQuJyk7
Ci1pbnB1dC5yZWFkT25seSA9IHRydWU7Ci1tb3VzZUNsaWNrT24oMTIsIGNlbnRlcik7Ci1rZXlE
b3duKCd1cEFycm93Jyk7Ci1zaG91bGRCZUVxdWFsVG9TdHJpbmcoJ2lucHV0LnZhbHVlJywgJzIz
NDYtMDgtMjBUMTE6MDEnKTsKLWlucHV0LnJlYWRPbmx5ID0gZmFsc2U7Ci0KLWRlYnVnKCcnKTsK
LWRlYnVnKCc9PT4gQ2xpY2sgb24gY2xlYXIgYnV0dG9uLicpOwotaW5wdXQucmVhZE9ubHkgPSB0
cnVlOwotbW91c2VDbGlja09uKGlucHV0Lm9mZnNldFdpZHRoIC0gY2xlYXJCdXR0b25PZmZzZXQs
IGNlbnRlcik7Ci1zaG91bGRCZUVxdWFsVG9TdHJpbmcoJ2lucHV0LnZhbHVlJywgJzIzNDYtMDgt
MjBUMTE6MDEnKTsKLWlucHV0LmRpc2FibGVkID0gdHJ1ZTsKLWlucHV0LnJlYWRPbmx5ID0gZmFs
c2U7Ci1tb3VzZUNsaWNrT24oaW5wdXQub2Zmc2V0V2lkdGggLSBjbGVhckJ1dHRvbk9mZnNldCwg
Y2VudGVyKTsKLXNob3VsZEJlRXF1YWxUb1N0cmluZygnaW5wdXQudmFsdWUnLCAnMjM0Ni0wOC0y
MFQxMTowMScpOwotaW5wdXQuZGlzYWJsZWQgPSBmYWxzZTsKLW1vdXNlQ2xpY2tPbihpbnB1dC5v
ZmZzZXRXaWR0aCAtIGNsZWFyQnV0dG9uT2Zmc2V0LCBjZW50ZXIpOwotc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCdpbnB1dC52YWx1ZScsICcnKTsKLQotZGVidWcoJycpOwotPC9zY3JpcHQ+Ci08c2Ny
aXB0IHNyYz0iLi4vLi4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Ci08
L2JvZHk+Ci08L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2RhdGV0
aW1lbG9jYWwtbXVsdGlwbGUtZmllbGRzL2RhdGV0aW1lbG9jYWwtbXVsdGlwbGUtZmllbGRzLXBy
ZXNlcnZlLXZhbHVlLWFmdGVyLWhpc3RvcnktYmFjay1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9mYXN0L2Zvcm1zL2RhdGV0aW1lbG9jYWwtbXVsdGlwbGUtZmllbGRzL2RhdGV0aW1lbG9jYWwt
bXVsdGlwbGUtZmllbGRzLXByZXNlcnZlLXZhbHVlLWFmdGVyLWhpc3RvcnktYmFjay1leHBlY3Rl
ZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDNkYjczODM0MjNiMTc2Zjc2ZjUw
YzRhYTQ4ZDZmYjlmNWFkM2RhM2EuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9kYXRldGltZWxvY2FsLW11bHRpcGxl
LWZpZWxkcy9kYXRldGltZWxvY2FsLW11bHRpcGxlLWZpZWxkcy1wcmVzZXJ2ZS12YWx1ZS1hZnRl
ci1oaXN0b3J5LWJhY2stZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEsMTggKzAsMCBA
QAotQ2hlY2tzIGlucHV0IHZhbHVlIGlzIHByZXNlcnZlZCBhZnRlciBiYWNrd2FyZCBhbmQgZm9y
d2FyZAotCi1PbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3Nh
Z2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCi0KLQotV2VudCBiYWNrIHRvIGEgcGFn
ZS4gQ2hlY2tpbmcgYSBmb3JtIGNvbnRyb2wgd2hpY2ggaGFkIGEgZnVsbCB2YWx1ZToKLVBBU1Mg
IjEyMDEyLTEwLTA5VDAxOjIzIiBpcyAiMTIwMTItMTAtMDlUMDE6MjMiCi1XZW50IGJhY2sgdG8g
YSBwYWdlLiBDaGVja2luZyBhIGZvcm0gY29udHJvbCB3aGljaCBoYWQgYSBwYXJ0aWFsIHZhbHVl
OgotUEFTUyAiMDEvZGQvMTk5OSAtLTowMCAtLSIgaXMgIjAxL2RkLzE5OTkgLS06MDAgLS0iCi1X
ZW50IGZvcndhcmQgdG8gYSBwYWdlLiBDaGVja2luZyBhIGZvcm0gY29udHJvbCB3aGljaCBoYWQg
YSBmdWxsIHZhbHVlOgotUEFTUyAiMDAwMS0xMS0xN1QyMzo1NSIgaXMgIjAwMDEtMTEtMTdUMjM6
NTUiCi1XZW50IGZvcndhcmQgdG8gYSBwYWdlLiBDaGVja2luZyBhIGZvcm0gY29udHJvbCB3aGlj
aCBoYWQgYSBwYXJ0aWFsIHZhbHVlOgotUEFTUyAibW0vMzEveXl5eSAxMjotLSBQTSIgaXMgIm1t
LzMxL3l5eXkgMTI6LS0gUE0iCi0KLVBBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKLQot
VEVTVCBDT01QTEVURQotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2RhdGV0
aW1lbG9jYWwtbXVsdGlwbGUtZmllbGRzL2RhdGV0aW1lbG9jYWwtbXVsdGlwbGUtZmllbGRzLXBy
ZXNlcnZlLXZhbHVlLWFmdGVyLWhpc3RvcnktYmFjay5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9m
b3Jtcy9kYXRldGltZWxvY2FsLW11bHRpcGxlLWZpZWxkcy9kYXRldGltZWxvY2FsLW11bHRpcGxl
LWZpZWxkcy1wcmVzZXJ2ZS12YWx1ZS1hZnRlci1oaXN0b3J5LWJhY2suaHRtbApkZWxldGVkIGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggNWZkYTZkOTc3ZDllMGI2ZjQ1NDBjN2MyYTg0N2I4NmFlY2Iz
OTEyZC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlv
dXRUZXN0cy9mYXN0L2Zvcm1zL2RhdGV0aW1lbG9jYWwtbXVsdGlwbGUtZmllbGRzL2RhdGV0aW1l
bG9jYWwtbXVsdGlwbGUtZmllbGRzLXByZXNlcnZlLXZhbHVlLWFmdGVyLWhpc3RvcnktYmFjay5o
dG1sCisrKyAvZGV2L251bGwKQEAgLTEsNDIgKzAsMCBAQAotPCFET0NUWVBFIGh0bWw+Ci08aHRt
bD4KLTxoZWFkPgotPHNjcmlwdCBzcmM9Ii4uLy4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRl
c3QtcHJlLmpzIj48L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5PgotPGlmcmFtZSBpZD0iaWZyYW1l
Ij48L2lmcmFtZT4KLTxzY3JpcHQ+Ci1kZXNjcmlwdGlvbignQ2hlY2tzIGlucHV0IHZhbHVlIGlz
IHByZXNlcnZlZCBhZnRlciBiYWNrd2FyZCBhbmQgZm9yd2FyZCcpOwotaWYgKCF3aW5kb3cuZXZl
bnRTZW5kZXIgfHwgIXdpbmRvdy5pbnRlcm5hbHMpCi0gICAgZGVidWcoJ1BsZWFzZSBydW4gd2l0
aGluIERSVC9XVFInKTsKLXdpbmRvdy5qc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKLQotdmFyIHN0YXRl
ID0gJ2RpcmVjdCc7Ci12YXIgdGVzdENhc2VzID0gW107Ci0KLWZ1bmN0aW9uIGZhaWxlZChtZXNz
YWdlKSB7Ci0gICAgdGVzdEZhaWxlZChtZXNzYWdlICsgJyBpbiAnICsgc3RhdGUpOwotICAgIGZp
bmlzaEpTVGVzdCgpOwotfQotCi1mdW5jdGlvbiBmaW5pc2hUZXN0KCkgewotICAgIHJ1blRlc3RD
YXNlcygpOwotICAgIGZpbmlzaEpTVGVzdCgpOwotfQotCi1mdW5jdGlvbiBydW5UZXN0Q2FzZXMo
KSB7Ci0gICAgZm9yICh2YXIgaW5kZXggPSAwOyBpbmRleCA8IHRlc3RDYXNlcy5sZW5ndGg7ICsr
aW5kZXgpIHsKLSAgICAgICAgdmFyIHRlc3RDYXNlID0gdGVzdENhc2VzW2luZGV4XTsKLSAgICAg
ICAgZGVidWcodGVzdENhc2VbJ2Rlc2NyaXB0aW9uJ10gKyAnOicpOwotICAgICAgICBzaG91bGRC
ZUVxdWFsVG9TdHJpbmcoJyInICsgdGVzdENhc2VbJ2FjdHVhbCddICsgJyInLCB0ZXN0Q2FzZVsn
ZXhwZWN0ZWQnXSk7Ci0gICAgfQotICAgIGRlYnVnKCcnKTsKLX0KLQotd2luZG93Lm9ubG9hZCA9
IGZ1bmN0aW9uKCkgewotICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdpZnJhbWUnKS5zcmMg
PSAncmVzb3VyY2VzL3ByZXNlcnZlLXZhbHVlLWFmdGVyLWhpc3RvcnktYmFjay1mcmFtZS5odG1s
P3BhZ2UxJzsKLX07Ci08L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIuLi8uLi8uLi9mYXN0L2pzL3Jl
c291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgotPC9ib2R5PgotPC9odG1sPgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9kYXRldGltZWxvY2FsLW11bHRpcGxlLWZp
ZWxkcy9kYXRldGltZWxvY2FsLW11bHRpcGxlLWZpZWxkcy1yZWFkb25seS1zdWJmaWVsZC1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2RhdGV0aW1lbG9jYWwtbXVsdGlwbGUt
ZmllbGRzL2RhdGV0aW1lbG9jYWwtbXVsdGlwbGUtZmllbGRzLXJlYWRvbmx5LXN1YmZpZWxkLWV4
cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMjM5NTc5ZDhjMzc2OGIx
YzlhZjgxOTkwNmYxNzQ0YjcxZmYwNTJlOC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2RhdGV0aW1lbG9jYWwtbXVs
dGlwbGUtZmllbGRzL2RhdGV0aW1lbG9jYWwtbXVsdGlwbGUtZmllbGRzLXJlYWRvbmx5LXN1YmZp
ZWxkLWV4cGVjdGVkLnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDM5ICswLDAgQEAKLVN1Yi1maWVs
ZHMgaW4gaW5wdXRbdHlwZT1kYXRldGltZS1sb2NhbF0gc2hvdWxkIGJlIHJlYWQtb25seSBpbiBz
b21lIGNhc2VzLiBUaGlzIHJlcXVpcmVzIHdpbmRvdy5pbnRlcm5hbHMuCi0KLU9uIHN1Y2Nlc3Ms
IHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJU
RVNUIENPTVBMRVRFIi4KLQotCi1jcmVhdGVJbnB1dCBhcmd1bWVudCBvcmRlcjogbWluLCBtYXgs
IHN0ZXAsIHZhbHVlCi0KLUhvdXIgZmllbGQ6Ci1QQVNTIGlzUmVhZE9ubHlGaWVsZChjcmVhdGVJ
bnB1dCgiMjAxMy0wMS0xNlQxMTowMCIsICIiLCBzdGVwMWRheSwgIiIpLCBwc2V1ZG9Ib3VyKSBp
cyB0cnVlCi1QQVNTIGlzUmVhZE9ubHlGaWVsZChjcmVhdGVJbnB1dCgiMjAxMy0wMS0xNlQxMTow
MCIsICIiLCBzdGVwMWRheSwgIiIpLCBwc2V1ZG9BTVBNKSBpcyB0cnVlCi1QQVNTIGlzUmVhZE9u
bHlGaWVsZChjcmVhdGVJbnB1dCgiMjAxMy0wMS0xNlQxMTowMCIsICIiLCBzdGVwMWRheSwgIiIp
LCBwc2V1ZG9NaW51dGUpIGlzIHRydWUKLVBBU1MgaXNSZWFkT25seUZpZWxkKGNyZWF0ZUlucHV0
KCIyMDEzLTAxLTE2VDExOjMwIiwgIiIsIHN0ZXAxZGF5LCAiMjAxMy0wMS0xNlQxMTozMCIpLCBw
c2V1ZG9Ib3VyKSBpcyB0cnVlCi1QQVNTIGlzUmVhZE9ubHlGaWVsZChjcmVhdGVJbnB1dCgiMjAx
My0wMS0xNlQxMTozMCIsICIiLCBzdGVwMWRheSwgIjIwMTMtMDEtMTZUMTE6MzAiKSwgcHNldWRv
QU1QTSkgaXMgdHJ1ZQotUEFTUyBpc1JlYWRPbmx5RmllbGQoY3JlYXRlSW5wdXQoIjIwMTMtMDEt
MTZUMTE6MzAiLCAiIiwgc3RlcDFkYXksICIyMDEzLTAxLTE2VDExOjMwIiksIHBzZXVkb01pbnV0
ZSkgaXMgdHJ1ZQotUEFTUyBpc1JlYWRPbmx5RmllbGQoY3JlYXRlSW5wdXQoIjIwMTMtMDEtMTZU
MTE6MzAiLCAiIiwgc3RlcDFkYXksICIyMDEzLTAxLTE2VDEyOjMwIiksIHBzZXVkb0hvdXIpIGlz
IGZhbHNlCi1QQVNTIGlzUmVhZE9ubHlGaWVsZChjcmVhdGVJbnB1dCgiMjAxMy0wMS0xNlQxMToz
MCIsICIiLCBzdGVwMWRheSwgIjIwMTMtMDEtMTZUMTI6MzAiKSwgcHNldWRvQU1QTSkgaXMgZmFs
c2UKLVBBU1MgaXNSZWFkT25seUZpZWxkKGNyZWF0ZUlucHV0KCIyMDEzLTAxLTE2VDExOjMwIiwg
IiIsIHN0ZXAxZGF5LCAiMjAxMy0wMS0xNlQxMjozMCIpLCBwc2V1ZG9NaW51dGUpIGlzIHRydWUK
LVBBU1MgaXNSZWFkT25seUZpZWxkKGNyZWF0ZUlucHV0KCIyMDEzLTAxLTE2VDAwOjAwIiwgIiIs
IHN0ZXAxZGF5LCAiMjAxMy0wMS0xNlQxMjozMCIpLCBwc2V1ZG9Ib3VyKSBpcyBmYWxzZQotUEFT
UyBpc1JlYWRPbmx5RmllbGQoY3JlYXRlSW5wdXQoIjIwMTMtMDEtMTZUMDA6MDAiLCAiIiwgc3Rl
cDFkYXksICIyMDEzLTAxLTE2VDEyOjMwIiksIHBzZXVkb0FNUE0pIGlzIGZhbHNlCi1QQVNTIGlz
UmVhZE9ubHlGaWVsZChjcmVhdGVJbnB1dCgiMjAxMy0wMS0xNlQwMDowMCIsICIiLCBzdGVwMWRh
eSwgIjIwMTMtMDEtMTZUMTI6MzAiKSwgcHNldWRvTWludXRlKSBpcyBmYWxzZQotUEFTUyBpc1Jl
YWRPbmx5RmllbGQoY3JlYXRlSW5wdXQoIjIwMTMtMDEtMTZUMTE6MDAiLCAiMjAxMy0wMS0xNlQy
MzowMCIsIHN0ZXAxZGF5LCAiIiksIHBzZXVkb0hvdXIpIGlzIGZhbHNlCi1QQVNTIGlzUmVhZE9u
bHlGaWVsZChjcmVhdGVJbnB1dCgiMjAxMy0wMS0xNlQxMTowMCIsICIyMDEzLTAxLTE2VDIzOjAw
Iiwgc3RlcDFkYXksICIiKSwgcHNldWRvQU1QTSkgaXMgZmFsc2UKLVBBU1MgaXNSZWFkT25seUZp
ZWxkKGNyZWF0ZUlucHV0KCIyMDEzLTAxLTE2VDExOjAwIiwgIjIwMTMtMDEtMTZUMjM6MDAiLCBz
dGVwMWRheSwgIiIpLCBwc2V1ZG9NaW51dGUpIGlzIHRydWUKLVBBU1MgaXNSZWFkT25seUZpZWxk
KGNyZWF0ZUlucHV0KCIyMDEzLTAxLTE2VDExOjMwIiwgIjIwMTMtMDEtMTZUMjM6MDAiLCBzdGVw
MWRheSwgIjIwMTMtMDEtMTZUMTE6MzAiKSwgcHNldWRvSG91cikgaXMgZmFsc2UKLVBBU1MgaXNS
ZWFkT25seUZpZWxkKGNyZWF0ZUlucHV0KCIyMDEzLTAxLTE2VDExOjMwIiwgIjIwMTMtMDEtMTZU
MjM6MDAiLCBzdGVwMWRheSwgIjIwMTMtMDEtMTZUMTE6MzAiKSwgcHNldWRvQU1QTSkgaXMgZmFs
c2UKLVBBU1MgaXNSZWFkT25seUZpZWxkKGNyZWF0ZUlucHV0KCIyMDEzLTAxLTE2VDExOjMwIiwg
IjIwMTMtMDEtMTZUMjM6MDAiLCBzdGVwMWRheSwgIjIwMTMtMDEtMTZUMTE6MzAiKSwgcHNldWRv
TWludXRlKSBpcyB0cnVlCi1QQVNTIGlzUmVhZE9ubHlGaWVsZChjcmVhdGVJbnB1dCgiMjAxMy0w
MS0xNlQxMTozMCIsICIyMDEzLTAxLTE2VDExOjU5Iiwgc3RlcDFkYXksICIyMDEzLTAxLTE2VDEx
OjMwIiksIHBzZXVkb0hvdXIpIGlzIGZhbHNlCi1QQVNTIGlzUmVhZE9ubHlGaWVsZChjcmVhdGVJ
bnB1dCgiMjAxMy0wMS0xNlQxMTozMCIsICIyMDEzLTAxLTE2VDExOjU5Iiwgc3RlcDFkYXksICIy
MDEzLTAxLTE2VDExOjMwIiksIHBzZXVkb0FNUE0pIGlzIHRydWUKLVBBU1MgaXNSZWFkT25seUZp
ZWxkKGNyZWF0ZUlucHV0KCIyMDEzLTAxLTE2VDExOjMwIiwgIjIwMTMtMDEtMTZUMTE6NTkiLCBz
dGVwMWRheSwgIjIwMTMtMDEtMTZUMTE6MzAiKSwgcHNldWRvTWludXRlKSBpcyB0cnVlCi1QQVNT
IGlzUmVhZE9ubHlGaWVsZChjcmVhdGVJbnB1dCgiMjAxMy0wMS0xNlQxMTozMCIsICIyMDEzLTAx
LTE2VDExOjU5Iiwgc3RlcDFtaW4sICIiKSwgcHNldWRvSG91cikgaXMgdHJ1ZQotUEFTUyBpc1Jl
YWRPbmx5RmllbGQoY3JlYXRlSW5wdXQoIjIwMTMtMDEtMTZUMTE6MzAiLCAiMjAxMy0wMS0xNlQx
MTo1OSIsIHN0ZXAxbWluLCAiIiksIHBzZXVkb0FNUE0pIGlzIHRydWUKLVBBU1MgaXNSZWFkT25s
eUZpZWxkKGNyZWF0ZUlucHV0KCIyMDEzLTAxLTE2VDExOjMwIiwgIjIwMTMtMDEtMTZUMTE6NTki
LCBzdGVwMW1pbiwgIiIpLCBwc2V1ZG9NaW51dGUpIGlzIGZhbHNlCi1BTS9QTSBmaWVsZDoKLVBB
U1MgaXNSZWFkT25seUZpZWxkKGNyZWF0ZUlucHV0KCIyMDEzLTAxLTE2VDA4OjAwIiwgIjIwMTMt
MDEtMTZUMTE6MDAiLCBzdGVwMW1pbiwgIiIpLCBwc2V1ZG9BTVBNKSBpcyB0cnVlCi1QQVNTIGlz
UmVhZE9ubHlGaWVsZChjcmVhdGVJbnB1dCgiMjAxMy0wMS0xNlQwODowMCIsICIyMDEzLTAxLTE3
VDExOjAwIiwgc3RlcDFtaW4sICIiKSwgcHNldWRvQU1QTSkgaXMgZmFsc2UKLVBBU1Mgc3VjY2Vz
c2Z1bGx5UGFyc2VkIGlzIHRydWUKLQotVEVTVCBDT01QTEVURQotCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9mYXN0L2Zvcm1zL2RhdGV0aW1lbG9jYWwtbXVsdGlwbGUtZmllbGRzL2RhdGV0aW1l
bG9jYWwtbXVsdGlwbGUtZmllbGRzLXJlYWRvbmx5LXN1YmZpZWxkLmh0bWwgYi9MYXlvdXRUZXN0
cy9mYXN0L2Zvcm1zL2RhdGV0aW1lbG9jYWwtbXVsdGlwbGUtZmllbGRzL2RhdGV0aW1lbG9jYWwt
bXVsdGlwbGUtZmllbGRzLXJlYWRvbmx5LXN1YmZpZWxkLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDBkZjI0NzEwNjc5NzkxNjY2ZDY2ZDIyNDVlNzJhM2FhNWIzN2E5YjMuLjAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMv
ZmFzdC9mb3Jtcy9kYXRldGltZWxvY2FsLW11bHRpcGxlLWZpZWxkcy9kYXRldGltZWxvY2FsLW11
bHRpcGxlLWZpZWxkcy1yZWFkb25seS1zdWJmaWVsZC5odG1sCisrKyAvZGV2L251bGwKQEAgLTEs
NzcgKzAsMCBAQAotPCFET0NUWVBFIGh0bWw+Ci08Ym9keT4KLTxzY3JpcHQgc3JjPSIuLi8uLi9q
cy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgotPHNjcmlwdD4KLWZ1bmN0aW9u
IGNyZWF0ZUlucHV0KG1pbiwgbWF4LCBzdGVwLCB2YWx1ZSkgewotICAgIHZhciBpbnB1dCA9IGRv
Y3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2lucHV0Jyk7Ci0gICAgaW5wdXQudHlwZSA9ICdkYXRldGlt
ZS1sb2NhbCc7Ci0gICAgaWYgKG1pbikKLSAgICAgICAgaW5wdXQubWluID0gbWluOwotICAgIGlm
IChtYXgpCi0gICAgICAgIGlucHV0Lm1heCA9IG1heDsKLSAgICBpZiAoc3RlcCkKLSAgICAgICAg
aW5wdXQuc3RlcCA9IHN0ZXA7Ci0gICAgaWYgKHZhbHVlKQotICAgICAgICBpbnB1dC52YWx1ZSA9
IHZhbHVlOwotICAgIHJldHVybiBpbnB1dDsKLX0KLQotLy8gRklYTUU6IFJlbmFtZSB0aGlzIGZ1
bmN0aW9uIGFuZCB0aGUgdGVzdCBmaWxlLgotZnVuY3Rpb24gaXNSZWFkT25seUZpZWxkKGlucHV0
LCBwc2V1ZG8pIHsKLSAgICB2YXIgbm9kZSA9IGludGVybmFscy55b3VuZ2VzdFNoYWRvd1Jvb3Qo
aW5wdXQpLnF1ZXJ5U2VsZWN0b3IoJypbcHNldWRvPSInICsgcHNldWRvICsgJyJdJyk7Ci0gICAg
aWYgKCFub2RlKQotICAgICAgICB0ZXN0RmFpbGVkKCdSZXF1ZXN0ZWQgbm9kZSBpcyBtaXNzaW5n
LicpOwotICAgIHJldHVybiBub2RlICYmIG5vZGUuaGFzQXR0cmlidXRlKCdkaXNhYmxlZCcpOwot
fQotCi12YXIgcHNldWRvTWludXRlID0gJy13ZWJraXQtZGF0ZXRpbWUtZWRpdC1taW51dGUtZmll
bGQnOwotdmFyIHBzZXVkb0hvdXIgPSAnLXdlYmtpdC1kYXRldGltZS1lZGl0LWhvdXItZmllbGQn
OwotdmFyIHBzZXVkb0FNUE0gPSAnLXdlYmtpdC1kYXRldGltZS1lZGl0LWFtcG0tZmllbGQnOwot
dmFyIHN0ZXAxZGF5ID0gJzg2NDAwJzsKLXZhciBzdGVwMW1pbiA9ICc2MCc7Ci0KLWRlc2NyaXB0
aW9uKCdTdWItZmllbGRzIGluIGlucHV0W3R5cGU9ZGF0ZXRpbWUtbG9jYWxdIHNob3VsZCBiZSBy
ZWFkLW9ubHkgaW4gc29tZSBjYXNlcy4gVGhpcyByZXF1aXJlcyB3aW5kb3cuaW50ZXJuYWxzLicp
OwotZGVidWcoJ2NyZWF0ZUlucHV0IGFyZ3VtZW50IG9yZGVyOiBtaW4sIG1heCwgc3RlcCwgdmFs
dWUnKTsKLWRlYnVnKCcnKTsKLQotZGVidWcoJ0hvdXIgZmllbGQ6Jyk7Ci1zaG91bGRCZVRydWUo
J2lzUmVhZE9ubHlGaWVsZChjcmVhdGVJbnB1dCgiMjAxMy0wMS0xNlQxMTowMCIsICIiLCBzdGVw
MWRheSwgIiIpLCBwc2V1ZG9Ib3VyKScpOwotc2hvdWxkQmVUcnVlKCdpc1JlYWRPbmx5RmllbGQo
Y3JlYXRlSW5wdXQoIjIwMTMtMDEtMTZUMTE6MDAiLCAiIiwgc3RlcDFkYXksICIiKSwgcHNldWRv
QU1QTSknKTsKLXNob3VsZEJlVHJ1ZSgnaXNSZWFkT25seUZpZWxkKGNyZWF0ZUlucHV0KCIyMDEz
LTAxLTE2VDExOjAwIiwgIiIsIHN0ZXAxZGF5LCAiIiksIHBzZXVkb01pbnV0ZSknKTsKLQotc2hv
dWxkQmVUcnVlKCdpc1JlYWRPbmx5RmllbGQoY3JlYXRlSW5wdXQoIjIwMTMtMDEtMTZUMTE6MzAi
LCAiIiwgc3RlcDFkYXksICIyMDEzLTAxLTE2VDExOjMwIiksIHBzZXVkb0hvdXIpJyk7Ci1zaG91
bGRCZVRydWUoJ2lzUmVhZE9ubHlGaWVsZChjcmVhdGVJbnB1dCgiMjAxMy0wMS0xNlQxMTozMCIs
ICIiLCBzdGVwMWRheSwgIjIwMTMtMDEtMTZUMTE6MzAiKSwgcHNldWRvQU1QTSknKTsKLXNob3Vs
ZEJlVHJ1ZSgnaXNSZWFkT25seUZpZWxkKGNyZWF0ZUlucHV0KCIyMDEzLTAxLTE2VDExOjMwIiwg
IiIsIHN0ZXAxZGF5LCAiMjAxMy0wMS0xNlQxMTozMCIpLCBwc2V1ZG9NaW51dGUpJyk7Ci0KLXNo
b3VsZEJlRmFsc2UoJ2lzUmVhZE9ubHlGaWVsZChjcmVhdGVJbnB1dCgiMjAxMy0wMS0xNlQxMToz
MCIsICIiLCBzdGVwMWRheSwgIjIwMTMtMDEtMTZUMTI6MzAiKSwgcHNldWRvSG91ciknKTsKLXNo
b3VsZEJlRmFsc2UoJ2lzUmVhZE9ubHlGaWVsZChjcmVhdGVJbnB1dCgiMjAxMy0wMS0xNlQxMToz
MCIsICIiLCBzdGVwMWRheSwgIjIwMTMtMDEtMTZUMTI6MzAiKSwgcHNldWRvQU1QTSknKTsKLXNo
b3VsZEJlVHJ1ZSgnaXNSZWFkT25seUZpZWxkKGNyZWF0ZUlucHV0KCIyMDEzLTAxLTE2VDExOjMw
IiwgIiIsIHN0ZXAxZGF5LCAiMjAxMy0wMS0xNlQxMjozMCIpLCBwc2V1ZG9NaW51dGUpJyk7Ci0K
LXNob3VsZEJlRmFsc2UoJ2lzUmVhZE9ubHlGaWVsZChjcmVhdGVJbnB1dCgiMjAxMy0wMS0xNlQw
MDowMCIsICIiLCBzdGVwMWRheSwgIjIwMTMtMDEtMTZUMTI6MzAiKSwgcHNldWRvSG91ciknKTsK
LXNob3VsZEJlRmFsc2UoJ2lzUmVhZE9ubHlGaWVsZChjcmVhdGVJbnB1dCgiMjAxMy0wMS0xNlQw
MDowMCIsICIiLCBzdGVwMWRheSwgIjIwMTMtMDEtMTZUMTI6MzAiKSwgcHNldWRvQU1QTSknKTsK
LXNob3VsZEJlRmFsc2UoJ2lzUmVhZE9ubHlGaWVsZChjcmVhdGVJbnB1dCgiMjAxMy0wMS0xNlQw
MDowMCIsICIiLCBzdGVwMWRheSwgIjIwMTMtMDEtMTZUMTI6MzAiKSwgcHNldWRvTWludXRlKScp
OwotCi1zaG91bGRCZUZhbHNlKCdpc1JlYWRPbmx5RmllbGQoY3JlYXRlSW5wdXQoIjIwMTMtMDEt
MTZUMTE6MDAiLCAiMjAxMy0wMS0xNlQyMzowMCIsIHN0ZXAxZGF5LCAiIiksIHBzZXVkb0hvdXIp
Jyk7Ci1zaG91bGRCZUZhbHNlKCdpc1JlYWRPbmx5RmllbGQoY3JlYXRlSW5wdXQoIjIwMTMtMDEt
MTZUMTE6MDAiLCAiMjAxMy0wMS0xNlQyMzowMCIsIHN0ZXAxZGF5LCAiIiksIHBzZXVkb0FNUE0p
Jyk7Ci1zaG91bGRCZVRydWUoJ2lzUmVhZE9ubHlGaWVsZChjcmVhdGVJbnB1dCgiMjAxMy0wMS0x
NlQxMTowMCIsICIyMDEzLTAxLTE2VDIzOjAwIiwgc3RlcDFkYXksICIiKSwgcHNldWRvTWludXRl
KScpOwotCi1zaG91bGRCZUZhbHNlKCdpc1JlYWRPbmx5RmllbGQoY3JlYXRlSW5wdXQoIjIwMTMt
MDEtMTZUMTE6MzAiLCAiMjAxMy0wMS0xNlQyMzowMCIsIHN0ZXAxZGF5LCAiMjAxMy0wMS0xNlQx
MTozMCIpLCBwc2V1ZG9Ib3VyKScpOwotc2hvdWxkQmVGYWxzZSgnaXNSZWFkT25seUZpZWxkKGNy
ZWF0ZUlucHV0KCIyMDEzLTAxLTE2VDExOjMwIiwgIjIwMTMtMDEtMTZUMjM6MDAiLCBzdGVwMWRh
eSwgIjIwMTMtMDEtMTZUMTE6MzAiKSwgcHNldWRvQU1QTSknKTsKLXNob3VsZEJlVHJ1ZSgnaXNS
ZWFkT25seUZpZWxkKGNyZWF0ZUlucHV0KCIyMDEzLTAxLTE2VDExOjMwIiwgIjIwMTMtMDEtMTZU
MjM6MDAiLCBzdGVwMWRheSwgIjIwMTMtMDEtMTZUMTE6MzAiKSwgcHNldWRvTWludXRlKScpOwot
Ci1zaG91bGRCZUZhbHNlKCdpc1JlYWRPbmx5RmllbGQoY3JlYXRlSW5wdXQoIjIwMTMtMDEtMTZU
MTE6MzAiLCAiMjAxMy0wMS0xNlQxMTo1OSIsIHN0ZXAxZGF5LCAiMjAxMy0wMS0xNlQxMTozMCIp
LCBwc2V1ZG9Ib3VyKScpOwotc2hvdWxkQmVUcnVlKCdpc1JlYWRPbmx5RmllbGQoY3JlYXRlSW5w
dXQoIjIwMTMtMDEtMTZUMTE6MzAiLCAiMjAxMy0wMS0xNlQxMTo1OSIsIHN0ZXAxZGF5LCAiMjAx
My0wMS0xNlQxMTozMCIpLCBwc2V1ZG9BTVBNKScpOwotc2hvdWxkQmVUcnVlKCdpc1JlYWRPbmx5
RmllbGQoY3JlYXRlSW5wdXQoIjIwMTMtMDEtMTZUMTE6MzAiLCAiMjAxMy0wMS0xNlQxMTo1OSIs
IHN0ZXAxZGF5LCAiMjAxMy0wMS0xNlQxMTozMCIpLCBwc2V1ZG9NaW51dGUpJyk7Ci0KLXNob3Vs
ZEJlVHJ1ZSgnaXNSZWFkT25seUZpZWxkKGNyZWF0ZUlucHV0KCIyMDEzLTAxLTE2VDExOjMwIiwg
IjIwMTMtMDEtMTZUMTE6NTkiLCBzdGVwMW1pbiwgIiIpLCBwc2V1ZG9Ib3VyKScpOwotc2hvdWxk
QmVUcnVlKCdpc1JlYWRPbmx5RmllbGQoY3JlYXRlSW5wdXQoIjIwMTMtMDEtMTZUMTE6MzAiLCAi
MjAxMy0wMS0xNlQxMTo1OSIsIHN0ZXAxbWluLCAiIiksIHBzZXVkb0FNUE0pJyk7Ci1zaG91bGRC
ZUZhbHNlKCdpc1JlYWRPbmx5RmllbGQoY3JlYXRlSW5wdXQoIjIwMTMtMDEtMTZUMTE6MzAiLCAi
MjAxMy0wMS0xNlQxMTo1OSIsIHN0ZXAxbWluLCAiIiksIHBzZXVkb01pbnV0ZSknKTsKLQotZGVi
dWcoJ0FNL1BNIGZpZWxkOicpOwotc2hvdWxkQmVUcnVlKCdpc1JlYWRPbmx5RmllbGQoY3JlYXRl
SW5wdXQoIjIwMTMtMDEtMTZUMDg6MDAiLCAiMjAxMy0wMS0xNlQxMTowMCIsIHN0ZXAxbWluLCAi
IiksIHBzZXVkb0FNUE0pJyk7Ci1zaG91bGRCZUZhbHNlKCdpc1JlYWRPbmx5RmllbGQoY3JlYXRl
SW5wdXQoIjIwMTMtMDEtMTZUMDg6MDAiLCAiMjAxMy0wMS0xN1QxMTowMCIsIHN0ZXAxbWluLCAi
IiksIHBzZXVkb0FNUE0pJyk7Ci0KLTwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii4uLy4uL2pzL3Jl
c291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgotPC9ib2R5PgotCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2RhdGV0aW1lbG9jYWwtbXVsdGlwbGUtZmllbGRzL2Rh
dGV0aW1lbG9jYWwtbXVsdGlwbGUtZmllbGRzLXJlc2V0LXZhbHVlLWFmdGVyLXJlbG9hZHMtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9kYXRldGltZWxvY2FsLW11bHRpcGxl
LWZpZWxkcy9kYXRldGltZWxvY2FsLW11bHRpcGxlLWZpZWxkcy1yZXNldC12YWx1ZS1hZnRlci1y
ZWxvYWRzLWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYWMxYzEx
YzYwYjlhZDEzMjc5ZGQyZGJmY2Q3MTI2YzdmMzU1YTBjNC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2RhdGV0aW1l
bG9jYWwtbXVsdGlwbGUtZmllbGRzL2RhdGV0aW1lbG9jYWwtbXVsdGlwbGUtZmllbGRzLXJlc2V0
LXZhbHVlLWFmdGVyLXJlbG9hZHMtZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEsMTUg
KzAsMCBAQAotQ2hlY2tzIHJlbG9hZGluZyBwYWdlIHJlc2V0cyBpbnB1dCB2YWx1ZXMKLQotT24g
c3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93
ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgotCi0KLUluaXRpYWwgdmFsdWVzOgotUEFTUyB0ZXN0SW5w
dXQxLnZhbHVlIGlzICIiCi1QQVNTIHRlc3RJbnB1dDIudmFsdWUgaXMgIjEyMzQtMDUtMDZUMDc6
MDgiCi1SZWxvYWRlZCB2YWx1ZXM6Ci1QQVNTIHRlc3RJbnB1dDEudmFsdWUgaXMgIiIKLVBBU1Mg
dGVzdElucHV0Mi52YWx1ZSBpcyAiMTIzNC0wNS0wNlQwNzowOCIKLVBBU1Mgc3VjY2Vzc2Z1bGx5
UGFyc2VkIGlzIHRydWUKLQotVEVTVCBDT01QTEVURQotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9mYXN0L2Zvcm1zL2RhdGV0aW1lbG9jYWwtbXVsdGlwbGUtZmllbGRzL2RhdGV0aW1lbG9jYWwt
bXVsdGlwbGUtZmllbGRzLXJlc2V0LXZhbHVlLWFmdGVyLXJlbG9hZHMuaHRtbCBiL0xheW91dFRl
c3RzL2Zhc3QvZm9ybXMvZGF0ZXRpbWVsb2NhbC1tdWx0aXBsZS1maWVsZHMvZGF0ZXRpbWVsb2Nh
bC1tdWx0aXBsZS1maWVsZHMtcmVzZXQtdmFsdWUtYWZ0ZXItcmVsb2Fkcy5odG1sCmRlbGV0ZWQg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCBhZTk1MjY4Y2RhZDg1NTU0YTU5MzVkZDk5ZGMxMzMyMmU2
MGIwMjNmLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xh
eW91dFRlc3RzL2Zhc3QvZm9ybXMvZGF0ZXRpbWVsb2NhbC1tdWx0aXBsZS1maWVsZHMvZGF0ZXRp
bWVsb2NhbC1tdWx0aXBsZS1maWVsZHMtcmVzZXQtdmFsdWUtYWZ0ZXItcmVsb2Fkcy5odG1sCisr
KyAvZGV2L251bGwKQEAgLTEsNDIgKzAsMCBAQAotPCFET0NUWVBFIGh0bWw+Ci08aHRtbD4KLTxo
ZWFkPgotPHNjcmlwdCBzcmM9Ii4uLy4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJl
LmpzIj48L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5IG9ubG9hZD0icnVuQm9keUxvYWRlZCgpIj4K
LTxpZnJhbWUgaWQ9aWZyYW1lIHNyY2RvYz0iPGlucHV0IHR5cGU9ZGF0ZXRpbWUtbG9jYWwgaWQ9
J3Rlc3QxJz48aW5wdXQgdHlwZT0nZGF0ZXRpbWUtbG9jYWwnIGlkPSd0ZXN0MicgdmFsdWU9JzEy
MzQtMDUtMDZUMDc6MDgnPiI+PC9pZnJhbWU+Ci08c2NyaXB0PgotZGVzY3JpcHRpb24oJ0NoZWNr
cyByZWxvYWRpbmcgcGFnZSByZXNldHMgaW5wdXQgdmFsdWVzJyk7Ci13aW5kb3cuanNUZXN0SXNB
c3luYyA9IHRydWU7Ci0KLXZhciBpZnJhbWUgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnaWZy
YW1lJyk7Ci12YXIgdGVzdElucHV0MTsKLXZhciB0ZXN0SW5wdXQyOwotCi1mdW5jdGlvbiBydW5C
b2R5TG9hZGVkKCkKLXsKLSAgICB0ZXN0SW5wdXQxID0gaWZyYW1lLmNvbnRlbnREb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgndGVzdDEnKTsKLSAgICB0ZXN0SW5wdXQyID0gaWZyYW1lLmNvbnRlbnRE
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgndGVzdDInKTsKLSAgICBkZWJ1ZygnSW5pdGlhbCB2YWx1
ZXM6Jyk7Ci0gICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCd0ZXN0SW5wdXQxLnZhbHVlJywgJycp
OwotICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygndGVzdElucHV0Mi52YWx1ZScsICcxMjM0LTA1
LTA2VDA3OjA4Jyk7Ci0gICAgdGVzdElucHV0MS52YWx1ZSA9ICcyMDEyLTEwLTAxVDA2OjAwJzsK
LSAgICB0ZXN0SW5wdXQyLnZhbHVlID0gJzIwMTItMTEtMDFUMTg6MDAnOwotICAgIGlmcmFtZS5h
ZGRFdmVudExpc3RlbmVyKCdsb2FkJywgcGFyZW50LnJ1bk9uSUZyYW1lTG9hZCk7Ci0gICAgaWZy
YW1lLmNvbnRlbnRXaW5kb3cubG9jYXRpb24ucmVsb2FkKCk7Ci19Ci0KLWZ1bmN0aW9uIHJ1bk9u
SUZyYW1lTG9hZCgpCi17Ci0gICAgdGVzdElucHV0MSA9IGlmcmFtZS5jb250ZW50RG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoJ3Rlc3QxJyk7Ci0gICAgdGVzdElucHV0MiA9IGlmcmFtZS5jb250ZW50
RG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3Rlc3QyJyk7Ci0gICAgZGVidWcoJ1JlbG9hZGVkIHZh
bHVlczonKTsKLSAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ3Rlc3RJbnB1dDEudmFsdWUnLCAn
Jyk7Ci0gICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCd0ZXN0SW5wdXQyLnZhbHVlJywgJzEyMzQt
MDUtMDZUMDc6MDgnKTsKLSAgICBpZnJhbWUucGFyZW50Tm9kZS5yZW1vdmVDaGlsZChpZnJhbWUp
OwotICAgIGZpbmlzaEpTVGVzdCgpOwotfQotPC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4v
Li4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KLTwvYm9keT4K
LTwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvZGF0ZXRpbWVsb2Nh
bC1tdWx0aXBsZS1maWVsZHMvZGF0ZXRpbWVsb2NhbC1tdWx0aXBsZS1maWVsZHMtc3BpbmJ1dHRv
bi1jaGFuZ2UtYW5kLWlucHV0LWV2ZW50cy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0
L2Zvcm1zL2RhdGV0aW1lbG9jYWwtbXVsdGlwbGUtZmllbGRzL2RhdGV0aW1lbG9jYWwtbXVsdGlw
bGUtZmllbGRzLXNwaW5idXR0b24tY2hhbmdlLWFuZC1pbnB1dC1ldmVudHMtZXhwZWN0ZWQudHh0
CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAyNDBmNjc3ZThkMGVjZmExYjMyZjE2MjAy
OGRiNjYwOWYyZmNhNmFmLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvZGF0ZXRpbWVsb2NhbC1tdWx0aXBsZS1maWVs
ZHMvZGF0ZXRpbWVsb2NhbC1tdWx0aXBsZS1maWVsZHMtc3BpbmJ1dHRvbi1jaGFuZ2UtYW5kLWlu
cHV0LWV2ZW50cy1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSwxOSArMCwwIEBACi1U
ZXN0IGZvciBldmVudCBkaXNwYXRjaGluZyBieSBzcGluIGJ1dHRvbnMgaW4gYSB0eXBlPWRhdGV0
aW1lLWxvY2FsIGlucHV0LgotCi1PbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2Yg
IlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCi0KLQotSW5pdGlh
bCBzdGF0ZQotUEFTUyBjaGFuZ2VFdmVudENvdW50ZXIgaXMgMAotUEFTUyBpbnB1dEV2ZW50Q291
bnRlciBpcyAwCi1DbGljayB0aGUgdXBwZXIgYnV0dG9uCi1QQVNTIHRlc3RJbnB1dC52YWx1ZSBp
cyAiMjAxMi0xMS0wMVQwMDowMCIKLVBBU1MgY2hhbmdlRXZlbnRDb3VudGVyIGlzIDEKLVBBU1Mg
aW5wdXRFdmVudENvdW50ZXIgaXMgMQotRm9jdXMgb24gYW5vdGhlciBmaWVsZAotUEFTUyBjaGFu
Z2VFdmVudENvdW50ZXIgaXMgMQotUEFTUyBpbnB1dEV2ZW50Q291bnRlciBpcyAxCi1QQVNTIHN1
Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCi0KLVRFU1QgQ09NUExFVEUKLQpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9kYXRldGltZWxvY2FsLW11bHRpcGxlLWZpZWxkcy9kYXRl
dGltZWxvY2FsLW11bHRpcGxlLWZpZWxkcy1zcGluYnV0dG9uLWNoYW5nZS1hbmQtaW5wdXQtZXZl
bnRzLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2RhdGV0aW1lbG9jYWwtbXVsdGlwbGUt
ZmllbGRzL2RhdGV0aW1lbG9jYWwtbXVsdGlwbGUtZmllbGRzLXNwaW5idXR0b24tY2hhbmdlLWFu
ZC1pbnB1dC1ldmVudHMuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYjAxN2Q4
Yjg4ODYzZDIyNWZhMTYwNzA4NjM2YWRiYzk1ZWQzYjVmYi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2RhdGV0aW1l
bG9jYWwtbXVsdGlwbGUtZmllbGRzL2RhdGV0aW1lbG9jYWwtbXVsdGlwbGUtZmllbGRzLXNwaW5i
dXR0b24tY2hhbmdlLWFuZC1pbnB1dC1ldmVudHMuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDE0
ICswLDAgQEAKLTwhRE9DVFlQRSBodG1sPgotPGh0bWw+Ci08aGVhZD4KLTxzY3JpcHQgc3JjPSIu
Li8uLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Ci08c2Ny
aXB0IHNyYz0iLi4vcmVzb3VyY2VzL2NvbW1vbi5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0i
Li4vcmVzb3VyY2VzL2NvbW1vbi1zcGluYnV0dG9uLWNoYW5nZS1hbmQtaW5wdXQtZXZlbnRzLmpz
Ij48L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5PgotPHNjcmlwdD4KLXRlc3RTcGluQnV0dG9uQ2hh
bmdlQW5kSW5wdXRFdmVudHMoJ2RhdGV0aW1lLWxvY2FsJywgJzIwMTItMTAtMDFUMDA6MDAnLCAn
MjAxMi0xMS0wMVQwMDowMCcpOwotPC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vLi4vZmFz
dC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KLTwvYm9keT4KLTwvaHRt
bD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvZGF0ZXRpbWVsb2NhbC1tdWx0
aXBsZS1maWVsZHMvZGF0ZXRpbWVsb2NhbC1tdWx0aXBsZS1maWVsZHMtc3RlcHVwLXN0ZXBkb3du
LWZyb20tcmVuZGVyZXItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9kYXRl
dGltZWxvY2FsLW11bHRpcGxlLWZpZWxkcy9kYXRldGltZWxvY2FsLW11bHRpcGxlLWZpZWxkcy1z
dGVwdXAtc3RlcGRvd24tZnJvbS1yZW5kZXJlci1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IGFmMGUwMzAyZDllZGI3OTg0Nzg4ZDZlMDAzMGZhNWM0NDA2MmI0NzYu
LjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVz
dHMvZmFzdC9mb3Jtcy9kYXRldGltZWxvY2FsLW11bHRpcGxlLWZpZWxkcy9kYXRldGltZWxvY2Fs
LW11bHRpcGxlLWZpZWxkcy1zdGVwdXAtc3RlcGRvd24tZnJvbS1yZW5kZXJlci1leHBlY3RlZC50
eHQKKysrIC9kZXYvbnVsbApAQCAtMSwxNiArMCwwIEBACi1DaGVjayBzdGVwcGluZy11cCBhbmQg
LWRvd24gZm9yIGRhdGV0aW1lLWxvY2FsIGlucHV0IGZpZWxkcyBmcm9tIHJlbmRlcmVyLgotCi1P
biBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xs
b3dlZCBieSAiVEVTVCBDT01QTEVURSIuCi0KLQotRnVuY3Rpb24gYXJndW1lbnRzIGFyZSAodmFs
dWUsIHN0ZXAsIG1pbiwgbWF4LCBba2V5U2VxdWVuY2VdKS4KLVRoZSBob3VyIGZpZWxkIHJlc3Bl
Y3RzIG1pbi9tYXggYXR0cmlidXRlcyB3aGVuIHRoZXkgaGF2ZSB0aGUgc2FtZSBkYXRlLgotUEFT
UyBzdGVwVXAoIjIwMTMtMDEtMTZUMTc6MDAiLCAxLCAiMjAxMy0wMS0xNlQxNTowMCIsICIyMDEz
LTAxLTE2VDE3OjAwIikgaXMgIjIwMTMtMDEtMTZUMTU6MDAiCi1QQVNTIHN0ZXBEb3duKCIyMDEz
LTAxLTE2VDE1OjAwIiwgMSwgIjIwMTMtMDEtMTZUMTU6MDAiLCAiMjAxMy0wMS0xNlQxNzowMCIp
IGlzICIyMDEzLTAxLTE2VDE3OjAwIgotUEFTUyBzdGVwVXAoIjIwMTMtMDEtMTZUMTc6MDAiLCAx
LCAiMjAxMy0wMS0xNlQxNTowMCIsICIyMDEzLTAxLTE3VDE3OjAwIikgaXMgIjIwMTMtMDEtMTZU
MTg6MDAiCi1QQVNTIHN0ZXBEb3duKCIyMDEzLTAxLTE2VDE3OjAwIiwgMSwgIjIwMTMtMDEtMTZU
MTc6MDAiLCAiMjAxMy0wMS0xN1QyMDowMCIpIGlzICIyMDEzLTAxLTE2VDE2OjAwIgotCi1QQVNT
IHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCi0KLVRFU1QgQ09NUExFVEUKLQpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9kYXRldGltZWxvY2FsLW11bHRpcGxlLWZpZWxkcy9k
YXRldGltZWxvY2FsLW11bHRpcGxlLWZpZWxkcy1zdGVwdXAtc3RlcGRvd24tZnJvbS1yZW5kZXJl
ci5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9kYXRldGltZWxvY2FsLW11bHRpcGxlLWZp
ZWxkcy9kYXRldGltZWxvY2FsLW11bHRpcGxlLWZpZWxkcy1zdGVwdXAtc3RlcGRvd24tZnJvbS1y
ZW5kZXJlci5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAxMzdmY2Y3ZDM5Yjcz
YjliMzdlZWYxZTYyYWVkOGViZTU3ZjU1ZGFkLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvZGF0ZXRpbWVsb2NhbC1t
dWx0aXBsZS1maWVsZHMvZGF0ZXRpbWVsb2NhbC1tdWx0aXBsZS1maWVsZHMtc3RlcHVwLXN0ZXBk
b3duLWZyb20tcmVuZGVyZXIuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDYxICswLDAgQEAKLTwh
RE9DVFlQRSBodG1sPgotPGh0bWw+Ci08aGVhZD4KLTxzY3JpcHQgc3JjPSIuLi8uLi9qcy9yZXNv
dXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNl
cy9jb21tb24uanMiPjwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHk+Ci08c2NyaXB0PgotZGVzY3Jp
cHRpb24oJ0NoZWNrIHN0ZXBwaW5nLXVwIGFuZCAtZG93biBmb3IgZGF0ZXRpbWUtbG9jYWwgaW5w
dXQgZmllbGRzIGZyb20gcmVuZGVyZXIuJyk7Ci0KLXZhciBpbnB1dCA9IGRvY3VtZW50LmNyZWF0
ZUVsZW1lbnQoJ2lucHV0Jyk7Ci0KLWRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoaW5wdXQpOwot
Ci1mdW5jdGlvbiBrZXlEb3duKGtleSwgbW9kaWZpZXJzKQotewotICAgIGlmICghd2luZG93LmV2
ZW50U2VuZGVyKQotICAgICAgICByZXR1cm47Ci0gICAgZXZlbnRTZW5kZXIua2V5RG93bihrZXks
IG1vZGlmaWVycyk7Ci19Ci0KLWZ1bmN0aW9uIHNldElucHV0QXR0cmlidXRlcyh2YWx1ZSwgbWlu
LCBtYXgsIHN0ZXApIHsKLSAgICBpbnB1dC52YWx1ZSA9IHZhbHVlOwotICAgIGlucHV0Lm1pbiA9
IG1pbjsKLSAgICBpbnB1dC5tYXggPSBtYXg7Ci0gICAgaW5wdXQuc3RlcCA9IHN0ZXA7Ci19Ci0K
LWZ1bmN0aW9uIHRlc3QodmFsdWUsIHN0ZXAsIG1pbiwgbWF4LCBrZXlTZXF1ZW5jZSkgewotICAg
IHNldElucHV0QXR0cmlidXRlcyh2YWx1ZSwgbWluLCBtYXgsIHN0ZXApOwotICAgIGZvciAodmFy
IGkgPSAwOyBpIDwga2V5U2VxdWVuY2UubGVuZ3RoOyBpKyspCi0gICAgICAgIGtleURvd24oa2V5
U2VxdWVuY2VbaV0pOwotICAgIHJldHVybiBpbnB1dC52YWx1ZTsKLX0KLQotZnVuY3Rpb24gc3Rl
cFVwKHZhbHVlLCBzdGVwLCBtaW4sIG1heCkgewotICAgIHJldHVybiB0ZXN0KHZhbHVlLCBzdGVw
LCBtaW4sIG1heCwgWyd1cEFycm93J10pOwotfQotCi1mdW5jdGlvbiBzdGVwRG93bih2YWx1ZSwg
c3RlcCwgbWluLCBtYXgpIHsKLSAgICByZXR1cm4gdGVzdCh2YWx1ZSwgc3RlcCwgbWluLCBtYXgs
IFsnZG93bkFycm93J10pOwotfQotCi1pbnB1dC50eXBlID0gJ2RhdGV0aW1lLWxvY2FsJzsKLWlu
cHV0LmZvY3VzKCk7Ci1kZWJ1ZygnRnVuY3Rpb24gYXJndW1lbnRzIGFyZSAodmFsdWUsIHN0ZXAs
IG1pbiwgbWF4LCBba2V5U2VxdWVuY2VdKS4nKTsKLWRlYnVnKCdUaGUgaG91ciBmaWVsZCByZXNw
ZWN0cyBtaW4vbWF4IGF0dHJpYnV0ZXMgd2hlbiB0aGV5IGhhdmUgdGhlIHNhbWUgZGF0ZS4nKTsK
LWtleURvd24oJ3JpZ2h0QXJyb3cnKTsKLWtleURvd24oJ3JpZ2h0QXJyb3cnKTsKLWtleURvd24o
J3JpZ2h0QXJyb3cnKTsKLXNob3VsZEJlRXF1YWxUb1N0cmluZygnc3RlcFVwKCIyMDEzLTAxLTE2
VDE3OjAwIiwgMSwgIjIwMTMtMDEtMTZUMTU6MDAiLCAiMjAxMy0wMS0xNlQxNzowMCIpJywgJzIw
MTMtMDEtMTZUMTU6MDAnKTsKLXNob3VsZEJlRXF1YWxUb1N0cmluZygnc3RlcERvd24oIjIwMTMt
MDEtMTZUMTU6MDAiLCAxLCAiMjAxMy0wMS0xNlQxNTowMCIsICIyMDEzLTAxLTE2VDE3OjAwIikn
LCAnMjAxMy0wMS0xNlQxNzowMCcpOwotc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdzdGVwVXAoIjIw
MTMtMDEtMTZUMTc6MDAiLCAxLCAiMjAxMy0wMS0xNlQxNTowMCIsICIyMDEzLTAxLTE3VDE3OjAw
IiknLCAnMjAxMy0wMS0xNlQxODowMCcpOwotc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdzdGVwRG93
bigiMjAxMy0wMS0xNlQxNzowMCIsIDEsICIyMDEzLTAxLTE2VDE3OjAwIiwgIjIwMTMtMDEtMTdU
MjA6MDAiKScsICcyMDEzLTAxLTE2VDE2OjAwJyk7Ci0KLWRlYnVnKCcnKTsKLWRvY3VtZW50LmJv
ZHkucmVtb3ZlQ2hpbGQoaW5wdXQpOwotPC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vanMv
cmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Ci08L2JvZHk+Ci08L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2RhdGV0aW1lbG9jYWwtbXVsdGlwbGUt
ZmllbGRzL2RhdGV0aW1lbG9jYWwtbXVsdGlwbGUtZmllbGRzLXZhbGlkaXR5LWJhZGlucHV0LWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvZGF0ZXRpbWVsb2NhbC1tdWx0aXBs
ZS1maWVsZHMvZGF0ZXRpbWVsb2NhbC1tdWx0aXBsZS1maWVsZHMtdmFsaWRpdHktYmFkaW5wdXQt
ZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAxNjVmYTQ4ODM0Mjg5
NDRiMGE1Y2ExMDA0M2QyNTE3ZDRlZmZjMGE1Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvZGF0ZXRpbWVsb2NhbC1t
dWx0aXBsZS1maWVsZHMvZGF0ZXRpbWVsb2NhbC1tdWx0aXBsZS1maWVsZHMtdmFsaWRpdHktYmFk
aW5wdXQtZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEsMjAgKzAsMCBAQAotQSBkYXRl
dGltZS1sb2NhbCBpbnB1dCBmaWVsZHMgd2l0aCBhIGJhZCB1c2VyIGlucHV0IHNob3VsZCBtYWtl
IHZhbGlkaXR5LmJhZElucHV0IHRydWUgYW5kIGhhdmUgOmludmFsaWQgc3R5bGUuCi0KLU9uIHN1
Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2Vk
IGJ5ICJURVNUIENPTVBMRVRFIi4KLQotCi1Jbml0aWFsIHN0YXRlLiBUaGUgZWxtZW50IGhhcyBu
byB2YWx1ZS4KLVBBU1MgY29sb3JPZihpbnB1dCkgaXMgbm90IGludmFsaWRTdHlsZUNvbG9yCi1Q
QVNTIGlucHV0LnZhbGlkaXR5LmJhZElucHV0IGlzIGZhbHNlCi1TZXQgYSB2YWx1ZSB0byB0aGUg
Zmlyc3Qgc3ViLWZpZWxkLiBUaGUgZWxlbWVudCBiZWNvbWVzIGJhZElucHV0LgotUEFTUyBjb2xv
ck9mKGlucHV0KSBpcyBpbnZhbGlkU3R5bGVDb2xvcgotUEFTUyBpbnB1dC52YWxpZGl0eS5iYWRJ
bnB1dCBpcyB0cnVlCi1TZXQgYW4gaW52YWxpZCBkYXRlLCAyMDEyLTAyLTMxLgotUEFTUyBpbnB1
dC52YWxpZGl0eS5iYWRJbnB1dCBpcyBmYWxzZQotUEFTUyBpbnB1dC52YWx1ZSBpcyAiIgotUEFT
UyBpbnB1dC52YWxpZGl0eS5iYWRJbnB1dCBpcyB0cnVlCi1QQVNTIGNvbG9yT2YoaW5wdXQpIGlz
IGludmFsaWRTdHlsZUNvbG9yCi1QQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCi0KLVRF
U1QgQ09NUExFVEUKLQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9kYXRldGlt
ZWxvY2FsLW11bHRpcGxlLWZpZWxkcy9kYXRldGltZWxvY2FsLW11bHRpcGxlLWZpZWxkcy12YWxp
ZGl0eS1iYWRpbnB1dC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9kYXRldGltZWxvY2Fs
LW11bHRpcGxlLWZpZWxkcy9kYXRldGltZWxvY2FsLW11bHRpcGxlLWZpZWxkcy12YWxpZGl0eS1i
YWRpbnB1dC5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBjZTQxZmQzOGJlNzQ2
NzI2NGUzY2FjMmNhY2M0MTY2OTM1NTIwYTU3Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvZGF0ZXRpbWVsb2NhbC1t
dWx0aXBsZS1maWVsZHMvZGF0ZXRpbWVsb2NhbC1tdWx0aXBsZS1maWVsZHMtdmFsaWRpdHktYmFk
aW5wdXQuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDE0ICswLDAgQEAKLTwhRE9DVFlQRSBodG1s
PgotPHN0eWxlPgotOmludmFsaWQgewotICAgIGJhY2tncm91bmQtY29sb3I6ICNmZjAwMDA7Ci19
Ci08L3N0eWxlPgotPGJvZHk+Ci08c2NyaXB0IHNyYz0iLi4vLi4vanMvcmVzb3VyY2VzL2pzLXRl
c3QtcHJlLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvbXVsdGlwbGUt
ZmllbGRzLXZhbGlkaXR5LWJhZGlucHV0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQ+Ci10ZXN0QmFk
SW5wdXQoJ2RhdGV0aW1lLWxvY2FsJyk7Ci08L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIuLi8uLi9q
cy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KLTwvYm9keT4KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvZGF0ZXRpbWVsb2NhbC1tdWx0aXBsZS1maWVsZHMv
ZGF0ZXRpbWVsb2NhbC1tdWx0aXBsZS1maWVsZHMtdmFsdWUtc2V0LWVtcHR5LWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvZGF0ZXRpbWVsb2NhbC1tdWx0aXBsZS1maWVsZHMv
ZGF0ZXRpbWVsb2NhbC1tdWx0aXBsZS1maWVsZHMtdmFsdWUtc2V0LWVtcHR5LWV4cGVjdGVkLnR4
dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZDRhZDUzZTFhZmVjNGY0MmU3ZjY4NzUz
ZDEzYzgxYmE1MGVmZjNhZS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2RhdGV0aW1lbG9jYWwtbXVsdGlwbGUtZmll
bGRzL2RhdGV0aW1lbG9jYWwtbXVsdGlwbGUtZmllbGRzLXZhbHVlLXNldC1lbXB0eS1leHBlY3Rl
ZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSwxMiArMCwwIEBACi1DaGVjayBpZiBpbnB1dC52YWx1
ZT0iIiBjbGVhcnMgYW4gaW5wdXQgd2l0aCBwYXJ0aWFsbHktc3BlY2lmaWVkIHZhbHVlLgotCi1P
biBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xs
b3dlZCBieSAiVEVTVCBDT01QTEVURSIuCi0KLQotRW1wdHkgdGV4dDogbW0vZGQveXl5eSAtLTot
LSAtLQotUEFTUyBldmVudFNlbmRlci5rZXlEb3duKCJ1cEFycm93Iik7IGdldFVzZXJBZ2VudFNo
YWRvd1RleHRDb250ZW50KGlucHV0KSBpcyBub3QgZW1wdHlUZXh0Ci1QQVNTIGlucHV0LnZhbHVl
ID0gIiI7IGdldFVzZXJBZ2VudFNoYWRvd1RleHRDb250ZW50KGlucHV0KSBpcyBlbXB0eVRleHQK
LVBBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKLQotVEVTVCBDT01QTEVURQotCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2RhdGV0aW1lbG9jYWwtbXVsdGlwbGUtZmll
bGRzL2RhdGV0aW1lbG9jYWwtbXVsdGlwbGUtZmllbGRzLXZhbHVlLXNldC1lbXB0eS5odG1sIGIv
TGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9kYXRldGltZWxvY2FsLW11bHRpcGxlLWZpZWxkcy9kYXRl
dGltZWxvY2FsLW11bHRpcGxlLWZpZWxkcy12YWx1ZS1zZXQtZW1wdHkuaHRtbApkZWxldGVkIGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggNzEzMjA1YzI5NmUzYWQwMDA2YjMyNmZhYzhkYWRiN2IwNTdi
ZmRkMC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlv
dXRUZXN0cy9mYXN0L2Zvcm1zL2RhdGV0aW1lbG9jYWwtbXVsdGlwbGUtZmllbGRzL2RhdGV0aW1l
bG9jYWwtbXVsdGlwbGUtZmllbGRzLXZhbHVlLXNldC1lbXB0eS5odG1sCisrKyAvZGV2L251bGwK
QEAgLTEsMTAgKzAsMCBAQAotPCFET0NUWVBFIGh0bWw+Ci08Ym9keT4KLTxzY3JpcHQgc3JjPSIu
Li8uLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9
Ii4uL3Jlc291cmNlcy9jb21tb24uanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii4uL3Jlc291
cmNlcy9tdWx0aXBsZS1maWVsZHMtdmFsdWUtc2V0LWVtcHR5LmpzIj48L3NjcmlwdD4KLTxzY3Jp
cHQ+Ci10ZXN0U2V0dGluZ0VtcHR5U3RyaW5nQ2xlYXJzU3ViRmllbGRzKCdkYXRldGltZS1sb2Nh
bCcpOwotPC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vanMvcmVzb3VyY2VzL2pzLXRlc3Qt
cG9zdC5qcyI+PC9zY3JpcHQ+Ci08L2JvZHk+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0
L2Zvcm1zL2RhdGV0aW1lbG9jYWwtbXVsdGlwbGUtZmllbGRzL2RhdGV0aW1lbG9jYWwtbXVsdGlw
bGUtZmllbGRzLXdoZWVsLWV2ZW50LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvZm9y
bXMvZGF0ZXRpbWVsb2NhbC1tdWx0aXBsZS1maWVsZHMvZGF0ZXRpbWVsb2NhbC1tdWx0aXBsZS1m
aWVsZHMtd2hlZWwtZXZlbnQtZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCBmNzEwYjFkMmU3MGUzNGI0NjljNWI1YzE2MWFkOTNhOTE3MjAwZTcxLi4wMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZm9y
bXMvZGF0ZXRpbWVsb2NhbC1tdWx0aXBsZS1maWVsZHMvZGF0ZXRpbWVsb2NhbC1tdWx0aXBsZS1m
aWVsZHMtd2hlZWwtZXZlbnQtZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEsMjMgKzAs
MCBAQAotVGVzdCBmb3Igd2hlZWwgb3BlcmF0aW9ucyBmb3IgPGlucHV0IHR5cGU9ZGF0ZXRpbWUt
bG9jYWw+Ci0KLU9uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVz
c2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KLQotCi1Jbml0aWFsIHZhbHVlIGlz
IDE5OTktMDEtMTNUMDA6MDAuIFdlJ2xsIHdoZWVsIHVwIGJ5IDE6Ci1QQVNTIGlucHV0LnZhbHVl
IGlzICIxOTk5LTAyLTEzVDAwOjAwIgotV2hlZWwgdXAgYnkgMTAwOgotUEFTUyBpbnB1dC52YWx1
ZSBpcyAiMTk5OS0wMy0xM1QwMDowMCIKLVdoZWVsIGRvd24gYnkgMToKLVBBU1MgaW5wdXQudmFs
dWUgaXMgIjE5OTktMDItMTNUMDA6MDAiCi1XaGVlbCBkb3duIGJ5IDI1NjoKLVBBU1MgaW5wdXQu
dmFsdWUgaXMgIjE5OTktMDEtMTNUMDA6MDAiCi1EaXNhYmxlZCBpbnB1dCBlbGVtZW50OgotUEFT
UyBpbnB1dC52YWx1ZSBpcyAiMTk5OS0wMS0xM1QwMDowMCIKLVJlYWQtb25seSBpbnB1dCBlbGVt
ZW50OgotUEFTUyBpbnB1dC52YWx1ZSBpcyAiMTk5OS0wMS0xM1QwMDowMCIKLU5vIGZvY3VzOgot
UEFTUyBpbnB1dC52YWx1ZSBpcyAiMTk5OS0wMS0xM1QwMDowMCIKLVBBU1Mgc3VjY2Vzc2Z1bGx5
UGFyc2VkIGlzIHRydWUKLQotVEVTVCBDT01QTEVURQotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9mYXN0L2Zvcm1zL2RhdGV0aW1lbG9jYWwtbXVsdGlwbGUtZmllbGRzL2RhdGV0aW1lbG9jYWwt
bXVsdGlwbGUtZmllbGRzLXdoZWVsLWV2ZW50Lmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1z
L2RhdGV0aW1lbG9jYWwtbXVsdGlwbGUtZmllbGRzL2RhdGV0aW1lbG9jYWwtbXVsdGlwbGUtZmll
bGRzLXdoZWVsLWV2ZW50Lmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDI0ODI2
ZTJiZDY1NzU2OTUyN2M1ZjA1YjIwOTM3ZTdmMGZhNmMxOTcuLjAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9kYXRldGlt
ZWxvY2FsLW11bHRpcGxlLWZpZWxkcy9kYXRldGltZWxvY2FsLW11bHRpcGxlLWZpZWxkcy13aGVl
bC1ldmVudC5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsMTcgKzAsMCBAQAotPCFET0NUWVBFIGh0
bWw+Ci08aHRtbD4KLTxoZWFkPgotPHNjcmlwdCBzcmM9Ii4uLy4uLy4uL2Zhc3QvanMvcmVzb3Vy
Y2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMv
Y29tbW9uLXdoZWVsLWV2ZW50LmpzIj48L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5PgotPHNjcmlw
dD4KLXRlc3RXaGVlbEV2ZW50KHsKLSAgICAnaW5wdXRUeXBlJyA6ICdkYXRldGltZS1sb2NhbCcs
Ci0gICAgJ2luaXRpYWxWYWx1ZScgOiAnMTk5OS0wMS0xM1QwMDowMCcsCi0gICAgJ3N0ZXBVcFZh
bHVlMScgOiAnMTk5OS0wMi0xM1QwMDowMCcsCi0gICAgJ3N0ZXBVcFZhbHVlMicgOiAnMTk5OS0w
My0xM1QwMDowMCcgfSk7Ci08L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIuLi8uLi8uLi9mYXN0L2pz
L3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgotPC9ib2R5PgotPC9odG1sPgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9kYXRldGltZWxvY2FsLW11bHRpcGxl
LWZpZWxkcy9yZXNvdXJjZXMvcHJlc2VydmUtdmFsdWUtYWZ0ZXItaGlzdG9yeS1iYWNrLWZyYW1l
Lmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2RhdGV0aW1lbG9jYWwtbXVsdGlwbGUtZmll
bGRzL3Jlc291cmNlcy9wcmVzZXJ2ZS12YWx1ZS1hZnRlci1oaXN0b3J5LWJhY2stZnJhbWUuaHRt
bApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYzljYmUwYWViNzFhYWVhMDEwYTZmMDQ1
ZmIxMDkwY2IwZmQ0MmY1MC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2RhdGV0aW1lbG9jYWwtbXVsdGlwbGUtZmll
bGRzL3Jlc291cmNlcy9wcmVzZXJ2ZS12YWx1ZS1hZnRlci1oaXN0b3J5LWJhY2stZnJhbWUuaHRt
bAorKysgL2Rldi9udWxsCkBAIC0xLDExMCArMCwwIEBACi08IURPQ1RZUEUgaHRtbD4KLTxib2R5
PgotPGlucHV0IHR5cGU9ImRhdGV0aW1lLWxvY2FsIiBpZD0idGVzdDEiPgotPGlucHV0IHR5cGU9
ImRhdGV0aW1lLWxvY2FsIiBpZD0idGVzdDIiIG1pbj0iMTk5OS0wMS0wMVQwMDowMCIgbWF4PSIy
MDAwLTEyLTMxVDIzOjU5Ij4KLTxzY3JpcHQ+Ci1mdW5jdGlvbiBmaWVsZHNUZXh0KGlucHV0KSB7
Ci0gICAgcmV0dXJuIHdpbmRvdy5pbnRlcm5hbHMub2xkZXN0U2hhZG93Um9vdChpbnB1dCkudGV4
dENvbnRlbnQ7Ci19Ci0KLWZ1bmN0aW9uIGJhY2sobmV3U3RhdGUpIHsKLSAgICBwYXJlbnQuc3Rh
dGUgPSBuZXdTdGF0ZTsKLSAgICBoaXN0b3J5LmJhY2soKTsKLX0KLQotZnVuY3Rpb24gZm9yd2Fy
ZChuZXdTdGF0ZSkgewotICAgIHBhcmVudC5zdGF0ZSA9IG5ld1N0YXRlOwotICAgIGhpc3Rvcnku
Zm9yd2FyZCgpOwotfQotCi1mdW5jdGlvbiBrZXlEb3duKGtleSkgewotICAgIGV2ZW50U2VuZGVy
LmtleURvd24oa2V5KTsKLX0KLQotdmFyIHRlc3RJbnB1dDEgPSBkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgndGVzdDEnKTsKLXZhciB0ZXN0SW5wdXQyID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
J3Rlc3QyJyk7Ci12YXIgcGFnZU5hbWUgPSBsb2NhdGlvbi5zZWFyY2ggfHwgJz9wYWdlMSc7Ci0K
LXdpbmRvdy5vbmxvYWQgPSBmdW5jdGlvbigpIHsKLSAgICBzd2l0Y2ggKHBhZ2VOYW1lKSB7Ci0g
ICAgY2FzZSAnP3BhZ2UxJzoKLSAgICAgICAgc3dpdGNoIChwYXJlbnQuc3RhdGUpIHsKLSAgICAg
ICAgY2FzZSAnZGlyZWN0JzogewotICAgICAgICAgICAgdGVzdElucHV0MS52YWx1ZSA9ICcxMjAx
Mi0xMC0wOVQwMToyMyc7Ci0gICAgICAgICAgICB0ZXN0SW5wdXQyLmZvY3VzKCk7Ci0gICAgICAg
ICAgICBrZXlEb3duKCd1cEFycm93Jyk7IC8vIC0+IFswMV0vZGQveXl5eSAtLTotLSAtLQotICAg
ICAgICAgICAga2V5RG93bignXHQnKTsgLy8gICAgICAtPiAwMS9bZGRdL3l5eXkgLS06LS0gLS0K
LSAgICAgICAgICAgIGtleURvd24oJ1x0Jyk7IC8vICAgICAgLT4gMDEvZGQvW3l5eXldIC0tOi0t
IC0tCi0gICAgICAgICAgICBrZXlEb3duKCd1cEFycm93Jyk7IC8vIC0+IDAxL2RkL1sxOTk5XSAt
LTotLSAtLQotICAgICAgICAgICAga2V5RG93bignXHQnKTsgLy8gICAgICAtPiAwMS9kZC8xOTk5
IFstLV06LS0gLS0KLSAgICAgICAgICAgIGtleURvd24oJ1x0Jyk7IC8vICAgICAgLT4gMDEvZGQv
MTk5OSAtLTpbLS1dIC0tCi0gICAgICAgICAgICBrZXlEb3duKCd1cEFycm93Jyk7IC8vIC0+IDAx
L2RkLzE5OTkgLS06WzAwXSAtLQotCi0gICAgICAgICAgICB2YXIgbmV4dFVyaSA9IGxvY2F0aW9u
LnRvU3RyaW5nKCkucmVwbGFjZSgnP3BhZ2UxJywgJz9wYWdlMicpOwotICAgICAgICAgICAgc2V0
VGltZW91dChmdW5jdGlvbigpIHsgd2luZG93LmxvY2F0aW9uLmhyZWYgPSBuZXh0VXJpOyB9LCAw
KTsKLSAgICAgICAgICAgIGJyZWFrOwotICAgICAgICB9Ci0gICAgICAgIGNhc2UgJ2JhY2tUbzEn
OgotICAgICAgICAgICAgcGFyZW50LnRlc3RDYXNlcy5wdXNoKAotICAgICAgICAgICAgICAgIHsK
LSAgICAgICAgICAgICAgICAgICAgJ2Rlc2NyaXB0aW9uJyA6ICdXZW50IGJhY2sgdG8gYSBwYWdl
LiBDaGVja2luZyBhIGZvcm0gY29udHJvbCB3aGljaCBoYWQgYSBmdWxsIHZhbHVlJywKLSAgICAg
ICAgICAgICAgICAgICAgJ2FjdHVhbCcgOiB0ZXN0SW5wdXQxLnZhbHVlLAotICAgICAgICAgICAg
ICAgICAgICAnZXhwZWN0ZWQnIDogJzEyMDEyLTEwLTA5VDAxOjIzJyB9LAotICAgICAgICAgICAg
ICAgIHsKLSAgICAgICAgICAgICAgICAgICAgJ2Rlc2NyaXB0aW9uJyA6ICdXZW50IGJhY2sgdG8g
YSBwYWdlLiBDaGVja2luZyBhIGZvcm0gY29udHJvbCB3aGljaCBoYWQgYSBwYXJ0aWFsIHZhbHVl
JywKLSAgICAgICAgICAgICAgICAgICAgJ2FjdHVhbCcgOiBmaWVsZHNUZXh0KHRlc3RJbnB1dDIp
LAotICAgICAgICAgICAgICAgICAgICAnZXhwZWN0ZWQnIDogJzAxL2RkLzE5OTkgLS06MDAgLS0n
Ci0gICAgICAgICAgICAgICAgfSk7Ci0gICAgICAgICAgICBmb3J3YXJkKCdmb3J3YXJkVG8yJyk7
Ci0gICAgICAgICAgICBicmVhazsKLSAgICAgICAgY2FzZSAnYmFja1RvMVNlY29uZCc6Ci0gICAg
ICAgICAgICBwYXJlbnQuZmluaXNoVGVzdCgpOwotICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAg
IGRlZmF1bHQ6Ci0gICAgICAgICAgICBwYXJlbnQuZmFpbGVkKCdVbmV4cGVjdGVkIHN0YXRlKCcg
KyBwYXJlbnQuc3RhdGUgKyAnKScpOwotICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgIH0KLSAg
ICAgICAgYnJlYWs7Ci0KLSAgICBjYXNlICc/cGFnZTInOgotICAgICAgICBzd2l0Y2ggKHBhcmVu
dC5zdGF0ZSkgewotICAgICAgICBjYXNlICdkaXJlY3QnOgotICAgICAgICAgICAgdGVzdElucHV0
MS52YWx1ZSA9ICcwMDAxLTExLTE3VDIzOjU1JzsKLSAgICAgICAgICAgIHRlc3RJbnB1dDIuZm9j
dXMoKTsKLSAgICAgICAgICAgIGtleURvd24oJ1x0Jyk7IC8vICAgICAgICAtPiBtbS9bZGRdL3l5
eXkgLS06LS0gLS0KLSAgICAgICAgICAgIGtleURvd24oJ2Rvd25BcnJvdycpOyAvLyAtPiBtbS9b
MzFdL3l5eXkgLS06LS0gLS0KLSAgICAgICAgICAgIGtleURvd24oJ1x0Jyk7IC8vICAgICAgICAt
PiBtbS8zMS9beXl5eV0gLS06LS0gLS0KLSAgICAgICAgICAgIGtleURvd24oJ1x0Jyk7IC8vICAg
ICAgICAtPiBtbS8zMS95eXl5IFstLV06LS0gLS0KLSAgICAgICAgICAgIGtleURvd24oJ2Rvd25B
cnJvdycpOyAvLyAtPiBtbS8zMS95eXl5IFsxMl06LS0gLS0KLSAgICAgICAgICAgIGtleURvd24o
J1x0Jyk7IC8vICAgICAgICAtPiBtbS8zMS95eXl5IDEyOlstLV0gLS0KLSAgICAgICAgICAgIGtl
eURvd24oJ1x0Jyk7IC8vICAgICAgICAtPiBtbS8zMS95eXl5IDEyOi0tIFstLV0KLSAgICAgICAg
ICAgIGtleURvd24oJ2Rvd25BcnJvdycpOyAvLyAtPiBtbS8zMS95eXl5IDEyOi0tIFtQTV0KLSAg
ICAgICAgICAgIGJhY2soJ2JhY2tUbzEnKTsKLSAgICAgICAgICAgIGJyZWFrOwotICAgICAgICBj
YXNlICdmb3J3YXJkVG8yJzoKLSAgICAgICAgICAgIHBhcmVudC50ZXN0Q2FzZXMucHVzaCgKLSAg
ICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICdkZXNjcmlwdGlvbicgOiAnV2Vu
dCBmb3J3YXJkIHRvIGEgcGFnZS4gQ2hlY2tpbmcgYSBmb3JtIGNvbnRyb2wgd2hpY2ggaGFkIGEg
ZnVsbCB2YWx1ZScsCi0gICAgICAgICAgICAgICAgICAgICdhY3R1YWwnIDogdGVzdElucHV0MS52
YWx1ZSwKLSAgICAgICAgICAgICAgICAgICAgJ2V4cGVjdGVkJyA6ICcwMDAxLTExLTE3VDIzOjU1
JwotICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAg
ICAgICAnZGVzY3JpcHRpb24nIDogJ1dlbnQgZm9yd2FyZCB0byBhIHBhZ2UuIENoZWNraW5nIGEg
Zm9ybSBjb250cm9sIHdoaWNoIGhhZCBhIHBhcnRpYWwgdmFsdWUnLAotICAgICAgICAgICAgICAg
ICAgICAnYWN0dWFsJyA6IGZpZWxkc1RleHQodGVzdElucHV0MiksCi0gICAgICAgICAgICAgICAg
ICAgICdleHBlY3RlZCcgOiAnbW0vMzEveXl5eSAxMjotLSBQTScKLSAgICAgICAgICAgICAgICB9
KTsKLSAgICAgICAgICAgIGJhY2soJ2JhY2tUbzFTZWNvbmQnKTsKLSAgICAgICAgICAgIGJyZWFr
OwotICAgICAgICBkZWZhdWx0OgotICAgICAgICAgICAgcGFyZW50LmZhaWxlZCgnVW5leHBlY3Rl
ZCBzdGF0ZSgnICsgcGFyZW50LnN0YXRlICsgJyknKTsKLSAgICAgICAgICAgIGJyZWFrOwotICAg
ICAgICB9Ci0gICAgICAgIGJyZWFrOwotCi0gICAgZGVmYXVsdDoKLSAgICAgICAgcGFyZW50LmZh
aWxlZCgnVW5leHBlY3RlZCBwYWdlKCcgKyBwYWdlTmFtZSArICcpJyk7Ci0gICAgICAgIGJyZWFr
OwotICAgIH0KLX07Ci08L3NjcmlwdD4KLTwvYm9keT4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2Zhc3QvZm9ybXMvbW9udGgtbXVsdGlwbGUtZmllbGRzL21vbnRoLW11bHRpcGxlLWZpZWxkcy1h
eC1hcmlhLWF0dHJpYnV0ZXMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9t
b250aC1tdWx0aXBsZS1maWVsZHMvbW9udGgtbXVsdGlwbGUtZmllbGRzLWF4LWFyaWEtYXR0cmli
dXRlcy1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDllNTg5Mzlh
MDE2ZjhlZjc3YjFkZWU1NGQyMTkxYWMzNmFhYzM1ODQuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9tb250aC1tdWx0
aXBsZS1maWVsZHMvbW9udGgtbXVsdGlwbGUtZmllbGRzLWF4LWFyaWEtYXR0cmlidXRlcy1leHBl
Y3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSwxNiArMCwwIEBACi1UaGlzIHRlc3QgY2hlY2tz
IGFyaWEtaGVscCBhdHRyaWJ1dGUgb2YgZmllbGRzIGluIG11bHRpcGxlIGZpZWxkcyB3ZWVrIGlu
cHV0IFVJLgotCi1PbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1l
c3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCi0KLQotTm9uLWVtcHR5IHZhbHVl
Ci1QQVNTIGZvY3VzZWRFbGVtZW50RGVzY3JpcHRpb24oKSBpcyAiQVhIZWxwOiBNb250aCwgQVhW
YWx1ZURlc2NyaXB0aW9uOiBPY3RvYmVyLCBpbnRWYWx1ZToxMCwgcmFuZ2U6MS0xMiIKLVBBU1Mg
Zm9jdXNlZEVsZW1lbnREZXNjcmlwdGlvbigpIGlzICJBWEhlbHA6IFllYXIsIEFYVmFsdWVEZXNj
cmlwdGlvbjogMjAxMiwgaW50VmFsdWU6MjAxMiwgcmFuZ2U6MS0yNzU3NjAiCi1FbXB0eSB2YWx1
ZQotUEFTUyBmb2N1c2VkRWxlbWVudERlc2NyaXB0aW9uKCkgaXMgIkFYSGVscDogWWVhciwgQVhW
YWx1ZURlc2NyaXB0aW9uOiBibGFuaywgaW50VmFsdWU6MCwgcmFuZ2U6MS0yNzU3NjAiCi1QQVNT
IGZvY3VzZWRFbGVtZW50RGVzY3JpcHRpb24oKSBpcyAiQVhIZWxwOiBNb250aCwgQVhWYWx1ZURl
c2NyaXB0aW9uOiBibGFuaywgaW50VmFsdWU6MCwgcmFuZ2U6MS0xMiIKLQotUEFTUyBzdWNjZXNz
ZnVsbHlQYXJzZWQgaXMgdHJ1ZQotCi1URVNUIENPTVBMRVRFCi0KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2Zhc3QvZm9ybXMvbW9udGgtbXVsdGlwbGUtZmllbGRzL21vbnRoLW11bHRpcGxlLWZp
ZWxkcy1heC1hcmlhLWF0dHJpYnV0ZXMuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvbW9u
dGgtbXVsdGlwbGUtZmllbGRzL21vbnRoLW11bHRpcGxlLWZpZWxkcy1heC1hcmlhLWF0dHJpYnV0
ZXMuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMzMwY2Y2YmI3MTliZWIyOWJj
NjdiNTRmZTk1OGJkN2ViOTcyZTM2MC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL21vbnRoLW11bHRpcGxlLWZpZWxk
cy9tb250aC1tdWx0aXBsZS1maWVsZHMtYXgtYXJpYS1hdHRyaWJ1dGVzLmh0bWwKKysrIC9kZXYv
bnVsbApAQCAtMSwzNiArMCwwIEBACi08IURPQ1RZUEUgaHRtbD4KLTxodG1sPgotPGhlYWQ+Ci08
c2NyaXB0IHNyYz0iLi4vLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwv
c2NyaXB0PgotPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy9tdWx0aXBsZS1maWVsZHMtYXgtYXJp
YS1hdHRyaWJ1dGVzLmpzIj48L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5PgotPGlucHV0IGlkPSJ0
ZXN0IiB0eXBlPSJtb250aCIgdmFsdWU9IjIwMTItMTAiPgotPHNjcmlwdD4KLWRlc2NyaXB0aW9u
KCdUaGlzIHRlc3QgY2hlY2tzIGFyaWEtaGVscCBhdHRyaWJ1dGUgb2YgZmllbGRzIGluIG11bHRp
cGxlIGZpZWxkcyB3ZWVrIGlucHV0IFVJLicpOwotCi12YXIgdGVzdElucHV0ID0gZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoJ3Rlc3QnKTsKLQotaWYgKCF3aW5kb3cuYWNjZXNzaWJpbGl0eUNvbnRy
b2xsZXIgfHwgIXdpbmRvdy5ldmVudFNlbmRlcikKLSAgICBkZWJ1ZygnUGxlYXNlIHJ1biBpbnNp
ZGUgRFJUIG9yIFdUUi4nKTsKLWVsc2UgewotICAgIGRlYnVnKCdOb24tZW1wdHkgdmFsdWUnKTsK
LSAgICB0ZXN0SW5wdXQuZm9jdXMoKTsKLSAgICBjaGVja0ZvY3VzZWRFbGVtZW50QVhBdHRyaWJ1
dGVzKCdBWEhlbHA6IE1vbnRoLCBBWFZhbHVlRGVzY3JpcHRpb246IE9jdG9iZXIsIGludFZhbHVl
OjEwLCByYW5nZToxLTEyJyk7Ci0gICAgZXZlbnRTZW5kZXIua2V5RG93bignXHQnKTsKLSAgICBj
aGVja0ZvY3VzZWRFbGVtZW50QVhBdHRyaWJ1dGVzKCdBWEhlbHA6IFllYXIsIEFYVmFsdWVEZXNj
cmlwdGlvbjogMjAxMiwgaW50VmFsdWU6MjAxMiwgcmFuZ2U6MS0yNzU3NjAnKTsKLQotICAgIGRl
YnVnKCdFbXB0eSB2YWx1ZScpOwotICAgIGV2ZW50U2VuZGVyLmtleURvd24oJ1xiJyk7Ci0gICAg
Y2hlY2tGb2N1c2VkRWxlbWVudEFYQXR0cmlidXRlcygnQVhIZWxwOiBZZWFyLCBBWFZhbHVlRGVz
Y3JpcHRpb246IGJsYW5rLCBpbnRWYWx1ZTowLCByYW5nZToxLTI3NTc2MCcpOwotICAgIGV2ZW50
U2VuZGVyLmtleURvd24oJ1x0JywgWydzaGlmdEtleSddKTsKLSAgICBldmVudFNlbmRlci5rZXlE
b3duKCdcYicpOwotICAgIGNoZWNrRm9jdXNlZEVsZW1lbnRBWEF0dHJpYnV0ZXMoJ0FYSGVscDog
TW9udGgsIEFYVmFsdWVEZXNjcmlwdGlvbjogYmxhbmssIGludFZhbHVlOjAsIHJhbmdlOjEtMTIn
KTsKLQotICAgIGRlYnVnKCcnKTsKLSAgICB0ZXN0SW5wdXQucmVtb3ZlKCk7Ci19Ci08L3Njcmlw
dD4KLTxzY3JpcHQgc3JjPSIuLi8uLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXBvc3Qu
anMiPjwvc2NyaXB0PgotPC9ib2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZmFzdC9mb3Jtcy9tb250aC1tdWx0aXBsZS1maWVsZHMvbW9udGgtbXVsdGlwbGUtZmllbGRzLWF4
LXZhbHVlLWNoYW5nZWQtbm90aWZpY2F0aW9uLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zh
c3QvZm9ybXMvbW9udGgtbXVsdGlwbGUtZmllbGRzL21vbnRoLW11bHRpcGxlLWZpZWxkcy1heC12
YWx1ZS1jaGFuZ2VkLW5vdGlmaWNhdGlvbi1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IGM4ZTk1YmIxOTM4ZjM1OWIyOTZiY2VhMTJmMzg5YTU1Y2U2ZDQwZTkuLjAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMv
ZmFzdC9mb3Jtcy9tb250aC1tdWx0aXBsZS1maWVsZHMvbW9udGgtbXVsdGlwbGUtZmllbGRzLWF4
LXZhbHVlLWNoYW5nZWQtbm90aWZpY2F0aW9uLWV4cGVjdGVkLnR4dAorKysgL2Rldi9udWxsCkBA
IC0xLDE2ICswLDAgQEAKLVRoaXMgdGVzdCBjaGVja3MgdmFsdWUgY2hhbmdlZCBhY2Nlc3NpYmls
aXR5IG5vdGlmaWNhdGlvbnMuCi0KLU9uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBv
ZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KLQotCi1Gb2N1
c2VkVUlFbGVtZW50Q2hhbmdlZCBBWEhlbHA6IE1vbnRoPUFYVmFsdWVEZXNjcmlwdGlvbjogT2N0
b2JlcgotRm9jdXNlZFVJRWxlbWVudENoYW5nZWQgQVhIZWxwOiBZZWFyPUFYVmFsdWVEZXNjcmlw
dGlvbjogMjAxMgotVmFsdWVDaGFuZ2VkIEFYSGVscDogWWVhcj1BWFZhbHVlRGVzY3JpcHRpb246
IDAwMDUKLVZhbHVlQ2hhbmdlZCBBWEhlbHA6IFllYXI9QVhWYWx1ZURlc2NyaXB0aW9uOiAwMDA1
Ci1WYWx1ZUNoYW5nZWQgQVhIZWxwOiBZZWFyPUFYVmFsdWVEZXNjcmlwdGlvbjogMDAwNQotVmFs
dWVDaGFuZ2VkIEFYSGVscDogWWVhcj1BWFZhbHVlRGVzY3JpcHRpb246IDAwMDUKLQotUEFTUyBz
dWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQotCi1URVNUIENPTVBMRVRFCi0KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvbW9udGgtbXVsdGlwbGUtZmllbGRzL21vbnRoLW11bHRp
cGxlLWZpZWxkcy1heC12YWx1ZS1jaGFuZ2VkLW5vdGlmaWNhdGlvbi5odG1sIGIvTGF5b3V0VGVz
dHMvZmFzdC9mb3Jtcy9tb250aC1tdWx0aXBsZS1maWVsZHMvbW9udGgtbXVsdGlwbGUtZmllbGRz
LWF4LXZhbHVlLWNoYW5nZWQtbm90aWZpY2F0aW9uLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDMzZjhkODYxZGEwMThiYTJmZjI3NTVjM2VkZGRmNDE1NzAzNzJhOWMuLjAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvZmFz
dC9mb3Jtcy9tb250aC1tdWx0aXBsZS1maWVsZHMvbW9udGgtbXVsdGlwbGUtZmllbGRzLWF4LXZh
bHVlLWNoYW5nZWQtbm90aWZpY2F0aW9uLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSwzOCArMCww
IEBACi08IURPQ1RZUEUgaHRtbD4KLTxodG1sPgotPGhlYWQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4v
Li4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgotPC9oZWFkPgot
PGJvZHk+Ci08aW5wdXQgaWQ9InRlc3QiIHR5cGU9Im1vbnRoIiB2YWx1ZT0iMjAxMi0xMCI+Ci08
c2NyaXB0PgotZGVzY3JpcHRpb24oJ1RoaXMgdGVzdCBjaGVja3MgdmFsdWUgY2hhbmdlZCBhY2Nl
c3NpYmlsaXR5IG5vdGlmaWNhdGlvbnMuJyk7Ci0KLXZhciB0ZXN0SW5wdXQgPSBkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgidGVzdCIpOwotCi1pZiAoIXdpbmRvdy5hY2Nlc3NpYmlsaXR5Q29udHJv
bGxlciB8fCAhd2luZG93LmV2ZW50U2VuZGVyKQotICAgIGRlYnVnKCJQbGVhc2UgcnVuIGluc2lk
ZSBEUlQgb3IgV1JULiIpOwotZWxzZSB7Ci0gICAgYWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIuYWRk
Tm90aWZpY2F0aW9uTGlzdGVuZXIoZnVuY3Rpb24gKGVsZW1lbnQsIG5vdGlmaWNhdGlvbikgewot
ICAgICAgICBpZiAobm90aWZpY2F0aW9uID09ICdGb2N1c2VkVUlFbGVtZW50Q2hhbmdlZCcgfHwg
bm90aWZpY2F0aW9uID09ICdWYWx1ZUNoYW5nZWQnKSB7Ci0gICAgICAgICAgICBkZWJ1Zyhub3Rp
ZmljYXRpb24gKyAnICcgKyBlbGVtZW50LmhlbHBUZXh0ICsgJz0nICsgZWxlbWVudC52YWx1ZURl
c2NyaXB0aW9uKTsKLSAgICAgICAgfQotICAgIH0pOwotCi0gICAgdGVzdElucHV0LmZvY3VzKCk7
Ci0gICAgZXZlbnRTZW5kZXIua2V5RG93bignXHQnKTsKLSAgICBldmVudFNlbmRlci5rZXlEb3du
KCc0Jyk7Ci0gICAgZXZlbnRTZW5kZXIua2V5RG93bigndXBBcnJvdycpOwotCi0gICAgd2luZG93
LmpzVGVzdElzQXN5bmMgPSB0cnVlOwotCi0gICAgd2luZG93LnNldFRpbWVvdXQoZnVuY3Rpb24o
KSB7Ci0gICAgICAgIGRlYnVnKCcnKTsKLSAgICAgICAgdGVzdElucHV0LnJlbW92ZSgpOwotICAg
ICAgICBmaW5pc2hKU1Rlc3QoKTsKLSAgICB9LCAxKTsKLX0KLTwvc2NyaXB0PgotPHNjcmlwdCBz
cmM9Ii4uLy4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+
Ci08L2JvZHk+Ci08L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL21v
bnRoLW11bHRpcGxlLWZpZWxkcy9tb250aC1tdWx0aXBsZS1maWVsZHMtYmx1ci1hbmQtZm9jdXMt
ZXZlbnRzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvbW9udGgtbXVsdGlw
bGUtZmllbGRzL21vbnRoLW11bHRpcGxlLWZpZWxkcy1ibHVyLWFuZC1mb2N1cy1ldmVudHMtZXhw
ZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA1OTUyZDRiMGU4M2FmN2M3
NzQxYTJjMmFjZTdiMDNhY2VmN2I1MTFkLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvbW9udGgtbXVsdGlwbGUtZmll
bGRzL21vbnRoLW11bHRpcGxlLWZpZWxkcy1ibHVyLWFuZC1mb2N1cy1ldmVudHMtZXhwZWN0ZWQu
dHh0CisrKyAvZGV2L251bGwKQEAgLTEsMTcgKzAsMCBAQAotQ2hlY2sgYmx1ciBhbmQgZm9jdXMg
ZXZlbnRzIGZvciBtdWx0aXBsZSBmaWVsZHMgbW9udGggaW5wdXQgVUkKLQotT24gc3VjY2Vzcywg
eW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRF
U1QgQ09NUExFVEUiLgotCi0KLWZvY3VzKCkgYW5kIGJsdXIoKQotUEFTUyB0ZXN0SW5wdXQuZm9j
dXMoKTsgc3RhdGUoKSBpcyAiYmx1cj0wIGZvY3VzPTEiCi1QQVNTIHRlc3RJbnB1dC5ibHVyKCk7
IHN0YXRlKCkgaXMgImJsdXI9MSBmb2N1cz0xIgotZm9jdXMgYW5kIFRhYiBrZXkgdG8gYmx1cgot
UEFTUyBrZXlEb3duKCIJIik7IHN0YXRlKCkgaXMgImJsdXI9MCBmb2N1cz0xIgotUEFTUyBrZXlE
b3duKCIJIik7IHN0YXRlKCkgaXMgImJsdXI9MCBmb2N1cz0xIgotUEFTUyBrZXlEb3duKCIJIik7
IHN0YXRlKCkgaXMgImJsdXI9MSBmb2N1cz0xIgotCi1QQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBp
cyB0cnVlCi0KLVRFU1QgQ09NUExFVEUKLQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9m
b3Jtcy9tb250aC1tdWx0aXBsZS1maWVsZHMvbW9udGgtbXVsdGlwbGUtZmllbGRzLWJsdXItYW5k
LWZvY3VzLWV2ZW50cy5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9tb250aC1tdWx0aXBs
ZS1maWVsZHMvbW9udGgtbXVsdGlwbGUtZmllbGRzLWJsdXItYW5kLWZvY3VzLWV2ZW50cy5odG1s
CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAzYTNkM2FjNmFhYWQ0ZGMzNzYzNGY2MjNi
N2M2OGIyY2E5NTA1N2EyLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvbW9udGgtbXVsdGlwbGUtZmllbGRzL21vbnRo
LW11bHRpcGxlLWZpZWxkcy1ibHVyLWFuZC1mb2N1cy1ldmVudHMuaHRtbAorKysgL2Rldi9udWxs
CkBAIC0xLDEyICswLDAgQEAKLTwhRE9DVFlQRSBodG1sPgotPGh0bWw+Ci08Ym9keT4KLTxzY3Jp
cHQgc3JjPSIuLi8uLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgotPHNj
cmlwdCBzcmM9Ii4uL3Jlc291cmNlcy9tdWx0aXBsZS1maWVsZHMtYmx1ci1hbmQtZm9jdXMtZXZl
bnRzLmpzIj48L3NjcmlwdD4KLTxkaXYgaWQ9ImNvbnRhaW5lciI+PC9kaXY+Ci08c2NyaXB0Pgot
c3RhcnRUZXN0Rm9yKCdtb250aCcpOwotPC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vanMv
cmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Ci08L2JvZHk+Ci08L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL21vbnRoLW11bHRpcGxlLWZpZWxkcy9t
b250aC1tdWx0aXBsZS1maWVsZHMtY2hhbmdlLWxheW91dC1ieS12YWx1ZS1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL21vbnRoLW11bHRpcGxlLWZpZWxkcy9tb250aC1tdWx0
aXBsZS1maWVsZHMtY2hhbmdlLWxheW91dC1ieS12YWx1ZS1leHBlY3RlZC50eHQKZGVsZXRlZCBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IGYxNDcwNjg3OWFlMmFmOGQwYjNhNDEyMzQ4Y2JjZGJjNjdk
M2ViOTguLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5
b3V0VGVzdHMvZmFzdC9mb3Jtcy9tb250aC1tdWx0aXBsZS1maWVsZHMvbW9udGgtbXVsdGlwbGUt
ZmllbGRzLWNoYW5nZS1sYXlvdXQtYnktdmFsdWUtZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwK
QEAgLTEsMTEgKzAsMCBAQAotQ2hhbmdlIG11bHRpcGxlIGZpZWxkcyB3ZWVrIGlucHV0IFVJIGxh
eW91dCBieSB2YWx1ZQotCi1PbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBB
U1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCi0KLQotUEFTUyB3aWR0
aE9mRW1wdHlWYWx1ZSA8IHdpZHRoT2ZPdmVyZmxvd1ZhbHVlIGlzIHRydWUKLVBBU1Mgd2lkdGhP
ZkVtcHR5VmFsdWUgaXMgd2lkdGhPZlZhbGlkVmFsdWUKLVBBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2Vk
IGlzIHRydWUKLQotVEVTVCBDT01QTEVURQotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0
L2Zvcm1zL21vbnRoLW11bHRpcGxlLWZpZWxkcy9tb250aC1tdWx0aXBsZS1maWVsZHMtY2hhbmdl
LWxheW91dC1ieS12YWx1ZS5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9tb250aC1tdWx0
aXBsZS1maWVsZHMvbW9udGgtbXVsdGlwbGUtZmllbGRzLWNoYW5nZS1sYXlvdXQtYnktdmFsdWUu
aHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggY2Q4ZjdlMjIyZTUxMzNmNGExMGFj
ZGQxNDE5NzMzOTA3ZWVmZGUxZS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL21vbnRoLW11bHRpcGxlLWZpZWxkcy9t
b250aC1tdWx0aXBsZS1maWVsZHMtY2hhbmdlLWxheW91dC1ieS12YWx1ZS5odG1sCisrKyAvZGV2
L251bGwKQEAgLTEsMjUgKzAsMCBAQAotPCFET0NUWVBFIGh0bWw+Ci08aHRtbD4KLTxib2R5Pgot
PHNjcmlwdCBzcmM9Ii4uLy4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+
Ci08c2NyaXB0PgotZGVzY3JpcHRpb24oJ0NoYW5nZSBtdWx0aXBsZSBmaWVsZHMgd2VlayBpbnB1
dCBVSSBsYXlvdXQgYnkgdmFsdWUnKTsKLXZhciB0ZXN0SW5wdXQgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KCdpbnB1dCcpOwotdGVzdElucHV0LnR5cGUgPSAnbW9udGgnOwotdGVzdElucHV0Lm1h
eCA9ICc5OTk5LTEyJzsKLWRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQodGVzdElucHV0KTsKLXZh
ciB3aWR0aE9mRW1wdHlWYWx1ZSA9IHRlc3RJbnB1dC5vZmZzZXRXaWR0aDsKLQotdGVzdElucHV0
LnZhbHVlID0gJzEwMDAwLTEyJzsKLXZhciB3aWR0aE9mT3ZlcmZsb3dWYWx1ZSA9IHRlc3RJbnB1
dC5vZmZzZXRXaWR0aDsKLXNob3VsZEJlVHJ1ZSgnd2lkdGhPZkVtcHR5VmFsdWUgPCB3aWR0aE9m
T3ZlcmZsb3dWYWx1ZScpOwotCi10ZXN0SW5wdXQudmFsdWUgPSAnMjAxMi0xMCc7Ci12YXIgd2lk
dGhPZlZhbGlkVmFsdWUgPSB0ZXN0SW5wdXQub2Zmc2V0V2lkdGg7Ci1zaG91bGRCZSgnd2lkdGhP
ZkVtcHR5VmFsdWUnLCAnd2lkdGhPZlZhbGlkVmFsdWUnKTsKLQotdGVzdElucHV0LnJlbW92ZSgp
OwotPC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcG9z
dC5qcyI+PC9zY3JpcHQ+Ci08L2JvZHk+Ci08L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9mYXN0L2Zvcm1zL21vbnRoLW11bHRpcGxlLWZpZWxkcy9tb250aC1tdWx0aXBsZS1maWVsZHMt
Y2xlYXJidXR0b24tY2hhbmdlLWFuZC1pbnB1dC1ldmVudHMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvZmFzdC9mb3Jtcy9tb250aC1tdWx0aXBsZS1maWVsZHMvbW9udGgtbXVsdGlwbGUtZmll
bGRzLWNsZWFyYnV0dG9uLWNoYW5nZS1hbmQtaW5wdXQtZXZlbnRzLWV4cGVjdGVkLnR4dApkZWxl
dGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMzFmODY2MzBmYjI2MjM3MjJhMTlkNTc5ZDNjNWQx
ZDFkZDQ2ODgyYi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0g
YS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL21vbnRoLW11bHRpcGxlLWZpZWxkcy9tb250aC1tdWx0
aXBsZS1maWVsZHMtY2xlYXJidXR0b24tY2hhbmdlLWFuZC1pbnB1dC1ldmVudHMtZXhwZWN0ZWQu
dHh0CisrKyAvZGV2L251bGwKQEAgLTEsMTkgKzAsMCBAQAotVGVzdCBmb3IgZXZlbnQgZGlzcGF0
Y2hpbmcgYnkgc3BpbiBidXR0b25zIGluIGEgdHlwZT1tb250aCBpbnB1dC4KLQotT24gc3VjY2Vz
cywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkg
IlRFU1QgQ09NUExFVEUiLgotCi0KLUluaXRpYWwgc3RhdGUKLVBBU1MgY2hhbmdlRXZlbnRDb3Vu
dGVyIGlzIDAKLVBBU1MgaW5wdXRFdmVudENvdW50ZXIgaXMgMAotQ2xpY2sgdGhlIGNsZWFyIGJ1
dHRvbgotUEFTUyB0ZXN0SW5wdXQudmFsdWUgaXMgIiIKLVBBU1MgY2hhbmdlRXZlbnRDb3VudGVy
IGlzIDEKLVBBU1MgaW5wdXRFdmVudENvdW50ZXIgaXMgMQotRm9jdXMgb24gYW5vdGhlciBmaWVs
ZAotUEFTUyBjaGFuZ2VFdmVudENvdW50ZXIgaXMgMQotUEFTUyBpbnB1dEV2ZW50Q291bnRlciBp
cyAxCi1QQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCi0KLVRFU1QgQ09NUExFVEUKLQpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9tb250aC1tdWx0aXBsZS1maWVsZHMv
bW9udGgtbXVsdGlwbGUtZmllbGRzLWNsZWFyYnV0dG9uLWNoYW5nZS1hbmQtaW5wdXQtZXZlbnRz
Lmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL21vbnRoLW11bHRpcGxlLWZpZWxkcy9tb250
aC1tdWx0aXBsZS1maWVsZHMtY2xlYXJidXR0b24tY2hhbmdlLWFuZC1pbnB1dC1ldmVudHMuaHRt
bApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNjdkMGJmMmUyZTg4M2MwNTQ0OWI5ZGVj
NjUxMjA0NjNiMTUzZWFkNi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL21vbnRoLW11bHRpcGxlLWZpZWxkcy9tb250
aC1tdWx0aXBsZS1maWVsZHMtY2xlYXJidXR0b24tY2hhbmdlLWFuZC1pbnB1dC1ldmVudHMuaHRt
bAorKysgL2Rldi9udWxsCkBAIC0xLDE0ICswLDAgQEAKLTwhRE9DVFlQRSBodG1sPgotPGh0bWw+
Ci08aGVhZD4KLTxzY3JpcHQgc3JjPSIuLi8uLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0
LXByZS5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL2NvbW1vbi5qcyI+
PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL2NvbW1vbi1jbGVhcmJ1dHRvbi1j
aGFuZ2UtYW5kLWlucHV0LWV2ZW50cy5qcyI+PC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keT4KLTxz
Y3JpcHQ+Ci10ZXN0Q2xlYXJCdXR0b25DaGFuZ2VBbmRJbnB1dEV2ZW50cygnbW9udGgnLCAnMjAx
Mi0xMCcpOwotPC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vLi4vZmFzdC9qcy9yZXNvdXJj
ZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KLTwvYm9keT4KLTwvaHRtbD4KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvbW9udGgtbXVsdGlwbGUtZmllbGRzL21vbnRoLW11
bHRpcGxlLWZpZWxkcy1jbGVhcmJ1dHRvbi12aXNpYmlsaXR5LWFmdGVyLXJlc3RvcmUtZXhwZWN0
ZWQuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvbW9udGgtbXVsdGlwbGUtZmllbGRzL21v
bnRoLW11bHRpcGxlLWZpZWxkcy1jbGVhcmJ1dHRvbi12aXNpYmlsaXR5LWFmdGVyLXJlc3RvcmUt
ZXhwZWN0ZWQuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYjczMzU4ZTQ2ZWY5
MmY2NGU2YmY1M2ZjZjg0ZDUwZjE3YWVkN2FmZS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL21vbnRoLW11bHRpcGxl
LWZpZWxkcy9tb250aC1tdWx0aXBsZS1maWVsZHMtY2xlYXJidXR0b24tdmlzaWJpbGl0eS1hZnRl
ci1yZXN0b3JlLWV4cGVjdGVkLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSwxMCArMCwwIEBACi08
IURPQ1RZUEUgaHRtbD4KLTxodG1sPgotPGJvZHk+Ci08aW5wdXQgaWQ9ImVtcHR5T25GaXJzdFZp
c2l0IiB2YWx1ZT0idmlzaXRlZCI+Ci08Zm9ybSBhY3Rpb249ImRhdGE6dGV4dC9odG1sLCZsdDtz
Y3JpcHQ+aGlzdG9yeS5iYWNrKCkmbHQ7L3NjcmlwdD4iIGlkPWZvcm0xPgotICAgIDxpbnB1dCB0
eXBlPW1vbnRoIGlkPWlucHV0MT4KLSAgICA8aW5wdXQgdHlwZT1tb250aCBpZD1pbnB1dDIgdmFs
dWU9IjIwMDEtMDIiPgotICAgIDxpbnB1dCB0eXBlPW1vbnRoIGlkPWlucHV0MyB2YWx1ZT0iMjAw
Mi0wMyI+Ci08L2Zvcm0+Ci08L2JvZHk+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Zv
cm1zL21vbnRoLW11bHRpcGxlLWZpZWxkcy9tb250aC1tdWx0aXBsZS1maWVsZHMtY2xlYXJidXR0
b24tdmlzaWJpbGl0eS1hZnRlci1yZXN0b3JlLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1z
L21vbnRoLW11bHRpcGxlLWZpZWxkcy9tb250aC1tdWx0aXBsZS1maWVsZHMtY2xlYXJidXR0b24t
dmlzaWJpbGl0eS1hZnRlci1yZXN0b3JlLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDllNmY1MTNmZDIwZWYwNjRkZmY5N2VmZTQ0MGMzMGQxMTdkNDBkNDIuLjAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jt
cy9tb250aC1tdWx0aXBsZS1maWVsZHMvbW9udGgtbXVsdGlwbGUtZmllbGRzLWNsZWFyYnV0dG9u
LXZpc2liaWxpdHktYWZ0ZXItcmVzdG9yZS5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsMzIgKzAs
MCBAQAotPCFET0NUWVBFIGh0bWw+Ci08aHRtbD4KLTxib2R5PgotPGlucHV0IGlkPSJlbXB0eU9u
Rmlyc3RWaXNpdCI+Ci08Zm9ybSBhY3Rpb249ImRhdGE6dGV4dC9odG1sLCZsdDtzY3JpcHQ+aGlz
dG9yeS5iYWNrKCkmbHQ7L3NjcmlwdD4iIGlkPWZvcm0xPgotICAgIDxpbnB1dCB0eXBlPW1vbnRo
IGlkPWlucHV0MT4KLSAgICA8aW5wdXQgdHlwZT1tb250aCBpZD1pbnB1dDI+Ci0gICAgPGlucHV0
IHR5cGU9bW9udGggaWQ9aW5wdXQzIHZhbHVlPSIyMDEyLTAxIj4KLTwvZm9ybT4KLQotPHNjcmlw
dD4KLS8vIFJlc3RvcmluZyB0aGUgZm9ybSBzaG91bGQgdXBkYXRlIHRoZSBjbGVhciBidXR0b24g
dmlzaWJpbGl0eS4KLXRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOwotZnVuY3Rpb24gcnVuVGVz
dCgpCi17Ci0gICAgdmFyIHN0YXRlID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2VtcHR5T25G
aXJzdFZpc2l0Jyk7Ci0gICAgaWYgKCFzdGF0ZS52YWx1ZSkgewotICAgICAgICAvLyBGaXJzdCB2
aXNpdC4KLSAgICAgICAgc2V0VGltZW91dChmdW5jdGlvbigpIHsKLSAgICAgICAgICAgIHN0YXRl
LnZhbHVlID0gJ3Zpc2l0ZWQnOwotICAgICAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
J2lucHV0MicpLnZhbHVlID0gIjIwMDEtMDIiOwotICAgICAgICAgICAgZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoJ2lucHV0MycpLnZhbHVlID0gIjIwMDItMDMiOwotICAgICAgICAgICAgZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoJ2Zvcm0xJykuc3VibWl0KCk7Ci0gICAgICAgIH0sIDApOwotICAg
IH0gZWxzZSB7Ci0gICAgICAgIHRlc3RSdW5uZXIubm90aWZ5RG9uZSgpOwotICAgIH0KLX0KLQot
d2luZG93Lm9ubG9hZCA9IHJ1blRlc3Q7Ci08L3NjcmlwdD4KLTwvYm9keT4KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvbW9udGgtbXVsdGlwbGUtZmllbGRzL21vbnRoLW11bHRp
cGxlLWZpZWxkcy1mYWxsYmFjay1mb3JtYXQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFz
dC9mb3Jtcy9tb250aC1tdWx0aXBsZS1maWVsZHMvbW9udGgtbXVsdGlwbGUtZmllbGRzLWZhbGxi
YWNrLWZvcm1hdC1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGIz
OGI5NmFhNTQ4NDhiMDFkMDI5M2NiNDM1YzBjOTc2NjViNmY0MjAuLjAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9tb250
aC1tdWx0aXBsZS1maWVsZHMvbW9udGgtbXVsdGlwbGUtZmllbGRzLWZhbGxiYWNrLWZvcm1hdC1l
eHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSwxNCArMCwwIEBACi1DaGVja3MgaW5jb21w
bGV0ZSBkYXRldGltZSBmb3JtYXRzIGFyZSByZWplY3RlZC4KLQotT24gc3VjY2VzcywgeW91IHdp
bGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09N
UExFVEUiLgotCi0KLVZhbGlkIGZvcm1hdAotUEFTUyBnZXRVc2VyQWdlbnRTaGFkb3dUZXh0Q29u
dGVudChpbnB1dCkgaXMgIjA3LTE5OTkiCi1JbnZhbGlkIGZvcm1hdCwgZmFsbGJhY2sgdG8geXl5
eS1NTQotUEFTUyBnZXRVc2VyQWdlbnRTaGFkb3dUZXh0Q29udGVudChpbnB1dCkgaXMgIjE5OTkt
MDciCi1QQVNTIGdldFVzZXJBZ2VudFNoYWRvd1RleHRDb250ZW50KGlucHV0KSBpcyAiMTk5OS0w
NyIKLVBBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKLQotVEVTVCBDT01QTEVURQotCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL21vbnRoLW11bHRpcGxlLWZpZWxkcy9t
b250aC1tdWx0aXBsZS1maWVsZHMtZmFsbGJhY2stZm9ybWF0Lmh0bWwgYi9MYXlvdXRUZXN0cy9m
YXN0L2Zvcm1zL21vbnRoLW11bHRpcGxlLWZpZWxkcy9tb250aC1tdWx0aXBsZS1maWVsZHMtZmFs
bGJhY2stZm9ybWF0Lmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDI5NTExYWI2
MmM5ZThmNzFlY2FlNmJjOTk1NTU1YTU4NWVhZDM2ZmUuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9tb250aC1tdWx0
aXBsZS1maWVsZHMvbW9udGgtbXVsdGlwbGUtZmllbGRzLWZhbGxiYWNrLWZvcm1hdC5odG1sCisr
KyAvZGV2L251bGwKQEAgLTEsMzcgKzAsMCBAQAotPCFET0NUWVBFIGh0bWw+Ci08aHRtbD4KLTxo
ZWFkPgotPHNjcmlwdCBzcmM9Ii4uLy4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9z
Y3JpcHQ+Ci08c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL2NvbW1vbi5qcyI+PC9zY3JpcHQ+Ci08
L2hlYWQ+Ci08Ym9keT4KLTxzY3JpcHQ+Ci1kZXNjcmlwdGlvbignQ2hlY2tzIGluY29tcGxldGUg
ZGF0ZXRpbWUgZm9ybWF0cyBhcmUgcmVqZWN0ZWQuJyk7Ci0KLXZhciBpbnB1dCA9IGRvY3VtZW50
LmNyZWF0ZUVsZW1lbnQoJ2lucHV0Jyk7Ci1pbnB1dC50eXBlID0gJ21vbnRoJzsKLWRvY3VtZW50
LmJvZHkuYXBwZW5kQ2hpbGQoaW5wdXQpOwotCi1mdW5jdGlvbiBzZXREYXRlVGltZUZvcm1hdChw
YXR0ZXJuKSB7Ci0gICAgdmFyIHZhbHVlID0gaW5wdXQudmFsdWU7Ci0gICAgZ2V0RWxlbWVudEJ5
UHNldWRvSWQoaW50ZXJuYWxzLnlvdW5nZXN0U2hhZG93Um9vdChpbnB1dCksICctd2Via2l0LWRh
dGV0aW1lLWVkaXQnKS5zZXRBdHRyaWJ1dGUoJ3BhdHRlcm4nLCBwYXR0ZXJuKTsKLSAgICBpbnB1
dC52YWx1ZSA9ICcnOyAvLyBVcGRhdGVzIHRoZSBlbGVtZW50IGZvciBuZXcgZm9ybWF0Ci0gICAg
aW5wdXQudmFsdWUgPSB2YWx1ZTsKLX0KLQotaW5wdXQudmFsdWUgPSAnMTk5OS0wNyc7Ci0KLWRl
YnVnKCdWYWxpZCBmb3JtYXQnKTsKLXNldERhdGVUaW1lRm9ybWF0KCdNTS15eXl5Jyk7Ci1zaG91
bGRCZUVxdWFsVG9TdHJpbmcoJ2dldFVzZXJBZ2VudFNoYWRvd1RleHRDb250ZW50KGlucHV0KScs
ICcwNy0xOTk5Jyk7Ci0KLWRlYnVnKCdJbnZhbGlkIGZvcm1hdCwgZmFsbGJhY2sgdG8geXl5eS1N
TScpOwotc2V0RGF0ZVRpbWVGb3JtYXQoJ21tLXl5eXknKTsKLXNob3VsZEJlRXF1YWxUb1N0cmlu
ZygnZ2V0VXNlckFnZW50U2hhZG93VGV4dENvbnRlbnQoaW5wdXQpJywgJzE5OTktMDcnKTsKLXNl
dERhdGVUaW1lRm9ybWF0KCdNJyk7Ci1zaG91bGRCZUVxdWFsVG9TdHJpbmcoJ2dldFVzZXJBZ2Vu
dFNoYWRvd1RleHRDb250ZW50KGlucHV0KScsICcxOTk5LTA3Jyk7Ci0KLTwvc2NyaXB0PgotPHNj
cmlwdCBzcmM9Ii4uLy4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0Pgot
PC9ib2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9tb250
aC1tdWx0aXBsZS1maWVsZHMvbW9udGgtbXVsdGlwbGUtZmllbGRzLWtleWJvYXJkLWV2ZW50cy1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL21vbnRoLW11bHRpcGxlLWZpZWxk
cy9tb250aC1tdWx0aXBsZS1maWVsZHMta2V5Ym9hcmQtZXZlbnRzLWV4cGVjdGVkLnR4dApkZWxl
dGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYjJjOWVjZDA2NDk1YjYwMDQ3M2E3YTE2ZGM1YWE1
ODI5NDdmNTNiNi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0g
YS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL21vbnRoLW11bHRpcGxlLWZpZWxkcy9tb250aC1tdWx0
aXBsZS1maWVsZHMta2V5Ym9hcmQtZXZlbnRzLWV4cGVjdGVkLnR4dAorKysgL2Rldi9udWxsCkBA
IC0xLDc3ICswLDAgQEAKLU11bHRpcGxlIGZpZWxkcyBVSSBvZiBtb250aCBpbnB1dCB0eXBlIHdp
dGgga2V5Ym9hcmQgZXZlbnRzCi0KLU9uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBv
ZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KLQotCi1QbGVh
c2UgcnVuIHRoaXMgd2l0aCBEdW1wUmVuZGVyVHJlZS4KLQotVGVzdCBmb2xsb3dpbmcga2V5czoK
LURpZ2l0cwotTGVmdC9SaWdodCAtIE1vdmUgZm9jdXMgZmllbGQgaW5zaWRlIGVsZW1lbnQKLVVw
L0Rvd24gLSBJbmNyZW1lbnQvZGVjcmVtZW50IHZhbHVlIG9mIGZvY3VzIGZpZWxkCi1UYWIgLSBN
b3ZlIGZvY3VzIGZpZWxkCi1CYWNrc3BhY2UgLSBNYWtlIHZhbHVlIGVtcHR5Ci0gIAotPT0gRGln
aXQga2V5cyA9PQotUEFTUyBpbnB1dC52YWx1ZSBpcyAiMDAxMi0wOSIKLT09IExlZnQvUmlnaHQg
a2V5cyA9PQotUEFTUyBpbnB1dC52YWx1ZSBpcyAiMDAwNS0wNiIKLVBBU1MgZG9jdW1lbnQuYWN0
aXZlRWxlbWVudC5pZCBpcyAiaW5wdXQiCi09PSBVcC9Eb3duIGtleXMgPT0KLVBBU1MgaW5wdXQu
dmFsdWUgaXMgIjIwMTItMTAiCi1QQVNTIGlucHV0LnZhbHVlIGlzICIyMDEyLTA4IgotPT0gVXAv
RG93biBrZXlzIG9uIGVtcHR5IHZhbHVlID09Ci1QQVNTIGlucHV0LnZhbHVlIGlzICIyMDEyLTEx
IgotPT0gVXAvRG93biBrZXlzIG9uIGVtcHR5IHZhbHVlIDIgPT0KLVBBU1MgaW5wdXQudmFsdWUg
aXMgIjIwMTItMDIiCi09PSBUYWIga2V5ID09Ci1QQVNTIGlucHV0LnZhbHVlIGlzICIwMDA1LTA5
IgotUEFTUyBpbnB1dC52YWx1ZSBpcyAiMDAwNS0wMSIKLVBBU1MgZG9jdW1lbnQuYWN0aXZlRWxl
bWVudC5pZCBpcyAiYW5vdGhlciIKLT09IFNoZml0K1RhYiBrZXkgPT0KLVBBU1MgaW5wdXQudmFs
dWUgaXMgIjAwMDMtMDkiCi1QQVNTIGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQuaWQgaXMgImJlZm9y
ZSIKLT09IFVwIGtleSBvbiBtYXhpbXVtIHZhbHVlID09Ci1QQVNTIGlucHV0LnZhbHVlIGlzICIw
MDAxLTEwIgotPT0gVXAga2V5IHdpdGggYSBtYXhpbXVtIGF0dHJpYnV0ZSA9PQotUEFTUyBpbnB1
dC52YWx1ZSBpcyAiMDAwMS0wMSIKLT09IERvd24ga2V5IG9uIG1pbmltdW0gdmFsdWUgPT0KLVBB
U1MgaW5wdXQudmFsdWUgaXMgIiIKLT09IERvd24ga2V5IHdpdGggYSBtaW5pbXVtIGF0dHJpYnV0
ZSA9PQotUEFTUyBpbnB1dC52YWx1ZSBpcyAiIgotPT0gSW5jb25zaXN0ZW50IG1pbi1tYXggYXR0
cmlidXRlcyA9PQotUEFTUyBpbnB1dC52YWx1ZSBpcyAiMTAwMC0xMiIKLVBBU1MgaW5wdXQudmFs
dWUgaXMgIjE5OTktMTIiCi09PSBCYWNrc3BhY2Uga2V5ID09Ci1QQVNTIGlucHV0LnZhbHVlIGlz
ICIiCi09PSBEZWxldGUga2V5ID09Ci1QQVNTIGlucHV0LnZhbHVlIGlzICIiCi09PSBUeXBlYWhl
YWQgPT0KLVBBU1MgaW5wdXQudmFsdWUgaXMgIjAwMDEtMTIiCi1QQVNTIGlucHV0LnZhbHVlIGlz
ICIwMDAyLTEyIgotPT0gVHlwZWFoZWFkIGN5Y2xlIGZpcnN0IGNoYXJhY3RlciA9PQotUEFTUyBp
bnB1dC52YWx1ZSBpcyAiMjAxMi0wMSIKLVBBU1MgaW5wdXQudmFsdWUgaXMgIjIwMTItMDYiCi1Q
QVNTIGlucHV0LnZhbHVlIGlzICIyMDEyLTA3IgotUEFTUyBpbnB1dC52YWx1ZSBpcyAiMjAxMi0w
MSIKLVBBU1MgaW5wdXQudmFsdWUgaXMgIjIwMTItMDEiCi09PSBUeXBlYWhlYWQgcHJlZml4IG1h
dGNoID09Ci1QQVNTIGlucHV0LnZhbHVlIGlzICIyMDEyLTAzIgotUEFTUyBpbnB1dC52YWx1ZSBp
cyAiMjAxMi0wMyIKLVBBU1MgaW5wdXQudmFsdWUgaXMgIjIwMTItMDUiCi1QQVNTIGlucHV0LnZh
bHVlIGlzICIyMDEyLTA1IgotPT0gVHlwZWFoZWFkIGluZGV4IG1hdGNoID09Ci1QQVNTIGlucHV0
LnZhbHVlIGlzICIyMDEyLTAxIgotUEFTUyBpbnB1dC52YWx1ZSBpcyAiMjAxMi0xMiIKLVBBU1Mg
aW5wdXQudmFsdWUgaXMgIjIwMTItMTIiCi09PSBUeXBlYWhlYWQgc2hvdWxkIHNlYXJjaCBmcm9t
IGN1cnJlbnQgc2VsZWN0aW9uID09Ci1QQVNTIGlucHV0LnZhbHVlIGlzICIyMDEyLTA2IgotPT0g
UlRMIGZvY3VzIG5hdmlnYXRpb24gPT0KLVRoZSB0ZXN0cyBpbiB0aGlzIGJsb2NrIGZhaWwgb24g
cGxhdGZvcm1zIHdpdGhvdXQgdGhlIGxhbmctYXR0cmlidXRlLWF3YXJlLWZvcm0tY29udHJvbC1V
SSBmZWF0dXJlLgotUEFTUyBpbnB1dC52YWx1ZSBpcyAiMjAxMi0xMCIKLVBBU1MgaW5wdXQudmFs
dWUgaXMgIjAwMDItMTAiCi1QQVNTIGlucHV0LnZhbHVlIGlzICIwMDAyLTExIgotUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQotCi1URVNUIENPTVBMRVRFCi0KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2Zhc3QvZm9ybXMvbW9udGgtbXVsdGlwbGUtZmllbGRzL21vbnRoLW11bHRpcGxl
LWZpZWxkcy1rZXlib2FyZC1ldmVudHMuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvbW9u
dGgtbXVsdGlwbGUtZmllbGRzL21vbnRoLW11bHRpcGxlLWZpZWxkcy1rZXlib2FyZC1ldmVudHMu
aHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggOTcyODkyYjlkODhlY2I0NGU0NzBj
M2YyMmUxMzRjNWVkMDYwMjViYS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL21vbnRoLW11bHRpcGxlLWZpZWxkcy9t
b250aC1tdWx0aXBsZS1maWVsZHMta2V5Ym9hcmQtZXZlbnRzLmh0bWwKKysrIC9kZXYvbnVsbApA
QCAtMSwyMjMgKzAsMCBAQAotPCFET0NUWVBFIGh0bWw+Ci08aHRtbD4KLTxoZWFkPgotPHNjcmlw
dCBzcmM9Ii4uLy4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Ci08L2hl
YWQ+Ci08Ym9keT4KLTxwIGlkPSJkZXNjcmlwdGlvbiI+PC9wPgotPHA+Ci1QbGVhc2UgcnVuIHRo
aXMgd2l0aCBEdW1wUmVuZGVyVHJlZS4KLTwvcD4KLVRlc3QgZm9sbG93aW5nIGtleXM6Ci08dWw+
Ci0gICAgPGxpPkRpZ2l0czwvbGk+Ci0gICAgPGxpPkxlZnQvUmlnaHQgLSBNb3ZlIGZvY3VzIGZp
ZWxkIGluc2lkZSBlbGVtZW50PC9saT4KLSAgICA8bGk+VXAvRG93biAtIEluY3JlbWVudC9kZWNy
ZW1lbnQgdmFsdWUgb2YgZm9jdXMgZmllbGQ8L2xpPgotICAgIDxsaT5UYWIgLSBNb3ZlIGZvY3Vz
IGZpZWxkPC9saT4KLSAgICA8bGk+QmFja3NwYWNlIC0gTWFrZSB2YWx1ZSBlbXB0eTwvbGk+Ci08
L3VsPgotPGlucHV0IGlkPSJiZWZvcmUiPgotPGlucHV0IGlkPSJpbnB1dCIgdHlwZT0ibW9udGgi
PgotPGlucHV0IGlkPSJhbm90aGVyIj4KLTxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgotPHNjcmlw
dD4KLWRlc2NyaXB0aW9uKCJNdWx0aXBsZSBmaWVsZHMgVUkgb2YgbW9udGggaW5wdXQgdHlwZSB3
aXRoIGtleWJvYXJkIGV2ZW50cyIpOwotaWYgKHdpbmRvdy5pbnRlcm5hbHMpCi0gICAgaW50ZXJu
YWxzLnNldHRpbmdzLnNldExhbmdBdHRyaWJ1dGVBd2FyZUZvcm1Db250cm9sVUlFbmFibGVkKHRy
dWUpOwotdmFyIGlucHV0ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImlucHV0Iik7Ci0KLWZ1
bmN0aW9uIGtleURvd24oa2V5LCBtb2RpZmllcnMpCi17Ci0gICAgaWYgKCF3aW5kb3cuZXZlbnRT
ZW5kZXIpCi0gICAgICAgIHJldHVybjsKLSAgICBldmVudFNlbmRlci5rZXlEb3duKGtleSwgbW9k
aWZpZXJzKTsKLX0KLQotZnVuY3Rpb24gYmVnaW5UZXN0KHRpdGxlLCB2YWx1ZSwgb3B0X21pbiwg
b3B0X21heCkKLXsKLSAgICBkZWJ1ZygiPT0gIiArIHRpdGxlICsgIiA9PSIpOwotICAgIGlucHV0
LnZhbHVlID0gdmFsdWU7Ci0gICAgaW5wdXQubWluID0gb3B0X21pbiA/IG9wdF9taW4gOiAiIjsK
LSAgICBpbnB1dC5tYXggPSBvcHRfbWF4ID8gb3B0X21heCA6ICIiOwotICAgIGlucHV0LmJsdXIo
KTsKLSAgICBpbnB1dC5mb2N1cygpOwotfQotCi0vLyBXZSBhc3N1bWUgdGhlIHllYXItbW9udGgg
Zm9ybWF0IGlzICJNTU0geXl5eSIuCi0KLWJlZ2luVGVzdCgnRGlnaXQga2V5cycpOwota2V5RG93
bigncycpOwota2V5RG93bigncmlnaHRBcnJvdycpOwota2V5RG93bignMCcpOwota2V5RG93bign
MScpOwota2V5RG93bignMicpOwota2V5RG93bignQScpOwotc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCdpbnB1dC52YWx1ZScsICcwMDEyLTA5Jyk7Ci0KLS8vIEZJWE1FOiBXZSBzaG91bGQgdGVzdCB0
eXBlIGFoZWFkIHRpbWUgb3V0LiBXaGVuIGV2ZW50LmxlYXBGb3J3YXJkKCkgYWZmZWN0cwotLy8g
a2V5Ym9hcmQgZXZlbnQgdGltZSBzdGFtcCwgd2UgY2FuIHVuY29tbWVudCB0aGlzIGZyYWdtZW50
LgotLyoKLWJlZ2luVGVzdCgnRGlnaXQga2V5cyB3aXRoIHR5cGUgYWhlYWQgdGltZW91dCcpOwot
a2V5RG93bignMScpOwotbGVhcEZvcndhcmQoMTEwMCk7Ci1rZXlEb3duKCcxJyk7Ci1rZXlEb3du
KCc1Jyk7Ci1rZXlEb3duKCc2Jyk7Ci1rZXlEb3duKCdBJyk7Ci1zaG91bGRCZUVxdWFsVG9TdHJp
bmcoJ2lucHV0LnZhbHVlJywgJzAwNTYtMDEnKTsKLSovCi0KLWJlZ2luVGVzdCgnTGVmdC9SaWdo
dCBrZXlzJywgJzIwMTItMDknKTsKLWtleURvd24oJ3JpZ2h0QXJyb3cnKTsKLWtleURvd24oJzUn
KTsKLWtleURvd24oJ2xlZnRBcnJvdycpOwota2V5RG93bignNicpOwotc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCdpbnB1dC52YWx1ZScsICcwMDA1LTA2Jyk7Ci1rZXlEb3duKCdsZWZ0QXJyb3cnKTsK
LWtleURvd24oJ2xlZnRBcnJvdycpOwota2V5RG93bignbGVmdEFycm93Jyk7Ci1zaG91bGRCZUVx
dWFsVG9TdHJpbmcoJ2RvY3VtZW50LmFjdGl2ZUVsZW1lbnQuaWQnLCAnaW5wdXQnKTsKLQotYmVn
aW5UZXN0KCdVcC9Eb3duIGtleXMnLCAnMjAxMi0wOScpOwota2V5RG93bigndXBBcnJvdycpOwot
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdpbnB1dC52YWx1ZScsICcyMDEyLTEwJyk7Ci1rZXlEb3du
KCdkb3duQXJyb3cnKTsKLWtleURvd24oJ2Rvd25BcnJvdycpOwotc2hvdWxkQmVFcXVhbFRvU3Ry
aW5nKCdpbnB1dC52YWx1ZScsICcyMDEyLTA4Jyk7Ci0KLS8vIE5vdGUgdGhhdCBlbXB0eSB2YWx1
ZSBmb3IgdGhlIHllYXIgZmllbGQgd2l0aG91dCBtaW4vbWF4IGF0dHJpYnV0ZXMgaXMgbm90Ci0v
LyB0ZXN0YWJsZSBiZWNhdXNlIGl0cyBkZWZhdWx0IHZhbHVlIGRlcGVuZHMgb24gdGhlIGN1cnJl
bnQgZGF0ZS4KLWJlZ2luVGVzdCgnVXAvRG93biBrZXlzIG9uIGVtcHR5IHZhbHVlJywgJycsICcy
MDEyLTAxJyk7Ci1rZXlEb3duKCdkb3duQXJyb3cnKTsKLWtleURvd24oJ2Rvd25BcnJvdycpOwot
a2V5RG93bigncmlnaHRBcnJvdycpOwota2V5RG93bigndXBBcnJvdycpOwota2V5RG93bigndXBB
cnJvdycpOwota2V5RG93bignZG93bkFycm93Jyk7Ci1zaG91bGRCZUVxdWFsVG9TdHJpbmcoJ2lu
cHV0LnZhbHVlJywgJzIwMTItMTEnKTsKLQotYmVnaW5UZXN0KCdVcC9Eb3duIGtleXMgb24gZW1w
dHkgdmFsdWUgMicsICcnLCB1bmRlZmluZWQsICcyMDEyLTAxJyk7Ci1rZXlEb3duKCd1cEFycm93
Jyk7Ci1rZXlEb3duKCd1cEFycm93Jyk7Ci1rZXlEb3duKCdyaWdodEFycm93Jyk7Ci1rZXlEb3du
KCdkb3duQXJyb3cnKTsKLWtleURvd24oJ2Rvd25BcnJvdycpOwota2V5RG93bigndXBBcnJvdycp
Owotc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdpbnB1dC52YWx1ZScsICcyMDEyLTAyJyk7Ci0KLWJl
Z2luVGVzdCgnVGFiIGtleScsICcyMDEyLTA5Jyk7Ci1rZXlEb3duKCdcdCcpOyAvLyAtPiBTZXAg
WzIwMTJdCi1rZXlEb3duKCc1Jyk7IC8vICAtPiBTZXAgWzAwMDVdCi1zaG91bGRCZUVxdWFsVG9T
dHJpbmcoJ2lucHV0LnZhbHVlJywgJzAwMDUtMDknKTsKLWtleURvd24oJ1x0JywgWydzaGlmdEtl
eSddKTsgLy8gLT4gW1NlcF0gWzAwMDVdCi1rZXlEb3duKCdKJyk7IC8vIC0+IFtKYW5dIDAwMDUK
LXNob3VsZEJlRXF1YWxUb1N0cmluZygnaW5wdXQudmFsdWUnLCAnMDAwNS0wMScpOwota2V5RG93
bignXHQnKTsgLy8gLT4gSmFuIFswMDA1XQota2V5RG93bignXHQnKTsgLy8gLT4gSmFuIDAwMDUK
LXNob3VsZEJlRXF1YWxUb1N0cmluZygnZG9jdW1lbnQuYWN0aXZlRWxlbWVudC5pZCcsICdhbm90
aGVyJyk7Ci0KLWJlZ2luVGVzdCgnU2hmaXQrVGFiIGtleScsICcyMDEyLTA5Jyk7Ci1hbm90aGVy
LmZvY3VzKCk7Ci1rZXlEb3duKCdcdCcsIFsnc2hpZnRLZXknXSk7Ci1rZXlEb3duKCczJyk7Ci1z
aG91bGRCZUVxdWFsVG9TdHJpbmcoJ2lucHV0LnZhbHVlJywgJzAwMDMtMDknKTsKLWtleURvd24o
J1x0JywgWydzaGlmdEtleSddKTsKLWtleURvd24oJ1x0JywgWydzaGlmdEtleSddKTsKLXNob3Vs
ZEJlRXF1YWxUb1N0cmluZygnZG9jdW1lbnQuYWN0aXZlRWxlbWVudC5pZCcsICdiZWZvcmUnKTsK
LQotYmVnaW5UZXN0KCdVcCBrZXkgb24gbWF4aW11bSB2YWx1ZScsICcyNzU3NjAtMDknKTsKLWtl
eURvd24oJ3VwQXJyb3cnKTsKLWtleURvd24oJ1x0Jyk7Ci1rZXlEb3duKCd1cEFycm93Jyk7Ci1z
aG91bGRCZUVxdWFsVG9TdHJpbmcoJ2lucHV0LnZhbHVlJywgJzAwMDEtMTAnKTsKLWJlZ2luVGVz
dCgnVXAga2V5IHdpdGggYSBtYXhpbXVtIGF0dHJpYnV0ZScsICcxOTk5LTEyJywgdW5kZWZpbmVk
LCAnMTk5OS0xMicpOwota2V5RG93bigndXBBcnJvdycpOwota2V5RG93bignXHQnKTsKLWtleURv
d24oJ3VwQXJyb3cnKTsKLXNob3VsZEJlRXF1YWxUb1N0cmluZygnaW5wdXQudmFsdWUnLCAnMDAw
MS0wMScpOwotCi1iZWdpblRlc3QoJ0Rvd24ga2V5IG9uIG1pbmltdW0gdmFsdWUnLCAnMDAwMS0w
MScsICdiYWQgbWluJywgJ3dyb25nIG1heCcpOwota2V5RG93bignZG93bkFycm93Jyk7IC8vIC0+
IDAwMDEtMTIKLWtleURvd24oJ1x0Jyk7Ci1rZXlEb3duKCdkb3duQXJyb3cnKTsgLy8gLT4gMjc1
NzYwLTEyLCB3aGljaCBpcyBncmVhdGVyIHRoYW4gdGhlIGhhcmQgbGltaXQuCi1zaG91bGRCZUVx
dWFsVG9TdHJpbmcoJ2lucHV0LnZhbHVlJywgJycpOwotYmVnaW5UZXN0KCdEb3duIGtleSB3aXRo
IGEgbWluaW11bSBhdHRyaWJ1dGUnLCAnMDAwMS0wMScsICcwMDAxLTAxJyk7Ci1rZXlEb3duKCdk
b3duQXJyb3cnKTsgLy8gLT4gMDAwMS0xMgota2V5RG93bignXHQnKTsKLWtleURvd24oJ2Rvd25B
cnJvdycpOyAvLyAtPiAyNzU3NjAtMTIsIHdoaWNoIGlzIGdyZWF0ZXIgdGhhbiB0aGUgaGFyZCBs
aW1pdC4KLXNob3VsZEJlRXF1YWxUb1N0cmluZygnaW5wdXQudmFsdWUnLCAnJyk7Ci0KLWJlZ2lu
VGVzdCgnSW5jb25zaXN0ZW50IG1pbi1tYXggYXR0cmlidXRlcycsICcxOTk5LTEyJywgJzE5OTkt
MTInLCAnMTAwMC0wMScpOwota2V5RG93bignXHQnKTsKLWtleURvd24oJ3VwQXJyb3cnKTsKLXNo
b3VsZEJlRXF1YWxUb1N0cmluZygnaW5wdXQudmFsdWUnLCAnMTAwMC0xMicpOwota2V5RG93bign
ZG93bkFycm93Jyk7Ci1zaG91bGRCZUVxdWFsVG9TdHJpbmcoJ2lucHV0LnZhbHVlJywgJzE5OTkt
MTInKTsKLQotYmVnaW5UZXN0KCdCYWNrc3BhY2Uga2V5JywgJzIwMTItMDknKTsKLWtleURvd24o
IlxiIik7Ci1zaG91bGRCZUVxdWFsVG9TdHJpbmcoJ2lucHV0LnZhbHVlJywgJycpOwotCi1iZWdp
blRlc3QoJ0RlbGV0ZSBrZXknLCAnMjAxMi0wOScpOwota2V5RG93bigiZGVsZXRlIik7Ci1zaG91
bGRCZUVxdWFsVG9TdHJpbmcoJ2lucHV0LnZhbHVlJywgJycpOwotCi1iZWdpblRlc3QoJ1R5cGVh
aGVhZCcsICcyMDEyLTEyJyk7Ci1rZXlEb3duKCdyaWdodEFycm93Jyk7Ci1rZXlEb3duKCcxJyk7
Ci1zaG91bGRCZUVxdWFsVG9TdHJpbmcoJ2lucHV0LnZhbHVlJywgJzAwMDEtMTInKTsKLWtleURv
d24oJ2xlZnRBcnJvdycpOwota2V5RG93bigncmlnaHRBcnJvdycpOwota2V5RG93bignMicpOwot
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdpbnB1dC52YWx1ZScsICcwMDAyLTEyJyk7Ci0KLWJlZ2lu
VGVzdCgnVHlwZWFoZWFkIGN5Y2xlIGZpcnN0IGNoYXJhY3RlcicsICcyMDEyLTA5Jyk7Ci1rZXlE
b3duKCdqJyk7IC8vICAgICAgICAgIC0+IFtKYW5dIDIwMTIKLXNob3VsZEJlRXF1YWxUb1N0cmlu
ZygnaW5wdXQudmFsdWUnLCAnMjAxMi0wMScpOwota2V5RG93bignaicpOyAvLyAgICAgICAgICAt
PiBbSnVuXSAyMDEyCi1zaG91bGRCZUVxdWFsVG9TdHJpbmcoJ2lucHV0LnZhbHVlJywgJzIwMTIt
MDYnKTsKLWtleURvd24oJ2onKTsgLy8gICAgICAgICAgLT4gW0p1bF0gMjAxMgotc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCdpbnB1dC52YWx1ZScsICcyMDEyLTA3Jyk7Ci1rZXlEb3duKCdqJyk7IC8v
ICAgICAgICAgIC0+IFtKYW5dIDIwMTIKLXNob3VsZEJlRXF1YWxUb1N0cmluZygnaW5wdXQudmFs
dWUnLCAnMjAxMi0wMScpOwota2V5RG93bigneCcpOyAvLyAgICAgICAgICAtPiBbSmFuXSAyMDEy
Ci1zaG91bGRCZUVxdWFsVG9TdHJpbmcoJ2lucHV0LnZhbHVlJywgJzIwMTItMDEnKTsKLQotYmVn
aW5UZXN0KCdUeXBlYWhlYWQgcHJlZml4IG1hdGNoJywgJzIwMTItMDknKTsKLWtleURvd24oJ20n
KTsgLy8gICAgICAgICAgLT4gW01hcl0gMjAxMgotc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdpbnB1
dC52YWx1ZScsICcyMDEyLTAzJyk7Ci1rZXlEb3duKCdhJyk7IC8vICAgICAgICAgIC0+IFtNYXJd
IDIwMTIKLXNob3VsZEJlRXF1YWxUb1N0cmluZygnaW5wdXQudmFsdWUnLCAnMjAxMi0wMycpOwot
a2V5RG93bigneScpOyAvLyAgICAgICAgICAtPiBbTWF5XSAyMDEyCi1zaG91bGRCZUVxdWFsVG9T
dHJpbmcoJ2lucHV0LnZhbHVlJywgJzIwMTItMDUnKTsKLWtleURvd24oJ3gnKTsgLy8gICAgICAg
ICAgLT4gW01heV0gMjAxMgotc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdpbnB1dC52YWx1ZScsICcy
MDEyLTA1Jyk7Ci0KLWJlZ2luVGVzdCgnVHlwZWFoZWFkIGluZGV4IG1hdGNoJywgJzIwMTItMDkn
KTsKLWtleURvd24oJzEnKTsgLy8gICAgICAgICAgLT4gW0phbl0gMjAxMgotc2hvdWxkQmVFcXVh
bFRvU3RyaW5nKCdpbnB1dC52YWx1ZScsICcyMDEyLTAxJyk7Ci1rZXlEb3duKCcyJyk7IC8vICAg
ICAgICAgIC0+IFtEZWNdIDIwMTIKLXNob3VsZEJlRXF1YWxUb1N0cmluZygnaW5wdXQudmFsdWUn
LCAnMjAxMi0xMicpOwota2V5RG93bigneCcpOyAvLyAgICAgICAgICAtPiBbRGVjXSAyMDEyCi1z
aG91bGRCZUVxdWFsVG9TdHJpbmcoJ2lucHV0LnZhbHVlJywgJzIwMTItMTInKTsKLQotYmVnaW5U
ZXN0KCdUeXBlYWhlYWQgc2hvdWxkIHNlYXJjaCBmcm9tIGN1cnJlbnQgc2VsZWN0aW9uJywgJzIw
MTItMDEnKTsKLWtleURvd24oJ2onKTsgLy8gICAgICAgICAgLT4gW0p1bl0gMjAxMgotc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCdpbnB1dC52YWx1ZScsICcyMDEyLTA2Jyk7Ci0KLWlucHV0LnNldEF0
dHJpYnV0ZSgibGFuZyIsICJoZS1pbCIpOwotYmVnaW5UZXN0KCdSVEwgZm9jdXMgbmF2aWdhdGlv
bicsICcyMDEyLTA5Jyk7Ci1kZWJ1ZygnVGhlIHRlc3RzIGluIHRoaXMgYmxvY2sgZmFpbCBvbiBw
bGF0Zm9ybXMgd2l0aG91dCB0aGUgbGFuZy1hdHRyaWJ1dGUtYXdhcmUtZm9ybS1jb250cm9sLVVJ
IGZlYXR1cmUuJyk7Ci1rZXlEb3duKCd1cEFycm93Jyk7IC8vIC0+IDIwMTIgW00xMF0KLXNob3Vs
ZEJlRXF1YWxUb1N0cmluZygnaW5wdXQudmFsdWUnLCAnMjAxMi0xMCcpOwota2V5RG93bignXHQn
KTsgLy8gICAgICAtPiBbMjAxMl0gTTEwCi1rZXlEb3duKCcyJyk7IC8vICAgICAgIC0+IFswMDAy
XSBNMTAKLXNob3VsZEJlRXF1YWxUb1N0cmluZygnaW5wdXQudmFsdWUnLCAnMDAwMi0xMCcpOwot
a2V5RG93bignXHQnLCBbJ3NoaWZ0S2V5J10pOyAvLyAtPiAwMDAyIFtNMTBdCi1rZXlEb3duKCd1
cEFycm93Jyk7IC8vICAgICAgICAgIC0+IDAwMDIgW00xMV0KLXNob3VsZEJlRXF1YWxUb1N0cmlu
ZygnaW5wdXQudmFsdWUnLCAnMDAwMi0xMScpOwotaW5wdXQucmVtb3ZlQXR0cmlidXRlKCJsYW5n
Iik7Ci08L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIuLi8uLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1w
b3N0LmpzIj48L3NjcmlwdD4KLTwvYm9keT4KLTwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2Zhc3QvZm9ybXMvbW9udGgtbXVsdGlwbGUtZmllbGRzL21vbnRoLW11bHRpcGxlLWZpZWxk
cy1tb3VzZS1ldmVudHMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9tb250
aC1tdWx0aXBsZS1maWVsZHMvbW9udGgtbXVsdGlwbGUtZmllbGRzLW1vdXNlLWV2ZW50cy1leHBl
Y3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGFhMWRiMTE1ODVjZGFhZjFl
MjE2OTEwYTg2MmVkYjI4NTAxMjg1YWUuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9tb250aC1tdWx0aXBsZS1maWVs
ZHMvbW9udGgtbXVsdGlwbGUtZmllbGRzLW1vdXNlLWV2ZW50cy1leHBlY3RlZC50eHQKKysrIC9k
ZXYvbnVsbApAQCAtMSwzOCArMCwwIEBACi1NdWx0aXBsZSBmaWVsZHMgVUkgb2YgbW9udGggaW5w
dXQgdHlwZSB3aXRoIG1vdXNlIGV2ZW50cwotCi1PbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBz
ZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCi0K
LQotUGxlYXNlIHJ1biB0aGlzIHdpdGggRFJUIG9yIFdUUi4KLQotVGVzdCBmb2xsb3dpbmcgbW91
c2UgYWN0aW9uczoKLU1vdXNlIGNsaWNrIHRvIGZvY3VzIGVhY2ggb2Ygc3ViLWZpZWxkcwotTW91
c2UgY2xpY2sgb24gdGhlIHNwaW4gYnV0dG9uIHRvIHVwZGF0ZSBlYWNoIG9mIHN1Yi1maWVsZHMK
LQotPT0+IEZvY3VzIG9uIHRoZSBtb250aCBmaWVsZC4KLVBBU1MgaW5wdXQudmFsdWUgaXMgIjIz
NDUtMDgiCi1QQVNTIGlucHV0LnZhbHVlIGlzICIyMzQ1LTA5IgotUEFTUyBpbnB1dC52YWx1ZSBp
cyAiMjM0NS0wOCIKLVBBU1Mgd2luZG93LmdldFNlbGVjdGlvbigpLnJhbmdlQ291bnQgaXMgMAot
Ci09PT4gRm9jdXMgb24gdGhlIHllYXIgZmllbGQuCi1QQVNTIGlucHV0LnZhbHVlIGlzICIyMzQ2
LTA4IgotUEFTUyBpbnB1dC52YWx1ZSBpcyAiMjM0Ny0wOCIKLVBBU1MgaW5wdXQudmFsdWUgaXMg
IjIzNDYtMDgiCi1QQVNTIHdpbmRvdy5nZXRTZWxlY3Rpb24oKS5yYW5nZUNvdW50IGlzIDAKLQot
PT0+IENsaWNrIG9uIGEgZGlzYWJsZWQgZmllbGQuCi1QQVNTIGlucHV0LnZhbHVlIGlzICIyMzQ2
LTA4IgotCi09PT4gQ2xpY2sgb24gYSByZWFkLW9ubHkgZmllbGQuCi1QQVNTIGlucHV0LnZhbHVl
IGlzICIyMzQ2LTA4IgotCi09PT4gQ2xpY2sgb24gY2xlYXIgYnV0dG9uLgotUEFTUyBpbnB1dC52
YWx1ZSBpcyAiMjM0Ni0wOCIKLVBBU1MgaW5wdXQudmFsdWUgaXMgIjIzNDYtMDgiCi1QQVNTIGlu
cHV0LnZhbHVlIGlzICIiCi0KLVBBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKLQotVEVT
VCBDT01QTEVURQotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL21vbnRoLW11
bHRpcGxlLWZpZWxkcy9tb250aC1tdWx0aXBsZS1maWVsZHMtbW91c2UtZXZlbnRzLmh0bWwgYi9M
YXlvdXRUZXN0cy9mYXN0L2Zvcm1zL21vbnRoLW11bHRpcGxlLWZpZWxkcy9tb250aC1tdWx0aXBs
ZS1maWVsZHMtbW91c2UtZXZlbnRzLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDUwZTMwNjljOGU0ZWIwNTM4MTQ3NDM5OTRkMTdiYWYzYzk3MGFiZGMuLjAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9t
b250aC1tdWx0aXBsZS1maWVsZHMvbW9udGgtbXVsdGlwbGUtZmllbGRzLW1vdXNlLWV2ZW50cy5o
dG1sCisrKyAvZGV2L251bGwKQEAgLTEsOTcgKzAsMCBAQAotPCFET0NUWVBFIGh0bWw+Ci08aHRt
bD4KLTxoZWFkPgotPHNjcmlwdCBzcmM9Ii4uLy4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5q
cyI+PC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keT4KLTxwIGlkPSJkZXNjcmlwdGlvbiI+PC9wPgot
PHA+Ci1QbGVhc2UgcnVuIHRoaXMgd2l0aCBEUlQgb3IgV1RSLgotPC9wPgotVGVzdCBmb2xsb3dp
bmcgbW91c2UgYWN0aW9uczoKLTx1bD4KLSAgICA8bGk+TW91c2UgY2xpY2sgdG8gZm9jdXMgZWFj
aCBvZiBzdWItZmllbGRzPC9saT4KLSAgICA8bGk+TW91c2UgY2xpY2sgb24gdGhlIHNwaW4gYnV0
dG9uIHRvIHVwZGF0ZSBlYWNoIG9mIHN1Yi1maWVsZHM8L2xpPgotPC91bD4KLTxpbnB1dCBpZD0i
aW5wdXQiIHR5cGU9Im1vbnRoIiBzdHlsZT0iZm9udC1mYW1pbHk6YWhlbTsgZm9udC1zaXplOjE2
cHg7Ij4KLTxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgotPHNjcmlwdD4KLWRlc2NyaXB0aW9uKCdN
dWx0aXBsZSBmaWVsZHMgVUkgb2YgbW9udGggaW5wdXQgdHlwZSB3aXRoIG1vdXNlIGV2ZW50cycp
OwotdmFyIGlucHV0ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2lucHV0Jyk7Ci0KLWZ1bmN0
aW9uIGtleURvd24oa2V5LCBtb2RpZmllcnMpCi17Ci0gICAgaWYgKCF3aW5kb3cuZXZlbnRTZW5k
ZXIpCi0gICAgICAgIHJldHVybjsKLSAgICBldmVudFNlbmRlci5rZXlEb3duKGtleSwgbW9kaWZp
ZXJzKTsKLX0KLQotZnVuY3Rpb24gbW91c2VDbGlja09uKHgsIHkpCi17Ci0gICAgaWYgKCF3aW5k
b3cuZXZlbnRTZW5kZXIpCi0gICAgICAgIHJldHVybjsKLSAgICBldmVudFNlbmRlci5tb3VzZU1v
dmVUbyh4ICsgaW5wdXQub2Zmc2V0TGVmdCwgeSArIGlucHV0Lm9mZnNldFRvcCk7Ci0gICAgZXZl
bnRTZW5kZXIubW91c2VEb3duKCk7Ci0gICAgZXZlbnRTZW5kZXIubW91c2VVcCgpOwotfQotCi1p
bnB1dC52YWx1ZSA9ICcyMzQ1LTA3JzsKLXZhciBjZW50ZXIgPSBpbnB1dC5vZmZzZXRIZWlnaHQg
LyAyOwotdmFyIHNwaW5CdXR0b25PZmZzZXQgPSAyNjsKLXZhciBjbGVhckJ1dHRvbk9mZnNldCA9
IDQxOwotCi1kZWJ1ZygnPT0+IEZvY3VzIG9uIHRoZSBtb250aCBmaWVsZC4nKTsKLW1vdXNlQ2xp
Y2tPbigxNiwgY2VudGVyKTsKLWtleURvd24oJ3VwQXJyb3cnKTsKLXNob3VsZEJlRXF1YWxUb1N0
cmluZygnaW5wdXQudmFsdWUnLCAnMjM0NS0wOCcpOwotbW91c2VDbGlja09uKGlucHV0Lm9mZnNl
dFdpZHRoIC0gc3BpbkJ1dHRvbk9mZnNldCwgY2VudGVyIC0gMSk7Ci1zaG91bGRCZUVxdWFsVG9T
dHJpbmcoJ2lucHV0LnZhbHVlJywgJzIzNDUtMDknKTsKLW1vdXNlQ2xpY2tPbihpbnB1dC5vZmZz
ZXRXaWR0aCAtIHNwaW5CdXR0b25PZmZzZXQsIGNlbnRlciArIDEpOwotc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCdpbnB1dC52YWx1ZScsICcyMzQ1LTA4Jyk7Ci1zaG91bGRCZVplcm8oJ3dpbmRvdy5n
ZXRTZWxlY3Rpb24oKS5yYW5nZUNvdW50Jyk7IC8vIE5vIHRleHQgc2VsZWN0aW9uLgotCi1kZWJ1
ZygnJyk7Ci1kZWJ1ZygnPT0+IEZvY3VzIG9uIHRoZSB5ZWFyIGZpZWxkLicpOwotbW91c2VDbGlj
a09uKDE3MCwgY2VudGVyKTsKLWtleURvd24oJ3VwQXJyb3cnKTsKLXNob3VsZEJlRXF1YWxUb1N0
cmluZygnaW5wdXQudmFsdWUnLCAnMjM0Ni0wOCcpOwotbW91c2VDbGlja09uKGlucHV0Lm9mZnNl
dFdpZHRoIC0gc3BpbkJ1dHRvbk9mZnNldCwgY2VudGVyIC0gMSk7Ci1zaG91bGRCZUVxdWFsVG9T
dHJpbmcoJ2lucHV0LnZhbHVlJywgJzIzNDctMDgnKTsKLW1vdXNlQ2xpY2tPbihpbnB1dC5vZmZz
ZXRXaWR0aCAtIHNwaW5CdXR0b25PZmZzZXQsIGNlbnRlciArIDEpOwotc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCdpbnB1dC52YWx1ZScsICcyMzQ2LTA4Jyk7Ci1zaG91bGRCZVplcm8oJ3dpbmRvdy5n
ZXRTZWxlY3Rpb24oKS5yYW5nZUNvdW50Jyk7IC8vIE5vIHRleHQgc2VsZWN0aW9uLgotCi1kZWJ1
ZygnJyk7Ci1kZWJ1ZygnPT0+IENsaWNrIG9uIGEgZGlzYWJsZWQgZmllbGQuJyk7Ci1pbnB1dC5k
aXNhYmxlZCA9IHRydWU7Ci1tb3VzZUNsaWNrT24oMTAwLCBjZW50ZXIpOwota2V5RG93bigndXBB
cnJvdycpOwotc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdpbnB1dC52YWx1ZScsICcyMzQ2LTA4Jyk7
Ci1pbnB1dC5kaXNhYmxlZCA9IGZhbHNlOwotCi1kZWJ1ZygnJyk7Ci1kZWJ1ZygnPT0+IENsaWNr
IG9uIGEgcmVhZC1vbmx5IGZpZWxkLicpOwotaW5wdXQucmVhZE9ubHkgPSB0cnVlOwotbW91c2VD
bGlja09uKDEyLCBjZW50ZXIpOwota2V5RG93bigndXBBcnJvdycpOwotc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCdpbnB1dC52YWx1ZScsICcyMzQ2LTA4Jyk7Ci1pbnB1dC5yZWFkT25seSA9IGZhbHNl
OwotCi1kZWJ1ZygnJyk7Ci1kZWJ1ZygnPT0+IENsaWNrIG9uIGNsZWFyIGJ1dHRvbi4nKTsKLWlu
cHV0LnJlYWRPbmx5ID0gdHJ1ZTsKLW1vdXNlQ2xpY2tPbihpbnB1dC5vZmZzZXRXaWR0aCAtIGNs
ZWFyQnV0dG9uT2Zmc2V0LCBjZW50ZXIpOwotc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdpbnB1dC52
YWx1ZScsICcyMzQ2LTA4Jyk7IC8vIE5vdCBjaGFuZ2VkLgotaW5wdXQuZGlzYWJsZWQgPSB0cnVl
OwotaW5wdXQucmVhZE9ubHkgPSBmYWxzZTsKLW1vdXNlQ2xpY2tPbihpbnB1dC5vZmZzZXRXaWR0
aCAtIGNsZWFyQnV0dG9uT2Zmc2V0LCBjZW50ZXIpOwotc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdp
bnB1dC52YWx1ZScsICcyMzQ2LTA4Jyk7IC8vIE5vdCBjaGFuZ2VkLgotaW5wdXQuZGlzYWJsZWQg
PSBmYWxzZTsKLW1vdXNlQ2xpY2tPbihpbnB1dC5vZmZzZXRXaWR0aCAtIGNsZWFyQnV0dG9uT2Zm
c2V0LCBjZW50ZXIpOwotc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdpbnB1dC52YWx1ZScsICcnKTsK
LQotZGVidWcoJycpOwotPC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vanMvcmVzb3VyY2Vz
L2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Ci08L2JvZHk+Ci08L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL21vbnRoLW11bHRpcGxlLWZpZWxkcy9tb250aC1tdWx0
aXBsZS1maWVsZHMtcHJlc2VydmUtdmFsdWUtYWZ0ZXItaGlzdG9yeS1iYWNrLWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvbW9udGgtbXVsdGlwbGUtZmllbGRzL21vbnRoLW11
bHRpcGxlLWZpZWxkcy1wcmVzZXJ2ZS12YWx1ZS1hZnRlci1oaXN0b3J5LWJhY2stZXhwZWN0ZWQu
dHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBkZjgxODRlODMxNzA0NWY4YjhjNTJl
NTA3YjkwZjY0MTNmMmYzMTNiLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwCi0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvbW9udGgtbXVsdGlwbGUtZmllbGRzL21v
bnRoLW11bHRpcGxlLWZpZWxkcy1wcmVzZXJ2ZS12YWx1ZS1hZnRlci1oaXN0b3J5LWJhY2stZXhw
ZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEsMTggKzAsMCBAQAotQ2hlY2tzIGlucHV0IHZh
bHVlIGlzIHByZXNlcnZlZCBhZnRlciBiYWNrd2FyZCBhbmQgZm9yd2FyZAotCi1PbiBzdWNjZXNz
LCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAi
VEVTVCBDT01QTEVURSIuCi0KLQotV2VudCBiYWNrIHRvIGEgcGFnZS4gQ2hlY2tpbmcgYSBmb3Jt
IGNvbnRyb2wgd2hpY2ggaGFkIGEgZnVsbCB2YWx1ZToKLVBBU1MgIjEyMDEyLTEwIiBpcyAiMTIw
MTItMTAiCi1XZW50IGJhY2sgdG8gYSBwYWdlLiBDaGVja2luZyBhIGZvcm0gY29udHJvbCB3aGlj
aCBoYWQgYSBwYXJ0aWFsIHZhbHVlOgotUEFTUyAiSmFudWFyeSAtLS0tIiBpcyAiSmFudWFyeSAt
LS0tIgotV2VudCBmb3J3YXJkIHRvIGEgcGFnZS4gQ2hlY2tpbmcgYSBmb3JtIGNvbnRyb2wgd2hp
Y2ggaGFkIGEgZnVsbCB2YWx1ZToKLVBBU1MgIjAwMDEtMTEiIGlzICIwMDAxLTExIgotV2VudCBm
b3J3YXJkIHRvIGEgcGFnZS4gQ2hlY2tpbmcgYSBmb3JtIGNvbnRyb2wgd2hpY2ggaGFkIGEgcGFy
dGlhbCB2YWx1ZToKLVBBU1MgIi0tLS0tLS0tLSAxOTk5IiBpcyAiLS0tLS0tLS0tIDE5OTkiCi0K
LVBBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKLQotVEVTVCBDT01QTEVURQotCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL21vbnRoLW11bHRpcGxlLWZpZWxkcy9tb250
aC1tdWx0aXBsZS1maWVsZHMtcHJlc2VydmUtdmFsdWUtYWZ0ZXItaGlzdG9yeS1iYWNrLmh0bWwg
Yi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL21vbnRoLW11bHRpcGxlLWZpZWxkcy9tb250aC1tdWx0
aXBsZS1maWVsZHMtcHJlc2VydmUtdmFsdWUtYWZ0ZXItaGlzdG9yeS1iYWNrLmh0bWwKZGVsZXRl
ZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDVmZGE2ZDk3N2Q5ZTBiNmY0NTQwYzdjMmE4NDdiODZh
ZWNiMzkxMmQuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEv
TGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9tb250aC1tdWx0aXBsZS1maWVsZHMvbW9udGgtbXVsdGlw
bGUtZmllbGRzLXByZXNlcnZlLXZhbHVlLWFmdGVyLWhpc3RvcnktYmFjay5odG1sCisrKyAvZGV2
L251bGwKQEAgLTEsNDIgKzAsMCBAQAotPCFET0NUWVBFIGh0bWw+Ci08aHRtbD4KLTxoZWFkPgot
PHNjcmlwdCBzcmM9Ii4uLy4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48
L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5PgotPGlmcmFtZSBpZD0iaWZyYW1lIj48L2lmcmFtZT4K
LTxzY3JpcHQ+Ci1kZXNjcmlwdGlvbignQ2hlY2tzIGlucHV0IHZhbHVlIGlzIHByZXNlcnZlZCBh
ZnRlciBiYWNrd2FyZCBhbmQgZm9yd2FyZCcpOwotaWYgKCF3aW5kb3cuZXZlbnRTZW5kZXIgfHwg
IXdpbmRvdy5pbnRlcm5hbHMpCi0gICAgZGVidWcoJ1BsZWFzZSBydW4gd2l0aGluIERSVC9XVFIn
KTsKLXdpbmRvdy5qc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKLQotdmFyIHN0YXRlID0gJ2RpcmVjdCc7
Ci12YXIgdGVzdENhc2VzID0gW107Ci0KLWZ1bmN0aW9uIGZhaWxlZChtZXNzYWdlKSB7Ci0gICAg
dGVzdEZhaWxlZChtZXNzYWdlICsgJyBpbiAnICsgc3RhdGUpOwotICAgIGZpbmlzaEpTVGVzdCgp
OwotfQotCi1mdW5jdGlvbiBmaW5pc2hUZXN0KCkgewotICAgIHJ1blRlc3RDYXNlcygpOwotICAg
IGZpbmlzaEpTVGVzdCgpOwotfQotCi1mdW5jdGlvbiBydW5UZXN0Q2FzZXMoKSB7Ci0gICAgZm9y
ICh2YXIgaW5kZXggPSAwOyBpbmRleCA8IHRlc3RDYXNlcy5sZW5ndGg7ICsraW5kZXgpIHsKLSAg
ICAgICAgdmFyIHRlc3RDYXNlID0gdGVzdENhc2VzW2luZGV4XTsKLSAgICAgICAgZGVidWcodGVz
dENhc2VbJ2Rlc2NyaXB0aW9uJ10gKyAnOicpOwotICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJp
bmcoJyInICsgdGVzdENhc2VbJ2FjdHVhbCddICsgJyInLCB0ZXN0Q2FzZVsnZXhwZWN0ZWQnXSk7
Ci0gICAgfQotICAgIGRlYnVnKCcnKTsKLX0KLQotd2luZG93Lm9ubG9hZCA9IGZ1bmN0aW9uKCkg
ewotICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdpZnJhbWUnKS5zcmMgPSAncmVzb3VyY2Vz
L3ByZXNlcnZlLXZhbHVlLWFmdGVyLWhpc3RvcnktYmFjay1mcmFtZS5odG1sP3BhZ2UxJzsKLX07
Ci08L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIuLi8uLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10
ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgotPC9ib2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZmFzdC9mb3Jtcy9tb250aC1tdWx0aXBsZS1maWVsZHMvbW9udGgtbXVsdGlwbGUt
ZmllbGRzLXJlYWRvbmx5LXN1YmZpZWxkLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3Qv
Zm9ybXMvbW9udGgtbXVsdGlwbGUtZmllbGRzL21vbnRoLW11bHRpcGxlLWZpZWxkcy1yZWFkb25s
eS1zdWJmaWVsZC1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDgx
MjU4MDI3NDc0OTA5ZTU3NTAwYTQwNDk2MzE5NDZjYzNjZGNiYjMuLjAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9tb250
aC1tdWx0aXBsZS1maWVsZHMvbW9udGgtbXVsdGlwbGUtZmllbGRzLXJlYWRvbmx5LXN1YmZpZWxk
LWV4cGVjdGVkLnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDMxICswLDAgQEAKLVN1Yi1maWVsZHMg
aW4gaW5wdXRbdHlwZT1tb250aF0gc2hvdWxkIGJlIHJlYWQtb25seSBpbiBzb21lIGNhc2VzLiBU
aGlzIHJlcXVpcmVzIHdpbmRvdy5pbnRlcm5hbHMuCi0KLU9uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNl
ZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRF
Ii4KLQotCi1jcmVhdGVNb250aElucHV0IGFyZ3VtZW50IG9yZGVyOiBtaW4sIG1heCwgdmFsdWUK
LQotWWVhciBmaWVsZDoKLVBBU1MgaXNSZWFkT25seUZpZWxkKGNyZWF0ZU1vbnRoSW5wdXQoIiIs
ICIiLCAiIiksIHBzZXVkb1llYXIpIGlzIGZhbHNlCi1QQVNTIGlzUmVhZE9ubHlGaWVsZChjcmVh
dGVNb250aElucHV0KCIyMDEyLTEyIiwgIiIsICIiKSwgcHNldWRvWWVhcikgaXMgZmFsc2UKLVBB
U1MgaXNSZWFkT25seUZpZWxkKGNyZWF0ZU1vbnRoSW5wdXQoIiIsICIyMDEyLTEyIiwgIiIpLCBw
c2V1ZG9ZZWFyKSBpcyBmYWxzZQotUEFTUyBpc1JlYWRPbmx5RmllbGQoY3JlYXRlTW9udGhJbnB1
dCgiIiwgIiIsICIyMDEyLTEyIiksIHBzZXVkb1llYXIpIGlzIGZhbHNlCi1QQVNTIGlzUmVhZE9u
bHlGaWVsZChjcmVhdGVNb250aElucHV0KCIyMDEyLTAxIiwgIjIwMTItMTIiLCAiIiksIHBzZXVk
b1llYXIpIGlzIHRydWUKLVBBU1MgaXNSZWFkT25seUZpZWxkKGNyZWF0ZU1vbnRoSW5wdXQoIjIw
MTItMDEiLCAiMjAxMy0xMiIsICIiKSwgcHNldWRvWWVhcikgaXMgZmFsc2UKLVBBU1MgaXNSZWFk
T25seUZpZWxkKGNyZWF0ZU1vbnRoSW5wdXQoIjIwMTItMDEiLCAiMjAxMi0xMiIsICIyMDEyLTA1
IiksIHBzZXVkb1llYXIpIGlzIHRydWUKLVBBU1MgaXNSZWFkT25seUZpZWxkKGNyZWF0ZU1vbnRo
SW5wdXQoIjIwMTItMDEiLCAiMjAxMi0xMiIsICIyMDEzLTAxIiksIHBzZXVkb1llYXIpIGlzIGZh
bHNlCi1Nb250aCBmaWVsZDoKLVdlIHNob3VsZCBub3QgbWFrZSBhbGwgdGhlIGZpZWxkcyByZWFk
b25seSBieSBtaW4vbWF4LCBzbyBkYXkgZmllbGQgaXMgYWx3YXlzIGVkaXRhYmxlLgotUEFTUyBp
c1JlYWRPbmx5RmllbGQoY3JlYXRlTW9udGhJbnB1dCgiIiwgIiIsICIiKSwgcHNldWRvTW9udGgp
IGlzIGZhbHNlCi1QQVNTIGlzUmVhZE9ubHlGaWVsZChjcmVhdGVNb250aElucHV0KCIyMDEyLTEy
IiwgIiIsICIiKSwgcHNldWRvTW9udGgpIGlzIGZhbHNlCi1QQVNTIGlzUmVhZE9ubHlGaWVsZChj
cmVhdGVNb250aElucHV0KCIiLCAiMjAxMi0xMiIsICIiKSwgcHNldWRvTW9udGgpIGlzIGZhbHNl
Ci1QQVNTIGlzUmVhZE9ubHlGaWVsZChjcmVhdGVNb250aElucHV0KCIiLCAiIiwgIjIwMTItMTIi
KSwgcHNldWRvTW9udGgpIGlzIGZhbHNlCi1QQVNTIGlzUmVhZE9ubHlGaWVsZChjcmVhdGVNb250
aElucHV0KCIyMDEyLTEyIiwgIjIwMTItMTIiLCAiIiksIHBzZXVkb01vbnRoKSBpcyBmYWxzZQot
UEFTUyBpc1JlYWRPbmx5RmllbGQoY3JlYXRlTW9udGhJbnB1dCgiMjAxMi0xMSIsICIyMDEzLTEy
IiwgIiIpLCBwc2V1ZG9Nb250aCkgaXMgZmFsc2UKLVBBU1MgaXNSZWFkT25seUZpZWxkKGNyZWF0
ZU1vbnRoSW5wdXQoIjIwMTItMTIiLCAiMjAxMy0xMiIsICIiKSwgcHNldWRvTW9udGgpIGlzIGZh
bHNlCi1QQVNTIGlzUmVhZE9ubHlGaWVsZChjcmVhdGVNb250aElucHV0KCIyMDEyLTEyIiwgIjIw
MTItMTIiLCAiMjAxMi0xMiIpLCBwc2V1ZG9Nb250aCkgaXMgZmFsc2UKLVBBU1MgaXNSZWFkT25s
eUZpZWxkKGNyZWF0ZU1vbnRoSW5wdXQoIjIwMTItMTIiLCAiMjAxMi0xMiIsICIyMDEyLTExIiks
IHBzZXVkb01vbnRoKSBpcyBmYWxzZQotUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQot
Ci1URVNUIENPTVBMRVRFCi0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvbW9u
dGgtbXVsdGlwbGUtZmllbGRzL21vbnRoLW11bHRpcGxlLWZpZWxkcy1yZWFkb25seS1zdWJmaWVs
ZC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9tb250aC1tdWx0aXBsZS1maWVsZHMvbW9u
dGgtbXVsdGlwbGUtZmllbGRzLXJlYWRvbmx5LXN1YmZpZWxkLmh0bWwKZGVsZXRlZCBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IGM5NGE4YzkwYjM3NGUwMDk1MjNkOWYxNjY4MmY5ZjE1YTE3N2ZiZDIu
LjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVz
dHMvZmFzdC9mb3Jtcy9tb250aC1tdWx0aXBsZS1maWVsZHMvbW9udGgtbXVsdGlwbGUtZmllbGRz
LXJlYWRvbmx5LXN1YmZpZWxkLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSw1NyArMCwwIEBACi08
IURPQ1RZUEUgaHRtbD4KLTxib2R5PgotPHNjcmlwdCBzcmM9Ii4uLy4uL2pzL3Jlc291cmNlcy9q
cy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0PgotZnVuY3Rpb24gY3JlYXRlTW9udGhJ
bnB1dChtaW4sIG1heCwgdmFsdWUpIHsKLSAgICB2YXIgaW5wdXQgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KCdpbnB1dCcpOwotICAgIGlucHV0LnR5cGUgPSAnbW9udGgnOwotICAgIGlmIChtaW4p
Ci0gICAgICAgIGlucHV0Lm1pbiA9IG1pbjsKLSAgICBpZiAobWF4KQotICAgICAgICBpbnB1dC5t
YXggPSBtYXg7Ci0gICAgaWYgKHZhbHVlKQotICAgICAgICBpbnB1dC52YWx1ZSA9IHZhbHVlOwot
ICAgIHJldHVybiBpbnB1dDsKLX0KLQotLy8gRklYTUU6IFJlbmFtZSB0aGlzIGZ1bmN0aW9uIGFu
ZCB0aGUgdGVzdCBmaWxlLgotZnVuY3Rpb24gaXNSZWFkT25seUZpZWxkKGlucHV0LCBwc2V1ZG8p
IHsKLSAgICB2YXIgbm9kZSA9IGludGVybmFscy55b3VuZ2VzdFNoYWRvd1Jvb3QoaW5wdXQpLnF1
ZXJ5U2VsZWN0b3IoJypbcHNldWRvPSInICsgcHNldWRvICsgJyJdJyk7Ci0gICAgaWYgKCFub2Rl
KQotICAgICAgICB0ZXN0RmFpbGVkKCdSZXF1ZXN0ZWQgbm9kZSBpcyBtaXNzaW5nLicpOwotICAg
IHJldHVybiBub2RlICYmIG5vZGUuaGFzQXR0cmlidXRlKCdkaXNhYmxlZCcpOwotfQotCi12YXIg
cHNldWRvTW9udGggPSAnLXdlYmtpdC1kYXRldGltZS1lZGl0LW1vbnRoLWZpZWxkJzsKLXZhciBw
c2V1ZG9ZZWFyID0gJy13ZWJraXQtZGF0ZXRpbWUtZWRpdC15ZWFyLWZpZWxkJzsKLQotZGVzY3Jp
cHRpb24oJ1N1Yi1maWVsZHMgaW4gaW5wdXRbdHlwZT1tb250aF0gc2hvdWxkIGJlIHJlYWQtb25s
eSBpbiBzb21lIGNhc2VzLiBUaGlzIHJlcXVpcmVzIHdpbmRvdy5pbnRlcm5hbHMuJyk7Ci1kZWJ1
ZygnY3JlYXRlTW9udGhJbnB1dCBhcmd1bWVudCBvcmRlcjogbWluLCBtYXgsIHZhbHVlJyk7Ci1k
ZWJ1ZygnJyk7Ci0KLWRlYnVnKCdZZWFyIGZpZWxkOicpOwotc2hvdWxkQmVGYWxzZSgnaXNSZWFk
T25seUZpZWxkKGNyZWF0ZU1vbnRoSW5wdXQoIiIsICIiLCAiIiksIHBzZXVkb1llYXIpJyk7Ci1z
aG91bGRCZUZhbHNlKCdpc1JlYWRPbmx5RmllbGQoY3JlYXRlTW9udGhJbnB1dCgiMjAxMi0xMiIs
ICIiLCAiIiksIHBzZXVkb1llYXIpJyk7Ci1zaG91bGRCZUZhbHNlKCdpc1JlYWRPbmx5RmllbGQo
Y3JlYXRlTW9udGhJbnB1dCgiIiwgIjIwMTItMTIiLCAiIiksIHBzZXVkb1llYXIpJyk7Ci1zaG91
bGRCZUZhbHNlKCdpc1JlYWRPbmx5RmllbGQoY3JlYXRlTW9udGhJbnB1dCgiIiwgIiIsICIyMDEy
LTEyIiksIHBzZXVkb1llYXIpJyk7Ci1zaG91bGRCZVRydWUoJ2lzUmVhZE9ubHlGaWVsZChjcmVh
dGVNb250aElucHV0KCIyMDEyLTAxIiwgIjIwMTItMTIiLCAiIiksIHBzZXVkb1llYXIpJyk7Ci1z
aG91bGRCZUZhbHNlKCdpc1JlYWRPbmx5RmllbGQoY3JlYXRlTW9udGhJbnB1dCgiMjAxMi0wMSIs
ICIyMDEzLTEyIiwgIiIpLCBwc2V1ZG9ZZWFyKScpOwotc2hvdWxkQmVUcnVlKCdpc1JlYWRPbmx5
RmllbGQoY3JlYXRlTW9udGhJbnB1dCgiMjAxMi0wMSIsICIyMDEyLTEyIiwgIjIwMTItMDUiKSwg
cHNldWRvWWVhciknKTsKLXNob3VsZEJlRmFsc2UoJ2lzUmVhZE9ubHlGaWVsZChjcmVhdGVNb250
aElucHV0KCIyMDEyLTAxIiwgIjIwMTItMTIiLCAiMjAxMy0wMSIpLCBwc2V1ZG9ZZWFyKScpOwot
Ci1kZWJ1ZygnTW9udGggZmllbGQ6Jyk7Ci1kZWJ1ZygnV2Ugc2hvdWxkIG5vdCBtYWtlIGFsbCB0
aGUgZmllbGRzIHJlYWRvbmx5IGJ5IG1pbi9tYXgsIHNvIGRheSBmaWVsZCBpcyBhbHdheXMgZWRp
dGFibGUuJyk7Ci1zaG91bGRCZUZhbHNlKCdpc1JlYWRPbmx5RmllbGQoY3JlYXRlTW9udGhJbnB1
dCgiIiwgIiIsICIiKSwgcHNldWRvTW9udGgpJyk7Ci1zaG91bGRCZUZhbHNlKCdpc1JlYWRPbmx5
RmllbGQoY3JlYXRlTW9udGhJbnB1dCgiMjAxMi0xMiIsICIiLCAiIiksIHBzZXVkb01vbnRoKScp
Owotc2hvdWxkQmVGYWxzZSgnaXNSZWFkT25seUZpZWxkKGNyZWF0ZU1vbnRoSW5wdXQoIiIsICIy
MDEyLTEyIiwgIiIpLCBwc2V1ZG9Nb250aCknKTsKLXNob3VsZEJlRmFsc2UoJ2lzUmVhZE9ubHlG
aWVsZChjcmVhdGVNb250aElucHV0KCIiLCAiIiwgIjIwMTItMTIiKSwgcHNldWRvTW9udGgpJyk7
Ci1zaG91bGRCZUZhbHNlKCdpc1JlYWRPbmx5RmllbGQoY3JlYXRlTW9udGhJbnB1dCgiMjAxMi0x
MiIsICIyMDEyLTEyIiwgIiIpLCBwc2V1ZG9Nb250aCknKTsKLXNob3VsZEJlRmFsc2UoJ2lzUmVh
ZE9ubHlGaWVsZChjcmVhdGVNb250aElucHV0KCIyMDEyLTExIiwgIjIwMTMtMTIiLCAiIiksIHBz
ZXVkb01vbnRoKScpOwotc2hvdWxkQmVGYWxzZSgnaXNSZWFkT25seUZpZWxkKGNyZWF0ZU1vbnRo
SW5wdXQoIjIwMTItMTIiLCAiMjAxMy0xMiIsICIiKSwgcHNldWRvTW9udGgpJyk7Ci1zaG91bGRC
ZUZhbHNlKCdpc1JlYWRPbmx5RmllbGQoY3JlYXRlTW9udGhJbnB1dCgiMjAxMi0xMiIsICIyMDEy
LTEyIiwgIjIwMTItMTIiKSwgcHNldWRvTW9udGgpJyk7Ci1zaG91bGRCZUZhbHNlKCdpc1JlYWRP
bmx5RmllbGQoY3JlYXRlTW9udGhJbnB1dCgiMjAxMi0xMiIsICIyMDEyLTEyIiwgIjIwMTItMTEi
KSwgcHNldWRvTW9udGgpJyk7Ci0KLTwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii4uLy4uL2pzL3Jl
c291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgotPC9ib2R5PgotCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL21vbnRoLW11bHRpcGxlLWZpZWxkcy9tb250aC1tdWx0
aXBsZS1maWVsZHMtcmVzZXQtdmFsdWUtYWZ0ZXItcmVsb2Fkcy1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9mYXN0L2Zvcm1zL21vbnRoLW11bHRpcGxlLWZpZWxkcy9tb250aC1tdWx0aXBsZS1m
aWVsZHMtcmVzZXQtdmFsdWUtYWZ0ZXItcmVsb2Fkcy1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IGI5NWJmMjEzNzQ3ZjJiZmJiM2QzNTc5NjA4NWJjMDgzNWZmZjJk
ZDQuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0
VGVzdHMvZmFzdC9mb3Jtcy9tb250aC1tdWx0aXBsZS1maWVsZHMvbW9udGgtbXVsdGlwbGUtZmll
bGRzLXJlc2V0LXZhbHVlLWFmdGVyLXJlbG9hZHMtZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwK
QEAgLTEsMTUgKzAsMCBAQAotQ2hlY2tzIHJlbG9hZGluZyBwYWdlIHJlc2V0cyBpbnB1dCB2YWx1
ZXMKLQotT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdl
cywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgotCi0KLUluaXRpYWwgdmFsdWVzOgotUEFT
UyB0ZXN0SW5wdXQxLnZhbHVlIGlzICIiCi1QQVNTIHRlc3RJbnB1dDIudmFsdWUgaXMgIjEyMzQt
MDUiCi1SZWxvYWRlZCB2YWx1ZXM6Ci1QQVNTIHRlc3RJbnB1dDEudmFsdWUgaXMgIiIKLVBBU1Mg
dGVzdElucHV0Mi52YWx1ZSBpcyAiMTIzNC0wNSIKLVBBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlz
IHRydWUKLQotVEVTVCBDT01QTEVURQotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Zv
cm1zL21vbnRoLW11bHRpcGxlLWZpZWxkcy9tb250aC1tdWx0aXBsZS1maWVsZHMtcmVzZXQtdmFs
dWUtYWZ0ZXItcmVsb2Fkcy5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9tb250aC1tdWx0
aXBsZS1maWVsZHMvbW9udGgtbXVsdGlwbGUtZmllbGRzLXJlc2V0LXZhbHVlLWFmdGVyLXJlbG9h
ZHMuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDQ4MWFlMmYyMzAwODIyZjll
MjQxZGUwYWFhM2MyMjA5N2ZjNjk1MS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL21vbnRoLW11bHRpcGxlLWZpZWxk
cy9tb250aC1tdWx0aXBsZS1maWVsZHMtcmVzZXQtdmFsdWUtYWZ0ZXItcmVsb2Fkcy5odG1sCisr
KyAvZGV2L251bGwKQEAgLTEsNDIgKzAsMCBAQAotPCFET0NUWVBFIGh0bWw+Ci08aHRtbD4KLTxo
ZWFkPgotPHNjcmlwdCBzcmM9Ii4uLy4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJl
LmpzIj48L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5IG9ubG9hZD0icnVuQm9keUxvYWRlZCgpIj4K
LTxpZnJhbWUgaWQ9aWZyYW1lIHNyY2RvYz0iPGlucHV0IHR5cGU9bW9udGggaWQ9J3Rlc3QxJz48
aW5wdXQgdHlwZT0nbW9udGgnIGlkPSd0ZXN0MicgdmFsdWU9JzEyMzQtMDUnPiI+PC9pZnJhbWU+
Ci08c2NyaXB0PgotZGVzY3JpcHRpb24oJ0NoZWNrcyByZWxvYWRpbmcgcGFnZSByZXNldHMgaW5w
dXQgdmFsdWVzJyk7Ci13aW5kb3cuanNUZXN0SXNBc3luYyA9IHRydWU7Ci0KLXZhciBpZnJhbWUg
PSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnaWZyYW1lJyk7Ci12YXIgdGVzdElucHV0MTsKLXZh
ciB0ZXN0SW5wdXQyOwotCi1mdW5jdGlvbiBydW5Cb2R5TG9hZGVkKCkKLXsKLSAgICB0ZXN0SW5w
dXQxID0gaWZyYW1lLmNvbnRlbnREb2N1bWVudC5nZXRFbGVtZW50QnlJZCgndGVzdDEnKTsKLSAg
ICB0ZXN0SW5wdXQyID0gaWZyYW1lLmNvbnRlbnREb2N1bWVudC5nZXRFbGVtZW50QnlJZCgndGVz
dDInKTsKLSAgICBkZWJ1ZygnSW5pdGlhbCB2YWx1ZXM6Jyk7Ci0gICAgc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCd0ZXN0SW5wdXQxLnZhbHVlJywgJycpOwotICAgIHNob3VsZEJlRXF1YWxUb1N0cmlu
ZygndGVzdElucHV0Mi52YWx1ZScsICcxMjM0LTA1Jyk7Ci0gICAgdGVzdElucHV0MS52YWx1ZSA9
ICcyMDEyLTEwJzsKLSAgICB0ZXN0SW5wdXQyLnZhbHVlID0gJzIwMTItMTEnOwotICAgIGlmcmFt
ZS5hZGRFdmVudExpc3RlbmVyKCdsb2FkJywgcGFyZW50LnJ1bk9uSUZyYW1lTG9hZCk7Ci0gICAg
aWZyYW1lLmNvbnRlbnRXaW5kb3cubG9jYXRpb24ucmVsb2FkKCk7Ci19Ci0KLWZ1bmN0aW9uIHJ1
bk9uSUZyYW1lTG9hZCgpCi17Ci0gICAgdGVzdElucHV0MSA9IGlmcmFtZS5jb250ZW50RG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoJ3Rlc3QxJyk7Ci0gICAgdGVzdElucHV0MiA9IGlmcmFtZS5jb250
ZW50RG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3Rlc3QyJyk7Ci0gICAgZGVidWcoJ1JlbG9hZGVk
IHZhbHVlczonKTsKLSAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ3Rlc3RJbnB1dDEudmFsdWUn
LCAnJyk7Ci0gICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCd0ZXN0SW5wdXQyLnZhbHVlJywgJzEy
MzQtMDUnKTsKLSAgICBpZnJhbWUucGFyZW50Tm9kZS5yZW1vdmVDaGlsZChpZnJhbWUpOwotICAg
IGZpbmlzaEpTVGVzdCgpOwotfQotPC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vLi4vZmFz
dC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KLTwvYm9keT4KLTwvaHRt
bD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvbW9udGgtbXVsdGlwbGUtZmll
bGRzL21vbnRoLW11bHRpcGxlLWZpZWxkcy1zcGluYnV0dG9uLWNoYW5nZS1hbmQtaW5wdXQtZXZl
bnRzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvbW9udGgtbXVsdGlwbGUt
ZmllbGRzL21vbnRoLW11bHRpcGxlLWZpZWxkcy1zcGluYnV0dG9uLWNoYW5nZS1hbmQtaW5wdXQt
ZXZlbnRzLWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZGY3ZmQ2
ZjUwMmIzMWMyMmQ3ZDM2NmIyMDMyNGVlMzc1ZGQzMjM3MS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL21vbnRoLW11
bHRpcGxlLWZpZWxkcy9tb250aC1tdWx0aXBsZS1maWVsZHMtc3BpbmJ1dHRvbi1jaGFuZ2UtYW5k
LWlucHV0LWV2ZW50cy1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSwxOSArMCwwIEBA
Ci1UZXN0IGZvciBldmVudCBkaXNwYXRjaGluZyBieSBzcGluIGJ1dHRvbnMgaW4gYSB0eXBlPW1v
bnRoIGlucHV0LgotCi1PbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1Mi
IG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCi0KLQotSW5pdGlhbCBzdGF0
ZQotUEFTUyBjaGFuZ2VFdmVudENvdW50ZXIgaXMgMAotUEFTUyBpbnB1dEV2ZW50Q291bnRlciBp
cyAwCi1DbGljayB0aGUgdXBwZXIgYnV0dG9uCi1QQVNTIHRlc3RJbnB1dC52YWx1ZSBpcyAiMjAx
Mi0xMSIKLVBBU1MgY2hhbmdlRXZlbnRDb3VudGVyIGlzIDEKLVBBU1MgaW5wdXRFdmVudENvdW50
ZXIgaXMgMQotRm9jdXMgb24gYW5vdGhlciBmaWVsZAotUEFTUyBjaGFuZ2VFdmVudENvdW50ZXIg
aXMgMQotUEFTUyBpbnB1dEV2ZW50Q291bnRlciBpcyAxCi1QQVNTIHN1Y2Nlc3NmdWxseVBhcnNl
ZCBpcyB0cnVlCi0KLVRFU1QgQ09NUExFVEUKLQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFz
dC9mb3Jtcy9tb250aC1tdWx0aXBsZS1maWVsZHMvbW9udGgtbXVsdGlwbGUtZmllbGRzLXNwaW5i
dXR0b24tY2hhbmdlLWFuZC1pbnB1dC1ldmVudHMuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZm9y
bXMvbW9udGgtbXVsdGlwbGUtZmllbGRzL21vbnRoLW11bHRpcGxlLWZpZWxkcy1zcGluYnV0dG9u
LWNoYW5nZS1hbmQtaW5wdXQtZXZlbnRzLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDI0ZDI1ZGI2MWIyYWIwODhkZTE0YTUyMDRhOGI1MWI5ODRkNzU2YTEuLjAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jt
cy9tb250aC1tdWx0aXBsZS1maWVsZHMvbW9udGgtbXVsdGlwbGUtZmllbGRzLXNwaW5idXR0b24t
Y2hhbmdlLWFuZC1pbnB1dC1ldmVudHMuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDE0ICswLDAg
QEAKLTwhRE9DVFlQRSBodG1sPgotPGh0bWw+Ci08aGVhZD4KLTxzY3JpcHQgc3JjPSIuLi8uLi8u
Li9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNy
Yz0iLi4vcmVzb3VyY2VzL2NvbW1vbi5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iLi4vcmVz
b3VyY2VzL2NvbW1vbi1zcGluYnV0dG9uLWNoYW5nZS1hbmQtaW5wdXQtZXZlbnRzLmpzIj48L3Nj
cmlwdD4KLTwvaGVhZD4KLTxib2R5PgotPHNjcmlwdD4KLXRlc3RTcGluQnV0dG9uQ2hhbmdlQW5k
SW5wdXRFdmVudHMoJ21vbnRoJywgJzIwMTItMTAnLCAnMjAxMi0xMScpOwotPC9zY3JpcHQ+Ci08
c2NyaXB0IHNyYz0iLi4vLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48
L3NjcmlwdD4KLTwvYm9keT4KLTwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3Qv
Zm9ybXMvbW9udGgtbXVsdGlwbGUtZmllbGRzL21vbnRoLW11bHRpcGxlLWZpZWxkcy1zdGVwdXAt
c3RlcGRvd24tZnJvbS1yZW5kZXJlci1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2Zv
cm1zL21vbnRoLW11bHRpcGxlLWZpZWxkcy9tb250aC1tdWx0aXBsZS1maWVsZHMtc3RlcHVwLXN0
ZXBkb3duLWZyb20tcmVuZGVyZXItZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAxZTMyMDRkNDIyOGVmYTAwYTZjNjM0YWU4OWEwZWFkNzBiYjg2ZWM0Li4wMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2Zhc3Qv
Zm9ybXMvbW9udGgtbXVsdGlwbGUtZmllbGRzL21vbnRoLW11bHRpcGxlLWZpZWxkcy1zdGVwdXAt
c3RlcGRvd24tZnJvbS1yZW5kZXJlci1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSwz
NSArMCwwIEBACi1DaGVjayBzdGVwcGluZy11cCBhbmQgLWRvd24gZm9yIG1vbnRoIGlucHV0IGZp
ZWxkcyBmcm9tIHJlbmRlcmVyLgotCi1PbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMg
b2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCi0KLQotRnVu
Y3Rpb24gYXJndW1lbnRzIGFyZSAodmFsdWUsIG1pbiwgbWF4LCBba2V5U2VxdWVuY2VdKS4KLU1v
bnRoCi1QQVNTIHN0ZXBVcCgiMjAwMC0wNSIsICIyMDAwLTA1IiwgIjIwMDAtMTAiKSBpcyAiMjAw
MC0wNiIKLVBBU1Mgc3RlcERvd24oIjIwMDAtMDUiLCAiMjAwMC0wNSIsICIyMDAwLTEwIikgaXMg
IjIwMDAtMTAiCi1QQVNTIHN0ZXBVcCgiMjAwMC0wNSIsICIyMDAwLTAyIiwgIjIwMDAtMDUiKSBp
cyAiMjAwMC0wMiIKLVBBU1Mgc3RlcERvd24oIjIwMDAtMDUiLCAiMjAwMC0wMiIsICIyMDAwLTA1
IikgaXMgIjIwMDAtMDQiCi1QQVNTIHN0ZXBVcCgiMjAwMC0wNSIsICIyMDAwLTA4IiwgIjIwMDAt
MTAiKSBpcyAiMjAwMC0wOCIKLVBBU1Mgc3RlcERvd24oIjIwMDAtMDUiLCAiMjAwMC0wOCIsICIy
MDAwLTEwIikgaXMgIjIwMDAtMTAiCi1QQVNTIHN0ZXBVcCgiMjAwMC0wNSIsICIyMDAwLTAzIiwg
IjIwMDAtMDMiKSBpcyAiMjAwMC0wMyIKLVBBU1Mgc3RlcERvd24oIjIwMDAtMDUiLCAiMjAwMC0w
MyIsICIyMDAwLTAzIikgaXMgIjIwMDAtMDMiCi1QQVNTIHN0ZXBVcCgiMjAwMC0wNSIsICIyMDAw
LTAzIiwgIjIwMDEtMDUiKSBpcyAiMjAwMC0wNiIKLVBBU1Mgc3RlcERvd24oIjIwMDAtMDUiLCAi
MjAwMC0wNSIsICIyMDAxLTA4IikgaXMgIjIwMDAtMDQiCi1ZZWFyCi1QQVNTIHN0ZXBVcCgiMjAw
MC0wMSIsICIyMDAwLTAxIiwgIjIwMDktMTIiKSBpcyAiMjAwMS0wMSIKLVBBU1Mgc3RlcERvd24o
IjIwMDAtMDEiLCAiMjAwMC0wMSIsICIyMDA5LTEyIikgaXMgIjIwMDktMDEiCi1QQVNTIHN0ZXBV
cCgiMjAwMC0wMSIsICIxOTkwLTAxIiwgIjIwMDAtMTIiKSBpcyAiMTk5MC0wMSIKLVBBU1Mgc3Rl
cERvd24oIjIwMDAtMDEiLCAiMTk5MC0wMSIsICIyMDAwLTEyIikgaXMgIjE5OTktMDEiCi1QQVNT
IHN0ZXBVcCgiMjc1NzYwLTAxIiwgIjE5OTAtMDEiLCBudWxsKSBpcyAiMTk5MC0wMSIKLVBBU1Mg
c3RlcERvd24oIjE5OTAtMDEiLCAiMTk5MC0wMSIsIG51bGwpIGlzICIyNzU3NjAtMDEiCi1QQVNT
IHN0ZXBVcCgiMjAwMC0wMSIsIG51bGwsICIyMDAwLTEyIikgaXMgIjAwMDEtMDEiCi1QQVNTIHN0
ZXBEb3duKCIwMDAxLTAxIiwgbnVsbCwgIjIwMDAtMTIiKSBpcyAiMjAwMC0wMSIKLVBBU1Mgc3Rl
cFVwKCIxOTkwLTAxIiwgIjIwMDAtMDEiLCAiMjAwOS0xMiIpIGlzICIyMDAwLTAxIgotUEFTUyBz
dGVwRG93bigiMTk5MC0wMSIsICIyMDAwLTAxIiwgIjIwMDktMTIiKSBpcyAiMjAwOS0wMSIKLVBB
U1Mgc3RlcFVwKCIyMDIwLTAxIiwgIjIwMDAtMDEiLCAiMjAwMC0xMiIpIGlzICIyMDAwLTAxIgot
UEFTUyBzdGVwRG93bigiMjAyMC0wMSIsICIyMDAwLTAxIiwgIjIwMDAtMTIiKSBpcyAiMjAwMC0w
MSIKLQotUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQotCi1URVNUIENPTVBMRVRFCi0K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvbW9udGgtbXVsdGlwbGUtZmllbGRz
L21vbnRoLW11bHRpcGxlLWZpZWxkcy1zdGVwdXAtc3RlcGRvd24tZnJvbS1yZW5kZXJlci5odG1s
IGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9tb250aC1tdWx0aXBsZS1maWVsZHMvbW9udGgtbXVs
dGlwbGUtZmllbGRzLXN0ZXB1cC1zdGVwZG93bi1mcm9tLXJlbmRlcmVyLmh0bWwKZGVsZXRlZCBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDkxZWFiYTRlMjRiYWM0MmU2ZTU4YjlmZWM4YmQ2OTM3YmEz
M2YyYjUuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5
b3V0VGVzdHMvZmFzdC9mb3Jtcy9tb250aC1tdWx0aXBsZS1maWVsZHMvbW9udGgtbXVsdGlwbGUt
ZmllbGRzLXN0ZXB1cC1zdGVwZG93bi1mcm9tLXJlbmRlcmVyLmh0bWwKKysrIC9kZXYvbnVsbApA
QCAtMSw2OSArMCwwIEBACi08IURPQ1RZUEUgaHRtbD4KLTxodG1sPgotPGhlYWQ+Ci08c2NyaXB0
IHNyYz0iLi4vLi4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KLTxzY3Jp
cHQgc3JjPSIuLi9yZXNvdXJjZXMvY29tbW9uLmpzIj48L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5
PgotPHNjcmlwdD4KLWRlc2NyaXB0aW9uKCdDaGVjayBzdGVwcGluZy11cCBhbmQgLWRvd24gZm9y
IG1vbnRoIGlucHV0IGZpZWxkcyBmcm9tIHJlbmRlcmVyLicpOwotaWYgKCF3aW5kb3cuZXZlbnRT
ZW5kZXIpCi0gICAgZGVidWcoJ1RoaXMgdGVzdCByZXF1aXJlcyBldmVudFNlbmRlci4nKTsKLQot
dmFyIGlucHV0ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnaW5wdXQnKTsKLWlucHV0LnR5cGUg
PSAnbW9udGgnOwotZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChpbnB1dCk7Ci0KLWZ1bmN0aW9u
IHNldElucHV0QXR0cmlidXRlcyh2YWx1ZSwgbWluLCBtYXgpIHsKLSAgICBpbnB1dC52YWx1ZSA9
IHZhbHVlOwotICAgIGlucHV0Lm1pbiA9IG1pbjsKLSAgICBpbnB1dC5tYXggPSBtYXg7Ci19Ci0K
LWZ1bmN0aW9uIHN0ZXBVcCh2YWx1ZSwgbWluLCBtYXgpIHsKLSAgICBzZXRJbnB1dEF0dHJpYnV0
ZXModmFsdWUsIG1pbiwgbWF4KTsKLSAgICBldmVudFNlbmRlci5rZXlEb3duKCd1cEFycm93Jyk7
Ci0gICAgcmV0dXJuIGlucHV0LnZhbHVlOwotfQotCi1mdW5jdGlvbiBzdGVwRG93bih2YWx1ZSwg
bWluLCBtYXgpIHsKLSAgICBzZXRJbnB1dEF0dHJpYnV0ZXModmFsdWUsIG1pbiwgbWF4KTsKLSAg
ICBldmVudFNlbmRlci5rZXlEb3duKCdkb3duQXJyb3cnKTsKLSAgICByZXR1cm4gaW5wdXQudmFs
dWU7Ci19Ci0KLWlucHV0LmZvY3VzKCk7Ci1kZWJ1ZygnRnVuY3Rpb24gYXJndW1lbnRzIGFyZSAo
dmFsdWUsIG1pbiwgbWF4LCBba2V5U2VxdWVuY2VdKS4nKTsKLWRlYnVnKCdNb250aCcpOwotc2hv
dWxkQmVFcXVhbFRvU3RyaW5nKCdzdGVwVXAoIjIwMDAtMDUiLCAiMjAwMC0wNSIsICIyMDAwLTEw
IiknLCAnMjAwMC0wNicpOwotc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdzdGVwRG93bigiMjAwMC0w
NSIsICIyMDAwLTA1IiwgIjIwMDAtMTAiKScsICcyMDAwLTEwJyk7Ci1zaG91bGRCZUVxdWFsVG9T
dHJpbmcoJ3N0ZXBVcCgiMjAwMC0wNSIsICIyMDAwLTAyIiwgIjIwMDAtMDUiKScsICcyMDAwLTAy
Jyk7Ci1zaG91bGRCZUVxdWFsVG9TdHJpbmcoJ3N0ZXBEb3duKCIyMDAwLTA1IiwgIjIwMDAtMDIi
LCAiMjAwMC0wNSIpJywgJzIwMDAtMDQnKTsKLXNob3VsZEJlRXF1YWxUb1N0cmluZygnc3RlcFVw
KCIyMDAwLTA1IiwgIjIwMDAtMDgiLCAiMjAwMC0xMCIpJywgJzIwMDAtMDgnKTsKLXNob3VsZEJl
RXF1YWxUb1N0cmluZygnc3RlcERvd24oIjIwMDAtMDUiLCAiMjAwMC0wOCIsICIyMDAwLTEwIikn
LCAnMjAwMC0xMCcpOwotc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdzdGVwVXAoIjIwMDAtMDUiLCAi
MjAwMC0wMyIsICIyMDAwLTAzIiknLCAnMjAwMC0wMycpOwotc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCdzdGVwRG93bigiMjAwMC0wNSIsICIyMDAwLTAzIiwgIjIwMDAtMDMiKScsICcyMDAwLTAzJyk7
Ci1zaG91bGRCZUVxdWFsVG9TdHJpbmcoJ3N0ZXBVcCgiMjAwMC0wNSIsICIyMDAwLTAzIiwgIjIw
MDEtMDUiKScsICcyMDAwLTA2Jyk7Ci1zaG91bGRCZUVxdWFsVG9TdHJpbmcoJ3N0ZXBEb3duKCIy
MDAwLTA1IiwgIjIwMDAtMDUiLCAiMjAwMS0wOCIpJywgJzIwMDAtMDQnKTsKLQotZGVidWcoJ1ll
YXInKTsKLWV2ZW50U2VuZGVyLmtleURvd24oJ3JpZ2h0QXJyb3cnKTsKLXNob3VsZEJlRXF1YWxU
b1N0cmluZygnc3RlcFVwKCIyMDAwLTAxIiwgIjIwMDAtMDEiLCAiMjAwOS0xMiIpJywgJzIwMDEt
MDEnKTsKLXNob3VsZEJlRXF1YWxUb1N0cmluZygnc3RlcERvd24oIjIwMDAtMDEiLCAiMjAwMC0w
MSIsICIyMDA5LTEyIiknLCAnMjAwOS0wMScpOwotc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdzdGVw
VXAoIjIwMDAtMDEiLCAiMTk5MC0wMSIsICIyMDAwLTEyIiknLCAnMTk5MC0wMScpOwotc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCdzdGVwRG93bigiMjAwMC0wMSIsICIxOTkwLTAxIiwgIjIwMDAtMTIi
KScsICcxOTk5LTAxJyk7Ci1zaG91bGRCZUVxdWFsVG9TdHJpbmcoJ3N0ZXBVcCgiMjc1NzYwLTAx
IiwgIjE5OTAtMDEiLCBudWxsKScsICcxOTkwLTAxJyk7Ci1zaG91bGRCZUVxdWFsVG9TdHJpbmco
J3N0ZXBEb3duKCIxOTkwLTAxIiwgIjE5OTAtMDEiLCBudWxsKScsICcyNzU3NjAtMDEnKTsKLXNo
b3VsZEJlRXF1YWxUb1N0cmluZygnc3RlcFVwKCIyMDAwLTAxIiwgbnVsbCwgIjIwMDAtMTIiKScs
ICcwMDAxLTAxJyk7Ci1zaG91bGRCZUVxdWFsVG9TdHJpbmcoJ3N0ZXBEb3duKCIwMDAxLTAxIiwg
bnVsbCwgIjIwMDAtMTIiKScsICcyMDAwLTAxJyk7Ci1zaG91bGRCZUVxdWFsVG9TdHJpbmcoJ3N0
ZXBVcCgiMTk5MC0wMSIsICIyMDAwLTAxIiwgIjIwMDktMTIiKScsICcyMDAwLTAxJyk7Ci1zaG91
bGRCZUVxdWFsVG9TdHJpbmcoJ3N0ZXBEb3duKCIxOTkwLTAxIiwgIjIwMDAtMDEiLCAiMjAwOS0x
MiIpJywgJzIwMDktMDEnKTsKLXNob3VsZEJlRXF1YWxUb1N0cmluZygnc3RlcFVwKCIyMDIwLTAx
IiwgIjIwMDAtMDEiLCAiMjAwMC0xMiIpJywgJzIwMDAtMDEnKTsKLXNob3VsZEJlRXF1YWxUb1N0
cmluZygnc3RlcERvd24oIjIwMjAtMDEiLCAiMjAwMC0wMSIsICIyMDAwLTEyIiknLCAnMjAwMC0w
MScpOwotCi1kZWJ1ZygnJyk7Ci1pbnB1dC5yZW1vdmUoKTsKLTwvc2NyaXB0PgotPHNjcmlwdCBz
cmM9Ii4uLy4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgotPC9ib2R5
PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9tb250aC1tdWx0
aXBsZS1maWVsZHMvbW9udGgtbXVsdGlwbGUtZmllbGRzLXZhbGlkaXR5LWJhZGlucHV0LWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvbW9udGgtbXVsdGlwbGUtZmllbGRzL21v
bnRoLW11bHRpcGxlLWZpZWxkcy12YWxpZGl0eS1iYWRpbnB1dC1leHBlY3RlZC50eHQKZGVsZXRl
ZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDA4MGI1Mzk1M2ZhNWE4YmQ5NTUxZmZhMDVmNTk5OGJk
OWQwNjIyZTIuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEv
TGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9tb250aC1tdWx0aXBsZS1maWVsZHMvbW9udGgtbXVsdGlw
bGUtZmllbGRzLXZhbGlkaXR5LWJhZGlucHV0LWV4cGVjdGVkLnR4dAorKysgL2Rldi9udWxsCkBA
IC0xLDE1ICswLDAgQEAKLUEgbW9udGggaW5wdXQgZmllbGRzIHdpdGggYSBiYWQgdXNlciBpbnB1
dCBzaG91bGQgbWFrZSB2YWxpZGl0eS5iYWRJbnB1dCB0cnVlIGFuZCBoYXZlIDppbnZhbGlkIHN0
eWxlLgotCi1PbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3Nh
Z2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCi0KLQotSW5pdGlhbCBzdGF0ZS4gVGhl
IGVsbWVudCBoYXMgbm8gdmFsdWUuCi1QQVNTIGNvbG9yT2YoaW5wdXQpIGlzIG5vdCBpbnZhbGlk
U3R5bGVDb2xvcgotUEFTUyBpbnB1dC52YWxpZGl0eS5iYWRJbnB1dCBpcyBmYWxzZQotU2V0IGEg
dmFsdWUgdG8gdGhlIGZpcnN0IHN1Yi1maWVsZC4gVGhlIGVsZW1lbnQgYmVjb21lcyBiYWRJbnB1
dC4KLVBBU1MgY29sb3JPZihpbnB1dCkgaXMgaW52YWxpZFN0eWxlQ29sb3IKLVBBU1MgaW5wdXQu
dmFsaWRpdHkuYmFkSW5wdXQgaXMgdHJ1ZQotUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1
ZQotCi1URVNUIENPTVBMRVRFCi0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMv
bW9udGgtbXVsdGlwbGUtZmllbGRzL21vbnRoLW11bHRpcGxlLWZpZWxkcy12YWxpZGl0eS1iYWRp
bnB1dC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9tb250aC1tdWx0aXBsZS1maWVsZHMv
bW9udGgtbXVsdGlwbGUtZmllbGRzLXZhbGlkaXR5LWJhZGlucHV0Lmh0bWwKZGVsZXRlZCBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDM1NmVlYTUyODE5NzIxOTUzYWM2MDg1ZDJkOWVlYTEzZDYyODFi
MDYuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0
VGVzdHMvZmFzdC9mb3Jtcy9tb250aC1tdWx0aXBsZS1maWVsZHMvbW9udGgtbXVsdGlwbGUtZmll
bGRzLXZhbGlkaXR5LWJhZGlucHV0Lmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSwxNCArMCwwIEBA
Ci08IURPQ1RZUEUgaHRtbD4KLTxzdHlsZT4KLTppbnZhbGlkIHsKLSAgICBiYWNrZ3JvdW5kLWNv
bG9yOiAjZmYwMDAwOwotfQotPC9zdHlsZT4KLTxib2R5PgotPHNjcmlwdCBzcmM9Ii4uLy4uL2pz
L3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iLi4vcmVz
b3VyY2VzL211bHRpcGxlLWZpZWxkcy12YWxpZGl0eS1iYWRpbnB1dC5qcyI+PC9zY3JpcHQ+Ci08
c2NyaXB0PgotdGVzdEJhZElucHV0KCdtb250aCcpOwotPC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0i
Li4vLi4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Ci08L2JvZHk+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL21vbnRoLW11bHRpcGxlLWZpZWxkcy9t
b250aC1tdWx0aXBsZS1maWVsZHMtdmFsdWUtc2V0LWVtcHR5LWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2Zhc3QvZm9ybXMvbW9udGgtbXVsdGlwbGUtZmllbGRzL21vbnRoLW11bHRpcGxlLWZp
ZWxkcy12YWx1ZS1zZXQtZW1wdHktZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCBiMDc1OGNiMjc1MjU5OGYzYzhiNzY0MWI5YjVkODdmZmIwMDllMGUzLi4wMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2Zhc3Qv
Zm9ybXMvbW9udGgtbXVsdGlwbGUtZmllbGRzL21vbnRoLW11bHRpcGxlLWZpZWxkcy12YWx1ZS1z
ZXQtZW1wdHktZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEsMTIgKzAsMCBAQAotQ2hl
Y2sgaWYgaW5wdXQudmFsdWU9IiIgY2xlYXJzIGFuIGlucHV0IHdpdGggcGFydGlhbGx5LXNwZWNp
ZmllZCB2YWx1ZS4KLQotT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNT
IiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgotCi0KLUVtcHR5IHRleHQ6
IC0tLS0tLS0tLSAtLS0tCi1QQVNTIGV2ZW50U2VuZGVyLmtleURvd24oInVwQXJyb3ciKTsgZ2V0
VXNlckFnZW50U2hhZG93VGV4dENvbnRlbnQoaW5wdXQpIGlzIG5vdCBlbXB0eVRleHQKLVBBU1Mg
aW5wdXQudmFsdWUgPSAiIjsgZ2V0VXNlckFnZW50U2hhZG93VGV4dENvbnRlbnQoaW5wdXQpIGlz
IGVtcHR5VGV4dAotUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQotCi1URVNUIENPTVBM
RVRFCi0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvbW9udGgtbXVsdGlwbGUt
ZmllbGRzL21vbnRoLW11bHRpcGxlLWZpZWxkcy12YWx1ZS1zZXQtZW1wdHkuaHRtbCBiL0xheW91
dFRlc3RzL2Zhc3QvZm9ybXMvbW9udGgtbXVsdGlwbGUtZmllbGRzL21vbnRoLW11bHRpcGxlLWZp
ZWxkcy12YWx1ZS1zZXQtZW1wdHkuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
NzIzZGZjMTQxZTYwMzcyM2E1ZmI4ZThjMzFkYWM4NTcwMzM0YTJhZi4uMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL21v
bnRoLW11bHRpcGxlLWZpZWxkcy9tb250aC1tdWx0aXBsZS1maWVsZHMtdmFsdWUtc2V0LWVtcHR5
Lmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSwxMCArMCwwIEBACi08IURPQ1RZUEUgaHRtbD4KLTxi
b2R5PgotPHNjcmlwdCBzcmM9Ii4uLy4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9z
Y3JpcHQ+Ci08c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL2NvbW1vbi5qcyI+PC9zY3JpcHQ+Ci08
c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL211bHRpcGxlLWZpZWxkcy12YWx1ZS1zZXQtZW1wdHku
anMiPjwvc2NyaXB0PgotPHNjcmlwdD4KLXRlc3RTZXR0aW5nRW1wdHlTdHJpbmdDbGVhcnNTdWJG
aWVsZHMoJ21vbnRoJyk7Ci08L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIuLi8uLi9qcy9yZXNvdXJj
ZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KLTwvYm9keT4KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2Zhc3QvZm9ybXMvbW9udGgtbXVsdGlwbGUtZmllbGRzL21vbnRoLW11bHRpcGxlLWZp
ZWxkcy13aGVlbC1ldmVudC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL21v
bnRoLW11bHRpcGxlLWZpZWxkcy9tb250aC1tdWx0aXBsZS1maWVsZHMtd2hlZWwtZXZlbnQtZXhw
ZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA0MDUyYmY5NzcxYzE2NjVm
MDVkMmJiYzE2YWJiYTI5YTAxZjI3ODI3Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvbW9udGgtbXVsdGlwbGUtZmll
bGRzL21vbnRoLW11bHRpcGxlLWZpZWxkcy13aGVlbC1ldmVudC1leHBlY3RlZC50eHQKKysrIC9k
ZXYvbnVsbApAQCAtMSwyMyArMCwwIEBACi1UZXN0IGZvciB3aGVlbCBvcGVyYXRpb25zIGZvciA8
aW5wdXQgdHlwZT1tb250aD4KLQotT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9m
ICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgotCi0KLUluaXRp
YWwgdmFsdWUgaXMgMTk5OS0wMS4gV2UnbGwgd2hlZWwgdXAgYnkgMToKLVBBU1MgaW5wdXQudmFs
dWUgaXMgIjE5OTktMDIiCi1XaGVlbCB1cCBieSAxMDA6Ci1QQVNTIGlucHV0LnZhbHVlIGlzICIx
OTk5LTAzIgotV2hlZWwgZG93biBieSAxOgotUEFTUyBpbnB1dC52YWx1ZSBpcyAiMTk5OS0wMiIK
LVdoZWVsIGRvd24gYnkgMjU2OgotUEFTUyBpbnB1dC52YWx1ZSBpcyAiMTk5OS0wMSIKLURpc2Fi
bGVkIGlucHV0IGVsZW1lbnQ6Ci1QQVNTIGlucHV0LnZhbHVlIGlzICIxOTk5LTAxIgotUmVhZC1v
bmx5IGlucHV0IGVsZW1lbnQ6Ci1QQVNTIGlucHV0LnZhbHVlIGlzICIxOTk5LTAxIgotTm8gZm9j
dXM6Ci1QQVNTIGlucHV0LnZhbHVlIGlzICIxOTk5LTAxIgotUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQotCi1URVNUIENPTVBMRVRFCi0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zh
c3QvZm9ybXMvbW9udGgtbXVsdGlwbGUtZmllbGRzL21vbnRoLW11bHRpcGxlLWZpZWxkcy13aGVl
bC1ldmVudC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9tb250aC1tdWx0aXBsZS1maWVs
ZHMvbW9udGgtbXVsdGlwbGUtZmllbGRzLXdoZWVsLWV2ZW50Lmh0bWwKZGVsZXRlZCBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDEyZTRjZjFjMDVjZWQ2NDE0ODg0NTJiMDJiM2MwMDAwNTYzYzU4MzUu
LjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVz
dHMvZmFzdC9mb3Jtcy9tb250aC1tdWx0aXBsZS1maWVsZHMvbW9udGgtbXVsdGlwbGUtZmllbGRz
LXdoZWVsLWV2ZW50Lmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSwxNyArMCwwIEBACi08IURPQ1RZ
UEUgaHRtbD4KLTxodG1sPgotPGhlYWQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vLi4vZmFzdC9qcy9y
ZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii4uL3Jlc291
cmNlcy9jb21tb24td2hlZWwtZXZlbnQuanMiPjwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHk+Ci08
c2NyaXB0PgotdGVzdFdoZWVsRXZlbnQoewotICAgICdpbnB1dFR5cGUnIDogJ21vbnRoJywKLSAg
ICAnaW5pdGlhbFZhbHVlJyA6ICcxOTk5LTAxJywKLSAgICAnc3RlcFVwVmFsdWUxJyA6ICcxOTk5
LTAyJywKLSAgICAnc3RlcFVwVmFsdWUyJyA6ICcxOTk5LTAzJyB9KTsKLTwvc2NyaXB0PgotPHNj
cmlwdCBzcmM9Ii4uLy4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9z
Y3JpcHQ+Ci08L2JvZHk+Ci08L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Zv
cm1zL21vbnRoLW11bHRpcGxlLWZpZWxkcy9yZXNvdXJjZXMvcHJlc2VydmUtdmFsdWUtYWZ0ZXIt
aGlzdG9yeS1iYWNrLWZyYW1lLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL21vbnRoLW11
bHRpcGxlLWZpZWxkcy9yZXNvdXJjZXMvcHJlc2VydmUtdmFsdWUtYWZ0ZXItaGlzdG9yeS1iYWNr
LWZyYW1lLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDZkYmZhMTk4MWYwZTBk
N2Q0MTM5MjZkNDNkMWQyZmQyZmIyYTUzNDguLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9tb250aC1tdWx0aXBsZS1m
aWVsZHMvcmVzb3VyY2VzL3ByZXNlcnZlLXZhbHVlLWFmdGVyLWhpc3RvcnktYmFjay1mcmFtZS5o
dG1sCisrKyAvZGV2L251bGwKQEAgLTEsOTcgKzAsMCBAQAotPCFET0NUWVBFIGh0bWw+Ci08Ym9k
eT4KLTxpbnB1dCB0eXBlPSJtb250aCIgaWQ9InRlc3QxIj4KLTxpbnB1dCB0eXBlPSJtb250aCIg
aWQ9InRlc3QyIiBtaW49IjE5OTgtMDEiIG1heD0iMTk5OS0xMiI+Ci08c2NyaXB0PgotZnVuY3Rp
b24gZmllbGRzVGV4dChpbnB1dCkgewotICAgIHJldHVybiB3aW5kb3cuaW50ZXJuYWxzLm9sZGVz
dFNoYWRvd1Jvb3QoaW5wdXQpLnRleHRDb250ZW50OwotfQotCi1mdW5jdGlvbiBiYWNrKG5ld1N0
YXRlKSB7Ci0gICAgcGFyZW50LnN0YXRlID0gbmV3U3RhdGU7Ci0gICAgaGlzdG9yeS5iYWNrKCk7
Ci19Ci0KLWZ1bmN0aW9uIGZvcndhcmQobmV3U3RhdGUpIHsKLSAgICBwYXJlbnQuc3RhdGUgPSBu
ZXdTdGF0ZTsKLSAgICBoaXN0b3J5LmZvcndhcmQoKTsKLX0KLQotZnVuY3Rpb24ga2V5RG93bihr
ZXkpIHsKLSAgICBldmVudFNlbmRlci5rZXlEb3duKGtleSk7Ci19Ci0KLXZhciB0ZXN0SW5wdXQx
ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3Rlc3QxJyk7Ci12YXIgdGVzdElucHV0MiA9IGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCd0ZXN0MicpOwotdmFyIHBhZ2VOYW1lID0gbG9jYXRpb24u
c2VhcmNoIHx8ICc/cGFnZTEnOwotCi13aW5kb3cub25sb2FkID0gZnVuY3Rpb24oKSB7Ci0gICAg
c3dpdGNoIChwYWdlTmFtZSkgewotICAgIGNhc2UgJz9wYWdlMSc6Ci0gICAgICAgIHN3aXRjaCAo
cGFyZW50LnN0YXRlKSB7Ci0gICAgICAgIGNhc2UgJ2RpcmVjdCc6IHsKLSAgICAgICAgICAgIHRl
c3RJbnB1dDEudmFsdWUgPSAnMTIwMTItMTAnOwotICAgICAgICAgICAgdGVzdElucHV0Mi5mb2N1
cygpOwotICAgICAgICAgICAga2V5RG93bigndXBBcnJvdycpOyAvLyAtPiBbT2N0b2Jlcl0gMTIw
MTIKLSAgICAgICAgICAgIHZhciBuZXh0VXJpID0gbG9jYXRpb24udG9TdHJpbmcoKS5yZXBsYWNl
KCc/cGFnZTEnLCAnP3BhZ2UyJyk7Ci0gICAgICAgICAgICBzZXRUaW1lb3V0KGZ1bmN0aW9uKCkg
eyB3aW5kb3cubG9jYXRpb24uaHJlZiA9IG5leHRVcmk7IH0sIDApOwotICAgICAgICAgICAgYnJl
YWs7Ci0gICAgICAgIH0KLSAgICAgICAgY2FzZSAnYmFja1RvMSc6Ci0gICAgICAgICAgICBwYXJl
bnQudGVzdENhc2VzLnB1c2goCi0gICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAg
ICAnZGVzY3JpcHRpb24nIDogJ1dlbnQgYmFjayB0byBhIHBhZ2UuIENoZWNraW5nIGEgZm9ybSBj
b250cm9sIHdoaWNoIGhhZCBhIGZ1bGwgdmFsdWUnLAotICAgICAgICAgICAgICAgICAgICAnYWN0
dWFsJyA6IHRlc3RJbnB1dDEudmFsdWUsCi0gICAgICAgICAgICAgICAgICAgICdleHBlY3RlZCcg
OiAnMTIwMTItMTAnIH0sCi0gICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICAn
ZGVzY3JpcHRpb24nIDogJ1dlbnQgYmFjayB0byBhIHBhZ2UuIENoZWNraW5nIGEgZm9ybSBjb250
cm9sIHdoaWNoIGhhZCBhIHBhcnRpYWwgdmFsdWUnLAotICAgICAgICAgICAgICAgICAgICAnYWN0
dWFsJyA6IGZpZWxkc1RleHQodGVzdElucHV0MiksCi0gICAgICAgICAgICAgICAgICAgICdleHBl
Y3RlZCcgOiAnSmFudWFyeSAtLS0tJwotICAgICAgICAgICAgICAgIH0pOwotICAgICAgICAgICAg
Zm9yd2FyZCgnZm9yd2FyZFRvMicpOwotICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgIGNhc2Ug
J2JhY2tUbzFTZWNvbmQnOgotICAgICAgICAgICAgcGFyZW50LmZpbmlzaFRlc3QoKTsKLSAgICAg
ICAgICAgIGJyZWFrOwotICAgICAgICBkZWZhdWx0OgotICAgICAgICAgICAgcGFyZW50LmZhaWxl
ZCgnVW5leHBlY3RlZCBzdGF0ZSgnICsgcGFyZW50LnN0YXRlICsgJyknKTsKLSAgICAgICAgICAg
IGJyZWFrOwotICAgICAgICB9Ci0gICAgICAgIGJyZWFrOwotCi0gICAgY2FzZSAnP3BhZ2UyJzoK
LSAgICAgICAgc3dpdGNoIChwYXJlbnQuc3RhdGUpIHsKLSAgICAgICAgY2FzZSAnZGlyZWN0JzoK
LSAgICAgICAgICAgIHRlc3RJbnB1dDEudmFsdWUgPSAnMDAwMS0xMSc7Ci0gICAgICAgICAgICB0
ZXN0SW5wdXQyLmZvY3VzKCk7Ci0gICAgICAgICAgICBrZXlEb3duKCdcdCcpOyAvLyAgICAgICAg
LT4gLS0tLS0tLS0tIFt5eXl5XQotICAgICAgICAgICAga2V5RG93bignZG93bkFycm93Jyk7IC8v
IC0+IC0tLS0tLS0tLSBbMTk5OV0KLSAgICAgICAgICAgIGJhY2soJ2JhY2tUbzEnKTsKLSAgICAg
ICAgICAgIGJyZWFrOwotICAgICAgICBjYXNlICdmb3J3YXJkVG8yJzoKLSAgICAgICAgICAgIHBh
cmVudC50ZXN0Q2FzZXMucHVzaCgKLSAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAg
ICAgICdkZXNjcmlwdGlvbicgOiAnV2VudCBmb3J3YXJkIHRvIGEgcGFnZS4gQ2hlY2tpbmcgYSBm
b3JtIGNvbnRyb2wgd2hpY2ggaGFkIGEgZnVsbCB2YWx1ZScsCi0gICAgICAgICAgICAgICAgICAg
ICdhY3R1YWwnIDogdGVzdElucHV0MS52YWx1ZSwKLSAgICAgICAgICAgICAgICAgICAgJ2V4cGVj
dGVkJyA6ICcwMDAxLTExJwotICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgewot
ICAgICAgICAgICAgICAgICAgICAnZGVzY3JpcHRpb24nIDogJ1dlbnQgZm9yd2FyZCB0byBhIHBh
Z2UuIENoZWNraW5nIGEgZm9ybSBjb250cm9sIHdoaWNoIGhhZCBhIHBhcnRpYWwgdmFsdWUnLAot
ICAgICAgICAgICAgICAgICAgICAnYWN0dWFsJyA6IGZpZWxkc1RleHQodGVzdElucHV0MiksCi0g
ICAgICAgICAgICAgICAgICAgICdleHBlY3RlZCcgOiAnLS0tLS0tLS0tIDE5OTknCi0gICAgICAg
ICAgICAgICAgfSk7Ci0gICAgICAgICAgICBiYWNrKCdiYWNrVG8xU2Vjb25kJyk7Ci0gICAgICAg
ICAgICBicmVhazsKLSAgICAgICAgZGVmYXVsdDoKLSAgICAgICAgICAgIHBhcmVudC5mYWlsZWQo
J1VuZXhwZWN0ZWQgc3RhdGUoJyArIHBhcmVudC5zdGF0ZSArICcpJyk7Ci0gICAgICAgICAgICBi
cmVhazsKLSAgICAgICAgfQotICAgICAgICBicmVhazsKLQotICAgIGRlZmF1bHQ6Ci0gICAgICAg
IHBhcmVudC5mYWlsZWQoJ1VuZXhwZWN0ZWQgcGFnZSgnICsgcGFnZU5hbWUgKyAnKScpOwotICAg
ICAgICBicmVhazsKLSAgICB9Ci19OwotPC9zY3JpcHQ+Ci08L2JvZHk+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3RpbWUtbXVsdGlwbGUtZmllbGRzL3Jlc291cmNlcy9wcmVz
ZXJ2ZS12YWx1ZS1hZnRlci1oaXN0b3J5LWJhY2stZnJhbWUuaHRtbCBiL0xheW91dFRlc3RzL2Zh
c3QvZm9ybXMvdGltZS1tdWx0aXBsZS1maWVsZHMvcmVzb3VyY2VzL3ByZXNlcnZlLXZhbHVlLWFm
dGVyLWhpc3RvcnktYmFjay1mcmFtZS5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCA3YzNiNWYzZjJkYTE2MWI3ZThmMzdkYjhjOTJkNTAxMzMwNTg3MmVjLi4wMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMv
dGltZS1tdWx0aXBsZS1maWVsZHMvcmVzb3VyY2VzL3ByZXNlcnZlLXZhbHVlLWFmdGVyLWhpc3Rv
cnktYmFjay1mcmFtZS5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsMTAwICswLDAgQEAKLTwhRE9D
VFlQRSBodG1sPgotPGJvZHk+Ci08aW5wdXQgdHlwZT10aW1lIGlkPXRlc3QxPgotPGlucHV0IHR5
cGU9dGltZSBpZD10ZXN0MiBzdGVwPTE+Ci08c2NyaXB0PgotZnVuY3Rpb24gZmllbGRzVGV4dChp
bnB1dCkgewotICAgIHJldHVybiB3aW5kb3cuaW50ZXJuYWxzLm9sZGVzdFNoYWRvd1Jvb3QoaW5w
dXQpLnRleHRDb250ZW50OwotfQotCi1mdW5jdGlvbiBiYWNrKG5ld1N0YXRlKSB7Ci0gICAgcGFy
ZW50LnN0YXRlID0gbmV3U3RhdGU7Ci0gICAgaGlzdG9yeS5iYWNrKCk7Ci19Ci0KLWZ1bmN0aW9u
IGZvcndhcmQobmV3U3RhdGUpIHsKLSAgICBwYXJlbnQuc3RhdGUgPSBuZXdTdGF0ZTsKLSAgICBo
aXN0b3J5LmZvcndhcmQoKTsKLX0KLQotZnVuY3Rpb24ga2V5RG93bihrZXkpIHsKLSAgICBldmVu
dFNlbmRlci5rZXlEb3duKGtleSk7Ci19Ci0KLXZhciB0ZXN0SW5wdXQxID0gZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoJ3Rlc3QxJyk7Ci12YXIgdGVzdElucHV0MiA9IGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCd0ZXN0MicpOwotdmFyIHBhZ2VOYW1lID0gbG9jYXRpb24uc2VhcmNoIHx8ICc/cGFn
ZTEnOwotCi13aW5kb3cub25sb2FkID0gZnVuY3Rpb24oKSB7Ci0gICAgc3dpdGNoIChwYWdlTmFt
ZSkgewotICAgIGNhc2UgJz9wYWdlMSc6Ci0gICAgICAgIHN3aXRjaCAocGFyZW50LnN0YXRlKSB7
Ci0gICAgICAgIGNhc2UgJ2RpcmVjdCc6IHsKLSAgICAgICAgICAgIHRlc3RJbnB1dDEudmFsdWUg
PSAnMDE6MDEnOwotICAgICAgICAgICAgdGVzdElucHV0Mi5mb2N1cygpOwotICAgICAgICAgICAg
a2V5RG93bigndXBBcnJvdycpOwotICAgICAgICAgICAga2V5RG93bignXHQnKTsKLSAgICAgICAg
ICAgIGtleURvd24oJ1x0Jyk7Ci0gICAgICAgICAgICBrZXlEb3duKCdcdCcpOwotICAgICAgICAg
ICAga2V5RG93bigndXBBcnJvdycpOwotICAgICAgICAgICAgdmFyIG5leHRVcmkgPSBsb2NhdGlv
bi50b1N0cmluZygpLnJlcGxhY2UoJz9wYWdlMScsICc/cGFnZTInKTsKLSAgICAgICAgICAgIHNl
dFRpbWVvdXQoZnVuY3Rpb24oKSB7IHdpbmRvdy5sb2NhdGlvbi5ocmVmID0gbmV4dFVyaTsgfSwg
MCk7Ci0gICAgICAgICAgICBicmVhazsKLSAgICAgICAgfQotICAgICAgICBjYXNlICdiYWNrVG8x
JzoKLSAgICAgICAgICAgIHBhcmVudC50ZXN0Q2FzZXMucHVzaCgKLSAgICAgICAgICAgICAgICB7
Ci0gICAgICAgICAgICAgICAgICAgICdkZXNjcmlwdGlvbicgOiAnV2VudCBiYWNrIHRvIGEgcGFn
ZS4gQ2hlY2tpbmcgYSBmb3JtIGNvbnRyb2wgd2hpY2ggaGFkIGEgZnVsbCB2YWx1ZScsCi0gICAg
ICAgICAgICAgICAgICAgICdhY3R1YWwnIDogdGVzdElucHV0MS52YWx1ZSwKLSAgICAgICAgICAg
ICAgICAgICAgJ2V4cGVjdGVkJyA6ICcwMTowMScgfSwKLSAgICAgICAgICAgICAgICB7Ci0gICAg
ICAgICAgICAgICAgICAgICdkZXNjcmlwdGlvbicgOiAnV2VudCBiYWNrIHRvIGEgcGFnZS4gQ2hl
Y2tpbmcgYSBmb3JtIGNvbnRyb2wgd2hpY2ggaGFkIGEgcGFydGlhbCB2YWx1ZScsCi0gICAgICAg
ICAgICAgICAgICAgICdhY3R1YWwnIDogZmllbGRzVGV4dCh0ZXN0SW5wdXQyKSwKLSAgICAgICAg
ICAgICAgICAgICAgJ2V4cGVjdGVkJyA6ICcwMTotLTotLSBBTScKLSAgICAgICAgICAgICAgICB9
KTsKLSAgICAgICAgICAgIGZvcndhcmQoJ2ZvcndhcmRUbzInKTsKLSAgICAgICAgICAgIGJyZWFr
OwotICAgICAgICBjYXNlICdiYWNrVG8xU2Vjb25kJzoKLSAgICAgICAgICAgIHBhcmVudC5maW5p
c2hUZXN0KCk7Ci0gICAgICAgICAgICBicmVhazsKLSAgICAgICAgZGVmYXVsdDoKLSAgICAgICAg
ICAgIHBhcmVudC5mYWlsZWQoJ1Vuc3VwcG9ydGVkIHN0YXRlKCcgKyBwYXJlbnQuc3RhdGUgKyAn
KScpOwotICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgIH0KLSAgICAgICAgYnJlYWs7Ci0gICAg
Y2FzZSAnP3BhZ2UyJzoKLSAgICAgICAgc3dpdGNoIChwYXJlbnQuc3RhdGUpIHsKLSAgICAgICAg
Y2FzZSAnZGlyZWN0JzoKLSAgICAgICAgICAgIHRlc3RJbnB1dDEudmFsdWUgPSAnMDI6MDInOwot
ICAgICAgICAgICAgdGVzdElucHV0Mi5mb2N1cygpOwotICAgICAgICAgICAga2V5RG93bignXHQn
KTsKLSAgICAgICAgICAgIGtleURvd24oJ2Rvd25BcnJvdycpOwotICAgICAgICAgICAgYmFjaygn
YmFja1RvMScpOwotICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgIGNhc2UgJ2ZvcndhcmRUbzIn
OgotICAgICAgICAgICAgcGFyZW50LnRlc3RDYXNlcy5wdXNoKAotICAgICAgICAgICAgICAgIHsK
LSAgICAgICAgICAgICAgICAgICAgJ2Rlc2NyaXB0aW9uJyA6ICdXZW50IGZvcndhcmQgdG8gYSBw
YWdlLiBDaGVja2luZyBhIGZvcm0gY29udHJvbCB3aGljaCBoYWQgYSBmdWxsIHZhbHVlJywKLSAg
ICAgICAgICAgICAgICAgICAgJ2FjdHVhbCcgOiB0ZXN0SW5wdXQxLnZhbHVlLAotICAgICAgICAg
ICAgICAgICAgICAnZXhwZWN0ZWQnIDogJzAyOjAyJwotICAgICAgICAgICAgICAgIH0sCi0gICAg
ICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICAnZGVzY3JpcHRpb24nIDogJ1dlbnQg
Zm9yd2FyZCB0byBhIHBhZ2UuIENoZWNraW5nIGEgZm9ybSBjb250cm9sIHdoaWNoIGhhZCBhIHBh
cnRpYWwgdmFsdWUnLAotICAgICAgICAgICAgICAgICAgICAnYWN0dWFsJyA6IGZpZWxkc1RleHQo
dGVzdElucHV0MiksCi0gICAgICAgICAgICAgICAgICAgICdleHBlY3RlZCcgOiAnLS06NTk6LS0g
LS0nCi0gICAgICAgICAgICAgICAgfSk7Ci0gICAgICAgICAgICBiYWNrKCdiYWNrVG8xU2Vjb25k
Jyk7Ci0gICAgICAgICAgICBicmVhazsKLSAgICAgICAgZGVmYXVsdDoKLSAgICAgICAgICAgIHBh
cmVudC5mYWlsZWQoJ1Vuc3VwcG9ydGVkIHN0YXRlKCcgKyBwYXJlbnQuc3RhdGUgKyAnKScpOwot
ICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgIH0KLSAgICAgICAgYnJlYWs7Ci0gICAgZGVmYXVs
dDoKLSAgICAgICAgcGFyZW50LmZhaWxlZCgnVW5zdXBwb3J0ZWQgcGFnZSgnICsgcGFnZU5hbWUg
KyAnKScpOwotICAgICAgICBicmVhazsKLSAgICB9Ci19OwotPC9zY3JpcHQ+Ci08Ym9keT4KLQpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy90aW1lLW11bHRpcGxlLWZpZWxkcy90
aW1lLW11bHRpcGxlLWZpZWxkcy1heC1hcmlhLWF0dHJpYnV0ZXMtZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvZmFzdC9mb3Jtcy90aW1lLW11bHRpcGxlLWZpZWxkcy90aW1lLW11bHRpcGxlLWZp
ZWxkcy1heC1hcmlhLWF0dHJpYnV0ZXMtZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCBiN2IzMmEyOGVlYWZmNDNiMDg1NjM4MzkyYmFhZDk3NmIwYmZlNDU2Li4wMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2Zh
c3QvZm9ybXMvdGltZS1tdWx0aXBsZS1maWVsZHMvdGltZS1tdWx0aXBsZS1maWVsZHMtYXgtYXJp
YS1hdHRyaWJ1dGVzLWV4cGVjdGVkLnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDIyICswLDAgQEAK
LVRoaXMgdGVzdCBjaGVja3MgYXJpYS1oZWxwIGF0dHJpYnV0ZSBvZiBmaWVsZHMgaW4gbXVsdGlw
bGUgZmllbGRzIHRpbWUgaW5wdXQgVUkuCi0KLU9uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNl
cmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KLQot
Ci1Ob24tZW1wdHkgdmFsdWUKLVBBU1MgZm9jdXNlZEVsZW1lbnREZXNjcmlwdGlvbigpIGlzICJB
WEhlbHA6IEhvdXJzLCBBWFZhbHVlRGVzY3JpcHRpb246IDEyLCBpbnRWYWx1ZToxMiwgcmFuZ2U6
MS0xMiIKLVBBU1MgZm9jdXNlZEVsZW1lbnREZXNjcmlwdGlvbigpIGlzICJBWEhlbHA6IE1pbnV0
ZXMsIEFYVmFsdWVEZXNjcmlwdGlvbjogMzQsIGludFZhbHVlOjM0LCByYW5nZTowLTU5IgotUEFT
UyBmb2N1c2VkRWxlbWVudERlc2NyaXB0aW9uKCkgaXMgIkFYSGVscDogU2Vjb25kcywgQVhWYWx1
ZURlc2NyaXB0aW9uOiA1NiwgaW50VmFsdWU6NTYsIHJhbmdlOjAtNTkiCi1QQVNTIGZvY3VzZWRF
bGVtZW50RGVzY3JpcHRpb24oKSBpcyAiQVhIZWxwOiBNaWxsaXNlY29uZHMsIEFYVmFsdWVEZXNj
cmlwdGlvbjogNzg5LCBpbnRWYWx1ZTo3ODksIHJhbmdlOjAtOTk5IgotUEFTUyBmb2N1c2VkRWxl
bWVudERlc2NyaXB0aW9uKCkgaXMgIkFYSGVscDogQU0vUE0sIEFYVmFsdWVEZXNjcmlwdGlvbjog
UE0sIGludFZhbHVlOjIsIHJhbmdlOjEtMiIKLUVtcHR5IHZhbHVlCi1QQVNTIGZvY3VzZWRFbGVt
ZW50RGVzY3JpcHRpb24oKSBpcyAiQVhIZWxwOiBBTS9QTSwgQVhWYWx1ZURlc2NyaXB0aW9uOiBi
bGFuaywgaW50VmFsdWU6MCwgcmFuZ2U6MS0yIgotUEFTUyBmb2N1c2VkRWxlbWVudERlc2NyaXB0
aW9uKCkgaXMgIkFYSGVscDogTWlsbGlzZWNvbmRzLCBBWFZhbHVlRGVzY3JpcHRpb246IGJsYW5r
LCBpbnRWYWx1ZTowLCByYW5nZTowLTk5OSIKLVBBU1MgZm9jdXNlZEVsZW1lbnREZXNjcmlwdGlv
bigpIGlzICJBWEhlbHA6IFNlY29uZHMsIEFYVmFsdWVEZXNjcmlwdGlvbjogYmxhbmssIGludFZh
bHVlOjAsIHJhbmdlOjAtNTkiCi1QQVNTIGZvY3VzZWRFbGVtZW50RGVzY3JpcHRpb24oKSBpcyAi
QVhIZWxwOiBNaW51dGVzLCBBWFZhbHVlRGVzY3JpcHRpb246IGJsYW5rLCBpbnRWYWx1ZTowLCBy
YW5nZTowLTU5IgotUEFTUyBmb2N1c2VkRWxlbWVudERlc2NyaXB0aW9uKCkgaXMgIkFYSGVscDog
SG91cnMsIEFYVmFsdWVEZXNjcmlwdGlvbjogYmxhbmssIGludFZhbHVlOjAsIHJhbmdlOjEtMTIi
Ci0KLVBBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKLQotVEVTVCBDT01QTEVURQotCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3RpbWUtbXVsdGlwbGUtZmllbGRzL3Rp
bWUtbXVsdGlwbGUtZmllbGRzLWF4LWFyaWEtYXR0cmlidXRlcy5odG1sIGIvTGF5b3V0VGVzdHMv
ZmFzdC9mb3Jtcy90aW1lLW11bHRpcGxlLWZpZWxkcy90aW1lLW11bHRpcGxlLWZpZWxkcy1heC1h
cmlhLWF0dHJpYnV0ZXMuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZWIwZDQ1
YTkxZjZkZTY3YmY2MDU4ZWNkMWZlMWRkNGQ4NjhmNTA3YS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3RpbWUtbXVs
dGlwbGUtZmllbGRzL3RpbWUtbXVsdGlwbGUtZmllbGRzLWF4LWFyaWEtYXR0cmlidXRlcy5odG1s
CisrKyAvZGV2L251bGwKQEAgLTEsNjUgKzAsMCBAQAotPCFET0NUWVBFIGh0bWw+Ci08aHRtbD4K
LTxoZWFkPgotPHNjcmlwdCBzcmM9Ii4uLy4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3Qt
cHJlLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvbXVsdGlwbGUtZmll
bGRzLWF4LWFyaWEtYXR0cmlidXRlcy5qcyI+PC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keT4KLTxp
bnB1dCBpZD10ZXN0IHR5cGU9InRpbWUiIHZhbHVlPSIxMjozNDo1Ni43ODkiPgotPHNjcmlwdD4K
LWRlc2NyaXB0aW9uKCdUaGlzIHRlc3QgY2hlY2tzIGFyaWEtaGVscCBhdHRyaWJ1dGUgb2YgZmll
bGRzIGluIG11bHRpcGxlIGZpZWxkcyB0aW1lIGlucHV0IFVJLicpOwotCi1mdW5jdGlvbiBlbmFi
bGVBY2Nlc3NpYmlsaXR5KCkKLXsKLSAgICBpZiAoIXdpbmRvdy5hY2Nlc3NpYmlsaXR5Q29udHJv
bGxlcikgewotICAgICAgICBkZWJ1ZygiUGxlYXNlIHJ1biBpbnNpZGUgRHVtcFJlbmRlclRyZWUu
Iik7Ci0gICAgICAgIHJldHVybjsKLSAgICB9Ci19Ci0KLWZ1bmN0aW9uIGtleURvd24oa2V5LCBt
b2RpZmllcnMpCi17Ci0gICAgaWYgKCF3aW5kb3cuZXZlbnRTZW5kZXIpCi0gICAgICAgIHJldHVy
bjsKLSAgICBldmVudFNlbmRlci5rZXlEb3duKGtleSwgbW9kaWZpZXJzKTsKLX0KLQotdmFyIHRl
c3RJbnB1dCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ0ZXN0Iik7Ci0KLWVuYWJsZUFjY2Vz
c2liaWxpdHkoKTsKLXRlc3RJbnB1dC5mb2N1cygpOwotCi1kZWJ1ZygnTm9uLWVtcHR5IHZhbHVl
Jyk7Ci10ZXN0SW5wdXQuZm9jdXMoKTsKLWNoZWNrRm9jdXNlZEVsZW1lbnRBWEF0dHJpYnV0ZXMo
J0FYSGVscDogSG91cnMsIEFYVmFsdWVEZXNjcmlwdGlvbjogMTIsIGludFZhbHVlOjEyLCByYW5n
ZToxLTEyJyk7Ci1rZXlEb3duKCdcdCcpOwotY2hlY2tGb2N1c2VkRWxlbWVudEFYQXR0cmlidXRl
cygnQVhIZWxwOiBNaW51dGVzLCBBWFZhbHVlRGVzY3JpcHRpb246IDM0LCBpbnRWYWx1ZTozNCwg
cmFuZ2U6MC01OScpOwota2V5RG93bignXHQnKTsKLWNoZWNrRm9jdXNlZEVsZW1lbnRBWEF0dHJp
YnV0ZXMoJ0FYSGVscDogU2Vjb25kcywgQVhWYWx1ZURlc2NyaXB0aW9uOiA1NiwgaW50VmFsdWU6
NTYsIHJhbmdlOjAtNTknKTsKLWtleURvd24oJ1x0Jyk7Ci1jaGVja0ZvY3VzZWRFbGVtZW50QVhB
dHRyaWJ1dGVzKCdBWEhlbHA6IE1pbGxpc2Vjb25kcywgQVhWYWx1ZURlc2NyaXB0aW9uOiA3ODks
IGludFZhbHVlOjc4OSwgcmFuZ2U6MC05OTknKTsKLWtleURvd24oJ1x0Jyk7Ci1jaGVja0ZvY3Vz
ZWRFbGVtZW50QVhBdHRyaWJ1dGVzKCdBWEhlbHA6IEFNL1BNLCBBWFZhbHVlRGVzY3JpcHRpb246
IFBNLCBpbnRWYWx1ZToyLCByYW5nZToxLTInKTsKLQotZGVidWcoJ0VtcHR5IHZhbHVlJyk7Ci1r
ZXlEb3duKCdcYicpOwotY2hlY2tGb2N1c2VkRWxlbWVudEFYQXR0cmlidXRlcygnQVhIZWxwOiBB
TS9QTSwgQVhWYWx1ZURlc2NyaXB0aW9uOiBibGFuaywgaW50VmFsdWU6MCwgcmFuZ2U6MS0yJyk7
Ci1rZXlEb3duKCdcdCcsIFsnc2hpZnRLZXknXSk7Ci1rZXlEb3duKCdcYicpOwotY2hlY2tGb2N1
c2VkRWxlbWVudEFYQXR0cmlidXRlcygnQVhIZWxwOiBNaWxsaXNlY29uZHMsIEFYVmFsdWVEZXNj
cmlwdGlvbjogYmxhbmssIGludFZhbHVlOjAsIHJhbmdlOjAtOTk5Jyk7Ci1rZXlEb3duKCdcdCcs
IFsnc2hpZnRLZXknXSk7Ci1rZXlEb3duKCdcYicpOwotY2hlY2tGb2N1c2VkRWxlbWVudEFYQXR0
cmlidXRlcygnQVhIZWxwOiBTZWNvbmRzLCBBWFZhbHVlRGVzY3JpcHRpb246IGJsYW5rLCBpbnRW
YWx1ZTowLCByYW5nZTowLTU5Jyk7Ci1rZXlEb3duKCdcdCcsIFsnc2hpZnRLZXknXSk7Ci1rZXlE
b3duKCdcYicpOwotY2hlY2tGb2N1c2VkRWxlbWVudEFYQXR0cmlidXRlcygnQVhIZWxwOiBNaW51
dGVzLCBBWFZhbHVlRGVzY3JpcHRpb246IGJsYW5rLCBpbnRWYWx1ZTowLCByYW5nZTowLTU5Jyk7
Ci1rZXlEb3duKCdcdCcsIFsnc2hpZnRLZXknXSk7Ci1rZXlEb3duKCdcYicpOwotY2hlY2tGb2N1
c2VkRWxlbWVudEFYQXR0cmlidXRlcygnQVhIZWxwOiBIb3VycywgQVhWYWx1ZURlc2NyaXB0aW9u
OiBibGFuaywgaW50VmFsdWU6MCwgcmFuZ2U6MS0xMicpOwotCi1kZWJ1ZygnJyk7Ci10ZXN0SW5w
dXQucGFyZW50Tm9kZS5yZW1vdmVDaGlsZCh0ZXN0SW5wdXQpOwotPC9zY3JpcHQ+Ci08c2NyaXB0
IHNyYz0iLi4vLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3Njcmlw
dD4KLTwvYm9keT4KLTwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMv
dGltZS1tdWx0aXBsZS1maWVsZHMvdGltZS1tdWx0aXBsZS1maWVsZHMtYXgtdmFsdWUtY2hhbmdl
ZC1ub3RpZmljYXRpb24tZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy90aW1l
LW11bHRpcGxlLWZpZWxkcy90aW1lLW11bHRpcGxlLWZpZWxkcy1heC12YWx1ZS1jaGFuZ2VkLW5v
dGlmaWNhdGlvbi1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDJl
NWVkOWJkYTYzMjJmZDE1NmVhNDUxZTkxMzg3Y2YzODI4MDI0ZGIuLjAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy90aW1l
LW11bHRpcGxlLWZpZWxkcy90aW1lLW11bHRpcGxlLWZpZWxkcy1heC12YWx1ZS1jaGFuZ2VkLW5v
dGlmaWNhdGlvbi1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSwxNiArMCwwIEBACi1U
aGlzIHRlc3QgY2hlY2tzIHZhbHVlIGNoYW5nZWQgYWNjZXNzaWJpbGl0eSBub3RpZmljYXRpb25z
LgotCi1PbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2Vz
LCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCi0KLQotRm9jdXNlZFVJRWxlbWVudENoYW5n
ZWQgQVhIZWxwOiBIb3Vycz1BWFZhbHVlRGVzY3JpcHRpb246IDEyCi1Gb2N1c2VkVUlFbGVtZW50
Q2hhbmdlZCBBWEhlbHA6IE1pbnV0ZXM9QVhWYWx1ZURlc2NyaXB0aW9uOiAzNAotVmFsdWVDaGFu
Z2VkIEFYSGVscDogTWludXRlcz1BWFZhbHVlRGVzY3JpcHRpb246IDA1Ci1WYWx1ZUNoYW5nZWQg
QVhIZWxwOiBNaW51dGVzPUFYVmFsdWVEZXNjcmlwdGlvbjogMDUKLVZhbHVlQ2hhbmdlZCBBWEhl
bHA6IE1pbnV0ZXM9QVhWYWx1ZURlc2NyaXB0aW9uOiAwNQotVmFsdWVDaGFuZ2VkIEFYSGVscDog
TWludXRlcz1BWFZhbHVlRGVzY3JpcHRpb246IDA1Ci0KLVBBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2Vk
IGlzIHRydWUKLQotVEVTVCBDT01QTEVURQotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0
L2Zvcm1zL3RpbWUtbXVsdGlwbGUtZmllbGRzL3RpbWUtbXVsdGlwbGUtZmllbGRzLWF4LXZhbHVl
LWNoYW5nZWQtbm90aWZpY2F0aW9uLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3RpbWUt
bXVsdGlwbGUtZmllbGRzL3RpbWUtbXVsdGlwbGUtZmllbGRzLWF4LXZhbHVlLWNoYW5nZWQtbm90
aWZpY2F0aW9uLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDA1OTBmYTNlMjNh
MmRhNDM5YTFlYTRlY2FlYjU0NTIzODMxY2ZlYzIuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy90aW1lLW11bHRpcGxl
LWZpZWxkcy90aW1lLW11bHRpcGxlLWZpZWxkcy1heC12YWx1ZS1jaGFuZ2VkLW5vdGlmaWNhdGlv
bi5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsNTAgKzAsMCBAQAotPCFET0NUWVBFIGh0bWw+Ci08
aHRtbD4KLTxoZWFkPgotPHNjcmlwdCBzcmM9Ii4uLy4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pz
LXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5PgotPGlucHV0IGlkPXRlc3Qg
dHlwZT0idGltZSIgdmFsdWU9IjEyOjM0OjU2Ljc4OSI+Ci08c2NyaXB0PgotZGVzY3JpcHRpb24o
J1RoaXMgdGVzdCBjaGVja3MgdmFsdWUgY2hhbmdlZCBhY2Nlc3NpYmlsaXR5IG5vdGlmaWNhdGlv
bnMuJyk7Ci0KLWZ1bmN0aW9uIGVuYWJsZUFjY2Vzc2liaWxpdHkoKQotewotICAgIGlmICghd2lu
ZG93LmFjY2Vzc2liaWxpdHlDb250cm9sbGVyKSB7Ci0gICAgICAgIGRlYnVnKCJQbGVhc2UgcnVu
IGluc2lkZSBEdW1wUmVuZGVyVHJlZS4iKTsKLSAgICAgICAgcmV0dXJuOwotICAgIH0KLQotICAg
IGFjY2Vzc2liaWxpdHlDb250cm9sbGVyLmFkZE5vdGlmaWNhdGlvbkxpc3RlbmVyKGZ1bmN0aW9u
IChlbGVtZW50LCBub3RpZmljYXRpb24pIHsKLSAgICAgICAgaWYgKG5vdGlmaWNhdGlvbiA9PSAn
Rm9jdXNlZFVJRWxlbWVudENoYW5nZWQnIHx8IG5vdGlmaWNhdGlvbiA9PSAnVmFsdWVDaGFuZ2Vk
JykgewotICAgICAgICAgICAgZGVidWcobm90aWZpY2F0aW9uICsgJyAnICsgZWxlbWVudC5oZWxw
VGV4dCArICc9JyArIGVsZW1lbnQudmFsdWVEZXNjcmlwdGlvbik7Ci0gICAgICAgIH0KLSAgICB9
KTsKLX0KLQotZnVuY3Rpb24ga2V5RG93bihrZXksIG1vZGlmaWVycykKLXsKLSAgICBpZiAoIXdp
bmRvdy5ldmVudFNlbmRlcikKLSAgICAgICAgcmV0dXJuOwotICAgIGV2ZW50U2VuZGVyLmtleURv
d24oa2V5LCBtb2RpZmllcnMpOwotfQotCi12YXIgdGVzdElucHV0ID0gZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoInRlc3QiKTsKLQotZW5hYmxlQWNjZXNzaWJpbGl0eSgpOwotdGVzdElucHV0LmZv
Y3VzKCk7Ci1rZXlEb3duKCdcdCcpOwota2V5RG93bignNCcpOwota2V5RG93bigndXBBcnJvdycp
OwotCi13aW5kb3cuanNUZXN0SXNBc3luYyA9IHRydWU7Ci0KLXdpbmRvdy5zZXRUaW1lb3V0KGZ1
bmN0aW9uICgpIHsKLSAgICBkZWJ1ZygnJyk7Ci0gICAgdGVzdElucHV0LnBhcmVudE5vZGUucmVt
b3ZlQ2hpbGQodGVzdElucHV0KTsKLSAgICBmaW5pc2hKU1Rlc3QoKTsKLX0sIDEpOwotPC9zY3Jp
cHQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0
LmpzIj48L3NjcmlwdD4KLTwvYm9keT4KLTwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2Zhc3QvZm9ybXMvdGltZS1tdWx0aXBsZS1maWVsZHMvdGltZS1tdWx0aXBsZS1maWVsZHMtYmx1
ci1hbmQtZm9jdXMtZXZlbnRzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMv
dGltZS1tdWx0aXBsZS1maWVsZHMvdGltZS1tdWx0aXBsZS1maWVsZHMtYmx1ci1hbmQtZm9jdXMt
ZXZlbnRzLWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNWMyMzky
MTg3YzVlZTBlNjAzNjFiZDE0MWVlYzBjNmZhNTFmMjExZi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3RpbWUtbXVs
dGlwbGUtZmllbGRzL3RpbWUtbXVsdGlwbGUtZmllbGRzLWJsdXItYW5kLWZvY3VzLWV2ZW50cy1l
eHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSwxOCArMCwwIEBACi1DaGVjayBibHVyIGFu
ZCBmb2N1cyBldmVudHMgZm9yIG11bHRpcGxlIGZpZWxkcyB0aW1lIGlucHV0IFVJCi0KLU9uIHN1
Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2Vk
IGJ5ICJURVNUIENPTVBMRVRFIi4KLQotCi1mb2N1cygpIGFuZCBibHVyKCkKLVBBU1MgdGVzdElu
cHV0LmZvY3VzKCk7IHN0YXRlKCkgaXMgImJsdXI9MCBmb2N1cz0xIgotUEFTUyB0ZXN0SW5wdXQu
Ymx1cigpOyBzdGF0ZSgpIGlzICJibHVyPTEgZm9jdXM9MSIKLWZvY3VzIGFuZCBUYWIga2V5IHRv
IGJsdXIKLVBBU1Mga2V5RG93bigiCSIpOyBzdGF0ZSgpIGlzICJibHVyPTAgZm9jdXM9MSIKLVBB
U1Mga2V5RG93bigiCSIpOyBzdGF0ZSgpIGlzICJibHVyPTAgZm9jdXM9MSIKLVBBU1Mga2V5RG93
bigiCSIpOyBzdGF0ZSgpIGlzICJibHVyPTAgZm9jdXM9MSIKLVBBU1Mga2V5RG93bigiCSIpOyBz
dGF0ZSgpIGlzICJibHVyPTEgZm9jdXM9MSIKLQotUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMg
dHJ1ZQotCi1URVNUIENPTVBMRVRFCi0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZm9y
bXMvdGltZS1tdWx0aXBsZS1maWVsZHMvdGltZS1tdWx0aXBsZS1maWVsZHMtYmx1ci1hbmQtZm9j
dXMtZXZlbnRzLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3RpbWUtbXVsdGlwbGUtZmll
bGRzL3RpbWUtbXVsdGlwbGUtZmllbGRzLWJsdXItYW5kLWZvY3VzLWV2ZW50cy5odG1sCmRlbGV0
ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBlNTAyNGZiYWVjNWE4N2FlZmYwNGMzMDZhYjAwNjg5
NjIzYjQ3M2NmLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBh
L0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvdGltZS1tdWx0aXBsZS1maWVsZHMvdGltZS1tdWx0aXBs
ZS1maWVsZHMtYmx1ci1hbmQtZm9jdXMtZXZlbnRzLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSwx
MiArMCwwIEBACi08IURPQ1RZUEUgaHRtbD4KLTxodG1sPgotPGJvZHk+Ci08c2NyaXB0IHNyYz0i
Li4vLi4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3Jj
PSIuLi9yZXNvdXJjZXMvbXVsdGlwbGUtZmllbGRzLWJsdXItYW5kLWZvY3VzLWV2ZW50cy5qcyI+
PC9zY3JpcHQ+Ci08ZGl2IGlkPSJjb250YWluZXIiPjwvZGl2PgotPHNjcmlwdD4KLXN0YXJ0VGVz
dEZvcigndGltZScpOwotPC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vanMvcmVzb3VyY2Vz
L2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Ci08L2JvZHk+Ci08L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3RpbWUtbXVsdGlwbGUtZmllbGRzL3RpbWUtbXVsdGlw
bGUtZmllbGRzLWNoYW5nZS1sYXlvdXQtYnktdmFsdWUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvZmFzdC9mb3Jtcy90aW1lLW11bHRpcGxlLWZpZWxkcy90aW1lLW11bHRpcGxlLWZpZWxkcy1j
aGFuZ2UtbGF5b3V0LWJ5LXZhbHVlLWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMjE3YTY4OGQ1YTY5YjZiYmU2MDNmNDNjYmZhOWJjYTk1YmE5Y2Q3Yi4uMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0
L2Zvcm1zL3RpbWUtbXVsdGlwbGUtZmllbGRzL3RpbWUtbXVsdGlwbGUtZmllbGRzLWNoYW5nZS1s
YXlvdXQtYnktdmFsdWUtZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEsMTEgKzAsMCBA
QAotQ2hhbmdlIG11bHRpcGxlIGZpZWxkcyB0aW1lIGlucHV0IFVJIGxheW91dCBieSB2YWx1ZQot
Ci1PbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBm
b2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCi0KLQotUEFTUyB3aWR0aE9mU3RlcDYwIDwgd2lk
dGhXaXRoTWlsbGlzZWNvbmQgaXMgdHJ1ZQotUEFTUyB3aWR0aE9mU3RlcDYwID09IHdpZHRoV2l0
aFNlY29uZCBpcyB0cnVlCi1QQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCi0KLVRFU1Qg
Q09NUExFVEUKLQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy90aW1lLW11bHRp
cGxlLWZpZWxkcy90aW1lLW11bHRpcGxlLWZpZWxkcy1jaGFuZ2UtbGF5b3V0LWJ5LXZhbHVlLmh0
bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3RpbWUtbXVsdGlwbGUtZmllbGRzL3RpbWUtbXVs
dGlwbGUtZmllbGRzLWNoYW5nZS1sYXlvdXQtYnktdmFsdWUuaHRtbApkZWxldGVkIGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggNWEzZDc1YWMyZmJjNjFiMTQ5ZjA1NzlkMjJiYTIzZGJkNWRmODBiMy4u
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0
cy9mYXN0L2Zvcm1zL3RpbWUtbXVsdGlwbGUtZmllbGRzL3RpbWUtbXVsdGlwbGUtZmllbGRzLWNo
YW5nZS1sYXlvdXQtYnktdmFsdWUuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDI4ICswLDAgQEAK
LTwhRE9DVFlQRSBodG1sPgotPGh0bWw+Ci08aGVhZD4KLTxzY3JpcHQgc3JjPSIuLi8uLi9qcy9y
ZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHk+Ci08c2Ny
aXB0PgotZGVzY3JpcHRpb24oIkNoYW5nZSBtdWx0aXBsZSBmaWVsZHMgdGltZSBpbnB1dCBVSSBs
YXlvdXQgYnkgdmFsdWUiKTsKLXZhciB0ZXN0SW5wdXQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KCJpbnB1dCIpOwotdGVzdElucHV0LnNldEF0dHJpYnV0ZSgidHlwZSIsICJ0aW1lIik7Ci10ZXN0
SW5wdXQuc2V0QXR0cmlidXRlKCJzdGVwIiwgIjYwIik7Ci10ZXN0SW5wdXQuc2V0QXR0cmlidXRl
KCJ2YWx1ZSIsICIxMjozNDo1NiIpOwotZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZCh0ZXN0SW5w
dXQpOwotdmFyIHdpZHRoT2ZTdGVwNjAgPSB0ZXN0SW5wdXQub2Zmc2V0V2lkdGg7Ci0KLXRlc3RJ
bnB1dC52YWx1ZSA9ICIxMjozNDo1Ni43ODkiOwotdmFyIHdpZHRoV2l0aE1pbGxpc2Vjb25kID0g
dGVzdElucHV0Lm9mZnNldFdpZHRoOwotc2hvdWxkQmVUcnVlKCd3aWR0aE9mU3RlcDYwIDwgd2lk
dGhXaXRoTWlsbGlzZWNvbmQnKTsKLQotdGVzdElucHV0LnZhbHVlID0gIjEyOjM0OjU2IjsKLXZh
ciB3aWR0aFdpdGhTZWNvbmQgPSB0ZXN0SW5wdXQub2Zmc2V0V2lkdGg7Ci1zaG91bGRCZVRydWUo
J3dpZHRoT2ZTdGVwNjAgPT0gd2lkdGhXaXRoU2Vjb25kJyk7Ci0KLWRvY3VtZW50LmJvZHkucmVt
b3ZlQ2hpbGQodGVzdElucHV0KTsKLTwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii4uLy4uL2pzL3Jl
c291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgotPC9ib2R5PgotPC9odG1sPgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy90aW1lLW11bHRpcGxlLWZpZWxkcy90aW1l
LW11bHRpcGxlLWZpZWxkcy1jaGFuZ2UtdHlwZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9m
YXN0L2Zvcm1zL3RpbWUtbXVsdGlwbGUtZmllbGRzL3RpbWUtbXVsdGlwbGUtZmllbGRzLWNoYW5n
ZS10eXBlLWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZmJmZWVk
OTJjNmUwY2JhOGQ3MjQ5YjZjODgzNGEzMDc5NTA0MDQxMS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3RpbWUtbXVs
dGlwbGUtZmllbGRzL3RpbWUtbXVsdGlwbGUtZmllbGRzLWNoYW5nZS10eXBlLWV4cGVjdGVkLnR4
dAorKysgL2Rldi9udWxsCkBAIC0xICswLDAgQEAKLVBBU1MgaWYgbm90IGNyYXNoZWQuCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3RpbWUtbXVsdGlwbGUtZmllbGRzL3RpbWUt
bXVsdGlwbGUtZmllbGRzLWNoYW5nZS10eXBlLW9uLWZvY3VzLTItZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvZmFzdC9mb3Jtcy90aW1lLW11bHRpcGxlLWZpZWxkcy90aW1lLW11bHRpcGxlLWZp
ZWxkcy1jaGFuZ2UtdHlwZS1vbi1mb2N1cy0yLWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggOTc3MDNlNzU0NGRmYzFhMTU0NWM3OWMxYTk3MDNmMzRmNWViNjFhNy4u
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0
cy9mYXN0L2Zvcm1zL3RpbWUtbXVsdGlwbGUtZmllbGRzL3RpbWUtbXVsdGlwbGUtZmllbGRzLWNo
YW5nZS10eXBlLW9uLWZvY3VzLTItZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEsNyAr
MCwwIEBACi1BU1NFUlQgc2hvdWxkIG5vdCBiZSB0cmlnZ2VyZWQgd2hlbiB0eXBlIGlzIGNoYW5n
ZWQgaW4gZm9jdXMgZXZlbnQuCi0KLVBBU1MgdW5sZXNzIGNyYXNoLgotUEFTUyBzdWNjZXNzZnVs
bHlQYXJzZWQgaXMgdHJ1ZQotCi1URVNUIENPTVBMRVRFCi0KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2Zhc3QvZm9ybXMvdGltZS1tdWx0aXBsZS1maWVsZHMvdGltZS1tdWx0aXBsZS1maWVsZHMt
Y2hhbmdlLXR5cGUtb24tZm9jdXMtMi5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy90aW1l
LW11bHRpcGxlLWZpZWxkcy90aW1lLW11bHRpcGxlLWZpZWxkcy1jaGFuZ2UtdHlwZS1vbi1mb2N1
cy0yLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGUwMmUxMzExMTc3YmNlMzA1
Y2NhN2RmZmVmZjNkMTZlYmZmMGVlZDcuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy90aW1lLW11bHRpcGxlLWZpZWxk
cy90aW1lLW11bHRpcGxlLWZpZWxkcy1jaGFuZ2UtdHlwZS1vbi1mb2N1cy0yLmh0bWwKKysrIC9k
ZXYvbnVsbApAQCAtMSwyOSArMCwwIEBACi08IURPQ1RZUEUgaHRtbD4KLTxodG1sPjxib2R5IGNv
bnRlbnRlZGl0YWJsZT0idHJ1ZSI+Ci08c2NyaXB0IHNyYz0iLi4vLi4vLi4vZmFzdC9qcy9yZXNv
dXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgotCi08cD5BU1NFUlQgc2hvdWxkIG5vdCBi
ZSB0cmlnZ2VyZWQgd2hlbiB0eXBlIGlzIGNoYW5nZWQgaW4gZm9jdXMgZXZlbnQuPC9wPgotCi08
ZGl2IGlkPSJjb250YWluZXIiPgotICAgIDxpbnB1dCBpZD0iaW5wdXQiIHR5cGU9InRpbWUiIHN0
eWxlPSJtYXJnaW4tdG9wOiAxMDAwcHg7Ij4KLTwvZGl2PgotPHByZSBpZD0iY29uc29sZSI+PC9w
cmU+Ci0KLTxzY3JpcHQ+Ci1qc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKLQotaW5wdXQuYWRkRXZlbnRM
aXN0ZW5lcignZm9jdXMnLCBmdW5jdGlvbigpIHsKLSAgICBpbnB1dC50eXBlID0gJ3RleHQ7Jwot
fSk7Ci0KLXNldFRpbWVvdXQoZnVuY3Rpb24oKSB7Ci0gICAgZXZlbnRTZW5kZXIua2V5RG93bign
XHQnKTsKLSAgICBldmVudFNlbmRlci5rZXlEb3duKCdcdCcpOwotICAgIHNldFRpbWVvdXQoZnVu
Y3Rpb24oKSB7Ci0gICAgICAgIGNvbnRhaW5lci5pbm5lckhUTUwgPSAnUEFTUyB1bmxlc3MgY3Jh
c2guJzsKLSAgICAgICAgZmluaXNoSlNUZXN0KCk7Ci0gICAgfSwgMCk7Ci19LCAwKTsKLTwvc2Ny
aXB0PgotPHNjcmlwdCBzcmM9Ii4uLy4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcG9z
dC5qcyI+PC9zY3JpcHQ+Ci08L2JvZHk+PC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZmFzdC9mb3Jtcy90aW1lLW11bHRpcGxlLWZpZWxkcy90aW1lLW11bHRpcGxlLWZpZWxkcy1jaGFu
Z2UtdHlwZS1vbi1mb2N1cy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3Rp
bWUtbXVsdGlwbGUtZmllbGRzL3RpbWUtbXVsdGlwbGUtZmllbGRzLWNoYW5nZS10eXBlLW9uLWZv
Y3VzLWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYjU1Nzg2ODQ4
MGIwZGIwOWU1Zjg2NzhiYWFiZjZkNTM0MjYyZGYzMi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3RpbWUtbXVsdGlw
bGUtZmllbGRzL3RpbWUtbXVsdGlwbGUtZmllbGRzLWNoYW5nZS10eXBlLW9uLWZvY3VzLWV4cGVj
dGVkLnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDEyICswLDAgQEAKLUFzc2VydGlvbiBmYWlsdXJl
IGJ5IGNoYW5naW5nIHR5cGUgZnJvbSB0eXBlPXRpbWUgaW4gZm9jdXMgZXZlbnQuCi0KLU9uIHN1
Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2Vk
IGJ5ICJURVNUIENPTVBMRVRFIi4KLQotCi0KLVBBU1MgTm90IGNyYXNoZWQuCi1QQVNTIG1vdXNl
RG93bkNvdW50IGlzIDEKLVBBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKLQotVEVTVCBD
T01QTEVURQotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3RpbWUtbXVsdGlw
bGUtZmllbGRzL3RpbWUtbXVsdGlwbGUtZmllbGRzLWNoYW5nZS10eXBlLW9uLWZvY3VzLmh0bWwg
Yi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3RpbWUtbXVsdGlwbGUtZmllbGRzL3RpbWUtbXVsdGlw
bGUtZmllbGRzLWNoYW5nZS10eXBlLW9uLWZvY3VzLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IGIxYmQ3MjNmZjg1MGM0MjRhYjdhOTY5ODcxZjUzZDQyMWNmMjNlZDYuLjAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvZmFz
dC9mb3Jtcy90aW1lLW11bHRpcGxlLWZpZWxkcy90aW1lLW11bHRpcGxlLWZpZWxkcy1jaGFuZ2Ut
dHlwZS1vbi1mb2N1cy5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsMTggKzAsMCBAQAotPCFET0NU
WVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgotPGh0bWw+Ci08aGVhZD4K
LTxzY3JpcHQgc3JjPSIuLi8uLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+
PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL2NvbW1vbi1jaGFuZ2UtdHlwZS1v
bi1mb2N1cy5qcyI+PC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keT4KLTxwIGlkPSJkZXNjcmlwdGlv
biI+PC9wPgotCi08aW5wdXQgaWQ9dGVzdCB0eXBlPXRpbWUgdmFsdWU9IjA3OjAwIj4KLQotPGRp
diBpZD0iY29uc29sZSI+PC9kaXY+Ci08c2NyaXB0PgotdGVzdENoYW5nZVR5cGVPbkZvY3VzKCk7
Ci08L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIuLi8uLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10
ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgotPC9ib2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZmFzdC9mb3Jtcy90aW1lLW11bHRpcGxlLWZpZWxkcy90aW1lLW11bHRpcGxlLWZp
ZWxkcy1jaGFuZ2UtdHlwZS5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy90aW1lLW11bHRp
cGxlLWZpZWxkcy90aW1lLW11bHRpcGxlLWZpZWxkcy1jaGFuZ2UtdHlwZS5odG1sCmRlbGV0ZWQg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCBmMTA2YWI5NjIwODkwZWYwN2EwZDA1OTEyNmE0NzlmNWVk
ODUzYTIyLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xh
eW91dFRlc3RzL2Zhc3QvZm9ybXMvdGltZS1tdWx0aXBsZS1maWVsZHMvdGltZS1tdWx0aXBsZS1m
aWVsZHMtY2hhbmdlLXR5cGUuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDEwICswLDAgQEAKLTxi
b2R5PgotPHNjcmlwdD4KLWlmICh3aW5kb3cudGVzdFJ1bm5lcikKLSAgICB0ZXN0UnVubmVyLmR1
bXBBc1RleHQoKTsKLXZhciBpID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnaW5wdXQnKTsKLWku
dHlwZSA9ICd0aW1lJzsKLWkudHlwZSA9ICd0ZXh0JzsKLTwvc2NyaXB0PgotUEFTUyBpZiBub3Qg
Y3Jhc2hlZC4KLTwvYm9keT4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvdGlt
ZS1tdWx0aXBsZS1maWVsZHMvdGltZS1tdWx0aXBsZS1maWVsZHMtY2xlYXJidXR0b24tY2hhbmdl
LWFuZC1pbnB1dC1ldmVudHMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy90
aW1lLW11bHRpcGxlLWZpZWxkcy90aW1lLW11bHRpcGxlLWZpZWxkcy1jbGVhcmJ1dHRvbi1jaGFu
Z2UtYW5kLWlucHV0LWV2ZW50cy1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDZmNTE0ODkyYmEyYTExZjU2NmVlNGZkNTZjZDUyMDU3OTA4MzE0OGIuLjAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9m
b3Jtcy90aW1lLW11bHRpcGxlLWZpZWxkcy90aW1lLW11bHRpcGxlLWZpZWxkcy1jbGVhcmJ1dHRv
bi1jaGFuZ2UtYW5kLWlucHV0LWV2ZW50cy1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAt
MSwxOSArMCwwIEBACi1UZXN0IGZvciBldmVudCBkaXNwYXRjaGluZyBieSBzcGluIGJ1dHRvbnMg
aW4gYSB0eXBlPXRpbWUgaW5wdXQuCi0KLU9uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmll
cyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KLQotCi1J
bml0aWFsIHN0YXRlCi1QQVNTIGNoYW5nZUV2ZW50Q291bnRlciBpcyAwCi1QQVNTIGlucHV0RXZl
bnRDb3VudGVyIGlzIDAKLUNsaWNrIHRoZSBjbGVhciBidXR0b24KLVBBU1MgdGVzdElucHV0LnZh
bHVlIGlzICIiCi1QQVNTIGNoYW5nZUV2ZW50Q291bnRlciBpcyAxCi1QQVNTIGlucHV0RXZlbnRD
b3VudGVyIGlzIDEKLUZvY3VzIG9uIGFub3RoZXIgZmllbGQKLVBBU1MgY2hhbmdlRXZlbnRDb3Vu
dGVyIGlzIDEKLVBBU1MgaW5wdXRFdmVudENvdW50ZXIgaXMgMQotUEFTUyBzdWNjZXNzZnVsbHlQ
YXJzZWQgaXMgdHJ1ZQotCi1URVNUIENPTVBMRVRFCi0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2Zhc3QvZm9ybXMvdGltZS1tdWx0aXBsZS1maWVsZHMvdGltZS1tdWx0aXBsZS1maWVsZHMtY2xl
YXJidXR0b24tY2hhbmdlLWFuZC1pbnB1dC1ldmVudHMuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3Qv
Zm9ybXMvdGltZS1tdWx0aXBsZS1maWVsZHMvdGltZS1tdWx0aXBsZS1maWVsZHMtY2xlYXJidXR0
b24tY2hhbmdlLWFuZC1pbnB1dC1ldmVudHMuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggZjE3ZDcwYzYyOTQyNGQ4YTMxNzMyMmM4MzE5YzdjZmNhOWE1MTVlZS4uMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2Zv
cm1zL3RpbWUtbXVsdGlwbGUtZmllbGRzL3RpbWUtbXVsdGlwbGUtZmllbGRzLWNsZWFyYnV0dG9u
LWNoYW5nZS1hbmQtaW5wdXQtZXZlbnRzLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSwxNCArMCww
IEBACi08IURPQ1RZUEUgaHRtbD4KLTxodG1sPgotPGhlYWQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4v
Li4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBz
cmM9Ii4uL3Jlc291cmNlcy9jb21tb24uanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii4uL3Jl
c291cmNlcy9jb21tb24tY2xlYXJidXR0b24tY2hhbmdlLWFuZC1pbnB1dC1ldmVudHMuanMiPjwv
c2NyaXB0PgotPC9oZWFkPgotPGJvZHk+Ci08c2NyaXB0PgotdGVzdENsZWFyQnV0dG9uQ2hhbmdl
QW5kSW5wdXRFdmVudHMoJ3RpbWUnLCAnMTI6MzQnKTsKLTwvc2NyaXB0PgotPHNjcmlwdCBzcmM9
Ii4uLy4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Ci08
L2JvZHk+Ci08L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3RpbWUt
bXVsdGlwbGUtZmllbGRzL3RpbWUtbXVsdGlwbGUtZmllbGRzLWNsZWFyYnV0dG9uLXZpc2liaWxp
dHktYWZ0ZXItcmVzdG9yZS1leHBlY3RlZC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy90
aW1lLW11bHRpcGxlLWZpZWxkcy90aW1lLW11bHRpcGxlLWZpZWxkcy1jbGVhcmJ1dHRvbi12aXNp
YmlsaXR5LWFmdGVyLXJlc3RvcmUtZXhwZWN0ZWQuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggNWJjZTc5MzZiMjU2NTliNzQxODBmNDNkMWRhY2E0ZDhhNDlmMTBjZC4uMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0
L2Zvcm1zL3RpbWUtbXVsdGlwbGUtZmllbGRzL3RpbWUtbXVsdGlwbGUtZmllbGRzLWNsZWFyYnV0
dG9uLXZpc2liaWxpdHktYWZ0ZXItcmVzdG9yZS1leHBlY3RlZC5odG1sCisrKyAvZGV2L251bGwK
QEAgLTEsMTAgKzAsMCBAQAotPCFET0NUWVBFIGh0bWw+Ci08aHRtbD4KLTxib2R5PgotPGlucHV0
IGlkPSJlbXB0eU9uRmlyc3RWaXNpdCIgdmFsdWU9InZpc2l0ZWQiPgotPGZvcm0gYWN0aW9uPSJk
YXRhOnRleHQvaHRtbCwmbHQ7c2NyaXB0Pmhpc3RvcnkuYmFjaygpJmx0Oy9zY3JpcHQ+IiBpZD1m
b3JtMT4KLSAgICA8aW5wdXQgdHlwZT10aW1lIGlkPWlucHV0MT4KLSAgICA8aW5wdXQgdHlwZT10
aW1lIGlkPWlucHV0MiB2YWx1ZT0iMDI6MDIiPgotICAgIDxpbnB1dCB0eXBlPXRpbWUgaWQ9aW5w
dXQzIHZhbHVlPSIwMzowMzowMy4wMDMiPgotPC9mb3JtPgotPC9ib2R5PgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy90aW1lLW11bHRpcGxlLWZpZWxkcy90aW1lLW11bHRpcGxl
LWZpZWxkcy1jbGVhcmJ1dHRvbi12aXNpYmlsaXR5LWFmdGVyLXJlc3RvcmUuaHRtbCBiL0xheW91
dFRlc3RzL2Zhc3QvZm9ybXMvdGltZS1tdWx0aXBsZS1maWVsZHMvdGltZS1tdWx0aXBsZS1maWVs
ZHMtY2xlYXJidXR0b24tdmlzaWJpbGl0eS1hZnRlci1yZXN0b3JlLmh0bWwKZGVsZXRlZCBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDRiM2M0ZWU2ZDNmMDVjM2FlMGQ1ODFlM2RmZjI3MjJmYTEwY2Jj
ZTMuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0
VGVzdHMvZmFzdC9mb3Jtcy90aW1lLW11bHRpcGxlLWZpZWxkcy90aW1lLW11bHRpcGxlLWZpZWxk
cy1jbGVhcmJ1dHRvbi12aXNpYmlsaXR5LWFmdGVyLXJlc3RvcmUuaHRtbAorKysgL2Rldi9udWxs
CkBAIC0xLDMyICswLDAgQEAKLTwhRE9DVFlQRSBodG1sPgotPGh0bWw+Ci08Ym9keT4KLTxpbnB1
dCBpZD0iZW1wdHlPbkZpcnN0VmlzaXQiPgotPGZvcm0gYWN0aW9uPSJkYXRhOnRleHQvaHRtbCwm
bHQ7c2NyaXB0Pmhpc3RvcnkuYmFjaygpJmx0Oy9zY3JpcHQ+IiBpZD1mb3JtMT4KLSAgICA8aW5w
dXQgdHlwZT10aW1lIGlkPWlucHV0MT4KLSAgICA8aW5wdXQgdHlwZT10aW1lIGlkPWlucHV0Mj4K
LSAgICA8aW5wdXQgdHlwZT10aW1lIGlkPWlucHV0MyB2YWx1ZT0iMDE6MDE6MDEuMDAxIj4KLTwv
Zm9ybT4KLQotPHNjcmlwdD4KLS8vIFJlc3RvcmluZyB0aGUgZm9ybSBzaG91bGQgdXBkYXRlIHRo
ZSBjbGVhciBidXR0b24gdmlzaWJpbGl0eS4KLXRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOwot
ZnVuY3Rpb24gcnVuVGVzdCgpCi17Ci0gICAgdmFyIHN0YXRlID0gZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoJ2VtcHR5T25GaXJzdFZpc2l0Jyk7Ci0gICAgaWYgKCFzdGF0ZS52YWx1ZSkgewotICAg
ICAgICAvLyBGaXJzdCB2aXNpdC4KLSAgICAgICAgc2V0VGltZW91dChmdW5jdGlvbigpIHsKLSAg
ICAgICAgICAgIHN0YXRlLnZhbHVlID0gJ3Zpc2l0ZWQnOwotICAgICAgICAgICAgZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoJ2lucHV0MicpLnZhbHVlID0gIjAyOjAyIjsKLSAgICAgICAgICAgIGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCdpbnB1dDMnKS52YWx1ZSA9ICIwMzowMzowMy4wMDMiOwot
ICAgICAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2Zvcm0xJykuc3VibWl0KCk7Ci0g
ICAgICAgIH0sIDApOwotICAgIH0gZWxzZSB7Ci0gICAgICAgIHRlc3RSdW5uZXIubm90aWZ5RG9u
ZSgpOwotICAgIH0KLX0KLQotd2luZG93Lm9ubG9hZCA9IHJ1blRlc3Q7Ci08L3NjcmlwdD4KLTwv
Ym9keT4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvdGltZS1tdWx0aXBsZS1m
aWVsZHMvdGltZS1tdWx0aXBsZS1maWVsZHMtY3Jhc2gtYWZ0ZXItYWRvcHRub2RlLWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvdGltZS1tdWx0aXBsZS1maWVsZHMvdGltZS1t
dWx0aXBsZS1maWVsZHMtY3Jhc2gtYWZ0ZXItYWRvcHRub2RlLWV4cGVjdGVkLnR4dApkZWxldGVk
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggM2M3ZWY4ZWQxZDk1N2I0M2UxZGU4YTJiNjQ4NTAzOTlk
YmM2NGE4MC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9M
YXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3RpbWUtbXVsdGlwbGUtZmllbGRzL3RpbWUtbXVsdGlwbGUt
ZmllbGRzLWNyYXNoLWFmdGVyLWFkb3B0bm9kZS1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApA
QCAtMSwxMSArMCwwIEBACi1DaGVjayBhZG9wdE5vZGUgZGlzcGF0Y2hzIGJsdXIgZXZlbnQgZm9y
IG11bHRpcGxlIGZpZWxkcyB0aW1lIGlucHV0IFVJCi0KLU9uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNl
ZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRF
Ii4KLQotCi1QQVNTIGxvZ3MudG9TdHJpbmcoKSBpcyAic3RhcnQtYWRvcHROb2RlLGJsdXIsZW5k
LWFkb3B0Tm9kZSxzdGFydC1mb2N1cyxlbmQtZm9jdXMiCi0KLVBBU1Mgc3VjY2Vzc2Z1bGx5UGFy
c2VkIGlzIHRydWUKLQotVEVTVCBDT01QTEVURQotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9m
YXN0L2Zvcm1zL3RpbWUtbXVsdGlwbGUtZmllbGRzL3RpbWUtbXVsdGlwbGUtZmllbGRzLWNyYXNo
LWFmdGVyLWFkb3B0bm9kZS5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy90aW1lLW11bHRp
cGxlLWZpZWxkcy90aW1lLW11bHRpcGxlLWZpZWxkcy1jcmFzaC1hZnRlci1hZG9wdG5vZGUuaHRt
bApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggOGI2ZmE4N2RlYTk2MTA2MDdjZmEwNzA4
NjU1ZTlkYTE0YTBlZTBhYS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3RpbWUtbXVsdGlwbGUtZmllbGRzL3RpbWUt
bXVsdGlwbGUtZmllbGRzLWNyYXNoLWFmdGVyLWFkb3B0bm9kZS5odG1sCisrKyAvZGV2L251bGwK
QEAgLTEsMzEgKzAsMCBAQAotPCFET0NUWVBFIGh0bWw+Ci08aHRtbD4KLTxoZWFkPgotPHNjcmlw
dCBzcmM9Ii4uLy4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Ci08L2hl
YWQ+Ci08Ym9keT4KLTxkaXYgaWQ9ImNvbnRhaW5lciI+Ci08aW5wdXQgYXV0b2ZvY3VzIGlkPSJ0
ZXN0IiB0eXBlPSJ0aW1lIiB2YWx1ZT0iMTI6MzQiPgotPC9kaXY+Ci08c2NyaXB0PgotZGVzY3Jp
cHRpb24oJ0NoZWNrIGFkb3B0Tm9kZSBkaXNwYXRjaHMgYmx1ciBldmVudCBmb3IgbXVsdGlwbGUg
ZmllbGRzIHRpbWUgaW5wdXQgVUknKTsKLXZhciBjb250YWluZXIgPSBkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29udGFpbmVyIik7Ci12YXIgdGVzdElucHV0ID0gZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoJ3Rlc3QnKTsKLXZhciBsb2dzID0gW107Ci10ZXN0SW5wdXQuYWRkRXZlbnRMaXN0ZW5l
cignYmx1cicsIGZ1bmN0aW9uICgpIHsgbG9ncy5wdXNoKCdibHVyJyk7IH0pOwotbG9ncy5wdXNo
KCdzdGFydC1hZG9wdE5vZGUnKTsKLWRvY3VtZW50LmltcGxlbWVudGF0aW9uLmNyZWF0ZURvY3Vt
ZW50KCcnLCAnJywgbnVsbCkuYWRvcHROb2RlKHRlc3RJbnB1dCk7Ci1sb2dzLnB1c2goJ2VuZC1h
ZG9wdE5vZGUnKTsKLXRlc3RJbnB1dC5zZXRBdHRyaWJ1dGUoJ3gnLCAneCcpOwotdGVzdElucHV0
LnNldEF0dHJpYnV0ZSgndHlwZScsICdzdWJtaXQnKTsKLWNvbnRhaW5lci5hcHBlbmRDaGlsZCh0
ZXN0SW5wdXQpOwotbG9ncy5wdXNoKCdzdGFydC1mb2N1cycpOwotdGVzdElucHV0LmZvY3VzKCk7
Ci1sb2dzLnB1c2goJ2VuZC1mb2N1cycpOwotc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdsb2dzLnRv
U3RyaW5nKCknLCAnc3RhcnQtYWRvcHROb2RlLGJsdXIsZW5kLWFkb3B0Tm9kZSxzdGFydC1mb2N1
cyxlbmQtZm9jdXMnKTsKLWRlYnVnKCcnKTsKLWRvY3VtZW50LmJvZHkucmVtb3ZlQ2hpbGQoY29u
dGFpbmVyKTsKLTwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii4uLy4uL2pzL3Jlc291cmNlcy9qcy10
ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgotPC9ib2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZmFzdC9mb3Jtcy90aW1lLW11bHRpcGxlLWZpZWxkcy90aW1lLW11bHRpcGxlLWZp
ZWxkcy1mYWxsYmFjay1mb3JtYXQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jt
cy90aW1lLW11bHRpcGxlLWZpZWxkcy90aW1lLW11bHRpcGxlLWZpZWxkcy1mYWxsYmFjay1mb3Jt
YXQtZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA0MjE3NGQ0MmVm
N2EwNWMzMjIyY2MxOWJmMTkyMzFkYmZkZGQwNzIyLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvdGltZS1tdWx0aXBs
ZS1maWVsZHMvdGltZS1tdWx0aXBsZS1maWVsZHMtZmFsbGJhY2stZm9ybWF0LWV4cGVjdGVkLnR4
dAorKysgL2Rldi9udWxsCkBAIC0xLDE3ICswLDAgQEAKLUNoZWNrcyBpbmNvbXBsZXRlIGRhdGV0
aW1lIGZvcm1hdHMgYXJlIHJlamVjdGVkLgotCi1PbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBz
ZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCi0K
LQotVmFsaWQgZm9ybWF0Ci1QQVNTIGdldFVzZXJBZ2VudFNoYWRvd1RleHRDb250ZW50KGlucHV0
KSBpcyAiMDEuMjM0OjU5OjExIFBNIgotUEFTUyBnZXRVc2VyQWdlbnRTaGFkb3dUZXh0Q29udGVu
dChpbnB1dCkgaXMgIjAxLjIzNDo1OToyMyIKLVBBU1MgZ2V0VXNlckFnZW50U2hhZG93VGV4dENv
bnRlbnQoaW5wdXQpIGlzICIwMS4yMzQ6NTk6MjMgUE0iCi1JbnZhbGlkIGZvcm1hdCwgZmFsbGJh
Y2sgdG8gSEg6bW06c3MKLVBBU1MgZ2V0VXNlckFnZW50U2hhZG93VGV4dENvbnRlbnQoaW5wdXQp
IGlzICIyMzo1OTowMS4yMzQiCi1QQVNTIGdldFVzZXJBZ2VudFNoYWRvd1RleHRDb250ZW50KGlu
cHV0KSBpcyAiMjM6NTk6MDEuMjM0IgotUEFTUyBnZXRVc2VyQWdlbnRTaGFkb3dUZXh0Q29udGVu
dChpbnB1dCkgaXMgIjIzOjU5OjAxLjIzNCIKLVBBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRy
dWUKLQotVEVTVCBDT01QTEVURQotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1z
L3RpbWUtbXVsdGlwbGUtZmllbGRzL3RpbWUtbXVsdGlwbGUtZmllbGRzLWZhbGxiYWNrLWZvcm1h
dC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy90aW1lLW11bHRpcGxlLWZpZWxkcy90aW1l
LW11bHRpcGxlLWZpZWxkcy1mYWxsYmFjay1mb3JtYXQuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggNzY2ZTE2MTdmOTdlMWY3ODYzNDBhNTljYTY1NDkxZDg0ZmExOTFkMS4uMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9m
YXN0L2Zvcm1zL3RpbWUtbXVsdGlwbGUtZmllbGRzL3RpbWUtbXVsdGlwbGUtZmllbGRzLWZhbGxi
YWNrLWZvcm1hdC5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsNDMgKzAsMCBAQAotPCFET0NUWVBF
IGh0bWw+Ci08aHRtbD4KLTxoZWFkPgotPHNjcmlwdCBzcmM9Ii4uLy4uL2pzL3Jlc291cmNlcy9q
cy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL2NvbW1v
bi5qcyI+PC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keT4KLTxzY3JpcHQ+Ci1kZXNjcmlwdGlvbign
Q2hlY2tzIGluY29tcGxldGUgZGF0ZXRpbWUgZm9ybWF0cyBhcmUgcmVqZWN0ZWQuJyk7Ci0KLXZh
ciBpbnB1dCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2lucHV0Jyk7Ci1pbnB1dC50eXBlID0g
J3RpbWUnOwotZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChpbnB1dCk7Ci0KLWZ1bmN0aW9uIHNl
dERhdGVUaW1lRm9ybWF0KHBhdHRlcm4pIHsKLSAgICB2YXIgdmFsdWUgPSBpbnB1dC52YWx1ZTsK
LSAgICBnZXRFbGVtZW50QnlQc2V1ZG9JZChpbnRlcm5hbHMueW91bmdlc3RTaGFkb3dSb290KGlu
cHV0KSwgJy13ZWJraXQtZGF0ZXRpbWUtZWRpdCcpLnNldEF0dHJpYnV0ZSgncGF0dGVybicsIHBh
dHRlcm4pOwotICAgIGlucHV0LnZhbHVlID0gJyc7IC8vIFVwZGF0ZXMgdGhlIGVsZW1lbnQgZm9y
IG5ldyBmb3JtYXQKLSAgICBpbnB1dC52YWx1ZSA9IHZhbHVlOwotfQotCi1pbnB1dC52YWx1ZSA9
ICcyMzo1OTowMS4yMzQnOwotCi1kZWJ1ZygnVmFsaWQgZm9ybWF0Jyk7Ci1zZXREYXRlVGltZUZv
cm1hdCgnc3M6bW06aGggYScpOwotc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdnZXRVc2VyQWdlbnRT
aGFkb3dUZXh0Q29udGVudChpbnB1dCknLCAnMDEuMjM0OjU5OjExIFBNJyk7Ci1zZXREYXRlVGlt
ZUZvcm1hdCgnc3M6bW06SEgnKTsKLXNob3VsZEJlRXF1YWxUb1N0cmluZygnZ2V0VXNlckFnZW50
U2hhZG93VGV4dENvbnRlbnQoaW5wdXQpJywgJzAxLjIzNDo1OToyMycpOwotc2V0RGF0ZVRpbWVG
b3JtYXQoJ3NzOm1tOkhIIGEnKTsKLXNob3VsZEJlRXF1YWxUb1N0cmluZygnZ2V0VXNlckFnZW50
U2hhZG93VGV4dENvbnRlbnQoaW5wdXQpJywgJzAxLjIzNDo1OToyMyBQTScpOwotCi1kZWJ1Zygn
SW52YWxpZCBmb3JtYXQsIGZhbGxiYWNrIHRvIEhIOm1tOnNzJyk7Ci1zZXREYXRlVGltZUZvcm1h
dCgnSEgnKTsKLXNob3VsZEJlRXF1YWxUb1N0cmluZygnZ2V0VXNlckFnZW50U2hhZG93VGV4dENv
bnRlbnQoaW5wdXQpJywgJzIzOjU5OjAxLjIzNCcpOwotc2V0RGF0ZVRpbWVGb3JtYXQoJ21tOnNz
Jyk7Ci1zaG91bGRCZUVxdWFsVG9TdHJpbmcoJ2dldFVzZXJBZ2VudFNoYWRvd1RleHRDb250ZW50
KGlucHV0KScsICcyMzo1OTowMS4yMzQnKTsKLXNldERhdGVUaW1lRm9ybWF0KCdoaDptbTpzcycp
Owotc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdnZXRVc2VyQWdlbnRTaGFkb3dUZXh0Q29udGVudChp
bnB1dCknLCAnMjM6NTk6MDEuMjM0Jyk7Ci0KLTwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii4uLy4u
L2pzL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgotPC9ib2R5PgotPC9odG1s
PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy90aW1lLW11bHRpcGxlLWZpZWxk
cy90aW1lLW11bHRpcGxlLWZpZWxkcy1mb2N1cy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9m
YXN0L2Zvcm1zL3RpbWUtbXVsdGlwbGUtZmllbGRzL3RpbWUtbXVsdGlwbGUtZmllbGRzLWZvY3Vz
LWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMWRlNGY3OTYzMGIx
NzI0YWUyNDIxYjgzZjI0NDc3YTRkMDg4OTk4Mi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3RpbWUtbXVsdGlwbGUt
ZmllbGRzL3RpbWUtbXVsdGlwbGUtZmllbGRzLWZvY3VzLWV4cGVjdGVkLnR4dAorKysgL2Rldi9u
dWxsCkBAIC0xLDE1ICswLDAgQEAKLUNoZWNrIGlmIGZvY3VzKCkgZm9yIGZvY3VzZWQgaW5wdXQg
ZG9lcyBub3QgY2hhbmdlIGZvY3VzZWQgc3ViLWZpZWxkLgotCi1PbiBzdWNjZXNzLCB5b3Ugd2ls
bCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01Q
TEVURSIuCi0KLQotTW92ZSBmb2N1cyB0byB0aGUgc2Vjb25kIHN1Yi1maWVsZDoKLVBBU1MgZG9j
dW1lbnQuYWN0aXZlRWxlbWVudCBpcyB0aW1lSW5wdXQKLVBBU1MgcHNldWRvT2ZGb2N1c2VkKHRp
bWVJbnB1dCkgaXMgIi13ZWJraXQtZGF0ZXRpbWUtZWRpdC1taW51dGUtZmllbGQiCi1QQVNTIHRp
bWVJbnB1dC5mb2N1cygpOyBwc2V1ZG9PZkZvY3VzZWQodGltZUlucHV0KSBpcyAiLXdlYmtpdC1k
YXRldGltZS1lZGl0LW1pbnV0ZS1maWVsZCIKLUNsaWNrIG9uIGEgZGVsaW1pdGVyIGJldHdlZW4g
c3ViLWZpZWxkcywgdGhlbiBjaGVjayBpZiBmb2N1c2VkIGVsZW1lbnQgaXMgbm90IGNoYW5nZWQ6
Ci1QQVNTIHBzZXVkb09mRm9jdXNlZCh0aW1lSW5wdXQpIGlzICItd2Via2l0LWRhdGV0aW1lLWVk
aXQtbWludXRlLWZpZWxkIgotUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQotCi1URVNU
IENPTVBMRVRFCi0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvdGltZS1tdWx0
aXBsZS1maWVsZHMvdGltZS1tdWx0aXBsZS1maWVsZHMtZm9jdXMtc3R5bGUtZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy90aW1lLW11bHRpcGxlLWZpZWxkcy90aW1lLW11bHRp
cGxlLWZpZWxkcy1mb2N1cy1zdHlsZS1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IGY0YTk1ZTM1NzA0NWQ1NTc5OTNmODY2MTJlMTc1NzcyNjA5NGJlMWQuLjAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvZmFz
dC9mb3Jtcy90aW1lLW11bHRpcGxlLWZpZWxkcy90aW1lLW11bHRpcGxlLWZpZWxkcy1mb2N1cy1z
dHlsZS1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSwyMCArMCwwIEBACi1DaGVjayBm
b2N1cyBzdHlsZSBmb3IgbXVsdGlwbGUgZmllbGRzIHRpbWUgaW5wdXQgVUkKLQotT24gc3VjY2Vz
cywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkg
IlRFU1QgQ09NUExFVEUiLgotCi0KLVBBU1MgIi13ZWJraXQtZGF0ZXRpbWUtZWRpdC1ob3VyLWZp
ZWxkIjsgc3R5bGUuYmFja2dyb3VuZENvbG9yIGlzIGhpZ2hsaWdodAotUEFTUyAiLXdlYmtpdC1k
YXRldGltZS1lZGl0LWhvdXItZmllbGQiOyBzdHlsZS5jb2xvciBpcyBoaWdobGlnaHR0ZXh0Ci1Q
QVNTICItd2Via2l0LWRhdGV0aW1lLWVkaXQtbWludXRlLWZpZWxkIjsgc3R5bGUuYmFja2dyb3Vu
ZENvbG9yIGlzIGhpZ2hsaWdodAotUEFTUyAiLXdlYmtpdC1kYXRldGltZS1lZGl0LW1pbnV0ZS1m
aWVsZCI7IHN0eWxlLmNvbG9yIGlzIGhpZ2hsaWdodHRleHQKLVBBU1MgIi13ZWJraXQtZGF0ZXRp
bWUtZWRpdC1zZWNvbmQtZmllbGQiOyBzdHlsZS5iYWNrZ3JvdW5kQ29sb3IgaXMgaGlnaGxpZ2h0
Ci1QQVNTICItd2Via2l0LWRhdGV0aW1lLWVkaXQtc2Vjb25kLWZpZWxkIjsgc3R5bGUuY29sb3Ig
aXMgaGlnaGxpZ2h0dGV4dAotUEFTUyAiLXdlYmtpdC1kYXRldGltZS1lZGl0LW1pbGxpc2Vjb25k
LWZpZWxkIjsgc3R5bGUuYmFja2dyb3VuZENvbG9yIGlzIGhpZ2hsaWdodAotUEFTUyAiLXdlYmtp
dC1kYXRldGltZS1lZGl0LW1pbGxpc2Vjb25kLWZpZWxkIjsgc3R5bGUuY29sb3IgaXMgaGlnaGxp
Z2h0dGV4dAotUEFTUyAiLXdlYmtpdC1kYXRldGltZS1lZGl0LWFtcG0tZmllbGQiOyBzdHlsZS5i
YWNrZ3JvdW5kQ29sb3IgaXMgaGlnaGxpZ2h0Ci1QQVNTICItd2Via2l0LWRhdGV0aW1lLWVkaXQt
YW1wbS1maWVsZCI7IHN0eWxlLmNvbG9yIGlzIGhpZ2hsaWdodHRleHQKLQotUEFTUyBzdWNjZXNz
ZnVsbHlQYXJzZWQgaXMgdHJ1ZQotCi1URVNUIENPTVBMRVRFCi1QbGVhc2UgcnVuIHRoaXMgdGVz
dCB3aXRoaW4gRHVtcFJlbmRlclRyZWUuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Zv
cm1zL3RpbWUtbXVsdGlwbGUtZmllbGRzL3RpbWUtbXVsdGlwbGUtZmllbGRzLWZvY3VzLXN0eWxl
Lmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3RpbWUtbXVsdGlwbGUtZmllbGRzL3RpbWUt
bXVsdGlwbGUtZmllbGRzLWZvY3VzLXN0eWxlLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDZmYTBlZDMzZTJkZTc2ZDRiOGU3YTc5ZTFkMWNiYTg2MGU1ZTExNDcuLjAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9m
b3Jtcy90aW1lLW11bHRpcGxlLWZpZWxkcy90aW1lLW11bHRpcGxlLWZpZWxkcy1mb2N1cy1zdHls
ZS5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsNTEgKzAsMCBAQAotPCFET0NUWVBFIGh0bWw+Ci08
aHRtbD4KLTxoZWFkPgotPHNjcmlwdCBzcmM9Ii4uLy4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXBy
ZS5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL2NvbW1vbi5qcyI+PC9z
Y3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keT4KLVBsZWFzZSBydW4gdGhpcyB0ZXN0IHdpdGhpbiBEdW1w
UmVuZGVyVHJlZS4KLTxzY3JpcHQ+Ci1mdW5jdGlvbiBrZXlEb3duKGtleSwgbW9kaWZpZXJzKQot
ewotICAgIGlmICghd2luZG93LmV2ZW50U2VuZGVyKQotICAgICAgICByZXR1cm47Ci0gICAgZXZl
bnRTZW5kZXIua2V5RG93bihrZXksIG1vZGlmaWVycyk7Ci19Ci1kZXNjcmlwdGlvbignQ2hlY2sg
Zm9jdXMgc3R5bGUgZm9yIG11bHRpcGxlIGZpZWxkcyB0aW1lIGlucHV0IFVJJyk7Ci12YXIgdGVz
dElucHV0ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiaW5wdXQiKTsKLXRlc3RJbnB1dC5zZXRB
dHRyaWJ1dGUoInR5cGUiLCAidGltZSIpOwotdGVzdElucHV0LnNldEF0dHJpYnV0ZSgic3RlcCIs
ICIwLjAwMSIpOwotZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZCh0ZXN0SW5wdXQpOwotCi12YXIg
c2FtcGxlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgic3BhbiIpOwotc2FtcGxlLnN0eWxlLmJh
Y2tncm91bmRDb2xvciA9ICJoaWdobGlnaHQiOwotc2FtcGxlLnN0eWxlLmNvbG9yID0gImhpZ2hs
aWdodHRleHQiOwotZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChzYW1wbGUpOwotdmFyIHNhbXBs
ZVN0eWxlID0gZ2V0Q29tcHV0ZWRTdHlsZShzYW1wbGUpOwotdmFyIGhpZ2hsaWdodHRleHQgPSBz
YW1wbGVTdHlsZS5jb2xvcjsKLXZhciBoaWdobGlnaHQgPSBzYW1wbGVTdHlsZS5iYWNrZ3JvdW5k
Q29sb3I7Ci0KLXRlc3RJbnB1dC5mb2N1cygpOwotdmFyIHNoYWRvd1Jvb3QgPSBpbnRlcm5hbHMu
b2xkZXN0U2hhZG93Um9vdCh0ZXN0SW5wdXQpOwotdmFyIGZpZWxkcyA9IGdldEVsZW1lbnRCeVBz
ZXVkb0lkKHNoYWRvd1Jvb3QsICItd2Via2l0LWRhdGV0aW1lLWVkaXQtZmllbGRzLXdyYXBwZXIi
KS5jaGlsZE5vZGVzOwotZm9yICh2YXIgaW5kZXggPSAwOyBpbmRleCA8IGZpZWxkcy5sZW5ndGg7
ICsraW5kZXgpIHsKLSAgICB2YXIgZmllbGQgPSBmaWVsZHNbaW5kZXhdOwotICAgIGlmIChmaWVs
ZC5ub2RlVHlwZSAhPSAxKQotICAgICAgICBjb250aW51ZTsKLSAgICB2YXIgaWQgPSBpbnRlcm5h
bHMuc2hhZG93UHNldWRvSWQoZmllbGQpOwotICAgIGlmIChpZC5pbmRleE9mKCctZmllbGQnKSA8
IDApCi0gICAgICAgIGNvbnRpbnVlOwotICAgIHZhciBzdHlsZSA9IGdldENvbXB1dGVkU3R5bGUo
ZmllbGQpOwotICAgIHNob3VsZEJlKCciJyArIGlkICsgJyI7IHN0eWxlLmJhY2tncm91bmRDb2xv
cicsICdoaWdobGlnaHQnKTsKLSAgICBzaG91bGRCZSgnIicgKyBpZCArICciOyBzdHlsZS5jb2xv
cicsICdoaWdobGlnaHR0ZXh0Jyk7Ci0gICAga2V5RG93bigncmlnaHRBcnJvdycpOwotfQotZGVi
dWcoJycpOwotdGVzdElucHV0LnBhcmVudEVsZW1lbnQucmVtb3ZlQ2hpbGQodGVzdElucHV0KTsK
LXNhbXBsZS5wYXJlbnRFbGVtZW50LnJlbW92ZUNoaWxkKHNhbXBsZSk7Ci08L3NjcmlwdD4KLTxz
Y3JpcHQgc3JjPSIuLi8uLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4K
LTwvYm9keT4KLTwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvdGlt
ZS1tdWx0aXBsZS1maWVsZHMvdGltZS1tdWx0aXBsZS1maWVsZHMtZm9jdXMuaHRtbCBiL0xheW91
dFRlc3RzL2Zhc3QvZm9ybXMvdGltZS1tdWx0aXBsZS1maWVsZHMvdGltZS1tdWx0aXBsZS1maWVs
ZHMtZm9jdXMuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNzc4ZjcxZjQwOTdm
N2M0NTM3YzgzODg5MDg2OGM3N2U1NTRhNjU3Yy4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3RpbWUtbXVsdGlwbGUt
ZmllbGRzL3RpbWUtbXVsdGlwbGUtZmllbGRzLWZvY3VzLmh0bWwKKysrIC9kZXYvbnVsbApAQCAt
MSwzMiArMCwwIEBACi08IURPQ1RZUEUgaHRtbD4KLTxib2R5PgotPHNjcmlwdCBzcmM9Ii4uLy4u
L2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Ci08aW5wdXQgaWQ9InRpbWVJ
bnB1dCIgdHlwZT0idGltZSIgdmFsdWU9IjAxOjAxIiBzdHlsZT0iZm9udC1zaXplOjIwcHgiIGF1
dG9mb2N1cz4KLTxzY3JpcHQ+Ci1mdW5jdGlvbiBkaXNwYXRjaEtleUV2ZW50VG8odHlwZSwga2V5
LCB0YXJnZXQpIHsKLSAgICB2YXIgZXZlbnQgPSBkb2N1bWVudC5jcmVhdGVFdmVudCgnS2V5Ym9h
cmRFdmVudCcpOwotICAgIGV2ZW50LmluaXRLZXlib2FyZEV2ZW50KHR5cGUsIHRydWUsIHRydWUs
IGRvY3VtZW50LmRlZmF1bHRWaWV3LCBrZXkpOwotICAgIHRhcmdldC5kaXNwYXRjaEV2ZW50KGV2
ZW50KTsKLX0KLQotZnVuY3Rpb24gcHNldWRvT2ZGb2N1c2VkKCkgewotICAgIHJldHVybiBpbnRl
cm5hbHMueW91bmdlc3RTaGFkb3dSb290KHRpbWVJbnB1dCkuYWN0aXZlRWxlbWVudC5nZXRBdHRy
aWJ1dGUoInBzZXVkbyIpOwotfQotCi1kZXNjcmlwdGlvbignQ2hlY2sgaWYgZm9jdXMoKSBmb3Ig
Zm9jdXNlZCBpbnB1dCBkb2VzIG5vdCBjaGFuZ2UgZm9jdXNlZCBzdWItZmllbGQuJyk7Ci1kZWJ1
ZygnTW92ZSBmb2N1cyB0byB0aGUgc2Vjb25kIHN1Yi1maWVsZDonKTsKLXZhciB0aW1lSW5wdXQg
PSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgndGltZUlucHV0Jyk7Ci1zaG91bGRCZSgnZG9jdW1l
bnQuYWN0aXZlRWxlbWVudCcsICd0aW1lSW5wdXQnKTsKLWRpc3BhdGNoS2V5RXZlbnRUbygna2V5
ZG93bicsICdSaWdodCcsIHRpbWVJbnB1dCk7Ci1zaG91bGRCZUVxdWFsVG9TdHJpbmcoJ3BzZXVk
b09mRm9jdXNlZCh0aW1lSW5wdXQpJywgJy13ZWJraXQtZGF0ZXRpbWUtZWRpdC1taW51dGUtZmll
bGQnKTsKLXNob3VsZEJlRXF1YWxUb1N0cmluZygndGltZUlucHV0LmZvY3VzKCk7IHBzZXVkb09m
Rm9jdXNlZCh0aW1lSW5wdXQpJywgJy13ZWJraXQtZGF0ZXRpbWUtZWRpdC1taW51dGUtZmllbGQn
KTsKLQotZGVidWcoJ0NsaWNrIG9uIGEgZGVsaW1pdGVyIGJldHdlZW4gc3ViLWZpZWxkcywgdGhl
biBjaGVjayBpZiBmb2N1c2VkIGVsZW1lbnQgaXMgbm90IGNoYW5nZWQ6Jyk7Ci12YXIgZm9jdXNl
ZEZpZWxkID0gaW50ZXJuYWxzLnlvdW5nZXN0U2hhZG93Um9vdCh0aW1lSW5wdXQpLmFjdGl2ZUVs
ZW1lbnQ7Ci1ldmVudFNlbmRlci5tb3VzZU1vdmVUbyhmb2N1c2VkRmllbGQub2Zmc2V0TGVmdCAr
IGZvY3VzZWRGaWVsZC5vZmZzZXRXaWR0aCArIDEwLCBmb2N1c2VkRmllbGQub2Zmc2V0VG9wICsg
MTApOwotZXZlbnRTZW5kZXIubW91c2VEb3duKCk7Ci1ldmVudFNlbmRlci5tb3VzZVVwKCk7Ci1z
aG91bGRCZUVxdWFsVG9TdHJpbmcoJ3BzZXVkb09mRm9jdXNlZCh0aW1lSW5wdXQpJywgJy13ZWJr
aXQtZGF0ZXRpbWUtZWRpdC1taW51dGUtZmllbGQnKTsKLTwvc2NyaXB0PgotPHNjcmlwdCBzcmM9
Ii4uLy4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgotPC9ib2R5Pgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy90aW1lLW11bHRpcGxlLWZpZWxkcy90
aW1lLW11bHRpcGxlLWZpZWxkcy1rZXlib2FyZC1ldmVudHMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvZmFzdC9mb3Jtcy90aW1lLW11bHRpcGxlLWZpZWxkcy90aW1lLW11bHRpcGxlLWZpZWxk
cy1rZXlib2FyZC1ldmVudHMtZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCBlOTliMjJiZTgxMTdjNmZjNmZmMDAwMzg2ZjIzY2I2YmJkMDhiZjFlLi4wMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZm9y
bXMvdGltZS1tdWx0aXBsZS1maWVsZHMvdGltZS1tdWx0aXBsZS1maWVsZHMta2V5Ym9hcmQtZXZl
bnRzLWV4cGVjdGVkLnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDc2ICswLDAgQEAKLU11bHRpcGxl
IGZpZWxkcyBVSSBvZiB0aW1lIGlucHV0IHR5cGUgd2l0aCBrZXlib2FyZCBldmVudHMKLQotT24g
c3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93
ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgotCi0KLVBsZWFzZSBydW4gdGhpcyB3aXRoIER1bXBSZW5k
ZXJUcmVlLgotCi1UZXN0IGZvbGxvd2luZyBrZXlzOgotRGlnaXQga2V5cwotTGVmdC9SaWdodCAt
IE1vdmUgZm9jdXMgZmllbGQgaW5zaWRlIGVsZW1lbnQKLVVwL0Rvd24gLSBJbmNyZW1lbnQvZGVj
cmVtZW50IHZhbHVlIG9mIGZvY3VzIGZpZWxkCi1UYWIgLSBNb3ZlIGZvY3VzIGZpZWxkCi1CYWNr
c3BhY2UgLSBNYWtlIHZhbHVlIGVtcHR5Ci0gIAotPT0gRGlnaXQga2V5cyA9PQotUEFTUyBldmVu
dHNDb3VudGVyLmlucHV0IGlzIHVuZGVmaW5lZC4KLVBBU1MgZXZlbnRzQ291bnRlci5jaGFuZ2Ug
aXMgdW5kZWZpbmVkLgotUEFTUyBpbnB1dC52YWx1ZSBpcyAiMDc6NTYiCi1QQVNTIGV2ZW50c0Nv
dW50ZXIuaW5wdXQgaXMgMQotUEFTUyBldmVudHNDb3VudGVyLmNoYW5nZSBpcyAxCi09PSBEaWdp
dCBrZXlzIHN0YXJ0aW5nIHdpdGggemVybyA9PQotUEFTUyBpbnB1dC52YWx1ZSBpcyAiMTQ6MDMi
Ci09PSBEaWdpdCBrZXlzIGFuZCBiYWNrc3BhY2Uga2V5ID09Ci1QQVNTIGlucHV0LnZhbHVlIGlz
ICIxNzowNiIKLT09IExlZnQvUmlnaHQga2V5cyA9PQotUEFTUyBpbnB1dC52YWx1ZSBpcyAiMDY6
MDUiCi1QQVNTIGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQuaWQgaXMgImlucHV0IgotPT0gVXAvRG93
biBrZXlzID09Ci1QQVNTIGlucHV0LnZhbHVlIGlzICIwNTo1NiIKLVBBU1MgaW5wdXQudmFsdWUg
aXMgIjAzOjU2IgotPT0gVXAvRG93biBrZXlzIG9uIGVtcHR5IHZhbHVlID09Ci1QQVNTIGV2ZW50
c0NvdW50ZXIuaW5wdXQgaXMgdW5kZWZpbmVkLgotUEFTUyBldmVudHNDb3VudGVyLmNoYW5nZSBp
cyB1bmRlZmluZWQuCi1QQVNTIGlucHV0LnZhbHVlIGlzICIxNDo1OCIKLVBBU1MgZXZlbnRzQ291
bnRlci5pbnB1dCBpcyAxCi1QQVNTIGV2ZW50c0NvdW50ZXIuY2hhbmdlIGlzIDEKLT09IFRhYiBr
ZXkgPT0KLVBBU1MgaW5wdXQudmFsdWUgaXMgIjAzOjA1IgotUEFTUyBpbnB1dC52YWx1ZSBpcyAi
MDc6MDUiCi1QQVNTIGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQuaWQgaXMgImFub3RoZXIiCi09PSBU
YWIgbmF2aWdhdGlvbiBzaG91bGQgc2tpcCBkaXNhYmxlZCBpbnB1dHMgPT0KLVBBU1MgZG9jdW1l
bnQuYWN0aXZlRWxlbWVudC5pZCBpcyAiYW5vdGhlciIKLT09IFRhYiBuYXZpZ2F0aW9uIHNob3Vs
ZCBub3Qgc2tpcCByZWFkb25seSBpbnB1dHMsIGJ1dCBlZGl0aW5nIG9wZXJhdGlvbnMgc2hvdWxk
IGJlIGlnbm9yZWQuID09Ci1QQVNTIGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQuaWQgaXMgImlucHV0
IgotUEFTUyBwc2V1ZG9PZkZvY3VzZWRTdWJGaWVsZChpbnB1dCkgaXMgIi13ZWJraXQtZGF0ZXRp
bWUtZWRpdC1ob3VyLWZpZWxkIgotUEFTUyBrZXlEb3duKCJ1cEFycm93Iik7IGlucHV0LnZhbHVl
IGlzICIwMTowMSIKLVBBU1Mga2V5RG93bigiZG93bkFycm93Iik7IGlucHV0LnZhbHVlIGlzICIw
MTowMSIKLVBBU1MgcHNldWRvT2ZGb2N1c2VkU3ViRmllbGQoaW5wdXQpIGlzICItd2Via2l0LWRh
dGV0aW1lLWVkaXQtbWludXRlLWZpZWxkIgotUEFTUyBrZXlEb3duKCIzIik7IGlucHV0LnZhbHVl
IGlzICIwMTowMSIKLVBBU1MgcHNldWRvT2ZGb2N1c2VkU3ViRmllbGQoaW5wdXQpIGlzICItd2Vi
a2l0LWRhdGV0aW1lLWVkaXQtYW1wbS1maWVsZCIKLVBBU1MgcHNldWRvT2ZGb2N1c2VkU3ViRmll
bGQoaW5wdXQpIGlzICItd2Via2l0LWRhdGV0aW1lLWVkaXQtbWludXRlLWZpZWxkIgotUEFTUyBk
b2N1bWVudC5hY3RpdmVFbGVtZW50LmlkIGlzICJhbm90aGVyIgotPT0gU2hmaXQrVGFiIGtleSA9
PQotUEFTUyBpbnB1dC52YWx1ZSBpcyAiMTU6MDAiCi1QQVNTIGlucHV0LnZhbHVlIGlzICIxNTow
MyIKLVBBU1MgZG9jdW1lbnQuYWN0aXZlRWxlbWVudC5pZCBpcyAiYmVmb3JlIgotPT0gVXAga2V5
IG9uIG1heGltdW0gdmFsdWUgPT0KLVBBU1MgaW5wdXQudmFsdWUgaXMgIjEzOjAwIgotPT0gRG93
biBrZXkgb24gbWluaW11bSB2YWx1ZSA9PQotUEFTUyBpbnB1dC52YWx1ZSBpcyAiMDA6NTk6NTku
OTk5IgotPT0gQmFja3NwYWNlIGtleSA9PQotUEFTUyBpbnB1dC52YWx1ZSBpcyAiIgotPT0gRGVs
ZXRlIGtleSA9PQotUEFTUyBpbnB1dC52YWx1ZSBpcyAiIgotPT0gVHlwZWFoZWFkID09Ci1QQVNT
IGlucHV0LnZhbHVlIGlzICIxMjowMTo1NiIKLVBBU1MgaW5wdXQudmFsdWUgaXMgIjEyOjAyOjU2
IgotPT0gUlRMIGZvY3VzIG5hdmlnYXRpb24gPT0KLVRoZSB0ZXN0cyBpbiB0aGlzIGJsb2NrIGZh
aWwgb24gcGxhdGZvcm1zIHdpdGhvdXQgdGhlIGxhbmctYXR0cmlidXRlLWF3YXJlLWZvcm0tY29u
dHJvbC1VSSBmZWF0dXJlLgotUEFTUyBpbnB1dC52YWx1ZSBpcyAiMDE6NTYiCi1QQVNTIGlucHV0
LnZhbHVlIGlzICIwMTowMiIKLVBBU1MgaW5wdXQudmFsdWUgaXMgIjAzOjAyIgotUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQotCi1URVNUIENPTVBMRVRFCi0KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2Zhc3QvZm9ybXMvdGltZS1tdWx0aXBsZS1maWVsZHMvdGltZS1tdWx0aXBsZS1m
aWVsZHMta2V5Ym9hcmQtZXZlbnRzLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3RpbWUt
bXVsdGlwbGUtZmllbGRzL3RpbWUtbXVsdGlwbGUtZmllbGRzLWtleWJvYXJkLWV2ZW50cy5odG1s
CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA1MGY5NDlhZWRkYzgwYTA1M2UwZTBkMDk3
MGJiYzEwMWQ5MmI2MWVkLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvdGltZS1tdWx0aXBsZS1maWVsZHMvdGltZS1t
dWx0aXBsZS1maWVsZHMta2V5Ym9hcmQtZXZlbnRzLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSwy
MzkgKzAsMCBAQAotPCFET0NUWVBFIGh0bWw+Ci08aHRtbD4KLTxoZWFkPgotPHNjcmlwdCBzcmM9
Ii4uLy4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Ci08L2hlYWQ+Ci08
Ym9keT4KLTxwIGlkPSJkZXNjcmlwdGlvbiI+PC9wPgotPHA+Ci1QbGVhc2UgcnVuIHRoaXMgd2l0
aCBEdW1wUmVuZGVyVHJlZS4KLTwvcD4KLVRlc3QgZm9sbG93aW5nIGtleXM6Ci08dWw+Ci0gICAg
PGxpPkRpZ2l0IGtleXM8L2xpPgotICAgIDxsaT5MZWZ0L1JpZ2h0IC0gTW92ZSBmb2N1cyBmaWVs
ZCBpbnNpZGUgZWxlbWVudDwvbGk+Ci0gICAgPGxpPlVwL0Rvd24gLSBJbmNyZW1lbnQvZGVjcmVt
ZW50IHZhbHVlIG9mIGZvY3VzIGZpZWxkPC9saT4KLSAgICA8bGk+VGFiIC0gTW92ZSBmb2N1cyBm
aWVsZDwvbGk+Ci0gICAgPGxpPkJhY2tzcGFjZSAtIE1ha2UgdmFsdWUgZW1wdHk8L2xpPgotPC91
bD4KLTxpbnB1dCBpZD0iYmVmb3JlIj4KLTxpbnB1dCBpZD0iaW5wdXQiIHR5cGU9InRpbWUiPgot
PGlucHV0IGlkPSJhbm90aGVyIj4KLTxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgotPHNjcmlwdD4K
LWRlc2NyaXB0aW9uKCJNdWx0aXBsZSBmaWVsZHMgVUkgb2YgdGltZSBpbnB1dCB0eXBlIHdpdGgg
a2V5Ym9hcmQgZXZlbnRzIik7Ci1pZiAod2luZG93LmludGVybmFscykKLSAgICBpbnRlcm5hbHMu
c2V0dGluZ3Muc2V0TGFuZ0F0dHJpYnV0ZUF3YXJlRm9ybUNvbnRyb2xVSUVuYWJsZWQodHJ1ZSk7
Ci12YXIgaW5wdXQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiaW5wdXQiKTsKLQotZnVuY3Rp
b24gcHNldWRvT2ZGb2N1c2VkU3ViRmllbGQoaG9zdCkKLXsKLSAgICByZXR1cm4gaW50ZXJuYWxz
LnlvdW5nZXN0U2hhZG93Um9vdChob3N0KS5hY3RpdmVFbGVtZW50LmdldEF0dHJpYnV0ZSgicHNl
dWRvIikKLX0KLQotZnVuY3Rpb24ga2V5RG93bihrZXksIG1vZGlmaWVycykKLXsKLSAgICBpZiAo
IXdpbmRvdy5ldmVudFNlbmRlcikKLSAgICAgICAgcmV0dXJuOwotICAgIGV2ZW50U2VuZGVyLmtl
eURvd24oa2V5LCBtb2RpZmllcnMpOwotfQotCi1mdW5jdGlvbiBiZWdpblRlc3QodGl0bGUsIHZh
bHVlKQotewotICAgIGRlYnVnKCI9PSAiICsgdGl0bGUgKyAiID09Iik7Ci0gICAgaW5wdXQudmFs
dWUgPSB2YWx1ZTsKLSAgICBpbnB1dC5ibHVyKCk7Ci0gICAgaW5wdXQuZm9jdXMoKTsKLX0KLQot
dmFyIGV2ZW50c0NvdW50ZXIgPSB7fTsKLWZ1bmN0aW9uIGNvdW50RXZlbnRzKGV2ZW50KQotewot
ICAgIGlmIChldmVudHNDb3VudGVyW2V2ZW50LnR5cGVdID09PSB1bmRlZmluZWQpCi0gICAgICAg
IGV2ZW50c0NvdW50ZXJbZXZlbnQudHlwZV0gPSAwOwotICAgIGV2ZW50c0NvdW50ZXJbZXZlbnQu
dHlwZV0rKzsKLX0KLWlucHV0LmFkZEV2ZW50TGlzdGVuZXIoJ2lucHV0JywgY291bnRFdmVudHMs
IGZhbHNlKTsKLWlucHV0LmFkZEV2ZW50TGlzdGVuZXIoJ2NoYW5nZScsIGNvdW50RXZlbnRzLCBm
YWxzZSk7Ci0KLWJlZ2luVGVzdCgnRGlnaXQga2V5cycpOwota2V5RG93bignNycpOyAvLyAtPiAw
NzpbLS1dIC0tCi1rZXlEb3duKCc1Jyk7IC8vIC0+IDA3OlswNV0gLS0KLWlucHV0LmNsYXNzTmFt
ZSA9ICJDTEFTUyI7Ci1rZXlEb3duKCc2Jyk7IC8vIC0+IDA3OjU2IFstLV0KLXNob3VsZEJlVW5k
ZWZpbmVkKCdldmVudHNDb3VudGVyLmlucHV0Jyk7Ci1zaG91bGRCZVVuZGVmaW5lZCgnZXZlbnRz
Q291bnRlci5jaGFuZ2UnKTsKLWtleURvd24oJ0EnKTsgLy8gLT4gMDc6NTYgW0FNXQotc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCdpbnB1dC52YWx1ZScsICcwNzo1NicpOwotc2hvdWxkQmUoJ2V2ZW50
c0NvdW50ZXIuaW5wdXQnLCAnMScpOwotc2hvdWxkQmUoJ2V2ZW50c0NvdW50ZXIuY2hhbmdlJywg
JzEnKTsKLQotYmVnaW5UZXN0KCdEaWdpdCBrZXlzIHN0YXJ0aW5nIHdpdGggemVybycpOwota2V5
RG93bignMCcpOyAvLyAtPiBbMDBdOi0tIC0tCi1rZXlEb3duKCcyJyk7IC8vIC0+IDAyOlstLV0g
LS0KLWtleURvd24oJzAnKTsgLy8gLT4gMDI6WzAwXSAtLQota2V5RG93bignMycpOyAvLyAtPiAw
MjowMyBbLS1dCi1rZXlEb3duKCdQJyk7IC8vIC0+IDAyOjAzIFtQTV0KLXNob3VsZEJlRXF1YWxU
b1N0cmluZygnaW5wdXQudmFsdWUnLCAnMTQ6MDMnKTsKLQotYmVnaW5UZXN0KCdEaWdpdCBrZXlz
IGFuZCBiYWNrc3BhY2Uga2V5JywnMDE6MDEnKTsKLWtleURvd24oJzAnKTsgLy8gLT4gWzAwXTot
LSAtLQota2V5RG93bignXGInKTsgLy8gLT4gWy0tXTotLSAtLQota2V5RG93bignNScpOyAvLyAt
PiAwNTpbLS1dIC0tCi1rZXlEb3duKCc2Jyk7IC8vIC0+IDA1OjA2IFstLV0KLWtleURvd24oJ1xi
Jyk7IC8vIC0+IDA1OjA2IFstLV0KLWtleURvd24oJ1AnKTsgLy8gLT4gMDU6MDYgW1BNXQotc2hv
dWxkQmVFcXVhbFRvU3RyaW5nKCdpbnB1dC52YWx1ZScsICcxNzowNicpOwotCi0vLyBGSVhNRTog
V2Ugc2hvdWxkIHRlc3QgdHlwZSBhaGVhZCB0aW1lIG91dC4gV2hlbiBldmVudC5sZWFwRm9yd2Fy
ZCgpIGFmZmVjdHMKLS8vIGtleWJvYXJkIGV2ZW50IHRpbWUgc3RhbXAsIHdlIGNhbiB1bmNvbW1l
bnQgdGhpcyBmcmFnbWVudC4KLS8qCi1iZWdpblRlc3QoJ0RpZ2l0IGtleXMgd2l0aCB0eXBlIGFo
ZWFkIHRpbWVvdXQnKTsKLWtleURvd24oJzEnKTsKLWxlYXBGb3J3YXJkKDExMDApOwota2V5RG93
bignMScpOwota2V5RG93bignNScpOwota2V5RG93bignNicpOwota2V5RG93bignQScpOwotc2hv
dWxkQmVFcXVhbFRvU3RyaW5nKCdpbnB1dC52YWx1ZScsICcwMTo1NicpOwotKi8KLQotYmVnaW5U
ZXN0KCdMZWZ0L1JpZ2h0IGtleXMnLCAnMDE6MjQnKTsKLWtleURvd24oJ3JpZ2h0QXJyb3cnKTsK
LWtleURvd24oJzUnKTsKLWtleURvd24oJ2xlZnRBcnJvdycpOwota2V5RG93bignNicpOwotc2hv
dWxkQmVFcXVhbFRvU3RyaW5nKCdpbnB1dC52YWx1ZScsICcwNjowNScpOwota2V5RG93bignbGVm
dEFycm93Jyk7Ci1rZXlEb3duKCdsZWZ0QXJyb3cnKTsKLWtleURvd24oJ2xlZnRBcnJvdycpOwot
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdkb2N1bWVudC5hY3RpdmVFbGVtZW50LmlkJywgJ2lucHV0
Jyk7Ci0KLWJlZ2luVGVzdCgnVXAvRG93biBrZXlzJywgJzA0OjU2Jyk7Ci1rZXlEb3duKCd1cEFy
cm93Jyk7Ci1zaG91bGRCZUVxdWFsVG9TdHJpbmcoJ2lucHV0LnZhbHVlJywgJzA1OjU2Jyk7Ci1r
ZXlEb3duKCdkb3duQXJyb3cnKTsKLWtleURvd24oJ2Rvd25BcnJvdycpOwotc2hvdWxkQmVFcXVh
bFRvU3RyaW5nKCdpbnB1dC52YWx1ZScsICcwMzo1NicpOwotCi1iZWdpblRlc3QoJ1VwL0Rvd24g
a2V5cyBvbiBlbXB0eSB2YWx1ZScsICcnKTsKLWV2ZW50c0NvdW50ZXIgPSB7fTsKLWtleURvd24o
J3VwQXJyb3cnKTsgICAgLy8gLT4gWzAxXTotLSAtLQota2V5RG93bigndXBBcnJvdycpOyAgICAv
LyAtPiBbMDJdOi0tIC0tCi1rZXlEb3duKCdyaWdodEFycm93Jyk7IC8vIC0+IDAyOlstLV0gLS0K
LWtleURvd24oJ2Rvd25BcnJvdycpOyAgLy8gLT4gMDI6WzU5XSAtLQota2V5RG93bignZG93bkFy
cm93Jyk7ICAvLyAtPiAwMjpbNThdIC0tCi1rZXlEb3duKCdyaWdodEFycm93Jyk7IC8vIC0+IDAy
OjU4IFstLV0KLXNob3VsZEJlVW5kZWZpbmVkKCdldmVudHNDb3VudGVyLmlucHV0Jyk7Ci1zaG91
bGRCZVVuZGVmaW5lZCgnZXZlbnRzQ291bnRlci5jaGFuZ2UnKTsKLWtleURvd24oJ2Rvd25BcnJv
dycpOyAgLy8gLT4gMDI6NTggW1BNXQotc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdpbnB1dC52YWx1
ZScsICcxNDo1OCcpOwotc2hvdWxkQmUoJ2V2ZW50c0NvdW50ZXIuaW5wdXQnLCAnMScpOwotc2hv
dWxkQmUoJ2V2ZW50c0NvdW50ZXIuY2hhbmdlJywgJzEnKTsKLQotYmVnaW5UZXN0KCdUYWIga2V5
JywgJzAzOjAwJyk7Ci1rZXlEb3duKCdcdCcpOwota2V5RG93bignNScpOwotc2hvdWxkQmVFcXVh
bFRvU3RyaW5nKCdpbnB1dC52YWx1ZScsICcwMzowNScpOwota2V5RG93bignXHQnLCBbJ3NoaWZ0
S2V5J10pOwota2V5RG93bignNycpOwotc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdpbnB1dC52YWx1
ZScsICcwNzowNScpOwota2V5RG93bignXHQnKTsKLWtleURvd24oJ1x0Jyk7Ci1zaG91bGRCZUVx
dWFsVG9TdHJpbmcoJ2RvY3VtZW50LmFjdGl2ZUVsZW1lbnQuaWQnLCAnYW5vdGhlcicpOwotCi1i
ZWdpblRlc3QoJ1RhYiBuYXZpZ2F0aW9uIHNob3VsZCBza2lwIGRpc2FibGVkIGlucHV0cycsICcn
KTsKLWJlZm9yZS5mb2N1cygpOwotaW5wdXQuZGlzYWJsZWQgPSB0cnVlOwota2V5RG93bignXHQn
KTsKLXNob3VsZEJlRXF1YWxUb1N0cmluZygnZG9jdW1lbnQuYWN0aXZlRWxlbWVudC5pZCcsICdh
bm90aGVyJyk7Ci1pbnB1dC5kaXNhYmxlZCA9IGZhbHNlOwotCi1iZWdpblRlc3QoJ1RhYiBuYXZp
Z2F0aW9uIHNob3VsZCBub3Qgc2tpcCByZWFkb25seSBpbnB1dHMsIGJ1dCBlZGl0aW5nIG9wZXJh
dGlvbnMgc2hvdWxkIGJlIGlnbm9yZWQuJywgJycpOwotYmVmb3JlLmZvY3VzKCk7Ci1pbnB1dC52
YWx1ZSA9ICcwMTowMSc7Ci1pbnB1dC5yZWFkT25seSA9IHRydWU7Ci1rZXlEb3duKCdcdCcpOwot
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdkb2N1bWVudC5hY3RpdmVFbGVtZW50LmlkJywgJ2lucHV0
Jyk7Ci1zaG91bGRCZUVxdWFsVG9TdHJpbmcoJ3BzZXVkb09mRm9jdXNlZFN1YkZpZWxkKGlucHV0
KScsICctd2Via2l0LWRhdGV0aW1lLWVkaXQtaG91ci1maWVsZCcpOwotc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCdrZXlEb3duKCJ1cEFycm93Iik7IGlucHV0LnZhbHVlJywgJzAxOjAxJyk7Ci1zaG91
bGRCZUVxdWFsVG9TdHJpbmcoJ2tleURvd24oImRvd25BcnJvdyIpOyBpbnB1dC52YWx1ZScsICcw
MTowMScpOwota2V5RG93bigncmlnaHRBcnJvdycpOwotc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdw
c2V1ZG9PZkZvY3VzZWRTdWJGaWVsZChpbnB1dCknLCAnLXdlYmtpdC1kYXRldGltZS1lZGl0LW1p
bnV0ZS1maWVsZCcpOwotc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdrZXlEb3duKCIzIik7IGlucHV0
LnZhbHVlJywgJzAxOjAxJyk7Ci1rZXlEb3duKCdcdCcpOwotc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCdwc2V1ZG9PZkZvY3VzZWRTdWJGaWVsZChpbnB1dCknLCAnLXdlYmtpdC1kYXRldGltZS1lZGl0
LWFtcG0tZmllbGQnKTsKLWtleURvd24oJ2xlZnRBcnJvdycpOwotc2hvdWxkQmVFcXVhbFRvU3Ry
aW5nKCdwc2V1ZG9PZkZvY3VzZWRTdWJGaWVsZChpbnB1dCknLCAnLXdlYmtpdC1kYXRldGltZS1l
ZGl0LW1pbnV0ZS1maWVsZCcpOwota2V5RG93bignXHQnKTsKLWtleURvd24oJ1x0Jyk7Ci1zaG91
bGRCZUVxdWFsVG9TdHJpbmcoJ2RvY3VtZW50LmFjdGl2ZUVsZW1lbnQuaWQnLCAnYW5vdGhlcicp
OwotaW5wdXQucmVhZE9ubHkgPSBmYWxzZTsKLQotYmVnaW5UZXN0KCdTaGZpdCtUYWIga2V5Jywg
JzAzOjAwJyk7Ci1hbm90aGVyLmZvY3VzKCk7Ci1rZXlEb3duKCdcdCcsIFsnc2hpZnRLZXknXSk7
Ci1rZXlEb3duKCdQJyk7Ci1zaG91bGRCZUVxdWFsVG9TdHJpbmcoJ2lucHV0LnZhbHVlJywgJzE1
OjAwJyk7Ci1rZXlEb3duKCdcdCcsIFsnc2hpZnRLZXknXSk7Ci1rZXlEb3duKCczJyk7Ci1zaG91
bGRCZUVxdWFsVG9TdHJpbmcoJ2lucHV0LnZhbHVlJywgJzE1OjAzJyk7Ci1rZXlEb3duKCdcdCcs
IFsnc2hpZnRLZXknXSk7Ci1rZXlEb3duKCdcdCcsIFsnc2hpZnRLZXknXSk7Ci1zaG91bGRCZUVx
dWFsVG9TdHJpbmcoJ2RvY3VtZW50LmFjdGl2ZUVsZW1lbnQuaWQnLCAnYmVmb3JlJyk7Ci0KLWJl
Z2luVGVzdCgnVXAga2V5IG9uIG1heGltdW0gdmFsdWUnLCAnMTI6NTk6NTkuOTk5Jyk7Ci1rZXlE
b3duKCd1cEFycm93Jyk7Ci1rZXlEb3duKCdcdCcpOwota2V5RG93bigndXBBcnJvdycpOwota2V5
RG93bignXHQnKTsKLWtleURvd24oJ3VwQXJyb3cnKTsKLWtleURvd24oJ1x0Jyk7Ci1rZXlEb3du
KCd1cEFycm93Jyk7Ci1zaG91bGRCZUVxdWFsVG9TdHJpbmcoJ2lucHV0LnZhbHVlJywgJzEzOjAw
Jyk7Ci0KLWJlZ2luVGVzdCgnRG93biBrZXkgb24gbWluaW11bSB2YWx1ZScsICcwMTowMCcpOwot
aW5wdXQuc3RlcCA9IDAuMDAxOwota2V5RG93bignZG93bkFycm93Jyk7Ci1rZXlEb3duKCdcdCcp
Owota2V5RG93bignZG93bkFycm93Jyk7Ci1rZXlEb3duKCdcdCcpOwota2V5RG93bignZG93bkFy
cm93Jyk7Ci1rZXlEb3duKCdcdCcpOwota2V5RG93bignZG93bkFycm93Jyk7Ci1zaG91bGRCZUVx
dWFsVG9TdHJpbmcoJ2lucHV0LnZhbHVlJywgJzAwOjU5OjU5Ljk5OScpOwotaW5wdXQuc3RlcCA9
IDYwOwotCi1iZWdpblRlc3QoJ0JhY2tzcGFjZSBrZXknLCAnMTI6MzQnKTsKLWtleURvd24oIlxi
Iik7Ci1zaG91bGRCZUVxdWFsVG9TdHJpbmcoJ2lucHV0LnZhbHVlJywgJycpOwotCi1iZWdpblRl
c3QoJ0RlbGV0ZSBrZXknLCAnMTI6MzQnKTsKLWtleURvd24oImRlbGV0ZSIpOwotc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCdpbnB1dC52YWx1ZScsICcnKTsKLQotYmVnaW5UZXN0KCdUeXBlYWhlYWQn
LCAnMTI6MzQ6NTYnKTsKLWtleURvd24oJ3JpZ2h0QXJyb3cnKTsKLWtleURvd24oJzEnKTsKLXNo
b3VsZEJlRXF1YWxUb1N0cmluZygnaW5wdXQudmFsdWUnLCAnMTI6MDE6NTYnKTsKLWtleURvd24o
J3JpZ2h0QXJyb3cnKTsKLWtleURvd24oJ2xlZnRBcnJvdycpOwota2V5RG93bignMicpOwotc2hv
dWxkQmVFcXVhbFRvU3RyaW5nKCdpbnB1dC52YWx1ZScsICcxMjowMjo1NicpOwotCi1pbnB1dC5z
ZXRBdHRyaWJ1dGUoImxhbmciLCAiaGUtaWwiKTsKLWJlZ2luVGVzdCgnUlRMIGZvY3VzIG5hdmln
YXRpb24nLCAnMDQ6NTYnKTsKLWRlYnVnKCdUaGUgdGVzdHMgaW4gdGhpcyBibG9jayBmYWlsIG9u
IHBsYXRmb3JtcyB3aXRob3V0IHRoZSBsYW5nLWF0dHJpYnV0ZS1hd2FyZS1mb3JtLWNvbnRyb2wt
VUkgZmVhdHVyZS4nKTsKLWtleURvd24oJzEnKTsgLy8gICAgICAgICAgLT4gWzAxXTo1Ngotc2hv
dWxkQmVFcXVhbFRvU3RyaW5nKCdpbnB1dC52YWx1ZScsICcwMTo1NicpOwota2V5RG93bignXHQn
KTsgLy8gICAgICAgICAgLT4gMDE6WzU2XQota2V5RG93bignMicpOyAvLyAgICAgICAgICAtPiAw
MTpbMDJdCi1zaG91bGRCZUVxdWFsVG9TdHJpbmcoJ2lucHV0LnZhbHVlJywgJzAxOjAyJyk7Ci1r
ZXlEb3duKCdcdCcsIFsnc2hpZnRLZXknXSk7IC8vIC0+IFswMV06MDIKLWtleURvd24oJzMnKTsg
Ly8gICAgICAgICAgLT4gWzAzXTowMgotc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdpbnB1dC52YWx1
ZScsICcwMzowMicpOwotaW5wdXQucmVtb3ZlQXR0cmlidXRlKCJsYW5nIik7Ci08L3NjcmlwdD4K
LTxzY3JpcHQgc3JjPSIuLi8uLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3Njcmlw
dD4KLTwvYm9keT4KLTwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMv
dGltZS1tdWx0aXBsZS1maWVsZHMvdGltZS1tdWx0aXBsZS1maWVsZHMtbG9jYWxpemF0aW9uLmh0
bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3RpbWUtbXVsdGlwbGUtZmllbGRzL3RpbWUtbXVs
dGlwbGUtZmllbGRzLWxvY2FsaXphdGlvbi5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCBhNmQxYjU5N2Q2MjZlZTQ2ZmE0OTU0YjZiZmI1MTlkNTBmNTlkYTlhLi4wMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZm9y
bXMvdGltZS1tdWx0aXBsZS1maWVsZHMvdGltZS1tdWx0aXBsZS1maWVsZHMtbG9jYWxpemF0aW9u
Lmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSwzMCArMCwwIEBACi08IURPQ1RZUEUgaHRtbD4KLTxo
dG1sPgotPGhlYWQ+Ci08bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Ci08c2NyaXB0IHNyYz0iLi4vLi4v
anMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIuLi9y
ZXNvdXJjZXMvY29tbW9uLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQ+Ci1pZiAod2luZG93LmludGVy
bmFscykKLSAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0TGFuZ0F0dHJpYnV0ZUF3YXJlRm9ybUNv
bnRyb2xVSUVuYWJsZWQodHJ1ZSk7Ci08L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5PgotPGRpdiBp
ZD1jb25zb2xlPjwvZGl2PgotPGlucHV0IHR5cGU9InRpbWUiIHZhbHVlPSIxMzoyMzo0NS4xIiBs
YW5nPSJlbiIgLz48YnI+Ci08aW5wdXQgdHlwZT0idGltZSIgdmFsdWU9IjEzOjIzOjQ1LjEiIGxh
bmc9ImFyIiAvPjxicj4KLTxpbnB1dCB0eXBlPSJ0aW1lIiB2YWx1ZT0iMTM6MjM6NDUuMSIgbGFu
Zz0iZnIiIC8+PGJyPgotPGlucHV0IHR5cGU9InRpbWUiIHZhbHVlPSIxMzoyMzo0NS4xIiBsYW5n
PSJqYSIgLz48YnI+Ci08aW5wdXQgdHlwZT0idGltZSIgdmFsdWU9IjEzOjIzOjQ1LjEiIGxhbmc9
ImtvIiAvPjxicj4KLTxpbnB1dCB0eXBlPSJ0aW1lIiB2YWx1ZT0iMTM6MjM6NDUuMSIgbGFuZz0i
Y24iIC8+Ci08c2NyaXB0PgotZGVzY3JpcHRpb24oIlRlc3RzIHRoZSB0aW1lIGZvcm1hdCBmb3Ig
dmFyaW91cyBsb2NhbGVzLiIsIHRydWUpOwotZGVidWcoIlRoZSBmb2xsb3dpbmcgbGluZXMgZGVw
ZW5kIG9uIHRoZSBsb2NhbGUgZGF0YSBpbiB0aGUgc3lzdGVtLiIpOwotdmFyIGlucHV0cyA9IGRv
Y3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCJpbnB1dCIpOwotZm9yICh2YXIgaSA9IDA7IGkg
PCBpbnB1dHMubGVuZ3RoOyArK2kpIHsKLSAgICAgZGVidWcoaW5wdXRzW2ldLmxhbmcgKyAnOiAn
ICsgZ2V0VXNlckFnZW50U2hhZG93VGV4dENvbnRlbnQoaW5wdXRzW2ldKSk7Ci19Ci08L3Njcmlw
dD4KLTxzY3JpcHQgc3JjPSIuLi8uLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3Nj
cmlwdD4KLTwvYm9keT4KLTwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZm9y
bXMvdGltZS1tdWx0aXBsZS1maWVsZHMvdGltZS1tdWx0aXBsZS1maWVsZHMtbG9zaW5nLXJlbmRl
cmVyLW9uLWNsaWNrLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvdGltZS1t
dWx0aXBsZS1maWVsZHMvdGltZS1tdWx0aXBsZS1maWVsZHMtbG9zaW5nLXJlbmRlcmVyLW9uLWNs
aWNrLWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggOTU1N2I3YzM2
M2EyMjZmOWM1ZWVkYWI4ZDhjMjU5MzJkMmJmZDA1Ni4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3RpbWUtbXVsdGlw
bGUtZmllbGRzL3RpbWUtbXVsdGlwbGUtZmllbGRzLWxvc2luZy1yZW5kZXJlci1vbi1jbGljay1l
eHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSwyICswLDAgQEAKLVRoaXMgdGVzdHMgdGhh
dCB3ZSBkb24ndCBjcmFzaCB3aGVuIHRoZSByZW5kZXJlciBnb2VzIGF3YXkgZHVyaW5nIGV2ZW50
IGhhbmRsaW5nLgotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3RpbWUtbXVs
dGlwbGUtZmllbGRzL3RpbWUtbXVsdGlwbGUtZmllbGRzLWxvc2luZy1yZW5kZXJlci1vbi1jbGlj
ay5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy90aW1lLW11bHRpcGxlLWZpZWxkcy90aW1l
LW11bHRpcGxlLWZpZWxkcy1sb3NpbmctcmVuZGVyZXItb24tY2xpY2suaHRtbApkZWxldGVkIGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggOGRiZDgyNGQzNjYxZDZhNTVkOTgxODNkY2EyNDMwZjViOTFh
OTc5Yi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlv
dXRUZXN0cy9mYXN0L2Zvcm1zL3RpbWUtbXVsdGlwbGUtZmllbGRzL3RpbWUtbXVsdGlwbGUtZmll
bGRzLWxvc2luZy1yZW5kZXJlci1vbi1jbGljay5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsMTIg
KzAsMCBAQAotPGh0bWw+Ci0gICAgPGhlYWQ+Ci0gICAgICAgIDxzY3JpcHQgc3JjPSIuLi9yZXNv
dXJjZXMvY29tbW9uLWxvc2luZy1yZW5kZXJlci1vbi1jbGljay5qcyI+PC9zY3JpcHQ+Ci0gICAg
ICAgIDxzdHlsZT4KLSAgICAgICAgICAgICN0ZXN0IHsgd2lkdGg6IDEwMHB4OyB9Ci0gICAgICAg
IDwvc3R5bGU+Ci0gICAgPC9oZWFkPgotICAgIDxib2R5IG9ubG9hZD0idGVzdExvc2luZ1JlbmRl
cmVyT25DbGljaygpIj4KLSAgICAgICAgVGhpcyB0ZXN0cyB0aGF0IHdlIGRvbid0IGNyYXNoIHdo
ZW4gdGhlIHJlbmRlcmVyIGdvZXMgYXdheSBkdXJpbmcgZXZlbnQgaGFuZGxpbmcuPGJyPgotICAg
ICAgICA8aW5wdXQgdHlwZT0idGltZSIgaWQ9InRlc3QiIG9uY2xpY2s9ImV2ZW50LnRhcmdldC5z
dHlsZS5kaXNwbGF5PSdub25lJyI+Ci0gICAgPC9ib2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy90aW1lLW11bHRpcGxlLWZpZWxkcy90aW1lLW11bHRpcGxl
LWZpZWxkcy1tb3VzZS1ldmVudHMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jt
cy90aW1lLW11bHRpcGxlLWZpZWxkcy90aW1lLW11bHRpcGxlLWZpZWxkcy1tb3VzZS1ldmVudHMt
ZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBkNzNmMGUyNGI4Zjhi
ZjNkYmE1NWNkMjZlNTQ4ZDUzMWU1N2JhMzdlLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvdGltZS1tdWx0aXBsZS1m
aWVsZHMvdGltZS1tdWx0aXBsZS1maWVsZHMtbW91c2UtZXZlbnRzLWV4cGVjdGVkLnR4dAorKysg
L2Rldi9udWxsCkBAIC0xLDMyICswLDAgQEAKLU11bHRpcGxlIGZpZWxkcyBVSSBvZiB0aW1lIGlu
cHV0IHR5cGUgd2l0aCBtb3VzZSBldmVudHMKLQotT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEg
c2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgot
Ci0KLVBsZWFzZSBydW4gdGhpcyB3aXRoIER1bXBSZW5kZXJUcmVlLgotCi1UZXN0IGZvbGxvd2lu
ZyBtb3VzZSBhY3Rpb25zOgotTW91c2UgY2xpY2sgdG8gZm9jdXMgZmllbGQKLU1vdXNlIGNsaWNr
IG9uIHNwaW4gYnV0dG9uCi0KLT0gRm9jdXMgdG8gaG91ciBmaWVsZCA9Ci1QQVNTIGlucHV0LnZh
bHVlIGlzICIwMjoyMyIKLT0gRm9jdXMgdG8gbWludXRlIGZpZWxkID0KLVBBU1MgaW5wdXQudmFs
dWUgaXMgIjAyOjI0IgotPSBDbGljayB1cCBwYXJ0IG9mIHNwaW4gYnV0dG9uID0KLVBBU1MgaW5w
dXQudmFsdWUgaXMgIjAyOjI1IgotPSBDbGljayBkb3duIHBhcnQgb2Ygc3BpbiBidXR0b24gPQot
UEFTUyBpbnB1dC52YWx1ZSBpcyAiMDI6MjQiCi09IENsaWNrIG9uIGEgZGlzYWJsZWQvcmVhZG9u
bHkgZmllbGQgPQotUEFTUyBpbnB1dC52YWx1ZSBpcyAiMDI6MjQiCi1QQVNTIGlucHV0LnZhbHVl
IGlzICIwMjoyNCIKLQotPT0+IENsaWNrIG9uIGNsZWFyIGJ1dHRvbi4KLVBBU1MgaW5wdXQudmFs
dWUgaXMgIjAyOjI0IgotUEFTUyBpbnB1dC52YWx1ZSBpcyAiMDI6MjQiCi1QQVNTIGlucHV0LnZh
bHVlIGlzICIiCi0KLVBBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKLQotVEVTVCBDT01Q
TEVURQotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3RpbWUtbXVsdGlwbGUt
ZmllbGRzL3RpbWUtbXVsdGlwbGUtZmllbGRzLW1vdXNlLWV2ZW50cy5odG1sIGIvTGF5b3V0VGVz
dHMvZmFzdC9mb3Jtcy90aW1lLW11bHRpcGxlLWZpZWxkcy90aW1lLW11bHRpcGxlLWZpZWxkcy1t
b3VzZS1ldmVudHMuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggOGI0YWQ2NGU3
ODU4N2UzOWQwYjhiOTE4MTk3N2Y2MjY1NmZjOGQ5NC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3RpbWUtbXVsdGlw
bGUtZmllbGRzL3RpbWUtbXVsdGlwbGUtZmllbGRzLW1vdXNlLWV2ZW50cy5odG1sCisrKyAvZGV2
L251bGwKQEAgLTEsMTA2ICswLDAgQEAKLTwhRE9DVFlQRSBodG1sPgotPGh0bWw+Ci08aGVhZD4K
LTxzY3JpcHQgc3JjPSIuLi8uLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0
PgotPC9oZWFkPgotPGJvZHk+Ci08cCBpZD0iZGVzY3JpcHRpb24iPjwvcD4KLTxwPgotUGxlYXNl
IHJ1biB0aGlzIHdpdGggRHVtcFJlbmRlclRyZWUuCi08L3A+Ci1UZXN0IGZvbGxvd2luZyBtb3Vz
ZSBhY3Rpb25zOgotPHVsPgotICAgIDxsaT5Nb3VzZSBjbGljayB0byBmb2N1cyBmaWVsZDwvbGk+
Ci0gICAgPGxpPk1vdXNlIGNsaWNrIG9uIHNwaW4gYnV0dG9uPC9saT4KLTwvdWw+Ci08aW5wdXQg
aWQ9ImlucHV0IiB0eXBlPSJ0aW1lIiBzdHlsZT0iZm9udC1mYW1pbHk6YWhlbTsgZm9udC1zaXpl
OjE2cHg7Ij4KLTxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgotPHNjcmlwdD4KLWRlc2NyaXB0aW9u
KCJNdWx0aXBsZSBmaWVsZHMgVUkgb2YgdGltZSBpbnB1dCB0eXBlIHdpdGggbW91c2UgZXZlbnRz
Iik7Ci12YXIgaW5wdXQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiaW5wdXQiKTsKLQotZnVu
Y3Rpb24ga2V5RG93bihrZXksIG1vZGlmaWVycykKLXsKLSAgICBpZiAoIXdpbmRvdy5ldmVudFNl
bmRlcikKLSAgICAgICAgcmV0dXJuOwotICAgIGV2ZW50U2VuZGVyLmtleURvd24oa2V5LCBtb2Rp
ZmllcnMpOwotfQotCi1mdW5jdGlvbiBtb3VzZUNsaWNrKCkKLXsKLSAgICBpZiAoIXdpbmRvdy5l
dmVudFNlbmRlcikKLSAgICAgICAgcmV0dXJuOwotICAgIGV2ZW50U2VuZGVyLm1vdXNlRG93bigp
OwotICAgIGV2ZW50U2VuZGVyLm1vdXNlVXAoKTsKLX0KLQotZnVuY3Rpb24gbW91c2VNb3ZlVG8o
eCwgeSkKLXsKLSAgICBpZiAoIXdpbmRvdy5ldmVudFNlbmRlcikKLSAgICAgICAgcmV0dXJuOwot
ICAgIGV2ZW50U2VuZGVyLm1vdXNlTW92ZVRvKHggKyBpbnB1dC5vZmZzZXRMZWZ0LCB5ICsgaW5w
dXQub2Zmc2V0VG9wKTsKLX0KLQotdmFyIGNlbnRlciA9IGlucHV0Lm9mZnNldEhlaWdodCAvIDI7
Ci12YXIgY2xlYXJCdXR0b25PZmZzZXQgPSAyMDsKLQotaW5wdXQudmFsdWUgPSAiMDE6MjMiOwot
aW5wdXQuYmx1cigpOwotCi1kZWJ1ZygnPSBGb2N1cyB0byBob3VyIGZpZWxkID0nKTsKLW1vdXNl
TW92ZVRvKDEyLCAxNCk7Ci1tb3VzZUNsaWNrKCk7Ci1rZXlEb3duKCd1cEFycm93Jyk7Ci1zaG91
bGRCZUVxdWFsVG9TdHJpbmcoJ2lucHV0LnZhbHVlJywgJzAyOjIzJyk7Ci0KLWRlYnVnKCc9IEZv
Y3VzIHRvIG1pbnV0ZSBmaWVsZCA9Jyk7Ci1tb3VzZU1vdmVUbyg3MCwgMTQpOwotbW91c2VDbGlj
aygpOwota2V5RG93bigndXBBcnJvdycpOwotc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdpbnB1dC52
YWx1ZScsICcwMjoyNCcpOwotCi1kZWJ1ZygnPSBDbGljayB1cCBwYXJ0IG9mIHNwaW4gYnV0dG9u
ID0nKTsKLW1vdXNlTW92ZVRvKGlucHV0Lm9mZnNldFdpZHRoIC0gMTAsIDgpOwotbW91c2VDbGlj
aygpOwotc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdpbnB1dC52YWx1ZScsICcwMjoyNScpOwotCi1k
ZWJ1ZygnPSBDbGljayBkb3duIHBhcnQgb2Ygc3BpbiBidXR0b24gPScpOwotbW91c2VNb3ZlVG8o
aW5wdXQub2Zmc2V0V2lkdGggLSAxMCwgaW5wdXQub2Zmc2V0SGVpZ2h0IC0gOCk7Ci1tb3VzZUNs
aWNrKCk7Ci1zaG91bGRCZUVxdWFsVG9TdHJpbmcoJ2lucHV0LnZhbHVlJywgJzAyOjI0Jyk7Ci0K
LWRlYnVnKCc9IENsaWNrIG9uIGEgZGlzYWJsZWQvcmVhZG9ubHkgZmllbGQgPScpOwotaW5wdXQu
ZGlzYWJsZWQgPSB0cnVlOwotbW91c2VNb3ZlVG8oMTIsIDE0KTsKLW1vdXNlQ2xpY2soKTsKLWtl
eURvd24oJ3VwQXJyb3cnKTsKLXNob3VsZEJlRXF1YWxUb1N0cmluZygnaW5wdXQudmFsdWUnLCAn
MDI6MjQnKTsgLy8gTm90IGNoYW5nZWQuCi1pbnB1dC5kaXNhYmxlZCA9IGZhbHNlOwotaW5wdXQu
cmVhZE9ubHkgPSB0cnVlOwotbW91c2VNb3ZlVG8oMTIsIDE0KTsKLW1vdXNlQ2xpY2soKTsKLWtl
eURvd24oJ3VwQXJyb3cnKTsKLXNob3VsZEJlRXF1YWxUb1N0cmluZygnaW5wdXQudmFsdWUnLCAn
MDI6MjQnKTsgLy8gTm90IGNoYW5nZWQuCi1pbnB1dC5yZWFkT25seSA9IGZhbHNlOwotCi1kZWJ1
ZygnJyk7Ci1kZWJ1ZygnPT0+IENsaWNrIG9uIGNsZWFyIGJ1dHRvbi4nKTsKLWlucHV0LnJlYWRP
bmx5ID0gdHJ1ZTsKLW1vdXNlTW92ZVRvKGlucHV0Lm9mZnNldFdpZHRoIC0gY2xlYXJCdXR0b25P
ZmZzZXQsIGNlbnRlcik7Ci1tb3VzZUNsaWNrKCk7Ci1zaG91bGRCZUVxdWFsVG9TdHJpbmcoJ2lu
cHV0LnZhbHVlJywgJzAyOjI0Jyk7IC8vIE5vdCBjaGFuZ2VkLgotaW5wdXQuZGlzYWJsZWQgPSB0
cnVlOwotaW5wdXQucmVhZE9ubHkgPSBmYWxzZTsKLW1vdXNlTW92ZVRvKGlucHV0Lm9mZnNldFdp
ZHRoIC0gY2xlYXJCdXR0b25PZmZzZXQsIGNlbnRlcik7Ci1tb3VzZUNsaWNrKCk7Ci1zaG91bGRC
ZUVxdWFsVG9TdHJpbmcoJ2lucHV0LnZhbHVlJywgJzAyOjI0Jyk7IC8vIE5vdCBjaGFuZ2VkLgot
aW5wdXQuZGlzYWJsZWQgPSBmYWxzZTsKLW1vdXNlTW92ZVRvKGlucHV0Lm9mZnNldFdpZHRoIC0g
Y2xlYXJCdXR0b25PZmZzZXQsIGNlbnRlcik7Ci1tb3VzZUNsaWNrKCk7Ci1zaG91bGRCZUVxdWFs
VG9TdHJpbmcoJ2lucHV0LnZhbHVlJywgJycpOwotCi1kZWJ1ZygnJyk7Ci08L3NjcmlwdD4KLTxz
Y3JpcHQgc3JjPSIuLi8uLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4K
LTwvYm9keT4KLTwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvdGlt
ZS1tdWx0aXBsZS1maWVsZHMvdGltZS1tdWx0aXBsZS1maWVsZHMtbmFycm93LXdpZHRoLXNjcm9s
bC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3RpbWUtbXVsdGlwbGUtZmll
bGRzL3RpbWUtbXVsdGlwbGUtZmllbGRzLW5hcnJvdy13aWR0aC1zY3JvbGwtZXhwZWN0ZWQudHh0
CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAyODBhMWExZGFlODc5NzlmOGRhZTI0ZDIx
OTY2ZjU4ZjU1ZTc0MDA1Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvdGltZS1tdWx0aXBsZS1maWVsZHMvdGltZS1t
dWx0aXBsZS1maWVsZHMtbmFycm93LXdpZHRoLXNjcm9sbC1leHBlY3RlZC50eHQKKysrIC9kZXYv
bnVsbApAQCAtMSwxMCArMCwwIEBACi1DaGVjayBpZiBjaGFuZ2luZyBmb2N1cyBpbiBhIG11bHRp
cGxlIGZpZWxkcyBpbnB1dCBzY3JvbGxzIHRoZSBjb250ZW50LgotCi1PbiBzdWNjZXNzLCB5b3Ug
d2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBD
T01QTEVURSIuCi0KLQotUEFTUyBpbml0aWFsU2Nyb2xsTGVmdCA8IGNvbnRhaW5lci5zY3JvbGxM
ZWZ0IGlzIHRydWUKLVBBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKLQotVEVTVCBDT01Q
TEVURQotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3RpbWUtbXVsdGlwbGUt
ZmllbGRzL3RpbWUtbXVsdGlwbGUtZmllbGRzLW5hcnJvdy13aWR0aC1zY3JvbGwuaHRtbCBiL0xh
eW91dFRlc3RzL2Zhc3QvZm9ybXMvdGltZS1tdWx0aXBsZS1maWVsZHMvdGltZS1tdWx0aXBsZS1m
aWVsZHMtbmFycm93LXdpZHRoLXNjcm9sbC5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCA0NzVhMWUwOWJiZTUyYTIzYzM1YjI1NzNlMzdiMTUwMzY0YjcyNTA1Li4wMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZm9y
bXMvdGltZS1tdWx0aXBsZS1maWVsZHMvdGltZS1tdWx0aXBsZS1maWVsZHMtbmFycm93LXdpZHRo
LXNjcm9sbC5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsMjAgKzAsMCBAQAotPCFET0NUWVBFPgot
PGJvZHk+Ci08c2NyaXB0IHNyYz0iLi4vLi4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48
L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvY29tbW9uLmpzIj48L3NjcmlwdD4K
LQotPGlucHV0IGlkPSJ0aW1lMSIgdHlwZT0idGltZSIgc3R5bGU9ImZvbnQtc2l6ZToyMHB4OyB3
aWR0aDo2MHB4OyI+Ci0KLTxzY3JpcHQ+Ci1kZXNjcmlwdGlvbignQ2hlY2sgaWYgY2hhbmdpbmcg
Zm9jdXMgaW4gYSBtdWx0aXBsZSBmaWVsZHMgaW5wdXQgc2Nyb2xscyB0aGUgY29udGVudC4nKTsK
LWlmICghd2luZG93LmV2ZW50U2VuZGVyIHx8ICF3aW5kb3cuaW50ZXJuYWxzKQotICAgIGRlYnVn
KCdUaGlzIHRlc3QgcnF1aXJlcyBEUlQvV1JULicpOwotdmFyIHRpbWUxID0gJCgndGltZTEnKTsK
LXRpbWUxLmZvY3VzKCk7Ci12YXIgY29udGFpbmVyID0gZ2V0RWxlbWVudEJ5UHNldWRvSWQoaW50
ZXJuYWxzLm9sZGVzdFNoYWRvd1Jvb3QodGltZTEpLCAnLXdlYmtpdC1kYXRldGltZS1lZGl0Jyk7
Ci12YXIgaW5pdGlhbFNjcm9sbExlZnQgPSBjb250YWluZXIuc2Nyb2xsTGVmdDsKLWV2ZW50U2Vu
ZGVyLmtleURvd24oJ1x0Jyk7Ci1zaG91bGRCZVRydWUoJ2luaXRpYWxTY3JvbGxMZWZ0IDwgY29u
dGFpbmVyLnNjcm9sbExlZnQnKTsKLTwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii4uLy4uL2pzL3Jl
c291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgotPC9ib2R5PgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy90aW1lLW11bHRpcGxlLWZpZWxkcy90aW1lLW11bHRpcGxl
LWZpZWxkcy1wcmVzZXJ2ZS12YWx1ZS1hZnRlci1oaXN0b3J5LWJhY2stZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy90aW1lLW11bHRpcGxlLWZpZWxkcy90aW1lLW11bHRpcGxl
LWZpZWxkcy1wcmVzZXJ2ZS12YWx1ZS1hZnRlci1oaXN0b3J5LWJhY2stZXhwZWN0ZWQudHh0CmRl
bGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBkZWNlZDI2Nzk3YmMzYzE1MzM5OWY5MDQxNjc2
MzA2YjllNTgyNTJiLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0t
LSBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvdGltZS1tdWx0aXBsZS1maWVsZHMvdGltZS1tdWx0
aXBsZS1maWVsZHMtcHJlc2VydmUtdmFsdWUtYWZ0ZXItaGlzdG9yeS1iYWNrLWV4cGVjdGVkLnR4
dAorKysgL2Rldi9udWxsCkBAIC0xLDE4ICswLDAgQEAKLUNoZWNrcyBpbnB1dCB2YWx1ZSBpcyBw
cmVzZXJ2ZWQgYWZ0ZXIgYmFja3dhcmQgYW5kIGZvcndhcmQKLQotT24gc3VjY2VzcywgeW91IHdp
bGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09N
UExFVEUiLgotCi0KLVdlbnQgYmFjayB0byBhIHBhZ2UuIENoZWNraW5nIGEgZm9ybSBjb250cm9s
IHdoaWNoIGhhZCBhIGZ1bGwgdmFsdWU6Ci1QQVNTICIwMTowMSIgaXMgIjAxOjAxIgotV2VudCBi
YWNrIHRvIGEgcGFnZS4gQ2hlY2tpbmcgYSBmb3JtIGNvbnRyb2wgd2hpY2ggaGFkIGEgcGFydGlh
bCB2YWx1ZToKLVBBU1MgIjAxOi0tOi0tIEFNIiBpcyAiMDE6LS06LS0gQU0iCi1XZW50IGZvcndh
cmQgdG8gYSBwYWdlLiBDaGVja2luZyBhIGZvcm0gY29udHJvbCB3aGljaCBoYWQgYSBmdWxsIHZh
bHVlOgotUEFTUyAiMDI6MDIiIGlzICIwMjowMiIKLVdlbnQgZm9yd2FyZCB0byBhIHBhZ2UuIENo
ZWNraW5nIGEgZm9ybSBjb250cm9sIHdoaWNoIGhhZCBhIHBhcnRpYWwgdmFsdWU6Ci1QQVNTICIt
LTo1OTotLSAtLSIgaXMgIi0tOjU5Oi0tIC0tIgotCi1QQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBp
cyB0cnVlCi0KLVRFU1QgQ09NUExFVEUKLQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9m
b3Jtcy90aW1lLW11bHRpcGxlLWZpZWxkcy90aW1lLW11bHRpcGxlLWZpZWxkcy1wcmVzZXJ2ZS12
YWx1ZS1hZnRlci1oaXN0b3J5LWJhY2suaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvdGlt
ZS1tdWx0aXBsZS1maWVsZHMvdGltZS1tdWx0aXBsZS1maWVsZHMtcHJlc2VydmUtdmFsdWUtYWZ0
ZXItaGlzdG9yeS1iYWNrLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDQxNzBh
YmIyYzU4NDE0ODI4ODI2NGZmNjZlNTAxY2RkZDU1NGU0NDEuLjAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy90aW1lLW11
bHRpcGxlLWZpZWxkcy90aW1lLW11bHRpcGxlLWZpZWxkcy1wcmVzZXJ2ZS12YWx1ZS1hZnRlci1o
aXN0b3J5LWJhY2suaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDQyICswLDAgQEAKLTwhRE9DVFlQ
RSBodG1sPgotPGh0bWw+Ci08aGVhZD4KLTxzY3JpcHQgc3JjPSIuLi8uLi8uLi9mYXN0L2pzL3Jl
c291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keT4KLTxpZnJh
bWUgaWQ9ImlmcmFtZSI+PC9pZnJhbWU+Ci08c2NyaXB0PgotZGVzY3JpcHRpb24oJ0NoZWNrcyBp
bnB1dCB2YWx1ZSBpcyBwcmVzZXJ2ZWQgYWZ0ZXIgYmFja3dhcmQgYW5kIGZvcndhcmQnKTsKLWlm
ICghd2luZG93LmV2ZW50U2VuZGVyIHx8ICF3aW5kb3cuaW50ZXJuYWxzKQotICAgIGRlYnVnKCdQ
bGVhc2UgcnVuIHdpdGhpbiBEdW1wUmVuZGVyVHJlZScpOwotd2luZG93LmpzVGVzdElzQXN5bmMg
PSB0cnVlOwotCi12YXIgc3RhdGUgPSAnZGlyZWN0JzsKLXZhciB0ZXN0Q2FzZXMgPSBbXTsKLQot
ZnVuY3Rpb24gZmFpbGVkKG1lc3NhZ2UpIHsKLSAgICB0ZXN0RmFpbGVkKG1lc3NhZ2UgKyAnIGlu
ICcgKyBzdGF0ZSk7Ci0gICAgZmluaXNoSlNUZXN0KCk7Ci19Ci0KLWZ1bmN0aW9uIGZpbmlzaFRl
c3QoKSB7Ci0gICAgcnVuVGVzdENhc2VzKCk7Ci0gICAgZmluaXNoSlNUZXN0KCk7Ci19Ci0KLWZ1
bmN0aW9uIHJ1blRlc3RDYXNlcygpIHsKLSAgICBmb3IgKHZhciBpbmRleCA9IDA7IGluZGV4IDwg
dGVzdENhc2VzLmxlbmd0aDsgKytpbmRleCkgewotICAgICAgICB2YXIgdGVzdENhc2UgPSB0ZXN0
Q2FzZXNbaW5kZXhdOwotICAgICAgICBkZWJ1Zyh0ZXN0Q2FzZVsnZGVzY3JpcHRpb24nXSArICc6
Jyk7Ci0gICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygnIicgKyB0ZXN0Q2FzZVsnYWN0dWFs
J10gKyAnIicsIHRlc3RDYXNlWydleHBlY3RlZCddKTsKLSAgICB9Ci0gICAgZGVidWcoJycpOwot
fQotCi13aW5kb3cub25sb2FkID0gZnVuY3Rpb24oKSB7Ci0gICAgZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoJ2lmcmFtZScpLnNyYyA9ICdyZXNvdXJjZXMvcHJlc2VydmUtdmFsdWUtYWZ0ZXItaGlz
dG9yeS1iYWNrLWZyYW1lLmh0bWw/cGFnZTEnOwotfTsKLTwvc2NyaXB0PgotPHNjcmlwdCBzcmM9
Ii4uLy4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Ci08
L2JvZHk+Ci08L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3RpbWUt
bXVsdGlwbGUtZmllbGRzL3RpbWUtbXVsdGlwbGUtZmllbGRzLXJlYWRvbmx5LXN1YmZpZWxkLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvdGltZS1tdWx0aXBsZS1maWVsZHMv
dGltZS1tdWx0aXBsZS1maWVsZHMtcmVhZG9ubHktc3ViZmllbGQtZXhwZWN0ZWQudHh0CmRlbGV0
ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBjNDIyYmY2Zjg3YzY0NWViYjRkZTIwZGRkOWU0NDRj
ODA0YWVjNDc2Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBh
L0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvdGltZS1tdWx0aXBsZS1maWVsZHMvdGltZS1tdWx0aXBs
ZS1maWVsZHMtcmVhZG9ubHktc3ViZmllbGQtZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAg
LTEsNjQgKzAsMCBAQAotU3ViLWZpZWxkcyBpbiBpbnB1dFt0eXBlPXRpbWVdIHNob3VsZCBiZSBy
ZWFkLW9ubHkgaW4gc29tZSBjYXNlcy4gVGhpcyByZXF1aXJlcyB3aW5kb3cuaW50ZXJuYWxzLgot
Ci1PbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBm
b2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCi0KLQotY3JlYXRlVGltZUlucHV0IGFyZ3VtZW50
IG9yZGVyOiBtaW4sIG1heCwgc3RlcCwgdmFsdWUKLQotTWlsbGlzZWNvbmRzIGZpZWxkOgotUEFT
UyBpc1JlYWRPbmx5RmllbGQoY3JlYXRlVGltZUlucHV0KCIwMDowMDowMC41MDAiLCBudWxsLCBz
dGVwMXNlYywgIiIpLCBwc2V1ZG9NaWxsaXNlY29uZCkgaXMgdHJ1ZQotUEFTUyBpc1JlYWRPbmx5
RmllbGQoY3JlYXRlVGltZUlucHV0KCIwMDowMDowMC41MDAiLCBudWxsLCBzdGVwMXNlYywgIjAw
OjAwOjAwLjUwMCIpLCBwc2V1ZG9NaWxsaXNlY29uZCkgaXMgdHJ1ZQotUEFTUyBpc1JlYWRPbmx5
RmllbGQoY3JlYXRlVGltZUlucHV0KCIwMDowMDowMC41MDAiLCBudWxsLCBzdGVwMXNlYywgIjAw
OjAwOjAwLjYwMCIpLCBwc2V1ZG9NaWxsaXNlY29uZCkgaXMgZmFsc2UKLVBBU1MgaXNSZWFkT25s
eUZpZWxkKGNyZWF0ZVRpbWVJbnB1dCgiMDA6MDA6MDAuMDAwIiwgbnVsbCwgc3RlcDFzZWMsICIw
MDowMDowMC42MDAiKSwgcHNldWRvTWlsbGlzZWNvbmQpIGlzIGZhbHNlCi1QQVNTIGlzUmVhZE9u
bHlGaWVsZChjcmVhdGVUaW1lSW5wdXQoIjAwOjAwOjAwLjUwMCIsICIwMDowMDowMC41MDAiLCBz
dGVwMW1zLCAiIiksIHBzZXVkb01pbGxpc2Vjb25kKSBpcyB0cnVlCi1QQVNTIGlzUmVhZE9ubHlG
aWVsZChjcmVhdGVUaW1lSW5wdXQoIjAwOjAwOjAwLjUwMCIsICIwMDowMDowMC41MDEiLCBzdGVw
MW1zLCAiIiksIHBzZXVkb01pbGxpc2Vjb25kKSBpcyBmYWxzZQotUEFTUyBpc1JlYWRPbmx5Rmll
bGQoY3JlYXRlVGltZUlucHV0KCIwMDowMDowMC41MDAiLCAiMDA6MDA6MDAuNTAwIiwgc3RlcDFt
cywgIjAwOjAwOjAwLjEwMCIpLCBwc2V1ZG9NaWxsaXNlY29uZCkgaXMgZmFsc2UKLVNlY29uZHMg
ZmllbGQ6Ci1QQVNTIGlzUmVhZE9ubHlGaWVsZChjcmVhdGVUaW1lSW5wdXQoIjAwOjAwOjMwIiwg
bnVsbCwgc3RlcDFtaW4sICIiKSwgcHNldWRvU2Vjb25kKSBpcyB0cnVlCi1QQVNTIGlzUmVhZE9u
bHlGaWVsZChjcmVhdGVUaW1lSW5wdXQoIjAwOjAwOjMwIiwgbnVsbCwgc3RlcDFtaW4sICIwMDow
MDozMCIpLCBwc2V1ZG9TZWNvbmQpIGlzIHRydWUKLVBBU1MgaXNSZWFkT25seUZpZWxkKGNyZWF0
ZVRpbWVJbnB1dCgiMDA6MDA6MzAuNTAwIiwgbnVsbCwgc3RlcDFtaW4sICIwMDowMDozMC42MDAi
KSwgcHNldWRvU2Vjb25kKSBpcyB0cnVlCi1QQVNTIGlzUmVhZE9ubHlGaWVsZChjcmVhdGVUaW1l
SW5wdXQoIjAwOjAwOjMwIiwgbnVsbCwgc3RlcDFtaW4sICIwMDowMDozNSIpLCBwc2V1ZG9TZWNv
bmQpIGlzIGZhbHNlCi1QQVNTIGlzUmVhZE9ubHlGaWVsZChjcmVhdGVUaW1lSW5wdXQoIjAwOjAw
OjAwIiwgbnVsbCwgc3RlcDFtaW4sICIwMDowMDozNSIpLCBwc2V1ZG9TZWNvbmQpIGlzIGZhbHNl
Ci1QQVNTIGlzUmVhZE9ubHlGaWVsZChjcmVhdGVUaW1lSW5wdXQoIjAwOjAwOjMwIiwgIjAwOjAw
OjMwIiwgc3RlcDFtcywgIiIpLCBwc2V1ZG9TZWNvbmQpIGlzIHRydWUKLVBBU1MgaXNSZWFkT25s
eUZpZWxkKGNyZWF0ZVRpbWVJbnB1dCgiMDA6MDA6MzAiLCAiMDA6MDA6MzEiLCBzdGVwMW1zLCAi
IiksIHBzZXVkb1NlY29uZCkgaXMgZmFsc2UKLVBBU1MgaXNSZWFkT25seUZpZWxkKGNyZWF0ZVRp
bWVJbnB1dCgiMDA6MDA6MzAiLCAiMDA6MDA6MzAiLCBzdGVwMW1zLCAiMDA6MDA6MjkiKSwgcHNl
dWRvU2Vjb25kKSBpcyBmYWxzZQotTWludXRlcyBmaWVsZDoKLVBBU1MgaXNSZWFkT25seUZpZWxk
KGNyZWF0ZVRpbWVJbnB1dCgiMDA6MzAiLCBudWxsLCBzdGVwMWhvdXIsICIiKSwgcHNldWRvTWlu
dXRlKSBpcyB0cnVlCi1QQVNTIGlzUmVhZE9ubHlGaWVsZChjcmVhdGVUaW1lSW5wdXQoIjAwOjMw
IiwgbnVsbCwgc3RlcDFob3VyLCAiMDA6MzAiKSwgcHNldWRvTWludXRlKSBpcyB0cnVlCi1QQVNT
IGlzUmVhZE9ubHlGaWVsZChjcmVhdGVUaW1lSW5wdXQoIjAwOjMwIiwgbnVsbCwgc3RlcDFob3Vy
LCAiMDA6MzUiKSwgcHNldWRvTWludXRlKSBpcyBmYWxzZQotUEFTUyBpc1JlYWRPbmx5RmllbGQo
Y3JlYXRlVGltZUlucHV0KCIwMDowMCIsIG51bGwsIHN0ZXAxaG91ciwgIjAwOjM1IiksIHBzZXVk
b01pbnV0ZSkgaXMgZmFsc2UKLVBBU1MgaXNSZWFkT25seUZpZWxkKGNyZWF0ZVRpbWVJbnB1dCgi
MDA6MDA6MDAiLCAiMDA6MDA6MzAiLCBzdGVwMXNlYywgIiIpLCBwc2V1ZG9NaW51dGUpIGlzIHRy
dWUKLVBBU1MgaXNSZWFkT25seUZpZWxkKGNyZWF0ZVRpbWVJbnB1dCgiMDA6MDA6MDAiLCAiMDA6
MDE6MzAiLCBzdGVwMXNlYywgIiIpLCBwc2V1ZG9NaW51dGUpIGlzIGZhbHNlCi1QQVNTIGlzUmVh
ZE9ubHlGaWVsZChjcmVhdGVUaW1lSW5wdXQoIjAwOjAwOjAwIiwgIjAwOjAwOjMwIiwgc3RlcDFz
ZWMsICIwMDowMTowMCIpLCBwc2V1ZG9NaW51dGUpIGlzIGZhbHNlCi1Ib3VyIGZpZWxkOgotUEFT
UyBpc1JlYWRPbmx5RmllbGQoY3JlYXRlVGltZUlucHV0KCIxMTowMCIsIG51bGwsIHN0ZXAxZGF5
LCAiIiksIHBzZXVkb0hvdXIpIGlzIGZhbHNlCi1QQVNTIGlzUmVhZE9ubHlGaWVsZChjcmVhdGVU
aW1lSW5wdXQoIjExOjAwIiwgbnVsbCwgc3RlcDFkYXksICIiKSwgcHNldWRvQU1QTSkgaXMgZmFs
c2UKLVBBU1MgaXNSZWFkT25seUZpZWxkKGNyZWF0ZVRpbWVJbnB1dCgiMTE6MDAiLCBudWxsLCBz
dGVwMWRheSwgIiIpLCBwc2V1ZG9NaW51dGUpIGlzIHRydWUKLVBBU1MgaXNSZWFkT25seUZpZWxk
KGNyZWF0ZVRpbWVJbnB1dCgiMTE6MzAiLCBudWxsLCBzdGVwMWRheSwgIjExOjMwIiksIHBzZXVk
b0hvdXIpIGlzIGZhbHNlCi1QQVNTIGlzUmVhZE9ubHlGaWVsZChjcmVhdGVUaW1lSW5wdXQoIjEx
OjMwIiwgbnVsbCwgc3RlcDFkYXksICIxMTozMCIpLCBwc2V1ZG9BTVBNKSBpcyBmYWxzZQotUEFT
UyBpc1JlYWRPbmx5RmllbGQoY3JlYXRlVGltZUlucHV0KCIxMTozMCIsIG51bGwsIHN0ZXAxZGF5
LCAiMTE6MzAiKSwgcHNldWRvTWludXRlKSBpcyB0cnVlCi1QQVNTIGlzUmVhZE9ubHlGaWVsZChj
cmVhdGVUaW1lSW5wdXQoIjExOjMwIiwgbnVsbCwgc3RlcDFkYXksICIxMjozMCIpLCBwc2V1ZG9I
b3VyKSBpcyBmYWxzZQotUEFTUyBpc1JlYWRPbmx5RmllbGQoY3JlYXRlVGltZUlucHV0KCIxMToz
MCIsIG51bGwsIHN0ZXAxZGF5LCAiMTI6MzAiKSwgcHNldWRvQU1QTSkgaXMgZmFsc2UKLVBBU1Mg
aXNSZWFkT25seUZpZWxkKGNyZWF0ZVRpbWVJbnB1dCgiMTE6MzAiLCBudWxsLCBzdGVwMWRheSwg
IjEyOjMwIiksIHBzZXVkb01pbnV0ZSkgaXMgdHJ1ZQotUEFTUyBpc1JlYWRPbmx5RmllbGQoY3Jl
YXRlVGltZUlucHV0KCIwMDowMCIsIG51bGwsIHN0ZXAxZGF5LCAiMTI6MzAiKSwgcHNldWRvSG91
cikgaXMgZmFsc2UKLVBBU1MgaXNSZWFkT25seUZpZWxkKGNyZWF0ZVRpbWVJbnB1dCgiMDA6MDAi
LCBudWxsLCBzdGVwMWRheSwgIjEyOjMwIiksIHBzZXVkb0FNUE0pIGlzIGZhbHNlCi1QQVNTIGlz
UmVhZE9ubHlGaWVsZChjcmVhdGVUaW1lSW5wdXQoIjAwOjAwIiwgbnVsbCwgc3RlcDFkYXksICIx
MjozMCIpLCBwc2V1ZG9NaW51dGUpIGlzIGZhbHNlCi1QQVNTIGlzUmVhZE9ubHlGaWVsZChjcmVh
dGVUaW1lSW5wdXQoIjAwOjAwIiwgIjAwOjMwIiwgc3RlcDFtaW4sICIiKSwgcHNldWRvSG91cikg
aXMgdHJ1ZQotUEFTUyBpc1JlYWRPbmx5RmllbGQoY3JlYXRlVGltZUlucHV0KCIwMDowMCIsICIw
MDozMCIsIHN0ZXAxbWluLCAiIiksIHBzZXVkb0FNUE0pIGlzIHRydWUKLVBBU1MgaXNSZWFkT25s
eUZpZWxkKGNyZWF0ZVRpbWVJbnB1dCgiMDA6MDAiLCAiMDA6MzAiLCBzdGVwMW1pbiwgIiIpLCBw
c2V1ZG9NaW51dGUpIGlzIGZhbHNlCi1QQVNTIGlzUmVhZE9ubHlGaWVsZChjcmVhdGVUaW1lSW5w
dXQoIjAwOjAwIiwgIjAwOjAwIiwgc3RlcDFob3VyLCAiIiksIHBzZXVkb0hvdXIpIGlzIGZhbHNl
Ci1QQVNTIGlzUmVhZE9ubHlGaWVsZChjcmVhdGVUaW1lSW5wdXQoIjAwOjAwIiwgIjAwOjAwIiwg
c3RlcDFob3VyLCAiIiksIHBzZXVkb0FNUE0pIGlzIHRydWUKLVBBU1MgaXNSZWFkT25seUZpZWxk
KGNyZWF0ZVRpbWVJbnB1dCgiMDA6MDAiLCAiMDA6MDAiLCBzdGVwMWhvdXIsICIiKSwgcHNldWRv
TWludXRlKSBpcyB0cnVlCi1BTS9QTSBmaWVsZDoKLVBBU1MgaXNSZWFkT25seUZpZWxkKGNyZWF0
ZVRpbWVJbnB1dCgiMDA6MDAiLCBudWxsLCBzdGVwMW1pbiwgIiIpLCBwc2V1ZG9BTVBNKSBpcyBm
YWxzZQotUEFTUyBpc1JlYWRPbmx5RmllbGQoY3JlYXRlVGltZUlucHV0KCIyMzowMCIsIG51bGws
IHN0ZXAxbWluLCAiIiksIHBzZXVkb0FNUE0pIGlzIGZhbHNlCi1QQVNTIGlzUmVhZE9ubHlGaWVs
ZChjcmVhdGVUaW1lSW5wdXQobnVsbCwgIjAxOjAwIiwgc3RlcDFtaW4sICIiKSwgcHNldWRvQU1Q
TSkgaXMgZmFsc2UKLVBBU1MgaXNSZWFkT25seUZpZWxkKGNyZWF0ZVRpbWVJbnB1dChudWxsLCAi
MjM6MDAiLCBzdGVwMW1pbiwgIiIpLCBwc2V1ZG9BTVBNKSBpcyBmYWxzZQotUEFTUyBpc1JlYWRP
bmx5RmllbGQoY3JlYXRlVGltZUlucHV0KCIwMDowMCIsICIxMTo1OSIsIHN0ZXAxbWluLCAiIiks
IHBzZXVkb0FNUE0pIGlzIHRydWUKLVBBU1MgaXNSZWFkT25seUZpZWxkKGNyZWF0ZVRpbWVJbnB1
dCgiMDA6MDAiLCAiMTI6MDAiLCBzdGVwMW1pbiwgIiIpLCBwc2V1ZG9BTVBNKSBpcyBmYWxzZQot
UEFTUyBpc1JlYWRPbmx5RmllbGQoY3JlYXRlVGltZUlucHV0KCIxMjowMCIsICIxMjowMCIsIHN0
ZXAxbWluLCAiIiksIHBzZXVkb0FNUE0pIGlzIHRydWUKLVBBU1MgaXNSZWFkT25seUZpZWxkKGNy
ZWF0ZVRpbWVJbnB1dCgiMTI6MDAiLCAiMjM6NTkiLCBzdGVwMW1pbiwgIiIpLCBwc2V1ZG9BTVBN
KSBpcyB0cnVlCi1QQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCi0KLVRFU1QgQ09NUExF
VEUKLQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy90aW1lLW11bHRpcGxlLWZp
ZWxkcy90aW1lLW11bHRpcGxlLWZpZWxkcy1yZWFkb25seS1zdWJmaWVsZC5odG1sIGIvTGF5b3V0
VGVzdHMvZmFzdC9mb3Jtcy90aW1lLW11bHRpcGxlLWZpZWxkcy90aW1lLW11bHRpcGxlLWZpZWxk
cy1yZWFkb25seS1zdWJmaWVsZC5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA0
MWFiMTUxYjVmNWNmNGQyOTVjMWU4NmE5ZWNlYjI5Y2IxZjQ1NmE5Li4wMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvdGlt
ZS1tdWx0aXBsZS1maWVsZHMvdGltZS1tdWx0aXBsZS1maWVsZHMtcmVhZG9ubHktc3ViZmllbGQu
aHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDEwMSArMCwwIEBACi08IURPQ1RZUEUgaHRtbD4KLTxi
b2R5PgotPHNjcmlwdCBzcmM9Ii4uLy4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9z
Y3JpcHQ+Ci08c2NyaXB0PgotZnVuY3Rpb24gY3JlYXRlVGltZUlucHV0KG1pbiwgbWF4LCBzdGVw
LCB2YWx1ZSkgewotICAgIHZhciBpbnB1dCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2lucHV0
Jyk7Ci0gICAgaW5wdXQudHlwZSA9ICd0aW1lJzsKLSAgICBpbnB1dC5taW4gPSBtaW47Ci0gICAg
aW5wdXQubWF4ID0gbWF4OwotICAgIGlucHV0LnN0ZXAgPSBzdGVwOwotICAgIGlmICh2YWx1ZSkK
LSAgICAgICAgaW5wdXQudmFsdWUgPSB2YWx1ZTsKLSAgICByZXR1cm4gaW5wdXQ7Ci19Ci0KLS8v
IEZJWE1FOiBSZW5hbWUgdGhpcyBmdW5jdGlvbiBhbmQgdGhlIHRlc3QgZmlsZS4KLWZ1bmN0aW9u
IGlzUmVhZE9ubHlGaWVsZChpbnB1dCwgcHNldWRvKSB7Ci0gICAgdmFyIG5vZGUgPSBpbnRlcm5h
bHMueW91bmdlc3RTaGFkb3dSb290KGlucHV0KS5xdWVyeVNlbGVjdG9yKCcqW3BzZXVkbz0iJyAr
IHBzZXVkbyArICciXScpOwotICAgIGlmICghbm9kZSkKLSAgICAgICAgdGVzdEZhaWxlZCgnUmVx
dWVzdGVkIG5vZGUgaXMgbWlzc2luZy4nKTsKLSAgICByZXR1cm4gbm9kZSAmJiBub2RlLmhhc0F0
dHJpYnV0ZSgnZGlzYWJsZWQnKTsKLX0KLQotdmFyIHBzZXVkb01pbGxpc2Vjb25kID0gJy13ZWJr
aXQtZGF0ZXRpbWUtZWRpdC1taWxsaXNlY29uZC1maWVsZCc7Ci12YXIgcHNldWRvU2Vjb25kID0g
Jy13ZWJraXQtZGF0ZXRpbWUtZWRpdC1zZWNvbmQtZmllbGQnOwotdmFyIHBzZXVkb01pbnV0ZSA9
ICctd2Via2l0LWRhdGV0aW1lLWVkaXQtbWludXRlLWZpZWxkJzsKLXZhciBwc2V1ZG9Ib3VyID0g
Jy13ZWJraXQtZGF0ZXRpbWUtZWRpdC1ob3VyLWZpZWxkJzsKLXZhciBwc2V1ZG9BTVBNID0gJy13
ZWJraXQtZGF0ZXRpbWUtZWRpdC1hbXBtLWZpZWxkJzsKLXZhciBzdGVwMW1zID0gJzAuMDAxJzsK
LXZhciBzdGVwMXNlYyA9ICcxJzsKLXZhciBzdGVwMW1pbiA9ICc2MCc7Ci12YXIgc3RlcDFob3Vy
ID0gJzM2MDAnOwotdmFyIHN0ZXAxZGF5ID0gJzg2NDAwJzsKLQotZGVzY3JpcHRpb24oJ1N1Yi1m
aWVsZHMgaW4gaW5wdXRbdHlwZT10aW1lXSBzaG91bGQgYmUgcmVhZC1vbmx5IGluIHNvbWUgY2Fz
ZXMuIFRoaXMgcmVxdWlyZXMgd2luZG93LmludGVybmFscy4nKTsKLWRlYnVnKCdjcmVhdGVUaW1l
SW5wdXQgYXJndW1lbnQgb3JkZXI6IG1pbiwgbWF4LCBzdGVwLCB2YWx1ZScpOwotZGVidWcoJycp
OwotCi1kZWJ1ZygnTWlsbGlzZWNvbmRzIGZpZWxkOicpOwotc2hvdWxkQmVUcnVlKCdpc1JlYWRP
bmx5RmllbGQoY3JlYXRlVGltZUlucHV0KCIwMDowMDowMC41MDAiLCBudWxsLCBzdGVwMXNlYywg
IiIpLCBwc2V1ZG9NaWxsaXNlY29uZCknKTsKLXNob3VsZEJlVHJ1ZSgnaXNSZWFkT25seUZpZWxk
KGNyZWF0ZVRpbWVJbnB1dCgiMDA6MDA6MDAuNTAwIiwgbnVsbCwgc3RlcDFzZWMsICIwMDowMDow
MC41MDAiKSwgcHNldWRvTWlsbGlzZWNvbmQpJyk7Ci1zaG91bGRCZUZhbHNlKCdpc1JlYWRPbmx5
RmllbGQoY3JlYXRlVGltZUlucHV0KCIwMDowMDowMC41MDAiLCBudWxsLCBzdGVwMXNlYywgIjAw
OjAwOjAwLjYwMCIpLCBwc2V1ZG9NaWxsaXNlY29uZCknKTsKLXNob3VsZEJlRmFsc2UoJ2lzUmVh
ZE9ubHlGaWVsZChjcmVhdGVUaW1lSW5wdXQoIjAwOjAwOjAwLjAwMCIsIG51bGwsIHN0ZXAxc2Vj
LCAiMDA6MDA6MDAuNjAwIiksIHBzZXVkb01pbGxpc2Vjb25kKScpOwotc2hvdWxkQmVUcnVlKCdp
c1JlYWRPbmx5RmllbGQoY3JlYXRlVGltZUlucHV0KCIwMDowMDowMC41MDAiLCAiMDA6MDA6MDAu
NTAwIiwgc3RlcDFtcywgIiIpLCBwc2V1ZG9NaWxsaXNlY29uZCknKTsKLXNob3VsZEJlRmFsc2Uo
J2lzUmVhZE9ubHlGaWVsZChjcmVhdGVUaW1lSW5wdXQoIjAwOjAwOjAwLjUwMCIsICIwMDowMDow
MC41MDEiLCBzdGVwMW1zLCAiIiksIHBzZXVkb01pbGxpc2Vjb25kKScpOwotc2hvdWxkQmVGYWxz
ZSgnaXNSZWFkT25seUZpZWxkKGNyZWF0ZVRpbWVJbnB1dCgiMDA6MDA6MDAuNTAwIiwgIjAwOjAw
OjAwLjUwMCIsIHN0ZXAxbXMsICIwMDowMDowMC4xMDAiKSwgcHNldWRvTWlsbGlzZWNvbmQpJyk7
Ci0KLWRlYnVnKCdTZWNvbmRzIGZpZWxkOicpOwotc2hvdWxkQmVUcnVlKCdpc1JlYWRPbmx5Rmll
bGQoY3JlYXRlVGltZUlucHV0KCIwMDowMDozMCIsIG51bGwsIHN0ZXAxbWluLCAiIiksIHBzZXVk
b1NlY29uZCknKTsKLXNob3VsZEJlVHJ1ZSgnaXNSZWFkT25seUZpZWxkKGNyZWF0ZVRpbWVJbnB1
dCgiMDA6MDA6MzAiLCBudWxsLCBzdGVwMW1pbiwgIjAwOjAwOjMwIiksIHBzZXVkb1NlY29uZCkn
KTsKLXNob3VsZEJlVHJ1ZSgnaXNSZWFkT25seUZpZWxkKGNyZWF0ZVRpbWVJbnB1dCgiMDA6MDA6
MzAuNTAwIiwgbnVsbCwgc3RlcDFtaW4sICIwMDowMDozMC42MDAiKSwgcHNldWRvU2Vjb25kKScp
Owotc2hvdWxkQmVGYWxzZSgnaXNSZWFkT25seUZpZWxkKGNyZWF0ZVRpbWVJbnB1dCgiMDA6MDA6
MzAiLCBudWxsLCBzdGVwMW1pbiwgIjAwOjAwOjM1IiksIHBzZXVkb1NlY29uZCknKTsKLXNob3Vs
ZEJlRmFsc2UoJ2lzUmVhZE9ubHlGaWVsZChjcmVhdGVUaW1lSW5wdXQoIjAwOjAwOjAwIiwgbnVs
bCwgc3RlcDFtaW4sICIwMDowMDozNSIpLCBwc2V1ZG9TZWNvbmQpJyk7Ci1zaG91bGRCZVRydWUo
J2lzUmVhZE9ubHlGaWVsZChjcmVhdGVUaW1lSW5wdXQoIjAwOjAwOjMwIiwgIjAwOjAwOjMwIiwg
c3RlcDFtcywgIiIpLCBwc2V1ZG9TZWNvbmQpJyk7Ci1zaG91bGRCZUZhbHNlKCdpc1JlYWRPbmx5
RmllbGQoY3JlYXRlVGltZUlucHV0KCIwMDowMDozMCIsICIwMDowMDozMSIsIHN0ZXAxbXMsICIi
KSwgcHNldWRvU2Vjb25kKScpOwotc2hvdWxkQmVGYWxzZSgnaXNSZWFkT25seUZpZWxkKGNyZWF0
ZVRpbWVJbnB1dCgiMDA6MDA6MzAiLCAiMDA6MDA6MzAiLCBzdGVwMW1zLCAiMDA6MDA6MjkiKSwg
cHNldWRvU2Vjb25kKScpOwotCi1kZWJ1ZygnTWludXRlcyBmaWVsZDonKTsKLXNob3VsZEJlVHJ1
ZSgnaXNSZWFkT25seUZpZWxkKGNyZWF0ZVRpbWVJbnB1dCgiMDA6MzAiLCBudWxsLCBzdGVwMWhv
dXIsICIiKSwgcHNldWRvTWludXRlKScpOwotc2hvdWxkQmVUcnVlKCdpc1JlYWRPbmx5RmllbGQo
Y3JlYXRlVGltZUlucHV0KCIwMDozMCIsIG51bGwsIHN0ZXAxaG91ciwgIjAwOjMwIiksIHBzZXVk
b01pbnV0ZSknKTsKLXNob3VsZEJlRmFsc2UoJ2lzUmVhZE9ubHlGaWVsZChjcmVhdGVUaW1lSW5w
dXQoIjAwOjMwIiwgbnVsbCwgc3RlcDFob3VyLCAiMDA6MzUiKSwgcHNldWRvTWludXRlKScpOwot
c2hvdWxkQmVGYWxzZSgnaXNSZWFkT25seUZpZWxkKGNyZWF0ZVRpbWVJbnB1dCgiMDA6MDAiLCBu
dWxsLCBzdGVwMWhvdXIsICIwMDozNSIpLCBwc2V1ZG9NaW51dGUpJyk7Ci1zaG91bGRCZVRydWUo
J2lzUmVhZE9ubHlGaWVsZChjcmVhdGVUaW1lSW5wdXQoIjAwOjAwOjAwIiwgIjAwOjAwOjMwIiwg
c3RlcDFzZWMsICIiKSwgcHNldWRvTWludXRlKScpOwotc2hvdWxkQmVGYWxzZSgnaXNSZWFkT25s
eUZpZWxkKGNyZWF0ZVRpbWVJbnB1dCgiMDA6MDA6MDAiLCAiMDA6MDE6MzAiLCBzdGVwMXNlYywg
IiIpLCBwc2V1ZG9NaW51dGUpJyk7Ci1zaG91bGRCZUZhbHNlKCdpc1JlYWRPbmx5RmllbGQoY3Jl
YXRlVGltZUlucHV0KCIwMDowMDowMCIsICIwMDowMDozMCIsIHN0ZXAxc2VjLCAiMDA6MDE6MDAi
KSwgcHNldWRvTWludXRlKScpOwotCi1kZWJ1ZygnSG91ciBmaWVsZDonKTsKLXNob3VsZEJlRmFs
c2UoJ2lzUmVhZE9ubHlGaWVsZChjcmVhdGVUaW1lSW5wdXQoIjExOjAwIiwgbnVsbCwgc3RlcDFk
YXksICIiKSwgcHNldWRvSG91ciknKTsKLXNob3VsZEJlRmFsc2UoJ2lzUmVhZE9ubHlGaWVsZChj
cmVhdGVUaW1lSW5wdXQoIjExOjAwIiwgbnVsbCwgc3RlcDFkYXksICIiKSwgcHNldWRvQU1QTSkn
KTsKLXNob3VsZEJlVHJ1ZSgnaXNSZWFkT25seUZpZWxkKGNyZWF0ZVRpbWVJbnB1dCgiMTE6MDAi
LCBudWxsLCBzdGVwMWRheSwgIiIpLCBwc2V1ZG9NaW51dGUpJyk7Ci1zaG91bGRCZUZhbHNlKCdp
c1JlYWRPbmx5RmllbGQoY3JlYXRlVGltZUlucHV0KCIxMTozMCIsIG51bGwsIHN0ZXAxZGF5LCAi
MTE6MzAiKSwgcHNldWRvSG91ciknKTsKLXNob3VsZEJlRmFsc2UoJ2lzUmVhZE9ubHlGaWVsZChj
cmVhdGVUaW1lSW5wdXQoIjExOjMwIiwgbnVsbCwgc3RlcDFkYXksICIxMTozMCIpLCBwc2V1ZG9B
TVBNKScpOwotc2hvdWxkQmVUcnVlKCdpc1JlYWRPbmx5RmllbGQoY3JlYXRlVGltZUlucHV0KCIx
MTozMCIsIG51bGwsIHN0ZXAxZGF5LCAiMTE6MzAiKSwgcHNldWRvTWludXRlKScpOwotc2hvdWxk
QmVGYWxzZSgnaXNSZWFkT25seUZpZWxkKGNyZWF0ZVRpbWVJbnB1dCgiMTE6MzAiLCBudWxsLCBz
dGVwMWRheSwgIjEyOjMwIiksIHBzZXVkb0hvdXIpJyk7Ci1zaG91bGRCZUZhbHNlKCdpc1JlYWRP
bmx5RmllbGQoY3JlYXRlVGltZUlucHV0KCIxMTozMCIsIG51bGwsIHN0ZXAxZGF5LCAiMTI6MzAi
KSwgcHNldWRvQU1QTSknKTsKLXNob3VsZEJlVHJ1ZSgnaXNSZWFkT25seUZpZWxkKGNyZWF0ZVRp
bWVJbnB1dCgiMTE6MzAiLCBudWxsLCBzdGVwMWRheSwgIjEyOjMwIiksIHBzZXVkb01pbnV0ZSkn
KTsKLXNob3VsZEJlRmFsc2UoJ2lzUmVhZE9ubHlGaWVsZChjcmVhdGVUaW1lSW5wdXQoIjAwOjAw
IiwgbnVsbCwgc3RlcDFkYXksICIxMjozMCIpLCBwc2V1ZG9Ib3VyKScpOwotc2hvdWxkQmVGYWxz
ZSgnaXNSZWFkT25seUZpZWxkKGNyZWF0ZVRpbWVJbnB1dCgiMDA6MDAiLCBudWxsLCBzdGVwMWRh
eSwgIjEyOjMwIiksIHBzZXVkb0FNUE0pJyk7Ci1zaG91bGRCZUZhbHNlKCdpc1JlYWRPbmx5Rmll
bGQoY3JlYXRlVGltZUlucHV0KCIwMDowMCIsIG51bGwsIHN0ZXAxZGF5LCAiMTI6MzAiKSwgcHNl
dWRvTWludXRlKScpOwotc2hvdWxkQmVUcnVlKCdpc1JlYWRPbmx5RmllbGQoY3JlYXRlVGltZUlu
cHV0KCIwMDowMCIsICIwMDozMCIsIHN0ZXAxbWluLCAiIiksIHBzZXVkb0hvdXIpJyk7Ci1zaG91
bGRCZVRydWUoJ2lzUmVhZE9ubHlGaWVsZChjcmVhdGVUaW1lSW5wdXQoIjAwOjAwIiwgIjAwOjMw
Iiwgc3RlcDFtaW4sICIiKSwgcHNldWRvQU1QTSknKTsKLXNob3VsZEJlRmFsc2UoJ2lzUmVhZE9u
bHlGaWVsZChjcmVhdGVUaW1lSW5wdXQoIjAwOjAwIiwgIjAwOjMwIiwgc3RlcDFtaW4sICIiKSwg
cHNldWRvTWludXRlKScpOwotc2hvdWxkQmVGYWxzZSgnaXNSZWFkT25seUZpZWxkKGNyZWF0ZVRp
bWVJbnB1dCgiMDA6MDAiLCAiMDA6MDAiLCBzdGVwMWhvdXIsICIiKSwgcHNldWRvSG91ciknKTsK
LXNob3VsZEJlVHJ1ZSgnaXNSZWFkT25seUZpZWxkKGNyZWF0ZVRpbWVJbnB1dCgiMDA6MDAiLCAi
MDA6MDAiLCBzdGVwMWhvdXIsICIiKSwgcHNldWRvQU1QTSknKTsKLXNob3VsZEJlVHJ1ZSgnaXNS
ZWFkT25seUZpZWxkKGNyZWF0ZVRpbWVJbnB1dCgiMDA6MDAiLCAiMDA6MDAiLCBzdGVwMWhvdXIs
ICIiKSwgcHNldWRvTWludXRlKScpOwotCi1kZWJ1ZygnQU0vUE0gZmllbGQ6Jyk7Ci1zaG91bGRC
ZUZhbHNlKCdpc1JlYWRPbmx5RmllbGQoY3JlYXRlVGltZUlucHV0KCIwMDowMCIsIG51bGwsIHN0
ZXAxbWluLCAiIiksIHBzZXVkb0FNUE0pJyk7Ci1zaG91bGRCZUZhbHNlKCdpc1JlYWRPbmx5Rmll
bGQoY3JlYXRlVGltZUlucHV0KCIyMzowMCIsIG51bGwsIHN0ZXAxbWluLCAiIiksIHBzZXVkb0FN
UE0pJyk7Ci1zaG91bGRCZUZhbHNlKCdpc1JlYWRPbmx5RmllbGQoY3JlYXRlVGltZUlucHV0KG51
bGwsICIwMTowMCIsIHN0ZXAxbWluLCAiIiksIHBzZXVkb0FNUE0pJyk7Ci1zaG91bGRCZUZhbHNl
KCdpc1JlYWRPbmx5RmllbGQoY3JlYXRlVGltZUlucHV0KG51bGwsICIyMzowMCIsIHN0ZXAxbWlu
LCAiIiksIHBzZXVkb0FNUE0pJyk7Ci1zaG91bGRCZVRydWUoJ2lzUmVhZE9ubHlGaWVsZChjcmVh
dGVUaW1lSW5wdXQoIjAwOjAwIiwgIjExOjU5Iiwgc3RlcDFtaW4sICIiKSwgcHNldWRvQU1QTSkn
KTsKLXNob3VsZEJlRmFsc2UoJ2lzUmVhZE9ubHlGaWVsZChjcmVhdGVUaW1lSW5wdXQoIjAwOjAw
IiwgIjEyOjAwIiwgc3RlcDFtaW4sICIiKSwgcHNldWRvQU1QTSknKTsKLXNob3VsZEJlVHJ1ZSgn
aXNSZWFkT25seUZpZWxkKGNyZWF0ZVRpbWVJbnB1dCgiMTI6MDAiLCAiMTI6MDAiLCBzdGVwMW1p
biwgIiIpLCBwc2V1ZG9BTVBNKScpOwotc2hvdWxkQmVUcnVlKCdpc1JlYWRPbmx5RmllbGQoY3Jl
YXRlVGltZUlucHV0KCIxMjowMCIsICIyMzo1OSIsIHN0ZXAxbWluLCAiIiksIHBzZXVkb0FNUE0p
Jyk7Ci0KLQotPC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vanMvcmVzb3VyY2VzL2pzLXRl
c3QtcG9zdC5qcyI+PC9zY3JpcHQ+Ci08L2JvZHk+Ci0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2Zhc3QvZm9ybXMvdGltZS1tdWx0aXBsZS1maWVsZHMvdGltZS1tdWx0aXBsZS1maWVsZHMtcmVz
ZXQtdmFsdWUtYWZ0ZXItcmVsb2FkLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvZm9y
bXMvdGltZS1tdWx0aXBsZS1maWVsZHMvdGltZS1tdWx0aXBsZS1maWVsZHMtcmVzZXQtdmFsdWUt
YWZ0ZXItcmVsb2FkLWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
NzU4OGUzMjBmNTBiMTI5OTZiYTExNzZiYjczZWRmYjYzY2UxOGYzYS4uMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3Rp
bWUtbXVsdGlwbGUtZmllbGRzL3RpbWUtbXVsdGlwbGUtZmllbGRzLXJlc2V0LXZhbHVlLWFmdGVy
LXJlbG9hZC1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSwxMSArMCwwIEBACi1DaGVj
a3MgcmVsb2FkaW5nIHBhZ2UgcmVzZXRzIGlucHV0IHZhbHVlcwotCi1PbiBzdWNjZXNzLCB5b3Ug
d2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBD
T01QTEVURSIuCi0KLQotUEFTUyB0ZXN0SW5wdXQxLnZhbHVlIGlzICIiCi1QQVNTIHRlc3RJbnB1
dDIudmFsdWUgaXMgIjAyOjAyIgotUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQotCi1U
RVNUIENPTVBMRVRFCi0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvdGltZS1t
dWx0aXBsZS1maWVsZHMvdGltZS1tdWx0aXBsZS1maWVsZHMtcmVzZXQtdmFsdWUtYWZ0ZXItcmVs
b2FkLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3RpbWUtbXVsdGlwbGUtZmllbGRzL3Rp
bWUtbXVsdGlwbGUtZmllbGRzLXJlc2V0LXZhbHVlLWFmdGVyLXJlbG9hZC5odG1sCmRlbGV0ZWQg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwZTZlZjM0NjExMTY3NThmY2U0NWM0YjA5MDJmYzI1YzFj
MTU0MmFhLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xh
eW91dFRlc3RzL2Zhc3QvZm9ybXMvdGltZS1tdWx0aXBsZS1maWVsZHMvdGltZS1tdWx0aXBsZS1m
aWVsZHMtcmVzZXQtdmFsdWUtYWZ0ZXItcmVsb2FkLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSwz
NiArMCwwIEBACi08IURPQ1RZUEUgaHRtbD4KLTxodG1sPgotPGhlYWQ+Ci08c2NyaXB0IHNyYz0i
Li4vLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgotPC9o
ZWFkPgotPGJvZHkgb25sb2FkPSJydW5Cb2R5TG9hZGVkKCkiPgotPGlmcmFtZSBpZD1pZnJhbWUg
c3JjZG9jPSI8aW5wdXQgdHlwZT10aW1lIGlkPXRlc3QxPjxpbnB1dCB0eXBlPXRpbWUgaWQ9dGVz
dDIgdmFsdWU9MDI6MDI+Ij48L2lmcmFtZT4KLTxzY3JpcHQ+Ci1kZXNjcmlwdGlvbignQ2hlY2tz
IHJlbG9hZGluZyBwYWdlIHJlc2V0cyBpbnB1dCB2YWx1ZXMnKTsKLXdpbmRvdy5qc1Rlc3RJc0Fz
eW5jID0gdHJ1ZTsKLQotdmFyIGlmcmFtZSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdpZnJh
bWUnKTsKLXZhciB0ZXN0SW5wdXQxOwotdmFyIHRlc3RJbnB1dDI7Ci0KLWZ1bmN0aW9uIHJ1bkJv
ZHlMb2FkZWQoKQotewotICAgIGlmcmFtZS5jb250ZW50RG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
J3Rlc3QxJykudmFsdWUgPSAnMTI6MzQnOwotICAgIGlmcmFtZS5jb250ZW50RG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoJ3Rlc3QyJykudmFsdWUgPSAnMDM6MDMnOwotICAgIGlmcmFtZS5hZGRFdmVu
dExpc3RlbmVyKCJsb2FkIiwgZnVuY3Rpb24gKCkgeyBwYXJlbnQucnVuT25JRnJhbWVMb2FkKCk7
IH0pOwotICAgIGlmcmFtZS5jb250ZW50V2luZG93LmxvY2F0aW9uLnJlbG9hZCgpOwotfQotCi1m
dW5jdGlvbiBydW5PbklGcmFtZUxvYWQoKQotewotICAgIHRlc3RJbnB1dDEgPSBpZnJhbWUuY29u
dGVudERvY3VtZW50LmdldEVsZW1lbnRCeUlkKCd0ZXN0MScpOwotICAgIHRlc3RJbnB1dDIgPSBp
ZnJhbWUuY29udGVudERvY3VtZW50LmdldEVsZW1lbnRCeUlkKCd0ZXN0MicpOwotICAgIHNob3Vs
ZEJlRXF1YWxUb1N0cmluZygndGVzdElucHV0MS52YWx1ZScsICcnKTsKLSAgICBzaG91bGRCZUVx
dWFsVG9TdHJpbmcoJ3Rlc3RJbnB1dDIudmFsdWUnLCAnMDI6MDInKTsKLSAgICBpZnJhbWUucGFy
ZW50Tm9kZS5yZW1vdmVDaGlsZChpZnJhbWUpOwotICAgIGZpbmlzaEpTVGVzdCgpOwotfQotPC9z
Y3JpcHQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1w
b3N0LmpzIj48L3NjcmlwdD4KLTwvYm9keT4KLTwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2Zhc3QvZm9ybXMvdGltZS1tdWx0aXBsZS1maWVsZHMvdGltZS1tdWx0aXBsZS1maWVsZHMt
c3BpbmJ1dHRvbi1jaGFuZ2UtYW5kLWlucHV0LWV2ZW50cy1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9mYXN0L2Zvcm1zL3RpbWUtbXVsdGlwbGUtZmllbGRzL3RpbWUtbXVsdGlwbGUtZmllbGRz
LXNwaW5idXR0b24tY2hhbmdlLWFuZC1pbnB1dC1ldmVudHMtZXhwZWN0ZWQudHh0CmRlbGV0ZWQg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAxODcwODA5MWZjOGJhOTBjOWQ4MjM3NDA2NGI2MWY2NTVh
MmM1NDBmLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xh
eW91dFRlc3RzL2Zhc3QvZm9ybXMvdGltZS1tdWx0aXBsZS1maWVsZHMvdGltZS1tdWx0aXBsZS1m
aWVsZHMtc3BpbmJ1dHRvbi1jaGFuZ2UtYW5kLWlucHV0LWV2ZW50cy1leHBlY3RlZC50eHQKKysr
IC9kZXYvbnVsbApAQCAtMSwxOSArMCwwIEBACi1UZXN0IGZvciBldmVudCBkaXNwYXRjaGluZyBi
eSBzcGluIGJ1dHRvbnMgaW4gYSB0eXBlPXRpbWUgaW5wdXQuCi0KLU9uIHN1Y2Nlc3MsIHlvdSB3
aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENP
TVBMRVRFIi4KLQotCi1Jbml0aWFsIHN0YXRlCi1QQVNTIGNoYW5nZUV2ZW50Q291bnRlciBpcyAw
Ci1QQVNTIGlucHV0RXZlbnRDb3VudGVyIGlzIDAKLUNsaWNrIHRoZSB1cHBlciBidXR0b24KLVBB
U1MgdGVzdElucHV0LnZhbHVlIGlzICIwNDowMCIKLVBBU1MgY2hhbmdlRXZlbnRDb3VudGVyIGlz
IDEKLVBBU1MgaW5wdXRFdmVudENvdW50ZXIgaXMgMQotRm9jdXMgb24gYW5vdGhlciBmaWVsZAot
UEFTUyBjaGFuZ2VFdmVudENvdW50ZXIgaXMgMQotUEFTUyBpbnB1dEV2ZW50Q291bnRlciBpcyAx
Ci1QQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCi0KLVRFU1QgQ09NUExFVEUKLQpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy90aW1lLW11bHRpcGxlLWZpZWxkcy90aW1l
LW11bHRpcGxlLWZpZWxkcy1zcGluYnV0dG9uLWNoYW5nZS1hbmQtaW5wdXQtZXZlbnRzLmh0bWwg
Yi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3RpbWUtbXVsdGlwbGUtZmllbGRzL3RpbWUtbXVsdGlw
bGUtZmllbGRzLXNwaW5idXR0b24tY2hhbmdlLWFuZC1pbnB1dC1ldmVudHMuaHRtbApkZWxldGVk
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYzEyZDE0MjY5MWI5YmNhMDFiZDhjNGY2ZTE0ZTMyMWJl
YTExMDMwYy4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9M
YXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3RpbWUtbXVsdGlwbGUtZmllbGRzL3RpbWUtbXVsdGlwbGUt
ZmllbGRzLXNwaW5idXR0b24tY2hhbmdlLWFuZC1pbnB1dC1ldmVudHMuaHRtbAorKysgL2Rldi9u
dWxsCkBAIC0xLDE0ICswLDAgQEAKLTwhRE9DVFlQRSBodG1sPgotPGh0bWw+Ci08aGVhZD4KLTxz
Y3JpcHQgc3JjPSIuLi8uLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9z
Y3JpcHQ+Ci08c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL2NvbW1vbi5qcyI+PC9zY3JpcHQ+Ci08
c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL2NvbW1vbi1zcGluYnV0dG9uLWNoYW5nZS1hbmQtaW5w
dXQtZXZlbnRzLmpzIj48L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5PgotPHNjcmlwdD4KLXRlc3RT
cGluQnV0dG9uQ2hhbmdlQW5kSW5wdXRFdmVudHMoJ3RpbWUnLCAnMDM6MDAnLCAnMDQ6MDAnKTsK
LTwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii4uLy4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRl
c3QtcG9zdC5qcyI+PC9zY3JpcHQ+Ci08L2JvZHk+Ci08L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9mYXN0L2Zvcm1zL3RpbWUtbXVsdGlwbGUtZmllbGRzL3RpbWUtbXVsdGlwbGUtZmll
bGRzLXNwaW5idXR0b24tY2xpY2staW4taWZyYW1lLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2Zhc3QvZm9ybXMvdGltZS1tdWx0aXBsZS1maWVsZHMvdGltZS1tdWx0aXBsZS1maWVsZHMtc3Bp
bmJ1dHRvbi1jbGljay1pbi1pZnJhbWUtZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCBlM2RkYTdlNDRmN2JhZWFhN2YwZmMzNzM4NmJmNjZmZWUxYWFjYTNiLi4wMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2Zh
c3QvZm9ybXMvdGltZS1tdWx0aXBsZS1maWVsZHMvdGltZS1tdWx0aXBsZS1maWVsZHMtc3BpbmJ1
dHRvbi1jbGljay1pbi1pZnJhbWUtZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEsMTAg
KzAsMCBAQAotQ2hlY2tzIG1vdXNlIGNsaWNrIG9uIHNwaW4gYnV0dG9uIGluIGlmcmFtZS4KLQot
T24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9s
bG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgotCi0KLVBBU1MgdGVzdElucHV0LnZhbHVlIGlzICIw
MTowMCIKLVBBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKLQotVEVTVCBDT01QTEVURQot
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3RpbWUtbXVsdGlwbGUtZmllbGRz
L3RpbWUtbXVsdGlwbGUtZmllbGRzLXNwaW5idXR0b24tY2xpY2staW4taWZyYW1lLmh0bWwgYi9M
YXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3RpbWUtbXVsdGlwbGUtZmllbGRzL3RpbWUtbXVsdGlwbGUt
ZmllbGRzLXNwaW5idXR0b24tY2xpY2staW4taWZyYW1lLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDk2NjY4NDdmYzhiYmY0NDFkNTljY2U4Nzg4YTJhZjZiOTI2NTNmODguLjAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMv
ZmFzdC9mb3Jtcy90aW1lLW11bHRpcGxlLWZpZWxkcy90aW1lLW11bHRpcGxlLWZpZWxkcy1zcGlu
YnV0dG9uLWNsaWNrLWluLWlmcmFtZS5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsMTggKzAsMCBA
QAotPCFET0NUWVBFIGh0bWw+Ci08aHRtbD4KLTxoZWFkPgotPHNjcmlwdCBzcmM9Ii4uLy4uLy4u
L2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3Jj
PSIuLi9yZXNvdXJjZXMvY29tbW9uLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIuLi9yZXNv
dXJjZXMvY29tbW9uLXNwaW5idXR0b24tY2xpY2staW4taWZyYW1lLmpzIj48L3NjcmlwdD4KLTwv
aGVhZD4KLTxib2R5PgotPHNjcmlwdD4KLXRlc3RDbGlja1NwaW5CdXR0b25JbklGcmFtZSh7Ci0g
ICAgJ2V4cGVjdGVkVmFsdWUnIDogJzAxOjAwJywKLSAgICAnaW5pdGlhbFZhbHVlJyA6ICcwMDow
MCcsCi0gICAgJ2lucHV0VHlwZScgOiAndGltZScKLX0pOwotPC9zY3JpcHQ+Ci08c2NyaXB0IHNy
Yz0iLi4vLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4K
LTwvYm9keT4KLTwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvdGlt
ZS1tdWx0aXBsZS1maWVsZHMvdGltZS1tdWx0aXBsZS1maWVsZHMtc3RhdGUtY2hhbmdlLW9uLWZv
Y3VzLW9yLWJsdXItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy90aW1lLW11
bHRpcGxlLWZpZWxkcy90aW1lLW11bHRpcGxlLWZpZWxkcy1zdGF0ZS1jaGFuZ2Utb24tZm9jdXMt
b3ItYmx1ci1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDcyMGM5
YWMwMWQ1ZTc0MDE0NGJjZjk0MDRhYzU1M2JkMDk3YjU2OTEuLjAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy90aW1lLW11
bHRpcGxlLWZpZWxkcy90aW1lLW11bHRpcGxlLWZpZWxkcy1zdGF0ZS1jaGFuZ2Utb24tZm9jdXMt
b3ItYmx1ci1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSwxNiArMCwwIEBACi1DaGVj
ayBmb2N1cyBoYW5kbGVyIG5vdCBkaXNwYXRjaCBibHVyIGV2ZW50Ci0KLU9uIHN1Y2Nlc3MsIHlv
dSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNU
IENPTVBMRVRFIi4KLQotCi1jYWxsIGZvY3VzKCkKLUVudGVyaW5nIGZvY3VzIGV2ZW50IGhhbmRs
ZXIKLUV4aXN0aW5nIGZvY3VzIGV2ZW50IGhhbmRsZXIKLWZvY3VzKCkgZmluaXNoZWQKLQotRW50
ZXJpbmcgYmx1ciBldmVudCBoYW5kbGVyCi1FeGlzdGluZyBibHVyIGV2ZW50IGhhbmRsZXIKLVBB
U1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKLQotVEVTVCBDT01QTEVURQotCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3RpbWUtbXVsdGlwbGUtZmllbGRzL3RpbWUtbXVs
dGlwbGUtZmllbGRzLXN0YXRlLWNoYW5nZS1vbi1mb2N1cy1vci1ibHVyLmh0bWwgYi9MYXlvdXRU
ZXN0cy9mYXN0L2Zvcm1zL3RpbWUtbXVsdGlwbGUtZmllbGRzL3RpbWUtbXVsdGlwbGUtZmllbGRz
LXN0YXRlLWNoYW5nZS1vbi1mb2N1cy1vci1ibHVyLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDgwNzVjNzFkYTAxODc4ZThmYWVlZmVlMTdmMmYyYWRmOTNlNWVhYzUuLjAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvZmFz
dC9mb3Jtcy90aW1lLW11bHRpcGxlLWZpZWxkcy90aW1lLW11bHRpcGxlLWZpZWxkcy1zdGF0ZS1j
aGFuZ2Utb24tZm9jdXMtb3ItYmx1ci5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsNDIgKzAsMCBA
QAotPCFET0NUWVBFIGh0bWw+Ci08aHRtbD4KLTxoZWFkPgotPHNjcmlwdCBzcmM9Ii4uLy4uL2pz
L3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keT4KLTxz
Y3JpcHQ+Ci1kZXNjcmlwdGlvbignQ2hlY2sgZm9jdXMgaGFuZGxlciBub3QgZGlzcGF0Y2ggYmx1
ciBldmVudCcpOwotdGVzdElucHV0ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnaW5wdXQnKTsK
LWRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQodGVzdElucHV0KTsKLXRlc3RJbnB1dC50eXBlID0g
J3RpbWUnOwotCi10ZXN0SW5wdXQuYWRkRXZlbnRMaXN0ZW5lcigKLSAgICAnYmx1cicsCi0gICAg
ZnVuY3Rpb24oKQotICAgIHsKLSAgICAgICAgZGVidWcoJ0VudGVyaW5nIGJsdXIgZXZlbnQgaGFu
ZGxlcicpOwotICAgICAgICB0ZXN0SW5wdXQuc2V0QXR0cmlidXRlKCd5JywgJ3knKTsKLSAgICAg
ICAgZGVidWcoJ0V4aXN0aW5nIGJsdXIgZXZlbnQgaGFuZGxlcicpOwotICAgIH0sCi0gICAgZmFs
c2UpOwotCi10ZXN0SW5wdXQuYWRkRXZlbnRMaXN0ZW5lcigKLSAgICAnZm9jdXMnLAotICAgIGZ1
bmN0aW9uKCkKLSAgICB7Ci0gICAgICAgIGRlYnVnKCdFbnRlcmluZyBmb2N1cyBldmVudCBoYW5k
bGVyJyk7Ci0gICAgICAgIHRlc3RJbnB1dC5zZXRBdHRyaWJ1dGUoJ3gnLCAneCcpOwotICAgICAg
ICBkZWJ1ZygnRXhpc3RpbmcgZm9jdXMgZXZlbnQgaGFuZGxlcicpOwotICAgIH0sCi0gICAgZmFs
c2UpOwotCi1kZWJ1ZygnY2FsbCBmb2N1cygpJyk7Ci10ZXN0SW5wdXQuZm9jdXMoKTsKLWRlYnVn
KCdmb2N1cygpIGZpbmlzaGVkJyk7Ci1kZWJ1ZygnJyk7Ci0KLXRlc3RJbnB1dC5wYXJlbnROb2Rl
LnJlbW92ZUNoaWxkKHRlc3RJbnB1dCk7Ci08L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIuLi8uLi9q
cy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KLTwvYm9keT4KLTwvaHRtbD4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvdGltZS1tdWx0aXBsZS1maWVsZHMv
dGltZS1tdWx0aXBsZS1maWVsZHMtc3RhdGljLXJlbGF5b3V0LWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2Zhc3QvZm9ybXMvdGltZS1tdWx0aXBsZS1maWVsZHMvdGltZS1tdWx0aXBsZS1maWVs
ZHMtc3RhdGljLXJlbGF5b3V0LWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMGVhZTliM2QzODNhNGNkMmMzOWRhNDNkNTQ0ZTZhYmVmMjFjNTA1ZC4uMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2Zv
cm1zL3RpbWUtbXVsdGlwbGUtZmllbGRzL3RpbWUtbXVsdGlwbGUtZmllbGRzLXN0YXRpYy1yZWxh
eW91dC1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSw1ICswLDAgQEAKLVBBU1MgdGlt
ZTEub2Zmc2V0VG9wIGlzIHRpbWUyLm9mZnNldFRvcAotUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQg
aXMgdHJ1ZQotCi1URVNUIENPTVBMRVRFCi0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3Qv
Zm9ybXMvdGltZS1tdWx0aXBsZS1maWVsZHMvdGltZS1tdWx0aXBsZS1maWVsZHMtc3RhdGljLXJl
bGF5b3V0Lmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3RpbWUtbXVsdGlwbGUtZmllbGRz
L3RpbWUtbXVsdGlwbGUtZmllbGRzLXN0YXRpYy1yZWxheW91dC5odG1sCmRlbGV0ZWQgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAyMzBmNDlmODJiYTQ2ODZiZTFlOGVjZDdkOTQ1ODY0NmUyYTg2NDlm
Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRl
c3RzL2Zhc3QvZm9ybXMvdGltZS1tdWx0aXBsZS1maWVsZHMvdGltZS1tdWx0aXBsZS1maWVsZHMt
c3RhdGljLXJlbGF5b3V0Lmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSwxNSArMCwwIEBACi08IURP
Q1RZUEUgaHRtbD4KLTxib2R5PgotPHNjcmlwdCBzcmM9Ii4uLy4uL2pzL3Jlc291cmNlcy9qcy10
ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Ci08ZGl2IGlkPSJjb250YWluZXIiPgotPHNwYW4gc3R5bGU9
ImZvbnQtc2l6ZTogNjRweDsiPkZvbzwvc3Bhbj4KLTxpbnB1dCB0eXBlPSJ0aW1lIiBpZD0idGlt
ZTEiPgotPGlucHV0IHR5cGU9InRpbWUiIGlkPSJ0aW1lMiI+Ci08L2Rpdj4KLTxzY3JpcHQ+Ci10
aW1lMS52YWx1ZSA9ICcyMzo1OSc7Ci1zaG91bGRCZSgndGltZTEub2Zmc2V0VG9wJywgJ3RpbWUy
Lm9mZnNldFRvcCcpOwotY29udGFpbmVyLnJlbW92ZSgpOwotPC9zY3JpcHQ+Ci08c2NyaXB0IHNy
Yz0iLi4vLi4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Ci08L2JvZHk+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3RpbWUtbXVsdGlwbGUtZmllbGRz
L3RpbWUtbXVsdGlwbGUtZmllbGRzLXN0ZXAtYXR0cmlidXRlLWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2Zhc3QvZm9ybXMvdGltZS1tdWx0aXBsZS1maWVsZHMvdGltZS1tdWx0aXBsZS1maWVs
ZHMtc3RlcC1hdHRyaWJ1dGUtZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCBjOTUwNDMzMWVhYjE5YThkZmE4MjcwNTk3NjY5MWQ3ZjNiZTY5MWMxLi4wMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZm9y
bXMvdGltZS1tdWx0aXBsZS1maWVsZHMvdGltZS1tdWx0aXBsZS1maWVsZHMtc3RlcC1hdHRyaWJ1
dGUtZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEsMTQgKzAsMCBAQAotQ2hlY2sgc3Rl
cCBhdHRyaWJ1dGUgY2hhbmdlIGNhdXNlcyBhcHBlcmFuY2UgY2hhbmdlCi0KLU9uIHN1Y2Nlc3Ms
IHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJU
RVNUIENPTVBMRVRFIi4KLQotCi1TZXQgc3RlcCB0byAwLjAwMQotUEFTUyB3aWR0aE9mU3RlcDAw
MSA+IHdpZHRoT2ZTdGVwNjAgaXMgdHJ1ZQotU2V0IHN0ZXAgdG8gNjAKLVBBU1Mgd2lkdGhPZlN0
ZXA2MCA9PSB3aWR0aE9mU3RlcDYwQWdhaW4gaXMgdHJ1ZQotCi1QQVNTIHN1Y2Nlc3NmdWxseVBh
cnNlZCBpcyB0cnVlCi0KLVRFU1QgQ09NUExFVEUKLQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZmFzdC9mb3Jtcy90aW1lLW11bHRpcGxlLWZpZWxkcy90aW1lLW11bHRpcGxlLWZpZWxkcy1zdGVw
LWF0dHJpYnV0ZS5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy90aW1lLW11bHRpcGxlLWZp
ZWxkcy90aW1lLW11bHRpcGxlLWZpZWxkcy1zdGVwLWF0dHJpYnV0ZS5odG1sCmRlbGV0ZWQgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCBjOWYwYThjY2RhNjE2MjA4NGExMWI1NzIyYjZjMDgyYTIyMjY4
ODIyLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91
dFRlc3RzL2Zhc3QvZm9ybXMvdGltZS1tdWx0aXBsZS1maWVsZHMvdGltZS1tdWx0aXBsZS1maWVs
ZHMtc3RlcC1hdHRyaWJ1dGUuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDI4ICswLDAgQEAKLTwh
RE9DVFlQRSBodG1sPgotPGh0bWw+Ci08aGVhZD4KLTxzY3JpcHQgc3JjPSIuLi8uLi9qcy9yZXNv
dXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHk+Ci08aW5wdXQg
aWQ9dGVzdCB0eXBlPXRpbWUgc3RlcD02MD4KLTxzY3JpcHQ+Ci1kZXNjcmlwdGlvbignQ2hlY2sg
c3RlcCBhdHRyaWJ1dGUgY2hhbmdlIGNhdXNlcyBhcHBlcmFuY2UgY2hhbmdlJyk7Ci12YXIgdGVz
dElucHV0ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3Rlc3QnKTsKLXZhciB3aWR0aE9mU3Rl
cDYwID0gdGVzdElucHV0Lm9mZnNldFdpZHRoOwotCi1kZWJ1ZygnU2V0IHN0ZXAgdG8gMC4wMDEn
KTsKLXRlc3RJbnB1dC5zdGVwID0gMC4wMDEKLXZhciB3aWR0aE9mU3RlcDAwMSA9IHRlc3RJbnB1
dC5vZmZzZXRXaWR0aDsKLXNob3VsZEJlVHJ1ZSgnd2lkdGhPZlN0ZXAwMDEgPiB3aWR0aE9mU3Rl
cDYwJyk7Ci0KLWRlYnVnKCdTZXQgc3RlcCB0byA2MCcpOwotdGVzdElucHV0LnN0ZXAgPSA2MDsK
LXZhciB3aWR0aE9mU3RlcDYwQWdhaW4gPSB0ZXN0SW5wdXQub2Zmc2V0V2lkdGg7Ci1zaG91bGRC
ZVRydWUoJ3dpZHRoT2ZTdGVwNjAgPT0gd2lkdGhPZlN0ZXA2MEFnYWluJyk7Ci0KLWRlYnVnKCcn
KTsKLXRlc3RJbnB1dC5wYXJlbnRFbGVtZW50LnJlbW92ZUNoaWxkKHRlc3RJbnB1dCk7Ci08L3Nj
cmlwdD4KLTxzY3JpcHQgc3JjPSIuLi8uLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48
L3NjcmlwdD4KLTwvYm9keT4KLTwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3Qv
Zm9ybXMvdGltZS1tdWx0aXBsZS1maWVsZHMvdGltZS1tdWx0aXBsZS1maWVsZHMtc3RlcHVwLXN0
ZXBkb3duLWZyb20tcmVuZGVyZXItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jt
cy90aW1lLW11bHRpcGxlLWZpZWxkcy90aW1lLW11bHRpcGxlLWZpZWxkcy1zdGVwdXAtc3RlcGRv
d24tZnJvbS1yZW5kZXJlci1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IGU0MzVmZmJiZWRiNTg1N2Y5NTc4ZDg1MzJkOTQwNTZhODMyZThkM2QuLjAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jt
cy90aW1lLW11bHRpcGxlLWZpZWxkcy90aW1lLW11bHRpcGxlLWZpZWxkcy1zdGVwdXAtc3RlcGRv
d24tZnJvbS1yZW5kZXJlci1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSwyODEgKzAs
MCBAQAotQ2hlY2sgc3RlcHBpbmctdXAgYW5kIC1kb3duIGZvciB0aW1lIGlucHV0IGZpZWxkcyBm
cm9tIHJlbmRlcmVyLiBObyBjYXNlcyBvZiBlbXB0eSBpbml0aWFsIHZhbHVlcy4KLQotT24gc3Vj
Y2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQg
YnkgIlRFU1QgQ09NUExFVEUiLgotCi0KLUZ1bmN0aW9uIGFyZ3VtZW50cyBhcmUgKHZhbHVlLCBz
dGVwLCBtaW4sIG1heCwgW2tleVNlcXVlbmNlXSkuCi1Ob3JtYWwgY2FzZXMKLVBBU1Mgc3RlcFVw
KCIwNzoxMyIsIG51bGwsIG51bGwsIG51bGwpIGlzICIwNzoxNCIKLVBBU1Mgc3RlcERvd24oIjA3
OjEzIiwgbnVsbCwgbnVsbCwgbnVsbCkgaXMgIjA3OjEyIgotUEFTUyB0ZXN0KCIwNzoxMyIsIG51
bGwsIG51bGwsIG51bGwsIFsidXBBcnJvdyIsICJ1cEFycm93IiwgInVwQXJyb3ciXSkgaXMgIjA3
OjE2IgotUEFTUyB0ZXN0KCIwNzoxMyIsIG51bGwsIG51bGwsIG51bGwsIFsiZG93bkFycm93Iiwg
ImRvd25BcnJvdyIsICJkb3duQXJyb3ciXSkgaXMgIjA3OjEwIgotTWlsbGlzZWNvbmRzCi1QQVNT
IHN0ZXBVcCgiMDc6MTM6MDAuMDAwIiwgMC4wMDEsIG51bGwsIG51bGwpIGlzICIwNzoxMzowMC4w
MDEiCi1QQVNTIHN0ZXBEb3duKCIwNzoxMzowMC4wMDEiLCAwLjAwMSwgbnVsbCwgbnVsbCkgaXMg
IjA3OjEzIgotUEFTUyBzdGVwVXAoIjA3OjEzOjAwLjk5OSIsIDAuMDAxLCBudWxsLCBudWxsKSBp
cyAiMDc6MTMiCi1QQVNTIHN0ZXBEb3duKCIwNzoxMzowMC4wMDAiLCAwLjAwMSwgbnVsbCwgbnVs
bCkgaXMgIjA3OjEzOjAwLjk5OSIKLVBBU1Mgc3RlcFVwKCIwNzoxMzowMC4wMDAiLCAwLjI1MCwg
bnVsbCwgbnVsbCkgaXMgIjA3OjEzOjAwLjI1MCIKLVBBU1Mgc3RlcERvd24oIjA3OjEzOjAwLjUw
MCIsIDAuMjUwLCBudWxsLCBudWxsKSBpcyAiMDc6MTM6MDAuMjUwIgotUEFTUyBzdGVwVXAoIjA3
OjEzOjAwLjc1MCIsIDAuMjUwLCBudWxsLCBudWxsKSBpcyAiMDc6MTMiCi1QQVNTIHN0ZXBEb3du
KCIwNzoxMzowMC4wMDAiLCAwLjI1MCwgbnVsbCwgbnVsbCkgaXMgIjA3OjEzOjAwLjc1MCIKLVBB
U1Mgc3RlcFVwKCIwNzoxMzowMC4wOTkiLCAwLjEwMCwgbnVsbCwgbnVsbCkgaXMgIjA3OjEzOjAw
LjEwMCIKLVBBU1Mgc3RlcERvd24oIjA3OjEzOjAwLjEwMSIsIDAuMTAwLCBudWxsLCBudWxsKSBp
cyAiMDc6MTM6MDAuMTAwIgotUEFTUyBzdGVwVXAoIjA3OjEzOjAwLjUwMCIsIDAuMDAwMSwgbnVs
bCwgbnVsbCkgaXMgIjA3OjEzOjAwLjUwMSIKLVBBU1Mgc3RlcERvd24oIjA3OjEzOjAwLjUwMCIs
IDAuMDAwMSwgbnVsbCwgbnVsbCkgaXMgIjA3OjEzOjAwLjQ5OSIKLVBBU1Mgc3RlcFVwKCIwNzox
MzowMC41MDAiLCAwLCBudWxsLCBudWxsKSBpcyAiMDc6MTMiCi1QQVNTIHN0ZXBEb3duKCIwNzox
MzowMC41MDAiLCAwLCBudWxsLCBudWxsKSBpcyAiMDc6MTMiCi1QQVNTIHN0ZXBVcCgiMDc6MTM6
MDAuNTAwIiwgNjAsIG51bGwsIG51bGwpIGlzICIwNzoxMyIKLVBBU1Mgc3RlcERvd24oIjA3OjEz
OjAwLjUwMCIsIDYwLCBudWxsLCBudWxsKSBpcyAiMDc6MTMiCi1QQVNTIHN0ZXBVcCgiMDc6MTM6
MDAuNTAwIiwgMC4xMDAsICIwMDowMDowMC4wNTAiLCBudWxsKSBpcyAiMDc6MTM6MDAuNTUwIgot
UEFTUyBzdGVwRG93bigiMDc6MTM6MDAuNTAwIiwgMC4xMDAsICIwMDowMDowMC4wNTAiLCBudWxs
KSBpcyAiMDc6MTM6MDAuNDUwIgotUEFTUyB0ZXN0KCIwNzoxMzowMC41MDAiLCAwLjEwMCwgbnVs
bCwgbnVsbCwgWyJkZWxldGUiLCAidXBBcnJvdyJdKSBpcyAiMDc6MTMiCi1QQVNTIHRlc3QoIjA3
OjEzOjAwLjUwMCIsIDAuMTAwLCBudWxsLCBudWxsLCBbImRlbGV0ZSIsICJkb3duQXJyb3ciXSkg
aXMgIjA3OjEzOjAwLjkwMCIKLVBBU1MgdGVzdCgiMDc6MTM6MDAuNTAwIiwgMC4xMDAsICIwMDow
MDowMC4wNTAiLCBudWxsLCBbImRlbGV0ZSIsICJ1cEFycm93Il0pIGlzICIwNzoxMzowMC4wNTAi
Ci1QQVNTIHRlc3QoIjA3OjEzOjAwLjUwMCIsIDAuMTAwLCAiMDA6MDA6MDAuMDUwIiwgbnVsbCwg
WyJkZWxldGUiLCAiZG93bkFycm93Il0pIGlzICIwNzoxMzowMC45NTAiCi1QQVNTIHN0ZXBVcCgi
MDc6MTM6MDAuMDEwIiwgMC4wMDEsICIwNzoxMzowMC4wMDUiLCAiMDc6MTM6MDAuMDEwIikgaXMg
IjA3OjEzOjAwLjAwNSIKLVBBU1Mgc3RlcERvd24oIjA3OjEzOjAwLjAwNSIsIDAuMDAxLCAiMDc6
MTM6MDAuMDA1IiwgIjA3OjEzOjAwLjAxMCIpIGlzICIwNzoxMzowMC4wMTAiCi1QQVNTIHN0ZXBV
cCgiMDc6MTM6MDAuMDA1IiwgMC4wMDEsICIwNzoxMzowMC4wMTAiLCAiMDc6MTM6MDAuMDIwIikg
aXMgIjA3OjEzOjAwLjAxMCIKLVBBU1Mgc3RlcERvd24oIjA3OjEzOjAwLjAwNSIsIDAuMDAxLCAi
MDc6MTM6MDAuMDEwIiwgIjA3OjEzOjAwLjAyMCIpIGlzICIwNzoxMzowMC4wMjAiCi1QQVNTIHN0
ZXBVcCgiMDc6MTM6MDAuMDA1IiwgMC4wMDEsICIwNzoxMzowMC4wMDIiLCAiMDc6MTM6MDAuMDAy
IikgaXMgIjA3OjEzOjAwLjAwMiIKLVBBU1Mgc3RlcERvd24oIjA3OjEzOjAwLjAwNSIsIDAuMDAx
LCAiMDc6MTM6MDAuMDAyIiwgIjA3OjEzOjAwLjAwMiIpIGlzICIwNzoxMzowMC4wMDIiCi1QQVNT
IHN0ZXBVcCgiMDc6MTM6MDAuMDM1IiwgMC4wMSwgIjA3OjEzOjAwLjAxMCIsICIwNzoxMzowMC4w
MzUiKSBpcyAiMDc6MTM6MDAuMDEwIgotUEFTUyBzdGVwRG93bigiMDc6MTM6MDAuMDM1IiwgMC4w
MSwgIjA3OjEzOjAwLjAxMCIsICIwNzoxMzowMC4wMzUiKSBpcyAiMDc6MTM6MDAuMDMwIgotUEFT
UyBzdGVwVXAoIjA3OjEzOjAwLjAxMCIsIDAuMDAxLCAiMDc6MTM6MDAuMDEwIiwgIjA3OjEzOjAx
LjAyMCIpIGlzICIwNzoxMzowMC4wMTEiCi1QQVNTIHN0ZXBEb3duKCIwNzoxMzowMC4wMTAiLCAw
LjAwMSwgIjA3OjEzOjAwLjAxMCIsICIwNzoxMzowMS4wMjAiKSBpcyAiMDc6MTM6MDAuMDA5Igot
U2Vjb25kcwotUEFTUyBzdGVwVXAoIjA3OjEzOjAwIiwgMSwgbnVsbCwgbnVsbCkgaXMgIjA3OjEz
OjAxIgotUEFTUyBzdGVwRG93bigiMDc6MTM6MDEiLCAxLCBudWxsLCBudWxsKSBpcyAiMDc6MTMi
Ci1QQVNTIHN0ZXBVcCgiMDc6MTM6NTkiLCAwLjAwMSwgbnVsbCwgbnVsbCkgaXMgIjA3OjEzIgot
UEFTUyBzdGVwRG93bigiMDc6MTM6MDAiLCAwLjAwMSwgbnVsbCwgbnVsbCkgaXMgIjA3OjEzOjU5
IgotUEFTUyBzdGVwVXAoIjA3OjEzOjAwIiwgMTAsIG51bGwsIG51bGwpIGlzICIwNzoxMzoxMCIK
LVBBU1Mgc3RlcERvd24oIjA3OjEzOjMwIiwgMTAsIG51bGwsIG51bGwpIGlzICIwNzoxMzoyMCIK
LVBBU1Mgc3RlcFVwKCIwNzoxMzo1MCIsIDEwLCBudWxsLCBudWxsKSBpcyAiMDc6MTMiCi1QQVNT
IHN0ZXBEb3duKCIwNzoxMzowMCIsIDEwLCBudWxsLCBudWxsKSBpcyAiMDc6MTM6NTAiCi1QQVNT
IHN0ZXBVcCgiMDc6MTM6MDkiLCAxMCwgbnVsbCwgbnVsbCkgaXMgIjA3OjEzOjEwIgotUEFTUyBz
dGVwRG93bigiMDc6MTM6MTEiLCAxMCwgbnVsbCwgbnVsbCkgaXMgIjA3OjEzOjEwIgotUEFTUyBz
dGVwVXAoIjA3OjEzOjMwIiwgMi41LCBudWxsLCBudWxsKSBpcyAiMDc6MTM6MzEiCi1QQVNTIHN0
ZXBEb3duKCIwNzoxMzozMCIsIDIuNSwgbnVsbCwgbnVsbCkgaXMgIjA3OjEzOjI5IgotUEFTUyBz
dGVwVXAoIjA3OjEzOjMwIiwgMCwgbnVsbCwgbnVsbCkgaXMgIjA3OjEzIgotUEFTUyBzdGVwRG93
bigiMDc6MTM6MzAiLCAwLCBudWxsLCBudWxsKSBpcyAiMDc6MTMiCi1QQVNTIHN0ZXBVcCgiMDc6
MTM6MzAiLCAzNjAwLCBudWxsLCBudWxsKSBpcyAiMDc6MTMiCi1QQVNTIHN0ZXBEb3duKCIwNzox
MzozMCIsIDM2MDAsIG51bGwsIG51bGwpIGlzICIwNzoxMyIKLVBBU1Mgc3RlcFVwKCIwNzoxMzoz
MCIsIDExLCBudWxsLCBudWxsKSBpcyAiMDc6MTM6MzEiCi1QQVNTIHN0ZXBEb3duKCIwNzoxMzoz
MCIsIDExLCBudWxsLCBudWxsKSBpcyAiMDc6MTM6MjkiCi1QQVNTIHN0ZXBVcCgiMDc6MTM6MzAi
LCAxMCwgIjAwOjAwOjA1IiwgbnVsbCkgaXMgIjA3OjEzOjM1IgotUEFTUyBzdGVwRG93bigiMDc6
MTM6MzAiLCAxMCwgIjAwOjAwOjA1IiwgbnVsbCkgaXMgIjA3OjEzOjI1IgotUEFTUyB0ZXN0KCIw
NzoxMzozMCIsIDEwLCBudWxsLCBudWxsLCBbImRlbGV0ZSIsICJ1cEFycm93Il0pIGlzICIwNzox
MyIKLVBBU1MgdGVzdCgiMDc6MTM6MzAiLCAxMCwgbnVsbCwgbnVsbCwgWyJkZWxldGUiLCAiZG93
bkFycm93Il0pIGlzICIwNzoxMzo1MCIKLVBBU1MgdGVzdCgiMDc6MTM6MzAiLCAxMCwgIjAwOjAw
OjA1IiwgbnVsbCwgWyJkZWxldGUiLCAidXBBcnJvdyJdKSBpcyAiMDc6MTM6MDUiCi1QQVNTIHRl
c3QoIjA3OjEzOjMwIiwgMTAsICIwMDowMDowNSIsIG51bGwsIFsiZGVsZXRlIiwgImRvd25BcnJv
dyJdKSBpcyAiMDc6MTM6NTUiCi1QQVNTIHN0ZXBVcCgiMDc6MTM6MTAiLCAxLCAiMDc6MTM6MDUi
LCAiMDc6MTM6MTAiKSBpcyAiMDc6MTM6MDUiCi1QQVNTIHN0ZXBEb3duKCIwNzoxMzowNSIsIDEs
ICIwNzoxMzowNSIsICIwNzoxMzoxMCIpIGlzICIwNzoxMzoxMCIKLVBBU1Mgc3RlcFVwKCIwNzox
MzowNSIsIDEsICIwNzoxMzoxMCIsICIwNzoxMzoyMCIpIGlzICIwNzoxMzoxMCIKLVBBU1Mgc3Rl
cERvd24oIjA3OjEzOjA1IiwgMSwgIjA3OjEzOjEwIiwgIjA3OjEzOjIwIikgaXMgIjA3OjEzOjIw
IgotUEFTUyBzdGVwVXAoIjA3OjEzOjA1IiwgMSwgIjA3OjEzOjAyIiwgIjA3OjEzOjAyIikgaXMg
IjA3OjEzOjAyIgotUEFTUyBzdGVwRG93bigiMDc6MTM6MDUiLCAxLCAiMDc6MTM6MDIiLCAiMDc6
MTM6MDIiKSBpcyAiMDc6MTM6MDIiCi1QQVNTIHN0ZXBVcCgiMDc6MTM6MzUiLCAxMCwgIjA3OjEz
OjEwIiwgIjA3OjEzOjM1IikgaXMgIjA3OjEzOjEwIgotUEFTUyBzdGVwRG93bigiMDc6MTM6MzUi
LCAxMCwgIjA3OjEzOjEwIiwgIjA3OjEzOjM1IikgaXMgIjA3OjEzOjMwIgotUEFTUyBzdGVwVXAo
IjA3OjEzOjEwIiwgMSwgIjA3OjEzOjEwIiwgIjA3OjE0OjIwIikgaXMgIjA3OjEzOjExIgotUEFT
UyBzdGVwRG93bigiMDc6MTM6MTAiLCAxLCAiMDc6MTM6MTAiLCAiMDc6MTQ6MjAiKSBpcyAiMDc6
MTM6MDkiCi1NaW51dGVzCi1QQVNTIHN0ZXBVcCgiMDc6MTMiLCAxLCBudWxsLCBudWxsKSBpcyAi
MDc6MTQiCi1QQVNTIHN0ZXBEb3duKCIwNzoxMyIsIDEsIG51bGwsIG51bGwpIGlzICIwNzoxMiIK
LVBBU1Mgc3RlcFVwKCIwNzo1OSIsIDAuMDAxLCBudWxsLCBudWxsKSBpcyAiMDc6MDAiCi1QQVNT
IHN0ZXBEb3duKCIwNzowMCIsIDAuMDAxLCBudWxsLCBudWxsKSBpcyAiMDc6NTkiCi1QQVNTIHN0
ZXBVcCgiMDc6MDAiLCA2MDAsIG51bGwsIG51bGwpIGlzICIwNzoxMCIKLVBBU1Mgc3RlcERvd24o
IjA3OjEwIiwgNjAwLCBudWxsLCBudWxsKSBpcyAiMDc6MDAiCi1QQVNTIHN0ZXBVcCgiMDc6NTAi
LCA2MDAsIG51bGwsIG51bGwpIGlzICIwNzowMCIKLVBBU1Mgc3RlcERvd24oIjA3OjAwIiwgNjAw
LCBudWxsLCBudWxsKSBpcyAiMDc6NTAiCi1QQVNTIHN0ZXBVcCgiMDc6MTMiLCA2MDAsIG51bGws
IG51bGwpIGlzICIwNzoyMCIKLVBBU1Mgc3RlcERvd24oIjA3OjEzIiwgNjAwLCBudWxsLCBudWxs
KSBpcyAiMDc6MTAiCi1QQVNTIHN0ZXBVcCgiMDc6MTMiLCAxNTAsIG51bGwsIG51bGwpIGlzICIw
NzoxNCIKLVBBU1Mgc3RlcERvd24oIjA3OjEzIiwgMTUwLCBudWxsLCBudWxsKSBpcyAiMDc6MTIi
Ci1QQVNTIHN0ZXBVcCgiMDc6MTMiLCAwLCBudWxsLCBudWxsKSBpcyAiMDc6MTQiCi1QQVNTIHN0
ZXBEb3duKCIwNzoxMyIsIDAsIG51bGwsIG51bGwpIGlzICIwNzoxMiIKLVBBU1Mgc3RlcFVwKCIw
NzoxMyIsIDM2MDAwLCBudWxsLCBudWxsKSBpcyAiMDc6MDAiCi1QQVNTIHN0ZXBEb3duKCIwNzox
MyIsIDM2MDAwLCBudWxsLCBudWxsKSBpcyAiMDc6MDAiCi1QQVNTIHN0ZXBVcCgiMDc6MTMiLCA2
NjAsIG51bGwsIG51bGwpIGlzICIwNzoxNCIKLVBBU1Mgc3RlcERvd24oIjA3OjEzIiwgNjYwLCBu
dWxsLCBudWxsKSBpcyAiMDc6MTIiCi1QQVNTIHN0ZXBVcCgiMDc6MTMiLCA2MDAsICIwMDowNSIs
IG51bGwpIGlzICIwNzoxNSIKLVBBU1Mgc3RlcERvd24oIjA3OjEzIiwgNjAwLCAiMDA6MDUiLCBu
dWxsKSBpcyAiMDc6MDUiCi1QQVNTIHRlc3QoIjA3OjEzIiwgNjAwLCBudWxsLCBudWxsLCBbImRl
bGV0ZSIsICJ1cEFycm93Il0pIGlzICIwNzowMCIKLVBBU1MgdGVzdCgiMDc6MTMiLCA2MDAsIG51
bGwsIG51bGwsIFsiZGVsZXRlIiwgImRvd25BcnJvdyJdKSBpcyAiMDc6NTAiCi1QQVNTIHRlc3Qo
IjA3OjEzIiwgNjAwLCAiMDA6MDUiLCBudWxsLCBbImRlbGV0ZSIsICJ1cEFycm93Il0pIGlzICIw
NzowNSIKLVBBU1MgdGVzdCgiMDc6MTMiLCA2MDAsICIwMDowNSIsIG51bGwsIFsiZGVsZXRlIiwg
ImRvd25BcnJvdyJdKSBpcyAiMDc6NTUiCi1QQVNTIHN0ZXBVcCgiMDc6MTAiLCAxLCAiMDc6MDUi
LCAiMDc6MTAiKSBpcyAiMDc6MDUiCi1QQVNTIHN0ZXBEb3duKCIwNzowNSIsIDEsICIwNzowNSIs
ICIwNzoxMCIpIGlzICIwNzoxMCIKLVBBU1Mgc3RlcFVwKCIwNzowNSIsIDEsICIwNzoxMCIsICIw
NzoyMCIpIGlzICIwNzoxMCIKLVBBU1Mgc3RlcERvd24oIjA3OjA1IiwgMSwgIjA3OjEwIiwgIjA3
OjIwIikgaXMgIjA3OjIwIgotUEFTUyBzdGVwVXAoIjA3OjA1IiwgMSwgIjA3OjAwIiwgIjA3OjAw
IikgaXMgIjA3OjAwIgotUEFTUyBzdGVwRG93bigiMDc6MDUiLCAxLCAiMDc6MDAiLCAiMDc6MDAi
KSBpcyAiMDc6MDAiCi1QQVNTIHN0ZXBVcCgiMDc6MzUiLCA2MDAsICIwNzoxMCIsICIwNzozNSIp
IGlzICIwNzoxMCIKLVBBU1Mgc3RlcERvd24oIjA3OjM1IiwgNjAwLCAiMDc6MTAiLCAiMDc6MzUi
KSBpcyAiMDc6MzAiCi1QQVNTIHN0ZXBVcCgiMDc6MTAiLCAxLCAiMDc6MTAiLCAiMDg6MjAiKSBp
cyAiMDc6MTEiCi1QQVNTIHN0ZXBEb3duKCIwNzoxMCIsIDEsICIwNzoxMCIsICIwODoyMCIpIGlz
ICIwNzowOSIKLUhvdXJzLCAxLTEyCi1QQVNTIHN0ZXBVcCgiMDc6MDAiLCAxLCBudWxsLCBudWxs
KSBpcyAiMDg6MDAiCi1QQVNTIHN0ZXBEb3duKCIwNzowMCIsIDEsIG51bGwsIG51bGwpIGlzICIw
NjowMCIKLVBBU1Mgc3RlcFVwKCIxMTowMCIsIDEsIG51bGwsIG51bGwpIGlzICIwMDowMCIKLVBB
U1Mgc3RlcERvd24oIjAwOjAwIiwgMSwgbnVsbCwgbnVsbCkgaXMgIjExOjAwIgotUEFTUyBzdGVw
VXAoIjA2OjAwIiwgNzIwMCwgbnVsbCwgbnVsbCkgaXMgIjA4OjAwIgotUEFTUyBzdGVwRG93bigi
MDY6MDAiLCA3MjAwLCBudWxsLCBudWxsKSBpcyAiMDQ6MDAiCi1QQVNTIHN0ZXBVcCgiMTA6MDAi
LCA3MjAwLCBudWxsLCBudWxsKSBpcyAiMDA6MDAiCi1QQVNTIHN0ZXBEb3duKCIwMDowMCIsIDcy
MDAsIG51bGwsIG51bGwpIGlzICIxMDowMCIKLVBBU1Mgc3RlcFVwKCIwNzowMCIsIDcyMDAsIG51
bGwsIG51bGwpIGlzICIwODowMCIKLVBBU1Mgc3RlcERvd24oIjA3OjAwIiwgNzIwMCwgbnVsbCwg
bnVsbCkgaXMgIjA2OjAwIgotUEFTUyBzdGVwVXAoIjA2OjAwIiwgMzYwMSwgbnVsbCwgbnVsbCkg
aXMgIjA3OjAwIgotUEFTUyBzdGVwRG93bigiMDY6MDAiLCAzNjAxLCBudWxsLCBudWxsKSBpcyAi
MDU6MDAiCi1QQVNTIHN0ZXBVcCgiMDY6MDAiLCAwLCBudWxsLCBudWxsKSBpcyAiMDc6MDAiCi1Q
QVNTIHN0ZXBEb3duKCIwNjowMCIsIDAsIG51bGwsIG51bGwpIGlzICIwNTowMCIKLVBBU1Mgc3Rl
cFVwKCIwNjowMCIsIDg2NDAwLCBudWxsLCBudWxsKSBpcyAiMDA6MDAiCi1QQVNTIHN0ZXBEb3du
KCIwNjowMCIsIDg2NDAwLCBudWxsLCBudWxsKSBpcyAiMDA6MDAiCi1QQVNTIHN0ZXBVcCgiMDY6
MDAiLCAzNjAwMCwgbnVsbCwgbnVsbCkgaXMgIjA3OjAwIgotUEFTUyBzdGVwRG93bigiMDY6MDAi
LCAzNjAwMCwgbnVsbCwgbnVsbCkgaXMgIjA1OjAwIgotUEFTUyBzdGVwVXAoIjA2OjAwIiwgNzIw
MCwgIjAxOjAwIiwgbnVsbCkgaXMgIjA3OjAwIgotUEFTUyBzdGVwRG93bigiMDY6MDAiLCA3MjAw
LCAiMDE6MDAiLCBudWxsKSBpcyAiMDU6MDAiCi1QQVNTIHRlc3QoIjA2OjAwIiwgNzIwMCwgbnVs
bCwgbnVsbCwgWyJkZWxldGUiLCAidXBBcnJvdyJdKSBpcyAiMDI6MDAiCi1QQVNTIHRlc3QoIjA2
OjAwIiwgNzIwMCwgbnVsbCwgbnVsbCwgWyJkZWxldGUiLCAiZG93bkFycm93Il0pIGlzICIwMDow
MCIKLVBBU1MgZ2V0VXNlckFnZW50U2hhZG93VGV4dENvbnRlbnQoaW5wdXQpIGlzICIxMjowMCBB
TSIKLVBBU1MgdGVzdCgiMDY6MDAiLCA3MjAwLCAiMDE6MDAiLCBudWxsLCBbImRlbGV0ZSIsICJ1
cEFycm93Il0pIGlzICIwMTowMCIKLVBBU1MgdGVzdCgiMDY6MDAiLCA3MjAwLCAiMDE6MDAiLCBu
dWxsLCBbImRlbGV0ZSIsICJkb3duQXJyb3ciXSkgaXMgIjExOjAwIgotUEFTUyBzdGVwVXAoIjE3
OjAwIiwgMSwgIjE3OjAwIiwgIjIwOjAwIikgaXMgIjE4OjAwIgotUEFTUyBzdGVwRG93bigiMTc6
MDAiLCAxLCAiMTc6MDAiLCAiMjA6MDAiKSBpcyAiMjA6MDAiCi1QQVNTIHN0ZXBVcCgiMTc6MDAi
LCAxLCAiMTU6MDAiLCAiMTc6MDAiKSBpcyAiMTU6MDAiCi1QQVNTIHN0ZXBEb3duKCIxNzowMCIs
IDEsICIxNTowMCIsICIxNzowMCIpIGlzICIxNjowMCIKLVBBU1Mgc3RlcFVwKCIxNTowMCIsIDEs
ICIxNzowMCIsICIyMDowMCIpIGlzICIxNzowMCIKLVBBU1Mgc3RlcERvd24oIjE1OjAwIiwgMSwg
IjE3OjAwIiwgIjIwOjAwIikgaXMgIjIwOjAwIgotUEFTUyBzdGVwVXAoIjE1OjAwIiwgMSwgIjEz
OjAwIiwgIjEzOjAwIikgaXMgIjEzOjAwIgotUEFTUyBzdGVwRG93bigiMTU6MDAiLCAxLCAiMTM6
MDAiLCAiMTM6MDAiKSBpcyAiMTM6MDAiCi1QQVNTIHN0ZXBVcCgiMTI6MDAiLCAxLCAiMTI6MDAi
LCAiMTU6MDAiKSBpcyAiMTM6MDAiCi1QQVNTIHN0ZXBEb3duKCIxMjowMCIsIDEsICIxMjowMCIs
ICIxNTowMCIpIGlzICIyMzowMCIKLVBBU1Mgc3RlcFVwKCIxNTowMCIsIDEsICIxMjowMCIsICIx
NTowMCIpIGlzICIxNjowMCIKLVBBU1Mgc3RlcERvd24oIjE1OjAwIiwgMSwgIjEyOjAwIiwgIjE1
OjAwIikgaXMgIjE0OjAwIgotUEFTUyBzdGVwVXAoIjEyOjAwIiwgMSwgIjEwOjAwIiwgIjEyOjAw
IikgaXMgIjEzOjAwIgotUEFTUyBzdGVwRG93bigiMTI6MDAiLCAxLCAiMTA6MDAiLCAiMTI6MDAi
KSBpcyAiMjM6MDAiCi1QQVNTIHN0ZXBVcCgiMDA6MDAiLCAxLCAiMDA6MDAiLCAiMDM6MDAiKSBp
cyAiMDE6MDAiCi1QQVNTIHN0ZXBEb3duKCIwMDowMCIsIDEsICIwMDowMCIsICIwMzowMCIpIGlz
ICIxMTowMCIKLVBBU1Mgc3RlcFVwKCIxNTowMCIsIDEsICIxMDowMCIsICIxNTowMCIpIGlzICIx
NjowMCIKLVBBU1Mgc3RlcERvd24oIjEwOjAwIiwgMSwgIjEwOjAwIiwgIjE1OjAwIikgaXMgIjA5
OjAwIgotUEFTUyBzdGVwVXAoIjE3OjAwIiwgNzIwMCwgIjE3OjAwIiwgIjIwOjAwIikgaXMgIjE5
OjAwIgotUEFTUyBzdGVwRG93bigiMTc6MDAiLCA3MjAwLCAiMTc6MDAiLCAiMjA6MDAiKSBpcyAi
MTk6MDAiCi1QQVNTIHN0ZXBVcCgiMTc6MDAiLCA3MjAwLCAiMTc6MDAiLCAiMTg6MDAiKSBpcyAi
MTc6MDAiCi1QQVNTIHN0ZXBEb3duKCIxNzowMCIsIDcyMDAsICIxNzowMCIsICIxODowMCIpIGlz
ICIxNzowMCIKLUhvdXJzLCAwLTExCi1QQVNTIHN0ZXBVcCgiMTE6MDAiLCAxLCBudWxsLCBudWxs
KSBpcyAiMDA6MDAiCi1QQVNTIGdldFVzZXJBZ2VudFNoYWRvd1RleHRDb250ZW50KGlucHV0KSBp
cyAiMDA6MDAgQU0iCi1QQVNTIHN0ZXBEb3duKCIwMDowMCIsIDEsIG51bGwsIG51bGwpIGlzICIx
MTowMCIKLVBBU1MgZ2V0VXNlckFnZW50U2hhZG93VGV4dENvbnRlbnQoaW5wdXQpIGlzICIxMTow
MCBBTSIKLVBBU1Mgc3RlcFVwKCIyMzowMCIsIDEsIG51bGwsIG51bGwpIGlzICIxMjowMCIKLVBB
U1MgZ2V0VXNlckFnZW50U2hhZG93VGV4dENvbnRlbnQoaW5wdXQpIGlzICIwMDowMCBQTSIKLVBB
U1Mgc3RlcERvd24oIjEyOjAwIiwgMSwgbnVsbCwgbnVsbCkgaXMgIjIzOjAwIgotUEFTUyBnZXRV
c2VyQWdlbnRTaGFkb3dUZXh0Q29udGVudChpbnB1dCkgaXMgIjExOjAwIFBNIgotUEFTUyB0ZXN0
KCIwNjowMCIsIDcyMDAsIG51bGwsIG51bGwsIFsiZGVsZXRlIiwgInVwQXJyb3ciXSkgaXMgIjAw
OjAwIgotUEFTUyB0ZXN0KCIwNjowMCIsIDcyMDAsIG51bGwsIG51bGwsIFsiZGVsZXRlIiwgImRv
d25BcnJvdyJdKSBpcyAiMTA6MDAiCi1QQVNTIHRlc3QoIjA2OjAwIiwgNzIwMCwgIjAxOjAwIiwg
bnVsbCwgWyJkZWxldGUiLCAidXBBcnJvdyJdKSBpcyAiMDE6MDAiCi1QQVNTIHRlc3QoIjA2OjAw
IiwgNzIwMCwgIjAxOjAwIiwgbnVsbCwgWyJkZWxldGUiLCAiZG93bkFycm93Il0pIGlzICIxMTow
MCIKLVBBU1Mgc3RlcFVwKCIxNzowMCIsIDEsICIxNzowMCIsICIyMDowMCIpIGlzICIxODowMCIK
LVBBU1Mgc3RlcERvd24oIjE3OjAwIiwgMSwgIjE3OjAwIiwgIjIwOjAwIikgaXMgIjIwOjAwIgot
UEFTUyBzdGVwVXAoIjE3OjAwIiwgMSwgIjE1OjAwIiwgIjE3OjAwIikgaXMgIjE1OjAwIgotUEFT
UyBzdGVwRG93bigiMTc6MDAiLCAxLCAiMTU6MDAiLCAiMTc6MDAiKSBpcyAiMTY6MDAiCi1QQVNT
IHN0ZXBVcCgiMTU6MDAiLCAxLCAiMTc6MDAiLCAiMjA6MDAiKSBpcyAiMTc6MDAiCi1QQVNTIHN0
ZXBEb3duKCIxNTowMCIsIDEsICIxNzowMCIsICIyMDowMCIpIGlzICIyMDowMCIKLVBBU1Mgc3Rl
cFVwKCIxNTowMCIsIDEsICIxMzowMCIsICIxMzowMCIpIGlzICIxMzowMCIKLVBBU1Mgc3RlcERv
d24oIjE1OjAwIiwgMSwgIjEzOjAwIiwgIjEzOjAwIikgaXMgIjEzOjAwIgotUEFTUyBzdGVwVXAo
IjEyOjAwIiwgMSwgIjEyOjAwIiwgIjE1OjAwIikgaXMgIjEzOjAwIgotUEFTUyBzdGVwRG93bigi
MTI6MDAiLCAxLCAiMTI6MDAiLCAiMTU6MDAiKSBpcyAiMTU6MDAiCi1QQVNTIHN0ZXBVcCgiMTU6
MDAiLCAxLCAiMTI6MDAiLCAiMTU6MDAiKSBpcyAiMTI6MDAiCi1QQVNTIHN0ZXBEb3duKCIxNTow
MCIsIDEsICIxMjowMCIsICIxNTowMCIpIGlzICIxNDowMCIKLVBBU1Mgc3RlcFVwKCIxMjowMCIs
IDEsICIxMDowMCIsICIxMjowMCIpIGlzICIxMzowMCIKLVBBU1Mgc3RlcERvd24oIjEyOjAwIiwg
MSwgIjEwOjAwIiwgIjEyOjAwIikgaXMgIjIzOjAwIgotUEFTUyBzdGVwVXAoIjAwOjAwIiwgMSwg
IjAwOjAwIiwgIjAzOjAwIikgaXMgIjAxOjAwIgotUEFTUyBzdGVwRG93bigiMDA6MDAiLCAxLCAi
MDA6MDAiLCAiMDM6MDAiKSBpcyAiMDM6MDAiCi1QQVNTIHN0ZXBVcCgiMTU6MDAiLCAxLCAiMTA6
MDAiLCAiMTU6MDAiKSBpcyAiMTY6MDAiCi1QQVNTIHN0ZXBEb3duKCIxMDowMCIsIDEsICIxMDow
MCIsICIxNTowMCIpIGlzICIwOTowMCIKLVBBU1Mgc3RlcFVwKCIyMDowMCIsIDcyMDAsICIxNzow
MCIsICIyMDowMCIpIGlzICIxNzowMCIKLVBBU1Mgc3RlcERvd24oIjIwOjAwIiwgNzIwMCwgIjE3
OjAwIiwgIjIwOjAwIikgaXMgIjE5OjAwIgotSG91cnMsIDAtMjMKLVBBU1Mgc3RlcFVwKCIwNzow
MCIsIDEsIG51bGwsIG51bGwpIGlzICIwODowMCIKLVBBU1Mgc3RlcERvd24oIjA3OjAwIiwgMSwg
bnVsbCwgbnVsbCkgaXMgIjA2OjAwIgotUEFTUyBzdGVwVXAoIjIzOjAwIiwgMSwgbnVsbCwgbnVs
bCkgaXMgIjAwOjAwIgotUEFTUyBzdGVwRG93bigiMDA6MDAiLCAxLCBudWxsLCBudWxsKSBpcyAi
MjM6MDAiCi1QQVNTIHN0ZXBVcCgiMDY6MDAiLCA3MjAwLCBudWxsLCBudWxsKSBpcyAiMDg6MDAi
Ci1QQVNTIHN0ZXBEb3duKCIwNjowMCIsIDcyMDAsIG51bGwsIG51bGwpIGlzICIwNDowMCIKLVBB
U1Mgc3RlcFVwKCIyMjowMCIsIDcyMDAsIG51bGwsIG51bGwpIGlzICIwMDowMCIKLVBBU1Mgc3Rl
cERvd24oIjAwOjAwIiwgNzIwMCwgbnVsbCwgbnVsbCkgaXMgIjIyOjAwIgotUEFTUyBzdGVwVXAo
IjA3OjAwIiwgNzIwMCwgbnVsbCwgbnVsbCkgaXMgIjA4OjAwIgotUEFTUyBzdGVwRG93bigiMDc6
MDAiLCA3MjAwLCBudWxsLCBudWxsKSBpcyAiMDY6MDAiCi1QQVNTIHN0ZXBVcCgiMDY6MDAiLCAz
NjAxLCBudWxsLCBudWxsKSBpcyAiMDc6MDAiCi1QQVNTIHN0ZXBEb3duKCIwNjowMCIsIDM2MDEs
IG51bGwsIG51bGwpIGlzICIwNTowMCIKLVBBU1Mgc3RlcFVwKCIwNjowMCIsIDAsIG51bGwsIG51
bGwpIGlzICIwNzowMCIKLVBBU1Mgc3RlcERvd24oIjA2OjAwIiwgMCwgbnVsbCwgbnVsbCkgaXMg
IjA1OjAwIgotUEFTUyBzdGVwVXAoIjA2OjAwIiwgODY0MDAsIG51bGwsIG51bGwpIGlzICIwMDow
MCIKLVBBU1Mgc3RlcERvd24oIjA2OjAwIiwgODY0MDAsIG51bGwsIG51bGwpIGlzICIwMDowMCIK
LVBBU1Mgc3RlcFVwKCIwNjowMCIsIDM2MDAwLCBudWxsLCBudWxsKSBpcyAiMDc6MDAiCi1QQVNT
IHN0ZXBEb3duKCIwNjowMCIsIDM2MDAwLCBudWxsLCBudWxsKSBpcyAiMDU6MDAiCi1QQVNTIHN0
ZXBVcCgiMDY6MDAiLCA3MjAwLCAiMDE6MDAiLCBudWxsKSBpcyAiMDc6MDAiCi1QQVNTIHN0ZXBE
b3duKCIwNjowMCIsIDcyMDAsICIwMTowMCIsIG51bGwpIGlzICIwNTowMCIKLVBBU1MgdGVzdCgi
MDY6MDAiLCA3MjAwLCBudWxsLCBudWxsLCBbImRlbGV0ZSIsICJ1cEFycm93Il0pIGlzICIwMDow
MCIKLVBBU1MgZ2V0VXNlckFnZW50U2hhZG93VGV4dENvbnRlbnQoaW5wdXQpIGlzICIwMDowMCIK
LVBBU1MgdGVzdCgiMDY6MDAiLCA3MjAwLCBudWxsLCBudWxsLCBbImRlbGV0ZSIsICJkb3duQXJy
b3ciXSkgaXMgIjIyOjAwIgotUEFTUyB0ZXN0KCIwNjowMCIsIDcyMDAsICIwMTowMCIsIG51bGws
IFsiZGVsZXRlIiwgInVwQXJyb3ciXSkgaXMgIjAxOjAwIgotUEFTUyB0ZXN0KCIwNjowMCIsIDcy
MDAsICIwMTowMCIsIG51bGwsIFsiZGVsZXRlIiwgImRvd25BcnJvdyJdKSBpcyAiMjM6MDAiCi1Q
QVNTIHN0ZXBVcCgiMTc6MDAiLCAxLCAiMTc6MDAiLCAiMjA6MDAiKSBpcyAiMTg6MDAiCi1QQVNT
IHN0ZXBEb3duKCIxNzowMCIsIDEsICIxNzowMCIsICIyMDowMCIpIGlzICIyMDowMCIKLVBBU1Mg
c3RlcFVwKCIxNzowMCIsIDEsICIxNTowMCIsICIxNzowMCIpIGlzICIxNTowMCIKLVBBU1Mgc3Rl
cERvd24oIjE3OjAwIiwgMSwgIjE1OjAwIiwgIjE3OjAwIikgaXMgIjE2OjAwIgotUEFTUyBzdGVw
VXAoIjE1OjAwIiwgMSwgIjE3OjAwIiwgIjIwOjAwIikgaXMgIjE3OjAwIgotUEFTUyBzdGVwRG93
bigiMTU6MDAiLCAxLCAiMTc6MDAiLCAiMjA6MDAiKSBpcyAiMjA6MDAiCi1QQVNTIHN0ZXBVcCgi
MTU6MDAiLCAxLCAiMTM6MDAiLCAiMTM6MDAiKSBpcyAiMTM6MDAiCi1QQVNTIHN0ZXBEb3duKCIx
NTowMCIsIDEsICIxMzowMCIsICIxMzowMCIpIGlzICIxMzowMCIKLVBBU1Mgc3RlcFVwKCIwMDow
MCIsIDEsICIwMDowMCIsICIwMzowMCIpIGlzICIwMTowMCIKLVBBU1Mgc3RlcERvd24oIjAwOjAw
IiwgMSwgIjAwOjAwIiwgIjAzOjAwIikgaXMgIjAzOjAwIgotUEFTUyBzdGVwVXAoIjAzOjAwIiwg
MSwgIjAwOjAwIiwgIjAzOjAwIikgaXMgIjAwOjAwIgotUEFTUyBzdGVwRG93bigiMDM6MDAiLCAx
LCAiMDA6MDAiLCAiMDM6MDAiKSBpcyAiMDI6MDAiCi1QQVNTIHN0ZXBVcCgiMTI6MDAiLCAxLCAi
MTA6MDAiLCAiMTI6MDAiKSBpcyAiMTA6MDAiCi1QQVNTIHN0ZXBEb3duKCIxMjowMCIsIDEsICIx
MDowMCIsICIxMjowMCIpIGlzICIxMTowMCIKLVBBU1Mgc3RlcFVwKCIwMDowMCIsIDEsICIwMDow
MCIsICIwMzowMCIpIGlzICIwMTowMCIKLVBBU1Mgc3RlcERvd24oIjAwOjAwIiwgMSwgIjAwOjAw
IiwgIjAzOjAwIikgaXMgIjAzOjAwIgotUEFTUyBzdGVwVXAoIjE1OjAwIiwgMSwgIjEwOjAwIiwg
IjE1OjAwIikgaXMgIjEwOjAwIgotUEFTUyBzdGVwRG93bigiMTA6MDAiLCAxLCAiMTA6MDAiLCAi
MTU6MDAiKSBpcyAiMTU6MDAiCi1QQVNTIHN0ZXBVcCgiMjA6MDAiLCA3MjAwLCAiMTc6MDAiLCAi
MjA6MDAiKSBpcyAiMTc6MDAiCi1QQVNTIHN0ZXBEb3duKCIyMDowMCIsIDcyMDAsICIxNzowMCIs
ICIyMDowMCIpIGlzICIxOTowMCIKLUhvdXJzLCAxLTI0Ci1QQVNTIHN0ZXBVcCgiMTE6MDAiLCAx
LCBudWxsLCBudWxsKSBpcyAiMTI6MDAiCi1QQVNTIGdldFVzZXJBZ2VudFNoYWRvd1RleHRDb250
ZW50KGlucHV0KSBpcyAiMTI6MDAiCi1QQVNTIHN0ZXBEb3duKCIwMDowMCIsIDEsIG51bGwsIG51
bGwpIGlzICIyMzowMCIKLVBBU1MgZ2V0VXNlckFnZW50U2hhZG93VGV4dENvbnRlbnQoaW5wdXQp
IGlzICIyMzowMCIKLVBBU1Mgc3RlcFVwKCIyMzowMCIsIDEsIG51bGwsIG51bGwpIGlzICIwMDow
MCIKLVBBU1MgZ2V0VXNlckFnZW50U2hhZG93VGV4dENvbnRlbnQoaW5wdXQpIGlzICIyNDowMCIK
LVBBU1Mgc3RlcERvd24oIjEyOjAwIiwgMSwgbnVsbCwgbnVsbCkgaXMgIjExOjAwIgotUEFTUyBn
ZXRVc2VyQWdlbnRTaGFkb3dUZXh0Q29udGVudChpbnB1dCkgaXMgIjExOjAwIgotUEFTUyB0ZXN0
KCIwNjowMCIsIDcyMDAsIG51bGwsIG51bGwsIFsiZGVsZXRlIiwgInVwQXJyb3ciXSkgaXMgIjAy
OjAwIgotUEFTUyB0ZXN0KCIwNjowMCIsIDcyMDAsIG51bGwsIG51bGwsIFsiZGVsZXRlIiwgImRv
d25BcnJvdyJdKSBpcyAiMDA6MDAiCi1QQVNTIHRlc3QoIjA2OjAwIiwgNzIwMCwgIjAxOjAwIiwg
bnVsbCwgWyJkZWxldGUiLCAidXBBcnJvdyJdKSBpcyAiMDE6MDAiCi1QQVNTIHRlc3QoIjA2OjAw
IiwgNzIwMCwgIjAxOjAwIiwgbnVsbCwgWyJkZWxldGUiLCAiZG93bkFycm93Il0pIGlzICIyMzow
MCIKLVBBU1Mgc3RlcFVwKCIxNzowMCIsIDEsICIxNzowMCIsICIyMDowMCIpIGlzICIxODowMCIK
LVBBU1Mgc3RlcERvd24oIjE3OjAwIiwgMSwgIjE3OjAwIiwgIjIwOjAwIikgaXMgIjIwOjAwIgot
UEFTUyBzdGVwVXAoIjE3OjAwIiwgMSwgIjE1OjAwIiwgIjE3OjAwIikgaXMgIjE1OjAwIgotUEFT
UyBzdGVwRG93bigiMTc6MDAiLCAxLCAiMTU6MDAiLCAiMTc6MDAiKSBpcyAiMTY6MDAiCi1QQVNT
IHN0ZXBVcCgiMTU6MDAiLCAxLCAiMTc6MDAiLCAiMjA6MDAiKSBpcyAiMTc6MDAiCi1QQVNTIHN0
ZXBEb3duKCIxNTowMCIsIDEsICIxNzowMCIsICIyMDowMCIpIGlzICIyMDowMCIKLVBBU1Mgc3Rl
cFVwKCIxNTowMCIsIDEsICIxMzowMCIsICIxMzowMCIpIGlzICIxMzowMCIKLVBBU1Mgc3RlcERv
d24oIjE1OjAwIiwgMSwgIjEzOjAwIiwgIjEzOjAwIikgaXMgIjEzOjAwIgotUEFTUyBzdGVwVXAo
IjAwOjAwIiwgMSwgIjAwOjAwIiwgIjAzOjAwIikgaXMgIjAxOjAwIgotUEFTUyBzdGVwRG93bigi
MDA6MDAiLCAxLCAiMDA6MDAiLCAiMDM6MDAiKSBpcyAiMjM6MDAiCi1QQVNTIHN0ZXBVcCgiMDM6
MDAiLCAxLCAiMDA6MDAiLCAiMDM6MDAiKSBpcyAiMDQ6MDAiCi1QQVNTIHN0ZXBEb3duKCIwMzow
MCIsIDEsICIwMDowMCIsICIwMzowMCIpIGlzICIwMjowMCIKLVBBU1Mgc3RlcFVwKCIxMjowMCIs
IDEsICIxMDowMCIsICIxMjowMCIpIGlzICIxMDowMCIKLVBBU1Mgc3RlcERvd24oIjEyOjAwIiwg
MSwgIjEwOjAwIiwgIjEyOjAwIikgaXMgIjExOjAwIgotUEFTUyBzdGVwVXAoIjAwOjAwIiwgMSwg
IjAwOjAwIiwgIjAzOjAwIikgaXMgIjAxOjAwIgotUEFTUyBzdGVwRG93bigiMDA6MDAiLCAxLCAi
MDA6MDAiLCAiMDM6MDAiKSBpcyAiMjM6MDAiCi1QQVNTIHN0ZXBVcCgiMTU6MDAiLCAxLCAiMTA6
MDAiLCAiMTU6MDAiKSBpcyAiMTA6MDAiCi1QQVNTIHN0ZXBEb3duKCIxMDowMCIsIDEsICIxMDow
MCIsICIxNTowMCIpIGlzICIxNTowMCIKLVBBU1Mgc3RlcFVwKCIxNzowMCIsIDcyMDAsICIxNzow
MCIsICIyMDowMCIpIGlzICIxOTowMCIKLVBBU1Mgc3RlcERvd24oIjE3OjAwIiwgNzIwMCwgIjE3
OjAwIiwgIjIwOjAwIikgaXMgIjE5OjAwIgotUEFTUyBzdGVwVXAoIjE3OjAwIiwgNzIwMCwgIjE3
OjAwIiwgIjE4OjAwIikgaXMgIjE3OjAwIgotUEFTUyBzdGVwRG93bigiMTc6MDAiLCA3MjAwLCAi
MTc6MDAiLCAiMTg6MDAiKSBpcyAiMTc6MDAiCi0KLVBBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlz
IHRydWUKLQotVEVTVCBDT01QTEVURQotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Zv
cm1zL3RpbWUtbXVsdGlwbGUtZmllbGRzL3RpbWUtbXVsdGlwbGUtZmllbGRzLXN0ZXB1cC1zdGVw
ZG93bi1mcm9tLXJlbmRlcmVyLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3RpbWUtbXVs
dGlwbGUtZmllbGRzL3RpbWUtbXVsdGlwbGUtZmllbGRzLXN0ZXB1cC1zdGVwZG93bi1mcm9tLXJl
bmRlcmVyLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDVkNzM0Mjk2ZmUzOGZm
ZGQ3Y2UxNmU1NThlMGFlNzBlZTdmNTIyNTkuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy90aW1lLW11bHRpcGxlLWZp
ZWxkcy90aW1lLW11bHRpcGxlLWZpZWxkcy1zdGVwdXAtc3RlcGRvd24tZnJvbS1yZW5kZXJlci5o
dG1sCisrKyAvZGV2L251bGwKQEAgLTEsMzQ5ICswLDAgQEAKLTwhRE9DVFlQRSBodG1sPgotPGh0
bWw+Ci08aGVhZD4KLTxzY3JpcHQgc3JjPSIuLi8uLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUu
anMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy9jb21tb24uanMiPjwvc2Ny
aXB0PgotPC9oZWFkPgotPGJvZHk+Ci08c2NyaXB0PgotZGVzY3JpcHRpb24oJ0NoZWNrIHN0ZXBw
aW5nLXVwIGFuZCAtZG93biBmb3IgdGltZSBpbnB1dCBmaWVsZHMgZnJvbSByZW5kZXJlci4gTm8g
Y2FzZXMgb2YgZW1wdHkgaW5pdGlhbCB2YWx1ZXMuJyk7Ci1pZiAoIXdpbmRvdy5pbnRlcm5hbHMp
Ci0gICAgdGVzdEZhaWxlZCgnVGhpcyB0ZXN0IHJlcXVpcmVzIHdpbmRvdy5pbnRlcm5hbHMuJyk7
Ci0KLXZhciBpbnB1dCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2lucHV0Jyk7Ci12YXIgaW52
YWxpZFN0YXRlRXJyID0gJyJFcnJvcjogSW52YWxpZFN0YXRlRXJyb3I6IERPTSBFeGNlcHRpb24g
MTEiJzsKLQotZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChpbnB1dCk7Ci0KLWZ1bmN0aW9uIGtl
eURvd24oa2V5LCBtb2RpZmllcnMpCi17Ci0gICAgaWYgKCF3aW5kb3cuZXZlbnRTZW5kZXIpCi0g
ICAgICAgIHJldHVybjsKLSAgICBldmVudFNlbmRlci5rZXlEb3duKGtleSwgbW9kaWZpZXJzKTsK
LX0KLQotZnVuY3Rpb24gc2V0RGF0ZVRpbWVGb3JtYXQocGF0dGVybikgewotICAgIGdldEVsZW1l
bnRCeVBzZXVkb0lkKGludGVybmFscy55b3VuZ2VzdFNoYWRvd1Jvb3QoaW5wdXQpLCAnLXdlYmtp
dC1kYXRldGltZS1lZGl0Jykuc2V0QXR0cmlidXRlKCdwYXR0ZXJuJywgcGF0dGVybik7Ci0gICAg
aW5wdXQudmFsdWUgPSAnJzsgIC8vIFVwZGF0ZXMgdGhlIGVsZW1lbnQgZm9yIG5ldyBmb3JtYXQK
LX0KLQotZnVuY3Rpb24gc2V0SW5wdXRBdHRyaWJ1dGVzKHZhbHVlLCBtaW4sIG1heCwgc3RlcCkg
ewotICAgIGlucHV0LnZhbHVlID0gdmFsdWU7Ci0gICAgaW5wdXQubWluID0gbWluOwotICAgIGlu
cHV0Lm1heCA9IG1heDsKLSAgICBpbnB1dC5zdGVwID0gc3RlcDsKLX0KLQotZnVuY3Rpb24gdGVz
dCh2YWx1ZSwgc3RlcCwgbWluLCBtYXgsIGtleVNlcXVlbmNlKSB7Ci0gICAgc2V0SW5wdXRBdHRy
aWJ1dGVzKHZhbHVlLCBtaW4sIG1heCwgc3RlcCk7Ci0gICAgZm9yICh2YXIgaSA9IDA7IGkgPCBr
ZXlTZXF1ZW5jZS5sZW5ndGg7IGkrKykKLSAgICAgICAga2V5RG93bihrZXlTZXF1ZW5jZVtpXSk7
Ci0gICAgcmV0dXJuIGlucHV0LnZhbHVlOwotfQotCi1mdW5jdGlvbiBzdGVwVXAodmFsdWUsIHN0
ZXAsIG1pbiwgbWF4KSB7Ci0gICAgcmV0dXJuIHRlc3QodmFsdWUsIHN0ZXAsIG1pbiwgbWF4LCBb
J3VwQXJyb3cnXSk7Ci19Ci0KLWZ1bmN0aW9uIHN0ZXBEb3duKHZhbHVlLCBzdGVwLCBtaW4sIG1h
eCkgewotICAgIHJldHVybiB0ZXN0KHZhbHVlLCBzdGVwLCBtaW4sIG1heCwgWydkb3duQXJyb3cn
XSk7Ci19Ci0KLWlucHV0LnR5cGUgPSAndGltZSc7Ci1pbnB1dC5mb2N1cygpOwota2V5RG93bign
cmlnaHRBcnJvdycpOwotZGVidWcoJ0Z1bmN0aW9uIGFyZ3VtZW50cyBhcmUgKHZhbHVlLCBzdGVw
LCBtaW4sIG1heCwgW2tleVNlcXVlbmNlXSkuJyk7Ci1kZWJ1ZygnTm9ybWFsIGNhc2VzJyk7Ci1z
aG91bGRCZUVxdWFsVG9TdHJpbmcoJ3N0ZXBVcCgiMDc6MTMiLCBudWxsLCBudWxsLCBudWxsKScs
ICcwNzoxNCcpOwotc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdzdGVwRG93bigiMDc6MTMiLCBudWxs
LCBudWxsLCBudWxsKScsICcwNzoxMicpOwotc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCd0ZXN0KCIw
NzoxMyIsIG51bGwsIG51bGwsIG51bGwsIFsidXBBcnJvdyIsICJ1cEFycm93IiwgInVwQXJyb3ci
XSknLCAnMDc6MTYnKTsKLXNob3VsZEJlRXF1YWxUb1N0cmluZygndGVzdCgiMDc6MTMiLCBudWxs
LCBudWxsLCBudWxsLCBbImRvd25BcnJvdyIsICJkb3duQXJyb3ciLCAiZG93bkFycm93Il0pJywg
JzA3OjEwJyk7Ci0KLWRlYnVnKCdNaWxsaXNlY29uZHMnKTsKLWlucHV0LnN0ZXAgPSAwLjAwMTsK
LWtleURvd24oJ3JpZ2h0QXJyb3cnKTsKLWtleURvd24oJ3JpZ2h0QXJyb3cnKTsKLXNob3VsZEJl
RXF1YWxUb1N0cmluZygnc3RlcFVwKCIwNzoxMzowMC4wMDAiLCAwLjAwMSwgbnVsbCwgbnVsbCkn
LCAnMDc6MTM6MDAuMDAxJyk7Ci1zaG91bGRCZUVxdWFsVG9TdHJpbmcoJ3N0ZXBEb3duKCIwNzox
MzowMC4wMDEiLCAwLjAwMSwgbnVsbCwgbnVsbCknLCAnMDc6MTMnKTsKLXNob3VsZEJlRXF1YWxU
b1N0cmluZygnc3RlcFVwKCIwNzoxMzowMC45OTkiLCAwLjAwMSwgbnVsbCwgbnVsbCknLCAnMDc6
MTMnKTsKLXNob3VsZEJlRXF1YWxUb1N0cmluZygnc3RlcERvd24oIjA3OjEzOjAwLjAwMCIsIDAu
MDAxLCBudWxsLCBudWxsKScsICcwNzoxMzowMC45OTknKTsKLXNob3VsZEJlRXF1YWxUb1N0cmlu
Zygnc3RlcFVwKCIwNzoxMzowMC4wMDAiLCAwLjI1MCwgbnVsbCwgbnVsbCknLCAnMDc6MTM6MDAu
MjUwJyk7Ci1zaG91bGRCZUVxdWFsVG9TdHJpbmcoJ3N0ZXBEb3duKCIwNzoxMzowMC41MDAiLCAw
LjI1MCwgbnVsbCwgbnVsbCknLCAnMDc6MTM6MDAuMjUwJyk7Ci1zaG91bGRCZUVxdWFsVG9TdHJp
bmcoJ3N0ZXBVcCgiMDc6MTM6MDAuNzUwIiwgMC4yNTAsIG51bGwsIG51bGwpJywgJzA3OjEzJyk7
Ci1zaG91bGRCZUVxdWFsVG9TdHJpbmcoJ3N0ZXBEb3duKCIwNzoxMzowMC4wMDAiLCAwLjI1MCwg
bnVsbCwgbnVsbCknLCAnMDc6MTM6MDAuNzUwJyk7Ci1zaG91bGRCZUVxdWFsVG9TdHJpbmcoJ3N0
ZXBVcCgiMDc6MTM6MDAuMDk5IiwgMC4xMDAsIG51bGwsIG51bGwpJywgJzA3OjEzOjAwLjEwMCcp
Owotc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdzdGVwRG93bigiMDc6MTM6MDAuMTAxIiwgMC4xMDAs
IG51bGwsIG51bGwpJywgJzA3OjEzOjAwLjEwMCcpOwotc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdz
dGVwVXAoIjA3OjEzOjAwLjUwMCIsIDAuMDAwMSwgbnVsbCwgbnVsbCknLCAnMDc6MTM6MDAuNTAx
Jyk7Ci1zaG91bGRCZUVxdWFsVG9TdHJpbmcoJ3N0ZXBEb3duKCIwNzoxMzowMC41MDAiLCAwLjAw
MDEsIG51bGwsIG51bGwpJywgJzA3OjEzOjAwLjQ5OScpOwotc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCdzdGVwVXAoIjA3OjEzOjAwLjUwMCIsIDAsIG51bGwsIG51bGwpJywgJzA3OjEzJyk7Ci1zaG91
bGRCZUVxdWFsVG9TdHJpbmcoJ3N0ZXBEb3duKCIwNzoxMzowMC41MDAiLCAwLCBudWxsLCBudWxs
KScsICcwNzoxMycpOwotc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdzdGVwVXAoIjA3OjEzOjAwLjUw
MCIsIDYwLCBudWxsLCBudWxsKScsICcwNzoxMycpOwotc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdz
dGVwRG93bigiMDc6MTM6MDAuNTAwIiwgNjAsIG51bGwsIG51bGwpJywgJzA3OjEzJyk7Ci1zaG91
bGRCZUVxdWFsVG9TdHJpbmcoJ3N0ZXBVcCgiMDc6MTM6MDAuNTAwIiwgMC4xMDAsICIwMDowMDow
MC4wNTAiLCBudWxsKScsICcwNzoxMzowMC41NTAnKTsKLXNob3VsZEJlRXF1YWxUb1N0cmluZygn
c3RlcERvd24oIjA3OjEzOjAwLjUwMCIsIDAuMTAwLCAiMDA6MDA6MDAuMDUwIiwgbnVsbCknLCAn
MDc6MTM6MDAuNDUwJyk7Ci1zaG91bGRCZUVxdWFsVG9TdHJpbmcoJ3Rlc3QoIjA3OjEzOjAwLjUw
MCIsIDAuMTAwLCBudWxsLCBudWxsLCBbImRlbGV0ZSIsICJ1cEFycm93Il0pJywgJzA3OjEzJyk7
Ci1zaG91bGRCZUVxdWFsVG9TdHJpbmcoJ3Rlc3QoIjA3OjEzOjAwLjUwMCIsIDAuMTAwLCBudWxs
LCBudWxsLCBbImRlbGV0ZSIsICJkb3duQXJyb3ciXSknLCAnMDc6MTM6MDAuOTAwJyk7Ci1zaG91
bGRCZUVxdWFsVG9TdHJpbmcoJ3Rlc3QoIjA3OjEzOjAwLjUwMCIsIDAuMTAwLCAiMDA6MDA6MDAu
MDUwIiwgbnVsbCwgWyJkZWxldGUiLCAidXBBcnJvdyJdKScsICcwNzoxMzowMC4wNTAnKTsKLXNo
b3VsZEJlRXF1YWxUb1N0cmluZygndGVzdCgiMDc6MTM6MDAuNTAwIiwgMC4xMDAsICIwMDowMDow
MC4wNTAiLCBudWxsLCBbImRlbGV0ZSIsICJkb3duQXJyb3ciXSknLCAnMDc6MTM6MDAuOTUwJyk7
Ci1zaG91bGRCZUVxdWFsVG9TdHJpbmcoJ3N0ZXBVcCgiMDc6MTM6MDAuMDEwIiwgMC4wMDEsICIw
NzoxMzowMC4wMDUiLCAiMDc6MTM6MDAuMDEwIiknLCAnMDc6MTM6MDAuMDA1Jyk7Ci1zaG91bGRC
ZUVxdWFsVG9TdHJpbmcoJ3N0ZXBEb3duKCIwNzoxMzowMC4wMDUiLCAwLjAwMSwgIjA3OjEzOjAw
LjAwNSIsICIwNzoxMzowMC4wMTAiKScsICcwNzoxMzowMC4wMTAnKTsKLXNob3VsZEJlRXF1YWxU
b1N0cmluZygnc3RlcFVwKCIwNzoxMzowMC4wMDUiLCAwLjAwMSwgIjA3OjEzOjAwLjAxMCIsICIw
NzoxMzowMC4wMjAiKScsICcwNzoxMzowMC4wMTAnKTsKLXNob3VsZEJlRXF1YWxUb1N0cmluZygn
c3RlcERvd24oIjA3OjEzOjAwLjAwNSIsIDAuMDAxLCAiMDc6MTM6MDAuMDEwIiwgIjA3OjEzOjAw
LjAyMCIpJywgJzA3OjEzOjAwLjAyMCcpOwotc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdzdGVwVXAo
IjA3OjEzOjAwLjAwNSIsIDAuMDAxLCAiMDc6MTM6MDAuMDAyIiwgIjA3OjEzOjAwLjAwMiIpJywg
JzA3OjEzOjAwLjAwMicpOwotc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdzdGVwRG93bigiMDc6MTM6
MDAuMDA1IiwgMC4wMDEsICIwNzoxMzowMC4wMDIiLCAiMDc6MTM6MDAuMDAyIiknLCAnMDc6MTM6
MDAuMDAyJyk7Ci1zaG91bGRCZUVxdWFsVG9TdHJpbmcoJ3N0ZXBVcCgiMDc6MTM6MDAuMDM1Iiwg
MC4wMSwgIjA3OjEzOjAwLjAxMCIsICIwNzoxMzowMC4wMzUiKScsICcwNzoxMzowMC4wMTAnKTsK
LXNob3VsZEJlRXF1YWxUb1N0cmluZygnc3RlcERvd24oIjA3OjEzOjAwLjAzNSIsIDAuMDEsICIw
NzoxMzowMC4wMTAiLCAiMDc6MTM6MDAuMDM1IiknLCAnMDc6MTM6MDAuMDMwJyk7Ci1zaG91bGRC
ZUVxdWFsVG9TdHJpbmcoJ3N0ZXBVcCgiMDc6MTM6MDAuMDEwIiwgMC4wMDEsICIwNzoxMzowMC4w
MTAiLCAiMDc6MTM6MDEuMDIwIiknLCAnMDc6MTM6MDAuMDExJyk7Ci1zaG91bGRCZUVxdWFsVG9T
dHJpbmcoJ3N0ZXBEb3duKCIwNzoxMzowMC4wMTAiLCAwLjAwMSwgIjA3OjEzOjAwLjAxMCIsICIw
NzoxMzowMS4wMjAiKScsICcwNzoxMzowMC4wMDknKTsKLQotZGVidWcoJ1NlY29uZHMnKTsKLWtl
eURvd24oJ2xlZnRBcnJvdycpOwotc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdzdGVwVXAoIjA3OjEz
OjAwIiwgMSwgbnVsbCwgbnVsbCknLCAnMDc6MTM6MDEnKTsKLXNob3VsZEJlRXF1YWxUb1N0cmlu
Zygnc3RlcERvd24oIjA3OjEzOjAxIiwgMSwgbnVsbCwgbnVsbCknLCAnMDc6MTMnKTsKLXNob3Vs
ZEJlRXF1YWxUb1N0cmluZygnc3RlcFVwKCIwNzoxMzo1OSIsIDAuMDAxLCBudWxsLCBudWxsKScs
ICcwNzoxMycpOwotc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdzdGVwRG93bigiMDc6MTM6MDAiLCAw
LjAwMSwgbnVsbCwgbnVsbCknLCAnMDc6MTM6NTknKTsKLXNob3VsZEJlRXF1YWxUb1N0cmluZygn
c3RlcFVwKCIwNzoxMzowMCIsIDEwLCBudWxsLCBudWxsKScsICcwNzoxMzoxMCcpOwotc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCdzdGVwRG93bigiMDc6MTM6MzAiLCAxMCwgbnVsbCwgbnVsbCknLCAn
MDc6MTM6MjAnKTsKLXNob3VsZEJlRXF1YWxUb1N0cmluZygnc3RlcFVwKCIwNzoxMzo1MCIsIDEw
LCBudWxsLCBudWxsKScsICcwNzoxMycpOwotc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdzdGVwRG93
bigiMDc6MTM6MDAiLCAxMCwgbnVsbCwgbnVsbCknLCAnMDc6MTM6NTAnKTsKLXNob3VsZEJlRXF1
YWxUb1N0cmluZygnc3RlcFVwKCIwNzoxMzowOSIsIDEwLCBudWxsLCBudWxsKScsICcwNzoxMzox
MCcpOwotc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdzdGVwRG93bigiMDc6MTM6MTEiLCAxMCwgbnVs
bCwgbnVsbCknLCAnMDc6MTM6MTAnKTsKLXNob3VsZEJlRXF1YWxUb1N0cmluZygnc3RlcFVwKCIw
NzoxMzozMCIsIDIuNSwgbnVsbCwgbnVsbCknLCAnMDc6MTM6MzEnKTsKLXNob3VsZEJlRXF1YWxU
b1N0cmluZygnc3RlcERvd24oIjA3OjEzOjMwIiwgMi41LCBudWxsLCBudWxsKScsICcwNzoxMzoy
OScpOwotc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdzdGVwVXAoIjA3OjEzOjMwIiwgMCwgbnVsbCwg
bnVsbCknLCAnMDc6MTMnKTsKLXNob3VsZEJlRXF1YWxUb1N0cmluZygnc3RlcERvd24oIjA3OjEz
OjMwIiwgMCwgbnVsbCwgbnVsbCknLCAnMDc6MTMnKTsKLXNob3VsZEJlRXF1YWxUb1N0cmluZygn
c3RlcFVwKCIwNzoxMzozMCIsIDM2MDAsIG51bGwsIG51bGwpJywgJzA3OjEzJyk7Ci1zaG91bGRC
ZUVxdWFsVG9TdHJpbmcoJ3N0ZXBEb3duKCIwNzoxMzozMCIsIDM2MDAsIG51bGwsIG51bGwpJywg
JzA3OjEzJyk7Ci1zaG91bGRCZUVxdWFsVG9TdHJpbmcoJ3N0ZXBVcCgiMDc6MTM6MzAiLCAxMSwg
bnVsbCwgbnVsbCknLCAnMDc6MTM6MzEnKTsKLXNob3VsZEJlRXF1YWxUb1N0cmluZygnc3RlcERv
d24oIjA3OjEzOjMwIiwgMTEsIG51bGwsIG51bGwpJywgJzA3OjEzOjI5Jyk7Ci1zaG91bGRCZUVx
dWFsVG9TdHJpbmcoJ3N0ZXBVcCgiMDc6MTM6MzAiLCAxMCwgIjAwOjAwOjA1IiwgbnVsbCknLCAn
MDc6MTM6MzUnKTsKLXNob3VsZEJlRXF1YWxUb1N0cmluZygnc3RlcERvd24oIjA3OjEzOjMwIiwg
MTAsICIwMDowMDowNSIsIG51bGwpJywgJzA3OjEzOjI1Jyk7Ci1zaG91bGRCZUVxdWFsVG9TdHJp
bmcoJ3Rlc3QoIjA3OjEzOjMwIiwgMTAsIG51bGwsIG51bGwsIFsiZGVsZXRlIiwgInVwQXJyb3ci
XSknLCAnMDc6MTMnKTsKLXNob3VsZEJlRXF1YWxUb1N0cmluZygndGVzdCgiMDc6MTM6MzAiLCAx
MCwgbnVsbCwgbnVsbCwgWyJkZWxldGUiLCAiZG93bkFycm93Il0pJywgJzA3OjEzOjUwJyk7Ci1z
aG91bGRCZUVxdWFsVG9TdHJpbmcoJ3Rlc3QoIjA3OjEzOjMwIiwgMTAsICIwMDowMDowNSIsIG51
bGwsIFsiZGVsZXRlIiwgInVwQXJyb3ciXSknLCAnMDc6MTM6MDUnKTsKLXNob3VsZEJlRXF1YWxU
b1N0cmluZygndGVzdCgiMDc6MTM6MzAiLCAxMCwgIjAwOjAwOjA1IiwgbnVsbCwgWyJkZWxldGUi
LCAiZG93bkFycm93Il0pJywgJzA3OjEzOjU1Jyk7Ci1zaG91bGRCZUVxdWFsVG9TdHJpbmcoJ3N0
ZXBVcCgiMDc6MTM6MTAiLCAxLCAiMDc6MTM6MDUiLCAiMDc6MTM6MTAiKScsICcwNzoxMzowNScp
Owotc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdzdGVwRG93bigiMDc6MTM6MDUiLCAxLCAiMDc6MTM6
MDUiLCAiMDc6MTM6MTAiKScsICcwNzoxMzoxMCcpOwotc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdz
dGVwVXAoIjA3OjEzOjA1IiwgMSwgIjA3OjEzOjEwIiwgIjA3OjEzOjIwIiknLCAnMDc6MTM6MTAn
KTsKLXNob3VsZEJlRXF1YWxUb1N0cmluZygnc3RlcERvd24oIjA3OjEzOjA1IiwgMSwgIjA3OjEz
OjEwIiwgIjA3OjEzOjIwIiknLCAnMDc6MTM6MjAnKTsKLXNob3VsZEJlRXF1YWxUb1N0cmluZygn
c3RlcFVwKCIwNzoxMzowNSIsIDEsICIwNzoxMzowMiIsICIwNzoxMzowMiIpJywgJzA3OjEzOjAy
Jyk7Ci1zaG91bGRCZUVxdWFsVG9TdHJpbmcoJ3N0ZXBEb3duKCIwNzoxMzowNSIsIDEsICIwNzox
MzowMiIsICIwNzoxMzowMiIpJywgJzA3OjEzOjAyJyk7Ci1zaG91bGRCZUVxdWFsVG9TdHJpbmco
J3N0ZXBVcCgiMDc6MTM6MzUiLCAxMCwgIjA3OjEzOjEwIiwgIjA3OjEzOjM1IiknLCAnMDc6MTM6
MTAnKTsKLXNob3VsZEJlRXF1YWxUb1N0cmluZygnc3RlcERvd24oIjA3OjEzOjM1IiwgMTAsICIw
NzoxMzoxMCIsICIwNzoxMzozNSIpJywgJzA3OjEzOjMwJyk7Ci1zaG91bGRCZUVxdWFsVG9TdHJp
bmcoJ3N0ZXBVcCgiMDc6MTM6MTAiLCAxLCAiMDc6MTM6MTAiLCAiMDc6MTQ6MjAiKScsICcwNzox
MzoxMScpOwotc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdzdGVwRG93bigiMDc6MTM6MTAiLCAxLCAi
MDc6MTM6MTAiLCAiMDc6MTQ6MjAiKScsICcwNzoxMzowOScpOwotCi1kZWJ1ZygnTWludXRlcycp
Owota2V5RG93bignbGVmdEFycm93Jyk7Ci1zaG91bGRCZUVxdWFsVG9TdHJpbmcoJ3N0ZXBVcCgi
MDc6MTMiLCAxLCBudWxsLCBudWxsKScsICcwNzoxNCcpOwotc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCdzdGVwRG93bigiMDc6MTMiLCAxLCBudWxsLCBudWxsKScsICcwNzoxMicpOwotc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCdzdGVwVXAoIjA3OjU5IiwgMC4wMDEsIG51bGwsIG51bGwpJywgJzA3OjAw
Jyk7Ci1zaG91bGRCZUVxdWFsVG9TdHJpbmcoJ3N0ZXBEb3duKCIwNzowMCIsIDAuMDAxLCBudWxs
LCBudWxsKScsICcwNzo1OScpOwotc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdzdGVwVXAoIjA3OjAw
IiwgNjAwLCBudWxsLCBudWxsKScsICcwNzoxMCcpOwotc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdz
dGVwRG93bigiMDc6MTAiLCA2MDAsIG51bGwsIG51bGwpJywgJzA3OjAwJyk7Ci1zaG91bGRCZUVx
dWFsVG9TdHJpbmcoJ3N0ZXBVcCgiMDc6NTAiLCA2MDAsIG51bGwsIG51bGwpJywgJzA3OjAwJyk7
Ci1zaG91bGRCZUVxdWFsVG9TdHJpbmcoJ3N0ZXBEb3duKCIwNzowMCIsIDYwMCwgbnVsbCwgbnVs
bCknLCAnMDc6NTAnKTsKLXNob3VsZEJlRXF1YWxUb1N0cmluZygnc3RlcFVwKCIwNzoxMyIsIDYw
MCwgbnVsbCwgbnVsbCknLCAnMDc6MjAnKTsKLXNob3VsZEJlRXF1YWxUb1N0cmluZygnc3RlcERv
d24oIjA3OjEzIiwgNjAwLCBudWxsLCBudWxsKScsICcwNzoxMCcpOwotc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCdzdGVwVXAoIjA3OjEzIiwgMTUwLCBudWxsLCBudWxsKScsICcwNzoxNCcpOwotc2hv
dWxkQmVFcXVhbFRvU3RyaW5nKCdzdGVwRG93bigiMDc6MTMiLCAxNTAsIG51bGwsIG51bGwpJywg
JzA3OjEyJyk7Ci1zaG91bGRCZUVxdWFsVG9TdHJpbmcoJ3N0ZXBVcCgiMDc6MTMiLCAwLCBudWxs
LCBudWxsKScsICcwNzoxNCcpOwotc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdzdGVwRG93bigiMDc6
MTMiLCAwLCBudWxsLCBudWxsKScsICcwNzoxMicpOwotc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdz
dGVwVXAoIjA3OjEzIiwgMzYwMDAsIG51bGwsIG51bGwpJywgJzA3OjAwJyk7Ci1zaG91bGRCZUVx
dWFsVG9TdHJpbmcoJ3N0ZXBEb3duKCIwNzoxMyIsIDM2MDAwLCBudWxsLCBudWxsKScsICcwNzow
MCcpOwotc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdzdGVwVXAoIjA3OjEzIiwgNjYwLCBudWxsLCBu
dWxsKScsICcwNzoxNCcpOwotc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdzdGVwRG93bigiMDc6MTMi
LCA2NjAsIG51bGwsIG51bGwpJywgJzA3OjEyJyk7Ci1zaG91bGRCZUVxdWFsVG9TdHJpbmcoJ3N0
ZXBVcCgiMDc6MTMiLCA2MDAsICIwMDowNSIsIG51bGwpJywgJzA3OjE1Jyk7Ci1zaG91bGRCZUVx
dWFsVG9TdHJpbmcoJ3N0ZXBEb3duKCIwNzoxMyIsIDYwMCwgIjAwOjA1IiwgbnVsbCknLCAnMDc6
MDUnKTsKLXNob3VsZEJlRXF1YWxUb1N0cmluZygndGVzdCgiMDc6MTMiLCA2MDAsIG51bGwsIG51
bGwsIFsiZGVsZXRlIiwgInVwQXJyb3ciXSknLCAnMDc6MDAnKTsKLXNob3VsZEJlRXF1YWxUb1N0
cmluZygndGVzdCgiMDc6MTMiLCA2MDAsIG51bGwsIG51bGwsIFsiZGVsZXRlIiwgImRvd25BcnJv
dyJdKScsICcwNzo1MCcpOwotc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCd0ZXN0KCIwNzoxMyIsIDYw
MCwgIjAwOjA1IiwgbnVsbCwgWyJkZWxldGUiLCAidXBBcnJvdyJdKScsICcwNzowNScpOwotc2hv
dWxkQmVFcXVhbFRvU3RyaW5nKCd0ZXN0KCIwNzoxMyIsIDYwMCwgIjAwOjA1IiwgbnVsbCwgWyJk
ZWxldGUiLCAiZG93bkFycm93Il0pJywgJzA3OjU1Jyk7Ci1zaG91bGRCZUVxdWFsVG9TdHJpbmco
J3N0ZXBVcCgiMDc6MTAiLCAxLCAiMDc6MDUiLCAiMDc6MTAiKScsICcwNzowNScpOwotc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCdzdGVwRG93bigiMDc6MDUiLCAxLCAiMDc6MDUiLCAiMDc6MTAiKScs
ICcwNzoxMCcpOwotc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdzdGVwVXAoIjA3OjA1IiwgMSwgIjA3
OjEwIiwgIjA3OjIwIiknLCAnMDc6MTAnKTsKLXNob3VsZEJlRXF1YWxUb1N0cmluZygnc3RlcERv
d24oIjA3OjA1IiwgMSwgIjA3OjEwIiwgIjA3OjIwIiknLCAnMDc6MjAnKTsKLXNob3VsZEJlRXF1
YWxUb1N0cmluZygnc3RlcFVwKCIwNzowNSIsIDEsICIwNzowMCIsICIwNzowMCIpJywgJzA3OjAw
Jyk7Ci1zaG91bGRCZUVxdWFsVG9TdHJpbmcoJ3N0ZXBEb3duKCIwNzowNSIsIDEsICIwNzowMCIs
ICIwNzowMCIpJywgJzA3OjAwJyk7Ci1zaG91bGRCZUVxdWFsVG9TdHJpbmcoJ3N0ZXBVcCgiMDc6
MzUiLCA2MDAsICIwNzoxMCIsICIwNzozNSIpJywgJzA3OjEwJyk7Ci1zaG91bGRCZUVxdWFsVG9T
dHJpbmcoJ3N0ZXBEb3duKCIwNzozNSIsIDYwMCwgIjA3OjEwIiwgIjA3OjM1IiknLCAnMDc6MzAn
KTsKLXNob3VsZEJlRXF1YWxUb1N0cmluZygnc3RlcFVwKCIwNzoxMCIsIDEsICIwNzoxMCIsICIw
ODoyMCIpJywgJzA3OjExJyk7Ci1zaG91bGRCZUVxdWFsVG9TdHJpbmcoJ3N0ZXBEb3duKCIwNzox
MCIsIDEsICIwNzoxMCIsICIwODoyMCIpJywgJzA3OjA5Jyk7Ci0KLWRlYnVnKCdIb3VycywgMS0x
MicpOwota2V5RG93bignbGVmdEFycm93Jyk7Ci1zaG91bGRCZUVxdWFsVG9TdHJpbmcoJ3N0ZXBV
cCgiMDc6MDAiLCAxLCBudWxsLCBudWxsKScsICcwODowMCcpOwotc2hvdWxkQmVFcXVhbFRvU3Ry
aW5nKCdzdGVwRG93bigiMDc6MDAiLCAxLCBudWxsLCBudWxsKScsICcwNjowMCcpOwotc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCdzdGVwVXAoIjExOjAwIiwgMSwgbnVsbCwgbnVsbCknLCAnMDA6MDAn
KTsKLXNob3VsZEJlRXF1YWxUb1N0cmluZygnc3RlcERvd24oIjAwOjAwIiwgMSwgbnVsbCwgbnVs
bCknLCAnMTE6MDAnKTsKLXNob3VsZEJlRXF1YWxUb1N0cmluZygnc3RlcFVwKCIwNjowMCIsIDcy
MDAsIG51bGwsIG51bGwpJywgJzA4OjAwJyk7Ci1zaG91bGRCZUVxdWFsVG9TdHJpbmcoJ3N0ZXBE
b3duKCIwNjowMCIsIDcyMDAsIG51bGwsIG51bGwpJywgJzA0OjAwJyk7Ci1zaG91bGRCZUVxdWFs
VG9TdHJpbmcoJ3N0ZXBVcCgiMTA6MDAiLCA3MjAwLCBudWxsLCBudWxsKScsICcwMDowMCcpOwot
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdzdGVwRG93bigiMDA6MDAiLCA3MjAwLCBudWxsLCBudWxs
KScsICcxMDowMCcpOwotc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdzdGVwVXAoIjA3OjAwIiwgNzIw
MCwgbnVsbCwgbnVsbCknLCAnMDg6MDAnKTsKLXNob3VsZEJlRXF1YWxUb1N0cmluZygnc3RlcERv
d24oIjA3OjAwIiwgNzIwMCwgbnVsbCwgbnVsbCknLCAnMDY6MDAnKTsKLXNob3VsZEJlRXF1YWxU
b1N0cmluZygnc3RlcFVwKCIwNjowMCIsIDM2MDEsIG51bGwsIG51bGwpJywgJzA3OjAwJyk7Ci1z
aG91bGRCZUVxdWFsVG9TdHJpbmcoJ3N0ZXBEb3duKCIwNjowMCIsIDM2MDEsIG51bGwsIG51bGwp
JywgJzA1OjAwJyk7Ci1zaG91bGRCZUVxdWFsVG9TdHJpbmcoJ3N0ZXBVcCgiMDY6MDAiLCAwLCBu
dWxsLCBudWxsKScsICcwNzowMCcpOwotc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdzdGVwRG93bigi
MDY6MDAiLCAwLCBudWxsLCBudWxsKScsICcwNTowMCcpOwotc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCdzdGVwVXAoIjA2OjAwIiwgODY0MDAsIG51bGwsIG51bGwpJywgJzAwOjAwJyk7Ci1zaG91bGRC
ZUVxdWFsVG9TdHJpbmcoJ3N0ZXBEb3duKCIwNjowMCIsIDg2NDAwLCBudWxsLCBudWxsKScsICcw
MDowMCcpOwotc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdzdGVwVXAoIjA2OjAwIiwgMzYwMDAsIG51
bGwsIG51bGwpJywgJzA3OjAwJyk7Ci1zaG91bGRCZUVxdWFsVG9TdHJpbmcoJ3N0ZXBEb3duKCIw
NjowMCIsIDM2MDAwLCBudWxsLCBudWxsKScsICcwNTowMCcpOwotc2hvdWxkQmVFcXVhbFRvU3Ry
aW5nKCdzdGVwVXAoIjA2OjAwIiwgNzIwMCwgIjAxOjAwIiwgbnVsbCknLCAnMDc6MDAnKTsKLXNo
b3VsZEJlRXF1YWxUb1N0cmluZygnc3RlcERvd24oIjA2OjAwIiwgNzIwMCwgIjAxOjAwIiwgbnVs
bCknLCAnMDU6MDAnKTsKLXNob3VsZEJlRXF1YWxUb1N0cmluZygndGVzdCgiMDY6MDAiLCA3MjAw
LCBudWxsLCBudWxsLCBbImRlbGV0ZSIsICJ1cEFycm93Il0pJywgJzAyOjAwJyk7Ci1zaG91bGRC
ZUVxdWFsVG9TdHJpbmcoJ3Rlc3QoIjA2OjAwIiwgNzIwMCwgbnVsbCwgbnVsbCwgWyJkZWxldGUi
LCAiZG93bkFycm93Il0pJywgJzAwOjAwJyk7Ci1zaG91bGRCZUVxdWFsVG9TdHJpbmcoJ2dldFVz
ZXJBZ2VudFNoYWRvd1RleHRDb250ZW50KGlucHV0KScsICcxMjowMCBBTScpOwotc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCd0ZXN0KCIwNjowMCIsIDcyMDAsICIwMTowMCIsIG51bGwsIFsiZGVsZXRl
IiwgInVwQXJyb3ciXSknLCAnMDE6MDAnKTsKLXNob3VsZEJlRXF1YWxUb1N0cmluZygndGVzdCgi
MDY6MDAiLCA3MjAwLCAiMDE6MDAiLCBudWxsLCBbImRlbGV0ZSIsICJkb3duQXJyb3ciXSknLCAn
MTE6MDAnKTsKLXNob3VsZEJlRXF1YWxUb1N0cmluZygnc3RlcFVwKCIxNzowMCIsIDEsICIxNzow
MCIsICIyMDowMCIpJywgJzE4OjAwJyk7Ci1zaG91bGRCZUVxdWFsVG9TdHJpbmcoJ3N0ZXBEb3du
KCIxNzowMCIsIDEsICIxNzowMCIsICIyMDowMCIpJywgJzIwOjAwJyk7Ci1zaG91bGRCZUVxdWFs
VG9TdHJpbmcoJ3N0ZXBVcCgiMTc6MDAiLCAxLCAiMTU6MDAiLCAiMTc6MDAiKScsICcxNTowMCcp
Owotc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdzdGVwRG93bigiMTc6MDAiLCAxLCAiMTU6MDAiLCAi
MTc6MDAiKScsICcxNjowMCcpOwotc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdzdGVwVXAoIjE1OjAw
IiwgMSwgIjE3OjAwIiwgIjIwOjAwIiknLCAnMTc6MDAnKTsKLXNob3VsZEJlRXF1YWxUb1N0cmlu
Zygnc3RlcERvd24oIjE1OjAwIiwgMSwgIjE3OjAwIiwgIjIwOjAwIiknLCAnMjA6MDAnKTsKLXNo
b3VsZEJlRXF1YWxUb1N0cmluZygnc3RlcFVwKCIxNTowMCIsIDEsICIxMzowMCIsICIxMzowMCIp
JywgJzEzOjAwJyk7Ci1zaG91bGRCZUVxdWFsVG9TdHJpbmcoJ3N0ZXBEb3duKCIxNTowMCIsIDEs
ICIxMzowMCIsICIxMzowMCIpJywgJzEzOjAwJyk7Ci1zaG91bGRCZUVxdWFsVG9TdHJpbmcoJ3N0
ZXBVcCgiMTI6MDAiLCAxLCAiMTI6MDAiLCAiMTU6MDAiKScsICcxMzowMCcpOwotc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCdzdGVwRG93bigiMTI6MDAiLCAxLCAiMTI6MDAiLCAiMTU6MDAiKScsICcy
MzowMCcpOwotc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdzdGVwVXAoIjE1OjAwIiwgMSwgIjEyOjAw
IiwgIjE1OjAwIiknLCAnMTY6MDAnKTsKLXNob3VsZEJlRXF1YWxUb1N0cmluZygnc3RlcERvd24o
IjE1OjAwIiwgMSwgIjEyOjAwIiwgIjE1OjAwIiknLCAnMTQ6MDAnKTsKLXNob3VsZEJlRXF1YWxU
b1N0cmluZygnc3RlcFVwKCIxMjowMCIsIDEsICIxMDowMCIsICIxMjowMCIpJywgJzEzOjAwJyk7
Ci1zaG91bGRCZUVxdWFsVG9TdHJpbmcoJ3N0ZXBEb3duKCIxMjowMCIsIDEsICIxMDowMCIsICIx
MjowMCIpJywgJzIzOjAwJyk7Ci1zaG91bGRCZUVxdWFsVG9TdHJpbmcoJ3N0ZXBVcCgiMDA6MDAi
LCAxLCAiMDA6MDAiLCAiMDM6MDAiKScsICcwMTowMCcpOwotc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCdzdGVwRG93bigiMDA6MDAiLCAxLCAiMDA6MDAiLCAiMDM6MDAiKScsICcxMTowMCcpOwotc2hv
dWxkQmVFcXVhbFRvU3RyaW5nKCdzdGVwVXAoIjE1OjAwIiwgMSwgIjEwOjAwIiwgIjE1OjAwIikn
LCAnMTY6MDAnKTsKLXNob3VsZEJlRXF1YWxUb1N0cmluZygnc3RlcERvd24oIjEwOjAwIiwgMSwg
IjEwOjAwIiwgIjE1OjAwIiknLCAnMDk6MDAnKTsKLXNob3VsZEJlRXF1YWxUb1N0cmluZygnc3Rl
cFVwKCIxNzowMCIsIDcyMDAsICIxNzowMCIsICIyMDowMCIpJywgJzE5OjAwJyk7Ci1zaG91bGRC
ZUVxdWFsVG9TdHJpbmcoJ3N0ZXBEb3duKCIxNzowMCIsIDcyMDAsICIxNzowMCIsICIyMDowMCIp
JywgJzE5OjAwJyk7Ci1zaG91bGRCZUVxdWFsVG9TdHJpbmcoJ3N0ZXBVcCgiMTc6MDAiLCA3MjAw
LCAiMTc6MDAiLCAiMTg6MDAiKScsICcxNzowMCcpOwotc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdz
dGVwRG93bigiMTc6MDAiLCA3MjAwLCAiMTc6MDAiLCAiMTg6MDAiKScsICcxNzowMCcpOwotCi1k
ZWJ1ZygnSG91cnMsIDAtMTEnKTsKLXNldERhdGVUaW1lRm9ybWF0KCdLSzptbSBhJyk7Ci1zaG91
bGRCZUVxdWFsVG9TdHJpbmcoJ3N0ZXBVcCgiMTE6MDAiLCAxLCBudWxsLCBudWxsKScsICcwMDow
MCcpOwotc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdnZXRVc2VyQWdlbnRTaGFkb3dUZXh0Q29udGVu
dChpbnB1dCknLCAnMDA6MDAgQU0nKTsKLXNob3VsZEJlRXF1YWxUb1N0cmluZygnc3RlcERvd24o
IjAwOjAwIiwgMSwgbnVsbCwgbnVsbCknLCAnMTE6MDAnKTsKLXNob3VsZEJlRXF1YWxUb1N0cmlu
ZygnZ2V0VXNlckFnZW50U2hhZG93VGV4dENvbnRlbnQoaW5wdXQpJywgJzExOjAwIEFNJyk7Ci1z
aG91bGRCZUVxdWFsVG9TdHJpbmcoJ3N0ZXBVcCgiMjM6MDAiLCAxLCBudWxsLCBudWxsKScsICcx
MjowMCcpOwotc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdnZXRVc2VyQWdlbnRTaGFkb3dUZXh0Q29u
dGVudChpbnB1dCknLCAnMDA6MDAgUE0nKTsKLXNob3VsZEJlRXF1YWxUb1N0cmluZygnc3RlcERv
d24oIjEyOjAwIiwgMSwgbnVsbCwgbnVsbCknLCAnMjM6MDAnKTsKLXNob3VsZEJlRXF1YWxUb1N0
cmluZygnZ2V0VXNlckFnZW50U2hhZG93VGV4dENvbnRlbnQoaW5wdXQpJywgJzExOjAwIFBNJyk7
Ci1zaG91bGRCZUVxdWFsVG9TdHJpbmcoJ3Rlc3QoIjA2OjAwIiwgNzIwMCwgbnVsbCwgbnVsbCwg
WyJkZWxldGUiLCAidXBBcnJvdyJdKScsICcwMDowMCcpOwotc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCd0ZXN0KCIwNjowMCIsIDcyMDAsIG51bGwsIG51bGwsIFsiZGVsZXRlIiwgImRvd25BcnJvdyJd
KScsICcxMDowMCcpOwotc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCd0ZXN0KCIwNjowMCIsIDcyMDAs
ICIwMTowMCIsIG51bGwsIFsiZGVsZXRlIiwgInVwQXJyb3ciXSknLCAnMDE6MDAnKTsKLXNob3Vs
ZEJlRXF1YWxUb1N0cmluZygndGVzdCgiMDY6MDAiLCA3MjAwLCAiMDE6MDAiLCBudWxsLCBbImRl
bGV0ZSIsICJkb3duQXJyb3ciXSknLCAnMTE6MDAnKTsKLXNob3VsZEJlRXF1YWxUb1N0cmluZygn
c3RlcFVwKCIxNzowMCIsIDEsICIxNzowMCIsICIyMDowMCIpJywgJzE4OjAwJyk7Ci1zaG91bGRC
ZUVxdWFsVG9TdHJpbmcoJ3N0ZXBEb3duKCIxNzowMCIsIDEsICIxNzowMCIsICIyMDowMCIpJywg
JzIwOjAwJyk7Ci1zaG91bGRCZUVxdWFsVG9TdHJpbmcoJ3N0ZXBVcCgiMTc6MDAiLCAxLCAiMTU6
MDAiLCAiMTc6MDAiKScsICcxNTowMCcpOwotc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdzdGVwRG93
bigiMTc6MDAiLCAxLCAiMTU6MDAiLCAiMTc6MDAiKScsICcxNjowMCcpOwotc2hvdWxkQmVFcXVh
bFRvU3RyaW5nKCdzdGVwVXAoIjE1OjAwIiwgMSwgIjE3OjAwIiwgIjIwOjAwIiknLCAnMTc6MDAn
KTsKLXNob3VsZEJlRXF1YWxUb1N0cmluZygnc3RlcERvd24oIjE1OjAwIiwgMSwgIjE3OjAwIiwg
IjIwOjAwIiknLCAnMjA6MDAnKTsKLXNob3VsZEJlRXF1YWxUb1N0cmluZygnc3RlcFVwKCIxNTow
MCIsIDEsICIxMzowMCIsICIxMzowMCIpJywgJzEzOjAwJyk7Ci1zaG91bGRCZUVxdWFsVG9TdHJp
bmcoJ3N0ZXBEb3duKCIxNTowMCIsIDEsICIxMzowMCIsICIxMzowMCIpJywgJzEzOjAwJyk7Ci1z
aG91bGRCZUVxdWFsVG9TdHJpbmcoJ3N0ZXBVcCgiMTI6MDAiLCAxLCAiMTI6MDAiLCAiMTU6MDAi
KScsICcxMzowMCcpOwotc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdzdGVwRG93bigiMTI6MDAiLCAx
LCAiMTI6MDAiLCAiMTU6MDAiKScsICcxNTowMCcpOwotc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdz
dGVwVXAoIjE1OjAwIiwgMSwgIjEyOjAwIiwgIjE1OjAwIiknLCAnMTI6MDAnKTsKLXNob3VsZEJl
RXF1YWxUb1N0cmluZygnc3RlcERvd24oIjE1OjAwIiwgMSwgIjEyOjAwIiwgIjE1OjAwIiknLCAn
MTQ6MDAnKTsKLXNob3VsZEJlRXF1YWxUb1N0cmluZygnc3RlcFVwKCIxMjowMCIsIDEsICIxMDow
MCIsICIxMjowMCIpJywgJzEzOjAwJyk7Ci1zaG91bGRCZUVxdWFsVG9TdHJpbmcoJ3N0ZXBEb3du
KCIxMjowMCIsIDEsICIxMDowMCIsICIxMjowMCIpJywgJzIzOjAwJyk7Ci1zaG91bGRCZUVxdWFs
VG9TdHJpbmcoJ3N0ZXBVcCgiMDA6MDAiLCAxLCAiMDA6MDAiLCAiMDM6MDAiKScsICcwMTowMCcp
Owotc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdzdGVwRG93bigiMDA6MDAiLCAxLCAiMDA6MDAiLCAi
MDM6MDAiKScsICcwMzowMCcpOwotc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdzdGVwVXAoIjE1OjAw
IiwgMSwgIjEwOjAwIiwgIjE1OjAwIiknLCAnMTY6MDAnKTsKLXNob3VsZEJlRXF1YWxUb1N0cmlu
Zygnc3RlcERvd24oIjEwOjAwIiwgMSwgIjEwOjAwIiwgIjE1OjAwIiknLCAnMDk6MDAnKTsKLXNo
b3VsZEJlRXF1YWxUb1N0cmluZygnc3RlcFVwKCIyMDowMCIsIDcyMDAsICIxNzowMCIsICIyMDow
MCIpJywgJzE3OjAwJyk7Ci1zaG91bGRCZUVxdWFsVG9TdHJpbmcoJ3N0ZXBEb3duKCIyMDowMCIs
IDcyMDAsICIxNzowMCIsICIyMDowMCIpJywgJzE5OjAwJyk7Ci0KLWRlYnVnKCdIb3VycywgMC0y
MycpOwotc2V0RGF0ZVRpbWVGb3JtYXQoJ0hIOm1tJyk7Ci1zaG91bGRCZUVxdWFsVG9TdHJpbmco
J3N0ZXBVcCgiMDc6MDAiLCAxLCBudWxsLCBudWxsKScsICcwODowMCcpOwotc2hvdWxkQmVFcXVh
bFRvU3RyaW5nKCdzdGVwRG93bigiMDc6MDAiLCAxLCBudWxsLCBudWxsKScsICcwNjowMCcpOwot
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdzdGVwVXAoIjIzOjAwIiwgMSwgbnVsbCwgbnVsbCknLCAn
MDA6MDAnKTsKLXNob3VsZEJlRXF1YWxUb1N0cmluZygnc3RlcERvd24oIjAwOjAwIiwgMSwgbnVs
bCwgbnVsbCknLCAnMjM6MDAnKTsKLXNob3VsZEJlRXF1YWxUb1N0cmluZygnc3RlcFVwKCIwNjow
MCIsIDcyMDAsIG51bGwsIG51bGwpJywgJzA4OjAwJyk7Ci1zaG91bGRCZUVxdWFsVG9TdHJpbmco
J3N0ZXBEb3duKCIwNjowMCIsIDcyMDAsIG51bGwsIG51bGwpJywgJzA0OjAwJyk7Ci1zaG91bGRC
ZUVxdWFsVG9TdHJpbmcoJ3N0ZXBVcCgiMjI6MDAiLCA3MjAwLCBudWxsLCBudWxsKScsICcwMDow
MCcpOwotc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdzdGVwRG93bigiMDA6MDAiLCA3MjAwLCBudWxs
LCBudWxsKScsICcyMjowMCcpOwotc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdzdGVwVXAoIjA3OjAw
IiwgNzIwMCwgbnVsbCwgbnVsbCknLCAnMDg6MDAnKTsKLXNob3VsZEJlRXF1YWxUb1N0cmluZygn
c3RlcERvd24oIjA3OjAwIiwgNzIwMCwgbnVsbCwgbnVsbCknLCAnMDY6MDAnKTsKLXNob3VsZEJl
RXF1YWxUb1N0cmluZygnc3RlcFVwKCIwNjowMCIsIDM2MDEsIG51bGwsIG51bGwpJywgJzA3OjAw
Jyk7Ci1zaG91bGRCZUVxdWFsVG9TdHJpbmcoJ3N0ZXBEb3duKCIwNjowMCIsIDM2MDEsIG51bGws
IG51bGwpJywgJzA1OjAwJyk7Ci1zaG91bGRCZUVxdWFsVG9TdHJpbmcoJ3N0ZXBVcCgiMDY6MDAi
LCAwLCBudWxsLCBudWxsKScsICcwNzowMCcpOwotc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdzdGVw
RG93bigiMDY6MDAiLCAwLCBudWxsLCBudWxsKScsICcwNTowMCcpOwotc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCdzdGVwVXAoIjA2OjAwIiwgODY0MDAsIG51bGwsIG51bGwpJywgJzAwOjAwJyk7Ci1z
aG91bGRCZUVxdWFsVG9TdHJpbmcoJ3N0ZXBEb3duKCIwNjowMCIsIDg2NDAwLCBudWxsLCBudWxs
KScsICcwMDowMCcpOwotc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdzdGVwVXAoIjA2OjAwIiwgMzYw
MDAsIG51bGwsIG51bGwpJywgJzA3OjAwJyk7Ci1zaG91bGRCZUVxdWFsVG9TdHJpbmcoJ3N0ZXBE
b3duKCIwNjowMCIsIDM2MDAwLCBudWxsLCBudWxsKScsICcwNTowMCcpOwotc2hvdWxkQmVFcXVh
bFRvU3RyaW5nKCdzdGVwVXAoIjA2OjAwIiwgNzIwMCwgIjAxOjAwIiwgbnVsbCknLCAnMDc6MDAn
KTsKLXNob3VsZEJlRXF1YWxUb1N0cmluZygnc3RlcERvd24oIjA2OjAwIiwgNzIwMCwgIjAxOjAw
IiwgbnVsbCknLCAnMDU6MDAnKTsKLXNob3VsZEJlRXF1YWxUb1N0cmluZygndGVzdCgiMDY6MDAi
LCA3MjAwLCBudWxsLCBudWxsLCBbImRlbGV0ZSIsICJ1cEFycm93Il0pJywgJzAwOjAwJyk7Ci1z
aG91bGRCZUVxdWFsVG9TdHJpbmcoJ2dldFVzZXJBZ2VudFNoYWRvd1RleHRDb250ZW50KGlucHV0
KScsICcwMDowMCcpOwotc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCd0ZXN0KCIwNjowMCIsIDcyMDAs
IG51bGwsIG51bGwsIFsiZGVsZXRlIiwgImRvd25BcnJvdyJdKScsICcyMjowMCcpOwotc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCd0ZXN0KCIwNjowMCIsIDcyMDAsICIwMTowMCIsIG51bGwsIFsiZGVs
ZXRlIiwgInVwQXJyb3ciXSknLCAnMDE6MDAnKTsKLXNob3VsZEJlRXF1YWxUb1N0cmluZygndGVz
dCgiMDY6MDAiLCA3MjAwLCAiMDE6MDAiLCBudWxsLCBbImRlbGV0ZSIsICJkb3duQXJyb3ciXSkn
LCAnMjM6MDAnKTsKLXNob3VsZEJlRXF1YWxUb1N0cmluZygnc3RlcFVwKCIxNzowMCIsIDEsICIx
NzowMCIsICIyMDowMCIpJywgJzE4OjAwJyk7Ci1zaG91bGRCZUVxdWFsVG9TdHJpbmcoJ3N0ZXBE
b3duKCIxNzowMCIsIDEsICIxNzowMCIsICIyMDowMCIpJywgJzIwOjAwJyk7Ci1zaG91bGRCZUVx
dWFsVG9TdHJpbmcoJ3N0ZXBVcCgiMTc6MDAiLCAxLCAiMTU6MDAiLCAiMTc6MDAiKScsICcxNTow
MCcpOwotc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdzdGVwRG93bigiMTc6MDAiLCAxLCAiMTU6MDAi
LCAiMTc6MDAiKScsICcxNjowMCcpOwotc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdzdGVwVXAoIjE1
OjAwIiwgMSwgIjE3OjAwIiwgIjIwOjAwIiknLCAnMTc6MDAnKTsKLXNob3VsZEJlRXF1YWxUb1N0
cmluZygnc3RlcERvd24oIjE1OjAwIiwgMSwgIjE3OjAwIiwgIjIwOjAwIiknLCAnMjA6MDAnKTsK
LXNob3VsZEJlRXF1YWxUb1N0cmluZygnc3RlcFVwKCIxNTowMCIsIDEsICIxMzowMCIsICIxMzow
MCIpJywgJzEzOjAwJyk7Ci1zaG91bGRCZUVxdWFsVG9TdHJpbmcoJ3N0ZXBEb3duKCIxNTowMCIs
IDEsICIxMzowMCIsICIxMzowMCIpJywgJzEzOjAwJyk7Ci1zaG91bGRCZUVxdWFsVG9TdHJpbmco
J3N0ZXBVcCgiMDA6MDAiLCAxLCAiMDA6MDAiLCAiMDM6MDAiKScsICcwMTowMCcpOwotc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCdzdGVwRG93bigiMDA6MDAiLCAxLCAiMDA6MDAiLCAiMDM6MDAiKScs
ICcwMzowMCcpOwotc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdzdGVwVXAoIjAzOjAwIiwgMSwgIjAw
OjAwIiwgIjAzOjAwIiknLCAnMDA6MDAnKTsKLXNob3VsZEJlRXF1YWxUb1N0cmluZygnc3RlcERv
d24oIjAzOjAwIiwgMSwgIjAwOjAwIiwgIjAzOjAwIiknLCAnMDI6MDAnKTsKLXNob3VsZEJlRXF1
YWxUb1N0cmluZygnc3RlcFVwKCIxMjowMCIsIDEsICIxMDowMCIsICIxMjowMCIpJywgJzEwOjAw
Jyk7Ci1zaG91bGRCZUVxdWFsVG9TdHJpbmcoJ3N0ZXBEb3duKCIxMjowMCIsIDEsICIxMDowMCIs
ICIxMjowMCIpJywgJzExOjAwJyk7Ci1zaG91bGRCZUVxdWFsVG9TdHJpbmcoJ3N0ZXBVcCgiMDA6
MDAiLCAxLCAiMDA6MDAiLCAiMDM6MDAiKScsICcwMTowMCcpOwotc2hvdWxkQmVFcXVhbFRvU3Ry
aW5nKCdzdGVwRG93bigiMDA6MDAiLCAxLCAiMDA6MDAiLCAiMDM6MDAiKScsICcwMzowMCcpOwot
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdzdGVwVXAoIjE1OjAwIiwgMSwgIjEwOjAwIiwgIjE1OjAw
IiknLCAnMTA6MDAnKTsKLXNob3VsZEJlRXF1YWxUb1N0cmluZygnc3RlcERvd24oIjEwOjAwIiwg
MSwgIjEwOjAwIiwgIjE1OjAwIiknLCAnMTU6MDAnKTsKLXNob3VsZEJlRXF1YWxUb1N0cmluZygn
c3RlcFVwKCIyMDowMCIsIDcyMDAsICIxNzowMCIsICIyMDowMCIpJywgJzE3OjAwJyk7Ci1zaG91
bGRCZUVxdWFsVG9TdHJpbmcoJ3N0ZXBEb3duKCIyMDowMCIsIDcyMDAsICIxNzowMCIsICIyMDow
MCIpJywgJzE5OjAwJyk7Ci0KLWRlYnVnKCdIb3VycywgMS0yNCcpOwotc2V0RGF0ZVRpbWVGb3Jt
YXQoJ2trOm1tJyk7Ci1zaG91bGRCZUVxdWFsVG9TdHJpbmcoJ3N0ZXBVcCgiMTE6MDAiLCAxLCBu
dWxsLCBudWxsKScsICcxMjowMCcpOwotc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdnZXRVc2VyQWdl
bnRTaGFkb3dUZXh0Q29udGVudChpbnB1dCknLCAnMTI6MDAnKTsKLXNob3VsZEJlRXF1YWxUb1N0
cmluZygnc3RlcERvd24oIjAwOjAwIiwgMSwgbnVsbCwgbnVsbCknLCAnMjM6MDAnKTsKLXNob3Vs
ZEJlRXF1YWxUb1N0cmluZygnZ2V0VXNlckFnZW50U2hhZG93VGV4dENvbnRlbnQoaW5wdXQpJywg
JzIzOjAwJyk7Ci1zaG91bGRCZUVxdWFsVG9TdHJpbmcoJ3N0ZXBVcCgiMjM6MDAiLCAxLCBudWxs
LCBudWxsKScsICcwMDowMCcpOwotc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdnZXRVc2VyQWdlbnRT
aGFkb3dUZXh0Q29udGVudChpbnB1dCknLCAnMjQ6MDAnKTsKLXNob3VsZEJlRXF1YWxUb1N0cmlu
Zygnc3RlcERvd24oIjEyOjAwIiwgMSwgbnVsbCwgbnVsbCknLCAnMTE6MDAnKTsKLXNob3VsZEJl
RXF1YWxUb1N0cmluZygnZ2V0VXNlckFnZW50U2hhZG93VGV4dENvbnRlbnQoaW5wdXQpJywgJzEx
OjAwJyk7Ci1zaG91bGRCZUVxdWFsVG9TdHJpbmcoJ3Rlc3QoIjA2OjAwIiwgNzIwMCwgbnVsbCwg
bnVsbCwgWyJkZWxldGUiLCAidXBBcnJvdyJdKScsICcwMjowMCcpOwotc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCd0ZXN0KCIwNjowMCIsIDcyMDAsIG51bGwsIG51bGwsIFsiZGVsZXRlIiwgImRvd25B
cnJvdyJdKScsICcwMDowMCcpOwotc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCd0ZXN0KCIwNjowMCIs
IDcyMDAsICIwMTowMCIsIG51bGwsIFsiZGVsZXRlIiwgInVwQXJyb3ciXSknLCAnMDE6MDAnKTsK
LXNob3VsZEJlRXF1YWxUb1N0cmluZygndGVzdCgiMDY6MDAiLCA3MjAwLCAiMDE6MDAiLCBudWxs
LCBbImRlbGV0ZSIsICJkb3duQXJyb3ciXSknLCAnMjM6MDAnKTsKLXNob3VsZEJlRXF1YWxUb1N0
cmluZygnc3RlcFVwKCIxNzowMCIsIDEsICIxNzowMCIsICIyMDowMCIpJywgJzE4OjAwJyk7Ci1z
aG91bGRCZUVxdWFsVG9TdHJpbmcoJ3N0ZXBEb3duKCIxNzowMCIsIDEsICIxNzowMCIsICIyMDow
MCIpJywgJzIwOjAwJyk7Ci1zaG91bGRCZUVxdWFsVG9TdHJpbmcoJ3N0ZXBVcCgiMTc6MDAiLCAx
LCAiMTU6MDAiLCAiMTc6MDAiKScsICcxNTowMCcpOwotc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdz
dGVwRG93bigiMTc6MDAiLCAxLCAiMTU6MDAiLCAiMTc6MDAiKScsICcxNjowMCcpOwotc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCdzdGVwVXAoIjE1OjAwIiwgMSwgIjE3OjAwIiwgIjIwOjAwIiknLCAn
MTc6MDAnKTsKLXNob3VsZEJlRXF1YWxUb1N0cmluZygnc3RlcERvd24oIjE1OjAwIiwgMSwgIjE3
OjAwIiwgIjIwOjAwIiknLCAnMjA6MDAnKTsKLXNob3VsZEJlRXF1YWxUb1N0cmluZygnc3RlcFVw
KCIxNTowMCIsIDEsICIxMzowMCIsICIxMzowMCIpJywgJzEzOjAwJyk7Ci1zaG91bGRCZUVxdWFs
VG9TdHJpbmcoJ3N0ZXBEb3duKCIxNTowMCIsIDEsICIxMzowMCIsICIxMzowMCIpJywgJzEzOjAw
Jyk7Ci1zaG91bGRCZUVxdWFsVG9TdHJpbmcoJ3N0ZXBVcCgiMDA6MDAiLCAxLCAiMDA6MDAiLCAi
MDM6MDAiKScsICcwMTowMCcpOwotc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdzdGVwRG93bigiMDA6
MDAiLCAxLCAiMDA6MDAiLCAiMDM6MDAiKScsICcyMzowMCcpOwotc2hvdWxkQmVFcXVhbFRvU3Ry
aW5nKCdzdGVwVXAoIjAzOjAwIiwgMSwgIjAwOjAwIiwgIjAzOjAwIiknLCAnMDQ6MDAnKTsKLXNo
b3VsZEJlRXF1YWxUb1N0cmluZygnc3RlcERvd24oIjAzOjAwIiwgMSwgIjAwOjAwIiwgIjAzOjAw
IiknLCAnMDI6MDAnKTsKLXNob3VsZEJlRXF1YWxUb1N0cmluZygnc3RlcFVwKCIxMjowMCIsIDEs
ICIxMDowMCIsICIxMjowMCIpJywgJzEwOjAwJyk7Ci1zaG91bGRCZUVxdWFsVG9TdHJpbmcoJ3N0
ZXBEb3duKCIxMjowMCIsIDEsICIxMDowMCIsICIxMjowMCIpJywgJzExOjAwJyk7Ci1zaG91bGRC
ZUVxdWFsVG9TdHJpbmcoJ3N0ZXBVcCgiMDA6MDAiLCAxLCAiMDA6MDAiLCAiMDM6MDAiKScsICcw
MTowMCcpOwotc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdzdGVwRG93bigiMDA6MDAiLCAxLCAiMDA6
MDAiLCAiMDM6MDAiKScsICcyMzowMCcpOwotc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdzdGVwVXAo
IjE1OjAwIiwgMSwgIjEwOjAwIiwgIjE1OjAwIiknLCAnMTA6MDAnKTsKLXNob3VsZEJlRXF1YWxU
b1N0cmluZygnc3RlcERvd24oIjEwOjAwIiwgMSwgIjEwOjAwIiwgIjE1OjAwIiknLCAnMTU6MDAn
KTsKLXNob3VsZEJlRXF1YWxUb1N0cmluZygnc3RlcFVwKCIxNzowMCIsIDcyMDAsICIxNzowMCIs
ICIyMDowMCIpJywgJzE5OjAwJyk7Ci1zaG91bGRCZUVxdWFsVG9TdHJpbmcoJ3N0ZXBEb3duKCIx
NzowMCIsIDcyMDAsICIxNzowMCIsICIyMDowMCIpJywgJzE5OjAwJyk7Ci1zaG91bGRCZUVxdWFs
VG9TdHJpbmcoJ3N0ZXBVcCgiMTc6MDAiLCA3MjAwLCAiMTc6MDAiLCAiMTg6MDAiKScsICcxNzow
MCcpOwotc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdzdGVwRG93bigiMTc6MDAiLCA3MjAwLCAiMTc6
MDAiLCAiMTg6MDAiKScsICcxNzowMCcpOwotCi1zZXREYXRlVGltZUZvcm1hdCgnJyk7Ci1kZWJ1
ZygnJyk7Ci1kb2N1bWVudC5ib2R5LnJlbW92ZUNoaWxkKGlucHV0KTsKLTwvc2NyaXB0PgotPHNj
cmlwdCBzcmM9Ii4uLy4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0Pgot
PC9ib2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy90aW1l
LW11bHRpcGxlLWZpZWxkcy90aW1lLW11bHRpcGxlLWZpZWxkcy10YWJpbmRleC1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3RpbWUtbXVsdGlwbGUtZmllbGRzL3RpbWUtbXVs
dGlwbGUtZmllbGRzLXRhYmluZGV4LWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDY1Yjg3OTUxZWYwNWUyMTYxZmYyN2Q2YTc1MTliY2RiZWE2MTM3YS4uMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0
L2Zvcm1zL3RpbWUtbXVsdGlwbGUtZmllbGRzL3RpbWUtbXVsdGlwbGUtZmllbGRzLXRhYmluZGV4
LWV4cGVjdGVkLnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDE4ICswLDAgQEAKLUZvcndvcmQ6Ci1Q
QVNTIGV2ZW50U2VuZGVyLmtleURvd24odGFiKTsgZG9jdW1lbnQuYWN0aXZlRWxlbWVudC5pZCBp
cyAidGFiaW5kZXgyMC0xIgotUEFTUyBldmVudFNlbmRlci5rZXlEb3duKHRhYik7IGRvY3VtZW50
LmFjdGl2ZUVsZW1lbnQuaWQgaXMgInRpbWUtd2l0aC10YWJpbmRleDIwIgotUEFTUyBzaGFkb3dS
b290LmFjdGl2ZUVsZW1lbnQuZ2V0QXR0cmlidXRlKCJwc2V1ZG8iKSBpcyBmaXJzdFN1YkZpZWxk
Ci1QQVNTIGV2ZW50U2VuZGVyLmtleURvd24odGFiKTsgZXZlbnRTZW5kZXIua2V5RG93bih0YWIp
OyBzaGFkb3dSb290LmFjdGl2ZUVsZW1lbnQuZ2V0QXR0cmlidXRlKCJwc2V1ZG8iKSBpcyBsYXN0
U3ViRmllbGQKLVBBU1MgZXZlbnRTZW5kZXIua2V5RG93bih0YWIpOyBkb2N1bWVudC5hY3RpdmVF
bGVtZW50LmlkIGlzICJ0YWJpbmRleDIwLTMiCi1QQVNTIGV2ZW50U2VuZGVyLmtleURvd24odGFi
KTsgZG9jdW1lbnQuYWN0aXZlRWxlbWVudC5pZCBpcyAidGFiaW5kZXgzMCIKLQotQmFja3dvcmQ6
Ci1QQVNTIGV2ZW50U2VuZGVyLmtleURvd24odGFiLCBzaGlmdCk7IGRvY3VtZW50LmFjdGl2ZUVs
ZW1lbnQuaWQgaXMgInRhYmluZGV4MjAtMyIKLVBBU1MgZXZlbnRTZW5kZXIua2V5RG93bih0YWIs
IHNoaWZ0KTsgZG9jdW1lbnQuYWN0aXZlRWxlbWVudC5pZCBpcyAidGltZS13aXRoLXRhYmluZGV4
MjAiCi1QQVNTIHNoYWRvd1Jvb3QuYWN0aXZlRWxlbWVudC5nZXRBdHRyaWJ1dGUoInBzZXVkbyIp
IGlzIGxhc3RTdWJGaWVsZAotUEFTUyBldmVudFNlbmRlci5rZXlEb3duKHRhYiwgc2hpZnQpOyBl
dmVudFNlbmRlci5rZXlEb3duKHRhYiwgc2hpZnQpOyBzaGFkb3dSb290LmFjdGl2ZUVsZW1lbnQu
Z2V0QXR0cmlidXRlKCJwc2V1ZG8iKSBpcyBmaXJzdFN1YkZpZWxkCi1QQVNTIGV2ZW50U2VuZGVy
LmtleURvd24odGFiLCBzaGlmdCk7IGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQuaWQgaXMgInRhYmlu
ZGV4MjAtMSIKLVBBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKLQotVEVTVCBDT01QTEVU
RQotICAgIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy90aW1lLW11bHRpcGxl
LWZpZWxkcy90aW1lLW11bHRpcGxlLWZpZWxkcy10YWJpbmRleC5odG1sIGIvTGF5b3V0VGVzdHMv
ZmFzdC9mb3Jtcy90aW1lLW11bHRpcGxlLWZpZWxkcy90aW1lLW11bHRpcGxlLWZpZWxkcy10YWJp
bmRleC5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA3ODQ3ZjczZTJkZGE4NDBl
OWQwMTE5ODgxYjgyYTZjYjczYTFiMWY3Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvdGltZS1tdWx0aXBsZS1maWVs
ZHMvdGltZS1tdWx0aXBsZS1maWVsZHMtdGFiaW5kZXguaHRtbAorKysgL2Rldi9udWxsCkBAIC0x
LDQ1ICswLDAgQEAKLTwhRE9DVFlQRSBodG1sPgotPGh0bWw+Ci08Ym9keT4KLTxzY3JpcHQgc3Jj
PSIuLi8uLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBz
cmM9Ii4uL3Jlc291cmNlcy9jb21tb24uanMiPjwvc2NyaXB0PgotCi08aW5wdXQgaWQ9InRhYmlu
ZGV4MzAiIHRhYmluZGV4PSIzMCI+Ci08aW5wdXQgaWQ9InRhYmluZGV4MjAtMSIgdGFiaW5kZXg9
IjIwIj4KLTxpbnB1dCBpZD0idGltZS13aXRoLXRhYmluZGV4MjAiIHRhYmluZGV4PSIyMCIgdHlw
ZT0idGltZSI+Ci08aW5wdXQgaWQ9InRhYmluZGV4MjAtMyIgdGFiaW5kZXg9IjIwIj4KLTxpbnB1
dCBpZD0idGFiaW5kZXgxMCIgdGFiaW5kZXg9IjEwIj4KLQotPHNjcmlwdD4KLWlmICghd2luZG93
LmV2ZW50U2VuZGVyIHx8ICF3aW5kb3cuaW50ZXJuYWxzKQotICAgIGRlYnVnKCdUaGlzIHJlcXVp
cmVzIERSVC9XUlQuJyk7Ci0KLXZhciBmaXJzdFN1YkZpZWxkID0gIi13ZWJraXQtZGF0ZXRpbWUt
ZWRpdC1ob3VyLWZpZWxkIjsKLXZhciBsYXN0U3ViRmllbGQgPSAiLXdlYmtpdC1kYXRldGltZS1l
ZGl0LWFtcG0tZmllbGQiOwotdmFyIHRhYiA9ICdcdCc7Ci12YXIgc2hpZnQgPSBbJ3NoaWZ0S2V5
J107Ci0KLSQoJ3RhYmluZGV4MTAnKS5mb2N1cygpOwotdmFyIHNoYWRvd1Jvb3QgPSBpbnRlcm5h
bHMueW91bmdlc3RTaGFkb3dSb290KCQoJ3RpbWUtd2l0aC10YWJpbmRleDIwJykpOwotCi1kZWJ1
ZygnRm9yd29yZDonKTsKLXNob3VsZEJlRXF1YWxUb1N0cmluZygnZXZlbnRTZW5kZXIua2V5RG93
bih0YWIpOyBkb2N1bWVudC5hY3RpdmVFbGVtZW50LmlkJywgJ3RhYmluZGV4MjAtMScpOwotc2hv
dWxkQmVFcXVhbFRvU3RyaW5nKCdldmVudFNlbmRlci5rZXlEb3duKHRhYik7IGRvY3VtZW50LmFj
dGl2ZUVsZW1lbnQuaWQnLCAndGltZS13aXRoLXRhYmluZGV4MjAnKTsKLXNob3VsZEJlKCdzaGFk
b3dSb290LmFjdGl2ZUVsZW1lbnQuZ2V0QXR0cmlidXRlKCJwc2V1ZG8iKScsICdmaXJzdFN1YkZp
ZWxkJyk7Ci1zaG91bGRCZSgnZXZlbnRTZW5kZXIua2V5RG93bih0YWIpOyBldmVudFNlbmRlci5r
ZXlEb3duKHRhYik7IHNoYWRvd1Jvb3QuYWN0aXZlRWxlbWVudC5nZXRBdHRyaWJ1dGUoInBzZXVk
byIpJywgJ2xhc3RTdWJGaWVsZCcpOwotc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdldmVudFNlbmRl
ci5rZXlEb3duKHRhYik7IGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQuaWQnLCAndGFiaW5kZXgyMC0z
Jyk7Ci1zaG91bGRCZUVxdWFsVG9TdHJpbmcoJ2V2ZW50U2VuZGVyLmtleURvd24odGFiKTsgZG9j
dW1lbnQuYWN0aXZlRWxlbWVudC5pZCcsICd0YWJpbmRleDMwJyk7Ci0KLWRlYnVnKCcnKTsKLWRl
YnVnKCdCYWNrd29yZDonKTsKLXNob3VsZEJlRXF1YWxUb1N0cmluZygnZXZlbnRTZW5kZXIua2V5
RG93bih0YWIsIHNoaWZ0KTsgZG9jdW1lbnQuYWN0aXZlRWxlbWVudC5pZCcsICd0YWJpbmRleDIw
LTMnKTsKLXNob3VsZEJlRXF1YWxUb1N0cmluZygnZXZlbnRTZW5kZXIua2V5RG93bih0YWIsIHNo
aWZ0KTsgZG9jdW1lbnQuYWN0aXZlRWxlbWVudC5pZCcsICd0aW1lLXdpdGgtdGFiaW5kZXgyMCcp
Owotc2hvdWxkQmUoJ3NoYWRvd1Jvb3QuYWN0aXZlRWxlbWVudC5nZXRBdHRyaWJ1dGUoInBzZXVk
byIpJywgJ2xhc3RTdWJGaWVsZCcpOwotc2hvdWxkQmUoJ2V2ZW50U2VuZGVyLmtleURvd24odGFi
LCBzaGlmdCk7IGV2ZW50U2VuZGVyLmtleURvd24odGFiLCBzaGlmdCk7IHNoYWRvd1Jvb3QuYWN0
aXZlRWxlbWVudC5nZXRBdHRyaWJ1dGUoInBzZXVkbyIpJywgJ2ZpcnN0U3ViRmllbGQnKTsKLXNo
b3VsZEJlRXF1YWxUb1N0cmluZygnZXZlbnRTZW5kZXIua2V5RG93bih0YWIsIHNoaWZ0KTsgZG9j
dW1lbnQuYWN0aXZlRWxlbWVudC5pZCcsICd0YWJpbmRleDIwLTEnKTsKLQotCi08L3NjcmlwdD4K
LTxzY3JpcHQgc3JjPSIuLi8uLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3Njcmlw
dD4KLTwvYm9keT4KLTwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMv
dGltZS1tdWx0aXBsZS1maWVsZHMvdGltZS1tdWx0aXBsZS1maWVsZHMtdmFsaWRpdHktYmFkaW5w
dXQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy90aW1lLW11bHRpcGxlLWZp
ZWxkcy90aW1lLW11bHRpcGxlLWZpZWxkcy12YWxpZGl0eS1iYWRpbnB1dC1leHBlY3RlZC50eHQK
ZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDQ4MGY1NjFmMjI2YzU5YTQ0MTdjYmJlM2U2
NjkxN2U5ODNkMDQ3ZTYuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAK
LS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy90aW1lLW11bHRpcGxlLWZpZWxkcy90aW1lLW11
bHRpcGxlLWZpZWxkcy12YWxpZGl0eS1iYWRpbnB1dC1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVs
bApAQCAtMSwxNSArMCwwIEBACi1BIHRpbWUgaW5wdXQgZmllbGRzIHdpdGggYSBiYWQgdXNlciBp
bnB1dCBzaG91bGQgbWFrZSB2YWxpZGl0eS5iYWRJbnB1dCB0cnVlIGFuZCBoYXZlIDppbnZhbGlk
IHN0eWxlLgotCi1PbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1l
c3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCi0KLQotSW5pdGlhbCBzdGF0ZS4g
VGhlIGVsbWVudCBoYXMgbm8gdmFsdWUuCi1QQVNTIGNvbG9yT2YoaW5wdXQpIGlzIG5vdCBpbnZh
bGlkU3R5bGVDb2xvcgotUEFTUyBpbnB1dC52YWxpZGl0eS5iYWRJbnB1dCBpcyBmYWxzZQotU2V0
IGEgdmFsdWUgdG8gdGhlIGZpcnN0IHN1Yi1maWVsZC4gVGhlIGVsZW1lbnQgYmVjb21lcyBiYWRJ
bnB1dC4KLVBBU1MgY29sb3JPZihpbnB1dCkgaXMgaW52YWxpZFN0eWxlQ29sb3IKLVBBU1MgaW5w
dXQudmFsaWRpdHkuYmFkSW5wdXQgaXMgdHJ1ZQotUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMg
dHJ1ZQotCi1URVNUIENPTVBMRVRFCi0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZm9y
bXMvdGltZS1tdWx0aXBsZS1maWVsZHMvdGltZS1tdWx0aXBsZS1maWVsZHMtdmFsaWRpdHktYmFk
aW5wdXQuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvdGltZS1tdWx0aXBsZS1maWVsZHMv
dGltZS1tdWx0aXBsZS1maWVsZHMtdmFsaWRpdHktYmFkaW5wdXQuaHRtbApkZWxldGVkIGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggODI4MGYwZTgxMzdiYjc0ZDYwZTIwMzI2Y2UyMmIxMGM5NDZhYjI0
Mi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRU
ZXN0cy9mYXN0L2Zvcm1zL3RpbWUtbXVsdGlwbGUtZmllbGRzL3RpbWUtbXVsdGlwbGUtZmllbGRz
LXZhbGlkaXR5LWJhZGlucHV0Lmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSwxNCArMCwwIEBACi08
IURPQ1RZUEUgaHRtbD4KLTxzdHlsZT4KLTppbnZhbGlkIHsKLSAgICBiYWNrZ3JvdW5kLWNvbG9y
OiAjZmYwMDAwOwotfQotPC9zdHlsZT4KLTxib2R5PgotPHNjcmlwdCBzcmM9Ii4uLy4uL2pzL3Jl
c291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iLi4vcmVzb3Vy
Y2VzL211bHRpcGxlLWZpZWxkcy12YWxpZGl0eS1iYWRpbnB1dC5qcyI+PC9zY3JpcHQ+Ci08c2Ny
aXB0PgotdGVzdEJhZElucHV0KCd0aW1lJyk7Ci08L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIuLi8u
Li9qcy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KLTwvYm9keT4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvdGltZS1tdWx0aXBsZS1maWVsZHMvdGltZS1t
dWx0aXBsZS1maWVsZHMtdmFsdWUtc2V0LWVtcHR5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2Zhc3QvZm9ybXMvdGltZS1tdWx0aXBsZS1maWVsZHMvdGltZS1tdWx0aXBsZS1maWVsZHMtdmFs
dWUtc2V0LWVtcHR5LWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
YTdiYjJiYmQ0M2Y2MGU2OWIyNGNlMDY3NmNhOTk2ZThiYzM2NzE3Yi4uMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3Rp
bWUtbXVsdGlwbGUtZmllbGRzL3RpbWUtbXVsdGlwbGUtZmllbGRzLXZhbHVlLXNldC1lbXB0eS1l
eHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSwxOSArMCwwIEBACi1DaGVjayBpZiBpbnB1
dC52YWx1ZT0iIiBjbGVhcnMgYW4gaW5wdXQgd2l0aCBwYXJ0aWFsbHktc3BlY2lmaWVkIHZhbHVl
LgotCi1PbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2Vz
LCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCi0KLQotRW1wdHkgdGV4dDogLS06LS0gLS0K
LVBBU1MgZXZlbnRTZW5kZXIua2V5RG93bigidXBBcnJvdyIpOyBnZXRVc2VyQWdlbnRTaGFkb3dU
ZXh0Q29udGVudChpbnB1dCkgaXMgbm90IGVtcHR5VGV4dAotUEFTUyBpbnB1dC52YWx1ZSA9ICIi
OyBnZXRVc2VyQWdlbnRTaGFkb3dUZXh0Q29udGVudChpbnB1dCkgaXMgZW1wdHlUZXh0Ci0KLUlu
aXRpYWwgdGV4dDogLS06LS06NDUgLS0KLUVtcHR5IHZhbHVlIHNob3VsZCBub3QgY2xlYXIgcmVh
ZC1vbmx5IGZpZWxkcy4KLVBBU1MgaW5wdXQudmFsdWUgPSAiIjsgZ2V0VXNlckFnZW50U2hhZG93
VGV4dENvbnRlbnQoaW5wdXQpIGlzICItLTotLTo0NSAtLSIKLUVtcHR5IHZhbHVlIHNob3VsZCBj
bGVhciBvbmx5IGVkaXRhYmxlIGZpZWxkcy4KLVBBU1MgZXZlbnRTZW5kZXIua2V5RG93bigidXBB
cnJvdyIpOyBnZXRVc2VyQWdlbnRTaGFkb3dUZXh0Q29udGVudChpbnB1dCkgaXMgIjAxOi0tOjQ1
IC0tIgotUEFTUyBpbnB1dC52YWx1ZSA9ICIiOyBnZXRVc2VyQWdlbnRTaGFkb3dUZXh0Q29udGVu
dChpbnB1dCkgaXMgIi0tOi0tOjQ1IC0tIgotUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1
ZQotCi1URVNUIENPTVBMRVRFCi0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMv
dGltZS1tdWx0aXBsZS1maWVsZHMvdGltZS1tdWx0aXBsZS1maWVsZHMtdmFsdWUtc2V0LWVtcHR5
Lmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3RpbWUtbXVsdGlwbGUtZmllbGRzL3RpbWUt
bXVsdGlwbGUtZmllbGRzLXZhbHVlLXNldC1lbXB0eS5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCBhZjNhMzFiZjFjOGY2NTIxNTUyZmQ0OGVlYTY4NzE3ZmM0NWUwOWNmLi4wMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2Zh
c3QvZm9ybXMvdGltZS1tdWx0aXBsZS1maWVsZHMvdGltZS1tdWx0aXBsZS1maWVsZHMtdmFsdWUt
c2V0LWVtcHR5Lmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSwyNyArMCwwIEBACi08IURPQ1RZUEUg
aHRtbD4KLTxib2R5PgotPHNjcmlwdCBzcmM9Ii4uLy4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXBy
ZS5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL2NvbW1vbi5qcyI+PC9z
Y3JpcHQ+Ci08c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL211bHRpcGxlLWZpZWxkcy12YWx1ZS1z
ZXQtZW1wdHkuanMiPjwvc2NyaXB0PgotPHNjcmlwdD4KLXRlc3RTZXR0aW5nRW1wdHlTdHJpbmdD
bGVhcnNTdWJGaWVsZHMoJ3RpbWUnKTsKLQotZGVidWcoJycpOwotaW5wdXQgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KCdpbnB1dCcpOwotaW5wdXQudHlwZSA9ICd0aW1lJzsKLWlucHV0Lm1pbiA9
ICcxMToyMzo0NSc7Ci1pbnB1dC5zdGVwID0gJzYwJzsKLS8vIEJlY2F1c2UgdGhlIHN0ZXAgdmFs
dWUgaXMgNjAgc2Vjb25kcywgdGhlIHNlY29uZHMgZmllbGRzIGlzIHJlYWQtb25seS4KLWRvY3Vt
ZW50LmJvZHkuYXBwZW5kQ2hpbGQoaW5wdXQpOwotZGVidWcoJ0luaXRpYWwgdGV4dDogJyArIGdl
dFVzZXJBZ2VudFNoYWRvd1RleHRDb250ZW50KGlucHV0KSk7Ci1kZWJ1ZygnRW1wdHkgdmFsdWUg
c2hvdWxkIG5vdCBjbGVhciByZWFkLW9ubHkgZmllbGRzLicpOwotc2hvdWxkQmVFcXVhbFRvU3Ry
aW5nKCdpbnB1dC52YWx1ZSA9ICIiOyBnZXRVc2VyQWdlbnRTaGFkb3dUZXh0Q29udGVudChpbnB1
dCknLCAnLS06LS06NDUgLS0nKTsKLQotZGVidWcoJ0VtcHR5IHZhbHVlIHNob3VsZCBjbGVhciBv
bmx5IGVkaXRhYmxlIGZpZWxkcy4nKTsKLWlucHV0LmZvY3VzKCk7Ci1zaG91bGRCZUVxdWFsVG9T
dHJpbmcoJ2V2ZW50U2VuZGVyLmtleURvd24oInVwQXJyb3ciKTsgZ2V0VXNlckFnZW50U2hhZG93
VGV4dENvbnRlbnQoaW5wdXQpJywgJzAxOi0tOjQ1IC0tJyk7Ci1zaG91bGRCZUVxdWFsVG9TdHJp
bmcoJ2lucHV0LnZhbHVlID0gIiI7IGdldFVzZXJBZ2VudFNoYWRvd1RleHRDb250ZW50KGlucHV0
KScsICctLTotLTo0NSAtLScpOwotCi08L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIuLi8uLi9qcy9y
ZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KLTwvYm9keT4KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvdGltZS1tdWx0aXBsZS1maWVsZHMvdGltZS1tdWx0aXBs
ZS1maWVsZHMtd2hlZWwtZXZlbnQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jt
cy90aW1lLW11bHRpcGxlLWZpZWxkcy90aW1lLW11bHRpcGxlLWZpZWxkcy13aGVlbC1ldmVudC1l
eHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGViODA1N2EzNjc2OGM3
ZWM1MzkwMWEyYzUyMDUxZmNjYWM1YTQwODAuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy90aW1lLW11bHRpcGxlLWZp
ZWxkcy90aW1lLW11bHRpcGxlLWZpZWxkcy13aGVlbC1ldmVudC1leHBlY3RlZC50eHQKKysrIC9k
ZXYvbnVsbApAQCAtMSwyMyArMCwwIEBACi1UZXN0IGZvciB3aGVlbCBvcGVyYXRpb25zIGZvciA8
aW5wdXQgdHlwZT10aW1lPgotCi1PbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2Yg
IlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCi0KLQotSW5pdGlh
bCB2YWx1ZSBpcyAwNzowMC4gV2UnbGwgd2hlZWwgdXAgYnkgMToKLVBBU1MgaW5wdXQudmFsdWUg
aXMgIjA4OjAwIgotV2hlZWwgdXAgYnkgMTAwOgotUEFTUyBpbnB1dC52YWx1ZSBpcyAiMDk6MDAi
Ci1XaGVlbCBkb3duIGJ5IDE6Ci1QQVNTIGlucHV0LnZhbHVlIGlzICIwODowMCIKLVdoZWVsIGRv
d24gYnkgMjU2OgotUEFTUyBpbnB1dC52YWx1ZSBpcyAiMDc6MDAiCi1EaXNhYmxlZCBpbnB1dCBl
bGVtZW50OgotUEFTUyBpbnB1dC52YWx1ZSBpcyAiMDc6MDAiCi1SZWFkLW9ubHkgaW5wdXQgZWxl
bWVudDoKLVBBU1MgaW5wdXQudmFsdWUgaXMgIjA3OjAwIgotTm8gZm9jdXM6Ci1QQVNTIGlucHV0
LnZhbHVlIGlzICIwNzowMCIKLVBBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKLQotVEVT
VCBDT01QTEVURQotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3RpbWUtbXVs
dGlwbGUtZmllbGRzL3RpbWUtbXVsdGlwbGUtZmllbGRzLXdoZWVsLWV2ZW50Lmh0bWwgYi9MYXlv
dXRUZXN0cy9mYXN0L2Zvcm1zL3RpbWUtbXVsdGlwbGUtZmllbGRzL3RpbWUtbXVsdGlwbGUtZmll
bGRzLXdoZWVsLWV2ZW50Lmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDBkMTk0
NTY2MTUwYjNlYzM0NjkxOGUzZTdmZmY0ODBjZGNiNmRmYzIuLjAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy90aW1lLW11
bHRpcGxlLWZpZWxkcy90aW1lLW11bHRpcGxlLWZpZWxkcy13aGVlbC1ldmVudC5odG1sCisrKyAv
ZGV2L251bGwKQEAgLTEsMTcgKzAsMCBAQAotPCFET0NUWVBFIGh0bWw+Ci08aHRtbD4KLTxoZWFk
PgotPHNjcmlwdCBzcmM9Ii4uLy4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpz
Ij48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvY29tbW9uLXdoZWVsLWV2ZW50
LmpzIj48L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5PgotPHNjcmlwdD4KLXRlc3RXaGVlbEV2ZW50
KHsKLSAgICAnaW5wdXRUeXBlJyA6ICd0aW1lJywKLSAgICAnaW5pdGlhbFZhbHVlJyA6ICcwNzow
MCcsCi0gICAgJ3N0ZXBVcFZhbHVlMScgOiAnMDg6MDAnLAotICAgICdzdGVwVXBWYWx1ZTInIDog
JzA5OjAwJyB9KTsKLTwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii4uLy4uLy4uL2Zhc3QvanMvcmVz
b3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Ci08L2JvZHk+Ci08L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3dlZWstbXVsdGlwbGUtZmllbGRzL3Jlc291
cmNlcy9wcmVzZXJ2ZS12YWx1ZS1hZnRlci1oaXN0b3J5LWJhY2stZnJhbWUuaHRtbCBiL0xheW91
dFRlc3RzL2Zhc3QvZm9ybXMvd2Vlay1tdWx0aXBsZS1maWVsZHMvcmVzb3VyY2VzL3ByZXNlcnZl
LXZhbHVlLWFmdGVyLWhpc3RvcnktYmFjay1mcmFtZS5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCA4NDJkOGFmOGEzZDcxMDY1MmQ1NDM2NTE2MzY5YjhmOTM1MGE0ZWU4Li4wMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2Zh
c3QvZm9ybXMvd2Vlay1tdWx0aXBsZS1maWVsZHMvcmVzb3VyY2VzL3ByZXNlcnZlLXZhbHVlLWFm
dGVyLWhpc3RvcnktYmFjay1mcmFtZS5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsOTcgKzAsMCBA
QAotPCFET0NUWVBFIGh0bWw+Ci08Ym9keT4KLTxpbnB1dCB0eXBlPSJ3ZWVrIiBpZD0idGVzdDEi
PgotPGlucHV0IHR5cGU9IndlZWsiIGlkPSJ0ZXN0MiIgbWluPSIxOTk4LVcwMSIgbWF4PSIxOTk5
LVcxMiI+Ci08c2NyaXB0PgotZnVuY3Rpb24gZmllbGRzVGV4dChpbnB1dCkgewotICAgIHJldHVy
biB3aW5kb3cuaW50ZXJuYWxzLm9sZGVzdFNoYWRvd1Jvb3QoaW5wdXQpLnRleHRDb250ZW50Owot
fQotCi1mdW5jdGlvbiBiYWNrKG5ld1N0YXRlKSB7Ci0gICAgcGFyZW50LnN0YXRlID0gbmV3U3Rh
dGU7Ci0gICAgaGlzdG9yeS5iYWNrKCk7Ci19Ci0KLWZ1bmN0aW9uIGZvcndhcmQobmV3U3RhdGUp
IHsKLSAgICBwYXJlbnQuc3RhdGUgPSBuZXdTdGF0ZTsKLSAgICBoaXN0b3J5LmZvcndhcmQoKTsK
LX0KLQotZnVuY3Rpb24ga2V5RG93bihrZXkpIHsKLSAgICBldmVudFNlbmRlci5rZXlEb3duKGtl
eSk7Ci19Ci0KLXZhciB0ZXN0SW5wdXQxID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3Rlc3Qx
Jyk7Ci12YXIgdGVzdElucHV0MiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCd0ZXN0MicpOwot
dmFyIHBhZ2VOYW1lID0gbG9jYXRpb24uc2VhcmNoIHx8ICc/cGFnZTEnOwotCi13aW5kb3cub25s
b2FkID0gZnVuY3Rpb24oKSB7Ci0gICAgc3dpdGNoIChwYWdlTmFtZSkgewotICAgIGNhc2UgJz9w
YWdlMSc6Ci0gICAgICAgIHN3aXRjaCAocGFyZW50LnN0YXRlKSB7Ci0gICAgICAgIGNhc2UgJ2Rp
cmVjdCc6IHsKLSAgICAgICAgICAgIHRlc3RJbnB1dDEudmFsdWUgPSAnMTIwMTItVzEwJzsKLSAg
ICAgICAgICAgIHRlc3RJbnB1dDIuZm9jdXMoKTsKLSAgICAgICAgICAgIGtleURvd24oJ3VwQXJy
b3cnKTsgLy8gLT4gV2VlayBbMDFdLCB5eXl5Ci0gICAgICAgICAgICB2YXIgbmV4dFVyaSA9IGxv
Y2F0aW9uLnRvU3RyaW5nKCkucmVwbGFjZSgnP3BhZ2UxJywgJz9wYWdlMicpOwotICAgICAgICAg
ICAgc2V0VGltZW91dChmdW5jdGlvbigpIHsgd2luZG93LmxvY2F0aW9uLmhyZWYgPSBuZXh0VXJp
OyB9LCAwKTsKLSAgICAgICAgICAgIGJyZWFrOwotICAgICAgICB9Ci0gICAgICAgIGNhc2UgJ2Jh
Y2tUbzEnOgotICAgICAgICAgICAgcGFyZW50LnRlc3RDYXNlcy5wdXNoKAotICAgICAgICAgICAg
ICAgIHsKLSAgICAgICAgICAgICAgICAgICAgJ2Rlc2NyaXB0aW9uJyA6ICdXZW50IGJhY2sgdG8g
YSBwYWdlLiBDaGVja2luZyBhIGZvcm0gY29udHJvbCB3aGljaCBoYWQgYSBmdWxsIHZhbHVlJywK
LSAgICAgICAgICAgICAgICAgICAgJ2FjdHVhbCcgOiB0ZXN0SW5wdXQxLnZhbHVlLAotICAgICAg
ICAgICAgICAgICAgICAnZXhwZWN0ZWQnIDogJzEyMDEyLVcxMCcgfSwKLSAgICAgICAgICAgICAg
ICB7Ci0gICAgICAgICAgICAgICAgICAgICdkZXNjcmlwdGlvbicgOiAnV2VudCBiYWNrIHRvIGEg
cGFnZS4gQ2hlY2tpbmcgYSBmb3JtIGNvbnRyb2wgd2hpY2ggaGFkIGEgcGFydGlhbCB2YWx1ZScs
Ci0gICAgICAgICAgICAgICAgICAgICdhY3R1YWwnIDogZmllbGRzVGV4dCh0ZXN0SW5wdXQyKSwK
LSAgICAgICAgICAgICAgICAgICAgJ2V4cGVjdGVkJyA6ICdXZWVrIDAxLCAtLS0tJwotICAgICAg
ICAgICAgICAgIH0pOwotICAgICAgICAgICAgZm9yd2FyZCgnZm9yd2FyZFRvMicpOwotICAgICAg
ICAgICAgYnJlYWs7Ci0gICAgICAgIGNhc2UgJ2JhY2tUbzFTZWNvbmQnOgotICAgICAgICAgICAg
cGFyZW50LmZpbmlzaFRlc3QoKTsKLSAgICAgICAgICAgIGJyZWFrOwotICAgICAgICBkZWZhdWx0
OgotICAgICAgICAgICAgcGFyZW50LmZhaWxlZCgnVW5leHBlY3RlZCBzdGF0ZSgnICsgcGFyZW50
LnN0YXRlICsgJyknKTsKLSAgICAgICAgICAgIGJyZWFrOwotICAgICAgICB9Ci0gICAgICAgIGJy
ZWFrOwotCi0gICAgY2FzZSAnP3BhZ2UyJzoKLSAgICAgICAgc3dpdGNoIChwYXJlbnQuc3RhdGUp
IHsKLSAgICAgICAgY2FzZSAnZGlyZWN0JzoKLSAgICAgICAgICAgIHRlc3RJbnB1dDEudmFsdWUg
PSAnMDAwMS1XMTEnOwotICAgICAgICAgICAgdGVzdElucHV0Mi5mb2N1cygpOwotICAgICAgICAg
ICAga2V5RG93bignXHQnKTsgLy8gICAgICAgIC0+IFdlZWsgd3csIFt5eXl5XQotICAgICAgICAg
ICAga2V5RG93bignZG93bkFycm93Jyk7IC8vIC0+IFdlZWsgd3csIFsxOTk5XQotICAgICAgICAg
ICAgYmFjaygnYmFja1RvMScpOwotICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgIGNhc2UgJ2Zv
cndhcmRUbzInOgotICAgICAgICAgICAgcGFyZW50LnRlc3RDYXNlcy5wdXNoKAotICAgICAgICAg
ICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAgJ2Rlc2NyaXB0aW9uJyA6ICdXZW50IGZvcndh
cmQgdG8gYSBwYWdlLiBDaGVja2luZyBhIGZvcm0gY29udHJvbCB3aGljaCBoYWQgYSBmdWxsIHZh
bHVlJywKLSAgICAgICAgICAgICAgICAgICAgJ2FjdHVhbCcgOiB0ZXN0SW5wdXQxLnZhbHVlLAot
ICAgICAgICAgICAgICAgICAgICAnZXhwZWN0ZWQnIDogJzAwMDEtVzExJwotICAgICAgICAgICAg
ICAgIH0sCi0gICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICAnZGVzY3JpcHRp
b24nIDogJ1dlbnQgZm9yd2FyZCB0byBhIHBhZ2UuIENoZWNraW5nIGEgZm9ybSBjb250cm9sIHdo
aWNoIGhhZCBhIHBhcnRpYWwgdmFsdWUnLAotICAgICAgICAgICAgICAgICAgICAnYWN0dWFsJyA6
IGZpZWxkc1RleHQodGVzdElucHV0MiksCi0gICAgICAgICAgICAgICAgICAgICdleHBlY3RlZCcg
OiAnV2VlayAtLSwgMTk5OScKLSAgICAgICAgICAgICAgICB9KTsKLSAgICAgICAgICAgIGJhY2so
J2JhY2tUbzFTZWNvbmQnKTsKLSAgICAgICAgICAgIGJyZWFrOwotICAgICAgICBkZWZhdWx0Ogot
ICAgICAgICAgICAgcGFyZW50LmZhaWxlZCgnVW5leHBlY3RlZCBzdGF0ZSgnICsgcGFyZW50LnN0
YXRlICsgJyknKTsKLSAgICAgICAgICAgIGJyZWFrOwotICAgICAgICB9Ci0gICAgICAgIGJyZWFr
OwotCi0gICAgZGVmYXVsdDoKLSAgICAgICAgcGFyZW50LmZhaWxlZCgnVW5leHBlY3RlZCBwYWdl
KCcgKyBwYWdlTmFtZSArICcpJyk7Ci0gICAgICAgIGJyZWFrOwotICAgIH0KLX07Ci08L3Njcmlw
dD4KLTwvYm9keT4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvd2Vlay1tdWx0
aXBsZS1maWVsZHMvd2Vlay1tdWx0aXBsZS1maWVsZHMtYXgtYXJpYS1hdHRyaWJ1dGVzLWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvd2Vlay1tdWx0aXBsZS1maWVsZHMvd2Vl
ay1tdWx0aXBsZS1maWVsZHMtYXgtYXJpYS1hdHRyaWJ1dGVzLWV4cGVjdGVkLnR4dApkZWxldGVk
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggOWQxOTJjM2E1ZDk4N2I0MmY4OTE0ZjBlMjhhNDFhMDA0
MzBiODJmNS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9M
YXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3dlZWstbXVsdGlwbGUtZmllbGRzL3dlZWstbXVsdGlwbGUt
ZmllbGRzLWF4LWFyaWEtYXR0cmlidXRlcy1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAt
MSwxNiArMCwwIEBACi1UaGlzIHRlc3QgY2hlY2tzIGFyaWEtaGVscCBhdHRyaWJ1dGUgb2YgZmll
bGRzIGluIG11bHRpcGxlIGZpZWxkcyB3ZWVrIGlucHV0IFVJLgotCi1PbiBzdWNjZXNzLCB5b3Ug
d2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBD
T01QTEVURSIuCi0KLQotTm9uLWVtcHR5IHZhbHVlCi1QQVNTIGZvY3VzZWRGaWVsZFZhbHVlRGVz
Y3JpcHRpb24oKSBpcyAiQVhIZWxwOiBXZWVrLCBBWFZhbHVlRGVzY3JpcHRpb246IDEwLCAxLCA1
MyIKLVBBU1MgZm9jdXNlZEZpZWxkVmFsdWVEZXNjcmlwdGlvbigpIGlzICJBWEhlbHA6IFllYXIs
IEFYVmFsdWVEZXNjcmlwdGlvbjogMjAxMiwgMSwgMjc1NzYwIgotRW1wdHkgdmFsdWUKLVBBU1Mg
Zm9jdXNlZEZpZWxkVmFsdWVEZXNjcmlwdGlvbigpIGlzICJBWEhlbHA6IFllYXIsIEFYVmFsdWVE
ZXNjcmlwdGlvbjogYmxhbmssIDEsIDI3NTc2MCIKLVBBU1MgZm9jdXNlZEZpZWxkVmFsdWVEZXNj
cmlwdGlvbigpIGlzICJBWEhlbHA6IFdlZWssIEFYVmFsdWVEZXNjcmlwdGlvbjogYmxhbmssIDEs
IDUzIgotCi1QQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCi0KLVRFU1QgQ09NUExFVEUK
LQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy93ZWVrLW11bHRpcGxlLWZpZWxk
cy93ZWVrLW11bHRpcGxlLWZpZWxkcy1heC1hcmlhLWF0dHJpYnV0ZXMuaHRtbCBiL0xheW91dFRl
c3RzL2Zhc3QvZm9ybXMvd2Vlay1tdWx0aXBsZS1maWVsZHMvd2Vlay1tdWx0aXBsZS1maWVsZHMt
YXgtYXJpYS1hdHRyaWJ1dGVzLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGIy
NTA2NjVhZGRhYWM5ZmIwMjdhZjRkYWQ1MDE2ZWQyN2QwNjkwZDUuLjAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy93ZWVr
LW11bHRpcGxlLWZpZWxkcy93ZWVrLW11bHRpcGxlLWZpZWxkcy1heC1hcmlhLWF0dHJpYnV0ZXMu
aHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDQxICswLDAgQEAKLTwhRE9DVFlQRSBodG1sPgotPGh0
bWw+Ci08aGVhZD4KLTxzY3JpcHQgc3JjPSIuLi8uLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10
ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keT4KLTxpbnB1dCBpZD0idGVzdCIg
dHlwZT0id2VlayIgdmFsdWU9IjIwMTItVzEwIj4KLTxzY3JpcHQ+Ci1kZXNjcmlwdGlvbignVGhp
cyB0ZXN0IGNoZWNrcyBhcmlhLWhlbHAgYXR0cmlidXRlIG9mIGZpZWxkcyBpbiBtdWx0aXBsZSBm
aWVsZHMgd2VlayBpbnB1dCBVSS4nKTsKLQotZnVuY3Rpb24gZm9jdXNlZEZpZWxkVmFsdWVEZXNj
cmlwdGlvbigpCi17Ci0gICAgdmFyIGVsZW1lbnQgPSBhY2Nlc3NpYmlsaXR5Q29udHJvbGxlci5m
b2N1c2VkRWxlbWVudDsKLSAgICByZXR1cm4gZWxlbWVudC5oZWxwVGV4dCArICcsICcgKyAgZWxl
bWVudC52YWx1ZURlc2NyaXB0aW9uICsgJywgJyArIGVsZW1lbnQubWluVmFsdWUgKyAnLCAnICsg
ZWxlbWVudC5tYXhWYWx1ZTsKLX0KLQotdmFyIHRlc3RJbnB1dCA9IGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCd0ZXN0Jyk7Ci0KLWlmICghd2luZG93LmFjY2Vzc2liaWxpdHlDb250cm9sbGVyIHx8
ICF3aW5kb3cuZXZlbnRTZW5kZXIpCi0gICAgZGVidWcoJ1BsZWFzZSBydW4gaW5zaWRlIERSVCBv
ciBXVFIuJyk7Ci1lbHNlIHsKLSAgICBkZWJ1ZygnTm9uLWVtcHR5IHZhbHVlJyk7Ci0gICAgdGVz
dElucHV0LmZvY3VzKCk7Ci0gICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdmb2N1c2VkRmllbGRW
YWx1ZURlc2NyaXB0aW9uKCknLCAnQVhIZWxwOiBXZWVrLCBBWFZhbHVlRGVzY3JpcHRpb246IDEw
LCAxLCA1MycpOwotICAgIGV2ZW50U2VuZGVyLmtleURvd24oJ1x0Jyk7Ci0gICAgc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCdmb2N1c2VkRmllbGRWYWx1ZURlc2NyaXB0aW9uKCknLCAnQVhIZWxwOiBZ
ZWFyLCBBWFZhbHVlRGVzY3JpcHRpb246IDIwMTIsIDEsIDI3NTc2MCcpOwotCi0gICAgZGVidWco
J0VtcHR5IHZhbHVlJyk7Ci0gICAgZXZlbnRTZW5kZXIua2V5RG93bignXGInKTsKLSAgICBzaG91
bGRCZUVxdWFsVG9TdHJpbmcoJ2ZvY3VzZWRGaWVsZFZhbHVlRGVzY3JpcHRpb24oKScsICdBWEhl
bHA6IFllYXIsIEFYVmFsdWVEZXNjcmlwdGlvbjogYmxhbmssIDEsIDI3NTc2MCcpOwotICAgIGV2
ZW50U2VuZGVyLmtleURvd24oJ1x0JywgWydzaGlmdEtleSddKTsKLSAgICBldmVudFNlbmRlci5r
ZXlEb3duKCdcYicpOwotICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygnZm9jdXNlZEZpZWxkVmFs
dWVEZXNjcmlwdGlvbigpJywgJ0FYSGVscDogV2VlaywgQVhWYWx1ZURlc2NyaXB0aW9uOiBibGFu
aywgMSwgNTMnKTsKLQotICAgIGRlYnVnKCcnKTsKLSAgICB0ZXN0SW5wdXQucmVtb3ZlKCk7Ci19
Ci08L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIuLi8uLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10
ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgotPC9ib2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZmFzdC9mb3Jtcy93ZWVrLW11bHRpcGxlLWZpZWxkcy93ZWVrLW11bHRpcGxlLWZp
ZWxkcy1heC12YWx1ZS1jaGFuZ2VkLW5vdGlmaWNhdGlvbi1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9mYXN0L2Zvcm1zL3dlZWstbXVsdGlwbGUtZmllbGRzL3dlZWstbXVsdGlwbGUtZmllbGRz
LWF4LXZhbHVlLWNoYW5nZWQtbm90aWZpY2F0aW9uLWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggM2I3YThhOWQ5ZmRkZmRlMzUyMTBhZDYwN2RiNTdkYWU1ZDllMWQx
OS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRU
ZXN0cy9mYXN0L2Zvcm1zL3dlZWstbXVsdGlwbGUtZmllbGRzL3dlZWstbXVsdGlwbGUtZmllbGRz
LWF4LXZhbHVlLWNoYW5nZWQtbm90aWZpY2F0aW9uLWV4cGVjdGVkLnR4dAorKysgL2Rldi9udWxs
CkBAIC0xLDE2ICswLDAgQEAKLVRoaXMgdGVzdCBjaGVja3MgdmFsdWUgY2hhbmdlZCBhY2Nlc3Np
YmlsaXR5IG5vdGlmaWNhdGlvbnMuCi0KLU9uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmll
cyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KLQotCi1G
b2N1c2VkVUlFbGVtZW50Q2hhbmdlZCBBWEhlbHA6IFdlZWs9QVhWYWx1ZURlc2NyaXB0aW9uOiAx
MAotRm9jdXNlZFVJRWxlbWVudENoYW5nZWQgQVhIZWxwOiBZZWFyPUFYVmFsdWVEZXNjcmlwdGlv
bjogMjAxMgotVmFsdWVDaGFuZ2VkIEFYSGVscDogWWVhcj1BWFZhbHVlRGVzY3JpcHRpb246IDAw
MDUKLVZhbHVlQ2hhbmdlZCBBWEhlbHA6IFllYXI9QVhWYWx1ZURlc2NyaXB0aW9uOiAwMDA1Ci1W
YWx1ZUNoYW5nZWQgQVhIZWxwOiBZZWFyPUFYVmFsdWVEZXNjcmlwdGlvbjogMDAwNQotVmFsdWVD
aGFuZ2VkIEFYSGVscDogWWVhcj1BWFZhbHVlRGVzY3JpcHRpb246IDAwMDUKLQotUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQotCi1URVNUIENPTVBMRVRFCi0KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2Zhc3QvZm9ybXMvd2Vlay1tdWx0aXBsZS1maWVsZHMvd2Vlay1tdWx0aXBsZS1m
aWVsZHMtYXgtdmFsdWUtY2hhbmdlZC1ub3RpZmljYXRpb24uaHRtbCBiL0xheW91dFRlc3RzL2Zh
c3QvZm9ybXMvd2Vlay1tdWx0aXBsZS1maWVsZHMvd2Vlay1tdWx0aXBsZS1maWVsZHMtYXgtdmFs
dWUtY2hhbmdlZC1ub3RpZmljYXRpb24uaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMjA5Yzg4MDRhOGVlYjZlZjRhMmVmOTYwYTM3ZDcyNWY4YjliNjhjMS4uMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1z
L3dlZWstbXVsdGlwbGUtZmllbGRzL3dlZWstbXVsdGlwbGUtZmllbGRzLWF4LXZhbHVlLWNoYW5n
ZWQtbm90aWZpY2F0aW9uLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSwzOCArMCwwIEBACi08IURP
Q1RZUEUgaHRtbD4KLTxodG1sPgotPGhlYWQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vLi4vZmFzdC9q
cy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHk+Ci08
aW5wdXQgaWQ9InRlc3QiIHR5cGU9IndlZWsiIHZhbHVlPSIyMDEyLVcxMCI+Ci08c2NyaXB0Pgot
ZGVzY3JpcHRpb24oJ1RoaXMgdGVzdCBjaGVja3MgdmFsdWUgY2hhbmdlZCBhY2Nlc3NpYmlsaXR5
IG5vdGlmaWNhdGlvbnMuJyk7Ci0KLXZhciB0ZXN0SW5wdXQgPSBkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgidGVzdCIpOwotCi1pZiAoIXdpbmRvdy5hY2Nlc3NpYmlsaXR5Q29udHJvbGxlciB8fCAh
d2luZG93LmV2ZW50U2VuZGVyKQotICAgIGRlYnVnKCJQbGVhc2UgcnVuIGluc2lkZSBEUlQgb3Ig
V1JULiIpOwotZWxzZSB7Ci0gICAgYWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIuYWRkTm90aWZpY2F0
aW9uTGlzdGVuZXIoZnVuY3Rpb24gKGVsZW1lbnQsIG5vdGlmaWNhdGlvbikgewotICAgICAgICBp
ZiAobm90aWZpY2F0aW9uID09ICdGb2N1c2VkVUlFbGVtZW50Q2hhbmdlZCcgfHwgbm90aWZpY2F0
aW9uID09ICdWYWx1ZUNoYW5nZWQnKSB7Ci0gICAgICAgICAgICBkZWJ1Zyhub3RpZmljYXRpb24g
KyAnICcgKyBlbGVtZW50LmhlbHBUZXh0ICsgJz0nICsgZWxlbWVudC52YWx1ZURlc2NyaXB0aW9u
KTsKLSAgICAgICAgfQotICAgIH0pOwotCi0gICAgdGVzdElucHV0LmZvY3VzKCk7Ci0gICAgZXZl
bnRTZW5kZXIua2V5RG93bignXHQnKTsKLSAgICBldmVudFNlbmRlci5rZXlEb3duKCc0Jyk7Ci0g
ICAgZXZlbnRTZW5kZXIua2V5RG93bigndXBBcnJvdycpOwotCi0gICAgd2luZG93LmpzVGVzdElz
QXN5bmMgPSB0cnVlOwotCi0gICAgd2luZG93LnNldFRpbWVvdXQoZnVuY3Rpb24oKSB7Ci0gICAg
ICAgIGRlYnVnKCcnKTsKLSAgICAgICAgdGVzdElucHV0LnJlbW92ZSgpOwotICAgICAgICBmaW5p
c2hKU1Rlc3QoKTsKLSAgICB9LCAxKTsKLX0KLTwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii4uLy4u
Ly4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Ci08L2JvZHk+
Ci08L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3dlZWstbXVsdGlw
bGUtZmllbGRzL3dlZWstbXVsdGlwbGUtZmllbGRzLWJsdXItYW5kLWZvY3VzLWV2ZW50cy1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3dlZWstbXVsdGlwbGUtZmllbGRzL3dl
ZWstbXVsdGlwbGUtZmllbGRzLWJsdXItYW5kLWZvY3VzLWV2ZW50cy1leHBlY3RlZC50eHQKZGVs
ZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGE2OGNhMDQzMWE1Y2U2MzBmOGZhYWIzMzYxNGYy
ZTVkM2RlNDYzZmMuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0t
IGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy93ZWVrLW11bHRpcGxlLWZpZWxkcy93ZWVrLW11bHRp
cGxlLWZpZWxkcy1ibHVyLWFuZC1mb2N1cy1ldmVudHMtZXhwZWN0ZWQudHh0CisrKyAvZGV2L251
bGwKQEAgLTEsMTcgKzAsMCBAQAotQ2hlY2sgYmx1ciBhbmQgZm9jdXMgZXZlbnRzIGZvciBtdWx0
aXBsZSBmaWVsZHMgd2VlayBpbnB1dCBVSQotCi1PbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBz
ZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCi0K
LQotZm9jdXMoKSBhbmQgYmx1cigpCi1QQVNTIHRlc3RJbnB1dC5mb2N1cygpOyBzdGF0ZSgpIGlz
ICJibHVyPTAgZm9jdXM9MSIKLVBBU1MgdGVzdElucHV0LmJsdXIoKTsgc3RhdGUoKSBpcyAiYmx1
cj0xIGZvY3VzPTEiCi1mb2N1cyBhbmQgVGFiIGtleSB0byBibHVyCi1QQVNTIGtleURvd24oIgki
KTsgc3RhdGUoKSBpcyAiYmx1cj0wIGZvY3VzPTEiCi1QQVNTIGtleURvd24oIgkiKTsgc3RhdGUo
KSBpcyAiYmx1cj0wIGZvY3VzPTEiCi1QQVNTIGtleURvd24oIgkiKTsgc3RhdGUoKSBpcyAiYmx1
cj0xIGZvY3VzPTEiCi0KLVBBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKLQotVEVTVCBD
T01QTEVURQotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3dlZWstbXVsdGlw
bGUtZmllbGRzL3dlZWstbXVsdGlwbGUtZmllbGRzLWJsdXItYW5kLWZvY3VzLWV2ZW50cy5odG1s
IGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy93ZWVrLW11bHRpcGxlLWZpZWxkcy93ZWVrLW11bHRp
cGxlLWZpZWxkcy1ibHVyLWFuZC1mb2N1cy1ldmVudHMuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggZDhjNmRjZTJjZGQyMDc1NGQzMjEwZjFhZDFmNDI1MTU1ZjdmY2NlMy4uMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9m
YXN0L2Zvcm1zL3dlZWstbXVsdGlwbGUtZmllbGRzL3dlZWstbXVsdGlwbGUtZmllbGRzLWJsdXIt
YW5kLWZvY3VzLWV2ZW50cy5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsMTIgKzAsMCBAQAotPCFE
T0NUWVBFIGh0bWw+Ci08aHRtbD4KLTxib2R5PgotPHNjcmlwdCBzcmM9Ii4uLy4uL2pzL3Jlc291
cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2Vz
L211bHRpcGxlLWZpZWxkcy1ibHVyLWFuZC1mb2N1cy1ldmVudHMuanMiPjwvc2NyaXB0PgotPGRp
diBpZD0iY29udGFpbmVyIj48L2Rpdj4KLTxzY3JpcHQ+Ci1zdGFydFRlc3RGb3IoJ3dlZWsnKTsK
LTwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii4uLy4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXBvc3Qu
anMiPjwvc2NyaXB0PgotPC9ib2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZmFzdC9mb3Jtcy93ZWVrLW11bHRpcGxlLWZpZWxkcy93ZWVrLW11bHRpcGxlLWZpZWxkcy1jaGFu
Z2UtbGF5b3V0LWJ5LXZhbHVlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMv
d2Vlay1tdWx0aXBsZS1maWVsZHMvd2Vlay1tdWx0aXBsZS1maWVsZHMtY2hhbmdlLWxheW91dC1i
eS12YWx1ZS1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGYxNDcw
Njg3OWFlMmFmOGQwYjNhNDEyMzQ4Y2JjZGJjNjdkM2ViOTguLjAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy93ZWVrLW11
bHRpcGxlLWZpZWxkcy93ZWVrLW11bHRpcGxlLWZpZWxkcy1jaGFuZ2UtbGF5b3V0LWJ5LXZhbHVl
LWV4cGVjdGVkLnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDExICswLDAgQEAKLUNoYW5nZSBtdWx0
aXBsZSBmaWVsZHMgd2VlayBpbnB1dCBVSSBsYXlvdXQgYnkgdmFsdWUKLQotT24gc3VjY2Vzcywg
eW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRF
U1QgQ09NUExFVEUiLgotCi0KLVBBU1Mgd2lkdGhPZkVtcHR5VmFsdWUgPCB3aWR0aE9mT3ZlcmZs
b3dWYWx1ZSBpcyB0cnVlCi1QQVNTIHdpZHRoT2ZFbXB0eVZhbHVlIGlzIHdpZHRoT2ZWYWxpZFZh
bHVlCi1QQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCi0KLVRFU1QgQ09NUExFVEUKLQpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy93ZWVrLW11bHRpcGxlLWZpZWxkcy93
ZWVrLW11bHRpcGxlLWZpZWxkcy1jaGFuZ2UtbGF5b3V0LWJ5LXZhbHVlLmh0bWwgYi9MYXlvdXRU
ZXN0cy9mYXN0L2Zvcm1zL3dlZWstbXVsdGlwbGUtZmllbGRzL3dlZWstbXVsdGlwbGUtZmllbGRz
LWNoYW5nZS1sYXlvdXQtYnktdmFsdWUuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMzhkOTM4Y2M0MjY4NDRjNmQ1YmU5ZjdjZTBkYjgzOGYwY2JkZWY0Ny4uMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1z
L3dlZWstbXVsdGlwbGUtZmllbGRzL3dlZWstbXVsdGlwbGUtZmllbGRzLWNoYW5nZS1sYXlvdXQt
YnktdmFsdWUuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDI1ICswLDAgQEAKLTwhRE9DVFlQRSBo
dG1sPgotPGh0bWw+Ci08Ym9keT4KLTxzY3JpcHQgc3JjPSIuLi8uLi9qcy9yZXNvdXJjZXMvanMt
dGVzdC1wcmUuanMiPjwvc2NyaXB0PgotPHNjcmlwdD4KLWRlc2NyaXB0aW9uKCdDaGFuZ2UgbXVs
dGlwbGUgZmllbGRzIHdlZWsgaW5wdXQgVUkgbGF5b3V0IGJ5IHZhbHVlJyk7Ci12YXIgdGVzdElu
cHV0ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnaW5wdXQnKTsKLXRlc3RJbnB1dC50eXBlID0g
J3dlZWsnOwotdGVzdElucHV0Lm1heCA9ICc5OTk5LVc1Mic7Ci1kb2N1bWVudC5ib2R5LmFwcGVu
ZENoaWxkKHRlc3RJbnB1dCk7Ci12YXIgd2lkdGhPZkVtcHR5VmFsdWUgPSB0ZXN0SW5wdXQub2Zm
c2V0V2lkdGg7Ci0KLXRlc3RJbnB1dC52YWx1ZSA9ICcxMDAwMC1XMDEnOwotdmFyIHdpZHRoT2ZP
dmVyZmxvd1ZhbHVlID0gdGVzdElucHV0Lm9mZnNldFdpZHRoOwotc2hvdWxkQmVUcnVlKCd3aWR0
aE9mRW1wdHlWYWx1ZSA8IHdpZHRoT2ZPdmVyZmxvd1ZhbHVlJyk7Ci0KLXRlc3RJbnB1dC52YWx1
ZSA9ICcyMDEyLVcxMCc7Ci12YXIgd2lkdGhPZlZhbGlkVmFsdWUgPSB0ZXN0SW5wdXQub2Zmc2V0
V2lkdGg7Ci1zaG91bGRCZSgnd2lkdGhPZkVtcHR5VmFsdWUnLCAnd2lkdGhPZlZhbGlkVmFsdWUn
KTsKLQotdGVzdElucHV0LnJlbW92ZSgpOwotPC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4v
anMvcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Ci08L2JvZHk+Ci08L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3dlZWstbXVsdGlwbGUtZmllbGRz
L3dlZWstbXVsdGlwbGUtZmllbGRzLWNsZWFyYnV0dG9uLWNoYW5nZS1hbmQtaW5wdXQtZXZlbnRz
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvd2Vlay1tdWx0aXBsZS1maWVs
ZHMvd2Vlay1tdWx0aXBsZS1maWVsZHMtY2xlYXJidXR0b24tY2hhbmdlLWFuZC1pbnB1dC1ldmVu
dHMtZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAxNTJmMTJjYWUx
ZGI3YmNhYTdlYTI0ZTVmOTc0NWFhNmRhM2NjOThiLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvd2Vlay1tdWx0aXBs
ZS1maWVsZHMvd2Vlay1tdWx0aXBsZS1maWVsZHMtY2xlYXJidXR0b24tY2hhbmdlLWFuZC1pbnB1
dC1ldmVudHMtZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEsMTkgKzAsMCBAQAotVGVz
dCBmb3IgZXZlbnQgZGlzcGF0Y2hpbmcgYnkgc3BpbiBidXR0b25zIGluIGEgdHlwZT13ZWVrIGlu
cHV0LgotCi1PbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3Nh
Z2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCi0KLQotSW5pdGlhbCBzdGF0ZQotUEFT
UyBjaGFuZ2VFdmVudENvdW50ZXIgaXMgMAotUEFTUyBpbnB1dEV2ZW50Q291bnRlciBpcyAwCi1D
bGljayB0aGUgY2xlYXIgYnV0dG9uCi1QQVNTIHRlc3RJbnB1dC52YWx1ZSBpcyAiIgotUEFTUyBj
aGFuZ2VFdmVudENvdW50ZXIgaXMgMQotUEFTUyBpbnB1dEV2ZW50Q291bnRlciBpcyAxCi1Gb2N1
cyBvbiBhbm90aGVyIGZpZWxkCi1QQVNTIGNoYW5nZUV2ZW50Q291bnRlciBpcyAxCi1QQVNTIGlu
cHV0RXZlbnRDb3VudGVyIGlzIDEKLVBBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKLQot
VEVTVCBDT01QTEVURQotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3dlZWst
bXVsdGlwbGUtZmllbGRzL3dlZWstbXVsdGlwbGUtZmllbGRzLWNsZWFyYnV0dG9uLWNoYW5nZS1h
bmQtaW5wdXQtZXZlbnRzLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3dlZWstbXVsdGlw
bGUtZmllbGRzL3dlZWstbXVsdGlwbGUtZmllbGRzLWNsZWFyYnV0dG9uLWNoYW5nZS1hbmQtaW5w
dXQtZXZlbnRzLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGQ2YjQxZTUxNzIz
Mjg5ZjhhZmYwYWFhYmQ0MTJmNGEyYjcxNTBiZmQuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy93ZWVrLW11bHRpcGxl
LWZpZWxkcy93ZWVrLW11bHRpcGxlLWZpZWxkcy1jbGVhcmJ1dHRvbi1jaGFuZ2UtYW5kLWlucHV0
LWV2ZW50cy5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsMTQgKzAsMCBAQAotPCFET0NUWVBFIGh0
bWw+Ci08aHRtbD4KLTxoZWFkPgotPHNjcmlwdCBzcmM9Ii4uLy4uLy4uL2Zhc3QvanMvcmVzb3Vy
Y2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMv
Y29tbW9uLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvY29tbW9uLWNs
ZWFyYnV0dG9uLWNoYW5nZS1hbmQtaW5wdXQtZXZlbnRzLmpzIj48L3NjcmlwdD4KLTwvaGVhZD4K
LTxib2R5PgotPHNjcmlwdD4KLXRlc3RDbGVhckJ1dHRvbkNoYW5nZUFuZElucHV0RXZlbnRzKCd3
ZWVrJywgJzIwMTItVzEwJyk7Ci08L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIuLi8uLi8uLi9mYXN0
L2pzL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgotPC9ib2R5PgotPC9odG1s
PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy93ZWVrLW11bHRpcGxlLWZpZWxk
cy93ZWVrLW11bHRpcGxlLWZpZWxkcy1jbGVhcmJ1dHRvbi12aXNpYmlsaXR5LWFmdGVyLXJlc3Rv
cmUtZXhwZWN0ZWQuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvd2Vlay1tdWx0aXBsZS1m
aWVsZHMvd2Vlay1tdWx0aXBsZS1maWVsZHMtY2xlYXJidXR0b24tdmlzaWJpbGl0eS1hZnRlci1y
ZXN0b3JlLWV4cGVjdGVkLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDZmMDhm
MWM1NmM1NDE4MGM4NjIwNmQyZjNlNzk2ZDU5OTUxZTFmMGYuLjAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy93ZWVrLW11
bHRpcGxlLWZpZWxkcy93ZWVrLW11bHRpcGxlLWZpZWxkcy1jbGVhcmJ1dHRvbi12aXNpYmlsaXR5
LWFmdGVyLXJlc3RvcmUtZXhwZWN0ZWQuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDEwICswLDAg
QEAKLTwhRE9DVFlQRSBodG1sPgotPGh0bWw+Ci08Ym9keT4KLTxpbnB1dCBpZD0iZW1wdHlPbkZp
cnN0VmlzaXQiIHZhbHVlPSJ2aXNpdGVkIj4KLTxmb3JtIGFjdGlvbj0iZGF0YTp0ZXh0L2h0bWws
Jmx0O3NjcmlwdD5oaXN0b3J5LmJhY2soKSZsdDsvc2NyaXB0PiIgaWQ9Zm9ybTE+Ci0gICAgPGlu
cHV0IHR5cGU9d2VlayBpZD1pbnB1dDE+Ci0gICAgPGlucHV0IHR5cGU9d2VlayBpZD1pbnB1dDIg
dmFsdWU9IjIwMDEtVzAyIj4KLSAgICA8aW5wdXQgdHlwZT13ZWVrIGlkPWlucHV0MyB2YWx1ZT0i
MjAwMi1XMDMiPgotPC9mb3JtPgotPC9ib2R5PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFz
dC9mb3Jtcy93ZWVrLW11bHRpcGxlLWZpZWxkcy93ZWVrLW11bHRpcGxlLWZpZWxkcy1jbGVhcmJ1
dHRvbi12aXNpYmlsaXR5LWFmdGVyLXJlc3RvcmUuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZm9y
bXMvd2Vlay1tdWx0aXBsZS1maWVsZHMvd2Vlay1tdWx0aXBsZS1maWVsZHMtY2xlYXJidXR0b24t
dmlzaWJpbGl0eS1hZnRlci1yZXN0b3JlLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IGIxNDdjOWE0YzEyZmFjZjU5OTlhMDc5ZWU1MjExZWE4MjkzMzczNDMuLjAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jt
cy93ZWVrLW11bHRpcGxlLWZpZWxkcy93ZWVrLW11bHRpcGxlLWZpZWxkcy1jbGVhcmJ1dHRvbi12
aXNpYmlsaXR5LWFmdGVyLXJlc3RvcmUuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDMyICswLDAg
QEAKLTwhRE9DVFlQRSBodG1sPgotPGh0bWw+Ci08Ym9keT4KLTxpbnB1dCBpZD0iZW1wdHlPbkZp
cnN0VmlzaXQiPgotPGZvcm0gYWN0aW9uPSJkYXRhOnRleHQvaHRtbCwmbHQ7c2NyaXB0Pmhpc3Rv
cnkuYmFjaygpJmx0Oy9zY3JpcHQ+IiBpZD1mb3JtMT4KLSAgICA8aW5wdXQgdHlwZT13ZWVrIGlk
PWlucHV0MT4KLSAgICA8aW5wdXQgdHlwZT13ZWVrIGlkPWlucHV0Mj4KLSAgICA8aW5wdXQgdHlw
ZT13ZWVrIGlkPWlucHV0MyB2YWx1ZT0iMjAxMi1XMDEiPgotPC9mb3JtPgotCi08c2NyaXB0Pgot
Ly8gUmVzdG9yaW5nIHRoZSBmb3JtIHNob3VsZCB1cGRhdGUgdGhlIGNsZWFyIGJ1dHRvbiB2aXNp
YmlsaXR5LgotdGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7Ci1mdW5jdGlvbiBydW5UZXN0KCkK
LXsKLSAgICB2YXIgc3RhdGUgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZW1wdHlPbkZpcnN0
VmlzaXQnKTsKLSAgICBpZiAoIXN0YXRlLnZhbHVlKSB7Ci0gICAgICAgIC8vIEZpcnN0IHZpc2l0
LgotICAgICAgICBzZXRUaW1lb3V0KGZ1bmN0aW9uKCkgewotICAgICAgICAgICAgc3RhdGUudmFs
dWUgPSAndmlzaXRlZCc7Ci0gICAgICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnaW5w
dXQyJykudmFsdWUgPSAiMjAwMS1XMDIiOwotICAgICAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoJ2lucHV0MycpLnZhbHVlID0gIjIwMDItVzAzIjsKLSAgICAgICAgICAgIGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCdmb3JtMScpLnN1Ym1pdCgpOwotICAgICAgICB9LCAwKTsKLSAgICB9
IGVsc2UgewotICAgICAgICB0ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsKLSAgICB9Ci19Ci0KLXdp
bmRvdy5vbmxvYWQgPSBydW5UZXN0OwotPC9zY3JpcHQ+Ci08L2JvZHk+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3dlZWstbXVsdGlwbGUtZmllbGRzL3dlZWstbXVsdGlwbGUt
ZmllbGRzLWZhbGxiYWNrLWZvcm1hdC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2Zv
cm1zL3dlZWstbXVsdGlwbGUtZmllbGRzL3dlZWstbXVsdGlwbGUtZmllbGRzLWZhbGxiYWNrLWZv
cm1hdC1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDdiMmNjYThl
ZDZhZWU2NWQwYjQzNTJiOTBhN2Q5MzExODNhMTcyMWYuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy93ZWVrLW11bHRp
cGxlLWZpZWxkcy93ZWVrLW11bHRpcGxlLWZpZWxkcy1mYWxsYmFjay1mb3JtYXQtZXhwZWN0ZWQu
dHh0CisrKyAvZGV2L251bGwKQEAgLTEsMTQgKzAsMCBAQAotQ2hlY2tzIGluY29tcGxldGUgZGF0
ZXRpbWUgZm9ybWF0cyBhcmUgcmVqZWN0ZWQuCi0KLU9uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBh
IHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4K
LQotCi1WYWxpZCBmb3JtYXQKLVBBU1MgZ2V0VXNlckFnZW50U2hhZG93VGV4dENvbnRlbnQoaW5w
dXQpIGlzICJXZWVrMDkgMTk5OSIKLUludmFsaWQgZm9ybWF0LCBmYWxsYmFjayB0byB5eXl5LSdX
J3d3Ci1QQVNTIGdldFVzZXJBZ2VudFNoYWRvd1RleHRDb250ZW50KGlucHV0KSBpcyAiMTk5OS1X
MDkiCi1QQVNTIGdldFVzZXJBZ2VudFNoYWRvd1RleHRDb250ZW50KGlucHV0KSBpcyAiMTk5OS1X
MDkiCi1QQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCi0KLVRFU1QgQ09NUExFVEUKLQpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy93ZWVrLW11bHRpcGxlLWZpZWxkcy93
ZWVrLW11bHRpcGxlLWZpZWxkcy1mYWxsYmFjay1mb3JtYXQuaHRtbCBiL0xheW91dFRlc3RzL2Zh
c3QvZm9ybXMvd2Vlay1tdWx0aXBsZS1maWVsZHMvd2Vlay1tdWx0aXBsZS1maWVsZHMtZmFsbGJh
Y2stZm9ybWF0Lmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDI1ZjQ5MmJiZGI5
MWUyNTRiZjBhNTNiZWQwY2FmMTA1ZmY3ZmJhMDcuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy93ZWVrLW11bHRpcGxl
LWZpZWxkcy93ZWVrLW11bHRpcGxlLWZpZWxkcy1mYWxsYmFjay1mb3JtYXQuaHRtbAorKysgL2Rl
di9udWxsCkBAIC0xLDM3ICswLDAgQEAKLTwhRE9DVFlQRSBodG1sPgotPGh0bWw+Ci08aGVhZD4K
LTxzY3JpcHQgc3JjPSIuLi8uLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0
PgotPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy9jb21tb24uanMiPjwvc2NyaXB0PgotPC9oZWFk
PgotPGJvZHk+Ci08c2NyaXB0PgotZGVzY3JpcHRpb24oJ0NoZWNrcyBpbmNvbXBsZXRlIGRhdGV0
aW1lIGZvcm1hdHMgYXJlIHJlamVjdGVkLicpOwotCi12YXIgaW5wdXQgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KCdpbnB1dCcpOwotaW5wdXQudHlwZSA9ICd3ZWVrJzsKLWRvY3VtZW50LmJvZHku
YXBwZW5kQ2hpbGQoaW5wdXQpOwotCi1mdW5jdGlvbiBzZXREYXRlVGltZUZvcm1hdChwYXR0ZXJu
KSB7Ci0gICAgdmFyIHZhbHVlID0gaW5wdXQudmFsdWU7Ci0gICAgZ2V0RWxlbWVudEJ5UHNldWRv
SWQoaW50ZXJuYWxzLnlvdW5nZXN0U2hhZG93Um9vdChpbnB1dCksICctd2Via2l0LWRhdGV0aW1l
LWVkaXQnKS5zZXRBdHRyaWJ1dGUoJ3BhdHRlcm4nLCBwYXR0ZXJuKTsKLSAgICBpbnB1dC52YWx1
ZSA9ICcnOyAvLyBVcGRhdGVzIHRoZSBlbGVtZW50IGZvciBuZXcgZm9ybWF0Ci0gICAgaW5wdXQu
dmFsdWUgPSB2YWx1ZTsKLX0KLQotaW5wdXQudmFsdWUgPSAnMTk5OS1XMDknOwotCi1kZWJ1Zygn
VmFsaWQgZm9ybWF0Jyk7Ci1zZXREYXRlVGltZUZvcm1hdCgiJ1dlZWsnd3cgeXl5eSIpOwotc2hv
dWxkQmVFcXVhbFRvU3RyaW5nKCdnZXRVc2VyQWdlbnRTaGFkb3dUZXh0Q29udGVudChpbnB1dCkn
LCAnV2VlazA5IDE5OTknKTsKLQotZGVidWcoIkludmFsaWQgZm9ybWF0LCBmYWxsYmFjayB0byB5
eXl5LSdXJ3d3Iik7Ci1zZXREYXRlVGltZUZvcm1hdCgnd3cnKTsKLXNob3VsZEJlRXF1YWxUb1N0
cmluZygnZ2V0VXNlckFnZW50U2hhZG93VGV4dENvbnRlbnQoaW5wdXQpJywgJzE5OTktVzA5Jyk7
Ci1zZXREYXRlVGltZUZvcm1hdCgneXl5eScpOwotc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdnZXRV
c2VyQWdlbnRTaGFkb3dUZXh0Q29udGVudChpbnB1dCknLCAnMTk5OS1XMDknKTsKLQotPC9zY3Jp
cHQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9z
Y3JpcHQ+Ci08L2JvZHk+Ci08L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Zv
cm1zL3dlZWstbXVsdGlwbGUtZmllbGRzL3dlZWstbXVsdGlwbGUtZmllbGRzLWtleWJvYXJkLWV2
ZW50cy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3dlZWstbXVsdGlwbGUt
ZmllbGRzL3dlZWstbXVsdGlwbGUtZmllbGRzLWtleWJvYXJkLWV2ZW50cy1leHBlY3RlZC50eHQK
ZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDgyODdjYjVmZDAzZTQ1NTNmNDZhMzg5ZTBi
MDFmNDg0ZGY1NzJkN2IuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAK
LS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy93ZWVrLW11bHRpcGxlLWZpZWxkcy93ZWVrLW11
bHRpcGxlLWZpZWxkcy1rZXlib2FyZC1ldmVudHMtZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwK
QEAgLTEsNjYgKzAsMCBAQAotTXVsdGlwbGUgZmllbGRzIFVJIG9mIHdlZWsgaW5wdXQgdHlwZSB3
aXRoIGtleWJvYXJkIGV2ZW50cwotCi1PbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMg
b2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCi0KLQotUGxl
YXNlIHJ1biB0aGlzIHdpdGggRHVtcFJlbmRlclRyZWUuCi0KLVRlc3QgZm9sbG93aW5nIGtleXM6
Ci1EaWdpdHMKLUxlZnQvUmlnaHQgLSBNb3ZlIGZvY3VzIGZpZWxkIGluc2lkZSBlbGVtZW50Ci1V
cC9Eb3duIC0gSW5jcmVtZW50L2RlY3JlbWVudCB2YWx1ZSBvZiBmb2N1cyBmaWVsZAotVGFiIC0g
TW92ZSBmb2N1cyBmaWVsZAotQmFja3NwYWNlIC0gTWFrZSB2YWx1ZSBlbXB0eQotICAKLT09IERp
Z2l0IGtleXMgPT0KLVBBU1MgaW5wdXQudmFsdWUgaXMgIjAwMTItVzA5IgotPT0gRGlnaXQga2V5
cyBzdGFydGluZyB3aXRoIHplcm8gPT0KLVBBU1MgaW5wdXQudmFsdWUgaXMgIjAzMDAtVzAyIgot
PT0gRGlnaXQga2V5cyBhbmQgYmFja3NwYWNlIGtleSA9PQotUEFTUyBpbnB1dC52YWx1ZSBpcyAi
MDAwNi1XMDEiCi09PSBMZWZ0L1JpZ2h0IGtleXMgPT0KLVBBU1MgaW5wdXQudmFsdWUgaXMgIjAw
MDUtVzA2IgotUEFTUyBkb2N1bWVudC5hY3RpdmVFbGVtZW50LmlkIGlzICJpbnB1dCIKLT09IFVw
L0Rvd24ga2V5cyA9PQotUEFTUyBpbnB1dC52YWx1ZSBpcyAiMjAxMi1XMTAiCi1QQVNTIGlucHV0
LnZhbHVlIGlzICIyMDEyLVcwOCIKLT09IFVwL0Rvd24ga2V5cyBvbiBlbXB0eSB2YWx1ZSA9PQot
UEFTUyBpbnB1dC52YWx1ZSBpcyBjdXJyZW50WWVhciArICItVzUyIgotPT0gVXAvRG93biBrZXlz
IG9uIGVtcHR5IHZhbHVlIDIgPT0KLVBBU1MgaW5wdXQudmFsdWUgaXMgY3VycmVudFllYXIgKyAi
LVcwMiIKLT09IFRhYiBrZXkgPT0KLVBBU1MgaW5wdXQudmFsdWUgaXMgIjAwMDUtVzA5IgotUEFT
UyBpbnB1dC52YWx1ZSBpcyAiMDAwNS1XMDciCi1QQVNTIGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQu
aWQgaXMgImFmdGVyIgotPT0gU2hmaXQrVGFiIGtleSA9PQotUEFTUyBpbnB1dC52YWx1ZSBpcyAi
MDAwMy1XMDkiCi1QQVNTIGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQuaWQgaXMgImJlZm9yZSIKLT09
IFVwIGtleSBvbiBtYXhpbXVtIHZhbHVlID09Ci1QQVNTIGlucHV0LnZhbHVlIGlzICIwMDAxLVcx
MCIKLT09IFVwIGtleSB3aXRoIGEgbWF4aW11bSBhdHRyaWJ1dGUgPT0KLVBBU1MgaW5wdXQudmFs
dWUgaXMgIjEwMDAtVzEzIgotPT0gRG93biBrZXkgb24gbWluaW11bSB2YWx1ZSA9PQotUEFTUyBp
bnB1dC52YWx1ZSBpcyAiIgotPT0gRG93biBrZXkgd2l0aCBhIG1pbmltdW0gYXR0cmlidXRlID09
Ci1QQVNTIGlucHV0LnZhbHVlIGlzICIiCi09PSBJbmNvbnNpc3RlbnQgbWluLW1heCBhdHRyaWJ1
dGVzID09Ci1QQVNTIGlucHV0LnZhbHVlIGlzICIxMDAwLVcxMyIKLVBBU1MgaW5wdXQudmFsdWUg
aXMgIjE5OTktVzEzIgotPT0gTWFrZSBhbiBpbnZhbGlkIGRhdGUgPT0KLVBBU1MgaW5wdXQudmFs
dWUgaXMgIiIKLT09IEJhY2tzcGFjZSBrZXkgPT0KLVBBU1MgaW5wdXQudmFsdWUgaXMgIiIKLT09
IERlbGV0ZSBrZXkgPT0KLVBBU1MgaW5wdXQudmFsdWUgaXMgIiIKLT09IFR5cGVhaGVhZCA9PQot
UEFTUyBpbnB1dC52YWx1ZSBpcyAiMDAwMS1XMTIiCi1QQVNTIGlucHV0LnZhbHVlIGlzICIwMDAy
LVcxMiIKLT09IERpc2FibGVkL3JlYWRvbmx5ID09Ci1QQVNTIGlucHV0LnZhbHVlIGlzICIyMDEy
LVcxMCIKLVBBU1MgaW5wdXQudmFsdWUgaXMgIjIwMTItVzExIgotUEFTUyBpbnB1dC52YWx1ZSBp
cyAiMjAxMi1XMTEiCi1QQVNTIGlucHV0LnZhbHVlIGlzICIyMDEyLVcxMiIKLVBBU1Mgc3VjY2Vz
c2Z1bGx5UGFyc2VkIGlzIHRydWUKLQotVEVTVCBDT01QTEVURQotCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9mYXN0L2Zvcm1zL3dlZWstbXVsdGlwbGUtZmllbGRzL3dlZWstbXVsdGlwbGUtZmll
bGRzLWtleWJvYXJkLWV2ZW50cy5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy93ZWVrLW11
bHRpcGxlLWZpZWxkcy93ZWVrLW11bHRpcGxlLWZpZWxkcy1rZXlib2FyZC1ldmVudHMuaHRtbApk
ZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNWJiYzk4MzNjNmRlZDBmZmNlNTQ2ZTc1NGI1
YjBkNWVmZGFjMDM0MC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAot
LS0gYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3dlZWstbXVsdGlwbGUtZmllbGRzL3dlZWstbXVs
dGlwbGUtZmllbGRzLWtleWJvYXJkLWV2ZW50cy5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsMjEw
ICswLDAgQEAKLTwhRE9DVFlQRSBodG1sPgotPGh0bWw+Ci08aGVhZD4KLTxzY3JpcHQgc3JjPSIu
Li8uLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgotPC9oZWFkPgotPGJv
ZHk+Ci08cCBpZD0iZGVzY3JpcHRpb24iPjwvcD4KLTxwPgotUGxlYXNlIHJ1biB0aGlzIHdpdGgg
RHVtcFJlbmRlclRyZWUuCi08L3A+Ci1UZXN0IGZvbGxvd2luZyBrZXlzOgotPHVsPgotICAgIDxs
aT5EaWdpdHM8L2xpPgotICAgIDxsaT5MZWZ0L1JpZ2h0IC0gTW92ZSBmb2N1cyBmaWVsZCBpbnNp
ZGUgZWxlbWVudDwvbGk+Ci0gICAgPGxpPlVwL0Rvd24gLSBJbmNyZW1lbnQvZGVjcmVtZW50IHZh
bHVlIG9mIGZvY3VzIGZpZWxkPC9saT4KLSAgICA8bGk+VGFiIC0gTW92ZSBmb2N1cyBmaWVsZDwv
bGk+Ci0gICAgPGxpPkJhY2tzcGFjZSAtIE1ha2UgdmFsdWUgZW1wdHk8L2xpPgotPC91bD4KLTxp
bnB1dCBpZD0iYmVmb3JlIj4KLTxpbnB1dCBpZD0iaW5wdXQiIHR5cGU9IndlZWsiPgotPGlucHV0
IGlkPSJhZnRlciI+Ci08ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KLTxzY3JpcHQ+Ci1kZXNjcmlw
dGlvbignTXVsdGlwbGUgZmllbGRzIFVJIG9mIHdlZWsgaW5wdXQgdHlwZSB3aXRoIGtleWJvYXJk
IGV2ZW50cycpOwotaWYgKHdpbmRvdy5pbnRlcm5hbHMpCi0gICAgaW50ZXJuYWxzLnNldHRpbmdz
LnNldExhbmdBdHRyaWJ1dGVBd2FyZUZvcm1Db250cm9sVUlFbmFibGVkKHRydWUpOwotdmFyIGlu
cHV0ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2lucHV0Jyk7Ci0KLWZ1bmN0aW9uIGtleURv
d24oa2V5LCBtb2RpZmllcnMpCi17Ci0gICAgaWYgKCF3aW5kb3cuZXZlbnRTZW5kZXIpCi0gICAg
ICAgIHJldHVybjsKLSAgICBldmVudFNlbmRlci5rZXlEb3duKGtleSwgbW9kaWZpZXJzKTsKLX0K
LQotZnVuY3Rpb24gYmVnaW5UZXN0KHRpdGxlLCBvcHRfdmFsdWUsIG9wdF9taW4sIG9wdF9tYXgp
Ci17Ci0gICAgZGVidWcoJz09ICcgKyB0aXRsZSArICcgPT0nKTsKLSAgICBpbnB1dC52YWx1ZSA9
IG9wdF92YWx1ZSB8fCAnJzsKLSAgICBpbnB1dC5taW4gPSBvcHRfbWluID8gb3B0X21pbiA6ICcn
OwotICAgIGlucHV0Lm1heCA9IG9wdF9tYXggPyBvcHRfbWF4IDogJyc7Ci0gICAgaW5wdXQuYmx1
cigpOwotICAgIGlucHV0LmZvY3VzKCk7Ci19Ci0KLS8vIFdlIGFzc3VtZSB0aGUgZGF0ZSBmb3Jt
YXQgaXMgV2VlayB3dywgeXl5eS4KLQotYmVnaW5UZXN0KCdEaWdpdCBrZXlzJyk7Ci1rZXlEb3du
KCc5Jyk7IC8vIC0+IFdlZWsgMDksIHl5eXkKLWtleURvd24oJzEnKTsgLy8gLT4gV2VlayAwOSwg
WzAwMDFdCi1rZXlEb3duKCcyJyk7IC8vIC0+IFdlZWsgMDksIFswMDEyXQota2V5RG93bignQScp
OyAvLyBJZ25vcmVkLgotc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdpbnB1dC52YWx1ZScsICcwMDEy
LVcwOScpOwotCi1iZWdpblRlc3QoJ0RpZ2l0IGtleXMgc3RhcnRpbmcgd2l0aCB6ZXJvJyk7Ci1r
ZXlEb3duKCcwJyk7IC8vIC0+IFdlZWsgWzAwXSwgeXl5eQota2V5RG93bignMicpOyAvLyAtPiBX
ZWVrIDAyLCBbeXl5eV0KLWtleURvd24oJzAnKTsgLy8gLT4gV2VlayAwMiwgWzAwMDBdCi1rZXlE
b3duKCczJyk7IC8vIC0+IFdlZWsgMDIsIFswMDAzXQota2V5RG93bignMCcpOyAvLyAtPiBXZWVr
IDAyLCBbMDAzMF0KLWtleURvd24oJzAnKTsgLy8gLT4gV2VlayAwMiwgWzAzMDBdCi1zaG91bGRC
ZUVxdWFsVG9TdHJpbmcoJ2lucHV0LnZhbHVlJywgJzAzMDAtVzAyJyk7Ci0KLWJlZ2luVGVzdCgn
RGlnaXQga2V5cyBhbmQgYmFja3NwYWNlIGtleScpOwota2V5RG93bignMCcpOyAvLyAtPiBXZWVr
IFswMF0sIHl5eXkKLWtleURvd24oJ1xiJyk7IC8vIC0+IFdlZWsgW3d3XSwgeXl5eQota2V5RG93
bignMCcpOyAvLyAtPiBXZWVrIFswMF0sIHl5eXkKLWtleURvd24oJzAnKTsgLy8gLT4gV2VlayAw
MSwgW3l5eXldCi1rZXlEb3duKCcwJyk7IC8vIC0+IFdlZWsgMDEsIFswMDAwXQota2V5RG93bign
NicpOyAvLyAtPiBXZWVrIDA1LCBbMDAwNl0KLXNob3VsZEJlRXF1YWxUb1N0cmluZygnaW5wdXQu
dmFsdWUnLCAnMDAwNi1XMDEnKTsKLQotLy8gRklYTUU6IFdlIHNob3VsZCB0ZXN0IHR5cGUgYWhl
YWQgdGltZSBvdXQuIFdoZW4gZXZlbnQubGVhcEZvcndhcmQoKSBhZmZlY3RzCi0vLyBrZXlib2Fy
ZCBldmVudCB0aW1lIHN0YW1wLCB3ZSBjYW4gdW5jb21tZW50IHRoaXMgZnJhZ21lbnQuCi0vKgot
YmVnaW5UZXN0KCdEaWdpdCBrZXlzIHdpdGggdHlwZSBhaGVhZCB0aW1lb3V0Jyk7Ci1rZXlEb3du
KCcxJyk7IC8vIC0+IFdlZWsgWzAxXSwgeXl5eQotZXZlbnRTZW5kZXIubGVhcEZvcndhcmQoMTEw
MCk7IC8vIC0+IFdlZWsgMDEsIFt5eXl5XQota2V5RG93bignMScpOyAvLyAtPiBXZWVrIDAxLCBb
MDAwMV0KLWtleURvd24oJzUnKTsgLy8gLT4gV2VlayAwMSwgWzAwMTVdCi1rZXlEb3duKCc2Jyk7
IC8vIC0+IFdlZWsgMDEsIFswMTU2XQotc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdpbnB1dC52YWx1
ZScsICcwMTU2LVcwMScpOwotKi8KLQotYmVnaW5UZXN0KCdMZWZ0L1JpZ2h0IGtleXMnLCAnMjAx
Mi1XMDknKTsKLWtleURvd24oJ3JpZ2h0QXJyb3cnKTsgLy8gLT4gV2VlayAwOSwgWzIwMTJdCi1r
ZXlEb3duKCc1Jyk7IC8vIC0+IFdlZWsgMDksIFswMDA1XQota2V5RG93bignbGVmdEFycm93Jyk7
IC8vIC0+IFdlZWsgWzA5XSwgMDAwNQota2V5RG93bignNicpOyAvLyAtPiBXZWVrIFswNl0sIDAw
MDUKLXNob3VsZEJlRXF1YWxUb1N0cmluZygnaW5wdXQudmFsdWUnLCAnMDAwNS1XMDYnKTsKLWtl
eURvd24oJ2xlZnRBcnJvdycpOyAvLyAtPiBXZWVrIDA2LCBbMDAwNV0KLWtleURvd24oJ2xlZnRB
cnJvdycpOyAvLyAtPiBXZWVrIFswNl0sIDAwMDUKLWtleURvd24oJ2xlZnRBcnJvdycpOyAvLyAt
PiBXZWVrIFswNl0sIDAwMDUKLXNob3VsZEJlRXF1YWxUb1N0cmluZygnZG9jdW1lbnQuYWN0aXZl
RWxlbWVudC5pZCcsICdpbnB1dCcpOwotCi1iZWdpblRlc3QoJ1VwL0Rvd24ga2V5cycsICcyMDEy
LVcwOScpOwota2V5RG93bigndXBBcnJvdycpOyAvLyAtPiBXZWVrIFsxMF0sIDIwMTIKLXNob3Vs
ZEJlRXF1YWxUb1N0cmluZygnaW5wdXQudmFsdWUnLCAnMjAxMi1XMTAnKTsKLWtleURvd24oJ2Rv
d25BcnJvdycpOyAvLyAtPiBXZWVrIFswOV0sIDIwMTIKLWtleURvd24oJ2Rvd25BcnJvdycpOyAv
LyAtPiBXZWVrIFswOF0sIDIwMTIKLXNob3VsZEJlRXF1YWxUb1N0cmluZygnaW5wdXQudmFsdWUn
LCAnMjAxMi1XMDgnKTsKLQotYmVnaW5UZXN0KCdVcC9Eb3duIGtleXMgb24gZW1wdHkgdmFsdWUn
KTsKLWtleURvd24oJ2Rvd25BcnJvdycpOyAvLyAgLT4gV2VlayBbNTNdLCB5eXl5Ci1rZXlEb3du
KCdkb3duQXJyb3cnKTsgLy8gIC0+IFdlZWsgWzUyXSwgeXl5eQota2V5RG93bigndXBBcnJvdycp
OyAvLyAgICAtPiBXZWVrIFs1M10sIHl5eXkKLWtleURvd24oJ2Rvd25BcnJvdycpOyAvLyAgLT4g
V2VlayBbNTJdLCB5eXl5Ci1rZXlEb3duKCdyaWdodEFycm93Jyk7IC8vIC0+IFdlZWsgNTIsIFt5
eXl5XQotdmFyIGN1cnJlbnRZZWFyID0gbmV3IERhdGUoKS5nZXRGdWxsWWVhcigpOwota2V5RG93
bigndXBBcnJvdycpOyAvLyAtPiBXZWVrIDUyLCBbY3VycmVudCB5ZWFyXQotc2hvdWxkQmUoJ2lu
cHV0LnZhbHVlJywgJ2N1cnJlbnRZZWFyICsgIi1XNTIiJyk7Ci0KLWJlZ2luVGVzdCgnVXAvRG93
biBrZXlzIG9uIGVtcHR5IHZhbHVlIDInKTsKLWtleURvd24oJ3VwQXJyb3cnKTsgLy8gICAgLT4g
V2VlayBbMDFdLCB5eXl5Ci1rZXlEb3duKCd1cEFycm93Jyk7IC8vICAgIC0+IFdlZWsgWzAyXSwg
eXl5eQota2V5RG93bigncmlnaHRBcnJvdycpOyAvLyAtPiBXZWVrIDAyLCBbeXl5eV0KLWN1cnJl
bnRZZWFyID0gbmV3IERhdGUoKS5nZXRGdWxsWWVhcigpOwota2V5RG93bignZG93bkFycm93Jyk7
IC8vIC0+IFdlZWsgMDIsIFtjdXJyZW50IHllYXJdCi1zaG91bGRCZSgnaW5wdXQudmFsdWUnLCAn
Y3VycmVudFllYXIgKyAiLVcwMiInKTsKLQotYmVnaW5UZXN0KCdUYWIga2V5JywgJzIwMTItVzA5
Jyk7Ci1rZXlEb3duKCdcdCcpOyAvLyAtPiBXZWVrIDA5LCBbMjAxMl0KLWtleURvd24oJzUnKTsg
Ly8gLT4gV2VlayAwOSwgWzAwMDVdCi1zaG91bGRCZUVxdWFsVG9TdHJpbmcoJ2lucHV0LnZhbHVl
JywgJzAwMDUtVzA5Jyk7Ci1rZXlEb3duKCdcdCcsIFsnc2hpZnRLZXknXSk7IC8vIC0+IFdlZWsg
WzA5XSwgMDAwNQota2V5RG93bignNycpOyAvLyAtPiBXZWVrIFswN10sIDAwMDUKLXNob3VsZEJl
RXF1YWxUb1N0cmluZygnaW5wdXQudmFsdWUnLCAnMDAwNS1XMDcnKTsKLWtleURvd24oJ1x0Jyk7
IC8vIC0+IEZvY3VzIG91dC4KLXNob3VsZEJlRXF1YWxUb1N0cmluZygnZG9jdW1lbnQuYWN0aXZl
RWxlbWVudC5pZCcsICdhZnRlcicpOwotCi1iZWdpblRlc3QoJ1NoZml0K1RhYiBrZXknLCAnMjAx
Mi1XMDknKTsKLWFmdGVyLmZvY3VzKCk7Ci1rZXlEb3duKCdcdCcsIFsnc2hpZnRLZXknXSk7IC8v
IC0+IFdlZWsgMDksIFsyMDEyXQota2V5RG93bignMycpOyAvLyAtPiBXZWVrIDA5LCBbMDAwM10K
LXNob3VsZEJlRXF1YWxUb1N0cmluZygnaW5wdXQudmFsdWUnLCAnMDAwMy1XMDknKTsKLWtleURv
d24oJ1x0JywgWydzaGlmdEtleSddKTsgLy8gLT4gV2VlayBbMDldLCAwMDAzCi1rZXlEb3duKCdc
dCcsIFsnc2hpZnRLZXknXSk7IC8vIC0+IEZvY3VzIG91dC4KLXNob3VsZEJlRXF1YWxUb1N0cmlu
ZygnZG9jdW1lbnQuYWN0aXZlRWxlbWVudC5pZCcsICdiZWZvcmUnKTsKLQotYmVnaW5UZXN0KCdV
cCBrZXkgb24gbWF4aW11bSB2YWx1ZScsICcyNzU3NjAtVzA5Jyk7Ci1rZXlEb3duKCd1cEFycm93
Jyk7IC8vIC0+IFdlZWsgWzEwXSwgMjc1NzYwCi1rZXlEb3duKCdcdCcpOyAvLyAgICAgIC0+IFdl
ZWsgMTAsIFsyNzU3NjBdCi1rZXlEb3duKCd1cEFycm93Jyk7IC8vIC0+IFdlZWsgMTAsIFswMDAx
XQotc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdpbnB1dC52YWx1ZScsICcwMDAxLVcxMCcpOwotYmVn
aW5UZXN0KCdVcCBrZXkgd2l0aCBhIG1heGltdW0gYXR0cmlidXRlJywgJzE5OTktVzEyJywgJzEw
MDAtVzAxJywgJzE5OTktVzEyJyk7Ci1rZXlEb3duKCd1cEFycm93Jyk7IC8vIC0+IFdlZWsgWzEz
XSwgMTk5OQota2V5RG93bignXHQnKTsgLy8gICAgICAtPiBXZWVrIDEzLCBbMTk5OV0KLWtleURv
d24oJ3VwQXJyb3cnKTsgLy8gLT4gV2VlayAxMywgWzEwMDBdCi1zaG91bGRCZUVxdWFsVG9TdHJp
bmcoJ2lucHV0LnZhbHVlJywgJzEwMDAtVzEzJyk7Ci0KLWJlZ2luVGVzdCgnRG93biBrZXkgb24g
bWluaW11bSB2YWx1ZScsICcwMDAxLVcwMScsICdiYWQgbWluJywgJ3dyb25nIG1heCcpOwota2V5
RG93bignZG93bkFycm93Jyk7IC8vIC0+IFdlZWsgWzUzXSwgMDAwMQota2V5RG93bignXHQnKTsg
Ly8gICAgICAgIC0+IFdlZWsgMDEsIFswMDAxXQota2V5RG93bignZG93bkFycm93Jyk7IC8vIC0+
IFdlZWsgNTMsIFsyNzU3NjBdLCB3aGljaCBpcyBncmVhdGVyIHRoYW4gdGhlIGhhcmQgbGltaXQu
Ci1zaG91bGRCZUVxdWFsVG9TdHJpbmcoJ2lucHV0LnZhbHVlJywgJycpOwotYmVnaW5UZXN0KCdE
b3duIGtleSB3aXRoIGEgbWluaW11bSBhdHRyaWJ1dGUnLCAnMTAwMC1XMDEnLCAnMTAwMC1XMDEn
KTsKLWtleURvd24oJ2Rvd25BcnJvdycpOyAvLyAtPiBXZWVrIFs1M10sIDEwMDAKLWtleURvd24o
J1x0Jyk7IC8vICAgICAgICAtPiBXZWVrIDUzLCBbMTAwMF0KLWtleURvd24oJ2Rvd25BcnJvdycp
OyAvLyAtPiBXZWVrIDUzLCBbMjc1NzYwXSwgd2hpY2ggaXMgZ3JlYXRlciB0aGFuIHRoZSBoYXJk
IGxpbWl0Lgotc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdpbnB1dC52YWx1ZScsICcnKTsKLQotYmVn
aW5UZXN0KCdJbmNvbnNpc3RlbnQgbWluLW1heCBhdHRyaWJ1dGVzJywgJzE5OTktVzEyJywgJzE5
OTktVzEyJywgJzEwMDAtVzAxJyk7Ci1rZXlEb3duKCd1cEFycm93Jyk7IC8vIC0+IFdlZWsgWzEz
XSwgMTk5OS4KLWtleURvd24oJ1x0Jyk7IC8vIC0+IFdlZWsgMTMsIFsxOTk5XQota2V5RG93bign
dXBBcnJvdycpOyAvLyAtPiBXZWVrIDEzLCBbMTAwMF0uICAxMDAwIGlzIHRoZSBzd2FwcGVkIG1p
bmltdW0geWVhci4KLXNob3VsZEJlRXF1YWxUb1N0cmluZygnaW5wdXQudmFsdWUnLCAnMTAwMC1X
MTMnKTsKLWtleURvd24oJ2Rvd25BcnJvdycpOyAvLyAtPiBXZWVrIDAxLCBbMTk5OV0KLXNob3Vs
ZEJlRXF1YWxUb1N0cmluZygnaW5wdXQudmFsdWUnLCAnMTk5OS1XMTMnKTsKLQotYmVnaW5UZXN0
KCdNYWtlIGFuIGludmFsaWQgZGF0ZScsICcyMDEyLVcwMScpOwota2V5RG93bignZG93bkFycm93
Jyk7IC8vIC0+IFdlZWsgWzUzXSwgMjAxMgotc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdpbnB1dC52
YWx1ZScsICcnKTsgLy8gMjAxMi1XNTMgaXMgbm90IGEgdmFsaWQgZGF0ZS4KLQotYmVnaW5UZXN0
KCdCYWNrc3BhY2Uga2V5JywgJzIwMTItVzA5Jyk7Ci1rZXlEb3duKCJcYiIpOyAvLyAtPiBXZWVr
IFt3d10sIDIwMTIKLXNob3VsZEJlRXF1YWxUb1N0cmluZygnaW5wdXQudmFsdWUnLCAnJyk7Ci0K
LWJlZ2luVGVzdCgnRGVsZXRlIGtleScsICcyMDEyLVcwOScpOwota2V5RG93bigiZGVsZXRlIik7
IC8vIC0+IFdlZWsgW3d3XSwgMjAxMgotc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdpbnB1dC52YWx1
ZScsICcnKTsKLQotYmVnaW5UZXN0KCdUeXBlYWhlYWQnLCAnMjAxMi1XMTInKTsKLWtleURvd24o
J3JpZ2h0QXJyb3cnKTsgLy8gLT4gV2VlayAxMiwgWzIwMTJdCi1rZXlEb3duKCcxJyk7IC8vICAg
ICAgICAgIC0+IFdlZWsgMDEsIFswMDAxXQotc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdpbnB1dC52
YWx1ZScsICcwMDAxLVcxMicpOwota2V5RG93bignbGVmdEFycm93Jyk7IC8vICAtPiBXZWVrIFsx
Ml0sIDAwMDEKLWtleURvd24oJ3JpZ2h0QXJyb3cnKTsgLy8gLT4gV2VlayAxMiwgWzAwMDFdCi1r
ZXlEb3duKCcyJyk7IC8vICAgICAgICAgIC0+IFdlZWsgMTIsIFswMDAyXQotc2hvdWxkQmVFcXVh
bFRvU3RyaW5nKCdpbnB1dC52YWx1ZScsICcwMDAyLVcxMicpOwotCi1iZWdpblRlc3QoJ0Rpc2Fi
bGVkL3JlYWRvbmx5JywgJzIwMTItVzEwJyk7Ci1pbnB1dC5kaXNhYmxlZCA9IHRydWU7Ci1rZXlE
b3duKCd1cEFycm93Jyk7IC8vIFdlZWsgMTAsIDIwMTIKLXNob3VsZEJlRXF1YWxUb1N0cmluZygn
aW5wdXQudmFsdWUnLCAnMjAxMi1XMTAnKTsKLWlucHV0LmRpc2FibGVkID0gZmFsc2U7Ci1pbnB1
dC5mb2N1cygpOwota2V5RG93bigndXBBcnJvdycpOyAvLyBXZWVrIFsxMV0sIDIwMTIKLXNob3Vs
ZEJlRXF1YWxUb1N0cmluZygnaW5wdXQudmFsdWUnLCAnMjAxMi1XMTEnKTsKLWlucHV0LnJlYWRP
bmx5ID0gdHJ1ZTsKLWtleURvd24oJ3VwQXJyb3cnKTsgLy8gV2VlayBbMTFdLCAyMDEyCi1zaG91
bGRCZUVxdWFsVG9TdHJpbmcoJ2lucHV0LnZhbHVlJywgJzIwMTItVzExJyk7Ci1pbnB1dC5yZWFk
T25seSA9IGZhbHNlOwotaW5wdXQuZm9jdXMoKTsKLWtleURvd24oJ3VwQXJyb3cnKTsgLy8gV2Vl
ayBbMTJdLCAyMDEyCi1zaG91bGRCZUVxdWFsVG9TdHJpbmcoJ2lucHV0LnZhbHVlJywgJzIwMTIt
VzEyJyk7Ci0KLTwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii4uLy4uL2pzL3Jlc291cmNlcy9qcy10
ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgotPC9ib2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZmFzdC9mb3Jtcy93ZWVrLW11bHRpcGxlLWZpZWxkcy93ZWVrLW11bHRpcGxlLWZp
ZWxkcy1tb3VzZS1ldmVudHMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy93
ZWVrLW11bHRpcGxlLWZpZWxkcy93ZWVrLW11bHRpcGxlLWZpZWxkcy1tb3VzZS1ldmVudHMtZXhw
ZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBiNzBlZDUxMjFiYzBkNzE3
YzJlNGJjMjg3MmRkMGVkMjgzZmE5NGMwLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvd2Vlay1tdWx0aXBsZS1maWVs
ZHMvd2Vlay1tdWx0aXBsZS1maWVsZHMtbW91c2UtZXZlbnRzLWV4cGVjdGVkLnR4dAorKysgL2Rl
di9udWxsCkBAIC0xLDM4ICswLDAgQEAKLU11bHRpcGxlIGZpZWxkcyBVSSBvZiBkYXRlIGlucHV0
IHR5cGUgd2l0aCBtb3VzZSBldmVudHMKLQotT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2Vy
aWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgotCi0K
LVBsZWFzZSBydW4gdGhpcyB3aXRoIERSVCBvciBXVFIuCi0KLVRlc3QgZm9sbG93aW5nIG1vdXNl
IGFjdGlvbnM6Ci1Nb3VzZSBjbGljayB0byBmb2N1cyBlYWNoIG9mIHN1Yi1maWVsZHMKLU1vdXNl
IGNsaWNrIG9uIHRoZSBzcGluIGJ1dHRvbiB0byB1cGRhdGUgZWFjaCBvZiBzdWItZmllbGRzCi0K
LT09PiBGb2N1cyBvbiB0aGUgd2VlayBmaWVsZC4KLVBBU1MgaW5wdXQudmFsdWUgaXMgIjIzNDUt
VzA4IgotUEFTUyBpbnB1dC52YWx1ZSBpcyAiMjM0NS1XMDkiCi1QQVNTIGlucHV0LnZhbHVlIGlz
ICIyMzQ1LVcwOCIKLVBBU1Mgd2luZG93LmdldFNlbGVjdGlvbigpLnJhbmdlQ291bnQgaXMgMAot
Ci09PT4gRm9jdXMgb24gdGhlIHllYXIgZmllbGQuCi1QQVNTIGlucHV0LnZhbHVlIGlzICIyMzQ2
LVcwOCIKLVBBU1MgaW5wdXQudmFsdWUgaXMgIjIzNDctVzA4IgotUEFTUyBpbnB1dC52YWx1ZSBp
cyAiMjM0Ni1XMDgiCi1QQVNTIHdpbmRvdy5nZXRTZWxlY3Rpb24oKS5yYW5nZUNvdW50IGlzIDAK
LQotPT0+IENsaWNrIG9uIGEgZGlzYWJsZWQgZmllbGQuCi1QQVNTIGlucHV0LnZhbHVlIGlzICIy
MzQ2LVcwOCIKLQotPT0+IENsaWNrIG9uIGEgcmVhZC1vbmx5IGZpZWxkLgotUEFTUyBpbnB1dC52
YWx1ZSBpcyAiMjM0Ni1XMDgiCi0KLT09PiBDbGljayBvbiBjbGVhciBidXR0b24uCi1QQVNTIGlu
cHV0LnZhbHVlIGlzICIyMzQ2LVcwOCIKLVBBU1MgaW5wdXQudmFsdWUgaXMgIjIzNDYtVzA4Igot
UEFTUyBpbnB1dC52YWx1ZSBpcyAiIgotCi1QQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVl
Ci0KLVRFU1QgQ09NUExFVEUKLQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy93
ZWVrLW11bHRpcGxlLWZpZWxkcy93ZWVrLW11bHRpcGxlLWZpZWxkcy1tb3VzZS1ldmVudHMuaHRt
bCBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvd2Vlay1tdWx0aXBsZS1maWVsZHMvd2Vlay1tdWx0
aXBsZS1maWVsZHMtbW91c2UtZXZlbnRzLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IGI3MmJmMzIyNTRmMjMzNjQ4NzJlMGRmYmVlM2VjYWQ4M2EwNTI2OGYuLjAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jt
cy93ZWVrLW11bHRpcGxlLWZpZWxkcy93ZWVrLW11bHRpcGxlLWZpZWxkcy1tb3VzZS1ldmVudHMu
aHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDk3ICswLDAgQEAKLTwhRE9DVFlQRSBodG1sPgotPGh0
bWw+Ci08aGVhZD4KLTxzY3JpcHQgc3JjPSIuLi8uLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUu
anMiPjwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHk+Ci08cCBpZD0iZGVzY3JpcHRpb24iPjwvcD4K
LTxwPgotUGxlYXNlIHJ1biB0aGlzIHdpdGggRFJUIG9yIFdUUi4KLTwvcD4KLVRlc3QgZm9sbG93
aW5nIG1vdXNlIGFjdGlvbnM6Ci08dWw+Ci0gICAgPGxpPk1vdXNlIGNsaWNrIHRvIGZvY3VzIGVh
Y2ggb2Ygc3ViLWZpZWxkczwvbGk+Ci0gICAgPGxpPk1vdXNlIGNsaWNrIG9uIHRoZSBzcGluIGJ1
dHRvbiB0byB1cGRhdGUgZWFjaCBvZiBzdWItZmllbGRzPC9saT4KLTwvdWw+Ci08aW5wdXQgaWQ9
ImlucHV0IiB0eXBlPSJ3ZWVrIiBzdHlsZT0iZm9udC1mYW1pbHk6YWhlbTsgZm9udC1zaXplOjE2
cHg7Ij4KLTxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgotPHNjcmlwdD4KLWRlc2NyaXB0aW9uKCdN
dWx0aXBsZSBmaWVsZHMgVUkgb2YgZGF0ZSBpbnB1dCB0eXBlIHdpdGggbW91c2UgZXZlbnRzJyk7
Ci12YXIgaW5wdXQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnaW5wdXQnKTsKLQotZnVuY3Rp
b24ga2V5RG93bihrZXksIG1vZGlmaWVycykKLXsKLSAgICBpZiAoIXdpbmRvdy5ldmVudFNlbmRl
cikKLSAgICAgICAgcmV0dXJuOwotICAgIGV2ZW50U2VuZGVyLmtleURvd24oa2V5LCBtb2RpZmll
cnMpOwotfQotCi1mdW5jdGlvbiBtb3VzZUNsaWNrT24oeCwgeSkKLXsKLSAgICBpZiAoIXdpbmRv
dy5ldmVudFNlbmRlcikKLSAgICAgICAgcmV0dXJuOwotICAgIGV2ZW50U2VuZGVyLm1vdXNlTW92
ZVRvKHggKyBpbnB1dC5vZmZzZXRMZWZ0LCB5ICsgaW5wdXQub2Zmc2V0VG9wKTsKLSAgICBldmVu
dFNlbmRlci5tb3VzZURvd24oKTsKLSAgICBldmVudFNlbmRlci5tb3VzZVVwKCk7Ci19Ci0KLWlu
cHV0LnZhbHVlID0gJzIzNDUtVzA3JzsKLXZhciBjZW50ZXIgPSBpbnB1dC5vZmZzZXRIZWlnaHQg
LyAyOwotdmFyIHNwaW5CdXR0b25PZmZzZXQgPSAyNjsKLXZhciBjbGVhckJ1dHRvbk9mZnNldCA9
IDQxOwotCi1kZWJ1ZygnPT0+IEZvY3VzIG9uIHRoZSB3ZWVrIGZpZWxkLicpOwotbW91c2VDbGlj
a09uKDEwMCwgY2VudGVyKTsKLWtleURvd24oJ3VwQXJyb3cnKTsKLXNob3VsZEJlRXF1YWxUb1N0
cmluZygnaW5wdXQudmFsdWUnLCAnMjM0NS1XMDgnKTsKLW1vdXNlQ2xpY2tPbihpbnB1dC5vZmZz
ZXRXaWR0aCAtIHNwaW5CdXR0b25PZmZzZXQsIGNlbnRlciAtIDEpOwotc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCdpbnB1dC52YWx1ZScsICcyMzQ1LVcwOScpOwotbW91c2VDbGlja09uKGlucHV0Lm9m
ZnNldFdpZHRoIC0gc3BpbkJ1dHRvbk9mZnNldCwgY2VudGVyICsgMSk7Ci1zaG91bGRCZUVxdWFs
VG9TdHJpbmcoJ2lucHV0LnZhbHVlJywgJzIzNDUtVzA4Jyk7Ci1zaG91bGRCZVplcm8oJ3dpbmRv
dy5nZXRTZWxlY3Rpb24oKS5yYW5nZUNvdW50Jyk7IC8vIE5vIHRleHQgc2VsZWN0aW9uLgotCi1k
ZWJ1ZygnJyk7Ci1kZWJ1ZygnPT0+IEZvY3VzIG9uIHRoZSB5ZWFyIGZpZWxkLicpOwotbW91c2VD
bGlja09uKDIwMCwgY2VudGVyKTsKLWtleURvd24oJ3VwQXJyb3cnKTsKLXNob3VsZEJlRXF1YWxU
b1N0cmluZygnaW5wdXQudmFsdWUnLCAnMjM0Ni1XMDgnKTsKLW1vdXNlQ2xpY2tPbihpbnB1dC5v
ZmZzZXRXaWR0aCAtIHNwaW5CdXR0b25PZmZzZXQsIGNlbnRlciAtIDEpOwotc2hvdWxkQmVFcXVh
bFRvU3RyaW5nKCdpbnB1dC52YWx1ZScsICcyMzQ3LVcwOCcpOwotbW91c2VDbGlja09uKGlucHV0
Lm9mZnNldFdpZHRoIC0gc3BpbkJ1dHRvbk9mZnNldCwgY2VudGVyICsgMSk7Ci1zaG91bGRCZUVx
dWFsVG9TdHJpbmcoJ2lucHV0LnZhbHVlJywgJzIzNDYtVzA4Jyk7Ci1zaG91bGRCZVplcm8oJ3dp
bmRvdy5nZXRTZWxlY3Rpb24oKS5yYW5nZUNvdW50Jyk7IC8vIE5vIHRleHQgc2VsZWN0aW9uLgot
Ci1kZWJ1ZygnJyk7Ci1kZWJ1ZygnPT0+IENsaWNrIG9uIGEgZGlzYWJsZWQgZmllbGQuJyk7Ci1p
bnB1dC5kaXNhYmxlZCA9IHRydWU7Ci1tb3VzZUNsaWNrT24oMTAwLCBjZW50ZXIpOwota2V5RG93
bigndXBBcnJvdycpOwotc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdpbnB1dC52YWx1ZScsICcyMzQ2
LVcwOCcpOwotaW5wdXQuZGlzYWJsZWQgPSBmYWxzZTsKLQotZGVidWcoJycpOwotZGVidWcoJz09
PiBDbGljayBvbiBhIHJlYWQtb25seSBmaWVsZC4nKTsKLWlucHV0LnJlYWRPbmx5ID0gdHJ1ZTsK
LW1vdXNlQ2xpY2tPbigxMiwgY2VudGVyKTsKLWtleURvd24oJ3VwQXJyb3cnKTsKLXNob3VsZEJl
RXF1YWxUb1N0cmluZygnaW5wdXQudmFsdWUnLCAnMjM0Ni1XMDgnKTsKLWlucHV0LnJlYWRPbmx5
ID0gZmFsc2U7Ci0KLWRlYnVnKCcnKTsKLWRlYnVnKCc9PT4gQ2xpY2sgb24gY2xlYXIgYnV0dG9u
LicpOwotaW5wdXQucmVhZE9ubHkgPSB0cnVlOwotbW91c2VDbGlja09uKGlucHV0Lm9mZnNldFdp
ZHRoIC0gY2xlYXJCdXR0b25PZmZzZXQsIGNlbnRlcik7Ci1zaG91bGRCZUVxdWFsVG9TdHJpbmco
J2lucHV0LnZhbHVlJywgJzIzNDYtVzA4Jyk7Ci1pbnB1dC5kaXNhYmxlZCA9IHRydWU7Ci1pbnB1
dC5yZWFkT25seSA9IGZhbHNlOwotbW91c2VDbGlja09uKGlucHV0Lm9mZnNldFdpZHRoIC0gY2xl
YXJCdXR0b25PZmZzZXQsIGNlbnRlcik7Ci1zaG91bGRCZUVxdWFsVG9TdHJpbmcoJ2lucHV0LnZh
bHVlJywgJzIzNDYtVzA4Jyk7Ci1pbnB1dC5kaXNhYmxlZCA9IGZhbHNlOwotbW91c2VDbGlja09u
KGlucHV0Lm9mZnNldFdpZHRoIC0gY2xlYXJCdXR0b25PZmZzZXQsIGNlbnRlcik7Ci1zaG91bGRC
ZUVxdWFsVG9TdHJpbmcoJ2lucHV0LnZhbHVlJywgJycpOwotCi1kZWJ1ZygnJyk7Ci08L3Njcmlw
dD4KLTxzY3JpcHQgc3JjPSIuLi8uLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3Nj
cmlwdD4KLTwvYm9keT4KLTwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZm9y
bXMvd2Vlay1tdWx0aXBsZS1maWVsZHMvd2Vlay1tdWx0aXBsZS1maWVsZHMtcHJlc2VydmUtdmFs
dWUtYWZ0ZXItaGlzdG9yeS1iYWNrLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvZm9y
bXMvd2Vlay1tdWx0aXBsZS1maWVsZHMvd2Vlay1tdWx0aXBsZS1maWVsZHMtcHJlc2VydmUtdmFs
dWUtYWZ0ZXItaGlzdG9yeS1iYWNrLWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggYWU1ZGEzNDViMzc5YmYyNmY2OGY5ZWQwMTg4N2NhMjY5YzA2YjgzMC4uMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0
L2Zvcm1zL3dlZWstbXVsdGlwbGUtZmllbGRzL3dlZWstbXVsdGlwbGUtZmllbGRzLXByZXNlcnZl
LXZhbHVlLWFmdGVyLWhpc3RvcnktYmFjay1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAt
MSwxOCArMCwwIEBACi1DaGVja3MgaW5wdXQgdmFsdWUgaXMgcHJlc2VydmVkIGFmdGVyIGJhY2t3
YXJkIGFuZCBmb3J3YXJkCi0KLU9uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAi
UEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KLQotCi1XZW50IGJh
Y2sgdG8gYSBwYWdlLiBDaGVja2luZyBhIGZvcm0gY29udHJvbCB3aGljaCBoYWQgYSBmdWxsIHZh
bHVlOgotUEFTUyAiMTIwMTItVzEwIiBpcyAiMTIwMTItVzEwIgotV2VudCBiYWNrIHRvIGEgcGFn
ZS4gQ2hlY2tpbmcgYSBmb3JtIGNvbnRyb2wgd2hpY2ggaGFkIGEgcGFydGlhbCB2YWx1ZToKLVBB
U1MgIldlZWsgMDEsIC0tLS0iIGlzICJXZWVrIDAxLCAtLS0tIgotV2VudCBmb3J3YXJkIHRvIGEg
cGFnZS4gQ2hlY2tpbmcgYSBmb3JtIGNvbnRyb2wgd2hpY2ggaGFkIGEgZnVsbCB2YWx1ZToKLVBB
U1MgIjAwMDEtVzExIiBpcyAiMDAwMS1XMTEiCi1XZW50IGZvcndhcmQgdG8gYSBwYWdlLiBDaGVj
a2luZyBhIGZvcm0gY29udHJvbCB3aGljaCBoYWQgYSBwYXJ0aWFsIHZhbHVlOgotUEFTUyAiV2Vl
ayAtLSwgMTk5OSIgaXMgIldlZWsgLS0sIDE5OTkiCi0KLVBBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2Vk
IGlzIHRydWUKLQotVEVTVCBDT01QTEVURQotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0
L2Zvcm1zL3dlZWstbXVsdGlwbGUtZmllbGRzL3dlZWstbXVsdGlwbGUtZmllbGRzLXByZXNlcnZl
LXZhbHVlLWFmdGVyLWhpc3RvcnktYmFjay5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy93
ZWVrLW11bHRpcGxlLWZpZWxkcy93ZWVrLW11bHRpcGxlLWZpZWxkcy1wcmVzZXJ2ZS12YWx1ZS1h
ZnRlci1oaXN0b3J5LWJhY2suaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNWZk
YTZkOTc3ZDllMGI2ZjQ1NDBjN2MyYTg0N2I4NmFlY2IzOTEyZC4uMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3dlZWst
bXVsdGlwbGUtZmllbGRzL3dlZWstbXVsdGlwbGUtZmllbGRzLXByZXNlcnZlLXZhbHVlLWFmdGVy
LWhpc3RvcnktYmFjay5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsNDIgKzAsMCBAQAotPCFET0NU
WVBFIGh0bWw+Ci08aHRtbD4KLTxoZWFkPgotPHNjcmlwdCBzcmM9Ii4uLy4uLy4uL2Zhc3QvanMv
cmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5PgotPGlm
cmFtZSBpZD0iaWZyYW1lIj48L2lmcmFtZT4KLTxzY3JpcHQ+Ci1kZXNjcmlwdGlvbignQ2hlY2tz
IGlucHV0IHZhbHVlIGlzIHByZXNlcnZlZCBhZnRlciBiYWNrd2FyZCBhbmQgZm9yd2FyZCcpOwot
aWYgKCF3aW5kb3cuZXZlbnRTZW5kZXIgfHwgIXdpbmRvdy5pbnRlcm5hbHMpCi0gICAgZGVidWco
J1BsZWFzZSBydW4gd2l0aGluIERSVC9XVFInKTsKLXdpbmRvdy5qc1Rlc3RJc0FzeW5jID0gdHJ1
ZTsKLQotdmFyIHN0YXRlID0gJ2RpcmVjdCc7Ci12YXIgdGVzdENhc2VzID0gW107Ci0KLWZ1bmN0
aW9uIGZhaWxlZChtZXNzYWdlKSB7Ci0gICAgdGVzdEZhaWxlZChtZXNzYWdlICsgJyBpbiAnICsg
c3RhdGUpOwotICAgIGZpbmlzaEpTVGVzdCgpOwotfQotCi1mdW5jdGlvbiBmaW5pc2hUZXN0KCkg
ewotICAgIHJ1blRlc3RDYXNlcygpOwotICAgIGZpbmlzaEpTVGVzdCgpOwotfQotCi1mdW5jdGlv
biBydW5UZXN0Q2FzZXMoKSB7Ci0gICAgZm9yICh2YXIgaW5kZXggPSAwOyBpbmRleCA8IHRlc3RD
YXNlcy5sZW5ndGg7ICsraW5kZXgpIHsKLSAgICAgICAgdmFyIHRlc3RDYXNlID0gdGVzdENhc2Vz
W2luZGV4XTsKLSAgICAgICAgZGVidWcodGVzdENhc2VbJ2Rlc2NyaXB0aW9uJ10gKyAnOicpOwot
ICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoJyInICsgdGVzdENhc2VbJ2FjdHVhbCddICsg
JyInLCB0ZXN0Q2FzZVsnZXhwZWN0ZWQnXSk7Ci0gICAgfQotICAgIGRlYnVnKCcnKTsKLX0KLQot
d2luZG93Lm9ubG9hZCA9IGZ1bmN0aW9uKCkgewotICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCdpZnJhbWUnKS5zcmMgPSAncmVzb3VyY2VzL3ByZXNlcnZlLXZhbHVlLWFmdGVyLWhpc3Rvcnkt
YmFjay1mcmFtZS5odG1sP3BhZ2UxJzsKLX07Ci08L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIuLi8u
Li8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgotPC9ib2R5
PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy93ZWVrLW11bHRp
cGxlLWZpZWxkcy93ZWVrLW11bHRpcGxlLWZpZWxkcy1yZWFkb25seS1zdWJmaWVsZC1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3dlZWstbXVsdGlwbGUtZmllbGRzL3dlZWst
bXVsdGlwbGUtZmllbGRzLXJlYWRvbmx5LXN1YmZpZWxkLWV4cGVjdGVkLnR4dApkZWxldGVkIGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMGJhNmE0NTIzZWU4YTI3ZTJhOWUwMTg2Y2FkMmViOTdhYWNi
OWI1MC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlv
dXRUZXN0cy9mYXN0L2Zvcm1zL3dlZWstbXVsdGlwbGUtZmllbGRzL3dlZWstbXVsdGlwbGUtZmll
bGRzLXJlYWRvbmx5LXN1YmZpZWxkLWV4cGVjdGVkLnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDMx
ICswLDAgQEAKLVN1Yi1maWVsZHMgaW4gaW5wdXRbdHlwZT13ZWVrXSBzaG91bGQgYmUgcmVhZC1v
bmx5IGluIHNvbWUgY2FzZXMuIFRoaXMgcmVxdWlyZXMgd2luZG93LmludGVybmFscy4KLQotT24g
c3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93
ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgotCi0KLWNyZWF0ZVdlZWtJbnB1dCBhcmd1bWVudCBvcmRl
cjogbWluLCBtYXgsIHZhbHVlCi0KLVllYXIgZmllbGQ6Ci1QQVNTIGlzUmVhZE9ubHlGaWVsZChj
cmVhdGVXZWVrSW5wdXQoIiIsICIiLCAiIiksIHBzZXVkb1llYXIpIGlzIGZhbHNlCi1QQVNTIGlz
UmVhZE9ubHlGaWVsZChjcmVhdGVXZWVrSW5wdXQoIjIwMTItVzUwIiwgIiIsICIiKSwgcHNldWRv
WWVhcikgaXMgZmFsc2UKLVBBU1MgaXNSZWFkT25seUZpZWxkKGNyZWF0ZVdlZWtJbnB1dCgiIiwg
IjIwMTItVzUwIiwgIiIpLCBwc2V1ZG9ZZWFyKSBpcyBmYWxzZQotUEFTUyBpc1JlYWRPbmx5Rmll
bGQoY3JlYXRlV2Vla0lucHV0KCIiLCAiIiwgIjIwMTItVzUwIiksIHBzZXVkb1llYXIpIGlzIGZh
bHNlCi1QQVNTIGlzUmVhZE9ubHlGaWVsZChjcmVhdGVXZWVrSW5wdXQoIjIwMTItVzAxIiwgIjIw
MTItVzUwIiwgIiIpLCBwc2V1ZG9ZZWFyKSBpcyB0cnVlCi1QQVNTIGlzUmVhZE9ubHlGaWVsZChj
cmVhdGVXZWVrSW5wdXQoIjIwMTItVzAxIiwgIjIwMTMtVzUwIiwgIiIpLCBwc2V1ZG9ZZWFyKSBp
cyBmYWxzZQotUEFTUyBpc1JlYWRPbmx5RmllbGQoY3JlYXRlV2Vla0lucHV0KCIyMDEyLVcwMSIs
ICIyMDEyLVc1MCIsICIyMDEyLVcwNSIpLCBwc2V1ZG9ZZWFyKSBpcyB0cnVlCi1QQVNTIGlzUmVh
ZE9ubHlGaWVsZChjcmVhdGVXZWVrSW5wdXQoIjIwMTItVzAxIiwgIjIwMTItVzUwIiwgIjIwMTMt
VzAxIiksIHBzZXVkb1llYXIpIGlzIGZhbHNlCi1XZWVrIGZpZWxkOgotV2Ugc2hvdWxkIG5vdCBt
YWtlIGFsbCB0aGUgZmllbGRzIHJlYWRvbmx5IGJ5IG1pbi9tYXgsIHNvIHdlZWsgZmllbGQgaXMg
YWx3YXlzIGVkaXRhYmxlLgotUEFTUyBpc1JlYWRPbmx5RmllbGQoY3JlYXRlV2Vla0lucHV0KCIi
LCAiIiwgIiIpLCBwc2V1ZG9XZWVrKSBpcyBmYWxzZQotUEFTUyBpc1JlYWRPbmx5RmllbGQoY3Jl
YXRlV2Vla0lucHV0KCIyMDEyLVc1MCIsICIiLCAiIiksIHBzZXVkb1dlZWspIGlzIGZhbHNlCi1Q
QVNTIGlzUmVhZE9ubHlGaWVsZChjcmVhdGVXZWVrSW5wdXQoIiIsICIyMDEyLVc1MCIsICIiKSwg
cHNldWRvV2VlaykgaXMgZmFsc2UKLVBBU1MgaXNSZWFkT25seUZpZWxkKGNyZWF0ZVdlZWtJbnB1
dCgiIiwgIiIsICIyMDEyLVc1MCIpLCBwc2V1ZG9XZWVrKSBpcyBmYWxzZQotUEFTUyBpc1JlYWRP
bmx5RmllbGQoY3JlYXRlV2Vla0lucHV0KCIyMDEyLVc1MCIsICIyMDEyLVc1MCIsICIiKSwgcHNl
dWRvV2VlaykgaXMgZmFsc2UKLVBBU1MgaXNSZWFkT25seUZpZWxkKGNyZWF0ZVdlZWtJbnB1dCgi
MjAxMi1XNDkiLCAiMjAxMy1XNTAiLCAiIiksIHBzZXVkb1dlZWspIGlzIGZhbHNlCi1QQVNTIGlz
UmVhZE9ubHlGaWVsZChjcmVhdGVXZWVrSW5wdXQoIjIwMTItVzUwIiwgIjIwMTMtVzUwIiwgIiIp
LCBwc2V1ZG9XZWVrKSBpcyBmYWxzZQotUEFTUyBpc1JlYWRPbmx5RmllbGQoY3JlYXRlV2Vla0lu
cHV0KCIyMDEyLVc1MCIsICIyMDEyLVc1MCIsICIyMDEyLVc1MCIpLCBwc2V1ZG9XZWVrKSBpcyBm
YWxzZQotUEFTUyBpc1JlYWRPbmx5RmllbGQoY3JlYXRlV2Vla0lucHV0KCIyMDEyLVc1MCIsICIy
MDEyLVc1MCIsICIyMDEyLVc0OSIpLCBwc2V1ZG9XZWVrKSBpcyBmYWxzZQotUEFTUyBzdWNjZXNz
ZnVsbHlQYXJzZWQgaXMgdHJ1ZQotCi1URVNUIENPTVBMRVRFCi0KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2Zhc3QvZm9ybXMvd2Vlay1tdWx0aXBsZS1maWVsZHMvd2Vlay1tdWx0aXBsZS1maWVs
ZHMtcmVhZG9ubHktc3ViZmllbGQuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvd2Vlay1t
dWx0aXBsZS1maWVsZHMvd2Vlay1tdWx0aXBsZS1maWVsZHMtcmVhZG9ubHktc3ViZmllbGQuaHRt
bApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNjJhYWUyMWI4M2ExMDEyNmY4YmRmYmY0
NGFmMGFkYTE5ZGZiNjAyMi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3dlZWstbXVsdGlwbGUtZmllbGRzL3dlZWst
bXVsdGlwbGUtZmllbGRzLXJlYWRvbmx5LXN1YmZpZWxkLmh0bWwKKysrIC9kZXYvbnVsbApAQCAt
MSw1NyArMCwwIEBACi08IURPQ1RZUEUgaHRtbD4KLTxib2R5PgotPHNjcmlwdCBzcmM9Ii4uLy4u
L2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0PgotZnVuY3Rp
b24gY3JlYXRlV2Vla0lucHV0KG1pbiwgbWF4LCB2YWx1ZSkgewotICAgIHZhciBpbnB1dCA9IGRv
Y3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2lucHV0Jyk7Ci0gICAgaW5wdXQudHlwZSA9ICd3ZWVrJzsK
LSAgICBpZiAobWluKQotICAgICAgICBpbnB1dC5taW4gPSBtaW47Ci0gICAgaWYgKG1heCkKLSAg
ICAgICAgaW5wdXQubWF4ID0gbWF4OwotICAgIGlmICh2YWx1ZSkKLSAgICAgICAgaW5wdXQudmFs
dWUgPSB2YWx1ZTsKLSAgICByZXR1cm4gaW5wdXQ7Ci19Ci0KLS8vIEZJWE1FOiBSZW5hbWUgdGhp
cyBmdW5jdGlvbiBhbmQgdGhlIHRlc3QgZmlsZS4KLWZ1bmN0aW9uIGlzUmVhZE9ubHlGaWVsZChp
bnB1dCwgcHNldWRvKSB7Ci0gICAgdmFyIG5vZGUgPSBpbnRlcm5hbHMueW91bmdlc3RTaGFkb3dS
b290KGlucHV0KS5xdWVyeVNlbGVjdG9yKCcqW3BzZXVkbz0iJyArIHBzZXVkbyArICciXScpOwot
ICAgIGlmICghbm9kZSkKLSAgICAgICAgdGVzdEZhaWxlZCgnUmVxdWVzdGVkIG5vZGUgaXMgbWlz
c2luZy4nKTsKLSAgICByZXR1cm4gbm9kZSAmJiBub2RlLmhhc0F0dHJpYnV0ZSgnZGlzYWJsZWQn
KTsKLX0KLQotdmFyIHBzZXVkb1dlZWsgPSAnLXdlYmtpdC1kYXRldGltZS1lZGl0LXdlZWstZmll
bGQnOwotdmFyIHBzZXVkb1llYXIgPSAnLXdlYmtpdC1kYXRldGltZS1lZGl0LXllYXItZmllbGQn
OwotCi1kZXNjcmlwdGlvbignU3ViLWZpZWxkcyBpbiBpbnB1dFt0eXBlPXdlZWtdIHNob3VsZCBi
ZSByZWFkLW9ubHkgaW4gc29tZSBjYXNlcy4gVGhpcyByZXF1aXJlcyB3aW5kb3cuaW50ZXJuYWxz
LicpOwotZGVidWcoJ2NyZWF0ZVdlZWtJbnB1dCBhcmd1bWVudCBvcmRlcjogbWluLCBtYXgsIHZh
bHVlJyk7Ci1kZWJ1ZygnJyk7Ci0KLWRlYnVnKCdZZWFyIGZpZWxkOicpOwotc2hvdWxkQmVGYWxz
ZSgnaXNSZWFkT25seUZpZWxkKGNyZWF0ZVdlZWtJbnB1dCgiIiwgIiIsICIiKSwgcHNldWRvWWVh
ciknKTsKLXNob3VsZEJlRmFsc2UoJ2lzUmVhZE9ubHlGaWVsZChjcmVhdGVXZWVrSW5wdXQoIjIw
MTItVzUwIiwgIiIsICIiKSwgcHNldWRvWWVhciknKTsKLXNob3VsZEJlRmFsc2UoJ2lzUmVhZE9u
bHlGaWVsZChjcmVhdGVXZWVrSW5wdXQoIiIsICIyMDEyLVc1MCIsICIiKSwgcHNldWRvWWVhcikn
KTsKLXNob3VsZEJlRmFsc2UoJ2lzUmVhZE9ubHlGaWVsZChjcmVhdGVXZWVrSW5wdXQoIiIsICIi
LCAiMjAxMi1XNTAiKSwgcHNldWRvWWVhciknKTsKLXNob3VsZEJlVHJ1ZSgnaXNSZWFkT25seUZp
ZWxkKGNyZWF0ZVdlZWtJbnB1dCgiMjAxMi1XMDEiLCAiMjAxMi1XNTAiLCAiIiksIHBzZXVkb1ll
YXIpJyk7Ci1zaG91bGRCZUZhbHNlKCdpc1JlYWRPbmx5RmllbGQoY3JlYXRlV2Vla0lucHV0KCIy
MDEyLVcwMSIsICIyMDEzLVc1MCIsICIiKSwgcHNldWRvWWVhciknKTsKLXNob3VsZEJlVHJ1ZSgn
aXNSZWFkT25seUZpZWxkKGNyZWF0ZVdlZWtJbnB1dCgiMjAxMi1XMDEiLCAiMjAxMi1XNTAiLCAi
MjAxMi1XMDUiKSwgcHNldWRvWWVhciknKTsKLXNob3VsZEJlRmFsc2UoJ2lzUmVhZE9ubHlGaWVs
ZChjcmVhdGVXZWVrSW5wdXQoIjIwMTItVzAxIiwgIjIwMTItVzUwIiwgIjIwMTMtVzAxIiksIHBz
ZXVkb1llYXIpJyk7Ci0KLWRlYnVnKCdXZWVrIGZpZWxkOicpOwotZGVidWcoJ1dlIHNob3VsZCBu
b3QgbWFrZSBhbGwgdGhlIGZpZWxkcyByZWFkb25seSBieSBtaW4vbWF4LCBzbyB3ZWVrIGZpZWxk
IGlzIGFsd2F5cyBlZGl0YWJsZS4nKTsKLXNob3VsZEJlRmFsc2UoJ2lzUmVhZE9ubHlGaWVsZChj
cmVhdGVXZWVrSW5wdXQoIiIsICIiLCAiIiksIHBzZXVkb1dlZWspJyk7Ci1zaG91bGRCZUZhbHNl
KCdpc1JlYWRPbmx5RmllbGQoY3JlYXRlV2Vla0lucHV0KCIyMDEyLVc1MCIsICIiLCAiIiksIHBz
ZXVkb1dlZWspJyk7Ci1zaG91bGRCZUZhbHNlKCdpc1JlYWRPbmx5RmllbGQoY3JlYXRlV2Vla0lu
cHV0KCIiLCAiMjAxMi1XNTAiLCAiIiksIHBzZXVkb1dlZWspJyk7Ci1zaG91bGRCZUZhbHNlKCdp
c1JlYWRPbmx5RmllbGQoY3JlYXRlV2Vla0lucHV0KCIiLCAiIiwgIjIwMTItVzUwIiksIHBzZXVk
b1dlZWspJyk7Ci1zaG91bGRCZUZhbHNlKCdpc1JlYWRPbmx5RmllbGQoY3JlYXRlV2Vla0lucHV0
KCIyMDEyLVc1MCIsICIyMDEyLVc1MCIsICIiKSwgcHNldWRvV2VlayknKTsKLXNob3VsZEJlRmFs
c2UoJ2lzUmVhZE9ubHlGaWVsZChjcmVhdGVXZWVrSW5wdXQoIjIwMTItVzQ5IiwgIjIwMTMtVzUw
IiwgIiIpLCBwc2V1ZG9XZWVrKScpOwotc2hvdWxkQmVGYWxzZSgnaXNSZWFkT25seUZpZWxkKGNy
ZWF0ZVdlZWtJbnB1dCgiMjAxMi1XNTAiLCAiMjAxMy1XNTAiLCAiIiksIHBzZXVkb1dlZWspJyk7
Ci1zaG91bGRCZUZhbHNlKCdpc1JlYWRPbmx5RmllbGQoY3JlYXRlV2Vla0lucHV0KCIyMDEyLVc1
MCIsICIyMDEyLVc1MCIsICIyMDEyLVc1MCIpLCBwc2V1ZG9XZWVrKScpOwotc2hvdWxkQmVGYWxz
ZSgnaXNSZWFkT25seUZpZWxkKGNyZWF0ZVdlZWtJbnB1dCgiMjAxMi1XNTAiLCAiMjAxMi1XNTAi
LCAiMjAxMi1XNDkiKSwgcHNldWRvV2VlayknKTsKLQotPC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0i
Li4vLi4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Ci08L2JvZHk+Ci0K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvd2Vlay1tdWx0aXBsZS1maWVsZHMv
d2Vlay1tdWx0aXBsZS1maWVsZHMtcmVzZXQtdmFsdWUtYWZ0ZXItcmVsb2Fkcy1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3dlZWstbXVsdGlwbGUtZmllbGRzL3dlZWstbXVs
dGlwbGUtZmllbGRzLXJlc2V0LXZhbHVlLWFmdGVyLXJlbG9hZHMtZXhwZWN0ZWQudHh0CmRlbGV0
ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA1OWQwMjQ3NTM5ZGYwMWMwMDBiN2U3MWJmN2E4ODFm
Nzk4NGFiN2UzLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBh
L0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvd2Vlay1tdWx0aXBsZS1maWVsZHMvd2Vlay1tdWx0aXBs
ZS1maWVsZHMtcmVzZXQtdmFsdWUtYWZ0ZXItcmVsb2Fkcy1leHBlY3RlZC50eHQKKysrIC9kZXYv
bnVsbApAQCAtMSwxNSArMCwwIEBACi1DaGVja3MgcmVsb2FkaW5nIHBhZ2UgcmVzZXRzIGlucHV0
IHZhbHVlcwotCi1PbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1l
c3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCi0KLQotSW5pdGlhbCB2YWx1ZXM6
Ci1QQVNTIHRlc3RJbnB1dDEudmFsdWUgaXMgIiIKLVBBU1MgdGVzdElucHV0Mi52YWx1ZSBpcyAi
MTIzNC1XMDUiCi1SZWxvYWRlZCB2YWx1ZXM6Ci1QQVNTIHRlc3RJbnB1dDEudmFsdWUgaXMgIiIK
LVBBU1MgdGVzdElucHV0Mi52YWx1ZSBpcyAiMTIzNC1XMDUiCi1QQVNTIHN1Y2Nlc3NmdWxseVBh
cnNlZCBpcyB0cnVlCi0KLVRFU1QgQ09NUExFVEUKLQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZmFzdC9mb3Jtcy93ZWVrLW11bHRpcGxlLWZpZWxkcy93ZWVrLW11bHRpcGxlLWZpZWxkcy1yZXNl
dC12YWx1ZS1hZnRlci1yZWxvYWRzLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3dlZWst
bXVsdGlwbGUtZmllbGRzL3dlZWstbXVsdGlwbGUtZmllbGRzLXJlc2V0LXZhbHVlLWFmdGVyLXJl
bG9hZHMuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMWMwMTYyZGU2NjcwNjU5
YjkwYzQ4OThkOTFjMDk2ODc0YWNlYjBmYi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3dlZWstbXVsdGlwbGUtZmll
bGRzL3dlZWstbXVsdGlwbGUtZmllbGRzLXJlc2V0LXZhbHVlLWFmdGVyLXJlbG9hZHMuaHRtbAor
KysgL2Rldi9udWxsCkBAIC0xLDQyICswLDAgQEAKLTwhRE9DVFlQRSBodG1sPgotPGh0bWw+Ci08
aGVhZD4KLTxzY3JpcHQgc3JjPSIuLi8uLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXBy
ZS5qcyI+PC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keSBvbmxvYWQ9InJ1bkJvZHlMb2FkZWQoKSI+
Ci08aWZyYW1lIGlkPWlmcmFtZSBzcmNkb2M9IjxpbnB1dCB0eXBlPXdlZWsgaWQ9J3Rlc3QxJz48
aW5wdXQgdHlwZT0nd2VlaycgaWQ9J3Rlc3QyJyB2YWx1ZT0nMTIzNC1XMDUnPiI+PC9pZnJhbWU+
Ci08c2NyaXB0PgotZGVzY3JpcHRpb24oJ0NoZWNrcyByZWxvYWRpbmcgcGFnZSByZXNldHMgaW5w
dXQgdmFsdWVzJyk7Ci13aW5kb3cuanNUZXN0SXNBc3luYyA9IHRydWU7Ci0KLXZhciBpZnJhbWUg
PSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnaWZyYW1lJyk7Ci12YXIgdGVzdElucHV0MTsKLXZh
ciB0ZXN0SW5wdXQyOwotCi1mdW5jdGlvbiBydW5Cb2R5TG9hZGVkKCkKLXsKLSAgICB0ZXN0SW5w
dXQxID0gaWZyYW1lLmNvbnRlbnREb2N1bWVudC5nZXRFbGVtZW50QnlJZCgndGVzdDEnKTsKLSAg
ICB0ZXN0SW5wdXQyID0gaWZyYW1lLmNvbnRlbnREb2N1bWVudC5nZXRFbGVtZW50QnlJZCgndGVz
dDInKTsKLSAgICBkZWJ1ZygnSW5pdGlhbCB2YWx1ZXM6Jyk7Ci0gICAgc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCd0ZXN0SW5wdXQxLnZhbHVlJywgJycpOwotICAgIHNob3VsZEJlRXF1YWxUb1N0cmlu
ZygndGVzdElucHV0Mi52YWx1ZScsICcxMjM0LVcwNScpOwotICAgIHRlc3RJbnB1dDEudmFsdWUg
PSAnMjAxMi1XMTAnOwotICAgIHRlc3RJbnB1dDIudmFsdWUgPSAnMjAxMi1XMTEnOwotICAgIGlm
cmFtZS5hZGRFdmVudExpc3RlbmVyKCdsb2FkJywgcGFyZW50LnJ1bk9uSUZyYW1lTG9hZCk7Ci0g
ICAgaWZyYW1lLmNvbnRlbnRXaW5kb3cubG9jYXRpb24ucmVsb2FkKCk7Ci19Ci0KLWZ1bmN0aW9u
IHJ1bk9uSUZyYW1lTG9hZCgpCi17Ci0gICAgdGVzdElucHV0MSA9IGlmcmFtZS5jb250ZW50RG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3Rlc3QxJyk7Ci0gICAgdGVzdElucHV0MiA9IGlmcmFtZS5j
b250ZW50RG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3Rlc3QyJyk7Ci0gICAgZGVidWcoJ1JlbG9h
ZGVkIHZhbHVlczonKTsKLSAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ3Rlc3RJbnB1dDEudmFs
dWUnLCAnJyk7Ci0gICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCd0ZXN0SW5wdXQyLnZhbHVlJywg
JzEyMzQtVzA1Jyk7Ci0gICAgaWZyYW1lLnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQoaWZyYW1lKTsK
LSAgICBmaW5pc2hKU1Rlc3QoKTsKLX0KLTwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii4uLy4uLy4u
L2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Ci08L2JvZHk+Ci08
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3dlZWstbXVsdGlwbGUt
ZmllbGRzL3dlZWstbXVsdGlwbGUtZmllbGRzLXNwaW5idXR0b24tY2hhbmdlLWFuZC1pbnB1dC1l
dmVudHMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy93ZWVrLW11bHRpcGxl
LWZpZWxkcy93ZWVrLW11bHRpcGxlLWZpZWxkcy1zcGluYnV0dG9uLWNoYW5nZS1hbmQtaW5wdXQt
ZXZlbnRzLWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMGVkZmM2
NWY5NTNjNWRhMzkyNGE3NTdjY2ZjZDFkMjc2YTJlYzIxOC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3dlZWstbXVs
dGlwbGUtZmllbGRzL3dlZWstbXVsdGlwbGUtZmllbGRzLXNwaW5idXR0b24tY2hhbmdlLWFuZC1p
bnB1dC1ldmVudHMtZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEsMTkgKzAsMCBAQAot
VGVzdCBmb3IgZXZlbnQgZGlzcGF0Y2hpbmcgYnkgc3BpbiBidXR0b25zIGluIGEgdHlwZT13ZWVr
IGlucHV0LgotCi1PbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1l
c3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCi0KLQotSW5pdGlhbCBzdGF0ZQot
UEFTUyBjaGFuZ2VFdmVudENvdW50ZXIgaXMgMAotUEFTUyBpbnB1dEV2ZW50Q291bnRlciBpcyAw
Ci1DbGljayB0aGUgdXBwZXIgYnV0dG9uCi1QQVNTIHRlc3RJbnB1dC52YWx1ZSBpcyAiMjAxMi1X
MTEiCi1QQVNTIGNoYW5nZUV2ZW50Q291bnRlciBpcyAxCi1QQVNTIGlucHV0RXZlbnRDb3VudGVy
IGlzIDEKLUZvY3VzIG9uIGFub3RoZXIgZmllbGQKLVBBU1MgY2hhbmdlRXZlbnRDb3VudGVyIGlz
IDEKLVBBU1MgaW5wdXRFdmVudENvdW50ZXIgaXMgMQotUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQg
aXMgdHJ1ZQotCi1URVNUIENPTVBMRVRFCi0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3Qv
Zm9ybXMvd2Vlay1tdWx0aXBsZS1maWVsZHMvd2Vlay1tdWx0aXBsZS1maWVsZHMtc3BpbmJ1dHRv
bi1jaGFuZ2UtYW5kLWlucHV0LWV2ZW50cy5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy93
ZWVrLW11bHRpcGxlLWZpZWxkcy93ZWVrLW11bHRpcGxlLWZpZWxkcy1zcGluYnV0dG9uLWNoYW5n
ZS1hbmQtaW5wdXQtZXZlbnRzLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDI5
YTI1ZjdkZjVlNGMyYjdmZWZlMmY4OTYyNzg1MTYxOTY2NDkyOGYuLjAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy93ZWVr
LW11bHRpcGxlLWZpZWxkcy93ZWVrLW11bHRpcGxlLWZpZWxkcy1zcGluYnV0dG9uLWNoYW5nZS1h
bmQtaW5wdXQtZXZlbnRzLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSwxNCArMCwwIEBACi08IURP
Q1RZUEUgaHRtbD4KLTxodG1sPgotPGhlYWQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vLi4vZmFzdC9q
cy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii4uL3Jl
c291cmNlcy9jb21tb24uanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy9j
b21tb24tc3BpbmJ1dHRvbi1jaGFuZ2UtYW5kLWlucHV0LWV2ZW50cy5qcyI+PC9zY3JpcHQ+Ci08
L2hlYWQ+Ci08Ym9keT4KLTxzY3JpcHQ+Ci10ZXN0U3BpbkJ1dHRvbkNoYW5nZUFuZElucHV0RXZl
bnRzKCd3ZWVrJywgJzIwMTItVzEwJywgJzIwMTItVzExJyk7Ci08L3NjcmlwdD4KLTxzY3JpcHQg
c3JjPSIuLi8uLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0
PgotPC9ib2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy93
ZWVrLW11bHRpcGxlLWZpZWxkcy93ZWVrLW11bHRpcGxlLWZpZWxkcy1zdGVwdXAtc3RlcGRvd24t
ZnJvbS1yZW5kZXJlci1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3dlZWst
bXVsdGlwbGUtZmllbGRzL3dlZWstbXVsdGlwbGUtZmllbGRzLXN0ZXB1cC1zdGVwZG93bi1mcm9t
LXJlbmRlcmVyLWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYzIx
OTRiZTQ3NTMxMGZiNTc3Y2JmZGFiMjVkNzUzNTdiMjBhOTA2Mi4uMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3dlZWst
bXVsdGlwbGUtZmllbGRzL3dlZWstbXVsdGlwbGUtZmllbGRzLXN0ZXB1cC1zdGVwZG93bi1mcm9t
LXJlbmRlcmVyLWV4cGVjdGVkLnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDM1ICswLDAgQEAKLUNo
ZWNrIHN0ZXBwaW5nLXVwIGFuZCAtZG93biBmb3Igd2VlayBpbnB1dCBmaWVsZHMgZnJvbSByZW5k
ZXJlci4KLQotT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNz
YWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgotCi0KLUZ1bmN0aW9uIGFyZ3VtZW50
cyBhcmUgKHZhbHVlLCBtaW4sIG1heCkuCi1XZWVrCi1QQVNTIHN0ZXBVcCgiMjAwMC1XMDUiLCAi
MjAwMC1XMDUiLCAiMjAwMC1XNDAiKSBpcyAiMjAwMC1XMDYiCi1QQVNTIHN0ZXBEb3duKCIyMDAw
LVcwNSIsICIyMDAwLVcwNSIsICIyMDAwLVc0MCIpIGlzICIyMDAwLVc0MCIKLVBBU1Mgc3RlcFVw
KCIyMDAwLVcwNSIsICIyMDAwLVcwMiIsICIyMDAwLVcwNSIpIGlzICIyMDAwLVcwMiIKLVBBU1Mg
c3RlcERvd24oIjIwMDAtVzA1IiwgIjIwMDAtVzAyIiwgIjIwMDAtVzA1IikgaXMgIjIwMDAtVzA0
IgotUEFTUyBzdGVwVXAoIjIwMDAtVzA1IiwgIjIwMDAtVzA4IiwgIjIwMDAtVzEwIikgaXMgIjIw
MDAtVzA4IgotUEFTUyBzdGVwRG93bigiMjAwMC1XMDUiLCAiMjAwMC1XMDgiLCAiMjAwMC1XMTAi
KSBpcyAiMjAwMC1XMTAiCi1QQVNTIHN0ZXBVcCgiMjAwMC1XMDUiLCAiMjAwMC1XMDMiLCAiMjAw
MC1XMDMiKSBpcyAiMjAwMC1XMDMiCi1QQVNTIHN0ZXBEb3duKCIyMDAwLVcwNSIsICIyMDAwLVcw
MyIsICIyMDAwLVcwMyIpIGlzICIyMDAwLVcwMyIKLVBBU1Mgc3RlcFVwKCIyMDAwLVcwNSIsICIy
MDAwLVcwMyIsICIyMDAxLVcwNSIpIGlzICIyMDAwLVcwNiIKLVBBU1Mgc3RlcERvd24oIjIwMDAt
VzA1IiwgIjIwMDAtVzA1IiwgIjIwMDEtVzA4IikgaXMgIjIwMDAtVzA0IgotWWVhcgotUEFTUyBz
dGVwVXAoIjIwMDAtVzAxIiwgIjIwMDAtVzAxIiwgIjIwMDktVzUyIikgaXMgIjIwMDEtVzAxIgot
UEFTUyBzdGVwRG93bigiMjAwMC1XMDEiLCAiMjAwMC1XMDEiLCAiMjAwOS1XNTIiKSBpcyAiMjAw
OS1XMDEiCi1QQVNTIHN0ZXBVcCgiMjAwMC1XMDEiLCAiMTk5MC1XMDEiLCAiMjAwMC1XNTIiKSBp
cyAiMTk5MC1XMDEiCi1QQVNTIHN0ZXBEb3duKCIyMDAwLVcwMSIsICIxOTkwLVcwMSIsICIyMDAw
LVc1MiIpIGlzICIxOTk5LVcwMSIKLVBBU1Mgc3RlcFVwKCIyNzU3NjAtVzAxIiwgIjE5OTAtVzAx
IiwgbnVsbCkgaXMgIjE5OTAtVzAxIgotUEFTUyBzdGVwRG93bigiMTk5MC1XMDEiLCAiMTk5MC1X
MDEiLCBudWxsKSBpcyAiMjc1NzYwLVcwMSIKLVBBU1Mgc3RlcFVwKCIyMDAwLVcwMSIsIG51bGws
ICIyMDAwLVc1MiIpIGlzICIwMDAxLVcwMSIKLVBBU1Mgc3RlcERvd24oIjAwMDEtVzAxIiwgbnVs
bCwgIjIwMDAtVzUyIikgaXMgIjIwMDAtVzAxIgotUEFTUyBzdGVwVXAoIjE5OTAtVzAxIiwgIjIw
MDAtVzAxIiwgIjIwMDktVzUyIikgaXMgIjIwMDAtVzAxIgotUEFTUyBzdGVwRG93bigiMTk5MC1X
MDEiLCAiMjAwMC1XMDEiLCAiMjAwOS1XNTIiKSBpcyAiMjAwOS1XMDEiCi1QQVNTIHN0ZXBVcCgi
MjAyMC1XMDEiLCAiMjAwMC1XMDEiLCAiMjAwMC1XNTIiKSBpcyAiMjAwMC1XMDEiCi1QQVNTIHN0
ZXBEb3duKCIyMDIwLVcwMSIsICIyMDAwLVcwMSIsICIyMDAwLVc1MiIpIGlzICIyMDAwLVcwMSIK
LQotUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQotCi1URVNUIENPTVBMRVRFCi0KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvd2Vlay1tdWx0aXBsZS1maWVsZHMvd2Vl
ay1tdWx0aXBsZS1maWVsZHMtc3RlcHVwLXN0ZXBkb3duLWZyb20tcmVuZGVyZXIuaHRtbCBiL0xh
eW91dFRlc3RzL2Zhc3QvZm9ybXMvd2Vlay1tdWx0aXBsZS1maWVsZHMvd2Vlay1tdWx0aXBsZS1m
aWVsZHMtc3RlcHVwLXN0ZXBkb3duLWZyb20tcmVuZGVyZXIuaHRtbApkZWxldGVkIGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggY2NlNTAxNTcxYTI2YTU5MWI4MjkxOWI3OTEwNWY5NTZjOWRkOThjZC4u
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0
cy9mYXN0L2Zvcm1zL3dlZWstbXVsdGlwbGUtZmllbGRzL3dlZWstbXVsdGlwbGUtZmllbGRzLXN0
ZXB1cC1zdGVwZG93bi1mcm9tLXJlbmRlcmVyLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSw2OSAr
MCwwIEBACi08IURPQ1RZUEUgaHRtbD4KLTxodG1sPgotPGhlYWQ+Ci08c2NyaXB0IHNyYz0iLi4v
Li4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIu
Li9yZXNvdXJjZXMvY29tbW9uLmpzIj48L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5PgotPHNjcmlw
dD4KLWRlc2NyaXB0aW9uKCdDaGVjayBzdGVwcGluZy11cCBhbmQgLWRvd24gZm9yIHdlZWsgaW5w
dXQgZmllbGRzIGZyb20gcmVuZGVyZXIuJyk7Ci1pZiAoIXdpbmRvdy5ldmVudFNlbmRlcikKLSAg
ICBkZWJ1ZygnVGhpcyB0ZXN0IHJlcXVpcmVzIGV2ZW50U2VuZGVyLicpOwotCi12YXIgaW5wdXQg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdpbnB1dCcpOwotaW5wdXQudHlwZSA9ICd3ZWVrJzsK
LWRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoaW5wdXQpOwotCi1mdW5jdGlvbiBzZXRJbnB1dEF0
dHJpYnV0ZXModmFsdWUsIG1pbiwgbWF4KSB7Ci0gICAgaW5wdXQudmFsdWUgPSB2YWx1ZTsKLSAg
ICBpbnB1dC5taW4gPSBtaW47Ci0gICAgaW5wdXQubWF4ID0gbWF4OwotfQotCi1mdW5jdGlvbiBz
dGVwVXAodmFsdWUsIG1pbiwgbWF4KSB7Ci0gICAgc2V0SW5wdXRBdHRyaWJ1dGVzKHZhbHVlLCBt
aW4sIG1heCk7Ci0gICAgZXZlbnRTZW5kZXIua2V5RG93bigndXBBcnJvdycpOwotICAgIHJldHVy
biBpbnB1dC52YWx1ZTsKLX0KLQotZnVuY3Rpb24gc3RlcERvd24odmFsdWUsIG1pbiwgbWF4KSB7
Ci0gICAgc2V0SW5wdXRBdHRyaWJ1dGVzKHZhbHVlLCBtaW4sIG1heCk7Ci0gICAgZXZlbnRTZW5k
ZXIua2V5RG93bignZG93bkFycm93Jyk7Ci0gICAgcmV0dXJuIGlucHV0LnZhbHVlOwotfQotCi1p
bnB1dC5mb2N1cygpOwotZGVidWcoJ0Z1bmN0aW9uIGFyZ3VtZW50cyBhcmUgKHZhbHVlLCBtaW4s
IG1heCkuJyk7Ci1kZWJ1ZygnV2VlaycpOwotc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdzdGVwVXAo
IjIwMDAtVzA1IiwgIjIwMDAtVzA1IiwgIjIwMDAtVzQwIiknLCAnMjAwMC1XMDYnKTsKLXNob3Vs
ZEJlRXF1YWxUb1N0cmluZygnc3RlcERvd24oIjIwMDAtVzA1IiwgIjIwMDAtVzA1IiwgIjIwMDAt
VzQwIiknLCAnMjAwMC1XNDAnKTsKLXNob3VsZEJlRXF1YWxUb1N0cmluZygnc3RlcFVwKCIyMDAw
LVcwNSIsICIyMDAwLVcwMiIsICIyMDAwLVcwNSIpJywgJzIwMDAtVzAyJyk7Ci1zaG91bGRCZUVx
dWFsVG9TdHJpbmcoJ3N0ZXBEb3duKCIyMDAwLVcwNSIsICIyMDAwLVcwMiIsICIyMDAwLVcwNSIp
JywgJzIwMDAtVzA0Jyk7Ci1zaG91bGRCZUVxdWFsVG9TdHJpbmcoJ3N0ZXBVcCgiMjAwMC1XMDUi
LCAiMjAwMC1XMDgiLCAiMjAwMC1XMTAiKScsICcyMDAwLVcwOCcpOwotc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCdzdGVwRG93bigiMjAwMC1XMDUiLCAiMjAwMC1XMDgiLCAiMjAwMC1XMTAiKScsICcy
MDAwLVcxMCcpOwotc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdzdGVwVXAoIjIwMDAtVzA1IiwgIjIw
MDAtVzAzIiwgIjIwMDAtVzAzIiknLCAnMjAwMC1XMDMnKTsKLXNob3VsZEJlRXF1YWxUb1N0cmlu
Zygnc3RlcERvd24oIjIwMDAtVzA1IiwgIjIwMDAtVzAzIiwgIjIwMDAtVzAzIiknLCAnMjAwMC1X
MDMnKTsKLXNob3VsZEJlRXF1YWxUb1N0cmluZygnc3RlcFVwKCIyMDAwLVcwNSIsICIyMDAwLVcw
MyIsICIyMDAxLVcwNSIpJywgJzIwMDAtVzA2Jyk7Ci1zaG91bGRCZUVxdWFsVG9TdHJpbmcoJ3N0
ZXBEb3duKCIyMDAwLVcwNSIsICIyMDAwLVcwNSIsICIyMDAxLVcwOCIpJywgJzIwMDAtVzA0Jyk7
Ci0KLWRlYnVnKCdZZWFyJyk7Ci1ldmVudFNlbmRlci5rZXlEb3duKCdyaWdodEFycm93Jyk7Ci1z
aG91bGRCZUVxdWFsVG9TdHJpbmcoJ3N0ZXBVcCgiMjAwMC1XMDEiLCAiMjAwMC1XMDEiLCAiMjAw
OS1XNTIiKScsICcyMDAxLVcwMScpOwotc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdzdGVwRG93bigi
MjAwMC1XMDEiLCAiMjAwMC1XMDEiLCAiMjAwOS1XNTIiKScsICcyMDA5LVcwMScpOwotc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCdzdGVwVXAoIjIwMDAtVzAxIiwgIjE5OTAtVzAxIiwgIjIwMDAtVzUy
IiknLCAnMTk5MC1XMDEnKTsKLXNob3VsZEJlRXF1YWxUb1N0cmluZygnc3RlcERvd24oIjIwMDAt
VzAxIiwgIjE5OTAtVzAxIiwgIjIwMDAtVzUyIiknLCAnMTk5OS1XMDEnKTsKLXNob3VsZEJlRXF1
YWxUb1N0cmluZygnc3RlcFVwKCIyNzU3NjAtVzAxIiwgIjE5OTAtVzAxIiwgbnVsbCknLCAnMTk5
MC1XMDEnKTsKLXNob3VsZEJlRXF1YWxUb1N0cmluZygnc3RlcERvd24oIjE5OTAtVzAxIiwgIjE5
OTAtVzAxIiwgbnVsbCknLCAnMjc1NzYwLVcwMScpOwotc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdz
dGVwVXAoIjIwMDAtVzAxIiwgbnVsbCwgIjIwMDAtVzUyIiknLCAnMDAwMS1XMDEnKTsKLXNob3Vs
ZEJlRXF1YWxUb1N0cmluZygnc3RlcERvd24oIjAwMDEtVzAxIiwgbnVsbCwgIjIwMDAtVzUyIikn
LCAnMjAwMC1XMDEnKTsKLXNob3VsZEJlRXF1YWxUb1N0cmluZygnc3RlcFVwKCIxOTkwLVcwMSIs
ICIyMDAwLVcwMSIsICIyMDA5LVc1MiIpJywgJzIwMDAtVzAxJyk7Ci1zaG91bGRCZUVxdWFsVG9T
dHJpbmcoJ3N0ZXBEb3duKCIxOTkwLVcwMSIsICIyMDAwLVcwMSIsICIyMDA5LVc1MiIpJywgJzIw
MDktVzAxJyk7Ci1zaG91bGRCZUVxdWFsVG9TdHJpbmcoJ3N0ZXBVcCgiMjAyMC1XMDEiLCAiMjAw
MC1XMDEiLCAiMjAwMC1XNTIiKScsICcyMDAwLVcwMScpOwotc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCdzdGVwRG93bigiMjAyMC1XMDEiLCAiMjAwMC1XMDEiLCAiMjAwMC1XNTIiKScsICcyMDAwLVcw
MScpOwotCi1kZWJ1ZygnJyk7Ci1pbnB1dC5yZW1vdmUoKTsKLTwvc2NyaXB0PgotPHNjcmlwdCBz
cmM9Ii4uLy4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgotPC9ib2R5
PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy93ZWVrLW11bHRp
cGxlLWZpZWxkcy93ZWVrLW11bHRpcGxlLWZpZWxkcy12YWxpZGl0eS1iYWRpbnB1dC1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3dlZWstbXVsdGlwbGUtZmllbGRzL3dlZWst
bXVsdGlwbGUtZmllbGRzLXZhbGlkaXR5LWJhZGlucHV0LWV4cGVjdGVkLnR4dApkZWxldGVkIGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMmQ2MTgyMWYyMWI2OTM4ZTMzOWFkY2VmMzA5YzM4NThiNTg0
ZjEzMi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlv
dXRUZXN0cy9mYXN0L2Zvcm1zL3dlZWstbXVsdGlwbGUtZmllbGRzL3dlZWstbXVsdGlwbGUtZmll
bGRzLXZhbGlkaXR5LWJhZGlucHV0LWV4cGVjdGVkLnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDE1
ICswLDAgQEAKLUEgd2VlayBpbnB1dCBmaWVsZHMgd2l0aCBhIGJhZCB1c2VyIGlucHV0IHNob3Vs
ZCBtYWtlIHZhbGlkaXR5LmJhZElucHV0IHRydWUgYW5kIGhhdmUgOmludmFsaWQgc3R5bGUuCi0K
LU9uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZv
bGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KLQotCi1Jbml0aWFsIHN0YXRlLiBUaGUgZWxtZW50
IGhhcyBubyB2YWx1ZS4KLVBBU1MgY29sb3JPZihpbnB1dCkgaXMgbm90IGludmFsaWRTdHlsZUNv
bG9yCi1QQVNTIGlucHV0LnZhbGlkaXR5LmJhZElucHV0IGlzIGZhbHNlCi1TZXQgYSB2YWx1ZSB0
byB0aGUgZmlyc3Qgc3ViLWZpZWxkLiBUaGUgZWxlbWVudCBiZWNvbWVzIGJhZElucHV0LgotUEFT
UyBjb2xvck9mKGlucHV0KSBpcyBpbnZhbGlkU3R5bGVDb2xvcgotUEFTUyBpbnB1dC52YWxpZGl0
eS5iYWRJbnB1dCBpcyB0cnVlCi1QQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCi0KLVRF
U1QgQ09NUExFVEUKLQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy93ZWVrLW11
bHRpcGxlLWZpZWxkcy93ZWVrLW11bHRpcGxlLWZpZWxkcy12YWxpZGl0eS1iYWRpbnB1dC5odG1s
IGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy93ZWVrLW11bHRpcGxlLWZpZWxkcy93ZWVrLW11bHRp
cGxlLWZpZWxkcy12YWxpZGl0eS1iYWRpbnB1dC5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCA4NDdhNmVlZDgwNmM1OTI2NjdhM2YwOWUyZWM2ODk1ZDc4NjM3NTcyLi4wMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2Zhc3Qv
Zm9ybXMvd2Vlay1tdWx0aXBsZS1maWVsZHMvd2Vlay1tdWx0aXBsZS1maWVsZHMtdmFsaWRpdHkt
YmFkaW5wdXQuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDE0ICswLDAgQEAKLTwhRE9DVFlQRSBo
dG1sPgotPHN0eWxlPgotOmludmFsaWQgewotICAgIGJhY2tncm91bmQtY29sb3I6ICNmZjAwMDA7
Ci19Ci08L3N0eWxlPgotPGJvZHk+Ci08c2NyaXB0IHNyYz0iLi4vLi4vanMvcmVzb3VyY2VzL2pz
LXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvbXVsdGlw
bGUtZmllbGRzLXZhbGlkaXR5LWJhZGlucHV0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQ+Ci10ZXN0
QmFkSW5wdXQoJ3dlZWsnKTsKLTwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii4uLy4uL2pzL3Jlc291
cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgotPC9ib2R5PgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZmFzdC9mb3Jtcy93ZWVrLW11bHRpcGxlLWZpZWxkcy93ZWVrLW11bHRpcGxlLWZp
ZWxkcy12YWx1ZS1zZXQtZW1wdHktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jt
cy93ZWVrLW11bHRpcGxlLWZpZWxkcy93ZWVrLW11bHRpcGxlLWZpZWxkcy12YWx1ZS1zZXQtZW1w
dHktZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAzNmUwMDU3Y2E3
N2EyMDg4YzhlOGVkMGEzNGMzYmViOTM5YTI3NjEzLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvd2Vlay1tdWx0aXBs
ZS1maWVsZHMvd2Vlay1tdWx0aXBsZS1maWVsZHMtdmFsdWUtc2V0LWVtcHR5LWV4cGVjdGVkLnR4
dAorKysgL2Rldi9udWxsCkBAIC0xLDEyICswLDAgQEAKLUNoZWNrIGlmIGlucHV0LnZhbHVlPSIi
IGNsZWFycyBhbiBpbnB1dCB3aXRoIHBhcnRpYWxseS1zcGVjaWZpZWQgdmFsdWUuCi0KLU9uIHN1
Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2Vk
IGJ5ICJURVNUIENPTVBMRVRFIi4KLQotCi1FbXB0eSB0ZXh0OiBXZWVrIC0tLCAtLS0tCi1QQVNT
IGV2ZW50U2VuZGVyLmtleURvd24oInVwQXJyb3ciKTsgZ2V0VXNlckFnZW50U2hhZG93VGV4dENv
bnRlbnQoaW5wdXQpIGlzIG5vdCBlbXB0eVRleHQKLVBBU1MgaW5wdXQudmFsdWUgPSAiIjsgZ2V0
VXNlckFnZW50U2hhZG93VGV4dENvbnRlbnQoaW5wdXQpIGlzIGVtcHR5VGV4dAotUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQotCi1URVNUIENPTVBMRVRFCi0KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2Zhc3QvZm9ybXMvd2Vlay1tdWx0aXBsZS1maWVsZHMvd2Vlay1tdWx0aXBsZS1m
aWVsZHMtdmFsdWUtc2V0LWVtcHR5Lmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3dlZWst
bXVsdGlwbGUtZmllbGRzL3dlZWstbXVsdGlwbGUtZmllbGRzLXZhbHVlLXNldC1lbXB0eS5odG1s
CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA5ZTY1OWMyN2JkZjU1YWJlYjFkNzkzYjBi
MjU5MzdjYTZhZDJkYjIwLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvd2Vlay1tdWx0aXBsZS1maWVsZHMvd2Vlay1t
dWx0aXBsZS1maWVsZHMtdmFsdWUtc2V0LWVtcHR5Lmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSwx
MCArMCwwIEBACi08IURPQ1RZUEUgaHRtbD4KLTxib2R5PgotPHNjcmlwdCBzcmM9Ii4uLy4uL2pz
L3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iLi4vcmVz
b3VyY2VzL2NvbW1vbi5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL211
bHRpcGxlLWZpZWxkcy12YWx1ZS1zZXQtZW1wdHkuanMiPjwvc2NyaXB0PgotPHNjcmlwdD4KLXRl
c3RTZXR0aW5nRW1wdHlTdHJpbmdDbGVhcnNTdWJGaWVsZHMoJ3dlZWsnKTsKLTwvc2NyaXB0Pgot
PHNjcmlwdCBzcmM9Ii4uLy4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0
PgotPC9ib2R5PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy93ZWVrLW11bHRp
cGxlLWZpZWxkcy93ZWVrLW11bHRpcGxlLWZpZWxkcy13aGVlbC1ldmVudC1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3dlZWstbXVsdGlwbGUtZmllbGRzL3dlZWstbXVsdGlw
bGUtZmllbGRzLXdoZWVsLWV2ZW50LWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMTBhZTljN2FiNWEwYjNkNzdhMTkzMWY2Mzc2ZDJkOWJjZTI2MjJhYS4uMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0
L2Zvcm1zL3dlZWstbXVsdGlwbGUtZmllbGRzL3dlZWstbXVsdGlwbGUtZmllbGRzLXdoZWVsLWV2
ZW50LWV4cGVjdGVkLnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDIzICswLDAgQEAKLVRlc3QgZm9y
IHdoZWVsIG9wZXJhdGlvbnMgZm9yIDxpbnB1dCB0eXBlPXdlZWs+Ci0KLU9uIHN1Y2Nlc3MsIHlv
dSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNU
IENPTVBMRVRFIi4KLQotCi1Jbml0aWFsIHZhbHVlIGlzIDE5OTktVzAxLiBXZSdsbCB3aGVlbCB1
cCBieSAxOgotUEFTUyBpbnB1dC52YWx1ZSBpcyAiMTk5OS1XMDIiCi1XaGVlbCB1cCBieSAxMDA6
Ci1QQVNTIGlucHV0LnZhbHVlIGlzICIxOTk5LVcwMyIKLVdoZWVsIGRvd24gYnkgMToKLVBBU1Mg
aW5wdXQudmFsdWUgaXMgIjE5OTktVzAyIgotV2hlZWwgZG93biBieSAyNTY6Ci1QQVNTIGlucHV0
LnZhbHVlIGlzICIxOTk5LVcwMSIKLURpc2FibGVkIGlucHV0IGVsZW1lbnQ6Ci1QQVNTIGlucHV0
LnZhbHVlIGlzICIxOTk5LVcwMSIKLVJlYWQtb25seSBpbnB1dCBlbGVtZW50OgotUEFTUyBpbnB1
dC52YWx1ZSBpcyAiMTk5OS1XMDEiCi1ObyBmb2N1czoKLVBBU1MgaW5wdXQudmFsdWUgaXMgIjE5
OTktVzAxIgotUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQotCi1URVNUIENPTVBMRVRF
Ci0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvd2Vlay1tdWx0aXBsZS1maWVs
ZHMvd2Vlay1tdWx0aXBsZS1maWVsZHMtd2hlZWwtZXZlbnQuaHRtbCBiL0xheW91dFRlc3RzL2Zh
c3QvZm9ybXMvd2Vlay1tdWx0aXBsZS1maWVsZHMvd2Vlay1tdWx0aXBsZS1maWVsZHMtd2hlZWwt
ZXZlbnQuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNDk4ZjQyZmVmNTNkZGUx
NTA3MzkyZjE5YWZlMGQ4ZGU4M2JiZGE3Mi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3dlZWstbXVsdGlwbGUtZmll
bGRzL3dlZWstbXVsdGlwbGUtZmllbGRzLXdoZWVsLWV2ZW50Lmh0bWwKKysrIC9kZXYvbnVsbApA
QCAtMSwxNyArMCwwIEBACi08IURPQ1RZUEUgaHRtbD4KLTxodG1sPgotPGhlYWQ+Ci08c2NyaXB0
IHNyYz0iLi4vLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0
PgotPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy9jb21tb24td2hlZWwtZXZlbnQuanMiPjwvc2Ny
aXB0PgotPC9oZWFkPgotPGJvZHk+Ci08c2NyaXB0PgotdGVzdFdoZWVsRXZlbnQoewotICAgICdp
bnB1dFR5cGUnIDogJ3dlZWsnLAotICAgICdpbml0aWFsVmFsdWUnIDogJzE5OTktVzAxJywKLSAg
ICAnc3RlcFVwVmFsdWUxJyA6ICcxOTk5LVcwMicsCi0gICAgJ3N0ZXBVcFZhbHVlMicgOiAnMTk5
OS1XMDMnIH0pOwotPC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vLi4vZmFzdC9qcy9yZXNv
dXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KLTwvYm9keT4KLTwvaHRtbD4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2VmbC9UZXN0RXhwZWN0YXRpb25zIGIvTGF5b3V0
VGVzdHMvcGxhdGZvcm0vZWZsL1Rlc3RFeHBlY3RhdGlvbnMKaW5kZXggYWQzM2Y3YTQyZjI3YzFj
ZWY2OTJlN2EwNjUwYjMzMjI3ZGQ4MGU5OC4uN2NkYzcyZTE4NjEzYjQwZGQxNWRlYmU5N2NkZDBk
NWIwMzIzOTEyOCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZWZsL1Rlc3RFeHBl
Y3RhdGlvbnMKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZWZsL1Rlc3RFeHBlY3RhdGlvbnMK
QEAgLTE0MzIsMTQgKzE0MzIsNiBAQCB3ZWJraXQub3JnL2IvNTA0ODUgaW5zcGVjdG9yL3Byb2Zp
bGVyL2hlYXAtc25hcHNob3Qtc3VtbWFyeS1zb3J0aW5nLmh0bWwgWyBTa2lwCiB3ZWJraXQub3Jn
L2IvNTA0ODUgaW5zcGVjdG9yL3Byb2ZpbGVyL2hlYXAtc25hcHNob3Qtc3VtbWFyeS1zb3J0aW5n
LWluc3RhbmNlcy5odG1sIFsgU2tpcCBdCiB3ZWJraXQub3JnL2IvNTA0ODUgaW5zcGVjdG9yLXBy
b3RvY29sL2hlYXAtcHJvZmlsZXIgWyBTa2lwIF0KIAotIyBFTkFCTEUoSU5QVVRfTVVMVElQTEVf
RklFTERTX1VJKSBpcyBkaXNhYmxlZAotZmFzdC9mb3Jtcy9kYXRlLW11bHRpcGxlLWZpZWxkcwot
ZmFzdC9mb3Jtcy9kYXRldGltZS1tdWx0aXBsZS1maWVsZHMKLWZhc3QvZm9ybXMvZGF0ZXRpbWVs
b2NhbC1tdWx0aXBsZS1maWVsZHMKLXdlYmtpdC5vcmcvYi85NzI5OSBmYXN0L2Zvcm1zL21vbnRo
LW11bHRpcGxlLWZpZWxkcwotd2Via2l0Lm9yZy9iLzk0MTg2IGZhc3QvZm9ybXMvdGltZS1tdWx0
aXBsZS1maWVsZHMKLWZhc3QvZm9ybXMvd2Vlay1tdWx0aXBsZS1maWVsZHMKLQogd2Via2l0Lm9y
Zy9iLzkzOTc2IGZhc3QvY3NzLWdlbmVyYXRlZC1jb250ZW50L3F1b3Rlcy1sYW5nLmh0bWwgWyBJ
bWFnZU9ubHlGYWlsdXJlIF0KIAogIyBUaGlzIGhhcyBhbHdheXMgZmFpbGVkIG9uIEd0ay9FZmwg
LSBleHBvc2VkIGJ5IGJ1ZyA4OTgyNgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0v
Z3RrL1Rlc3RFeHBlY3RhdGlvbnMgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGsvVGVzdEV4cGVj
dGF0aW9ucwppbmRleCBiNDQ0MDc4ZmI4MWUxNmUzN2NjYzllNTdjNTA4NTlhNjllM2VhNjkxLi43
ZGRiM2M1M2JkNGMwZmU5NDI2N2FhOGVhNWE5MjFiMDFiNjdiZWU5IDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9wbGF0Zm9ybS9ndGsvVGVzdEV4cGVjdGF0aW9ucworKysgYi9MYXlvdXRUZXN0cy9w
bGF0Zm9ybS9ndGsvVGVzdEV4cGVjdGF0aW9ucwpAQCAtMTY3LDE3ICsxNjcsMTEgQEAgd2Via2l0
Lm9yZy9iLzk4OTM1IGZhc3QvZm9ybXMvY29sb3IgWyBTa2lwIF0KIAogIyBFTkFCTEVfSU5QVVRf
VFlQRV8qIGFyZSBub3QgZW5hYmxlZC4KIHdlYmtpdC5vcmcvYi85ODkzNiBmYXN0L2Zvcm1zL2Rh
dGUgWyBTa2lwIF0KLXdlYmtpdC5vcmcvYi85ODkzNiBmYXN0L2Zvcm1zL2RhdGUtbXVsdGlwbGUt
ZmllbGRzIFsgU2tpcCBdCiB3ZWJraXQub3JnL2IvOTg5MzYgZmFzdC9mb3Jtcy9kYXRldGltZSBb
IFNraXAgXQotd2Via2l0Lm9yZy9iLzk4OTM2IGZhc3QvZm9ybXMvZGF0ZXRpbWUtbXVsdGlwbGUt
ZmllbGRzIFsgU2tpcCBdCiB3ZWJraXQub3JnL2IvOTg5MzYgZmFzdC9mb3Jtcy9kYXRldGltZWxv
Y2FsIFsgU2tpcCBdCi13ZWJraXQub3JnL2IvOTg5MzYgZmFzdC9mb3Jtcy9kYXRldGltZWxvY2Fs
LW11bHRpcGxlLWZpZWxkcyBbIFNraXAgXQogd2Via2l0Lm9yZy9iLzk4OTM2IGZhc3QvZm9ybXMv
bW9udGggWyBTa2lwIF0KLXdlYmtpdC5vcmcvYi85ODkzNiBmYXN0L2Zvcm1zL21vbnRoLW11bHRp
cGxlLWZpZWxkcyBbIFNraXAgXQogd2Via2l0Lm9yZy9iLzk4OTM2IGZhc3QvZm9ybXMvdGltZSBb
IFNraXAgXQotd2Via2l0Lm9yZy9iLzk4OTM2IGZhc3QvZm9ybXMvdGltZS1tdWx0aXBsZS1maWVs
ZHMgWyBTa2lwIF0KIHdlYmtpdC5vcmcvYi85ODkzNiBmYXN0L2Zvcm1zL3dlZWsgWyBTa2lwIF0K
LXdlYmtpdC5vcmcvYi85ODkzNiBmYXN0L2Zvcm1zL3dlZWstbXVsdGlwbGUtZmllbGRzIFsgU2tp
cCBdCiAKICMgRU5BQkxFX0dBTUVQQUQgbm90IGVuYWJsZWQuCiB3ZWJraXQub3JnL2IvOTg5Mzcg
Z2FtZXBhZCBbIFNraXAgXQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL1Rl
c3RFeHBlY3RhdGlvbnMgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvVGVzdEV4cGVjdGF0aW9u
cwppbmRleCBiNThkNzQyNjJiZDE5N2M1ODBjNjU2MTM4ZTVlZjg0MjE0MDliM2YyLi5mMzk3ZDcw
MWE5MzlkZThjMTMwYWY1NTJhYWNjMThiNTU2ZDI5OWRjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9wbGF0Zm9ybS9tYWMvVGVzdEV4cGVjdGF0aW9ucworKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9y
bS9tYWMvVGVzdEV4cGVjdGF0aW9ucwpAQCAtNjc3LDE0ICs2NzcsNiBAQCB3ZWJraXQub3JnL2Iv
OTA3MjUgbWVkaWEvbWVkaWEtYmxvY2tlZC1ieS1iZWZvcmVsb2FkLmh0bWwgWyBQYXNzIEZhaWx1
cmUgXQogIyBUaGlzIHRlc3QgZGVwZW5kcyBvbiBzdWJwaXhlbCBsYXlvdXQuCiB3ZWJraXQub3Jn
L2IvOTIzNTIgY3NzMy9mbGV4Ym94L2ZsZXgtcm91bmRpbmcuaHRtbAogCi0jIEVOQUJMRShJTlBV
VF9NVUxUSVBMRV9GSUVMRFNfVUkpIGlzIGRpc2FibGVkCi1mYXN0L2Zvcm1zL2RhdGUtbXVsdGlw
bGUtZmllbGRzCi1mYXN0L2Zvcm1zL2RhdGV0aW1lLW11bHRpcGxlLWZpZWxkcwotZmFzdC9mb3Jt
cy9kYXRldGltZWxvY2FsLW11bHRpcGxlLWZpZWxkcwotZmFzdC9mb3Jtcy9tb250aC1tdWx0aXBs
ZS1maWVsZHMKLWZhc3QvZm9ybXMvdGltZS1tdWx0aXBsZS1maWVsZHMKLWZhc3QvZm9ybXMvd2Vl
ay1tdWx0aXBsZS1maWVsZHMKLQogIyA8cmRhcjovL3Byb2JsZW0vMTEyMjQxNjA+IEZvY3VzIG5v
dCB0cmFuc2ZlcnJpbmcgcHJvcGVybHkgaW4gRHVtcFJlbmRlclRyZWUgaW4gTW91bnRhaW4gTGlv
bgogZmFzdC9ldmVudHMvc2hvdy1tb2RhbC1kaWFsb2ctb25ibHVyLW9uZm9jdXMuaHRtbAogcGxh
dGZvcm0vbWFjL2Zhc3QvZm9ybXMvbGlzdGJveC1zY3JvbGxiYXItaGl0LXRlc3QuaHRtbApkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vcXQvVGVzdEV4cGVjdGF0aW9ucyBiL0xheW91
dFRlc3RzL3BsYXRmb3JtL3F0L1Rlc3RFeHBlY3RhdGlvbnMKaW5kZXggZDZmYTA4OTFkZDczMjc5
NWZlODk5ODdiYzRkMWFmMzY2YzEyMTkzZS4uZjYyMmFkOTBmMjljZmRkMTg4N2QyOWU3Y2IxNjQ2
M2RlZTUzNWFhYSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vcXQvVGVzdEV4cGVj
dGF0aW9ucworKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9xdC9UZXN0RXhwZWN0YXRpb25zCkBA
IC0zMDAsMTQgKzMwMCw2IEBAIGZhc3QvZXZlbnRzL3RvdWNoL2dlc3R1cmUvY29udGV4dC1tZW51
LW9uLWxvbmctdGFwLmh0bWwKICMgRU5BQkxFKEhJRERFTl9QQUdFX0RPTV9USU1FUl9USFJPVFRM
SU5HKSBpcyBkaXNhYmxlZAogZmFzdC9kb20vdGltZXItdGhyb3R0bGluZy1oaWRkZW4tcGFnZS5o
dG1sCiAKLSMgRU5BQkxFKElOUFVUX01VTFRJUExFX0ZJRUxEU19VSSkgaXMgZGlzYWJsZWQKLWZh
c3QvZm9ybXMvZGF0ZS1tdWx0aXBsZS1maWVsZHMKLWZhc3QvZm9ybXMvZGF0ZXRpbWUtbXVsdGlw
bGUtZmllbGRzCi1mYXN0L2Zvcm1zL2RhdGV0aW1lbG9jYWwtbXVsdGlwbGUtZmllbGRzCi1mYXN0
L2Zvcm1zL21vbnRoLW11bHRpcGxlLWZpZWxkcwotZmFzdC9mb3Jtcy90aW1lLW11bHRpcGxlLWZp
ZWxkcwotZmFzdC9mb3Jtcy93ZWVrLW11bHRpcGxlLWZpZWxkcwotCiAjIEVOQUJMRShEUkFHR0FC
TEVfUkVHSU9OKSBpcyBkaXNhYmxlZAogZmFzdC9jc3MvZHJhZ2dhYmxlLXJlZ2lvbi1wYXJzZXIu
aHRtbAogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93aW4vVGVzdEV4cGVjdGF0
aW9ucyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL3dpbi9UZXN0RXhwZWN0YXRpb25zCmluZGV4IGFl
ZTEyYzU4ZjU4ZDBiMjQwNmMzNjBkNWI1NjJkNjUxNjM2ZWZiMjcuLjVlM2EwZDc2MGFkZjc3N2Q4
NDYyZDYzYTVmOGUyYTcyYzVjMDY0OGYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3Jt
L3dpbi9UZXN0RXhwZWN0YXRpb25zCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL3dpbi9UZXN0
RXhwZWN0YXRpb25zCkBAIC0yMDUzLDE0ICsyMDUzLDYgQEAgcGx1Z2lucy9uZXN0ZWQtcGx1Z2lu
LW9iamVjdHMuaHRtbAogI1JlcXVpcmUgcmViYXNlbGluaW5nIGFmdGVyICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODk4MjYKIGZhc3QvY3NzL3dvcmQtc3BhY2UtZXh0
cmEuaHRtbAogCi0jIEVOQUJMRShJTlBVVF9NVUxUSVBMRV9GSUVMRFNfVUkpIGlzIGRpc2FibGVk
Ci1mYXN0L2Zvcm1zL2RhdGUtbXVsdGlwbGUtZmllbGRzCi1mYXN0L2Zvcm1zL2RhdGV0aW1lLW11
bHRpcGxlLWZpZWxkcwotZmFzdC9mb3Jtcy9kYXRldGltZWxvY2FsLW11bHRpcGxlLWZpZWxkcwot
ZmFzdC9mb3Jtcy9tb250aC1tdWx0aXBsZS1maWVsZHMKLWZhc3QvZm9ybXMvdGltZS1tdWx0aXBs
ZS1maWVsZHMKLWZhc3QvZm9ybXMvd2Vlay1tdWx0aXBsZS1maWVsZHMKLQogIyBOZWVkcyBhIHJl
YmFzZWxpbmUgYWZ0ZXIgV0sxMDg0MjkgbGFuZHMuCiBzdmcvY3VzdG9tL3RleHQtY3RtLnN2Zwog
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93aW5jYWlyby9UZXN0RXhwZWN0YXRp
b25zIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2luY2Fpcm8vVGVzdEV4cGVjdGF0aW9ucwppbmRl
eCBhYmNjZmVlOGE5YTRkNjUwMzAxM2UyZTAwN2UyN2RhYmNjNTRjOTZiLi5mYTc4M2E3ZGM5ZTVm
ZmUwNDM3YWVmMDczMDU5MTVjNzQ2YTJjMDZlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0
Zm9ybS93aW5jYWlyby9UZXN0RXhwZWN0YXRpb25zCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3Jt
L3dpbmNhaXJvL1Rlc3RFeHBlY3RhdGlvbnMKQEAgLTI1NDIsMTEgKzI1NDIsNiBAQCBwbHVnaW5z
L25lc3RlZC1wbHVnaW4tb2JqZWN0cy5odG1sCiAjUmVxdWlyZSByZWJhc2VsaW5pbmcgYWZ0ZXIg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04OTgyNgogZmFzdC9jc3Mv
d29yZC1zcGFjZS1leHRyYS5odG1sCiAKLSMgRU5BQkxFKElOUFVUX01VTFRJUExFX0ZJRUxEU19V
SSkgaXMgZGlzYWJsZWQKLWZhc3QvZm9ybXMvZGF0ZS1tdWx0aXBsZS1maWVsZHMKLWZhc3QvZm9y
bXMvbW9udGgtbXVsdGlwbGUtZmllbGRzCi1mYXN0L2Zvcm1zL3RpbWUtbXVsdGlwbGUtZmllbGRz
Ci0KICMgUmVxdWlyZSByZWJhc2VsaW5lIGFmdGVyIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD04NDI4NgogZmFzdC9ibG9jay9mbG9hdC9hdm9pZGFuY2UtcnRsLmh0bWwK
IGZhc3QvYm9yZGVycy9ib3JkZXItcmFkaXVzLXdpZGUtYm9yZGVyLTAxLmh0bWwK
</data>

          </attachment>
      

    </bug>

</bugzilla>