<?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>43233</bug_id>
          
          <creation_ts>2010-07-29 21:33:04 -0700</creation_ts>
          <short_desc>REGRESSION(r64313): Some Chromium bots are not happy with it for some unknown reason. (Requested by dumi on #webkit).</short_desc>
          <delta_ts>2010-07-29 23:14:29 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Other</rep_platform>
          <op_sys>OS X 10.5</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>42843</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="WebKit Review Bot">webkit.review.bot</reporter>
          <assigned_to name="WebKit Review Bot">webkit.review.bot</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>dumi</cc>
    
    <cc>levin</cc>
    
    <cc>mrobinson</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>258056</commentid>
    <comment_count>0</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-07-29 21:33:04 -0700</bug_when>
    <thetext>http://trac.webkit.org/changeset/64313 broke the build:
Some Chromium bots are not happy with it for some unknown reason. (Requested by dumi on #webkit).

This is an automatic bug report generated by the sheriff-bot. 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 case pain.

&quot;Only you can prevent forest fires.&quot; -- Smokey the Bear</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>258057</commentid>
    <comment_count>1</comment_count>
      <attachid>63030</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-07-29 21:33:24 -0700</bug_when>
    <thetext>Created attachment 63030
ROLLOUT of r64313

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 --ignore-builders

where ATTACHMENT_ID is the ID of this attachment.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>258061</commentid>
    <comment_count>2</comment_count>
      <attachid>63030</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-07-29 22:10:01 -0700</bug_when>
    <thetext>Comment on attachment 63030
ROLLOUT of r64313

Clearing flags on attachment: 63030

Committed r64334: &lt;http://trac.webkit.org/changeset/64334&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>258062</commentid>
    <comment_count>3</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-07-29 22:10:05 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>258066</commentid>
    <comment_count>4</comment_count>
    <who name="Martin Robinson">mrobinson</who>
    <bug_when>2010-07-29 23:14:29 -0700</bug_when>
    <thetext>Committed r64335: &lt;http://trac.webkit.org/changeset/64335&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>63030</attachid>
            <date>2010-07-29 21:33:24 -0700</date>
            <delta_ts>2010-07-29 22:10:00 -0700</delta_ts>
            <desc>ROLLOUT of r64313</desc>
            <filename>bug-43233-20100730043322.patch</filename>
            <type>text/plain</type>
            <size>35350</size>
            <attacher name="WebKit Review Bot">webkit.review.bot</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZyBiL0phdmFTY3JpcHRDb3JlL0No
YW5nZUxvZwppbmRleCBkNWJiODBkMzQ0NmU4ZjgwODFkYzdmNGU5ZGExM2E0Njk0NmYyMjY1Li42
ODRkMWI0YmViZmIyZTJmZGYxMTY3ZWFkYjYxODk0ZjM5MDRmYWQyIDEwMDY0NAotLS0gYS9KYXZh
U2NyaXB0Q29yZS9DaGFuZ2VMb2cKKysrIGIvSmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCkBAIC0x
LDUgKzEsMjIgQEAKIDIwMTAtMDctMjkgIFNoZXJpZmYgQm90ICA8d2Via2l0LnJldmlldy5ib3RA
Z21haWwuY29tPgogCisgICAgICAgIFVucmV2aWV3ZWQsIHJvbGxpbmcgb3V0IHI2NDMxMy4KKyAg
ICAgICAgaHR0cDovL3RyYWMud2Via2l0Lm9yZy9jaGFuZ2VzZXQvNjQzMTMKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTQzMjMzCisKKyAgICAgICAgU29t
ZSBDaHJvbWl1bSBib3RzIGFyZSBub3QgaGFwcHkgd2l0aCBpdCBmb3Igc29tZSB1bmtub3duCisg
ICAgICAgIHJlYXNvbi4gKFJlcXVlc3RlZCBieSBkdW1pIG9uICN3ZWJraXQpLgorCisgICAgICAg
ICogSmF2YVNjcmlwdENvcmUuZXhwOgorICAgICAgICAqIEphdmFTY3JpcHRDb3JlLnZjcHJvai9K
YXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS5kZWY6CisgICAgICAgICogd3RmL1RocmVhZGlu
Zy5oOgorICAgICAgICAqIHd0Zi9UaHJlYWRpbmdQdGhyZWFkcy5jcHA6CisgICAgICAgICogd3Rm
L1RocmVhZGluZ1dpbi5jcHA6CisgICAgICAgICogd3RmL2d0ay9UaHJlYWRpbmdHdGsuY3BwOgor
ICAgICAgICAqIHd0Zi9xdC9UaHJlYWRpbmdRdC5jcHA6CisKKzIwMTAtMDctMjkgIFNoZXJpZmYg
Qm90ICA8d2Via2l0LnJldmlldy5ib3RAZ21haWwuY29tPgorCiAgICAgICAgIFVucmV2aWV3ZWQs
IHJvbGxpbmcgb3V0IHI2NDMwMi4KICAgICAgICAgaHR0cDovL3RyYWMud2Via2l0Lm9yZy9jaGFu
Z2VzZXQvNjQzMDIKICAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTQzMjIzCmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS5leHAg
Yi9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS5leHAKaW5kZXggYjY2ZDhkZmIxMmQzYzdh
MDk4MDZiOWFmNzQ0MWU1YzQxMjMzMmJhMy4uOTNlMDFlMmE2MWVkN2FkYWQxNjA4NWMwNmIxMmEy
ZWExYTZlZjk2YyAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUuZXhw
CisrKyBiL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLmV4cApAQCAtMzY3LDcgKzM2Nyw2
IEBAIF9fWk4zV1RGNU11dGV4NnVubG9ja0V2CiBfX1pOM1dURjVNdXRleDd0cnlMb2NrRXYKIF9f
Wk4zV1RGNU11dGV4QzFFdgogX19aTjNXVEY1TXV0ZXhEMUV2Ci1fX1pOM1dURjV5aWVsZEV2CiBf
X1pOM1dURjZzdHJ0b2RFUEtjUFBjCiBfX1pOM1dURjdDU3RyaW5nMTFtdXRhYmxlRGF0YUV2CiBf
X1pOM1dURjdDU3RyaW5nMTZuZXdVbmluaXRpYWxpemVkRW1SUGMKZGlmZiAtLWdpdCBhL0phdmFT
Y3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnZjcHJvai9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0
Q29yZS5kZWYgYi9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS52Y3Byb2ovSmF2YVNjcmlw
dENvcmUvSmF2YVNjcmlwdENvcmUuZGVmCmluZGV4IGE0Nzg3MjVhYThmMjQ3YzVlNWU2ODM0Zjk5
MWM5NTM0ODVlYjc5NzAuLmE2ZmYxYzIyYTlkZGRmNTYxYjQ5N2FkNThiNTA4MmZiOGU4ZWMyNWQg
MTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnZjcHJvai9KYXZhU2Ny
aXB0Q29yZS9KYXZhU2NyaXB0Q29yZS5kZWYKKysrIGIvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlw
dENvcmUudmNwcm9qL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLmRlZgpAQCAtMzMwLDcg
KzMzMCw2IEBAIEVYUE9SVFMKICAgICA/d2FpdEBUaHJlYWRDb25kaXRpb25AV1RGQEBRQUVYQUFW
TXV0ZXhAMkBAWgogICAgID93YWl0Rm9yVGhyZWFkQ29tcGxldGlvbkBXVEZAQFlBSElQQVBBWEBa
CiAgICAgP3dyaXRhYmxlQFByb3BlcnR5RGVzY3JpcHRvckBKU0NAQFFCRV9OWFoKLSAgICA/eWll
bGRAV1RGQEBZQVhYWgogICAgIFdURkxvZwogICAgIFdURkxvZ1ZlcmJvc2UKICAgICBXVEZSZXBv
cnRBcmd1bWVudEFzc2VydGlvbkZhaWx1cmUKZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL3d0
Zi9UaHJlYWRpbmcuaCBiL0phdmFTY3JpcHRDb3JlL3d0Zi9UaHJlYWRpbmcuaAppbmRleCAwNDQz
NjVmOTU3ZDBkMGMxODE4ZGM3YzFlM2NjZTBlMDk1ZTA3NjVkLi40MTVhOGZjODNmNmQ4MTU3ZWE0
YzhhMzk2MDYyYzAzZWI0NDRhNjcwIDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS93dGYvVGhy
ZWFkaW5nLmgKKysrIGIvSmF2YVNjcmlwdENvcmUvd3RmL1RocmVhZGluZy5oCkBAIC0xMDEsNyAr
MTAxLDYgQEAgVGhyZWFkSWRlbnRpZmllciBjdXJyZW50VGhyZWFkKCk7CiBpbnQgd2FpdEZvclRo
cmVhZENvbXBsZXRpb24oVGhyZWFkSWRlbnRpZmllciwgdm9pZCoqKTsKIHZvaWQgZGV0YWNoVGhy
ZWFkKFRocmVhZElkZW50aWZpZXIpOwogCi12b2lkIHlpZWxkKCk7CiAKIHZvaWQgbG9ja0F0b21p
Y2FsbHlJbml0aWFsaXplZFN0YXRpY011dGV4KCk7CiB2b2lkIHVubG9ja0F0b21pY2FsbHlJbml0
aWFsaXplZFN0YXRpY011dGV4KCk7CkBAIC0xMTMsNiArMTEyLDUgQEAgdXNpbmcgV1RGOjpjcmVh
dGVUaHJlYWQ7CiB1c2luZyBXVEY6OmN1cnJlbnRUaHJlYWQ7CiB1c2luZyBXVEY6OmRldGFjaFRo
cmVhZDsKIHVzaW5nIFdURjo6d2FpdEZvclRocmVhZENvbXBsZXRpb247Ci11c2luZyBXVEY6Onlp
ZWxkOwogCiAjZW5kaWYgLy8gVGhyZWFkaW5nX2gKZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3Jl
L3d0Zi9UaHJlYWRpbmdQdGhyZWFkcy5jcHAgYi9KYXZhU2NyaXB0Q29yZS93dGYvVGhyZWFkaW5n
UHRocmVhZHMuY3BwCmluZGV4IDk4Mjg2ZDMwNDY1NzFjM2M4NmZlY2E1MWYxOGM1NmE1YzM5NTIz
MTQuLmQwMWNjNGFkNmM1NzY4OWRlNzZjOWI4NGRmZmJiZjZiMzVjNzVlZmIgMTAwNjQ0Ci0tLSBh
L0phdmFTY3JpcHRDb3JlL3d0Zi9UaHJlYWRpbmdQdGhyZWFkcy5jcHAKKysrIGIvSmF2YVNjcmlw
dENvcmUvd3RmL1RocmVhZGluZ1B0aHJlYWRzLmNwcApAQCAtNDQsNyArNDQsNiBAQAogCiAjaWYg
IUNPTVBJTEVSKE1TVkMpCiAjaW5jbHVkZSA8bGltaXRzLmg+Ci0jaW5jbHVkZSA8c2NoZWQuaD4K
ICNpbmNsdWRlIDxzeXMvdGltZS5oPgogI2VuZGlmCiAKQEAgLTIyMiwxMSArMjIxLDYgQEAgdm9p
ZCBkZXRhY2hUaHJlYWQoVGhyZWFkSWRlbnRpZmllciB0aHJlYWRJRCkKICAgICBwdGhyZWFkX2Rl
dGFjaChwdGhyZWFkSGFuZGxlKTsKIH0KIAotdm9pZCB5aWVsZCgpCi17Ci0gICAgc2NoZWRfeWll
bGQoKTsKLX0KLQogVGhyZWFkSWRlbnRpZmllciBjdXJyZW50VGhyZWFkKCkKIHsKICAgICBUaHJl
YWRJZGVudGlmaWVyIGlkID0gVGhyZWFkSWRlbnRpZmllckRhdGE6OmlkZW50aWZpZXIoKTsKZGlm
ZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL3d0Zi9UaHJlYWRpbmdXaW4uY3BwIGIvSmF2YVNjcmlw
dENvcmUvd3RmL1RocmVhZGluZ1dpbi5jcHAKaW5kZXggYTI5ZmJiYjkyMjljMDgzMWZmOWY0ZjEx
NjNlZGMwOTZkYWQxYjc3My4uYzE2YmU1YWE4NmRlM2M4YjFhZDdkZTkyYmJmZTE5NTY4YmQ3YThl
ZSAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvd3RmL1RocmVhZGluZ1dpbi5jcHAKKysrIGIv
SmF2YVNjcmlwdENvcmUvd3RmL1RocmVhZGluZ1dpbi5jcHAKQEAgLTI2NiwxMSArMjY2LDYgQEAg
dm9pZCBkZXRhY2hUaHJlYWQoVGhyZWFkSWRlbnRpZmllciB0aHJlYWRJRCkKICAgICBjbGVhclRo
cmVhZEhhbmRsZUZvcklkZW50aWZpZXIodGhyZWFkSUQpOwogfQogCi12b2lkIHlpZWxkKCkKLXsK
LSAgICA6OlNsZWVwKDEpOwotfQotCiBUaHJlYWRJZGVudGlmaWVyIGN1cnJlbnRUaHJlYWQoKQog
ewogICAgIHJldHVybiBzdGF0aWNfY2FzdDxUaHJlYWRJZGVudGlmaWVyPihHZXRDdXJyZW50VGhy
ZWFkSWQoKSk7CmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS93dGYvZ3RrL1RocmVhZGluZ0d0
ay5jcHAgYi9KYXZhU2NyaXB0Q29yZS93dGYvZ3RrL1RocmVhZGluZ0d0ay5jcHAKaW5kZXggODYz
ZWU4MWQ3Y2EzYzMwMjhkNWU4NWRlNDEwMzY2ZDUyZGU0NWI4OS4uOTgxZWFjYjE4OWM0ODI2Y2I5
NmQ2YjJhNWNkYTVlZDczYjVmMmMzZiAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvd3RmL2d0
ay9UaHJlYWRpbmdHdGsuY3BwCisrKyBiL0phdmFTY3JpcHRDb3JlL3d0Zi9ndGsvVGhyZWFkaW5n
R3RrLmNwcApAQCAtMTY3LDExICsxNjcsNiBAQCBUaHJlYWRJZGVudGlmaWVyIGN1cnJlbnRUaHJl
YWQoKQogICAgIHJldHVybiBlc3RhYmxpc2hJZGVudGlmaWVyRm9yVGhyZWFkKGN1cnJlbnRUaHJl
YWQpOwogfQogCi12b2lkIHlpZWxkKCkKLXsKLSAgICBnX3RocmVhZF95aWVsZCgpOwotfQotCiBN
dXRleDo6TXV0ZXgoKQogICAgIDogbV9tdXRleChnX211dGV4X25ldygpKQogewpkaWZmIC0tZ2l0
IGEvSmF2YVNjcmlwdENvcmUvd3RmL3F0L1RocmVhZGluZ1F0LmNwcCBiL0phdmFTY3JpcHRDb3Jl
L3d0Zi9xdC9UaHJlYWRpbmdRdC5jcHAKaW5kZXggODA0MWRlYTUzMWEzYTA5OTVhNTUxNTAxOTQ4
ZTc1YTI3YTJlZTRiZS4uN2Y4MTY0NmFmNTVhY2RmY2I2NzYzZDhiMDM2NGY3NjllZTYwZjE0MiAx
MDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvd3RmL3F0L1RocmVhZGluZ1F0LmNwcAorKysgYi9K
YXZhU2NyaXB0Q29yZS93dGYvcXQvVGhyZWFkaW5nUXQuY3BwCkBAIC0yMDgsMTEgKzIwOCw2IEBA
IFRocmVhZElkZW50aWZpZXIgY3VycmVudFRocmVhZCgpCiAgICAgcmV0dXJuIGVzdGFibGlzaElk
ZW50aWZpZXJGb3JUaHJlYWQoY3VycmVudFRocmVhZCk7CiB9CiAKLXZvaWQgeWllbGQoKQotewot
ICAgIFFUaHJlYWQ6OnlpZWxkQ3VycmVudFRocmVhZCgpOwotfQotCiBNdXRleDo6TXV0ZXgoKQog
ICAgIDogbV9tdXRleChuZXcgUU11dGV4KCkpCiB7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9D
aGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggMzNlOTg3YzVmY2ZmNGM0ZWJk
MDI3ZDBjZTc2Y2RkNzcyZmRhZTY3Yy4uZmQ4NTkwMmVhMGEyMzAzM2YzODdiYmU4OWQ1NGQ5MjQ0
MjQ2MDczYyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRl
c3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE5IEBACisyMDEwLTA3LTI5ICBTaGVyaWZmIEJvdCAg
PHdlYmtpdC5yZXZpZXcuYm90QGdtYWlsLmNvbT4KKworICAgICAgICBVbnJldmlld2VkLCByb2xs
aW5nIG91dCByNjQzMTMuCisgICAgICAgIGh0dHA6Ly90cmFjLndlYmtpdC5vcmcvY2hhbmdlc2V0
LzY0MzEzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00
MzIzMworCisgICAgICAgIFNvbWUgQ2hyb21pdW0gYm90cyBhcmUgbm90IGhhcHB5IHdpdGggaXQg
Zm9yIHNvbWUgdW5rbm93bgorICAgICAgICByZWFzb24uIChSZXF1ZXN0ZWQgYnkgZHVtaSBvbiAj
d2Via2l0KS4KKworICAgICAgICAqIGZhc3Qvd29ya2Vycy9zdG9yYWdlL2ludGVycnVwdC1kYXRh
YmFzZS1leHBlY3RlZC50eHQ6IFJlbW92ZWQuCisgICAgICAgICogZmFzdC93b3JrZXJzL3N0b3Jh
Z2UvaW50ZXJydXB0LWRhdGFiYXNlLXN5bmMtZXhwZWN0ZWQudHh0OiBSZW1vdmVkLgorICAgICAg
ICAqIGZhc3Qvd29ya2Vycy9zdG9yYWdlL2ludGVycnVwdC1kYXRhYmFzZS1zeW5jLmh0bWw6IFJl
bW92ZWQuCisgICAgICAgICogZmFzdC93b3JrZXJzL3N0b3JhZ2UvaW50ZXJydXB0LWRhdGFiYXNl
Lmh0bWw6IFJlbW92ZWQuCisgICAgICAgICogZmFzdC93b3JrZXJzL3N0b3JhZ2UvcmVzb3VyY2Vz
L2ludGVycnVwdC1kYXRhYmFzZS1zeW5jLmpzOiBSZW1vdmVkLgorICAgICAgICAqIGZhc3Qvd29y
a2Vycy9zdG9yYWdlL3Jlc291cmNlcy9pbnRlcnJ1cHQtZGF0YWJhc2UuanM6IFJlbW92ZWQuCisK
IDIwMTAtMDctMjkgIFZpY3RvciBXYW5nICA8dmljdG9yd0BjaHJvbWl1bS5vcmc+CiAKICAgICAg
ICAgVW5yZXZpZXdlZC4gVXBkYXRlIGNocm9taXVtIHRlc3QgZXhwZWN0YXRpb25zIGZvciB0ZXN0
OgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC93b3JrZXJzL3N0b3JhZ2UvaW50ZXJydXB0
LWRhdGFiYXNlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3Qvd29ya2Vycy9zdG9yYWdl
L2ludGVycnVwdC1kYXRhYmFzZS1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDQ2MGE3NTZmMTgyNzk0ZTFmMjMxMzhkNjMwMTQ1Mjg3NzdhYzJkNGUuLjAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC93
b3JrZXJzL3N0b3JhZ2UvaW50ZXJydXB0LWRhdGFiYXNlLWV4cGVjdGVkLnR4dAorKysgL2Rldi9u
dWxsCkBAIC0xLDMgKzAsMCBAQAotVGhpcyB0ZXN0IG1ha2VzIHN1cmUgdGhhdCBhbGwgYXN5bmMg
ZGF0YWJhc2Ugb3BlcmF0aW9ucyBhcmUgaW1tZWRpYXRlbHkgaW50ZXJydXB0ZWQgd2hlbiB0aGUg
d29ya2VyIG5lZWRzIHRvIHRlcm1pbmF0ZS4KLVBBU1M6IGRhdGFiYXNlIG9wZXJhdGlvbnMgaW50
ZXJydXB0ZWQuCi0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3Qvd29ya2Vycy9zdG9yYWdl
L2ludGVycnVwdC1kYXRhYmFzZS1zeW5jLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3Qv
d29ya2Vycy9zdG9yYWdlL2ludGVycnVwdC1kYXRhYmFzZS1zeW5jLWV4cGVjdGVkLnR4dApkZWxl
dGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMzEzOWRkY2U5M2E3MDhlM2RkNTYzNmU4YmQ4N2Yw
NTM0MDAzODg3Yi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0g
YS9MYXlvdXRUZXN0cy9mYXN0L3dvcmtlcnMvc3RvcmFnZS9pbnRlcnJ1cHQtZGF0YWJhc2Utc3lu
Yy1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSw1ICswLDAgQEAKLUNPTlNPTEUgTUVT
U0FHRTogbGluZSA3OiBEQVRBQkFTRV9FUlI6IERPTSBTUUwgRXhjZXB0aW9uIDE6IFRoZSBvcGVy
YXRpb24gZmFpbGVkIGZvciBzb21lIHJlYXNvbiByZWxhdGVkIHRvIHRoZSBkYXRhYmFzZS4KLUNP
TlNPTEUgTUVTU0FHRTogbGluZSAxMTogVU5LTk9XTl9FUlI6IERPTSBTUUwgRXhjZXB0aW9uIDA6
IFRoZSBvcGVyYXRpb24gZmFpbGVkIGZvciByZWFzb25zIHVucmVsYXRlZCB0byB0aGUgZGF0YWJh
c2UuCi1UaGlzIHRlc3QgbWFrZXMgc3VyZSB0aGF0IGFsbCBzeW5jIGRhdGFiYXNlIG9wZXJhdGlv
bnMgYXJlIGltbWVkaWF0ZWx5IGludGVycnVwdGVkIHdoZW4gdGhlIHdvcmtlciBuZWVkcyB0byB0
ZXJtaW5hdGUuCi1QQVNTOiBkYXRhYmFzZSBvcGVyYXRpb25zIGludGVycnVwdGVkLgotCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3dvcmtlcnMvc3RvcmFnZS9pbnRlcnJ1cHQtZGF0YWJh
c2Utc3luYy5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC93b3JrZXJzL3N0b3JhZ2UvaW50ZXJydXB0
LWRhdGFiYXNlLXN5bmMuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZGVhYmVl
MDA4ZWVmODRkNWE2MjNkNzcxYjcxMWI5NjkzM2RkYmRhMC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L3dvcmtlcnMvc3RvcmFn
ZS9pbnRlcnJ1cHQtZGF0YWJhc2Utc3luYy5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsNDggKzAs
MCBAQAotPGh0bWw+Ci08aGVhZD4KLTxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvd29ya2VyLXV0
aWwuanMiPjwvc2NyaXB0PgotPHNjcmlwdD4KLXZhciB3b3JrZXI7Ci0KLWZ1bmN0aW9uIGxvZyht
ZXNzYWdlKQotewotICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb25zb2xlIikuaW5uZXJI
VE1MICs9IG1lc3NhZ2UgKyAiPGJyPiI7Ci19Ci0KLWZ1bmN0aW9uIGZpbmlzaFRlc3QoKQotewot
ICAgIGxvZygiUEFTUzogZGF0YWJhc2Ugb3BlcmF0aW9ucyBpbnRlcnJ1cHRlZC4iKTsKLSAgICBp
ZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKQotICAgICAgICBsYXlvdXRUZXN0Q29udHJv
bGxlci5ub3RpZnlEb25lKCk7Ci19Ci0KLWZ1bmN0aW9uIHRlcm1pbmF0ZVdvcmtlcigpCi17Ci0g
ICAgd29ya2VyLnRlcm1pbmF0ZSgpOwotICAgIHdhaXRVbnRpbFdvcmtlclRocmVhZHNFeGl0KGZp
bmlzaFRlc3QpCi19Ci0KLWZ1bmN0aW9uIHJ1blRlc3QoKQotewotICAgIGlmICh3aW5kb3cubGF5
b3V0VGVzdENvbnRyb2xsZXIpIHsKLSAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuZHVtcEFz
VGV4dCgpOwotICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci53YWl0VW50aWxEb25lKCk7Ci0g
ICAgfQotCi0gICAgd29ya2VyID0gbmV3IFdvcmtlcigncmVzb3VyY2VzL2ludGVycnVwdC1kYXRh
YmFzZS1zeW5jLmpzJyk7Ci0gICAgd29ya2VyLm9ubWVzc2FnZSA9IGZ1bmN0aW9uKGV2ZW50KSB7
Ci0gICAgICAgIGlmIChldmVudC5kYXRhID09ICJ0ZXJtaW5hdGUiKQotICAgICAgICAgICAgdGVy
bWluYXRlV29ya2VyKCk7Ci0gICAgICAgIGVsc2UKLSAgICAgICAgICAgIGxvZyhldmVudC5kYXRh
KTsKLSAgICB9OwotfQotPC9zY3JpcHQ+Ci08L2hlYWQ+Ci0KLTxib2R5IG9ubG9hZD0icnVuVGVz
dCgpIj4KLVRoaXMgdGVzdCBtYWtlcyBzdXJlIHRoYXQgYWxsIHN5bmMgZGF0YWJhc2Ugb3BlcmF0
aW9ucyBhcmUgaW1tZWRpYXRlbHkgaW50ZXJydXB0ZWQgd2hlbiB0aGUgd29ya2VyIG5lZWRzIHRv
IHRlcm1pbmF0ZS4KLTxwcmUgaWQ9ImNvbnNvbGUiPgotPC9wcmU+Ci08L2JvZHk+Ci08L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3dvcmtlcnMvc3RvcmFnZS9pbnRlcnJ1cHQt
ZGF0YWJhc2UuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3Qvd29ya2Vycy9zdG9yYWdlL2ludGVycnVw
dC1kYXRhYmFzZS5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAyZmY0ZDQ1NWYw
MTBkZjZlMzhlYWQ3ZmUyYTA4NGYyZTcwMmM1NDVmLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2Zhc3Qvd29ya2Vycy9zdG9yYWdlL2lu
dGVycnVwdC1kYXRhYmFzZS5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsNDggKzAsMCBAQAotPGh0
bWw+Ci08aGVhZD4KLTxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvd29ya2VyLXV0aWwuanMiPjwv
c2NyaXB0PgotPHNjcmlwdD4KLXZhciB3b3JrZXI7Ci0KLWZ1bmN0aW9uIGxvZyhtZXNzYWdlKQot
ewotICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb25zb2xlIikuaW5uZXJIVE1MICs9IG1l
c3NhZ2UgKyAiPGJyPiI7Ci19Ci0KLWZ1bmN0aW9uIGZpbmlzaFRlc3QoKQotewotICAgIGxvZygi
UEFTUzogZGF0YWJhc2Ugb3BlcmF0aW9ucyBpbnRlcnJ1cHRlZC4iKTsKLSAgICBpZiAod2luZG93
LmxheW91dFRlc3RDb250cm9sbGVyKQotICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5ub3Rp
ZnlEb25lKCk7Ci19Ci0KLWZ1bmN0aW9uIHRlcm1pbmF0ZVdvcmtlcigpCi17Ci0gICAgd29ya2Vy
LnRlcm1pbmF0ZSgpOwotICAgIHdhaXRVbnRpbFdvcmtlclRocmVhZHNFeGl0KGZpbmlzaFRlc3Qp
Ci19Ci0KLWZ1bmN0aW9uIHJ1blRlc3QoKQotewotICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENv
bnRyb2xsZXIpIHsKLSAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuZHVtcEFzVGV4dCgpOwot
ICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci53YWl0VW50aWxEb25lKCk7Ci0gICAgfQotCi0g
ICAgd29ya2VyID0gbmV3IFdvcmtlcigncmVzb3VyY2VzL2ludGVycnVwdC1kYXRhYmFzZS5qcycp
OwotICAgIHdvcmtlci5vbm1lc3NhZ2UgPSBmdW5jdGlvbihldmVudCkgewotICAgICAgICBpZiAo
ZXZlbnQuZGF0YSA9PSAidGVybWluYXRlIikKLSAgICAgICAgICAgIHRlcm1pbmF0ZVdvcmtlcigp
OwotICAgICAgICBlbHNlCi0gICAgICAgICAgICBsb2coZXZlbnQuZGF0YSk7Ci0gICAgfTsKLX0K
LTwvc2NyaXB0PgotPC9oZWFkPgotCi08Ym9keSBvbmxvYWQ9InJ1blRlc3QoKSI+Ci1UaGlzIHRl
c3QgbWFrZXMgc3VyZSB0aGF0IGFsbCBhc3luYyBkYXRhYmFzZSBvcGVyYXRpb25zIGFyZSBpbW1l
ZGlhdGVseSBpbnRlcnJ1cHRlZCB3aGVuIHRoZSB3b3JrZXIgbmVlZHMgdG8gdGVybWluYXRlLgot
PHByZSBpZD0iY29uc29sZSI+Ci08L3ByZT4KLTwvYm9keT4KLTwvaHRtbD4KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2Zhc3Qvd29ya2Vycy9zdG9yYWdlL3Jlc291cmNlcy9pbnRlcnJ1cHQtZGF0
YWJhc2Utc3luYy5qcyBiL0xheW91dFRlc3RzL2Zhc3Qvd29ya2Vycy9zdG9yYWdlL3Jlc291cmNl
cy9pbnRlcnJ1cHQtZGF0YWJhc2Utc3luYy5qcwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggZTUzM2YwOGI3MDg5OTdlMDc0YWM1NzM4MjA4NDNiNmNjYjZmZGI5NC4uMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L3dvcmtl
cnMvc3RvcmFnZS9yZXNvdXJjZXMvaW50ZXJydXB0LWRhdGFiYXNlLXN5bmMuanMKKysrIC9kZXYv
bnVsbApAQCAtMSwxMSArMCwwIEBACi12YXIgZGIgPSBvcGVuRGF0YWJhc2VTeW5jKCJJbnRlcnJ1
cHREYXRhYmFzZVN5bmNUZXN0IiwgIjEiLCAiIiwgMSk7Ci1kYi50cmFuc2FjdGlvbihmdW5jdGlv
bih0eCkgewotICAgIHR4LmV4ZWN1dGVTcWwoIkNSRUFURSBUQUJMRSBJRiBOT1QgRVhJU1RTIFRl
c3QgKEZvbyBJTlQpIik7Ci0gICAgdmFyIGNvdW50ZXIgPSAwOwotICAgIHdoaWxlICh0cnVlKSB7
Ci0gICAgICAgIC8vIFB1dCBib3RoIHN0YXRlbWVudHMgb24gdGhlIHNhbWUgbGluZSwgdG8gbWFr
ZSBzdXJlIHRoZSBleGNlcHRpb24gaXMgYWx3YXlzIHJlcG9ydGVkIG9uIHRoZSBzYW1lIGxpbmUu
Ci0gICAgICAgIHR4LmV4ZWN1dGVTcWwoIklOU0VSVCBJTlRPIFRlc3QgVkFMVUVTICgxKSIpOyB0
eC5leGVjdXRlU3FsKCJERUxFVEUgRlJPTSBUZXN0IFdIRVJFIEZvbyA9IDEiKTsKLSAgICAgICAg
aWYgKCsrY291bnRlciA9PSAxMDApCi0gICAgICAgICAgICBwb3N0TWVzc2FnZSgidGVybWluYXRl
Iik7Ci0gICAgfQotfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3dvcmtlcnMvc3Rv
cmFnZS9yZXNvdXJjZXMvaW50ZXJydXB0LWRhdGFiYXNlLmpzIGIvTGF5b3V0VGVzdHMvZmFzdC93
b3JrZXJzL3N0b3JhZ2UvcmVzb3VyY2VzL2ludGVycnVwdC1kYXRhYmFzZS5qcwpkZWxldGVkIGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggM2Y3MWE0NTJmOTcyNDM3YzNmYzk2ZGIxOWNhZDU5YzgyNmJm
NGYzYi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlv
dXRUZXN0cy9mYXN0L3dvcmtlcnMvc3RvcmFnZS9yZXNvdXJjZXMvaW50ZXJydXB0LWRhdGFiYXNl
LmpzCisrKyAvZGV2L251bGwKQEAgLTEsMTkgKzAsMCBAQAotdmFyIGNvdW50ZXIgPSAwOwotZnVu
Y3Rpb24gcnVuVHJhbnNhY3Rpb24oKQotewotICAgIGRiLnRyYW5zYWN0aW9uKGZ1bmN0aW9uKHR4
KSB7Ci0gICAgICAgIHR4LmV4ZWN1dGVTcWwoIklOU0VSVCBJTlRPIFRlc3QgVkFMVUVTICgxKSIp
OwotICAgICAgICB0eC5leGVjdXRlU3FsKCJERUxFVEUgRlJPTSBUZXN0IFdIRVJFIEZvbyA9IDEi
KTsKLSAgICAgICAgaWYgKCsrY291bnRlciA9PSAxMDApCi0gICAgICAgICAgICBwb3N0TWVzc2Fn
ZSgidGVybWluYXRlIik7Ci0gICAgfSwgbnVsbCwgcnVuVHJhbnNhY3Rpb24pOwotfQotCi12YXIg
ZGIgPSBvcGVuRGF0YWJhc2UoIkludGVycnVwdERhdGFiYXNlVGVzdCIsICIxIiwgIiIsIDEpOwot
ZGIudHJhbnNhY3Rpb24oZnVuY3Rpb24odHgpIHsKLSAgICB0eC5leGVjdXRlU3FsKCJDUkVBVEUg
VEFCTEUgSUYgTk9UIEVYSVNUUyBUZXN0IChGb28gSU5UKSIpOwotfSwgZnVuY3Rpb24oZXJyb3Ip
IHsKLSAgICBwb3N0TWVzc2FnZSgiRXJyb3I6ICIgKyBlcnJvci5tZXNzYWdlKTsKLX0sIGZ1bmN0
aW9uKCkgewotICAgIHJ1blRyYW5zYWN0aW9uKCk7Ci19KTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUv
Q2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYTk0ZTA5MTRiYjQzNzc3NmVhYzFk
ZTI1ODg3ZmQ5YWIwN2FjM2NkZS4uMjQ5MWNkYTRkYzg5MjQwMzRjMDliMmU0ODhkNzFkYTIyNTY2
MjQ0ZiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvV2ViQ29yZS9DaGFuZ2VM
b2cKQEAgLTEsMyArMSw0NyBAQAorMjAxMC0wNy0yOSAgU2hlcmlmZiBCb3QgIDx3ZWJraXQucmV2
aWV3LmJvdEBnbWFpbC5jb20+CisKKyAgICAgICAgVW5yZXZpZXdlZCwgcm9sbGluZyBvdXQgcjY0
MzEzLgorICAgICAgICBodHRwOi8vdHJhYy53ZWJraXQub3JnL2NoYW5nZXNldC82NDMxMworICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDMyMzMKKworICAg
ICAgICBTb21lIENocm9taXVtIGJvdHMgYXJlIG5vdCBoYXBweSB3aXRoIGl0IGZvciBzb21lIHVu
a25vd24KKyAgICAgICAgcmVhc29uLiAoUmVxdWVzdGVkIGJ5IGR1bWkgb24gI3dlYmtpdCkuCisK
KyAgICAgICAgKiBiaW5kaW5ncy9qcy9KU0N1c3RvbVZvaWRDYWxsYmFjay5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpKU0N1c3RvbVZvaWRDYWxsYmFjazo6fkpTQ3VzdG9tVm9pZENhbGxiYWNrKToK
KyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JKUy5wbToKKyAgICAgICAg
KiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0Q2FsbGJhY2suY3BwOgorICAgICAgICAo
V2ViQ29yZTo6SlNUZXN0Q2FsbGJhY2s6On5KU1Rlc3RDYWxsYmFjayk6CisgICAgICAgICogcGxh
dGZvcm0vc3FsL1NRTGl0ZURhdGFiYXNlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNRTGl0ZURh
dGFiYXNlOjpTUUxpdGVEYXRhYmFzZSk6CisgICAgICAgIChXZWJDb3JlOjpTUUxpdGVEYXRhYmFz
ZTo6Y2xvc2UpOgorICAgICAgICAoV2ViQ29yZTo6U1FMaXRlRGF0YWJhc2U6OmxvY2spOgorICAg
ICAgICAoV2ViQ29yZTo6U1FMaXRlRGF0YWJhc2U6OnVubG9jayk6CisgICAgICAgICogcGxhdGZv
cm0vc3FsL1NRTGl0ZURhdGFiYXNlLmg6CisgICAgICAgICogcGxhdGZvcm0vc3FsL1NRTGl0ZVN0
YXRlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTUUxpdGVTdGF0ZW1lbnQ6OnByZXBhcmUp
OgorICAgICAgICAoV2ViQ29yZTo6U1FMaXRlU3RhdGVtZW50OjpzdGVwKToKKyAgICAgICAgKiBz
dG9yYWdlL0Fic3RyYWN0RGF0YWJhc2UuY3BwOgorICAgICAgICAqIHN0b3JhZ2UvQWJzdHJhY3RE
YXRhYmFzZS5oOgorICAgICAgICAqIHN0b3JhZ2UvRGF0YWJhc2VUcmFja2VyLmNwcDoKKyAgICAg
ICAgKiBzdG9yYWdlL0RhdGFiYXNlVHJhY2tlci5oOgorICAgICAgICAqIHN0b3JhZ2UvU1FMU3Rh
dGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNRTFN0YXRlbWVudDo6ZXhlY3V0ZSk6Cisg
ICAgICAgICogc3RvcmFnZS9TUUxTdGF0ZW1lbnRTeW5jLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OlNRTFN0YXRlbWVudFN5bmM6OmV4ZWN1dGUpOgorICAgICAgICAqIHN0b3JhZ2UvU1FMVHJhbnNh
Y3Rpb24uY3BwOgorICAgICAgICAoV2ViQ29yZTo6U1FMVHJhbnNhY3Rpb246OmNoZWNrQW5kSGFu
ZGxlQ2xvc2VkRGF0YWJhc2UpOgorICAgICAgICAoV2ViQ29yZTo6U1FMVHJhbnNhY3Rpb246OnBl
cmZvcm1OZXh0U3RlcCk6CisgICAgICAgIChXZWJDb3JlOjpTUUxUcmFuc2FjdGlvbjo6cGVyZm9y
bVBlbmRpbmdDYWxsYmFjayk6CisgICAgICAgIChXZWJDb3JlOjpTUUxUcmFuc2FjdGlvbjo6ZGVs
aXZlclRyYW5zYWN0aW9uQ2FsbGJhY2spOgorICAgICAgICAoV2ViQ29yZTo6U1FMVHJhbnNhY3Rp
b246OnBvc3RmbGlnaHRBbmRDb21taXQpOgorICAgICAgICAoV2ViQ29yZTo6U1FMVHJhbnNhY3Rp
b246OmRlbGl2ZXJUcmFuc2FjdGlvbkVycm9yQ2FsbGJhY2spOgorICAgICAgICAoV2ViQ29yZTo6
U1FMVHJhbnNhY3Rpb246OmNsZWFudXBBZnRlclRyYW5zYWN0aW9uRXJyb3JDYWxsYmFjayk6Cisg
ICAgICAgICogc3RvcmFnZS9TUUxUcmFuc2FjdGlvbi5oOgorICAgICAgICAqIHN0b3JhZ2UvY2hy
b21pdW0vRGF0YWJhc2VUcmFja2VyQ2hyb21pdW0uY3BwOgorICAgICAgICAqIHdvcmtlcnMvV29y
a2VyVGhyZWFkLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OldvcmtlclRocmVhZDo6c3RvcCk6CisK
IDIwMTAtMDctMjkgIE1hcnRpbiBSb2JpbnNvbiAgPG1yb2JpbnNvbkBpZ2FsaWEuY29tPgogCiAg
ICAgICAgIFVucmV2aWV3ZWQsIHJvbGxpbmcgb3V0IHI2NDMxOC4KZGlmZiAtLWdpdCBhL1dlYkNv
cmUvYmluZGluZ3MvanMvSlNDdXN0b21Wb2lkQ2FsbGJhY2suY3BwIGIvV2ViQ29yZS9iaW5kaW5n
cy9qcy9KU0N1c3RvbVZvaWRDYWxsYmFjay5jcHAKaW5kZXggOTZiNTQxMjgzMDQzOTMwY2Y0ZWY4
NzkxYzMzNTI3MmVkN2ZiOTlhNS4uZDVjNGFjMzU0OGZmYjg2MTVhY2QwZDQwMzVjOWFjYWUyNjc1
ZjBkNCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0N1c3RvbVZvaWRDYWxsYmFj
ay5jcHAKKysrIGIvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0N1c3RvbVZvaWRDYWxsYmFjay5jcHAK
QEAgLTQ4LDEwICs0OCw3IEBAIEpTQ3VzdG9tVm9pZENhbGxiYWNrOjpKU0N1c3RvbVZvaWRDYWxs
YmFjayhKU09iamVjdCogY2FsbGJhY2ssIEpTRE9NR2xvYmFsT2JqZWN0CiAKIEpTQ3VzdG9tVm9p
ZENhbGxiYWNrOjp+SlNDdXN0b21Wb2lkQ2FsbGJhY2soKQogewotICAgIGlmIChtX3NjcmlwdEV4
ZWN1dGlvbkNvbnRleHQtPmlzQ29udGV4dFRocmVhZCgpKQotICAgICAgICBkZWxldGUgbV9kYXRh
OwotICAgIGVsc2UKLSAgICAgICAgbV9zY3JpcHRFeGVjdXRpb25Db250ZXh0LT5wb3N0VGFzayhE
ZWxldGVDYWxsYmFja0RhdGFUYXNrOjpjcmVhdGUobV9kYXRhKSk7CisgICAgbV9zY3JpcHRFeGVj
dXRpb25Db250ZXh0LT5wb3N0VGFzayhEZWxldGVDYWxsYmFja0RhdGFUYXNrOjpjcmVhdGUobV9k
YXRhKSk7CiAjaWZuZGVmIE5ERUJVRwogICAgIG1fZGF0YSA9IDA7CiAjZW5kaWYKZGlmZiAtLWdp
dCBhL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9ySlMucG0gYi9XZWJDb3Jl
L2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvckpTLnBtCmluZGV4IGRkOGM4N2M1NGIyZTYw
ODZmMjE0MWVlNWU3MGEyYjk1MGIwMTYxY2QuLjA1ZjUzMmMwMzk4ZjI5OTdmY2FjNDk4ZTY4OGVh
MTM5ZTQwMmI5ZWQgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2Vu
ZXJhdG9ySlMucG0KKysrIGIvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JK
Uy5wbQpAQCAtMjE1MSwxMCArMjE1MSw3IEBAIHN1YiBHZW5lcmF0ZUNhbGxiYWNrSW1wbGVtZW50
YXRpb24KICAgICAjIERlc3RydWN0b3IKICAgICBwdXNoKEBpbXBsQ29udGVudCwgIiR7Y2xhc3NO
YW1lfTo6fiR7Y2xhc3NOYW1lfSgpXG4iKTsKICAgICBwdXNoKEBpbXBsQ29udGVudCwgIntcbiIp
OwotICAgIHB1c2goQGltcGxDb250ZW50LCAiICAgIGlmIChtX3NjcmlwdEV4ZWN1dGlvbkNvbnRl
eHQtPmlzQ29udGV4dFRocmVhZCgpKVxuIik7Ci0gICAgcHVzaChAaW1wbENvbnRlbnQsICIgICAg
ICAgIGRlbGV0ZSBtX2RhdGE7XG4iKTsKLSAgICBwdXNoKEBpbXBsQ29udGVudCwgIiAgICBlbHNl
XG4iKTsKLSAgICBwdXNoKEBpbXBsQ29udGVudCwgIiAgICAgICAgbV9zY3JpcHRFeGVjdXRpb25D
b250ZXh0LT5wb3N0VGFzayhEZWxldGVDYWxsYmFja0RhdGFUYXNrOjpjcmVhdGUobV9kYXRhKSk7
XG4iKTsKKyAgICBwdXNoKEBpbXBsQ29udGVudCwgIiAgICBtX3NjcmlwdEV4ZWN1dGlvbkNvbnRl
eHQtPnBvc3RUYXNrKERlbGV0ZUNhbGxiYWNrRGF0YVRhc2s6OmNyZWF0ZShtX2RhdGEpKTtcbiIp
OwogICAgIHB1c2goQGltcGxDb250ZW50LCAiI2lmbmRlZiBOREVCVUdcbiIpOwogICAgIHB1c2go
QGltcGxDb250ZW50LCAiICAgIG1fZGF0YSA9IDA7XG4iKTsKICAgICBwdXNoKEBpbXBsQ29udGVu
dCwgIiNlbmRpZlxuIik7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVz
dC9KUy9KU1Rlc3RDYWxsYmFjay5jcHAgYi9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9K
Uy9KU1Rlc3RDYWxsYmFjay5jcHAKaW5kZXggNmY2YjU2OGUwMGUwYTRiZDk0M2JiMWNmYTFkNTJi
MTVhZjlkMTY1Ni4uMDQzYTZlZDQ3ZWZlYTM2ZTdjOTY5NzA1MGFhMzk3ZTA5YTk1ZTRhMiAxMDA2
NDQKLS0tIGEvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0Q2FsbGJhY2su
Y3BwCisrKyBiL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdENhbGxiYWNr
LmNwcApAQCAtNDMsMTAgKzQzLDcgQEAgSlNUZXN0Q2FsbGJhY2s6OkpTVGVzdENhbGxiYWNrKEpT
T2JqZWN0KiBjYWxsYmFjaywgSlNET01HbG9iYWxPYmplY3QqIGdsb2JhbE9iamUKIAogSlNUZXN0
Q2FsbGJhY2s6On5KU1Rlc3RDYWxsYmFjaygpCiB7Ci0gICAgaWYgKG1fc2NyaXB0RXhlY3V0aW9u
Q29udGV4dC0+aXNDb250ZXh0VGhyZWFkKCkpCi0gICAgICAgIGRlbGV0ZSBtX2RhdGE7Ci0gICAg
ZWxzZQotICAgICAgICBtX3NjcmlwdEV4ZWN1dGlvbkNvbnRleHQtPnBvc3RUYXNrKERlbGV0ZUNh
bGxiYWNrRGF0YVRhc2s6OmNyZWF0ZShtX2RhdGEpKTsKKyAgICBtX3NjcmlwdEV4ZWN1dGlvbkNv
bnRleHQtPnBvc3RUYXNrKERlbGV0ZUNhbGxiYWNrRGF0YVRhc2s6OmNyZWF0ZShtX2RhdGEpKTsK
ICNpZm5kZWYgTkRFQlVHCiAgICAgbV9kYXRhID0gMDsKICNlbmRpZgpkaWZmIC0tZ2l0IGEvV2Vi
Q29yZS9wbGF0Zm9ybS9zcWwvU1FMaXRlRGF0YWJhc2UuY3BwIGIvV2ViQ29yZS9wbGF0Zm9ybS9z
cWwvU1FMaXRlRGF0YWJhc2UuY3BwCmluZGV4IDJjYTViYTRjY2ZkMjJlM2M0Y2ViOTIxYmVlNDlk
MTY4ZTQxZmRmNGMuLjc1ZmMwMzJmNmViMDc5M2IwYjNjYjI1YjFhOWY5MTdlODJmODFmMzEgMTAw
NjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vc3FsL1NRTGl0ZURhdGFiYXNlLmNwcAorKysgYi9X
ZWJDb3JlL3BsYXRmb3JtL3NxbC9TUUxpdGVEYXRhYmFzZS5jcHAKQEAgLTMxLDggKzMxLDggQEAK
ICNpbmNsdWRlICJMb2dnaW5nLmgiCiAjaW5jbHVkZSAiU1FMaXRlRmlsZVN5c3RlbS5oIgogI2lu
Y2x1ZGUgIlNRTGl0ZVN0YXRlbWVudC5oIgorCiAjaW5jbHVkZSA8c3FsaXRlMy5oPgotI2luY2x1
ZGUgPHd0Zi9UaHJlYWRpbmcuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCkBAIC00Miw3ICs0
Miw3IEBAIGNvbnN0IGludCBTUUxSZXN1bHRPayA9IFNRTElURV9PSzsKIGNvbnN0IGludCBTUUxS
ZXN1bHRSb3cgPSBTUUxJVEVfUk9XOwogY29uc3QgaW50IFNRTFJlc3VsdFNjaGVtYSA9IFNRTElU
RV9TQ0hFTUE7CiBjb25zdCBpbnQgU1FMUmVzdWx0RnVsbCA9IFNRTElURV9GVUxMOwotY29uc3Qg
aW50IFNRTFJlc3VsdEludGVycnVwdCA9IFNRTElURV9JTlRFUlJVUFQ7CisKIAogU1FMaXRlRGF0
YWJhc2U6OlNRTGl0ZURhdGFiYXNlKCkKICAgICA6IG1fZGIoMCkKQEAgLTUwLDcgKzUwLDYgQEAg
U1FMaXRlRGF0YWJhc2U6OlNRTGl0ZURhdGFiYXNlKCkKICAgICAsIG1fdHJhbnNhY3Rpb25JblBy
b2dyZXNzKGZhbHNlKQogICAgICwgbV9zaGFyYWJsZShmYWxzZSkKICAgICAsIG1fb3BlbmluZ1Ro
cmVhZCgwKQotICAgICwgbV9pbnRlcnJ1cHRlZChmYWxzZSkKIHsKIH0KIApAQCAtODQsMzggKzgz
LDE1IEBAIGJvb2wgU1FMaXRlRGF0YWJhc2U6Om9wZW4oY29uc3QgU3RyaW5nJiBmaWxlbmFtZSwg
Ym9vbCBmb3JXZWJTUUxEYXRhYmFzZSkKIHZvaWQgU1FMaXRlRGF0YWJhc2U6OmNsb3NlKCkKIHsK
ICAgICBpZiAobV9kYikgewotICAgICAgICBBU1NFUlQoY3VycmVudFRocmVhZCgpID09IG1fb3Bl
bmluZ1RocmVhZCk7Ci0gICAgICAgIHNxbGl0ZTMqIGRiID0gbV9kYjsKLSAgICAgICAgewotICAg
ICAgICAgICAgTXV0ZXhMb2NrZXIgbG9ja2VyKG1fZGF0YWJhc2VDbG9zaW5nTXV0ZXgpOwotICAg
ICAgICAgICAgbV9kYiA9IDA7Ci0gICAgICAgIH0KLSAgICAgICAgc3FsaXRlM19jbG9zZShkYik7
CisgICAgICAgIC8vIEZJWE1FOiBUaGlzIGlzIGJlaW5nIGNhbGxlZCBvbiB0aGVtYWluIHRocmVh
ZCBkdXJpbmcgSlMgR0MuIDxyZGFyOi8vcHJvYmxlbS81NzM5ODE4PgorICAgICAgICAvLyBBU1NF
UlQoY3VycmVudFRocmVhZCgpID09IG1fb3BlbmluZ1RocmVhZCk7CisgICAgICAgIHNxbGl0ZTNf
Y2xvc2UobV9kYik7CisgICAgICAgIG1fZGIgPSAwOwogICAgIH0KIAogICAgIG1fb3BlbmluZ1Ro
cmVhZCA9IDA7CiB9CiAKLXZvaWQgU1FMaXRlRGF0YWJhc2U6OmludGVycnVwdCgpCi17Ci0gICAg
bV9pbnRlcnJ1cHRlZCA9IHRydWU7Ci0gICAgd2hpbGUgKCFtX2xvY2tpbmdNdXRleC50cnlMb2Nr
KCkpIHsKLSAgICAgICAgTXV0ZXhMb2NrZXIgbG9ja2VyKG1fZGF0YWJhc2VDbG9zaW5nTXV0ZXgp
OwotICAgICAgICBpZiAoIW1fZGIpCi0gICAgICAgICAgICByZXR1cm47Ci0gICAgICAgIHNxbGl0
ZTNfaW50ZXJydXB0KG1fZGIpOwotICAgICAgICB5aWVsZCgpOwotICAgIH0KLQotICAgIG1fbG9j
a2luZ011dGV4LnVubG9jaygpOwotfQotCi1ib29sIFNRTGl0ZURhdGFiYXNlOjppc0ludGVycnVw
dGVkKCkKLXsKLSAgICBBU1NFUlQoIW1fbG9ja2luZ011dGV4LnRyeUxvY2soKSk7Ci0gICAgcmV0
dXJuIG1faW50ZXJydXB0ZWQ7Ci19Ci0KIHZvaWQgU1FMaXRlRGF0YWJhc2U6OnNldEZ1bGxzeW5j
KGJvb2wgZnN5bmMpIAogewogICAgIGlmIChmc3luYykgCkBAIC00MjEsNiArMzk3LDE2IEBAIHZv
aWQgU1FMaXRlRGF0YWJhc2U6OmVuYWJsZUF1dGhvcml6ZXIoYm9vbCBlbmFibGUpCiAgICAgICAg
IHNxbGl0ZTNfc2V0X2F1dGhvcml6ZXIobV9kYiwgTlVMTCwgMCk7CiB9CiAKK3ZvaWQgU1FMaXRl
RGF0YWJhc2U6OmxvY2soKQoreworICAgIG1fbG9ja2luZ011dGV4LmxvY2soKTsKK30KKwordm9p
ZCBTUUxpdGVEYXRhYmFzZTo6dW5sb2NrKCkKK3sKKyAgICBtX2xvY2tpbmdNdXRleC51bmxvY2so
KTsKK30KKwogYm9vbCBTUUxpdGVEYXRhYmFzZTo6aXNBdXRvQ29tbWl0T24oKSBjb25zdAogewog
ICAgIHJldHVybiBzcWxpdGUzX2dldF9hdXRvY29tbWl0KG1fZGIpOwpkaWZmIC0tZ2l0IGEvV2Vi
Q29yZS9wbGF0Zm9ybS9zcWwvU1FMaXRlRGF0YWJhc2UuaCBiL1dlYkNvcmUvcGxhdGZvcm0vc3Fs
L1NRTGl0ZURhdGFiYXNlLmgKaW5kZXggODE1MTM4MDU0NzFmODJiNzQxODhmOGJjMDcyYjIzOWFm
YjYzN2NjOC4uYzU5MjRjMDY3Mjc0Y2ZlYzNjYmVhZWIwMjJhYjE2MmNiN2MwNTg0MSAxMDA2NDQK
LS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9zcWwvU1FMaXRlRGF0YWJhc2UuaAorKysgYi9XZWJDb3Jl
L3BsYXRmb3JtL3NxbC9TUUxpdGVEYXRhYmFzZS5oCkBAIC00OCw3ICs0OCw2IEBAIGV4dGVybiBj
b25zdCBpbnQgU1FMUmVzdWx0T2s7CiBleHRlcm4gY29uc3QgaW50IFNRTFJlc3VsdFJvdzsKIGV4
dGVybiBjb25zdCBpbnQgU1FMUmVzdWx0U2NoZW1hOwogZXh0ZXJuIGNvbnN0IGludCBTUUxSZXN1
bHRGdWxsOwotZXh0ZXJuIGNvbnN0IGludCBTUUxSZXN1bHRJbnRlcnJ1cHQ7CiAKIGNsYXNzIFNR
TGl0ZURhdGFiYXNlIDogcHVibGljIE5vbmNvcHlhYmxlIHsKICAgICBmcmllbmQgY2xhc3MgU1FM
aXRlVHJhbnNhY3Rpb247CkBAIC01OSw4ICs1OCw2IEBAIHB1YmxpYzoKICAgICBib29sIG9wZW4o
Y29uc3QgU3RyaW5nJiBmaWxlbmFtZSwgYm9vbCBmb3JXZWJTUUxEYXRhYmFzZSA9IGZhbHNlKTsK
ICAgICBib29sIGlzT3BlbigpIGNvbnN0IHsgcmV0dXJuIG1fZGI7IH0KICAgICB2b2lkIGNsb3Nl
KCk7Ci0gICAgdm9pZCBpbnRlcnJ1cHQoKTsKLSAgICBib29sIGlzSW50ZXJydXB0ZWQoKTsKIAog
ICAgIGJvb2wgZXhlY3V0ZUNvbW1hbmQoY29uc3QgU3RyaW5nJik7CiAgICAgYm9vbCByZXR1cm5z
QXRMZWFzdE9uZVJlc3VsdChjb25zdCBTdHJpbmcmKTsKQEAgLTEwOCw3ICsxMDUsOSBAQCBwdWJs
aWM6CiAgICAgCiAgICAgdm9pZCBzZXRBdXRob3JpemVyKFBhc3NSZWZQdHI8RGF0YWJhc2VBdXRo
b3JpemVyPik7CiAKLSAgICBNdXRleCYgZGF0YWJhc2VNdXRleCgpIHsgcmV0dXJuIG1fbG9ja2lu
Z011dGV4OyB9CisgICAgLy8gKHVuKWxvY2tzIHRoZSBkYXRhYmFzZSBsaWtlIGEgbXV0ZXgKKyAg
ICB2b2lkIGxvY2soKTsKKyAgICB2b2lkIHVubG9jaygpOwogICAgIGJvb2wgaXNBdXRvQ29tbWl0
T24oKSBjb25zdDsKIAogICAgIC8vIFRoZSBTUUxpdGUgQVVUT19WQUNVVU0gcHJhZ21hIGNhbiBi
ZSBlaXRoZXIgTk9ORSwgRlVMTCwgb3IgSU5DUkVNRU5UQUwuCkBAIC0xNTAsOSArMTQ5LDcgQEAg
cHJpdmF0ZToKIAogICAgIE11dGV4IG1fbG9ja2luZ011dGV4OwogICAgIFRocmVhZElkZW50aWZp
ZXIgbV9vcGVuaW5nVGhyZWFkOwotCi0gICAgTXV0ZXggbV9kYXRhYmFzZUNsb3NpbmdNdXRleDsK
LSAgICBib29sIG1faW50ZXJydXB0ZWQ7CisgICAgCiB9OyAvLyBjbGFzcyBTUUxpdGVEYXRhYmFz
ZQogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3Jt
L3NxbC9TUUxpdGVTdGF0ZW1lbnQuY3BwIGIvV2ViQ29yZS9wbGF0Zm9ybS9zcWwvU1FMaXRlU3Rh
dGVtZW50LmNwcAppbmRleCBhYzQ2N2E2ZWE4ZjU4MjdlMTk5ODk3YjFlN2M1ODg5YWZmZTJhZWY3
Li43OGJiZmViYzkxMGY5MjQyZDc2NzIyMmNjN2YyMjNlZmEzM2EzYmY2IDEwMDY0NAotLS0gYS9X
ZWJDb3JlL3BsYXRmb3JtL3NxbC9TUUxpdGVTdGF0ZW1lbnQuY3BwCisrKyBiL1dlYkNvcmUvcGxh
dGZvcm0vc3FsL1NRTGl0ZVN0YXRlbWVudC5jcHAKQEAgLTYxLDExICs2MSw2IEBAIFNRTGl0ZVN0
YXRlbWVudDo6flNRTGl0ZVN0YXRlbWVudCgpCiBpbnQgU1FMaXRlU3RhdGVtZW50OjpwcmVwYXJl
KCkKIHsKICAgICBBU1NFUlQoIW1faXNQcmVwYXJlZCk7Ci0KLSAgICBNdXRleExvY2tlciBkYXRh
YmFzZUxvY2sobV9kYXRhYmFzZS5kYXRhYmFzZU11dGV4KCkpOwotICAgIGlmIChtX2RhdGFiYXNl
LmlzSW50ZXJydXB0ZWQoKSkKLSAgICAgICAgcmV0dXJuIFNRTElURV9JTlRFUlJVUFQ7Ci0KICAg
ICBjb25zdCB2b2lkKiB0YWlsID0gMDsKICAgICBMT0coU1FMRGF0YWJhc2UsICJTUUwgLSBwcmVw
YXJlIC0gJXMiLCBtX3F1ZXJ5LmFzY2lpKCkuZGF0YSgpKTsKICAgICBTdHJpbmcgc3RyaXBwZWRR
dWVyeSA9IG1fcXVlcnkuc3RyaXBXaGl0ZVNwYWNlKCk7CkBAIC05MywxMSArODgsNiBAQCBpbnQg
U1FMaXRlU3RhdGVtZW50OjpwcmVwYXJlKCkKIGludCBTUUxpdGVTdGF0ZW1lbnQ6OnN0ZXAoKQog
ewogICAgIEFTU0VSVChtX2lzUHJlcGFyZWQpOwotCi0gICAgTXV0ZXhMb2NrZXIgZGF0YWJhc2VM
b2NrKG1fZGF0YWJhc2UuZGF0YWJhc2VNdXRleCgpKTsKLSAgICBpZiAobV9kYXRhYmFzZS5pc0lu
dGVycnVwdGVkKCkpCi0gICAgICAgIHJldHVybiBTUUxJVEVfSU5URVJSVVBUOwotCiAgICAgaWYg
KCFtX3N0YXRlbWVudCkKICAgICAgICAgcmV0dXJuIFNRTElURV9PSzsKICAgICBMT0coU1FMRGF0
YWJhc2UsICJTUUwgLSBzdGVwIC0gJXMiLCBtX3F1ZXJ5LmFzY2lpKCkuZGF0YSgpKTsKZGlmZiAt
LWdpdCBhL1dlYkNvcmUvc3RvcmFnZS9BYnN0cmFjdERhdGFiYXNlLmNwcCBiL1dlYkNvcmUvc3Rv
cmFnZS9BYnN0cmFjdERhdGFiYXNlLmNwcAppbmRleCA3ODI3ZWM4ZThjZGQ5ZWMwM2UxNWUyMmI2
Mjk1ZDg2MDdlNGQ1OWI3Li5iY2M1ZDA2MWJjOGYzYjBjZDdkNDQ2Njk0ZWY3NGZkY2I5ODAxY2I2
IDEwMDY0NAotLS0gYS9XZWJDb3JlL3N0b3JhZ2UvQWJzdHJhY3REYXRhYmFzZS5jcHAKKysrIGIv
V2ViQ29yZS9zdG9yYWdlL0Fic3RyYWN0RGF0YWJhc2UuY3BwCkBAIC00NzQsMTcgKzQ3NCw2IEBA
IHZvaWQgQWJzdHJhY3REYXRhYmFzZTo6aW5jcmVtZW50YWxWYWN1dW1JZk5lZWRlZCgpCiAgICAg
ICAgIG1fc3FsaXRlRGF0YWJhc2UucnVuSW5jcmVtZW50YWxWYWN1dW1Db21tYW5kKCk7CiB9CiAK
LXZvaWQgQWJzdHJhY3REYXRhYmFzZTo6aW50ZXJydXB0KCkKLXsKLSAgICBtX3NxbGl0ZURhdGFi
YXNlLmludGVycnVwdCgpOwotfQotCi1ib29sIEFic3RyYWN0RGF0YWJhc2U6OmlzSW50ZXJydXB0
ZWQoKQotewotICAgIE11dGV4TG9ja2VyIGxvY2tlcihtX3NxbGl0ZURhdGFiYXNlLmRhdGFiYXNl
TXV0ZXgoKSk7Ci0gICAgcmV0dXJuIG1fc3FsaXRlRGF0YWJhc2UuaXNJbnRlcnJ1cHRlZCgpOwot
fQotCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAKICNlbmRpZiAvLyBFTkFCTEUoREFUQUJBU0Up
CmRpZmYgLS1naXQgYS9XZWJDb3JlL3N0b3JhZ2UvQWJzdHJhY3REYXRhYmFzZS5oIGIvV2ViQ29y
ZS9zdG9yYWdlL0Fic3RyYWN0RGF0YWJhc2UuaAppbmRleCAzZDhkMzYzYmMwNzdkMjQ2NDFhMjI3
NjQ2ZGM2ZmY5ODM1ZjZmMjI4Li5lMzAyOTA5ZjU0ZGY5MWQzZWYzZGE5ZDMxNTExZDE4MGViNWQy
NGYzIDEwMDY0NAotLS0gYS9XZWJDb3JlL3N0b3JhZ2UvQWJzdHJhY3REYXRhYmFzZS5oCisrKyBi
L1dlYkNvcmUvc3RvcmFnZS9BYnN0cmFjdERhdGFiYXNlLmgKQEAgLTY4LDggKzY4LDYgQEAgcHVi
bGljOgogCiAgICAgdW5zaWduZWQgbG9uZyBsb25nIG1heGltdW1TaXplKCkgY29uc3Q7CiAgICAg
dm9pZCBpbmNyZW1lbnRhbFZhY3V1bUlmTmVlZGVkKCk7Ci0gICAgdm9pZCBpbnRlcnJ1cHQoKTsK
LSAgICBib29sIGlzSW50ZXJydXB0ZWQoKTsKIAogICAgIC8vIEZJWE1FOiBtb3ZlIGFsbCB2ZXJz
aW9uLXJlbGF0ZWQgbWV0aG9kcyB0byBhIERhdGFiYXNlVmVyc2lvblRyYWNrZXIgY2xhc3MKICAg
ICBib29sIHZlcnNpb25NYXRjaGVzRXhwZWN0ZWQoKSBjb25zdDsKZGlmZiAtLWdpdCBhL1dlYkNv
cmUvc3RvcmFnZS9EYXRhYmFzZVRyYWNrZXIuY3BwIGIvV2ViQ29yZS9zdG9yYWdlL0RhdGFiYXNl
VHJhY2tlci5jcHAKaW5kZXggMDc2NGRiMDlmNjA3OGQwYjkyNzE5MTU1ODRhNTRkODZhMGUyZDQ4
MS4uZGUzOGVjMzI3Mjk2NjhjMWU2MzEzODVmZGZjMTM1Yjg4MjQ4MzdkMiAxMDA2NDQKLS0tIGEv
V2ViQ29yZS9zdG9yYWdlL0RhdGFiYXNlVHJhY2tlci5jcHAKKysrIGIvV2ViQ29yZS9zdG9yYWdl
L0RhdGFiYXNlVHJhY2tlci5jcHAKQEAgLTIzNSwzNSArMjM1LDYgQEAgdm9pZCBEYXRhYmFzZVRy
YWNrZXI6OmRhdGFiYXNlQ2hhbmdlZChBYnN0cmFjdERhdGFiYXNlKiBkYXRhYmFzZSkKICAgICBv
cmlnaW5RdW90YU1hbmFnZXIoKS5tYXJrRGF0YWJhc2UoZGF0YWJhc2UpOwogfQogCi12b2lkIERh
dGFiYXNlVHJhY2tlcjo6aW50ZXJydXB0QWxsRGF0YWJhc2VzRm9yQ29udGV4dChjb25zdCBTY3Jp
cHRFeGVjdXRpb25Db250ZXh0KiBjb250ZXh0KQotewotICAgIFZlY3RvcjxSZWZQdHI8QWJzdHJh
Y3REYXRhYmFzZT4gPiBvcGVuRGF0YWJhc2VzOwotICAgIHsKLSAgICAgICAgTXV0ZXhMb2NrZXIg
b3BlbkRhdGFiYXNlTWFwTG9jayhtX29wZW5EYXRhYmFzZU1hcEd1YXJkKTsKLQotICAgICAgICBp
ZiAoIW1fb3BlbkRhdGFiYXNlTWFwKQotICAgICAgICAgICAgcmV0dXJuOwotCi0gICAgICAgIERh
dGFiYXNlTmFtZU1hcCogbmFtZU1hcCA9IG1fb3BlbkRhdGFiYXNlTWFwLT5nZXQoY29udGV4dC0+
c2VjdXJpdHlPcmlnaW4oKSk7Ci0gICAgICAgIGlmICghbmFtZU1hcCkKLSAgICAgICAgICAgIHJl
dHVybjsKLQotICAgICAgICBEYXRhYmFzZU5hbWVNYXA6OmNvbnN0X2l0ZXJhdG9yIGRiTmFtZU1h
cEVuZEl0ID0gbmFtZU1hcC0+ZW5kKCk7Ci0gICAgICAgIGZvciAoRGF0YWJhc2VOYW1lTWFwOjpj
b25zdF9pdGVyYXRvciBkYk5hbWVNYXBJdCA9IG5hbWVNYXAtPmJlZ2luKCk7IGRiTmFtZU1hcEl0
ICE9IGRiTmFtZU1hcEVuZEl0OyArK2RiTmFtZU1hcEl0KSB7Ci0gICAgICAgICAgICBEYXRhYmFz
ZVNldCogZGF0YWJhc2VTZXQgPSBkYk5hbWVNYXBJdC0+c2Vjb25kOwotICAgICAgICAgICAgRGF0
YWJhc2VTZXQ6OmNvbnN0X2l0ZXJhdG9yIGRiU2V0RW5kSXQgPSBkYXRhYmFzZVNldC0+ZW5kKCk7
Ci0gICAgICAgICAgICBmb3IgKERhdGFiYXNlU2V0Ojpjb25zdF9pdGVyYXRvciBkYlNldEl0ID0g
ZGF0YWJhc2VTZXQtPmJlZ2luKCk7IGRiU2V0SXQgIT0gZGJTZXRFbmRJdDsgKytkYlNldEl0KSB7
Ci0gICAgICAgICAgICAgICAgaWYgKCgqZGJTZXRJdCktPnNjcmlwdEV4ZWN1dGlvbkNvbnRleHQo
KSA9PSBjb250ZXh0KQotICAgICAgICAgICAgICAgICAgICBvcGVuRGF0YWJhc2VzLmFwcGVuZCgq
ZGJTZXRJdCk7Ci0gICAgICAgICAgICB9Ci0gICAgICAgIH0KLSAgICB9Ci0KLSAgICBWZWN0b3I8
UmVmUHRyPEFic3RyYWN0RGF0YWJhc2U+ID46OmNvbnN0X2l0ZXJhdG9yIG9wZW5EYXRhYmFzZXNF
bmRJdCA9IG9wZW5EYXRhYmFzZXMuZW5kKCk7Ci0gICAgZm9yIChWZWN0b3I8UmVmUHRyPEFic3Ry
YWN0RGF0YWJhc2U+ID46OmNvbnN0X2l0ZXJhdG9yIG9wZW5EYXRhYmFzZXNJdCA9IG9wZW5EYXRh
YmFzZXMuYmVnaW4oKTsgb3BlbkRhdGFiYXNlc0l0ICE9IG9wZW5EYXRhYmFzZXNFbmRJdDsgKytv
cGVuRGF0YWJhc2VzSXQpCi0gICAgICAgICgqb3BlbkRhdGFiYXNlc0l0KS0+aW50ZXJydXB0KCk7
Ci19Ci0KIFN0cmluZyBEYXRhYmFzZVRyYWNrZXI6Om9yaWdpblBhdGgoU2VjdXJpdHlPcmlnaW4q
IG9yaWdpbikgY29uc3QKIHsKICAgICByZXR1cm4gU1FMaXRlRmlsZVN5c3RlbTo6YXBwZW5kRGF0
YWJhc2VGaWxlTmFtZVRvUGF0aChtX2RhdGFiYXNlRGlyZWN0b3J5UGF0aC50aHJlYWRzYWZlQ29w
eSgpLCBvcmlnaW4tPmRhdGFiYXNlSWRlbnRpZmllcigpKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUv
c3RvcmFnZS9EYXRhYmFzZVRyYWNrZXIuaCBiL1dlYkNvcmUvc3RvcmFnZS9EYXRhYmFzZVRyYWNr
ZXIuaAppbmRleCAxNTU3ZjBhMmM0NTBjNTVhMWUyMWM1NDU5YjJmYTI2Zjc1NjkzN2QzLi4wOTRl
ZTY2MjIyNmU3MjIyMzQ5OTljN2ZlZTk2OTZiNmRjYTdkOTQwIDEwMDY0NAotLS0gYS9XZWJDb3Jl
L3N0b3JhZ2UvRGF0YWJhc2VUcmFja2VyLmgKKysrIGIvV2ViQ29yZS9zdG9yYWdlL0RhdGFiYXNl
VHJhY2tlci5oCkBAIC03OCw4ICs3OCw2IEBAIHB1YmxpYzoKICAgICB1bnNpZ25lZCBsb25nIGxv
bmcgZ2V0TWF4U2l6ZUZvckRhdGFiYXNlKGNvbnN0IEFic3RyYWN0RGF0YWJhc2UqKTsKICAgICB2
b2lkIGRhdGFiYXNlQ2hhbmdlZChBYnN0cmFjdERhdGFiYXNlKik7CiAKLSAgICB2b2lkIGludGVy
cnVwdEFsbERhdGFiYXNlc0ZvckNvbnRleHQoY29uc3QgU2NyaXB0RXhlY3V0aW9uQ29udGV4dCop
OwotCiBwcml2YXRlOgogICAgIERhdGFiYXNlVHJhY2tlcihjb25zdCBTdHJpbmcmIGRhdGFiYXNl
UGF0aCk7CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvc3RvcmFnZS9TUUxTdGF0ZW1lbnQuY3BwIGIv
V2ViQ29yZS9zdG9yYWdlL1NRTFN0YXRlbWVudC5jcHAKaW5kZXggOWRkMjQ5YTM0ZjA2MjU3OWQ0
ZTBlYTA2NzkzMjFkMWJmZjA2NjEyNS4uMmQ3ZDc4ZTU1Yzc1NjkyZmFmZmNhMTQ3OGU4OGU2N2Rj
ZDVjM2FhNSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9zdG9yYWdlL1NRTFN0YXRlbWVudC5jcHAKKysr
IGIvV2ViQ29yZS9zdG9yYWdlL1NRTFN0YXRlbWVudC5jcHAKQEAgLTc4LDcgKzc4LDcgQEAgYm9v
bCBTUUxTdGF0ZW1lbnQ6OmV4ZWN1dGUoRGF0YWJhc2UqIGRiKQogCiAgICAgaWYgKHJlc3VsdCAh
PSBTUUxSZXN1bHRPaykgewogICAgICAgICBMT0coU3RvcmFnZUFQSSwgIlVuYWJsZSB0byB2ZXJp
ZnkgY29ycmVjdG5lc3Mgb2Ygc3RhdGVtZW50ICVzIC0gZXJyb3IgJWkgKCVzKSIsIG1fc3RhdGVt
ZW50LmFzY2lpKCkuZGF0YSgpLCByZXN1bHQsIGRhdGFiYXNlLT5sYXN0RXJyb3JNc2coKSk7Ci0g
ICAgICAgIG1fZXJyb3IgPSBTUUxFcnJvcjo6Y3JlYXRlKHJlc3VsdCA9PSBTUUxSZXN1bHRJbnRl
cnJ1cHQgPyBTUUxFcnJvcjo6REFUQUJBU0VfRVJSIDogU1FMRXJyb3I6OlNZTlRBWF9FUlIsIGRh
dGFiYXNlLT5sYXN0RXJyb3JNc2coKSk7CisgICAgICAgIG1fZXJyb3IgPSBTUUxFcnJvcjo6Y3Jl
YXRlKFNRTEVycm9yOjpTWU5UQVhfRVJSLCBkYXRhYmFzZS0+bGFzdEVycm9yTXNnKCkpOwogICAg
ICAgICByZXR1cm4gZmFsc2U7CiAgICAgfQogCkBAIC04Niw3ICs4Niw3IEBAIGJvb2wgU1FMU3Rh
dGVtZW50OjpleGVjdXRlKERhdGFiYXNlKiBkYikKICAgICAvLyBJZiB0aGlzIGlzIHRoZSBjYXNl
LCB0aGV5IG1pZ2h0IGJlIHRyeWluZyB0byBkbyBzb21ldGhpbmcgZmlzaHkgb3IgbWFsaWNpb3Vz
CiAgICAgaWYgKHN0YXRlbWVudC5iaW5kUGFyYW1ldGVyQ291bnQoKSAhPSBtX2FyZ3VtZW50cy5z
aXplKCkpIHsKICAgICAgICAgTE9HKFN0b3JhZ2VBUEksICJCaW5kIHBhcmFtZXRlciBjb3VudCBk
b2Vzbid0IG1hdGNoIG51bWJlciBvZiBxdWVzdGlvbiBtYXJrcyIpOwotICAgICAgICBtX2Vycm9y
ID0gU1FMRXJyb3I6OmNyZWF0ZShkYi0+aXNJbnRlcnJ1cHRlZCgpID8gU1FMRXJyb3I6OkRBVEFC
QVNFX0VSUiA6IFNRTEVycm9yOjpTWU5UQVhfRVJSLCAibnVtYmVyIG9mICc/J3MgaW4gc3RhdGVt
ZW50IHN0cmluZyBkb2VzIG5vdCBtYXRjaCBhcmd1bWVudCBjb3VudCIpOworICAgICAgICBtX2Vy
cm9yID0gU1FMRXJyb3I6OmNyZWF0ZShTUUxFcnJvcjo6U1lOVEFYX0VSUiwgIm51bWJlciBvZiAn
PydzIGluIHN0YXRlbWVudCBzdHJpbmcgZG9lcyBub3QgbWF0Y2ggYXJndW1lbnQgY291bnQiKTsK
ICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgIH0KIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9zdG9y
YWdlL1NRTFN0YXRlbWVudFN5bmMuY3BwIGIvV2ViQ29yZS9zdG9yYWdlL1NRTFN0YXRlbWVudFN5
bmMuY3BwCmluZGV4IGU0NzkxOWYwMzYwNWE0MzBjYWQ4ZWI2NjlhODFlMmEwY2EyNmEwNmQuLjdi
ZTNmNTAxYmNkZjRjOGUwYjJjM2E2MTEzNTJjNWE4OWU4OWVlNGIgMTAwNjQ0Ci0tLSBhL1dlYkNv
cmUvc3RvcmFnZS9TUUxTdGF0ZW1lbnRTeW5jLmNwcAorKysgYi9XZWJDb3JlL3N0b3JhZ2UvU1FM
U3RhdGVtZW50U3luYy5jcHAKQEAgLTYxLDEyICs2MSwxMiBAQCBQYXNzUmVmUHRyPFNRTFJlc3Vs
dFNldD4gU1FMU3RhdGVtZW50U3luYzo6ZXhlY3V0ZShEYXRhYmFzZVN5bmMqIGRiLCBFeGNlcHRp
b25DbwogICAgIFNRTGl0ZVN0YXRlbWVudCBzdGF0ZW1lbnQoKmRhdGFiYXNlLCBtX3N0YXRlbWVu
dCk7CiAgICAgaW50IHJlc3VsdCA9IHN0YXRlbWVudC5wcmVwYXJlKCk7CiAgICAgaWYgKHJlc3Vs
dCAhPSBTUUxSZXN1bHRPaykgewotICAgICAgICBlYyA9IChyZXN1bHQgPT0gU1FMUmVzdWx0SW50
ZXJydXB0ID8gU1FMRXhjZXB0aW9uOjpEQVRBQkFTRV9FUlIgOiBTUUxFeGNlcHRpb246OlNZTlRB
WF9FUlIpOworICAgICAgICBlYyA9IFNRTEV4Y2VwdGlvbjo6U1lOVEFYX0VSUjsKICAgICAgICAg
cmV0dXJuIDA7CiAgICAgfQogCiAgICAgaWYgKHN0YXRlbWVudC5iaW5kUGFyYW1ldGVyQ291bnQo
KSAhPSBtX2FyZ3VtZW50cy5zaXplKCkpIHsKLSAgICAgICAgZWMgPSAoZGItPmlzSW50ZXJydXB0
ZWQoKT8gU1FMRXhjZXB0aW9uOjpEQVRBQkFTRV9FUlIgOiBTUUxFeGNlcHRpb246OlNZTlRBWF9F
UlIpOworICAgICAgICBlYyA9IFNRTEV4Y2VwdGlvbjo6U1lOVEFYX0VSUjsKICAgICAgICAgcmV0
dXJuIDA7CiAgICAgfQogCmRpZmYgLS1naXQgYS9XZWJDb3JlL3N0b3JhZ2UvU1FMVHJhbnNhY3Rp
b24uY3BwIGIvV2ViQ29yZS9zdG9yYWdlL1NRTFRyYW5zYWN0aW9uLmNwcAppbmRleCA0NTRlYTYz
ZDM2N2I1YTFhMTdlOGYyZmQ2OGM3ZWVkY2JiNzNjY2EyLi5lNDNkODQ0MTFlOTBiZjVhZDhkNzU0
NTg4NzJlYjIwN2MwZjg0YjZhIDEwMDY0NAotLS0gYS9XZWJDb3JlL3N0b3JhZ2UvU1FMVHJhbnNh
Y3Rpb24uY3BwCisrKyBiL1dlYkNvcmUvc3RvcmFnZS9TUUxUcmFuc2FjdGlvbi5jcHAKQEAgLTE0
NiwyMiArMTQ2LDE3IEBAIGNvbnN0IGNoYXIqIFNRTFRyYW5zYWN0aW9uOjpkZWJ1Z1N0ZXBOYW1l
KFNRTFRyYW5zYWN0aW9uOjpUcmFuc2FjdGlvblN0ZXBNZXRob2QKIH0KICNlbmRpZgogCi12b2lk
IFNRTFRyYW5zYWN0aW9uOjpjaGVja0FuZEhhbmRsZUNsb3NlZE9ySW50ZXJydXB0ZWREYXRhYmFz
ZSgpCit2b2lkIFNRTFRyYW5zYWN0aW9uOjpjaGVja0FuZEhhbmRsZUNsb3NlZERhdGFiYXNlKCkK
IHsKLSAgICBpZiAobV9kYXRhYmFzZS0+b3BlbmVkKCkgJiYgIW1fZGF0YWJhc2UtPmlzSW50ZXJy
dXB0ZWQoKSkKKyAgICBpZiAobV9kYXRhYmFzZS0+b3BlbmVkKCkpCiAgICAgICAgIHJldHVybjsK
IAogICAgIC8vIElmIHRoZSBkYXRhYmFzZSB3YXMgc3RvcHBlZCwgZG9uJ3QgZG8gYW55dGhpbmcg
YW5kIGNhbmNlbCBxdWV1ZWQgd29yawotICAgIExPRyhTdG9yYWdlQVBJLCAiRGF0YWJhc2Ugd2Fz
IHN0b3BwZWQgb3IgaW50ZXJydXB0ZWQgLSBjYW5jZWxsaW5nIHdvcmsgZm9yIHRoaXMgdHJhbnNh
Y3Rpb24iKTsKKyAgICBMT0coU3RvcmFnZUFQSSwgIkRhdGFiYXNlIHdhcyBzdG9wcGVkIC0gY2Fu
Y2VsbGluZyB3b3JrIGZvciB0aGlzIHRyYW5zYWN0aW9uIik7CiAgICAgTXV0ZXhMb2NrZXIgbG9j
a2VyKG1fc3RhdGVtZW50TXV0ZXgpOwogICAgIG1fc3RhdGVtZW50UXVldWUuY2xlYXIoKTsKICAg
ICBtX25leHRTdGVwID0gMDsKIAotICAgIC8vIFJlbGVhc2UgdGhlIHVubmVlZGVkIGNhbGxiYWNr
cywgdG8gYnJlYWsgcmVmZXJlbmNlIGN5Y2xlcy4KLSAgICBtX2NhbGxiYWNrID0gMDsKLSAgICBt
X3N1Y2Nlc3NDYWxsYmFjayA9IDA7Ci0gICAgbV9lcnJvckNhbGxiYWNrID0gMDsKLQogICAgIC8v
IFRoZSBuZXh0IHN0ZXBzIHNob3VsZCBiZSBleGVjdXRlZCBvbmx5IGlmIHdlJ3JlIG9uIHRoZSBE
QiB0aHJlYWQuCiAgICAgaWYgKGN1cnJlbnRUaHJlYWQoKSAhPSBkYXRhYmFzZSgpLT5zY3JpcHRF
eGVjdXRpb25Db250ZXh0KCktPmRhdGFiYXNlVGhyZWFkKCktPmdldFRocmVhZElEKCkpCiAgICAg
ICAgIHJldHVybjsKQEAgLTE4OCw3ICsxODMsNyBAQCBib29sIFNRTFRyYW5zYWN0aW9uOjpwZXJm
b3JtTmV4dFN0ZXAoKQogICAgICAgICAgICBtX25leHRTdGVwID09ICZTUUxUcmFuc2FjdGlvbjo6
Y2xlYW51cEFmdGVyU3VjY2Vzc0NhbGxiYWNrIHx8CiAgICAgICAgICAgIG1fbmV4dFN0ZXAgPT0g
JlNRTFRyYW5zYWN0aW9uOjpjbGVhbnVwQWZ0ZXJUcmFuc2FjdGlvbkVycm9yQ2FsbGJhY2spOwog
Ci0gICAgY2hlY2tBbmRIYW5kbGVDbG9zZWRPckludGVycnVwdGVkRGF0YWJhc2UoKTsKKyAgICBj
aGVja0FuZEhhbmRsZUNsb3NlZERhdGFiYXNlKCk7CiAKICAgICBpZiAobV9uZXh0U3RlcCkKICAg
ICAgICAgKHRoaXMtPiptX25leHRTdGVwKSgpOwpAQCAtMjA3LDcgKzIwMiw3IEBAIHZvaWQgU1FM
VHJhbnNhY3Rpb246OnBlcmZvcm1QZW5kaW5nQ2FsbGJhY2soKQogICAgICAgICAgICBtX25leHRT
dGVwID09ICZTUUxUcmFuc2FjdGlvbjo6ZGVsaXZlclF1b3RhSW5jcmVhc2VDYWxsYmFjayB8fAog
ICAgICAgICAgICBtX25leHRTdGVwID09ICZTUUxUcmFuc2FjdGlvbjo6ZGVsaXZlclN1Y2Nlc3ND
YWxsYmFjayk7CiAKLSAgICBjaGVja0FuZEhhbmRsZUNsb3NlZE9ySW50ZXJydXB0ZWREYXRhYmFz
ZSgpOworICAgIGNoZWNrQW5kSGFuZGxlQ2xvc2VkRGF0YWJhc2UoKTsKIAogICAgIGlmIChtX25l
eHRTdGVwKQogICAgICAgICAodGhpcy0+Km1fbmV4dFN0ZXApKCk7CkBAIC0yOTcsNyArMjkyLDYg
QEAgdm9pZCBTUUxUcmFuc2FjdGlvbjo6ZGVsaXZlclRyYW5zYWN0aW9uQ2FsbGJhY2soKQogICAg
ICAgICBtX2V4ZWN1dGVTcWxBbGxvd2VkID0gdHJ1ZTsKICAgICAgICAgc2hvdWxkRGVsaXZlckVy
cm9yQ2FsbGJhY2sgPSAhbV9jYWxsYmFjay0+aGFuZGxlRXZlbnQobV9kYXRhYmFzZS0+c2NyaXB0
RXhlY3V0aW9uQ29udGV4dCgpLCB0aGlzKTsKICAgICAgICAgbV9leGVjdXRlU3FsQWxsb3dlZCA9
IGZhbHNlOwotICAgICAgICBtX2NhbGxiYWNrID0gMDsKICAgICB9CiAKICAgICAvLyBUcmFuc2Fj
dGlvbiBTdGVwIDUgLSBJZiB0aGUgdHJhbnNhY3Rpb24gY2FsbGJhY2sgd2FzIG51bGwgb3IgcmFp
c2VkIGFuIGV4Y2VwdGlvbiwganVtcCB0byB0aGUgZXJyb3IgY2FsbGJhY2sKQEAgLTQ2NSw3ICs0
NTksNiBAQCB2b2lkIFNRTFRyYW5zYWN0aW9uOjpwb3N0ZmxpZ2h0QW5kQ29tbWl0KCkKIAogICAg
IC8vIElmIHRoZSBjb21taXQgZmFpbGVkLCB0aGUgdHJhbnNhY3Rpb24gd2lsbCBzdGlsbCBiZSBt
YXJrZWQgYXMgImluIHByb2dyZXNzIgogICAgIGlmIChtX3NxbGl0ZVRyYW5zYWN0aW9uLT5pblBy
b2dyZXNzKCkpIHsKLSAgICAgICAgbV9zdWNjZXNzQ2FsbGJhY2sgPSAwOwogICAgICAgICBtX3Ry
YW5zYWN0aW9uRXJyb3IgPSBTUUxFcnJvcjo6Y3JlYXRlKFNRTEVycm9yOjpEQVRBQkFTRV9FUlIs
ICJmYWlsZWQgdG8gY29tbWl0IHRoZSB0cmFuc2FjdGlvbiIpOwogICAgICAgICBoYW5kbGVUcmFu
c2FjdGlvbkVycm9yKGZhbHNlKTsKICAgICAgICAgcmV0dXJuOwpAQCAtNDgwLDYgKzQ3Myw3IEBA
IHZvaWQgU1FMVHJhbnNhY3Rpb246OnBvc3RmbGlnaHRBbmRDb21taXQoKQogICAgICAgICBtX2Rh
dGFiYXNlLT50cmFuc2FjdGlvbkNsaWVudCgpLT5kaWRDb21taXRXcml0ZVRyYW5zYWN0aW9uKGRh
dGFiYXNlKCkpOwogCiAgICAgLy8gTm93IHJlbGVhc2Ugb3VyIHVubmVlZGVkIGNhbGxiYWNrcywg
dG8gYnJlYWsgcmVmZXJlbmNlIGN5Y2xlcy4KKyAgICBtX2NhbGxiYWNrID0gMDsKICAgICBtX2Vy
cm9yQ2FsbGJhY2sgPSAwOwogCiAgICAgLy8gVHJhbnNhY3Rpb24gU3RlcCAxMCAtIERlbGl2ZXIg
c3VjY2VzcyBjYWxsYmFjaywgaWYgdGhlcmUgaXMgb25lCkBAIC01NTIsMTAgKzU0Niw4IEBAIHZv
aWQgU1FMVHJhbnNhY3Rpb246OmRlbGl2ZXJUcmFuc2FjdGlvbkVycm9yQ2FsbGJhY2soKQogCiAg
ICAgLy8gVHJhbnNhY3Rpb24gU3RlcCAxMiAtIElmIGV4aXN0cywgaW52b2tlIGVycm9yIGNhbGxi
YWNrIHdpdGggdGhlIGxhc3QKICAgICAvLyBlcnJvciB0byBoYXZlIG9jY3VycmVkIGluIHRoaXMg
dHJhbnNhY3Rpb24uCi0gICAgaWYgKG1fZXJyb3JDYWxsYmFjaykgeworICAgIGlmIChtX2Vycm9y
Q2FsbGJhY2spCiAgICAgICAgIG1fZXJyb3JDYWxsYmFjay0+aGFuZGxlRXZlbnQobV9kYXRhYmFz
ZS0+c2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpLCBtX3RyYW5zYWN0aW9uRXJyb3IuZ2V0KCkpOwot
ICAgICAgICBtX2Vycm9yQ2FsbGJhY2sgPSAwOwotICAgIH0KIAogICAgIG1fbmV4dFN0ZXAgPSAm
U1FMVHJhbnNhY3Rpb246OmNsZWFudXBBZnRlclRyYW5zYWN0aW9uRXJyb3JDYWxsYmFjazsKICAg
ICBMT0coU3RvcmFnZUFQSSwgIlNjaGVkdWxpbmcgY2xlYW51cEFmdGVyVHJhbnNhY3Rpb25FcnJv
ckNhbGxiYWNrIGZvciB0cmFuc2FjdGlvbiAlcFxuIiwgdGhpcyk7CkBAIC01ODcsNiArNTc5LDEw
IEBAIHZvaWQgU1FMVHJhbnNhY3Rpb246OmNsZWFudXBBZnRlclRyYW5zYWN0aW9uRXJyb3JDYWxs
YmFjaygpCiAgICAgQVNTRVJUKCFtX2RhdGFiYXNlLT5zcWxpdGVEYXRhYmFzZSgpLnRyYW5zYWN0
aW9uSW5Qcm9ncmVzcygpKTsKICAgICBtX25leHRTdGVwID0gMDsKIAorICAgIC8vIE5vdyByZWxl
YXNlIG91ciBjYWxsYmFja3MsIHRvIGJyZWFrIHJlZmVyZW5jZSBjeWNsZXMuCisgICAgbV9jYWxs
YmFjayA9IDA7CisgICAgbV9lcnJvckNhbGxiYWNrID0gMDsKKwogICAgIC8vIE5vdyByZWxlYXNl
IHRoZSBsb2NrIG9uIHRoaXMgZGF0YWJhc2UKICAgICBtX2RhdGFiYXNlLT50cmFuc2FjdGlvbkNv
b3JkaW5hdG9yKCktPnJlbGVhc2VMb2NrKHRoaXMpOwogfQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9z
dG9yYWdlL1NRTFRyYW5zYWN0aW9uLmggYi9XZWJDb3JlL3N0b3JhZ2UvU1FMVHJhbnNhY3Rpb24u
aAppbmRleCAyZWIyMDBiMGU5ZTU3YWMwZGFkMWQ0YWZiZWIzZDJmZjQ0ODNlMjY3Li41YzYyY2Ey
Y2ZlMDE0NGU1MmVhMmYyMjYzY2ZjNTM3ZDUzNzk5ZDNkIDEwMDY0NAotLS0gYS9XZWJDb3JlL3N0
b3JhZ2UvU1FMVHJhbnNhY3Rpb24uaAorKysgYi9XZWJDb3JlL3N0b3JhZ2UvU1FMVHJhbnNhY3Rp
b24uaApAQCAtODcsNyArODcsNyBAQCBwcml2YXRlOgogCiAgICAgdm9pZCBlbnF1ZXVlU3RhdGVt
ZW50KFBhc3NSZWZQdHI8U1FMU3RhdGVtZW50Pik7CiAKLSAgICB2b2lkIGNoZWNrQW5kSGFuZGxl
Q2xvc2VkT3JJbnRlcnJ1cHRlZERhdGFiYXNlKCk7CisgICAgdm9pZCBjaGVja0FuZEhhbmRsZUNs
b3NlZERhdGFiYXNlKCk7CiAKICAgICB2b2lkIGFjcXVpcmVMb2NrKCk7CiAgICAgdm9pZCBvcGVu
VHJhbnNhY3Rpb25BbmRQcmVmbGlnaHQoKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvc3RvcmFnZS9j
aHJvbWl1bS9EYXRhYmFzZVRyYWNrZXJDaHJvbWl1bS5jcHAgYi9XZWJDb3JlL3N0b3JhZ2UvY2hy
b21pdW0vRGF0YWJhc2VUcmFja2VyQ2hyb21pdW0uY3BwCmluZGV4IDM2MWUyMDM5NzRhYTU1NzAx
M2ZjYmY1NGU5NjNjMTdjMGY2NTQ1ODguLmFhZDRlZDljMWNkNzAwYzNlN2M5ODIzYmJkZTRkZWU3
NzZlZmIxYmQgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvc3RvcmFnZS9jaHJvbWl1bS9EYXRhYmFzZVRy
YWNrZXJDaHJvbWl1bS5jcHAKKysrIGIvV2ViQ29yZS9zdG9yYWdlL2Nocm9taXVtL0RhdGFiYXNl
VHJhY2tlckNocm9taXVtLmNwcApAQCAtMTc0LDM1ICsxNzQsNiBAQCB1bnNpZ25lZCBsb25nIGxv
bmcgRGF0YWJhc2VUcmFja2VyOjpnZXRNYXhTaXplRm9yRGF0YWJhc2UoY29uc3QgQWJzdHJhY3RE
YXRhYmFzZQogICAgIHJldHVybiBkYXRhYmFzZVNpemUgKyBzcGFjZUF2YWlsYWJsZTsKIH0KIAot
dm9pZCBEYXRhYmFzZVRyYWNrZXI6OmludGVycnVwdEFsbERhdGFiYXNlc0ZvckNvbnRleHQoY29u
c3QgU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogY29udGV4dCkKLXsKLSAgICBWZWN0b3I8UmVmUHRy
PEFic3RyYWN0RGF0YWJhc2U+ID4gb3BlbkRhdGFiYXNlczsKLSAgICB7Ci0gICAgICAgIE11dGV4
TG9ja2VyIG9wZW5EYXRhYmFzZU1hcExvY2sobV9vcGVuRGF0YWJhc2VNYXBHdWFyZCk7Ci0KLSAg
ICAgICAgaWYgKCFtX29wZW5EYXRhYmFzZU1hcCkKLSAgICAgICAgICAgIHJldHVybjsKLQotICAg
ICAgICBEYXRhYmFzZU5hbWVNYXAqIG5hbWVNYXAgPSBtX29wZW5EYXRhYmFzZU1hcC0+Z2V0KGNv
bnRleHQtPnNlY3VyaXR5T3JpZ2luKCkpOwotICAgICAgICBpZiAoIW5hbWVNYXApCi0gICAgICAg
ICAgICByZXR1cm47Ci0KLSAgICAgICAgRGF0YWJhc2VOYW1lTWFwOjpjb25zdF9pdGVyYXRvciBk
Yk5hbWVNYXBFbmRJdCA9IG5hbWVNYXAtPmVuZCgpOwotICAgICAgICBmb3IgKERhdGFiYXNlTmFt
ZU1hcDo6Y29uc3RfaXRlcmF0b3IgZGJOYW1lTWFwSXQgPSBuYW1lTWFwLT5iZWdpbigpOyBkYk5h
bWVNYXBJdCAhPSBkYk5hbWVNYXBFbmRJdDsgKytkYk5hbWVNYXBJdCkgewotICAgICAgICAgICAg
RGF0YWJhc2VTZXQqIGRhdGFiYXNlU2V0ID0gZGJOYW1lTWFwSXQtPnNlY29uZDsKLSAgICAgICAg
ICAgIERhdGFiYXNlU2V0Ojpjb25zdF9pdGVyYXRvciBkYlNldEVuZEl0ID0gZGF0YWJhc2VTZXQt
PmVuZCgpOwotICAgICAgICAgICAgZm9yIChEYXRhYmFzZVNldDo6Y29uc3RfaXRlcmF0b3IgZGJT
ZXRJdCA9IGRhdGFiYXNlU2V0LT5iZWdpbigpOyBkYlNldEl0ICE9IGRiU2V0RW5kSXQ7ICsrZGJT
ZXRJdCkgewotICAgICAgICAgICAgICAgIGlmICgoKmRiU2V0SXQpLT5zY3JpcHRFeGVjdXRpb25D
b250ZXh0KCkgPT0gY29udGV4dCkKLSAgICAgICAgICAgICAgICAgICAgb3BlbkRhdGFiYXNlcy5h
cHBlbmQoKmRiU2V0SXQpOwotICAgICAgICAgICAgfQotICAgICAgICB9Ci0gICAgfQotCi0gICAg
VmVjdG9yPFJlZlB0cjxBYnN0cmFjdERhdGFiYXNlPiA+Ojpjb25zdF9pdGVyYXRvciBvcGVuRGF0
YWJhc2VzRW5kSXQgPSBvcGVuRGF0YWJhc2VzLmVuZCgpOwotICAgIGZvciAoVmVjdG9yPFJlZlB0
cjxBYnN0cmFjdERhdGFiYXNlPiA+Ojpjb25zdF9pdGVyYXRvciBvcGVuRGF0YWJhc2VzSXQgPSBv
cGVuRGF0YWJhc2VzLmJlZ2luKCk7IG9wZW5EYXRhYmFzZXNJdCAhPSBvcGVuRGF0YWJhc2VzRW5k
SXQ7ICsrb3BlbkRhdGFiYXNlc0l0KQotICAgICAgICAoKm9wZW5EYXRhYmFzZXNJdCktPmludGVy
cnVwdCgpOwotfQotCiB9CiAKICNlbmRpZiAvLyBFTkFCTEUoREFUQUJBU0UpCmRpZmYgLS1naXQg
YS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyVGhyZWFkLmNwcCBiL1dlYkNvcmUvd29ya2Vycy9Xb3Jr
ZXJUaHJlYWQuY3BwCmluZGV4IGQ2YTFlMDU3ZDNlZDgxOGEzNzhlNzUzNjY2OWYzYTBhN2I5NDU3
ZmUuLjk2Y2E4OWI2OTUyMzY1ZjIyZTdlODJjMGE5ZjdiZGFkZTUyZTFkMzAgMTAwNjQ0Ci0tLSBh
L1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJUaHJlYWQuY3BwCisrKyBiL1dlYkNvcmUvd29ya2Vycy9X
b3JrZXJUaHJlYWQuY3BwCkBAIC0zMCw2ICszMCw3IEBACiAKICNpbmNsdWRlICJXb3JrZXJUaHJl
YWQuaCIKIAorI2luY2x1ZGUgIkRhdGFiYXNlVGFzay5oIgogI2luY2x1ZGUgIkRlZGljYXRlZFdv
cmtlckNvbnRleHQuaCIKICNpbmNsdWRlICJLVVJMLmgiCiAjaW5jbHVkZSAiUGxhdGZvcm1TdHJp
bmcuaCIKQEAgLTQwLDExICs0MSw2IEBACiAjaW5jbHVkZSA8dXRpbGl0eT4KICNpbmNsdWRlIDx3
dGYvTm9uY29weWFibGUuaD4KIAotI2lmIEVOQUJMRShEQVRBQkFTRSkKLSNpbmNsdWRlICJEYXRh
YmFzZVRhc2suaCIKLSNpbmNsdWRlICJEYXRhYmFzZVRyYWNrZXIuaCIKLSNlbmRpZgotCiBuYW1l
c3BhY2UgV2ViQ29yZSB7CiAKIHN0YXRpYyBNdXRleCYgdGhyZWFkQ291bnRNdXRleCgpCkBAIC0y
MjksMTAgKzIyNSw2IEBAIHZvaWQgV29ya2VyVGhyZWFkOjpzdG9wKCkKICAgICBpZiAobV93b3Jr
ZXJDb250ZXh0KSB7CiAgICAgICAgIG1fd29ya2VyQ29udGV4dC0+c2NyaXB0KCktPmZvcmJpZEV4
ZWN1dGlvbihXb3JrZXJTY3JpcHRDb250cm9sbGVyOjpUZXJtaW5hdGVSdW5uaW5nU2NyaXB0KTsK
IAotI2lmIEVOQUJMRShEQVRBQkFTRSkKLSAgICAgICAgRGF0YWJhc2VUcmFja2VyOjp0cmFja2Vy
KCkuaW50ZXJydXB0QWxsRGF0YWJhc2VzRm9yQ29udGV4dChtX3dvcmtlckNvbnRleHQuZ2V0KCkp
OwotI2VuZGlmCi0KICAgICAvLyBGSVhNRTogUnVkZWx5IGtpbGxpbmcgdGhlIHRocmVhZCB3b24n
dCB3b3JrIHdoZW4gd2UgYWxsb3cgbmVzdGVkIHdvcmtlcnMsIGJlY2F1c2UgdGhleSB3aWxsIHRy
eSB0byBwb3N0IG5vdGlmaWNhdGlvbnMgb2YgdGhlaXIgZGVzdHJ1Y3Rpb24uCiAgICAgLy8gVGhp
cyBjYW4gbGlrZWx5IHVzZSB0aGUgc2FtZSBtZWNoYW5pc20gYXMgdXNlZCBmb3IgZGF0YWJhc2Vz
IGFib3ZlLgogCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>