<?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>232930</bug_id>
          
          <creation_ts>2021-11-10 01:38:51 -0800</creation_ts>
          <short_desc>Use Hasher for hashing MatchResult for MatchedDeclarationsCache</short_desc>
          <delta_ts>2026-01-20 13:01:42 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>CSS</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>232927</dependson>
          <blocked>232797</blocked>
    
    <blocked>305864</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Antti Koivisto">koivisto</reporter>
          <assigned_to name="Antti Koivisto">koivisto</assigned_to>
          <cc>kkinnunen</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>ysuzuki</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1813508</commentid>
    <comment_count>0</comment_count>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2021-11-10 01:38:51 -0800</bug_when>
    <thetext>instead of error-prone hashMemory</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1813557</commentid>
    <comment_count>1</comment_count>
      <attachid>443803</attachid>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2021-11-10 05:21:04 -0800</bug_when>
    <thetext>Created attachment 443803
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1813580</commentid>
    <comment_count>2</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-11-10 06:40:31 -0800</bug_when>
    <thetext>Committed r285574 (244082@main): &lt;https://commits.webkit.org/244082@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 443803.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1813581</commentid>
    <comment_count>3</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-11-10 06:41:21 -0800</bug_when>
    <thetext>&lt;rdar://problem/85252440&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>443803</attachid>
            <date>2021-11-10 05:21:04 -0800</date>
            <delta_ts>2021-11-10 06:40:32 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-232930-20211110152102.patch</filename>
            <type>text/plain</type>
            <size>14352</size>
            <attacher name="Antti Koivisto">koivisto</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg1NTcyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNjgzMTFkYjRkZjAzZGVh
