<?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>87639</bug_id>
          
          <creation_ts>2012-05-28 01:58:27 -0700</creation_ts>
          <short_desc>REGRESSION(r118650): Patch caused massive failures throughout the builders (Requested by zdobersek on #webkit).</short_desc>
          <delta_ts>2012-05-28 02:46:34 -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>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>75223</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>darin</cc>
    
    <cc>dbates</cc>
    
    <cc>zan</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>635011</commentid>
    <comment_count>0</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-05-28 01:58:27 -0700</bug_when>
    <thetext>http://trac.webkit.org/changeset/118650 broke the build:
Patch caused massive failures throughout the builders (Requested by zdobersek 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>635013</commentid>
    <comment_count>1</comment_count>
      <attachid>144308</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-05-28 01:59:07 -0700</bug_when>
    <thetext>Created attachment 144308
ROLLOUT of r118650

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

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

  webkit-patch land-attachment ATTACHMENT_ID

where ATTACHMENT_ID is the ID of this attachment.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>635014</commentid>
    <comment_count>2</comment_count>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2012-05-28 02:03:01 -0700</bug_when>
    <thetext>EFL Linux 64-bit Release: http://build.webkit.org/builders/EFL%20Linux%2064-bit%20Release/builds/409
GTK Linux 64-bit Release: http://build.webkit.org/builders/GTK%20Linux%2064-bit%20Release/builds/24372
Mac Lion Release: http://build.webkit.org/builders/Lion%20Release%20%28Tests%29/builds/8726
Qt Linux Release: http://build.webkit.org/builders/Qt%20Linux%20Release/builds/47587</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>635030</commentid>
    <comment_count>3</comment_count>
      <attachid>144308</attachid>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2012-05-28 02:14:53 -0700</bug_when>
    <thetext>Comment on attachment 144308
ROLLOUT of r118650

Clearing flags on attachment: 144308

Committed r118659: &lt;http://trac.webkit.org/changeset/118659&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>635031</commentid>
    <comment_count>4</comment_count>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2012-05-28 02:15:21 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>635049</commentid>
    <comment_count>5</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2012-05-28 02:46:34 -0700</bug_when>
    <thetext>Oops. I was around this whole time reading email, so I could have fixed this. Sorry I wasn’t on the IRC channel.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>144308</attachid>
            <date>2012-05-28 01:59:07 -0700</date>
            <delta_ts>2012-05-28 02:14:53 -0700</delta_ts>
            <desc>ROLLOUT of r118650</desc>
            <filename>bug-87639-20120528090327.patch</filename>
            <type>text/plain</type>
            <size>25763</size>
            <attacher name="WebKit Review Bot">webkit.review.bot</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTE4NjU1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZDQ2Zjk0MjJiZDUxNjli
Y2RjODEzNjE4NDBmNDcwMjliNDc4YWQ3ZC4uYWJjOTYwM2I2MjQwNmFlNTVkOTgzODAzZjVlNDMy
ZmE5YWFlMDI5NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQzIEBACisyMDEyLTA1LTI4ICBTaGVy
aWZmIEJvdCAgPHdlYmtpdC5yZXZpZXcuYm90QGdtYWlsLmNvbT4KKworICAgICAgICBVbnJldmll
d2VkLCByb2xsaW5nIG91dCByMTE4NjUwLgorICAgICAgICBodHRwOi8vdHJhYy53ZWJraXQub3Jn
L2NoYW5nZXNldC8xMTg2NTAKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTg3NjM5CisKKyAgICAgICAgUGF0Y2ggY2F1c2VkIG1hc3NpdmUgZmFpbHVyZXMg
dGhyb3VnaG91dCB0aGUgYnVpbGRlcnMKKyAgICAgICAgKFJlcXVlc3RlZCBieSB6ZG9iZXJzZWsg
b24gI3dlYmtpdCkuCisKKyAgICAgICAgKiBjc3MvTWVkaWFRdWVyeS5jcHA6CisgICAgICAgIChX
ZWJDb3JlKToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhUXVlcnk6OnNlcmlhbGl6ZSk6CisgICAg
ICAgIChXZWJDb3JlOjpNZWRpYVF1ZXJ5OjpNZWRpYVF1ZXJ5KToKKyAgICAgICAgKFdlYkNvcmU6
Ok1lZGlhUXVlcnk6OmNzc1RleHQpOgorICAgICAgICAqIGNzcy9NZWRpYVF1ZXJ5Lmg6CisgICAg
ICAgIChXZWJDb3JlOjpNZWRpYVF1ZXJ5OjpleHByZXNzaW9ucyk6CisgICAgICAgIChXZWJDb3Jl
OjpNZWRpYVF1ZXJ5OjptZWRpYVR5cGUpOgorICAgICAgICAoTWVkaWFRdWVyeSk6CisgICAgICAg
IChXZWJDb3JlOjpNZWRpYVF1ZXJ5Ojpjb3B5KToKKyAgICAgICAgKiBjc3MvTWVkaWFRdWVyeUV2
YWx1YXRvci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVF1ZXJ5RXZhbHVhdG9yOjpNZWRp
YVF1ZXJ5RXZhbHVhdG9yKToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhUXVlcnlFdmFsdWF0b3Ip
OgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFRdWVyeUV2YWx1YXRvcjo6ZXZhbCk6CisgICAgICAg
IChXZWJDb3JlOjphc3BlY3RfcmF0aW9NZWRpYUZlYXR1cmVFdmFsKToKKyAgICAgICAgKFdlYkNv
cmU6OmRldmljZV9hc3BlY3RfcmF0aW9NZWRpYUZlYXR1cmVFdmFsKToKKyAgICAgICAgKFdlYkNv
cmU6OnRyYW5zZm9ybV8zZE1lZGlhRmVhdHVyZUV2YWwpOgorICAgICAgICAoV2ViQ29yZTo6dmll
d19tb2RlTWVkaWFGZWF0dXJlRXZhbCk6CisgICAgICAgIChXZWJDb3JlOjpjcmVhdGVGdW5jdGlv
bk1hcCk6CisgICAgICAgICogY3NzL01lZGlhUXVlcnlFdmFsdWF0b3IuaDoKKyAgICAgICAgKFdl
YkNvcmUpOgorICAgICAgICAoTWVkaWFRdWVyeUV2YWx1YXRvcik6CisgICAgICAgICogY3NzL1N0
eWxlUmVzb2x2ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgIChXZWJDb3JlOjpT
dHlsZVJlc29sdmVyOjpjb2xsZWN0TWF0Y2hpbmdSdWxlc0Zvckxpc3QpOgorICAgICAgICAqIGNz
cy9TdHlsZVJlc29sdmVyLmg6CisgICAgICAgIChNZWRpYVF1ZXJ5UmVzdWx0KToKKyAgICAgICAg
KFdlYkNvcmU6Ok1lZGlhUXVlcnlSZXN1bHQ6Ok1lZGlhUXVlcnlSZXN1bHQpOgorICAgICAgICAo
V2ViQ29yZSk6CisgICAgICAgIChTdHlsZVJlc29sdmVyKToKKwogMjAxMi0wNS0yOCAgSm9uYXRo
YW4gRG9uZyAgPGpvbmF0aGFuLmRvbmdAdG9yY2htb2JpbGUuY29tLmNuPgogCiAgICAgICAgIFtC
bGFja0JlcnJ5XSBodHRwIGF1dGhlbnRpY2F0aW9uIGNyYXNoIHRoZSBicm93c2VyIHdoZW4gdXNl
ciBjb21taXQgb3IgY2FuY2VsIHRoZSBodHRwIGF1dGhlbnRpY2F0aW9uIGRpYWxvZwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL01lZGlhUXVlcnkuY3BwIGIvU291cmNlL1dlYkNvcmUv
Y3NzL01lZGlhUXVlcnkuY3BwCmluZGV4IDZmMTU1ZTFjNjllZmMyMzRkYTM1MGM3MzViMmQ3NmUx
NWFmYzhiYzQuLjcwNGMwMGE1OWRjNDdkN2NhNWU3MDg3M2JkMDNkZmI3MTAxZGUyZGUgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9NZWRpYVF1ZXJ5LmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9jc3MvTWVkaWFRdWVyeS5jcHAKQEAgLTM1LDYgKzM1LDcgQEAKIAogbmFtZXNwYWNlIFdl
YkNvcmUgewogCisvLyBodHRwOi8vZGV2LnczLm9yZy9jc3N3Zy9jc3NvbS8jc2VyaWFsaXplLWEt
bWVkaWEtcXVlcnkKIFN0cmluZyBNZWRpYVF1ZXJ5OjpzZXJpYWxpemUoKSBjb25zdAogewogICAg
IFN0cmluZ0J1aWxkZXIgcmVzdWx0OwpAQCAtNjUsNyArNjYsNiBAQCBTdHJpbmcgTWVkaWFRdWVy
eTo6c2VyaWFsaXplKCkgY29uc3QKICAgICAgICAgcmVzdWx0LmFwcGVuZCgiIGFuZCAiKTsKICAg
ICAgICAgcmVzdWx0LmFwcGVuZChtX2V4cHJlc3Npb25zLT5hdChpKS0+c2VyaWFsaXplKCkpOwog
ICAgIH0KLQogICAgIHJldHVybiByZXN1bHQudG9TdHJpbmcoKTsKIH0KIApAQCAtNzQsMzMgKzc0
LDMyIEBAIHN0YXRpYyBib29sIGV4cHJlc3Npb25Db21wYXJlKGNvbnN0IE93blB0cjxNZWRpYVF1
ZXJ5RXhwPiYgYSwgY29uc3QgT3duUHRyPE1lZGlhCiAgICAgcmV0dXJuIGNvZGVQb2ludENvbXBh
cmUoYS0+c2VyaWFsaXplKCksIGItPnNlcmlhbGl6ZSgpKSA8IDA7CiB9CiAKLU1lZGlhUXVlcnk6
Ok1lZGlhUXVlcnkoUmVzdHJpY3RvciByZXN0cmljdG9yLCBjb25zdCBTdHJpbmcmIG1lZGlhVHlw
ZSwgUGFzc093blB0cjxFeHByZXNzaW9uVmVjdG9yPiBleHByZXNzaW9ucykKLSAgICA6IG1fcmVz
dHJpY3RvcihyZXN0cmljdG9yKQorCitNZWRpYVF1ZXJ5OjpNZWRpYVF1ZXJ5KFJlc3RyaWN0b3Ig
ciwgY29uc3QgU3RyaW5nJiBtZWRpYVR5cGUsIFBhc3NPd25QdHI8VmVjdG9yPE93blB0cjxNZWRp
YVF1ZXJ5RXhwPiA+ID4gZXhwcnMpCisgICAgOiBtX3Jlc3RyaWN0b3IocikKICAgICAsIG1fbWVk
aWFUeXBlKG1lZGlhVHlwZS5sb3dlcigpKQotICAgICwgbV9leHByZXNzaW9ucyhleHByZXNzaW9u
cykKKyAgICAsIG1fZXhwcmVzc2lvbnMoZXhwcnMpCiAgICAgLCBtX2lnbm9yZWQoZmFsc2UpCiB7
CiAgICAgaWYgKCFtX2V4cHJlc3Npb25zKSB7Ci0gICAgICAgIG1fZXhwcmVzc2lvbnMgPSBhZG9w
dFB0cihuZXcgRXhwcmVzc2lvblZlY3Rvcik7CisgICAgICAgIG1fZXhwcmVzc2lvbnMgPSBhZG9w
dFB0cihuZXcgVmVjdG9yPE93blB0cjxNZWRpYVF1ZXJ5RXhwPiA+KTsKICAgICAgICAgcmV0dXJu
OwogICAgIH0KIAotICAgIEV4cHJlc3Npb25WZWN0b3ImIHZlY3RvciA9ICptX2V4cHJlc3Npb25z
OworICAgIG5vbkNvcHlpbmdTb3J0KG1fZXhwcmVzc2lvbnMtPmJlZ2luKCksIG1fZXhwcmVzc2lv
bnMtPmVuZCgpLCBleHByZXNzaW9uQ29tcGFyZSk7CiAKLSAgICBub25Db3B5aW5nU29ydCh2ZWN0
b3IuYmVnaW4oKSwgdmVjdG9yLmVuZCgpLCBleHByZXNzaW9uQ29tcGFyZSk7CisgICAgLy8gcmVt
b3ZlIGFsbCBkdXBsaWNhdGVkIGV4cHJlc3Npb25zCisgICAgU3RyaW5nIGtleTsKKyAgICBmb3Ig
KGludCBpID0gbV9leHByZXNzaW9ucy0+c2l6ZSgpIC0gMTsgaSA+PSAwOyAtLWkpIHsKIAotICAg
IFN0cmluZyBwcmV2aW91c1NlcmlhbGl6ZWRFeHByZXNzaW9uOwotICAgIGZvciAoc2l6ZV90IGkg
PSB2ZWN0b3Iuc2l6ZSgpOyBpOyApIHsKLSAgICAgICAgLS1pOworICAgICAgICAvLyBpZiBub3Qg
YWxsIG9mIHRoZSBleHByZXNzaW9ucyBpcyB2YWxpZCB0aGUgbWVkaWEgcXVlcnkgbXVzdCBiZSBp
Z25vcmVkLgorICAgICAgICBpZiAoIW1faWdub3JlZCkKKyAgICAgICAgICAgIG1faWdub3JlZCA9
ICFtX2V4cHJlc3Npb25zLT5hdChpKS0+aXNWYWxpZCgpOwogCi0gICAgICAgIC8vIElmIGFueSBl
eHByZXNzaW9uIGlzIGludmFsaWQsIHRoZSBlbnRpcmUgbWVkaWEgcXVlcnkgbXVzdCBiZSBpZ25v
cmVkLgotICAgICAgICBtX2lnbm9yZWQgPSBtX2lnbm9yZWQgfHwgIXZlY3RvcltpXS0+aXNWYWxp
ZCgpOwotCi0gICAgICAgIC8vIFJlbW92ZSBkdXBsaWNhdGUgZXhwcmVzc2lvbnMuCi0gICAgICAg
IFN0cmluZyBzZXJpYWxpemVkRXhwcmVzc2lvbiA9IHZlY3RvcltpXS0+c2VyaWFsaXplKCk7Ci0g
ICAgICAgIGlmIChzZXJpYWxpemVkRXhwcmVzc2lvbiA9PSBwcmV2aW91c1NlcmlhbGl6ZWRFeHBy
ZXNzaW9uKQotICAgICAgICAgICAgdmVjdG9yLnJlbW92ZShpKTsKLSAgICAgICAgcHJldmlvdXNT
ZXJpYWxpemVkRXhwcmVzc2lvbiA9IHNlcmlhbGl6ZWRFeHByZXNzaW9uOworICAgICAgICBpZiAo
bV9leHByZXNzaW9ucy0+YXQoaSktPnNlcmlhbGl6ZSgpID09IGtleSkKKyAgICAgICAgICAgIG1f
ZXhwcmVzc2lvbnMtPnJlbW92ZShpKTsKKyAgICAgICAgZWxzZQorICAgICAgICAgICAga2V5ID0g
bV9leHByZXNzaW9ucy0+YXQoaSktPnNlcmlhbGl6ZSgpOwogICAgIH0KIH0KIApAQCAtMTA5LDMx
ICsxMDgsMjkgQEAgTWVkaWFRdWVyeTo6TWVkaWFRdWVyeShjb25zdCBNZWRpYVF1ZXJ5JiBvKQog
ICAgICwgbV9tZWRpYVR5cGUoby5tX21lZGlhVHlwZSkKICAgICAsIG1fZXhwcmVzc2lvbnMoYWRv
cHRQdHIobmV3IFZlY3RvcjxPd25QdHI8TWVkaWFRdWVyeUV4cD4gPihvLm1fZXhwcmVzc2lvbnMt
PnNpemUoKSkpKQogICAgICwgbV9pZ25vcmVkKG8ubV9pZ25vcmVkKQotICAgICwgbV9zZXJpYWxp
emVkUXVlcnkoby5tX3NlcmlhbGl6ZWRRdWVyeSkKKyAgICAsIG1fc2VyaWFsaXphdGlvbkNhY2hl
KG8ubV9zZXJpYWxpemF0aW9uQ2FjaGUpCiB7CiAgICAgZm9yICh1bnNpZ25lZCBpID0gMDsgaSA8
IG1fZXhwcmVzc2lvbnMtPnNpemUoKTsgKytpKQogICAgICAgICAoKm1fZXhwcmVzc2lvbnMpW2ld
ID0gby5tX2V4cHJlc3Npb25zLT5hdChpKS0+Y29weSgpOwogfQogCi1QYXNzT3duUHRyPE1lZGlh
UXVlcnk+IE1lZGlhUXVlcnk6OmNvcHkoKSBjb25zdAotewotICAgIHJldHVybiBhZG9wdFB0cihu
ZXcgTWVkaWFRdWVyeSgqdGhpcykpOwotfQotCiBNZWRpYVF1ZXJ5Ojp+TWVkaWFRdWVyeSgpCiB7
CiB9CiAKKy8vIGh0dHA6Ly9kZXYudzMub3JnL2Nzc3dnL2Nzc29tLyNjb21wYXJlLW1lZGlhLXF1
ZXJpZXMKIGJvb2wgTWVkaWFRdWVyeTo6b3BlcmF0b3I9PShjb25zdCBNZWRpYVF1ZXJ5JiBvdGhl
cikgY29uc3QKIHsKICAgICByZXR1cm4gY3NzVGV4dCgpID09IG90aGVyLmNzc1RleHQoKTsKIH0K
IAotY29uc3QgU3RyaW5nJiBNZWRpYVF1ZXJ5Ojpjc3NUZXh0KCkgY29uc3QKKy8vIGh0dHA6Ly9k
ZXYudzMub3JnL2Nzc3dnL2Nzc29tLyNzZXJpYWxpemUtYS1saXN0LW9mLW1lZGlhLXF1ZXJpZXMK
K1N0cmluZyBNZWRpYVF1ZXJ5Ojpjc3NUZXh0KCkgY29uc3QKIHsKLSAgICBpZiAobV9zZXJpYWxp
emVkUXVlcnkuaXNOdWxsKCkpCi0gICAgICAgIGNvbnN0X2Nhc3Q8TWVkaWFRdWVyeSo+KHRoaXMp
LT5tX3NlcmlhbGl6ZWRRdWVyeSA9IHNlcmlhbGl6ZSgpOwotICAgIHJldHVybiBtX3NlcmlhbGl6
ZWRRdWVyeTsKKyAgICBpZiAobV9zZXJpYWxpemF0aW9uQ2FjaGUuaXNOdWxsKCkpCisgICAgICAg
IGNvbnN0X2Nhc3Q8TWVkaWFRdWVyeSo+KHRoaXMpLT5tX3NlcmlhbGl6YXRpb25DYWNoZSA9IHNl
cmlhbGl6ZSgpOworCisgICAgcmV0dXJuIG1fc2VyaWFsaXphdGlvbkNhY2hlOwogfQogCi19IC8v
IG5hbWVzcGFjZSBXZWJDb3JlCit9IC8vbmFtZXNwYWNlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9jc3MvTWVkaWFRdWVyeS5oIGIvU291cmNlL1dlYkNvcmUvY3NzL01lZGlhUXVlcnkuaApp
bmRleCBiNTBjNGRmYTVmNDMzZTIyMjk4MjVlYmM4ZWY5NDA0ZjQ3NDc0MjIwLi4zOThlODQ1Mjcy
NTc4YzI1NTExZmI4NjU0NWRkMjUxOTE1MjkwZTRiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9jc3MvTWVkaWFRdWVyeS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9NZWRpYVF1ZXJ5LmgK
QEAgLTMwLDQyICszMCw0NCBAQAogI2RlZmluZSBNZWRpYVF1ZXJ5X2gKIAogI2luY2x1ZGUgIlBs
YXRmb3JtU3RyaW5nLmgiCisjaW5jbHVkZSA8d3RmL1Bhc3NPd25QdHIuaD4KKyNpbmNsdWRlIDx3
dGYvVmVjdG9yLmg+CisjaW5jbHVkZSA8d3RmL3RleHQvU3RyaW5nSGFzaC5oPgogCiBuYW1lc3Bh
Y2UgV2ViQ29yZSB7Ci0KIGNsYXNzIE1lZGlhUXVlcnlFeHA7CiAKIGNsYXNzIE1lZGlhUXVlcnkg
ewogICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgotICAgIGVudW0gUmVzdHJp
Y3RvciB7IE9ubHksIE5vdCwgTm9uZSB9OworICAgIGVudW0gUmVzdHJpY3RvciB7CisgICAgICAg
IE9ubHksIE5vdCwgTm9uZQorICAgIH07CiAKICAgICB0eXBlZGVmIFZlY3RvcjxPd25QdHI8TWVk
aWFRdWVyeUV4cD4gPiBFeHByZXNzaW9uVmVjdG9yOwogCi0gICAgTWVkaWFRdWVyeShSZXN0cmlj
dG9yLCBjb25zdCBTdHJpbmcmIG1lZGlhVHlwZSwgUGFzc093blB0cjxFeHByZXNzaW9uVmVjdG9y
Pik7CisgICAgTWVkaWFRdWVyeShSZXN0cmljdG9yLCBjb25zdCBTdHJpbmcmIG1lZGlhVHlwZSwg
UGFzc093blB0cjxFeHByZXNzaW9uVmVjdG9yPiBleHBycyk7CiAgICAgfk1lZGlhUXVlcnkoKTsK
IAotICAgIGJvb2wgb3BlcmF0b3I9PShjb25zdCBNZWRpYVF1ZXJ5JikgY29uc3Q7Ci0KICAgICBS
ZXN0cmljdG9yIHJlc3RyaWN0b3IoKSBjb25zdCB7IHJldHVybiBtX3Jlc3RyaWN0b3I7IH0KLSAg
ICBjb25zdCBFeHByZXNzaW9uVmVjdG9yJiBleHByZXNzaW9ucygpIGNvbnN0IHsgcmV0dXJuICpt
X2V4cHJlc3Npb25zOyB9Ci0gICAgY29uc3QgU3RyaW5nJiBtZWRpYVR5cGUoKSBjb25zdCB7IHJl
dHVybiBtX21lZGlhVHlwZTsgfQotICAgIGNvbnN0IFN0cmluZyYgY3NzVGV4dCgpIGNvbnN0Owor
ICAgIGNvbnN0IFZlY3RvcjxPd25QdHI8TWVkaWFRdWVyeUV4cD4gPiogZXhwcmVzc2lvbnMoKSBj
b25zdCB7IHJldHVybiBtX2V4cHJlc3Npb25zLmdldCgpOyB9CisgICAgU3RyaW5nIG1lZGlhVHlw
ZSgpIGNvbnN0IHsgcmV0dXJuIG1fbWVkaWFUeXBlOyB9CisgICAgYm9vbCBvcGVyYXRvcj09KGNv
bnN0IE1lZGlhUXVlcnkmIG90aGVyKSBjb25zdDsKKyAgICBTdHJpbmcgY3NzVGV4dCgpIGNvbnN0
OwogICAgIGJvb2wgaWdub3JlZCgpIGNvbnN0IHsgcmV0dXJuIG1faWdub3JlZDsgfQogCi0gICAg
UGFzc093blB0cjxNZWRpYVF1ZXJ5PiBjb3B5KCkgY29uc3Q7CisgICAgUGFzc093blB0cjxNZWRp
YVF1ZXJ5PiBjb3B5KCkgY29uc3QgeyByZXR1cm4gYWRvcHRQdHIobmV3IE1lZGlhUXVlcnkoKnRo
aXMpKTsgfQogCi1wcml2YXRlOgorIHByaXZhdGU6CiAgICAgTWVkaWFRdWVyeShjb25zdCBNZWRp
YVF1ZXJ5Jik7Ci0gICAgdm9pZCBvcGVyYXRvcj0oY29uc3QgTWVkaWFRdWVyeSYpOwotICAgIAot
ICAgIFN0cmluZyBzZXJpYWxpemUoKSBjb25zdDsKIAogICAgIFJlc3RyaWN0b3IgbV9yZXN0cmlj
dG9yOwogICAgIFN0cmluZyBtX21lZGlhVHlwZTsKICAgICBPd25QdHI8RXhwcmVzc2lvblZlY3Rv
cj4gbV9leHByZXNzaW9uczsKICAgICBib29sIG1faWdub3JlZDsKLSAgICBTdHJpbmcgbV9zZXJp
YWxpemVkUXVlcnk7CisgICAgU3RyaW5nIG1fc2VyaWFsaXphdGlvbkNhY2hlOworCisgICAgU3Ry
aW5nIHNlcmlhbGl6ZSgpIGNvbnN0OwogfTsKIAogfSAvLyBuYW1lc3BhY2UKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2Nzcy9NZWRpYVF1ZXJ5RXZhbHVhdG9yLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL2Nzcy9NZWRpYVF1ZXJ5RXZhbHVhdG9yLmNwcAppbmRleCA3OTBhZDM1ZTQ5ZDE2YzA5Zjc4
ZjBmMjRhZjhmMTk3ZjJkYTE4MzM4Li40ZjA0NWM2N2FlZWIxOWQ2YWU0MDExYjJlNTQyYjBmNjM0
OGQ4NWM1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvTWVkaWFRdWVyeUV2YWx1YXRv
ci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL01lZGlhUXVlcnlFdmFsdWF0b3IuY3BwCkBA
IC01OCw0MCArNTgsNTAgQEAgdXNpbmcgbmFtZXNwYWNlIE1lZGlhRmVhdHVyZU5hbWVzOwogCiBl
bnVtIE1lZGlhRmVhdHVyZVByZWZpeCB7IE1pblByZWZpeCwgTWF4UHJlZml4LCBOb1ByZWZpeCB9
OwogCi10eXBlZGVmIGJvb2wgKCpNZWRpYUZlYXR1cmVFdmFsdWF0aW9uRnVuY3Rpb24pKENTU1Zh
bHVlKiwgUmVuZGVyU3R5bGUqLCBGcmFtZSosIE1lZGlhRmVhdHVyZVByZWZpeCk7Ci10eXBlZGVm
IEhhc2hNYXA8QXRvbWljU3RyaW5nSW1wbCosIE1lZGlhRmVhdHVyZUV2YWx1YXRpb25GdW5jdGlv
bj4gRnVuY3Rpb25NYXA7Cit0eXBlZGVmIGJvb2wgKCpFdmFsRnVuYykoQ1NTVmFsdWUqLCBSZW5k
ZXJTdHlsZSosIEZyYW1lKiwgTWVkaWFGZWF0dXJlUHJlZml4KTsKK3R5cGVkZWYgSGFzaE1hcDxB
dG9taWNTdHJpbmdJbXBsKiwgRXZhbEZ1bmM+IEZ1bmN0aW9uTWFwOworc3RhdGljIEZ1bmN0aW9u
TWFwKiBnRnVuY3Rpb25NYXA7CiAKLS8vIEZJWE1FOiBjb2xvci1pbmRleCwgbWluLWNvbG9yLWlu
ZGV4LCBhbmQgbWF4LWNvbG9yLWluZGV4IGFyZSBub3QgaW1wbGVtZW50ZWQuCi0vLyBUbyBpbXBs
ZW1lbnQgdGhlbSB3ZSdkIGhhdmUgdG8gYWRkIGluZm9ybWF0aW9uIGFib3V0IGluZGV4ZWQgY29s
b3IgdG8gdGhlIFdlYkNvcmUgcGxhdGZvcm07Ci0vLyBtb3N0IG1vZGVybiBwbGF0Zm9ybXMgZG9u
J3QgbWFrZSB1c2Ugb2YgaW5kZXhlZCBjb2xvciwgc28gaXQncyBub3QgY2xlYXIgdGhpcyBpcyB3
b3J0aHdoaWxlLgotCi0vLyBGSVhNRTogc2NhbiBpcyBub3QgaW1wbGVtZW50ZWQ6IFRoaXMgbWVk
aWEgZmVhdHVyZSBkZXNjcmliZXMgdGhlIHNjYW5uaW5nIHByb2Nlc3Mgb2YKLS8vIFRWIG91dHB1
dCBkZXZpY2VzLiBUbyBpbXBsZW1lbnQgdGhpcyB3ZSdkIGhhdmUgdG8gYWRkIGluZm9ybWF0aW9u
IHRvIHRoZSBXZWJDb3JlIHBsYXRmb3JtLgorLyoKKyAqIEZJWE1FOiBmb2xsb3dpbmcgbWVkaWEg
ZmVhdHVyZXMgYXJlIG5vdCBpbXBsZW1lbnRlZDogY29sb3JfaW5kZXgsIHNjYW4sIHJlc29sdXRp
b24KKyAqCisgKiBjb2xvcl9pbmRleCwgbWluLWNvbG9yLWluZGV4LCBtYXhfY29sb3JfaW5kZXg6
IEl0J3MgdW5rbm93biBob3cgdG8gcmV0cmlldmUKKyAqIHRoZSBpbmZvcm1hdGlvbiBpZiB0aGUg
ZGlzcGxheSBtb2RlIGlzIGluZGV4ZWQKKyAqIHNjYW46IFRoZSAic2NhbiIgbWVkaWEgZmVhdHVy
ZSBkZXNjcmliZXMgdGhlIHNjYW5uaW5nIHByb2Nlc3Mgb2YKKyAqIHR2IG91dHB1dCBkZXZpY2Vz
LiBJdCdzIHVua25vd24gaG93IHRvIHJldHJpZXZlIHRoaXMgaW5mb3JtYXRpb24gZnJvbQorICog
dGhlIHBsYXRmb3JtCisgKiByZXNvbHV0aW9uLCBtaW4tcmVzb2x1dGlvbiwgbWF4LXJlc29sdXRp
b246IGNzcyBwYXJzZXIgZG9lc24ndCBzZWVtIHRvCisgKiBzdXBwb3J0IENTU19ESU1FTlNJT04K
KyAqLwogCi0vLyBGSVhNRTogcmVzb2x1dGlvbiwgbWluLXJlc29sdXRpb24sIG1heC1yZXNvbHV0
aW9uIGFyZSBub3QgaW1wbGVtZW50ZWQ6IEF0IHRoZSB0aW1lIHRoaXMKLS8vIHdhcyBvcmlnaW5h
bGx5IHdyaXR0ZW4gdGhlIGF1dGhvciBzYWlkIHRoZSBDU1MgcGFyc2VyICJkaWRuJ3Qgc2VlbSB0
byBzdXBwb3J0IENTU19ESU1FTlNJT04iLgorTWVkaWFRdWVyeUV2YWx1YXRvcjo6TWVkaWFRdWVy
eUV2YWx1YXRvcihib29sIG1lZGlhRmVhdHVyZVJlc3VsdCkKKyAgICA6IG1fZnJhbWUoMCkKKyAg
ICAsIG1fc3R5bGUoMCkKKyAgICAsIG1fZXhwUmVzdWx0KG1lZGlhRmVhdHVyZVJlc3VsdCkKK3sK
K30KIAotTWVkaWFRdWVyeUV2YWx1YXRvcjo6TWVkaWFRdWVyeUV2YWx1YXRvcihjb25zdCBTdHJp
bmcmIGFjY2VwdGVkTWVkaWFUeXBlLCBib29sIG1lZGlhRmVhdHVyZVJlc3VsdCkKK01lZGlhUXVl
cnlFdmFsdWF0b3I6OiBNZWRpYVF1ZXJ5RXZhbHVhdG9yKGNvbnN0IFN0cmluZyYgYWNjZXB0ZWRN
ZWRpYVR5cGUsIGJvb2wgbWVkaWFGZWF0dXJlUmVzdWx0KQogICAgIDogbV9tZWRpYVR5cGUoYWNj
ZXB0ZWRNZWRpYVR5cGUpCiAgICAgLCBtX2ZyYW1lKDApCiAgICAgLCBtX3N0eWxlKDApCi0gICAg
LCBtX21lZGlhRmVhdHVyZVJlc3VsdChtZWRpYUZlYXR1cmVSZXN1bHQpCisgICAgLCBtX2V4cFJl
c3VsdChtZWRpYUZlYXR1cmVSZXN1bHQpCiB7CiB9CiAKLU1lZGlhUXVlcnlFdmFsdWF0b3I6Ok1l
ZGlhUXVlcnlFdmFsdWF0b3IoY29uc3QgY2hhciogYWNjZXB0ZWRNZWRpYVR5cGUsIGJvb2wgbWVk
aWFGZWF0dXJlUmVzdWx0KQorTWVkaWFRdWVyeUV2YWx1YXRvcjo6IE1lZGlhUXVlcnlFdmFsdWF0
b3IoY29uc3QgY2hhciogYWNjZXB0ZWRNZWRpYVR5cGUsIGJvb2wgbWVkaWFGZWF0dXJlUmVzdWx0
KQogICAgIDogbV9tZWRpYVR5cGUoYWNjZXB0ZWRNZWRpYVR5cGUpCiAgICAgLCBtX2ZyYW1lKDAp
CiAgICAgLCBtX3N0eWxlKDApCi0gICAgLCBtX21lZGlhRmVhdHVyZVJlc3VsdChtZWRpYUZlYXR1
cmVSZXN1bHQpCisgICAgLCBtX2V4cFJlc3VsdChtZWRpYUZlYXR1cmVSZXN1bHQpCiB7CiB9CiAK
LU1lZGlhUXVlcnlFdmFsdWF0b3I6Ok1lZGlhUXVlcnlFdmFsdWF0b3IoY29uc3QgU3RyaW5nJiBh
Y2NlcHRlZE1lZGlhVHlwZSwgRnJhbWUqIGZyYW1lLCBSZW5kZXJTdHlsZSogc3R5bGUpCitNZWRp
YVF1ZXJ5RXZhbHVhdG9yOjogTWVkaWFRdWVyeUV2YWx1YXRvcihjb25zdCBTdHJpbmcmIGFjY2Vw
dGVkTWVkaWFUeXBlLCBGcmFtZSogZnJhbWUsIFJlbmRlclN0eWxlKiBzdHlsZSkKICAgICA6IG1f
bWVkaWFUeXBlKGFjY2VwdGVkTWVkaWFUeXBlKQogICAgICwgbV9mcmFtZShmcmFtZSkKICAgICAs
IG1fc3R5bGUoc3R5bGUpCi0gICAgLCBtX21lZGlhRmVhdHVyZVJlc3VsdChmYWxzZSkgLy8gSWdu
b3JlZCBpZiBib3RoIG1fZnJhbWUgYW5kIG1fc3R5bGUgYXJlIG5vbi1udWxsLgorICAgICwgbV9l
eHBSZXN1bHQoZmFsc2UpIC8vIGRvZXNuJ3QgbWF0dGVyIHdoZW4gd2UgaGF2ZSBtX2ZyYW1lIGFu
ZCBtX3N0eWxlCiB7CiB9CiAKQEAgLTEyNiwzNSArMTM2LDM1IEBAIGJvb2wgTWVkaWFRdWVyeUV2
YWx1YXRvcjo6ZXZhbChjb25zdCBNZWRpYVF1ZXJ5U2V0KiBxdWVyeVNldCwgU3R5bGVSZXNvbHZl
ciogc3R5CiAgICAgICAgIHJldHVybiB0cnVlOwogCiAgICAgY29uc3QgVmVjdG9yPE93blB0cjxN
ZWRpYVF1ZXJ5PiA+JiBxdWVyaWVzID0gcXVlcnlTZXQtPnF1ZXJ5VmVjdG9yKCk7CisgICAgaWYg
KCFxdWVyaWVzLnNpemUoKSkKKyAgICAgICAgcmV0dXJuIHRydWU7IC8vIGVtcHR5IHF1ZXJ5IGxp
c3QgZXZhbHVhdGVzIHRvIHRydWUKIAotICAgIGJvb2wgcmVzdWx0ID0gdHJ1ZTsKLQotICAgIC8v
IEl0ZXJhdGUgb3ZlciBxdWVyaWVzIGFuZCBzdG9wIGlmIGFueSBvZiB0aGVtIGV2YWwgdG8gdHJ1
ZSAoIm9yIiBzZW1hbnRpY3MpLgotICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgcXVlcmllcy5z
aXplKCk7ICsraSkgewotICAgICAgICBjb25zdCBNZWRpYVF1ZXJ5JiBxdWVyeSA9ICpxdWVyaWVz
W2ldOwotCi0gICAgICAgIHJlc3VsdCA9IGZhbHNlOworICAgIC8vIGl0ZXJhdGUgb3ZlciBxdWVy
aWVzLCBzdG9wIGlmIGFueSBvZiB0aGVtIGV2YWwgdG8gdHJ1ZSAoT1Igc2VtYW50aWNzKQorICAg
IGJvb2wgcmVzdWx0ID0gZmFsc2U7CisgICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBxdWVyaWVz
LnNpemUoKSAmJiAhcmVzdWx0OyArK2kpIHsKKyAgICAgICAgTWVkaWFRdWVyeSogcXVlcnkgPSBx
dWVyaWVzW2ldLmdldCgpOwogCi0gICAgICAgIGlmIChxdWVyeS5pZ25vcmVkKCkpCisgICAgICAg
IGlmIChxdWVyeS0+aWdub3JlZCgpKQogICAgICAgICAgICAgY29udGludWU7CiAKLSAgICAgICAg
aWYgKG1lZGlhVHlwZU1hdGNoKHF1ZXJ5Lm1lZGlhVHlwZSgpKSkgewotICAgICAgICAgICAgY29u
c3QgVmVjdG9yPE93blB0cjxNZWRpYVF1ZXJ5RXhwPiA+JiBleHByZXNzaW9ucyA9IHF1ZXJ5LmV4
cHJlc3Npb25zKCk7CisgICAgICAgIGlmIChtZWRpYVR5cGVNYXRjaChxdWVyeS0+bWVkaWFUeXBl
KCkpKSB7CisgICAgICAgICAgICBjb25zdCBWZWN0b3I8T3duUHRyPE1lZGlhUXVlcnlFeHA+ID4q
IGV4cHMgPSBxdWVyeS0+ZXhwcmVzc2lvbnMoKTsKICAgICAgICAgICAgIC8vIGl0ZXJhdGUgdGhy
b3VnaCBleHByZXNzaW9ucywgc3RvcCBpZiBhbnkgb2YgdGhlbSBldmFsIHRvIGZhbHNlCiAgICAg
ICAgICAgICAvLyAoQU5EIHNlbWFudGljcykKICAgICAgICAgICAgIHNpemVfdCBqID0gMDsKLSAg
ICAgICAgICAgIGZvciAoOyBqIDwgZXhwcmVzc2lvbnMuc2l6ZSgpOyArK2opIHsKLSAgICAgICAg
ICAgICAgICByZXN1bHQgPSBldmFsKCpleHByZXNzaW9uc1tqXSk7Ci0gICAgICAgICAgICAgICAg
aWYgKHN0eWxlUmVzb2x2ZXIgJiYgZXhwcmVzc2lvbnNbal0tPmlzVmlld3BvcnREZXBlbmRlbnQo
KSkKLSAgICAgICAgICAgICAgICAgICAgc3R5bGVSZXNvbHZlci0+YWRkVmlld3BvcnREZXBlbmRl
bnRNZWRpYVF1ZXJ5UmVzdWx0KCpleHByZXNzaW9uc1tqXSwgcmVzdWx0KTsKLSAgICAgICAgICAg
ICAgICBpZiAoIXJlc3VsdCkKKyAgICAgICAgICAgIGZvciAoOyBqIDwgZXhwcy0+c2l6ZSgpOyAr
K2opIHsKKyAgICAgICAgICAgICAgICBib29sIGV4cHJSZXN1bHQgPSBldmFsKGV4cHMtPmF0KGop
LmdldCgpKTsKKyAgICAgICAgICAgICAgICBpZiAoc3R5bGVSZXNvbHZlciAmJiBleHBzLT5hdChq
KS0+aXNWaWV3cG9ydERlcGVuZGVudCgpKQorICAgICAgICAgICAgICAgICAgICBzdHlsZVJlc29s
dmVyLT5hZGRWaWV3cG9ydERlcGVuZGVudE1lZGlhUXVlcnlSZXN1bHQoZXhwcy0+YXQoaikuZ2V0
KCksIGV4cHJSZXN1bHQpOworICAgICAgICAgICAgICAgIGlmICghZXhwclJlc3VsdCkKICAgICAg
ICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICB9Ci0gICAgICAgIH0KIAotICAgICAg
ICByZXN1bHQgPSBhcHBseVJlc3RyaWN0b3IocXVlcnkucmVzdHJpY3RvcigpLCByZXN1bHQpOwot
ICAgICAgICBpZiAocmVzdWx0KQotICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICAvLyBh
c3N1bWUgdHJ1ZSBpZiB3ZSBhcmUgYXQgdGhlIGVuZCBvZiB0aGUgbGlzdCwKKyAgICAgICAgICAg
IC8vIG90aGVyd2lzZSBhc3N1bWUgZmFsc2UKKyAgICAgICAgICAgIHJlc3VsdCA9IGFwcGx5UmVz
dHJpY3RvcihxdWVyeS0+cmVzdHJpY3RvcigpLCBleHBzLT5zaXplKCkgPT0gaik7CisgICAgICAg
IH0gZWxzZQorICAgICAgICAgICAgcmVzdWx0ID0gYXBwbHlSZXN0cmljdG9yKHF1ZXJ5LT5yZXN0
cmljdG9yKCksIGZhbHNlKTsKICAgICB9CiAKICAgICByZXR1cm4gcmVzdWx0OwpAQCAtMjUzLDcg
KzI2Myw3IEBAIHN0YXRpYyBib29sIGFzcGVjdF9yYXRpb01lZGlhRmVhdHVyZUV2YWwoQ1NTVmFs
dWUqIHZhbHVlLCBSZW5kZXJTdHlsZSosIEZyYW1lKiBmCiAgICAgICAgIGludCBoID0gMDsKICAg
ICAgICAgaW50IHYgPSAwOwogICAgICAgICBpZiAocGFyc2VBc3BlY3RSYXRpbyh2YWx1ZSwgaCwg
dikpCi0gICAgICAgICAgICByZXR1cm4gdiAmJiBjb21wYXJlVmFsdWUod2lkdGggKiB2LCBoZWln
aHQgKiBoLCBvcCk7CisgICAgICAgICAgICByZXR1cm4gdiAhPSAwICYmIGNvbXBhcmVWYWx1ZSh3
aWR0aCAqIHYsIGhlaWdodCAqIGgsIG9wKTsKICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgIH0K
IApAQCAtMjY5LDcgKzI3OSw3IEBAIHN0YXRpYyBib29sIGRldmljZV9hc3BlY3RfcmF0aW9NZWRp
YUZlYXR1cmVFdmFsKENTU1ZhbHVlKiB2YWx1ZSwgUmVuZGVyU3R5bGUqLCBGCiAgICAgICAgIGlu
dCBoID0gMDsKICAgICAgICAgaW50IHYgPSAwOwogICAgICAgICBpZiAocGFyc2VBc3BlY3RSYXRp
byh2YWx1ZSwgaCwgdikpCi0gICAgICAgICAgICByZXR1cm4gdiAmJiBjb21wYXJlVmFsdWUoc3Rh
dGljX2Nhc3Q8aW50PihzZy53aWR0aCgpKSAqIHYsIHN0YXRpY19jYXN0PGludD4oc2cuaGVpZ2h0
KCkpICogaCwgb3ApOworICAgICAgICAgICAgcmV0dXJuIHYgIT0gMCAgJiYgY29tcGFyZVZhbHVl
KHN0YXRpY19jYXN0PGludD4oc2cud2lkdGgoKSkgKiB2LCBzdGF0aWNfY2FzdDxpbnQ+KHNnLmhl
aWdodCgpKSAqIGgsIG9wKTsKICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgIH0KIApAQCAtNDkz
LDUxICs1MDMsNjggQEAgc3RhdGljIGJvb2wgdHJhbnNmb3JtXzJkTWVkaWFGZWF0dXJlRXZhbChD
U1NWYWx1ZSogdmFsdWUsIFJlbmRlclN0eWxlKiwgRnJhbWUqLAogCiBzdGF0aWMgYm9vbCB0cmFu
c2Zvcm1fM2RNZWRpYUZlYXR1cmVFdmFsKENTU1ZhbHVlKiB2YWx1ZSwgUmVuZGVyU3R5bGUqLCBG
cmFtZSogZnJhbWUsIE1lZGlhRmVhdHVyZVByZWZpeCBvcCkKIHsKKyAgICBib29sIHJldHVyblZh
bHVlSWZOb1BhcmFtZXRlcjsKKyAgICBpbnQgaGF2ZTNkUmVuZGVyaW5nOworCisjaWYgRU5BQkxF
KDNEX1JFTkRFUklORykKICAgICBib29sIHRocmVlREVuYWJsZWQgPSBmYWxzZTsKLSNpZiBFTkFC
TEUoM0RfUkVOREVSSU5HKSAmJiBVU0UoQUNDRUxFUkFURURfQ09NUE9TSVRJTkcpCisjaWYgVVNF
KEFDQ0VMRVJBVEVEX0NPTVBPU0lUSU5HKQogICAgIGlmIChSZW5kZXJWaWV3KiB2aWV3ID0gZnJh
bWUtPmNvbnRlbnRSZW5kZXJlcigpKQogICAgICAgICB0aHJlZURFbmFibGVkID0gdmlldy0+Y29t
cG9zaXRvcigpLT5jYW5SZW5kZXIzRFRyYW5zZm9ybXMoKTsKKyNlbmRpZgorCisgICAgcmV0dXJu
VmFsdWVJZk5vUGFyYW1ldGVyID0gdGhyZWVERW5hYmxlZDsKKyAgICBoYXZlM2RSZW5kZXJpbmcg
PSB0aHJlZURFbmFibGVkID8gMSA6IDA7CiAjZWxzZQogICAgIFVOVVNFRF9QQVJBTShmcmFtZSk7
CisgICAgcmV0dXJuVmFsdWVJZk5vUGFyYW1ldGVyID0gZmFsc2U7CisgICAgaGF2ZTNkUmVuZGVy
aW5nID0gMDsKICNlbmRpZgorCiAgICAgaWYgKHZhbHVlKSB7CiAgICAgICAgIGZsb2F0IG51bWJl
cjsKLSAgICAgICAgcmV0dXJuIG51bWJlclZhbHVlKHZhbHVlLCBudW1iZXIpICYmIGNvbXBhcmVW
YWx1ZShzdGF0aWNfY2FzdDxpbnQ+KHRocmVlREVuYWJsZWQpLCBzdGF0aWNfY2FzdDxpbnQ+KG51
bWJlciksIG9wKTsKKyAgICAgICAgcmV0dXJuIG51bWJlclZhbHVlKHZhbHVlLCBudW1iZXIpICYm
IGNvbXBhcmVWYWx1ZShoYXZlM2RSZW5kZXJpbmcsIHN0YXRpY19jYXN0PGludD4obnVtYmVyKSwg
b3ApOwogICAgIH0KLSAgICByZXR1cm4gdGhyZWVERW5hYmxlZDsKKyAgICByZXR1cm4gcmV0dXJu
VmFsdWVJZk5vUGFyYW1ldGVyOwogfQogCiBzdGF0aWMgYm9vbCB2aWV3X21vZGVNZWRpYUZlYXR1
cmVFdmFsKENTU1ZhbHVlKiB2YWx1ZSwgUmVuZGVyU3R5bGUqLCBGcmFtZSogZnJhbWUsIE1lZGlh
RmVhdHVyZVByZWZpeCBvcCkKIHsKLSAgICBBU1NFUlRfVU5VU0VEKG9wLCBvcCA9PSBOb1ByZWZp
eCk7CisgICAgVU5VU0VEX1BBUkFNKG9wKTsKICAgICBpZiAoIXZhbHVlKQogICAgICAgICByZXR1
cm4gdHJ1ZTsKICAgICByZXR1cm4gUGFnZTo6c3RyaW5nVG9WaWV3TW9kZShzdGF0aWNfY2FzdDxD
U1NQcmltaXRpdmVWYWx1ZSo+KHZhbHVlKS0+Z2V0U3RyaW5nVmFsdWUoKSkgPT0gZnJhbWUtPnBh
Z2UoKS0+dmlld01vZGUoKTsKIH0KIAotc3RhdGljIEZ1bmN0aW9uTWFwKiBjcmVhdGVGdW5jdGlv
bk1hcCgpCitzdGF0aWMgdm9pZCBjcmVhdGVGdW5jdGlvbk1hcCgpCiB7Ci0gICAgRnVuY3Rpb25N
YXAqIGZ1bmN0aW9uTWFwID0gbmV3IEZ1bmN0aW9uTWFwOworICAgIC8vIENyZWF0ZSB0aGUgdGFi
bGUuCisgICAgZ0Z1bmN0aW9uTWFwID0gbmV3IEZ1bmN0aW9uTWFwOwogI2RlZmluZSBBRERfVE9f
RlVOQ1RJT05NQVAobmFtZSwgc3RyKSAgXAotICAgIGZ1bmN0aW9uTWFwLT5zZXQobmFtZSMjTWVk
aWFGZWF0dXJlLmltcGwoKSwgbmFtZSMjTWVkaWFGZWF0dXJlRXZhbCk7CisgICAgZ0Z1bmN0aW9u
TWFwLT5zZXQobmFtZSMjTWVkaWFGZWF0dXJlLmltcGwoKSwgbmFtZSMjTWVkaWFGZWF0dXJlRXZh
bCk7CiAgICAgQ1NTX01FRElBUVVFUllfTkFNRVNfRk9SX0VBQ0hfTUVESUFGRUFUVVJFKEFERF9U
T19GVU5DVElPTk1BUCk7CiAjdW5kZWYgQUREX1RPX0ZVTkNUSU9OTUFQCi0gICAgcmV0dXJuIGZ1
bmN0aW9uTWFwOwogfQogCi1ib29sIE1lZGlhUXVlcnlFdmFsdWF0b3I6OmV2YWwoY29uc3QgTWVk
aWFRdWVyeUV4cCYgZXhwcmVzc2lvbikgY29uc3QKK2Jvb2wgTWVkaWFRdWVyeUV2YWx1YXRvcjo6
ZXZhbChjb25zdCBNZWRpYVF1ZXJ5RXhwKiBleHByKSBjb25zdAogewogICAgIGlmICghbV9mcmFt
ZSB8fCAhbV9zdHlsZSkKLSAgICAgICAgcmV0dXJuIG1fbWVkaWFGZWF0dXJlUmVzdWx0OworICAg
ICAgICByZXR1cm4gbV9leHBSZXN1bHQ7CiAKLSAgICBpZiAoIWV4cHJlc3Npb24uaXNWYWxpZCgp
KQorICAgIGlmICghZXhwci0+aXNWYWxpZCgpKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAKLSAg
ICBzdGF0aWMgRnVuY3Rpb25NYXAqIGZ1bmN0aW9uTWFwID0gY3JlYXRlRnVuY3Rpb25NYXAoKTsK
LSAgICBNZWRpYUZlYXR1cmVFdmFsdWF0aW9uRnVuY3Rpb24gZnVuY3Rpb24gPSBmdW5jdGlvbk1h
cC0+Z2V0KGV4cHJlc3Npb24ubWVkaWFGZWF0dXJlKCkuaW1wbCgpKTsKKyAgICBpZiAoIWdGdW5j
dGlvbk1hcCkKKyAgICAgICAgY3JlYXRlRnVuY3Rpb25NYXAoKTsKIAotICAgIC8vIFN0YXJ0IHdp
dGggbm8gcHJlZml4OiBTb21lIHRyYW1wb2xpbmUgZnVuY3Rpb25zIGFkZCB0aGUgcHJlZml4IGFu
ZCBjYWxsIG90aGVyIG1lZGlhIGZlYXR1cmUgZnVuY3Rpb25zLgotICAgIHJldHVybiBmdW5jdGlv
biAmJiBmdW5jdGlvbihleHByZXNzaW9uLnZhbHVlKCksIG1fc3R5bGUuZ2V0KCksIG1fZnJhbWUs
IE5vUHJlZml4KTsKKyAgICAvLyBjYWxsIHRoZSBtZWRpYSBmZWF0dXJlIGV2YWx1YXRpb24gZnVu
Y3Rpb24uIEFzc3VtZSBubyBwcmVmaXgKKyAgICAvLyBhbmQgbGV0IHRyYW1wb2xpbmUgZnVuY3Rp
b25zIG92ZXJyaWRlIHRoZSBwcmVmaXggaWYgcHJlZml4IGlzCisgICAgLy8gdXNlZAorICAgIEV2
YWxGdW5jIGZ1bmMgPSBnRnVuY3Rpb25NYXAtPmdldChleHByLT5tZWRpYUZlYXR1cmUoKS5pbXBs
KCkpOworICAgIGlmIChmdW5jKQorICAgICAgICByZXR1cm4gZnVuYyhleHByLT52YWx1ZSgpLCBt
X3N0eWxlLmdldCgpLCBtX2ZyYW1lLCBOb1ByZWZpeCk7CisKKyAgICByZXR1cm4gZmFsc2U7CiB9
CiAKIH0gLy8gbmFtZXNwYWNlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvTWVkaWFR
dWVyeUV2YWx1YXRvci5oIGIvU291cmNlL1dlYkNvcmUvY3NzL01lZGlhUXVlcnlFdmFsdWF0b3Iu
aAppbmRleCBhMzk4OTU3ZjVhNTQwNGUxOGQ1MTY0ZGEwYTY4MGQ1YjE3ZjhjNjU2Li45ZWVlMGYw
MjBmMjg5Y2M3MTNiOTMwNWE4YmU3YzBhMmE3ZWFlZjNiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9jc3MvTWVkaWFRdWVyeUV2YWx1YXRvci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9N
ZWRpYVF1ZXJ5RXZhbHVhdG9yLmgKQEAgLTMxLDMwICszMSw0MiBAQAogI2luY2x1ZGUgIlBsYXRm
b3JtU3RyaW5nLmgiCiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKLQogY2xhc3MgRnJhbWU7CiBjbGFz
cyBNZWRpYVF1ZXJ5RXhwOwogY2xhc3MgTWVkaWFRdWVyeVNldDsKIGNsYXNzIFJlbmRlclN0eWxl
OwogY2xhc3MgU3R5bGVSZXNvbHZlcjsKIAotLy8gQ2xhc3MgdGhhdCBldmFsdWF0ZXMgQ1NTIG1l
ZGlhIHF1ZXJpZXMgYXMgZGVmaW5lZCBpbiBDU1MzIE1vZHVsZSAiTWVkaWEgUXVlcmllcyIuCi0v
LwotLy8gU3BlY2lhbCBjb25zdHJ1Y3RvcnMgYXJlIHN1cHBsaWVkIHNvIHRoYXQgc2ltcGxlIG1l
ZGlhIHF1ZXJpZXMgY2FuIGJlCi0vLyBldmFsdWF0ZWQgd2l0aG91dCBrbm93bGVkZ2Ugb2YgZGV2
aWNlIGNoYXJhY3RlcmlzdGljcy4gVGhpcyBpcyB1c2VkLCBmb3IgZXhhbXBsZSwKLS8vIHdoZW4g
cGFyc2luZyB1c2VyIGFnZW50IHN0eWxlc2hlZXRzLiBUaGUgYm9vbGVhbiBwYXJhbWV0ZXIgdG8g
dGhlIGNvbnN0cnVjdG9yIGlzIHVzZWQKLS8vIGlmIHRoZSBkZXZpY2UgY2hhcmFjdGVyaXN0aWNz
IGFyZSBub3Qga25vd24uIFRoaXMgY2FuIGJlIHVzZWQgdG8gcHJ1bmUgbG9hZGluZwotLy8gb2Yg
c3R5bGVzaGVldHMgdG8gcmVtb3ZlIHRob3NlIHRoYXQgZGVmaW5pdGVseSB3b24ndCBtYXRjaC4K
LQorLyoqCisgKiBDbGFzcyB0aGF0IGV2YWx1YXRlcyBjc3MgbWVkaWEgcXVlcmllcyBhcyBkZWZp
bmVkIGluCisgKiBDU1MzIE1vZHVsZSAiTWVkaWEgUXVlcmllcyIgKGh0dHA6Ly93d3cudzMub3Jn
L1RSL2NzczMtbWVkaWFxdWVyaWVzLykKKyAqIFNwZWNpYWwgY29uc3RydWN0b3JzIGFyZSBuZWVk
ZWQsIGlmIHNpbXBsZSBtZWRpYSBxdWVyaWVzIGFyZSB0byBiZQorICogZXZhbHVhdGVkIHdpdGhv
dXQga25vd2xlZGdlIG9mIHRoZSBtZWRpdW0gZmVhdHVyZXMuIFRoaXMgY2FuIGhhcHBlbgorICog
Zm9yIGV4YW1wbGUgd2hlbiBwYXJzaW5nIFVBIHN0eWxlc2hlZXRzLCBpZiBldmFsdWF0aW9uIGlz
IGRvbmUKKyAqIHJpZ2h0IGFmdGVyIHBhcnNpbmcuCisgKgorICogdGhlIGJvb2xlYW4gcGFyYW1l
dGVyIGlzIHVzZWQgdG8gYXBwcm94aW1hdGUgcmVzdWx0cyBvZiBldmFsdWF0aW9uLCBpZgorICog
dGhlIGRldmljZSBjaGFyYWN0ZXJpc3RpY3MgYXJlIG5vdCBrbm93bi4gVGhpcyBjYW4gYmUgdXNl
ZCB0byBwcnVuZSB0aGUgbG9hZGluZworICogb2Ygc3R5bGVzaGVldHMgdG8gb25seSB0aG9zZSB3
aGljaCBhcmUgcHJvYmFibGUgdG8gbWF0Y2guCisgKi8KIGNsYXNzIE1lZGlhUXVlcnlFdmFsdWF0
b3IgewogICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShNZWRpYVF1ZXJ5RXZhbHVhdG9yKTsgV1RG
X01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6Ci0gICAgLy8gQ3JlYXRlcyBldmFsdWF0b3Ig
d2hpY2ggZXZhbHVhdGVzIG9ubHkgc2ltcGxlIG1lZGlhIHF1ZXJpZXMuCi0gICAgLy8gRXZhbHVh
dG9yIHJldHVybnMgdHJ1ZSBmb3IgYWNjZXB0ZWRNZWRpYVR5cGUgYW5kIHVzZXMgbWVkaWFGZWF0
dXJlUmVzdWx0IGZvciBhbnkgbWVkaWEgZmVhdHVyZXMuCisgICAgLyoqIENyZWF0ZXMgZXZhbHVh
dG9yIHdoaWNoIGV2YWx1YXRlcyBvbmx5IHNpbXBsZSBtZWRpYSBxdWVyaWVzCisgICAgICogIEV2
YWx1YXRvciByZXR1cm5zIHRydWUgZm9yICJhbGwiLCBhbmQgcmV0dXJucyB2YWx1ZSBvZiBcbWVk
aWFGZWF0dXJlUmVzdWx0CisgICAgICogIGZvciBhbnkgbWVkaWEgZmVhdHVyZXMKKyAgICAgKi8K
KyAgICBNZWRpYVF1ZXJ5RXZhbHVhdG9yKGJvb2wgbWVkaWFGZWF0dXJlUmVzdWx0ID0gZmFsc2Up
OworCisgICAgLyoqIENyZWF0ZXMgZXZhbHVhdG9yIHdoaWNoIGV2YWx1YXRlcyBvbmx5IHNpbXBs
ZSBtZWRpYSBxdWVyaWVzCisgICAgICogIEV2YWx1YXRvciAgcmV0dXJucyB0cnVlIGZvciBhY2Nl
cHRlZE1lZGlhVHlwZSBhbmQgcmV0dXJucyB2YWx1ZSBvZiBcbWVkaWFmZWF0dXJlUmVzdWx0Cisg
ICAgICogIGZvciBhbnkgbWVkaWEgZmVhdHVyZXMKKyAgICAgKi8KICAgICBNZWRpYVF1ZXJ5RXZh
bHVhdG9yKGNvbnN0IFN0cmluZyYgYWNjZXB0ZWRNZWRpYVR5cGUsIGJvb2wgbWVkaWFGZWF0dXJl
UmVzdWx0ID0gZmFsc2UpOwogICAgIE1lZGlhUXVlcnlFdmFsdWF0b3IoY29uc3QgY2hhciogYWNj
ZXB0ZWRNZWRpYVR5cGUsIGJvb2wgbWVkaWFGZWF0dXJlUmVzdWx0ID0gZmFsc2UpOwogCi0gICAg
Ly8gQ3JlYXRlcyBldmFsdWF0b3Igd2hpY2ggZXZhbHVhdGVzIGZ1bGwgbWVkaWEgcXVlcmllcy4K
KyAgICAvKiogQ3JlYXRlcyBldmFsdWF0b3Igd2hpY2ggZXZhbHVhdGVzIGZ1bGwgbWVkaWEgcXVl
cmllcworICAgICAqLwogICAgIE1lZGlhUXVlcnlFdmFsdWF0b3IoY29uc3QgU3RyaW5nJiBhY2Nl
cHRlZE1lZGlhVHlwZSwgRnJhbWUqLCBSZW5kZXJTdHlsZSopOwogCiAgICAgfk1lZGlhUXVlcnlF
dmFsdWF0b3IoKTsKQEAgLTYyLDE5ICs3NCwxOCBAQCBwdWJsaWM6CiAgICAgYm9vbCBtZWRpYVR5
cGVNYXRjaChjb25zdCBTdHJpbmcmIG1lZGlhVHlwZVRvTWF0Y2gpIGNvbnN0OwogICAgIGJvb2wg
bWVkaWFUeXBlTWF0Y2hTcGVjaWZpYyhjb25zdCBjaGFyKiBtZWRpYVR5cGVUb01hdGNoKSBjb25z
dDsKIAotICAgIC8vIEV2YWx1YXRlcyBhIGxpc3Qgb2YgbWVkaWEgcXVlcmllcy4KKyAgICAvKiog
RXZhbHVhdGVzIGEgbGlzdCBvZiBtZWRpYSBxdWVyaWVzICovCiAgICAgYm9vbCBldmFsKGNvbnN0
IE1lZGlhUXVlcnlTZXQqLCBTdHlsZVJlc29sdmVyKiA9IDApIGNvbnN0OwogCi0gICAgLy8gRXZh
bHVhdGVzIG1lZGlhIHF1ZXJ5IHN1YmV4cHJlc3Npb24sIGkuZS4gImFuZCAobWVkaWEtZmVhdHVy
ZTogdmFsdWUpIiBwYXJ0LgotICAgIGJvb2wgZXZhbChjb25zdCBNZWRpYVF1ZXJ5RXhwJikgY29u
c3Q7CisgICAgLyoqIEV2YWx1YXRlcyBtZWRpYSBxdWVyeSBzdWJleHByZXNzaW9uLCBpZSAiYW5k
IChtZWRpYS1mZWF0dXJlOiB2YWx1ZSkiIHBhcnQgKi8KKyAgICBib29sIGV2YWwoY29uc3QgTWVk
aWFRdWVyeUV4cCopIGNvbnN0OwogCiBwcml2YXRlOgogICAgIFN0cmluZyBtX21lZGlhVHlwZTsK
ICAgICBGcmFtZSogbV9mcmFtZTsgLy8gbm90IG93bmVkCiAgICAgUmVmUHRyPFJlbmRlclN0eWxl
PiBtX3N0eWxlOwotICAgIGJvb2wgbV9tZWRpYUZlYXR1cmVSZXN1bHQ7CisgICAgYm9vbCBtX2V4
cFJlc3VsdDsKIH07CiAKLX0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKLQorfSAvLyBuYW1lc3BhY2UK
ICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL1N0eWxlUmVzb2x2ZXIuY3Bw
IGIvU291cmNlL1dlYkNvcmUvY3NzL1N0eWxlUmVzb2x2ZXIuY3BwCmluZGV4IDZlYWNhYjMyOTZk
NDM3MjNlMTQ4YjcyNmZjMWE5MTQ2M2U2OTdmNDAuLjA2YjQxYThhY2UxMzkxZGFmZTcxNjNmNjk2
MTc4ZmZiYWM4ZGVhMmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVJlc29s
dmVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVSZXNvbHZlci5jcHAKQEAgLTc3
LDcgKzc3LDYgQEAKICNpbmNsdWRlICJNYXRyaXhUcmFuc2Zvcm1PcGVyYXRpb24uaCIKICNpbmNs
dWRlICJNZWRpYUxpc3QuaCIKICNpbmNsdWRlICJNZWRpYVF1ZXJ5RXZhbHVhdG9yLmgiCi0jaW5j
bHVkZSAiTWVkaWFRdWVyeUV4cC5oIgogI2luY2x1ZGUgIk5vZGVSZW5kZXJTdHlsZS5oIgogI2lu
Y2x1ZGUgIlBhZ2UuaCIKICNpbmNsdWRlICJQYWdlR3JvdXAuaCIKQEAgLTE2MSwxNyArMTYwLDYg
QEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiB1c2luZyBuYW1lc3BhY2UgSFRNTE5hbWVzOwogCi1z
dHJ1Y3QgTWVkaWFRdWVyeVJlc3VsdCB7Ci0gICAgTWVkaWFRdWVyeVJlc3VsdChjb25zdCBNZWRp
YVF1ZXJ5RXhwJiBleHByZXNzaW9uLCBib29sIHJlc3VsdCkKLSAgICAgICAgOiBleHByZXNzaW9u
KGV4cHJlc3Npb24pCi0gICAgICAgICwgcmVzdWx0KHJlc3VsdCkKLSAgICB7Ci0gICAgfQotCi0g
ICAgTWVkaWFRdWVyeUV4cCBleHByZXNzaW9uOwotICAgIGJvb2wgcmVzdWx0OwotfTsKLQogI2Rl
ZmluZSBIQU5ETEVfSU5IRVJJVChwcm9wLCBQcm9wKSBcCiBpZiAoaXNJbmhlcml0KSB7IFwKICAg
ICBtX3N0eWxlLT5zZXQjI1Byb3AobV9wYXJlbnRTdHlsZS0+cHJvcCgpKTsgXApAQCAtNTE0MCwx
NiArNTEyOCwxNiBAQCBib29sIFN0eWxlUmVzb2x2ZXI6Omhhc1NlbGVjdG9yRm9yQXR0cmlidXRl
KGNvbnN0IEF0b21pY1N0cmluZyAmYXR0cm5hbWUpIGNvbnN0CiAgICAgcmV0dXJuIG1fZmVhdHVy
ZXMuYXR0cnNJblJ1bGVzLmNvbnRhaW5zKGF0dHJuYW1lLmltcGwoKSk7CiB9CiAKLXZvaWQgU3R5
bGVSZXNvbHZlcjo6YWRkVmlld3BvcnREZXBlbmRlbnRNZWRpYVF1ZXJ5UmVzdWx0KGNvbnN0IE1l
ZGlhUXVlcnlFeHAmIGV4cHJlc3Npb24sIGJvb2wgcmVzdWx0KQordm9pZCBTdHlsZVJlc29sdmVy
OjphZGRWaWV3cG9ydERlcGVuZGVudE1lZGlhUXVlcnlSZXN1bHQoY29uc3QgTWVkaWFRdWVyeUV4
cCogZXhwciwgYm9vbCByZXN1bHQpCiB7Ci0gICAgbV92aWV3cG9ydERlcGVuZGVudE1lZGlhUXVl
cnlSZXN1bHRzLmFwcGVuZChNZWRpYVF1ZXJ5UmVzdWx0KGV4cHJlc3Npb24sIHJlc3VsdCkpOwor
ICAgIG1fdmlld3BvcnREZXBlbmRlbnRNZWRpYVF1ZXJ5UmVzdWx0cy5hcHBlbmQoYWRvcHRQdHIo
bmV3IE1lZGlhUXVlcnlSZXN1bHQoKmV4cHIsIHJlc3VsdCkpKTsKIH0KIAogYm9vbCBTdHlsZVJl
c29sdmVyOjphZmZlY3RlZEJ5Vmlld3BvcnRDaGFuZ2UoKSBjb25zdAogewotICAgIHVuc2lnbmVk
IHNpemUgPSBtX3ZpZXdwb3J0RGVwZW5kZW50TWVkaWFRdWVyeVJlc3VsdHMuc2l6ZSgpOwotICAg
IGZvciAodW5zaWduZWQgaSA9IDA7IGkgPCBzaXplOyBpKyspIHsKLSAgICAgICAgaWYgKG1fbWVk
aXVtLT5ldmFsKG1fdmlld3BvcnREZXBlbmRlbnRNZWRpYVF1ZXJ5UmVzdWx0c1tpXS5leHByZXNz
aW9uKSAhPSBtX3ZpZXdwb3J0RGVwZW5kZW50TWVkaWFRdWVyeVJlc3VsdHNbaV0ucmVzdWx0KQor
ICAgIHVuc2lnbmVkIHMgPSBtX3ZpZXdwb3J0RGVwZW5kZW50TWVkaWFRdWVyeVJlc3VsdHMuc2l6
ZSgpOworICAgIGZvciAodW5zaWduZWQgaSA9IDA7IGkgPCBzOyBpKyspIHsKKyAgICAgICAgaWYg
KG1fbWVkaXVtLT5ldmFsKCZtX3ZpZXdwb3J0RGVwZW5kZW50TWVkaWFRdWVyeVJlc3VsdHNbaV0t
Pm1fZXhwcmVzc2lvbikgIT0gbV92aWV3cG9ydERlcGVuZGVudE1lZGlhUXVlcnlSZXN1bHRzW2ld
LT5tX3Jlc3VsdCkKICAgICAgICAgICAgIHJldHVybiB0cnVlOwogICAgIH0KICAgICByZXR1cm4g
ZmFsc2U7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVSZXNvbHZlci5oIGIv
U291cmNlL1dlYkNvcmUvY3NzL1N0eWxlUmVzb2x2ZXIuaAppbmRleCA0NjA0NGQ5NTU5ZTAyZjI4
ODc1MmFjNTQ1ZDQxOTUyYTE4M2I0MzZhLi5mMzgyZDVmOGFlYzQ3M2IyZDhiY2IwZTY4ODFhNDk3
MGMxZWE5YzhlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVSZXNvbHZlci5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVJlc29sdmVyLmgKQEAgLTIyLDMyICsyMiw1
MiBAQAogI2lmbmRlZiBTdHlsZVJlc29sdmVyX2gKICNkZWZpbmUgU3R5bGVSZXNvbHZlcl9oCiAK
KyNpbmNsdWRlICJDU1NSdWxlLmgiCisjaW5jbHVkZSAiQ1NTVmFsdWVMaXN0LmgiCiAjaW5jbHVk
ZSAiTGlua0hhc2guaCIKKyNpbmNsdWRlICJNZWRpYVF1ZXJ5RXhwLmgiCiAjaW5jbHVkZSAiUmVu
ZGVyU3R5bGUuaCIKICNpbmNsdWRlICJTZWxlY3RvckNoZWNrZXIuaCIKKyNpbmNsdWRlIDx3dGYv
SGFzaE1hcC5oPgorI2luY2x1ZGUgPHd0Zi9IYXNoU2V0Lmg+CisjaW5jbHVkZSA8d3RmL1JlZlB0
ci5oPgorI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KKyNpbmNsdWRlIDx3dGYvdGV4dC9TdHJpbmdI
YXNoLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAorZW51bSBFU21hcnRNaW5pbXVtRm9yRm9u
dFNpemUgeyBEb05vdFVzZVNtYXJ0TWluaW11bUZvckZvbnRTaXplLCBVc2VTbWFydE1pbmltdW1G
b3JGb250Rml6ZSB9OworCiBjbGFzcyBDU1NGb250U2VsZWN0b3I7CitjbGFzcyBDU1NQYWdlUnVs
ZTsKK2NsYXNzIENTU1ByaW1pdGl2ZVZhbHVlOworY2xhc3MgQ1NTUHJvcGVydHk7CitjbGFzcyBD
U1NSdWxlTGlzdDsKK2NsYXNzIENTU0ZvbnRGYWNlOworY2xhc3MgQ1NTRm9udEZhY2VSdWxlOwog
Y2xhc3MgQ1NTSW1hZ2VHZW5lcmF0b3JWYWx1ZTsKIGNsYXNzIENTU0ltYWdlU2V0VmFsdWU7CiBj
bGFzcyBDU1NJbWFnZVZhbHVlOwotY2xhc3MgQ1NTUnVsZUxpc3Q7CitjbGFzcyBDU1NTZWxlY3Rv
cjsKIGNsYXNzIENTU1N0eWxlUnVsZTsKIGNsYXNzIENTU1N0eWxlU2hlZXQ7CitjbGFzcyBDU1NW
YWx1ZTsKIGNsYXNzIENvbnRhaW5lck5vZGU7CiBjbGFzcyBDdXN0b21GaWx0ZXJPcGVyYXRpb247
CiBjbGFzcyBDdXN0b21GaWx0ZXJQYXJhbWV0ZXI7CiBjbGFzcyBEb2N1bWVudDsKIGNsYXNzIEVs
ZW1lbnQ7CitjbGFzcyBGcmFtZTsKK2NsYXNzIEZyYW1lVmlldzsKK2NsYXNzIEtVUkw7CiBjbGFz
cyBLZXlmcmFtZUxpc3Q7CiBjbGFzcyBLZXlmcmFtZVZhbHVlOwogY2xhc3MgTWVkaWFRdWVyeUV2
YWx1YXRvcjsKLWNsYXNzIE1lZGlhUXVlcnlFeHA7CiBjbGFzcyBOb2RlOwogY2xhc3MgUmVuZGVy
UmVnaW9uOwogY2xhc3MgUnVsZURhdGE7CiBjbGFzcyBSdWxlU2V0OworY2xhc3MgU2V0dGluZ3M7
CiBjbGFzcyBTdGF0aWNDU1NSdWxlTGlzdDsKIGNsYXNzIFN0eWxlQnVpbGRlcjsKIGNsYXNzIFN0
eWxlSW1hZ2U7CkBAIC01NywyMCArNzcsMzIgQEAgY2xhc3MgU3R5bGVQcm9wZXJ0eVNldDsKIGNs
YXNzIFN0eWxlUnVsZTsKIGNsYXNzIFN0eWxlUnVsZUtleWZyYW1lczsKIGNsYXNzIFN0eWxlUnVs
ZVBhZ2U7CitjbGFzcyBTdHlsZVJ1bGVSZWdpb247CiBjbGFzcyBTdHlsZVNoYWRlcjsKK2NsYXNz
IFN0eWxlU2hlZXQ7CiBjbGFzcyBTdHlsZVNoZWV0Q29udGVudHM7CitjbGFzcyBTdHlsZVNoZWV0
TGlzdDsKIGNsYXNzIFN0eWxlZEVsZW1lbnQ7CiBjbGFzcyBXZWJLaXRDU1NGaWx0ZXJWYWx1ZTsK
IGNsYXNzIFdlYktpdENTU1NoYWRlclZhbHVlOwogCi1zdHJ1Y3QgTWVkaWFRdWVyeVJlc3VsdDsK
LQotZW51bSBFU21hcnRNaW5pbXVtRm9yRm9udFNpemUgeyBEb05vdFVzZVNtYXJ0TWluaW11bUZv
ckZvbnRTaXplLCBVc2VTbWFydE1pbmltdW1Gb3JGb250Rml6ZSB9OwotICAgIAogI2lmIEVOQUJM
RShDU1NfU0hBREVSUykKIHR5cGVkZWYgVmVjdG9yPFJlZlB0cjxDdXN0b21GaWx0ZXJQYXJhbWV0
ZXI+ID4gQ3VzdG9tRmlsdGVyUGFyYW1ldGVyTGlzdDsKICNlbmRpZgogCitjbGFzcyBNZWRpYVF1
ZXJ5UmVzdWx0IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShNZWRpYVF1ZXJ5UmVzdWx0KTsg
V1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CitwdWJsaWM6CisgICAgTWVkaWFRdWVyeVJlc3VsdChj
b25zdCBNZWRpYVF1ZXJ5RXhwJiBleHByLCBib29sIHJlc3VsdCkKKyAgICAgICAgOiBtX2V4cHJl
c3Npb24oZXhwcikKKyAgICAgICAgLCBtX3Jlc3VsdChyZXN1bHQpCisgICAgeworICAgIH0KKwor
ICAgIE1lZGlhUXVlcnlFeHAgbV9leHByZXNzaW9uOworICAgIGJvb2wgbV9yZXN1bHQ7Cit9Owor
CiBlbnVtIFN0eWxlU2hhcmluZ0JlaGF2aW9yIHsKICAgICBBbGxvd1N0eWxlU2hhcmluZywKICAg
ICBEaXNhbGxvd1N0eWxlU2hhcmluZywKQEAgLTE5Myw3ICsyMjUsNyBAQCBwdWJsaWM6CiAKICAg
ICBDU1NGb250U2VsZWN0b3IqIGZvbnRTZWxlY3RvcigpIGNvbnN0IHsgcmV0dXJuIG1fZm9udFNl
bGVjdG9yLmdldCgpOyB9CiAKLSAgICB2b2lkIGFkZFZpZXdwb3J0RGVwZW5kZW50TWVkaWFRdWVy
eVJlc3VsdChjb25zdCBNZWRpYVF1ZXJ5RXhwJiwgYm9vbCByZXN1bHQpOworICAgIHZvaWQgYWRk
Vmlld3BvcnREZXBlbmRlbnRNZWRpYVF1ZXJ5UmVzdWx0KGNvbnN0IE1lZGlhUXVlcnlFeHAqLCBi
b29sIHJlc3VsdCk7CiAKICAgICBib29sIGFmZmVjdGVkQnlWaWV3cG9ydENoYW5nZSgpIGNvbnN0
OwogCkBAIC00NjQsNyArNDk2LDcgQEAgcHJpdmF0ZToKICAgICBib29sIG1fc2FtZU9yaWdpbk9u
bHk7CiAKICAgICBSZWZQdHI8Q1NTRm9udFNlbGVjdG9yPiBtX2ZvbnRTZWxlY3RvcjsKLSAgICBW
ZWN0b3I8TWVkaWFRdWVyeVJlc3VsdD4gbV92aWV3cG9ydERlcGVuZGVudE1lZGlhUXVlcnlSZXN1
bHRzOworICAgIFZlY3RvcjxPd25QdHI8TWVkaWFRdWVyeVJlc3VsdD4gPiBtX3ZpZXdwb3J0RGVw
ZW5kZW50TWVkaWFRdWVyeVJlc3VsdHM7CiAKICAgICBib29sIG1fYXBwbHlQcm9wZXJ0eVRvUmVn
dWxhclN0eWxlOwogICAgIGJvb2wgbV9hcHBseVByb3BlcnR5VG9WaXNpdGVkTGlua1N0eWxlOwo=
</data>

          </attachment>
      

    </bug>

</bugzilla>