<?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>127825</bug_id>
          
          <creation_ts>2014-01-28 20:10:16 -0800</creation_ts>
          <short_desc>REGRESSION(r162987): Broke Mountain Lion build (Requested by andersca on #webkit).</short_desc>
          <delta_ts>2014-01-28 20:13:57 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>127797</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="WebKit Commit Bot">commit-queue</reporter>
          <assigned_to name="WebKit Commit Bot">commit-queue</assigned_to>
          <cc>msaboff</cc>
    
    <cc>oliver</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>973271</commentid>
    <comment_count>0</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-01-28 20:10:16 -0800</bug_when>
    <thetext>http://trac.webkit.org/changeset/162987 broke the build:
Broke Mountain Lion build (Requested by andersca on #webkit).

This is an automatic bug report generated by webkitbot. If this bug
report was created because of a flaky test, please file a bug for the flaky
test (if we don&apos;t already have one on file) and dup this bug against that bug
so that we can track how often these flaky tests fail.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>973273</commentid>
    <comment_count>1</comment_count>
      <attachid>222549</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-01-28 20:10:50 -0800</bug_when>
    <thetext>Created attachment 222549
ROLLOUT of r162987

Any committer can land this patch automatically by marking it commit-queue+.  The commit-queue will build and test the patch before landing to ensure that the rollout will be successful.  This process takes approximately 15 minutes.

If you would like to land the rollout faster, you can use the following command:

  webkit-patch land-attachment ATTACHMENT_ID

where ATTACHMENT_ID is the ID of this attachment.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>973275</commentid>
    <comment_count>2</comment_count>
      <attachid>222549</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-01-28 20:13:46 -0800</bug_when>
    <thetext>Comment on attachment 222549
ROLLOUT of r162987

Clearing flags on attachment: 222549

Committed r162998: &lt;http://trac.webkit.org/changeset/162998&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>973276</commentid>
    <comment_count>3</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-01-28 20:13:57 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>222549</attachid>
            <date>2014-01-28 20:10:50 -0800</date>
            <delta_ts>2014-01-28 20:13:45 -0800</delta_ts>
            <desc>ROLLOUT of r162987</desc>
            <filename>bug-127825-20140128201049.patch</filename>
            <type>text/plain</type>
            <size>124013</size>
            <attacher name="WebKit Commit Bot">commit-queue</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTYyOTk3CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCA1
ODllZDVkZTc4YmRmYmY2NDUxNjM3YTZmNzEyYjhkMTFhODgxM2Y4Li42ZWY4NjM5ZDc4ODU0YzMy
YjZhOGVkODY4MjYwN2FlMTUwYTU1ODg0IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxOSBAQAorMjAxNC0wMS0yOCAgQ29tbWl0IFF1ZXVlICA8Y29tbWl0LXF1ZXVlQHdlYmtp
dC5vcmc+CisKKyAgICAgICAgVW5yZXZpZXdlZCwgcm9sbGluZyBvdXQgcjE2Mjk4Ny4KKyAgICAg
ICAgaHR0cDovL3RyYWMud2Via2l0Lm9yZy9jaGFuZ2VzZXQvMTYyOTg3CisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMjc4MjUKKworICAgICAgICBCcm9r
ZSBNb3VudGFpbiBMaW9uIGJ1aWxkIChSZXF1ZXN0ZWQgYnkgYW5kZXJzY2Egb24gI3dlYmtpdCku
CisKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5qZWN0ZWRTY3JpcHRTb3VyY2UuanM6CisgICAgICAg
ICguKToKKyAgICAgICAgKiBydW50aW1lL0pTT2JqZWN0LmNwcDoKKyAgICAgICAgKEpTQzo6SlNP
YmplY3Q6OmdldE93blByb3BlcnR5RGVzY3JpcHRvcik6CisgICAgICAgICogcnVudGltZS9Qcm9w
ZXJ0eURlc2NyaXB0b3IuY3BwOgorICAgICAgICAqIHJ1bnRpbWUvUHJvcGVydHlEZXNjcmlwdG9y
Lmg6CisgICAgICAgICogcnVudGltZS9Qcm9wZXJ0eVNsb3QuaDoKKwogMjAxNC0wMS0yOCAgT2xp
dmVyIEh1bnQgIDxvbGl2ZXJAYXBwbGUuY29tPgogCiAgICAgICAgIE1ha2UgRE9NIGF0dHJpYnV0
ZXMgYXBwZWFyIHRvIGJlIGZhdXggYWNjZXNzb3IgcHJvcGVydGllcwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IGU1
NWU1ZDYxMGI5YmZkZGU4NDIxMGVjOTU3Yzk4MDc0MWExYmZjMTUuLmJiODUxZTIyYjUyM2JlYjZl
ZDgzOTkzYzAxM2M5ZDMzYzNjYzc2YjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSw0OCBAQAorMjAx
NC0wMS0yOCAgQ29tbWl0IFF1ZXVlICA8Y29tbWl0LXF1ZXVlQHdlYmtpdC5vcmc+CisKKyAgICAg
ICAgVW5yZXZpZXdlZCwgcm9sbGluZyBvdXQgcjE2Mjk4Ny4KKyAgICAgICAgaHR0cDovL3RyYWMu
d2Via2l0Lm9yZy9jaGFuZ2VzZXQvMTYyOTg3CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0xMjc4MjUKKworICAgICAgICBCcm9rZSBNb3VudGFpbiBMaW9u
IGJ1aWxkIChSZXF1ZXN0ZWQgYnkgYW5kZXJzY2Egb24gI3dlYmtpdCkuCisKKyAgICAgICAgKiBi
aW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JKUy5wbToKKyAgICAgICAgKEdlbmVyYXRlR2V0
T3duUHJvcGVydHlTbG90Qm9keSk6CisgICAgICAgIChHZW5lcmF0ZUF0dHJpYnV0ZXNIYXNoVGFi
bGUpOgorICAgICAgICAoR2VuZXJhdGVJbXBsZW1lbnRhdGlvbik6CisgICAgICAgICogYmluZGlu
Z3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdEFjdGl2ZURPTU9iamVjdC5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpqc1Rlc3RBY3RpdmVET01PYmplY3RDb25zdHJ1Y3Rvcik6CisgICAgICAgICogYmlu
ZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdEN1c3RvbU5hbWVkR2V0dGVyLmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OmpzVGVzdEN1c3RvbU5hbWVkR2V0dGVyQ29uc3RydWN0b3IpOgorICAgICAg
ICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RFdmVudENvbnN0cnVjdG9yLmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OmpzVGVzdEV2ZW50Q29uc3RydWN0b3JDb25zdHJ1Y3Rvcik6Cisg
ICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdEV2ZW50VGFyZ2V0LmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OmpzVGVzdEV2ZW50VGFyZ2V0Q29uc3RydWN0b3IpOgorICAgICAg
ICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RFeGNlcHRpb24uY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6anNUZXN0RXhjZXB0aW9uQ29uc3RydWN0b3IpOgorICAgICAgICAqIGJpbmRp
bmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RHZW5lcmF0ZUlzUmVhY2hhYmxlLmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OmpzVGVzdEdlbmVyYXRlSXNSZWFjaGFibGVDb25zdHJ1Y3Rvcik6CisgICAg
ICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdEludGVyZmFjZS5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpqc1Rlc3RJbnRlcmZhY2VDb25zdHJ1Y3Rvcik6CisgICAgICAgICogYmlu
ZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE1lZGlhUXVlcnlMaXN0TGlzdGVuZXIuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6anNUZXN0TWVkaWFRdWVyeUxpc3RMaXN0ZW5lckNvbnN0cnVjdG9y
KToKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0TmFtZWRDb25zdHJ1
Y3Rvci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpqc1Rlc3ROYW1lZENvbnN0cnVjdG9yQ29uc3Ry
dWN0b3IpOgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3ROb2RlLmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OmpzVGVzdE5vZGVDb25zdHJ1Y3Rvcik6CisgICAgICAgICog
YmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE9iai5jcHA6CisgICAgICAgIChXZWJDb3Jl
Ojpqc1Rlc3RPYmpDb25zdHJ1Y3Rvcik6CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0
L0pTL0pTVGVzdE92ZXJsb2FkZWRDb25zdHJ1Y3RvcnMuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
anNUZXN0T3ZlcmxvYWRlZENvbnN0cnVjdG9yc0NvbnN0cnVjdG9yKToKKyAgICAgICAgKiBiaW5k
aW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0U2VyaWFsaXplZFNjcmlwdFZhbHVlSW50ZXJmYWNl
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OmpzVGVzdFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZUludGVy
ZmFjZUNvbnN0cnVjdG9yKToKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNU
ZXN0VHlwZWRlZnMuY3BwOgorICAgICAgICAoV2ViQ29yZTo6anNUZXN0VHlwZWRlZnNDb25zdHJ1
Y3Rvcik6CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTYXR0cmlidXRlLmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OmpzYXR0cmlidXRlQ29uc3RydWN0b3IpOgorICAgICAgICAq
IGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU3JlYWRvbmx5LmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OmpzcmVhZG9ubHlDb25zdHJ1Y3Rvcik6CisKIDIwMTQtMDEtMjggIEVucmljYSBDYXN1Y2Np
ICA8ZW5yaWNhQGFwcGxlLmNvbT4KIAogICAgICAgICBBZGQgc3VwcG9ydCBmb3IgQWN0aW9uU2hl
ZXRzIGluIFdLMiBmb3IgaU9TLgpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2lu
c3BlY3Rvci9JbmplY3RlZFNjcmlwdFNvdXJjZS5qcyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9p
bnNwZWN0b3IvSW5qZWN0ZWRTY3JpcHRTb3VyY2UuanMKaW5kZXggMzA0NDIyNGQ4YWVhZDE2ZmIz
ZTQ5ZTMxODNmZjk3NDE0NDA4YjczNi4uN2JmZjdmNmQ0MTU5ODgyOGQ4N2U5OGMzZDQ1ZDlhZDU5
NzljMzVhNSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9Jbmpl
Y3RlZFNjcmlwdFNvdXJjZS5qcworKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9y
L0luamVjdGVkU2NyaXB0U291cmNlLmpzCkBAIC0zNTAsMTggKzM1MCw2IEBAIEluamVjdGVkU2Ny
aXB0LnByb3RvdHlwZSA9IHsKICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAg
ICAgICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAg
ICAgICAgICAgIGlmIChkZXNjcmlwdG9yLmhhc093blByb3BlcnR5KCJnZXQiKSAmJiBkZXNjcmlw
dG9yLmhhc093blByb3BlcnR5KCJzZXQiKSAmJiAhZGVzY3JpcHRvci5nZXQgJiYgIWRlc2NyaXB0
b3Iuc2V0KSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAvLyBOb3QgYWxsIGJpbmRpbmdzIHBy
b3ZpZGUgcHJvcGVyIGRlc2NyaXB0b3JzLiBGYWxsIGJhY2sgdG8gdGhlIHdyaXRhYmxlLCBjb25m
aWd1cmFibGUgcHJvcGVydHkuCi0gICAgICAgICAgICAgICAgICAgICAgICB0cnkgewotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGRlc2NyaXB0b3IgPSB7IG5hbWU6IG5hbWUsIHZhbHVlOiBv
YmplY3RbbmFtZV0sIHdyaXRhYmxlOiBmYWxzZSwgY29uZmlndXJhYmxlOiBmYWxzZSwgZW51bWVy
YWJsZTogZmFsc2V9OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChvID09PSBvYmpl
Y3QpCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlc2NyaXB0b3IuaXNPd24gPSB0
cnVlOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlc2NyaXB0b3JzLnB1c2goZGVzY3Jp
cHRvcik7Ci0gICAgICAgICAgICAgICAgICAgICAgICB9IGNhdGNoIChlKSB7Ci0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgLy8gU2lsZW50IGNhdGNoLgotICAgICAgICAgICAgICAgICAgICAg
ICAgfQotICAgICAgICAgICAgICAgICAgICAgICAgY29udGludWU7Ci0gICAgICAgICAgICAgICAg
ICAgIH0KICAgICAgICAgICAgICAgICB9IGNhdGNoIChlKSB7CiAgICAgICAgICAgICAgICAgICAg
IHZhciBkZXNjcmlwdG9yID0ge307CiAgICAgICAgICAgICAgICAgICAgIGRlc2NyaXB0b3IudmFs
dWUgPSBlOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNPYmpl
Y3QuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNPYmplY3QuY3BwCmluZGV4
IDJiNjdhMWQ5ZWVkODRlOTk1NmY4YmI5NjgzODRjODRjYWVhNTNjZmYuLjY5MTBiN2UwNGZhYjE1
ZjY2NWJkOTc2MmNiNWI2ZmM2MWNkMmZkNDYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL0pTT2JqZWN0LmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9KU09iamVjdC5jcHAKQEAgLTI0MjEsOCArMjQyMSw2IEBAIGJvb2wgSlNPYmplY3Q6Omdl
dE93blByb3BlcnR5RGVzY3JpcHRvcihFeGVjU3RhdGUqIGV4ZWMsIFByb3BlcnR5TmFtZSBwcm9w
ZXJ0eU5hCiAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICBpZiAoc2xvdC5pc0FjY2Vzc29yKCkp
CiAgICAgICAgIGRlc2NyaXB0b3Iuc2V0QWNjZXNzb3JEZXNjcmlwdG9yKHNsb3QuZ2V0dGVyU2V0
dGVyKCksIHNsb3QuYXR0cmlidXRlcygpKTsKLSAgICBlbHNlIGlmIChzbG90LmF0dHJpYnV0ZXMo
KSAmIEN1c3RvbUFjY2Vzc29yKQotICAgICAgICBkZXNjcmlwdG9yLnNldEN1c3RvbURlc2NyaXB0
b3Ioc2xvdC5hdHRyaWJ1dGVzKCkpOwogICAgIGVsc2UKICAgICAgICAgZGVzY3JpcHRvci5zZXRE
ZXNjcmlwdG9yKHNsb3QuZ2V0VmFsdWUoZXhlYywgcHJvcGVydHlOYW1lKSwgc2xvdC5hdHRyaWJ1
dGVzKCkpOwogICAgIHJldHVybiB0cnVlOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvUHJvcGVydHlEZXNjcmlwdG9yLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL1Byb3BlcnR5RGVzY3JpcHRvci5jcHAKaW5kZXggZDdhZjUyMzQxODBkOWVkZjgx
NjI1NjJmOWM0OTU1MTY5NzBiYjVhNS4uMWRkMzU2MDVjOTAwMjhmNmM0MzYyNDg5YjBjODgzNTNh
NmExYzZmZSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvUHJvcGVy
dHlEZXNjcmlwdG9yLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Qcm9w
ZXJ0eURlc2NyaXB0b3IuY3BwCkBAIC0xMTUsMTYgKzExNSw2IEBAIHZvaWQgUHJvcGVydHlEZXNj
cmlwdG9yOjpzZXREZXNjcmlwdG9yKEpTVmFsdWUgdmFsdWUsIHVuc2lnbmVkIGF0dHJpYnV0ZXMp
CiAgICAgfQogfQogCi12b2lkIFByb3BlcnR5RGVzY3JpcHRvcjo6c2V0Q3VzdG9tRGVzY3JpcHRv
cih1bnNpZ25lZCBhdHRyaWJ1dGVzKQotewotICAgIG1fYXR0cmlidXRlcyA9IGF0dHJpYnV0ZXMg
fCBBY2Nlc3NvciB8IEN1c3RvbUFjY2Vzc29yOwotICAgIG1fYXR0cmlidXRlcyAmPSB+UmVhZE9u
bHk7Ci0gICAgbV9zZWVuQXR0cmlidXRlcyA9IEVudW1lcmFibGVQcmVzZW50IHwgQ29uZmlndXJh
YmxlUHJlc2VudDsKLSAgICBzZXRHZXR0ZXIoanNVbmRlZmluZWQoKSk7Ci0gICAgc2V0U2V0dGVy
KGpzVW5kZWZpbmVkKCkpOwotICAgIG1fdmFsdWUgPSBKU1ZhbHVlKCk7Ci19Ci0KIHZvaWQgUHJv
cGVydHlEZXNjcmlwdG9yOjpzZXRBY2Nlc3NvckRlc2NyaXB0b3IoR2V0dGVyU2V0dGVyKiBhY2Nl
c3NvciwgdW5zaWduZWQgYXR0cmlidXRlcykKIHsKICAgICBBU1NFUlQoYXR0cmlidXRlcyAmIEFj
Y2Vzc29yKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1Byb3Bl
cnR5RGVzY3JpcHRvci5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvUHJvcGVydHlE
ZXNjcmlwdG9yLmgKaW5kZXggODRlMjcwMGFjZjc5M2FlYWYwODI2YTI0MWRjNTk2NTM4ZmIxNTc0
OC4uMmNjOTVmYjIxY2U0YzkwNGUwODA1MTdjM2E0YTNkNzUyMTAyMDk3NSAxMDA2NDQKLS0tIGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvUHJvcGVydHlEZXNjcmlwdG9yLmgKKysrIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvUHJvcGVydHlEZXNjcmlwdG9yLmgKQEAgLTYz
LDcgKzYzLDYgQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgICAgIEpTT2JqZWN0KiBzZXR0ZXJPYmpl
Y3QoKSBjb25zdDsKICAgICAgICAgSlNfRVhQT1JUX1BSSVZBVEUgdm9pZCBzZXRVbmRlZmluZWQo
KTsKICAgICAgICAgSlNfRVhQT1JUX1BSSVZBVEUgdm9pZCBzZXREZXNjcmlwdG9yKEpTVmFsdWUg
dmFsdWUsIHVuc2lnbmVkIGF0dHJpYnV0ZXMpOwotICAgICAgICBKU19FWFBPUlRfUFJJVkFURSB2
b2lkIHNldEN1c3RvbURlc2NyaXB0b3IodW5zaWduZWQgYXR0cmlidXRlcyk7CiAgICAgICAgIEpT
X0VYUE9SVF9QUklWQVRFIHZvaWQgc2V0QWNjZXNzb3JEZXNjcmlwdG9yKEdldHRlclNldHRlciog
YWNjZXNzb3IsIHVuc2lnbmVkIGF0dHJpYnV0ZXMpOwogICAgICAgICBKU19FWFBPUlRfUFJJVkFU
RSB2b2lkIHNldFdyaXRhYmxlKGJvb2wpOwogICAgICAgICBKU19FWFBPUlRfUFJJVkFURSB2b2lk
IHNldEVudW1lcmFibGUoYm9vbCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9Qcm9wZXJ0eVNsb3QuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1By
b3BlcnR5U2xvdC5oCmluZGV4IGQ5MzhmYTMxNjQ1YWYyNmI3NTg1MTRkYjZiMjQ3OGYxODNlOWVl
ZTEuLmFlOTM0NTVhNDg0NzgzNzg0NzZjNDNhMjUxMmM4NThmNjQ4NTZjYTYgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1Byb3BlcnR5U2xvdC5oCisrKyBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1Byb3BlcnR5U2xvdC5oCkBAIC00MSw3ICs0MSw2IEBA
IGVudW0gQXR0cmlidXRlIHsKICAgICBEb250RGVsZXRlICAgPSAxIDw8IDMsICAvLyBwcm9wZXJ0
eSBjYW4ndCBiZSBkZWxldGVkCiAgICAgRnVuY3Rpb24gICAgID0gMSA8PCA0LCAgLy8gcHJvcGVy
dHkgaXMgYSBmdW5jdGlvbiAtIG9ubHkgdXNlZCBieSBzdGF0aWMgaGFzaHRhYmxlcwogICAgIEFj
Y2Vzc29yICAgICA9IDEgPDwgNSwgIC8vIHByb3BlcnR5IGlzIGEgZ2V0dGVyL3NldHRlcgotICAg
IEN1c3RvbUFjY2Vzc29yID0gMSA8PCA2LAogfTsKIAogY2xhc3MgUHJvcGVydHlTbG90IHsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvckpT
LnBtIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9ySlMucG0K
aW5kZXggMzUwNGM0ZDBiNTZiZDFiNTlkNGRhZmY3MjJmMzdjZmRiYjAwOGE3Zi4uNmI5N2Q1MzI0
Zjg3MDE3YTA3NjdhODhlZjRhMmM4MjJmYTRkM2QwYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9ySlMucG0KKysrIGIvU291cmNlL1dlYkNv
cmUvYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9ySlMucG0KQEAgLTM5OCw3ICszOTgsNyBA
QCBzdWIgR2VuZXJhdGVHZXRPd25Qcm9wZXJ0eVNsb3RCb2R5CiAKICAgICBpZiAoJGludGVyZmFj
ZU5hbWUgZXEgIk5hbWVkTm9kZU1hcCIgb3IgJGludGVyZmFjZU5hbWUgPX4gL15IVE1MXHcqQ29s
bGVjdGlvbiQvKSB7CiAgICAgICAgIHB1c2goQGdldE93blByb3BlcnR5U2xvdEltcGwsICIgICAg
JHtuYW1lc3BhY2VNYXliZX1KU1ZhbHVlIHByb3RvID0gdGhpc09iamVjdC0+cHJvdG90eXBlKCk7
XG4iKTsKLSAgICAgICAgcHVzaChAZ2V0T3duUHJvcGVydHlTbG90SW1wbCwgIiAgICBpZiAocHJv
dG8uaXNPYmplY3QoKSAmJiBqc0Nhc3Q8JHtuYW1lc3BhY2VNYXliZX1KU09iamVjdCo+KHByb3Rv
KS0+aGFzUHJvcGVydHkoZXhlYywgcHJvcGVydHlOYW1lKSlcbiIpOworICAgICAgICBwdXNoKEBn
ZXRPd25Qcm9wZXJ0eVNsb3RJbXBsLCAiICAgIGlmIChwcm90by5pc09iamVjdCgpICYmIGpzQ2Fz
dDwke25hbWVzcGFjZU1heWJlfUpTT2JqZWN0Kj4oYXNPYmplY3QocHJvdG8pKS0+aGFzUHJvcGVy
dHkoZXhlYywgcHJvcGVydHlOYW1lKSlcbiIpOwogICAgICAgICBwdXNoKEBnZXRPd25Qcm9wZXJ0
eVNsb3RJbXBsLCAiICAgICAgICByZXR1cm4gZmFsc2U7XG5cbiIpOwogICAgIH0KIApAQCAtMTE3
NCw5ICsxMTc0LDkgQEAgc3ViIEdlbmVyYXRlSGVhZGVyCiAgICAgfQogfQogCi1zdWIgR2VuZXJh
dGVBdHRyaWJ1dGVzSGFzaFRhYmxlCitzdWIgR2VuZXJhdGVBdHRyaWJ1dGVzSGFzaFRhYmxlKCQk
KQogewotICAgIG15ICgkb2JqZWN0LCAkaW50ZXJmYWNlLCAkaGFzaEtleXMsICRoYXNoU3BlY2lh
bHMsICRoYXNoVmFsdWUxLCAkaGFzaFZhbHVlMiwgJGNvbmRpdGlvbmFscywgJGVudHJpZXMpID0g
QF87CisgICAgbXkgKCRvYmplY3QsICRpbnRlcmZhY2UpID0gQF87CiAKICAgICAjIEZJWE1FOiBU
aGVzZSBzaG91bGQgYmUgZnVuY3Rpb25zIG9uICRpbnRlcmZhY2UuCiAgICAgbXkgJGludGVyZmFj
ZU5hbWUgPSAkaW50ZXJmYWNlLT5uYW1lOwpAQCAtMTE4OCwxMCArMTE4OCwyMSBAQCBzdWIgR2Vu
ZXJhdGVBdHRyaWJ1dGVzSGFzaFRhYmxlCiAKICAgICByZXR1cm4gMCAgaWYgISRudW1BdHRyaWJ1
dGVzOwogCisgICAgbXkgJGhhc2hTaXplID0gJG51bUF0dHJpYnV0ZXM7CisgICAgbXkgJGhhc2hO
YW1lID0gJGNsYXNzTmFtZSAuICJUYWJsZSI7CisKKyAgICBteSBAaGFzaEtleXMgPSAoKTsKKyAg
ICBteSBAaGFzaFNwZWNpYWxzID0gKCk7CisgICAgbXkgQGhhc2hWYWx1ZTEgPSAoKTsKKyAgICBt
eSBAaGFzaFZhbHVlMiA9ICgpOworICAgIG15ICVjb25kaXRpb25hbHMgPSAoKTsKKworICAgIG15
IEBlbnRyaWVzID0gKCk7CisKICAgICBmb3JlYWNoIG15ICRhdHRyaWJ1dGUgKEB7JGludGVyZmFj
ZS0+YXR0cmlidXRlc30pIHsKICAgICAgICAgbmV4dCBpZiAoJGF0dHJpYnV0ZS0+aXNTdGF0aWMp
OwogICAgICAgICBteSAkbmFtZSA9ICRhdHRyaWJ1dGUtPnNpZ25hdHVyZS0+bmFtZTsKLSAgICAg
ICAgcHVzaCgkaGFzaEtleXMsICRuYW1lKTsKKyAgICAgICAgcHVzaChAaGFzaEtleXMsICRuYW1l
KTsKIAogICAgICAgICBteSBAc3BlY2lhbHMgPSAoKTsKICAgICAgICAgIyBBcyBwZXIgV2ViIElE
TCBzcGVjaWZpY2F0aW9uLCBjb25zdHJ1Y3RvciBwcm9wZXJ0aWVzIG9uIHRoZSBFQ01BU2NyaXB0
IGdsb2JhbCBvYmplY3Qgc2hvdWxkIGJlCkBAIC0xMjAwLDM5ICsxMjExLDQzIEBAIHN1YiBHZW5l
cmF0ZUF0dHJpYnV0ZXNIYXNoVGFibGUKICAgICAgICAgcHVzaChAc3BlY2lhbHMsICJEb250RGVs
ZXRlIikgdW5sZXNzICgkYXR0cmlidXRlLT5zaWduYXR1cmUtPmV4dGVuZGVkQXR0cmlidXRlcy0+
eyJEZWxldGFibGUifSB8fCAkaXNfZ2xvYmFsX2NvbnN0cnVjdG9yKTsKICAgICAgICAgcHVzaChA
c3BlY2lhbHMsICJEb250RW51bSIpIGlmICgkYXR0cmlidXRlLT5zaWduYXR1cmUtPmV4dGVuZGVk
QXR0cmlidXRlcy0+eyJOb3RFbnVtZXJhYmxlIn0gfHwgJGlzX2dsb2JhbF9jb25zdHJ1Y3Rvcik7
CiAgICAgICAgIHB1c2goQHNwZWNpYWxzLCAiUmVhZE9ubHkiKSBpZiBJc1JlYWRvbmx5KCRhdHRy
aWJ1dGUpOwotICAgICAgICBwdXNoKEBzcGVjaWFscywgIkN1c3RvbUFjY2Vzc29yIikgdW5sZXNz
ICRpc19nbG9iYWxfY29uc3RydWN0b3I7CiAgICAgICAgIG15ICRzcGVjaWFsID0gKEBzcGVjaWFs
cyA+IDApID8gam9pbigiIHwgIiwgQHNwZWNpYWxzKSA6ICIwIjsKLSAgICAgICAgcHVzaCgkaGFz
aFNwZWNpYWxzLCAkc3BlY2lhbCk7CisgICAgICAgIHB1c2goQGhhc2hTcGVjaWFscywgJHNwZWNp
YWwpOwogCiAgICAgICAgIG15ICRnZXR0ZXIgPSBHZXRBdHRyaWJ1dGVHZXR0ZXJOYW1lKCRpbnRl
cmZhY2VOYW1lLCAkY2xhc3NOYW1lLCAkYXR0cmlidXRlKTsKLSAgICAgICAgcHVzaCgkaGFzaFZh
bHVlMSwgJGdldHRlcik7CisgICAgICAgIHB1c2goQGhhc2hWYWx1ZTEsICRnZXR0ZXIpOwogCiAg
ICAgICAgIGlmIChJc1JlYWRvbmx5KCRhdHRyaWJ1dGUpKSB7Ci0gICAgICAgICAgICBwdXNoKCRo
YXNoVmFsdWUyLCAiMCIpOworICAgICAgICAgICAgcHVzaChAaGFzaFZhbHVlMiwgIjAiKTsKICAg
ICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgIG15ICRzZXR0ZXIgPSBHZXRBdHRyaWJ1dGVTZXR0
ZXJOYW1lKCRpbnRlcmZhY2VOYW1lLCAkY2xhc3NOYW1lLCAkYXR0cmlidXRlKTsKLSAgICAgICAg
ICAgIHB1c2goJGhhc2hWYWx1ZTIsICRzZXR0ZXIpOworICAgICAgICAgICAgcHVzaChAaGFzaFZh
bHVlMiwgJHNldHRlcik7CiAgICAgICAgIH0KIAogICAgICAgICBteSAkY29uZGl0aW9uYWwgPSAk
YXR0cmlidXRlLT5zaWduYXR1cmUtPmV4dGVuZGVkQXR0cmlidXRlcy0+eyJDb25kaXRpb25hbCJ9
OwogICAgICAgICBpZiAoJGNvbmRpdGlvbmFsKSB7Ci0gICAgICAgICAgICAkY29uZGl0aW9uYWxz
LT57JG5hbWV9ID0gICRjb25kaXRpb25hbDsKKyAgICAgICAgICAgICRjb25kaXRpb25hbHN7JG5h
bWV9ID0gJGNvbmRpdGlvbmFsOwogICAgICAgICB9CiAgICAgfQogCiAgICAgaWYgKCEkaW50ZXJm
YWNlLT5leHRlbmRlZEF0dHJpYnV0ZXMtPnsiTm9JbnRlcmZhY2VPYmplY3QifSkgewotICAgICAg
ICBwdXNoKCRoYXNoS2V5cywgImNvbnN0cnVjdG9yIik7CisgICAgICAgIHB1c2goQGhhc2hLZXlz
LCAiY29uc3RydWN0b3IiKTsKICAgICAgICAgbXkgJGdldHRlciA9ICJqcyIgLiAkaW50ZXJmYWNl
TmFtZSAuICJDb25zdHJ1Y3RvciI7Ci0gICAgICAgIHB1c2goJGhhc2hWYWx1ZTEsICRnZXR0ZXIp
OworICAgICAgICBwdXNoKEBoYXNoVmFsdWUxLCAkZ2V0dGVyKTsKICAgICAgICAgaWYgKCRpbnRl
cmZhY2UtPmV4dGVuZGVkQXR0cmlidXRlcy0+eyJSZXBsYWNlYWJsZUNvbnN0cnVjdG9yIn0pIHsK
ICAgICAgICAgICAgIG15ICRzZXR0ZXIgPSAic2V0SlMiIC4gJGludGVyZmFjZU5hbWUgLiAiQ29u
c3RydWN0b3IiOwotICAgICAgICAgICAgcHVzaCgkaGFzaFZhbHVlMiwgJHNldHRlcik7Ci0gICAg
ICAgICAgICBwdXNoKCRoYXNoU3BlY2lhbHMsICJEb250RW51bSB8IERvbnREZWxldGUiKTsKKyAg
ICAgICAgICAgIHB1c2goQGhhc2hWYWx1ZTIsICRzZXR0ZXIpOworICAgICAgICAgICAgcHVzaChA
aGFzaFNwZWNpYWxzLCAiRG9udEVudW0gfCBEb250RGVsZXRlIik7CiAgICAgICAgIH0gZWxzZSB7
ICAgICAgICAgICAgCi0gICAgICAgICAgICBwdXNoKCRoYXNoVmFsdWUyLCAiMCIpOwotICAgICAg
ICAgICAgcHVzaCgkaGFzaFNwZWNpYWxzLCAiRG9udEVudW0gfCBSZWFkT25seSIpOworICAgICAg
ICAgICAgcHVzaChAaGFzaFZhbHVlMiwgIjAiKTsKKyAgICAgICAgICAgIHB1c2goQGhhc2hTcGVj
aWFscywgIkRvbnRFbnVtIHwgUmVhZE9ubHkiKTsKICAgICAgICAgfQogICAgIH0KKworICAgICRv
YmplY3QtPkdlbmVyYXRlSGFzaFRhYmxlKCRoYXNoTmFtZSwgJGhhc2hTaXplLAorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIFxAaGFzaEtleXMsIFxAaGFzaFNwZWNpYWxzLAorICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIFxAaGFzaFZhbHVlMSwgXEBoYXNoVmFsdWUyLAorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwlY29uZGl0aW9uYWxzKTsKICAgICByZXR1cm4g
JG51bUF0dHJpYnV0ZXM7CiB9CiAKQEAgLTE1NzAsMjQgKzE1ODUsMTAgQEAgc3ViIEdlbmVyYXRl
SW1wbGVtZW50YXRpb24KICAgICBwdXNoKEBpbXBsQ29udGVudCwgIlxudXNpbmcgbmFtZXNwYWNl
IEpTQztcblxuIik7CiAgICAgcHVzaChAaW1wbENvbnRlbnQsICJuYW1lc3BhY2UgV2ViQ29yZSB7
XG5cbiIpOwogCi0gICAgbXkgQGhhc2hLZXlzID0gKCk7Ci0gICAgbXkgQGhhc2hWYWx1ZTEgPSAo
KTsKLSAgICBteSBAaGFzaFZhbHVlMiA9ICgpOwotICAgIG15IEBoYXNoU3BlY2lhbHMgPSAoKTsK
LSAgICBteSAlY29uZGl0aW9uYWxzID0gKCk7Ci0gICAgbXkgJGhhc2hOYW1lID0gJGNsYXNzTmFt
ZSAuICJUYWJsZSI7Ci0KLSAgICBteSAkbnVtQXR0cmlidXRlcyA9IEdlbmVyYXRlQXR0cmlidXRl
c0hhc2hUYWJsZSgkb2JqZWN0LCAkaW50ZXJmYWNlLAotICAgICAgICBcQGhhc2hLZXlzLCBcQGhh
c2hTcGVjaWFscywKLSAgICAgICAgXEBoYXNoVmFsdWUxLCBcQGhhc2hWYWx1ZTIsCi0gICAgICAg
IFwlY29uZGl0aW9uYWxzKTsKKyAgICBteSAkbnVtQXR0cmlidXRlcyA9IEdlbmVyYXRlQXR0cmli
dXRlc0hhc2hUYWJsZSgkb2JqZWN0LCAkaW50ZXJmYWNlKTsKIAogICAgIG15ICRudW1Db25zdGFu
dHMgPSBAeyRpbnRlcmZhY2UtPmNvbnN0YW50c307CiAgICAgbXkgJG51bUZ1bmN0aW9ucyA9IEB7
JGludGVyZmFjZS0+ZnVuY3Rpb25zfTsKLSAgICAkb2JqZWN0LT5HZW5lcmF0ZUhhc2hUYWJsZSgk
aGFzaE5hbWUsICRudW1BdHRyaWJ1dGVzLAotICAgICAgICBcQGhhc2hLZXlzLCBcQGhhc2hTcGVj
aWFscywKLSAgICAgICAgXEBoYXNoVmFsdWUxLCBcQGhhc2hWYWx1ZTIsCi0gICAgICAgIFwlY29u
ZGl0aW9uYWxzKSBpZiAkbnVtQXR0cmlidXRlcyA+IDA7CiAKICAgICAjIC0gQWRkIGFsbCBjb25z
dGFudHMKICAgICBpZiAoISRpbnRlcmZhY2UtPmV4dGVuZGVkQXR0cmlidXRlcy0+eyJOb0ludGVy
ZmFjZU9iamVjdCJ9KSB7CkBAIC0xNjg4LDEzICsxNjg5LDEzIEBAIHN1YiBHZW5lcmF0ZUltcGxl
bWVudGF0aW9uCiAKICAgICAjIC0gQWRkIGZ1bmN0aW9ucyBhbmQgY29uc3RhbnRzIHRvIGEgaGFz
aHRhYmxlIGRlZmluaXRpb24KICAgICBteSAkaGFzaFNpemUgPSAkbnVtRnVuY3Rpb25zICsgJG51
bUNvbnN0YW50czsKLSAgICAkaGFzaE5hbWUgPSAkY2xhc3NOYW1lIC4gIlByb3RvdHlwZVRhYmxl
IjsKKyAgICBteSAkaGFzaE5hbWUgPSAkY2xhc3NOYW1lIC4gIlByb3RvdHlwZVRhYmxlIjsKIAot
ICAgIEBoYXNoS2V5cyA9ICgpOwotICAgIEBoYXNoVmFsdWUxID0gKCk7Ci0gICAgQGhhc2hWYWx1
ZTIgPSAoKTsKLSAgICBAaGFzaFNwZWNpYWxzID0gKCk7Ci0gICAgJWNvbmRpdGlvbmFscyA9ICgp
OworICAgIG15IEBoYXNoS2V5cyA9ICgpOworICAgIG15IEBoYXNoVmFsdWUxID0gKCk7CisgICAg
bXkgQGhhc2hWYWx1ZTIgPSAoKTsKKyAgICBteSBAaGFzaFNwZWNpYWxzID0gKCk7CisgICAgbXkg
JWNvbmRpdGlvbmFscyA9ICgpOwogCiAgICAgIyBGSVhNRTogd2Ugc2hvdWxkIG5vdCBuZWVkIGEg
ZnVuY3Rpb24gZm9yIGV2ZXJ5IGNvbnN0YW50LgogICAgIGZvcmVhY2ggbXkgJGNvbnN0YW50IChA
eyRpbnRlcmZhY2UtPmNvbnN0YW50c30pIHsKQEAgLTE5NjksMTQgKzE5NzAsOCBAQCBzdWIgR2Vu
ZXJhdGVJbXBsZW1lbnRhdGlvbgogCiAgICAgICAgICAgICBpZiAoISRhdHRyaWJ1dGUtPmlzU3Rh
dGljIHx8ICRhdHRyaWJ1dGUtPnNpZ25hdHVyZS0+dHlwZSA9fiAvQ29uc3RydWN0b3IkLykgewog
ICAgICAgICAgICAgICAgIGlmICgkaW50ZXJmYWNlTmFtZSBlcSAiRE9NV2luZG93IikgewotICAg
ICAgICAgICAgICAgICAgICBwdXNoKEBpbXBsQ29udGVudCwgIiAgICAke2NsYXNzTmFtZX0qIGNh
c3RlZFRoaXMgPSBqc0R5bmFtaWNDYXN0PCRjbGFzc05hbWUqPihKU1ZhbHVlOjpkZWNvZGUodGhp
c1ZhbHVlKSk7XG4iKTsKLSAgICAgICAgICAgICAgICAgICAgcHVzaChAaW1wbENvbnRlbnQsICIg
ICAgaWYgKCFjYXN0ZWRUaGlzKSB7XG4iKTsKLSAgICAgICAgICAgICAgICAgICAgcHVzaChAaW1w
bENvbnRlbnQsICIgICAgICAgIGlmIChKU0RPTVdpbmRvd1NoZWxsKiBzaGVsbCA9IGpzRHluYW1p
Y0Nhc3Q8SlNET01XaW5kb3dTaGVsbCo+KEpTVmFsdWU6OmRlY29kZSh0aGlzVmFsdWUpKSlcbiIp
OwotICAgICAgICAgICAgICAgICAgICBwdXNoKEBpbXBsQ29udGVudCwgIiAgICAgICAgICAgIGNh
c3RlZFRoaXMgPSBzaGVsbC0+d2luZG93KCk7XG4iKTsKLSAgICAgICAgICAgICAgICAgICAgcHVz
aChAaW1wbENvbnRlbnQsICIgICAgfVxuIik7Ci0gICAgICAgICAgICAgICAgICAgIHB1c2goQGlt
cGxDb250ZW50LCAiICAgIFVOVVNFRF9QQVJBTShzbG90QmFzZSk7XG4iKTsKLSAgICAgICAgICAg
ICAgICAgICAgcHVzaChAaW1wbENvbnRlbnQsICIgICAgaWYgKCFjYXN0ZWRUaGlzKVxuIik7Ci0g
ICAgICAgICAgICAgICAgICAgIHB1c2goQGltcGxDb250ZW50LCAiICAgICAgICByZXR1cm4gdGhy
b3dWTVR5cGVFcnJvcihleGVjKTtcbiIpOworICAgICAgICAgICAgICAgICAgICBwdXNoKEBpbXBs
Q29udGVudCwgIiAgICAke2NsYXNzTmFtZX0qIGNhc3RlZFRoaXMgPSBqc0Nhc3Q8JGNsYXNzTmFt
ZSo+KEpTVmFsdWU6OmRlY29kZShzbG90QmFzZSkpO1xuIik7CisgICAgICAgICAgICAgICAgICAg
IHB1c2goQGltcGxDb250ZW50LCAiICAgIFVOVVNFRF9QQVJBTSh0aGlzVmFsdWUpO1xuIik7CiAg
ICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAgcHVzaChAaW1wbENv
bnRlbnQsICIgICAgJHtjbGFzc05hbWV9KiBjYXN0ZWRUaGlzID0ganNEeW5hbWljQ2FzdDwkY2xh
c3NOYW1lKj4oSlNWYWx1ZTo6ZGVjb2RlKHRoaXNWYWx1ZSkpO1xuIik7CiAgICAgICAgICAgICAg
ICAgICAgIHB1c2goQGltcGxDb250ZW50LCAiICAgIFVOVVNFRF9QQVJBTShzbG90QmFzZSk7XG4i
KTsKQEAgLTIxNDcsNyArMjE0Miw3IEBAIHN1YiBHZW5lcmF0ZUltcGxlbWVudGF0aW9uCiAgICAg
ICAgIGlmICghJGludGVyZmFjZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57Ik5vSW50ZXJmYWNlT2Jq
ZWN0In0pIHsKICAgICAgICAgICAgIG15ICRjb25zdHJ1Y3RvckZ1bmN0aW9uTmFtZSA9ICJqcyIg
LiAkaW50ZXJmYWNlTmFtZSAuICJDb25zdHJ1Y3RvciI7CiAKLSAgICAgICAgICAgIHB1c2goQGlt
cGxDb250ZW50LCAiRW5jb2RlZEpTVmFsdWUgJHtjb25zdHJ1Y3RvckZ1bmN0aW9uTmFtZX0oRXhl
Y1N0YXRlKiBleGVjLCBFbmNvZGVkSlNWYWx1ZSwgRW5jb2RlZEpTVmFsdWUgdGhpc1ZhbHVlLCBQ
cm9wZXJ0eU5hbWUpXG4iKTsKKyAgICAgICAgICAgIHB1c2goQGltcGxDb250ZW50LCAiRW5jb2Rl
ZEpTVmFsdWUgJHtjb25zdHJ1Y3RvckZ1bmN0aW9uTmFtZX0oRXhlY1N0YXRlKiBleGVjLCBFbmNv
ZGVkSlNWYWx1ZSB0aGlzVmFsdWUsIEVuY29kZWRKU1ZhbHVlLCBQcm9wZXJ0eU5hbWUpXG4iKTsK
ICAgICAgICAgICAgIHB1c2goQGltcGxDb250ZW50LCAie1xuIik7CiAgICAgICAgICAgICBpZiAo
JGludGVyZmFjZU5hbWUgZXEgIkRPTVdpbmRvdyIpIHsKICAgICAgICAgICAgICAgICBwdXNoKEBp
bXBsQ29udGVudCwgIiAgICAke2NsYXNzTmFtZX0qIGRvbU9iamVjdCA9IGpzRHluYW1pY0Nhc3Q8
JGNsYXNzTmFtZSo+KEpTVmFsdWU6OmRlY29kZSh0aGlzVmFsdWUpKTtcbiIpOwpAQCAtMjE1Nyw2
ICsyMTUyLDggQEAgc3ViIEdlbmVyYXRlSW1wbGVtZW50YXRpb24KICAgICAgICAgICAgICAgICBw
dXNoKEBpbXBsQ29udGVudCwgIiAgICB9XG4iKTsKICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAg
ICAgICAgICAgICAgcHVzaChAaW1wbENvbnRlbnQsICIgICAgJHtjbGFzc05hbWV9KiBkb21PYmpl
Y3QgPSBqc0R5bmFtaWNDYXN0PCRjbGFzc05hbWUqPihKU1ZhbHVlOjpkZWNvZGUodGhpc1ZhbHVl
KSk7XG4iKTsKKyAgICAgICAgICAgICAgICBwdXNoKEBpbXBsQ29udGVudCwgIiAgICBpZiAoIWRv
bU9iamVjdClcbiIpOworICAgICAgICAgICAgICAgIHB1c2goQGltcGxDb250ZW50LCAiICAgICAg
ICByZXR1cm4gdGhyb3dWTVR5cGVFcnJvcihleGVjKTtcbiIpOwogICAgICAgICAgICAgfQogICAg
ICAgICAgICAgcHVzaChAaW1wbENvbnRlbnQsICIgICAgaWYgKCFkb21PYmplY3QpXG4iKTsKICAg
ICAgICAgICAgIHB1c2goQGltcGxDb250ZW50LCAiICAgICAgICByZXR1cm4gdGhyb3dWTVR5cGVF
cnJvcihleGVjKTtcbiIpOwpAQCAtMjE3MCwyNjUgKzIxNjcsMjY4IEBAIHN1YiBHZW5lcmF0ZUlt
cGxlbWVudGF0aW9uCiAgICAgICAgICAgICBwdXNoKEBpbXBsQ29udGVudCwgIn1cblxuIik7CiAg
ICAgICAgIH0KIAotICAgICAgICBpZiAoJGludGVyZmFjZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57
IlJlcGxhY2VhYmxlQ29uc3RydWN0b3IifSkgewotICAgICAgICAgICAgbXkgJGNvbnN0cnVjdG9y
RnVuY3Rpb25OYW1lID0gInNldEpTIiAuICRpbnRlcmZhY2VOYW1lIC4gIkNvbnN0cnVjdG9yIjsK
LQotICAgICAgICAgICAgcHVzaChAaW1wbENvbnRlbnQsICJ2b2lkICR7Y29uc3RydWN0b3JGdW5j
dGlvbk5hbWV9KEV4ZWNTdGF0ZSogZXhlYywgSlNPYmplY3QqLCBFbmNvZGVkSlNWYWx1ZSB0aGlz
VmFsdWUsIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRWYWx1ZSlcbiIpOwotICAgICAgICAgICAgcHVz
aChAaW1wbENvbnRlbnQsICJ7XG4iKTsKLSAgICAgICAgICAgIHB1c2goQGltcGxDb250ZW50LCAi
ICAgIEpTVmFsdWUgdmFsdWUgPSBKU1ZhbHVlOjpkZWNvZGUoZW5jb2RlZFZhbHVlKTsiKTsKLSAg
ICAgICAgICAgIHB1c2goQGltcGxDb250ZW50LCAiICAgICR7Y2xhc3NOYW1lfSogY2FzdGVkVGhp
cyA9IGpzRHluYW1pY0Nhc3Q8JHtjbGFzc05hbWV9Kj4oSlNWYWx1ZTo6ZGVjb2RlKHRoaXNWYWx1
ZSkpO1xuIik7Ci0gICAgICAgICAgICBpZiAoJGludGVyZmFjZU5hbWUgZXEgIkRPTVdpbmRvdyIp
IHsKLSAgICAgICAgICAgICAgICBwdXNoKEBpbXBsQ29udGVudCwgIiAgICBpZiAoIWNhc3RlZFRo
aXMpIHtcbiIpOwotICAgICAgICAgICAgICAgIHB1c2goQGltcGxDb250ZW50LCAiICAgICAgICBp
ZiAoSlNET01XaW5kb3dTaGVsbCogc2hlbGwgPSBqc0R5bmFtaWNDYXN0PEpTRE9NV2luZG93U2hl
bGwqPihKU1ZhbHVlOjpkZWNvZGUodGhpc1ZhbHVlKSkpXG4iKTsKLSAgICAgICAgICAgICAgICBw
dXNoKEBpbXBsQ29udGVudCwgIiAgICAgICAgICAgIGNhc3RlZFRoaXMgPSBzaGVsbC0+d2luZG93
KCk7XG4iKTsKLSAgICAgICAgICAgICAgICBwdXNoKEBpbXBsQ29udGVudCwgIiAgICB9XG4iKTsK
LSAgICAgICAgICAgIH0KLSAgICAgICAgICAgIHB1c2goQGltcGxDb250ZW50LCAiICAgIGlmICgh
Y2FzdGVkVGhpcykge1xuIik7Ci0gICAgICAgICAgICBwdXNoKEBpbXBsQ29udGVudCwgIiAgICAg
ICAgdGhyb3dWTVR5cGVFcnJvcihleGVjKTtcbiIpOwotICAgICAgICAgICAgcHVzaChAaW1wbENv
bnRlbnQsICIgICAgICAgIHJldHVybjtcbiIpOwotICAgICAgICAgICAgcHVzaChAaW1wbENvbnRl
bnQsICIgICAgfVxuIik7Ci0gICAgICAgICAgICBpZiAoJGludGVyZmFjZS0+ZXh0ZW5kZWRBdHRy
aWJ1dGVzLT57IkNoZWNrU2VjdXJpdHkifSkgewotICAgICAgICAgICAgICAgIGlmICgkaW50ZXJm
YWNlTmFtZSBlcSAiRE9NV2luZG93IikgewotICAgICAgICAgICAgICAgICAgICBwdXNoKEBpbXBs
Q29udGVudCwgIiAgICBpZiAoIUJpbmRpbmdTZWN1cml0eTo6c2hvdWxkQWxsb3dBY2Nlc3NUb0RP
TVdpbmRvdyhleGVjLCBjYXN0ZWRUaGlzLT5pbXBsKCkpKVxuIik7Ci0gICAgICAgICAgICAgICAg
fSBlbHNlIHsKLSAgICAgICAgICAgICAgICAgICAgcHVzaChAaW1wbENvbnRlbnQsICIgICAgaWYg
KCFzaG91bGRBbGxvd0FjY2Vzc1RvRnJhbWUoZXhlYywgY2FzdGVkVGhpcy0+aW1wbCgpLmZyYW1l
KCkpKVxuIik7Ci0gICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgIHB1c2goQGltcGxD
b250ZW50LCAiICAgICAgICByZXR1cm47XG4iKTsKLSAgICAgICAgICAgIH0KLQotICAgICAgICAg
ICAgcHVzaChAaW1wbENvbnRlbnQsICIgICAgLy8gU2hhZG93aW5nIGEgYnVpbHQtaW4gY29uc3Ry
dWN0b3JcbiIpOwogCi0gICAgICAgICAgICBpZiAoJGludGVyZmFjZU5hbWUgZXEgIkRPTVdpbmRv
dyIpIHsKLSAgICAgICAgICAgICAgICBwdXNoKEBpbXBsQ29udGVudCwgIiAgICBjYXN0ZWRUaGlz
LT5wdXREaXJlY3QoZXhlYy0+dm0oKSwgZXhlYy0+cHJvcGVydHlOYW1lcygpLmNvbnN0cnVjdG9y
LCB2YWx1ZSk7XG4iKTsKLSAgICAgICAgICAgIH0gZWxzZSB7Ci0gICAgICAgICAgICAgICAgZGll
ICJObyB3YXkgdG8gaGFuZGxlIGludGVyZmFjZSB3aXRoIFJlcGxhY2VhYmxlQ29uc3RydWN0b3Ig
ZXh0ZW5kZWQgYXR0cmlidXRlOiAkaW50ZXJmYWNlTmFtZSI7Ci0gICAgICAgICAgICB9Ci0gICAg
ICAgICAgICBwdXNoKEBpbXBsQ29udGVudCwgIn1cblxuIik7CisgICAgICAgICMgQ2hlY2sgaWYg
d2UgaGF2ZSBhbnkgd3JpdGFibGUgYXR0cmlidXRlcworICAgICAgICBteSAkaGFzUmVhZFdyaXRl
UHJvcGVydGllcyA9IDA7CisgICAgICAgIGZvcmVhY2ggbXkgJGF0dHJpYnV0ZSAoQHskaW50ZXJm
YWNlLT5hdHRyaWJ1dGVzfSkgeworICAgICAgICAgICAgJGhhc1JlYWRXcml0ZVByb3BlcnRpZXMg
PSAxIGlmICFJc1JlYWRvbmx5KCRhdHRyaWJ1dGUpICYmICEkYXR0cmlidXRlLT5pc1N0YXRpYzsK
ICAgICAgICAgfQotICAgIH0KLSAgICBteSAkaGFzQ3VzdG9tU2V0dGVyID0gJGludGVyZmFjZS0+
ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57IkN1c3RvbU5hbWVkU2V0dGVyIn0KLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgfHwgJGludGVyZmFjZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57IkN1c3RvbUlu
ZGV4ZWRTZXR0ZXIifTsKIAotICAgIGlmICgkaGFzQ3VzdG9tU2V0dGVyKSB7Ci0gICAgICAgIGlm
ICghJGludGVyZmFjZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57IkN1c3RvbVB1dEZ1bmN0aW9uIn0p
IHsKLSAgICAgICAgICAgIHB1c2goQGltcGxDb250ZW50LCAidm9pZCAke2NsYXNzTmFtZX06OnB1
dChKU0NlbGwqIGNlbGwsIEV4ZWNTdGF0ZSogZXhlYywgUHJvcGVydHlOYW1lIHByb3BlcnR5TmFt
ZSwgSlNWYWx1ZSB2YWx1ZSwgUHV0UHJvcGVydHlTbG90JiBzbG90KVxuIik7Ci0gICAgICAgICAg
ICBwdXNoKEBpbXBsQ29udGVudCwgIntcbiIpOwotICAgICAgICAgICAgcHVzaChAaW1wbENvbnRl
bnQsICIgICAgJHtjbGFzc05hbWV9KiB0aGlzT2JqZWN0ID0ganNDYXN0PCR7Y2xhc3NOYW1lfSo+
KGNlbGwpO1xuIik7Ci0gICAgICAgICAgICBwdXNoKEBpbXBsQ29udGVudCwgIiAgICBBU1NFUlRf
R0NfT0JKRUNUX0lOSEVSSVRTKHRoaXNPYmplY3QsIGluZm8oKSk7XG4iKTsKLSAgICAgICAgICAg
IGlmICgkaW50ZXJmYWNlLT5leHRlbmRlZEF0dHJpYnV0ZXMtPnsiQ3VzdG9tSW5kZXhlZFNldHRl
ciJ9KSB7Ci0gICAgICAgICAgICAgICAgcHVzaChAaW1wbENvbnRlbnQsICIgICAgdW5zaWduZWQg
aW5kZXggPSBwcm9wZXJ0eU5hbWUuYXNJbmRleCgpO1xuIik7Ci0gICAgICAgICAgICAgICAgcHVz
aChAaW1wbENvbnRlbnQsICIgICAgaWYgKGluZGV4ICE9IFByb3BlcnR5TmFtZTo6Tm90QW5JbmRl
eCkge1xuIik7Ci0gICAgICAgICAgICAgICAgcHVzaChAaW1wbENvbnRlbnQsICIgICAgICAgIHRo
aXNPYmplY3QtPmluZGV4U2V0dGVyKGV4ZWMsIGluZGV4LCB2YWx1ZSk7XG4iKTsKLSAgICAgICAg
ICAgICAgICBwdXNoKEBpbXBsQ29udGVudCwgIiAgICAgICAgcmV0dXJuO1xuIik7Ci0gICAgICAg
ICAgICAgICAgcHVzaChAaW1wbENvbnRlbnQsICIgICAgfVxuIik7Ci0gICAgICAgICAgICB9Ci0g
ICAgICAgICAgICBpZiAoJGludGVyZmFjZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57IkN1c3RvbU5h
bWVkU2V0dGVyIn0pIHsKLSAgICAgICAgICAgICAgICBwdXNoKEBpbXBsQ29udGVudCwgIiAgICBp
ZiAodGhpc09iamVjdC0+cHV0RGVsZWdhdGUoZXhlYywgcHJvcGVydHlOYW1lLCB2YWx1ZSwgc2xv
dCkpXG4iKTsKLSAgICAgICAgICAgICAgICBwdXNoKEBpbXBsQ29udGVudCwgIiAgICAgICAgcmV0
dXJuO1xuIik7Ci0gICAgICAgICAgICB9CisgICAgICAgIG15ICRvdmVycmlkZXNQdXRJbXBsZW1l
bnRhdGlvbiA9IEluc3RhbmNlT3ZlcnJpZGVzUHV0SW1wbGVtZW50YXRpb24oJGludGVyZmFjZSk7
CisgICAgICAgIG15ICRoYXNTZXR0ZXIgPSAkaGFzUmVhZFdyaXRlUHJvcGVydGllczsKIAotICAg
ICAgICAgICAgcHVzaChAaW1wbENvbnRlbnQsICIgICAgQmFzZTo6cHV0KHRoaXNPYmplY3QsIGV4
ZWMsIHByb3BlcnR5TmFtZSwgdmFsdWUsIHNsb3QpO1xuIik7Ci0gICAgICAgICAgICBwdXNoKEBp
bXBsQ29udGVudCwgIn1cblxuIik7Ci0KLSAgICAgICAgICAgIGlmICgkaW50ZXJmYWNlLT5leHRl
bmRlZEF0dHJpYnV0ZXMtPnsiQ3VzdG9tSW5kZXhlZFNldHRlciJ9IHx8ICRpbnRlcmZhY2UtPmV4
dGVuZGVkQXR0cmlidXRlcy0+eyJDdXN0b21OYW1lZFNldHRlciJ9KSB7Ci0gICAgICAgICAgICAg
ICAgcHVzaChAaW1wbENvbnRlbnQsICJ2b2lkICR7Y2xhc3NOYW1lfTo6cHV0QnlJbmRleChKU0Nl
bGwqIGNlbGwsIEV4ZWNTdGF0ZSogZXhlYywgdW5zaWduZWQgaW5kZXgsIEpTVmFsdWUgdmFsdWUs
IGJvb2wgc2hvdWxkVGhyb3cpXG4iKTsKKyAgICAgICAgaWYgKCRoYXNTZXR0ZXIgfHwgJG92ZXJy
aWRlc1B1dEltcGxlbWVudGF0aW9uKSB7CisgICAgICAgICAgICBpZiAoJG92ZXJyaWRlc1B1dElt
cGxlbWVudGF0aW9uKSB7CisgICAgICAgICAgICAgICAgcHVzaChAaW1wbENvbnRlbnQsICJ2b2lk
ICR7Y2xhc3NOYW1lfTo6cHV0KEpTQ2VsbCogY2VsbCwgRXhlY1N0YXRlKiBleGVjLCBQcm9wZXJ0
eU5hbWUgcHJvcGVydHlOYW1lLCBKU1ZhbHVlIHZhbHVlLCBQdXRQcm9wZXJ0eVNsb3QmIHNsb3Qp
XG4iKTsKICAgICAgICAgICAgICAgICBwdXNoKEBpbXBsQ29udGVudCwgIntcbiIpOwogICAgICAg
ICAgICAgICAgIHB1c2goQGltcGxDb250ZW50LCAiICAgICR7Y2xhc3NOYW1lfSogdGhpc09iamVj
dCA9IGpzQ2FzdDwke2NsYXNzTmFtZX0qPihjZWxsKTtcbiIpOwogICAgICAgICAgICAgICAgIHB1
c2goQGltcGxDb250ZW50LCAiICAgIEFTU0VSVF9HQ19PQkpFQ1RfSU5IRVJJVFModGhpc09iamVj
dCwgaW5mbygpKTtcbiIpOwogICAgICAgICAgICAgICAgIGlmICgkaW50ZXJmYWNlLT5leHRlbmRl
ZEF0dHJpYnV0ZXMtPnsiQ3VzdG9tSW5kZXhlZFNldHRlciJ9KSB7Ci0gICAgICAgICAgICAgICAg
ICAgIHB1c2goQGltcGxDb250ZW50LCAiICAgIGlmIChpbmRleCA8PSBNQVhfQVJSQVlfSU5ERVgp
IHtcbiIpOwotICAgICAgICAgICAgICAgICAgICBwdXNoKEBpbXBsQ29udGVudCwgIiAgICAgICAg
VU5VU0VEX1BBUkFNKHNob3VsZFRocm93KTtcbiIpOworICAgICAgICAgICAgICAgICAgICBwdXNo
KEBpbXBsQ29udGVudCwgIiAgICB1bnNpZ25lZCBpbmRleCA9IHByb3BlcnR5TmFtZS5hc0luZGV4
KCk7XG4iKTsKKyAgICAgICAgICAgICAgICAgICAgcHVzaChAaW1wbENvbnRlbnQsICIgICAgaWYg
KGluZGV4ICE9IFByb3BlcnR5TmFtZTo6Tm90QW5JbmRleCkge1xuIik7CiAgICAgICAgICAgICAg
ICAgICAgIHB1c2goQGltcGxDb250ZW50LCAiICAgICAgICB0aGlzT2JqZWN0LT5pbmRleFNldHRl
cihleGVjLCBpbmRleCwgdmFsdWUpO1xuIik7CiAgICAgICAgICAgICAgICAgICAgIHB1c2goQGlt
cGxDb250ZW50LCAiICAgICAgICByZXR1cm47XG4iKTsKICAgICAgICAgICAgICAgICAgICAgcHVz
aChAaW1wbENvbnRlbnQsICIgICAgfVxuIik7CiAgICAgICAgICAgICAgICAgfQotCiAgICAgICAg
ICAgICAgICAgaWYgKCRpbnRlcmZhY2UtPmV4dGVuZGVkQXR0cmlidXRlcy0+eyJDdXN0b21OYW1l
ZFNldHRlciJ9KSB7Ci0gICAgICAgICAgICAgICAgICAgIHB1c2goQGltcGxDb250ZW50LCAiICAg
IFByb3BlcnR5TmFtZSBwcm9wZXJ0eU5hbWUgPSBJZGVudGlmaWVyOjpmcm9tKGV4ZWMsIGluZGV4
KTtcbiIpOwotICAgICAgICAgICAgICAgICAgICBwdXNoKEBpbXBsQ29udGVudCwgIiAgICBQdXRQ
cm9wZXJ0eVNsb3Qgc2xvdCh0aGlzT2JqZWN0LCBzaG91bGRUaHJvdyk7XG4iKTsKICAgICAgICAg
ICAgICAgICAgICAgcHVzaChAaW1wbENvbnRlbnQsICIgICAgaWYgKHRoaXNPYmplY3QtPnB1dERl
bGVnYXRlKGV4ZWMsIHByb3BlcnR5TmFtZSwgdmFsdWUsIHNsb3QpKVxuIik7CiAgICAgICAgICAg
ICAgICAgICAgIHB1c2goQGltcGxDb250ZW50LCAiICAgICAgICByZXR1cm47XG4iKTsKICAgICAg
ICAgICAgICAgICB9CiAKLSAgICAgICAgICAgICAgICBwdXNoKEBpbXBsQ29udGVudCwgIiAgICBC
YXNlOjpwdXRCeUluZGV4KGNlbGwsIGV4ZWMsIGluZGV4LCB2YWx1ZSwgc2hvdWxkVGhyb3cpO1xu
Iik7Ci0gICAgICAgICAgICAgICAgcHVzaChAaW1wbENvbnRlbnQsICJ9XG5cbiIpOwotICAgICAg
ICAgICAgfQotICAgICAgICB9Ci0gICAgfQorICAgICAgICAgICAgICAgIHB1c2goQGltcGxDb250
ZW50LCAiICAgIEJhc2U6OnB1dCh0aGlzT2JqZWN0LCBleGVjLCBwcm9wZXJ0eU5hbWUsIHZhbHVl
LCBzbG90KTtcbiIpOwogCi0gICAgIyBDaGVjayBpZiB3ZSBoYXZlIGFueSB3cml0YWJsZSBhdHRy
aWJ1dGVzCi0gICAgbXkgJGhhc1JlYWRXcml0ZVByb3BlcnRpZXMgPSAwOwotICAgIGZvcmVhY2gg
bXkgJGF0dHJpYnV0ZSAoQHskaW50ZXJmYWNlLT5hdHRyaWJ1dGVzfSkgewotICAgICAgICAkaGFz
UmVhZFdyaXRlUHJvcGVydGllcyA9IDEgaWYgIUlzUmVhZG9ubHkoJGF0dHJpYnV0ZSkgJiYgISRh
dHRyaWJ1dGUtPmlzU3RhdGljOwotCi0gICAgICAgIGlmICgkYXR0cmlidXRlLT5zaWduYXR1cmUt
PnR5cGUgZXEgIkV2ZW50TGlzdGVuZXIiKSB7Ci0gICAgICAgICAgICAkaW1wbEluY2x1ZGVzeyJK
U0V2ZW50TGlzdGVuZXIuaCJ9ID0gMTsKLSAgICAgICAgfQotICAgIH0KKyAgICAgICAgICAgICAg
ICBwdXNoKEBpbXBsQ29udGVudCwgIn1cblxuIik7CiAKLSAgICBpZiAoJGhhc1JlYWRXcml0ZVBy
b3BlcnRpZXMpIHsKLSAgICAgICAgZm9yZWFjaCBteSAkYXR0cmlidXRlIChAeyRpbnRlcmZhY2Ut
PmF0dHJpYnV0ZXN9KSB7Ci0gICAgICAgICAgICBpZiAoIUlzUmVhZG9ubHkoJGF0dHJpYnV0ZSkp
IHsKLSAgICAgICAgICAgICAgICBteSAkbmFtZSA9ICRhdHRyaWJ1dGUtPnNpZ25hdHVyZS0+bmFt
ZTsKLSAgICAgICAgICAgICAgICBteSAkdHlwZSA9ICRhdHRyaWJ1dGUtPnNpZ25hdHVyZS0+dHlw
ZTsKLSAgICAgICAgICAgICAgICBteSAkcHV0RnVuY3Rpb25OYW1lID0gR2V0QXR0cmlidXRlU2V0
dGVyTmFtZSgkaW50ZXJmYWNlTmFtZSwgJGNsYXNzTmFtZSwgJGF0dHJpYnV0ZSk7Ci0gICAgICAg
ICAgICAgICAgbXkgJGltcGxTZXR0ZXJGdW5jdGlvbk5hbWUgPSAkY29kZUdlbmVyYXRvci0+V0tf
dWNmaXJzdCgkbmFtZSk7Ci0gICAgICAgICAgICAgICAgbXkgJHNldHRlclJhaXNlc0V4Y2VwdGlv
biA9ICRhdHRyaWJ1dGUtPnNpZ25hdHVyZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57IlNldHRlclJh
aXNlc0V4Y2VwdGlvbiJ9OwotCi0gICAgICAgICAgICAgICAgbXkgJGF0dHJpYnV0ZUNvbmRpdGlv
bmFsU3RyaW5nID0gJGNvZGVHZW5lcmF0b3ItPkdlbmVyYXRlQ29uZGl0aW9uYWxTdHJpbmcoJGF0
dHJpYnV0ZS0+c2lnbmF0dXJlKTsKLSAgICAgICAgICAgICAgICBwdXNoKEBpbXBsQ29udGVudCwg
IiNpZiAke2F0dHJpYnV0ZUNvbmRpdGlvbmFsU3RyaW5nfVxuIikgaWYgJGF0dHJpYnV0ZUNvbmRp
dGlvbmFsU3RyaW5nOwotCi0gICAgICAgICAgICAgICAgcHVzaChAaW1wbENvbnRlbnQsICJ2b2lk
ICR7cHV0RnVuY3Rpb25OYW1lfShFeGVjU3RhdGUqIGV4ZWMsIEpTT2JqZWN0KiAvKiBiYXNlT2Jq
ZWN0ICovLCBFbmNvZGVkSlNWYWx1ZSIpOwotICAgICAgICAgICAgICAgIHB1c2goQGltcGxDb250
ZW50LCAiIHRoaXNWYWx1ZSIpIGlmICEkYXR0cmlidXRlLT5pc1N0YXRpYzsKLSAgICAgICAgICAg
ICAgICBwdXNoKEBpbXBsQ29udGVudCwgIiwgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZFZhbHVlKVxu
Iik7Ci0gICAgICAgICAgICAgICAgcHVzaChAaW1wbENvbnRlbnQsICJ7XG4iKTsKLSAgICAgICAg
ICAgICAgICBwdXNoKEBpbXBsQ29udGVudCwgIiAgICBKU1ZhbHVlIHZhbHVlID0gSlNWYWx1ZTo6
ZGVjb2RlKGVuY29kZWRWYWx1ZSk7XG4iKTsKLSAgICAgICAgICAgICAgICBwdXNoKEBpbXBsQ29u
dGVudCwgIiAgICBVTlVTRURfUEFSQU0oZXhlYyk7XG4iKTsKLSAgICAgICAgICAgICAgICBpZiAo
ISRhdHRyaWJ1dGUtPmlzU3RhdGljKSB7Ci0gICAgICAgICAgICAgICAgICAgIHB1c2goQGltcGxD
b250ZW50LCAiICAgICR7Y2xhc3NOYW1lfSogY2FzdGVkVGhpcyA9IGpzRHluYW1pY0Nhc3Q8JHtj
bGFzc05hbWV9Kj4oSlNWYWx1ZTo6ZGVjb2RlKHRoaXNWYWx1ZSkpO1xuIik7Ci0gICAgICAgICAg
ICAgICAgICAgIGlmICgkaW50ZXJmYWNlTmFtZSBlcSAiRE9NV2luZG93IikgewotICAgICAgICAg
ICAgICAgICAgICAgICAgcHVzaChAaW1wbENvbnRlbnQsICIgICAgaWYgKCFjYXN0ZWRUaGlzKSB7
XG4iKTsKLSAgICAgICAgICAgICAgICAgICAgICAgIHB1c2goQGltcGxDb250ZW50LCAiICAgICAg
ICBpZiAoSlNET01XaW5kb3dTaGVsbCogc2hlbGwgPSBqc0R5bmFtaWNDYXN0PEpTRE9NV2luZG93
U2hlbGwqPihKU1ZhbHVlOjpkZWNvZGUodGhpc1ZhbHVlKSkpXG4iKTsKLSAgICAgICAgICAgICAg
ICAgICAgICAgIHB1c2goQGltcGxDb250ZW50LCAiICAgICAgICAgICAgY2FzdGVkVGhpcyA9IHNo
ZWxsLT53aW5kb3coKTtcbiIpOworICAgICAgICAgICAgICAgIGlmICgkaW50ZXJmYWNlLT5leHRl
bmRlZEF0dHJpYnV0ZXMtPnsiQ3VzdG9tSW5kZXhlZFNldHRlciJ9IHx8ICRpbnRlcmZhY2UtPmV4
dGVuZGVkQXR0cmlidXRlcy0+eyJDdXN0b21OYW1lZFNldHRlciJ9KSB7CisgICAgICAgICAgICAg
ICAgICAgIHB1c2goQGltcGxDb250ZW50LCAidm9pZCAke2NsYXNzTmFtZX06OnB1dEJ5SW5kZXgo
SlNDZWxsKiBjZWxsLCBFeGVjU3RhdGUqIGV4ZWMsIHVuc2lnbmVkIGluZGV4LCBKU1ZhbHVlIHZh
bHVlLCBib29sIHNob3VsZFRocm93KVxuIik7CisgICAgICAgICAgICAgICAgICAgIHB1c2goQGlt
cGxDb250ZW50LCAie1xuIik7CisgICAgICAgICAgICAgICAgICAgIHB1c2goQGltcGxDb250ZW50
LCAiICAgICR7Y2xhc3NOYW1lfSogdGhpc09iamVjdCA9IGpzQ2FzdDwke2NsYXNzTmFtZX0qPihj
ZWxsKTtcbiIpOworICAgICAgICAgICAgICAgICAgICBwdXNoKEBpbXBsQ29udGVudCwgIiAgICBB
U1NFUlRfR0NfT0JKRUNUX0lOSEVSSVRTKHRoaXNPYmplY3QsIGluZm8oKSk7XG4iKTsKKyAgICAg
ICAgICAgICAgICAgICAgaWYgKCRpbnRlcmZhY2UtPmV4dGVuZGVkQXR0cmlidXRlcy0+eyJDdXN0
b21JbmRleGVkU2V0dGVyIn0pIHsKKyAgICAgICAgICAgICAgICAgICAgICAgIHB1c2goQGltcGxD
b250ZW50LCAiICAgIGlmIChpbmRleCA8PSBNQVhfQVJSQVlfSU5ERVgpIHtcbiIpOworICAgICAg
ICAgICAgICAgICAgICAgICAgcHVzaChAaW1wbENvbnRlbnQsICIgICAgICAgIFVOVVNFRF9QQVJB
TShzaG91bGRUaHJvdyk7XG4iKTsKKyAgICAgICAgICAgICAgICAgICAgICAgIHB1c2goQGltcGxD
b250ZW50LCAiICAgICAgICB0aGlzT2JqZWN0LT5pbmRleFNldHRlcihleGVjLCBpbmRleCwgdmFs
dWUpO1xuIik7CisgICAgICAgICAgICAgICAgICAgICAgICBwdXNoKEBpbXBsQ29udGVudCwgIiAg
ICAgICAgcmV0dXJuO1xuIik7CiAgICAgICAgICAgICAgICAgICAgICAgICBwdXNoKEBpbXBsQ29u
dGVudCwgIiAgICB9XG4iKTsKICAgICAgICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAg
ICAgICBwdXNoKEBpbXBsQ29udGVudCwgIiAgICBpZiAoIWNhc3RlZFRoaXMpIHtcbiIpOwotICAg
ICAgICAgICAgICAgICAgICBwdXNoKEBpbXBsQ29udGVudCwgIiAgICAgICAgdGhyb3dWTVR5cGVF
cnJvcihleGVjKTtcbiIpOwotICAgICAgICAgICAgICAgICAgICBwdXNoKEBpbXBsQ29udGVudCwg
IiAgICAgICAgcmV0dXJuO1xuIik7Ci0gICAgICAgICAgICAgICAgICAgIHB1c2goQGltcGxDb250
ZW50LCAiICAgIH1cbiIpOwotICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICBpZiAo
JGludGVyZmFjZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57IkNoZWNrU2VjdXJpdHkifSAmJiAhJGF0
dHJpYnV0ZS0+c2lnbmF0dXJlLT5leHRlbmRlZEF0dHJpYnV0ZXMtPnsiRG9Ob3RDaGVja1NlY3Vy
aXR5In0pIHsKLSAgICAgICAgICAgICAgICAgICAgaWYgKCRpbnRlcmZhY2VOYW1lIGVxICJET01X
aW5kb3ciKSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICBwdXNoKEBpbXBsQ29udGVudCwgIiAg
ICBpZiAoIUJpbmRpbmdTZWN1cml0eTo6c2hvdWxkQWxsb3dBY2Nlc3NUb0RPTVdpbmRvdyhleGVj
LCBjYXN0ZWRUaGlzLT5pbXBsKCkpKVxuIik7Ci0gICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7
Ci0gICAgICAgICAgICAgICAgICAgICAgICBwdXNoKEBpbXBsQ29udGVudCwgIiAgICBpZiAoIXNo
b3VsZEFsbG93QWNjZXNzVG9GcmFtZShleGVjLCBjYXN0ZWRUaGlzLT5pbXBsKCkuZnJhbWUoKSkp
XG4iKTsKLSAgICAgICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgICAgICBwdXNoKEBp
bXBsQ29udGVudCwgIiAgICAgICAgcmV0dXJuO1xuIik7Ci0gICAgICAgICAgICAgICAgfQogCi0g
ICAgICAgICAgICAgICAgaWYgKEhhc0N1c3RvbVNldHRlcigkYXR0cmlidXRlLT5zaWduYXR1cmUt
PmV4dGVuZGVkQXR0cmlidXRlcykpIHsKLSAgICAgICAgICAgICAgICAgICAgcHVzaChAaW1wbENv
bnRlbnQsICIgICAgY2FzdGVkVGhpcy0+c2V0JGltcGxTZXR0ZXJGdW5jdGlvbk5hbWUoZXhlYywg
dmFsdWUpO1xuIik7Ci0gICAgICAgICAgICAgICAgfSBlbHNpZiAoJHR5cGUgZXEgIkV2ZW50TGlz
dGVuZXIiKSB7Ci0gICAgICAgICAgICAgICAgICAgICRpbXBsSW5jbHVkZXN7IkpTRXZlbnRMaXN0
ZW5lci5oIn0gPSAxOwotICAgICAgICAgICAgICAgICAgICBwdXNoKEBpbXBsQ29udGVudCwgIiAg
ICBVTlVTRURfUEFSQU0oZXhlYyk7XG4iKTsKLSAgICAgICAgICAgICAgICAgICAgbXkgJHdpbmRv
d0V2ZW50TGlzdGVuZXIgPSAkYXR0cmlidXRlLT5zaWduYXR1cmUtPmV4dGVuZGVkQXR0cmlidXRl
cy0+eyJKU1dpbmRvd0V2ZW50TGlzdGVuZXIifTsKLSAgICAgICAgICAgICAgICAgICAgaWYgKCR3
aW5kb3dFdmVudExpc3RlbmVyKSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICBwdXNoKEBpbXBs
Q29udGVudCwgIiAgICBKU0RPTUdsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0ID0gY2FzdGVkVGhp
cy0+Z2xvYmFsT2JqZWN0KCk7XG4iKTsKLSAgICAgICAgICAgICAgICAgICAgfQotICAgICAgICAg
ICAgICAgICAgICBwdXNoKEBpbXBsQ29udGVudCwgIiAgICAkaW50ZXJmYWNlTmFtZSYgaW1wbCA9
IGNhc3RlZFRoaXMtPmltcGwoKTtcbiIpOwotICAgICAgICAgICAgICAgICAgICBpZiAoKCgkaW50
ZXJmYWNlTmFtZSBlcSAiRE9NV2luZG93Iikgb3IgKCRpbnRlcmZhY2VOYW1lIGVxICJXb3JrZXJH
bG9iYWxTY29wZSIpKSBhbmQgJG5hbWUgZXEgIm9uZXJyb3IiKSB7Ci0gICAgICAgICAgICAgICAg
ICAgICAgICAkaW1wbEluY2x1ZGVzeyJKU0Vycm9ySGFuZGxlci5oIn0gPSAxOwotICAgICAgICAg
ICAgICAgICAgICAgICAgcHVzaChAaW1wbENvbnRlbnQsICIgICAgaW1wbC5zZXQkaW1wbFNldHRl
ckZ1bmN0aW9uTmFtZShjcmVhdGVKU0Vycm9ySGFuZGxlcihleGVjLCB2YWx1ZSwgY2FzdGVkVGhp
cykpO1xuIik7Ci0gICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7Ci0gICAgICAgICAgICAgICAg
ICAgICAgICBwdXNoKEBpbXBsQ29udGVudCwgR2VuZXJhdGVBdHRyaWJ1dGVFdmVudExpc3RlbmVy
Q2FsbCgkY2xhc3NOYW1lLCAkaW1wbFNldHRlckZ1bmN0aW9uTmFtZSwgJHdpbmRvd0V2ZW50TGlz
dGVuZXIpKTsKLSAgICAgICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgIH0gZWxzaWYg
KCRhdHRyaWJ1dGUtPnNpZ25hdHVyZS0+dHlwZSA9fiAvQ29uc3RydWN0b3IkLykgewotICAgICAg
ICAgICAgICAgICAgICBteSAkY29uc3RydWN0b3JUeXBlID0gJGF0dHJpYnV0ZS0+c2lnbmF0dXJl
LT50eXBlOwotICAgICAgICAgICAgICAgICAgICAkY29uc3RydWN0b3JUeXBlID1+IHMvQ29uc3Ry
dWN0b3IkLy87Ci0gICAgICAgICAgICAgICAgICAgICMgJGNvbnN0cnVjdG9yVHlwZSB+PSAvQ29u
c3RydWN0b3IkLyBpbmRpY2F0ZXMgdGhhdCBpdCBpcyBOYW1lZENvbnN0cnVjdG9yLgotICAgICAg
ICAgICAgICAgICAgICAjIFdlIGRvIG5vdCBnZW5lcmF0ZSB0aGUgaGVhZGVyIGZpbGUgZm9yIE5h
bWVkQ29uc3RydWN0b3Igb2YgY2xhc3MgWFhYWCwKLSAgICAgICAgICAgICAgICAgICAgIyBzaW5j
ZSB3ZSBnZW5lcmF0ZSB0aGUgTmFtZWRDb25zdHJ1Y3RvciBkZWNsYXJhdGlvbiBpbnRvIHRoZSBo
ZWFkZXIgZmlsZSBvZiBjbGFzcyBYWFhYLgotICAgICAgICAgICAgICAgICAgICBpZiAoJGNvbnN0
cnVjdG9yVHlwZSBuZSAiYW55IiBhbmQgJGNvbnN0cnVjdG9yVHlwZSAhfiAvTmFtZWQkLykgewot
ICAgICAgICAgICAgICAgICAgICAgICAgQWRkVG9JbXBsSW5jbHVkZXMoIkpTIiAuICRjb25zdHJ1
Y3RvclR5cGUgLiAiLmgiLCAkYXR0cmlidXRlLT5zaWduYXR1cmUtPmV4dGVuZGVkQXR0cmlidXRl
cy0+eyJDb25kaXRpb25hbCJ9KTsKLSAgICAgICAgICAgICAgICAgICAgfQotICAgICAgICAgICAg
ICAgICAgICBwdXNoKEBpbXBsQ29udGVudCwgIiAgICAvLyBTaGFkb3dpbmcgYSBidWlsdC1pbiBj
b25zdHJ1Y3RvclxuIik7Ci0gICAgICAgICAgICAgICAgICAgIHB1c2goQGltcGxDb250ZW50LCAi
ICAgIGNhc3RlZFRoaXMtPnB1dERpcmVjdChleGVjLT52bSgpLCBJZGVudGlmaWVyKGV4ZWMsIFwi
JG5hbWVcIiksIHZhbHVlKTtcbiIpOwotCi0gICAgICAgICAgICAgICAgfSBlbHNpZiAoJGF0dHJp
YnV0ZS0+c2lnbmF0dXJlLT5leHRlbmRlZEF0dHJpYnV0ZXMtPnsiUmVwbGFjZWFibGUifSkgewot
ICAgICAgICAgICAgICAgICAgICBwdXNoKEBpbXBsQ29udGVudCwgIiAgICAvLyBTaGFkb3dpbmcg
YSBidWlsdC1pbiBvYmplY3RcbiIpOwotICAgICAgICAgICAgICAgICAgICBwdXNoKEBpbXBsQ29u
dGVudCwgIiAgICBjYXN0ZWRUaGlzLT5wdXREaXJlY3QoZXhlYy0+dm0oKSwgSWRlbnRpZmllcihl
eGVjLCBcIiRuYW1lXCIpLCB2YWx1ZSk7XG4iKTsKLSAgICAgICAgICAgICAgICB9IGVsc2Ugewot
ICAgICAgICAgICAgICAgICAgICBpZiAoISRhdHRyaWJ1dGUtPmlzU3RhdGljKSB7Ci0gICAgICAg
ICAgICAgICAgICAgICAgICBwdXNoKEBpbXBsQ29udGVudCwgIiAgICAkaW1wbFR5cGUmIGltcGwg
PSBjYXN0ZWRUaGlzLT5pbXBsKCk7XG4iKTsKLSAgICAgICAgICAgICAgICAgICAgfQotICAgICAg
ICAgICAgICAgICAgICBwdXNoKEBpbXBsQ29udGVudCwgIiAgICBFeGNlcHRpb25Db2RlIGVjID0g
MDtcbiIpIGlmICRzZXR0ZXJSYWlzZXNFeGNlcHRpb247Ci0KLSAgICAgICAgICAgICAgICAgICAg
IyBJZiB0aGUgIlN0cmljdFR5cGVDaGVja2luZyIgZXh0ZW5kZWQgYXR0cmlidXRlIGlzIHByZXNl
bnQsIGFuZCB0aGUgYXR0cmlidXRlJ3MgdHlwZSBpcyBhbgotICAgICAgICAgICAgICAgICAgICAj
IGludGVyZmFjZSB0eXBlLCB0aGVuIGlmIHRoZSBpbmNvbWluZyB2YWx1ZSBkb2VzIG5vdCBpbXBs
ZW1lbnQgdGhhdCBpbnRlcmZhY2UsIGEgVHlwZUVycm9yCi0gICAgICAgICAgICAgICAgICAgICMg
aXMgdGhyb3duIHJhdGhlciB0aGFuIHNpbGVudGx5IHBhc3NpbmcgTlVMTCB0byB0aGUgQysrIGNv
ZGUuCi0gICAgICAgICAgICAgICAgICAgICMgUGVyIHRoZSBXZWIgSURMIGFuZCBFQ01BU2NyaXB0
IHNwZWNpZmljYXRpb25zLCBpbmNvbWluZyB2YWx1ZXMgY2FuIGFsd2F5cyBiZSBjb252ZXJ0ZWQg
dG8KLSAgICAgICAgICAgICAgICAgICAgIyBib3RoIHN0cmluZ3MgYW5kIG51bWJlcnMsIHNvIGRv
IG5vdCB0aHJvdyBUeXBlRXJyb3IgaWYgdGhlIGF0dHJpYnV0ZSBpcyBvZiB0aGVzZSB0eXBlcy4K
LSAgICAgICAgICAgICAgICAgICAgaWYgKCRhdHRyaWJ1dGUtPnNpZ25hdHVyZS0+ZXh0ZW5kZWRB
dHRyaWJ1dGVzLT57IlN0cmljdFR5cGVDaGVja2luZyJ9KSB7Ci0gICAgICAgICAgICAgICAgICAg
ICAgICAkaW1wbEluY2x1ZGVzeyI8cnVudGltZS9FcnJvci5oPiJ9ID0gMTsKLQotICAgICAgICAg
ICAgICAgICAgICAgICAgbXkgJGFyZ1R5cGUgPSAkYXR0cmlidXRlLT5zaWduYXR1cmUtPnR5cGU7
Ci0gICAgICAgICAgICAgICAgICAgICAgICBpZiAoJGNvZGVHZW5lcmF0b3ItPklzV3JhcHBlclR5
cGUoJGFyZ1R5cGUpKSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgcHVzaChAaW1wbENv
bnRlbnQsICIgICAgaWYgKCF2YWx1ZS5pc1VuZGVmaW5lZE9yTnVsbCgpICYmICF2YWx1ZS5pbmhl
cml0cyhKUyR7YXJnVHlwZX06OmluZm8oKSkpIHtcbiIpOwotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIHB1c2goQGltcGxDb250ZW50LCAiICAgICAgICB0aHJvd1ZNVHlwZUVycm9yKGV4ZWMp
O1xuIik7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgcHVzaChAaW1wbENvbnRlbnQsICIg
ICAgICAgIHJldHVybjtcbiIpOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgIHB1c2goQGlt
cGxDb250ZW50LCAiICAgIH07XG4iKTsKLSAgICAgICAgICAgICAgICAgICAgICAgIH0KKyAgICAg
ICAgICAgICAgICAgICAgaWYgKCRpbnRlcmZhY2UtPmV4dGVuZGVkQXR0cmlidXRlcy0+eyJDdXN0
b21OYW1lZFNldHRlciJ9KSB7CisgICAgICAgICAgICAgICAgICAgICAgICBwdXNoKEBpbXBsQ29u
dGVudCwgIiAgICBQcm9wZXJ0eU5hbWUgcHJvcGVydHlOYW1lID0gSWRlbnRpZmllcjo6ZnJvbShl
eGVjLCBpbmRleCk7XG4iKTsKKyAgICAgICAgICAgICAgICAgICAgICAgIHB1c2goQGltcGxDb250
ZW50LCAiICAgIFB1dFByb3BlcnR5U2xvdCBzbG90KHRoaXNPYmplY3QsIHNob3VsZFRocm93KTtc
biIpOworICAgICAgICAgICAgICAgICAgICAgICAgcHVzaChAaW1wbENvbnRlbnQsICIgICAgaWYg
KHRoaXNPYmplY3QtPnB1dERlbGVnYXRlKGV4ZWMsIHByb3BlcnR5TmFtZSwgdmFsdWUsIHNsb3Qp
KVxuIik7CisgICAgICAgICAgICAgICAgICAgICAgICBwdXNoKEBpbXBsQ29udGVudCwgIiAgICAg
ICAgcmV0dXJuO1xuIik7CiAgICAgICAgICAgICAgICAgICAgIH0KIAotICAgICAgICAgICAgICAg
ICAgICBwdXNoKEBpbXBsQ29udGVudCwgIiAgICAiIC4gR2V0TmF0aXZlVHlwZUZyb21TaWduYXR1
cmUoJGF0dHJpYnV0ZS0+c2lnbmF0dXJlKSAuICIgbmF0aXZlVmFsdWUoIiAuIEpTVmFsdWVUb05h
dGl2ZSgkYXR0cmlidXRlLT5zaWduYXR1cmUsICJ2YWx1ZSIpIC4gIik7XG4iKTsKLSAgICAgICAg
ICAgICAgICAgICAgcHVzaChAaW1wbENvbnRlbnQsICIgICAgaWYgKGV4ZWMtPmhhZEV4Y2VwdGlv
bigpKVxuIik7Ci0gICAgICAgICAgICAgICAgICAgIHB1c2goQGltcGxDb250ZW50LCAiICAgICAg
ICByZXR1cm47XG4iKTsKLQotICAgICAgICAgICAgICAgICAgICBpZiAoJGNvZGVHZW5lcmF0b3It
PklzRW51bVR5cGUoJHR5cGUpKSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICBteSBAZW51bVZh
bHVlcyA9ICRjb2RlR2VuZXJhdG9yLT5WYWxpZEVudW1WYWx1ZXMoJHR5cGUpOwotICAgICAgICAg
ICAgICAgICAgICAgICAgbXkgQGVudW1DaGVja3MgPSAoKTsKLSAgICAgICAgICAgICAgICAgICAg
ICAgIGZvcmVhY2ggbXkgJGVudW1WYWx1ZSAoQGVudW1WYWx1ZXMpIHsKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBwdXNoKEBlbnVtQ2hlY2tzLCAibmF0aXZlVmFsdWUgIT0gXCIkZW51bVZh
bHVlXCIiKTsKLSAgICAgICAgICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICAgICAg
ICAgIHB1c2ggKEBpbXBsQ29udGVudCwgIiAgICBpZiAoIiAuIGpvaW4oIiAmJiAiLCBAZW51bUNo
ZWNrcykgLiAiKVxuIik7Ci0gICAgICAgICAgICAgICAgICAgICAgICBwdXNoIChAaW1wbENvbnRl
bnQsICIgICAgICAgIHJldHVybjtcbiIpOwotICAgICAgICAgICAgICAgICAgICB9CisgICAgICAg
ICAgICAgICAgICAgIHB1c2goQGltcGxDb250ZW50LCAiICAgIEJhc2U6OnB1dEJ5SW5kZXgoY2Vs
bCwgZXhlYywgaW5kZXgsIHZhbHVlLCBzaG91bGRUaHJvdyk7XG4iKTsKKyAgICAgICAgICAgICAg
ICAgICAgcHVzaChAaW1wbENvbnRlbnQsICJ9XG5cbiIpOworICAgICAgICAgICAgICAgIH0KKyAg
ICAgICAgICAgIH0KIAotICAgICAgICAgICAgICAgICAgICBpZiAoJHN2Z1Byb3BlcnR5T3JMaXN0
UHJvcGVydHlUeXBlKSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICBpZiAoJHN2Z1Byb3BlcnR5
VHlwZSkgewotICAgICAgICAgICAgICAgICAgICAgICAgICAgIHB1c2goQGltcGxDb250ZW50LCAi
ICAgIGlmIChpbXBsLmlzUmVhZE9ubHkoKSkge1xuIik7Ci0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgcHVzaChAaW1wbENvbnRlbnQsICIgICAgICAgIHNldERPTUV4Y2VwdGlvbihleGVjLCBO
T19NT0RJRklDQVRJT05fQUxMT1dFRF9FUlIpO1xuIik7CisgICAgICAgICAgICBpZiAoJGhhc1Jl
YWRXcml0ZVByb3BlcnRpZXMpIHsKKyAgICAgICAgICAgICAgICBmb3JlYWNoIG15ICRhdHRyaWJ1
dGUgKEB7JGludGVyZmFjZS0+YXR0cmlidXRlc30pIHsKKyAgICAgICAgICAgICAgICAgICAgaWYg
KCFJc1JlYWRvbmx5KCRhdHRyaWJ1dGUpKSB7CisgICAgICAgICAgICAgICAgICAgICAgICBteSAk
bmFtZSA9ICRhdHRyaWJ1dGUtPnNpZ25hdHVyZS0+bmFtZTsKKyAgICAgICAgICAgICAgICAgICAg
ICAgIG15ICR0eXBlID0gJGF0dHJpYnV0ZS0+c2lnbmF0dXJlLT50eXBlOworICAgICAgICAgICAg
ICAgICAgICAgICAgbXkgJHB1dEZ1bmN0aW9uTmFtZSA9IEdldEF0dHJpYnV0ZVNldHRlck5hbWUo
JGludGVyZmFjZU5hbWUsICRjbGFzc05hbWUsICRhdHRyaWJ1dGUpOworICAgICAgICAgICAgICAg
ICAgICAgICAgbXkgJGltcGxTZXR0ZXJGdW5jdGlvbk5hbWUgPSAkY29kZUdlbmVyYXRvci0+V0tf
dWNmaXJzdCgkbmFtZSk7CisgICAgICAgICAgICAgICAgICAgICAgICBteSAkc2V0dGVyUmFpc2Vz
RXhjZXB0aW9uID0gJGF0dHJpYnV0ZS0+c2lnbmF0dXJlLT5leHRlbmRlZEF0dHJpYnV0ZXMtPnsi
U2V0dGVyUmFpc2VzRXhjZXB0aW9uIn07CisKKyAgICAgICAgICAgICAgICAgICAgICAgIG15ICRh
dHRyaWJ1dGVDb25kaXRpb25hbFN0cmluZyA9ICRjb2RlR2VuZXJhdG9yLT5HZW5lcmF0ZUNvbmRp
dGlvbmFsU3RyaW5nKCRhdHRyaWJ1dGUtPnNpZ25hdHVyZSk7CisgICAgICAgICAgICAgICAgICAg
ICAgICBwdXNoKEBpbXBsQ29udGVudCwgIiNpZiAke2F0dHJpYnV0ZUNvbmRpdGlvbmFsU3RyaW5n
fVxuIikgaWYgJGF0dHJpYnV0ZUNvbmRpdGlvbmFsU3RyaW5nOworCisgICAgICAgICAgICAgICAg
ICAgICAgICBwdXNoKEBpbXBsQ29udGVudCwgInZvaWQgJHtwdXRGdW5jdGlvbk5hbWV9KEV4ZWNT
dGF0ZSogZXhlYywgSlNPYmplY3QqIC8qIGJhc2VPYmplY3QgKi8sIEVuY29kZWRKU1ZhbHVlIik7
CisgICAgICAgICAgICAgICAgICAgICAgICBwdXNoKEBpbXBsQ29udGVudCwgIiB0aGlzVmFsdWUi
KSBpZiAhJGF0dHJpYnV0ZS0+aXNTdGF0aWM7CisgICAgICAgICAgICAgICAgICAgICAgICBwdXNo
KEBpbXBsQ29udGVudCwgIiwgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZFZhbHVlKVxuIik7CisgICAg
ICAgICAgICAgICAgICAgICAgICBwdXNoKEBpbXBsQ29udGVudCwgIntcbiIpOworICAgICAgICAg
ICAgICAgICAgICAgICAgcHVzaChAaW1wbENvbnRlbnQsICIgICAgSlNWYWx1ZSB2YWx1ZSA9IEpT
VmFsdWU6OmRlY29kZShlbmNvZGVkVmFsdWUpO1xuIik7CisgICAgICAgICAgICAgICAgICAgICAg
ICBwdXNoKEBpbXBsQ29udGVudCwgIiAgICBVTlVTRURfUEFSQU0oZXhlYyk7XG4iKTsKKyAgICAg
ICAgICAgICAgICAgICAgICAgIGlmICghJGF0dHJpYnV0ZS0+aXNTdGF0aWMpIHsKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBwdXNoKEBpbXBsQ29udGVudCwgIiAgICAke2NsYXNzTmFtZX0q
IGNhc3RlZFRoaXMgPSBqc0R5bmFtaWNDYXN0PCR7Y2xhc3NOYW1lfSo+KEpTVmFsdWU6OmRlY29k
ZSh0aGlzVmFsdWUpKTtcbiIpOworICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICgkaW50
ZXJmYWNlTmFtZSBlcSAiRE9NV2luZG93IikgeworICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBwdXNoKEBpbXBsQ29udGVudCwgIiAgICBpZiAoIWNhc3RlZFRoaXMpIHtcbiIpOworICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwdXNoKEBpbXBsQ29udGVudCwgIiAgICAgICAg
aWYgKEpTRE9NV2luZG93U2hlbGwqIHNoZWxsID0ganNEeW5hbWljQ2FzdDxKU0RPTVdpbmRvd1No
ZWxsKj4oSlNWYWx1ZTo6ZGVjb2RlKHRoaXNWYWx1ZSkpKVxuIik7CisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIHB1c2goQGltcGxDb250ZW50LCAiICAgICAgICAgICAgY2FzdGVkVGhp
cyA9IHNoZWxsLT53aW5kb3coKTtcbiIpOworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBwdXNoKEBpbXBsQ29udGVudCwgIiAgICB9XG4iKTsKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICB9CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHVzaChAaW1wbENvbnRlbnQsICIg
ICAgaWYgKCFjYXN0ZWRUaGlzKSB7XG4iKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBw
dXNoKEBpbXBsQ29udGVudCwgIiAgICAgICAgdGhyb3dWTVR5cGVFcnJvcihleGVjKTtcbiIpOwog
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHB1c2goQGltcGxDb250ZW50LCAiICAgICAgICBy
ZXR1cm47XG4iKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwdXNoKEBpbXBsQ29udGVu
dCwgIiAgICB9XG4iKTsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAkaW1wbEluY2x1ZGVz
eyJFeGNlcHRpb25Db2RlLmgifSA9IDE7CiAgICAgICAgICAgICAgICAgICAgICAgICB9Ci0gICAg
ICAgICAgICAgICAgICAgICAgICBwdXNoKEBpbXBsQ29udGVudCwgIiAgICAkc3ZnUHJvcGVydHlP
ckxpc3RQcm9wZXJ0eVR5cGUmIHBvZEltcGwgPSBpbXBsLnByb3BlcnR5UmVmZXJlbmNlKCk7XG4i
KTsKLSAgICAgICAgICAgICAgICAgICAgICAgIGlmICgkc3ZnUHJvcGVydHlPckxpc3RQcm9wZXJ0
eVR5cGUgZXEgImZsb2F0IikgeyAjIFNwZWNpYWwgY2FzZSBmb3IgSlNTVkdOdW1iZXIKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBwdXNoKEBpbXBsQ29udGVudCwgIiAgICBwb2RJbXBsID0g
bmF0aXZlVmFsdWU7XG4iKTsKLSAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7Ci0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgcHVzaChAaW1wbENvbnRlbnQsICIgICAgcG9kSW1wbC5z
ZXQkaW1wbFNldHRlckZ1bmN0aW9uTmFtZShuYXRpdmVWYWx1ZSIpOwotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIHB1c2goQGltcGxDb250ZW50LCAiLCBlYyIpIGlmICRzZXR0ZXJSYWlzZXNF
eGNlcHRpb247Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgcHVzaChAaW1wbENvbnRlbnQs
ICIpO1xuIik7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgcHVzaChAaW1wbENvbnRlbnQs
ICIgICAgc2V0RE9NRXhjZXB0aW9uKGV4ZWMsIGVjKTtcbiIpIGlmICRzZXR0ZXJSYWlzZXNFeGNl
cHRpb247Ci0gICAgICAgICAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgICAgICAg
ICBpZiAoJHN2Z1Byb3BlcnR5VHlwZSkgewotICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlm
ICgkc2V0dGVyUmFpc2VzRXhjZXB0aW9uKSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIHB1c2goQGltcGxDb250ZW50LCAiICAgIGlmICghZWMpXG4iKTsKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgcHVzaChAaW1wbENvbnRlbnQsICIgICAgICAgIGltcGwuY29tbWl0
Q2hhbmdlKCk7XG4iKTsKKyAgICAgICAgICAgICAgICAgICAgICAgIGlmICgkaW50ZXJmYWNlLT5l
eHRlbmRlZEF0dHJpYnV0ZXMtPnsiQ2hlY2tTZWN1cml0eSJ9ICYmICEkYXR0cmlidXRlLT5zaWdu
YXR1cmUtPmV4dGVuZGVkQXR0cmlidXRlcy0+eyJEb05vdENoZWNrU2VjdXJpdHkifSkgeworICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGlmICgkaW50ZXJmYWNlTmFtZSBlcSAiRE9NV2luZG93
IikgeworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwdXNoKEBpbXBsQ29udGVudCwg
IiAgICBpZiAoIUJpbmRpbmdTZWN1cml0eTo6c2hvdWxkQWxsb3dBY2Nlc3NUb0RPTVdpbmRvdyhl
eGVjLCBjYXN0ZWRUaGlzLT5pbXBsKCkpKVxuIik7CiAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgfSBlbHNlIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHVzaChAaW1wbENv
bnRlbnQsICIgICAgaW1wbC5jb21taXRDaGFuZ2UoKTtcbiIpOworICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBwdXNoKEBpbXBsQ29udGVudCwgIiAgICBpZiAoIXNob3VsZEFsbG93QWNj
ZXNzVG9GcmFtZShleGVjLCBjYXN0ZWRUaGlzLT5pbXBsKCkuZnJhbWUoKSkpXG4iKTsKICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHVz
aChAaW1wbENvbnRlbnQsICIgICAgICAgIHJldHVybjtcbiIpOwogICAgICAgICAgICAgICAgICAg
ICAgICAgfQotICAgICAgICAgICAgICAgICAgICB9IGVsc2UgewotICAgICAgICAgICAgICAgICAg
ICAgICAgbXkgKCRmdW5jdGlvbk5hbWUsIEBhcmd1bWVudHMpID0gJGNvZGVHZW5lcmF0b3ItPlNl
dHRlckV4cHJlc3Npb24oXCVpbXBsSW5jbHVkZXMsICRpbnRlcmZhY2VOYW1lLCAkYXR0cmlidXRl
KTsKLSAgICAgICAgICAgICAgICAgICAgICAgIGlmICgkY29kZUdlbmVyYXRvci0+SXNUeXBlZEFy
cmF5VHlwZSgkYXR0cmlidXRlLT5zaWduYXR1cmUtPnR5cGUpIGFuZCBub3QgJGF0dHJpYnV0ZS0+
c2lnbmF0dXJlLT50eXBlIGVxICJBcnJheUJ1ZmZlciIpIHsKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBwdXNoKEBhcmd1bWVudHMsICJuYXRpdmVWYWx1ZS5nZXQoKSIpOwotICAgICAgICAg
ICAgICAgICAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBwdXNo
KEBhcmd1bWVudHMsICJuYXRpdmVWYWx1ZSIpOwotICAgICAgICAgICAgICAgICAgICAgICAgfQot
ICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCRhdHRyaWJ1dGUtPnNpZ25hdHVyZS0+ZXh0ZW5k
ZWRBdHRyaWJ1dGVzLT57IkltcGxlbWVudGVkQnkifSkgewotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIG15ICRpbXBsZW1lbnRlZEJ5ID0gJGF0dHJpYnV0ZS0+c2lnbmF0dXJlLT5leHRlbmRl
ZEF0dHJpYnV0ZXMtPnsiSW1wbGVtZW50ZWRCeSJ9OwotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICRpbXBsSW5jbHVkZXN7IiR7aW1wbGVtZW50ZWRCeX0uaCJ9ID0gMTsKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICB1bnNoaWZ0KEBhcmd1bWVudHMsICImaW1wbCIpIGlmICEkYXR0cmli
dXRlLT5pc1N0YXRpYzsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZnVuY3Rpb25OYW1l
ID0gIiR7aW1wbGVtZW50ZWRCeX06OiR7ZnVuY3Rpb25OYW1lfSI7Ci0gICAgICAgICAgICAgICAg
ICAgICAgICB9IGVsc2lmICgkYXR0cmlidXRlLT5pc1N0YXRpYykgewotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICRmdW5jdGlvbk5hbWUgPSAiJHtpbnRlcmZhY2VOYW1lfTo6JHtmdW5jdGlv
bk5hbWV9IjsKKworICAgICAgICAgICAgICAgICAgICAgICAgaWYgKEhhc0N1c3RvbVNldHRlcigk
YXR0cmlidXRlLT5zaWduYXR1cmUtPmV4dGVuZGVkQXR0cmlidXRlcykpIHsKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBwdXNoKEBpbXBsQ29udGVudCwgIiAgICBjYXN0ZWRUaGlzLT5zZXQk
aW1wbFNldHRlckZ1bmN0aW9uTmFtZShleGVjLCB2YWx1ZSk7XG4iKTsKKyAgICAgICAgICAgICAg
ICAgICAgICAgIH0gZWxzaWYgKCR0eXBlIGVxICJFdmVudExpc3RlbmVyIikgeworICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICRpbXBsSW5jbHVkZXN7IkpTRXZlbnRMaXN0ZW5lci5oIn0gPSAx
OworICAgICAgICAgICAgICAgICAgICAgICAgICAgIHB1c2goQGltcGxDb250ZW50LCAiICAgIFVO
VVNFRF9QQVJBTShleGVjKTtcbiIpOworICAgICAgICAgICAgICAgICAgICAgICAgICAgIG15ICR3
aW5kb3dFdmVudExpc3RlbmVyID0gJGF0dHJpYnV0ZS0+c2lnbmF0dXJlLT5leHRlbmRlZEF0dHJp
YnV0ZXMtPnsiSlNXaW5kb3dFdmVudExpc3RlbmVyIn07CisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgaWYgKCR3aW5kb3dFdmVudExpc3RlbmVyKSB7CisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIHB1c2goQGltcGxDb250ZW50LCAiICAgIEpTRE9NR2xvYmFsT2JqZWN0KiBnbG9i
YWxPYmplY3QgPSBjYXN0ZWRUaGlzLT5nbG9iYWxPYmplY3QoKTtcbiIpOworICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBwdXNoKEBpbXBs
Q29udGVudCwgIiAgICAkaW50ZXJmYWNlTmFtZSYgaW1wbCA9IGNhc3RlZFRoaXMtPmltcGwoKTtc
biIpOworICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICgoKCRpbnRlcmZhY2VOYW1lIGVx
ICJET01XaW5kb3ciKSBvciAoJGludGVyZmFjZU5hbWUgZXEgIldvcmtlckdsb2JhbFNjb3BlIikp
IGFuZCAkbmFtZSBlcSAib25lcnJvciIpIHsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgJGltcGxJbmNsdWRlc3siSlNFcnJvckhhbmRsZXIuaCJ9ID0gMTsKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgcHVzaChAaW1wbENvbnRlbnQsICIgICAgaW1wbC5zZXQkaW1wbFNl
dHRlckZ1bmN0aW9uTmFtZShjcmVhdGVKU0Vycm9ySGFuZGxlcihleGVjLCB2YWx1ZSwgY2FzdGVk
VGhpcykpO1xuIik7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgcHVzaChAaW1wbENvbnRlbnQsIEdlbmVyYXRlQXR0
cmlidXRlRXZlbnRMaXN0ZW5lckNhbGwoJGNsYXNzTmFtZSwgJGltcGxTZXR0ZXJGdW5jdGlvbk5h
bWUsICR3aW5kb3dFdmVudExpc3RlbmVyKSk7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
fQorICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNpZiAoJGF0dHJpYnV0ZS0+c2lnbmF0dXJl
LT50eXBlID1+IC9Db25zdHJ1Y3RvciQvKSB7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
bXkgJGNvbnN0cnVjdG9yVHlwZSA9ICRhdHRyaWJ1dGUtPnNpZ25hdHVyZS0+dHlwZTsKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAkY29uc3RydWN0b3JUeXBlID1+IHMvQ29uc3RydWN0b3Ik
Ly87CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyAkY29uc3RydWN0b3JUeXBlIH49IC9D
b25zdHJ1Y3RvciQvIGluZGljYXRlcyB0aGF0IGl0IGlzIE5hbWVkQ29uc3RydWN0b3IuCisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIyBXZSBkbyBub3QgZ2VuZXJhdGUgdGhlIGhlYWRlciBm
aWxlIGZvciBOYW1lZENvbnN0cnVjdG9yIG9mIGNsYXNzIFhYWFgsCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIyBzaW5jZSB3ZSBnZW5lcmF0ZSB0aGUgTmFtZWRDb25zdHJ1Y3RvciBkZWNs
YXJhdGlvbiBpbnRvIHRoZSBoZWFkZXIgZmlsZSBvZiBjbGFzcyBYWFhYLgorICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGlmICgkY29uc3RydWN0b3JUeXBlIG5lICJhbnkiIGFuZCAkY29uc3Ry
dWN0b3JUeXBlICF+IC9OYW1lZCQvKSB7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IEFkZFRvSW1wbEluY2x1ZGVzKCJKUyIgLiAkY29uc3RydWN0b3JUeXBlIC4gIi5oIiwgJGF0dHJp
YnV0ZS0+c2lnbmF0dXJlLT5leHRlbmRlZEF0dHJpYnV0ZXMtPnsiQ29uZGl0aW9uYWwifSk7Cisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgICAgICAgICAgICAg
IHB1c2goQGltcGxDb250ZW50LCAiICAgIC8vIFNoYWRvd2luZyBhIGJ1aWx0LWluIGNvbnN0cnVj
dG9yXG4iKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoJGludGVyZmFjZU5hbWUg
ZXEgIkRPTVdpbmRvdyIgJiYgJGNsYXNzTmFtZSBlcSAiSlNibGFoIikgeworICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAjIEZJWE1FOiBUaGlzIGJyYW5jaCBuZXZlciBleGVjdXRlcyBh
bmQgc2hvdWxkIGJlIHJlbW92ZWQuCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHB1
c2goQGltcGxDb250ZW50LCAiICAgIGNhc3RlZFRoaXMtPnB1dERpcmVjdChleGVjLT52bSgpLCBl
eGVjLT5wcm9wZXJ0eU5hbWVzKCkuY29uc3RydWN0b3IsIHZhbHVlKTtcbiIpOworICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIHB1c2goQGltcGxDb250ZW50LCAiICAgIGNhc3RlZFRoaXMtPnB1dERpcmVjdChleGVjLT52
bSgpLCBJZGVudGlmaWVyKGV4ZWMsIFwiJG5hbWVcIiksIHZhbHVlKTtcbiIpOworICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzaWYgKCRh
dHRyaWJ1dGUtPnNpZ25hdHVyZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57IlJlcGxhY2VhYmxlIn0p
IHsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBwdXNoKEBpbXBsQ29udGVudCwgIiAgICAv
LyBTaGFkb3dpbmcgYSBidWlsdC1pbiBvYmplY3RcbiIpOworICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIHB1c2goQGltcGxDb250ZW50LCAiICAgIGNhc3RlZFRoaXMtPnB1dERpcmVjdChleGVj
LT52bSgpLCBJZGVudGlmaWVyKGV4ZWMsIFwiJG5hbWVcIiksIHZhbHVlKTtcbiIpOwogICAgICAg
ICAgICAgICAgICAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAk
ZnVuY3Rpb25OYW1lID0gImltcGwuJHtmdW5jdGlvbk5hbWV9IjsKLSAgICAgICAgICAgICAgICAg
ICAgICAgIH0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoISRhdHRyaWJ1dGUtPmlz
U3RhdGljKSB7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHB1c2goQGltcGxDb250
ZW50LCAiICAgICRpbXBsVHlwZSYgaW1wbCA9IGNhc3RlZFRoaXMtPmltcGwoKTtcbiIpOworICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBw
dXNoKEBpbXBsQ29udGVudCwgIiAgICBFeGNlcHRpb25Db2RlIGVjID0gMDtcbiIpIGlmICRzZXR0
ZXJSYWlzZXNFeGNlcHRpb247CisKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAjIElmIHRo
ZSAiU3RyaWN0VHlwZUNoZWNraW5nIiBleHRlbmRlZCBhdHRyaWJ1dGUgaXMgcHJlc2VudCwgYW5k
IHRoZSBhdHRyaWJ1dGUncyB0eXBlIGlzIGFuCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IyBpbnRlcmZhY2UgdHlwZSwgdGhlbiBpZiB0aGUgaW5jb21pbmcgdmFsdWUgZG9lcyBub3QgaW1w
bGVtZW50IHRoYXQgaW50ZXJmYWNlLCBhIFR5cGVFcnJvcgorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICMgaXMgdGhyb3duIHJhdGhlciB0aGFuIHNpbGVudGx5IHBhc3NpbmcgTlVMTCB0byB0
aGUgQysrIGNvZGUuCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyBQZXIgdGhlIFdlYiBJ
REwgYW5kIEVDTUFTY3JpcHQgc3BlY2lmaWNhdGlvbnMsIGluY29taW5nIHZhbHVlcyBjYW4gYWx3
YXlzIGJlIGNvbnZlcnRlZCB0bworICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgYm90aCBz
dHJpbmdzIGFuZCBudW1iZXJzLCBzbyBkbyBub3QgdGhyb3cgVHlwZUVycm9yIGlmIHRoZSBhdHRy
aWJ1dGUgaXMgb2YgdGhlc2UgdHlwZXMuCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYg
KCRhdHRyaWJ1dGUtPnNpZ25hdHVyZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57IlN0cmljdFR5cGVD
aGVja2luZyJ9KSB7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRpbXBsSW5jbHVk
ZXN7IjxydW50aW1lL0Vycm9yLmg+In0gPSAxOworCisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIG15ICRhcmdUeXBlID0gJGF0dHJpYnV0ZS0+c2lnbmF0dXJlLT50eXBlOworICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoJGNvZGVHZW5lcmF0b3ItPklzV3JhcHBlclR5
cGUoJGFyZ1R5cGUpKSB7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwdXNo
KEBpbXBsQ29udGVudCwgIiAgICBpZiAoIXZhbHVlLmlzVW5kZWZpbmVkT3JOdWxsKCkgJiYgIXZh
bHVlLmluaGVyaXRzKEpTJHthcmdUeXBlfTo6aW5mbygpKSkge1xuIik7CisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBwdXNoKEBpbXBsQ29udGVudCwgIiAgICAgICAgdGhyb3dW
TVR5cGVFcnJvcihleGVjKTtcbiIpOworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgcHVzaChAaW1wbENvbnRlbnQsICIgICAgICAgIHJldHVybjtcbiIpOworICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgcHVzaChAaW1wbENvbnRlbnQsICIgICAgfTtcbiIpOwor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgfQorCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHVzaChAaW1wbENvbnRlbnQs
ICIgICAgIiAuIEdldE5hdGl2ZVR5cGVGcm9tU2lnbmF0dXJlKCRhdHRyaWJ1dGUtPnNpZ25hdHVy
ZSkgLiAiIG5hdGl2ZVZhbHVlKCIgLiBKU1ZhbHVlVG9OYXRpdmUoJGF0dHJpYnV0ZS0+c2lnbmF0
dXJlLCAidmFsdWUiKSAuICIpO1xuIik7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHVz
aChAaW1wbENvbnRlbnQsICIgICAgaWYgKGV4ZWMtPmhhZEV4Y2VwdGlvbigpKVxuIik7CisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgcHVzaChAaW1wbENvbnRlbnQsICIgICAgICAgIHJldHVy
bjtcbiIpOworCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCRjb2RlR2VuZXJhdG9y
LT5Jc0VudW1UeXBlKCR0eXBlKSkgeworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBt
eSBAZW51bVZhbHVlcyA9ICRjb2RlR2VuZXJhdG9yLT5WYWxpZEVudW1WYWx1ZXMoJHR5cGUpOwor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBteSBAZW51bUNoZWNrcyA9ICgpOworICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb3JlYWNoIG15ICRlbnVtVmFsdWUgKEBlbnVt
VmFsdWVzKSB7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwdXNoKEBlbnVt
Q2hlY2tzLCAibmF0aXZlVmFsdWUgIT0gXCIkZW51bVZhbHVlXCIiKTsKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwdXNo
IChAaW1wbENvbnRlbnQsICIgICAgaWYgKCIgLiBqb2luKCIgJiYgIiwgQGVudW1DaGVja3MpIC4g
IilcbiIpOworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwdXNoIChAaW1wbENvbnRl
bnQsICIgICAgICAgIHJldHVybjtcbiIpOworICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0K
IAotICAgICAgICAgICAgICAgICAgICAgICAgdW5zaGlmdChAYXJndW1lbnRzLCBHZW5lcmF0ZUNh
bGxXaXRoKCRhdHRyaWJ1dGUtPnNpZ25hdHVyZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57IkNhbGxX
aXRoIn0sIFxAaW1wbENvbnRlbnQsICIiKSk7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
aWYgKCRzdmdQcm9wZXJ0eU9yTGlzdFByb3BlcnR5VHlwZSkgeworICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBpZiAoJHN2Z1Byb3BlcnR5VHlwZSkgeworICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgcHVzaChAaW1wbENvbnRlbnQsICIgICAgaWYgKGltcGwuaXNSZWFk
T25seSgpKSB7XG4iKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHB1c2go
QGltcGxDb250ZW50LCAiICAgICAgICBzZXRET01FeGNlcHRpb24oZXhlYywgTk9fTU9ESUZJQ0FU
SU9OX0FMTE9XRURfRVJSKTtcbiIpOworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgcHVzaChAaW1wbENvbnRlbnQsICIgICAgICAgIHJldHVybjtcbiIpOworICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgcHVzaChAaW1wbENvbnRlbnQsICIgICAgfVxuIik7Cisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkaW1wbEluY2x1ZGVzeyJFeGNlcHRp
b25Db2RlLmgifSA9IDE7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgcHVzaChAaW1wbENvbnRlbnQsICIgICAgJHN2Z1By
b3BlcnR5T3JMaXN0UHJvcGVydHlUeXBlJiBwb2RJbXBsID0gaW1wbC5wcm9wZXJ0eVJlZmVyZW5j
ZSgpO1xuIik7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICgkc3ZnUHJvcGVy
dHlPckxpc3RQcm9wZXJ0eVR5cGUgZXEgImZsb2F0IikgeyAjIFNwZWNpYWwgY2FzZSBmb3IgSlNT
VkdOdW1iZXIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHB1c2goQGltcGxD
b250ZW50LCAiICAgIHBvZEltcGwgPSBuYXRpdmVWYWx1ZTtcbiIpOworICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgcHVzaChAaW1wbENvbnRlbnQsICIgICAgcG9kSW1wbC5zZXQkaW1wbFNldHRlckZ1bmN0
aW9uTmFtZShuYXRpdmVWYWx1ZSIpOworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgcHVzaChAaW1wbENvbnRlbnQsICIsIGVjIikgaWYgJHNldHRlclJhaXNlc0V4Y2VwdGlvbjsK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHB1c2goQGltcGxDb250ZW50LCAi
KTtcbiIpOworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHVzaChAaW1wbENv
bnRlbnQsICIgICAgc2V0RE9NRXhjZXB0aW9uKGV4ZWMsIGVjKTtcbiIpIGlmICRzZXR0ZXJSYWlz
ZXNFeGNlcHRpb247CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCRzdmdQcm9wZXJ0eVR5cGUpIHsKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICgkc2V0dGVyUmFpc2VzRXhjZXB0aW9uKSB7
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHVzaChAaW1wbENvbnRl
bnQsICIgICAgaWYgKCFlYylcbiIpOworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIHB1c2goQGltcGxDb250ZW50LCAiICAgICAgICBpbXBsLmNvbW1pdENoYW5nZSgpO1xu
Iik7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2UgeworICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHB1c2goQGltcGxDb250ZW50LCAiICAg
IGltcGwuY29tbWl0Q2hhbmdlKCk7XG4iKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIH0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IG15ICgkZnVuY3Rpb25OYW1lLCBAYXJndW1lbnRzKSA9ICRjb2RlR2VuZXJhdG9yLT5TZXR0ZXJF
eHByZXNzaW9uKFwlaW1wbEluY2x1ZGVzLCAkaW50ZXJmYWNlTmFtZSwgJGF0dHJpYnV0ZSk7Cisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICgkY29kZUdlbmVyYXRvci0+SXNUeXBl
ZEFycmF5VHlwZSgkYXR0cmlidXRlLT5zaWduYXR1cmUtPnR5cGUpIGFuZCBub3QgJGF0dHJpYnV0
ZS0+c2lnbmF0dXJlLT50eXBlIGVxICJBcnJheUJ1ZmZlciIpIHsKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIHB1c2goQGFyZ3VtZW50cywgIm5hdGl2ZVZhbHVlLmdldCgpIik7
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBwdXNoKEBhcmd1bWVudHMsICJuYXRpdmVWYWx1ZSIpOwor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGlmICgkYXR0cmlidXRlLT5zaWduYXR1cmUtPmV4dGVuZGVkQXR0cmlidXRlcy0+
eyJJbXBsZW1lbnRlZEJ5In0pIHsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IG15ICRpbXBsZW1lbnRlZEJ5ID0gJGF0dHJpYnV0ZS0+c2lnbmF0dXJlLT5leHRlbmRlZEF0dHJp
YnV0ZXMtPnsiSW1wbGVtZW50ZWRCeSJ9OworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgJGltcGxJbmNsdWRlc3siJHtpbXBsZW1lbnRlZEJ5fS5oIn0gPSAxOworICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5zaGlmdChAYXJndW1lbnRzLCAiJmltcGwiKSBp
ZiAhJGF0dHJpYnV0ZS0+aXNTdGF0aWM7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAkZnVuY3Rpb25OYW1lID0gIiR7aW1wbGVtZW50ZWRCeX06OiR7ZnVuY3Rpb25OYW1lfSI7
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzaWYgKCRhdHRyaWJ1dGUtPmlz
U3RhdGljKSB7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZnVuY3Rpb25O
YW1lID0gIiR7aW50ZXJmYWNlTmFtZX06OiR7ZnVuY3Rpb25OYW1lfSI7CisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAkZnVuY3Rpb25OYW1lID0gImltcGwuJHtmdW5jdGlvbk5hbWV9IjsKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgfQorCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIHVuc2hpZnQoQGFyZ3VtZW50cywgR2VuZXJhdGVDYWxsV2l0aCgkYXR0cmlidXRlLT5zaWdu
YXR1cmUtPmV4dGVuZGVkQXR0cmlidXRlcy0+eyJDYWxsV2l0aCJ9LCBcQGltcGxDb250ZW50LCAi
IikpOworCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHB1c2goQGFyZ3VtZW50cywg
ImVjIikgaWYgJHNldHRlclJhaXNlc0V4Y2VwdGlvbjsKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgcHVzaChAaW1wbENvbnRlbnQsICIgICAgJHtmdW5jdGlvbk5hbWV9KCIgLiBqb2lu
KCIsICIsIEBhcmd1bWVudHMpIC4gIik7XG4iKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgcHVzaChAaW1wbENvbnRlbnQsICIgICAgc2V0RE9NRXhjZXB0aW9uKGV4ZWMsIGVjKTtc
biIpIGlmICRzZXR0ZXJSYWlzZXNFeGNlcHRpb247CisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgfQorICAgICAgICAgICAgICAgICAgICAgICAgfQogCi0gICAgICAgICAgICAgICAgICAgICAg
ICBwdXNoKEBhcmd1bWVudHMsICJlYyIpIGlmICRzZXR0ZXJSYWlzZXNFeGNlcHRpb247Ci0gICAg
ICAgICAgICAgICAgICAgICAgICBwdXNoKEBpbXBsQ29udGVudCwgIiAgICAke2Z1bmN0aW9uTmFt
ZX0oIiAuIGpvaW4oIiwgIiwgQGFyZ3VtZW50cykgLiAiKTtcbiIpOwotICAgICAgICAgICAgICAg
ICAgICAgICAgcHVzaChAaW1wbENvbnRlbnQsICIgICAgc2V0RE9NRXhjZXB0aW9uKGV4ZWMsIGVj
KTtcbiIpIGlmICRzZXR0ZXJSYWlzZXNFeGNlcHRpb247CisgICAgICAgICAgICAgICAgICAgICAg
ICBwdXNoKEBpbXBsQ29udGVudCwgIn1cblxuIik7CisgICAgICAgICAgICAgICAgICAgICAgICBw
dXNoKEBpbXBsQ29udGVudCwgIiNlbmRpZlxuIikgaWYgJGF0dHJpYnV0ZUNvbmRpdGlvbmFsU3Ry
aW5nOworICAgICAgICAgICAgICAgICAgICAgICAgcHVzaChAaW1wbENvbnRlbnQsICJcbiIpOwog
ICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfQor
ICAgICAgICB9CiAKLSAgICAgICAgICAgICAgICBwdXNoKEBpbXBsQ29udGVudCwgIn1cblxuIik7
Ci0gICAgICAgICAgICAgICAgcHVzaChAaW1wbENvbnRlbnQsICIjZW5kaWZcbiIpIGlmICRhdHRy
aWJ1dGVDb25kaXRpb25hbFN0cmluZzsKLSAgICAgICAgICAgICAgICBwdXNoKEBpbXBsQ29udGVu
dCwgIlxuIik7CisgICAgICAgIGlmICgkaW50ZXJmYWNlLT5leHRlbmRlZEF0dHJpYnV0ZXMtPnsi
UmVwbGFjZWFibGVDb25zdHJ1Y3RvciJ9KSB7CisgICAgICAgICAgICBteSAkY29uc3RydWN0b3JG
dW5jdGlvbk5hbWUgPSAic2V0SlMiIC4gJGludGVyZmFjZU5hbWUgLiAiQ29uc3RydWN0b3IiOwor
CisgICAgICAgICAgICBwdXNoKEBpbXBsQ29udGVudCwgInZvaWQgJHtjb25zdHJ1Y3RvckZ1bmN0
aW9uTmFtZX0oRXhlY1N0YXRlKiBleGVjLCBKU09iamVjdCosIEVuY29kZWRKU1ZhbHVlIHRoaXNW
YWx1ZSwgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZFZhbHVlKVxuIik7CisgICAgICAgICAgICBwdXNo
KEBpbXBsQ29udGVudCwgIntcbiIpOworICAgICAgICAgICAgcHVzaChAaW1wbENvbnRlbnQsICIg
ICAgSlNWYWx1ZSB2YWx1ZSA9IEpTVmFsdWU6OmRlY29kZShlbmNvZGVkVmFsdWUpOyIpOworICAg
ICAgICAgICAgcHVzaChAaW1wbENvbnRlbnQsICIgICAgJHtjbGFzc05hbWV9KiBjYXN0ZWRUaGlz
ID0ganNEeW5hbWljQ2FzdDwke2NsYXNzTmFtZX0qPihKU1ZhbHVlOjpkZWNvZGUodGhpc1ZhbHVl
KSk7XG4iKTsKKyAgICAgICAgICAgIGlmICgkaW50ZXJmYWNlTmFtZSBlcSAiRE9NV2luZG93Iikg
eworICAgICAgICAgICAgICAgIHB1c2goQGltcGxDb250ZW50LCAiICAgIGlmICghY2FzdGVkVGhp
cykge1xuIik7CisgICAgICAgICAgICAgICAgcHVzaChAaW1wbENvbnRlbnQsICIgICAgICAgIGlm
IChKU0RPTVdpbmRvd1NoZWxsKiBzaGVsbCA9IGpzRHluYW1pY0Nhc3Q8SlNET01XaW5kb3dTaGVs
bCo+KEpTVmFsdWU6OmRlY29kZSh0aGlzVmFsdWUpKSlcbiIpOworICAgICAgICAgICAgICAgIHB1
c2goQGltcGxDb250ZW50LCAiICAgICAgICAgICAgY2FzdGVkVGhpcyA9IHNoZWxsLT53aW5kb3co
KTtcbiIpOworICAgICAgICAgICAgICAgIHB1c2goQGltcGxDb250ZW50LCAiICAgIH1cbiIpOwor
ICAgICAgICAgICAgfQorICAgICAgICAgICAgcHVzaChAaW1wbENvbnRlbnQsICIgICAgaWYgKCFj
YXN0ZWRUaGlzKSB7XG4iKTsKKyAgICAgICAgICAgIHB1c2goQGltcGxDb250ZW50LCAiICAgICAg
ICB0aHJvd1ZNVHlwZUVycm9yKGV4ZWMpO1xuIik7CisgICAgICAgICAgICBwdXNoKEBpbXBsQ29u
dGVudCwgIiAgICAgICAgcmV0dXJuO1xuIik7CisgICAgICAgICAgICBwdXNoKEBpbXBsQ29udGVu
dCwgIiAgICB9XG4iKTsKKyAgICAgICAgICAgIGlmICgkaW50ZXJmYWNlLT5leHRlbmRlZEF0dHJp
YnV0ZXMtPnsiQ2hlY2tTZWN1cml0eSJ9KSB7CisgICAgICAgICAgICAgICAgaWYgKCRpbnRlcmZh
Y2VOYW1lIGVxICJET01XaW5kb3ciKSB7CisgICAgICAgICAgICAgICAgICAgIHB1c2goQGltcGxD
b250ZW50LCAiICAgIGlmICghQmluZGluZ1NlY3VyaXR5OjpzaG91bGRBbGxvd0FjY2Vzc1RvRE9N
V2luZG93KGV4ZWMsIGNhc3RlZFRoaXMtPmltcGwoKSkpXG4iKTsKKyAgICAgICAgICAgICAgICB9
IGVsc2UgeworICAgICAgICAgICAgICAgICAgICBwdXNoKEBpbXBsQ29udGVudCwgIiAgICBpZiAo
IXNob3VsZEFsbG93QWNjZXNzVG9GcmFtZShleGVjLCBjYXN0ZWRUaGlzLT5pbXBsKCkuZnJhbWUo
KSkpXG4iKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgcHVzaChAaW1wbENv
bnRlbnQsICIgICAgICAgIHJldHVybjtcbiIpOwogICAgICAgICAgICAgfQorCisgICAgICAgICAg
ICBwdXNoKEBpbXBsQ29udGVudCwgIiAgICAvLyBTaGFkb3dpbmcgYSBidWlsdC1pbiBjb25zdHJ1
Y3RvclxuIik7CisKKyAgICAgICAgICAgIGlmICgkaW50ZXJmYWNlTmFtZSBlcSAiRE9NV2luZG93
IikgeworICAgICAgICAgICAgICAgIHB1c2goQGltcGxDb250ZW50LCAiICAgIGNhc3RlZFRoaXMt
PnB1dERpcmVjdChleGVjLT52bSgpLCBleGVjLT5wcm9wZXJ0eU5hbWVzKCkuY29uc3RydWN0b3Is
IHZhbHVlKTtcbiIpOworICAgICAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgICAgICBkaWUg
Ik5vIHdheSB0byBoYW5kbGUgaW50ZXJmYWNlIHdpdGggUmVwbGFjZWFibGVDb25zdHJ1Y3RvciBl
eHRlbmRlZCBhdHRyaWJ1dGU6ICRpbnRlcmZhY2VOYW1lIjsKKyAgICAgICAgICAgIH0KKyAgICAg
ICAgICAgIHB1c2goQGltcGxDb250ZW50LCAifVxuXG4iKTsKICAgICAgICAgfQogICAgIH0KIApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVz
dEFjdGl2ZURPTU9iamVjdC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rl
c3QvSlMvSlNUZXN0QWN0aXZlRE9NT2JqZWN0LmNwcAppbmRleCAyYjBlMTVkMTY1ZWQxOGQ4NTU2
ZTU4ODAwYWI5ZTgzYTFlM2VmYmY4Li5jNDA5YTM3MDEwYjNjMWUzMWYxZjIyMDAwNmZkNzBlMGFh
MjZmYTIyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3Qv
SlMvSlNUZXN0QWN0aXZlRE9NT2JqZWN0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0QWN0aXZlRE9NT2JqZWN0LmNwcApAQCAtMzYsNyArMzYs
NyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIHN0YXRpYyBjb25zdCBIYXNoVGFibGVWYWx1ZSBK
U1Rlc3RBY3RpdmVET01PYmplY3RUYWJsZVZhbHVlc1tdID0KIHsKLSAgICB7ICJleGNpdGluZ0F0
dHIiLCBEb250RGVsZXRlIHwgUmVhZE9ubHkgfCBDdXN0b21BY2Nlc3NvciwgTm9JbnRyaW5zaWMs
IChpbnRwdHJfdClzdGF0aWNfY2FzdDxQcm9wZXJ0eVNsb3Q6OkdldFZhbHVlRnVuYz4oanNUZXN0
QWN0aXZlRE9NT2JqZWN0RXhjaXRpbmdBdHRyKSwgKGludHB0cl90KSBzdGF0aWNfY2FzdDxQdXRQ
cm9wZXJ0eVNsb3Q6OlB1dFZhbHVlRnVuYz4oMCkgfSwKKyAgICB7ICJleGNpdGluZ0F0dHIiLCBE
b250RGVsZXRlIHwgUmVhZE9ubHksIE5vSW50cmluc2ljLCAoaW50cHRyX3Qpc3RhdGljX2Nhc3Q8
UHJvcGVydHlTbG90OjpHZXRWYWx1ZUZ1bmM+KGpzVGVzdEFjdGl2ZURPTU9iamVjdEV4Y2l0aW5n
QXR0ciksIChpbnRwdHJfdCkgc3RhdGljX2Nhc3Q8UHV0UHJvcGVydHlTbG90OjpQdXRWYWx1ZUZ1
bmM+KDApIH0sCiAgICAgeyAiY29uc3RydWN0b3IiLCBEb250RW51bSB8IFJlYWRPbmx5LCBOb0lu
dHJpbnNpYywgKGludHB0cl90KXN0YXRpY19jYXN0PFByb3BlcnR5U2xvdDo6R2V0VmFsdWVGdW5j
Pihqc1Rlc3RBY3RpdmVET01PYmplY3RDb25zdHJ1Y3RvciksIChpbnRwdHJfdCkgc3RhdGljX2Nh
c3Q8UHV0UHJvcGVydHlTbG90OjpQdXRWYWx1ZUZ1bmM+KDApIH0sCiAgICAgeyAwLCAwLCBOb0lu
dHJpbnNpYywgMCwgMCB9CiB9OwpAQCAtMTQ1LDExICsxNDUsMTMgQEAgRW5jb2RlZEpTVmFsdWUg
anNUZXN0QWN0aXZlRE9NT2JqZWN0RXhjaXRpbmdBdHRyKEV4ZWNTdGF0ZSogZXhlYywgRW5jb2Rl
ZEpTVmFsdWUKIH0KIAogCi1FbmNvZGVkSlNWYWx1ZSBqc1Rlc3RBY3RpdmVET01PYmplY3RDb25z
dHJ1Y3RvcihFeGVjU3RhdGUqIGV4ZWMsIEVuY29kZWRKU1ZhbHVlLCBFbmNvZGVkSlNWYWx1ZSB0
aGlzVmFsdWUsIFByb3BlcnR5TmFtZSkKK0VuY29kZWRKU1ZhbHVlIGpzVGVzdEFjdGl2ZURPTU9i
amVjdENvbnN0cnVjdG9yKEV4ZWNTdGF0ZSogZXhlYywgRW5jb2RlZEpTVmFsdWUgdGhpc1ZhbHVl
LCBFbmNvZGVkSlNWYWx1ZSwgUHJvcGVydHlOYW1lKQogewogICAgIEpTVGVzdEFjdGl2ZURPTU9i
amVjdCogZG9tT2JqZWN0ID0ganNEeW5hbWljQ2FzdDxKU1Rlc3RBY3RpdmVET01PYmplY3QqPihK
U1ZhbHVlOjpkZWNvZGUodGhpc1ZhbHVlKSk7CiAgICAgaWYgKCFkb21PYmplY3QpCiAgICAgICAg
IHJldHVybiB0aHJvd1ZNVHlwZUVycm9yKGV4ZWMpOworICAgIGlmICghZG9tT2JqZWN0KQorICAg
ICAgICByZXR1cm4gdGhyb3dWTVR5cGVFcnJvcihleGVjKTsKICAgICBpZiAoIUJpbmRpbmdTZWN1
cml0eTo6c2hvdWxkQWxsb3dBY2Nlc3NUb0RPTVdpbmRvdyhleGVjLCBkb21PYmplY3QtPmltcGwo
KSkpCiAgICAgICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUoanNVbmRlZmluZWQoKSk7CiAgICAg
cmV0dXJuIEpTVmFsdWU6OmVuY29kZShKU1Rlc3RBY3RpdmVET01PYmplY3Q6OmdldENvbnN0cnVj
dG9yKGV4ZWMtPnZtKCksIGRvbU9iamVjdC0+Z2xvYmFsT2JqZWN0KCkpKTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RDdXN0b21OYW1l
ZEdldHRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNU
ZXN0Q3VzdG9tTmFtZWRHZXR0ZXIuY3BwCmluZGV4IDMyNWVmMmI3NTJkMDA4YmFlNGQzOWE5NTAz
ZTlhZmI0YTdkMzk0YjAuLmFlOTI4YTliYTFkMTc5NDQ4YmYzODEyNWJjNTE1ZDc2NTY4OTI4MGUg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rl
c3RDdXN0b21OYW1lZEdldHRlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2Ny
aXB0cy90ZXN0L0pTL0pTVGVzdEN1c3RvbU5hbWVkR2V0dGVyLmNwcApAQCAtMTQ0LDExICsxNDQs
MTMgQEAgYm9vbCBKU1Rlc3RDdXN0b21OYW1lZEdldHRlcjo6Z2V0T3duUHJvcGVydHlTbG90QnlJ
bmRleChKU09iamVjdCogb2JqZWN0LCBFeGVjU3QKICAgICByZXR1cm4gQmFzZTo6Z2V0T3duUHJv
cGVydHlTbG90QnlJbmRleCh0aGlzT2JqZWN0LCBleGVjLCBpbmRleCwgc2xvdCk7CiB9CiAKLUVu
Y29kZWRKU1ZhbHVlIGpzVGVzdEN1c3RvbU5hbWVkR2V0dGVyQ29uc3RydWN0b3IoRXhlY1N0YXRl
KiBleGVjLCBFbmNvZGVkSlNWYWx1ZSwgRW5jb2RlZEpTVmFsdWUgdGhpc1ZhbHVlLCBQcm9wZXJ0
eU5hbWUpCitFbmNvZGVkSlNWYWx1ZSBqc1Rlc3RDdXN0b21OYW1lZEdldHRlckNvbnN0cnVjdG9y
KEV4ZWNTdGF0ZSogZXhlYywgRW5jb2RlZEpTVmFsdWUgdGhpc1ZhbHVlLCBFbmNvZGVkSlNWYWx1
ZSwgUHJvcGVydHlOYW1lKQogewogICAgIEpTVGVzdEN1c3RvbU5hbWVkR2V0dGVyKiBkb21PYmpl
Y3QgPSBqc0R5bmFtaWNDYXN0PEpTVGVzdEN1c3RvbU5hbWVkR2V0dGVyKj4oSlNWYWx1ZTo6ZGVj
b2RlKHRoaXNWYWx1ZSkpOwogICAgIGlmICghZG9tT2JqZWN0KQogICAgICAgICByZXR1cm4gdGhy
b3dWTVR5cGVFcnJvcihleGVjKTsKKyAgICBpZiAoIWRvbU9iamVjdCkKKyAgICAgICAgcmV0dXJu
IHRocm93Vk1UeXBlRXJyb3IoZXhlYyk7CiAgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShKU1Rl
c3RDdXN0b21OYW1lZEdldHRlcjo6Z2V0Q29uc3RydWN0b3IoZXhlYy0+dm0oKSwgZG9tT2JqZWN0
LT5nbG9iYWxPYmplY3QoKSkpOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0RXZlbnRDb25zdHJ1Y3Rvci5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0RXZlbnRDb25zdHJ1Y3Rvci5j
cHAKaW5kZXggMGVmZjQ4YmRlODNlOTYyZTk3YjEwNzU0OTdjZDE4NGYzYTdlYzllMi4uYjdiODQ5
MzIwNGQ5NTNiNjBkYjQ5NzFlZmIxMmZkZTk2NjEzZmEyNCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdEV2ZW50Q29uc3RydWN0b3IuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RFdmVu
dENvbnN0cnVjdG9yLmNwcApAQCAtMzYsOCArMzYsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAK
IHN0YXRpYyBjb25zdCBIYXNoVGFibGVWYWx1ZSBKU1Rlc3RFdmVudENvbnN0cnVjdG9yVGFibGVW
YWx1ZXNbXSA9CiB7Ci0gICAgeyAiYXR0cjEiLCBEb250RGVsZXRlIHwgUmVhZE9ubHkgfCBDdXN0
b21BY2Nlc3NvciwgTm9JbnRyaW5zaWMsIChpbnRwdHJfdClzdGF0aWNfY2FzdDxQcm9wZXJ0eVNs
b3Q6OkdldFZhbHVlRnVuYz4oanNUZXN0RXZlbnRDb25zdHJ1Y3RvckF0dHIxKSwgKGludHB0cl90
KSBzdGF0aWNfY2FzdDxQdXRQcm9wZXJ0eVNsb3Q6OlB1dFZhbHVlRnVuYz4oMCkgfSwKLSAgICB7
ICJhdHRyMiIsIERvbnREZWxldGUgfCBSZWFkT25seSB8IEN1c3RvbUFjY2Vzc29yLCBOb0ludHJp
bnNpYywgKGludHB0cl90KXN0YXRpY19jYXN0PFByb3BlcnR5U2xvdDo6R2V0VmFsdWVGdW5jPihq
c1Rlc3RFdmVudENvbnN0cnVjdG9yQXR0cjIpLCAoaW50cHRyX3QpIHN0YXRpY19jYXN0PFB1dFBy
b3BlcnR5U2xvdDo6UHV0VmFsdWVGdW5jPigwKSB9LAorICAgIHsgImF0dHIxIiwgRG9udERlbGV0
ZSB8IFJlYWRPbmx5LCBOb0ludHJpbnNpYywgKGludHB0cl90KXN0YXRpY19jYXN0PFByb3BlcnR5
U2xvdDo6R2V0VmFsdWVGdW5jPihqc1Rlc3RFdmVudENvbnN0cnVjdG9yQXR0cjEpLCAoaW50cHRy
X3QpIHN0YXRpY19jYXN0PFB1dFByb3BlcnR5U2xvdDo6UHV0VmFsdWVGdW5jPigwKSB9LAorICAg
IHsgImF0dHIyIiwgRG9udERlbGV0ZSB8IFJlYWRPbmx5LCBOb0ludHJpbnNpYywgKGludHB0cl90
KXN0YXRpY19jYXN0PFByb3BlcnR5U2xvdDo6R2V0VmFsdWVGdW5jPihqc1Rlc3RFdmVudENvbnN0
cnVjdG9yQXR0cjIpLCAoaW50cHRyX3QpIHN0YXRpY19jYXN0PFB1dFByb3BlcnR5U2xvdDo6UHV0
VmFsdWVGdW5jPigwKSB9LAogICAgIHsgImNvbnN0cnVjdG9yIiwgRG9udEVudW0gfCBSZWFkT25s
eSwgTm9JbnRyaW5zaWMsIChpbnRwdHJfdClzdGF0aWNfY2FzdDxQcm9wZXJ0eVNsb3Q6OkdldFZh
bHVlRnVuYz4oanNUZXN0RXZlbnRDb25zdHJ1Y3RvckNvbnN0cnVjdG9yKSwgKGludHB0cl90KSBz
dGF0aWNfY2FzdDxQdXRQcm9wZXJ0eVNsb3Q6OlB1dFZhbHVlRnVuYz4oMCkgfSwKICAgICB7IDAs
IDAsIE5vSW50cmluc2ljLCAwLCAwIH0KIH07CkBAIC0xOTMsMTEgKzE5MywxMyBAQCBFbmNvZGVk
SlNWYWx1ZSBqc1Rlc3RFdmVudENvbnN0cnVjdG9yQXR0cjIoRXhlY1N0YXRlKiBleGVjLCBFbmNv
ZGVkSlNWYWx1ZSBzbG90QgogfQogCiAKLUVuY29kZWRKU1ZhbHVlIGpzVGVzdEV2ZW50Q29uc3Ry
dWN0b3JDb25zdHJ1Y3RvcihFeGVjU3RhdGUqIGV4ZWMsIEVuY29kZWRKU1ZhbHVlLCBFbmNvZGVk
SlNWYWx1ZSB0aGlzVmFsdWUsIFByb3BlcnR5TmFtZSkKK0VuY29kZWRKU1ZhbHVlIGpzVGVzdEV2
ZW50Q29uc3RydWN0b3JDb25zdHJ1Y3RvcihFeGVjU3RhdGUqIGV4ZWMsIEVuY29kZWRKU1ZhbHVl
IHRoaXNWYWx1ZSwgRW5jb2RlZEpTVmFsdWUsIFByb3BlcnR5TmFtZSkKIHsKICAgICBKU1Rlc3RF
dmVudENvbnN0cnVjdG9yKiBkb21PYmplY3QgPSBqc0R5bmFtaWNDYXN0PEpTVGVzdEV2ZW50Q29u
c3RydWN0b3IqPihKU1ZhbHVlOjpkZWNvZGUodGhpc1ZhbHVlKSk7CiAgICAgaWYgKCFkb21PYmpl
Y3QpCiAgICAgICAgIHJldHVybiB0aHJvd1ZNVHlwZUVycm9yKGV4ZWMpOworICAgIGlmICghZG9t
T2JqZWN0KQorICAgICAgICByZXR1cm4gdGhyb3dWTVR5cGVFcnJvcihleGVjKTsKICAgICByZXR1
cm4gSlNWYWx1ZTo6ZW5jb2RlKEpTVGVzdEV2ZW50Q29uc3RydWN0b3I6OmdldENvbnN0cnVjdG9y
KGV4ZWMtPnZtKCksIGRvbU9iamVjdC0+Z2xvYmFsT2JqZWN0KCkpKTsKIH0KIApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdEV2ZW50VGFy
Z2V0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RF
dmVudFRhcmdldC5jcHAKaW5kZXggZTA2ZTcxYjE0MWEyZDIyZGY2MTEwNDdhMjU4NTI0NGUzZTA2
OTE2ZC4uYzgwNjk4YmJiYjgwMGE5OTkwZjZmMjE5YWYxYWI1ZDNlNjJlOGMxZSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdEV2ZW50VGFy
Z2V0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNU
ZXN0RXZlbnRUYXJnZXQuY3BwCkBAIC0xNjksMTEgKzE2OSwxMyBAQCBib29sIEpTVGVzdEV2ZW50
VGFyZ2V0OjpnZXRPd25Qcm9wZXJ0eVNsb3RCeUluZGV4KEpTT2JqZWN0KiBvYmplY3QsIEV4ZWNT
dGF0ZSogZQogICAgIHJldHVybiBCYXNlOjpnZXRPd25Qcm9wZXJ0eVNsb3RCeUluZGV4KHRoaXNP
YmplY3QsIGV4ZWMsIGluZGV4LCBzbG90KTsKIH0KIAotRW5jb2RlZEpTVmFsdWUganNUZXN0RXZl
bnRUYXJnZXRDb25zdHJ1Y3RvcihFeGVjU3RhdGUqIGV4ZWMsIEVuY29kZWRKU1ZhbHVlLCBFbmNv
ZGVkSlNWYWx1ZSB0aGlzVmFsdWUsIFByb3BlcnR5TmFtZSkKK0VuY29kZWRKU1ZhbHVlIGpzVGVz
dEV2ZW50VGFyZ2V0Q29uc3RydWN0b3IoRXhlY1N0YXRlKiBleGVjLCBFbmNvZGVkSlNWYWx1ZSB0
aGlzVmFsdWUsIEVuY29kZWRKU1ZhbHVlLCBQcm9wZXJ0eU5hbWUpCiB7CiAgICAgSlNUZXN0RXZl
bnRUYXJnZXQqIGRvbU9iamVjdCA9IGpzRHluYW1pY0Nhc3Q8SlNUZXN0RXZlbnRUYXJnZXQqPihK
U1ZhbHVlOjpkZWNvZGUodGhpc1ZhbHVlKSk7CiAgICAgaWYgKCFkb21PYmplY3QpCiAgICAgICAg
IHJldHVybiB0aHJvd1ZNVHlwZUVycm9yKGV4ZWMpOworICAgIGlmICghZG9tT2JqZWN0KQorICAg
ICAgICByZXR1cm4gdGhyb3dWTVR5cGVFcnJvcihleGVjKTsKICAgICByZXR1cm4gSlNWYWx1ZTo6
ZW5jb2RlKEpTVGVzdEV2ZW50VGFyZ2V0OjpnZXRDb25zdHJ1Y3RvcihleGVjLT52bSgpLCBkb21P
YmplY3QtPmdsb2JhbE9iamVjdCgpKSk7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RFeGNlcHRpb24uY3BwIGIvU291cmNlL1dl
YkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdEV4Y2VwdGlvbi5jcHAKaW5kZXgg
NWI2MWZjMTY2ZTk1NGRhNjFkZjU2MmE5ZWRiMGFiMGY1MDBhMTAwMC4uZGViYzhlMTk1MzRmZDZj
MjE3ODczMDA3OTkxMDZlOTRjOTUwODZmMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdEV4Y2VwdGlvbi5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdEV4Y2VwdGlvbi5jcHAKQEAgLTM0
LDcgKzM0LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiBzdGF0aWMgY29uc3QgSGFzaFRhYmxl
VmFsdWUgSlNUZXN0RXhjZXB0aW9uVGFibGVWYWx1ZXNbXSA9CiB7Ci0gICAgeyAibmFtZSIsIERv
bnREZWxldGUgfCBSZWFkT25seSB8IEN1c3RvbUFjY2Vzc29yLCBOb0ludHJpbnNpYywgKGludHB0
cl90KXN0YXRpY19jYXN0PFByb3BlcnR5U2xvdDo6R2V0VmFsdWVGdW5jPihqc1Rlc3RFeGNlcHRp
b25OYW1lKSwgKGludHB0cl90KSBzdGF0aWNfY2FzdDxQdXRQcm9wZXJ0eVNsb3Q6OlB1dFZhbHVl
RnVuYz4oMCkgfSwKKyAgICB7ICJuYW1lIiwgRG9udERlbGV0ZSB8IFJlYWRPbmx5LCBOb0ludHJp
bnNpYywgKGludHB0cl90KXN0YXRpY19jYXN0PFByb3BlcnR5U2xvdDo6R2V0VmFsdWVGdW5jPihq
c1Rlc3RFeGNlcHRpb25OYW1lKSwgKGludHB0cl90KSBzdGF0aWNfY2FzdDxQdXRQcm9wZXJ0eVNs
b3Q6OlB1dFZhbHVlRnVuYz4oMCkgfSwKICAgICB7ICJjb25zdHJ1Y3RvciIsIERvbnRFbnVtIHwg
UmVhZE9ubHksIE5vSW50cmluc2ljLCAoaW50cHRyX3Qpc3RhdGljX2Nhc3Q8UHJvcGVydHlTbG90
OjpHZXRWYWx1ZUZ1bmM+KGpzVGVzdEV4Y2VwdGlvbkNvbnN0cnVjdG9yKSwgKGludHB0cl90KSBz
dGF0aWNfY2FzdDxQdXRQcm9wZXJ0eVNsb3Q6OlB1dFZhbHVlRnVuYz4oMCkgfSwKICAgICB7IDAs
IDAsIE5vSW50cmluc2ljLCAwLCAwIH0KIH07CkBAIC0xMzMsMTEgKzEzMywxMyBAQCBFbmNvZGVk
SlNWYWx1ZSBqc1Rlc3RFeGNlcHRpb25OYW1lKEV4ZWNTdGF0ZSogZXhlYywgRW5jb2RlZEpTVmFs
dWUgc2xvdEJhc2UsIEVuYwogfQogCiAKLUVuY29kZWRKU1ZhbHVlIGpzVGVzdEV4Y2VwdGlvbkNv
bnN0cnVjdG9yKEV4ZWNTdGF0ZSogZXhlYywgRW5jb2RlZEpTVmFsdWUsIEVuY29kZWRKU1ZhbHVl
IHRoaXNWYWx1ZSwgUHJvcGVydHlOYW1lKQorRW5jb2RlZEpTVmFsdWUganNUZXN0RXhjZXB0aW9u
Q29uc3RydWN0b3IoRXhlY1N0YXRlKiBleGVjLCBFbmNvZGVkSlNWYWx1ZSB0aGlzVmFsdWUsIEVu
Y29kZWRKU1ZhbHVlLCBQcm9wZXJ0eU5hbWUpCiB7CiAgICAgSlNUZXN0RXhjZXB0aW9uKiBkb21P
YmplY3QgPSBqc0R5bmFtaWNDYXN0PEpTVGVzdEV4Y2VwdGlvbio+KEpTVmFsdWU6OmRlY29kZSh0
aGlzVmFsdWUpKTsKICAgICBpZiAoIWRvbU9iamVjdCkKICAgICAgICAgcmV0dXJuIHRocm93Vk1U
eXBlRXJyb3IoZXhlYyk7CisgICAgaWYgKCFkb21PYmplY3QpCisgICAgICAgIHJldHVybiB0aHJv
d1ZNVHlwZUVycm9yKGV4ZWMpOwogICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUoSlNUZXN0RXhj
ZXB0aW9uOjpnZXRDb25zdHJ1Y3RvcihleGVjLT52bSgpLCBkb21PYmplY3QtPmdsb2JhbE9iamVj
dCgpKSk7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMv
dGVzdC9KUy9KU1Rlc3RHZW5lcmF0ZUlzUmVhY2hhYmxlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RHZW5lcmF0ZUlzUmVhY2hhYmxlLmNwcAppbmRl
eCA0NTM3YmU4ZDUzZWY2ZmFmMmQ4NTU4NTc1Zjc5N2Y4MzY2YjZkMTlmLi5jYzMyNjQ3ZDY3OWEy
NDc2MWM3ZGI0NWY5MzUxMWIxNjk0MTJkNGI2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0R2VuZXJhdGVJc1JlYWNoYWJsZS5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdEdlbmVyYXRl
SXNSZWFjaGFibGUuY3BwCkBAIC0xMTcsMTEgKzExNywxMyBAQCBib29sIEpTVGVzdEdlbmVyYXRl
SXNSZWFjaGFibGU6OmdldE93blByb3BlcnR5U2xvdChKU09iamVjdCogb2JqZWN0LCBFeGVjU3Rh
dGUqCiAgICAgcmV0dXJuIGdldFN0YXRpY1ZhbHVlU2xvdDxKU1Rlc3RHZW5lcmF0ZUlzUmVhY2hh
YmxlLCBCYXNlPihleGVjLCBKU1Rlc3RHZW5lcmF0ZUlzUmVhY2hhYmxlVGFibGUsIHRoaXNPYmpl
Y3QsIHByb3BlcnR5TmFtZSwgc2xvdCk7CiB9CiAKLUVuY29kZWRKU1ZhbHVlIGpzVGVzdEdlbmVy
YXRlSXNSZWFjaGFibGVDb25zdHJ1Y3RvcihFeGVjU3RhdGUqIGV4ZWMsIEVuY29kZWRKU1ZhbHVl
LCBFbmNvZGVkSlNWYWx1ZSB0aGlzVmFsdWUsIFByb3BlcnR5TmFtZSkKK0VuY29kZWRKU1ZhbHVl
IGpzVGVzdEdlbmVyYXRlSXNSZWFjaGFibGVDb25zdHJ1Y3RvcihFeGVjU3RhdGUqIGV4ZWMsIEVu
Y29kZWRKU1ZhbHVlIHRoaXNWYWx1ZSwgRW5jb2RlZEpTVmFsdWUsIFByb3BlcnR5TmFtZSkKIHsK
ICAgICBKU1Rlc3RHZW5lcmF0ZUlzUmVhY2hhYmxlKiBkb21PYmplY3QgPSBqc0R5bmFtaWNDYXN0
PEpTVGVzdEdlbmVyYXRlSXNSZWFjaGFibGUqPihKU1ZhbHVlOjpkZWNvZGUodGhpc1ZhbHVlKSk7
CiAgICAgaWYgKCFkb21PYmplY3QpCiAgICAgICAgIHJldHVybiB0aHJvd1ZNVHlwZUVycm9yKGV4
ZWMpOworICAgIGlmICghZG9tT2JqZWN0KQorICAgICAgICByZXR1cm4gdGhyb3dWTVR5cGVFcnJv
cihleGVjKTsKICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKEpTVGVzdEdlbmVyYXRlSXNSZWFj
aGFibGU6OmdldENvbnN0cnVjdG9yKGV4ZWMtPnZtKCksIGRvbU9iamVjdC0+Z2xvYmFsT2JqZWN0
KCkpKTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90
ZXN0L0pTL0pTVGVzdEludGVyZmFjZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3Jp
cHRzL3Rlc3QvSlMvSlNUZXN0SW50ZXJmYWNlLmNwcAppbmRleCA1NWYwNWJjYzRhOWRmYTZjYTI2
MDUzNDI2ZTI3YjZlODQ4OGQ5N2RhLi5hNDA3NzU3NWFkYzk4YWE4MmJiOTUxZjMyMzk4NmQyNTQx
YTRhYTI2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3Qv
SlMvSlNUZXN0SW50ZXJmYWNlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3Jp
cHRzL3Rlc3QvSlMvSlNUZXN0SW50ZXJmYWNlLmNwcApAQCAtNTIsMjggKzUyLDI4IEBAIG5hbWVz
cGFjZSBXZWJDb3JlIHsKIHN0YXRpYyBjb25zdCBIYXNoVGFibGVWYWx1ZSBKU1Rlc3RJbnRlcmZh
Y2VUYWJsZVZhbHVlc1tdID0KIHsKICNpZiBFTkFCTEUoQ29uZGl0aW9uMjIpIHx8IEVOQUJMRShD
b25kaXRpb24yMykKLSAgICB7ICJpbXBsZW1lbnRzU3RyMSIsIERvbnREZWxldGUgfCBSZWFkT25s
eSB8IEN1c3RvbUFjY2Vzc29yLCBOb0ludHJpbnNpYywgKGludHB0cl90KXN0YXRpY19jYXN0PFBy
b3BlcnR5U2xvdDo6R2V0VmFsdWVGdW5jPihqc1Rlc3RJbnRlcmZhY2VJbXBsZW1lbnRzU3RyMSks
IChpbnRwdHJfdCkgc3RhdGljX2Nhc3Q8UHV0UHJvcGVydHlTbG90OjpQdXRWYWx1ZUZ1bmM+KDAp
IH0sCisgICAgeyAiaW1wbGVtZW50c1N0cjEiLCBEb250RGVsZXRlIHwgUmVhZE9ubHksIE5vSW50
cmluc2ljLCAoaW50cHRyX3Qpc3RhdGljX2Nhc3Q8UHJvcGVydHlTbG90OjpHZXRWYWx1ZUZ1bmM+
KGpzVGVzdEludGVyZmFjZUltcGxlbWVudHNTdHIxKSwgKGludHB0cl90KSBzdGF0aWNfY2FzdDxQ
dXRQcm9wZXJ0eVNsb3Q6OlB1dFZhbHVlRnVuYz4oMCkgfSwKICNlbmRpZgogI2lmIEVOQUJMRShD
b25kaXRpb24yMikgfHwgRU5BQkxFKENvbmRpdGlvbjIzKQotICAgIHsgImltcGxlbWVudHNTdHIy
IiwgRG9udERlbGV0ZSB8IEN1c3RvbUFjY2Vzc29yLCBOb0ludHJpbnNpYywgKGludHB0cl90KXN0
YXRpY19jYXN0PFByb3BlcnR5U2xvdDo6R2V0VmFsdWVGdW5jPihqc1Rlc3RJbnRlcmZhY2VJbXBs
ZW1lbnRzU3RyMiksIChpbnRwdHJfdCkgc3RhdGljX2Nhc3Q8UHV0UHJvcGVydHlTbG90OjpQdXRW
YWx1ZUZ1bmM+KHNldEpTVGVzdEludGVyZmFjZUltcGxlbWVudHNTdHIyKSB9LAorICAgIHsgImlt
cGxlbWVudHNTdHIyIiwgRG9udERlbGV0ZSwgTm9JbnRyaW5zaWMsIChpbnRwdHJfdClzdGF0aWNf
Y2FzdDxQcm9wZXJ0eVNsb3Q6OkdldFZhbHVlRnVuYz4oanNUZXN0SW50ZXJmYWNlSW1wbGVtZW50
c1N0cjIpLCAoaW50cHRyX3QpIHN0YXRpY19jYXN0PFB1dFByb3BlcnR5U2xvdDo6UHV0VmFsdWVG
dW5jPihzZXRKU1Rlc3RJbnRlcmZhY2VJbXBsZW1lbnRzU3RyMikgfSwKICNlbmRpZgogI2lmIEVO
QUJMRShDb25kaXRpb24yMikgfHwgRU5BQkxFKENvbmRpdGlvbjIzKQotICAgIHsgImltcGxlbWVu
dHNTdHIzIiwgRG9udERlbGV0ZSB8IEN1c3RvbUFjY2Vzc29yLCBOb0ludHJpbnNpYywgKGludHB0
cl90KXN0YXRpY19jYXN0PFByb3BlcnR5U2xvdDo6R2V0VmFsdWVGdW5jPihqc1Rlc3RJbnRlcmZh
Y2VJbXBsZW1lbnRzU3RyMyksIChpbnRwdHJfdCkgc3RhdGljX2Nhc3Q8UHV0UHJvcGVydHlTbG90
OjpQdXRWYWx1ZUZ1bmM+KHNldEpTVGVzdEludGVyZmFjZUltcGxlbWVudHNTdHIzKSB9LAorICAg
IHsgImltcGxlbWVudHNTdHIzIiwgRG9udERlbGV0ZSwgTm9JbnRyaW5zaWMsIChpbnRwdHJfdClz
dGF0aWNfY2FzdDxQcm9wZXJ0eVNsb3Q6OkdldFZhbHVlRnVuYz4oanNUZXN0SW50ZXJmYWNlSW1w
bGVtZW50c1N0cjMpLCAoaW50cHRyX3QpIHN0YXRpY19jYXN0PFB1dFByb3BlcnR5U2xvdDo6UHV0
VmFsdWVGdW5jPihzZXRKU1Rlc3RJbnRlcmZhY2VJbXBsZW1lbnRzU3RyMykgfSwKICNlbmRpZgog
I2lmIEVOQUJMRShDb25kaXRpb24yMikgfHwgRU5BQkxFKENvbmRpdGlvbjIzKQotICAgIHsgImlt
cGxlbWVudHNOb2RlIiwgRG9udERlbGV0ZSB8IEN1c3RvbUFjY2Vzc29yLCBOb0ludHJpbnNpYywg
KGludHB0cl90KXN0YXRpY19jYXN0PFByb3BlcnR5U2xvdDo6R2V0VmFsdWVGdW5jPihqc1Rlc3RJ
bnRlcmZhY2VJbXBsZW1lbnRzTm9kZSksIChpbnRwdHJfdCkgc3RhdGljX2Nhc3Q8UHV0UHJvcGVy
dHlTbG90OjpQdXRWYWx1ZUZ1bmM+KHNldEpTVGVzdEludGVyZmFjZUltcGxlbWVudHNOb2RlKSB9
LAorICAgIHsgImltcGxlbWVudHNOb2RlIiwgRG9udERlbGV0ZSwgTm9JbnRyaW5zaWMsIChpbnRw
dHJfdClzdGF0aWNfY2FzdDxQcm9wZXJ0eVNsb3Q6OkdldFZhbHVlRnVuYz4oanNUZXN0SW50ZXJm
YWNlSW1wbGVtZW50c05vZGUpLCAoaW50cHRyX3QpIHN0YXRpY19jYXN0PFB1dFByb3BlcnR5U2xv
dDo6UHV0VmFsdWVGdW5jPihzZXRKU1Rlc3RJbnRlcmZhY2VJbXBsZW1lbnRzTm9kZSkgfSwKICNl
bmRpZgogI2lmIEVOQUJMRShDb25kaXRpb24xMSkgfHwgRU5BQkxFKENvbmRpdGlvbjEyKQotICAg
IHsgInN1cHBsZW1lbnRhbFN0cjEiLCBEb250RGVsZXRlIHwgUmVhZE9ubHkgfCBDdXN0b21BY2Nl
c3NvciwgTm9JbnRyaW5zaWMsIChpbnRwdHJfdClzdGF0aWNfY2FzdDxQcm9wZXJ0eVNsb3Q6Okdl
dFZhbHVlRnVuYz4oanNUZXN0SW50ZXJmYWNlU3VwcGxlbWVudGFsU3RyMSksIChpbnRwdHJfdCkg
c3RhdGljX2Nhc3Q8UHV0UHJvcGVydHlTbG90OjpQdXRWYWx1ZUZ1bmM+KDApIH0sCisgICAgeyAi
c3VwcGxlbWVudGFsU3RyMSIsIERvbnREZWxldGUgfCBSZWFkT25seSwgTm9JbnRyaW5zaWMsIChp
bnRwdHJfdClzdGF0aWNfY2FzdDxQcm9wZXJ0eVNsb3Q6OkdldFZhbHVlRnVuYz4oanNUZXN0SW50
ZXJmYWNlU3VwcGxlbWVudGFsU3RyMSksIChpbnRwdHJfdCkgc3RhdGljX2Nhc3Q8UHV0UHJvcGVy
dHlTbG90OjpQdXRWYWx1ZUZ1bmM+KDApIH0sCiAjZW5kaWYKICNpZiBFTkFCTEUoQ29uZGl0aW9u
MTEpIHx8IEVOQUJMRShDb25kaXRpb24xMikKLSAgICB7ICJzdXBwbGVtZW50YWxTdHIyIiwgRG9u
dERlbGV0ZSB8IEN1c3RvbUFjY2Vzc29yLCBOb0ludHJpbnNpYywgKGludHB0cl90KXN0YXRpY19j
YXN0PFByb3BlcnR5U2xvdDo6R2V0VmFsdWVGdW5jPihqc1Rlc3RJbnRlcmZhY2VTdXBwbGVtZW50
YWxTdHIyKSwgKGludHB0cl90KSBzdGF0aWNfY2FzdDxQdXRQcm9wZXJ0eVNsb3Q6OlB1dFZhbHVl
RnVuYz4oc2V0SlNUZXN0SW50ZXJmYWNlU3VwcGxlbWVudGFsU3RyMikgfSwKKyAgICB7ICJzdXBw
bGVtZW50YWxTdHIyIiwgRG9udERlbGV0ZSwgTm9JbnRyaW5zaWMsIChpbnRwdHJfdClzdGF0aWNf
Y2FzdDxQcm9wZXJ0eVNsb3Q6OkdldFZhbHVlRnVuYz4oanNUZXN0SW50ZXJmYWNlU3VwcGxlbWVu
dGFsU3RyMiksIChpbnRwdHJfdCkgc3RhdGljX2Nhc3Q8UHV0UHJvcGVydHlTbG90OjpQdXRWYWx1
ZUZ1bmM+KHNldEpTVGVzdEludGVyZmFjZVN1cHBsZW1lbnRhbFN0cjIpIH0sCiAjZW5kaWYKICNp
ZiBFTkFCTEUoQ29uZGl0aW9uMTEpIHx8IEVOQUJMRShDb25kaXRpb24xMikKLSAgICB7ICJzdXBw
bGVtZW50YWxTdHIzIiwgRG9udERlbGV0ZSB8IEN1c3RvbUFjY2Vzc29yLCBOb0ludHJpbnNpYywg
KGludHB0cl90KXN0YXRpY19jYXN0PFByb3BlcnR5U2xvdDo6R2V0VmFsdWVGdW5jPihqc1Rlc3RJ
bnRlcmZhY2VTdXBwbGVtZW50YWxTdHIzKSwgKGludHB0cl90KSBzdGF0aWNfY2FzdDxQdXRQcm9w
ZXJ0eVNsb3Q6OlB1dFZhbHVlRnVuYz4oc2V0SlNUZXN0SW50ZXJmYWNlU3VwcGxlbWVudGFsU3Ry
MykgfSwKKyAgICB7ICJzdXBwbGVtZW50YWxTdHIzIiwgRG9udERlbGV0ZSwgTm9JbnRyaW5zaWMs
IChpbnRwdHJfdClzdGF0aWNfY2FzdDxQcm9wZXJ0eVNsb3Q6OkdldFZhbHVlRnVuYz4oanNUZXN0
SW50ZXJmYWNlU3VwcGxlbWVudGFsU3RyMyksIChpbnRwdHJfdCkgc3RhdGljX2Nhc3Q8UHV0UHJv
cGVydHlTbG90OjpQdXRWYWx1ZUZ1bmM+KHNldEpTVGVzdEludGVyZmFjZVN1cHBsZW1lbnRhbFN0
cjMpIH0sCiAjZW5kaWYKICNpZiBFTkFCTEUoQ29uZGl0aW9uMTEpIHx8IEVOQUJMRShDb25kaXRp
b24xMikKLSAgICB7ICJzdXBwbGVtZW50YWxOb2RlIiwgRG9udERlbGV0ZSB8IEN1c3RvbUFjY2Vz
c29yLCBOb0ludHJpbnNpYywgKGludHB0cl90KXN0YXRpY19jYXN0PFByb3BlcnR5U2xvdDo6R2V0
VmFsdWVGdW5jPihqc1Rlc3RJbnRlcmZhY2VTdXBwbGVtZW50YWxOb2RlKSwgKGludHB0cl90KSBz
dGF0aWNfY2FzdDxQdXRQcm9wZXJ0eVNsb3Q6OlB1dFZhbHVlRnVuYz4oc2V0SlNUZXN0SW50ZXJm
YWNlU3VwcGxlbWVudGFsTm9kZSkgfSwKKyAgICB7ICJzdXBwbGVtZW50YWxOb2RlIiwgRG9udERl
bGV0ZSwgTm9JbnRyaW5zaWMsIChpbnRwdHJfdClzdGF0aWNfY2FzdDxQcm9wZXJ0eVNsb3Q6Okdl
dFZhbHVlRnVuYz4oanNUZXN0SW50ZXJmYWNlU3VwcGxlbWVudGFsTm9kZSksIChpbnRwdHJfdCkg
c3RhdGljX2Nhc3Q8UHV0UHJvcGVydHlTbG90OjpQdXRWYWx1ZUZ1bmM+KHNldEpTVGVzdEludGVy
ZmFjZVN1cHBsZW1lbnRhbE5vZGUpIH0sCiAjZW5kaWYKICAgICB7ICJjb25zdHJ1Y3RvciIsIERv
bnRFbnVtIHwgUmVhZE9ubHksIE5vSW50cmluc2ljLCAoaW50cHRyX3Qpc3RhdGljX2Nhc3Q8UHJv
cGVydHlTbG90OjpHZXRWYWx1ZUZ1bmM+KGpzVGVzdEludGVyZmFjZUNvbnN0cnVjdG9yKSwgKGlu
dHB0cl90KSBzdGF0aWNfY2FzdDxQdXRQcm9wZXJ0eVNsb3Q6OlB1dFZhbHVlRnVuYz4oMCkgfSwK
ICAgICB7IDAsIDAsIE5vSW50cmluc2ljLCAwLCAwIH0KQEAgLTQzMywxMSArNDMzLDEzIEBAIEVu
Y29kZWRKU1ZhbHVlIGpzVGVzdEludGVyZmFjZVN1cHBsZW1lbnRhbE5vZGUoRXhlY1N0YXRlKiBl
eGVjLCBFbmNvZGVkSlNWYWx1ZSBzCiAKICNlbmRpZgogCi1FbmNvZGVkSlNWYWx1ZSBqc1Rlc3RJ
bnRlcmZhY2VDb25zdHJ1Y3RvcihFeGVjU3RhdGUqIGV4ZWMsIEVuY29kZWRKU1ZhbHVlLCBFbmNv
ZGVkSlNWYWx1ZSB0aGlzVmFsdWUsIFByb3BlcnR5TmFtZSkKK0VuY29kZWRKU1ZhbHVlIGpzVGVz
dEludGVyZmFjZUNvbnN0cnVjdG9yKEV4ZWNTdGF0ZSogZXhlYywgRW5jb2RlZEpTVmFsdWUgdGhp
c1ZhbHVlLCBFbmNvZGVkSlNWYWx1ZSwgUHJvcGVydHlOYW1lKQogewogICAgIEpTVGVzdEludGVy
ZmFjZSogZG9tT2JqZWN0ID0ganNEeW5hbWljQ2FzdDxKU1Rlc3RJbnRlcmZhY2UqPihKU1ZhbHVl
OjpkZWNvZGUodGhpc1ZhbHVlKSk7CiAgICAgaWYgKCFkb21PYmplY3QpCiAgICAgICAgIHJldHVy
biB0aHJvd1ZNVHlwZUVycm9yKGV4ZWMpOworICAgIGlmICghZG9tT2JqZWN0KQorICAgICAgICBy
ZXR1cm4gdGhyb3dWTVR5cGVFcnJvcihleGVjKTsKICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2Rl
KEpTVGVzdEludGVyZmFjZTo6Z2V0Q29uc3RydWN0b3IoZXhlYy0+dm0oKSwgZG9tT2JqZWN0LT5n
bG9iYWxPYmplY3QoKSkpOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0TWVkaWFRdWVyeUxpc3RMaXN0ZW5lci5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0TWVkaWFRdWVyeUxpc3RM
aXN0ZW5lci5jcHAKaW5kZXggOTIxZWVmOWY2YjIwZDc2ZDU4ODFmY2ZiMDk4NDIzMzVlYWIxM2Uz
Yy4uYjdiODhjOGM3MDM5MzJkM2FhNDU1Y2NmNDk1YmNmMzMwZTJlNjI3YyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE1lZGlhUXVlcnlM
aXN0TGlzdGVuZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVz
dC9KUy9KU1Rlc3RNZWRpYVF1ZXJ5TGlzdExpc3RlbmVyLmNwcApAQCAtMTI4LDExICsxMjgsMTMg
QEAgYm9vbCBKU1Rlc3RNZWRpYVF1ZXJ5TGlzdExpc3RlbmVyOjpnZXRPd25Qcm9wZXJ0eVNsb3Qo
SlNPYmplY3QqIG9iamVjdCwgRXhlY1N0YXQKICAgICByZXR1cm4gZ2V0U3RhdGljVmFsdWVTbG90
PEpTVGVzdE1lZGlhUXVlcnlMaXN0TGlzdGVuZXIsIEJhc2U+KGV4ZWMsIEpTVGVzdE1lZGlhUXVl
cnlMaXN0TGlzdGVuZXJUYWJsZSwgdGhpc09iamVjdCwgcHJvcGVydHlOYW1lLCBzbG90KTsKIH0K
IAotRW5jb2RlZEpTVmFsdWUganNUZXN0TWVkaWFRdWVyeUxpc3RMaXN0ZW5lckNvbnN0cnVjdG9y
KEV4ZWNTdGF0ZSogZXhlYywgRW5jb2RlZEpTVmFsdWUsIEVuY29kZWRKU1ZhbHVlIHRoaXNWYWx1
ZSwgUHJvcGVydHlOYW1lKQorRW5jb2RlZEpTVmFsdWUganNUZXN0TWVkaWFRdWVyeUxpc3RMaXN0
ZW5lckNvbnN0cnVjdG9yKEV4ZWNTdGF0ZSogZXhlYywgRW5jb2RlZEpTVmFsdWUgdGhpc1ZhbHVl
LCBFbmNvZGVkSlNWYWx1ZSwgUHJvcGVydHlOYW1lKQogewogICAgIEpTVGVzdE1lZGlhUXVlcnlM
aXN0TGlzdGVuZXIqIGRvbU9iamVjdCA9IGpzRHluYW1pY0Nhc3Q8SlNUZXN0TWVkaWFRdWVyeUxp
c3RMaXN0ZW5lcio+KEpTVmFsdWU6OmRlY29kZSh0aGlzVmFsdWUpKTsKICAgICBpZiAoIWRvbU9i
amVjdCkKICAgICAgICAgcmV0dXJuIHRocm93Vk1UeXBlRXJyb3IoZXhlYyk7CisgICAgaWYgKCFk
b21PYmplY3QpCisgICAgICAgIHJldHVybiB0aHJvd1ZNVHlwZUVycm9yKGV4ZWMpOwogICAgIHJl
dHVybiBKU1ZhbHVlOjplbmNvZGUoSlNUZXN0TWVkaWFRdWVyeUxpc3RMaXN0ZW5lcjo6Z2V0Q29u
c3RydWN0b3IoZXhlYy0+dm0oKSwgZG9tT2JqZWN0LT5nbG9iYWxPYmplY3QoKSkpOwogfQogCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0
TmFtZWRDb25zdHJ1Y3Rvci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rl
c3QvSlMvSlNUZXN0TmFtZWRDb25zdHJ1Y3Rvci5jcHAKaW5kZXggZjQ2ZWQwZGJlZGM1N2M5OTA2
NjI2ZmQ5ZjBhODFjYzZhMDRiMzdiOS4uNDc2MjkyMDhiN2ExOWZlNDQyOTk5NmMyZWMxYTAwNTFm
ZTYxZjhhNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0
L0pTL0pTVGVzdE5hbWVkQ29uc3RydWN0b3IuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3ROYW1lZENvbnN0cnVjdG9yLmNwcApAQCAtMTY0LDEx
ICsxNjQsMTMgQEAgYm9vbCBKU1Rlc3ROYW1lZENvbnN0cnVjdG9yOjpnZXRPd25Qcm9wZXJ0eVNs
b3QoSlNPYmplY3QqIG9iamVjdCwgRXhlY1N0YXRlKiBleGUKICAgICByZXR1cm4gZ2V0U3RhdGlj
VmFsdWVTbG90PEpTVGVzdE5hbWVkQ29uc3RydWN0b3IsIEJhc2U+KGV4ZWMsIEpTVGVzdE5hbWVk
Q29uc3RydWN0b3JUYWJsZSwgdGhpc09iamVjdCwgcHJvcGVydHlOYW1lLCBzbG90KTsKIH0KIAot
RW5jb2RlZEpTVmFsdWUganNUZXN0TmFtZWRDb25zdHJ1Y3RvckNvbnN0cnVjdG9yKEV4ZWNTdGF0
ZSogZXhlYywgRW5jb2RlZEpTVmFsdWUsIEVuY29kZWRKU1ZhbHVlIHRoaXNWYWx1ZSwgUHJvcGVy
dHlOYW1lKQorRW5jb2RlZEpTVmFsdWUganNUZXN0TmFtZWRDb25zdHJ1Y3RvckNvbnN0cnVjdG9y
KEV4ZWNTdGF0ZSogZXhlYywgRW5jb2RlZEpTVmFsdWUgdGhpc1ZhbHVlLCBFbmNvZGVkSlNWYWx1
ZSwgUHJvcGVydHlOYW1lKQogewogICAgIEpTVGVzdE5hbWVkQ29uc3RydWN0b3IqIGRvbU9iamVj
dCA9IGpzRHluYW1pY0Nhc3Q8SlNUZXN0TmFtZWRDb25zdHJ1Y3Rvcio+KEpTVmFsdWU6OmRlY29k
ZSh0aGlzVmFsdWUpKTsKICAgICBpZiAoIWRvbU9iamVjdCkKICAgICAgICAgcmV0dXJuIHRocm93
Vk1UeXBlRXJyb3IoZXhlYyk7CisgICAgaWYgKCFkb21PYmplY3QpCisgICAgICAgIHJldHVybiB0
aHJvd1ZNVHlwZUVycm9yKGV4ZWMpOwogICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUoSlNUZXN0
TmFtZWRDb25zdHJ1Y3Rvcjo6Z2V0Q29uc3RydWN0b3IoZXhlYy0+dm0oKSwgZG9tT2JqZWN0LT5n
bG9iYWxPYmplY3QoKSkpOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0Tm9kZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0Tm9kZS5jcHAKaW5kZXggMzI4NmZmMWRlZGM3Njg2OWY3
NzZmYjE3MGJmZDYyZWU5MDNjOTllZC4uMjhmMjRiNjljZDljYTM5ODdkZjlmMjM0ZGEwODFlMjJi
MTIzZjMzMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0
L0pTL0pTVGVzdE5vZGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMv
dGVzdC9KUy9KU1Rlc3ROb2RlLmNwcApAQCAtMTIxLDExICsxMjEsMTMgQEAgYm9vbCBKU1Rlc3RO
b2RlOjpnZXRPd25Qcm9wZXJ0eVNsb3QoSlNPYmplY3QqIG9iamVjdCwgRXhlY1N0YXRlKiBleGVj
LCBQcm9wZXJ0eU4KICAgICByZXR1cm4gZ2V0U3RhdGljVmFsdWVTbG90PEpTVGVzdE5vZGUsIEJh
c2U+KGV4ZWMsIEpTVGVzdE5vZGVUYWJsZSwgdGhpc09iamVjdCwgcHJvcGVydHlOYW1lLCBzbG90
KTsKIH0KIAotRW5jb2RlZEpTVmFsdWUganNUZXN0Tm9kZUNvbnN0cnVjdG9yKEV4ZWNTdGF0ZSog
ZXhlYywgRW5jb2RlZEpTVmFsdWUsIEVuY29kZWRKU1ZhbHVlIHRoaXNWYWx1ZSwgUHJvcGVydHlO
YW1lKQorRW5jb2RlZEpTVmFsdWUganNUZXN0Tm9kZUNvbnN0cnVjdG9yKEV4ZWNTdGF0ZSogZXhl
YywgRW5jb2RlZEpTVmFsdWUgdGhpc1ZhbHVlLCBFbmNvZGVkSlNWYWx1ZSwgUHJvcGVydHlOYW1l
KQogewogICAgIEpTVGVzdE5vZGUqIGRvbU9iamVjdCA9IGpzRHluYW1pY0Nhc3Q8SlNUZXN0Tm9k
ZSo+KEpTVmFsdWU6OmRlY29kZSh0aGlzVmFsdWUpKTsKICAgICBpZiAoIWRvbU9iamVjdCkKICAg
ICAgICAgcmV0dXJuIHRocm93Vk1UeXBlRXJyb3IoZXhlYyk7CisgICAgaWYgKCFkb21PYmplY3Qp
CisgICAgICAgIHJldHVybiB0aHJvd1ZNVHlwZUVycm9yKGV4ZWMpOwogICAgIHJldHVybiBKU1Zh
bHVlOjplbmNvZGUoSlNUZXN0Tm9kZTo6Z2V0Q29uc3RydWN0b3IoZXhlYy0+dm0oKSwgZG9tT2Jq
ZWN0LT5nbG9iYWxPYmplY3QoKSkpOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0T2JqLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RPYmouY3BwCmluZGV4IGI2OTVjMWIxYzEzZjY1
ZmFjNzE0ZmJkMWQyNWYxNTRmMWU1ZWZjN2IuLjg2ZTllZmY2Mzc4NTc5YzNhY2M5NzUyMzg1N2M5
YmI4MjAwNzNmZGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMv
dGVzdC9KUy9KU1Rlc3RPYmouY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Njcmlw
dHMvdGVzdC9KUy9KU1Rlc3RPYmouY3BwCkBAIC03Nyw1MyArNzcsNTMgQEAgbmFtZXNwYWNlIFdl
YkNvcmUgewogCiBzdGF0aWMgY29uc3QgSGFzaFRhYmxlVmFsdWUgSlNUZXN0T2JqVGFibGVWYWx1
ZXNbXSA9CiB7Ci0gICAgeyAicmVhZE9ubHlMb25nQXR0ciIsIERvbnREZWxldGUgfCBSZWFkT25s
eSB8IEN1c3RvbUFjY2Vzc29yLCBOb0ludHJpbnNpYywgKGludHB0cl90KXN0YXRpY19jYXN0PFBy
b3BlcnR5U2xvdDo6R2V0VmFsdWVGdW5jPihqc1Rlc3RPYmpSZWFkT25seUxvbmdBdHRyKSwgKGlu
dHB0cl90KSBzdGF0aWNfY2FzdDxQdXRQcm9wZXJ0eVNsb3Q6OlB1dFZhbHVlRnVuYz4oMCkgfSwK
LSAgICB7ICJyZWFkT25seVN0cmluZ0F0dHIiLCBEb250RGVsZXRlIHwgUmVhZE9ubHkgfCBDdXN0
b21BY2Nlc3NvciwgTm9JbnRyaW5zaWMsIChpbnRwdHJfdClzdGF0aWNfY2FzdDxQcm9wZXJ0eVNs
b3Q6OkdldFZhbHVlRnVuYz4oanNUZXN0T2JqUmVhZE9ubHlTdHJpbmdBdHRyKSwgKGludHB0cl90
KSBzdGF0aWNfY2FzdDxQdXRQcm9wZXJ0eVNsb3Q6OlB1dFZhbHVlRnVuYz4oMCkgfSwKLSAgICB7
ICJyZWFkT25seVRlc3RPYmpBdHRyIiwgRG9udERlbGV0ZSB8IFJlYWRPbmx5IHwgQ3VzdG9tQWNj
ZXNzb3IsIE5vSW50cmluc2ljLCAoaW50cHRyX3Qpc3RhdGljX2Nhc3Q8UHJvcGVydHlTbG90OjpH
ZXRWYWx1ZUZ1bmM+KGpzVGVzdE9ialJlYWRPbmx5VGVzdE9iakF0dHIpLCAoaW50cHRyX3QpIHN0
YXRpY19jYXN0PFB1dFByb3BlcnR5U2xvdDo6UHV0VmFsdWVGdW5jPigwKSB9LAorICAgIHsgInJl
YWRPbmx5TG9uZ0F0dHIiLCBEb250RGVsZXRlIHwgUmVhZE9ubHksIE5vSW50cmluc2ljLCAoaW50
cHRyX3Qpc3RhdGljX2Nhc3Q8UHJvcGVydHlTbG90OjpHZXRWYWx1ZUZ1bmM+KGpzVGVzdE9ialJl
YWRPbmx5TG9uZ0F0dHIpLCAoaW50cHRyX3QpIHN0YXRpY19jYXN0PFB1dFByb3BlcnR5U2xvdDo6
UHV0VmFsdWVGdW5jPigwKSB9LAorICAgIHsgInJlYWRPbmx5U3RyaW5nQXR0ciIsIERvbnREZWxl
dGUgfCBSZWFkT25seSwgTm9JbnRyaW5zaWMsIChpbnRwdHJfdClzdGF0aWNfY2FzdDxQcm9wZXJ0
eVNsb3Q6OkdldFZhbHVlRnVuYz4oanNUZXN0T2JqUmVhZE9ubHlTdHJpbmdBdHRyKSwgKGludHB0
cl90KSBzdGF0aWNfY2FzdDxQdXRQcm9wZXJ0eVNsb3Q6OlB1dFZhbHVlRnVuYz4oMCkgfSwKKyAg
ICB7ICJyZWFkT25seVRlc3RPYmpBdHRyIiwgRG9udERlbGV0ZSB8IFJlYWRPbmx5LCBOb0ludHJp
bnNpYywgKGludHB0cl90KXN0YXRpY19jYXN0PFByb3BlcnR5U2xvdDo6R2V0VmFsdWVGdW5jPihq
c1Rlc3RPYmpSZWFkT25seVRlc3RPYmpBdHRyKSwgKGludHB0cl90KSBzdGF0aWNfY2FzdDxQdXRQ
cm9wZXJ0eVNsb3Q6OlB1dFZhbHVlRnVuYz4oMCkgfSwKICAgICB7ICJUZXN0U3ViT2JqRW5hYmxl
ZEJ5U2V0dGluZyIsIERvbnRFbnVtLCBOb0ludHJpbnNpYywgKGludHB0cl90KXN0YXRpY19jYXN0
PFByb3BlcnR5U2xvdDo6R2V0VmFsdWVGdW5jPihqc1Rlc3RPYmpUZXN0U3ViT2JqRW5hYmxlZEJ5
U2V0dGluZ0NvbnN0cnVjdG9yKSwgKGludHB0cl90KSBzdGF0aWNfY2FzdDxQdXRQcm9wZXJ0eVNs
b3Q6OlB1dFZhbHVlRnVuYz4oc2V0SlNUZXN0T2JqVGVzdFN1Yk9iakVuYWJsZWRCeVNldHRpbmdD
b25zdHJ1Y3RvcikgfSwKLSAgICB7ICJlbnVtQXR0ciIsIERvbnREZWxldGUgfCBDdXN0b21BY2Nl
c3NvciwgTm9JbnRyaW5zaWMsIChpbnRwdHJfdClzdGF0aWNfY2FzdDxQcm9wZXJ0eVNsb3Q6Okdl
dFZhbHVlRnVuYz4oanNUZXN0T2JqRW51bUF0dHIpLCAoaW50cHRyX3QpIHN0YXRpY19jYXN0PFB1
dFByb3BlcnR5U2xvdDo6UHV0VmFsdWVGdW5jPihzZXRKU1Rlc3RPYmpFbnVtQXR0cikgfSwKLSAg
ICB7ICJieXRlQXR0ciIsIERvbnREZWxldGUgfCBDdXN0b21BY2Nlc3NvciwgTm9JbnRyaW5zaWMs
IChpbnRwdHJfdClzdGF0aWNfY2FzdDxQcm9wZXJ0eVNsb3Q6OkdldFZhbHVlRnVuYz4oanNUZXN0
T2JqQnl0ZUF0dHIpLCAoaW50cHRyX3QpIHN0YXRpY19jYXN0PFB1dFByb3BlcnR5U2xvdDo6UHV0
VmFsdWVGdW5jPihzZXRKU1Rlc3RPYmpCeXRlQXR0cikgfSwKLSAgICB7ICJvY3RldEF0dHIiLCBE
b250RGVsZXRlIHwgQ3VzdG9tQWNjZXNzb3IsIE5vSW50cmluc2ljLCAoaW50cHRyX3Qpc3RhdGlj
X2Nhc3Q8UHJvcGVydHlTbG90OjpHZXRWYWx1ZUZ1bmM+KGpzVGVzdE9iak9jdGV0QXR0ciksIChp
bnRwdHJfdCkgc3RhdGljX2Nhc3Q8UHV0UHJvcGVydHlTbG90OjpQdXRWYWx1ZUZ1bmM+KHNldEpT
VGVzdE9iak9jdGV0QXR0cikgfSwKLSAgICB7ICJzaG9ydEF0dHIiLCBEb250RGVsZXRlIHwgQ3Vz
dG9tQWNjZXNzb3IsIE5vSW50cmluc2ljLCAoaW50cHRyX3Qpc3RhdGljX2Nhc3Q8UHJvcGVydHlT
bG90OjpHZXRWYWx1ZUZ1bmM+KGpzVGVzdE9ialNob3J0QXR0ciksIChpbnRwdHJfdCkgc3RhdGlj
X2Nhc3Q8UHV0UHJvcGVydHlTbG90OjpQdXRWYWx1ZUZ1bmM+KHNldEpTVGVzdE9ialNob3J0QXR0
cikgfSwKLSAgICB7ICJ1bnNpZ25lZFNob3J0QXR0ciIsIERvbnREZWxldGUgfCBDdXN0b21BY2Nl
c3NvciwgTm9JbnRyaW5zaWMsIChpbnRwdHJfdClzdGF0aWNfY2FzdDxQcm9wZXJ0eVNsb3Q6Okdl
dFZhbHVlRnVuYz4oanNUZXN0T2JqVW5zaWduZWRTaG9ydEF0dHIpLCAoaW50cHRyX3QpIHN0YXRp
Y19jYXN0PFB1dFByb3BlcnR5U2xvdDo6UHV0VmFsdWVGdW5jPihzZXRKU1Rlc3RPYmpVbnNpZ25l
ZFNob3J0QXR0cikgfSwKLSAgICB7ICJsb25nQXR0ciIsIERvbnREZWxldGUgfCBDdXN0b21BY2Nl
c3NvciwgTm9JbnRyaW5zaWMsIChpbnRwdHJfdClzdGF0aWNfY2FzdDxQcm9wZXJ0eVNsb3Q6Okdl
dFZhbHVlRnVuYz4oanNUZXN0T2JqTG9uZ0F0dHIpLCAoaW50cHRyX3QpIHN0YXRpY19jYXN0PFB1
dFByb3BlcnR5U2xvdDo6UHV0VmFsdWVGdW5jPihzZXRKU1Rlc3RPYmpMb25nQXR0cikgfSwKLSAg
ICB7ICJsb25nTG9uZ0F0dHIiLCBEb250RGVsZXRlIHwgQ3VzdG9tQWNjZXNzb3IsIE5vSW50cmlu
c2ljLCAoaW50cHRyX3Qpc3RhdGljX2Nhc3Q8UHJvcGVydHlTbG90OjpHZXRWYWx1ZUZ1bmM+KGpz
VGVzdE9iakxvbmdMb25nQXR0ciksIChpbnRwdHJfdCkgc3RhdGljX2Nhc3Q8UHV0UHJvcGVydHlT
bG90OjpQdXRWYWx1ZUZ1bmM+KHNldEpTVGVzdE9iakxvbmdMb25nQXR0cikgfSwKLSAgICB7ICJ1
bnNpZ25lZExvbmdMb25nQXR0ciIsIERvbnREZWxldGUgfCBDdXN0b21BY2Nlc3NvciwgTm9JbnRy
aW5zaWMsIChpbnRwdHJfdClzdGF0aWNfY2FzdDxQcm9wZXJ0eVNsb3Q6OkdldFZhbHVlRnVuYz4o
anNUZXN0T2JqVW5zaWduZWRMb25nTG9uZ0F0dHIpLCAoaW50cHRyX3QpIHN0YXRpY19jYXN0PFB1
dFByb3BlcnR5U2xvdDo6UHV0VmFsdWVGdW5jPihzZXRKU1Rlc3RPYmpVbnNpZ25lZExvbmdMb25n
QXR0cikgfSwKLSAgICB7ICJzdHJpbmdBdHRyIiwgRG9udERlbGV0ZSB8IEN1c3RvbUFjY2Vzc29y
LCBOb0ludHJpbnNpYywgKGludHB0cl90KXN0YXRpY19jYXN0PFByb3BlcnR5U2xvdDo6R2V0VmFs
dWVGdW5jPihqc1Rlc3RPYmpTdHJpbmdBdHRyKSwgKGludHB0cl90KSBzdGF0aWNfY2FzdDxQdXRQ
cm9wZXJ0eVNsb3Q6OlB1dFZhbHVlRnVuYz4oc2V0SlNUZXN0T2JqU3RyaW5nQXR0cikgfSwKLSAg
ICB7ICJ0ZXN0T2JqQXR0ciIsIERvbnREZWxldGUgfCBDdXN0b21BY2Nlc3NvciwgTm9JbnRyaW5z
aWMsIChpbnRwdHJfdClzdGF0aWNfY2FzdDxQcm9wZXJ0eVNsb3Q6OkdldFZhbHVlRnVuYz4oanNU
ZXN0T2JqVGVzdE9iakF0dHIpLCAoaW50cHRyX3QpIHN0YXRpY19jYXN0PFB1dFByb3BlcnR5U2xv
dDo6UHV0VmFsdWVGdW5jPihzZXRKU1Rlc3RPYmpUZXN0T2JqQXR0cikgfSwKLSAgICB7ICJYTUxP
YmpBdHRyIiwgRG9udERlbGV0ZSB8IEN1c3RvbUFjY2Vzc29yLCBOb0ludHJpbnNpYywgKGludHB0
cl90KXN0YXRpY19jYXN0PFByb3BlcnR5U2xvdDo6R2V0VmFsdWVGdW5jPihqc1Rlc3RPYmpYTUxP
YmpBdHRyKSwgKGludHB0cl90KSBzdGF0aWNfY2FzdDxQdXRQcm9wZXJ0eVNsb3Q6OlB1dFZhbHVl
RnVuYz4oc2V0SlNUZXN0T2JqWE1MT2JqQXR0cikgfSwKLSAgICB7ICJjcmVhdGUiLCBEb250RGVs
ZXRlIHwgQ3VzdG9tQWNjZXNzb3IsIE5vSW50cmluc2ljLCAoaW50cHRyX3Qpc3RhdGljX2Nhc3Q8
UHJvcGVydHlTbG90OjpHZXRWYWx1ZUZ1bmM+KGpzVGVzdE9iakNyZWF0ZSksIChpbnRwdHJfdCkg
c3RhdGljX2Nhc3Q8UHV0UHJvcGVydHlTbG90OjpQdXRWYWx1ZUZ1bmM+KHNldEpTVGVzdE9iakNy
ZWF0ZSkgfSwKLSAgICB7ICJyZWZsZWN0ZWRTdHJpbmdBdHRyIiwgRG9udERlbGV0ZSB8IEN1c3Rv
bUFjY2Vzc29yLCBOb0ludHJpbnNpYywgKGludHB0cl90KXN0YXRpY19jYXN0PFByb3BlcnR5U2xv
dDo6R2V0VmFsdWVGdW5jPihqc1Rlc3RPYmpSZWZsZWN0ZWRTdHJpbmdBdHRyKSwgKGludHB0cl90
KSBzdGF0aWNfY2FzdDxQdXRQcm9wZXJ0eVNsb3Q6OlB1dFZhbHVlRnVuYz4oc2V0SlNUZXN0T2Jq
UmVmbGVjdGVkU3RyaW5nQXR0cikgfSwKLSAgICB7ICJyZWZsZWN0ZWRJbnRlZ3JhbEF0dHIiLCBE
b250RGVsZXRlIHwgQ3VzdG9tQWNjZXNzb3IsIE5vSW50cmluc2ljLCAoaW50cHRyX3Qpc3RhdGlj
X2Nhc3Q8UHJvcGVydHlTbG90OjpHZXRWYWx1ZUZ1bmM+KGpzVGVzdE9ialJlZmxlY3RlZEludGVn
cmFsQXR0ciksIChpbnRwdHJfdCkgc3RhdGljX2Nhc3Q8UHV0UHJvcGVydHlTbG90OjpQdXRWYWx1
ZUZ1bmM+KHNldEpTVGVzdE9ialJlZmxlY3RlZEludGVncmFsQXR0cikgfSwKLSAgICB7ICJyZWZs
ZWN0ZWRVbnNpZ25lZEludGVncmFsQXR0ciIsIERvbnREZWxldGUgfCBDdXN0b21BY2Nlc3Nvciwg
Tm9JbnRyaW5zaWMsIChpbnRwdHJfdClzdGF0aWNfY2FzdDxQcm9wZXJ0eVNsb3Q6OkdldFZhbHVl
RnVuYz4oanNUZXN0T2JqUmVmbGVjdGVkVW5zaWduZWRJbnRlZ3JhbEF0dHIpLCAoaW50cHRyX3Qp
IHN0YXRpY19jYXN0PFB1dFByb3BlcnR5U2xvdDo6UHV0VmFsdWVGdW5jPihzZXRKU1Rlc3RPYmpS
ZWZsZWN0ZWRVbnNpZ25lZEludGVncmFsQXR0cikgfSwKLSAgICB7ICJyZWZsZWN0ZWRCb29sZWFu
QXR0ciIsIERvbnREZWxldGUgfCBDdXN0b21BY2Nlc3NvciwgTm9JbnRyaW5zaWMsIChpbnRwdHJf
dClzdGF0aWNfY2FzdDxQcm9wZXJ0eVNsb3Q6OkdldFZhbHVlRnVuYz4oanNUZXN0T2JqUmVmbGVj
dGVkQm9vbGVhbkF0dHIpLCAoaW50cHRyX3QpIHN0YXRpY19jYXN0PFB1dFByb3BlcnR5U2xvdDo6
UHV0VmFsdWVGdW5jPihzZXRKU1Rlc3RPYmpSZWZsZWN0ZWRCb29sZWFuQXR0cikgfSwKLSAgICB7
ICJyZWZsZWN0ZWRVUkxBdHRyIiwgRG9udERlbGV0ZSB8IEN1c3RvbUFjY2Vzc29yLCBOb0ludHJp
bnNpYywgKGludHB0cl90KXN0YXRpY19jYXN0PFByb3BlcnR5U2xvdDo6R2V0VmFsdWVGdW5jPihq
c1Rlc3RPYmpSZWZsZWN0ZWRVUkxBdHRyKSwgKGludHB0cl90KSBzdGF0aWNfY2FzdDxQdXRQcm9w
ZXJ0eVNsb3Q6OlB1dFZhbHVlRnVuYz4oc2V0SlNUZXN0T2JqUmVmbGVjdGVkVVJMQXR0cikgfSwK
LSAgICB7ICJyZWZsZWN0ZWRTdHJpbmdBdHRyIiwgRG9udERlbGV0ZSB8IEN1c3RvbUFjY2Vzc29y
LCBOb0ludHJpbnNpYywgKGludHB0cl90KXN0YXRpY19jYXN0PFByb3BlcnR5U2xvdDo6R2V0VmFs
dWVGdW5jPihqc1Rlc3RPYmpSZWZsZWN0ZWRTdHJpbmdBdHRyKSwgKGludHB0cl90KSBzdGF0aWNf
Y2FzdDxQdXRQcm9wZXJ0eVNsb3Q6OlB1dFZhbHVlRnVuYz4oc2V0SlNUZXN0T2JqUmVmbGVjdGVk
U3RyaW5nQXR0cikgfSwKLSAgICB7ICJyZWZsZWN0ZWRDdXN0b21JbnRlZ3JhbEF0dHIiLCBEb250
RGVsZXRlIHwgQ3VzdG9tQWNjZXNzb3IsIE5vSW50cmluc2ljLCAoaW50cHRyX3Qpc3RhdGljX2Nh
c3Q8UHJvcGVydHlTbG90OjpHZXRWYWx1ZUZ1bmM+KGpzVGVzdE9ialJlZmxlY3RlZEN1c3RvbUlu
dGVncmFsQXR0ciksIChpbnRwdHJfdCkgc3RhdGljX2Nhc3Q8UHV0UHJvcGVydHlTbG90OjpQdXRW
YWx1ZUZ1bmM+KHNldEpTVGVzdE9ialJlZmxlY3RlZEN1c3RvbUludGVncmFsQXR0cikgfSwKLSAg
ICB7ICJyZWZsZWN0ZWRDdXN0b21Cb29sZWFuQXR0ciIsIERvbnREZWxldGUgfCBDdXN0b21BY2Nl
c3NvciwgTm9JbnRyaW5zaWMsIChpbnRwdHJfdClzdGF0aWNfY2FzdDxQcm9wZXJ0eVNsb3Q6Okdl
dFZhbHVlRnVuYz4oanNUZXN0T2JqUmVmbGVjdGVkQ3VzdG9tQm9vbGVhbkF0dHIpLCAoaW50cHRy
X3QpIHN0YXRpY19jYXN0PFB1dFByb3BlcnR5U2xvdDo6UHV0VmFsdWVGdW5jPihzZXRKU1Rlc3RP
YmpSZWZsZWN0ZWRDdXN0b21Cb29sZWFuQXR0cikgfSwKLSAgICB7ICJyZWZsZWN0ZWRDdXN0b21V
UkxBdHRyIiwgRG9udERlbGV0ZSB8IEN1c3RvbUFjY2Vzc29yLCBOb0ludHJpbnNpYywgKGludHB0
cl90KXN0YXRpY19jYXN0PFByb3BlcnR5U2xvdDo6R2V0VmFsdWVGdW5jPihqc1Rlc3RPYmpSZWZs
ZWN0ZWRDdXN0b21VUkxBdHRyKSwgKGludHB0cl90KSBzdGF0aWNfY2FzdDxQdXRQcm9wZXJ0eVNs
b3Q6OlB1dFZhbHVlRnVuYz4oc2V0SlNUZXN0T2JqUmVmbGVjdGVkQ3VzdG9tVVJMQXR0cikgfSwK
LSAgICB7ICJ0eXBlZEFycmF5QXR0ciIsIERvbnREZWxldGUgfCBDdXN0b21BY2Nlc3NvciwgTm9J
bnRyaW5zaWMsIChpbnRwdHJfdClzdGF0aWNfY2FzdDxQcm9wZXJ0eVNsb3Q6OkdldFZhbHVlRnVu
Yz4oanNUZXN0T2JqVHlwZWRBcnJheUF0dHIpLCAoaW50cHRyX3QpIHN0YXRpY19jYXN0PFB1dFBy
b3BlcnR5U2xvdDo6UHV0VmFsdWVGdW5jPihzZXRKU1Rlc3RPYmpUeXBlZEFycmF5QXR0cikgfSwK
LSAgICB7ICJhdHRyV2l0aEdldHRlckV4Y2VwdGlvbiIsIERvbnREZWxldGUgfCBDdXN0b21BY2Nl
c3NvciwgTm9JbnRyaW5zaWMsIChpbnRwdHJfdClzdGF0aWNfY2FzdDxQcm9wZXJ0eVNsb3Q6Okdl
dFZhbHVlRnVuYz4oanNUZXN0T2JqQXR0cldpdGhHZXR0ZXJFeGNlcHRpb24pLCAoaW50cHRyX3Qp
IHN0YXRpY19jYXN0PFB1dFByb3BlcnR5U2xvdDo6UHV0VmFsdWVGdW5jPihzZXRKU1Rlc3RPYmpB
dHRyV2l0aEdldHRlckV4Y2VwdGlvbikgfSwKLSAgICB7ICJhdHRyV2l0aFNldHRlckV4Y2VwdGlv
biIsIERvbnREZWxldGUgfCBDdXN0b21BY2Nlc3NvciwgTm9JbnRyaW5zaWMsIChpbnRwdHJfdClz
dGF0aWNfY2FzdDxQcm9wZXJ0eVNsb3Q6OkdldFZhbHVlRnVuYz4oanNUZXN0T2JqQXR0cldpdGhT
ZXR0ZXJFeGNlcHRpb24pLCAoaW50cHRyX3QpIHN0YXRpY19jYXN0PFB1dFByb3BlcnR5U2xvdDo6
UHV0VmFsdWVGdW5jPihzZXRKU1Rlc3RPYmpBdHRyV2l0aFNldHRlckV4Y2VwdGlvbikgfSwKLSAg
ICB7ICJzdHJpbmdBdHRyV2l0aEdldHRlckV4Y2VwdGlvbiIsIERvbnREZWxldGUgfCBDdXN0b21B
Y2Nlc3NvciwgTm9JbnRyaW5zaWMsIChpbnRwdHJfdClzdGF0aWNfY2FzdDxQcm9wZXJ0eVNsb3Q6
OkdldFZhbHVlRnVuYz4oanNUZXN0T2JqU3RyaW5nQXR0cldpdGhHZXR0ZXJFeGNlcHRpb24pLCAo
aW50cHRyX3QpIHN0YXRpY19jYXN0PFB1dFByb3BlcnR5U2xvdDo6UHV0VmFsdWVGdW5jPihzZXRK
U1Rlc3RPYmpTdHJpbmdBdHRyV2l0aEdldHRlckV4Y2VwdGlvbikgfSwKLSAgICB7ICJzdHJpbmdB
dHRyV2l0aFNldHRlckV4Y2VwdGlvbiIsIERvbnREZWxldGUgfCBDdXN0b21BY2Nlc3NvciwgTm9J
bnRyaW5zaWMsIChpbnRwdHJfdClzdGF0aWNfY2FzdDxQcm9wZXJ0eVNsb3Q6OkdldFZhbHVlRnVu
Yz4oanNUZXN0T2JqU3RyaW5nQXR0cldpdGhTZXR0ZXJFeGNlcHRpb24pLCAoaW50cHRyX3QpIHN0
YXRpY19jYXN0PFB1dFByb3BlcnR5U2xvdDo6UHV0VmFsdWVGdW5jPihzZXRKU1Rlc3RPYmpTdHJp
bmdBdHRyV2l0aFNldHRlckV4Y2VwdGlvbikgfSwKLSAgICB7ICJjdXN0b21BdHRyIiwgRG9udERl
bGV0ZSB8IEN1c3RvbUFjY2Vzc29yLCBOb0ludHJpbnNpYywgKGludHB0cl90KXN0YXRpY19jYXN0
PFByb3BlcnR5U2xvdDo6R2V0VmFsdWVGdW5jPihqc1Rlc3RPYmpDdXN0b21BdHRyKSwgKGludHB0
cl90KSBzdGF0aWNfY2FzdDxQdXRQcm9wZXJ0eVNsb3Q6OlB1dFZhbHVlRnVuYz4oc2V0SlNUZXN0
T2JqQ3VzdG9tQXR0cikgfSwKLSAgICB7ICJ3aXRoU2NyaXB0U3RhdGVBdHRyaWJ1dGUiLCBEb250
RGVsZXRlIHwgQ3VzdG9tQWNjZXNzb3IsIE5vSW50cmluc2ljLCAoaW50cHRyX3Qpc3RhdGljX2Nh
c3Q8UHJvcGVydHlTbG90OjpHZXRWYWx1ZUZ1bmM+KGpzVGVzdE9ialdpdGhTY3JpcHRTdGF0ZUF0
dHJpYnV0ZSksIChpbnRwdHJfdCkgc3RhdGljX2Nhc3Q8UHV0UHJvcGVydHlTbG90OjpQdXRWYWx1
ZUZ1bmM+KHNldEpTVGVzdE9ialdpdGhTY3JpcHRTdGF0ZUF0dHJpYnV0ZSkgfSwKLSAgICB7ICJ3
aXRoU2NyaXB0RXhlY3V0aW9uQ29udGV4dEF0dHJpYnV0ZSIsIERvbnREZWxldGUgfCBDdXN0b21B
Y2Nlc3NvciwgTm9JbnRyaW5zaWMsIChpbnRwdHJfdClzdGF0aWNfY2FzdDxQcm9wZXJ0eVNsb3Q6
OkdldFZhbHVlRnVuYz4oanNUZXN0T2JqV2l0aFNjcmlwdEV4ZWN1dGlvbkNvbnRleHRBdHRyaWJ1
dGUpLCAoaW50cHRyX3QpIHN0YXRpY19jYXN0PFB1dFByb3BlcnR5U2xvdDo6UHV0VmFsdWVGdW5j
PihzZXRKU1Rlc3RPYmpXaXRoU2NyaXB0RXhlY3V0aW9uQ29udGV4dEF0dHJpYnV0ZSkgfSwKLSAg
ICB7ICJ3aXRoU2NyaXB0U3RhdGVBdHRyaWJ1dGVSYWlzZXMiLCBEb250RGVsZXRlIHwgQ3VzdG9t
QWNjZXNzb3IsIE5vSW50cmluc2ljLCAoaW50cHRyX3Qpc3RhdGljX2Nhc3Q8UHJvcGVydHlTbG90
OjpHZXRWYWx1ZUZ1bmM+KGpzVGVzdE9ialdpdGhTY3JpcHRTdGF0ZUF0dHJpYnV0ZVJhaXNlcyks
IChpbnRwdHJfdCkgc3RhdGljX2Nhc3Q8UHV0UHJvcGVydHlTbG90OjpQdXRWYWx1ZUZ1bmM+KHNl
dEpTVGVzdE9ialdpdGhTY3JpcHRTdGF0ZUF0dHJpYnV0ZVJhaXNlcykgfSwKLSAgICB7ICJ3aXRo
U2NyaXB0RXhlY3V0aW9uQ29udGV4dEF0dHJpYnV0ZVJhaXNlcyIsIERvbnREZWxldGUgfCBDdXN0
b21BY2Nlc3NvciwgTm9JbnRyaW5zaWMsIChpbnRwdHJfdClzdGF0aWNfY2FzdDxQcm9wZXJ0eVNs
b3Q6OkdldFZhbHVlRnVuYz4oanNUZXN0T2JqV2l0aFNjcmlwdEV4ZWN1dGlvbkNvbnRleHRBdHRy
aWJ1dGVSYWlzZXMpLCAoaW50cHRyX3QpIHN0YXRpY19jYXN0PFB1dFByb3BlcnR5U2xvdDo6UHV0
VmFsdWVGdW5jPihzZXRKU1Rlc3RPYmpXaXRoU2NyaXB0RXhlY3V0aW9uQ29udGV4dEF0dHJpYnV0
ZVJhaXNlcykgfSwKLSAgICB7ICJ3aXRoU2NyaXB0RXhlY3V0aW9uQ29udGV4dEFuZFNjcmlwdFN0
YXRlQXR0cmlidXRlIiwgRG9udERlbGV0ZSB8IEN1c3RvbUFjY2Vzc29yLCBOb0ludHJpbnNpYywg
KGludHB0cl90KXN0YXRpY19jYXN0PFByb3BlcnR5U2xvdDo6R2V0VmFsdWVGdW5jPihqc1Rlc3RP
YmpXaXRoU2NyaXB0RXhlY3V0aW9uQ29udGV4dEFuZFNjcmlwdFN0YXRlQXR0cmlidXRlKSwgKGlu
dHB0cl90KSBzdGF0aWNfY2FzdDxQdXRQcm9wZXJ0eVNsb3Q6OlB1dFZhbHVlRnVuYz4oc2V0SlNU
ZXN0T2JqV2l0aFNjcmlwdEV4ZWN1dGlvbkNvbnRleHRBbmRTY3JpcHRTdGF0ZUF0dHJpYnV0ZSkg
fSwKLSAgICB7ICJ3aXRoU2NyaXB0RXhlY3V0aW9uQ29udGV4dEFuZFNjcmlwdFN0YXRlQXR0cmli
dXRlUmFpc2VzIiwgRG9udERlbGV0ZSB8IEN1c3RvbUFjY2Vzc29yLCBOb0ludHJpbnNpYywgKGlu
dHB0cl90KXN0YXRpY19jYXN0PFByb3BlcnR5U2xvdDo6R2V0VmFsdWVGdW5jPihqc1Rlc3RPYmpX
aXRoU2NyaXB0RXhlY3V0aW9uQ29udGV4dEFuZFNjcmlwdFN0YXRlQXR0cmlidXRlUmFpc2VzKSwg
KGludHB0cl90KSBzdGF0aWNfY2FzdDxQdXRQcm9wZXJ0eVNsb3Q6OlB1dFZhbHVlRnVuYz4oc2V0
SlNUZXN0T2JqV2l0aFNjcmlwdEV4ZWN1dGlvbkNvbnRleHRBbmRTY3JpcHRTdGF0ZUF0dHJpYnV0
ZVJhaXNlcykgfSwKLSAgICB7ICJ3aXRoU2NyaXB0RXhlY3V0aW9uQ29udGV4dEFuZFNjcmlwdFN0
YXRlV2l0aFNwYWNlc0F0dHJpYnV0ZSIsIERvbnREZWxldGUgfCBDdXN0b21BY2Nlc3NvciwgTm9J
bnRyaW5zaWMsIChpbnRwdHJfdClzdGF0aWNfY2FzdDxQcm9wZXJ0eVNsb3Q6OkdldFZhbHVlRnVu
Yz4oanNUZXN0T2JqV2l0aFNjcmlwdEV4ZWN1dGlvbkNvbnRleHRBbmRTY3JpcHRTdGF0ZVdpdGhT
cGFjZXNBdHRyaWJ1dGUpLCAoaW50cHRyX3QpIHN0YXRpY19jYXN0PFB1dFByb3BlcnR5U2xvdDo6
UHV0VmFsdWVGdW5jPihzZXRKU1Rlc3RPYmpXaXRoU2NyaXB0RXhlY3V0aW9uQ29udGV4dEFuZFNj
cmlwdFN0YXRlV2l0aFNwYWNlc0F0dHJpYnV0ZSkgfSwKLSAgICB7ICJ3aXRoU2NyaXB0QXJndW1l
bnRzQW5kQ2FsbFN0YWNrQXR0cmlidXRlIiwgRG9udERlbGV0ZSB8IEN1c3RvbUFjY2Vzc29yLCBO
b0ludHJpbnNpYywgKGludHB0cl90KXN0YXRpY19jYXN0PFByb3BlcnR5U2xvdDo6R2V0VmFsdWVG
dW5jPihqc1Rlc3RPYmpXaXRoU2NyaXB0QXJndW1lbnRzQW5kQ2FsbFN0YWNrQXR0cmlidXRlKSwg
KGludHB0cl90KSBzdGF0aWNfY2FzdDxQdXRQcm9wZXJ0eVNsb3Q6OlB1dFZhbHVlRnVuYz4oc2V0
SlNUZXN0T2JqV2l0aFNjcmlwdEFyZ3VtZW50c0FuZENhbGxTdGFja0F0dHJpYnV0ZSkgfSwKKyAg
ICB7ICJlbnVtQXR0ciIsIERvbnREZWxldGUsIE5vSW50cmluc2ljLCAoaW50cHRyX3Qpc3RhdGlj
X2Nhc3Q8UHJvcGVydHlTbG90OjpHZXRWYWx1ZUZ1bmM+KGpzVGVzdE9iakVudW1BdHRyKSwgKGlu
dHB0cl90KSBzdGF0aWNfY2FzdDxQdXRQcm9wZXJ0eVNsb3Q6OlB1dFZhbHVlRnVuYz4oc2V0SlNU
ZXN0T2JqRW51bUF0dHIpIH0sCisgICAgeyAiYnl0ZUF0dHIiLCBEb250RGVsZXRlLCBOb0ludHJp
bnNpYywgKGludHB0cl90KXN0YXRpY19jYXN0PFByb3BlcnR5U2xvdDo6R2V0VmFsdWVGdW5jPihq
c1Rlc3RPYmpCeXRlQXR0ciksIChpbnRwdHJfdCkgc3RhdGljX2Nhc3Q8UHV0UHJvcGVydHlTbG90
OjpQdXRWYWx1ZUZ1bmM+KHNldEpTVGVzdE9iakJ5dGVBdHRyKSB9LAorICAgIHsgIm9jdGV0QXR0
ciIsIERvbnREZWxldGUsIE5vSW50cmluc2ljLCAoaW50cHRyX3Qpc3RhdGljX2Nhc3Q8UHJvcGVy
dHlTbG90OjpHZXRWYWx1ZUZ1bmM+KGpzVGVzdE9iak9jdGV0QXR0ciksIChpbnRwdHJfdCkgc3Rh
dGljX2Nhc3Q8UHV0UHJvcGVydHlTbG90OjpQdXRWYWx1ZUZ1bmM+KHNldEpTVGVzdE9iak9jdGV0
QXR0cikgfSwKKyAgICB7ICJzaG9ydEF0dHIiLCBEb250RGVsZXRlLCBOb0ludHJpbnNpYywgKGlu
dHB0cl90KXN0YXRpY19jYXN0PFByb3BlcnR5U2xvdDo6R2V0VmFsdWVGdW5jPihqc1Rlc3RPYmpT
aG9ydEF0dHIpLCAoaW50cHRyX3QpIHN0YXRpY19jYXN0PFB1dFByb3BlcnR5U2xvdDo6UHV0VmFs
dWVGdW5jPihzZXRKU1Rlc3RPYmpTaG9ydEF0dHIpIH0sCisgICAgeyAidW5zaWduZWRTaG9ydEF0
dHIiLCBEb250RGVsZXRlLCBOb0ludHJpbnNpYywgKGludHB0cl90KXN0YXRpY19jYXN0PFByb3Bl
cnR5U2xvdDo6R2V0VmFsdWVGdW5jPihqc1Rlc3RPYmpVbnNpZ25lZFNob3J0QXR0ciksIChpbnRw
dHJfdCkgc3RhdGljX2Nhc3Q8UHV0UHJvcGVydHlTbG90OjpQdXRWYWx1ZUZ1bmM+KHNldEpTVGVz
dE9ialVuc2lnbmVkU2hvcnRBdHRyKSB9LAorICAgIHsgImxvbmdBdHRyIiwgRG9udERlbGV0ZSwg
Tm9JbnRyaW5zaWMsIChpbnRwdHJfdClzdGF0aWNfY2FzdDxQcm9wZXJ0eVNsb3Q6OkdldFZhbHVl
RnVuYz4oanNUZXN0T2JqTG9uZ0F0dHIpLCAoaW50cHRyX3QpIHN0YXRpY19jYXN0PFB1dFByb3Bl
cnR5U2xvdDo6UHV0VmFsdWVGdW5jPihzZXRKU1Rlc3RPYmpMb25nQXR0cikgfSwKKyAgICB7ICJs
b25nTG9uZ0F0dHIiLCBEb250RGVsZXRlLCBOb0ludHJpbnNpYywgKGludHB0cl90KXN0YXRpY19j
YXN0PFByb3BlcnR5U2xvdDo6R2V0VmFsdWVGdW5jPihqc1Rlc3RPYmpMb25nTG9uZ0F0dHIpLCAo
aW50cHRyX3QpIHN0YXRpY19jYXN0PFB1dFByb3BlcnR5U2xvdDo6UHV0VmFsdWVGdW5jPihzZXRK
U1Rlc3RPYmpMb25nTG9uZ0F0dHIpIH0sCisgICAgeyAidW5zaWduZWRMb25nTG9uZ0F0dHIiLCBE
b250RGVsZXRlLCBOb0ludHJpbnNpYywgKGludHB0cl90KXN0YXRpY19jYXN0PFByb3BlcnR5U2xv
dDo6R2V0VmFsdWVGdW5jPihqc1Rlc3RPYmpVbnNpZ25lZExvbmdMb25nQXR0ciksIChpbnRwdHJf
dCkgc3RhdGljX2Nhc3Q8UHV0UHJvcGVydHlTbG90OjpQdXRWYWx1ZUZ1bmM+KHNldEpTVGVzdE9i
alVuc2lnbmVkTG9uZ0xvbmdBdHRyKSB9LAorICAgIHsgInN0cmluZ0F0dHIiLCBEb250RGVsZXRl
LCBOb0ludHJpbnNpYywgKGludHB0cl90KXN0YXRpY19jYXN0PFByb3BlcnR5U2xvdDo6R2V0VmFs
dWVGdW5jPihqc1Rlc3RPYmpTdHJpbmdBdHRyKSwgKGludHB0cl90KSBzdGF0aWNfY2FzdDxQdXRQ
cm9wZXJ0eVNsb3Q6OlB1dFZhbHVlRnVuYz4oc2V0SlNUZXN0T2JqU3RyaW5nQXR0cikgfSwKKyAg
ICB7ICJ0ZXN0T2JqQXR0ciIsIERvbnREZWxldGUsIE5vSW50cmluc2ljLCAoaW50cHRyX3Qpc3Rh
dGljX2Nhc3Q8UHJvcGVydHlTbG90OjpHZXRWYWx1ZUZ1bmM+KGpzVGVzdE9ialRlc3RPYmpBdHRy
KSwgKGludHB0cl90KSBzdGF0aWNfY2FzdDxQdXRQcm9wZXJ0eVNsb3Q6OlB1dFZhbHVlRnVuYz4o
c2V0SlNUZXN0T2JqVGVzdE9iakF0dHIpIH0sCisgICAgeyAiWE1MT2JqQXR0ciIsIERvbnREZWxl
dGUsIE5vSW50cmluc2ljLCAoaW50cHRyX3Qpc3RhdGljX2Nhc3Q8UHJvcGVydHlTbG90OjpHZXRW
YWx1ZUZ1bmM+KGpzVGVzdE9ialhNTE9iakF0dHIpLCAoaW50cHRyX3QpIHN0YXRpY19jYXN0PFB1
dFByb3BlcnR5U2xvdDo6UHV0VmFsdWVGdW5jPihzZXRKU1Rlc3RPYmpYTUxPYmpBdHRyKSB9LAor
ICAgIHsgImNyZWF0ZSIsIERvbnREZWxldGUsIE5vSW50cmluc2ljLCAoaW50cHRyX3Qpc3RhdGlj
X2Nhc3Q8UHJvcGVydHlTbG90OjpHZXRWYWx1ZUZ1bmM+KGpzVGVzdE9iakNyZWF0ZSksIChpbnRw
dHJfdCkgc3RhdGljX2Nhc3Q8UHV0UHJvcGVydHlTbG90OjpQdXRWYWx1ZUZ1bmM+KHNldEpTVGVz
dE9iakNyZWF0ZSkgfSwKKyAgICB7ICJyZWZsZWN0ZWRTdHJpbmdBdHRyIiwgRG9udERlbGV0ZSwg
Tm9JbnRyaW5zaWMsIChpbnRwdHJfdClzdGF0aWNfY2FzdDxQcm9wZXJ0eVNsb3Q6OkdldFZhbHVl
RnVuYz4oanNUZXN0T2JqUmVmbGVjdGVkU3RyaW5nQXR0ciksIChpbnRwdHJfdCkgc3RhdGljX2Nh
c3Q8UHV0UHJvcGVydHlTbG90OjpQdXRWYWx1ZUZ1bmM+KHNldEpTVGVzdE9ialJlZmxlY3RlZFN0
cmluZ0F0dHIpIH0sCisgICAgeyAicmVmbGVjdGVkSW50ZWdyYWxBdHRyIiwgRG9udERlbGV0ZSwg
Tm9JbnRyaW5zaWMsIChpbnRwdHJfdClzdGF0aWNfY2FzdDxQcm9wZXJ0eVNsb3Q6OkdldFZhbHVl
RnVuYz4oanNUZXN0T2JqUmVmbGVjdGVkSW50ZWdyYWxBdHRyKSwgKGludHB0cl90KSBzdGF0aWNf
Y2FzdDxQdXRQcm9wZXJ0eVNsb3Q6OlB1dFZhbHVlRnVuYz4oc2V0SlNUZXN0T2JqUmVmbGVjdGVk
SW50ZWdyYWxBdHRyKSB9LAorICAgIHsgInJlZmxlY3RlZFVuc2lnbmVkSW50ZWdyYWxBdHRyIiwg
RG9udERlbGV0ZSwgTm9JbnRyaW5zaWMsIChpbnRwdHJfdClzdGF0aWNfY2FzdDxQcm9wZXJ0eVNs
b3Q6OkdldFZhbHVlRnVuYz4oanNUZXN0T2JqUmVmbGVjdGVkVW5zaWduZWRJbnRlZ3JhbEF0dHIp
LCAoaW50cHRyX3QpIHN0YXRpY19jYXN0PFB1dFByb3BlcnR5U2xvdDo6UHV0VmFsdWVGdW5jPihz
ZXRKU1Rlc3RPYmpSZWZsZWN0ZWRVbnNpZ25lZEludGVncmFsQXR0cikgfSwKKyAgICB7ICJyZWZs
ZWN0ZWRCb29sZWFuQXR0ciIsIERvbnREZWxldGUsIE5vSW50cmluc2ljLCAoaW50cHRyX3Qpc3Rh
dGljX2Nhc3Q8UHJvcGVydHlTbG90OjpHZXRWYWx1ZUZ1bmM+KGpzVGVzdE9ialJlZmxlY3RlZEJv
b2xlYW5BdHRyKSwgKGludHB0cl90KSBzdGF0aWNfY2FzdDxQdXRQcm9wZXJ0eVNsb3Q6OlB1dFZh
bHVlRnVuYz4oc2V0SlNUZXN0T2JqUmVmbGVjdGVkQm9vbGVhbkF0dHIpIH0sCisgICAgeyAicmVm
bGVjdGVkVVJMQXR0ciIsIERvbnREZWxldGUsIE5vSW50cmluc2ljLCAoaW50cHRyX3Qpc3RhdGlj
X2Nhc3Q8UHJvcGVydHlTbG90OjpHZXRWYWx1ZUZ1bmM+KGpzVGVzdE9ialJlZmxlY3RlZFVSTEF0
dHIpLCAoaW50cHRyX3QpIHN0YXRpY19jYXN0PFB1dFByb3BlcnR5U2xvdDo6UHV0VmFsdWVGdW5j
PihzZXRKU1Rlc3RPYmpSZWZsZWN0ZWRVUkxBdHRyKSB9LAorICAgIHsgInJlZmxlY3RlZFN0cmlu
Z0F0dHIiLCBEb250RGVsZXRlLCBOb0ludHJpbnNpYywgKGludHB0cl90KXN0YXRpY19jYXN0PFBy
b3BlcnR5U2xvdDo6R2V0VmFsdWVGdW5jPihqc1Rlc3RPYmpSZWZsZWN0ZWRTdHJpbmdBdHRyKSwg
KGludHB0cl90KSBzdGF0aWNfY2FzdDxQdXRQcm9wZXJ0eVNsb3Q6OlB1dFZhbHVlRnVuYz4oc2V0
SlNUZXN0T2JqUmVmbGVjdGVkU3RyaW5nQXR0cikgfSwKKyAgICB7ICJyZWZsZWN0ZWRDdXN0b21J
bnRlZ3JhbEF0dHIiLCBEb250RGVsZXRlLCBOb0ludHJpbnNpYywgKGludHB0cl90KXN0YXRpY19j
YXN0PFByb3BlcnR5U2xvdDo6R2V0VmFsdWVGdW5jPihqc1Rlc3RPYmpSZWZsZWN0ZWRDdXN0b21J
bnRlZ3JhbEF0dHIpLCAoaW50cHRyX3QpIHN0YXRpY19jYXN0PFB1dFByb3BlcnR5U2xvdDo6UHV0
VmFsdWVGdW5jPihzZXRKU1Rlc3RPYmpSZWZsZWN0ZWRDdXN0b21JbnRlZ3JhbEF0dHIpIH0sCisg
ICAgeyAicmVmbGVjdGVkQ3VzdG9tQm9vbGVhbkF0dHIiLCBEb250RGVsZXRlLCBOb0ludHJpbnNp
YywgKGludHB0cl90KXN0YXRpY19jYXN0PFByb3BlcnR5U2xvdDo6R2V0VmFsdWVGdW5jPihqc1Rl
c3RPYmpSZWZsZWN0ZWRDdXN0b21Cb29sZWFuQXR0ciksIChpbnRwdHJfdCkgc3RhdGljX2Nhc3Q8
UHV0UHJvcGVydHlTbG90OjpQdXRWYWx1ZUZ1bmM+KHNldEpTVGVzdE9ialJlZmxlY3RlZEN1c3Rv
bUJvb2xlYW5BdHRyKSB9LAorICAgIHsgInJlZmxlY3RlZEN1c3RvbVVSTEF0dHIiLCBEb250RGVs
ZXRlLCBOb0ludHJpbnNpYywgKGludHB0cl90KXN0YXRpY19jYXN0PFByb3BlcnR5U2xvdDo6R2V0
VmFsdWVGdW5jPihqc1Rlc3RPYmpSZWZsZWN0ZWRDdXN0b21VUkxBdHRyKSwgKGludHB0cl90KSBz
dGF0aWNfY2FzdDxQdXRQcm9wZXJ0eVNsb3Q6OlB1dFZhbHVlRnVuYz4oc2V0SlNUZXN0T2JqUmVm
bGVjdGVkQ3VzdG9tVVJMQXR0cikgfSwKKyAgICB7ICJ0eXBlZEFycmF5QXR0ciIsIERvbnREZWxl
dGUsIE5vSW50cmluc2ljLCAoaW50cHRyX3Qpc3RhdGljX2Nhc3Q8UHJvcGVydHlTbG90OjpHZXRW
YWx1ZUZ1bmM+KGpzVGVzdE9ialR5cGVkQXJyYXlBdHRyKSwgKGludHB0cl90KSBzdGF0aWNfY2Fz
dDxQdXRQcm9wZXJ0eVNsb3Q6OlB1dFZhbHVlRnVuYz4oc2V0SlNUZXN0T2JqVHlwZWRBcnJheUF0
dHIpIH0sCisgICAgeyAiYXR0cldpdGhHZXR0ZXJFeGNlcHRpb24iLCBEb250RGVsZXRlLCBOb0lu
dHJpbnNpYywgKGludHB0cl90KXN0YXRpY19jYXN0PFByb3BlcnR5U2xvdDo6R2V0VmFsdWVGdW5j
Pihqc1Rlc3RPYmpBdHRyV2l0aEdldHRlckV4Y2VwdGlvbiksIChpbnRwdHJfdCkgc3RhdGljX2Nh
c3Q8UHV0UHJvcGVydHlTbG90OjpQdXRWYWx1ZUZ1bmM+KHNldEpTVGVzdE9iakF0dHJXaXRoR2V0
dGVyRXhjZXB0aW9uKSB9LAorICAgIHsgImF0dHJXaXRoU2V0dGVyRXhjZXB0aW9uIiwgRG9udERl
bGV0ZSwgTm9JbnRyaW5zaWMsIChpbnRwdHJfdClzdGF0aWNfY2FzdDxQcm9wZXJ0eVNsb3Q6Okdl
dFZhbHVlRnVuYz4oanNUZXN0T2JqQXR0cldpdGhTZXR0ZXJFeGNlcHRpb24pLCAoaW50cHRyX3Qp
IHN0YXRpY19jYXN0PFB1dFByb3BlcnR5U2xvdDo6UHV0VmFsdWVGdW5jPihzZXRKU1Rlc3RPYmpB
dHRyV2l0aFNldHRlckV4Y2VwdGlvbikgfSwKKyAgICB7ICJzdHJpbmdBdHRyV2l0aEdldHRlckV4
Y2VwdGlvbiIsIERvbnREZWxldGUsIE5vSW50cmluc2ljLCAoaW50cHRyX3Qpc3RhdGljX2Nhc3Q8
UHJvcGVydHlTbG90OjpHZXRWYWx1ZUZ1bmM+KGpzVGVzdE9ialN0cmluZ0F0dHJXaXRoR2V0dGVy
RXhjZXB0aW9uKSwgKGludHB0cl90KSBzdGF0aWNfY2FzdDxQdXRQcm9wZXJ0eVNsb3Q6OlB1dFZh
bHVlRnVuYz4oc2V0SlNUZXN0T2JqU3RyaW5nQXR0cldpdGhHZXR0ZXJFeGNlcHRpb24pIH0sCisg
ICAgeyAic3RyaW5nQXR0cldpdGhTZXR0ZXJFeGNlcHRpb24iLCBEb250RGVsZXRlLCBOb0ludHJp
bnNpYywgKGludHB0cl90KXN0YXRpY19jYXN0PFByb3BlcnR5U2xvdDo6R2V0VmFsdWVGdW5jPihq
c1Rlc3RPYmpTdHJpbmdBdHRyV2l0aFNldHRlckV4Y2VwdGlvbiksIChpbnRwdHJfdCkgc3RhdGlj
X2Nhc3Q8UHV0UHJvcGVydHlTbG90OjpQdXRWYWx1ZUZ1bmM+KHNldEpTVGVzdE9ialN0cmluZ0F0
dHJXaXRoU2V0dGVyRXhjZXB0aW9uKSB9LAorICAgIHsgImN1c3RvbUF0dHIiLCBEb250RGVsZXRl
LCBOb0ludHJpbnNpYywgKGludHB0cl90KXN0YXRpY19jYXN0PFByb3BlcnR5U2xvdDo6R2V0VmFs
dWVGdW5jPihqc1Rlc3RPYmpDdXN0b21BdHRyKSwgKGludHB0cl90KSBzdGF0aWNfY2FzdDxQdXRQ
cm9wZXJ0eVNsb3Q6OlB1dFZhbHVlRnVuYz4oc2V0SlNUZXN0T2JqQ3VzdG9tQXR0cikgfSwKKyAg
ICB7ICJ3aXRoU2NyaXB0U3RhdGVBdHRyaWJ1dGUiLCBEb250RGVsZXRlLCBOb0ludHJpbnNpYywg
KGludHB0cl90KXN0YXRpY19jYXN0PFByb3BlcnR5U2xvdDo6R2V0VmFsdWVGdW5jPihqc1Rlc3RP
YmpXaXRoU2NyaXB0U3RhdGVBdHRyaWJ1dGUpLCAoaW50cHRyX3QpIHN0YXRpY19jYXN0PFB1dFBy
b3BlcnR5U2xvdDo6UHV0VmFsdWVGdW5jPihzZXRKU1Rlc3RPYmpXaXRoU2NyaXB0U3RhdGVBdHRy
aWJ1dGUpIH0sCisgICAgeyAid2l0aFNjcmlwdEV4ZWN1dGlvbkNvbnRleHRBdHRyaWJ1dGUiLCBE
b250RGVsZXRlLCBOb0ludHJpbnNpYywgKGludHB0cl90KXN0YXRpY19jYXN0PFByb3BlcnR5U2xv
dDo6R2V0VmFsdWVGdW5jPihqc1Rlc3RPYmpXaXRoU2NyaXB0RXhlY3V0aW9uQ29udGV4dEF0dHJp
YnV0ZSksIChpbnRwdHJfdCkgc3RhdGljX2Nhc3Q8UHV0UHJvcGVydHlTbG90OjpQdXRWYWx1ZUZ1
bmM+KHNldEpTVGVzdE9ialdpdGhTY3JpcHRFeGVjdXRpb25Db250ZXh0QXR0cmlidXRlKSB9LAor
ICAgIHsgIndpdGhTY3JpcHRTdGF0ZUF0dHJpYnV0ZVJhaXNlcyIsIERvbnREZWxldGUsIE5vSW50
cmluc2ljLCAoaW50cHRyX3Qpc3RhdGljX2Nhc3Q8UHJvcGVydHlTbG90OjpHZXRWYWx1ZUZ1bmM+
KGpzVGVzdE9ialdpdGhTY3JpcHRTdGF0ZUF0dHJpYnV0ZVJhaXNlcyksIChpbnRwdHJfdCkgc3Rh
dGljX2Nhc3Q8UHV0UHJvcGVydHlTbG90OjpQdXRWYWx1ZUZ1bmM+KHNldEpTVGVzdE9ialdpdGhT
Y3JpcHRTdGF0ZUF0dHJpYnV0ZVJhaXNlcykgfSwKKyAgICB7ICJ3aXRoU2NyaXB0RXhlY3V0aW9u
Q29udGV4dEF0dHJpYnV0ZVJhaXNlcyIsIERvbnREZWxldGUsIE5vSW50cmluc2ljLCAoaW50cHRy
X3Qpc3RhdGljX2Nhc3Q8UHJvcGVydHlTbG90OjpHZXRWYWx1ZUZ1bmM+KGpzVGVzdE9ialdpdGhT
Y3JpcHRFeGVjdXRpb25Db250ZXh0QXR0cmlidXRlUmFpc2VzKSwgKGludHB0cl90KSBzdGF0aWNf
Y2FzdDxQdXRQcm9wZXJ0eVNsb3Q6OlB1dFZhbHVlRnVuYz4oc2V0SlNUZXN0T2JqV2l0aFNjcmlw
dEV4ZWN1dGlvbkNvbnRleHRBdHRyaWJ1dGVSYWlzZXMpIH0sCisgICAgeyAid2l0aFNjcmlwdEV4
ZWN1dGlvbkNvbnRleHRBbmRTY3JpcHRTdGF0ZUF0dHJpYnV0ZSIsIERvbnREZWxldGUsIE5vSW50
cmluc2ljLCAoaW50cHRyX3Qpc3RhdGljX2Nhc3Q8UHJvcGVydHlTbG90OjpHZXRWYWx1ZUZ1bmM+
KGpzVGVzdE9ialdpdGhTY3JpcHRFeGVjdXRpb25Db250ZXh0QW5kU2NyaXB0U3RhdGVBdHRyaWJ1
dGUpLCAoaW50cHRyX3QpIHN0YXRpY19jYXN0PFB1dFByb3BlcnR5U2xvdDo6UHV0VmFsdWVGdW5j
PihzZXRKU1Rlc3RPYmpXaXRoU2NyaXB0RXhlY3V0aW9uQ29udGV4dEFuZFNjcmlwdFN0YXRlQXR0
cmlidXRlKSB9LAorICAgIHsgIndpdGhTY3JpcHRFeGVjdXRpb25Db250ZXh0QW5kU2NyaXB0U3Rh
dGVBdHRyaWJ1dGVSYWlzZXMiLCBEb250RGVsZXRlLCBOb0ludHJpbnNpYywgKGludHB0cl90KXN0
YXRpY19jYXN0PFByb3BlcnR5U2xvdDo6R2V0VmFsdWVGdW5jPihqc1Rlc3RPYmpXaXRoU2NyaXB0
RXhlY3V0aW9uQ29udGV4dEFuZFNjcmlwdFN0YXRlQXR0cmlidXRlUmFpc2VzKSwgKGludHB0cl90
KSBzdGF0aWNfY2FzdDxQdXRQcm9wZXJ0eVNsb3Q6OlB1dFZhbHVlRnVuYz4oc2V0SlNUZXN0T2Jq
V2l0aFNjcmlwdEV4ZWN1dGlvbkNvbnRleHRBbmRTY3JpcHRTdGF0ZUF0dHJpYnV0ZVJhaXNlcykg
fSwKKyAgICB7ICJ3aXRoU2NyaXB0RXhlY3V0aW9uQ29udGV4dEFuZFNjcmlwdFN0YXRlV2l0aFNw
YWNlc0F0dHJpYnV0ZSIsIERvbnREZWxldGUsIE5vSW50cmluc2ljLCAoaW50cHRyX3Qpc3RhdGlj
X2Nhc3Q8UHJvcGVydHlTbG90OjpHZXRWYWx1ZUZ1bmM+KGpzVGVzdE9ialdpdGhTY3JpcHRFeGVj
dXRpb25Db250ZXh0QW5kU2NyaXB0U3RhdGVXaXRoU3BhY2VzQXR0cmlidXRlKSwgKGludHB0cl90
KSBzdGF0aWNfY2FzdDxQdXRQcm9wZXJ0eVNsb3Q6OlB1dFZhbHVlRnVuYz4oc2V0SlNUZXN0T2Jq
V2l0aFNjcmlwdEV4ZWN1dGlvbkNvbnRleHRBbmRTY3JpcHRTdGF0ZVdpdGhTcGFjZXNBdHRyaWJ1
dGUpIH0sCisgICAgeyAid2l0aFNjcmlwdEFyZ3VtZW50c0FuZENhbGxTdGFja0F0dHJpYnV0ZSIs
IERvbnREZWxldGUsIE5vSW50cmluc2ljLCAoaW50cHRyX3Qpc3RhdGljX2Nhc3Q8UHJvcGVydHlT
bG90OjpHZXRWYWx1ZUZ1bmM+KGpzVGVzdE9ialdpdGhTY3JpcHRBcmd1bWVudHNBbmRDYWxsU3Rh
Y2tBdHRyaWJ1dGUpLCAoaW50cHRyX3QpIHN0YXRpY19jYXN0PFB1dFByb3BlcnR5U2xvdDo6UHV0
VmFsdWVGdW5jPihzZXRKU1Rlc3RPYmpXaXRoU2NyaXB0QXJndW1lbnRzQW5kQ2FsbFN0YWNrQXR0
cmlidXRlKSB9LAogI2lmIEVOQUJMRShDb25kaXRpb24xKQotICAgIHsgImNvbmRpdGlvbmFsQXR0
cjEiLCBEb250RGVsZXRlIHwgQ3VzdG9tQWNjZXNzb3IsIE5vSW50cmluc2ljLCAoaW50cHRyX3Qp
c3RhdGljX2Nhc3Q8UHJvcGVydHlTbG90OjpHZXRWYWx1ZUZ1bmM+KGpzVGVzdE9iakNvbmRpdGlv
bmFsQXR0cjEpLCAoaW50cHRyX3QpIHN0YXRpY19jYXN0PFB1dFByb3BlcnR5U2xvdDo6UHV0VmFs
dWVGdW5jPihzZXRKU1Rlc3RPYmpDb25kaXRpb25hbEF0dHIxKSB9LAorICAgIHsgImNvbmRpdGlv
bmFsQXR0cjEiLCBEb250RGVsZXRlLCBOb0ludHJpbnNpYywgKGludHB0cl90KXN0YXRpY19jYXN0
PFByb3BlcnR5U2xvdDo6R2V0VmFsdWVGdW5jPihqc1Rlc3RPYmpDb25kaXRpb25hbEF0dHIxKSwg
KGludHB0cl90KSBzdGF0aWNfY2FzdDxQdXRQcm9wZXJ0eVNsb3Q6OlB1dFZhbHVlRnVuYz4oc2V0
SlNUZXN0T2JqQ29uZGl0aW9uYWxBdHRyMSkgfSwKICNlbmRpZgogI2lmIEVOQUJMRShDb25kaXRp
b24xKSAmJiBFTkFCTEUoQ29uZGl0aW9uMikKLSAgICB7ICJjb25kaXRpb25hbEF0dHIyIiwgRG9u
dERlbGV0ZSB8IEN1c3RvbUFjY2Vzc29yLCBOb0ludHJpbnNpYywgKGludHB0cl90KXN0YXRpY19j
YXN0PFByb3BlcnR5U2xvdDo6R2V0VmFsdWVGdW5jPihqc1Rlc3RPYmpDb25kaXRpb25hbEF0dHIy
KSwgKGludHB0cl90KSBzdGF0aWNfY2FzdDxQdXRQcm9wZXJ0eVNsb3Q6OlB1dFZhbHVlRnVuYz4o
c2V0SlNUZXN0T2JqQ29uZGl0aW9uYWxBdHRyMikgfSwKKyAgICB7ICJjb25kaXRpb25hbEF0dHIy
IiwgRG9udERlbGV0ZSwgTm9JbnRyaW5zaWMsIChpbnRwdHJfdClzdGF0aWNfY2FzdDxQcm9wZXJ0
eVNsb3Q6OkdldFZhbHVlRnVuYz4oanNUZXN0T2JqQ29uZGl0aW9uYWxBdHRyMiksIChpbnRwdHJf
dCkgc3RhdGljX2Nhc3Q8UHV0UHJvcGVydHlTbG90OjpQdXRWYWx1ZUZ1bmM+KHNldEpTVGVzdE9i
akNvbmRpdGlvbmFsQXR0cjIpIH0sCiAjZW5kaWYKICNpZiBFTkFCTEUoQ29uZGl0aW9uMSkgfHwg
RU5BQkxFKENvbmRpdGlvbjIpCi0gICAgeyAiY29uZGl0aW9uYWxBdHRyMyIsIERvbnREZWxldGUg
fCBDdXN0b21BY2Nlc3NvciwgTm9JbnRyaW5zaWMsIChpbnRwdHJfdClzdGF0aWNfY2FzdDxQcm9w
ZXJ0eVNsb3Q6OkdldFZhbHVlRnVuYz4oanNUZXN0T2JqQ29uZGl0aW9uYWxBdHRyMyksIChpbnRw
dHJfdCkgc3RhdGljX2Nhc3Q8UHV0UHJvcGVydHlTbG90OjpQdXRWYWx1ZUZ1bmM+KHNldEpTVGVz
dE9iakNvbmRpdGlvbmFsQXR0cjMpIH0sCisgICAgeyAiY29uZGl0aW9uYWxBdHRyMyIsIERvbnRE
ZWxldGUsIE5vSW50cmluc2ljLCAoaW50cHRyX3Qpc3RhdGljX2Nhc3Q8UHJvcGVydHlTbG90OjpH
ZXRWYWx1ZUZ1bmM+KGpzVGVzdE9iakNvbmRpdGlvbmFsQXR0cjMpLCAoaW50cHRyX3QpIHN0YXRp
Y19jYXN0PFB1dFByb3BlcnR5U2xvdDo6UHV0VmFsdWVGdW5jPihzZXRKU1Rlc3RPYmpDb25kaXRp
b25hbEF0dHIzKSB9LAogI2VuZGlmCiAjaWYgRU5BQkxFKENvbmRpdGlvbjEpCiAgICAgeyAiY29u
ZGl0aW9uYWxBdHRyNCIsIERvbnRFbnVtLCBOb0ludHJpbnNpYywgKGludHB0cl90KXN0YXRpY19j
YXN0PFByb3BlcnR5U2xvdDo6R2V0VmFsdWVGdW5jPihqc1Rlc3RPYmpDb25kaXRpb25hbEF0dHI0
Q29uc3RydWN0b3IpLCAoaW50cHRyX3QpIHN0YXRpY19jYXN0PFB1dFByb3BlcnR5U2xvdDo6UHV0
VmFsdWVGdW5jPihzZXRKU1Rlc3RPYmpDb25kaXRpb25hbEF0dHI0Q29uc3RydWN0b3IpIH0sCkBA
IC0xMzQsMjYgKzEzNCwyNiBAQCBzdGF0aWMgY29uc3QgSGFzaFRhYmxlVmFsdWUgSlNUZXN0T2Jq
VGFibGVWYWx1ZXNbXSA9CiAjaWYgRU5BQkxFKENvbmRpdGlvbjEpIHx8IEVOQUJMRShDb25kaXRp
b24yKQogICAgIHsgImNvbmRpdGlvbmFsQXR0cjYiLCBEb250RW51bSwgTm9JbnRyaW5zaWMsIChp
bnRwdHJfdClzdGF0aWNfY2FzdDxQcm9wZXJ0eVNsb3Q6OkdldFZhbHVlRnVuYz4oanNUZXN0T2Jq
Q29uZGl0aW9uYWxBdHRyNkNvbnN0cnVjdG9yKSwgKGludHB0cl90KSBzdGF0aWNfY2FzdDxQdXRQ
cm9wZXJ0eVNsb3Q6OlB1dFZhbHVlRnVuYz4oc2V0SlNUZXN0T2JqQ29uZGl0aW9uYWxBdHRyNkNv
bnN0cnVjdG9yKSB9LAogI2VuZGlmCi0gICAgeyAiY2FjaGVkQXR0cmlidXRlMSIsIERvbnREZWxl
dGUgfCBSZWFkT25seSB8IEN1c3RvbUFjY2Vzc29yLCBOb0ludHJpbnNpYywgKGludHB0cl90KXN0
YXRpY19jYXN0PFByb3BlcnR5U2xvdDo6R2V0VmFsdWVGdW5jPihqc1Rlc3RPYmpDYWNoZWRBdHRy
aWJ1dGUxKSwgKGludHB0cl90KSBzdGF0aWNfY2FzdDxQdXRQcm9wZXJ0eVNsb3Q6OlB1dFZhbHVl
RnVuYz4oMCkgfSwKLSAgICB7ICJjYWNoZWRBdHRyaWJ1dGUyIiwgRG9udERlbGV0ZSB8IFJlYWRP
bmx5IHwgQ3VzdG9tQWNjZXNzb3IsIE5vSW50cmluc2ljLCAoaW50cHRyX3Qpc3RhdGljX2Nhc3Q8
UHJvcGVydHlTbG90OjpHZXRWYWx1ZUZ1bmM+KGpzVGVzdE9iakNhY2hlZEF0dHJpYnV0ZTIpLCAo
aW50cHRyX3QpIHN0YXRpY19jYXN0PFB1dFByb3BlcnR5U2xvdDo6UHV0VmFsdWVGdW5jPigwKSB9
LAotICAgIHsgImFueUF0dHJpYnV0ZSIsIERvbnREZWxldGUgfCBDdXN0b21BY2Nlc3NvciwgTm9J
bnRyaW5zaWMsIChpbnRwdHJfdClzdGF0aWNfY2FzdDxQcm9wZXJ0eVNsb3Q6OkdldFZhbHVlRnVu
Yz4oanNUZXN0T2JqQW55QXR0cmlidXRlKSwgKGludHB0cl90KSBzdGF0aWNfY2FzdDxQdXRQcm9w
ZXJ0eVNsb3Q6OlB1dFZhbHVlRnVuYz4oc2V0SlNUZXN0T2JqQW55QXR0cmlidXRlKSB9LAotICAg
IHsgImNvbnRlbnREb2N1bWVudCIsIERvbnREZWxldGUgfCBSZWFkT25seSB8IEN1c3RvbUFjY2Vz
c29yLCBOb0ludHJpbnNpYywgKGludHB0cl90KXN0YXRpY19jYXN0PFByb3BlcnR5U2xvdDo6R2V0
VmFsdWVGdW5jPihqc1Rlc3RPYmpDb250ZW50RG9jdW1lbnQpLCAoaW50cHRyX3QpIHN0YXRpY19j
YXN0PFB1dFByb3BlcnR5U2xvdDo6UHV0VmFsdWVGdW5jPigwKSB9LAotICAgIHsgIm11dGFibGVQ
b2ludCIsIERvbnREZWxldGUgfCBDdXN0b21BY2Nlc3NvciwgTm9JbnRyaW5zaWMsIChpbnRwdHJf
dClzdGF0aWNfY2FzdDxQcm9wZXJ0eVNsb3Q6OkdldFZhbHVlRnVuYz4oanNUZXN0T2JqTXV0YWJs
ZVBvaW50KSwgKGludHB0cl90KSBzdGF0aWNfY2FzdDxQdXRQcm9wZXJ0eVNsb3Q6OlB1dFZhbHVl
RnVuYz4oc2V0SlNUZXN0T2JqTXV0YWJsZVBvaW50KSB9LAotICAgIHsgImltbXV0YWJsZVBvaW50
IiwgRG9udERlbGV0ZSB8IEN1c3RvbUFjY2Vzc29yLCBOb0ludHJpbnNpYywgKGludHB0cl90KXN0
YXRpY19jYXN0PFByb3BlcnR5U2xvdDo6R2V0VmFsdWVGdW5jPihqc1Rlc3RPYmpJbW11dGFibGVQ
b2ludCksIChpbnRwdHJfdCkgc3RhdGljX2Nhc3Q8UHV0UHJvcGVydHlTbG90OjpQdXRWYWx1ZUZ1
bmM+KHNldEpTVGVzdE9iakltbXV0YWJsZVBvaW50KSB9LAotICAgIHsgInN0cmF3YmVycnkiLCBE
b250RGVsZXRlIHwgQ3VzdG9tQWNjZXNzb3IsIE5vSW50cmluc2ljLCAoaW50cHRyX3Qpc3RhdGlj
X2Nhc3Q8UHJvcGVydHlTbG90OjpHZXRWYWx1ZUZ1bmM+KGpzVGVzdE9ialN0cmF3YmVycnkpLCAo
aW50cHRyX3QpIHN0YXRpY19jYXN0PFB1dFByb3BlcnR5U2xvdDo6UHV0VmFsdWVGdW5jPihzZXRK
U1Rlc3RPYmpTdHJhd2JlcnJ5KSB9LAotICAgIHsgInN0cmljdEZsb2F0IiwgRG9udERlbGV0ZSB8
IEN1c3RvbUFjY2Vzc29yLCBOb0ludHJpbnNpYywgKGludHB0cl90KXN0YXRpY19jYXN0PFByb3Bl
cnR5U2xvdDo6R2V0VmFsdWVGdW5jPihqc1Rlc3RPYmpTdHJpY3RGbG9hdCksIChpbnRwdHJfdCkg
c3RhdGljX2Nhc3Q8UHV0UHJvcGVydHlTbG90OjpQdXRWYWx1ZUZ1bmM+KHNldEpTVGVzdE9ialN0
cmljdEZsb2F0KSB9LAotICAgIHsgImRlc2NyaXB0aW9uIiwgRG9udERlbGV0ZSB8IFJlYWRPbmx5
IHwgQ3VzdG9tQWNjZXNzb3IsIE5vSW50cmluc2ljLCAoaW50cHRyX3Qpc3RhdGljX2Nhc3Q8UHJv
cGVydHlTbG90OjpHZXRWYWx1ZUZ1bmM+KGpzVGVzdE9iakRlc2NyaXB0aW9uKSwgKGludHB0cl90
KSBzdGF0aWNfY2FzdDxQdXRQcm9wZXJ0eVNsb3Q6OlB1dFZhbHVlRnVuYz4oMCkgfSwKLSAgICB7
ICJpZCIsIERvbnREZWxldGUgfCBDdXN0b21BY2Nlc3NvciwgTm9JbnRyaW5zaWMsIChpbnRwdHJf
dClzdGF0aWNfY2FzdDxQcm9wZXJ0eVNsb3Q6OkdldFZhbHVlRnVuYz4oanNUZXN0T2JqSWQpLCAo
aW50cHRyX3QpIHN0YXRpY19jYXN0PFB1dFByb3BlcnR5U2xvdDo6UHV0VmFsdWVGdW5jPihzZXRK
U1Rlc3RPYmpJZCkgfSwKLSAgICB7ICJoYXNoIiwgRG9udERlbGV0ZSB8IFJlYWRPbmx5IHwgQ3Vz
dG9tQWNjZXNzb3IsIE5vSW50cmluc2ljLCAoaW50cHRyX3Qpc3RhdGljX2Nhc3Q8UHJvcGVydHlT
bG90OjpHZXRWYWx1ZUZ1bmM+KGpzVGVzdE9iakhhc2gpLCAoaW50cHRyX3QpIHN0YXRpY19jYXN0
PFB1dFByb3BlcnR5U2xvdDo6UHV0VmFsdWVGdW5jPigwKSB9LAotICAgIHsgInJlcGxhY2VhYmxl
QXR0cmlidXRlIiwgRG9udERlbGV0ZSB8IEN1c3RvbUFjY2Vzc29yLCBOb0ludHJpbnNpYywgKGlu
dHB0cl90KXN0YXRpY19jYXN0PFByb3BlcnR5U2xvdDo6R2V0VmFsdWVGdW5jPihqc1Rlc3RPYmpS
ZXBsYWNlYWJsZUF0dHJpYnV0ZSksIChpbnRwdHJfdCkgc3RhdGljX2Nhc3Q8UHV0UHJvcGVydHlT
bG90OjpQdXRWYWx1ZUZ1bmM+KHNldEpTVGVzdE9ialJlcGxhY2VhYmxlQXR0cmlidXRlKSB9LAot
ICAgIHsgIm51bGxhYmxlRG91YmxlQXR0cmlidXRlIiwgRG9udERlbGV0ZSB8IFJlYWRPbmx5IHwg
Q3VzdG9tQWNjZXNzb3IsIE5vSW50cmluc2ljLCAoaW50cHRyX3Qpc3RhdGljX2Nhc3Q8UHJvcGVy
dHlTbG90OjpHZXRWYWx1ZUZ1bmM+KGpzVGVzdE9iak51bGxhYmxlRG91YmxlQXR0cmlidXRlKSwg
KGludHB0cl90KSBzdGF0aWNfY2FzdDxQdXRQcm9wZXJ0eVNsb3Q6OlB1dFZhbHVlRnVuYz4oMCkg
fSwKLSAgICB7ICJudWxsYWJsZUxvbmdBdHRyaWJ1dGUiLCBEb250RGVsZXRlIHwgUmVhZE9ubHkg
fCBDdXN0b21BY2Nlc3NvciwgTm9JbnRyaW5zaWMsIChpbnRwdHJfdClzdGF0aWNfY2FzdDxQcm9w
ZXJ0eVNsb3Q6OkdldFZhbHVlRnVuYz4oanNUZXN0T2JqTnVsbGFibGVMb25nQXR0cmlidXRlKSwg
KGludHB0cl90KSBzdGF0aWNfY2FzdDxQdXRQcm9wZXJ0eVNsb3Q6OlB1dFZhbHVlRnVuYz4oMCkg
fSwKLSAgICB7ICJudWxsYWJsZUJvb2xlYW5BdHRyaWJ1dGUiLCBEb250RGVsZXRlIHwgUmVhZE9u
bHkgfCBDdXN0b21BY2Nlc3NvciwgTm9JbnRyaW5zaWMsIChpbnRwdHJfdClzdGF0aWNfY2FzdDxQ
cm9wZXJ0eVNsb3Q6OkdldFZhbHVlRnVuYz4oanNUZXN0T2JqTnVsbGFibGVCb29sZWFuQXR0cmli
dXRlKSwgKGludHB0cl90KSBzdGF0aWNfY2FzdDxQdXRQcm9wZXJ0eVNsb3Q6OlB1dFZhbHVlRnVu
Yz4oMCkgfSwKLSAgICB7ICJudWxsYWJsZVN0cmluZ0F0dHJpYnV0ZSIsIERvbnREZWxldGUgfCBS
ZWFkT25seSB8IEN1c3RvbUFjY2Vzc29yLCBOb0ludHJpbnNpYywgKGludHB0cl90KXN0YXRpY19j
YXN0PFByb3BlcnR5U2xvdDo6R2V0VmFsdWVGdW5jPihqc1Rlc3RPYmpOdWxsYWJsZVN0cmluZ0F0
dHJpYnV0ZSksIChpbnRwdHJfdCkgc3RhdGljX2Nhc3Q8UHV0UHJvcGVydHlTbG90OjpQdXRWYWx1
ZUZ1bmM+KDApIH0sCi0gICAgeyAibnVsbGFibGVMb25nU2V0dGFibGVBdHRyaWJ1dGUiLCBEb250
RGVsZXRlIHwgQ3VzdG9tQWNjZXNzb3IsIE5vSW50cmluc2ljLCAoaW50cHRyX3Qpc3RhdGljX2Nh
c3Q8UHJvcGVydHlTbG90OjpHZXRWYWx1ZUZ1bmM+KGpzVGVzdE9iak51bGxhYmxlTG9uZ1NldHRh
YmxlQXR0cmlidXRlKSwgKGludHB0cl90KSBzdGF0aWNfY2FzdDxQdXRQcm9wZXJ0eVNsb3Q6OlB1
dFZhbHVlRnVuYz4oc2V0SlNUZXN0T2JqTnVsbGFibGVMb25nU2V0dGFibGVBdHRyaWJ1dGUpIH0s
Ci0gICAgeyAibnVsbGFibGVTdHJpbmdWYWx1ZSIsIERvbnREZWxldGUgfCBDdXN0b21BY2Nlc3Nv
ciwgTm9JbnRyaW5zaWMsIChpbnRwdHJfdClzdGF0aWNfY2FzdDxQcm9wZXJ0eVNsb3Q6OkdldFZh
bHVlRnVuYz4oanNUZXN0T2JqTnVsbGFibGVTdHJpbmdWYWx1ZSksIChpbnRwdHJfdCkgc3RhdGlj
X2Nhc3Q8UHV0UHJvcGVydHlTbG90OjpQdXRWYWx1ZUZ1bmM+KHNldEpTVGVzdE9iak51bGxhYmxl
U3RyaW5nVmFsdWUpIH0sCi0gICAgeyAiYXR0cmlidXRlIiwgRG9udERlbGV0ZSB8IFJlYWRPbmx5
IHwgQ3VzdG9tQWNjZXNzb3IsIE5vSW50cmluc2ljLCAoaW50cHRyX3Qpc3RhdGljX2Nhc3Q8UHJv
cGVydHlTbG90OjpHZXRWYWx1ZUZ1bmM+KGpzVGVzdE9iakF0dHJpYnV0ZSksIChpbnRwdHJfdCkg
c3RhdGljX2Nhc3Q8UHV0UHJvcGVydHlTbG90OjpQdXRWYWx1ZUZ1bmM+KDApIH0sCi0gICAgeyAi
YXR0cmlidXRlV2l0aFJlc2VydmVkRW51bVR5cGUiLCBEb250RGVsZXRlIHwgQ3VzdG9tQWNjZXNz
b3IsIE5vSW50cmluc2ljLCAoaW50cHRyX3Qpc3RhdGljX2Nhc3Q8UHJvcGVydHlTbG90OjpHZXRW
YWx1ZUZ1bmM+KGpzVGVzdE9iakF0dHJpYnV0ZVdpdGhSZXNlcnZlZEVudW1UeXBlKSwgKGludHB0
cl90KSBzdGF0aWNfY2FzdDxQdXRQcm9wZXJ0eVNsb3Q6OlB1dFZhbHVlRnVuYz4oc2V0SlNUZXN0
T2JqQXR0cmlidXRlV2l0aFJlc2VydmVkRW51bVR5cGUpIH0sCisgICAgeyAiY2FjaGVkQXR0cmli
dXRlMSIsIERvbnREZWxldGUgfCBSZWFkT25seSwgTm9JbnRyaW5zaWMsIChpbnRwdHJfdClzdGF0
aWNfY2FzdDxQcm9wZXJ0eVNsb3Q6OkdldFZhbHVlRnVuYz4oanNUZXN0T2JqQ2FjaGVkQXR0cmli
dXRlMSksIChpbnRwdHJfdCkgc3RhdGljX2Nhc3Q8UHV0UHJvcGVydHlTbG90OjpQdXRWYWx1ZUZ1
bmM+KDApIH0sCisgICAgeyAiY2FjaGVkQXR0cmlidXRlMiIsIERvbnREZWxldGUgfCBSZWFkT25s
eSwgTm9JbnRyaW5zaWMsIChpbnRwdHJfdClzdGF0aWNfY2FzdDxQcm9wZXJ0eVNsb3Q6OkdldFZh
bHVlRnVuYz4oanNUZXN0T2JqQ2FjaGVkQXR0cmlidXRlMiksIChpbnRwdHJfdCkgc3RhdGljX2Nh
c3Q8UHV0UHJvcGVydHlTbG90OjpQdXRWYWx1ZUZ1bmM+KDApIH0sCisgICAgeyAiYW55QXR0cmli
dXRlIiwgRG9udERlbGV0ZSwgTm9JbnRyaW5zaWMsIChpbnRwdHJfdClzdGF0aWNfY2FzdDxQcm9w
ZXJ0eVNsb3Q6OkdldFZhbHVlRnVuYz4oanNUZXN0T2JqQW55QXR0cmlidXRlKSwgKGludHB0cl90
KSBzdGF0aWNfY2FzdDxQdXRQcm9wZXJ0eVNsb3Q6OlB1dFZhbHVlRnVuYz4oc2V0SlNUZXN0T2Jq
QW55QXR0cmlidXRlKSB9LAorICAgIHsgImNvbnRlbnREb2N1bWVudCIsIERvbnREZWxldGUgfCBS
ZWFkT25seSwgTm9JbnRyaW5zaWMsIChpbnRwdHJfdClzdGF0aWNfY2FzdDxQcm9wZXJ0eVNsb3Q6
OkdldFZhbHVlRnVuYz4oanNUZXN0T2JqQ29udGVudERvY3VtZW50KSwgKGludHB0cl90KSBzdGF0
aWNfY2FzdDxQdXRQcm9wZXJ0eVNsb3Q6OlB1dFZhbHVlRnVuYz4oMCkgfSwKKyAgICB7ICJtdXRh
YmxlUG9pbnQiLCBEb250RGVsZXRlLCBOb0ludHJpbnNpYywgKGludHB0cl90KXN0YXRpY19jYXN0
PFByb3BlcnR5U2xvdDo6R2V0VmFsdWVGdW5jPihqc1Rlc3RPYmpNdXRhYmxlUG9pbnQpLCAoaW50
cHRyX3QpIHN0YXRpY19jYXN0PFB1dFByb3BlcnR5U2xvdDo6UHV0VmFsdWVGdW5jPihzZXRKU1Rl
c3RPYmpNdXRhYmxlUG9pbnQpIH0sCisgICAgeyAiaW1tdXRhYmxlUG9pbnQiLCBEb250RGVsZXRl
LCBOb0ludHJpbnNpYywgKGludHB0cl90KXN0YXRpY19jYXN0PFByb3BlcnR5U2xvdDo6R2V0VmFs
dWVGdW5jPihqc1Rlc3RPYmpJbW11dGFibGVQb2ludCksIChpbnRwdHJfdCkgc3RhdGljX2Nhc3Q8
UHV0UHJvcGVydHlTbG90OjpQdXRWYWx1ZUZ1bmM+KHNldEpTVGVzdE9iakltbXV0YWJsZVBvaW50
KSB9LAorICAgIHsgInN0cmF3YmVycnkiLCBEb250RGVsZXRlLCBOb0ludHJpbnNpYywgKGludHB0
cl90KXN0YXRpY19jYXN0PFByb3BlcnR5U2xvdDo6R2V0VmFsdWVGdW5jPihqc1Rlc3RPYmpTdHJh
d2JlcnJ5KSwgKGludHB0cl90KSBzdGF0aWNfY2FzdDxQdXRQcm9wZXJ0eVNsb3Q6OlB1dFZhbHVl
RnVuYz4oc2V0SlNUZXN0T2JqU3RyYXdiZXJyeSkgfSwKKyAgICB7ICJzdHJpY3RGbG9hdCIsIERv
bnREZWxldGUsIE5vSW50cmluc2ljLCAoaW50cHRyX3Qpc3RhdGljX2Nhc3Q8UHJvcGVydHlTbG90
OjpHZXRWYWx1ZUZ1bmM+KGpzVGVzdE9ialN0cmljdEZsb2F0KSwgKGludHB0cl90KSBzdGF0aWNf
Y2FzdDxQdXRQcm9wZXJ0eVNsb3Q6OlB1dFZhbHVlRnVuYz4oc2V0SlNUZXN0T2JqU3RyaWN0Rmxv
YXQpIH0sCisgICAgeyAiZGVzY3JpcHRpb24iLCBEb250RGVsZXRlIHwgUmVhZE9ubHksIE5vSW50
cmluc2ljLCAoaW50cHRyX3Qpc3RhdGljX2Nhc3Q8UHJvcGVydHlTbG90OjpHZXRWYWx1ZUZ1bmM+
KGpzVGVzdE9iakRlc2NyaXB0aW9uKSwgKGludHB0cl90KSBzdGF0aWNfY2FzdDxQdXRQcm9wZXJ0
eVNsb3Q6OlB1dFZhbHVlRnVuYz4oMCkgfSwKKyAgICB7ICJpZCIsIERvbnREZWxldGUsIE5vSW50
cmluc2ljLCAoaW50cHRyX3Qpc3RhdGljX2Nhc3Q8UHJvcGVydHlTbG90OjpHZXRWYWx1ZUZ1bmM+
KGpzVGVzdE9iaklkKSwgKGludHB0cl90KSBzdGF0aWNfY2FzdDxQdXRQcm9wZXJ0eVNsb3Q6OlB1
dFZhbHVlRnVuYz4oc2V0SlNUZXN0T2JqSWQpIH0sCisgICAgeyAiaGFzaCIsIERvbnREZWxldGUg
fCBSZWFkT25seSwgTm9JbnRyaW5zaWMsIChpbnRwdHJfdClzdGF0aWNfY2FzdDxQcm9wZXJ0eVNs
b3Q6OkdldFZhbHVlRnVuYz4oanNUZXN0T2JqSGFzaCksIChpbnRwdHJfdCkgc3RhdGljX2Nhc3Q8
UHV0UHJvcGVydHlTbG90OjpQdXRWYWx1ZUZ1bmM+KDApIH0sCisgICAgeyAicmVwbGFjZWFibGVB
dHRyaWJ1dGUiLCBEb250RGVsZXRlLCBOb0ludHJpbnNpYywgKGludHB0cl90KXN0YXRpY19jYXN0
PFByb3BlcnR5U2xvdDo6R2V0VmFsdWVGdW5jPihqc1Rlc3RPYmpSZXBsYWNlYWJsZUF0dHJpYnV0
ZSksIChpbnRwdHJfdCkgc3RhdGljX2Nhc3Q8UHV0UHJvcGVydHlTbG90OjpQdXRWYWx1ZUZ1bmM+
KHNldEpTVGVzdE9ialJlcGxhY2VhYmxlQXR0cmlidXRlKSB9LAorICAgIHsgIm51bGxhYmxlRG91
YmxlQXR0cmlidXRlIiwgRG9udERlbGV0ZSB8IFJlYWRPbmx5LCBOb0ludHJpbnNpYywgKGludHB0
cl90KXN0YXRpY19jYXN0PFByb3BlcnR5U2xvdDo6R2V0VmFsdWVGdW5jPihqc1Rlc3RPYmpOdWxs
YWJsZURvdWJsZUF0dHJpYnV0ZSksIChpbnRwdHJfdCkgc3RhdGljX2Nhc3Q8UHV0UHJvcGVydHlT
bG90OjpQdXRWYWx1ZUZ1bmM+KDApIH0sCisgICAgeyAibnVsbGFibGVMb25nQXR0cmlidXRlIiwg
RG9udERlbGV0ZSB8IFJlYWRPbmx5LCBOb0ludHJpbnNpYywgKGludHB0cl90KXN0YXRpY19jYXN0
PFByb3BlcnR5U2xvdDo6R2V0VmFsdWVGdW5jPihqc1Rlc3RPYmpOdWxsYWJsZUxvbmdBdHRyaWJ1
dGUpLCAoaW50cHRyX3QpIHN0YXRpY19jYXN0PFB1dFByb3BlcnR5U2xvdDo6UHV0VmFsdWVGdW5j
PigwKSB9LAorICAgIHsgIm51bGxhYmxlQm9vbGVhbkF0dHJpYnV0ZSIsIERvbnREZWxldGUgfCBS
ZWFkT25seSwgTm9JbnRyaW5zaWMsIChpbnRwdHJfdClzdGF0aWNfY2FzdDxQcm9wZXJ0eVNsb3Q6
OkdldFZhbHVlRnVuYz4oanNUZXN0T2JqTnVsbGFibGVCb29sZWFuQXR0cmlidXRlKSwgKGludHB0
cl90KSBzdGF0aWNfY2FzdDxQdXRQcm9wZXJ0eVNsb3Q6OlB1dFZhbHVlRnVuYz4oMCkgfSwKKyAg
ICB7ICJudWxsYWJsZVN0cmluZ0F0dHJpYnV0ZSIsIERvbnREZWxldGUgfCBSZWFkT25seSwgTm9J
bnRyaW5zaWMsIChpbnRwdHJfdClzdGF0aWNfY2FzdDxQcm9wZXJ0eVNsb3Q6OkdldFZhbHVlRnVu
Yz4oanNUZXN0T2JqTnVsbGFibGVTdHJpbmdBdHRyaWJ1dGUpLCAoaW50cHRyX3QpIHN0YXRpY19j
YXN0PFB1dFByb3BlcnR5U2xvdDo6UHV0VmFsdWVGdW5jPigwKSB9LAorICAgIHsgIm51bGxhYmxl
TG9uZ1NldHRhYmxlQXR0cmlidXRlIiwgRG9udERlbGV0ZSwgTm9JbnRyaW5zaWMsIChpbnRwdHJf
dClzdGF0aWNfY2FzdDxQcm9wZXJ0eVNsb3Q6OkdldFZhbHVlRnVuYz4oanNUZXN0T2JqTnVsbGFi
bGVMb25nU2V0dGFibGVBdHRyaWJ1dGUpLCAoaW50cHRyX3QpIHN0YXRpY19jYXN0PFB1dFByb3Bl
cnR5U2xvdDo6UHV0VmFsdWVGdW5jPihzZXRKU1Rlc3RPYmpOdWxsYWJsZUxvbmdTZXR0YWJsZUF0
dHJpYnV0ZSkgfSwKKyAgICB7ICJudWxsYWJsZVN0cmluZ1ZhbHVlIiwgRG9udERlbGV0ZSwgTm9J
bnRyaW5zaWMsIChpbnRwdHJfdClzdGF0aWNfY2FzdDxQcm9wZXJ0eVNsb3Q6OkdldFZhbHVlRnVu
Yz4oanNUZXN0T2JqTnVsbGFibGVTdHJpbmdWYWx1ZSksIChpbnRwdHJfdCkgc3RhdGljX2Nhc3Q8
UHV0UHJvcGVydHlTbG90OjpQdXRWYWx1ZUZ1bmM+KHNldEpTVGVzdE9iak51bGxhYmxlU3RyaW5n
VmFsdWUpIH0sCisgICAgeyAiYXR0cmlidXRlIiwgRG9udERlbGV0ZSB8IFJlYWRPbmx5LCBOb0lu
dHJpbnNpYywgKGludHB0cl90KXN0YXRpY19jYXN0PFByb3BlcnR5U2xvdDo6R2V0VmFsdWVGdW5j
Pihqc1Rlc3RPYmpBdHRyaWJ1dGUpLCAoaW50cHRyX3QpIHN0YXRpY19jYXN0PFB1dFByb3BlcnR5
U2xvdDo6UHV0VmFsdWVGdW5jPigwKSB9LAorICAgIHsgImF0dHJpYnV0ZVdpdGhSZXNlcnZlZEVu
dW1UeXBlIiwgRG9udERlbGV0ZSwgTm9JbnRyaW5zaWMsIChpbnRwdHJfdClzdGF0aWNfY2FzdDxQ
cm9wZXJ0eVNsb3Q6OkdldFZhbHVlRnVuYz4oanNUZXN0T2JqQXR0cmlidXRlV2l0aFJlc2VydmVk
RW51bVR5cGUpLCAoaW50cHRyX3QpIHN0YXRpY19jYXN0PFB1dFByb3BlcnR5U2xvdDo6UHV0VmFs
dWVGdW5jPihzZXRKU1Rlc3RPYmpBdHRyaWJ1dGVXaXRoUmVzZXJ2ZWRFbnVtVHlwZSkgfSwKICAg
ICB7ICJjb25zdHJ1Y3RvciIsIERvbnRFbnVtIHwgUmVhZE9ubHksIE5vSW50cmluc2ljLCAoaW50
cHRyX3Qpc3RhdGljX2Nhc3Q8UHJvcGVydHlTbG90OjpHZXRWYWx1ZUZ1bmM+KGpzVGVzdE9iakNv
bnN0cnVjdG9yKSwgKGludHB0cl90KSBzdGF0aWNfY2FzdDxQdXRQcm9wZXJ0eVNsb3Q6OlB1dFZh
bHVlRnVuYz4oMCkgfSwKICAgICB7IDAsIDAsIE5vSW50cmluc2ljLCAwLCAwIH0KIH07CkBAIC0x
MzA3LDExICsxMzA3LDEzIEBAIEVuY29kZWRKU1ZhbHVlIGpzVGVzdE9iakF0dHJpYnV0ZVdpdGhS
ZXNlcnZlZEVudW1UeXBlKEV4ZWNTdGF0ZSogZXhlYywgRW5jb2RlZEpTCiB9CiAKIAotRW5jb2Rl
ZEpTVmFsdWUganNUZXN0T2JqQ29uc3RydWN0b3IoRXhlY1N0YXRlKiBleGVjLCBFbmNvZGVkSlNW
YWx1ZSwgRW5jb2RlZEpTVmFsdWUgdGhpc1ZhbHVlLCBQcm9wZXJ0eU5hbWUpCitFbmNvZGVkSlNW
YWx1ZSBqc1Rlc3RPYmpDb25zdHJ1Y3RvcihFeGVjU3RhdGUqIGV4ZWMsIEVuY29kZWRKU1ZhbHVl
IHRoaXNWYWx1ZSwgRW5jb2RlZEpTVmFsdWUsIFByb3BlcnR5TmFtZSkKIHsKICAgICBKU1Rlc3RP
YmoqIGRvbU9iamVjdCA9IGpzRHluYW1pY0Nhc3Q8SlNUZXN0T2JqKj4oSlNWYWx1ZTo6ZGVjb2Rl
KHRoaXNWYWx1ZSkpOwogICAgIGlmICghZG9tT2JqZWN0KQogICAgICAgICByZXR1cm4gdGhyb3dW
TVR5cGVFcnJvcihleGVjKTsKKyAgICBpZiAoIWRvbU9iamVjdCkKKyAgICAgICAgcmV0dXJuIHRo
cm93Vk1UeXBlRXJyb3IoZXhlYyk7CiAgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShKU1Rlc3RP
Ymo6OmdldENvbnN0cnVjdG9yKGV4ZWMtPnZtKCksIGRvbU9iamVjdC0+Z2xvYmFsT2JqZWN0KCkp
KTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0
L0pTL0pTVGVzdE92ZXJsb2FkZWRDb25zdHJ1Y3RvcnMuY3BwIGIvU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE92ZXJsb2FkZWRDb25zdHJ1Y3RvcnMuY3BwCmlu
ZGV4IDEzNDg2MmQwODYxY2EyZmQ5ZTI3YWM4OGNmMmQ2OTUzN2I3YTBlZmIuLjE0NWQ0OWE4Nzk4
YjFiODM1ZThmM2JkZmNmYmViY2JjNTczZmMzOGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RPdmVybG9hZGVkQ29uc3RydWN0b3JzLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0T3Zl
cmxvYWRlZENvbnN0cnVjdG9ycy5jcHAKQEAgLTE5MiwxMSArMTkyLDEzIEBAIGJvb2wgSlNUZXN0
T3ZlcmxvYWRlZENvbnN0cnVjdG9yczo6Z2V0T3duUHJvcGVydHlTbG90KEpTT2JqZWN0KiBvYmpl
Y3QsIEV4ZWNTdGF0CiAgICAgcmV0dXJuIGdldFN0YXRpY1ZhbHVlU2xvdDxKU1Rlc3RPdmVybG9h
ZGVkQ29uc3RydWN0b3JzLCBCYXNlPihleGVjLCBKU1Rlc3RPdmVybG9hZGVkQ29uc3RydWN0b3Jz
VGFibGUsIHRoaXNPYmplY3QsIHByb3BlcnR5TmFtZSwgc2xvdCk7CiB9CiAKLUVuY29kZWRKU1Zh
bHVlIGpzVGVzdE92ZXJsb2FkZWRDb25zdHJ1Y3RvcnNDb25zdHJ1Y3RvcihFeGVjU3RhdGUqIGV4
ZWMsIEVuY29kZWRKU1ZhbHVlLCBFbmNvZGVkSlNWYWx1ZSB0aGlzVmFsdWUsIFByb3BlcnR5TmFt
ZSkKK0VuY29kZWRKU1ZhbHVlIGpzVGVzdE92ZXJsb2FkZWRDb25zdHJ1Y3RvcnNDb25zdHJ1Y3Rv
cihFeGVjU3RhdGUqIGV4ZWMsIEVuY29kZWRKU1ZhbHVlIHRoaXNWYWx1ZSwgRW5jb2RlZEpTVmFs
dWUsIFByb3BlcnR5TmFtZSkKIHsKICAgICBKU1Rlc3RPdmVybG9hZGVkQ29uc3RydWN0b3JzKiBk
b21PYmplY3QgPSBqc0R5bmFtaWNDYXN0PEpTVGVzdE92ZXJsb2FkZWRDb25zdHJ1Y3RvcnMqPihK
U1ZhbHVlOjpkZWNvZGUodGhpc1ZhbHVlKSk7CiAgICAgaWYgKCFkb21PYmplY3QpCiAgICAgICAg
IHJldHVybiB0aHJvd1ZNVHlwZUVycm9yKGV4ZWMpOworICAgIGlmICghZG9tT2JqZWN0KQorICAg
ICAgICByZXR1cm4gdGhyb3dWTVR5cGVFcnJvcihleGVjKTsKICAgICByZXR1cm4gSlNWYWx1ZTo6
ZW5jb2RlKEpTVGVzdE92ZXJsb2FkZWRDb25zdHJ1Y3RvcnM6OmdldENvbnN0cnVjdG9yKGV4ZWMt
PnZtKCksIGRvbU9iamVjdC0+Z2xvYmFsT2JqZWN0KCkpKTsKIH0KIApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdFNlcmlhbGl6ZWRTY3Jp
cHRWYWx1ZUludGVyZmFjZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rl
c3QvSlMvSlNUZXN0U2VyaWFsaXplZFNjcmlwdFZhbHVlSW50ZXJmYWNlLmNwcAppbmRleCAwNGRl
YWYxMGEyMGE1Zjg1MGQ2ODVjYjU3MDgzZTRmMGMwN2U1MjY0Li40ZmNmOWU2NGRjYjIxODAzZjc5
Y2EzMzQyNDY5MjlkYWFiY2VkMTYzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0U2VyaWFsaXplZFNjcmlwdFZhbHVlSW50ZXJmYWNlLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0U2Vy
aWFsaXplZFNjcmlwdFZhbHVlSW50ZXJmYWNlLmNwcApAQCAtMzksMTEgKzM5LDExIEBAIG5hbWVz
cGFjZSBXZWJDb3JlIHsKIAogc3RhdGljIGNvbnN0IEhhc2hUYWJsZVZhbHVlIEpTVGVzdFNlcmlh
bGl6ZWRTY3JpcHRWYWx1ZUludGVyZmFjZVRhYmxlVmFsdWVzW10gPQogewotICAgIHsgInZhbHVl
IiwgRG9udERlbGV0ZSB8IEN1c3RvbUFjY2Vzc29yLCBOb0ludHJpbnNpYywgKGludHB0cl90KXN0
YXRpY19jYXN0PFByb3BlcnR5U2xvdDo6R2V0VmFsdWVGdW5jPihqc1Rlc3RTZXJpYWxpemVkU2Ny
aXB0VmFsdWVJbnRlcmZhY2VWYWx1ZSksIChpbnRwdHJfdCkgc3RhdGljX2Nhc3Q8UHV0UHJvcGVy
dHlTbG90OjpQdXRWYWx1ZUZ1bmM+KHNldEpTVGVzdFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZUludGVy
ZmFjZVZhbHVlKSB9LAotICAgIHsgInJlYWRvbmx5VmFsdWUiLCBEb250RGVsZXRlIHwgUmVhZE9u
bHkgfCBDdXN0b21BY2Nlc3NvciwgTm9JbnRyaW5zaWMsIChpbnRwdHJfdClzdGF0aWNfY2FzdDxQ
cm9wZXJ0eVNsb3Q6OkdldFZhbHVlRnVuYz4oanNUZXN0U2VyaWFsaXplZFNjcmlwdFZhbHVlSW50
ZXJmYWNlUmVhZG9ubHlWYWx1ZSksIChpbnRwdHJfdCkgc3RhdGljX2Nhc3Q8UHV0UHJvcGVydHlT
bG90OjpQdXRWYWx1ZUZ1bmM+KDApIH0sCi0gICAgeyAiY2FjaGVkVmFsdWUiLCBEb250RGVsZXRl
IHwgQ3VzdG9tQWNjZXNzb3IsIE5vSW50cmluc2ljLCAoaW50cHRyX3Qpc3RhdGljX2Nhc3Q8UHJv
cGVydHlTbG90OjpHZXRWYWx1ZUZ1bmM+KGpzVGVzdFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZUludGVy
ZmFjZUNhY2hlZFZhbHVlKSwgKGludHB0cl90KSBzdGF0aWNfY2FzdDxQdXRQcm9wZXJ0eVNsb3Q6
OlB1dFZhbHVlRnVuYz4oc2V0SlNUZXN0U2VyaWFsaXplZFNjcmlwdFZhbHVlSW50ZXJmYWNlQ2Fj
aGVkVmFsdWUpIH0sCi0gICAgeyAicG9ydHMiLCBEb250RGVsZXRlIHwgUmVhZE9ubHkgfCBDdXN0
b21BY2Nlc3NvciwgTm9JbnRyaW5zaWMsIChpbnRwdHJfdClzdGF0aWNfY2FzdDxQcm9wZXJ0eVNs
b3Q6OkdldFZhbHVlRnVuYz4oanNUZXN0U2VyaWFsaXplZFNjcmlwdFZhbHVlSW50ZXJmYWNlUG9y
dHMpLCAoaW50cHRyX3QpIHN0YXRpY19jYXN0PFB1dFByb3BlcnR5U2xvdDo6UHV0VmFsdWVGdW5j
PigwKSB9LAotICAgIHsgImNhY2hlZFJlYWRvbmx5VmFsdWUiLCBEb250RGVsZXRlIHwgUmVhZE9u
bHkgfCBDdXN0b21BY2Nlc3NvciwgTm9JbnRyaW5zaWMsIChpbnRwdHJfdClzdGF0aWNfY2FzdDxQ
cm9wZXJ0eVNsb3Q6OkdldFZhbHVlRnVuYz4oanNUZXN0U2VyaWFsaXplZFNjcmlwdFZhbHVlSW50
ZXJmYWNlQ2FjaGVkUmVhZG9ubHlWYWx1ZSksIChpbnRwdHJfdCkgc3RhdGljX2Nhc3Q8UHV0UHJv
cGVydHlTbG90OjpQdXRWYWx1ZUZ1bmM+KDApIH0sCisgICAgeyAidmFsdWUiLCBEb250RGVsZXRl
LCBOb0ludHJpbnNpYywgKGludHB0cl90KXN0YXRpY19jYXN0PFByb3BlcnR5U2xvdDo6R2V0VmFs
dWVGdW5jPihqc1Rlc3RTZXJpYWxpemVkU2NyaXB0VmFsdWVJbnRlcmZhY2VWYWx1ZSksIChpbnRw
dHJfdCkgc3RhdGljX2Nhc3Q8UHV0UHJvcGVydHlTbG90OjpQdXRWYWx1ZUZ1bmM+KHNldEpTVGVz
dFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZUludGVyZmFjZVZhbHVlKSB9LAorICAgIHsgInJlYWRvbmx5
VmFsdWUiLCBEb250RGVsZXRlIHwgUmVhZE9ubHksIE5vSW50cmluc2ljLCAoaW50cHRyX3Qpc3Rh
dGljX2Nhc3Q8UHJvcGVydHlTbG90OjpHZXRWYWx1ZUZ1bmM+KGpzVGVzdFNlcmlhbGl6ZWRTY3Jp
cHRWYWx1ZUludGVyZmFjZVJlYWRvbmx5VmFsdWUpLCAoaW50cHRyX3QpIHN0YXRpY19jYXN0PFB1
dFByb3BlcnR5U2xvdDo6UHV0VmFsdWVGdW5jPigwKSB9LAorICAgIHsgImNhY2hlZFZhbHVlIiwg
RG9udERlbGV0ZSwgTm9JbnRyaW5zaWMsIChpbnRwdHJfdClzdGF0aWNfY2FzdDxQcm9wZXJ0eVNs
b3Q6OkdldFZhbHVlRnVuYz4oanNUZXN0U2VyaWFsaXplZFNjcmlwdFZhbHVlSW50ZXJmYWNlQ2Fj
aGVkVmFsdWUpLCAoaW50cHRyX3QpIHN0YXRpY19jYXN0PFB1dFByb3BlcnR5U2xvdDo6UHV0VmFs
dWVGdW5jPihzZXRKU1Rlc3RTZXJpYWxpemVkU2NyaXB0VmFsdWVJbnRlcmZhY2VDYWNoZWRWYWx1
ZSkgfSwKKyAgICB7ICJwb3J0cyIsIERvbnREZWxldGUgfCBSZWFkT25seSwgTm9JbnRyaW5zaWMs
IChpbnRwdHJfdClzdGF0aWNfY2FzdDxQcm9wZXJ0eVNsb3Q6OkdldFZhbHVlRnVuYz4oanNUZXN0
U2VyaWFsaXplZFNjcmlwdFZhbHVlSW50ZXJmYWNlUG9ydHMpLCAoaW50cHRyX3QpIHN0YXRpY19j
YXN0PFB1dFByb3BlcnR5U2xvdDo6UHV0VmFsdWVGdW5jPigwKSB9LAorICAgIHsgImNhY2hlZFJl
YWRvbmx5VmFsdWUiLCBEb250RGVsZXRlIHwgUmVhZE9ubHksIE5vSW50cmluc2ljLCAoaW50cHRy
X3Qpc3RhdGljX2Nhc3Q8UHJvcGVydHlTbG90OjpHZXRWYWx1ZUZ1bmM+KGpzVGVzdFNlcmlhbGl6
ZWRTY3JpcHRWYWx1ZUludGVyZmFjZUNhY2hlZFJlYWRvbmx5VmFsdWUpLCAoaW50cHRyX3QpIHN0
YXRpY19jYXN0PFB1dFByb3BlcnR5U2xvdDo6UHV0VmFsdWVGdW5jPigwKSB9LAogICAgIHsgImNv
bnN0cnVjdG9yIiwgRG9udEVudW0gfCBSZWFkT25seSwgTm9JbnRyaW5zaWMsIChpbnRwdHJfdClz
dGF0aWNfY2FzdDxQcm9wZXJ0eVNsb3Q6OkdldFZhbHVlRnVuYz4oanNUZXN0U2VyaWFsaXplZFNj
cmlwdFZhbHVlSW50ZXJmYWNlQ29uc3RydWN0b3IpLCAoaW50cHRyX3QpIHN0YXRpY19jYXN0PFB1
dFByb3BlcnR5U2xvdDo6UHV0VmFsdWVGdW5jPigwKSB9LAogICAgIHsgMCwgMCwgTm9JbnRyaW5z
aWMsIDAsIDAgfQogfTsKQEAgLTIwMCwxMSArMjAwLDEzIEBAIEVuY29kZWRKU1ZhbHVlIGpzVGVz
dFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZUludGVyZmFjZUNhY2hlZFJlYWRvbmx5VmFsdWUoRXhlY1N0
YXRlCiB9CiAKIAotRW5jb2RlZEpTVmFsdWUganNUZXN0U2VyaWFsaXplZFNjcmlwdFZhbHVlSW50
ZXJmYWNlQ29uc3RydWN0b3IoRXhlY1N0YXRlKiBleGVjLCBFbmNvZGVkSlNWYWx1ZSwgRW5jb2Rl
ZEpTVmFsdWUgdGhpc1ZhbHVlLCBQcm9wZXJ0eU5hbWUpCitFbmNvZGVkSlNWYWx1ZSBqc1Rlc3RT
ZXJpYWxpemVkU2NyaXB0VmFsdWVJbnRlcmZhY2VDb25zdHJ1Y3RvcihFeGVjU3RhdGUqIGV4ZWMs
IEVuY29kZWRKU1ZhbHVlIHRoaXNWYWx1ZSwgRW5jb2RlZEpTVmFsdWUsIFByb3BlcnR5TmFtZSkK
IHsKICAgICBKU1Rlc3RTZXJpYWxpemVkU2NyaXB0VmFsdWVJbnRlcmZhY2UqIGRvbU9iamVjdCA9
IGpzRHluYW1pY0Nhc3Q8SlNUZXN0U2VyaWFsaXplZFNjcmlwdFZhbHVlSW50ZXJmYWNlKj4oSlNW
YWx1ZTo6ZGVjb2RlKHRoaXNWYWx1ZSkpOwogICAgIGlmICghZG9tT2JqZWN0KQogICAgICAgICBy
ZXR1cm4gdGhyb3dWTVR5cGVFcnJvcihleGVjKTsKKyAgICBpZiAoIWRvbU9iamVjdCkKKyAgICAg
ICAgcmV0dXJuIHRocm93Vk1UeXBlRXJyb3IoZXhlYyk7CiAgICAgcmV0dXJuIEpTVmFsdWU6OmVu
Y29kZShKU1Rlc3RTZXJpYWxpemVkU2NyaXB0VmFsdWVJbnRlcmZhY2U6OmdldENvbnN0cnVjdG9y
KGV4ZWMtPnZtKCksIGRvbU9iamVjdC0+Z2xvYmFsT2JqZWN0KCkpKTsKIH0KIApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdFR5cGVkZWZz
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RUeXBl
ZGVmcy5jcHAKaW5kZXggZTk0NDIxY2E1ZjdjN2FlMGRkZTRjNWY4NjhlOWY1NDA1NTdhNTA2ZC4u
YzM4Nzc1ZmVhOGE0Mzk5MWMwZmI4ZGJiZGExNTUxNjQxOTdmZmY0NSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdFR5cGVkZWZzLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0VHlwZWRl
ZnMuY3BwCkBAIC00NywxMiArNDcsMTIgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiBzdGF0aWMg
Y29uc3QgSGFzaFRhYmxlVmFsdWUgSlNUZXN0VHlwZWRlZnNUYWJsZVZhbHVlc1tdID0KIHsKLSAg
ICB7ICJ1bnNpZ25lZExvbmdMb25nQXR0ciIsIERvbnREZWxldGUgfCBDdXN0b21BY2Nlc3Nvciwg
Tm9JbnRyaW5zaWMsIChpbnRwdHJfdClzdGF0aWNfY2FzdDxQcm9wZXJ0eVNsb3Q6OkdldFZhbHVl
RnVuYz4oanNUZXN0VHlwZWRlZnNVbnNpZ25lZExvbmdMb25nQXR0ciksIChpbnRwdHJfdCkgc3Rh
dGljX2Nhc3Q8UHV0UHJvcGVydHlTbG90OjpQdXRWYWx1ZUZ1bmM+KHNldEpTVGVzdFR5cGVkZWZz
VW5zaWduZWRMb25nTG9uZ0F0dHIpIH0sCi0gICAgeyAiaW1tdXRhYmxlU2VyaWFsaXplZFNjcmlw
dFZhbHVlIiwgRG9udERlbGV0ZSB8IEN1c3RvbUFjY2Vzc29yLCBOb0ludHJpbnNpYywgKGludHB0
cl90KXN0YXRpY19jYXN0PFByb3BlcnR5U2xvdDo6R2V0VmFsdWVGdW5jPihqc1Rlc3RUeXBlZGVm
c0ltbXV0YWJsZVNlcmlhbGl6ZWRTY3JpcHRWYWx1ZSksIChpbnRwdHJfdCkgc3RhdGljX2Nhc3Q8
UHV0UHJvcGVydHlTbG90OjpQdXRWYWx1ZUZ1bmM+KHNldEpTVGVzdFR5cGVkZWZzSW1tdXRhYmxl
U2VyaWFsaXplZFNjcmlwdFZhbHVlKSB9LAotICAgIHsgImF0dHJXaXRoR2V0dGVyRXhjZXB0aW9u
IiwgRG9udERlbGV0ZSB8IEN1c3RvbUFjY2Vzc29yLCBOb0ludHJpbnNpYywgKGludHB0cl90KXN0
YXRpY19jYXN0PFByb3BlcnR5U2xvdDo6R2V0VmFsdWVGdW5jPihqc1Rlc3RUeXBlZGVmc0F0dHJX
aXRoR2V0dGVyRXhjZXB0aW9uKSwgKGludHB0cl90KSBzdGF0aWNfY2FzdDxQdXRQcm9wZXJ0eVNs
b3Q6OlB1dFZhbHVlRnVuYz4oc2V0SlNUZXN0VHlwZWRlZnNBdHRyV2l0aEdldHRlckV4Y2VwdGlv
bikgfSwKLSAgICB7ICJhdHRyV2l0aFNldHRlckV4Y2VwdGlvbiIsIERvbnREZWxldGUgfCBDdXN0
b21BY2Nlc3NvciwgTm9JbnRyaW5zaWMsIChpbnRwdHJfdClzdGF0aWNfY2FzdDxQcm9wZXJ0eVNs
b3Q6OkdldFZhbHVlRnVuYz4oanNUZXN0VHlwZWRlZnNBdHRyV2l0aFNldHRlckV4Y2VwdGlvbiks
IChpbnRwdHJfdCkgc3RhdGljX2Nhc3Q8UHV0UHJvcGVydHlTbG90OjpQdXRWYWx1ZUZ1bmM+KHNl
dEpTVGVzdFR5cGVkZWZzQXR0cldpdGhTZXR0ZXJFeGNlcHRpb24pIH0sCi0gICAgeyAic3RyaW5n
QXR0cldpdGhHZXR0ZXJFeGNlcHRpb24iLCBEb250RGVsZXRlIHwgQ3VzdG9tQWNjZXNzb3IsIE5v
SW50cmluc2ljLCAoaW50cHRyX3Qpc3RhdGljX2Nhc3Q8UHJvcGVydHlTbG90OjpHZXRWYWx1ZUZ1
bmM+KGpzVGVzdFR5cGVkZWZzU3RyaW5nQXR0cldpdGhHZXR0ZXJFeGNlcHRpb24pLCAoaW50cHRy
X3QpIHN0YXRpY19jYXN0PFB1dFByb3BlcnR5U2xvdDo6UHV0VmFsdWVGdW5jPihzZXRKU1Rlc3RU
eXBlZGVmc1N0cmluZ0F0dHJXaXRoR2V0dGVyRXhjZXB0aW9uKSB9LAotICAgIHsgInN0cmluZ0F0
dHJXaXRoU2V0dGVyRXhjZXB0aW9uIiwgRG9udERlbGV0ZSB8IEN1c3RvbUFjY2Vzc29yLCBOb0lu
dHJpbnNpYywgKGludHB0cl90KXN0YXRpY19jYXN0PFByb3BlcnR5U2xvdDo6R2V0VmFsdWVGdW5j
Pihqc1Rlc3RUeXBlZGVmc1N0cmluZ0F0dHJXaXRoU2V0dGVyRXhjZXB0aW9uKSwgKGludHB0cl90
KSBzdGF0aWNfY2FzdDxQdXRQcm9wZXJ0eVNsb3Q6OlB1dFZhbHVlRnVuYz4oc2V0SlNUZXN0VHlw
ZWRlZnNTdHJpbmdBdHRyV2l0aFNldHRlckV4Y2VwdGlvbikgfSwKKyAgICB7ICJ1bnNpZ25lZExv
bmdMb25nQXR0ciIsIERvbnREZWxldGUsIE5vSW50cmluc2ljLCAoaW50cHRyX3Qpc3RhdGljX2Nh
c3Q8UHJvcGVydHlTbG90OjpHZXRWYWx1ZUZ1bmM+KGpzVGVzdFR5cGVkZWZzVW5zaWduZWRMb25n
TG9uZ0F0dHIpLCAoaW50cHRyX3QpIHN0YXRpY19jYXN0PFB1dFByb3BlcnR5U2xvdDo6UHV0VmFs
dWVGdW5jPihzZXRKU1Rlc3RUeXBlZGVmc1Vuc2lnbmVkTG9uZ0xvbmdBdHRyKSB9LAorICAgIHsg
ImltbXV0YWJsZVNlcmlhbGl6ZWRTY3JpcHRWYWx1ZSIsIERvbnREZWxldGUsIE5vSW50cmluc2lj
LCAoaW50cHRyX3Qpc3RhdGljX2Nhc3Q8UHJvcGVydHlTbG90OjpHZXRWYWx1ZUZ1bmM+KGpzVGVz
dFR5cGVkZWZzSW1tdXRhYmxlU2VyaWFsaXplZFNjcmlwdFZhbHVlKSwgKGludHB0cl90KSBzdGF0
aWNfY2FzdDxQdXRQcm9wZXJ0eVNsb3Q6OlB1dFZhbHVlRnVuYz4oc2V0SlNUZXN0VHlwZWRlZnNJ
bW11dGFibGVTZXJpYWxpemVkU2NyaXB0VmFsdWUpIH0sCisgICAgeyAiYXR0cldpdGhHZXR0ZXJF
eGNlcHRpb24iLCBEb250RGVsZXRlLCBOb0ludHJpbnNpYywgKGludHB0cl90KXN0YXRpY19jYXN0
PFByb3BlcnR5U2xvdDo6R2V0VmFsdWVGdW5jPihqc1Rlc3RUeXBlZGVmc0F0dHJXaXRoR2V0dGVy
RXhjZXB0aW9uKSwgKGludHB0cl90KSBzdGF0aWNfY2FzdDxQdXRQcm9wZXJ0eVNsb3Q6OlB1dFZh
bHVlRnVuYz4oc2V0SlNUZXN0VHlwZWRlZnNBdHRyV2l0aEdldHRlckV4Y2VwdGlvbikgfSwKKyAg
ICB7ICJhdHRyV2l0aFNldHRlckV4Y2VwdGlvbiIsIERvbnREZWxldGUsIE5vSW50cmluc2ljLCAo
aW50cHRyX3Qpc3RhdGljX2Nhc3Q8UHJvcGVydHlTbG90OjpHZXRWYWx1ZUZ1bmM+KGpzVGVzdFR5
cGVkZWZzQXR0cldpdGhTZXR0ZXJFeGNlcHRpb24pLCAoaW50cHRyX3QpIHN0YXRpY19jYXN0PFB1
dFByb3BlcnR5U2xvdDo6UHV0VmFsdWVGdW5jPihzZXRKU1Rlc3RUeXBlZGVmc0F0dHJXaXRoU2V0
dGVyRXhjZXB0aW9uKSB9LAorICAgIHsgInN0cmluZ0F0dHJXaXRoR2V0dGVyRXhjZXB0aW9uIiwg
RG9udERlbGV0ZSwgTm9JbnRyaW5zaWMsIChpbnRwdHJfdClzdGF0aWNfY2FzdDxQcm9wZXJ0eVNs
b3Q6OkdldFZhbHVlRnVuYz4oanNUZXN0VHlwZWRlZnNTdHJpbmdBdHRyV2l0aEdldHRlckV4Y2Vw
dGlvbiksIChpbnRwdHJfdCkgc3RhdGljX2Nhc3Q8UHV0UHJvcGVydHlTbG90OjpQdXRWYWx1ZUZ1
bmM+KHNldEpTVGVzdFR5cGVkZWZzU3RyaW5nQXR0cldpdGhHZXR0ZXJFeGNlcHRpb24pIH0sCisg
ICAgeyAic3RyaW5nQXR0cldpdGhTZXR0ZXJFeGNlcHRpb24iLCBEb250RGVsZXRlLCBOb0ludHJp
bnNpYywgKGludHB0cl90KXN0YXRpY19jYXN0PFByb3BlcnR5U2xvdDo6R2V0VmFsdWVGdW5jPihq
c1Rlc3RUeXBlZGVmc1N0cmluZ0F0dHJXaXRoU2V0dGVyRXhjZXB0aW9uKSwgKGludHB0cl90KSBz
dGF0aWNfY2FzdDxQdXRQcm9wZXJ0eVNsb3Q6OlB1dFZhbHVlRnVuYz4oc2V0SlNUZXN0VHlwZWRl
ZnNTdHJpbmdBdHRyV2l0aFNldHRlckV4Y2VwdGlvbikgfSwKICAgICB7ICJjb25zdHJ1Y3RvciIs
IERvbnRFbnVtIHwgUmVhZE9ubHksIE5vSW50cmluc2ljLCAoaW50cHRyX3Qpc3RhdGljX2Nhc3Q8
UHJvcGVydHlTbG90OjpHZXRWYWx1ZUZ1bmM+KGpzVGVzdFR5cGVkZWZzQ29uc3RydWN0b3IpLCAo
aW50cHRyX3QpIHN0YXRpY19jYXN0PFB1dFByb3BlcnR5U2xvdDo6UHV0VmFsdWVGdW5jPigwKSB9
LAogICAgIHsgMCwgMCwgTm9JbnRyaW5zaWMsIDAsIDAgfQogfTsKQEAgLTI2NiwxMSArMjY2LDEz
IEBAIEVuY29kZWRKU1ZhbHVlIGpzVGVzdFR5cGVkZWZzU3RyaW5nQXR0cldpdGhTZXR0ZXJFeGNl
cHRpb24oRXhlY1N0YXRlKiBleGVjLCBFbmNvCiB9CiAKIAotRW5jb2RlZEpTVmFsdWUganNUZXN0
VHlwZWRlZnNDb25zdHJ1Y3RvcihFeGVjU3RhdGUqIGV4ZWMsIEVuY29kZWRKU1ZhbHVlLCBFbmNv
ZGVkSlNWYWx1ZSB0aGlzVmFsdWUsIFByb3BlcnR5TmFtZSkKK0VuY29kZWRKU1ZhbHVlIGpzVGVz
dFR5cGVkZWZzQ29uc3RydWN0b3IoRXhlY1N0YXRlKiBleGVjLCBFbmNvZGVkSlNWYWx1ZSB0aGlz
VmFsdWUsIEVuY29kZWRKU1ZhbHVlLCBQcm9wZXJ0eU5hbWUpCiB7CiAgICAgSlNUZXN0VHlwZWRl
ZnMqIGRvbU9iamVjdCA9IGpzRHluYW1pY0Nhc3Q8SlNUZXN0VHlwZWRlZnMqPihKU1ZhbHVlOjpk
ZWNvZGUodGhpc1ZhbHVlKSk7CiAgICAgaWYgKCFkb21PYmplY3QpCiAgICAgICAgIHJldHVybiB0
aHJvd1ZNVHlwZUVycm9yKGV4ZWMpOworICAgIGlmICghZG9tT2JqZWN0KQorICAgICAgICByZXR1
cm4gdGhyb3dWTVR5cGVFcnJvcihleGVjKTsKICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKEpT
VGVzdFR5cGVkZWZzOjpnZXRDb25zdHJ1Y3RvcihleGVjLT52bSgpLCBkb21PYmplY3QtPmdsb2Jh
bE9iamVjdCgpKSk7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Nj
cmlwdHMvdGVzdC9KUy9KU2F0dHJpYnV0ZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9z
Y3JpcHRzL3Rlc3QvSlMvSlNhdHRyaWJ1dGUuY3BwCmluZGV4IGZiYzYyOTlkOGFkOWFkNjFiMWRl
NGE3NzE0ZDU4ZGIzMWZkMDZiZDAuLjI2Mzk3M2ZlMDVkNmYzNjcwYTMxZjIzYWJlOTRkZGFmYTA1
ZjQ0YmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9K
Uy9KU2F0dHJpYnV0ZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90
ZXN0L0pTL0pTYXR0cmlidXRlLmNwcApAQCAtMzQsNyArMzQsNyBAQCBuYW1lc3BhY2UgV2ViQ29y
ZSB7CiAKIHN0YXRpYyBjb25zdCBIYXNoVGFibGVWYWx1ZSBKU2F0dHJpYnV0ZVRhYmxlVmFsdWVz
W10gPQogewotICAgIHsgInJlYWRvbmx5IiwgRG9udERlbGV0ZSB8IFJlYWRPbmx5IHwgQ3VzdG9t
QWNjZXNzb3IsIE5vSW50cmluc2ljLCAoaW50cHRyX3Qpc3RhdGljX2Nhc3Q8UHJvcGVydHlTbG90
OjpHZXRWYWx1ZUZ1bmM+KGpzYXR0cmlidXRlUmVhZG9ubHkpLCAoaW50cHRyX3QpIHN0YXRpY19j
YXN0PFB1dFByb3BlcnR5U2xvdDo6UHV0VmFsdWVGdW5jPigwKSB9LAorICAgIHsgInJlYWRvbmx5
IiwgRG9udERlbGV0ZSB8IFJlYWRPbmx5LCBOb0ludHJpbnNpYywgKGludHB0cl90KXN0YXRpY19j
YXN0PFByb3BlcnR5U2xvdDo6R2V0VmFsdWVGdW5jPihqc2F0dHJpYnV0ZVJlYWRvbmx5KSwgKGlu
dHB0cl90KSBzdGF0aWNfY2FzdDxQdXRQcm9wZXJ0eVNsb3Q6OlB1dFZhbHVlRnVuYz4oMCkgfSwK
ICAgICB7ICJjb25zdHJ1Y3RvciIsIERvbnRFbnVtIHwgUmVhZE9ubHksIE5vSW50cmluc2ljLCAo
aW50cHRyX3Qpc3RhdGljX2Nhc3Q8UHJvcGVydHlTbG90OjpHZXRWYWx1ZUZ1bmM+KGpzYXR0cmli
dXRlQ29uc3RydWN0b3IpLCAoaW50cHRyX3QpIHN0YXRpY19jYXN0PFB1dFByb3BlcnR5U2xvdDo6
UHV0VmFsdWVGdW5jPigwKSB9LAogICAgIHsgMCwgMCwgTm9JbnRyaW5zaWMsIDAsIDAgfQogfTsK
QEAgLTEzMywxMSArMTMzLDEzIEBAIEVuY29kZWRKU1ZhbHVlIGpzYXR0cmlidXRlUmVhZG9ubHko
RXhlY1N0YXRlKiBleGVjLCBFbmNvZGVkSlNWYWx1ZSBzbG90QmFzZSwgRW5jCiB9CiAKIAotRW5j
b2RlZEpTVmFsdWUganNhdHRyaWJ1dGVDb25zdHJ1Y3RvcihFeGVjU3RhdGUqIGV4ZWMsIEVuY29k
ZWRKU1ZhbHVlLCBFbmNvZGVkSlNWYWx1ZSB0aGlzVmFsdWUsIFByb3BlcnR5TmFtZSkKK0VuY29k
ZWRKU1ZhbHVlIGpzYXR0cmlidXRlQ29uc3RydWN0b3IoRXhlY1N0YXRlKiBleGVjLCBFbmNvZGVk
SlNWYWx1ZSB0aGlzVmFsdWUsIEVuY29kZWRKU1ZhbHVlLCBQcm9wZXJ0eU5hbWUpCiB7CiAgICAg
SlNhdHRyaWJ1dGUqIGRvbU9iamVjdCA9IGpzRHluYW1pY0Nhc3Q8SlNhdHRyaWJ1dGUqPihKU1Zh
bHVlOjpkZWNvZGUodGhpc1ZhbHVlKSk7CiAgICAgaWYgKCFkb21PYmplY3QpCiAgICAgICAgIHJl
dHVybiB0aHJvd1ZNVHlwZUVycm9yKGV4ZWMpOworICAgIGlmICghZG9tT2JqZWN0KQorICAgICAg
ICByZXR1cm4gdGhyb3dWTVR5cGVFcnJvcihleGVjKTsKICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5j
b2RlKEpTYXR0cmlidXRlOjpnZXRDb25zdHJ1Y3RvcihleGVjLT52bSgpLCBkb21PYmplY3QtPmds
b2JhbE9iamVjdCgpKSk7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L3NjcmlwdHMvdGVzdC9KUy9KU3JlYWRvbmx5LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L3NjcmlwdHMvdGVzdC9KUy9KU3JlYWRvbmx5LmNwcAppbmRleCBhNTQ5YzkyNDliY2ZlYTUyZTc4
MDRjMzUzMWIyYzJiYTRjMjIxMzM1Li5mNzY2N2Q3MGVmNDU1NjJhZTI4YjA2YmQxNjFjZTQzMjcz
M2RmZGY2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3Qv
SlMvSlNyZWFkb25seS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90
ZXN0L0pTL0pTcmVhZG9ubHkuY3BwCkBAIC0xMTcsMTEgKzExNywxMyBAQCBib29sIEpTcmVhZG9u
bHk6OmdldE93blByb3BlcnR5U2xvdChKU09iamVjdCogb2JqZWN0LCBFeGVjU3RhdGUqIGV4ZWMs
IFByb3BlcnR5TgogICAgIHJldHVybiBnZXRTdGF0aWNWYWx1ZVNsb3Q8SlNyZWFkb25seSwgQmFz
ZT4oZXhlYywgSlNyZWFkb25seVRhYmxlLCB0aGlzT2JqZWN0LCBwcm9wZXJ0eU5hbWUsIHNsb3Qp
OwogfQogCi1FbmNvZGVkSlNWYWx1ZSBqc3JlYWRvbmx5Q29uc3RydWN0b3IoRXhlY1N0YXRlKiBl
eGVjLCBFbmNvZGVkSlNWYWx1ZSwgRW5jb2RlZEpTVmFsdWUgdGhpc1ZhbHVlLCBQcm9wZXJ0eU5h
bWUpCitFbmNvZGVkSlNWYWx1ZSBqc3JlYWRvbmx5Q29uc3RydWN0b3IoRXhlY1N0YXRlKiBleGVj
LCBFbmNvZGVkSlNWYWx1ZSB0aGlzVmFsdWUsIEVuY29kZWRKU1ZhbHVlLCBQcm9wZXJ0eU5hbWUp
CiB7CiAgICAgSlNyZWFkb25seSogZG9tT2JqZWN0ID0ganNEeW5hbWljQ2FzdDxKU3JlYWRvbmx5
Kj4oSlNWYWx1ZTo6ZGVjb2RlKHRoaXNWYWx1ZSkpOwogICAgIGlmICghZG9tT2JqZWN0KQogICAg
ICAgICByZXR1cm4gdGhyb3dWTVR5cGVFcnJvcihleGVjKTsKKyAgICBpZiAoIWRvbU9iamVjdCkK
KyAgICAgICAgcmV0dXJuIHRocm93Vk1UeXBlRXJyb3IoZXhlYyk7CiAgICAgcmV0dXJuIEpTVmFs
dWU6OmVuY29kZShKU3JlYWRvbmx5OjpnZXRDb25zdHJ1Y3RvcihleGVjLT52bSgpLCBkb21PYmpl
Y3QtPmdsb2JhbE9iamVjdCgpKSk7CiB9CiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5n
ZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCAzMDM2NTgwNzlkZjMzNzY4NTA2Yzk2
NjU5NjdmNDc3OTlkNTdkYWNiLi4zOWFjMDM3MDYyYmU2NzE3MTU1ZDc5NDk2ZTc5YmQ5NDE4M2Y3
NThlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMTYgQEAKKzIwMTQtMDEtMjggIENvbW1pdCBRdWV1ZSAgPGNv
bW1pdC1xdWV1ZUB3ZWJraXQub3JnPgorCisgICAgICAgIFVucmV2aWV3ZWQsIHJvbGxpbmcgb3V0
IHIxNjI5ODcuCisgICAgICAgIGh0dHA6Ly90cmFjLndlYmtpdC5vcmcvY2hhbmdlc2V0LzE2Mjk4
NworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTI3ODI1
CisKKyAgICAgICAgQnJva2UgTW91bnRhaW4gTGlvbiBidWlsZCAoUmVxdWVzdGVkIGJ5IGFuZGVy
c2NhIG9uICN3ZWJraXQpLgorCisgICAgICAgICogZmFzdC9kb20vV2luZG93L3JlcGxhY2VhYmxl
LWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBmYXN0L2RvbS9XaW5kb3cvcmVwbGFjZWFibGUuaHRt
bDoKKyAgICAgICAgKiBqcy9kb20vZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yLWV4cGVjdGVkLnR4
dDoKKyAgICAgICAgKiBqcy9yZXNvdXJjZXMvZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yLmpzOgor
CiAyMDE0LTAxLTI4ICBab2x0YW4gSG9ydmF0aCAgPHpvbHRhbkB3ZWJraXQub3JnPgogCiAgICAg
ICAgIFtDU1MgU2hhcGVzXSBBZGp1c3QgaW5zZXQgc2l6aW5nIHN5bnRheCB0byB0aGUgbGF0ZXN0
IHNwZWNpZmljYXRpb24KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL1dpbmRvdy9y
ZXBsYWNlYWJsZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9XaW5kb3cvcmVw
bGFjZWFibGUtZXhwZWN0ZWQudHh0CmluZGV4IDU5MmI0OWY4MmMwMTZmZjNhYmVlOTY5YTcyY2Iz
Y2MzNTk5Njg3ZTguLmQ5ZTE2OGQ3MzZlN2ViZTkyYmQ0YTcyNTdhNGEzYjExM2FmYTg2ZjcgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL1dpbmRvdy9yZXBsYWNlYWJsZS1leHBlY3Rl
ZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vV2luZG93L3JlcGxhY2VhYmxlLWV4cGVj
dGVkLnR4dApAQCAtMyw3ICszLDcgQEAgVGVzdHMgdGhhdCBSZXBsYWNlYWJsZSBhdHRyaWJ1dGVz
IGFyZSB3cml0YWJsZQogT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNT
IiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgogCiAKLVBBU1MgT2JqZWN0
LmdldE93blByb3BlcnR5RGVzY3JpcHRvcih3aW5kb3csICJpbm5lckhlaWdodCIpLmhhc093blBy
b3BlcnR5KCJnZXQiKSBpcyB0cnVlCitQQVNTIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0
b3Iod2luZG93LCAiaW5uZXJIZWlnaHQiKS53cml0YWJsZSBpcyB0cnVlCiBQQVNTIHdpbmRvdy5p
bm5lckhlaWdodCBpcyA0MgogUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQogCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9XaW5kb3cvcmVwbGFjZWFibGUuaHRtbCBiL0xh
eW91dFRlc3RzL2Zhc3QvZG9tL1dpbmRvdy9yZXBsYWNlYWJsZS5odG1sCmluZGV4IGQwN2VkMDRj
YjU0YmM3NzY2MDYxODQzZjIzMjJlZDU2MGI4OTVkMWYuLjM4OGNjYWY1NzJlZDdmNDQzODU0MTll
NDQ5N2E2NzgwZTE4MjhmN2UgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL1dpbmRv
dy9yZXBsYWNlYWJsZS5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL1dpbmRvdy9yZXBs
YWNlYWJsZS5odG1sCkBAIC00LDcgKzQsNyBAQAogCiBkZXNjcmlwdGlvbignVGVzdHMgdGhhdCBS
ZXBsYWNlYWJsZSBhdHRyaWJ1dGVzIGFyZSB3cml0YWJsZScpOwogCi1zaG91bGRCZVRydWUoJ09i
amVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iod2luZG93LCAiaW5uZXJIZWlnaHQiKS5oYXNP
d25Qcm9wZXJ0eSgiZ2V0IiknKTsKK3Nob3VsZEJlVHJ1ZSgnT2JqZWN0LmdldE93blByb3BlcnR5
RGVzY3JpcHRvcih3aW5kb3csICJpbm5lckhlaWdodCIpLndyaXRhYmxlJyk7CiAKIHdpbmRvdy5p
bm5lckhlaWdodCA9IDQyOwogc2hvdWxkQmUoJ3dpbmRvdy5pbm5lckhlaWdodCcsICc0MicpOwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvanMvZG9tL2dldE93blByb3BlcnR5RGVzY3JpcHRvci1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9qcy9kb20vZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9y
LWV4cGVjdGVkLnR4dAppbmRleCAxZTg3MjcyMWZhZWZjZTQ0NDQ3NjI5MzE1ZmFhZDdhNDA2Mjlj
NTMwLi41Mjk5NGYyMmM4ODZkNjQxMzY2MGJmYzMwZTE5YWE3YTgyY2NkZThhIDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9qcy9kb20vZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yLWV4cGVjdGVkLnR4
dAorKysgYi9MYXlvdXRUZXN0cy9qcy9kb20vZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yLWV4cGVj
dGVkLnR4dApAQCAtMTI5LDEwICsxMjksOSBAQCBQQVNTIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURl
c2NyaXB0b3IoZ2xvYmFsLCAnWE1MSHR0cFJlcXVlc3QnKS5oYXNPd25Qcm9wZXJ0eSgnZwogUEFT
UyBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGdsb2JhbCwgJ1hNTEh0dHBSZXF1ZXN0
JykuaGFzT3duUHJvcGVydHkoJ3NldCcpIGlzIGZhbHNlCiBQQVNTIE9iamVjdC5nZXRPd25Qcm9w
ZXJ0eURlc2NyaXB0b3IoZ2xvYmFsLCAnWE1MSHR0cFJlcXVlc3QnKS5lbnVtZXJhYmxlIGlzIGZh
bHNlCiBQQVNTIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoZ2xvYmFsLCAnWE1MSHR0
cFJlcXVlc3QnKS5jb25maWd1cmFibGUgaXMgdHJ1ZQotUEFTUyBPYmplY3QuZ2V0T3duUHJvcGVy
dHlEZXNjcmlwdG9yKGdsb2JhbCwgJ2xlbmd0aCcpLmdldCBpcyB1bmRlZmluZWQKLVBBU1MgT2Jq
ZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihnbG9iYWwsICdsZW5ndGgnKS5zZXQgaXMgdW5k
ZWZpbmVkCi1QQVNTIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoZ2xvYmFsLCAnbGVu
Z3RoJykuaGFzT3duUHJvcGVydHkoJ3ZhbHVlJykgaXMgZmFsc2UKLVBBU1MgT2JqZWN0LmdldE93
blByb3BlcnR5RGVzY3JpcHRvcihnbG9iYWwsICdsZW5ndGgnKS5oYXNPd25Qcm9wZXJ0eSgnd3Jp
dGFibGUnKSBpcyBmYWxzZQorUEFTUyBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGds
b2JhbCwgJ2xlbmd0aCcpLnZhbHVlIGlzIGdsb2JhbC5sZW5ndGgKK1BBU1MgT2JqZWN0LmdldE93
blByb3BlcnR5RGVzY3JpcHRvcihnbG9iYWwsICdsZW5ndGgnKS5oYXNPd25Qcm9wZXJ0eSgnZ2V0
JykgaXMgZmFsc2UKK1BBU1MgT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihnbG9iYWws
ICdsZW5ndGgnKS5oYXNPd25Qcm9wZXJ0eSgnc2V0JykgaXMgZmFsc2UKIFBBU1MgT2JqZWN0Lmdl
dE93blByb3BlcnR5RGVzY3JpcHRvcihnbG9iYWwsICdsZW5ndGgnKS5lbnVtZXJhYmxlIGlzIHRy
dWUKIFBBU1MgT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihnbG9iYWwsICdsZW5ndGgn
KS5jb25maWd1cmFibGUgaXMgZmFsc2UKIFBBU1MgT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3Jp
cHRvcihnbG9iYWwsIDApLnZhbHVlIGlzIGdsb2JhbFswXQpAQCAtMTQwLDEwICsxMzksOSBAQCBQ
QVNTIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoZ2xvYmFsLCAwKS5oYXNPd25Qcm9w
ZXJ0eSgnZ2V0JykgaXMgZmFsc2UKIFBBU1MgT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRv
cihnbG9iYWwsIDApLmhhc093blByb3BlcnR5KCdzZXQnKSBpcyBmYWxzZQogUEFTUyBPYmplY3Qu
Z2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGdsb2JhbCwgMCkuZW51bWVyYWJsZSBpcyBmYWxzZQog
UEFTUyBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGdsb2JhbCwgMCkuY29uZmlndXJh
YmxlIGlzIGZhbHNlCi1QQVNTIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoZG9jdW1l
bnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoJ2RpdicpLCAnbGVuZ3RoJykuZ2V0IGlzIHVuZGVmaW5l
ZAotUEFTUyBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGRvY3VtZW50LmdldEVsZW1l
bnRzQnlUYWdOYW1lKCdkaXYnKSwgJ2xlbmd0aCcpLnNldCBpcyB1bmRlZmluZWQKLVBBU1MgT2Jq
ZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihkb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFt
ZSgnZGl2JyksICdsZW5ndGgnKS5oYXNPd25Qcm9wZXJ0eSgndmFsdWUnKSBpcyBmYWxzZQotUEFT
UyBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGRvY3VtZW50LmdldEVsZW1lbnRzQnlU
YWdOYW1lKCdkaXYnKSwgJ2xlbmd0aCcpLmhhc093blByb3BlcnR5KCd3cml0YWJsZScpIGlzIGZh
bHNlCitQQVNTIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoZG9jdW1lbnQuZ2V0RWxl
bWVudHNCeVRhZ05hbWUoJ2RpdicpLCAnbGVuZ3RoJykudmFsdWUgaXMgMQorUEFTUyBPYmplY3Qu
Z2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCdk
aXYnKSwgJ2xlbmd0aCcpLmhhc093blByb3BlcnR5KCdnZXQnKSBpcyBmYWxzZQorUEFTUyBPYmpl
Y3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1l
KCdkaXYnKSwgJ2xlbmd0aCcpLmhhc093blByb3BlcnR5KCdzZXQnKSBpcyBmYWxzZQogUEFTUyBP
YmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdO
YW1lKCdkaXYnKSwgJ2xlbmd0aCcpLmVudW1lcmFibGUgaXMgdHJ1ZQogUEFTUyBPYmplY3QuZ2V0
T3duUHJvcGVydHlEZXNjcmlwdG9yKGRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCdkaXYn
KSwgJ2xlbmd0aCcpLmNvbmZpZ3VyYWJsZSBpcyBmYWxzZQogUEFTUyBPYmplY3QuZ2V0T3duUHJv
cGVydHlEZXNjcmlwdG9yKGRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCdkaXYnKSwgMCku
dmFsdWUgaXMgZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoJ2RpdicpWzBdCkBAIC0xNTYs
MTAgKzE1NCw5IEBAIFBBU1MgT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihkb2N1bWVu
dC5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKCdwYXNzJyksIDApCiBQQVNTIE9iamVjdC5nZXRPd25Q
cm9wZXJ0eURlc2NyaXB0b3IoZG9jdW1lbnQuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZSgncGFzcycp
LCAwKS5oYXNPd25Qcm9wZXJ0eSgnc2V0JykgaXMgZmFsc2UKIFBBU1MgT2JqZWN0LmdldE93blBy
b3BlcnR5RGVzY3JpcHRvcihkb2N1bWVudC5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKCdwYXNzJyks
IDApLmVudW1lcmFibGUgaXMgdHJ1ZQogUEFTUyBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlw
dG9yKGRvY3VtZW50LmdldEVsZW1lbnRzQnlDbGFzc05hbWUoJ3Bhc3MnKSwgMCkuY29uZmlndXJh
YmxlIGlzIGZhbHNlCi1QQVNTIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoZG9jdW1l
bnQuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZSgncGFzcycpLCAnbGVuZ3RoJykuZ2V0IGlzIHVuZGVm
aW5lZAotUEFTUyBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGRvY3VtZW50LmdldEVs
ZW1lbnRzQnlDbGFzc05hbWUoJ3Bhc3MnKSwgJ2xlbmd0aCcpLnNldCBpcyB1bmRlZmluZWQKLVBB
U1MgT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihkb2N1bWVudC5nZXRFbGVtZW50c0J5
Q2xhc3NOYW1lKCdwYXNzJyksICdsZW5ndGgnKS5oYXNPd25Qcm9wZXJ0eSgndmFsdWUnKSBpcyBm
YWxzZQotUEFTUyBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGRvY3VtZW50LmdldEVs
ZW1lbnRzQnlDbGFzc05hbWUoJ3Bhc3MnKSwgJ2xlbmd0aCcpLmhhc093blByb3BlcnR5KCd3cml0
YWJsZScpIGlzIGZhbHNlCitQQVNTIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoZG9j
dW1lbnQuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZSgncGFzcycpLCAnbGVuZ3RoJykudmFsdWUgaXMg
ZG9jdW1lbnQuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZSgncGFzcycpLmxlbmd0aAorUEFTUyBPYmpl
Y3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGRvY3VtZW50LmdldEVsZW1lbnRzQnlDbGFzc05h
bWUoJ3Bhc3MnKSwgJ2xlbmd0aCcpLmhhc093blByb3BlcnR5KCdnZXQnKSBpcyBmYWxzZQorUEFT
UyBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGRvY3VtZW50LmdldEVsZW1lbnRzQnlD
bGFzc05hbWUoJ3Bhc3MnKSwgJ2xlbmd0aCcpLmhhc093blByb3BlcnR5KCdzZXQnKSBpcyBmYWxz
ZQogUEFTUyBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGRvY3VtZW50LmdldEVsZW1l
bnRzQnlDbGFzc05hbWUoJ3Bhc3MnKSwgJ2xlbmd0aCcpLmVudW1lcmFibGUgaXMgdHJ1ZQogUEFT
UyBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGRvY3VtZW50LmdldEVsZW1lbnRzQnlD
bGFzc05hbWUoJ3Bhc3MnKSwgJ2xlbmd0aCcpLmNvbmZpZ3VyYWJsZSBpcyBmYWxzZQogUEFTUyBP
YmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGNhbnZhc1BpeGVsQXJyYXksICdsZW5ndGgn
KS52YWx1ZSBpcyBjYW52YXNQaXhlbEFycmF5Lmxlbmd0aApAQCAtMTcyLDEwICsxNjksOSBAQCBQ
QVNTIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoY2FudmFzUGl4ZWxBcnJheSwgMCku
aGFzT3duUHJvcGVydHkoJ2dldCcpCiBQQVNTIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0
b3IoY2FudmFzUGl4ZWxBcnJheSwgMCkuaGFzT3duUHJvcGVydHkoJ3NldCcpIGlzIGZhbHNlCiBQ
QVNTIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoY2FudmFzUGl4ZWxBcnJheSwgMCku
ZW51bWVyYWJsZSBpcyB0cnVlCiBQQVNTIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Io
Y2FudmFzUGl4ZWxBcnJheSwgMCkuY29uZmlndXJhYmxlIGlzIGZhbHNlCi1QQVNTIE9iamVjdC5n
ZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Ioc2VsZWN0LCAnbGVuZ3RoJykuZ2V0IGlzIHVuZGVmaW5l
ZAotUEFTUyBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKHNlbGVjdCwgJ2xlbmd0aCcp
LnNldCBpcyB1bmRlZmluZWQKLVBBU1MgT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihz
ZWxlY3QsICdsZW5ndGgnKS5oYXNPd25Qcm9wZXJ0eSgndmFsdWUnKSBpcyBmYWxzZQotUEFTUyBP
YmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKHNlbGVjdCwgJ2xlbmd0aCcpLmhhc093blBy
b3BlcnR5KCd3cml0YWJsZScpIGlzIGZhbHNlCitQQVNTIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURl
c2NyaXB0b3Ioc2VsZWN0LCAnbGVuZ3RoJykudmFsdWUgaXMgc2VsZWN0Lmxlbmd0aAorUEFTUyBP
YmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKHNlbGVjdCwgJ2xlbmd0aCcpLmhhc093blBy
b3BlcnR5KCdnZXQnKSBpcyBmYWxzZQorUEFTUyBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlw
dG9yKHNlbGVjdCwgJ2xlbmd0aCcpLmhhc093blByb3BlcnR5KCdzZXQnKSBpcyBmYWxzZQogUEFT
UyBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKHNlbGVjdCwgJ2xlbmd0aCcpLmVudW1l
cmFibGUgaXMgdHJ1ZQogUEFTUyBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKHNlbGVj
dCwgJ2xlbmd0aCcpLmNvbmZpZ3VyYWJsZSBpcyBmYWxzZQogUEFTUyBPYmplY3QuZ2V0T3duUHJv
cGVydHlEZXNjcmlwdG9yKHNlbGVjdCwgMCkudmFsdWUgaXMgc2VsZWN0WzBdCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9qcy9yZXNvdXJjZXMvZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yLmpzIGIv
TGF5b3V0VGVzdHMvanMvcmVzb3VyY2VzL2dldE93blByb3BlcnR5RGVzY3JpcHRvci5qcwppbmRl
eCAwYjUxZmM0NGU2YTgyYzU4M2ZhNjBmYjU5ZmFkYTUwM2QwYTliNzNjLi4xNjM0OGQxMzA4ZTE2
ZWYxMzdkOGU0NTUyMWFhZTg2YTY2NzM1ZTU1IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9qcy9y
ZXNvdXJjZXMvZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yLmpzCisrKyBiL0xheW91dFRlc3RzL2pz
L3Jlc291cmNlcy9nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IuanMKQEAgLTQ0LDE5ICs0NCwxOSBA
QCBkZXNjcmlwdG9yU2hvdWxkQmUoImdsb2JhbCIsICInTmFOJyIsIHt3cml0YWJsZTogZmFsc2Us
IGVudW1lcmFibGU6IGZhbHNlLCBjb25maQogZGVzY3JpcHRvclNob3VsZEJlKCJnbG9iYWwiLCAi
J0luZmluaXR5JyIsIHt3cml0YWJsZTogZmFsc2UsIGVudW1lcmFibGU6IGZhbHNlLCBjb25maWd1
cmFibGU6IGZhbHNlLCB2YWx1ZToiSW5maW5pdHkifSk7CiBkZXNjcmlwdG9yU2hvdWxkQmUoImds
b2JhbCIsICInd2luZG93JyIsIHt3cml0YWJsZTogZmFsc2UsIGVudW1lcmFibGU6IHRydWUsIGNv
bmZpZ3VyYWJsZTogZmFsc2UsIHZhbHVlOiJnbG9iYWwifSk7CiBkZXNjcmlwdG9yU2hvdWxkQmUo
Imdsb2JhbCIsICInWE1MSHR0cFJlcXVlc3QnIiwge3dyaXRhYmxlOiB0cnVlLCBlbnVtZXJhYmxl
OiBmYWxzZSwgY29uZmlndXJhYmxlOiB0cnVlLCB2YWx1ZToiWE1MSHR0cFJlcXVlc3QifSk7Ci1k
ZXNjcmlwdG9yU2hvdWxkQmUoImdsb2JhbCIsICInbGVuZ3RoJyIsIHtnZXQ6IHVuZGVmaW5lZCwg
c2V0OiB1bmRlZmluZWQsIGVudW1lcmFibGU6IHRydWUsIGNvbmZpZ3VyYWJsZTogZmFsc2V9KTsK
K2Rlc2NyaXB0b3JTaG91bGRCZSgiZ2xvYmFsIiwgIidsZW5ndGgnIiwge3dyaXRhYmxlOiB0cnVl
LCBlbnVtZXJhYmxlOiB0cnVlLCBjb25maWd1cmFibGU6IGZhbHNlLCB2YWx1ZToiZ2xvYmFsLmxl
bmd0aCJ9KTsKIGRlc2NyaXB0b3JTaG91bGRCZSgiZ2xvYmFsIiwgIjAiLCB7d3JpdGFibGU6IHRy
dWUsIGVudW1lcmFibGU6IGZhbHNlLCBjb25maWd1cmFibGU6IGZhbHNlLCB2YWx1ZToiZ2xvYmFs
WzBdIn0pOwotZGVzY3JpcHRvclNob3VsZEJlKCJkb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFt
ZSgnZGl2JykiLCAiJ2xlbmd0aCciLCB7Z2V0OiB1bmRlZmluZWQsIHNldDogdW5kZWZpbmVkLCBl
bnVtZXJhYmxlOiB0cnVlLCBjb25maWd1cmFibGU6IGZhbHNlfSk7CitkZXNjcmlwdG9yU2hvdWxk
QmUoImRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCdkaXYnKSIsICInbGVuZ3RoJyIsIHt3
cml0YWJsZTogZmFsc2UsIGVudW1lcmFibGU6IHRydWUsIGNvbmZpZ3VyYWJsZTogZmFsc2UsIHZh
bHVlOiIxIn0pOwogZGVzY3JpcHRvclNob3VsZEJlKCJkb2N1bWVudC5nZXRFbGVtZW50c0J5VGFn
TmFtZSgnZGl2JykiLCAiMCIsIHt3cml0YWJsZTogZmFsc2UsIGVudW1lcmFibGU6IHRydWUsIGNv
bmZpZ3VyYWJsZTogZmFsc2UsIHZhbHVlOiJkb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgn
ZGl2JylbMF0ifSk7CiBkZXNjcmlwdG9yU2hvdWxkQmUoImRvY3VtZW50LmdldEVsZW1lbnRzQnlD
bGFzc05hbWUoJ3Bhc3MnKSIsICIwIiwge3dyaXRhYmxlOiBmYWxzZSwgZW51bWVyYWJsZTogdHJ1
ZSwgY29uZmlndXJhYmxlOiBmYWxzZSwgdmFsdWU6ImRvY3VtZW50LmdldEVsZW1lbnRzQnlDbGFz
c05hbWUoJ3Bhc3MnKVswXSJ9KTsKLWRlc2NyaXB0b3JTaG91bGRCZSgiZG9jdW1lbnQuZ2V0RWxl
bWVudHNCeUNsYXNzTmFtZSgncGFzcycpIiwgIidsZW5ndGgnIiwge2dldDogdW5kZWZpbmVkLCBz
ZXQ6IHVuZGVmaW5lZCwgZW51bWVyYWJsZTogdHJ1ZSwgY29uZmlndXJhYmxlOiBmYWxzZX0pOwor
ZGVzY3JpcHRvclNob3VsZEJlKCJkb2N1bWVudC5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKCdwYXNz
JykiLCAiJ2xlbmd0aCciLCB7d3JpdGFibGU6IGZhbHNlLCBlbnVtZXJhYmxlOiB0cnVlLCBjb25m
aWd1cmFibGU6IGZhbHNlLCB2YWx1ZToiZG9jdW1lbnQuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZSgn
cGFzcycpLmxlbmd0aCJ9KTsKIHZhciBjYW52YXMgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJj
YW52YXMiKTsKIHZhciBjYW52YXNQaXhlbEFycmF5ID0gY2FudmFzLmdldENvbnRleHQoIjJkIiku
Y3JlYXRlSW1hZ2VEYXRhKDEwLDEwKS5kYXRhOwogZGVzY3JpcHRvclNob3VsZEJlKCJjYW52YXNQ
aXhlbEFycmF5IiwgIidsZW5ndGgnIiwge3dyaXRhYmxlOiBmYWxzZSwgZW51bWVyYWJsZTogdHJ1
ZSwgY29uZmlndXJhYmxlOiBmYWxzZSwgdmFsdWU6ImNhbnZhc1BpeGVsQXJyYXkubGVuZ3RoIn0p
OwogZGVzY3JpcHRvclNob3VsZEJlKCJjYW52YXNQaXhlbEFycmF5IiwgIjAiLCB7d3JpdGFibGU6
IHRydWUsIGVudW1lcmFibGU6IHRydWUsIGNvbmZpZ3VyYWJsZTogZmFsc2UsIHZhbHVlOiJjYW52
YXNQaXhlbEFycmF5WzBdIn0pOwogdmFyIHNlbGVjdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQo
InNlbGVjdCIpOwogc2VsZWN0LmlubmVySFRNTCA9ICI8b3B0aW9uPmZvbzwvb3B0aW9uPiI7Ci1k
ZXNjcmlwdG9yU2hvdWxkQmUoInNlbGVjdCIsICInbGVuZ3RoJyIsIHtnZXQ6IHVuZGVmaW5lZCwg
c2V0OiB1bmRlZmluZWQsIGVudW1lcmFibGU6IHRydWUsIGNvbmZpZ3VyYWJsZTogZmFsc2V9KTsK
K2Rlc2NyaXB0b3JTaG91bGRCZSgic2VsZWN0IiwgIidsZW5ndGgnIiwge3dyaXRhYmxlOiBmYWxz
ZSwgZW51bWVyYWJsZTogdHJ1ZSwgY29uZmlndXJhYmxlOiBmYWxzZSwgdmFsdWU6InNlbGVjdC5s
ZW5ndGgifSk7CiBkZXNjcmlwdG9yU2hvdWxkQmUoInNlbGVjdCIsICIwIiwge3dyaXRhYmxlOiB0
cnVlLCBlbnVtZXJhYmxlOiB0cnVlLCBjb25maWd1cmFibGU6IGZhbHNlLCB2YWx1ZToic2VsZWN0
WzBdIn0pOwogCiB2YXIgb2JqZWN0V2l0aEdldHRlciA9IHt9Owo=
</data>

          </attachment>
      

    </bug>

</bugzilla>