YTQ1ZDk3MDNiZjMyODdhZGMwZGRiOWYyZS4uZDMyMjBjZDFjMTk0NWYwNDgwMmQ5ZDg2YWM3NjM5
NjA0Mzk1OGYzOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQwIEBACisyMDIxLTExLTEwICBBbnR0
aSBLb2l2aXN0byAgPGFudHRpQGFwcGxlLmNvbT4KKworICAgICAgICBVc2UgSGFzaGVyIGZvciBo
YXNoaW5nIE1hdGNoUmVzdWx0IGZvciBNYXRjaGVkRGVjbGFyYXRpb25zQ2FjaGUKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzMjkzMAorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFdlIGN1cnJlbnRseSB1c2Ug
aGFzaE1lbW9yeSBvdmVyIGEgVmVjdG9yPE1hdGNoZWRQcm9wZXJ0aWVzPi4gVGhpcyB3b3JrcyBj
b3JyZWN0bHkgb25seSBhcyBsb25nIGFzCisgICAgICAgIHRoZSBNYXRjaGVkUHJvcGVydGllcyBz
dHJ1Y3QgaXMgZnVsbHkgcGFja2VkLiBBbnkgdW5pdGlsaXplZCBtZW1vcnkgaW4gdGhlIHN0cnVj
dCBsZWFkcyB0byBiYWRuZXNzLgorCisgICAgICAgICogV2ViQ29yZS54Y29kZXByb2ovcHJvamVj
dC5wYnhwcm9qOgorICAgICAgICAqIHN0eWxlL0VsZW1lbnRSdWxlQ29sbGVjdG9yLmg6CisgICAg
ICAgIChXZWJDb3JlOjpTdHlsZTo6TWF0Y2hSZXN1bHQ6Om9wZXJhdG9yPT0gY29uc3QpOiBEZWxl
dGVkLgorICAgICAgICAoV2ViQ29yZTo6U3R5bGU6Ok1hdGNoUmVzdWx0OjpvcGVyYXRvciE9IGNv
bnN0KTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OlN0eWxlOjpNYXRjaFJlc3VsdDo6aXNF
bXB0eSBjb25zdCk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpTdHlsZTo6b3BlcmF0b3I9
PSk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpTdHlsZTo6b3BlcmF0b3IhPSk6IERlbGV0
ZWQuCisKKyAgICAgICAgTW92ZSBNYXRjaFJlc3VsdCB0byBhIGZpbGUgb2YgaXRzIG93bi4KKwor
ICAgICAgICAqIHN0eWxlL01hdGNoUmVzdWx0Lmg6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6
U3R5bGU6Ok1hdGNoUmVzdWx0Ojppc0VtcHR5IGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OlN0
eWxlOjpvcGVyYXRvcj09KToKKyAgICAgICAgKFdlYkNvcmU6OlN0eWxlOjpvcGVyYXRvciE9KToK
KyAgICAgICAgKFdlYkNvcmU6OlN0eWxlOjphZGQpOgorCisgICAgICAgIEltcGxlbWVudCBIYXNo
ZXIgZnVuY3Rpb25zIGZvciB0aGUgdHlwZXMuCisKKyAgICAgICAgKiBzdHlsZS9NYXRjaGVkRGVj
bGFyYXRpb25zQ2FjaGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U3R5bGU6Ok1hdGNoZWREZWNs
YXJhdGlvbnNDYWNoZTo6Y29tcHV0ZUhhc2gpOgorCisgICAgICAgIHVzZSBXVEY6OmNvbXB1dGVI
YXNoCisKKyAgICAgICAgKiBzdHlsZS9NYXRjaGVkRGVjbGFyYXRpb25zQ2FjaGUuaDoKKyAgICAg
ICAgKiBzdHlsZS9QYWdlUnVsZUNvbGxlY3Rvci5oOgorICAgICAgICAqIHN0eWxlL1Byb3BlcnR5
Q2FzY2FkZS5oOgorCiAyMDIxLTExLTEwICBFbnJpcXVlIE9jYcOxYSBHb256w6FsZXogIDxlb2Nh
bmhhQGlnYWxpYS5jb20+CiAKICAgICAgICAgW01lZGlhXSBNYWtlIGN1cnJlbnRUaW1lIGNvbXBs
aWFudCB3aXRoIHRoZSBzcGVjIHdoZW4gcmVhZHlTdGF0ZSBpcyBIQVZFX05PVEhJTkcKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBi
L1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRleCA3
MTY2MzVhZmZjOTk0NjczOTgxNWQ5OTI4Y2Q5MjIzNTI1MTg3ZDgwLi5iZDMyZGYyNDdlYmM5ZjA2
ZTcxOTFkMDgxNWM3ODc3OTFlYWY3N2FiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJD
b3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29y
ZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC01MjY3LDYgKzUyNjcsNyBAQAogCQlFNDQ2
MTQzQzBDRDY4OUNDMDBGQURBNzUgLyogSlNIVE1MU291cmNlRWxlbWVudC5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTRCNDIzNzIwQ0JGQjZFMDAwQUYy
RUNFIC8qIEpTSFRNTFNvdXJjZUVsZW1lbnQuaCAqLzsgfTsKIAkJRTQ0NjE0NTIwQ0Q2OEEzNTAw
RkFEQTc1IC8qIFJlbmRlclZpZGVvLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSBFNEI0MUUzNDBDQkZCNjA5MDBBRjJFQ0UgLyogUmVuZGVyVmlkZW8uaCAq
Lzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQlFNDQ3RjVC
MzI2NkNGNjNEMDAxMzNGMDAgLyogVGV4dEJveFNlbGVjdGFibGVSYW5nZS5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTQ0N0Y1QjEyNjZDRjYzRDAwMTMz
RjAwIC8qIFRleHRCb3hTZWxlY3RhYmxlUmFuZ2UuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRF
UyA9IChQcml2YXRlLCApOyB9OyB9OworCQlFNDRBMDI1NjI3M0FFMEMwMDA5OTNBNTYgLyogTWF0
Y2hSZXN1bHQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IEU0NEEwMjU0MjczQUUwQkYwMDk5M0E1NiAvKiBNYXRjaFJlc3VsdC5oICovOyB9OwogCQlFNDRC
NEJCNDE0MTY1MEQ3MDAyQjFEOEIgLyogU2VsZWN0b3JDaGVja2VyLmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBFNDRCNEJCMjE0MTY1MEQ3MDAyQjFEOEIg
LyogU2VsZWN0b3JDaGVja2VyLmggKi87IH07CiAJCUU0NEZBMTg1MUJDQTZCNUEwMDkxQjZFRiAv
KiBDb21wb3NlZFRyZWVJdGVyYXRvci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gRTQ0RkExODQxQkNBNkI1QTAwOTFCNkVGIC8qIENvbXBvc2VkVHJlZUl0
ZXJhdG9yLmggKi87IH07CiAJCUU0NTFDNjMxMjM5NDAyNzkwMDk5MzE5MCAvKiBMYXlvdXRVbml0
cy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNkY3Mzkx
OEMyMTA2Q0VERDAwNkFGMjYyIC8qIExheW91dFVuaXRzLmggKi87IHNldHRpbmdzID0ge0FUVFJJ
QlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKQEAgLTE2ODcyLDYgKzE2ODczLDcgQEAKIAkJRTQ0
NjE0MTIwQ0Q2ODI2OTAwRkFEQTc1IC8qIEpTVGltZVJhbmdlcy5jcHAgKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU1RpbWVSYW5nZXMuY3BwOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwogCQlFNDQ2MTQxMzBDRDY4MjY5MDBGQURBNzUgLyogSlNUaW1lUmFuZ2VzLmgg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTVGltZVJhbmdlcy5oOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwogCQlFNDQ3RjVCMTI2NkNGNjNEMDAxMzNGMDAgLyogVGV4dEJv
eFNlbGVjdGFibGVSYW5nZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBUZXh0
Qm94U2VsZWN0YWJsZVJhbmdlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUU0NEEw
MjU0MjczQUUwQkYwMDk5M0E1NiAvKiBNYXRjaFJlc3VsdC5oICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jLmg7IHBhdGggPSBNYXRjaFJlc3VsdC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owog
CQlFNDRCNEJCMTE0MTY1MEQ3MDAyQjFEOEIgLyogU2VsZWN0b3JDaGVja2VyLmNwcCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFNlbGVjdG9yQ2hlY2tlci5jcHA7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUU0NEI0QkIyMTQxNjUwRDcwMDJCMUQ4QiAvKiBTZWxl
Y3RvckNoZWNrZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gU2VsZWN0b3JD
aGVja2VyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUU0NEVFM0E2MTc1NzZFNTUw
MEVFRThDRiAvKiBGb250R2VuZXJpY0ZhbWlsaWVzLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEZv
bnRHZW5lcmljRmFtaWxpZXMuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMTg5
MTgsMTEgKzE4OTIwLDExIEBACiAJCTFBNTY5Q0M0MEQ3RTJCNjAwMDdDMzk4MyAvKiBicmlkZ2Ug
Ki8gPSB7CiAJCQlpc2EgPSBQQlhHcm91cDsKIAkJCWNoaWxkcmVuID0gKAorCQkJCTU5QjU5Nzcx
MTEwODY1NTYwMDcxNTlFOCAvKiBqc2MgKi8sCiAJCQkJMUE1NjlDRTIwRDdFMkI4MjAwN0MzOTgz
IC8qIG9iamMgKi8sCiAJCQkJNTk5RTc1OEYxMTA1NUExRjAwRDkwNEZBIC8qIEJyaWRnZS5oICov
LAogCQkJCTFBNzFENTc5MEYzMzgxOTAwMEY5Q0U0RSAvKiBJZGVudGlmaWVyUmVwLmNwcCAqLywK
IAkJCQkxQTcxRDU3QTBGMzM4MTkwMDBGOUNFNEUgLyogSWRlbnRpZmllclJlcC5oICovLAotCQkJ
CTU5QjU5NzcxMTEwODY1NTYwMDcxNTlFOCAvKiBqc2MgKi8sCiAJCQkJMUE1NjlDRUYwRDdFMkI4
MjAwN0MzOTgzIC8qIHJ1bnRpbWVfYXJyYXkuY3BwICovLAogCQkJCTFBNTY5Q0YwMEQ3RTJCODIw
MDdDMzk4MyAvKiBydW50aW1lX2FycmF5LmggKi8sCiAJCQkJMUE1NjlDRjEwRDdFMkI4MjAwN0Mz
OTgzIC8qIHJ1bnRpbWVfbWV0aG9kLmNwcCAqLywKQEAgLTMwMjA4LDYgKzMwMjEwLDcgQEAKIAkJ
CQk0QTlDQzgxRjE2QkY5QkI0MDBFQzY0NUEgLyogSW5zcGVjdG9yQ1NTT01XcmFwcGVycy5oICov
LAogCQkJCUU0NUJBNkFCMjM3NDkyN0IwMDRERkMwNyAvKiBNYXRjaGVkRGVjbGFyYXRpb25zQ2Fj
aGUuY3BwICovLAogCQkJCUU0NUJBNkE4MjM3NDkyNkIwMDRERkMwNyAvKiBNYXRjaGVkRGVjbGFy
YXRpb25zQ2FjaGUuaCAqLywKKwkJCQlFNDRBMDI1NDI3M0FFMEJGMDA5OTNBNTYgLyogTWF0Y2hS
ZXN1bHQuaCAqLywKIAkJCQlGQkRCNjE5QzE2RDYwMzQ2MDBCQjMzOTQgLyogUGFnZVJ1bGVDb2xs
ZWN0b3IuY3BwICovLAogCQkJCUZCREI2MUEwMTZENjAzN0UwMEJCMzM5NCAvKiBQYWdlUnVsZUNv
bGxlY3Rvci5oICovLAogCQkJCTcxMjhDQjNFMjcxRUU1ODkwMEExM0RBNiAvKiBQcm9wZXJ0eUFs
bG93bGlzdC5jcHAgKi8sCkBAIC0zNDk1MSw2ICszNDk1NCw3IEBACiAJCQkJOTcyOEMzMTQxMjY4
RTQzOTAwNDFFODlCIC8qIE1hcmt1cEFjY3VtdWxhdG9yLmggaW4gSGVhZGVycyAqLywKIAkJCQkw
MEM2MEUzRjEzRDc2RDdFMDA5MkEyNzUgLyogTWFya3VwVG9rZW5pemVySW5saW5lcy5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJRTQ1QkE2QUEyMzc0OTI2QzAwNERGQzA3IC8qIE1hdGNoZWREZWNsYXJh
dGlvbnNDYWNoZS5oIGluIEhlYWRlcnMgKi8sCisJCQkJRTQ0QTAyNTYyNzNBRTBDMDAwOTkzQTU2
IC8qIE1hdGNoUmVzdWx0LmggaW4gSGVhZGVycyAqLywKIAkJCQlGQUJFNzJGNTEwNTlDMUVCMDBE
ODg4Q0MgLyogTWF0aE1MQW5ub3RhdGlvbkVsZW1lbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCUZB
QkU3MkY1MTA1OUMxRUIwMEQ5OTlERCAvKiBNYXRoTUxFbGVtZW50LmggaW4gSGVhZGVycyAqLywK
IAkJCQk0NEEyOEFBQzEyREZCOEFDMDBBRTkyM0IgLyogTWF0aE1MRWxlbWVudEZhY3RvcnkuaCBp
biBIZWFkZXJzICovLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3R5bGUvRWxlbWVudFJ1
bGVDb2xsZWN0b3IuaCBiL1NvdXJjZS9XZWJDb3JlL3N0eWxlL0VsZW1lbnRSdWxlQ29sbGVjdG9y
LmgKaW5kZXggYjg1ZmMzYTM5OWIxYWRkMzAxNDc5ZmY3ZGU5ZDI5ODRmZDQ0NTk5MS4uNDE1MDhh
MzkwNjQ2MTJiNTZiNDVhZGIxNGIwZGY5NmEzZDRmNTYwOSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvc3R5bGUvRWxlbWVudFJ1bGVDb2xsZWN0b3IuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9z
dHlsZS9FbGVtZW50UnVsZUNvbGxlY3Rvci5oCkBAIC0yMSw2ICsyMSw3IEBACiAKICNwcmFnbWEg
b25jZQogCisjaW5jbHVkZSAiTWF0Y2hSZXN1bHQuaCIKICNpbmNsdWRlICJNZWRpYVF1ZXJ5RXZh
bHVhdG9yLmgiCiAjaW5jbHVkZSAiUHJvcGVydHlBbGxvd2xpc3QuaCIKICNpbmNsdWRlICJSdWxl
U2V0LmgiCkBAIC02NiwzMSArNjcsNiBAQCBzdHJ1Y3QgTWF0Y2hlZFJ1bGUgewogICAgIHVuc2ln
bmVkIGNhc2NhZGVMYXllclByaW9yaXR5OwogfTsKIAotc3RydWN0IE1hdGNoZWRQcm9wZXJ0aWVz
IHsKLSAgICBSZWZQdHI8Y29uc3QgU3R5bGVQcm9wZXJ0aWVzPiBwcm9wZXJ0aWVzOwotICAgIHVp
bnQxNl90IGxpbmtNYXRjaFR5cGUgeyBTZWxlY3RvckNoZWNrZXI6Ok1hdGNoQWxsIH07Ci0gICAg
UHJvcGVydHlBbGxvd2xpc3QgYWxsb3dsaXN0VHlwZSB7IFByb3BlcnR5QWxsb3dsaXN0OjpOb25l
IH07Ci0gICAgU2NvcGVPcmRpbmFsIHN0eWxlU2NvcGVPcmRpbmFsIHsgU2NvcGVPcmRpbmFsOjpF
bGVtZW50IH07Ci19OwotCi1zdHJ1Y3QgTWF0Y2hSZXN1bHQgewotICAgIGJvb2wgaXNDYWNoZWFi
bGUgeyB0cnVlIH07Ci0gICAgVmVjdG9yPE1hdGNoZWRQcm9wZXJ0aWVzPiB1c2VyQWdlbnREZWNs
YXJhdGlvbnM7Ci0gICAgVmVjdG9yPE1hdGNoZWRQcm9wZXJ0aWVzPiB1c2VyRGVjbGFyYXRpb25z
OwotICAgIFZlY3RvcjxNYXRjaGVkUHJvcGVydGllcz4gYXV0aG9yRGVjbGFyYXRpb25zOwotCi0g
ICAgYm9vbCBvcGVyYXRvcj09KGNvbnN0IE1hdGNoUmVzdWx0JiBvdGhlcikgY29uc3QKLSAgICB7
Ci0gICAgICAgIHJldHVybiBpc0NhY2hlYWJsZSA9PSBvdGhlci5pc0NhY2hlYWJsZQotICAgICAg
ICAgICAgJiYgdXNlckFnZW50RGVjbGFyYXRpb25zID09IG90aGVyLnVzZXJBZ2VudERlY2xhcmF0
aW9ucwotICAgICAgICAgICAgJiYgdXNlckRlY2xhcmF0aW9ucyA9PSBvdGhlci51c2VyRGVjbGFy
YXRpb25zCi0gICAgICAgICAgICAmJiBhdXRob3JEZWNsYXJhdGlvbnMgPT0gb3RoZXIuYXV0aG9y
RGVjbGFyYXRpb25zOwotICAgIH0KLSAgICBib29sIG9wZXJhdG9yIT0oY29uc3QgTWF0Y2hSZXN1
bHQmIG90aGVyKSBjb25zdCB7IHJldHVybiAhKCp0aGlzID09IG90aGVyKTsgfQotCi0gICAgYm9v
bCBpc0VtcHR5KCkgY29uc3QgeyByZXR1cm4gdXNlckFnZW50RGVjbGFyYXRpb25zLmlzRW1wdHko
KSAmJiB1c2VyRGVjbGFyYXRpb25zLmlzRW1wdHkoKSAmJiBhdXRob3JEZWNsYXJhdGlvbnMuaXNF
bXB0eSgpOyB9Ci19OwotCiBjbGFzcyBFbGVtZW50UnVsZUNvbGxlY3RvciB7CiBwdWJsaWM6CiAg
ICAgRWxlbWVudFJ1bGVDb2xsZWN0b3IoY29uc3QgRWxlbWVudCYsIGNvbnN0IFNjb3BlUnVsZVNl
dHMmLCBjb25zdCBTZWxlY3RvckZpbHRlciopOwpAQCAtMTc0LDE1ICsxNTAsNSBAQCBwcml2YXRl
OgogICAgIFBzZXVkb0lkU2V0IG1fbWF0Y2hlZFBzZXVkb0VsZW1lbnRJZHM7CiB9OwogCi1pbmxp
bmUgYm9vbCBvcGVyYXRvcj09KGNvbnN0IE1hdGNoZWRQcm9wZXJ0aWVzJiBhLCBjb25zdCBNYXRj
aGVkUHJvcGVydGllcyYgYikKLXsKLSAgICByZXR1cm4gYS5wcm9wZXJ0aWVzID09IGIucHJvcGVy
dGllcyAmJiBhLmxpbmtNYXRjaFR5cGUgPT0gYi5saW5rTWF0Y2hUeXBlOwotfQotCi1pbmxpbmUg
Ym9vbCBvcGVyYXRvciE9KGNvbnN0IE1hdGNoZWRQcm9wZXJ0aWVzJiBhLCBjb25zdCBNYXRjaGVk
UHJvcGVydGllcyYgYikKLXsKLSAgICByZXR1cm4gIShhID09IGIpOwotfQotCiB9IC8vIG5hbWVz
cGFjZSBTdHlsZQogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvc3R5bGUvTWF0Y2hSZXN1bHQuaCBiL1NvdXJjZS9XZWJDb3JlL3N0eWxlL01hdGNoUmVz
dWx0LmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uNDA0ZmQzZTQyOGY1Njc5ZTFiZmNjMzZlMDk3ZWQ0NGUzMDVkNGYw
ZgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N0eWxlL01hdGNoUmVzdWx0LmgK
QEAgLTAsMCArMSw4NyBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMSBBcHBsZSBJbmMuIEFs
bCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3Vy
Y2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFy
ZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFy
ZSBtZXQ6CisgKiAxLiAgUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWlu
IHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiAgUmVkaXN0cmlidXRpb25z
IGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAg
ICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIgaW4gdGhlCisgKiAgICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxz
IHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElT
IFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnIEFO
RCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQKKyAqIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklM
SVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUKKyAqIERJU0NMQUlN
RUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUyBCRSBM
SUFCTEUgRk9SIEFOWQorICogRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwg
RVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMKKyAqIChJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNF
UzsKKyAqIExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJV
UFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTgorICogQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFks
IFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNM
VURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0Yg
VEhFIFVTRSBPRiBUSElTCisgKiBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NT
SUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjcHJhZ21hIG9uY2UKKworI2luY2x1ZGUg
IlByb3BlcnR5QWxsb3dsaXN0LmgiCisjaW5jbHVkZSAiU2VsZWN0b3JDaGVja2VyLmgiCisjaW5j
bHVkZSAiU3R5bGVQcm9wZXJ0aWVzLmgiCisjaW5jbHVkZSAiU3R5bGVTY29wZU9yZGluYWwuaCIK
KyNpbmNsdWRlIDx3dGYvSGFzaGVyLmg+CisKK25hbWVzcGFjZSBXZWJDb3JlOjpTdHlsZSB7CisK
K3N0cnVjdCBNYXRjaGVkUHJvcGVydGllcyB7CisgICAgUmVmUHRyPGNvbnN0IFN0eWxlUHJvcGVy
dGllcz4gcHJvcGVydGllczsKKyAgICB1aW50MTZfdCBsaW5rTWF0Y2hUeXBlIHsgU2VsZWN0b3JD
aGVja2VyOjpNYXRjaEFsbCB9OworICAgIFByb3BlcnR5QWxsb3dsaXN0IGFsbG93bGlzdFR5cGUg
eyBQcm9wZXJ0eUFsbG93bGlzdDo6Tm9uZSB9OworICAgIFNjb3BlT3JkaW5hbCBzdHlsZVNjb3Bl
T3JkaW5hbCB7IFNjb3BlT3JkaW5hbDo6RWxlbWVudCB9OworfTsKKworc3RydWN0IE1hdGNoUmVz
dWx0IHsKKyAgICBib29sIGlzQ2FjaGVhYmxlIHsgdHJ1ZSB9OworICAgIFZlY3RvcjxNYXRjaGVk
UHJvcGVydGllcz4gdXNlckFnZW50RGVjbGFyYXRpb25zOworICAgIFZlY3RvcjxNYXRjaGVkUHJv
cGVydGllcz4gdXNlckRlY2xhcmF0aW9uczsKKyAgICBWZWN0b3I8TWF0Y2hlZFByb3BlcnRpZXM+
IGF1dGhvckRlY2xhcmF0aW9uczsKKworICAgIGJvb2wgaXNFbXB0eSgpIGNvbnN0IHsgcmV0dXJu
IHVzZXJBZ2VudERlY2xhcmF0aW9ucy5pc0VtcHR5KCkgJiYgdXNlckRlY2xhcmF0aW9ucy5pc0Vt
cHR5KCkgJiYgYXV0aG9yRGVjbGFyYXRpb25zLmlzRW1wdHkoKTsgfQorfTsKKworaW5saW5lIGJv
b2wgb3BlcmF0b3I9PShjb25zdCBNYXRjaFJlc3VsdCYgYSwgY29uc3QgTWF0Y2hSZXN1bHQmIGIp
Cit7CisgICAgcmV0dXJuIGEuaXNDYWNoZWFibGUgPT0gYi5pc0NhY2hlYWJsZQorICAgICAgICAm
JiBhLnVzZXJBZ2VudERlY2xhcmF0aW9ucyA9PSBiLnVzZXJBZ2VudERlY2xhcmF0aW9ucworICAg
ICAgICAmJiBhLnVzZXJEZWNsYXJhdGlvbnMgPT0gYi51c2VyRGVjbGFyYXRpb25zCisgICAgICAg
ICYmIGEuYXV0aG9yRGVjbGFyYXRpb25zID09IGIuYXV0aG9yRGVjbGFyYXRpb25zOworfQorCitp
bmxpbmUgYm9vbCBvcGVyYXRvciE9KGNvbnN0IE1hdGNoUmVzdWx0JiBhLCBjb25zdCBNYXRjaFJl
c3VsdCYgYikKK3sKKyAgICByZXR1cm4gIShhID09IGIpOworfQorCitpbmxpbmUgYm9vbCBvcGVy
YXRvcj09KGNvbnN0IE1hdGNoZWRQcm9wZXJ0aWVzJiBhLCBjb25zdCBNYXRjaGVkUHJvcGVydGll
cyYgYikKK3sKKyAgICByZXR1cm4gYS5wcm9wZXJ0aWVzID09IGIucHJvcGVydGllcworICAgICAg
ICAmJiBhLmxpbmtNYXRjaFR5cGUgPT0gYi5saW5rTWF0Y2hUeXBlCisgICAgICAgICYmIGEuYWxs
b3dsaXN0VHlwZSA9PSBiLmFsbG93bGlzdFR5cGUKKyAgICAgICAgJiYgYS5zdHlsZVNjb3BlT3Jk
aW5hbCA9PSBiLnN0eWxlU2NvcGVPcmRpbmFsOworfQorCitpbmxpbmUgYm9vbCBvcGVyYXRvciE9
KGNvbnN0IE1hdGNoZWRQcm9wZXJ0aWVzJiBhLCBjb25zdCBNYXRjaGVkUHJvcGVydGllcyYgYikK
K3sKKyAgICByZXR1cm4gIShhID09IGIpOworfQorCitpbmxpbmUgdm9pZCBhZGQoSGFzaGVyJiBo
YXNoZXIsIGNvbnN0IE1hdGNoZWRQcm9wZXJ0aWVzJiBtYXRjaGVkUHJvcGVydGllcykKK3sKKyAg
ICBhZGQoaGFzaGVyLCBtYXRjaGVkUHJvcGVydGllcy5wcm9wZXJ0aWVzLmdldCgpLCBtYXRjaGVk
UHJvcGVydGllcy5saW5rTWF0Y2hUeXBlLCBtYXRjaGVkUHJvcGVydGllcy5hbGxvd2xpc3RUeXBl
LCBtYXRjaGVkUHJvcGVydGllcy5zdHlsZVNjb3BlT3JkaW5hbCk7Cit9CisKK2lubGluZSB2b2lk
IGFkZChIYXNoZXImIGhhc2hlciwgY29uc3QgTWF0Y2hSZXN1bHQmIG1hdGNoUmVzdWx0KQorewor
ICAgIGFkZChoYXNoZXIsIG1hdGNoUmVzdWx0LnVzZXJBZ2VudERlY2xhcmF0aW9ucywgbWF0Y2hS
ZXN1bHQudXNlckRlY2xhcmF0aW9ucywgbWF0Y2hSZXN1bHQuYXV0aG9yRGVjbGFyYXRpb25zKTsK
K30KKworfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3R5bGUvTWF0Y2hlZERlY2xhcmF0
aW9uc0NhY2hlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3N0eWxlL01hdGNoZWREZWNsYXJhdGlvbnND
YWNoZS5jcHAKaW5kZXggYTZhOTlkZjg5YTY5Yjg1Mzc2MTNiNzI5ZmJmZTU0MGQ4ZDhjNDdmNy4u
NTYyMmU0NDc4NDUwZTJlYmUzNzRhN2JiZmY4MGNhYTRjOWJjNTY0NyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvc3R5bGUvTWF0Y2hlZERlY2xhcmF0aW9uc0NhY2hlLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9zdHlsZS9NYXRjaGVkRGVjbGFyYXRpb25zQ2FjaGUuY3BwCkBAIC04OCw5ICs4
OCw3IEBAIHVuc2lnbmVkIE1hdGNoZWREZWNsYXJhdGlvbnNDYWNoZTo6Y29tcHV0ZUhhc2goY29u
c3QgTWF0Y2hSZXN1bHQmIG1hdGNoUmVzdWx0KQogICAgIGlmICghbWF0Y2hSZXN1bHQuaXNDYWNo
ZWFibGUpCiAgICAgICAgIHJldHVybiAwOwogCi0gICAgcmV0dXJuIFN0cmluZ0hhc2hlcjo6aGFz
aE1lbW9yeShtYXRjaFJlc3VsdC51c2VyQWdlbnREZWNsYXJhdGlvbnMuZGF0YSgpLCBzaXplb2Yo
TWF0Y2hlZFByb3BlcnRpZXMpICogbWF0Y2hSZXN1bHQudXNlckFnZW50RGVjbGFyYXRpb25zLnNp
emUoKSkKLSAgICAgICAgXiBTdHJpbmdIYXNoZXI6Omhhc2hNZW1vcnkobWF0Y2hSZXN1bHQudXNl
ckRlY2xhcmF0aW9ucy5kYXRhKCksIHNpemVvZihNYXRjaGVkUHJvcGVydGllcykgKiBtYXRjaFJl
c3VsdC51c2VyRGVjbGFyYXRpb25zLnNpemUoKSkKLSAgICAgICAgXiBTdHJpbmdIYXNoZXI6Omhh
c2hNZW1vcnkobWF0Y2hSZXN1bHQuYXV0aG9yRGVjbGFyYXRpb25zLmRhdGEoKSwgc2l6ZW9mKE1h
dGNoZWRQcm9wZXJ0aWVzKSAqIG1hdGNoUmVzdWx0LmF1dGhvckRlY2xhcmF0aW9ucy5zaXplKCkp
OworICAgIHJldHVybiBXVEY6OmNvbXB1dGVIYXNoKG1hdGNoUmVzdWx0KTsKIH0KIAogY29uc3Qg
TWF0Y2hlZERlY2xhcmF0aW9uc0NhY2hlOjpFbnRyeSogTWF0Y2hlZERlY2xhcmF0aW9uc0NhY2hl
OjpmaW5kKHVuc2lnbmVkIGhhc2gsIGNvbnN0IE1hdGNoUmVzdWx0JiBtYXRjaFJlc3VsdCkKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N0eWxlL01hdGNoZWREZWNsYXJhdGlvbnNDYWNoZS5o
IGIvU291cmNlL1dlYkNvcmUvc3R5bGUvTWF0Y2hlZERlY2xhcmF0aW9uc0NhY2hlLmgKaW5kZXgg
YmRkNDU3YTg1MmI0YjViOWYyZDMwMjY1ZDY1Y2RlYzUzNGRiYjNjNi4uN2I3NDg2MTViMGM3Zjk4
NTc1ZjVkMzliNzUxMDUzZTRiZjZmMjBiMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3R5
bGUvTWF0Y2hlZERlY2xhcmF0aW9uc0NhY2hlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvc3R5bGUv
TWF0Y2hlZERlY2xhcmF0aW9uc0NhY2hlLmgKQEAgLTI1LDcgKzI1LDcgQEAKIAogI3ByYWdtYSBv
bmNlCiAKLSNpbmNsdWRlICJFbGVtZW50UnVsZUNvbGxlY3Rvci5oIgorI2luY2x1ZGUgIk1hdGNo
UmVzdWx0LmgiCiAjaW5jbHVkZSAiUmVuZGVyU3R5bGUuaCIKICNpbmNsdWRlICJUaW1lci5oIgog
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdHlsZS9QYWdlUnVsZUNvbGxlY3Rvci5oIGIv
U291cmNlL1dlYkNvcmUvc3R5bGUvUGFnZVJ1bGVDb2xsZWN0b3IuaAppbmRleCA3MGJjODQwN2Rl
Y2IzYTRkNTVhMzM0MTgxMzIzYWZhYWVlOTZmOTdlLi5lNDUyYzc0NGE2MDRiNGUyNzQxMTdmNTZh
N2RjOTEwMTZmN2I4ZTY1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdHlsZS9QYWdlUnVs
ZUNvbGxlY3Rvci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N0eWxlL1BhZ2VSdWxlQ29sbGVjdG9y
LmgKQEAgLTIxLDcgKzIxLDcgQEAKIAogI3ByYWdtYSBvbmNlCiAKLSNpbmNsdWRlICJFbGVtZW50
UnVsZUNvbGxlY3Rvci5oIgorI2luY2x1ZGUgIk1hdGNoUmVzdWx0LmgiCiAjaW5jbHVkZSAiU3R5
bGVTY29wZVJ1bGVTZXRzLmgiCiAjaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KIApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvc3R5bGUvUHJvcGVydHlDYXNjYWRlLmggYi9Tb3VyY2UvV2ViQ29y
ZS9zdHlsZS9Qcm9wZXJ0eUNhc2NhZGUuaAppbmRleCAzZmExZjhiZDQyMzJmMjJjNWQyYTQ3ZmYy
MmVkMjcwZGY4YmM1MDYwLi4xYzYwN2Y0NDE3YzdjNmMwYzdlNmYyMzgwOTkxNGY4YjU2ZmE2MTYx
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdHlsZS9Qcm9wZXJ0eUNhc2NhZGUuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9zdHlsZS9Qcm9wZXJ0eUNhc2NhZGUuaApAQCAtMjYsNyArMjYsNyBA
QAogI3ByYWdtYSBvbmNlCiAKICNpbmNsdWRlICJDYXNjYWRlTGV2ZWwuaCIKLSNpbmNsdWRlICJF
bGVtZW50UnVsZUNvbGxlY3Rvci5oIgorI2luY2x1ZGUgIk1hdGNoUmVzdWx0LmgiCiAjaW5jbHVk
ZSAiU3R5bGVCdWlsZGVyU3RhdGUuaCIKICNpbmNsdWRlIDxiaXRzZXQ+CiAK
</data>

          </attachment>
      

    </bug>

</bugzilla>