<?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>174012</bug_id>
          
          <creation_ts>2017-06-29 20:53:55 -0700</creation_ts>
          <short_desc>[WebIDL] Replace use of __is_polymorphic with standard std::is_polymorphic&lt;&gt;::value</short_desc>
          <delta_ts>2017-06-30 08:46:04 -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>New Bugs</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Sam Weinig">sam</reporter>
          <assigned_to name="Sam Weinig">sam</assigned_to>
          <cc>achristensen</cc>
    
    <cc>commit-queue</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1324275</commentid>
    <comment_count>0</comment_count>
    <who name="Sam Weinig">sam</who>
    <bug_when>2017-06-29 20:53:55 -0700</bug_when>
    <thetext>[WebIDL] Replace use of __is_polymorphic with standard std::is_polymorphic&lt;&gt;::value</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1324277</commentid>
    <comment_count>1</comment_count>
      <attachid>314222</attachid>
    <who name="Sam Weinig">sam</who>
    <bug_when>2017-06-29 20:55:59 -0700</bug_when>
    <thetext>Created attachment 314222
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1324425</commentid>
    <comment_count>2</comment_count>
      <attachid>314222</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-06-30 08:46:03 -0700</bug_when>
    <thetext>Comment on attachment 314222
Patch

Clearing flags on attachment: 314222

Committed r218997: &lt;http://trac.webkit.org/changeset/218997&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1324426</commentid>
    <comment_count>3</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-06-30 08:46:04 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>314222</attachid>
            <date>2017-06-29 20:55:59 -0700</date>
            <delta_ts>2017-06-30 08:46:03 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-174012-20170629205714.patch</filename>
            <type>text/plain</type>
            <size>79958</size>
            <attacher name="Sam Weinig">sam</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDIxODk4NikKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDcwIEBACisyMDE3LTA2LTI5ICBTYW0gV2Vp
