<?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>157467</bug_id>
          
          <creation_ts>2016-05-08 15:33:49 -0700</creation_ts>
          <short_desc>Optimize [StrictTypeChecking] on IDL operations</short_desc>
          <delta_ts>2016-05-09 12:45:53 -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>Bindings</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=157321</see_also>
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>156778</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Chris Dumez">cdumez</reporter>
          <assigned_to name="Chris Dumez">cdumez</assigned_to>
          <cc>cdumez</cc>
    
    <cc>commit-queue</cc>
    
    <cc>darin</cc>
    
    <cc>ggaren</cc>
    
    <cc>sam</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1191105</commentid>
    <comment_count>0</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2016-05-08 15:33:49 -0700</bug_when>
    <thetext>Optimize [StrictTypeChecking] on IDL operations.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1191106</commentid>
    <comment_count>1</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2016-05-08 15:34:41 -0700</bug_when>
    <thetext>Apply same optimization as in Bug 157321 to IDL operations.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1191127</commentid>
    <comment_count>2</comment_count>
      <attachid>278384</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2016-05-08 19:14:16 -0700</bug_when>
    <thetext>Created attachment 278384
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1191247</commentid>
    <comment_count>3</comment_count>
      <attachid>278384</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2016-05-09 12:24:24 -0700</bug_when>
    <thetext>Comment on attachment 278384
Patch

All those strings will probably make bindings code size a little bigger.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1191265</commentid>
    <comment_count>4</comment_count>
      <attachid>278384</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-05-09 12:45:49 -0700</bug_when>
    <thetext>Comment on attachment 278384
Patch

Clearing flags on attachment: 278384

Committed r200583: &lt;http://trac.webkit.org/changeset/200583&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1191266</commentid>
    <comment_count>5</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-05-09 12:45:53 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>278384</attachid>
            <date>2016-05-08 19:14:16 -0700</date>
            <delta_ts>2016-05-09 12:45:49 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-157467-20160508191501.patch</filename>
            <type>text/plain</type>
            <size>69184</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjAwNTYyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZWUyYzU5MTRiOTFhNjE3
