<?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>228763</bug_id>
          
          <creation_ts>2021-08-03 18:39:50 -0700</creation_ts>
          <short_desc>[WebIDL] DOM constructors should extend InternalFunction</short_desc>
          <delta_ts>2023-09-27 14:00:54 -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>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Trivial</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>216816</blocked>
    
    <blocked>230584</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Alexey Shvayka">ashvayka</reporter>
          <assigned_to name="Alexey Shvayka">ashvayka</assigned_to>
          <cc>alecflett</cc>
    
    <cc>beidson</cc>
    
    <cc>cdumez</cc>
    
    <cc>darin</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>jsbell</cc>
    
    <cc>keith_miller</cc>
    
    <cc>mark.lam</cc>
    
    <cc>msaboff</cc>
    
    <cc>saam</cc>
    
    <cc>sam</cc>
    
    <cc>tzagallo</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>ysuzuki</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1781802</commentid>
    <comment_count>0</comment_count>
    <who name="Alexey Shvayka">ashvayka</who>
    <bug_when>2021-08-03 18:39:50 -0700</bug_when>
    <thetext>[WebIDL] DOM constructors should extend InternalFunction</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1781803</commentid>
    <comment_count>1</comment_count>
      <attachid>434876</attachid>
    <who name="Alexey Shvayka">ashvayka</who>
    <bug_when>2021-08-03 18:45:08 -0700</bug_when>
    <thetext>Created attachment 434876
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1781972</commentid>
    <comment_count>2</comment_count>
      <attachid>434876</attachid>
    <who name="Sam Weinig">sam</who>
    <bug_when>2021-08-04 11:43:12 -0700</bug_when>
    <thetext>Comment on attachment 434876
Patch

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

&gt; Source/WebCore/bindings/js/JSDOMConstructorBase.h:22
&gt;  #include &quot;JSDOMWrapper.h&quot;

Is this still needed?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1782453</commentid>
    <comment_count>3</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2021-08-06 00:53:11 -0700</bug_when>
    <thetext>This is great!!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1783374</commentid>
    <comment_count>4</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-08-10 18:40:19 -0700</bug_when>
    <thetext>&lt;rdar://problem/81771534&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1795884</commentid>
    <comment_count>5</comment_count>
      <attachid>438894</attachid>
    <who name="Alexey Shvayka">ashvayka</who>
    <bug_when>2021-09-21 17:34:09 -0700</bug_when>
    <thetext>Created attachment 438894
Patch

Remove extra #include, improve ChangeLog, and add a FIXME regarding m_originalName / property order.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1795887</commentid>
    <comment_count>6</comment_count>
      <attachid>438895</attachid>
    <who name="Alexey Shvayka">ashvayka</who>
    <bug_when>2021-09-21 17:38:25 -0700</bug_when>
    <thetext>Created attachment 438895
Microbenchmark

trunk: 188.3ms
patch: 155.5ms (17.5% faster)
---
4 runs, sampled around r280750.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1795942</commentid>
    <comment_count>7</comment_count>
      <attachid>438894</attachid>
    <who name="Alexey Shvayka">ashvayka</who>
    <bug_when>2021-09-21 21:19:14 -0700</bug_when>
    <thetext>Comment on attachment 438894
Patch

Thanks for review and feedback!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1795949</commentid>
    <comment_count>8</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-09-21 21:56:05 -0700</bug_when>
    <thetext>Committed r282864 (241995@main): &lt;https://commits.webkit.org/241995@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 438894.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1980623</commentid>
    <comment_count>9</comment_count>
    <who name="Alexey Shvayka">ashvayka</who>
    <bug_when>2023-09-27 14:00:54 -0700</bug_when>
    <thetext>*** Bug 210688 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>434876</attachid>
            <date>2021-08-03 18:45:08 -0700</date>
            <delta_ts>2021-09-21 17:34:04 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-228763-20210804044506.patch</filename>
            <type>text/plain</type>
            <size>132247</size>
            <attacher name="Alexey Shvayka">ashvayka</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMjgwNjI2KQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE4IEBA
CisyMDIxLTA4LTAzICBBbGV4ZXkgU2h2YXlrYSAgPHNodmFpa2FsZXNoQGdtYWlsLmNvbT4KKwor
ICAgICAgICBbV2ViSURMXSBET00gY29uc3RydWN0b3JzIHNob3VsZCBleHRlbmQgSW50ZXJuYWxG
dW5jdGlvbgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MjI4NzYzCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
VG8gYXZvaWQgbGFyZ2UgcmVmYWN0b3JpbmcsIGludHJvZHVjZSBmaW5pc2hDcmVhdGlvbigpIG92
ZXJsb2FkIGZvciBET00gY29uc3RydWN0b3JzCisgICAgICAgIGFuZCBtb3ZlIHN1YmNsYXNzIGlu
dmFyaWFudHMgY2hlY2tzIHRvIEludGVybmFsRnVuY3Rpb24gY29uc3RydWN0b3IuCisKKyAgICAg
ICAgKiBydW50aW1lL0ludGVybmFsRnVuY3Rpb24uY3BwOgorICAgICAgICAoSlNDOjpJbnRlcm5h
bEZ1bmN0aW9uOjpJbnRlcm5hbEZ1bmN0aW9uKToKKyAgICAgICAgKEpTQzo6SW50ZXJuYWxGdW5j
dGlvbjo6ZmluaXNoQ3JlYXRpb24pOgorICAgICAgICAqIHJ1bnRpbWUvSW50ZXJuYWxGdW5jdGlv
bi5oOgorCiAyMDIxLTA4LTAzICBZaWppYSBIdWFuZyAgPHlpamlhX2h1YW5nQGFwcGxlLmNvbT4K
IAogICAgICAgICBbQVJNNjRdIFVzZSBsaW5rIHJlZ2lzdGVyIGluc3RlYWQgb2YgcGlubmluZyBh
IHJlZ2lzdGVyIGZvciBtYXRlcmlhbGl6aW5nIGJpZyBsb2FkIGNvbnN0YW50cwpJbmRleDogU291
cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSW50ZXJuYWxGdW5jdGlvbi5jcHAKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSW50ZXJuYWxGdW5jdGlvbi5jcHAJ
KHJldmlzaW9uIDI4MDYyMykKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0ludGVy
bmFsRnVuY3Rpb24uY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00MSwxNiArNDEsMTcgQEAgSW50ZXJu
YWxGdW5jdGlvbjo6SW50ZXJuYWxGdW5jdGlvbihWTSYgdgogewogICAgIEFTU0VSVF9XSVRIX01F
U1NBR0UobV9mdW5jdGlvbkZvckNhbGwsICJbW0NhbGxdXSBtdXN0IGJlIGltcGxlbWVudGVkIik7
CiAgICAgQVNTRVJUKG1fZnVuY3Rpb25Gb3JDb25zdHJ1Y3QpOwotfQogCi12b2lkIEludGVybmFs
RnVuY3Rpb246OmZpbmlzaENyZWF0aW9uKFZNJiB2bSwgdW5zaWduZWQgbGVuZ3RoLCBjb25zdCBT
dHJpbmcmIG5hbWUsIFByb3BlcnR5QWRkaXRpb25Nb2RlIG5hbWVBZGRpdGlvbk1vZGUpCi17Ci0g
ICAgQmFzZTo6ZmluaXNoQ3JlYXRpb24odm0pOwogICAgIEFTU0VSVChqc0R5bmFtaWNDYXN0PElu
dGVybmFsRnVuY3Rpb24qPih2bSwgdGhpcykpOwogICAgIC8vIEpTQ2VsbDo6e2dldENhbGxEYXRh
LGdldENvbnN0cnVjdERhdGF9IHJlbGllcyBvbiB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMuCiAg
ICAgQVNTRVJUKG1ldGhvZFRhYmxlKHZtKS0+Z2V0Q2FsbERhdGEgPT0gSW50ZXJuYWxGdW5jdGlv
bjo6aW5mbygpLT5tZXRob2RUYWJsZS5nZXRDYWxsRGF0YSk7CiAgICAgQVNTRVJUKG1ldGhvZFRh
YmxlKHZtKS0+Z2V0Q29uc3RydWN0RGF0YSA9PSBJbnRlcm5hbEZ1bmN0aW9uOjppbmZvKCktPm1l
dGhvZFRhYmxlLmdldENvbnN0cnVjdERhdGEpOwogICAgIEFTU0VSVCh0eXBlKCkgPT0gSW50ZXJu
YWxGdW5jdGlvblR5cGUgfHwgdHlwZSgpID09IE51bGxTZXR0ZXJGdW5jdGlvblR5cGUpOworfQor
Cit2b2lkIEludGVybmFsRnVuY3Rpb246OmZpbmlzaENyZWF0aW9uKFZNJiB2bSwgdW5zaWduZWQg
bGVuZ3RoLCBjb25zdCBTdHJpbmcmIG5hbWUsIFByb3BlcnR5QWRkaXRpb25Nb2RlIG5hbWVBZGRp
dGlvbk1vZGUpCit7CisgICAgQmFzZTo6ZmluaXNoQ3JlYXRpb24odm0pOwogCiAgICAgSlNTdHJp
bmcqIG5hbWVTdHJpbmcgPSBqc1N0cmluZyh2bSwgbmFtZSk7CiAgICAgbV9vcmlnaW5hbE5hbWUu
c2V0KHZtLCB0aGlzLCBuYW1lU3RyaW5nKTsKQEAgLTY0LDYgKzY1LDExIEBAIHZvaWQgSW50ZXJu
YWxGdW5jdGlvbjo6ZmluaXNoQ3JlYXRpb24oVk0KICAgICB9CiB9CiAKK3ZvaWQgSW50ZXJuYWxG
dW5jdGlvbjo6ZmluaXNoQ3JlYXRpb24oVk0mIHZtKQoreworICAgIEJhc2U6OmZpbmlzaENyZWF0
aW9uKHZtKTsKK30KKwogdGVtcGxhdGU8dHlwZW5hbWUgVmlzaXRvcj4KIHZvaWQgSW50ZXJuYWxG
dW5jdGlvbjo6dmlzaXRDaGlsZHJlbkltcGwoSlNDZWxsKiBjZWxsLCBWaXNpdG9yJiB2aXNpdG9y
KQogewpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSW50ZXJuYWxGdW5jdGlv
bi5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0ludGVybmFs
RnVuY3Rpb24uaAkocmV2aXNpb24gMjgwNjIzKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvSW50ZXJuYWxGdW5jdGlvbi5oCSh3b3JraW5nIGNvcHkpCkBAIC04OCw2ICs4OCw3IEBA
IHByb3RlY3RlZDoKIAogICAgIGVudW0gY2xhc3MgUHJvcGVydHlBZGRpdGlvbk1vZGUgeyBXaXRo
U3RydWN0dXJlVHJhbnNpdGlvbiwgV2l0aG91dFN0cnVjdHVyZVRyYW5zaXRpb24gfTsKICAgICBK
U19FWFBPUlRfUFJJVkFURSB2b2lkIGZpbmlzaENyZWF0aW9uKFZNJiwgdW5zaWduZWQgbGVuZ3Ro
LCBjb25zdCBTdHJpbmcmIG5hbWUsIFByb3BlcnR5QWRkaXRpb25Nb2RlID0gUHJvcGVydHlBZGRp
dGlvbk1vZGU6OldpdGhTdHJ1Y3R1cmVUcmFuc2l0aW9uKTsKKyAgICBKU19FWFBPUlRfUFJJVkFU
RSB2b2lkIGZpbmlzaENyZWF0aW9uKFZNJik7CiAKICAgICBKU19FWFBPUlRfUFJJVkFURSBzdGF0
aWMgQ2FsbERhdGEgZ2V0Q29uc3RydWN0RGF0YShKU0NlbGwqKTsKICAgICBKU19FWFBPUlRfUFJJ
VkFURSBzdGF0aWMgQ2FsbERhdGEgZ2V0Q2FsbERhdGEoSlNDZWxsKik7CkluZGV4OiBTb3VyY2Uv
V2ViQ29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiAyODA2MjMpCisrKyBTb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cJKHdvcmtpbmcg
Y29weSkKQEAgLTEsMyArMSw2NCBAQAorMjAyMS0wOC0wMyAgQWxleGV5IFNodmF5a2EgIDxzaHZh
aWthbGVzaEBnbWFpbC5jb20+CisKKyAgICAgICAgW1dlYklETF0gRE9NIGNvbnN0cnVjdG9ycyBz
aG91bGQgZXh0ZW5kIEludGVybmFsRnVuY3Rpb24KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTIyODc2MworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIFRoaXMgcGF0Y2ggbWFrZXMgSlNET01Db25zdHJ1Y3RvckJh
c2UgYSBzdWJjbGFzcyBvZiBJbnRlcm5hbEZ1bmN0aW9uLCBhbGlnbmluZyBET00gY29uc3RydWN0
b3JzCisgICAgICAgIHdpdGggdGhlaXIgRUNNQS0yNjIgY291bnRlcnBhcnRzLCBiZWNhdXNlOgor
CisgICAgICAgICAgMS4gSW50ZXJuYWxGdW5jdGlvbiBpcyBmYXN0ZXIgdG8gY2FsbCAoc2VlIFRo
dW5rR2VuZXJhdG9ycy5jcHApLgorICAgICAgICAgIDIuIFNpbmNlIEludGVybmFsRnVuY3Rpb24g
ZGlzYWxsb3dzIGl0cyBzdWJjbGFzc2VzIHRvIG92ZXJyaWRlIGdldENhbGxEYXRhKCkgLyBnZXRD
b25zdHJ1Y3REYXRhKCksCisgICAgICAgICAgICAgd2UgY2FuIHJlYXNvbiBhYm91dCB0aGUgcHJl
c2VuY2Ugb2YgW1tDYWxsXV0gLyBbW0NvbnN0cnVjdF1dIGJ5IEpTVHlwZSBvbmx5LiBUaGlzIGlu
dmFyaWFudAorICAgICAgICAgICAgIHdpbGwgYWxsb3cgdG8gc3BlZWQgdXAgYSBmZXcgYnl0ZWNv
ZGVzIChpc19jYWxsYWJsZSwgaXNfY29uc3RydWN0b3IsIHR5cGVvZiopIGluIHRoZSBmdXR1cmUu
CisgICAgICAgICAgMy4gVXNpbmcgSW50ZXJuYWxGdW5jdGlvblR5cGUgaXMgZXNzZW50aWFsIHRv
IGtlZXAgdGhlIGBpbnN0YW5jZW9mYCB1cGRhdGUgKGJ1ZyAjMTUxMzQ4KQorICAgICAgICAgICAg
IHBlcmZvcm1hbmNlLW5ldXRyYWwgZm9yIERPTSBjb25zdHJ1Y3RvcnMuCisKKyAgICAgICAgTm8g
bmV3IHRlc3RzLCBubyBiZWhhdmlvciBjaGFuZ2UuCisKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9K
U0RPTUJ1aWx0aW5Db25zdHJ1Y3Rvci5oOgorICAgICAgICAoV2ViQ29yZTo6SlNET01CdWlsdGlu
Q29uc3RydWN0b3I8SlNDbGFzcz46OmNyZWF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpKU0RPTUJ1
aWx0aW5Db25zdHJ1Y3RvcjxKU0NsYXNzPjo6Y3JlYXRlU3RydWN0dXJlKToKKyAgICAgICAgKFdl
YkNvcmU6OkpTRE9NQnVpbHRpbkNvbnN0cnVjdG9yPEpTQ2xhc3M+OjpnZXRDb25zdHJ1Y3REYXRh
KTogRGVsZXRlZC4KKyAgICAgICAgKiBiaW5kaW5ncy9qcy9KU0RPTUJ1aWx0aW5Db25zdHJ1Y3Rv
ckJhc2UuaDoKKyAgICAgICAgKFdlYkNvcmU6OkpTRE9NQnVpbHRpbkNvbnN0cnVjdG9yQmFzZTo6
SlNET01CdWlsdGluQ29uc3RydWN0b3JCYXNlKToKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9KU0RP
TUNvbnN0cnVjdG9yLmg6CisgICAgICAgIChXZWJDb3JlOjpKU0RPTUNvbnN0cnVjdG9yPEpTQ2xh
c3M+OjpjcmVhdGUpOgorICAgICAgICAoV2ViQ29yZTo6SlNET01Db25zdHJ1Y3RvcjxKU0NsYXNz
Pjo6Y3JlYXRlU3RydWN0dXJlKToKKyAgICAgICAgKFdlYkNvcmU6OkpTRE9NQ29uc3RydWN0b3I8
SlNDbGFzcz46OmdldENvbnN0cnVjdERhdGEpOiBEZWxldGVkLgorICAgICAgICAqIGJpbmRpbmdz
L2pzL0pTRE9NQ29uc3RydWN0b3JCYXNlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkpTQ19ERUZJ
TkVfSE9TVF9GVU5DVElPTik6CisgICAgICAgIChXZWJDb3JlOjpKU0RPTUNvbnN0cnVjdG9yQmFz
ZTo6Z2V0Q2FsbERhdGEpOiBEZWxldGVkLgorICAgICAgICAqIGJpbmRpbmdzL2pzL0pTRE9NQ29u
c3RydWN0b3JCYXNlLmg6CisgICAgICAgIChXZWJDb3JlOjpKU0RPTUNvbnN0cnVjdG9yQmFzZTo6
Z2xvYmFsT2JqZWN0IGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OkpTRE9NQ29uc3RydWN0b3JC
YXNlOjpzY3JpcHRFeGVjdXRpb25Db250ZXh0IGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OkpT
RE9NQ29uc3RydWN0b3JCYXNlOjpKU0RPTUNvbnN0cnVjdG9yQmFzZSk6CisgICAgICAgIChXZWJD
b3JlOjpKU0RPTUNvbnN0cnVjdG9yQmFzZTo6Y3JlYXRlU3RydWN0dXJlKTogRGVsZXRlZC4KKyAg
ICAgICAgKiBiaW5kaW5ncy9qcy9KU0RPTUNvbnN0cnVjdG9yTm90Q2FsbGFibGUuaDoKKyAgICAg
ICAgKFdlYkNvcmU6OkpTRE9NQ29uc3RydWN0b3JOb3RDYWxsYWJsZTo6c3Vic3BhY2VGb3IpOgor
ICAgICAgICAqIGJpbmRpbmdzL2pzL0pTRE9NQ29uc3RydWN0b3JOb3RDb25zdHJ1Y3RhYmxlLmg6
CisgICAgICAgIChXZWJDb3JlOjpKU0RPTUNvbnN0cnVjdG9yTm90Q29uc3RydWN0YWJsZTxKU0Ns
YXNzPjo6Y3JlYXRlKToKKyAgICAgICAgKFdlYkNvcmU6OkpTRE9NQ29uc3RydWN0b3JOb3RDb25z
dHJ1Y3RhYmxlPEpTQ2xhc3M+OjpjcmVhdGVTdHJ1Y3R1cmUpOgorICAgICAgICAqIGJpbmRpbmdz
L2pzL0pTRE9NQ29uc3RydWN0b3JXaXRoRG9jdW1lbnQuaDoKKyAgICAgICAgKFdlYkNvcmU6OkpT
RE9NQ29uc3RydWN0b3JXaXRoRG9jdW1lbnQ6OkpTRE9NQ29uc3RydWN0b3JXaXRoRG9jdW1lbnQp
OgorICAgICAgICAqIGJpbmRpbmdzL2pzL0pTRE9NTGVnYWN5RmFjdG9yeUZ1bmN0aW9uLmg6Cisg
ICAgICAgIChXZWJDb3JlOjpKU0RPTUxlZ2FjeUZhY3RvcnlGdW5jdGlvbjxKU0NsYXNzPjo6Y3Jl
YXRlKToKKyAgICAgICAgKFdlYkNvcmU6OkpTRE9NTGVnYWN5RmFjdG9yeUZ1bmN0aW9uPEpTQ2xh
c3M+OjpjcmVhdGVTdHJ1Y3R1cmUpOgorICAgICAgICAoV2ViQ29yZTo6SlNET01MZWdhY3lGYWN0
b3J5RnVuY3Rpb248SlNDbGFzcz46OmdldENvbnN0cnVjdERhdGEpOiBEZWxldGVkLgorICAgICAg
ICAqIGJpbmRpbmdzL2pzL1dlYkNvcmVKU0NsaWVudERhdGEuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6SlNWTUNsaWVudERhdGE6OkpTVk1DbGllbnREYXRhKToKKyAgICAgICAgKiBiaW5kaW5ncy9q
cy9XZWJDb3JlSlNDbGllbnREYXRhLmg6CisgICAgICAgIChXZWJDb3JlOjpKU1ZNQ2xpZW50RGF0
YTo6ZG9tTmFtZXNwYWNlT2JqZWN0U3BhY2UpOgorICAgICAgICBNb3ZlIEpTRE9NQ29uc3RydWN0
b3JOb3RDYWxsYWJsZSB0byBzZXBhcmF0ZSBJc29TdWJzcGFjZSBzaW5jZSBpdCBubyBsb25nZXIK
KyAgICAgICAgc2hhcmVzIGEgY29tbW9uIHBhcmVudCBjbGFzcyB3aXRoIGNhbGxhYmxlIGNvbnN0
cnVjdG9ycy4KKworICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvckpTLnBt
OgorICAgICAgICAoR2VuZXJhdGVDb25zdHJ1Y3RvckhlbHBlck1ldGhvZHMpOgorICAgICAgICBN
YW51YWxseSBzZXQgbV9vcmlnaW5hbE5hbWUgdG8gc2F0aXNmeSBJbnRlcm5hbEZ1bmN0aW9uJ3Mg
aW52YXJpYW50cy4KKworICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy8qOiBVcGRh
dGVkLgorCiAyMDIxLTA4LTAzICBBbGV4IENocmlzdGVuc2VuICA8YWNocmlzdGVuc2VuQHdlYmtp
dC5vcmc+CiAKICAgICAgICAgTnVsbCBjaGVjayBzZWxmLnNlc3Npb24gYWZ0ZXIgY2FsbGluZyBf
Y2FuY2VsIGluc3RlYWQgb2YgYmVmb3JlCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9q
cy9KU0RPTUJ1aWx0aW5Db25zdHJ1Y3Rvci5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL2pzL0pTRE9NQnVpbHRpbkNvbnN0cnVjdG9yLmgJKHJldmlzaW9uIDI4MDYyMykK
KysrIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NQnVpbHRpbkNvbnN0cnVjdG9yLmgJ
KHdvcmtpbmcgY29weSkKQEAgLTQwLDEzICs0MCwxMiBAQCBwdWJsaWM6CiAgICAgc3RhdGljIEpT
Qzo6RW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTF9BVFRSSUJVVEVTIGNvbnN0cnVjdChKU0M6
OkpTR2xvYmFsT2JqZWN0KiwgSlNDOjpDYWxsRnJhbWUqKTsKIAogcHJpdmF0ZToKLSAgICBKU0RP
TUJ1aWx0aW5Db25zdHJ1Y3RvcihKU0M6OlN0cnVjdHVyZSogc3RydWN0dXJlLCBKU0RPTUdsb2Jh
bE9iamVjdCYgZ2xvYmFsT2JqZWN0KQotICAgICAgICA6IEJhc2Uoc3RydWN0dXJlLCBnbG9iYWxP
YmplY3QpCisgICAgSlNET01CdWlsdGluQ29uc3RydWN0b3IoSlNDOjpWTSYgdm0sIEpTQzo6U3Ry
dWN0dXJlKiBzdHJ1Y3R1cmUpCisgICAgICAgIDogQmFzZSh2bSwgc3RydWN0dXJlLCBjb25zdHJ1
Y3QpCiAgICAgewogICAgIH0KIAogICAgIHZvaWQgZmluaXNoQ3JlYXRpb24oSlNDOjpWTSYsIEpT
RE9NR2xvYmFsT2JqZWN0Jik7Ci0gICAgc3RhdGljIEpTQzo6Q2FsbERhdGEgZ2V0Q29uc3RydWN0
RGF0YShKU0M6OkpTQ2VsbCopOwogCiAgICAgSlNDOjpFbmNvZGVkSlNWYWx1ZSBjYWxsQ29uc3Ry
dWN0b3IoSlNDOjpKU0dsb2JhbE9iamVjdCYsIEpTQzo6Q2FsbEZyYW1lJiwgSlNDOjpKU09iamVj
dCYpOwogICAgIEpTQzo6RW5jb2RlZEpTVmFsdWUgY2FsbENvbnN0cnVjdG9yKEpTQzo6SlNHbG9i
YWxPYmplY3QmLCBKU0M6OkNhbGxGcmFtZSYsIEpTQzo6SlNPYmplY3QqKTsKQEAgLTU5LDE0ICs1
OCwxNCBAQCBwcml2YXRlOgogCiB0ZW1wbGF0ZTx0eXBlbmFtZSBKU0NsYXNzPiBpbmxpbmUgSlNE
T01CdWlsdGluQ29uc3RydWN0b3I8SlNDbGFzcz4qIEpTRE9NQnVpbHRpbkNvbnN0cnVjdG9yPEpT
Q2xhc3M+OjpjcmVhdGUoSlNDOjpWTSYgdm0sIEpTQzo6U3RydWN0dXJlKiBzdHJ1Y3R1cmUsIEpT
RE9NR2xvYmFsT2JqZWN0JiBnbG9iYWxPYmplY3QpCiB7Ci0gICAgSlNET01CdWlsdGluQ29uc3Ry
dWN0b3IqIGNvbnN0cnVjdG9yID0gbmV3IChOb3ROdWxsLCBKU0M6OmFsbG9jYXRlQ2VsbDxKU0RP
TUJ1aWx0aW5Db25zdHJ1Y3Rvcj4odm0uaGVhcCkpIEpTRE9NQnVpbHRpbkNvbnN0cnVjdG9yKHN0
cnVjdHVyZSwgZ2xvYmFsT2JqZWN0KTsKKyAgICBKU0RPTUJ1aWx0aW5Db25zdHJ1Y3RvciogY29u
c3RydWN0b3IgPSBuZXcgKE5vdE51bGwsIEpTQzo6YWxsb2NhdGVDZWxsPEpTRE9NQnVpbHRpbkNv
bnN0cnVjdG9yPih2bS5oZWFwKSkgSlNET01CdWlsdGluQ29uc3RydWN0b3Iodm0sIHN0cnVjdHVy
ZSk7CiAgICAgY29uc3RydWN0b3ItPmZpbmlzaENyZWF0aW9uKHZtLCBnbG9iYWxPYmplY3QpOwog
ICAgIHJldHVybiBjb25zdHJ1Y3RvcjsKIH0KIAogdGVtcGxhdGU8dHlwZW5hbWUgSlNDbGFzcz4g
aW5saW5lIEpTQzo6U3RydWN0dXJlKiBKU0RPTUJ1aWx0aW5Db25zdHJ1Y3RvcjxKU0NsYXNzPjo6
Y3JlYXRlU3RydWN0dXJlKEpTQzo6Vk0mIHZtLCBKU0M6OkpTR2xvYmFsT2JqZWN0JiBnbG9iYWxP
YmplY3QsIEpTQzo6SlNWYWx1ZSBwcm90b3R5cGUpCiB7Ci0gICAgcmV0dXJuIEpTQzo6U3RydWN0
dXJlOjpjcmVhdGUodm0sICZnbG9iYWxPYmplY3QsIHByb3RvdHlwZSwgSlNDOjpUeXBlSW5mbyhK
U0M6Ok9iamVjdFR5cGUsIFN0cnVjdHVyZUZsYWdzKSwgaW5mbygpKTsKKyAgICByZXR1cm4gSlND
OjpTdHJ1Y3R1cmU6OmNyZWF0ZSh2bSwgJmdsb2JhbE9iamVjdCwgcHJvdG90eXBlLCBKU0M6OlR5
cGVJbmZvKEpTQzo6SW50ZXJuYWxGdW5jdGlvblR5cGUsIFN0cnVjdHVyZUZsYWdzKSwgaW5mbygp
KTsKIH0KIAogdGVtcGxhdGU8dHlwZW5hbWUgSlNDbGFzcz4gaW5saW5lIHZvaWQgSlNET01CdWls
dGluQ29uc3RydWN0b3I8SlNDbGFzcz46OmZpbmlzaENyZWF0aW9uKEpTQzo6Vk0mIHZtLCBKU0RP
TUdsb2JhbE9iamVjdCYgZ2xvYmFsT2JqZWN0KQpAQCAtMTE5LDEyICsxMTgsNCBAQCB0ZW1wbGF0
ZTx0eXBlbmFtZSBKU0NsYXNzPiBpbmxpbmUgSlNDOjpFCiAgICAgcmV0dXJuIGNhc3RlZFRoaXMt
PmNhbGxDb25zdHJ1Y3RvcigqbGV4aWNhbEdsb2JhbE9iamVjdCwgKmNhbGxGcmFtZSwgY3JlYXRl
SlNPYmplY3QoKmNhc3RlZFRoaXMpKTsKIH0KIAotdGVtcGxhdGU8dHlwZW5hbWUgSlNDbGFzcz4g
aW5saW5lIEpTQzo6Q2FsbERhdGEgSlNET01CdWlsdGluQ29uc3RydWN0b3I8SlNDbGFzcz46Omdl
dENvbnN0cnVjdERhdGEoSlNDOjpKU0NlbGwqKQotewotICAgIEpTQzo6Q2FsbERhdGEgY29uc3Ry
dWN0RGF0YTsKLSAgICBjb25zdHJ1Y3REYXRhLnR5cGUgPSBKU0M6OkNhbGxEYXRhOjpUeXBlOjpO
YXRpdmU7Ci0gICAgY29uc3RydWN0RGF0YS5uYXRpdmUuZnVuY3Rpb24gPSBjb25zdHJ1Y3Q7Ci0g
ICAgcmV0dXJuIGNvbnN0cnVjdERhdGE7Ci19Ci0KIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKSW5k
ZXg6IFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NQnVpbHRpbkNvbnN0cnVjdG9yQmFz
ZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NQnVpbHRp
bkNvbnN0cnVjdG9yQmFzZS5oCShyZXZpc2lvbiAyODA2MjMpCisrKyBTb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy9qcy9KU0RPTUJ1aWx0aW5Db25zdHJ1Y3RvckJhc2UuaAkod29ya2luZyBjb3B5KQpA
QCAtMzcsOCArMzcsOCBAQCBwdWJsaWM6CiAgICAgfQogCiBwcm90ZWN0ZWQ6Ci0gICAgSlNET01C
dWlsdGluQ29uc3RydWN0b3JCYXNlKEpTQzo6U3RydWN0dXJlKiBzdHJ1Y3R1cmUsIEpTRE9NR2xv
YmFsT2JqZWN0JiBnbG9iYWxPYmplY3QpCi0gICAgICAgIDogSlNET01Db25zdHJ1Y3RvckJhc2Uo
c3RydWN0dXJlLCBnbG9iYWxPYmplY3QpCisgICAgSlNET01CdWlsdGluQ29uc3RydWN0b3JCYXNl
KEpTQzo6Vk0mIHZtLCBKU0M6OlN0cnVjdHVyZSogc3RydWN0dXJlLCBKU0M6Ok5hdGl2ZUZ1bmN0
aW9uIGZ1bmN0aW9uRm9yQ29uc3RydWN0KQorICAgICAgICA6IEJhc2Uodm0sIHN0cnVjdHVyZSwg
ZnVuY3Rpb25Gb3JDb25zdHJ1Y3QpCiAgICAgewogICAgIH0KIApJbmRleDogU291cmNlL1dlYkNv
cmUvYmluZGluZ3MvanMvSlNET01Db25zdHJ1Y3Rvci5oCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NQ29uc3RydWN0b3IuaAkocmV2aXNpb24gMjgwNjIzKQor
KysgU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01Db25zdHJ1Y3Rvci5oCSh3b3JraW5n
IGNvcHkpCkBAIC0zOSwxMyArMzksMTIgQEAgcHVibGljOgogICAgIHN0YXRpYyBKU0M6OkVuY29k
ZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTExfQVRUUklCVVRFUyBjb25zdHJ1Y3QoSlNDOjpKU0dsb2Jh
bE9iamVjdCosIEpTQzo6Q2FsbEZyYW1lKik7CiAKIHByaXZhdGU6Ci0gICAgSlNET01Db25zdHJ1
Y3RvcihKU0M6OlN0cnVjdHVyZSogc3RydWN0dXJlLCBKU0RPTUdsb2JhbE9iamVjdCYgZ2xvYmFs
T2JqZWN0KQotICAgICAgICA6IEJhc2Uoc3RydWN0dXJlLCBnbG9iYWxPYmplY3QpCisgICAgSlNE
T01Db25zdHJ1Y3RvcihKU0M6OlZNJiB2bSwgSlNDOjpTdHJ1Y3R1cmUqIHN0cnVjdHVyZSkKKyAg
ICAgICAgOiBCYXNlKHZtLCBzdHJ1Y3R1cmUsIGNvbnN0cnVjdCkKICAgICB7CiAgICAgfQogCiAg
ICAgdm9pZCBmaW5pc2hDcmVhdGlvbihKU0M6OlZNJiwgSlNET01HbG9iYWxPYmplY3QmKTsKLSAg
ICBzdGF0aWMgSlNDOjpDYWxsRGF0YSBnZXRDb25zdHJ1Y3REYXRhKEpTQzo6SlNDZWxsKik7CiAK
ICAgICAvLyBVc3VhbGx5IGRlZmluZWQgZm9yIGVhY2ggc3BlY2lhbGl6YXRpb24gY2xhc3MuCiAg
ICAgdm9pZCBpbml0aWFsaXplUHJvcGVydGllcyhKU0M6OlZNJiwgSlNET01HbG9iYWxPYmplY3Qm
KSB7IH0KQEAgLTUzLDE0ICs1MiwxNCBAQCBwcml2YXRlOgogCiB0ZW1wbGF0ZTx0eXBlbmFtZSBK
U0NsYXNzPiBpbmxpbmUgSlNET01Db25zdHJ1Y3RvcjxKU0NsYXNzPiogSlNET01Db25zdHJ1Y3Rv
cjxKU0NsYXNzPjo6Y3JlYXRlKEpTQzo6Vk0mIHZtLCBKU0M6OlN0cnVjdHVyZSogc3RydWN0dXJl
LCBKU0RPTUdsb2JhbE9iamVjdCYgZ2xvYmFsT2JqZWN0KQogewotICAgIEpTRE9NQ29uc3RydWN0
b3IqIGNvbnN0cnVjdG9yID0gbmV3IChOb3ROdWxsLCBKU0M6OmFsbG9jYXRlQ2VsbDxKU0RPTUNv
bnN0cnVjdG9yPih2bS5oZWFwKSkgSlNET01Db25zdHJ1Y3RvcihzdHJ1Y3R1cmUsIGdsb2JhbE9i
amVjdCk7CisgICAgSlNET01Db25zdHJ1Y3RvciogY29uc3RydWN0b3IgPSBuZXcgKE5vdE51bGws
IEpTQzo6YWxsb2NhdGVDZWxsPEpTRE9NQ29uc3RydWN0b3I+KHZtLmhlYXApKSBKU0RPTUNvbnN0
cnVjdG9yKHZtLCBzdHJ1Y3R1cmUpOwogICAgIGNvbnN0cnVjdG9yLT5maW5pc2hDcmVhdGlvbih2
bSwgZ2xvYmFsT2JqZWN0KTsKICAgICByZXR1cm4gY29uc3RydWN0b3I7CiB9CiAKIHRlbXBsYXRl
PHR5cGVuYW1lIEpTQ2xhc3M+IGlubGluZSBKU0M6OlN0cnVjdHVyZSogSlNET01Db25zdHJ1Y3Rv
cjxKU0NsYXNzPjo6Y3JlYXRlU3RydWN0dXJlKEpTQzo6Vk0mIHZtLCBKU0M6OkpTR2xvYmFsT2Jq
ZWN0JiBnbG9iYWxPYmplY3QsIEpTQzo6SlNWYWx1ZSBwcm90b3R5cGUpCiB7Ci0gICAgcmV0dXJu
IEpTQzo6U3RydWN0dXJlOjpjcmVhdGUodm0sICZnbG9iYWxPYmplY3QsIHByb3RvdHlwZSwgSlND
OjpUeXBlSW5mbyhKU0M6Ok9iamVjdFR5cGUsIFN0cnVjdHVyZUZsYWdzKSwgaW5mbygpKTsKKyAg
ICByZXR1cm4gSlNDOjpTdHJ1Y3R1cmU6OmNyZWF0ZSh2bSwgJmdsb2JhbE9iamVjdCwgcHJvdG90
eXBlLCBKU0M6OlR5cGVJbmZvKEpTQzo6SW50ZXJuYWxGdW5jdGlvblR5cGUsIFN0cnVjdHVyZUZs
YWdzKSwgaW5mbygpKTsKIH0KIAogdGVtcGxhdGU8dHlwZW5hbWUgSlNDbGFzcz4gaW5saW5lIHZv
aWQgSlNET01Db25zdHJ1Y3RvcjxKU0NsYXNzPjo6ZmluaXNoQ3JlYXRpb24oSlNDOjpWTSYgdm0s
IEpTRE9NR2xvYmFsT2JqZWN0JiBnbG9iYWxPYmplY3QpCkBAIC03MCwxMyArNjksNCBAQCB0ZW1w
bGF0ZTx0eXBlbmFtZSBKU0NsYXNzPiBpbmxpbmUgdm9pZCBKCiAgICAgaW5pdGlhbGl6ZVByb3Bl
cnRpZXModm0sIGdsb2JhbE9iamVjdCk7CiB9CiAKLXRlbXBsYXRlPHR5cGVuYW1lIEpTQ2xhc3M+
IGlubGluZSBKU0M6OkNhbGxEYXRhIEpTRE9NQ29uc3RydWN0b3I8SlNDbGFzcz46OmdldENvbnN0
cnVjdERhdGEoSlNDOjpKU0NlbGwqKQotewotICAgIEpTQzo6Q2FsbERhdGEgY29uc3RydWN0RGF0
YTsKLSAgICBjb25zdHJ1Y3REYXRhLnR5cGUgPSBKU0M6OkNhbGxEYXRhOjpUeXBlOjpOYXRpdmU7
Ci0gICAgY29uc3RydWN0RGF0YS5uYXRpdmUuZnVuY3Rpb24gPSBjb25zdHJ1Y3Q7Ci0gICAgcmV0
dXJuIGNvbnN0cnVjdERhdGE7Ci19Ci0KLQogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpJbmRleDog
U291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01Db25zdHJ1Y3RvckJhc2UuY3BwCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NQ29uc3RydWN0b3JCYXNl
LmNwcAkocmV2aXNpb24gMjgwNjIzKQorKysgU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNE
T01Db25zdHJ1Y3RvckJhc2UuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zMCw5ICszMCw3IEBAIHVz
aW5nIG5hbWVzcGFjZSBKU0M7CiAKIFNUQVRJQ19BU1NFUlRfSVNfVFJJVklBTExZX0RFU1RSVUNU
SUJMRShKU0RPTUNvbnN0cnVjdG9yQmFzZSk7CiAKLXN0YXRpYyBKU0NfREVDTEFSRV9IT1NUX0ZV
TkNUSU9OKGNhbGxUaHJvd1R5cGVFcnJvcik7Ci0KLUpTQ19ERUZJTkVfSE9TVF9GVU5DVElPTihj
YWxsVGhyb3dUeXBlRXJyb3IsIChKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBDYWxsRnJh
bWUqKSkKK0pTQ19ERUZJTkVfSE9TVF9GVU5DVElPTihjYWxsVGhyb3dUeXBlRXJyb3JGb3JKU0RP
TUNvbnN0cnVjdG9yLCAoSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgQ2FsbEZyYW1lKikp
CiB7CiAgICAgVk0mIHZtID0gZ2xvYmFsT2JqZWN0LT52bSgpOwogICAgIGF1dG8gc2NvcGUgPSBE
RUNMQVJFX1RIUk9XX1NDT1BFKHZtKTsKQEAgLTQ4LDE0ICs0Niw2IEBAIEpTQ19ERUZJTkVfSE9T
VF9GVU5DVElPTihjYWxsVGhyb3dUeXBlRXIKICAgICByZXR1cm4gSlNDOjpKU1ZhbHVlOjplbmNv
ZGUoSlNDOjpqc051bGwoKSk7CiB9CiAKLUNhbGxEYXRhIEpTRE9NQ29uc3RydWN0b3JCYXNlOjpn
ZXRDYWxsRGF0YShKU0NlbGwqKQotewotICAgIENhbGxEYXRhIGNhbGxEYXRhOwotICAgIGNhbGxE
YXRhLnR5cGUgPSBDYWxsRGF0YTo6VHlwZTo6TmF0aXZlOwotICAgIGNhbGxEYXRhLm5hdGl2ZS5m
dW5jdGlvbiA9IGNhbGxUaHJvd1R5cGVFcnJvcjsKLSAgICByZXR1cm4gY2FsbERhdGE7Ci19Ci0K
IEpTQzo6SXNvU3Vic3BhY2UqIEpTRE9NQ29uc3RydWN0b3JCYXNlOjpzdWJzcGFjZUZvckltcGwo
SlNDOjpWTSYgdm0pCiB7CiAgICAgcmV0dXJuICZzdGF0aWNfY2FzdDxKU1ZNQ2xpZW50RGF0YSo+
KHZtLmNsaWVudERhdGEpLT5kb21Db25zdHJ1Y3RvclNwYWNlKCk7CkluZGV4OiBTb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy9qcy9KU0RPTUNvbnN0cnVjdG9yQmFzZS5oCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NQ29uc3RydWN0b3JCYXNlLmgJKHJldmlzaW9u
IDI4MDYyMykKKysrIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NQ29uc3RydWN0b3JC
YXNlLmgJKHdvcmtpbmcgY29weSkKQEAgLTIwLDE5ICsyMCwyMCBAQAogI3ByYWdtYSBvbmNlCiAK
ICNpbmNsdWRlICJKU0RPTVdyYXBwZXIuaCIKKyNpbmNsdWRlIDxKYXZhU2NyaXB0Q29yZS9JbnRl
cm5hbEZ1bmN0aW9uLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAorSlNDX0RFQ0xBUkVfSE9T
VF9GVU5DVElPTihjYWxsVGhyb3dUeXBlRXJyb3JGb3JKU0RPTUNvbnN0cnVjdG9yKTsKIEpTQ19E
RUNMQVJFX0hPU1RfRlVOQ1RJT04oY2FsbFRocm93VHlwZUVycm9yRm9ySlNET01Db25zdHJ1Y3Rv
ck5vdENvbnN0cnVjdGFibGUpOwogCi0vLyBCYXNlIGNsYXNzIGZvciBhbGwgY29uc3RydWN0b3Ig
b2JqZWN0cyBpbiB0aGUgSlNDIGJpbmRpbmdzLgotY2xhc3MgSlNET01Db25zdHJ1Y3RvckJhc2Ug
OiBwdWJsaWMgSlNET01PYmplY3QgeworLy8gQmFzZSBjbGFzcyBmb3IgYWxsIGNhbGxhYmxlIGNv
bnN0cnVjdG9yIG9iamVjdHMgaW4gdGhlIEpTQyBiaW5kaW5ncy4KK2NsYXNzIEpTRE9NQ29uc3Ry
dWN0b3JCYXNlIDogcHVibGljIEpTQzo6SW50ZXJuYWxGdW5jdGlvbiB7CiBwdWJsaWM6Ci0gICAg
dXNpbmcgQmFzZSA9IEpTRE9NT2JqZWN0OworICAgIHVzaW5nIEJhc2UgPSBJbnRlcm5hbEZ1bmN0
aW9uOwogCi0gICAgc3RhdGljIGNvbnN0ZXhwciB1bnNpZ25lZCBTdHJ1Y3R1cmVGbGFncyA9IEJh
c2U6OlN0cnVjdHVyZUZsYWdzIHwgSlNDOjpJbXBsZW1lbnRzSGFzSW5zdGFuY2UgfCBKU0M6Oklt
cGxlbWVudHNEZWZhdWx0SGFzSW5zdGFuY2UgfCBKU0M6Ok92ZXJyaWRlc0dldENhbGxEYXRhOwor
ICAgIHN0YXRpYyBjb25zdGV4cHIgdW5zaWduZWQgU3RydWN0dXJlRmxhZ3MgPSBCYXNlOjpTdHJ1
Y3R1cmVGbGFnczsKICAgICBzdGF0aWMgY29uc3RleHByIGJvb2wgbmVlZHNEZXN0cnVjdGlvbiA9
IGZhbHNlOwotICAgIHN0YXRpYyBKU0M6OlN0cnVjdHVyZSogY3JlYXRlU3RydWN0dXJlKEpTQzo6
Vk0mLCBKU0M6OkpTR2xvYmFsT2JqZWN0KiwgSlNDOjpKU1ZhbHVlKTsKIAogICAgIHRlbXBsYXRl
PHR5cGVuYW1lIENlbGxUeXBlLCBKU0M6OlN1YnNwYWNlQWNjZXNzPgogICAgIHN0YXRpYyBKU0M6
Oklzb1N1YnNwYWNlKiBzdWJzcGFjZUZvcihKU0M6OlZNJiB2bSkKQEAgLTQ1LDE4ICs0NiwxNiBA
QCBwdWJsaWM6CiAKICAgICBzdGF0aWMgSlNDOjpJc29TdWJzcGFjZSogc3Vic3BhY2VGb3JJbXBs
KEpTQzo6Vk0mKTsKIAorICAgIEpTRE9NR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QoKSBjb25z
dCB7IHJldHVybiBKU0M6OmpzQ2FzdDxKU0RPTUdsb2JhbE9iamVjdCo+KEJhc2U6Omdsb2JhbE9i
amVjdCgpKTsgfQorICAgIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIHNjcmlwdEV4ZWN1dGlvbkNv
bnRleHQoKSBjb25zdCB7IHJldHVybiBnbG9iYWxPYmplY3QoKS0+c2NyaXB0RXhlY3V0aW9uQ29u
dGV4dCgpOyB9CisKIHByb3RlY3RlZDoKLSAgICBKU0RPTUNvbnN0cnVjdG9yQmFzZShKU0M6OlN0
cnVjdHVyZSogc3RydWN0dXJlLCBKU0RPTUdsb2JhbE9iamVjdCYgZ2xvYmFsT2JqZWN0KQotICAg
ICAgICA6IEpTRE9NT2JqZWN0KHN0cnVjdHVyZSwgZ2xvYmFsT2JqZWN0KQorICAgIEpTRE9NQ29u
c3RydWN0b3JCYXNlKEpTQzo6Vk0mIHZtLCBKU0M6OlN0cnVjdHVyZSogc3RydWN0dXJlLCBKU0M6
Ok5hdGl2ZUZ1bmN0aW9uIGZ1bmN0aW9uRm9yQ29uc3RydWN0KQorICAgICAgICA6IEJhc2Uodm0s
IHN0cnVjdHVyZSwKKyAgICAgICAgICAgIGZ1bmN0aW9uRm9yQ29uc3RydWN0ID8gY2FsbFRocm93
VHlwZUVycm9yRm9ySlNET01Db25zdHJ1Y3RvciA6IGNhbGxUaHJvd1R5cGVFcnJvckZvckpTRE9N
Q29uc3RydWN0b3JOb3RDb25zdHJ1Y3RhYmxlLAorICAgICAgICAgICAgZnVuY3Rpb25Gb3JDb25z
dHJ1Y3QgPyBmdW5jdGlvbkZvckNvbnN0cnVjdCA6IGNhbGxUaHJvd1R5cGVFcnJvckZvckpTRE9N
Q29uc3RydWN0b3JOb3RDb25zdHJ1Y3RhYmxlKQogICAgIHsKICAgICB9Ci0KLSAgICBzdGF0aWMg
SlNDOjpDYWxsRGF0YSBnZXRDYWxsRGF0YShKU0M6OkpTQ2VsbCopOwogfTsKIAotaW5saW5lIEpT
Qzo6U3RydWN0dXJlKiBKU0RPTUNvbnN0cnVjdG9yQmFzZTo6Y3JlYXRlU3RydWN0dXJlKEpTQzo6
Vk0mIHZtLCBKU0M6OkpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIEpTQzo6SlNWYWx1ZSBw
cm90b3R5cGUpCi17Ci0gICAgcmV0dXJuIEpTQzo6U3RydWN0dXJlOjpjcmVhdGUodm0sIGdsb2Jh
bE9iamVjdCwgcHJvdG90eXBlLCBKU0M6OlR5cGVJbmZvKEpTQzo6T2JqZWN0VHlwZSwgU3RydWN0
dXJlRmxhZ3MpLCBpbmZvKCkpOwotfQotCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCkluZGV4OiBT
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTUNvbnN0cnVjdG9yTm90Q2FsbGFibGUuaAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTUNvbnN0cnVjdG9y
Tm90Q2FsbGFibGUuaAkocmV2aXNpb24gMjgwNjIzKQorKysgU291cmNlL1dlYkNvcmUvYmluZGlu
Z3MvanMvSlNET01Db25zdHJ1Y3Rvck5vdENhbGxhYmxlLmgJKHdvcmtpbmcgY29weSkKQEAgLTQ5
LDcgKzQ5LDcgQEAgcHVibGljOgogICAgICAgICBzdGF0aWNfYXNzZXJ0KHNpemVvZihDZWxsVHlw
ZSkgPT0gc2l6ZW9mKEpTRE9NQ29uc3RydWN0b3JOb3RDYWxsYWJsZSkpOwogICAgICAgICBTVEFU
SUNfQVNTRVJUX0lTT19TVUJTUEFDRV9TSEFSQUJMRShDZWxsVHlwZSwgSlNET01Db25zdHJ1Y3Rv
ck5vdENhbGxhYmxlKTsKICAgICAgICAgc3RhdGljX2Fzc2VydChDZWxsVHlwZTo6ZGVzdHJveSA9
PSBKU0M6OkpTQ2VsbDo6ZGVzdHJveSwgIkpTRE9NQ29uc3RydWN0b3JOb3RDYWxsYWJsZTxKU0Ns
YXNzPiBpcyBub3QgZGVzdHJ1Y3RpYmxlIGFjdHVhbGx5Iik7Ci0gICAgICAgIHJldHVybiAmc3Rh
dGljX2Nhc3Q8SlNWTUNsaWVudERhdGEqPih2bS5jbGllbnREYXRhKS0+ZG9tQ29uc3RydWN0b3JT
cGFjZSgpOworICAgICAgICByZXR1cm4gJnN0YXRpY19jYXN0PEpTVk1DbGllbnREYXRhKj4odm0u
Y2xpZW50RGF0YSktPmRvbU5hbWVzcGFjZU9iamVjdFNwYWNlKCk7CiAgICAgfQogCiBwcml2YXRl
OgpJbmRleDogU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01Db25zdHJ1Y3Rvck5vdENv
bnN0cnVjdGFibGUuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9K
U0RPTUNvbnN0cnVjdG9yTm90Q29uc3RydWN0YWJsZS5oCShyZXZpc2lvbiAyODA2MjMpCisrKyBT
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTUNvbnN0cnVjdG9yTm90Q29uc3RydWN0YWJs
ZS5oCSh3b3JraW5nIGNvcHkpCkBAIC0zNiw4ICszNiw4IEBAIHB1YmxpYzoKICAgICBzdGF0aWMg
SlNDOjpKU1ZhbHVlIHByb3RvdHlwZUZvclN0cnVjdHVyZShKU0M6OlZNJiwgY29uc3QgSlNET01H
bG9iYWxPYmplY3QmKTsKIAogcHJpdmF0ZToKLSAgICBKU0RPTUNvbnN0cnVjdG9yTm90Q29uc3Ry
dWN0YWJsZShKU0M6OlN0cnVjdHVyZSogc3RydWN0dXJlLCBKU0RPTUdsb2JhbE9iamVjdCYgZ2xv
YmFsT2JqZWN0KQotICAgICAgICA6IEJhc2Uoc3RydWN0dXJlLCBnbG9iYWxPYmplY3QpCisgICAg
SlNET01Db25zdHJ1Y3Rvck5vdENvbnN0cnVjdGFibGUoSlNDOjpWTSYgdm0sIEpTQzo6U3RydWN0
dXJlKiBzdHJ1Y3R1cmUpCisgICAgICAgIDogQmFzZSh2bSwgc3RydWN0dXJlLCBudWxscHRyKQog
ICAgIHsKICAgICB9CiAKQEAgLTQ1LDM0ICs0NSwxOCBAQCBwcml2YXRlOgogCiAgICAgLy8gVXN1
YWxseSBkZWZpbmVkIGZvciBlYWNoIHNwZWNpYWxpemF0aW9uIGNsYXNzLgogICAgIHZvaWQgaW5p
dGlhbGl6ZVByb3BlcnRpZXMoSlNDOjpWTSYsIEpTRE9NR2xvYmFsT2JqZWN0JikgeyB9Ci0KLSAg
ICBzdGF0aWMgSlNDOjpDYWxsRGF0YSBnZXRDYWxsRGF0YShKU0M6OkpTQ2VsbCopCi0gICAgewot
ICAgICAgICBKU0M6OkNhbGxEYXRhIGNhbGxEYXRhOwotICAgICAgICBjYWxsRGF0YS50eXBlID0g
SlNDOjpDYWxsRGF0YTo6VHlwZTo6TmF0aXZlOwotICAgICAgICBjYWxsRGF0YS5uYXRpdmUuZnVu
Y3Rpb24gPSBjYWxsVGhyb3dUeXBlRXJyb3JGb3JKU0RPTUNvbnN0cnVjdG9yTm90Q29uc3RydWN0
YWJsZTsKLSAgICAgICAgcmV0dXJuIGNhbGxEYXRhOwotICAgIH0KLQotICAgIHN0YXRpYyBKU0M6
OkNhbGxEYXRhIGdldENvbnN0cnVjdERhdGEoSlNDOjpKU0NlbGwqKQotICAgIHsKLSAgICAgICAg
SlNDOjpDYWxsRGF0YSBjYWxsRGF0YTsKLSAgICAgICAgY2FsbERhdGEudHlwZSA9IEpTQzo6Q2Fs
bERhdGE6OlR5cGU6Ok5hdGl2ZTsKLSAgICAgICAgY2FsbERhdGEubmF0aXZlLmZ1bmN0aW9uID0g
Y2FsbFRocm93VHlwZUVycm9yRm9ySlNET01Db25zdHJ1Y3Rvck5vdENvbnN0cnVjdGFibGU7Ci0g
ICAgICAgIHJldHVybiBjYWxsRGF0YTsKLSAgICB9CiB9OwogCiB0ZW1wbGF0ZTx0eXBlbmFtZSBK
U0NsYXNzPiBpbmxpbmUgSlNET01Db25zdHJ1Y3Rvck5vdENvbnN0cnVjdGFibGU8SlNDbGFzcz4q
IEpTRE9NQ29uc3RydWN0b3JOb3RDb25zdHJ1Y3RhYmxlPEpTQ2xhc3M+OjpjcmVhdGUoSlNDOjpW
TSYgdm0sIEpTQzo6U3RydWN0dXJlKiBzdHJ1Y3R1cmUsIEpTRE9NR2xvYmFsT2JqZWN0JiBnbG9i
YWxPYmplY3QpCiB7Ci0gICAgSlNET01Db25zdHJ1Y3Rvck5vdENvbnN0cnVjdGFibGUqIGNvbnN0
cnVjdG9yID0gbmV3IChOb3ROdWxsLCBKU0M6OmFsbG9jYXRlQ2VsbDxKU0RPTUNvbnN0cnVjdG9y
Tm90Q29uc3RydWN0YWJsZT4odm0uaGVhcCkpIEpTRE9NQ29uc3RydWN0b3JOb3RDb25zdHJ1Y3Rh
YmxlKHN0cnVjdHVyZSwgZ2xvYmFsT2JqZWN0KTsKKyAgICBKU0RPTUNvbnN0cnVjdG9yTm90Q29u
c3RydWN0YWJsZSogY29uc3RydWN0b3IgPSBuZXcgKE5vdE51bGwsIEpTQzo6YWxsb2NhdGVDZWxs
PEpTRE9NQ29uc3RydWN0b3JOb3RDb25zdHJ1Y3RhYmxlPih2bS5oZWFwKSkgSlNET01Db25zdHJ1
Y3Rvck5vdENvbnN0cnVjdGFibGUodm0sIHN0cnVjdHVyZSk7CiAgICAgY29uc3RydWN0b3ItPmZp
bmlzaENyZWF0aW9uKHZtLCBnbG9iYWxPYmplY3QpOwogICAgIHJldHVybiBjb25zdHJ1Y3RvcjsK
IH0KIAogdGVtcGxhdGU8dHlwZW5hbWUgSlNDbGFzcz4gaW5saW5lIEpTQzo6U3RydWN0dXJlKiBK
U0RPTUNvbnN0cnVjdG9yTm90Q29uc3RydWN0YWJsZTxKU0NsYXNzPjo6Y3JlYXRlU3RydWN0dXJl
KEpTQzo6Vk0mIHZtLCBKU0M6OkpTR2xvYmFsT2JqZWN0JiBnbG9iYWxPYmplY3QsIEpTQzo6SlNW
YWx1ZSBwcm90b3R5cGUpCiB7Ci0gICAgcmV0dXJuIEpTQzo6U3RydWN0dXJlOjpjcmVhdGUodm0s
ICZnbG9iYWxPYmplY3QsIHByb3RvdHlwZSwgSlNDOjpUeXBlSW5mbyhKU0M6Ok9iamVjdFR5cGUs
IFN0cnVjdHVyZUZsYWdzKSwgaW5mbygpKTsKKyAgICByZXR1cm4gSlNDOjpTdHJ1Y3R1cmU6OmNy
ZWF0ZSh2bSwgJmdsb2JhbE9iamVjdCwgcHJvdG90eXBlLCBKU0M6OlR5cGVJbmZvKEpTQzo6SW50
ZXJuYWxGdW5jdGlvblR5cGUsIFN0cnVjdHVyZUZsYWdzKSwgaW5mbygpKTsKIH0KIAogdGVtcGxh
dGU8dHlwZW5hbWUgSlNDbGFzcz4gaW5saW5lIHZvaWQgSlNET01Db25zdHJ1Y3Rvck5vdENvbnN0
cnVjdGFibGU8SlNDbGFzcz46OmZpbmlzaENyZWF0aW9uKEpTQzo6Vk0mIHZtLCBKU0RPTUdsb2Jh
bE9iamVjdCYgZ2xvYmFsT2JqZWN0KQpJbmRleDogU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMv
SlNET01Db25zdHJ1Y3RvcldpdGhEb2N1bWVudC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL2pzL0pTRE9NQ29uc3RydWN0b3JXaXRoRG9jdW1lbnQuaAkocmV2aXNpb24g
MjgwNjIzKQorKysgU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01Db25zdHJ1Y3Rvcldp
dGhEb2N1bWVudC5oCSh3b3JraW5nIGNvcHkpCkBAIC0zNiw4ICszNiw4IEBAIHB1YmxpYzoKICAg
ICB9CiAKIHByb3RlY3RlZDoKLSAgICBKU0RPTUNvbnN0cnVjdG9yV2l0aERvY3VtZW50KEpTQzo6
U3RydWN0dXJlKiBzdHJ1Y3R1cmUsIEpTRE9NR2xvYmFsT2JqZWN0JiBnbG9iYWxPYmplY3QpCi0g
ICAgICAgIDogSlNET01Db25zdHJ1Y3RvckJhc2Uoc3RydWN0dXJlLCBnbG9iYWxPYmplY3QpCisg
ICAgSlNET01Db25zdHJ1Y3RvcldpdGhEb2N1bWVudChKU0M6OlZNJiB2bSwgSlNDOjpTdHJ1Y3R1
cmUqIHN0cnVjdHVyZSwgSlNDOjpOYXRpdmVGdW5jdGlvbiBmdW5jdGlvbkZvckNvbnN0cnVjdCkK
KyAgICAgICAgOiBCYXNlKHZtLCBzdHJ1Y3R1cmUsIGZ1bmN0aW9uRm9yQ29uc3RydWN0KQogICAg
IHsKICAgICB9CiAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NTGVnYWN5
RmFjdG9yeUZ1bmN0aW9uLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
anMvSlNET01MZWdhY3lGYWN0b3J5RnVuY3Rpb24uaAkocmV2aXNpb24gMjgwNjIzKQorKysgU291
cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01MZWdhY3lGYWN0b3J5RnVuY3Rpb24uaAkod29y
a2luZyBjb3B5KQpAQCAtMjMsNyArMjMsNyBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLS8v
IEZJTVhFOiBXaHkgY2FuJ3QgTGVnYWN5RmFjdG9yeUZ1bmN0aW9ucyBiZSB1c2VkIHdpdGggd29y
a2Vycz8KKy8vIEFsbCBsZWdhY3kgZmFjdG9yeSBmdW5jdGlvbnMgYXJlIGV4cG9zZWQgb24gV2lu
ZG93IG9ubHksIHdoaWxlIGF1dGhvcnMgYXJlIGFkdmlzZWQgYWdhaW5zdCBhZGRpbmcgbmV3IG9u
ZXMuCiB0ZW1wbGF0ZTx0eXBlbmFtZSBKU0NsYXNzPiBjbGFzcyBKU0RPTUxlZ2FjeUZhY3RvcnlG
dW5jdGlvbiBmaW5hbCA6IHB1YmxpYyBKU0RPTUNvbnN0cnVjdG9yV2l0aERvY3VtZW50IHsKIHB1
YmxpYzoKICAgICB1c2luZyBCYXNlID0gSlNET01Db25zdHJ1Y3RvcldpdGhEb2N1bWVudDsKQEAg
LTQwLDEzICs0MCwxMiBAQCBwdWJsaWM6CiAgICAgc3RhdGljIEpTQzo6RW5jb2RlZEpTVmFsdWUg
SlNDX0hPU1RfQ0FMTF9BVFRSSUJVVEVTIGNvbnN0cnVjdChKU0M6OkpTR2xvYmFsT2JqZWN0Kiwg
SlNDOjpDYWxsRnJhbWUqKTsKIAogcHJpdmF0ZToKLSAgICBKU0RPTUxlZ2FjeUZhY3RvcnlGdW5j
dGlvbihKU0M6OlN0cnVjdHVyZSogc3RydWN0dXJlLCBKU0RPTUdsb2JhbE9iamVjdCYgZ2xvYmFs
T2JqZWN0KQotICAgICAgICA6IEJhc2Uoc3RydWN0dXJlLCBnbG9iYWxPYmplY3QpCisgICAgSlNE
T01MZWdhY3lGYWN0b3J5RnVuY3Rpb24oSlNDOjpWTSYgdm0sIEpTQzo6U3RydWN0dXJlKiBzdHJ1
Y3R1cmUpCisgICAgICAgIDogQmFzZSh2bSwgc3RydWN0dXJlLCBjb25zdHJ1Y3QpCiAgICAgeyAK
ICAgICB9CiAKICAgICB2b2lkIGZpbmlzaENyZWF0aW9uKEpTQzo6Vk0mLCBKU0RPTUdsb2JhbE9i
amVjdCYpOwotICAgIHN0YXRpYyBKU0M6OkNhbGxEYXRhIGdldENvbnN0cnVjdERhdGEoSlNDOjpK
U0NlbGwqKTsKIAogICAgIC8vIFVzdWFsbHkgZGVmaW5lZCBmb3IgZWFjaCBzcGVjaWFsaXphdGlv
biBjbGFzcy4KICAgICB2b2lkIGluaXRpYWxpemVQcm9wZXJ0aWVzKEpTQzo6Vk0mLCBKU0RPTUds
b2JhbE9iamVjdCYpIHsgfQpAQCAtNTQsMTQgKzUzLDE0IEBAIHByaXZhdGU6CiAKIHRlbXBsYXRl
PHR5cGVuYW1lIEpTQ2xhc3M+IGlubGluZSBKU0RPTUxlZ2FjeUZhY3RvcnlGdW5jdGlvbjxKU0Ns
YXNzPiogSlNET01MZWdhY3lGYWN0b3J5RnVuY3Rpb248SlNDbGFzcz46OmNyZWF0ZShKU0M6OlZN
JiB2bSwgSlNDOjpTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwgSlNET01HbG9iYWxPYmplY3QmIGdsb2Jh
bE9iamVjdCkKIHsKLSAgICBKU0RPTUxlZ2FjeUZhY3RvcnlGdW5jdGlvbiogY29uc3RydWN0b3Ig
PSBuZXcgKE5vdE51bGwsIEpTQzo6YWxsb2NhdGVDZWxsPEpTRE9NTGVnYWN5RmFjdG9yeUZ1bmN0
aW9uPih2bS5oZWFwKSkgSlNET01MZWdhY3lGYWN0b3J5RnVuY3Rpb24oc3RydWN0dXJlLCBnbG9i
YWxPYmplY3QpOworICAgIEpTRE9NTGVnYWN5RmFjdG9yeUZ1bmN0aW9uKiBjb25zdHJ1Y3RvciA9
IG5ldyAoTm90TnVsbCwgSlNDOjphbGxvY2F0ZUNlbGw8SlNET01MZWdhY3lGYWN0b3J5RnVuY3Rp
b24+KHZtLmhlYXApKSBKU0RPTUxlZ2FjeUZhY3RvcnlGdW5jdGlvbih2bSwgc3RydWN0dXJlKTsK
ICAgICBjb25zdHJ1Y3Rvci0+ZmluaXNoQ3JlYXRpb24odm0sIGdsb2JhbE9iamVjdCk7CiAgICAg
cmV0dXJuIGNvbnN0cnVjdG9yOwogfQogCiB0ZW1wbGF0ZTx0eXBlbmFtZSBKU0NsYXNzPiBpbmxp
bmUgSlNDOjpTdHJ1Y3R1cmUqIEpTRE9NTGVnYWN5RmFjdG9yeUZ1bmN0aW9uPEpTQ2xhc3M+Ojpj
cmVhdGVTdHJ1Y3R1cmUoSlNDOjpWTSYgdm0sIEpTQzo6SlNHbG9iYWxPYmplY3QmIGdsb2JhbE9i
amVjdCwgSlNDOjpKU1ZhbHVlIHByb3RvdHlwZSkKIHsKLSAgICByZXR1cm4gSlNDOjpTdHJ1Y3R1
cmU6OmNyZWF0ZSh2bSwgJmdsb2JhbE9iamVjdCwgcHJvdG90eXBlLCBKU0M6OlR5cGVJbmZvKEpT
Qzo6T2JqZWN0VHlwZSwgU3RydWN0dXJlRmxhZ3MpLCBpbmZvKCkpOworICAgIHJldHVybiBKU0M6
OlN0cnVjdHVyZTo6Y3JlYXRlKHZtLCAmZ2xvYmFsT2JqZWN0LCBwcm90b3R5cGUsIEpTQzo6VHlw
ZUluZm8oSlNDOjpJbnRlcm5hbEZ1bmN0aW9uVHlwZSwgU3RydWN0dXJlRmxhZ3MpLCBpbmZvKCkp
OwogfQogCiB0ZW1wbGF0ZTx0eXBlbmFtZSBKU0NsYXNzPiBpbmxpbmUgdm9pZCBKU0RPTUxlZ2Fj
eUZhY3RvcnlGdW5jdGlvbjxKU0NsYXNzPjo6ZmluaXNoQ3JlYXRpb24oSlNDOjpWTSYgdm0sIEpT
RE9NR2xvYmFsT2JqZWN0JiBnbG9iYWxPYmplY3QpCkBAIC03MSwxMiArNzAsNCBAQCB0ZW1wbGF0
ZTx0eXBlbmFtZSBKU0NsYXNzPiBpbmxpbmUgdm9pZCBKCiAgICAgaW5pdGlhbGl6ZVByb3BlcnRp
ZXModm0sIGdsb2JhbE9iamVjdCk7CiB9CiAKLXRlbXBsYXRlPHR5cGVuYW1lIEpTQ2xhc3M+IGlu
bGluZSBKU0M6OkNhbGxEYXRhIEpTRE9NTGVnYWN5RmFjdG9yeUZ1bmN0aW9uPEpTQ2xhc3M+Ojpn
ZXRDb25zdHJ1Y3REYXRhKEpTQzo6SlNDZWxsKikKLXsKLSAgICBKU0M6OkNhbGxEYXRhIGNvbnN0
cnVjdERhdGE7Ci0gICAgY29uc3RydWN0RGF0YS50eXBlID0gSlNDOjpDYWxsRGF0YTo6VHlwZTo6
TmF0aXZlOwotICAgIGNvbnN0cnVjdERhdGEubmF0aXZlLmZ1bmN0aW9uID0gY29uc3RydWN0Owot
ICAgIHJldHVybiBjb25zdHJ1Y3REYXRhOwotfQotCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCklu
ZGV4OiBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9XZWJDb3JlSlNDbGllbnREYXRhLmNwcAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9XZWJDb3JlSlNDbGllbnRE
YXRhLmNwcAkocmV2aXNpb24gMjgwNjIzKQorKysgU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMv
V2ViQ29yZUpTQ2xpZW50RGF0YS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTc5LDYgKzc5LDcgQEAg
SlNWTUNsaWVudERhdGE6OkpTVk1DbGllbnREYXRhKFZNJiB2bSkKICAgICAsIG1faGVhcENlbGxU
eXBlRm9ySlNJREJTZXJpYWxpemF0aW9uR2xvYmFsT2JqZWN0KEpTQzo6SXNvSGVhcENlbGxUeXBl
OjpjcmVhdGU8SlNJREJTZXJpYWxpemF0aW9uR2xvYmFsT2JqZWN0PigpKQogICAgICwgbV9kb21C
dWlsdGluQ29uc3RydWN0b3JTcGFjZSBJU09fU1VCU1BBQ0VfSU5JVCh2bS5oZWFwLCB2bS5jZWxs
SGVhcENlbGxUeXBlLmdldCgpLCBKU0RPTUJ1aWx0aW5Db25zdHJ1Y3RvckJhc2UpCiAgICAgLCBt
X2RvbUNvbnN0cnVjdG9yU3BhY2UgSVNPX1NVQlNQQUNFX0lOSVQodm0uaGVhcCwgdm0uY2VsbEhl
YXBDZWxsVHlwZS5nZXQoKSwgSlNET01Db25zdHJ1Y3RvckJhc2UpCisgICAgLCBtX2RvbU5hbWVz
cGFjZU9iamVjdFNwYWNlIElTT19TVUJTUEFDRV9JTklUKHZtLmhlYXAsIHZtLmNlbGxIZWFwQ2Vs
bFR5cGUuZ2V0KCksIEpTRE9NT2JqZWN0KQogICAgICwgbV9kb21XaW5kb3dQcm9wZXJ0aWVzU3Bh
Y2UgSVNPX1NVQlNQQUNFX0lOSVQodm0uaGVhcCwgdm0uY2VsbEhlYXBDZWxsVHlwZS5nZXQoKSwg
SlNET01XaW5kb3dQcm9wZXJ0aWVzKQogICAgICwgbV9ydW50aW1lQXJyYXlTcGFjZSBJU09fU1VC
U1BBQ0VfSU5JVCh2bS5oZWFwLCBtX3J1bnRpbWVBcnJheUhlYXBDZWxsVHlwZS5nZXQoKSwgUnVu
dGltZUFycmF5KQogICAgICwgbV9ydW50aW1lTWV0aG9kU3BhY2UgSVNPX1NVQlNQQUNFX0lOSVQo
dm0uaGVhcCwgdm0uY2VsbEhlYXBDZWxsVHlwZS5nZXQoKSwgUnVudGltZU1ldGhvZCkgLy8gSGFz
aDoweGY3MGM0YTg1CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9XZWJDb3JlSlND
bGllbnREYXRhLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvV2Vi
Q29yZUpTQ2xpZW50RGF0YS5oCShyZXZpc2lvbiAyODA2MjMpCisrKyBTb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy9qcy9XZWJDb3JlSlNDbGllbnREYXRhLmgJKHdvcmtpbmcgY29weSkKQEAgLTY0LDYg
KzY0LDcgQEAgcHVibGljOgogICAgIAogICAgIEpTQzo6SXNvU3Vic3BhY2UmIGRvbUJ1aWx0aW5D
b25zdHJ1Y3RvclNwYWNlKCkgeyByZXR1cm4gbV9kb21CdWlsdGluQ29uc3RydWN0b3JTcGFjZTsg
fQogICAgIEpTQzo6SXNvU3Vic3BhY2UmIGRvbUNvbnN0cnVjdG9yU3BhY2UoKSB7IHJldHVybiBt
X2RvbUNvbnN0cnVjdG9yU3BhY2U7IH0KKyAgICBKU0M6Oklzb1N1YnNwYWNlJiBkb21OYW1lc3Bh
Y2VPYmplY3RTcGFjZSgpIHsgcmV0dXJuIG1fZG9tTmFtZXNwYWNlT2JqZWN0U3BhY2U7IH0KICAg
ICBKU0M6Oklzb1N1YnNwYWNlJiBkb21XaW5kb3dQcm9wZXJ0aWVzU3BhY2UoKSB7IHJldHVybiBt
X2RvbVdpbmRvd1Byb3BlcnRpZXNTcGFjZTsgfQogICAgIEpTQzo6SXNvU3Vic3BhY2UmIHJ1bnRp
bWVBcnJheVNwYWNlKCkgeyByZXR1cm4gbV9ydW50aW1lQXJyYXlTcGFjZTsgfQogICAgIEpTQzo6
SXNvU3Vic3BhY2UmIHJ1bnRpbWVNZXRob2RTcGFjZSgpIHsgcmV0dXJuIG1fcnVudGltZU1ldGhv
ZFNwYWNlOyB9CkBAIC0xMTIsNiArMTEzLDcgQEAgcHVibGljOgogcHJpdmF0ZToKICAgICBKU0M6
Oklzb1N1YnNwYWNlIG1fZG9tQnVpbHRpbkNvbnN0cnVjdG9yU3BhY2U7CiAgICAgSlNDOjpJc29T
dWJzcGFjZSBtX2RvbUNvbnN0cnVjdG9yU3BhY2U7CisgICAgSlNDOjpJc29TdWJzcGFjZSBtX2Rv
bU5hbWVzcGFjZU9iamVjdFNwYWNlOwogICAgIEpTQzo6SXNvU3Vic3BhY2UgbV9kb21XaW5kb3dQ
cm9wZXJ0aWVzU3BhY2U7CiAgICAgSlNDOjpJc29TdWJzcGFjZSBtX3J1bnRpbWVBcnJheVNwYWNl
OwogICAgIEpTQzo6SXNvU3Vic3BhY2UgbV9ydW50aW1lTWV0aG9kU3BhY2U7CkluZGV4OiBTb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JKUy5wbQo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JKUy5wbQko
cmV2aXNpb24gMjgwNjIzKQorKysgU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9Db2Rl
R2VuZXJhdG9ySlMucG0JKHdvcmtpbmcgY29weSkKQEAgLTc4MTQsNyArNzgxNCwxMSBAQCBzdWIg
R2VuZXJhdGVDb25zdHJ1Y3RvckhlbHBlck1ldGhvZHMKICAgICB9CiAKICAgICBhc3NlcnQoImpz
Tm9udHJpdmlhbFN0cmluZygpIHJlcXVpcmVzIHN0cmluZ3MgdHdvIG9yIG1vcmUgY2hhcmFjdGVy
cyBsb25nIikgaWYgbGVuZ3RoKCR2aXNpYmxlSW50ZXJmYWNlTmFtZSkgPCAyOwotICAgIHB1c2go
QCRvdXRwdXRBcnJheSwgIiAgICBwdXREaXJlY3Qodm0sIHZtLnByb3BlcnR5TmFtZXMtPm5hbWUs
IGpzTm9udHJpdmlhbFN0cmluZyh2bSwgXCIkdmlzaWJsZUludGVyZmFjZU5hbWVcIl9zKSwgSlND
OjpQcm9wZXJ0eUF0dHJpYnV0ZTo6UmVhZE9ubHkgfCBKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpE
b250RW51bSk7XG4iKSBpZiAhJGludGVyZmFjZS0+aXNOYW1lc3BhY2VPYmplY3Q7CisgICAgaWYg
KCEkaW50ZXJmYWNlLT5pc05hbWVzcGFjZU9iamVjdCkgeworICAgICAgICBwdXNoKEAkb3V0cHV0
QXJyYXksICIgICAgSlNTdHJpbmcqIG5hbWVTdHJpbmcgPSBqc05vbnRyaXZpYWxTdHJpbmcodm0s
IFwiJHZpc2libGVJbnRlcmZhY2VOYW1lXCJfcyk7XG4iKTsKKyAgICAgICAgcHVzaChAJG91dHB1
dEFycmF5LCAiICAgIG1fb3JpZ2luYWxOYW1lLnNldCh2bSwgdGhpcywgbmFtZVN0cmluZyk7XG4i
KTsKKyAgICAgICAgcHVzaChAJG91dHB1dEFycmF5LCAiICAgIHB1dERpcmVjdCh2bSwgdm0ucHJv
cGVydHlOYW1lcy0+bmFtZSwgbmFtZVN0cmluZywgSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6UmVh
ZE9ubHkgfCBKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpEb250RW51bSk7XG4iKTsKKyAgICB9CiAK
ICAgICBpZiAoJGludGVyZmFjZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57TGVnYWN5RmFjdG9yeUZ1
bmN0aW9uRW5hYmxlZEJ5U2V0dGluZ30pIHsKICAgICAgICAgbXkgJHJ1bnRpbWVFbmFibGVDb25k
aXRpb25hbFN0cmluZyA9IEdlbmVyYXRlUnVudGltZUVuYWJsZUNvbmRpdGlvbmFsU3RyaW5nKCRp
bnRlcmZhY2UsICRpbnRlcmZhY2UsICImZ2xvYmFsT2JqZWN0Iik7CkluZGV4OiBTb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNET01XaW5kb3cuY3BwCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU0RPTVdpbmRvdy5j
cHAJKHJldmlzaW9uIDI4MDYyMykKKysrIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMv
dGVzdC9KUy9KU0RPTVdpbmRvdy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTE1Myw3ICsxNTMsOSBA
QCB0ZW1wbGF0ZTw+IEpTVmFsdWUgSlNET01XaW5kb3dET01Db25zdHJ1CiB0ZW1wbGF0ZTw+IHZv
aWQgSlNET01XaW5kb3dET01Db25zdHJ1Y3Rvcjo6aW5pdGlhbGl6ZVByb3BlcnRpZXMoVk0mIHZt
LCBKU0RPTUdsb2JhbE9iamVjdCYgZ2xvYmFsT2JqZWN0KQogewogICAgIHB1dERpcmVjdCh2bSwg
dm0ucHJvcGVydHlOYW1lcy0+cHJvdG90eXBlLCBnbG9iYWxPYmplY3QuZ2V0UHJvdG90eXBlRGly
ZWN0KHZtKSwgSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9udERlbGV0ZSB8IEpTQzo6UHJvcGVy
dHlBdHRyaWJ1dGU6OlJlYWRPbmx5IHwgSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9udEVudW0p
OwotICAgIHB1dERpcmVjdCh2bSwgdm0ucHJvcGVydHlOYW1lcy0+bmFtZSwganNOb250cml2aWFs
U3RyaW5nKHZtLCAiRE9NV2luZG93Il9zKSwgSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6UmVhZE9u
bHkgfCBKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpEb250RW51bSk7CisgICAgSlNTdHJpbmcqIG5h
bWVTdHJpbmcgPSBqc05vbnRyaXZpYWxTdHJpbmcodm0sICJET01XaW5kb3ciX3MpOworICAgIG1f
b3JpZ2luYWxOYW1lLnNldCh2bSwgdGhpcywgbmFtZVN0cmluZyk7CisgICAgcHV0RGlyZWN0KHZt
LCB2bS5wcm9wZXJ0eU5hbWVzLT5uYW1lLCBuYW1lU3RyaW5nLCBKU0M6OlByb3BlcnR5QXR0cmli
dXRlOjpSZWFkT25seSB8IEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OkRvbnRFbnVtKTsKICAgICBw
dXREaXJlY3Qodm0sIHZtLnByb3BlcnR5TmFtZXMtPmxlbmd0aCwganNOdW1iZXIoMCksIEpTQzo6
UHJvcGVydHlBdHRyaWJ1dGU6OlJlYWRPbmx5IHwgSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9u
dEVudW0pOwogfQogCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3Qv
SlMvSlNEZWRpY2F0ZWRXb3JrZXJHbG9iYWxTY29wZS5jcHAKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTRGVkaWNhdGVkV29ya2VyR2xvYmFs
U2NvcGUuY3BwCShyZXZpc2lvbiAyODA2MjMpCisrKyBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9z
Y3JpcHRzL3Rlc3QvSlMvSlNEZWRpY2F0ZWRXb3JrZXJHbG9iYWxTY29wZS5jcHAJKHdvcmtpbmcg
Y29weSkKQEAgLTc3LDcgKzc3LDkgQEAgdGVtcGxhdGU8PiBKU1ZhbHVlIEpTRGVkaWNhdGVkV29y
a2VyR2xvYgogdGVtcGxhdGU8PiB2b2lkIEpTRGVkaWNhdGVkV29ya2VyR2xvYmFsU2NvcGVET01D
b25zdHJ1Y3Rvcjo6aW5pdGlhbGl6ZVByb3BlcnRpZXMoVk0mIHZtLCBKU0RPTUdsb2JhbE9iamVj
dCYgZ2xvYmFsT2JqZWN0KQogewogICAgIHB1dERpcmVjdCh2bSwgdm0ucHJvcGVydHlOYW1lcy0+
cHJvdG90eXBlLCBnbG9iYWxPYmplY3QuZ2V0UHJvdG90eXBlRGlyZWN0KHZtKSwgSlNDOjpQcm9w
ZXJ0eUF0dHJpYnV0ZTo6RG9udERlbGV0ZSB8IEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OlJlYWRP
bmx5IHwgSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9udEVudW0pOwotICAgIHB1dERpcmVjdCh2
bSwgdm0ucHJvcGVydHlOYW1lcy0+bmFtZSwganNOb250cml2aWFsU3RyaW5nKHZtLCAiRGVkaWNh
dGVkV29ya2VyR2xvYmFsU2NvcGUiX3MpLCBKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpSZWFkT25s
eSB8IEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OkRvbnRFbnVtKTsKKyAgICBKU1N0cmluZyogbmFt
ZVN0cmluZyA9IGpzTm9udHJpdmlhbFN0cmluZyh2bSwgIkRlZGljYXRlZFdvcmtlckdsb2JhbFNj
b3BlIl9zKTsKKyAgICBtX29yaWdpbmFsTmFtZS5zZXQodm0sIHRoaXMsIG5hbWVTdHJpbmcpOwor
ICAgIHB1dERpcmVjdCh2bSwgdm0ucHJvcGVydHlOYW1lcy0+bmFtZSwgbmFtZVN0cmluZywgSlND
OjpQcm9wZXJ0eUF0dHJpYnV0ZTo6UmVhZE9ubHkgfCBKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpE
b250RW51bSk7CiAgICAgcHV0RGlyZWN0KHZtLCB2bS5wcm9wZXJ0eU5hbWVzLT5sZW5ndGgsIGpz
TnVtYmVyKDApLCBKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpSZWFkT25seSB8IEpTQzo6UHJvcGVy
dHlBdHRyaWJ1dGU6OkRvbnRFbnVtKTsKIH0KIApJbmRleDogU291cmNlL1dlYkNvcmUvYmluZGlu
Z3Mvc2NyaXB0cy90ZXN0L0pTL0pTRXhwb3NlZFRvV29ya2VyQW5kV2luZG93LmNwcAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNFeHBvc2Vk
VG9Xb3JrZXJBbmRXaW5kb3cuY3BwCShyZXZpc2lvbiAyODA2MjMpCisrKyBTb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNFeHBvc2VkVG9Xb3JrZXJBbmRXaW5kb3cuY3Bw
CSh3b3JraW5nIGNvcHkpCkBAIC0xNTksNyArMTU5LDkgQEAgdGVtcGxhdGU8PiBKU1ZhbHVlIEpT
RXhwb3NlZFRvV29ya2VyQW5kVwogdGVtcGxhdGU8PiB2b2lkIEpTRXhwb3NlZFRvV29ya2VyQW5k
V2luZG93RE9NQ29uc3RydWN0b3I6OmluaXRpYWxpemVQcm9wZXJ0aWVzKFZNJiB2bSwgSlNET01H
bG9iYWxPYmplY3QmIGdsb2JhbE9iamVjdCkKIHsKICAgICBwdXREaXJlY3Qodm0sIHZtLnByb3Bl
cnR5TmFtZXMtPnByb3RvdHlwZSwgSlNFeHBvc2VkVG9Xb3JrZXJBbmRXaW5kb3c6OnByb3RvdHlw
ZSh2bSwgZ2xvYmFsT2JqZWN0KSwgSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9udERlbGV0ZSB8
IEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OlJlYWRPbmx5IHwgSlNDOjpQcm9wZXJ0eUF0dHJpYnV0
ZTo6RG9udEVudW0pOwotICAgIHB1dERpcmVjdCh2bSwgdm0ucHJvcGVydHlOYW1lcy0+bmFtZSwg
anNOb250cml2aWFsU3RyaW5nKHZtLCAiRXhwb3NlZFRvV29ya2VyQW5kV2luZG93Il9zKSwgSlND
OjpQcm9wZXJ0eUF0dHJpYnV0ZTo6UmVhZE9ubHkgfCBKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpE
b250RW51bSk7CisgICAgSlNTdHJpbmcqIG5hbWVTdHJpbmcgPSBqc05vbnRyaXZpYWxTdHJpbmco
dm0sICJFeHBvc2VkVG9Xb3JrZXJBbmRXaW5kb3ciX3MpOworICAgIG1fb3JpZ2luYWxOYW1lLnNl
dCh2bSwgdGhpcywgbmFtZVN0cmluZyk7CisgICAgcHV0RGlyZWN0KHZtLCB2bS5wcm9wZXJ0eU5h
bWVzLT5uYW1lLCBuYW1lU3RyaW5nLCBKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpSZWFkT25seSB8
IEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OkRvbnRFbnVtKTsKICAgICBwdXREaXJlY3Qodm0sIHZt
LnByb3BlcnR5TmFtZXMtPmxlbmd0aCwganNOdW1iZXIoMCksIEpTQzo6UHJvcGVydHlBdHRyaWJ1
dGU6OlJlYWRPbmx5IHwgSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9udEVudW0pOwogfQogCklu
ZGV4OiBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNQYWludFdvcmts
ZXRHbG9iYWxTY29wZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
c2NyaXB0cy90ZXN0L0pTL0pTUGFpbnRXb3JrbGV0R2xvYmFsU2NvcGUuY3BwCShyZXZpc2lvbiAy
ODA2MjMpCisrKyBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNQYWlu
dFdvcmtsZXRHbG9iYWxTY29wZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTc3LDcgKzc3LDkgQEAg
dGVtcGxhdGU8PiBKU1ZhbHVlIEpTUGFpbnRXb3JrbGV0R2xvYmFsUwogdGVtcGxhdGU8PiB2b2lk
IEpTUGFpbnRXb3JrbGV0R2xvYmFsU2NvcGVET01Db25zdHJ1Y3Rvcjo6aW5pdGlhbGl6ZVByb3Bl
cnRpZXMoVk0mIHZtLCBKU0RPTUdsb2JhbE9iamVjdCYgZ2xvYmFsT2JqZWN0KQogewogICAgIHB1
dERpcmVjdCh2bSwgdm0ucHJvcGVydHlOYW1lcy0+cHJvdG90eXBlLCBnbG9iYWxPYmplY3QuZ2V0
UHJvdG90eXBlRGlyZWN0KHZtKSwgSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9udERlbGV0ZSB8
IEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OlJlYWRPbmx5IHwgSlNDOjpQcm9wZXJ0eUF0dHJpYnV0
ZTo6RG9udEVudW0pOwotICAgIHB1dERpcmVjdCh2bSwgdm0ucHJvcGVydHlOYW1lcy0+bmFtZSwg
anNOb250cml2aWFsU3RyaW5nKHZtLCAiUGFpbnRXb3JrbGV0R2xvYmFsU2NvcGUiX3MpLCBKU0M6
OlByb3BlcnR5QXR0cmlidXRlOjpSZWFkT25seSB8IEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OkRv
bnRFbnVtKTsKKyAgICBKU1N0cmluZyogbmFtZVN0cmluZyA9IGpzTm9udHJpdmlhbFN0cmluZyh2
bSwgIlBhaW50V29ya2xldEdsb2JhbFNjb3BlIl9zKTsKKyAgICBtX29yaWdpbmFsTmFtZS5zZXQo
dm0sIHRoaXMsIG5hbWVTdHJpbmcpOworICAgIHB1dERpcmVjdCh2bSwgdm0ucHJvcGVydHlOYW1l
cy0+bmFtZSwgbmFtZVN0cmluZywgSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6UmVhZE9ubHkgfCBK
U0M6OlByb3BlcnR5QXR0cmlidXRlOjpEb250RW51bSk7CiAgICAgcHV0RGlyZWN0KHZtLCB2bS5w
cm9wZXJ0eU5hbWVzLT5sZW5ndGgsIGpzTnVtYmVyKDApLCBKU0M6OlByb3BlcnR5QXR0cmlidXRl
OjpSZWFkT25seSB8IEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OkRvbnRFbnVtKTsKIH0KIApJbmRl
eDogU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTU2VydmljZVdvcmtl
ckdsb2JhbFNjb3BlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9z
Y3JpcHRzL3Rlc3QvSlMvSlNTZXJ2aWNlV29ya2VyR2xvYmFsU2NvcGUuY3BwCShyZXZpc2lvbiAy
ODA2MjMpCisrKyBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNTZXJ2
aWNlV29ya2VyR2xvYmFsU2NvcGUuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC03Nyw3ICs3Nyw5IEBA
IHRlbXBsYXRlPD4gSlNWYWx1ZSBKU1NlcnZpY2VXb3JrZXJHbG9iYWwKIHRlbXBsYXRlPD4gdm9p
ZCBKU1NlcnZpY2VXb3JrZXJHbG9iYWxTY29wZURPTUNvbnN0cnVjdG9yOjppbml0aWFsaXplUHJv
cGVydGllcyhWTSYgdm0sIEpTRE9NR2xvYmFsT2JqZWN0JiBnbG9iYWxPYmplY3QpCiB7CiAgICAg
cHV0RGlyZWN0KHZtLCB2bS5wcm9wZXJ0eU5hbWVzLT5wcm90b3R5cGUsIGdsb2JhbE9iamVjdC5n
ZXRQcm90b3R5cGVEaXJlY3Qodm0pLCBKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpEb250RGVsZXRl
IHwgSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6UmVhZE9ubHkgfCBKU0M6OlByb3BlcnR5QXR0cmli
dXRlOjpEb250RW51bSk7Ci0gICAgcHV0RGlyZWN0KHZtLCB2bS5wcm9wZXJ0eU5hbWVzLT5uYW1l
LCBqc05vbnRyaXZpYWxTdHJpbmcodm0sICJTZXJ2aWNlV29ya2VyR2xvYmFsU2NvcGUiX3MpLCBK
U0M6OlByb3BlcnR5QXR0cmlidXRlOjpSZWFkT25seSB8IEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6
OkRvbnRFbnVtKTsKKyAgICBKU1N0cmluZyogbmFtZVN0cmluZyA9IGpzTm9udHJpdmlhbFN0cmlu
Zyh2bSwgIlNlcnZpY2VXb3JrZXJHbG9iYWxTY29wZSJfcyk7CisgICAgbV9vcmlnaW5hbE5hbWUu
c2V0KHZtLCB0aGlzLCBuYW1lU3RyaW5nKTsKKyAgICBwdXREaXJlY3Qodm0sIHZtLnByb3BlcnR5
TmFtZXMtPm5hbWUsIG5hbWVTdHJpbmcsIEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OlJlYWRPbmx5
IHwgSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9udEVudW0pOwogICAgIHB1dERpcmVjdCh2bSwg
dm0ucHJvcGVydHlOYW1lcy0+bGVuZ3RoLCBqc051bWJlcigwKSwgSlNDOjpQcm9wZXJ0eUF0dHJp
YnV0ZTo6UmVhZE9ubHkgfCBKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpEb250RW51bSk7CiB9CiAK
SW5kZXg6IFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RDRVJl
YWN0aW9ucy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0
cy90ZXN0L0pTL0pTVGVzdENFUmVhY3Rpb25zLmNwcAkocmV2aXNpb24gMjgwNjIzKQorKysgU291
cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdENFUmVhY3Rpb25zLmNw
cAkod29ya2luZyBjb3B5KQpAQCAtMTIwLDcgKzEyMCw5IEBAIHRlbXBsYXRlPD4gSlNWYWx1ZSBK
U1Rlc3RDRVJlYWN0aW9uc0RPTUMKIHRlbXBsYXRlPD4gdm9pZCBKU1Rlc3RDRVJlYWN0aW9uc0RP
TUNvbnN0cnVjdG9yOjppbml0aWFsaXplUHJvcGVydGllcyhWTSYgdm0sIEpTRE9NR2xvYmFsT2Jq
ZWN0JiBnbG9iYWxPYmplY3QpCiB7CiAgICAgcHV0RGlyZWN0KHZtLCB2bS5wcm9wZXJ0eU5hbWVz
LT5wcm90b3R5cGUsIEpTVGVzdENFUmVhY3Rpb25zOjpwcm90b3R5cGUodm0sIGdsb2JhbE9iamVj
dCksIEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OkRvbnREZWxldGUgfCBKU0M6OlByb3BlcnR5QXR0
cmlidXRlOjpSZWFkT25seSB8IEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OkRvbnRFbnVtKTsKLSAg
ICBwdXREaXJlY3Qodm0sIHZtLnByb3BlcnR5TmFtZXMtPm5hbWUsIGpzTm9udHJpdmlhbFN0cmlu
Zyh2bSwgIlRlc3RDRVJlYWN0aW9ucyJfcyksIEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OlJlYWRP
bmx5IHwgSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9udEVudW0pOworICAgIEpTU3RyaW5nKiBu
YW1lU3RyaW5nID0ganNOb250cml2aWFsU3RyaW5nKHZtLCAiVGVzdENFUmVhY3Rpb25zIl9zKTsK
KyAgICBtX29yaWdpbmFsTmFtZS5zZXQodm0sIHRoaXMsIG5hbWVTdHJpbmcpOworICAgIHB1dERp
cmVjdCh2bSwgdm0ucHJvcGVydHlOYW1lcy0+bmFtZSwgbmFtZVN0cmluZywgSlNDOjpQcm9wZXJ0
eUF0dHJpYnV0ZTo6UmVhZE9ubHkgfCBKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpEb250RW51bSk7
CiAgICAgcHV0RGlyZWN0KHZtLCB2bS5wcm9wZXJ0eU5hbWVzLT5sZW5ndGgsIGpzTnVtYmVyKDAp
LCBKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpSZWFkT25seSB8IEpTQzo6UHJvcGVydHlBdHRyaWJ1
dGU6OkRvbnRFbnVtKTsKIH0KIApJbmRleDogU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0
cy90ZXN0L0pTL0pTVGVzdENFUmVhY3Rpb25zU3RyaW5naWZpZXIuY3BwCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RDRVJlYWN0aW9u
c1N0cmluZ2lmaWVyLmNwcAkocmV2aXNpb24gMjgwNjIzKQorKysgU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdENFUmVhY3Rpb25zU3RyaW5naWZpZXIuY3BwCSh3
b3JraW5nIGNvcHkpCkBAIC0xMDUsNyArMTA1LDkgQEAgdGVtcGxhdGU8PiBKU1ZhbHVlIEpTVGVz
dENFUmVhY3Rpb25zU3RyaQogdGVtcGxhdGU8PiB2b2lkIEpTVGVzdENFUmVhY3Rpb25zU3RyaW5n
aWZpZXJET01Db25zdHJ1Y3Rvcjo6aW5pdGlhbGl6ZVByb3BlcnRpZXMoVk0mIHZtLCBKU0RPTUds
b2JhbE9iamVjdCYgZ2xvYmFsT2JqZWN0KQogewogICAgIHB1dERpcmVjdCh2bSwgdm0ucHJvcGVy
dHlOYW1lcy0+cHJvdG90eXBlLCBKU1Rlc3RDRVJlYWN0aW9uc1N0cmluZ2lmaWVyOjpwcm90b3R5
cGUodm0sIGdsb2JhbE9iamVjdCksIEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OkRvbnREZWxldGUg
fCBKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpSZWFkT25seSB8IEpTQzo6UHJvcGVydHlBdHRyaWJ1
dGU6OkRvbnRFbnVtKTsKLSAgICBwdXREaXJlY3Qodm0sIHZtLnByb3BlcnR5TmFtZXMtPm5hbWUs
IGpzTm9udHJpdmlhbFN0cmluZyh2bSwgIlRlc3RDRVJlYWN0aW9uc1N0cmluZ2lmaWVyIl9zKSwg
SlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6UmVhZE9ubHkgfCBKU0M6OlByb3BlcnR5QXR0cmlidXRl
OjpEb250RW51bSk7CisgICAgSlNTdHJpbmcqIG5hbWVTdHJpbmcgPSBqc05vbnRyaXZpYWxTdHJp
bmcodm0sICJUZXN0Q0VSZWFjdGlvbnNTdHJpbmdpZmllciJfcyk7CisgICAgbV9vcmlnaW5hbE5h
bWUuc2V0KHZtLCB0aGlzLCBuYW1lU3RyaW5nKTsKKyAgICBwdXREaXJlY3Qodm0sIHZtLnByb3Bl
cnR5TmFtZXMtPm5hbWUsIG5hbWVTdHJpbmcsIEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OlJlYWRP
bmx5IHwgSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9udEVudW0pOwogICAgIHB1dERpcmVjdCh2
bSwgdm0ucHJvcGVydHlOYW1lcy0+bGVuZ3RoLCBqc051bWJlcigwKSwgSlNDOjpQcm9wZXJ0eUF0
dHJpYnV0ZTo6UmVhZE9ubHkgfCBKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpEb250RW51bSk7CiB9
CiAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RD
YWxsVHJhY2VyLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3Jp
cHRzL3Rlc3QvSlMvSlNUZXN0Q2FsbFRyYWNlci5jcHAJKHJldmlzaW9uIDI4MDYyMykKKysrIFNv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RDYWxsVHJhY2VyLmNw
cAkod29ya2luZyBjb3B5KQpAQCAtMTM2LDcgKzEzNiw5IEBAIHRlbXBsYXRlPD4gSlNWYWx1ZSBK
U1Rlc3RDYWxsVHJhY2VyRE9NQ28KIHRlbXBsYXRlPD4gdm9pZCBKU1Rlc3RDYWxsVHJhY2VyRE9N
Q29uc3RydWN0b3I6OmluaXRpYWxpemVQcm9wZXJ0aWVzKFZNJiB2bSwgSlNET01HbG9iYWxPYmpl
Y3QmIGdsb2JhbE9iamVjdCkKIHsKICAgICBwdXREaXJlY3Qodm0sIHZtLnByb3BlcnR5TmFtZXMt
PnByb3RvdHlwZSwgSlNUZXN0Q2FsbFRyYWNlcjo6cHJvdG90eXBlKHZtLCBnbG9iYWxPYmplY3Qp
LCBKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpEb250RGVsZXRlIHwgSlNDOjpQcm9wZXJ0eUF0dHJp
YnV0ZTo6UmVhZE9ubHkgfCBKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpEb250RW51bSk7Ci0gICAg
cHV0RGlyZWN0KHZtLCB2bS5wcm9wZXJ0eU5hbWVzLT5uYW1lLCBqc05vbnRyaXZpYWxTdHJpbmco
dm0sICJUZXN0Q2FsbFRyYWNlciJfcyksIEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OlJlYWRPbmx5
IHwgSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9udEVudW0pOworICAgIEpTU3RyaW5nKiBuYW1l
U3RyaW5nID0ganNOb250cml2aWFsU3RyaW5nKHZtLCAiVGVzdENhbGxUcmFjZXIiX3MpOworICAg
IG1fb3JpZ2luYWxOYW1lLnNldCh2bSwgdGhpcywgbmFtZVN0cmluZyk7CisgICAgcHV0RGlyZWN0
KHZtLCB2bS5wcm9wZXJ0eU5hbWVzLT5uYW1lLCBuYW1lU3RyaW5nLCBKU0M6OlByb3BlcnR5QXR0
cmlidXRlOjpSZWFkT25seSB8IEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OkRvbnRFbnVtKTsKICAg
ICBwdXREaXJlY3Qodm0sIHZtLnByb3BlcnR5TmFtZXMtPmxlbmd0aCwganNOdW1iZXIoMCksIEpT
Qzo6UHJvcGVydHlBdHRyaWJ1dGU6OlJlYWRPbmx5IHwgSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6
RG9udEVudW0pOwogICAgIHJlaWZ5U3RhdGljUHJvcGVydGllcyh2bSwgSlNUZXN0Q2FsbFRyYWNl
cjo6aW5mbygpLCBKU1Rlc3RDYWxsVHJhY2VyQ29uc3RydWN0b3JUYWJsZVZhbHVlcywgKnRoaXMp
OwogfQpJbmRleDogU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVz
dENhbGxiYWNrSW50ZXJmYWNlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0Q2FsbGJhY2tJbnRlcmZhY2UuY3BwCShyZXZpc2lv
biAyODA2MjMpCisrKyBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNU
ZXN0Q2FsbGJhY2tJbnRlcmZhY2UuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xNjQsNyArMTY0LDkg
QEAgdGVtcGxhdGU8PiBKU1ZhbHVlIEpTVGVzdENhbGxiYWNrSW50ZXJmYQogdGVtcGxhdGU8PiB2
b2lkIEpTVGVzdENhbGxiYWNrSW50ZXJmYWNlRE9NQ29uc3RydWN0b3I6OmluaXRpYWxpemVQcm9w
ZXJ0aWVzKFZNJiB2bSwgSlNET01HbG9iYWxPYmplY3QmIGdsb2JhbE9iamVjdCkKIHsKICAgICBV
TlVTRURfUEFSQU0oZ2xvYmFsT2JqZWN0KTsKLSAgICBwdXREaXJlY3Qodm0sIHZtLnByb3BlcnR5
TmFtZXMtPm5hbWUsIGpzTm9udHJpdmlhbFN0cmluZyh2bSwgIlRlc3RDYWxsYmFja0ludGVyZmFj
ZSJfcyksIEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OlJlYWRPbmx5IHwgSlNDOjpQcm9wZXJ0eUF0
dHJpYnV0ZTo6RG9udEVudW0pOworICAgIEpTU3RyaW5nKiBuYW1lU3RyaW5nID0ganNOb250cml2
aWFsU3RyaW5nKHZtLCAiVGVzdENhbGxiYWNrSW50ZXJmYWNlIl9zKTsKKyAgICBtX29yaWdpbmFs
TmFtZS5zZXQodm0sIHRoaXMsIG5hbWVTdHJpbmcpOworICAgIHB1dERpcmVjdCh2bSwgdm0ucHJv
cGVydHlOYW1lcy0+bmFtZSwgbmFtZVN0cmluZywgSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6UmVh
ZE9ubHkgfCBKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpEb250RW51bSk7CiAgICAgcHV0RGlyZWN0
KHZtLCB2bS5wcm9wZXJ0eU5hbWVzLT5sZW5ndGgsIGpzTnVtYmVyKDApLCBKU0M6OlByb3BlcnR5
QXR0cmlidXRlOjpSZWFkT25seSB8IEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OkRvbnRFbnVtKTsK
ICAgICByZWlmeVN0YXRpY1Byb3BlcnRpZXModm0sIG51bGxwdHIsIEpTVGVzdENhbGxiYWNrSW50
ZXJmYWNlQ29uc3RydWN0b3JUYWJsZVZhbHVlcywgKnRoaXMpOwogfQpJbmRleDogU291cmNlL1dl
YkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdENsYXNzV2l0aEpTQnVpbHRpbkNv
bnN0cnVjdG9yLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3Jp
cHRzL3Rlc3QvSlMvSlNUZXN0Q2xhc3NXaXRoSlNCdWlsdGluQ29uc3RydWN0b3IuY3BwCShyZXZp
c2lvbiAyODA2MjMpCisrKyBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMv
SlNUZXN0Q2xhc3NXaXRoSlNCdWlsdGluQ29uc3RydWN0b3IuY3BwCSh3b3JraW5nIGNvcHkpCkBA
IC05NCw3ICs5NCw5IEBAIHRlbXBsYXRlPD4gSlNWYWx1ZSBKU1Rlc3RDbGFzc1dpdGhKU0J1aWwK
IHRlbXBsYXRlPD4gdm9pZCBKU1Rlc3RDbGFzc1dpdGhKU0J1aWx0aW5Db25zdHJ1Y3RvckRPTUNv
bnN0cnVjdG9yOjppbml0aWFsaXplUHJvcGVydGllcyhWTSYgdm0sIEpTRE9NR2xvYmFsT2JqZWN0
JiBnbG9iYWxPYmplY3QpCiB7CiAgICAgcHV0RGlyZWN0KHZtLCB2bS5wcm9wZXJ0eU5hbWVzLT5w
cm90b3R5cGUsIEpTVGVzdENsYXNzV2l0aEpTQnVpbHRpbkNvbnN0cnVjdG9yOjpwcm90b3R5cGUo
dm0sIGdsb2JhbE9iamVjdCksIEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OkRvbnREZWxldGUgfCBK
U0M6OlByb3BlcnR5QXR0cmlidXRlOjpSZWFkT25seSB8IEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6
OkRvbnRFbnVtKTsKLSAgICBwdXREaXJlY3Qodm0sIHZtLnByb3BlcnR5TmFtZXMtPm5hbWUsIGpz
Tm9udHJpdmlhbFN0cmluZyh2bSwgIlRlc3RDbGFzc1dpdGhKU0J1aWx0aW5Db25zdHJ1Y3RvciJf
cyksIEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OlJlYWRPbmx5IHwgSlNDOjpQcm9wZXJ0eUF0dHJp
YnV0ZTo6RG9udEVudW0pOworICAgIEpTU3RyaW5nKiBuYW1lU3RyaW5nID0ganNOb250cml2aWFs
U3RyaW5nKHZtLCAiVGVzdENsYXNzV2l0aEpTQnVpbHRpbkNvbnN0cnVjdG9yIl9zKTsKKyAgICBt
X29yaWdpbmFsTmFtZS5zZXQodm0sIHRoaXMsIG5hbWVTdHJpbmcpOworICAgIHB1dERpcmVjdCh2
bSwgdm0ucHJvcGVydHlOYW1lcy0+bmFtZSwgbmFtZVN0cmluZywgSlNDOjpQcm9wZXJ0eUF0dHJp
YnV0ZTo6UmVhZE9ubHkgfCBKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpEb250RW51bSk7CiAgICAg
cHV0RGlyZWN0KHZtLCB2bS5wcm9wZXJ0eU5hbWVzLT5sZW5ndGgsIGpzTnVtYmVyKDApLCBKU0M6
OlByb3BlcnR5QXR0cmlidXRlOjpSZWFkT25seSB8IEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OkRv
bnRFbnVtKTsKIH0KIApJbmRleDogU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0
L0pTL0pTVGVzdENvbmRpdGlvbmFsSW5jbHVkZXMuY3BwCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RDb25kaXRpb25hbEluY2x1ZGVz
LmNwcAkocmV2aXNpb24gMjgwNjIzKQorKysgU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0
cy90ZXN0L0pTL0pTVGVzdENvbmRpdGlvbmFsSW5jbHVkZXMuY3BwCSh3b3JraW5nIGNvcHkpCkBA
IC0xODgsNyArMTg4LDkgQEAgdGVtcGxhdGU8PiBKU1ZhbHVlIEpTVGVzdENvbmRpdGlvbmFsSW5j
bAogdGVtcGxhdGU8PiB2b2lkIEpTVGVzdENvbmRpdGlvbmFsSW5jbHVkZXNET01Db25zdHJ1Y3Rv
cjo6aW5pdGlhbGl6ZVByb3BlcnRpZXMoVk0mIHZtLCBKU0RPTUdsb2JhbE9iamVjdCYgZ2xvYmFs
T2JqZWN0KQogewogICAgIHB1dERpcmVjdCh2bSwgdm0ucHJvcGVydHlOYW1lcy0+cHJvdG90eXBl
LCBKU1Rlc3RDb25kaXRpb25hbEluY2x1ZGVzOjpwcm90b3R5cGUodm0sIGdsb2JhbE9iamVjdCks
IEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OkRvbnREZWxldGUgfCBKU0M6OlByb3BlcnR5QXR0cmli
dXRlOjpSZWFkT25seSB8IEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OkRvbnRFbnVtKTsKLSAgICBw
dXREaXJlY3Qodm0sIHZtLnByb3BlcnR5TmFtZXMtPm5hbWUsIGpzTm9udHJpdmlhbFN0cmluZyh2
bSwgIlRlc3RDb25kaXRpb25hbEluY2x1ZGVzIl9zKSwgSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6
UmVhZE9ubHkgfCBKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpEb250RW51bSk7CisgICAgSlNTdHJp
bmcqIG5hbWVTdHJpbmcgPSBqc05vbnRyaXZpYWxTdHJpbmcodm0sICJUZXN0Q29uZGl0aW9uYWxJ
bmNsdWRlcyJfcyk7CisgICAgbV9vcmlnaW5hbE5hbWUuc2V0KHZtLCB0aGlzLCBuYW1lU3RyaW5n
KTsKKyAgICBwdXREaXJlY3Qodm0sIHZtLnByb3BlcnR5TmFtZXMtPm5hbWUsIG5hbWVTdHJpbmcs
IEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OlJlYWRPbmx5IHwgSlNDOjpQcm9wZXJ0eUF0dHJpYnV0
ZTo6RG9udEVudW0pOwogICAgIHB1dERpcmVjdCh2bSwgdm0ucHJvcGVydHlOYW1lcy0+bGVuZ3Ro
LCBqc051bWJlcigwKSwgSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6UmVhZE9ubHkgfCBKU0M6OlBy
b3BlcnR5QXR0cmlidXRlOjpEb250RW51bSk7CiAgICAgcmVpZnlTdGF0aWNQcm9wZXJ0aWVzKHZt
LCBKU1Rlc3RDb25kaXRpb25hbEluY2x1ZGVzOjppbmZvKCksIEpTVGVzdENvbmRpdGlvbmFsSW5j
bHVkZXNDb25zdHJ1Y3RvclRhYmxlVmFsdWVzLCAqdGhpcyk7CiAjaWYgRU5BQkxFKENvbmRpdGlv
bjIyKSB8fCBFTkFCTEUoQ29uZGl0aW9uMjMpCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0Q29uZGl0aW9uYWxseVJlYWRXcml0ZS5jcHAKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdENv
bmRpdGlvbmFsbHlSZWFkV3JpdGUuY3BwCShyZXZpc2lvbiAyODA2MjMpCisrKyBTb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0Q29uZGl0aW9uYWxseVJlYWRXcml0
ZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTE0OSw3ICsxNDksOSBAQCB0ZW1wbGF0ZTw+IEpTVmFs
dWUgSlNUZXN0Q29uZGl0aW9uYWxseVJlCiB0ZW1wbGF0ZTw+IHZvaWQgSlNUZXN0Q29uZGl0aW9u
YWxseVJlYWRXcml0ZURPTUNvbnN0cnVjdG9yOjppbml0aWFsaXplUHJvcGVydGllcyhWTSYgdm0s
IEpTRE9NR2xvYmFsT2JqZWN0JiBnbG9iYWxPYmplY3QpCiB7CiAgICAgcHV0RGlyZWN0KHZtLCB2
bS5wcm9wZXJ0eU5hbWVzLT5wcm90b3R5cGUsIEpTVGVzdENvbmRpdGlvbmFsbHlSZWFkV3JpdGU6
OnByb3RvdHlwZSh2bSwgZ2xvYmFsT2JqZWN0KSwgSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9u
dERlbGV0ZSB8IEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OlJlYWRPbmx5IHwgSlNDOjpQcm9wZXJ0
eUF0dHJpYnV0ZTo6RG9udEVudW0pOwotICAgIHB1dERpcmVjdCh2bSwgdm0ucHJvcGVydHlOYW1l
cy0+bmFtZSwganNOb250cml2aWFsU3RyaW5nKHZtLCAiVGVzdENvbmRpdGlvbmFsbHlSZWFkV3Jp
dGUiX3MpLCBKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpSZWFkT25seSB8IEpTQzo6UHJvcGVydHlB
dHRyaWJ1dGU6OkRvbnRFbnVtKTsKKyAgICBKU1N0cmluZyogbmFtZVN0cmluZyA9IGpzTm9udHJp
dmlhbFN0cmluZyh2bSwgIlRlc3RDb25kaXRpb25hbGx5UmVhZFdyaXRlIl9zKTsKKyAgICBtX29y
aWdpbmFsTmFtZS5zZXQodm0sIHRoaXMsIG5hbWVTdHJpbmcpOworICAgIHB1dERpcmVjdCh2bSwg
dm0ucHJvcGVydHlOYW1lcy0+bmFtZSwgbmFtZVN0cmluZywgSlNDOjpQcm9wZXJ0eUF0dHJpYnV0
ZTo6UmVhZE9ubHkgfCBKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpEb250RW51bSk7CiAgICAgcHV0
RGlyZWN0KHZtLCB2bS5wcm9wZXJ0eU5hbWVzLT5sZW5ndGgsIGpzTnVtYmVyKDApLCBKU0M6OlBy
b3BlcnR5QXR0cmlidXRlOjpSZWFkT25seSB8IEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OkRvbnRF
bnVtKTsKIH0KIApJbmRleDogU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pT
L0pTVGVzdERPTUpJVC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
c2NyaXB0cy90ZXN0L0pTL0pTVGVzdERPTUpJVC5jcHAJKHJldmlzaW9uIDI4MDYyMykKKysrIFNv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RET01KSVQuY3BwCSh3
b3JraW5nIGNvcHkpCkBAIC01MTUsNyArNTE1LDkgQEAgdGVtcGxhdGU8PiBKU1ZhbHVlIEpTVGVz
dERPTUpJVERPTUNvbnN0cgogdGVtcGxhdGU8PiB2b2lkIEpTVGVzdERPTUpJVERPTUNvbnN0cnVj
dG9yOjppbml0aWFsaXplUHJvcGVydGllcyhWTSYgdm0sIEpTRE9NR2xvYmFsT2JqZWN0JiBnbG9i
YWxPYmplY3QpCiB7CiAgICAgcHV0RGlyZWN0KHZtLCB2bS5wcm9wZXJ0eU5hbWVzLT5wcm90b3R5
cGUsIEpTVGVzdERPTUpJVDo6cHJvdG90eXBlKHZtLCBnbG9iYWxPYmplY3QpLCBKU0M6OlByb3Bl
cnR5QXR0cmlidXRlOjpEb250RGVsZXRlIHwgSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6UmVhZE9u
bHkgfCBKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpEb250RW51bSk7Ci0gICAgcHV0RGlyZWN0KHZt
LCB2bS5wcm9wZXJ0eU5hbWVzLT5uYW1lLCBqc05vbnRyaXZpYWxTdHJpbmcodm0sICJUZXN0RE9N
SklUIl9zKSwgSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6UmVhZE9ubHkgfCBKU0M6OlByb3BlcnR5
QXR0cmlidXRlOjpEb250RW51bSk7CisgICAgSlNTdHJpbmcqIG5hbWVTdHJpbmcgPSBqc05vbnRy
aXZpYWxTdHJpbmcodm0sICJUZXN0RE9NSklUIl9zKTsKKyAgICBtX29yaWdpbmFsTmFtZS5zZXQo
dm0sIHRoaXMsIG5hbWVTdHJpbmcpOworICAgIHB1dERpcmVjdCh2bSwgdm0ucHJvcGVydHlOYW1l
cy0+bmFtZSwgbmFtZVN0cmluZywgSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6UmVhZE9ubHkgfCBK
U0M6OlByb3BlcnR5QXR0cmlidXRlOjpEb250RW51bSk7CiAgICAgcHV0RGlyZWN0KHZtLCB2bS5w
cm9wZXJ0eU5hbWVzLT5sZW5ndGgsIGpzTnVtYmVyKDApLCBKU0M6OlByb3BlcnR5QXR0cmlidXRl
OjpSZWFkT25seSB8IEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OkRvbnRFbnVtKTsKIH0KIApJbmRl
eDogU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdERlZmF1bHRU
b0pTT04uY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMv
dGVzdC9KUy9KU1Rlc3REZWZhdWx0VG9KU09OLmNwcAkocmV2aXNpb24gMjgwNjIzKQorKysgU291
cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdERlZmF1bHRUb0pTT04u
Y3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xNTQsNyArMTU0LDkgQEAgdGVtcGxhdGU8PiBKU1ZhbHVl
IEpTVGVzdERlZmF1bHRUb0pTT05ETwogdGVtcGxhdGU8PiB2b2lkIEpTVGVzdERlZmF1bHRUb0pT
T05ET01Db25zdHJ1Y3Rvcjo6aW5pdGlhbGl6ZVByb3BlcnRpZXMoVk0mIHZtLCBKU0RPTUdsb2Jh
bE9iamVjdCYgZ2xvYmFsT2JqZWN0KQogewogICAgIHB1dERpcmVjdCh2bSwgdm0ucHJvcGVydHlO
YW1lcy0+cHJvdG90eXBlLCBKU1Rlc3REZWZhdWx0VG9KU09OOjpwcm90b3R5cGUodm0sIGdsb2Jh
bE9iamVjdCksIEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OkRvbnREZWxldGUgfCBKU0M6OlByb3Bl
cnR5QXR0cmlidXRlOjpSZWFkT25seSB8IEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OkRvbnRFbnVt
KTsKLSAgICBwdXREaXJlY3Qodm0sIHZtLnByb3BlcnR5TmFtZXMtPm5hbWUsIGpzTm9udHJpdmlh
bFN0cmluZyh2bSwgIlRlc3REZWZhdWx0VG9KU09OIl9zKSwgSlNDOjpQcm9wZXJ0eUF0dHJpYnV0
ZTo6UmVhZE9ubHkgfCBKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpEb250RW51bSk7CisgICAgSlNT
dHJpbmcqIG5hbWVTdHJpbmcgPSBqc05vbnRyaXZpYWxTdHJpbmcodm0sICJUZXN0RGVmYXVsdFRv
SlNPTiJfcyk7CisgICAgbV9vcmlnaW5hbE5hbWUuc2V0KHZtLCB0aGlzLCBuYW1lU3RyaW5nKTsK
KyAgICBwdXREaXJlY3Qodm0sIHZtLnByb3BlcnR5TmFtZXMtPm5hbWUsIG5hbWVTdHJpbmcsIEpT
Qzo6UHJvcGVydHlBdHRyaWJ1dGU6OlJlYWRPbmx5IHwgSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6
RG9udEVudW0pOwogICAgIHB1dERpcmVjdCh2bSwgdm0ucHJvcGVydHlOYW1lcy0+bGVuZ3RoLCBq
c051bWJlcigwKSwgSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6UmVhZE9ubHkgfCBKU0M6OlByb3Bl
cnR5QXR0cmlidXRlOjpEb250RW51bSk7CiB9CiAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3REZWZhdWx0VG9KU09ORmlsdGVyZWRCeUV4cG9zZWQu
Y3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9K
Uy9KU1Rlc3REZWZhdWx0VG9KU09ORmlsdGVyZWRCeUV4cG9zZWQuY3BwCShyZXZpc2lvbiAyODA2
MjMpCisrKyBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0RGVm
YXVsdFRvSlNPTkZpbHRlcmVkQnlFeHBvc2VkLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTA1LDcg
KzEwNSw5IEBAIHRlbXBsYXRlPD4gSlNWYWx1ZSBKU1Rlc3REZWZhdWx0VG9KU09ORmkKIHRlbXBs
YXRlPD4gdm9pZCBKU1Rlc3REZWZhdWx0VG9KU09ORmlsdGVyZWRCeUV4cG9zZWRET01Db25zdHJ1
Y3Rvcjo6aW5pdGlhbGl6ZVByb3BlcnRpZXMoVk0mIHZtLCBKU0RPTUdsb2JhbE9iamVjdCYgZ2xv
YmFsT2JqZWN0KQogewogICAgIHB1dERpcmVjdCh2bSwgdm0ucHJvcGVydHlOYW1lcy0+cHJvdG90
eXBlLCBKU1Rlc3REZWZhdWx0VG9KU09ORmlsdGVyZWRCeUV4cG9zZWQ6OnByb3RvdHlwZSh2bSwg
Z2xvYmFsT2JqZWN0KSwgSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9udERlbGV0ZSB8IEpTQzo6
UHJvcGVydHlBdHRyaWJ1dGU6OlJlYWRPbmx5IHwgSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9u
dEVudW0pOwotICAgIHB1dERpcmVjdCh2bSwgdm0ucHJvcGVydHlOYW1lcy0+bmFtZSwganNOb250
cml2aWFsU3RyaW5nKHZtLCAiVGVzdERlZmF1bHRUb0pTT05GaWx0ZXJlZEJ5RXhwb3NlZCJfcyks
IEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OlJlYWRPbmx5IHwgSlNDOjpQcm9wZXJ0eUF0dHJpYnV0
ZTo6RG9udEVudW0pOworICAgIEpTU3RyaW5nKiBuYW1lU3RyaW5nID0ganNOb250cml2aWFsU3Ry
aW5nKHZtLCAiVGVzdERlZmF1bHRUb0pTT05GaWx0ZXJlZEJ5RXhwb3NlZCJfcyk7CisgICAgbV9v
cmlnaW5hbE5hbWUuc2V0KHZtLCB0aGlzLCBuYW1lU3RyaW5nKTsKKyAgICBwdXREaXJlY3Qodm0s
IHZtLnByb3BlcnR5TmFtZXMtPm5hbWUsIG5hbWVTdHJpbmcsIEpTQzo6UHJvcGVydHlBdHRyaWJ1
dGU6OlJlYWRPbmx5IHwgSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9udEVudW0pOwogICAgIHB1
dERpcmVjdCh2bSwgdm0ucHJvcGVydHlOYW1lcy0+bGVuZ3RoLCBqc051bWJlcigwKSwgSlNDOjpQ
cm9wZXJ0eUF0dHJpYnV0ZTo6UmVhZE9ubHkgfCBKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpEb250
RW51bSk7CiB9CiAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9K
Uy9KU1Rlc3REZWZhdWx0VG9KU09OSW5kaXJlY3RJbmhlcml0YW5jZS5jcHAKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdERlZmF1bHRU
b0pTT05JbmRpcmVjdEluaGVyaXRhbmNlLmNwcAkocmV2aXNpb24gMjgwNjIzKQorKysgU291cmNl
L1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdERlZmF1bHRUb0pTT05JbmRp
cmVjdEluaGVyaXRhbmNlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtOTEsNyArOTEsOSBAQCB0ZW1w
bGF0ZTw+IEpTVmFsdWUgSlNUZXN0RGVmYXVsdFRvSlNPTkluCiB0ZW1wbGF0ZTw+IHZvaWQgSlNU
ZXN0RGVmYXVsdFRvSlNPTkluZGlyZWN0SW5oZXJpdGFuY2VET01Db25zdHJ1Y3Rvcjo6aW5pdGlh
bGl6ZVByb3BlcnRpZXMoVk0mIHZtLCBKU0RPTUdsb2JhbE9iamVjdCYgZ2xvYmFsT2JqZWN0KQog
ewogICAgIHB1dERpcmVjdCh2bSwgdm0ucHJvcGVydHlOYW1lcy0+cHJvdG90eXBlLCBKU1Rlc3RE
ZWZhdWx0VG9KU09OSW5kaXJlY3RJbmhlcml0YW5jZTo6cHJvdG90eXBlKHZtLCBnbG9iYWxPYmpl
Y3QpLCBKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpEb250RGVsZXRlIHwgSlNDOjpQcm9wZXJ0eUF0
dHJpYnV0ZTo6UmVhZE9ubHkgfCBKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpEb250RW51bSk7Ci0g
ICAgcHV0RGlyZWN0KHZtLCB2bS5wcm9wZXJ0eU5hbWVzLT5uYW1lLCBqc05vbnRyaXZpYWxTdHJp
bmcodm0sICJUZXN0RGVmYXVsdFRvSlNPTkluZGlyZWN0SW5oZXJpdGFuY2UiX3MpLCBKU0M6OlBy
b3BlcnR5QXR0cmlidXRlOjpSZWFkT25seSB8IEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OkRvbnRF
bnVtKTsKKyAgICBKU1N0cmluZyogbmFtZVN0cmluZyA9IGpzTm9udHJpdmlhbFN0cmluZyh2bSwg
IlRlc3REZWZhdWx0VG9KU09OSW5kaXJlY3RJbmhlcml0YW5jZSJfcyk7CisgICAgbV9vcmlnaW5h
bE5hbWUuc2V0KHZtLCB0aGlzLCBuYW1lU3RyaW5nKTsKKyAgICBwdXREaXJlY3Qodm0sIHZtLnBy
b3BlcnR5TmFtZXMtPm5hbWUsIG5hbWVTdHJpbmcsIEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OlJl
YWRPbmx5IHwgSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9udEVudW0pOwogICAgIHB1dERpcmVj
dCh2bSwgdm0ucHJvcGVydHlOYW1lcy0+bGVuZ3RoLCBqc051bWJlcigwKSwgSlNDOjpQcm9wZXJ0
eUF0dHJpYnV0ZTo6UmVhZE9ubHkgfCBKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpEb250RW51bSk7
CiB9CiAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rl
c3REZWZhdWx0VG9KU09OSW5oZXJpdC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUv
YmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdERlZmF1bHRUb0pTT05Jbmhlcml0LmNwcAko
cmV2aXNpb24gMjgwNjIzKQorKysgU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0
L0pTL0pTVGVzdERlZmF1bHRUb0pTT05Jbmhlcml0LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTE4
LDcgKzExOCw5IEBAIHRlbXBsYXRlPD4gSlNWYWx1ZSBKU1Rlc3REZWZhdWx0VG9KU09OSW4KIHRl
bXBsYXRlPD4gdm9pZCBKU1Rlc3REZWZhdWx0VG9KU09OSW5oZXJpdERPTUNvbnN0cnVjdG9yOjpp
bml0aWFsaXplUHJvcGVydGllcyhWTSYgdm0sIEpTRE9NR2xvYmFsT2JqZWN0JiBnbG9iYWxPYmpl
Y3QpCiB7CiAgICAgcHV0RGlyZWN0KHZtLCB2bS5wcm9wZXJ0eU5hbWVzLT5wcm90b3R5cGUsIEpT
VGVzdERlZmF1bHRUb0pTT05Jbmhlcml0Ojpwcm90b3R5cGUodm0sIGdsb2JhbE9iamVjdCksIEpT
Qzo6UHJvcGVydHlBdHRyaWJ1dGU6OkRvbnREZWxldGUgfCBKU0M6OlByb3BlcnR5QXR0cmlidXRl
OjpSZWFkT25seSB8IEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OkRvbnRFbnVtKTsKLSAgICBwdXRE
aXJlY3Qodm0sIHZtLnByb3BlcnR5TmFtZXMtPm5hbWUsIGpzTm9udHJpdmlhbFN0cmluZyh2bSwg
IlRlc3REZWZhdWx0VG9KU09OSW5oZXJpdCJfcyksIEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OlJl
YWRPbmx5IHwgSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9udEVudW0pOworICAgIEpTU3RyaW5n
KiBuYW1lU3RyaW5nID0ganNOb250cml2aWFsU3RyaW5nKHZtLCAiVGVzdERlZmF1bHRUb0pTT05J
bmhlcml0Il9zKTsKKyAgICBtX29yaWdpbmFsTmFtZS5zZXQodm0sIHRoaXMsIG5hbWVTdHJpbmcp
OworICAgIHB1dERpcmVjdCh2bSwgdm0ucHJvcGVydHlOYW1lcy0+bmFtZSwgbmFtZVN0cmluZywg
SlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6UmVhZE9ubHkgfCBKU0M6OlByb3BlcnR5QXR0cmlidXRl
OjpEb250RW51bSk7CiAgICAgcHV0RGlyZWN0KHZtLCB2bS5wcm9wZXJ0eU5hbWVzLT5sZW5ndGgs
IGpzTnVtYmVyKDApLCBKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpSZWFkT25seSB8IEpTQzo6UHJv
cGVydHlBdHRyaWJ1dGU6OkRvbnRFbnVtKTsKIH0KIApJbmRleDogU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdERlZmF1bHRUb0pTT05Jbmhlcml0RmluYWwuY3Bw
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9K
U1Rlc3REZWZhdWx0VG9KU09OSW5oZXJpdEZpbmFsLmNwcAkocmV2aXNpb24gMjgwNjIzKQorKysg
U291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdERlZmF1bHRUb0pT
T05Jbmhlcml0RmluYWwuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xMjAsNyArMTIwLDkgQEAgdGVt
cGxhdGU8PiBKU1ZhbHVlIEpTVGVzdERlZmF1bHRUb0pTT05JbgogdGVtcGxhdGU8PiB2b2lkIEpT
VGVzdERlZmF1bHRUb0pTT05Jbmhlcml0RmluYWxET01Db25zdHJ1Y3Rvcjo6aW5pdGlhbGl6ZVBy
b3BlcnRpZXMoVk0mIHZtLCBKU0RPTUdsb2JhbE9iamVjdCYgZ2xvYmFsT2JqZWN0KQogewogICAg
IHB1dERpcmVjdCh2bSwgdm0ucHJvcGVydHlOYW1lcy0+cHJvdG90eXBlLCBKU1Rlc3REZWZhdWx0
VG9KU09OSW5oZXJpdEZpbmFsOjpwcm90b3R5cGUodm0sIGdsb2JhbE9iamVjdCksIEpTQzo6UHJv
cGVydHlBdHRyaWJ1dGU6OkRvbnREZWxldGUgfCBKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpSZWFk
T25seSB8IEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OkRvbnRFbnVtKTsKLSAgICBwdXREaXJlY3Qo
dm0sIHZtLnByb3BlcnR5TmFtZXMtPm5hbWUsIGpzTm9udHJpdmlhbFN0cmluZyh2bSwgIlRlc3RE
ZWZhdWx0VG9KU09OSW5oZXJpdEZpbmFsIl9zKSwgSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6UmVh
ZE9ubHkgfCBKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpEb250RW51bSk7CisgICAgSlNTdHJpbmcq
IG5hbWVTdHJpbmcgPSBqc05vbnRyaXZpYWxTdHJpbmcodm0sICJUZXN0RGVmYXVsdFRvSlNPTklu
aGVyaXRGaW5hbCJfcyk7CisgICAgbV9vcmlnaW5hbE5hbWUuc2V0KHZtLCB0aGlzLCBuYW1lU3Ry
aW5nKTsKKyAgICBwdXREaXJlY3Qodm0sIHZtLnByb3BlcnR5TmFtZXMtPm5hbWUsIG5hbWVTdHJp
bmcsIEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OlJlYWRPbmx5IHwgSlNDOjpQcm9wZXJ0eUF0dHJp
YnV0ZTo6RG9udEVudW0pOwogICAgIHB1dERpcmVjdCh2bSwgdm0ucHJvcGVydHlOYW1lcy0+bGVu
Z3RoLCBqc051bWJlcigwKSwgSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6UmVhZE9ubHkgfCBKU0M6
OlByb3BlcnR5QXR0cmlidXRlOjpEb250RW51bSk7CiB9CiAKSW5kZXg6IFNvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3REZWxlZ2F0ZVRvU2hhcmVkU3ludGhldGlj
QXR0cmlidXRlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3Jp
cHRzL3Rlc3QvSlMvSlNUZXN0RGVsZWdhdGVUb1NoYXJlZFN5bnRoZXRpY0F0dHJpYnV0ZS5jcHAJ
KHJldmlzaW9uIDI4MDYyMykKKysrIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVz
dC9KUy9KU1Rlc3REZWxlZ2F0ZVRvU2hhcmVkU3ludGhldGljQXR0cmlidXRlLmNwcAkod29ya2lu
ZyBjb3B5KQpAQCAtMTAwLDcgKzEwMCw5IEBAIHRlbXBsYXRlPD4gSlNWYWx1ZSBKU1Rlc3REZWxl
Z2F0ZVRvU2hhcmUKIHRlbXBsYXRlPD4gdm9pZCBKU1Rlc3REZWxlZ2F0ZVRvU2hhcmVkU3ludGhl
dGljQXR0cmlidXRlRE9NQ29uc3RydWN0b3I6OmluaXRpYWxpemVQcm9wZXJ0aWVzKFZNJiB2bSwg
SlNET01HbG9iYWxPYmplY3QmIGdsb2JhbE9iamVjdCkKIHsKICAgICBwdXREaXJlY3Qodm0sIHZt
LnByb3BlcnR5TmFtZXMtPnByb3RvdHlwZSwgSlNUZXN0RGVsZWdhdGVUb1NoYXJlZFN5bnRoZXRp
Y0F0dHJpYnV0ZTo6cHJvdG90eXBlKHZtLCBnbG9iYWxPYmplY3QpLCBKU0M6OlByb3BlcnR5QXR0
cmlidXRlOjpEb250RGVsZXRlIHwgSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6UmVhZE9ubHkgfCBK
U0M6OlByb3BlcnR5QXR0cmlidXRlOjpEb250RW51bSk7Ci0gICAgcHV0RGlyZWN0KHZtLCB2bS5w
cm9wZXJ0eU5hbWVzLT5uYW1lLCBqc05vbnRyaXZpYWxTdHJpbmcodm0sICJUZXN0RGVsZWdhdGVU
b1NoYXJlZFN5bnRoZXRpY0F0dHJpYnV0ZSJfcyksIEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OlJl
YWRPbmx5IHwgSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9udEVudW0pOworICAgIEpTU3RyaW5n
KiBuYW1lU3RyaW5nID0ganNOb250cml2aWFsU3RyaW5nKHZtLCAiVGVzdERlbGVnYXRlVG9TaGFy
ZWRTeW50aGV0aWNBdHRyaWJ1dGUiX3MpOworICAgIG1fb3JpZ2luYWxOYW1lLnNldCh2bSwgdGhp
cywgbmFtZVN0cmluZyk7CisgICAgcHV0RGlyZWN0KHZtLCB2bS5wcm9wZXJ0eU5hbWVzLT5uYW1l
LCBuYW1lU3RyaW5nLCBKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpSZWFkT25seSB8IEpTQzo6UHJv
cGVydHlBdHRyaWJ1dGU6OkRvbnRFbnVtKTsKICAgICBwdXREaXJlY3Qodm0sIHZtLnByb3BlcnR5
TmFtZXMtPmxlbmd0aCwganNOdW1iZXIoMCksIEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OlJlYWRP
bmx5IHwgSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9udEVudW0pOwogfQogCkluZGV4OiBTb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0RG9tYWluU2VjdXJpdHku
Y3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9K
Uy9KU1Rlc3REb21haW5TZWN1cml0eS5jcHAJKHJldmlzaW9uIDI4MDYyMykKKysrIFNvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3REb21haW5TZWN1cml0eS5jcHAJ
KHdvcmtpbmcgY29weSkKQEAgLTEyNCw3ICsxMjQsOSBAQCB0ZW1wbGF0ZTw+IEpTVmFsdWUgSlNU
ZXN0RG9tYWluU2VjdXJpdHlECiB0ZW1wbGF0ZTw+IHZvaWQgSlNUZXN0RG9tYWluU2VjdXJpdHlE
T01Db25zdHJ1Y3Rvcjo6aW5pdGlhbGl6ZVByb3BlcnRpZXMoVk0mIHZtLCBKU0RPTUdsb2JhbE9i
amVjdCYgZ2xvYmFsT2JqZWN0KQogewogICAgIHB1dERpcmVjdCh2bSwgdm0ucHJvcGVydHlOYW1l
cy0+cHJvdG90eXBlLCBKU1Rlc3REb21haW5TZWN1cml0eTo6cHJvdG90eXBlKHZtLCBnbG9iYWxP
YmplY3QpLCBKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpEb250RGVsZXRlIHwgSlNDOjpQcm9wZXJ0
eUF0dHJpYnV0ZTo6UmVhZE9ubHkgfCBKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpEb250RW51bSk7
Ci0gICAgcHV0RGlyZWN0KHZtLCB2bS5wcm9wZXJ0eU5hbWVzLT5uYW1lLCBqc05vbnRyaXZpYWxT
dHJpbmcodm0sICJUZXN0RG9tYWluU2VjdXJpdHkiX3MpLCBKU0M6OlByb3BlcnR5QXR0cmlidXRl
OjpSZWFkT25seSB8IEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OkRvbnRFbnVtKTsKKyAgICBKU1N0
cmluZyogbmFtZVN0cmluZyA9IGpzTm9udHJpdmlhbFN0cmluZyh2bSwgIlRlc3REb21haW5TZWN1
cml0eSJfcyk7CisgICAgbV9vcmlnaW5hbE5hbWUuc2V0KHZtLCB0aGlzLCBuYW1lU3RyaW5nKTsK
KyAgICBwdXREaXJlY3Qodm0sIHZtLnByb3BlcnR5TmFtZXMtPm5hbWUsIG5hbWVTdHJpbmcsIEpT
Qzo6UHJvcGVydHlBdHRyaWJ1dGU6OlJlYWRPbmx5IHwgSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6
RG9udEVudW0pOwogICAgIHB1dERpcmVjdCh2bSwgdm0ucHJvcGVydHlOYW1lcy0+bGVuZ3RoLCBq
c051bWJlcigwKSwgSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6UmVhZE9ubHkgfCBKU0M6OlByb3Bl
cnR5QXR0cmlidXRlOjpEb250RW51bSk7CiB9CiAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RFbmFibGVkQnlTZXR0aW5nLmNwcAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0RW5hYmxl
ZEJ5U2V0dGluZy5jcHAJKHJldmlzaW9uIDI4MDYyMykKKysrIFNvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RFbmFibGVkQnlTZXR0aW5nLmNwcAkod29ya2luZyBj
b3B5KQpAQCAtMTQ1LDcgKzE0NSw5IEBAIHRlbXBsYXRlPD4gSlNWYWx1ZSBKU1Rlc3RFbmFibGVk
QnlTZXR0aW4KIHRlbXBsYXRlPD4gdm9pZCBKU1Rlc3RFbmFibGVkQnlTZXR0aW5nRE9NQ29uc3Ry
dWN0b3I6OmluaXRpYWxpemVQcm9wZXJ0aWVzKFZNJiB2bSwgSlNET01HbG9iYWxPYmplY3QmIGds
b2JhbE9iamVjdCkKIHsKICAgICBwdXREaXJlY3Qodm0sIHZtLnByb3BlcnR5TmFtZXMtPnByb3Rv
dHlwZSwgSlNUZXN0RW5hYmxlZEJ5U2V0dGluZzo6cHJvdG90eXBlKHZtLCBnbG9iYWxPYmplY3Qp
LCBKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpEb250RGVsZXRlIHwgSlNDOjpQcm9wZXJ0eUF0dHJp
YnV0ZTo6UmVhZE9ubHkgfCBKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpEb250RW51bSk7Ci0gICAg
cHV0RGlyZWN0KHZtLCB2bS5wcm9wZXJ0eU5hbWVzLT5uYW1lLCBqc05vbnRyaXZpYWxTdHJpbmco
dm0sICJUZXN0RW5hYmxlZEJ5U2V0dGluZyJfcyksIEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OlJl
YWRPbmx5IHwgSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9udEVudW0pOworICAgIEpTU3RyaW5n
KiBuYW1lU3RyaW5nID0ganNOb250cml2aWFsU3RyaW5nKHZtLCAiVGVzdEVuYWJsZWRCeVNldHRp
bmciX3MpOworICAgIG1fb3JpZ2luYWxOYW1lLnNldCh2bSwgdGhpcywgbmFtZVN0cmluZyk7Cisg
ICAgcHV0RGlyZWN0KHZtLCB2bS5wcm9wZXJ0eU5hbWVzLT5uYW1lLCBuYW1lU3RyaW5nLCBKU0M6
OlByb3BlcnR5QXR0cmlidXRlOjpSZWFkT25seSB8IEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OkRv
bnRFbnVtKTsKICAgICBwdXREaXJlY3Qodm0sIHZtLnByb3BlcnR5TmFtZXMtPmxlbmd0aCwganNO
dW1iZXIoMCksIEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OlJlYWRPbmx5IHwgSlNDOjpQcm9wZXJ0
eUF0dHJpYnV0ZTo6RG9udEVudW0pOwogICAgIHJlaWZ5U3RhdGljUHJvcGVydGllcyh2bSwgSlNU
ZXN0RW5hYmxlZEJ5U2V0dGluZzo6aW5mbygpLCBKU1Rlc3RFbmFibGVkQnlTZXR0aW5nQ29uc3Ry
dWN0b3JUYWJsZVZhbHVlcywgKnRoaXMpOwogICAgIGlmICghanNDYXN0PEpTRE9NR2xvYmFsT2Jq
ZWN0Kj4oJmdsb2JhbE9iamVjdCktPnNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKS0+c2V0dGluZ3NW
YWx1ZXMoKS50ZXN0U2V0dGluZ0VuYWJsZWQpIHsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RFbmFibGVkRm9yQ29udGV4dC5jcHAKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdEVuYWJs
ZWRGb3JDb250ZXh0LmNwcAkocmV2aXNpb24gMjgwNjIzKQorKysgU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdEVuYWJsZWRGb3JDb250ZXh0LmNwcAkod29ya2lu
ZyBjb3B5KQpAQCAtOTYsNyArOTYsOSBAQCB0ZW1wbGF0ZTw+IEpTVmFsdWUgSlNUZXN0RW5hYmxl
ZEZvckNvbnRlCiB0ZW1wbGF0ZTw+IHZvaWQgSlNUZXN0RW5hYmxlZEZvckNvbnRleHRET01Db25z
dHJ1Y3Rvcjo6aW5pdGlhbGl6ZVByb3BlcnRpZXMoVk0mIHZtLCBKU0RPTUdsb2JhbE9iamVjdCYg
Z2xvYmFsT2JqZWN0KQogewogICAgIHB1dERpcmVjdCh2bSwgdm0ucHJvcGVydHlOYW1lcy0+cHJv
dG90eXBlLCBKU1Rlc3RFbmFibGVkRm9yQ29udGV4dDo6cHJvdG90eXBlKHZtLCBnbG9iYWxPYmpl
Y3QpLCBKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpEb250RGVsZXRlIHwgSlNDOjpQcm9wZXJ0eUF0
dHJpYnV0ZTo6UmVhZE9ubHkgfCBKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpEb250RW51bSk7Ci0g
ICAgcHV0RGlyZWN0KHZtLCB2bS5wcm9wZXJ0eU5hbWVzLT5uYW1lLCBqc05vbnRyaXZpYWxTdHJp
bmcodm0sICJUZXN0RW5hYmxlZEZvckNvbnRleHQiX3MpLCBKU0M6OlByb3BlcnR5QXR0cmlidXRl
OjpSZWFkT25seSB8IEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OkRvbnRFbnVtKTsKKyAgICBKU1N0
cmluZyogbmFtZVN0cmluZyA9IGpzTm9udHJpdmlhbFN0cmluZyh2bSwgIlRlc3RFbmFibGVkRm9y
Q29udGV4dCJfcyk7CisgICAgbV9vcmlnaW5hbE5hbWUuc2V0KHZtLCB0aGlzLCBuYW1lU3RyaW5n
KTsKKyAgICBwdXREaXJlY3Qodm0sIHZtLnByb3BlcnR5TmFtZXMtPm5hbWUsIG5hbWVTdHJpbmcs
IEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OlJlYWRPbmx5IHwgSlNDOjpQcm9wZXJ0eUF0dHJpYnV0
ZTo6RG9udEVudW0pOwogICAgIHB1dERpcmVjdCh2bSwgdm0ucHJvcGVydHlOYW1lcy0+bGVuZ3Ro
LCBqc051bWJlcigwKSwgSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6UmVhZE9ubHkgfCBKU0M6OlBy
b3BlcnR5QXR0cmlidXRlOjpEb250RW51bSk7CiB9CiAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RFdmVudENvbnN0cnVjdG9yLmNwcAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0RXZl
bnRDb25zdHJ1Y3Rvci5jcHAJKHJldmlzaW9uIDI4MDYyMykKKysrIFNvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RFdmVudENvbnN0cnVjdG9yLmNwcAkod29ya2lu
ZyBjb3B5KQpAQCAtMjAxLDcgKzIwMSw5IEBAIHRlbXBsYXRlPD4gSlNWYWx1ZSBKU1Rlc3RFdmVu
dENvbnN0cnVjdG8KIHRlbXBsYXRlPD4gdm9pZCBKU1Rlc3RFdmVudENvbnN0cnVjdG9yRE9NQ29u
c3RydWN0b3I6OmluaXRpYWxpemVQcm9wZXJ0aWVzKFZNJiB2bSwgSlNET01HbG9iYWxPYmplY3Qm
IGdsb2JhbE9iamVjdCkKIHsKICAgICBwdXREaXJlY3Qodm0sIHZtLnByb3BlcnR5TmFtZXMtPnBy
b3RvdHlwZSwgSlNUZXN0RXZlbnRDb25zdHJ1Y3Rvcjo6cHJvdG90eXBlKHZtLCBnbG9iYWxPYmpl
Y3QpLCBKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpEb250RGVsZXRlIHwgSlNDOjpQcm9wZXJ0eUF0
dHJpYnV0ZTo6UmVhZE9ubHkgfCBKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpEb250RW51bSk7Ci0g
ICAgcHV0RGlyZWN0KHZtLCB2bS5wcm9wZXJ0eU5hbWVzLT5uYW1lLCBqc05vbnRyaXZpYWxTdHJp
bmcodm0sICJUZXN0RXZlbnRDb25zdHJ1Y3RvciJfcyksIEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6
OlJlYWRPbmx5IHwgSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9udEVudW0pOworICAgIEpTU3Ry
aW5nKiBuYW1lU3RyaW5nID0ganNOb250cml2aWFsU3RyaW5nKHZtLCAiVGVzdEV2ZW50Q29uc3Ry
dWN0b3IiX3MpOworICAgIG1fb3JpZ2luYWxOYW1lLnNldCh2bSwgdGhpcywgbmFtZVN0cmluZyk7
CisgICAgcHV0RGlyZWN0KHZtLCB2bS5wcm9wZXJ0eU5hbWVzLT5uYW1lLCBuYW1lU3RyaW5nLCBK
U0M6OlByb3BlcnR5QXR0cmlidXRlOjpSZWFkT25seSB8IEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6
OkRvbnRFbnVtKTsKICAgICBwdXREaXJlY3Qodm0sIHZtLnByb3BlcnR5TmFtZXMtPmxlbmd0aCwg
anNOdW1iZXIoMSksIEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OlJlYWRPbmx5IHwgSlNDOjpQcm9w
ZXJ0eUF0dHJpYnV0ZTo6RG9udEVudW0pOwogfQogCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0RXZlbnRUYXJnZXQuY3BwCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RFdmVudFRhcmdl
dC5jcHAJKHJldmlzaW9uIDI4MDYyMykKKysrIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Njcmlw
dHMvdGVzdC9KUy9KU1Rlc3RFdmVudFRhcmdldC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTEwMiw3
ICsxMDIsOSBAQCB0ZW1wbGF0ZTw+IEpTVmFsdWUgSlNUZXN0RXZlbnRUYXJnZXRET01DCiB0ZW1w
bGF0ZTw+IHZvaWQgSlNUZXN0RXZlbnRUYXJnZXRET01Db25zdHJ1Y3Rvcjo6aW5pdGlhbGl6ZVBy
b3BlcnRpZXMoVk0mIHZtLCBKU0RPTUdsb2JhbE9iamVjdCYgZ2xvYmFsT2JqZWN0KQogewogICAg
IHB1dERpcmVjdCh2bSwgdm0ucHJvcGVydHlOYW1lcy0+cHJvdG90eXBlLCBKU1Rlc3RFdmVudFRh
cmdldDo6cHJvdG90eXBlKHZtLCBnbG9iYWxPYmplY3QpLCBKU0M6OlByb3BlcnR5QXR0cmlidXRl
OjpEb250RGVsZXRlIHwgSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6UmVhZE9ubHkgfCBKU0M6OlBy
b3BlcnR5QXR0cmlidXRlOjpEb250RW51bSk7Ci0gICAgcHV0RGlyZWN0KHZtLCB2bS5wcm9wZXJ0
eU5hbWVzLT5uYW1lLCBqc05vbnRyaXZpYWxTdHJpbmcodm0sICJUZXN0RXZlbnRUYXJnZXQiX3Mp
LCBKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpSZWFkT25seSB8IEpTQzo6UHJvcGVydHlBdHRyaWJ1
dGU6OkRvbnRFbnVtKTsKKyAgICBKU1N0cmluZyogbmFtZVN0cmluZyA9IGpzTm9udHJpdmlhbFN0
cmluZyh2bSwgIlRlc3RFdmVudFRhcmdldCJfcyk7CisgICAgbV9vcmlnaW5hbE5hbWUuc2V0KHZt
LCB0aGlzLCBuYW1lU3RyaW5nKTsKKyAgICBwdXREaXJlY3Qodm0sIHZtLnByb3BlcnR5TmFtZXMt
Pm5hbWUsIG5hbWVTdHJpbmcsIEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OlJlYWRPbmx5IHwgSlND
OjpQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9udEVudW0pOwogICAgIHB1dERpcmVjdCh2bSwgdm0ucHJv
cGVydHlOYW1lcy0+bGVuZ3RoLCBqc051bWJlcigwKSwgSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6
UmVhZE9ubHkgfCBKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpEb250RW51bSk7CiB9CiAKSW5kZXg6
IFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RFeGNlcHRpb24u
Y3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9K
Uy9KU1Rlc3RFeGNlcHRpb24uY3BwCShyZXZpc2lvbiAyODA2MjMpCisrKyBTb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0RXhjZXB0aW9uLmNwcAkod29ya2luZyBj
b3B5KQpAQCAtOTYsNyArOTYsOSBAQCB0ZW1wbGF0ZTw+IEpTVmFsdWUgSlNUZXN0RXhjZXB0aW9u
RE9NQ29uCiB0ZW1wbGF0ZTw+IHZvaWQgSlNUZXN0RXhjZXB0aW9uRE9NQ29uc3RydWN0b3I6Omlu
aXRpYWxpemVQcm9wZXJ0aWVzKFZNJiB2bSwgSlNET01HbG9iYWxPYmplY3QmIGdsb2JhbE9iamVj
dCkKIHsKICAgICBwdXREaXJlY3Qodm0sIHZtLnByb3BlcnR5TmFtZXMtPnByb3RvdHlwZSwgSlNU
ZXN0RXhjZXB0aW9uOjpwcm90b3R5cGUodm0sIGdsb2JhbE9iamVjdCksIEpTQzo6UHJvcGVydHlB
dHRyaWJ1dGU6OkRvbnREZWxldGUgfCBKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpSZWFkT25seSB8
IEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OkRvbnRFbnVtKTsKLSAgICBwdXREaXJlY3Qodm0sIHZt
LnByb3BlcnR5TmFtZXMtPm5hbWUsIGpzTm9udHJpdmlhbFN0cmluZyh2bSwgIlRlc3RFeGNlcHRp
b24iX3MpLCBKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpSZWFkT25seSB8IEpTQzo6UHJvcGVydHlB
dHRyaWJ1dGU6OkRvbnRFbnVtKTsKKyAgICBKU1N0cmluZyogbmFtZVN0cmluZyA9IGpzTm9udHJp
dmlhbFN0cmluZyh2bSwgIlRlc3RFeGNlcHRpb24iX3MpOworICAgIG1fb3JpZ2luYWxOYW1lLnNl
dCh2bSwgdGhpcywgbmFtZVN0cmluZyk7CisgICAgcHV0RGlyZWN0KHZtLCB2bS5wcm9wZXJ0eU5h
bWVzLT5uYW1lLCBuYW1lU3RyaW5nLCBKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpSZWFkT25seSB8
IEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OkRvbnRFbnVtKTsKICAgICBwdXREaXJlY3Qodm0sIHZt
LnByb3BlcnR5TmFtZXMtPmxlbmd0aCwganNOdW1iZXIoMCksIEpTQzo6UHJvcGVydHlBdHRyaWJ1
dGU6OlJlYWRPbmx5IHwgSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9udEVudW0pOwogfQogCklu
ZGV4OiBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0R2VuZXJh
dGVBZGRPcGFxdWVSb290LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0R2VuZXJhdGVBZGRPcGFxdWVSb290LmNwcAkocmV2aXNp
b24gMjgwNjIzKQorKysgU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pT
VGVzdEdlbmVyYXRlQWRkT3BhcXVlUm9vdC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTk2LDcgKzk2
LDkgQEAgdGVtcGxhdGU8PiBKU1ZhbHVlIEpTVGVzdEdlbmVyYXRlQWRkT3BhcQogdGVtcGxhdGU8
PiB2b2lkIEpTVGVzdEdlbmVyYXRlQWRkT3BhcXVlUm9vdERPTUNvbnN0cnVjdG9yOjppbml0aWFs
aXplUHJvcGVydGllcyhWTSYgdm0sIEpTRE9NR2xvYmFsT2JqZWN0JiBnbG9iYWxPYmplY3QpCiB7
CiAgICAgcHV0RGlyZWN0KHZtLCB2bS5wcm9wZXJ0eU5hbWVzLT5wcm90b3R5cGUsIEpTVGVzdEdl
bmVyYXRlQWRkT3BhcXVlUm9vdDo6cHJvdG90eXBlKHZtLCBnbG9iYWxPYmplY3QpLCBKU0M6OlBy
b3BlcnR5QXR0cmlidXRlOjpEb250RGVsZXRlIHwgSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6UmVh
ZE9ubHkgfCBKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpEb250RW51bSk7Ci0gICAgcHV0RGlyZWN0
KHZtLCB2bS5wcm9wZXJ0eU5hbWVzLT5uYW1lLCBqc05vbnRyaXZpYWxTdHJpbmcodm0sICJUZXN0
R2VuZXJhdGVBZGRPcGFxdWVSb290Il9zKSwgSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6UmVhZE9u
bHkgfCBKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpEb250RW51bSk7CisgICAgSlNTdHJpbmcqIG5h
bWVTdHJpbmcgPSBqc05vbnRyaXZpYWxTdHJpbmcodm0sICJUZXN0R2VuZXJhdGVBZGRPcGFxdWVS
b290Il9zKTsKKyAgICBtX29yaWdpbmFsTmFtZS5zZXQodm0sIHRoaXMsIG5hbWVTdHJpbmcpOwor
ICAgIHB1dERpcmVjdCh2bSwgdm0ucHJvcGVydHlOYW1lcy0+bmFtZSwgbmFtZVN0cmluZywgSlND
OjpQcm9wZXJ0eUF0dHJpYnV0ZTo6UmVhZE9ubHkgfCBKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpE
b250RW51bSk7CiAgICAgcHV0RGlyZWN0KHZtLCB2bS5wcm9wZXJ0eU5hbWVzLT5sZW5ndGgsIGpz
TnVtYmVyKDApLCBKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpSZWFkT25seSB8IEpTQzo6UHJvcGVy
dHlBdHRyaWJ1dGU6OkRvbnRFbnVtKTsKIH0KIApJbmRleDogU291cmNlL1dlYkNvcmUvYmluZGlu
Z3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdEdlbmVyYXRlSXNSZWFjaGFibGUuY3BwCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RHZW5l
cmF0ZUlzUmVhY2hhYmxlLmNwcAkocmV2aXNpb24gMjgwNjIzKQorKysgU291cmNlL1dlYkNvcmUv
YmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdEdlbmVyYXRlSXNSZWFjaGFibGUuY3BwCSh3
b3JraW5nIGNvcHkpCkBAIC05Niw3ICs5Niw5IEBAIHRlbXBsYXRlPD4gSlNWYWx1ZSBKU1Rlc3RH
ZW5lcmF0ZUlzUmVhY2gKIHRlbXBsYXRlPD4gdm9pZCBKU1Rlc3RHZW5lcmF0ZUlzUmVhY2hhYmxl
RE9NQ29uc3RydWN0b3I6OmluaXRpYWxpemVQcm9wZXJ0aWVzKFZNJiB2bSwgSlNET01HbG9iYWxP
YmplY3QmIGdsb2JhbE9iamVjdCkKIHsKICAgICBwdXREaXJlY3Qodm0sIHZtLnByb3BlcnR5TmFt
ZXMtPnByb3RvdHlwZSwgSlNUZXN0R2VuZXJhdGVJc1JlYWNoYWJsZTo6cHJvdG90eXBlKHZtLCBn
bG9iYWxPYmplY3QpLCBKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpEb250RGVsZXRlIHwgSlNDOjpQ
cm9wZXJ0eUF0dHJpYnV0ZTo6UmVhZE9ubHkgfCBKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpEb250
RW51bSk7Ci0gICAgcHV0RGlyZWN0KHZtLCB2bS5wcm9wZXJ0eU5hbWVzLT5uYW1lLCBqc05vbnRy
aXZpYWxTdHJpbmcodm0sICJUZXN0R2VuZXJhdGVJc1JlYWNoYWJsZSJfcyksIEpTQzo6UHJvcGVy
dHlBdHRyaWJ1dGU6OlJlYWRPbmx5IHwgSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9udEVudW0p
OworICAgIEpTU3RyaW5nKiBuYW1lU3RyaW5nID0ganNOb250cml2aWFsU3RyaW5nKHZtLCAiVGVz
dEdlbmVyYXRlSXNSZWFjaGFibGUiX3MpOworICAgIG1fb3JpZ2luYWxOYW1lLnNldCh2bSwgdGhp
cywgbmFtZVN0cmluZyk7CisgICAgcHV0RGlyZWN0KHZtLCB2bS5wcm9wZXJ0eU5hbWVzLT5uYW1l
LCBuYW1lU3RyaW5nLCBKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpSZWFkT25seSB8IEpTQzo6UHJv
cGVydHlBdHRyaWJ1dGU6OkRvbnRFbnVtKTsKICAgICBwdXREaXJlY3Qodm0sIHZtLnByb3BlcnR5
TmFtZXMtPmxlbmd0aCwganNOdW1iZXIoMCksIEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OlJlYWRP
bmx5IHwgSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9udEVudW0pOwogfQogCkluZGV4OiBTb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0R2xvYmFsT2JqZWN0LmNw
cAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMv
SlNUZXN0R2xvYmFsT2JqZWN0LmNwcAkocmV2aXNpb24gMjgwNjIzKQorKysgU291cmNlL1dlYkNv
cmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdEdsb2JhbE9iamVjdC5jcHAJKHdvcmtp
bmcgY29weSkKQEAgLTYyNiw3ICs2MjYsOSBAQCB0ZW1wbGF0ZTw+IEpTVmFsdWUgSlNUZXN0R2xv
YmFsT2JqZWN0RE9NCiB0ZW1wbGF0ZTw+IHZvaWQgSlNUZXN0R2xvYmFsT2JqZWN0RE9NQ29uc3Ry
dWN0b3I6OmluaXRpYWxpemVQcm9wZXJ0aWVzKFZNJiB2bSwgSlNET01HbG9iYWxPYmplY3QmIGds
b2JhbE9iamVjdCkKIHsKICAgICBwdXREaXJlY3Qodm0sIHZtLnByb3BlcnR5TmFtZXMtPnByb3Rv
dHlwZSwgZ2xvYmFsT2JqZWN0LmdldFByb3RvdHlwZURpcmVjdCh2bSksIEpTQzo6UHJvcGVydHlB
dHRyaWJ1dGU6OkRvbnREZWxldGUgfCBKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpSZWFkT25seSB8
IEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OkRvbnRFbnVtKTsKLSAgICBwdXREaXJlY3Qodm0sIHZt
LnByb3BlcnR5TmFtZXMtPm5hbWUsIGpzTm9udHJpdmlhbFN0cmluZyh2bSwgIlRlc3RHbG9iYWxP
YmplY3QiX3MpLCBKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpSZWFkT25seSB8IEpTQzo6UHJvcGVy
dHlBdHRyaWJ1dGU6OkRvbnRFbnVtKTsKKyAgICBKU1N0cmluZyogbmFtZVN0cmluZyA9IGpzTm9u
dHJpdmlhbFN0cmluZyh2bSwgIlRlc3RHbG9iYWxPYmplY3QiX3MpOworICAgIG1fb3JpZ2luYWxO
YW1lLnNldCh2bSwgdGhpcywgbmFtZVN0cmluZyk7CisgICAgcHV0RGlyZWN0KHZtLCB2bS5wcm9w
ZXJ0eU5hbWVzLT5uYW1lLCBuYW1lU3RyaW5nLCBKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpSZWFk
T25seSB8IEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OkRvbnRFbnVtKTsKICAgICBwdXREaXJlY3Qo
dm0sIHZtLnByb3BlcnR5TmFtZXMtPmxlbmd0aCwganNOdW1iZXIoMCksIEpTQzo6UHJvcGVydHlB
dHRyaWJ1dGU6OlJlYWRPbmx5IHwgSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9udEVudW0pOwog
ICAgIHJlaWZ5U3RhdGljUHJvcGVydGllcyh2bSwgSlNUZXN0R2xvYmFsT2JqZWN0OjppbmZvKCks
IEpTVGVzdEdsb2JhbE9iamVjdENvbnN0cnVjdG9yVGFibGVWYWx1ZXMsICp0aGlzKTsKIH0KSW5k
ZXg6IFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RJbmRleGVk
U2V0dGVyTm9JZGVudGlmaWVyLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0SW5kZXhlZFNldHRlck5vSWRlbnRpZmllci5jcHAJ
KHJldmlzaW9uIDI4MDYyMykKKysrIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVz
dC9KUy9KU1Rlc3RJbmRleGVkU2V0dGVyTm9JZGVudGlmaWVyLmNwcAkod29ya2luZyBjb3B5KQpA
QCAtOTUsNyArOTUsOSBAQCB0ZW1wbGF0ZTw+IEpTVmFsdWUgSlNUZXN0SW5kZXhlZFNldHRlck5v
CiB0ZW1wbGF0ZTw+IHZvaWQgSlNUZXN0SW5kZXhlZFNldHRlck5vSWRlbnRpZmllckRPTUNvbnN0
cnVjdG9yOjppbml0aWFsaXplUHJvcGVydGllcyhWTSYgdm0sIEpTRE9NR2xvYmFsT2JqZWN0JiBn
bG9iYWxPYmplY3QpCiB7CiAgICAgcHV0RGlyZWN0KHZtLCB2bS5wcm9wZXJ0eU5hbWVzLT5wcm90
b3R5cGUsIEpTVGVzdEluZGV4ZWRTZXR0ZXJOb0lkZW50aWZpZXI6OnByb3RvdHlwZSh2bSwgZ2xv
YmFsT2JqZWN0KSwgSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9udERlbGV0ZSB8IEpTQzo6UHJv
cGVydHlBdHRyaWJ1dGU6OlJlYWRPbmx5IHwgSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9udEVu
dW0pOwotICAgIHB1dERpcmVjdCh2bSwgdm0ucHJvcGVydHlOYW1lcy0+bmFtZSwganNOb250cml2
aWFsU3RyaW5nKHZtLCAiVGVzdEluZGV4ZWRTZXR0ZXJOb0lkZW50aWZpZXIiX3MpLCBKU0M6OlBy
b3BlcnR5QXR0cmlidXRlOjpSZWFkT25seSB8IEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OkRvbnRF
bnVtKTsKKyAgICBKU1N0cmluZyogbmFtZVN0cmluZyA9IGpzTm9udHJpdmlhbFN0cmluZyh2bSwg
IlRlc3RJbmRleGVkU2V0dGVyTm9JZGVudGlmaWVyIl9zKTsKKyAgICBtX29yaWdpbmFsTmFtZS5z
ZXQodm0sIHRoaXMsIG5hbWVTdHJpbmcpOworICAgIHB1dERpcmVjdCh2bSwgdm0ucHJvcGVydHlO
YW1lcy0+bmFtZSwgbmFtZVN0cmluZywgSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6UmVhZE9ubHkg
fCBKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpEb250RW51bSk7CiAgICAgcHV0RGlyZWN0KHZtLCB2
bS5wcm9wZXJ0eU5hbWVzLT5sZW5ndGgsIGpzTnVtYmVyKDApLCBKU0M6OlByb3BlcnR5QXR0cmli
dXRlOjpSZWFkT25seSB8IEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OkRvbnRFbnVtKTsKIH0KIApJ
bmRleDogU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdEluZGV4
ZWRTZXR0ZXJUaHJvd2luZ0V4Y2VwdGlvbi5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNv
cmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdEluZGV4ZWRTZXR0ZXJUaHJvd2luZ0V4
Y2VwdGlvbi5jcHAJKHJldmlzaW9uIDI4MDYyMykKKysrIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RJbmRleGVkU2V0dGVyVGhyb3dpbmdFeGNlcHRpb24uY3Bw
CSh3b3JraW5nIGNvcHkpCkBAIC05NSw3ICs5NSw5IEBAIHRlbXBsYXRlPD4gSlNWYWx1ZSBKU1Rl
c3RJbmRleGVkU2V0dGVyVGgKIHRlbXBsYXRlPD4gdm9pZCBKU1Rlc3RJbmRleGVkU2V0dGVyVGhy
b3dpbmdFeGNlcHRpb25ET01Db25zdHJ1Y3Rvcjo6aW5pdGlhbGl6ZVByb3BlcnRpZXMoVk0mIHZt
LCBKU0RPTUdsb2JhbE9iamVjdCYgZ2xvYmFsT2JqZWN0KQogewogICAgIHB1dERpcmVjdCh2bSwg
dm0ucHJvcGVydHlOYW1lcy0+cHJvdG90eXBlLCBKU1Rlc3RJbmRleGVkU2V0dGVyVGhyb3dpbmdF
eGNlcHRpb246OnByb3RvdHlwZSh2bSwgZ2xvYmFsT2JqZWN0KSwgSlNDOjpQcm9wZXJ0eUF0dHJp
YnV0ZTo6RG9udERlbGV0ZSB8IEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OlJlYWRPbmx5IHwgSlND
OjpQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9udEVudW0pOwotICAgIHB1dERpcmVjdCh2bSwgdm0ucHJv
cGVydHlOYW1lcy0+bmFtZSwganNOb250cml2aWFsU3RyaW5nKHZtLCAiVGVzdEluZGV4ZWRTZXR0
ZXJUaHJvd2luZ0V4Y2VwdGlvbiJfcyksIEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OlJlYWRPbmx5
IHwgSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9udEVudW0pOworICAgIEpTU3RyaW5nKiBuYW1l
U3RyaW5nID0ganNOb250cml2aWFsU3RyaW5nKHZtLCAiVGVzdEluZGV4ZWRTZXR0ZXJUaHJvd2lu
Z0V4Y2VwdGlvbiJfcyk7CisgICAgbV9vcmlnaW5hbE5hbWUuc2V0KHZtLCB0aGlzLCBuYW1lU3Ry
aW5nKTsKKyAgICBwdXREaXJlY3Qodm0sIHZtLnByb3BlcnR5TmFtZXMtPm5hbWUsIG5hbWVTdHJp
bmcsIEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OlJlYWRPbmx5IHwgSlNDOjpQcm9wZXJ0eUF0dHJp
YnV0ZTo6RG9udEVudW0pOwogICAgIHB1dERpcmVjdCh2bSwgdm0ucHJvcGVydHlOYW1lcy0+bGVu
Z3RoLCBqc051bWJlcigwKSwgSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6UmVhZE9ubHkgfCBKU0M6
OlByb3BlcnR5QXR0cmlidXRlOjpEb250RW51bSk7CiB9CiAKSW5kZXg6IFNvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RJbmRleGVkU2V0dGVyV2l0aElkZW50aWZp
ZXIuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVz
dC9KUy9KU1Rlc3RJbmRleGVkU2V0dGVyV2l0aElkZW50aWZpZXIuY3BwCShyZXZpc2lvbiAyODA2
MjMpCisrKyBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0SW5k
ZXhlZFNldHRlcldpdGhJZGVudGlmaWVyLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTAzLDcgKzEw
Myw5IEBAIHRlbXBsYXRlPD4gSlNWYWx1ZSBKU1Rlc3RJbmRleGVkU2V0dGVyV2kKIHRlbXBsYXRl
PD4gdm9pZCBKU1Rlc3RJbmRleGVkU2V0dGVyV2l0aElkZW50aWZpZXJET01Db25zdHJ1Y3Rvcjo6
aW5pdGlhbGl6ZVByb3BlcnRpZXMoVk0mIHZtLCBKU0RPTUdsb2JhbE9iamVjdCYgZ2xvYmFsT2Jq
ZWN0KQogewogICAgIHB1dERpcmVjdCh2bSwgdm0ucHJvcGVydHlOYW1lcy0+cHJvdG90eXBlLCBK
U1Rlc3RJbmRleGVkU2V0dGVyV2l0aElkZW50aWZpZXI6OnByb3RvdHlwZSh2bSwgZ2xvYmFsT2Jq
ZWN0KSwgSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9udERlbGV0ZSB8IEpTQzo6UHJvcGVydHlB
dHRyaWJ1dGU6OlJlYWRPbmx5IHwgSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9udEVudW0pOwot
ICAgIHB1dERpcmVjdCh2bSwgdm0ucHJvcGVydHlOYW1lcy0+bmFtZSwganNOb250cml2aWFsU3Ry
aW5nKHZtLCAiVGVzdEluZGV4ZWRTZXR0ZXJXaXRoSWRlbnRpZmllciJfcyksIEpTQzo6UHJvcGVy
dHlBdHRyaWJ1dGU6OlJlYWRPbmx5IHwgSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9udEVudW0p
OworICAgIEpTU3RyaW5nKiBuYW1lU3RyaW5nID0ganNOb250cml2aWFsU3RyaW5nKHZtLCAiVGVz
dEluZGV4ZWRTZXR0ZXJXaXRoSWRlbnRpZmllciJfcyk7CisgICAgbV9vcmlnaW5hbE5hbWUuc2V0
KHZtLCB0aGlzLCBuYW1lU3RyaW5nKTsKKyAgICBwdXREaXJlY3Qodm0sIHZtLnByb3BlcnR5TmFt
ZXMtPm5hbWUsIG5hbWVTdHJpbmcsIEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OlJlYWRPbmx5IHwg
SlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9udEVudW0pOwogICAgIHB1dERpcmVjdCh2bSwgdm0u
cHJvcGVydHlOYW1lcy0+bGVuZ3RoLCBqc051bWJlcigwKSwgSlNDOjpQcm9wZXJ0eUF0dHJpYnV0
ZTo6UmVhZE9ubHkgfCBKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpEb250RW51bSk7CiB9CiAKSW5k
ZXg6IFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RJbnRlcmZh
Y2UuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVz
dC9KUy9KU1Rlc3RJbnRlcmZhY2UuY3BwCShyZXZpc2lvbiAyODA2MjMpCisrKyBTb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0SW50ZXJmYWNlLmNwcAkod29ya2lu
ZyBjb3B5KQpAQCAtMzAwLDcgKzMwMCw5IEBAIHRlbXBsYXRlPD4gSlNWYWx1ZSBKU1Rlc3RJbnRl
cmZhY2VET01Db24KIHRlbXBsYXRlPD4gdm9pZCBKU1Rlc3RJbnRlcmZhY2VET01Db25zdHJ1Y3Rv
cjo6aW5pdGlhbGl6ZVByb3BlcnRpZXMoVk0mIHZtLCBKU0RPTUdsb2JhbE9iamVjdCYgZ2xvYmFs
T2JqZWN0KQogewogICAgIHB1dERpcmVjdCh2bSwgdm0ucHJvcGVydHlOYW1lcy0+cHJvdG90eXBl
LCBKU1Rlc3RJbnRlcmZhY2U6OnByb3RvdHlwZSh2bSwgZ2xvYmFsT2JqZWN0KSwgSlNDOjpQcm9w
ZXJ0eUF0dHJpYnV0ZTo6RG9udERlbGV0ZSB8IEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OlJlYWRP
bmx5IHwgSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9udEVudW0pOwotICAgIHB1dERpcmVjdCh2
bSwgdm0ucHJvcGVydHlOYW1lcy0+bmFtZSwganNOb250cml2aWFsU3RyaW5nKHZtLCAiVGVzdElu
dGVyZmFjZSJfcyksIEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OlJlYWRPbmx5IHwgSlNDOjpQcm9w
ZXJ0eUF0dHJpYnV0ZTo6RG9udEVudW0pOworICAgIEpTU3RyaW5nKiBuYW1lU3RyaW5nID0ganNO
b250cml2aWFsU3RyaW5nKHZtLCAiVGVzdEludGVyZmFjZSJfcyk7CisgICAgbV9vcmlnaW5hbE5h
bWUuc2V0KHZtLCB0aGlzLCBuYW1lU3RyaW5nKTsKKyAgICBwdXREaXJlY3Qodm0sIHZtLnByb3Bl
cnR5TmFtZXMtPm5hbWUsIG5hbWVTdHJpbmcsIEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OlJlYWRP
bmx5IHwgSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9udEVudW0pOwogICAgIHB1dERpcmVjdCh2
bSwgdm0ucHJvcGVydHlOYW1lcy0+bGVuZ3RoLCBqc051bWJlcigxKSwgSlNDOjpQcm9wZXJ0eUF0
dHJpYnV0ZTo6UmVhZE9ubHkgfCBKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpEb250RW51bSk7CiAg
ICAgcmVpZnlTdGF0aWNQcm9wZXJ0aWVzKHZtLCBKU1Rlc3RJbnRlcmZhY2U6OmluZm8oKSwgSlNU
ZXN0SW50ZXJmYWNlQ29uc3RydWN0b3JUYWJsZVZhbHVlcywgKnRoaXMpOwogfQpJbmRleDogU291
cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdEludGVyZmFjZUxlYWRp
bmdVbmRlcnNjb3JlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9z
Y3JpcHRzL3Rlc3QvSlMvSlNUZXN0SW50ZXJmYWNlTGVhZGluZ1VuZGVyc2NvcmUuY3BwCShyZXZp
c2lvbiAyODA2MjMpCisrKyBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMv
SlNUZXN0SW50ZXJmYWNlTGVhZGluZ1VuZGVyc2NvcmUuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC05
Niw3ICs5Niw5IEBAIHRlbXBsYXRlPD4gSlNWYWx1ZSBKU1Rlc3RJbnRlcmZhY2VMZWFkaW4KIHRl
bXBsYXRlPD4gdm9pZCBKU1Rlc3RJbnRlcmZhY2VMZWFkaW5nVW5kZXJzY29yZURPTUNvbnN0cnVj
dG9yOjppbml0aWFsaXplUHJvcGVydGllcyhWTSYgdm0sIEpTRE9NR2xvYmFsT2JqZWN0JiBnbG9i
YWxPYmplY3QpCiB7CiAgICAgcHV0RGlyZWN0KHZtLCB2bS5wcm9wZXJ0eU5hbWVzLT5wcm90b3R5
cGUsIEpTVGVzdEludGVyZmFjZUxlYWRpbmdVbmRlcnNjb3JlOjpwcm90b3R5cGUodm0sIGdsb2Jh
bE9iamVjdCksIEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OkRvbnREZWxldGUgfCBKU0M6OlByb3Bl
cnR5QXR0cmlidXRlOjpSZWFkT25seSB8IEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OkRvbnRFbnVt
KTsKLSAgICBwdXREaXJlY3Qodm0sIHZtLnByb3BlcnR5TmFtZXMtPm5hbWUsIGpzTm9udHJpdmlh
bFN0cmluZyh2bSwgIlRlc3RJbnRlcmZhY2VMZWFkaW5nVW5kZXJzY29yZSJfcyksIEpTQzo6UHJv
cGVydHlBdHRyaWJ1dGU6OlJlYWRPbmx5IHwgSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9udEVu
dW0pOworICAgIEpTU3RyaW5nKiBuYW1lU3RyaW5nID0ganNOb250cml2aWFsU3RyaW5nKHZtLCAi
VGVzdEludGVyZmFjZUxlYWRpbmdVbmRlcnNjb3JlIl9zKTsKKyAgICBtX29yaWdpbmFsTmFtZS5z
ZXQodm0sIHRoaXMsIG5hbWVTdHJpbmcpOworICAgIHB1dERpcmVjdCh2bSwgdm0ucHJvcGVydHlO
YW1lcy0+bmFtZSwgbmFtZVN0cmluZywgSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6UmVhZE9ubHkg
fCBKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpEb250RW51bSk7CiAgICAgcHV0RGlyZWN0KHZtLCB2
bS5wcm9wZXJ0eU5hbWVzLT5sZW5ndGgsIGpzTnVtYmVyKDApLCBKU0M6OlByb3BlcnR5QXR0cmli
dXRlOjpSZWFkT25seSB8IEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OkRvbnRFbnVtKTsKIH0KIApJ
bmRleDogU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdEl0ZXJh
YmxlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rl
c3QvSlMvSlNUZXN0SXRlcmFibGUuY3BwCShyZXZpc2lvbiAyODA2MjMpCisrKyBTb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0SXRlcmFibGUuY3BwCSh3b3JraW5n
IGNvcHkpCkBAIC0xMDUsNyArMTA1LDkgQEAgdGVtcGxhdGU8PiBKU1ZhbHVlIEpTVGVzdEl0ZXJh
YmxlRE9NQ29ucwogdGVtcGxhdGU8PiB2b2lkIEpTVGVzdEl0ZXJhYmxlRE9NQ29uc3RydWN0b3I6
OmluaXRpYWxpemVQcm9wZXJ0aWVzKFZNJiB2bSwgSlNET01HbG9iYWxPYmplY3QmIGdsb2JhbE9i
amVjdCkKIHsKICAgICBwdXREaXJlY3Qodm0sIHZtLnByb3BlcnR5TmFtZXMtPnByb3RvdHlwZSwg
SlNUZXN0SXRlcmFibGU6OnByb3RvdHlwZSh2bSwgZ2xvYmFsT2JqZWN0KSwgSlNDOjpQcm9wZXJ0
eUF0dHJpYnV0ZTo6RG9udERlbGV0ZSB8IEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OlJlYWRPbmx5
IHwgSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9udEVudW0pOwotICAgIHB1dERpcmVjdCh2bSwg
dm0ucHJvcGVydHlOYW1lcy0+bmFtZSwganNOb250cml2aWFsU3RyaW5nKHZtLCAiVGVzdEl0ZXJh
YmxlIl9zKSwgSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6UmVhZE9ubHkgfCBKU0M6OlByb3BlcnR5
QXR0cmlidXRlOjpEb250RW51bSk7CisgICAgSlNTdHJpbmcqIG5hbWVTdHJpbmcgPSBqc05vbnRy
aXZpYWxTdHJpbmcodm0sICJUZXN0SXRlcmFibGUiX3MpOworICAgIG1fb3JpZ2luYWxOYW1lLnNl
dCh2bSwgdGhpcywgbmFtZVN0cmluZyk7CisgICAgcHV0RGlyZWN0KHZtLCB2bS5wcm9wZXJ0eU5h
bWVzLT5uYW1lLCBuYW1lU3RyaW5nLCBKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpSZWFkT25seSB8
IEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OkRvbnRFbnVtKTsKICAgICBwdXREaXJlY3Qodm0sIHZt
LnByb3BlcnR5TmFtZXMtPmxlbmd0aCwganNOdW1iZXIoMCksIEpTQzo6UHJvcGVydHlBdHRyaWJ1
dGU6OlJlYWRPbmx5IHwgSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9udEVudW0pOwogfQogCklu
ZGV4OiBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0SlNCdWls
dGluQ29uc3RydWN0b3IuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RKU0J1aWx0aW5Db25zdHJ1Y3Rvci5jcHAJKHJldmlzaW9u
IDI4MDYyMykKKysrIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rl
c3RKU0J1aWx0aW5Db25zdHJ1Y3Rvci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTk5LDcgKzk5LDkg
QEAgdGVtcGxhdGU8PiBKU1ZhbHVlIEpTVGVzdEpTQnVpbHRpbkNvbnN0cgogdGVtcGxhdGU8PiB2
b2lkIEpTVGVzdEpTQnVpbHRpbkNvbnN0cnVjdG9yRE9NQ29uc3RydWN0b3I6OmluaXRpYWxpemVQ
cm9wZXJ0aWVzKFZNJiB2bSwgSlNET01HbG9iYWxPYmplY3QmIGdsb2JhbE9iamVjdCkKIHsKICAg
ICBwdXREaXJlY3Qodm0sIHZtLnByb3BlcnR5TmFtZXMtPnByb3RvdHlwZSwgSlNUZXN0SlNCdWls
dGluQ29uc3RydWN0b3I6OnByb3RvdHlwZSh2bSwgZ2xvYmFsT2JqZWN0KSwgSlNDOjpQcm9wZXJ0
eUF0dHJpYnV0ZTo6RG9udERlbGV0ZSB8IEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OlJlYWRPbmx5
IHwgSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9udEVudW0pOwotICAgIHB1dERpcmVjdCh2bSwg
dm0ucHJvcGVydHlOYW1lcy0+bmFtZSwganNOb250cml2aWFsU3RyaW5nKHZtLCAiVGVzdEpTQnVp
bHRpbkNvbnN0cnVjdG9yIl9zKSwgSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6UmVhZE9ubHkgfCBK
U0M6OlByb3BlcnR5QXR0cmlidXRlOjpEb250RW51bSk7CisgICAgSlNTdHJpbmcqIG5hbWVTdHJp
bmcgPSBqc05vbnRyaXZpYWxTdHJpbmcodm0sICJUZXN0SlNCdWlsdGluQ29uc3RydWN0b3IiX3Mp
OworICAgIG1fb3JpZ2luYWxOYW1lLnNldCh2bSwgdGhpcywgbmFtZVN0cmluZyk7CisgICAgcHV0
RGlyZWN0KHZtLCB2bS5wcm9wZXJ0eU5hbWVzLT5uYW1lLCBuYW1lU3RyaW5nLCBKU0M6OlByb3Bl
cnR5QXR0cmlidXRlOjpSZWFkT25seSB8IEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OkRvbnRFbnVt
KTsKICAgICBwdXREaXJlY3Qodm0sIHZtLnByb3BlcnR5TmFtZXMtPmxlbmd0aCwganNOdW1iZXIo
MCksIEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OlJlYWRPbmx5IHwgSlNDOjpQcm9wZXJ0eUF0dHJp
YnV0ZTo6RG9udEVudW0pOwogfQogCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3Jp
cHRzL3Rlc3QvSlMvSlNUZXN0TGVnYWN5RmFjdG9yeUZ1bmN0aW9uLmNwcAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0TGVnYWN5RmFj
dG9yeUZ1bmN0aW9uLmNwcAkocmV2aXNpb24gMjgwNjIzKQorKysgU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdExlZ2FjeUZhY3RvcnlGdW5jdGlvbi5jcHAJKHdv
cmtpbmcgY29weSkKQEAgLTk4LDcgKzk4LDkgQEAgdGVtcGxhdGU8PiBKU1ZhbHVlIEpTVGVzdExl
Z2FjeUZhY3RvcnlGdQogdGVtcGxhdGU8PiB2b2lkIEpTVGVzdExlZ2FjeUZhY3RvcnlGdW5jdGlv
bkRPTUNvbnN0cnVjdG9yOjppbml0aWFsaXplUHJvcGVydGllcyhWTSYgdm0sIEpTRE9NR2xvYmFs
T2JqZWN0JiBnbG9iYWxPYmplY3QpCiB7CiAgICAgcHV0RGlyZWN0KHZtLCB2bS5wcm9wZXJ0eU5h
bWVzLT5wcm90b3R5cGUsIEpTVGVzdExlZ2FjeUZhY3RvcnlGdW5jdGlvbjo6cHJvdG90eXBlKHZt
LCBnbG9iYWxPYmplY3QpLCBKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpEb250RGVsZXRlIHwgSlND
OjpQcm9wZXJ0eUF0dHJpYnV0ZTo6UmVhZE9ubHkgfCBKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpE
b250RW51bSk7Ci0gICAgcHV0RGlyZWN0KHZtLCB2bS5wcm9wZXJ0eU5hbWVzLT5uYW1lLCBqc05v
bnRyaXZpYWxTdHJpbmcodm0sICJUZXN0TGVnYWN5RmFjdG9yeUZ1bmN0aW9uIl9zKSwgSlNDOjpQ
cm9wZXJ0eUF0dHJpYnV0ZTo6UmVhZE9ubHkgfCBKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpEb250
RW51bSk7CisgICAgSlNTdHJpbmcqIG5hbWVTdHJpbmcgPSBqc05vbnRyaXZpYWxTdHJpbmcodm0s
ICJUZXN0TGVnYWN5RmFjdG9yeUZ1bmN0aW9uIl9zKTsKKyAgICBtX29yaWdpbmFsTmFtZS5zZXQo
dm0sIHRoaXMsIG5hbWVTdHJpbmcpOworICAgIHB1dERpcmVjdCh2bSwgdm0ucHJvcGVydHlOYW1l
cy0+bmFtZSwgbmFtZVN0cmluZywgSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6UmVhZE9ubHkgfCBK
U0M6OlByb3BlcnR5QXR0cmlidXRlOjpEb250RW51bSk7CiAgICAgcHV0RGlyZWN0KHZtLCB2bS5w
cm9wZXJ0eU5hbWVzLT5sZW5ndGgsIGpzTnVtYmVyKDEpLCBKU0M6OlByb3BlcnR5QXR0cmlidXRl
OjpSZWFkT25seSB8IEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OkRvbnRFbnVtKTsKIH0KIApAQCAt
MTQ2LDcgKzE0OCw5IEBAIHRlbXBsYXRlPD4gSlNWYWx1ZSBKU1Rlc3RMZWdhY3lGYWN0b3J5RnUK
IHRlbXBsYXRlPD4gdm9pZCBKU1Rlc3RMZWdhY3lGYWN0b3J5RnVuY3Rpb25MZWdhY3lGYWN0b3J5
RnVuY3Rpb246OmluaXRpYWxpemVQcm9wZXJ0aWVzKFZNJiB2bSwgSlNET01HbG9iYWxPYmplY3Qm
IGdsb2JhbE9iamVjdCkKIHsKICAgICBwdXREaXJlY3Qodm0sIHZtLnByb3BlcnR5TmFtZXMtPnBy
b3RvdHlwZSwgSlNUZXN0TGVnYWN5RmFjdG9yeUZ1bmN0aW9uOjpwcm90b3R5cGUodm0sIGdsb2Jh
bE9iamVjdCksIEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OkRvbnREZWxldGUgfCBKU0M6OlByb3Bl
cnR5QXR0cmlidXRlOjpSZWFkT25seSB8IEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OkRvbnRFbnVt
KTsKLSAgICBwdXREaXJlY3Qodm0sIHZtLnByb3BlcnR5TmFtZXMtPm5hbWUsIGpzTm9udHJpdmlh
bFN0cmluZyh2bSwgIkF1ZGlvIl9zKSwgSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6UmVhZE9ubHkg
fCBKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpEb250RW51bSk7CisgICAgSlNTdHJpbmcqIG5hbWVT
dHJpbmcgPSBqc05vbnRyaXZpYWxTdHJpbmcodm0sICJBdWRpbyJfcyk7CisgICAgbV9vcmlnaW5h
bE5hbWUuc2V0KHZtLCB0aGlzLCBuYW1lU3RyaW5nKTsKKyAgICBwdXREaXJlY3Qodm0sIHZtLnBy
b3BlcnR5TmFtZXMtPm5hbWUsIG5hbWVTdHJpbmcsIEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OlJl
YWRPbmx5IHwgSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9udEVudW0pOwogICAgIHB1dERpcmVj
dCh2bSwgdm0ucHJvcGVydHlOYW1lcy0+bGVuZ3RoLCBqc051bWJlcigxKSwgSlNDOjpQcm9wZXJ0
eUF0dHJpYnV0ZTo6UmVhZE9ubHkgfCBKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpEb250RW51bSk7
CiB9CiAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rl
c3RMZWdhY3lPdmVycmlkZUJ1aWx0SW5zLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0TGVnYWN5T3ZlcnJpZGVCdWlsdElucy5j
cHAJKHJldmlzaW9uIDI4MDYyMykKKysrIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMv
dGVzdC9KUy9KU1Rlc3RMZWdhY3lPdmVycmlkZUJ1aWx0SW5zLmNwcAkod29ya2luZyBjb3B5KQpA
QCAtMTAzLDcgKzEwMyw5IEBAIHRlbXBsYXRlPD4gSlNWYWx1ZSBKU1Rlc3RMZWdhY3lPdmVycmlk
ZUIKIHRlbXBsYXRlPD4gdm9pZCBKU1Rlc3RMZWdhY3lPdmVycmlkZUJ1aWx0SW5zRE9NQ29uc3Ry
dWN0b3I6OmluaXRpYWxpemVQcm9wZXJ0aWVzKFZNJiB2bSwgSlNET01HbG9iYWxPYmplY3QmIGds
b2JhbE9iamVjdCkKIHsKICAgICBwdXREaXJlY3Qodm0sIHZtLnByb3BlcnR5TmFtZXMtPnByb3Rv
dHlwZSwgSlNUZXN0TGVnYWN5T3ZlcnJpZGVCdWlsdEluczo6cHJvdG90eXBlKHZtLCBnbG9iYWxP
YmplY3QpLCBKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpEb250RGVsZXRlIHwgSlNDOjpQcm9wZXJ0
eUF0dHJpYnV0ZTo6UmVhZE9ubHkgfCBKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpEb250RW51bSk7
Ci0gICAgcHV0RGlyZWN0KHZtLCB2bS5wcm9wZXJ0eU5hbWVzLT5uYW1lLCBqc05vbnRyaXZpYWxT
dHJpbmcodm0sICJUZXN0TGVnYWN5T3ZlcnJpZGVCdWlsdElucyJfcyksIEpTQzo6UHJvcGVydHlB
dHRyaWJ1dGU6OlJlYWRPbmx5IHwgSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9udEVudW0pOwor
ICAgIEpTU3RyaW5nKiBuYW1lU3RyaW5nID0ganNOb250cml2aWFsU3RyaW5nKHZtLCAiVGVzdExl
Z2FjeU92ZXJyaWRlQnVpbHRJbnMiX3MpOworICAgIG1fb3JpZ2luYWxOYW1lLnNldCh2bSwgdGhp
cywgbmFtZVN0cmluZyk7CisgICAgcHV0RGlyZWN0KHZtLCB2bS5wcm9wZXJ0eU5hbWVzLT5uYW1l
LCBuYW1lU3RyaW5nLCBKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpSZWFkT25seSB8IEpTQzo6UHJv
cGVydHlBdHRyaWJ1dGU6OkRvbnRFbnVtKTsKICAgICBwdXREaXJlY3Qodm0sIHZtLnByb3BlcnR5
TmFtZXMtPmxlbmd0aCwganNOdW1iZXIoMCksIEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OlJlYWRP
bmx5IHwgSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9udEVudW0pOwogfQogCkluZGV4OiBTb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0TWFwTGlrZS5jcHAKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVz
dE1hcExpa2UuY3BwCShyZXZpc2lvbiAyODA2MjMpCisrKyBTb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0TWFwTGlrZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTEx
Miw3ICsxMTIsOSBAQCB0ZW1wbGF0ZTw+IEpTVmFsdWUgSlNUZXN0TWFwTGlrZURPTUNvbnN0CiB0
ZW1wbGF0ZTw+IHZvaWQgSlNUZXN0TWFwTGlrZURPTUNvbnN0cnVjdG9yOjppbml0aWFsaXplUHJv
cGVydGllcyhWTSYgdm0sIEpTRE9NR2xvYmFsT2JqZWN0JiBnbG9iYWxPYmplY3QpCiB7CiAgICAg
cHV0RGlyZWN0KHZtLCB2bS5wcm9wZXJ0eU5hbWVzLT5wcm90b3R5cGUsIEpTVGVzdE1hcExpa2U6
OnByb3RvdHlwZSh2bSwgZ2xvYmFsT2JqZWN0KSwgSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9u
dERlbGV0ZSB8IEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OlJlYWRPbmx5IHwgSlNDOjpQcm9wZXJ0
eUF0dHJpYnV0ZTo6RG9udEVudW0pOwotICAgIHB1dERpcmVjdCh2bSwgdm0ucHJvcGVydHlOYW1l
cy0+bmFtZSwganNOb250cml2aWFsU3RyaW5nKHZtLCAiVGVzdE1hcExpa2UiX3MpLCBKU0M6OlBy
b3BlcnR5QXR0cmlidXRlOjpSZWFkT25seSB8IEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OkRvbnRF
bnVtKTsKKyAgICBKU1N0cmluZyogbmFtZVN0cmluZyA9IGpzTm9udHJpdmlhbFN0cmluZyh2bSwg
IlRlc3RNYXBMaWtlIl9zKTsKKyAgICBtX29yaWdpbmFsTmFtZS5zZXQodm0sIHRoaXMsIG5hbWVT
dHJpbmcpOworICAgIHB1dERpcmVjdCh2bSwgdm0ucHJvcGVydHlOYW1lcy0+bmFtZSwgbmFtZVN0
cmluZywgSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6UmVhZE9ubHkgfCBKU0M6OlByb3BlcnR5QXR0
cmlidXRlOjpEb250RW51bSk7CiAgICAgcHV0RGlyZWN0KHZtLCB2bS5wcm9wZXJ0eU5hbWVzLT5s
ZW5ndGgsIGpzTnVtYmVyKDApLCBKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpSZWFkT25seSB8IEpT
Qzo6UHJvcGVydHlBdHRyaWJ1dGU6OkRvbnRFbnVtKTsKIH0KIApJbmRleDogU291cmNlL1dlYkNv
cmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE1hcExpa2VXaXRoT3ZlcnJpZGRlbk9w
ZXJhdGlvbnMuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Njcmlw
dHMvdGVzdC9KUy9KU1Rlc3RNYXBMaWtlV2l0aE92ZXJyaWRkZW5PcGVyYXRpb25zLmNwcAkocmV2
aXNpb24gMjgwNjIzKQorKysgU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pT
L0pTVGVzdE1hcExpa2VXaXRoT3ZlcnJpZGRlbk9wZXJhdGlvbnMuY3BwCSh3b3JraW5nIGNvcHkp
CkBAIC0xMTYsNyArMTE2LDkgQEAgdGVtcGxhdGU8PiBKU1ZhbHVlIEpTVGVzdE1hcExpa2VXaXRo
T3ZlcgogdGVtcGxhdGU8PiB2b2lkIEpTVGVzdE1hcExpa2VXaXRoT3ZlcnJpZGRlbk9wZXJhdGlv
bnNET01Db25zdHJ1Y3Rvcjo6aW5pdGlhbGl6ZVByb3BlcnRpZXMoVk0mIHZtLCBKU0RPTUdsb2Jh
bE9iamVjdCYgZ2xvYmFsT2JqZWN0KQogewogICAgIHB1dERpcmVjdCh2bSwgdm0ucHJvcGVydHlO
YW1lcy0+cHJvdG90eXBlLCBKU1Rlc3RNYXBMaWtlV2l0aE92ZXJyaWRkZW5PcGVyYXRpb25zOjpw
cm90b3R5cGUodm0sIGdsb2JhbE9iamVjdCksIEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OkRvbnRE
ZWxldGUgfCBKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpSZWFkT25seSB8IEpTQzo6UHJvcGVydHlB
dHRyaWJ1dGU6OkRvbnRFbnVtKTsKLSAgICBwdXREaXJlY3Qodm0sIHZtLnByb3BlcnR5TmFtZXMt
Pm5hbWUsIGpzTm9udHJpdmlhbFN0cmluZyh2bSwgIlRlc3RNYXBMaWtlV2l0aE92ZXJyaWRkZW5P
cGVyYXRpb25zIl9zKSwgSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6UmVhZE9ubHkgfCBKU0M6OlBy
b3BlcnR5QXR0cmlidXRlOjpEb250RW51bSk7CisgICAgSlNTdHJpbmcqIG5hbWVTdHJpbmcgPSBq
c05vbnRyaXZpYWxTdHJpbmcodm0sICJUZXN0TWFwTGlrZVdpdGhPdmVycmlkZGVuT3BlcmF0aW9u
cyJfcyk7CisgICAgbV9vcmlnaW5hbE5hbWUuc2V0KHZtLCB0aGlzLCBuYW1lU3RyaW5nKTsKKyAg
ICBwdXREaXJlY3Qodm0sIHZtLnByb3BlcnR5TmFtZXMtPm5hbWUsIG5hbWVTdHJpbmcsIEpTQzo6
UHJvcGVydHlBdHRyaWJ1dGU6OlJlYWRPbmx5IHwgSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9u
dEVudW0pOwogICAgIHB1dERpcmVjdCh2bSwgdm0ucHJvcGVydHlOYW1lcy0+bGVuZ3RoLCBqc051
bWJlcigwKSwgSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6UmVhZE9ubHkgfCBKU0M6OlByb3BlcnR5
QXR0cmlidXRlOjpEb250RW51bSk7CiB9CiAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3ROYW1lZEFuZEluZGV4ZWRTZXR0ZXJOb0lkZW50aWZpZXIu
Y3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9K
Uy9KU1Rlc3ROYW1lZEFuZEluZGV4ZWRTZXR0ZXJOb0lkZW50aWZpZXIuY3BwCShyZXZpc2lvbiAy
ODA2MjMpCisrKyBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0
TmFtZWRBbmRJbmRleGVkU2V0dGVyTm9JZGVudGlmaWVyLmNwcAkod29ya2luZyBjb3B5KQpAQCAt
OTYsNyArOTYsOSBAQCB0ZW1wbGF0ZTw+IEpTVmFsdWUgSlNUZXN0TmFtZWRBbmRJbmRleGVkCiB0
ZW1wbGF0ZTw+IHZvaWQgSlNUZXN0TmFtZWRBbmRJbmRleGVkU2V0dGVyTm9JZGVudGlmaWVyRE9N
Q29uc3RydWN0b3I6OmluaXRpYWxpemVQcm9wZXJ0aWVzKFZNJiB2bSwgSlNET01HbG9iYWxPYmpl
Y3QmIGdsb2JhbE9iamVjdCkKIHsKICAgICBwdXREaXJlY3Qodm0sIHZtLnByb3BlcnR5TmFtZXMt
PnByb3RvdHlwZSwgSlNUZXN0TmFtZWRBbmRJbmRleGVkU2V0dGVyTm9JZGVudGlmaWVyOjpwcm90
b3R5cGUodm0sIGdsb2JhbE9iamVjdCksIEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OkRvbnREZWxl
dGUgfCBKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpSZWFkT25seSB8IEpTQzo6UHJvcGVydHlBdHRy
aWJ1dGU6OkRvbnRFbnVtKTsKLSAgICBwdXREaXJlY3Qodm0sIHZtLnByb3BlcnR5TmFtZXMtPm5h
bWUsIGpzTm9udHJpdmlhbFN0cmluZyh2bSwgIlRlc3ROYW1lZEFuZEluZGV4ZWRTZXR0ZXJOb0lk
ZW50aWZpZXIiX3MpLCBKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpSZWFkT25seSB8IEpTQzo6UHJv
cGVydHlBdHRyaWJ1dGU6OkRvbnRFbnVtKTsKKyAgICBKU1N0cmluZyogbmFtZVN0cmluZyA9IGpz
Tm9udHJpdmlhbFN0cmluZyh2bSwgIlRlc3ROYW1lZEFuZEluZGV4ZWRTZXR0ZXJOb0lkZW50aWZp
ZXIiX3MpOworICAgIG1fb3JpZ2luYWxOYW1lLnNldCh2bSwgdGhpcywgbmFtZVN0cmluZyk7Cisg
ICAgcHV0RGlyZWN0KHZtLCB2bS5wcm9wZXJ0eU5hbWVzLT5uYW1lLCBuYW1lU3RyaW5nLCBKU0M6
OlByb3BlcnR5QXR0cmlidXRlOjpSZWFkT25seSB8IEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OkRv
bnRFbnVtKTsKICAgICBwdXREaXJlY3Qodm0sIHZtLnByb3BlcnR5TmFtZXMtPmxlbmd0aCwganNO
dW1iZXIoMCksIEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OlJlYWRPbmx5IHwgSlNDOjpQcm9wZXJ0
eUF0dHJpYnV0ZTo6RG9udEVudW0pOwogfQogCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0TmFtZWRBbmRJbmRleGVkU2V0dGVyVGhyb3dpbmdFeGNl
cHRpb24uY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMv
dGVzdC9KUy9KU1Rlc3ROYW1lZEFuZEluZGV4ZWRTZXR0ZXJUaHJvd2luZ0V4Y2VwdGlvbi5jcHAJ
KHJldmlzaW9uIDI4MDYyMykKKysrIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVz
dC9KUy9KU1Rlc3ROYW1lZEFuZEluZGV4ZWRTZXR0ZXJUaHJvd2luZ0V4Y2VwdGlvbi5jcHAJKHdv
cmtpbmcgY29weSkKQEAgLTk2LDcgKzk2LDkgQEAgdGVtcGxhdGU8PiBKU1ZhbHVlIEpTVGVzdE5h
bWVkQW5kSW5kZXhlZAogdGVtcGxhdGU8PiB2b2lkIEpTVGVzdE5hbWVkQW5kSW5kZXhlZFNldHRl
clRocm93aW5nRXhjZXB0aW9uRE9NQ29uc3RydWN0b3I6OmluaXRpYWxpemVQcm9wZXJ0aWVzKFZN
JiB2bSwgSlNET01HbG9iYWxPYmplY3QmIGdsb2JhbE9iamVjdCkKIHsKICAgICBwdXREaXJlY3Qo
dm0sIHZtLnByb3BlcnR5TmFtZXMtPnByb3RvdHlwZSwgSlNUZXN0TmFtZWRBbmRJbmRleGVkU2V0
dGVyVGhyb3dpbmdFeGNlcHRpb246OnByb3RvdHlwZSh2bSwgZ2xvYmFsT2JqZWN0KSwgSlNDOjpQ
cm9wZXJ0eUF0dHJpYnV0ZTo6RG9udERlbGV0ZSB8IEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OlJl
YWRPbmx5IHwgSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9udEVudW0pOwotICAgIHB1dERpcmVj
dCh2bSwgdm0ucHJvcGVydHlOYW1lcy0+bmFtZSwganNOb250cml2aWFsU3RyaW5nKHZtLCAiVGVz
dE5hbWVkQW5kSW5kZXhlZFNldHRlclRocm93aW5nRXhjZXB0aW9uIl9zKSwgSlNDOjpQcm9wZXJ0
eUF0dHJpYnV0ZTo6UmVhZE9ubHkgfCBKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpEb250RW51bSk7
CisgICAgSlNTdHJpbmcqIG5hbWVTdHJpbmcgPSBqc05vbnRyaXZpYWxTdHJpbmcodm0sICJUZXN0
TmFtZWRBbmRJbmRleGVkU2V0dGVyVGhyb3dpbmdFeGNlcHRpb24iX3MpOworICAgIG1fb3JpZ2lu
YWxOYW1lLnNldCh2bSwgdGhpcywgbmFtZVN0cmluZyk7CisgICAgcHV0RGlyZWN0KHZtLCB2bS5w
cm9wZXJ0eU5hbWVzLT5uYW1lLCBuYW1lU3RyaW5nLCBKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpS
ZWFkT25seSB8IEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OkRvbnRFbnVtKTsKICAgICBwdXREaXJl
Y3Qodm0sIHZtLnByb3BlcnR5TmFtZXMtPmxlbmd0aCwganNOdW1iZXIoMCksIEpTQzo6UHJvcGVy
dHlBdHRyaWJ1dGU6OlJlYWRPbmx5IHwgSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9udEVudW0p
OwogfQogCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNU
ZXN0TmFtZWRBbmRJbmRleGVkU2V0dGVyV2l0aElkZW50aWZpZXIuY3BwCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3ROYW1lZEFuZElu
ZGV4ZWRTZXR0ZXJXaXRoSWRlbnRpZmllci5jcHAJKHJldmlzaW9uIDI4MDYyMykKKysrIFNvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3ROYW1lZEFuZEluZGV4ZWRT
ZXR0ZXJXaXRoSWRlbnRpZmllci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTEwNSw3ICsxMDUsOSBA
QCB0ZW1wbGF0ZTw+IEpTVmFsdWUgSlNUZXN0TmFtZWRBbmRJbmRleGVkCiB0ZW1wbGF0ZTw+IHZv
aWQgSlNUZXN0TmFtZWRBbmRJbmRleGVkU2V0dGVyV2l0aElkZW50aWZpZXJET01Db25zdHJ1Y3Rv
cjo6aW5pdGlhbGl6ZVByb3BlcnRpZXMoVk0mIHZtLCBKU0RPTUdsb2JhbE9iamVjdCYgZ2xvYmFs
T2JqZWN0KQogewogICAgIHB1dERpcmVjdCh2bSwgdm0ucHJvcGVydHlOYW1lcy0+cHJvdG90eXBl
LCBKU1Rlc3ROYW1lZEFuZEluZGV4ZWRTZXR0ZXJXaXRoSWRlbnRpZmllcjo6cHJvdG90eXBlKHZt
LCBnbG9iYWxPYmplY3QpLCBKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpEb250RGVsZXRlIHwgSlND
OjpQcm9wZXJ0eUF0dHJpYnV0ZTo6UmVhZE9ubHkgfCBKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpE
b250RW51bSk7Ci0gICAgcHV0RGlyZWN0KHZtLCB2bS5wcm9wZXJ0eU5hbWVzLT5uYW1lLCBqc05v
bnRyaXZpYWxTdHJpbmcodm0sICJUZXN0TmFtZWRBbmRJbmRleGVkU2V0dGVyV2l0aElkZW50aWZp
ZXIiX3MpLCBKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpSZWFkT25seSB8IEpTQzo6UHJvcGVydHlB
dHRyaWJ1dGU6OkRvbnRFbnVtKTsKKyAgICBKU1N0cmluZyogbmFtZVN0cmluZyA9IGpzTm9udHJp
dmlhbFN0cmluZyh2bSwgIlRlc3ROYW1lZEFuZEluZGV4ZWRTZXR0ZXJXaXRoSWRlbnRpZmllciJf
cyk7CisgICAgbV9vcmlnaW5hbE5hbWUuc2V0KHZtLCB0aGlzLCBuYW1lU3RyaW5nKTsKKyAgICBw
dXREaXJlY3Qodm0sIHZtLnByb3BlcnR5TmFtZXMtPm5hbWUsIG5hbWVTdHJpbmcsIEpTQzo6UHJv
cGVydHlBdHRyaWJ1dGU6OlJlYWRPbmx5IHwgSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9udEVu
dW0pOwogICAgIHB1dERpcmVjdCh2bSwgdm0ucHJvcGVydHlOYW1lcy0+bGVuZ3RoLCBqc051bWJl
cigwKSwgSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6UmVhZE9ubHkgfCBKU0M6OlByb3BlcnR5QXR0
cmlidXRlOjpEb250RW51bSk7CiB9CiAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Nj
cmlwdHMvdGVzdC9KUy9KU1Rlc3ROYW1lZERlbGV0ZXJOb0lkZW50aWZpZXIuY3BwCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3ROYW1l
ZERlbGV0ZXJOb0lkZW50aWZpZXIuY3BwCShyZXZpc2lvbiAyODA2MjMpCisrKyBTb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0TmFtZWREZWxldGVyTm9JZGVudGlm
aWVyLmNwcAkod29ya2luZyBjb3B5KQpAQCAtOTUsNyArOTUsOSBAQCB0ZW1wbGF0ZTw+IEpTVmFs
dWUgSlNUZXN0TmFtZWREZWxldGVyTm9JCiB0ZW1wbGF0ZTw+IHZvaWQgSlNUZXN0TmFtZWREZWxl
dGVyTm9JZGVudGlmaWVyRE9NQ29uc3RydWN0b3I6OmluaXRpYWxpemVQcm9wZXJ0aWVzKFZNJiB2
bSwgSlNET01HbG9iYWxPYmplY3QmIGdsb2JhbE9iamVjdCkKIHsKICAgICBwdXREaXJlY3Qodm0s
IHZtLnByb3BlcnR5TmFtZXMtPnByb3RvdHlwZSwgSlNUZXN0TmFtZWREZWxldGVyTm9JZGVudGlm
aWVyOjpwcm90b3R5cGUodm0sIGdsb2JhbE9iamVjdCksIEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6
OkRvbnREZWxldGUgfCBKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpSZWFkT25seSB8IEpTQzo6UHJv
cGVydHlBdHRyaWJ1dGU6OkRvbnRFbnVtKTsKLSAgICBwdXREaXJlY3Qodm0sIHZtLnByb3BlcnR5
TmFtZXMtPm5hbWUsIGpzTm9udHJpdmlhbFN0cmluZyh2bSwgIlRlc3ROYW1lZERlbGV0ZXJOb0lk
ZW50aWZpZXIiX3MpLCBKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpSZWFkT25seSB8IEpTQzo6UHJv
cGVydHlBdHRyaWJ1dGU6OkRvbnRFbnVtKTsKKyAgICBKU1N0cmluZyogbmFtZVN0cmluZyA9IGpz
Tm9udHJpdmlhbFN0cmluZyh2bSwgIlRlc3ROYW1lZERlbGV0ZXJOb0lkZW50aWZpZXIiX3MpOwor
ICAgIG1fb3JpZ2luYWxOYW1lLnNldCh2bSwgdGhpcywgbmFtZVN0cmluZyk7CisgICAgcHV0RGly
ZWN0KHZtLCB2bS5wcm9wZXJ0eU5hbWVzLT5uYW1lLCBuYW1lU3RyaW5nLCBKU0M6OlByb3BlcnR5
QXR0cmlidXRlOjpSZWFkT25seSB8IEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OkRvbnRFbnVtKTsK
ICAgICBwdXREaXJlY3Qodm0sIHZtLnByb3BlcnR5TmFtZXMtPmxlbmd0aCwganNOdW1iZXIoMCks
IEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OlJlYWRPbmx5IHwgSlNDOjpQcm9wZXJ0eUF0dHJpYnV0
ZTo6RG9udEVudW0pOwogfQogCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRz
L3Rlc3QvSlMvSlNUZXN0TmFtZWREZWxldGVyVGhyb3dpbmdFeGNlcHRpb24uY3BwCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3ROYW1l
ZERlbGV0ZXJUaHJvd2luZ0V4Y2VwdGlvbi5jcHAJKHJldmlzaW9uIDI4MDYyMykKKysrIFNvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3ROYW1lZERlbGV0ZXJUaHJv
d2luZ0V4Y2VwdGlvbi5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTk1LDcgKzk1LDkgQEAgdGVtcGxh
dGU8PiBKU1ZhbHVlIEpTVGVzdE5hbWVkRGVsZXRlclRocgogdGVtcGxhdGU8PiB2b2lkIEpTVGVz
dE5hbWVkRGVsZXRlclRocm93aW5nRXhjZXB0aW9uRE9NQ29uc3RydWN0b3I6OmluaXRpYWxpemVQ
cm9wZXJ0aWVzKFZNJiB2bSwgSlNET01HbG9iYWxPYmplY3QmIGdsb2JhbE9iamVjdCkKIHsKICAg
ICBwdXREaXJlY3Qodm0sIHZtLnByb3BlcnR5TmFtZXMtPnByb3RvdHlwZSwgSlNUZXN0TmFtZWRE
ZWxldGVyVGhyb3dpbmdFeGNlcHRpb246OnByb3RvdHlwZSh2bSwgZ2xvYmFsT2JqZWN0KSwgSlND
OjpQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9udERlbGV0ZSB8IEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6
OlJlYWRPbmx5IHwgSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9udEVudW0pOwotICAgIHB1dERp
cmVjdCh2bSwgdm0ucHJvcGVydHlOYW1lcy0+bmFtZSwganNOb250cml2aWFsU3RyaW5nKHZtLCAi
VGVzdE5hbWVkRGVsZXRlclRocm93aW5nRXhjZXB0aW9uIl9zKSwgSlNDOjpQcm9wZXJ0eUF0dHJp
YnV0ZTo6UmVhZE9ubHkgfCBKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpEb250RW51bSk7CisgICAg
SlNTdHJpbmcqIG5hbWVTdHJpbmcgPSBqc05vbnRyaXZpYWxTdHJpbmcodm0sICJUZXN0TmFtZWRE
ZWxldGVyVGhyb3dpbmdFeGNlcHRpb24iX3MpOworICAgIG1fb3JpZ2luYWxOYW1lLnNldCh2bSwg
dGhpcywgbmFtZVN0cmluZyk7CisgICAgcHV0RGlyZWN0KHZtLCB2bS5wcm9wZXJ0eU5hbWVzLT5u
YW1lLCBuYW1lU3RyaW5nLCBKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpSZWFkT25seSB8IEpTQzo6
UHJvcGVydHlBdHRyaWJ1dGU6OkRvbnRFbnVtKTsKICAgICBwdXREaXJlY3Qodm0sIHZtLnByb3Bl
cnR5TmFtZXMtPmxlbmd0aCwganNOdW1iZXIoMCksIEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OlJl
YWRPbmx5IHwgSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9udEVudW0pOwogfQogCkluZGV4OiBT
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0TmFtZWREZWxldGVy
V2l0aElkZW50aWZpZXIuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3ROYW1lZERlbGV0ZXJXaXRoSWRlbnRpZmllci5jcHAJKHJl
dmlzaW9uIDI4MDYyMykKKysrIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9K
Uy9KU1Rlc3ROYW1lZERlbGV0ZXJXaXRoSWRlbnRpZmllci5jcHAJKHdvcmtpbmcgY29weSkKQEAg
LTEwMiw3ICsxMDIsOSBAQCB0ZW1wbGF0ZTw+IEpTVmFsdWUgSlNUZXN0TmFtZWREZWxldGVyV2l0
CiB0ZW1wbGF0ZTw+IHZvaWQgSlNUZXN0TmFtZWREZWxldGVyV2l0aElkZW50aWZpZXJET01Db25z
dHJ1Y3Rvcjo6aW5pdGlhbGl6ZVByb3BlcnRpZXMoVk0mIHZtLCBKU0RPTUdsb2JhbE9iamVjdCYg
Z2xvYmFsT2JqZWN0KQogewogICAgIHB1dERpcmVjdCh2bSwgdm0ucHJvcGVydHlOYW1lcy0+cHJv
dG90eXBlLCBKU1Rlc3ROYW1lZERlbGV0ZXJXaXRoSWRlbnRpZmllcjo6cHJvdG90eXBlKHZtLCBn
bG9iYWxPYmplY3QpLCBKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpEb250RGVsZXRlIHwgSlNDOjpQ
cm9wZXJ0eUF0dHJpYnV0ZTo6UmVhZE9ubHkgfCBKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpEb250
RW51bSk7Ci0gICAgcHV0RGlyZWN0KHZtLCB2bS5wcm9wZXJ0eU5hbWVzLT5uYW1lLCBqc05vbnRy
aXZpYWxTdHJpbmcodm0sICJUZXN0TmFtZWREZWxldGVyV2l0aElkZW50aWZpZXIiX3MpLCBKU0M6
OlByb3BlcnR5QXR0cmlidXRlOjpSZWFkT25seSB8IEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OkRv
bnRFbnVtKTsKKyAgICBKU1N0cmluZyogbmFtZVN0cmluZyA9IGpzTm9udHJpdmlhbFN0cmluZyh2
bSwgIlRlc3ROYW1lZERlbGV0ZXJXaXRoSWRlbnRpZmllciJfcyk7CisgICAgbV9vcmlnaW5hbE5h
bWUuc2V0KHZtLCB0aGlzLCBuYW1lU3RyaW5nKTsKKyAgICBwdXREaXJlY3Qodm0sIHZtLnByb3Bl
cnR5TmFtZXMtPm5hbWUsIG5hbWVTdHJpbmcsIEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OlJlYWRP
bmx5IHwgSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9udEVudW0pOwogICAgIHB1dERpcmVjdCh2
bSwgdm0ucHJvcGVydHlOYW1lcy0+bGVuZ3RoLCBqc051bWJlcigwKSwgSlNDOjpQcm9wZXJ0eUF0
dHJpYnV0ZTo6UmVhZE9ubHkgfCBKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpEb250RW51bSk7CiB9
CiAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RO
YW1lZERlbGV0ZXJXaXRoSW5kZXhlZEdldHRlci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE5hbWVkRGVsZXRlcldpdGhJbmRl
eGVkR2V0dGVyLmNwcAkocmV2aXNpb24gMjgwNjIzKQorKysgU291cmNlL1dlYkNvcmUvYmluZGlu
Z3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE5hbWVkRGVsZXRlcldpdGhJbmRleGVkR2V0dGVyLmNw
cAkod29ya2luZyBjb3B5KQpAQCAtOTYsNyArOTYsOSBAQCB0ZW1wbGF0ZTw+IEpTVmFsdWUgSlNU
ZXN0TmFtZWREZWxldGVyV2l0CiB0ZW1wbGF0ZTw+IHZvaWQgSlNUZXN0TmFtZWREZWxldGVyV2l0
aEluZGV4ZWRHZXR0ZXJET01Db25zdHJ1Y3Rvcjo6aW5pdGlhbGl6ZVByb3BlcnRpZXMoVk0mIHZt
LCBKU0RPTUdsb2JhbE9iamVjdCYgZ2xvYmFsT2JqZWN0KQogewogICAgIHB1dERpcmVjdCh2bSwg
dm0ucHJvcGVydHlOYW1lcy0+cHJvdG90eXBlLCBKU1Rlc3ROYW1lZERlbGV0ZXJXaXRoSW5kZXhl
ZEdldHRlcjo6cHJvdG90eXBlKHZtLCBnbG9iYWxPYmplY3QpLCBKU0M6OlByb3BlcnR5QXR0cmli
dXRlOjpEb250RGVsZXRlIHwgSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6UmVhZE9ubHkgfCBKU0M6
OlByb3BlcnR5QXR0cmlidXRlOjpEb250RW51bSk7Ci0gICAgcHV0RGlyZWN0KHZtLCB2bS5wcm9w
ZXJ0eU5hbWVzLT5uYW1lLCBqc05vbnRyaXZpYWxTdHJpbmcodm0sICJUZXN0TmFtZWREZWxldGVy
V2l0aEluZGV4ZWRHZXR0ZXIiX3MpLCBKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpSZWFkT25seSB8
IEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OkRvbnRFbnVtKTsKKyAgICBKU1N0cmluZyogbmFtZVN0
cmluZyA9IGpzTm9udHJpdmlhbFN0cmluZyh2bSwgIlRlc3ROYW1lZERlbGV0ZXJXaXRoSW5kZXhl
ZEdldHRlciJfcyk7CisgICAgbV9vcmlnaW5hbE5hbWUuc2V0KHZtLCB0aGlzLCBuYW1lU3RyaW5n
KTsKKyAgICBwdXREaXJlY3Qodm0sIHZtLnByb3BlcnR5TmFtZXMtPm5hbWUsIG5hbWVTdHJpbmcs
IEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OlJlYWRPbmx5IHwgSlNDOjpQcm9wZXJ0eUF0dHJpYnV0
ZTo6RG9udEVudW0pOwogICAgIHB1dERpcmVjdCh2bSwgdm0ucHJvcGVydHlOYW1lcy0+bGVuZ3Ro
LCBqc051bWJlcigwKSwgSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6UmVhZE9ubHkgfCBKU0M6OlBy
b3BlcnR5QXR0cmlidXRlOjpEb250RW51bSk7CiB9CiAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3ROYW1lZEdldHRlckNhbGxXaXRoLmNwcAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0
TmFtZWRHZXR0ZXJDYWxsV2l0aC5jcHAJKHJldmlzaW9uIDI4MDYyMykKKysrIFNvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3ROYW1lZEdldHRlckNhbGxXaXRoLmNw
cAkod29ya2luZyBjb3B5KQpAQCAtOTUsNyArOTUsOSBAQCB0ZW1wbGF0ZTw+IEpTVmFsdWUgSlNU
ZXN0TmFtZWRHZXR0ZXJDYWxsCiB0ZW1wbGF0ZTw+IHZvaWQgSlNUZXN0TmFtZWRHZXR0ZXJDYWxs
V2l0aERPTUNvbnN0cnVjdG9yOjppbml0aWFsaXplUHJvcGVydGllcyhWTSYgdm0sIEpTRE9NR2xv
YmFsT2JqZWN0JiBnbG9iYWxPYmplY3QpCiB7CiAgICAgcHV0RGlyZWN0KHZtLCB2bS5wcm9wZXJ0
eU5hbWVzLT5wcm90b3R5cGUsIEpTVGVzdE5hbWVkR2V0dGVyQ2FsbFdpdGg6OnByb3RvdHlwZSh2
bSwgZ2xvYmFsT2JqZWN0KSwgSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9udERlbGV0ZSB8IEpT
Qzo6UHJvcGVydHlBdHRyaWJ1dGU6OlJlYWRPbmx5IHwgSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6
RG9udEVudW0pOwotICAgIHB1dERpcmVjdCh2bSwgdm0ucHJvcGVydHlOYW1lcy0+bmFtZSwganNO
b250cml2aWFsU3RyaW5nKHZtLCAiVGVzdE5hbWVkR2V0dGVyQ2FsbFdpdGgiX3MpLCBKU0M6OlBy
b3BlcnR5QXR0cmlidXRlOjpSZWFkT25seSB8IEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OkRvbnRF
bnVtKTsKKyAgICBKU1N0cmluZyogbmFtZVN0cmluZyA9IGpzTm9udHJpdmlhbFN0cmluZyh2bSwg
IlRlc3ROYW1lZEdldHRlckNhbGxXaXRoIl9zKTsKKyAgICBtX29yaWdpbmFsTmFtZS5zZXQodm0s
IHRoaXMsIG5hbWVTdHJpbmcpOworICAgIHB1dERpcmVjdCh2bSwgdm0ucHJvcGVydHlOYW1lcy0+
bmFtZSwgbmFtZVN0cmluZywgSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6UmVhZE9ubHkgfCBKU0M6
OlByb3BlcnR5QXR0cmlidXRlOjpEb250RW51bSk7CiAgICAgcHV0RGlyZWN0KHZtLCB2bS5wcm9w
ZXJ0eU5hbWVzLT5sZW5ndGgsIGpzTnVtYmVyKDApLCBKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpS
ZWFkT25seSB8IEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OkRvbnRFbnVtKTsKIH0KIApJbmRleDog
U291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE5hbWVkR2V0dGVy
Tm9JZGVudGlmaWVyLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9z
Y3JpcHRzL3Rlc3QvSlMvSlNUZXN0TmFtZWRHZXR0ZXJOb0lkZW50aWZpZXIuY3BwCShyZXZpc2lv
biAyODA2MjMpCisrKyBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNU
ZXN0TmFtZWRHZXR0ZXJOb0lkZW50aWZpZXIuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC05NSw3ICs5
NSw5IEBAIHRlbXBsYXRlPD4gSlNWYWx1ZSBKU1Rlc3ROYW1lZEdldHRlck5vSWQKIHRlbXBsYXRl
PD4gdm9pZCBKU1Rlc3ROYW1lZEdldHRlck5vSWRlbnRpZmllckRPTUNvbnN0cnVjdG9yOjppbml0
aWFsaXplUHJvcGVydGllcyhWTSYgdm0sIEpTRE9NR2xvYmFsT2JqZWN0JiBnbG9iYWxPYmplY3Qp
CiB7CiAgICAgcHV0RGlyZWN0KHZtLCB2bS5wcm9wZXJ0eU5hbWVzLT5wcm90b3R5cGUsIEpTVGVz
dE5hbWVkR2V0dGVyTm9JZGVudGlmaWVyOjpwcm90b3R5cGUodm0sIGdsb2JhbE9iamVjdCksIEpT
Qzo6UHJvcGVydHlBdHRyaWJ1dGU6OkRvbnREZWxldGUgfCBKU0M6OlByb3BlcnR5QXR0cmlidXRl
OjpSZWFkT25seSB8IEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OkRvbnRFbnVtKTsKLSAgICBwdXRE
aXJlY3Qodm0sIHZtLnByb3BlcnR5TmFtZXMtPm5hbWUsIGpzTm9udHJpdmlhbFN0cmluZyh2bSwg
IlRlc3ROYW1lZEdldHRlck5vSWRlbnRpZmllciJfcyksIEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6
OlJlYWRPbmx5IHwgSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9udEVudW0pOworICAgIEpTU3Ry
aW5nKiBuYW1lU3RyaW5nID0ganNOb250cml2aWFsU3RyaW5nKHZtLCAiVGVzdE5hbWVkR2V0dGVy
Tm9JZGVudGlmaWVyIl9zKTsKKyAgICBtX29yaWdpbmFsTmFtZS5zZXQodm0sIHRoaXMsIG5hbWVT
dHJpbmcpOworICAgIHB1dERpcmVjdCh2bSwgdm0ucHJvcGVydHlOYW1lcy0+bmFtZSwgbmFtZVN0
cmluZywgSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6UmVhZE9ubHkgfCBKU0M6OlByb3BlcnR5QXR0
cmlidXRlOjpEb250RW51bSk7CiAgICAgcHV0RGlyZWN0KHZtLCB2bS5wcm9wZXJ0eU5hbWVzLT5s
ZW5ndGgsIGpzTnVtYmVyKDApLCBKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpSZWFkT25seSB8IEpT
Qzo6UHJvcGVydHlBdHRyaWJ1dGU6OkRvbnRFbnVtKTsKIH0KIApJbmRleDogU291cmNlL1dlYkNv
cmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE5hbWVkR2V0dGVyV2l0aElkZW50aWZp
ZXIuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVz
dC9KUy9KU1Rlc3ROYW1lZEdldHRlcldpdGhJZGVudGlmaWVyLmNwcAkocmV2aXNpb24gMjgwNjIz
KQorKysgU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE5hbWVk
R2V0dGVyV2l0aElkZW50aWZpZXIuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xMDAsNyArMTAwLDkg
QEAgdGVtcGxhdGU8PiBKU1ZhbHVlIEpTVGVzdE5hbWVkR2V0dGVyV2l0aAogdGVtcGxhdGU8PiB2
b2lkIEpTVGVzdE5hbWVkR2V0dGVyV2l0aElkZW50aWZpZXJET01Db25zdHJ1Y3Rvcjo6aW5pdGlh
bGl6ZVByb3BlcnRpZXMoVk0mIHZtLCBKU0RPTUdsb2JhbE9iamVjdCYgZ2xvYmFsT2JqZWN0KQog
ewogICAgIHB1dERpcmVjdCh2bSwgdm0ucHJvcGVydHlOYW1lcy0+cHJvdG90eXBlLCBKU1Rlc3RO
YW1lZEdldHRlcldpdGhJZGVudGlmaWVyOjpwcm90b3R5cGUodm0sIGdsb2JhbE9iamVjdCksIEpT
Qzo6UHJvcGVydHlBdHRyaWJ1dGU6OkRvbnREZWxldGUgfCBKU0M6OlByb3BlcnR5QXR0cmlidXRl
OjpSZWFkT25seSB8IEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OkRvbnRFbnVtKTsKLSAgICBwdXRE
aXJlY3Qodm0sIHZtLnByb3BlcnR5TmFtZXMtPm5hbWUsIGpzTm9udHJpdmlhbFN0cmluZyh2bSwg
IlRlc3ROYW1lZEdldHRlcldpdGhJZGVudGlmaWVyIl9zKSwgSlNDOjpQcm9wZXJ0eUF0dHJpYnV0
ZTo6UmVhZE9ubHkgfCBKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpEb250RW51bSk7CisgICAgSlNT
dHJpbmcqIG5hbWVTdHJpbmcgPSBqc05vbnRyaXZpYWxTdHJpbmcodm0sICJUZXN0TmFtZWRHZXR0
ZXJXaXRoSWRlbnRpZmllciJfcyk7CisgICAgbV9vcmlnaW5hbE5hbWUuc2V0KHZtLCB0aGlzLCBu
YW1lU3RyaW5nKTsKKyAgICBwdXREaXJlY3Qodm0sIHZtLnByb3BlcnR5TmFtZXMtPm5hbWUsIG5h
bWVTdHJpbmcsIEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OlJlYWRPbmx5IHwgSlNDOjpQcm9wZXJ0
eUF0dHJpYnV0ZTo6RG9udEVudW0pOwogICAgIHB1dERpcmVjdCh2bSwgdm0ucHJvcGVydHlOYW1l
cy0+bGVuZ3RoLCBqc051bWJlcigwKSwgSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6UmVhZE9ubHkg
fCBKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpEb250RW51bSk7CiB9CiAKSW5kZXg6IFNvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3ROYW1lZFNldHRlck5vSWRlbnRp
Zmllci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90
ZXN0L0pTL0pTVGVzdE5hbWVkU2V0dGVyTm9JZGVudGlmaWVyLmNwcAkocmV2aXNpb24gMjgwNjIz
KQorKysgU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE5hbWVk
U2V0dGVyTm9JZGVudGlmaWVyLmNwcAkod29ya2luZyBjb3B5KQpAQCAtOTUsNyArOTUsOSBAQCB0
ZW1wbGF0ZTw+IEpTVmFsdWUgSlNUZXN0TmFtZWRTZXR0ZXJOb0lkCiB0ZW1wbGF0ZTw+IHZvaWQg
SlNUZXN0TmFtZWRTZXR0ZXJOb0lkZW50aWZpZXJET01Db25zdHJ1Y3Rvcjo6aW5pdGlhbGl6ZVBy
b3BlcnRpZXMoVk0mIHZtLCBKU0RPTUdsb2JhbE9iamVjdCYgZ2xvYmFsT2JqZWN0KQogewogICAg
IHB1dERpcmVjdCh2bSwgdm0ucHJvcGVydHlOYW1lcy0+cHJvdG90eXBlLCBKU1Rlc3ROYW1lZFNl
dHRlck5vSWRlbnRpZmllcjo6cHJvdG90eXBlKHZtLCBnbG9iYWxPYmplY3QpLCBKU0M6OlByb3Bl
cnR5QXR0cmlidXRlOjpEb250RGVsZXRlIHwgSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6UmVhZE9u
bHkgfCBKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpEb250RW51bSk7Ci0gICAgcHV0RGlyZWN0KHZt
LCB2bS5wcm9wZXJ0eU5hbWVzLT5uYW1lLCBqc05vbnRyaXZpYWxTdHJpbmcodm0sICJUZXN0TmFt
ZWRTZXR0ZXJOb0lkZW50aWZpZXIiX3MpLCBKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpSZWFkT25s
eSB8IEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OkRvbnRFbnVtKTsKKyAgICBKU1N0cmluZyogbmFt
ZVN0cmluZyA9IGpzTm9udHJpdmlhbFN0cmluZyh2bSwgIlRlc3ROYW1lZFNldHRlck5vSWRlbnRp
ZmllciJfcyk7CisgICAgbV9vcmlnaW5hbE5hbWUuc2V0KHZtLCB0aGlzLCBuYW1lU3RyaW5nKTsK
KyAgICBwdXREaXJlY3Qodm0sIHZtLnByb3BlcnR5TmFtZXMtPm5hbWUsIG5hbWVTdHJpbmcsIEpT
Qzo6UHJvcGVydHlBdHRyaWJ1dGU6OlJlYWRPbmx5IHwgSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6
RG9udEVudW0pOwogICAgIHB1dERpcmVjdCh2bSwgdm0ucHJvcGVydHlOYW1lcy0+bGVuZ3RoLCBq
c051bWJlcigwKSwgSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6UmVhZE9ubHkgfCBKU0M6OlByb3Bl
cnR5QXR0cmlidXRlOjpEb250RW51bSk7CiB9CiAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3ROYW1lZFNldHRlclRocm93aW5nRXhjZXB0aW9uLmNw
cAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMv
SlNUZXN0TmFtZWRTZXR0ZXJUaHJvd2luZ0V4Y2VwdGlvbi5jcHAJKHJldmlzaW9uIDI4MDYyMykK
KysrIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3ROYW1lZFNl
dHRlclRocm93aW5nRXhjZXB0aW9uLmNwcAkod29ya2luZyBjb3B5KQpAQCAtOTUsNyArOTUsOSBA
QCB0ZW1wbGF0ZTw+IEpTVmFsdWUgSlNUZXN0TmFtZWRTZXR0ZXJUaHJvCiB0ZW1wbGF0ZTw+IHZv
aWQgSlNUZXN0TmFtZWRTZXR0ZXJUaHJvd2luZ0V4Y2VwdGlvbkRPTUNvbnN0cnVjdG9yOjppbml0
aWFsaXplUHJvcGVydGllcyhWTSYgdm0sIEpTRE9NR2xvYmFsT2JqZWN0JiBnbG9iYWxPYmplY3Qp
CiB7CiAgICAgcHV0RGlyZWN0KHZtLCB2bS5wcm9wZXJ0eU5hbWVzLT5wcm90b3R5cGUsIEpTVGVz
dE5hbWVkU2V0dGVyVGhyb3dpbmdFeGNlcHRpb246OnByb3RvdHlwZSh2bSwgZ2xvYmFsT2JqZWN0
KSwgSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9udERlbGV0ZSB8IEpTQzo6UHJvcGVydHlBdHRy
aWJ1dGU6OlJlYWRPbmx5IHwgSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9udEVudW0pOwotICAg
IHB1dERpcmVjdCh2bSwgdm0ucHJvcGVydHlOYW1lcy0+bmFtZSwganNOb250cml2aWFsU3RyaW5n
KHZtLCAiVGVzdE5hbWVkU2V0dGVyVGhyb3dpbmdFeGNlcHRpb24iX3MpLCBKU0M6OlByb3BlcnR5
QXR0cmlidXRlOjpSZWFkT25seSB8IEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OkRvbnRFbnVtKTsK
KyAgICBKU1N0cmluZyogbmFtZVN0cmluZyA9IGpzTm9udHJpdmlhbFN0cmluZyh2bSwgIlRlc3RO
YW1lZFNldHRlclRocm93aW5nRXhjZXB0aW9uIl9zKTsKKyAgICBtX29yaWdpbmFsTmFtZS5zZXQo
dm0sIHRoaXMsIG5hbWVTdHJpbmcpOworICAgIHB1dERpcmVjdCh2bSwgdm0ucHJvcGVydHlOYW1l
cy0+bmFtZSwgbmFtZVN0cmluZywgSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6UmVhZE9ubHkgfCBK
U0M6OlByb3BlcnR5QXR0cmlidXRlOjpEb250RW51bSk7CiAgICAgcHV0RGlyZWN0KHZtLCB2bS5w
cm9wZXJ0eU5hbWVzLT5sZW5ndGgsIGpzTnVtYmVyKDApLCBKU0M6OlByb3BlcnR5QXR0cmlidXRl
OjpSZWFkT25seSB8IEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OkRvbnRFbnVtKTsKIH0KIApJbmRl
eDogU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE5hbWVkU2V0
dGVyV2l0aElkZW50aWZpZXIuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3ROYW1lZFNldHRlcldpdGhJZGVudGlmaWVyLmNwcAko
cmV2aXNpb24gMjgwNjIzKQorKysgU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0
L0pTL0pTVGVzdE5hbWVkU2V0dGVyV2l0aElkZW50aWZpZXIuY3BwCSh3b3JraW5nIGNvcHkpCkBA
IC0xMDIsNyArMTAyLDkgQEAgdGVtcGxhdGU8PiBKU1ZhbHVlIEpTVGVzdE5hbWVkU2V0dGVyV2l0
aAogdGVtcGxhdGU8PiB2b2lkIEpTVGVzdE5hbWVkU2V0dGVyV2l0aElkZW50aWZpZXJET01Db25z
dHJ1Y3Rvcjo6aW5pdGlhbGl6ZVByb3BlcnRpZXMoVk0mIHZtLCBKU0RPTUdsb2JhbE9iamVjdCYg
Z2xvYmFsT2JqZWN0KQogewogICAgIHB1dERpcmVjdCh2bSwgdm0ucHJvcGVydHlOYW1lcy0+cHJv
dG90eXBlLCBKU1Rlc3ROYW1lZFNldHRlcldpdGhJZGVudGlmaWVyOjpwcm90b3R5cGUodm0sIGds
b2JhbE9iamVjdCksIEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OkRvbnREZWxldGUgfCBKU0M6OlBy
b3BlcnR5QXR0cmlidXRlOjpSZWFkT25seSB8IEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OkRvbnRF
bnVtKTsKLSAgICBwdXREaXJlY3Qodm0sIHZtLnByb3BlcnR5TmFtZXMtPm5hbWUsIGpzTm9udHJp
dmlhbFN0cmluZyh2bSwgIlRlc3ROYW1lZFNldHRlcldpdGhJZGVudGlmaWVyIl9zKSwgSlNDOjpQ
cm9wZXJ0eUF0dHJpYnV0ZTo6UmVhZE9ubHkgfCBKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpEb250
RW51bSk7CisgICAgSlNTdHJpbmcqIG5hbWVTdHJpbmcgPSBqc05vbnRyaXZpYWxTdHJpbmcodm0s
ICJUZXN0TmFtZWRTZXR0ZXJXaXRoSWRlbnRpZmllciJfcyk7CisgICAgbV9vcmlnaW5hbE5hbWUu
c2V0KHZtLCB0aGlzLCBuYW1lU3RyaW5nKTsKKyAgICBwdXREaXJlY3Qodm0sIHZtLnByb3BlcnR5
TmFtZXMtPm5hbWUsIG5hbWVTdHJpbmcsIEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OlJlYWRPbmx5
IHwgSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9udEVudW0pOwogICAgIHB1dERpcmVjdCh2bSwg
dm0ucHJvcGVydHlOYW1lcy0+bGVuZ3RoLCBqc051bWJlcigwKSwgSlNDOjpQcm9wZXJ0eUF0dHJp
YnV0ZTo6UmVhZE9ubHkgfCBKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpEb250RW51bSk7CiB9CiAK
SW5kZXg6IFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3ROYW1l
ZFNldHRlcldpdGhJbmRleGVkR2V0dGVyLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0TmFtZWRTZXR0ZXJXaXRoSW5kZXhlZEdl
dHRlci5jcHAJKHJldmlzaW9uIDI4MDYyMykKKysrIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Nj
cmlwdHMvdGVzdC9KUy9KU1Rlc3ROYW1lZFNldHRlcldpdGhJbmRleGVkR2V0dGVyLmNwcAkod29y
a2luZyBjb3B5KQpAQCAtMTA1LDcgKzEwNSw5IEBAIHRlbXBsYXRlPD4gSlNWYWx1ZSBKU1Rlc3RO
YW1lZFNldHRlcldpdGgKIHRlbXBsYXRlPD4gdm9pZCBKU1Rlc3ROYW1lZFNldHRlcldpdGhJbmRl
eGVkR2V0dGVyRE9NQ29uc3RydWN0b3I6OmluaXRpYWxpemVQcm9wZXJ0aWVzKFZNJiB2bSwgSlNE
T01HbG9iYWxPYmplY3QmIGdsb2JhbE9iamVjdCkKIHsKICAgICBwdXREaXJlY3Qodm0sIHZtLnBy
b3BlcnR5TmFtZXMtPnByb3RvdHlwZSwgSlNUZXN0TmFtZWRTZXR0ZXJXaXRoSW5kZXhlZEdldHRl
cjo6cHJvdG90eXBlKHZtLCBnbG9iYWxPYmplY3QpLCBKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpE
b250RGVsZXRlIHwgSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6UmVhZE9ubHkgfCBKU0M6OlByb3Bl
cnR5QXR0cmlidXRlOjpEb250RW51bSk7Ci0gICAgcHV0RGlyZWN0KHZtLCB2bS5wcm9wZXJ0eU5h
bWVzLT5uYW1lLCBqc05vbnRyaXZpYWxTdHJpbmcodm0sICJUZXN0TmFtZWRTZXR0ZXJXaXRoSW5k
ZXhlZEdldHRlciJfcyksIEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OlJlYWRPbmx5IHwgSlNDOjpQ
cm9wZXJ0eUF0dHJpYnV0ZTo6RG9udEVudW0pOworICAgIEpTU3RyaW5nKiBuYW1lU3RyaW5nID0g
anNOb250cml2aWFsU3RyaW5nKHZtLCAiVGVzdE5hbWVkU2V0dGVyV2l0aEluZGV4ZWRHZXR0ZXIi
X3MpOworICAgIG1fb3JpZ2luYWxOYW1lLnNldCh2bSwgdGhpcywgbmFtZVN0cmluZyk7CisgICAg
cHV0RGlyZWN0KHZtLCB2bS5wcm9wZXJ0eU5hbWVzLT5uYW1lLCBuYW1lU3RyaW5nLCBKU0M6OlBy
b3BlcnR5QXR0cmlidXRlOjpSZWFkT25seSB8IEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OkRvbnRF
bnVtKTsKICAgICBwdXREaXJlY3Qodm0sIHZtLnByb3BlcnR5TmFtZXMtPmxlbmd0aCwganNOdW1i
ZXIoMCksIEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OlJlYWRPbmx5IHwgSlNDOjpQcm9wZXJ0eUF0
dHJpYnV0ZTo6RG9udEVudW0pOwogfQogCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9z
Y3JpcHRzL3Rlc3QvSlMvSlNUZXN0TmFtZWRTZXR0ZXJXaXRoSW5kZXhlZEdldHRlckFuZFNldHRl
ci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0
L0pTL0pTVGVzdE5hbWVkU2V0dGVyV2l0aEluZGV4ZWRHZXR0ZXJBbmRTZXR0ZXIuY3BwCShyZXZp
c2lvbiAyODA2MjMpCisrKyBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMv
SlNUZXN0TmFtZWRTZXR0ZXJXaXRoSW5kZXhlZEdldHRlckFuZFNldHRlci5jcHAJKHdvcmtpbmcg
Y29weSkKQEAgLTEwNSw3ICsxMDUsOSBAQCB0ZW1wbGF0ZTw+IEpTVmFsdWUgSlNUZXN0TmFtZWRT
ZXR0ZXJXaXRoCiB0ZW1wbGF0ZTw+IHZvaWQgSlNUZXN0TmFtZWRTZXR0ZXJXaXRoSW5kZXhlZEdl
dHRlckFuZFNldHRlckRPTUNvbnN0cnVjdG9yOjppbml0aWFsaXplUHJvcGVydGllcyhWTSYgdm0s
IEpTRE9NR2xvYmFsT2JqZWN0JiBnbG9iYWxPYmplY3QpCiB7CiAgICAgcHV0RGlyZWN0KHZtLCB2
bS5wcm9wZXJ0eU5hbWVzLT5wcm90b3R5cGUsIEpTVGVzdE5hbWVkU2V0dGVyV2l0aEluZGV4ZWRH
ZXR0ZXJBbmRTZXR0ZXI6OnByb3RvdHlwZSh2bSwgZ2xvYmFsT2JqZWN0KSwgSlNDOjpQcm9wZXJ0
eUF0dHJpYnV0ZTo6RG9udERlbGV0ZSB8IEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OlJlYWRPbmx5
IHwgSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9udEVudW0pOwotICAgIHB1dERpcmVjdCh2bSwg
dm0ucHJvcGVydHlOYW1lcy0+bmFtZSwganNOb250cml2aWFsU3RyaW5nKHZtLCAiVGVzdE5hbWVk
U2V0dGVyV2l0aEluZGV4ZWRHZXR0ZXJBbmRTZXR0ZXIiX3MpLCBKU0M6OlByb3BlcnR5QXR0cmli
dXRlOjpSZWFkT25seSB8IEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OkRvbnRFbnVtKTsKKyAgICBK
U1N0cmluZyogbmFtZVN0cmluZyA9IGpzTm9udHJpdmlhbFN0cmluZyh2bSwgIlRlc3ROYW1lZFNl
dHRlcldpdGhJbmRleGVkR2V0dGVyQW5kU2V0dGVyIl9zKTsKKyAgICBtX29yaWdpbmFsTmFtZS5z
ZXQodm0sIHRoaXMsIG5hbWVTdHJpbmcpOworICAgIHB1dERpcmVjdCh2bSwgdm0ucHJvcGVydHlO
YW1lcy0+bmFtZSwgbmFtZVN0cmluZywgSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6UmVhZE9ubHkg
fCBKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpEb250RW51bSk7CiAgICAgcHV0RGlyZWN0KHZtLCB2
bS5wcm9wZXJ0eU5hbWVzLT5sZW5ndGgsIGpzTnVtYmVyKDApLCBKU0M6OlByb3BlcnR5QXR0cmli
dXRlOjpSZWFkT25seSB8IEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OkRvbnRFbnVtKTsKIH0KIApJ
bmRleDogU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE5hbWVk
U2V0dGVyV2l0aExlZ2FjeU92ZXJyaWRlQnVpbHRJbnMuY3BwCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3ROYW1lZFNldHRlcldpdGhM
ZWdhY3lPdmVycmlkZUJ1aWx0SW5zLmNwcAkocmV2aXNpb24gMjgwNjIzKQorKysgU291cmNlL1dl
YkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE5hbWVkU2V0dGVyV2l0aExlZ2Fj
eU92ZXJyaWRlQnVpbHRJbnMuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC05NSw3ICs5NSw5IEBAIHRl
bXBsYXRlPD4gSlNWYWx1ZSBKU1Rlc3ROYW1lZFNldHRlcldpdGgKIHRlbXBsYXRlPD4gdm9pZCBK
U1Rlc3ROYW1lZFNldHRlcldpdGhMZWdhY3lPdmVycmlkZUJ1aWx0SW5zRE9NQ29uc3RydWN0b3I6
OmluaXRpYWxpemVQcm9wZXJ0aWVzKFZNJiB2bSwgSlNET01HbG9iYWxPYmplY3QmIGdsb2JhbE9i
amVjdCkKIHsKICAgICBwdXREaXJlY3Qodm0sIHZtLnByb3BlcnR5TmFtZXMtPnByb3RvdHlwZSwg
SlNUZXN0TmFtZWRTZXR0ZXJXaXRoTGVnYWN5T3ZlcnJpZGVCdWlsdEluczo6cHJvdG90eXBlKHZt
LCBnbG9iYWxPYmplY3QpLCBKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpEb250RGVsZXRlIHwgSlND
OjpQcm9wZXJ0eUF0dHJpYnV0ZTo6UmVhZE9ubHkgfCBKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpE
b250RW51bSk7Ci0gICAgcHV0RGlyZWN0KHZtLCB2bS5wcm9wZXJ0eU5hbWVzLT5uYW1lLCBqc05v
bnRyaXZpYWxTdHJpbmcodm0sICJUZXN0TmFtZWRTZXR0ZXJXaXRoTGVnYWN5T3ZlcnJpZGVCdWls
dElucyJfcyksIEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OlJlYWRPbmx5IHwgSlNDOjpQcm9wZXJ0
eUF0dHJpYnV0ZTo6RG9udEVudW0pOworICAgIEpTU3RyaW5nKiBuYW1lU3RyaW5nID0ganNOb250
cml2aWFsU3RyaW5nKHZtLCAiVGVzdE5hbWVkU2V0dGVyV2l0aExlZ2FjeU92ZXJyaWRlQnVpbHRJ
bnMiX3MpOworICAgIG1fb3JpZ2luYWxOYW1lLnNldCh2bSwgdGhpcywgbmFtZVN0cmluZyk7Cisg
ICAgcHV0RGlyZWN0KHZtLCB2bS5wcm9wZXJ0eU5hbWVzLT5uYW1lLCBuYW1lU3RyaW5nLCBKU0M6
OlByb3BlcnR5QXR0cmlidXRlOjpSZWFkT25seSB8IEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OkRv
bnRFbnVtKTsKICAgICBwdXREaXJlY3Qodm0sIHZtLnByb3BlcnR5TmFtZXMtPmxlbmd0aCwganNO
dW1iZXIoMCksIEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OlJlYWRPbmx5IHwgSlNDOjpQcm9wZXJ0
eUF0dHJpYnV0ZTo6RG9udEVudW0pOwogfQogCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0TmFtZWRTZXR0ZXJXaXRoTGVnYWN5VW5mb3JnZWFibGVQ
cm9wZXJ0aWVzLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3Jp
cHRzL3Rlc3QvSlMvSlNUZXN0TmFtZWRTZXR0ZXJXaXRoTGVnYWN5VW5mb3JnZWFibGVQcm9wZXJ0
aWVzLmNwcAkocmV2aXNpb24gMjgwNjIzKQorKysgU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2Ny
aXB0cy90ZXN0L0pTL0pTVGVzdE5hbWVkU2V0dGVyV2l0aExlZ2FjeVVuZm9yZ2VhYmxlUHJvcGVy
dGllcy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTEyMSw3ICsxMjEsOSBAQCB0ZW1wbGF0ZTw+IEpT
VmFsdWUgSlNUZXN0TmFtZWRTZXR0ZXJXaXRoCiB0ZW1wbGF0ZTw+IHZvaWQgSlNUZXN0TmFtZWRT
ZXR0ZXJXaXRoTGVnYWN5VW5mb3JnZWFibGVQcm9wZXJ0aWVzRE9NQ29uc3RydWN0b3I6OmluaXRp
YWxpemVQcm9wZXJ0aWVzKFZNJiB2bSwgSlNET01HbG9iYWxPYmplY3QmIGdsb2JhbE9iamVjdCkK
IHsKICAgICBwdXREaXJlY3Qodm0sIHZtLnByb3BlcnR5TmFtZXMtPnByb3RvdHlwZSwgSlNUZXN0
TmFtZWRTZXR0ZXJXaXRoTGVnYWN5VW5mb3JnZWFibGVQcm9wZXJ0aWVzOjpwcm90b3R5cGUodm0s
IGdsb2JhbE9iamVjdCksIEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OkRvbnREZWxldGUgfCBKU0M6
OlByb3BlcnR5QXR0cmlidXRlOjpSZWFkT25seSB8IEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OkRv
bnRFbnVtKTsKLSAgICBwdXREaXJlY3Qodm0sIHZtLnByb3BlcnR5TmFtZXMtPm5hbWUsIGpzTm9u
dHJpdmlhbFN0cmluZyh2bSwgIlRlc3ROYW1lZFNldHRlcldpdGhMZWdhY3lVbmZvcmdlYWJsZVBy
b3BlcnRpZXMiX3MpLCBKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpSZWFkT25seSB8IEpTQzo6UHJv
cGVydHlBdHRyaWJ1dGU6OkRvbnRFbnVtKTsKKyAgICBKU1N0cmluZyogbmFtZVN0cmluZyA9IGpz
Tm9udHJpdmlhbFN0cmluZyh2bSwgIlRlc3ROYW1lZFNldHRlcldpdGhMZWdhY3lVbmZvcmdlYWJs
ZVByb3BlcnRpZXMiX3MpOworICAgIG1fb3JpZ2luYWxOYW1lLnNldCh2bSwgdGhpcywgbmFtZVN0
cmluZyk7CisgICAgcHV0RGlyZWN0KHZtLCB2bS5wcm9wZXJ0eU5hbWVzLT5uYW1lLCBuYW1lU3Ry
aW5nLCBKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpSZWFkT25seSB8IEpTQzo6UHJvcGVydHlBdHRy
aWJ1dGU6OkRvbnRFbnVtKTsKICAgICBwdXREaXJlY3Qodm0sIHZtLnByb3BlcnR5TmFtZXMtPmxl
bmd0aCwganNOdW1iZXIoMCksIEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OlJlYWRPbmx5IHwgSlND
OjpQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9udEVudW0pOwogfQogCkluZGV4OiBTb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0TmFtZWRTZXR0ZXJXaXRoTGVnYWN5VW5m
b3JnZWFibGVQcm9wZXJ0aWVzQW5kTGVnYWN5T3ZlcnJpZGVCdWlsdElucy5jcHAKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE5hbWVk
U2V0dGVyV2l0aExlZ2FjeVVuZm9yZ2VhYmxlUHJvcGVydGllc0FuZExlZ2FjeU92ZXJyaWRlQnVp
bHRJbnMuY3BwCShyZXZpc2lvbiAyODA2MjMpCisrKyBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9z
Y3JpcHRzL3Rlc3QvSlMvSlNUZXN0TmFtZWRTZXR0ZXJXaXRoTGVnYWN5VW5mb3JnZWFibGVQcm9w
ZXJ0aWVzQW5kTGVnYWN5T3ZlcnJpZGVCdWlsdElucy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTEy
MSw3ICsxMjEsOSBAQCB0ZW1wbGF0ZTw+IEpTVmFsdWUgSlNUZXN0TmFtZWRTZXR0ZXJXaXRoCiB0
ZW1wbGF0ZTw+IHZvaWQgSlNUZXN0TmFtZWRTZXR0ZXJXaXRoTGVnYWN5VW5mb3JnZWFibGVQcm9w
ZXJ0aWVzQW5kTGVnYWN5T3ZlcnJpZGVCdWlsdEluc0RPTUNvbnN0cnVjdG9yOjppbml0aWFsaXpl
UHJvcGVydGllcyhWTSYgdm0sIEpTRE9NR2xvYmFsT2JqZWN0JiBnbG9iYWxPYmplY3QpCiB7CiAg
ICAgcHV0RGlyZWN0KHZtLCB2bS5wcm9wZXJ0eU5hbWVzLT5wcm90b3R5cGUsIEpTVGVzdE5hbWVk
U2V0dGVyV2l0aExlZ2FjeVVuZm9yZ2VhYmxlUHJvcGVydGllc0FuZExlZ2FjeU92ZXJyaWRlQnVp
bHRJbnM6OnByb3RvdHlwZSh2bSwgZ2xvYmFsT2JqZWN0KSwgSlNDOjpQcm9wZXJ0eUF0dHJpYnV0
ZTo6RG9udERlbGV0ZSB8IEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OlJlYWRPbmx5IHwgSlNDOjpQ
cm9wZXJ0eUF0dHJpYnV0ZTo6RG9udEVudW0pOwotICAgIHB1dERpcmVjdCh2bSwgdm0ucHJvcGVy
dHlOYW1lcy0+bmFtZSwganNOb250cml2aWFsU3RyaW5nKHZtLCAiVGVzdE5hbWVkU2V0dGVyV2l0
aExlZ2FjeVVuZm9yZ2VhYmxlUHJvcGVydGllc0FuZExlZ2FjeU92ZXJyaWRlQnVpbHRJbnMiX3Mp
LCBKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpSZWFkT25seSB8IEpTQzo6UHJvcGVydHlBdHRyaWJ1
dGU6OkRvbnRFbnVtKTsKKyAgICBKU1N0cmluZyogbmFtZVN0cmluZyA9IGpzTm9udHJpdmlhbFN0
cmluZyh2bSwgIlRlc3ROYW1lZFNldHRlcldpdGhMZWdhY3lVbmZvcmdlYWJsZVByb3BlcnRpZXNB
bmRMZWdhY3lPdmVycmlkZUJ1aWx0SW5zIl9zKTsKKyAgICBtX29yaWdpbmFsTmFtZS5zZXQodm0s
IHRoaXMsIG5hbWVTdHJpbmcpOworICAgIHB1dERpcmVjdCh2bSwgdm0ucHJvcGVydHlOYW1lcy0+
bmFtZSwgbmFtZVN0cmluZywgSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6UmVhZE9ubHkgfCBKU0M6
OlByb3BlcnR5QXR0cmlidXRlOjpEb250RW51bSk7CiAgICAgcHV0RGlyZWN0KHZtLCB2bS5wcm9w
ZXJ0eU5hbWVzLT5sZW5ndGgsIGpzTnVtYmVyKDApLCBKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpS
ZWFkT25seSB8IEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OkRvbnRFbnVtKTsKIH0KIApJbmRleDog
U291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE5vZGUuY3BwCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rl
c3ROb2RlLmNwcAkocmV2aXNpb24gMjgwNjIzKQorKysgU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
c2NyaXB0cy90ZXN0L0pTL0pTVGVzdE5vZGUuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xNDEsNyAr
MTQxLDkgQEAgdGVtcGxhdGU8PiBKU1ZhbHVlIEpTVGVzdE5vZGVET01Db25zdHJ1YwogdGVtcGxh
dGU8PiB2b2lkIEpTVGVzdE5vZGVET01Db25zdHJ1Y3Rvcjo6aW5pdGlhbGl6ZVByb3BlcnRpZXMo
Vk0mIHZtLCBKU0RPTUdsb2JhbE9iamVjdCYgZ2xvYmFsT2JqZWN0KQogewogICAgIHB1dERpcmVj
dCh2bSwgdm0ucHJvcGVydHlOYW1lcy0+cHJvdG90eXBlLCBKU1Rlc3ROb2RlOjpwcm90b3R5cGUo
dm0sIGdsb2JhbE9iamVjdCksIEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OkRvbnREZWxldGUgfCBK
U0M6OlByb3BlcnR5QXR0cmlidXRlOjpSZWFkT25seSB8IEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6
OkRvbnRFbnVtKTsKLSAgICBwdXREaXJlY3Qodm0sIHZtLnByb3BlcnR5TmFtZXMtPm5hbWUsIGpz
Tm9udHJpdmlhbFN0cmluZyh2bSwgIlRlc3ROb2RlIl9zKSwgSlNDOjpQcm9wZXJ0eUF0dHJpYnV0
ZTo6UmVhZE9ubHkgfCBKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpEb250RW51bSk7CisgICAgSlNT
dHJpbmcqIG5hbWVTdHJpbmcgPSBqc05vbnRyaXZpYWxTdHJpbmcodm0sICJUZXN0Tm9kZSJfcyk7
CisgICAgbV9vcmlnaW5hbE5hbWUuc2V0KHZtLCB0aGlzLCBuYW1lU3RyaW5nKTsKKyAgICBwdXRE
aXJlY3Qodm0sIHZtLnByb3BlcnR5TmFtZXMtPm5hbWUsIG5hbWVTdHJpbmcsIEpTQzo6UHJvcGVy
dHlBdHRyaWJ1dGU6OlJlYWRPbmx5IHwgSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9udEVudW0p
OwogICAgIHB1dERpcmVjdCh2bSwgdm0ucHJvcGVydHlOYW1lcy0+bGVuZ3RoLCBqc051bWJlcigw
KSwgSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6UmVhZE9ubHkgfCBKU0M6OlByb3BlcnR5QXR0cmli
dXRlOjpEb250RW51bSk7CiB9CiAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Njcmlw
dHMvdGVzdC9KUy9KU1Rlc3RPYmouY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RPYmouY3BwCShyZXZpc2lvbiAyODA2MjMpCisr
KyBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0T2JqLmNwcAko
d29ya2luZyBjb3B5KQpAQCAtMjAzMyw3ICsyMDMzLDkgQEAgdGVtcGxhdGU8PiBKU1ZhbHVlIEpT
VGVzdE9iakRPTUNvbnN0cnVjdAogdGVtcGxhdGU8PiB2b2lkIEpTVGVzdE9iakRPTUNvbnN0cnVj
dG9yOjppbml0aWFsaXplUHJvcGVydGllcyhWTSYgdm0sIEpTRE9NR2xvYmFsT2JqZWN0JiBnbG9i
YWxPYmplY3QpCiB7CiAgICAgcHV0RGlyZWN0KHZtLCB2bS5wcm9wZXJ0eU5hbWVzLT5wcm90b3R5
cGUsIEpTVGVzdE9iajo6cHJvdG90eXBlKHZtLCBnbG9iYWxPYmplY3QpLCBKU0M6OlByb3BlcnR5
QXR0cmlidXRlOjpEb250RGVsZXRlIHwgSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6UmVhZE9ubHkg
fCBKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpEb250RW51bSk7Ci0gICAgcHV0RGlyZWN0KHZtLCB2
bS5wcm9wZXJ0eU5hbWVzLT5uYW1lLCBqc05vbnRyaXZpYWxTdHJpbmcodm0sICJUZXN0T2JqZWN0
Il9zKSwgSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6UmVhZE9ubHkgfCBKU0M6OlByb3BlcnR5QXR0
cmlidXRlOjpEb250RW51bSk7CisgICAgSlNTdHJpbmcqIG5hbWVTdHJpbmcgPSBqc05vbnRyaXZp
YWxTdHJpbmcodm0sICJUZXN0T2JqZWN0Il9zKTsKKyAgICBtX29yaWdpbmFsTmFtZS5zZXQodm0s
IHRoaXMsIG5hbWVTdHJpbmcpOworICAgIHB1dERpcmVjdCh2bSwgdm0ucHJvcGVydHlOYW1lcy0+
bmFtZSwgbmFtZVN0cmluZywgSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6UmVhZE9ubHkgfCBKU0M6
OlByb3BlcnR5QXR0cmlidXRlOjpEb250RW51bSk7CiAgICAgcHV0RGlyZWN0KHZtLCB2bS5wcm9w
ZXJ0eU5hbWVzLT5sZW5ndGgsIGpzTnVtYmVyKDIpLCBKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpS
ZWFkT25seSB8IEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OkRvbnRFbnVtKTsKICAgICByZWlmeVN0
YXRpY1Byb3BlcnRpZXModm0sIEpTVGVzdE9iajo6aW5mbygpLCBKU1Rlc3RPYmpDb25zdHJ1Y3Rv
clRhYmxlVmFsdWVzLCAqdGhpcyk7CiAjaWYgRU5BQkxFKFRFU1RfRkVBVFVSRSkKSW5kZXg6IFNv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RPcGVyYXRpb25Db25k
aXRpb25hbC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0
cy90ZXN0L0pTL0pTVGVzdE9wZXJhdGlvbkNvbmRpdGlvbmFsLmNwcAkocmV2aXNpb24gMjgwNjIz
KQorKysgU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE9wZXJh
dGlvbkNvbmRpdGlvbmFsLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTExLDcgKzExMSw5IEBAIHRl
bXBsYXRlPD4gSlNWYWx1ZSBKU1Rlc3RPcGVyYXRpb25Db25kaXQKIHRlbXBsYXRlPD4gdm9pZCBK
U1Rlc3RPcGVyYXRpb25Db25kaXRpb25hbERPTUNvbnN0cnVjdG9yOjppbml0aWFsaXplUHJvcGVy
dGllcyhWTSYgdm0sIEpTRE9NR2xvYmFsT2JqZWN0JiBnbG9iYWxPYmplY3QpCiB7CiAgICAgcHV0
RGlyZWN0KHZtLCB2bS5wcm9wZXJ0eU5hbWVzLT5wcm90b3R5cGUsIEpTVGVzdE9wZXJhdGlvbkNv
bmRpdGlvbmFsOjpwcm90b3R5cGUodm0sIGdsb2JhbE9iamVjdCksIEpTQzo6UHJvcGVydHlBdHRy
aWJ1dGU6OkRvbnREZWxldGUgfCBKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpSZWFkT25seSB8IEpT
Qzo6UHJvcGVydHlBdHRyaWJ1dGU6OkRvbnRFbnVtKTsKLSAgICBwdXREaXJlY3Qodm0sIHZtLnBy
b3BlcnR5TmFtZXMtPm5hbWUsIGpzTm9udHJpdmlhbFN0cmluZyh2bSwgIlRlc3RPcGVyYXRpb25D
b25kaXRpb25hbCJfcyksIEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OlJlYWRPbmx5IHwgSlNDOjpQ
cm9wZXJ0eUF0dHJpYnV0ZTo6RG9udEVudW0pOworICAgIEpTU3RyaW5nKiBuYW1lU3RyaW5nID0g
anNOb250cml2aWFsU3RyaW5nKHZtLCAiVGVzdE9wZXJhdGlvbkNvbmRpdGlvbmFsIl9zKTsKKyAg
ICBtX29yaWdpbmFsTmFtZS5zZXQodm0sIHRoaXMsIG5hbWVTdHJpbmcpOworICAgIHB1dERpcmVj
dCh2bSwgdm0ucHJvcGVydHlOYW1lcy0+bmFtZSwgbmFtZVN0cmluZywgSlNDOjpQcm9wZXJ0eUF0
dHJpYnV0ZTo6UmVhZE9ubHkgfCBKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpEb250RW51bSk7CiAg
ICAgcHV0RGlyZWN0KHZtLCB2bS5wcm9wZXJ0eU5hbWVzLT5sZW5ndGgsIGpzTnVtYmVyKDApLCBK
U0M6OlByb3BlcnR5QXR0cmlidXRlOjpSZWFkT25seSB8IEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6
OkRvbnRFbnVtKTsKIH0KIApJbmRleDogU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90
ZXN0L0pTL0pTVGVzdE92ZXJsb2FkZWRDb25zdHJ1Y3RvcnMuY3BwCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RPdmVybG9hZGVkQ29u
c3RydWN0b3JzLmNwcAkocmV2aXNpb24gMjgwNjIzKQorKysgU291cmNlL1dlYkNvcmUvYmluZGlu
Z3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE92ZXJsb2FkZWRDb25zdHJ1Y3RvcnMuY3BwCSh3b3Jr
aW5nIGNvcHkpCkBAIC0yMTgsNyArMjE4LDkgQEAgdGVtcGxhdGU8PiBKU1ZhbHVlIEpTVGVzdE92
ZXJsb2FkZWRDb25zdAogdGVtcGxhdGU8PiB2b2lkIEpTVGVzdE92ZXJsb2FkZWRDb25zdHJ1Y3Rv
cnNET01Db25zdHJ1Y3Rvcjo6aW5pdGlhbGl6ZVByb3BlcnRpZXMoVk0mIHZtLCBKU0RPTUdsb2Jh
bE9iamVjdCYgZ2xvYmFsT2JqZWN0KQogewogICAgIHB1dERpcmVjdCh2bSwgdm0ucHJvcGVydHlO
YW1lcy0+cHJvdG90eXBlLCBKU1Rlc3RPdmVybG9hZGVkQ29uc3RydWN0b3JzOjpwcm90b3R5cGUo
dm0sIGdsb2JhbE9iamVjdCksIEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OkRvbnREZWxldGUgfCBK
U0M6OlByb3BlcnR5QXR0cmlidXRlOjpSZWFkT25seSB8IEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6
OkRvbnRFbnVtKTsKLSAgICBwdXREaXJlY3Qodm0sIHZtLnByb3BlcnR5TmFtZXMtPm5hbWUsIGpz
Tm9udHJpdmlhbFN0cmluZyh2bSwgIlRlc3RPdmVybG9hZGVkQ29uc3RydWN0b3JzIl9zKSwgSlND
OjpQcm9wZXJ0eUF0dHJpYnV0ZTo6UmVhZE9ubHkgfCBKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpE
b250RW51bSk7CisgICAgSlNTdHJpbmcqIG5hbWVTdHJpbmcgPSBqc05vbnRyaXZpYWxTdHJpbmco
dm0sICJUZXN0T3ZlcmxvYWRlZENvbnN0cnVjdG9ycyJfcyk7CisgICAgbV9vcmlnaW5hbE5hbWUu
c2V0KHZtLCB0aGlzLCBuYW1lU3RyaW5nKTsKKyAgICBwdXREaXJlY3Qodm0sIHZtLnByb3BlcnR5
TmFtZXMtPm5hbWUsIG5hbWVTdHJpbmcsIEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OlJlYWRPbmx5
IHwgSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9udEVudW0pOwogICAgIHB1dERpcmVjdCh2bSwg
dm0ucHJvcGVydHlOYW1lcy0+bGVuZ3RoLCBqc051bWJlcigwKSwgSlNDOjpQcm9wZXJ0eUF0dHJp
YnV0ZTo6UmVhZE9ubHkgfCBKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpEb250RW51bSk7CiB9CiAK
SW5kZXg6IFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RPdmVy
bG9hZGVkQ29uc3RydWN0b3JzV2l0aFNlcXVlbmNlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0T3ZlcmxvYWRlZENvbnN0cnVj
dG9yc1dpdGhTZXF1ZW5jZS5jcHAJKHJldmlzaW9uIDI4MDYyMykKKysrIFNvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RPdmVybG9hZGVkQ29uc3RydWN0b3JzV2l0
aFNlcXVlbmNlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTYxLDcgKzE2MSw5IEBAIHRlbXBsYXRl
PD4gSlNWYWx1ZSBKU1Rlc3RPdmVybG9hZGVkQ29uc3QKIHRlbXBsYXRlPD4gdm9pZCBKU1Rlc3RP
dmVybG9hZGVkQ29uc3RydWN0b3JzV2l0aFNlcXVlbmNlRE9NQ29uc3RydWN0b3I6OmluaXRpYWxp
emVQcm9wZXJ0aWVzKFZNJiB2bSwgSlNET01HbG9iYWxPYmplY3QmIGdsb2JhbE9iamVjdCkKIHsK
ICAgICBwdXREaXJlY3Qodm0sIHZtLnByb3BlcnR5TmFtZXMtPnByb3RvdHlwZSwgSlNUZXN0T3Zl
cmxvYWRlZENvbnN0cnVjdG9yc1dpdGhTZXF1ZW5jZTo6cHJvdG90eXBlKHZtLCBnbG9iYWxPYmpl
Y3QpLCBKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpEb250RGVsZXRlIHwgSlNDOjpQcm9wZXJ0eUF0
dHJpYnV0ZTo6UmVhZE9ubHkgfCBKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpEb250RW51bSk7Ci0g
ICAgcHV0RGlyZWN0KHZtLCB2bS5wcm9wZXJ0eU5hbWVzLT5uYW1lLCBqc05vbnRyaXZpYWxTdHJp
bmcodm0sICJUZXN0T3ZlcmxvYWRlZENvbnN0cnVjdG9yc1dpdGhTZXF1ZW5jZSJfcyksIEpTQzo6
UHJvcGVydHlBdHRyaWJ1dGU6OlJlYWRPbmx5IHwgSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9u
dEVudW0pOworICAgIEpTU3RyaW5nKiBuYW1lU3RyaW5nID0ganNOb250cml2aWFsU3RyaW5nKHZt
LCAiVGVzdE92ZXJsb2FkZWRDb25zdHJ1Y3RvcnNXaXRoU2VxdWVuY2UiX3MpOworICAgIG1fb3Jp
Z2luYWxOYW1lLnNldCh2bSwgdGhpcywgbmFtZVN0cmluZyk7CisgICAgcHV0RGlyZWN0KHZtLCB2
bS5wcm9wZXJ0eU5hbWVzLT5uYW1lLCBuYW1lU3RyaW5nLCBKU0M6OlByb3BlcnR5QXR0cmlidXRl
OjpSZWFkT25seSB8IEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OkRvbnRFbnVtKTsKICAgICBwdXRE
aXJlY3Qodm0sIHZtLnByb3BlcnR5TmFtZXMtPmxlbmd0aCwganNOdW1iZXIoMCksIEpTQzo6UHJv
cGVydHlBdHRyaWJ1dGU6OlJlYWRPbmx5IHwgSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9udEVu
dW0pOwogfQogCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMv
SlNUZXN0UGx1Z2luSW50ZXJmYWNlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0UGx1Z2luSW50ZXJmYWNlLmNwcAkocmV2aXNp
b24gMjgwNjIzKQorKysgU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pT
VGVzdFBsdWdpbkludGVyZmFjZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTk0LDcgKzk0LDkgQEAg
dGVtcGxhdGU8PiBKU1ZhbHVlIEpTVGVzdFBsdWdpbkludGVyZmFjZQogdGVtcGxhdGU8PiB2b2lk
IEpTVGVzdFBsdWdpbkludGVyZmFjZURPTUNvbnN0cnVjdG9yOjppbml0aWFsaXplUHJvcGVydGll
cyhWTSYgdm0sIEpTRE9NR2xvYmFsT2JqZWN0JiBnbG9iYWxPYmplY3QpCiB7CiAgICAgcHV0RGly
ZWN0KHZtLCB2bS5wcm9wZXJ0eU5hbWVzLT5wcm90b3R5cGUsIEpTVGVzdFBsdWdpbkludGVyZmFj
ZTo6cHJvdG90eXBlKHZtLCBnbG9iYWxPYmplY3QpLCBKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpE
b250RGVsZXRlIHwgSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6UmVhZE9ubHkgfCBKU0M6OlByb3Bl
cnR5QXR0cmlidXRlOjpEb250RW51bSk7Ci0gICAgcHV0RGlyZWN0KHZtLCB2bS5wcm9wZXJ0eU5h
bWVzLT5uYW1lLCBqc05vbnRyaXZpYWxTdHJpbmcodm0sICJUZXN0UGx1Z2luSW50ZXJmYWNlIl9z
KSwgSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6UmVhZE9ubHkgfCBKU0M6OlByb3BlcnR5QXR0cmli
dXRlOjpEb250RW51bSk7CisgICAgSlNTdHJpbmcqIG5hbWVTdHJpbmcgPSBqc05vbnRyaXZpYWxT
dHJpbmcodm0sICJUZXN0UGx1Z2luSW50ZXJmYWNlIl9zKTsKKyAgICBtX29yaWdpbmFsTmFtZS5z
ZXQodm0sIHRoaXMsIG5hbWVTdHJpbmcpOworICAgIHB1dERpcmVjdCh2bSwgdm0ucHJvcGVydHlO
YW1lcy0+bmFtZSwgbmFtZVN0cmluZywgSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6UmVhZE9ubHkg
fCBKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpEb250RW51bSk7CiAgICAgcHV0RGlyZWN0KHZtLCB2
bS5wcm9wZXJ0eU5hbWVzLT5sZW5ndGgsIGpzTnVtYmVyKDApLCBKU0M6OlByb3BlcnR5QXR0cmli
dXRlOjpSZWFkT25seSB8IEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OkRvbnRFbnVtKTsKIH0KIApJ
bmRleDogU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdFByb21p
c2VSZWplY3Rpb25FdmVudC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvYmluZGlu
Z3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdFByb21pc2VSZWplY3Rpb25FdmVudC5jcHAJKHJldmlz
aW9uIDI4MDYyMykKKysrIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9K
U1Rlc3RQcm9taXNlUmVqZWN0aW9uRXZlbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yMDIsNyAr
MjAyLDkgQEAgdGVtcGxhdGU8PiBKU1ZhbHVlIEpTVGVzdFByb21pc2VSZWplY3RpbwogdGVtcGxh
dGU8PiB2b2lkIEpTVGVzdFByb21pc2VSZWplY3Rpb25FdmVudERPTUNvbnN0cnVjdG9yOjppbml0
aWFsaXplUHJvcGVydGllcyhWTSYgdm0sIEpTRE9NR2xvYmFsT2JqZWN0JiBnbG9iYWxPYmplY3Qp
CiB7CiAgICAgcHV0RGlyZWN0KHZtLCB2bS5wcm9wZXJ0eU5hbWVzLT5wcm90b3R5cGUsIEpTVGVz
dFByb21pc2VSZWplY3Rpb25FdmVudDo6cHJvdG90eXBlKHZtLCBnbG9iYWxPYmplY3QpLCBKU0M6
OlByb3BlcnR5QXR0cmlidXRlOjpEb250RGVsZXRlIHwgSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6
UmVhZE9ubHkgfCBKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpEb250RW51bSk7Ci0gICAgcHV0RGly
ZWN0KHZtLCB2bS5wcm9wZXJ0eU5hbWVzLT5uYW1lLCBqc05vbnRyaXZpYWxTdHJpbmcodm0sICJU
ZXN0UHJvbWlzZVJlamVjdGlvbkV2ZW50Il9zKSwgSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6UmVh
ZE9ubHkgfCBKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpEb250RW51bSk7CisgICAgSlNTdHJpbmcq
IG5hbWVTdHJpbmcgPSBqc05vbnRyaXZpYWxTdHJpbmcodm0sICJUZXN0UHJvbWlzZVJlamVjdGlv
bkV2ZW50Il9zKTsKKyAgICBtX29yaWdpbmFsTmFtZS5zZXQodm0sIHRoaXMsIG5hbWVTdHJpbmcp
OworICAgIHB1dERpcmVjdCh2bSwgdm0ucHJvcGVydHlOYW1lcy0+bmFtZSwgbmFtZVN0cmluZywg
SlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6UmVhZE9ubHkgfCBKU0M6OlByb3BlcnR5QXR0cmlidXRl
OjpEb250RW51bSk7CiAgICAgcHV0RGlyZWN0KHZtLCB2bS5wcm9wZXJ0eU5hbWVzLT5sZW5ndGgs
IGpzTnVtYmVyKDIpLCBKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpSZWFkT25seSB8IEpTQzo6UHJv
cGVydHlBdHRyaWJ1dGU6OkRvbnRFbnVtKTsKIH0KIApJbmRleDogU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdFJlYWRPbmx5TWFwTGlrZS5jcHAKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdFJlYWRP
bmx5TWFwTGlrZS5jcHAJKHJldmlzaW9uIDI4MDYyMykKKysrIFNvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RSZWFkT25seU1hcExpa2UuY3BwCSh3b3JraW5nIGNv
cHkpCkBAIC0xMDksNyArMTA5LDkgQEAgdGVtcGxhdGU8PiBKU1ZhbHVlIEpTVGVzdFJlYWRPbmx5
TWFwTGlrZQogdGVtcGxhdGU8PiB2b2lkIEpTVGVzdFJlYWRPbmx5TWFwTGlrZURPTUNvbnN0cnVj
dG9yOjppbml0aWFsaXplUHJvcGVydGllcyhWTSYgdm0sIEpTRE9NR2xvYmFsT2JqZWN0JiBnbG9i
YWxPYmplY3QpCiB7CiAgICAgcHV0RGlyZWN0KHZtLCB2bS5wcm9wZXJ0eU5hbWVzLT5wcm90b3R5
cGUsIEpTVGVzdFJlYWRPbmx5TWFwTGlrZTo6cHJvdG90eXBlKHZtLCBnbG9iYWxPYmplY3QpLCBK
U0M6OlByb3BlcnR5QXR0cmlidXRlOjpEb250RGVsZXRlIHwgSlNDOjpQcm9wZXJ0eUF0dHJpYnV0
ZTo6UmVhZE9ubHkgfCBKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpEb250RW51bSk7Ci0gICAgcHV0
RGlyZWN0KHZtLCB2bS5wcm9wZXJ0eU5hbWVzLT5uYW1lLCBqc05vbnRyaXZpYWxTdHJpbmcodm0s
ICJUZXN0UmVhZE9ubHlNYXBMaWtlIl9zKSwgSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6UmVhZE9u
bHkgfCBKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpEb250RW51bSk7CisgICAgSlNTdHJpbmcqIG5h
bWVTdHJpbmcgPSBqc05vbnRyaXZpYWxTdHJpbmcodm0sICJUZXN0UmVhZE9ubHlNYXBMaWtlIl9z
KTsKKyAgICBtX29yaWdpbmFsTmFtZS5zZXQodm0sIHRoaXMsIG5hbWVTdHJpbmcpOworICAgIHB1
dERpcmVjdCh2bSwgdm0ucHJvcGVydHlOYW1lcy0+bmFtZSwgbmFtZVN0cmluZywgSlNDOjpQcm9w
ZXJ0eUF0dHJpYnV0ZTo6UmVhZE9ubHkgfCBKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpEb250RW51
bSk7CiAgICAgcHV0RGlyZWN0KHZtLCB2bS5wcm9wZXJ0eU5hbWVzLT5sZW5ndGgsIGpzTnVtYmVy
KDApLCBKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpSZWFkT25seSB8IEpTQzo6UHJvcGVydHlBdHRy
aWJ1dGU6OkRvbnRFbnVtKTsKIH0KIApJbmRleDogU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2Ny
aXB0cy90ZXN0L0pTL0pTVGVzdFJlYWRPbmx5U2V0TGlrZS5jcHAKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdFJlYWRPbmx5U2V0TGlr
ZS5jcHAJKHJldmlzaW9uIDI4MDYyMykKKysrIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Njcmlw
dHMvdGVzdC9KUy9KU1Rlc3RSZWFkT25seVNldExpa2UuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0x
MDgsNyArMTA4LDkgQEAgdGVtcGxhdGU8PiBKU1ZhbHVlIEpTVGVzdFJlYWRPbmx5U2V0TGlrZQog
dGVtcGxhdGU8PiB2b2lkIEpTVGVzdFJlYWRPbmx5U2V0TGlrZURPTUNvbnN0cnVjdG9yOjppbml0
aWFsaXplUHJvcGVydGllcyhWTSYgdm0sIEpTRE9NR2xvYmFsT2JqZWN0JiBnbG9iYWxPYmplY3Qp
CiB7CiAgICAgcHV0RGlyZWN0KHZtLCB2bS5wcm9wZXJ0eU5hbWVzLT5wcm90b3R5cGUsIEpTVGVz
dFJlYWRPbmx5U2V0TGlrZTo6cHJvdG90eXBlKHZtLCBnbG9iYWxPYmplY3QpLCBKU0M6OlByb3Bl
cnR5QXR0cmlidXRlOjpEb250RGVsZXRlIHwgSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6UmVhZE9u
bHkgfCBKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpEb250RW51bSk7Ci0gICAgcHV0RGlyZWN0KHZt
LCB2bS5wcm9wZXJ0eU5hbWVzLT5uYW1lLCBqc05vbnRyaXZpYWxTdHJpbmcodm0sICJUZXN0UmVh
ZE9ubHlTZXRMaWtlIl9zKSwgSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6UmVhZE9ubHkgfCBKU0M6
OlByb3BlcnR5QXR0cmlidXRlOjpEb250RW51bSk7CisgICAgSlNTdHJpbmcqIG5hbWVTdHJpbmcg
PSBqc05vbnRyaXZpYWxTdHJpbmcodm0sICJUZXN0UmVhZE9ubHlTZXRMaWtlIl9zKTsKKyAgICBt
X29yaWdpbmFsTmFtZS5zZXQodm0sIHRoaXMsIG5hbWVTdHJpbmcpOworICAgIHB1dERpcmVjdCh2
bSwgdm0ucHJvcGVydHlOYW1lcy0+bmFtZSwgbmFtZVN0cmluZywgSlNDOjpQcm9wZXJ0eUF0dHJp
YnV0ZTo6UmVhZE9ubHkgfCBKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpEb250RW51bSk7CiAgICAg
cHV0RGlyZWN0KHZtLCB2bS5wcm9wZXJ0eU5hbWVzLT5sZW5ndGgsIGpzTnVtYmVyKDApLCBKU0M6
OlByb3BlcnR5QXR0cmlidXRlOjpSZWFkT25seSB8IEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OkRv
bnRFbnVtKTsKIH0KIApJbmRleDogU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0
L0pTL0pTVGVzdFJlcG9ydEV4dHJhTWVtb3J5Q29zdC5jcHAKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdFJlcG9ydEV4dHJhTWVtb3J5
Q29zdC5jcHAJKHJldmlzaW9uIDI4MDYyMykKKysrIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Nj
cmlwdHMvdGVzdC9KUy9KU1Rlc3RSZXBvcnRFeHRyYU1lbW9yeUNvc3QuY3BwCSh3b3JraW5nIGNv
cHkpCkBAIC05Myw3ICs5Myw5IEBAIHRlbXBsYXRlPD4gSlNWYWx1ZSBKU1Rlc3RSZXBvcnRFeHRy
YU1lbW8KIHRlbXBsYXRlPD4gdm9pZCBKU1Rlc3RSZXBvcnRFeHRyYU1lbW9yeUNvc3RET01Db25z
dHJ1Y3Rvcjo6aW5pdGlhbGl6ZVByb3BlcnRpZXMoVk0mIHZtLCBKU0RPTUdsb2JhbE9iamVjdCYg
Z2xvYmFsT2JqZWN0KQogewogICAgIHB1dERpcmVjdCh2bSwgdm0ucHJvcGVydHlOYW1lcy0+cHJv
dG90eXBlLCBKU1Rlc3RSZXBvcnRFeHRyYU1lbW9yeUNvc3Q6OnByb3RvdHlwZSh2bSwgZ2xvYmFs
T2JqZWN0KSwgSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9udERlbGV0ZSB8IEpTQzo6UHJvcGVy
dHlBdHRyaWJ1dGU6OlJlYWRPbmx5IHwgSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9udEVudW0p
OwotICAgIHB1dERpcmVjdCh2bSwgdm0ucHJvcGVydHlOYW1lcy0+bmFtZSwganNOb250cml2aWFs
U3RyaW5nKHZtLCAiVGVzdFJlcG9ydEV4dHJhTWVtb3J5Q29zdCJfcyksIEpTQzo6UHJvcGVydHlB
dHRyaWJ1dGU6OlJlYWRPbmx5IHwgSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9udEVudW0pOwor
ICAgIEpTU3RyaW5nKiBuYW1lU3RyaW5nID0ganNOb250cml2aWFsU3RyaW5nKHZtLCAiVGVzdFJl
cG9ydEV4dHJhTWVtb3J5Q29zdCJfcyk7CisgICAgbV9vcmlnaW5hbE5hbWUuc2V0KHZtLCB0aGlz
LCBuYW1lU3RyaW5nKTsKKyAgICBwdXREaXJlY3Qodm0sIHZtLnByb3BlcnR5TmFtZXMtPm5hbWUs
IG5hbWVTdHJpbmcsIEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OlJlYWRPbmx5IHwgSlNDOjpQcm9w
ZXJ0eUF0dHJpYnV0ZTo6RG9udEVudW0pOwogICAgIHB1dERpcmVjdCh2bSwgdm0ucHJvcGVydHlO
YW1lcy0+bGVuZ3RoLCBqc051bWJlcigwKSwgSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6UmVhZE9u
bHkgfCBKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpEb250RW51bSk7CiB9CiAKSW5kZXg6IFNvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RTZXJpYWxpemVkU2NyaXB0
VmFsdWVJbnRlcmZhY2UuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RTZXJpYWxpemVkU2NyaXB0VmFsdWVJbnRlcmZhY2UuY3Bw
CShyZXZpc2lvbiAyODA2MjMpCisrKyBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rl
c3QvSlMvSlNUZXN0U2VyaWFsaXplZFNjcmlwdFZhbHVlSW50ZXJmYWNlLmNwcAkod29ya2luZyBj
b3B5KQpAQCAtMTE5LDcgKzExOSw5IEBAIHRlbXBsYXRlPD4gSlNWYWx1ZSBKU1Rlc3RTZXJpYWxp
emVkU2NyaXAKIHRlbXBsYXRlPD4gdm9pZCBKU1Rlc3RTZXJpYWxpemVkU2NyaXB0VmFsdWVJbnRl
cmZhY2VET01Db25zdHJ1Y3Rvcjo6aW5pdGlhbGl6ZVByb3BlcnRpZXMoVk0mIHZtLCBKU0RPTUds
b2JhbE9iamVjdCYgZ2xvYmFsT2JqZWN0KQogewogICAgIHB1dERpcmVjdCh2bSwgdm0ucHJvcGVy
dHlOYW1lcy0+cHJvdG90eXBlLCBKU1Rlc3RTZXJpYWxpemVkU2NyaXB0VmFsdWVJbnRlcmZhY2U6
OnByb3RvdHlwZSh2bSwgZ2xvYmFsT2JqZWN0KSwgSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9u
dERlbGV0ZSB8IEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OlJlYWRPbmx5IHwgSlNDOjpQcm9wZXJ0
eUF0dHJpYnV0ZTo6RG9udEVudW0pOwotICAgIHB1dERpcmVjdCh2bSwgdm0ucHJvcGVydHlOYW1l
cy0+bmFtZSwganNOb250cml2aWFsU3RyaW5nKHZtLCAiVGVzdFNlcmlhbGl6ZWRTY3JpcHRWYWx1
ZUludGVyZmFjZSJfcyksIEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OlJlYWRPbmx5IHwgSlNDOjpQ
cm9wZXJ0eUF0dHJpYnV0ZTo6RG9udEVudW0pOworICAgIEpTU3RyaW5nKiBuYW1lU3RyaW5nID0g
anNOb250cml2aWFsU3RyaW5nKHZtLCAiVGVzdFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZUludGVyZmFj
ZSJfcyk7CisgICAgbV9vcmlnaW5hbE5hbWUuc2V0KHZtLCB0aGlzLCBuYW1lU3RyaW5nKTsKKyAg
ICBwdXREaXJlY3Qodm0sIHZtLnByb3BlcnR5TmFtZXMtPm5hbWUsIG5hbWVTdHJpbmcsIEpTQzo6
UHJvcGVydHlBdHRyaWJ1dGU6OlJlYWRPbmx5IHwgSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9u
dEVudW0pOwogICAgIHB1dERpcmVjdCh2bSwgdm0ucHJvcGVydHlOYW1lcy0+bGVuZ3RoLCBqc051
bWJlcigwKSwgSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6UmVhZE9ubHkgfCBKU0M6OlByb3BlcnR5
QXR0cmlidXRlOjpEb250RW51bSk7CiB9CiAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RTZXRMaWtlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0U2V0TGlrZS5jcHAJKHJldmlz
aW9uIDI4MDYyMykKKysrIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9K
U1Rlc3RTZXRMaWtlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTExLDcgKzExMSw5IEBAIHRlbXBs
YXRlPD4gSlNWYWx1ZSBKU1Rlc3RTZXRMaWtlRE9NQ29uc3QKIHRlbXBsYXRlPD4gdm9pZCBKU1Rl
c3RTZXRMaWtlRE9NQ29uc3RydWN0b3I6OmluaXRpYWxpemVQcm9wZXJ0aWVzKFZNJiB2bSwgSlNE
T01HbG9iYWxPYmplY3QmIGdsb2JhbE9iamVjdCkKIHsKICAgICBwdXREaXJlY3Qodm0sIHZtLnBy
b3BlcnR5TmFtZXMtPnByb3RvdHlwZSwgSlNUZXN0U2V0TGlrZTo6cHJvdG90eXBlKHZtLCBnbG9i
YWxPYmplY3QpLCBKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpEb250RGVsZXRlIHwgSlNDOjpQcm9w
ZXJ0eUF0dHJpYnV0ZTo6UmVhZE9ubHkgfCBKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpEb250RW51
bSk7Ci0gICAgcHV0RGlyZWN0KHZtLCB2bS5wcm9wZXJ0eU5hbWVzLT5uYW1lLCBqc05vbnRyaXZp
YWxTdHJpbmcodm0sICJUZXN0U2V0TGlrZSJfcyksIEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OlJl
YWRPbmx5IHwgSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9udEVudW0pOworICAgIEpTU3RyaW5n
KiBuYW1lU3RyaW5nID0ganNOb250cml2aWFsU3RyaW5nKHZtLCAiVGVzdFNldExpa2UiX3MpOwor
ICAgIG1fb3JpZ2luYWxOYW1lLnNldCh2bSwgdGhpcywgbmFtZVN0cmluZyk7CisgICAgcHV0RGly
ZWN0KHZtLCB2bS5wcm9wZXJ0eU5hbWVzLT5uYW1lLCBuYW1lU3RyaW5nLCBKU0M6OlByb3BlcnR5
QXR0cmlidXRlOjpSZWFkT25seSB8IEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OkRvbnRFbnVtKTsK
ICAgICBwdXREaXJlY3Qodm0sIHZtLnByb3BlcnR5TmFtZXMtPmxlbmd0aCwganNOdW1iZXIoMCks
IEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OlJlYWRPbmx5IHwgSlNDOjpQcm9wZXJ0eUF0dHJpYnV0
ZTo6RG9udEVudW0pOwogfQogCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRz
L3Rlc3QvSlMvSlNUZXN0U2V0TGlrZVdpdGhPdmVycmlkZGVuT3BlcmF0aW9ucy5jcHAKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdFNl
dExpa2VXaXRoT3ZlcnJpZGRlbk9wZXJhdGlvbnMuY3BwCShyZXZpc2lvbiAyODA2MjMpCisrKyBT
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0U2V0TGlrZVdpdGhP
dmVycmlkZGVuT3BlcmF0aW9ucy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTExNSw3ICsxMTUsOSBA
QCB0ZW1wbGF0ZTw+IEpTVmFsdWUgSlNUZXN0U2V0TGlrZVdpdGhPdmVyCiB0ZW1wbGF0ZTw+IHZv
aWQgSlNUZXN0U2V0TGlrZVdpdGhPdmVycmlkZGVuT3BlcmF0aW9uc0RPTUNvbnN0cnVjdG9yOjpp
bml0aWFsaXplUHJvcGVydGllcyhWTSYgdm0sIEpTRE9NR2xvYmFsT2JqZWN0JiBnbG9iYWxPYmpl
Y3QpCiB7CiAgICAgcHV0RGlyZWN0KHZtLCB2bS5wcm9wZXJ0eU5hbWVzLT5wcm90b3R5cGUsIEpT
VGVzdFNldExpa2VXaXRoT3ZlcnJpZGRlbk9wZXJhdGlvbnM6OnByb3RvdHlwZSh2bSwgZ2xvYmFs
T2JqZWN0KSwgSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9udERlbGV0ZSB8IEpTQzo6UHJvcGVy
dHlBdHRyaWJ1dGU6OlJlYWRPbmx5IHwgSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9udEVudW0p
OwotICAgIHB1dERpcmVjdCh2bSwgdm0ucHJvcGVydHlOYW1lcy0+bmFtZSwganNOb250cml2aWFs
U3RyaW5nKHZtLCAiVGVzdFNldExpa2VXaXRoT3ZlcnJpZGRlbk9wZXJhdGlvbnMiX3MpLCBKU0M6
OlByb3BlcnR5QXR0cmlidXRlOjpSZWFkT25seSB8IEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OkRv
bnRFbnVtKTsKKyAgICBKU1N0cmluZyogbmFtZVN0cmluZyA9IGpzTm9udHJpdmlhbFN0cmluZyh2
bSwgIlRlc3RTZXRMaWtlV2l0aE92ZXJyaWRkZW5PcGVyYXRpb25zIl9zKTsKKyAgICBtX29yaWdp
bmFsTmFtZS5zZXQodm0sIHRoaXMsIG5hbWVTdHJpbmcpOworICAgIHB1dERpcmVjdCh2bSwgdm0u
cHJvcGVydHlOYW1lcy0+bmFtZSwgbmFtZVN0cmluZywgSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6
UmVhZE9ubHkgfCBKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpEb250RW51bSk7CiAgICAgcHV0RGly
ZWN0KHZtLCB2bS5wcm9wZXJ0eU5hbWVzLT5sZW5ndGgsIGpzTnVtYmVyKDApLCBKU0M6OlByb3Bl
cnR5QXR0cmlidXRlOjpSZWFkT25seSB8IEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OkRvbnRFbnVt
KTsKIH0KIApJbmRleDogU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pT
VGVzdFN0cmluZ2lmaWVyLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0U3RyaW5naWZpZXIuY3BwCShyZXZpc2lvbiAyODA2MjMp
CisrKyBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0U3RyaW5n
aWZpZXIuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC05OSw3ICs5OSw5IEBAIHRlbXBsYXRlPD4gSlNW
YWx1ZSBKU1Rlc3RTdHJpbmdpZmllckRPTUMKIHRlbXBsYXRlPD4gdm9pZCBKU1Rlc3RTdHJpbmdp
ZmllckRPTUNvbnN0cnVjdG9yOjppbml0aWFsaXplUHJvcGVydGllcyhWTSYgdm0sIEpTRE9NR2xv
YmFsT2JqZWN0JiBnbG9iYWxPYmplY3QpCiB7CiAgICAgcHV0RGlyZWN0KHZtLCB2bS5wcm9wZXJ0
eU5hbWVzLT5wcm90b3R5cGUsIEpTVGVzdFN0cmluZ2lmaWVyOjpwcm90b3R5cGUodm0sIGdsb2Jh
bE9iamVjdCksIEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OkRvbnREZWxldGUgfCBKU0M6OlByb3Bl
cnR5QXR0cmlidXRlOjpSZWFkT25seSB8IEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OkRvbnRFbnVt
KTsKLSAgICBwdXREaXJlY3Qodm0sIHZtLnByb3BlcnR5TmFtZXMtPm5hbWUsIGpzTm9udHJpdmlh
bFN0cmluZyh2bSwgIlRlc3RTdHJpbmdpZmllciJfcyksIEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6
OlJlYWRPbmx5IHwgSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9udEVudW0pOworICAgIEpTU3Ry
aW5nKiBuYW1lU3RyaW5nID0ganNOb250cml2aWFsU3RyaW5nKHZtLCAiVGVzdFN0cmluZ2lmaWVy
Il9zKTsKKyAgICBtX29yaWdpbmFsTmFtZS5zZXQodm0sIHRoaXMsIG5hbWVTdHJpbmcpOworICAg
IHB1dERpcmVjdCh2bSwgdm0ucHJvcGVydHlOYW1lcy0+bmFtZSwgbmFtZVN0cmluZywgSlNDOjpQ
cm9wZXJ0eUF0dHJpYnV0ZTo6UmVhZE9ubHkgfCBKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpEb250
RW51bSk7CiAgICAgcHV0RGlyZWN0KHZtLCB2bS5wcm9wZXJ0eU5hbWVzLT5sZW5ndGgsIGpzTnVt
YmVyKDApLCBKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpSZWFkT25seSB8IEpTQzo6UHJvcGVydHlB
dHRyaWJ1dGU6OkRvbnRFbnVtKTsKIH0KIApJbmRleDogU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
c2NyaXB0cy90ZXN0L0pTL0pTVGVzdFN0cmluZ2lmaWVyQW5vbnltb3VzT3BlcmF0aW9uLmNwcAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNU
ZXN0U3RyaW5naWZpZXJBbm9ueW1vdXNPcGVyYXRpb24uY3BwCShyZXZpc2lvbiAyODA2MjMpCisr
KyBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0U3RyaW5naWZp
ZXJBbm9ueW1vdXNPcGVyYXRpb24uY3BwCSh3b3JraW5nIGNvcHkpCkBAIC05OSw3ICs5OSw5IEBA
IHRlbXBsYXRlPD4gSlNWYWx1ZSBKU1Rlc3RTdHJpbmdpZmllckFub24KIHRlbXBsYXRlPD4gdm9p
ZCBKU1Rlc3RTdHJpbmdpZmllckFub255bW91c09wZXJhdGlvbkRPTUNvbnN0cnVjdG9yOjppbml0
aWFsaXplUHJvcGVydGllcyhWTSYgdm0sIEpTRE9NR2xvYmFsT2JqZWN0JiBnbG9iYWxPYmplY3Qp
CiB7CiAgICAgcHV0RGlyZWN0KHZtLCB2bS5wcm9wZXJ0eU5hbWVzLT5wcm90b3R5cGUsIEpTVGVz
dFN0cmluZ2lmaWVyQW5vbnltb3VzT3BlcmF0aW9uOjpwcm90b3R5cGUodm0sIGdsb2JhbE9iamVj
dCksIEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OkRvbnREZWxldGUgfCBKU0M6OlByb3BlcnR5QXR0
cmlidXRlOjpSZWFkT25seSB8IEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OkRvbnRFbnVtKTsKLSAg
ICBwdXREaXJlY3Qodm0sIHZtLnByb3BlcnR5TmFtZXMtPm5hbWUsIGpzTm9udHJpdmlhbFN0cmlu
Zyh2bSwgIlRlc3RTdHJpbmdpZmllckFub255bW91c09wZXJhdGlvbiJfcyksIEpTQzo6UHJvcGVy
dHlBdHRyaWJ1dGU6OlJlYWRPbmx5IHwgSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9udEVudW0p
OworICAgIEpTU3RyaW5nKiBuYW1lU3RyaW5nID0ganNOb250cml2aWFsU3RyaW5nKHZtLCAiVGVz
dFN0cmluZ2lmaWVyQW5vbnltb3VzT3BlcmF0aW9uIl9zKTsKKyAgICBtX29yaWdpbmFsTmFtZS5z
ZXQodm0sIHRoaXMsIG5hbWVTdHJpbmcpOworICAgIHB1dERpcmVjdCh2bSwgdm0ucHJvcGVydHlO
YW1lcy0+bmFtZSwgbmFtZVN0cmluZywgSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6UmVhZE9ubHkg
fCBKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpEb250RW51bSk7CiAgICAgcHV0RGlyZWN0KHZtLCB2
bS5wcm9wZXJ0eU5hbWVzLT5sZW5ndGgsIGpzTnVtYmVyKDApLCBKU0M6OlByb3BlcnR5QXR0cmli
dXRlOjpSZWFkT25seSB8IEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OkRvbnRFbnVtKTsKIH0KIApJ
bmRleDogU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdFN0cmlu
Z2lmaWVyTmFtZWRPcGVyYXRpb24uY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RTdHJpbmdpZmllck5hbWVkT3BlcmF0aW9uLmNw
cAkocmV2aXNpb24gMjgwNjIzKQorKysgU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90
ZXN0L0pTL0pTVGVzdFN0cmluZ2lmaWVyTmFtZWRPcGVyYXRpb24uY3BwCSh3b3JraW5nIGNvcHkp
CkBAIC0xMDAsNyArMTAwLDkgQEAgdGVtcGxhdGU8PiBKU1ZhbHVlIEpTVGVzdFN0cmluZ2lmaWVy
TmFtZQogdGVtcGxhdGU8PiB2b2lkIEpTVGVzdFN0cmluZ2lmaWVyTmFtZWRPcGVyYXRpb25ET01D
b25zdHJ1Y3Rvcjo6aW5pdGlhbGl6ZVByb3BlcnRpZXMoVk0mIHZtLCBKU0RPTUdsb2JhbE9iamVj
dCYgZ2xvYmFsT2JqZWN0KQogewogICAgIHB1dERpcmVjdCh2bSwgdm0ucHJvcGVydHlOYW1lcy0+
cHJvdG90eXBlLCBKU1Rlc3RTdHJpbmdpZmllck5hbWVkT3BlcmF0aW9uOjpwcm90b3R5cGUodm0s
IGdsb2JhbE9iamVjdCksIEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OkRvbnREZWxldGUgfCBKU0M6
OlByb3BlcnR5QXR0cmlidXRlOjpSZWFkT25seSB8IEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OkRv
bnRFbnVtKTsKLSAgICBwdXREaXJlY3Qodm0sIHZtLnByb3BlcnR5TmFtZXMtPm5hbWUsIGpzTm9u
dHJpdmlhbFN0cmluZyh2bSwgIlRlc3RTdHJpbmdpZmllck5hbWVkT3BlcmF0aW9uIl9zKSwgSlND
OjpQcm9wZXJ0eUF0dHJpYnV0ZTo6UmVhZE9ubHkgfCBKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpE
b250RW51bSk7CisgICAgSlNTdHJpbmcqIG5hbWVTdHJpbmcgPSBqc05vbnRyaXZpYWxTdHJpbmco
dm0sICJUZXN0U3RyaW5naWZpZXJOYW1lZE9wZXJhdGlvbiJfcyk7CisgICAgbV9vcmlnaW5hbE5h
bWUuc2V0KHZtLCB0aGlzLCBuYW1lU3RyaW5nKTsKKyAgICBwdXREaXJlY3Qodm0sIHZtLnByb3Bl
cnR5TmFtZXMtPm5hbWUsIG5hbWVTdHJpbmcsIEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OlJlYWRP
bmx5IHwgSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9udEVudW0pOwogICAgIHB1dERpcmVjdCh2
bSwgdm0ucHJvcGVydHlOYW1lcy0+bGVuZ3RoLCBqc051bWJlcigwKSwgSlNDOjpQcm9wZXJ0eUF0
dHJpYnV0ZTo6UmVhZE9ubHkgfCBKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpEb250RW51bSk7CiB9
CiAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RT
dHJpbmdpZmllck9wZXJhdGlvbkltcGxlbWVudGVkQXMuY3BwCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RTdHJpbmdpZmllck9wZXJh
dGlvbkltcGxlbWVudGVkQXMuY3BwCShyZXZpc2lvbiAyODA2MjMpCisrKyBTb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0U3RyaW5naWZpZXJPcGVyYXRpb25JbXBs
ZW1lbnRlZEFzLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTAwLDcgKzEwMCw5IEBAIHRlbXBsYXRl
PD4gSlNWYWx1ZSBKU1Rlc3RTdHJpbmdpZmllck9wZXIKIHRlbXBsYXRlPD4gdm9pZCBKU1Rlc3RT
dHJpbmdpZmllck9wZXJhdGlvbkltcGxlbWVudGVkQXNET01Db25zdHJ1Y3Rvcjo6aW5pdGlhbGl6
ZVByb3BlcnRpZXMoVk0mIHZtLCBKU0RPTUdsb2JhbE9iamVjdCYgZ2xvYmFsT2JqZWN0KQogewog
ICAgIHB1dERpcmVjdCh2bSwgdm0ucHJvcGVydHlOYW1lcy0+cHJvdG90eXBlLCBKU1Rlc3RTdHJp
bmdpZmllck9wZXJhdGlvbkltcGxlbWVudGVkQXM6OnByb3RvdHlwZSh2bSwgZ2xvYmFsT2JqZWN0
KSwgSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9udERlbGV0ZSB8IEpTQzo6UHJvcGVydHlBdHRy
aWJ1dGU6OlJlYWRPbmx5IHwgSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9udEVudW0pOwotICAg
IHB1dERpcmVjdCh2bSwgdm0ucHJvcGVydHlOYW1lcy0+bmFtZSwganNOb250cml2aWFsU3RyaW5n
KHZtLCAiVGVzdFN0cmluZ2lmaWVyT3BlcmF0aW9uSW1wbGVtZW50ZWRBcyJfcyksIEpTQzo6UHJv
cGVydHlBdHRyaWJ1dGU6OlJlYWRPbmx5IHwgSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9udEVu
dW0pOworICAgIEpTU3RyaW5nKiBuYW1lU3RyaW5nID0ganNOb250cml2aWFsU3RyaW5nKHZtLCAi
VGVzdFN0cmluZ2lmaWVyT3BlcmF0aW9uSW1wbGVtZW50ZWRBcyJfcyk7CisgICAgbV9vcmlnaW5h
bE5hbWUuc2V0KHZtLCB0aGlzLCBuYW1lU3RyaW5nKTsKKyAgICBwdXREaXJlY3Qodm0sIHZtLnBy
b3BlcnR5TmFtZXMtPm5hbWUsIG5hbWVTdHJpbmcsIEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OlJl
YWRPbmx5IHwgSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9udEVudW0pOwogICAgIHB1dERpcmVj
dCh2bSwgdm0ucHJvcGVydHlOYW1lcy0+bGVuZ3RoLCBqc051bWJlcigwKSwgSlNDOjpQcm9wZXJ0
eUF0dHJpYnV0ZTo6UmVhZE9ubHkgfCBKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpEb250RW51bSk7
CiB9CiAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rl
c3RTdHJpbmdpZmllck9wZXJhdGlvbk5hbWVkVG9TdHJpbmcuY3BwCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RTdHJpbmdpZmllck9w
ZXJhdGlvbk5hbWVkVG9TdHJpbmcuY3BwCShyZXZpc2lvbiAyODA2MjMpCisrKyBTb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0U3RyaW5naWZpZXJPcGVyYXRpb25O
YW1lZFRvU3RyaW5nLmNwcAkod29ya2luZyBjb3B5KQpAQCAtOTksNyArOTksOSBAQCB0ZW1wbGF0
ZTw+IEpTVmFsdWUgSlNUZXN0U3RyaW5naWZpZXJPcGVyCiB0ZW1wbGF0ZTw+IHZvaWQgSlNUZXN0
U3RyaW5naWZpZXJPcGVyYXRpb25OYW1lZFRvU3RyaW5nRE9NQ29uc3RydWN0b3I6OmluaXRpYWxp
emVQcm9wZXJ0aWVzKFZNJiB2bSwgSlNET01HbG9iYWxPYmplY3QmIGdsb2JhbE9iamVjdCkKIHsK
ICAgICBwdXREaXJlY3Qodm0sIHZtLnByb3BlcnR5TmFtZXMtPnByb3RvdHlwZSwgSlNUZXN0U3Ry
aW5naWZpZXJPcGVyYXRpb25OYW1lZFRvU3RyaW5nOjpwcm90b3R5cGUodm0sIGdsb2JhbE9iamVj
dCksIEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OkRvbnREZWxldGUgfCBKU0M6OlByb3BlcnR5QXR0
cmlidXRlOjpSZWFkT25seSB8IEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OkRvbnRFbnVtKTsKLSAg
ICBwdXREaXJlY3Qodm0sIHZtLnByb3BlcnR5TmFtZXMtPm5hbWUsIGpzTm9udHJpdmlhbFN0cmlu
Zyh2bSwgIlRlc3RTdHJpbmdpZmllck9wZXJhdGlvbk5hbWVkVG9TdHJpbmciX3MpLCBKU0M6OlBy
b3BlcnR5QXR0cmlidXRlOjpSZWFkT25seSB8IEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OkRvbnRF
bnVtKTsKKyAgICBKU1N0cmluZyogbmFtZVN0cmluZyA9IGpzTm9udHJpdmlhbFN0cmluZyh2bSwg
IlRlc3RTdHJpbmdpZmllck9wZXJhdGlvbk5hbWVkVG9TdHJpbmciX3MpOworICAgIG1fb3JpZ2lu
YWxOYW1lLnNldCh2bSwgdGhpcywgbmFtZVN0cmluZyk7CisgICAgcHV0RGlyZWN0KHZtLCB2bS5w
cm9wZXJ0eU5hbWVzLT5uYW1lLCBuYW1lU3RyaW5nLCBKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpS
ZWFkT25seSB8IEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OkRvbnRFbnVtKTsKICAgICBwdXREaXJl
Y3Qodm0sIHZtLnByb3BlcnR5TmFtZXMtPmxlbmd0aCwganNOdW1iZXIoMCksIEpTQzo6UHJvcGVy
dHlBdHRyaWJ1dGU6OlJlYWRPbmx5IHwgSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9udEVudW0p
OwogfQogCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNU
ZXN0U3RyaW5naWZpZXJSZWFkT25seUF0dHJpYnV0ZS5jcHAKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdFN0cmluZ2lmaWVyUmVhZE9u
bHlBdHRyaWJ1dGUuY3BwCShyZXZpc2lvbiAyODA2MjMpCisrKyBTb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0U3RyaW5naWZpZXJSZWFkT25seUF0dHJpYnV0ZS5j
cHAJKHdvcmtpbmcgY29weSkKQEAgLTEwMSw3ICsxMDEsOSBAQCB0ZW1wbGF0ZTw+IEpTVmFsdWUg
SlNUZXN0U3RyaW5naWZpZXJSZWFkCiB0ZW1wbGF0ZTw+IHZvaWQgSlNUZXN0U3RyaW5naWZpZXJS
ZWFkT25seUF0dHJpYnV0ZURPTUNvbnN0cnVjdG9yOjppbml0aWFsaXplUHJvcGVydGllcyhWTSYg
dm0sIEpTRE9NR2xvYmFsT2JqZWN0JiBnbG9iYWxPYmplY3QpCiB7CiAgICAgcHV0RGlyZWN0KHZt
LCB2bS5wcm9wZXJ0eU5hbWVzLT5wcm90b3R5cGUsIEpTVGVzdFN0cmluZ2lmaWVyUmVhZE9ubHlB
dHRyaWJ1dGU6OnByb3RvdHlwZSh2bSwgZ2xvYmFsT2JqZWN0KSwgSlNDOjpQcm9wZXJ0eUF0dHJp
YnV0ZTo6RG9udERlbGV0ZSB8IEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OlJlYWRPbmx5IHwgSlND
OjpQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9udEVudW0pOwotICAgIHB1dERpcmVjdCh2bSwgdm0ucHJv
cGVydHlOYW1lcy0+bmFtZSwganNOb250cml2aWFsU3RyaW5nKHZtLCAiVGVzdFN0cmluZ2lmaWVy
UmVhZE9ubHlBdHRyaWJ1dGUiX3MpLCBKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpSZWFkT25seSB8
IEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OkRvbnRFbnVtKTsKKyAgICBKU1N0cmluZyogbmFtZVN0
cmluZyA9IGpzTm9udHJpdmlhbFN0cmluZyh2bSwgIlRlc3RTdHJpbmdpZmllclJlYWRPbmx5QXR0
cmlidXRlIl9zKTsKKyAgICBtX29yaWdpbmFsTmFtZS5zZXQodm0sIHRoaXMsIG5hbWVTdHJpbmcp
OworICAgIHB1dERpcmVjdCh2bSwgdm0ucHJvcGVydHlOYW1lcy0+bmFtZSwgbmFtZVN0cmluZywg
SlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6UmVhZE9ubHkgfCBKU0M6OlByb3BlcnR5QXR0cmlidXRl
OjpEb250RW51bSk7CiAgICAgcHV0RGlyZWN0KHZtLCB2bS5wcm9wZXJ0eU5hbWVzLT5sZW5ndGgs
IGpzTnVtYmVyKDApLCBKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpSZWFkT25seSB8IEpTQzo6UHJv
cGVydHlBdHRyaWJ1dGU6OkRvbnRFbnVtKTsKIH0KIApJbmRleDogU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdFN0cmluZ2lmaWVyUmVhZFdyaXRlQXR0cmlidXRl
LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3Qv
SlMvSlNUZXN0U3RyaW5naWZpZXJSZWFkV3JpdGVBdHRyaWJ1dGUuY3BwCShyZXZpc2lvbiAyODA2
MjMpCisrKyBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0U3Ry
aW5naWZpZXJSZWFkV3JpdGVBdHRyaWJ1dGUuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xMDIsNyAr
MTAyLDkgQEAgdGVtcGxhdGU8PiBKU1ZhbHVlIEpTVGVzdFN0cmluZ2lmaWVyUmVhZAogdGVtcGxh
dGU8PiB2b2lkIEpTVGVzdFN0cmluZ2lmaWVyUmVhZFdyaXRlQXR0cmlidXRlRE9NQ29uc3RydWN0
b3I6OmluaXRpYWxpemVQcm9wZXJ0aWVzKFZNJiB2bSwgSlNET01HbG9iYWxPYmplY3QmIGdsb2Jh
bE9iamVjdCkKIHsKICAgICBwdXREaXJlY3Qodm0sIHZtLnByb3BlcnR5TmFtZXMtPnByb3RvdHlw
ZSwgSlNUZXN0U3RyaW5naWZpZXJSZWFkV3JpdGVBdHRyaWJ1dGU6OnByb3RvdHlwZSh2bSwgZ2xv
YmFsT2JqZWN0KSwgSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9udERlbGV0ZSB8IEpTQzo6UHJv
cGVydHlBdHRyaWJ1dGU6OlJlYWRPbmx5IHwgSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9udEVu
dW0pOwotICAgIHB1dERpcmVjdCh2bSwgdm0ucHJvcGVydHlOYW1lcy0+bmFtZSwganNOb250cml2
aWFsU3RyaW5nKHZtLCAiVGVzdFN0cmluZ2lmaWVyUmVhZFdyaXRlQXR0cmlidXRlIl9zKSwgSlND
OjpQcm9wZXJ0eUF0dHJpYnV0ZTo6UmVhZE9ubHkgfCBKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpE
b250RW51bSk7CisgICAgSlNTdHJpbmcqIG5hbWVTdHJpbmcgPSBqc05vbnRyaXZpYWxTdHJpbmco
dm0sICJUZXN0U3RyaW5naWZpZXJSZWFkV3JpdGVBdHRyaWJ1dGUiX3MpOworICAgIG1fb3JpZ2lu
YWxOYW1lLnNldCh2bSwgdGhpcywgbmFtZVN0cmluZyk7CisgICAgcHV0RGlyZWN0KHZtLCB2bS5w
cm9wZXJ0eU5hbWVzLT5uYW1lLCBuYW1lU3RyaW5nLCBKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpS
ZWFkT25seSB8IEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OkRvbnRFbnVtKTsKICAgICBwdXREaXJl
Y3Qodm0sIHZtLnByb3BlcnR5TmFtZXMtPmxlbmd0aCwganNOdW1iZXIoMCksIEpTQzo6UHJvcGVy
dHlBdHRyaWJ1dGU6OlJlYWRPbmx5IHwgSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9udEVudW0p
OwogfQogCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNU
ZXN0VHlwZWRlZnMuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Nj
cmlwdHMvdGVzdC9KUy9KU1Rlc3RUeXBlZGVmcy5jcHAJKHJldmlzaW9uIDI4MDYyMykKKysrIFNv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RUeXBlZGVmcy5jcHAJ
KHdvcmtpbmcgY29weSkKQEAgLTE5NSw3ICsxOTUsOSBAQCB0ZW1wbGF0ZTw+IEpTVmFsdWUgSlNU
ZXN0VHlwZWRlZnNET01Db25zCiB0ZW1wbGF0ZTw+IHZvaWQgSlNUZXN0VHlwZWRlZnNET01Db25z
dHJ1Y3Rvcjo6aW5pdGlhbGl6ZVByb3BlcnRpZXMoVk0mIHZtLCBKU0RPTUdsb2JhbE9iamVjdCYg
Z2xvYmFsT2JqZWN0KQogewogICAgIHB1dERpcmVjdCh2bSwgdm0ucHJvcGVydHlOYW1lcy0+cHJv
dG90eXBlLCBKU1Rlc3RUeXBlZGVmczo6cHJvdG90eXBlKHZtLCBnbG9iYWxPYmplY3QpLCBKU0M6
OlByb3BlcnR5QXR0cmlidXRlOjpEb250RGVsZXRlIHwgSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6
UmVhZE9ubHkgfCBKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpEb250RW51bSk7Ci0gICAgcHV0RGly
ZWN0KHZtLCB2bS5wcm9wZXJ0eU5hbWVzLT5uYW1lLCBqc05vbnRyaXZpYWxTdHJpbmcodm0sICJU
ZXN0VHlwZWRlZnMiX3MpLCBKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpSZWFkT25seSB8IEpTQzo6
UHJvcGVydHlBdHRyaWJ1dGU6OkRvbnRFbnVtKTsKKyAgICBKU1N0cmluZyogbmFtZVN0cmluZyA9
IGpzTm9udHJpdmlhbFN0cmluZyh2bSwgIlRlc3RUeXBlZGVmcyJfcyk7CisgICAgbV9vcmlnaW5h
bE5hbWUuc2V0KHZtLCB0aGlzLCBuYW1lU3RyaW5nKTsKKyAgICBwdXREaXJlY3Qodm0sIHZtLnBy
b3BlcnR5TmFtZXMtPm5hbWUsIG5hbWVTdHJpbmcsIEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OlJl
YWRPbmx5IHwgSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9udEVudW0pOwogICAgIHB1dERpcmVj
dCh2bSwgdm0ucHJvcGVydHlOYW1lcy0+bGVuZ3RoLCBqc051bWJlcigzKSwgSlNDOjpQcm9wZXJ0
eUF0dHJpYnV0ZTo6UmVhZE9ubHkgfCBKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpEb250RW51bSk7
CiAgICAgcmVpZnlTdGF0aWNQcm9wZXJ0aWVzKHZtLCBKU1Rlc3RUeXBlZGVmczo6aW5mbygpLCBK
U1Rlc3RUeXBlZGVmc0NvbnN0cnVjdG9yVGFibGVWYWx1ZXMsICp0aGlzKTsKIH0KSW5kZXg6IFNv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1dvcmtlckdsb2JhbFNjb3Bl
LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3Qv
SlMvSlNXb3JrZXJHbG9iYWxTY29wZS5jcHAJKHJldmlzaW9uIDI4MDYyMykKKysrIFNvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1dvcmtlckdsb2JhbFNjb3BlLmNwcAko
d29ya2luZyBjb3B5KQpAQCAtMTA4LDcgKzEwOCw5IEBAIHRlbXBsYXRlPD4gSlNWYWx1ZSBKU1dv
cmtlckdsb2JhbFNjb3BlRE8KIHRlbXBsYXRlPD4gdm9pZCBKU1dvcmtlckdsb2JhbFNjb3BlRE9N
Q29uc3RydWN0b3I6OmluaXRpYWxpemVQcm9wZXJ0aWVzKFZNJiB2bSwgSlNET01HbG9iYWxPYmpl
Y3QmIGdsb2JhbE9iamVjdCkKIHsKICAgICBwdXREaXJlY3Qodm0sIHZtLnByb3BlcnR5TmFtZXMt
PnByb3RvdHlwZSwgSlNXb3JrZXJHbG9iYWxTY29wZTo6cHJvdG90eXBlKHZtLCBnbG9iYWxPYmpl
Y3QpLCBKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpEb250RGVsZXRlIHwgSlNDOjpQcm9wZXJ0eUF0
dHJpYnV0ZTo6UmVhZE9ubHkgfCBKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpEb250RW51bSk7Ci0g
ICAgcHV0RGlyZWN0KHZtLCB2bS5wcm9wZXJ0eU5hbWVzLT5uYW1lLCBqc05vbnRyaXZpYWxTdHJp
bmcodm0sICJXb3JrZXJHbG9iYWxTY29wZSJfcyksIEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OlJl
YWRPbmx5IHwgSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9udEVudW0pOworICAgIEpTU3RyaW5n
KiBuYW1lU3RyaW5nID0ganNOb250cml2aWFsU3RyaW5nKHZtLCAiV29ya2VyR2xvYmFsU2NvcGUi
X3MpOworICAgIG1fb3JpZ2luYWxOYW1lLnNldCh2bSwgdGhpcywgbmFtZVN0cmluZyk7CisgICAg
cHV0RGlyZWN0KHZtLCB2bS5wcm9wZXJ0eU5hbWVzLT5uYW1lLCBuYW1lU3RyaW5nLCBKU0M6OlBy
b3BlcnR5QXR0cmlidXRlOjpSZWFkT25seSB8IEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OkRvbnRF
bnVtKTsKICAgICBwdXREaXJlY3Qodm0sIHZtLnByb3BlcnR5TmFtZXMtPmxlbmd0aCwganNOdW1i
ZXIoMCksIEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OlJlYWRPbmx5IHwgSlNDOjpQcm9wZXJ0eUF0
dHJpYnV0ZTo6RG9udEVudW0pOwogfQogCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9z
Y3JpcHRzL3Rlc3QvSlMvSlNXb3JrbGV0R2xvYmFsU2NvcGUuY3BwCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1dvcmtsZXRHbG9iYWxTY29w
ZS5jcHAJKHJldmlzaW9uIDI4MDYyMykKKysrIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Njcmlw
dHMvdGVzdC9KUy9KU1dvcmtsZXRHbG9iYWxTY29wZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTc3
LDcgKzc3LDkgQEAgdGVtcGxhdGU8PiBKU1ZhbHVlIEpTV29ya2xldEdsb2JhbFNjb3BlRAogdGVt
cGxhdGU8PiB2b2lkIEpTV29ya2xldEdsb2JhbFNjb3BlRE9NQ29uc3RydWN0b3I6OmluaXRpYWxp
emVQcm9wZXJ0aWVzKFZNJiB2bSwgSlNET01HbG9iYWxPYmplY3QmIGdsb2JhbE9iamVjdCkKIHsK
ICAgICBwdXREaXJlY3Qodm0sIHZtLnByb3BlcnR5TmFtZXMtPnByb3RvdHlwZSwgSlNXb3JrbGV0
R2xvYmFsU2NvcGU6OnByb3RvdHlwZSh2bSwgZ2xvYmFsT2JqZWN0KSwgSlNDOjpQcm9wZXJ0eUF0
dHJpYnV0ZTo6RG9udERlbGV0ZSB8IEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OlJlYWRPbmx5IHwg
SlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9udEVudW0pOwotICAgIHB1dERpcmVjdCh2bSwgdm0u
cHJvcGVydHlOYW1lcy0+bmFtZSwganNOb250cml2aWFsU3RyaW5nKHZtLCAiV29ya2xldEdsb2Jh
bFNjb3BlIl9zKSwgSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6UmVhZE9ubHkgfCBKU0M6OlByb3Bl
cnR5QXR0cmlidXRlOjpEb250RW51bSk7CisgICAgSlNTdHJpbmcqIG5hbWVTdHJpbmcgPSBqc05v
bnRyaXZpYWxTdHJpbmcodm0sICJXb3JrbGV0R2xvYmFsU2NvcGUiX3MpOworICAgIG1fb3JpZ2lu
YWxOYW1lLnNldCh2bSwgdGhpcywgbmFtZVN0cmluZyk7CisgICAgcHV0RGlyZWN0KHZtLCB2bS5w
cm9wZXJ0eU5hbWVzLT5uYW1lLCBuYW1lU3RyaW5nLCBKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpS
ZWFkT25seSB8IEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OkRvbnRFbnVtKTsKICAgICBwdXREaXJl
Y3Qodm0sIHZtLnByb3BlcnR5TmFtZXMtPmxlbmd0aCwganNOdW1iZXIoMCksIEpTQzo6UHJvcGVy
dHlBdHRyaWJ1dGU6OlJlYWRPbmx5IHwgSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9udEVudW0p
OwogfQogCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>438894</attachid>
            <date>2021-09-21 17:34:09 -0700</date>
            <delta_ts>2021-09-21 21:56:06 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-228763-20210922033407.patch</filename>
            <type>text/plain</type>
            <size>134326</size>
            <attacher name="Alexey Shvayka">ashvayka</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMjgyODUxKQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE5IEBA
CisyMDIxLTA5LTIxICBBbGV4ZXkgU2h2YXlrYSAgPHNodmFpa2FsZXNoQGdtYWlsLmNvbT4KKwor
ICAgICAgICBbV2ViSURMXSBET00gY29uc3RydWN0b3JzIHNob3VsZCBleHRlbmQgSW50ZXJuYWxG
dW5jdGlvbgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MjI4NzYzCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgU2FtIFdlaW5pZy4KKworICAgICAgICBJbnRy
b2R1Y2UgZmluaXNoQ3JlYXRpb24oVk0mKSBvdmVybG9hZCB0byBwcmVzZXJ2ZSB0aGUgY3VycmVu
dCBwcm9wZXJ0eSBvcmRlciBvZgorICAgICAgICBXZWJJREwgY29uc3RydWN0b3JzLCBhbmQgdG8g
ZGVmZXIgYSBsYXJnZSBjb2RlIGNoYW5nZSBuZWVkZWQgZm9yIHBhc3NpbmcgdGhyb3VnaAorICAg
ICAgICBgbGVuZ3RoYCAvIGBuYW1lYCBwYXJhbWV0ZXJzIChidWcgIzIzMDU4NCkuCisKKyAgICAg
ICAgKiBydW50aW1lL0ludGVybmFsRnVuY3Rpb24uY3BwOgorICAgICAgICAoSlNDOjpJbnRlcm5h
bEZ1bmN0aW9uOjpJbnRlcm5hbEZ1bmN0aW9uKToKKyAgICAgICAgKEpTQzo6SW50ZXJuYWxGdW5j
dGlvbjo6ZmluaXNoQ3JlYXRpb24pOgorICAgICAgICAqIHJ1bnRpbWUvSW50ZXJuYWxGdW5jdGlv
bi5oOgorCiAyMDIxLTA5LTIxICBNYXJrIExhbSAgPG1hcmsubGFtQGFwcGxlLmNvbT4KIAogICAg
ICAgICBSZXBsYWNlIGEgZmV3IEFTU0VSVHMgd2l0aCBzdGF0aWNfYXNzZXJ0cyBpbiB0aGUgQVJN
NjQgTWFjcm9Bc3NlbWJsZXJzLgpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
SW50ZXJuYWxGdW5jdGlvbi5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3Jl
L3J1bnRpbWUvSW50ZXJuYWxGdW5jdGlvbi5jcHAJKHJldmlzaW9uIDI4Mjg1MSkKKysrIFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0ludGVybmFsRnVuY3Rpb24uY3BwCSh3b3JraW5nIGNv
cHkpCkBAIC00MSwxNiArNDEsMTcgQEAgSW50ZXJuYWxGdW5jdGlvbjo6SW50ZXJuYWxGdW5jdGlv
bihWTSYgdgogewogICAgIEFTU0VSVF9XSVRIX01FU1NBR0UobV9mdW5jdGlvbkZvckNhbGwsICJb
W0NhbGxdXSBtdXN0IGJlIGltcGxlbWVudGVkIik7CiAgICAgQVNTRVJUKG1fZnVuY3Rpb25Gb3JD
b25zdHJ1Y3QpOwotfQogCi12b2lkIEludGVybmFsRnVuY3Rpb246OmZpbmlzaENyZWF0aW9uKFZN
JiB2bSwgdW5zaWduZWQgbGVuZ3RoLCBjb25zdCBTdHJpbmcmIG5hbWUsIFByb3BlcnR5QWRkaXRp
b25Nb2RlIG5hbWVBZGRpdGlvbk1vZGUpCi17Ci0gICAgQmFzZTo6ZmluaXNoQ3JlYXRpb24odm0p
OwogICAgIEFTU0VSVChqc0R5bmFtaWNDYXN0PEludGVybmFsRnVuY3Rpb24qPih2bSwgdGhpcykp
OwogICAgIC8vIEpTQ2VsbDo6e2dldENhbGxEYXRhLGdldENvbnN0cnVjdERhdGF9IHJlbGllcyBv
biB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMuCiAgICAgQVNTRVJUKG1ldGhvZFRhYmxlKHZtKS0+
Z2V0Q2FsbERhdGEgPT0gSW50ZXJuYWxGdW5jdGlvbjo6aW5mbygpLT5tZXRob2RUYWJsZS5nZXRD
YWxsRGF0YSk7CiAgICAgQVNTRVJUKG1ldGhvZFRhYmxlKHZtKS0+Z2V0Q29uc3RydWN0RGF0YSA9
PSBJbnRlcm5hbEZ1bmN0aW9uOjppbmZvKCktPm1ldGhvZFRhYmxlLmdldENvbnN0cnVjdERhdGEp
OwogICAgIEFTU0VSVCh0eXBlKCkgPT0gSW50ZXJuYWxGdW5jdGlvblR5cGUgfHwgdHlwZSgpID09
IE51bGxTZXR0ZXJGdW5jdGlvblR5cGUpOworfQorCit2b2lkIEludGVybmFsRnVuY3Rpb246OmZp
bmlzaENyZWF0aW9uKFZNJiB2bSwgdW5zaWduZWQgbGVuZ3RoLCBjb25zdCBTdHJpbmcmIG5hbWUs
IFByb3BlcnR5QWRkaXRpb25Nb2RlIG5hbWVBZGRpdGlvbk1vZGUpCit7CisgICAgQmFzZTo6Zmlu
aXNoQ3JlYXRpb24odm0pOwogCiAgICAgSlNTdHJpbmcqIG5hbWVTdHJpbmcgPSBqc1N0cmluZyh2
bSwgbmFtZSk7CiAgICAgbV9vcmlnaW5hbE5hbWUuc2V0KHZtLCB0aGlzLCBuYW1lU3RyaW5nKTsK
QEAgLTY0LDYgKzY1LDExIEBAIHZvaWQgSW50ZXJuYWxGdW5jdGlvbjo6ZmluaXNoQ3JlYXRpb24o
Vk0KICAgICB9CiB9CiAKK3ZvaWQgSW50ZXJuYWxGdW5jdGlvbjo6ZmluaXNoQ3JlYXRpb24oVk0m
IHZtKQoreworICAgIEJhc2U6OmZpbmlzaENyZWF0aW9uKHZtKTsKK30KKwogdGVtcGxhdGU8dHlw
ZW5hbWUgVmlzaXRvcj4KIHZvaWQgSW50ZXJuYWxGdW5jdGlvbjo6dmlzaXRDaGlsZHJlbkltcGwo
SlNDZWxsKiBjZWxsLCBWaXNpdG9yJiB2aXNpdG9yKQogewpJbmRleDogU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvSW50ZXJuYWxGdW5jdGlvbi5oCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL0ludGVybmFsRnVuY3Rpb24uaAkocmV2aXNpb24gMjgyODUx
KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSW50ZXJuYWxGdW5jdGlvbi5oCSh3
b3JraW5nIGNvcHkpCkBAIC04OCw2ICs4OCw3IEBAIHByb3RlY3RlZDoKIAogICAgIGVudW0gY2xh
c3MgUHJvcGVydHlBZGRpdGlvbk1vZGUgeyBXaXRoU3RydWN0dXJlVHJhbnNpdGlvbiwgV2l0aG91
dFN0cnVjdHVyZVRyYW5zaXRpb24gfTsKICAgICBKU19FWFBPUlRfUFJJVkFURSB2b2lkIGZpbmlz
aENyZWF0aW9uKFZNJiwgdW5zaWduZWQgbGVuZ3RoLCBjb25zdCBTdHJpbmcmIG5hbWUsIFByb3Bl
cnR5QWRkaXRpb25Nb2RlID0gUHJvcGVydHlBZGRpdGlvbk1vZGU6OldpdGhTdHJ1Y3R1cmVUcmFu
c2l0aW9uKTsKKyAgICBKU19FWFBPUlRfUFJJVkFURSB2b2lkIGZpbmlzaENyZWF0aW9uKFZNJik7
CiAKICAgICBKU19FWFBPUlRfUFJJVkFURSBzdGF0aWMgQ2FsbERhdGEgZ2V0Q29uc3RydWN0RGF0
YShKU0NlbGwqKTsKICAgICBKU19FWFBPUlRfUFJJVkFURSBzdGF0aWMgQ2FsbERhdGEgZ2V0Q2Fs
bERhdGEoSlNDZWxsKik7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCShyZXZpc2lvbiAyODI4NTEpCisrKyBTb3Vy
Y2UvV2ViQ29yZS9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSw3MSBAQAorMjAy
MS0wOS0yMSAgQWxleGV5IFNodmF5a2EgIDxzaHZhaWthbGVzaEBnbWFpbC5jb20+CisKKyAgICAg
ICAgW1dlYklETF0gRE9NIGNvbnN0cnVjdG9ycyBzaG91bGQgZXh0ZW5kIEludGVybmFsRnVuY3Rp
b24KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyODc2
MworCisgICAgICAgIFJldmlld2VkIGJ5IFNhbSBXZWluaWcuCisKKyAgICAgICAgVGhpcyBwYXRj
aCBtYWtlcyBKU0RPTUNvbnN0cnVjdG9yQmFzZSBhIHN1YmNsYXNzIG9mIEludGVybmFsRnVuY3Rp
b24sIGFsaWduaW5nCisgICAgICAgIERPTSBjb25zdHJ1Y3RvcnMgd2l0aCB0aGVpciBFQ01BLTI2
MiBjb3VudGVycGFydHMsIHdoaWNoIHJlbmRlcnMgYSBmZXcgYmVuZWZpdHMuCisKKyAgICAgICAg
ICAxLiBJbnRlcm5hbEZ1bmN0aW9uIGlzIHdheSBmYXN0ZXIgdG8gY2FsbCB0aGFuIGEgY2xhc3Mg
d2l0aCBjdXN0b20gZ2V0Q2FsbERhdGEoKToKKyAgICAgICAgICAgICBKSVQgaW5saW5lcyBJbnRl
cm5hbEZ1bmN0aW9uOjpnZXRDYWxsRGF0YSgpLCBlbWl0dGluZyBhIGRpcmVjdCBjYWxsIGludG8K
KyAgICAgICAgICAgICBtX2Z1bmN0aW9uRm9yQ29uc3RydWN0LiBTcGVlZHMgdXAgaW52b2tpbmcg
RXZlbnQgY29uc3RydWN0b3IgYnkgfjE4JSAoMU0gY2FsbHMpLgorICAgICAgICAgIDIuIFNpbmNl
IEludGVybmFsRnVuY3Rpb24gZGlzYWxsb3dzIGl0cyBzdWJjbGFzc2VzIHRvIG92ZXJyaWRlIGdl
dENhbGxEYXRhKCksCisgICAgICAgICAgICAgdGhlIHByZXNlbmNlIG9mIFtbQ2FsbF1dIG1ldGhv
ZCBjYW4gYmUgaW5mZXJyZWQgYnkgSlNUeXBlIG9ubHkuIEluIHRoZSBmdXR1cmUsCisgICAgICAg
ICAgICAgdGhpcyBpbnZhcmlhbnQgd2lsbCBhbGxvdyB0byBzcGVlZCB1cCBhIGZldyBieXRlY29k
ZXM6IGlzX2NhbGxhYmxlLCB0eXBlb2YqLgorICAgICAgICAgIDMuIEludGVybmFsRnVuY3Rpb246
OmZpbmlzaENyZWF0aW9uKCkgdGFrZXMgY2FyZSBvZiAibGVuZ3RoIiAvICJuYW1lIiBwcm9wZXJ0
aWVzLAorICAgICAgICAgICAgIHdoaWNoIGNhbiBsZXZlcmFnZWQgKGluIGEgZm9sbG93LXVwKSB0
byBhbGlnbiBwcm9wZXJ0eSBvcmRlciBvZiBXZWJJREwgY29uc3RydWN0b3JzCisgICAgICAgICAg
ICAgd2l0aCBKU0MgYnVpbHQtaW5zLCBhbmQgYWxzbyBjbGVhbiB1cCBiaW5kaW5ncyBnZW5lcmF0
b3IgYSBiaXQgKGJ1ZyAjMjMwNTg0KS4KKyAgICAgICAgICA0LiBVc2luZyBJbnRlcm5hbEZ1bmN0
aW9uVHlwZSBpcyBlc3NlbnRpYWwgdG8ga2VlcCB0aGUgYGluc3RhbmNlb2ZgIHVwZGF0ZQorICAg
ICAgICAgICAgIChidWcgIzE1MTM0OCkgcGVyZm9ybWFuY2UtbmV1dHJhbCBmb3IgRE9NIGNvbnN0
cnVjdG9ycy4KKworICAgICAgICBObyBuZXcgdGVzdHMsIG5vIGJlaGF2aW9yIGNoYW5nZS4KKwor
ICAgICAgICAqIGJpbmRpbmdzL2pzL0pTRE9NQnVpbHRpbkNvbnN0cnVjdG9yLmg6CisgICAgICAg
IChXZWJDb3JlOjpKU0RPTUJ1aWx0aW5Db25zdHJ1Y3RvcjxKU0NsYXNzPjo6Y3JlYXRlKToKKyAg
ICAgICAgKFdlYkNvcmU6OkpTRE9NQnVpbHRpbkNvbnN0cnVjdG9yPEpTQ2xhc3M+OjpjcmVhdGVT
dHJ1Y3R1cmUpOgorICAgICAgICAoV2ViQ29yZTo6SlNET01CdWlsdGluQ29uc3RydWN0b3I8SlND
bGFzcz46OmdldENvbnN0cnVjdERhdGEpOiBEZWxldGVkLgorICAgICAgICAqIGJpbmRpbmdzL2pz
L0pTRE9NQnVpbHRpbkNvbnN0cnVjdG9yQmFzZS5oOgorICAgICAgICAoV2ViQ29yZTo6SlNET01C
dWlsdGluQ29uc3RydWN0b3JCYXNlOjpKU0RPTUJ1aWx0aW5Db25zdHJ1Y3RvckJhc2UpOgorICAg
ICAgICAqIGJpbmRpbmdzL2pzL0pTRE9NQ29uc3RydWN0b3IuaDoKKyAgICAgICAgKFdlYkNvcmU6
OkpTRE9NQ29uc3RydWN0b3I8SlNDbGFzcz46OmNyZWF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpK
U0RPTUNvbnN0cnVjdG9yPEpTQ2xhc3M+OjpjcmVhdGVTdHJ1Y3R1cmUpOgorICAgICAgICAoV2Vi
Q29yZTo6SlNET01Db25zdHJ1Y3RvcjxKU0NsYXNzPjo6Z2V0Q29uc3RydWN0RGF0YSk6IERlbGV0
ZWQuCisgICAgICAgICogYmluZGluZ3MvanMvSlNET01Db25zdHJ1Y3RvckJhc2UuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6SlNDX0RFRklORV9IT1NUX0ZVTkNUSU9OKToKKyAgICAgICAgKFdlYkNv
cmU6OkpTRE9NQ29uc3RydWN0b3JCYXNlOjpnZXRDYWxsRGF0YSk6IERlbGV0ZWQuCisgICAgICAg
ICogYmluZGluZ3MvanMvSlNET01Db25zdHJ1Y3RvckJhc2UuaDoKKyAgICAgICAgKFdlYkNvcmU6
OkpTRE9NQ29uc3RydWN0b3JCYXNlOjpnbG9iYWxPYmplY3QgY29uc3QpOgorICAgICAgICAoV2Vi
Q29yZTo6SlNET01Db25zdHJ1Y3RvckJhc2U6OnNjcmlwdEV4ZWN1dGlvbkNvbnRleHQgY29uc3Qp
OgorICAgICAgICAoV2ViQ29yZTo6SlNET01Db25zdHJ1Y3RvckJhc2U6OkpTRE9NQ29uc3RydWN0
b3JCYXNlKToKKyAgICAgICAgKFdlYkNvcmU6OkpTRE9NQ29uc3RydWN0b3JCYXNlOjpjcmVhdGVT
dHJ1Y3R1cmUpOiBEZWxldGVkLgorICAgICAgICAqIGJpbmRpbmdzL2pzL0pTRE9NQ29uc3RydWN0
b3JOb3RDYWxsYWJsZS5oOgorICAgICAgICAoV2ViQ29yZTo6SlNET01Db25zdHJ1Y3Rvck5vdENh
bGxhYmxlOjpzdWJzcGFjZUZvcik6CisgICAgICAgICogYmluZGluZ3MvanMvSlNET01Db25zdHJ1
Y3Rvck5vdENvbnN0cnVjdGFibGUuaDoKKyAgICAgICAgKFdlYkNvcmU6OkpTRE9NQ29uc3RydWN0
b3JOb3RDb25zdHJ1Y3RhYmxlPEpTQ2xhc3M+OjpjcmVhdGUpOgorICAgICAgICAoV2ViQ29yZTo6
SlNET01Db25zdHJ1Y3Rvck5vdENvbnN0cnVjdGFibGU8SlNDbGFzcz46OmNyZWF0ZVN0cnVjdHVy
ZSk6CisgICAgICAgICogYmluZGluZ3MvanMvSlNET01Db25zdHJ1Y3RvcldpdGhEb2N1bWVudC5o
OgorICAgICAgICAoV2ViQ29yZTo6SlNET01Db25zdHJ1Y3RvcldpdGhEb2N1bWVudDo6SlNET01D
b25zdHJ1Y3RvcldpdGhEb2N1bWVudCk6CisgICAgICAgICogYmluZGluZ3MvanMvSlNET01MZWdh
Y3lGYWN0b3J5RnVuY3Rpb24uaDoKKyAgICAgICAgKFdlYkNvcmU6OkpTRE9NTGVnYWN5RmFjdG9y
eUZ1bmN0aW9uPEpTQ2xhc3M+OjpjcmVhdGUpOgorICAgICAgICAoV2ViQ29yZTo6SlNET01MZWdh
Y3lGYWN0b3J5RnVuY3Rpb248SlNDbGFzcz46OmNyZWF0ZVN0cnVjdHVyZSk6CisgICAgICAgIChX
ZWJDb3JlOjpKU0RPTUxlZ2FjeUZhY3RvcnlGdW5jdGlvbjxKU0NsYXNzPjo6Z2V0Q29uc3RydWN0
RGF0YSk6IERlbGV0ZWQuCisgICAgICAgICogYmluZGluZ3MvanMvV2ViQ29yZUpTQ2xpZW50RGF0
YS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpKU1ZNQ2xpZW50RGF0YTo6SlNWTUNsaWVudERhdGEp
OgorICAgICAgICAqIGJpbmRpbmdzL2pzL1dlYkNvcmVKU0NsaWVudERhdGEuaDoKKyAgICAgICAg
KFdlYkNvcmU6OkpTVk1DbGllbnREYXRhOjpkb21OYW1lc3BhY2VPYmplY3RTcGFjZSk6CisgICAg
ICAgIE1vdmUgSlNET01Db25zdHJ1Y3Rvck5vdENhbGxhYmxlIHRvIHNlcGFyYXRlIElzb1N1YnNw
YWNlIHNpbmNlIGl0IG5vIGxvbmdlciBzaGFyZXMKKyAgICAgICAgYSBjb21tb24gcGFyZW50IGNs
YXNzIHdpdGggY2FsbGFibGUgY29uc3RydWN0b3JzLgorCisgICAgICAgICogYmluZGluZ3Mvc2Ny
aXB0cy9Db2RlR2VuZXJhdG9ySlMucG06CisgICAgICAgIChHZW5lcmF0ZUNvbnN0cnVjdG9ySGVs
cGVyTWV0aG9kcyk6CisgICAgICAgIEludHJvZHVjZSBJbnRlcm5hbEZ1bmN0aW9uOjpmaW5pc2hD
cmVhdGlvbihWTSYpIG92ZXJsb2FkIGFuZCBzZXQgbV9vcmlnaW5hbE5hbWUKKyAgICAgICAgZGly
ZWN0bHkgdG8gcHJlc2VydmUgdGhlIGN1cnJlbnQgcHJvcGVydHkgb3JkZXIgb2YgV2ViSURMIGNv
bnN0cnVjdG9ycywgYW5kIHRvIGRlZmVyCisgICAgICAgIGEgbGFyZ2UgY29kZSBjaGFuZ2UgbmVl
ZGVkIGZvciBwYXNzaW5nIHRocm91Z2ggYGxlbmd0aGAgLyBgbmFtZWAgcGFyYW1ldGVycyAoYnVn
ICMyMzA1ODQpLgorCisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTLyo6IFVwZGF0
ZWQuCisKIDIwMjEtMDktMjEgIE15bGVzIEMuIE1heGZpZWxkICA8bW1heGZpZWxkQGFwcGxlLmNv
bT4KIAogICAgICAgICBQYXJzaW5nIHN1cHBvcnQgZm9yIGZvbnQtcGFsZXR0ZQpJbmRleDogU291
cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01CdWlsdGluQ29uc3RydWN0b3IuaAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTUJ1aWx0aW5Db25zdHJ1Y3Rv
ci5oCShyZXZpc2lvbiAyODI4NTEpCisrKyBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RP
TUJ1aWx0aW5Db25zdHJ1Y3Rvci5oCSh3b3JraW5nIGNvcHkpCkBAIC00MCwxMyArNDAsMTIgQEAg
cHVibGljOgogICAgIHN0YXRpYyBKU0M6OkVuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTExfQVRU
UklCVVRFUyBjb25zdHJ1Y3QoSlNDOjpKU0dsb2JhbE9iamVjdCosIEpTQzo6Q2FsbEZyYW1lKik7
CiAKIHByaXZhdGU6Ci0gICAgSlNET01CdWlsdGluQ29uc3RydWN0b3IoSlNDOjpTdHJ1Y3R1cmUq
IHN0cnVjdHVyZSwgSlNET01HbG9iYWxPYmplY3QmIGdsb2JhbE9iamVjdCkKLSAgICAgICAgOiBC
YXNlKHN0cnVjdHVyZSwgZ2xvYmFsT2JqZWN0KQorICAgIEpTRE9NQnVpbHRpbkNvbnN0cnVjdG9y
KEpTQzo6Vk0mIHZtLCBKU0M6OlN0cnVjdHVyZSogc3RydWN0dXJlKQorICAgICAgICA6IEJhc2Uo
dm0sIHN0cnVjdHVyZSwgY29uc3RydWN0KQogICAgIHsKICAgICB9CiAKICAgICB2b2lkIGZpbmlz
aENyZWF0aW9uKEpTQzo6Vk0mLCBKU0RPTUdsb2JhbE9iamVjdCYpOwotICAgIHN0YXRpYyBKU0M6
OkNhbGxEYXRhIGdldENvbnN0cnVjdERhdGEoSlNDOjpKU0NlbGwqKTsKIAogICAgIEpTQzo6RW5j
b2RlZEpTVmFsdWUgY2FsbENvbnN0cnVjdG9yKEpTQzo6SlNHbG9iYWxPYmplY3QmLCBKU0M6OkNh
bGxGcmFtZSYsIEpTQzo6SlNPYmplY3QmKTsKICAgICBKU0M6OkVuY29kZWRKU1ZhbHVlIGNhbGxD
b25zdHJ1Y3RvcihKU0M6OkpTR2xvYmFsT2JqZWN0JiwgSlNDOjpDYWxsRnJhbWUmLCBKU0M6OkpT
T2JqZWN0Kik7CkBAIC01OSwxNCArNTgsMTQgQEAgcHJpdmF0ZToKIAogdGVtcGxhdGU8dHlwZW5h
bWUgSlNDbGFzcz4gaW5saW5lIEpTRE9NQnVpbHRpbkNvbnN0cnVjdG9yPEpTQ2xhc3M+KiBKU0RP
TUJ1aWx0aW5Db25zdHJ1Y3RvcjxKU0NsYXNzPjo6Y3JlYXRlKEpTQzo6Vk0mIHZtLCBKU0M6OlN0
cnVjdHVyZSogc3RydWN0dXJlLCBKU0RPTUdsb2JhbE9iamVjdCYgZ2xvYmFsT2JqZWN0KQogewot
ICAgIEpTRE9NQnVpbHRpbkNvbnN0cnVjdG9yKiBjb25zdHJ1Y3RvciA9IG5ldyAoTm90TnVsbCwg
SlNDOjphbGxvY2F0ZUNlbGw8SlNET01CdWlsdGluQ29uc3RydWN0b3I+KHZtLmhlYXApKSBKU0RP
TUJ1aWx0aW5Db25zdHJ1Y3RvcihzdHJ1Y3R1cmUsIGdsb2JhbE9iamVjdCk7CisgICAgSlNET01C
dWlsdGluQ29uc3RydWN0b3IqIGNvbnN0cnVjdG9yID0gbmV3IChOb3ROdWxsLCBKU0M6OmFsbG9j
YXRlQ2VsbDxKU0RPTUJ1aWx0aW5Db25zdHJ1Y3Rvcj4odm0uaGVhcCkpIEpTRE9NQnVpbHRpbkNv
bnN0cnVjdG9yKHZtLCBzdHJ1Y3R1cmUpOwogICAgIGNvbnN0cnVjdG9yLT5maW5pc2hDcmVhdGlv
bih2bSwgZ2xvYmFsT2JqZWN0KTsKICAgICByZXR1cm4gY29uc3RydWN0b3I7CiB9CiAKIHRlbXBs
YXRlPHR5cGVuYW1lIEpTQ2xhc3M+IGlubGluZSBKU0M6OlN0cnVjdHVyZSogSlNET01CdWlsdGlu
Q29uc3RydWN0b3I8SlNDbGFzcz46OmNyZWF0ZVN0cnVjdHVyZShKU0M6OlZNJiB2bSwgSlNDOjpK
U0dsb2JhbE9iamVjdCYgZ2xvYmFsT2JqZWN0LCBKU0M6OkpTVmFsdWUgcHJvdG90eXBlKQogewot
ICAgIHJldHVybiBKU0M6OlN0cnVjdHVyZTo6Y3JlYXRlKHZtLCAmZ2xvYmFsT2JqZWN0LCBwcm90
b3R5cGUsIEpTQzo6VHlwZUluZm8oSlNDOjpPYmplY3RUeXBlLCBTdHJ1Y3R1cmVGbGFncyksIGlu
Zm8oKSk7CisgICAgcmV0dXJuIEpTQzo6U3RydWN0dXJlOjpjcmVhdGUodm0sICZnbG9iYWxPYmpl
Y3QsIHByb3RvdHlwZSwgSlNDOjpUeXBlSW5mbyhKU0M6OkludGVybmFsRnVuY3Rpb25UeXBlLCBT
dHJ1Y3R1cmVGbGFncyksIGluZm8oKSk7CiB9CiAKIHRlbXBsYXRlPHR5cGVuYW1lIEpTQ2xhc3M+
IGlubGluZSB2b2lkIEpTRE9NQnVpbHRpbkNvbnN0cnVjdG9yPEpTQ2xhc3M+OjpmaW5pc2hDcmVh
dGlvbihKU0M6OlZNJiB2bSwgSlNET01HbG9iYWxPYmplY3QmIGdsb2JhbE9iamVjdCkKQEAgLTEx
OSwxMiArMTE4LDQgQEAgdGVtcGxhdGU8dHlwZW5hbWUgSlNDbGFzcz4gaW5saW5lIEpTQzo6RQog
ICAgIHJldHVybiBjYXN0ZWRUaGlzLT5jYWxsQ29uc3RydWN0b3IoKmxleGljYWxHbG9iYWxPYmpl
Y3QsICpjYWxsRnJhbWUsIGNyZWF0ZUpTT2JqZWN0KCpjYXN0ZWRUaGlzKSk7CiB9CiAKLXRlbXBs
YXRlPHR5cGVuYW1lIEpTQ2xhc3M+IGlubGluZSBKU0M6OkNhbGxEYXRhIEpTRE9NQnVpbHRpbkNv
bnN0cnVjdG9yPEpTQ2xhc3M+OjpnZXRDb25zdHJ1Y3REYXRhKEpTQzo6SlNDZWxsKikKLXsKLSAg
ICBKU0M6OkNhbGxEYXRhIGNvbnN0cnVjdERhdGE7Ci0gICAgY29uc3RydWN0RGF0YS50eXBlID0g
SlNDOjpDYWxsRGF0YTo6VHlwZTo6TmF0aXZlOwotICAgIGNvbnN0cnVjdERhdGEubmF0aXZlLmZ1
bmN0aW9uID0gY29uc3RydWN0OwotICAgIHJldHVybiBjb25zdHJ1Y3REYXRhOwotfQotCiB9IC8v
IG5hbWVzcGFjZSBXZWJDb3JlCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RP
TUJ1aWx0aW5Db25zdHJ1Y3RvckJhc2UuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy9qcy9KU0RPTUJ1aWx0aW5Db25zdHJ1Y3RvckJhc2UuaAkocmV2aXNpb24gMjgyODUx
KQorKysgU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01CdWlsdGluQ29uc3RydWN0b3JC
YXNlLmgJKHdvcmtpbmcgY29weSkKQEAgLTM3LDggKzM3LDggQEAgcHVibGljOgogICAgIH0KIAog
cHJvdGVjdGVkOgotICAgIEpTRE9NQnVpbHRpbkNvbnN0cnVjdG9yQmFzZShKU0M6OlN0cnVjdHVy
ZSogc3RydWN0dXJlLCBKU0RPTUdsb2JhbE9iamVjdCYgZ2xvYmFsT2JqZWN0KQotICAgICAgICA6
IEpTRE9NQ29uc3RydWN0b3JCYXNlKHN0cnVjdHVyZSwgZ2xvYmFsT2JqZWN0KQorICAgIEpTRE9N
QnVpbHRpbkNvbnN0cnVjdG9yQmFzZShKU0M6OlZNJiB2bSwgSlNDOjpTdHJ1Y3R1cmUqIHN0cnVj
dHVyZSwgSlNDOjpOYXRpdmVGdW5jdGlvbiBmdW5jdGlvbkZvckNvbnN0cnVjdCkKKyAgICAgICAg
OiBCYXNlKHZtLCBzdHJ1Y3R1cmUsIGZ1bmN0aW9uRm9yQ29uc3RydWN0KQogICAgIHsKICAgICB9
CiAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NQ29uc3RydWN0b3IuaAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTUNvbnN0cnVjdG9y
LmgJKHJldmlzaW9uIDI4Mjg1MSkKKysrIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9N
Q29uc3RydWN0b3IuaAkod29ya2luZyBjb3B5KQpAQCAtMzksMTMgKzM5LDEyIEBAIHB1YmxpYzoK
ICAgICBzdGF0aWMgSlNDOjpFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMX0FUVFJJQlVURVMg
Y29uc3RydWN0KEpTQzo6SlNHbG9iYWxPYmplY3QqLCBKU0M6OkNhbGxGcmFtZSopOwogCiBwcml2
YXRlOgotICAgIEpTRE9NQ29uc3RydWN0b3IoSlNDOjpTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwgSlNE
T01HbG9iYWxPYmplY3QmIGdsb2JhbE9iamVjdCkKLSAgICAgICAgOiBCYXNlKHN0cnVjdHVyZSwg
Z2xvYmFsT2JqZWN0KQorICAgIEpTRE9NQ29uc3RydWN0b3IoSlNDOjpWTSYgdm0sIEpTQzo6U3Ry
dWN0dXJlKiBzdHJ1Y3R1cmUpCisgICAgICAgIDogQmFzZSh2bSwgc3RydWN0dXJlLCBjb25zdHJ1
Y3QpCiAgICAgewogICAgIH0KIAogICAgIHZvaWQgZmluaXNoQ3JlYXRpb24oSlNDOjpWTSYsIEpT
RE9NR2xvYmFsT2JqZWN0Jik7Ci0gICAgc3RhdGljIEpTQzo6Q2FsbERhdGEgZ2V0Q29uc3RydWN0
RGF0YShKU0M6OkpTQ2VsbCopOwogCiAgICAgLy8gVXN1YWxseSBkZWZpbmVkIGZvciBlYWNoIHNw
ZWNpYWxpemF0aW9uIGNsYXNzLgogICAgIHZvaWQgaW5pdGlhbGl6ZVByb3BlcnRpZXMoSlNDOjpW
TSYsIEpTRE9NR2xvYmFsT2JqZWN0JikgeyB9CkBAIC01MywxNCArNTIsMTQgQEAgcHJpdmF0ZToK
IAogdGVtcGxhdGU8dHlwZW5hbWUgSlNDbGFzcz4gaW5saW5lIEpTRE9NQ29uc3RydWN0b3I8SlND
bGFzcz4qIEpTRE9NQ29uc3RydWN0b3I8SlNDbGFzcz46OmNyZWF0ZShKU0M6OlZNJiB2bSwgSlND
OjpTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwgSlNET01HbG9iYWxPYmplY3QmIGdsb2JhbE9iamVjdCkK
IHsKLSAgICBKU0RPTUNvbnN0cnVjdG9yKiBjb25zdHJ1Y3RvciA9IG5ldyAoTm90TnVsbCwgSlND
OjphbGxvY2F0ZUNlbGw8SlNET01Db25zdHJ1Y3Rvcj4odm0uaGVhcCkpIEpTRE9NQ29uc3RydWN0
b3Ioc3RydWN0dXJlLCBnbG9iYWxPYmplY3QpOworICAgIEpTRE9NQ29uc3RydWN0b3IqIGNvbnN0
cnVjdG9yID0gbmV3IChOb3ROdWxsLCBKU0M6OmFsbG9jYXRlQ2VsbDxKU0RPTUNvbnN0cnVjdG9y
Pih2bS5oZWFwKSkgSlNET01Db25zdHJ1Y3Rvcih2bSwgc3RydWN0dXJlKTsKICAgICBjb25zdHJ1
Y3Rvci0+ZmluaXNoQ3JlYXRpb24odm0sIGdsb2JhbE9iamVjdCk7CiAgICAgcmV0dXJuIGNvbnN0
cnVjdG9yOwogfQogCiB0ZW1wbGF0ZTx0eXBlbmFtZSBKU0NsYXNzPiBpbmxpbmUgSlNDOjpTdHJ1
Y3R1cmUqIEpTRE9NQ29uc3RydWN0b3I8SlNDbGFzcz46OmNyZWF0ZVN0cnVjdHVyZShKU0M6OlZN
JiB2bSwgSlNDOjpKU0dsb2JhbE9iamVjdCYgZ2xvYmFsT2JqZWN0LCBKU0M6OkpTVmFsdWUgcHJv
dG90eXBlKQogewotICAgIHJldHVybiBKU0M6OlN0cnVjdHVyZTo6Y3JlYXRlKHZtLCAmZ2xvYmFs
T2JqZWN0LCBwcm90b3R5cGUsIEpTQzo6VHlwZUluZm8oSlNDOjpPYmplY3RUeXBlLCBTdHJ1Y3R1
cmVGbGFncyksIGluZm8oKSk7CisgICAgcmV0dXJuIEpTQzo6U3RydWN0dXJlOjpjcmVhdGUodm0s
ICZnbG9iYWxPYmplY3QsIHByb3RvdHlwZSwgSlNDOjpUeXBlSW5mbyhKU0M6OkludGVybmFsRnVu
Y3Rpb25UeXBlLCBTdHJ1Y3R1cmVGbGFncyksIGluZm8oKSk7CiB9CiAKIHRlbXBsYXRlPHR5cGVu
YW1lIEpTQ2xhc3M+IGlubGluZSB2b2lkIEpTRE9NQ29uc3RydWN0b3I8SlNDbGFzcz46OmZpbmlz
aENyZWF0aW9uKEpTQzo6Vk0mIHZtLCBKU0RPTUdsb2JhbE9iamVjdCYgZ2xvYmFsT2JqZWN0KQpA
QCAtNzAsMTMgKzY5LDQgQEAgdGVtcGxhdGU8dHlwZW5hbWUgSlNDbGFzcz4gaW5saW5lIHZvaWQg
SgogICAgIGluaXRpYWxpemVQcm9wZXJ0aWVzKHZtLCBnbG9iYWxPYmplY3QpOwogfQogCi10ZW1w
bGF0ZTx0eXBlbmFtZSBKU0NsYXNzPiBpbmxpbmUgSlNDOjpDYWxsRGF0YSBKU0RPTUNvbnN0cnVj
dG9yPEpTQ2xhc3M+OjpnZXRDb25zdHJ1Y3REYXRhKEpTQzo6SlNDZWxsKikKLXsKLSAgICBKU0M6
OkNhbGxEYXRhIGNvbnN0cnVjdERhdGE7Ci0gICAgY29uc3RydWN0RGF0YS50eXBlID0gSlNDOjpD
YWxsRGF0YTo6VHlwZTo6TmF0aXZlOwotICAgIGNvbnN0cnVjdERhdGEubmF0aXZlLmZ1bmN0aW9u
ID0gY29uc3RydWN0OwotICAgIHJldHVybiBjb25zdHJ1Y3REYXRhOwotfQotCi0KIH0gLy8gbmFt
ZXNwYWNlIFdlYkNvcmUKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NQ29u
c3RydWN0b3JCYXNlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9q
cy9KU0RPTUNvbnN0cnVjdG9yQmFzZS5jcHAJKHJldmlzaW9uIDI4Mjg1MSkKKysrIFNvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NQ29uc3RydWN0b3JCYXNlLmNwcAkod29ya2luZyBjb3B5
KQpAQCAtMzAsOSArMzAsNyBAQCB1c2luZyBuYW1lc3BhY2UgSlNDOwogCiBTVEFUSUNfQVNTRVJU
X0lTX1RSSVZJQUxMWV9ERVNUUlVDVElCTEUoSlNET01Db25zdHJ1Y3RvckJhc2UpOwogCi1zdGF0
aWMgSlNDX0RFQ0xBUkVfSE9TVF9GVU5DVElPTihjYWxsVGhyb3dUeXBlRXJyb3IpOwotCi1KU0Nf
REVGSU5FX0hPU1RfRlVOQ1RJT04oY2FsbFRocm93VHlwZUVycm9yLCAoSlNHbG9iYWxPYmplY3Qq
IGdsb2JhbE9iamVjdCwgQ2FsbEZyYW1lKikpCitKU0NfREVGSU5FX0hPU1RfRlVOQ1RJT04oY2Fs
bFRocm93VHlwZUVycm9yRm9ySlNET01Db25zdHJ1Y3RvciwgKEpTR2xvYmFsT2JqZWN0KiBnbG9i
YWxPYmplY3QsIENhbGxGcmFtZSopKQogewogICAgIFZNJiB2bSA9IGdsb2JhbE9iamVjdC0+dm0o
KTsKICAgICBhdXRvIHNjb3BlID0gREVDTEFSRV9USFJPV19TQ09QRSh2bSk7CkBAIC00OCwxNCAr
NDYsNiBAQCBKU0NfREVGSU5FX0hPU1RfRlVOQ1RJT04oY2FsbFRocm93VHlwZUVyCiAgICAgcmV0
dXJuIEpTQzo6SlNWYWx1ZTo6ZW5jb2RlKEpTQzo6anNOdWxsKCkpOwogfQogCi1DYWxsRGF0YSBK
U0RPTUNvbnN0cnVjdG9yQmFzZTo6Z2V0Q2FsbERhdGEoSlNDZWxsKikKLXsKLSAgICBDYWxsRGF0
YSBjYWxsRGF0YTsKLSAgICBjYWxsRGF0YS50eXBlID0gQ2FsbERhdGE6OlR5cGU6Ok5hdGl2ZTsK
LSAgICBjYWxsRGF0YS5uYXRpdmUuZnVuY3Rpb24gPSBjYWxsVGhyb3dUeXBlRXJyb3I7Ci0gICAg
cmV0dXJuIGNhbGxEYXRhOwotfQotCiBKU0M6Oklzb1N1YnNwYWNlKiBKU0RPTUNvbnN0cnVjdG9y
QmFzZTo6c3Vic3BhY2VGb3JJbXBsKEpTQzo6Vk0mIHZtKQogewogICAgIHJldHVybiAmc3RhdGlj
X2Nhc3Q8SlNWTUNsaWVudERhdGEqPih2bS5jbGllbnREYXRhKS0+ZG9tQ29uc3RydWN0b3JTcGFj
ZSgpOwpJbmRleDogU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01Db25zdHJ1Y3RvckJh
c2UuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTUNvbnN0
cnVjdG9yQmFzZS5oCShyZXZpc2lvbiAyODI4NTEpCisrKyBTb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9qcy9KU0RPTUNvbnN0cnVjdG9yQmFzZS5oCSh3b3JraW5nIGNvcHkpCkBAIC0xOSwyMCArMTks
MjEgQEAKIAogI3ByYWdtYSBvbmNlCiAKLSNpbmNsdWRlICJKU0RPTVdyYXBwZXIuaCIKKyNpbmNs
dWRlICJKU0RPTUdsb2JhbE9iamVjdC5oIgorI2luY2x1ZGUgPEphdmFTY3JpcHRDb3JlL0ludGVy
bmFsRnVuY3Rpb24uaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCitKU0NfREVDTEFSRV9IT1NU
X0ZVTkNUSU9OKGNhbGxUaHJvd1R5cGVFcnJvckZvckpTRE9NQ29uc3RydWN0b3IpOwogSlNDX0RF
Q0xBUkVfSE9TVF9GVU5DVElPTihjYWxsVGhyb3dUeXBlRXJyb3JGb3JKU0RPTUNvbnN0cnVjdG9y
Tm90Q29uc3RydWN0YWJsZSk7CiAKLS8vIEJhc2UgY2xhc3MgZm9yIGFsbCBjb25zdHJ1Y3RvciBv
YmplY3RzIGluIHRoZSBKU0MgYmluZGluZ3MuCi1jbGFzcyBKU0RPTUNvbnN0cnVjdG9yQmFzZSA6
IHB1YmxpYyBKU0RPTU9iamVjdCB7CisvLyBCYXNlIGNsYXNzIGZvciBhbGwgY2FsbGFibGUgY29u
c3RydWN0b3Igb2JqZWN0cyBpbiB0aGUgSlNDIGJpbmRpbmdzLgorY2xhc3MgSlNET01Db25zdHJ1
Y3RvckJhc2UgOiBwdWJsaWMgSlNDOjpJbnRlcm5hbEZ1bmN0aW9uIHsKIHB1YmxpYzoKLSAgICB1
c2luZyBCYXNlID0gSlNET01PYmplY3Q7CisgICAgdXNpbmcgQmFzZSA9IEludGVybmFsRnVuY3Rp
b247CiAKLSAgICBzdGF0aWMgY29uc3RleHByIHVuc2lnbmVkIFN0cnVjdHVyZUZsYWdzID0gQmFz
ZTo6U3RydWN0dXJlRmxhZ3MgfCBKU0M6OkltcGxlbWVudHNIYXNJbnN0YW5jZSB8IEpTQzo6SW1w
bGVtZW50c0RlZmF1bHRIYXNJbnN0YW5jZSB8IEpTQzo6T3ZlcnJpZGVzR2V0Q2FsbERhdGE7Cisg
ICAgc3RhdGljIGNvbnN0ZXhwciB1bnNpZ25lZCBTdHJ1Y3R1cmVGbGFncyA9IEJhc2U6OlN0cnVj
dHVyZUZsYWdzOwogICAgIHN0YXRpYyBjb25zdGV4cHIgYm9vbCBuZWVkc0Rlc3RydWN0aW9uID0g
ZmFsc2U7Ci0gICAgc3RhdGljIEpTQzo6U3RydWN0dXJlKiBjcmVhdGVTdHJ1Y3R1cmUoSlNDOjpW
TSYsIEpTQzo6SlNHbG9iYWxPYmplY3QqLCBKU0M6OkpTVmFsdWUpOwogCiAgICAgdGVtcGxhdGU8
dHlwZW5hbWUgQ2VsbFR5cGUsIEpTQzo6U3Vic3BhY2VBY2Nlc3M+CiAgICAgc3RhdGljIEpTQzo6
SXNvU3Vic3BhY2UqIHN1YnNwYWNlRm9yKEpTQzo6Vk0mIHZtKQpAQCAtNDUsMTggKzQ2LDE2IEBA
IHB1YmxpYzoKIAogICAgIHN0YXRpYyBKU0M6Oklzb1N1YnNwYWNlKiBzdWJzcGFjZUZvckltcGwo
SlNDOjpWTSYpOwogCisgICAgSlNET01HbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCgpIGNvbnN0
IHsgcmV0dXJuIEpTQzo6anNDYXN0PEpTRE9NR2xvYmFsT2JqZWN0Kj4oQmFzZTo6Z2xvYmFsT2Jq
ZWN0KCkpOyB9CisgICAgU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogc2NyaXB0RXhlY3V0aW9uQ29u
dGV4dCgpIGNvbnN0IHsgcmV0dXJuIGdsb2JhbE9iamVjdCgpLT5zY3JpcHRFeGVjdXRpb25Db250
ZXh0KCk7IH0KKwogcHJvdGVjdGVkOgotICAgIEpTRE9NQ29uc3RydWN0b3JCYXNlKEpTQzo6U3Ry
dWN0dXJlKiBzdHJ1Y3R1cmUsIEpTRE9NR2xvYmFsT2JqZWN0JiBnbG9iYWxPYmplY3QpCi0gICAg
ICAgIDogSlNET01PYmplY3Qoc3RydWN0dXJlLCBnbG9iYWxPYmplY3QpCisgICAgSlNET01Db25z
dHJ1Y3RvckJhc2UoSlNDOjpWTSYgdm0sIEpTQzo6U3RydWN0dXJlKiBzdHJ1Y3R1cmUsIEpTQzo6
TmF0aXZlRnVuY3Rpb24gZnVuY3Rpb25Gb3JDb25zdHJ1Y3QpCisgICAgICAgIDogQmFzZSh2bSwg
c3RydWN0dXJlLAorICAgICAgICAgICAgZnVuY3Rpb25Gb3JDb25zdHJ1Y3QgPyBjYWxsVGhyb3dU
eXBlRXJyb3JGb3JKU0RPTUNvbnN0cnVjdG9yIDogY2FsbFRocm93VHlwZUVycm9yRm9ySlNET01D
b25zdHJ1Y3Rvck5vdENvbnN0cnVjdGFibGUsCisgICAgICAgICAgICBmdW5jdGlvbkZvckNvbnN0
cnVjdCA/IGZ1bmN0aW9uRm9yQ29uc3RydWN0IDogY2FsbFRocm93VHlwZUVycm9yRm9ySlNET01D
b25zdHJ1Y3Rvck5vdENvbnN0cnVjdGFibGUpCiAgICAgewogICAgIH0KLQotICAgIHN0YXRpYyBK
U0M6OkNhbGxEYXRhIGdldENhbGxEYXRhKEpTQzo6SlNDZWxsKik7CiB9OwogCi1pbmxpbmUgSlND
OjpTdHJ1Y3R1cmUqIEpTRE9NQ29uc3RydWN0b3JCYXNlOjpjcmVhdGVTdHJ1Y3R1cmUoSlNDOjpW
TSYgdm0sIEpTQzo6SlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgSlNDOjpKU1ZhbHVlIHBy
b3RvdHlwZSkKLXsKLSAgICByZXR1cm4gSlNDOjpTdHJ1Y3R1cmU6OmNyZWF0ZSh2bSwgZ2xvYmFs
T2JqZWN0LCBwcm90b3R5cGUsIEpTQzo6VHlwZUluZm8oSlNDOjpPYmplY3RUeXBlLCBTdHJ1Y3R1
cmVGbGFncyksIGluZm8oKSk7Ci19Ci0KIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKSW5kZXg6IFNv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NQ29uc3RydWN0b3JOb3RDYWxsYWJsZS5oCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NQ29uc3RydWN0b3JO
b3RDYWxsYWJsZS5oCShyZXZpc2lvbiAyODI4NTEpCisrKyBTb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9qcy9KU0RPTUNvbnN0cnVjdG9yTm90Q2FsbGFibGUuaAkod29ya2luZyBjb3B5KQpAQCAtNDks
NyArNDksNyBAQCBwdWJsaWM6CiAgICAgICAgIHN0YXRpY19hc3NlcnQoc2l6ZW9mKENlbGxUeXBl
KSA9PSBzaXplb2YoSlNET01Db25zdHJ1Y3Rvck5vdENhbGxhYmxlKSk7CiAgICAgICAgIFNUQVRJ
Q19BU1NFUlRfSVNPX1NVQlNQQUNFX1NIQVJBQkxFKENlbGxUeXBlLCBKU0RPTUNvbnN0cnVjdG9y
Tm90Q2FsbGFibGUpOwogICAgICAgICBzdGF0aWNfYXNzZXJ0KENlbGxUeXBlOjpkZXN0cm95ID09
IEpTQzo6SlNDZWxsOjpkZXN0cm95LCAiSlNET01Db25zdHJ1Y3Rvck5vdENhbGxhYmxlPEpTQ2xh
c3M+IGlzIG5vdCBkZXN0cnVjdGlibGUgYWN0dWFsbHkiKTsKLSAgICAgICAgcmV0dXJuICZzdGF0
aWNfY2FzdDxKU1ZNQ2xpZW50RGF0YSo+KHZtLmNsaWVudERhdGEpLT5kb21Db25zdHJ1Y3RvclNw
YWNlKCk7CisgICAgICAgIHJldHVybiAmc3RhdGljX2Nhc3Q8SlNWTUNsaWVudERhdGEqPih2bS5j
bGllbnREYXRhKS0+ZG9tTmFtZXNwYWNlT2JqZWN0U3BhY2UoKTsKICAgICB9CiAKIHByaXZhdGU6
CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTUNvbnN0cnVjdG9yTm90Q29u
c3RydWN0YWJsZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pT
RE9NQ29uc3RydWN0b3JOb3RDb25zdHJ1Y3RhYmxlLmgJKHJldmlzaW9uIDI4Mjg1MSkKKysrIFNv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NQ29uc3RydWN0b3JOb3RDb25zdHJ1Y3RhYmxl
LmgJKHdvcmtpbmcgY29weSkKQEAgLTM2LDggKzM2LDggQEAgcHVibGljOgogICAgIHN0YXRpYyBK
U0M6OkpTVmFsdWUgcHJvdG90eXBlRm9yU3RydWN0dXJlKEpTQzo6Vk0mLCBjb25zdCBKU0RPTUds
b2JhbE9iamVjdCYpOwogCiBwcml2YXRlOgotICAgIEpTRE9NQ29uc3RydWN0b3JOb3RDb25zdHJ1
Y3RhYmxlKEpTQzo6U3RydWN0dXJlKiBzdHJ1Y3R1cmUsIEpTRE9NR2xvYmFsT2JqZWN0JiBnbG9i
YWxPYmplY3QpCi0gICAgICAgIDogQmFzZShzdHJ1Y3R1cmUsIGdsb2JhbE9iamVjdCkKKyAgICBK
U0RPTUNvbnN0cnVjdG9yTm90Q29uc3RydWN0YWJsZShKU0M6OlZNJiB2bSwgSlNDOjpTdHJ1Y3R1
cmUqIHN0cnVjdHVyZSkKKyAgICAgICAgOiBCYXNlKHZtLCBzdHJ1Y3R1cmUsIG51bGxwdHIpCiAg
ICAgewogICAgIH0KIApAQCAtNDUsMzQgKzQ1LDE4IEBAIHByaXZhdGU6CiAKICAgICAvLyBVc3Vh
bGx5IGRlZmluZWQgZm9yIGVhY2ggc3BlY2lhbGl6YXRpb24gY2xhc3MuCiAgICAgdm9pZCBpbml0
aWFsaXplUHJvcGVydGllcyhKU0M6OlZNJiwgSlNET01HbG9iYWxPYmplY3QmKSB7IH0KLQotICAg
IHN0YXRpYyBKU0M6OkNhbGxEYXRhIGdldENhbGxEYXRhKEpTQzo6SlNDZWxsKikKLSAgICB7Ci0g
ICAgICAgIEpTQzo6Q2FsbERhdGEgY2FsbERhdGE7Ci0gICAgICAgIGNhbGxEYXRhLnR5cGUgPSBK
U0M6OkNhbGxEYXRhOjpUeXBlOjpOYXRpdmU7Ci0gICAgICAgIGNhbGxEYXRhLm5hdGl2ZS5mdW5j
dGlvbiA9IGNhbGxUaHJvd1R5cGVFcnJvckZvckpTRE9NQ29uc3RydWN0b3JOb3RDb25zdHJ1Y3Rh
YmxlOwotICAgICAgICByZXR1cm4gY2FsbERhdGE7Ci0gICAgfQotCi0gICAgc3RhdGljIEpTQzo6
Q2FsbERhdGEgZ2V0Q29uc3RydWN0RGF0YShKU0M6OkpTQ2VsbCopCi0gICAgewotICAgICAgICBK
U0M6OkNhbGxEYXRhIGNhbGxEYXRhOwotICAgICAgICBjYWxsRGF0YS50eXBlID0gSlNDOjpDYWxs
RGF0YTo6VHlwZTo6TmF0aXZlOwotICAgICAgICBjYWxsRGF0YS5uYXRpdmUuZnVuY3Rpb24gPSBj
YWxsVGhyb3dUeXBlRXJyb3JGb3JKU0RPTUNvbnN0cnVjdG9yTm90Q29uc3RydWN0YWJsZTsKLSAg
ICAgICAgcmV0dXJuIGNhbGxEYXRhOwotICAgIH0KIH07CiAKIHRlbXBsYXRlPHR5cGVuYW1lIEpT
Q2xhc3M+IGlubGluZSBKU0RPTUNvbnN0cnVjdG9yTm90Q29uc3RydWN0YWJsZTxKU0NsYXNzPiog
SlNET01Db25zdHJ1Y3Rvck5vdENvbnN0cnVjdGFibGU8SlNDbGFzcz46OmNyZWF0ZShKU0M6OlZN
JiB2bSwgSlNDOjpTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwgSlNET01HbG9iYWxPYmplY3QmIGdsb2Jh
bE9iamVjdCkKIHsKLSAgICBKU0RPTUNvbnN0cnVjdG9yTm90Q29uc3RydWN0YWJsZSogY29uc3Ry
dWN0b3IgPSBuZXcgKE5vdE51bGwsIEpTQzo6YWxsb2NhdGVDZWxsPEpTRE9NQ29uc3RydWN0b3JO
b3RDb25zdHJ1Y3RhYmxlPih2bS5oZWFwKSkgSlNET01Db25zdHJ1Y3Rvck5vdENvbnN0cnVjdGFi
bGUoc3RydWN0dXJlLCBnbG9iYWxPYmplY3QpOworICAgIEpTRE9NQ29uc3RydWN0b3JOb3RDb25z
dHJ1Y3RhYmxlKiBjb25zdHJ1Y3RvciA9IG5ldyAoTm90TnVsbCwgSlNDOjphbGxvY2F0ZUNlbGw8
SlNET01Db25zdHJ1Y3Rvck5vdENvbnN0cnVjdGFibGU+KHZtLmhlYXApKSBKU0RPTUNvbnN0cnVj
dG9yTm90Q29uc3RydWN0YWJsZSh2bSwgc3RydWN0dXJlKTsKICAgICBjb25zdHJ1Y3Rvci0+Zmlu
aXNoQ3JlYXRpb24odm0sIGdsb2JhbE9iamVjdCk7CiAgICAgcmV0dXJuIGNvbnN0cnVjdG9yOwog
fQogCiB0ZW1wbGF0ZTx0eXBlbmFtZSBKU0NsYXNzPiBpbmxpbmUgSlNDOjpTdHJ1Y3R1cmUqIEpT
RE9NQ29uc3RydWN0b3JOb3RDb25zdHJ1Y3RhYmxlPEpTQ2xhc3M+OjpjcmVhdGVTdHJ1Y3R1cmUo
SlNDOjpWTSYgdm0sIEpTQzo6SlNHbG9iYWxPYmplY3QmIGdsb2JhbE9iamVjdCwgSlNDOjpKU1Zh
bHVlIHByb3RvdHlwZSkKIHsKLSAgICByZXR1cm4gSlNDOjpTdHJ1Y3R1cmU6OmNyZWF0ZSh2bSwg
Jmdsb2JhbE9iamVjdCwgcHJvdG90eXBlLCBKU0M6OlR5cGVJbmZvKEpTQzo6T2JqZWN0VHlwZSwg
U3RydWN0dXJlRmxhZ3MpLCBpbmZvKCkpOworICAgIHJldHVybiBKU0M6OlN0cnVjdHVyZTo6Y3Jl
YXRlKHZtLCAmZ2xvYmFsT2JqZWN0LCBwcm90b3R5cGUsIEpTQzo6VHlwZUluZm8oSlNDOjpJbnRl
cm5hbEZ1bmN0aW9uVHlwZSwgU3RydWN0dXJlRmxhZ3MpLCBpbmZvKCkpOwogfQogCiB0ZW1wbGF0
ZTx0eXBlbmFtZSBKU0NsYXNzPiBpbmxpbmUgdm9pZCBKU0RPTUNvbnN0cnVjdG9yTm90Q29uc3Ry
dWN0YWJsZTxKU0NsYXNzPjo6ZmluaXNoQ3JlYXRpb24oSlNDOjpWTSYgdm0sIEpTRE9NR2xvYmFs
T2JqZWN0JiBnbG9iYWxPYmplY3QpCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9K
U0RPTUNvbnN0cnVjdG9yV2l0aERvY3VtZW50LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNv
cmUvYmluZGluZ3MvanMvSlNET01Db25zdHJ1Y3RvcldpdGhEb2N1bWVudC5oCShyZXZpc2lvbiAy
ODI4NTEpCisrKyBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTUNvbnN0cnVjdG9yV2l0
aERvY3VtZW50LmgJKHdvcmtpbmcgY29weSkKQEAgLTM2LDggKzM2LDggQEAgcHVibGljOgogICAg
IH0KIAogcHJvdGVjdGVkOgotICAgIEpTRE9NQ29uc3RydWN0b3JXaXRoRG9jdW1lbnQoSlNDOjpT
dHJ1Y3R1cmUqIHN0cnVjdHVyZSwgSlNET01HbG9iYWxPYmplY3QmIGdsb2JhbE9iamVjdCkKLSAg
ICAgICAgOiBKU0RPTUNvbnN0cnVjdG9yQmFzZShzdHJ1Y3R1cmUsIGdsb2JhbE9iamVjdCkKKyAg
ICBKU0RPTUNvbnN0cnVjdG9yV2l0aERvY3VtZW50KEpTQzo6Vk0mIHZtLCBKU0M6OlN0cnVjdHVy
ZSogc3RydWN0dXJlLCBKU0M6Ok5hdGl2ZUZ1bmN0aW9uIGZ1bmN0aW9uRm9yQ29uc3RydWN0KQor
ICAgICAgICA6IEJhc2Uodm0sIHN0cnVjdHVyZSwgZnVuY3Rpb25Gb3JDb25zdHJ1Y3QpCiAgICAg
ewogICAgIH0KIApJbmRleDogU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01MZWdhY3lG
YWN0b3J5RnVuY3Rpb24uaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9q
cy9KU0RPTUxlZ2FjeUZhY3RvcnlGdW5jdGlvbi5oCShyZXZpc2lvbiAyODI4NTEpCisrKyBTb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTUxlZ2FjeUZhY3RvcnlGdW5jdGlvbi5oCSh3b3Jr
aW5nIGNvcHkpCkBAIC0yMyw3ICsyMyw3IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotLy8g
RklNWEU6IFdoeSBjYW4ndCBMZWdhY3lGYWN0b3J5RnVuY3Rpb25zIGJlIHVzZWQgd2l0aCB3b3Jr
ZXJzPworLy8gQWxsIGxlZ2FjeSBmYWN0b3J5IGZ1bmN0aW9ucyBhcmUgZXhwb3NlZCBvbiBXaW5k
b3cgb25seSwgd2hpbGUgYXV0aG9ycyBhcmUgYWR2aXNlZCBhZ2FpbnN0IGFkZGluZyBuZXcgb25l
cy4KIHRlbXBsYXRlPHR5cGVuYW1lIEpTQ2xhc3M+IGNsYXNzIEpTRE9NTGVnYWN5RmFjdG9yeUZ1
bmN0aW9uIGZpbmFsIDogcHVibGljIEpTRE9NQ29uc3RydWN0b3JXaXRoRG9jdW1lbnQgewogcHVi
bGljOgogICAgIHVzaW5nIEJhc2UgPSBKU0RPTUNvbnN0cnVjdG9yV2l0aERvY3VtZW50OwpAQCAt
NDAsMTMgKzQwLDEyIEBAIHB1YmxpYzoKICAgICBzdGF0aWMgSlNDOjpFbmNvZGVkSlNWYWx1ZSBK
U0NfSE9TVF9DQUxMX0FUVFJJQlVURVMgY29uc3RydWN0KEpTQzo6SlNHbG9iYWxPYmplY3QqLCBK
U0M6OkNhbGxGcmFtZSopOwogCiBwcml2YXRlOgotICAgIEpTRE9NTGVnYWN5RmFjdG9yeUZ1bmN0
aW9uKEpTQzo6U3RydWN0dXJlKiBzdHJ1Y3R1cmUsIEpTRE9NR2xvYmFsT2JqZWN0JiBnbG9iYWxP
YmplY3QpCi0gICAgICAgIDogQmFzZShzdHJ1Y3R1cmUsIGdsb2JhbE9iamVjdCkKKyAgICBKU0RP
TUxlZ2FjeUZhY3RvcnlGdW5jdGlvbihKU0M6OlZNJiB2bSwgSlNDOjpTdHJ1Y3R1cmUqIHN0cnVj
dHVyZSkKKyAgICAgICAgOiBCYXNlKHZtLCBzdHJ1Y3R1cmUsIGNvbnN0cnVjdCkKICAgICB7IAog
ICAgIH0KIAogICAgIHZvaWQgZmluaXNoQ3JlYXRpb24oSlNDOjpWTSYsIEpTRE9NR2xvYmFsT2Jq
ZWN0Jik7Ci0gICAgc3RhdGljIEpTQzo6Q2FsbERhdGEgZ2V0Q29uc3RydWN0RGF0YShKU0M6OkpT
Q2VsbCopOwogCiAgICAgLy8gVXN1YWxseSBkZWZpbmVkIGZvciBlYWNoIHNwZWNpYWxpemF0aW9u
IGNsYXNzLgogICAgIHZvaWQgaW5pdGlhbGl6ZVByb3BlcnRpZXMoSlNDOjpWTSYsIEpTRE9NR2xv
YmFsT2JqZWN0JikgeyB9CkBAIC01NCwxNCArNTMsMTQgQEAgcHJpdmF0ZToKIAogdGVtcGxhdGU8
dHlwZW5hbWUgSlNDbGFzcz4gaW5saW5lIEpTRE9NTGVnYWN5RmFjdG9yeUZ1bmN0aW9uPEpTQ2xh
c3M+KiBKU0RPTUxlZ2FjeUZhY3RvcnlGdW5jdGlvbjxKU0NsYXNzPjo6Y3JlYXRlKEpTQzo6Vk0m
IHZtLCBKU0M6OlN0cnVjdHVyZSogc3RydWN0dXJlLCBKU0RPTUdsb2JhbE9iamVjdCYgZ2xvYmFs
T2JqZWN0KQogewotICAgIEpTRE9NTGVnYWN5RmFjdG9yeUZ1bmN0aW9uKiBjb25zdHJ1Y3RvciA9
IG5ldyAoTm90TnVsbCwgSlNDOjphbGxvY2F0ZUNlbGw8SlNET01MZWdhY3lGYWN0b3J5RnVuY3Rp
b24+KHZtLmhlYXApKSBKU0RPTUxlZ2FjeUZhY3RvcnlGdW5jdGlvbihzdHJ1Y3R1cmUsIGdsb2Jh
bE9iamVjdCk7CisgICAgSlNET01MZWdhY3lGYWN0b3J5RnVuY3Rpb24qIGNvbnN0cnVjdG9yID0g
bmV3IChOb3ROdWxsLCBKU0M6OmFsbG9jYXRlQ2VsbDxKU0RPTUxlZ2FjeUZhY3RvcnlGdW5jdGlv
bj4odm0uaGVhcCkpIEpTRE9NTGVnYWN5RmFjdG9yeUZ1bmN0aW9uKHZtLCBzdHJ1Y3R1cmUpOwog
ICAgIGNvbnN0cnVjdG9yLT5maW5pc2hDcmVhdGlvbih2bSwgZ2xvYmFsT2JqZWN0KTsKICAgICBy
ZXR1cm4gY29uc3RydWN0b3I7CiB9CiAKIHRlbXBsYXRlPHR5cGVuYW1lIEpTQ2xhc3M+IGlubGlu
ZSBKU0M6OlN0cnVjdHVyZSogSlNET01MZWdhY3lGYWN0b3J5RnVuY3Rpb248SlNDbGFzcz46OmNy
ZWF0ZVN0cnVjdHVyZShKU0M6OlZNJiB2bSwgSlNDOjpKU0dsb2JhbE9iamVjdCYgZ2xvYmFsT2Jq
ZWN0LCBKU0M6OkpTVmFsdWUgcHJvdG90eXBlKQogewotICAgIHJldHVybiBKU0M6OlN0cnVjdHVy
ZTo6Y3JlYXRlKHZtLCAmZ2xvYmFsT2JqZWN0LCBwcm90b3R5cGUsIEpTQzo6VHlwZUluZm8oSlND
OjpPYmplY3RUeXBlLCBTdHJ1Y3R1cmVGbGFncyksIGluZm8oKSk7CisgICAgcmV0dXJuIEpTQzo6
U3RydWN0dXJlOjpjcmVhdGUodm0sICZnbG9iYWxPYmplY3QsIHByb3RvdHlwZSwgSlNDOjpUeXBl
SW5mbyhKU0M6OkludGVybmFsRnVuY3Rpb25UeXBlLCBTdHJ1Y3R1cmVGbGFncyksIGluZm8oKSk7
CiB9CiAKIHRlbXBsYXRlPHR5cGVuYW1lIEpTQ2xhc3M+IGlubGluZSB2b2lkIEpTRE9NTGVnYWN5
RmFjdG9yeUZ1bmN0aW9uPEpTQ2xhc3M+OjpmaW5pc2hDcmVhdGlvbihKU0M6OlZNJiB2bSwgSlNE
T01HbG9iYWxPYmplY3QmIGdsb2JhbE9iamVjdCkKQEAgLTcxLDEyICs3MCw0IEBAIHRlbXBsYXRl
PHR5cGVuYW1lIEpTQ2xhc3M+IGlubGluZSB2b2lkIEoKICAgICBpbml0aWFsaXplUHJvcGVydGll
cyh2bSwgZ2xvYmFsT2JqZWN0KTsKIH0KIAotdGVtcGxhdGU8dHlwZW5hbWUgSlNDbGFzcz4gaW5s
aW5lIEpTQzo6Q2FsbERhdGEgSlNET01MZWdhY3lGYWN0b3J5RnVuY3Rpb248SlNDbGFzcz46Omdl
dENvbnN0cnVjdERhdGEoSlNDOjpKU0NlbGwqKQotewotICAgIEpTQzo6Q2FsbERhdGEgY29uc3Ry
dWN0RGF0YTsKLSAgICBjb25zdHJ1Y3REYXRhLnR5cGUgPSBKU0M6OkNhbGxEYXRhOjpUeXBlOjpO
YXRpdmU7Ci0gICAgY29uc3RydWN0RGF0YS5uYXRpdmUuZnVuY3Rpb24gPSBjb25zdHJ1Y3Q7Ci0g
ICAgcmV0dXJuIGNvbnN0cnVjdERhdGE7Ci19Ci0KIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKSW5k
ZXg6IFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1dlYkNvcmVKU0NsaWVudERhdGEuY3BwCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1dlYkNvcmVKU0NsaWVudERh
dGEuY3BwCShyZXZpc2lvbiAyODI4NTEpCisrKyBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9X
ZWJDb3JlSlNDbGllbnREYXRhLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNzksNiArNzksNyBAQCBK
U1ZNQ2xpZW50RGF0YTo6SlNWTUNsaWVudERhdGEoVk0mIHZtKQogICAgICwgbV9oZWFwQ2VsbFR5
cGVGb3JKU0lEQlNlcmlhbGl6YXRpb25HbG9iYWxPYmplY3QoSlNDOjpJc29IZWFwQ2VsbFR5cGU6
OmNyZWF0ZTxKU0lEQlNlcmlhbGl6YXRpb25HbG9iYWxPYmplY3Q+KCkpCiAgICAgLCBtX2RvbUJ1
aWx0aW5Db25zdHJ1Y3RvclNwYWNlIElTT19TVUJTUEFDRV9JTklUKHZtLmhlYXAsIHZtLmNlbGxI
ZWFwQ2VsbFR5cGUuZ2V0KCksIEpTRE9NQnVpbHRpbkNvbnN0cnVjdG9yQmFzZSkKICAgICAsIG1f
ZG9tQ29uc3RydWN0b3JTcGFjZSBJU09fU1VCU1BBQ0VfSU5JVCh2bS5oZWFwLCB2bS5jZWxsSGVh
cENlbGxUeXBlLmdldCgpLCBKU0RPTUNvbnN0cnVjdG9yQmFzZSkKKyAgICAsIG1fZG9tTmFtZXNw
YWNlT2JqZWN0U3BhY2UgSVNPX1NVQlNQQUNFX0lOSVQodm0uaGVhcCwgdm0uY2VsbEhlYXBDZWxs
VHlwZS5nZXQoKSwgSlNET01PYmplY3QpCiAgICAgLCBtX2RvbVdpbmRvd1Byb3BlcnRpZXNTcGFj
ZSBJU09fU1VCU1BBQ0VfSU5JVCh2bS5oZWFwLCB2bS5jZWxsSGVhcENlbGxUeXBlLmdldCgpLCBK
U0RPTVdpbmRvd1Byb3BlcnRpZXMpCiAgICAgLCBtX3J1bnRpbWVBcnJheVNwYWNlIElTT19TVUJT
UEFDRV9JTklUKHZtLmhlYXAsIG1fcnVudGltZUFycmF5SGVhcENlbGxUeXBlLmdldCgpLCBSdW50
aW1lQXJyYXkpCiAgICAgLCBtX3J1bnRpbWVNZXRob2RTcGFjZSBJU09fU1VCU1BBQ0VfSU5JVCh2
bS5oZWFwLCB2bS5jZWxsSGVhcENlbGxUeXBlLmdldCgpLCBSdW50aW1lTWV0aG9kKSAvLyBIYXNo
OjB4ZjcwYzRhODUKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1dlYkNvcmVKU0Ns
aWVudERhdGEuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9XZWJD
b3JlSlNDbGllbnREYXRhLmgJKHJldmlzaW9uIDI4Mjg1MSkKKysrIFNvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL2pzL1dlYkNvcmVKU0NsaWVudERhdGEuaAkod29ya2luZyBjb3B5KQpAQCAtNjQsNiAr
NjQsNyBAQCBwdWJsaWM6CiAgICAgCiAgICAgSlNDOjpJc29TdWJzcGFjZSYgZG9tQnVpbHRpbkNv
bnN0cnVjdG9yU3BhY2UoKSB7IHJldHVybiBtX2RvbUJ1aWx0aW5Db25zdHJ1Y3RvclNwYWNlOyB9
CiAgICAgSlNDOjpJc29TdWJzcGFjZSYgZG9tQ29uc3RydWN0b3JTcGFjZSgpIHsgcmV0dXJuIG1f
ZG9tQ29uc3RydWN0b3JTcGFjZTsgfQorICAgIEpTQzo6SXNvU3Vic3BhY2UmIGRvbU5hbWVzcGFj
ZU9iamVjdFNwYWNlKCkgeyByZXR1cm4gbV9kb21OYW1lc3BhY2VPYmplY3RTcGFjZTsgfQogICAg
IEpTQzo6SXNvU3Vic3BhY2UmIGRvbVdpbmRvd1Byb3BlcnRpZXNTcGFjZSgpIHsgcmV0dXJuIG1f
ZG9tV2luZG93UHJvcGVydGllc1NwYWNlOyB9CiAgICAgSlNDOjpJc29TdWJzcGFjZSYgcnVudGlt
ZUFycmF5U3BhY2UoKSB7IHJldHVybiBtX3J1bnRpbWVBcnJheVNwYWNlOyB9CiAgICAgSlNDOjpJ
c29TdWJzcGFjZSYgcnVudGltZU1ldGhvZFNwYWNlKCkgeyByZXR1cm4gbV9ydW50aW1lTWV0aG9k
U3BhY2U7IH0KQEAgLTExMyw2ICsxMTQsNyBAQCBwdWJsaWM6CiBwcml2YXRlOgogICAgIEpTQzo6
SXNvU3Vic3BhY2UgbV9kb21CdWlsdGluQ29uc3RydWN0b3JTcGFjZTsKICAgICBKU0M6Oklzb1N1
YnNwYWNlIG1fZG9tQ29uc3RydWN0b3JTcGFjZTsKKyAgICBKU0M6Oklzb1N1YnNwYWNlIG1fZG9t
TmFtZXNwYWNlT2JqZWN0U3BhY2U7CiAgICAgSlNDOjpJc29TdWJzcGFjZSBtX2RvbVdpbmRvd1By
b3BlcnRpZXNTcGFjZTsKICAgICBKU0M6Oklzb1N1YnNwYWNlIG1fcnVudGltZUFycmF5U3BhY2U7
CiAgICAgSlNDOjpJc29TdWJzcGFjZSBtX3J1bnRpbWVNZXRob2RTcGFjZTsKSW5kZXg6IFNvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvckpTLnBtCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvckpTLnBtCShy
ZXZpc2lvbiAyODI4NTEpCisrKyBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVH
ZW5lcmF0b3JKUy5wbQkod29ya2luZyBjb3B5KQpAQCAtNzgwOSw3ICs3ODA5LDEzIEBAIHN1YiBH
ZW5lcmF0ZUNvbnN0cnVjdG9ySGVscGVyTWV0aG9kcwogICAgIH0KIAogICAgIGFzc2VydCgianNO
b250cml2aWFsU3RyaW5nKCkgcmVxdWlyZXMgc3RyaW5ncyB0d28gb3IgbW9yZSBjaGFyYWN0ZXJz
IGxvbmciKSBpZiBsZW5ndGgoJHZpc2libGVJbnRlcmZhY2VOYW1lKSA8IDI7Ci0gICAgcHVzaChA
JG91dHB1dEFycmF5LCAiICAgIHB1dERpcmVjdCh2bSwgdm0ucHJvcGVydHlOYW1lcy0+bmFtZSwg
anNOb250cml2aWFsU3RyaW5nKHZtLCBcIiR2aXNpYmxlSW50ZXJmYWNlTmFtZVwiX3MpLCBKU0M6
OlByb3BlcnR5QXR0cmlidXRlOjpSZWFkT25seSB8IEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OkRv
bnRFbnVtKTtcbiIpIGlmICEkaW50ZXJmYWNlLT5pc05hbWVzcGFjZU9iamVjdDsKKyAgICBpZiAo
ISRpbnRlcmZhY2UtPmlzTmFtZXNwYWNlT2JqZWN0KSB7CisgICAgICAgICMgRklYTUU6IEFsaWdu
IHByb3BlcnR5IG9yZGVyIG9mIERPTSBjb25zdHJ1Y3RvcnMgd2l0aCBFQ01BLTI2MiBjb3VudGVy
cGFydHMKKyAgICAgICAgIyBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MjMwNTg0CisgICAgICAgIHB1c2goQCRvdXRwdXRBcnJheSwgIiAgICBKU1N0cmluZyogbmFtZVN0
cmluZyA9IGpzTm9udHJpdmlhbFN0cmluZyh2bSwgXCIkdmlzaWJsZUludGVyZmFjZU5hbWVcIl9z
KTtcbiIpOworICAgICAgICBwdXNoKEAkb3V0cHV0QXJyYXksICIgICAgbV9vcmlnaW5hbE5hbWUu
c2V0KHZtLCB0aGlzLCBuYW1lU3RyaW5nKTtcbiIpOworICAgICAgICBwdXNoKEAkb3V0cHV0QXJy
YXksICIgICAgcHV0RGlyZWN0KHZtLCB2bS5wcm9wZXJ0eU5hbWVzLT5uYW1lLCBuYW1lU3RyaW5n
LCBKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpSZWFkT25seSB8IEpTQzo6UHJvcGVydHlBdHRyaWJ1
dGU6OkRvbnRFbnVtKTtcbiIpOworICAgIH0KIAogICAgIGlmICgkaW50ZXJmYWNlLT5leHRlbmRl
ZEF0dHJpYnV0ZXMtPntMZWdhY3lGYWN0b3J5RnVuY3Rpb25FbmFibGVkQnlTZXR0aW5nfSkgewog
ICAgICAgICBteSAkcnVudGltZUVuYWJsZUNvbmRpdGlvbmFsU3RyaW5nID0gR2VuZXJhdGVSdW50
aW1lRW5hYmxlQ29uZGl0aW9uYWxTdHJpbmcoJGludGVyZmFjZSwgJGludGVyZmFjZSwgIiZnbG9i
YWxPYmplY3QiKTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9K
Uy9KU0RPTVdpbmRvdy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
c2NyaXB0cy90ZXN0L0pTL0pTRE9NV2luZG93LmNwcAkocmV2aXNpb24gMjgyODUxKQorKysgU291
cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTRE9NV2luZG93LmNwcAkod29y
a2luZyBjb3B5KQpAQCAtMTUzLDcgKzE1Myw5IEBAIHRlbXBsYXRlPD4gSlNWYWx1ZSBKU0RPTVdp
bmRvd0RPTUNvbnN0cnUKIHRlbXBsYXRlPD4gdm9pZCBKU0RPTVdpbmRvd0RPTUNvbnN0cnVjdG9y
Ojppbml0aWFsaXplUHJvcGVydGllcyhWTSYgdm0sIEpTRE9NR2xvYmFsT2JqZWN0JiBnbG9iYWxP
YmplY3QpCiB7CiAgICAgcHV0RGlyZWN0KHZtLCB2bS5wcm9wZXJ0eU5hbWVzLT5wcm90b3R5cGUs
IGdsb2JhbE9iamVjdC5nZXRQcm90b3R5cGVEaXJlY3Qodm0pLCBKU0M6OlByb3BlcnR5QXR0cmli
dXRlOjpEb250RGVsZXRlIHwgSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6UmVhZE9ubHkgfCBKU0M6
OlByb3BlcnR5QXR0cmlidXRlOjpEb250RW51bSk7Ci0gICAgcHV0RGlyZWN0KHZtLCB2bS5wcm9w
ZXJ0eU5hbWVzLT5uYW1lLCBqc05vbnRyaXZpYWxTdHJpbmcodm0sICJET01XaW5kb3ciX3MpLCBK
U0M6OlByb3BlcnR5QXR0cmlidXRlOjpSZWFkT25seSB8IEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6
OkRvbnRFbnVtKTsKKyAgICBKU1N0cmluZyogbmFtZVN0cmluZyA9IGpzTm9udHJpdmlhbFN0cmlu
Zyh2bSwgIkRPTVdpbmRvdyJfcyk7CisgICAgbV9vcmlnaW5hbE5hbWUuc2V0KHZtLCB0aGlzLCBu
YW1lU3RyaW5nKTsKKyAgICBwdXREaXJlY3Qodm0sIHZtLnByb3BlcnR5TmFtZXMtPm5hbWUsIG5h
bWVTdHJpbmcsIEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OlJlYWRPbmx5IHwgSlNDOjpQcm9wZXJ0
eUF0dHJpYnV0ZTo6RG9udEVudW0pOwogICAgIHB1dERpcmVjdCh2bSwgdm0ucHJvcGVydHlOYW1l
cy0+bGVuZ3RoLCBqc051bWJlcigwKSwgSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6UmVhZE9ubHkg
fCBKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpEb250RW51bSk7CiB9CiAKSW5kZXg6IFNvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU0RlZGljYXRlZFdvcmtlckdsb2JhbFNj
b3BlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rl
c3QvSlMvSlNEZWRpY2F0ZWRXb3JrZXJHbG9iYWxTY29wZS5jcHAJKHJldmlzaW9uIDI4Mjg1MSkK
KysrIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU0RlZGljYXRlZFdv
cmtlckdsb2JhbFNjb3BlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNzcsNyArNzcsOSBAQCB0ZW1w
bGF0ZTw+IEpTVmFsdWUgSlNEZWRpY2F0ZWRXb3JrZXJHbG9iCiB0ZW1wbGF0ZTw+IHZvaWQgSlNE
ZWRpY2F0ZWRXb3JrZXJHbG9iYWxTY29wZURPTUNvbnN0cnVjdG9yOjppbml0aWFsaXplUHJvcGVy
dGllcyhWTSYgdm0sIEpTRE9NR2xvYmFsT2JqZWN0JiBnbG9iYWxPYmplY3QpCiB7CiAgICAgcHV0
RGlyZWN0KHZtLCB2bS5wcm9wZXJ0eU5hbWVzLT5wcm90b3R5cGUsIGdsb2JhbE9iamVjdC5nZXRQ
cm90b3R5cGVEaXJlY3Qodm0pLCBKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpEb250RGVsZXRlIHwg
SlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6UmVhZE9ubHkgfCBKU0M6OlByb3BlcnR5QXR0cmlidXRl
OjpEb250RW51bSk7Ci0gICAgcHV0RGlyZWN0KHZtLCB2bS5wcm9wZXJ0eU5hbWVzLT5uYW1lLCBq
c05vbnRyaXZpYWxTdHJpbmcodm0sICJEZWRpY2F0ZWRXb3JrZXJHbG9iYWxTY29wZSJfcyksIEpT
Qzo6UHJvcGVydHlBdHRyaWJ1dGU6OlJlYWRPbmx5IHwgSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6
RG9udEVudW0pOworICAgIEpTU3RyaW5nKiBuYW1lU3RyaW5nID0ganNOb250cml2aWFsU3RyaW5n
KHZtLCAiRGVkaWNhdGVkV29ya2VyR2xvYmFsU2NvcGUiX3MpOworICAgIG1fb3JpZ2luYWxOYW1l
LnNldCh2bSwgdGhpcywgbmFtZVN0cmluZyk7CisgICAgcHV0RGlyZWN0KHZtLCB2bS5wcm9wZXJ0
eU5hbWVzLT5uYW1lLCBuYW1lU3RyaW5nLCBKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpSZWFkT25s
eSB8IEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OkRvbnRFbnVtKTsKICAgICBwdXREaXJlY3Qodm0s
IHZtLnByb3BlcnR5TmFtZXMtPmxlbmd0aCwganNOdW1iZXIoMCksIEpTQzo6UHJvcGVydHlBdHRy
aWJ1dGU6OlJlYWRPbmx5IHwgSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9udEVudW0pOwogfQog
CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNFeHBvc2Vk
VG9Xb3JrZXJBbmRXaW5kb3cuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL3NjcmlwdHMvdGVzdC9KUy9KU0V4cG9zZWRUb1dvcmtlckFuZFdpbmRvdy5jcHAJKHJldmlz
aW9uIDI4Mjg1MSkKKysrIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9K
U0V4cG9zZWRUb1dvcmtlckFuZFdpbmRvdy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTE1OSw3ICsx
NTksOSBAQCB0ZW1wbGF0ZTw+IEpTVmFsdWUgSlNFeHBvc2VkVG9Xb3JrZXJBbmRXCiB0ZW1wbGF0
ZTw+IHZvaWQgSlNFeHBvc2VkVG9Xb3JrZXJBbmRXaW5kb3dET01Db25zdHJ1Y3Rvcjo6aW5pdGlh
bGl6ZVByb3BlcnRpZXMoVk0mIHZtLCBKU0RPTUdsb2JhbE9iamVjdCYgZ2xvYmFsT2JqZWN0KQog
ewogICAgIHB1dERpcmVjdCh2bSwgdm0ucHJvcGVydHlOYW1lcy0+cHJvdG90eXBlLCBKU0V4cG9z
ZWRUb1dvcmtlckFuZFdpbmRvdzo6cHJvdG90eXBlKHZtLCBnbG9iYWxPYmplY3QpLCBKU0M6OlBy
b3BlcnR5QXR0cmlidXRlOjpEb250RGVsZXRlIHwgSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6UmVh
ZE9ubHkgfCBKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpEb250RW51bSk7Ci0gICAgcHV0RGlyZWN0
KHZtLCB2bS5wcm9wZXJ0eU5hbWVzLT5uYW1lLCBqc05vbnRyaXZpYWxTdHJpbmcodm0sICJFeHBv
c2VkVG9Xb3JrZXJBbmRXaW5kb3ciX3MpLCBKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpSZWFkT25s
eSB8IEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OkRvbnRFbnVtKTsKKyAgICBKU1N0cmluZyogbmFt
ZVN0cmluZyA9IGpzTm9udHJpdmlhbFN0cmluZyh2bSwgIkV4cG9zZWRUb1dvcmtlckFuZFdpbmRv
dyJfcyk7CisgICAgbV9vcmlnaW5hbE5hbWUuc2V0KHZtLCB0aGlzLCBuYW1lU3RyaW5nKTsKKyAg
ICBwdXREaXJlY3Qodm0sIHZtLnByb3BlcnR5TmFtZXMtPm5hbWUsIG5hbWVTdHJpbmcsIEpTQzo6
UHJvcGVydHlBdHRyaWJ1dGU6OlJlYWRPbmx5IHwgSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9u
dEVudW0pOwogICAgIHB1dERpcmVjdCh2bSwgdm0ucHJvcGVydHlOYW1lcy0+bGVuZ3RoLCBqc051
bWJlcigwKSwgSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6UmVhZE9ubHkgfCBKU0M6OlByb3BlcnR5
QXR0cmlidXRlOjpEb250RW51bSk7CiB9CiAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L3NjcmlwdHMvdGVzdC9KUy9KU1BhaW50V29ya2xldEdsb2JhbFNjb3BlLmNwcAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNQYWludFdvcmts
ZXRHbG9iYWxTY29wZS5jcHAJKHJldmlzaW9uIDI4Mjg1MSkKKysrIFNvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1BhaW50V29ya2xldEdsb2JhbFNjb3BlLmNwcAkod29y
a2luZyBjb3B5KQpAQCAtNzcsNyArNzcsOSBAQCB0ZW1wbGF0ZTw+IEpTVmFsdWUgSlNQYWludFdv
cmtsZXRHbG9iYWxTCiB0ZW1wbGF0ZTw+IHZvaWQgSlNQYWludFdvcmtsZXRHbG9iYWxTY29wZURP
TUNvbnN0cnVjdG9yOjppbml0aWFsaXplUHJvcGVydGllcyhWTSYgdm0sIEpTRE9NR2xvYmFsT2Jq
ZWN0JiBnbG9iYWxPYmplY3QpCiB7CiAgICAgcHV0RGlyZWN0KHZtLCB2bS5wcm9wZXJ0eU5hbWVz
LT5wcm90b3R5cGUsIGdsb2JhbE9iamVjdC5nZXRQcm90b3R5cGVEaXJlY3Qodm0pLCBKU0M6OlBy
b3BlcnR5QXR0cmlidXRlOjpEb250RGVsZXRlIHwgSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6UmVh
ZE9ubHkgfCBKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpEb250RW51bSk7Ci0gICAgcHV0RGlyZWN0
KHZtLCB2bS5wcm9wZXJ0eU5hbWVzLT5uYW1lLCBqc05vbnRyaXZpYWxTdHJpbmcodm0sICJQYWlu
dFdvcmtsZXRHbG9iYWxTY29wZSJfcyksIEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OlJlYWRPbmx5
IHwgSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9udEVudW0pOworICAgIEpTU3RyaW5nKiBuYW1l
U3RyaW5nID0ganNOb250cml2aWFsU3RyaW5nKHZtLCAiUGFpbnRXb3JrbGV0R2xvYmFsU2NvcGUi
X3MpOworICAgIG1fb3JpZ2luYWxOYW1lLnNldCh2bSwgdGhpcywgbmFtZVN0cmluZyk7CisgICAg
cHV0RGlyZWN0KHZtLCB2bS5wcm9wZXJ0eU5hbWVzLT5uYW1lLCBuYW1lU3RyaW5nLCBKU0M6OlBy
b3BlcnR5QXR0cmlidXRlOjpSZWFkT25seSB8IEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OkRvbnRF
bnVtKTsKICAgICBwdXREaXJlY3Qodm0sIHZtLnByb3BlcnR5TmFtZXMtPmxlbmd0aCwganNOdW1i
ZXIoMCksIEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OlJlYWRPbmx5IHwgSlNDOjpQcm9wZXJ0eUF0
dHJpYnV0ZTo6RG9udEVudW0pOwogfQogCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9z
Y3JpcHRzL3Rlc3QvSlMvSlNTZXJ2aWNlV29ya2VyR2xvYmFsU2NvcGUuY3BwCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1NlcnZpY2VXb3Jr
ZXJHbG9iYWxTY29wZS5jcHAJKHJldmlzaW9uIDI4Mjg1MSkKKysrIFNvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1NlcnZpY2VXb3JrZXJHbG9iYWxTY29wZS5jcHAJKHdv
cmtpbmcgY29weSkKQEAgLTc3LDcgKzc3LDkgQEAgdGVtcGxhdGU8PiBKU1ZhbHVlIEpTU2Vydmlj
ZVdvcmtlckdsb2JhbAogdGVtcGxhdGU8PiB2b2lkIEpTU2VydmljZVdvcmtlckdsb2JhbFNjb3Bl
RE9NQ29uc3RydWN0b3I6OmluaXRpYWxpemVQcm9wZXJ0aWVzKFZNJiB2bSwgSlNET01HbG9iYWxP
YmplY3QmIGdsb2JhbE9iamVjdCkKIHsKICAgICBwdXREaXJlY3Qodm0sIHZtLnByb3BlcnR5TmFt
ZXMtPnByb3RvdHlwZSwgZ2xvYmFsT2JqZWN0LmdldFByb3RvdHlwZURpcmVjdCh2bSksIEpTQzo6
UHJvcGVydHlBdHRyaWJ1dGU6OkRvbnREZWxldGUgfCBKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpS
ZWFkT25seSB8IEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OkRvbnRFbnVtKTsKLSAgICBwdXREaXJl
Y3Qodm0sIHZtLnByb3BlcnR5TmFtZXMtPm5hbWUsIGpzTm9udHJpdmlhbFN0cmluZyh2bSwgIlNl
cnZpY2VXb3JrZXJHbG9iYWxTY29wZSJfcyksIEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OlJlYWRP
bmx5IHwgSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9udEVudW0pOworICAgIEpTU3RyaW5nKiBu
YW1lU3RyaW5nID0ganNOb250cml2aWFsU3RyaW5nKHZtLCAiU2VydmljZVdvcmtlckdsb2JhbFNj
b3BlIl9zKTsKKyAgICBtX29yaWdpbmFsTmFtZS5zZXQodm0sIHRoaXMsIG5hbWVTdHJpbmcpOwor
ICAgIHB1dERpcmVjdCh2bSwgdm0ucHJvcGVydHlOYW1lcy0+bmFtZSwgbmFtZVN0cmluZywgSlND
OjpQcm9wZXJ0eUF0dHJpYnV0ZTo6UmVhZE9ubHkgfCBKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpE
b250RW51bSk7CiAgICAgcHV0RGlyZWN0KHZtLCB2bS5wcm9wZXJ0eU5hbWVzLT5sZW5ndGgsIGpz
TnVtYmVyKDApLCBKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpSZWFkT25seSB8IEpTQzo6UHJvcGVy
dHlBdHRyaWJ1dGU6OkRvbnRFbnVtKTsKIH0KIApJbmRleDogU291cmNlL1dlYkNvcmUvYmluZGlu
Z3Mvc2NyaXB0cy90ZXN0L0pTL0pTU2hhcmVkV29ya2VyR2xvYmFsU2NvcGUuY3BwCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1NoYXJlZFdv
cmtlckdsb2JhbFNjb3BlLmNwcAkocmV2aXNpb24gMjgyODUxKQorKysgU291cmNlL1dlYkNvcmUv
YmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTU2hhcmVkV29ya2VyR2xvYmFsU2NvcGUuY3BwCSh3
b3JraW5nIGNvcHkpCkBAIC03Nyw3ICs3Nyw5IEBAIHRlbXBsYXRlPD4gSlNWYWx1ZSBKU1NoYXJl
ZFdvcmtlckdsb2JhbFMKIHRlbXBsYXRlPD4gdm9pZCBKU1NoYXJlZFdvcmtlckdsb2JhbFNjb3Bl
RE9NQ29uc3RydWN0b3I6OmluaXRpYWxpemVQcm9wZXJ0aWVzKFZNJiB2bSwgSlNET01HbG9iYWxP
YmplY3QmIGdsb2JhbE9iamVjdCkKIHsKICAgICBwdXREaXJlY3Qodm0sIHZtLnByb3BlcnR5TmFt
ZXMtPnByb3RvdHlwZSwgZ2xvYmFsT2JqZWN0LmdldFByb3RvdHlwZURpcmVjdCh2bSksIEpTQzo6
UHJvcGVydHlBdHRyaWJ1dGU6OkRvbnREZWxldGUgfCBKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpS
ZWFkT25seSB8IEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OkRvbnRFbnVtKTsKLSAgICBwdXREaXJl
Y3Qodm0sIHZtLnByb3BlcnR5TmFtZXMtPm5hbWUsIGpzTm9udHJpdmlhbFN0cmluZyh2bSwgIlNo
YXJlZFdvcmtlckdsb2JhbFNjb3BlIl9zKSwgSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6UmVhZE9u
bHkgfCBKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpEb250RW51bSk7CisgICAgSlNTdHJpbmcqIG5h
bWVTdHJpbmcgPSBqc05vbnRyaXZpYWxTdHJpbmcodm0sICJTaGFyZWRXb3JrZXJHbG9iYWxTY29w
ZSJfcyk7CisgICAgbV9vcmlnaW5hbE5hbWUuc2V0KHZtLCB0aGlzLCBuYW1lU3RyaW5nKTsKKyAg
ICBwdXREaXJlY3Qodm0sIHZtLnByb3BlcnR5TmFtZXMtPm5hbWUsIG5hbWVTdHJpbmcsIEpTQzo6
UHJvcGVydHlBdHRyaWJ1dGU6OlJlYWRPbmx5IHwgSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9u
dEVudW0pOwogICAgIHB1dERpcmVjdCh2bSwgdm0ucHJvcGVydHlOYW1lcy0+bGVuZ3RoLCBqc051
bWJlcigwKSwgSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6UmVhZE9ubHkgfCBKU0M6OlByb3BlcnR5
QXR0cmlidXRlOjpEb250RW51bSk7CiB9CiAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RDRVJlYWN0aW9ucy5jcHAKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdENFUmVhY3Rpb25zLmNw
cAkocmV2aXNpb24gMjgyODUxKQorKysgU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90
ZXN0L0pTL0pTVGVzdENFUmVhY3Rpb25zLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTIwLDcgKzEy
MCw5IEBAIHRlbXBsYXRlPD4gSlNWYWx1ZSBKU1Rlc3RDRVJlYWN0aW9uc0RPTUMKIHRlbXBsYXRl
PD4gdm9pZCBKU1Rlc3RDRVJlYWN0aW9uc0RPTUNvbnN0cnVjdG9yOjppbml0aWFsaXplUHJvcGVy
dGllcyhWTSYgdm0sIEpTRE9NR2xvYmFsT2JqZWN0JiBnbG9iYWxPYmplY3QpCiB7CiAgICAgcHV0
RGlyZWN0KHZtLCB2bS5wcm9wZXJ0eU5hbWVzLT5wcm90b3R5cGUsIEpTVGVzdENFUmVhY3Rpb25z
Ojpwcm90b3R5cGUodm0sIGdsb2JhbE9iamVjdCksIEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OkRv
bnREZWxldGUgfCBKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpSZWFkT25seSB8IEpTQzo6UHJvcGVy
dHlBdHRyaWJ1dGU6OkRvbnRFbnVtKTsKLSAgICBwdXREaXJlY3Qodm0sIHZtLnByb3BlcnR5TmFt
ZXMtPm5hbWUsIGpzTm9udHJpdmlhbFN0cmluZyh2bSwgIlRlc3RDRVJlYWN0aW9ucyJfcyksIEpT
Qzo6UHJvcGVydHlBdHRyaWJ1dGU6OlJlYWRPbmx5IHwgSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6
RG9udEVudW0pOworICAgIEpTU3RyaW5nKiBuYW1lU3RyaW5nID0ganNOb250cml2aWFsU3RyaW5n
KHZtLCAiVGVzdENFUmVhY3Rpb25zIl9zKTsKKyAgICBtX29yaWdpbmFsTmFtZS5zZXQodm0sIHRo
aXMsIG5hbWVTdHJpbmcpOworICAgIHB1dERpcmVjdCh2bSwgdm0ucHJvcGVydHlOYW1lcy0+bmFt
ZSwgbmFtZVN0cmluZywgSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6UmVhZE9ubHkgfCBKU0M6OlBy
b3BlcnR5QXR0cmlidXRlOjpEb250RW51bSk7CiAgICAgcHV0RGlyZWN0KHZtLCB2bS5wcm9wZXJ0
eU5hbWVzLT5sZW5ndGgsIGpzTnVtYmVyKDApLCBKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpSZWFk
T25seSB8IEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OkRvbnRFbnVtKTsKIH0KIApJbmRleDogU291
cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdENFUmVhY3Rpb25zU3Ry
aW5naWZpZXIuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Njcmlw
dHMvdGVzdC9KUy9KU1Rlc3RDRVJlYWN0aW9uc1N0cmluZ2lmaWVyLmNwcAkocmV2aXNpb24gMjgy
ODUxKQorKysgU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdENF
UmVhY3Rpb25zU3RyaW5naWZpZXIuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xMDUsNyArMTA1LDkg
QEAgdGVtcGxhdGU8PiBKU1ZhbHVlIEpTVGVzdENFUmVhY3Rpb25zU3RyaQogdGVtcGxhdGU8PiB2
b2lkIEpTVGVzdENFUmVhY3Rpb25zU3RyaW5naWZpZXJET01Db25zdHJ1Y3Rvcjo6aW5pdGlhbGl6
ZVByb3BlcnRpZXMoVk0mIHZtLCBKU0RPTUdsb2JhbE9iamVjdCYgZ2xvYmFsT2JqZWN0KQogewog
ICAgIHB1dERpcmVjdCh2bSwgdm0ucHJvcGVydHlOYW1lcy0+cHJvdG90eXBlLCBKU1Rlc3RDRVJl
YWN0aW9uc1N0cmluZ2lmaWVyOjpwcm90b3R5cGUodm0sIGdsb2JhbE9iamVjdCksIEpTQzo6UHJv
cGVydHlBdHRyaWJ1dGU6OkRvbnREZWxldGUgfCBKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpSZWFk
T25seSB8IEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OkRvbnRFbnVtKTsKLSAgICBwdXREaXJlY3Qo
dm0sIHZtLnByb3BlcnR5TmFtZXMtPm5hbWUsIGpzTm9udHJpdmlhbFN0cmluZyh2bSwgIlRlc3RD
RVJlYWN0aW9uc1N0cmluZ2lmaWVyIl9zKSwgSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6UmVhZE9u
bHkgfCBKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpEb250RW51bSk7CisgICAgSlNTdHJpbmcqIG5h
bWVTdHJpbmcgPSBqc05vbnRyaXZpYWxTdHJpbmcodm0sICJUZXN0Q0VSZWFjdGlvbnNTdHJpbmdp
ZmllciJfcyk7CisgICAgbV9vcmlnaW5hbE5hbWUuc2V0KHZtLCB0aGlzLCBuYW1lU3RyaW5nKTsK
KyAgICBwdXREaXJlY3Qodm0sIHZtLnByb3BlcnR5TmFtZXMtPm5hbWUsIG5hbWVTdHJpbmcsIEpT
Qzo6UHJvcGVydHlBdHRyaWJ1dGU6OlJlYWRPbmx5IHwgSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6
RG9udEVudW0pOwogICAgIHB1dERpcmVjdCh2bSwgdm0ucHJvcGVydHlOYW1lcy0+bGVuZ3RoLCBq
c051bWJlcigwKSwgSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6UmVhZE9ubHkgfCBKU0M6OlByb3Bl
cnR5QXR0cmlidXRlOjpEb250RW51bSk7CiB9CiAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RDYWxsVHJhY2VyLmNwcAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0Q2FsbFRyYWNlci5j
cHAJKHJldmlzaW9uIDI4Mjg1MSkKKysrIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMv
dGVzdC9KUy9KU1Rlc3RDYWxsVHJhY2VyLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTM2LDcgKzEz
Niw5IEBAIHRlbXBsYXRlPD4gSlNWYWx1ZSBKU1Rlc3RDYWxsVHJhY2VyRE9NQ28KIHRlbXBsYXRl
PD4gdm9pZCBKU1Rlc3RDYWxsVHJhY2VyRE9NQ29uc3RydWN0b3I6OmluaXRpYWxpemVQcm9wZXJ0
aWVzKFZNJiB2bSwgSlNET01HbG9iYWxPYmplY3QmIGdsb2JhbE9iamVjdCkKIHsKICAgICBwdXRE
aXJlY3Qodm0sIHZtLnByb3BlcnR5TmFtZXMtPnByb3RvdHlwZSwgSlNUZXN0Q2FsbFRyYWNlcjo6
cHJvdG90eXBlKHZtLCBnbG9iYWxPYmplY3QpLCBKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpEb250
RGVsZXRlIHwgSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6UmVhZE9ubHkgfCBKU0M6OlByb3BlcnR5
QXR0cmlidXRlOjpEb250RW51bSk7Ci0gICAgcHV0RGlyZWN0KHZtLCB2bS5wcm9wZXJ0eU5hbWVz
LT5uYW1lLCBqc05vbnRyaXZpYWxTdHJpbmcodm0sICJUZXN0Q2FsbFRyYWNlciJfcyksIEpTQzo6
UHJvcGVydHlBdHRyaWJ1dGU6OlJlYWRPbmx5IHwgSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9u
dEVudW0pOworICAgIEpTU3RyaW5nKiBuYW1lU3RyaW5nID0ganNOb250cml2aWFsU3RyaW5nKHZt
LCAiVGVzdENhbGxUcmFjZXIiX3MpOworICAgIG1fb3JpZ2luYWxOYW1lLnNldCh2bSwgdGhpcywg
bmFtZVN0cmluZyk7CisgICAgcHV0RGlyZWN0KHZtLCB2bS5wcm9wZXJ0eU5hbWVzLT5uYW1lLCBu
YW1lU3RyaW5nLCBKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpSZWFkT25seSB8IEpTQzo6UHJvcGVy
dHlBdHRyaWJ1dGU6OkRvbnRFbnVtKTsKICAgICBwdXREaXJlY3Qodm0sIHZtLnByb3BlcnR5TmFt
ZXMtPmxlbmd0aCwganNOdW1iZXIoMCksIEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OlJlYWRPbmx5
IHwgSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9udEVudW0pOwogICAgIHJlaWZ5U3RhdGljUHJv
cGVydGllcyh2bSwgSlNUZXN0Q2FsbFRyYWNlcjo6aW5mbygpLCBKU1Rlc3RDYWxsVHJhY2VyQ29u
c3RydWN0b3JUYWJsZVZhbHVlcywgKnRoaXMpOwogfQpJbmRleDogU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdENhbGxiYWNrSW50ZXJmYWNlLmNwcAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0Q2Fs
bGJhY2tJbnRlcmZhY2UuY3BwCShyZXZpc2lvbiAyODI4NTEpCisrKyBTb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0Q2FsbGJhY2tJbnRlcmZhY2UuY3BwCSh3b3Jr
aW5nIGNvcHkpCkBAIC0xNjQsNyArMTY0LDkgQEAgdGVtcGxhdGU8PiBKU1ZhbHVlIEpTVGVzdENh
bGxiYWNrSW50ZXJmYQogdGVtcGxhdGU8PiB2b2lkIEpTVGVzdENhbGxiYWNrSW50ZXJmYWNlRE9N
Q29uc3RydWN0b3I6OmluaXRpYWxpemVQcm9wZXJ0aWVzKFZNJiB2bSwgSlNET01HbG9iYWxPYmpl
Y3QmIGdsb2JhbE9iamVjdCkKIHsKICAgICBVTlVTRURfUEFSQU0oZ2xvYmFsT2JqZWN0KTsKLSAg
ICBwdXREaXJlY3Qodm0sIHZtLnByb3BlcnR5TmFtZXMtPm5hbWUsIGpzTm9udHJpdmlhbFN0cmlu
Zyh2bSwgIlRlc3RDYWxsYmFja0ludGVyZmFjZSJfcyksIEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6
OlJlYWRPbmx5IHwgSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9udEVudW0pOworICAgIEpTU3Ry
aW5nKiBuYW1lU3RyaW5nID0ganNOb250cml2aWFsU3RyaW5nKHZtLCAiVGVzdENhbGxiYWNrSW50
ZXJmYWNlIl9zKTsKKyAgICBtX29yaWdpbmFsTmFtZS5zZXQodm0sIHRoaXMsIG5hbWVTdHJpbmcp
OworICAgIHB1dERpcmVjdCh2bSwgdm0ucHJvcGVydHlOYW1lcy0+bmFtZSwgbmFtZVN0cmluZywg
SlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6UmVhZE9ubHkgfCBKU0M6OlByb3BlcnR5QXR0cmlidXRl
OjpEb250RW51bSk7CiAgICAgcHV0RGlyZWN0KHZtLCB2bS5wcm9wZXJ0eU5hbWVzLT5sZW5ndGgs
IGpzTnVtYmVyKDApLCBKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpSZWFkT25seSB8IEpTQzo6UHJv
cGVydHlBdHRyaWJ1dGU6OkRvbnRFbnVtKTsKICAgICByZWlmeVN0YXRpY1Byb3BlcnRpZXModm0s
IG51bGxwdHIsIEpTVGVzdENhbGxiYWNrSW50ZXJmYWNlQ29uc3RydWN0b3JUYWJsZVZhbHVlcywg
KnRoaXMpOwogfQpJbmRleDogU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pT
L0pTVGVzdENsYXNzV2l0aEpTQnVpbHRpbkNvbnN0cnVjdG9yLmNwcAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0Q2xhc3NXaXRoSlNC
dWlsdGluQ29uc3RydWN0b3IuY3BwCShyZXZpc2lvbiAyODI4NTEpCisrKyBTb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0Q2xhc3NXaXRoSlNCdWlsdGluQ29uc3Ry
dWN0b3IuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC05NCw3ICs5NCw5IEBAIHRlbXBsYXRlPD4gSlNW
YWx1ZSBKU1Rlc3RDbGFzc1dpdGhKU0J1aWwKIHRlbXBsYXRlPD4gdm9pZCBKU1Rlc3RDbGFzc1dp
dGhKU0J1aWx0aW5Db25zdHJ1Y3RvckRPTUNvbnN0cnVjdG9yOjppbml0aWFsaXplUHJvcGVydGll
cyhWTSYgdm0sIEpTRE9NR2xvYmFsT2JqZWN0JiBnbG9iYWxPYmplY3QpCiB7CiAgICAgcHV0RGly
ZWN0KHZtLCB2bS5wcm9wZXJ0eU5hbWVzLT5wcm90b3R5cGUsIEpTVGVzdENsYXNzV2l0aEpTQnVp
bHRpbkNvbnN0cnVjdG9yOjpwcm90b3R5cGUodm0sIGdsb2JhbE9iamVjdCksIEpTQzo6UHJvcGVy
dHlBdHRyaWJ1dGU6OkRvbnREZWxldGUgfCBKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpSZWFkT25s
eSB8IEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OkRvbnRFbnVtKTsKLSAgICBwdXREaXJlY3Qodm0s
IHZtLnByb3BlcnR5TmFtZXMtPm5hbWUsIGpzTm9udHJpdmlhbFN0cmluZyh2bSwgIlRlc3RDbGFz
c1dpdGhKU0J1aWx0aW5Db25zdHJ1Y3RvciJfcyksIEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OlJl
YWRPbmx5IHwgSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9udEVudW0pOworICAgIEpTU3RyaW5n
KiBuYW1lU3RyaW5nID0ganNOb250cml2aWFsU3RyaW5nKHZtLCAiVGVzdENsYXNzV2l0aEpTQnVp
bHRpbkNvbnN0cnVjdG9yIl9zKTsKKyAgICBtX29yaWdpbmFsTmFtZS5zZXQodm0sIHRoaXMsIG5h
bWVTdHJpbmcpOworICAgIHB1dERpcmVjdCh2bSwgdm0ucHJvcGVydHlOYW1lcy0+bmFtZSwgbmFt
ZVN0cmluZywgSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6UmVhZE9ubHkgfCBKU0M6OlByb3BlcnR5
QXR0cmlidXRlOjpEb250RW51bSk7CiAgICAgcHV0RGlyZWN0KHZtLCB2bS5wcm9wZXJ0eU5hbWVz
LT5sZW5ndGgsIGpzTnVtYmVyKDApLCBKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpSZWFkT25seSB8
IEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OkRvbnRFbnVtKTsKIH0KIApJbmRleDogU291cmNlL1dl
YkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdENvbmRpdGlvbmFsSW5jbHVkZXMu
Y3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9K
Uy9KU1Rlc3RDb25kaXRpb25hbEluY2x1ZGVzLmNwcAkocmV2aXNpb24gMjgyODUxKQorKysgU291
cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdENvbmRpdGlvbmFsSW5j
bHVkZXMuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xODgsNyArMTg4LDkgQEAgdGVtcGxhdGU8PiBK
U1ZhbHVlIEpTVGVzdENvbmRpdGlvbmFsSW5jbAogdGVtcGxhdGU8PiB2b2lkIEpTVGVzdENvbmRp
dGlvbmFsSW5jbHVkZXNET01Db25zdHJ1Y3Rvcjo6aW5pdGlhbGl6ZVByb3BlcnRpZXMoVk0mIHZt
LCBKU0RPTUdsb2JhbE9iamVjdCYgZ2xvYmFsT2JqZWN0KQogewogICAgIHB1dERpcmVjdCh2bSwg
dm0ucHJvcGVydHlOYW1lcy0+cHJvdG90eXBlLCBKU1Rlc3RDb25kaXRpb25hbEluY2x1ZGVzOjpw
cm90b3R5cGUodm0sIGdsb2JhbE9iamVjdCksIEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OkRvbnRE
ZWxldGUgfCBKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpSZWFkT25seSB8IEpTQzo6UHJvcGVydHlB
dHRyaWJ1dGU6OkRvbnRFbnVtKTsKLSAgICBwdXREaXJlY3Qodm0sIHZtLnByb3BlcnR5TmFtZXMt
Pm5hbWUsIGpzTm9udHJpdmlhbFN0cmluZyh2bSwgIlRlc3RDb25kaXRpb25hbEluY2x1ZGVzIl9z
KSwgSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6UmVhZE9ubHkgfCBKU0M6OlByb3BlcnR5QXR0cmli
dXRlOjpEb250RW51bSk7CisgICAgSlNTdHJpbmcqIG5hbWVTdHJpbmcgPSBqc05vbnRyaXZpYWxT
dHJpbmcodm0sICJUZXN0Q29uZGl0aW9uYWxJbmNsdWRlcyJfcyk7CisgICAgbV9vcmlnaW5hbE5h
bWUuc2V0KHZtLCB0aGlzLCBuYW1lU3RyaW5nKTsKKyAgICBwdXREaXJlY3Qodm0sIHZtLnByb3Bl
cnR5TmFtZXMtPm5hbWUsIG5hbWVTdHJpbmcsIEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OlJlYWRP
bmx5IHwgSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9udEVudW0pOwogICAgIHB1dERpcmVjdCh2
bSwgdm0ucHJvcGVydHlOYW1lcy0+bGVuZ3RoLCBqc051bWJlcigwKSwgSlNDOjpQcm9wZXJ0eUF0
dHJpYnV0ZTo6UmVhZE9ubHkgfCBKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpEb250RW51bSk7CiAg
ICAgcmVpZnlTdGF0aWNQcm9wZXJ0aWVzKHZtLCBKU1Rlc3RDb25kaXRpb25hbEluY2x1ZGVzOjpp
bmZvKCksIEpTVGVzdENvbmRpdGlvbmFsSW5jbHVkZXNDb25zdHJ1Y3RvclRhYmxlVmFsdWVzLCAq
dGhpcyk7CiAjaWYgRU5BQkxFKENvbmRpdGlvbjIyKSB8fCBFTkFCTEUoQ29uZGl0aW9uMjMpCklu
ZGV4OiBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0Q29uZGl0
aW9uYWxseVJlYWRXcml0ZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvYmluZGlu
Z3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdENvbmRpdGlvbmFsbHlSZWFkV3JpdGUuY3BwCShyZXZp
c2lvbiAyODI4NTEpCisrKyBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMv
SlNUZXN0Q29uZGl0aW9uYWxseVJlYWRXcml0ZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTE0OSw3
ICsxNDksOSBAQCB0ZW1wbGF0ZTw+IEpTVmFsdWUgSlNUZXN0Q29uZGl0aW9uYWxseVJlCiB0ZW1w
bGF0ZTw+IHZvaWQgSlNUZXN0Q29uZGl0aW9uYWxseVJlYWRXcml0ZURPTUNvbnN0cnVjdG9yOjpp
bml0aWFsaXplUHJvcGVydGllcyhWTSYgdm0sIEpTRE9NR2xvYmFsT2JqZWN0JiBnbG9iYWxPYmpl
Y3QpCiB7CiAgICAgcHV0RGlyZWN0KHZtLCB2bS5wcm9wZXJ0eU5hbWVzLT5wcm90b3R5cGUsIEpT
VGVzdENvbmRpdGlvbmFsbHlSZWFkV3JpdGU6OnByb3RvdHlwZSh2bSwgZ2xvYmFsT2JqZWN0KSwg
SlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9udERlbGV0ZSB8IEpTQzo6UHJvcGVydHlBdHRyaWJ1
dGU6OlJlYWRPbmx5IHwgSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9udEVudW0pOwotICAgIHB1
dERpcmVjdCh2bSwgdm0ucHJvcGVydHlOYW1lcy0+bmFtZSwganNOb250cml2aWFsU3RyaW5nKHZt
LCAiVGVzdENvbmRpdGlvbmFsbHlSZWFkV3JpdGUiX3MpLCBKU0M6OlByb3BlcnR5QXR0cmlidXRl
OjpSZWFkT25seSB8IEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OkRvbnRFbnVtKTsKKyAgICBKU1N0
cmluZyogbmFtZVN0cmluZyA9IGpzTm9udHJpdmlhbFN0cmluZyh2bSwgIlRlc3RDb25kaXRpb25h
bGx5UmVhZFdyaXRlIl9zKTsKKyAgICBtX29yaWdpbmFsTmFtZS5zZXQodm0sIHRoaXMsIG5hbWVT
dHJpbmcpOworICAgIHB1dERpcmVjdCh2bSwgdm0ucHJvcGVydHlOYW1lcy0+bmFtZSwgbmFtZVN0
cmluZywgSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6UmVhZE9ubHkgfCBKU0M6OlByb3BlcnR5QXR0
cmlidXRlOjpEb250RW51bSk7CiAgICAgcHV0RGlyZWN0KHZtLCB2bS5wcm9wZXJ0eU5hbWVzLT5s
ZW5ndGgsIGpzTnVtYmVyKDApLCBKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpSZWFkT25seSB8IEpT
Qzo6UHJvcGVydHlBdHRyaWJ1dGU6OkRvbnRFbnVtKTsKIH0KIApJbmRleDogU291cmNlL1dlYkNv
cmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdERPTUpJVC5jcHAKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdERPTUpJVC5j
cHAJKHJldmlzaW9uIDI4Mjg1MSkKKysrIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMv
dGVzdC9KUy9KU1Rlc3RET01KSVQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC01MTAsNyArNTEwLDkg
QEAgdGVtcGxhdGU8PiBKU1ZhbHVlIEpTVGVzdERPTUpJVERPTUNvbnN0cgogdGVtcGxhdGU8PiB2
b2lkIEpTVGVzdERPTUpJVERPTUNvbnN0cnVjdG9yOjppbml0aWFsaXplUHJvcGVydGllcyhWTSYg
dm0sIEpTRE9NR2xvYmFsT2JqZWN0JiBnbG9iYWxPYmplY3QpCiB7CiAgICAgcHV0RGlyZWN0KHZt
LCB2bS5wcm9wZXJ0eU5hbWVzLT5wcm90b3R5cGUsIEpTVGVzdERPTUpJVDo6cHJvdG90eXBlKHZt
LCBnbG9iYWxPYmplY3QpLCBKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpEb250RGVsZXRlIHwgSlND
OjpQcm9wZXJ0eUF0dHJpYnV0ZTo6UmVhZE9ubHkgfCBKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpE
b250RW51bSk7Ci0gICAgcHV0RGlyZWN0KHZtLCB2bS5wcm9wZXJ0eU5hbWVzLT5uYW1lLCBqc05v
bnRyaXZpYWxTdHJpbmcodm0sICJUZXN0RE9NSklUIl9zKSwgSlNDOjpQcm9wZXJ0eUF0dHJpYnV0
ZTo6UmVhZE9ubHkgfCBKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpEb250RW51bSk7CisgICAgSlNT
dHJpbmcqIG5hbWVTdHJpbmcgPSBqc05vbnRyaXZpYWxTdHJpbmcodm0sICJUZXN0RE9NSklUIl9z
KTsKKyAgICBtX29yaWdpbmFsTmFtZS5zZXQodm0sIHRoaXMsIG5hbWVTdHJpbmcpOworICAgIHB1
dERpcmVjdCh2bSwgdm0ucHJvcGVydHlOYW1lcy0+bmFtZSwgbmFtZVN0cmluZywgSlNDOjpQcm9w
ZXJ0eUF0dHJpYnV0ZTo6UmVhZE9ubHkgfCBKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpEb250RW51
bSk7CiAgICAgcHV0RGlyZWN0KHZtLCB2bS5wcm9wZXJ0eU5hbWVzLT5sZW5ndGgsIGpzTnVtYmVy
KDApLCBKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpSZWFkT25seSB8IEpTQzo6UHJvcGVydHlBdHRy
aWJ1dGU6OkRvbnRFbnVtKTsKIH0KIApJbmRleDogU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2Ny
aXB0cy90ZXN0L0pTL0pTVGVzdERlZmF1bHRUb0pTT04uY3BwCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3REZWZhdWx0VG9KU09OLmNw
cAkocmV2aXNpb24gMjgyODUxKQorKysgU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90
ZXN0L0pTL0pTVGVzdERlZmF1bHRUb0pTT04uY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xNTQsNyAr
MTU0LDkgQEAgdGVtcGxhdGU8PiBKU1ZhbHVlIEpTVGVzdERlZmF1bHRUb0pTT05ETwogdGVtcGxh
dGU8PiB2b2lkIEpTVGVzdERlZmF1bHRUb0pTT05ET01Db25zdHJ1Y3Rvcjo6aW5pdGlhbGl6ZVBy
b3BlcnRpZXMoVk0mIHZtLCBKU0RPTUdsb2JhbE9iamVjdCYgZ2xvYmFsT2JqZWN0KQogewogICAg
IHB1dERpcmVjdCh2bSwgdm0ucHJvcGVydHlOYW1lcy0+cHJvdG90eXBlLCBKU1Rlc3REZWZhdWx0
VG9KU09OOjpwcm90b3R5cGUodm0sIGdsb2JhbE9iamVjdCksIEpTQzo6UHJvcGVydHlBdHRyaWJ1
dGU6OkRvbnREZWxldGUgfCBKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpSZWFkT25seSB8IEpTQzo6
UHJvcGVydHlBdHRyaWJ1dGU6OkRvbnRFbnVtKTsKLSAgICBwdXREaXJlY3Qodm0sIHZtLnByb3Bl
cnR5TmFtZXMtPm5hbWUsIGpzTm9udHJpdmlhbFN0cmluZyh2bSwgIlRlc3REZWZhdWx0VG9KU09O
Il9zKSwgSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6UmVhZE9ubHkgfCBKU0M6OlByb3BlcnR5QXR0
cmlidXRlOjpEb250RW51bSk7CisgICAgSlNTdHJpbmcqIG5hbWVTdHJpbmcgPSBqc05vbnRyaXZp
YWxTdHJpbmcodm0sICJUZXN0RGVmYXVsdFRvSlNPTiJfcyk7CisgICAgbV9vcmlnaW5hbE5hbWUu
c2V0KHZtLCB0aGlzLCBuYW1lU3RyaW5nKTsKKyAgICBwdXREaXJlY3Qodm0sIHZtLnByb3BlcnR5
TmFtZXMtPm5hbWUsIG5hbWVTdHJpbmcsIEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OlJlYWRPbmx5
IHwgSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9udEVudW0pOwogICAgIHB1dERpcmVjdCh2bSwg
dm0ucHJvcGVydHlOYW1lcy0+bGVuZ3RoLCBqc051bWJlcigwKSwgSlNDOjpQcm9wZXJ0eUF0dHJp
YnV0ZTo6UmVhZE9ubHkgfCBKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpEb250RW51bSk7CiB9CiAK
SW5kZXg6IFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3REZWZh
dWx0VG9KU09ORmlsdGVyZWRCeUV4cG9zZWQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3REZWZhdWx0VG9KU09ORmlsdGVyZWRC
eUV4cG9zZWQuY3BwCShyZXZpc2lvbiAyODI4NTEpCisrKyBTb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0RGVmYXVsdFRvSlNPTkZpbHRlcmVkQnlFeHBvc2VkLmNw
cAkod29ya2luZyBjb3B5KQpAQCAtMTA1LDcgKzEwNSw5IEBAIHRlbXBsYXRlPD4gSlNWYWx1ZSBK
U1Rlc3REZWZhdWx0VG9KU09ORmkKIHRlbXBsYXRlPD4gdm9pZCBKU1Rlc3REZWZhdWx0VG9KU09O
RmlsdGVyZWRCeUV4cG9zZWRET01Db25zdHJ1Y3Rvcjo6aW5pdGlhbGl6ZVByb3BlcnRpZXMoVk0m
IHZtLCBKU0RPTUdsb2JhbE9iamVjdCYgZ2xvYmFsT2JqZWN0KQogewogICAgIHB1dERpcmVjdCh2
bSwgdm0ucHJvcGVydHlOYW1lcy0+cHJvdG90eXBlLCBKU1Rlc3REZWZhdWx0VG9KU09ORmlsdGVy
ZWRCeUV4cG9zZWQ6OnByb3RvdHlwZSh2bSwgZ2xvYmFsT2JqZWN0KSwgSlNDOjpQcm9wZXJ0eUF0
dHJpYnV0ZTo6RG9udERlbGV0ZSB8IEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OlJlYWRPbmx5IHwg
SlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9udEVudW0pOwotICAgIHB1dERpcmVjdCh2bSwgdm0u
cHJvcGVydHlOYW1lcy0+bmFtZSwganNOb250cml2aWFsU3RyaW5nKHZtLCAiVGVzdERlZmF1bHRU
b0pTT05GaWx0ZXJlZEJ5RXhwb3NlZCJfcyksIEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OlJlYWRP
bmx5IHwgSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9udEVudW0pOworICAgIEpTU3RyaW5nKiBu
YW1lU3RyaW5nID0ganNOb250cml2aWFsU3RyaW5nKHZtLCAiVGVzdERlZmF1bHRUb0pTT05GaWx0
ZXJlZEJ5RXhwb3NlZCJfcyk7CisgICAgbV9vcmlnaW5hbE5hbWUuc2V0KHZtLCB0aGlzLCBuYW1l
U3RyaW5nKTsKKyAgICBwdXREaXJlY3Qodm0sIHZtLnByb3BlcnR5TmFtZXMtPm5hbWUsIG5hbWVT
dHJpbmcsIEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OlJlYWRPbmx5IHwgSlNDOjpQcm9wZXJ0eUF0
dHJpYnV0ZTo6RG9udEVudW0pOwogICAgIHB1dERpcmVjdCh2bSwgdm0ucHJvcGVydHlOYW1lcy0+
bGVuZ3RoLCBqc051bWJlcigwKSwgSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6UmVhZE9ubHkgfCBK
U0M6OlByb3BlcnR5QXR0cmlidXRlOjpEb250RW51bSk7CiB9CiAKSW5kZXg6IFNvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3REZWZhdWx0VG9KU09OSW5kaXJlY3RJ
bmhlcml0YW5jZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2Ny
aXB0cy90ZXN0L0pTL0pTVGVzdERlZmF1bHRUb0pTT05JbmRpcmVjdEluaGVyaXRhbmNlLmNwcAko
cmV2aXNpb24gMjgyODUxKQorKysgU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0
L0pTL0pTVGVzdERlZmF1bHRUb0pTT05JbmRpcmVjdEluaGVyaXRhbmNlLmNwcAkod29ya2luZyBj
b3B5KQpAQCAtOTEsNyArOTEsOSBAQCB0ZW1wbGF0ZTw+IEpTVmFsdWUgSlNUZXN0RGVmYXVsdFRv
SlNPTkluCiB0ZW1wbGF0ZTw+IHZvaWQgSlNUZXN0RGVmYXVsdFRvSlNPTkluZGlyZWN0SW5oZXJp
dGFuY2VET01Db25zdHJ1Y3Rvcjo6aW5pdGlhbGl6ZVByb3BlcnRpZXMoVk0mIHZtLCBKU0RPTUds
b2JhbE9iamVjdCYgZ2xvYmFsT2JqZWN0KQogewogICAgIHB1dERpcmVjdCh2bSwgdm0ucHJvcGVy
dHlOYW1lcy0+cHJvdG90eXBlLCBKU1Rlc3REZWZhdWx0VG9KU09OSW5kaXJlY3RJbmhlcml0YW5j
ZTo6cHJvdG90eXBlKHZtLCBnbG9iYWxPYmplY3QpLCBKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpE
b250RGVsZXRlIHwgSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6UmVhZE9ubHkgfCBKU0M6OlByb3Bl
cnR5QXR0cmlidXRlOjpEb250RW51bSk7Ci0gICAgcHV0RGlyZWN0KHZtLCB2bS5wcm9wZXJ0eU5h
bWVzLT5uYW1lLCBqc05vbnRyaXZpYWxTdHJpbmcodm0sICJUZXN0RGVmYXVsdFRvSlNPTkluZGly
ZWN0SW5oZXJpdGFuY2UiX3MpLCBKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpSZWFkT25seSB8IEpT
Qzo6UHJvcGVydHlBdHRyaWJ1dGU6OkRvbnRFbnVtKTsKKyAgICBKU1N0cmluZyogbmFtZVN0cmlu
ZyA9IGpzTm9udHJpdmlhbFN0cmluZyh2bSwgIlRlc3REZWZhdWx0VG9KU09OSW5kaXJlY3RJbmhl
cml0YW5jZSJfcyk7CisgICAgbV9vcmlnaW5hbE5hbWUuc2V0KHZtLCB0aGlzLCBuYW1lU3RyaW5n
KTsKKyAgICBwdXREaXJlY3Qodm0sIHZtLnByb3BlcnR5TmFtZXMtPm5hbWUsIG5hbWVTdHJpbmcs
IEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OlJlYWRPbmx5IHwgSlNDOjpQcm9wZXJ0eUF0dHJpYnV0
ZTo6RG9udEVudW0pOwogICAgIHB1dERpcmVjdCh2bSwgdm0ucHJvcGVydHlOYW1lcy0+bGVuZ3Ro
LCBqc051bWJlcigwKSwgSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6UmVhZE9ubHkgfCBKU0M6OlBy
b3BlcnR5QXR0cmlidXRlOjpEb250RW51bSk7CiB9CiAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3REZWZhdWx0VG9KU09OSW5oZXJpdC5jcHAKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVz
dERlZmF1bHRUb0pTT05Jbmhlcml0LmNwcAkocmV2aXNpb24gMjgyODUxKQorKysgU291cmNlL1dl
YkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdERlZmF1bHRUb0pTT05Jbmhlcml0
LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTE4LDcgKzExOCw5IEBAIHRlbXBsYXRlPD4gSlNWYWx1
ZSBKU1Rlc3REZWZhdWx0VG9KU09OSW4KIHRlbXBsYXRlPD4gdm9pZCBKU1Rlc3REZWZhdWx0VG9K
U09OSW5oZXJpdERPTUNvbnN0cnVjdG9yOjppbml0aWFsaXplUHJvcGVydGllcyhWTSYgdm0sIEpT
RE9NR2xvYmFsT2JqZWN0JiBnbG9iYWxPYmplY3QpCiB7CiAgICAgcHV0RGlyZWN0KHZtLCB2bS5w
cm9wZXJ0eU5hbWVzLT5wcm90b3R5cGUsIEpTVGVzdERlZmF1bHRUb0pTT05Jbmhlcml0Ojpwcm90
b3R5cGUodm0sIGdsb2JhbE9iamVjdCksIEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OkRvbnREZWxl
dGUgfCBKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpSZWFkT25seSB8IEpTQzo6UHJvcGVydHlBdHRy
aWJ1dGU6OkRvbnRFbnVtKTsKLSAgICBwdXREaXJlY3Qodm0sIHZtLnByb3BlcnR5TmFtZXMtPm5h
bWUsIGpzTm9udHJpdmlhbFN0cmluZyh2bSwgIlRlc3REZWZhdWx0VG9KU09OSW5oZXJpdCJfcyks
IEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OlJlYWRPbmx5IHwgSlNDOjpQcm9wZXJ0eUF0dHJpYnV0
ZTo6RG9udEVudW0pOworICAgIEpTU3RyaW5nKiBuYW1lU3RyaW5nID0ganNOb250cml2aWFsU3Ry
aW5nKHZtLCAiVGVzdERlZmF1bHRUb0pTT05Jbmhlcml0Il9zKTsKKyAgICBtX29yaWdpbmFsTmFt
ZS5zZXQodm0sIHRoaXMsIG5hbWVTdHJpbmcpOworICAgIHB1dERpcmVjdCh2bSwgdm0ucHJvcGVy
dHlOYW1lcy0+bmFtZSwgbmFtZVN0cmluZywgSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6UmVhZE9u
bHkgfCBKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpEb250RW51bSk7CiAgICAgcHV0RGlyZWN0KHZt
LCB2bS5wcm9wZXJ0eU5hbWVzLT5sZW5ndGgsIGpzTnVtYmVyKDApLCBKU0M6OlByb3BlcnR5QXR0
cmlidXRlOjpSZWFkT25seSB8IEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OkRvbnRFbnVtKTsKIH0K
IApJbmRleDogU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdERl
ZmF1bHRUb0pTT05Jbmhlcml0RmluYWwuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3REZWZhdWx0VG9KU09OSW5oZXJpdEZpbmFs
LmNwcAkocmV2aXNpb24gMjgyODUxKQorKysgU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0
cy90ZXN0L0pTL0pTVGVzdERlZmF1bHRUb0pTT05Jbmhlcml0RmluYWwuY3BwCSh3b3JraW5nIGNv
cHkpCkBAIC0xMjAsNyArMTIwLDkgQEAgdGVtcGxhdGU8PiBKU1ZhbHVlIEpTVGVzdERlZmF1bHRU
b0pTT05JbgogdGVtcGxhdGU8PiB2b2lkIEpTVGVzdERlZmF1bHRUb0pTT05Jbmhlcml0RmluYWxE
T01Db25zdHJ1Y3Rvcjo6aW5pdGlhbGl6ZVByb3BlcnRpZXMoVk0mIHZtLCBKU0RPTUdsb2JhbE9i
amVjdCYgZ2xvYmFsT2JqZWN0KQogewogICAgIHB1dERpcmVjdCh2bSwgdm0ucHJvcGVydHlOYW1l
cy0+cHJvdG90eXBlLCBKU1Rlc3REZWZhdWx0VG9KU09OSW5oZXJpdEZpbmFsOjpwcm90b3R5cGUo
dm0sIGdsb2JhbE9iamVjdCksIEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OkRvbnREZWxldGUgfCBK
U0M6OlByb3BlcnR5QXR0cmlidXRlOjpSZWFkT25seSB8IEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6
OkRvbnRFbnVtKTsKLSAgICBwdXREaXJlY3Qodm0sIHZtLnByb3BlcnR5TmFtZXMtPm5hbWUsIGpz
Tm9udHJpdmlhbFN0cmluZyh2bSwgIlRlc3REZWZhdWx0VG9KU09OSW5oZXJpdEZpbmFsIl9zKSwg
SlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6UmVhZE9ubHkgfCBKU0M6OlByb3BlcnR5QXR0cmlidXRl
OjpEb250RW51bSk7CisgICAgSlNTdHJpbmcqIG5hbWVTdHJpbmcgPSBqc05vbnRyaXZpYWxTdHJp
bmcodm0sICJUZXN0RGVmYXVsdFRvSlNPTkluaGVyaXRGaW5hbCJfcyk7CisgICAgbV9vcmlnaW5h
bE5hbWUuc2V0KHZtLCB0aGlzLCBuYW1lU3RyaW5nKTsKKyAgICBwdXREaXJlY3Qodm0sIHZtLnBy
b3BlcnR5TmFtZXMtPm5hbWUsIG5hbWVTdHJpbmcsIEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OlJl
YWRPbmx5IHwgSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9udEVudW0pOwogICAgIHB1dERpcmVj
dCh2bSwgdm0ucHJvcGVydHlOYW1lcy0+bGVuZ3RoLCBqc051bWJlcigwKSwgSlNDOjpQcm9wZXJ0
eUF0dHJpYnV0ZTo6UmVhZE9ubHkgfCBKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpEb250RW51bSk7
CiB9CiAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rl
c3REZWxlZ2F0ZVRvU2hhcmVkU3ludGhldGljQXR0cmlidXRlLmNwcAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0RGVsZWdhdGVUb1No
YXJlZFN5bnRoZXRpY0F0dHJpYnV0ZS5jcHAJKHJldmlzaW9uIDI4Mjg1MSkKKysrIFNvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3REZWxlZ2F0ZVRvU2hhcmVkU3lu
dGhldGljQXR0cmlidXRlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTAwLDcgKzEwMCw5IEBAIHRl
bXBsYXRlPD4gSlNWYWx1ZSBKU1Rlc3REZWxlZ2F0ZVRvU2hhcmUKIHRlbXBsYXRlPD4gdm9pZCBK
U1Rlc3REZWxlZ2F0ZVRvU2hhcmVkU3ludGhldGljQXR0cmlidXRlRE9NQ29uc3RydWN0b3I6Omlu
aXRpYWxpemVQcm9wZXJ0aWVzKFZNJiB2bSwgSlNET01HbG9iYWxPYmplY3QmIGdsb2JhbE9iamVj
dCkKIHsKICAgICBwdXREaXJlY3Qodm0sIHZtLnByb3BlcnR5TmFtZXMtPnByb3RvdHlwZSwgSlNU
ZXN0RGVsZWdhdGVUb1NoYXJlZFN5bnRoZXRpY0F0dHJpYnV0ZTo6cHJvdG90eXBlKHZtLCBnbG9i
YWxPYmplY3QpLCBKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpEb250RGVsZXRlIHwgSlNDOjpQcm9w
ZXJ0eUF0dHJpYnV0ZTo6UmVhZE9ubHkgfCBKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpEb250RW51
bSk7Ci0gICAgcHV0RGlyZWN0KHZtLCB2bS5wcm9wZXJ0eU5hbWVzLT5uYW1lLCBqc05vbnRyaXZp
YWxTdHJpbmcodm0sICJUZXN0RGVsZWdhdGVUb1NoYXJlZFN5bnRoZXRpY0F0dHJpYnV0ZSJfcyks
IEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OlJlYWRPbmx5IHwgSlNDOjpQcm9wZXJ0eUF0dHJpYnV0
ZTo6RG9udEVudW0pOworICAgIEpTU3RyaW5nKiBuYW1lU3RyaW5nID0ganNOb250cml2aWFsU3Ry
aW5nKHZtLCAiVGVzdERlbGVnYXRlVG9TaGFyZWRTeW50aGV0aWNBdHRyaWJ1dGUiX3MpOworICAg
IG1fb3JpZ2luYWxOYW1lLnNldCh2bSwgdGhpcywgbmFtZVN0cmluZyk7CisgICAgcHV0RGlyZWN0
KHZtLCB2bS5wcm9wZXJ0eU5hbWVzLT5uYW1lLCBuYW1lU3RyaW5nLCBKU0M6OlByb3BlcnR5QXR0
cmlidXRlOjpSZWFkT25seSB8IEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OkRvbnRFbnVtKTsKICAg
ICBwdXREaXJlY3Qodm0sIHZtLnByb3BlcnR5TmFtZXMtPmxlbmd0aCwganNOdW1iZXIoMCksIEpT
Qzo6UHJvcGVydHlBdHRyaWJ1dGU6OlJlYWRPbmx5IHwgSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6
RG9udEVudW0pOwogfQogCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rl
c3QvSlMvSlNUZXN0RG9tYWluU2VjdXJpdHkuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3REb21haW5TZWN1cml0eS5jcHAJKHJl
dmlzaW9uIDI4Mjg1MSkKKysrIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9K
Uy9KU1Rlc3REb21haW5TZWN1cml0eS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTEyNCw3ICsxMjQs
OSBAQCB0ZW1wbGF0ZTw+IEpTVmFsdWUgSlNUZXN0RG9tYWluU2VjdXJpdHlECiB0ZW1wbGF0ZTw+
IHZvaWQgSlNUZXN0RG9tYWluU2VjdXJpdHlET01Db25zdHJ1Y3Rvcjo6aW5pdGlhbGl6ZVByb3Bl
cnRpZXMoVk0mIHZtLCBKU0RPTUdsb2JhbE9iamVjdCYgZ2xvYmFsT2JqZWN0KQogewogICAgIHB1
dERpcmVjdCh2bSwgdm0ucHJvcGVydHlOYW1lcy0+cHJvdG90eXBlLCBKU1Rlc3REb21haW5TZWN1
cml0eTo6cHJvdG90eXBlKHZtLCBnbG9iYWxPYmplY3QpLCBKU0M6OlByb3BlcnR5QXR0cmlidXRl
OjpEb250RGVsZXRlIHwgSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6UmVhZE9ubHkgfCBKU0M6OlBy
b3BlcnR5QXR0cmlidXRlOjpEb250RW51bSk7Ci0gICAgcHV0RGlyZWN0KHZtLCB2bS5wcm9wZXJ0
eU5hbWVzLT5uYW1lLCBqc05vbnRyaXZpYWxTdHJpbmcodm0sICJUZXN0RG9tYWluU2VjdXJpdHki
X3MpLCBKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpSZWFkT25seSB8IEpTQzo6UHJvcGVydHlBdHRy
aWJ1dGU6OkRvbnRFbnVtKTsKKyAgICBKU1N0cmluZyogbmFtZVN0cmluZyA9IGpzTm9udHJpdmlh
bFN0cmluZyh2bSwgIlRlc3REb21haW5TZWN1cml0eSJfcyk7CisgICAgbV9vcmlnaW5hbE5hbWUu
c2V0KHZtLCB0aGlzLCBuYW1lU3RyaW5nKTsKKyAgICBwdXREaXJlY3Qodm0sIHZtLnByb3BlcnR5
TmFtZXMtPm5hbWUsIG5hbWVTdHJpbmcsIEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OlJlYWRPbmx5
IHwgSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9udEVudW0pOwogICAgIHB1dERpcmVjdCh2bSwg
dm0ucHJvcGVydHlOYW1lcy0+bGVuZ3RoLCBqc051bWJlcigwKSwgSlNDOjpQcm9wZXJ0eUF0dHJp
YnV0ZTo6UmVhZE9ubHkgfCBKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpEb250RW51bSk7CiB9CiAK
SW5kZXg6IFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RFbmFi
bGVkQnlTZXR0aW5nLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9z
Y3JpcHRzL3Rlc3QvSlMvSlNUZXN0RW5hYmxlZEJ5U2V0dGluZy5jcHAJKHJldmlzaW9uIDI4Mjg1
MSkKKysrIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RFbmFi
bGVkQnlTZXR0aW5nLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTQ1LDcgKzE0NSw5IEBAIHRlbXBs
YXRlPD4gSlNWYWx1ZSBKU1Rlc3RFbmFibGVkQnlTZXR0aW4KIHRlbXBsYXRlPD4gdm9pZCBKU1Rl
c3RFbmFibGVkQnlTZXR0aW5nRE9NQ29uc3RydWN0b3I6OmluaXRpYWxpemVQcm9wZXJ0aWVzKFZN
JiB2bSwgSlNET01HbG9iYWxPYmplY3QmIGdsb2JhbE9iamVjdCkKIHsKICAgICBwdXREaXJlY3Qo
dm0sIHZtLnByb3BlcnR5TmFtZXMtPnByb3RvdHlwZSwgSlNUZXN0RW5hYmxlZEJ5U2V0dGluZzo6
cHJvdG90eXBlKHZtLCBnbG9iYWxPYmplY3QpLCBKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpEb250
RGVsZXRlIHwgSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6UmVhZE9ubHkgfCBKU0M6OlByb3BlcnR5
QXR0cmlidXRlOjpEb250RW51bSk7Ci0gICAgcHV0RGlyZWN0KHZtLCB2bS5wcm9wZXJ0eU5hbWVz
LT5uYW1lLCBqc05vbnRyaXZpYWxTdHJpbmcodm0sICJUZXN0RW5hYmxlZEJ5U2V0dGluZyJfcyks
IEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OlJlYWRPbmx5IHwgSlNDOjpQcm9wZXJ0eUF0dHJpYnV0
ZTo6RG9udEVudW0pOworICAgIEpTU3RyaW5nKiBuYW1lU3RyaW5nID0ganNOb250cml2aWFsU3Ry
aW5nKHZtLCAiVGVzdEVuYWJsZWRCeVNldHRpbmciX3MpOworICAgIG1fb3JpZ2luYWxOYW1lLnNl
dCh2bSwgdGhpcywgbmFtZVN0cmluZyk7CisgICAgcHV0RGlyZWN0KHZtLCB2bS5wcm9wZXJ0eU5h
bWVzLT5uYW1lLCBuYW1lU3RyaW5nLCBKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpSZWFkT25seSB8
IEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OkRvbnRFbnVtKTsKICAgICBwdXREaXJlY3Qodm0sIHZt
LnByb3BlcnR5TmFtZXMtPmxlbmd0aCwganNOdW1iZXIoMCksIEpTQzo6UHJvcGVydHlBdHRyaWJ1
dGU6OlJlYWRPbmx5IHwgSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9udEVudW0pOwogICAgIHJl
aWZ5U3RhdGljUHJvcGVydGllcyh2bSwgSlNUZXN0RW5hYmxlZEJ5U2V0dGluZzo6aW5mbygpLCBK
U1Rlc3RFbmFibGVkQnlTZXR0aW5nQ29uc3RydWN0b3JUYWJsZVZhbHVlcywgKnRoaXMpOwogICAg
IGlmICghanNDYXN0PEpTRE9NR2xvYmFsT2JqZWN0Kj4oJmdsb2JhbE9iamVjdCktPnNjcmlwdEV4
ZWN1dGlvbkNvbnRleHQoKS0+c2V0dGluZ3NWYWx1ZXMoKS50ZXN0U2V0dGluZ0VuYWJsZWQpIHsK
SW5kZXg6IFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RFbmFi
bGVkRm9yQ29udGV4dC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
c2NyaXB0cy90ZXN0L0pTL0pTVGVzdEVuYWJsZWRGb3JDb250ZXh0LmNwcAkocmV2aXNpb24gMjgy
ODUxKQorKysgU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdEVu
YWJsZWRGb3JDb250ZXh0LmNwcAkod29ya2luZyBjb3B5KQpAQCAtOTYsNyArOTYsOSBAQCB0ZW1w
bGF0ZTw+IEpTVmFsdWUgSlNUZXN0RW5hYmxlZEZvckNvbnRlCiB0ZW1wbGF0ZTw+IHZvaWQgSlNU
ZXN0RW5hYmxlZEZvckNvbnRleHRET01Db25zdHJ1Y3Rvcjo6aW5pdGlhbGl6ZVByb3BlcnRpZXMo
Vk0mIHZtLCBKU0RPTUdsb2JhbE9iamVjdCYgZ2xvYmFsT2JqZWN0KQogewogICAgIHB1dERpcmVj
dCh2bSwgdm0ucHJvcGVydHlOYW1lcy0+cHJvdG90eXBlLCBKU1Rlc3RFbmFibGVkRm9yQ29udGV4
dDo6cHJvdG90eXBlKHZtLCBnbG9iYWxPYmplY3QpLCBKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpE
b250RGVsZXRlIHwgSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6UmVhZE9ubHkgfCBKU0M6OlByb3Bl
cnR5QXR0cmlidXRlOjpEb250RW51bSk7Ci0gICAgcHV0RGlyZWN0KHZtLCB2bS5wcm9wZXJ0eU5h
bWVzLT5uYW1lLCBqc05vbnRyaXZpYWxTdHJpbmcodm0sICJUZXN0RW5hYmxlZEZvckNvbnRleHQi
X3MpLCBKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpSZWFkT25seSB8IEpTQzo6UHJvcGVydHlBdHRy
aWJ1dGU6OkRvbnRFbnVtKTsKKyAgICBKU1N0cmluZyogbmFtZVN0cmluZyA9IGpzTm9udHJpdmlh
bFN0cmluZyh2bSwgIlRlc3RFbmFibGVkRm9yQ29udGV4dCJfcyk7CisgICAgbV9vcmlnaW5hbE5h
bWUuc2V0KHZtLCB0aGlzLCBuYW1lU3RyaW5nKTsKKyAgICBwdXREaXJlY3Qodm0sIHZtLnByb3Bl
cnR5TmFtZXMtPm5hbWUsIG5hbWVTdHJpbmcsIEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OlJlYWRP
bmx5IHwgSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9udEVudW0pOwogICAgIHB1dERpcmVjdCh2
bSwgdm0ucHJvcGVydHlOYW1lcy0+bGVuZ3RoLCBqc051bWJlcigwKSwgSlNDOjpQcm9wZXJ0eUF0
dHJpYnV0ZTo6UmVhZE9ubHkgfCBKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpEb250RW51bSk7CiB9
CiAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RF
dmVudENvbnN0cnVjdG9yLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0RXZlbnRDb25zdHJ1Y3Rvci5jcHAJKHJldmlzaW9uIDI4
Mjg1MSkKKysrIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RF
dmVudENvbnN0cnVjdG9yLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjAxLDcgKzIwMSw5IEBAIHRl
bXBsYXRlPD4gSlNWYWx1ZSBKU1Rlc3RFdmVudENvbnN0cnVjdG8KIHRlbXBsYXRlPD4gdm9pZCBK
U1Rlc3RFdmVudENvbnN0cnVjdG9yRE9NQ29uc3RydWN0b3I6OmluaXRpYWxpemVQcm9wZXJ0aWVz
KFZNJiB2bSwgSlNET01HbG9iYWxPYmplY3QmIGdsb2JhbE9iamVjdCkKIHsKICAgICBwdXREaXJl
Y3Qodm0sIHZtLnByb3BlcnR5TmFtZXMtPnByb3RvdHlwZSwgSlNUZXN0RXZlbnRDb25zdHJ1Y3Rv
cjo6cHJvdG90eXBlKHZtLCBnbG9iYWxPYmplY3QpLCBKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpE
b250RGVsZXRlIHwgSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6UmVhZE9ubHkgfCBKU0M6OlByb3Bl
cnR5QXR0cmlidXRlOjpEb250RW51bSk7Ci0gICAgcHV0RGlyZWN0KHZtLCB2bS5wcm9wZXJ0eU5h
bWVzLT5uYW1lLCBqc05vbnRyaXZpYWxTdHJpbmcodm0sICJUZXN0RXZlbnRDb25zdHJ1Y3RvciJf
cyksIEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OlJlYWRPbmx5IHwgSlNDOjpQcm9wZXJ0eUF0dHJp
YnV0ZTo6RG9udEVudW0pOworICAgIEpTU3RyaW5nKiBuYW1lU3RyaW5nID0ganNOb250cml2aWFs
U3RyaW5nKHZtLCAiVGVzdEV2ZW50Q29uc3RydWN0b3IiX3MpOworICAgIG1fb3JpZ2luYWxOYW1l
LnNldCh2bSwgdGhpcywgbmFtZVN0cmluZyk7CisgICAgcHV0RGlyZWN0KHZtLCB2bS5wcm9wZXJ0
eU5hbWVzLT5uYW1lLCBuYW1lU3RyaW5nLCBKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpSZWFkT25s
eSB8IEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OkRvbnRFbnVtKTsKICAgICBwdXREaXJlY3Qodm0s
IHZtLnByb3BlcnR5TmFtZXMtPmxlbmd0aCwganNOdW1iZXIoMSksIEpTQzo6UHJvcGVydHlBdHRy
aWJ1dGU6OlJlYWRPbmx5IHwgSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9udEVudW0pOwogfQog
CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0RXZl
bnRUYXJnZXQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Njcmlw
dHMvdGVzdC9KUy9KU1Rlc3RFdmVudFRhcmdldC5jcHAJKHJldmlzaW9uIDI4Mjg1MSkKKysrIFNv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RFdmVudFRhcmdldC5j
cHAJKHdvcmtpbmcgY29weSkKQEAgLTEwMiw3ICsxMDIsOSBAQCB0ZW1wbGF0ZTw+IEpTVmFsdWUg
SlNUZXN0RXZlbnRUYXJnZXRET01DCiB0ZW1wbGF0ZTw+IHZvaWQgSlNUZXN0RXZlbnRUYXJnZXRE
T01Db25zdHJ1Y3Rvcjo6aW5pdGlhbGl6ZVByb3BlcnRpZXMoVk0mIHZtLCBKU0RPTUdsb2JhbE9i
amVjdCYgZ2xvYmFsT2JqZWN0KQogewogICAgIHB1dERpcmVjdCh2bSwgdm0ucHJvcGVydHlOYW1l
cy0+cHJvdG90eXBlLCBKU1Rlc3RFdmVudFRhcmdldDo6cHJvdG90eXBlKHZtLCBnbG9iYWxPYmpl
Y3QpLCBKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpEb250RGVsZXRlIHwgSlNDOjpQcm9wZXJ0eUF0
dHJpYnV0ZTo6UmVhZE9ubHkgfCBKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpEb250RW51bSk7Ci0g
ICAgcHV0RGlyZWN0KHZtLCB2bS5wcm9wZXJ0eU5hbWVzLT5uYW1lLCBqc05vbnRyaXZpYWxTdHJp
bmcodm0sICJUZXN0RXZlbnRUYXJnZXQiX3MpLCBKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpSZWFk
T25seSB8IEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OkRvbnRFbnVtKTsKKyAgICBKU1N0cmluZyog
bmFtZVN0cmluZyA9IGpzTm9udHJpdmlhbFN0cmluZyh2bSwgIlRlc3RFdmVudFRhcmdldCJfcyk7
CisgICAgbV9vcmlnaW5hbE5hbWUuc2V0KHZtLCB0aGlzLCBuYW1lU3RyaW5nKTsKKyAgICBwdXRE
aXJlY3Qodm0sIHZtLnByb3BlcnR5TmFtZXMtPm5hbWUsIG5hbWVTdHJpbmcsIEpTQzo6UHJvcGVy
dHlBdHRyaWJ1dGU6OlJlYWRPbmx5IHwgSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9udEVudW0p
OwogICAgIHB1dERpcmVjdCh2bSwgdm0ucHJvcGVydHlOYW1lcy0+bGVuZ3RoLCBqc051bWJlcigw
KSwgSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6UmVhZE9ubHkgfCBKU0M6OlByb3BlcnR5QXR0cmli
dXRlOjpEb250RW51bSk7CiB9CiAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Njcmlw
dHMvdGVzdC9KUy9KU1Rlc3RFeGNlcHRpb24uY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RFeGNlcHRpb24uY3BwCShyZXZpc2lv
biAyODI4NTEpCisrKyBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNU
ZXN0RXhjZXB0aW9uLmNwcAkod29ya2luZyBjb3B5KQpAQCAtOTYsNyArOTYsOSBAQCB0ZW1wbGF0
ZTw+IEpTVmFsdWUgSlNUZXN0RXhjZXB0aW9uRE9NQ29uCiB0ZW1wbGF0ZTw+IHZvaWQgSlNUZXN0
RXhjZXB0aW9uRE9NQ29uc3RydWN0b3I6OmluaXRpYWxpemVQcm9wZXJ0aWVzKFZNJiB2bSwgSlNE
T01HbG9iYWxPYmplY3QmIGdsb2JhbE9iamVjdCkKIHsKICAgICBwdXREaXJlY3Qodm0sIHZtLnBy
b3BlcnR5TmFtZXMtPnByb3RvdHlwZSwgSlNUZXN0RXhjZXB0aW9uOjpwcm90b3R5cGUodm0sIGds
b2JhbE9iamVjdCksIEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OkRvbnREZWxldGUgfCBKU0M6OlBy
b3BlcnR5QXR0cmlidXRlOjpSZWFkT25seSB8IEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OkRvbnRF
bnVtKTsKLSAgICBwdXREaXJlY3Qodm0sIHZtLnByb3BlcnR5TmFtZXMtPm5hbWUsIGpzTm9udHJp
dmlhbFN0cmluZyh2bSwgIlRlc3RFeGNlcHRpb24iX3MpLCBKU0M6OlByb3BlcnR5QXR0cmlidXRl
OjpSZWFkT25seSB8IEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OkRvbnRFbnVtKTsKKyAgICBKU1N0
cmluZyogbmFtZVN0cmluZyA9IGpzTm9udHJpdmlhbFN0cmluZyh2bSwgIlRlc3RFeGNlcHRpb24i
X3MpOworICAgIG1fb3JpZ2luYWxOYW1lLnNldCh2bSwgdGhpcywgbmFtZVN0cmluZyk7CisgICAg
cHV0RGlyZWN0KHZtLCB2bS5wcm9wZXJ0eU5hbWVzLT5uYW1lLCBuYW1lU3RyaW5nLCBKU0M6OlBy
b3BlcnR5QXR0cmlidXRlOjpSZWFkT25seSB8IEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OkRvbnRF
bnVtKTsKICAgICBwdXREaXJlY3Qodm0sIHZtLnByb3BlcnR5TmFtZXMtPmxlbmd0aCwganNOdW1i
ZXIoMCksIEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OlJlYWRPbmx5IHwgSlNDOjpQcm9wZXJ0eUF0
dHJpYnV0ZTo6RG9udEVudW0pOwogfQogCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9z
Y3JpcHRzL3Rlc3QvSlMvSlNUZXN0R2VuZXJhdGVBZGRPcGFxdWVSb290LmNwcAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0R2VuZXJh
dGVBZGRPcGFxdWVSb290LmNwcAkocmV2aXNpb24gMjgyODUxKQorKysgU291cmNlL1dlYkNvcmUv
YmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdEdlbmVyYXRlQWRkT3BhcXVlUm9vdC5jcHAJ
KHdvcmtpbmcgY29weSkKQEAgLTk2LDcgKzk2LDkgQEAgdGVtcGxhdGU8PiBKU1ZhbHVlIEpTVGVz
dEdlbmVyYXRlQWRkT3BhcQogdGVtcGxhdGU8PiB2b2lkIEpTVGVzdEdlbmVyYXRlQWRkT3BhcXVl
Um9vdERPTUNvbnN0cnVjdG9yOjppbml0aWFsaXplUHJvcGVydGllcyhWTSYgdm0sIEpTRE9NR2xv
YmFsT2JqZWN0JiBnbG9iYWxPYmplY3QpCiB7CiAgICAgcHV0RGlyZWN0KHZtLCB2bS5wcm9wZXJ0
eU5hbWVzLT5wcm90b3R5cGUsIEpTVGVzdEdlbmVyYXRlQWRkT3BhcXVlUm9vdDo6cHJvdG90eXBl
KHZtLCBnbG9iYWxPYmplY3QpLCBKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpEb250RGVsZXRlIHwg
SlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6UmVhZE9ubHkgfCBKU0M6OlByb3BlcnR5QXR0cmlidXRl
OjpEb250RW51bSk7Ci0gICAgcHV0RGlyZWN0KHZtLCB2bS5wcm9wZXJ0eU5hbWVzLT5uYW1lLCBq
c05vbnRyaXZpYWxTdHJpbmcodm0sICJUZXN0R2VuZXJhdGVBZGRPcGFxdWVSb290Il9zKSwgSlND
OjpQcm9wZXJ0eUF0dHJpYnV0ZTo6UmVhZE9ubHkgfCBKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpE
b250RW51bSk7CisgICAgSlNTdHJpbmcqIG5hbWVTdHJpbmcgPSBqc05vbnRyaXZpYWxTdHJpbmco
dm0sICJUZXN0R2VuZXJhdGVBZGRPcGFxdWVSb290Il9zKTsKKyAgICBtX29yaWdpbmFsTmFtZS5z
ZXQodm0sIHRoaXMsIG5hbWVTdHJpbmcpOworICAgIHB1dERpcmVjdCh2bSwgdm0ucHJvcGVydHlO
YW1lcy0+bmFtZSwgbmFtZVN0cmluZywgSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6UmVhZE9ubHkg
fCBKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpEb250RW51bSk7CiAgICAgcHV0RGlyZWN0KHZtLCB2
bS5wcm9wZXJ0eU5hbWVzLT5sZW5ndGgsIGpzTnVtYmVyKDApLCBKU0M6OlByb3BlcnR5QXR0cmli
dXRlOjpSZWFkT25seSB8IEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OkRvbnRFbnVtKTsKIH0KIApJ
bmRleDogU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdEdlbmVy
YXRlSXNSZWFjaGFibGUuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RHZW5lcmF0ZUlzUmVhY2hhYmxlLmNwcAkocmV2aXNpb24g
MjgyODUxKQorKysgU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVz
dEdlbmVyYXRlSXNSZWFjaGFibGUuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC05Niw3ICs5Niw5IEBA
IHRlbXBsYXRlPD4gSlNWYWx1ZSBKU1Rlc3RHZW5lcmF0ZUlzUmVhY2gKIHRlbXBsYXRlPD4gdm9p
ZCBKU1Rlc3RHZW5lcmF0ZUlzUmVhY2hhYmxlRE9NQ29uc3RydWN0b3I6OmluaXRpYWxpemVQcm9w
ZXJ0aWVzKFZNJiB2bSwgSlNET01HbG9iYWxPYmplY3QmIGdsb2JhbE9iamVjdCkKIHsKICAgICBw
dXREaXJlY3Qodm0sIHZtLnByb3BlcnR5TmFtZXMtPnByb3RvdHlwZSwgSlNUZXN0R2VuZXJhdGVJ
c1JlYWNoYWJsZTo6cHJvdG90eXBlKHZtLCBnbG9iYWxPYmplY3QpLCBKU0M6OlByb3BlcnR5QXR0
cmlidXRlOjpEb250RGVsZXRlIHwgSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6UmVhZE9ubHkgfCBK
U0M6OlByb3BlcnR5QXR0cmlidXRlOjpEb250RW51bSk7Ci0gICAgcHV0RGlyZWN0KHZtLCB2bS5w
cm9wZXJ0eU5hbWVzLT5uYW1lLCBqc05vbnRyaXZpYWxTdHJpbmcodm0sICJUZXN0R2VuZXJhdGVJ
c1JlYWNoYWJsZSJfcyksIEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OlJlYWRPbmx5IHwgSlNDOjpQ
cm9wZXJ0eUF0dHJpYnV0ZTo6RG9udEVudW0pOworICAgIEpTU3RyaW5nKiBuYW1lU3RyaW5nID0g
anNOb250cml2aWFsU3RyaW5nKHZtLCAiVGVzdEdlbmVyYXRlSXNSZWFjaGFibGUiX3MpOworICAg
IG1fb3JpZ2luYWxOYW1lLnNldCh2bSwgdGhpcywgbmFtZVN0cmluZyk7CisgICAgcHV0RGlyZWN0
KHZtLCB2bS5wcm9wZXJ0eU5hbWVzLT5uYW1lLCBuYW1lU3RyaW5nLCBKU0M6OlByb3BlcnR5QXR0
cmlidXRlOjpSZWFkT25seSB8IEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OkRvbnRFbnVtKTsKICAg
ICBwdXREaXJlY3Qodm0sIHZtLnByb3BlcnR5TmFtZXMtPmxlbmd0aCwganNOdW1iZXIoMCksIEpT
Qzo6UHJvcGVydHlBdHRyaWJ1dGU6OlJlYWRPbmx5IHwgSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6
RG9udEVudW0pOwogfQogCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rl
c3QvSlMvSlNUZXN0R2xvYmFsT2JqZWN0LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0R2xvYmFsT2JqZWN0LmNwcAkocmV2aXNp
b24gMjgyODUxKQorKysgU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pT
VGVzdEdsb2JhbE9iamVjdC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTYyNiw3ICs2MjYsOSBAQCB0
ZW1wbGF0ZTw+IEpTVmFsdWUgSlNUZXN0R2xvYmFsT2JqZWN0RE9NCiB0ZW1wbGF0ZTw+IHZvaWQg
SlNUZXN0R2xvYmFsT2JqZWN0RE9NQ29uc3RydWN0b3I6OmluaXRpYWxpemVQcm9wZXJ0aWVzKFZN
JiB2bSwgSlNET01HbG9iYWxPYmplY3QmIGdsb2JhbE9iamVjdCkKIHsKICAgICBwdXREaXJlY3Qo
dm0sIHZtLnByb3BlcnR5TmFtZXMtPnByb3RvdHlwZSwgZ2xvYmFsT2JqZWN0LmdldFByb3RvdHlw
ZURpcmVjdCh2bSksIEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OkRvbnREZWxldGUgfCBKU0M6OlBy
b3BlcnR5QXR0cmlidXRlOjpSZWFkT25seSB8IEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OkRvbnRF
bnVtKTsKLSAgICBwdXREaXJlY3Qodm0sIHZtLnByb3BlcnR5TmFtZXMtPm5hbWUsIGpzTm9udHJp
dmlhbFN0cmluZyh2bSwgIlRlc3RHbG9iYWxPYmplY3QiX3MpLCBKU0M6OlByb3BlcnR5QXR0cmli
dXRlOjpSZWFkT25seSB8IEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OkRvbnRFbnVtKTsKKyAgICBK
U1N0cmluZyogbmFtZVN0cmluZyA9IGpzTm9udHJpdmlhbFN0cmluZyh2bSwgIlRlc3RHbG9iYWxP
YmplY3QiX3MpOworICAgIG1fb3JpZ2luYWxOYW1lLnNldCh2bSwgdGhpcywgbmFtZVN0cmluZyk7
CisgICAgcHV0RGlyZWN0KHZtLCB2bS5wcm9wZXJ0eU5hbWVzLT5uYW1lLCBuYW1lU3RyaW5nLCBK
U0M6OlByb3BlcnR5QXR0cmlidXRlOjpSZWFkT25seSB8IEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6
OkRvbnRFbnVtKTsKICAgICBwdXREaXJlY3Qodm0sIHZtLnByb3BlcnR5TmFtZXMtPmxlbmd0aCwg
anNOdW1iZXIoMCksIEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OlJlYWRPbmx5IHwgSlNDOjpQcm9w
ZXJ0eUF0dHJpYnV0ZTo6RG9udEVudW0pOwogICAgIHJlaWZ5U3RhdGljUHJvcGVydGllcyh2bSwg
SlNUZXN0R2xvYmFsT2JqZWN0OjppbmZvKCksIEpTVGVzdEdsb2JhbE9iamVjdENvbnN0cnVjdG9y
VGFibGVWYWx1ZXMsICp0aGlzKTsKIH0KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Nj
cmlwdHMvdGVzdC9KUy9KU1Rlc3RJbmRleGVkU2V0dGVyTm9JZGVudGlmaWVyLmNwcAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0SW5k
ZXhlZFNldHRlck5vSWRlbnRpZmllci5jcHAJKHJldmlzaW9uIDI4Mjg1MSkKKysrIFNvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RJbmRleGVkU2V0dGVyTm9JZGVu
dGlmaWVyLmNwcAkod29ya2luZyBjb3B5KQpAQCAtOTUsNyArOTUsOSBAQCB0ZW1wbGF0ZTw+IEpT
VmFsdWUgSlNUZXN0SW5kZXhlZFNldHRlck5vCiB0ZW1wbGF0ZTw+IHZvaWQgSlNUZXN0SW5kZXhl
ZFNldHRlck5vSWRlbnRpZmllckRPTUNvbnN0cnVjdG9yOjppbml0aWFsaXplUHJvcGVydGllcyhW
TSYgdm0sIEpTRE9NR2xvYmFsT2JqZWN0JiBnbG9iYWxPYmplY3QpCiB7CiAgICAgcHV0RGlyZWN0
KHZtLCB2bS5wcm9wZXJ0eU5hbWVzLT5wcm90b3R5cGUsIEpTVGVzdEluZGV4ZWRTZXR0ZXJOb0lk
ZW50aWZpZXI6OnByb3RvdHlwZSh2bSwgZ2xvYmFsT2JqZWN0KSwgSlNDOjpQcm9wZXJ0eUF0dHJp
YnV0ZTo6RG9udERlbGV0ZSB8IEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OlJlYWRPbmx5IHwgSlND
OjpQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9udEVudW0pOwotICAgIHB1dERpcmVjdCh2bSwgdm0ucHJv
cGVydHlOYW1lcy0+bmFtZSwganNOb250cml2aWFsU3RyaW5nKHZtLCAiVGVzdEluZGV4ZWRTZXR0
ZXJOb0lkZW50aWZpZXIiX3MpLCBKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpSZWFkT25seSB8IEpT
Qzo6UHJvcGVydHlBdHRyaWJ1dGU6OkRvbnRFbnVtKTsKKyAgICBKU1N0cmluZyogbmFtZVN0cmlu
ZyA9IGpzTm9udHJpdmlhbFN0cmluZyh2bSwgIlRlc3RJbmRleGVkU2V0dGVyTm9JZGVudGlmaWVy
Il9zKTsKKyAgICBtX29yaWdpbmFsTmFtZS5zZXQodm0sIHRoaXMsIG5hbWVTdHJpbmcpOworICAg
IHB1dERpcmVjdCh2bSwgdm0ucHJvcGVydHlOYW1lcy0+bmFtZSwgbmFtZVN0cmluZywgSlNDOjpQ
cm9wZXJ0eUF0dHJpYnV0ZTo6UmVhZE9ubHkgfCBKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpEb250
RW51bSk7CiAgICAgcHV0RGlyZWN0KHZtLCB2bS5wcm9wZXJ0eU5hbWVzLT5sZW5ndGgsIGpzTnVt
YmVyKDApLCBKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpSZWFkT25seSB8IEpTQzo6UHJvcGVydHlB
dHRyaWJ1dGU6OkRvbnRFbnVtKTsKIH0KIApJbmRleDogU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
c2NyaXB0cy90ZXN0L0pTL0pTVGVzdEluZGV4ZWRTZXR0ZXJUaHJvd2luZ0V4Y2VwdGlvbi5jcHAK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pT
VGVzdEluZGV4ZWRTZXR0ZXJUaHJvd2luZ0V4Y2VwdGlvbi5jcHAJKHJldmlzaW9uIDI4Mjg1MSkK
KysrIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RJbmRleGVk
U2V0dGVyVGhyb3dpbmdFeGNlcHRpb24uY3BwCSh3b3JraW5nIGNvcHkpCkBAIC05NSw3ICs5NSw5
IEBAIHRlbXBsYXRlPD4gSlNWYWx1ZSBKU1Rlc3RJbmRleGVkU2V0dGVyVGgKIHRlbXBsYXRlPD4g
dm9pZCBKU1Rlc3RJbmRleGVkU2V0dGVyVGhyb3dpbmdFeGNlcHRpb25ET01Db25zdHJ1Y3Rvcjo6
aW5pdGlhbGl6ZVByb3BlcnRpZXMoVk0mIHZtLCBKU0RPTUdsb2JhbE9iamVjdCYgZ2xvYmFsT2Jq
ZWN0KQogewogICAgIHB1dERpcmVjdCh2bSwgdm0ucHJvcGVydHlOYW1lcy0+cHJvdG90eXBlLCBK
U1Rlc3RJbmRleGVkU2V0dGVyVGhyb3dpbmdFeGNlcHRpb246OnByb3RvdHlwZSh2bSwgZ2xvYmFs
T2JqZWN0KSwgSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9udERlbGV0ZSB8IEpTQzo6UHJvcGVy
dHlBdHRyaWJ1dGU6OlJlYWRPbmx5IHwgSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9udEVudW0p
OwotICAgIHB1dERpcmVjdCh2bSwgdm0ucHJvcGVydHlOYW1lcy0+bmFtZSwganNOb250cml2aWFs
U3RyaW5nKHZtLCAiVGVzdEluZGV4ZWRTZXR0ZXJUaHJvd2luZ0V4Y2VwdGlvbiJfcyksIEpTQzo6
UHJvcGVydHlBdHRyaWJ1dGU6OlJlYWRPbmx5IHwgSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9u
dEVudW0pOworICAgIEpTU3RyaW5nKiBuYW1lU3RyaW5nID0ganNOb250cml2aWFsU3RyaW5nKHZt
LCAiVGVzdEluZGV4ZWRTZXR0ZXJUaHJvd2luZ0V4Y2VwdGlvbiJfcyk7CisgICAgbV9vcmlnaW5h
bE5hbWUuc2V0KHZtLCB0aGlzLCBuYW1lU3RyaW5nKTsKKyAgICBwdXREaXJlY3Qodm0sIHZtLnBy
b3BlcnR5TmFtZXMtPm5hbWUsIG5hbWVTdHJpbmcsIEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OlJl
YWRPbmx5IHwgSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9udEVudW0pOwogICAgIHB1dERpcmVj
dCh2bSwgdm0ucHJvcGVydHlOYW1lcy0+bGVuZ3RoLCBqc051bWJlcigwKSwgSlNDOjpQcm9wZXJ0
eUF0dHJpYnV0ZTo6UmVhZE9ubHkgfCBKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpEb250RW51bSk7
CiB9CiAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rl
c3RJbmRleGVkU2V0dGVyV2l0aElkZW50aWZpZXIuY3BwCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RJbmRleGVkU2V0dGVyV2l0aElk
ZW50aWZpZXIuY3BwCShyZXZpc2lvbiAyODI4NTEpCisrKyBTb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0SW5kZXhlZFNldHRlcldpdGhJZGVudGlmaWVyLmNwcAko
d29ya2luZyBjb3B5KQpAQCAtMTAzLDcgKzEwMyw5IEBAIHRlbXBsYXRlPD4gSlNWYWx1ZSBKU1Rl
c3RJbmRleGVkU2V0dGVyV2kKIHRlbXBsYXRlPD4gdm9pZCBKU1Rlc3RJbmRleGVkU2V0dGVyV2l0
aElkZW50aWZpZXJET01Db25zdHJ1Y3Rvcjo6aW5pdGlhbGl6ZVByb3BlcnRpZXMoVk0mIHZtLCBK
U0RPTUdsb2JhbE9iamVjdCYgZ2xvYmFsT2JqZWN0KQogewogICAgIHB1dERpcmVjdCh2bSwgdm0u
cHJvcGVydHlOYW1lcy0+cHJvdG90eXBlLCBKU1Rlc3RJbmRleGVkU2V0dGVyV2l0aElkZW50aWZp
ZXI6OnByb3RvdHlwZSh2bSwgZ2xvYmFsT2JqZWN0KSwgSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6
RG9udERlbGV0ZSB8IEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OlJlYWRPbmx5IHwgSlNDOjpQcm9w
ZXJ0eUF0dHJpYnV0ZTo6RG9udEVudW0pOwotICAgIHB1dERpcmVjdCh2bSwgdm0ucHJvcGVydHlO
YW1lcy0+bmFtZSwganNOb250cml2aWFsU3RyaW5nKHZtLCAiVGVzdEluZGV4ZWRTZXR0ZXJXaXRo
SWRlbnRpZmllciJfcyksIEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OlJlYWRPbmx5IHwgSlNDOjpQ
cm9wZXJ0eUF0dHJpYnV0ZTo6RG9udEVudW0pOworICAgIEpTU3RyaW5nKiBuYW1lU3RyaW5nID0g
anNOb250cml2aWFsU3RyaW5nKHZtLCAiVGVzdEluZGV4ZWRTZXR0ZXJXaXRoSWRlbnRpZmllciJf
cyk7CisgICAgbV9vcmlnaW5hbE5hbWUuc2V0KHZtLCB0aGlzLCBuYW1lU3RyaW5nKTsKKyAgICBw
dXREaXJlY3Qodm0sIHZtLnByb3BlcnR5TmFtZXMtPm5hbWUsIG5hbWVTdHJpbmcsIEpTQzo6UHJv
cGVydHlBdHRyaWJ1dGU6OlJlYWRPbmx5IHwgSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9udEVu
dW0pOwogICAgIHB1dERpcmVjdCh2bSwgdm0ucHJvcGVydHlOYW1lcy0+bGVuZ3RoLCBqc051bWJl
cigwKSwgSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6UmVhZE9ubHkgfCBKU0M6OlByb3BlcnR5QXR0
cmlidXRlOjpEb250RW51bSk7CiB9CiAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Nj
cmlwdHMvdGVzdC9KUy9KU1Rlc3RJbnRlcmZhY2UuY3BwCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RJbnRlcmZhY2UuY3BwCShyZXZp
c2lvbiAyODI4NTEpCisrKyBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMv
SlNUZXN0SW50ZXJmYWNlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzAwLDcgKzMwMCw5IEBAIHRl
bXBsYXRlPD4gSlNWYWx1ZSBKU1Rlc3RJbnRlcmZhY2VET01Db24KIHRlbXBsYXRlPD4gdm9pZCBK
U1Rlc3RJbnRlcmZhY2VET01Db25zdHJ1Y3Rvcjo6aW5pdGlhbGl6ZVByb3BlcnRpZXMoVk0mIHZt
LCBKU0RPTUdsb2JhbE9iamVjdCYgZ2xvYmFsT2JqZWN0KQogewogICAgIHB1dERpcmVjdCh2bSwg
dm0ucHJvcGVydHlOYW1lcy0+cHJvdG90eXBlLCBKU1Rlc3RJbnRlcmZhY2U6OnByb3RvdHlwZSh2
bSwgZ2xvYmFsT2JqZWN0KSwgSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9udERlbGV0ZSB8IEpT
Qzo6UHJvcGVydHlBdHRyaWJ1dGU6OlJlYWRPbmx5IHwgSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6
RG9udEVudW0pOwotICAgIHB1dERpcmVjdCh2bSwgdm0ucHJvcGVydHlOYW1lcy0+bmFtZSwganNO
b250cml2aWFsU3RyaW5nKHZtLCAiVGVzdEludGVyZmFjZSJfcyksIEpTQzo6UHJvcGVydHlBdHRy
aWJ1dGU6OlJlYWRPbmx5IHwgSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9udEVudW0pOworICAg
IEpTU3RyaW5nKiBuYW1lU3RyaW5nID0ganNOb250cml2aWFsU3RyaW5nKHZtLCAiVGVzdEludGVy
ZmFjZSJfcyk7CisgICAgbV9vcmlnaW5hbE5hbWUuc2V0KHZtLCB0aGlzLCBuYW1lU3RyaW5nKTsK
KyAgICBwdXREaXJlY3Qodm0sIHZtLnByb3BlcnR5TmFtZXMtPm5hbWUsIG5hbWVTdHJpbmcsIEpT
Qzo6UHJvcGVydHlBdHRyaWJ1dGU6OlJlYWRPbmx5IHwgSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6
RG9udEVudW0pOwogICAgIHB1dERpcmVjdCh2bSwgdm0ucHJvcGVydHlOYW1lcy0+bGVuZ3RoLCBq
c051bWJlcigxKSwgSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6UmVhZE9ubHkgfCBKU0M6OlByb3Bl
cnR5QXR0cmlidXRlOjpEb250RW51bSk7CiAgICAgcmVpZnlTdGF0aWNQcm9wZXJ0aWVzKHZtLCBK
U1Rlc3RJbnRlcmZhY2U6OmluZm8oKSwgSlNUZXN0SW50ZXJmYWNlQ29uc3RydWN0b3JUYWJsZVZh
bHVlcywgKnRoaXMpOwogfQpJbmRleDogU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90
ZXN0L0pTL0pTVGVzdEludGVyZmFjZUxlYWRpbmdVbmRlcnNjb3JlLmNwcAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0SW50ZXJmYWNl
TGVhZGluZ1VuZGVyc2NvcmUuY3BwCShyZXZpc2lvbiAyODI4NTEpCisrKyBTb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0SW50ZXJmYWNlTGVhZGluZ1VuZGVyc2Nv
cmUuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC05Niw3ICs5Niw5IEBAIHRlbXBsYXRlPD4gSlNWYWx1
ZSBKU1Rlc3RJbnRlcmZhY2VMZWFkaW4KIHRlbXBsYXRlPD4gdm9pZCBKU1Rlc3RJbnRlcmZhY2VM
ZWFkaW5nVW5kZXJzY29yZURPTUNvbnN0cnVjdG9yOjppbml0aWFsaXplUHJvcGVydGllcyhWTSYg
dm0sIEpTRE9NR2xvYmFsT2JqZWN0JiBnbG9iYWxPYmplY3QpCiB7CiAgICAgcHV0RGlyZWN0KHZt
LCB2bS5wcm9wZXJ0eU5hbWVzLT5wcm90b3R5cGUsIEpTVGVzdEludGVyZmFjZUxlYWRpbmdVbmRl
cnNjb3JlOjpwcm90b3R5cGUodm0sIGdsb2JhbE9iamVjdCksIEpTQzo6UHJvcGVydHlBdHRyaWJ1
dGU6OkRvbnREZWxldGUgfCBKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpSZWFkT25seSB8IEpTQzo6
UHJvcGVydHlBdHRyaWJ1dGU6OkRvbnRFbnVtKTsKLSAgICBwdXREaXJlY3Qodm0sIHZtLnByb3Bl
cnR5TmFtZXMtPm5hbWUsIGpzTm9udHJpdmlhbFN0cmluZyh2bSwgIlRlc3RJbnRlcmZhY2VMZWFk
aW5nVW5kZXJzY29yZSJfcyksIEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OlJlYWRPbmx5IHwgSlND
OjpQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9udEVudW0pOworICAgIEpTU3RyaW5nKiBuYW1lU3RyaW5n
ID0ganNOb250cml2aWFsU3RyaW5nKHZtLCAiVGVzdEludGVyZmFjZUxlYWRpbmdVbmRlcnNjb3Jl
Il9zKTsKKyAgICBtX29yaWdpbmFsTmFtZS5zZXQodm0sIHRoaXMsIG5hbWVTdHJpbmcpOworICAg
IHB1dERpcmVjdCh2bSwgdm0ucHJvcGVydHlOYW1lcy0+bmFtZSwgbmFtZVN0cmluZywgSlNDOjpQ
cm9wZXJ0eUF0dHJpYnV0ZTo6UmVhZE9ubHkgfCBKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpEb250
RW51bSk7CiAgICAgcHV0RGlyZWN0KHZtLCB2bS5wcm9wZXJ0eU5hbWVzLT5sZW5ndGgsIGpzTnVt
YmVyKDApLCBKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpSZWFkT25seSB8IEpTQzo6UHJvcGVydHlB
dHRyaWJ1dGU6OkRvbnRFbnVtKTsKIH0KIApJbmRleDogU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
c2NyaXB0cy90ZXN0L0pTL0pTVGVzdEl0ZXJhYmxlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0SXRlcmFibGUuY3BwCShyZXZp
c2lvbiAyODI4NTEpCisrKyBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMv
SlNUZXN0SXRlcmFibGUuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xMDUsNyArMTA1LDkgQEAgdGVt
cGxhdGU8PiBKU1ZhbHVlIEpTVGVzdEl0ZXJhYmxlRE9NQ29ucwogdGVtcGxhdGU8PiB2b2lkIEpT
VGVzdEl0ZXJhYmxlRE9NQ29uc3RydWN0b3I6OmluaXRpYWxpemVQcm9wZXJ0aWVzKFZNJiB2bSwg
SlNET01HbG9iYWxPYmplY3QmIGdsb2JhbE9iamVjdCkKIHsKICAgICBwdXREaXJlY3Qodm0sIHZt
LnByb3BlcnR5TmFtZXMtPnByb3RvdHlwZSwgSlNUZXN0SXRlcmFibGU6OnByb3RvdHlwZSh2bSwg
Z2xvYmFsT2JqZWN0KSwgSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9udERlbGV0ZSB8IEpTQzo6
UHJvcGVydHlBdHRyaWJ1dGU6OlJlYWRPbmx5IHwgSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9u
dEVudW0pOwotICAgIHB1dERpcmVjdCh2bSwgdm0ucHJvcGVydHlOYW1lcy0+bmFtZSwganNOb250
cml2aWFsU3RyaW5nKHZtLCAiVGVzdEl0ZXJhYmxlIl9zKSwgSlNDOjpQcm9wZXJ0eUF0dHJpYnV0
ZTo6UmVhZE9ubHkgfCBKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpEb250RW51bSk7CisgICAgSlNT
dHJpbmcqIG5hbWVTdHJpbmcgPSBqc05vbnRyaXZpYWxTdHJpbmcodm0sICJUZXN0SXRlcmFibGUi
X3MpOworICAgIG1fb3JpZ2luYWxOYW1lLnNldCh2bSwgdGhpcywgbmFtZVN0cmluZyk7CisgICAg
cHV0RGlyZWN0KHZtLCB2bS5wcm9wZXJ0eU5hbWVzLT5uYW1lLCBuYW1lU3RyaW5nLCBKU0M6OlBy
b3BlcnR5QXR0cmlidXRlOjpSZWFkT25seSB8IEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OkRvbnRF
bnVtKTsKICAgICBwdXREaXJlY3Qodm0sIHZtLnByb3BlcnR5TmFtZXMtPmxlbmd0aCwganNOdW1i
ZXIoMCksIEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OlJlYWRPbmx5IHwgSlNDOjpQcm9wZXJ0eUF0
dHJpYnV0ZTo6RG9udEVudW0pOwogfQogCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9z
Y3JpcHRzL3Rlc3QvSlMvSlNUZXN0SlNCdWlsdGluQ29uc3RydWN0b3IuY3BwCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RKU0J1aWx0
aW5Db25zdHJ1Y3Rvci5jcHAJKHJldmlzaW9uIDI4Mjg1MSkKKysrIFNvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RKU0J1aWx0aW5Db25zdHJ1Y3Rvci5jcHAJKHdv
cmtpbmcgY29weSkKQEAgLTk5LDcgKzk5LDkgQEAgdGVtcGxhdGU8PiBKU1ZhbHVlIEpTVGVzdEpT
QnVpbHRpbkNvbnN0cgogdGVtcGxhdGU8PiB2b2lkIEpTVGVzdEpTQnVpbHRpbkNvbnN0cnVjdG9y
RE9NQ29uc3RydWN0b3I6OmluaXRpYWxpemVQcm9wZXJ0aWVzKFZNJiB2bSwgSlNET01HbG9iYWxP
YmplY3QmIGdsb2JhbE9iamVjdCkKIHsKICAgICBwdXREaXJlY3Qodm0sIHZtLnByb3BlcnR5TmFt
ZXMtPnByb3RvdHlwZSwgSlNUZXN0SlNCdWlsdGluQ29uc3RydWN0b3I6OnByb3RvdHlwZSh2bSwg
Z2xvYmFsT2JqZWN0KSwgSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9udERlbGV0ZSB8IEpTQzo6
UHJvcGVydHlBdHRyaWJ1dGU6OlJlYWRPbmx5IHwgSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9u
dEVudW0pOwotICAgIHB1dERpcmVjdCh2bSwgdm0ucHJvcGVydHlOYW1lcy0+bmFtZSwganNOb250
cml2aWFsU3RyaW5nKHZtLCAiVGVzdEpTQnVpbHRpbkNvbnN0cnVjdG9yIl9zKSwgSlNDOjpQcm9w
ZXJ0eUF0dHJpYnV0ZTo6UmVhZE9ubHkgfCBKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpEb250RW51
bSk7CisgICAgSlNTdHJpbmcqIG5hbWVTdHJpbmcgPSBqc05vbnRyaXZpYWxTdHJpbmcodm0sICJU
ZXN0SlNCdWlsdGluQ29uc3RydWN0b3IiX3MpOworICAgIG1fb3JpZ2luYWxOYW1lLnNldCh2bSwg
dGhpcywgbmFtZVN0cmluZyk7CisgICAgcHV0RGlyZWN0KHZtLCB2bS5wcm9wZXJ0eU5hbWVzLT5u
YW1lLCBuYW1lU3RyaW5nLCBKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpSZWFkT25seSB8IEpTQzo6
UHJvcGVydHlBdHRyaWJ1dGU6OkRvbnRFbnVtKTsKICAgICBwdXREaXJlY3Qodm0sIHZtLnByb3Bl
cnR5TmFtZXMtPmxlbmd0aCwganNOdW1iZXIoMCksIEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OlJl
YWRPbmx5IHwgSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9udEVudW0pOwogfQogCkluZGV4OiBT
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0TGVnYWN5RmFjdG9y
eUZ1bmN0aW9uLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3Jp
cHRzL3Rlc3QvSlMvSlNUZXN0TGVnYWN5RmFjdG9yeUZ1bmN0aW9uLmNwcAkocmV2aXNpb24gMjgy
ODUxKQorKysgU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdExl
Z2FjeUZhY3RvcnlGdW5jdGlvbi5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTk4LDcgKzk4LDkgQEAg
dGVtcGxhdGU8PiBKU1ZhbHVlIEpTVGVzdExlZ2FjeUZhY3RvcnlGdQogdGVtcGxhdGU8PiB2b2lk
IEpTVGVzdExlZ2FjeUZhY3RvcnlGdW5jdGlvbkRPTUNvbnN0cnVjdG9yOjppbml0aWFsaXplUHJv
cGVydGllcyhWTSYgdm0sIEpTRE9NR2xvYmFsT2JqZWN0JiBnbG9iYWxPYmplY3QpCiB7CiAgICAg
cHV0RGlyZWN0KHZtLCB2bS5wcm9wZXJ0eU5hbWVzLT5wcm90b3R5cGUsIEpTVGVzdExlZ2FjeUZh
Y3RvcnlGdW5jdGlvbjo6cHJvdG90eXBlKHZtLCBnbG9iYWxPYmplY3QpLCBKU0M6OlByb3BlcnR5
QXR0cmlidXRlOjpEb250RGVsZXRlIHwgSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6UmVhZE9ubHkg
fCBKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpEb250RW51bSk7Ci0gICAgcHV0RGlyZWN0KHZtLCB2
bS5wcm9wZXJ0eU5hbWVzLT5uYW1lLCBqc05vbnRyaXZpYWxTdHJpbmcodm0sICJUZXN0TGVnYWN5
RmFjdG9yeUZ1bmN0aW9uIl9zKSwgSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6UmVhZE9ubHkgfCBK
U0M6OlByb3BlcnR5QXR0cmlidXRlOjpEb250RW51bSk7CisgICAgSlNTdHJpbmcqIG5hbWVTdHJp
bmcgPSBqc05vbnRyaXZpYWxTdHJpbmcodm0sICJUZXN0TGVnYWN5RmFjdG9yeUZ1bmN0aW9uIl9z
KTsKKyAgICBtX29yaWdpbmFsTmFtZS5zZXQodm0sIHRoaXMsIG5hbWVTdHJpbmcpOworICAgIHB1
dERpcmVjdCh2bSwgdm0ucHJvcGVydHlOYW1lcy0+bmFtZSwgbmFtZVN0cmluZywgSlNDOjpQcm9w
ZXJ0eUF0dHJpYnV0ZTo6UmVhZE9ubHkgfCBKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpEb250RW51
bSk7CiAgICAgcHV0RGlyZWN0KHZtLCB2bS5wcm9wZXJ0eU5hbWVzLT5sZW5ndGgsIGpzTnVtYmVy
KDEpLCBKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpSZWFkT25seSB8IEpTQzo6UHJvcGVydHlBdHRy
aWJ1dGU6OkRvbnRFbnVtKTsKIH0KIApAQCAtMTQ2LDcgKzE0OCw5IEBAIHRlbXBsYXRlPD4gSlNW
YWx1ZSBKU1Rlc3RMZWdhY3lGYWN0b3J5RnUKIHRlbXBsYXRlPD4gdm9pZCBKU1Rlc3RMZWdhY3lG
YWN0b3J5RnVuY3Rpb25MZWdhY3lGYWN0b3J5RnVuY3Rpb246OmluaXRpYWxpemVQcm9wZXJ0aWVz
KFZNJiB2bSwgSlNET01HbG9iYWxPYmplY3QmIGdsb2JhbE9iamVjdCkKIHsKICAgICBwdXREaXJl
Y3Qodm0sIHZtLnByb3BlcnR5TmFtZXMtPnByb3RvdHlwZSwgSlNUZXN0TGVnYWN5RmFjdG9yeUZ1
bmN0aW9uOjpwcm90b3R5cGUodm0sIGdsb2JhbE9iamVjdCksIEpTQzo6UHJvcGVydHlBdHRyaWJ1
dGU6OkRvbnREZWxldGUgfCBKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpSZWFkT25seSB8IEpTQzo6
UHJvcGVydHlBdHRyaWJ1dGU6OkRvbnRFbnVtKTsKLSAgICBwdXREaXJlY3Qodm0sIHZtLnByb3Bl
cnR5TmFtZXMtPm5hbWUsIGpzTm9udHJpdmlhbFN0cmluZyh2bSwgIkF1ZGlvIl9zKSwgSlNDOjpQ
cm9wZXJ0eUF0dHJpYnV0ZTo6UmVhZE9ubHkgfCBKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpEb250
RW51bSk7CisgICAgSlNTdHJpbmcqIG5hbWVTdHJpbmcgPSBqc05vbnRyaXZpYWxTdHJpbmcodm0s
ICJBdWRpbyJfcyk7CisgICAgbV9vcmlnaW5hbE5hbWUuc2V0KHZtLCB0aGlzLCBuYW1lU3RyaW5n
KTsKKyAgICBwdXREaXJlY3Qodm0sIHZtLnByb3BlcnR5TmFtZXMtPm5hbWUsIG5hbWVTdHJpbmcs
IEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OlJlYWRPbmx5IHwgSlNDOjpQcm9wZXJ0eUF0dHJpYnV0
ZTo6RG9udEVudW0pOwogICAgIHB1dERpcmVjdCh2bSwgdm0ucHJvcGVydHlOYW1lcy0+bGVuZ3Ro
LCBqc051bWJlcigxKSwgSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6UmVhZE9ubHkgfCBKU0M6OlBy
b3BlcnR5QXR0cmlidXRlOjpEb250RW51bSk7CiB9CiAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RMZWdhY3lPdmVycmlkZUJ1aWx0SW5zLmNwcAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNU
ZXN0TGVnYWN5T3ZlcnJpZGVCdWlsdElucy5jcHAJKHJldmlzaW9uIDI4Mjg1MSkKKysrIFNvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RMZWdhY3lPdmVycmlkZUJ1
aWx0SW5zLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTAzLDcgKzEwMyw5IEBAIHRlbXBsYXRlPD4g
SlNWYWx1ZSBKU1Rlc3RMZWdhY3lPdmVycmlkZUIKIHRlbXBsYXRlPD4gdm9pZCBKU1Rlc3RMZWdh
Y3lPdmVycmlkZUJ1aWx0SW5zRE9NQ29uc3RydWN0b3I6OmluaXRpYWxpemVQcm9wZXJ0aWVzKFZN
JiB2bSwgSlNET01HbG9iYWxPYmplY3QmIGdsb2JhbE9iamVjdCkKIHsKICAgICBwdXREaXJlY3Qo
dm0sIHZtLnByb3BlcnR5TmFtZXMtPnByb3RvdHlwZSwgSlNUZXN0TGVnYWN5T3ZlcnJpZGVCdWls
dEluczo6cHJvdG90eXBlKHZtLCBnbG9iYWxPYmplY3QpLCBKU0M6OlByb3BlcnR5QXR0cmlidXRl
OjpEb250RGVsZXRlIHwgSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6UmVhZE9ubHkgfCBKU0M6OlBy
b3BlcnR5QXR0cmlidXRlOjpEb250RW51bSk7Ci0gICAgcHV0RGlyZWN0KHZtLCB2bS5wcm9wZXJ0
eU5hbWVzLT5uYW1lLCBqc05vbnRyaXZpYWxTdHJpbmcodm0sICJUZXN0TGVnYWN5T3ZlcnJpZGVC
dWlsdElucyJfcyksIEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OlJlYWRPbmx5IHwgSlNDOjpQcm9w
ZXJ0eUF0dHJpYnV0ZTo6RG9udEVudW0pOworICAgIEpTU3RyaW5nKiBuYW1lU3RyaW5nID0ganNO
b250cml2aWFsU3RyaW5nKHZtLCAiVGVzdExlZ2FjeU92ZXJyaWRlQnVpbHRJbnMiX3MpOworICAg
IG1fb3JpZ2luYWxOYW1lLnNldCh2bSwgdGhpcywgbmFtZVN0cmluZyk7CisgICAgcHV0RGlyZWN0
KHZtLCB2bS5wcm9wZXJ0eU5hbWVzLT5uYW1lLCBuYW1lU3RyaW5nLCBKU0M6OlByb3BlcnR5QXR0
cmlidXRlOjpSZWFkT25seSB8IEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OkRvbnRFbnVtKTsKICAg
ICBwdXREaXJlY3Qodm0sIHZtLnByb3BlcnR5TmFtZXMtPmxlbmd0aCwganNOdW1iZXIoMCksIEpT
Qzo6UHJvcGVydHlBdHRyaWJ1dGU6OlJlYWRPbmx5IHwgSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6
RG9udEVudW0pOwogfQogCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rl
c3QvSlMvSlNUZXN0TWFwTGlrZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE1hcExpa2UuY3BwCShyZXZpc2lvbiAyODI4NTEp
CisrKyBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0TWFwTGlr
ZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTExMiw3ICsxMTIsOSBAQCB0ZW1wbGF0ZTw+IEpTVmFs
dWUgSlNUZXN0TWFwTGlrZURPTUNvbnN0CiB0ZW1wbGF0ZTw+IHZvaWQgSlNUZXN0TWFwTGlrZURP
TUNvbnN0cnVjdG9yOjppbml0aWFsaXplUHJvcGVydGllcyhWTSYgdm0sIEpTRE9NR2xvYmFsT2Jq
ZWN0JiBnbG9iYWxPYmplY3QpCiB7CiAgICAgcHV0RGlyZWN0KHZtLCB2bS5wcm9wZXJ0eU5hbWVz
LT5wcm90b3R5cGUsIEpTVGVzdE1hcExpa2U6OnByb3RvdHlwZSh2bSwgZ2xvYmFsT2JqZWN0KSwg
SlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9udERlbGV0ZSB8IEpTQzo6UHJvcGVydHlBdHRyaWJ1
dGU6OlJlYWRPbmx5IHwgSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9udEVudW0pOwotICAgIHB1
dERpcmVjdCh2bSwgdm0ucHJvcGVydHlOYW1lcy0+bmFtZSwganNOb250cml2aWFsU3RyaW5nKHZt
LCAiVGVzdE1hcExpa2UiX3MpLCBKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpSZWFkT25seSB8IEpT
Qzo6UHJvcGVydHlBdHRyaWJ1dGU6OkRvbnRFbnVtKTsKKyAgICBKU1N0cmluZyogbmFtZVN0cmlu
ZyA9IGpzTm9udHJpdmlhbFN0cmluZyh2bSwgIlRlc3RNYXBMaWtlIl9zKTsKKyAgICBtX29yaWdp
bmFsTmFtZS5zZXQodm0sIHRoaXMsIG5hbWVTdHJpbmcpOworICAgIHB1dERpcmVjdCh2bSwgdm0u
cHJvcGVydHlOYW1lcy0+bmFtZSwgbmFtZVN0cmluZywgSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6
UmVhZE9ubHkgfCBKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpEb250RW51bSk7CiAgICAgcHV0RGly
ZWN0KHZtLCB2bS5wcm9wZXJ0eU5hbWVzLT5sZW5ndGgsIGpzTnVtYmVyKDApLCBKU0M6OlByb3Bl
cnR5QXR0cmlidXRlOjpSZWFkT25seSB8IEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OkRvbnRFbnVt
KTsKIH0KIApJbmRleDogU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pT
VGVzdE1hcExpa2VXaXRoT3ZlcnJpZGRlbk9wZXJhdGlvbnMuY3BwCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RNYXBMaWtlV2l0aE92
ZXJyaWRkZW5PcGVyYXRpb25zLmNwcAkocmV2aXNpb24gMjgyODUxKQorKysgU291cmNlL1dlYkNv
cmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE1hcExpa2VXaXRoT3ZlcnJpZGRlbk9w
ZXJhdGlvbnMuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xMTYsNyArMTE2LDkgQEAgdGVtcGxhdGU8
PiBKU1ZhbHVlIEpTVGVzdE1hcExpa2VXaXRoT3ZlcgogdGVtcGxhdGU8PiB2b2lkIEpTVGVzdE1h
cExpa2VXaXRoT3ZlcnJpZGRlbk9wZXJhdGlvbnNET01Db25zdHJ1Y3Rvcjo6aW5pdGlhbGl6ZVBy
b3BlcnRpZXMoVk0mIHZtLCBKU0RPTUdsb2JhbE9iamVjdCYgZ2xvYmFsT2JqZWN0KQogewogICAg
IHB1dERpcmVjdCh2bSwgdm0ucHJvcGVydHlOYW1lcy0+cHJvdG90eXBlLCBKU1Rlc3RNYXBMaWtl
V2l0aE92ZXJyaWRkZW5PcGVyYXRpb25zOjpwcm90b3R5cGUodm0sIGdsb2JhbE9iamVjdCksIEpT
Qzo6UHJvcGVydHlBdHRyaWJ1dGU6OkRvbnREZWxldGUgfCBKU0M6OlByb3BlcnR5QXR0cmlidXRl
OjpSZWFkT25seSB8IEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OkRvbnRFbnVtKTsKLSAgICBwdXRE
aXJlY3Qodm0sIHZtLnByb3BlcnR5TmFtZXMtPm5hbWUsIGpzTm9udHJpdmlhbFN0cmluZyh2bSwg
IlRlc3RNYXBMaWtlV2l0aE92ZXJyaWRkZW5PcGVyYXRpb25zIl9zKSwgSlNDOjpQcm9wZXJ0eUF0
dHJpYnV0ZTo6UmVhZE9ubHkgfCBKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpEb250RW51bSk7Cisg
ICAgSlNTdHJpbmcqIG5hbWVTdHJpbmcgPSBqc05vbnRyaXZpYWxTdHJpbmcodm0sICJUZXN0TWFw
TGlrZVdpdGhPdmVycmlkZGVuT3BlcmF0aW9ucyJfcyk7CisgICAgbV9vcmlnaW5hbE5hbWUuc2V0
KHZtLCB0aGlzLCBuYW1lU3RyaW5nKTsKKyAgICBwdXREaXJlY3Qodm0sIHZtLnByb3BlcnR5TmFt
ZXMtPm5hbWUsIG5hbWVTdHJpbmcsIEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OlJlYWRPbmx5IHwg
SlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9udEVudW0pOwogICAgIHB1dERpcmVjdCh2bSwgdm0u
cHJvcGVydHlOYW1lcy0+bGVuZ3RoLCBqc051bWJlcigwKSwgSlNDOjpQcm9wZXJ0eUF0dHJpYnV0
ZTo6UmVhZE9ubHkgfCBKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpEb250RW51bSk7CiB9CiAKSW5k
ZXg6IFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3ROYW1lZEFu
ZEluZGV4ZWRTZXR0ZXJOb0lkZW50aWZpZXIuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3ROYW1lZEFuZEluZGV4ZWRTZXR0ZXJO
b0lkZW50aWZpZXIuY3BwCShyZXZpc2lvbiAyODI4NTEpCisrKyBTb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0TmFtZWRBbmRJbmRleGVkU2V0dGVyTm9JZGVudGlm
aWVyLmNwcAkod29ya2luZyBjb3B5KQpAQCAtOTYsNyArOTYsOSBAQCB0ZW1wbGF0ZTw+IEpTVmFs
dWUgSlNUZXN0TmFtZWRBbmRJbmRleGVkCiB0ZW1wbGF0ZTw+IHZvaWQgSlNUZXN0TmFtZWRBbmRJ
bmRleGVkU2V0dGVyTm9JZGVudGlmaWVyRE9NQ29uc3RydWN0b3I6OmluaXRpYWxpemVQcm9wZXJ0
aWVzKFZNJiB2bSwgSlNET01HbG9iYWxPYmplY3QmIGdsb2JhbE9iamVjdCkKIHsKICAgICBwdXRE
aXJlY3Qodm0sIHZtLnByb3BlcnR5TmFtZXMtPnByb3RvdHlwZSwgSlNUZXN0TmFtZWRBbmRJbmRl
eGVkU2V0dGVyTm9JZGVudGlmaWVyOjpwcm90b3R5cGUodm0sIGdsb2JhbE9iamVjdCksIEpTQzo6
UHJvcGVydHlBdHRyaWJ1dGU6OkRvbnREZWxldGUgfCBKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpS
ZWFkT25seSB8IEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OkRvbnRFbnVtKTsKLSAgICBwdXREaXJl
Y3Qodm0sIHZtLnByb3BlcnR5TmFtZXMtPm5hbWUsIGpzTm9udHJpdmlhbFN0cmluZyh2bSwgIlRl
c3ROYW1lZEFuZEluZGV4ZWRTZXR0ZXJOb0lkZW50aWZpZXIiX3MpLCBKU0M6OlByb3BlcnR5QXR0
cmlidXRlOjpSZWFkT25seSB8IEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OkRvbnRFbnVtKTsKKyAg
ICBKU1N0cmluZyogbmFtZVN0cmluZyA9IGpzTm9udHJpdmlhbFN0cmluZyh2bSwgIlRlc3ROYW1l
ZEFuZEluZGV4ZWRTZXR0ZXJOb0lkZW50aWZpZXIiX3MpOworICAgIG1fb3JpZ2luYWxOYW1lLnNl
dCh2bSwgdGhpcywgbmFtZVN0cmluZyk7CisgICAgcHV0RGlyZWN0KHZtLCB2bS5wcm9wZXJ0eU5h
bWVzLT5uYW1lLCBuYW1lU3RyaW5nLCBKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpSZWFkT25seSB8
IEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OkRvbnRFbnVtKTsKICAgICBwdXREaXJlY3Qodm0sIHZt
LnByb3BlcnR5TmFtZXMtPmxlbmd0aCwganNOdW1iZXIoMCksIEpTQzo6UHJvcGVydHlBdHRyaWJ1
dGU6OlJlYWRPbmx5IHwgSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9udEVudW0pOwogfQogCklu
ZGV4OiBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0TmFtZWRB
bmRJbmRleGVkU2V0dGVyVGhyb3dpbmdFeGNlcHRpb24uY3BwCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3ROYW1lZEFuZEluZGV4ZWRT
ZXR0ZXJUaHJvd2luZ0V4Y2VwdGlvbi5jcHAJKHJldmlzaW9uIDI4Mjg1MSkKKysrIFNvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3ROYW1lZEFuZEluZGV4ZWRTZXR0
ZXJUaHJvd2luZ0V4Y2VwdGlvbi5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTk2LDcgKzk2LDkgQEAg
dGVtcGxhdGU8PiBKU1ZhbHVlIEpTVGVzdE5hbWVkQW5kSW5kZXhlZAogdGVtcGxhdGU8PiB2b2lk
IEpTVGVzdE5hbWVkQW5kSW5kZXhlZFNldHRlclRocm93aW5nRXhjZXB0aW9uRE9NQ29uc3RydWN0
b3I6OmluaXRpYWxpemVQcm9wZXJ0aWVzKFZNJiB2bSwgSlNET01HbG9iYWxPYmplY3QmIGdsb2Jh
bE9iamVjdCkKIHsKICAgICBwdXREaXJlY3Qodm0sIHZtLnByb3BlcnR5TmFtZXMtPnByb3RvdHlw
ZSwgSlNUZXN0TmFtZWRBbmRJbmRleGVkU2V0dGVyVGhyb3dpbmdFeGNlcHRpb246OnByb3RvdHlw
ZSh2bSwgZ2xvYmFsT2JqZWN0KSwgSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9udERlbGV0ZSB8
IEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OlJlYWRPbmx5IHwgSlNDOjpQcm9wZXJ0eUF0dHJpYnV0
ZTo6RG9udEVudW0pOwotICAgIHB1dERpcmVjdCh2bSwgdm0ucHJvcGVydHlOYW1lcy0+bmFtZSwg
anNOb250cml2aWFsU3RyaW5nKHZtLCAiVGVzdE5hbWVkQW5kSW5kZXhlZFNldHRlclRocm93aW5n
RXhjZXB0aW9uIl9zKSwgSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6UmVhZE9ubHkgfCBKU0M6OlBy
b3BlcnR5QXR0cmlidXRlOjpEb250RW51bSk7CisgICAgSlNTdHJpbmcqIG5hbWVTdHJpbmcgPSBq
c05vbnRyaXZpYWxTdHJpbmcodm0sICJUZXN0TmFtZWRBbmRJbmRleGVkU2V0dGVyVGhyb3dpbmdF
eGNlcHRpb24iX3MpOworICAgIG1fb3JpZ2luYWxOYW1lLnNldCh2bSwgdGhpcywgbmFtZVN0cmlu
Zyk7CisgICAgcHV0RGlyZWN0KHZtLCB2bS5wcm9wZXJ0eU5hbWVzLT5uYW1lLCBuYW1lU3RyaW5n
LCBKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpSZWFkT25seSB8IEpTQzo6UHJvcGVydHlBdHRyaWJ1
dGU6OkRvbnRFbnVtKTsKICAgICBwdXREaXJlY3Qodm0sIHZtLnByb3BlcnR5TmFtZXMtPmxlbmd0
aCwganNOdW1iZXIoMCksIEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OlJlYWRPbmx5IHwgSlNDOjpQ
cm9wZXJ0eUF0dHJpYnV0ZTo6RG9udEVudW0pOwogfQogCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0TmFtZWRBbmRJbmRleGVkU2V0dGVyV2l0aElk
ZW50aWZpZXIuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Njcmlw
dHMvdGVzdC9KUy9KU1Rlc3ROYW1lZEFuZEluZGV4ZWRTZXR0ZXJXaXRoSWRlbnRpZmllci5jcHAJ
KHJldmlzaW9uIDI4Mjg1MSkKKysrIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVz
dC9KUy9KU1Rlc3ROYW1lZEFuZEluZGV4ZWRTZXR0ZXJXaXRoSWRlbnRpZmllci5jcHAJKHdvcmtp
bmcgY29weSkKQEAgLTEwNSw3ICsxMDUsOSBAQCB0ZW1wbGF0ZTw+IEpTVmFsdWUgSlNUZXN0TmFt
ZWRBbmRJbmRleGVkCiB0ZW1wbGF0ZTw+IHZvaWQgSlNUZXN0TmFtZWRBbmRJbmRleGVkU2V0dGVy
V2l0aElkZW50aWZpZXJET01Db25zdHJ1Y3Rvcjo6aW5pdGlhbGl6ZVByb3BlcnRpZXMoVk0mIHZt
LCBKU0RPTUdsb2JhbE9iamVjdCYgZ2xvYmFsT2JqZWN0KQogewogICAgIHB1dERpcmVjdCh2bSwg
dm0ucHJvcGVydHlOYW1lcy0+cHJvdG90eXBlLCBKU1Rlc3ROYW1lZEFuZEluZGV4ZWRTZXR0ZXJX
aXRoSWRlbnRpZmllcjo6cHJvdG90eXBlKHZtLCBnbG9iYWxPYmplY3QpLCBKU0M6OlByb3BlcnR5
QXR0cmlidXRlOjpEb250RGVsZXRlIHwgSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6UmVhZE9ubHkg
fCBKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpEb250RW51bSk7Ci0gICAgcHV0RGlyZWN0KHZtLCB2
bS5wcm9wZXJ0eU5hbWVzLT5uYW1lLCBqc05vbnRyaXZpYWxTdHJpbmcodm0sICJUZXN0TmFtZWRB
bmRJbmRleGVkU2V0dGVyV2l0aElkZW50aWZpZXIiX3MpLCBKU0M6OlByb3BlcnR5QXR0cmlidXRl
OjpSZWFkT25seSB8IEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OkRvbnRFbnVtKTsKKyAgICBKU1N0
cmluZyogbmFtZVN0cmluZyA9IGpzTm9udHJpdmlhbFN0cmluZyh2bSwgIlRlc3ROYW1lZEFuZElu
ZGV4ZWRTZXR0ZXJXaXRoSWRlbnRpZmllciJfcyk7CisgICAgbV9vcmlnaW5hbE5hbWUuc2V0KHZt
LCB0aGlzLCBuYW1lU3RyaW5nKTsKKyAgICBwdXREaXJlY3Qodm0sIHZtLnByb3BlcnR5TmFtZXMt
Pm5hbWUsIG5hbWVTdHJpbmcsIEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OlJlYWRPbmx5IHwgSlND
OjpQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9udEVudW0pOwogICAgIHB1dERpcmVjdCh2bSwgdm0ucHJv
cGVydHlOYW1lcy0+bGVuZ3RoLCBqc051bWJlcigwKSwgSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6
UmVhZE9ubHkgfCBKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpEb250RW51bSk7CiB9CiAKSW5kZXg6
IFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3ROYW1lZERlbGV0
ZXJOb0lkZW50aWZpZXIuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3ROYW1lZERlbGV0ZXJOb0lkZW50aWZpZXIuY3BwCShyZXZp
c2lvbiAyODI4NTEpCisrKyBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMv
SlNUZXN0TmFtZWREZWxldGVyTm9JZGVudGlmaWVyLmNwcAkod29ya2luZyBjb3B5KQpAQCAtOTUs
NyArOTUsOSBAQCB0ZW1wbGF0ZTw+IEpTVmFsdWUgSlNUZXN0TmFtZWREZWxldGVyTm9JCiB0ZW1w
bGF0ZTw+IHZvaWQgSlNUZXN0TmFtZWREZWxldGVyTm9JZGVudGlmaWVyRE9NQ29uc3RydWN0b3I6
OmluaXRpYWxpemVQcm9wZXJ0aWVzKFZNJiB2bSwgSlNET01HbG9iYWxPYmplY3QmIGdsb2JhbE9i
amVjdCkKIHsKICAgICBwdXREaXJlY3Qodm0sIHZtLnByb3BlcnR5TmFtZXMtPnByb3RvdHlwZSwg
SlNUZXN0TmFtZWREZWxldGVyTm9JZGVudGlmaWVyOjpwcm90b3R5cGUodm0sIGdsb2JhbE9iamVj
dCksIEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OkRvbnREZWxldGUgfCBKU0M6OlByb3BlcnR5QXR0
cmlidXRlOjpSZWFkT25seSB8IEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OkRvbnRFbnVtKTsKLSAg
ICBwdXREaXJlY3Qodm0sIHZtLnByb3BlcnR5TmFtZXMtPm5hbWUsIGpzTm9udHJpdmlhbFN0cmlu
Zyh2bSwgIlRlc3ROYW1lZERlbGV0ZXJOb0lkZW50aWZpZXIiX3MpLCBKU0M6OlByb3BlcnR5QXR0
cmlidXRlOjpSZWFkT25seSB8IEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OkRvbnRFbnVtKTsKKyAg
ICBKU1N0cmluZyogbmFtZVN0cmluZyA9IGpzTm9udHJpdmlhbFN0cmluZyh2bSwgIlRlc3ROYW1l
ZERlbGV0ZXJOb0lkZW50aWZpZXIiX3MpOworICAgIG1fb3JpZ2luYWxOYW1lLnNldCh2bSwgdGhp
cywgbmFtZVN0cmluZyk7CisgICAgcHV0RGlyZWN0KHZtLCB2bS5wcm9wZXJ0eU5hbWVzLT5uYW1l
LCBuYW1lU3RyaW5nLCBKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpSZWFkT25seSB8IEpTQzo6UHJv
cGVydHlBdHRyaWJ1dGU6OkRvbnRFbnVtKTsKICAgICBwdXREaXJlY3Qodm0sIHZtLnByb3BlcnR5
TmFtZXMtPmxlbmd0aCwganNOdW1iZXIoMCksIEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OlJlYWRP
bmx5IHwgSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9udEVudW0pOwogfQogCkluZGV4OiBTb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0TmFtZWREZWxldGVyVGhy
b3dpbmdFeGNlcHRpb24uY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3ROYW1lZERlbGV0ZXJUaHJvd2luZ0V4Y2VwdGlvbi5jcHAJ
KHJldmlzaW9uIDI4Mjg1MSkKKysrIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVz
dC9KUy9KU1Rlc3ROYW1lZERlbGV0ZXJUaHJvd2luZ0V4Y2VwdGlvbi5jcHAJKHdvcmtpbmcgY29w
eSkKQEAgLTk1LDcgKzk1LDkgQEAgdGVtcGxhdGU8PiBKU1ZhbHVlIEpTVGVzdE5hbWVkRGVsZXRl
clRocgogdGVtcGxhdGU8PiB2b2lkIEpTVGVzdE5hbWVkRGVsZXRlclRocm93aW5nRXhjZXB0aW9u
RE9NQ29uc3RydWN0b3I6OmluaXRpYWxpemVQcm9wZXJ0aWVzKFZNJiB2bSwgSlNET01HbG9iYWxP
YmplY3QmIGdsb2JhbE9iamVjdCkKIHsKICAgICBwdXREaXJlY3Qodm0sIHZtLnByb3BlcnR5TmFt
ZXMtPnByb3RvdHlwZSwgSlNUZXN0TmFtZWREZWxldGVyVGhyb3dpbmdFeGNlcHRpb246OnByb3Rv
dHlwZSh2bSwgZ2xvYmFsT2JqZWN0KSwgSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9udERlbGV0
ZSB8IEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OlJlYWRPbmx5IHwgSlNDOjpQcm9wZXJ0eUF0dHJp
YnV0ZTo6RG9udEVudW0pOwotICAgIHB1dERpcmVjdCh2bSwgdm0ucHJvcGVydHlOYW1lcy0+bmFt
ZSwganNOb250cml2aWFsU3RyaW5nKHZtLCAiVGVzdE5hbWVkRGVsZXRlclRocm93aW5nRXhjZXB0
aW9uIl9zKSwgSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6UmVhZE9ubHkgfCBKU0M6OlByb3BlcnR5
QXR0cmlidXRlOjpEb250RW51bSk7CisgICAgSlNTdHJpbmcqIG5hbWVTdHJpbmcgPSBqc05vbnRy
aXZpYWxTdHJpbmcodm0sICJUZXN0TmFtZWREZWxldGVyVGhyb3dpbmdFeGNlcHRpb24iX3MpOwor
ICAgIG1fb3JpZ2luYWxOYW1lLnNldCh2bSwgdGhpcywgbmFtZVN0cmluZyk7CisgICAgcHV0RGly
ZWN0KHZtLCB2bS5wcm9wZXJ0eU5hbWVzLT5uYW1lLCBuYW1lU3RyaW5nLCBKU0M6OlByb3BlcnR5
QXR0cmlidXRlOjpSZWFkT25seSB8IEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OkRvbnRFbnVtKTsK
ICAgICBwdXREaXJlY3Qodm0sIHZtLnByb3BlcnR5TmFtZXMtPmxlbmd0aCwganNOdW1iZXIoMCks
IEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OlJlYWRPbmx5IHwgSlNDOjpQcm9wZXJ0eUF0dHJpYnV0
ZTo6RG9udEVudW0pOwogfQogCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRz
L3Rlc3QvSlMvSlNUZXN0TmFtZWREZWxldGVyV2l0aElkZW50aWZpZXIuY3BwCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3ROYW1lZERl
bGV0ZXJXaXRoSWRlbnRpZmllci5jcHAJKHJldmlzaW9uIDI4Mjg1MSkKKysrIFNvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3ROYW1lZERlbGV0ZXJXaXRoSWRlbnRp
Zmllci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTEwMiw3ICsxMDIsOSBAQCB0ZW1wbGF0ZTw+IEpT
VmFsdWUgSlNUZXN0TmFtZWREZWxldGVyV2l0CiB0ZW1wbGF0ZTw+IHZvaWQgSlNUZXN0TmFtZWRE
ZWxldGVyV2l0aElkZW50aWZpZXJET01Db25zdHJ1Y3Rvcjo6aW5pdGlhbGl6ZVByb3BlcnRpZXMo
Vk0mIHZtLCBKU0RPTUdsb2JhbE9iamVjdCYgZ2xvYmFsT2JqZWN0KQogewogICAgIHB1dERpcmVj
dCh2bSwgdm0ucHJvcGVydHlOYW1lcy0+cHJvdG90eXBlLCBKU1Rlc3ROYW1lZERlbGV0ZXJXaXRo
SWRlbnRpZmllcjo6cHJvdG90eXBlKHZtLCBnbG9iYWxPYmplY3QpLCBKU0M6OlByb3BlcnR5QXR0
cmlidXRlOjpEb250RGVsZXRlIHwgSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6UmVhZE9ubHkgfCBK
U0M6OlByb3BlcnR5QXR0cmlidXRlOjpEb250RW51bSk7Ci0gICAgcHV0RGlyZWN0KHZtLCB2bS5w
cm9wZXJ0eU5hbWVzLT5uYW1lLCBqc05vbnRyaXZpYWxTdHJpbmcodm0sICJUZXN0TmFtZWREZWxl
dGVyV2l0aElkZW50aWZpZXIiX3MpLCBKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpSZWFkT25seSB8
IEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OkRvbnRFbnVtKTsKKyAgICBKU1N0cmluZyogbmFtZVN0
cmluZyA9IGpzTm9udHJpdmlhbFN0cmluZyh2bSwgIlRlc3ROYW1lZERlbGV0ZXJXaXRoSWRlbnRp
ZmllciJfcyk7CisgICAgbV9vcmlnaW5hbE5hbWUuc2V0KHZtLCB0aGlzLCBuYW1lU3RyaW5nKTsK
KyAgICBwdXREaXJlY3Qodm0sIHZtLnByb3BlcnR5TmFtZXMtPm5hbWUsIG5hbWVTdHJpbmcsIEpT
Qzo6UHJvcGVydHlBdHRyaWJ1dGU6OlJlYWRPbmx5IHwgSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6
RG9udEVudW0pOwogICAgIHB1dERpcmVjdCh2bSwgdm0ucHJvcGVydHlOYW1lcy0+bGVuZ3RoLCBq
c051bWJlcigwKSwgSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6UmVhZE9ubHkgfCBKU0M6OlByb3Bl
cnR5QXR0cmlidXRlOjpEb250RW51bSk7CiB9CiAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3ROYW1lZERlbGV0ZXJXaXRoSW5kZXhlZEdldHRlci5j
cHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pT
L0pTVGVzdE5hbWVkRGVsZXRlcldpdGhJbmRleGVkR2V0dGVyLmNwcAkocmV2aXNpb24gMjgyODUx
KQorKysgU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE5hbWVk
RGVsZXRlcldpdGhJbmRleGVkR2V0dGVyLmNwcAkod29ya2luZyBjb3B5KQpAQCAtOTYsNyArOTYs
OSBAQCB0ZW1wbGF0ZTw+IEpTVmFsdWUgSlNUZXN0TmFtZWREZWxldGVyV2l0CiB0ZW1wbGF0ZTw+
IHZvaWQgSlNUZXN0TmFtZWREZWxldGVyV2l0aEluZGV4ZWRHZXR0ZXJET01Db25zdHJ1Y3Rvcjo6
aW5pdGlhbGl6ZVByb3BlcnRpZXMoVk0mIHZtLCBKU0RPTUdsb2JhbE9iamVjdCYgZ2xvYmFsT2Jq
ZWN0KQogewogICAgIHB1dERpcmVjdCh2bSwgdm0ucHJvcGVydHlOYW1lcy0+cHJvdG90eXBlLCBK
U1Rlc3ROYW1lZERlbGV0ZXJXaXRoSW5kZXhlZEdldHRlcjo6cHJvdG90eXBlKHZtLCBnbG9iYWxP
YmplY3QpLCBKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpEb250RGVsZXRlIHwgSlNDOjpQcm9wZXJ0
eUF0dHJpYnV0ZTo6UmVhZE9ubHkgfCBKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpEb250RW51bSk7
Ci0gICAgcHV0RGlyZWN0KHZtLCB2bS5wcm9wZXJ0eU5hbWVzLT5uYW1lLCBqc05vbnRyaXZpYWxT
dHJpbmcodm0sICJUZXN0TmFtZWREZWxldGVyV2l0aEluZGV4ZWRHZXR0ZXIiX3MpLCBKU0M6OlBy
b3BlcnR5QXR0cmlidXRlOjpSZWFkT25seSB8IEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OkRvbnRF
bnVtKTsKKyAgICBKU1N0cmluZyogbmFtZVN0cmluZyA9IGpzTm9udHJpdmlhbFN0cmluZyh2bSwg
IlRlc3ROYW1lZERlbGV0ZXJXaXRoSW5kZXhlZEdldHRlciJfcyk7CisgICAgbV9vcmlnaW5hbE5h
bWUuc2V0KHZtLCB0aGlzLCBuYW1lU3RyaW5nKTsKKyAgICBwdXREaXJlY3Qodm0sIHZtLnByb3Bl
cnR5TmFtZXMtPm5hbWUsIG5hbWVTdHJpbmcsIEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OlJlYWRP
bmx5IHwgSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9udEVudW0pOwogICAgIHB1dERpcmVjdCh2
bSwgdm0ucHJvcGVydHlOYW1lcy0+bGVuZ3RoLCBqc051bWJlcigwKSwgSlNDOjpQcm9wZXJ0eUF0
dHJpYnV0ZTo6UmVhZE9ubHkgfCBKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpEb250RW51bSk7CiB9
CiAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RO
YW1lZEdldHRlckNhbGxXaXRoLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0TmFtZWRHZXR0ZXJDYWxsV2l0aC5jcHAJKHJldmlz
aW9uIDI4Mjg1MSkKKysrIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9K
U1Rlc3ROYW1lZEdldHRlckNhbGxXaXRoLmNwcAkod29ya2luZyBjb3B5KQpAQCAtOTUsNyArOTUs
OSBAQCB0ZW1wbGF0ZTw+IEpTVmFsdWUgSlNUZXN0TmFtZWRHZXR0ZXJDYWxsCiB0ZW1wbGF0ZTw+
IHZvaWQgSlNUZXN0TmFtZWRHZXR0ZXJDYWxsV2l0aERPTUNvbnN0cnVjdG9yOjppbml0aWFsaXpl
UHJvcGVydGllcyhWTSYgdm0sIEpTRE9NR2xvYmFsT2JqZWN0JiBnbG9iYWxPYmplY3QpCiB7CiAg
ICAgcHV0RGlyZWN0KHZtLCB2bS5wcm9wZXJ0eU5hbWVzLT5wcm90b3R5cGUsIEpTVGVzdE5hbWVk
R2V0dGVyQ2FsbFdpdGg6OnByb3RvdHlwZSh2bSwgZ2xvYmFsT2JqZWN0KSwgSlNDOjpQcm9wZXJ0
eUF0dHJpYnV0ZTo6RG9udERlbGV0ZSB8IEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OlJlYWRPbmx5
IHwgSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9udEVudW0pOwotICAgIHB1dERpcmVjdCh2bSwg
dm0ucHJvcGVydHlOYW1lcy0+bmFtZSwganNOb250cml2aWFsU3RyaW5nKHZtLCAiVGVzdE5hbWVk
R2V0dGVyQ2FsbFdpdGgiX3MpLCBKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpSZWFkT25seSB8IEpT
Qzo6UHJvcGVydHlBdHRyaWJ1dGU6OkRvbnRFbnVtKTsKKyAgICBKU1N0cmluZyogbmFtZVN0cmlu
ZyA9IGpzTm9udHJpdmlhbFN0cmluZyh2bSwgIlRlc3ROYW1lZEdldHRlckNhbGxXaXRoIl9zKTsK
KyAgICBtX29yaWdpbmFsTmFtZS5zZXQodm0sIHRoaXMsIG5hbWVTdHJpbmcpOworICAgIHB1dERp
cmVjdCh2bSwgdm0ucHJvcGVydHlOYW1lcy0+bmFtZSwgbmFtZVN0cmluZywgSlNDOjpQcm9wZXJ0
eUF0dHJpYnV0ZTo6UmVhZE9ubHkgfCBKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpEb250RW51bSk7
CiAgICAgcHV0RGlyZWN0KHZtLCB2bS5wcm9wZXJ0eU5hbWVzLT5sZW5ndGgsIGpzTnVtYmVyKDAp
LCBKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpSZWFkT25seSB8IEpTQzo6UHJvcGVydHlBdHRyaWJ1
dGU6OkRvbnRFbnVtKTsKIH0KIApJbmRleDogU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0
cy90ZXN0L0pTL0pTVGVzdE5hbWVkR2V0dGVyTm9JZGVudGlmaWVyLmNwcAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0TmFtZWRHZXR0
ZXJOb0lkZW50aWZpZXIuY3BwCShyZXZpc2lvbiAyODI4NTEpCisrKyBTb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0TmFtZWRHZXR0ZXJOb0lkZW50aWZpZXIuY3Bw
CSh3b3JraW5nIGNvcHkpCkBAIC05NSw3ICs5NSw5IEBAIHRlbXBsYXRlPD4gSlNWYWx1ZSBKU1Rl
c3ROYW1lZEdldHRlck5vSWQKIHRlbXBsYXRlPD4gdm9pZCBKU1Rlc3ROYW1lZEdldHRlck5vSWRl
bnRpZmllckRPTUNvbnN0cnVjdG9yOjppbml0aWFsaXplUHJvcGVydGllcyhWTSYgdm0sIEpTRE9N
R2xvYmFsT2JqZWN0JiBnbG9iYWxPYmplY3QpCiB7CiAgICAgcHV0RGlyZWN0KHZtLCB2bS5wcm9w
ZXJ0eU5hbWVzLT5wcm90b3R5cGUsIEpTVGVzdE5hbWVkR2V0dGVyTm9JZGVudGlmaWVyOjpwcm90
b3R5cGUodm0sIGdsb2JhbE9iamVjdCksIEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OkRvbnREZWxl
dGUgfCBKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpSZWFkT25seSB8IEpTQzo6UHJvcGVydHlBdHRy
aWJ1dGU6OkRvbnRFbnVtKTsKLSAgICBwdXREaXJlY3Qodm0sIHZtLnByb3BlcnR5TmFtZXMtPm5h
bWUsIGpzTm9udHJpdmlhbFN0cmluZyh2bSwgIlRlc3ROYW1lZEdldHRlck5vSWRlbnRpZmllciJf
cyksIEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OlJlYWRPbmx5IHwgSlNDOjpQcm9wZXJ0eUF0dHJp
YnV0ZTo6RG9udEVudW0pOworICAgIEpTU3RyaW5nKiBuYW1lU3RyaW5nID0ganNOb250cml2aWFs
U3RyaW5nKHZtLCAiVGVzdE5hbWVkR2V0dGVyTm9JZGVudGlmaWVyIl9zKTsKKyAgICBtX29yaWdp
bmFsTmFtZS5zZXQodm0sIHRoaXMsIG5hbWVTdHJpbmcpOworICAgIHB1dERpcmVjdCh2bSwgdm0u
cHJvcGVydHlOYW1lcy0+bmFtZSwgbmFtZVN0cmluZywgSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6
UmVhZE9ubHkgfCBKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpEb250RW51bSk7CiAgICAgcHV0RGly
ZWN0KHZtLCB2bS5wcm9wZXJ0eU5hbWVzLT5sZW5ndGgsIGpzTnVtYmVyKDApLCBKU0M6OlByb3Bl
cnR5QXR0cmlidXRlOjpSZWFkT25seSB8IEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OkRvbnRFbnVt
KTsKIH0KIApJbmRleDogU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pT
VGVzdE5hbWVkR2V0dGVyV2l0aElkZW50aWZpZXIuY3BwCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3ROYW1lZEdldHRlcldpdGhJZGVu
dGlmaWVyLmNwcAkocmV2aXNpb24gMjgyODUxKQorKysgU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
c2NyaXB0cy90ZXN0L0pTL0pTVGVzdE5hbWVkR2V0dGVyV2l0aElkZW50aWZpZXIuY3BwCSh3b3Jr
aW5nIGNvcHkpCkBAIC0xMDAsNyArMTAwLDkgQEAgdGVtcGxhdGU8PiBKU1ZhbHVlIEpTVGVzdE5h
bWVkR2V0dGVyV2l0aAogdGVtcGxhdGU8PiB2b2lkIEpTVGVzdE5hbWVkR2V0dGVyV2l0aElkZW50
aWZpZXJET01Db25zdHJ1Y3Rvcjo6aW5pdGlhbGl6ZVByb3BlcnRpZXMoVk0mIHZtLCBKU0RPTUds
b2JhbE9iamVjdCYgZ2xvYmFsT2JqZWN0KQogewogICAgIHB1dERpcmVjdCh2bSwgdm0ucHJvcGVy
dHlOYW1lcy0+cHJvdG90eXBlLCBKU1Rlc3ROYW1lZEdldHRlcldpdGhJZGVudGlmaWVyOjpwcm90
b3R5cGUodm0sIGdsb2JhbE9iamVjdCksIEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OkRvbnREZWxl
dGUgfCBKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpSZWFkT25seSB8IEpTQzo6UHJvcGVydHlBdHRy
aWJ1dGU6OkRvbnRFbnVtKTsKLSAgICBwdXREaXJlY3Qodm0sIHZtLnByb3BlcnR5TmFtZXMtPm5h
bWUsIGpzTm9udHJpdmlhbFN0cmluZyh2bSwgIlRlc3ROYW1lZEdldHRlcldpdGhJZGVudGlmaWVy
Il9zKSwgSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6UmVhZE9ubHkgfCBKU0M6OlByb3BlcnR5QXR0
cmlidXRlOjpEb250RW51bSk7CisgICAgSlNTdHJpbmcqIG5hbWVTdHJpbmcgPSBqc05vbnRyaXZp
YWxTdHJpbmcodm0sICJUZXN0TmFtZWRHZXR0ZXJXaXRoSWRlbnRpZmllciJfcyk7CisgICAgbV9v
cmlnaW5hbE5hbWUuc2V0KHZtLCB0aGlzLCBuYW1lU3RyaW5nKTsKKyAgICBwdXREaXJlY3Qodm0s
IHZtLnByb3BlcnR5TmFtZXMtPm5hbWUsIG5hbWVTdHJpbmcsIEpTQzo6UHJvcGVydHlBdHRyaWJ1
dGU6OlJlYWRPbmx5IHwgSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9udEVudW0pOwogICAgIHB1
dERpcmVjdCh2bSwgdm0ucHJvcGVydHlOYW1lcy0+bGVuZ3RoLCBqc051bWJlcigwKSwgSlNDOjpQ
cm9wZXJ0eUF0dHJpYnV0ZTo6UmVhZE9ubHkgfCBKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpEb250
RW51bSk7CiB9CiAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9K
Uy9KU1Rlc3ROYW1lZFNldHRlck5vSWRlbnRpZmllci5jcHAKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE5hbWVkU2V0dGVyTm9JZGVu
dGlmaWVyLmNwcAkocmV2aXNpb24gMjgyODUxKQorKysgU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
c2NyaXB0cy90ZXN0L0pTL0pTVGVzdE5hbWVkU2V0dGVyTm9JZGVudGlmaWVyLmNwcAkod29ya2lu
ZyBjb3B5KQpAQCAtOTUsNyArOTUsOSBAQCB0ZW1wbGF0ZTw+IEpTVmFsdWUgSlNUZXN0TmFtZWRT
ZXR0ZXJOb0lkCiB0ZW1wbGF0ZTw+IHZvaWQgSlNUZXN0TmFtZWRTZXR0ZXJOb0lkZW50aWZpZXJE
T01Db25zdHJ1Y3Rvcjo6aW5pdGlhbGl6ZVByb3BlcnRpZXMoVk0mIHZtLCBKU0RPTUdsb2JhbE9i
amVjdCYgZ2xvYmFsT2JqZWN0KQogewogICAgIHB1dERpcmVjdCh2bSwgdm0ucHJvcGVydHlOYW1l
cy0+cHJvdG90eXBlLCBKU1Rlc3ROYW1lZFNldHRlck5vSWRlbnRpZmllcjo6cHJvdG90eXBlKHZt
LCBnbG9iYWxPYmplY3QpLCBKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpEb250RGVsZXRlIHwgSlND
OjpQcm9wZXJ0eUF0dHJpYnV0ZTo6UmVhZE9ubHkgfCBKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpE
b250RW51bSk7Ci0gICAgcHV0RGlyZWN0KHZtLCB2bS5wcm9wZXJ0eU5hbWVzLT5uYW1lLCBqc05v
bnRyaXZpYWxTdHJpbmcodm0sICJUZXN0TmFtZWRTZXR0ZXJOb0lkZW50aWZpZXIiX3MpLCBKU0M6
OlByb3BlcnR5QXR0cmlidXRlOjpSZWFkT25seSB8IEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OkRv
bnRFbnVtKTsKKyAgICBKU1N0cmluZyogbmFtZVN0cmluZyA9IGpzTm9udHJpdmlhbFN0cmluZyh2
bSwgIlRlc3ROYW1lZFNldHRlck5vSWRlbnRpZmllciJfcyk7CisgICAgbV9vcmlnaW5hbE5hbWUu
c2V0KHZtLCB0aGlzLCBuYW1lU3RyaW5nKTsKKyAgICBwdXREaXJlY3Qodm0sIHZtLnByb3BlcnR5
TmFtZXMtPm5hbWUsIG5hbWVTdHJpbmcsIEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OlJlYWRPbmx5
IHwgSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9udEVudW0pOwogICAgIHB1dERpcmVjdCh2bSwg
dm0ucHJvcGVydHlOYW1lcy0+bGVuZ3RoLCBqc051bWJlcigwKSwgSlNDOjpQcm9wZXJ0eUF0dHJp
YnV0ZTo6UmVhZE9ubHkgfCBKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpEb250RW51bSk7CiB9CiAK
SW5kZXg6IFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3ROYW1l
ZFNldHRlclRocm93aW5nRXhjZXB0aW9uLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0TmFtZWRTZXR0ZXJUaHJvd2luZ0V4Y2Vw
dGlvbi5jcHAJKHJldmlzaW9uIDI4Mjg1MSkKKysrIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Nj
cmlwdHMvdGVzdC9KUy9KU1Rlc3ROYW1lZFNldHRlclRocm93aW5nRXhjZXB0aW9uLmNwcAkod29y
a2luZyBjb3B5KQpAQCAtOTUsNyArOTUsOSBAQCB0ZW1wbGF0ZTw+IEpTVmFsdWUgSlNUZXN0TmFt
ZWRTZXR0ZXJUaHJvCiB0ZW1wbGF0ZTw+IHZvaWQgSlNUZXN0TmFtZWRTZXR0ZXJUaHJvd2luZ0V4
Y2VwdGlvbkRPTUNvbnN0cnVjdG9yOjppbml0aWFsaXplUHJvcGVydGllcyhWTSYgdm0sIEpTRE9N
R2xvYmFsT2JqZWN0JiBnbG9iYWxPYmplY3QpCiB7CiAgICAgcHV0RGlyZWN0KHZtLCB2bS5wcm9w
ZXJ0eU5hbWVzLT5wcm90b3R5cGUsIEpTVGVzdE5hbWVkU2V0dGVyVGhyb3dpbmdFeGNlcHRpb246
OnByb3RvdHlwZSh2bSwgZ2xvYmFsT2JqZWN0KSwgSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9u
dERlbGV0ZSB8IEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OlJlYWRPbmx5IHwgSlNDOjpQcm9wZXJ0
eUF0dHJpYnV0ZTo6RG9udEVudW0pOwotICAgIHB1dERpcmVjdCh2bSwgdm0ucHJvcGVydHlOYW1l
cy0+bmFtZSwganNOb250cml2aWFsU3RyaW5nKHZtLCAiVGVzdE5hbWVkU2V0dGVyVGhyb3dpbmdF
eGNlcHRpb24iX3MpLCBKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpSZWFkT25seSB8IEpTQzo6UHJv
cGVydHlBdHRyaWJ1dGU6OkRvbnRFbnVtKTsKKyAgICBKU1N0cmluZyogbmFtZVN0cmluZyA9IGpz
Tm9udHJpdmlhbFN0cmluZyh2bSwgIlRlc3ROYW1lZFNldHRlclRocm93aW5nRXhjZXB0aW9uIl9z
KTsKKyAgICBtX29yaWdpbmFsTmFtZS5zZXQodm0sIHRoaXMsIG5hbWVTdHJpbmcpOworICAgIHB1
dERpcmVjdCh2bSwgdm0ucHJvcGVydHlOYW1lcy0+bmFtZSwgbmFtZVN0cmluZywgSlNDOjpQcm9w
ZXJ0eUF0dHJpYnV0ZTo6UmVhZE9ubHkgfCBKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpEb250RW51
bSk7CiAgICAgcHV0RGlyZWN0KHZtLCB2bS5wcm9wZXJ0eU5hbWVzLT5sZW5ndGgsIGpzTnVtYmVy
KDApLCBKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpSZWFkT25seSB8IEpTQzo6UHJvcGVydHlBdHRy
aWJ1dGU6OkRvbnRFbnVtKTsKIH0KIApJbmRleDogU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2Ny
aXB0cy90ZXN0L0pTL0pTVGVzdE5hbWVkU2V0dGVyV2l0aElkZW50aWZpZXIuY3BwCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3ROYW1l
ZFNldHRlcldpdGhJZGVudGlmaWVyLmNwcAkocmV2aXNpb24gMjgyODUxKQorKysgU291cmNlL1dl
YkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE5hbWVkU2V0dGVyV2l0aElkZW50
aWZpZXIuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xMDIsNyArMTAyLDkgQEAgdGVtcGxhdGU8PiBK
U1ZhbHVlIEpTVGVzdE5hbWVkU2V0dGVyV2l0aAogdGVtcGxhdGU8PiB2b2lkIEpTVGVzdE5hbWVk
U2V0dGVyV2l0aElkZW50aWZpZXJET01Db25zdHJ1Y3Rvcjo6aW5pdGlhbGl6ZVByb3BlcnRpZXMo
Vk0mIHZtLCBKU0RPTUdsb2JhbE9iamVjdCYgZ2xvYmFsT2JqZWN0KQogewogICAgIHB1dERpcmVj
dCh2bSwgdm0ucHJvcGVydHlOYW1lcy0+cHJvdG90eXBlLCBKU1Rlc3ROYW1lZFNldHRlcldpdGhJ
ZGVudGlmaWVyOjpwcm90b3R5cGUodm0sIGdsb2JhbE9iamVjdCksIEpTQzo6UHJvcGVydHlBdHRy
aWJ1dGU6OkRvbnREZWxldGUgfCBKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpSZWFkT25seSB8IEpT
Qzo6UHJvcGVydHlBdHRyaWJ1dGU6OkRvbnRFbnVtKTsKLSAgICBwdXREaXJlY3Qodm0sIHZtLnBy
b3BlcnR5TmFtZXMtPm5hbWUsIGpzTm9udHJpdmlhbFN0cmluZyh2bSwgIlRlc3ROYW1lZFNldHRl
cldpdGhJZGVudGlmaWVyIl9zKSwgSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6UmVhZE9ubHkgfCBK
U0M6OlByb3BlcnR5QXR0cmlidXRlOjpEb250RW51bSk7CisgICAgSlNTdHJpbmcqIG5hbWVTdHJp
bmcgPSBqc05vbnRyaXZpYWxTdHJpbmcodm0sICJUZXN0TmFtZWRTZXR0ZXJXaXRoSWRlbnRpZmll
ciJfcyk7CisgICAgbV9vcmlnaW5hbE5hbWUuc2V0KHZtLCB0aGlzLCBuYW1lU3RyaW5nKTsKKyAg
ICBwdXREaXJlY3Qodm0sIHZtLnByb3BlcnR5TmFtZXMtPm5hbWUsIG5hbWVTdHJpbmcsIEpTQzo6
UHJvcGVydHlBdHRyaWJ1dGU6OlJlYWRPbmx5IHwgSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9u
dEVudW0pOwogICAgIHB1dERpcmVjdCh2bSwgdm0ucHJvcGVydHlOYW1lcy0+bGVuZ3RoLCBqc051
bWJlcigwKSwgSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6UmVhZE9ubHkgfCBKU0M6OlByb3BlcnR5
QXR0cmlidXRlOjpEb250RW51bSk7CiB9CiAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3ROYW1lZFNldHRlcldpdGhJbmRleGVkR2V0dGVyLmNwcAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNU
ZXN0TmFtZWRTZXR0ZXJXaXRoSW5kZXhlZEdldHRlci5jcHAJKHJldmlzaW9uIDI4Mjg1MSkKKysr
IFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3ROYW1lZFNldHRl
cldpdGhJbmRleGVkR2V0dGVyLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTA1LDcgKzEwNSw5IEBA
IHRlbXBsYXRlPD4gSlNWYWx1ZSBKU1Rlc3ROYW1lZFNldHRlcldpdGgKIHRlbXBsYXRlPD4gdm9p
ZCBKU1Rlc3ROYW1lZFNldHRlcldpdGhJbmRleGVkR2V0dGVyRE9NQ29uc3RydWN0b3I6OmluaXRp
YWxpemVQcm9wZXJ0aWVzKFZNJiB2bSwgSlNET01HbG9iYWxPYmplY3QmIGdsb2JhbE9iamVjdCkK
IHsKICAgICBwdXREaXJlY3Qodm0sIHZtLnByb3BlcnR5TmFtZXMtPnByb3RvdHlwZSwgSlNUZXN0
TmFtZWRTZXR0ZXJXaXRoSW5kZXhlZEdldHRlcjo6cHJvdG90eXBlKHZtLCBnbG9iYWxPYmplY3Qp
LCBKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpEb250RGVsZXRlIHwgSlNDOjpQcm9wZXJ0eUF0dHJp
YnV0ZTo6UmVhZE9ubHkgfCBKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpEb250RW51bSk7Ci0gICAg
cHV0RGlyZWN0KHZtLCB2bS5wcm9wZXJ0eU5hbWVzLT5uYW1lLCBqc05vbnRyaXZpYWxTdHJpbmco
dm0sICJUZXN0TmFtZWRTZXR0ZXJXaXRoSW5kZXhlZEdldHRlciJfcyksIEpTQzo6UHJvcGVydHlB
dHRyaWJ1dGU6OlJlYWRPbmx5IHwgSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9udEVudW0pOwor
ICAgIEpTU3RyaW5nKiBuYW1lU3RyaW5nID0ganNOb250cml2aWFsU3RyaW5nKHZtLCAiVGVzdE5h
bWVkU2V0dGVyV2l0aEluZGV4ZWRHZXR0ZXIiX3MpOworICAgIG1fb3JpZ2luYWxOYW1lLnNldCh2
bSwgdGhpcywgbmFtZVN0cmluZyk7CisgICAgcHV0RGlyZWN0KHZtLCB2bS5wcm9wZXJ0eU5hbWVz
LT5uYW1lLCBuYW1lU3RyaW5nLCBKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpSZWFkT25seSB8IEpT
Qzo6UHJvcGVydHlBdHRyaWJ1dGU6OkRvbnRFbnVtKTsKICAgICBwdXREaXJlY3Qodm0sIHZtLnBy
b3BlcnR5TmFtZXMtPmxlbmd0aCwganNOdW1iZXIoMCksIEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6
OlJlYWRPbmx5IHwgSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9udEVudW0pOwogfQogCkluZGV4
OiBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0TmFtZWRTZXR0
ZXJXaXRoSW5kZXhlZEdldHRlckFuZFNldHRlci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE5hbWVkU2V0dGVyV2l0aEluZGV4
ZWRHZXR0ZXJBbmRTZXR0ZXIuY3BwCShyZXZpc2lvbiAyODI4NTEpCisrKyBTb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0TmFtZWRTZXR0ZXJXaXRoSW5kZXhlZEdl
dHRlckFuZFNldHRlci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTEwNSw3ICsxMDUsOSBAQCB0ZW1w
bGF0ZTw+IEpTVmFsdWUgSlNUZXN0TmFtZWRTZXR0ZXJXaXRoCiB0ZW1wbGF0ZTw+IHZvaWQgSlNU
ZXN0TmFtZWRTZXR0ZXJXaXRoSW5kZXhlZEdldHRlckFuZFNldHRlckRPTUNvbnN0cnVjdG9yOjpp
bml0aWFsaXplUHJvcGVydGllcyhWTSYgdm0sIEpTRE9NR2xvYmFsT2JqZWN0JiBnbG9iYWxPYmpl
Y3QpCiB7CiAgICAgcHV0RGlyZWN0KHZtLCB2bS5wcm9wZXJ0eU5hbWVzLT5wcm90b3R5cGUsIEpT
VGVzdE5hbWVkU2V0dGVyV2l0aEluZGV4ZWRHZXR0ZXJBbmRTZXR0ZXI6OnByb3RvdHlwZSh2bSwg
Z2xvYmFsT2JqZWN0KSwgSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9udERlbGV0ZSB8IEpTQzo6
UHJvcGVydHlBdHRyaWJ1dGU6OlJlYWRPbmx5IHwgSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9u
dEVudW0pOwotICAgIHB1dERpcmVjdCh2bSwgdm0ucHJvcGVydHlOYW1lcy0+bmFtZSwganNOb250
cml2aWFsU3RyaW5nKHZtLCAiVGVzdE5hbWVkU2V0dGVyV2l0aEluZGV4ZWRHZXR0ZXJBbmRTZXR0
ZXIiX3MpLCBKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpSZWFkT25seSB8IEpTQzo6UHJvcGVydHlB
dHRyaWJ1dGU6OkRvbnRFbnVtKTsKKyAgICBKU1N0cmluZyogbmFtZVN0cmluZyA9IGpzTm9udHJp
dmlhbFN0cmluZyh2bSwgIlRlc3ROYW1lZFNldHRlcldpdGhJbmRleGVkR2V0dGVyQW5kU2V0dGVy
Il9zKTsKKyAgICBtX29yaWdpbmFsTmFtZS5zZXQodm0sIHRoaXMsIG5hbWVTdHJpbmcpOworICAg
IHB1dERpcmVjdCh2bSwgdm0ucHJvcGVydHlOYW1lcy0+bmFtZSwgbmFtZVN0cmluZywgSlNDOjpQ
cm9wZXJ0eUF0dHJpYnV0ZTo6UmVhZE9ubHkgfCBKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpEb250
RW51bSk7CiAgICAgcHV0RGlyZWN0KHZtLCB2bS5wcm9wZXJ0eU5hbWVzLT5sZW5ndGgsIGpzTnVt
YmVyKDApLCBKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpSZWFkT25seSB8IEpTQzo6UHJvcGVydHlB
dHRyaWJ1dGU6OkRvbnRFbnVtKTsKIH0KIApJbmRleDogU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
c2NyaXB0cy90ZXN0L0pTL0pTVGVzdE5hbWVkU2V0dGVyV2l0aExlZ2FjeU92ZXJyaWRlQnVpbHRJ
bnMuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVz
dC9KUy9KU1Rlc3ROYW1lZFNldHRlcldpdGhMZWdhY3lPdmVycmlkZUJ1aWx0SW5zLmNwcAkocmV2
aXNpb24gMjgyODUxKQorKysgU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pT
L0pTVGVzdE5hbWVkU2V0dGVyV2l0aExlZ2FjeU92ZXJyaWRlQnVpbHRJbnMuY3BwCSh3b3JraW5n
IGNvcHkpCkBAIC05NSw3ICs5NSw5IEBAIHRlbXBsYXRlPD4gSlNWYWx1ZSBKU1Rlc3ROYW1lZFNl
dHRlcldpdGgKIHRlbXBsYXRlPD4gdm9pZCBKU1Rlc3ROYW1lZFNldHRlcldpdGhMZWdhY3lPdmVy
cmlkZUJ1aWx0SW5zRE9NQ29uc3RydWN0b3I6OmluaXRpYWxpemVQcm9wZXJ0aWVzKFZNJiB2bSwg
SlNET01HbG9iYWxPYmplY3QmIGdsb2JhbE9iamVjdCkKIHsKICAgICBwdXREaXJlY3Qodm0sIHZt
LnByb3BlcnR5TmFtZXMtPnByb3RvdHlwZSwgSlNUZXN0TmFtZWRTZXR0ZXJXaXRoTGVnYWN5T3Zl
cnJpZGVCdWlsdEluczo6cHJvdG90eXBlKHZtLCBnbG9iYWxPYmplY3QpLCBKU0M6OlByb3BlcnR5
QXR0cmlidXRlOjpEb250RGVsZXRlIHwgSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6UmVhZE9ubHkg
fCBKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpEb250RW51bSk7Ci0gICAgcHV0RGlyZWN0KHZtLCB2
bS5wcm9wZXJ0eU5hbWVzLT5uYW1lLCBqc05vbnRyaXZpYWxTdHJpbmcodm0sICJUZXN0TmFtZWRT
ZXR0ZXJXaXRoTGVnYWN5T3ZlcnJpZGVCdWlsdElucyJfcyksIEpTQzo6UHJvcGVydHlBdHRyaWJ1
dGU6OlJlYWRPbmx5IHwgSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9udEVudW0pOworICAgIEpT
U3RyaW5nKiBuYW1lU3RyaW5nID0ganNOb250cml2aWFsU3RyaW5nKHZtLCAiVGVzdE5hbWVkU2V0
dGVyV2l0aExlZ2FjeU92ZXJyaWRlQnVpbHRJbnMiX3MpOworICAgIG1fb3JpZ2luYWxOYW1lLnNl
dCh2bSwgdGhpcywgbmFtZVN0cmluZyk7CisgICAgcHV0RGlyZWN0KHZtLCB2bS5wcm9wZXJ0eU5h
bWVzLT5uYW1lLCBuYW1lU3RyaW5nLCBKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpSZWFkT25seSB8
IEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OkRvbnRFbnVtKTsKICAgICBwdXREaXJlY3Qodm0sIHZt
LnByb3BlcnR5TmFtZXMtPmxlbmd0aCwganNOdW1iZXIoMCksIEpTQzo6UHJvcGVydHlBdHRyaWJ1
dGU6OlJlYWRPbmx5IHwgSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9udEVudW0pOwogfQogCklu
ZGV4OiBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0TmFtZWRT
ZXR0ZXJXaXRoTGVnYWN5VW5mb3JnZWFibGVQcm9wZXJ0aWVzLmNwcAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0TmFtZWRTZXR0ZXJX
aXRoTGVnYWN5VW5mb3JnZWFibGVQcm9wZXJ0aWVzLmNwcAkocmV2aXNpb24gMjgyODUxKQorKysg
U291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE5hbWVkU2V0dGVy
V2l0aExlZ2FjeVVuZm9yZ2VhYmxlUHJvcGVydGllcy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTEy
MSw3ICsxMjEsOSBAQCB0ZW1wbGF0ZTw+IEpTVmFsdWUgSlNUZXN0TmFtZWRTZXR0ZXJXaXRoCiB0
ZW1wbGF0ZTw+IHZvaWQgSlNUZXN0TmFtZWRTZXR0ZXJXaXRoTGVnYWN5VW5mb3JnZWFibGVQcm9w
ZXJ0aWVzRE9NQ29uc3RydWN0b3I6OmluaXRpYWxpemVQcm9wZXJ0aWVzKFZNJiB2bSwgSlNET01H
bG9iYWxPYmplY3QmIGdsb2JhbE9iamVjdCkKIHsKICAgICBwdXREaXJlY3Qodm0sIHZtLnByb3Bl
cnR5TmFtZXMtPnByb3RvdHlwZSwgSlNUZXN0TmFtZWRTZXR0ZXJXaXRoTGVnYWN5VW5mb3JnZWFi
bGVQcm9wZXJ0aWVzOjpwcm90b3R5cGUodm0sIGdsb2JhbE9iamVjdCksIEpTQzo6UHJvcGVydHlB
dHRyaWJ1dGU6OkRvbnREZWxldGUgfCBKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpSZWFkT25seSB8
IEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OkRvbnRFbnVtKTsKLSAgICBwdXREaXJlY3Qodm0sIHZt
LnByb3BlcnR5TmFtZXMtPm5hbWUsIGpzTm9udHJpdmlhbFN0cmluZyh2bSwgIlRlc3ROYW1lZFNl
dHRlcldpdGhMZWdhY3lVbmZvcmdlYWJsZVByb3BlcnRpZXMiX3MpLCBKU0M6OlByb3BlcnR5QXR0
cmlidXRlOjpSZWFkT25seSB8IEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OkRvbnRFbnVtKTsKKyAg
ICBKU1N0cmluZyogbmFtZVN0cmluZyA9IGpzTm9udHJpdmlhbFN0cmluZyh2bSwgIlRlc3ROYW1l
ZFNldHRlcldpdGhMZWdhY3lVbmZvcmdlYWJsZVByb3BlcnRpZXMiX3MpOworICAgIG1fb3JpZ2lu
YWxOYW1lLnNldCh2bSwgdGhpcywgbmFtZVN0cmluZyk7CisgICAgcHV0RGlyZWN0KHZtLCB2bS5w
cm9wZXJ0eU5hbWVzLT5uYW1lLCBuYW1lU3RyaW5nLCBKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpS
ZWFkT25seSB8IEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OkRvbnRFbnVtKTsKICAgICBwdXREaXJl
Y3Qodm0sIHZtLnByb3BlcnR5TmFtZXMtPmxlbmd0aCwganNOdW1iZXIoMCksIEpTQzo6UHJvcGVy
dHlBdHRyaWJ1dGU6OlJlYWRPbmx5IHwgSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9udEVudW0p
OwogfQogCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNU
ZXN0TmFtZWRTZXR0ZXJXaXRoTGVnYWN5VW5mb3JnZWFibGVQcm9wZXJ0aWVzQW5kTGVnYWN5T3Zl
cnJpZGVCdWlsdElucy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
c2NyaXB0cy90ZXN0L0pTL0pTVGVzdE5hbWVkU2V0dGVyV2l0aExlZ2FjeVVuZm9yZ2VhYmxlUHJv
cGVydGllc0FuZExlZ2FjeU92ZXJyaWRlQnVpbHRJbnMuY3BwCShyZXZpc2lvbiAyODI4NTEpCisr
KyBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0TmFtZWRTZXR0
ZXJXaXRoTGVnYWN5VW5mb3JnZWFibGVQcm9wZXJ0aWVzQW5kTGVnYWN5T3ZlcnJpZGVCdWlsdElu
cy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTEyMSw3ICsxMjEsOSBAQCB0ZW1wbGF0ZTw+IEpTVmFs
dWUgSlNUZXN0TmFtZWRTZXR0ZXJXaXRoCiB0ZW1wbGF0ZTw+IHZvaWQgSlNUZXN0TmFtZWRTZXR0
ZXJXaXRoTGVnYWN5VW5mb3JnZWFibGVQcm9wZXJ0aWVzQW5kTGVnYWN5T3ZlcnJpZGVCdWlsdElu
c0RPTUNvbnN0cnVjdG9yOjppbml0aWFsaXplUHJvcGVydGllcyhWTSYgdm0sIEpTRE9NR2xvYmFs
T2JqZWN0JiBnbG9iYWxPYmplY3QpCiB7CiAgICAgcHV0RGlyZWN0KHZtLCB2bS5wcm9wZXJ0eU5h
bWVzLT5wcm90b3R5cGUsIEpTVGVzdE5hbWVkU2V0dGVyV2l0aExlZ2FjeVVuZm9yZ2VhYmxlUHJv
cGVydGllc0FuZExlZ2FjeU92ZXJyaWRlQnVpbHRJbnM6OnByb3RvdHlwZSh2bSwgZ2xvYmFsT2Jq
ZWN0KSwgSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9udERlbGV0ZSB8IEpTQzo6UHJvcGVydHlB
dHRyaWJ1dGU6OlJlYWRPbmx5IHwgSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9udEVudW0pOwot
ICAgIHB1dERpcmVjdCh2bSwgdm0ucHJvcGVydHlOYW1lcy0+bmFtZSwganNOb250cml2aWFsU3Ry
aW5nKHZtLCAiVGVzdE5hbWVkU2V0dGVyV2l0aExlZ2FjeVVuZm9yZ2VhYmxlUHJvcGVydGllc0Fu
ZExlZ2FjeU92ZXJyaWRlQnVpbHRJbnMiX3MpLCBKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpSZWFk
T25seSB8IEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OkRvbnRFbnVtKTsKKyAgICBKU1N0cmluZyog
bmFtZVN0cmluZyA9IGpzTm9udHJpdmlhbFN0cmluZyh2bSwgIlRlc3ROYW1lZFNldHRlcldpdGhM
ZWdhY3lVbmZvcmdlYWJsZVByb3BlcnRpZXNBbmRMZWdhY3lPdmVycmlkZUJ1aWx0SW5zIl9zKTsK
KyAgICBtX29yaWdpbmFsTmFtZS5zZXQodm0sIHRoaXMsIG5hbWVTdHJpbmcpOworICAgIHB1dERp
cmVjdCh2bSwgdm0ucHJvcGVydHlOYW1lcy0+bmFtZSwgbmFtZVN0cmluZywgSlNDOjpQcm9wZXJ0
eUF0dHJpYnV0ZTo6UmVhZE9ubHkgfCBKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpEb250RW51bSk7
CiAgICAgcHV0RGlyZWN0KHZtLCB2bS5wcm9wZXJ0eU5hbWVzLT5sZW5ndGgsIGpzTnVtYmVyKDAp
LCBKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpSZWFkT25seSB8IEpTQzo6UHJvcGVydHlBdHRyaWJ1
dGU6OkRvbnRFbnVtKTsKIH0KIApJbmRleDogU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0
cy90ZXN0L0pTL0pTVGVzdE5vZGUuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3ROb2RlLmNwcAkocmV2aXNpb24gMjgyODUxKQor
KysgU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE5vZGUuY3Bw
CSh3b3JraW5nIGNvcHkpCkBAIC0xNDEsNyArMTQxLDkgQEAgdGVtcGxhdGU8PiBKU1ZhbHVlIEpT
VGVzdE5vZGVET01Db25zdHJ1YwogdGVtcGxhdGU8PiB2b2lkIEpTVGVzdE5vZGVET01Db25zdHJ1
Y3Rvcjo6aW5pdGlhbGl6ZVByb3BlcnRpZXMoVk0mIHZtLCBKU0RPTUdsb2JhbE9iamVjdCYgZ2xv
YmFsT2JqZWN0KQogewogICAgIHB1dERpcmVjdCh2bSwgdm0ucHJvcGVydHlOYW1lcy0+cHJvdG90
eXBlLCBKU1Rlc3ROb2RlOjpwcm90b3R5cGUodm0sIGdsb2JhbE9iamVjdCksIEpTQzo6UHJvcGVy
dHlBdHRyaWJ1dGU6OkRvbnREZWxldGUgfCBKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpSZWFkT25s
eSB8IEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OkRvbnRFbnVtKTsKLSAgICBwdXREaXJlY3Qodm0s
IHZtLnByb3BlcnR5TmFtZXMtPm5hbWUsIGpzTm9udHJpdmlhbFN0cmluZyh2bSwgIlRlc3ROb2Rl
Il9zKSwgSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6UmVhZE9ubHkgfCBKU0M6OlByb3BlcnR5QXR0
cmlidXRlOjpEb250RW51bSk7CisgICAgSlNTdHJpbmcqIG5hbWVTdHJpbmcgPSBqc05vbnRyaXZp
YWxTdHJpbmcodm0sICJUZXN0Tm9kZSJfcyk7CisgICAgbV9vcmlnaW5hbE5hbWUuc2V0KHZtLCB0
aGlzLCBuYW1lU3RyaW5nKTsKKyAgICBwdXREaXJlY3Qodm0sIHZtLnByb3BlcnR5TmFtZXMtPm5h
bWUsIG5hbWVTdHJpbmcsIEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OlJlYWRPbmx5IHwgSlNDOjpQ
cm9wZXJ0eUF0dHJpYnV0ZTo6RG9udEVudW0pOwogICAgIHB1dERpcmVjdCh2bSwgdm0ucHJvcGVy
dHlOYW1lcy0+bGVuZ3RoLCBqc051bWJlcigwKSwgSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6UmVh
ZE9ubHkgfCBKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpEb250RW51bSk7CiB9CiAKSW5kZXg6IFNv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RPYmouY3BwCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RP
YmouY3BwCShyZXZpc2lvbiAyODI4NTEpCisrKyBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3Jp
cHRzL3Rlc3QvSlMvSlNUZXN0T2JqLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjAzMyw3ICsyMDMz
LDkgQEAgdGVtcGxhdGU8PiBKU1ZhbHVlIEpTVGVzdE9iakRPTUNvbnN0cnVjdAogdGVtcGxhdGU8
PiB2b2lkIEpTVGVzdE9iakRPTUNvbnN0cnVjdG9yOjppbml0aWFsaXplUHJvcGVydGllcyhWTSYg
dm0sIEpTRE9NR2xvYmFsT2JqZWN0JiBnbG9iYWxPYmplY3QpCiB7CiAgICAgcHV0RGlyZWN0KHZt
LCB2bS5wcm9wZXJ0eU5hbWVzLT5wcm90b3R5cGUsIEpTVGVzdE9iajo6cHJvdG90eXBlKHZtLCBn
bG9iYWxPYmplY3QpLCBKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpEb250RGVsZXRlIHwgSlNDOjpQ
cm9wZXJ0eUF0dHJpYnV0ZTo6UmVhZE9ubHkgfCBKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpEb250
RW51bSk7Ci0gICAgcHV0RGlyZWN0KHZtLCB2bS5wcm9wZXJ0eU5hbWVzLT5uYW1lLCBqc05vbnRy
aXZpYWxTdHJpbmcodm0sICJUZXN0T2JqZWN0Il9zKSwgSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6
UmVhZE9ubHkgfCBKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpEb250RW51bSk7CisgICAgSlNTdHJp
bmcqIG5hbWVTdHJpbmcgPSBqc05vbnRyaXZpYWxTdHJpbmcodm0sICJUZXN0T2JqZWN0Il9zKTsK
KyAgICBtX29yaWdpbmFsTmFtZS5zZXQodm0sIHRoaXMsIG5hbWVTdHJpbmcpOworICAgIHB1dERp
cmVjdCh2bSwgdm0ucHJvcGVydHlOYW1lcy0+bmFtZSwgbmFtZVN0cmluZywgSlNDOjpQcm9wZXJ0
eUF0dHJpYnV0ZTo6UmVhZE9ubHkgfCBKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpEb250RW51bSk7
CiAgICAgcHV0RGlyZWN0KHZtLCB2bS5wcm9wZXJ0eU5hbWVzLT5sZW5ndGgsIGpzTnVtYmVyKDIp
LCBKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpSZWFkT25seSB8IEpTQzo6UHJvcGVydHlBdHRyaWJ1
dGU6OkRvbnRFbnVtKTsKICAgICByZWlmeVN0YXRpY1Byb3BlcnRpZXModm0sIEpTVGVzdE9iajo6
aW5mbygpLCBKU1Rlc3RPYmpDb25zdHJ1Y3RvclRhYmxlVmFsdWVzLCAqdGhpcyk7CiAjaWYgRU5B
QkxFKFRFU1RfRkVBVFVSRSkKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMv
dGVzdC9KUy9KU1Rlc3RPcGVyYXRpb25Db25kaXRpb25hbC5jcHAKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE9wZXJhdGlvbkNvbmRp
dGlvbmFsLmNwcAkocmV2aXNpb24gMjgyODUxKQorKysgU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
c2NyaXB0cy90ZXN0L0pTL0pTVGVzdE9wZXJhdGlvbkNvbmRpdGlvbmFsLmNwcAkod29ya2luZyBj
b3B5KQpAQCAtMTExLDcgKzExMSw5IEBAIHRlbXBsYXRlPD4gSlNWYWx1ZSBKU1Rlc3RPcGVyYXRp
b25Db25kaXQKIHRlbXBsYXRlPD4gdm9pZCBKU1Rlc3RPcGVyYXRpb25Db25kaXRpb25hbERPTUNv
bnN0cnVjdG9yOjppbml0aWFsaXplUHJvcGVydGllcyhWTSYgdm0sIEpTRE9NR2xvYmFsT2JqZWN0
JiBnbG9iYWxPYmplY3QpCiB7CiAgICAgcHV0RGlyZWN0KHZtLCB2bS5wcm9wZXJ0eU5hbWVzLT5w
cm90b3R5cGUsIEpTVGVzdE9wZXJhdGlvbkNvbmRpdGlvbmFsOjpwcm90b3R5cGUodm0sIGdsb2Jh
bE9iamVjdCksIEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OkRvbnREZWxldGUgfCBKU0M6OlByb3Bl
cnR5QXR0cmlidXRlOjpSZWFkT25seSB8IEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OkRvbnRFbnVt
KTsKLSAgICBwdXREaXJlY3Qodm0sIHZtLnByb3BlcnR5TmFtZXMtPm5hbWUsIGpzTm9udHJpdmlh
bFN0cmluZyh2bSwgIlRlc3RPcGVyYXRpb25Db25kaXRpb25hbCJfcyksIEpTQzo6UHJvcGVydHlB
dHRyaWJ1dGU6OlJlYWRPbmx5IHwgSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9udEVudW0pOwor
ICAgIEpTU3RyaW5nKiBuYW1lU3RyaW5nID0ganNOb250cml2aWFsU3RyaW5nKHZtLCAiVGVzdE9w
ZXJhdGlvbkNvbmRpdGlvbmFsIl9zKTsKKyAgICBtX29yaWdpbmFsTmFtZS5zZXQodm0sIHRoaXMs
IG5hbWVTdHJpbmcpOworICAgIHB1dERpcmVjdCh2bSwgdm0ucHJvcGVydHlOYW1lcy0+bmFtZSwg
bmFtZVN0cmluZywgSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6UmVhZE9ubHkgfCBKU0M6OlByb3Bl
cnR5QXR0cmlidXRlOjpEb250RW51bSk7CiAgICAgcHV0RGlyZWN0KHZtLCB2bS5wcm9wZXJ0eU5h
bWVzLT5sZW5ndGgsIGpzTnVtYmVyKDApLCBKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpSZWFkT25s
eSB8IEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OkRvbnRFbnVtKTsKIH0KIApJbmRleDogU291cmNl
L1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE92ZXJsb2FkZWRDb25zdHJ1
Y3RvcnMuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMv
dGVzdC9KUy9KU1Rlc3RPdmVybG9hZGVkQ29uc3RydWN0b3JzLmNwcAkocmV2aXNpb24gMjgyODUx
KQorKysgU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE92ZXJs
b2FkZWRDb25zdHJ1Y3RvcnMuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yMTgsNyArMjE4LDkgQEAg
dGVtcGxhdGU8PiBKU1ZhbHVlIEpTVGVzdE92ZXJsb2FkZWRDb25zdAogdGVtcGxhdGU8PiB2b2lk
IEpTVGVzdE92ZXJsb2FkZWRDb25zdHJ1Y3RvcnNET01Db25zdHJ1Y3Rvcjo6aW5pdGlhbGl6ZVBy
b3BlcnRpZXMoVk0mIHZtLCBKU0RPTUdsb2JhbE9iamVjdCYgZ2xvYmFsT2JqZWN0KQogewogICAg
IHB1dERpcmVjdCh2bSwgdm0ucHJvcGVydHlOYW1lcy0+cHJvdG90eXBlLCBKU1Rlc3RPdmVybG9h
ZGVkQ29uc3RydWN0b3JzOjpwcm90b3R5cGUodm0sIGdsb2JhbE9iamVjdCksIEpTQzo6UHJvcGVy
dHlBdHRyaWJ1dGU6OkRvbnREZWxldGUgfCBKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpSZWFkT25s
eSB8IEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OkRvbnRFbnVtKTsKLSAgICBwdXREaXJlY3Qodm0s
IHZtLnByb3BlcnR5TmFtZXMtPm5hbWUsIGpzTm9udHJpdmlhbFN0cmluZyh2bSwgIlRlc3RPdmVy
bG9hZGVkQ29uc3RydWN0b3JzIl9zKSwgSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6UmVhZE9ubHkg
fCBKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpEb250RW51bSk7CisgICAgSlNTdHJpbmcqIG5hbWVT
dHJpbmcgPSBqc05vbnRyaXZpYWxTdHJpbmcodm0sICJUZXN0T3ZlcmxvYWRlZENvbnN0cnVjdG9y
cyJfcyk7CisgICAgbV9vcmlnaW5hbE5hbWUuc2V0KHZtLCB0aGlzLCBuYW1lU3RyaW5nKTsKKyAg
ICBwdXREaXJlY3Qodm0sIHZtLnByb3BlcnR5TmFtZXMtPm5hbWUsIG5hbWVTdHJpbmcsIEpTQzo6
UHJvcGVydHlBdHRyaWJ1dGU6OlJlYWRPbmx5IHwgSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9u
dEVudW0pOwogICAgIHB1dERpcmVjdCh2bSwgdm0ucHJvcGVydHlOYW1lcy0+bGVuZ3RoLCBqc051
bWJlcigwKSwgSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6UmVhZE9ubHkgfCBKU0M6OlByb3BlcnR5
QXR0cmlidXRlOjpEb250RW51bSk7CiB9CiAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RPdmVybG9hZGVkQ29uc3RydWN0b3JzV2l0aFNlcXVlbmNl
LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3Qv
SlMvSlNUZXN0T3ZlcmxvYWRlZENvbnN0cnVjdG9yc1dpdGhTZXF1ZW5jZS5jcHAJKHJldmlzaW9u
IDI4Mjg1MSkKKysrIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rl
c3RPdmVybG9hZGVkQ29uc3RydWN0b3JzV2l0aFNlcXVlbmNlLmNwcAkod29ya2luZyBjb3B5KQpA
QCAtMTYxLDcgKzE2MSw5IEBAIHRlbXBsYXRlPD4gSlNWYWx1ZSBKU1Rlc3RPdmVybG9hZGVkQ29u
c3QKIHRlbXBsYXRlPD4gdm9pZCBKU1Rlc3RPdmVybG9hZGVkQ29uc3RydWN0b3JzV2l0aFNlcXVl
bmNlRE9NQ29uc3RydWN0b3I6OmluaXRpYWxpemVQcm9wZXJ0aWVzKFZNJiB2bSwgSlNET01HbG9i
YWxPYmplY3QmIGdsb2JhbE9iamVjdCkKIHsKICAgICBwdXREaXJlY3Qodm0sIHZtLnByb3BlcnR5
TmFtZXMtPnByb3RvdHlwZSwgSlNUZXN0T3ZlcmxvYWRlZENvbnN0cnVjdG9yc1dpdGhTZXF1ZW5j
ZTo6cHJvdG90eXBlKHZtLCBnbG9iYWxPYmplY3QpLCBKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpE
b250RGVsZXRlIHwgSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6UmVhZE9ubHkgfCBKU0M6OlByb3Bl
cnR5QXR0cmlidXRlOjpEb250RW51bSk7Ci0gICAgcHV0RGlyZWN0KHZtLCB2bS5wcm9wZXJ0eU5h
bWVzLT5uYW1lLCBqc05vbnRyaXZpYWxTdHJpbmcodm0sICJUZXN0T3ZlcmxvYWRlZENvbnN0cnVj
dG9yc1dpdGhTZXF1ZW5jZSJfcyksIEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OlJlYWRPbmx5IHwg
SlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9udEVudW0pOworICAgIEpTU3RyaW5nKiBuYW1lU3Ry
aW5nID0ganNOb250cml2aWFsU3RyaW5nKHZtLCAiVGVzdE92ZXJsb2FkZWRDb25zdHJ1Y3RvcnNX
aXRoU2VxdWVuY2UiX3MpOworICAgIG1fb3JpZ2luYWxOYW1lLnNldCh2bSwgdGhpcywgbmFtZVN0
cmluZyk7CisgICAgcHV0RGlyZWN0KHZtLCB2bS5wcm9wZXJ0eU5hbWVzLT5uYW1lLCBuYW1lU3Ry
aW5nLCBKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpSZWFkT25seSB8IEpTQzo6UHJvcGVydHlBdHRy
aWJ1dGU6OkRvbnRFbnVtKTsKICAgICBwdXREaXJlY3Qodm0sIHZtLnByb3BlcnR5TmFtZXMtPmxl
bmd0aCwganNOdW1iZXIoMCksIEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OlJlYWRPbmx5IHwgSlND
OjpQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9udEVudW0pOwogfQogCkluZGV4OiBTb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0UGx1Z2luSW50ZXJmYWNlLmNwcAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0
UGx1Z2luSW50ZXJmYWNlLmNwcAkocmV2aXNpb24gMjgyODUxKQorKysgU291cmNlL1dlYkNvcmUv
YmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdFBsdWdpbkludGVyZmFjZS5jcHAJKHdvcmtp
bmcgY29weSkKQEAgLTk0LDcgKzk0LDkgQEAgdGVtcGxhdGU8PiBKU1ZhbHVlIEpTVGVzdFBsdWdp
bkludGVyZmFjZQogdGVtcGxhdGU8PiB2b2lkIEpTVGVzdFBsdWdpbkludGVyZmFjZURPTUNvbnN0
cnVjdG9yOjppbml0aWFsaXplUHJvcGVydGllcyhWTSYgdm0sIEpTRE9NR2xvYmFsT2JqZWN0JiBn
bG9iYWxPYmplY3QpCiB7CiAgICAgcHV0RGlyZWN0KHZtLCB2bS5wcm9wZXJ0eU5hbWVzLT5wcm90
b3R5cGUsIEpTVGVzdFBsdWdpbkludGVyZmFjZTo6cHJvdG90eXBlKHZtLCBnbG9iYWxPYmplY3Qp
LCBKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpEb250RGVsZXRlIHwgSlNDOjpQcm9wZXJ0eUF0dHJp
YnV0ZTo6UmVhZE9ubHkgfCBKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpEb250RW51bSk7Ci0gICAg
cHV0RGlyZWN0KHZtLCB2bS5wcm9wZXJ0eU5hbWVzLT5uYW1lLCBqc05vbnRyaXZpYWxTdHJpbmco
dm0sICJUZXN0UGx1Z2luSW50ZXJmYWNlIl9zKSwgSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6UmVh
ZE9ubHkgfCBKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpEb250RW51bSk7CisgICAgSlNTdHJpbmcq
IG5hbWVTdHJpbmcgPSBqc05vbnRyaXZpYWxTdHJpbmcodm0sICJUZXN0UGx1Z2luSW50ZXJmYWNl
Il9zKTsKKyAgICBtX29yaWdpbmFsTmFtZS5zZXQodm0sIHRoaXMsIG5hbWVTdHJpbmcpOworICAg
IHB1dERpcmVjdCh2bSwgdm0ucHJvcGVydHlOYW1lcy0+bmFtZSwgbmFtZVN0cmluZywgSlNDOjpQ
cm9wZXJ0eUF0dHJpYnV0ZTo6UmVhZE9ubHkgfCBKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpEb250
RW51bSk7CiAgICAgcHV0RGlyZWN0KHZtLCB2bS5wcm9wZXJ0eU5hbWVzLT5sZW5ndGgsIGpzTnVt
YmVyKDApLCBKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpSZWFkT25seSB8IEpTQzo6UHJvcGVydHlB
dHRyaWJ1dGU6OkRvbnRFbnVtKTsKIH0KIApJbmRleDogU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
c2NyaXB0cy90ZXN0L0pTL0pTVGVzdFByb21pc2VSZWplY3Rpb25FdmVudC5jcHAKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdFByb21p
c2VSZWplY3Rpb25FdmVudC5jcHAJKHJldmlzaW9uIDI4Mjg1MSkKKysrIFNvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RQcm9taXNlUmVqZWN0aW9uRXZlbnQuY3Bw
CSh3b3JraW5nIGNvcHkpCkBAIC0yMDIsNyArMjAyLDkgQEAgdGVtcGxhdGU8PiBKU1ZhbHVlIEpT
VGVzdFByb21pc2VSZWplY3RpbwogdGVtcGxhdGU8PiB2b2lkIEpTVGVzdFByb21pc2VSZWplY3Rp
b25FdmVudERPTUNvbnN0cnVjdG9yOjppbml0aWFsaXplUHJvcGVydGllcyhWTSYgdm0sIEpTRE9N
R2xvYmFsT2JqZWN0JiBnbG9iYWxPYmplY3QpCiB7CiAgICAgcHV0RGlyZWN0KHZtLCB2bS5wcm9w
ZXJ0eU5hbWVzLT5wcm90b3R5cGUsIEpTVGVzdFByb21pc2VSZWplY3Rpb25FdmVudDo6cHJvdG90
eXBlKHZtLCBnbG9iYWxPYmplY3QpLCBKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpEb250RGVsZXRl
IHwgSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6UmVhZE9ubHkgfCBKU0M6OlByb3BlcnR5QXR0cmli
dXRlOjpEb250RW51bSk7Ci0gICAgcHV0RGlyZWN0KHZtLCB2bS5wcm9wZXJ0eU5hbWVzLT5uYW1l
LCBqc05vbnRyaXZpYWxTdHJpbmcodm0sICJUZXN0UHJvbWlzZVJlamVjdGlvbkV2ZW50Il9zKSwg
SlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6UmVhZE9ubHkgfCBKU0M6OlByb3BlcnR5QXR0cmlidXRl
OjpEb250RW51bSk7CisgICAgSlNTdHJpbmcqIG5hbWVTdHJpbmcgPSBqc05vbnRyaXZpYWxTdHJp
bmcodm0sICJUZXN0UHJvbWlzZVJlamVjdGlvbkV2ZW50Il9zKTsKKyAgICBtX29yaWdpbmFsTmFt
ZS5zZXQodm0sIHRoaXMsIG5hbWVTdHJpbmcpOworICAgIHB1dERpcmVjdCh2bSwgdm0ucHJvcGVy
dHlOYW1lcy0+bmFtZSwgbmFtZVN0cmluZywgSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6UmVhZE9u
bHkgfCBKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpEb250RW51bSk7CiAgICAgcHV0RGlyZWN0KHZt
LCB2bS5wcm9wZXJ0eU5hbWVzLT5sZW5ndGgsIGpzTnVtYmVyKDIpLCBKU0M6OlByb3BlcnR5QXR0
cmlidXRlOjpSZWFkT25seSB8IEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OkRvbnRFbnVtKTsKIH0K
IApJbmRleDogU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdFJl
YWRPbmx5TWFwTGlrZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
c2NyaXB0cy90ZXN0L0pTL0pTVGVzdFJlYWRPbmx5TWFwTGlrZS5jcHAJKHJldmlzaW9uIDI4Mjg1
MSkKKysrIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RSZWFk
T25seU1hcExpa2UuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xMDksNyArMTA5LDkgQEAgdGVtcGxh
dGU8PiBKU1ZhbHVlIEpTVGVzdFJlYWRPbmx5TWFwTGlrZQogdGVtcGxhdGU8PiB2b2lkIEpTVGVz
dFJlYWRPbmx5TWFwTGlrZURPTUNvbnN0cnVjdG9yOjppbml0aWFsaXplUHJvcGVydGllcyhWTSYg
dm0sIEpTRE9NR2xvYmFsT2JqZWN0JiBnbG9iYWxPYmplY3QpCiB7CiAgICAgcHV0RGlyZWN0KHZt
LCB2bS5wcm9wZXJ0eU5hbWVzLT5wcm90b3R5cGUsIEpTVGVzdFJlYWRPbmx5TWFwTGlrZTo6cHJv
dG90eXBlKHZtLCBnbG9iYWxPYmplY3QpLCBKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpEb250RGVs
ZXRlIHwgSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6UmVhZE9ubHkgfCBKU0M6OlByb3BlcnR5QXR0
cmlidXRlOjpEb250RW51bSk7Ci0gICAgcHV0RGlyZWN0KHZtLCB2bS5wcm9wZXJ0eU5hbWVzLT5u
YW1lLCBqc05vbnRyaXZpYWxTdHJpbmcodm0sICJUZXN0UmVhZE9ubHlNYXBMaWtlIl9zKSwgSlND
OjpQcm9wZXJ0eUF0dHJpYnV0ZTo6UmVhZE9ubHkgfCBKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpE
b250RW51bSk7CisgICAgSlNTdHJpbmcqIG5hbWVTdHJpbmcgPSBqc05vbnRyaXZpYWxTdHJpbmco
dm0sICJUZXN0UmVhZE9ubHlNYXBMaWtlIl9zKTsKKyAgICBtX29yaWdpbmFsTmFtZS5zZXQodm0s
IHRoaXMsIG5hbWVTdHJpbmcpOworICAgIHB1dERpcmVjdCh2bSwgdm0ucHJvcGVydHlOYW1lcy0+
bmFtZSwgbmFtZVN0cmluZywgSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6UmVhZE9ubHkgfCBKU0M6
OlByb3BlcnR5QXR0cmlidXRlOjpEb250RW51bSk7CiAgICAgcHV0RGlyZWN0KHZtLCB2bS5wcm9w
ZXJ0eU5hbWVzLT5sZW5ndGgsIGpzTnVtYmVyKDApLCBKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpS
ZWFkT25seSB8IEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OkRvbnRFbnVtKTsKIH0KIApJbmRleDog
U291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdFJlYWRPbmx5U2V0
TGlrZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90
ZXN0L0pTL0pTVGVzdFJlYWRPbmx5U2V0TGlrZS5jcHAJKHJldmlzaW9uIDI4Mjg1MSkKKysrIFNv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RSZWFkT25seVNldExp
a2UuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xMDgsNyArMTA4LDkgQEAgdGVtcGxhdGU8PiBKU1Zh
bHVlIEpTVGVzdFJlYWRPbmx5U2V0TGlrZQogdGVtcGxhdGU8PiB2b2lkIEpTVGVzdFJlYWRPbmx5
U2V0TGlrZURPTUNvbnN0cnVjdG9yOjppbml0aWFsaXplUHJvcGVydGllcyhWTSYgdm0sIEpTRE9N
R2xvYmFsT2JqZWN0JiBnbG9iYWxPYmplY3QpCiB7CiAgICAgcHV0RGlyZWN0KHZtLCB2bS5wcm9w
ZXJ0eU5hbWVzLT5wcm90b3R5cGUsIEpTVGVzdFJlYWRPbmx5U2V0TGlrZTo6cHJvdG90eXBlKHZt
LCBnbG9iYWxPYmplY3QpLCBKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpEb250RGVsZXRlIHwgSlND
OjpQcm9wZXJ0eUF0dHJpYnV0ZTo6UmVhZE9ubHkgfCBKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpE
b250RW51bSk7Ci0gICAgcHV0RGlyZWN0KHZtLCB2bS5wcm9wZXJ0eU5hbWVzLT5uYW1lLCBqc05v
bnRyaXZpYWxTdHJpbmcodm0sICJUZXN0UmVhZE9ubHlTZXRMaWtlIl9zKSwgSlNDOjpQcm9wZXJ0
eUF0dHJpYnV0ZTo6UmVhZE9ubHkgfCBKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpEb250RW51bSk7
CisgICAgSlNTdHJpbmcqIG5hbWVTdHJpbmcgPSBqc05vbnRyaXZpYWxTdHJpbmcodm0sICJUZXN0
UmVhZE9ubHlTZXRMaWtlIl9zKTsKKyAgICBtX29yaWdpbmFsTmFtZS5zZXQodm0sIHRoaXMsIG5h
bWVTdHJpbmcpOworICAgIHB1dERpcmVjdCh2bSwgdm0ucHJvcGVydHlOYW1lcy0+bmFtZSwgbmFt
ZVN0cmluZywgSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6UmVhZE9ubHkgfCBKU0M6OlByb3BlcnR5
QXR0cmlidXRlOjpEb250RW51bSk7CiAgICAgcHV0RGlyZWN0KHZtLCB2bS5wcm9wZXJ0eU5hbWVz
LT5sZW5ndGgsIGpzTnVtYmVyKDApLCBKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpSZWFkT25seSB8
IEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OkRvbnRFbnVtKTsKIH0KIApJbmRleDogU291cmNlL1dl
YkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdFJlcG9ydEV4dHJhTWVtb3J5Q29z
dC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0
L0pTL0pTVGVzdFJlcG9ydEV4dHJhTWVtb3J5Q29zdC5jcHAJKHJldmlzaW9uIDI4Mjg1MSkKKysr
IFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RSZXBvcnRFeHRy
YU1lbW9yeUNvc3QuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC05Myw3ICs5Myw5IEBAIHRlbXBsYXRl
PD4gSlNWYWx1ZSBKU1Rlc3RSZXBvcnRFeHRyYU1lbW8KIHRlbXBsYXRlPD4gdm9pZCBKU1Rlc3RS
ZXBvcnRFeHRyYU1lbW9yeUNvc3RET01Db25zdHJ1Y3Rvcjo6aW5pdGlhbGl6ZVByb3BlcnRpZXMo
Vk0mIHZtLCBKU0RPTUdsb2JhbE9iamVjdCYgZ2xvYmFsT2JqZWN0KQogewogICAgIHB1dERpcmVj
dCh2bSwgdm0ucHJvcGVydHlOYW1lcy0+cHJvdG90eXBlLCBKU1Rlc3RSZXBvcnRFeHRyYU1lbW9y
eUNvc3Q6OnByb3RvdHlwZSh2bSwgZ2xvYmFsT2JqZWN0KSwgSlNDOjpQcm9wZXJ0eUF0dHJpYnV0
ZTo6RG9udERlbGV0ZSB8IEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OlJlYWRPbmx5IHwgSlNDOjpQ
cm9wZXJ0eUF0dHJpYnV0ZTo6RG9udEVudW0pOwotICAgIHB1dERpcmVjdCh2bSwgdm0ucHJvcGVy
dHlOYW1lcy0+bmFtZSwganNOb250cml2aWFsU3RyaW5nKHZtLCAiVGVzdFJlcG9ydEV4dHJhTWVt
b3J5Q29zdCJfcyksIEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OlJlYWRPbmx5IHwgSlNDOjpQcm9w
ZXJ0eUF0dHJpYnV0ZTo6RG9udEVudW0pOworICAgIEpTU3RyaW5nKiBuYW1lU3RyaW5nID0ganNO
b250cml2aWFsU3RyaW5nKHZtLCAiVGVzdFJlcG9ydEV4dHJhTWVtb3J5Q29zdCJfcyk7CisgICAg
bV9vcmlnaW5hbE5hbWUuc2V0KHZtLCB0aGlzLCBuYW1lU3RyaW5nKTsKKyAgICBwdXREaXJlY3Qo
dm0sIHZtLnByb3BlcnR5TmFtZXMtPm5hbWUsIG5hbWVTdHJpbmcsIEpTQzo6UHJvcGVydHlBdHRy
aWJ1dGU6OlJlYWRPbmx5IHwgSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9udEVudW0pOwogICAg
IHB1dERpcmVjdCh2bSwgdm0ucHJvcGVydHlOYW1lcy0+bGVuZ3RoLCBqc051bWJlcigwKSwgSlND
OjpQcm9wZXJ0eUF0dHJpYnV0ZTo6UmVhZE9ubHkgfCBKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpE
b250RW51bSk7CiB9CiAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVz
dC9KUy9KU1Rlc3RTZXJpYWxpemVkU2NyaXB0VmFsdWVJbnRlcmZhY2UuY3BwCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RTZXJpYWxp
emVkU2NyaXB0VmFsdWVJbnRlcmZhY2UuY3BwCShyZXZpc2lvbiAyODI4NTEpCisrKyBTb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0U2VyaWFsaXplZFNjcmlwdFZh
bHVlSW50ZXJmYWNlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTE5LDcgKzExOSw5IEBAIHRlbXBs
YXRlPD4gSlNWYWx1ZSBKU1Rlc3RTZXJpYWxpemVkU2NyaXAKIHRlbXBsYXRlPD4gdm9pZCBKU1Rl
c3RTZXJpYWxpemVkU2NyaXB0VmFsdWVJbnRlcmZhY2VET01Db25zdHJ1Y3Rvcjo6aW5pdGlhbGl6
ZVByb3BlcnRpZXMoVk0mIHZtLCBKU0RPTUdsb2JhbE9iamVjdCYgZ2xvYmFsT2JqZWN0KQogewog
ICAgIHB1dERpcmVjdCh2bSwgdm0ucHJvcGVydHlOYW1lcy0+cHJvdG90eXBlLCBKU1Rlc3RTZXJp
YWxpemVkU2NyaXB0VmFsdWVJbnRlcmZhY2U6OnByb3RvdHlwZSh2bSwgZ2xvYmFsT2JqZWN0KSwg
SlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9udERlbGV0ZSB8IEpTQzo6UHJvcGVydHlBdHRyaWJ1
dGU6OlJlYWRPbmx5IHwgSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9udEVudW0pOwotICAgIHB1
dERpcmVjdCh2bSwgdm0ucHJvcGVydHlOYW1lcy0+bmFtZSwganNOb250cml2aWFsU3RyaW5nKHZt
LCAiVGVzdFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZUludGVyZmFjZSJfcyksIEpTQzo6UHJvcGVydHlB
dHRyaWJ1dGU6OlJlYWRPbmx5IHwgSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9udEVudW0pOwor
ICAgIEpTU3RyaW5nKiBuYW1lU3RyaW5nID0ganNOb250cml2aWFsU3RyaW5nKHZtLCAiVGVzdFNl
cmlhbGl6ZWRTY3JpcHRWYWx1ZUludGVyZmFjZSJfcyk7CisgICAgbV9vcmlnaW5hbE5hbWUuc2V0
KHZtLCB0aGlzLCBuYW1lU3RyaW5nKTsKKyAgICBwdXREaXJlY3Qodm0sIHZtLnByb3BlcnR5TmFt
ZXMtPm5hbWUsIG5hbWVTdHJpbmcsIEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OlJlYWRPbmx5IHwg
SlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9udEVudW0pOwogICAgIHB1dERpcmVjdCh2bSwgdm0u
cHJvcGVydHlOYW1lcy0+bGVuZ3RoLCBqc051bWJlcigwKSwgSlNDOjpQcm9wZXJ0eUF0dHJpYnV0
ZTo6UmVhZE9ubHkgfCBKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpEb250RW51bSk7CiB9CiAKSW5k
ZXg6IFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RTZXRMaWtl
LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3Qv
SlMvSlNUZXN0U2V0TGlrZS5jcHAJKHJldmlzaW9uIDI4Mjg1MSkKKysrIFNvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RTZXRMaWtlLmNwcAkod29ya2luZyBjb3B5
KQpAQCAtMTExLDcgKzExMSw5IEBAIHRlbXBsYXRlPD4gSlNWYWx1ZSBKU1Rlc3RTZXRMaWtlRE9N
Q29uc3QKIHRlbXBsYXRlPD4gdm9pZCBKU1Rlc3RTZXRMaWtlRE9NQ29uc3RydWN0b3I6OmluaXRp
YWxpemVQcm9wZXJ0aWVzKFZNJiB2bSwgSlNET01HbG9iYWxPYmplY3QmIGdsb2JhbE9iamVjdCkK
IHsKICAgICBwdXREaXJlY3Qodm0sIHZtLnByb3BlcnR5TmFtZXMtPnByb3RvdHlwZSwgSlNUZXN0
U2V0TGlrZTo6cHJvdG90eXBlKHZtLCBnbG9iYWxPYmplY3QpLCBKU0M6OlByb3BlcnR5QXR0cmli
dXRlOjpEb250RGVsZXRlIHwgSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6UmVhZE9ubHkgfCBKU0M6
OlByb3BlcnR5QXR0cmlidXRlOjpEb250RW51bSk7Ci0gICAgcHV0RGlyZWN0KHZtLCB2bS5wcm9w
ZXJ0eU5hbWVzLT5uYW1lLCBqc05vbnRyaXZpYWxTdHJpbmcodm0sICJUZXN0U2V0TGlrZSJfcyks
IEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OlJlYWRPbmx5IHwgSlNDOjpQcm9wZXJ0eUF0dHJpYnV0
ZTo6RG9udEVudW0pOworICAgIEpTU3RyaW5nKiBuYW1lU3RyaW5nID0ganNOb250cml2aWFsU3Ry
aW5nKHZtLCAiVGVzdFNldExpa2UiX3MpOworICAgIG1fb3JpZ2luYWxOYW1lLnNldCh2bSwgdGhp
cywgbmFtZVN0cmluZyk7CisgICAgcHV0RGlyZWN0KHZtLCB2bS5wcm9wZXJ0eU5hbWVzLT5uYW1l
LCBuYW1lU3RyaW5nLCBKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpSZWFkT25seSB8IEpTQzo6UHJv
cGVydHlBdHRyaWJ1dGU6OkRvbnRFbnVtKTsKICAgICBwdXREaXJlY3Qodm0sIHZtLnByb3BlcnR5
TmFtZXMtPmxlbmd0aCwganNOdW1iZXIoMCksIEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OlJlYWRP
bmx5IHwgSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9udEVudW0pOwogfQogCkluZGV4OiBTb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0U2V0TGlrZVdpdGhPdmVy
cmlkZGVuT3BlcmF0aW9ucy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvYmluZGlu
Z3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdFNldExpa2VXaXRoT3ZlcnJpZGRlbk9wZXJhdGlvbnMu
Y3BwCShyZXZpc2lvbiAyODI4NTEpCisrKyBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRz
L3Rlc3QvSlMvSlNUZXN0U2V0TGlrZVdpdGhPdmVycmlkZGVuT3BlcmF0aW9ucy5jcHAJKHdvcmtp
bmcgY29weSkKQEAgLTExNSw3ICsxMTUsOSBAQCB0ZW1wbGF0ZTw+IEpTVmFsdWUgSlNUZXN0U2V0
TGlrZVdpdGhPdmVyCiB0ZW1wbGF0ZTw+IHZvaWQgSlNUZXN0U2V0TGlrZVdpdGhPdmVycmlkZGVu
T3BlcmF0aW9uc0RPTUNvbnN0cnVjdG9yOjppbml0aWFsaXplUHJvcGVydGllcyhWTSYgdm0sIEpT
RE9NR2xvYmFsT2JqZWN0JiBnbG9iYWxPYmplY3QpCiB7CiAgICAgcHV0RGlyZWN0KHZtLCB2bS5w
cm9wZXJ0eU5hbWVzLT5wcm90b3R5cGUsIEpTVGVzdFNldExpa2VXaXRoT3ZlcnJpZGRlbk9wZXJh
dGlvbnM6OnByb3RvdHlwZSh2bSwgZ2xvYmFsT2JqZWN0KSwgSlNDOjpQcm9wZXJ0eUF0dHJpYnV0
ZTo6RG9udERlbGV0ZSB8IEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OlJlYWRPbmx5IHwgSlNDOjpQ
cm9wZXJ0eUF0dHJpYnV0ZTo6RG9udEVudW0pOwotICAgIHB1dERpcmVjdCh2bSwgdm0ucHJvcGVy
dHlOYW1lcy0+bmFtZSwganNOb250cml2aWFsU3RyaW5nKHZtLCAiVGVzdFNldExpa2VXaXRoT3Zl
cnJpZGRlbk9wZXJhdGlvbnMiX3MpLCBKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpSZWFkT25seSB8
IEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OkRvbnRFbnVtKTsKKyAgICBKU1N0cmluZyogbmFtZVN0
cmluZyA9IGpzTm9udHJpdmlhbFN0cmluZyh2bSwgIlRlc3RTZXRMaWtlV2l0aE92ZXJyaWRkZW5P
cGVyYXRpb25zIl9zKTsKKyAgICBtX29yaWdpbmFsTmFtZS5zZXQodm0sIHRoaXMsIG5hbWVTdHJp
bmcpOworICAgIHB1dERpcmVjdCh2bSwgdm0ucHJvcGVydHlOYW1lcy0+bmFtZSwgbmFtZVN0cmlu
ZywgSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6UmVhZE9ubHkgfCBKU0M6OlByb3BlcnR5QXR0cmli
dXRlOjpEb250RW51bSk7CiAgICAgcHV0RGlyZWN0KHZtLCB2bS5wcm9wZXJ0eU5hbWVzLT5sZW5n
dGgsIGpzTnVtYmVyKDApLCBKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpSZWFkT25seSB8IEpTQzo6
UHJvcGVydHlBdHRyaWJ1dGU6OkRvbnRFbnVtKTsKIH0KIApJbmRleDogU291cmNlL1dlYkNvcmUv
YmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdFN0cmluZ2lmaWVyLmNwcAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0U3RyaW5n
aWZpZXIuY3BwCShyZXZpc2lvbiAyODI4NTEpCisrKyBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9z
Y3JpcHRzL3Rlc3QvSlMvSlNUZXN0U3RyaW5naWZpZXIuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC05
OSw3ICs5OSw5IEBAIHRlbXBsYXRlPD4gSlNWYWx1ZSBKU1Rlc3RTdHJpbmdpZmllckRPTUMKIHRl
bXBsYXRlPD4gdm9pZCBKU1Rlc3RTdHJpbmdpZmllckRPTUNvbnN0cnVjdG9yOjppbml0aWFsaXpl
UHJvcGVydGllcyhWTSYgdm0sIEpTRE9NR2xvYmFsT2JqZWN0JiBnbG9iYWxPYmplY3QpCiB7CiAg
ICAgcHV0RGlyZWN0KHZtLCB2bS5wcm9wZXJ0eU5hbWVzLT5wcm90b3R5cGUsIEpTVGVzdFN0cmlu
Z2lmaWVyOjpwcm90b3R5cGUodm0sIGdsb2JhbE9iamVjdCksIEpTQzo6UHJvcGVydHlBdHRyaWJ1
dGU6OkRvbnREZWxldGUgfCBKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpSZWFkT25seSB8IEpTQzo6
UHJvcGVydHlBdHRyaWJ1dGU6OkRvbnRFbnVtKTsKLSAgICBwdXREaXJlY3Qodm0sIHZtLnByb3Bl
cnR5TmFtZXMtPm5hbWUsIGpzTm9udHJpdmlhbFN0cmluZyh2bSwgIlRlc3RTdHJpbmdpZmllciJf
cyksIEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OlJlYWRPbmx5IHwgSlNDOjpQcm9wZXJ0eUF0dHJp
YnV0ZTo6RG9udEVudW0pOworICAgIEpTU3RyaW5nKiBuYW1lU3RyaW5nID0ganNOb250cml2aWFs
U3RyaW5nKHZtLCAiVGVzdFN0cmluZ2lmaWVyIl9zKTsKKyAgICBtX29yaWdpbmFsTmFtZS5zZXQo
dm0sIHRoaXMsIG5hbWVTdHJpbmcpOworICAgIHB1dERpcmVjdCh2bSwgdm0ucHJvcGVydHlOYW1l
cy0+bmFtZSwgbmFtZVN0cmluZywgSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6UmVhZE9ubHkgfCBK
U0M6OlByb3BlcnR5QXR0cmlidXRlOjpEb250RW51bSk7CiAgICAgcHV0RGlyZWN0KHZtLCB2bS5w
cm9wZXJ0eU5hbWVzLT5sZW5ndGgsIGpzTnVtYmVyKDApLCBKU0M6OlByb3BlcnR5QXR0cmlidXRl
OjpSZWFkT25seSB8IEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OkRvbnRFbnVtKTsKIH0KIApJbmRl
eDogU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdFN0cmluZ2lm
aWVyQW5vbnltb3VzT3BlcmF0aW9uLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0U3RyaW5naWZpZXJBbm9ueW1vdXNPcGVyYXRp
b24uY3BwCShyZXZpc2lvbiAyODI4NTEpCisrKyBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3Jp
cHRzL3Rlc3QvSlMvSlNUZXN0U3RyaW5naWZpZXJBbm9ueW1vdXNPcGVyYXRpb24uY3BwCSh3b3Jr
aW5nIGNvcHkpCkBAIC05OSw3ICs5OSw5IEBAIHRlbXBsYXRlPD4gSlNWYWx1ZSBKU1Rlc3RTdHJp
bmdpZmllckFub24KIHRlbXBsYXRlPD4gdm9pZCBKU1Rlc3RTdHJpbmdpZmllckFub255bW91c09w
ZXJhdGlvbkRPTUNvbnN0cnVjdG9yOjppbml0aWFsaXplUHJvcGVydGllcyhWTSYgdm0sIEpTRE9N
R2xvYmFsT2JqZWN0JiBnbG9iYWxPYmplY3QpCiB7CiAgICAgcHV0RGlyZWN0KHZtLCB2bS5wcm9w
ZXJ0eU5hbWVzLT5wcm90b3R5cGUsIEpTVGVzdFN0cmluZ2lmaWVyQW5vbnltb3VzT3BlcmF0aW9u
Ojpwcm90b3R5cGUodm0sIGdsb2JhbE9iamVjdCksIEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OkRv
bnREZWxldGUgfCBKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpSZWFkT25seSB8IEpTQzo6UHJvcGVy
dHlBdHRyaWJ1dGU6OkRvbnRFbnVtKTsKLSAgICBwdXREaXJlY3Qodm0sIHZtLnByb3BlcnR5TmFt
ZXMtPm5hbWUsIGpzTm9udHJpdmlhbFN0cmluZyh2bSwgIlRlc3RTdHJpbmdpZmllckFub255bW91
c09wZXJhdGlvbiJfcyksIEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OlJlYWRPbmx5IHwgSlNDOjpQ
cm9wZXJ0eUF0dHJpYnV0ZTo6RG9udEVudW0pOworICAgIEpTU3RyaW5nKiBuYW1lU3RyaW5nID0g
anNOb250cml2aWFsU3RyaW5nKHZtLCAiVGVzdFN0cmluZ2lmaWVyQW5vbnltb3VzT3BlcmF0aW9u
Il9zKTsKKyAgICBtX29yaWdpbmFsTmFtZS5zZXQodm0sIHRoaXMsIG5hbWVTdHJpbmcpOworICAg
IHB1dERpcmVjdCh2bSwgdm0ucHJvcGVydHlOYW1lcy0+bmFtZSwgbmFtZVN0cmluZywgSlNDOjpQ
cm9wZXJ0eUF0dHJpYnV0ZTo6UmVhZE9ubHkgfCBKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpEb250
RW51bSk7CiAgICAgcHV0RGlyZWN0KHZtLCB2bS5wcm9wZXJ0eU5hbWVzLT5sZW5ndGgsIGpzTnVt
YmVyKDApLCBKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpSZWFkT25seSB8IEpTQzo6UHJvcGVydHlB
dHRyaWJ1dGU6OkRvbnRFbnVtKTsKIH0KIApJbmRleDogU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
c2NyaXB0cy90ZXN0L0pTL0pTVGVzdFN0cmluZ2lmaWVyTmFtZWRPcGVyYXRpb24uY3BwCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RT
dHJpbmdpZmllck5hbWVkT3BlcmF0aW9uLmNwcAkocmV2aXNpb24gMjgyODUxKQorKysgU291cmNl
L1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdFN0cmluZ2lmaWVyTmFtZWRP
cGVyYXRpb24uY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xMDAsNyArMTAwLDkgQEAgdGVtcGxhdGU8
PiBKU1ZhbHVlIEpTVGVzdFN0cmluZ2lmaWVyTmFtZQogdGVtcGxhdGU8PiB2b2lkIEpTVGVzdFN0
cmluZ2lmaWVyTmFtZWRPcGVyYXRpb25ET01Db25zdHJ1Y3Rvcjo6aW5pdGlhbGl6ZVByb3BlcnRp
ZXMoVk0mIHZtLCBKU0RPTUdsb2JhbE9iamVjdCYgZ2xvYmFsT2JqZWN0KQogewogICAgIHB1dERp
cmVjdCh2bSwgdm0ucHJvcGVydHlOYW1lcy0+cHJvdG90eXBlLCBKU1Rlc3RTdHJpbmdpZmllck5h
bWVkT3BlcmF0aW9uOjpwcm90b3R5cGUodm0sIGdsb2JhbE9iamVjdCksIEpTQzo6UHJvcGVydHlB
dHRyaWJ1dGU6OkRvbnREZWxldGUgfCBKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpSZWFkT25seSB8
IEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OkRvbnRFbnVtKTsKLSAgICBwdXREaXJlY3Qodm0sIHZt
LnByb3BlcnR5TmFtZXMtPm5hbWUsIGpzTm9udHJpdmlhbFN0cmluZyh2bSwgIlRlc3RTdHJpbmdp
Zmllck5hbWVkT3BlcmF0aW9uIl9zKSwgSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6UmVhZE9ubHkg
fCBKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpEb250RW51bSk7CisgICAgSlNTdHJpbmcqIG5hbWVT
dHJpbmcgPSBqc05vbnRyaXZpYWxTdHJpbmcodm0sICJUZXN0U3RyaW5naWZpZXJOYW1lZE9wZXJh
dGlvbiJfcyk7CisgICAgbV9vcmlnaW5hbE5hbWUuc2V0KHZtLCB0aGlzLCBuYW1lU3RyaW5nKTsK
KyAgICBwdXREaXJlY3Qodm0sIHZtLnByb3BlcnR5TmFtZXMtPm5hbWUsIG5hbWVTdHJpbmcsIEpT
Qzo6UHJvcGVydHlBdHRyaWJ1dGU6OlJlYWRPbmx5IHwgSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6
RG9udEVudW0pOwogICAgIHB1dERpcmVjdCh2bSwgdm0ucHJvcGVydHlOYW1lcy0+bGVuZ3RoLCBq
c051bWJlcigwKSwgSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6UmVhZE9ubHkgfCBKU0M6OlByb3Bl
cnR5QXR0cmlidXRlOjpEb250RW51bSk7CiB9CiAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RTdHJpbmdpZmllck9wZXJhdGlvbkltcGxlbWVudGVk
QXMuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVz
dC9KUy9KU1Rlc3RTdHJpbmdpZmllck9wZXJhdGlvbkltcGxlbWVudGVkQXMuY3BwCShyZXZpc2lv
biAyODI4NTEpCisrKyBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNU
ZXN0U3RyaW5naWZpZXJPcGVyYXRpb25JbXBsZW1lbnRlZEFzLmNwcAkod29ya2luZyBjb3B5KQpA
QCAtMTAwLDcgKzEwMCw5IEBAIHRlbXBsYXRlPD4gSlNWYWx1ZSBKU1Rlc3RTdHJpbmdpZmllck9w
ZXIKIHRlbXBsYXRlPD4gdm9pZCBKU1Rlc3RTdHJpbmdpZmllck9wZXJhdGlvbkltcGxlbWVudGVk
QXNET01Db25zdHJ1Y3Rvcjo6aW5pdGlhbGl6ZVByb3BlcnRpZXMoVk0mIHZtLCBKU0RPTUdsb2Jh
bE9iamVjdCYgZ2xvYmFsT2JqZWN0KQogewogICAgIHB1dERpcmVjdCh2bSwgdm0ucHJvcGVydHlO
YW1lcy0+cHJvdG90eXBlLCBKU1Rlc3RTdHJpbmdpZmllck9wZXJhdGlvbkltcGxlbWVudGVkQXM6
OnByb3RvdHlwZSh2bSwgZ2xvYmFsT2JqZWN0KSwgSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9u
dERlbGV0ZSB8IEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OlJlYWRPbmx5IHwgSlNDOjpQcm9wZXJ0
eUF0dHJpYnV0ZTo6RG9udEVudW0pOwotICAgIHB1dERpcmVjdCh2bSwgdm0ucHJvcGVydHlOYW1l
cy0+bmFtZSwganNOb250cml2aWFsU3RyaW5nKHZtLCAiVGVzdFN0cmluZ2lmaWVyT3BlcmF0aW9u
SW1wbGVtZW50ZWRBcyJfcyksIEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OlJlYWRPbmx5IHwgSlND
OjpQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9udEVudW0pOworICAgIEpTU3RyaW5nKiBuYW1lU3RyaW5n
ID0ganNOb250cml2aWFsU3RyaW5nKHZtLCAiVGVzdFN0cmluZ2lmaWVyT3BlcmF0aW9uSW1wbGVt
ZW50ZWRBcyJfcyk7CisgICAgbV9vcmlnaW5hbE5hbWUuc2V0KHZtLCB0aGlzLCBuYW1lU3RyaW5n
KTsKKyAgICBwdXREaXJlY3Qodm0sIHZtLnByb3BlcnR5TmFtZXMtPm5hbWUsIG5hbWVTdHJpbmcs
IEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OlJlYWRPbmx5IHwgSlNDOjpQcm9wZXJ0eUF0dHJpYnV0
ZTo6RG9udEVudW0pOwogICAgIHB1dERpcmVjdCh2bSwgdm0ucHJvcGVydHlOYW1lcy0+bGVuZ3Ro
LCBqc051bWJlcigwKSwgSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6UmVhZE9ubHkgfCBKU0M6OlBy
b3BlcnR5QXR0cmlidXRlOjpEb250RW51bSk7CiB9CiAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RTdHJpbmdpZmllck9wZXJhdGlvbk5hbWVkVG9T
dHJpbmcuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMv
dGVzdC9KUy9KU1Rlc3RTdHJpbmdpZmllck9wZXJhdGlvbk5hbWVkVG9TdHJpbmcuY3BwCShyZXZp
c2lvbiAyODI4NTEpCisrKyBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMv
SlNUZXN0U3RyaW5naWZpZXJPcGVyYXRpb25OYW1lZFRvU3RyaW5nLmNwcAkod29ya2luZyBjb3B5
KQpAQCAtOTksNyArOTksOSBAQCB0ZW1wbGF0ZTw+IEpTVmFsdWUgSlNUZXN0U3RyaW5naWZpZXJP
cGVyCiB0ZW1wbGF0ZTw+IHZvaWQgSlNUZXN0U3RyaW5naWZpZXJPcGVyYXRpb25OYW1lZFRvU3Ry
aW5nRE9NQ29uc3RydWN0b3I6OmluaXRpYWxpemVQcm9wZXJ0aWVzKFZNJiB2bSwgSlNET01HbG9i
YWxPYmplY3QmIGdsb2JhbE9iamVjdCkKIHsKICAgICBwdXREaXJlY3Qodm0sIHZtLnByb3BlcnR5
TmFtZXMtPnByb3RvdHlwZSwgSlNUZXN0U3RyaW5naWZpZXJPcGVyYXRpb25OYW1lZFRvU3RyaW5n
Ojpwcm90b3R5cGUodm0sIGdsb2JhbE9iamVjdCksIEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OkRv
bnREZWxldGUgfCBKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpSZWFkT25seSB8IEpTQzo6UHJvcGVy
dHlBdHRyaWJ1dGU6OkRvbnRFbnVtKTsKLSAgICBwdXREaXJlY3Qodm0sIHZtLnByb3BlcnR5TmFt
ZXMtPm5hbWUsIGpzTm9udHJpdmlhbFN0cmluZyh2bSwgIlRlc3RTdHJpbmdpZmllck9wZXJhdGlv
bk5hbWVkVG9TdHJpbmciX3MpLCBKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpSZWFkT25seSB8IEpT
Qzo6UHJvcGVydHlBdHRyaWJ1dGU6OkRvbnRFbnVtKTsKKyAgICBKU1N0cmluZyogbmFtZVN0cmlu
ZyA9IGpzTm9udHJpdmlhbFN0cmluZyh2bSwgIlRlc3RTdHJpbmdpZmllck9wZXJhdGlvbk5hbWVk
VG9TdHJpbmciX3MpOworICAgIG1fb3JpZ2luYWxOYW1lLnNldCh2bSwgdGhpcywgbmFtZVN0cmlu
Zyk7CisgICAgcHV0RGlyZWN0KHZtLCB2bS5wcm9wZXJ0eU5hbWVzLT5uYW1lLCBuYW1lU3RyaW5n
LCBKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpSZWFkT25seSB8IEpTQzo6UHJvcGVydHlBdHRyaWJ1
dGU6OkRvbnRFbnVtKTsKICAgICBwdXREaXJlY3Qodm0sIHZtLnByb3BlcnR5TmFtZXMtPmxlbmd0
aCwganNOdW1iZXIoMCksIEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OlJlYWRPbmx5IHwgSlNDOjpQ
cm9wZXJ0eUF0dHJpYnV0ZTo6RG9udEVudW0pOwogfQogCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0U3RyaW5naWZpZXJSZWFkT25seUF0dHJpYnV0
ZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0
L0pTL0pTVGVzdFN0cmluZ2lmaWVyUmVhZE9ubHlBdHRyaWJ1dGUuY3BwCShyZXZpc2lvbiAyODI4
NTEpCisrKyBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0U3Ry
aW5naWZpZXJSZWFkT25seUF0dHJpYnV0ZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTEwMSw3ICsx
MDEsOSBAQCB0ZW1wbGF0ZTw+IEpTVmFsdWUgSlNUZXN0U3RyaW5naWZpZXJSZWFkCiB0ZW1wbGF0
ZTw+IHZvaWQgSlNUZXN0U3RyaW5naWZpZXJSZWFkT25seUF0dHJpYnV0ZURPTUNvbnN0cnVjdG9y
Ojppbml0aWFsaXplUHJvcGVydGllcyhWTSYgdm0sIEpTRE9NR2xvYmFsT2JqZWN0JiBnbG9iYWxP
YmplY3QpCiB7CiAgICAgcHV0RGlyZWN0KHZtLCB2bS5wcm9wZXJ0eU5hbWVzLT5wcm90b3R5cGUs
IEpTVGVzdFN0cmluZ2lmaWVyUmVhZE9ubHlBdHRyaWJ1dGU6OnByb3RvdHlwZSh2bSwgZ2xvYmFs
T2JqZWN0KSwgSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9udERlbGV0ZSB8IEpTQzo6UHJvcGVy
dHlBdHRyaWJ1dGU6OlJlYWRPbmx5IHwgSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9udEVudW0p
OwotICAgIHB1dERpcmVjdCh2bSwgdm0ucHJvcGVydHlOYW1lcy0+bmFtZSwganNOb250cml2aWFs
U3RyaW5nKHZtLCAiVGVzdFN0cmluZ2lmaWVyUmVhZE9ubHlBdHRyaWJ1dGUiX3MpLCBKU0M6OlBy
b3BlcnR5QXR0cmlidXRlOjpSZWFkT25seSB8IEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OkRvbnRF
bnVtKTsKKyAgICBKU1N0cmluZyogbmFtZVN0cmluZyA9IGpzTm9udHJpdmlhbFN0cmluZyh2bSwg
IlRlc3RTdHJpbmdpZmllclJlYWRPbmx5QXR0cmlidXRlIl9zKTsKKyAgICBtX29yaWdpbmFsTmFt
ZS5zZXQodm0sIHRoaXMsIG5hbWVTdHJpbmcpOworICAgIHB1dERpcmVjdCh2bSwgdm0ucHJvcGVy
dHlOYW1lcy0+bmFtZSwgbmFtZVN0cmluZywgSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6UmVhZE9u
bHkgfCBKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpEb250RW51bSk7CiAgICAgcHV0RGlyZWN0KHZt
LCB2bS5wcm9wZXJ0eU5hbWVzLT5sZW5ndGgsIGpzTnVtYmVyKDApLCBKU0M6OlByb3BlcnR5QXR0
cmlidXRlOjpSZWFkT25seSB8IEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OkRvbnRFbnVtKTsKIH0K
IApJbmRleDogU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdFN0
cmluZ2lmaWVyUmVhZFdyaXRlQXR0cmlidXRlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0U3RyaW5naWZpZXJSZWFkV3JpdGVB
dHRyaWJ1dGUuY3BwCShyZXZpc2lvbiAyODI4NTEpCisrKyBTb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0U3RyaW5naWZpZXJSZWFkV3JpdGVBdHRyaWJ1dGUuY3Bw
CSh3b3JraW5nIGNvcHkpCkBAIC0xMDIsNyArMTAyLDkgQEAgdGVtcGxhdGU8PiBKU1ZhbHVlIEpT
VGVzdFN0cmluZ2lmaWVyUmVhZAogdGVtcGxhdGU8PiB2b2lkIEpTVGVzdFN0cmluZ2lmaWVyUmVh
ZFdyaXRlQXR0cmlidXRlRE9NQ29uc3RydWN0b3I6OmluaXRpYWxpemVQcm9wZXJ0aWVzKFZNJiB2
bSwgSlNET01HbG9iYWxPYmplY3QmIGdsb2JhbE9iamVjdCkKIHsKICAgICBwdXREaXJlY3Qodm0s
IHZtLnByb3BlcnR5TmFtZXMtPnByb3RvdHlwZSwgSlNUZXN0U3RyaW5naWZpZXJSZWFkV3JpdGVB
dHRyaWJ1dGU6OnByb3RvdHlwZSh2bSwgZ2xvYmFsT2JqZWN0KSwgSlNDOjpQcm9wZXJ0eUF0dHJp
YnV0ZTo6RG9udERlbGV0ZSB8IEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OlJlYWRPbmx5IHwgSlND
OjpQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9udEVudW0pOwotICAgIHB1dERpcmVjdCh2bSwgdm0ucHJv
cGVydHlOYW1lcy0+bmFtZSwganNOb250cml2aWFsU3RyaW5nKHZtLCAiVGVzdFN0cmluZ2lmaWVy
UmVhZFdyaXRlQXR0cmlidXRlIl9zKSwgSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6UmVhZE9ubHkg
fCBKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpEb250RW51bSk7CisgICAgSlNTdHJpbmcqIG5hbWVT
dHJpbmcgPSBqc05vbnRyaXZpYWxTdHJpbmcodm0sICJUZXN0U3RyaW5naWZpZXJSZWFkV3JpdGVB
dHRyaWJ1dGUiX3MpOworICAgIG1fb3JpZ2luYWxOYW1lLnNldCh2bSwgdGhpcywgbmFtZVN0cmlu
Zyk7CisgICAgcHV0RGlyZWN0KHZtLCB2bS5wcm9wZXJ0eU5hbWVzLT5uYW1lLCBuYW1lU3RyaW5n
LCBKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpSZWFkT25seSB8IEpTQzo6UHJvcGVydHlBdHRyaWJ1
dGU6OkRvbnRFbnVtKTsKICAgICBwdXREaXJlY3Qodm0sIHZtLnByb3BlcnR5TmFtZXMtPmxlbmd0
aCwganNOdW1iZXIoMCksIEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OlJlYWRPbmx5IHwgSlNDOjpQ
cm9wZXJ0eUF0dHJpYnV0ZTo6RG9udEVudW0pOwogfQogCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0VHlwZWRlZnMuY3BwCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RUeXBlZGVmcy5j
cHAJKHJldmlzaW9uIDI4Mjg1MSkKKysrIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMv
dGVzdC9KUy9KU1Rlc3RUeXBlZGVmcy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTE5NSw3ICsxOTUs
OSBAQCB0ZW1wbGF0ZTw+IEpTVmFsdWUgSlNUZXN0VHlwZWRlZnNET01Db25zCiB0ZW1wbGF0ZTw+
IHZvaWQgSlNUZXN0VHlwZWRlZnNET01Db25zdHJ1Y3Rvcjo6aW5pdGlhbGl6ZVByb3BlcnRpZXMo
Vk0mIHZtLCBKU0RPTUdsb2JhbE9iamVjdCYgZ2xvYmFsT2JqZWN0KQogewogICAgIHB1dERpcmVj
dCh2bSwgdm0ucHJvcGVydHlOYW1lcy0+cHJvdG90eXBlLCBKU1Rlc3RUeXBlZGVmczo6cHJvdG90
eXBlKHZtLCBnbG9iYWxPYmplY3QpLCBKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpEb250RGVsZXRl
IHwgSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6UmVhZE9ubHkgfCBKU0M6OlByb3BlcnR5QXR0cmli
dXRlOjpEb250RW51bSk7Ci0gICAgcHV0RGlyZWN0KHZtLCB2bS5wcm9wZXJ0eU5hbWVzLT5uYW1l
LCBqc05vbnRyaXZpYWxTdHJpbmcodm0sICJUZXN0VHlwZWRlZnMiX3MpLCBKU0M6OlByb3BlcnR5
QXR0cmlidXRlOjpSZWFkT25seSB8IEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OkRvbnRFbnVtKTsK
KyAgICBKU1N0cmluZyogbmFtZVN0cmluZyA9IGpzTm9udHJpdmlhbFN0cmluZyh2bSwgIlRlc3RU
eXBlZGVmcyJfcyk7CisgICAgbV9vcmlnaW5hbE5hbWUuc2V0KHZtLCB0aGlzLCBuYW1lU3RyaW5n
KTsKKyAgICBwdXREaXJlY3Qodm0sIHZtLnByb3BlcnR5TmFtZXMtPm5hbWUsIG5hbWVTdHJpbmcs
IEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OlJlYWRPbmx5IHwgSlNDOjpQcm9wZXJ0eUF0dHJpYnV0
ZTo6RG9udEVudW0pOwogICAgIHB1dERpcmVjdCh2bSwgdm0ucHJvcGVydHlOYW1lcy0+bGVuZ3Ro
LCBqc051bWJlcigzKSwgSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6UmVhZE9ubHkgfCBKU0M6OlBy
b3BlcnR5QXR0cmlidXRlOjpEb250RW51bSk7CiAgICAgcmVpZnlTdGF0aWNQcm9wZXJ0aWVzKHZt
LCBKU1Rlc3RUeXBlZGVmczo6aW5mbygpLCBKU1Rlc3RUeXBlZGVmc0NvbnN0cnVjdG9yVGFibGVW
YWx1ZXMsICp0aGlzKTsKIH0KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMv
dGVzdC9KUy9KU1dvcmtlckdsb2JhbFNjb3BlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNXb3JrZXJHbG9iYWxTY29wZS5jcHAJKHJl
dmlzaW9uIDI4Mjg1MSkKKysrIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9K
Uy9KU1dvcmtlckdsb2JhbFNjb3BlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTA4LDcgKzEwOCw5
IEBAIHRlbXBsYXRlPD4gSlNWYWx1ZSBKU1dvcmtlckdsb2JhbFNjb3BlRE8KIHRlbXBsYXRlPD4g
dm9pZCBKU1dvcmtlckdsb2JhbFNjb3BlRE9NQ29uc3RydWN0b3I6OmluaXRpYWxpemVQcm9wZXJ0
aWVzKFZNJiB2bSwgSlNET01HbG9iYWxPYmplY3QmIGdsb2JhbE9iamVjdCkKIHsKICAgICBwdXRE
aXJlY3Qodm0sIHZtLnByb3BlcnR5TmFtZXMtPnByb3RvdHlwZSwgSlNXb3JrZXJHbG9iYWxTY29w
ZTo6cHJvdG90eXBlKHZtLCBnbG9iYWxPYmplY3QpLCBKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpE
b250RGVsZXRlIHwgSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6UmVhZE9ubHkgfCBKU0M6OlByb3Bl
cnR5QXR0cmlidXRlOjpEb250RW51bSk7Ci0gICAgcHV0RGlyZWN0KHZtLCB2bS5wcm9wZXJ0eU5h
bWVzLT5uYW1lLCBqc05vbnRyaXZpYWxTdHJpbmcodm0sICJXb3JrZXJHbG9iYWxTY29wZSJfcyks
IEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OlJlYWRPbmx5IHwgSlNDOjpQcm9wZXJ0eUF0dHJpYnV0
ZTo6RG9udEVudW0pOworICAgIEpTU3RyaW5nKiBuYW1lU3RyaW5nID0ganNOb250cml2aWFsU3Ry
aW5nKHZtLCAiV29ya2VyR2xvYmFsU2NvcGUiX3MpOworICAgIG1fb3JpZ2luYWxOYW1lLnNldCh2
bSwgdGhpcywgbmFtZVN0cmluZyk7CisgICAgcHV0RGlyZWN0KHZtLCB2bS5wcm9wZXJ0eU5hbWVz
LT5uYW1lLCBuYW1lU3RyaW5nLCBKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpSZWFkT25seSB8IEpT
Qzo6UHJvcGVydHlBdHRyaWJ1dGU6OkRvbnRFbnVtKTsKICAgICBwdXREaXJlY3Qodm0sIHZtLnBy
b3BlcnR5TmFtZXMtPmxlbmd0aCwganNOdW1iZXIoMCksIEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6
OlJlYWRPbmx5IHwgSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9udEVudW0pOwogfQogCkluZGV4
OiBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNXb3JrbGV0R2xvYmFs
U2NvcGUuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMv
dGVzdC9KUy9KU1dvcmtsZXRHbG9iYWxTY29wZS5jcHAJKHJldmlzaW9uIDI4Mjg1MSkKKysrIFNv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1dvcmtsZXRHbG9iYWxTY29w
ZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTc3LDcgKzc3LDkgQEAgdGVtcGxhdGU8PiBKU1ZhbHVl
IEpTV29ya2xldEdsb2JhbFNjb3BlRAogdGVtcGxhdGU8PiB2b2lkIEpTV29ya2xldEdsb2JhbFNj
b3BlRE9NQ29uc3RydWN0b3I6OmluaXRpYWxpemVQcm9wZXJ0aWVzKFZNJiB2bSwgSlNET01HbG9i
YWxPYmplY3QmIGdsb2JhbE9iamVjdCkKIHsKICAgICBwdXREaXJlY3Qodm0sIHZtLnByb3BlcnR5
TmFtZXMtPnByb3RvdHlwZSwgSlNXb3JrbGV0R2xvYmFsU2NvcGU6OnByb3RvdHlwZSh2bSwgZ2xv
YmFsT2JqZWN0KSwgSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9udERlbGV0ZSB8IEpTQzo6UHJv
cGVydHlBdHRyaWJ1dGU6OlJlYWRPbmx5IHwgSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9udEVu
dW0pOwotICAgIHB1dERpcmVjdCh2bSwgdm0ucHJvcGVydHlOYW1lcy0+bmFtZSwganNOb250cml2
aWFsU3RyaW5nKHZtLCAiV29ya2xldEdsb2JhbFNjb3BlIl9zKSwgSlNDOjpQcm9wZXJ0eUF0dHJp
YnV0ZTo6UmVhZE9ubHkgfCBKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpEb250RW51bSk7CisgICAg
SlNTdHJpbmcqIG5hbWVTdHJpbmcgPSBqc05vbnRyaXZpYWxTdHJpbmcodm0sICJXb3JrbGV0R2xv
YmFsU2NvcGUiX3MpOworICAgIG1fb3JpZ2luYWxOYW1lLnNldCh2bSwgdGhpcywgbmFtZVN0cmlu
Zyk7CisgICAgcHV0RGlyZWN0KHZtLCB2bS5wcm9wZXJ0eU5hbWVzLT5uYW1lLCBuYW1lU3RyaW5n
LCBKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpSZWFkT25seSB8IEpTQzo6UHJvcGVydHlBdHRyaWJ1
dGU6OkRvbnRFbnVtKTsKICAgICBwdXREaXJlY3Qodm0sIHZtLnByb3BlcnR5TmFtZXMtPmxlbmd0
aCwganNOdW1iZXIoMCksIEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OlJlYWRPbmx5IHwgSlNDOjpQ
cm9wZXJ0eUF0dHJpYnV0ZTo6RG9udEVudW0pOwogfQogCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>438895</attachid>
            <date>2021-09-21 17:38:25 -0700</date>
            <delta_ts>2021-09-21 17:38:25 -0700</delta_ts>
            <desc>Microbenchmark</desc>
            <filename>microbenchmark.html</filename>
            <type>text/html</type>
            <size>770</size>
            <attacher name="Alexey Shvayka">ashvayka</attacher>
            
              <data encoding="base64">PCFET0NUWVBFIGh0bWw+CjxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KPGJ1dHRvbiBpZD0iJHN0YXJ0
Ij5zdGFydDwvYnV0dG9uPgo8aDMgaWQ9IiRvdXRwdXQiPjwvaDM+CjxzY3JpcHQ+CnZhciBydW5z
ID0gMDsKdmFyIHdhcm1VcFJ1bnMgPSAyMDsKdmFyIGRlbHRhU3VtID0gMDsKCiRzdGFydC5vbmNs
aWNrID0gKCkgPT4gewogICAgJHN0YXJ0LmRpc2FibGVkID0gdHJ1ZTsKICAgIHNldEludGVydmFs
KCgpID0+IHsKICAgICAgICB2YXIgc3RhcnQgPSBEYXRlLm5vdygpOwogICAgICAgIHZhciBkOwoK
ICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IDFfMDAwXzAwMDsgKytpKQogICAgICAgICAgICBk
ID0gbmV3IEV2ZW50KCJmb28iKTsKCiAgICAgICAgdmFyIGRlbHRhID0gRGF0ZS5ub3coKSAtIHN0
YXJ0OwogICAgICAgIHJ1bnMrKzsKCiAgICAgICAgaWYgKHJ1bnMgPD0gd2FybVVwUnVucykgewog
ICAgICAgICAgICAkb3V0cHV0LnRleHRDb250ZW50ID0gYHdhcm0tdXAgcnVuICR7cnVuc30gLyAk
e3dhcm1VcFJ1bnN9YDsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgICBkZWx0YVN1bSArPSBk
ZWx0YTsKICAgICAgICAgICAgdmFyIG1lYXN1cmVkUnVucyA9IHJ1bnMgLSB3YXJtVXBSdW5zOwog
ICAgICAgICAgICAkb3V0cHV0LnRleHRDb250ZW50ID0gYEFWRzogJHsoZGVsdGFTdW0gLyBtZWFz
dXJlZFJ1bnMpLnRvRml4ZWQoMil9bXMgKCR7bWVhc3VyZWRSdW5zfSBydW5zKWA7CiAgICAgICAg
fQogICAgfSwgMTAwMCk7Cn07Cjwvc2NyaXB0Pgo=
</data>

          </attachment>
      

    </bug>

</bugzilla>