<?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>237409</bug_id>
          
          <creation_ts>2022-03-02 23:06:09 -0800</creation_ts>
          <short_desc>REGRESSION(r290717): Speedometer2</short_desc>
          <delta_ts>2022-03-02 23:10:16 -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>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>237306</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="WebKit Commit Bot">commit-queue</reporter>
          <assigned_to name="WebKit Commit Bot">commit-queue</assigned_to>
          <cc>mark.lam</cc>
    
    <cc>saam</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>ysuzuki</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1847756</commentid>
    <comment_count>0</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2022-03-02 23:06:09 -0800</bug_when>
    <thetext>https://commits.webkit.org/r290717 introduced a regression:
Speedometer2

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>1847758</commentid>
    <comment_count>1</comment_count>
      <attachid>453700</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2022-03-02 23:06:18 -0800</bug_when>
    <thetext>Created attachment 453700
REVERT of r290717

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 revert will be successful.  This process takes approximately 15 minutes.

If you would like to land the revert 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>1847759</commentid>
    <comment_count>2</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2022-03-02 23:09:21 -0800</bug_when>
    <thetext>Committed r290769 (248013@main): &lt;https://commits.webkit.org/248013@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 453700.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1847760</commentid>
    <comment_count>3</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2022-03-02 23:10:16 -0800</bug_when>
    <thetext>&lt;rdar://problem/89735267&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>453700</attachid>
            <date>2022-03-02 23:06:18 -0800</date>
            <delta_ts>2022-03-02 23:09:22 -0800</delta_ts>
            <desc>REVERT of r290717</desc>
            <filename>bug-237409-20220302230618.patch</filename>
            <type>text/plain</type>
            <size>26045</size>
            <attacher name="WebKit Commit Bot">commit-queue</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjkwNzY4CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCA3