bmlnICA8c2FtQHdlYmtpdC5vcmc+CisKKyAgICAgICAgW1dlYklETF0gUmVwbGFjZSB1c2Ugb2Yg
X19pc19wb2x5bW9ycGhpYyB3aXRoIHN0YW5kYXJkIHN0ZDo6aXNfcG9seW1vcnBoaWM8Pjo6dmFs
dWUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3NDAx
MgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogYmlu
ZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9ySlMucG06CisgICAgICAgIChHZW5lcmF0ZUltcGxl
bWVudGF0aW9uKToKKyAgICAgICAgUmVwbGFjZSBfX2lzX3BvbHltb3JwaGljIHdpdGggc3RhbmRh
cmQgc3RkOjppc19wb2x5bW9ycGhpYzw+Ojp2YWx1ZS4gUmVtb3ZlIGNsYW5nCisgICAgICAgIHNw
ZWNpZmljIGd1YXJkIG5vdyB0aGF0IHdlIGFyZSB1c2luZyBzb21ldGhpbmcgb3RoZXIgY29tcGls
ZXJzIHN1cHBvcnQuCisKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNJbnRl
cmZhY2VOYW1lLmNwcDoKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNNYXBM
aWtlLmNwcDoKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNSZWFkT25seU1h
cExpa2UuY3BwOgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RBY3Rp
dmVET01PYmplY3QuY3BwOgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rl
c3RDRVJlYWN0aW9ucy5jcHA6CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pT
VGVzdENFUmVhY3Rpb25zU3RyaW5naWZpZXIuY3BwOgorICAgICAgICAqIGJpbmRpbmdzL3Njcmlw
dHMvdGVzdC9KUy9KU1Rlc3RDbGFzc1dpdGhKU0J1aWx0aW5Db25zdHJ1Y3Rvci5jcHA6CisgICAg
ICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdEN1c3RvbUNvbnN0cnVjdG9yV2l0
aE5vSW50ZXJmYWNlT2JqZWN0LmNwcDoKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3Qv
SlMvSlNUZXN0RXZlbnRDb25zdHJ1Y3Rvci5jcHA6CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0
cy90ZXN0L0pTL0pTVGVzdEV2ZW50VGFyZ2V0LmNwcDoKKyAgICAgICAgKiBiaW5kaW5ncy9zY3Jp
cHRzL3Rlc3QvSlMvSlNUZXN0RXhjZXB0aW9uLmNwcDoKKyAgICAgICAgKiBiaW5kaW5ncy9zY3Jp
cHRzL3Rlc3QvSlMvSlNUZXN0R2VuZXJhdGVJc1JlYWNoYWJsZS5jcHA6CisgICAgICAgICogYmlu
ZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdEdsb2JhbE9iamVjdC5jcHA6CisgICAgICAgICog
YmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdEluZGV4ZWRTZXR0ZXJOb0lkZW50aWZpZXIu
Y3BwOgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RJbmRleGVkU2V0
dGVyVGhyb3dpbmdFeGNlcHRpb24uY3BwOgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVz
dC9KUy9KU1Rlc3RJbmRleGVkU2V0dGVyV2l0aElkZW50aWZpZXIuY3BwOgorICAgICAgICAqIGJp
bmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RJbnRlcmZhY2UuY3BwOgorICAgICAgICAqIGJp
bmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RJbnRlcmZhY2VMZWFkaW5nVW5kZXJzY29yZS5j
cHA6CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdEl0ZXJhYmxlLmNw
cDoKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0TWVkaWFRdWVyeUxp
c3RMaXN0ZW5lci5jcHA6CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVz
dE5hbWVkQW5kSW5kZXhlZFNldHRlck5vSWRlbnRpZmllci5jcHA6CisgICAgICAgICogYmluZGlu
Z3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE5hbWVkQW5kSW5kZXhlZFNldHRlclRocm93aW5nRXhj
ZXB0aW9uLmNwcDoKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0TmFt
ZWRBbmRJbmRleGVkU2V0dGVyV2l0aElkZW50aWZpZXIuY3BwOgorICAgICAgICAqIGJpbmRpbmdz
L3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3ROYW1lZENvbnN0cnVjdG9yLmNwcDoKKyAgICAgICAgKiBi
aW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0TmFtZWREZWxldGVyTm9JZGVudGlmaWVyLmNw
cDoKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0TmFtZWREZWxldGVy
VGhyb3dpbmdFeGNlcHRpb24uY3BwOgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9K
Uy9KU1Rlc3ROYW1lZERlbGV0ZXJXaXRoSWRlbnRpZmllci5jcHA6CisgICAgICAgICogYmluZGlu
Z3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE5hbWVkRGVsZXRlcldpdGhJbmRleGVkR2V0dGVyLmNw
cDoKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0TmFtZWRHZXR0ZXJD
YWxsV2l0aC5jcHA6CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE5h
bWVkR2V0dGVyTm9JZGVudGlmaWVyLmNwcDoKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rl
c3QvSlMvSlNUZXN0TmFtZWRHZXR0ZXJXaXRoSWRlbnRpZmllci5jcHA6CisgICAgICAgICogYmlu
ZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE5hbWVkU2V0dGVyTm9JZGVudGlmaWVyLmNwcDoK
KyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0TmFtZWRTZXR0ZXJUaHJv
d2luZ0V4Y2VwdGlvbi5jcHA6CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pT
VGVzdE5hbWVkU2V0dGVyV2l0aElkZW50aWZpZXIuY3BwOgorICAgICAgICAqIGJpbmRpbmdzL3Nj
cmlwdHMvdGVzdC9KUy9KU1Rlc3ROYW1lZFNldHRlcldpdGhPdmVycmlkZUJ1aWx0aW5zLmNwcDoK
KyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0TmFtZWRTZXR0ZXJXaXRo
VW5mb3JnYWJsZVByb3BlcnRpZXMuY3BwOgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVz
dC9KUy9KU1Rlc3ROYW1lZFNldHRlcldpdGhVbmZvcmdhYmxlUHJvcGVydGllc0FuZE92ZXJyaWRl
QnVpbHRpbnMuY3BwOgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RO
b2RlLmNwcDoKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0T2JqLmNw
cDoKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0T3ZlcmxvYWRlZENv
bnN0cnVjdG9ycy5jcHA6CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVz
dE92ZXJsb2FkZWRDb25zdHJ1Y3RvcnNXaXRoU2VxdWVuY2UuY3BwOgorICAgICAgICAqIGJpbmRp
bmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RPdmVycmlkZUJ1aWx0aW5zLmNwcDoKKyAgICAgICAg
KiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0UHJvbWlzZVJlamVjdGlvbkV2ZW50LmNw
cDoKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0U2VyaWFsaXphdGlv
bi5jcHA6CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdFNlcmlhbGl6
ZWRTY3JpcHRWYWx1ZUludGVyZmFjZS5jcHA6CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90
ZXN0L0pTL0pTVGVzdFN0cmluZ2lmaWVyLmNwcDoKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRz
L3Rlc3QvSlMvSlNUZXN0U3RyaW5naWZpZXJBbm9ueW1vdXNPcGVyYXRpb24uY3BwOgorICAgICAg
ICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RTdHJpbmdpZmllck5hbWVkT3BlcmF0
aW9uLmNwcDoKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0U3RyaW5n
aWZpZXJPcGVyYXRpb25JbXBsZW1lbnRlZEFzLmNwcDoKKyAgICAgICAgKiBiaW5kaW5ncy9zY3Jp
cHRzL3Rlc3QvSlMvSlNUZXN0U3RyaW5naWZpZXJPcGVyYXRpb25OYW1lZFRvU3RyaW5nLmNwcDoK
KyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0U3RyaW5naWZpZXJSZWFk
T25seUF0dHJpYnV0ZS5jcHA6CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pT
VGVzdFN0cmluZ2lmaWVyUmVhZFdyaXRlQXR0cmlidXRlLmNwcDoKKyAgICAgICAgKiBiaW5kaW5n
cy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0VHlwZWRlZnMuY3BwOgorICAgICAgICBVcGRhdGUgdGVz
dCByZXN1bHRzLgorCiAyMDE3LTA2LTI5ICBDaHJpcyBGbGVpemFjaCAgPGNmbGVpemFjaEBhcHBs
ZS5jb20+CiAKICAgICAgICAgQVg6IENhbm5vdCBjYWxsIHNldFZhbHVlKCkgb24gY29udGVudGVk
aXRhYmxlIG9yIEFSSUEgdGV4dCBjb250cm9scwpJbmRleDogU291cmNlL1dlYkNvcmUvYmluZGlu
Z3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9ySlMucG0KPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNv
cmUvYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9ySlMucG0JKHJldmlzaW9uIDIxODk2OCkK
KysrIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvckpTLnBtCSh3
b3JraW5nIGNvcHkpCkBAIC00NTc2LDQzICs0NTc2LDQxIEBAIEVORAogICAgIHZvaWQqIGV4cGVj
dGVkVlRhYmxlUG9pbnRlciA9IHJlaW50ZXJwcmV0X2Nhc3Q8dm9pZCo+KCR7dnRhYmxlUmVmV2lu
fSk7CiAjZWxzZQogICAgIHZvaWQqIGV4cGVjdGVkVlRhYmxlUG9pbnRlciA9ICR7dnRhYmxlUmVm
R251fTsKLSNpZiBDT01QSUxFUihDTEFORykKLSAgICAvLyBJZiB0aGlzIGZhaWxzICRpbXBsVHlw
ZSBkb2VzIG5vdCBoYXZlIGEgdnRhYmxlLCBzbyB5b3UgbmVlZCB0byBhZGQgdGhlCi0gICAgLy8g
SW1wbGVtZW50YXRpb25MYWNrc1ZUYWJsZSBhdHRyaWJ1dGUgdG8gdGhlIGludGVyZmFjZSBkZWZp
bml0aW9uCi0gICAgc3RhdGljX2Fzc2VydChfX2lzX3BvbHltb3JwaGljKCRpbXBsVHlwZSksICIk
e2ltcGxUeXBlfSBpcyBub3QgcG9seW1vcnBoaWMiKTsKLSNlbmRpZgogI2VuZGlmCisKKyAgICAv
LyBJZiB0aGlzIGZhaWxzICR7aW1wbFR5cGV9IGRvZXMgbm90IGhhdmUgYSB2dGFibGUsIHNvIHlv
dSBuZWVkIHRvIGFkZCB0aGUKKyAgICAvLyBJbXBsZW1lbnRhdGlvbkxhY2tzVlRhYmxlIGF0dHJp
YnV0ZSB0byB0aGUgaW50ZXJmYWNlIGRlZmluaXRpb24KKyAgICBzdGF0aWNfYXNzZXJ0KHN0ZDo6
aXNfcG9seW1vcnBoaWM8JHtpbXBsVHlwZX0+Ojp2YWx1ZSwgIiR7aW1wbFR5cGV9IGlzIG5vdCBw
b2x5bW9ycGhpYyIpOworCiAgICAgLy8gSWYgeW91IGhpdCB0aGlzIGFzc2VydGlvbiB5b3UgZWl0
aGVyIGhhdmUgYSB1c2UgYWZ0ZXIgZnJlZSBidWcsIG9yCi0gICAgLy8gJGltcGxUeXBlIGhhcyBz
dWJjbGFzc2VzLiBJZiAkaW1wbFR5cGUgaGFzIHN1YmNsYXNzZXMgdGhhdCBnZXQgcGFzc2VkCisg
ICAgLy8gJHtpbXBsVHlwZX0gaGFzIHN1YmNsYXNzZXMuIElmICR7aW1wbFR5cGV9IGhhcyBzdWJj
bGFzc2VzIHRoYXQgZ2V0IHBhc3NlZAogICAgIC8vIHRvIHRvSlMoKSB3ZSBjdXJyZW50bHkgcmVx
dWlyZSAkaW50ZXJmYWNlTmFtZSB5b3UgdG8gb3B0IG91dCBvZiBiaW5kaW5nIGhhcmRlbmluZwog
ICAgIC8vIGJ5IGFkZGluZyB0aGUgU2tpcFZUYWJsZVZhbGlkYXRpb24gYXR0cmlidXRlIHRvIHRo
ZSBpbnRlcmZhY2UgSURMIGRlZmluaXRpb24KICAgICBSRUxFQVNFX0FTU0VSVChhY3R1YWxWVGFi
bGVQb2ludGVyID09IGV4cGVjdGVkVlRhYmxlUG9pbnRlcik7CiAjZW5kaWYKIEVORAogICAgICAg
ICBwdXNoKEBpbXBsQ29udGVudCwgPDxFTkQpIGlmICRpbnRlcmZhY2UtPmV4dGVuZGVkQXR0cmli
dXRlcy0+e0ltcGxlbWVudGF0aW9uTGFja3NWVGFibGV9OwotI2lmIENPTVBJTEVSKENMQU5HKQog
ICAgIC8vIElmIHlvdSBoaXQgdGhpcyBmYWlsdXJlIHRoZSBpbnRlcmZhY2UgZGVmaW5pdGlvbiBo
YXMgdGhlIEltcGxlbWVudGF0aW9uTGFja3NWVGFibGUKICAgICAvLyBhdHRyaWJ1dGUuIFlvdSBz
aG91bGQgcmVtb3ZlIHRoYXQgYXR0cmlidXRlLiBJZiB0aGUgY2xhc3MgaGFzIHN1YmNsYXNzZXMK
ICAgICAvLyB0aGF0IG1heSBiZSBwYXNzZWQgdGhyb3VnaCB0aGlzIHRvSlMoKSBmdW5jdGlvbiB5
b3Ugc2hvdWxkIHVzZSB0aGUgU2tpcFZUYWJsZVZhbGlkYXRpb24KICAgICAvLyBhdHRyaWJ1dGUg
dG8gJGludGVyZmFjZU5hbWUuCi0gICAgc3RhdGljX2Fzc2VydCghX19pc19wb2x5bW9ycGhpYygk
aW1wbFR5cGUpLCAiJHtpbXBsVHlwZX0gaXMgcG9seW1vcnBoaWMgYnV0IHRoZSBJREwgY2xhaW1z
IGl0IGlzIG5vdCIpOwotI2VuZGlmCisgICAgc3RhdGljX2Fzc2VydCghc3RkOjppc19wb2x5bW9y
cGhpYzwke2ltcGxUeXBlfT46OnZhbHVlLCAiJHtpbXBsVHlwZX0gaXMgcG9seW1vcnBoaWMgYnV0
IHRoZSBJREwgY2xhaW1zIGl0IGlzIG5vdCIpOwogRU5ECiAgICAgICAgIHB1c2goQGltcGxDb250
ZW50LCA8PEVORCkgaWYgJGludGVyZmFjZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57UmVwb3J0RXh0
cmFNZW1vcnlDb3N0fTsKICAgICBnbG9iYWxPYmplY3QtPnZtKCkuaGVhcC5yZXBvcnRFeHRyYU1l
bW9yeUFsbG9jYXRlZChpbXBsLT5tZW1vcnlDb3N0KCkpOwogRU5ECiAKLSAgICAgICAgcHVzaChA
aW1wbENvbnRlbnQsICIgICAgcmV0dXJuIGNyZWF0ZVdyYXBwZXI8JGltcGxUeXBlPihnbG9iYWxP
YmplY3QsIFdURk1vdmUoaW1wbCkpO1xuIik7CisgICAgICAgIHB1c2goQGltcGxDb250ZW50LCAi
ICAgIHJldHVybiBjcmVhdGVXcmFwcGVyPCR7aW1wbFR5cGV9PihnbG9iYWxPYmplY3QsIFdURk1v
dmUoaW1wbCkpO1xuIik7CiAgICAgICAgIHB1c2goQGltcGxDb250ZW50LCAifVxuXG4iKTsKIAot
ICAgICAgICBwdXNoKEBpbXBsQ29udGVudCwgIkpTQzo6SlNWYWx1ZSB0b0pTKEpTQzo6RXhlY1N0
YXRlKiBzdGF0ZSwgSlNET01HbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgJGltcGxUeXBlJiBp
bXBsKVxuIik7CisgICAgICAgIHB1c2goQGltcGxDb250ZW50LCAiSlNDOjpKU1ZhbHVlIHRvSlMo
SlNDOjpFeGVjU3RhdGUqIHN0YXRlLCBKU0RPTUdsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCAk
e2ltcGxUeXBlfSYgaW1wbClcbiIpOwogICAgICAgICBwdXNoKEBpbXBsQ29udGVudCwgIntcbiIp
OwogICAgICAgICBwdXNoKEBpbXBsQ29udGVudCwgIiAgICByZXR1cm4gd3JhcChzdGF0ZSwgZ2xv
YmFsT2JqZWN0LCBpbXBsKTtcbiIpOwogICAgICAgICBwdXNoKEBpbXBsQ29udGVudCwgIn1cblxu
Iik7CiAgICAgfQogCiAgICAgaWYgKFNob3VsZEdlbmVyYXRlVG9XcmFwcGVkKCRoYXNQYXJlbnQs
ICRpbnRlcmZhY2UpIGFuZCAhJGludGVyZmFjZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57SlNDdXN0
b21Ub05hdGl2ZU9iamVjdH0pIHsKLSAgICAgICAgcHVzaChAaW1wbENvbnRlbnQsICIkaW1wbFR5
cGUqICR7Y2xhc3NOYW1lfTo6dG9XcmFwcGVkKEpTQzo6Vk0mIHZtLCBKU0M6OkpTVmFsdWUgdmFs
dWUpXG4iKTsKKyAgICAgICAgcHVzaChAaW1wbENvbnRlbnQsICIke2ltcGxUeXBlfSogJHtjbGFz
c05hbWV9Ojp0b1dyYXBwZWQoSlNDOjpWTSYgdm0sIEpTQzo6SlNWYWx1ZSB2YWx1ZSlcbiIpOwog
ICAgICAgICBwdXNoKEBpbXBsQ29udGVudCwgIntcbiIpOwogICAgICAgICBwdXNoKEBpbXBsQ29u
dGVudCwgIiAgICBpZiAoYXV0byogd3JhcHBlciA9ICIgLiBHZXRDYXN0aW5nSGVscGVyRm9yVGhp
c09iamVjdCgkaW50ZXJmYWNlKSAuICIodm0sIHZhbHVlKSlcbiIpOwogICAgICAgICBwdXNoKEBp
bXBsQ29udGVudCwgIiAgICAgICAgcmV0dXJuICZ3cmFwcGVyLT53cmFwcGVkKCk7XG4iKTsKSW5k
ZXg6IFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU0ludGVyZmFjZU5h
bWUuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVz
dC9KUy9KU0ludGVyZmFjZU5hbWUuY3BwCShyZXZpc2lvbiAyMTg5NjgpCisrKyBTb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNJbnRlcmZhY2VOYW1lLmNwcAkod29ya2lu
ZyBjb3B5KQpAQCAtMTk5LDEyICsxOTksMTIgQEAgSlNDOjpKU1ZhbHVlIHRvSlNOZXdseUNyZWF0
ZWQoSlNDOjpFeGVjUwogICAgIHZvaWQqIGV4cGVjdGVkVlRhYmxlUG9pbnRlciA9IHJlaW50ZXJw
cmV0X2Nhc3Q8dm9pZCo+KF9faWRlbnRpZmllcigiPz9fN0ludGVyZmFjZU5hbWVAV2ViQ29yZUBA
NkJAIikpOwogI2Vsc2UKICAgICB2b2lkKiBleHBlY3RlZFZUYWJsZVBvaW50ZXIgPSAmX1pUVk43
V2ViQ29yZTEzSW50ZXJmYWNlTmFtZUVbMl07Ci0jaWYgQ09NUElMRVIoQ0xBTkcpCisjZW5kaWYK
KwogICAgIC8vIElmIHRoaXMgZmFpbHMgSW50ZXJmYWNlTmFtZSBkb2VzIG5vdCBoYXZlIGEgdnRh
YmxlLCBzbyB5b3UgbmVlZCB0byBhZGQgdGhlCiAgICAgLy8gSW1wbGVtZW50YXRpb25MYWNrc1ZU
YWJsZSBhdHRyaWJ1dGUgdG8gdGhlIGludGVyZmFjZSBkZWZpbml0aW9uCi0gICAgc3RhdGljX2Fz
c2VydChfX2lzX3BvbHltb3JwaGljKEludGVyZmFjZU5hbWUpLCAiSW50ZXJmYWNlTmFtZSBpcyBu
b3QgcG9seW1vcnBoaWMiKTsKLSNlbmRpZgotI2VuZGlmCisgICAgc3RhdGljX2Fzc2VydChzdGQ6
OmlzX3BvbHltb3JwaGljPEludGVyZmFjZU5hbWU+Ojp2YWx1ZSwgIkludGVyZmFjZU5hbWUgaXMg
bm90IHBvbHltb3JwaGljIik7CisKICAgICAvLyBJZiB5b3UgaGl0IHRoaXMgYXNzZXJ0aW9uIHlv
dSBlaXRoZXIgaGF2ZSBhIHVzZSBhZnRlciBmcmVlIGJ1Zywgb3IKICAgICAvLyBJbnRlcmZhY2VO
YW1lIGhhcyBzdWJjbGFzc2VzLiBJZiBJbnRlcmZhY2VOYW1lIGhhcyBzdWJjbGFzc2VzIHRoYXQg
Z2V0IHBhc3NlZAogICAgIC8vIHRvIHRvSlMoKSB3ZSBjdXJyZW50bHkgcmVxdWlyZSBJbnRlcmZh
Y2VOYW1lIHlvdSB0byBvcHQgb3V0IG9mIGJpbmRpbmcgaGFyZGVuaW5nCkluZGV4OiBTb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNNYXBMaWtlLmNwcAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNNYXBMaWtlLmNw
cAkocmV2aXNpb24gMjE4OTY4KQorKysgU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90
ZXN0L0pTL0pTTWFwTGlrZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTM2OCwxMiArMzY4LDEyIEBA
IEpTQzo6SlNWYWx1ZSB0b0pTTmV3bHlDcmVhdGVkKEpTQzo6RXhlY1MKICAgICB2b2lkKiBleHBl
Y3RlZFZUYWJsZVBvaW50ZXIgPSByZWludGVycHJldF9jYXN0PHZvaWQqPihfX2lkZW50aWZpZXIo
Ij8/XzdNYXBMaWtlQFdlYkNvcmVAQDZCQCIpKTsKICNlbHNlCiAgICAgdm9pZCogZXhwZWN0ZWRW
VGFibGVQb2ludGVyID0gJl9aVFZON1dlYkNvcmU3TWFwTGlrZUVbMl07Ci0jaWYgQ09NUElMRVIo
Q0xBTkcpCisjZW5kaWYKKwogICAgIC8vIElmIHRoaXMgZmFpbHMgTWFwTGlrZSBkb2VzIG5vdCBo
YXZlIGEgdnRhYmxlLCBzbyB5b3UgbmVlZCB0byBhZGQgdGhlCiAgICAgLy8gSW1wbGVtZW50YXRp
b25MYWNrc1ZUYWJsZSBhdHRyaWJ1dGUgdG8gdGhlIGludGVyZmFjZSBkZWZpbml0aW9uCi0gICAg
c3RhdGljX2Fzc2VydChfX2lzX3BvbHltb3JwaGljKE1hcExpa2UpLCAiTWFwTGlrZSBpcyBub3Qg
cG9seW1vcnBoaWMiKTsKLSNlbmRpZgotI2VuZGlmCisgICAgc3RhdGljX2Fzc2VydChzdGQ6Omlz
X3BvbHltb3JwaGljPE1hcExpa2U+Ojp2YWx1ZSwgIk1hcExpa2UgaXMgbm90IHBvbHltb3JwaGlj
Iik7CisKICAgICAvLyBJZiB5b3UgaGl0IHRoaXMgYXNzZXJ0aW9uIHlvdSBlaXRoZXIgaGF2ZSBh
IHVzZSBhZnRlciBmcmVlIGJ1Zywgb3IKICAgICAvLyBNYXBMaWtlIGhhcyBzdWJjbGFzc2VzLiBJ
ZiBNYXBMaWtlIGhhcyBzdWJjbGFzc2VzIHRoYXQgZ2V0IHBhc3NlZAogICAgIC8vIHRvIHRvSlMo
KSB3ZSBjdXJyZW50bHkgcmVxdWlyZSBNYXBMaWtlIHlvdSB0byBvcHQgb3V0IG9mIGJpbmRpbmcg
aGFyZGVuaW5nCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMv
SlNSZWFkT25seU1hcExpa2UuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL3NjcmlwdHMvdGVzdC9KUy9KU1JlYWRPbmx5TWFwTGlrZS5jcHAJKHJldmlzaW9uIDIxODk2
OCkKKysrIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1JlYWRPbmx5
TWFwTGlrZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTMxNywxMiArMzE3LDEyIEBAIEpTQzo6SlNW
YWx1ZSB0b0pTTmV3bHlDcmVhdGVkKEpTQzo6RXhlY1MKICAgICB2b2lkKiBleHBlY3RlZFZUYWJs
ZVBvaW50ZXIgPSByZWludGVycHJldF9jYXN0PHZvaWQqPihfX2lkZW50aWZpZXIoIj8/XzdSZWFk
T25seU1hcExpa2VAV2ViQ29yZUBANkJAIikpOwogI2Vsc2UKICAgICB2b2lkKiBleHBlY3RlZFZU
YWJsZVBvaW50ZXIgPSAmX1pUVk43V2ViQ29yZTE1UmVhZE9ubHlNYXBMaWtlRVsyXTsKLSNpZiBD
T01QSUxFUihDTEFORykKKyNlbmRpZgorCiAgICAgLy8gSWYgdGhpcyBmYWlscyBSZWFkT25seU1h
cExpa2UgZG9lcyBub3QgaGF2ZSBhIHZ0YWJsZSwgc28geW91IG5lZWQgdG8gYWRkIHRoZQogICAg
IC8vIEltcGxlbWVudGF0aW9uTGFja3NWVGFibGUgYXR0cmlidXRlIHRvIHRoZSBpbnRlcmZhY2Ug
ZGVmaW5pdGlvbgotICAgIHN0YXRpY19hc3NlcnQoX19pc19wb2x5bW9ycGhpYyhSZWFkT25seU1h
cExpa2UpLCAiUmVhZE9ubHlNYXBMaWtlIGlzIG5vdCBwb2x5bW9ycGhpYyIpOwotI2VuZGlmCi0j
ZW5kaWYKKyAgICBzdGF0aWNfYXNzZXJ0KHN0ZDo6aXNfcG9seW1vcnBoaWM8UmVhZE9ubHlNYXBM
aWtlPjo6dmFsdWUsICJSZWFkT25seU1hcExpa2UgaXMgbm90IHBvbHltb3JwaGljIik7CisKICAg
ICAvLyBJZiB5b3UgaGl0IHRoaXMgYXNzZXJ0aW9uIHlvdSBlaXRoZXIgaGF2ZSBhIHVzZSBhZnRl
ciBmcmVlIGJ1Zywgb3IKICAgICAvLyBSZWFkT25seU1hcExpa2UgaGFzIHN1YmNsYXNzZXMuIElm
IFJlYWRPbmx5TWFwTGlrZSBoYXMgc3ViY2xhc3NlcyB0aGF0IGdldCBwYXNzZWQKICAgICAvLyB0
byB0b0pTKCkgd2UgY3VycmVudGx5IHJlcXVpcmUgUmVhZE9ubHlNYXBMaWtlIHlvdSB0byBvcHQg
b3V0IG9mIGJpbmRpbmcgaGFyZGVuaW5nCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9z
Y3JpcHRzL3Rlc3QvSlMvSlNUZXN0QWN0aXZlRE9NT2JqZWN0LmNwcAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0QWN0aXZlRE9NT2Jq
ZWN0LmNwcAkocmV2aXNpb24gMjE4OTY4KQorKysgU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2Ny
aXB0cy90ZXN0L0pTL0pTVGVzdEFjdGl2ZURPTU9iamVjdC5jcHAJKHdvcmtpbmcgY29weSkKQEAg
LTI3OCwxMiArMjc4LDEyIEBAIEpTQzo6SlNWYWx1ZSB0b0pTTmV3bHlDcmVhdGVkKEpTQzo6RXhl
Y1MKICAgICB2b2lkKiBleHBlY3RlZFZUYWJsZVBvaW50ZXIgPSByZWludGVycHJldF9jYXN0PHZv
aWQqPihfX2lkZW50aWZpZXIoIj8/XzdUZXN0QWN0aXZlRE9NT2JqZWN0QFdlYkNvcmVAQDZCQCIp
KTsKICNlbHNlCiAgICAgdm9pZCogZXhwZWN0ZWRWVGFibGVQb2ludGVyID0gJl9aVFZON1dlYkNv
cmUxOVRlc3RBY3RpdmVET01PYmplY3RFWzJdOwotI2lmIENPTVBJTEVSKENMQU5HKQorI2VuZGlm
CisKICAgICAvLyBJZiB0aGlzIGZhaWxzIFRlc3RBY3RpdmVET01PYmplY3QgZG9lcyBub3QgaGF2
ZSBhIHZ0YWJsZSwgc28geW91IG5lZWQgdG8gYWRkIHRoZQogICAgIC8vIEltcGxlbWVudGF0aW9u
TGFja3NWVGFibGUgYXR0cmlidXRlIHRvIHRoZSBpbnRlcmZhY2UgZGVmaW5pdGlvbgotICAgIHN0
YXRpY19hc3NlcnQoX19pc19wb2x5bW9ycGhpYyhUZXN0QWN0aXZlRE9NT2JqZWN0KSwgIlRlc3RB
Y3RpdmVET01PYmplY3QgaXMgbm90IHBvbHltb3JwaGljIik7Ci0jZW5kaWYKLSNlbmRpZgorICAg
IHN0YXRpY19hc3NlcnQoc3RkOjppc19wb2x5bW9ycGhpYzxUZXN0QWN0aXZlRE9NT2JqZWN0Pjo6
dmFsdWUsICJUZXN0QWN0aXZlRE9NT2JqZWN0IGlzIG5vdCBwb2x5bW9ycGhpYyIpOworCiAgICAg
Ly8gSWYgeW91IGhpdCB0aGlzIGFzc2VydGlvbiB5b3UgZWl0aGVyIGhhdmUgYSB1c2UgYWZ0ZXIg
ZnJlZSBidWcsIG9yCiAgICAgLy8gVGVzdEFjdGl2ZURPTU9iamVjdCBoYXMgc3ViY2xhc3Nlcy4g
SWYgVGVzdEFjdGl2ZURPTU9iamVjdCBoYXMgc3ViY2xhc3NlcyB0aGF0IGdldCBwYXNzZWQKICAg
ICAvLyB0byB0b0pTKCkgd2UgY3VycmVudGx5IHJlcXVpcmUgVGVzdEFjdGl2ZURPTU9iamVjdCB5
b3UgdG8gb3B0IG91dCBvZiBiaW5kaW5nIGhhcmRlbmluZwpJbmRleDogU291cmNlL1dlYkNvcmUv
YmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdENFUmVhY3Rpb25zLmNwcAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0Q0VSZWFj
dGlvbnMuY3BwCShyZXZpc2lvbiAyMTg5NjgpCisrKyBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9z
Y3JpcHRzL3Rlc3QvSlMvSlNUZXN0Q0VSZWFjdGlvbnMuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0z
MzEsMTIgKzMzMSwxMiBAQCBKU0M6OkpTVmFsdWUgdG9KU05ld2x5Q3JlYXRlZChKU0M6OkV4ZWNT
CiAgICAgdm9pZCogZXhwZWN0ZWRWVGFibGVQb2ludGVyID0gcmVpbnRlcnByZXRfY2FzdDx2b2lk
Kj4oX19pZGVudGlmaWVyKCI/P183VGVzdENFUmVhY3Rpb25zQFdlYkNvcmVAQDZCQCIpKTsKICNl
bHNlCiAgICAgdm9pZCogZXhwZWN0ZWRWVGFibGVQb2ludGVyID0gJl9aVFZON1dlYkNvcmUxNVRl
c3RDRVJlYWN0aW9uc0VbMl07Ci0jaWYgQ09NUElMRVIoQ0xBTkcpCisjZW5kaWYKKwogICAgIC8v
IElmIHRoaXMgZmFpbHMgVGVzdENFUmVhY3Rpb25zIGRvZXMgbm90IGhhdmUgYSB2dGFibGUsIHNv
IHlvdSBuZWVkIHRvIGFkZCB0aGUKICAgICAvLyBJbXBsZW1lbnRhdGlvbkxhY2tzVlRhYmxlIGF0
dHJpYnV0ZSB0byB0aGUgaW50ZXJmYWNlIGRlZmluaXRpb24KLSAgICBzdGF0aWNfYXNzZXJ0KF9f
aXNfcG9seW1vcnBoaWMoVGVzdENFUmVhY3Rpb25zKSwgIlRlc3RDRVJlYWN0aW9ucyBpcyBub3Qg
cG9seW1vcnBoaWMiKTsKLSNlbmRpZgotI2VuZGlmCisgICAgc3RhdGljX2Fzc2VydChzdGQ6Omlz
X3BvbHltb3JwaGljPFRlc3RDRVJlYWN0aW9ucz46OnZhbHVlLCAiVGVzdENFUmVhY3Rpb25zIGlz
IG5vdCBwb2x5bW9ycGhpYyIpOworCiAgICAgLy8gSWYgeW91IGhpdCB0aGlzIGFzc2VydGlvbiB5
b3UgZWl0aGVyIGhhdmUgYSB1c2UgYWZ0ZXIgZnJlZSBidWcsIG9yCiAgICAgLy8gVGVzdENFUmVh
Y3Rpb25zIGhhcyBzdWJjbGFzc2VzLiBJZiBUZXN0Q0VSZWFjdGlvbnMgaGFzIHN1YmNsYXNzZXMg
dGhhdCBnZXQgcGFzc2VkCiAgICAgLy8gdG8gdG9KUygpIHdlIGN1cnJlbnRseSByZXF1aXJlIFRl
c3RDRVJlYWN0aW9ucyB5b3UgdG8gb3B0IG91dCBvZiBiaW5kaW5nIGhhcmRlbmluZwpJbmRleDog
U291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdENFUmVhY3Rpb25z
U3RyaW5naWZpZXIuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Nj
cmlwdHMvdGVzdC9KUy9KU1Rlc3RDRVJlYWN0aW9uc1N0cmluZ2lmaWVyLmNwcAkocmV2aXNpb24g
MjE4OTY4KQorKysgU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVz
dENFUmVhY3Rpb25zU3RyaW5naWZpZXIuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yNTEsMTIgKzI1
MSwxMiBAQCBKU0M6OkpTVmFsdWUgdG9KU05ld2x5Q3JlYXRlZChKU0M6OkV4ZWNTCiAgICAgdm9p
ZCogZXhwZWN0ZWRWVGFibGVQb2ludGVyID0gcmVpbnRlcnByZXRfY2FzdDx2b2lkKj4oX19pZGVu
dGlmaWVyKCI/P183VGVzdENFUmVhY3Rpb25zU3RyaW5naWZpZXJAV2ViQ29yZUBANkJAIikpOwog
I2Vsc2UKICAgICB2b2lkKiBleHBlY3RlZFZUYWJsZVBvaW50ZXIgPSAmX1pUVk43V2ViQ29yZTI2
VGVzdENFUmVhY3Rpb25zU3RyaW5naWZpZXJFWzJdOwotI2lmIENPTVBJTEVSKENMQU5HKQorI2Vu
ZGlmCisKICAgICAvLyBJZiB0aGlzIGZhaWxzIFRlc3RDRVJlYWN0aW9uc1N0cmluZ2lmaWVyIGRv
ZXMgbm90IGhhdmUgYSB2dGFibGUsIHNvIHlvdSBuZWVkIHRvIGFkZCB0aGUKICAgICAvLyBJbXBs
ZW1lbnRhdGlvbkxhY2tzVlRhYmxlIGF0dHJpYnV0ZSB0byB0aGUgaW50ZXJmYWNlIGRlZmluaXRp
b24KLSAgICBzdGF0aWNfYXNzZXJ0KF9faXNfcG9seW1vcnBoaWMoVGVzdENFUmVhY3Rpb25zU3Ry
aW5naWZpZXIpLCAiVGVzdENFUmVhY3Rpb25zU3RyaW5naWZpZXIgaXMgbm90IHBvbHltb3JwaGlj
Iik7Ci0jZW5kaWYKLSNlbmRpZgorICAgIHN0YXRpY19hc3NlcnQoc3RkOjppc19wb2x5bW9ycGhp
YzxUZXN0Q0VSZWFjdGlvbnNTdHJpbmdpZmllcj46OnZhbHVlLCAiVGVzdENFUmVhY3Rpb25zU3Ry
aW5naWZpZXIgaXMgbm90IHBvbHltb3JwaGljIik7CisKICAgICAvLyBJZiB5b3UgaGl0IHRoaXMg
YXNzZXJ0aW9uIHlvdSBlaXRoZXIgaGF2ZSBhIHVzZSBhZnRlciBmcmVlIGJ1Zywgb3IKICAgICAv
LyBUZXN0Q0VSZWFjdGlvbnNTdHJpbmdpZmllciBoYXMgc3ViY2xhc3Nlcy4gSWYgVGVzdENFUmVh
Y3Rpb25zU3RyaW5naWZpZXIgaGFzIHN1YmNsYXNzZXMgdGhhdCBnZXQgcGFzc2VkCiAgICAgLy8g
dG8gdG9KUygpIHdlIGN1cnJlbnRseSByZXF1aXJlIFRlc3RDRVJlYWN0aW9uc1N0cmluZ2lmaWVy
IHlvdSB0byBvcHQgb3V0IG9mIGJpbmRpbmcgaGFyZGVuaW5nCkluZGV4OiBTb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0Q2xhc3NXaXRoSlNCdWlsdGluQ29uc3Ry
dWN0b3IuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMv
dGVzdC9KUy9KU1Rlc3RDbGFzc1dpdGhKU0J1aWx0aW5Db25zdHJ1Y3Rvci5jcHAJKHJldmlzaW9u
IDIxODk2OCkKKysrIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rl
c3RDbGFzc1dpdGhKU0J1aWx0aW5Db25zdHJ1Y3Rvci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTE5
MSwxMiArMTkxLDEyIEBAIEpTQzo6SlNWYWx1ZSB0b0pTTmV3bHlDcmVhdGVkKEpTQzo6RXhlY1MK
ICAgICB2b2lkKiBleHBlY3RlZFZUYWJsZVBvaW50ZXIgPSByZWludGVycHJldF9jYXN0PHZvaWQq
PihfX2lkZW50aWZpZXIoIj8/XzdUZXN0Q2xhc3NXaXRoSlNCdWlsdGluQ29uc3RydWN0b3JAV2Vi
Q29yZUBANkJAIikpOwogI2Vsc2UKICAgICB2b2lkKiBleHBlY3RlZFZUYWJsZVBvaW50ZXIgPSAm
X1pUVk43V2ViQ29yZTMzVGVzdENsYXNzV2l0aEpTQnVpbHRpbkNvbnN0cnVjdG9yRVsyXTsKLSNp
ZiBDT01QSUxFUihDTEFORykKKyNlbmRpZgorCiAgICAgLy8gSWYgdGhpcyBmYWlscyBUZXN0Q2xh
c3NXaXRoSlNCdWlsdGluQ29uc3RydWN0b3IgZG9lcyBub3QgaGF2ZSBhIHZ0YWJsZSwgc28geW91
IG5lZWQgdG8gYWRkIHRoZQogICAgIC8vIEltcGxlbWVudGF0aW9uTGFja3NWVGFibGUgYXR0cmli
dXRlIHRvIHRoZSBpbnRlcmZhY2UgZGVmaW5pdGlvbgotICAgIHN0YXRpY19hc3NlcnQoX19pc19w
b2x5bW9ycGhpYyhUZXN0Q2xhc3NXaXRoSlNCdWlsdGluQ29uc3RydWN0b3IpLCAiVGVzdENsYXNz
V2l0aEpTQnVpbHRpbkNvbnN0cnVjdG9yIGlzIG5vdCBwb2x5bW9ycGhpYyIpOwotI2VuZGlmCi0j
ZW5kaWYKKyAgICBzdGF0aWNfYXNzZXJ0KHN0ZDo6aXNfcG9seW1vcnBoaWM8VGVzdENsYXNzV2l0
aEpTQnVpbHRpbkNvbnN0cnVjdG9yPjo6dmFsdWUsICJUZXN0Q2xhc3NXaXRoSlNCdWlsdGluQ29u
c3RydWN0b3IgaXMgbm90IHBvbHltb3JwaGljIik7CisKICAgICAvLyBJZiB5b3UgaGl0IHRoaXMg
YXNzZXJ0aW9uIHlvdSBlaXRoZXIgaGF2ZSBhIHVzZSBhZnRlciBmcmVlIGJ1Zywgb3IKICAgICAv
LyBUZXN0Q2xhc3NXaXRoSlNCdWlsdGluQ29uc3RydWN0b3IgaGFzIHN1YmNsYXNzZXMuIElmIFRl
c3RDbGFzc1dpdGhKU0J1aWx0aW5Db25zdHJ1Y3RvciBoYXMgc3ViY2xhc3NlcyB0aGF0IGdldCBw
YXNzZWQKICAgICAvLyB0byB0b0pTKCkgd2UgY3VycmVudGx5IHJlcXVpcmUgVGVzdENsYXNzV2l0
aEpTQnVpbHRpbkNvbnN0cnVjdG9yIHlvdSB0byBvcHQgb3V0IG9mIGJpbmRpbmcgaGFyZGVuaW5n
CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0Q3Vz
dG9tQ29uc3RydWN0b3JXaXRoTm9JbnRlcmZhY2VPYmplY3QuY3BwCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RDdXN0b21Db25zdHJ1
Y3RvcldpdGhOb0ludGVyZmFjZU9iamVjdC5jcHAJKHJldmlzaW9uIDIxODk2OCkKKysrIFNvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RDdXN0b21Db25zdHJ1Y3Rv
cldpdGhOb0ludGVyZmFjZU9iamVjdC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTE4OSwxMiArMTg5
LDEyIEBAIEpTQzo6SlNWYWx1ZSB0b0pTTmV3bHlDcmVhdGVkKEpTQzo6RXhlY1MKICAgICB2b2lk
KiBleHBlY3RlZFZUYWJsZVBvaW50ZXIgPSByZWludGVycHJldF9jYXN0PHZvaWQqPihfX2lkZW50
aWZpZXIoIj8/XzdUZXN0Q3VzdG9tQ29uc3RydWN0b3JXaXRoTm9JbnRlcmZhY2VPYmplY3RAV2Vi
Q29yZUBANkJAIikpOwogI2Vsc2UKICAgICB2b2lkKiBleHBlY3RlZFZUYWJsZVBvaW50ZXIgPSAm
X1pUVk43V2ViQ29yZTQyVGVzdEN1c3RvbUNvbnN0cnVjdG9yV2l0aE5vSW50ZXJmYWNlT2JqZWN0
RVsyXTsKLSNpZiBDT01QSUxFUihDTEFORykKKyNlbmRpZgorCiAgICAgLy8gSWYgdGhpcyBmYWls
cyBUZXN0Q3VzdG9tQ29uc3RydWN0b3JXaXRoTm9JbnRlcmZhY2VPYmplY3QgZG9lcyBub3QgaGF2
ZSBhIHZ0YWJsZSwgc28geW91IG5lZWQgdG8gYWRkIHRoZQogICAgIC8vIEltcGxlbWVudGF0aW9u
TGFja3NWVGFibGUgYXR0cmlidXRlIHRvIHRoZSBpbnRlcmZhY2UgZGVmaW5pdGlvbgotICAgIHN0
YXRpY19hc3NlcnQoX19pc19wb2x5bW9ycGhpYyhUZXN0Q3VzdG9tQ29uc3RydWN0b3JXaXRoTm9J
bnRlcmZhY2VPYmplY3QpLCAiVGVzdEN1c3RvbUNvbnN0cnVjdG9yV2l0aE5vSW50ZXJmYWNlT2Jq
ZWN0IGlzIG5vdCBwb2x5bW9ycGhpYyIpOwotI2VuZGlmCi0jZW5kaWYKKyAgICBzdGF0aWNfYXNz
ZXJ0KHN0ZDo6aXNfcG9seW1vcnBoaWM8VGVzdEN1c3RvbUNvbnN0cnVjdG9yV2l0aE5vSW50ZXJm
YWNlT2JqZWN0Pjo6dmFsdWUsICJUZXN0Q3VzdG9tQ29uc3RydWN0b3JXaXRoTm9JbnRlcmZhY2VP
YmplY3QgaXMgbm90IHBvbHltb3JwaGljIik7CisKICAgICAvLyBJZiB5b3UgaGl0IHRoaXMgYXNz
ZXJ0aW9uIHlvdSBlaXRoZXIgaGF2ZSBhIHVzZSBhZnRlciBmcmVlIGJ1Zywgb3IKICAgICAvLyBU
ZXN0Q3VzdG9tQ29uc3RydWN0b3JXaXRoTm9JbnRlcmZhY2VPYmplY3QgaGFzIHN1YmNsYXNzZXMu
IElmIFRlc3RDdXN0b21Db25zdHJ1Y3RvcldpdGhOb0ludGVyZmFjZU9iamVjdCBoYXMgc3ViY2xh
c3NlcyB0aGF0IGdldCBwYXNzZWQKICAgICAvLyB0byB0b0pTKCkgd2UgY3VycmVudGx5IHJlcXVp
cmUgVGVzdEN1c3RvbUNvbnN0cnVjdG9yV2l0aE5vSW50ZXJmYWNlT2JqZWN0IHlvdSB0byBvcHQg
b3V0IG9mIGJpbmRpbmcgaGFyZGVuaW5nCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9z
Y3JpcHRzL3Rlc3QvSlMvSlNUZXN0RXZlbnRDb25zdHJ1Y3Rvci5jcHAKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdEV2ZW50Q29uc3Ry
dWN0b3IuY3BwCShyZXZpc2lvbiAyMTg5NjgpCisrKyBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9z
Y3JpcHRzL3Rlc3QvSlMvSlNUZXN0RXZlbnRDb25zdHJ1Y3Rvci5jcHAJKHdvcmtpbmcgY29weSkK
QEAgLTI5NCwxMiArMjk0LDEyIEBAIEpTQzo6SlNWYWx1ZSB0b0pTTmV3bHlDcmVhdGVkKEpTQzo6
RXhlY1MKICAgICB2b2lkKiBleHBlY3RlZFZUYWJsZVBvaW50ZXIgPSByZWludGVycHJldF9jYXN0
PHZvaWQqPihfX2lkZW50aWZpZXIoIj8/XzdUZXN0RXZlbnRDb25zdHJ1Y3RvckBXZWJDb3JlQEA2
QkAiKSk7CiAjZWxzZQogICAgIHZvaWQqIGV4cGVjdGVkVlRhYmxlUG9pbnRlciA9ICZfWlRWTjdX
ZWJDb3JlMjBUZXN0RXZlbnRDb25zdHJ1Y3RvckVbMl07Ci0jaWYgQ09NUElMRVIoQ0xBTkcpCisj
ZW5kaWYKKwogICAgIC8vIElmIHRoaXMgZmFpbHMgVGVzdEV2ZW50Q29uc3RydWN0b3IgZG9lcyBu
b3QgaGF2ZSBhIHZ0YWJsZSwgc28geW91IG5lZWQgdG8gYWRkIHRoZQogICAgIC8vIEltcGxlbWVu
dGF0aW9uTGFja3NWVGFibGUgYXR0cmlidXRlIHRvIHRoZSBpbnRlcmZhY2UgZGVmaW5pdGlvbgot
ICAgIHN0YXRpY19hc3NlcnQoX19pc19wb2x5bW9ycGhpYyhUZXN0RXZlbnRDb25zdHJ1Y3Rvciks
ICJUZXN0RXZlbnRDb25zdHJ1Y3RvciBpcyBub3QgcG9seW1vcnBoaWMiKTsKLSNlbmRpZgotI2Vu
ZGlmCisgICAgc3RhdGljX2Fzc2VydChzdGQ6OmlzX3BvbHltb3JwaGljPFRlc3RFdmVudENvbnN0
cnVjdG9yPjo6dmFsdWUsICJUZXN0RXZlbnRDb25zdHJ1Y3RvciBpcyBub3QgcG9seW1vcnBoaWMi
KTsKKwogICAgIC8vIElmIHlvdSBoaXQgdGhpcyBhc3NlcnRpb24geW91IGVpdGhlciBoYXZlIGEg
dXNlIGFmdGVyIGZyZWUgYnVnLCBvcgogICAgIC8vIFRlc3RFdmVudENvbnN0cnVjdG9yIGhhcyBz
dWJjbGFzc2VzLiBJZiBUZXN0RXZlbnRDb25zdHJ1Y3RvciBoYXMgc3ViY2xhc3NlcyB0aGF0IGdl
dCBwYXNzZWQKICAgICAvLyB0byB0b0pTKCkgd2UgY3VycmVudGx5IHJlcXVpcmUgVGVzdEV2ZW50
Q29uc3RydWN0b3IgeW91IHRvIG9wdCBvdXQgb2YgYmluZGluZyBoYXJkZW5pbmcKSW5kZXg6IFNv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RFdmVudFRhcmdldC5j
cHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pT
L0pTVGVzdEV2ZW50VGFyZ2V0LmNwcAkocmV2aXNpb24gMjE4OTY4KQorKysgU291cmNlL1dlYkNv
cmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdEV2ZW50VGFyZ2V0LmNwcAkod29ya2lu
ZyBjb3B5KQpAQCAtMjYzLDEyICsyNjMsMTIgQEAgSlNDOjpKU1ZhbHVlIHRvSlNOZXdseUNyZWF0
ZWQoSlNDOjpFeGVjUwogICAgIHZvaWQqIGV4cGVjdGVkVlRhYmxlUG9pbnRlciA9IHJlaW50ZXJw
cmV0X2Nhc3Q8dm9pZCo+KF9faWRlbnRpZmllcigiPz9fN1Rlc3RFdmVudFRhcmdldEBXZWJDb3Jl
QEA2QkAiKSk7CiAjZWxzZQogICAgIHZvaWQqIGV4cGVjdGVkVlRhYmxlUG9pbnRlciA9ICZfWlRW
TjdXZWJDb3JlMTVUZXN0RXZlbnRUYXJnZXRFWzJdOwotI2lmIENPTVBJTEVSKENMQU5HKQorI2Vu
ZGlmCisKICAgICAvLyBJZiB0aGlzIGZhaWxzIFRlc3RFdmVudFRhcmdldCBkb2VzIG5vdCBoYXZl
IGEgdnRhYmxlLCBzbyB5b3UgbmVlZCB0byBhZGQgdGhlCiAgICAgLy8gSW1wbGVtZW50YXRpb25M
YWNrc1ZUYWJsZSBhdHRyaWJ1dGUgdG8gdGhlIGludGVyZmFjZSBkZWZpbml0aW9uCi0gICAgc3Rh
dGljX2Fzc2VydChfX2lzX3BvbHltb3JwaGljKFRlc3RFdmVudFRhcmdldCksICJUZXN0RXZlbnRU
YXJnZXQgaXMgbm90IHBvbHltb3JwaGljIik7Ci0jZW5kaWYKLSNlbmRpZgorICAgIHN0YXRpY19h
c3NlcnQoc3RkOjppc19wb2x5bW9ycGhpYzxUZXN0RXZlbnRUYXJnZXQ+Ojp2YWx1ZSwgIlRlc3RF
dmVudFRhcmdldCBpcyBub3QgcG9seW1vcnBoaWMiKTsKKwogICAgIC8vIElmIHlvdSBoaXQgdGhp
cyBhc3NlcnRpb24geW91IGVpdGhlciBoYXZlIGEgdXNlIGFmdGVyIGZyZWUgYnVnLCBvcgogICAg
IC8vIFRlc3RFdmVudFRhcmdldCBoYXMgc3ViY2xhc3Nlcy4gSWYgVGVzdEV2ZW50VGFyZ2V0IGhh
cyBzdWJjbGFzc2VzIHRoYXQgZ2V0IHBhc3NlZAogICAgIC8vIHRvIHRvSlMoKSB3ZSBjdXJyZW50
bHkgcmVxdWlyZSBUZXN0RXZlbnRUYXJnZXQgeW91IHRvIG9wdCBvdXQgb2YgYmluZGluZyBoYXJk
ZW5pbmcKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rl
c3RFeGNlcHRpb24uY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Nj
cmlwdHMvdGVzdC9KUy9KU1Rlc3RFeGNlcHRpb24uY3BwCShyZXZpc2lvbiAyMTg5NjgpCisrKyBT
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0RXhjZXB0aW9uLmNw
cAkod29ya2luZyBjb3B5KQpAQCAtMjIxLDEyICsyMjEsMTIgQEAgSlNDOjpKU1ZhbHVlIHRvSlNO
ZXdseUNyZWF0ZWQoSlNDOjpFeGVjUwogICAgIHZvaWQqIGV4cGVjdGVkVlRhYmxlUG9pbnRlciA9
IHJlaW50ZXJwcmV0X2Nhc3Q8dm9pZCo+KF9faWRlbnRpZmllcigiPz9fN1Rlc3RFeGNlcHRpb25A
V2ViQ29yZUBANkJAIikpOwogI2Vsc2UKICAgICB2b2lkKiBleHBlY3RlZFZUYWJsZVBvaW50ZXIg
PSAmX1pUVk43V2ViQ29yZTEzVGVzdEV4Y2VwdGlvbkVbMl07Ci0jaWYgQ09NUElMRVIoQ0xBTkcp
CisjZW5kaWYKKwogICAgIC8vIElmIHRoaXMgZmFpbHMgVGVzdEV4Y2VwdGlvbiBkb2VzIG5vdCBo
YXZlIGEgdnRhYmxlLCBzbyB5b3UgbmVlZCB0byBhZGQgdGhlCiAgICAgLy8gSW1wbGVtZW50YXRp
b25MYWNrc1ZUYWJsZSBhdHRyaWJ1dGUgdG8gdGhlIGludGVyZmFjZSBkZWZpbml0aW9uCi0gICAg
c3RhdGljX2Fzc2VydChfX2lzX3BvbHltb3JwaGljKFRlc3RFeGNlcHRpb24pLCAiVGVzdEV4Y2Vw
dGlvbiBpcyBub3QgcG9seW1vcnBoaWMiKTsKLSNlbmRpZgotI2VuZGlmCisgICAgc3RhdGljX2Fz
c2VydChzdGQ6OmlzX3BvbHltb3JwaGljPFRlc3RFeGNlcHRpb24+Ojp2YWx1ZSwgIlRlc3RFeGNl
cHRpb24gaXMgbm90IHBvbHltb3JwaGljIik7CisKICAgICAvLyBJZiB5b3UgaGl0IHRoaXMgYXNz
ZXJ0aW9uIHlvdSBlaXRoZXIgaGF2ZSBhIHVzZSBhZnRlciBmcmVlIGJ1Zywgb3IKICAgICAvLyBU
ZXN0RXhjZXB0aW9uIGhhcyBzdWJjbGFzc2VzLiBJZiBUZXN0RXhjZXB0aW9uIGhhcyBzdWJjbGFz
c2VzIHRoYXQgZ2V0IHBhc3NlZAogICAgIC8vIHRvIHRvSlMoKSB3ZSBjdXJyZW50bHkgcmVxdWly
ZSBUZXN0RXhjZXB0aW9uIHlvdSB0byBvcHQgb3V0IG9mIGJpbmRpbmcgaGFyZGVuaW5nCkluZGV4
OiBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0R2VuZXJhdGVJ
c1JlYWNoYWJsZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2Ny
aXB0cy90ZXN0L0pTL0pTVGVzdEdlbmVyYXRlSXNSZWFjaGFibGUuY3BwCShyZXZpc2lvbiAyMTg5
NjgpCisrKyBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0R2Vu
ZXJhdGVJc1JlYWNoYWJsZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTIxNSwxMiArMjE1LDEyIEBA
IEpTQzo6SlNWYWx1ZSB0b0pTTmV3bHlDcmVhdGVkKEpTQzo6RXhlY1MKICAgICB2b2lkKiBleHBl
Y3RlZFZUYWJsZVBvaW50ZXIgPSByZWludGVycHJldF9jYXN0PHZvaWQqPihfX2lkZW50aWZpZXIo
Ij8/XzdUZXN0R2VuZXJhdGVJc1JlYWNoYWJsZUBXZWJDb3JlQEA2QkAiKSk7CiAjZWxzZQogICAg
IHZvaWQqIGV4cGVjdGVkVlRhYmxlUG9pbnRlciA9ICZfWlRWTjdXZWJDb3JlMjNUZXN0R2VuZXJh
dGVJc1JlYWNoYWJsZUVbMl07Ci0jaWYgQ09NUElMRVIoQ0xBTkcpCisjZW5kaWYKKwogICAgIC8v
IElmIHRoaXMgZmFpbHMgVGVzdEdlbmVyYXRlSXNSZWFjaGFibGUgZG9lcyBub3QgaGF2ZSBhIHZ0
YWJsZSwgc28geW91IG5lZWQgdG8gYWRkIHRoZQogICAgIC8vIEltcGxlbWVudGF0aW9uTGFja3NW
VGFibGUgYXR0cmlidXRlIHRvIHRoZSBpbnRlcmZhY2UgZGVmaW5pdGlvbgotICAgIHN0YXRpY19h
c3NlcnQoX19pc19wb2x5bW9ycGhpYyhUZXN0R2VuZXJhdGVJc1JlYWNoYWJsZSksICJUZXN0R2Vu
ZXJhdGVJc1JlYWNoYWJsZSBpcyBub3QgcG9seW1vcnBoaWMiKTsKLSNlbmRpZgotI2VuZGlmCisg
ICAgc3RhdGljX2Fzc2VydChzdGQ6OmlzX3BvbHltb3JwaGljPFRlc3RHZW5lcmF0ZUlzUmVhY2hh
YmxlPjo6dmFsdWUsICJUZXN0R2VuZXJhdGVJc1JlYWNoYWJsZSBpcyBub3QgcG9seW1vcnBoaWMi
KTsKKwogICAgIC8vIElmIHlvdSBoaXQgdGhpcyBhc3NlcnRpb24geW91IGVpdGhlciBoYXZlIGEg
dXNlIGFmdGVyIGZyZWUgYnVnLCBvcgogICAgIC8vIFRlc3RHZW5lcmF0ZUlzUmVhY2hhYmxlIGhh
cyBzdWJjbGFzc2VzLiBJZiBUZXN0R2VuZXJhdGVJc1JlYWNoYWJsZSBoYXMgc3ViY2xhc3NlcyB0
aGF0IGdldCBwYXNzZWQKICAgICAvLyB0byB0b0pTKCkgd2UgY3VycmVudGx5IHJlcXVpcmUgVGVz
dEdlbmVyYXRlSXNSZWFjaGFibGUgeW91IHRvIG9wdCBvdXQgb2YgYmluZGluZyBoYXJkZW5pbmcK
SW5kZXg6IFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RHbG9i
YWxPYmplY3QuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Njcmlw
dHMvdGVzdC9KUy9KU1Rlc3RHbG9iYWxPYmplY3QuY3BwCShyZXZpc2lvbiAyMTg5NjgpCisrKyBT
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0R2xvYmFsT2JqZWN0
LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNTk2LDEyICs1OTYsMTIgQEAgSlNDOjpKU1ZhbHVlIHRv
SlNOZXdseUNyZWF0ZWQoSlNDOjpFeGVjUwogICAgIHZvaWQqIGV4cGVjdGVkVlRhYmxlUG9pbnRl
ciA9IHJlaW50ZXJwcmV0X2Nhc3Q8dm9pZCo+KF9faWRlbnRpZmllcigiPz9fN1Rlc3RHbG9iYWxP
YmplY3RAV2ViQ29yZUBANkJAIikpOwogI2Vsc2UKICAgICB2b2lkKiBleHBlY3RlZFZUYWJsZVBv
aW50ZXIgPSAmX1pUVk43V2ViQ29yZTE2VGVzdEdsb2JhbE9iamVjdEVbMl07Ci0jaWYgQ09NUElM
RVIoQ0xBTkcpCisjZW5kaWYKKwogICAgIC8vIElmIHRoaXMgZmFpbHMgVGVzdEdsb2JhbE9iamVj
dCBkb2VzIG5vdCBoYXZlIGEgdnRhYmxlLCBzbyB5b3UgbmVlZCB0byBhZGQgdGhlCiAgICAgLy8g
SW1wbGVtZW50YXRpb25MYWNrc1ZUYWJsZSBhdHRyaWJ1dGUgdG8gdGhlIGludGVyZmFjZSBkZWZp
bml0aW9uCi0gICAgc3RhdGljX2Fzc2VydChfX2lzX3BvbHltb3JwaGljKFRlc3RHbG9iYWxPYmpl
Y3QpLCAiVGVzdEdsb2JhbE9iamVjdCBpcyBub3QgcG9seW1vcnBoaWMiKTsKLSNlbmRpZgotI2Vu
ZGlmCisgICAgc3RhdGljX2Fzc2VydChzdGQ6OmlzX3BvbHltb3JwaGljPFRlc3RHbG9iYWxPYmpl
Y3Q+Ojp2YWx1ZSwgIlRlc3RHbG9iYWxPYmplY3QgaXMgbm90IHBvbHltb3JwaGljIik7CisKICAg
ICAvLyBJZiB5b3UgaGl0IHRoaXMgYXNzZXJ0aW9uIHlvdSBlaXRoZXIgaGF2ZSBhIHVzZSBhZnRl
ciBmcmVlIGJ1Zywgb3IKICAgICAvLyBUZXN0R2xvYmFsT2JqZWN0IGhhcyBzdWJjbGFzc2VzLiBJ
ZiBUZXN0R2xvYmFsT2JqZWN0IGhhcyBzdWJjbGFzc2VzIHRoYXQgZ2V0IHBhc3NlZAogICAgIC8v
IHRvIHRvSlMoKSB3ZSBjdXJyZW50bHkgcmVxdWlyZSBUZXN0R2xvYmFsT2JqZWN0IHlvdSB0byBv
cHQgb3V0IG9mIGJpbmRpbmcgaGFyZGVuaW5nCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0SW5kZXhlZFNldHRlck5vSWRlbnRpZmllci5jcHAKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVz
dEluZGV4ZWRTZXR0ZXJOb0lkZW50aWZpZXIuY3BwCShyZXZpc2lvbiAyMTg5NjgpCisrKyBTb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0SW5kZXhlZFNldHRlck5v
SWRlbnRpZmllci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTI3NywxMiArMjc3LDEyIEBAIEpTQzo6
SlNWYWx1ZSB0b0pTTmV3bHlDcmVhdGVkKEpTQzo6RXhlY1MKICAgICB2b2lkKiBleHBlY3RlZFZU
YWJsZVBvaW50ZXIgPSByZWludGVycHJldF9jYXN0PHZvaWQqPihfX2lkZW50aWZpZXIoIj8/XzdU
ZXN0SW5kZXhlZFNldHRlck5vSWRlbnRpZmllckBXZWJDb3JlQEA2QkAiKSk7CiAjZWxzZQogICAg
IHZvaWQqIGV4cGVjdGVkVlRhYmxlUG9pbnRlciA9ICZfWlRWTjdXZWJDb3JlMjlUZXN0SW5kZXhl
ZFNldHRlck5vSWRlbnRpZmllckVbMl07Ci0jaWYgQ09NUElMRVIoQ0xBTkcpCisjZW5kaWYKKwog
ICAgIC8vIElmIHRoaXMgZmFpbHMgVGVzdEluZGV4ZWRTZXR0ZXJOb0lkZW50aWZpZXIgZG9lcyBu
b3QgaGF2ZSBhIHZ0YWJsZSwgc28geW91IG5lZWQgdG8gYWRkIHRoZQogICAgIC8vIEltcGxlbWVu
dGF0aW9uTGFja3NWVGFibGUgYXR0cmlidXRlIHRvIHRoZSBpbnRlcmZhY2UgZGVmaW5pdGlvbgot
ICAgIHN0YXRpY19hc3NlcnQoX19pc19wb2x5bW9ycGhpYyhUZXN0SW5kZXhlZFNldHRlck5vSWRl
bnRpZmllciksICJUZXN0SW5kZXhlZFNldHRlck5vSWRlbnRpZmllciBpcyBub3QgcG9seW1vcnBo
aWMiKTsKLSNlbmRpZgotI2VuZGlmCisgICAgc3RhdGljX2Fzc2VydChzdGQ6OmlzX3BvbHltb3Jw
aGljPFRlc3RJbmRleGVkU2V0dGVyTm9JZGVudGlmaWVyPjo6dmFsdWUsICJUZXN0SW5kZXhlZFNl
dHRlck5vSWRlbnRpZmllciBpcyBub3QgcG9seW1vcnBoaWMiKTsKKwogICAgIC8vIElmIHlvdSBo
aXQgdGhpcyBhc3NlcnRpb24geW91IGVpdGhlciBoYXZlIGEgdXNlIGFmdGVyIGZyZWUgYnVnLCBv
cgogICAgIC8vIFRlc3RJbmRleGVkU2V0dGVyTm9JZGVudGlmaWVyIGhhcyBzdWJjbGFzc2VzLiBJ
ZiBUZXN0SW5kZXhlZFNldHRlck5vSWRlbnRpZmllciBoYXMgc3ViY2xhc3NlcyB0aGF0IGdldCBw
YXNzZWQKICAgICAvLyB0byB0b0pTKCkgd2UgY3VycmVudGx5IHJlcXVpcmUgVGVzdEluZGV4ZWRT
ZXR0ZXJOb0lkZW50aWZpZXIgeW91IHRvIG9wdCBvdXQgb2YgYmluZGluZyBoYXJkZW5pbmcKSW5k
ZXg6IFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RJbmRleGVk
U2V0dGVyVGhyb3dpbmdFeGNlcHRpb24uY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RJbmRleGVkU2V0dGVyVGhyb3dpbmdFeGNl
cHRpb24uY3BwCShyZXZpc2lvbiAyMTg5NjgpCisrKyBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9z
Y3JpcHRzL3Rlc3QvSlMvSlNUZXN0SW5kZXhlZFNldHRlclRocm93aW5nRXhjZXB0aW9uLmNwcAko
d29ya2luZyBjb3B5KQpAQCAtMjc3LDEyICsyNzcsMTIgQEAgSlNDOjpKU1ZhbHVlIHRvSlNOZXds
eUNyZWF0ZWQoSlNDOjpFeGVjUwogICAgIHZvaWQqIGV4cGVjdGVkVlRhYmxlUG9pbnRlciA9IHJl
aW50ZXJwcmV0X2Nhc3Q8dm9pZCo+KF9faWRlbnRpZmllcigiPz9fN1Rlc3RJbmRleGVkU2V0dGVy
VGhyb3dpbmdFeGNlcHRpb25AV2ViQ29yZUBANkJAIikpOwogI2Vsc2UKICAgICB2b2lkKiBleHBl
Y3RlZFZUYWJsZVBvaW50ZXIgPSAmX1pUVk43V2ViQ29yZTM0VGVzdEluZGV4ZWRTZXR0ZXJUaHJv
d2luZ0V4Y2VwdGlvbkVbMl07Ci0jaWYgQ09NUElMRVIoQ0xBTkcpCisjZW5kaWYKKwogICAgIC8v
IElmIHRoaXMgZmFpbHMgVGVzdEluZGV4ZWRTZXR0ZXJUaHJvd2luZ0V4Y2VwdGlvbiBkb2VzIG5v
dCBoYXZlIGEgdnRhYmxlLCBzbyB5b3UgbmVlZCB0byBhZGQgdGhlCiAgICAgLy8gSW1wbGVtZW50
YXRpb25MYWNrc1ZUYWJsZSBhdHRyaWJ1dGUgdG8gdGhlIGludGVyZmFjZSBkZWZpbml0aW9uCi0g
ICAgc3RhdGljX2Fzc2VydChfX2lzX3BvbHltb3JwaGljKFRlc3RJbmRleGVkU2V0dGVyVGhyb3dp
bmdFeGNlcHRpb24pLCAiVGVzdEluZGV4ZWRTZXR0ZXJUaHJvd2luZ0V4Y2VwdGlvbiBpcyBub3Qg
cG9seW1vcnBoaWMiKTsKLSNlbmRpZgotI2VuZGlmCisgICAgc3RhdGljX2Fzc2VydChzdGQ6Omlz
X3BvbHltb3JwaGljPFRlc3RJbmRleGVkU2V0dGVyVGhyb3dpbmdFeGNlcHRpb24+Ojp2YWx1ZSwg
IlRlc3RJbmRleGVkU2V0dGVyVGhyb3dpbmdFeGNlcHRpb24gaXMgbm90IHBvbHltb3JwaGljIik7
CisKICAgICAvLyBJZiB5b3UgaGl0IHRoaXMgYXNzZXJ0aW9uIHlvdSBlaXRoZXIgaGF2ZSBhIHVz
ZSBhZnRlciBmcmVlIGJ1Zywgb3IKICAgICAvLyBUZXN0SW5kZXhlZFNldHRlclRocm93aW5nRXhj
ZXB0aW9uIGhhcyBzdWJjbGFzc2VzLiBJZiBUZXN0SW5kZXhlZFNldHRlclRocm93aW5nRXhjZXB0
aW9uIGhhcyBzdWJjbGFzc2VzIHRoYXQgZ2V0IHBhc3NlZAogICAgIC8vIHRvIHRvSlMoKSB3ZSBj
dXJyZW50bHkgcmVxdWlyZSBUZXN0SW5kZXhlZFNldHRlclRocm93aW5nRXhjZXB0aW9uIHlvdSB0
byBvcHQgb3V0IG9mIGJpbmRpbmcgaGFyZGVuaW5nCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0SW5kZXhlZFNldHRlcldpdGhJZGVudGlmaWVyLmNw
cAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMv
SlNUZXN0SW5kZXhlZFNldHRlcldpdGhJZGVudGlmaWVyLmNwcAkocmV2aXNpb24gMjE4OTY4KQor
KysgU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdEluZGV4ZWRT
ZXR0ZXJXaXRoSWRlbnRpZmllci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTMwOSwxMiArMzA5LDEy
IEBAIEpTQzo6SlNWYWx1ZSB0b0pTTmV3bHlDcmVhdGVkKEpTQzo6RXhlY1MKICAgICB2b2lkKiBl
eHBlY3RlZFZUYWJsZVBvaW50ZXIgPSByZWludGVycHJldF9jYXN0PHZvaWQqPihfX2lkZW50aWZp
ZXIoIj8/XzdUZXN0SW5kZXhlZFNldHRlcldpdGhJZGVudGlmaWVyQFdlYkNvcmVAQDZCQCIpKTsK
ICNlbHNlCiAgICAgdm9pZCogZXhwZWN0ZWRWVGFibGVQb2ludGVyID0gJl9aVFZON1dlYkNvcmUz
MVRlc3RJbmRleGVkU2V0dGVyV2l0aElkZW50aWZpZXJFWzJdOwotI2lmIENPTVBJTEVSKENMQU5H
KQorI2VuZGlmCisKICAgICAvLyBJZiB0aGlzIGZhaWxzIFRlc3RJbmRleGVkU2V0dGVyV2l0aElk
ZW50aWZpZXIgZG9lcyBub3QgaGF2ZSBhIHZ0YWJsZSwgc28geW91IG5lZWQgdG8gYWRkIHRoZQog
ICAgIC8vIEltcGxlbWVudGF0aW9uTGFja3NWVGFibGUgYXR0cmlidXRlIHRvIHRoZSBpbnRlcmZh
Y2UgZGVmaW5pdGlvbgotICAgIHN0YXRpY19hc3NlcnQoX19pc19wb2x5bW9ycGhpYyhUZXN0SW5k
ZXhlZFNldHRlcldpdGhJZGVudGlmaWVyKSwgIlRlc3RJbmRleGVkU2V0dGVyV2l0aElkZW50aWZp
ZXIgaXMgbm90IHBvbHltb3JwaGljIik7Ci0jZW5kaWYKLSNlbmRpZgorICAgIHN0YXRpY19hc3Nl
cnQoc3RkOjppc19wb2x5bW9ycGhpYzxUZXN0SW5kZXhlZFNldHRlcldpdGhJZGVudGlmaWVyPjo6
dmFsdWUsICJUZXN0SW5kZXhlZFNldHRlcldpdGhJZGVudGlmaWVyIGlzIG5vdCBwb2x5bW9ycGhp
YyIpOworCiAgICAgLy8gSWYgeW91IGhpdCB0aGlzIGFzc2VydGlvbiB5b3UgZWl0aGVyIGhhdmUg
YSB1c2UgYWZ0ZXIgZnJlZSBidWcsIG9yCiAgICAgLy8gVGVzdEluZGV4ZWRTZXR0ZXJXaXRoSWRl
bnRpZmllciBoYXMgc3ViY2xhc3Nlcy4gSWYgVGVzdEluZGV4ZWRTZXR0ZXJXaXRoSWRlbnRpZmll
ciBoYXMgc3ViY2xhc3NlcyB0aGF0IGdldCBwYXNzZWQKICAgICAvLyB0byB0b0pTKCkgd2UgY3Vy
cmVudGx5IHJlcXVpcmUgVGVzdEluZGV4ZWRTZXR0ZXJXaXRoSWRlbnRpZmllciB5b3UgdG8gb3B0
IG91dCBvZiBiaW5kaW5nIGhhcmRlbmluZwpJbmRleDogU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
c2NyaXB0cy90ZXN0L0pTL0pTVGVzdEludGVyZmFjZS5jcHAKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdEludGVyZmFjZS5jcHAJKHJl
dmlzaW9uIDIxODk2OCkKKysrIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9K
Uy9KU1Rlc3RJbnRlcmZhY2UuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC05NzYsMTMgKzk3NiwxMSBA
QCB2b2lkIEpTVGVzdEludGVyZmFjZU93bmVyOjpmaW5hbGl6ZShKU0M6CiAKIEpTQzo6SlNWYWx1
ZSB0b0pTTmV3bHlDcmVhdGVkKEpTQzo6RXhlY1N0YXRlKiwgSlNET01HbG9iYWxPYmplY3QqIGds
b2JhbE9iamVjdCwgUmVmPFRlc3RJbnRlcmZhY2U+JiYgaW1wbCkKIHsKLSNpZiBDT01QSUxFUihD
TEFORykKICAgICAvLyBJZiB5b3UgaGl0IHRoaXMgZmFpbHVyZSB0aGUgaW50ZXJmYWNlIGRlZmlu
aXRpb24gaGFzIHRoZSBJbXBsZW1lbnRhdGlvbkxhY2tzVlRhYmxlCiAgICAgLy8gYXR0cmlidXRl
LiBZb3Ugc2hvdWxkIHJlbW92ZSB0aGF0IGF0dHJpYnV0ZS4gSWYgdGhlIGNsYXNzIGhhcyBzdWJj
bGFzc2VzCiAgICAgLy8gdGhhdCBtYXkgYmUgcGFzc2VkIHRocm91Z2ggdGhpcyB0b0pTKCkgZnVu
Y3Rpb24geW91IHNob3VsZCB1c2UgdGhlIFNraXBWVGFibGVWYWxpZGF0aW9uCiAgICAgLy8gYXR0
cmlidXRlIHRvIFRlc3RJbnRlcmZhY2UuCi0gICAgc3RhdGljX2Fzc2VydCghX19pc19wb2x5bW9y
cGhpYyhUZXN0SW50ZXJmYWNlKSwgIlRlc3RJbnRlcmZhY2UgaXMgcG9seW1vcnBoaWMgYnV0IHRo
ZSBJREwgY2xhaW1zIGl0IGlzIG5vdCIpOwotI2VuZGlmCisgICAgc3RhdGljX2Fzc2VydCghc3Rk
Ojppc19wb2x5bW9ycGhpYzxUZXN0SW50ZXJmYWNlPjo6dmFsdWUsICJUZXN0SW50ZXJmYWNlIGlz
IHBvbHltb3JwaGljIGJ1dCB0aGUgSURMIGNsYWltcyBpdCBpcyBub3QiKTsKICAgICByZXR1cm4g
Y3JlYXRlV3JhcHBlcjxUZXN0SW50ZXJmYWNlPihnbG9iYWxPYmplY3QsIFdURk1vdmUoaW1wbCkp
OwogfQogCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNU
ZXN0SW50ZXJmYWNlTGVhZGluZ1VuZGVyc2NvcmUuY3BwCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RJbnRlcmZhY2VMZWFkaW5nVW5k
ZXJzY29yZS5jcHAJKHJldmlzaW9uIDIxODk2OCkKKysrIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RJbnRlcmZhY2VMZWFkaW5nVW5kZXJzY29yZS5jcHAJKHdv
cmtpbmcgY29weSkKQEAgLTE5MiwxMyArMTkyLDExIEBAIHZvaWQgSlNUZXN0SW50ZXJmYWNlTGVh
ZGluZ1VuZGVyc2NvcmVPd24KIAogSlNDOjpKU1ZhbHVlIHRvSlNOZXdseUNyZWF0ZWQoSlNDOjpF
eGVjU3RhdGUqLCBKU0RPTUdsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBSZWY8VGVzdEludGVy
ZmFjZUxlYWRpbmdVbmRlcnNjb3JlPiYmIGltcGwpCiB7Ci0jaWYgQ09NUElMRVIoQ0xBTkcpCiAg
ICAgLy8gSWYgeW91IGhpdCB0aGlzIGZhaWx1cmUgdGhlIGludGVyZmFjZSBkZWZpbml0aW9uIGhh
cyB0aGUgSW1wbGVtZW50YXRpb25MYWNrc1ZUYWJsZQogICAgIC8vIGF0dHJpYnV0ZS4gWW91IHNo
b3VsZCByZW1vdmUgdGhhdCBhdHRyaWJ1dGUuIElmIHRoZSBjbGFzcyBoYXMgc3ViY2xhc3Nlcwog
ICAgIC8vIHRoYXQgbWF5IGJlIHBhc3NlZCB0aHJvdWdoIHRoaXMgdG9KUygpIGZ1bmN0aW9uIHlv
dSBzaG91bGQgdXNlIHRoZSBTa2lwVlRhYmxlVmFsaWRhdGlvbgogICAgIC8vIGF0dHJpYnV0ZSB0
byBUZXN0SW50ZXJmYWNlTGVhZGluZ1VuZGVyc2NvcmUuCi0gICAgc3RhdGljX2Fzc2VydCghX19p
c19wb2x5bW9ycGhpYyhUZXN0SW50ZXJmYWNlTGVhZGluZ1VuZGVyc2NvcmUpLCAiVGVzdEludGVy
ZmFjZUxlYWRpbmdVbmRlcnNjb3JlIGlzIHBvbHltb3JwaGljIGJ1dCB0aGUgSURMIGNsYWltcyBp
dCBpcyBub3QiKTsKLSNlbmRpZgorICAgIHN0YXRpY19hc3NlcnQoIXN0ZDo6aXNfcG9seW1vcnBo
aWM8VGVzdEludGVyZmFjZUxlYWRpbmdVbmRlcnNjb3JlPjo6dmFsdWUsICJUZXN0SW50ZXJmYWNl
TGVhZGluZ1VuZGVyc2NvcmUgaXMgcG9seW1vcnBoaWMgYnV0IHRoZSBJREwgY2xhaW1zIGl0IGlz
IG5vdCIpOwogICAgIHJldHVybiBjcmVhdGVXcmFwcGVyPFRlc3RJbnRlcmZhY2VMZWFkaW5nVW5k
ZXJzY29yZT4oZ2xvYmFsT2JqZWN0LCBXVEZNb3ZlKGltcGwpKTsKIH0KIApJbmRleDogU291cmNl
L1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdEl0ZXJhYmxlLmNwcAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0
SXRlcmFibGUuY3BwCShyZXZpc2lvbiAyMTg5NjgpCisrKyBTb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0SXRlcmFibGUuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0y
NjEsMTIgKzI2MSwxMiBAQCBKU0M6OkpTVmFsdWUgdG9KU05ld2x5Q3JlYXRlZChKU0M6OkV4ZWNT
CiAgICAgdm9pZCogZXhwZWN0ZWRWVGFibGVQb2ludGVyID0gcmVpbnRlcnByZXRfY2FzdDx2b2lk
Kj4oX19pZGVudGlmaWVyKCI/P183VGVzdEl0ZXJhYmxlQFdlYkNvcmVAQDZCQCIpKTsKICNlbHNl
CiAgICAgdm9pZCogZXhwZWN0ZWRWVGFibGVQb2ludGVyID0gJl9aVFZON1dlYkNvcmUxMlRlc3RJ
dGVyYWJsZUVbMl07Ci0jaWYgQ09NUElMRVIoQ0xBTkcpCisjZW5kaWYKKwogICAgIC8vIElmIHRo
aXMgZmFpbHMgVGVzdEl0ZXJhYmxlIGRvZXMgbm90IGhhdmUgYSB2dGFibGUsIHNvIHlvdSBuZWVk
IHRvIGFkZCB0aGUKICAgICAvLyBJbXBsZW1lbnRhdGlvbkxhY2tzVlRhYmxlIGF0dHJpYnV0ZSB0
byB0aGUgaW50ZXJmYWNlIGRlZmluaXRpb24KLSAgICBzdGF0aWNfYXNzZXJ0KF9faXNfcG9seW1v
cnBoaWMoVGVzdEl0ZXJhYmxlKSwgIlRlc3RJdGVyYWJsZSBpcyBub3QgcG9seW1vcnBoaWMiKTsK
LSNlbmRpZgotI2VuZGlmCisgICAgc3RhdGljX2Fzc2VydChzdGQ6OmlzX3BvbHltb3JwaGljPFRl
c3RJdGVyYWJsZT46OnZhbHVlLCAiVGVzdEl0ZXJhYmxlIGlzIG5vdCBwb2x5bW9ycGhpYyIpOwor
CiAgICAgLy8gSWYgeW91IGhpdCB0aGlzIGFzc2VydGlvbiB5b3UgZWl0aGVyIGhhdmUgYSB1c2Ug
YWZ0ZXIgZnJlZSBidWcsIG9yCiAgICAgLy8gVGVzdEl0ZXJhYmxlIGhhcyBzdWJjbGFzc2VzLiBJ
ZiBUZXN0SXRlcmFibGUgaGFzIHN1YmNsYXNzZXMgdGhhdCBnZXQgcGFzc2VkCiAgICAgLy8gdG8g
dG9KUygpIHdlIGN1cnJlbnRseSByZXF1aXJlIFRlc3RJdGVyYWJsZSB5b3UgdG8gb3B0IG91dCBv
ZiBiaW5kaW5nIGhhcmRlbmluZwpJbmRleDogU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0
cy90ZXN0L0pTL0pTVGVzdE1lZGlhUXVlcnlMaXN0TGlzdGVuZXIuY3BwCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RNZWRpYVF1ZXJ5
TGlzdExpc3RlbmVyLmNwcAkocmV2aXNpb24gMjE4OTY4KQorKysgU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE1lZGlhUXVlcnlMaXN0TGlzdGVuZXIuY3BwCSh3
b3JraW5nIGNvcHkpCkBAIC0yMTcsMTIgKzIxNywxMiBAQCBKU0M6OkpTVmFsdWUgdG9KU05ld2x5
Q3JlYXRlZChKU0M6OkV4ZWNTCiAgICAgdm9pZCogZXhwZWN0ZWRWVGFibGVQb2ludGVyID0gcmVp
bnRlcnByZXRfY2FzdDx2b2lkKj4oX19pZGVudGlmaWVyKCI/P183VGVzdE1lZGlhUXVlcnlMaXN0
TGlzdGVuZXJAV2ViQ29yZUBANkJAIikpOwogI2Vsc2UKICAgICB2b2lkKiBleHBlY3RlZFZUYWJs
ZVBvaW50ZXIgPSAmX1pUVk43V2ViQ29yZTI2VGVzdE1lZGlhUXVlcnlMaXN0TGlzdGVuZXJFWzJd
OwotI2lmIENPTVBJTEVSKENMQU5HKQorI2VuZGlmCisKICAgICAvLyBJZiB0aGlzIGZhaWxzIFRl
c3RNZWRpYVF1ZXJ5TGlzdExpc3RlbmVyIGRvZXMgbm90IGhhdmUgYSB2dGFibGUsIHNvIHlvdSBu
ZWVkIHRvIGFkZCB0aGUKICAgICAvLyBJbXBsZW1lbnRhdGlvbkxhY2tzVlRhYmxlIGF0dHJpYnV0
ZSB0byB0aGUgaW50ZXJmYWNlIGRlZmluaXRpb24KLSAgICBzdGF0aWNfYXNzZXJ0KF9faXNfcG9s
eW1vcnBoaWMoVGVzdE1lZGlhUXVlcnlMaXN0TGlzdGVuZXIpLCAiVGVzdE1lZGlhUXVlcnlMaXN0
TGlzdGVuZXIgaXMgbm90IHBvbHltb3JwaGljIik7Ci0jZW5kaWYKLSNlbmRpZgorICAgIHN0YXRp
Y19hc3NlcnQoc3RkOjppc19wb2x5bW9ycGhpYzxUZXN0TWVkaWFRdWVyeUxpc3RMaXN0ZW5lcj46
OnZhbHVlLCAiVGVzdE1lZGlhUXVlcnlMaXN0TGlzdGVuZXIgaXMgbm90IHBvbHltb3JwaGljIik7
CisKICAgICAvLyBJZiB5b3UgaGl0IHRoaXMgYXNzZXJ0aW9uIHlvdSBlaXRoZXIgaGF2ZSBhIHVz
ZSBhZnRlciBmcmVlIGJ1Zywgb3IKICAgICAvLyBUZXN0TWVkaWFRdWVyeUxpc3RMaXN0ZW5lciBo
YXMgc3ViY2xhc3Nlcy4gSWYgVGVzdE1lZGlhUXVlcnlMaXN0TGlzdGVuZXIgaGFzIHN1YmNsYXNz
ZXMgdGhhdCBnZXQgcGFzc2VkCiAgICAgLy8gdG8gdG9KUygpIHdlIGN1cnJlbnRseSByZXF1aXJl
IFRlc3RNZWRpYVF1ZXJ5TGlzdExpc3RlbmVyIHlvdSB0byBvcHQgb3V0IG9mIGJpbmRpbmcgaGFy
ZGVuaW5nCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNU
ZXN0TmFtZWRBbmRJbmRleGVkU2V0dGVyTm9JZGVudGlmaWVyLmNwcAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0TmFtZWRBbmRJbmRl
eGVkU2V0dGVyTm9JZGVudGlmaWVyLmNwcAkocmV2aXNpb24gMjE4OTY4KQorKysgU291cmNlL1dl
YkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE5hbWVkQW5kSW5kZXhlZFNldHRl
ck5vSWRlbnRpZmllci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTM0MywxMiArMzQzLDEyIEBAIEpT
Qzo6SlNWYWx1ZSB0b0pTTmV3bHlDcmVhdGVkKEpTQzo6RXhlY1MKICAgICB2b2lkKiBleHBlY3Rl
ZFZUYWJsZVBvaW50ZXIgPSByZWludGVycHJldF9jYXN0PHZvaWQqPihfX2lkZW50aWZpZXIoIj8/
XzdUZXN0TmFtZWRBbmRJbmRleGVkU2V0dGVyTm9JZGVudGlmaWVyQFdlYkNvcmVAQDZCQCIpKTsK
ICNlbHNlCiAgICAgdm9pZCogZXhwZWN0ZWRWVGFibGVQb2ludGVyID0gJl9aVFZON1dlYkNvcmUz
N1Rlc3ROYW1lZEFuZEluZGV4ZWRTZXR0ZXJOb0lkZW50aWZpZXJFWzJdOwotI2lmIENPTVBJTEVS
KENMQU5HKQorI2VuZGlmCisKICAgICAvLyBJZiB0aGlzIGZhaWxzIFRlc3ROYW1lZEFuZEluZGV4
ZWRTZXR0ZXJOb0lkZW50aWZpZXIgZG9lcyBub3QgaGF2ZSBhIHZ0YWJsZSwgc28geW91IG5lZWQg
dG8gYWRkIHRoZQogICAgIC8vIEltcGxlbWVudGF0aW9uTGFja3NWVGFibGUgYXR0cmlidXRlIHRv
IHRoZSBpbnRlcmZhY2UgZGVmaW5pdGlvbgotICAgIHN0YXRpY19hc3NlcnQoX19pc19wb2x5bW9y
cGhpYyhUZXN0TmFtZWRBbmRJbmRleGVkU2V0dGVyTm9JZGVudGlmaWVyKSwgIlRlc3ROYW1lZEFu
ZEluZGV4ZWRTZXR0ZXJOb0lkZW50aWZpZXIgaXMgbm90IHBvbHltb3JwaGljIik7Ci0jZW5kaWYK
LSNlbmRpZgorICAgIHN0YXRpY19hc3NlcnQoc3RkOjppc19wb2x5bW9ycGhpYzxUZXN0TmFtZWRB
bmRJbmRleGVkU2V0dGVyTm9JZGVudGlmaWVyPjo6dmFsdWUsICJUZXN0TmFtZWRBbmRJbmRleGVk
U2V0dGVyTm9JZGVudGlmaWVyIGlzIG5vdCBwb2x5bW9ycGhpYyIpOworCiAgICAgLy8gSWYgeW91
IGhpdCB0aGlzIGFzc2VydGlvbiB5b3UgZWl0aGVyIGhhdmUgYSB1c2UgYWZ0ZXIgZnJlZSBidWcs
IG9yCiAgICAgLy8gVGVzdE5hbWVkQW5kSW5kZXhlZFNldHRlck5vSWRlbnRpZmllciBoYXMgc3Vi
Y2xhc3Nlcy4gSWYgVGVzdE5hbWVkQW5kSW5kZXhlZFNldHRlck5vSWRlbnRpZmllciBoYXMgc3Vi
Y2xhc3NlcyB0aGF0IGdldCBwYXNzZWQKICAgICAvLyB0byB0b0pTKCkgd2UgY3VycmVudGx5IHJl
cXVpcmUgVGVzdE5hbWVkQW5kSW5kZXhlZFNldHRlck5vSWRlbnRpZmllciB5b3UgdG8gb3B0IG91
dCBvZiBiaW5kaW5nIGhhcmRlbmluZwpJbmRleDogU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2Ny
aXB0cy90ZXN0L0pTL0pTVGVzdE5hbWVkQW5kSW5kZXhlZFNldHRlclRocm93aW5nRXhjZXB0aW9u
LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3Qv
SlMvSlNUZXN0TmFtZWRBbmRJbmRleGVkU2V0dGVyVGhyb3dpbmdFeGNlcHRpb24uY3BwCShyZXZp
c2lvbiAyMTg5NjgpCisrKyBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMv
SlNUZXN0TmFtZWRBbmRJbmRleGVkU2V0dGVyVGhyb3dpbmdFeGNlcHRpb24uY3BwCSh3b3JraW5n
IGNvcHkpCkBAIC0zNDMsMTIgKzM0MywxMiBAQCBKU0M6OkpTVmFsdWUgdG9KU05ld2x5Q3JlYXRl
ZChKU0M6OkV4ZWNTCiAgICAgdm9pZCogZXhwZWN0ZWRWVGFibGVQb2ludGVyID0gcmVpbnRlcnBy
ZXRfY2FzdDx2b2lkKj4oX19pZGVudGlmaWVyKCI/P183VGVzdE5hbWVkQW5kSW5kZXhlZFNldHRl
clRocm93aW5nRXhjZXB0aW9uQFdlYkNvcmVAQDZCQCIpKTsKICNlbHNlCiAgICAgdm9pZCogZXhw
ZWN0ZWRWVGFibGVQb2ludGVyID0gJl9aVFZON1dlYkNvcmU0MlRlc3ROYW1lZEFuZEluZGV4ZWRT
ZXR0ZXJUaHJvd2luZ0V4Y2VwdGlvbkVbMl07Ci0jaWYgQ09NUElMRVIoQ0xBTkcpCisjZW5kaWYK
KwogICAgIC8vIElmIHRoaXMgZmFpbHMgVGVzdE5hbWVkQW5kSW5kZXhlZFNldHRlclRocm93aW5n
RXhjZXB0aW9uIGRvZXMgbm90IGhhdmUgYSB2dGFibGUsIHNvIHlvdSBuZWVkIHRvIGFkZCB0aGUK
ICAgICAvLyBJbXBsZW1lbnRhdGlvbkxhY2tzVlRhYmxlIGF0dHJpYnV0ZSB0byB0aGUgaW50ZXJm
YWNlIGRlZmluaXRpb24KLSAgICBzdGF0aWNfYXNzZXJ0KF9faXNfcG9seW1vcnBoaWMoVGVzdE5h
bWVkQW5kSW5kZXhlZFNldHRlclRocm93aW5nRXhjZXB0aW9uKSwgIlRlc3ROYW1lZEFuZEluZGV4
ZWRTZXR0ZXJUaHJvd2luZ0V4Y2VwdGlvbiBpcyBub3QgcG9seW1vcnBoaWMiKTsKLSNlbmRpZgot
I2VuZGlmCisgICAgc3RhdGljX2Fzc2VydChzdGQ6OmlzX3BvbHltb3JwaGljPFRlc3ROYW1lZEFu
ZEluZGV4ZWRTZXR0ZXJUaHJvd2luZ0V4Y2VwdGlvbj46OnZhbHVlLCAiVGVzdE5hbWVkQW5kSW5k
ZXhlZFNldHRlclRocm93aW5nRXhjZXB0aW9uIGlzIG5vdCBwb2x5bW9ycGhpYyIpOworCiAgICAg
Ly8gSWYgeW91IGhpdCB0aGlzIGFzc2VydGlvbiB5b3UgZWl0aGVyIGhhdmUgYSB1c2UgYWZ0ZXIg
ZnJlZSBidWcsIG9yCiAgICAgLy8gVGVzdE5hbWVkQW5kSW5kZXhlZFNldHRlclRocm93aW5nRXhj
ZXB0aW9uIGhhcyBzdWJjbGFzc2VzLiBJZiBUZXN0TmFtZWRBbmRJbmRleGVkU2V0dGVyVGhyb3dp
bmdFeGNlcHRpb24gaGFzIHN1YmNsYXNzZXMgdGhhdCBnZXQgcGFzc2VkCiAgICAgLy8gdG8gdG9K
UygpIHdlIGN1cnJlbnRseSByZXF1aXJlIFRlc3ROYW1lZEFuZEluZGV4ZWRTZXR0ZXJUaHJvd2lu
Z0V4Y2VwdGlvbiB5b3UgdG8gb3B0IG91dCBvZiBiaW5kaW5nIGhhcmRlbmluZwpJbmRleDogU291
cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE5hbWVkQW5kSW5kZXhl
ZFNldHRlcldpdGhJZGVudGlmaWVyLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0TmFtZWRBbmRJbmRleGVkU2V0dGVyV2l0aElk
ZW50aWZpZXIuY3BwCShyZXZpc2lvbiAyMTg5NjgpCisrKyBTb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0TmFtZWRBbmRJbmRleGVkU2V0dGVyV2l0aElkZW50aWZp
ZXIuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zOTcsMTIgKzM5NywxMiBAQCBKU0M6OkpTVmFsdWUg
dG9KU05ld2x5Q3JlYXRlZChKU0M6OkV4ZWNTCiAgICAgdm9pZCogZXhwZWN0ZWRWVGFibGVQb2lu
dGVyID0gcmVpbnRlcnByZXRfY2FzdDx2b2lkKj4oX19pZGVudGlmaWVyKCI/P183VGVzdE5hbWVk
QW5kSW5kZXhlZFNldHRlcldpdGhJZGVudGlmaWVyQFdlYkNvcmVAQDZCQCIpKTsKICNlbHNlCiAg
ICAgdm9pZCogZXhwZWN0ZWRWVGFibGVQb2ludGVyID0gJl9aVFZON1dlYkNvcmUzOVRlc3ROYW1l
ZEFuZEluZGV4ZWRTZXR0ZXJXaXRoSWRlbnRpZmllckVbMl07Ci0jaWYgQ09NUElMRVIoQ0xBTkcp
CisjZW5kaWYKKwogICAgIC8vIElmIHRoaXMgZmFpbHMgVGVzdE5hbWVkQW5kSW5kZXhlZFNldHRl
cldpdGhJZGVudGlmaWVyIGRvZXMgbm90IGhhdmUgYSB2dGFibGUsIHNvIHlvdSBuZWVkIHRvIGFk
ZCB0aGUKICAgICAvLyBJbXBsZW1lbnRhdGlvbkxhY2tzVlRhYmxlIGF0dHJpYnV0ZSB0byB0aGUg
aW50ZXJmYWNlIGRlZmluaXRpb24KLSAgICBzdGF0aWNfYXNzZXJ0KF9faXNfcG9seW1vcnBoaWMo
VGVzdE5hbWVkQW5kSW5kZXhlZFNldHRlcldpdGhJZGVudGlmaWVyKSwgIlRlc3ROYW1lZEFuZElu
ZGV4ZWRTZXR0ZXJXaXRoSWRlbnRpZmllciBpcyBub3QgcG9seW1vcnBoaWMiKTsKLSNlbmRpZgot
I2VuZGlmCisgICAgc3RhdGljX2Fzc2VydChzdGQ6OmlzX3BvbHltb3JwaGljPFRlc3ROYW1lZEFu
ZEluZGV4ZWRTZXR0ZXJXaXRoSWRlbnRpZmllcj46OnZhbHVlLCAiVGVzdE5hbWVkQW5kSW5kZXhl
ZFNldHRlcldpdGhJZGVudGlmaWVyIGlzIG5vdCBwb2x5bW9ycGhpYyIpOworCiAgICAgLy8gSWYg
eW91IGhpdCB0aGlzIGFzc2VydGlvbiB5b3UgZWl0aGVyIGhhdmUgYSB1c2UgYWZ0ZXIgZnJlZSBi
dWcsIG9yCiAgICAgLy8gVGVzdE5hbWVkQW5kSW5kZXhlZFNldHRlcldpdGhJZGVudGlmaWVyIGhh
cyBzdWJjbGFzc2VzLiBJZiBUZXN0TmFtZWRBbmRJbmRleGVkU2V0dGVyV2l0aElkZW50aWZpZXIg
aGFzIHN1YmNsYXNzZXMgdGhhdCBnZXQgcGFzc2VkCiAgICAgLy8gdG8gdG9KUygpIHdlIGN1cnJl
bnRseSByZXF1aXJlIFRlc3ROYW1lZEFuZEluZGV4ZWRTZXR0ZXJXaXRoSWRlbnRpZmllciB5b3Ug
dG8gb3B0IG91dCBvZiBiaW5kaW5nIGhhcmRlbmluZwpJbmRleDogU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE5hbWVkQ29uc3RydWN0b3IuY3BwCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3ROYW1l
ZENvbnN0cnVjdG9yLmNwcAkocmV2aXNpb24gMjE4OTY4KQorKysgU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE5hbWVkQ29uc3RydWN0b3IuY3BwCSh3b3JraW5n
IGNvcHkpCkBAIC0yMzAsMTIgKzIzMCwxMiBAQCBKU0M6OkpTVmFsdWUgdG9KU05ld2x5Q3JlYXRl
ZChKU0M6OkV4ZWNTCiAgICAgdm9pZCogZXhwZWN0ZWRWVGFibGVQb2ludGVyID0gcmVpbnRlcnBy
ZXRfY2FzdDx2b2lkKj4oX19pZGVudGlmaWVyKCI/P183VGVzdE5hbWVkQ29uc3RydWN0b3JAV2Vi
Q29yZUBANkJAIikpOwogI2Vsc2UKICAgICB2b2lkKiBleHBlY3RlZFZUYWJsZVBvaW50ZXIgPSAm
X1pUVk43V2ViQ29yZTIwVGVzdE5hbWVkQ29uc3RydWN0b3JFWzJdOwotI2lmIENPTVBJTEVSKENM
QU5HKQorI2VuZGlmCisKICAgICAvLyBJZiB0aGlzIGZhaWxzIFRlc3ROYW1lZENvbnN0cnVjdG9y
IGRvZXMgbm90IGhhdmUgYSB2dGFibGUsIHNvIHlvdSBuZWVkIHRvIGFkZCB0aGUKICAgICAvLyBJ
bXBsZW1lbnRhdGlvbkxhY2tzVlRhYmxlIGF0dHJpYnV0ZSB0byB0aGUgaW50ZXJmYWNlIGRlZmlu
aXRpb24KLSAgICBzdGF0aWNfYXNzZXJ0KF9faXNfcG9seW1vcnBoaWMoVGVzdE5hbWVkQ29uc3Ry
dWN0b3IpLCAiVGVzdE5hbWVkQ29uc3RydWN0b3IgaXMgbm90IHBvbHltb3JwaGljIik7Ci0jZW5k
aWYKLSNlbmRpZgorICAgIHN0YXRpY19hc3NlcnQoc3RkOjppc19wb2x5bW9ycGhpYzxUZXN0TmFt
ZWRDb25zdHJ1Y3Rvcj46OnZhbHVlLCAiVGVzdE5hbWVkQ29uc3RydWN0b3IgaXMgbm90IHBvbHlt
b3JwaGljIik7CisKICAgICAvLyBJZiB5b3UgaGl0IHRoaXMgYXNzZXJ0aW9uIHlvdSBlaXRoZXIg
aGF2ZSBhIHVzZSBhZnRlciBmcmVlIGJ1Zywgb3IKICAgICAvLyBUZXN0TmFtZWRDb25zdHJ1Y3Rv
ciBoYXMgc3ViY2xhc3Nlcy4gSWYgVGVzdE5hbWVkQ29uc3RydWN0b3IgaGFzIHN1YmNsYXNzZXMg
dGhhdCBnZXQgcGFzc2VkCiAgICAgLy8gdG8gdG9KUygpIHdlIGN1cnJlbnRseSByZXF1aXJlIFRl
c3ROYW1lZENvbnN0cnVjdG9yIHlvdSB0byBvcHQgb3V0IG9mIGJpbmRpbmcgaGFyZGVuaW5nCklu
ZGV4OiBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0TmFtZWRE
ZWxldGVyTm9JZGVudGlmaWVyLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0TmFtZWREZWxldGVyTm9JZGVudGlmaWVyLmNwcAko
cmV2aXNpb24gMjE4OTY4KQorKysgU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0
L0pTL0pTVGVzdE5hbWVkRGVsZXRlck5vSWRlbnRpZmllci5jcHAJKHdvcmtpbmcgY29weSkKQEAg
LTI1NiwxMiArMjU2LDEyIEBAIEpTQzo6SlNWYWx1ZSB0b0pTTmV3bHlDcmVhdGVkKEpTQzo6RXhl
Y1MKICAgICB2b2lkKiBleHBlY3RlZFZUYWJsZVBvaW50ZXIgPSByZWludGVycHJldF9jYXN0PHZv
aWQqPihfX2lkZW50aWZpZXIoIj8/XzdUZXN0TmFtZWREZWxldGVyTm9JZGVudGlmaWVyQFdlYkNv
cmVAQDZCQCIpKTsKICNlbHNlCiAgICAgdm9pZCogZXhwZWN0ZWRWVGFibGVQb2ludGVyID0gJl9a
VFZON1dlYkNvcmUyOFRlc3ROYW1lZERlbGV0ZXJOb0lkZW50aWZpZXJFWzJdOwotI2lmIENPTVBJ
TEVSKENMQU5HKQorI2VuZGlmCisKICAgICAvLyBJZiB0aGlzIGZhaWxzIFRlc3ROYW1lZERlbGV0
ZXJOb0lkZW50aWZpZXIgZG9lcyBub3QgaGF2ZSBhIHZ0YWJsZSwgc28geW91IG5lZWQgdG8gYWRk
IHRoZQogICAgIC8vIEltcGxlbWVudGF0aW9uTGFja3NWVGFibGUgYXR0cmlidXRlIHRvIHRoZSBp
bnRlcmZhY2UgZGVmaW5pdGlvbgotICAgIHN0YXRpY19hc3NlcnQoX19pc19wb2x5bW9ycGhpYyhU
ZXN0TmFtZWREZWxldGVyTm9JZGVudGlmaWVyKSwgIlRlc3ROYW1lZERlbGV0ZXJOb0lkZW50aWZp
ZXIgaXMgbm90IHBvbHltb3JwaGljIik7Ci0jZW5kaWYKLSNlbmRpZgorICAgIHN0YXRpY19hc3Nl
cnQoc3RkOjppc19wb2x5bW9ycGhpYzxUZXN0TmFtZWREZWxldGVyTm9JZGVudGlmaWVyPjo6dmFs
dWUsICJUZXN0TmFtZWREZWxldGVyTm9JZGVudGlmaWVyIGlzIG5vdCBwb2x5bW9ycGhpYyIpOwor
CiAgICAgLy8gSWYgeW91IGhpdCB0aGlzIGFzc2VydGlvbiB5b3UgZWl0aGVyIGhhdmUgYSB1c2Ug
YWZ0ZXIgZnJlZSBidWcsIG9yCiAgICAgLy8gVGVzdE5hbWVkRGVsZXRlck5vSWRlbnRpZmllciBo
YXMgc3ViY2xhc3Nlcy4gSWYgVGVzdE5hbWVkRGVsZXRlck5vSWRlbnRpZmllciBoYXMgc3ViY2xh
c3NlcyB0aGF0IGdldCBwYXNzZWQKICAgICAvLyB0byB0b0pTKCkgd2UgY3VycmVudGx5IHJlcXVp
cmUgVGVzdE5hbWVkRGVsZXRlck5vSWRlbnRpZmllciB5b3UgdG8gb3B0IG91dCBvZiBiaW5kaW5n
IGhhcmRlbmluZwpJbmRleDogU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pT
L0pTVGVzdE5hbWVkRGVsZXRlclRocm93aW5nRXhjZXB0aW9uLmNwcAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0TmFtZWREZWxldGVy
VGhyb3dpbmdFeGNlcHRpb24uY3BwCShyZXZpc2lvbiAyMTg5NjgpCisrKyBTb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0TmFtZWREZWxldGVyVGhyb3dpbmdFeGNl
cHRpb24uY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yNzAsMTIgKzI3MCwxMiBAQCBKU0M6OkpTVmFs
dWUgdG9KU05ld2x5Q3JlYXRlZChKU0M6OkV4ZWNTCiAgICAgdm9pZCogZXhwZWN0ZWRWVGFibGVQ
b2ludGVyID0gcmVpbnRlcnByZXRfY2FzdDx2b2lkKj4oX19pZGVudGlmaWVyKCI/P183VGVzdE5h
bWVkRGVsZXRlclRocm93aW5nRXhjZXB0aW9uQFdlYkNvcmVAQDZCQCIpKTsKICNlbHNlCiAgICAg
dm9pZCogZXhwZWN0ZWRWVGFibGVQb2ludGVyID0gJl9aVFZON1dlYkNvcmUzM1Rlc3ROYW1lZERl
bGV0ZXJUaHJvd2luZ0V4Y2VwdGlvbkVbMl07Ci0jaWYgQ09NUElMRVIoQ0xBTkcpCisjZW5kaWYK
KwogICAgIC8vIElmIHRoaXMgZmFpbHMgVGVzdE5hbWVkRGVsZXRlclRocm93aW5nRXhjZXB0aW9u
IGRvZXMgbm90IGhhdmUgYSB2dGFibGUsIHNvIHlvdSBuZWVkIHRvIGFkZCB0aGUKICAgICAvLyBJ
bXBsZW1lbnRhdGlvbkxhY2tzVlRhYmxlIGF0dHJpYnV0ZSB0byB0aGUgaW50ZXJmYWNlIGRlZmlu
aXRpb24KLSAgICBzdGF0aWNfYXNzZXJ0KF9faXNfcG9seW1vcnBoaWMoVGVzdE5hbWVkRGVsZXRl
clRocm93aW5nRXhjZXB0aW9uKSwgIlRlc3ROYW1lZERlbGV0ZXJUaHJvd2luZ0V4Y2VwdGlvbiBp
cyBub3QgcG9seW1vcnBoaWMiKTsKLSNlbmRpZgotI2VuZGlmCisgICAgc3RhdGljX2Fzc2VydChz
dGQ6OmlzX3BvbHltb3JwaGljPFRlc3ROYW1lZERlbGV0ZXJUaHJvd2luZ0V4Y2VwdGlvbj46OnZh
bHVlLCAiVGVzdE5hbWVkRGVsZXRlclRocm93aW5nRXhjZXB0aW9uIGlzIG5vdCBwb2x5bW9ycGhp
YyIpOworCiAgICAgLy8gSWYgeW91IGhpdCB0aGlzIGFzc2VydGlvbiB5b3UgZWl0aGVyIGhhdmUg
YSB1c2UgYWZ0ZXIgZnJlZSBidWcsIG9yCiAgICAgLy8gVGVzdE5hbWVkRGVsZXRlclRocm93aW5n
RXhjZXB0aW9uIGhhcyBzdWJjbGFzc2VzLiBJZiBUZXN0TmFtZWREZWxldGVyVGhyb3dpbmdFeGNl
cHRpb24gaGFzIHN1YmNsYXNzZXMgdGhhdCBnZXQgcGFzc2VkCiAgICAgLy8gdG8gdG9KUygpIHdl
IGN1cnJlbnRseSByZXF1aXJlIFRlc3ROYW1lZERlbGV0ZXJUaHJvd2luZ0V4Y2VwdGlvbiB5b3Ug
dG8gb3B0IG91dCBvZiBiaW5kaW5nIGhhcmRlbmluZwpJbmRleDogU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE5hbWVkRGVsZXRlcldpdGhJZGVudGlmaWVyLmNw
cAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMv
SlNUZXN0TmFtZWREZWxldGVyV2l0aElkZW50aWZpZXIuY3BwCShyZXZpc2lvbiAyMTg5NjgpCisr
KyBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0TmFtZWREZWxl
dGVyV2l0aElkZW50aWZpZXIuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yODcsMTIgKzI4NywxMiBA
QCBKU0M6OkpTVmFsdWUgdG9KU05ld2x5Q3JlYXRlZChKU0M6OkV4ZWNTCiAgICAgdm9pZCogZXhw
ZWN0ZWRWVGFibGVQb2ludGVyID0gcmVpbnRlcnByZXRfY2FzdDx2b2lkKj4oX19pZGVudGlmaWVy
KCI/P183VGVzdE5hbWVkRGVsZXRlcldpdGhJZGVudGlmaWVyQFdlYkNvcmVAQDZCQCIpKTsKICNl
bHNlCiAgICAgdm9pZCogZXhwZWN0ZWRWVGFibGVQb2ludGVyID0gJl9aVFZON1dlYkNvcmUzMFRl
c3ROYW1lZERlbGV0ZXJXaXRoSWRlbnRpZmllckVbMl07Ci0jaWYgQ09NUElMRVIoQ0xBTkcpCisj
ZW5kaWYKKwogICAgIC8vIElmIHRoaXMgZmFpbHMgVGVzdE5hbWVkRGVsZXRlcldpdGhJZGVudGlm
aWVyIGRvZXMgbm90IGhhdmUgYSB2dGFibGUsIHNvIHlvdSBuZWVkIHRvIGFkZCB0aGUKICAgICAv
LyBJbXBsZW1lbnRhdGlvbkxhY2tzVlRhYmxlIGF0dHJpYnV0ZSB0byB0aGUgaW50ZXJmYWNlIGRl
ZmluaXRpb24KLSAgICBzdGF0aWNfYXNzZXJ0KF9faXNfcG9seW1vcnBoaWMoVGVzdE5hbWVkRGVs
ZXRlcldpdGhJZGVudGlmaWVyKSwgIlRlc3ROYW1lZERlbGV0ZXJXaXRoSWRlbnRpZmllciBpcyBu
b3QgcG9seW1vcnBoaWMiKTsKLSNlbmRpZgotI2VuZGlmCisgICAgc3RhdGljX2Fzc2VydChzdGQ6
OmlzX3BvbHltb3JwaGljPFRlc3ROYW1lZERlbGV0ZXJXaXRoSWRlbnRpZmllcj46OnZhbHVlLCAi
VGVzdE5hbWVkRGVsZXRlcldpdGhJZGVudGlmaWVyIGlzIG5vdCBwb2x5bW9ycGhpYyIpOworCiAg
ICAgLy8gSWYgeW91IGhpdCB0aGlzIGFzc2VydGlvbiB5b3UgZWl0aGVyIGhhdmUgYSB1c2UgYWZ0
ZXIgZnJlZSBidWcsIG9yCiAgICAgLy8gVGVzdE5hbWVkRGVsZXRlcldpdGhJZGVudGlmaWVyIGhh
cyBzdWJjbGFzc2VzLiBJZiBUZXN0TmFtZWREZWxldGVyV2l0aElkZW50aWZpZXIgaGFzIHN1YmNs
YXNzZXMgdGhhdCBnZXQgcGFzc2VkCiAgICAgLy8gdG8gdG9KUygpIHdlIGN1cnJlbnRseSByZXF1
aXJlIFRlc3ROYW1lZERlbGV0ZXJXaXRoSWRlbnRpZmllciB5b3UgdG8gb3B0IG91dCBvZiBiaW5k
aW5nIGhhcmRlbmluZwpJbmRleDogU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0
L0pTL0pTVGVzdE5hbWVkRGVsZXRlcldpdGhJbmRleGVkR2V0dGVyLmNwcAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0TmFtZWREZWxl
dGVyV2l0aEluZGV4ZWRHZXR0ZXIuY3BwCShyZXZpc2lvbiAyMTg5NjgpCisrKyBTb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0TmFtZWREZWxldGVyV2l0aEluZGV4
ZWRHZXR0ZXIuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yNzQsMTIgKzI3NCwxMiBAQCBKU0M6OkpT
VmFsdWUgdG9KU05ld2x5Q3JlYXRlZChKU0M6OkV4ZWNTCiAgICAgdm9pZCogZXhwZWN0ZWRWVGFi
bGVQb2ludGVyID0gcmVpbnRlcnByZXRfY2FzdDx2b2lkKj4oX19pZGVudGlmaWVyKCI/P183VGVz
dE5hbWVkRGVsZXRlcldpdGhJbmRleGVkR2V0dGVyQFdlYkNvcmVAQDZCQCIpKTsKICNlbHNlCiAg
ICAgdm9pZCogZXhwZWN0ZWRWVGFibGVQb2ludGVyID0gJl9aVFZON1dlYkNvcmUzM1Rlc3ROYW1l
ZERlbGV0ZXJXaXRoSW5kZXhlZEdldHRlckVbMl07Ci0jaWYgQ09NUElMRVIoQ0xBTkcpCisjZW5k
aWYKKwogICAgIC8vIElmIHRoaXMgZmFpbHMgVGVzdE5hbWVkRGVsZXRlcldpdGhJbmRleGVkR2V0
dGVyIGRvZXMgbm90IGhhdmUgYSB2dGFibGUsIHNvIHlvdSBuZWVkIHRvIGFkZCB0aGUKICAgICAv
LyBJbXBsZW1lbnRhdGlvbkxhY2tzVlRhYmxlIGF0dHJpYnV0ZSB0byB0aGUgaW50ZXJmYWNlIGRl
ZmluaXRpb24KLSAgICBzdGF0aWNfYXNzZXJ0KF9faXNfcG9seW1vcnBoaWMoVGVzdE5hbWVkRGVs
ZXRlcldpdGhJbmRleGVkR2V0dGVyKSwgIlRlc3ROYW1lZERlbGV0ZXJXaXRoSW5kZXhlZEdldHRl
ciBpcyBub3QgcG9seW1vcnBoaWMiKTsKLSNlbmRpZgotI2VuZGlmCisgICAgc3RhdGljX2Fzc2Vy
dChzdGQ6OmlzX3BvbHltb3JwaGljPFRlc3ROYW1lZERlbGV0ZXJXaXRoSW5kZXhlZEdldHRlcj46
OnZhbHVlLCAiVGVzdE5hbWVkRGVsZXRlcldpdGhJbmRleGVkR2V0dGVyIGlzIG5vdCBwb2x5bW9y
cGhpYyIpOworCiAgICAgLy8gSWYgeW91IGhpdCB0aGlzIGFzc2VydGlvbiB5b3UgZWl0aGVyIGhh
dmUgYSB1c2UgYWZ0ZXIgZnJlZSBidWcsIG9yCiAgICAgLy8gVGVzdE5hbWVkRGVsZXRlcldpdGhJ
bmRleGVkR2V0dGVyIGhhcyBzdWJjbGFzc2VzLiBJZiBUZXN0TmFtZWREZWxldGVyV2l0aEluZGV4
ZWRHZXR0ZXIgaGFzIHN1YmNsYXNzZXMgdGhhdCBnZXQgcGFzc2VkCiAgICAgLy8gdG8gdG9KUygp
IHdlIGN1cnJlbnRseSByZXF1aXJlIFRlc3ROYW1lZERlbGV0ZXJXaXRoSW5kZXhlZEdldHRlciB5
b3UgdG8gb3B0IG91dCBvZiBiaW5kaW5nIGhhcmRlbmluZwpJbmRleDogU291cmNlL1dlYkNvcmUv
YmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE5hbWVkR2V0dGVyQ2FsbFdpdGguY3BwCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rl
c3ROYW1lZEdldHRlckNhbGxXaXRoLmNwcAkocmV2aXNpb24gMjE4OTY4KQorKysgU291cmNlL1dl
YkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE5hbWVkR2V0dGVyQ2FsbFdpdGgu
Y3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yMzUsMTIgKzIzNSwxMiBAQCBKU0M6OkpTVmFsdWUgdG9K
U05ld2x5Q3JlYXRlZChKU0M6OkV4ZWNTCiAgICAgdm9pZCogZXhwZWN0ZWRWVGFibGVQb2ludGVy
ID0gcmVpbnRlcnByZXRfY2FzdDx2b2lkKj4oX19pZGVudGlmaWVyKCI/P183VGVzdE5hbWVkR2V0
dGVyQ2FsbFdpdGhAV2ViQ29yZUBANkJAIikpOwogI2Vsc2UKICAgICB2b2lkKiBleHBlY3RlZFZU
YWJsZVBvaW50ZXIgPSAmX1pUVk43V2ViQ29yZTIzVGVzdE5hbWVkR2V0dGVyQ2FsbFdpdGhFWzJd
OwotI2lmIENPTVBJTEVSKENMQU5HKQorI2VuZGlmCisKICAgICAvLyBJZiB0aGlzIGZhaWxzIFRl
c3ROYW1lZEdldHRlckNhbGxXaXRoIGRvZXMgbm90IGhhdmUgYSB2dGFibGUsIHNvIHlvdSBuZWVk
IHRvIGFkZCB0aGUKICAgICAvLyBJbXBsZW1lbnRhdGlvbkxhY2tzVlRhYmxlIGF0dHJpYnV0ZSB0
byB0aGUgaW50ZXJmYWNlIGRlZmluaXRpb24KLSAgICBzdGF0aWNfYXNzZXJ0KF9faXNfcG9seW1v
cnBoaWMoVGVzdE5hbWVkR2V0dGVyQ2FsbFdpdGgpLCAiVGVzdE5hbWVkR2V0dGVyQ2FsbFdpdGgg
aXMgbm90IHBvbHltb3JwaGljIik7Ci0jZW5kaWYKLSNlbmRpZgorICAgIHN0YXRpY19hc3NlcnQo
c3RkOjppc19wb2x5bW9ycGhpYzxUZXN0TmFtZWRHZXR0ZXJDYWxsV2l0aD46OnZhbHVlLCAiVGVz
dE5hbWVkR2V0dGVyQ2FsbFdpdGggaXMgbm90IHBvbHltb3JwaGljIik7CisKICAgICAvLyBJZiB5
b3UgaGl0IHRoaXMgYXNzZXJ0aW9uIHlvdSBlaXRoZXIgaGF2ZSBhIHVzZSBhZnRlciBmcmVlIGJ1
Zywgb3IKICAgICAvLyBUZXN0TmFtZWRHZXR0ZXJDYWxsV2l0aCBoYXMgc3ViY2xhc3Nlcy4gSWYg
VGVzdE5hbWVkR2V0dGVyQ2FsbFdpdGggaGFzIHN1YmNsYXNzZXMgdGhhdCBnZXQgcGFzc2VkCiAg
ICAgLy8gdG8gdG9KUygpIHdlIGN1cnJlbnRseSByZXF1aXJlIFRlc3ROYW1lZEdldHRlckNhbGxX
aXRoIHlvdSB0byBvcHQgb3V0IG9mIGJpbmRpbmcgaGFyZGVuaW5nCkluZGV4OiBTb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0TmFtZWRHZXR0ZXJOb0lkZW50aWZp
ZXIuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVz
dC9KUy9KU1Rlc3ROYW1lZEdldHRlck5vSWRlbnRpZmllci5jcHAJKHJldmlzaW9uIDIxODk2OCkK
KysrIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3ROYW1lZEdl
dHRlck5vSWRlbnRpZmllci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTIzNSwxMiArMjM1LDEyIEBA
IEpTQzo6SlNWYWx1ZSB0b0pTTmV3bHlDcmVhdGVkKEpTQzo6RXhlY1MKICAgICB2b2lkKiBleHBl
Y3RlZFZUYWJsZVBvaW50ZXIgPSByZWludGVycHJldF9jYXN0PHZvaWQqPihfX2lkZW50aWZpZXIo
Ij8/XzdUZXN0TmFtZWRHZXR0ZXJOb0lkZW50aWZpZXJAV2ViQ29yZUBANkJAIikpOwogI2Vsc2UK
ICAgICB2b2lkKiBleHBlY3RlZFZUYWJsZVBvaW50ZXIgPSAmX1pUVk43V2ViQ29yZTI3VGVzdE5h
bWVkR2V0dGVyTm9JZGVudGlmaWVyRVsyXTsKLSNpZiBDT01QSUxFUihDTEFORykKKyNlbmRpZgor
CiAgICAgLy8gSWYgdGhpcyBmYWlscyBUZXN0TmFtZWRHZXR0ZXJOb0lkZW50aWZpZXIgZG9lcyBu
b3QgaGF2ZSBhIHZ0YWJsZSwgc28geW91IG5lZWQgdG8gYWRkIHRoZQogICAgIC8vIEltcGxlbWVu
dGF0aW9uTGFja3NWVGFibGUgYXR0cmlidXRlIHRvIHRoZSBpbnRlcmZhY2UgZGVmaW5pdGlvbgot
ICAgIHN0YXRpY19hc3NlcnQoX19pc19wb2x5bW9ycGhpYyhUZXN0TmFtZWRHZXR0ZXJOb0lkZW50
aWZpZXIpLCAiVGVzdE5hbWVkR2V0dGVyTm9JZGVudGlmaWVyIGlzIG5vdCBwb2x5bW9ycGhpYyIp
OwotI2VuZGlmCi0jZW5kaWYKKyAgICBzdGF0aWNfYXNzZXJ0KHN0ZDo6aXNfcG9seW1vcnBoaWM8
VGVzdE5hbWVkR2V0dGVyTm9JZGVudGlmaWVyPjo6dmFsdWUsICJUZXN0TmFtZWRHZXR0ZXJOb0lk
ZW50aWZpZXIgaXMgbm90IHBvbHltb3JwaGljIik7CisKICAgICAvLyBJZiB5b3UgaGl0IHRoaXMg
YXNzZXJ0aW9uIHlvdSBlaXRoZXIgaGF2ZSBhIHVzZSBhZnRlciBmcmVlIGJ1Zywgb3IKICAgICAv
LyBUZXN0TmFtZWRHZXR0ZXJOb0lkZW50aWZpZXIgaGFzIHN1YmNsYXNzZXMuIElmIFRlc3ROYW1l
ZEdldHRlck5vSWRlbnRpZmllciBoYXMgc3ViY2xhc3NlcyB0aGF0IGdldCBwYXNzZWQKICAgICAv
LyB0byB0b0pTKCkgd2UgY3VycmVudGx5IHJlcXVpcmUgVGVzdE5hbWVkR2V0dGVyTm9JZGVudGlm
aWVyIHlvdSB0byBvcHQgb3V0IG9mIGJpbmRpbmcgaGFyZGVuaW5nCkluZGV4OiBTb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0TmFtZWRHZXR0ZXJXaXRoSWRlbnRp
Zmllci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90
ZXN0L0pTL0pTVGVzdE5hbWVkR2V0dGVyV2l0aElkZW50aWZpZXIuY3BwCShyZXZpc2lvbiAyMTg5
NjgpCisrKyBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0TmFt
ZWRHZXR0ZXJXaXRoSWRlbnRpZmllci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTI2MywxMiArMjYz
LDEyIEBAIEpTQzo6SlNWYWx1ZSB0b0pTTmV3bHlDcmVhdGVkKEpTQzo6RXhlY1MKICAgICB2b2lk
KiBleHBlY3RlZFZUYWJsZVBvaW50ZXIgPSByZWludGVycHJldF9jYXN0PHZvaWQqPihfX2lkZW50
aWZpZXIoIj8/XzdUZXN0TmFtZWRHZXR0ZXJXaXRoSWRlbnRpZmllckBXZWJDb3JlQEA2QkAiKSk7
CiAjZWxzZQogICAgIHZvaWQqIGV4cGVjdGVkVlRhYmxlUG9pbnRlciA9ICZfWlRWTjdXZWJDb3Jl
MjlUZXN0TmFtZWRHZXR0ZXJXaXRoSWRlbnRpZmllckVbMl07Ci0jaWYgQ09NUElMRVIoQ0xBTkcp
CisjZW5kaWYKKwogICAgIC8vIElmIHRoaXMgZmFpbHMgVGVzdE5hbWVkR2V0dGVyV2l0aElkZW50
aWZpZXIgZG9lcyBub3QgaGF2ZSBhIHZ0YWJsZSwgc28geW91IG5lZWQgdG8gYWRkIHRoZQogICAg
IC8vIEltcGxlbWVudGF0aW9uTGFja3NWVGFibGUgYXR0cmlidXRlIHRvIHRoZSBpbnRlcmZhY2Ug
ZGVmaW5pdGlvbgotICAgIHN0YXRpY19hc3NlcnQoX19pc19wb2x5bW9ycGhpYyhUZXN0TmFtZWRH
ZXR0ZXJXaXRoSWRlbnRpZmllciksICJUZXN0TmFtZWRHZXR0ZXJXaXRoSWRlbnRpZmllciBpcyBu
b3QgcG9seW1vcnBoaWMiKTsKLSNlbmRpZgotI2VuZGlmCisgICAgc3RhdGljX2Fzc2VydChzdGQ6
OmlzX3BvbHltb3JwaGljPFRlc3ROYW1lZEdldHRlcldpdGhJZGVudGlmaWVyPjo6dmFsdWUsICJU
ZXN0TmFtZWRHZXR0ZXJXaXRoSWRlbnRpZmllciBpcyBub3QgcG9seW1vcnBoaWMiKTsKKwogICAg
IC8vIElmIHlvdSBoaXQgdGhpcyBhc3NlcnRpb24geW91IGVpdGhlciBoYXZlIGEgdXNlIGFmdGVy
IGZyZWUgYnVnLCBvcgogICAgIC8vIFRlc3ROYW1lZEdldHRlcldpdGhJZGVudGlmaWVyIGhhcyBz
dWJjbGFzc2VzLiBJZiBUZXN0TmFtZWRHZXR0ZXJXaXRoSWRlbnRpZmllciBoYXMgc3ViY2xhc3Nl
cyB0aGF0IGdldCBwYXNzZWQKICAgICAvLyB0byB0b0pTKCkgd2UgY3VycmVudGx5IHJlcXVpcmUg
VGVzdE5hbWVkR2V0dGVyV2l0aElkZW50aWZpZXIgeW91IHRvIG9wdCBvdXQgb2YgYmluZGluZyBo
YXJkZW5pbmcKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9K
U1Rlc3ROYW1lZFNldHRlck5vSWRlbnRpZmllci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE5hbWVkU2V0dGVyTm9JZGVudGlm
aWVyLmNwcAkocmV2aXNpb24gMjE4OTY4KQorKysgU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2Ny
aXB0cy90ZXN0L0pTL0pTVGVzdE5hbWVkU2V0dGVyTm9JZGVudGlmaWVyLmNwcAkod29ya2luZyBj
b3B5KQpAQCAtMjk3LDEyICsyOTcsMTIgQEAgSlNDOjpKU1ZhbHVlIHRvSlNOZXdseUNyZWF0ZWQo
SlNDOjpFeGVjUwogICAgIHZvaWQqIGV4cGVjdGVkVlRhYmxlUG9pbnRlciA9IHJlaW50ZXJwcmV0
X2Nhc3Q8dm9pZCo+KF9faWRlbnRpZmllcigiPz9fN1Rlc3ROYW1lZFNldHRlck5vSWRlbnRpZmll
ckBXZWJDb3JlQEA2QkAiKSk7CiAjZWxzZQogICAgIHZvaWQqIGV4cGVjdGVkVlRhYmxlUG9pbnRl
ciA9ICZfWlRWTjdXZWJDb3JlMjdUZXN0TmFtZWRTZXR0ZXJOb0lkZW50aWZpZXJFWzJdOwotI2lm
IENPTVBJTEVSKENMQU5HKQorI2VuZGlmCisKICAgICAvLyBJZiB0aGlzIGZhaWxzIFRlc3ROYW1l
ZFNldHRlck5vSWRlbnRpZmllciBkb2VzIG5vdCBoYXZlIGEgdnRhYmxlLCBzbyB5b3UgbmVlZCB0
byBhZGQgdGhlCiAgICAgLy8gSW1wbGVtZW50YXRpb25MYWNrc1ZUYWJsZSBhdHRyaWJ1dGUgdG8g
dGhlIGludGVyZmFjZSBkZWZpbml0aW9uCi0gICAgc3RhdGljX2Fzc2VydChfX2lzX3BvbHltb3Jw
aGljKFRlc3ROYW1lZFNldHRlck5vSWRlbnRpZmllciksICJUZXN0TmFtZWRTZXR0ZXJOb0lkZW50
aWZpZXIgaXMgbm90IHBvbHltb3JwaGljIik7Ci0jZW5kaWYKLSNlbmRpZgorICAgIHN0YXRpY19h
c3NlcnQoc3RkOjppc19wb2x5bW9ycGhpYzxUZXN0TmFtZWRTZXR0ZXJOb0lkZW50aWZpZXI+Ojp2
YWx1ZSwgIlRlc3ROYW1lZFNldHRlck5vSWRlbnRpZmllciBpcyBub3QgcG9seW1vcnBoaWMiKTsK
KwogICAgIC8vIElmIHlvdSBoaXQgdGhpcyBhc3NlcnRpb24geW91IGVpdGhlciBoYXZlIGEgdXNl
IGFmdGVyIGZyZWUgYnVnLCBvcgogICAgIC8vIFRlc3ROYW1lZFNldHRlck5vSWRlbnRpZmllciBo
YXMgc3ViY2xhc3Nlcy4gSWYgVGVzdE5hbWVkU2V0dGVyTm9JZGVudGlmaWVyIGhhcyBzdWJjbGFz
c2VzIHRoYXQgZ2V0IHBhc3NlZAogICAgIC8vIHRvIHRvSlMoKSB3ZSBjdXJyZW50bHkgcmVxdWly
ZSBUZXN0TmFtZWRTZXR0ZXJOb0lkZW50aWZpZXIgeW91IHRvIG9wdCBvdXQgb2YgYmluZGluZyBo
YXJkZW5pbmcKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9K
U1Rlc3ROYW1lZFNldHRlclRocm93aW5nRXhjZXB0aW9uLmNwcAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0TmFtZWRTZXR0ZXJUaHJv
d2luZ0V4Y2VwdGlvbi5jcHAJKHJldmlzaW9uIDIxODk2OCkKKysrIFNvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3ROYW1lZFNldHRlclRocm93aW5nRXhjZXB0aW9u
LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjk3LDEyICsyOTcsMTIgQEAgSlNDOjpKU1ZhbHVlIHRv
SlNOZXdseUNyZWF0ZWQoSlNDOjpFeGVjUwogICAgIHZvaWQqIGV4cGVjdGVkVlRhYmxlUG9pbnRl
ciA9IHJlaW50ZXJwcmV0X2Nhc3Q8dm9pZCo+KF9faWRlbnRpZmllcigiPz9fN1Rlc3ROYW1lZFNl
dHRlclRocm93aW5nRXhjZXB0aW9uQFdlYkNvcmVAQDZCQCIpKTsKICNlbHNlCiAgICAgdm9pZCog
ZXhwZWN0ZWRWVGFibGVQb2ludGVyID0gJl9aVFZON1dlYkNvcmUzMlRlc3ROYW1lZFNldHRlclRo
cm93aW5nRXhjZXB0aW9uRVsyXTsKLSNpZiBDT01QSUxFUihDTEFORykKKyNlbmRpZgorCiAgICAg
Ly8gSWYgdGhpcyBmYWlscyBUZXN0TmFtZWRTZXR0ZXJUaHJvd2luZ0V4Y2VwdGlvbiBkb2VzIG5v
dCBoYXZlIGEgdnRhYmxlLCBzbyB5b3UgbmVlZCB0byBhZGQgdGhlCiAgICAgLy8gSW1wbGVtZW50
YXRpb25MYWNrc1ZUYWJsZSBhdHRyaWJ1dGUgdG8gdGhlIGludGVyZmFjZSBkZWZpbml0aW9uCi0g
ICAgc3RhdGljX2Fzc2VydChfX2lzX3BvbHltb3JwaGljKFRlc3ROYW1lZFNldHRlclRocm93aW5n
RXhjZXB0aW9uKSwgIlRlc3ROYW1lZFNldHRlclRocm93aW5nRXhjZXB0aW9uIGlzIG5vdCBwb2x5
bW9ycGhpYyIpOwotI2VuZGlmCi0jZW5kaWYKKyAgICBzdGF0aWNfYXNzZXJ0KHN0ZDo6aXNfcG9s
eW1vcnBoaWM8VGVzdE5hbWVkU2V0dGVyVGhyb3dpbmdFeGNlcHRpb24+Ojp2YWx1ZSwgIlRlc3RO
YW1lZFNldHRlclRocm93aW5nRXhjZXB0aW9uIGlzIG5vdCBwb2x5bW9ycGhpYyIpOworCiAgICAg
Ly8gSWYgeW91IGhpdCB0aGlzIGFzc2VydGlvbiB5b3UgZWl0aGVyIGhhdmUgYSB1c2UgYWZ0ZXIg
ZnJlZSBidWcsIG9yCiAgICAgLy8gVGVzdE5hbWVkU2V0dGVyVGhyb3dpbmdFeGNlcHRpb24gaGFz
IHN1YmNsYXNzZXMuIElmIFRlc3ROYW1lZFNldHRlclRocm93aW5nRXhjZXB0aW9uIGhhcyBzdWJj
bGFzc2VzIHRoYXQgZ2V0IHBhc3NlZAogICAgIC8vIHRvIHRvSlMoKSB3ZSBjdXJyZW50bHkgcmVx
dWlyZSBUZXN0TmFtZWRTZXR0ZXJUaHJvd2luZ0V4Y2VwdGlvbiB5b3UgdG8gb3B0IG91dCBvZiBi
aW5kaW5nIGhhcmRlbmluZwpJbmRleDogU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90
ZXN0L0pTL0pTVGVzdE5hbWVkU2V0dGVyV2l0aElkZW50aWZpZXIuY3BwCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3ROYW1lZFNldHRl
cldpdGhJZGVudGlmaWVyLmNwcAkocmV2aXNpb24gMjE4OTY4KQorKysgU291cmNlL1dlYkNvcmUv
YmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE5hbWVkU2V0dGVyV2l0aElkZW50aWZpZXIu
Y3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zMjgsMTIgKzMyOCwxMiBAQCBKU0M6OkpTVmFsdWUgdG9K
U05ld2x5Q3JlYXRlZChKU0M6OkV4ZWNTCiAgICAgdm9pZCogZXhwZWN0ZWRWVGFibGVQb2ludGVy
ID0gcmVpbnRlcnByZXRfY2FzdDx2b2lkKj4oX19pZGVudGlmaWVyKCI/P183VGVzdE5hbWVkU2V0
dGVyV2l0aElkZW50aWZpZXJAV2ViQ29yZUBANkJAIikpOwogI2Vsc2UKICAgICB2b2lkKiBleHBl
Y3RlZFZUYWJsZVBvaW50ZXIgPSAmX1pUVk43V2ViQ29yZTI5VGVzdE5hbWVkU2V0dGVyV2l0aElk
ZW50aWZpZXJFWzJdOwotI2lmIENPTVBJTEVSKENMQU5HKQorI2VuZGlmCisKICAgICAvLyBJZiB0
aGlzIGZhaWxzIFRlc3ROYW1lZFNldHRlcldpdGhJZGVudGlmaWVyIGRvZXMgbm90IGhhdmUgYSB2
dGFibGUsIHNvIHlvdSBuZWVkIHRvIGFkZCB0aGUKICAgICAvLyBJbXBsZW1lbnRhdGlvbkxhY2tz
VlRhYmxlIGF0dHJpYnV0ZSB0byB0aGUgaW50ZXJmYWNlIGRlZmluaXRpb24KLSAgICBzdGF0aWNf
YXNzZXJ0KF9faXNfcG9seW1vcnBoaWMoVGVzdE5hbWVkU2V0dGVyV2l0aElkZW50aWZpZXIpLCAi
VGVzdE5hbWVkU2V0dGVyV2l0aElkZW50aWZpZXIgaXMgbm90IHBvbHltb3JwaGljIik7Ci0jZW5k
aWYKLSNlbmRpZgorICAgIHN0YXRpY19hc3NlcnQoc3RkOjppc19wb2x5bW9ycGhpYzxUZXN0TmFt
ZWRTZXR0ZXJXaXRoSWRlbnRpZmllcj46OnZhbHVlLCAiVGVzdE5hbWVkU2V0dGVyV2l0aElkZW50
aWZpZXIgaXMgbm90IHBvbHltb3JwaGljIik7CisKICAgICAvLyBJZiB5b3UgaGl0IHRoaXMgYXNz
ZXJ0aW9uIHlvdSBlaXRoZXIgaGF2ZSBhIHVzZSBhZnRlciBmcmVlIGJ1Zywgb3IKICAgICAvLyBU
ZXN0TmFtZWRTZXR0ZXJXaXRoSWRlbnRpZmllciBoYXMgc3ViY2xhc3Nlcy4gSWYgVGVzdE5hbWVk
U2V0dGVyV2l0aElkZW50aWZpZXIgaGFzIHN1YmNsYXNzZXMgdGhhdCBnZXQgcGFzc2VkCiAgICAg
Ly8gdG8gdG9KUygpIHdlIGN1cnJlbnRseSByZXF1aXJlIFRlc3ROYW1lZFNldHRlcldpdGhJZGVu
dGlmaWVyIHlvdSB0byBvcHQgb3V0IG9mIGJpbmRpbmcgaGFyZGVuaW5nCkluZGV4OiBTb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0TmFtZWRTZXR0ZXJXaXRoT3Zl
cnJpZGVCdWlsdGlucy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
c2NyaXB0cy90ZXN0L0pTL0pTVGVzdE5hbWVkU2V0dGVyV2l0aE92ZXJyaWRlQnVpbHRpbnMuY3Bw
CShyZXZpc2lvbiAyMTg5NjgpCisrKyBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rl
c3QvSlMvSlNUZXN0TmFtZWRTZXR0ZXJXaXRoT3ZlcnJpZGVCdWlsdGlucy5jcHAJKHdvcmtpbmcg
Y29weSkKQEAgLTI4NCwxMiArMjg0LDEyIEBAIEpTQzo6SlNWYWx1ZSB0b0pTTmV3bHlDcmVhdGVk
KEpTQzo6RXhlY1MKICAgICB2b2lkKiBleHBlY3RlZFZUYWJsZVBvaW50ZXIgPSByZWludGVycHJl
dF9jYXN0PHZvaWQqPihfX2lkZW50aWZpZXIoIj8/XzdUZXN0TmFtZWRTZXR0ZXJXaXRoT3ZlcnJp
ZGVCdWlsdGluc0BXZWJDb3JlQEA2QkAiKSk7CiAjZWxzZQogICAgIHZvaWQqIGV4cGVjdGVkVlRh
YmxlUG9pbnRlciA9ICZfWlRWTjdXZWJDb3JlMzVUZXN0TmFtZWRTZXR0ZXJXaXRoT3ZlcnJpZGVC
dWlsdGluc0VbMl07Ci0jaWYgQ09NUElMRVIoQ0xBTkcpCisjZW5kaWYKKwogICAgIC8vIElmIHRo
aXMgZmFpbHMgVGVzdE5hbWVkU2V0dGVyV2l0aE92ZXJyaWRlQnVpbHRpbnMgZG9lcyBub3QgaGF2
ZSBhIHZ0YWJsZSwgc28geW91IG5lZWQgdG8gYWRkIHRoZQogICAgIC8vIEltcGxlbWVudGF0aW9u
TGFja3NWVGFibGUgYXR0cmlidXRlIHRvIHRoZSBpbnRlcmZhY2UgZGVmaW5pdGlvbgotICAgIHN0
YXRpY19hc3NlcnQoX19pc19wb2x5bW9ycGhpYyhUZXN0TmFtZWRTZXR0ZXJXaXRoT3ZlcnJpZGVC
dWlsdGlucyksICJUZXN0TmFtZWRTZXR0ZXJXaXRoT3ZlcnJpZGVCdWlsdGlucyBpcyBub3QgcG9s
eW1vcnBoaWMiKTsKLSNlbmRpZgotI2VuZGlmCisgICAgc3RhdGljX2Fzc2VydChzdGQ6OmlzX3Bv
bHltb3JwaGljPFRlc3ROYW1lZFNldHRlcldpdGhPdmVycmlkZUJ1aWx0aW5zPjo6dmFsdWUsICJU
ZXN0TmFtZWRTZXR0ZXJXaXRoT3ZlcnJpZGVCdWlsdGlucyBpcyBub3QgcG9seW1vcnBoaWMiKTsK
KwogICAgIC8vIElmIHlvdSBoaXQgdGhpcyBhc3NlcnRpb24geW91IGVpdGhlciBoYXZlIGEgdXNl
IGFmdGVyIGZyZWUgYnVnLCBvcgogICAgIC8vIFRlc3ROYW1lZFNldHRlcldpdGhPdmVycmlkZUJ1
aWx0aW5zIGhhcyBzdWJjbGFzc2VzLiBJZiBUZXN0TmFtZWRTZXR0ZXJXaXRoT3ZlcnJpZGVCdWls
dGlucyBoYXMgc3ViY2xhc3NlcyB0aGF0IGdldCBwYXNzZWQKICAgICAvLyB0byB0b0pTKCkgd2Ug
Y3VycmVudGx5IHJlcXVpcmUgVGVzdE5hbWVkU2V0dGVyV2l0aE92ZXJyaWRlQnVpbHRpbnMgeW91
IHRvIG9wdCBvdXQgb2YgYmluZGluZyBoYXJkZW5pbmcKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3ROYW1lZFNldHRlcldpdGhVbmZvcmdhYmxlUHJv
cGVydGllcy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0
cy90ZXN0L0pTL0pTVGVzdE5hbWVkU2V0dGVyV2l0aFVuZm9yZ2FibGVQcm9wZXJ0aWVzLmNwcAko
cmV2aXNpb24gMjE4OTY4KQorKysgU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0
L0pTL0pTVGVzdE5hbWVkU2V0dGVyV2l0aFVuZm9yZ2FibGVQcm9wZXJ0aWVzLmNwcAkod29ya2lu
ZyBjb3B5KQpAQCAtMzY2LDEyICszNjYsMTIgQEAgSlNDOjpKU1ZhbHVlIHRvSlNOZXdseUNyZWF0
ZWQoSlNDOjpFeGVjUwogICAgIHZvaWQqIGV4cGVjdGVkVlRhYmxlUG9pbnRlciA9IHJlaW50ZXJw
cmV0X2Nhc3Q8dm9pZCo+KF9faWRlbnRpZmllcigiPz9fN1Rlc3ROYW1lZFNldHRlcldpdGhVbmZv
cmdhYmxlUHJvcGVydGllc0BXZWJDb3JlQEA2QkAiKSk7CiAjZWxzZQogICAgIHZvaWQqIGV4cGVj
dGVkVlRhYmxlUG9pbnRlciA9ICZfWlRWTjdXZWJDb3JlMzlUZXN0TmFtZWRTZXR0ZXJXaXRoVW5m
b3JnYWJsZVByb3BlcnRpZXNFWzJdOwotI2lmIENPTVBJTEVSKENMQU5HKQorI2VuZGlmCisKICAg
ICAvLyBJZiB0aGlzIGZhaWxzIFRlc3ROYW1lZFNldHRlcldpdGhVbmZvcmdhYmxlUHJvcGVydGll
cyBkb2VzIG5vdCBoYXZlIGEgdnRhYmxlLCBzbyB5b3UgbmVlZCB0byBhZGQgdGhlCiAgICAgLy8g
SW1wbGVtZW50YXRpb25MYWNrc1ZUYWJsZSBhdHRyaWJ1dGUgdG8gdGhlIGludGVyZmFjZSBkZWZp
bml0aW9uCi0gICAgc3RhdGljX2Fzc2VydChfX2lzX3BvbHltb3JwaGljKFRlc3ROYW1lZFNldHRl
cldpdGhVbmZvcmdhYmxlUHJvcGVydGllcyksICJUZXN0TmFtZWRTZXR0ZXJXaXRoVW5mb3JnYWJs
ZVByb3BlcnRpZXMgaXMgbm90IHBvbHltb3JwaGljIik7Ci0jZW5kaWYKLSNlbmRpZgorICAgIHN0
YXRpY19hc3NlcnQoc3RkOjppc19wb2x5bW9ycGhpYzxUZXN0TmFtZWRTZXR0ZXJXaXRoVW5mb3Jn
YWJsZVByb3BlcnRpZXM+Ojp2YWx1ZSwgIlRlc3ROYW1lZFNldHRlcldpdGhVbmZvcmdhYmxlUHJv
cGVydGllcyBpcyBub3QgcG9seW1vcnBoaWMiKTsKKwogICAgIC8vIElmIHlvdSBoaXQgdGhpcyBh
c3NlcnRpb24geW91IGVpdGhlciBoYXZlIGEgdXNlIGFmdGVyIGZyZWUgYnVnLCBvcgogICAgIC8v
IFRlc3ROYW1lZFNldHRlcldpdGhVbmZvcmdhYmxlUHJvcGVydGllcyBoYXMgc3ViY2xhc3Nlcy4g
SWYgVGVzdE5hbWVkU2V0dGVyV2l0aFVuZm9yZ2FibGVQcm9wZXJ0aWVzIGhhcyBzdWJjbGFzc2Vz
IHRoYXQgZ2V0IHBhc3NlZAogICAgIC8vIHRvIHRvSlMoKSB3ZSBjdXJyZW50bHkgcmVxdWlyZSBU
ZXN0TmFtZWRTZXR0ZXJXaXRoVW5mb3JnYWJsZVByb3BlcnRpZXMgeW91IHRvIG9wdCBvdXQgb2Yg
YmluZGluZyBoYXJkZW5pbmcKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMv
dGVzdC9KUy9KU1Rlc3ROYW1lZFNldHRlcldpdGhVbmZvcmdhYmxlUHJvcGVydGllc0FuZE92ZXJy
aWRlQnVpbHRpbnMuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Nj
cmlwdHMvdGVzdC9KUy9KU1Rlc3ROYW1lZFNldHRlcldpdGhVbmZvcmdhYmxlUHJvcGVydGllc0Fu
ZE92ZXJyaWRlQnVpbHRpbnMuY3BwCShyZXZpc2lvbiAyMTg5NjgpCisrKyBTb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0TmFtZWRTZXR0ZXJXaXRoVW5mb3JnYWJs
ZVByb3BlcnRpZXNBbmRPdmVycmlkZUJ1aWx0aW5zLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzUz
LDEyICszNTMsMTIgQEAgSlNDOjpKU1ZhbHVlIHRvSlNOZXdseUNyZWF0ZWQoSlNDOjpFeGVjUwog
ICAgIHZvaWQqIGV4cGVjdGVkVlRhYmxlUG9pbnRlciA9IHJlaW50ZXJwcmV0X2Nhc3Q8dm9pZCo+
KF9faWRlbnRpZmllcigiPz9fN1Rlc3ROYW1lZFNldHRlcldpdGhVbmZvcmdhYmxlUHJvcGVydGll
c0FuZE92ZXJyaWRlQnVpbHRpbnNAV2ViQ29yZUBANkJAIikpOwogI2Vsc2UKICAgICB2b2lkKiBl
eHBlY3RlZFZUYWJsZVBvaW50ZXIgPSAmX1pUVk43V2ViQ29yZTU4VGVzdE5hbWVkU2V0dGVyV2l0
aFVuZm9yZ2FibGVQcm9wZXJ0aWVzQW5kT3ZlcnJpZGVCdWlsdGluc0VbMl07Ci0jaWYgQ09NUElM
RVIoQ0xBTkcpCisjZW5kaWYKKwogICAgIC8vIElmIHRoaXMgZmFpbHMgVGVzdE5hbWVkU2V0dGVy
V2l0aFVuZm9yZ2FibGVQcm9wZXJ0aWVzQW5kT3ZlcnJpZGVCdWlsdGlucyBkb2VzIG5vdCBoYXZl
IGEgdnRhYmxlLCBzbyB5b3UgbmVlZCB0byBhZGQgdGhlCiAgICAgLy8gSW1wbGVtZW50YXRpb25M
YWNrc1ZUYWJsZSBhdHRyaWJ1dGUgdG8gdGhlIGludGVyZmFjZSBkZWZpbml0aW9uCi0gICAgc3Rh
dGljX2Fzc2VydChfX2lzX3BvbHltb3JwaGljKFRlc3ROYW1lZFNldHRlcldpdGhVbmZvcmdhYmxl
UHJvcGVydGllc0FuZE92ZXJyaWRlQnVpbHRpbnMpLCAiVGVzdE5hbWVkU2V0dGVyV2l0aFVuZm9y
Z2FibGVQcm9wZXJ0aWVzQW5kT3ZlcnJpZGVCdWlsdGlucyBpcyBub3QgcG9seW1vcnBoaWMiKTsK
LSNlbmRpZgotI2VuZGlmCisgICAgc3RhdGljX2Fzc2VydChzdGQ6OmlzX3BvbHltb3JwaGljPFRl
c3ROYW1lZFNldHRlcldpdGhVbmZvcmdhYmxlUHJvcGVydGllc0FuZE92ZXJyaWRlQnVpbHRpbnM+
Ojp2YWx1ZSwgIlRlc3ROYW1lZFNldHRlcldpdGhVbmZvcmdhYmxlUHJvcGVydGllc0FuZE92ZXJy
aWRlQnVpbHRpbnMgaXMgbm90IHBvbHltb3JwaGljIik7CisKICAgICAvLyBJZiB5b3UgaGl0IHRo
aXMgYXNzZXJ0aW9uIHlvdSBlaXRoZXIgaGF2ZSBhIHVzZSBhZnRlciBmcmVlIGJ1Zywgb3IKICAg
ICAvLyBUZXN0TmFtZWRTZXR0ZXJXaXRoVW5mb3JnYWJsZVByb3BlcnRpZXNBbmRPdmVycmlkZUJ1
aWx0aW5zIGhhcyBzdWJjbGFzc2VzLiBJZiBUZXN0TmFtZWRTZXR0ZXJXaXRoVW5mb3JnYWJsZVBy
b3BlcnRpZXNBbmRPdmVycmlkZUJ1aWx0aW5zIGhhcyBzdWJjbGFzc2VzIHRoYXQgZ2V0IHBhc3Nl
ZAogICAgIC8vIHRvIHRvSlMoKSB3ZSBjdXJyZW50bHkgcmVxdWlyZSBUZXN0TmFtZWRTZXR0ZXJX
aXRoVW5mb3JnYWJsZVByb3BlcnRpZXNBbmRPdmVycmlkZUJ1aWx0aW5zIHlvdSB0byBvcHQgb3V0
IG9mIGJpbmRpbmcgaGFyZGVuaW5nCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3Jp
cHRzL3Rlc3QvSlMvSlNUZXN0Tm9kZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUv
YmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE5vZGUuY3BwCShyZXZpc2lvbiAyMTg5Njgp
CisrKyBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0Tm9kZS5j
cHAJKHdvcmtpbmcgY29weSkKQEAgLTQyOCwxMiArNDI4LDEyIEBAIEpTQzo6SlNWYWx1ZSB0b0pT
TmV3bHlDcmVhdGVkKEpTQzo6RXhlY1MKICAgICB2b2lkKiBleHBlY3RlZFZUYWJsZVBvaW50ZXIg
PSByZWludGVycHJldF9jYXN0PHZvaWQqPihfX2lkZW50aWZpZXIoIj8/XzdUZXN0Tm9kZUBXZWJD
b3JlQEA2QkAiKSk7CiAjZWxzZQogICAgIHZvaWQqIGV4cGVjdGVkVlRhYmxlUG9pbnRlciA9ICZf
WlRWTjdXZWJDb3JlOFRlc3ROb2RlRVsyXTsKLSNpZiBDT01QSUxFUihDTEFORykKKyNlbmRpZgor
CiAgICAgLy8gSWYgdGhpcyBmYWlscyBUZXN0Tm9kZSBkb2VzIG5vdCBoYXZlIGEgdnRhYmxlLCBz
byB5b3UgbmVlZCB0byBhZGQgdGhlCiAgICAgLy8gSW1wbGVtZW50YXRpb25MYWNrc1ZUYWJsZSBh
dHRyaWJ1dGUgdG8gdGhlIGludGVyZmFjZSBkZWZpbml0aW9uCi0gICAgc3RhdGljX2Fzc2VydChf
X2lzX3BvbHltb3JwaGljKFRlc3ROb2RlKSwgIlRlc3ROb2RlIGlzIG5vdCBwb2x5bW9ycGhpYyIp
OwotI2VuZGlmCi0jZW5kaWYKKyAgICBzdGF0aWNfYXNzZXJ0KHN0ZDo6aXNfcG9seW1vcnBoaWM8
VGVzdE5vZGU+Ojp2YWx1ZSwgIlRlc3ROb2RlIGlzIG5vdCBwb2x5bW9ycGhpYyIpOworCiAgICAg
Ly8gSWYgeW91IGhpdCB0aGlzIGFzc2VydGlvbiB5b3UgZWl0aGVyIGhhdmUgYSB1c2UgYWZ0ZXIg
ZnJlZSBidWcsIG9yCiAgICAgLy8gVGVzdE5vZGUgaGFzIHN1YmNsYXNzZXMuIElmIFRlc3ROb2Rl
IGhhcyBzdWJjbGFzc2VzIHRoYXQgZ2V0IHBhc3NlZAogICAgIC8vIHRvIHRvSlMoKSB3ZSBjdXJy
ZW50bHkgcmVxdWlyZSBUZXN0Tm9kZSB5b3UgdG8gb3B0IG91dCBvZiBiaW5kaW5nIGhhcmRlbmlu
ZwpJbmRleDogU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE9i
ai5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0
L0pTL0pTVGVzdE9iai5jcHAJKHJldmlzaW9uIDIxODk2OCkKKysrIFNvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RPYmouY3BwCSh3b3JraW5nIGNvcHkpCkBAIC04
MDQzLDEyICs4MDQzLDEyIEBAIEpTQzo6SlNWYWx1ZSB0b0pTTmV3bHlDcmVhdGVkKEpTQzo6RXhl
Y1MKICAgICB2b2lkKiBleHBlY3RlZFZUYWJsZVBvaW50ZXIgPSByZWludGVycHJldF9jYXN0PHZv
aWQqPihfX2lkZW50aWZpZXIoIj8/XzdUZXN0T2JqQFdlYkNvcmVAQDZCQCIpKTsKICNlbHNlCiAg
ICAgdm9pZCogZXhwZWN0ZWRWVGFibGVQb2ludGVyID0gJl9aVFZON1dlYkNvcmU3VGVzdE9iakVb
Ml07Ci0jaWYgQ09NUElMRVIoQ0xBTkcpCisjZW5kaWYKKwogICAgIC8vIElmIHRoaXMgZmFpbHMg
VGVzdE9iaiBkb2VzIG5vdCBoYXZlIGEgdnRhYmxlLCBzbyB5b3UgbmVlZCB0byBhZGQgdGhlCiAg
ICAgLy8gSW1wbGVtZW50YXRpb25MYWNrc1ZUYWJsZSBhdHRyaWJ1dGUgdG8gdGhlIGludGVyZmFj
ZSBkZWZpbml0aW9uCi0gICAgc3RhdGljX2Fzc2VydChfX2lzX3BvbHltb3JwaGljKFRlc3RPYmop
LCAiVGVzdE9iaiBpcyBub3QgcG9seW1vcnBoaWMiKTsKLSNlbmRpZgotI2VuZGlmCisgICAgc3Rh
dGljX2Fzc2VydChzdGQ6OmlzX3BvbHltb3JwaGljPFRlc3RPYmo+Ojp2YWx1ZSwgIlRlc3RPYmog
aXMgbm90IHBvbHltb3JwaGljIik7CisKICAgICAvLyBJZiB5b3UgaGl0IHRoaXMgYXNzZXJ0aW9u
IHlvdSBlaXRoZXIgaGF2ZSBhIHVzZSBhZnRlciBmcmVlIGJ1Zywgb3IKICAgICAvLyBUZXN0T2Jq
IGhhcyBzdWJjbGFzc2VzLiBJZiBUZXN0T2JqIGhhcyBzdWJjbGFzc2VzIHRoYXQgZ2V0IHBhc3Nl
ZAogICAgIC8vIHRvIHRvSlMoKSB3ZSBjdXJyZW50bHkgcmVxdWlyZSBUZXN0T2JqIHlvdSB0byBv
cHQgb3V0IG9mIGJpbmRpbmcgaGFyZGVuaW5nCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0T3ZlcmxvYWRlZENvbnN0cnVjdG9ycy5jcHAKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE92
ZXJsb2FkZWRDb25zdHJ1Y3RvcnMuY3BwCShyZXZpc2lvbiAyMTg5NjgpCisrKyBTb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0T3ZlcmxvYWRlZENvbnN0cnVjdG9y
cy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTI4MCwxMiArMjgwLDEyIEBAIEpTQzo6SlNWYWx1ZSB0
b0pTTmV3bHlDcmVhdGVkKEpTQzo6RXhlY1MKICAgICB2b2lkKiBleHBlY3RlZFZUYWJsZVBvaW50
ZXIgPSByZWludGVycHJldF9jYXN0PHZvaWQqPihfX2lkZW50aWZpZXIoIj8/XzdUZXN0T3Zlcmxv
YWRlZENvbnN0cnVjdG9yc0BXZWJDb3JlQEA2QkAiKSk7CiAjZWxzZQogICAgIHZvaWQqIGV4cGVj
dGVkVlRhYmxlUG9pbnRlciA9ICZfWlRWTjdXZWJDb3JlMjZUZXN0T3ZlcmxvYWRlZENvbnN0cnVj
dG9yc0VbMl07Ci0jaWYgQ09NUElMRVIoQ0xBTkcpCisjZW5kaWYKKwogICAgIC8vIElmIHRoaXMg
ZmFpbHMgVGVzdE92ZXJsb2FkZWRDb25zdHJ1Y3RvcnMgZG9lcyBub3QgaGF2ZSBhIHZ0YWJsZSwg
c28geW91IG5lZWQgdG8gYWRkIHRoZQogICAgIC8vIEltcGxlbWVudGF0aW9uTGFja3NWVGFibGUg
YXR0cmlidXRlIHRvIHRoZSBpbnRlcmZhY2UgZGVmaW5pdGlvbgotICAgIHN0YXRpY19hc3NlcnQo
X19pc19wb2x5bW9ycGhpYyhUZXN0T3ZlcmxvYWRlZENvbnN0cnVjdG9ycyksICJUZXN0T3Zlcmxv
YWRlZENvbnN0cnVjdG9ycyBpcyBub3QgcG9seW1vcnBoaWMiKTsKLSNlbmRpZgotI2VuZGlmCisg
ICAgc3RhdGljX2Fzc2VydChzdGQ6OmlzX3BvbHltb3JwaGljPFRlc3RPdmVybG9hZGVkQ29uc3Ry
dWN0b3JzPjo6dmFsdWUsICJUZXN0T3ZlcmxvYWRlZENvbnN0cnVjdG9ycyBpcyBub3QgcG9seW1v
cnBoaWMiKTsKKwogICAgIC8vIElmIHlvdSBoaXQgdGhpcyBhc3NlcnRpb24geW91IGVpdGhlciBo
YXZlIGEgdXNlIGFmdGVyIGZyZWUgYnVnLCBvcgogICAgIC8vIFRlc3RPdmVybG9hZGVkQ29uc3Ry
dWN0b3JzIGhhcyBzdWJjbGFzc2VzLiBJZiBUZXN0T3ZlcmxvYWRlZENvbnN0cnVjdG9ycyBoYXMg
c3ViY2xhc3NlcyB0aGF0IGdldCBwYXNzZWQKICAgICAvLyB0byB0b0pTKCkgd2UgY3VycmVudGx5
IHJlcXVpcmUgVGVzdE92ZXJsb2FkZWRDb25zdHJ1Y3RvcnMgeW91IHRvIG9wdCBvdXQgb2YgYmlu
ZGluZyBoYXJkZW5pbmcKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVz
dC9KUy9KU1Rlc3RPdmVybG9hZGVkQ29uc3RydWN0b3JzV2l0aFNlcXVlbmNlLmNwcAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0T3Zl
cmxvYWRlZENvbnN0cnVjdG9yc1dpdGhTZXF1ZW5jZS5jcHAJKHJldmlzaW9uIDIxODk2OCkKKysr
IFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RPdmVybG9hZGVk
Q29uc3RydWN0b3JzV2l0aFNlcXVlbmNlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjM2LDEyICsy
MzYsMTIgQEAgSlNDOjpKU1ZhbHVlIHRvSlNOZXdseUNyZWF0ZWQoSlNDOjpFeGVjUwogICAgIHZv
aWQqIGV4cGVjdGVkVlRhYmxlUG9pbnRlciA9IHJlaW50ZXJwcmV0X2Nhc3Q8dm9pZCo+KF9faWRl
bnRpZmllcigiPz9fN1Rlc3RPdmVybG9hZGVkQ29uc3RydWN0b3JzV2l0aFNlcXVlbmNlQFdlYkNv
cmVAQDZCQCIpKTsKICNlbHNlCiAgICAgdm9pZCogZXhwZWN0ZWRWVGFibGVQb2ludGVyID0gJl9a
VFZON1dlYkNvcmUzOFRlc3RPdmVybG9hZGVkQ29uc3RydWN0b3JzV2l0aFNlcXVlbmNlRVsyXTsK
LSNpZiBDT01QSUxFUihDTEFORykKKyNlbmRpZgorCiAgICAgLy8gSWYgdGhpcyBmYWlscyBUZXN0
T3ZlcmxvYWRlZENvbnN0cnVjdG9yc1dpdGhTZXF1ZW5jZSBkb2VzIG5vdCBoYXZlIGEgdnRhYmxl
LCBzbyB5b3UgbmVlZCB0byBhZGQgdGhlCiAgICAgLy8gSW1wbGVtZW50YXRpb25MYWNrc1ZUYWJs
ZSBhdHRyaWJ1dGUgdG8gdGhlIGludGVyZmFjZSBkZWZpbml0aW9uCi0gICAgc3RhdGljX2Fzc2Vy
dChfX2lzX3BvbHltb3JwaGljKFRlc3RPdmVybG9hZGVkQ29uc3RydWN0b3JzV2l0aFNlcXVlbmNl
KSwgIlRlc3RPdmVybG9hZGVkQ29uc3RydWN0b3JzV2l0aFNlcXVlbmNlIGlzIG5vdCBwb2x5bW9y
cGhpYyIpOwotI2VuZGlmCi0jZW5kaWYKKyAgICBzdGF0aWNfYXNzZXJ0KHN0ZDo6aXNfcG9seW1v
cnBoaWM8VGVzdE92ZXJsb2FkZWRDb25zdHJ1Y3RvcnNXaXRoU2VxdWVuY2U+Ojp2YWx1ZSwgIlRl
c3RPdmVybG9hZGVkQ29uc3RydWN0b3JzV2l0aFNlcXVlbmNlIGlzIG5vdCBwb2x5bW9ycGhpYyIp
OworCiAgICAgLy8gSWYgeW91IGhpdCB0aGlzIGFzc2VydGlvbiB5b3UgZWl0aGVyIGhhdmUgYSB1
c2UgYWZ0ZXIgZnJlZSBidWcsIG9yCiAgICAgLy8gVGVzdE92ZXJsb2FkZWRDb25zdHJ1Y3RvcnNX
aXRoU2VxdWVuY2UgaGFzIHN1YmNsYXNzZXMuIElmIFRlc3RPdmVybG9hZGVkQ29uc3RydWN0b3Jz
V2l0aFNlcXVlbmNlIGhhcyBzdWJjbGFzc2VzIHRoYXQgZ2V0IHBhc3NlZAogICAgIC8vIHRvIHRv
SlMoKSB3ZSBjdXJyZW50bHkgcmVxdWlyZSBUZXN0T3ZlcmxvYWRlZENvbnN0cnVjdG9yc1dpdGhT
ZXF1ZW5jZSB5b3UgdG8gb3B0IG91dCBvZiBiaW5kaW5nIGhhcmRlbmluZwpJbmRleDogU291cmNl
L1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE92ZXJyaWRlQnVpbHRpbnMu
Y3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9K
Uy9KU1Rlc3RPdmVycmlkZUJ1aWx0aW5zLmNwcAkocmV2aXNpb24gMjE4OTY4KQorKysgU291cmNl
L1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE92ZXJyaWRlQnVpbHRpbnMu
Y3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yNjYsMTIgKzI2NiwxMiBAQCBKU0M6OkpTVmFsdWUgdG9K
U05ld2x5Q3JlYXRlZChKU0M6OkV4ZWNTCiAgICAgdm9pZCogZXhwZWN0ZWRWVGFibGVQb2ludGVy
ID0gcmVpbnRlcnByZXRfY2FzdDx2b2lkKj4oX19pZGVudGlmaWVyKCI/P183VGVzdE92ZXJyaWRl
QnVpbHRpbnNAV2ViQ29yZUBANkJAIikpOwogI2Vsc2UKICAgICB2b2lkKiBleHBlY3RlZFZUYWJs
ZVBvaW50ZXIgPSAmX1pUVk43V2ViQ29yZTIwVGVzdE92ZXJyaWRlQnVpbHRpbnNFWzJdOwotI2lm
IENPTVBJTEVSKENMQU5HKQorI2VuZGlmCisKICAgICAvLyBJZiB0aGlzIGZhaWxzIFRlc3RPdmVy
cmlkZUJ1aWx0aW5zIGRvZXMgbm90IGhhdmUgYSB2dGFibGUsIHNvIHlvdSBuZWVkIHRvIGFkZCB0
aGUKICAgICAvLyBJbXBsZW1lbnRhdGlvbkxhY2tzVlRhYmxlIGF0dHJpYnV0ZSB0byB0aGUgaW50
ZXJmYWNlIGRlZmluaXRpb24KLSAgICBzdGF0aWNfYXNzZXJ0KF9faXNfcG9seW1vcnBoaWMoVGVz
dE92ZXJyaWRlQnVpbHRpbnMpLCAiVGVzdE92ZXJyaWRlQnVpbHRpbnMgaXMgbm90IHBvbHltb3Jw
aGljIik7Ci0jZW5kaWYKLSNlbmRpZgorICAgIHN0YXRpY19hc3NlcnQoc3RkOjppc19wb2x5bW9y
cGhpYzxUZXN0T3ZlcnJpZGVCdWlsdGlucz46OnZhbHVlLCAiVGVzdE92ZXJyaWRlQnVpbHRpbnMg
aXMgbm90IHBvbHltb3JwaGljIik7CisKICAgICAvLyBJZiB5b3UgaGl0IHRoaXMgYXNzZXJ0aW9u
IHlvdSBlaXRoZXIgaGF2ZSBhIHVzZSBhZnRlciBmcmVlIGJ1Zywgb3IKICAgICAvLyBUZXN0T3Zl
cnJpZGVCdWlsdGlucyBoYXMgc3ViY2xhc3Nlcy4gSWYgVGVzdE92ZXJyaWRlQnVpbHRpbnMgaGFz
IHN1YmNsYXNzZXMgdGhhdCBnZXQgcGFzc2VkCiAgICAgLy8gdG8gdG9KUygpIHdlIGN1cnJlbnRs
eSByZXF1aXJlIFRlc3RPdmVycmlkZUJ1aWx0aW5zIHlvdSB0byBvcHQgb3V0IG9mIGJpbmRpbmcg
aGFyZGVuaW5nCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMv
SlNUZXN0UHJvbWlzZVJlamVjdGlvbkV2ZW50LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0UHJvbWlzZVJlamVjdGlvbkV2ZW50
LmNwcAkocmV2aXNpb24gMjE4OTY4KQorKysgU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0
cy90ZXN0L0pTL0pTVGVzdFByb21pc2VSZWplY3Rpb25FdmVudC5jcHAJKHdvcmtpbmcgY29weSkK
QEAgLTI3NSwxMiArMjc1LDEyIEBAIEpTQzo6SlNWYWx1ZSB0b0pTTmV3bHlDcmVhdGVkKEpTQzo6
RXhlY1MKICAgICB2b2lkKiBleHBlY3RlZFZUYWJsZVBvaW50ZXIgPSByZWludGVycHJldF9jYXN0
PHZvaWQqPihfX2lkZW50aWZpZXIoIj8/XzdUZXN0UHJvbWlzZVJlamVjdGlvbkV2ZW50QFdlYkNv
cmVAQDZCQCIpKTsKICNlbHNlCiAgICAgdm9pZCogZXhwZWN0ZWRWVGFibGVQb2ludGVyID0gJl9a
VFZON1dlYkNvcmUyNVRlc3RQcm9taXNlUmVqZWN0aW9uRXZlbnRFWzJdOwotI2lmIENPTVBJTEVS
KENMQU5HKQorI2VuZGlmCisKICAgICAvLyBJZiB0aGlzIGZhaWxzIFRlc3RQcm9taXNlUmVqZWN0
aW9uRXZlbnQgZG9lcyBub3QgaGF2ZSBhIHZ0YWJsZSwgc28geW91IG5lZWQgdG8gYWRkIHRoZQog
ICAgIC8vIEltcGxlbWVudGF0aW9uTGFja3NWVGFibGUgYXR0cmlidXRlIHRvIHRoZSBpbnRlcmZh
Y2UgZGVmaW5pdGlvbgotICAgIHN0YXRpY19hc3NlcnQoX19pc19wb2x5bW9ycGhpYyhUZXN0UHJv
bWlzZVJlamVjdGlvbkV2ZW50KSwgIlRlc3RQcm9taXNlUmVqZWN0aW9uRXZlbnQgaXMgbm90IHBv
bHltb3JwaGljIik7Ci0jZW5kaWYKLSNlbmRpZgorICAgIHN0YXRpY19hc3NlcnQoc3RkOjppc19w
b2x5bW9ycGhpYzxUZXN0UHJvbWlzZVJlamVjdGlvbkV2ZW50Pjo6dmFsdWUsICJUZXN0UHJvbWlz
ZVJlamVjdGlvbkV2ZW50IGlzIG5vdCBwb2x5bW9ycGhpYyIpOworCiAgICAgLy8gSWYgeW91IGhp
dCB0aGlzIGFzc2VydGlvbiB5b3UgZWl0aGVyIGhhdmUgYSB1c2UgYWZ0ZXIgZnJlZSBidWcsIG9y
CiAgICAgLy8gVGVzdFByb21pc2VSZWplY3Rpb25FdmVudCBoYXMgc3ViY2xhc3Nlcy4gSWYgVGVz
dFByb21pc2VSZWplY3Rpb25FdmVudCBoYXMgc3ViY2xhc3NlcyB0aGF0IGdldCBwYXNzZWQKICAg
ICAvLyB0byB0b0pTKCkgd2UgY3VycmVudGx5IHJlcXVpcmUgVGVzdFByb21pc2VSZWplY3Rpb25F
dmVudCB5b3UgdG8gb3B0IG91dCBvZiBiaW5kaW5nIGhhcmRlbmluZwpJbmRleDogU291cmNlL1dl
YkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdFNlcmlhbGl6YXRpb24uY3BwCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rl
c3RTZXJpYWxpemF0aW9uLmNwcAkocmV2aXNpb24gMjE4OTY4KQorKysgU291cmNlL1dlYkNvcmUv
YmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdFNlcmlhbGl6YXRpb24uY3BwCSh3b3JraW5n
IGNvcHkpCkBAIC01MjIsMTIgKzUyMiwxMiBAQCBKU0M6OkpTVmFsdWUgdG9KU05ld2x5Q3JlYXRl
ZChKU0M6OkV4ZWNTCiAgICAgdm9pZCogZXhwZWN0ZWRWVGFibGVQb2ludGVyID0gcmVpbnRlcnBy
ZXRfY2FzdDx2b2lkKj4oX19pZGVudGlmaWVyKCI/P183VGVzdFNlcmlhbGl6YXRpb25AV2ViQ29y
ZUBANkJAIikpOwogI2Vsc2UKICAgICB2b2lkKiBleHBlY3RlZFZUYWJsZVBvaW50ZXIgPSAmX1pU
Vk43V2ViQ29yZTE3VGVzdFNlcmlhbGl6YXRpb25FWzJdOwotI2lmIENPTVBJTEVSKENMQU5HKQor
I2VuZGlmCisKICAgICAvLyBJZiB0aGlzIGZhaWxzIFRlc3RTZXJpYWxpemF0aW9uIGRvZXMgbm90
IGhhdmUgYSB2dGFibGUsIHNvIHlvdSBuZWVkIHRvIGFkZCB0aGUKICAgICAvLyBJbXBsZW1lbnRh
dGlvbkxhY2tzVlRhYmxlIGF0dHJpYnV0ZSB0byB0aGUgaW50ZXJmYWNlIGRlZmluaXRpb24KLSAg
ICBzdGF0aWNfYXNzZXJ0KF9faXNfcG9seW1vcnBoaWMoVGVzdFNlcmlhbGl6YXRpb24pLCAiVGVz
dFNlcmlhbGl6YXRpb24gaXMgbm90IHBvbHltb3JwaGljIik7Ci0jZW5kaWYKLSNlbmRpZgorICAg
IHN0YXRpY19hc3NlcnQoc3RkOjppc19wb2x5bW9ycGhpYzxUZXN0U2VyaWFsaXphdGlvbj46OnZh
bHVlLCAiVGVzdFNlcmlhbGl6YXRpb24gaXMgbm90IHBvbHltb3JwaGljIik7CisKICAgICAvLyBJ
ZiB5b3UgaGl0IHRoaXMgYXNzZXJ0aW9uIHlvdSBlaXRoZXIgaGF2ZSBhIHVzZSBhZnRlciBmcmVl
IGJ1Zywgb3IKICAgICAvLyBUZXN0U2VyaWFsaXphdGlvbiBoYXMgc3ViY2xhc3Nlcy4gSWYgVGVz
dFNlcmlhbGl6YXRpb24gaGFzIHN1YmNsYXNzZXMgdGhhdCBnZXQgcGFzc2VkCiAgICAgLy8gdG8g
dG9KUygpIHdlIGN1cnJlbnRseSByZXF1aXJlIFRlc3RTZXJpYWxpemF0aW9uIHlvdSB0byBvcHQg
b3V0IG9mIGJpbmRpbmcgaGFyZGVuaW5nCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9z
Y3JpcHRzL3Rlc3QvSlMvSlNUZXN0U2VyaWFsaXplZFNjcmlwdFZhbHVlSW50ZXJmYWNlLmNwcAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNU
ZXN0U2VyaWFsaXplZFNjcmlwdFZhbHVlSW50ZXJmYWNlLmNwcAkocmV2aXNpb24gMjE4OTY4KQor
KysgU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdFNlcmlhbGl6
ZWRTY3JpcHRWYWx1ZUludGVyZmFjZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTM3NCwxMiArMzc0
LDEyIEBAIEpTQzo6SlNWYWx1ZSB0b0pTTmV3bHlDcmVhdGVkKEpTQzo6RXhlY1MKICAgICB2b2lk
KiBleHBlY3RlZFZUYWJsZVBvaW50ZXIgPSByZWludGVycHJldF9jYXN0PHZvaWQqPihfX2lkZW50
aWZpZXIoIj8/XzdUZXN0U2VyaWFsaXplZFNjcmlwdFZhbHVlSW50ZXJmYWNlQFdlYkNvcmVAQDZC
QCIpKTsKICNlbHNlCiAgICAgdm9pZCogZXhwZWN0ZWRWVGFibGVQb2ludGVyID0gJl9aVFZON1dl
YkNvcmUzNFRlc3RTZXJpYWxpemVkU2NyaXB0VmFsdWVJbnRlcmZhY2VFWzJdOwotI2lmIENPTVBJ
TEVSKENMQU5HKQorI2VuZGlmCisKICAgICAvLyBJZiB0aGlzIGZhaWxzIFRlc3RTZXJpYWxpemVk
U2NyaXB0VmFsdWVJbnRlcmZhY2UgZG9lcyBub3QgaGF2ZSBhIHZ0YWJsZSwgc28geW91IG5lZWQg
dG8gYWRkIHRoZQogICAgIC8vIEltcGxlbWVudGF0aW9uTGFja3NWVGFibGUgYXR0cmlidXRlIHRv
IHRoZSBpbnRlcmZhY2UgZGVmaW5pdGlvbgotICAgIHN0YXRpY19hc3NlcnQoX19pc19wb2x5bW9y
cGhpYyhUZXN0U2VyaWFsaXplZFNjcmlwdFZhbHVlSW50ZXJmYWNlKSwgIlRlc3RTZXJpYWxpemVk
U2NyaXB0VmFsdWVJbnRlcmZhY2UgaXMgbm90IHBvbHltb3JwaGljIik7Ci0jZW5kaWYKLSNlbmRp
ZgorICAgIHN0YXRpY19hc3NlcnQoc3RkOjppc19wb2x5bW9ycGhpYzxUZXN0U2VyaWFsaXplZFNj
cmlwdFZhbHVlSW50ZXJmYWNlPjo6dmFsdWUsICJUZXN0U2VyaWFsaXplZFNjcmlwdFZhbHVlSW50
ZXJmYWNlIGlzIG5vdCBwb2x5bW9ycGhpYyIpOworCiAgICAgLy8gSWYgeW91IGhpdCB0aGlzIGFz
c2VydGlvbiB5b3UgZWl0aGVyIGhhdmUgYSB1c2UgYWZ0ZXIgZnJlZSBidWcsIG9yCiAgICAgLy8g
VGVzdFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZUludGVyZmFjZSBoYXMgc3ViY2xhc3Nlcy4gSWYgVGVz
dFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZUludGVyZmFjZSBoYXMgc3ViY2xhc3NlcyB0aGF0IGdldCBw
YXNzZWQKICAgICAvLyB0byB0b0pTKCkgd2UgY3VycmVudGx5IHJlcXVpcmUgVGVzdFNlcmlhbGl6
ZWRTY3JpcHRWYWx1ZUludGVyZmFjZSB5b3UgdG8gb3B0IG91dCBvZiBiaW5kaW5nIGhhcmRlbmlu
ZwpJbmRleDogU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdFN0
cmluZ2lmaWVyLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3Jp
cHRzL3Rlc3QvSlMvSlNUZXN0U3RyaW5naWZpZXIuY3BwCShyZXZpc2lvbiAyMTg5NjgpCisrKyBT
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0U3RyaW5naWZpZXIu
Y3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yMTAsMTIgKzIxMCwxMiBAQCBKU0M6OkpTVmFsdWUgdG9K
U05ld2x5Q3JlYXRlZChKU0M6OkV4ZWNTCiAgICAgdm9pZCogZXhwZWN0ZWRWVGFibGVQb2ludGVy
ID0gcmVpbnRlcnByZXRfY2FzdDx2b2lkKj4oX19pZGVudGlmaWVyKCI/P183VGVzdFN0cmluZ2lm
aWVyQFdlYkNvcmVAQDZCQCIpKTsKICNlbHNlCiAgICAgdm9pZCogZXhwZWN0ZWRWVGFibGVQb2lu
dGVyID0gJl9aVFZON1dlYkNvcmUxNVRlc3RTdHJpbmdpZmllckVbMl07Ci0jaWYgQ09NUElMRVIo
Q0xBTkcpCisjZW5kaWYKKwogICAgIC8vIElmIHRoaXMgZmFpbHMgVGVzdFN0cmluZ2lmaWVyIGRv
ZXMgbm90IGhhdmUgYSB2dGFibGUsIHNvIHlvdSBuZWVkIHRvIGFkZCB0aGUKICAgICAvLyBJbXBs
ZW1lbnRhdGlvbkxhY2tzVlRhYmxlIGF0dHJpYnV0ZSB0byB0aGUgaW50ZXJmYWNlIGRlZmluaXRp
b24KLSAgICBzdGF0aWNfYXNzZXJ0KF9faXNfcG9seW1vcnBoaWMoVGVzdFN0cmluZ2lmaWVyKSwg
IlRlc3RTdHJpbmdpZmllciBpcyBub3QgcG9seW1vcnBoaWMiKTsKLSNlbmRpZgotI2VuZGlmCisg
ICAgc3RhdGljX2Fzc2VydChzdGQ6OmlzX3BvbHltb3JwaGljPFRlc3RTdHJpbmdpZmllcj46OnZh
bHVlLCAiVGVzdFN0cmluZ2lmaWVyIGlzIG5vdCBwb2x5bW9ycGhpYyIpOworCiAgICAgLy8gSWYg
eW91IGhpdCB0aGlzIGFzc2VydGlvbiB5b3UgZWl0aGVyIGhhdmUgYSB1c2UgYWZ0ZXIgZnJlZSBi
dWcsIG9yCiAgICAgLy8gVGVzdFN0cmluZ2lmaWVyIGhhcyBzdWJjbGFzc2VzLiBJZiBUZXN0U3Ry
aW5naWZpZXIgaGFzIHN1YmNsYXNzZXMgdGhhdCBnZXQgcGFzc2VkCiAgICAgLy8gdG8gdG9KUygp
IHdlIGN1cnJlbnRseSByZXF1aXJlIFRlc3RTdHJpbmdpZmllciB5b3UgdG8gb3B0IG91dCBvZiBi
aW5kaW5nIGhhcmRlbmluZwpJbmRleDogU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90
ZXN0L0pTL0pTVGVzdFN0cmluZ2lmaWVyQW5vbnltb3VzT3BlcmF0aW9uLmNwcAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0U3RyaW5n
aWZpZXJBbm9ueW1vdXNPcGVyYXRpb24uY3BwCShyZXZpc2lvbiAyMTg5NjgpCisrKyBTb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0U3RyaW5naWZpZXJBbm9ueW1v
dXNPcGVyYXRpb24uY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yMTAsMTIgKzIxMCwxMiBAQCBKU0M6
OkpTVmFsdWUgdG9KU05ld2x5Q3JlYXRlZChKU0M6OkV4ZWNTCiAgICAgdm9pZCogZXhwZWN0ZWRW
VGFibGVQb2ludGVyID0gcmVpbnRlcnByZXRfY2FzdDx2b2lkKj4oX19pZGVudGlmaWVyKCI/P183
VGVzdFN0cmluZ2lmaWVyQW5vbnltb3VzT3BlcmF0aW9uQFdlYkNvcmVAQDZCQCIpKTsKICNlbHNl
CiAgICAgdm9pZCogZXhwZWN0ZWRWVGFibGVQb2ludGVyID0gJl9aVFZON1dlYkNvcmUzM1Rlc3RT
dHJpbmdpZmllckFub255bW91c09wZXJhdGlvbkVbMl07Ci0jaWYgQ09NUElMRVIoQ0xBTkcpCisj
ZW5kaWYKKwogICAgIC8vIElmIHRoaXMgZmFpbHMgVGVzdFN0cmluZ2lmaWVyQW5vbnltb3VzT3Bl
cmF0aW9uIGRvZXMgbm90IGhhdmUgYSB2dGFibGUsIHNvIHlvdSBuZWVkIHRvIGFkZCB0aGUKICAg
ICAvLyBJbXBsZW1lbnRhdGlvbkxhY2tzVlRhYmxlIGF0dHJpYnV0ZSB0byB0aGUgaW50ZXJmYWNl
IGRlZmluaXRpb24KLSAgICBzdGF0aWNfYXNzZXJ0KF9faXNfcG9seW1vcnBoaWMoVGVzdFN0cmlu
Z2lmaWVyQW5vbnltb3VzT3BlcmF0aW9uKSwgIlRlc3RTdHJpbmdpZmllckFub255bW91c09wZXJh
dGlvbiBpcyBub3QgcG9seW1vcnBoaWMiKTsKLSNlbmRpZgotI2VuZGlmCisgICAgc3RhdGljX2Fz
c2VydChzdGQ6OmlzX3BvbHltb3JwaGljPFRlc3RTdHJpbmdpZmllckFub255bW91c09wZXJhdGlv
bj46OnZhbHVlLCAiVGVzdFN0cmluZ2lmaWVyQW5vbnltb3VzT3BlcmF0aW9uIGlzIG5vdCBwb2x5
bW9ycGhpYyIpOworCiAgICAgLy8gSWYgeW91IGhpdCB0aGlzIGFzc2VydGlvbiB5b3UgZWl0aGVy
IGhhdmUgYSB1c2UgYWZ0ZXIgZnJlZSBidWcsIG9yCiAgICAgLy8gVGVzdFN0cmluZ2lmaWVyQW5v
bnltb3VzT3BlcmF0aW9uIGhhcyBzdWJjbGFzc2VzLiBJZiBUZXN0U3RyaW5naWZpZXJBbm9ueW1v
dXNPcGVyYXRpb24gaGFzIHN1YmNsYXNzZXMgdGhhdCBnZXQgcGFzc2VkCiAgICAgLy8gdG8gdG9K
UygpIHdlIGN1cnJlbnRseSByZXF1aXJlIFRlc3RTdHJpbmdpZmllckFub255bW91c09wZXJhdGlv
biB5b3UgdG8gb3B0IG91dCBvZiBiaW5kaW5nIGhhcmRlbmluZwpJbmRleDogU291cmNlL1dlYkNv
cmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdFN0cmluZ2lmaWVyTmFtZWRPcGVyYXRp
b24uY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVz
dC9KUy9KU1Rlc3RTdHJpbmdpZmllck5hbWVkT3BlcmF0aW9uLmNwcAkocmV2aXNpb24gMjE4OTY4
KQorKysgU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdFN0cmlu
Z2lmaWVyTmFtZWRPcGVyYXRpb24uY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yMjUsMTIgKzIyNSwx
MiBAQCBKU0M6OkpTVmFsdWUgdG9KU05ld2x5Q3JlYXRlZChKU0M6OkV4ZWNTCiAgICAgdm9pZCog
ZXhwZWN0ZWRWVGFibGVQb2ludGVyID0gcmVpbnRlcnByZXRfY2FzdDx2b2lkKj4oX19pZGVudGlm
aWVyKCI/P183VGVzdFN0cmluZ2lmaWVyTmFtZWRPcGVyYXRpb25AV2ViQ29yZUBANkJAIikpOwog
I2Vsc2UKICAgICB2b2lkKiBleHBlY3RlZFZUYWJsZVBvaW50ZXIgPSAmX1pUVk43V2ViQ29yZTI5
VGVzdFN0cmluZ2lmaWVyTmFtZWRPcGVyYXRpb25FWzJdOwotI2lmIENPTVBJTEVSKENMQU5HKQor
I2VuZGlmCisKICAgICAvLyBJZiB0aGlzIGZhaWxzIFRlc3RTdHJpbmdpZmllck5hbWVkT3BlcmF0
aW9uIGRvZXMgbm90IGhhdmUgYSB2dGFibGUsIHNvIHlvdSBuZWVkIHRvIGFkZCB0aGUKICAgICAv
LyBJbXBsZW1lbnRhdGlvbkxhY2tzVlRhYmxlIGF0dHJpYnV0ZSB0byB0aGUgaW50ZXJmYWNlIGRl
ZmluaXRpb24KLSAgICBzdGF0aWNfYXNzZXJ0KF9faXNfcG9seW1vcnBoaWMoVGVzdFN0cmluZ2lm
aWVyTmFtZWRPcGVyYXRpb24pLCAiVGVzdFN0cmluZ2lmaWVyTmFtZWRPcGVyYXRpb24gaXMgbm90
IHBvbHltb3JwaGljIik7Ci0jZW5kaWYKLSNlbmRpZgorICAgIHN0YXRpY19hc3NlcnQoc3RkOjpp
c19wb2x5bW9ycGhpYzxUZXN0U3RyaW5naWZpZXJOYW1lZE9wZXJhdGlvbj46OnZhbHVlLCAiVGVz
dFN0cmluZ2lmaWVyTmFtZWRPcGVyYXRpb24gaXMgbm90IHBvbHltb3JwaGljIik7CisKICAgICAv
LyBJZiB5b3UgaGl0IHRoaXMgYXNzZXJ0aW9uIHlvdSBlaXRoZXIgaGF2ZSBhIHVzZSBhZnRlciBm
cmVlIGJ1Zywgb3IKICAgICAvLyBUZXN0U3RyaW5naWZpZXJOYW1lZE9wZXJhdGlvbiBoYXMgc3Vi
Y2xhc3Nlcy4gSWYgVGVzdFN0cmluZ2lmaWVyTmFtZWRPcGVyYXRpb24gaGFzIHN1YmNsYXNzZXMg
dGhhdCBnZXQgcGFzc2VkCiAgICAgLy8gdG8gdG9KUygpIHdlIGN1cnJlbnRseSByZXF1aXJlIFRl
c3RTdHJpbmdpZmllck5hbWVkT3BlcmF0aW9uIHlvdSB0byBvcHQgb3V0IG9mIGJpbmRpbmcgaGFy
ZGVuaW5nCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNU
ZXN0U3RyaW5naWZpZXJPcGVyYXRpb25JbXBsZW1lbnRlZEFzLmNwcAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0U3RyaW5naWZpZXJP
cGVyYXRpb25JbXBsZW1lbnRlZEFzLmNwcAkocmV2aXNpb24gMjE4OTY4KQorKysgU291cmNlL1dl
YkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdFN0cmluZ2lmaWVyT3BlcmF0aW9u
SW1wbGVtZW50ZWRBcy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTIyNSwxMiArMjI1LDEyIEBAIEpT
Qzo6SlNWYWx1ZSB0b0pTTmV3bHlDcmVhdGVkKEpTQzo6RXhlY1MKICAgICB2b2lkKiBleHBlY3Rl
ZFZUYWJsZVBvaW50ZXIgPSByZWludGVycHJldF9jYXN0PHZvaWQqPihfX2lkZW50aWZpZXIoIj8/
XzdUZXN0U3RyaW5naWZpZXJPcGVyYXRpb25JbXBsZW1lbnRlZEFzQFdlYkNvcmVAQDZCQCIpKTsK
ICNlbHNlCiAgICAgdm9pZCogZXhwZWN0ZWRWVGFibGVQb2ludGVyID0gJl9aVFZON1dlYkNvcmUz
N1Rlc3RTdHJpbmdpZmllck9wZXJhdGlvbkltcGxlbWVudGVkQXNFWzJdOwotI2lmIENPTVBJTEVS
KENMQU5HKQorI2VuZGlmCisKICAgICAvLyBJZiB0aGlzIGZhaWxzIFRlc3RTdHJpbmdpZmllck9w
ZXJhdGlvbkltcGxlbWVudGVkQXMgZG9lcyBub3QgaGF2ZSBhIHZ0YWJsZSwgc28geW91IG5lZWQg
dG8gYWRkIHRoZQogICAgIC8vIEltcGxlbWVudGF0aW9uTGFja3NWVGFibGUgYXR0cmlidXRlIHRv
IHRoZSBpbnRlcmZhY2UgZGVmaW5pdGlvbgotICAgIHN0YXRpY19hc3NlcnQoX19pc19wb2x5bW9y
cGhpYyhUZXN0U3RyaW5naWZpZXJPcGVyYXRpb25JbXBsZW1lbnRlZEFzKSwgIlRlc3RTdHJpbmdp
Zmllck9wZXJhdGlvbkltcGxlbWVudGVkQXMgaXMgbm90IHBvbHltb3JwaGljIik7Ci0jZW5kaWYK
LSNlbmRpZgorICAgIHN0YXRpY19hc3NlcnQoc3RkOjppc19wb2x5bW9ycGhpYzxUZXN0U3RyaW5n
aWZpZXJPcGVyYXRpb25JbXBsZW1lbnRlZEFzPjo6dmFsdWUsICJUZXN0U3RyaW5naWZpZXJPcGVy
YXRpb25JbXBsZW1lbnRlZEFzIGlzIG5vdCBwb2x5bW9ycGhpYyIpOworCiAgICAgLy8gSWYgeW91
IGhpdCB0aGlzIGFzc2VydGlvbiB5b3UgZWl0aGVyIGhhdmUgYSB1c2UgYWZ0ZXIgZnJlZSBidWcs
IG9yCiAgICAgLy8gVGVzdFN0cmluZ2lmaWVyT3BlcmF0aW9uSW1wbGVtZW50ZWRBcyBoYXMgc3Vi
Y2xhc3Nlcy4gSWYgVGVzdFN0cmluZ2lmaWVyT3BlcmF0aW9uSW1wbGVtZW50ZWRBcyBoYXMgc3Vi
Y2xhc3NlcyB0aGF0IGdldCBwYXNzZWQKICAgICAvLyB0byB0b0pTKCkgd2UgY3VycmVudGx5IHJl
cXVpcmUgVGVzdFN0cmluZ2lmaWVyT3BlcmF0aW9uSW1wbGVtZW50ZWRBcyB5b3UgdG8gb3B0IG91
dCBvZiBiaW5kaW5nIGhhcmRlbmluZwpJbmRleDogU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2Ny
aXB0cy90ZXN0L0pTL0pTVGVzdFN0cmluZ2lmaWVyT3BlcmF0aW9uTmFtZWRUb1N0cmluZy5jcHAK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pT
VGVzdFN0cmluZ2lmaWVyT3BlcmF0aW9uTmFtZWRUb1N0cmluZy5jcHAJKHJldmlzaW9uIDIxODk2
OCkKKysrIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RTdHJp
bmdpZmllck9wZXJhdGlvbk5hbWVkVG9TdHJpbmcuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yMTAs
MTIgKzIxMCwxMiBAQCBKU0M6OkpTVmFsdWUgdG9KU05ld2x5Q3JlYXRlZChKU0M6OkV4ZWNTCiAg
ICAgdm9pZCogZXhwZWN0ZWRWVGFibGVQb2ludGVyID0gcmVpbnRlcnByZXRfY2FzdDx2b2lkKj4o
X19pZGVudGlmaWVyKCI/P183VGVzdFN0cmluZ2lmaWVyT3BlcmF0aW9uTmFtZWRUb1N0cmluZ0BX
ZWJDb3JlQEA2QkAiKSk7CiAjZWxzZQogICAgIHZvaWQqIGV4cGVjdGVkVlRhYmxlUG9pbnRlciA9
ICZfWlRWTjdXZWJDb3JlMzdUZXN0U3RyaW5naWZpZXJPcGVyYXRpb25OYW1lZFRvU3RyaW5nRVsy
XTsKLSNpZiBDT01QSUxFUihDTEFORykKKyNlbmRpZgorCiAgICAgLy8gSWYgdGhpcyBmYWlscyBU
ZXN0U3RyaW5naWZpZXJPcGVyYXRpb25OYW1lZFRvU3RyaW5nIGRvZXMgbm90IGhhdmUgYSB2dGFi
bGUsIHNvIHlvdSBuZWVkIHRvIGFkZCB0aGUKICAgICAvLyBJbXBsZW1lbnRhdGlvbkxhY2tzVlRh
YmxlIGF0dHJpYnV0ZSB0byB0aGUgaW50ZXJmYWNlIGRlZmluaXRpb24KLSAgICBzdGF0aWNfYXNz
ZXJ0KF9faXNfcG9seW1vcnBoaWMoVGVzdFN0cmluZ2lmaWVyT3BlcmF0aW9uTmFtZWRUb1N0cmlu
ZyksICJUZXN0U3RyaW5naWZpZXJPcGVyYXRpb25OYW1lZFRvU3RyaW5nIGlzIG5vdCBwb2x5bW9y
cGhpYyIpOwotI2VuZGlmCi0jZW5kaWYKKyAgICBzdGF0aWNfYXNzZXJ0KHN0ZDo6aXNfcG9seW1v
cnBoaWM8VGVzdFN0cmluZ2lmaWVyT3BlcmF0aW9uTmFtZWRUb1N0cmluZz46OnZhbHVlLCAiVGVz
dFN0cmluZ2lmaWVyT3BlcmF0aW9uTmFtZWRUb1N0cmluZyBpcyBub3QgcG9seW1vcnBoaWMiKTsK
KwogICAgIC8vIElmIHlvdSBoaXQgdGhpcyBhc3NlcnRpb24geW91IGVpdGhlciBoYXZlIGEgdXNl
IGFmdGVyIGZyZWUgYnVnLCBvcgogICAgIC8vIFRlc3RTdHJpbmdpZmllck9wZXJhdGlvbk5hbWVk
VG9TdHJpbmcgaGFzIHN1YmNsYXNzZXMuIElmIFRlc3RTdHJpbmdpZmllck9wZXJhdGlvbk5hbWVk
VG9TdHJpbmcgaGFzIHN1YmNsYXNzZXMgdGhhdCBnZXQgcGFzc2VkCiAgICAgLy8gdG8gdG9KUygp
IHdlIGN1cnJlbnRseSByZXF1aXJlIFRlc3RTdHJpbmdpZmllck9wZXJhdGlvbk5hbWVkVG9TdHJp
bmcgeW91IHRvIG9wdCBvdXQgb2YgYmluZGluZyBoYXJkZW5pbmcKSW5kZXg6IFNvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RTdHJpbmdpZmllclJlYWRPbmx5QXR0
cmlidXRlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRz
L3Rlc3QvSlMvSlNUZXN0U3RyaW5naWZpZXJSZWFkT25seUF0dHJpYnV0ZS5jcHAJKHJldmlzaW9u
IDIxODk2OCkKKysrIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rl
c3RTdHJpbmdpZmllclJlYWRPbmx5QXR0cmlidXRlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjMy
LDEyICsyMzIsMTIgQEAgSlNDOjpKU1ZhbHVlIHRvSlNOZXdseUNyZWF0ZWQoSlNDOjpFeGVjUwog
ICAgIHZvaWQqIGV4cGVjdGVkVlRhYmxlUG9pbnRlciA9IHJlaW50ZXJwcmV0X2Nhc3Q8dm9pZCo+
KF9faWRlbnRpZmllcigiPz9fN1Rlc3RTdHJpbmdpZmllclJlYWRPbmx5QXR0cmlidXRlQFdlYkNv
cmVAQDZCQCIpKTsKICNlbHNlCiAgICAgdm9pZCogZXhwZWN0ZWRWVGFibGVQb2ludGVyID0gJl9a
VFZON1dlYkNvcmUzMlRlc3RTdHJpbmdpZmllclJlYWRPbmx5QXR0cmlidXRlRVsyXTsKLSNpZiBD
T01QSUxFUihDTEFORykKKyNlbmRpZgorCiAgICAgLy8gSWYgdGhpcyBmYWlscyBUZXN0U3RyaW5n
aWZpZXJSZWFkT25seUF0dHJpYnV0ZSBkb2VzIG5vdCBoYXZlIGEgdnRhYmxlLCBzbyB5b3UgbmVl
ZCB0byBhZGQgdGhlCiAgICAgLy8gSW1wbGVtZW50YXRpb25MYWNrc1ZUYWJsZSBhdHRyaWJ1dGUg
dG8gdGhlIGludGVyZmFjZSBkZWZpbml0aW9uCi0gICAgc3RhdGljX2Fzc2VydChfX2lzX3BvbHlt
b3JwaGljKFRlc3RTdHJpbmdpZmllclJlYWRPbmx5QXR0cmlidXRlKSwgIlRlc3RTdHJpbmdpZmll
clJlYWRPbmx5QXR0cmlidXRlIGlzIG5vdCBwb2x5bW9ycGhpYyIpOwotI2VuZGlmCi0jZW5kaWYK
KyAgICBzdGF0aWNfYXNzZXJ0KHN0ZDo6aXNfcG9seW1vcnBoaWM8VGVzdFN0cmluZ2lmaWVyUmVh
ZE9ubHlBdHRyaWJ1dGU+Ojp2YWx1ZSwgIlRlc3RTdHJpbmdpZmllclJlYWRPbmx5QXR0cmlidXRl
IGlzIG5vdCBwb2x5bW9ycGhpYyIpOworCiAgICAgLy8gSWYgeW91IGhpdCB0aGlzIGFzc2VydGlv
biB5b3UgZWl0aGVyIGhhdmUgYSB1c2UgYWZ0ZXIgZnJlZSBidWcsIG9yCiAgICAgLy8gVGVzdFN0
cmluZ2lmaWVyUmVhZE9ubHlBdHRyaWJ1dGUgaGFzIHN1YmNsYXNzZXMuIElmIFRlc3RTdHJpbmdp
ZmllclJlYWRPbmx5QXR0cmlidXRlIGhhcyBzdWJjbGFzc2VzIHRoYXQgZ2V0IHBhc3NlZAogICAg
IC8vIHRvIHRvSlMoKSB3ZSBjdXJyZW50bHkgcmVxdWlyZSBUZXN0U3RyaW5naWZpZXJSZWFkT25s
eUF0dHJpYnV0ZSB5b3UgdG8gb3B0IG91dCBvZiBiaW5kaW5nIGhhcmRlbmluZwpJbmRleDogU291
cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdFN0cmluZ2lmaWVyUmVh
ZFdyaXRlQXR0cmlidXRlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0U3RyaW5naWZpZXJSZWFkV3JpdGVBdHRyaWJ1dGUuY3Bw
CShyZXZpc2lvbiAyMTg5NjgpCisrKyBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rl
c3QvSlMvSlNUZXN0U3RyaW5naWZpZXJSZWFkV3JpdGVBdHRyaWJ1dGUuY3BwCSh3b3JraW5nIGNv
cHkpCkBAIC0yNDksMTIgKzI0OSwxMiBAQCBKU0M6OkpTVmFsdWUgdG9KU05ld2x5Q3JlYXRlZChK
U0M6OkV4ZWNTCiAgICAgdm9pZCogZXhwZWN0ZWRWVGFibGVQb2ludGVyID0gcmVpbnRlcnByZXRf
Y2FzdDx2b2lkKj4oX19pZGVudGlmaWVyKCI/P183VGVzdFN0cmluZ2lmaWVyUmVhZFdyaXRlQXR0
cmlidXRlQFdlYkNvcmVAQDZCQCIpKTsKICNlbHNlCiAgICAgdm9pZCogZXhwZWN0ZWRWVGFibGVQ
b2ludGVyID0gJl9aVFZON1dlYkNvcmUzM1Rlc3RTdHJpbmdpZmllclJlYWRXcml0ZUF0dHJpYnV0
ZUVbMl07Ci0jaWYgQ09NUElMRVIoQ0xBTkcpCisjZW5kaWYKKwogICAgIC8vIElmIHRoaXMgZmFp
bHMgVGVzdFN0cmluZ2lmaWVyUmVhZFdyaXRlQXR0cmlidXRlIGRvZXMgbm90IGhhdmUgYSB2dGFi
bGUsIHNvIHlvdSBuZWVkIHRvIGFkZCB0aGUKICAgICAvLyBJbXBsZW1lbnRhdGlvbkxhY2tzVlRh
YmxlIGF0dHJpYnV0ZSB0byB0aGUgaW50ZXJmYWNlIGRlZmluaXRpb24KLSAgICBzdGF0aWNfYXNz
ZXJ0KF9faXNfcG9seW1vcnBoaWMoVGVzdFN0cmluZ2lmaWVyUmVhZFdyaXRlQXR0cmlidXRlKSwg
IlRlc3RTdHJpbmdpZmllclJlYWRXcml0ZUF0dHJpYnV0ZSBpcyBub3QgcG9seW1vcnBoaWMiKTsK
LSNlbmRpZgotI2VuZGlmCisgICAgc3RhdGljX2Fzc2VydChzdGQ6OmlzX3BvbHltb3JwaGljPFRl
c3RTdHJpbmdpZmllclJlYWRXcml0ZUF0dHJpYnV0ZT46OnZhbHVlLCAiVGVzdFN0cmluZ2lmaWVy
UmVhZFdyaXRlQXR0cmlidXRlIGlzIG5vdCBwb2x5bW9ycGhpYyIpOworCiAgICAgLy8gSWYgeW91
IGhpdCB0aGlzIGFzc2VydGlvbiB5b3UgZWl0aGVyIGhhdmUgYSB1c2UgYWZ0ZXIgZnJlZSBidWcs
IG9yCiAgICAgLy8gVGVzdFN0cmluZ2lmaWVyUmVhZFdyaXRlQXR0cmlidXRlIGhhcyBzdWJjbGFz
c2VzLiBJZiBUZXN0U3RyaW5naWZpZXJSZWFkV3JpdGVBdHRyaWJ1dGUgaGFzIHN1YmNsYXNzZXMg
dGhhdCBnZXQgcGFzc2VkCiAgICAgLy8gdG8gdG9KUygpIHdlIGN1cnJlbnRseSByZXF1aXJlIFRl
c3RTdHJpbmdpZmllclJlYWRXcml0ZUF0dHJpYnV0ZSB5b3UgdG8gb3B0IG91dCBvZiBiaW5kaW5n
IGhhcmRlbmluZwpJbmRleDogU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pT
L0pTVGVzdFR5cGVkZWZzLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0VHlwZWRlZnMuY3BwCShyZXZpc2lvbiAyMTg5NjgpCisr
KyBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0VHlwZWRlZnMu
Y3BwCSh3b3JraW5nIGNvcHkpCkBAIC04OTgsMTIgKzg5OCwxMiBAQCBKU0M6OkpTVmFsdWUgdG9K
U05ld2x5Q3JlYXRlZChKU0M6OkV4ZWNTCiAgICAgdm9pZCogZXhwZWN0ZWRWVGFibGVQb2ludGVy
ID0gcmVpbnRlcnByZXRfY2FzdDx2b2lkKj4oX19pZGVudGlmaWVyKCI/P183VGVzdFR5cGVkZWZz
QFdlYkNvcmVAQDZCQCIpKTsKICNlbHNlCiAgICAgdm9pZCogZXhwZWN0ZWRWVGFibGVQb2ludGVy
ID0gJl9aVFZON1dlYkNvcmUxMlRlc3RUeXBlZGVmc0VbMl07Ci0jaWYgQ09NUElMRVIoQ0xBTkcp
CisjZW5kaWYKKwogICAgIC8vIElmIHRoaXMgZmFpbHMgVGVzdFR5cGVkZWZzIGRvZXMgbm90IGhh
dmUgYSB2dGFibGUsIHNvIHlvdSBuZWVkIHRvIGFkZCB0aGUKICAgICAvLyBJbXBsZW1lbnRhdGlv
bkxhY2tzVlRhYmxlIGF0dHJpYnV0ZSB0byB0aGUgaW50ZXJmYWNlIGRlZmluaXRpb24KLSAgICBz
dGF0aWNfYXNzZXJ0KF9faXNfcG9seW1vcnBoaWMoVGVzdFR5cGVkZWZzKSwgIlRlc3RUeXBlZGVm
cyBpcyBub3QgcG9seW1vcnBoaWMiKTsKLSNlbmRpZgotI2VuZGlmCisgICAgc3RhdGljX2Fzc2Vy
dChzdGQ6OmlzX3BvbHltb3JwaGljPFRlc3RUeXBlZGVmcz46OnZhbHVlLCAiVGVzdFR5cGVkZWZz
IGlzIG5vdCBwb2x5bW9ycGhpYyIpOworCiAgICAgLy8gSWYgeW91IGhpdCB0aGlzIGFzc2VydGlv
biB5b3UgZWl0aGVyIGhhdmUgYSB1c2UgYWZ0ZXIgZnJlZSBidWcsIG9yCiAgICAgLy8gVGVzdFR5
cGVkZWZzIGhhcyBzdWJjbGFzc2VzLiBJZiBUZXN0VHlwZWRlZnMgaGFzIHN1YmNsYXNzZXMgdGhh
dCBnZXQgcGFzc2VkCiAgICAgLy8gdG8gdG9KUygpIHdlIGN1cnJlbnRseSByZXF1aXJlIFRlc3RU
eXBlZGVmcyB5b3UgdG8gb3B0IG91dCBvZiBiaW5kaW5nIGhhcmRlbmluZwo=
</data>

          </attachment>
      

    </bug>

</bugzilla>