MDZhMjVmYTRhMTgxOWVlZGZmYmM1MTYxYi4uNzg4NzI1MTgzZTA1YjUzZDYxZTI5NjNiMDUwYTBm
YTgzYzYwZGIwOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDc0IEBACiAyMDE2LTA1LTA4ICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CiAKKyAgICAgICAgT3B0aW1pemUgW1N0cmljdFR5
cGVDaGVja2luZ10gb24gSURMIG9wZXJhdGlvbnMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTE1NzQ2NworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIE9wdGltaXplIFtTdHJpY3RUeXBlQ2hlY2tpbmddIG9uIElE
TCBvcGVyYXRpb25zIHNvIHRoYXQ6CisgICAgICAgIC0gT25seSBnZW5lcmF0ZSBleHRyYSBjb2Rl
IGZvciBudWxsYWJsZSBwYXJhbWV0ZXJzIGJlY2F1c2UgZm9yIG5vbi1udWxsYWJsZQorICAgICAg
ICAgIHBhcmFtZXRlcnMsIEpTWFhYOjp0b1dyYXBwZWQoKSB3aWxsIHJldHVybiBudWxsIGluIGNh
c2Ugb2YgYSBiYWQgaW5wdXQKKyAgICAgICAgICB0eXBlLiBXZSB3aWxsIHRoZW4gdGhyb3cgYSBU
eXBlRXJyb3Igd2hlbiBudWxsLWNoZWNraW5nIGl0IGFscmVhZHkuCisgICAgICAgIC0gQWZ0ZXIg
dGhlIEpTVmFsdWU6OmlzTnVsbE9yVW5kZWZpbmVkKCkgY2hlY2ssIGF2b2lkIGNhbGxpbmcKKyAg
ICAgICAgICBKU1hYWDo6dG9XcmFwcGVkKCkgYW5kIHNldCBuYXRpdmVWYWx1ZSB0byBudWxscHRy
IGRpcmVjdGx5LgorICAgICAgICAtIERyb3AgdGhlIGNoZWNrIGZvciBKU1ZhbHVlOjppbmhlcml0
cyhKU1hYWDo6aW5mbygpKSBhbmQganVzdCBkbyBhIG51bGwKKyAgICAgICAgICBjaGVjayBvbiB0
aGUgdmFsdWUgcmV0dXJuZWQgYnkgSlNYWFg6OnRvV3JhcHBlZCgpLiB0b1dyYXBwZWQoKSBhbHJl
YWR5CisgICAgICAgICAgZG9lcyBhIEpTVmFsdWU6OmluaGVyaXRzKEpTWFhYOjppbmZvKCkgY2hl
Y2suIFNpbmNlIHdlIG9ubHkgY2FsbAorICAgICAgICAgIHRvV3JhcHBlZCgpIGlmIHRoZSBKU1Zh
bHVlIGlzIG5vdCBudWxsL3VuZGVmaW5lZCwgYSBudWxsIHJldHVybiB2YWx1ZQorICAgICAgICAg
IGFsd2F5cyBpbmRpY2F0ZXMgYSBiYWQgaW5wdXQgdHlwZS4KKworICAgICAgICBBbHNvIHVwZGF0
ZSB0aGUgVHlwZUVycm9yIG1lc3NhZ2UgdG8gYmUgbW9yZSB1c2VmdWwgd2hlbiBwYXNzaW5nIG51
bGwKKyAgICAgICAgZm9yIG5vbi1udWxsYWJsZSBwYXJhbWV0ZXJzIG9yIGFzc2lnbmluZyBudWxs
IHRvIGEgbm9uLW51bGxhYmxlCisgICAgICAgIGF0dHJpYnV0ZS4gVGhlIG1lc3NhZ2UgaXMgbm93
IGNvbnNpc3RlbnQgd2l0aCB0aGUgb25lIHVzZWQgZm9yIHN0cmljdAorICAgICAgICB0eXBlIGNo
ZWNraW5nLgorCisgICAgICAgIE5vIG5ldyB0ZXN0cywgcmViYXNlbGluZWQgZXhpc3RpbmcgdGVz
dHMuCisKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9KU0RPTUJpbmRpbmcuaDoKKyAgICAgICAgKiBi
aW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JKUy5wbToKKyAgICAgICAgKEdlbmVyYXRlSW1w
bGVtZW50YXRpb24pOgorICAgICAgICAoR2VuZXJhdGVQYXJhbWV0ZXJzQ2hlY2spOgorICAgICAg
ICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RBY3RpdmVET01PYmplY3QuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6anNUZXN0QWN0aXZlRE9NT2JqZWN0UHJvdG90eXBlRnVuY3Rpb25F
eGNpdGluZ0Z1bmN0aW9uKToKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNU
ZXN0SW50ZXJmYWNlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OnNldEpTVGVzdEludGVyZmFjZUlt
cGxlbWVudHNOb2RlKToKKyAgICAgICAgKFdlYkNvcmU6OnNldEpTVGVzdEludGVyZmFjZVN1cHBs
ZW1lbnRhbE5vZGUpOgorICAgICAgICAoV2ViQ29yZTo6anNUZXN0SW50ZXJmYWNlUHJvdG90eXBl
RnVuY3Rpb25JbXBsZW1lbnRzTWV0aG9kMik6CisgICAgICAgIChXZWJDb3JlOjpqc1Rlc3RJbnRl
cmZhY2VQcm90b3R5cGVGdW5jdGlvblN1cHBsZW1lbnRhbE1ldGhvZDIpOgorICAgICAgICAqIGJp
bmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RPYmouY3BwOgorICAgICAgICAoV2ViQ29yZTo6
c2V0SlNUZXN0T2JqVGVzdE9iakF0dHIpOgorICAgICAgICAoV2ViQ29yZTo6c2V0SlNUZXN0T2Jq
TGVuaWVudFRlc3RPYmpBdHRyKToKKyAgICAgICAgKFdlYkNvcmU6OnNldEpTVGVzdE9ialhNTE9i
akF0dHIpOgorICAgICAgICAoV2ViQ29yZTo6c2V0SlNUZXN0T2JqVHlwZWRBcnJheUF0dHIpOgor
ICAgICAgICAoV2ViQ29yZTo6c2V0SlNUZXN0T2JqV2l0aFNjcmlwdEV4ZWN1dGlvbkNvbnRleHRB
dHRyaWJ1dGUpOgorICAgICAgICAoV2ViQ29yZTo6c2V0SlNUZXN0T2JqV2l0aFNjcmlwdFN0YXRl
QXR0cmlidXRlUmFpc2VzKToKKyAgICAgICAgKFdlYkNvcmU6OnNldEpTVGVzdE9ialdpdGhTY3Jp
cHRFeGVjdXRpb25Db250ZXh0QXR0cmlidXRlUmFpc2VzKToKKyAgICAgICAgKFdlYkNvcmU6OnNl
dEpTVGVzdE9ialdpdGhTY3JpcHRFeGVjdXRpb25Db250ZXh0QW5kU2NyaXB0U3RhdGVBdHRyaWJ1
dGUpOgorICAgICAgICAoV2ViQ29yZTo6c2V0SlNUZXN0T2JqV2l0aFNjcmlwdEV4ZWN1dGlvbkNv
bnRleHRBbmRTY3JpcHRTdGF0ZUF0dHJpYnV0ZVJhaXNlcyk6CisgICAgICAgIChXZWJDb3JlOjpz
ZXRKU1Rlc3RPYmpXaXRoU2NyaXB0RXhlY3V0aW9uQ29udGV4dEFuZFNjcmlwdFN0YXRlV2l0aFNw
YWNlc0F0dHJpYnV0ZSk6CisgICAgICAgIChXZWJDb3JlOjpzZXRKU1Rlc3RPYmpXaXRoU2NyaXB0
QXJndW1lbnRzQW5kQ2FsbFN0YWNrQXR0cmlidXRlKToKKyAgICAgICAgKFdlYkNvcmU6OmpzVGVz
dE9ialByb3RvdHlwZUZ1bmN0aW9uVm9pZE1ldGhvZFdpdGhBcmdzKToKKyAgICAgICAgKFdlYkNv
cmU6OmpzVGVzdE9ialByb3RvdHlwZUZ1bmN0aW9uQnl0ZU1ldGhvZFdpdGhBcmdzKToKKyAgICAg
ICAgKFdlYkNvcmU6OmpzVGVzdE9ialByb3RvdHlwZUZ1bmN0aW9uT2N0ZXRNZXRob2RXaXRoQXJn
cyk6CisgICAgICAgIChXZWJDb3JlOjpqc1Rlc3RPYmpQcm90b3R5cGVGdW5jdGlvbkxvbmdNZXRo
b2RXaXRoQXJncyk6CisgICAgICAgIChXZWJDb3JlOjpqc1Rlc3RPYmpQcm90b3R5cGVGdW5jdGlv
bk9iak1ldGhvZFdpdGhBcmdzKToKKyAgICAgICAgKFdlYkNvcmU6OmpzVGVzdE9ialByb3RvdHlw
ZUZ1bmN0aW9uTWV0aG9kV2l0aFhQYXRoTlNSZXNvbHZlclBhcmFtZXRlcik6CisgICAgICAgIChX
ZWJDb3JlOjpqc1Rlc3RPYmpQcm90b3R5cGVGdW5jdGlvbk1ldGhvZFRoYXRSZXF1aXJlc0FsbEFy
Z3NBbmRUaHJvd3MpOgorICAgICAgICAoV2ViQ29yZTo6anNUZXN0T2JqUHJvdG90eXBlRnVuY3Rp
b25PdmVybG9hZGVkTWV0aG9kOCk6CisgICAgICAgIChXZWJDb3JlOjpqc1Rlc3RPYmpQcm90b3R5
cGVGdW5jdGlvbkRvbVN0cmluZ0xpc3RGdW5jdGlvbik6CisgICAgICAgIChXZWJDb3JlOjpqc1Rl
c3RPYmpQcm90b3R5cGVGdW5jdGlvbkNvbnZlcnQxKToKKyAgICAgICAgKFdlYkNvcmU6OmpzVGVz
dE9ialByb3RvdHlwZUZ1bmN0aW9uU3RyaWN0RnVuY3Rpb25XaXRoU2VxdWVuY2UpOgorICAgICAg
ICAoV2ViQ29yZTo6anNUZXN0T2JqUHJvdG90eXBlRnVuY3Rpb25TdHJpY3RGdW5jdGlvbldpdGhB
cnJheSk6CisgICAgICAgIChXZWJDb3JlOjpqc1Rlc3RPYmpQcm90b3R5cGVGdW5jdGlvblZhcmlh
ZGljTm9kZU1ldGhvZCk6CisgICAgICAgIChXZWJDb3JlOjpqc1Rlc3RPYmpQcm90b3R5cGVGdW5j
dGlvblRlc3RQcm9taXNlT3ZlcmxvYWRlZEZ1bmN0aW9uMlByb21pc2UpOgorICAgICAgICAqIGJp
bmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RPdmVybG9hZGVkQ29uc3RydWN0b3JzLmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OmNvbnN0cnVjdEpTVGVzdE92ZXJsb2FkZWRDb25zdHJ1Y3RvcnMx
KToKKyAgICAgICAgKFdlYkNvcmU6OmNvbnN0cnVjdEpTVGVzdE92ZXJsb2FkZWRDb25zdHJ1Y3Rv
cnMyKToKKyAgICAgICAgKFdlYkNvcmU6OmNvbnN0cnVjdEpTVGVzdE92ZXJsb2FkZWRDb25zdHJ1
Y3RvcnMzKToKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVGVzdE9iai5pZGw6CisK
KzIwMTYtMDUtMDggIENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KKwogICAgICAgICBb
QmluZGluZ3NdIFNpbXBsaWZ5IFtSZXF1aXJlc0V4aXN0aW5nQXRvbWljU3RyaW5nXSBJREwgZXh0
ZW5kZWQgYXR0cmlidXRlIGhhbmRsaW5nCiAgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0xNTc0NjUKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3MvanMvSlNET01CaW5kaW5nLmggYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RP
TUJpbmRpbmcuaAppbmRleCBmODc2NTRiMTVlOWMzMzNhMDViN2Y2MmU3MzA2ZjY1ZWM1MjY0Y2Y3
Li41Y2RmYTViZGNlZjdkYjljMWU0MzIwYTU2ZDcwNjEwYmUyMDI3MDE5IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTUJpbmRpbmcuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy9qcy9KU0RPTUJpbmRpbmcuaApAQCAtMTIzLDcgKzEyMyw3IEBAIFdFQkNP
UkVfRVhQT1JUIHZvaWQgdGhyb3dOb25GaW5pdGVUeXBlRXJyb3IoSlNDOjpFeGVjU3RhdGUmKTsK
IAogV0VCQ09SRV9FWFBPUlQgSlNDOjpFbmNvZGVkSlNWYWx1ZSB0aHJvd0FyZ3VtZW50TXVzdEJl
RW51bUVycm9yKEpTQzo6RXhlY1N0YXRlJiwgdW5zaWduZWQgYXJndW1lbnRJbmRleCwgY29uc3Qg
Y2hhciogYXJndW1lbnROYW1lLCBjb25zdCBjaGFyKiBmdW5jdGlvbkludGVyZmFjZU5hbWUsIGNv
bnN0IGNoYXIqIGZ1bmN0aW9uTmFtZSwgY29uc3QgY2hhciogZXhwZWN0ZWRWYWx1ZXMpOwogSlND
OjpFbmNvZGVkSlNWYWx1ZSB0aHJvd0FyZ3VtZW50TXVzdEJlRnVuY3Rpb25FcnJvcihKU0M6OkV4
ZWNTdGF0ZSYsIHVuc2lnbmVkIGFyZ3VtZW50SW5kZXgsIGNvbnN0IGNoYXIqIGFyZ3VtZW50TmFt
ZSwgY29uc3QgY2hhciogZnVuY3Rpb25JbnRlcmZhY2VOYW1lLCBjb25zdCBjaGFyKiBmdW5jdGlv
bk5hbWUpOwotSlNDOjpFbmNvZGVkSlNWYWx1ZSB0aHJvd0FyZ3VtZW50VHlwZUVycm9yKEpTQzo6
RXhlY1N0YXRlJiwgdW5zaWduZWQgYXJndW1lbnRJbmRleCwgY29uc3QgY2hhciogYXJndW1lbnRO
YW1lLCBjb25zdCBjaGFyKiBmdW5jdGlvbkludGVyZmFjZU5hbWUsIGNvbnN0IGNoYXIqIGZ1bmN0
aW9uTmFtZSwgY29uc3QgY2hhciogZXhwZWN0ZWRUeXBlKTsKK1dFQkNPUkVfRVhQT1JUIEpTQzo6
RW5jb2RlZEpTVmFsdWUgdGhyb3dBcmd1bWVudFR5cGVFcnJvcihKU0M6OkV4ZWNTdGF0ZSYsIHVu
c2lnbmVkIGFyZ3VtZW50SW5kZXgsIGNvbnN0IGNoYXIqIGFyZ3VtZW50TmFtZSwgY29uc3QgY2hh
ciogZnVuY3Rpb25JbnRlcmZhY2VOYW1lLCBjb25zdCBjaGFyKiBmdW5jdGlvbk5hbWUsIGNvbnN0
IGNoYXIqIGV4cGVjdGVkVHlwZSk7CiBKU0M6OkVuY29kZWRKU1ZhbHVlIHRocm93Q29uc3RydWN0
b3JEb2N1bWVudFVuYXZhaWxhYmxlRXJyb3IoSlNDOjpFeGVjU3RhdGUmLCBjb25zdCBjaGFyKiBp
bnRlcmZhY2VOYW1lKTsKIFdFQkNPUkVfRVhQT1JUIEpTQzo6RW5jb2RlZEpTVmFsdWUgdGhyb3dH
ZXR0ZXJUeXBlRXJyb3IoSlNDOjpFeGVjU3RhdGUmLCBjb25zdCBjaGFyKiBpbnRlcmZhY2VOYW1l
LCBjb25zdCBjaGFyKiBhdHRyaWJ1dGVOYW1lKTsKIFdFQkNPUkVfRVhQT1JUIEpTQzo6RW5jb2Rl
ZEpTVmFsdWUgdGhyb3dUaGlzVHlwZUVycm9yKEpTQzo6RXhlY1N0YXRlJiwgY29uc3QgY2hhciog
aW50ZXJmYWNlTmFtZSwgY29uc3QgY2hhciogZnVuY3Rpb25OYW1lKTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvckpTLnBtIGIvU291cmNl
L1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9ySlMucG0KaW5kZXggOGUzYzc4
ZDU4NGQ0YTE5ZmU5NGYzNmExNDk4OTk2ODU3MzE3MDY3Yy4uZTQ1ZjhhMTU1YTUxNzA1ODFlNTcy
OWFhZmIxZTdkZjlmMDU2YTllMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
c2NyaXB0cy9Db2RlR2VuZXJhdG9ySlMucG0KKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
c2NyaXB0cy9Db2RlR2VuZXJhdG9ySlMucG0KQEAgLTI5MTcsMTMgKzI5MTcsMTUgQEAgc3ViIEdl
bmVyYXRlSW1wbGVtZW50YXRpb24KICAgICAgICAgICAgICAgICAgICAgcHVzaChAaW1wbENvbnRl
bnQsICIgICAgRXhjZXB0aW9uQ29kZSBlYyA9IDA7XG4iKTsKICAgICAgICAgICAgICAgICB9CiAK
KyAgICAgICAgICAgICAgICBteSAkc2hvdWxkUGFzc0J5UmVmZXJlbmNlID0gU2hvdWxkUGFzc1dy
YXBwZXJCeVJlZmVyZW5jZSgkYXR0cmlidXRlLT5zaWduYXR1cmUsICRpbnRlcmZhY2UpOworCiAg
ICAgICAgICAgICAgICAgIyBJZiB0aGUgIlN0cmljdFR5cGVDaGVja2luZyIgZXh0ZW5kZWQgYXR0
cmlidXRlIGlzIHByZXNlbnQsIGFuZCB0aGUgYXR0cmlidXRlJ3MgdHlwZSBpcyBhbgogICAgICAg
ICAgICAgICAgICMgaW50ZXJmYWNlIHR5cGUsIHRoZW4gaWYgdGhlIGluY29taW5nIHZhbHVlIGRv
ZXMgbm90IGltcGxlbWVudCB0aGF0IGludGVyZmFjZSwgYSBUeXBlRXJyb3IKICAgICAgICAgICAg
ICAgICAjIGlzIHRocm93biByYXRoZXIgdGhhbiBzaWxlbnRseSBwYXNzaW5nIE5VTEwgdG8gdGhl
IEMrKyBjb2RlLgogICAgICAgICAgICAgICAgICMgUGVyIHRoZSBXZWIgSURMIGFuZCBFQ01BU2Ny
aXB0IHNwZWNpZmljYXRpb25zLCBpbmNvbWluZyB2YWx1ZXMgY2FuIGFsd2F5cyBiZSBjb252ZXJ0
ZWQgdG8KICAgICAgICAgICAgICAgICAjIGJvdGggc3RyaW5ncyBhbmQgbnVtYmVycywgc28gZG8g
bm90IHRocm93IFR5cGVFcnJvciBpZiB0aGUgYXR0cmlidXRlIGlzIG9mIHRoZXNlIHR5cGVzLgog
ICAgICAgICAgICAgICAgIG15ICgkbmF0aXZlVmFsdWUsICRtYXlUaHJvd0V4Y2VwdGlvbikgPSBK
U1ZhbHVlVG9OYXRpdmUoJGludGVyZmFjZSwgJGF0dHJpYnV0ZS0+c2lnbmF0dXJlLCAidmFsdWUi
LCAkYXR0cmlidXRlLT5zaWduYXR1cmUtPmV4dGVuZGVkQXR0cmlidXRlcy0+eyJDb25kaXRpb25h
bCJ9KTsKLSAgICAgICAgICAgICAgICBpZiAoJGNvZGVHZW5lcmF0b3ItPklzV3JhcHBlclR5cGUo
JHR5cGUpICYmICRhdHRyaWJ1dGUtPnNpZ25hdHVyZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57IlN0
cmljdFR5cGVDaGVja2luZyJ9ICYmICRhdHRyaWJ1dGUtPnNpZ25hdHVyZS0+aXNOdWxsYWJsZSkg
eworICAgICAgICAgICAgICAgIGlmICgkYXR0cmlidXRlLT5zaWduYXR1cmUtPmV4dGVuZGVkQXR0
cmlidXRlcy0+eyJTdHJpY3RUeXBlQ2hlY2tpbmcifSAmJiAhJHNob3VsZFBhc3NCeVJlZmVyZW5j
ZSAmJiAkY29kZUdlbmVyYXRvci0+SXNXcmFwcGVyVHlwZSgkdHlwZSkpIHsKICAgICAgICAgICAg
ICAgICAgICAgJGltcGxJbmNsdWRlc3siPHJ1bnRpbWUvRXJyb3IuaD4ifSA9IDE7CiAgICAgICAg
ICAgICAgICAgICAgIHB1c2goQGltcGxDb250ZW50LCAiICAgICIgLiBHZXROYXRpdmVUeXBlRnJv
bVNpZ25hdHVyZSgkaW50ZXJmYWNlLCAkYXR0cmlidXRlLT5zaWduYXR1cmUpIC4gIiBuYXRpdmVW
YWx1ZSA9IG51bGxwdHI7XG4iKTsKICAgICAgICAgICAgICAgICAgICAgcHVzaChAaW1wbENvbnRl
bnQsICIgICAgaWYgKCF2YWx1ZS5pc1VuZGVmaW5lZE9yTnVsbCgpKSB7XG4iKTsKQEAgLTI5NTAs
MTAgKzI5NTIsOSBAQCBzdWIgR2VuZXJhdGVJbXBsZW1lbnRhdGlvbgogICAgICAgICAgICAgICAg
ICAgICBwdXNoIChAaW1wbENvbnRlbnQsICIgICAgICAgIHJldHVybiBmYWxzZTtcbiIpOwogICAg
ICAgICAgICAgICAgIH0KIAotICAgICAgICAgICAgICAgIG15ICRzaG91bGRQYXNzQnlSZWZlcmVu
Y2UgPSBTaG91bGRQYXNzV3JhcHBlckJ5UmVmZXJlbmNlKCRhdHRyaWJ1dGUtPnNpZ25hdHVyZSwg
JGludGVyZmFjZSk7CiAgICAgICAgICAgICAgICAgaWYgKCRzaG91bGRQYXNzQnlSZWZlcmVuY2Up
IHsKICAgICAgICAgICAgICAgICAgICAgcHVzaChAaW1wbENvbnRlbnQsICIgICAgaWYgKFVOTElL
RUxZKCFuYXRpdmVWYWx1ZSkpIHtcbiIpOwotICAgICAgICAgICAgICAgICAgICBwdXNoKEBpbXBs
Q29udGVudCwgIiAgICAgICAgdGhyb3dWTVR5cGVFcnJvcihzdGF0ZSk7XG4iKTsKKyAgICAgICAg
ICAgICAgICAgICAgcHVzaChAaW1wbENvbnRlbnQsICIgICAgICAgIHRocm93QXR0cmlidXRlVHlw
ZUVycm9yKCpzdGF0ZSwgXCIkaW50ZXJmYWNlTmFtZVwiLCBcIiRuYW1lXCIsIFwiJHR5cGVcIik7
XG4iKTsKICAgICAgICAgICAgICAgICAgICAgcHVzaChAaW1wbENvbnRlbnQsICIgICAgICAgIHJl
dHVybiBmYWxzZTtcbiIpOwogICAgICAgICAgICAgICAgICAgICBwdXNoKEBpbXBsQ29udGVudCwg
IiAgICB9XG4iKTsKICAgICAgICAgICAgICAgICB9CkBAIC0zNzMzLDY4ICszNzM0LDcxIEBAIHN1
YiBHZW5lcmF0ZVBhcmFtZXRlcnNDaGVjawogCiAgICAgICAgICAgICBwdXNoKEAkb3V0cHV0QXJy
YXksICIgICAgfVxuIikgaWYgJGluZGVudCBuZSAiIjsKICAgICAgICAgfSBlbHNlIHsKLSAgICAg
ICAgICAgICMgSWYgdGhlICJTdHJpY3RUeXBlQ2hlY2tpbmciIGV4dGVuZGVkIGF0dHJpYnV0ZSBp
cyBwcmVzZW50LCBhbmQgdGhlIGFyZ3VtZW50J3MgdHlwZSBpcyBhbgotICAgICAgICAgICAgIyBp
bnRlcmZhY2UgdHlwZSwgdGhlbiBpZiB0aGUgaW5jb21pbmcgdmFsdWUgZG9lcyBub3QgaW1wbGVt
ZW50IHRoYXQgaW50ZXJmYWNlLCBhIFR5cGVFcnJvcgotICAgICAgICAgICAgIyBpcyB0aHJvd24g
cmF0aGVyIHRoYW4gc2lsZW50bHkgcGFzc2luZyBOVUxMIHRvIHRoZSBDKysgY29kZS4KLSAgICAg
ICAgICAgICMgUGVyIHRoZSBXZWIgSURMIGFuZCBFQ01BU2NyaXB0IHNlbWFudGljcywgaW5jb21p
bmcgdmFsdWVzIGNhbiBhbHdheXMgYmUgY29udmVydGVkIHRvIGJvdGgKLSAgICAgICAgICAgICMg
c3RyaW5ncyBhbmQgbnVtYmVycywgc28gZG8gbm90IHRocm93IFR5cGVFcnJvciBpZiB0aGUgYXJn
dW1lbnQgaXMgb2YgdGhlc2UgdHlwZXMuCi0gICAgICAgICAgICBpZiAoJGZ1bmN0aW9uLT5zaWdu
YXR1cmUtPmV4dGVuZGVkQXR0cmlidXRlcy0+eyJTdHJpY3RUeXBlQ2hlY2tpbmcifSkgewotICAg
ICAgICAgICAgICAgICRpbXBsSW5jbHVkZXN7IjxydW50aW1lL0Vycm9yLmg+In0gPSAxOwotCi0g
ICAgICAgICAgICAgICAgbXkgJGFyZ1ZhbHVlID0gInN0YXRlLT5hcmd1bWVudCgkYXJndW1lbnRJ
bmRleCkiOwotICAgICAgICAgICAgICAgIGlmICgkY29kZUdlbmVyYXRvci0+SXNXcmFwcGVyVHlw
ZSgkdHlwZSkpIHsKLSAgICAgICAgICAgICAgICAgICAgcHVzaChAJG91dHB1dEFycmF5LCAiICAg
IGlmIChVTkxJS0VMWSghJHthcmdWYWx1ZX0uaXNVbmRlZmluZWRPck51bGwoKSAmJiAhJHthcmdW
YWx1ZX0uaW5oZXJpdHMoSlMke3R5cGV9OjppbmZvKCkpKSlcbiIpOwotICAgICAgICAgICAgICAg
ICAgICBwdXNoKEAkb3V0cHV0QXJyYXksICIgICAgICAgIHJldHVybiB0aHJvd0FyZ3VtZW50VHlw
ZUVycm9yKCpzdGF0ZSwgJGFyZ3VtZW50SW5kZXgsIFwiJG5hbWVcIiwgXCIkaW50ZXJmYWNlTmFt
ZVwiLCAkcXVvdGVkRnVuY3Rpb25OYW1lLCBcIiR0eXBlXCIpO1xuIik7Ci0gICAgICAgICAgICAg
ICAgfQotICAgICAgICAgICAgfQotCiAgICAgICAgICAgICBteSAkb3V0ZXI7CiAgICAgICAgICAg
ICBteSAkaW5uZXI7CiAgICAgICAgICAgICBteSAkbmF0aXZlVHlwZSA9IEdldE5hdGl2ZVR5cGVG
cm9tU2lnbmF0dXJlKCRpbnRlcmZhY2UsICRwYXJhbWV0ZXIpOworICAgICAgICAgICAgbXkgJGlz
VGVhck9mZiA9ICRjb2RlR2VuZXJhdG9yLT5Jc1NWR1R5cGVOZWVkaW5nVGVhck9mZigkdHlwZSkg
JiYgJGludGVyZmFjZU5hbWUgIX4gL0xpc3QkLzsKKyAgICAgICAgICAgIG15ICRzaG91bGRQYXNz
QnlSZWZlcmVuY2UgPSAkaXNUZWFyT2ZmIHx8IFNob3VsZFBhc3NXcmFwcGVyQnlSZWZlcmVuY2Uo
JHBhcmFtZXRlciwgJGludGVyZmFjZSk7CiAKLSAgICAgICAgICAgIGlmICgkcGFyYW1ldGVyLT5p
c09wdGlvbmFsICYmIGRlZmluZWQoJHBhcmFtZXRlci0+ZGVmYXVsdCkgJiYgIVdpbGxDb252ZXJ0
VW5kZWZpbmVkVG9EZWZhdWx0UGFyYW1ldGVyVmFsdWUoJHR5cGUsICRwYXJhbWV0ZXItPmRlZmF1
bHQpKSB7Ci0gICAgICAgICAgICAgICAgbXkgJGRlZmF1bHRWYWx1ZSA9ICRwYXJhbWV0ZXItPmRl
ZmF1bHQ7Ci0KLSAgICAgICAgICAgICAgICAjIFN0cmluZy1yZWxhdGVkIG9wdGltaXphdGlvbnMu
Ci0gICAgICAgICAgICAgICAgaWYgKCR0eXBlIGVxICJET01TdHJpbmciKSB7Ci0gICAgICAgICAg
ICAgICAgICAgIG15ICR1c2VBdG9taWNTdHJpbmcgPSAkcGFyYW1ldGVyLT5leHRlbmRlZEF0dHJp
YnV0ZXMtPnsiQXRvbWljU3RyaW5nIn07Ci0gICAgICAgICAgICAgICAgICAgIGlmICgkZGVmYXVs
dFZhbHVlIGVxICJudWxsIikgewotICAgICAgICAgICAgICAgICAgICAgICAgJGRlZmF1bHRWYWx1
ZSA9ICR1c2VBdG9taWNTdHJpbmcgPyAibnVsbEF0b20iIDogIlN0cmluZygpIjsKLSAgICAgICAg
ICAgICAgICAgICAgfSBlbHNpZiAoJGRlZmF1bHRWYWx1ZSBlcSAiXCJcIiIpIHsKLSAgICAgICAg
ICAgICAgICAgICAgICAgICRkZWZhdWx0VmFsdWUgPSAkdXNlQXRvbWljU3RyaW5nID8gImVtcHR5
QXRvbSIgOiAiZW1wdHlTdHJpbmcoKSI7CisgICAgICAgICAgICBpZiAoJGZ1bmN0aW9uLT5zaWdu
YXR1cmUtPmV4dGVuZGVkQXR0cmlidXRlcy0+eyJTdHJpY3RUeXBlQ2hlY2tpbmcifSAmJiAhJHNo
b3VsZFBhc3NCeVJlZmVyZW5jZSAmJiAkY29kZUdlbmVyYXRvci0+SXNXcmFwcGVyVHlwZSgkdHlw
ZSkpIHsKKyAgICAgICAgICAgICAgICAkaW1wbEluY2x1ZGVzeyI8cnVudGltZS9FcnJvci5oPiJ9
ID0gMTsKKyAgICAgICAgICAgICAgICBteSAkY2hlY2tlZEFyZ3VtZW50ID0gInN0YXRlLT5hcmd1
bWVudCgkYXJndW1lbnRJbmRleCkiOworICAgICAgICAgICAgICAgIG15ICR1bmNoZWNrZWRBcmd1
bWVudCA9ICJzdGF0ZS0+dW5jaGVja2VkQXJndW1lbnQoJGFyZ3VtZW50SW5kZXgpIjsKKyAgICAg
ICAgICAgICAgICBteSAoJG5hdGl2ZVZhbHVlLCAkbWF5VGhyb3dFeGNlcHRpb24pID0gSlNWYWx1
ZVRvTmF0aXZlKCRpbnRlcmZhY2UsICRwYXJhbWV0ZXIsICR1bmNoZWNrZWRBcmd1bWVudCwgJGZ1
bmN0aW9uLT5zaWduYXR1cmUtPmV4dGVuZGVkQXR0cmlidXRlcy0+eyJDb25kaXRpb25hbCJ9KTsK
KyAgICAgICAgICAgICAgICBwdXNoKEAkb3V0cHV0QXJyYXksICIgICAgJG5hdGl2ZVR5cGUgJG5h
bWUgPSBudWxscHRyO1xuIik7CisgICAgICAgICAgICAgICAgcHVzaChAJG91dHB1dEFycmF5LCAi
ICAgIGlmICghJGNoZWNrZWRBcmd1bWVudC5pc1VuZGVmaW5lZE9yTnVsbCgpKSB7XG4iKTsKKyAg
ICAgICAgICAgICAgICBwdXNoKEAkb3V0cHV0QXJyYXksICIgICAgICAgICRuYW1lID0gJG5hdGl2
ZVZhbHVlO1xuIik7CisgICAgICAgICAgICAgICAgaWYgKCRtYXlUaHJvd0V4Y2VwdGlvbikgewor
ICAgICAgICAgICAgICAgICAgICBwdXNoKEAkb3V0cHV0QXJyYXksICIgICAgaWYgKFVOTElLRUxZ
KHN0YXRlLT5oYWRFeGNlcHRpb24oKSkpXG4iKTsKKyAgICAgICAgICAgICAgICAgICAgcHVzaChA
JG91dHB1dEFycmF5LCAiICAgICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGpzVW5kZWZpbmVk
KCkpO1xuIik7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIHB1c2goQCRvdXRw
dXRBcnJheSwgIiAgICAgICAgaWYgKFVOTElLRUxZKCEkbmFtZSkpXG4iKTsKKyAgICAgICAgICAg
ICAgICBwdXNoKEAkb3V0cHV0QXJyYXksICIgICAgICAgICAgICByZXR1cm4gdGhyb3dBcmd1bWVu
dFR5cGVFcnJvcigqc3RhdGUsICRhcmd1bWVudEluZGV4LCBcIiRuYW1lXCIsIFwiJGludGVyZmFj
ZU5hbWVcIiwgJHF1b3RlZEZ1bmN0aW9uTmFtZSwgXCIkdHlwZVwiKTtcbiIpOworICAgICAgICAg
ICAgICAgIHB1c2goQCRvdXRwdXRBcnJheSwgIiAgICB9XG4iKTsKKyAgICAgICAgICAgIH0gZWxz
ZSB7CisgICAgICAgICAgICAgICAgaWYgKCRwYXJhbWV0ZXItPmlzT3B0aW9uYWwgJiYgZGVmaW5l
ZCgkcGFyYW1ldGVyLT5kZWZhdWx0KSAmJiAhV2lsbENvbnZlcnRVbmRlZmluZWRUb0RlZmF1bHRQ
YXJhbWV0ZXJWYWx1ZSgkdHlwZSwgJHBhcmFtZXRlci0+ZGVmYXVsdCkpIHsKKyAgICAgICAgICAg
ICAgICAgICAgbXkgJGRlZmF1bHRWYWx1ZSA9ICRwYXJhbWV0ZXItPmRlZmF1bHQ7CisgICAgCisg
ICAgICAgICAgICAgICAgICAgICMgU3RyaW5nLXJlbGF0ZWQgb3B0aW1pemF0aW9ucy4KKyAgICAg
ICAgICAgICAgICAgICAgaWYgKCR0eXBlIGVxICJET01TdHJpbmciKSB7CisgICAgICAgICAgICAg
ICAgICAgICAgICBteSAkdXNlQXRvbWljU3RyaW5nID0gJHBhcmFtZXRlci0+ZXh0ZW5kZWRBdHRy
aWJ1dGVzLT57IkF0b21pY1N0cmluZyJ9OworICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCRk
ZWZhdWx0VmFsdWUgZXEgIm51bGwiKSB7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGRl
ZmF1bHRWYWx1ZSA9ICR1c2VBdG9taWNTdHJpbmcgPyAibnVsbEF0b20iIDogIlN0cmluZygpIjsK
KyAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzaWYgKCRkZWZhdWx0VmFsdWUgZXEgIlwiXCIi
KSB7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGRlZmF1bHRWYWx1ZSA9ICR1c2VBdG9t
aWNTdHJpbmcgPyAiZW1wdHlBdG9tIiA6ICJlbXB0eVN0cmluZygpIjsKKyAgICAgICAgICAgICAg
ICAgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGRlZmF1bHRW
YWx1ZSA9ICR1c2VBdG9taWNTdHJpbmcgPyAiQXRvbWljU3RyaW5nKCRkZWZhdWx0VmFsdWUsIEF0
b21pY1N0cmluZzo6Q29uc3RydWN0RnJvbUxpdGVyYWwpIiA6ICJBU0NJSUxpdGVyYWwoJGRlZmF1
bHRWYWx1ZSkiOworICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAg
ICB9IGVsc2UgewotICAgICAgICAgICAgICAgICAgICAgICAgJGRlZmF1bHRWYWx1ZSA9ICR1c2VB
dG9taWNTdHJpbmcgPyAiQXRvbWljU3RyaW5nKCRkZWZhdWx0VmFsdWUsIEF0b21pY1N0cmluZzo6
Q29uc3RydWN0RnJvbUxpdGVyYWwpIiA6ICJBU0NJSUxpdGVyYWwoJGRlZmF1bHRWYWx1ZSkiOwor
ICAgICAgICAgICAgICAgICAgICAgICAgJGRlZmF1bHRWYWx1ZSA9ICJudWxscHRyIiBpZiAkZGVm
YXVsdFZhbHVlIGVxICJudWxsIjsKKyAgICAgICAgICAgICAgICAgICAgICAgICRkZWZhdWx0VmFs
dWUgPSAiUE5hTiIgaWYgJGRlZmF1bHRWYWx1ZSBlcSAiTmFOIjsKKyAgICAgICAgICAgICAgICAg
ICAgICAgICRkZWZhdWx0VmFsdWUgPSAiJG5hdGl2ZVR5cGUoKSIgaWYgJGRlZmF1bHRWYWx1ZSBl
cSAiW10iOworICAgICAgICAgICAgICAgICAgICAgICAgJGRlZmF1bHRWYWx1ZSA9ICJKU1ZhbHVl
OjpKU1VuZGVmaW5lZCIgaWYgJGRlZmF1bHRWYWx1ZSBlcSAidW5kZWZpbmVkIjsKICAgICAgICAg
ICAgICAgICAgICAgfQorICAgIAorICAgICAgICAgICAgICAgICAgICAkb3V0ZXIgPSAic3RhdGUt
PmFyZ3VtZW50KCRhcmd1bWVudEluZGV4KS5pc1VuZGVmaW5lZCgpID8gJGRlZmF1bHRWYWx1ZSA6
ICI7CisgICAgICAgICAgICAgICAgICAgICRpbm5lciA9ICJzdGF0ZS0+dW5jaGVja2VkQXJndW1l
bnQoJGFyZ3VtZW50SW5kZXgpIjsKKyAgICAgICAgICAgICAgICB9IGVsc2lmICgkcGFyYW1ldGVy
LT5pc09wdGlvbmFsICYmICFkZWZpbmVkKCRwYXJhbWV0ZXItPmRlZmF1bHQpKSB7CisgICAgICAg
ICAgICAgICAgICAgICMgVXNlIFdURjo6T3B0aW9uYWw8PigpIGZvciBvcHRpb25hbCBwYXJhbWV0
ZXJzIHRoYXQgYXJlIG1pc3Npbmcgb3IgdW5kZWZpbmVkIGFuZCB0aGF0IGRvIG5vdCBoYXZlIGEg
ZGVmYXVsdCB2YWx1ZSBpbiB0aGUgSURMLgorICAgICAgICAgICAgICAgICAgICAkb3V0ZXIgPSAi
c3RhdGUtPmFyZ3VtZW50KCRhcmd1bWVudEluZGV4KS5pc1VuZGVmaW5lZCgpID8gT3B0aW9uYWw8
JG5hdGl2ZVR5cGU+KCkgOiAiOworICAgICAgICAgICAgICAgICAgICAkaW5uZXIgPSAic3RhdGUt
PnVuY2hlY2tlZEFyZ3VtZW50KCRhcmd1bWVudEluZGV4KSI7CiAgICAgICAgICAgICAgICAgfSBl
bHNlIHsKLSAgICAgICAgICAgICAgICAgICAgJGRlZmF1bHRWYWx1ZSA9ICJudWxscHRyIiBpZiAk
ZGVmYXVsdFZhbHVlIGVxICJudWxsIjsKLSAgICAgICAgICAgICAgICAgICAgJGRlZmF1bHRWYWx1
ZSA9ICJQTmFOIiBpZiAkZGVmYXVsdFZhbHVlIGVxICJOYU4iOwotICAgICAgICAgICAgICAgICAg
ICAkZGVmYXVsdFZhbHVlID0gIiRuYXRpdmVUeXBlKCkiIGlmICRkZWZhdWx0VmFsdWUgZXEgIltd
IjsKLSAgICAgICAgICAgICAgICAgICAgJGRlZmF1bHRWYWx1ZSA9ICJKU1ZhbHVlOjpKU1VuZGVm
aW5lZCIgaWYgJGRlZmF1bHRWYWx1ZSBlcSAidW5kZWZpbmVkIjsKKyAgICAgICAgICAgICAgICAg
ICAgJG91dGVyID0gIiI7CisgICAgICAgICAgICAgICAgICAgICRpbm5lciA9ICJzdGF0ZS0+YXJn
dW1lbnQoJGFyZ3VtZW50SW5kZXgpIjsKICAgICAgICAgICAgICAgICB9CiAKLSAgICAgICAgICAg
ICAgICAkb3V0ZXIgPSAic3RhdGUtPmFyZ3VtZW50KCRhcmd1bWVudEluZGV4KS5pc1VuZGVmaW5l
ZCgpID8gJGRlZmF1bHRWYWx1ZSA6ICI7Ci0gICAgICAgICAgICAgICAgJGlubmVyID0gInN0YXRl
LT51bmNoZWNrZWRBcmd1bWVudCgkYXJndW1lbnRJbmRleCkiOwotICAgICAgICAgICAgfSBlbHNp
ZiAoJHBhcmFtZXRlci0+aXNPcHRpb25hbCAmJiAhZGVmaW5lZCgkcGFyYW1ldGVyLT5kZWZhdWx0
KSkgewotICAgICAgICAgICAgICAgICMgVXNlIFdURjo6T3B0aW9uYWw8PigpIGZvciBvcHRpb25h
bCBwYXJhbWV0ZXJzIHRoYXQgYXJlIG1pc3Npbmcgb3IgdW5kZWZpbmVkIGFuZCB0aGF0IGRvIG5v
dCBoYXZlIGEgZGVmYXVsdCB2YWx1ZSBpbiB0aGUgSURMLgotICAgICAgICAgICAgICAgICRvdXRl
ciA9ICJzdGF0ZS0+YXJndW1lbnQoJGFyZ3VtZW50SW5kZXgpLmlzVW5kZWZpbmVkKCkgPyBPcHRp
b25hbDwkbmF0aXZlVHlwZT4oKSA6ICI7Ci0gICAgICAgICAgICAgICAgJGlubmVyID0gInN0YXRl
LT51bmNoZWNrZWRBcmd1bWVudCgkYXJndW1lbnRJbmRleCkiOwotICAgICAgICAgICAgfSBlbHNl
IHsKLSAgICAgICAgICAgICAgICAkb3V0ZXIgPSAiIjsKLSAgICAgICAgICAgICAgICAkaW5uZXIg
PSAic3RhdGUtPmFyZ3VtZW50KCRhcmd1bWVudEluZGV4KSI7Ci0gICAgICAgICAgICB9Ci0gICAg
ICAgICAgICBteSAoJG5hdGl2ZVZhbHVlLCAkbWF5VGhyb3dFeGNlcHRpb24pID0gSlNWYWx1ZVRv
TmF0aXZlKCRpbnRlcmZhY2UsICRwYXJhbWV0ZXIsICRpbm5lciwgJGZ1bmN0aW9uLT5zaWduYXR1
cmUtPmV4dGVuZGVkQXR0cmlidXRlcy0+eyJDb25kaXRpb25hbCJ9KTsKLSAgICAgICAgICAgIHB1
c2goQCRvdXRwdXRBcnJheSwgIiAgICBhdXRvICRuYW1lID0gJHtvdXRlcn0ke25hdGl2ZVZhbHVl
fTtcbiIpOwotICAgICAgICAgICAgJHZhbHVlID0gIldURk1vdmUoJG5hbWUpIjsKLSAgICAgICAg
ICAgIGlmICgkbWF5VGhyb3dFeGNlcHRpb24pIHsKLSAgICAgICAgICAgICAgICBwdXNoKEAkb3V0
cHV0QXJyYXksICIgICAgaWYgKFVOTElLRUxZKHN0YXRlLT5oYWRFeGNlcHRpb24oKSkpXG4iKTsK
LSAgICAgICAgICAgICAgICBwdXNoKEAkb3V0cHV0QXJyYXksICIgICAgICAgIHJldHVybiBKU1Zh
bHVlOjplbmNvZGUoanNVbmRlZmluZWQoKSk7XG4iKTsKKyAgICAgICAgICAgICAgICBteSAoJG5h
dGl2ZVZhbHVlLCAkbWF5VGhyb3dFeGNlcHRpb24pID0gSlNWYWx1ZVRvTmF0aXZlKCRpbnRlcmZh
Y2UsICRwYXJhbWV0ZXIsICRpbm5lciwgJGZ1bmN0aW9uLT5zaWduYXR1cmUtPmV4dGVuZGVkQXR0
cmlidXRlcy0+eyJDb25kaXRpb25hbCJ9KTsKKyAgICAgICAgICAgICAgICBwdXNoKEAkb3V0cHV0
QXJyYXksICIgICAgYXV0byAkbmFtZSA9ICR7b3V0ZXJ9JHtuYXRpdmVWYWx1ZX07XG4iKTsKKyAg
ICAgICAgICAgICAgICAkdmFsdWUgPSAiV1RGTW92ZSgkbmFtZSkiOworICAgICAgICAgICAgICAg
IGlmICgkbWF5VGhyb3dFeGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgcHVzaChAJG91
dHB1dEFycmF5LCAiICAgIGlmIChVTkxJS0VMWShzdGF0ZS0+aGFkRXhjZXB0aW9uKCkpKVxuIik7
CisgICAgICAgICAgICAgICAgICAgIHB1c2goQCRvdXRwdXRBcnJheSwgIiAgICAgICAgcmV0dXJu
IEpTVmFsdWU6OmVuY29kZShqc1VuZGVmaW5lZCgpKTtcbiIpOworICAgICAgICAgICAgICAgIH0K
ICAgICAgICAgICAgIH0KIAotICAgICAgICAgICAgbXkgJGlzVGVhck9mZiA9ICRjb2RlR2VuZXJh
dG9yLT5Jc1NWR1R5cGVOZWVkaW5nVGVhck9mZigkdHlwZSkgJiYgJGludGVyZmFjZU5hbWUgIX4g
L0xpc3QkLzsKLSAgICAgICAgICAgIG15ICRzaG91bGRQYXNzQnlSZWZlcmVuY2UgPSBTaG91bGRQ
YXNzV3JhcHBlckJ5UmVmZXJlbmNlKCRwYXJhbWV0ZXIsICRpbnRlcmZhY2UpOwotICAgICAgICAg
ICAgaWYgKCRpc1RlYXJPZmYgb3IgJHNob3VsZFBhc3NCeVJlZmVyZW5jZSkgeworICAgICAgICAg
ICAgaWYgKCRzaG91bGRQYXNzQnlSZWZlcmVuY2UpIHsKICAgICAgICAgICAgICAgICBwdXNoKEAk
b3V0cHV0QXJyYXksICIgICAgaWYgKFVOTElLRUxZKCEkbmFtZSkpXG4iKTsKLSAgICAgICAgICAg
ICAgICBwdXNoKEAkb3V0cHV0QXJyYXksICIgICAgICAgIHJldHVybiB0aHJvd1ZNVHlwZUVycm9y
KHN0YXRlKTtcbiIpOworICAgICAgICAgICAgICAgIHB1c2goQCRvdXRwdXRBcnJheSwgIiAgICAg
ICAgcmV0dXJuIHRocm93QXJndW1lbnRUeXBlRXJyb3IoKnN0YXRlLCAkYXJndW1lbnRJbmRleCwg
XCIkbmFtZVwiLCBcIiRpbnRlcmZhY2VOYW1lXCIsICRxdW90ZWRGdW5jdGlvbk5hbWUsIFwiJHR5
cGVcIik7XG4iKTsKICAgICAgICAgICAgICAgICAkdmFsdWUgPSAkaXNUZWFyT2ZmID8gIiRuYW1l
LT5wcm9wZXJ0eVJlZmVyZW5jZSgpIiA6ICIqJG5hbWUiOwogICAgICAgICAgICAgfQogCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0QWN0
aXZlRE9NT2JqZWN0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9K
Uy9KU1Rlc3RBY3RpdmVET01PYmplY3QuY3BwCmluZGV4IDZkYjcyYTk0MmYyNDZmZWVkZGM2NzZh
MzgzZjhjNTA3ZTkxZTRmZTAuLmIzNzdkODVhMmJhZWNlOThlMzM1NWFmYzU4ZTY1NWM0MmUyOTcx
MjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9K
U1Rlc3RBY3RpdmVET01PYmplY3QuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Nj
cmlwdHMvdGVzdC9KUy9KU1Rlc3RBY3RpdmVET01PYmplY3QuY3BwCkBAIC0yMDUsNyArMjA1LDcg
QEAgRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBqc1Rlc3RBY3RpdmVET01PYmplY3RQcm90
b3R5cGVGdW5jdGlvbkV4Y2l0aW5nRnVuY3QKICAgICAgICAgcmV0dXJuIHRocm93Vk1FcnJvcihz
dGF0ZSwgY3JlYXRlTm90RW5vdWdoQXJndW1lbnRzRXJyb3Ioc3RhdGUpKTsKICAgICBhdXRvIG5l
eHRDaGlsZCA9IEpTTm9kZTo6dG9XcmFwcGVkKHN0YXRlLT5hcmd1bWVudCgwKSk7CiAgICAgaWYg
KFVOTElLRUxZKCFuZXh0Q2hpbGQpKQotICAgICAgICByZXR1cm4gdGhyb3dWTVR5cGVFcnJvcihz
dGF0ZSk7CisgICAgICAgIHJldHVybiB0aHJvd0FyZ3VtZW50VHlwZUVycm9yKCpzdGF0ZSwgMCwg
Im5leHRDaGlsZCIsICJUZXN0QWN0aXZlRE9NT2JqZWN0IiwgImV4Y2l0aW5nRnVuY3Rpb24iLCAi
Tm9kZSIpOwogICAgIGltcGwuZXhjaXRpbmdGdW5jdGlvbigqbmV4dENoaWxkKTsKICAgICByZXR1
cm4gSlNWYWx1ZTo6ZW5jb2RlKGpzVW5kZWZpbmVkKCkpOwogfQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdEludGVyZmFjZS5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0SW50ZXJmYWNlLmNw
cAppbmRleCA3MmQ3ZDJmOTQ4M2MxNDlmZjEwM2Y3NDJkMTQ3ZmY0ZWE0MGZiY2M0Li45MzcwYTcz
ZGQzYmRlOWMxNTg1ZThlMDhhNjIyNjA4ZTBjZWFkZmUwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0SW50ZXJmYWNlLmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0SW50ZXJmYWNlLmNw
cApAQCAtNjg1LDcgKzY4NSw3IEBAIGJvb2wgc2V0SlNUZXN0SW50ZXJmYWNlSW1wbGVtZW50c05v
ZGUoRXhlY1N0YXRlKiBzdGF0ZSwgRW5jb2RlZEpTVmFsdWUgdGhpc1ZhbHVlCiAgICAgYXV0byYg
aW1wbCA9IGNhc3RlZFRoaXMtPndyYXBwZWQoKTsKICAgICBhdXRvIG5hdGl2ZVZhbHVlID0gSlNO
b2RlOjp0b1dyYXBwZWQodmFsdWUpOwogICAgIGlmIChVTkxJS0VMWSghbmF0aXZlVmFsdWUpKSB7
Ci0gICAgICAgIHRocm93Vk1UeXBlRXJyb3Ioc3RhdGUpOworICAgICAgICB0aHJvd0F0dHJpYnV0
ZVR5cGVFcnJvcigqc3RhdGUsICJUZXN0SW50ZXJmYWNlIiwgImltcGxlbWVudHNOb2RlIiwgIk5v
ZGUiKTsKICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgIH0KICAgICBpbXBsLnNldEltcGxlbWVu
dHNOb2RlKCpuYXRpdmVWYWx1ZSk7CkBAIC03NTMsNyArNzUzLDcgQEAgYm9vbCBzZXRKU1Rlc3RJ
bnRlcmZhY2VTdXBwbGVtZW50YWxOb2RlKEV4ZWNTdGF0ZSogc3RhdGUsIEVuY29kZWRKU1ZhbHVl
IHRoaXNWYWwKICAgICBhdXRvJiBpbXBsID0gY2FzdGVkVGhpcy0+d3JhcHBlZCgpOwogICAgIGF1
dG8gbmF0aXZlVmFsdWUgPSBKU05vZGU6OnRvV3JhcHBlZCh2YWx1ZSk7CiAgICAgaWYgKFVOTElL
RUxZKCFuYXRpdmVWYWx1ZSkpIHsKLSAgICAgICAgdGhyb3dWTVR5cGVFcnJvcihzdGF0ZSk7Cisg
ICAgICAgIHRocm93QXR0cmlidXRlVHlwZUVycm9yKCpzdGF0ZSwgIlRlc3RJbnRlcmZhY2UiLCAi
c3VwcGxlbWVudGFsTm9kZSIsICJOb2RlIik7CiAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICB9
CiAgICAgV2ViQ29yZTo6VGVzdFN1cHBsZW1lbnRhbDo6c2V0U3VwcGxlbWVudGFsTm9kZShpbXBs
LCAqbmF0aXZlVmFsdWUpOwpAQCAtODAyLDcgKzgwMiw3IEBAIEVuY29kZWRKU1ZhbHVlIEpTQ19I
T1NUX0NBTEwganNUZXN0SW50ZXJmYWNlUHJvdG90eXBlRnVuY3Rpb25JbXBsZW1lbnRzTWV0aG9k
MihFCiAgICAgICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUoanNVbmRlZmluZWQoKSk7CiAgICAg
YXV0byBvYmpBcmcgPSBKU1Rlc3RPYmo6OnRvV3JhcHBlZChzdGF0ZS0+YXJndW1lbnQoMSkpOwog
ICAgIGlmIChVTkxJS0VMWSghb2JqQXJnKSkKLSAgICAgICAgcmV0dXJuIHRocm93Vk1UeXBlRXJy
b3Ioc3RhdGUpOworICAgICAgICByZXR1cm4gdGhyb3dBcmd1bWVudFR5cGVFcnJvcigqc3RhdGUs
IDEsICJvYmpBcmciLCAiVGVzdEludGVyZmFjZSIsICJpbXBsZW1lbnRzTWV0aG9kMiIsICJUZXN0
T2JqIik7CiAgICAgSlNWYWx1ZSByZXN1bHQgPSB0b0pTKHN0YXRlLCBjYXN0ZWRUaGlzLT5nbG9i
YWxPYmplY3QoKSwgV1RGOjpnZXRQdHIoaW1wbC5pbXBsZW1lbnRzTWV0aG9kMigqY29udGV4dCwg
V1RGTW92ZShzdHJBcmcpLCAqb2JqQXJnLCBlYykpKTsKIAogICAgIHNldERPTUV4Y2VwdGlvbihz
dGF0ZSwgZWMpOwpAQCAtODY4LDcgKzg2OCw3IEBAIEVuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NB
TEwganNUZXN0SW50ZXJmYWNlUHJvdG90eXBlRnVuY3Rpb25TdXBwbGVtZW50YWxNZXRob2QyCiAg
ICAgICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUoanNVbmRlZmluZWQoKSk7CiAgICAgYXV0byBv
YmpBcmcgPSBKU1Rlc3RPYmo6OnRvV3JhcHBlZChzdGF0ZS0+YXJndW1lbnQoMSkpOwogICAgIGlm
IChVTkxJS0VMWSghb2JqQXJnKSkKLSAgICAgICAgcmV0dXJuIHRocm93Vk1UeXBlRXJyb3Ioc3Rh
dGUpOworICAgICAgICByZXR1cm4gdGhyb3dBcmd1bWVudFR5cGVFcnJvcigqc3RhdGUsIDEsICJv
YmpBcmciLCAiVGVzdEludGVyZmFjZSIsICJzdXBwbGVtZW50YWxNZXRob2QyIiwgIlRlc3RPYmoi
KTsKICAgICBKU1ZhbHVlIHJlc3VsdCA9IHRvSlMoc3RhdGUsIGNhc3RlZFRoaXMtPmdsb2JhbE9i
amVjdCgpLCBXVEY6OmdldFB0cihXZWJDb3JlOjpUZXN0U3VwcGxlbWVudGFsOjpzdXBwbGVtZW50
YWxNZXRob2QyKGltcGwsICpjb250ZXh0LCBXVEZNb3ZlKHN0ckFyZyksICpvYmpBcmcsIGVjKSkp
OwogCiAgICAgc2V0RE9NRXhjZXB0aW9uKHN0YXRlLCBlYyk7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0T2JqLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RPYmouY3BwCmluZGV4IGMzMDlh
ZmRhNzZjNjA5ODFiYTNhOGJjNjgwMWM3YzYzYWY4NzhjNjQuLmQ2NzU1OTgzOTJlZTZkM2U5Yzc0
NTBmOGQ1MzI4Y2U3OTY1MmRiMjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RPYmouY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RPYmouY3BwCkBAIC0yODY2LDcgKzI4NjYsNyBAQCBi
b29sIHNldEpTVGVzdE9ialRlc3RPYmpBdHRyKEV4ZWNTdGF0ZSogc3RhdGUsIEVuY29kZWRKU1Zh
bHVlIHRoaXNWYWx1ZSwgRW5jb2RlZAogICAgIGF1dG8mIGltcGwgPSBjYXN0ZWRUaGlzLT53cmFw
cGVkKCk7CiAgICAgYXV0byBuYXRpdmVWYWx1ZSA9IEpTVGVzdE9iajo6dG9XcmFwcGVkKHZhbHVl
KTsKICAgICBpZiAoVU5MSUtFTFkoIW5hdGl2ZVZhbHVlKSkgewotICAgICAgICB0aHJvd1ZNVHlw
ZUVycm9yKHN0YXRlKTsKKyAgICAgICAgdGhyb3dBdHRyaWJ1dGVUeXBlRXJyb3IoKnN0YXRlLCAi
VGVzdE9iaiIsICJ0ZXN0T2JqQXR0ciIsICJUZXN0T2JqIik7CiAgICAgICAgIHJldHVybiBmYWxz
ZTsKICAgICB9CiAgICAgaW1wbC5zZXRUZXN0T2JqQXR0cigqbmF0aXZlVmFsdWUpOwpAQCAtMjkw
MCw3ICsyOTAwLDcgQEAgYm9vbCBzZXRKU1Rlc3RPYmpMZW5pZW50VGVzdE9iakF0dHIoRXhlY1N0
YXRlKiBzdGF0ZSwgRW5jb2RlZEpTVmFsdWUgdGhpc1ZhbHVlLAogICAgIGF1dG8mIGltcGwgPSBj
YXN0ZWRUaGlzLT53cmFwcGVkKCk7CiAgICAgYXV0byBuYXRpdmVWYWx1ZSA9IEpTVGVzdE9iajo6
dG9XcmFwcGVkKHZhbHVlKTsKICAgICBpZiAoVU5MSUtFTFkoIW5hdGl2ZVZhbHVlKSkgewotICAg
ICAgICB0aHJvd1ZNVHlwZUVycm9yKHN0YXRlKTsKKyAgICAgICAgdGhyb3dBdHRyaWJ1dGVUeXBl
RXJyb3IoKnN0YXRlLCAiVGVzdE9iaiIsICJsZW5pZW50VGVzdE9iakF0dHIiLCAiVGVzdE9iaiIp
OwogICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgfQogICAgIGltcGwuc2V0TGVuaWVudFRlc3RP
YmpBdHRyKCpuYXRpdmVWYWx1ZSk7CkBAIC0yOTM2LDcgKzI5MzYsNyBAQCBib29sIHNldEpTVGVz
dE9ialhNTE9iakF0dHIoRXhlY1N0YXRlKiBzdGF0ZSwgRW5jb2RlZEpTVmFsdWUgdGhpc1ZhbHVl
LCBFbmNvZGVkSgogICAgIGF1dG8mIGltcGwgPSBjYXN0ZWRUaGlzLT53cmFwcGVkKCk7CiAgICAg
YXV0byBuYXRpdmVWYWx1ZSA9IEpTVGVzdE9iajo6dG9XcmFwcGVkKHZhbHVlKTsKICAgICBpZiAo
VU5MSUtFTFkoIW5hdGl2ZVZhbHVlKSkgewotICAgICAgICB0aHJvd1ZNVHlwZUVycm9yKHN0YXRl
KTsKKyAgICAgICAgdGhyb3dBdHRyaWJ1dGVUeXBlRXJyb3IoKnN0YXRlLCAiVGVzdE9iaiIsICJY
TUxPYmpBdHRyIiwgIlRlc3RPYmoiKTsKICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgIH0KICAg
ICBpbXBsLnNldFhNTE9iakF0dHIoKm5hdGl2ZVZhbHVlKTsKQEAgLTMxNDYsNyArMzE0Niw3IEBA
IGJvb2wgc2V0SlNUZXN0T2JqVHlwZWRBcnJheUF0dHIoRXhlY1N0YXRlKiBzdGF0ZSwgRW5jb2Rl
ZEpTVmFsdWUgdGhpc1ZhbHVlLCBFbmNvCiAgICAgaWYgKFVOTElLRUxZKHN0YXRlLT5oYWRFeGNl
cHRpb24oKSkpCiAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICBpZiAoVU5MSUtFTFkoIW5hdGl2
ZVZhbHVlKSkgewotICAgICAgICB0aHJvd1ZNVHlwZUVycm9yKHN0YXRlKTsKKyAgICAgICAgdGhy
b3dBdHRyaWJ1dGVUeXBlRXJyb3IoKnN0YXRlLCAiVGVzdE9iaiIsICJ0eXBlZEFycmF5QXR0ciIs
ICJGbG9hdDMyQXJyYXkiKTsKICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgIH0KICAgICBpbXBs
LnNldFR5cGVkQXJyYXlBdHRyKG5hdGl2ZVZhbHVlLmdldCgpKTsKQEAgLTMzNjgsNyArMzM2OCw3
IEBAIGJvb2wgc2V0SlNUZXN0T2JqV2l0aFNjcmlwdEV4ZWN1dGlvbkNvbnRleHRBdHRyaWJ1dGUo
RXhlY1N0YXRlKiBzdGF0ZSwgRW5jb2RlZEpTCiAgICAgYXV0byYgaW1wbCA9IGNhc3RlZFRoaXMt
PndyYXBwZWQoKTsKICAgICBhdXRvIG5hdGl2ZVZhbHVlID0gSlNUZXN0T2JqOjp0b1dyYXBwZWQo
dmFsdWUpOwogICAgIGlmIChVTkxJS0VMWSghbmF0aXZlVmFsdWUpKSB7Ci0gICAgICAgIHRocm93
Vk1UeXBlRXJyb3Ioc3RhdGUpOworICAgICAgICB0aHJvd0F0dHJpYnV0ZVR5cGVFcnJvcigqc3Rh
dGUsICJUZXN0T2JqIiwgIndpdGhTY3JpcHRFeGVjdXRpb25Db250ZXh0QXR0cmlidXRlIiwgIlRl
c3RPYmoiKTsKICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgIH0KICAgICBhdXRvKiBjb250ZXh0
ID0ganNDYXN0PEpTRE9NR2xvYmFsT2JqZWN0Kj4oc3RhdGUtPmxleGljYWxHbG9iYWxPYmplY3Qo
KSktPnNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKTsKQEAgLTMzOTAsNyArMzM5MCw3IEBAIGJvb2wg
c2V0SlNUZXN0T2JqV2l0aFNjcmlwdFN0YXRlQXR0cmlidXRlUmFpc2VzKEV4ZWNTdGF0ZSogc3Rh
dGUsIEVuY29kZWRKU1ZhbHVlCiAgICAgYXV0byYgaW1wbCA9IGNhc3RlZFRoaXMtPndyYXBwZWQo
KTsKICAgICBhdXRvIG5hdGl2ZVZhbHVlID0gSlNUZXN0T2JqOjp0b1dyYXBwZWQodmFsdWUpOwog
ICAgIGlmIChVTkxJS0VMWSghbmF0aXZlVmFsdWUpKSB7Ci0gICAgICAgIHRocm93Vk1UeXBlRXJy
b3Ioc3RhdGUpOworICAgICAgICB0aHJvd0F0dHJpYnV0ZVR5cGVFcnJvcigqc3RhdGUsICJUZXN0
T2JqIiwgIndpdGhTY3JpcHRTdGF0ZUF0dHJpYnV0ZVJhaXNlcyIsICJUZXN0T2JqIik7CiAgICAg
ICAgIHJldHVybiBmYWxzZTsKICAgICB9CiAgICAgaW1wbC5zZXRXaXRoU2NyaXB0U3RhdGVBdHRy
aWJ1dGVSYWlzZXMoKnN0YXRlLCAqbmF0aXZlVmFsdWUpOwpAQCAtMzQwOSw3ICszNDA5LDcgQEAg
Ym9vbCBzZXRKU1Rlc3RPYmpXaXRoU2NyaXB0RXhlY3V0aW9uQ29udGV4dEF0dHJpYnV0ZVJhaXNl
cyhFeGVjU3RhdGUqIHN0YXRlLCBFbmMKICAgICBhdXRvJiBpbXBsID0gY2FzdGVkVGhpcy0+d3Jh
cHBlZCgpOwogICAgIGF1dG8gbmF0aXZlVmFsdWUgPSBKU1Rlc3RPYmo6OnRvV3JhcHBlZCh2YWx1
ZSk7CiAgICAgaWYgKFVOTElLRUxZKCFuYXRpdmVWYWx1ZSkpIHsKLSAgICAgICAgdGhyb3dWTVR5
cGVFcnJvcihzdGF0ZSk7CisgICAgICAgIHRocm93QXR0cmlidXRlVHlwZUVycm9yKCpzdGF0ZSwg
IlRlc3RPYmoiLCAid2l0aFNjcmlwdEV4ZWN1dGlvbkNvbnRleHRBdHRyaWJ1dGVSYWlzZXMiLCAi
VGVzdE9iaiIpOwogICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgfQogICAgIGF1dG8qIGNvbnRl
eHQgPSBqc0Nhc3Q8SlNET01HbG9iYWxPYmplY3QqPihzdGF0ZS0+bGV4aWNhbEdsb2JhbE9iamVj
dCgpKS0+c2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpOwpAQCAtMzQzMSw3ICszNDMxLDcgQEAgYm9v
bCBzZXRKU1Rlc3RPYmpXaXRoU2NyaXB0RXhlY3V0aW9uQ29udGV4dEFuZFNjcmlwdFN0YXRlQXR0
cmlidXRlKEV4ZWNTdGF0ZSogc3QKICAgICBhdXRvJiBpbXBsID0gY2FzdGVkVGhpcy0+d3JhcHBl
ZCgpOwogICAgIGF1dG8gbmF0aXZlVmFsdWUgPSBKU1Rlc3RPYmo6OnRvV3JhcHBlZCh2YWx1ZSk7
CiAgICAgaWYgKFVOTElLRUxZKCFuYXRpdmVWYWx1ZSkpIHsKLSAgICAgICAgdGhyb3dWTVR5cGVF
cnJvcihzdGF0ZSk7CisgICAgICAgIHRocm93QXR0cmlidXRlVHlwZUVycm9yKCpzdGF0ZSwgIlRl
c3RPYmoiLCAid2l0aFNjcmlwdEV4ZWN1dGlvbkNvbnRleHRBbmRTY3JpcHRTdGF0ZUF0dHJpYnV0
ZSIsICJUZXN0T2JqIik7CiAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICB9CiAgICAgYXV0byog
Y29udGV4dCA9IGpzQ2FzdDxKU0RPTUdsb2JhbE9iamVjdCo+KHN0YXRlLT5sZXhpY2FsR2xvYmFs
T2JqZWN0KCkpLT5zY3JpcHRFeGVjdXRpb25Db250ZXh0KCk7CkBAIC0zNDUzLDcgKzM0NTMsNyBA
QCBib29sIHNldEpTVGVzdE9ialdpdGhTY3JpcHRFeGVjdXRpb25Db250ZXh0QW5kU2NyaXB0U3Rh
dGVBdHRyaWJ1dGVSYWlzZXMoRXhlY1N0YQogICAgIGF1dG8mIGltcGwgPSBjYXN0ZWRUaGlzLT53
cmFwcGVkKCk7CiAgICAgYXV0byBuYXRpdmVWYWx1ZSA9IEpTVGVzdE9iajo6dG9XcmFwcGVkKHZh
bHVlKTsKICAgICBpZiAoVU5MSUtFTFkoIW5hdGl2ZVZhbHVlKSkgewotICAgICAgICB0aHJvd1ZN
VHlwZUVycm9yKHN0YXRlKTsKKyAgICAgICAgdGhyb3dBdHRyaWJ1dGVUeXBlRXJyb3IoKnN0YXRl
LCAiVGVzdE9iaiIsICJ3aXRoU2NyaXB0RXhlY3V0aW9uQ29udGV4dEFuZFNjcmlwdFN0YXRlQXR0
cmlidXRlUmFpc2VzIiwgIlRlc3RPYmoiKTsKICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgIH0K
ICAgICBhdXRvKiBjb250ZXh0ID0ganNDYXN0PEpTRE9NR2xvYmFsT2JqZWN0Kj4oc3RhdGUtPmxl
eGljYWxHbG9iYWxPYmplY3QoKSktPnNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKTsKQEAgLTM0NzUs
NyArMzQ3NSw3IEBAIGJvb2wgc2V0SlNUZXN0T2JqV2l0aFNjcmlwdEV4ZWN1dGlvbkNvbnRleHRB
bmRTY3JpcHRTdGF0ZVdpdGhTcGFjZXNBdHRyaWJ1dGUoRXhlCiAgICAgYXV0byYgaW1wbCA9IGNh
c3RlZFRoaXMtPndyYXBwZWQoKTsKICAgICBhdXRvIG5hdGl2ZVZhbHVlID0gSlNUZXN0T2JqOjp0
b1dyYXBwZWQodmFsdWUpOwogICAgIGlmIChVTkxJS0VMWSghbmF0aXZlVmFsdWUpKSB7Ci0gICAg
ICAgIHRocm93Vk1UeXBlRXJyb3Ioc3RhdGUpOworICAgICAgICB0aHJvd0F0dHJpYnV0ZVR5cGVF
cnJvcigqc3RhdGUsICJUZXN0T2JqIiwgIndpdGhTY3JpcHRFeGVjdXRpb25Db250ZXh0QW5kU2Ny
aXB0U3RhdGVXaXRoU3BhY2VzQXR0cmlidXRlIiwgIlRlc3RPYmoiKTsKICAgICAgICAgcmV0dXJu
IGZhbHNlOwogICAgIH0KICAgICBhdXRvKiBjb250ZXh0ID0ganNDYXN0PEpTRE9NR2xvYmFsT2Jq
ZWN0Kj4oc3RhdGUtPmxleGljYWxHbG9iYWxPYmplY3QoKSktPnNjcmlwdEV4ZWN1dGlvbkNvbnRl
eHQoKTsKQEAgLTM0OTcsNyArMzQ5Nyw3IEBAIGJvb2wgc2V0SlNUZXN0T2JqV2l0aFNjcmlwdEFy
Z3VtZW50c0FuZENhbGxTdGFja0F0dHJpYnV0ZShFeGVjU3RhdGUqIHN0YXRlLCBFbmNvCiAgICAg
YXV0byYgaW1wbCA9IGNhc3RlZFRoaXMtPndyYXBwZWQoKTsKICAgICBhdXRvIG5hdGl2ZVZhbHVl
ID0gSlNUZXN0T2JqOjp0b1dyYXBwZWQodmFsdWUpOwogICAgIGlmIChVTkxJS0VMWSghbmF0aXZl
VmFsdWUpKSB7Ci0gICAgICAgIHRocm93Vk1UeXBlRXJyb3Ioc3RhdGUpOworICAgICAgICB0aHJv
d0F0dHJpYnV0ZVR5cGVFcnJvcigqc3RhdGUsICJUZXN0T2JqIiwgIndpdGhTY3JpcHRBcmd1bWVu
dHNBbmRDYWxsU3RhY2tBdHRyaWJ1dGUiLCAiVGVzdE9iaiIpOwogICAgICAgICByZXR1cm4gZmFs
c2U7CiAgICAgfQogICAgIGltcGwuc2V0V2l0aFNjcmlwdEFyZ3VtZW50c0FuZENhbGxTdGFja0F0
dHJpYnV0ZSgqbmF0aXZlVmFsdWUpOwpAQCAtMzkyNiw3ICszOTI2LDcgQEAgRW5jb2RlZEpTVmFs
dWUgSlNDX0hPU1RfQ0FMTCBqc1Rlc3RPYmpQcm90b3R5cGVGdW5jdGlvblZvaWRNZXRob2RXaXRo
QXJncyhFeGVjU3QKICAgICAgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShqc1VuZGVmaW5lZCgp
KTsKICAgICBhdXRvIG9iakFyZyA9IEpTVGVzdE9iajo6dG9XcmFwcGVkKHN0YXRlLT5hcmd1bWVu
dCgyKSk7CiAgICAgaWYgKFVOTElLRUxZKCFvYmpBcmcpKQotICAgICAgICByZXR1cm4gdGhyb3dW
TVR5cGVFcnJvcihzdGF0ZSk7CisgICAgICAgIHJldHVybiB0aHJvd0FyZ3VtZW50VHlwZUVycm9y
KCpzdGF0ZSwgMiwgIm9iakFyZyIsICJUZXN0T2JqIiwgInZvaWRNZXRob2RXaXRoQXJncyIsICJU
ZXN0T2JqIik7CiAgICAgaW1wbC52b2lkTWV0aG9kV2l0aEFyZ3MoV1RGTW92ZShsb25nQXJnKSwg
V1RGTW92ZShzdHJBcmcpLCAqb2JqQXJnKTsKICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGpz
VW5kZWZpbmVkKCkpOwogfQpAQCAtMzk2MSw3ICszOTYxLDcgQEAgRW5jb2RlZEpTVmFsdWUgSlND
X0hPU1RfQ0FMTCBqc1Rlc3RPYmpQcm90b3R5cGVGdW5jdGlvbkJ5dGVNZXRob2RXaXRoQXJncyhF
eGVjU3QKICAgICAgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShqc1VuZGVmaW5lZCgpKTsKICAg
ICBhdXRvIG9iakFyZyA9IEpTVGVzdE9iajo6dG9XcmFwcGVkKHN0YXRlLT5hcmd1bWVudCgyKSk7
CiAgICAgaWYgKFVOTElLRUxZKCFvYmpBcmcpKQotICAgICAgICByZXR1cm4gdGhyb3dWTVR5cGVF
cnJvcihzdGF0ZSk7CisgICAgICAgIHJldHVybiB0aHJvd0FyZ3VtZW50VHlwZUVycm9yKCpzdGF0
ZSwgMiwgIm9iakFyZyIsICJUZXN0T2JqIiwgImJ5dGVNZXRob2RXaXRoQXJncyIsICJUZXN0T2Jq
Iik7CiAgICAgSlNWYWx1ZSByZXN1bHQgPSBqc051bWJlcihpbXBsLmJ5dGVNZXRob2RXaXRoQXJn
cyhXVEZNb3ZlKGJ5dGVBcmcpLCBXVEZNb3ZlKHN0ckFyZyksICpvYmpBcmcpKTsKICAgICByZXR1
cm4gSlNWYWx1ZTo6ZW5jb2RlKHJlc3VsdCk7CiB9CkBAIC0zOTk2LDcgKzM5OTYsNyBAQCBFbmNv
ZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIGpzVGVzdE9ialByb3RvdHlwZUZ1bmN0aW9uT2N0ZXRN
ZXRob2RXaXRoQXJncyhFeGVjUwogICAgICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGpzVW5k
ZWZpbmVkKCkpOwogICAgIGF1dG8gb2JqQXJnID0gSlNUZXN0T2JqOjp0b1dyYXBwZWQoc3RhdGUt
PmFyZ3VtZW50KDIpKTsKICAgICBpZiAoVU5MSUtFTFkoIW9iakFyZykpCi0gICAgICAgIHJldHVy
biB0aHJvd1ZNVHlwZUVycm9yKHN0YXRlKTsKKyAgICAgICAgcmV0dXJuIHRocm93QXJndW1lbnRU
eXBlRXJyb3IoKnN0YXRlLCAyLCAib2JqQXJnIiwgIlRlc3RPYmoiLCAib2N0ZXRNZXRob2RXaXRo
QXJncyIsICJUZXN0T2JqIik7CiAgICAgSlNWYWx1ZSByZXN1bHQgPSBqc051bWJlcihpbXBsLm9j
dGV0TWV0aG9kV2l0aEFyZ3MoV1RGTW92ZShvY3RldEFyZyksIFdURk1vdmUoc3RyQXJnKSwgKm9i
akFyZykpOwogICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUocmVzdWx0KTsKIH0KQEAgLTQwMzEs
NyArNDAzMSw3IEBAIEVuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwganNUZXN0T2JqUHJvdG90
eXBlRnVuY3Rpb25Mb25nTWV0aG9kV2l0aEFyZ3MoRXhlY1N0CiAgICAgICAgIHJldHVybiBKU1Zh
bHVlOjplbmNvZGUoanNVbmRlZmluZWQoKSk7CiAgICAgYXV0byBvYmpBcmcgPSBKU1Rlc3RPYmo6
OnRvV3JhcHBlZChzdGF0ZS0+YXJndW1lbnQoMikpOwogICAgIGlmIChVTkxJS0VMWSghb2JqQXJn
KSkKLSAgICAgICAgcmV0dXJuIHRocm93Vk1UeXBlRXJyb3Ioc3RhdGUpOworICAgICAgICByZXR1
cm4gdGhyb3dBcmd1bWVudFR5cGVFcnJvcigqc3RhdGUsIDIsICJvYmpBcmciLCAiVGVzdE9iaiIs
ICJsb25nTWV0aG9kV2l0aEFyZ3MiLCAiVGVzdE9iaiIpOwogICAgIEpTVmFsdWUgcmVzdWx0ID0g
anNOdW1iZXIoaW1wbC5sb25nTWV0aG9kV2l0aEFyZ3MoV1RGTW92ZShsb25nQXJnKSwgV1RGTW92
ZShzdHJBcmcpLCAqb2JqQXJnKSk7CiAgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShyZXN1bHQp
OwogfQpAQCAtNDA2Niw3ICs0MDY2LDcgQEAgRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBq
c1Rlc3RPYmpQcm90b3R5cGVGdW5jdGlvbk9iak1ldGhvZFdpdGhBcmdzKEV4ZWNTdGEKICAgICAg
ICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShqc1VuZGVmaW5lZCgpKTsKICAgICBhdXRvIG9iakFy
ZyA9IEpTVGVzdE9iajo6dG9XcmFwcGVkKHN0YXRlLT5hcmd1bWVudCgyKSk7CiAgICAgaWYgKFVO
TElLRUxZKCFvYmpBcmcpKQotICAgICAgICByZXR1cm4gdGhyb3dWTVR5cGVFcnJvcihzdGF0ZSk7
CisgICAgICAgIHJldHVybiB0aHJvd0FyZ3VtZW50VHlwZUVycm9yKCpzdGF0ZSwgMiwgIm9iakFy
ZyIsICJUZXN0T2JqIiwgIm9iak1ldGhvZFdpdGhBcmdzIiwgIlRlc3RPYmoiKTsKICAgICBKU1Zh
bHVlIHJlc3VsdCA9IHRvSlMoc3RhdGUsIGNhc3RlZFRoaXMtPmdsb2JhbE9iamVjdCgpLCBXVEY6
OmdldFB0cihpbXBsLm9iak1ldGhvZFdpdGhBcmdzKFdURk1vdmUobG9uZ0FyZyksIFdURk1vdmUo
c3RyQXJnKSwgKm9iakFyZykpKTsKICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKHJlc3VsdCk7
CiB9CkBAIC00MTE0LDcgKzQxMTQsNyBAQCBFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIGpz
VGVzdE9ialByb3RvdHlwZUZ1bmN0aW9uTWV0aG9kV2l0aFhQYXRoTlNSZXNvbHZlcgogICAgIGlm
IChVTkxJS0VMWShzdGF0ZS0+aGFkRXhjZXB0aW9uKCkpKQogICAgICAgICByZXR1cm4gSlNWYWx1
ZTo6ZW5jb2RlKGpzVW5kZWZpbmVkKCkpOwogICAgIGlmIChVTkxJS0VMWSghcmVzb2x2ZXIpKQot
ICAgICAgICByZXR1cm4gdGhyb3dWTVR5cGVFcnJvcihzdGF0ZSk7CisgICAgICAgIHJldHVybiB0
aHJvd0FyZ3VtZW50VHlwZUVycm9yKCpzdGF0ZSwgMCwgInJlc29sdmVyIiwgIlRlc3RPYmoiLCAi
bWV0aG9kV2l0aFhQYXRoTlNSZXNvbHZlclBhcmFtZXRlciIsICJYUGF0aE5TUmVzb2x2ZXIiKTsK
ICAgICBpbXBsLm1ldGhvZFdpdGhYUGF0aE5TUmVzb2x2ZXJQYXJhbWV0ZXIoKnJlc29sdmVyKTsK
ICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGpzVW5kZWZpbmVkKCkpOwogfQpAQCAtNDI1MCw3
ICs0MjUwLDcgQEAgRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBqc1Rlc3RPYmpQcm90b3R5
cGVGdW5jdGlvbk1ldGhvZFRoYXRSZXF1aXJlc0FsbEFyZ3MKICAgICAgICAgcmV0dXJuIEpTVmFs
dWU6OmVuY29kZShqc1VuZGVmaW5lZCgpKTsKICAgICBhdXRvIG9iakFyZyA9IEpTVGVzdE9iajo6
dG9XcmFwcGVkKHN0YXRlLT5hcmd1bWVudCgxKSk7CiAgICAgaWYgKFVOTElLRUxZKCFvYmpBcmcp
KQotICAgICAgICByZXR1cm4gdGhyb3dWTVR5cGVFcnJvcihzdGF0ZSk7CisgICAgICAgIHJldHVy
biB0aHJvd0FyZ3VtZW50VHlwZUVycm9yKCpzdGF0ZSwgMSwgIm9iakFyZyIsICJUZXN0T2JqIiwg
Im1ldGhvZFRoYXRSZXF1aXJlc0FsbEFyZ3NBbmRUaHJvd3MiLCAiVGVzdE9iaiIpOwogICAgIEpT
VmFsdWUgcmVzdWx0ID0gdG9KUyhzdGF0ZSwgY2FzdGVkVGhpcy0+Z2xvYmFsT2JqZWN0KCksIFdU
Rjo6Z2V0UHRyKGltcGwubWV0aG9kVGhhdFJlcXVpcmVzQWxsQXJnc0FuZFRocm93cyhXVEZNb3Zl
KHN0ckFyZyksICpvYmpBcmcsIGVjKSkpOwogCiAgICAgc2V0RE9NRXhjZXB0aW9uKHN0YXRlLCBl
Yyk7CkBAIC01Mjc3LDcgKzUyNzcsNyBAQCBzdGF0aWMgaW5saW5lIEVuY29kZWRKU1ZhbHVlIGpz
VGVzdE9ialByb3RvdHlwZUZ1bmN0aW9uT3ZlcmxvYWRlZE1ldGhvZDgoRXhlY1N0YQogICAgICAg
ICByZXR1cm4gdGhyb3dWTUVycm9yKHN0YXRlLCBjcmVhdGVOb3RFbm91Z2hBcmd1bWVudHNFcnJv
cihzdGF0ZSkpOwogICAgIGF1dG8gb2JqQXJnID0gSlNUZXN0T2JqOjp0b1dyYXBwZWQoc3RhdGUt
PmFyZ3VtZW50KDApKTsKICAgICBpZiAoVU5MSUtFTFkoIW9iakFyZykpCi0gICAgICAgIHJldHVy
biB0aHJvd1ZNVHlwZUVycm9yKHN0YXRlKTsKKyAgICAgICAgcmV0dXJuIHRocm93QXJndW1lbnRU
eXBlRXJyb3IoKnN0YXRlLCAwLCAib2JqQXJnIiwgIlRlc3RPYmoiLCAib3ZlcmxvYWRlZE1ldGhv
ZCIsICJUZXN0T2JqIik7CiAgICAgaW1wbC5vdmVybG9hZGVkTWV0aG9kKCpvYmpBcmcpOwogICAg
IHJldHVybiBKU1ZhbHVlOjplbmNvZGUoanNVbmRlZmluZWQoKSk7CiB9CkBAIC01NTk0LDcgKzU1
OTQsNyBAQCBFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIGpzVGVzdE9ialByb3RvdHlwZUZ1
bmN0aW9uRG9tU3RyaW5nTGlzdEZ1bmN0aW9uKEV4ZQogICAgIGlmIChVTkxJS0VMWShzdGF0ZS0+
aGFkRXhjZXB0aW9uKCkpKQogICAgICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGpzVW5kZWZp
bmVkKCkpOwogICAgIGlmIChVTkxJS0VMWSghdmFsdWVzKSkKLSAgICAgICAgcmV0dXJuIHRocm93
Vk1UeXBlRXJyb3Ioc3RhdGUpOworICAgICAgICByZXR1cm4gdGhyb3dBcmd1bWVudFR5cGVFcnJv
cigqc3RhdGUsIDAsICJ2YWx1ZXMiLCAiVGVzdE9iaiIsICJkb21TdHJpbmdMaXN0RnVuY3Rpb24i
LCAiRE9NU3RyaW5nTGlzdCIpOwogICAgIEpTVmFsdWUgcmVzdWx0ID0gdG9KUyhzdGF0ZSwgY2Fz
dGVkVGhpcy0+Z2xvYmFsT2JqZWN0KCksIFdURjo6Z2V0UHRyKGltcGwuZG9tU3RyaW5nTGlzdEZ1
bmN0aW9uKCp2YWx1ZXMsIGVjKSkpOwogCiAgICAgc2V0RE9NRXhjZXB0aW9uKHN0YXRlLCBlYyk7
CkBAIC01Njg3LDcgKzU2ODcsNyBAQCBFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIGpzVGVz
dE9ialByb3RvdHlwZUZ1bmN0aW9uQ29udmVydDEoRXhlY1N0YXRlKiBzdGF0ZQogICAgICAgICBy
ZXR1cm4gdGhyb3dWTUVycm9yKHN0YXRlLCBjcmVhdGVOb3RFbm91Z2hBcmd1bWVudHNFcnJvcihz
dGF0ZSkpOwogICAgIGF1dG8gdmFsdWUgPSBKU1Rlc3ROb2RlOjp0b1dyYXBwZWQoc3RhdGUtPmFy
Z3VtZW50KDApKTsKICAgICBpZiAoVU5MSUtFTFkoIXZhbHVlKSkKLSAgICAgICAgcmV0dXJuIHRo
cm93Vk1UeXBlRXJyb3Ioc3RhdGUpOworICAgICAgICByZXR1cm4gdGhyb3dBcmd1bWVudFR5cGVF
cnJvcigqc3RhdGUsIDAsICJ2YWx1ZSIsICJUZXN0T2JqIiwgImNvbnZlcnQxIiwgIlRlc3ROb2Rl
Iik7CiAgICAgaW1wbC5jb252ZXJ0MSgqdmFsdWUpOwogICAgIHJldHVybiBKU1ZhbHVlOjplbmNv
ZGUoanNVbmRlZmluZWQoKSk7CiB9CkBAIC01ODE0LDE1ICs1ODE0LDE2IEBAIEVuY29kZWRKU1Zh
bHVlIEpTQ19IT1NUX0NBTEwganNUZXN0T2JqUHJvdG90eXBlRnVuY3Rpb25TdHJpY3RGdW5jdGlv
bldpdGhTZXF1ZW5jCiAgICAgaWYgKFVOTElLRUxZKHN0YXRlLT5hcmd1bWVudENvdW50KCkgPCAy
KSkKICAgICAgICAgcmV0dXJuIHRocm93Vk1FcnJvcihzdGF0ZSwgY3JlYXRlTm90RW5vdWdoQXJn
dW1lbnRzRXJyb3Ioc3RhdGUpKTsKICAgICBFeGNlcHRpb25Db2RlIGVjID0gMDsKLSAgICBpZiAo
VU5MSUtFTFkoIXN0YXRlLT5hcmd1bWVudCgwKS5pc1VuZGVmaW5lZE9yTnVsbCgpICYmICFzdGF0
ZS0+YXJndW1lbnQoMCkuaW5oZXJpdHMoSlNUZXN0T2JqOjppbmZvKCkpKSkKLSAgICAgICAgcmV0
dXJuIHRocm93QXJndW1lbnRUeXBlRXJyb3IoKnN0YXRlLCAwLCAib2JqQXJnIiwgIlRlc3RPYmoi
LCAic3RyaWN0RnVuY3Rpb25XaXRoU2VxdWVuY2UiLCAiVGVzdE9iaiIpOwotICAgIGF1dG8gb2Jq
QXJnID0gSlNUZXN0T2JqOjp0b1dyYXBwZWQoc3RhdGUtPmFyZ3VtZW50KDApKTsKLSAgICBpZiAo
VU5MSUtFTFkoIW9iakFyZykpCi0gICAgICAgIHJldHVybiB0aHJvd1ZNVHlwZUVycm9yKHN0YXRl
KTsKKyAgICBUZXN0T2JqKiBvYmpBcmcgPSBudWxscHRyOworICAgIGlmICghc3RhdGUtPmFyZ3Vt
ZW50KDApLmlzVW5kZWZpbmVkT3JOdWxsKCkpIHsKKyAgICAgICAgb2JqQXJnID0gSlNUZXN0T2Jq
Ojp0b1dyYXBwZWQoc3RhdGUtPnVuY2hlY2tlZEFyZ3VtZW50KDApKTsKKyAgICAgICAgaWYgKFVO
TElLRUxZKCFvYmpBcmcpKQorICAgICAgICAgICAgcmV0dXJuIHRocm93QXJndW1lbnRUeXBlRXJy
b3IoKnN0YXRlLCAwLCAib2JqQXJnIiwgIlRlc3RPYmoiLCAic3RyaWN0RnVuY3Rpb25XaXRoU2Vx
dWVuY2UiLCAiVGVzdE9iaiIpOworICAgIH0KICAgICBhdXRvIGEgPSB0b05hdGl2ZUFycmF5PHVp
bnQzMl90PihzdGF0ZSwgc3RhdGUtPmFyZ3VtZW50KDEpKTsKICAgICBpZiAoVU5MSUtFTFkoc3Rh
dGUtPmhhZEV4Y2VwdGlvbigpKSkKICAgICAgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShqc1Vu
ZGVmaW5lZCgpKTsKLSAgICBKU1ZhbHVlIHJlc3VsdCA9IGpzQm9vbGVhbihpbXBsLnN0cmljdEZ1
bmN0aW9uV2l0aFNlcXVlbmNlKCpvYmpBcmcsIFdURk1vdmUoYSksIGVjKSk7CisgICAgSlNWYWx1
ZSByZXN1bHQgPSBqc0Jvb2xlYW4oaW1wbC5zdHJpY3RGdW5jdGlvbldpdGhTZXF1ZW5jZShvYmpB
cmcsIFdURk1vdmUoYSksIGVjKSk7CiAKICAgICBzZXRET01FeGNlcHRpb24oc3RhdGUsIGVjKTsK
ICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKHJlc3VsdCk7CkBAIC01ODM5LDExICs1ODQwLDkg
QEAgRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBqc1Rlc3RPYmpQcm90b3R5cGVGdW5jdGlv
blN0cmljdEZ1bmN0aW9uV2l0aEFycmF5KEUKICAgICBpZiAoVU5MSUtFTFkoc3RhdGUtPmFyZ3Vt
ZW50Q291bnQoKSA8IDIpKQogICAgICAgICByZXR1cm4gdGhyb3dWTUVycm9yKHN0YXRlLCBjcmVh
dGVOb3RFbm91Z2hBcmd1bWVudHNFcnJvcihzdGF0ZSkpOwogICAgIEV4Y2VwdGlvbkNvZGUgZWMg
PSAwOwotICAgIGlmIChVTkxJS0VMWSghc3RhdGUtPmFyZ3VtZW50KDApLmlzVW5kZWZpbmVkT3JO
dWxsKCkgJiYgIXN0YXRlLT5hcmd1bWVudCgwKS5pbmhlcml0cyhKU1Rlc3RPYmo6OmluZm8oKSkp
KQotICAgICAgICByZXR1cm4gdGhyb3dBcmd1bWVudFR5cGVFcnJvcigqc3RhdGUsIDAsICJvYmpB
cmciLCAiVGVzdE9iaiIsICJzdHJpY3RGdW5jdGlvbldpdGhBcnJheSIsICJUZXN0T2JqIik7CiAg
ICAgYXV0byBvYmpBcmcgPSBKU1Rlc3RPYmo6OnRvV3JhcHBlZChzdGF0ZS0+YXJndW1lbnQoMCkp
OwogICAgIGlmIChVTkxJS0VMWSghb2JqQXJnKSkKLSAgICAgICAgcmV0dXJuIHRocm93Vk1UeXBl
RXJyb3Ioc3RhdGUpOworICAgICAgICByZXR1cm4gdGhyb3dBcmd1bWVudFR5cGVFcnJvcigqc3Rh
dGUsIDAsICJvYmpBcmciLCAiVGVzdE9iaiIsICJzdHJpY3RGdW5jdGlvbldpdGhBcnJheSIsICJU
ZXN0T2JqIik7CiAgICAgYXV0byBhcnJheSA9IHRvTmF0aXZlQXJyYXk8aW50MzJfdD4oc3RhdGUs
IHN0YXRlLT5hcmd1bWVudCgxKSk7CiAgICAgaWYgKFVOTElLRUxZKHN0YXRlLT5oYWRFeGNlcHRp
b24oKSkpCiAgICAgICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUoanNVbmRlZmluZWQoKSk7CkBA
IC01OTA1LDcgKzU5MDQsNyBAQCBFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIGpzVGVzdE9i
alByb3RvdHlwZUZ1bmN0aW9uVmFyaWFkaWNOb2RlTWV0aG9kKEV4ZWNTdAogICAgICAgICByZXR1
cm4gdGhyb3dWTUVycm9yKHN0YXRlLCBjcmVhdGVOb3RFbm91Z2hBcmd1bWVudHNFcnJvcihzdGF0
ZSkpOwogICAgIGF1dG8gaGVhZCA9IEpTTm9kZTo6dG9XcmFwcGVkKHN0YXRlLT5hcmd1bWVudCgw
KSk7CiAgICAgaWYgKFVOTElLRUxZKCFoZWFkKSkKLSAgICAgICAgcmV0dXJuIHRocm93Vk1UeXBl
RXJyb3Ioc3RhdGUpOworICAgICAgICByZXR1cm4gdGhyb3dBcmd1bWVudFR5cGVFcnJvcigqc3Rh
dGUsIDAsICJoZWFkIiwgIlRlc3RPYmoiLCAidmFyaWFkaWNOb2RlTWV0aG9kIiwgIk5vZGUiKTsK
ICAgICBWZWN0b3I8Tm9kZSo+IHRhaWw7CiAgICAgZm9yICh1bnNpZ25lZCBpID0gMSwgY291bnQg
PSBzdGF0ZS0+YXJndW1lbnRDb3VudCgpOyBpIDwgY291bnQ7ICsraSkgewogICAgICAgICBpZiAo
IXN0YXRlLT51bmNoZWNrZWRBcmd1bWVudChpKS5pbmhlcml0cyhKU05vZGU6OmluZm8oKSkpCkBA
IC02MDU5LDcgKzYwNTgsNyBAQCBzdGF0aWMgaW5saW5lIEVuY29kZWRKU1ZhbHVlIGpzVGVzdE9i
alByb3RvdHlwZUZ1bmN0aW9uVGVzdFByb21pc2VPdmVybG9hZGVkRnVuYwogICAgICAgICByZXR1
cm4gdGhyb3dWTUVycm9yKHN0YXRlLCBjcmVhdGVOb3RFbm91Z2hBcmd1bWVudHNFcnJvcihzdGF0
ZSkpOwogICAgIGF1dG8gcmVxdWVzdCA9IEpTRmV0Y2hSZXF1ZXN0Ojp0b1dyYXBwZWQoc3RhdGUt
PmFyZ3VtZW50KDApKTsKICAgICBpZiAoVU5MSUtFTFkoIXJlcXVlc3QpKQotICAgICAgICByZXR1
cm4gdGhyb3dWTVR5cGVFcnJvcihzdGF0ZSk7CisgICAgICAgIHJldHVybiB0aHJvd0FyZ3VtZW50
VHlwZUVycm9yKCpzdGF0ZSwgMCwgInJlcXVlc3QiLCAiVGVzdE9iaiIsICJ0ZXN0UHJvbWlzZU92
ZXJsb2FkZWRGdW5jdGlvbiIsICJGZXRjaFJlcXVlc3QiKTsKICAgICBpbXBsLnRlc3RQcm9taXNl
T3ZlcmxvYWRlZEZ1bmN0aW9uKCpyZXF1ZXN0LCBEZWZlcnJlZFdyYXBwZXIoc3RhdGUsIGNhc3Rl
ZFRoaXMtPmdsb2JhbE9iamVjdCgpLCBwcm9taXNlRGVmZXJyZWQpKTsKICAgICByZXR1cm4gSlNW
YWx1ZTo6ZW5jb2RlKGpzVW5kZWZpbmVkKCkpOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE92ZXJsb2FkZWRDb25zdHJ1Y3RvcnMu
Y3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE92ZXJs
b2FkZWRDb25zdHJ1Y3RvcnMuY3BwCmluZGV4IDA4NzZmODU4NmI5OTVjNTI2NmE3MTcxNGE0NTZk
MjVkM2JlODNhMzMuLjIzNTZlODc4YjZkOGI2NTE0ZmE0M2Q3YzI5MmUyMzEzNGY3MTVkZGIgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RP
dmVybG9hZGVkQ29uc3RydWN0b3JzLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9z
Y3JpcHRzL3Rlc3QvSlMvSlNUZXN0T3ZlcmxvYWRlZENvbnN0cnVjdG9ycy5jcHAKQEAgLTc0LDcg
Kzc0LDcgQEAgc3RhdGljIGlubGluZSBFbmNvZGVkSlNWYWx1ZSBjb25zdHJ1Y3RKU1Rlc3RPdmVy
bG9hZGVkQ29uc3RydWN0b3JzMShFeGVjU3RhdGUqIHMKICAgICBpZiAoVU5MSUtFTFkoc3RhdGUt
PmhhZEV4Y2VwdGlvbigpKSkKICAgICAgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShqc1VuZGVm
aW5lZCgpKTsKICAgICBpZiAoVU5MSUtFTFkoIWFycmF5QnVmZmVyKSkKLSAgICAgICAgcmV0dXJu
IHRocm93Vk1UeXBlRXJyb3Ioc3RhdGUpOworICAgICAgICByZXR1cm4gdGhyb3dBcmd1bWVudFR5
cGVFcnJvcigqc3RhdGUsIDAsICJhcnJheUJ1ZmZlciIsICJUZXN0T3ZlcmxvYWRlZENvbnN0cnVj
dG9ycyIsIG51bGxwdHIsICJBcnJheUJ1ZmZlciIpOwogICAgIFJlZlB0cjxUZXN0T3ZlcmxvYWRl
ZENvbnN0cnVjdG9ycz4gb2JqZWN0ID0gVGVzdE92ZXJsb2FkZWRDb25zdHJ1Y3RvcnM6OmNyZWF0
ZSgqYXJyYXlCdWZmZXIpOwogICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUoYXNPYmplY3QodG9K
UyhzdGF0ZSwgY2FzdGVkVGhpcy0+Z2xvYmFsT2JqZWN0KCksIG9iamVjdC5nZXQoKSkpKTsKIH0K
QEAgLTg4LDcgKzg4LDcgQEAgc3RhdGljIGlubGluZSBFbmNvZGVkSlNWYWx1ZSBjb25zdHJ1Y3RK
U1Rlc3RPdmVybG9hZGVkQ29uc3RydWN0b3JzMihFeGVjU3RhdGUqIHMKICAgICBpZiAoVU5MSUtF
TFkoc3RhdGUtPmhhZEV4Y2VwdGlvbigpKSkKICAgICAgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29k
ZShqc1VuZGVmaW5lZCgpKTsKICAgICBpZiAoVU5MSUtFTFkoIWFycmF5QnVmZmVyVmlldykpCi0g
ICAgICAgIHJldHVybiB0aHJvd1ZNVHlwZUVycm9yKHN0YXRlKTsKKyAgICAgICAgcmV0dXJuIHRo
cm93QXJndW1lbnRUeXBlRXJyb3IoKnN0YXRlLCAwLCAiYXJyYXlCdWZmZXJWaWV3IiwgIlRlc3RP
dmVybG9hZGVkQ29uc3RydWN0b3JzIiwgbnVsbHB0ciwgIkFycmF5QnVmZmVyVmlldyIpOwogICAg
IFJlZlB0cjxUZXN0T3ZlcmxvYWRlZENvbnN0cnVjdG9ycz4gb2JqZWN0ID0gVGVzdE92ZXJsb2Fk
ZWRDb25zdHJ1Y3RvcnM6OmNyZWF0ZSgqYXJyYXlCdWZmZXJWaWV3KTsKICAgICByZXR1cm4gSlNW
YWx1ZTo6ZW5jb2RlKGFzT2JqZWN0KHRvSlMoc3RhdGUsIGNhc3RlZFRoaXMtPmdsb2JhbE9iamVj
dCgpLCBvYmplY3QuZ2V0KCkpKSk7CiB9CkBAIC0xMDAsNyArMTAwLDcgQEAgc3RhdGljIGlubGlu
ZSBFbmNvZGVkSlNWYWx1ZSBjb25zdHJ1Y3RKU1Rlc3RPdmVybG9hZGVkQ29uc3RydWN0b3JzMyhF
eGVjU3RhdGUqIHMKICAgICAgICAgcmV0dXJuIHRocm93Vk1FcnJvcihzdGF0ZSwgY3JlYXRlTm90
RW5vdWdoQXJndW1lbnRzRXJyb3Ioc3RhdGUpKTsKICAgICBhdXRvIGJsb2IgPSBKU0Jsb2I6OnRv
V3JhcHBlZChzdGF0ZS0+YXJndW1lbnQoMCkpOwogICAgIGlmIChVTkxJS0VMWSghYmxvYikpCi0g
ICAgICAgIHJldHVybiB0aHJvd1ZNVHlwZUVycm9yKHN0YXRlKTsKKyAgICAgICAgcmV0dXJuIHRo
cm93QXJndW1lbnRUeXBlRXJyb3IoKnN0YXRlLCAwLCAiYmxvYiIsICJUZXN0T3ZlcmxvYWRlZENv
bnN0cnVjdG9ycyIsIG51bGxwdHIsICJCbG9iIik7CiAgICAgUmVmUHRyPFRlc3RPdmVybG9hZGVk
Q29uc3RydWN0b3JzPiBvYmplY3QgPSBUZXN0T3ZlcmxvYWRlZENvbnN0cnVjdG9yczo6Y3JlYXRl
KCpibG9iKTsKICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGFzT2JqZWN0KHRvSlMoc3RhdGUs
IGNhc3RlZFRoaXMtPmdsb2JhbE9iamVjdCgpLCBvYmplY3QuZ2V0KCkpKSk7CiB9CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVGVzdE9iai5pZGwgYi9T
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVGVzdE9iai5pZGwKaW5kZXggOTIx
YTMxNTZmMzMwMmMxMmUyNzY1OTc0MDU1ZDY2NmRmNjg4YzRjNi4uYjVhMTE5Zjg4ZGRhYjlkYWY5
NWNhOTQ0YzJjZDhkMDQ3M2ZjOTA1YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3Mvc2NyaXB0cy90ZXN0L1Rlc3RPYmouaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L3NjcmlwdHMvdGVzdC9UZXN0T2JqLmlkbApAQCAtMzEzLDcgKzMxMyw3IEBAIGVudW0gVGVzdENv
bmZpZGVuY2UgeyAiaGlnaCIsICJraW5kYS1sb3ciIH07CiAgICAgW1N0cmljdFR5cGVDaGVja2lu
Z10gYXR0cmlidXRlIHVucmVzdHJpY3RlZCBmbG9hdCBzdHJpY3RGbG9hdDsKICAgICBbU3RyaWN0
VHlwZUNoZWNraW5nLCBSYWlzZXNFeGNlcHRpb25dIGJvb2xlYW4gc3RyaWN0RnVuY3Rpb24oRE9N
U3RyaW5nIHN0ciwgdW5yZXN0cmljdGVkIGZsb2F0IGEsIGxvbmcgYik7CiAKLSAgICBbU3RyaWN0
VHlwZUNoZWNraW5nLCBSYWlzZXNFeGNlcHRpb25dIGJvb2xlYW4gc3RyaWN0RnVuY3Rpb25XaXRo
U2VxdWVuY2UoVGVzdE9iaiBvYmpBcmcsIHNlcXVlbmNlPHVuc2lnbmVkIGxvbmc+IGEpOworICAg
IFtTdHJpY3RUeXBlQ2hlY2tpbmcsIFJhaXNlc0V4Y2VwdGlvbl0gYm9vbGVhbiBzdHJpY3RGdW5j
dGlvbldpdGhTZXF1ZW5jZShUZXN0T2JqPyBvYmpBcmcsIHNlcXVlbmNlPHVuc2lnbmVkIGxvbmc+
IGEpOwogICAgIFtTdHJpY3RUeXBlQ2hlY2tpbmcsIFJhaXNlc0V4Y2VwdGlvbl0gYm9vbGVhbiBz
dHJpY3RGdW5jdGlvbldpdGhBcnJheShUZXN0T2JqIG9iakFyZywgbG9uZ1tdIGFycmF5KTsKIAog
ICAgIC8vIE9iamVjdGl2ZUMgcmVzZXJ2ZWQgd29yZHMuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggZGJiMWUyYTk5OTlhNWE4
ZDU5OTVmMTg4NzIxOTIwOWVlZWZhYzEzNS4uMDYzNjFkZmYwNmRhMTM5MDRjN2NkNGQyYzZhNjcw
YTI3MTlkZTYwOSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91
dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQyIEBACisyMDE2LTA1LTA4ICBDaHJpcyBEdW1l
eiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgT3B0aW1pemUgW1N0cmljdFR5cGVDaGVj
a2luZ10gb24gSURMIG9wZXJhdGlvbnMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTE1NzQ2NworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgIFJlYmFzZWxpbmUgZXhpc3RpbmcgdGVzdHMgbm93IHRoYXQgd2UgcHJv
dmlkZSBhIG1vcmUgdXNlZnVsIGV4Y2VwdGlvbgorICAgICAgICBtZXNzYWdlIHdoZW4gcGFzc2lu
ZyBudWxsIGZvciBhIG5vbi1udWxsYWJsZSBwYXJhbWV0ZXIgYW5kIGFzc2lnbmluZworICAgICAg
ICBudWxsIHRvIGEgbm9uLW51bGxhYmxlIGF0dHJpYnV0ZS4KKworICAgICAgICAqIGVkaXRpbmcv
c2VsZWN0aW9uL2V4dGVuZC1leHBlY3RlZC50eHQ6CisgICAgICAgICogZmFzdC9kb20vRG9jdW1l
bnQvYWRvcHROb2RlLW51bGwtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIGZhc3QvZG9tL0RvY3Vt
ZW50L2Fkb3B0Tm9kZS1udWxsLmh0bWw6CisgICAgICAgICogZmFzdC9kb20vRG9jdW1lbnQvaW1w
b3J0Tm9kZS1udWxsLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBmYXN0L2RvbS9Eb2N1bWVudC9p
bXBvcnROb2RlLW51bGwuaHRtbDoKKyAgICAgICAgKiBmYXN0L2RvbS9FbGVtZW50L2F0dHItcGFy
YW0tdHlwZWNoZWNraW5nLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBmYXN0L2RvbS9NdXRhdGlv
bk9ic2VydmVyL29ic2VydmUtZXhjZXB0aW9ucy1leHBlY3RlZC50eHQ6CisgICAgICAgICogZmFz
dC9kb20vTmFtZWROb2RlTWFwLXNldE5hbWVkSXRlbS1jcmFzaC1leHBlY3RlZC50eHQ6CisgICAg
ICAgICogZmFzdC9kb20vUmFuZ2UvcmFuZ2UtaW50ZXJzZWN0c05vZGUtZXhwZWN0ZWQudHh0Ogor
ICAgICAgICAqIGZhc3QvZG9tL2NyZWF0ZU5vZGVJdGVyYXRvci1wYXJhbWV0ZXJzLWV4cGVjdGVk
LnR4dDoKKyAgICAgICAgKiBmYXN0L2RvbS9jcmVhdGVOb2RlSXRlcmF0b3ItcGFyYW1ldGVycy5o
dG1sOgorICAgICAgICAqIGZhc3QvZG9tL2NyZWF0ZVRyZWVXYWxrZXItcGFyYW1ldGVycy1leHBl
Y3RlZC50eHQ6CisgICAgICAgICogZmFzdC9kb20vY3JlYXRlVHJlZVdhbGtlci1wYXJhbWV0ZXJz
Lmh0bWw6CisgICAgICAgICogZmFzdC9kb20veG1sc2VyaWFsaXplci1zZXJpYWxpemUtdG8tc3Ry
aW5nLWV4Y2VwdGlvbi1leHBlY3RlZC50eHQ6CisgICAgICAgICogZmFzdC9keW5hbWljL2luc2Vy
dEFkamFjZW50RWxlbWVudC1leHBlY3RlZC50eHQ6CisgICAgICAgICogZmFzdC9tZWRpYXN0cmVh
bS9NZWRpYVN0cmVhbS1hZGQtcmVtb3ZlLW51bGwtdW5kZWZpbmVkLXRyYWNrcy1leHBlY3RlZC50
eHQ6CisgICAgICAgICogZmFzdC9zcGVlY2hzeW50aGVzaXMvc3BlZWNoLXN5bnRoZXNpcy1jcmFz
aC1vbi1iYWQtdXR0ZXJhbmNlLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBmYXN0L3RleHQvZm9u
dC1mYWNlLXNldC1qYXZhc2NyaXB0LWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBmYXN0L3RleHQv
dGV4dC1jb21iaW5lLWNyYXNoLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBtZWRpYS9lbmNyeXB0
ZWQtbWVkaWEvZW5jcnlwdGVkLW1lZGlhLXYyLXN5bnRheC1leHBlY3RlZC50eHQ6CisgICAgICAg
ICogbWVkaWEvZW5jcnlwdGVkLW1lZGlhL2VuY3J5cHRlZC1tZWRpYS12Mi1zeW50YXguaHRtbDoK
KyAgICAgICAgKiB3ZWJhdWRpby9jcmVhdGVNZWRpYVN0cmVhbVNvdXJjZS1udWxsLWV4cGVjdGVk
LnR4dDoKKyAgICAgICAgKiB3ZWJhdWRpby9jcmVhdGVNZWRpYVN0cmVhbVNvdXJjZS1udWxsLmh0
bWw6CisgICAgICAgICogd2ViYXVkaW8vZGVjb2RlLWF1ZGlvLWRhdGEtYmFzaWMtZXhwZWN0ZWQu
dHh0OgorICAgICAgICAqIHdlYmF1ZGlvL2RlY29kZS1hdWRpby1kYXRhLWJhc2ljLmh0bWw6Cisg
ICAgICAgICogd2ViYXVkaW8vbWVkaWFlbGVtZW50YXVkaW9zb3VyY2Vub2RlLWV4cGVjdGVkLnR4
dDoKKyAgICAgICAgKiB3ZWJhdWRpby9tZWRpYWVsZW1lbnRhdWRpb3NvdXJjZW5vZGUuaHRtbDoK
KwogMjAxNi0wNS0wOCAgRGFyaW4gQWRsZXIgIDxkYXJpbkBhcHBsZS5jb20+CiAKICAgICAgICAg
Q29ycmVjdCBkaWN0aW9uYXJ5IGJpbmRpbmdzIGhhbmRsaW5nIG9mIG9wdGlvbmFsLCBudWxsLCBh
bmQgdW5kZWZpbmVkCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9l
eHRlbmQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vZXh0ZW5k
LWV4cGVjdGVkLnR4dAppbmRleCAwMWVjNzRiYjRhY2VhZTJkYjQyZjJjMjRlMDE4NjE0OTdhZDky
NjM3Li5jZjlmNTVhZWY0NTY4YjBlMzM2ZjM1ODEzMDViMzkyOWZjYjYwOGVjIDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9leHRlbmQtZXhwZWN0ZWQudHh0CisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2V4dGVuZC1leHBlY3RlZC50eHQKQEAgLTUs
NCArNSw0IEBAIFN1Y2Nlc3M6IHMuZXh0ZW5kKHNwYW4yLmZpcnN0Q2hpbGQsIC0xKSByYWlzZWQg
RXJyb3I6IEluZGV4U2l6ZUVycm9yOiBET00gRXhjZXB0CiBTdWNjZXNzOiB3aW5kb3cuZ2V0U2Vs
ZWN0aW9uKCkgaXMgYi4KIFN1Y2Nlc3M6IHdpbmRvdy5nZXRTZWxlY3Rpb24oKSBpcyBhcmJhei4K
IFN1Y2Nlc3M6IHMuZXh0ZW5kKCkgcmFpc2VkIFR5cGVFcnJvcjogTm90IGVub3VnaCBhcmd1bWVu
dHMuCi1TdWNjZXNzOiBzLmV4dGVuZChudWxsLCAwKSByYWlzZWQgVHlwZUVycm9yOiBUeXBlIGVy
cm9yLgorU3VjY2Vzczogcy5leHRlbmQobnVsbCwgMCkgcmFpc2VkIFR5cGVFcnJvcjogQXJndW1l
bnQgMSAoJ25vZGUnKSB0byBET01TZWxlY3Rpb24uZXh0ZW5kIG11c3QgYmUgYW4gaW5zdGFuY2Ug
b2YgTm9kZS4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL0RvY3VtZW50L2Fkb3B0
Tm9kZS1udWxsLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL0RvY3VtZW50L2Fk
b3B0Tm9kZS1udWxsLWV4cGVjdGVkLnR4dAppbmRleCBjYWUwYTY2NTFkODdiN2UyZDRjYzliYTM4
ZWVjZjA3YmYwZjhhM2I0Li5iMzE0NWEwZDBjMTc0MTQ0ODU2OTk0MWJjNmM4YWEyN2I5ZDJjOWY4
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9Eb2N1bWVudC9hZG9wdE5vZGUtbnVs
bC1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vRG9jdW1lbnQvYWRvcHRO
b2RlLW51bGwtZXhwZWN0ZWQudHh0CkBAIC0zLDcgKzMsNyBAQCBUZXN0cyB0aGF0IGRvY3VtZW50
LmFkb3B0Tm9kZShudWxsKSB0aHJvd3MgYSBUeXBlRXJyb3IKIE9uIHN1Y2Nlc3MsIHlvdSB3aWxs
IHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBM
RVRFIi4KIAogCi1QQVNTIGRvY3VtZW50LmFkb3B0Tm9kZShudWxsKSB0aHJldyBleGNlcHRpb24g
VHlwZUVycm9yOiBUeXBlIGVycm9yLgorUEFTUyBkb2N1bWVudC5hZG9wdE5vZGUobnVsbCkgdGhy
ZXcgZXhjZXB0aW9uIFR5cGVFcnJvcjogQXJndW1lbnQgMSAoJ3NvdXJjZScpIHRvIERvY3VtZW50
LmFkb3B0Tm9kZSBtdXN0IGJlIGFuIGluc3RhbmNlIG9mIE5vZGUuCiBQQVNTIGRvY3VtZW50LmFk
b3B0Tm9kZSgpIHRocmV3IGV4Y2VwdGlvbiBUeXBlRXJyb3I6IE5vdCBlbm91Z2ggYXJndW1lbnRz
LgogUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQogCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9mYXN0L2RvbS9Eb2N1bWVudC9hZG9wdE5vZGUtbnVsbC5odG1sIGIvTGF5b3V0VGVzdHMv
ZmFzdC9kb20vRG9jdW1lbnQvYWRvcHROb2RlLW51bGwuaHRtbAppbmRleCBiMDgzYjg0ZmExMGNl
ZmUwZGQ4NDk4MTk0YjcxNjUyZmUxNWU2OTQ3Li5kOWExMGIzZmI2NTRhMWM2YzVjNWVlMGY1M2Jh
OWVkOWI5YWJkZjJmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9Eb2N1bWVudC9h
ZG9wdE5vZGUtbnVsbC5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL0RvY3VtZW50L2Fk
b3B0Tm9kZS1udWxsLmh0bWwKQEAgLTUsNyArNSw3IEBACiA8c2NyaXB0PgogZGVzY3JpcHRpb24o
IlRlc3RzIHRoYXQgZG9jdW1lbnQuYWRvcHROb2RlKG51bGwpIHRocm93cyBhIFR5cGVFcnJvciIp
OwogCi1zaG91bGRUaHJvdygiZG9jdW1lbnQuYWRvcHROb2RlKG51bGwpIiwgIidUeXBlRXJyb3I6
IFR5cGUgZXJyb3InIik7CitzaG91bGRUaHJvdygiZG9jdW1lbnQuYWRvcHROb2RlKG51bGwpIiwg
IidUeXBlRXJyb3I6IEFyZ3VtZW50IDEgKFxcJ3NvdXJjZVxcJykgdG8gRG9jdW1lbnQuYWRvcHRO
b2RlIG11c3QgYmUgYW4gaW5zdGFuY2Ugb2YgTm9kZSciKTsKIHNob3VsZFRocm93KCJkb2N1bWVu
dC5hZG9wdE5vZGUoKSIsICInVHlwZUVycm9yOiBOb3QgZW5vdWdoIGFyZ3VtZW50cyciKTsKIDwv
c2NyaXB0PgogPHNjcmlwdCBzcmM9Ii4uLy4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMi
Pjwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vRG9jdW1lbnQvaW1w
b3J0Tm9kZS1udWxsLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL0RvY3VtZW50
L2ltcG9ydE5vZGUtbnVsbC1leHBlY3RlZC50eHQKaW5kZXggNDZkMTkwYWM5OWE1MWNmMzhlZTEz
NTIyMzc1NzhiODVjODMyZjUyYy4uMWIxYWE2MDAxYmFkYzNhYzU4Mjg4ZjQ1YTg5YmM0NjRjNzIw
MzJhMiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vRG9jdW1lbnQvaW1wb3J0Tm9k
ZS1udWxsLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9Eb2N1bWVudC9p
bXBvcnROb2RlLW51bGwtZXhwZWN0ZWQudHh0CkBAIC0zLDcgKzMsNyBAQCBUZXN0cyB0aGF0IGRv
Y3VtZW50LmltcG9ydE5vZGUobnVsbCkgdGhyb3dzIGEgVHlwZUVycm9yCiBPbiBzdWNjZXNzLCB5
b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVT
VCBDT01QTEVURSIuCiAKIAotUEFTUyBkb2N1bWVudC5pbXBvcnROb2RlKG51bGwpIHRocmV3IGV4
Y2VwdGlvbiBUeXBlRXJyb3I6IFR5cGUgZXJyb3IuCitQQVNTIGRvY3VtZW50LmltcG9ydE5vZGUo
bnVsbCkgdGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJvcjogQXJndW1lbnQgMSAoJ2ltcG9ydGVkTm9k
ZScpIHRvIERvY3VtZW50LmltcG9ydE5vZGUgbXVzdCBiZSBhbiBpbnN0YW5jZSBvZiBOb2RlLgog
UEFTUyBkb2N1bWVudC5pbXBvcnROb2RlKCkgdGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJvcjogTm90
IGVub3VnaCBhcmd1bWVudHMuCiBQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCiAKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL0RvY3VtZW50L2ltcG9ydE5vZGUtbnVsbC5o
dG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vRG9jdW1lbnQvaW1wb3J0Tm9kZS1udWxsLmh0bWwK
aW5kZXggYzhhODY3MWUxODE4MTFhYzg0NGFlZWIwY2MxZmQ4MzE1MTc2ZGU5Yi4uYTAyZWQ4NzJm
MWIxM2M1YjUwN2UyNWJmZDA5MDJjMTJmMTMyZDQxZSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
ZmFzdC9kb20vRG9jdW1lbnQvaW1wb3J0Tm9kZS1udWxsLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMv
ZmFzdC9kb20vRG9jdW1lbnQvaW1wb3J0Tm9kZS1udWxsLmh0bWwKQEAgLTUsNyArNSw3IEBACiA8
c2NyaXB0PgogZGVzY3JpcHRpb24oIlRlc3RzIHRoYXQgZG9jdW1lbnQuaW1wb3J0Tm9kZShudWxs
KSB0aHJvd3MgYSBUeXBlRXJyb3IiKTsKIAotc2hvdWxkVGhyb3coImRvY3VtZW50LmltcG9ydE5v
ZGUobnVsbCkiLCAiJ1R5cGVFcnJvcjogVHlwZSBlcnJvciciKTsKK3Nob3VsZFRocm93KCJkb2N1
bWVudC5pbXBvcnROb2RlKG51bGwpIiwgIidUeXBlRXJyb3I6IEFyZ3VtZW50IDEgKFxcJ2ltcG9y
dGVkTm9kZVxcJykgdG8gRG9jdW1lbnQuaW1wb3J0Tm9kZSBtdXN0IGJlIGFuIGluc3RhbmNlIG9m
IE5vZGUnIik7CiBzaG91bGRUaHJvdygiZG9jdW1lbnQuaW1wb3J0Tm9kZSgpIiwgIidUeXBlRXJy
b3I6IE5vdCBlbm91Z2ggYXJndW1lbnRzJyIpOwogPC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iLi4v
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9mYXN0L2RvbS9FbGVtZW50L2F0dHItcGFyYW0tdHlwZWNoZWNraW5nLWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL0VsZW1lbnQvYXR0ci1wYXJhbS10eXBlY2hl
Y2tpbmctZXhwZWN0ZWQudHh0CmluZGV4IDU0NTE1NTM4YjZjZTgxNGM3ZWY0YzJmOGY1YzNhMmVh
NDZhNjg4NWEuLmU4ZTljYjNmODVkYWM0OWM0MWMxMTRjNTZiMDZiOWI5MDgzZTFjMzUgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL0VsZW1lbnQvYXR0ci1wYXJhbS10eXBlY2hlY2tp
bmctZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL0VsZW1lbnQvYXR0ci1w
YXJhbS10eXBlY2hlY2tpbmctZXhwZWN0ZWQudHh0CkBAIC0zLDE4ICszLDE4IEBAIFRoaXMgdGVz
dCBjaGVja3Mgd2hldGhlciBwYXNzaW5nIHdyb25nIHR5cGVzIHRvIHNldEF0dHJpYnV0ZU5vZGUg
Y2F1c2VzIGEgY3Jhc2guCiBPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBB
U1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCiAKIAotUEFTUyBlbGVt
ZW50LnNldEF0dHJpYnV0ZU5vZGUoInN0eWxlIik7IHRocmV3IGV4Y2VwdGlvbiBUeXBlRXJyb3I6
IFR5cGUgZXJyb3IuCi1QQVNTIGVsZW1lbnQuc2V0QXR0cmlidXRlTm9kZShudWxsKTsgdGhyZXcg
ZXhjZXB0aW9uIFR5cGVFcnJvcjogVHlwZSBlcnJvci4KLVBBU1MgZWxlbWVudC5zZXRBdHRyaWJ1
dGVOb2RlKHVuZGVmaW5lZCk7IHRocmV3IGV4Y2VwdGlvbiBUeXBlRXJyb3I6IFR5cGUgZXJyb3Iu
Ci1QQVNTIGVsZW1lbnQuc2V0QXR0cmlidXRlTm9kZShuZXcgT2JqZWN0KTsgdGhyZXcgZXhjZXB0
aW9uIFR5cGVFcnJvcjogVHlwZSBlcnJvci4KLVBBU1MgZWxlbWVudC5yZW1vdmVBdHRyaWJ1dGVO
b2RlKCJzdHlsZSIpOyB0aHJldyBleGNlcHRpb24gVHlwZUVycm9yOiBUeXBlIGVycm9yLgotUEFT
UyBlbGVtZW50LnJlbW92ZUF0dHJpYnV0ZU5vZGUobnVsbCk7IHRocmV3IGV4Y2VwdGlvbiBUeXBl
RXJyb3I6IFR5cGUgZXJyb3IuCi1QQVNTIGVsZW1lbnQucmVtb3ZlQXR0cmlidXRlTm9kZSh1bmRl
ZmluZWQpOyB0aHJldyBleGNlcHRpb24gVHlwZUVycm9yOiBUeXBlIGVycm9yLgotUEFTUyBlbGVt
ZW50LnJlbW92ZUF0dHJpYnV0ZU5vZGUobmV3IE9iamVjdCk7IHRocmV3IGV4Y2VwdGlvbiBUeXBl
RXJyb3I6IFR5cGUgZXJyb3IuCi1QQVNTIGVsZW1lbnQuc2V0QXR0cmlidXRlTm9kZU5TKCJzdHls
ZSIpOyB0aHJldyBleGNlcHRpb24gVHlwZUVycm9yOiBUeXBlIGVycm9yLgotUEFTUyBlbGVtZW50
LnNldEF0dHJpYnV0ZU5vZGVOUyhudWxsKTsgdGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJvcjogVHlw
ZSBlcnJvci4KLVBBU1MgZWxlbWVudC5zZXRBdHRyaWJ1dGVOb2RlTlModW5kZWZpbmVkKTsgdGhy
ZXcgZXhjZXB0aW9uIFR5cGVFcnJvcjogVHlwZSBlcnJvci4KLVBBU1MgZWxlbWVudC5zZXRBdHRy
aWJ1dGVOb2RlTlMobmV3IE9iamVjdCk7IHRocmV3IGV4Y2VwdGlvbiBUeXBlRXJyb3I6IFR5cGUg
ZXJyb3IuCitQQVNTIGVsZW1lbnQuc2V0QXR0cmlidXRlTm9kZSgic3R5bGUiKTsgdGhyZXcgZXhj
ZXB0aW9uIFR5cGVFcnJvcjogQXJndW1lbnQgMSAoJ25ld0F0dHInKSB0byBFbGVtZW50LnNldEF0
dHJpYnV0ZU5vZGUgbXVzdCBiZSBhbiBpbnN0YW5jZSBvZiBBdHRyLgorUEFTUyBlbGVtZW50LnNl
dEF0dHJpYnV0ZU5vZGUobnVsbCk7IHRocmV3IGV4Y2VwdGlvbiBUeXBlRXJyb3I6IEFyZ3VtZW50
IDEgKCduZXdBdHRyJykgdG8gRWxlbWVudC5zZXRBdHRyaWJ1dGVOb2RlIG11c3QgYmUgYW4gaW5z
dGFuY2Ugb2YgQXR0ci4KK1BBU1MgZWxlbWVudC5zZXRBdHRyaWJ1dGVOb2RlKHVuZGVmaW5lZCk7
IHRocmV3IGV4Y2VwdGlvbiBUeXBlRXJyb3I6IEFyZ3VtZW50IDEgKCduZXdBdHRyJykgdG8gRWxl
bWVudC5zZXRBdHRyaWJ1dGVOb2RlIG11c3QgYmUgYW4gaW5zdGFuY2Ugb2YgQXR0ci4KK1BBU1Mg
ZWxlbWVudC5zZXRBdHRyaWJ1dGVOb2RlKG5ldyBPYmplY3QpOyB0aHJldyBleGNlcHRpb24gVHlw
ZUVycm9yOiBBcmd1bWVudCAxICgnbmV3QXR0cicpIHRvIEVsZW1lbnQuc2V0QXR0cmlidXRlTm9k
ZSBtdXN0IGJlIGFuIGluc3RhbmNlIG9mIEF0dHIuCitQQVNTIGVsZW1lbnQucmVtb3ZlQXR0cmli
dXRlTm9kZSgic3R5bGUiKTsgdGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJvcjogQXJndW1lbnQgMSAo
J29sZEF0dHInKSB0byBFbGVtZW50LnJlbW92ZUF0dHJpYnV0ZU5vZGUgbXVzdCBiZSBhbiBpbnN0
YW5jZSBvZiBBdHRyLgorUEFTUyBlbGVtZW50LnJlbW92ZUF0dHJpYnV0ZU5vZGUobnVsbCk7IHRo
cmV3IGV4Y2VwdGlvbiBUeXBlRXJyb3I6IEFyZ3VtZW50IDEgKCdvbGRBdHRyJykgdG8gRWxlbWVu
dC5yZW1vdmVBdHRyaWJ1dGVOb2RlIG11c3QgYmUgYW4gaW5zdGFuY2Ugb2YgQXR0ci4KK1BBU1Mg
ZWxlbWVudC5yZW1vdmVBdHRyaWJ1dGVOb2RlKHVuZGVmaW5lZCk7IHRocmV3IGV4Y2VwdGlvbiBU
eXBlRXJyb3I6IEFyZ3VtZW50IDEgKCdvbGRBdHRyJykgdG8gRWxlbWVudC5yZW1vdmVBdHRyaWJ1
dGVOb2RlIG11c3QgYmUgYW4gaW5zdGFuY2Ugb2YgQXR0ci4KK1BBU1MgZWxlbWVudC5yZW1vdmVB
dHRyaWJ1dGVOb2RlKG5ldyBPYmplY3QpOyB0aHJldyBleGNlcHRpb24gVHlwZUVycm9yOiBBcmd1
bWVudCAxICgnb2xkQXR0cicpIHRvIEVsZW1lbnQucmVtb3ZlQXR0cmlidXRlTm9kZSBtdXN0IGJl
IGFuIGluc3RhbmNlIG9mIEF0dHIuCitQQVNTIGVsZW1lbnQuc2V0QXR0cmlidXRlTm9kZU5TKCJz
dHlsZSIpOyB0aHJldyBleGNlcHRpb24gVHlwZUVycm9yOiBBcmd1bWVudCAxICgnbmV3QXR0cicp
IHRvIEVsZW1lbnQuc2V0QXR0cmlidXRlTm9kZU5TIG11c3QgYmUgYW4gaW5zdGFuY2Ugb2YgQXR0
ci4KK1BBU1MgZWxlbWVudC5zZXRBdHRyaWJ1dGVOb2RlTlMobnVsbCk7IHRocmV3IGV4Y2VwdGlv
biBUeXBlRXJyb3I6IEFyZ3VtZW50IDEgKCduZXdBdHRyJykgdG8gRWxlbWVudC5zZXRBdHRyaWJ1
dGVOb2RlTlMgbXVzdCBiZSBhbiBpbnN0YW5jZSBvZiBBdHRyLgorUEFTUyBlbGVtZW50LnNldEF0
dHJpYnV0ZU5vZGVOUyh1bmRlZmluZWQpOyB0aHJldyBleGNlcHRpb24gVHlwZUVycm9yOiBBcmd1
bWVudCAxICgnbmV3QXR0cicpIHRvIEVsZW1lbnQuc2V0QXR0cmlidXRlTm9kZU5TIG11c3QgYmUg
YW4gaW5zdGFuY2Ugb2YgQXR0ci4KK1BBU1MgZWxlbWVudC5zZXRBdHRyaWJ1dGVOb2RlTlMobmV3
IE9iamVjdCk7IHRocmV3IGV4Y2VwdGlvbiBUeXBlRXJyb3I6IEFyZ3VtZW50IDEgKCduZXdBdHRy
JykgdG8gRWxlbWVudC5zZXRBdHRyaWJ1dGVOb2RlTlMgbXVzdCBiZSBhbiBpbnN0YW5jZSBvZiBB
dHRyLgogUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQogCiBURVNUIENPTVBMRVRFCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9NdXRhdGlvbk9ic2VydmVyL29ic2VydmUt
ZXhjZXB0aW9ucy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9NdXRhdGlvbk9i
c2VydmVyL29ic2VydmUtZXhjZXB0aW9ucy1leHBlY3RlZC50eHQKaW5kZXggNTFlYjQ2MDc1ZDAw
MTQ4NWI0YWYwNzM1Y2RmMTZkZWI3ZTc3Nzk3NC4uZWQ5YTJmNWJhN2U5MmFiMzNlYjI3MGJlMGNl
MzZiMGJjYWYxOWExYSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vTXV0YXRpb25P
YnNlcnZlci9vYnNlcnZlLWV4Y2VwdGlvbnMtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3Rz
L2Zhc3QvZG9tL011dGF0aW9uT2JzZXJ2ZXIvb2JzZXJ2ZS1leGNlcHRpb25zLWV4cGVjdGVkLnR4
dApAQCAtOSw4ICs5LDggQEAgUEFTUyBvYnNlcnZlci5vYnNlcnZlKHVuZGVmaW5lZCkgdGhyZXcg
ZXhjZXB0aW9uIFR5cGVFcnJvcjogTm90IGVub3VnaCBhcmd1bWVudHMKIFBBU1Mgb2JzZXJ2ZXIu
b2JzZXJ2ZShkb2N1bWVudC5ib2R5KSB0aHJldyBleGNlcHRpb24gVHlwZUVycm9yOiBOb3QgZW5v
dWdoIGFyZ3VtZW50cy4KIFBBU1Mgb2JzZXJ2ZXIub2JzZXJ2ZShkb2N1bWVudC5ib2R5LCBudWxs
KSB0aHJldyBleGNlcHRpb24gVHlwZUVycm9yOiBUeXBlIGVycm9yLgogUEFTUyBvYnNlcnZlci5v
YnNlcnZlKGRvY3VtZW50LmJvZHksIHVuZGVmaW5lZCkgdGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJv
cjogVHlwZSBlcnJvci4KLVBBU1Mgb2JzZXJ2ZXIub2JzZXJ2ZShudWxsLCB7YXR0cmlidXRlczog
dHJ1ZX0pIHRocmV3IGV4Y2VwdGlvbiBUeXBlRXJyb3I6IFR5cGUgZXJyb3IuCi1QQVNTIG9ic2Vy
dmVyLm9ic2VydmUodW5kZWZpbmVkLCB7YXR0cmlidXRlczogdHJ1ZX0pIHRocmV3IGV4Y2VwdGlv
biBUeXBlRXJyb3I6IFR5cGUgZXJyb3IuCitQQVNTIG9ic2VydmVyLm9ic2VydmUobnVsbCwge2F0
dHJpYnV0ZXM6IHRydWV9KSB0aHJldyBleGNlcHRpb24gVHlwZUVycm9yOiBBcmd1bWVudCAxICgn
dGFyZ2V0JykgdG8gTXV0YXRpb25PYnNlcnZlci5vYnNlcnZlIG11c3QgYmUgYW4gaW5zdGFuY2Ug
b2YgTm9kZS4KK1BBU1Mgb2JzZXJ2ZXIub2JzZXJ2ZSh1bmRlZmluZWQsIHthdHRyaWJ1dGVzOiB0
cnVlfSkgdGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJvcjogQXJndW1lbnQgMSAoJ3RhcmdldCcpIHRv
IE11dGF0aW9uT2JzZXJ2ZXIub2JzZXJ2ZSBtdXN0IGJlIGFuIGluc3RhbmNlIG9mIE5vZGUuCiBQ
QVNTIG9ic2VydmVyLm9ic2VydmUoZG9jdW1lbnQuYm9keSwge3N1YnRyZWU6IHRydWV9KSB0aHJl
dyBleGNlcHRpb24gVHlwZUVycm9yOiBUeXBlIGVycm9yLgogUEFTUyBvYnNlcnZlci5vYnNlcnZl
KGRvY3VtZW50LmJvZHksIHtjaGlsZExpc3Q6IHRydWUsIGF0dHJpYnV0ZU9sZFZhbHVlOiB0cnVl
fSkgZGlkIG5vdCB0aHJvdyBleGNlcHRpb24uCiBQQVNTIG9ic2VydmVyLm9ic2VydmUoZG9jdW1l
bnQuYm9keSwge2F0dHJpYnV0ZXM6IHRydWUsIGNoYXJhY3RlckRhdGFPbGRWYWx1ZTogdHJ1ZX0p
IGRpZCBub3QgdGhyb3cgZXhjZXB0aW9uLgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9k
b20vTmFtZWROb2RlTWFwLXNldE5hbWVkSXRlbS1jcmFzaC1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9mYXN0L2RvbS9OYW1lZE5vZGVNYXAtc2V0TmFtZWRJdGVtLWNyYXNoLWV4cGVjdGVkLnR4
dAppbmRleCAwMzgwNTZiNTcyOTM1NDUzZmYwMGVlNDRmZGQyODBlMGY5NjJhZjM0Li42NWUzNmY5
OWQ0OTc1MzY3ZjA1MDg4ZGUxODYxOWY1YTE0MTljYTJkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9mYXN0L2RvbS9OYW1lZE5vZGVNYXAtc2V0TmFtZWRJdGVtLWNyYXNoLWV4cGVjdGVkLnR4dAor
KysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9OYW1lZE5vZGVNYXAtc2V0TmFtZWRJdGVtLWNyYXNo
LWV4cGVjdGVkLnR4dApAQCAtMSwyICsxLDIgQEAKLUNPTlNPTEUgTUVTU0FHRTogbGluZSA3OiBU
eXBlRXJyb3I6IFR5cGUgZXJyb3IKK0NPTlNPTEUgTUVTU0FHRTogbGluZSA3OiBUeXBlRXJyb3I6
IEFyZ3VtZW50IDEgKCdub2RlJykgdG8gTmFtZWROb2RlTWFwLnNldE5hbWVkSXRlbSBtdXN0IGJl
IGFuIGluc3RhbmNlIG9mIE5vZGUKIFRoaXMgcGFzc2VzIGlmIGl0IGRvZXMgbm90IGNyYXNoLiAo
c2VlIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xODk1OCkKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL1JhbmdlL3JhbmdlLWludGVyc2VjdHNOb2RlLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL1JhbmdlL3JhbmdlLWludGVyc2VjdHNO
b2RlLWV4cGVjdGVkLnR4dAppbmRleCAyYTBiODdhZjc2Mjk2YTQyMjU5YWQwZjg0MDc3YzNkNmUx
MmQ0NmU0Li4zMGYzYjRmMDRlOGJmM2E0NTJmZjdlNzlhYjZmZTAzNmYxNDYyNzJiIDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9SYW5nZS9yYW5nZS1pbnRlcnNlY3RzTm9kZS1leHBl
Y3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vUmFuZ2UvcmFuZ2UtaW50ZXJzZWN0
c05vZGUtZXhwZWN0ZWQudHh0CkBAIC01OSw3ICs1OSw3IEBAIFBBU1MgcmFuZ2Uuc2VsZWN0Tm9k
ZShkb2N1bWVudCkgdGhyZXcgZXhjZXB0aW9uIEVycm9yOiBJbnZhbGlkTm9kZVR5cGVFcnJvcjog
RE9NCiBQQVNTIGludGVyc2VjdHMgaXMgZmFsc2UKIAogMi42IE5vZGUgZGVsZXRlZAotUEFTUyBy
YW5nZS5pbnRlcnNlY3RzTm9kZShub2RlKSB0aHJldyBleGNlcHRpb24gVHlwZUVycm9yOiBUeXBl
IGVycm9yLgorUEFTUyByYW5nZS5pbnRlcnNlY3RzTm9kZShub2RlKSB0aHJldyBleGNlcHRpb24g
VHlwZUVycm9yOiBBcmd1bWVudCAxICgncmVmTm9kZScpIHRvIFJhbmdlLmludGVyc2VjdHNOb2Rl
IG11c3QgYmUgYW4gaW5zdGFuY2Ugb2YgTm9kZS4KIAogUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQg
aXMgdHJ1ZQogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9jcmVhdGVOb2RlSXRl
cmF0b3ItcGFyYW1ldGVycy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9jcmVh
dGVOb2RlSXRlcmF0b3ItcGFyYW1ldGVycy1leHBlY3RlZC50eHQKaW5kZXggNjQ4YWVmMDE4ZDU1
OWEzYjM0ODU1ODQ1MGQwNDk3ZGZmYjczZDkwMy4uMzIwMDViNzA1NGExMmQ2MWJkY2QwNTdhODI3
YWYzMzhhMTUxYjk1ZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vY3JlYXRlTm9k
ZUl0ZXJhdG9yLXBhcmFtZXRlcnMtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2Zhc3Qv
ZG9tL2NyZWF0ZU5vZGVJdGVyYXRvci1wYXJhbWV0ZXJzLWV4cGVjdGVkLnR4dApAQCAtNyw3ICs3
LDcgQEAgTm8gcGFyYW1ldGVycwogUEFTUyBkb2N1bWVudC5jcmVhdGVOb2RlSXRlcmF0b3IoKSB0
aHJldyBleGNlcHRpb24gVHlwZUVycm9yOiBOb3QgZW5vdWdoIGFyZ3VtZW50cy4KIAogTnVsbCBy
b290IG5vZGUKLVBBU1MgZG9jdW1lbnQuY3JlYXRlTm9kZUl0ZXJhdG9yKG51bGwpIHRocmV3IGV4
Y2VwdGlvbiBUeXBlRXJyb3I6IFR5cGUgZXJyb3IuCitQQVNTIGRvY3VtZW50LmNyZWF0ZU5vZGVJ
dGVyYXRvcihudWxsKSB0aHJldyBleGNlcHRpb24gVHlwZUVycm9yOiBBcmd1bWVudCAxICgncm9v
dCcpIHRvIERvY3VtZW50LmNyZWF0ZU5vZGVJdGVyYXRvciBtdXN0IGJlIGFuIGluc3RhbmNlIG9m
IE5vZGUuCiAKIERlZmF1bHQgcGFyYW1ldGVycwogaXRlcmF0b3IgPSBkb2N1bWVudC5jcmVhdGVO
b2RlSXRlcmF0b3IoZG9jdW1lbnQpCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9j
cmVhdGVOb2RlSXRlcmF0b3ItcGFyYW1ldGVycy5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20v
Y3JlYXRlTm9kZUl0ZXJhdG9yLXBhcmFtZXRlcnMuaHRtbAppbmRleCBkNjgxNDlmNmUxMDBkNGUz
ODI4YTc5ZmRjZmQwZTZlNGU4NGZjODNmLi41YzQ3NzQ1ODRkY2JmMGViMTNjY2E2MDRhYTE1YTIy
MjlmYmZmYzkwIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9jcmVhdGVOb2RlSXRl
cmF0b3ItcGFyYW1ldGVycy5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL2NyZWF0ZU5v
ZGVJdGVyYXRvci1wYXJhbWV0ZXJzLmh0bWwKQEAgLTEwLDcgKzEwLDcgQEAgc2hvdWxkVGhyb3co
ImRvY3VtZW50LmNyZWF0ZU5vZGVJdGVyYXRvcigpIiwgIidUeXBlRXJyb3I6IE5vdCBlbm91Z2gg
YXJndW1lbnRzJyIKIAogZGVidWcoIiIpCiBkZWJ1ZygiTnVsbCByb290IG5vZGUiKTsKLXNob3Vs
ZFRocm93KCJkb2N1bWVudC5jcmVhdGVOb2RlSXRlcmF0b3IobnVsbCkiLCAiJ1R5cGVFcnJvcjog
VHlwZSBlcnJvciciKTsKK3Nob3VsZFRocm93KCJkb2N1bWVudC5jcmVhdGVOb2RlSXRlcmF0b3Io
bnVsbCkiLCAiJ1R5cGVFcnJvcjogQXJndW1lbnQgMSAoXFwncm9vdFxcJykgdG8gRG9jdW1lbnQu
Y3JlYXRlTm9kZUl0ZXJhdG9yIG11c3QgYmUgYW4gaW5zdGFuY2Ugb2YgTm9kZSciKTsKIAogZGVi
dWcoIiIpOwogZGVidWcoIkRlZmF1bHQgcGFyYW1ldGVycyIpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZmFzdC9kb20vY3JlYXRlVHJlZVdhbGtlci1wYXJhbWV0ZXJzLWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2Zhc3QvZG9tL2NyZWF0ZVRyZWVXYWxrZXItcGFyYW1ldGVycy1leHBlY3Rl
ZC50eHQKaW5kZXggYzY0MjdiODUwODM0NDRkMzFjMTg2OTZlN2E3MjRiMTUyYjhlODNhMS4uM2Rk
Y2RiNjYwZWYwMTAwM2M0NDkyMmU4MDRhZGEwMmM1MmMxZjY4NSAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvZmFzdC9kb20vY3JlYXRlVHJlZVdhbGtlci1wYXJhbWV0ZXJzLWV4cGVjdGVkLnR4dAor
KysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9jcmVhdGVUcmVlV2Fsa2VyLXBhcmFtZXRlcnMtZXhw
ZWN0ZWQudHh0CkBAIC03LDcgKzcsNyBAQCBObyBwYXJhbWV0ZXJzCiBQQVNTIGRvY3VtZW50LmNy
ZWF0ZVRyZWVXYWxrZXIoKSB0aHJldyBleGNlcHRpb24gVHlwZUVycm9yOiBOb3QgZW5vdWdoIGFy
Z3VtZW50cy4KIAogTnVsbCByb290IG5vZGUKLVBBU1MgZG9jdW1lbnQuY3JlYXRlVHJlZVdhbGtl
cihudWxsKSB0aHJldyBleGNlcHRpb24gVHlwZUVycm9yOiBUeXBlIGVycm9yLgorUEFTUyBkb2N1
bWVudC5jcmVhdGVUcmVlV2Fsa2VyKG51bGwpIHRocmV3IGV4Y2VwdGlvbiBUeXBlRXJyb3I6IEFy
Z3VtZW50IDEgKCdyb290JykgdG8gRG9jdW1lbnQuY3JlYXRlVHJlZVdhbGtlciBtdXN0IGJlIGFu
IGluc3RhbmNlIG9mIE5vZGUuCiAKIERlZmF1bHQgcGFyYW1ldGVycwogd2Fsa2VyID0gZG9jdW1l
bnQuY3JlYXRlVHJlZVdhbGtlcihkb2N1bWVudCkKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zh
c3QvZG9tL2NyZWF0ZVRyZWVXYWxrZXItcGFyYW1ldGVycy5odG1sIGIvTGF5b3V0VGVzdHMvZmFz
dC9kb20vY3JlYXRlVHJlZVdhbGtlci1wYXJhbWV0ZXJzLmh0bWwKaW5kZXggNjY5ZjlhOWQzNjc2
ZDk2ZDU5OThjMmFjOTA5OGI2ZTBkYzllODQyYi4uN2MzMGY4MTg2ZmUxNjIwOWJkNTI0MTBhOTRi
NjYyZWRiNDRiODA5MyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vY3JlYXRlVHJl
ZVdhbGtlci1wYXJhbWV0ZXJzLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vY3JlYXRl
VHJlZVdhbGtlci1wYXJhbWV0ZXJzLmh0bWwKQEAgLTEwLDcgKzEwLDcgQEAgc2hvdWxkVGhyb3co
ImRvY3VtZW50LmNyZWF0ZVRyZWVXYWxrZXIoKSIsICInVHlwZUVycm9yOiBOb3QgZW5vdWdoIGFy
Z3VtZW50cyciKTsKIAogZGVidWcoIiIpCiBkZWJ1ZygiTnVsbCByb290IG5vZGUiKTsKLXNob3Vs
ZFRocm93KCJkb2N1bWVudC5jcmVhdGVUcmVlV2Fsa2VyKG51bGwpIiwgIidUeXBlRXJyb3I6IFR5
cGUgZXJyb3InIik7CitzaG91bGRUaHJvdygiZG9jdW1lbnQuY3JlYXRlVHJlZVdhbGtlcihudWxs
KSIsICInVHlwZUVycm9yOiBBcmd1bWVudCAxIChcXCdyb290XFwnKSB0byBEb2N1bWVudC5jcmVh
dGVUcmVlV2Fsa2VyIG11c3QgYmUgYW4gaW5zdGFuY2Ugb2YgTm9kZSciKTsKIAogZGVidWcoIiIp
OwogZGVidWcoIkRlZmF1bHQgcGFyYW1ldGVycyIpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZmFzdC9kb20veG1sc2VyaWFsaXplci1zZXJpYWxpemUtdG8tc3RyaW5nLWV4Y2VwdGlvbi1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS94bWxzZXJpYWxpemVyLXNlcmlhbGl6ZS10
by1zdHJpbmctZXhjZXB0aW9uLWV4cGVjdGVkLnR4dAppbmRleCAyYzBiZDFjMDg3ZWEwM2RhZDNk
ZDQ4MTgzM2Q5NTdhZGI2NTI2NzBkLi5mNzEzNzEyYzk0NmQ1YTIwMjMxOTUwMGQ2NzNjOTA4YmRk
OGIwY2M1IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS94bWxzZXJpYWxpemVyLXNl
cmlhbGl6ZS10by1zdHJpbmctZXhjZXB0aW9uLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0
cy9mYXN0L2RvbS94bWxzZXJpYWxpemVyLXNlcmlhbGl6ZS10by1zdHJpbmctZXhjZXB0aW9uLWV4
cGVjdGVkLnR4dApAQCAtMSwxOSArMSwxOSBAQAogVGhpcyB0ZXN0cyBYTUxTZXJpYWxpemVyLnNl
cmlhbGl6ZVRvU3RyaW5nKCkgdGhyb3dpbmcgZXhjZXB0aW9uIHdoZW4gbm9kZSB2YWx1ZSBpcyBp
bnZhbGlkIGFuZCBwYXNzaW5nIG90aGVyd2lzZS4KIAogMS4gVmVyaWZ5aW5nIFhNTFNlcmlhbGl6
ZXIuc2VyaWFsaXplVG9TdHJpbmcoKSBzaG91bGQgVEhST1cgZXhjZXB0aW9uIHdpdGggbm9kZSB2
YWx1ZSA9IG51bGwKLUV4Y2VwdGlvbiB0aHJvd24gPSBbVHlwZUVycm9yOiBUeXBlIGVycm9yXQor
RXhjZXB0aW9uIHRocm93biA9IFtUeXBlRXJyb3I6IEFyZ3VtZW50IDEgKCdub2RlJykgdG8gWE1M
U2VyaWFsaXplci5zZXJpYWxpemVUb1N0cmluZyBtdXN0IGJlIGFuIGluc3RhbmNlIG9mIE5vZGVd
CiBQQVNTCiAKIDIuIFZlcmlmeWluZyBYTUxTZXJpYWxpemVyLnNlcmlhbGl6ZVRvU3RyaW5nKCkg
c2hvdWxkIFRIUk9XIGV4Y2VwdGlvbiB3aXRoIG5vZGUgdmFsdWUgPSB1bmRlZmluZWQKLUV4Y2Vw
dGlvbiB0aHJvd24gPSBbVHlwZUVycm9yOiBUeXBlIGVycm9yXQorRXhjZXB0aW9uIHRocm93biA9
IFtUeXBlRXJyb3I6IEFyZ3VtZW50IDEgKCdub2RlJykgdG8gWE1MU2VyaWFsaXplci5zZXJpYWxp
emVUb1N0cmluZyBtdXN0IGJlIGFuIGluc3RhbmNlIG9mIE5vZGVdCiBQQVNTCiAKIDMuIFZlcmlm
eWluZyBYTUxTZXJpYWxpemVyLnNlcmlhbGl6ZVRvU3RyaW5nKCkgc2hvdWxkIFRIUk9XIGV4Y2Vw
dGlvbiB3aXRoIG5vZGUgdmFsdWUgPSA8aHRtbD48dGl0bGU+SGVsbG8gV29ybGQ8L3RpdGxlPjwv
aHRtbD4KLUV4Y2VwdGlvbiB0aHJvd24gPSBbVHlwZUVycm9yOiBUeXBlIGVycm9yXQorRXhjZXB0
aW9uIHRocm93biA9IFtUeXBlRXJyb3I6IEFyZ3VtZW50IDEgKCdub2RlJykgdG8gWE1MU2VyaWFs
aXplci5zZXJpYWxpemVUb1N0cmluZyBtdXN0IGJlIGFuIGluc3RhbmNlIG9mIE5vZGVdCiBQQVNT
CiAKIDQuIFZlcmlmeWluZyBYTUxTZXJpYWxpemVyLnNlcmlhbGl6ZVRvU3RyaW5nKCkgc2hvdWxk
IFRIUk9XIGV4Y2VwdGlvbiB3aXRoIG5vZGUgdmFsdWUgPSBbb2JqZWN0IEhUTUxDb2xsZWN0aW9u
XQotRXhjZXB0aW9uIHRocm93biA9IFtUeXBlRXJyb3I6IFR5cGUgZXJyb3JdCitFeGNlcHRpb24g
dGhyb3duID0gW1R5cGVFcnJvcjogQXJndW1lbnQgMSAoJ25vZGUnKSB0byBYTUxTZXJpYWxpemVy
LnNlcmlhbGl6ZVRvU3RyaW5nIG11c3QgYmUgYW4gaW5zdGFuY2Ugb2YgTm9kZV0KIFBBU1MKIAog
NS4gVmVyaWZ5aW5nIFhNTFNlcmlhbGl6ZXIuc2VyaWFsaXplVG9TdHJpbmcoKSBzaG91bGQgTk9U
LVRIUk9XIGV4Y2VwdGlvbiB3aXRoIG5vZGUgdmFsdWUgPSBbb2JqZWN0IEhUTUxEb2N1bWVudF0K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZHluYW1pYy9pbnNlcnRBZGphY2VudEVsZW1l
bnQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9keW5hbWljL2luc2VydEFkamFjZW50
RWxlbWVudC1leHBlY3RlZC50eHQKaW5kZXggMzM4MThhZGEzZjYyOWYyOTYyMjBhMThmMjQyNDQ1
NTcwYjM4NTk5MC4uZjMwOTc0ZTU5N2RlY2QxZjIzZTllZGM0YzkwMWMxZWU4OGIyOWE2MyAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9keW5hbWljL2luc2VydEFkamFjZW50RWxlbWVudC1l
eHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9keW5hbWljL2luc2VydEFkamFjZW50
RWxlbWVudC1leHBlY3RlZC50eHQKQEAgLTEsNSArMSw1IEBACiBDYXVnaHQgZXhwZWN0ZWQgZXhj
ZXB0aW9uOiBFcnJvcjogTm90U3VwcG9ydGVkRXJyb3I6IERPTSBFeGNlcHRpb24gOQotQ2F1Z2h0
IGV4cGVjdGVkIGV4Y2VwdGlvbjogVHlwZUVycm9yOiBUeXBlIGVycm9yCitDYXVnaHQgZXhwZWN0
ZWQgZXhjZXB0aW9uOiBUeXBlRXJyb3I6IEFyZ3VtZW50IDIgKCdlbGVtZW50JykgdG8gSFRNTEVs
ZW1lbnQuaW5zZXJ0QWRqYWNlbnRFbGVtZW50IG11c3QgYmUgYW4gaW5zdGFuY2Ugb2YgRWxlbWVu
dAogMSAoYmxhY2spIDIgKGdyZWVuKSAzIChncmVlbikgNCAoYmxhY2spIAogCiBQQVNTCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L21lZGlhc3RyZWFtL01lZGlhU3RyZWFtLWFkZC1yZW1v
dmUtbnVsbC11bmRlZmluZWQtdHJhY2tzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3Qv
bWVkaWFzdHJlYW0vTWVkaWFTdHJlYW0tYWRkLXJlbW92ZS1udWxsLXVuZGVmaW5lZC10cmFja3Mt
ZXhwZWN0ZWQudHh0CmluZGV4IGJhZGU4YzYyNzQ0YTdhMTQ2YzJjZGE5OWQ4MTVmZDNjNDU5OGI1
NTAuLjczMGFhNTcwMTI3NmFjYTNmZjhhNjAxOWQzYzg1NGQ3NTIzYTlkNjQgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL2Zhc3QvbWVkaWFzdHJlYW0vTWVkaWFTdHJlYW0tYWRkLXJlbW92ZS1udWxs
LXVuZGVmaW5lZC10cmFja3MtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2Zhc3QvbWVk
aWFzdHJlYW0vTWVkaWFTdHJlYW0tYWRkLXJlbW92ZS1udWxsLXVuZGVmaW5lZC10cmFja3MtZXhw
ZWN0ZWQudHh0CkBAIC01LDEyICs1LDEyIEBAIE9uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNl
cmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFCiAKIAog
Q2FsbGluZyBhZGRUcmFjayB3aXRoIG51bGwgYW5kIHVuZGVmaW5lZCBwYXJhbWV0ZXJzCi1QQVNT
IHN0cmVhbS5hZGRUcmFjayhudWxsKTsgdGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJvcjogVHlwZSBl
cnJvci4KLVBBU1Mgc3RyZWFtLmFkZFRyYWNrKHVuZGVmaW5lZCk7IHRocmV3IGV4Y2VwdGlvbiBU
eXBlRXJyb3I6IFR5cGUgZXJyb3IuCitQQVNTIHN0cmVhbS5hZGRUcmFjayhudWxsKTsgdGhyZXcg
ZXhjZXB0aW9uIFR5cGVFcnJvcjogQXJndW1lbnQgMSAoJ3RyYWNrJykgdG8gTWVkaWFTdHJlYW0u
YWRkVHJhY2sgbXVzdCBiZSBhbiBpbnN0YW5jZSBvZiBNZWRpYVN0cmVhbVRyYWNrLgorUEFTUyBz
dHJlYW0uYWRkVHJhY2sodW5kZWZpbmVkKTsgdGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJvcjogQXJn
dW1lbnQgMSAoJ3RyYWNrJykgdG8gTWVkaWFTdHJlYW0uYWRkVHJhY2sgbXVzdCBiZSBhbiBpbnN0
YW5jZSBvZiBNZWRpYVN0cmVhbVRyYWNrLgogCiBDYWxsaW5nIHJlbW92ZVRyYWNrIHdpdGggbnVs
bCBhbmQgdW5kZWZpbmVkIHBhcmFtZXRlcnMKLVBBU1Mgc3RyZWFtLnJlbW92ZVRyYWNrKG51bGwp
OyB0aHJldyBleGNlcHRpb24gVHlwZUVycm9yOiBUeXBlIGVycm9yLgotUEFTUyBzdHJlYW0ucmVt
b3ZlVHJhY2sodW5kZWZpbmVkKTsgdGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJvcjogVHlwZSBlcnJv
ci4KK1BBU1Mgc3RyZWFtLnJlbW92ZVRyYWNrKG51bGwpOyB0aHJldyBleGNlcHRpb24gVHlwZUVy
cm9yOiBBcmd1bWVudCAxICgndHJhY2snKSB0byBNZWRpYVN0cmVhbS5yZW1vdmVUcmFjayBtdXN0
IGJlIGFuIGluc3RhbmNlIG9mIE1lZGlhU3RyZWFtVHJhY2suCitQQVNTIHN0cmVhbS5yZW1vdmVU
cmFjayh1bmRlZmluZWQpOyB0aHJldyBleGNlcHRpb24gVHlwZUVycm9yOiBBcmd1bWVudCAxICgn
dHJhY2snKSB0byBNZWRpYVN0cmVhbS5yZW1vdmVUcmFjayBtdXN0IGJlIGFuIGluc3RhbmNlIG9m
IE1lZGlhU3RyZWFtVHJhY2suCiBQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCiAKIFRF
U1QgQ09NUExFVEUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3Qvc3BlZWNoc3ludGhlc2lz
L3NwZWVjaC1zeW50aGVzaXMtY3Jhc2gtb24tYmFkLXV0dGVyYW5jZS1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9mYXN0L3NwZWVjaHN5bnRoZXNpcy9zcGVlY2gtc3ludGhlc2lzLWNyYXNoLW9u
LWJhZC11dHRlcmFuY2UtZXhwZWN0ZWQudHh0CmluZGV4IDUzNmZhOGVlZmQ2ZDMwOTYwMjQyZjkz
OWE5ZWUyZTk0NGY3NmE0M2MuLmRiYTc4OWE1MTk4ODE3MmJkMTEzOTI2MGRjYzllMmQwNjc5YTc3
MWMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3Qvc3BlZWNoc3ludGhlc2lzL3NwZWVjaC1z
eW50aGVzaXMtY3Jhc2gtb24tYmFkLXV0dGVyYW5jZS1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0
VGVzdHMvZmFzdC9zcGVlY2hzeW50aGVzaXMvc3BlZWNoLXN5bnRoZXNpcy1jcmFzaC1vbi1iYWQt
dXR0ZXJhbmNlLWV4cGVjdGVkLnR4dApAQCAtMyw3ICszLDcgQEAgVGhpcyB0ZXN0cyB0aGF0IHBh
c3NpbmcgaW4gdGhlIHdyb25nIHR5cGUgb2YgZGF0YSB3b24ndCBjcmFzaCBzcGVlY2ggc3ludGhl
c2lzIGMKIE9uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2Fn
ZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KIAogCi1QQVNTIHNwZWVjaFN5bnRoZXNp
cy5zcGVhaygnSGVsbG8gV29ybGQnKSB0aHJldyBleGNlcHRpb24gVHlwZUVycm9yOiBUeXBlIGVy
cm9yLgorUEFTUyBzcGVlY2hTeW50aGVzaXMuc3BlYWsoJ0hlbGxvIFdvcmxkJykgdGhyZXcgZXhj
ZXB0aW9uIFR5cGVFcnJvcjogQXJndW1lbnQgMSAoJ3V0dGVyYW5jZScpIHRvIFNwZWVjaFN5bnRo
ZXNpcy5zcGVhayBtdXN0IGJlIGFuIGluc3RhbmNlIG9mIFNwZWVjaFN5bnRoZXNpc1V0dGVyYW5j
ZS4KIFBBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKIAogVEVTVCBDT01QTEVURQpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC90ZXh0L2ZvbnQtZmFjZS1zZXQtamF2YXNjcmlwdC1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L3RleHQvZm9udC1mYWNlLXNldC1qYXZhc2Ny
aXB0LWV4cGVjdGVkLnR4dAppbmRleCA3Y2YxMjYzMjQ4ZjkwZDY3NzdmMjAxYTk3Yjk4OGNmYTdl
YTFiN2I2Li45NTU0ZDEyZGI2NDczNjIyYTE3ZjZhNzZlZDU0MzYxYmVmN2M1ODQ5IDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9mYXN0L3RleHQvZm9udC1mYWNlLXNldC1qYXZhc2NyaXB0LWV4cGVj
dGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L3RleHQvZm9udC1mYWNlLXNldC1qYXZhc2Ny
aXB0LWV4cGVjdGVkLnR4dApAQCAtMTMsNyArMTMsNyBAQCBQQVNTIGl0ZW0udmFsdWUgaXMgZm9u
dEZhY2UxCiBQQVNTIGl0ZW0uZG9uZSBpcyB0cnVlCiBQQVNTIGZvbnRGYWNlU2V0LmFkZChmb250
RmFjZTIpIGlzIGZvbnRGYWNlU2V0CiBQQVNTIGZvbnRGYWNlU2V0LnNpemUgaXMgMgotUEFTUyBm
b250RmFjZVNldC5hZGQobnVsbCkgdGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJvcjogVHlwZSBlcnJv
ci4KK1BBU1MgZm9udEZhY2VTZXQuYWRkKG51bGwpIHRocmV3IGV4Y2VwdGlvbiBUeXBlRXJyb3I6
IEFyZ3VtZW50IDEgKCdmb250JykgdG8gRm9udEZhY2VTZXQuYWRkIG11c3QgYmUgYW4gaW5zdGFu
Y2Ugb2YgRm9udEZhY2UuCiBQQVNTIGl0ZW0uZG9uZSBpcyBmYWxzZQogUEFTUyBpdGVtLnZhbHVl
IGlzIGZvbnRGYWNlMQogUEFTUyBpdGVtLmRvbmUgaXMgZmFsc2UKQEAgLTIxLDEwICsyMSwxMCBA
QCBQQVNTIGl0ZW0udmFsdWUgaXMgZm9udEZhY2UyCiBQQVNTIGl0ZW0uZG9uZSBpcyB0cnVlCiBQ
QVNTIGZvbnRGYWNlU2V0LmRlbGV0ZShmb250RmFjZTEpIGlzIHRydWUKIFBBU1MgZm9udEZhY2VT
ZXQuZGVsZXRlKGZvbnRGYWNlMykgaXMgZmFsc2UKLVBBU1MgZm9udEZhY2VTZXQuZGVsZXRlKG51
bGwpIHRocmV3IGV4Y2VwdGlvbiBUeXBlRXJyb3I6IFR5cGUgZXJyb3IuCitQQVNTIGZvbnRGYWNl
U2V0LmRlbGV0ZShudWxsKSB0aHJldyBleGNlcHRpb24gVHlwZUVycm9yOiBBcmd1bWVudCAxICgn
Zm9udCcpIHRvIEZvbnRGYWNlU2V0LmRlbGV0ZSBtdXN0IGJlIGFuIGluc3RhbmNlIG9mIEZvbnRG
YWNlLgogUEFTUyBmb250RmFjZVNldC5oYXMoZm9udEZhY2UxKSBpcyBmYWxzZQogUEFTUyBmb250
RmFjZVNldC5oYXMoZm9udEZhY2UyKSBpcyB0cnVlCi1QQVNTIGZvbnRGYWNlU2V0LmhhcyhudWxs
KSB0aHJldyBleGNlcHRpb24gVHlwZUVycm9yOiBUeXBlIGVycm9yLgorUEFTUyBmb250RmFjZVNl
dC5oYXMobnVsbCkgdGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJvcjogQXJndW1lbnQgMSAoJ2ZvbnQn
KSB0byBGb250RmFjZVNldC5oYXMgbXVzdCBiZSBhbiBpbnN0YW5jZSBvZiBGb250RmFjZS4KIFBB
U1MgZm9udEZhY2VTZXQuc2l6ZSBpcyAwCiBQQVNTIGZvbnRGYWNlU2V0LnZhbHVlcygpLm5leHQo
KS5kb25lIGlzIHRydWUKIFBBU1MgZm9udEZhY2VTZXQuY2hlY2soJ2dhcmJhZ2UnKSB0aHJldyBl
eGNlcHRpb24gRXJyb3I6IFN5bnRheEVycm9yOiBET00gRXhjZXB0aW9uIDEyLgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZmFzdC90ZXh0L3RleHQtY29tYmluZS1jcmFzaC1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9mYXN0L3RleHQvdGV4dC1jb21iaW5lLWNyYXNoLWV4cGVjdGVkLnR4dApp
bmRleCAyZjBlODA4Mzc5NDYxOTc1MmIzYjBmMmYyZGNmZjYwOWI1ODIzOWQwLi41MzM1ZmYzNWEx
OTVhMTQzN2M5OWIyZmU2Y2IzNDZjYzI4YzYwMzdhIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9m
YXN0L3RleHQvdGV4dC1jb21iaW5lLWNyYXNoLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0
cy9mYXN0L3RleHQvdGV4dC1jb21iaW5lLWNyYXNoLWV4cGVjdGVkLnR4dApAQCAtNiwxMiArNiwx
MiBAQCBUZXN0IHBhc3NlcyBpZiB0aGVyZSdzIG5vIGNyYXNoLgogCiAKIEVycmxvZyB3ZWJ0ZXN0
X2ZuXzE6IFR5cGVFcnJvcjogdW5kZWZpbmVkIGlzIG5vdCBhbiBvYmplY3QgKGV2YWx1YXRpbmcg
J2RvY3VtZW50LmFwcGxldHNbMF0uYWRkRXZlbnRMaXN0ZW5lcicpCi1FcnJsb2cgd2VidGVzdF9m
bl8yOiBUeXBlRXJyb3I6IFR5cGUgZXJyb3IKK0VycmxvZyB3ZWJ0ZXN0X2ZuXzI6IFR5cGVFcnJv
cjogQXJndW1lbnQgMSAoJ3JlZk5vZGUnKSB0byBSYW5nZS5zZXRTdGFydEJlZm9yZSBtdXN0IGJl
IGFuIGluc3RhbmNlIG9mIE5vZGUKIEVycmxvZyB3ZWJ0ZXN0X2ZuXzM6IFR5cGVFcnJvcjogdW5k
ZWZpbmVkIGlzIG5vdCBhbiBvYmplY3QgKGV2YWx1YXRpbmcgJ2RvY3VtZW50LmltYWdlc1syXS5j
b250ZW50RWRpdGFibGU9InRydWUiJykKIEVycmxvZyB3ZWJ0ZXN0X2ZuXzg6IFR5cGVFcnJvcjog
bnVsbCBpcyBub3QgYW4gb2JqZWN0IChldmFsdWF0aW5nICdsaXMubGVuZ3RoJykKIEVycmxvZyB3
ZWJ0ZXN0X2ZuXzk6IFR5cGVFcnJvcjogdW5kZWZpbmVkIGlzIG5vdCBhbiBvYmplY3QgKGV2YWx1
YXRpbmcgJ2RvY3VtZW50LmFuY2hvcnNbNF0uc2V0QXR0cmlidXRlJykKLUVycmxvZyB3ZWJ0ZXN0
X2ZuXzEwOiBUeXBlRXJyb3I6IFR5cGUgZXJyb3IKLUVycmxvZyB3ZWJ0ZXN0X2ZuXzE1OiBUeXBl
RXJyb3I6IFR5cGUgZXJyb3IKK0VycmxvZyB3ZWJ0ZXN0X2ZuXzEwOiBUeXBlRXJyb3I6IEFyZ3Vt
ZW50IDEgKCdyZWZOb2RlJykgdG8gUmFuZ2Uuc2V0U3RhcnRBZnRlciBtdXN0IGJlIGFuIGluc3Rh
bmNlIG9mIE5vZGUKK0VycmxvZyB3ZWJ0ZXN0X2ZuXzE1OiBUeXBlRXJyb3I6IEFyZ3VtZW50IDEg
KCdyZWZOb2RlJykgdG8gUmFuZ2Uuc2V0U3RhcnQgbXVzdCBiZSBhbiBpbnN0YW5jZSBvZiBOb2Rl
CiBFcnJsb2cgd2VidGVzdF9mbl8xNjogVHlwZUVycm9yOiB1bmRlZmluZWQgaXMgbm90IGFuIG9i
amVjdCAoZXZhbHVhdGluZyAnZWxlbS5wYXJlbnROb2RlJykKIO+/vO+/vEVycmxvZyB3ZWJ0ZXN0
X2ZuXzE4OiBUeXBlRXJyb3I6IHVuZGVmaW5lZCBpcyBub3QgYW4gb2JqZWN0IChldmFsdWF0aW5n
ICdkb2N1bWVudC5hcHBsZXRzWzBdLmNvbnRlbnRFZGl0YWJsZT0idHJ1ZSInKQogRXJybG9nIHdl
YnRlc3RfZm5fMjE6IFR5cGVFcnJvcjogdW5kZWZpbmVkIGlzIG5vdCBhbiBvYmplY3QgKGV2YWx1
YXRpbmcgJ2RvY3VtZW50LmFuY2hvcnNbNF0uYXBwZW5kQ2hpbGQnKQpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvbWVkaWEvZW5jcnlwdGVkLW1lZGlhL2VuY3J5cHRlZC1tZWRpYS12Mi1zeW50YXgt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvbWVkaWEvZW5jcnlwdGVkLW1lZGlhL2VuY3J5cHRl
ZC1tZWRpYS12Mi1zeW50YXgtZXhwZWN0ZWQudHh0CmluZGV4IDAyYTE4MzA3M2UyYTYwYzI1NzY5
NjU5YTY1ODAxNzg1MTlhZWM0ZWUuLjNmNThjODUzYWYyMzJmYWYzOGFhNDkzMjNlMWYwZGI4ODI5
OTRlYzEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL21lZGlhL2VuY3J5cHRlZC1tZWRpYS9lbmNy
eXB0ZWQtbWVkaWEtdjItc3ludGF4LWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9tZWRp
YS9lbmNyeXB0ZWQtbWVkaWEvZW5jcnlwdGVkLW1lZGlhLXYyLXN5bnRheC1leHBlY3RlZC50eHQK
QEAgLTIyLDYgKzIyLDYgQEAgRVhQRUNURUQgKG1lZGlhS2V5U2Vzc2lvbi5zZXNzaW9uSWQgIT0g
J251bGwnKSBPSwogRVhQRUNURUQgKG1lZGlhS2V5U2Vzc2lvbi5vbndlYmtpdGtleWFkZGVkID09
ICdudWxsJykgT0sKIEVYUEVDVEVEIChtZWRpYUtleVNlc3Npb24ub253ZWJraXRrZXllcnJvciA9
PSAnbnVsbCcpIE9LCiBFWFBFQ1RFRCAobWVkaWFLZXlTZXNzaW9uLm9ud2Via2l0a2V5bWVzc2Fn
ZSA9PSAnbnVsbCcpIE9LCi1URVNUKG1lZGlhS2V5U2Vzc2lvbi51cGRhdGUobnVsbCkpIFRIUk9X
UygnVHlwZUVycm9yOiBUeXBlIGVycm9yJykgT0sKK1RFU1QobWVkaWFLZXlTZXNzaW9uLnVwZGF0
ZShudWxsKSkgVEhST1dTKCdUeXBlRXJyb3I6IEFyZ3VtZW50IDEgKFwna2V5XCcpIHRvIE1lZGlh
S2V5U2Vzc2lvbi51cGRhdGUgbXVzdCBiZSBhbiBpbnN0YW5jZSBvZiBVaW50OEFycmF5JykgT0sK
IEVORCBPRiBURVNUCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL21lZGlhL2VuY3J5cHRlZC1t
ZWRpYS9lbmNyeXB0ZWQtbWVkaWEtdjItc3ludGF4Lmh0bWwgYi9MYXlvdXRUZXN0cy9tZWRpYS9l
bmNyeXB0ZWQtbWVkaWEvZW5jcnlwdGVkLW1lZGlhLXYyLXN5bnRheC5odG1sCmluZGV4IDEwNGNi
YmUxZjI4ZGUwNGI4MDM3MzNiZDcyZDNlNGI5NTExY2UzNTkuLjEzZGFlNGFhNTE2ZjI5ZmRhYjVh
NmFjNTJhODE4ZWMxNmRiZmE1MjkgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL21lZGlhL2VuY3J5
cHRlZC1tZWRpYS9lbmNyeXB0ZWQtbWVkaWEtdjItc3ludGF4Lmh0bWwKKysrIGIvTGF5b3V0VGVz
dHMvbWVkaWEvZW5jcnlwdGVkLW1lZGlhL2VuY3J5cHRlZC1tZWRpYS12Mi1zeW50YXguaHRtbApA
QCAtNDcsNyArNDcsNyBAQAogICAgICAgICAgICAgICAgIHRlc3RFeHBlY3RlZCgnbWVkaWFLZXlT
ZXNzaW9uLm9ud2Via2l0a2V5YWRkZWQnLCBudWxsKTsKICAgICAgICAgICAgICAgICB0ZXN0RXhw
ZWN0ZWQoJ21lZGlhS2V5U2Vzc2lvbi5vbndlYmtpdGtleWVycm9yJywgbnVsbCk7CiAgICAgICAg
ICAgICAgICAgdGVzdEV4cGVjdGVkKCdtZWRpYUtleVNlc3Npb24ub253ZWJraXRrZXltZXNzYWdl
JywgbnVsbCk7Ci0gICAgICAgICAgICAgICAgdGVzdEV4Y2VwdGlvbignbWVkaWFLZXlTZXNzaW9u
LnVwZGF0ZShudWxsKScsICInVHlwZUVycm9yOiBUeXBlIGVycm9yJyIpOworICAgICAgICAgICAg
ICAgIHRlc3RFeGNlcHRpb24oJ21lZGlhS2V5U2Vzc2lvbi51cGRhdGUobnVsbCknLCAiJ1R5cGVF
cnJvcjogQXJndW1lbnQgMSAoXFwna2V5XFwnKSB0byBNZWRpYUtleVNlc3Npb24udXBkYXRlIG11
c3QgYmUgYW4gaW5zdGFuY2Ugb2YgVWludDhBcnJheSciKTsKICAgICAgICAgICAgICAgICBlbmRU
ZXN0KCk7CiAgICAgICAgICAgICB9CiAgICAgICAgIDwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvd2ViYXVkaW8vY3JlYXRlTWVkaWFTdHJlYW1Tb3VyY2UtbnVsbC1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy93ZWJhdWRpby9jcmVhdGVNZWRpYVN0cmVhbVNvdXJjZS1udWxsLWV4
cGVjdGVkLnR4dAppbmRleCA2NzE0MTRkNTVhYzcyYzI3ZmJjNTFmODIzNWJmOWQ2ZjRlNWY5Mjg5
Li4yM2Y3MDQyNDkxNDllMjMxN2IwZTg3MGRmYmVmYjJjYzBlNTZkODY1IDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy93ZWJhdWRpby9jcmVhdGVNZWRpYVN0cmVhbVNvdXJjZS1udWxsLWV4cGVjdGVk
LnR4dAorKysgYi9MYXlvdXRUZXN0cy93ZWJhdWRpby9jcmVhdGVNZWRpYVN0cmVhbVNvdXJjZS1u
dWxsLWV4cGVjdGVkLnR4dApAQCAtMyw3ICszLDcgQEAgVGVzdHMgdGhhdCBwYXNzaW5nIG51bGwg
dG8gY29udGV4dC5jcmVhdGVNZWRpYVN0cmVhbVNvdXJjZSgpIHRocm93cyBhIFR5cGVFcnJvci4K
IE9uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZv
bGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KIAogCi1QQVNTIGNvbnRleHQuY3JlYXRlTWVkaWFT
dHJlYW1Tb3VyY2UobnVsbCkgdGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJvcjogVHlwZSBlcnJvci4K
K1BBU1MgY29udGV4dC5jcmVhdGVNZWRpYVN0cmVhbVNvdXJjZShudWxsKSB0aHJldyBleGNlcHRp
b24gVHlwZUVycm9yOiBBcmd1bWVudCAxICgnbWVkaWFTdHJlYW0nKSB0byBBdWRpb0NvbnRleHQu
Y3JlYXRlTWVkaWFTdHJlYW1Tb3VyY2UgbXVzdCBiZSBhbiBpbnN0YW5jZSBvZiBNZWRpYVN0cmVh
bS4KIFBBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKIAogVEVTVCBDT01QTEVURQpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViYXVkaW8vY3JlYXRlTWVkaWFTdHJlYW1Tb3VyY2UtbnVs
bC5odG1sIGIvTGF5b3V0VGVzdHMvd2ViYXVkaW8vY3JlYXRlTWVkaWFTdHJlYW1Tb3VyY2UtbnVs
bC5odG1sCmluZGV4IGJkNmQ1ZmI0MGViNzVhYTU3Zjc1OWMyNWI1YjM2YjFhMGZkMWJiOWQuLjAy
ZjcyMjU0MzIwM2FlYjFjNTkzMmU3ZWZiYTRhZjhmYjk2MDE5ZDUgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL3dlYmF1ZGlvL2NyZWF0ZU1lZGlhU3RyZWFtU291cmNlLW51bGwuaHRtbAorKysgYi9M
YXlvdXRUZXN0cy93ZWJhdWRpby9jcmVhdGVNZWRpYVN0cmVhbVNvdXJjZS1udWxsLmh0bWwKQEAg
LTksNyArOSw3IEBACiBkZXNjcmlwdGlvbigiVGVzdHMgdGhhdCBwYXNzaW5nIG51bGwgdG8gY29u
dGV4dC5jcmVhdGVNZWRpYVN0cmVhbVNvdXJjZSgpIHRocm93cyBhIFR5cGVFcnJvci4iKTsKIAog
dmFyIGNvbnRleHQgPSBuZXcgd2Via2l0QXVkaW9Db250ZXh0KCk7Ci1zaG91bGRUaHJvdygiY29u
dGV4dC5jcmVhdGVNZWRpYVN0cmVhbVNvdXJjZShudWxsKSIsICInVHlwZUVycm9yOiBUeXBlIGVy
cm9yJyIpOworc2hvdWxkVGhyb3coImNvbnRleHQuY3JlYXRlTWVkaWFTdHJlYW1Tb3VyY2UobnVs
bCkiLCAiJ1R5cGVFcnJvcjogQXJndW1lbnQgMSAoXFwnbWVkaWFTdHJlYW1cXCcpIHRvIEF1ZGlv
Q29udGV4dC5jcmVhdGVNZWRpYVN0cmVhbVNvdXJjZSBtdXN0IGJlIGFuIGluc3RhbmNlIG9mIE1l
ZGlhU3RyZWFtJyIpOwogCiA8L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvanMt
dGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmF1ZGlv
L2RlY29kZS1hdWRpby1kYXRhLWJhc2ljLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3dlYmF1
ZGlvL2RlY29kZS1hdWRpby1kYXRhLWJhc2ljLWV4cGVjdGVkLnR4dAppbmRleCBhNzYxODg1M2Y1
NWE3Y2U4NGRjOGQ3MWQ5NmI2NTViYTViMDk0MGY0Li5kOGM4YmQxYzkxNWU1YmE5N2QwNzY1Yzk4
M2Q1MWI1ZDE3MzY5YWNhIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy93ZWJhdWRpby9kZWNvZGUt
YXVkaW8tZGF0YS1iYXNpYy1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvd2ViYXVkaW8v
ZGVjb2RlLWF1ZGlvLWRhdGEtYmFzaWMtZXhwZWN0ZWQudHh0CkBAIC0zLDcgKzMsNyBAQCBCYXNp
YyB0ZXN0cyBmb3IgZGVjb2RlQXVkaW9EYXRhIGZ1bmN0aW9uLgogT24gc3VjY2VzcywgeW91IHdp
bGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09N
UExFVEUiLgogCiAKLVBBU1MgY29udGV4dC5kZWNvZGVBdWRpb0RhdGEobnVsbCwgZnVuY3Rpb24o
KXt9LCBmdW5jdGlvbigpe30pOyB0aHJldyBleGNlcHRpb24gVHlwZUVycm9yOiBUeXBlIGVycm9y
LgorUEFTUyBjb250ZXh0LmRlY29kZUF1ZGlvRGF0YShudWxsLCBmdW5jdGlvbigpe30sIGZ1bmN0
aW9uKCl7fSk7IHRocmV3IGV4Y2VwdGlvbiBUeXBlRXJyb3I6IEFyZ3VtZW50IDEgKCdhdWRpb0Rh
dGEnKSB0byBBdWRpb0NvbnRleHQuZGVjb2RlQXVkaW9EYXRhIG11c3QgYmUgYW4gaW5zdGFuY2Ug
b2YgQXJyYXlCdWZmZXIuCiBQQVNTIFRoZSByZXNvdXJjZXMvbWVkaWEvMjRiaXQtNDRraHoud2F2
IHRlc3Q6IHN1Y2Nlc3NDYWxsYmFjayBoYXMgYmVlbiBjYWxsZWQgY29ycmVjdGx5LgogUEFTUyBU
aGUgcmVzb3VyY2VzL21lZGlhL2ludmFsaWQtYXVkaW8tZmlsZS50eHQgdGVzdDogZXJyb3JDYWxs
YmFjayBoYXMgYmVlbiBjYWxsZWQgY29ycmVjdGx5LgogUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQg
aXMgdHJ1ZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViYXVkaW8vZGVjb2RlLWF1ZGlvLWRh
dGEtYmFzaWMuaHRtbCBiL0xheW91dFRlc3RzL3dlYmF1ZGlvL2RlY29kZS1hdWRpby1kYXRhLWJh
c2ljLmh0bWwKaW5kZXggZWZjMTMxNTI5MDIzNzZlMDAwNDJiZTI0NDI1OTk3MDUyNGJmNmNmOS4u
OTQ5MTA2MWIxY2Q3NmI1OWNmN2NhZGMxMjc3NTUzOWQ4ODAxOTNmZiAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvd2ViYXVkaW8vZGVjb2RlLWF1ZGlvLWRhdGEtYmFzaWMuaHRtbAorKysgYi9MYXlv
dXRUZXN0cy93ZWJhdWRpby9kZWNvZGUtYXVkaW8tZGF0YS1iYXNpYy5odG1sCkBAIC0xOCw3ICsx
OCw3IEBAIHdpbmRvdy5qc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKIHZhciBjb250ZXh0ID0gbmV3IHdl
YmtpdEF1ZGlvQ29udGV4dCgpOwogCiAvLyBkZWNvZGVBdWRpb0RhdGEgc2hvdWxkIHJhaXNlIGV4
Y2VwdGlvbiB3aGVuIGFycmF5YnVmZmVyIHBhcmFtZXRlciBpcyBudWxsLgotc2hvdWxkVGhyb3co
ImNvbnRleHQuZGVjb2RlQXVkaW9EYXRhKG51bGwsIGZ1bmN0aW9uKCl7fSwgZnVuY3Rpb24oKXt9
KTsiLCAiJ1R5cGVFcnJvcjogVHlwZSBlcnJvciciKTsKK3Nob3VsZFRocm93KCJjb250ZXh0LmRl
Y29kZUF1ZGlvRGF0YShudWxsLCBmdW5jdGlvbigpe30sIGZ1bmN0aW9uKCl7fSk7IiwgIidUeXBl
RXJyb3I6IEFyZ3VtZW50IDEgKFxcJ2F1ZGlvRGF0YVxcJykgdG8gQXVkaW9Db250ZXh0LmRlY29k
ZUF1ZGlvRGF0YSBtdXN0IGJlIGFuIGluc3RhbmNlIG9mIEFycmF5QnVmZmVyJyIpOwogCiB2YXIg
ZGVjb2RlQ2FzZUFycmF5ID0gW3t1cmw6ICJyZXNvdXJjZXMvbWVkaWEvMjRiaXQtNDRraHoud2F2
IiwgcmVzdWx0OiB0cnVlfSwKICAgICAgICAgICAgICAgICAgICAgICAge3VybDogInJlc291cmNl
cy9tZWRpYS9pbnZhbGlkLWF1ZGlvLWZpbGUudHh0IiwgcmVzdWx0OiBmYWxzZX1dOwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvd2ViYXVkaW8vbWVkaWFlbGVtZW50YXVkaW9zb3VyY2Vub2RlLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3dlYmF1ZGlvL21lZGlhZWxlbWVudGF1ZGlvc291cmNl
bm9kZS1leHBlY3RlZC50eHQKaW5kZXggYmYzNWE5YmNhMTI5MzJlODZiZGQwNmI1NWM0ZTNjNDhj
ODQxMWIzNS4uY2I4NjEzZDc5YTRmZWE2NTc1NDE5Yjg1MjAxY2I0MzI3ZTIyOTZmMCAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvd2ViYXVkaW8vbWVkaWFlbGVtZW50YXVkaW9zb3VyY2Vub2RlLWV4
cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy93ZWJhdWRpby9tZWRpYWVsZW1lbnRhdWRpb3Nv
dXJjZW5vZGUtZXhwZWN0ZWQudHh0CkBAIC05LDcgKzksNyBAQCBQQVNTIGNvbm5lY3QoKSBleGNl
cHRpb24gdGhyb3duIGZvciBpbGxlZ2FsIG91dHB1dCBpbmRleC4KIFBBU1MgY29ubmVjdCgpIGV4
Y2VwdGlvbiB0aHJvd24gZm9yIGlsbGVnYWwgaW5wdXQgaW5kZXguCiBQQVNTIGF1ZGlvTm9kZS5j
b25uZWN0KGNvbnRleHQuZGVzdGluYXRpb24pIHN1Y2NlZWRlZC4KIFBBU1MgY3JlYXRlTWVkaWFF
bGVtZW50U291cmNlKCkgdGhyZXcgZXJyb3Igd2hlbiBjYWxsZWQgdHdpY2Ugb24gc2FtZSBIVE1M
TWVkaWFFbGVtZW50LgotUEFTUyBjb250ZXh0LmNyZWF0ZU1lZGlhRWxlbWVudFNvdXJjZShudWxs
KSB0aHJldyBleGNlcHRpb24gVHlwZUVycm9yOiBUeXBlIGVycm9yLgorUEFTUyBjb250ZXh0LmNy
ZWF0ZU1lZGlhRWxlbWVudFNvdXJjZShudWxsKSB0aHJldyBleGNlcHRpb24gVHlwZUVycm9yOiBB
cmd1bWVudCAxICgnbWVkaWFFbGVtZW50JykgdG8gQXVkaW9Db250ZXh0LmNyZWF0ZU1lZGlhRWxl
bWVudFNvdXJjZSBtdXN0IGJlIGFuIGluc3RhbmNlIG9mIEhUTUxNZWRpYUVsZW1lbnQuCiBQQVNT
IHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCiAKIFRFU1QgQ09NUExFVEUKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL3dlYmF1ZGlvL21lZGlhZWxlbWVudGF1ZGlvc291cmNlbm9kZS5odG1sIGIv
TGF5b3V0VGVzdHMvd2ViYXVkaW8vbWVkaWFlbGVtZW50YXVkaW9zb3VyY2Vub2RlLmh0bWwKaW5k
ZXggNDJiMGFlOWZjODlhMTk2NzM2NzI5N2E0OTEwYzc5ZGYzYzA3ZDhjMS4uNzgzMjQ5MzliZTc0
Nzg3YzI5MzdhMmEwNzcxODE2OGQ4ODNjMDE1MiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvd2Vi
YXVkaW8vbWVkaWFlbGVtZW50YXVkaW9zb3VyY2Vub2RlLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMv
d2ViYXVkaW8vbWVkaWFlbGVtZW50YXVkaW9zb3VyY2Vub2RlLmh0bWwKQEAgLTc5LDcgKzc5LDcg
QEAgZnVuY3Rpb24gcnVuVGVzdCgpIHsKICAgICAgICAgdGVzdFBhc3NlZCgiY3JlYXRlTWVkaWFF
bGVtZW50U291cmNlKCkgdGhyZXcgZXJyb3Igd2hlbiBjYWxsZWQgdHdpY2Ugb24gc2FtZSBIVE1M
TWVkaWFFbGVtZW50LiIpOwogICAgIH0KIAotICAgIHNob3VsZFRocm93KCJjb250ZXh0LmNyZWF0
ZU1lZGlhRWxlbWVudFNvdXJjZShudWxsKSIsICInVHlwZUVycm9yOiBUeXBlIGVycm9yJyIpOwor
ICAgIHNob3VsZFRocm93KCJjb250ZXh0LmNyZWF0ZU1lZGlhRWxlbWVudFNvdXJjZShudWxsKSIs
ICInVHlwZUVycm9yOiBBcmd1bWVudCAxIChcXCdtZWRpYUVsZW1lbnRcXCcpIHRvIEF1ZGlvQ29u
dGV4dC5jcmVhdGVNZWRpYUVsZW1lbnRTb3VyY2UgbXVzdCBiZSBhbiBpbnN0YW5jZSBvZiBIVE1M
TWVkaWFFbGVtZW50JyIpOwogCiAgICAgZmluaXNoSlNUZXN0KCk7CiB9Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>