<?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>160602</bug_id>
          
          <creation_ts>2016-08-05 10:40:19 -0700</creation_ts>
          <short_desc>REGRESSION(r204147): Considering another implementation (Requested by eric_carlson on #webkit).</short_desc>
          <delta_ts>2016-08-05 10:45:12 -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>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>160524</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="WebKit Commit Bot">commit-queue</reporter>
          <assigned_to name="WebKit Commit Bot">commit-queue</assigned_to>
          <cc>eric.carlson</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1217966</commentid>
    <comment_count>0</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-08-05 10:40:19 -0700</bug_when>
    <thetext>http://trac.webkit.org/changeset/204147 broke the build:
Considering another implementation (Requested by eric_carlson on #webkit).

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

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>1217971</commentid>
    <comment_count>2</comment_count>
      <attachid>285434</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-08-05 10:45:09 -0700</bug_when>
    <thetext>Comment on attachment 285434
ROLLOUT of r204147

Clearing flags on attachment: 285434

Committed r204177: &lt;http://trac.webkit.org/changeset/204177&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1217972</commentid>
    <comment_count>3</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-08-05 10:45:12 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>285434</attachid>
            <date>2016-08-05 10:40:52 -0700</date>
            <delta_ts>2016-08-05 10:45:09 -0700</delta_ts>
            <desc>ROLLOUT of r204147</desc>
            <filename>bug-160602-20160805103925.patch</filename>
            <type>text/plain</type>
            <size>17768</size>
            <attacher name="WebKit Commit Bot">commit-queue</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjA0MTc2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNmUyZDEzODk2ZWMzYWI2
YTkyYjQ4ZTFhZTYzZDg1Y2UyYTUxYjY5ZS4uMzBlMDY2NGQzMDUxODQxZWY4ZGQ2YjkxMTU5Y2Jk
MzdiMjkxMmU3YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE4IEBACisyMDE2LTA4LTA1ICBDb21t
aXQgUXVldWUgIDxjb21taXQtcXVldWVAd2Via2l0Lm9yZz4KKworICAgICAgICBVbnJldmlld2Vk
LCByb2xsaW5nIG91dCByMjA0MTQ3LgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MTYwNjAyCisKKyAgICAgICAgQ29uc2lkZXJpbmcgYW5vdGhlciBpbXBs
ZW1lbnRhdGlvbiAoUmVxdWVzdGVkIGJ5IGVyaWNfY2FybHNvbgorICAgICAgICBvbiAjd2Via2l0
KS4KKworICAgICAgICBSZXZlcnRlZCBjaGFuZ2VzZXQ6CisKKyAgICAgICAgIkFkZCBsb25nLCBi
b29sZWFuLCBkb3VibGUsIGFuZCBTdHJpbmcgTWVkaWEgQ29uc3RyYWludAorICAgICAgICBjbGFz
c2VzIgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTYw
NTI0CisgICAgICAgIGh0dHA6Ly90cmFjLndlYmtpdC5vcmcvY2hhbmdlc2V0LzIwNDE0NworCiAy
MDE2LTA4LTA1ICBKb2huIFdpbGFuZGVyICA8d2lsYW5kZXJAYXBwbGUuY29tPgogCiAgICAgICAg
IFBvcHVwcyBvcGVuZWQgZnJvbSBhIHNhbmRib3hlZCBpZnJhbWUgc2hvdWxkIHRoZW1zZWx2ZXMg
YmUgc2FuZGJveGVkCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJv
ai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9q
ZWN0LnBieHByb2oKaW5kZXggMTUwNTgxYTM5YTY5ZDVkOGRlODQ3ZWEyOWI4NjkxOWM3ZmExMzNj
Zi4uYThjYWRhMjJiMDMwOTg2Y2IyYmYxNWQxYWJkMGQ0MjVlYWQ4MGY1YyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtMTAyMSw3
ICsxMDIxLDYgQEAKIAkJMUFGRTExOUEwQ0JGRkNDNDAwMzAxN0ZBIC8qIEpTU1FMUmVzdWx0U2V0
Um93TGlzdC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
MUFGRTExOTgwQ0JGRkNDNDAwMzAxN0ZBIC8qIEpTU1FMUmVzdWx0U2V0Um93TGlzdC5oICovOyB9
OwogCQkxQjEyNEQ4RDFEMzgwQjcwMDBFQ0RGQjAgLyogTWVkaWFTYW1wbGVBVkZPYmpDLmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQjEyNEQ4QzFEMzgw
QjcwMDBFQ0RGQjAgLyogTWVkaWFTYW1wbGVBVkZPYmpDLmggKi87IH07CiAJCTFCMTI0RDhGMUQz
ODBCQjYwMEVDREZCMCAvKiBNZWRpYVNhbXBsZUFWRk9iakMubW0gaW4gU291cmNlcyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQjEyNEQ4RTFEMzgwQkI2MDBFQ0RGQjAgLyog
TWVkaWFTYW1wbGVBVkZPYmpDLm1tICovOyB9OwotCQkxQkU1QkZDMjFENTE1NzE1MDAxNjY2RDkg
LyogTWVkaWFDb25zdHJhaW50cy5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSAxQkU1QkZDMTFENTE1NzE1MDAxNjY2RDkgLyogTWVkaWFDb25zdHJhaW50
cy5jcHAgKi87IH07CiAJCTFCRjlEQjNDMUQzOTczQUQwMDI2QUVCNyAvKiBNZWRpYVNhbXBsZS5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQ0Q2NDFFQzcx
ODFFRDYwMTAwRUU0QzQxIC8qIE1lZGlhU2FtcGxlLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVU
RVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJMUMwMTA3MDAxOTI1OTRERjAwOEE0MjAxIC8qIElu
bGluZVRleHRCb3hTdHlsZS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSAxQzAxMDZGRTE5MjU5NERGMDA4QTQyMDEgLyogSW5saW5lVGV4dEJveFN0eWxl
LmNwcCAqLzsgfTsKIAkJMUMwMTA3MDExOTI1OTRERjAwOEE0MjAxIC8qIElubGluZVRleHRCb3hT
dHlsZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUMw
MTA2RkYxOTI1OTRERjAwOEE0MjAxIC8qIElubGluZVRleHRCb3hTdHlsZS5oICovOyB9OwpAQCAt
ODI0NCw3ICs4MjQzLDYgQEAKIAkJMUFGRTExOTgwQ0JGRkNDNDAwMzAxN0ZBIC8qIEpTU1FMUmVz
dWx0U2V0Um93TGlzdC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKU1NRTFJl
c3VsdFNldFJvd0xpc3QuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMUIxMjREOEMx
RDM4MEI3MDAwRUNERkIwIC8qIE1lZGlhU2FtcGxlQVZGT2JqQy5oICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jLmg7IG5hbWUgPSBNZWRpYVNhbXBsZUFWRk9iakMuaDsgcGF0aCA9IC4uL01lZGlhU2Ft
cGxlQVZGT2JqQy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkxQjEyNEQ4RTFEMzgw
QkI2MDBFQ0RGQjAgLyogTWVkaWFTYW1wbGVBVkZPYmpDLm1tICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jcHAub2JqY3BwOyBwYXRoID0gTWVkaWFTYW1wbGVBVkZPYmpDLm1tOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwotCQkxQkU1QkZDMTFENTE1NzE1MDAxNjY2RDkgLyogTWVkaWFDb25zdHJh
aW50cy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBNZWRpYUNvbnN0
cmFpbnRzLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMUMwMTA2RkUxOTI1OTRE
RjAwOEE0MjAxIC8qIElubGluZVRleHRCb3hTdHlsZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmNwcC5jcHA7IHBhdGggPSBJbmxpbmVUZXh0Qm94U3R5bGUuY3BwOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwogCQkxQzAxMDZGRjE5MjU5NERGMDA4QTQyMDEgLyogSW5saW5lVGV4dEJveFN0
eWxlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IElubGluZVRleHRCb3hTdHls
ZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkxQzA5MzlFODFBMTNFMTI5MDBCNzg4
RTUgLyogQ2FjaGVkU1ZHRm9udC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBh
dGggPSBDYWNoZWRTVkdGb250LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTE1
MjM3LDcgKzE1MjM1LDYgQEAKIAkJMDcyMjFCOTIxN0NGMEFENDAwODQ4RTUxIC8qIG1lZGlhc3Ry
ZWFtICovID0gewogCQkJaXNhID0gUEJYR3JvdXA7CiAJCQljaGlsZHJlbiA9ICgKLQkJCQkxQkU1
QkZDMTFENTE1NzE1MDAxNjY2RDkgLyogTWVkaWFDb25zdHJhaW50cy5jcHAgKi8sCiAJCQkJMDcy
OUIxNEQxN0NGQ0NBMDAwNEYxRDYwIC8qIG1hYyAqLywKIAkJCQkwN0Q2QTRGNjFCRjIzMDdEMDAx
NzQxNDYgLyogQXVkaW9UcmFja1ByaXZhdGVNZWRpYVN0cmVhbS5oICovLAogCQkJCTVFQkI4OTMw
MUM3Nzc3RTEwMEM2NUQ0MSAvKiBJY2VDYW5kaWRhdGUuaCAqLywKQEAgLTMxMzc0LDcgKzMxMzcx
LDYgQEAKIAkJCQlCMjIyN0E0NjBEMDBCRjIyMDA3MUI3ODIgLyogU1ZHTWFza0VsZW1lbnQuY3Bw
IGluIFNvdXJjZXMgKi8sCiAJCQkJQjIyMjdBNEEwRDAwQkYyMjAwNzFCNzgyIC8qIFNWR01ldGFk
YXRhRWxlbWVudC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlCMkExRjJCMDBDRUYwQUJGMDA0NDJG
NkEgLyogU1ZHTWlzc2luZ0dseXBoRWxlbWVudC5jcHAgaW4gU291cmNlcyAqLywKLQkJCQkxQkU1
QkZDMjFENTE1NzE1MDAxNjY2RDkgLyogTWVkaWFDb25zdHJhaW50cy5jcHAgaW4gU291cmNlcyAq
LywKIAkJCQlCMjIyN0E0RDBEMDBCRjIyMDA3MUI3ODIgLyogU1ZHTVBhdGhFbGVtZW50LmNwcCBp
biBTb3VyY2VzICovLAogCQkJCUE4MzNDN0NBMEEyQ0YwNkIwMEQ1NzY2NCAvKiBTVkdOYW1lcy5j
cHAgaW4gU291cmNlcyAqLywKIAkJCQlCMjIyN0E1MDBEMDBCRjIyMDA3MUI3ODIgLyogU1ZHTnVt
YmVyTGlzdC5jcHAgaW4gU291cmNlcyAqLywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL21lZGlhc3RyZWFtL01lZGlhQ29uc3RyYWludHMuY3BwIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vbWVkaWFzdHJlYW0vTWVkaWFDb25zdHJhaW50cy5jcHAKZGVsZXRlZCBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDViZTQ0MjFjODMxNDc4YWM3YjdkYjlkZGFmNWRhMDE2YTkyYTA5N2Iu
LjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vTWVkaWFDb25zdHJhaW50cy5jcHAKKysrIC9kZXYv
bnVsbApAQCAtMSwyNDAgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAxNiBBcHBsZSBJ
bmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBp
biBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRp
b24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMK
LSAqIGFyZSBtZXQ6Ci0gKgotICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11
c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqIDIuIFJlZGlzdHJp
YnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0
Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIKLSAqICAgIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRl
cmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKLSAqICAgIGRpc3RyaWJ1dGlvbi4KLSAqIDMuIE5laXRo
ZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0
b3JzCi0gKiAgICBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVy
aXZlZCBmcm9tIHRoaXMKLSAqICAgIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3Jp
dHRlbiBwZXJtaXNzaW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhF
IENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKLSAqICJBUyBJUyIgQU5EIEFOWSBF
WFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCi0gKiBMSU1J
VEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklU
TkVTUyBGT1IKLSAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBF
VkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCi0gKiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElB
QkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKLSAqIFNQRUNJQUwsIEVY
RU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKLSAq
IExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7
IExPU1MgT0YgVVNFLAotICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBU
SU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCi0gKiBUSEVPUlkgT0YgTElBQklMSVRZLCBX
SEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCi0gKiAoSU5DTFVE
SU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRI
RSBVU0UKLSAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lC
SUxJVFkgT0YgU1VDSCBEQU1BR0UuCi0gKi8KLQotI2luY2x1ZGUgImNvbmZpZy5oIgotI2luY2x1
ZGUgIk1lZGlhQ29uc3RyYWludHMuaCIKLQotI2luY2x1ZGUgIkRpY3Rpb25hcnkuaCIKLSNpbmNs
dWRlICJMb2dnaW5nLmgiCi0jaW5jbHVkZSAiUmVhbHRpbWVNZWRpYVNvdXJjZUNlbnRlci5oIgot
I2luY2x1ZGUgIlJlYWx0aW1lTWVkaWFTb3VyY2VTdXBwb3J0ZWRDb25zdHJhaW50cy5oIgotCi1u
YW1lc3BhY2UgV2ViQ29yZSB7Ci0KLVJlZlB0cjxCYXNlQ29uc3RyYWludD4gQmFzZUNvbnN0cmFp
bnQ6OmNyZWF0ZShjb25zdCBTdHJpbmcmIG5hbWUsIGNvbnN0IERpY3Rpb25hcnkmIGRpY3Rpb25h
cnkpCi17Ci0gICAgUmVmUHRyPEJhc2VDb25zdHJhaW50PiBjb25zdHJhaW50ID0gY3JlYXRlRW1w
dHlEZXJpdmVkQ29uc3RyYWludChuYW1lKTsKLSAgICBpZiAoIWNvbnN0cmFpbnQpCi0gICAgICAg
IHJldHVybiBudWxscHRyOwotCi0gICAgY29uc3RyYWludC0+aW5pdGlhbGl6ZVdpdGhEaWN0aW9u
YXJ5KGRpY3Rpb25hcnkpOwotICAgIHJldHVybiBjb25zdHJhaW50OwotfQotCi1SZWZQdHI8QmFz
ZUNvbnN0cmFpbnQ+IEJhc2VDb25zdHJhaW50OjpjcmVhdGVFbXB0eURlcml2ZWRDb25zdHJhaW50
KGNvbnN0IFN0cmluZyYgbmFtZSkKLXsKLSAgICBjb25zdCBSZWFsdGltZU1lZGlhU291cmNlU3Vw
cG9ydGVkQ29uc3RyYWludHMmIHN1cHBvcnRlZENvbnN0cmFpbnRzID0gUmVhbHRpbWVNZWRpYVNv
dXJjZUNlbnRlcjo6c2luZ2xldG9uKCkuc3VwcG9ydGVkQ29uc3RyYWludHMoKTsKLSAgICBNZWRp
YUNvbnN0cmFpbnRUeXBlIGNvbnN0cmFpbnRUeXBlID0gc3VwcG9ydGVkQ29uc3RyYWludHMuY29u
c3RyYWludEZyb21OYW1lKG5hbWUpOwotCi0gICAgc3dpdGNoIChjb25zdHJhaW50VHlwZSkgewot
ICAgIGNhc2UgTWVkaWFDb25zdHJhaW50VHlwZTo6V2lkdGg6Ci0gICAgY2FzZSBNZWRpYUNvbnN0
cmFpbnRUeXBlOjpIZWlnaHQ6Ci0gICAgY2FzZSBNZWRpYUNvbnN0cmFpbnRUeXBlOjpTYW1wbGVS
YXRlOgotICAgIGNhc2UgTWVkaWFDb25zdHJhaW50VHlwZTo6U2FtcGxlU2l6ZToKLSAgICAgICAg
cmV0dXJuIExvbmdDb25zdHJhaW50OjpjcmVhdGUobmFtZSk7Ci0gICAgY2FzZSBNZWRpYUNvbnN0
cmFpbnRUeXBlOjpBc3BlY3RSYXRpbzoKLSAgICBjYXNlIE1lZGlhQ29uc3RyYWludFR5cGU6OkZy
YW1lUmF0ZToKLSAgICBjYXNlIE1lZGlhQ29uc3RyYWludFR5cGU6OlZvbHVtZToKLSAgICAgICAg
cmV0dXJuIERvdWJsZUNvbnN0cmFpbnQ6OmNyZWF0ZShuYW1lKTsKLSAgICBjYXNlIE1lZGlhQ29u
c3RyYWludFR5cGU6OkVjaG9DYW5jZWxsYXRpb246Ci0gICAgICAgIHJldHVybiBCb29sZWFuQ29u
c3RyYWludDo6Y3JlYXRlKG5hbWUpOwotICAgIGNhc2UgTWVkaWFDb25zdHJhaW50VHlwZTo6RmFj
aW5nTW9kZToKLSAgICBjYXNlIE1lZGlhQ29uc3RyYWludFR5cGU6OkRldmljZUlkOgotICAgIGNh
c2UgTWVkaWFDb25zdHJhaW50VHlwZTo6R3JvdXBJZDoKLSAgICAgICAgcmV0dXJuIFN0cmluZ0Nv
bnN0cmFpbnQ6OmNyZWF0ZShuYW1lKTsKLSAgICBjYXNlIE1lZGlhQ29uc3RyYWludFR5cGU6OlVu
a25vd246Ci0gICAgICAgIHJldHVybiBudWxscHRyOwotICAgIH0KLX0KLQotUmVmPExvbmdDb25z
dHJhaW50PiBMb25nQ29uc3RyYWludDo6Y3JlYXRlKGNvbnN0IFN0cmluZyYgbmFtZSkKLXsKLSAg
ICByZXR1cm4gYWRvcHRSZWYoKm5ldyBMb25nQ29uc3RyYWludChuYW1lKSk7Ci19Ci0KLXZvaWQg
TG9uZ0NvbnN0cmFpbnQ6OnNldE1pbihsb25nIHZhbHVlKQotewotICAgIG1fbWluID0gdmFsdWU7
Ci0gICAgc2V0SGFzTWluKHRydWUpOwotfQotCi12b2lkIExvbmdDb25zdHJhaW50OjpzZXRNYXgo
bG9uZyB2YWx1ZSkKLXsKLSAgICBtX21heCA9IHZhbHVlOwotICAgIHNldEhhc01heCh0cnVlKTsK
LX0KLQotdm9pZCBMb25nQ29uc3RyYWludDo6c2V0RXhhY3QobG9uZyB2YWx1ZSkKLXsKLSAgICBt
X2V4YWN0ID0gdmFsdWU7Ci0gICAgc2V0SGFzRXhhY3QodHJ1ZSk7Ci19Ci0KLXZvaWQgTG9uZ0Nv
bnN0cmFpbnQ6OnNldElkZWFsKGxvbmcgdmFsdWUpCi17Ci0gICAgbV9pZGVhbCA9IHZhbHVlOwot
ICAgIHNldEhhc0lkZWFsKHRydWUpOwotfQotCi12b2lkIExvbmdDb25zdHJhaW50Ojppbml0aWFs
aXplV2l0aERpY3Rpb25hcnkoY29uc3QgRGljdGlvbmFyeSYgZGljdGlvbmFyeUNvbnN0cmFpbnRW
YWx1ZSkKLXsKLQotICAgIGxvbmcgbWluVmFsdWU7Ci0gICAgaWYgKGRpY3Rpb25hcnlDb25zdHJh
aW50VmFsdWUuZ2V0KCJtaW4iLCBtaW5WYWx1ZSkpCi0gICAgICAgIHNldE1pbihtaW5WYWx1ZSk7
Ci0KLSAgICBsb25nIG1heFZhbHVlOwotICAgIGlmIChkaWN0aW9uYXJ5Q29uc3RyYWludFZhbHVl
LmdldCgibWF4IiwgbWF4VmFsdWUpKQotICAgICAgICBzZXRNYXgobWF4VmFsdWUpOwotCi0gICAg
bG9uZyBleGFjdFZhbHVlOwotICAgIGlmIChkaWN0aW9uYXJ5Q29uc3RyYWludFZhbHVlLmdldCgi
ZXhhY3QiLCBleGFjdFZhbHVlKSkKLSAgICAgICAgc2V0RXhhY3QoZXhhY3RWYWx1ZSk7Ci0KLSAg
ICBsb25nIGlkZWFsVmFsdWU7Ci0gICAgaWYgKGRpY3Rpb25hcnlDb25zdHJhaW50VmFsdWUuZ2V0
KCJpZGVhbCIsIGlkZWFsVmFsdWUpKQotICAgICAgICBzZXRJZGVhbChpZGVhbFZhbHVlKTsKLQot
ICAgIGlmIChpc0VtcHR5KCkpCi0gICAgICAgIExPRyhNZWRpYSwgIkxvbmdDb25zdHJhaW50Ojpp
bml0aWFsaXplV2l0aERpY3Rpb25hcnkoJXApIC0gaWdub3JpbmcgY29uc3RyYWludCBzaW5jZSBp
dCBoYXMgbm8gdmFsaWQgb3Igc3VwcG9ydGVkIGtleS92YWx1ZSBwYWlycy4iLCB0aGlzKTsKLX0K
LQotUmVmPERvdWJsZUNvbnN0cmFpbnQ+IERvdWJsZUNvbnN0cmFpbnQ6OmNyZWF0ZShjb25zdCBT
dHJpbmcmIG5hbWUpCi17Ci0gICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgRG91YmxlQ29uc3RyYWlu
dChuYW1lKSk7Ci19Ci0KLXZvaWQgRG91YmxlQ29uc3RyYWludDo6c2V0TWluKGRvdWJsZSB2YWx1
ZSkKLXsKLSAgICBtX21pbiA9IHZhbHVlOwotICAgIHNldEhhc01pbih0cnVlKTsKLX0KLQotdm9p
ZCBEb3VibGVDb25zdHJhaW50OjpzZXRNYXgoZG91YmxlIHZhbHVlKQotewotICAgIG1fbWF4ID0g
dmFsdWU7Ci0gICAgc2V0SGFzTWF4KHRydWUpOwotfQotCi12b2lkIERvdWJsZUNvbnN0cmFpbnQ6
OnNldEV4YWN0KGRvdWJsZSB2YWx1ZSkKLXsKLSAgICBtX2V4YWN0ID0gdmFsdWU7Ci0gICAgc2V0
SGFzRXhhY3QodHJ1ZSk7Ci19Ci0KLXZvaWQgRG91YmxlQ29uc3RyYWludDo6c2V0SWRlYWwoZG91
YmxlIHZhbHVlKQotewotICAgIG1faWRlYWwgPSB2YWx1ZTsKLSAgICBzZXRIYXNJZGVhbCh0cnVl
KTsKLX0KLQotdm9pZCBEb3VibGVDb25zdHJhaW50Ojppbml0aWFsaXplV2l0aERpY3Rpb25hcnko
Y29uc3QgRGljdGlvbmFyeSYgZGljdGlvbmFyeUNvbnN0cmFpbnRWYWx1ZSkKLXsKLSAgICBkb3Vi
bGUgbWluVmFsdWU7Ci0gICAgaWYgKGRpY3Rpb25hcnlDb25zdHJhaW50VmFsdWUuZ2V0KCJtaW4i
LCBtaW5WYWx1ZSkpCi0gICAgICAgIHNldE1pbihtaW5WYWx1ZSk7Ci0KLSAgICBkb3VibGUgbWF4
VmFsdWU7Ci0gICAgaWYgKGRpY3Rpb25hcnlDb25zdHJhaW50VmFsdWUuZ2V0KCJtYXgiLCBtYXhW
YWx1ZSkpCi0gICAgICAgIHNldE1heChtYXhWYWx1ZSk7Ci0KLSAgICBkb3VibGUgZXhhY3RWYWx1
ZTsKLSAgICBpZiAoZGljdGlvbmFyeUNvbnN0cmFpbnRWYWx1ZS5nZXQoImV4YWN0IiwgZXhhY3RW
YWx1ZSkpCi0gICAgICAgIHNldEV4YWN0KGV4YWN0VmFsdWUpOwotCi0gICAgZG91YmxlIGlkZWFs
VmFsdWU7Ci0gICAgaWYgKGRpY3Rpb25hcnlDb25zdHJhaW50VmFsdWUuZ2V0KCJpZGVhbCIsIGlk
ZWFsVmFsdWUpKQotICAgICAgICBzZXRJZGVhbChpZGVhbFZhbHVlKTsKLQotICAgIGlmIChpc0Vt
cHR5KCkpCi0gICAgICAgIExPRyhNZWRpYSwgIkRvdWJsZUNvbnN0cmFpbnRzOjppbml0aWFsaXpl
V2l0aERpY3Rpb25hcnkoJXApIC0gaWdub3JpbmcgY29uc3RyYWludCBzaW5jZSBpdCBoYXMgbm8g
dmFsaWQgb3Igc3VwcG9ydGVkIGtleS92YWx1ZSBwYWlycy4iLCB0aGlzKTsKLX0KLQotUmVmPEJv
b2xlYW5Db25zdHJhaW50PiBCb29sZWFuQ29uc3RyYWludDo6Y3JlYXRlKGNvbnN0IFN0cmluZyYg
bmFtZSkKLXsKLSAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBCb29sZWFuQ29uc3RyYWludChuYW1l
KSk7Ci19Ci0KLXZvaWQgQm9vbGVhbkNvbnN0cmFpbnQ6OnNldEV4YWN0KGJvb2wgdmFsdWUpCi17
Ci0gICAgbV9leGFjdCA9IHZhbHVlOwotICAgIG1faGFzRXhhY3QgPSB0cnVlOwotfQotCi12b2lk
IEJvb2xlYW5Db25zdHJhaW50OjpzZXRJZGVhbChib29sIHZhbHVlKQotewotICAgIG1faWRlYWwg
PSB2YWx1ZTsKLSAgICBtX2hhc0lkZWFsID0gdHJ1ZTsKLX0KLQotdm9pZCBCb29sZWFuQ29uc3Ry
YWludDo6aW5pdGlhbGl6ZVdpdGhEaWN0aW9uYXJ5KGNvbnN0IERpY3Rpb25hcnkmIGRpY3Rpb25h
cnlDb25zdHJhaW50VmFsdWUpCi17Ci0gICAgYm9vbCBleGFjdFZhbHVlOwotICAgIGlmIChkaWN0
aW9uYXJ5Q29uc3RyYWludFZhbHVlLmdldCgiZXhhY3QiLCBleGFjdFZhbHVlKSkKLSAgICAgICAg
c2V0RXhhY3QoZXhhY3RWYWx1ZSk7Ci0KLSAgICBib29sIGlkZWFsVmFsdWU7Ci0gICAgaWYgKGRp
Y3Rpb25hcnlDb25zdHJhaW50VmFsdWUuZ2V0KCJpZGVhbCIsIGlkZWFsVmFsdWUpKQotICAgICAg
ICBzZXRJZGVhbChpZGVhbFZhbHVlKTsKLQotICAgIGlmIChpc0VtcHR5KCkpCi0gICAgICAgIExP
RyhNZWRpYSwgIkJvb2xlYW5Db25zdHJhaW50Ojppbml0aWFsaXplV2l0aERpY3Rpb25hcnkoJXAp
IC0gaWdub3JpbmcgY29uc3RyYWludCBzaW5jZSBpdCBoYXMgbm8gdmFsaWQgb3Igc3VwcG9ydGVk
IGtleS92YWx1ZSBwYWlycy4iLCB0aGlzKTsKLX0KLQotUmVmPFN0cmluZ0NvbnN0cmFpbnQ+IFN0
cmluZ0NvbnN0cmFpbnQ6OmNyZWF0ZShjb25zdCBTdHJpbmcmIG5hbWUpCi17Ci0gICAgcmV0dXJu
IGFkb3B0UmVmKCpuZXcgU3RyaW5nQ29uc3RyYWludChuYW1lKSk7Ci19Ci0KLXZvaWQgU3RyaW5n
Q29uc3RyYWludDo6c2V0RXhhY3QoY29uc3QgU3RyaW5nJiB2YWx1ZSkKLXsKLSAgICBtX2V4YWN0
ID0gdmFsdWU7Ci19Ci0KLXZvaWQgU3RyaW5nQ29uc3RyYWludDo6c2V0SWRlYWwoY29uc3QgU3Ry
aW5nJiB2YWx1ZSkKLXsKLSAgICBtX2lkZWFsID0gdmFsdWU7Ci19Ci0KLXZvaWQgU3RyaW5nQ29u
c3RyYWludDo6aW5pdGlhbGl6ZVdpdGhEaWN0aW9uYXJ5KGNvbnN0IERpY3Rpb25hcnkmIGRpY3Rp
b25hcnlDb25zdHJhaW50VmFsdWUpCi17Ci0gICAgU3RyaW5nIGV4YWN0VmFsdWU7Ci0gICAgaWYg
KGRpY3Rpb25hcnlDb25zdHJhaW50VmFsdWUuZ2V0KCJleGFjdCIsIGV4YWN0VmFsdWUpICYmICFl
eGFjdFZhbHVlLmlzTnVsbCgpICYmICFleGFjdFZhbHVlLmlzRW1wdHkoKSkKLSAgICAgICAgc2V0
RXhhY3QoZXhhY3RWYWx1ZSk7Ci0KLSAgICBTdHJpbmcgaWRlYWxWYWx1ZTsKLSAgICBpZiAoZGlj
dGlvbmFyeUNvbnN0cmFpbnRWYWx1ZS5nZXQoImlkZWFsIiwgaWRlYWxWYWx1ZSkgJiYgIWlkZWFs
VmFsdWUuaXNOdWxsKCkgJiYgIWlkZWFsVmFsdWUuaXNFbXB0eSgpKQotICAgICAgICBzZXRJZGVh
bChpZGVhbFZhbHVlKTsKLQotICAgIGlmIChpc0VtcHR5KCkpCi0gICAgICAgIExPRyhNZWRpYSwg
IlN0cmluZ0NvbnN0cmFpbnQ6OmluaXRpYWxpemVXaXRoRGljdGlvbmFyeSglcCkgLSBpZ25vcmlu
ZyBjb25zdHJhaW50IHNpbmNlIGl0IGhhcyBubyB2YWxpZCBvciBzdXBwb3J0ZWQga2V5L3ZhbHVl
IHBhaXJzLiIsIHRoaXMpOwotfQotCi19CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9tZWRpYXN0cmVhbS9NZWRpYUNvbnN0cmFpbnRzLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9tZWRpYXN0cmVhbS9NZWRpYUNvbnN0cmFpbnRzLmgKaW5kZXggNTA1MjZhODA5NDY4MDEy
ZTczMjNlOWJiYTg1YjQ5MTczZjZjZDFmNS4uNTE0MWMyMjhkMGQ0OGY3OGRiNmU2NTdkOTg1ZTA2
MzY5ZWJhZTY5YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJl
YW0vTWVkaWFDb25zdHJhaW50cy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlh
c3RyZWFtL01lZGlhQ29uc3RyYWludHMuaApAQCAtMSw2ICsxLDUgQEAKIC8qCiAgKiBDb3B5cmln
aHQgKEMpIDIwMTIgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqIENvcHlyaWdo
dCAoQykgMjAxNiBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0
cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRo
b3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9s
bG93aW5nIGNvbmRpdGlvbnMKQEAgLTM5LDE3NSArMzgsNiBAQAogCiBuYW1lc3BhY2UgV2ViQ29y
ZSB7CiAKLWNsYXNzIERpY3Rpb25hcnk7Ci0KLWNsYXNzIEJhc2VDb25zdHJhaW50IDogcHVibGlj
IFJlZkNvdW50ZWQ8QmFzZUNvbnN0cmFpbnQ+IHsKLXB1YmxpYzoKLSAgICBzdGF0aWMgUmVmUHRy
PEJhc2VDb25zdHJhaW50PiBjcmVhdGUoY29uc3QgU3RyaW5nJiBuYW1lLCBjb25zdCBEaWN0aW9u
YXJ5Jik7Ci0KLSAgICB2aXJ0dWFsIH5CYXNlQ29uc3RyYWludCgpIHsgfTsKLSAgICB2aXJ0dWFs
IGJvb2wgaXNFbXB0eSgpIGNvbnN0ID0gMDsKLSAgICB2aXJ0dWFsIGJvb2wgaXNNYW5kYXRvcnko
KSBjb25zdCA9IDA7Ci0KLSAgICB2aXJ0dWFsIGJvb2wgaGFzSWRlYWwoKSBjb25zdCA9IDA7Ci0K
LSAgICBTdHJpbmcgbmFtZSgpIGNvbnN0IHsgcmV0dXJuIG1fbmFtZTsgfQotCi1wcm90ZWN0ZWQ6
Ci0gICAgZXhwbGljaXQgQmFzZUNvbnN0cmFpbnQoY29uc3QgU3RyaW5nJiBuYW1lKQotICAgICAg
ICA6IG1fbmFtZShuYW1lKQotICAgIHsKLSAgICB9Ci0KLXByaXZhdGU6Ci0gICAgc3RhdGljIFJl
ZlB0cjxCYXNlQ29uc3RyYWludD4gY3JlYXRlRW1wdHlEZXJpdmVkQ29uc3RyYWludChjb25zdCBT
dHJpbmcmIG5hbWUpOwotCi0gICAgdmlydHVhbCB2b2lkIGluaXRpYWxpemVXaXRoRGljdGlvbmFy
eShjb25zdCBEaWN0aW9uYXJ5JikgPSAwOwotCi0gICAgU3RyaW5nIG1fbmFtZTsKLX07Ci0KLWNs
YXNzIE51bWVyaWNDb25zdHJhaW50IDogcHVibGljIEJhc2VDb25zdHJhaW50IHsKLXB1YmxpYzoK
LSAgICB2b2lkIHNldEhhc01pbihib29sIHZhbHVlKSB7IG1faGFzTWluID0gdmFsdWU7IH0KLSAg
ICB2b2lkIHNldEhhc01heChib29sIHZhbHVlKSB7IG1faGFzTWF4ID0gdmFsdWU7IH0KLSAgICB2
b2lkIHNldEhhc0V4YWN0KGJvb2wgdmFsdWUpIHsgbV9oYXNFeGFjdCA9IHZhbHVlOyB9Ci0gICAg
dm9pZCBzZXRIYXNJZGVhbChib29sIHZhbHVlKSB7IG1faGFzSWRlYWwgPSB2YWx1ZTsgfQotCi0g
ICAgYm9vbCBoYXNNaW4oKSBjb25zdCB7IHJldHVybiBtX2hhc01pbjsgfQotICAgIGJvb2wgaGFz
TWF4KCkgY29uc3QgeyByZXR1cm4gbV9oYXNNYXg7IH0KLSAgICBib29sIGhhc0V4YWN0KCkgY29u
c3QgeyByZXR1cm4gbV9oYXNFeGFjdDsgfQotICAgIGJvb2wgaGFzSWRlYWwoKSBjb25zdCBvdmVy
cmlkZSB7IHJldHVybiBtX2hhc0lkZWFsOyB9Ci0KLSAgICBib29sIGlzRW1wdHkoKSBjb25zdCBv
dmVycmlkZSB7IHJldHVybiAhbV9oYXNNaW4gJiYgIW1faGFzTWF4ICYmICFtX2hhc0V4YWN0ICYm
ICFtX2hhc0lkZWFsOyB9Ci0gICAgYm9vbCBpc01hbmRhdG9yeSgpIGNvbnN0IG92ZXJyaWRlIHsg
cmV0dXJuIG1faGFzTWluIHx8IG1faGFzTWF4IHx8IG1faGFzRXhhY3Q7IH0KLQotcHJvdGVjdGVk
OgotICAgIGV4cGxpY2l0IE51bWVyaWNDb25zdHJhaW50KGNvbnN0IFN0cmluZyYgbmFtZSkKLSAg
ICAgICAgOiBCYXNlQ29uc3RyYWludChuYW1lKQotICAgIHsKLSAgICB9Ci0KLXByaXZhdGU6Ci0g
ICAgYm9vbCBtX2hhc01pbiB7IGZhbHNlIH07Ci0gICAgYm9vbCBtX2hhc01heCB7IGZhbHNlIH07
Ci0gICAgYm9vbCBtX2hhc0V4YWN0IHsgZmFsc2UgfTsKLSAgICBib29sIG1faGFzSWRlYWwgeyBm
YWxzZSB9OwotfTsKLQotY2xhc3MgTG9uZ0NvbnN0cmFpbnQgZmluYWwgOiBwdWJsaWMgTnVtZXJp
Y0NvbnN0cmFpbnQgewotcHVibGljOgotICAgIHN0YXRpYyBSZWY8TG9uZ0NvbnN0cmFpbnQ+IGNy
ZWF0ZShjb25zdCBTdHJpbmcmIG5hbWUpOwotCi0gICAgdm9pZCBzZXRNaW4obG9uZyB2YWx1ZSk7
Ci0gICAgdm9pZCBzZXRNYXgobG9uZyB2YWx1ZSk7Ci0gICAgdm9pZCBzZXRFeGFjdChsb25nIHZh
bHVlKTsKLSAgICB2b2lkIHNldElkZWFsKGxvbmcgdmFsdWUpOwotCi0gICAgbG9uZyBtaW4oKSBj
b25zdCB7IHJldHVybiBtX21pbjsgfQotICAgIGxvbmcgbWF4KCkgY29uc3QgeyByZXR1cm4gbV9t
YXg7IH0KLSAgICBsb25nIGV4YWN0KCkgY29uc3QgeyByZXR1cm4gbV9leGFjdDsgfQotICAgIGxv
bmcgaWRlYWwoKSBjb25zdCB7IHJldHVybiBtX2lkZWFsOyB9Ci0gICAgCi1wcml2YXRlOgotICAg
IGV4cGxpY2l0IExvbmdDb25zdHJhaW50KGNvbnN0IFN0cmluZyYgbmFtZSkKLSAgICAgICAgOiBX
ZWJDb3JlOjpOdW1lcmljQ29uc3RyYWludChuYW1lKQotICAgIHsKLSAgICB9Ci0KLSAgICB2b2lk
IGluaXRpYWxpemVXaXRoRGljdGlvbmFyeShjb25zdCBEaWN0aW9uYXJ5Jikgb3ZlcnJpZGU7Ci0K
LSAgICBsb25nIG1fbWluOwotICAgIGxvbmcgbV9tYXg7Ci0gICAgbG9uZyBtX2V4YWN0OwotICAg
IGxvbmcgbV9pZGVhbDsKLX07Ci0KLWNsYXNzIERvdWJsZUNvbnN0cmFpbnQgZmluYWwgOiBwdWJs
aWMgTnVtZXJpY0NvbnN0cmFpbnQgewotcHVibGljOgotICAgIHN0YXRpYyBSZWY8RG91YmxlQ29u
c3RyYWludD4gY3JlYXRlKGNvbnN0IFN0cmluZyYgbmFtZSk7Ci0KLSAgICB2b2lkIHNldE1pbihk
b3VibGUgdmFsdWUpOwotICAgIHZvaWQgc2V0TWF4KGRvdWJsZSB2YWx1ZSk7Ci0gICAgdm9pZCBz
ZXRFeGFjdChkb3VibGUgdmFsdWUpOwotICAgIHZvaWQgc2V0SWRlYWwoZG91YmxlIHZhbHVlKTsK
LQotICAgIGRvdWJsZSBtaW4oKSBjb25zdCB7IHJldHVybiBtX21pbjsgfQotICAgIGRvdWJsZSBt
YXgoKSBjb25zdCB7IHJldHVybiBtX21heDsgfQotICAgIGRvdWJsZSBleGFjdCgpIGNvbnN0IHsg
cmV0dXJuIG1fZXhhY3Q7IH0KLSAgICBkb3VibGUgaWRlYWwoKSBjb25zdCB7IHJldHVybiBtX2lk
ZWFsOyB9Ci0KLXByaXZhdGU6Ci0gICAgZXhwbGljaXQgRG91YmxlQ29uc3RyYWludChjb25zdCBT
dHJpbmcmIG5hbWUpCi0gICAgICAgIDogV2ViQ29yZTo6TnVtZXJpY0NvbnN0cmFpbnQobmFtZSkK
LSAgICB7Ci0gICAgfQotCi0gICAgdm9pZCBpbml0aWFsaXplV2l0aERpY3Rpb25hcnkoY29uc3Qg
RGljdGlvbmFyeSYpIG92ZXJyaWRlOwotCi0gICAgZG91YmxlIG1fbWluOwotICAgIGRvdWJsZSBt
X21heDsKLSAgICBkb3VibGUgbV9leGFjdDsKLSAgICBkb3VibGUgbV9pZGVhbDsKLX07Ci0KLWNs
YXNzIEJvb2xlYW5Db25zdHJhaW50IGZpbmFsIDogcHVibGljIEJhc2VDb25zdHJhaW50IHsKLXB1
YmxpYzoKLSAgICBzdGF0aWMgUmVmPEJvb2xlYW5Db25zdHJhaW50PiBjcmVhdGUoY29uc3QgU3Ry
aW5nJiBuYW1lKTsKLQotICAgIHZvaWQgc2V0RXhhY3QoYm9vbCB2YWx1ZSk7Ci0gICAgdm9pZCBz
ZXRJZGVhbChib29sIHZhbHVlKTsKLQotICAgIGJvb2wgZXhhY3QoKSBjb25zdCB7IHJldHVybiBt
X2V4YWN0OyB9Ci0gICAgYm9vbCBpZGVhbCgpIGNvbnN0IHsgcmV0dXJuIG1faWRlYWw7IH0KLSAg
ICBib29sIGhhc0V4YWN0KCkgY29uc3QgeyByZXR1cm4gbV9oYXNFeGFjdDsgfQotICAgIGJvb2wg
aGFzSWRlYWwoKSBjb25zdCBvdmVycmlkZSB7IHJldHVybiBtX2hhc0lkZWFsOyB9Ci0KLSAgICBi
b29sIGlzRW1wdHkoKSBjb25zdCBvdmVycmlkZSB7IHJldHVybiAhbV9oYXNFeGFjdCAmJiAhbV9o
YXNJZGVhbDsgfTsKLSAgICBib29sIGlzTWFuZGF0b3J5KCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1
cm4gbV9oYXNFeGFjdDsgfQotCi1wcml2YXRlOgotICAgIGV4cGxpY2l0IEJvb2xlYW5Db25zdHJh
aW50KGNvbnN0IFN0cmluZyYgbmFtZSkKLSAgICAgICAgOiBCYXNlQ29uc3RyYWludChuYW1lKQot
ICAgIHsKLSAgICB9Ci0KLSAgICB2b2lkIGluaXRpYWxpemVXaXRoRGljdGlvbmFyeShjb25zdCBE
aWN0aW9uYXJ5Jikgb3ZlcnJpZGU7Ci0KLSAgICBib29sIG1fZXhhY3QgeyBmYWxzZSB9OwotICAg
IGJvb2wgbV9pZGVhbCB7IGZhbHNlIH07Ci0gICAgYm9vbCBtX2hhc0V4YWN0IHsgZmFsc2UgfTsK
LSAgICBib29sIG1faGFzSWRlYWwgeyBmYWxzZSB9OwotfTsKLQotY2xhc3MgU3RyaW5nQ29uc3Ry
YWludCBmaW5hbCA6IHB1YmxpYyBCYXNlQ29uc3RyYWludCB7Ci1wdWJsaWM6Ci0gICAgc3RhdGlj
IFJlZjxTdHJpbmdDb25zdHJhaW50PiBjcmVhdGUoY29uc3QgU3RyaW5nJiBuYW1lKTsKLQotICAg
IHZvaWQgc2V0RXhhY3QoY29uc3QgU3RyaW5nJik7Ci0gICAgdm9pZCBzZXRJZGVhbChjb25zdCBT
dHJpbmcmKTsKLQotICAgIGNvbnN0IFN0cmluZyYgZXhhY3QoKSBjb25zdCB7IHJldHVybiBtX2V4
YWN0OyB9Ci0gICAgY29uc3QgU3RyaW5nJiBpZGVhbCgpIGNvbnN0IHsgcmV0dXJuIG1faWRlYWw7
IH0KLQotICAgIGJvb2wgaGFzRXhhY3QoKSBjb25zdCB7IHJldHVybiAhbV9leGFjdC5pc0VtcHR5
KCk7IH0KLSAgICBib29sIGhhc0lkZWFsKCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4gIW1faWRl
YWwuaXNFbXB0eSgpOyB9Ci0KLSAgICBib29sIGlzRW1wdHkoKSBjb25zdCBvdmVycmlkZSB7IHJl
dHVybiBtX2V4YWN0LmlzRW1wdHkoKSAmJiBtX2lkZWFsLmlzRW1wdHkoKTsgfQotICAgIGJvb2wg
aXNNYW5kYXRvcnkoKSBjb25zdCBvdmVycmlkZSB7IHJldHVybiAhbV9leGFjdC5pc0VtcHR5KCk7
IH0KLQotcHJpdmF0ZToKLSAgICBleHBsaWNpdCBTdHJpbmdDb25zdHJhaW50KGNvbnN0IFN0cmlu
ZyYgbmFtZSkKLSAgICAgICAgOiBCYXNlQ29uc3RyYWludChuYW1lKQotICAgIHsKLSAgICB9Ci0K
LSAgICB2b2lkIGluaXRpYWxpemVXaXRoRGljdGlvbmFyeShjb25zdCBEaWN0aW9uYXJ5Jikgb3Zl
cnJpZGU7Ci0KLSAgICBTdHJpbmcgbV9leGFjdDsKLSAgICBTdHJpbmcgbV9pZGVhbDsKLX07Ci0K
IHN0cnVjdCBNZWRpYUNvbnN0cmFpbnQgewogICAgIE1lZGlhQ29uc3RyYWludChTdHJpbmcgbmFt
ZSwgU3RyaW5nIHZhbHVlKQogICAgICAgICA6IG1fbmFtZShuYW1lKQo=
</data>

          </attachment>
      

    </bug>

</bugzilla>