<?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>41494</bug_id>
          
          <creation_ts>2010-07-01 17:08:09 -0700</creation_ts>
          <short_desc>REGRESSION(r62321): Broke the non-win builds. (Requested by dumi on #webkit).</short_desc>
          <delta_ts>2010-07-01 17:20:13 -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>41404</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>dumi</cc>
    
    <cc>fishd</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>245667</commentid>
    <comment_count>0</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-07-01 17:08:09 -0700</bug_when>
    <thetext>http://trac.webkit.org/changeset/62321 broke the build:
Broke the non-win builds. (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>245668</commentid>
    <comment_count>1</comment_count>
      <attachid>60318</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-07-01 17:08:17 -0700</bug_when>
    <thetext>Created attachment 60318
ROLLOUT of r62321

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>245672</commentid>
    <comment_count>2</comment_count>
      <attachid>60318</attachid>
    <who name="Dumitru Daniliuc">dumi</who>
    <bug_when>2010-07-01 17:20:08 -0700</bug_when>
    <thetext>Comment on attachment 60318
ROLLOUT of r62321

Clearing flags on attachment: 60318

Committed r62335: &lt;http://trac.webkit.org/changeset/62335&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>245673</commentid>
    <comment_count>3</comment_count>
    <who name="Dumitru Daniliuc">dumi</who>
    <bug_when>2010-07-01 17:20:13 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>60318</attachid>
            <date>2010-07-01 17:08:17 -0700</date>
            <delta_ts>2010-07-01 17:20:08 -0700</delta_ts>
            <desc>ROLLOUT of r62321</desc>
            <filename>bug-41494-20100702000816.patch</filename>
            <type>text/plain</type>
            <size>27113</size>
            <attacher name="WebKit Review Bot">webkit.review.bot</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCA3YjhkNGExYTFmYzgyMzA0MjY4ZjY1Y2I4ODM2YzRiMzVkZmIxNWMzLi41ZjhhOWUz
NmQ4MmNiYzE1YmMwNzU1OGZjMGU4MmU2ZDY2MTYwNDJjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAK
KzIwMTAtMDctMDEgIFNoZXJpZmYgQm90ICA8d2Via2l0LnJldmlldy5ib3RAZ21haWwuY29tPgor
CisgICAgICAgIFVucmV2aWV3ZWQsIHJvbGxpbmcgb3V0IHI2MjMyMS4KKyAgICAgICAgaHR0cDov
L3RyYWMud2Via2l0Lm9yZy9jaGFuZ2VzZXQvNjIzMjEKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTQxNDk0CisKKyAgICAgICAgQnJva2UgdGhlIG5vbi13
aW4gYnVpbGRzLiAoUmVxdWVzdGVkIGJ5IGR1bWkgb24gI3dlYmtpdCkuCisKKyAgICAgICAgKiBz
dG9yYWdlL29wZW4tZGF0YWJhc2UtY3JlYXRpb24tY2FsbGJhY2suaHRtbDoKKwogMjAxMC0wNi0z
MCAgRHVtaXRydSBEYW5pbGl1YyAgPGR1bWlAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFJldmll
d2VkIGJ5IERhcmluIEZpc2hlci4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2Uvb3Bl
bi1kYXRhYmFzZS1jcmVhdGlvbi1jYWxsYmFjay5odG1sIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9v
cGVuLWRhdGFiYXNlLWNyZWF0aW9uLWNhbGxiYWNrLmh0bWwKaW5kZXggMDgxNjQ1YzQ1ZWU3NGQ0
YjYxYWEwMTk4MDM0YTk0YThkNGE3ZTM1OS4uYWMyNDk0MmRmMWE1ZGE0NGIxNWQzMzk5ODVkZTYy
NWYzNTY5NGMzMSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9vcGVuLWRhdGFiYXNl
LWNyZWF0aW9uLWNhbGxiYWNrLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9vcGVuLWRh
dGFiYXNlLWNyZWF0aW9uLWNhbGxiYWNrLmh0bWwKQEAgLTI2LDggKzI2LDcgQEAgZnVuY3Rpb24g
cnVuVGVzdCgpCiAKICAgICAvLyBPcGVuIGEgbmV3IGRhdGFiYXNlIHdpdGggYSBjcmVhdGlvbiBj
YWxsYmFjaywgYW5kIG1ha2Ugc3VyZSB0aGUgY3JlYXRpb24gY2FsbGJhY2sgaXMgcXVldWVkCiAg
ICAgdmFyIGNyZWF0aW9uQ2FsbGJhY2tDYWxsZWQxID0gZmFsc2U7Ci0gICAgdmFyIGRiMU5hbWUg
PSAiT3BlbkRhdGFiYXNlQ3JlYXRpb25DYWxsYmFjazEiICsgKG5ldyBEYXRlKCkpLmdldFRpbWUo
KTsKLSAgICB2YXIgZGIxID0gb3BlbkRhdGFiYXNlKGRiMU5hbWUsICIxLjAiLCAiIiwgMSwKKyAg
ICB2YXIgZGIxID0gb3BlbkRhdGFiYXNlKCJPcGVuRGF0YWJhc2VDcmVhdGlvbkNhbGxiYWNrMSIs
ICIxLjAiLCAiIiwgMSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZ1bmN0aW9uKGRiKSB7
CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY3JlYXRpb25DYWxsYmFja0NhbGxlZDEg
PSB0cnVlOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChkYi52ZXJzaW9uICE9
ICIiKSB7CkBAIC01Myw3ICs1Miw3IEBAIGZ1bmN0aW9uIHJ1blRlc3QoKQogICAgIC8vIGEgbnVs
bCBoYW5kbGUgYW5kIHRocm93IGEgSU5WQUxJRF9TVEFURV9FUlIgZXhjZXB0aW9uLgogICAgIHZh
ciBkYjFGYWlsID0gbnVsbDsKICAgICB0cnkgewotICAgICAgICBkYjFGYWlsID0gb3BlbkRhdGFi
YXNlKGRiMU5hbWUsICIxLjAiLCAiIiwgMSk7CisgICAgICAgIGRiMUZhaWwgPSBvcGVuRGF0YWJh
c2UoIk9wZW5EYXRhYmFzZUNyZWF0aW9uQ2FsbGJhY2sxIiwgIjEuMCIsICIiLCAxKTsKICAgICAg
ICAgbG9nKCJUaGlzIHN0YXRlbWVudCBzaG91bGQgbm90IGhhdmUgYmVlbiBleGVjdXRlZDsgYW4g
SU5WQUxJRF9TVEFURV9FUlIgZXhjZXB0aW9uIHNob3VsZCd2ZSBiZWVuIHRocm93bi4iKTsKICAg
ICAgICAgZmluaXNoVGVzdCgpOwogICAgIH0gY2F0Y2goZXJyKSB7CmRpZmYgLS1naXQgYS9XZWJD
b3JlL0NoYW5nZUxvZyBiL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IDk4OWU5MjZmYzQ2NGRiMjlk
YzVjOWQxZTU0YTFmMWQyZjM0MThhMjMuLmJkZjUzYTNmYzIyY2Y2Y2NmMmM3NjI1ODNhYTU4MThk
MWM4ODU3YjcgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1dlYkNvcmUvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsNTkgQEAKKzIwMTAtMDctMDEgIFNoZXJpZmYgQm90ICA8d2Via2l0
LnJldmlldy5ib3RAZ21haWwuY29tPgorCisgICAgICAgIFVucmV2aWV3ZWQsIHJvbGxpbmcgb3V0
IHI2MjMyMS4KKyAgICAgICAgaHR0cDovL3RyYWMud2Via2l0Lm9yZy9jaGFuZ2VzZXQvNjIzMjEK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTQxNDk0CisK
KyAgICAgICAgQnJva2UgdGhlIG5vbi13aW4gYnVpbGRzLiAoUmVxdWVzdGVkIGJ5IGR1bWkgb24g
I3dlYmtpdCkuCisKKyAgICAgICAgKiBkb20vU2NyaXB0RXhlY3V0aW9uQ29udGV4dC5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpTY3JpcHRFeGVjdXRpb25Db250ZXh0OjphZGRPcGVuRGF0YWJhc2Up
OgorICAgICAgICAoV2ViQ29yZTo6U2NyaXB0RXhlY3V0aW9uQ29udGV4dDo6cmVtb3ZlT3BlbkRh
dGFiYXNlKToKKyAgICAgICAgKFdlYkNvcmU6OlNjcmlwdEV4ZWN1dGlvbkNvbnRleHQ6OnN0b3BE
YXRhYmFzZXMpOgorICAgICAgICAqIGRvbS9TY3JpcHRFeGVjdXRpb25Db250ZXh0Lmg6CisgICAg
ICAgICogc3RvcmFnZS9EYXRhYmFzZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpEYXRhYmFzZTo6
b3BlbkRhdGFiYXNlKToKKyAgICAgICAgKFdlYkNvcmU6OkRhdGFiYXNlOjpEYXRhYmFzZSk6Cisg
ICAgICAgIChXZWJDb3JlOjpEYXRhYmFzZTo6bWFya0FzRGVsZXRlZEFuZENsb3NlKToKKyAgICAg
ICAgKFdlYkNvcmU6OkNvbnRleHRSZW1vdmVPcGVuRGF0YWJhc2VUYXNrOjpjcmVhdGUpOgorICAg
ICAgICAoV2ViQ29yZTo6Q29udGV4dFJlbW92ZU9wZW5EYXRhYmFzZVRhc2s6OnBlcmZvcm1UYXNr
KToKKyAgICAgICAgKFdlYkNvcmU6OkNvbnRleHRSZW1vdmVPcGVuRGF0YWJhc2VUYXNrOjppc0Ns
ZWFudXBUYXNrKToKKyAgICAgICAgKFdlYkNvcmU6OkNvbnRleHRSZW1vdmVPcGVuRGF0YWJhc2VU
YXNrOjpDb250ZXh0UmVtb3ZlT3BlbkRhdGFiYXNlVGFzayk6CisgICAgICAgIChXZWJDb3JlOjpE
YXRhYmFzZTo6Y2xvc2UpOgorICAgICAgICAoV2ViQ29yZTo6RGF0YWJhc2U6OmNsb3NlSW1tZWRp
YXRlbHkpOgorICAgICAgICAoV2ViQ29yZTo6RGF0YWJhc2U6OnN0b3ApOgorICAgICAgICAoV2Vi
Q29yZTo6RGF0YWJhc2U6OnBlcmZvcm1Qb2xpY3lDaGVja3MpOgorICAgICAgICAqIHN0b3JhZ2Uv
RGF0YWJhc2UuaDoKKyAgICAgICAgKFdlYkNvcmU6OkRhdGFiYXNlOjopOgorICAgICAgICAoV2Vi
Q29yZTo6RGF0YWJhc2U6OnN0b3BwZWQpOgorICAgICAgICAqIHN0b3JhZ2UvRGF0YWJhc2VUYXNr
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkRhdGFiYXNlVGFzazo6cGVyZm9ybVRhc2spOgorICAg
ICAgICAoV2ViQ29yZTo6RGF0YWJhc2VPcGVuVGFzazo6RGF0YWJhc2VPcGVuVGFzayk6CisgICAg
ICAgIChXZWJDb3JlOjpEYXRhYmFzZU9wZW5UYXNrOjpkb1BlcmZvcm1UYXNrKToKKyAgICAgICAg
KFdlYkNvcmU6OkRhdGFiYXNlT3BlblRhc2s6OmRlYnVnVGFza05hbWUpOgorICAgICAgICAoV2Vi
Q29yZTo6RGF0YWJhc2VDbG9zZVRhc2s6OkRhdGFiYXNlQ2xvc2VUYXNrKToKKyAgICAgICAgKFdl
YkNvcmU6OkRhdGFiYXNlQ2xvc2VUYXNrOjpkb1BlcmZvcm1UYXNrKToKKyAgICAgICAgKFdlYkNv
cmU6OkRhdGFiYXNlQ2xvc2VUYXNrOjpkZWJ1Z1Rhc2tOYW1lKToKKyAgICAgICAgKFdlYkNvcmU6
OkRhdGFiYXNlVHJhbnNhY3Rpb25UYXNrOjpEYXRhYmFzZVRyYW5zYWN0aW9uVGFzayk6CisgICAg
ICAgIChXZWJDb3JlOjpEYXRhYmFzZVRyYW5zYWN0aW9uVGFzazo6fkRhdGFiYXNlVHJhbnNhY3Rp
b25UYXNrKToKKyAgICAgICAgKFdlYkNvcmU6OkRhdGFiYXNlVHJhbnNhY3Rpb25UYXNrOjpkb1Bl
cmZvcm1UYXNrKToKKyAgICAgICAgKFdlYkNvcmU6OkRhdGFiYXNlVHJhbnNhY3Rpb25UYXNrOjpk
ZWJ1Z1Rhc2tOYW1lKToKKyAgICAgICAgKFdlYkNvcmU6OkRhdGFiYXNlVGFibGVOYW1lc1Rhc2s6
OkRhdGFiYXNlVGFibGVOYW1lc1Rhc2spOgorICAgICAgICAoV2ViQ29yZTo6RGF0YWJhc2VUYWJs
ZU5hbWVzVGFzazo6ZG9QZXJmb3JtVGFzayk6CisgICAgICAgIChXZWJDb3JlOjpEYXRhYmFzZVRh
YmxlTmFtZXNUYXNrOjpkZWJ1Z1Rhc2tOYW1lKToKKyAgICAgICAgKiBzdG9yYWdlL0RhdGFiYXNl
VGFzay5oOgorICAgICAgICAoV2ViQ29yZTo6RGF0YWJhc2VPcGVuVGFzazo6Y3JlYXRlKToKKyAg
ICAgICAgKFdlYkNvcmU6OkRhdGFiYXNlQ2xvc2VUYXNrOjpjcmVhdGUpOgorICAgICAgICAoV2Vi
Q29yZTo6RGF0YWJhc2VUcmFuc2FjdGlvblRhc2s6OmNyZWF0ZSk6CisgICAgICAgIChXZWJDb3Jl
OjpEYXRhYmFzZVRhYmxlTmFtZXNUYXNrOjpjcmVhdGUpOgorICAgICAgICAqIHN0b3JhZ2UvRGF0
YWJhc2VUaHJlYWQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RGF0YWJhc2VUaHJlYWQ6OmRhdGFi
YXNlVGhyZWFkKToKKyAgICAgICAgKiBzdG9yYWdlL0RhdGFiYXNlVHJhY2tlci5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpEYXRhYmFzZVRyYWNrZXI6OmFkZE9wZW5EYXRhYmFzZSk6CisgICAgICAg
ICogc3RvcmFnZS9TUUxUcmFuc2FjdGlvbi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTUUxUcmFu
c2FjdGlvbjo6ZXhlY3V0ZVNRTCk6CisgICAgICAgIChXZWJDb3JlOjpTUUxUcmFuc2FjdGlvbjo6
Y2hlY2tBbmRIYW5kbGVDbG9zZWREYXRhYmFzZSk6CisKIDIwMTAtMDctMDEgIFhhbiBMb3BleiAg
PHhsb3BlekBpZ2FsaWEuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IEd1c3Rhdm8gTm9yb25o
YS4KZGlmZiAtLWdpdCBhL1dlYkNvcmUvZG9tL1NjcmlwdEV4ZWN1dGlvbkNvbnRleHQuY3BwIGIv
V2ViQ29yZS9kb20vU2NyaXB0RXhlY3V0aW9uQ29udGV4dC5jcHAKaW5kZXggMjkxMjQzZDIzMzVj
ODljZDEzMDk5N2MwODZjOGMzM2MyMzYyZTY3NS4uMjI2YWFkODYwZTM4NzMwODdjZTIwMWNiMTcx
Mzc5N2ZmNDhkMGU5ZSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9kb20vU2NyaXB0RXhlY3V0aW9uQ29u
dGV4dC5jcHAKKysrIGIvV2ViQ29yZS9kb20vU2NyaXB0RXhlY3V0aW9uQ29udGV4dC5jcHAKQEAg
LTEwOSw5ICsxMDksMzggQEAgRGF0YWJhc2VUaHJlYWQqIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQ6
OmRhdGFiYXNlVGhyZWFkKCkKICAgICByZXR1cm4gbV9kYXRhYmFzZVRocmVhZC5nZXQoKTsKIH0K
IAordm9pZCBTY3JpcHRFeGVjdXRpb25Db250ZXh0OjphZGRPcGVuRGF0YWJhc2UoRGF0YWJhc2Uq
IGRhdGFiYXNlKQoreworICAgIEFTU0VSVChpc0NvbnRleHRUaHJlYWQoKSk7CisgICAgaWYgKCFt
X29wZW5EYXRhYmFzZVNldCkKKyAgICAgICAgbV9vcGVuRGF0YWJhc2VTZXQuc2V0KG5ldyBEYXRh
YmFzZVNldCgpKTsKKworICAgIEFTU0VSVCghbV9vcGVuRGF0YWJhc2VTZXQtPmNvbnRhaW5zKGRh
dGFiYXNlKSk7CisgICAgbV9vcGVuRGF0YWJhc2VTZXQtPmFkZChkYXRhYmFzZSk7Cit9CisKK3Zv
aWQgU2NyaXB0RXhlY3V0aW9uQ29udGV4dDo6cmVtb3ZlT3BlbkRhdGFiYXNlKERhdGFiYXNlKiBk
YXRhYmFzZSkKK3sKKyAgICBBU1NFUlQoaXNDb250ZXh0VGhyZWFkKCkpOworICAgIEFTU0VSVCht
X29wZW5EYXRhYmFzZVNldCAmJiBtX29wZW5EYXRhYmFzZVNldC0+Y29udGFpbnMoZGF0YWJhc2Up
KTsKKyAgICBpZiAoIW1fb3BlbkRhdGFiYXNlU2V0KQorICAgICAgICByZXR1cm47CisgICAgbV9v
cGVuRGF0YWJhc2VTZXQtPnJlbW92ZShkYXRhYmFzZSk7Cit9CisKIHZvaWQgU2NyaXB0RXhlY3V0
aW9uQ29udGV4dDo6c3RvcERhdGFiYXNlcyhEYXRhYmFzZVRhc2tTeW5jaHJvbml6ZXIqIGNsZWFu
dXBTeW5jKQogewogICAgIEFTU0VSVChpc0NvbnRleHRUaHJlYWQoKSk7CisgICAgaWYgKG1fb3Bl
bkRhdGFiYXNlU2V0KSB7CisgICAgICAgIERhdGFiYXNlU2V0OjppdGVyYXRvciBpID0gbV9vcGVu
RGF0YWJhc2VTZXQtPmJlZ2luKCk7CisgICAgICAgIERhdGFiYXNlU2V0OjppdGVyYXRvciBlbmQg
PSBtX29wZW5EYXRhYmFzZVNldC0+ZW5kKCk7CisgICAgICAgIGZvciAoOyBpICE9IGVuZDsgKytp
KSB7CisgICAgICAgICAgICAoKmkpLT5zdG9wKCk7CisgICAgICAgICAgICBpZiAobV9kYXRhYmFz
ZVRocmVhZCkKKyAgICAgICAgICAgICAgICBtX2RhdGFiYXNlVGhyZWFkLT51bnNjaGVkdWxlRGF0
YWJhc2VUYXNrcygqaSk7CisgICAgICAgIH0KKyAgICB9CisgICAgCiAgICAgaWYgKG1fZGF0YWJh
c2VUaHJlYWQpCiAgICAgICAgIG1fZGF0YWJhc2VUaHJlYWQtPnJlcXVlc3RUZXJtaW5hdGlvbihj
bGVhbnVwU3luYyk7CiAgICAgZWxzZSBpZiAoY2xlYW51cFN5bmMpCmRpZmYgLS1naXQgYS9XZWJD
b3JlL2RvbS9TY3JpcHRFeGVjdXRpb25Db250ZXh0LmggYi9XZWJDb3JlL2RvbS9TY3JpcHRFeGVj
dXRpb25Db250ZXh0LmgKaW5kZXggNGNkNDgzYWIxZjUzN2E3ZWFmNjFlODc3MGM3YTgxMTUzMjQ2
YWFmZi4uMThlMmNkMGM3NDRhZWU0MGQyMDQ1MjY4Yzc4ZDgwNGVlYzA4NzY4MSAxMDA2NDQKLS0t
IGEvV2ViQ29yZS9kb20vU2NyaXB0RXhlY3V0aW9uQ29udGV4dC5oCisrKyBiL1dlYkNvcmUvZG9t
L1NjcmlwdEV4ZWN1dGlvbkNvbnRleHQuaApAQCAtNzAsNiArNzAsOCBAQCBuYW1lc3BhY2UgV2Vi
Q29yZSB7CiAgICAgICAgIERhdGFiYXNlVGhyZWFkKiBkYXRhYmFzZVRocmVhZCgpOwogICAgICAg
ICB2b2lkIHNldEhhc09wZW5EYXRhYmFzZXMoKSB7IG1faGFzT3BlbkRhdGFiYXNlcyA9IHRydWU7
IH0KICAgICAgICAgYm9vbCBoYXNPcGVuRGF0YWJhc2VzKCkgY29uc3QgeyByZXR1cm4gbV9oYXNP
cGVuRGF0YWJhc2VzOyB9CisgICAgICAgIHZvaWQgYWRkT3BlbkRhdGFiYXNlKERhdGFiYXNlKik7
CisgICAgICAgIHZvaWQgcmVtb3ZlT3BlbkRhdGFiYXNlKERhdGFiYXNlKik7CiAgICAgICAgIC8v
IFdoZW4gdGhlIGRhdGFiYXNlIGNsZWFudXAgaXMgZG9uZSwgY2xlYW51cFN5bmMgd2lsbCBiZSBz
aWduYWxsZWQuCiAgICAgICAgIHZvaWQgc3RvcERhdGFiYXNlcyhEYXRhYmFzZVRhc2tTeW5jaHJv
bml6ZXIqKTsKICNlbmRpZgpAQCAtMTU4LDYgKzE2MCw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsK
ICNpZiBFTkFCTEUoREFUQUJBU0UpCiAgICAgICAgIFJlZlB0cjxEYXRhYmFzZVRocmVhZD4gbV9k
YXRhYmFzZVRocmVhZDsKICAgICAgICAgYm9vbCBtX2hhc09wZW5EYXRhYmFzZXM7IC8vIFRoaXMg
bmV2ZXIgY2hhbmdlcyBiYWNrIHRvIGZhbHNlLCBldmVuIGFmdGVyIHRoZSBkYXRhYmFzZSB0aHJl
YWQgaXMgY2xvc2VkLgorICAgICAgICB0eXBlZGVmIEhhc2hTZXQ8RGF0YWJhc2UqID4gRGF0YWJh
c2VTZXQ7CisgICAgICAgIE93blB0cjxEYXRhYmFzZVNldD4gbV9vcGVuRGF0YWJhc2VTZXQ7CiAj
ZW5kaWYKIAogI2lmIEVOQUJMRShGSUxFX1JFQURFUikgfHwgRU5BQkxFKEZJTEVfV1JJVEVSKQpk
aWZmIC0tZ2l0IGEvV2ViQ29yZS9zdG9yYWdlL0RhdGFiYXNlLmNwcCBiL1dlYkNvcmUvc3RvcmFn
ZS9EYXRhYmFzZS5jcHAKaW5kZXggMzAwODdlZWQ1NDNkODZkMTBmYTlmZTU0Zjg4Y2IyMjhiYTUz
NzQ2Ny4uYWMwZGI0MWM2NzUzMWEwMjAyMTlkZjIwOTcyOTRjZDUzZjgwZWFmNyAxMDA2NDQKLS0t
IGEvV2ViQ29yZS9zdG9yYWdlL0RhdGFiYXNlLmNwcAorKysgYi9XZWJDb3JlL3N0b3JhZ2UvRGF0
YWJhc2UuY3BwCkBAIC05OSw2ICs5OSw3IEBAIFBhc3NSZWZQdHI8RGF0YWJhc2U+IERhdGFiYXNl
OjpvcGVuRGF0YWJhc2UoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogY29udGV4dCwgY29uCiAKICAg
ICBpZiAoIWRhdGFiYXNlLT5vcGVuQW5kVmVyaWZ5VmVyc2lvbighY3JlYXRpb25DYWxsYmFjaywg
ZSkpIHsKICAgICAgICAgTE9HKFN0b3JhZ2VBUEksICJGYWlsZWQgdG8gb3BlbiBhbmQgdmVyaWZ5
IHZlcnNpb24gKGV4cGVjdGVkICVzKSBvZiBkYXRhYmFzZSAlcyIsIGV4cGVjdGVkVmVyc2lvbi5h
c2NpaSgpLmRhdGEoKSwgZGF0YWJhc2UtPmRhdGFiYXNlRGVidWdOYW1lKCkuYXNjaWkoKS5kYXRh
KCkpOworICAgICAgICBjb250ZXh0LT5yZW1vdmVPcGVuRGF0YWJhc2UoZGF0YWJhc2UuZ2V0KCkp
OwogICAgICAgICBEYXRhYmFzZVRyYWNrZXI6OnRyYWNrZXIoKS5yZW1vdmVPcGVuRGF0YWJhc2Uo
ZGF0YWJhc2UuZ2V0KCkpOwogICAgICAgICByZXR1cm4gMDsKICAgICB9CkBAIC0xMzIsMTEgKzEz
MywxNCBAQCBEYXRhYmFzZTo6RGF0YWJhc2UoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogY29udGV4
dCwgY29uc3QgU3RyaW5nJiBuYW1lLCBjb25zdCBTdAogICAgICwgbV90cmFuc2FjdGlvbkluUHJv
Z3Jlc3MoZmFsc2UpCiAgICAgLCBtX2lzVHJhbnNhY3Rpb25RdWV1ZUVuYWJsZWQodHJ1ZSkKICAg
ICAsIG1fZGVsZXRlZChmYWxzZSkKKyAgICAsIG1fc3RvcHBlZChmYWxzZSkKIHsKICAgICBtX2Rh
dGFiYXNlVGhyZWFkU2VjdXJpdHlPcmlnaW4gPSBtX2NvbnRleHRUaHJlYWRTZWN1cml0eU9yaWdp
bi0+dGhyZWFkc2FmZUNvcHkoKTsKIAogICAgIFNjcmlwdENvbnRyb2xsZXI6OmluaXRpYWxpemVU
aHJlYWRpbmcoKTsKICAgICBBU1NFUlQobV9zY3JpcHRFeGVjdXRpb25Db250ZXh0LT5kYXRhYmFz
ZVRocmVhZCgpKTsKKworICAgIG1fc2NyaXB0RXhlY3V0aW9uQ29udGV4dC0+YWRkT3BlbkRhdGFi
YXNlKHRoaXMpOwogfQogCiBjbGFzcyBEZXJlZkNvbnRleHRUYXNrIDogcHVibGljIFNjcmlwdEV4
ZWN1dGlvbkNvbnRleHQ6OlRhc2sgewpAQCAtMTk4LDM4ICsyMDIsODYgQEAgdm9pZCBEYXRhYmFz
ZTo6bWFya0FzRGVsZXRlZEFuZENsb3NlKCkKICAgICAgICAgcmV0dXJuOwogICAgIH0KIAorICAg
IG1fc2NyaXB0RXhlY3V0aW9uQ29udGV4dC0+ZGF0YWJhc2VUaHJlYWQoKS0+dW5zY2hlZHVsZURh
dGFiYXNlVGFza3ModGhpcyk7CisKICAgICBEYXRhYmFzZVRhc2tTeW5jaHJvbml6ZXIgc3luY2hy
b25pemVyOwotICAgIE93blB0cjxEYXRhYmFzZUNsb3NlVGFzaz4gdGFzayA9IERhdGFiYXNlQ2xv
c2VUYXNrOjpjcmVhdGUodGhpcywgJnN5bmNocm9uaXplcik7CisgICAgT3duUHRyPERhdGFiYXNl
Q2xvc2VUYXNrPiB0YXNrID0gRGF0YWJhc2VDbG9zZVRhc2s6OmNyZWF0ZSh0aGlzLCBEb05vdFJl
bW92ZURhdGFiYXNlRnJvbUNvbnRleHQsICZzeW5jaHJvbml6ZXIpOwogCiAgICAgbV9zY3JpcHRF
eGVjdXRpb25Db250ZXh0LT5kYXRhYmFzZVRocmVhZCgpLT5zY2hlZHVsZUltbWVkaWF0ZVRhc2so
dGFzay5yZWxlYXNlKCkpOwogICAgIHN5bmNocm9uaXplci53YWl0Rm9yVGFza0NvbXBsZXRpb24o
KTsKKworICAgIC8vIERhdGFiYXNlQ2xvc2VUYXNrIHRlbGxzIERhdGFiYXNlOjpjbG9zZSBub3Qg
dG8gZG8gdGhlc2UgdHdvIHJlbW92YWxzIHNvIHRoYXQgd2UgY2FuIGRvIHRoZW0gaGVyZSBzeW5j
aHJvbm91c2x5LgorICAgIG1fc2NyaXB0RXhlY3V0aW9uQ29udGV4dC0+cmVtb3ZlT3BlbkRhdGFi
YXNlKHRoaXMpOworICAgIERhdGFiYXNlVHJhY2tlcjo6dHJhY2tlcigpLnJlbW92ZU9wZW5EYXRh
YmFzZSh0aGlzKTsKIH0KIAotdm9pZCBEYXRhYmFzZTo6Y2xvc2UoKQotewotICAgIEFTU0VSVCht
X3NjcmlwdEV4ZWN1dGlvbkNvbnRleHQtPmRhdGFiYXNlVGhyZWFkKCkpOwotICAgIEFTU0VSVChj
dXJyZW50VGhyZWFkKCkgPT0gbV9zY3JpcHRFeGVjdXRpb25Db250ZXh0LT5kYXRhYmFzZVRocmVh
ZCgpLT5nZXRUaHJlYWRJRCgpKTsKK2NsYXNzIENvbnRleHRSZW1vdmVPcGVuRGF0YWJhc2VUYXNr
IDogcHVibGljIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQ6OlRhc2sgeworcHVibGljOgorICAgIHN0
YXRpYyBQYXNzT3duUHRyPENvbnRleHRSZW1vdmVPcGVuRGF0YWJhc2VUYXNrPiBjcmVhdGUoUGFz
c1JlZlB0cjxEYXRhYmFzZT4gZGF0YWJhc2UpCisgICAgeworICAgICAgICByZXR1cm4gbmV3IENv
bnRleHRSZW1vdmVPcGVuRGF0YWJhc2VUYXNrKGRhdGFiYXNlKTsKKyAgICB9CiAKKyAgICB2aXJ0
dWFsIHZvaWQgcGVyZm9ybVRhc2soU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogY29udGV4dCkKKyAg
ICB7CisgICAgICAgIGNvbnRleHQtPnJlbW92ZU9wZW5EYXRhYmFzZShtX2RhdGFiYXNlLmdldCgp
KTsKKyAgICAgICAgRGF0YWJhc2VUcmFja2VyOjp0cmFja2VyKCkucmVtb3ZlT3BlbkRhdGFiYXNl
KG1fZGF0YWJhc2UuZ2V0KCkpOworICAgIH0KKworICAgIHZpcnR1YWwgYm9vbCBpc0NsZWFudXBU
YXNrKCkgY29uc3QgeyByZXR1cm4gdHJ1ZTsgfQorCitwcml2YXRlOgorICAgIENvbnRleHRSZW1v
dmVPcGVuRGF0YWJhc2VUYXNrKFBhc3NSZWZQdHI8RGF0YWJhc2U+IGRhdGFiYXNlKQorICAgICAg
ICA6IG1fZGF0YWJhc2UoZGF0YWJhc2UpCiAgICAgewotICAgICAgICBNdXRleExvY2tlciBsb2Nr
ZXIobV90cmFuc2FjdGlvbkluUHJvZ3Jlc3NNdXRleCk7Ci0gICAgICAgIG1faXNUcmFuc2FjdGlv
blF1ZXVlRW5hYmxlZCA9IGZhbHNlOwotICAgICAgICBtX3RyYW5zYWN0aW9uSW5Qcm9ncmVzcyA9
IGZhbHNlOwogICAgIH0KIAorICAgIFJlZlB0cjxEYXRhYmFzZT4gbV9kYXRhYmFzZTsKK307CisK
K3ZvaWQgRGF0YWJhc2U6OmNsb3NlKENsb3NlUG9saWN5IHBvbGljeSkKK3sKKyAgICBSZWZQdHI8
RGF0YWJhc2U+IHByb3RlY3QgPSB0aGlzOworCisgICAgQVNTRVJUKG1fc2NyaXB0RXhlY3V0aW9u
Q29udGV4dC0+ZGF0YWJhc2VUaHJlYWQoKSk7CisgICAgQVNTRVJUKGN1cnJlbnRUaHJlYWQoKSA9
PSBtX3NjcmlwdEV4ZWN1dGlvbkNvbnRleHQtPmRhdGFiYXNlVGhyZWFkKCktPmdldFRocmVhZElE
KCkpOworCiAgICAgY2xvc2VEYXRhYmFzZSgpOwogCiAgICAgLy8gTXVzdCByZWYoKSBiZWZvcmUg
Y2FsbGluZyBkYXRhYmFzZVRocmVhZCgpLT5yZWNvcmREYXRhYmFzZUNsb3NlZCgpLgotICAgIFJl
ZlB0cjxEYXRhYmFzZT4gcHJvdGVjdCA9IHRoaXM7CiAgICAgbV9zY3JpcHRFeGVjdXRpb25Db250
ZXh0LT5kYXRhYmFzZVRocmVhZCgpLT5yZWNvcmREYXRhYmFzZUNsb3NlZCh0aGlzKTsKICAgICBt
X3NjcmlwdEV4ZWN1dGlvbkNvbnRleHQtPmRhdGFiYXNlVGhyZWFkKCktPnVuc2NoZWR1bGVEYXRh
YmFzZVRhc2tzKHRoaXMpOwotICAgIERhdGFiYXNlVHJhY2tlcjo6dHJhY2tlcigpLnJlbW92ZU9w
ZW5EYXRhYmFzZSh0aGlzKTsKKyAgICBpZiAocG9saWN5ID09IFJlbW92ZURhdGFiYXNlRnJvbUNv
bnRleHQpCisgICAgICAgIG1fc2NyaXB0RXhlY3V0aW9uQ29udGV4dC0+cG9zdFRhc2soQ29udGV4
dFJlbW92ZU9wZW5EYXRhYmFzZVRhc2s6OmNyZWF0ZSh0aGlzKSk7CiB9CiAKIHZvaWQgRGF0YWJh
c2U6OmNsb3NlSW1tZWRpYXRlbHkoKQogewogICAgIERhdGFiYXNlVGhyZWFkKiBkYXRhYmFzZVRo
cmVhZCA9IHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKS0+ZGF0YWJhc2VUaHJlYWQoKTsKLSAgICBp
ZiAoZGF0YWJhc2VUaHJlYWQgJiYgIWRhdGFiYXNlVGhyZWFkLT50ZXJtaW5hdGlvblJlcXVlc3Rl
ZCgpICYmIG9wZW5lZCgpKQotICAgICAgICBkYXRhYmFzZVRocmVhZC0+c2NoZWR1bGVJbW1lZGlh
dGVUYXNrKERhdGFiYXNlQ2xvc2VUYXNrOjpjcmVhdGUodGhpcywgMCkpOworICAgIGlmIChkYXRh
YmFzZVRocmVhZCAmJiAhZGF0YWJhc2VUaHJlYWQtPnRlcm1pbmF0aW9uUmVxdWVzdGVkKCkpIHsK
KyAgICAgICAgc3RvcCgpOworICAgICAgICBkYXRhYmFzZVRocmVhZC0+c2NoZWR1bGVUYXNrKERh
dGFiYXNlQ2xvc2VUYXNrOjpjcmVhdGUodGhpcywgRGF0YWJhc2U6OlJlbW92ZURhdGFiYXNlRnJv
bUNvbnRleHQsIDApKTsKKyAgICB9Cit9CisKK3ZvaWQgRGF0YWJhc2U6OnN0b3AoKQoreworICAg
IC8vIEZJWE1FOiBUaGUgbmV0IGVmZmVjdCBvZiB0aGUgZm9sbG93aW5nIGNvZGUgaXMgdG8gcmVt
b3ZlIGFsbCBwZW5kaW5nIHRyYW5zYWN0aW9ucyBhbmQgc3RhdGVtZW50cywgYnV0IGFsbG93IHRo
ZSBjdXJyZW50IHN0YXRlbWVudAorICAgIC8vIHRvIHJ1biB0byBjb21wbGV0aW9uLiAgSW4gdGhl
IGZ1dHVyZSB3ZSBjYW4gdXNlIHRoZSBzcWxpdGUzX3Byb2dyZXNzX2hhbmRsZXIgb3Igc3FsaXRl
M19pbnRlcnJ1cHQgaW50ZXJmYWNlcyB0byBjYW5jZWwgdGhlIGN1cnJlbnQKKyAgICAvLyBzdGF0
ZW1lbnQgaW4gcmVzcG9uc2UgdG8gY2xvc2UoKSwgYXMgd2VsbC4KKworICAgIC8vIFRoaXMgbWV0
aG9kIGlzIG1lYW50IHRvIGJlIHVzZWQgYXMgYW4gYW5hbG9nIHRvIGNhbmNlbGxpbmcgYSBsb2Fk
ZXIsIGFuZCBpcyB1c2VkIHdoZW4gYSBkb2N1bWVudCBpcyBzaHV0IGRvd24gYXMgdGhlIHJlc3Vs
dCBvZgorICAgIC8vIGEgcGFnZSBsb2FkIG9yIGNsb3NpbmcgdGhlIHBhZ2UKKyAgICBtX3N0b3Bw
ZWQgPSB0cnVlOworCisgICAgeworICAgICAgICBNdXRleExvY2tlciBsb2NrZXIobV90cmFuc2Fj
dGlvbkluUHJvZ3Jlc3NNdXRleCk7CisgICAgICAgIG1faXNUcmFuc2FjdGlvblF1ZXVlRW5hYmxl
ZCA9IGZhbHNlOworICAgICAgICBtX3RyYW5zYWN0aW9uSW5Qcm9ncmVzcyA9IGZhbHNlOworICAg
IH0KKworICAgIGlmIChtX3NjcmlwdEV4ZWN1dGlvbkNvbnRleHQtPmRhdGFiYXNlVGhyZWFkKCkp
CisgICAgICAgIG1fc2NyaXB0RXhlY3V0aW9uQ29udGV4dC0+ZGF0YWJhc2VUaHJlYWQoKS0+dW5z
Y2hlZHVsZURhdGFiYXNlVGFza3ModGhpcyk7CiB9CiAKIHVuc2lnbmVkIGxvbmcgbG9uZyBEYXRh
YmFzZTo6bWF4aW11bVNpemUoKSBjb25zdApAQCAtMjM3LDYgKzI4OSwyMCBAQCB1bnNpZ25lZCBs
b25nIGxvbmcgRGF0YWJhc2U6Om1heGltdW1TaXplKCkgY29uc3QKICAgICByZXR1cm4gRGF0YWJh
c2VUcmFja2VyOjp0cmFja2VyKCkuZ2V0TWF4U2l6ZUZvckRhdGFiYXNlKHRoaXMpOwogfQogCit2
b2lkIERhdGFiYXNlOjpwZXJmb3JtUG9saWN5Q2hlY2tzKCkKK3sKKyAgICAvLyBGSVhNRTogQ29k
ZSBzaW1pbGFyIHRvIHRoZSBmb2xsb3dpbmcgd2lsbCBuZWVkIHRvIGJlIHJ1biB0byBlbmZvcmNl
IHRoZSBwZXItb3JpZ2luIHNpemUgbGltaXQgdGhlIHNwZWMgbWFuZGF0ZXMuCisgICAgLy8gQWRk
aXRpb25hbGx5LCB3ZSBtaWdodCBuZWVkIGEgd2F5IHRvIHBhdXNlIHRoZSBkYXRhYmFzZSB0aHJl
YWQgd2hpbGUgdGhlIFVBIHByb21wdHMgdGhlIHVzZXIgZm9yIHBlcm1pc3Npb24gdG8KKyAgICAv
LyBpbmNyZWFzZSB0aGUgc2l6ZSBsaW1pdAorCisgICAgLyoKKyAgICBpZiAobV9kYXRhYmFzZUF1
dGhvcml6ZXItPmxhc3RBY3Rpb25JbmNyZWFzZWRTaXplKCkpCisgICAgICAgIERhdGFiYXNlVHJh
Y2tlcjo6c2NoZWR1bGVGaWxlU2l6ZUNoZWNrT25NYWluVGhyZWFkKHRoaXMpOworICAgICovCisK
KyAgICBub3RJbXBsZW1lbnRlZCgpOworfQorCiBib29sIERhdGFiYXNlOjpwZXJmb3JtT3BlbkFu
ZFZlcmlmeShib29sIHNldFZlcnNpb25Jbk5ld0RhdGFiYXNlLCBFeGNlcHRpb25Db2RlJiBlKQog
ewogICAgIGlmIChBYnN0cmFjdERhdGFiYXNlOjpwZXJmb3JtT3BlbkFuZFZlcmlmeShzZXRWZXJz
aW9uSW5OZXdEYXRhYmFzZSwgZSkpIHsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvc3RvcmFnZS9EYXRh
YmFzZS5oIGIvV2ViQ29yZS9zdG9yYWdlL0RhdGFiYXNlLmgKaW5kZXggMjJlZjU1ZWRhMGI0ZTdj
MjI5ZWQwOGU5MjMwYzBmM2E5N2IxZmQzOC4uYmMxMjc5Yzk5Yjg2NmZkZjUxYTdmZDU0NDMxMGY2
MGU4YmYwMDQyOSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9zdG9yYWdlL0RhdGFiYXNlLmgKKysrIGIv
V2ViQ29yZS9zdG9yYWdlL0RhdGFiYXNlLmgKQEAgLTcxLDM3ICs3MSw0MCBAQCBwdWJsaWM6CiAg
ICAgdmlydHVhbCB2b2lkIG1hcmtBc0RlbGV0ZWRBbmRDbG9zZSgpOwogICAgIGJvb2wgZGVsZXRl
ZCgpIGNvbnN0IHsgcmV0dXJuIG1fZGVsZXRlZDsgfQogCi0gICAgdm9pZCBjbG9zZSgpOworICAg
IGVudW0gQ2xvc2VQb2xpY3kgeyBEb05vdFJlbW92ZURhdGFiYXNlRnJvbUNvbnRleHQsIFJlbW92
ZURhdGFiYXNlRnJvbUNvbnRleHQgfTsKKyAgICB2b2lkIGNsb3NlKENsb3NlUG9saWN5KTsKICAg
ICB2aXJ0dWFsIHZvaWQgY2xvc2VJbW1lZGlhdGVseSgpOwogCisgICAgdm9pZCBzdG9wKCk7Cisg
ICAgYm9vbCBzdG9wcGVkKCkgY29uc3QgeyByZXR1cm4gbV9zdG9wcGVkOyB9CisKICAgICB1bnNp
Z25lZCBsb25nIGxvbmcgZGF0YWJhc2VTaXplKCkgY29uc3Q7CiAgICAgdW5zaWduZWQgbG9uZyBs
b25nIG1heGltdW1TaXplKCkgY29uc3Q7CiAKKyAgICAvLyBDYWxsZWQgZnJvbSBEYXRhYmFzZVRo
cmVhZCwgbXVzdCBiZSBwcmVwYXJlZCB0byB3b3JrIG9uIHRoZSBiYWNrZ3JvdW5kIHRocmVhZAor
ICAgIHZvaWQgcGVyZm9ybVBvbGljeUNoZWNrcygpOworCisgICAgdmlydHVhbCBib29sIHBlcmZv
cm1PcGVuQW5kVmVyaWZ5KGJvb2wgc2V0VmVyc2lvbkluTmV3RGF0YWJhc2UsIEV4Y2VwdGlvbkNv
ZGUmKTsKKworICAgIHZvaWQgaW5Qcm9ncmVzc1RyYW5zYWN0aW9uQ29tcGxldGVkKCk7CiAgICAg
dm9pZCBzY2hlZHVsZVRyYW5zYWN0aW9uQ2FsbGJhY2soU1FMVHJhbnNhY3Rpb24qKTsKICAgICB2
b2lkIHNjaGVkdWxlVHJhbnNhY3Rpb25TdGVwKFNRTFRyYW5zYWN0aW9uKiwgYm9vbCBpbW1lZGlh
dGVseSA9IGZhbHNlKTsKIAorICAgIFZlY3RvcjxTdHJpbmc+IHBlcmZvcm1HZXRUYWJsZU5hbWVz
KCk7CisKICAgICBTUUxUcmFuc2FjdGlvbkNsaWVudCogdHJhbnNhY3Rpb25DbGllbnQoKSBjb25z
dDsKICAgICBTUUxUcmFuc2FjdGlvbkNvb3JkaW5hdG9yKiB0cmFuc2FjdGlvbkNvb3JkaW5hdG9y
KCkgY29uc3Q7CiAKICAgICB2b2lkIGluY3JlbWVudGFsVmFjdXVtSWZOZWVkZWQoKTsKIAogcHJp
dmF0ZToKLSAgICBjbGFzcyBEYXRhYmFzZU9wZW5UYXNrOwotICAgIGNsYXNzIERhdGFiYXNlQ2xv
c2VUYXNrOwotICAgIGNsYXNzIERhdGFiYXNlVHJhbnNhY3Rpb25UYXNrOwotICAgIGNsYXNzIERh
dGFiYXNlVGFibGVOYW1lc1Rhc2s7Ci0KICAgICBEYXRhYmFzZShTY3JpcHRFeGVjdXRpb25Db250
ZXh0KiwgY29uc3QgU3RyaW5nJiBuYW1lLCBjb25zdCBTdHJpbmcmIGV4cGVjdGVkVmVyc2lvbiwK
ICAgICAgICAgICAgICBjb25zdCBTdHJpbmcmIGRpc3BsYXlOYW1lLCB1bnNpZ25lZCBsb25nIGVz
dGltYXRlZFNpemUpOwogCiAgICAgYm9vbCBvcGVuQW5kVmVyaWZ5VmVyc2lvbihib29sIHNldFZl
cnNpb25Jbk5ld0RhdGFiYXNlLCBFeGNlcHRpb25Db2RlJik7Ci0gICAgdmlydHVhbCBib29sIHBl
cmZvcm1PcGVuQW5kVmVyaWZ5KGJvb2wgc2V0VmVyc2lvbkluTmV3RGF0YWJhc2UsIEV4Y2VwdGlv
bkNvZGUmKTsKIAotICAgIHZvaWQgaW5Qcm9ncmVzc1RyYW5zYWN0aW9uQ29tcGxldGVkKCk7CiAg
ICAgdm9pZCBzY2hlZHVsZVRyYW5zYWN0aW9uKCk7CiAKLSAgICBWZWN0b3I8U3RyaW5nPiBwZXJm
b3JtR2V0VGFibGVOYW1lcygpOwotCiAgICAgc3RhdGljIHZvaWQgZGVsaXZlclBlbmRpbmdDYWxs
YmFjayh2b2lkKik7CiAKICAgICBEZXF1ZTxSZWZQdHI8U1FMVHJhbnNhY3Rpb24+ID4gbV90cmFu
c2FjdGlvblF1ZXVlOwpAQCAtMTEyLDYgKzExNSw3IEBAIHByaXZhdGU6CiAgICAgUmVmUHRyPFNl
Y3VyaXR5T3JpZ2luPiBtX2RhdGFiYXNlVGhyZWFkU2VjdXJpdHlPcmlnaW47CiAKICAgICBib29s
IG1fZGVsZXRlZDsKKyAgICBib29sIG1fc3RvcHBlZDsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdl
YkNvcmUKZGlmZiAtLWdpdCBhL1dlYkNvcmUvc3RvcmFnZS9EYXRhYmFzZVRhc2suY3BwIGIvV2Vi
Q29yZS9zdG9yYWdlL0RhdGFiYXNlVGFzay5jcHAKaW5kZXggMzUyNmQ5ZDIxODkzMWQ1MDVkMzQ0
NGVlMmYxNmU0OTQwYTZhMjcyMS4uYmI0MDZiZGRjNGYyOTJlNWM5N2RkZDFmMjM4MjA1ZWFhNGQ1
Y2RlNCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9zdG9yYWdlL0RhdGFiYXNlVGFzay5jcHAKKysrIGIv
V2ViQ29yZS9zdG9yYWdlL0RhdGFiYXNlVGFzay5jcHAKQEAgLTc4LDYgKzc4LDcgQEAgdm9pZCBE
YXRhYmFzZVRhc2s6OnBlcmZvcm1UYXNrKCkKIAogICAgIG1fZGF0YWJhc2UtPnJlc2V0QXV0aG9y
aXplcigpOwogICAgIGRvUGVyZm9ybVRhc2soKTsKKyAgICBtX2RhdGFiYXNlLT5wZXJmb3JtUG9s
aWN5Q2hlY2tzKCk7CiAKICAgICBpZiAobV9zeW5jaHJvbml6ZXIpCiAgICAgICAgIG1fc3luY2hy
b25pemVyLT50YXNrQ29tcGxldGVkKCk7CkBAIC04Niw3ICs4Nyw3IEBAIHZvaWQgRGF0YWJhc2VU
YXNrOjpwZXJmb3JtVGFzaygpCiAvLyAqKiogRGF0YWJhc2VPcGVuVGFzayAqKioKIC8vIE9wZW5z
IHRoZSBkYXRhYmFzZSBmaWxlIGFuZCB2ZXJpZmllcyB0aGUgdmVyc2lvbiBtYXRjaGVzIHRoZSBl
eHBlY3RlZCB2ZXJzaW9uLgogCi1EYXRhYmFzZTo6RGF0YWJhc2VPcGVuVGFzazo6RGF0YWJhc2VP
cGVuVGFzayhEYXRhYmFzZSogZGF0YWJhc2UsIGJvb2wgc2V0VmVyc2lvbkluTmV3RGF0YWJhc2Us
IERhdGFiYXNlVGFza1N5bmNocm9uaXplciogc3luY2hyb25pemVyLCBFeGNlcHRpb25Db2RlJiBj
b2RlLCBib29sJiBzdWNjZXNzKQorRGF0YWJhc2VPcGVuVGFzazo6RGF0YWJhc2VPcGVuVGFzayhE
YXRhYmFzZSogZGF0YWJhc2UsIGJvb2wgc2V0VmVyc2lvbkluTmV3RGF0YWJhc2UsIERhdGFiYXNl
VGFza1N5bmNocm9uaXplciogc3luY2hyb25pemVyLCBFeGNlcHRpb25Db2RlJiBjb2RlLCBib29s
JiBzdWNjZXNzKQogICAgIDogRGF0YWJhc2VUYXNrKGRhdGFiYXNlLCBzeW5jaHJvbml6ZXIpCiAg
ICAgLCBtX3NldFZlcnNpb25Jbk5ld0RhdGFiYXNlKHNldFZlcnNpb25Jbk5ld0RhdGFiYXNlKQog
ICAgICwgbV9jb2RlKGNvZGUpCkBAIC05NSwxMyArOTYsMTMgQEAgRGF0YWJhc2U6OkRhdGFiYXNl
T3BlblRhc2s6OkRhdGFiYXNlT3BlblRhc2soRGF0YWJhc2UqIGRhdGFiYXNlLCBib29sIHNldFZl
cnNpb24KICAgICBBU1NFUlQoc3luY2hyb25pemVyKTsgLy8gQSB0YXNrIHdpdGggb3V0cHV0IHBh
cmFtZXRlcnMgaXMgc3VwcG9zZWQgdG8gYmUgc3luY2hyb25vdXMuCiB9CiAKLXZvaWQgRGF0YWJh
c2U6OkRhdGFiYXNlT3BlblRhc2s6OmRvUGVyZm9ybVRhc2soKQordm9pZCBEYXRhYmFzZU9wZW5U
YXNrOjpkb1BlcmZvcm1UYXNrKCkKIHsKICAgICBtX3N1Y2Nlc3MgPSBkYXRhYmFzZSgpLT5wZXJm
b3JtT3BlbkFuZFZlcmlmeShtX3NldFZlcnNpb25Jbk5ld0RhdGFiYXNlLCBtX2NvZGUpOwogfQog
CiAjaWZuZGVmIE5ERUJVRwotY29uc3QgY2hhciogRGF0YWJhc2U6OkRhdGFiYXNlT3BlblRhc2s6
OmRlYnVnVGFza05hbWUoKSBjb25zdAorY29uc3QgY2hhciogRGF0YWJhc2VPcGVuVGFzazo6ZGVi
dWdUYXNrTmFtZSgpIGNvbnN0CiB7CiAgICAgcmV0dXJuICJEYXRhYmFzZU9wZW5UYXNrIjsKIH0K
QEAgLTExMCwxOCArMTExLDE5IEBAIGNvbnN0IGNoYXIqIERhdGFiYXNlOjpEYXRhYmFzZU9wZW5U
YXNrOjpkZWJ1Z1Rhc2tOYW1lKCkgY29uc3QKIC8vICoqKiBEYXRhYmFzZUNsb3NlVGFzayAqKioK
IC8vIENsb3NlcyB0aGUgZGF0YWJhc2UuCiAKLURhdGFiYXNlOjpEYXRhYmFzZUNsb3NlVGFzazo6
RGF0YWJhc2VDbG9zZVRhc2soRGF0YWJhc2UqIGRhdGFiYXNlLCBEYXRhYmFzZVRhc2tTeW5jaHJv
bml6ZXIqIHN5bmNocm9uaXplcikKK0RhdGFiYXNlQ2xvc2VUYXNrOjpEYXRhYmFzZUNsb3NlVGFz
ayhEYXRhYmFzZSogZGF0YWJhc2UsIERhdGFiYXNlOjpDbG9zZVBvbGljeSBjbG9zZVBvbGljeSwg
RGF0YWJhc2VUYXNrU3luY2hyb25pemVyKiBzeW5jaHJvbml6ZXIpCiAgICAgOiBEYXRhYmFzZVRh
c2soZGF0YWJhc2UsIHN5bmNocm9uaXplcikKKyAgICAsIG1fY2xvc2VQb2xpY3koY2xvc2VQb2xp
Y3kpCiB7CiB9CiAKLXZvaWQgRGF0YWJhc2U6OkRhdGFiYXNlQ2xvc2VUYXNrOjpkb1BlcmZvcm1U
YXNrKCkKK3ZvaWQgRGF0YWJhc2VDbG9zZVRhc2s6OmRvUGVyZm9ybVRhc2soKQogewotICAgIGRh
dGFiYXNlKCktPmNsb3NlKCk7CisgICAgZGF0YWJhc2UoKS0+Y2xvc2UobV9jbG9zZVBvbGljeSk7
CiB9CiAKICNpZm5kZWYgTkRFQlVHCi1jb25zdCBjaGFyKiBEYXRhYmFzZTo6RGF0YWJhc2VDbG9z
ZVRhc2s6OmRlYnVnVGFza05hbWUoKSBjb25zdAorY29uc3QgY2hhciogRGF0YWJhc2VDbG9zZVRh
c2s6OmRlYnVnVGFza05hbWUoKSBjb25zdAogewogICAgIHJldHVybiAiRGF0YWJhc2VDbG9zZVRh
c2siOwogfQpAQCAtMTMwLDIwICsxMzIsMjQgQEAgY29uc3QgY2hhciogRGF0YWJhc2U6OkRhdGFi
YXNlQ2xvc2VUYXNrOjpkZWJ1Z1Rhc2tOYW1lKCkgY29uc3QKIC8vICoqKiBEYXRhYmFzZVRyYW5z
YWN0aW9uVGFzayAqKioKIC8vIFN0YXJ0cyBhIHRyYW5zYWN0aW9uIHRoYXQgd2lsbCByZXBvcnQg
aXRzIHJlc3VsdHMgdmlhIGEgY2FsbGJhY2suCiAKLURhdGFiYXNlOjpEYXRhYmFzZVRyYW5zYWN0
aW9uVGFzazo6RGF0YWJhc2VUcmFuc2FjdGlvblRhc2soUGFzc1JlZlB0cjxTUUxUcmFuc2FjdGlv
bj4gdHJhbnNhY3Rpb24pCitEYXRhYmFzZVRyYW5zYWN0aW9uVGFzazo6RGF0YWJhc2VUcmFuc2Fj
dGlvblRhc2soUGFzc1JlZlB0cjxTUUxUcmFuc2FjdGlvbj4gdHJhbnNhY3Rpb24pCiAgICAgOiBE
YXRhYmFzZVRhc2sodHJhbnNhY3Rpb24tPmRhdGFiYXNlKCksIDApCiAgICAgLCBtX3RyYW5zYWN0
aW9uKHRyYW5zYWN0aW9uKQogewogfQogCi12b2lkIERhdGFiYXNlOjpEYXRhYmFzZVRyYW5zYWN0
aW9uVGFzazo6ZG9QZXJmb3JtVGFzaygpCitEYXRhYmFzZVRyYW5zYWN0aW9uVGFzazo6fkRhdGFi
YXNlVHJhbnNhY3Rpb25UYXNrKCkKK3sKK30KKwordm9pZCBEYXRhYmFzZVRyYW5zYWN0aW9uVGFz
azo6ZG9QZXJmb3JtVGFzaygpCiB7CiAgICAgaWYgKG1fdHJhbnNhY3Rpb24tPnBlcmZvcm1OZXh0
U3RlcCgpKQogICAgICAgICBtX3RyYW5zYWN0aW9uLT5kYXRhYmFzZSgpLT5pblByb2dyZXNzVHJh
bnNhY3Rpb25Db21wbGV0ZWQoKTsKIH0KIAogI2lmbmRlZiBOREVCVUcKLWNvbnN0IGNoYXIqIERh
dGFiYXNlOjpEYXRhYmFzZVRyYW5zYWN0aW9uVGFzazo6ZGVidWdUYXNrTmFtZSgpIGNvbnN0Citj
b25zdCBjaGFyKiBEYXRhYmFzZVRyYW5zYWN0aW9uVGFzazo6ZGVidWdUYXNrTmFtZSgpIGNvbnN0
CiB7CiAgICAgcmV0dXJuICJEYXRhYmFzZVRyYW5zYWN0aW9uVGFzayI7CiB9CkBAIC0xNTIsMjAg
KzE1OCwyMCBAQCBjb25zdCBjaGFyKiBEYXRhYmFzZTo6RGF0YWJhc2VUcmFuc2FjdGlvblRhc2s6
OmRlYnVnVGFza05hbWUoKSBjb25zdAogLy8gKioqIERhdGFiYXNlVGFibGVOYW1lc1Rhc2sgKioq
CiAvLyBSZXRyaWV2ZXMgYSBsaXN0IG9mIGFsbCB0YWJsZXMgaW4gdGhlIGRhdGFiYXNlIC0gZm9y
IFdlYkluc3BlY3RvciBzdXBwb3J0LgogCi1EYXRhYmFzZTo6RGF0YWJhc2VUYWJsZU5hbWVzVGFz
azo6RGF0YWJhc2VUYWJsZU5hbWVzVGFzayhEYXRhYmFzZSogZGF0YWJhc2UsIERhdGFiYXNlVGFz
a1N5bmNocm9uaXplciogc3luY2hyb25pemVyLCBWZWN0b3I8U3RyaW5nPiYgbmFtZXMpCitEYXRh
YmFzZVRhYmxlTmFtZXNUYXNrOjpEYXRhYmFzZVRhYmxlTmFtZXNUYXNrKERhdGFiYXNlKiBkYXRh
YmFzZSwgRGF0YWJhc2VUYXNrU3luY2hyb25pemVyKiBzeW5jaHJvbml6ZXIsIFZlY3RvcjxTdHJp
bmc+JiBuYW1lcykKICAgICA6IERhdGFiYXNlVGFzayhkYXRhYmFzZSwgc3luY2hyb25pemVyKQog
ICAgICwgbV90YWJsZU5hbWVzKG5hbWVzKQogewogICAgIEFTU0VSVChzeW5jaHJvbml6ZXIpOyAv
LyBBIHRhc2sgd2l0aCBvdXRwdXQgcGFyYW1ldGVycyBpcyBzdXBwb3NlZCB0byBiZSBzeW5jaHJv
bm91cy4KIH0KIAotdm9pZCBEYXRhYmFzZTo6RGF0YWJhc2VUYWJsZU5hbWVzVGFzazo6ZG9QZXJm
b3JtVGFzaygpCit2b2lkIERhdGFiYXNlVGFibGVOYW1lc1Rhc2s6OmRvUGVyZm9ybVRhc2soKQog
ewogICAgIG1fdGFibGVOYW1lcyA9IGRhdGFiYXNlKCktPnBlcmZvcm1HZXRUYWJsZU5hbWVzKCk7
CiB9CiAKICNpZm5kZWYgTkRFQlVHCi1jb25zdCBjaGFyKiBEYXRhYmFzZTo6RGF0YWJhc2VUYWJs
ZU5hbWVzVGFzazo6ZGVidWdUYXNrTmFtZSgpIGNvbnN0Citjb25zdCBjaGFyKiBEYXRhYmFzZVRh
YmxlTmFtZXNUYXNrOjpkZWJ1Z1Rhc2tOYW1lKCkgY29uc3QKIHsKICAgICByZXR1cm4gIkRhdGFi
YXNlVGFibGVOYW1lc1Rhc2siOwogfQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9zdG9yYWdlL0RhdGFi
YXNlVGFzay5oIGIvV2ViQ29yZS9zdG9yYWdlL0RhdGFiYXNlVGFzay5oCmluZGV4IGVmOTJkN2Ni
MDcyNzg5YmM5NjMxOTZiYzY2OTEzOTAwM2M0NjA2YzcuLmUzYTYxOGFiMTkyNzgwZjkzZTU5N2Rj
NzFkMTk2NGQ0YmFjZWY4ZmMgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvc3RvcmFnZS9EYXRhYmFzZVRh
c2suaAorKysgYi9XZWJDb3JlL3N0b3JhZ2UvRGF0YWJhc2VUYXNrLmgKQEAgLTYwLDYgKzYwLDcg
QEAgcHJpdmF0ZToKIH07CiAKIGNsYXNzIERhdGFiYXNlVGFzayA6IHB1YmxpYyBOb25jb3B5YWJs
ZSB7CisgICAgZnJpZW5kIGNsYXNzIERhdGFiYXNlOwogcHVibGljOgogICAgIHZpcnR1YWwgfkRh
dGFiYXNlVGFzaygpOwogCkBAIC04MiwxNSArODMsMTUgQEAgcHJpdmF0ZToKICNlbmRpZgogfTsK
IAotY2xhc3MgRGF0YWJhc2U6OkRhdGFiYXNlT3BlblRhc2sgOiBwdWJsaWMgRGF0YWJhc2VUYXNr
IHsKK2NsYXNzIERhdGFiYXNlT3BlblRhc2sgOiBwdWJsaWMgRGF0YWJhc2VUYXNrIHsKIHB1Ymxp
YzoKLSAgICBzdGF0aWMgUGFzc093blB0cjxEYXRhYmFzZTo6RGF0YWJhc2VPcGVuVGFzaz4gY3Jl
YXRlKERhdGFiYXNlKiBkYiwgYm9vbCBzZXRWZXJzaW9uSW5OZXdEYXRhYmFzZSwgRGF0YWJhc2VU
YXNrU3luY2hyb25pemVyKiBzeW5jaHJvbml6ZXIsIEV4Y2VwdGlvbkNvZGUmIGNvZGUsIGJvb2wm
IHN1Y2Nlc3MpCisgICAgc3RhdGljIFBhc3NPd25QdHI8RGF0YWJhc2VPcGVuVGFzaz4gY3JlYXRl
KERhdGFiYXNlKiBkYiwgYm9vbCBzZXRWZXJzaW9uSW5OZXdEYXRhYmFzZSwgRGF0YWJhc2VUYXNr
U3luY2hyb25pemVyKiBzeW5jaHJvbml6ZXIsIEV4Y2VwdGlvbkNvZGUmIGNvZGUsIGJvb2wmIHN1
Y2Nlc3MpCiAgICAgewotICAgICAgICByZXR1cm4gbmV3IERhdGFiYXNlOjpEYXRhYmFzZU9wZW5U
YXNrKGRiLCBzZXRWZXJzaW9uSW5OZXdEYXRhYmFzZSwgc3luY2hyb25pemVyLCBjb2RlLCBzdWNj
ZXNzKTsKKyAgICAgICAgcmV0dXJuIG5ldyBEYXRhYmFzZU9wZW5UYXNrKGRiLCBzZXRWZXJzaW9u
SW5OZXdEYXRhYmFzZSwgc3luY2hyb25pemVyLCBjb2RlLCBzdWNjZXNzKTsKICAgICB9CiAKIHBy
aXZhdGU6Ci0gICAgRGF0YWJhc2U6OkRhdGFiYXNlT3BlblRhc2soRGF0YWJhc2UqLCBib29sIHNl
dFZlcnNpb25Jbk5ld0RhdGFiYXNlLCBEYXRhYmFzZVRhc2tTeW5jaHJvbml6ZXIqLCBFeGNlcHRp
b25Db2RlJiwgYm9vbCYgc3VjY2Vzcyk7CisgICAgRGF0YWJhc2VPcGVuVGFzayhEYXRhYmFzZSos
IGJvb2wgc2V0VmVyc2lvbkluTmV3RGF0YWJhc2UsIERhdGFiYXNlVGFza1N5bmNocm9uaXplcios
IEV4Y2VwdGlvbkNvZGUmLCBib29sJiBzdWNjZXNzKTsKIAogICAgIHZpcnR1YWwgdm9pZCBkb1Bl
cmZvcm1UYXNrKCk7CiAjaWZuZGVmIE5ERUJVRwpAQCAtMTAyLDM0ICsxMDMsMzcgQEAgcHJpdmF0
ZToKICAgICBib29sJiBtX3N1Y2Nlc3M7CiB9OwogCi1jbGFzcyBEYXRhYmFzZTo6RGF0YWJhc2VD
bG9zZVRhc2sgOiBwdWJsaWMgRGF0YWJhc2VUYXNrIHsKK2NsYXNzIERhdGFiYXNlQ2xvc2VUYXNr
IDogcHVibGljIERhdGFiYXNlVGFzayB7CiBwdWJsaWM6Ci0gICAgc3RhdGljIFBhc3NPd25QdHI8
RGF0YWJhc2U6OkRhdGFiYXNlQ2xvc2VUYXNrPiBjcmVhdGUoRGF0YWJhc2UqIGRiLCBEYXRhYmFz
ZVRhc2tTeW5jaHJvbml6ZXIqIHN5bmNocm9uaXplcikKLSAgICB7Ci0gICAgICAgIHJldHVybiBu
ZXcgRGF0YWJhc2U6OkRhdGFiYXNlQ2xvc2VUYXNrKGRiLCBzeW5jaHJvbml6ZXIpOworICAgIHN0
YXRpYyBQYXNzT3duUHRyPERhdGFiYXNlQ2xvc2VUYXNrPiBjcmVhdGUoRGF0YWJhc2UqIGRiLCBE
YXRhYmFzZTo6Q2xvc2VQb2xpY3kgY2xvc2VQb2xpY3ksIERhdGFiYXNlVGFza1N5bmNocm9uaXpl
ciogc3luY2hyb25pemVyKQorICAgIHsgCisgICAgICAgIHJldHVybiBuZXcgRGF0YWJhc2VDbG9z
ZVRhc2soZGIsIGNsb3NlUG9saWN5LCBzeW5jaHJvbml6ZXIpOwogICAgIH0KIAogcHJpdmF0ZToK
LSAgICBEYXRhYmFzZTo6RGF0YWJhc2VDbG9zZVRhc2soRGF0YWJhc2UqLCBEYXRhYmFzZVRhc2tT
eW5jaHJvbml6ZXIqKTsKKyAgICBEYXRhYmFzZUNsb3NlVGFzayhEYXRhYmFzZSosIERhdGFiYXNl
OjpDbG9zZVBvbGljeSwgRGF0YWJhc2VUYXNrU3luY2hyb25pemVyKik7CiAKICAgICB2aXJ0dWFs
IHZvaWQgZG9QZXJmb3JtVGFzaygpOwogI2lmbmRlZiBOREVCVUcKICAgICB2aXJ0dWFsIGNvbnN0
IGNoYXIqIGRlYnVnVGFza05hbWUoKSBjb25zdDsKICNlbmRpZgorCisgICAgRGF0YWJhc2U6OkNs
b3NlUG9saWN5IG1fY2xvc2VQb2xpY3k7CiB9OwogCi1jbGFzcyBEYXRhYmFzZTo6RGF0YWJhc2VU
cmFuc2FjdGlvblRhc2sgOiBwdWJsaWMgRGF0YWJhc2VUYXNrIHsKK2NsYXNzIERhdGFiYXNlVHJh
bnNhY3Rpb25UYXNrIDogcHVibGljIERhdGFiYXNlVGFzayB7CiBwdWJsaWM6CiAgICAgLy8gVHJh
bnNhY3Rpb24gdGFzayBpcyBuZXZlciBzeW5jaHJvbm91cywgc28gbm8gJ3N5bmNocm9uaXplcicg
cGFyYW1ldGVyLgotICAgIHN0YXRpYyBQYXNzT3duUHRyPERhdGFiYXNlOjpEYXRhYmFzZVRyYW5z
YWN0aW9uVGFzaz4gY3JlYXRlKFBhc3NSZWZQdHI8U1FMVHJhbnNhY3Rpb24+IHRyYW5zYWN0aW9u
KQorICAgIHN0YXRpYyBQYXNzT3duUHRyPERhdGFiYXNlVHJhbnNhY3Rpb25UYXNrPiBjcmVhdGUo
UGFzc1JlZlB0cjxTUUxUcmFuc2FjdGlvbj4gdHJhbnNhY3Rpb24pCiAgICAgewotICAgICAgICBy
ZXR1cm4gbmV3IERhdGFiYXNlOjpEYXRhYmFzZVRyYW5zYWN0aW9uVGFzayh0cmFuc2FjdGlvbik7
CisgICAgICAgIHJldHVybiBuZXcgRGF0YWJhc2VUcmFuc2FjdGlvblRhc2sodHJhbnNhY3Rpb24p
OwogICAgIH0KIAogICAgIFNRTFRyYW5zYWN0aW9uKiB0cmFuc2FjdGlvbigpIGNvbnN0IHsgcmV0
dXJuIG1fdHJhbnNhY3Rpb24uZ2V0KCk7IH0KIAorICAgIHZpcnR1YWwgfkRhdGFiYXNlVHJhbnNh
Y3Rpb25UYXNrKCk7CiBwcml2YXRlOgotICAgIERhdGFiYXNlOjpEYXRhYmFzZVRyYW5zYWN0aW9u
VGFzayhQYXNzUmVmUHRyPFNRTFRyYW5zYWN0aW9uPik7CisgICAgRGF0YWJhc2VUcmFuc2FjdGlv
blRhc2soUGFzc1JlZlB0cjxTUUxUcmFuc2FjdGlvbj4pOwogCiAgICAgdmlydHVhbCB2b2lkIGRv
UGVyZm9ybVRhc2soKTsKICNpZm5kZWYgTkRFQlVHCkBAIC0xMzksMTUgKzE0MywxNSBAQCBwcml2
YXRlOgogICAgIFJlZlB0cjxTUUxUcmFuc2FjdGlvbj4gbV90cmFuc2FjdGlvbjsKIH07CiAKLWNs
YXNzIERhdGFiYXNlOjpEYXRhYmFzZVRhYmxlTmFtZXNUYXNrIDogcHVibGljIERhdGFiYXNlVGFz
ayB7CitjbGFzcyBEYXRhYmFzZVRhYmxlTmFtZXNUYXNrIDogcHVibGljIERhdGFiYXNlVGFzayB7
CiBwdWJsaWM6Ci0gICAgc3RhdGljIFBhc3NPd25QdHI8RGF0YWJhc2U6OkRhdGFiYXNlVGFibGVO
YW1lc1Rhc2s+IGNyZWF0ZShEYXRhYmFzZSogZGIsIERhdGFiYXNlVGFza1N5bmNocm9uaXplciog
c3luY2hyb25pemVyLCBWZWN0b3I8U3RyaW5nPiYgbmFtZXMpCisgICAgc3RhdGljIFBhc3NPd25Q
dHI8RGF0YWJhc2VUYWJsZU5hbWVzVGFzaz4gY3JlYXRlKERhdGFiYXNlKiBkYiwgRGF0YWJhc2VU
YXNrU3luY2hyb25pemVyKiBzeW5jaHJvbml6ZXIsIFZlY3RvcjxTdHJpbmc+JiBuYW1lcykKICAg
ICB7Ci0gICAgICAgIHJldHVybiBuZXcgRGF0YWJhc2U6OkRhdGFiYXNlVGFibGVOYW1lc1Rhc2so
ZGIsIHN5bmNocm9uaXplciwgbmFtZXMpOworICAgICAgICByZXR1cm4gbmV3IERhdGFiYXNlVGFi
bGVOYW1lc1Rhc2soZGIsIHN5bmNocm9uaXplciwgbmFtZXMpOwogICAgIH0KIAogcHJpdmF0ZToK
LSAgICBEYXRhYmFzZTo6RGF0YWJhc2VUYWJsZU5hbWVzVGFzayhEYXRhYmFzZSosIERhdGFiYXNl
VGFza1N5bmNocm9uaXplciosIFZlY3RvcjxTdHJpbmc+JiBuYW1lcyk7CisgICAgRGF0YWJhc2VU
YWJsZU5hbWVzVGFzayhEYXRhYmFzZSosIERhdGFiYXNlVGFza1N5bmNocm9uaXplciosIFZlY3Rv
cjxTdHJpbmc+JiBuYW1lcyk7CiAKICAgICB2aXJ0dWFsIHZvaWQgZG9QZXJmb3JtVGFzaygpOwog
I2lmbmRlZiBOREVCVUcKZGlmZiAtLWdpdCBhL1dlYkNvcmUvc3RvcmFnZS9EYXRhYmFzZVRocmVh
ZC5jcHAgYi9XZWJDb3JlL3N0b3JhZ2UvRGF0YWJhc2VUaHJlYWQuY3BwCmluZGV4IGFlMmE2YzBm
Y2NkZjU4MjE2NmNmYjMyYmU5MDBmNDkzNTc3ZTYyN2UuLmVjNjI0MWNlMWQ2MDEyNTY5MzdjZjFm
MjBiNmMyMjYxZDg5MzRhNTkgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvc3RvcmFnZS9EYXRhYmFzZVRo
cmVhZC5jcHAKKysrIGIvV2ViQ29yZS9zdG9yYWdlL0RhdGFiYXNlVGhyZWFkLmNwcApAQCAtMTEz
LDE0ICsxMTMsMTQgQEAgdm9pZCogRGF0YWJhc2VUaHJlYWQ6OmRhdGFiYXNlVGhyZWFkKCkKICAg
ICAgICAgb3BlblNldENvcHkuc3dhcChtX29wZW5EYXRhYmFzZVNldCk7CiAgICAgICAgIERhdGFi
YXNlU2V0OjppdGVyYXRvciBlbmQgPSBvcGVuU2V0Q29weS5lbmQoKTsKICAgICAgICAgZm9yIChE
YXRhYmFzZVNldDo6aXRlcmF0b3IgaXQgPSBvcGVuU2V0Q29weS5iZWdpbigpOyBpdCAhPSBlbmQ7
ICsraXQpCi0gICAgICAgICAgICAoKml0KS0+Y2xvc2UoKTsKKyAgICAgICAgICAgKCppdCktPmNs
b3NlKERhdGFiYXNlOjpSZW1vdmVEYXRhYmFzZUZyb21Db250ZXh0KTsKICAgICB9CiAKICAgICAv
LyBEZXRhY2ggdGhlIHRocmVhZCBzbyBpdHMgcmVzb3VyY2VzIGFyZSBubyBsb25nZXIgb2YgYW55
IGNvbmNlcm4gdG8gYW55b25lIGVsc2UKICAgICBkZXRhY2hUaHJlYWQobV90aHJlYWRJRCk7CiAK
ICAgICBEYXRhYmFzZVRhc2tTeW5jaHJvbml6ZXIqIGNsZWFudXBTeW5jID0gbV9jbGVhbnVwU3lu
YzsKLQorICAgIAogICAgIC8vIENsZWFyIHRoZSBzZWxmIHJlZnB0ciwgcG9zc2libHkgcmVzdWx0
aW5nIGluIGRlbGV0aW9uCiAgICAgbV9zZWxmUmVmID0gMDsKIApkaWZmIC0tZ2l0IGEvV2ViQ29y
ZS9zdG9yYWdlL0RhdGFiYXNlVHJhY2tlci5jcHAgYi9XZWJDb3JlL3N0b3JhZ2UvRGF0YWJhc2VU
cmFja2VyLmNwcAppbmRleCA4ZDIzYTRmYjk5MzljZmJkZTQ2OGJmOWM4MGNhZTRiYTdkODk2MDk1
Li5mYTI2YWY1YTJhMjkxODczZGYxM2FlZTQyOWE3OGQyNWUxZGY0ZTE1IDEwMDY0NAotLS0gYS9X
ZWJDb3JlL3N0b3JhZ2UvRGF0YWJhc2VUcmFja2VyLmNwcAorKysgYi9XZWJDb3JlL3N0b3JhZ2Uv
RGF0YWJhc2VUcmFja2VyLmNwcApAQCAtNTA4LDEwICs1MDgsOCBAQCB2b2lkIERhdGFiYXNlVHJh
Y2tlcjo6YWRkT3BlbkRhdGFiYXNlKEFic3RyYWN0RGF0YWJhc2UqIGRhdGFiYXNlKQogICAgICAg
ICBMT0coU3RvcmFnZUFQSSwgIkFkZGVkIG9wZW4gRGF0YWJhc2UgJXMgKCVwKVxuIiwgZGF0YWJh
c2UtPnN0cmluZ0lkZW50aWZpZXIoKS5hc2NpaSgpLmRhdGEoKSwgZGF0YWJhc2UpOwogCiAgICAg
ICAgIExvY2tlcjxPcmlnaW5RdW90YU1hbmFnZXI+IHF1b3RhTWFuYWdlckxvY2tlcihvcmlnaW5R
dW90YU1hbmFnZXIoKSk7Ci0gICAgICAgIGlmICghb3JpZ2luUXVvdGFNYW5hZ2VyKCkudHJhY2tz
T3JpZ2luKGRhdGFiYXNlLT5zZWN1cml0eU9yaWdpbigpKSkgeworICAgICAgICBpZiAoIW9yaWdp
blF1b3RhTWFuYWdlcigpLnRyYWNrc09yaWdpbihkYXRhYmFzZS0+c2VjdXJpdHlPcmlnaW4oKSkp
CiAgICAgICAgICAgICBvcmlnaW5RdW90YU1hbmFnZXIoKS50cmFja09yaWdpbihkYXRhYmFzZS0+
c2VjdXJpdHlPcmlnaW4oKSk7Ci0gICAgICAgICAgICBvcmlnaW5RdW90YU1hbmFnZXIoKS5hZGRE
YXRhYmFzZShkYXRhYmFzZS0+c2VjdXJpdHlPcmlnaW4oKSwgZGF0YWJhc2UtPnN0cmluZ0lkZW50
aWZpZXIoKSwgZGF0YWJhc2UtPmZpbGVOYW1lKCkpOwotICAgICAgICB9CiAgICAgfQogCiAgICAg
TXV0ZXhMb2NrZXIgbG9ja0RhdGFiYXNlKG1fZGF0YWJhc2VHdWFyZCk7CmRpZmYgLS1naXQgYS9X
ZWJDb3JlL3N0b3JhZ2UvU1FMVHJhbnNhY3Rpb24uY3BwIGIvV2ViQ29yZS9zdG9yYWdlL1NRTFRy
YW5zYWN0aW9uLmNwcAppbmRleCA5NjA0MjdiNDY4NjcxYTI5YjM0Y2NmNDE5MmFiN2ExMDBlYzAw
NWQzLi41YTFlMmIwN2QwNjk4ZTQ1YmFkYzg1MzJkZGMxYzE0Y2JkY2E3YjU0IDEwMDY0NAotLS0g
YS9XZWJDb3JlL3N0b3JhZ2UvU1FMVHJhbnNhY3Rpb24uY3BwCisrKyBiL1dlYkNvcmUvc3RvcmFn
ZS9TUUxUcmFuc2FjdGlvbi5jcHAKQEAgLTg5LDcgKzg5LDcgQEAgU1FMVHJhbnNhY3Rpb246On5T
UUxUcmFuc2FjdGlvbigpCiAKIHZvaWQgU1FMVHJhbnNhY3Rpb246OmV4ZWN1dGVTUUwoY29uc3Qg
U3RyaW5nJiBzcWxTdGF0ZW1lbnQsIGNvbnN0IFZlY3RvcjxTUUxWYWx1ZT4mIGFyZ3VtZW50cywg
UGFzc1JlZlB0cjxTUUxTdGF0ZW1lbnRDYWxsYmFjaz4gY2FsbGJhY2ssIFBhc3NSZWZQdHI8U1FM
U3RhdGVtZW50RXJyb3JDYWxsYmFjaz4gY2FsbGJhY2tFcnJvciwgRXhjZXB0aW9uQ29kZSYgZSkK
IHsKLSAgICBpZiAoIW1fZXhlY3V0ZVNxbEFsbG93ZWQgfHwgIW1fZGF0YWJhc2UtPm9wZW5lZCgp
KSB7CisgICAgaWYgKCFtX2V4ZWN1dGVTcWxBbGxvd2VkIHx8IG1fZGF0YWJhc2UtPnN0b3BwZWQo
KSkgewogICAgICAgICBlID0gSU5WQUxJRF9TVEFURV9FUlI7CiAgICAgICAgIHJldHVybjsKICAg
ICB9CkBAIC0xNDksNyArMTQ5LDcgQEAgY29uc3QgY2hhciogU1FMVHJhbnNhY3Rpb246OmRlYnVn
U3RlcE5hbWUoU1FMVHJhbnNhY3Rpb246OlRyYW5zYWN0aW9uU3RlcE1ldGhvZAogCiB2b2lkIFNR
TFRyYW5zYWN0aW9uOjpjaGVja0FuZEhhbmRsZUNsb3NlZERhdGFiYXNlKCkKIHsKLSAgICBpZiAo
bV9kYXRhYmFzZS0+b3BlbmVkKCkpCisgICAgaWYgKCFtX2RhdGFiYXNlLT5zdG9wcGVkKCkpCiAg
ICAgICAgIHJldHVybjsKIAogICAgIC8vIElmIHRoZSBkYXRhYmFzZSB3YXMgc3RvcHBlZCwgZG9u
J3QgZG8gYW55dGhpbmcgYW5kIGNhbmNlbCBxdWV1ZWQgd29yawo=
</data>

          </attachment>
      

    </bug>

</bugzilla>