ZWQ2ZWRmNzllOTFiYzQ1MWU4ODY5NWE5NDNmZTZjZjQ2NDZiN2IzLi43YzJlZDE0NWJlODkzYjY2
M2YxNmZjNzQ3ZGM4NmU2ZTI3OTZjYmM1IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxNiBAQAorMjAyMi0wMy0wMiAgQ29tbWl0IFF1ZXVlICA8Y29tbWl0LXF1ZXVlQHdlYmtp
dC5vcmc+CisKKyAgICAgICAgVW5yZXZpZXdlZCwgcmV2ZXJ0aW5nIHIyOTA3MTcuCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzc0MDkKKworICAgICAg
ICBTcGVlZG9tZXRlcjIKKworICAgICAgICBSZXZlcnRlZCBjaGFuZ2VzZXQ6CisKKyAgICAgICAg
IkFkZCBhIERlZmVyVHJhcHMgc2NvcGUiCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0yMzczMDYKKyAgICAgICAgaHR0cHM6Ly9jb21taXRzLndlYmtpdC5v
cmcvcjI5MDcxNworCiAyMDIyLTAzLTAyICBKdXN0aW4gTWljaGF1ZCAgPGp1c3Rpbl9taWNoYXVk
QGFwcGxlLmNvbT4KIAogICAgICAgICBSZWZhY3RvciBPcGNvZGVUcmFpdHMgdG8gc3VwcG9ydCB0
aGUgcG9zc2liaWxpdHkgb2YgaGF2aW5nIDItYnl0ZSBXQVNNIG9wY29kZSBpZHMgaW4gYnl0ZWNv
ZGUgc3RyZWFtcwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0Nv
ZGVCbG9jay5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQ29kZUJsb2NrLmNw
cAppbmRleCAwOThhZWQ5MzVhNjhmN2Q2Njg3YmQzNTIzMjUzMDc3ZjMxZWQxOWYyLi5iMzc5Yzk3
YzlkZTk3ZDcwZmY0ZjA5MTdkNzIxMDY4NmZiZDRiODQ5IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvYnl0ZWNvZGUvQ29kZUJsb2NrLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvYnl0ZWNvZGUvQ29kZUJsb2NrLmNwcApAQCAtMjc5LDcgKzI3OSw2IEBAIENvZGVCbG9j
azo6Q29kZUJsb2NrKFZNJiB2bSwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUsIENvcHlQYXJzZWRCbG9j
a1RhZywgQ29kZUJsb2NrCiAgICAgLCBtX2RpZEZhaWxKSVRDb21waWxhdGlvbihmYWxzZSkKICAg
ICAsIG1fZGlkRmFpbEZUTENvbXBpbGF0aW9uKGZhbHNlKQogICAgICwgbV9oYXNCZWVuQ29tcGls
ZWRXaXRoRlRMKGZhbHNlKQotICAgICwgbV9pc0pldHRpc29uZWQoZmFsc2UpCiAgICAgLCBtX251
bUNhbGxlZUxvY2FscyhvdGhlci5tX251bUNhbGxlZUxvY2FscykKICAgICAsIG1fbnVtVmFycyhv
dGhlci5tX251bVZhcnMpCiAgICAgLCBtX251bWJlck9mQXJndW1lbnRzVG9Ta2lwKG90aGVyLm1f
bnVtYmVyT2ZBcmd1bWVudHNUb1NraXApCkBAIC0zMzEsNyArMzMwLDYgQEAgQ29kZUJsb2NrOjpD
b2RlQmxvY2soVk0mIHZtLCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwgU2NyaXB0RXhlY3V0YWJsZSog
b3duZXJFeGVjdXQKICAgICAsIG1fZGlkRmFpbEpJVENvbXBpbGF0aW9uKGZhbHNlKQogICAgICwg
bV9kaWRGYWlsRlRMQ29tcGlsYXRpb24oZmFsc2UpCiAgICAgLCBtX2hhc0JlZW5Db21waWxlZFdp
dGhGVEwoZmFsc2UpCi0gICAgLCBtX2lzSmV0dGlzb25lZChmYWxzZSkKICAgICAsIG1fbnVtQ2Fs
bGVlTG9jYWxzKHVubGlua2VkQ29kZUJsb2NrLT5udW1DYWxsZWVMb2NhbHMoKSkKICAgICAsIG1f
bnVtVmFycyh1bmxpbmtlZENvZGVCbG9jay0+bnVtVmFycygpKQogICAgICwgbV9oYXNEZWJ1Z2dl
clN0YXRlbWVudChmYWxzZSkKQEAgLTIxOTMsOCArMjE5MSw2IEBAIHZvaWQgQ29kZUJsb2NrOjpq
ZXR0aXNvbihQcm9maWxlcjo6SmV0dGlzb25SZWFzb24gcmVhc29uLCBSZW9wdGltaXphdGlvbk1v
ZGUgbW9kCiAKICAgICBWTSYgdm0gPSAqbV92bTsKIAotICAgIG1faXNKZXR0aXNvbmVkID0gdHJ1
ZTsKLQogICAgIENvZGVCbG9jayogY29kZUJsb2NrID0gdGhpczsgLy8gUGxhY2F0ZSBHQ0MgZm9y
IHVzZSBpbiBDT0RFQkxPQ0tfTE9HX0VWRU5UICAoZG9lcyBub3QgbGlrZSB0aGlzKS4KICAgICBD
T0RFQkxPQ0tfTE9HX0VWRU5UKGNvZGVCbG9jaywgImpldHRpc29uIiwgKCJkdWUgdG8gIiwgcmVh
c29uLCAiLCBjb3VudGluZyA9ICIsIG1vZGUgPT0gQ291bnRSZW9wdGltaXphdGlvbiwgIiwgZGV0
YWlsID0gIiwgcG9pbnRlckR1bXAoZGV0YWlsKSkpOwogCkBAIC0yMzYxLDggKzIzNTcsNiBAQCBw
cml2YXRlOgogCiB2b2lkIENvZGVCbG9jazo6bm90aWNlSW5jb21pbmdDYWxsKENhbGxGcmFtZSog
Y2FsbGVyRnJhbWUpCiB7Ci0gICAgUkVMRUFTRV9BU1NFUlQoIW1faXNKZXR0aXNvbmVkKTsKLQog
ICAgIENvZGVCbG9jayogY2FsbGVyQ29kZUJsb2NrID0gY2FsbGVyRnJhbWUtPmNvZGVCbG9jaygp
OwogICAgIAogICAgIGRhdGFMb2dMbklmKE9wdGlvbnM6OnZlcmJvc2VDYWxsTGluaygpLCAiTm90
aWNpbmcgY2FsbCBsaW5rIGZyb20gIiwgcG9pbnRlckR1bXAoY2FsbGVyQ29kZUJsb2NrKSwgIiB0
byAiLCAqdGhpcyk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUv
Q29kZUJsb2NrLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQ29kZUJsb2NrLmgK
aW5kZXggNDY5NjNkNzNkZTIzZTAxZmQxNTI1NDUxYTgzNDdiNmM3NzVjMTgyNi4uY2M3ZTJjZGQw
YjYzNDg3MGZkNWNkMjYzNGE5ZTU3YjA0NWRjYjU3NSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2J5dGVjb2RlL0NvZGVCbG9jay5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ieXRlY29kZS9Db2RlQmxvY2suaApAQCAtNzc0LDcgKzc3NCw2IEBAIHB1YmxpYzoKICAgICBi
b29sIG1fZGlkRmFpbEpJVENvbXBpbGF0aW9uIDogMTsKICAgICBib29sIG1fZGlkRmFpbEZUTENv
bXBpbGF0aW9uIDogMTsKICAgICBib29sIG1faGFzQmVlbkNvbXBpbGVkV2l0aEZUTCA6IDE7Ci0g
ICAgYm9vbCBtX2lzSmV0dGlzb25lZCA6IDE7CiAKICAgICBib29sIG1fdmlzaXRDaGlsZHJlblNr
aXBwZWREdWVUb09sZEFnZSB7IGZhbHNlIH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ieXRlY29kZS9SZXBhdGNoSW5saW5lcy5oIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2J5dGVjb2RlL1JlcGF0Y2hJbmxpbmVzLmgKaW5kZXggNTE3MWJjMTI0MDA1MmMzY2NjZDZlNmZh
ZjQ2ODI1MzM3ZWUzZTc4OS4uMmVmZTdiMWIzMzc2NGJkZjQyYjJlNGYwMmQ0ZGYwY2Q5ZTgxYzQ5
ZSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL1JlcGF0Y2hJbmxp
bmVzLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL1JlcGF0Y2hJbmxpbmVz
LmgKQEAgLTI3LDggKzI3LDYgQEAKIAogI2luY2x1ZGUgIlJlcGF0Y2guaCIKIAotI2luY2x1ZGUg
IlZNVHJhcHNJbmxpbmVzLmgiCi0KIG5hbWVzcGFjZSBKU0MgewogCiBpbmxpbmUgU2xvd1BhdGhS
ZXR1cm5UeXBlIGhhbmRsZUhvc3RDYWxsKEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIENh
bGxGcmFtZSogY2FsbGVlRnJhbWUsIEpTVmFsdWUgY2FsbGVlLCBDYWxsTGlua0luZm8qIGNhbGxM
aW5rSW5mbykKQEAgLTEyNiw5ICsxMjQsNiBAQCBBTFdBWVNfSU5MSU5FIFNsb3dQYXRoUmV0dXJu
VHlwZSBsaW5rRm9yKENhbGxGcmFtZSogY2FsbGVlRnJhbWUsIEpTR2xvYmFsT2JqZWN0KgogCiAg
ICAgTWFjcm9Bc3NlbWJsZXJDb2RlUHRyPEpTRW50cnlQdHJUYWc+IGNvZGVQdHI7CiAgICAgQ29k
ZUJsb2NrKiBjb2RlQmxvY2sgPSBudWxscHRyOwotCi0gICAgRGVmZXJUcmFwcyBkZWZlclRyYXBz
KHZtKTsgLy8gV2UgY2FuJ3QgamV0dGlzb24gYW55IGNvZGUgdW50aWwgYWZ0ZXIgd2UgbGluayB0
aGUgY2FsbC4KLQogICAgIGlmIChleGVjdXRhYmxlLT5pc0hvc3RGdW5jdGlvbigpKSB7CiAgICAg
ICAgIGNvZGVQdHIgPSBqc1RvV2FzbUlDQ29kZVB0cih2bSwga2luZCwgY2FsbGVlKTsKICAgICAg
ICAgaWYgKCFjb2RlUHRyKQpAQCAtMTkyLDkgKzE4Nyw2IEBAIEFMV0FZU19JTkxJTkUgU2xvd1Bh
dGhSZXR1cm5UeXBlIHZpcnR1YWxGb3JXaXRoRnVuY3Rpb24oSlNHbG9iYWxPYmplY3QqIGdsb2Jh
bE9iCiAgICAgSlNGdW5jdGlvbiogZnVuY3Rpb24gPSBqc0Nhc3Q8SlNGdW5jdGlvbio+KGNhbGxl
ZUFzRnVuY3Rpb25DZWxsKTsKICAgICBKU1Njb3BlKiBzY29wZSA9IGZ1bmN0aW9uLT5zY29wZVVu
Y2hlY2tlZCgpOwogICAgIEV4ZWN1dGFibGVCYXNlKiBleGVjdXRhYmxlID0gZnVuY3Rpb24tPmV4
ZWN1dGFibGUoKTsKLQotICAgIERlZmVyVHJhcHMgZGVmZXJUcmFwcyh2bSk7IC8vIFdlIGNhbid0
IGpldHRpc29uIGlmIHdlJ3JlIGdvaW5nIHRvIGNhbGwgdGhpcyBDb2RlQmxvY2suCi0KICAgICBp
ZiAoVU5MSUtFTFkoIWV4ZWN1dGFibGUtPmhhc0pJVENvZGVGb3Ioa2luZCkpKSB7CiAgICAgICAg
IEZ1bmN0aW9uRXhlY3V0YWJsZSogZnVuY3Rpb25FeGVjdXRhYmxlID0gc3RhdGljX2Nhc3Q8RnVu
Y3Rpb25FeGVjdXRhYmxlKj4oZXhlY3V0YWJsZSk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9kZmcvREZHT3BlcmF0aW9ucy5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
ZGZnL0RGR09wZXJhdGlvbnMuY3BwCmluZGV4IGRjNTAzMTY0NzVhZjg5MWE1ZmRiY2VkYzg0NmZi
YWE5NDRiODYxZGQuLjQxZjRiZDMxZjgxMzQ1MjRlZmNhNjZiYWNmNGQwODVmNTJjYWIyMDMgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHT3BlcmF0aW9ucy5jcHAKKysr
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdPcGVyYXRpb25zLmNwcApAQCAtNzgsNyAr
NzgsNiBAQAogI2luY2x1ZGUgIlN5bWJvbC5oIgogI2luY2x1ZGUgIlR5cGVQcm9maWxlckxvZy5o
IgogI2luY2x1ZGUgIlZNSW5saW5lcy5oIgotI2luY2x1ZGUgIlZNVHJhcHNJbmxpbmVzLmgiCiAK
ICNpZiBFTkFCTEUoSklUKQogI2lmIEVOQUJMRShERkdfSklUKQpAQCAtMzcxMyw4ICszNzEyLDYg
QEAgSlNDX0RFRklORV9KSVRfT1BFUkFUSU9OKG9wZXJhdGlvbkxpbmtEaXJlY3RDYWxsLCB2b2lk
LCAoT3B0aW1pemluZ0NhbGxMaW5rSW5mbyoKICAgICAvLyBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MjIwMzM5CiAgICAgTWFjcm9Bc3NlbWJsZXJDb2RlUHRyPEpTRW50
cnlQdHJUYWc+IGNvZGVQdHI7CiAgICAgQ29kZUJsb2NrKiBjb2RlQmxvY2sgPSBudWxscHRyOwot
ICAgIERlZmVyVHJhcHMgZGVmZXJUcmFwcyh2bSk7IC8vIFdlIGNhbid0IGpldHRpc29uIHRoaXMg
Y29kZSBpZiB3ZSdyZSBhYm91dCB0byBsaW5rIHRvIGl0LgotCiAgICAgaWYgKGV4ZWN1dGFibGUt
PmlzSG9zdEZ1bmN0aW9uKCkpCiAgICAgICAgIGNvZGVQdHIgPSBleGVjdXRhYmxlLT5lbnRyeXBv
aW50Rm9yKGtpbmQsIE11c3RDaGVja0FyaXR5KTsKICAgICBlbHNlIHsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9pbnRlcnByZXRlci9JbnRlcnByZXRlci5jcHAgYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvaW50ZXJwcmV0ZXIvSW50ZXJwcmV0ZXIuY3BwCmluZGV4IDg1ZjBkMDdm
YThkZjkyZTVkNjhkNTA1N2MyZmY4ZTc2MGIyZGJjZmMuLmVkNjg5NTJmNmQ2ZWFlY2I1MDkxMjA5
MDdjZjVkYTA5NTMxYjE3OTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnRl
cnByZXRlci9JbnRlcnByZXRlci5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ludGVy
cHJldGVyL0ludGVycHJldGVyLmNwcApAQCAtOTQ5LDI2ICs5NDksMjIgQEAgZmFpbGVkSlNPTlA6
CiAgICAgaWYgKHNjb3BlLT5zdHJ1Y3R1cmUodm0pLT5pc1VuY2FjaGVhYmxlRGljdGlvbmFyeSgp
KQogICAgICAgICBzY29wZS0+ZmxhdHRlbkRpY3Rpb25hcnlPYmplY3Qodm0pOwogCi0gICAgUmVm
UHRyPEpJVENvZGU+IGppdENvZGU7Ci0gICAgUHJvdG9DYWxsRnJhbWUgcHJvdG9DYWxsRnJhbWU7
CisgICAgUHJvZ3JhbUNvZGVCbG9jayogY29kZUJsb2NrOwogICAgIHsKLSAgICAgICAgRGVmZXJU
cmFwcyBkZWZlclRyYXBzKHZtKTsgLy8gV2UgY2FuJ3QgamV0dGlzb24gdGhpcyBjb2RlIGlmIHdl
J3JlIGFib3V0IHRvIHJ1biBpdC4KLQotICAgICAgICBQcm9ncmFtQ29kZUJsb2NrKiBjb2RlQmxv
Y2s7Ci0gICAgICAgIHsKLSAgICAgICAgICAgIENvZGVCbG9jayogdGVtcENvZGVCbG9jazsKLSAg
ICAgICAgICAgIHByb2dyYW0tPnByZXBhcmVGb3JFeGVjdXRpb248UHJvZ3JhbUV4ZWN1dGFibGU+
KHZtLCBudWxscHRyLCBzY29wZSwgQ29kZUZvckNhbGwsIHRlbXBDb2RlQmxvY2spOwotICAgICAg
ICAgICAgUkVUVVJOX0lGX0VYQ0VQVElPTih0aHJvd1Njb3BlLCBjaGVja2VkUmV0dXJuKHRocm93
U2NvcGUuZXhjZXB0aW9uKCkpKTsKKyAgICAgICAgQ29kZUJsb2NrKiB0ZW1wQ29kZUJsb2NrOwor
ICAgICAgICBwcm9ncmFtLT5wcmVwYXJlRm9yRXhlY3V0aW9uPFByb2dyYW1FeGVjdXRhYmxlPih2
bSwgbnVsbHB0ciwgc2NvcGUsIENvZGVGb3JDYWxsLCB0ZW1wQ29kZUJsb2NrKTsKKyAgICAgICAg
UkVUVVJOX0lGX0VYQ0VQVElPTih0aHJvd1Njb3BlLCBjaGVja2VkUmV0dXJuKHRocm93U2NvcGUu
ZXhjZXB0aW9uKCkpKTsKIAotICAgICAgICAgICAgY29kZUJsb2NrID0ganNDYXN0PFByb2dyYW1D
b2RlQmxvY2sqPih0ZW1wQ29kZUJsb2NrKTsKLSAgICAgICAgICAgIEFTU0VSVChjb2RlQmxvY2sg
JiYgY29kZUJsb2NrLT5udW1QYXJhbWV0ZXJzKCkgPT0gMSk7IC8vIDEgcGFyYW1ldGVyIGZvciAn
dGhpcycuCi0gICAgICAgIH0KKyAgICAgICAgY29kZUJsb2NrID0ganNDYXN0PFByb2dyYW1Db2Rl
QmxvY2sqPih0ZW1wQ29kZUJsb2NrKTsKKyAgICAgICAgQVNTRVJUKGNvZGVCbG9jayAmJiBjb2Rl
QmxvY2stPm51bVBhcmFtZXRlcnMoKSA9PSAxKTsgLy8gMSBwYXJhbWV0ZXIgZm9yICd0aGlzJy4K
KyAgICB9CiAKLSAgICAgICAgewotICAgICAgICAgICAgRGlzYWxsb3dHQyBkaXNhbGxvd0dDOyAv
LyBFbnN1cmUgbm8gR0MgaGFwcGVucy4gR0MgY2FuIHJlcGxhY2UgQ29kZUJsb2NrIGluIEV4ZWN1
dGFibGUuCi0gICAgICAgICAgICBqaXRDb2RlID0gcHJvZ3JhbS0+Z2VuZXJhdGVkSklUQ29kZSgp
OwotICAgICAgICAgICAgcHJvdG9DYWxsRnJhbWUuaW5pdChjb2RlQmxvY2ssIGdsb2JhbE9iamVj
dCwgZ2xvYmFsQ2FsbGVlLCB0aGlzT2JqLCAxKTsKLSAgICAgICAgfQorICAgIFJlZlB0cjxKSVRD
b2RlPiBqaXRDb2RlOworICAgIFByb3RvQ2FsbEZyYW1lIHByb3RvQ2FsbEZyYW1lOworICAgIHsK
KyAgICAgICAgRGlzYWxsb3dHQyBkaXNhbGxvd0dDOyAvLyBFbnN1cmUgbm8gR0MgaGFwcGVucy4g
R0MgY2FuIHJlcGxhY2UgQ29kZUJsb2NrIGluIEV4ZWN1dGFibGUuCisgICAgICAgIGppdENvZGUg
PSBwcm9ncmFtLT5nZW5lcmF0ZWRKSVRDb2RlKCk7CisgICAgICAgIHByb3RvQ2FsbEZyYW1lLmlu
aXQoY29kZUJsb2NrLCBnbG9iYWxPYmplY3QsIGdsb2JhbENhbGxlZSwgdGhpc09iaiwgMSk7CiAg
ICAgfQogCiAgICAgLy8gRXhlY3V0ZSB0aGUgY29kZToKQEAgLTEwMTUsMjcgKzEwMTEsMjMgQEAg
SlNWYWx1ZSBJbnRlcnByZXRlcjo6ZXhlY3V0ZUNhbGwoSlNHbG9iYWxPYmplY3QqIGxleGljYWxH
bG9iYWxPYmplY3QsIEpTT2JqZWN0KgogICAgICAgICAgICAgcmV0dXJuIHRocm93U2NvcGUuZXhj
ZXB0aW9uKCk7CiAgICAgfQogCisgICAgQ29kZUJsb2NrKiBuZXdDb2RlQmxvY2sgPSBudWxscHRy
OworICAgIGlmIChpc0pTQ2FsbCkgeworICAgICAgICAvLyBDb21waWxlIHRoZSBjYWxsZWU6Cisg
ICAgICAgIGNhbGxEYXRhLmpzLmZ1bmN0aW9uRXhlY3V0YWJsZS0+cHJlcGFyZUZvckV4ZWN1dGlv
bjxGdW5jdGlvbkV4ZWN1dGFibGU+KHZtLCBqc0Nhc3Q8SlNGdW5jdGlvbio+KGZ1bmN0aW9uKSwg
c2NvcGUsIENvZGVGb3JDYWxsLCBuZXdDb2RlQmxvY2spOworICAgICAgICBSRVRVUk5fSUZfRVhD
RVBUSU9OKHRocm93U2NvcGUsIGNoZWNrZWRSZXR1cm4odGhyb3dTY29wZS5leGNlcHRpb24oKSkp
OworCisgICAgICAgIEFTU0VSVChuZXdDb2RlQmxvY2spOworICAgICAgICBuZXdDb2RlQmxvY2st
Pm1fc2hvdWxkQWx3YXlzQmVJbmxpbmVkID0gZmFsc2U7CisgICAgfQorCiAgICAgUmVmUHRyPEpJ
VENvZGU+IGppdENvZGU7CiAgICAgUHJvdG9DYWxsRnJhbWUgcHJvdG9DYWxsRnJhbWU7CiAgICAg
ewotICAgICAgICBEZWZlclRyYXBzIGRlZmVyVHJhcHModm0pOyAvLyBXZSBjYW4ndCBqZXR0aXNv
biB0aGlzIGNvZGUgaWYgd2UncmUgYWJvdXQgdG8gcnVuIGl0LgotCi0gICAgICAgIENvZGVCbG9j
ayogbmV3Q29kZUJsb2NrID0gbnVsbHB0cjsKLSAgICAgICAgaWYgKGlzSlNDYWxsKSB7Ci0gICAg
ICAgICAgICAvLyBDb21waWxlIHRoZSBjYWxsZWU6Ci0gICAgICAgICAgICBjYWxsRGF0YS5qcy5m
dW5jdGlvbkV4ZWN1dGFibGUtPnByZXBhcmVGb3JFeGVjdXRpb248RnVuY3Rpb25FeGVjdXRhYmxl
Pih2bSwganNDYXN0PEpTRnVuY3Rpb24qPihmdW5jdGlvbiksIHNjb3BlLCBDb2RlRm9yQ2FsbCwg
bmV3Q29kZUJsb2NrKTsKLSAgICAgICAgICAgIFJFVFVSTl9JRl9FWENFUFRJT04odGhyb3dTY29w
ZSwgY2hlY2tlZFJldHVybih0aHJvd1Njb3BlLmV4Y2VwdGlvbigpKSk7Ci0KLSAgICAgICAgICAg
IEFTU0VSVChuZXdDb2RlQmxvY2spOwotICAgICAgICAgICAgbmV3Q29kZUJsb2NrLT5tX3Nob3Vs
ZEFsd2F5c0JlSW5saW5lZCA9IGZhbHNlOwotICAgICAgICB9Ci0KLSAgICAgICAgewotICAgICAg
ICAgICAgRGlzYWxsb3dHQyBkaXNhbGxvd0dDOyAvLyBFbnN1cmUgbm8gR0MgaGFwcGVucy4gR0Mg
Y2FuIHJlcGxhY2UgQ29kZUJsb2NrIGluIEV4ZWN1dGFibGUuCi0gICAgICAgICAgICBpZiAoaXNK
U0NhbGwpCi0gICAgICAgICAgICAgICAgaml0Q29kZSA9IGNhbGxEYXRhLmpzLmZ1bmN0aW9uRXhl
Y3V0YWJsZS0+Z2VuZXJhdGVkSklUQ29kZUZvckNhbGwoKTsKLSAgICAgICAgICAgIHByb3RvQ2Fs
bEZyYW1lLmluaXQobmV3Q29kZUJsb2NrLCBnbG9iYWxPYmplY3QsIGZ1bmN0aW9uLCB0aGlzVmFs
dWUsIGFyZ3NDb3VudCwgYXJncy5kYXRhKCkpOwotICAgICAgICB9CisgICAgICAgIERpc2FsbG93
R0MgZGlzYWxsb3dHQzsgLy8gRW5zdXJlIG5vIEdDIGhhcHBlbnMuIEdDIGNhbiByZXBsYWNlIENv
ZGVCbG9jayBpbiBFeGVjdXRhYmxlLgorICAgICAgICBpZiAoaXNKU0NhbGwpCisgICAgICAgICAg
ICBqaXRDb2RlID0gY2FsbERhdGEuanMuZnVuY3Rpb25FeGVjdXRhYmxlLT5nZW5lcmF0ZWRKSVRD
b2RlRm9yQ2FsbCgpOworICAgICAgICBwcm90b0NhbGxGcmFtZS5pbml0KG5ld0NvZGVCbG9jaywg
Z2xvYmFsT2JqZWN0LCBmdW5jdGlvbiwgdGhpc1ZhbHVlLCBhcmdzQ291bnQsIGFyZ3MuZGF0YSgp
KTsKICAgICB9CiAKICAgICBKU1ZhbHVlIHJlc3VsdDsKQEAgLTEwOTUsMjcgKzEwODcsMjMgQEAg
SlNPYmplY3QqIEludGVycHJldGVyOjpleGVjdXRlQ29uc3RydWN0KEpTR2xvYmFsT2JqZWN0KiBs
ZXhpY2FsR2xvYmFsT2JqZWN0LCBKU08KICAgICAgICAgICAgIHJldHVybiBudWxscHRyOwogICAg
IH0KIAorICAgIENvZGVCbG9jayogbmV3Q29kZUJsb2NrID0gbnVsbHB0cjsKKyAgICBpZiAoaXNK
U0NvbnN0cnVjdCkgeworICAgICAgICAvLyBDb21waWxlIHRoZSBjYWxsZWU6CisgICAgICAgIGNv
bnN0cnVjdERhdGEuanMuZnVuY3Rpb25FeGVjdXRhYmxlLT5wcmVwYXJlRm9yRXhlY3V0aW9uPEZ1
bmN0aW9uRXhlY3V0YWJsZT4odm0sIGpzQ2FzdDxKU0Z1bmN0aW9uKj4oY29uc3RydWN0b3IpLCBz
Y29wZSwgQ29kZUZvckNvbnN0cnVjdCwgbmV3Q29kZUJsb2NrKTsKKyAgICAgICAgUkVUVVJOX0lG
X0VYQ0VQVElPTih0aHJvd1Njb3BlLCBudWxscHRyKTsKKworICAgICAgICBBU1NFUlQobmV3Q29k
ZUJsb2NrKTsKKyAgICAgICAgbmV3Q29kZUJsb2NrLT5tX3Nob3VsZEFsd2F5c0JlSW5saW5lZCA9
IGZhbHNlOworICAgIH0KKwogICAgIFJlZlB0cjxKSVRDb2RlPiBqaXRDb2RlOwogICAgIFByb3Rv
Q2FsbEZyYW1lIHByb3RvQ2FsbEZyYW1lOwogICAgIHsKLSAgICAgICAgRGVmZXJUcmFwcyBkZWZl
clRyYXBzKHZtKTsgLy8gV2UgY2FuJ3QgamV0dGlzb24gdGhpcyBjb2RlIGlmIHdlJ3JlIGFib3V0
IHRvIHJ1biBpdC4KLQotICAgICAgICBDb2RlQmxvY2sqIG5ld0NvZGVCbG9jayA9IG51bGxwdHI7
Ci0gICAgICAgIGlmIChpc0pTQ29uc3RydWN0KSB7Ci0gICAgICAgICAgICAvLyBDb21waWxlIHRo
ZSBjYWxsZWU6Ci0gICAgICAgICAgICBjb25zdHJ1Y3REYXRhLmpzLmZ1bmN0aW9uRXhlY3V0YWJs
ZS0+cHJlcGFyZUZvckV4ZWN1dGlvbjxGdW5jdGlvbkV4ZWN1dGFibGU+KHZtLCBqc0Nhc3Q8SlNG
dW5jdGlvbio+KGNvbnN0cnVjdG9yKSwgc2NvcGUsIENvZGVGb3JDb25zdHJ1Y3QsIG5ld0NvZGVC
bG9jayk7Ci0gICAgICAgICAgICBSRVRVUk5fSUZfRVhDRVBUSU9OKHRocm93U2NvcGUsIG51bGxw
dHIpOwotCi0gICAgICAgICAgICBBU1NFUlQobmV3Q29kZUJsb2NrKTsKLSAgICAgICAgICAgIG5l
d0NvZGVCbG9jay0+bV9zaG91bGRBbHdheXNCZUlubGluZWQgPSBmYWxzZTsKLSAgICAgICAgfQot
Ci0gICAgICAgIHsKLSAgICAgICAgICAgIERpc2FsbG93R0MgZGlzYWxsb3dHQzsgLy8gRW5zdXJl
IG5vIEdDIGhhcHBlbnMuIEdDIGNhbiByZXBsYWNlIENvZGVCbG9jayBpbiBFeGVjdXRhYmxlLgot
ICAgICAgICAgICAgaWYgKGlzSlNDb25zdHJ1Y3QpCi0gICAgICAgICAgICAgICAgaml0Q29kZSA9
IGNvbnN0cnVjdERhdGEuanMuZnVuY3Rpb25FeGVjdXRhYmxlLT5nZW5lcmF0ZWRKSVRDb2RlRm9y
Q29uc3RydWN0KCk7Ci0gICAgICAgICAgICBwcm90b0NhbGxGcmFtZS5pbml0KG5ld0NvZGVCbG9j
aywgZ2xvYmFsT2JqZWN0LCBjb25zdHJ1Y3RvciwgbmV3VGFyZ2V0LCBhcmdzQ291bnQsIGFyZ3Mu
ZGF0YSgpKTsKLSAgICAgICAgfQorICAgICAgICBEaXNhbGxvd0dDIGRpc2FsbG93R0M7IC8vIEVu
c3VyZSBubyBHQyBoYXBwZW5zLiBHQyBjYW4gcmVwbGFjZSBDb2RlQmxvY2sgaW4gRXhlY3V0YWJs
ZS4KKyAgICAgICAgaWYgKGlzSlNDb25zdHJ1Y3QpCisgICAgICAgICAgICBqaXRDb2RlID0gY29u
c3RydWN0RGF0YS5qcy5mdW5jdGlvbkV4ZWN1dGFibGUtPmdlbmVyYXRlZEpJVENvZGVGb3JDb25z
dHJ1Y3QoKTsKKyAgICAgICAgcHJvdG9DYWxsRnJhbWUuaW5pdChuZXdDb2RlQmxvY2ssIGdsb2Jh
bE9iamVjdCwgY29uc3RydWN0b3IsIG5ld1RhcmdldCwgYXJnc0NvdW50LCBhcmdzLmRhdGEoKSk7
CiAgICAgfQogCiAgICAgSlNWYWx1ZSByZXN1bHQ7CkBAIC0xMzA3LDI2ICsxMjk1LDIyIEBAIEpT
VmFsdWUgSW50ZXJwcmV0ZXI6OmV4ZWN1dGUoRXZhbEV4ZWN1dGFibGUqIGV2YWwsIEpTR2xvYmFs
T2JqZWN0KiBsZXhpY2FsR2xvYmFsCiAgICAgZWxzZQogICAgICAgICBjYWxsZWUgPSBKU0NhbGxl
ZTo6Y3JlYXRlKHZtLCBnbG9iYWxPYmplY3QsIHNjb3BlKTsKIAotICAgIFJlZlB0cjxKSVRDb2Rl
PiBqaXRDb2RlOwotICAgIFByb3RvQ2FsbEZyYW1lIHByb3RvQ2FsbEZyYW1lOworICAgIC8vIFJl
bG9hZCBDb2RlQmxvY2suIEl0IGlzIHBvc3NpYmxlIHRoYXQgd2UgcmVwbGFjZWQgQ29kZUJsb2Nr
IHdoaWxlIHNldHRpbmcgdXAgdGhlIGVudmlyb25tZW50LgogICAgIHsKLSAgICAgICAgRGVmZXJU
cmFwcyBkZWZlclRyYXBzKHZtKTsgLy8gV2UgY2FuJ3QgamV0dGlzb24gdGhpcyBjb2RlIGlmIHdl
J3JlIGFib3V0IHRvIHJ1biBpdC4KLQotICAgICAgICAvLyBSZWxvYWQgQ29kZUJsb2NrLiBJdCBp
cyBwb3NzaWJsZSB0aGF0IHdlIHJlcGxhY2VkIENvZGVCbG9jayB3aGlsZSBzZXR0aW5nIHVwIHRo
ZSBlbnZpcm9ubWVudC4KLSAgICAgICAgewotICAgICAgICAgICAgQ29kZUJsb2NrKiB0ZW1wQ29k
ZUJsb2NrOwotICAgICAgICAgICAgZXZhbC0+cHJlcGFyZUZvckV4ZWN1dGlvbjxFdmFsRXhlY3V0
YWJsZT4odm0sIG51bGxwdHIsIHNjb3BlLCBDb2RlRm9yQ2FsbCwgdGVtcENvZGVCbG9jayk7Ci0g
ICAgICAgICAgICBSRVRVUk5fSUZfRVhDRVBUSU9OKHRocm93U2NvcGUsIGNoZWNrZWRSZXR1cm4o
dGhyb3dTY29wZS5leGNlcHRpb24oKSkpOworICAgICAgICBDb2RlQmxvY2sqIHRlbXBDb2RlQmxv
Y2s7CisgICAgICAgIGV2YWwtPnByZXBhcmVGb3JFeGVjdXRpb248RXZhbEV4ZWN1dGFibGU+KHZt
LCBudWxscHRyLCBzY29wZSwgQ29kZUZvckNhbGwsIHRlbXBDb2RlQmxvY2spOworICAgICAgICBS
RVRVUk5fSUZfRVhDRVBUSU9OKHRocm93U2NvcGUsIGNoZWNrZWRSZXR1cm4odGhyb3dTY29wZS5l
eGNlcHRpb24oKSkpOwogCi0gICAgICAgICAgICBjb2RlQmxvY2sgPSBqc0Nhc3Q8RXZhbENvZGVC
bG9jayo+KHRlbXBDb2RlQmxvY2spOwotICAgICAgICAgICAgQVNTRVJUKGNvZGVCbG9jayAmJiBj
b2RlQmxvY2stPm51bVBhcmFtZXRlcnMoKSA9PSAxKTsgLy8gMSBwYXJhbWV0ZXIgZm9yICd0aGlz
Jy4KLSAgICAgICAgfQorICAgICAgICBjb2RlQmxvY2sgPSBqc0Nhc3Q8RXZhbENvZGVCbG9jayo+
KHRlbXBDb2RlQmxvY2spOworICAgICAgICBBU1NFUlQoY29kZUJsb2NrICYmIGNvZGVCbG9jay0+
bnVtUGFyYW1ldGVycygpID09IDEpOyAvLyAxIHBhcmFtZXRlciBmb3IgJ3RoaXMnLgorICAgIH0K
IAotICAgICAgICB7Ci0gICAgICAgICAgICBEaXNhbGxvd0dDIGRpc2FsbG93R0M7IC8vIEVuc3Vy
ZSBubyBHQyBoYXBwZW5zLiBHQyBjYW4gcmVwbGFjZSBDb2RlQmxvY2sgaW4gRXhlY3V0YWJsZS4K
LSAgICAgICAgICAgIGppdENvZGUgPSBldmFsLT5nZW5lcmF0ZWRKSVRDb2RlKCk7Ci0gICAgICAg
ICAgICBwcm90b0NhbGxGcmFtZS5pbml0KGNvZGVCbG9jaywgZ2xvYmFsT2JqZWN0LCBjYWxsZWUs
IHRoaXNWYWx1ZSwgMSk7Ci0gICAgICAgIH0KKyAgICBSZWZQdHI8SklUQ29kZT4gaml0Q29kZTsK
KyAgICBQcm90b0NhbGxGcmFtZSBwcm90b0NhbGxGcmFtZTsKKyAgICB7CisgICAgICAgIERpc2Fs
bG93R0MgZGlzYWxsb3dHQzsgLy8gRW5zdXJlIG5vIEdDIGhhcHBlbnMuIEdDIGNhbiByZXBsYWNl
IENvZGVCbG9jayBpbiBFeGVjdXRhYmxlLgorICAgICAgICBqaXRDb2RlID0gZXZhbC0+Z2VuZXJh
dGVkSklUQ29kZSgpOworICAgICAgICBwcm90b0NhbGxGcmFtZS5pbml0KGNvZGVCbG9jaywgZ2xv
YmFsT2JqZWN0LCBjYWxsZWUsIHRoaXNWYWx1ZSwgMSk7CiAgICAgfQogCiAgICAgLy8gRXhlY3V0
ZSB0aGUgY29kZToKQEAgLTEzNjgsOCArMTM1MiwxNyBAQCBKU1ZhbHVlIEludGVycHJldGVyOjpl
eGVjdXRlTW9kdWxlUHJvZ3JhbShKU01vZHVsZVJlY29yZCogcmVjb3JkLCBNb2R1bGVQcm9ncmFt
RQogCiAgICAgY29uc3QgdW5zaWduZWQgbnVtYmVyT2ZBcmd1bWVudHMgPSBzdGF0aWNfY2FzdDx1
bnNpZ25lZD4oQWJzdHJhY3RNb2R1bGVSZWNvcmQ6OkFyZ3VtZW50OjpOdW1iZXJPZkFyZ3VtZW50
cyk7CiAgICAgSlNDYWxsZWUqIGNhbGxlZSA9IEpTQ2FsbGVlOjpjcmVhdGUodm0sIGdsb2JhbE9i
amVjdCwgc2NvcGUpOwotICAgIFJlZlB0cjxKSVRDb2RlPiBqaXRDb2RlOworICAgIE1vZHVsZVBy
b2dyYW1Db2RlQmxvY2sqIGNvZGVCbG9jazsKKyAgICB7CisgICAgICAgIENvZGVCbG9jayogdGVt
cENvZGVCbG9jazsKKyAgICAgICAgZXhlY3V0YWJsZS0+cHJlcGFyZUZvckV4ZWN1dGlvbjxNb2R1
bGVQcm9ncmFtRXhlY3V0YWJsZT4odm0sIG51bGxwdHIsIHNjb3BlLCBDb2RlRm9yQ2FsbCwgdGVt
cENvZGVCbG9jayk7CisgICAgICAgIFJFVFVSTl9JRl9FWENFUFRJT04odGhyb3dTY29wZSwgY2hl
Y2tlZFJldHVybih0aHJvd1Njb3BlLmV4Y2VwdGlvbigpKSk7CiAKKyAgICAgICAgY29kZUJsb2Nr
ID0ganNDYXN0PE1vZHVsZVByb2dyYW1Db2RlQmxvY2sqPih0ZW1wQ29kZUJsb2NrKTsKKyAgICAg
ICAgQVNTRVJUKGNvZGVCbG9jayAmJiBjb2RlQmxvY2stPm51bVBhcmFtZXRlcnMoKSA9PSBudW1i
ZXJPZkFyZ3VtZW50cyArIDEpOworICAgIH0KKworICAgIFJlZlB0cjxKSVRDb2RlPiBqaXRDb2Rl
OwogICAgIFByb3RvQ2FsbEZyYW1lIHByb3RvQ2FsbEZyYW1lOwogICAgIEpTVmFsdWUgYXJnc1tu
dW1iZXJPZkFyZ3VtZW50c10gPSB7CiAgICAgICAgIHJlY29yZCwKQEAgLTEzODAsMzIgKzEzNzMs
MTcgQEAgSlNWYWx1ZSBJbnRlcnByZXRlcjo6ZXhlY3V0ZU1vZHVsZVByb2dyYW0oSlNNb2R1bGVS
ZWNvcmQqIHJlY29yZCwgTW9kdWxlUHJvZ3JhbUUKICAgICB9OwogCiAgICAgewotICAgICAgICBE
ZWZlclRyYXBzIGRlZmVyVHJhcHModm0pOyAvLyBXZSBjYW4ndCBqZXR0aXNvbiB0aGlzIGNvZGUg
aWYgd2UncmUgYWJvdXQgdG8gcnVuIGl0LgotCi0gICAgICAgIE1vZHVsZVByb2dyYW1Db2RlQmxv
Y2sqIGNvZGVCbG9jazsKLSAgICAgICAgewotICAgICAgICAgICAgQ29kZUJsb2NrKiB0ZW1wQ29k
ZUJsb2NrOwotICAgICAgICAgICAgZXhlY3V0YWJsZS0+cHJlcGFyZUZvckV4ZWN1dGlvbjxNb2R1
bGVQcm9ncmFtRXhlY3V0YWJsZT4odm0sIG51bGxwdHIsIHNjb3BlLCBDb2RlRm9yQ2FsbCwgdGVt
cENvZGVCbG9jayk7Ci0gICAgICAgICAgICBSRVRVUk5fSUZfRVhDRVBUSU9OKHRocm93U2NvcGUs
IGNoZWNrZWRSZXR1cm4odGhyb3dTY29wZS5leGNlcHRpb24oKSkpOwotCi0gICAgICAgICAgICBj
b2RlQmxvY2sgPSBqc0Nhc3Q8TW9kdWxlUHJvZ3JhbUNvZGVCbG9jayo+KHRlbXBDb2RlQmxvY2sp
OwotICAgICAgICAgICAgQVNTRVJUKGNvZGVCbG9jayAmJiBjb2RlQmxvY2stPm51bVBhcmFtZXRl
cnMoKSA9PSBudW1iZXJPZkFyZ3VtZW50cyArIDEpOwotICAgICAgICB9Ci0KKyAgICAgICAgRGlz
YWxsb3dHQyBkaXNhbGxvd0dDOyAvLyBFbnN1cmUgbm8gR0MgaGFwcGVucy4gR0MgY2FuIHJlcGxh
Y2UgQ29kZUJsb2NrIGluIEV4ZWN1dGFibGUuCisgICAgICAgIGppdENvZGUgPSBleGVjdXRhYmxl
LT5nZW5lcmF0ZWRKSVRDb2RlKCk7CiAKLSAgICAgICAgewotICAgICAgICAgICAgRGlzYWxsb3dH
QyBkaXNhbGxvd0dDOyAvLyBFbnN1cmUgbm8gR0MgaGFwcGVucy4gR0MgY2FuIHJlcGxhY2UgQ29k
ZUJsb2NrIGluIEV4ZWN1dGFibGUuCi0gICAgICAgICAgICBqaXRDb2RlID0gZXhlY3V0YWJsZS0+
Z2VuZXJhdGVkSklUQ29kZSgpOwotCi0gICAgICAgICAgICAvLyBUaGUgfHRoaXN8IG9mIHRoZSBt
b2R1bGUgaXMgYWx3YXlzIGB1bmRlZmluZWRgLgotICAgICAgICAgICAgLy8gaHR0cDovL3d3dy5l
Y21hLWludGVybmF0aW9uYWwub3JnL2VjbWEtMjYyLzYuMC8jc2VjLW1vZHVsZS1lbnZpcm9ubWVu
dC1yZWNvcmRzLWhhc3RoaXNiaW5kaW5nCi0gICAgICAgICAgICAvLyBodHRwOi8vd3d3LmVjbWEt
aW50ZXJuYXRpb25hbC5vcmcvZWNtYS0yNjIvNi4wLyNzZWMtbW9kdWxlLWVudmlyb25tZW50LXJl
Y29yZHMtZ2V0dGhpc2JpbmRpbmcKLSAgICAgICAgICAgIHByb3RvQ2FsbEZyYW1lLmluaXQoY29k
ZUJsb2NrLCBnbG9iYWxPYmplY3QsIGNhbGxlZSwganNVbmRlZmluZWQoKSwgbnVtYmVyT2ZBcmd1
bWVudHMgKyAxLCBhcmdzKTsKLSAgICAgICAgfQotCi0gICAgICAgIHJlY29yZC0+aW50ZXJuYWxG
aWVsZChKU01vZHVsZVJlY29yZDo6RmllbGQ6OlN0YXRlKS5zZXQodm0sIHJlY29yZCwganNOdW1i
ZXIoc3RhdGljX2Nhc3Q8aW50PihKU01vZHVsZVJlY29yZDo6U3RhdGU6OkV4ZWN1dGluZykpKTsK
KyAgICAgICAgLy8gVGhlIHx0aGlzfCBvZiB0aGUgbW9kdWxlIGlzIGFsd2F5cyBgdW5kZWZpbmVk
YC4KKyAgICAgICAgLy8gaHR0cDovL3d3dy5lY21hLWludGVybmF0aW9uYWwub3JnL2VjbWEtMjYy
LzYuMC8jc2VjLW1vZHVsZS1lbnZpcm9ubWVudC1yZWNvcmRzLWhhc3RoaXNiaW5kaW5nCisgICAg
ICAgIC8vIGh0dHA6Ly93d3cuZWNtYS1pbnRlcm5hdGlvbmFsLm9yZy9lY21hLTI2Mi82LjAvI3Nl
Yy1tb2R1bGUtZW52aXJvbm1lbnQtcmVjb3Jkcy1nZXR0aGlzYmluZGluZworICAgICAgICBwcm90
b0NhbGxGcmFtZS5pbml0KGNvZGVCbG9jaywgZ2xvYmFsT2JqZWN0LCBjYWxsZWUsIGpzVW5kZWZp
bmVkKCksIG51bWJlck9mQXJndW1lbnRzICsgMSwgYXJncyk7CiAgICAgfQogCisgICAgcmVjb3Jk
LT5pbnRlcm5hbEZpZWxkKEpTTW9kdWxlUmVjb3JkOjpGaWVsZDo6U3RhdGUpLnNldCh2bSwgcmVj
b3JkLCBqc051bWJlcihzdGF0aWNfY2FzdDxpbnQ+KEpTTW9kdWxlUmVjb3JkOjpTdGF0ZTo6RXhl
Y3V0aW5nKSkpOworCiAgICAgLy8gRXhlY3V0ZSB0aGUgY29kZToKICAgICB0aHJvd1Njb3BlLnJl
bGVhc2UoKTsKICAgICBBU1NFUlQoaml0Q29kZSA9PSBleGVjdXRhYmxlLT5nZW5lcmF0ZWRKSVRD
b2RlKCkucHRyKCkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ludGVycHJl
dGVyL0ludGVycHJldGVySW5saW5lcy5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ludGVycHJl
dGVyL0ludGVycHJldGVySW5saW5lcy5oCmluZGV4IDQ3NGRkYjlkNWFmZmRhZmIwZTE5ZWIxOWJh
ZjEyOGM0MzRkMzAxZWYuLjlmZmM5NDMyODM4YWVkNmY0OWJiMmMyOTAyMWY2OWI3MWY2YmQ2MTkg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnRlcnByZXRlci9JbnRlcnByZXRl
cklubGluZXMuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW50ZXJwcmV0ZXIvSW50ZXJw
cmV0ZXJJbmxpbmVzLmgKQEAgLTM2LDcgKzM2LDYgQEAKICNpbmNsdWRlICJMTEludERhdGEuaCIK
ICNpbmNsdWRlICJQcm90b0NhbGxGcmFtZUlubGluZXMuaCIKICNpbmNsdWRlICJVbmxpbmtlZENv
ZGVCbG9jay5oIgotI2luY2x1ZGUgIlZNVHJhcHNJbmxpbmVzLmgiCiAjaW5jbHVkZSA8d3RmL1Vu
YWxpZ25lZEFjY2Vzcy5oPgogCiBuYW1lc3BhY2UgSlNDIHsKQEAgLTg3LDI1ICs4NiwyMSBAQCBB
TFdBWVNfSU5MSU5FIEpTVmFsdWUgSW50ZXJwcmV0ZXI6OmV4ZWN1dGUoQ2FsbEZyYW1lQ2xvc3Vy
ZSYgY2xvc3VyZSkKICAgICAgICAgICAgIHJldHVybiB0aHJvd1Njb3BlLmV4Y2VwdGlvbigpOwog
ICAgIH0KIAotICAgIHsKLSAgICAgICAgRGVmZXJUcmFwcyBkZWZlclRyYXBzKHZtKTsgLy8gV2Ug
Y2FuJ3QgamV0dGlzb24gdGhpcyBjb2RlIGlmIHdlJ3JlIGFib3V0IHRvIHJ1biBpdC4KLQotICAg
ICAgICAvLyBSZWxvYWQgQ29kZUJsb2NrIHNpbmNlIEdDIGNhbiByZXBsYWNlIENvZGVCbG9jayBv
d25lZCBieSBFeGVjdXRhYmxlLgotICAgICAgICBDb2RlQmxvY2sqIGNvZGVCbG9jazsKLSAgICAg
ICAgY2xvc3VyZS5mdW5jdGlvbkV4ZWN1dGFibGUtPnByZXBhcmVGb3JFeGVjdXRpb248RnVuY3Rp
b25FeGVjdXRhYmxlPih2bSwgY2xvc3VyZS5mdW5jdGlvbiwgY2xvc3VyZS5zY29wZSwgQ29kZUZv
ckNhbGwsIGNvZGVCbG9jayk7Ci0gICAgICAgIFJFVFVSTl9JRl9FWENFUFRJT04odGhyb3dTY29w
ZSwgY2hlY2tlZFJldHVybih0aHJvd1Njb3BlLmV4Y2VwdGlvbigpKSk7CisgICAgLy8gUmVsb2Fk
IENvZGVCbG9jayBzaW5jZSBHQyBjYW4gcmVwbGFjZSBDb2RlQmxvY2sgb3duZWQgYnkgRXhlY3V0
YWJsZS4KKyAgICBDb2RlQmxvY2sqIGNvZGVCbG9jazsKKyAgICBjbG9zdXJlLmZ1bmN0aW9uRXhl
Y3V0YWJsZS0+cHJlcGFyZUZvckV4ZWN1dGlvbjxGdW5jdGlvbkV4ZWN1dGFibGU+KHZtLCBjbG9z
dXJlLmZ1bmN0aW9uLCBjbG9zdXJlLnNjb3BlLCBDb2RlRm9yQ2FsbCwgY29kZUJsb2NrKTsKKyAg
ICBSRVRVUk5fSUZfRVhDRVBUSU9OKHRocm93U2NvcGUsIGNoZWNrZWRSZXR1cm4odGhyb3dTY29w
ZS5leGNlcHRpb24oKSkpOwogCi0gICAgICAgIEFTU0VSVChjb2RlQmxvY2spOwotICAgICAgICBj
b2RlQmxvY2stPm1fc2hvdWxkQWx3YXlzQmVJbmxpbmVkID0gZmFsc2U7Ci0gICAgICAgIHsKLSAg
ICAgICAgICAgIERpc2FsbG93R0MgZGlzYWxsb3dHQzsgLy8gRW5zdXJlIG5vIEdDIGhhcHBlbnMu
IEdDIGNhbiByZXBsYWNlIENvZGVCbG9jayBpbiBFeGVjdXRhYmxlLgotICAgICAgICAgICAgY2xv
c3VyZS5wcm90b0NhbGxGcmFtZS0+c2V0Q29kZUJsb2NrKGNvZGVCbG9jayk7Ci0gICAgICAgIH0K
KyAgICBBU1NFUlQoY29kZUJsb2NrKTsKKyAgICBjb2RlQmxvY2stPm1fc2hvdWxkQWx3YXlzQmVJ
bmxpbmVkID0gZmFsc2U7CisgICAgeworICAgICAgICBEaXNhbGxvd0dDIGRpc2FsbG93R0M7IC8v
IEVuc3VyZSBubyBHQyBoYXBwZW5zLiBHQyBjYW4gcmVwbGFjZSBDb2RlQmxvY2sgaW4gRXhlY3V0
YWJsZS4KKyAgICAgICAgY2xvc3VyZS5wcm90b0NhbGxGcmFtZS0+c2V0Q29kZUJsb2NrKGNvZGVC
bG9jayk7CiAgICAgfQotCiAgICAgLy8gRXhlY3V0ZSB0aGUgY29kZToKICAgICB0aHJvd1Njb3Bl
LnJlbGVhc2UoKTsKICAgICBKU1ZhbHVlIHJlc3VsdCA9IGNsb3N1cmUuZnVuY3Rpb25FeGVjdXRh
YmxlLT5nZW5lcmF0ZWRKSVRDb2RlRm9yQ2FsbCgpLT5leGVjdXRlKCZ2bSwgY2xvc3VyZS5wcm90
b0NhbGxGcmFtZSk7CisKICAgICByZXR1cm4gY2hlY2tlZFJldHVybihyZXN1bHQpOwogfQogCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTExJbnRTbG93UGF0aHMuY3Bw
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xMSW50U2xvd1BhdGhzLmNwcAppbmRleCBk
YTYwMGVhMDBmMGM4ZDY0M2E1N2Y2NmZiNWY5YjBlM2EzNTY4M2E4Li4wYzViZjllMWQ2MjFlNmJi
YjdjMWE5NjA2OTAwOGMzZjUzOGMxNGIxIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTExJbnRTbG93UGF0aHMuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9MTEludFNsb3dQYXRocy5jcHAKQEAgLTY2LDcgKzY2LDYgQEAKICNpbmNsdWRlICJTaGFk
b3dDaGlja2VuLmgiCiAjaW5jbHVkZSAiU3VwZXJTYW1wbGVyLmgiCiAjaW5jbHVkZSAiVk1Jbmxp
bmVzLmgiCi0jaW5jbHVkZSAiVk1UcmFwc0lubGluZXMuaCIKICNpbmNsdWRlIDx3dGYvTmV2ZXJE
ZXN0cm95ZWQuaD4KICNpbmNsdWRlIDx3dGYvU3RyaW5nUHJpbnRTdHJlYW0uaD4KIApAQCAtMTkw
NSw5ICsxOTA0LDggQEAgaW5saW5lIFNsb3dQYXRoUmV0dXJuVHlwZSBzZXRVcENhbGwoQ2FsbEZy
YW1lKiBjYWxsZWVGcmFtZSwgQ29kZVNwZWNpYWxpemF0aW9uS2kKICAgICBKU1Njb3BlKiBzY29w
ZSA9IGNhbGxlZS0+c2NvcGVVbmNoZWNrZWQoKTsKICAgICBFeGVjdXRhYmxlQmFzZSogZXhlY3V0
YWJsZSA9IGNhbGxlZS0+ZXhlY3V0YWJsZSgpOwogCi0gICAgRGVmZXJUcmFwcyBkZWZlclRyYXBz
KHZtKTsgLy8gV2UgY2FuJ3QgamV0dGlzb24gdGhpcyBjb2RlIGlmIHdlJ3JlIGFib3V0IHRvIHJ1
biBpdC4KLQogICAgIE1hY3JvQXNzZW1ibGVyQ29kZVB0cjxKU0VudHJ5UHRyVGFnPiBjb2RlUHRy
OworICAgIENvZGVCbG9jayogY29kZUJsb2NrID0gbnVsbHB0cjsKICAgICAvLyBGSVhNRTogU3Vw
cG9ydCB3YXNtIElDLgogICAgIC8vIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0yMjAzMzkKICAgICBpZiAoZXhlY3V0YWJsZS0+aXNIb3N0RnVuY3Rpb24oKSkKQEAgLTE5
MjEsNyArMTkxOSw3IEBAIGlubGluZSBTbG93UGF0aFJldHVyblR5cGUgc2V0VXBDYWxsKENhbGxG
cmFtZSogY2FsbGVlRnJhbWUsIENvZGVTcGVjaWFsaXphdGlvbktpCiAgICAgICAgIGZ1bmN0aW9u
RXhlY3V0YWJsZS0+cHJlcGFyZUZvckV4ZWN1dGlvbjxGdW5jdGlvbkV4ZWN1dGFibGU+KHZtLCBj
YWxsZWUsIHNjb3BlLCBraW5kLCAqY29kZUJsb2NrU2xvdCk7CiAgICAgICAgIExMSU5UX0NBTExf
Q0hFQ0tfRVhDRVBUSU9OKGdsb2JhbE9iamVjdCk7CiAKLSAgICAgICAgQ29kZUJsb2NrKiBjb2Rl
QmxvY2sgPSAqY29kZUJsb2NrU2xvdDsKKyAgICAgICAgY29kZUJsb2NrID0gKmNvZGVCbG9ja1Ns
b3Q7CiAgICAgICAgIEFTU0VSVChjb2RlQmxvY2spOwogCiAgICAgICAgIEFyaXR5Q2hlY2tNb2Rl
IGFyaXR5OwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU2NyaXB0
RXhlY3V0YWJsZS5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TY3JpcHRFeGVj
dXRhYmxlLmNwcAppbmRleCA0MjFkNzAwZTQ2YWZiODA4ZTdkNWE1NzBkY2FmNWY1YzdiYTliNDFm
Li42ZjgzMmI2YzdiYWVjZDAxYmUwMjJkNzkyYjliMThlMTk5MmZlNjJhIDEwMDY0NAotLS0gYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TY3JpcHRFeGVjdXRhYmxlLmNwcAorKysgYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TY3JpcHRFeGVjdXRhYmxlLmNwcApAQCAtMTk2
LDggKzE5Niw2IEBAIHZvaWQgU2NyaXB0RXhlY3V0YWJsZTo6aW5zdGFsbENvZGUoVk0mIHZtLCBD
b2RlQmxvY2sqIGdlbmVyaWNDb2RlQmxvY2ssIENvZGVUeXBlCiAgICAgaWYgKGdlbmVyaWNDb2Rl
QmxvY2spIHsKICAgICAgICAgUkVMRUFTRV9BU1NFUlQoZ2VuZXJpY0NvZGVCbG9jay0+b3duZXJF
eGVjdXRhYmxlKCkgPT0gdGhpcyk7CiAgICAgICAgIFJFTEVBU0VfQVNTRVJUKEpJVENvZGU6Omlz
RXhlY3V0YWJsZVNjcmlwdChnZW5lcmljQ29kZUJsb2NrLT5qaXRUeXBlKCkpKTsKLQotICAgICAg
ICBnZW5lcmljQ29kZUJsb2NrLT5tX2lzSmV0dGlzb25lZCA9IGZhbHNlOwogICAgICAgICAKICAg
ICAgICAgZGF0YUxvZ0xuSWYoT3B0aW9uczo6dmVyYm9zZU9TUigpLCAiSW5zdGFsbGluZyAiLCAq
Z2VuZXJpY0NvZGVCbG9jayk7CiAgICAgICAgIApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvVk1UcmFwcy5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9WTVRyYXBzLmNwcAppbmRleCAyNGVlNjgxNDM1M2JkOGYwOTM1OGFhNjU0YzgxMDRkMjI3NDFm
Y2QyLi5iMzQ0MDNiYzAyZTNiMmNiOTA1OWMwZGUzOTRkYjgxMzJkMjk0M2VkIDEwMDY0NAotLS0g
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9WTVRyYXBzLmNwcAorKysgYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9WTVRyYXBzLmNwcApAQCAtMzQ5LDcgKzM0OSw2IEBAIHZv
aWQgVk1UcmFwczo6aGFuZGxlVHJhcHMoVk1UcmFwczo6Qml0RmllbGQgbWFzaykKICAgICBhdXRv
IHNjb3BlID0gREVDTEFSRV9USFJPV19TQ09QRSh2bSk7CiAgICAgQVNTRVJUKG9ubHlDb250YWlu
c0FzeW5jRXZlbnRzKG1hc2spKTsKICAgICBBU1NFUlQobmVlZEhhbmRsaW5nKG1hc2spKTsKLSAg
ICBBU1NFUlQoIWhhc1RyYXBCaXQoRGVmZXJUcmFwSGFuZGxpbmcpKTsKIAogICAgIGlmIChpc0Rl
ZmVycmluZ1Rlcm1pbmF0aW9uKCkpCiAgICAgICAgIG1hc2sgJj0gfk5lZWRUZXJtaW5hdGlvbjsK
QEAgLTM5MSw3ICszOTAsNiBAQCB2b2lkIFZNVHJhcHM6OmhhbmRsZVRyYXBzKFZNVHJhcHM6OkJp
dEZpZWxkIG1hc2spCiAgICAgICAgICAgICByZXR1cm47CiAKICAgICAgICAgY2FzZSBOZWVkRXhj
ZXB0aW9uSGFuZGxpbmc6Ci0gICAgICAgIGNhc2UgRGVmZXJUcmFwSGFuZGxpbmc6CiAgICAgICAg
IGRlZmF1bHQ6CiAgICAgICAgICAgICBSRUxFQVNFX0FTU0VSVF9OT1RfUkVBQ0hFRCgpOwogICAg
ICAgICB9CkBAIC00MDQsNyArNDAyLDcgQEAgYXV0byBWTVRyYXBzOjp0YWtlVG9wUHJpb3JpdHlU
cmFwKFZNVHJhcHM6OkJpdEZpZWxkIG1hc2spIC0+IEV2ZW50CiAKICAgICAvLyBOb3RlOiB0aGUg
RXZlbnRCaXRTaGlmdCBpcyBhbHJlYWR5IHNvcnRlZCBpbiBoaWdoZXN0IHRvIGxvd2VzdCBwcmlv
cml0eQogICAgIC8vIGkuZS4gYSBiaXQgc2hpZnQgb2YgMCBpcyBoaWdoZXN0IHByaW9yaXR5LCBl
dGMuCi0gICAgZm9yICh1bnNpZ25lZCBpID0gMDsgaSA8IE51bWJlck9mRXZlbnRzOyArK2kpIHsK
KyAgICBmb3IgKGludCBpID0gMDsgaSA8IE51bWJlck9mRXZlbnRzOyArK2kpIHsKICAgICAgICAg
RXZlbnQgZXZlbnQgPSBzdGF0aWNfY2FzdDxFdmVudD4oMSA8PCBpKTsKICAgICAgICAgaWYgKGhh
c1RyYXBCaXQoZXZlbnQsIG1hc2spKSB7CiAgICAgICAgICAgICBjbGVhclRyYXBCaXQoZXZlbnQp
OwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvVk1UcmFwcy5oIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvVk1UcmFwcy5oCmluZGV4IGZhMzRiNGYzMmYy
MmE2NGNiYWZlNWZjNzlkYjNhMTgxNzViNjZiZGEuLjhhN2YyODAyM2M3ZDFiMzc2N2YwZTc5MTAw
NmI4ZDAyMGE2NTc2ZWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L1ZNVHJhcHMuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9WTVRyYXBzLmgK
QEAgLTE0OSwyMSArMTQ5LDE1IEBAIHB1YmxpYzoKICAgICB2KE5lZWRUZXJtaW5hdGlvbikgXAog
ICAgIHYoTmVlZFdhdGNoZG9nQ2hlY2spIFwKICAgICB2KE5lZWREZWJ1Z2dlckJyZWFrKSBcCi0g
ICAgdihOZWVkRXhjZXB0aW9uSGFuZGxpbmcpIFwKLSAgICB2KERlZmVyVHJhcEhhbmRsaW5nKSAv
LyBNdXN0IGNvbWUgbGFzdCBpbiB0aGUgZW51bS4gVGhpcyBkZWZlcnMgYWxsIGV2ZW50cyBleGNl
cHQgTmVlZEV4Y2VwdGlvbkhhbmRsaW5nLgorICAgIHYoTmVlZEV4Y2VwdGlvbkhhbmRsaW5nKQog
CiAjZGVmaW5lIERFQ0xBUkVfVk1UUkFQU19FVkVOVF9CSVRfU0hJRlQoZXZlbnRfXykgIGV2ZW50
X18jI0JpdFNoaWZ0LAogICAgIGVudW0gRXZlbnRCaXRTaGlmdCB7CiAgICAgICAgIEZPUl9FQUNI
X1ZNVFJBUFNfRVZFTlRTKERFQ0xBUkVfVk1UUkFQU19FVkVOVF9CSVRfU0hJRlQpCisgICAgICAg
IE51bWJlck9mRXZlbnRzLCAvLyBUaGlzIGVudHJ5IG11c3QgYmUgbGFzdCBpbiB0aGlzIGxpc3Qu
CiAgICAgfTsKICN1bmRlZiBERUNMQVJFX1ZNVFJBUFNfRVZFTlRfQklUX1NISUZUCiAKLQotI2Rl
ZmluZSBDT1VOVF9FVkVOVChldmVudCkgKyAxCi0gICAgc3RhdGljIGNvbnN0ZXhwciBCaXRGaWVs
ZCBOdW1iZXJPZkV2ZW50cyA9IEZPUl9FQUNIX1ZNVFJBUFNfRVZFTlRTKENPVU5UX0VWRU5UKSAt
IDE7IC8vIERvbid0IGNvdW50IERlZmVyVHJhcEhhbmRsaW5nLgotICAgIHN0YXRpYyBjb25zdGV4
cHIgQml0RmllbGQgTnVtYmVyT2ZFdmVudHNJbmNsdWRpbmdEZWZlciA9IEZPUl9FQUNIX1ZNVFJB
UFNfRVZFTlRTKENPVU5UX0VWRU5UKTsKLSN1bmRlZiBDT1VOVF9FVkVOVAotCiAgICAgdXNpbmcg
RXZlbnQgPSBCaXRGaWVsZDsKIAogI2RlZmluZSBERUNMQVJFX1ZNVFJBUFNfRVZFTlQoZXZlbnRf
XykgXApAQCAtMTc2LDkgKzE3MCw4IEBAIHB1YmxpYzoKIAogICAgIHN0YXRpYyBjb25zdGV4cHIg
RXZlbnQgTm9FdmVudCA9IDA7CiAKLSAgICBzdGF0aWNfYXNzZXJ0KE51bWJlck9mRXZlbnRzSW5j
bHVkaW5nRGVmZXIgPD0gYml0c0luQml0RmllbGQpOworICAgIHN0YXRpY19hc3NlcnQoTnVtYmVy
T2ZFdmVudHMgPD0gYml0c0luQml0RmllbGQpOwogICAgIHN0YXRpYyBjb25zdGV4cHIgQml0Rmll
bGQgQWxsRXZlbnRzID0gKDF1bGwgPDwgTnVtYmVyT2ZFdmVudHMpIC0gMTsKLSAgICBzdGF0aWMg
Y29uc3RleHByIEJpdEZpZWxkIEFsbEV2ZW50c0luY2x1ZGluZ0RlZmVyID0gKDF1bGwgPDwgTnVt
YmVyT2ZFdmVudHNJbmNsdWRpbmdEZWZlcikgLSAxOwogICAgIHN0YXRpYyBjb25zdGV4cHIgQml0
RmllbGQgQXN5bmNFdmVudHMgPSBBbGxFdmVudHMgJiB+TmVlZEV4Y2VwdGlvbkhhbmRsaW5nOwog
ICAgIHN0YXRpYyBjb25zdGV4cHIgQml0RmllbGQgTm9uRGVidWdnZXJFdmVudHMgPSBBbGxFdmVu
dHMgJiB+TmVlZERlYnVnZ2VyQnJlYWs7CiAgICAgc3RhdGljIGNvbnN0ZXhwciBCaXRGaWVsZCBO
b25EZWJ1Z2dlckFzeW5jRXZlbnRzID0gQXN5bmNFdmVudHMgJiB+TmVlZERlYnVnZ2VyQnJlYWs7
CkBAIC0xOTUsMTMgKzE4OCw3IEBAIHB1YmxpYzoKIAogICAgIHZvaWQgd2lsbERlc3Ryb3lWTSgp
OwogCi0gICAgQUxXQVlTX0lOTElORSBib29sIG5lZWRIYW5kbGluZyhCaXRGaWVsZCBtYXNrKSBj
b25zdAotICAgIHsKLSAgICAgICAgYXV0byBtYXNrZWRWYWx1ZSA9IG1fdHJhcEJpdHMubG9hZFJl
bGF4ZWQoKSAmIChtYXNrIHwgRGVmZXJUcmFwSGFuZGxpbmcpOwotICAgICAgICBpZiAoVU5MSUtF
TFkobWFza2VkVmFsdWUpKQotICAgICAgICAgICAgcmV0dXJuIChtYXNrZWRWYWx1ZSAmIE5lZWRF
eGNlcHRpb25IYW5kbGluZykgfHwgIShtYXNrZWRWYWx1ZSAmIERlZmVyVHJhcEhhbmRsaW5nKTsK
LSAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgIH0KKyAgICBib29sIG5lZWRIYW5kbGluZyhCaXRG
aWVsZCBtYXNrKSBjb25zdCB7IHJldHVybiBtX3RyYXBCaXRzLmxvYWRSZWxheGVkKCkgJiBtYXNr
OyB9CiAgICAgdm9pZCogdHJhcEJpdHNBZGRyZXNzKCkgeyByZXR1cm4gJm1fdHJhcEJpdHM7IH0K
IAogICAgIGVudW0gY2xhc3MgRGVmZXJBY3Rpb24gewpAQCAtMjE5LDEwICsyMDYsNiBAQCBwdWJs
aWM6CiAgICAgICAgICAgICBpbnZhbGlkYXRlQ29kZUJsb2Nrc09uU3RhY2soKTsKICAgICB9CiAK
LSAgICBib29sIGhhc1RyYXBCaXQoRXZlbnQgZXZlbnQpCi0gICAgewotICAgICAgICByZXR1cm4g
bV90cmFwQml0cy5sb2FkUmVsYXhlZCgpICYgZXZlbnQ7Ci0gICAgfQogICAgIGJvb2wgaGFzVHJh
cEJpdChFdmVudCBldmVudCwgQml0RmllbGQgbWFzaykKICAgICB7CiAgICAgICAgIEJpdEZpZWxk
IG1hc2tlZEJpdHMgPSBldmVudCAmIG1hc2s7CkBAIC0yMzEsNyArMjE0LDcgQEAgcHVibGljOgog
ICAgIHZvaWQgY2xlYXJUcmFwQml0KEV2ZW50IGV2ZW50KSB7IG1fdHJhcEJpdHMuZXhjaGFuZ2VB
bmQofmV2ZW50KTsgfQogICAgIHZvaWQgc2V0VHJhcEJpdChFdmVudCBldmVudCkKICAgICB7Ci0g
ICAgICAgIEFTU0VSVCgoZXZlbnQgJiB+QWxsRXZlbnRzSW5jbHVkaW5nRGVmZXIpID09IDApOwor
ICAgICAgICBBU1NFUlQoKGV2ZW50ICYgfkFsbEV2ZW50cykgPT0gMCk7CiAgICAgICAgIG1fdHJh
cEJpdHMuZXhjaGFuZ2VPcihldmVudCk7CiAgICAgfQogCkBAIC0yODMsMTMgKzI2Niw0IEBAIHBy
aXZhdGU6CiAgICAgZnJpZW5kIGNsYXNzIFNpZ25hbFNlbmRlcjsKIH07CiAKLWNsYXNzIERlZmVy
VHJhcHMgewotcHVibGljOgotICAgIERlZmVyVHJhcHMoVk0mKTsKLSAgICB+RGVmZXJUcmFwcygp
OwotcHJpdmF0ZToKLSAgICBWTVRyYXBzJiBtX3RyYXBzOwotICAgIGJvb2wgbV9pc0FjdGl2ZTsK
LX07Ci0KIH0gLy8gbmFtZXNwYWNlIEpTQwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvVk1UcmFwc0lubGluZXMuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL1ZNVHJhcHNJbmxpbmVzLmgKaW5kZXggYTRhNDNkZmNhMWYwMzhhMzliOTZmYWVhNjdkN2Ux
YmJlMDIwNzEyMS4uZTdhNzdjOWVlOTc5OGE1MmMxODExNGU4MDZkMWQ3OTIyMzNkZGQ5YSAxMDA2
NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvVk1UcmFwc0lubGluZXMuaAor
KysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9WTVRyYXBzSW5saW5lcy5oCkBAIC01
MCwxOCArNTAsNCBAQCBpbmxpbmUgdm9pZCBWTVRyYXBzOjp1bmRvRGVmZXJUZXJtaW5hdGlvbihE
ZWZlckFjdGlvbiBkZWZlckFjdGlvbikKICAgICAgICAgdW5kb0RlZmVyVGVybWluYXRpb25TbG93
KGRlZmVyQWN0aW9uKTsKIH0KIAotQUxXQVlTX0lOTElORSBEZWZlclRyYXBzOjpEZWZlclRyYXBz
KFZNJiB2bSkKLSAgICA6IG1fdHJhcHModm0udHJhcHMoKSkKLSAgICAsIG1faXNBY3RpdmUoIW1f
dHJhcHMuaGFzVHJhcEJpdChWTVRyYXBzOjpEZWZlclRyYXBIYW5kbGluZykpCi17Ci0gICAgaWYg
KG1faXNBY3RpdmUpCi0gICAgICAgIG1fdHJhcHMuc2V0VHJhcEJpdChWTVRyYXBzOjpEZWZlclRy
YXBIYW5kbGluZyk7Ci19Ci0KLUFMV0FZU19JTkxJTkUgRGVmZXJUcmFwczo6fkRlZmVyVHJhcHMo
KQotewotICAgIGlmIChtX2lzQWN0aXZlKQotICAgICAgICBtX3RyYXBzLmNsZWFyVHJhcEJpdChW
TVRyYXBzOjpEZWZlclRyYXBIYW5kbGluZyk7Ci19Ci0KIH0gLy8gbmFtZXNwYWNlIEpTQwo=
</data>

          </attachment>
      

    </bug>

</bugzilla>